{"report_id":"4dac1e85-523a-42b8-9a43-2a8b244e4df0","version":0,"status":"done","tags":[],"date":"2026-07-27T02:51:08Z","url":{"schema":"https","addr":"247optiontradefx.com/","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":0,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"final":{"url":{"schema":"https","addr":"247optiontradefx.com/","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"title":"247optiontradefx","dom":{"size":118237,"mime_type":"text/html; charset=utf-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (24522)","md5":"659e5d016202ef9367848dd3da85b91e","sha1":"36d6d4f210419496de5a9867abf111e486a36e26","sha256":"6d36bb0aed92ebe1ac8ec99a1d9e216c63e6aaa182201830edc5d81613bd2401","sha512":"4821762dcc87168fb1238478426f099f66ab12be6b1630e18cbebcc1d00c66e280c483bc07140cba2b0f7c8dbf22dcabbfa1a639afb4d7286a85b37d20447e6d","ssdeep":"1536:TewN7jlhsMc7J9kWqxXHKf4tHes2RDUM3IAuTNTe:D73cbvf4tHeH3IBS","tlshash":"16c3c710a9e1852350eb85c9ad71ab2929f59303e9330988babcd3f44fdfd5de933158","dom_hash":"domhashf5e4166df3a15a532571ffa7b79c473d","first_seen":"","last_seen":"","times_seen":0,"resource_available":false,"data":null}},"submit":{"url":{"schema":"https","addr":"247optiontradefx.com/","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":0,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"tags":null,"meta":null},"settings":{"access":"public","device_type":"desktop","expires_at":"2027-08-31T02:51:08Z","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":3}},"detection":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null},"summary":[{"fqdn":"www.tradingview-widget.com","ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"domain_registered":"2020-06-05","domain_rank":196495,"first_seen":"2021-04-08T06:14:48Z","last_seen":"2026-07-24T15:28:31.440139Z","alert_count":0,"request_count":193,"received_data":5917043,"sent_data":113577,"comment":"","tags":null,"fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.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"]},{"name":"PayPal","description":"PayPal is an online payments system that supports online money transfers and serves as an electronic alternative to traditional paper methods like checks and money orders.","website":"https://paypal.com","common_platform_enumeration":"cpe:2.3:a:paypal:paypal:*:*:*:*:*:*:*:*","icon":"PayPal.svg","categories":["Payment processors"]}]},{"fqdn":"widgetdata.tradingview.com","ip":{"addr":"93.123.102.158","port":443,"asn":199524,"as":"G-Core Labs S.A.","country":"United Kingdom","country_code":"GB"},"domain_registered":"2010-03-20","domain_rank":179381,"first_seen":"2015-02-20T09:47:36Z","last_seen":"2026-07-26T01:26:45.690501Z","alert_count":0,"request_count":2,"received_data":224,"sent_data":1558,"comment":"","tags":null,"fingerprints":null},{"fqdn":"tvc-invdn-cf-com.investing.com","ip":{"addr":"172.64.155.105","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"1995-02-23","domain_rank":1811321,"first_seen":"2023-12-24T13:29:16Z","last_seen":"2026-07-27T02:45:14.066958Z","alert_count":0,"request_count":15,"received_data":415620,"sent_data":14598,"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":"Google Cloud Storage","description":"Google Cloud Storage allows world-wide storage and retrieval of any amount of data at any time.","website":"https://cloud.google.com/storage","common_platform_enumeration":"","icon":"google-cloud-storage.svg","categories":["Miscellaneous"]},{"name":"Google Cloud CDN","description":"Cloud CDN uses Google's global edge network to serve content closer to users.","website":"https://cloud.google.com/cdn","common_platform_enumeration":"","icon":"google-cloud-cdn.svg","categories":["CDN"]},{"name":"Google Cloud","description":"Google Cloud is a suite of cloud computing services.","website":"https://cloud.google.com","common_platform_enumeration":"cpe:2.3:a:google:cloud_platform:*:*:*:*:*:*:*:*","icon":"Google Cloud.svg","categories":["IaaS"]},{"name":"Cloudflare Bot Management","description":"Cloudflare bot management solution identifies and mitigates automated traffic to protect websites from bad bots.","website":"https://www.cloudflare.com/en-gb/products/bot-management/","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["Security"]},{"name":"jQuery","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":"spin.js","description":"Configurable JavaScript/CSS spinner that can be used as a resolution-independent loading indicator","website":"https://spin.js.org/","common_platform_enumeration":"","icon":"spin.js.png","categories":["JavaScript graphics"]}]},{"fqdn":"bootstrap.smartsuppchat.com","ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"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":0,"sent_data":543,"comment":"","tags":null,"fingerprints":null},{"fqdn":"code.tidio.co","ip":{"addr":"104.26.1.115","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2014-06-01","domain_rank":120056,"first_seen":"2014-11-27T09:26:14Z","last_seen":"2026-07-24T11:10:32.108544Z","alert_count":0,"request_count":2,"received_data":1214,"sent_data":968,"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"]}]},{"fqdn":"translations.smartsuppcdn.com","ip":{"addr":"185.76.9.11","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":7732,"sent_data":525,"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":"static.getbutton.io","ip":{"addr":"104.26.15.221","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2019-09-03","domain_rank":386210,"first_seen":"2019-10-01T09:11:58Z","last_seen":"2026-07-25T14:48:54.018453Z","alert_count":0,"request_count":2,"received_data":443360,"sent_data":955,"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"]}]},{"fqdn":"coin-images.coingecko.com","ip":{"addr":"104.21.63.32","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":65937,"sent_data":2959,"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":"ssltvc.forexprostools.com","ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"domain_registered":"2011-08-17","domain_rank":0,"first_seen":"2017-02-14T05:03:15Z","last_seen":"2026-07-27T02:45:13.884038Z","alert_count":0,"request_count":6,"received_data":93539,"sent_data":3728,"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":"Cloudflare Bot Management","description":"Cloudflare bot management solution identifies and mitigates automated traffic to protect websites from bad bots.","website":"https://www.cloudflare.com/en-gb/products/bot-management/","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["Security"]}]},{"fqdn":"widget-sheriff.tradingview-widget.com","ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"domain_registered":"2020-06-05","domain_rank":206730,"first_seen":"2024-02-01T14:12:53Z","last_seen":"2026-07-24T23:32:22.077351Z","alert_count":0,"request_count":3,"received_data":564,"sent_data":1710,"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":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}]},{"fqdn":"translate.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":6317,"first_seen":"2012-05-31T07:21:21Z","last_seen":"2026-07-20T14:48:05.930258Z","alert_count":0,"request_count":3,"received_data":213994,"sent_data":1850,"comment":"","tags":null,"fingerprints":null},{"fqdn":"websocket-visitors.smartsupp.com","ip":{"addr":"18.195.200.162","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":635,"comment":"","tags":null,"fingerprints":null},{"fqdn":"www.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":146047,"first_seen":"2012-05-29T15:36:17Z","last_seen":"2026-07-26T23:06:30.068608Z","alert_count":0,"request_count":3,"received_data":27867,"sent_data":1889,"comment":"","tags":null,"fingerprints":null},{"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":1,"received_data":7063,"sent_data":575,"comment":"","tags":null,"fingerprints":null},{"fqdn":"binarymate.com","ip":{"addr":"172.67.160.195","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2015-08-11","domain_rank":2259338,"first_seen":"2016-07-13T09:32:44Z","last_seen":"2026-07-27T02:45:13.905814Z","alert_count":22,"request_count":11,"received_data":304991,"sent_data":7209,"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":"Laravel","description":"Laravel is a free, open-source PHP web framework.","website":"https://laravel.com","common_platform_enumeration":"cpe:2.3:a:laravel:laravel:*:*:*:*:*:*:*:*","icon":"Laravel.svg","categories":["Web frameworks"]},{"name":"PHP","description":"PHP is a general-purpose scripting language used for web development.","website":"https://php.net","common_platform_enumeration":"cpe:2.3:a:php:php:*:*:*:*:*:*:*:*","icon":"PHP.svg","categories":["Programming languages"]},{"name":"jQuery:1.11.3","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":"Moment.js","description":"Moment.js is a free and open-source JavaScript library that removes the need to use the native JavaScript Date object directly.","website":"https://momentjs.com","common_platform_enumeration":"cpe:2.3:a:momentjs:moment:*:*:*:*:*:*:*:*","icon":"Moment.js.svg","categories":["JavaScript libraries"]},{"name":"Chart.js","description":"Chart.js is an open-source JavaScript library that allows you to draw different types of charts by using the HTML5 canvas element.","website":"https://www.chartjs.org","common_platform_enumeration":"","icon":"Chart.js.svg","categories":["JavaScript graphics"]}]},{"fqdn":"s3.tradingview.com","ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"domain_registered":"2010-03-20","domain_rank":165395,"first_seen":"2018-06-24T04:06:00Z","last_seen":"2026-07-25T05:38:23.80932Z","alert_count":0,"request_count":3,"received_data":42858,"sent_data":1505,"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":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}]},{"fqdn":"translate-pa.googleapis.com","ip":{"addr":"172.217.115.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-01-25","domain_rank":8472,"first_seen":"2021-11-04T06:37:42Z","last_seen":"2026-07-21T21:38:43.172366Z","alert_count":0,"request_count":1,"received_data":32123,"sent_data":579,"comment":"","tags":null,"fingerprints":null},{"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":5,"received_data":0,"sent_data":3320,"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":1,"received_data":5151,"sent_data":557,"comment":"","tags":null,"fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}]},{"fqdn":"widget-v3.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":532262,"first_seen":"2022-10-03T13:48:45Z","last_seen":"2026-07-24T15:28:31.507831Z","alert_count":0,"request_count":3,"received_data":326290,"sent_data":1392,"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":"247optiontradefx.com","ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"domain_registered":"2025-10-17","domain_rank":0,"first_seen":"2026-07-27T02:45:13.092656Z","last_seen":"2026-07-27T02:45:13.092656Z","alert_count":50,"request_count":50,"received_data":5295768,"sent_data":27619,"comment":"","tags":null,"fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]},{"name":"PHP:8.4.12","description":"PHP is a general-purpose scripting language used for web development.","website":"https://php.net","common_platform_enumeration":"cpe:2.3:a:php:php:*:*:*:*:*:*:*:*","icon":"PHP.svg","categories":["Programming languages"]},{"name":"Bootstrap:5.1.3","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:3.3.1","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":"Clipboard.js","description":"","website":"https://clipboardjs.com/","common_platform_enumeration":"","icon":"Clipboard.js.svg","categories":["JavaScript libraries"]},{"name":"Tidio","description":"Tidio is a customer communication product. It provides multi-channel support so users can communicate with customers on the go. Live chat, messenger, or email are all supported.","website":"https://www.tidio.com","common_platform_enumeration":"","icon":"Tidio.svg","categories":["Live chat"]}]},{"fqdn":"scanner.tradingview.com","ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"domain_registered":"2010-03-20","domain_rank":111106,"first_seen":"2016-08-02T09:33:18Z","last_seen":"2026-07-22T10:20:45.048286Z","alert_count":0,"request_count":2,"received_data":147033,"sent_data":1322,"comment":"","tags":null,"fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.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":"snowplow-pixel.tradingview.com","ip":{"addr":"32.186.65.3","port":443,"asn":0,"as":"","country":"United States","country_code":"US"},"domain_registered":"2010-03-20","domain_rank":110021,"first_seen":"2020-02-21T21:21:18Z","last_seen":"2026-07-21T08:39:31.331722Z","alert_count":0,"request_count":2,"received_data":579,"sent_data":1152,"comment":"","tags":null,"fingerprints":[{"name":"Snowplow Analytics","description":"Snowplow is an open-source behavioral data management platform for businesses.","website":"https://snowplowanalytics.com","common_platform_enumeration":"","icon":"Snowplow.svg","categories":["Analytics","IaaS"]},{"name":"Akka HTTP:10.2.9","description":"","website":"https://akka.io","common_platform_enumeration":"cpe:2.3:a:lightbend:akka_http:*:*:*:*:*:*:*:*","icon":"akka-http.png","categories":["Web frameworks","Web servers"]},{"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":"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":523,"sent_data":467,"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"]}]}],"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":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_property-desc.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"a9640dae1e3560522c860f17a84e0d2c","sha1":"56dc9ae58cbc0be3f7dec4c9578a098d92065e92","sha256":"7b56edfc9cf00c6df83d43611ca367cb4266e6b78f72282763f97a8c4ffdd94f","sha512":"65f1615cd46e002c00cb8024a8975e42bfd954c62fd0f514baa7810dc7adb7f00e47036b59c679da6e02a2ea434952cff57307f33c329329cc818b8dce866bdd","ssdeep":"","tlshash":"c91154eaddf63cc145566c88ec2fd89a01557bc54d298a9ce059e6513d6b40c30dae0e","size":944,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.148211Z","times_seen":197,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_to-object.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"c5b7627b16ff2e4406cb1e3efc5253b4","sha1":"dbd955f161d8b8aff8818498ec45045f365999f3","sha256":"87a3e7cde7d48abdad75eb7f34e52dfe2baec3dcb381c2e9d9c9c876603087ee","sha512":"d0e1758e5acdfa4efc879cc5c47d63d9805f7a02615459a1681a26f4ea62d4406d7f8cbcbd51f3edff18985a14124f47bd85e4a36eba0f832c09041f2b2d0977","ssdeep":"","tlshash":"440152fbc6f224ca20372f89f2a1c92e198cbac394455586d41c5f9d1cb7439706890e","size":841,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.136093Z","times_seen":171,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_regexp-exec-abstract.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"764546550dd5dde3fa9ade2fc4d20ede","sha1":"f75652ad0454748a8ead4faed132089c864ad8a5","sha256":"2a4789814b15e5731ff768b0f167b938aa6ca93eec169c2c746c4cac4b67dd96","sha512":"b29b78d4d47672d2769dcc811cc56851a70fda9019412d00717227f1e494ee1658030cd20ac53e6c12c65125f60a0637094fab4bf20498a678b221b8e972807a","ssdeep":"","tlshash":"1441eaecea6720a235761dd6c05e40dd54efbe8381dcca58f54d02602fa315c52e9d5d","size":2122,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.044254Z","times_seen":166,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/vue-loader/lib/runtime/componentNormalizer.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"8158308b76618d2cbaf5816d29061e0c","sha1":"e2a59a657e0fa5e78c9f224b1e8a3dc130c7acec","sha256":"23e0c7a496b5a4db42fd89acee3129dc86a86de7a1cefb473d4ff22c72353072","sha512":"1c5d10fca3bc2a59415d95c9d54e648a9b978ab616cd10729934fb9514b5e918e512a34f1bfd10a5fa2a93c7028663181deeda21a5d0b4f3006b1431b0e217eb","ssdeep":"192:hfBB2Ag2yv0/H8iZ0z+kDtI8F49eWggIQ3YfeGITO48:hfXYYEAIBITO48","tlshash":"15f1d8dded583065bf9132cac6cf95db01a9a70354825a44784da3d81ffd22ca0ede8d","size":7683,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.105808Z","times_seen":161,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/7504.1288d1d28b2f47f7ac43.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"185306b73eb6156ba89819ac42f09043","sha1":"0e91a337a58188b9760881d3eeb271cc4c8ac2d0","sha256":"4433e6c002fc34e6971b340b447cb59f9704a935f8ff79457535ae6c04f2a91e","sha512":"62e46a9de161a635772e81ac6f569c8a85bcde20c9143b5dbf3fff3d0acc7a668643a351bbfe42e981d28861648256d6fb72849990fbdf3089e0d8da3a378c9b","ssdeep":"384:t0ohD1L+Hfz4m0ehDLL+HfzLNVEGdmMDPHt+eiWxyATTSXUaaexXzIDyg5nAWhJw:t0ohJL+Hfcm0eh3L+HfdaGdmMDvwWxn4","tlshash":"3aa294c83ad3f0ea926721f514af14c7f2392e666c9d9660c15de0d87c3602df12bd6a","size":22216,"data":"","first_seen":"2026-07-04T00:11:22.529436Z","last_seen":"2026-07-27T05:29:38.803479Z","times_seen":193,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/61495.37ee7d182cf84caa7681.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"1101547aa0a5f1429817d5e491a4287b","sha1":"0bb8f75c93fe64e583a0bc2f0859ff602e1d94a7","sha256":"1f91a265530e9f4142c3b135c93094b7746dba4d3ff42b4ba49d8690c98c7597","sha512":"9f661d05439bbe5f87c7b8580707ce9d517a82a994773de68693c0ba9d653c3bf2565b248d08253aecfc1781e4706198fc30eab02cf96336de418992131d8497","ssdeep":"768:VbtJRlpt8ZUxC6nEFMQQE0rmtel4/0Q+xg23ba1Sj7Fk+1/1NB2VVR4m:VbtvCZLu/004/7+Gsba1SaU2F","tlshash":"cbe2e55632357a3601ef508b58fb0043e23a64486114992dfc7cdeec6ebdd8a623657f","size":32657,"data":"","first_seen":"2026-07-25T03:24:57.451516Z","last_seen":"2026-07-27T05:29:38.893388Z","times_seen":95,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.12858.ad72d76c41bbd415231e.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"ba9edaf93bd6d486a36ba355f758cc90","sha1":"918531d0606317a1c90c9a7b9ae1722f6e14a166","sha256":"bc555cf8e54ac82ab294e301570531b051716b29c08dd9ca453d3cd4a0c32a27","sha512":"580c166e5196ae546cc97d7a4a16ac7deded6dea86b5fe31c01a4f004d915df4141f62287edda623a8bc419bf0750aa62303123824c69fcfb76e694095b86308","ssdeep":"96:6vhtKURB2ytA5YoHgm61Nmub4Zy3DaTJRr:shNRz+Hgm61Fb4ZyzaTJh","tlshash":"40911e27d000c1ea6fb6d9287796dcd0b9f4b1d101f1e8ca7785af56c21be6528392f8","size":4252,"data":"","first_seen":"2026-07-23T22:46:45.851981Z","last_seen":"2026-07-27T06:01:16.237981Z","times_seen":25,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/49265.c208ef8379e073f94d16.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"7b82078f584e6803982971fd98e254ad","sha1":"68381b82a3c15fb84e25d74f902a92fd1de3a245","sha256":"e79b56277f3ab3f995df2d44c612a393858265d70e8d4151a858384901aaa5ae","sha512":"856120280da4d842117fb927a8dbab94215dfb803172d5217ef06b3e3160c27bfbc9fda244b20ac94ce02cebb4356d25c92927cb9292b29f658e377fca579fec","ssdeep":"384:j9PRJCURbRGehSowQ7pJIdRW5TejB6ScRTtDe1efLBHxe+Wl2XaKKTV28fRJmRDM:RPTCURbwehStQ7pJIdk5TejB6ScZtDeb","tlshash":"7e92de8679c2f0e962d55cd4c07b4846f01a0d3c704db8e9e7e6c8d2da7a14ed436bba","size":19935,"data":"","first_seen":"2026-06-30T14:35:40.41523Z","last_seen":"2026-07-27T05:15:36.955954Z","times_seen":2158,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/es6.regexp.flags.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"7bcfe9adc096f3622e63884d1c5cf0ed","sha1":"4c880cf7b947291b63921c7167e52fef86c427ea","sha256":"d23999f68f83035b4471033dcc5dd30e2f42a3bebf9d968c9c53d2c5e58962ea","sha512":"4f6c6d3fb0e7882f105c8bd65851ea98b04960bf2c7a0dcdc69a070a8cd3fbb957f2dbcb0e2ef812ee660841d5612ab6feb4b45296815ce55fbe4dc75eb1d07d","ssdeep":"","tlshash":"022121df8bb0ec962434bc9df561c0390eac728194a18644d8de17e62d53139757a13f","size":1152,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.104944Z","times_seen":209,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/util/currency.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"f491a2157622df08f5bfaa27823ce428","sha1":"1959738f1d992cfed0354594d1d00d99619a5545","sha256":"a1d71e49d61660b61054e24345ca0923f8464d091ea5a8893d56795f51b719d7","sha512":"389b17c2239ce0aa4f8d935cd33d3066a7faaada24fa1d5d45cce14f69571824495c0042ca34499d39738d6dba4636662ead13ec2fc27c52b90c59b292825842","ssdeep":"","tlshash":"745135d9e9fe0877a4b938c7218ef1520cc6731040847ea8689c65a02dbf353337b979","size":3110,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.149721Z","times_seen":71,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/es6.object.keys.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"c915d19880f082d5f7f7e65bc6aa818e","sha1":"448c91878c04118ce5005fd4eb60c7ef91dabe5e","sha256":"bd6a5c85fa7747c456e9112c8755968f2a6fb6d0f95c2f1c82fef86dc0839bb1","sha512":"5c865a689403afc166ae8e395d95b80e9aa0dff6c7bada65ddc4416699f50547d08f00ce1ab70ef9bb497246a715233be3c43ce88f05d66c52e74e83b0d226a3","ssdeep":"","tlshash":"2421408dc4f0d85324b92887f129847aaacd49c1d4a5a648eccd83c15cb303daaa881e","size":1240,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.111847Z","times_seen":145,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/string.prototype.trim/node_modules/es-abstract/GetIntrinsic.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"48525686cded5610a601463ceef00405","sha1":"ffc3ecb53601f5e117d6285b1926e85eb5107995","sha256":"d498ae61d0759acb3f1c47836c6d5ef1e612018c4662dae4a0cc4d8f98c44a76","sha512":"74a77a695708bf49b42ac2a584ea4f021687fbbb1c9e220bc6ef2f410d96b5643fb5dd9a20a6d7d738ba82a5fb7f15ffb1e20d48d2610ff54d414b87ac4da184","ssdeep":"384:b8QdnY2STh8fGIs9ahrmNpdmtmFUiKbmCCulzZKuYP1LHC5rhw6YsIgFRVpplF:bmTh8tsfNpdmgUKuVIUlYs3Tv","tlshash":"09c2dae2ad415030565f255a821f544eb02cbf77d3b486f8fc4818a51eba0f8839db3e","size":26290,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.11523Z","times_seen":156,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"introduction_type":"scriptElement","is_inline":true,"md5":"1587ddf0479fe8169ea43302eebbce25","sha1":"30d280c8aa3055fbcff17908b638dcfd38b4befb","sha256":"564002a982203182cf170062c851095b2851102e92461a3edfe70512afa7ab11","sha512":"f70f4dacdc0bdba16bd0f8f574f04168e3c006e0fe981dc3410dc11a74bdf245ed55aa022cbb5f744788b27e3c42d462b5163d761a6db2ac494f619c98c6bce3","ssdeep":"","tlshash":"5d01526828973584c5b37a21babf076430676597be26aa84b08f53eb0f46436f183818","size":814,"data":"","first_seen":"2026-07-27T02:45:25.260135Z","last_seen":"2026-07-27T02:59:54.687384Z","times_seen":4,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"introduction_type":"scriptElement","is_inline":true,"md5":"07fac647df79dbc2d5828b7b455e671c","sha1":"978a27d4e6cdab6ea23247bc5aa0e25346509a2b","sha256":"66c60f37ed0f11ae7d1b70addda8fa7802cc046ad2932de1a856b59d065a65ec","sha512":"faf3be5b081a82577ef616d922ef948d25f6077d3abb1a347ac63838df0d4f79f62e682364664125e0a25d913f5e1abed4a6139ebe7a76ac5d18cc2253bd626d","ssdeep":"","tlshash":"8ed02b08bb8203901a9005104ffc130454e8f123dc09cc84360e81208ff5d5ee95c5f0","size":256,"data":"","first_seen":"2026-07-27T02:45:25.261062Z","last_seen":"2026-07-27T02:59:54.689111Z","times_seen":4,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"introduction_type":"scriptElement","is_inline":true,"md5":"e4e66c720f5bd544a545f98a92cbfb28","sha1":"f93987657db44317cfaf5ca1817d731d55dfab23","sha256":"d4a29b3c9ad21e9930e485bdd9037f0636b0e4a1c75f36a7a66e69f492c26d56","sha512":"4f53a01b0da258498201c0c38962e11c59e0fece360091d77d565dbf48d27c0df80aef45b4d9135af924ef143df8643c8cf65962bd1be8a40701391cf1c647b8","ssdeep":"","tlshash":"e4d02b04bb4213903d8001104ffd520440d8f023dc09c9c4310e82208ff5c59e44c6f0","size":254,"data":"","first_seen":"2026-07-27T02:45:25.261949Z","last_seen":"2026-07-27T02:59:54.689922Z","times_seen":4,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"introduction_type":"scriptElement","is_inline":true,"md5":"b58af12cbfcf69e6705b80ea980ee155","sha1":"d803e25ea648fe58bd990216a6fb96ccdcb5a071","sha256":"9553195e6b487f39d929f744cea0c874de934165c946be2c6c52f5648059600d","sha512":"93b485a4d05deceadb3be3babf1d85b7a1a92b7253863768457352562027ca65fddbfcf7f4a2691511a1c3feaf3c7aa94df782e6f358ff8670669591d3cba0d8","ssdeep":"","tlshash":"82d02b04b34203901d9001104fec220450d8f033dc8acc85310f80608ff6e59e04c5f0","size":255,"data":"","first_seen":"2026-07-27T02:45:25.262891Z","last_seen":"2026-07-27T02:59:54.690647Z","times_seen":4,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"introduction_type":"scriptElement","is_inline":true,"md5":"024dc11ff0330053287a417b380dab9c","sha1":"4248a5db8bdc0ea2709189d1bd4ced4cad7793c9","sha256":"7da9dbb18ad6dadca097b43539546ea400e53bca6d5e68e766c2d88847907df4","sha512":"74b059fc943198f5145b463e1d41f5acb7543523e47263ccf3ab71c4b63380b22d272ae7deeca90e356f36e54e60146be15b590b8e2e70b3992a9917914d9dc1","ssdeep":"","tlshash":"ced09b48b7421394199001504fec571454d9f123dc09dd85335e95559ff6c5ae95d6f0","size":254,"data":"","first_seen":"2026-07-27T02:45:25.263743Z","last_seen":"2026-07-27T02:59:54.691439Z","times_seen":4,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"introduction_type":"scriptElement","is_inline":true,"md5":"8b970ed0d43ac30a53054f7829e5e50d","sha1":"7b78730326e721b76adf2a8e80e0c88e96202f3c","sha256":"2c06304c25d4aa5bc00e00dd3bcd2cf9adb40437fb0abcf280db3be8ed7edb8a","sha512":"680cb434f8b13add2ad313ac712d3e736d5acf87ce28491b6230521cf39aa9cad11f1b66bc8bbbceca7baf3692827f0c51a1eb92517d32f0e69d66596aad2e87","ssdeep":"","tlshash":"bbd02b04b3421390198001104fec120454ecf233dc09cc84310fc1208ff5f5ee94c1f0","size":256,"data":"","first_seen":"2026-07-27T02:45:25.264591Z","last_seen":"2026-07-27T02:59:54.692207Z","times_seen":4,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"introduction_type":"scriptElement","is_inline":true,"md5":"6312ea58e49002881cf01cc9419525cb","sha1":"d7f9c01f2b84b83a8c74e7b2a361afae371f6eef","sha256":"0041f5ee176bef9efc9114c047309dca30272bed443b29ced3a4448f4084230f","sha512":"1ba4ba54ac907b3511b9ad300b2c867142a22aee8718355561c92dc0384b8c630d42fb0d6854cfffe3e6c2522e0c9f420016077c2b58bbcec831e3225890cf02","ssdeep":"","tlshash":"44d02b04bb821390398001104ffd520440d8f023dc09c884310e82208ff5c5de44c6f0","size":254,"data":"","first_seen":"2026-07-27T02:45:25.265552Z","last_seen":"2026-07-27T02:59:54.692922Z","times_seen":4,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"introduction_type":"scriptElement","is_inline":true,"md5":"24a2f17fa31e7805dad66d6ca3fea857","sha1":"0c5117a0f1ffe4c837215180f5dbba7e61342013","sha256":"21c53877153b1bb90841c8e79a8b00732428919f78b99256e1047075bcc84a6e","sha512":"78bb9ad1b73c33c5647f49aa433dcfb6eacc4e2dc91f4406f139129bc090f99beb3d6343423f578bd5f66fb8c6637e59d2c0e4937394bc0994f41193b06ed695","ssdeep":"","tlshash":"dad08c04b3866290199001104fec120458e8b123dc09c984311e81208fb6d6aa9481b0","size":257,"data":"","first_seen":"2026-07-27T02:45:25.266489Z","last_seen":"2026-07-27T02:59:54.693642Z","times_seen":4,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"introduction_type":"scriptElement","is_inline":true,"md5":"db4eb76ab66f0aba47c9b15ce686f731","sha1":"0ceefd966ca8869a09fa3760f3561ea63b1aa7cb","sha256":"c4db49a7a71d0af6b7555082ca83da263e50e6abef4db532c379e14df0867ebf","sha512":"f7aa2c86c21bdff14a8d9a608de7aea93a5b62d151337932913661c1eb4a8a7440264d6aba94baebb2d540c7406fea7dfd48b5cfd7d7dbbe1625a7407a500d49","ssdeep":"","tlshash":"74d02b08b74203902d9001104fec120450daf033dc0dcc89311e81208ff5cadec4c1f0","size":257,"data":"","first_seen":"2026-07-27T02:45:25.267413Z","last_seen":"2026-07-27T02:59:54.695Z","times_seen":4,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"introduction_type":"scriptElement","is_inline":true,"md5":"dd32042305c7fb59199afa110b940eff","sha1":"9157b05ac4c04c346d84ef293db1cf03ba2acb7b","sha256":"6efac33df8047d5fc5ef318a56895a00145c230f8288f624893603eb6dcb626a","sha512":"f276ee816cb58611c583743d39a6ede311cff38e71c07c061e11d6cb4cf7a1d9dc3d25d52124bb9f7cd4dfec03285ed834b672a2530e793cd24136ef4cdbe6d0","ssdeep":"","tlshash":"09d08c04b34216901d9001104fe8220480e8b023ac0ac884324fa4108fe6c5ae44c2f4","size":257,"data":"","first_seen":"2026-07-27T02:45:25.268239Z","last_seen":"2026-07-27T02:59:54.695758Z","times_seen":4,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"introduction_type":"scriptElement","is_inline":true,"md5":"b0251b5e330b11df8a884d69d667dd08","sha1":"c4c99db6403a5ab7e4c9a185b4a46ddac82777eb","sha256":"fa74a3f8461f9a9ec309015d3c4b6d4bfc4bd0129f210d47cf7df93c92f8c38a","sha512":"530afa81f96e502c3456e69f88930bc225726a7482a55da29bfb02bace5c1800d3652269e4b1c662bd699dce1b9173dc319e5d90837c0dde44524fa4f96bea6d","ssdeep":"","tlshash":"82d08c04b38202a0198011105eec120454edf123dc0ac884310e85208fb6c6aed4d1f0","size":257,"data":"","first_seen":"2026-07-27T02:45:25.269238Z","last_seen":"2026-07-27T02:59:54.696576Z","times_seen":4,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"introduction_type":"scriptElement","is_inline":true,"md5":"aeedc2a719214545df636361562e4b53","sha1":"c7d56f239ee0fb038311d12f2838c5381293f893","sha256":"06555e4c71e66533a8ae5bc7c0ecfdfec0061e33a9b28261337442a4002bed33","sha512":"cf4e205f489443364957559b951753dbbd938bd318faaf24571561c6fb734e668f93dde79fccaafd70a08e93956619a309d17ac05d47d198bb0bf0c9b505d3ba","ssdeep":"","tlshash":"ad31dfadab6304cab4fba3426d56600d12b9f253c983cc157f4c5aa44f93f28e108a64","size":1617,"data":"","first_seen":"2026-06-07T09:40:24.89069Z","last_seen":"2026-07-27T02:59:54.697381Z","times_seen":15,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"introduction_type":"scriptElement","is_inline":true,"md5":"30acca126765174ef889ba1acbbddd72","sha1":"1598172fb4101922051ad88a8e3f4a86dd4e8956","sha256":"f308fdb2b7e426eddd46c4d1862fa7fe2784eb865aebbdf8c867d34fae9e95e8","sha512":"161480b9bac126835422a2618dc0f5c1f760fe972249d993f054f39558d78f23c1e34b2c22bd29f971ec8629fd0439889f524f5804833ac6d9ee7cd4597e626c","ssdeep":"","tlshash":"b011dc4730a201b9249fb007f3db7889b57d401b4524ad84b31c6a451fa2f09078e7e9","size":957,"data":"","first_seen":"2026-06-08T23:36:01.272192Z","last_seen":"2026-07-27T05:25:19.201768Z","times_seen":26,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"introduction_type":"scriptElement","is_inline":true,"md5":"46f9c4f9f48affcb3f2a02cc4cf6bc58","sha1":"313a7a785d0f0506f0e1b08fa58a4a4a890e637f","sha256":"4b92c5f8a1bcf30643563fe0ae51022bc29cc7646cd72eacbf830dee78cf936b","sha512":"29e72f2d0eeb132eeb0ccf8bb7972c9a6ad8a056054c501d04ffd83af5753d69d4556acf01e2e32385ff06f033d1a55376c2fdcd63fd15659e295c6b7f96d7f9","ssdeep":"","tlshash":"bf01d34d9c436a75264b7196573f915034b9404b9815e804b54dc2c05f69f4c5d17efd","size":741,"data":"","first_seen":"2026-07-27T02:45:25.271501Z","last_seen":"2026-07-27T02:59:54.698963Z","times_seen":4,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"introduction_type":"scriptElement","is_inline":true,"md5":"d7f8040b0cbaee8e82912cfe545a389a","sha1":"a3c3e3bf65d8c3a40cbedab43b7a3f62fcc204d3","sha256":"fdede82429bda289842e92280dea8ba37ae5fc602840cfdad5f826fc21302891","sha512":"51fddf575e818e42584108768cc0722eb8249f2fbd8ed51b28078fb901195f5998ca3a4629fa99b8f3cab6ed9feaa7fc7169f52c434929db8fc9b3444fb9cb3c","ssdeep":"","tlshash":"ffe0ab3d3c3040950b9341b482b7f228391630640095c817e497882a58f1fcd6d41895","size":416,"data":"","first_seen":"2026-07-27T02:45:25.272432Z","last_seen":"2026-07-27T02:59:54.699732Z","times_seen":4,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"introduction_type":"Function","is_inline":false,"md5":"29d0c84b9d1d8da446a6062c6a840ad9","sha1":"6d6b3a6065667c7c50d92f3889c85ed65a9ad784","sha256":"3c3cbdb71d0d2c22f504f4d63d8a6ffe8d250cde7e58300619be35b6bbab26a1","sha512":"52cfcbf2f7c3521c5a6c6120099ee6822d16e04ffbc04720da925a11242c8c2050f9cfc8d864a6d39a0036ac599f701080195a29a7c5e8d3e9308b91f9f0390f","ssdeep":"","tlshash":"428004d533c350004753117c04571cc4d034447014444d405040d4531c570315115c7c","size":37,"data":"","first_seen":"2023-04-11T21:31:25Z","last_seen":"2026-07-27T05:12:05.13614Z","times_seen":733826,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"42e34d43963ba5c8f37c775b35258a3f","sha1":"77848caef3f422b34490fbcc9b420a2eae91e973","sha256":"4bca020551dc54855ef72cda3d88a25ac010c32345bebd8111e1d884f56b1dfb","sha512":"1d102717114d2322ba1fd3ec6fab0b9da9bc194793c340ce4efc56611ac5ea53860b13a04ec8c3e20da463da1c752b9254516dce5bc499934db40f301037ea5a","ssdeep":"","tlshash":"8690020da4210201206830c4fa8236426c9104a04f099c100101d81061c910bc8556df","size":46,"data":"","first_seen":"2026-05-25T20:24:44.282834Z","last_seen":"2026-07-27T05:15:37.034007Z","times_seen":3018,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"2d411354f21bb22b65f55d8bfad14f6e","sha1":"0a0a24845eb1cac5a48518e1bc5db6e3d5dce792","sha256":"cb1426008557b5894157468472242e22bb84d186d91063e50456abb38b79ed23","sha512":"f95f53d57cf6b8cd06137c700ea9f82b2342115f8ac40630b9fcd57322f6e4d42e6ed7ffe48e64c0dbe39388cfb9f76813d882fb40b9c5504cf0e670ab3b28fb","ssdeep":"","tlshash":"1d80002080a00000a28830c2e008002c3838c3320a8022c0838080028082ae082e02a3","size":27,"data":"","first_seen":"2026-07-16T11:36:17.999846Z","last_seen":"2026-07-27T05:15:37.034522Z","times_seen":1577,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"07a385f3172ffdd29de9406be4be22ed","sha1":"aed530b9490b234043751570e30d97aebe04afd8","sha256":"06f2a7a81d813d2050cb4047cd8d26c8e464cdc4ed630aed4aa96658f6c2f277","sha512":"e262ea0d118dc2128a9cfc8b96e6b3c11823f5de5edeaab9323e0b422685977cf8e1c4ee374a4fb74fcb6c483951a9de0e7e3e9c43dbffb0a6aff49ba204c29f","ssdeep":"384:UipOwuVkogCEowCWLg/JcVlRcHtmjpfbrtka45fYE30:ZNogFbLr2P30","tlshash":"23823057c80da32ac45ade26bc7bb602fc2e075945b529646aecc86c04c7d53e30bb7d","size":19045,"data":"","first_seen":"2026-07-24T23:32:32.759632Z","last_seen":"2026-07-27T06:01:16.387285Z","times_seen":22,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"8062d232826eee4ffac1e152a5142514","sha1":"1b7f2090ebcfc1380f56c34dfc4f294c7301605d","sha256":"ace81cabed19b96885e6fec0ca99bfc73b71b6ad7df50664f92e68ca7281512c","sha512":"4e11703f66d5cb936d78dc2aca12c94504819135e1040189ba4675f1c0b5c1478ece5ca2f02d7c893a38b341f34dc318703d6d7a4c51307c031d5384676f2c01","ssdeep":"","tlshash":"78f02d7c1403dcf784fa1082c6b8e2c0c653856aef942ee123408ac2220ebaf02b1bd1","size":651,"data":"","first_seen":"2026-05-25T20:24:44.288837Z","last_seen":"2026-07-27T05:15:37.035489Z","times_seen":3147,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"cbb7022d4c4b38fad83b963bcfc888a0","sha1":"3eecafb97be0f67eb4a24866c022fdfe86cf652f","sha256":"fe884ec643e34fe919511b867b3888c8cda7093272c5708294af4b60336da54b","sha512":"462890bc00d02373a2f33908d4d9f1ab6763faeb965f8c6c9c4e4c9c2dd4fafe18669671fc15ae51b42e87b29455b48a3a5beb972ed1ee248788fbe930cd7879","ssdeep":"","tlshash":"e711960a0175002a7ae041a0b6362ef5352d3add4e43caec5b857c0936b3b728d20bfd","size":1027,"data":"","first_seen":"2026-06-07T09:55:13.851834Z","last_seen":"2026-07-27T06:01:16.388393Z","times_seen":200,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"a451bd95e420d24a151cb5a25660fc44","sha1":"de8b722786339662ff8f0f6a25cd85930eddfb6d","sha256":"c8f09d6bcd1db51b6c98a3f11c98e6af82972a8fbd80e72dd14822bdc7c8ca97","sha512":"80b4700545cf6047c2c0d3f4a2156c0bef71d9bb050e302185e1806abce0b043b96d282712e02494ca2472e027a0e018e825ef23fd7a8d5f2768342dd46f086a","ssdeep":"","tlshash":"25e0cd478124c410b2d65848e53919f53109b59ae64309f1f260bf0cb1567f394d5dfc","size":321,"data":"","first_seen":"2026-07-24T11:36:48.290535Z","last_seen":"2026-07-27T05:19:37.215844Z","times_seen":797,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"9d9bc5ffab15aed4773d569d62c5ba8b","sha1":"0c8d1aaf4c47cdfcda045dab107ca532b1f79b2c","sha256":"46a2e650802f69388f056281de89811b65b26bbb94350a0e175c7c4c4368a483","sha512":"8a7e0f121165dd69fcc12c3e8c8fa5cc13a4459d091f1229d33efba3db5cbe6adbd703665df67609399e5adc89884506e7fd6abb61759b06e7abd565d01c79e9","ssdeep":"384:RMt9Rl8Do+vHgzH6wmrebszczwhH/p5lOrylk6uNFCSF5I3epMtK3/MWFei:RWvGDo+vHgzH6/8szcyzuvCSF56yMi","tlshash":"44a2648196270c052bea174a68325103b22446f8d647395cbd786dee6e2cbc671f37fb","size":21867,"data":"","first_seen":"2026-07-24T11:36:48.297592Z","last_seen":"2026-07-27T05:19:37.216478Z","times_seen":797,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"569704bfe6c1be70bea96e62c95d10b2","sha1":"1ebe9e3483f15928d18af8367a993cc1fe6f95f6","sha256":"577136df8200adf35699ebd443ff95aff588911e5451a64e7249b954d496ab08","sha512":"27482e4bae245a82e789bd6bba1746bd03fc6d2916045062e35f6bd7d8496ff54720271e9b16bf9c72972f08d7d7aeed33e1c0e2d0ef905ea9253578b05d44f2","ssdeep":"","tlshash":"6c3150f9e42264750ad310d832b7c7aa3f333595f1c72552c4bcc08a15a6dca24a3eed","size":1547,"data":"","first_seen":"2026-07-20T15:50:49.068553Z","last_seen":"2026-07-27T05:15:37.037499Z","times_seen":1453,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"d080aef1e28b9ced897f549e49b13916","sha1":"75abf1173fad589cc5e35b388fa0a3067188e157","sha256":"cb914bbd5f3df056d111c04f26650d699d100920c24e13e5e50c67ecd1de4e93","sha512":"746fc099bb9ed96629e79d592c09b25bb38203a52cb1dced0a65325ff096b1ce9f508f5f2a26570312d75569a6b56be634501e6fa6a59c2fbde67af8418caa04","ssdeep":"","tlshash":"48d0a754212b612234dc3054d62ee6d1f5151a922fd310ebd7992018b665893a9547ed","size":245,"data":"","first_seen":"2026-05-25T20:24:44.292788Z","last_seen":"2026-07-27T05:15:37.038045Z","times_seen":3149,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"tvc-invdn-cf-com.investing.com/cdn-cgi/challenge-platform/scripts/jsd/main.js","fqdn":"tvc-invdn-cf-com.investing.com","domain":"investing.com","tld":"com"},"ip":{"addr":"172.64.155.105","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"c9410f243af40685edf20ec7d82af21b","sha1":"d9a997fe83c757598165055d5c99108944dabaaf","sha256":"3a39bf9ef20457758cea864df83969a00724a740b8e0704ac090647db44b5efa","sha512":"fbda2dd536b5c81f66dae434e9deed16af634c16cd5d06c1ef2a5dcd151105248643448c4035c73d255ccc967171d6827bec570b32d991c21a041d0e8cf3233f","ssdeep":"384:HcesRGF8DP3bntjEdPoX4gOZ0srZl+wqwqM0k2kw148230FYxS9HEV8:HjF2zuPov4Cwqm0k6RFDa8","tlshash":"11a263d9bcc676dc57136171047b30cea12eac88b2048988e134d6fb7fac7da653ad58","size":21897,"data":"","first_seen":"2026-07-27T02:34:07.048584Z","last_seen":"2026-07-27T02:54:09.472312Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_to-integer.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"c84cf66755637c7ed63ca5a6286f491b","sha1":"43b7b34cd994866ac2ffbd4a44407092028a2e0f","sha256":"598b9fe4e97818d015d50433da0584a66ccb0437f65f75e39a1761dfaacde80d","sha512":"7fb2ab09ac22e47ff2b0abb1e3b03308616adb8fa36146b2fb58fd114db61891887c040e1eb04027754031eff8cb223c0cb57bb491a1cab907500b6aeae7b1a8","ssdeep":"","tlshash":"c01123fdc5f739e618326982f582697a4dc87ac180e14a8ce44c0e521c71d6c712982d","size":857,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.018082Z","times_seen":171,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/73412.4c102818ffef73161fe1.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"422636023d55690609fce8127ace82e2","sha1":"f067bcdceb83c6ad56ea24a44d96a430265afe46","sha256":"0d6b57c0d510f7d333f8dd28d138512ba9e093cb8d2a857e94e4699f10896e61","sha512":"dbcae425b76e785d30b99b63a5bb3420cd65b99541f1cff59128488e74741414af26b0e8f212a6f2f21e52abe80011e4a9dd9d10f42a3af5125b6a2354e40975","ssdeep":"384:nhjXdYS4gnfR8o1Yys/z02D8EIomJHYIjVAUc:hjtYHmJxO","tlshash":"3d82873cf9d0e527b6eb99ff4f81e6524959a843b73b7fc27134d2c02419c4b2122a1a","size":18545,"data":"","first_seen":"2026-07-23T22:46:45.888096Z","last_seen":"2026-07-27T06:01:16.203799Z","times_seen":25,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/69113.5f4406ac8b4436afdc23.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"8c88ce407a538a14bff85954f6fb23f2","sha1":"20cc9856f0669e2b47804f5898e16e5049528f64","sha256":"2c1f8c23670876104ee7d980e9114d9cb2c088968d87b10cbd878f00397dcb46","sha512":"3c195cec522d44f6c2dce76aa4afbb00d51848a0663a1ce0b5adf73bcc1e9e1a733fd2a8885aa1ef621f486bd2a97b16e178ed33670f73bde3c4cc86bd8c0fc9","ssdeep":"768:Gtv5X/myZwOFu9JgkOrK7fkWXRqQqmAdNqeoNbs8Cj5D2gjK8YIRcOrSu9:GdB/IgkOFTlpQVA8kC3ISuH9","tlshash":"4bd219503021a0aad2f792efd03b464eb333325d78064e69f0689ced55cde993174bba","size":30078,"data":"","first_seen":"2026-07-23T13:38:20.459952Z","last_seen":"2026-07-27T06:07:34.475472Z","times_seen":64,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_descriptors.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"b628a6fde1de0a49c091a1fbc39bc724","sha1":"e99a6ef3e3b835e5d30d119fb4a98bfc5c9c1e78","sha256":"37cf8652653b371d20e693f1daaeba11306e20c3005789966d05c4c56b5cede9","sha512":"e17912badc8343a097e09aa5c45206c2a840ca3cded87f6646588218a4101ce05fc0d3c42398006c913255de7645e70a5e628eb732eb3ac6f4cabf6f77161424","ssdeep":"","tlshash":"961175afe4b03cc112fa5e95ec6b907f5098608390a20549ed4c15d92c7157d607591d","size":997,"data":"","first_seen":"2023-07-01T10:02:30Z","last_seen":"2026-07-27T05:40:41.147027Z","times_seen":200,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/define-properties/index.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"3df80f8f8dd9515538b80f15d84fb524","sha1":"59a5309dd5150a95b61050a7d93eb8fa5483f947","sha256":"ffb3d68bb0f83d705421f90d241d010e06155880b2832898d4afc0c6edd4a1b4","sha512":"35f8f5afed96f52ecae1a47e0399d44045bc72edd0b003826a47754cb0e5d57295caf2c736666e5677016d00e78fe2c76c7c09822777705627c046432f42c5f7","ssdeep":"96:fEjwSLZtjfvnMKOfbRPeCb9grQ3jpyLXFg6SA5RnP2:sjwIZ9HMKOfbRPlbyc3jpj6SA5RP2","tlshash":"50a1f8a3ed1036b0320665c6c41fa20f94983a9245f4eb5f9b8c96c43db53ae017dc3e","size":4750,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.135268Z","times_seen":157,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/string.prototype.trim/implementation.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"1d275b8c779d1bb4b88294964bb86b9c","sha1":"101b805b56f2ea51533dd4539eaf2acb0b65dff6","sha256":"17c366851a8858bacc7bfb91ac51be9b89cc608ead28953761d2eafd07ada914","sha512":"d703b172db69adfadc78fd24f0a941d57c6934a391476c73730b9dc9d41709c30c760e8dd9312fcdb30d04e7427bbf7070027bfee1d4d896ccbce5c91be7877f","ssdeep":"","tlshash":"4c516786f5f1cc963f7071946d9b5a3c84a9eaa2f2d0c599b2dc61c90f7111803f542e","size":2902,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:40.988598Z","times_seen":156,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"42e34d43963ba5c8f37c775b35258a3f","sha1":"77848caef3f422b34490fbcc9b420a2eae91e973","sha256":"4bca020551dc54855ef72cda3d88a25ac010c32345bebd8111e1d884f56b1dfb","sha512":"1d102717114d2322ba1fd3ec6fab0b9da9bc194793c340ce4efc56611ac5ea53860b13a04ec8c3e20da463da1c752b9254516dce5bc499934db40f301037ea5a","ssdeep":"","tlshash":"8690020da4210201206830c4fa8236426c9104a04f099c100101d81061c910bc8556df","size":46,"data":"","first_seen":"2026-05-25T20:24:44.282834Z","last_seen":"2026-07-27T05:15:37.034007Z","times_seen":3018,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"2d411354f21bb22b65f55d8bfad14f6e","sha1":"0a0a24845eb1cac5a48518e1bc5db6e3d5dce792","sha256":"cb1426008557b5894157468472242e22bb84d186d91063e50456abb38b79ed23","sha512":"f95f53d57cf6b8cd06137c700ea9f82b2342115f8ac40630b9fcd57322f6e4d42e6ed7ffe48e64c0dbe39388cfb9f76813d882fb40b9c5504cf0e670ab3b28fb","ssdeep":"","tlshash":"1d80002080a00000a28830c2e008002c3838c3320a8022c0838080028082ae082e02a3","size":27,"data":"","first_seen":"2026-07-16T11:36:17.999846Z","last_seen":"2026-07-27T05:15:37.034522Z","times_seen":1577,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"07a385f3172ffdd29de9406be4be22ed","sha1":"aed530b9490b234043751570e30d97aebe04afd8","sha256":"06f2a7a81d813d2050cb4047cd8d26c8e464cdc4ed630aed4aa96658f6c2f277","sha512":"e262ea0d118dc2128a9cfc8b96e6b3c11823f5de5edeaab9323e0b422685977cf8e1c4ee374a4fb74fcb6c483951a9de0e7e3e9c43dbffb0a6aff49ba204c29f","ssdeep":"384:UipOwuVkogCEowCWLg/JcVlRcHtmjpfbrtka45fYE30:ZNogFbLr2P30","tlshash":"23823057c80da32ac45ade26bc7bb602fc2e075945b529646aecc86c04c7d53e30bb7d","size":19045,"data":"","first_seen":"2026-07-24T23:32:32.759632Z","last_seen":"2026-07-27T06:01:16.387285Z","times_seen":22,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"8062d232826eee4ffac1e152a5142514","sha1":"1b7f2090ebcfc1380f56c34dfc4f294c7301605d","sha256":"ace81cabed19b96885e6fec0ca99bfc73b71b6ad7df50664f92e68ca7281512c","sha512":"4e11703f66d5cb936d78dc2aca12c94504819135e1040189ba4675f1c0b5c1478ece5ca2f02d7c893a38b341f34dc318703d6d7a4c51307c031d5384676f2c01","ssdeep":"","tlshash":"78f02d7c1403dcf784fa1082c6b8e2c0c653856aef942ee123408ac2220ebaf02b1bd1","size":651,"data":"","first_seen":"2026-05-25T20:24:44.288837Z","last_seen":"2026-07-27T05:15:37.035489Z","times_seen":3147,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"cbb7022d4c4b38fad83b963bcfc888a0","sha1":"3eecafb97be0f67eb4a24866c022fdfe86cf652f","sha256":"fe884ec643e34fe919511b867b3888c8cda7093272c5708294af4b60336da54b","sha512":"462890bc00d02373a2f33908d4d9f1ab6763faeb965f8c6c9c4e4c9c2dd4fafe18669671fc15ae51b42e87b29455b48a3a5beb972ed1ee248788fbe930cd7879","ssdeep":"","tlshash":"e711960a0175002a7ae041a0b6362ef5352d3add4e43caec5b857c0936b3b728d20bfd","size":1027,"data":"","first_seen":"2026-06-07T09:55:13.851834Z","last_seen":"2026-07-27T06:01:16.388393Z","times_seen":200,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"a451bd95e420d24a151cb5a25660fc44","sha1":"de8b722786339662ff8f0f6a25cd85930eddfb6d","sha256":"c8f09d6bcd1db51b6c98a3f11c98e6af82972a8fbd80e72dd14822bdc7c8ca97","sha512":"80b4700545cf6047c2c0d3f4a2156c0bef71d9bb050e302185e1806abce0b043b96d282712e02494ca2472e027a0e018e825ef23fd7a8d5f2768342dd46f086a","ssdeep":"","tlshash":"25e0cd478124c410b2d65848e53919f53109b59ae64309f1f260bf0cb1567f394d5dfc","size":321,"data":"","first_seen":"2026-07-24T11:36:48.290535Z","last_seen":"2026-07-27T05:19:37.215844Z","times_seen":797,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"9d9bc5ffab15aed4773d569d62c5ba8b","sha1":"0c8d1aaf4c47cdfcda045dab107ca532b1f79b2c","sha256":"46a2e650802f69388f056281de89811b65b26bbb94350a0e175c7c4c4368a483","sha512":"8a7e0f121165dd69fcc12c3e8c8fa5cc13a4459d091f1229d33efba3db5cbe6adbd703665df67609399e5adc89884506e7fd6abb61759b06e7abd565d01c79e9","ssdeep":"384:RMt9Rl8Do+vHgzH6wmrebszczwhH/p5lOrylk6uNFCSF5I3epMtK3/MWFei:RWvGDo+vHgzH6/8szcyzuvCSF56yMi","tlshash":"44a2648196270c052bea174a68325103b22446f8d647395cbd786dee6e2cbc671f37fb","size":21867,"data":"","first_seen":"2026-07-24T11:36:48.297592Z","last_seen":"2026-07-27T05:19:37.216478Z","times_seen":797,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"569704bfe6c1be70bea96e62c95d10b2","sha1":"1ebe9e3483f15928d18af8367a993cc1fe6f95f6","sha256":"577136df8200adf35699ebd443ff95aff588911e5451a64e7249b954d496ab08","sha512":"27482e4bae245a82e789bd6bba1746bd03fc6d2916045062e35f6bd7d8496ff54720271e9b16bf9c72972f08d7d7aeed33e1c0e2d0ef905ea9253578b05d44f2","ssdeep":"","tlshash":"6c3150f9e42264750ad310d832b7c7aa3f333595f1c72552c4bcc08a15a6dca24a3eed","size":1547,"data":"","first_seen":"2026-07-20T15:50:49.068553Z","last_seen":"2026-07-27T05:15:37.037499Z","times_seen":1453,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"d080aef1e28b9ced897f549e49b13916","sha1":"75abf1173fad589cc5e35b388fa0a3067188e157","sha256":"cb914bbd5f3df056d111c04f26650d699d100920c24e13e5e50c67ecd1de4e93","sha512":"746fc099bb9ed96629e79d592c09b25bb38203a52cb1dced0a65325ff096b1ce9f508f5f2a26570312d75569a6b56be634501e6fa6a59c2fbde67af8418caa04","ssdeep":"","tlshash":"48d0a754212b612234dc3054d62ee6d1f5151a922fd310ebd7992018b665893a9547ed","size":245,"data":"","first_seen":"2026-05-25T20:24:44.292788Z","last_seen":"2026-07-27T05:15:37.038045Z","times_seen":3149,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.58667.d15fc4b5c631bb5ece8d.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"c37495f6ca72950f28ad5a6a79a0bab4","sha1":"b23429fd2dea7f2557a8a68545083949759c3ad4","sha256":"b4511e0c850bde295127e6af14148f016b9aea35ea705cdf3106a5a1edbd93b8","sha512":"ddee6e0c9cd60676d9195e2fb635982af76e72cf188acf0f42ba7ac648dbd5acc579a186a2c51fb5ac9d5e758c5289ab285ea4e80694b19f70a1715a5707b77c","ssdeep":"384:L+x0EMPsBRgXD2PTmdN2/5dQ1tHSJm/BtU:L7E2NJuJmI","tlshash":"2cc2c007cd96b099f3f6e24e0eb4d50c2cb453495270d702be868e289ae5ee69d2f315","size":27626,"data":"","first_seen":"2026-05-05T10:36:04.872376Z","last_seen":"2026-07-27T05:15:36.95546Z","times_seen":3416,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/85607.22bd8de3c35ee8fc5a58.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"e8962952be03508bb863c8c06ca8e882","sha1":"994cc89e67a5b8242ee0fd7caca7966df89ca96e","sha256":"fab6d430f9a443d03d6a3fc2d100014fe03fbc7a1b783ee9ad790c9e9284b8b2","sha512":"0ad099507d48cdc58a24c31d84c7e76a62f2cb27e966cfd05b971203aca914a476f0a91318d541112e95eccb05280bca413618296e770a708137bafaa939f082","ssdeep":"384:A+RrMJobX3SIFRaFW4CpGpmdOxygD/LQPjl1ZhCz8fPOGqI+Pi/W6VxI8MHHBtBP:A+RrMJobX3LFRaFWh4pmdOxygD/LKjC/","tlshash":"4392e96773d326b202e245e9903e324767a71244b0874074b576ebfd176ec49b2a3afc","size":20336,"data":"","first_seen":"2026-07-25T06:04:52.136021Z","last_seen":"2026-07-27T06:01:16.369021Z","times_seen":11,"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.27","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-27T05:17:26.334684Z","times_seen":1442,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/js/jquery-3.3.1.js","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"introduction_type":"scriptElement","is_inline":false,"md5":"b0e8755b0ab71a0a4aea47c3b589b47e","sha1":"849189b1a2f520293ffc649ee14fbddc32f44fdb","sha256":"8a051cd343d7193d5804bd7f29fed0632f5f3e52ea64a7041ab0aa0f3dc41432","sha512":"5e0fa58452ec8fdf9c92453a4f7ac7b193edcde25cb729719512ae8e2ea9afc02e0f710532b645bce7b6fa8e92247a6be8c2d9086ec52dc618b6a9b266d2b386","ssdeep":"6144:2Ea6/iLY8CvPokFFr2QFbP+s3JPL2ymp896ZhY1vRUk2YpHe4hzbQSA4ZE:dCQFbPLjG89DRlTHe8bQSJZE","tlshash":"3b54b3d9734f116f4ba233aae43b5149ff7dd1b0520550acb58d996c24a081883fafbe","size":282115,"data":"","first_seen":"2023-03-07T12:43:05Z","last_seen":"2026-07-27T02:59:54.603911Z","times_seen":257,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_classof.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"f2b99cce175de7d539143961a703e3a8","sha1":"ef15f2d82b527ae23dcfc171f677da8de9b1a3f9","sha256":"e514e4b66f9ab8603744e0a9c7fbab493d34b7548acc406fdce2d74c671df729","sha512":"ff4f44c541e5e9ebb19bc0db16474fc7620374e95555649b9e67e4ce74abe72ccf5730bb9fec8f2715f040cfa698b0f1518ae02a1c3bad35941fe988fa805b93","ssdeep":"","tlshash":"0441e7dee5a930a52e303986e28fd76e50d95bc281d4c64ed45d53e00eb3a3922bd80f","size":2399,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.101581Z","times_seen":168,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/string.prototype.trim/node_modules/has-symbols/shams.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"f46a4e63fc4027742fd72978d017401d","sha1":"3107bea19e38598c425d021d837e7a87a122ce32","sha256":"df8e59a182357a144ddff11695bc9c89567cbb82d597193a99c355ba2dfc89c2","sha512":"84b32ec2d5185ef1d5d8aa817af93a36e4aedd62909de8b80c7386f474c8898c9be6b5f582e3b3b0463c1dfcdd5b8027e582ce85f8abc483374c0fb57ac74d62","ssdeep":"48:YF5ZFAZFEBCaAjNXXGbhmjyGbvwZk9cziiCcHWK6jB9QZ0WaLNTjAxBgjxEmdLHu:YSr9IMny89ExGj3LH+jZI2up32HxsO","tlshash":"0fa1daeb7962b0703662a392444fe14fb2786f4040f5a35de49044b4baf911e503ffa7","size":4948,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.150446Z","times_seen":156,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"tvc-invdn-cf-com.investing.com/tool/1.12.10/tool-prod-2-ssl.html?carrier=cc6698fccca44e51b088d9ddbbcf8ec8\u0026time=1785120633\u0026domain_ID=7\u0026lang_ID=7\u0026timezone_ID=17\u0026version=1.12.10\u0026locale=ru\u0026timezone=Europe/Moscow\u0026pair_ID=945629\u0026interval=5\u0026session=24x7\u0026prefix=ru\u0026suffix=\u0026client=0\u0026user=\u0026plotStyle=area\u0026geoc=NO\u0026styleOverride=","fqdn":"tvc-invdn-cf-com.investing.com","domain":"investing.com","tld":"com"},"ip":{"addr":"172.64.155.105","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"4e483e28618d5bc221ac9feb0a5a1d0c","sha1":"8972e9c0ecb2f0bc27fd652dfbb7d1c27859fe45","sha256":"cb87e5130cf45021166f4151fdc94e216c4144a5c1a7e37ae03f19c451c87386","sha512":"086745ca1953394833a4a44df49e3011731cd2661f67d82d408c0fb7e26fe1afca879efd2e35dc551f817f34e715136ff2f9243088e349f0266575da9bf9b4f0","ssdeep":"192:0DZaupu+N7p5Z0gvg+13SOUCMufapix35YpS+SA1YU99XNntBrY/mkgJRr1XsNBx:qZabehMEo9999XNthr18NBg7Xir","tlshash":"71525155c72e6821428f212c1d1e1ac5af2e3174b4218937bd7e9b7823c8f8d423db7a","size":13327,"data":"","first_seen":"2026-07-27T02:45:25.534308Z","last_seen":"2026-07-27T02:59:54.748255Z","times_seen":4,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"tvc-invdn-cf-com.investing.com/tool/1.12.10/tool-prod-2-ssl.html?carrier=cc6698fccca44e51b088d9ddbbcf8ec8\u0026time=1785120633\u0026domain_ID=7\u0026lang_ID=7\u0026timezone_ID=17\u0026version=1.12.10\u0026locale=ru\u0026timezone=Europe/Moscow\u0026pair_ID=945629\u0026interval=5\u0026session=24x7\u0026prefix=ru\u0026suffix=\u0026client=0\u0026user=\u0026plotStyle=area\u0026geoc=NO\u0026styleOverride=","fqdn":"tvc-invdn-cf-com.investing.com","domain":"investing.com","tld":"com"},"ip":{"addr":"172.64.155.105","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"d41ffb5e3e81f128f1c0b3e2f6bef9ac","sha1":"6af3fc0fb42edef4a1f810e92b86e061044e1c09","sha256":"acfcba52c4063b8b99b74cec1df7d542d741e00e1eb6dbe8bbeb14f1ceb0d1bd","sha512":"7f8d33db2b76337fb74b9eaa5f80d68b8afb53f072db8da4e81714a95302ccdec04343bdc99497aef6e14bd4d1c88171cba168791ab56b42b79145c31fb6ffa2","ssdeep":"","tlshash":"611104757b261534c9d5418b317ee7a93e3260317e02a045c36cdc289d58e8314efcbe","size":921,"data":"","first_seen":"2026-07-27T02:51:27.173209Z","last_seen":"2026-07-27T02:51:27.173209Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_is-object.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"b6100e48dea90376a7b168a66a31b89a","sha1":"c708c433ff87cfd70b462de436650a00bc388def","sha256":"5bd6a50129285c4f73e7492478c8a84684b6a03bbcdfd6cd2f77aea9b2bbca8f","sha512":"44fa5351f33e1b120678fba8d97e77a3d2fa433c69069c713d44dd7ea8404ddaa2abb70da0fa3071be76d5d013e95823d4bb4f62a803427fe5af31d7eb9cb3e9","ssdeep":"","tlshash":"a60110ffc6f769e72a732d15e942d40754687480847a0a85926d8fd63c3795c323ae0e","size":713,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.056943Z","times_seen":221,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/76577.f73a01e1f00043622b65.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"6a57b1deb31991bb129476b06e9cad11","sha1":"d00dffa870d90063d146679279b23729d7cc0bb2","sha256":"4ba69451c43dc3871ed3f2b689d739650d0189c1095c65a1e4c3050c3ca9a662","sha512":"73f9b1560727a29f3cfe717e938a390645a6bb2cae109ebddc8e909a042a048adc3d51bccd2be01a77a3839b742c0edf3283489d06d79bb43e3d75bc2974df1e","ssdeep":"768:VXEgvhG7/2KArEGBxc1lmprTmMAo58FRGdfycQKRAppcS+oLAMzpOXYq9EqLN6e:V5G7/0r9HqlmprTmMAw8FRGdfycNAgVf","tlshash":"7873f8cdb281b46546e7a1b0803f550bf23a6998700d8488f235e8e97c7ca5ea177f7d","size":76578,"data":"","first_seen":"2026-07-25T03:24:57.112206Z","last_seen":"2026-07-27T05:29:38.846313Z","times_seen":95,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/80706.a5913aa6ad62d9dbf031.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"7d7a3ddeb844a1fdfe8b024f9df9f0b6","sha1":"b3afece36b14fafc7889e9b954f9736c892a2849","sha256":"0752584a0f2ad3bba4f44bbd6a44bf08a76726c524b79367996ab9b20e03bfba","sha512":"c0b04bf9ca52fee536a54ae9fcb3fcac9ee210f95be1205e4fe48f0cbb1f25a4db788a4ae10cd4b5ee13e1dc5159c2a4d48516d50bf1ee07d2da1a00fa95ac38","ssdeep":"96:VI23hKdh7P1lIbeWL9aqfMbFNriK6Vizc/MuomCA9P0LX4BYyCnsI6T:n3wT9lIbeWJaqfvXQcEA0LHxnf6T","tlshash":"c4e1c6c832b1f0eaa3e325e480ab5806e13a6d5a558e60b6e34557d37874fc540ffec5","size":7142,"data":"","first_seen":"2026-07-23T13:38:20.481503Z","last_seen":"2026-07-27T05:16:58.386461Z","times_seen":759,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_an-object.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"85dad08fa2031441f85e8c7c8330c979","sha1":"4a094ff868d38400acbc9453c6dbb00f147ff96c","sha256":"5302b8f222334922c6d7b4065cec08f73ca23bb265315cda89375e8cf46ef230","sha512":"9d33ce98d6b7ce771ebeafd6dfe091debf0f17505d2da2bd287223bf32748558ac3c8839a741f2604dd1a21212bf33ff73b1d6b24415b5f35c5b65208b31eb49","ssdeep":"","tlshash":"4b1144ebc2fae8d730367d49d351c81bd9c455c14414a185d48887ce2cb663c546c93f","size":893,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.120752Z","times_seen":220,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/has/src/index.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"eed8a2f806709237b06b0ffff29fdb77","sha1":"ca0269bc23c59a96a33e0b5463a091d7d401974f","sha256":"189545f2de6aa86ce4897b6b668c7f0b6e94ed7eac36e0c11849cff6c56deaf1","sha512":"d1bd01286f61aea81ea2cf121359fd55b7b2d20360cb9e7adbb509058f817a0453467a025506fde27d392ae5185820df6892962fc793a882962fc6e9383a7d23","ssdeep":"","tlshash":"b20125ff5571392232f92cdbd197446bc5d7b7d24161194ce50846c90873c4d41bac3e","size":767,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.093697Z","times_seen":153,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/string.prototype.trim/shim.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"9513c0c36acdc764bcb28825b81c529a","sha1":"fcd3022a4c644338f8776c6e66a7fb837ebb23c8","sha256":"b66f7f12c80f8fe98b900a5ff391b1d8f71229e5da745b5e349f81bfd811f315","sha512":"b666d177c1349ef3013cd5bf8b76eabeb49de75d7aff5a880d5922fbc276d39e1b9ceb5b9d79551a9cda6d33f6b390edc0387fc339539bea2bf779eb60a22ff2","ssdeep":"","tlshash":"b63112b5fd7128d237722d9d4089a06b90ddbf95c07185c9e4095d9f1dbd918216ca0f","size":1445,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.181041Z","times_seen":157,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/embed_screener_v1_widget.3c6dcb48241b38ad20cd.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"b07d7762afc64303abb48d31f9b49b37","sha1":"1c890e25377b837bc68ec086492e285e65d16c18","sha256":"1eb5c13d7babdf9d1b73d7ad5a55022781e5d3f382adc1ee187565d64a40827f","sha512":"a8f88cc675c375635ddd8bede571efff87e5328f1d0d90c979d7b07ebc0ae4eb81802b64a9d6eff50ce17142110fbbb224ff8fc3c4c22a1338431110a908c8b5","ssdeep":"12288:N5WOCvvhWwgPkUciIrBbM37JDMclwUYGZTw7yhLrLl1wrFh:N5WOitgPkDiIrBbM37JDMclwUYGZTw7N","tlshash":"8dd43a71a1a5293011f6c2dad8b66406623d2647f80604adfe7d8cdf168ee45f13bf3a","size":602700,"data":"","first_seen":"2026-07-25T03:24:57.336653Z","last_seen":"2026-07-27T05:29:38.766976Z","times_seen":94,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_object-dps.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"1f00fe461a82742e2643a7dc9bb9d1fe","sha1":"8a690bb557fe4603210b662a92d5a2654559c474","sha256":"228d5bd243788278d39cf8b48d78e76449952f27172e83a178308d8cf4388123","sha512":"627b6fdea6b44fc03f87310082bcdfae7f0148ffe1e690881f2850f2d0fdec0aaab2a4ab116a1949e6752c0b66cc9da150baaeb55c343cdbbc6456f1f818434e","ssdeep":"","tlshash":"4031865fca70d9d223bc6c46e86ac0278988b6821c71e608d8ddd7c72cb3036626942f","size":1804,"data":"","first_seen":"2023-07-01T10:02:30Z","last_seen":"2026-07-27T05:40:41.190483Z","times_seen":195,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_object-gpo.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"8b796135609d6cc063e93f2195c341fe","sha1":"f40f6cffdcc4c5cddbf17b877df70d413d8c79cf","sha256":"4d52c66f34e548d6a415c087a3ed3bc314ec19de6158d7b5089a19a2665fa1a0","sha512":"8abd54a8239712cca08c72516bb1714b49787c881e8285bae0d15f27a4871df1cd24c293ee16a48dcc7be583a03054b1263ebbfc7ddf6feb5e6118ec3373b69a","ssdeep":"","tlshash":"0641939a93b1e0e22ab56cd8e642895a92dcb6c1d8b9d444c8dd84e21cf3429213961f","size":1928,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.000307Z","times_seen":184,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_to-iobject.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"1d59d4b103d6eaeea794ab134d8376cf","sha1":"894ec3a47cd46549ab7b2707a589f3d0d22a3ca5","sha256":"80df39359454fc6096b810970ab48453dd1b8b32444e49b5dfaa6f3e2902c7b9","sha512":"3cde1fbfcb6735ad40dba95e786b5a242f5616a89e8539ead5e53cb259f3d0ce75cddce1d40882986f52a68c18b4c58c96af4ae1e8fb7356e573e38ab3aa4b66","ssdeep":"","tlshash":"4b2167ded4b1d8a314751dddf1a1483aa4c9e6c39171754cd8cc8ed90c7293910a643e","size":1113,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.043417Z","times_seen":172,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_array-species-constructor.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"7461115b92b8fd62f023cf73073ad010","sha1":"b7d9a8779e8de9976dd8018a00cc70aabb386b8c","sha256":"7304040b240bdac7810db3eac162f0284048a77b4ad2a1d66a5b6eed9eaad528","sha512":"2ba81f6754c314b2ae325ccd1902e08ebd8404791059092e21267b0f0bf72020ede09a089a86ab4110c8c0688285e147610a13109e2a9c7e6f41bd167b705dd1","ssdeep":"","tlshash":"2b41a6ccd879188629ef3978e38b9d6d56ce5f438140e288fddd19c00d6213c16f591e","size":1911,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.157237Z","times_seen":136,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/_/translate_http/_/js/k=translate_http.tr.en_GB.0bOkwMeUhss.O/am=wA/d=1/rs=AN8SPfpmfZEzKU9zafeE19DZuXxjBuzHmQ/m=el_conf","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"introduction_type":"scriptElement","is_inline":false,"md5":"4f362ba5b8627a595656cfff7c482ce7","sha1":"8de84caaf8839a640fc14b3936894c9dd36b9202","sha256":"4770cf2f881e0e866823f003aa4e1ac103b7e1e530af0d3a6e54632f5ded259f","sha512":"a7d3694b1d7c4ee2e137a61908b15834554944899ba5732d67c51b114474cbbf05d341aa793c90907886d9af73466b6d2d0d4ea02660bf3388fae4ab533a7a7e","ssdeep":"1536:X2YyKkpPuHRhE8IfHFcVs8JZyclHX+6ZqWvVATf+iOwNWdz:XT08IaVrJZyNj+iaz","tlshash":"d6939688b6a270658263b5b5413f000bb27f599af84c4dacb288d8e16df494d427bf7d","size":89792,"data":"","first_seen":"2026-07-27T02:45:25.205471Z","last_seen":"2026-07-27T02:59:54.61917Z","times_seen":4,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/80207.3e5e7d68c875b367cad0.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"efb45a2a5e9dedce76162279dc170b0e","sha1":"38843307f1bc14de893dfe253b89aa9ec4532bfa","sha256":"c4adc1700ca5f8538ca44843bf76da33e0bc360cdf11ff0ddafbd8856c5bad4d","sha512":"3ef5908b8c8ed8de392171a9c51bbea83f11fdb7542f8fb58439589ee43db4b6785bdb1a3e71993950d28351eb79c5548d8567cfb5f4a5991ab3488d323d675e","ssdeep":"1536:guE5AIu9J3vqcJNT6FuEckfLVnddIwc99EkRIWEEPk2SYHj28kxu:DGxu95vqcHT6gT8VnddPgTRCEgYDDkxu","tlshash":"7f33a56091880f44656183d0bcff24602d9c3d5b4ab665bcde9f0d5b4e99ac83e3bd3a","size":54012,"data":"","first_seen":"2026-06-24T00:20:51.960912Z","last_seen":"2026-07-27T05:29:38.809702Z","times_seen":223,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/71424.eaefaf568dc8f1d16228.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"d28b49d04557c0480cdbf81791cd43e4","sha1":"5e3a933096e33a38573e6f19d421af3adced7eb3","sha256":"21caef4db64aefa7c30365f0531a6b960cb10fa95ec42c10a6fa7de721bddee9","sha512":"087a004245d3199dec5b9b58bec642b846508dc967ba639a6b7eaa4289fe4a7bcca4cccaff9c3453cdc12b02032d564596001b3d891d12aaf21df4603b27a819","ssdeep":"96:BkL7dHrG9n2UbPK2Fv7927Erv8mYNWNPoHJuocGImcU8aG3y/J4Pphe8JxEpUOPs:BM7kNIAeyTmcu8VC8nIeCwIiT0BEF","tlshash":"16124324fb93b2b351cb619a583f080bf33a14d9132510a8735189dd1dfc99ab6afb74","size":9097,"data":"","first_seen":"2026-07-23T13:38:20.56175Z","last_seen":"2026-07-27T05:27:33.155812Z","times_seen":149,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/@babel/runtime-corejs2/helpers/esm/typeof.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"65f1ba545c1935a3bc0e81fe55179070","sha1":"6769a0612af523e1f0f8d2e08ea11215aa25016e","sha256":"6cd64458cb5c0b4902aed92e42967157225abf742a1bf95d888daf09a1043bbc","sha512":"78ac000986bfd6b907a0443fc890414ee32dc96176639b635a70f2bccea1a4cb171bf3af79d3bfcb9c1db06589b92c0d88ba4712570d28b27b18a2205a74184a","ssdeep":"","tlshash":"655164d85df9ec470061fae3da87c19f16aa5d13c2c4bc886cbe34203be040676a9b15","size":2953,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.175399Z","times_seen":192,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_object-keys-internal.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"e5cb500d50395f68e2143e929f6ccab3","sha1":"dd93a194151dedfbcc4c8e27abe72846679975b4","sha256":"a82d5c74a41e2b60cf2d2979a04dfdf000cde3de3c8bff9c9646891e1bfe66a2","sha512":"daac277aea674edc5adb9f8a1fbfc881e7062a5a6a81f6777c17e404dd315b22f522d98f09f34754aa514ae17830f9111fa1a024137a083bfe43170c266a1e67","ssdeep":"","tlshash":"d941864ed9b5506336f978d67557993f4acab58204b5c8488cccd4c32cb343e615e82e","size":2180,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.15344Z","times_seen":198,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_object-gopn-ext.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"1fa0d42fdd211fc8cd4354aadba7c73a","sha1":"370beada82b33f7d89cdeec2e135cbd8b0189c3f","sha256":"f09853e7b1af2f0eadba3e396ab929447d0e7b86f990907a0c67e2a988edccda","sha512":"8944dad2af1a9998ebc93067186bba740b6e382fcb7725d16731fa51bfea7f86da27ed3bc0d1d915ab2867e4cc6b675a54e0535b54d475a6c6de3fae881b0dc6","ssdeep":"","tlshash":"b841a6deb4b098d014b4554aa25aaf3bd8ca3ad344799100edec82c66eb303f8467c1f","size":2192,"data":"","first_seen":"2023-07-01T10:02:30Z","last_seen":"2026-07-27T05:40:41.18264Z","times_seen":161,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/locales/es.json","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"7d340d12a7771ce73fc74a7a296c43ad","sha1":"8998be1e490bf34fa27d9017679df37d9bef3f96","sha256":"33e1b3b3ebd467783fe99cc517823a20ac257403250dc03e266c1d821cdf75ef","sha512":"ed683cea952220683c0a53b792fde952e7a307f1574a09ffa0392120e6f5e2f994424797acae96e451ab5388ae82ff0e45c944c707605408b13277a18e69b4d3","ssdeep":"","tlshash":"b851a27ee4c8da4bc5a2ea0d71bb8cb24d986cf535c14356ecf6f514001e4f9b9ba284","size":2703,"data":"","first_seen":"2025-03-02T07:16:21.346885Z","last_seen":"2026-07-27T05:40:41.072139Z","times_seen":34,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/locales/pl.json","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"c3f2a22386e8c5736e253c8ccf633419","sha1":"3651aba63b57cc005a29b73a6477f6d2e821049d","sha256":"d3026435e92378d9fb4d619e86d914ceb0a9209f80111d33954acea5d5ff29fc","sha512":"968055c79d8486c3a51bc9e78440350616e841330443a3bc7bd9416d5755330f264a7952616f56ae570e0790cfef84bc7817a0301e80b2100828800077cb7491","ssdeep":"","tlshash":"7351ce9eb498ca4ec8b1de0b71f98eb20c9c3dfc4681035669f9e105a01e0f5b9791bc","size":2606,"data":"","first_seen":"2025-03-02T07:16:21.254049Z","last_seen":"2026-07-27T05:40:41.189722Z","times_seen":33,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"42e34d43963ba5c8f37c775b35258a3f","sha1":"77848caef3f422b34490fbcc9b420a2eae91e973","sha256":"4bca020551dc54855ef72cda3d88a25ac010c32345bebd8111e1d884f56b1dfb","sha512":"1d102717114d2322ba1fd3ec6fab0b9da9bc194793c340ce4efc56611ac5ea53860b13a04ec8c3e20da463da1c752b9254516dce5bc499934db40f301037ea5a","ssdeep":"","tlshash":"8690020da4210201206830c4fa8236426c9104a04f099c100101d81061c910bc8556df","size":46,"data":"","first_seen":"2026-05-25T20:24:44.282834Z","last_seen":"2026-07-27T05:15:37.034007Z","times_seen":3018,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"2d411354f21bb22b65f55d8bfad14f6e","sha1":"0a0a24845eb1cac5a48518e1bc5db6e3d5dce792","sha256":"cb1426008557b5894157468472242e22bb84d186d91063e50456abb38b79ed23","sha512":"f95f53d57cf6b8cd06137c700ea9f82b2342115f8ac40630b9fcd57322f6e4d42e6ed7ffe48e64c0dbe39388cfb9f76813d882fb40b9c5504cf0e670ab3b28fb","ssdeep":"","tlshash":"1d80002080a00000a28830c2e008002c3838c3320a8022c0838080028082ae082e02a3","size":27,"data":"","first_seen":"2026-07-16T11:36:17.999846Z","last_seen":"2026-07-27T05:15:37.034522Z","times_seen":1577,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"c89e781be324e20114554e8875dc79f9","sha1":"fe073a3aa7d8fd5626c388201be43fe891854517","sha256":"b92ba296d8d3571e54c46904ca596ea0901733ce9e7e7e02c95e59c30c05a0ce","sha512":"f574ea42fcb807b54991107f0ab2a77d39bea0b8a1da23aa3f7c5c5ea185f3366deaebcc2f9def37f0eb500f6c3a3402db024bd1c4f76984628a21158012fd90","ssdeep":"384:UipOwuVkogCEowCWLg/JcVlRcHtmjpfbrtka4n30:ZNogFbLr230","tlshash":"5e822067c80da32ac456de26bc7bb602fc2e075945b529646aecc86c04c7d53e30bb7d","size":18664,"data":"","first_seen":"2026-07-27T02:45:25.413689Z","last_seen":"2026-07-27T04:43:30.708776Z","times_seen":13,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"8062d232826eee4ffac1e152a5142514","sha1":"1b7f2090ebcfc1380f56c34dfc4f294c7301605d","sha256":"ace81cabed19b96885e6fec0ca99bfc73b71b6ad7df50664f92e68ca7281512c","sha512":"4e11703f66d5cb936d78dc2aca12c94504819135e1040189ba4675f1c0b5c1478ece5ca2f02d7c893a38b341f34dc318703d6d7a4c51307c031d5384676f2c01","ssdeep":"","tlshash":"78f02d7c1403dcf784fa1082c6b8e2c0c653856aef942ee123408ac2220ebaf02b1bd1","size":651,"data":"","first_seen":"2026-05-25T20:24:44.288837Z","last_seen":"2026-07-27T05:15:37.035489Z","times_seen":3147,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"f103cd93b96905ea7d90bf627d9ef69d","sha1":"e37e19173263d551d84957d033ef7a1a30e180ed","sha256":"30455182bf8db66b87f96444e3b4356eae13954eb33b29a9636817b091c7d25d","sha512":"8610576226b73656614eb67bb72368cab9d6d3834045eee7eeef1f25cea0d1c245c08cc7e15ef0d13a7a854d676e1ed45115d0c7fab0d4631d1b43caeeeef526","ssdeep":"","tlshash":"0711880a0135042a7ae04164b6362ef5363d3add4e43d6fc9b857c0872b3a728d50bfd","size":1016,"data":"","first_seen":"2026-05-25T20:24:44.28983Z","last_seen":"2026-07-27T05:29:38.989636Z","times_seen":367,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"569704bfe6c1be70bea96e62c95d10b2","sha1":"1ebe9e3483f15928d18af8367a993cc1fe6f95f6","sha256":"577136df8200adf35699ebd443ff95aff588911e5451a64e7249b954d496ab08","sha512":"27482e4bae245a82e789bd6bba1746bd03fc6d2916045062e35f6bd7d8496ff54720271e9b16bf9c72972f08d7d7aeed33e1c0e2d0ef905ea9253578b05d44f2","ssdeep":"","tlshash":"6c3150f9e42264750ad310d832b7c7aa3f333595f1c72552c4bcc08a15a6dca24a3eed","size":1547,"data":"","first_seen":"2026-07-20T15:50:49.068553Z","last_seen":"2026-07-27T05:15:37.037499Z","times_seen":1453,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"d080aef1e28b9ced897f549e49b13916","sha1":"75abf1173fad589cc5e35b388fa0a3067188e157","sha256":"cb914bbd5f3df056d111c04f26650d699d100920c24e13e5e50c67ecd1de4e93","sha512":"746fc099bb9ed96629e79d592c09b25bb38203a52cb1dced0a65325ff096b1ce9f508f5f2a26570312d75569a6b56be634501e6fa6a59c2fbde67af8418caa04","ssdeep":"","tlshash":"48d0a754212b612234dc3054d62ee6d1f5151a922fd310ebd7992018b665893a9547ed","size":245,"data":"","first_seen":"2026-05-25T20:24:44.292788Z","last_seen":"2026-07-27T05:15:37.038045Z","times_seen":3149,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/runtime-embed_screener_v1_widget.9dbe1b28214d7a1471ba.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"078c641a9165940f92f650670dcfe56c","sha1":"588a588b3de873254a2ca6be4975e9a456d154af","sha256":"bf1232ee83f71f223d4d69f4ec7b7ffc474385b0bf3e2ea817a41a51de2fdffc","sha512":"d70d6ac8dc2d5315cae23b5ad2102e5968136636834d12b08553280efe2990f9bb1ca243bb1cc9bcee0f291f1db4af42d8ef1716326c2ca0de1643e12bdfe1ff","ssdeep":"768:2O2u/W/ww+vFmk6+uoYOgJV3MDbos8ZJh9qWxZjcLY8Z4NqSY:2O2u/WIw49gJV3ebo9h9HrD+7F","tlshash":"35e27ded923cd6b336f12da96d7a9863f33c24237c5980d49393b56409a6ff4a232513","size":31926,"data":"","first_seen":"2026-07-25T03:24:57.413219Z","last_seen":"2026-07-27T05:29:38.812713Z","times_seen":96,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/15049.08e0888e7d45f371417a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"db48995ff5f730ecb170f36e4e2cc18a","sha1":"044ce4f192cecbee308979fbae086c96bfb8db14","sha256":"c81b7b8904e0431a7b79c10f58c825619389b9b17ab64e096121d6f89e2dbe44","sha512":"b421809d047c58d7c47154fd7dd0c211a8727f97c41abc92cb643758b44cc1861e7dc1a4ebc141ba015e211d59dee2becc24789ebb814d22544421123442befa","ssdeep":"768:ffIIzV3q50QTARuL5BAPuQ8GYzHdnj2WyvbVLKdrPQg4xGCSHyezAYMfKngc/oze:nw7H1awIgJdAag7nwvsBKJ/n","tlshash":"a8e2f8c23285b8773bf350e618791542962e35627c0a48bcfa6d29cf3c1cd8a617fa75","size":32261,"data":"","first_seen":"2026-07-24T18:44:55.936981Z","last_seen":"2026-07-27T05:27:33.151992Z","times_seen":119,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_object-pie.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"5cdb7b5ebd5ec8abd24f459273d398ba","sha1":"898d8151ebabeb2f64e20154bbfc294dae5dbcf2","sha256":"a3b7f28f9b8040b278019923c4bced5776b0ee182ee2ce14e5f4dbf173336bcf","sha512":"6009adb4ead11d0a1cd04950c7df98947ab218e643d1130fe3d6b70dadb8c7780416a4a844163cb8a62b9db5c5d14af748d65a0da65ccf5daa1315b4ac7153bc","ssdeep":"","tlshash":"3cf0e1bfc6f6b9ee3ab60e09dc70854b915065c28d75400af15e07527c27a64301e61f","size":557,"data":"","first_seen":"2023-07-01T10:02:30Z","last_seen":"2026-07-27T05:40:41.096208Z","times_seen":165,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_property-desc.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"9253a0c941526a552d5c41c4a97be13e","sha1":"e50bf30809c12a09684bf69eb519fad698fa588f","sha256":"aa141b772162ee7d1b9c5fe35c30e2f0a33f70eeaf7d4dc301d9c1b573f0d930","sha512":"98a794e81f80cc653640cc5b8c43b4d5580336a778676474e378d2c47592b839e78f3c64d08ce0afba668835a54abbaaefb8338ec1d7bf0dde0393e2fc198005","ssdeep":"","tlshash":"9d1184dedef33ce151566d4b6a2740bb448d73c2c21c0b8cc84943003c2b90c71e2c18","size":912,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.118411Z","times_seen":175,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_species-constructor.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"0b42bba0aa10faa341c0c820f2485c45","sha1":"587a5c81bb360e82bdb30fcadccc88aea448f544","sha256":"d0dbbe6bff0075481dd2a3e2d33c93a678598c5ab8a27585599d66fffadc3ff4","sha512":"866cb32f8b9b41ac599eed620f39cc8248dd4bde068aa0ec7b1b2835e64a4f344d03ed28b7705c7c6105e61f981fcdf4db66b474cc87b692c6645df46a7b52ae","ssdeep":"","tlshash":"c03175ccd7f87082587a54b4f657d93f5ccd5981a0e696868a3c8ad40c6253d227983e","size":1540,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.119185Z","times_seen":141,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/locales/el.json","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"36af80009538e49ce357d38ffaabdfb5","sha1":"2f5f0bc9834e66043032bdc4593e449f1b490bb0","sha256":"22d4b4d9ef1c49b3b0ea4215bb394edb14239b0e9500d6873575932405ba07b4","sha512":"a2ae98bf15b4749f17ce2062c4f337a062e94fbc21fe1939b52d296f86a56e3ed144109b1f96252e1cf0175fed27111f95d7bb25420e07a2fa31916cec68743d","ssdeep":"","tlshash":"ae61b0dff488eaaef0a6dd0960f48d742fe668b482c1cfd468b3e500746a4b1f56154a","size":3275,"data":"","first_seen":"2025-03-02T07:16:21.164442Z","last_seen":"2026-07-27T05:40:41.08066Z","times_seen":34,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/locales/hr.json","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"71f2e8fc293591854694f6fe33e596fc","sha1":"aa44182b796334d8f913bea0e5d2727662de1e93","sha256":"15d1ac757ffeee91ad26b3be92610b9f940558e956f610d58d418d58258384f9","sha512":"35eeb9c52a44547fc2ad2dfc6effcbbc6298aaeb630c1ff86a2112e36b6c407dd0a3c019b951b497c3ceceb3d790f3e792b0b0129e64ca292ba31f7f632f7bd0","ssdeep":"","tlshash":"d651e27af488fa0dcda9da0972b94df05d9cbdf964920756b8f4f104401a4f5b1b229c","size":2534,"data":"","first_seen":"2025-03-02T07:16:21.275651Z","last_seen":"2026-07-27T05:40:41.125662Z","times_seen":33,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/locales/ro.json","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"e2a57b5518bf6c33ea9cf6ff6e49deff","sha1":"d4df60e0b1fd2a9d822ba236bd1fe42a76f32ff8","sha256":"13b357b8f1d66fe0539981387918513b1e64db6ed8e113654f2dfb97fb5854cb","sha512":"6cefa5a7617962d01de44693926bfafe22f8e6a63bcf74de709e1f4fa16d17c1b52dc75350d7111bce9accd317ba32d8e4640da28a53f41b73f9d128d9e597d2","ssdeep":"","tlshash":"38518d6bf888d55ac9e4ee4a71ba4cf34c8cb9f444d14742ecf5e408101e4fab9b7598","size":2625,"data":"","first_seen":"2025-03-02T07:16:21.305736Z","last_seen":"2026-07-27T05:40:41.181839Z","times_seen":34,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/70644.448743def325feb61967.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"8cde28c2b9d157a818e87a14278c7a00","sha1":"1de831d7926ffcdfe3bdd82419e6225185d37e34","sha256":"f5576d28408b822a04da2e824feb2d936edf1e1959b29e0849e709c4ff1beba7","sha512":"dfeb6f084e4ee784b4a74a0525c09ed8d481320b0708417429758d5d393b7f6eec9e153c60a63025903dc145cd998cce1676335c44ba0e9011bf068fb3dd2e24","ssdeep":"384:57bUjPiPk+mozZ2DZNFAw0wg7LEJ8yBzjkjWQIfQ/6URF2a6nUFlUTr1H6ssDLv5:57gjPi8+hiTRXbfQOXXUFwhHnecsfHp","tlshash":"ae13f5c936d6b02452b73475007f710bf23eaea1284e8450d117e8d87cb5a9fa27be6d","size":42319,"data":"","first_seen":"2026-05-23T04:38:21.326763Z","last_seen":"2026-07-27T05:29:38.764015Z","times_seen":578,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/util/browser.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"76dd96f6af49859fc5e3d7f04cb2c429","sha1":"876d76fe5a20e833ebc0dd3da5411963381a3b55","sha256":"8e75d1c03373d0c68a1dcce6f99b10c56508efaaa2d22f74a059bd053746ee81","sha512":"fe803e83087519294f8096dd3d2bd8bb379d6456dd0f582d62716c8384bb8a2afa1347ae1489576f13e1cb0a68ce8c2454827b3747994206df593dde4a390ea8","ssdeep":"","tlshash":"4841b8ed29f1bd4308b13c963107897b14b68953a1941e46f91e07d42de693cd37f51d","size":2022,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.069688Z","times_seen":194,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/for-each/index.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"e2b812878a5cae8ccaa52e5f5e3a0112","sha1":"175a5f1ffb42ad79b4307a0b17de17d0c23dd798","sha256":"6e1da465ba5e4b0a1eb30dd055703a4e10f0dd5142cd95824def8f34d2eca59a","sha512":"25a178dafa5d4bc5ea4fd837fc46262c9501187c029e10e570c8ed7ad6b24114bfcad7fd906c4d65780ef4bf2b3bf1a32705c2f1a9e3ce857910c4bf8a344c4e","ssdeep":"96:3pjNIyTgRjQyYEWTsjrwvwrzFz8D3Xl5tr/X5F9G:3pqyc2yYEWqwvwh2nl/r/Xg","tlshash":"57a1a6addca82cd7771a3a4a81cf0ad8429c53c34150a181fd5cab45ffb61182afce36","size":5034,"data":"","first_seen":"2023-07-01T10:02:30Z","last_seen":"2026-07-27T05:40:41.042713Z","times_seen":160,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/symbol-overview-data-mode.273cc350e56a03d8942b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"131b9933aa1825b49b9b06e1a6092c7a","sha1":"35d823abeca1de495979275f7768c9fd89ee9f73","sha256":"5c2fd1cb0c9f68c37927641a71baeab8799b0134684d559fb0430488563bb5d5","sha512":"3486796d5b972ee5eb2a50f40615d38b3624ae975e578c8b5bdf29e092fd1918715a0912a145ec30aff5d2723582f4d32b566fffb875599b588d6c2d678858d3","ssdeep":"768:U+RrTcXqf2RkfRhmUVgLX9ORvg+5zVDhU3PCGpaK9255iQNVKVd6epJk+jeVLfQy:j8whFbToG1aANFb0UjJMy","tlshash":"26c2097b72e32af106f244d1947e3603a72a1244b04750b4f579daee1a9ec857372bbc","size":26789,"data":"","first_seen":"2026-07-23T22:46:45.866301Z","last_seen":"2026-07-27T06:01:16.321218Z","times_seen":18,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/3552.4c5535183b7a0330a89d.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"8cb7d12d58618d9e9433db7cf169e678","sha1":"dd2e2830dd9f4f8c3e4000fb90c94712f7315f67","sha256":"e54bba4bdf7867aec664fc0c023a4e77650464bb7e2e1a2d80ef75500363cd92","sha512":"9c9ce4a19d03df706a0fb6495901a15dd961b87797e48e43669a130ec51d4d3788fcd9e251dd54f1560134509553e5c7a1cc17249ad1f6f562d104b6b10d9a66","ssdeep":"192:ETCSGJXJ6h4GX8tWKEN7Nbj61RO2g6OQLgwF8TEz5XnC/x6/v60KjBHAH4yiFbBw:EmSGehtqWNN7Nbj61ROQLRF8TkVNjaAj","tlshash":"ab42b53d719358a8666780e980390b7ba6283980a58741bcfb78dccf46cddd46277f38","size":12192,"data":"","first_seen":"2026-07-22T11:33:41.980937Z","last_seen":"2026-07-27T05:16:58.393492Z","times_seen":1020,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/es6.regexp.to-string.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"42ccf5089bca4852b84dd06a70fa586f","sha1":"c33fd18db776b948c24b697bc87e277bc7102a7a","sha256":"2ec9ebe7b873f3f915c1f406a51f2f8d0426876df1a707d37bbb44442f4991bd","sha512":"6cc0e7539f8bc16e4f0773f9fef6f149dc644a732c38a7d2bbfa0636ccf000ba818cdd4646288312fc587d827332e9a4748f3109047e39bb5d7e97d0428da329","ssdeep":"","tlshash":"dc51e7dbf6b07551297128cde04fc87669c99ae263f08ac8dc8d4acc1db303c22b182d","size":2965,"data":"","first_seen":"2023-07-01T10:02:30Z","last_seen":"2026-07-27T05:40:41.124003Z","times_seen":208,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_ctx.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"4cdc5771850051ecdf46f18235f2504f","sha1":"df4d22d68df890793a5ee34d04d6b4f89306bdbc","sha256":"334ee49e086bdf08b0cb3862736786b57a914b7ed4b548d1849f084095695b45","sha512":"5c0443634c149207778145e78ad88bdcbb211c379baa8c08f4db0057a7c4bb0b19e2d247d04d8dea4622f411787f2962c02c16c00a5a426fead6e34ff936e82c","ssdeep":"","tlshash":"c24130fee3f37465a7bb7661525fc0aa14f49b4740554a09ac0842c02f3681952bee9f","size":1886,"data":"","first_seen":"2023-07-01T10:02:30Z","last_seen":"2026-07-27T05:40:41.116798Z","times_seen":199,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_wks.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"5813746e93481d5a772b82620d0faec5","sha1":"dccc5b592721841669b1532027032f6d8069fdec","sha256":"baff94a9068bfd3cbaa57cba41b679ed3ff772b510020725b5a0f2e71b320cee","sha512":"46c2bee0f6663b70d3f4b83cc0004b32c14df69ffba41b3eca3ec9b4021698c23f3ef5b9e05844c0dc1df25cffd8263702b7d4955795cc46742405f446555422","ssdeep":"","tlshash":"6e3186ed9ef231d366fa2c4bf5aec63e04c7e59584a19d44bcdc01c21e6243d02b691d","size":1567,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.171177Z","times_seen":183,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_advance-string-index.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"86ddf1f3e2417deffb3de4d793b16346","sha1":"c43171dab118c23b71cc7f34daf86099740b1be1","sha256":"fc658c12f67d7ed22c7992f96c529cec7b1c5e3811ee9cb6947417f1915f3e0c","sha512":"b5e5f12df4886d19d061d2fd3703c486ca5db33648d425d5bf8225acc61398d55cef195c5e2610f67fcdcba95e69bc48fde8ae5a20b9b009c41d2d10b2e96d95","ssdeep":"","tlshash":"0e2181dec1b679011ef63dd1b056cd7b09de3d95c86186c8da8d02466c8782818fac0e","size":1199,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.097946Z","times_seen":168,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/locales/th.json","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"6ed10302d62e2c929e2b0009e16ef658","sha1":"7b1853ae2dbb114595536c9a80b81071ea8c71c7","sha256":"c030f4238299b35784b56de0515763511eae0bb4ed2da98859978999166667db","sha512":"b8a38920091f9d861b275cab7984c0e1522a7f8f6620a393c04099da6ad94a54c40c35a464ba8feecb4188112f166f8078cb4a1f30a77c576cf867f5422daa9f","ssdeep":"","tlshash":"9d7199b7a445cd44ec50ad0731787ea08d68bcf43b9076c2a6e8a18911f13f9a432de2","size":3576,"data":"","first_seen":"2025-03-02T07:16:21.332648Z","last_seen":"2026-07-27T05:40:41.030868Z","times_seen":34,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/12181.b65a58355ff7cc34950f.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"90cd4a18a60bc908d0840ba4fec27dc6","sha1":"bb5de7eba54b0d9323f872960612df642a27716e","sha256":"ae043b44480c283e0e50b84e353fe3e98e560fb8f9bd14638f61a5dfadc231ba","sha512":"1ff83bc8bcac42839140d927da7b753dc51b3ab887327bf07fef3ca3b194425621ed7376ef404517f818a80b9f3d96955fd5c9239c1dc05e599503f7118edc99","ssdeep":"1536:U4ecrc2hMNlbPWqfxN+fUE44ld4e44IJmuJY7+fHfvWr05KNyhLcSbWd4+o:4CxdswjaWyn","tlshash":"10d345b217f406f473b80d5293f77e591b3c74a359882c52d2a4d9a0dd40fc2a96ba3e","size":138370,"data":"","first_seen":"2026-07-01T19:46:28.364877Z","last_seen":"2026-07-27T05:29:38.658636Z","times_seen":853,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_core.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"a67f480ecb87d3199481b07c88eecc28","sha1":"dfffaa3c70bc5015a2735755e390eb049d3ac523","sha256":"7e761fc5113104c063e5ff0ef7951e802582d146e0f0d1603cda6c6e4ac64c87","sha512":"532e0c63eeb2be295c04b3ab24b0456515578f5925f63456e45606fd9fd23c20f03bdbadd004b78efefde2a5797ef3948875f5e67f180fb4058f3187ba44e8b5","ssdeep":"","tlshash":"7d0165b786f839ca2e737e08cde09a9f911064c7c4a50446a15e57413e2b9f1716ef0e","size":745,"data":"","first_seen":"2023-07-01T10:02:30Z","last_seen":"2026-07-27T05:40:40.99941Z","times_seen":194,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_object-gops.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"57cd7ee98b9988b26b65b899d8d316be","sha1":"9fe7777c049cc4762f790f8c51ec18e402f8797f","sha256":"132c94c238bae538aaa02257a90291daace783cc2ec9ea6f4b87e0a5ec1a79cc","sha512":"0e1053983346a8d48a2921a1f62b6c4e0b46392adff41ce908b3f883029bc51e95fc51204b743465eefdc2def383ad56b4efb52926032fb2641cdf5e12492864","ssdeep":"","tlshash":"f8f047fec1b25cd715b70c16ac7185bfd88434c38471450ce69c43c55c2381718b761d","size":575,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.058462Z","times_seen":167,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_iter-define.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"e7c97d9b5bffc8d368748be835525e9e","sha1":"252205575868dd5616181e515396c60b91de587b","sha256":"ecbe4796f5884a787e1a3dfab6dbb50744f1c602a7753e33f6daa164a32478c2","sha512":"2fec1567c0e9ae576ce1e33c8f3adf58cba837893cbd6237ab20e88a3a935089060403be3ac4de981386134f6bf9a375a61d078cf58da939cd52c73a35506120","ssdeep":"96:3pUTqfBegJTI+NbXTozhv9KKn1f/9FLc6eBQ1WC+WpB/V6jPTydpXuN39pDZr:6qfpnxkB9Jn1fluHBQ8kpBrpXuDpDZr","tlshash":"def1fa8affe160511b583a96c25f946311ce5b52c185a68d6cdc9dc43eb321983fc8be","size":8033,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.073733Z","times_seen":169,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/es7.symbol.async-iterator.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"42d2166b7c9b634c4bc09720faad023f","sha1":"e319d3cf6df5f2bed46c25f4e30acd3ed73eed77","sha256":"72eb7eae86705787ccfab91d9cb7136e0fb61cbd136b1c5b3070d029769cee39","sha512":"71f153dbcd5c90ff06bca6c5880d9d88a65c8aa0cef9bc5730a29b721568a57b7308a651b3ebe89150df5826932f9f5670a89bc160dcddef0b8d22f3f21b9484","ssdeep":"","tlshash":"a50144efc8f65d432afd1815dd2085bf48c1a8874c2a0589b99d098e6e23c2665f1a29","size":698,"data":"","first_seen":"2023-07-01T10:02:30Z","last_seen":"2026-07-27T05:40:41.092015Z","times_seen":157,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_defined.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"e0c0a927e2d5c02be9cb5955cbe84187","sha1":"c21fcb62d4e798a941d27cfae29a6db98ad3c9ea","sha256":"4c137d4aad27877aafe0b8568b6428c5b0f231caa2f18bccca4c0c45677b7de3","sha512":"d8da38a6e00289734d0cf7aefb0893e562246b6940daa5a4d0520977bfca041c03f0b8cde57c1e6695d3af7f8f0e1600c444fcad9057198c7db591987602bab2","ssdeep":"","tlshash":"e50156feb0fa74d631fb3c11d256856f54c1aad245a14a8cf50c07415c76e2641d6d1e","size":843,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.140896Z","times_seen":175,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/es6.array.find.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"95500246628b11001a3e538dcd1c7b37","sha1":"543b50ff9f2db44e2b7b070b80aa9da2161edc7f","sha256":"ffb34841ffd7a33ae19fe9b0b85246cfdfd4a3345708ea466840fc08f7de3dfe","sha512":"4bcc01fc3ff1f786f762f8b8ecfb72deeaf9ebf7bd96d528a977fe87baaf54df1a84509ad308d06e3a77accb49cc61b5857a27292cf540b49a6778d0209d323d","ssdeep":"","tlshash":"1b41d6df96763042ea7c74abd4d79639c5cd9bb3c292894cdc1c0ba51c3203c12e292e","size":1975,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.139414Z","times_seen":138,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/13148.32cc01dc01751b91682c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"9eb8a2729659cd900aee823198b62b43","sha1":"27c53602ca760b97d71eef345b01c1d537900aad","sha256":"3ac4b66b0a6823b837035a5dfdf7fe41b01ccf2a2ac115b143c12356080ebdac","sha512":"6c86fb2c2378e589f4353d32a048ae866196581fc0a8a7ed13c379eb47eab41fcbfc0ee44f3ffe77ff3800136be1da4fbfecfe3456524b96712a1e5cef42945f","ssdeep":"96:FRi/jMMHFeHojARuZi0DWss7UebYiWWD+WRdiaEBymSM0qRIv0nrWvW1HN6Fb0so:rEjMMlIeARmLWss77bJWWD+WRd8ymSM9","tlshash":"66a1e987b9c2f0a063d9aca5953b054ae23d6c1c711bf0e8e2e9d5d19c7b10b9112f36","size":4812,"data":"","first_seen":"2026-05-15T11:49:16.287975Z","last_seen":"2026-07-27T05:15:36.991702Z","times_seen":3715,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/30288.59207aa2607ea1597287.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"ea1d9d8d3342c88f33ec3b530e0573ef","sha1":"d655950fc76c40243ee9494c5fcc45e069dbaad3","sha256":"5c4b42f42930e52d140aec5e82b967b86ea0bc4581cfea3ecd33ca21c156520f","sha512":"4a85bff8bc70939b4386535712fa0ce2eae8d2f970a7e4c0f966b40eef502520b53f0bcc55b8062e0d4154ec40c589d4be511f57f11176afdb68166e3b090436","ssdeep":"1536:M/5WmDah7ltfnbgA/bllhJ9AwCh85Q9BO9X/tH78kJM:MZilpvbAR9By/5M","tlshash":"6e330ac572d6f0ab03d605e584bb5042f33d49a9b80d84a1f658e9d13c66c9e63b3fac","size":50816,"data":"","first_seen":"2026-07-23T22:46:45.786098Z","last_seen":"2026-07-27T05:29:38.643518Z","times_seen":109,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/55969.43c3748014de2cd0bd1c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"2ffe3f8909cfa5c00f9356969ce56989","sha1":"25fb185c3e390ae4bd33c6395913b100e0a4f6d9","sha256":"7d1513778a61b869e05173da3d33c80b937eaf583aeb370b947947ddcdce4c84","sha512":"2022abb3649827fd1f39c901fc168d99ac273164699e1ca00d77e017ee71f51fb199aac7cb5eb214ba12fe7bfb88a65a777fee03d3f0318dbaa768e188f74d6d","ssdeep":"768:YmdyerAdxxaVWiG7s8trffJtzTrcSWJMAchHTdv5UC1gMgFwMA+Mv60F00rFLfLL:5dyHaZG73TAVFd+60S0RuGpriakk","tlshash":"62e296ca3286733693d1c7850c750903f339a1743c0a55acf6ac6acfbe1a942617ab7d","size":31210,"data":"","first_seen":"2026-07-16T13:40:49.785089Z","last_seen":"2026-07-27T05:19:37.163595Z","times_seen":466,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/npm/sweetalert2%4010","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"introduction_type":"scriptElement","is_inline":false,"md5":"78f9abf2d03f7ee6a755e0178d41f2f8","sha1":"9368de7d2e8b0d335adbaab171143e307ed5fb54","sha256":"2d5fa531e30ac3debad673003128f1ca9ad3c964ef17b547377e7ed09bd4504f","sha512":"c138cdbcc824524cbd5cbfa8edf966acf66462916349a5d9539723c6f5f10f44357059cc28ddbb95d50d3e17710e9f533bebb658d82527d980804b8a3a31f9d1","ssdeep":"768:hrDTClRYf9tFz5XKuaJuZMpDaIi0oO3vYCRuB+MJ534ywu9uqkjwxRXCKVNTeccy:hbCzItFzdZIBj3AvB+MJ5ocC3WsRw9","tlshash":"ce630689b6403133aaab4174659be60db6b56515fc330c18f128d0d84ffbd8e6273bb9","size":73160,"data":"","first_seen":"2023-03-08T15:12:56Z","last_seen":"2026-07-27T05:40:40.728608Z","times_seen":2193,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/es6.array.iterator.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"56a46b5455808b22f6ca5dea6f695145","sha1":"f4ec377e8ba65a5007bae829dc9d534f0c800208","sha256":"7438df9f7f65fac360fe6ef3e7b09bd792757484ec45f53d29137be342a112ed","sha512":"1ad27d7fd53154ca4941e6611afe846b40f32415217f2b5f4537cbbd37c7b58f34c690f6e3aa3bdf07c72f71751db9e0876926e2dc2179ec82f5ceda2bb037fe","ssdeep":"","tlshash":"bb71d89bebf5609063a87ce6de57842606ca17d5ce824a0cac9c44c46fb343815ece3f","size":3726,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.059976Z","times_seen":179,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/es6.regexp.exec.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"cc0ae011bb8401561d7c50813c5de132","sha1":"53a1c56f857c782316de8e16b5406d042ae9910d","sha256":"9f26f4022067667aab5d9dd92891fb958d5d019ec834d8fb991ad3fe79174fac","sha512":"c39faa125b0fc567fc804272ca072010fe351db92652c8288376c6dbd7150971b91daa11d98c47c2464688ea59892d235ddf97b7db1d34254cf6c8a930bb1859","ssdeep":"","tlshash":"bf1142daeab148231a791c86b982d53b09deb58184e90e48975c17c53e5b03d31b582c","size":1052,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.13127Z","times_seen":169,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/string.prototype.trim/polyfill.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"b211d8c01406c5de36f00a1936a6af68","sha1":"68994a0502134a6945e4ee667ce7bd1d88236fbc","sha256":"23a06e2ad679a234b742a516946a5c8dd8c115f595fd6179d16a6bf2d7af11c9","sha512":"6e2e169194153ccf84bc0cb7441c019ca32f5a1ad015e2354a6824c21c8fe68b7b7802b2ceff4e5376561a6bc65bda3d584b77822561a0405de36b905a69b569","ssdeep":"","tlshash":"9b2162ff9db104a13ea72e96644a853f00fa1e8084739386d55e81d62cba53c233da09","size":1256,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.089496Z","times_seen":157,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/runtime-embed_medium_widget.93759779765090741e99.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"aacdfad6e0c3fa40302bddb34e43018c","sha1":"1142506ad9e4a57315e2ba4214ba1e71177a7a2c","sha256":"d8cc7c5391845edd563077448a35b9e0410f4593fdc20f33fd3fcc7d69693930","sha512":"632ac4a9de96a62e5b0ddcc0ea2c2056465ad238eaf82d343ba317c0ccfe1cf13fa498f8b76d209420b04075dd8d4ecfd04b2682de4f59737aa95a701228b6bb","ssdeep":"768:2Xo4Qv+wwrIm1jLIZk9PeFyVT1BuQ6KZUh9qWxZjI6myocSY:2Xo4mHwrLPeFqfuQQh9HrYyDF","tlshash":"68e27eec963c967336f12d686d3a9ca3f33c34137c1980d463a3b9650aa5ff49622953","size":32154,"data":"","first_seen":"2026-07-24T23:32:32.638488Z","last_seen":"2026-07-27T06:01:16.383092Z","times_seen":21,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/es6.symbol.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"bcc8ef4a0816f8103259e11b2a5c0b0a","sha1":"8807e5e6a11f5abff580573ecdf64607ecb5fc14","sha256":"8c1c3b0af915fdc4ab284bcc66ff9a204cb9c563ed057edc2b660a0c01ac65b4","sha512":"21208cb55ad0f7111f46462eb9316e3ccbfafd5885f994372537a7a6b4be52f48762168405ce9934f8f604d20c6e9847b8e30530ff6c86cbebba2000bce671b1","ssdeep":"768:kwKqqq6W3XVSpMvi8JzUKU0BdaEgnCOB/M5TLRU:rKql51StaBJdONM8","tlshash":"85c2f9c8eab0655132b51ac7d5dfa52a54caaf4205f5ea48bcdca1c11fb203c13bd92f","size":26301,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.097084Z","times_seen":168,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_fix-re-wks.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"4ab88b21e327f82878f79eacf363374a","sha1":"e8fd5c15b58e1ed918bbe6929d01d1fb11a0e27e","sha256":"0a3e7eb1b58bd78cfe99dadf107fa57b1b803b765ae0a06c6bafde16f0028367","sha512":"48ccb334840a43981ac99e374140c410d5e8b38458e150032d4e18e668208060881fa357ad073d8f137132a08c01ea102a33eed29f2eafd894c4a8156dfe6cf0","ssdeep":"192:t0D8+PeP0HiayDHJeQg58mBeT+E87DEbZflb4x0HBPVpJwV0L6yg:t0D1e+8WX0H1Vpwyg","tlshash":"ff12a8d9ffa171d23771256ed3cfa4e4009e6b0342a8da48bd4c52981f7642c26e8d5f","size":9409,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.165016Z","times_seen":172,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/locales/hi.json","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"51f3f8037d7754351c5881aec79f6d6b","sha1":"fe6003de252ffa65895c54f1c79ccd21bb7952e7","sha256":"5c0266489939437fc4e574989ab8188e79576c1fbb9ab6ecf85b6259200e1414","sha512":"83b7c7383b455c54f6951944df238e0beea99b4d7a89e827ccddf8e34845e66f671ee5947049aaebf5ee59980ea06d719ce5c6ec244ee27223f2fb579ea80483","ssdeep":"","tlshash":"a771361df7bcf7558decfd8672b60d768ca865b253d00353ace4f0910418cfa66262a6","size":3538,"data":"","first_seen":"2025-03-02T07:16:21.326309Z","last_seen":"2026-07-27T05:40:41.103254Z","times_seen":32,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/locales/sk.json","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"5d6370f6e595cad237492a62d71484ad","sha1":"24d1a264bf87f1b61a50107559dbe4705dcaa841","sha256":"2832123e30770c7e19386c0be4e0bec62b9aef0a117e62e32c9accd9107d3ba4","sha512":"12b31a9275ff6728ad4aa3e64adb27a2f46771777605ff44fd2c46e74f7d8e20e1564ce42c4c17c2a208b348ed4f9da8e68727e3c97046d32682ee53907f1f8c","ssdeep":"","tlshash":"5251cb7ae40cca0ec9a1de4d737d5eb10c9ceaf886c94752ecf3e418001a0f5b676248","size":2499,"data":"","first_seen":"2025-03-02T07:16:21.334966Z","last_seen":"2026-07-27T05:40:41.160161Z","times_seen":35,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_array-includes.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"239158c3fa05e2b221136586bcdd2724","sha1":"25abd1b8115e55b9612006e00895a9ad05c206a0","sha256":"6358fd7c87b9264b2f321070fbf6eedd1dfc5a5a03632a221628069904da89f9","sha512":"72b7484b1b94e969c08464db15540a82ee7bddc11fce092032adfa34aec44884d341d1477158d241ac50d905deb0994609bfaf14a6d7fe492e1d39ec4c0e2a3a","ssdeep":"","tlshash":"3051b6e4fff50464266439a67b579e3860ae5a5b8812c058a8cc8ac11ed3b3841fde5d","size":3045,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.032319Z","times_seen":193,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_regexp-exec.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"441356da3e1028598c5cdfbfc16f0614","sha1":"592ac2da510b8310f845b629fd82f2ddb73bbea5","sha256":"807ab71879799681525de387d9ee9b6719930f8a8751f275c6989cc105b8f788","sha512":"60b0e9346502636704bc0355d114b1195973fe0eb95b0bf5bf864fa9634be24731f135fc99b8c0f9ddc26ed7b50016b898e84b7cd181ec9e3653d4dcc4a07ab0","ssdeep":"48:PkdTwAG/t527fQpiLxe/wbYS4aFwD0EhsmZ0AQVdGGfvsPOAtryfb90tab0XLtyf:P+TlGT2rQpibYS4e9EhzCDnQORlM3Cp","tlshash":"8ea10aeeacb1269316b1368893ef809900c7ab0b92518f59fc5e12419ffb52c51fcc1e","size":5012,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.124829Z","times_seen":166,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_object-create.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"faca5c925a9395e7ecf4b42b1e5882d9","sha1":"2b32aa651be71702de3a0ce3ce77a93d097dd5ba","sha256":"7030c6c8727ac885cb3b8d314b16869cf581a4010a0c6e55ec7badde28095567","sha512":"367d91339646c44a3c8895c036801e0e6cb7ea126d206a6d73f7f755f707652d90590d51fbef5910c9f305d9bb0b54b3095586966438ae4eba106b161c285f8f","ssdeep":"96:fCX/HDbQ3NhVbEK+YhbvCEvB4nj1oBo1giIp5VZSBz25yUi:4HDbQ3NjVLhOE54xyAnIp5VZuz25yUi","tlshash":"88a1c8debd70a2813635a8dee16fd526dcc62782b854e58cc8cc81c91ef352c219d92f","size":4750,"data":"","first_seen":"2023-07-01T10:02:30Z","last_seen":"2026-07-27T05:40:41.017225Z","times_seen":198,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_hide.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"0bbc2ac0869a61a0b3bd88c7f4c475e1","sha1":"10fc15fde3676e04a4c0e2ca0524aa48523c7e4c","sha256":"f5397b809126415dda626e52fded1c93efe5a7d606466433418d36f26028d9d7","sha512":"bc40264e406d74f09645423f7b4dca091e7d43c2d8eccd6270da0b7e3a216c806e1b1272b684f36e722d89492f824c4636ab22191afaf9e88cf4566752e80d1f","ssdeep":"","tlshash":"7a21838fd5b5f05228666d4af9bad036a9cd8682e4701a4cc88d87c64c11a35257b82e","size":1342,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.179392Z","times_seen":174,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_array-includes.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"df3f65494333b18af104c0fc6124b9ba","sha1":"529f37e4b83bb1517a3e6b3345e36252e9ecb0c4","sha256":"9a13dbb84e6253b3bcaf731d6033fa9f59c572f9441d554420bd263dd3da6967","sha512":"358bafd50cfd1328a3872652739b60e9d02744949e9a7fd01ac1aa90bfa0011d5d27c9dfac96b6668c60f11365c6a6b46e7b37378877c24cd27a551a54462e7b","ssdeep":"","tlshash":"4951d7e6faf5506528747519fb476970b6ee1b9b404590087c8c07c02fe7b2c92eceae","size":2989,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.083092Z","times_seen":170,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"static.getbutton.io/widget-send-button/js/init.js","fqdn":"static.getbutton.io","domain":"getbutton.io","tld":"io"},"ip":{"addr":"104.26.15.221","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"bc3e8108dcd36c0d0c129a726dd8f47f","sha1":"db6320723c55ad91550a1ca87176058bed49d99c","sha256":"791450932271b1682c103cadb334baea8bf68100069c3c3eb317ed8a20098483","sha512":"821203cb21570cee7a989e40a417990e408949e7d239766562cfee62c0a0320c936bfbc8fcb2ecb35067ba1034eb7363d907edb72ccd878ee510640aa7a976b3","ssdeep":"6144:HSFryQhY3HpsS+U6qAcXha0oPKiqLVwoNbsR5LoQGnE2:xQhY3JsS+U6qASoPKiq+oNbsRFoQGnE2","tlshash":"53946de93290f0a653b352b700af240bf379641a785d8860a215ecdcf8b94ed513bf6d","size":442041,"data":"","first_seen":"2026-02-13T07:56:32.581356Z","last_seen":"2026-07-27T05:27:08.834141Z","times_seen":2433,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/embed_medium_widget.bf649ddba989a5cb7d98.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"6f5f7d95f02d072e9149a4ca1a5ce7fd","sha1":"0735d3b1022ea706b80d1280c79d61d4929ae72b","sha256":"6aaa6641a61eaaa1ff1a70e5b5f7bff69977d97c9f91d99677dae8ac7e5422f7","sha512":"46505d08885ff429f44140fe54d9b5fffda4081f4977e84faef0f668368b4bbc2bf273b0aa4c6083e03b82e0b3c3e87bd8a36736c2becbbd954676686b90da6d","ssdeep":"","tlshash":"75f0dc012458e4463a6ea0c2f2f71cb6c4410191361a5befacb8dd9ad192dc4b7cfafc","size":543,"data":"","first_seen":"2026-07-24T23:32:32.649332Z","last_seen":"2026-07-27T06:01:16.128211Z","times_seen":21,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_a-function.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"fdef868c4245e721cdf40ab83c6a52fd","sha1":"575465d5db7773e1a1c4f551af1a654c2a38bd35","sha256":"4c14d413a5580232cd50cd2cf499fc8d494fa62114ae828abd4b3467558444b0","sha512":"bc2eb3f8f9ba629bc6b6cb09f2b3c3a1a0c16b09875ba005748ca92ce7b457679f9f028f329d23e32fbabf9b1f43e8d6069a5800705f2c3dd416e17639d544eb","ssdeep":"","tlshash":"c5011ebbc1b325cb177b2e28da93c90e40b0b1c24462474951088ac33e77804202bf1d","size":789,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.090343Z","times_seen":198,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_to-length.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"4cf615f5be91285a5ad2e9e47978ba4a","sha1":"53c41b69c71b8faae7d14ca061552ba20da1ce68","sha256":"dffc1b64a4d1d6b57624857cc81987e513908f03a5f96f6ffd6d31d976f7bd3d","sha512":"4fa08b84951628319e1901324134148987d2f2b214534c0de54132a4db857c5f6cb9235d39e069b1b34663943f1b9b263c2d025400107108ba33f5dc265f90de","ssdeep":"","tlshash":"261186eee1f9128216752d95d2928c1989e5f9c180e70988b9dccaf11973d35517c90f","size":1083,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:40.98689Z","times_seen":192,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/css-loader/dist/runtime/api.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"8562f2ff18ee6f065628ec034f0d7321","sha1":"aa2d2860bd24705a8fa1e2b04c5554f81c6a9e65","sha256":"7cac8a66cc36493c517f5005b87edab664bc787777b3548b82c6ae6450572459","sha512":"e2ec252fdff857a5248aea1ee2bbe67440c5dacc15e9bb4d63c5867e2cbf5be72c2074e6ae87fe0ad87d58eb3dd225e1bc744dd7872fd155a658fd41129af604","ssdeep":"192:bXq8XQtcBoQhYeRcocEcCcNX5qb/8791Wn9Iva/HgY21uJXu:bjQtcBo8YeRcocEcCcG87P72HeuJe","tlshash":"53d1a9aaac7934667a73788b86cf41bd10955b438190cb08f41c72c43ff563916fae9e","size":6717,"data":"","first_seen":"2023-03-17T10:34:39Z","last_seen":"2026-07-27T05:40:41.077731Z","times_seen":157,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/83310.b995ac6804b2844d9f8b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"93d9421cbd613c344fe0d2304fc3f56f","sha1":"488c1099e8abbd1bd652f70a4a61838d0b67e451","sha256":"1db5831972e58d8dc696e62def3b0343254ce1fb96a088ca6cba4ac88bb22420","sha512":"4b73865ddf6a1691c2f219c408f45ed06d53e6385e9d8bf060d94f31f9f2902cb68383199c313d520a2ad7f35b7088b94661ec4290f35392d1a06713ddb8a5b1","ssdeep":"3072:1tp9AP81XDnSSgpogm3i3G3qCd3lnxEB6s7KXzR96wB6:1trAPMzSBpU3i3G3qCd3lnxEB6s7KXKx","tlshash":"3104d6963296e02213f185f908760442f31a7989394b85acf5bd9cd73c9ac4e72bdf78","size":178987,"data":"","first_seen":"2026-07-23T22:46:45.81119Z","last_seen":"2026-07-27T06:01:16.237212Z","times_seen":25,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/js/ion.rangeSlider.js","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"introduction_type":"scriptElement","is_inline":false,"md5":"b609397f34127faae547ddb1a11fad93","sha1":"3ddb2bab4340c8ee2c62e62521d55a4b106c8b40","sha256":"cde4b7053bcabb9de37b2ad3448c6c6878d15b9de2f8dac9895345d485c140ff","sha512":"105515d791800f7b1f6021d7a788cb54b05a5540a2a2239320e215ac3119d519af95f4ec25143c50d95b2006869fb9ddaf2e35b1906f79b9045d4a25ff332f18","ssdeep":"1536:Snnr2ubhgdn1dsuvYTHmf3xxwdxv9xwd1Ls4V:Sbgd1dkvwLs4V","tlshash":"b883d05a1b9a2251c532a3a89f0d020eeb36922f560341ac7dbdd3d81fb673451b9f7c","size":82633,"data":"","first_seen":"2026-01-28T20:42:21.533326Z","last_seen":"2026-07-27T02:59:54.606612Z","times_seen":5,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_an-object.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"11e56ba9573a2106cc874e40a05d9f8d","sha1":"6439108df1e5c0b22eeb034c4b5f6c3f900fce69","sha256":"295ccb2e7eab821e988758f2b0d38fde847cb5bd56d952bfd35796a983aa49b8","sha512":"8aab8228ca2d74f544c24ec94332fdb70f3276f0c58d7b21ee7bd1755b868b0c497f99ed98699faeb231abbdb835251028c258eee8db84f030600306c65f825a","ssdeep":"","tlshash":"391154ddc5b5bc8229766c02e251cd6b56e4ec80453196c1e2cc84c62c7392a26abc1f","size":933,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.161742Z","times_seen":201,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_object-keys.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"f42430cd01f3103ef5a22ad51054c922","sha1":"35e3f79cfd685d1f91e82af31837826516cc72f7","sha256":"82ccd2ba3d5db5b3bb91687e23c3bf21cfe3ea73335a9a6794a2e2addd9e9b59","sha512":"3e7e32b7cbe99646a5849080b0274394fbeb70bd9327709dbdd20f9326e46cf02a411a6618715e1de025ebaf58dbab1ba71f315a093b55445f7ec192d23edc37","ssdeep":"","tlshash":"e32144dd84f1da433872ec63f196c6b199ee56c184b46608999d4bc12cf3839a6a841a","size":1154,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.154212Z","times_seen":171,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/components/CoingeckoCoinPriceMarqueeWidget.vue","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"4659eeb71a88dfc41f72f396d3af1d20","sha1":"930210d7573ad594f81faebe6bc2530fb998996b","sha256":"97dbe98e3f2e6ceeca12939a8dd14da4784a4b7a6df07fbd80db08b75458d4e5","sha512":"35ae2c5d5822a6eafbe0232186bd10ec825e7cf0d20b5b9c2f687c62fa6c5f109b6fcff1adfca0a26e1414537759832fc32dcb90be6098729eed4fcb2a1d64d5","ssdeep":"96:N6Sud3+ORZrNjw91Fi5SjWhZnMnfDMiPc9Nupu2:N6SW3+ORZrNjYQAjwOfD9cypu2","tlshash":"7db1a5b4e075dcd6377a28d8a7bf8b9750d1374b4dc05908e80da0c09bb71a861bd7ad","size":5500,"data":"","first_seen":"2023-07-01T10:02:30Z","last_seen":"2026-07-27T05:40:41.015384Z","times_seen":110,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/medium-widget-creator.acae84f4101b42f4c83a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"1a3a6f6b5fa3ac49d3041777a05c4d00","sha1":"6f36185ce7c4b46b18a1f3b45ec078597274cbdf","sha256":"c00212402d63e94e4830a5474e400df48f4a3bd64e9753c9b61e8d63494d3067","sha512":"d6ab69c42e887e2c1755b516f7e3f38ce8f0bc550183c89122629fa03d625fb7350915ad17dc76cf16b594d0ea6b11815147544ea86c3a6e022ed350cdd2f7da","ssdeep":"1536:5U5XkOpmRp94W21iPgAmNy+PztsX+Sqy2QxvGg:5bOQRp94W5POy+Pztsufpg","tlshash":"08832954f092707252e382ee94771003e73a5a89b8494669f67c9cde6b9dc0db231f7c","size":85657,"data":"","first_seen":"2026-07-24T23:32:32.528697Z","last_seen":"2026-07-27T06:01:16.171841Z","times_seen":21,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/widget-tabs.5a8ac64e423c5b26985d.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"9cd39d09353a875ceaf0a5a8cb667f0a","sha1":"7695884953c7f8d55a29525cf317f2477390cc3d","sha256":"8b7585fd982d016e655fe4c370af7a457061c4857694600b2792f696117917ec","sha512":"79aa6435a1e01e34a529ba662d983f478862064b20c593d860773ab5f2bfcbbbd3cf9c1c11f912edf6c9875505324ba9779f80932f62a8351da7bb476de4a747","ssdeep":"384:XDPyYcg6ylabvcNseI1tw7lOf20Rh4441484IVPN3NC3vkdOYmQlnN/b0Aw:XDKYcg6yALcNseIPw0yVPN3NCcdOYmQk","tlshash":"28722aa3368a767bb29241ff50720152971e1005f90d88d0fae4eedeaf4e518713ae6c","size":16309,"data":"","first_seen":"2026-07-23T22:46:45.796031Z","last_seen":"2026-07-27T06:01:16.300114Z","times_seen":22,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.64200.ab448792a5f5659a2d12.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"48050b43eaef00a75e371fa106fd68b4","sha1":"112c735b884c7804b7df1c6877aac8660d451912","sha256":"d3aca75363ba83ed3318a5061efede6d47d0c2862cbc8d86ec98ce380a966fde","sha512":"35609ec14d6dfccb83580253b7b1929e1123659fc9871f89576bd2d77e6691e94bef1b0b4deaa0e6546443447dfa0bce818605cba533202bd49f28d96682c5b7","ssdeep":"192:/nyaXNx78Quxb3ZTb4UWVY0Nk+owmoFOnOX:/yIkbJX4UN0Jr","tlshash":"43d1b913d000c1f26fb2da167355efc9baf4b29405f1d4ca7729af69d21bc503469a74","size":6379,"data":"","first_seen":"2026-07-22T19:32:55.531327Z","last_seen":"2026-07-27T06:01:16.174428Z","times_seen":16,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_object-create.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"3bf5866e9364300c7b4af428f0992c9e","sha1":"242dccf0c8df78146bb6dcd25a10028a2840b85c","sha256":"1d0882183444c760d005c060457f341bd04f055acae7f7025b90f1d7069ad379","sha512":"1807103510d96aedb5a6cb55f27c7ff831a5bd17254ffa2a2aa7cfa0bb6baaa6d7bc4778150f3e6267f73b3788e3f56c98429b176e01f0c0647f1e13331a397f","ssdeep":"96:3CX/HDbM3NNVbEK+Yhbv8mrfNbPzO8+x8yS:wHDbM3NPVLhH1bOpeyS","tlshash":"dba196cdacb496522524989eb2dbd135dccd6a82b0a0d64cc8edd2c80d72b3d11a947f","size":4674,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.180222Z","times_seen":172,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_iobject.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"5efbbe6437691013894fbd6064509f7d","sha1":"9021a5f7f9d374f70eb373015a919d13added877","sha256":"29a8c7e19f34a95188ed7880b4d6e2424f2135be81f3da8fe83436a8dfbf301a","sha512":"8459b4ee30c68c8b7f1abd8185d7fc6fd2b9836bad7d042eaeb5c87725acc669a3c4ffc8a38eff267cbb342c3016ffd161613ed7d9ae936656134f712637e4a6","ssdeep":"","tlshash":"9121babd98b768a219b25d4df122c259a4d59dc2d070244cec8d8bf20c76a7d017953d","size":1204,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.014278Z","times_seen":172,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_iter-step.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"0db85fa8d11a8cd93a5b08d956eeb6c7","sha1":"f2a5aaea622d9a8314fd024e6ff6918547f1954b","sha256":"d5ee091d0afa5b4d58e8b51bae53b3ce1c1876b13d8808d698b73914e12f3195","sha512":"0478f098664835905f09438b76c28459457cc14fd847936a69575af226c5a4dbf2221332df680a706f1623f6427388a9775db35d2cde1906443c74539d5323c4","ssdeep":"","tlshash":"d001feafcaf125d629233f12f512892b8098684188394b89917c9e872826a113115d5f","size":657,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.079897Z","times_seen":171,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/locales/it.json","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"15e2290ae190268ed5df9067a3ec17f5","sha1":"9b187701d91c549fa334221e0080a0ebbd8865dc","sha256":"34edd773b8c485ad43042db54ecbf2ab56fac76103e8e9900c07d64d94aa6f1b","sha512":"3fc7a1e0d0040cf642d01d8c4e43250023ae0abf9f64ef89835b6b2b31ec4b9b69d6b567dc9539c8f24d8060dba6742668f704158a26566dc3006715bfd94f2b","ssdeep":"","tlshash":"6751947de484e64acea1ee09b1bd9cb15d8cb8f462d007a5fcf5f41800199f4b57ab44","size":2573,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.1041Z","times_seen":156,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3.tradingview.com/external-embedding/embed-widget-symbol-overview.js","fqdn":"s3.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"36467b799fea866531b4aeb7a69a8038","sha1":"d8322943c2ce57c5dd1c5104aa657fb2e165ff24","sha256":"5a9522299418e049d7156835fca6066edff28d8575a3d76c3057d2b703e5765d","sha512":"507b704388e0a57d6d874ea2a440e9d7a571429612723f1f9ee29503e76acaee6d56b2c63cfb4d1c56a8796faadbbb8456b23c4f9e7b7d5f35849db0b9914657","ssdeep":"384:gf6uCWoofYkFdj9uvb22tY6q6dr26aMVivSzN:uDluvb22tYN6dr26akxzN","tlshash":"9c52e86ab660dcbd51d982dfa07a2720b61e3944f203aca4b5acd4c554edccca431f7e","size":13375,"data":"","first_seen":"2026-07-16T13:40:49.793868Z","last_seen":"2026-07-27T05:54:29.878531Z","times_seen":23,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/_/translate_http/_/js/k=translate_http.tr.en_GB.0bOkwMeUhss.O/am=AAQ/d=1/exm=el_conf/ed=1/rs=AN8SPfpJ-b5RL7jX_lJQ88yeg6nAGmb0sQ/m=el_main","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"26f86c99bbd8caa6576e8fc19eeef21d","sha1":"26533f411d4cba2b0611533642214da03984a896","sha256":"57ccc245900991085c4bfc0c83100c6ea76ddf2358ada537a0eed5a30675ef3d","sha512":"ed0d9c406901532d357f63e72880f04a5aba090e9b76d65d72f22a5eb8c9a43cf9d6e5163e5b7da15fb85a32c1ccb16af2a7fa5ab4ec4ec810107236ea895459","ssdeep":"3072:x1YHE13TctCjMR+CszJWtC5puioHZLwG+VAYD0WF7:r33xzJ62Ga","tlshash":"d324d8d9b25270669263f0a6517f004bb23b6499f8484dacb68cd8e2adf0d5d0277f7c","size":212028,"data":"","first_seen":"2024-02-09T07:57:28Z","last_seen":"2026-07-27T02:59:54.587278Z","times_seen":65,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/js/clipboard.js","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"introduction_type":"scriptElement","is_inline":false,"md5":"e963a3a54c945172fb7e38363ecd26b6","sha1":"4d35a2c06dc4b693a6ee8d0e7bd111a26443b466","sha256":"0f8636f5d2d97789cbc649a667f6dceb96b2de0611829a4b4a79db2a56023108","sha512":"765919ffad50fc522dd396164e17ce5145328dedf76a18191f589b28a3a346ef6b4421969f13318308bc5c00cb60719dfa3b184bce56bf5ddb434d994f163a59","ssdeep":"768:7rt6qwdaBqMceqL8A6HJbv3Ytn0TSbqMce35VPDRRUXjIAjmI05Duv5gHRtjdt:6d5NQcH5VdRUXljU5Y5gHbJt","tlshash":"63d2758836957c718877b37b8a0b81cdfb76806b50195098bc5cb6e01f7c96483e6fac","size":30136,"data":"","first_seen":"2024-08-20T19:17:55.293719Z","last_seen":"2026-07-27T02:59:54.505814Z","times_seen":6,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_string-at.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"bbc51743a88d59092ac9d3a7d277df59","sha1":"64589be177f067df32c1a57c42e724da7da4b2c6","sha256":"5278425e94e6d32059ac80fc1010da5079865e231faec1548f1811ba89eb336f","sha512":"1b835932f89becb53407cee2e775d07b410d9f0985eab9507bbcc982ad7a364804d95c2a5c18706df03c2c2286a175b76f1dc2b92a97e5618377014f778c8269","ssdeep":"","tlshash":"8641b585eeb5259221743c0be64f9152448caf83b6d1d088f44ca9e06e5342e22f8a3d","size":2142,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.050465Z","times_seen":170,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/js/detect.js","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"introduction_type":"scriptElement","is_inline":false,"md5":"d524d3b4f074422418b1b299f0c8a37a","sha1":"5195ceb5b108e7a7c3440cadd18b278503905bb8","sha256":"dd1475779cbc7364d43209f87935c92ea16c251901a0e803e8588a0b9414afb1","sha512":"0e578bb7a3e74b699b118735b98d74129d10f55894e455df6bbd79d941a43a0342ec2791df5c97521721b23bbe5f7e8833da062b723ac05dd5d0b01e87a19154","ssdeep":"384:NictB2tGWDS9sXifWu2eqEQytKErjxZnuvE21v8lBmAcXVeJ0G51vvD:NB2sWgUeqEQycmjxZuftwEVQ0G5R","tlshash":"9a33011679aa219384b7f36d01a51e1af23107bf81cdd45e763d211a2f3c56e82a4fec","size":52259,"data":"","first_seen":"2026-07-27T02:45:25.202324Z","last_seen":"2026-07-27T02:59:54.511668Z","times_seen":4,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_string-at.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"8f217c4db56cda41596ba289274f4a2f","sha1":"e90627bb8825aed75e5deda38a0e4c609c968f76","sha256":"dd915b877f1a96a4c1b08778cb3bd2fb1650dd7dd752d744c0e9e84c3e1de905","sha512":"8f7b28288dbfbbc16e86f55697a6662ac74f69d1f35d1f4b90a39c8bd88814082d6b3723c892c42b32740180cfbaf139c8eeed32ee706aefdf831b81176ae091","ssdeep":"","tlshash":"c741b6daafb572513abd294bd15b80bb04c9ff4315c4c081f48c68807fb382912e8b2a","size":2186,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.136913Z","times_seen":200,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_shared-key.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"0641fb073429d22836ce110226cadbe9","sha1":"b250e3328becd62889b7e1f33c91b69252739a87","sha256":"258c30f36a07d5e767004690737572506af0b195b178ec3aa16b55668e21ecc7","sha512":"26b4f646ccb4e523b0283e31d340e44535b7be07ff35df3aae1f8d91170222598f4725d94ce5f18d664e8e9190c1d59d8af87bd69d3b18b07a99dcc0759eb754","ssdeep":"","tlshash":"c4114fb2e3f434ca29b93a8af892c91b458291c144364505e84c218b2db383a302ca1f","size":1010,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.117605Z","times_seen":192,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_wks-define.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"5c3d286f8b7c8e74f352a839434f341c","sha1":"ec57e8ea40be25a2bc99c3be9e518e9b4c6369e4","sha256":"e9e8869103a701cdaeca008868a2d6ab1c7e5ef86f4985354ef3e1771916dcfd","sha512":"b3e6978e48c523351b4858d8f4a60c8f9724f4495a5be8c4534f54523482bbc6c8b34279e260549002bf7d3d45a95a22250e128b16cd6ccea485936353ddcae4","ssdeep":"","tlshash":"0f31884657b0188236b92c9df579c52b0d8ba6c288a7a849accd05872de357610be52e","size":1857,"data":"","first_seen":"2023-07-01T10:02:30Z","last_seen":"2026-07-27T05:40:41.035999Z","times_seen":168,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_ctx.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"b74b483ab4118b0c74f0881dc5ea5c69","sha1":"9b3502de1f2e234fe03f6e74896cb6a07f408587","sha256":"a3ffc12861cd7509342fd11caafcbfebcd9f3de3af1e28b8a463ea8c0f689e23","sha512":"16e984553c2b4893baf747c288f7452d95b0bcbe08a77220527f4edb69754d239c9d444579d9fa69bf648af569f926d8889e717c5981616ca7d878be5780511f","ssdeep":"","tlshash":"4d31a6dee7e2b0a67772367aa32f810d506c4753006c4a09980853c06f3a518a2a9edd","size":1846,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.06811Z","times_seen":176,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_object-dps.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"c371a2c58fef581e56307b44eb1efa3f","sha1":"807c853e7a42b870f7df220aed6ccbd784877d0d","sha256":"517187a371f8577fe262e2d769938f930ddf1008e91142dbb596cf7fce2f9a99","sha512":"f96203c658d915bed13927d7f01a74663ef9f2755d911a03dd1c55155149044e14d27ea6dc6fdc282b91389245262b72f00a59e66dbbcecfb087aa8a82a7e264","ssdeep":"","tlshash":"cd31a79d89b0da6231a92c86f12fd13398cce6c2d4b0d24cd9dcabc54ca267d167903e","size":1740,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.172986Z","times_seen":168,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_add-to-unscopables.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"c0a054bfe7cf113327ca6d6042e52069","sha1":"79acd0ca1570bdfafbe7b5f3b374f2a5deb731c2","sha256":"5a002ec6d41e99ae403bbbbe7c0d112cefda59701e26e0d6cab415b7afef3689","sha512":"c118e7dbdcade6b5d2b3cefdb189906b05f2275aa64fc1ec6e2b7dfda22d4becc42fc166330de78a71ff6c66b51afa9c4c25f485e49de30aa6d6fc139f85a50d","ssdeep":"","tlshash":"4e2183ddebb03482b8b22d3de240506e4a9ca2a7845b20889c2f1bd19dd62342195a1f","size":1330,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.065615Z","times_seen":173,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/51031.535f27b776f394c7e43a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"cd701b7197ef255d09501c8c91343508","sha1":"d84cab0e7c13c5801a0a2c6df4aba3f32e6b316d","sha256":"714cb61cc6924e6d1e8241ff191fc5aeb03baebbbaa81c15949838a09fb406f6","sha512":"ae8f1406dc1e5c9e8082d922e8a0d6257582733129c26617fefb99243013fa5f0bc9eb178dd69665786b8fb7fd0b7ccdd7ed719fe60676564b82598253efca75","ssdeep":"768:CcDTi4tT8YE9xSrNtzDcsIj/XWm9hIz4dp9VUZ+n5Vz2mpehIeVeLh9zoJZemINE:hryj/XWgGET5Vz2mp9emzoJZemINyKfS","tlshash":"7e131a35652af5f79ee941ea543754829bbc00523444042876bccdec278caf9f23aef9","size":43860,"data":"","first_seen":"2026-07-24T11:36:48.046407Z","last_seen":"2026-07-27T05:19:37.114846Z","times_seen":789,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_shared-key.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"43344264a74ad500bed9b480b67af346","sha1":"6be304b727f797fc6ccaadc10fdf2bf122378831","sha256":"c8eafc56943116d0430b3f647109e4158bf299e5a3ff6cf146fe5ff742cde120","sha512":"08c089cd3af250f7c57568a2caada71cc0f144c10e5b2f41fdd518cc4daf5d4babd232280c318eaa28e2882069adffc64e7cfa4654c045a28ba747fdb35ff8b4","ssdeep":"","tlshash":"711121ede1f4b8979c766da6f84bc3766ccc81c2d4a14b4cdc4c52c34c1281936b942d","size":966,"data":"","first_seen":"2023-07-01T10:02:30Z","last_seen":"2026-07-27T05:40:41.092859Z","times_seen":167,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/cache-loader/dist/cjs.js?{%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%225c0b47b0-vue-loader-template%22}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/CoingeckoCoinPriceMarqueeWidget.vue?vue\u0026type=template\u0026id=60428174\u0026","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"138f4f96956c48f9da09c8bf52c2b6b7","sha1":"67638fb98fc44364c3bc7ecb7db60da376069dee","sha256":"d56c8b627533a5333e51a2c9811d1faf58949ffeaa1ca30270766eb1c3b08e2f","sha512":"3a67df59deb0b601d90666de14a680f28ab5ee5849af1d5009e55310fd48bc42d9564893882fe95ecdd2cb32680f73d3e15f080072eafe26074ad8cc9fb8a01b","ssdeep":"96:SajJHqfU35LSVRj9OmrWMQ1SlzzPhMnR2v5Vazk1ClD78jXMaXkNi6SBuA1KP+PR:HjJHUU35IpVWxoocaAoDU2i7RnwIttRn","tlshash":"9f8244d9dc28aca4bb17694bc5df81e441ae6b074e905e4c7c1cb144af7e21d12f8e1a","size":18266,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.033045Z","times_seen":113,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/CoingeckoCoinPriceMarqueeWidget.vue?vue\u0026type=script\u0026lang=js\u0026","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"fcc3aed814b0ccf06cfce7ef0da8bdf1","sha1":"b658b30a2f117d9ea90e85e93cc1f289208645f6","sha256":"03cff80c8109ec2c000da54ec4694d1e6b912303a76a4a12143c946b4f14cdf6","sha512":"b7999e91beba0f9de06dbf92b9d5c6164a0c3e4698663a8ae5b6bc2b8d31245834bbc04ad3a08dc1f51b2ae27c1ca961966ca97a5fcbbbb1a486dd0bd33734d4","ssdeep":"384:HcPFj62R7Bop93YkNZQb9X1thSZvePT0/PPBF+ahLsuz:H8jJ7Bop93YkTQb9XueMPPBwahLsuz","tlshash":"6db2d6a89eb96c9af721a4ca66cfc0d901ad1b0714559d4c7c1cb1d01fea03c93f8a7a","size":23851,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.111011Z","times_seen":57,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/snowplow-tracker-base.465f8af1aa72ac3a1c32.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"1edb2832b292eaf1f490fd35fadf61ec","sha1":"40184dc94dd19e2bb7b906af7cc99c694efae8d5","sha256":"68c5b31fb26ad1af6d37dc872285b1e5c9837fed11bba1414d053e93e3728567","sha512":"a575cef153e42834c4fe933e7ec67a2a5442aec23dcf472bb585c8da5b858bfac30b279e03691938a35400b286055406e5a9f34bd3d5e5c8b51f1dbccd902df0","ssdeep":"384:rNtq6SWGLOzCHMJY+Uhb7773Y6cR39CF0msq2k70wcWKd:PjSWGLOuHM4hb7773X3F0msq2k7jcWI","tlshash":"ea62d7887043b09a42d925ef986b5149f7380898740d84b5b651f8d23caed9f63f3ebc","size":14701,"data":"","first_seen":"2026-07-24T05:39:08.468159Z","last_seen":"2026-07-27T05:29:38.916714Z","times_seen":158,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/94708.73d2bca37207c67a41f4.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"eb8c592becd98b3361efe0b94719d5c6","sha1":"a0d1ee8521cfba7aa407ac50937aedd5f39bf878","sha256":"647fb8708ead9f5ba58a75d3b5e6d45f3df1f26a67f068d19a46752de40e327d","sha512":"27e850e1b55df1bfb523a33007db88c5bf3fca11c34b9f448fad508275031d48062410c7e49cd891d38f4058b2dad657828a8ce9f5a047b24a8804c477a90feb","ssdeep":"768:Qy2uEBDBP0oAifg+OMQjn3FMjhYVwPn9/meP+Tjwqcq8xGQKpb5dg+xU7wbwpEvK:k950TT3WOOP9AsqcK555x/dMDjcXRdH6","tlshash":"f4f2f917f1a7b46693db809ae4724213a33c18013d05486dbabc9ddd2a3f942b663f7d","size":35736,"data":"","first_seen":"2026-07-23T13:38:20.417189Z","last_seen":"2026-07-27T05:16:58.414957Z","times_seen":749,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_iterators.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"e2dd60e3fff8709c4e33fa87f58a15f6","sha1":"83ff595378bef8f57037f4a3c8f1af78bbbedce7","sha256":"96fd5668e214ae52262800c2a97d34c1d9f7331b5258722612bb6f46dc9ef5f2","sha512":"0a2ec1b73449ef31598d968bfd67eb3300afe8accc8afcef4c66aa0e740b250eff3334210a6d1c59eeae0db9bcee50d03008b3216338f58520c4f888bc9a0518","ssdeep":"","tlshash":"61f0c0ff95f634e23df90803da50489b4ad458c144a60159ba4c1a813533c10627ed1f","size":516,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.185814Z","times_seen":199,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_object-gopn.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"6b7e3598fe9e5085d075981105d609e8","sha1":"b5ebae09bf5dc1bb403c59e465791a03c25fb184","sha256":"b9978a7eaacdfe2d4920c3404dab10988f8400aad9c6dbbd3ddb60a3af4baea3","sha512":"7ecc5ee6ba2c35def02172e251b4830d68a78bf893bf459678fcb8b14d3fb0fa58b54e4a1e730d704259a9ed39dddbcfd72a1d79972d846b914c7ddb163cb0ec","ssdeep":"","tlshash":"502153dd89f28a222c326e52f160da369a8e72c184b08440dfec0fc15cb3a3d606491f","size":1308,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.052118Z","times_seen":166,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/65862.95764752c09f3f18f890.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"d5f37343643dde0b01c1d10dbbdb91df","sha1":"acf466d1f2aaa1c4e577a663cc0c197647ff1b0c","sha256":"ad4421c24189dacdd5b62aa07485176e838543c7e572a23a90b2e5d70b28c982","sha512":"b6fba60ec4a7056bdda7602c545749c4b49d93c597e471e20f312b470a5c949b390f959900f2267b02646d6ce1c6f9fcd1ebddb7b4fbc2383344305b5179923d","ssdeep":"768:8HXyKsaOA/R4POygg6FUOaovTBa81zNh3h6kIRdnNy84MnxbDE3xZwDZscCDjvFR:OWgDagTBa0zNhRIRdnNy84y4BZw1FCHz","tlshash":"41e2e892aa135c331ed5176ad87b3902d1d80679f5863c68bdf858de0d8dac070f355e","size":34195,"data":"","first_seen":"2026-07-24T11:36:47.857631Z","last_seen":"2026-07-27T05:19:37.070003Z","times_seen":815,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.94947.78350a9903056b993c26.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"ca07c1961f9b98a2b190f872aebba5c1","sha1":"9e765a84de461cb72d1dda1a992eb168a347762a","sha256":"a73e581e82580c634a0afa42bd7a8ada31e093c3eb60aa347c906aae841b3aeb","sha512":"a67762b341ac2d78faa332f26b523a96315b5af223ab2412020c2f5ddb5da9672e687275ff53b962f79998a9e3156f990109016fd3d54e511ff855544a441857","ssdeep":"","tlshash":"1cb092222060fc24386b140875a10eb268b822e5282684eebb2518442026a680900f8c","size":112,"data":"","first_seen":"2026-05-05T10:36:04.862254Z","last_seen":"2026-07-27T06:01:16.335674Z","times_seen":693,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.37865.20b9d74415d0cbc555a1.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"0c2fabc3396e5be8582753fb7259eeb5","sha1":"9f9be80b2e47b71f4a95d1ef08f0b8bcba675a79","sha256":"3d802cce803e2a48ba974ebb69c137b01bc6d1e3269fe9ea6868359596a30e64","sha512":"7870e826b15b8ea70cb5165f3b22490f02314e3db42eaa309a0c00da1a767ef2127a3ee12da295a7ded8028c919372002f991f8241ede562f840237d022c1149","ssdeep":"","tlshash":"a221592be020d4d42fb2ca40b790eee174f0716650f2e8cabb461f65c52bc542835ab8","size":1118,"data":"","first_seen":"2026-07-10T13:53:57.47428Z","last_seen":"2026-07-27T06:01:16.332284Z","times_seen":44,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/@babel/runtime-corejs2/core-js/symbol.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"24c384bfa52c621a881edede91d8f0d2","sha1":"9da8b816222715aaefe0db15e67269cf23858bb7","sha256":"94b469229bd6affe4bf66df2be667ea9668bc3c8c7fdffdca79d390acddd6c2b","sha512":"9efcec97860cdf9f55621cba23d2aca9c7e33b3953fcf316f42d22c3af046b7f0592fdc4f343b047cbffb2f431d22503429bb30a029096329686dfba94bc39a2","ssdeep":"","tlshash":"3b0183eb20b2592218f40437c5d048ffc6c976c352534c0abce812c33fa2c44a1e8a0e","size":673,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.1136Z","times_seen":165,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/es6.number.parse-float.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"d282d24556895fb1410567581bae5d64","sha1":"01dc933da629dbc63eb4e23895727f4712a90b2a","sha256":"c44dba184d56309e9f443fcb3d5fb7128b702ec3e372db7d9d04c6b8643baef4","sha512":"8bba9149cb260b07efecc90ccca006b71621919c268d3f58d1a42668daabdaf075f34fee592ec6bd17e9ff6e60b1ca125aa0eaa7dcc01917488f6fd79778e2df","ssdeep":"","tlshash":"712137cfc1f5358911be3e99dc7dda174a8f82c5cd20658ad86d5b4a3c8303629b24af","size":1166,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.098806Z","times_seen":139,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/string.prototype.trim/node_modules/es-abstract/2019/ToString.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"da906c289680c52ed9296df3b497278d","sha1":"e27d43fd703316dee3ac38bcdea1f61b8a82d176","sha256":"194b81e61ebb50e2e93a2d6e803e189309102f6d8a8d0f20f1439e1f0bf8176b","sha512":"9fe9d27f726fa15f47082d2a43130dc3547db2682c5b10968ee6ef62614034684f211f9679338fc08de999fc36c117b400cc079153c155ff8341c6fba571f1a6","ssdeep":"","tlshash":"8031b8a770733da61eb21dc6909d852e00cafdd2d1e186ecf45d419a0c7180406b5a2d","size":1703,"data":"","first_seen":"2023-07-01T10:02:30Z","last_seen":"2026-07-27T05:40:41.158694Z","times_seen":158,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/42288.47ecaeca1012ee3e1d8c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"146c86b697d57edadedb79e577a2b819","sha1":"fac3ccefeac950dd75b09bf983e4db643acb17cf","sha256":"e7c1e85bb4c79e48526d268113263cbed1b8dc51caa0f7ece95022ce45c6426a","sha512":"0c8f76ba43c26ac96ac8ce77228656bc32000075828146c8e3f5f6c8d83aa1124958db4a287753456a136751fe65d9fc935c7e8efead69cb7bc5587e6f54cd75","ssdeep":"384:IPLZpvbUA+tmPj2DF4ciyLHBoIUEDHfKXqEVKtwAqXrNc2G/p5RuePAU32wDP7Fb:IT78mPj0FHLHevUfKa+EwBxnJePTr6Y","tlshash":"a29219c260053875dddf6eef405b45ade33e243538055499b238adec02a9a5873a7f2f","size":20221,"data":"","first_seen":"2026-07-22T11:33:41.962494Z","last_seen":"2026-07-27T05:19:37.105418Z","times_seen":82,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/symbol-overview-ticker-renderer.49d2df56c83eb94c6f0b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"25acdc18d883598d132124265d090427","sha1":"7bb2a01af350d0995c135475477fee0f7b188aac","sha256":"6114b374ae63e38765809880020fc7b90b8684f8cef97a1363e68f6b0989d3b4","sha512":"a9a654bf7e3e7eb1e2cd239233d062de0b473ca75a6a1acef07490017cd90a8cb23481784d2e40f0b638e1c05cdefefe7ac05096bea2f5d26c6e939939b2cd5a","ssdeep":"768:h+RrT8XqfDRcBhtUqDc6aHTgW//P/0QxXGEJ7nZPzDpl6skgWrvFONe0Rm6Zx1Jq:MtYhyezFQRetnjMe6mBMJfHFv2cKWPU/","tlshash":"9213c61bb6a215b311db41db847a210beb3a52c5b04680bcb53ccdee17add487267b7c","size":42588,"data":"","first_seen":"2026-07-23T22:46:45.800012Z","last_seen":"2026-07-27T06:01:16.378838Z","times_seen":17,"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-07-27T05:14:02.664522Z","times_seen":5993,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_to-integer.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"aa55c40b12fa304288d4f13f27acae55","sha1":"ad49cf809713b144a01d9e1b2785db9af8018880","sha256":"babc36c3459ef2753ffb1aeb675175654d66dd2e5eda65f10e64f85fa8d69784","sha512":"6bd78c445242bb99fc9d0f518665de0502a5941bd61e99a307b5de0d912f18fb023c88e1d57d9a8b4d0c0573e7eeba53cf2adb0f64a6b5506f3ccdeb7dab4cbd","ssdeep":"","tlshash":"871144abc2b539cb06247e46d540dd1e88d0fac189664e45a15c9e433ce3c34713ca0e","size":889,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.129727Z","times_seen":201,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/components/CoingeckoCoinPriceMarqueeWidget.vue?vue\u0026type=template\u0026id=60428174\u0026","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"c42dab3fad20b01d61103986dbd84242","sha1":"9597dd605a2d8635a0ffd204cedf266850e8ce2f","sha256":"c64dce543bf07d314f1889804ae86e3bf95ff792d1495ad9e62d257e2ffbfd1a","sha512":"b98a3b9b6c0a373b4d071fa15fe852cd9507339494502910d4c5506d1e18447bc642938a7e60e5715545ae426677faa632b4f892f0fbd1cfa1eba89bc761c112","ssdeep":"","tlshash":"567120a540fdd9933a7ab4e9faf24d1294f866c386904a1be00dd3dec8d5078c1be91d","size":3511,"data":"","first_seen":"2023-07-01T10:02:30Z","last_seen":"2026-07-27T05:40:41.132912Z","times_seen":111,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/tradingview-copyright-data-impl.27f349a1d58483f27eaa.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"88cd75b972ac65ea66d51cca418cd69c","sha1":"f4df7f63194fb7a17442ba8c04e626440cdf7985","sha256":"c7c434bf3cf0f1b1f069cde14034f32a220711a98b1190aca13e5f5b85ad3971","sha512":"877ef0b222a370b5ebeef0a0b5ec62ae76954d81f00617c2c9a7f58e0c171a599cf35ae0ac615d4daec98634a6f67c438043e0b7342efc2dc6837666902e216c","ssdeep":"","tlshash":"1c712d9a2252a8cd2553d979cc3b05e5621fa8fc3a8f43e0f973cf30a0831d5a912928","size":3529,"data":"","first_seen":"2026-07-23T13:38:20.341671Z","last_seen":"2026-07-27T05:16:58.365201Z","times_seen":732,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/lightweight-chart-price-time-tooltip.8851a2d2e15db921d48a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"757ed2946b21e61564a4da18e9d01180","sha1":"97149aff850b9810ae7994448b2f7bd4b45eb236","sha256":"c05258d30d035ae4756ac196c67ee5427caf31927f72206e7a6ab791675c9e42","sha512":"caca365c37b1e7ce7285addfa949e9c8ead5d286ec92c6cc1dd43cdfaad3103511263a6b0f4e652dac2350b620da3490997eba059fbe74ed668abf3ec9401fd5","ssdeep":"768:O7dEIm90H5xGeAVMyNczONXgI5s5u+rb6tuEHvWWCkBcroDaP3:O7dEsxkVczrHregEPWkBcre83","tlshash":"66e20a73f25238b5626351d7226b5149f3602600b44b8894f1fe88df6ce499e72a7fbc","size":31945,"data":"","first_seen":"2026-07-23T22:46:45.932412Z","last_seen":"2026-07-27T06:01:16.382077Z","times_seen":21,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/js/script.js","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"introduction_type":"scriptElement","is_inline":false,"md5":"6e14b68ac409fd513426516919eee684","sha1":"51146d4ef07b2d475896159624a52d0d49734597","sha256":"4f7e1cbed1a810489a6ca110ab3a29392100ad57def8aae5094e886f6990dada","sha512":"9f122bc0802692d3ee57e3f485943889ed3ec97a05455b28e6d3ce6fa2cb6f2010f8fa98ee9f5a65ac9a2cd87417cb139a722edef7403678f15f6ba44a9e768a","ssdeep":"96:MrJvJriJ0lnCkX5QKHBHtR0JhI9ihNKXHV/3SmSIinQBMHAJSf2KBjUL:M9vJriJ0Ca5QKHx/0I9iTGV/3binQBGU","tlshash":"0ec12d0e2656117064bb3b7b8dab1448ef39107b80658350bdeca4f81fb4468627afde","size":5847,"data":"","first_seen":"2026-07-27T02:45:25.128332Z","last_seen":"2026-07-27T02:59:54.570481Z","times_seen":4,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_flags.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"b856128c0ff9ba867ed198da3246f571","sha1":"233c5ab78c67f3b7cc6d04ce344f7122d9b991e7","sha256":"8b211047aba9d712cce7240a730e344a5ab6fdd6b0e36f78c9d1440b86417c13","sha512":"b9ccb45a46c27d19cc46f166ee4fcbdb74787de3e4eb2c109db30b5e57d9b31daf49d9da40e393b547f8e4820c9851c6f8a70b0006b10ec76d012588ca50b5b2","ssdeep":"","tlshash":"4c2174eeccbaac9214663856c05f8454c6dd7af34684a68cd84c56863db3b2861dec0b","size":1436,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.143969Z","times_seen":210,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/webpack/buildin/global.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"954bed4f88b3a7b8b29429e25a1ec785","sha1":"ae3fd6a65b351eb733514e38d612d63a516e1684","sha256":"21e979278cc48cccad41d35bc1d055f55e8c2f062b0ba04678ef3a80d5cdb281","sha512":"ea841e69a01783f067e767f5843dc1915fe6ce139dd5507b02b5a03a3b7685ae221c59459b9bd48544198aa0599109b9ca32bf98328139286bd679d46059452a","ssdeep":"","tlshash":"1c31b6ff9ad631d56470391ac7cacb0ed0424b6087a99288e90e04913cfed2a453de5d","size":1671,"data":"","first_seen":"2023-03-07T21:51:23Z","last_seen":"2026-07-27T05:40:41.047259Z","times_seen":399,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_shared.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"e21419b0fd30feaa05b28c30fa3b8f45","sha1":"b2e55b8749fa113bb801777e9d85b72dc775417e","sha256":"e5f4218096a6fa8f92d133a6d7401b41f4fd0adfbedaf43c9d9698dc3f6b9326","sha512":"9d8d9959d274db27351e420f6770f02d045e2457a28c23e40d0bcb2c80dc156523e53e3060c249569b56640878ef5863d73921af7c97d8ed31fa3c17e6615c01","ssdeep":"","tlshash":"0c3185e66ab850812af91c5efa22cd3a2ec3a541846b150ce88d09cb1ff753810b9c0f","size":1750,"data":"","first_seen":"2025-03-02T07:16:21.264644Z","last_seen":"2026-07-27T05:40:41.109235Z","times_seen":65,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_wks.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"39a3c915339404301d711f910bbdd179","sha1":"adc8b27344a3980505b734828d5321f167e47304","sha256":"a2c3609f5495b653f8330ff88f4fff408d75e50301aa21c891aedb10bdbcd9fe","sha512":"0da47ee2f3a2d553ff4b18b795b90d6a27e766a94c304a0949d492e8231a68199d822b01ee65892a9f9735ba0be1b997b6fee6ef2464f12b73f979941f998cbf","ssdeep":"","tlshash":"a531b55fa5f170e266793e4ef527d62a08cac290c0a964099c5c0bc20ef793811a502f","size":1511,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.036712Z","times_seen":174,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/web.dom.iterable.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"117aa0a261374fa5c2efe3a5a4500b96","sha1":"acbb7612a777b4224467835f96e89fbcefd69766","sha256":"a932c9689acba7464b6d4f23f1c5ec6cbe7245b096b6c4f249d99343c5e83d86","sha512":"0a55e1f49f2b8beec13e10239f78b9d044d244a7ae67d478c08bf6e14ec66e1ba3599251778dec37c52b4fce49a40ccdb717594e90fa5ec7a824d1ce5b0dc13d","ssdeep":"96:FGedEh0IQ9wMyoHkrmf1BDTDbpfRMzf81q16rnG/MxIO:H+0IO7yo5H/d5+khG/gZ","tlshash":"88b10959f9e0213964ed28ddc64dc32222a5eba3d0989588c8ac91c07f7737523b8cfd","size":5582,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.173803Z","times_seen":164,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/actioncable/lib/assets/compiled/action_cable.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"f2c8f96395ea0f3a40d4b9ed31b403f9","sha1":"6d79f2dd3ee1fd50732f9d7d49b6f8af428780f7","sha256":"72c3e1b737113840b27f5c0b8512602157d15813544dbebac8353d3db5eff428","sha512":"0487e293c92bbfba22ed64c1597c7d918c5590d2691141973504f94ac7c039138630f16eae6b1b0671ecc6150bae2b5989b39cdac17a7f70ec30b86a14ee25af","ssdeep":"384:4eCqGVefTySzhu2Sv+phS/TZbOMwXmHS7QnaHhwpc83eZzzG+R521Sb2qZ6WpKlx:x0EySbpkbS8nohwpc57tbhhpKjrj","tlshash":"7233848deea67c58bb43319a5bcf81cd507d1b475181ca097c0c62d04fba35c52eaeba","size":53798,"data":"","first_seen":"2023-07-01T10:02:30Z","last_seen":"2026-07-27T05:40:41.123206Z","times_seen":79,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_is-regexp.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"86168fc86022a95d946354c30e74faaa","sha1":"eb208f0c3de4ef8c45ea040b71fd497cfe1eed72","sha256":"342cf1b35a4262302515618aa188d4d00a4d4f077a8c6b86086f9653242b3e3f","sha512":"dae301b4913b4e449ad450a6f304f9f20504e9f2c829ee96dfc72e96730450b75eeec5bc9517ef095c4e94133fa2c4f796da86a863600fcfc6ce72e1a942b242","ssdeep":"","tlshash":"8d2166edc2b4ecc210783c9cf2f5c12648cc7ec2c9706685e6de06c52d6743a51e942e","size":1348,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:40.987783Z","times_seen":142,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/locales/nl.json","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"9dc0114377e758d995013fb4a1f633ed","sha1":"0a99392caf9e8fa4eff7918de266dc8e96d97e45","sha256":"d20165e0fd93ddbc8544e46cfc6ad79517b8ae5fa790fb883c5690f7423aa1a1","sha512":"e3fb9d3e57dd52c40874b047600ee7b068cde231c20b8214156456a7b8c91e134250a5b9a8f0531b828d542215a2aaab242f0bb5d1b252c7c1fe9c0158a83a9e","ssdeep":"","tlshash":"f7518caee484d41fcd91ef0a79be9df24d98aeb825c1035199f9f10400ab0f8b5b6589","size":2561,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.184218Z","times_seen":151,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"tvc-invdn-cf-com.investing.com/tool/1.12.10/charting_library.min.js","fqdn":"tvc-invdn-cf-com.investing.com","domain":"investing.com","tld":"com"},"ip":{"addr":"172.64.155.105","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"8c276b5c968c702c688b83f80b61109e","sha1":"cddddf03b5900393d9f62db6883fb1155f7be285","sha256":"5aa7a7d6a9532424033e81092518d33b4be4a251f9cd7e1cfd2d9ca8e4064c5e","sha512":"b1d85657c5e504e1b79275d861685af3e897c76428e5e5d53406b7553e93b79b4744eec16fae8165142732ee336640c26b0a9d54f6efa92203d8cc04999fe904","ssdeep":"192:9337kYFUdQ+lr6lw2rfnJ8NRLP6tyPPv1idCKuv/ISJhv+HIhJPh3F6R:VkYFUG+lD2rfnaNRLP6ty9isKQ/ISJhm","tlshash":"c2123358ed2479320acb40f4427f290f9235d278d84a44ed3d84e6ec59fd84ba96fbb4","size":9902,"data":"","first_seen":"2025-06-28T04:54:50.174655Z","last_seen":"2026-07-27T02:59:54.569529Z","times_seen":9,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_iter-create.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"d1f6b7b2f3830b84eea30412548e38b8","sha1":"356da2a33ff356e9f8415d53a9eb7c1d3e320255","sha256":"2dd24e36992b183615e36d867aa033b19fa18979d66d3c1419973ee90f1406ea","sha512":"d9a8e11484173e2ab44beec98dff391efa869edcf8955f58e04e07a9a6717cb8883de0fe336c8980f21b4e4d52955cffbdac63a499af85e9a91f29ecaa6e1952","ssdeep":"","tlshash":"9a4173caabf094911ff92cddac32943b18c5a281d192598899dd4acb8db303963b642d","size":2151,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.152691Z","times_seen":199,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_object-gpo.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"220830fd3547d1ed888d87457e799ac8","sha1":"6b2a6afac679c424c1006a01015dc69b9c523a2c","sha256":"e678621659531c3e09a99642756c15cdac0aa1f477ccd6fc8a67fe7e45ca8552","sha512":"78bbfcef2f9fd5a332d203c067f819b5213a5e0609f900e502520c1746dbcf34c8f8cd5d813a6160a800066cfc5c673a1aab02c70a84e9a92b56c0841e558a78","ssdeep":"","tlshash":"b93188dde6b1a0d125766ed9f015492aa6ce77c7e0d4c688cccd81f10cf783e216551b","size":1876,"data":"","first_seen":"2023-07-01T10:02:30Z","last_seen":"2026-07-27T05:40:41.081471Z","times_seen":168,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/components/CoingeckoCoinPriceMarqueeWidget.vue?vue\u0026type=script\u0026lang=js\u0026","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"e4472fc154bda9c761ccfa3afc541ac7","sha1":"ea407bc5c7c56160b4b4dcd591ebba310723372f","sha256":"e2e6b75be081bcf2750592832f65868dab470f107f2dcf8b46ea0b81bda104f4","sha512":"1b9d9963ef106dc62a74a1bd25b698576a0d146837ea14331d47817a0f63074acf3b3c1960a6cbe78816842626599c23b03e54a907e0eb8001047732cd1d25b8","ssdeep":"","tlshash":"bc5164e304bad8e73abdf8e576b1cc2504e95bc640a44901f10e52df88c70b495b666e","size":2650,"data":"","first_seen":"2023-07-01T10:02:30Z","last_seen":"2026-07-27T05:40:41.076157Z","times_seen":111,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_string-ws.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"983439226e3f2b21907d1a05306cdea8","sha1":"bf6c11b4dad5f8f5d4e71c572305d3d332599906","sha256":"ff754cec143862f7e57fe70826365e5a3ebfef9f9db75e1bbe688f923cb2efe7","sha512":"436f6be2d23ea058a1b0564fc0b676e7b89038e4ec963591698dedc8e663ac8b1f00f1d7b0819ed1627d66a89927af7629c35fe00b80a9e723ae89b850b00227","ssdeep":"","tlshash":"5b1140efcca2dce736217a04de835e2ac13815e3b640d708b1c577821b1960491d146e","size":877,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.001917Z","times_seen":159,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"about","addr":"about:blank","fqdn":"","domain":"","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"scriptElement","is_inline":false,"md5":"dee5393ac740ca6992d3df2d425b3220","sha1":"4c4347db80059440fe90f9c1379cba344e5a8859","sha256":"86b79b9a1eeadcc9f7d16f6e21783a5c6853a15f7350f987ef32d928d1263366","sha512":"4ac519bbe69308f918f875341326be14bb9cd7371f6031a7fc164365699ca655e8bba8dc71ffae99bbf728e84011e94e8374a2080108ebd6a7a7cf260b720261","ssdeep":"","tlshash":"44d023a96cb584306598018e10fbd7d9367031607b127504c2ddcc2f7e11fd304b15ac","size":217,"data":"","first_seen":"2026-07-27T02:51:27.37586Z","last_seen":"2026-07-27T02:51:27.37586Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_to-absolute-index.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"e05f6e0b04d636224b7e408978e8f436","sha1":"14c9343fe6297d2c0471cb2983c7520d011a5f10","sha256":"770b4bc9b32fe94ec2ef2d4037093b0c77edf544c611aa98bf322570cbc50417","sha512":"8c02397c1fcc94905a88bcb5c8c06547dfe6cddbde04865cf43e1769c858cadfe625734129e3e5e7a0bc1530a547569858e5536b5c4cc9e5708dc775717e5fbd","ssdeep":"","tlshash":"e011609ec6f615aa143c3e66e120cd778adeb6e245d644cde94c4bc02cf3c2560eea1d","size":1103,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.148984Z","times_seen":168,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_parse-float.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"8707c78f2cbe1d14bbce44c46a73626f","sha1":"c0b8fb6e16ae3878ac6f2c184329a37153fc4615","sha256":"db5be1d0252d1590624dfef737dbe9f3568f46c950d18725e7db007c0cce2501","sha512":"60d50c5a76284cb853d184413a7da592170e6d5121384c7406926dec00a20f87800a814a6898b11460a5c156a088581651de2474c63e485bfccc53ea5e5b3f04","ssdeep":"","tlshash":"103153cfddf138463d7c3859ea9ea3320c8e86c150a85598d8ac03de2d8283d58b645e","size":1531,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.122375Z","times_seen":139,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/util/cable.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"b1c0ca957b1157a56482c6549976afa1","sha1":"f3fa44cc4edc13370a06464a6b78d0bb2c3ce0b4","sha256":"e2211e791002feb3e4773bdbff34220cdb7f4a10bedec34b9c2dd6aadb59631e","sha512":"33094f78d1765f02122b5b1626ab5d46d8926bd3abd393f3ac26455888c90b7e46dd20b0d6197881cc2d4b09eb6f9c803a43faa103c3f602fa9ddb233a7254e7","ssdeep":"","tlshash":"4d5193999da07c47ba96f4e754dfd6a542cae3038054ad8c38cc44805ff168c95fbe72","size":2933,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.086732Z","times_seen":79,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_to-iobject.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"ddb7895626f81573602ecf539a97b406","sha1":"5a6fddd3362808bcbb6567eb27a98cfcdbf2e258","sha256":"9d39d2aabf13e4715859229b5293e991af3015b3564c5c129f90ba44bc303aa9","sha512":"df1938b8d65d2d3afce55ea48c36dc50851bf14e9c3b65a1e17ea4d1b613fc2beba6a85b3c99728dcf86e09fb50449d1b342008dab7dccd76357a2b4ac90c317","ssdeep":"","tlshash":"b221448ae6b098c622b81c86f4959d2ac584f9c28936b805c4dd8ec75db34385099e1f","size":1157,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.169909Z","times_seen":196,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_enum-keys.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"975c2e96e977a45b7003b224f67e69a0","sha1":"87d8efc1a77dec8837c2282befb1a1271c544912","sha256":"003afde10645040b536cab5971d4c083261c00c231f214344a20ec58def96464","sha512":"ecf11ec124257b4a58810a19e28ed537c637fd1ee48856abbeeefc5c7c933a09ef2d1a6bfdf88008973809492ad5ce5b8d31abe0b9d0e55a63fb19e520a07849","ssdeep":"","tlshash":"2941948d8fb0948239781882e5ab886a58c5bac208adc945b5dc94c31fb2038545fd1f","size":1897,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.078624Z","times_seen":167,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_global.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"c6a6294863f39018f003181b8110d1b0","sha1":"0108311320ffdac1c86eee619e4362dd0c2435cb","sha256":"93da72fa97afdf6e9024e7a7caa777fc68a3f1bbfc4f2b12dca83e5621ac74aa","sha512":"cb430207e3d026745549212d0f8934216e5eb7e4455956c34b575b93fc7913221869b8a7a72d54e32037d47149f7dfde6a186d8a340c9bed34489e0836b459d4","ssdeep":"","tlshash":"aa21b8fb99f138d811379e0cd753a64ee101aaa3c698020cc13607d1666fa37107ca5d","size":1329,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.001176Z","times_seen":181,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_iterators.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"5ae230bb7c42e492d320db27a0715e4d","sha1":"36c2f894643a4f1c17c44a23add26797c4a5160e","sha256":"98df5ba603d773e5f8c0029edd3a4ec5836f770c06d2bfe3420fae256b3ff3bc","sha512":"4dc78a22bbda2d569be5e30975cf2810a198a1342418e8366014fb9a035de8bfaf9f066187eebd843bfe80590c28ee6162c7ed2c1cd40403501e5132acaddc21","ssdeep":"","tlshash":"83f09ebfc9b63dca65362f19ea10885642986181dc618104e09e4f577c1aa62753492e","size":488,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.187386Z","times_seen":171,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_inherit-if-required.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"5b5b050dd8ca655c098b53f5c2b5831d","sha1":"4ea3597e89db70b95b3790100e3f73332bd3b321","sha256":"520fc1e1d289b19d9df9001294c402c6fa6e62edd26ca60b02a664ac7f307392","sha512":"fe81870df6ee5110adf14303d27c89d7d132ca7b53225960a89a5a7132904df975916afa22b40b1655081402451a4ae5e9175e021b8949fc6acf876d320d6c21","ssdeep":"","tlshash":"6831c9edcaf0a4f221701865a16bd42b5ece53d3c4e0cb88d8cd52e11cb3538524a51f","size":1454,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.038857Z","times_seen":167,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_object-gopd.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"f85abb3ac57e4089326499f73c8fca21","sha1":"c99446c7bd80154c64dad58a07e47c23b0dc64e2","sha256":"753e5dd26e8b4ed476eedfe4009492b31810584907344eeecc5acb0ae19bb65e","sha512":"b2601290afaa501e59d106fc984075102b99afd2f0e179cc4280b992633dbc31050017e0ea3b6965f6586d71de01ecc5d475ff8a4659d30c9ca987f4e9b25d8d","ssdeep":"","tlshash":"de41b4cedef0a44305382c89f57d92328ecc62d29860b589e8ed46d44ce303e97b842e","size":2372,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.030166Z","times_seen":165,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/locales/ar.json","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"2c52219c2383266e3a9fa80b388d1bf7","sha1":"6d943abfca2887ecf1bf12cbba6911a991a89901","sha256":"fceb3c589ad076148c6bf76e4c7bd2bfe94603bc4ecc963be0094535af2db0f9","sha512":"096727dc4ebf5caaee329c4ae1403bb7d9e99114431dcfd0ae6d875beef7122f823e410c96ae0f9a46f2c6ad58a2ef344fe228c37f3a65218e45745f0b5bbb72","ssdeep":"","tlshash":"d9517bfa6854c41aca94ef0ef0f15db4de756c7246c1e722bcf2ea14400b9b2a36a574","size":3034,"data":"","first_seen":"2025-03-02T07:16:21.166347Z","last_seen":"2026-07-27T05:40:41.177027Z","times_seen":33,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/locales/ko.json","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"5b3f3e461fd14d254616c3f3f7926a97","sha1":"e51f5ac05b4eeb7ca9612d05a338cb068d51cc10","sha256":"821824f92143ef446ea3d34c684e3cc4c3945702db2bc978f2e9fa81fb1f3c59","sha512":"facf9090f7514c616f288669af7f46d42cdcf3d1b2ac0e1c6a130098780f637743d6ee39402bcde38f7bdea1ee97456d33604f575a5da881f5ddcd2c884e270c","ssdeep":"","tlshash":"6451f2299c98c60bdee0da4931b95cf08dec7de4779103566df2f50001296f1fa762e5","size":2449,"data":"","first_seen":"2025-03-02T07:16:21.191937Z","last_seen":"2026-07-27T05:40:41.041211Z","times_seen":34,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_function-to-string.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"67739966b4dab1a25f66d975622c18e7","sha1":"9c66f0b3748dfa3cd23b507f320e6ae899050ab0","sha256":"60fe824d754924c15f87f0ffb2786c6ff34e15380c2e0f2ddca7611895b00691","sha512":"6cce85bccd3525e68a8ab26564fcd9feab427eb58bc4042e3ac21954ba9abd879aa0d48a80509ac7e92204959839720fe7f42701ad22894d573555cb62207221","ssdeep":"","tlshash":"aa01206ed5b23ccb18bb3e18f9628816455850c1c8612044e49e87ce1c5ec6635b5c2e","size":736,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.141619Z","times_seen":168,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/locales/fr.json","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"ec9260732b01d905e11a9db5fcdbbd98","sha1":"f1def6c193954842998c2cefc7cae2de4a903667","sha256":"1010bdd41b79d0c448bf1c090e5fcde8cece7695a8307a37c31197224a76a3fc","sha512":"4825cc39fb56fd3ea6e694e0c4453c3bc55ea32fbd150bffe92cd1a946f401ca1d12abe169dcf8101157956939105df451717c70e41d613f19c8734c3ce4c03b","ssdeep":"","tlshash":"4a51ceade4c8d84aca54fe0d32be4cb20d98abf491c0c76599f5b404001f4f6f6762d9","size":2574,"data":"","first_seen":"2025-03-02T07:16:21.304698Z","last_seen":"2026-07-27T05:40:41.084798Z","times_seen":31,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/23743.4733137af2f232a6a34a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"0662db7d4ac07059ef6d238a7fa48e27","sha1":"736ed22fb893e48eb48b0150ec68ee0e3c69c7b2","sha256":"af1154bdae13a0f96f45923150360a2e20a73f83a62d0d671a137604a1ffe7bd","sha512":"d0f916877c8757288f5d0a63c009b2a6c596c888960ca29b3ca6ac71f629591e473f08f48b89b10d13d074a78ffe51c1cee690861938863df5a0265605fd6df2","ssdeep":"384:9Xwl5lUwL/+MbKlpYZketvNCY7hbyc7KukFhX3ma3anayRwsix6udtd4MkiAN:9Xwl57/bYCPzCY7IgNWaayRD06u3SWAN","tlshash":"739208723591307133efebeb5096041cf330b418a94b88e4b1e9689d35e26b461b6fde","size":20578,"data":"","first_seen":"2026-07-23T14:00:31.578797Z","last_seen":"2026-07-27T05:29:38.674356Z","times_seen":76,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/es6.string.iterator.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"4f1c4e876c3d4b6ece9690b9e4303baf","sha1":"56923df837f4af97b10fd804542a404d8f7cf857","sha256":"4aa8b9a40cbda4c40855b320d3b177e57d7d7810d5e1941b0d13d51c7da0ea24","sha512":"a0a5eb542fbf93927d279e97a39ecd3fb3831cbfcfedf712f65cc6380a06b3415207f50a9a38c5a1898672aae30e913ea18af372805de5cb78b8f0d586039c00","ssdeep":"","tlshash":"6c4188bb6de41871367820d1d59b419e45cf6f8a8892c608f8ac41ce2f7343855bcf7a","size":2000,"data":"","first_seen":"2023-07-01T10:02:30Z","last_seen":"2026-07-27T05:40:41.108339Z","times_seen":202,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_enum-bug-keys.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"c66e4307efaa6534770a04749d11ec10","sha1":"848fb76e950bec97c165c085afb2687c00a455b0","sha256":"3adc35ea5250d52e41eee1015053e52d4e428716c0395a5353e729afe8b7eff4","sha512":"d55ee7ebb17f0ea8ac2b5abde62dac7fc78110b71049f3401b466e13a5c0b93ed32f4129561d8166ae8196d8225eb5fe89b94e34a737417b011c41b9778e328e","ssdeep":"","tlshash":"ec0196af40736fb71db7098f3516403356c260c990a2464df20c03762c65a5610b003c","size":851,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.085562Z","times_seen":168,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_set-proto.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"3b8858c2a5904bcaa263e4587195aa8b","sha1":"ff75cfb35fe949fac7b06a1fba0aba9774d4caf6","sha256":"a54fb686673cd8b0072023eb08e98b3f302dde528858c5289662fa957da89d15","sha512":"8a077751b2439889888f473ec209e163a24a33b0d7d4edeab0be73c8c9e676fe78f50dd46b484d8999736bd205f64d4e3428128315606084f1b46b80be25bd4a","ssdeep":"","tlshash":"4251b7cddaf550811235798e928fc196a7ec8743a1b1f448f88dc5d04fb703e22db92a","size":3001,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.183455Z","times_seen":166,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"binarymate.com/assets/landing/platform-tiny/js/chart.js","fqdn":"binarymate.com","domain":"binarymate.com","tld":"com"},"ip":{"addr":"172.67.160.195","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"d6a1bbcfea51b90230c8693bab5c33d9","sha1":"7f6a578def1b937d62bb1849871d63a7943a73f4","sha256":"9839eda0c1ae4e938bc1e4592b70fd70cd7f21a7a0c751d40743ef8e088ab35f","sha512":"a340de0a02c0d7e17315c90cb9a4fc886c4615253b8830a62e5783a0fc6ee03e5a0700395ae9aa4b73f21e4657193886f54853f0a471214a208b6aa03eacf48d","ssdeep":"768:IA+bGkw1msuAqxdcLB+xoc6s5z9DLVXz9GIydcEOpFI6NZWFcF/bHQ9SJaEI:Coc6s5z9DL6Sk","tlshash":"4a13a84a97bf1536e023312d6f4f2748a660542b0d4aeeac3d2c63e05fa453a15bdfb4","size":44839,"data":"","first_seen":"2023-03-07T12:40:40Z","last_seen":"2026-07-27T05:39:37.029707Z","times_seen":77,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_core.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"47162a68e85bb1ad631372c78be3d576","sha1":"c64d508fea11fdaed882a0119d9e88bf92db9467","sha256":"290b2639afcdc56d62e4abe182277060697e13c46e20c8bf62a7a013a9e52893","sha512":"afdecfe77bdd88b4ccf32e64b0fd717e0acfe21b8831359e470d12cb5a022b4bc23b56401fb057f8a5c57fdc70fd73a7a5955b37a37b5e584182659e7ff3cf15","ssdeep":"","tlshash":"330110fec0b53c921fa71d4af95393b3b9c450c3d0a1465dbd4d46842c17e06b5a9c1c","size":717,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.075374Z","times_seen":155,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/node-polyglot/index.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"288919505aa224848a5be02ce6907d82","sha1":"d350e8041076180d36e3cd8faf2c68cb1210b150","sha256":"d0b83a73e4e12807936070da56a53c9d9c8b83c1afb2a18bc254058d1521568a","sha512":"34e3693509db6372f78321ce05c065eecbe0c81b87cf9504941f490747372121d63e41966c94e0e9c52c6c4cce93f2b567df2ae94b25549c53fda0f95e497512","ssdeep":"384:n0RWnGmOzl2MBbBMqiJ8SOswJlWIm3sD3Act6IeyxZotqRezwoj7GYFnz4Nc5zHG:n5nGmOzWIm3sDREvOrS5rncV","tlshash":"41e2f99eed5420e3696536c682cf9aae119a1b07b395df0dfc0c51803ffa51c11e9e8b","size":32584,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.009266Z","times_seen":158,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/locales/hu.json","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"0d8ff624150630e3a6dfada6c126f564","sha1":"8e83e6735a1d58e9682207e11c0e1836e117f538","sha256":"bf294ecc129377edd78d0ad13d8a3510a428cbd6b0c1572236fe75570d2b26de","sha512":"1d3c2b45a27cec8845520add5bb623f43e6b09fb063de6e3de65ae63b29787fe39c284b8436ad44b17a6215515b9cbc24b544c5cab84aa130720357a9b2ec159","ssdeep":"","tlshash":"a851ffbbd441c69ddeb0ce0e70bd9eb14d4868f8a6d2175568f6f40a400e0f4faa3699","size":2708,"data":"","first_seen":"2025-03-02T07:16:21.199926Z","last_seen":"2026-07-27T05:40:41.055424Z","times_seen":33,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/locales/uk.json","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"52123e597fadf7cd9da2b16863509baa","sha1":"30203ac44b7615421af09effe78876447a26a551","sha256":"2ed2826a1a9775f40e9343438875d12bd08b06d5b823358b8f7f2a76a9ab2ab3","sha512":"d8ad8c856b8c4950917aeabcb6bb33155986b455b56a5eaf55a2d6079566cefe4f125149c183fdd42177185a9e01d3e4901aac19ebeb09df756977b98443dd1d","ssdeep":"","tlshash":"ee61dc6af988cdefc583ea46b4396e716c95a4f432c2234739b0bc2c40e7074a17c788","size":3365,"data":"","first_seen":"2025-03-02T07:16:21.25989Z","last_seen":"2026-07-27T05:40:41.087711Z","times_seen":33,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/71300.b6709433940339dc1f66.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"d8f9f7ef5d2921ec32074cc5629c1375","sha1":"c3aff546be8fae00f5a1b79d8a490808c550eaf8","sha256":"fa99b8d00142e15b2d09ed92ea6bb567d8acf4b78063ec4f04d83730ab1ca8c0","sha512":"c54a0c1264bba31c163afb23bc2089b18cefd5afd940654917846ca2f7a68723445158a37e549896da3c168ceee1f0f91ec1dcac42588b42c17af2f65b5f31a8","ssdeep":"192:UjVVvpKqnqjUj0oiXHi7/viAzvpaNNi3S30248C:UVVJOowsvDYi3","tlshash":"64f19695b0a1b055ea633876407f045ab37e2a283c0dc5b47362e8dd78f859cd12bf9e","size":7974,"data":"","first_seen":"2026-07-16T13:40:49.865748Z","last_seen":"2026-07-27T06:01:16.110965Z","times_seen":34,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_redefine.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"d8f882c5c01f2596f9a4873c9bb4320b","sha1":"12437a528f2e0a93cd14e3ead84ccaca0a9a22e0","sha256":"29099c6fe6f0d44c6008990b0d66b4b3e6bf2269e6528381a81f6709cb5850e1","sha512":"97f69325c1932678e9f049395935945225d18f996614b3898451833572159f1c1aca2b16cf9819177549034a911ebf977033130e86605cd9a78a8ad758a28a67","ssdeep":"","tlshash":"07f02daec5f42dd216b61da9f8b0847f0ac6a2c388714988d9ce02831c5383130a701c","size":618,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.09118Z","times_seen":199,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/es6.regexp.replace.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"005a3d074285db259aa7a25ea2eb76ed","sha1":"7d99bc640f0a5446cf4a69b161f0e9980303760b","sha256":"77a66bf26f5121a67eeaa429569125d67d2101cb4f653e96db64ab81167b9b4b","sha512":"d0ccf998fb9b87eb046b78c77f47cf631dfb855d16f3140b01b9a1fa0dbdc11f01630058cd3f50b0672c78f21751e7f419462adde22f06f8e6669b1280c5a957","ssdeep":"192:WUmVuLyZQBKJyo7yuoLa4E8QT1d/l2ZG1NUClfi/UcX0:WUmVu4SN91/Cl2ZG1+C5iMcE","tlshash":"df42d8eefe612c865f22368983df61d505ae7b135484c944f85cb2405f7243963eceaa","size":12747,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.138584Z","times_seen":165,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/es6.number.constructor.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"d59d3658df7d97b2c8c49279d15bce9b","sha1":"5c6f9d92a93b26a27bb11887b281056d7c5d59b9","sha256":"8ac4945d5ddafbe37773a6ba10450802ccb3b67d59f2fe4cc70536df26e75fae","sha512":"700d54561e7c69df8218cbbafc845c543d6e35925c41438c455b497ca14651c0fc3fc43392a5d71e19bde96f5c49932e38e12f1324a3dc45793fd883a60babe5","ssdeep":"96:c2k37iFduobVmbv+/hQhX+HSs2LWRZCo3DaMrwPHnrMc:3k37iFpVLQkHSsjN3DDyn/","tlshash":"3902d5e9def4244819642999aa9f91700d8f6792c0c5954cfc9da3c01fe313da3fa83e","size":8368,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.155684Z","times_seen":162,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/is-callable/index.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"23dc15ca9399aaf62a202cdc06a43ec6","sha1":"90fa20a93e9425eb7e2b3ffe93338df8a21f55ff","sha256":"b79ab96cc18e96ce987460afc15de9100b9a084a65bfc230ae40733ea20c1dd7","sha512":"a6a71749b784449369ad8c8165758e9af57d0d24740e8e7e6329bf7b81b0954bace885df97729c06519b12602db3295157bcc04e592faa9126c3ecdd94f77d2b","ssdeep":"","tlshash":"7d6174eaf6a170b6b6363208805f831f90fe3b9185b497dd407d05643ef695c632ae1e","size":3318,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.188169Z","times_seen":155,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"tvc-invdn-cf-com.investing.com/tool/1.12.10/tool-prod-2-ssl.html?carrier=cc6698fccca44e51b088d9ddbbcf8ec8\u0026time=1785120633\u0026domain_ID=7\u0026lang_ID=7\u0026timezone_ID=17\u0026version=1.12.10\u0026locale=ru\u0026timezone=Europe/Moscow\u0026pair_ID=945629\u0026interval=5\u0026session=24x7\u0026prefix=ru\u0026suffix=\u0026client=0\u0026user=\u0026plotStyle=area\u0026geoc=NO\u0026styleOverride=","fqdn":"tvc-invdn-cf-com.investing.com","domain":"investing.com","tld":"com"},"ip":{"addr":"172.64.155.105","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"eval","is_inline":false,"md5":"646aed88c2431348ea1eb323fefbf4e5","sha1":"3979b5dba1e737db32349281da6f2a8bea8f91a0","sha256":"6f59b02bce21eca041c23116b413de4c47f4817e0534fb89a95bfb44eecb0b76","sha512":"3f55497757aae8abea2f2378208149d5baff2e449601d753cce87222578302b63368728deed9dd1ccefab9dbafc18484316cde09bc2cf49a859fb0ad0a345c5a","ssdeep":"96:7JrQmIamRRGGAorUnPAS/15mU7Z8nsnyj2FGnJK+TBWVl6F9Nr8:75QFaAQGAoQPAS/1577Z8snyj2EJK+Tk","tlshash":"85a1d95adb2d2c370387182c24671dc6bd153478d131a9b7b20e83f5205eaba527e73b","size":4723,"data":"","first_seen":"2026-07-27T02:51:27.431527Z","last_seen":"2026-07-27T02:51:27.431527Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"tvc-invdn-cf-com.investing.com/tool/1.12.10/static/js/external/spin.min.js","fqdn":"tvc-invdn-cf-com.investing.com","domain":"investing.com","tld":"com"},"ip":{"addr":"172.64.155.105","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"2191e90481eb3207eea74b6da49b344b","sha1":"a5b6726c06bd6369c6c041623c0de7e87c719a3e","sha256":"24289a18e738a8b8f5ea29801af1fd976b62b8d8ff779788aa00e5c08a4febee","sha512":"d15dd7ef1fba0650578a588c660bced509c40d7ebf325f546876956db66cc19eba36a64508afa23736e5803a6726952d1d624f852bf46fd366a43df0912d2374","ssdeep":"96:s3zLiPNZm+pMw7E1mzjQU8vHrZsWVPXDyfepO:sDLKZm+pff58vHk","tlshash":"2581939cf3c1b12ba7631191b56fc58a213454866c1d84e8d4a4e6c9af70eb421bffac","size":4159,"data":"","first_seen":"2024-02-26T19:59:15Z","last_seen":"2026-07-27T02:59:54.659195Z","times_seen":16,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/locales/bg.json","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"fe4cf62dadda203786380bb1caed7adb","sha1":"be9f6f9ad6e0673a3c00e2ed4f6425ea30e3e875","sha256":"fab8254424a23418ce832e55cc8536e8475af3d46baf7b6f25f69fd1f045b1bb","sha512":"1e993aeda85e67fba19cff7bf0eaebd362259ed985c63676cec8c9a735946aa7bd5320c5b27532e38cd6491abf002a66cb2b5f1878432b2d271b480968bc4ae8","ssdeep":"","tlshash":"b961f4755b49f5aec456e909a43b7d652cc4a4fc3fd60385acb0bc5c246b07092ba25c","size":3444,"data":"","first_seen":"2025-03-02T07:16:21.329076Z","last_seen":"2026-07-27T05:40:41.02791Z","times_seen":33,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/locales/de.json","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"78b7c9b5d21b86dfd8a71006520b7ed0","sha1":"35cef93549da2c8a0dbfe0ec1779760fe3dcdb14","sha256":"5af084d68b2c311faa6b5034481d5147d280a2930e6c774a215c833727265023","sha512":"f91b3c2302a40438e4465c93163807ec90ba1356338c34c3c75997a6dfffc35ba0947884a8f602d78bfd42c9b6aefad90cbc4749da26e7a77edb1c63b5f2e4e3","ssdeep":"","tlshash":"34518d6bb882ca4fd491ed0e31fd9cf50e64bce975c107169ef5e540002a0f0b57969d","size":2559,"data":"","first_seen":"2025-03-02T07:16:21.281006Z","last_seen":"2026-07-27T05:40:41.082292Z","times_seen":33,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/locales/he.json","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"a863bb361fd30272734030eff082fedf","sha1":"a54c3946e375eccc648859fe41e3ddd23606cfa6","sha256":"8febe00076b17455e33cc204e67facc3179ca838a02e478500d3888ea4bc09be","sha512":"1ba98537b316581eae3c460604838ac48c3b1698cbf8c0484026149786bd78964d885e42917342f9e68428a5ec64cc39f955e519ad411eb609214d329872e192","ssdeep":"","tlshash":"7d517ec5a0c8d51aca74ebb77db5ddb10f91adb81a821785eba4e5181c170f07d23349","size":2882,"data":"","first_seen":"2025-03-02T07:16:21.298219Z","last_seen":"2026-07-27T05:40:41.174592Z","times_seen":31,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/locales/sv.json","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"5f3c260a3703e82e13bffc676712ad23","sha1":"1e043d2b7b59fdac7926cfe881d519ce518f54b0","sha256":"eba2c3ca0afaf0b5e6e912752350d843c0e6516e87b34795a105be7400f5d454","sha512":"57ffdd1e582f3c1485fd05f6724fbb2b032fbda6d14cf6655f94b1583fe4a10cf6a13c77b6c319dbd1a29b28f3593fb28b861fcd355ae8a5beec516ecbac6fe9","ssdeep":"","tlshash":"42419ebef455db4fc9a4de0e72b58df10dd8b8f452c10382acf9e818002a4b1b27a25d","size":2397,"data":"","first_seen":"2025-03-02T07:16:21.14707Z","last_seen":"2026-07-27T05:40:41.146246Z","times_seen":34,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/36166.7637be1cf2514504ac79.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"51776a5fc46a025b06d1b20c444a8934","sha1":"ded406bfe93dcf4112270cd3f1634b7bec2da0cf","sha256":"6619f156d8b0192fb34d6c756bf0bda361c55a6a2d79c9fe1117d9a83ad626df","sha512":"1a8c2a8de6868dcf9765cf86c13f9a9f50c87cc022a6142c3a48a4e8da04589a6c06376ccb2928de274dd64f5558784b2a5f2c5c13617c7c40ea38359ab819ad","ssdeep":"384:Ew9WKLri/jpKfQVAFzMnNReRhrt3bkiRWXxKziTObRcRbF:Ew9WKa9K4Gz4fejx1RWszhbe9F","tlshash":"8492b5c8b1e1f0e556e768a0807f444bf13a7d19349e9060a3a2d4d678b46dec07bf6e","size":21217,"data":"","first_seen":"2026-07-25T03:24:57.421925Z","last_seen":"2026-07-27T05:29:38.677195Z","times_seen":104,"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.27","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-27T05:17:26.353449Z","times_seen":1465,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_ie8-dom-define.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"81888d4648d9ce777c8139cb67557306","sha1":"62db8ea21df8bfc42fd509d0f573b6552bdd49c9","sha256":"c66b9eb8066f02c1e7ffc6efe1407858ea67e64de1dc6d675fdacd5f4757c540","sha512":"a59bb5b4c4ee7ca589be74f77e97466fde0e74f1d490fb70dac03484f67f252fa217cee2d5df98e9fb62832d9bd2fcce66b5d8a79d6e296f38b66c2feb315101","ssdeep":"","tlshash":"dc2132afa5b064c313b925ede8b2c03f49c790c258520a48f8ed06de2e6253c20b262c","size":1182,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.066415Z","times_seen":201,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/string.prototype.trim/node_modules/has-symbols/index.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"3ae7ab1e4885bb92d009698fb9d6e6ae","sha1":"0f52e41f4ac238f5ce548ea90b27f6a576ba0688","sha256":"e3a71c6ec5ddcc974b75d1357f7762eb9860b18c497996a3953179ab00e2c015","sha512":"5060b4b6f27d7a9dda379cedf21a669807ae12b673421d18778ad1172f2813178490ff2cb11d904a7da98e7ddbed0b1ffb07142e8a73c3ab372bbfa1bb262f34","ssdeep":"","tlshash":"8031b9eb59f230323af551dbd8dbd01e15e96e5200ed155e74ac04d07fa191d3139f0a","size":1832,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.188966Z","times_seen":157,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_is-object.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"7def6c9dad20008a5e7610bf812e9a81","sha1":"edaf31ac25dba4f81e6c83c32d6e1840b72dbe53","sha256":"c34ffbbde49769d8a1c5334ccbf1a97208c4d5f3729fc72ac086b84b49ae4799","sha512":"4694ce4ad1155c373406e3e2afb0dfb3541a4fff9a50447375b4b2469a21ce0d296bb61c56e7e345b8d4f4922ffb36601603aa07ea3a214c5bd813812b61be37","ssdeep":"","tlshash":"170165eec4b2acd228752411c962849f59ec6fc3c0f90948be5d42c33933d251362d0f","size":741,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.028696Z","times_seen":202,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/web.dom.iterable.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"fba91500c9e0fbb939e8f9c1993175bc","sha1":"661fa7a1722438f7d44e4f8c3e24dd14a8bf508a","sha256":"1313611dfc795d6fe3aec69f6c624d181b6fddf71553688d37c9ace7696eae1a","sha512":"70efc1f74607d0cee0ec28769c5a69e733c4991309651b4a24eff74ed55c40de5ae2883a39df6a764c3eb44a60230773d103a6010218f2fa00b5e5b74d063c7f","ssdeep":"","tlshash":"5c61f85a9bf123362ade2dc8e5d1c17f288766d291845454dcedd4c3bea313532b482f","size":3248,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.186591Z","times_seen":188,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/util/helper.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"219e666a076ccf9596c1979451bce21e","sha1":"fcba2c7cfff29902e423a9d75177def995e8fe96","sha256":"b59974e177b1af0b6a0c2ee6cc98c6c970c00bedec6385f29db4d2ac35af6c0e","sha512":"71675b2a3f0bcc67393b25f6e539f542fd1de5f470fd3134eb7b22f437bcb8fa994fbb101ee351ff17faf51b169dca867872c6ff47a07c41974c39632fad0f55","ssdeep":"192:cBywfEXj/FzTpw7ABNTnqglNy8rHXAq8MW:lJhzTpw7ABtqgu8jXAq8MW","tlshash":"0cf118d99ce87cc7bd1974c6f6afc69566a99b030094cd4d981f66402eb312c62a4c74","size":7471,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.13051Z","times_seen":154,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/locales/index.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"6a198416a1f5597361adc6deb21dea10","sha1":"ccbd0ac6105db529209992ab0cd0037bb4317206","sha256":"a39247b41a1373e42e82984431ce4154ecdd2514408677f025cfd076fa997c5f","sha512":"9ebe1a2a398c6da8f8f6e1d1574e2a14b6032562ab5d277ae655e386800adc9817ce820283ba51cba8557a3a27185a4695812fea7de04c86b584b1ce8b368d0c","ssdeep":"192:GfE7U39M95Sga2c4f3fUzLEc8pyrS/MCaO/S9Gv4D:GdgZTPwEc8pyrS/MCaSSKA","tlshash":"1a72d0a55a854e0b81b9faed1d47cb3311c28b06519e7c46c82db52426f402f77fb73a","size":17541,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.140142Z","times_seen":154,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/locales/da.json","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"3a47faaf3f79649f4a26e50bfef13d50","sha1":"ab61665ea77c29c56b59847eb55416cbb6392602","sha256":"8379735087270922c328d1723b8a11b4be41958058bb6372f9b9e583a8da67ab","sha512":"2432eef4c1346e44c3a0b1128a5dc05a855b4b94d955507f9aaad0b3b9a34ccde223bd584b283bcd0be77b2326d024aa562abcd131b7fa766810d04fa5462489","ssdeep":"","tlshash":"1a41ddaef804d95fdda5de0a70be9db04da4bdf4a2c0034aadf9e004001a8f1b2b955c","size":2405,"data":"","first_seen":"2025-03-02T07:16:21.21234Z","last_seen":"2026-07-27T05:40:41.053845Z","times_seen":33,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/locales/ja.json","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"a34ea06d4fae556bf6f6063409f91004","sha1":"f60dadf2b17cd5005e0f5b142bf23b71adc4b306","sha256":"05644e800d4391d039dcd2ce10bf64dabd4244435d661a5364648d3d0ed048e8","sha512":"ee03a009a9005a190753834bcc8b77be952a6b478e825d8b3c47f7224a08648b670d74ffbfd65b9ed9a142f4192e4c21611c671a6f731a4db8d52be3c5a8b048","ssdeep":"","tlshash":"de51ab2ed094c546dca4de4670b98ef84d943cf2e981177aadfde410602a1f5f1b61b8","size":2644,"data":"","first_seen":"2025-03-02T07:16:21.213533Z","last_seen":"2026-07-27T05:40:41.151187Z","times_seen":36,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_string-trim.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"e79bc94fbba014b84c48b7a9b0554990","sha1":"a63608eadc6d8e490ed8f0fb0082f08a298a97f8","sha256":"0610fe2ecf04e33e8643c63f7d7109af22ca2a09b9a47c7bed50d7f96e161f30","sha512":"a6b5b9733359175f91960ce7e7a15ca83c06b07ea7d15b53b10c88b11412b461c0359881288fe91ed78b77b66bac2236062dece4cb1e8947b75ec91cd254634c","ssdeep":"","tlshash":"3f51b6dafae424662e742096e08fd1720cce668201d4f2d4de8da7482cf782d31f5d1e","size":3027,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:40.991194Z","times_seen":160,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/node-polyglot/node_modules/warning/warning.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"dc8f0911de1cc5baca29e87d90e71143","sha1":"dc75e8951a78f13b2ea4fb5fc90a21a11fdcc29d","sha256":"eeb3af12c964f694a7c04a956236d0af5dd3c6bad8fc191138a2f2c11fb202bc","sha512":"f46825304be30d0535f0fc40ec72d0a8d9fbd62ae42c167698ef8367f7a714857540e6ca3ddae35772d41eded750101e01e7cb3c7e11a89aa47631d84389e103","ssdeep":"96:lHgVfRColdb0MJEsyG6+KFKxHQwHmxKIgCN6:FghRColdb0Mb/5KFOHHU/gCN6","tlshash":"17b1a8bfece620e2b693348743cf919a10ce674752d9e949740ca3401fb6a1d46ece5d","size":5099,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.10667Z","times_seen":155,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"tvc-invdn-cf-com.investing.com/tool/1.12.10/static/bundles/ds-property-pages.1d6127a623f51513ea4f.js","fqdn":"tvc-invdn-cf-com.investing.com","domain":"investing.com","tld":"com"},"ip":{"addr":"172.64.155.105","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"884c45bdee216aad2c910963b42aac5b","sha1":"1389bebd1d48fb392c6d3c88e34febe722ef3d17","sha256":"432b195b2995a2db44e35a7e169e3794639cbe9c1bc4bb014d7a1f89195e1709","sha512":"c5d651e4692f6e7e2898e200e40830c549b4ffcf52f645d754af4eb97fdc38dab32a5e00cb28cd739e4b25e3e825a1f8fabb51f520fb9e3f3b7d537efa81f798","ssdeep":"1536:kHxQ3nN2o/KZcm9CGJ95uPGtAbRcWmKOo9UN8o+xi50GyB4FIQTtrUtYAhOumrya:kHxeinMq+80GjFU0gNol","tlshash":"69349449f0f6586e9359a0cf377879239521317fc41202adb6a98eee316cc84365de3b","size":236629,"data":"","first_seen":"2025-06-28T04:54:50.203249Z","last_seen":"2026-07-27T02:59:54.589007Z","times_seen":9,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_wks-ext.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"b04f57f7711dcc4275ce24caa3a92d36","sha1":"97afc26a4ed99d91b692d25dc86a71dd6f75a7b7","sha256":"9e8bfba38379add8778172128a47f0031bc62ed9d91627ebeb01318aece2ac13","sha512":"770e3aed04d3ca18bd7c077bd862574457ac9a980784705bd11782a78de63b19ec6387477c0d93ad9f0999444b4c908f8f045b7dde6fb88e8326da00bf474a91","ssdeep":"","tlshash":"84f002abc3f528d73dfb5d4dec90c9af4254a0c244654406919d07c33ca7534701a93f","size":598,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.13764Z","times_seen":171,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_object-gopd.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"94f95ad69e03aa3de39b58a1b7bc93d4","sha1":"3238626f1d5f80719ccfbce9e4f1df8f722888ec","sha256":"5bb77643c99d302f2ca44fef39136cef00d87f3494458f403c757e142df5aef9","sha512":"bbc933c6192fcce210a41a3e0085a550e15c239e6e32cd4da81fd030533439a677ebd2d90dc525995b2eb315bf9573e8d996866b335621c72eef45ba8187fa4b","ssdeep":"","tlshash":"735196ddaaf0609213fc1cc9f87e993a5ac9f2c26461a989dccd05c64db343951bc81f","size":2456,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.061327Z","times_seen":161,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_object-pie.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"f199e3207da4a7976be7be4cf26da6ab","sha1":"e14edd22b00303f31e02d5c9de4ac0f114b621d4","sha256":"aa577768fb4a75f8b3eac07c9e87d452ae52c07e1c6c15e7cbfdb07581efd639","sha512":"2dd440f753ae1ca2987607ac6f742141970e8848d9e41a1539614e9e9a96c563f15a112f8949cadcacf167e26e0388132e0c6a646490c7c2e50d91047bff75f6","ssdeep":"","tlshash":"eef020eec8b67de71cf30d0a255180b7968864c7c8b0084dfa9d03a25c32e7524f542d","size":529,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.025549Z","times_seen":170,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/css-loader/dist/cjs.js!./src/components/CoingeckoCoinPriceMarqueeWidget.css","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"ca23fedf853788694e0ad8393dd0a04b","sha1":"d4a17b36da10705497035503199defb73efa9b1d","sha256":"c1841be60702c037c401c680dd1ca59582adfb398c6bbeeb7f4b931382af2cb9","sha512":"1721dee92dd101e9f5dc7eebd7436d353086892d4243c5b8a4d194bea7d7c379e81061b89860ecab222f5a526f7808fe1a7f7709b372ec20c791966aacdd379e","ssdeep":"96:DMaR7YWonMAnnL4H9HOFfInaDNFvlDNFvIYD9cjvV0TTQVzwIBiqIB+:DRmnPnkH9HO9Ine3vx3vIYD9CV0T0Vz9","tlshash":"8bc1d66ea6d71235f2300fd365e7c73631e1ea12b231065ecf4a91c258286bd73906be","size":5648,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.021307Z","times_seen":112,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/fn/symbol/iterator.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"e757ce571e4770cd53e1ebd8fef9c5c4","sha1":"19254794ab3af467d6ce3078d9856c6288c282e6","sha256":"0a9fe9e52f086f688210aa1f91fbd0b983b22b4b6d44ab9b0edeff0663f14454","sha512":"e2fb2a8f6e7ae15dd89e97b1268d1a04f009e6985f664eb43c040b8a26f0eae5d2542a93dae3818efa15a7e143a73eb8ee7feed2f02e57ed8c1c149527cc1cdd","ssdeep":"","tlshash":"e4111baa12f1788329fc2496f86084bb1ec1a984d0064988e99d0a9bae9383010e483a","size":1075,"data":"","first_seen":"2023-07-01T10:02:30Z","last_seen":"2026-07-27T05:40:41.010165Z","times_seen":199,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_cof.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"351fd0ae4dcfb51808f6f805bc1e45bd","sha1":"89c56f8a26ed63e3ba6661caccf9a571fe45aad2","sha256":"e40ed387ce084b26c95c02685c4f081264cb64534311eb269e28b641d0003d0e","sha512":"c383305c0f907cd7a15027b0df4bf318c24b54c2cd58dea16014b0f6fed2219a8c6eb03feab9f633f39de856687171084ebb270469c3b7f2a13901802509b5e2","ssdeep":"","tlshash":"3d0165fb95fb3c822ab12941d801ca7b62e17dc44575028ae48c82453d37c1805fbe08","size":727,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.192102Z","times_seen":197,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_uid.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"b663d04eca0fad5315165262130e55c5","sha1":"3d41c6296bca69e65d8057fc8ffd568edc94c0e5","sha256":"3267ed7955ab4f33be40a0fd65ad73a05ce492b60dc91e70054fcae3a3eb3b69","sha512":"0a43b061ad818adc454f0b722b0b0b75d98c4772ccd7b5b2cad67488fcdc60ebe7f50dc81024c6ba10d058142830cf82c526bc216c389587fc81af4de571fa27","ssdeep":"","tlshash":"ad01529fe6f138c528352e08e691a61a81d06e438558488ee01d1b833c62b21752da1f","size":827,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.145515Z","times_seen":176,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_has.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"8710995b3f8560d9623a2d01bcac8c7d","sha1":"e359b82a6699211b0f926595917269171bbf4838","sha256":"90a2c94ea745387fd6030db249154befcc025da678c0ba53dbeca0fa5d94c3ff","sha512":"391006d9987c53092d0be2ac5c0e8cb0d6d72c4d52b54a7aca682f13bc6b2485577ee066687a41f2cac5df3b0820a50fbef6c3159caff1c88c0b6f0bae370fa9","ssdeep":"","tlshash":"350165af83f32aca11323f49e210955f0148f1858878084ce5490f572caa52a203e42f","size":721,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.020475Z","times_seen":175,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/object-keys/index.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"9a41a63904a2df743c15c232cbb49806","sha1":"97131d6026f21ae10f6dac37a89a45b45cbaef04","sha256":"5328c531a516f921797110ec725f6c38eb00a64c3faae103749ce62dd738ee4a","sha512":"ea6eda2d9be4b4840f63e3bf5170adf8f72b0a294605eed3598bfc10518d988bee92ad1e8100d4738874bd43bb47da11f302d68ba0e3616fd3e68f1f0d155436","ssdeep":"192:OIbZnYn6QeBgoPD+CHr0byy86vRgeMruVHI:O+in6QSgoPDVr0XTvRg8O","tlshash":"032284e9ea5160b0726235c5059fa24ec45e7b51d5b8fa8e8c4c84502efa31b023fdbf","size":10175,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.083946Z","times_seen":157,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/locales/tr.json","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"5cdfa2ccd1943271331b8dbf654f620c","sha1":"47aabfef6b369ea7a54be381488a15c37d06b013","sha256":"3f53c96e9dde248f15e20f490d3709c91bf70ba7796628c39e39f798d7f33c5d","sha512":"61c4e9c65ecd861446b5653760f2afafdecedca071e72081b7e1b3acba30000388e8c986a9bd2870fa8b55b7c21074fc43833adc9264990871d21f43735b85f5","ssdeep":"","tlshash":"0a51f12794ddd84acea4decfb1758e729dd8a9f054c41382ede5e92041060f4b7b3149","size":2707,"data":"","first_seen":"2025-03-02T07:16:21.201263Z","last_seen":"2026-07-27T05:40:41.026407Z","times_seen":33,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_is-array.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"1db790138d916156e4d73f31c5a7251d","sha1":"a78b4c12c55eac67af79d5945e2d2f8f4aff95ae","sha256":"b7920d16b21b970a289bb5533cc15dba9b68a7ade45a3e236b160fcbaa5bdbea","sha512":"c5de8ff0d737f4eb95501e73805f491baff99a44250fdcc695fda5d639084fe3f0495c50c6374dca3fc6edf0267155c740bf1b820f26def9413d4fa375fbaa00","ssdeep":"","tlshash":"b41150ecc3f129da1ffa0c44b816c67e80c1a8c68172890d9c8c4ed10c63978116a82c","size":907,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.071312Z","times_seen":162,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_object-gopn.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"3144a3bc5a9888062e0f1d69f3abab0f","sha1":"b570c27072473e771e9e67d732b1bd498f43e20c","sha256":"9fbed3ee4869842dcf2c9b0ffe287724e60aa390f33609ace0eb5b9f0fa4d398","sha512":"2239863d66a2227fdf49911bcea9d98b5c8d83242c53f5cf89c9b50f32928e517abdfafe3a0e7fa7e79db72991e361d79a28137081a9e36e4f58648a2b0b7521","ssdeep":"","tlshash":"8e2186dd90f1cd922fb55d99b1358636d88e1093c8724948e8ec4ac24c73937007b62d","size":1356,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:40.986038Z","times_seen":164,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_object-keys-internal.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"7897a8780ce2fe496ed5e77a65928a86","sha1":"9964212a7187c643e9418e32aefc4a4cf007b04a","sha256":"cd4469bec381fb2d9cb728e4a61716303c6514a70f0cefe1f5b2e1d05f9e0abf","sha512":"40696184c8f280e6f3c0e781478e4f5e1da1e69dac5b4849c94cdabf9df2ec4f5c166f8edd0e9173469c0afe332f6c4ceb445e2f1e5bb21bca4bd4e7fa85ac76","ssdeep":"","tlshash":"d34177cff5b8905674747cd6621e99238ecdf2d384689588cc8c81c17cf3839a1ae45e","size":2116,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.176186Z","times_seen":167,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/42171.1c05d8147c230d86b4fa.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"edddce8d1d6f604a250bcfbe9d7eb025","sha1":"253ca6c52edbd8045f2d7582a4cbe1d58aa63fb7","sha256":"5ce8d2d6a4b23546f3ef7e86e56e51c0dd33a1ed0a3cef47794f49bbaf49fd90","sha512":"8bea5dd5042c7cbb2e5672e14ea2d4734a6fec646472748c7fc97e3549559befc114de998d38beab5c5097dccc1d9db856c75c8b482946bb7276dc6c44fffb43","ssdeep":"384:BrqTqqPiwUF5A2XlUggtc6TPlrtRH/hIRgvFoPVAAg0dUDs3nRCvO3Ja7m8t51hv:FqTLPinvA2uggtc6TPlrtRH/hImvFoP8","tlshash":"fd92b424f382216105eb91ed1c760913b63bb7963c87466db92c9ace675c918f372b3c","size":20468,"data":"","first_seen":"2026-07-22T16:00:00.324158Z","last_seen":"2026-07-27T06:01:16.155257Z","times_seen":31,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_object-dp.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"eaab792838b57e6c5caf6620ec725dcd","sha1":"23dd6ccb52ce14f153836f529a82062f59ac0107","sha256":"9a66d7db6a6c0693308bff1953dc6da953be33333a4d91eff033279564e62ac7","sha512":"fb7880ced73031838f4c4f82ff6f16b4c3dc2e68a2b55402852d5bd8d827572fafc815536f642bf668ddf0babd0aa67e174f70d898e343acfcd51d4fc5f75bbc","ssdeep":"","tlshash":"4241bad4e5b052e33fb96444f9aa887a16c7dd8200b1b2cd988c19c11df253812fc91e","size":2285,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.070525Z","times_seen":202,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_object-sap.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"283100f51affa4f10744a2a84b3cc7b9","sha1":"ca909b70aefdb41056069de54684b9437bbb1e3b","sha256":"40b8df39b2862c033e00308f6ee62a9400e3e3c02f4ee456a8dd82303bdaada6","sha512":"7d8f4bd31d14c1c08b3924e794365fffc6b079fdb6a0cb32401672639a780a57ac057454a34f07cf9bdb1615d80a6651b088b666ec6736ac822f3dbef0635293","ssdeep":"","tlshash":"6f3198cfd6f86892167526dde2cfd13a08cd5283c5e1d109cc8c93c60cbb53c226692e","size":1558,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.062264Z","times_seen":146,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/vue-hot-reload-api/dist/index.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"5d834aba587cc7a99b77d3b114f94376","sha1":"1d3d7a2165c719257af484c8e1bd0963c8f33a43","sha256":"3c6ebb2916bc83532f0aaa67437540596f2d000fda4b4b84605fd68a62bec3e1","sha512":"7f153d81d809151deeed8014f05e2aa3d9ac538ea9df377cee6c7deaa2261929cfd9eb034838d7ea0e8be9c0b0b3cfd03c8eada50fcff47be169124bc2553a7c","ssdeep":"384:4/x2NSuNP0xnBcGx/iZHD9KAitHC3iOkIucEFCWISpRo3bgpyRMi:I2N/NPEnBcGx/+HD9RixC3iOkIudZXRK","tlshash":"0192c7deae6830d02f4376dad58f189d0169631751994708b80e63c11fbe31ed2eae8f","size":19663,"data":"","first_seen":"2023-03-13T15:02:33Z","last_seen":"2026-07-27T05:40:41.185026Z","times_seen":174,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"binarymate.com/assets/landing/platform-tiny/js/jquery-1.11.3.min.js","fqdn":"binarymate.com","domain":"binarymate.com","tld":"com"},"ip":{"addr":"172.67.160.195","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"895323ed2f7258af4fae2c738c8aea49","sha1":"276c87ff3e1e3155679c318938e74e5c1b76d809","sha256":"ecb916133a9376911f10bc5c659952eb0031e457f5df367cde560edbfba38fb8","sha512":"c40111c3cc0754e90cf71f72f7f16f43b835b7e808423dfd99f90dd5177538b702e64ff1d9ee8d3bc86aeaa11b6f7a0ef826184e354b162158839ffb75d174cc","ssdeep":"1536:OP10iSi65U/dXXeyhzeBuG+HYE0WEeLDFoNqLTW8+S5VRZIVI6xSb8xh2ZbQnRmc:R+41ZqLTW8xRrqSb8qGH77da98Hrf","tlshash":"3b93d8d9b7d67162977730b850bf510bb13a98eab80c4ca0f0a4d8e47d74a89507bf2d","size":95957,"data":"","first_seen":"2023-03-07T01:02:25Z","last_seen":"2026-07-27T04:54:19.837588Z","times_seen":18359,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/87995.911b26181778fecc4b4e.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"6a05d8171572287378e38e6964e02fe8","sha1":"63d026c77be2140ec887f9ff6d3f073098c753d7","sha256":"6c8f663aeaed79d462dc53895df9b7870b0e620a0dfe1116cb122d17391b60ed","sha512":"a4076a5db83f1d9f5054f7bcbcbb078c8881c79fcd79ea086d710a4a25568695a0fb17213a40d0b396482e293c7d980d411e5f128a7a040a765286cf92d3595e","ssdeep":"768:72RxBdTMf+AnnZv7+SVxp9QYQ2UYfzvEB7DU0M/Zm8FNpVwLY8jnEM//i7XeBFK8:7SEnnZv7+S9Un78F/VwLY8jnEM//i7XM","tlshash":"97e2a642e342606702f381ed0c354503a339ebd5784649acb6a98defb56cd0cb5bab7d","size":31267,"data":"","first_seen":"2026-07-24T18:44:55.949977Z","last_seen":"2026-07-27T05:27:33.090756Z","times_seen":122,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_to-absolute-index.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"95f2446108d1e81e443307ca73e067cf","sha1":"304b570d38b2f5e74b764f500fef12bd43c3ef0c","sha256":"675e74b59418ec40f5721a387bb2029b6a23870d47c58488b7783bf7cbccb6fc","sha512":"1e14db74b07384e2bf9ceaa1c0cea6753fc75b11117aa1cea280084f81469676b372dfd716c94adb35c76f3fd306be55a25ec0b6c6ba6a8c0bbb2966c0b46f09","ssdeep":"","tlshash":"e92163ad85f125e512fe2ea4a952cd7e05cb299184a34cc9994c0b410cf6d2170ed91c","size":1139,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.144758Z","times_seen":192,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_set-to-string-tag.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"34982978c95239e4bef899d40a8ec996","sha1":"877074d5b1cca0f5db1f4f40cd48bbe5be76a307","sha256":"37e8cc0200f3568d50ef8093a4a36d3fd0da4fe5c35cd0fd8e48c4579b277cd7","sha512":"20277913eea93c0c0f7fef7807f09e1aca31a22470106536e6e4a775ff8b091bcf231852302f302ddd9d14f70e0b1da9c9a445f14a49bbf8ba891e5c5cbd9afd","ssdeep":"","tlshash":"5621749fd9f038931af71c9ce986d03f199d22c1c8a15888c9dd42874da243811fa91c","size":1361,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:40.985153Z","times_seen":192,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_export.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"68e9632b7a49c91a44259f2c7a2e4b34","sha1":"d668822cf89f1026e17be8c6acda49393c4933d0","sha256":"c03998b717fd27c0f32947fed9b6a542a19857b87824248312ad6f5eb8ef0355","sha512":"0be4a1aaad7f40882ca74e05f7c1cb20c0bb6f33ccef90cef22de914c70cac58f0b56e1d1712be7d166acb23b1f6dc8d1dff1af3c9c78125b60d55026fcc42b5","ssdeep":"96:+rrtZCef+XmEIMWXD/UunF3vHAHkesAHtgrFki4:mCef+XmEI/T2HtgRki4","tlshash":"29a1b88fde6022856d713e4ee34fe366018ef7538595e20c4c5df7442eba229106a9af","size":4801,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.018891Z","times_seen":175,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/locales/lt.json","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"69c44881448ea8872fbac1b9f6bd361c","sha1":"145cd4b8ddcff00651ec7128d0c4440163e22799","sha256":"547798d55b9157a79ba8861131dad08441384c84382f05a797d276d4dd37ebe0","sha512":"4566d113d42b504b26f83f8a527656d0470a42b22d736d62e954d08c0efe4d65bfb078375d31b561eea63e3604dcc1f692864f6cd02a450d955889ff7cf169ce","ssdeep":"","tlshash":"bc51b85ae448d90fcaa4eb4e30bdceb5eed4bce075910799bdf0e500001f4b0b639668","size":2649,"data":"","first_seen":"2025-03-02T07:16:21.146133Z","last_seen":"2026-07-27T05:40:41.168317Z","times_seen":35,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_to-object.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"6dd79aa0e46d78eaff601c120cd0eb3a","sha1":"4f611333662e605a04b97e740c8bb9e28e65b264","sha256":"71421228be0b43557a47d2b7216e075a21b42189617e695b3fa22e78cb800007","sha512":"2cb50599374bbe3af20b65462b5ceed83e7e817dfb0cf3522a42742c33e795c6af5b3cf866b1bf788c52dc461a6dd7805bdc2a3531b5a12cd23215f9cef06075","ssdeep":"","tlshash":"fd11b7dfd5b240d227751846e159cc2f84c0ddc311726a44b54c5eca1c33d1840fac2f","size":877,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.128071Z","times_seen":183,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/locales/id.json","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"491f6a73a65aa153bc5a90d0e8a6b730","sha1":"d9b9399d2438f6a4283aefd848ca1f643caa09ad","sha256":"849d0135d2368e8e46b9dfc4d94b5f13f6652c48c9b96c258ac92077fee3ac05","sha512":"c882b6fe5446ec25c036c75fed966847dc7fbf34c8445ebd6053d177969686e3dd60d28ef73b917f0a26ad5292b7416214c00a90fcc6b76613fec324e0bee7ab","ssdeep":"","tlshash":"4141bdaae848da6ed9a0db4c30bd4cb55e987df02ac10386fcf5e014003b0b5b5b61d9","size":2425,"data":"","first_seen":"2023-07-01T10:02:30Z","last_seen":"2026-07-27T05:40:41.040433Z","times_seen":153,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/94825.8a90c0c3ebd413eb9c81.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"321406610467d6dffd30c75b9184e9df","sha1":"eb120d6cc348265cbed0295dd3cfab7428c5425f","sha256":"3f94fcd41f3f37d9d46697679761c3bf1712a0f67a22b38bc5e3c44b47eb56b5","sha512":"8d1b1035b2fe029452f0a7de35ef2793e6da96377c589956a5e21eaf23f3b2ae7bcedfe568a74bb8ba9a46109cdc8876912e2d73814beca47bbfa286c3081136","ssdeep":"768:QmBTez9037WM2rFgD0Nm7YLSxeUf4DK4uA8JUJESLb/XW4xmmInIPxHgask+vvw4:Q4Ow7uxNVvpPpghBT4Uf","tlshash":"17e2b693b3f9a02966ded0dad8341403e31924447884046cf27dbdde6b5dd88b2b9b7e","size":33900,"data":"","first_seen":"2026-07-23T13:38:20.509185Z","last_seen":"2026-07-27T05:27:33.108678Z","times_seen":356,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/32387.47ace83c61a884341cd6.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"6ca36e244c390f41edaabac69e09f117","sha1":"8cfcf1d847ab9d43572b0f37ce475fca4bba1dbd","sha256":"fb8f00815532561e6403dfa828baaf51b380bfdf9f9c92754695c2cfe989db60","sha512":"9d1bd8f2293d36779a4c8cc18dd6650a7b35228b865226f0071eb07da8a810a5bc9aebd1cd29957a9fdd12cab5df40ab9fbbd7d68ac374e023c356b4178e4e3d","ssdeep":"1536:pvqY4wv/eXX5nEIk5JGA1SpxhDGougC6dZJUz3wA3ovSuHpL+:pyIscb61Uz3wGZML+","tlshash":"6bd3f7e83996f6526ab7126700ef1807733c1a1b280c4960a615fd8e75b842fb17bfdd","size":132552,"data":"","first_seen":"2026-05-05T10:36:04.869805Z","last_seen":"2026-07-27T05:19:37.132998Z","times_seen":2137,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/util/cdn.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"44e5a4046c5ec729b6b3aac1d2064bcd","sha1":"4db661f9f3aea145916bc82b8ee4e516d000b7e2","sha256":"92185a2e1e475377fcb9ed3eefac75cd997cfb58e5ab9db7f45c9cbb6ef8ee80","sha512":"2962ca20c1e21de48406419d04f0717466b831b5b0169d871d01e8129f717198e3413bc03a829602c6fe20b25da790f87952b0055cba263577acfd55fd92cb1a","ssdeep":"","tlshash":"8b41e8eb38e479a32ea168c9d54fdbf9307a612758a00982e678891911be37070bd835","size":2030,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.107543Z","times_seen":97,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_hide.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"2982c4efc182c860e12af497520a2c27","sha1":"e0287359235851fbc75521ede7d21c7b622cf6fa","sha256":"4398c44f113c22af50c79871f1f049cb698d6bc929f8eaa2d279e415aab19b87","sha512":"28bad6926571156aa216356101268c31e6fb64f66ff041634680059fad45ec49da1f70a6530349abf8aecbfffe7e866d19763c163ae3577548a9cd18a944868f","ssdeep":"","tlshash":"fc21548ad3f1a4c21ab91d8bfd75d82bd8c5a6c144204b0848ddcac76eb3538252a82f","size":1394,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.033747Z","times_seen":200,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_to-primitive.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"2766b618e954eddf12486755b343602d","sha1":"a0cf9fa9809f95476e419d5411c880f42f892f72","sha256":"8ce4d223f073a23918b6e4b32d6cebe4dfd286546ed52c683b9d76ace4385afc","sha512":"07f543eb3edad49422f98cbc85736b3aa18b3e75b7cd8625c939f810403c7cec3882f007632f76d1aacb3f214715a8be1123d8ed30ba9ab4df461f3688ad6f5a","ssdeep":"","tlshash":"e441a7eef2a9b4e226202140c06f489fc7d65ec2607265ccb58d56c42d76d1c43bde6f","size":2169,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.034483Z","times_seen":198,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_iobject.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"3c5dd112d11ab8289ed74e721d42f235","sha1":"b237812cbb01e26002d8637679283a007aab6521","sha256":"3ea23502e14354c430c1847469dde035095046ac5ae6cdb45eb5ae17a735aa0f","sha512":"56cbaf120d001238bfc1f4c40c53ed7990c618b66cf454bd095752cbdafb155b9fe00bd9a227fea67d73117b9f79e9f5298082494cc2335a7dbbac33313441aa","ssdeep":"","tlshash":"bf2195bbf67179c02ab14d8ee0ee852be18874c194314c09e5de46d92d339393118e5f","size":1240,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.154968Z","times_seen":196,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_shared.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"e129b334523439af0d6db46d7c2cf412","sha1":"8e91fc144ac7ce380e55b3fde3194693fdf3824b","sha256":"fcabdf0b3a348546eb1b520dba992ed22d436f71bf415b7431075fcc7c2071d3","sha512":"1da0966cbb0f49350e78273b45b2d3af06c042184f83e2a0690815f9173989fca26565f6981711928c5e4f71f9083302cb9fcc778a9d4425c4bc8dcc5b4988b6","ssdeep":"","tlshash":"fa3162da9bf125871cb82d8df913d236a9c84583d0aa8208ed9d4e862d43139716b51f","size":1698,"data":"","first_seen":"2025-03-02T07:16:21.31667Z","last_seen":"2026-07-27T05:40:41.178607Z","times_seen":38,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/es6.regexp.split.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"d297b9e320d87ab854b9cf705ce622d6","sha1":"0aa5d9dbeda78e6b3ead66e190523b4613df3c68","sha256":"df9c42c2e9c1fb070534fc3ba3b11543b4aced0abc79b0190e88ff50f4605584","sha512":"56a75f3476971218f768e63f95932b94caa8fb38131fc3a8c0a501b553fc60b8424547c89ed3de5c53c9b6f873aba2074203a18a036fcd7eafaa9359cb675617","ssdeep":"192:R53pi4rfqOK/N5Hayzayol4RQekjiDjxtIoDWR:R53Q4rtgolgBkji5ioDWR","tlshash":"5152c7ddddf928913b3135da93df94e905dd2b1389c5c644bc0c62842fa622843ecdae","size":14314,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:40.992309Z","times_seen":140,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/function-bind/index.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"cc272ce553d2497f8c238c4fc4a54d77","sha1":"c34f69a22f78e9462e47e602011bc7da35c0b2a1","sha256":"63d2f1fd846ba373dd3a46627c3ac85f3c9e939856e9c5ff5bcaf1da64ec246a","sha512":"d7487d6186320fe69078ac64346ab2437d8b7e958b85785322415a3c0358d6f6b62ab0e8d162691ec9947faf943203d812131c352c2af0d4dda778aa5d9b624c","ssdeep":"","tlshash":"4b0141ffa43118723aff0d478097447b84e265c27166244cf41482c958f7d7822eac2a","size":791,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.099661Z","times_seen":161,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/css-loader/dist/cjs.js!./src/css/utilities.css","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"7e367181c1721670d6bd28e47d4ec336","sha1":"441095c8e26fc1eb711f5c49a1ce6703e4815f10","sha256":"94e8c3166639a073ebb8b3d1f805c6dad225fb2ba61f691e6f4bc0751047f79d","sha512":"c20358f51649da4e88370ddf1ab20c0d88b04a386d6b4b4be8cab48ae677821d698a847c0ece16d383a6528ef904085999a8945e9cfa1a1619416bfa768cb957","ssdeep":"96:DCRYJJGU1To3Fm9CAPB43YCKCdtNbhyRELPxmm+0R80PJ4qV9j3kJq9r7/ap4/us:DpJV183gckGNTLPx7BlNkJqAn+s/9M","tlshash":"ab12862ef7d72739c166ace3f4978279b1e99a871132424f474591d38c6838e32e157c","size":9755,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.177831Z","times_seen":155,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/coingecko-coin-price-marquee-widget.js","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"introduction_type":"scriptElement","is_inline":false,"md5":"06afb7f625f265cccc108e3e1e3b0668","sha1":"5882be327bd973a0cbbc0d5045185e7c0b4d4bae","sha256":"a566105165ce3ed9ce3595eae59cc20432605ca9ce017a066ec186746eee2979","sha512":"0e841a3e2d05a48f45b423b11be6707005b231721dc463d3c8583304825d4910080d465ccf243b06612bc6fa5b37f86ab8e32fd3952d9be0d52c35539c251048","ssdeep":"12288:jWAdtyRAoVXCPWbBWoD5B7uGiDzofS/m0eNNwA+P3s6tFsXevN8qU5XXbzXnPEFA:yyo4PCWoDjSzoqBdIgA","tlshash":"fe65f7deed242cb16b612ac6d6df85ea009e7b8541a18718fc0cb5c11bbf11c52f8d6e","size":1492221,"data":"","first_seen":"2023-07-01T10:02:29Z","last_seen":"2026-07-27T05:40:41.022313Z","times_seen":64,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/es7.symbol.observable.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"04b5dd180c5929cdb9f21f50b4cb723a","sha1":"1c574c3baf24d7406d56e2e44baf17bda14f6f06","sha256":"3d3894f6b45071886bcc45c56660c6257de32e8a3c90db67184b02347b1fbec5","sha512":"eb14952a606b6c3021c27a70652309c01b09cac8e00040068ed1847dce64b40b59e27f737002a4a7e46540bdad4a411de4db992a8c661de8991a4939fa162124","ssdeep":"","tlshash":"f40144afcdf47ca627fb0c59aca081fe568af4c6885244c5f4dd068a0c1296729f762c","size":675,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.143173Z","times_seen":160,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/string.prototype.trim/node_modules/es-abstract/helpers/callBind.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"ec62f47b87193eb89d56b63a090163b5","sha1":"dddeb332ac02d473ff524f37969bda471d371602","sha256":"c86cdec18f4bc8d62d75f3a3bceb379018a1682b2a4a6f0bee4e3f0d69ec32e2","sha512":"6d15f9fd353567741fbf78fd33b0d3d052cee2b55031faccaa84326d52e6e5b0e753d6b3d56c23f348ba4906ed99d81367f9d00f133298250d27693166bac4b0","ssdeep":"","tlshash":"0d3154eeb8b228a2297539dad1cf9a3e04dedf5180d0864c552cc6ce1c7a91d5276c1f","size":1718,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.166661Z","times_seen":156,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/locales/zh_tw.json","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"e68995be23b527bdbc192a0fdef041ee","sha1":"a49f4d7b1c18adea25bf42fbe284206fbb870584","sha256":"0bd3cb3b107b2577ce5421b0a5f7795ee7e249c7d6e928d2ba95b17e1b261727","sha512":"49174ecbb5611f272a8fe663dc49e2bac37c8d5c91b550f3a1f17f196ff8f4bbab196db8d7ee2eb76ca54524f045c95dfa27298312f33036a27ecc97b084f2bf","ssdeep":"","tlshash":"1f41cc69e849d85fc8aade4ab2f95eb50e4c3ee859c14b447cf5f420005d2b2f17638a","size":2409,"data":"","first_seen":"2025-03-02T07:16:21.322591Z","last_seen":"2026-07-27T05:40:41.037483Z","times_seen":32,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3.tradingview.com/external-embedding/embed-widget-screener.js","fqdn":"s3.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"1d1f8c8f959c6dfe16b5df875e3e6a20","sha1":"05c8ccc14d187d3f57e68109996ffb71835de5a8","sha256":"362c5302b447aa33060156e760f193574c506b4bcbcce3d720c0422a830da740","sha512":"66818bdae0d6b15dd9e97bd4ab64b6396595b2f685c5643165618cfce9f13699a12db224ea81c51e78e303be467795c01dd25084441a89c487fab2fcfb37882c","ssdeep":"384:gfLuCWoofYkFdjEUjrb2oNf0qIOj26eoVH7MXt:u4MUnb2oJDIOj26eQYXt","tlshash":"f452c6aab660ecbd41d945cbe07a2720b61d3a44b207eca4b5acd4c550edccca531f7e","size":13242,"data":"","first_seen":"2026-07-16T20:48:56.348973Z","last_seen":"2026-07-27T05:29:38.745985Z","times_seen":107,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.46024.97176aa48fe9d9a0d127.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"07d126f5f997c2ed316e3742d5b45af1","sha1":"826dfb648f32acec5e5699cc15a08026e137e6a3","sha256":"fb0cd50a605d7edce14affef79a6dfae9404ba2f7d7818008345363e9e26a988","sha512":"c7114acc89392a1469487feb62b74be0cd3a585a3b5d7a4bb38f30575f557f59860a020911d77ff07f283945810bbfe3bd8586e314442a21ea0c2e1e3625bfc6","ssdeep":"3072:WFM91hHo+AyVKC+wNBsx4A5b0jp4mMGOlyIhVh4dt//9:WFM91hHo+Ay/NNBM4A5bsp4mMGOlVp4d","tlshash":"69b3fe03c901d0ea9fb2d6063ba5dcc878f0774541f0e6c27b998f29c5a3da6593a778","size":115596,"data":"","first_seen":"2026-07-25T03:24:57.378453Z","last_seen":"2026-07-27T05:29:38.731107Z","times_seen":96,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/js/jquery-ui.js","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"introduction_type":"scriptElement","is_inline":false,"md5":"2f665912e2ef0f984f13ad090ed67f4c","sha1":"a642a7c496158b625cd84a4ae0053ec6e04464c5","sha256":"8f69747cd27bdeadfa1d262558323ccde9ff077a6fd4118911357c68634ec2db","sha512":"9d1d56b2638c0006d861fb910d3f725e7fc18853a861abdc6df6e8c10becdd92b54fcd4fc32cba17ccadca3507b1f0a93144f9fe4a43d788e5127d566e426820","ssdeep":"6144:fnA+sJQfNb8wsucTHh5t5Ql862ErlSrJdYKF28cxwFjn5nn5ZOlhgpRgqu/GdTin:FbpsucTHh5t568Y0rJdYq28c47Ro","tlshash":"e3a4b7d5734f266f89ea3359583a9189ea3dc0b5d202807d789d58dc24a8c1843bbffd","size":487212,"data":"","first_seen":"2023-03-07T21:56:53Z","last_seen":"2026-07-27T02:59:54.681155Z","times_seen":5,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/vue-custom-element/dist/vue-custom-element.esm.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"0d4bfc4114a95f3c4c1d6165aa5a1ea5","sha1":"3532388157d1e3de2693c2e9214a5e7afe0abb19","sha256":"031930344034bfdb773f3ff8a3972e3b29e5a2dc9f8870802009d182429acd8f","sha512":"70ff26500aa13fabef73a527827fe786c648f90551255ee038ec40a7a29b9d51495c357a939d2c5040b3dc45c487ed93beecd0df097f4d5595e5c4b947042a3d","ssdeep":"768:dL4ezf7pKRS8TarXJgzcUDbJFP1VonluteyUtGiKzZhqPQ6J:5f7pKRNGgzcUDlJonlutVuGioZhMQ6J","tlshash":"7223f9d8fd2524a16e53619e86cf54ce20ad2b03469acb4cbd0df1c00ff561d52e9eae","size":50120,"data":"","first_seen":"2025-03-02T07:16:21.319595Z","last_seen":"2026-07-27T05:40:41.142398Z","times_seen":78,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/components/mixins/polyglotLocale.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"f9b0e65b6c5f62feaba86c6a7f69da7a","sha1":"b7683c6e6435022ad5c30795e10ee882e2267bba","sha256":"c6136bf38f1a39d46c3d6fe70e7e15103daeaaaa2423615c45e8c14cf1e2750c","sha512":"f106d266f5a81f8025434dbb02f4daaf85edfe51d6e00a9380e3458de47a8dc9916e056883c95dc6409cbaf816955b49761dce888f3063e30eb259dbc9370bef","ssdeep":"96:EaIRUZeJxGUBdO8fLOasgqmTdDpkhkvGVC5Nu6nt8yHY:zKGUBs8TmgqmTdDpkh0GVCju6fHY","tlshash":"26a1836daee72c07d309fdce098fdad61269030fa41d6d487c0e69844ff611c46e5b25","size":4756,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.063159Z","times_seen":161,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/locales/vi.json","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"82edd4945cf7407ac140d7c8d8d8fd2e","sha1":"f6686ebf7d4b1a415a8b9e31965c1b02e18e2626","sha256":"ef5428390e3180410c0dec67423a9cab803a8cddbdb4e523a78b568572461abe","sha512":"dbacb747790d0b37e7ac79b07adfbcfae337f905bf43be3cc9bb2803e322f2517a02d7de3da8eb8f5502966f1ce267785bc2a110df818af69f7373cb5e15fa9b","ssdeep":"","tlshash":"5451ed7ea84cda0accb5de0de1bdaeb60ded6cf422c403759df5e41040168f0b675a65","size":2925,"data":"","first_seen":"2025-03-02T07:16:21.158205Z","last_seen":"2026-07-27T05:40:41.068913Z","times_seen":31,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_to-length.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"078bade7e5adbf630d9887f4b0edd1b9","sha1":"ac596af75f3b39c8d164b8bac36afb2a03ae20e8","sha256":"f911f6f833bf4018d9bc1c7c3e52672d883e7f638f0400d08ca93ffc2a11e593","sha512":"373b0f21d276fba56ae489de50e15e8923d8a2b2ddaa40e45e017293c68c077566a710f9772c9f7e71b178c5ec86f8d4f92be3c984df9561fab1272959c714ef","ssdeep":"","tlshash":"2011429bd2f92295193a2e4af600996900d4f88044e68c49a49def752cf6932716d50e","size":1047,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.128912Z","times_seen":174,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_fails.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"1c8509e79ef9366ad40d0f234779e515","sha1":"fd6c5c8fe854794279e7119087f5ab67218fc64e","sha256":"bad04b2b7d6a7ad69b356e80e739ddc2078a3974d1d8a13206a347d897a0fcfa","sha512":"82042ec7ea219f8a811104f02a85d9e309ef1ae7361707ec625523f98ad18e52b1687234809916a75768f2b7799225e1551da1e2bdfee5cd26cc89f69e39570c","ssdeep":"","tlshash":"f80110ff98fa249535372c4ae64b81ba42ea47c3c465864ce48807d03927b19a5b6e0e","size":715,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.094574Z","times_seen":219,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_enum-bug-keys.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"d583400f766376e785f0d48d3b73936d","sha1":"d16bc448925b63db9d3c39ea1e33d1b4cd82a0a8","sha256":"bb1215bda358315004ab7bc8497da45a8c3e63115b70b283ea41ac0ab731b1b0","sha512":"f8cd5f8fbb282985b45a73e32e116e9c791e092b4e922734218a3dfce7544bee17d57491773e5074bd3eb9a97a692bfda6445a10a2080075373ef8228b5bae14","ssdeep":"","tlshash":"c6119b77877177ce17b6ed09dc414547815025c40e728d86924c3f413d67650d164f3f","size":879,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.04883Z","times_seen":192,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_array-methods.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"c0280b69097131f56162702c8038a6d8","sha1":"a0e7644689be48b579eab81254687d6e6c10435f","sha256":"58419fd974df77fbb447c3b0f808dbb0b09decd7d83988daad6f8d0a4c34c2af","sha512":"82501ee15ec244fe91fa3aa18ed5d0ed3090195c38a8b51f629823d19d6892fd8bd3a1592f544a137b4de4c8191745b698e4b17309f354e139e391e327f611d7","ssdeep":"96:U/AMfn0DGL0OiQX53Qqv3cKBDgQU8IL7QI:Ib0DGL0OiQtlB8QU8YQI","tlshash":"c291c6cddee568506b2035a7a2afa5d0c5cd6b06518af1083cdc92c06f6653c21fceee","size":4608,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.074565Z","times_seen":138,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/function-bind/implementation.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"a8a46c2a93904a53e616a05cdace9a7a","sha1":"b2f422388e1ae14b0f12546839d6993e17faa748","sha256":"6356293612f5b368cdb4245421522485cad72d7d13bd06b9c589efb98c079134","sha512":"3969d2b47aec2f87b792014d9dc008163826acb1edcbd455e1553315f5c35f76e08090bf576c9bf85791ec99f25ef4d8f519335897fd315dab2bcc7296d2a00d","ssdeep":"96:POjo9X/CNKQJCFC/am2ePPDIFj1vf1pySt:GjoF/CNK3FCzfPPD+f1ISt","tlshash":"4191b5cddd662c997722386b03cf61da01ad6b434556d70cfc0ca2810fb651892edf8a","size":4255,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.016339Z","times_seen":153,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/locales/pt.json","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"a64e5e51b2f2ac3630a5cccb3a99429f","sha1":"8850cb9c0c4c690a850198a22639ac55ba00ab19","sha256":"5fb36441aedffe4505d03f15c1a6b31ce13b1ce2d9535b9468fa93c959ecacf3","sha512":"61a14b8f1a2919bf69baf44aa1c0cbfaaa04140b3b7edbf1653f03f768e1d1879f010fff6130512e40ad7f7e9154d49679c59f22d5c3166f9b952053319f2b9a","ssdeep":"","tlshash":"7051dd6ee4ccc60acca2df0a71be9db24d48a9f5b9c08357adf5e504805b0b5b539a4c","size":2639,"data":"","first_seen":"2025-03-02T07:16:21.171227Z","last_seen":"2026-07-27T05:40:41.127266Z","times_seen":32,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"binarymate.com/assets/landing/platform-tiny/js/moment.js","fqdn":"binarymate.com","domain":"binarymate.com","tld":"com"},"ip":{"addr":"172.67.160.195","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"cd9f0b2d1b3e08b28f14cbb6d75217ee","sha1":"65395e3e55adc5e2953e03c8378faa5cd0e324de","sha256":"330b77f348bc97849800b9f3af7d1fe52fb6e145525ad494149d7a202c0c3cbf","sha512":"651e54d33e16ab0ca2fafcfb9c06ef8de815921286358f588e4652c92258e6a74bd86390f6679bf8d2e05b73f92793955e00f358d9fe062cb60f520ca1d7941d","ssdeep":"1536:GOTnbs7GfbZ7fjl2Ulweohewa8WBnXfVo2ESDTokYiMibJUjN:GOUqTZ7/OWBto2EfBjN","tlshash":"46a32d5a59e720224a6366384fdf5001ba38c523560ede04bc8da3d49f96d7c47bafec","size":104409,"data":"","first_seen":"2023-03-07T01:19:00Z","last_seen":"2026-07-27T05:39:36.897227Z","times_seen":391,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_descriptors.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"f5c007449f1c0362efc675011639a1de","sha1":"54c6da3131877bc1233ed796a0f68decd2a4fb67","sha256":"afff874be3bae491d360098f4d0371f9bfec8dd68eb4c7d8a9215a8811cadfe1","sha512":"e7cae8eba453abf68e0fccef1af3b6a630567d4a868fcc298837b718012c6ef19af374db9bb1f46494152d136a5a90f10099d61770033b2b9c07bde19bb34356","ssdeep":"","tlshash":"8f1198dfe9f229430275244ae925817f4ce4559340b60388af0c55cd3c13e2c95b5d0e","size":961,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.151962Z","times_seen":221,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_meta.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"4efed80060e9609e6449b3f452bf5c23","sha1":"cb2ea0ba5c96f3978be57fc0366418365a270bf0","sha256":"cbc6ba868509ecf2d0aab7abccdba8e53803d731543ef5b020360c96068d8506","sha512":"bccc10beb8191c96623254853510982c10911baf8e4e2d3567ecffc1662e228f8e02f67294a9e9d1dce707a3573384f31763436b0a1d7209da8bba85783ca252","ssdeep":"96:YQ1opVGDsotSBZjWnL5RcxPRjKcwjmKI5:D1Vt8jWLrc3jKjjmP5","tlshash":"86a1b69afab0705126383795d7cfe90a61c837821564aa04acdc4ac43fb722e517af1f","size":4844,"data":"","first_seen":"2023-07-01T10:02:30Z","last_seen":"2026-07-27T05:40:41.067263Z","times_seen":169,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_redefine.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"a7685e3f018bbc11c9cd991aaccb05e3","sha1":"f90efa38dfcc3f1bcbbf3f41d6208dece23b2ba3","sha256":"c025b77428b146f97f8be8a27f7b7925c3a444e28fdfe409f4deffcdfe27c259","sha512":"19cbf0b930ec28812ac11ba0ce4630f464148fea3063afe7a4cecc9af11702c09e9bcdc542edaf0ba665b1c7bbbe1c51753cc0a677ff6a339f39fb413bcb9bfc","ssdeep":"","tlshash":"2271c78af3b530921dba14dea08bc67b15dd56c151f64b4eec5c52c82fb383813b696c","size":3492,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:40.983381Z","times_seen":169,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_a-function.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"35ac11421dd25cec4ea1a9e9d685272e","sha1":"77e602516f5cb4dee692c0731155a5b953ccfba2","sha256":"86673dfc92b69a61b494f53585ecf47a44f4a87f9cf79c8c0a46ba29f72fb004","sha512":"46df7ae8666c63d9b60a1049482c72a4317585491ee6599e5e98ea2fe04d026995a06f7e92217657ba848b870060450446126d22ec7e014478a4d89b566f0989","ssdeep":"","tlshash":"c60120eed4bb747a2c7b291992c788bf21d015c180e2438ea20c0ac21c32f59616bc2c","size":757,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.045735Z","times_seen":175,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/string.prototype.trim/index.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"ec8015fe207ef88ef7463c0de50f332a","sha1":"0659065cf265d40ea76810ca5cfe11de7f2e11a0","sha256":"2151130dc303f7af2dfe4da94cae245aecc0ada9e03a881a987e7292186d6bda","sha512":"efb2be8dd9dcdcdcc91070a7ed98f4f8eec4e84f0b6237f18d8311a4cf3eaf373b393642abe27b166f138c7d2c2b6549aa9794cc11955c585f1ba3c162fea39b","ssdeep":"","tlshash":"fd4164faecb05895397f3ddd909e927b58cb97d2d1a014c8e51c89ca4cf582812bd42d","size":1879,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.027168Z","times_seen":154,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"binarymate.com/assets/landing/platform-tiny/js/main.js","fqdn":"binarymate.com","domain":"binarymate.com","tld":"com"},"ip":{"addr":"172.67.160.195","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"f88e94c021290d5e027f184cc6f6a015","sha1":"7be058ade75b8dd085e874df53c1e3cddca752ba","sha256":"55acd0646cbb84b9bd51501cd287eee373c3528c42b99dd3f0393ff82c27536b","sha512":"7cdf79b3a2afb68a48d23886b15744ec8e2a2d05a96168e569c405115b061b5fb8beef01c191ca42cad0d70fb7d40fb1b1a0e6ee764176249e90da48775dc4f2","ssdeep":"","tlshash":"800164887cd338c56767303c53ef1165b0ba5907458cc604ff0c9aa29f6223e91aafc8","size":834,"data":"","first_seen":"2023-03-07T12:40:40Z","last_seen":"2026-07-27T05:25:19.151114Z","times_seen":77,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_defined.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"eeae7a27c42ddf7fc369f3455fe8408f","sha1":"c6349800be31dff34e99d31d3064702c0f28a33e","sha256":"cf88d0cd993c6e93194e983b648e38f75452a627eb130a7f2f3a512f73430f2b","sha512":"20da736ad93c0f5774c16e7790a1d6bdf5b946179a726f1123bb0ba116041872c94193f6e5e727e2aa555c69f6cdff80cff9b4fd4201db24e180e943013ac6dc","ssdeep":"","tlshash":"ed119697c2b13dc613723a5ec115cc4e82a1f8c349f24c89d11cae8e3c2b4442329e5f","size":875,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.156464Z","times_seen":199,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/util/dom.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"1d0dfa71326d4151e95012047ae9cf31","sha1":"0e6c896bc013e13b75b029ea61b39ad568f808b4","sha256":"d4c24b705e176aeed2b43d24b35a7fd9742cb825cee2cd32f71f9c961d39bfde","sha512":"1296858facfb3fc50eeca18834a0a914ab93a683bce58e2c77cb107bde82f2f0891a715240ae7257ffa9f647b4b2538ec86060af5c4f7122128d5af07c57bb8e","ssdeep":"","tlshash":"840141db2af1acf37bf03c458402c7a9702d5d4054176ceed8540ea25ca5a36f13742a","size":797,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.133695Z","times_seen":137,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_export.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"dfa397938170ed5873c6986471a7a40e","sha1":"7161a22cfa8001c63e555d072580daf9a96df7e1","sha256":"36520775e084fab92a1ea2d2fa36c78bd118af040b2ec9de69f3c3203b97dcc0","sha512":"095d5271afa416f853dc5820492f08fccaa691f7e4e6e9b6eaed7e2141b8d89f8d0d9efd8f4c1536fbc344d85ff579309624232c49ce04212d8db38dd293f976","ssdeep":"96:ymoZi+eMNYgfDTH/LnQnKWXDmCrBKGpUunFnwWPow2BquNqVUmg/de4hkiO:yi+eMNYgfDTznQnlqCrkGldLwv04hkiO","tlshash":"53d1c9cf9ea421846f72290e439ff79a418d6b528586db0c7c4ce7401f7b22851a6a9f","size":6760,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:40.998288Z","times_seen":199,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_has.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"0bdecccd35037a901dbc96f36a7bb68f","sha1":"7e2334f33dbb6ba10ee6ee907ffa43006936de77","sha256":"4c93dbfafa8e4c628d12777b1275c014ad19b847946d482e2b6fe520fdd0763f","sha512":"1ea61966f36d016a088fd563bb650288ac2fc145c5bdc90efed2d5baca6ce286a40ebf081eebabb837b3832bfb161832d42c41b05122046a9956260540149aec","ssdeep":"","tlshash":"560165ff04f225873af25c07eb149daf86d4b48405be0a883b4c4b812d72814416fd2f","size":749,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:40.984292Z","times_seen":199,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/locales/cs.json","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"32a53cfc0e69c9ce8930170bbfe83cd3","sha1":"d2fab608f4ff7073521ffd3dc3edfbb5c1ccbfd1","sha256":"6d867ca9d15772755121045881c210cd7147c8339eca6ecb3165991e99689e87","sha512":"746fc9b33f3a04e7eb69f4d933e2b32a5fc87f6b48b65a2db95e5fee8257eeedf9f6955b4bda0c891a99a8b87c36c57153ee47489c66c192f31ac4548bcf6bab","ssdeep":"","tlshash":"9a518b6ef449e90ec9e4ee0e717d4db20c88adf455800716baf2e804042e1f5b5b9a9c","size":2561,"data":"","first_seen":"2025-03-02T07:16:21.274438Z","last_seen":"2026-07-27T05:40:41.0397Z","times_seen":33,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/locales/fi.json","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"af732f74d35bca10833c614ffbec9dbf","sha1":"32560e17206c801a8102c732456dca072de5c281","sha256":"7996d4f534eb7362eb2456522188642650b7be2d7646489d335b936f83b7f5a1","sha512":"e3656b93fd676033216a59c70c33d407aa1016543810152d28797ebbb3a3934e4065afc9c522aa8d85b5e92eac085ae8f13930d9046aee5eaa67d302677f2ba3","ssdeep":"","tlshash":"0551bc9a9448d94ec9f8de4630bc9db10de8aef951c00786ecf2f044001a0b17f76a5e","size":2582,"data":"","first_seen":"2025-03-02T07:16:21.237246Z","last_seen":"2026-07-27T05:40:41.07294Z","times_seen":33,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/locales/no.json","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"f67d7ea216bdf9b7ca5a69e5a9e64617","sha1":"9da92c88f90a3b1c9aec17e498dd08da25af033f","sha256":"cf792653a56a53d38bc0aefeb6b591999f21ac03800369b7b4722e5f39a10c86","sha512":"ecf158a0da4472e5d3297e4ab155a49c13b6b25329cec69ee6155c4c571941d1d9067d26aa497ce18ce8a8ddcc4a400bc1ef329372b96c52451a033f6c86e8dd","ssdeep":"","tlshash":"8f4190aef444c94ec9a1ef0e70b98ef05df8adb066c10799edf8e014001e4fab175698","size":2412,"data":"","first_seen":"2025-03-02T07:16:21.216725Z","last_seen":"2026-07-27T05:40:41.126476Z","times_seen":32,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/locales/sl.json","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"e587f29e8e30b2db782b654494251a24","sha1":"c54114ec99e24c1d4a0c2f42a02ddd2ac5c732d8","sha256":"6f4a28e0b4cf56e2699b6a31532992b5d8329cdbd7da72f1194f3016cfa2e626","sha512":"69e88d5f47929fd293c699486c8859d1a05e4efa4551eeb7302a9a79d16fafd3120203cdf1465b36689dce0cf6c129624faeeeb9504c3cdf9b1e425ea4513b90","ssdeep":"","tlshash":"39518f6df48cd60bc9a1eb1970ba4cb14da9a8f865c1035bb8faf204501e0f871b566c","size":2609,"data":"","first_seen":"2025-03-02T07:16:21.343249Z","last_seen":"2026-07-27T05:40:41.120007Z","times_seen":32,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///gen/coingecko-coin-price-marquee-widget.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"643c3c6c2dac6a01e95461846e480100","sha1":"04bc5c5b2faa8ed913198ea5935dbf8ad6864030","sha256":"a39eb9dd4e4d125a00604af1d2b84e49e66aba7c886af99704502bf36d83f4c4","sha512":"425b0bfb5cdce325460e9c558b2e4518ddfb2f250a3065e1e263f440f55b793077b803869694309223c9632a892a77efbd2416ddb404189c40122fcb8ad1d8b8","ssdeep":"96:Mbc6XC2Pm49B72pHafInU3mmoZoaPdsCZ8OPPUTWkkyCc24rpz:Mbc5QroZo6+C9EikkE24rpz","tlshash":"5dc1766418a99c877776bcec2d1bc21711d2360780dcb8095c6f64e45ff2178a1fa7b9","size":5777,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:40.989443Z","times_seen":68,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_fails.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"6d98ab7bd585bf82ce53e5412832fa41","sha1":"c0747526772c5c31a17ad6b133a24cdeeb2b696a","sha256":"345132e2d8d0bd4e7ea145d3d9c2e27ac334bb7ca22bca176e825d6e4e830d12","sha512":"1936237911980a4e337fb9d4927eaab635f8831fe4a8480044d50ed0bcf072229ec3f60811810b2767582ef9bb5758e14bf82af2c5c283e481277c9a97b5b320","ssdeep":"","tlshash":"ef01fdbfd5f734ba2baa6a8be447827f518b69c781508a4cd04803502e33b24621a81a","size":743,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:40.990299Z","times_seen":201,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_add-to-unscopables.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"dcd94ed24e2baebabe3d7f01b3db0619","sha1":"b9abdff7f244d14e8b133a272ebb30c8ac42ca37","sha256":"edec1576799e98848226820f267619fea3079f81757fe7f6a9332307f7a674ff","sha512":"43938bc564046c0c03aebb5700cec0d26d502c08e471bde4a559c11bc3353253fb9d46158318680748c54652a04f1a11c16bff4568cc8509ccc701de59eaf85d","ssdeep":"","tlshash":"56f002ebc4b676c61dfa6836dd6180abc8d568c74457014ea61c07c13973d292366e0e","size":610,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.024613Z","times_seen":175,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_ie8-dom-define.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"ab4280f5ae27f18f0eca970e4527c398","sha1":"54247ddb33bf827c935eb9df8b6f7fa2f90fe38c","sha256":"f99d0b19af259b939767815dd437d3341fd31e33c1ec67f098a37792422296d9","sha512":"6ee987717faef6126af7d3cd8f1aa40c6de10be0070112daba28ff548a2aad686c45f5136c501fe7fbc0fb6d32ae4845801ecbfe9ca29645edc87591e0725f8a","ssdeep":"","tlshash":"322196dbaff12a420eb92c9df9b6c23f4cd4608304e705859d9d56c92c1293c72b551d","size":1130,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.172159Z","times_seen":173,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"tvc-invdn-cf-com.investing.com/tool/1.12.10/jquery-2.1.0.min.js","fqdn":"tvc-invdn-cf-com.investing.com","domain":"investing.com","tld":"com"},"ip":{"addr":"172.64.155.105","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"1514be1acf771d5a484aeed96b2d30ba","sha1":"0faaa0c56f563693cdeafa299f97e3d5bd6fcdd8","sha256":"a4469f8e63bb73eecdcc84f2d2c106f3ea4d516bfe044bdf6a35a5e613efc931","sha512":"37a9f508a99c461d74bb2fcc7816978bd2c10b4979e41005ff099a11b8808e6820c38051f8bc98725133ec6b99ffea7c4186ec55c98a42eb21fdf9cb241873f7","ssdeep":"1536:ePpEy5BMibZGOj/bEe8v+/UWf4IhvAQP2Z93E8ud44d+ROvcgbRNkVPEWW9MtXa/:dIODpETQRBFrta98HrS","tlshash":"4b83c6d9b2c6b162d77730b850bf450bb13a98dab80c8c60f0a5d5e47db4a89507bf2d","size":83619,"data":"","first_seen":"2023-03-07T16:44:16Z","last_seen":"2026-07-27T02:59:54.645399Z","times_seen":131,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/56258.282e6141fc02ac85d0d5.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"a9563eafb41c9e6b519a29f0206f6b89","sha1":"43a8b417d99fe60c3d65ddae1e66d8cabd277000","sha256":"ba67ff82446ee411a3ef96ebe6abe55cf6cc1abfd78c841cd5d9a0a70804725a","sha512":"1e31a74cb24aeb33cac85e854608a21314f1416f3db595d14b0577305da06f72bf42b9dea2c36f570fcea9dbd7d88793bd8bc291d498ab58b1e2413f173b781d","ssdeep":"96:AaPctCCkctcSycQOchchctDOAXtC4C2GM0/CnXkMHsU3KEu9pJfmJuuImRBYkqMy:NcUrctcXc3chchc1OotC4ChMUCX1HFRM","tlshash":"d5c1118471c1f09513db9a82a4370606f27d5c5c704b79ece3d0d4d6aabba4db42bb36","size":5966,"data":"","first_seen":"2026-05-19T10:58:17.796011Z","last_seen":"2026-07-27T05:27:33.169673Z","times_seen":736,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/@babel/runtime-corejs2/core-js/symbol/iterator.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"ff735abf9c0e1f05d2e2963b79cc2ffc","sha1":"89ad7200a4caf7743ff349cd5f119ad6b9b8ac83","sha256":"3ac7a3c342b2c96d5780d81a8228ec8f350589a9674be546891e3fce9dc0fe1b","sha512":"8132921c5b65cb1bf6f2f3c6573886e213269fceb77bb538829b7215f1c4d83d3eca7321fb45315ae494e735a0e5ab7ad57f3957da7edd78f7b3b9ac7d4f45ed","ssdeep":"","tlshash":"6e0165eb20f529a214ec1627c5e054ffc6c572c2d1534d4dacac19c3bf53c10e1a092a","size":730,"data":"","first_seen":"2023-07-01T10:02:30Z","last_seen":"2026-07-27T05:40:41.088615Z","times_seen":197,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_uid.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"13046aa8e40b593ea2e67dfc4dead060","sha1":"283fa36f51968560c42d74345e944219787ab88b","sha256":"060da8272772c97727a93ec98099dfc28cf28dbbc2f093de604d004df91ee059","sha512":"e53afcaeb401cadf43fc6deba04e03e3a5d3a6aa712d46eae4ca928e41beca4241ae424a35df4bb63ef3e34a4c87631d04f327c747b4f94ba531b307555d922d","ssdeep":"","tlshash":"f11196fed8f668c226754813d550861fcdd84e92022a0b48f40c06462d73d08b296d17","size":855,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.095399Z","times_seen":193,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_iter-create.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"fae667b62c6883681dc6220e35f63040","sha1":"5de969a37f7b3b37aabf5502738b824f5bfe6314","sha256":"32a0d30f56dbb3ff108be58903ba415915aa9810edc1be9ed3a273d94a0f2698","sha512":"17d1107664d960f227a7e4768b4632ad7a98c7bdfb955ddda5a858be4d51311d51ccfa619008f0184c25543275f88eede95118618c2f4e671608d0ac7958e625","ssdeep":"","tlshash":"374166c6def195121fb8299ae172d2334cc92340e0d6958499dc4eda6ce307d13b542e","size":2083,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.132079Z","times_seen":171,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/locales/en.json","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"73024c09f796ed80189d1db0301fa049","sha1":"3767d05dcd9523ed78cec3e1826689731d4b97d8","sha256":"2fd55288ccabcec894ff421c02499065c85296b6d8a375ae0218045ea070fba7","sha512":"1dd6d2f8e4ed7fb772f964a6eb3ce9fc2a2c863a8cbe9344226f1ba8e6292c2067d66e72551352158c7523d1e4e6deac7a44f2fe6461908a73493ff25f372071","ssdeep":"","tlshash":"d241bfaee084ca4ecea6ee0d717e8db00d9879f452d40795fcf5f408402a4f9b576788","size":2341,"data":"","first_seen":"2023-07-01T10:02:30Z","last_seen":"2026-07-27T05:40:41.116047Z","times_seen":81,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/js/jquery.selectric.js","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"introduction_type":"scriptElement","is_inline":false,"md5":"bcf2aa83ea9ebd6a696704277fd3bdca","sha1":"3a34b20f14d9436c4825e065e7c26e58769645ea","sha256":"3aa49046061cd82c6a9ed5ddae890ca547520e8f27b69f688df08b48d38a9b29","sha512":"9fdd0320f28358111cfcd4158c5bef5eae4af4a6bebaae2e1e1f70c8c56b2bf5d60fde830ea9b5ed71bf8e33282d497fbc2f26297b0563d594c502a2bfdf0b0d","ssdeep":"768:cWo3l/T2ogP8zauKwyo4LES29xU8CILir8gkcsYdVhRNb8FoyIALy0i3pnCLLDNm:UT2ogP8zauKw0Ly9xv+r8gkcsYdVhRN/","tlshash":"97f26f4724da22624c7b737a9f5a542ce776022b800392587cac57c85f71584a3beffe","size":37548,"data":"","first_seen":"2024-08-20T10:55:06.333348Z","last_seen":"2026-07-27T02:59:54.637499Z","times_seen":11,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_iter-define.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"7388f979019af1706fdab5ca77d62fd8","sha1":"053ce39416a81cea8528cf1af9975193bed229bb","sha256":"390279936d2968dac3f677870fe7d5ccd9d95f6f172bab0e37cc40b1981cb563","sha512":"c3ca0033786a4b013477b1967b2e1411f574e0190274e6dfad2fb760aa6eba9e4e65a82c3aa22c2c36538f60995024d68dca13ac939cfe711a83f766508282e5","ssdeep":"96:Tds7WfBegJTI+NbXTozhv9KKn1f/WYeC+GTsi7TUVqbQeC9zGdmQPlufn0:OWfpnxkB9Jn1f+YFaaQpMdmQPo0","tlshash":"f9f10a96ffe2704017ac2794c26ba42a05ce5b91c451a68c6cdcdd882ff313993bc96f","size":8133,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.121566Z","times_seen":199,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_global.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"818a21b228a51ebf390812c6bdb26f83","sha1":"0c0a61dbeaa61ba4a85860ef9558bff0ecc298c1","sha256":"8af3889db6a873e6d1acd17b50757972e6a84f2adbc8a2d10c9807eacb831017","sha512":"61bc11232246cf2bfaf24378637dacc5ebd2b16cd64177aa86201769f022b564d0277f4a36b5a854f833583ddd8d5d7b099f6c931398dbf0dbf995b112308f20","ssdeep":"","tlshash":"5d21b6fe8cb634155a764841cb56968e72429ff3c2a84448da1c02c11a2fc1a11eef8d","size":1357,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.038156Z","times_seen":201,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_cof.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"03bd6b022cb13e7d68f36c57475b11d0","sha1":"2f31338f7b5cffdb3847f90810cd4af5c03b915d","sha256":"2ad42c92c2b17641ffa79c008b58a74e8b25757a29ce6b1384d51e950c585f5a","sha512":"065b542b2d54fbd9cd824ae65f3e3ae519cdeec54d062ca9e77ce883232870130aa04c990633d9bc5b56c98ffcf93c533af3a10e08cd89209f833f5fb1706f31","ssdeep":"","tlshash":"e40144ff92fa78d920303e4dc501c556c49811c280d4454cd51c078a2c3ff58315ab6f","size":695,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.012654Z","times_seen":171,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_to-primitive.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"a15e08d31148c823caba81787b6aaa85","sha1":"d040a2330b2ef0dc7e646465e9123f43a54cd9b2","sha256":"0a4198106724394e4078a23b3a20717eb96470693eea0f16df467b21c7aa2b24","sha512":"ed60adc6b56c7554bcf81186db0a163bc55d9dba6ab4b03e357ed550a55950267ed34acc270c65131fab7884408e6778fb2dffde0fccbf8470382f986a2ae939","ssdeep":"","tlshash":"1d41c7fff5a5b8d316202a40916f4c0e96d91681a0727688f15a42d92c39e7c727ff2f","size":2133,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.013435Z","times_seen":173,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/symbol-overview-market-status.199cf5388aa75a30163e.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"6a09d99ea90d16cf1ba53977e2a14c64","sha1":"9dd7b4f2e308f30dce8edd69022d68766b575622","sha256":"c7498e02251a4e23b7f1873f0f804f5d62a650f01cfe0620d087cc7a3a8d1e11","sha512":"7402bc861aac5dacdd5f7c365a88e56e14955a194bb4a9996ed62c9e51facabd0b2d65d417ca5c88e02764cc410e8d1dd62d05ba059786bd752aac0fb1dae076","ssdeep":"768:3U86G6+aO4dii2h+5J9O3Q1oUPy415iHBJaqmv8gU4vTQxZUTAG45zI+LN70Iqyk:3OUK4QyA3GAV4jnNFnN/Pw","tlshash":"eb430a54b1c1557922f242c8d4b71a12e32dbc567d6b8478ffa888df6a8c941a037ff8","size":57282,"data":"","first_seen":"2026-07-23T22:46:45.87198Z","last_seen":"2026-07-27T06:01:16.324117Z","times_seen":15,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/es6.object.to-string.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"edfdc5b0736ad1250baab96ab8bbc840","sha1":"0dac9d24cbbadb244a84975f03aeb7a583dbf369","sha256":"6f9755e2168033d56f4f2667ee80208c828cc68b054e5edcc887978f7dfb7e64","sha512":"82d50fcb246e8db43720817354a8ece33388ab7d71e7f5fb8c41085be3f1f5e12360e1e7fb8759bf4600e9c6d314a64854c053db828130d462a5dc602395b2dc","ssdeep":"","tlshash":"13e0f1dfc0b11dc325bb1c189c11cc8e805922c588724488e0ee8345246b86264b451e","size":361,"data":"","first_seen":"2023-07-01T10:02:30Z","last_seen":"2026-07-27T05:40:41.100494Z","times_seen":165,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_array-species-create.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"0bd3a8e5be664d348b544e7a7f290099","sha1":"d88d23bd97a9a80820ab489e4724eb2b0b912c9d","sha256":"6f07d1dea51f3f815436a94d769023cbd2e3d93cbc5a0283c8c9d3d89c1db79e","sha512":"3894dcaa835113bac22c53152fcaa116cafc04e23fd5be118a13560a9cb7ba951aa8ea4973c26f721d2bf8ee5af2229b154d6de1f5f18e7ebdf25334da28f504","ssdeep":"","tlshash":"892186ddd3f728ce2cb518aaee25c6636ad91442a55a59c58f1c8fc4281ae2437f980c","size":1121,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.114405Z","times_seen":139,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"tvc-invdn-cf-com.investing.com/tool/1.12.10/datafeed/udf/datafeed.js","fqdn":"tvc-invdn-cf-com.investing.com","domain":"investing.com","tld":"com"},"ip":{"addr":"172.64.155.105","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"e549203032351921a0ffe49e46aaccc7","sha1":"020f57652d40cd8b03c260a628ddd9e1aad8e832","sha256":"b0c9bfa4c6ca7236c55649cc13c793eb92db97f1bbeb1e0ecf5d012acf27ef30","sha512":"9467afa3070a8e28eeda9e460dc9923ac019807cf416606013ab14604819c913e3c243594f4c211b4708015bc07c9260ab4585b72d11304382e2532f1c9da72e","ssdeep":"768:unyoyf4jtsZREyCkRo6ocuTe+EXns5oNeQ:uUcy3s5oN5","tlshash":"51c272c03b6f301a82d1731354be6a4a993cf8648984917cb6cd52cc36d8b2db75af6d","size":27883,"data":"","first_seen":"2025-06-28T04:54:50.206135Z","last_seen":"2026-07-27T02:59:54.638607Z","times_seen":9,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/36938.58456da0cdb4bb9bb485.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"0b3a2f0bced3b2d13e2bc4271e8f8bec","sha1":"c8882777ff1ea1c0a44cd5abb3371658234b1ba7","sha256":"cc20688cf7733b705a8082a5cd27b28bfb7c5bf465b3b37a793cbb16845e2044","sha512":"79451e25e3c330b552f61617650652ad0fec3ca6846f09ab1abb2fee164ff668ea5b4bddc93377a87b16a14cbf8b793a074e8b00f7f1bb596ddb62211aae77cd","ssdeep":"768:1NuXCwjvbjs5+DLdgy+qR2UxNnoxErOw2f+gCrpZAKA6DQKG4JJZXKTmpcu9Chqj:aXPjvbQ+tI6XXoOow+H0","tlshash":"25f22c92b09170bc96f746ee943f0552f33a1a64b9854868f0bc8cec2d64d49e272f7d","size":34428,"data":"","first_seen":"2026-07-23T14:00:31.698766Z","last_seen":"2026-07-27T05:26:55.688542Z","times_seen":63,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/vue/dist/vue.runtime.esm.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"6e3f14e27c6cfda8ed14e5b7faac7705","sha1":"7385a2f1e19c5923972bf09f990415117c6df0c7","sha256":"1006942b80bdcbb1f0bcec51ca11539ff8b2e30fcabf579b15b2686ca7d4d30e","sha512":"df64651b41b8087e0578a89e85f04de430ee34ebfb4195a5464e0df691c9d76e7e5d6754e40db1b36aeb5fb94be091a273bb2cf1c0b2bc7041f26e47d56cf741","ssdeep":"12288:kKQfcI85NwA+P3s6tFsXevN8qU5XXbzXnPEj:kKQhdIq","tlshash":"fcc4d8ddfd6420a57a126ad682cf95da109d67034591cf4cbc4cb2802ffa22d12fddae","size":565968,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.023784Z","times_seen":173,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_library.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"3d5c42789e8440321841ce546faf4809","sha1":"d09ebe575e531c0a1764079fea57fdd980a60b0a","sha256":"dcf2c3d4776f42ba663ede581ca758b387e88a4361c58f52a9e21a393ad1a5f1","sha512":"287b5a43d79f79abafb984ec66380218bd7709dc67fa998486ee9781661a97ef6c788b97dbf09b5962573f24273f8727afd6482247da50e21e2123ef61643c73","ssdeep":"","tlshash":"bef09effc0b72deb1ab61c16fd5185bf88c554cb8066064de55c47963c27d2460a692c","size":489,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.011832Z","times_seen":177,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_object-dp.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"7bf221a5cf60a922a2b2fe95096119f2","sha1":"aaf8f2aaeced75206fb9e1558d77498315a783fd","sha256":"b1d423885f1d39e7b0ca67439809a6863f8cddd83c34e5035933d2c2f3fdf6ad","sha512":"26ba28d9c370952cb8f5b06d3890bacaa2f4bb564518eeb9df218bd2d90b1f3bf2ed319bca915c7faad094f9bbc7e2b03300f0db3310c25eb2e4d776c90d265d","ssdeep":"","tlshash":"604194eaeef009d32a753c54f81a907566c9d7837452928dd48d56801cb617523b802f","size":2225,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.019644Z","times_seen":174,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_is-array.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"70d6d021910e13b33813872ae5d4d993","sha1":"912abc98600647c860230c2ce610a7f26742f84c","sha256":"12b462f05dd03d8e12bb9f0675f729ab712f18376be0f5fa2baab4711d9abf6e","sha512":"4575675860fca71e5e95600d2d7b25b33320a18774b6f4d581bc03611017b4c140816202c0f9549ae51f87dd9246e54ad47477e0d5eb78f82ff129ba6837d9b4","ssdeep":"","tlshash":"cf1192e9d3f520aa1878280de12886bbc6e269e340200604fc0c8ec12d77834a1a5cad","size":867,"data":"","first_seen":"2023-03-13T01:41:24Z","last_seen":"2026-07-27T05:40:41.029471Z","times_seen":138,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/string.prototype.trim/node_modules/es-abstract/5/CheckObjectCoercible.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"217a0f3cb22741d0d44ff2bc0e45d08f","sha1":"8384c3e0eec0780e7ce1dd377d23df8b56974ff1","sha256":"c25b6f71c3bd087a5745d89189c990fc8d6a4a6d3df78b61d93bac508ad60f6f","sha512":"1a32445774ee61b4c0030e1869a23f16b112b832aa7f13839f361dd4d9e6c04039d76117c35c8ca528ce71c4bfa2d80a3072869100c930ec7bed7bf0aa8ffae9","ssdeep":"","tlshash":"9e31c88bb4b55da629712dd6b119445d88cefc93c0b38f8ca90e0dd31c1a5551278e2d","size":1622,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.112706Z","times_seen":156,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/locales/zh.json","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"d592c4332a9495d3e2ea5fe1f5b252f6","sha1":"dd7e5ab7627c59832913766b0b1cf940aa4e2192","sha256":"6a4c87632e6d29548ca82509d7b074bb8ccb746b18df0426f28cea81a27565fa","sha512":"dbe2db0e69ea5fe91aff1a153ba865e1c9df689639e5ad81212559a94e16b1987c2dabfad23c6572b9a452097b0e78fc868ccda5f50e95ef8681d91c26d569b4","ssdeep":"","tlshash":"6e41e165e95cda8dc5a6db0bb0b54efa0f4839e465c04348ecf0f410402d9b9f97638b","size":2429,"data":"","first_seen":"2025-03-02T07:16:21.288982Z","last_seen":"2026-07-27T05:40:41.031584Z","times_seen":31,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/es6.string.iterator.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"8042d3ea81f38ef7b7d70cb279892dbb","sha1":"e5dee8d9207e4d780ecea7c4d655583ad3947744","sha256":"e7abca6184d887f27271abb4d9faab2263a6a1362c1af72c0869c626985174be","sha512":"1ddd9cd4f732b05e78775c3f77c14c581e52f24272c02f0171efda0ba0407a18049feb500ae6db3ca9d552005547eb73e2c23f632e07ca4f7d8c96af85a9f41b","ssdeep":"","tlshash":"ea41b869efe05cd224383999a5e7681e148d1b45489396cce46d16cd2cb713835fcd3e","size":1956,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.064858Z","times_seen":164,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/_set-to-string-tag.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"1a542caad8bff3b7c3418c31d915626f","sha1":"64e641fb14646c51402c49c02491e7e4903ee10a","sha256":"74578ad1cd2bc67e4035b3347a9281799037c63bb55946b7d88d49bf737cc115","sha512":"31a74444fca808d1c653b0d0d82e86644db42fe4c31db0373a5c885fea22caac905e508da83bb9e6f46667878dabec9f02c8a0ee1467273cda5183b2d1af2561","ssdeep":"","tlshash":"4b2183dbdaf678231c751959f115c23f4ddd63c284a800c9c99c4bd91ce383925f681c","size":1309,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.191273Z","times_seen":172,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/@coingecko/cryptoformat/lib/cryptoformat.umd.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"5fd31fac0f79a01830e0ae3ef16909b5","sha1":"eb80ee85bfdcb3ea2dcc6fe9d891f6dc23071a1c","sha256":"4c7cc877b760135f31e2d07aecf57e3b9c69f54c2eb13ca745ba7f6f53d9db4d","sha512":"e83ebd7a3de756b6f6bb4e0ebdd0f30c43a8382af053f8ee3a5fc3bb6fd7f8861053eb88307ebf0995cc22589d0317dca00135a62a213a60cf057c824830380f","ssdeep":"768:vQNIIeYkK37Rcul9UCItWlOARZpL7vymAsUoklp3hCexj7mkhn4w93TXHkWWCq:INAxwcul9UCItY7vqmAn7fag0r","tlshash":"13b2d758dd3224b2da3156cee18f4794452e2b0719116b87f41da680afafd1e03e8f6b","size":24990,"data":"","first_seen":"2025-03-12T12:24:47.56553Z","last_seen":"2026-07-27T05:40:41.134467Z","times_seen":10,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///src/locales/ru.json","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"7cf9624a2c306d92490fdb8f6d8f9810","sha1":"7e696b391b4d2b4faf0f87291a8eb48590e8c4f6","sha256":"4580bfe1762abf034864a4596a9e7031252d1ec5e7ee87cf622ebc80c83b335d","sha512":"d3e3bae49ff9d48e6096fa6b5a005e0a26c2b2d57a1e07e9165dc2c85af1425bed1a9d9020fe8290be30fc2ddb2b9222e890c9cb2f0f9036cae86deaaa310e37","ssdeep":"","tlshash":"a56111aaad48d85fc612f80bf8399ea15ca568fc1b971381bcf0b85c50d70f46139365","size":3256,"data":"","first_seen":"2025-03-02T07:16:21.225191Z","last_seen":"2026-07-27T05:40:41.064041Z","times_seen":35,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/99827.d3976dc0c5cfa2c2140e.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"0af33a0629a4a15d05b8d21be003c0eb","sha1":"d61ed97048a72976c85785513a62b5e8590fb75a","sha256":"4dbdbd0c38d1d6468cbd0ec6b02411faaeffeddfc87c7b638be2e1263931cd14","sha512":"4350a5eab085a85477d149b1a91edb41a808bb070818e9d43e5e1147e4c71a0a5c3438616ab61efb6497365cb84e1f518343afd20431bb8612ba9f7a2165f814","ssdeep":"1536:wjugPsJO3KbxBvr1tBzoxvAgVIvrKfu2DNzmR5axsx5Eng/vc2JZu4+ej3aNOtHm:k0yKlvh/Z+839HMY74qBs","tlshash":"149309ddb2c5b06257e731b910af650ab237249d680d8440f139e8f6bc74b4aa13be7d","size":88966,"data":"","first_seen":"2026-05-05T10:36:04.846561Z","last_seen":"2026-07-27T05:24:15.730806Z","times_seen":1971,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_library.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"1b3201a6a178c89d4ad0ab02a26af282","sha1":"de2294556bf7a9c607b643859e29f29ca43f13f5","sha256":"f0bdac8462dffa579fceede83ca827faafbc4506465b89b903436f73863f758b","sha512":"abb04a9afdc7d5ec28c1108db5be63f881f8b290e3c49b4177d63fac0accf854bc32eea7e8d5fba7d6fb1e8a3e5e9ede9e8b7a124d40c50ff6d2f692314de4d2","ssdeep":"","tlshash":"daf0c0ffd1b23dc766b61d05de20844b8061b4c248224549a16c9b477c7b420201bf0f","size":516,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.011023Z","times_seen":198,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/fn/symbol/index.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"67d122d689cbceb445b3c25f3a2c484c","sha1":"71dd60ffc45586cd8716e97ea5ccd4e077105328","sha256":"e8d429ab84982d8f62a76f701222823b094e99d1a66e4a4f5e3c45a6a60b4e3d","sha512":"41e672ddba4e227e1a3076c72f0c62fb0d25b865f99917b86ea067968de76e0e7ce8796ded8917ccc32bb9f711e87938e36bbd00cf3e4ff8d841145fc7b6261c","ssdeep":"","tlshash":"8b21d0a542b4b98237fd2cddf860c9774fc9e8c095211841bc9e46cb9e6387501f993e","size":1439,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.035259Z","times_seen":167,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/object-keys/isArguments.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"842ac9b1a1722a0436510df100aaf073","sha1":"1e80c721a89d76b198ab21b6c5e4c527b58c6c93","sha256":"8686bc0999cc57072b60f3ab9306c88d62ab4f391050bff5cc2cbf89eefc61d2","sha512":"1b55d9d004cabbccce498963d85d1c3c7e0d3811ab4b058f62b3d0b4026e15e9c3551a15bcb8d2084e51fc56002214cdef122228aedadfdb9d1fdea385d3ebd8","ssdeep":"","tlshash":"833197eea7e038f5b2530b8c80daa10ec0a976c1f8b4628e54acc5421826a74715fc3b","size":1557,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.102436Z","times_seen":153,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_object-keys.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"b5dfc3e34417309df31ab680e044584b","sha1":"72d185b8c688bf3924d439190d24b076de96a026","sha256":"8a3ed3e809789c4ae3c8fdad86b1a0f6e359dfaa8881df8413ea116b7f303987","sha512":"0cf23af3f680fd2453ca8bdc4c3025c57a7d982b68a0c14cdca0b666cf6cb504f972ae45e4119886f4cfad8eb1f784c9d4f76178eaf0a22f38c087004e7a7eaf","ssdeep":"","tlshash":"572132aec5f1dd822d7969e1f512c23aacce56c398d14a0984dc06c12cb3939229590f","size":1202,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.042062Z","times_seen":195,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/library/modules/_iter-step.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"1f3316c9ede97d114d772053c68c9aa2","sha1":"697294fe19c01c660fd9d55f11f153c71d60db2c","sha256":"35832855423d94ad36081b332e6526aa39ffeef94e95d9e6774fa80a01f896c1","sha512":"731acade93c37b4a6a26234268a2da5257893be9b24247f41a79beb5b20fdafed442c33901cf3405e77a78c8af8d8ae33e21aaeef6cc6315c4edb1f8d2c1df45","ssdeep":"","tlshash":"170188ffedf134e219722401c531841f49ca1bc3c46d05ccb85c02862933d243166d0f","size":685,"data":"","first_seen":"2023-07-01T10:02:32Z","last_seen":"2026-07-27T05:40:41.163431Z","times_seen":171,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/core-js/modules/es6.array.iterator.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"9dfbe4d3bb7cbc4a0251437bd4353d7c","sha1":"156456e78e3ffcb833173123d0368171aa6bb0c0","sha256":"4ad7bd37cbe6458deb44ffd924e670bd396bffbdf943d68478e8317b5224d781","sha512":"9afafbc485491a4956b0ab35d0b7609ec8d90b42b1c094ec1b1b5eafdb452ca1e34a8ce743367466f7e369247916a2fb9b76e163a579f5441b3e55b66436d39e","ssdeep":"","tlshash":"e57194ebffe1206066687cd2e546842516ce5ba2c5d2454c78ac0ac86fa753c12ecd3f","size":3654,"data":"","first_seen":"2023-07-01T10:02:31Z","last_seen":"2026-07-27T05:40:41.11015Z","times_seen":171,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"webpack-internal","addr":"webpack-internal:///node_modules/string.prototype.trim/node_modules/es-abstract/helpers/callBound.js","fqdn":"webpack-internal","domain":"webpack-internal","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"ZZ"},"introduction_type":"eval","is_inline":false,"md5":"9c6cddfeb87c6d58f49fd7562e0cc456","sha1":"db0125e219e7d75e5b2a101f461725684fd2d2da","sha256":"c8c441e869a925def387c8c8e3fca8e10448a9c5f1174eb838365a36e18db04b","sha512":"d1d16506e40263f91650209dd22da8ebf038b11cf138529d7643eca7f0bf00615461e18a81b03596e2d5d9cccf730e0baa11f513788f140e327951ef4eb28c18","ssdeep":"","tlshash":"733162efda73661b2b7027c1c176823e06edef92e0a940c4895c01c90cf783812b9c2e","size":1860,"data":"","first_seen":"2023-07-01T10:02:30Z","last_seen":"2026-07-27T05:40:41.076958Z","times_seen":156,"alerts":{"ids":null,"analyzer":null,"urlquery":null}}],"eval":null,"write":null,"console":[{"level":"info","text":"You are running Vue in development mode.\nMake sure to turn on production mode when deploying for production.\nSee more tips at https://vuejs.org/guide/deployment.html","filename":"webpack-internal:///./node_modules/vue/dist/vue.runtime.esm.js","line_number":8091,"column_number":45},{"level":"log","text":"\u003e longCodeInit","filename":"https://static.getbutton.io/widget-send-button/js/init.js","line_number":2,"column_number":439085},{"level":"log","text":"\u003e try","filename":"https://static.getbutton.io/widget-send-button/js/init.js","line_number":2,"column_number":439267},{"level":"log","text":"config loading..10","filename":"https://static.getbutton.io/widget-send-button/js/init.js","line_number":2,"column_number":259826},{"level":"log","text":"validation...false","filename":"https://static.getbutton.io/widget-send-button/js/init.js","line_number":2,"column_number":254413},{"level":"log","text":"config loading..500","filename":"https://static.getbutton.io/widget-send-button/js/init.js","line_number":2,"column_number":259826}]},"http":[{"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.27","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:40.230Z","timestamp":1785120640230,"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://247optiontradefx.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 02:50:40 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: k0QQg4bLXYyZFD2pjio18w8sQFCEZva7l/u4EmNAityz7XyTLmDm9vxmF98FXAYMgkqpj6k\r\nx-77-nzt-ray: fdb541235919e1fa80c7666a87abf40d\r\nx-77-cache: HIT\r\nx-77-age: 1707597\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-27T05:17:26.353449Z","times_seen":1465,"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":"binarymate.com/assets/landing/platform-tiny/js/main.js","fqdn":"binarymate.com","domain":"binarymate.com","tld":"com"},"ip":{"addr":"172.67.160.195","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://binarymate.com/en/tyni-platform?r=https://247optiontradefx.live/dashboard/register","date":"2026-07-27T02:50:33.777Z","timestamp":1785120633777,"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":"binarymate.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 14 Jun 2026 17:48:17 GMT","end":"Sat, 12 Sep 2026 18:48:16 GMT"},"fingerprint":{"sha1":"26:CD:F2:69:FE:7F:C6:01:56:78:36:8F:A3:D6:FB:30:04:43:72:C0","sha256":"84:94:E9:41:71:FF:C7:FC:0D:D1:FE:9F:61:E9:EB:27:62:B3:01:D9:AA:F6:35:FB:C6:FA:4A:CE:9B:16:0B:7E"}}},"request":{"raw":"GET /assets/landing/platform-tiny/js/main.js HTTP/1.1\r\nHost: binarymate.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://binarymate.com/en/tyni-platform?r=https://247optiontradefx.live/dashboard/register\r\nCookie: laravel_session=UYESX7wELN8BSPz4LvfUKeGrrWO22l12CaQ7FWII\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\npriority: u=3,i=?0\r\ncontent-type: application/javascript\r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nlast-modified: Tue, 05 Jul 2016 14:10:54 GMT\r\nserver: cloudflare\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=PL39yNhao8JaYrFOQGxqeAxsZ0g8ZvK63zVbbtcddxxPlDpUC0JFeREQRKvQ8SnasEsQegmHjUkCu7dQfiQ%2FIcxDndtpvZto0VakH5ue8V3%2FNX2hnHYaN6YCnGt29hNs7g%3D%3D\"}]}\r\nage: 373\r\ncache-control: max-age=14400\r\ncf-cache-status: HIT\r\ncontent-encoding: zstd\r\netag: W/\"577bbfee-342\"\r\ncf-ray: a21856591ad58be6-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"]}],"data":{"size":834,"size_decoded":1137,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text","md5":"f88e94c021290d5e027f184cc6f6a015","sha1":"7be058ade75b8dd085e874df53c1e3cddca752ba","sha256":"55acd0646cbb84b9bd51501cd287eee373c3528c42b99dd3f0393ff82c27536b","sha512":"7cdf79b3a2afb68a48d23886b15744ec8e2a2d05a96168e569c405115b061b5fb8beef01c191ca42cad0d70fb7d40fb1b1a0e6ee764176249e90da48775dc4f2","ssdeep":"","tlshash":"800164887cd338c56767303c53ef1165b0ba5907458cc604ff0c9aa29f6223e91aafc8","first_seen":"2023-03-07T12:40:40Z","last_seen":"2026-07-27T05:25:19.151114Z","times_seen":77,"resource_available":true,"data":"JChmdW5jdGlvbigpIHsKCgogICAgZnVuY3Rpb24gZ3VwKCBuYW1lICkKICAgIHsKICAgICAgICBuYW1lID0gbmFtZS5yZXBsYWNlKC9bXFtdLywiXFxcWyIpLnJlcGxhY2UoL1tcXV0vLCJcXFxdIik7CiAgICAgICAgdmFyIHJlZ2V4UyA9ICJbXFw/Jl0iK25hbWUrIj0oW14mI10qKSI7CiAgICAgICAgdmFyIHJlZ2V4ID0gbmV3IFJlZ0V4cCggcmVnZXhTICk7CiAgICAgICAgdmFyIHJlc3VsdHMgPSByZWdleC5leGVjKCB3aW5kb3cubG9jYXRpb24uaHJlZiApOwogICAgICAgIGlmKCByZXN1bHRzID09IG51bGwgKQogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICBlbHNlCiAgICAgICAgICAgIHJldHVybiByZXN1bHRzWzFdOwogICAgfQoKICAgIHZhciB1cmxkZWNvZGUgPSBmdW5jdGlvbiAoc3RyKSB7CgogICAgICAgIHJldHVybiBkZWNvZGVVUklDb21wb25lbnQoKHN0ciArICcnKQogICAgICAgICAgICAucmVwbGFjZSgvJSg/IVtcZGEtZl17Mn0pL2dpLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vIFBIUCB0b2xlcmF0ZXMgcG9vcmx5IGZvcm1lZCBlc2NhcGUgc2VxdWVuY2VzCiAgICAgICAgICAgICAgICByZXR1cm4gJyUyNSc7CiAgICAgICAgICAgIH0pCiAgICAgICAgICAgIC5yZXBsYWNlKC9cKy9nLCAnJTIwJykpOwogICAgfQoKICAgIHZhciByZWRpcmVjdCA9IHVybGRlY29kZShndXAoJ3InKSk7CiAgICB2YXIgdHJhY2sgPSBndXAoJ3RyYWNrJyk7CiAgICB2YXIgbGFuZyA9IGd1cCgnbGFuZycpOwoKICAgIGlmKHJlZGlyZWN0KXsKICAgICAgICAkKCcubGlua19vdXQnKS5hdHRyKCdocmVmJyxyZWRpcmVjdCk7CiAgICB9CgoKfSk7"}},"time_used":6,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/65862.95764752c09f3f18f890.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.256Z","timestamp":1785120634256,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/65862.95764752c09f3f18f890.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-8593\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 7981a3392088b0c1ca6af6a327e7bd10\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":34195,"size_decoded":11853,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (13834)","md5":"d5f37343643dde0b01c1d10dbbdb91df","sha1":"acf466d1f2aaa1c4e577a663cc0c197647ff1b0c","sha256":"ad4421c24189dacdd5b62aa07485176e838543c7e572a23a90b2e5d70b28c982","sha512":"b6fba60ec4a7056bdda7602c545749c4b49d93c597e471e20f312b470a5c949b390f959900f2267b02646d6ce1c6f9fcd1ebddb7b4fbc2383344305b5179923d","ssdeep":"768:8HXyKsaOA/R4POygg6FUOaovTBa81zNh3h6kIRdnNy84MnxbDE3xZwDZscCDjvFR:OWgDagTBa0zNhRIRdnNy84y4BZw1FCHz","tlshash":"41e2e892aa135c331ed5176ad87b3902d1d80679f5863c68bdf858de0d8dac070f355e","first_seen":"2026-07-24T11:36:47.857631Z","last_seen":"2026-07-27T05:19:37.070003Z","times_seen":815,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNjU4NjJdLHszNzcyMjYoZSx0LG8pe28uZCh0LHtvbldpZGdldDooKT0+c30pO2NvbnN0IHI9bmV3IE1hcDtmdW5jdGlvbiBzKCl7Y29uc3QgZT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsdD13aW5kb3cubG9jYXRpb24uaG9zdCxvPWAke3R9JHtlfWA7cmV0dXJuIHIuaGFzKG8pfHxyLnNldChvLGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbz1bIl53aWRnZXQtZG9jcyJdO2Zvcihjb25zdCBlIG9mIG8paWYobmV3IFJlZ0V4cChlKS50ZXN0KHQpKXJldHVybiEwO2NvbnN0IHI9WyJed2lkZ2V0ZW1iZWQvPyQiLCJeY21ld2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL3dpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS93aWRnZXRzdGF0aWMvPyQiLCJeKFswLTlhLXpBLVotXSspPy8/bWVkaXVtd2lkZ2V0ZW1iZWQvPyQiLCJedHdpdHRlci1jaGFydC8/JCIsIl50ZWxlZ3JhbS9jaGFydC8/JCIsIl5lbWJlZC8oWzAtOWEtekEtWl17OH0pLz8kIiwiXndpZGdldHBvcHVwLz8kIiwiXmV4dGVuc2lvbi8/JCIsIl5pZGVhLXBvcHVwLz8kIiwiXmhvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL2hvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvbWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl5ldmVudHN3aWRnZXRlbWJlZC8/JCIsIl50aWNrZXJzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhjcm9zc3JhdGVzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhoZWF0bWFwd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0cXVvdGVzd2lkZ2V0ZW1iZWQvPyQiLCJec2NyZWVuZXJ3aWRnZXQvPyQiLCJeY3J5cHRvbWt0c2NyZWVuZXJ3aWRnZXQvPyQiLCJeKFswLTlhLXpBLVotXSspL2NyeXB0b21rdHNjcmVlbmVyd2lkZ2V0Lz8kIiwiXihbMC05YS16QS1aLV0rKS9tYXJrZXRxdW90ZXN3aWRnZXRlbWJlZC8/JCIsIl50ZWNobmljYWwtYW5hbHlzaXMtd2lkZ2V0LWVtYmVkLyQiLCJec2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvc2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl5lbWJlZC13aWRnZXQvKFswLTlhLXpBLVotXSspLygoWzAtOWEtekEtWi1dKykvKT8kIiwiXndpZGdldC1kb2NzLyhbMC05YS16QS1aLV0rKS8oWzAtOWEtekEtWi0vXSspPyQiXSxzPWUucmVwbGFjZSgvXlwvLywiIik7bGV0IF87Zm9yKGxldCBlPXIubGVuZ3RoLTE7ZT49MDtlLS0paWYoXz1uZXcgUmVnRXhwKHJbZV0pLF8udGVzdChzKSlyZXR1cm4hMDtyZXR1cm4hMX0oZSx0KSksci5nZXQobyk/PyExfX0sMzAwMjg2KGUsdCxvKXsidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmbmV3IGNsYXNze2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fdGVzdD1lW3RdPXt9fXByb3ZpZGUoZSx0KXt0aGlzLl90ZXN0W2VdPXR9fSh3aW5kb3csInFhR2xvYmFscyIpfSw1ODc0MzYoZSx0LG8pe2Z1bmN0aW9uIHIoZSx0LG8scixzKXtsZXQgXz0iIjtpZihyPXI/IjsgcGF0aD0iK3I6IiIscz1zPyI7IGRvbWFpbj0iK3M6IiIsbyl7Y29uc3QgZT1uZXcgRGF0ZTtlLnNldFRpbWUoZS5nZXRUaW1lKCkrMjQqbyo2MCo2MCoxZTMpLF89IjsgZXhwaXJlcz0iK2UudG9VVENTdHJpbmcoKX1lbHNlIF89IiI7ZG9jdW1lbnQuY29va2llPWUrIj0iK3QrXytzK3J9ZnVuY3Rpb24gcyhlKXtjb25zdCB0PWUrIj0iLG89ZG9jdW1lbnQuY29va2llLnNwbGl0KCI7Iik7Zm9yKGxldCBlPTA7ZTxvLmxlbmd0aDtlKyspe2xldCByPW9bZV07Zm9yKDsiICI9PT1yLmNoYXJBdCgwKTspcj1yLnN1YnN0cmluZygxLHIubGVuZ3RoKTtpZigwPT09ci5pbmRleE9mKHQpKXJldHVybiByLnN1YnN0cmluZyh0Lmxlbmd0aCxyLmxlbmd0aCl9cmV0dXJuIG51bGx9by5kKHQse2dldDooKT0+cyxzZXQ6KCk9PnJ9KX0sOTQ4MzgwKGUsdCxvKXtvLmQodCx7RGVsZWdhdGU6KCk9Pl99KTtjb25zdCByPSgwLG8oMjIxMDYxKS5nZXRMb2dnZXIpKCJDb21tb24uRGVsZWdhdGUiKTtmdW5jdGlvbiBzKGUpe3JldHVybiFlLnNpbmdsZVNob3R9Y2xhc3MgX3tjb25zdHJ1Y3Rvcigpe3RoaXMuZmlyZT10aGlzLl9maXJlSW1wbC5iaW5kKHRoaXMpLHRoaXMuX2xpc3RlbmVycz1bXX1zdWJzY3JpYmUoZSx0LG8pe3RoaXMuX2xpc3RlbmVycy5wdXNoKHtvYmplY3Q6ZSxtZW1iZXI6dCxzaW5nbGVTaG90OiEhbyxza2lwOiExfSl9dW5zdWJzY3JpYmUoZSx0KXtmb3IobGV0IG89MDtvPHRoaXMuX2xpc3RlbmVycy5sZW5ndGg7KytvKXtjb25zdCByPXRoaXMuX2xpc3RlbmVyc1tvXTtpZihyLm9iamVjdD09PWUmJnIubWVtYmVyPT09dCl7ci5za2lwPSEwLHRoaXMuX2xpc3RlbmVycy5zcGxpY2UobywxKTticmVha319fXVuc3Vic2NyaWJlQWxsKGUpe2ZvcihsZXQgdD10aGlzLl9saXN0ZW5lcnMubGVuZ3RoLTE7dD49MDstLXQpe2NvbnN0IG89dGhpcy5fbGlzdGVuZXJzW3RdO28ub2JqZWN0PT09ZSYmKG8uc2tpcD0hMCx0aGlzLl9saXN0ZW5lcnMuc3BsaWNlKHQsMSkpfX1kZXN0cm95KCl7dGhpcy5fbGlzdGVuZXJzPVtdfV9maXJlSW1wbCguLi5lKXtjb25zdCB0PXRoaXMuX2xpc3RlbmVyczt0aGlzLl9saXN0ZW5lcnM9dGhpcy5fbGlzdGVuZXJzLmZpbHRlcihzKTtjb25zdCBvPXQubGVuZ3RoO2ZvcihsZXQgcz0wO3M8bzsrK3Mpe2NvbnN0IG89dFtzXTtpZighby5za2lwKXRyeXtvLm1lbWJlci5hcHBseShvLm9iamVjdHx8bnVsbCxlKX1jYXRjaChlKXtyLmxvZ0Vycm9yKGAke2UmJihlLnN0YWNrfHxlLm1lc3NhZ2UpfWApfX19fX0sNTM0NDQwKGUsdCxvKXtvLmQodCx7bnVtT2ZEZWNpbWFsUGxhY2VzOigpPT5ffSk7dmFyIHI9byg3MTI3NDUpLHM9by5uKHIpO2Z1bmN0aW9uIF8oZSl7cmV0dXJuKG5ldyhzKCkpKGUpLnRvRml4ZWQoKS5zcGxpdCgiLiIpWzFdfHwiIikubGVuZ3RofX0sMjMyMzY0KGUsdCxvKXtvLmQodCx7V2F0Y2hlZFZhbHVlOigpPT5ffSk7Y29uc3Qgcj0oMCwKbygyMjEwNjEpLmdldExvZ2dlcikoIkNvbW1vbi5XYXRjaGVkVmFsdWUiKTtmdW5jdGlvbiBzKGUpe3IubG9nRXJyb3IoYCR7ZSYmKGUuc3RhY2t8fGUubWVzc2FnZSl9YCl9Y2xhc3MgX3tjb25zdHJ1Y3RvciguLi5lKXt0aGlzLl9saXN0ZW5lcnM9W10sZS5sZW5ndGg+MD90aGlzLl92YWx1ZT1lWzBdOmRlbGV0ZSB0aGlzLl92YWx1ZX1kZXN0cm95KCl7dGhpcy51bnN1YnNjcmliZSgpfXZhbHVlKCl7cmV0dXJuIHRoaXMuX293bmVyP3RoaXMuX293bmVyLl92YWx1ZTp0aGlzLl92YWx1ZX1zZXRWYWx1ZShlLHQpe2NvbnN0IG89dGhpcy5fb3duZXI/dGhpcy5fb3duZXI6dGhpcztpZihvLndyaXRlTG9jaylyZXR1cm47Y29uc3Qgcj1vLl92YWx1ZT09PWV8fE51bWJlci5pc05hTihvLl92YWx1ZSkmJk51bWJlci5pc05hTihlKTtpZighdCYmciYmby5oYXNPd25Qcm9wZXJ0eSgiX3ZhbHVlIikpcmV0dXJuO28uX3ZhbHVlPWU7Y29uc3QgXz1vLl9saXN0ZW5lcnMuc2xpY2UoKTtsZXQgaT0wO2ZvcihsZXQgdD0wO3Q8Xy5sZW5ndGg7dCsrKXtfW3RdLm9uY2UmJihvLl9saXN0ZW5lcnMuc3BsaWNlKHQtaSwxKSxpKyspO3RyeXtfW3RdLmNiKGUpfWNhdGNoKGUpe3MoZSl9fX1kZWxldGVWYWx1ZSgpe3RoaXMuc2V0VmFsdWUodm9pZCAwKX1zdWJzY3JpYmUoZSx0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJjYWxsYmFjayBtdXN0IGJlIGEgZnVuY3Rpb24iKTtjb25zdCBvPSEhdCYmISF0Lm9uY2Uscj0hIXQmJiEhdC5jYWxsV2l0aExhc3QsXz10aGlzLl9vd25lcj90aGlzLl9vd25lcjp0aGlzO2lmKHImJl8uaGFzT3duUHJvcGVydHkoIl92YWx1ZSIpKXt0cnl7ZShfLl92YWx1ZSl9Y2F0Y2goZSl7cyhlKX1pZihvKXJldHVybn1fLl9saXN0ZW5lcnMucHVzaCh7Y2I6ZSxvd25lcjp0aGlzLG9uY2U6ISF0JiYhIXQub25jZX0pfXVuc3Vic2NyaWJlKGUpe2NvbnN0IHQ9dGhpcy5fb3duZXI/dGhpcy5fb3duZXI6dGhpczt2b2lkIDA9PT1lJiYoZT1udWxsKTtjb25zdCBvPXQuX2xpc3RlbmVycztmb3IobGV0IHI9by5sZW5ndGg7ci0tOylvW3JdLm93bmVyIT09dGhpcyYmdCE9PXRoaXN8fG9bcl0uY2IhPT1lJiZudWxsIT09ZXx8by5zcGxpY2UociwxKX1yZWFkb25seSgpe2lmKHRoaXMuX3JlYWRvbmx5SW5zdGFuY2UpcmV0dXJuIHRoaXMuX3JlYWRvbmx5SW5zdGFuY2U7Y29uc3QgZT17c3Vic2NyaWJlOnRoaXMuc3Vic2NyaWJlLmJpbmQodGhpcyksdW5zdWJzY3JpYmU6dGhpcy51bnN1YnNjcmliZS5iaW5kKHRoaXMpLHZhbHVlOnRoaXMudmFsdWUuYmluZCh0aGlzKSx3aGVuOnRoaXMud2hlbi5iaW5kKHRoaXMpLG93bmVyc2hpcDp0aGlzLm93bmVyc2hpcC5iaW5kKHRoaXMpLHNwYXduT3duZXJzaGlwOnRoaXMuc3Bhd25Pd25lcnNoaXAuYmluZCh0aGlzKSx3ZWFrUmVmZXJlbmNlOnRoaXMud2Vha1JlZmVyZW5jZS5iaW5kKHRoaXMpLHNwYXduOmU9PnRoaXMuc3Bhd24oZSkucmVhZG9ubHkoKSxkZXN0cm95OnRoaXMuZGVzdHJveS5iaW5kKHRoaXMpfTtyZXR1cm4gdGhpcy5fcmVhZG9ubHlJbnN0YW5jZT1lLGV9c3Bhd24oZSl7cmV0dXJuIHRoaXMuX3NwYXduKGUpfXdoZW4oZSl7IWZ1bmN0aW9uKGUsdCxvKXtpZih0KGUudmFsdWUoKSkpcmV0dXJuIHZvaWQgbygpO2NvbnN0IHI9cz0+e3QocykmJihlLnVuc3Vic2NyaWJlKHIpLG8oKSl9O2Uuc3Vic2NyaWJlKHIse2NhbGxXaXRoTGFzdDohMH0pfSh0aGlzLChlPT5Cb29sZWFuKGUpKSwoKCk9Pnt0cnl7ZSh0aGlzLnZhbHVlKCkpfWNhdGNoKGUpe3MoZSl9fSkpfWFzc2VydE5vU3Vic2NyaXB0aW9ucygpezB9b3duZXJzaGlwKCl7cmV0dXJuIHRoaXN9cmVsZWFzZSgpe3RoaXMuZGVzdHJveSgpfXNwYXduT3duZXJzaGlwKCl7cmV0dXJuIHRoaXMuX3NwYXduKCl9d2Vha1JlZmVyZW5jZSgpe3JldHVybiB0aGlzLl9zcGF3bih2b2lkIDAsITApfV9zcGF3bihlLHQpe3JldHVybiBuZXcgaSh0aGlzLl9vd25lcnx8dGhpcyxlLHQpfX1jbGFzcyBpIGV4dGVuZHMgX3tjb25zdHJ1Y3RvcihlLHQsbyl7c3VwZXIoKSxkZWxldGUgdGhpcy5fbGlzdGVuZXJzLHRoaXMuX293bmVyPWUsdGhpcy5fb25EZXN0cm95PXQsdGhpcy5fd2Vha1JlZmVyZW5jZT0hIW99ZGVzdHJveSgpe3RyeXt0aGlzLl9vbkRlc3Ryb3k/LigpfWNhdGNoKGUpe3MoZSl9c3VwZXIuZGVzdHJveSgpfXJlYWRvbmx5KCl7cmV0dXJuIHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZXx8KHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZT17Li4uc3VwZXIucmVhZG9ubHkoKSxkZXN0cm95OigpPT50aGlzLmRlc3Ryb3koKSxyZWFkb25seSgpe3JldHVybiB0aGlzfX0pLHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZX1yZWxlYXNlKCl7dGhpcy5fd2Vha1JlZmVyZW5jZXx8c3VwZXIucmVsZWFzZSgpfX19LDU5ODkyMihlLHQsbyl7by5kKHQse2Zvcm1hdE51bWJlcjooKT0+aSxwYXJzZU51bWJlcjooKT0+bn0pO3ZhciByPW8oNzEyNzQ1KSxzPW8oNjYzMDQ2KSxfPW8oMTE1MjkzKTtmdW5jdGlvbiBpKGUsdCxvLHMsXyl7aWYoIU51bWJlci5pc0Zpbml0ZShlKSlyZXR1cm5gJHtlfWA7Y29uc3QgaT0tMT09PU1hdGguc2lnbihlKT8iLSI6IiI7ZT1NYXRoLmFicyhlKTtsZXQgYT12b2lkIDA9PT1vP2UudG9TdHJpbmcoKTplLnRvRml4ZWQobyk7aWYoYS5pbmNsdWRlcygiZSIpKXtpZighcylyZXR1cm5gJHtpfSR7YS5yZXBsYWNlKCIuIix0LmRlY2ltYWxTaWduKX1gO3tjb25zdCBvPW5ldyByLkJpZyhlKTtpZihhPW8ubHQoMSk/by50b0ZpeGVkKCk6by50b1N0cmluZygpLGEuaW5jbHVkZXMoImUiKSlyZXR1cm5gJHtpfSR7YS5yZXBsYWNlKCIuIix0LmRlY2ltYWxTaWduKX1gfX1jb25zdCBuPWEuc3BsaXQoIi4iKSxsPW5bMF07bGV0IGM9blsxXTtjb25zdCBkPWZ1bmN0aW9uKGUsdCl7bGV0IG89ZS5sZW5ndGg7Y29uc3Qgcj1bXTtmb3IoO28+MDspci51bnNoaWZ0KGUuc2xpY2UoTWF0aC5tYXgoby0zLDApLG8pKSxvLT0zO3JldHVybiByLmpvaW4odCl9KGwsdC5ncm91cGluZ1NlcGFyYXRvcikKO3JldHVybiB2b2lkIDAhPT1vJiYoYz0wPT09bz92b2lkIDA6ZS50b0ZpeGVkKG8pLnNsaWNlKC1vKSksdm9pZCAwIT09XyYmdm9pZCAwIT09YyYmKGM9ZnVuY3Rpb24oZSx0KXtsZXQgbz1lLmxlbmd0aC0xO2ZvcihsZXQgcj1vO3I+PXQmJiIwIj09PWVbcl07ci09MSlvLT0xO3JldHVybiBlLnNsaWNlKDAsbysxKX0oYyxfKSksYz9gJHtpfSR7ZH0ke3QuZGVjaW1hbFNpZ259JHtjfWA6YCR7aX0ke2R9YH1jb25zdCBhPSgwLHMuZGVmYXVsdCkoKGU9Pntjb25zdCB0PWUucmVwbGFjZSgvWy1bXF17fSgpKis/LixcXF4kfCNcc10vZywiXFwkJiIpO3JldHVybiBuZXcgUmVnRXhwKHQsImdtIil9KSk7ZnVuY3Rpb24gbihlLHQpe2lmKC9eKE5hTnxbK3wtXT9JbmZpbml0eSkkLy50ZXN0KGUpKXJldHVybiBwYXJzZUZsb2F0KGUpO2U9KDAsXy5zdHJpcExUUk1hcmtzKShlKTtjb25zdCBvPWEodC5ncm91cGluZ1NlcGFyYXRvcik7cmV0dXJuIG8mJihlPWUucmVwbGFjZShvLCIiKSksZT1lLnJlcGxhY2UodC5kZWNpbWFsU2lnbiwiLiIpLC9eKFwrfC0pP1xkKyhcLlxkK3xcLik/KGUoXCt8LSk/XGQrKT8kLy50ZXN0KGUpP3BhcnNlRmxvYXQoZSk6TmFOfX0sNTQ2NDg1KGUsdCxvKXtvLmQodCx7Z2V0TnVtYmVyRm9ybWF0OigpPT5kfSk7bGV0IHI9bnVsbDt2YXIgcz1vKDg1NjMyNCk7ZnVuY3Rpb24gXyhlLHQpe3JldHVybntncm91cGluZ1NlcGFyYXRvcjplLGRlY2ltYWxTaWduOnR9fWNvbnN0IGk9XygiLCIsIi4iKSxhPV8oIi4iLCIsIiksbj1fKCLigK8iLCIsIiksbD1fKCIiLCIuIiksYz1uZXcgTWFwKFtbImVuIixpXSxbInRoIixpXSxbImphIixpXSxbImtvIixpXSxbInpoIixpXSxbInpoX1RXIixpXSxbImFyIixpXSxbImhlX0lMIixpXSxbIm1zX01ZIixpXSxbInZpIixpXSxbImRlIixhXSxbImVzIixhXSxbIml0IixhXSxbInRyIixhXSxbInB0IixhXSxbImlkX0lEIixhXSxbImZyIixuXSxbInBsIixuXSxbInJ1IixuXV0pO2Z1bmN0aW9uIGQoZSl7cmV0dXJuIGU/bDoodD1jLmdldCgoMCxzLmdldExhbmd1YWdlKSgpKXx8bCxyP3IodCk6dCk7dmFyIHR9fSw3NTU2MjcoZSx0LG8pe28uZCh0LHtQcmljZUZvcm1hdHRlcjooKT0+eX0pO3ZhciByPW8oNjAxODQxKTtmdW5jdGlvbiBzKGUsdCxvLHIpe2xldCBzPTA7aWYoZT4wJiZ0PjApe2xldCB0PWU7Zm9yKG8mJnImJih0Lz1yKTt0PjE7KXQvPTEwLHMrK31yZXR1cm4gc312YXIgXz1vKDcxMjc0NSksaT1vKDgyMjQzMSksYT1vKDU5ODkyMiksbj1vKDU0NjQ4NSksbD1vKDc4MzI1NCksYz1vKDEzODYzOCksZD1vKDExNTI5MyksdT1vKDUzNTMwKTtmdW5jdGlvbiBtKGUsdCxvKXtjb25zdCByPSgwLGMuZW5zdXJlTm90TnVsbCkoKDAsdS5nZXRNaW5UaWNrRGF0YSkoe3ByaWNlOm8sbWluVGljazpudWxsLHZhcmlhYmxlTWluVGlja0RhdGE6dCxzaG91bGRDaGVja0ZvckVxdWFsaXR5OiEwfSkpLHtwcmljZVNjYWxlOl8sbWluTW92ZTppLG1pbk1vdmUyOmF9PXI7cmV0dXJue3ByaWNlU2NhbGU6XyxtaW5Nb3ZlOmksZnJhY3Rpb25hbExlbmd0aDpzKF8saSxlLGEpfX1jbGFzcyBoe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2Zvcm1hdHRlckVycm9ycz17Y3VzdG9tOmwudChudWxsLHZvaWQgMCxvKDYxNjE4KSksZnJhY3Rpb246bC50KG51bGwsdm9pZCAwLG8oOTY4ODE1KSksc2Vjb25kRnJhY3Rpb246bC50KG51bGwsdm9pZCAwLG8oODUwMjk4KSl9O2NvbnN0e3ByaWNlU2NhbGU6dCxtaW5Nb3ZlOnIsbWluTW92ZTI6cyxpZ25vcmVNaW5Nb3ZlOl8sdmFyaWFibGVNaW5UaWNrOmksZnJhY3Rpb25hbExlbmd0aDphfT1lO3RoaXMuX3ByaWNlU2NhbGU9dCx0aGlzLl9taW5Nb3ZlPXIsdGhpcy5fbWluTW92ZTI9cyx0aGlzLl9pZ25vcmVNaW5Nb3ZlPV8sdGhpcy5fZnJhY3Rpb25hbExlbmd0aD1hLHRoaXMuX3ZhcmlhYmxlTWluVGlja0RhdGE9dm9pZCAwPT09aT92b2lkIDA6KDAsdS5tYWtlVmFyaWFibGVNaW5UaWNrRGF0YSkoe3ByaWNlU2NhbGU6dCxtaW5Nb3ZlOnIsbWluTW92ZTI6c30saSl9Zm9ybWF0SW1wbChlLHQ9e30pe2NvbnN0e3NpZ25Qb3NpdGl2ZTpvLHNpZ25OZWdhdGl2ZTpyPSEwLHRhaWxTaXplOnMsY3V0RnJhY3Rpb25hbEJ5UHJlY2lzaW9uOl89ITEsdXNlUnRsRm9ybWF0Omk9ITAsdmFyaWFibGVNaW5UaWNrRGF0YVByaWNlOmEsaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0Om4sbm9FeHBvbmVudGlhbEZvcm06bCxyZW1vdmVBbGxFbmRpbmdaZXJvczpjfT10O2xldCB1PSIiO2U8MD91PSExPT09cj8iIjoi4oiSIjplJiYhMD09PW8mJih1PSIrIik7Y29uc3QgbT10aGlzLl9mb3JtYXRVbnNpZ25lZChNYXRoLmFicyhlKSx7dGFpbFNpemU6cyxjdXRGcmFjdGlvbmFsQnlQcmVjaXNpb246Xyx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6YSxpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6bixub0V4cG9uZW50aWFsRm9ybTpsLHJlbW92ZUFsbEVuZGluZ1plcm9zOmN9KSxoPSIwIj09PW0/bTp1K207cmV0dXJuIGk/KDAsZC5mb3JjZUxUUlN0cikoaCk6aH1wYXJzZShlLHQpe3JldHVybiIrIj09PShlPShlPSgwLGQuc3RyaXBMVFJNYXJrcykoZSkpLnJlcGxhY2UoIuKIkiIsIi0iKSlbMF0mJihlPWUuc3Vic3RyaW5nKDEpKSx0aGlzLl9wYXJzZVVuc2lnbmVkKGUsdCl9X3JlbW92ZUVuZGluZ1plcm9zKGUsdCl7Zm9yKGxldCBvPTA7bzx0JiYiMCI9PT1lW2UubGVuZ3RoLTFdO28rKyllPWUuc3Vic3RyaW5nKDAsZS5sZW5ndGgtMSk7cmV0dXJuIGV9fWNsYXNzIGcgZXh0ZW5kcyBoe2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDp0LG5vRXhwb25lbnRpYWxGb3JtOm99PWU7dGhpcy5faWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0PXQsdGhpcy5fbm9FeHBvbmVudGlhbEZvcm09b31oYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKXtyZXR1cm4gMTA9PT10aGlzLl9taW5Nb3ZlMn1fcGFyc2VVbnNpZ25lZChlLHQpe3JldHVybiB0aGlzLl9wYXJzZUFzRGVjaW1hbChlLHQpfV9mb3JtYXRVbnNpZ25lZChlLHQpewpjb25zdHt0YWlsU2l6ZTpvLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpyPSExLHZhcmlhYmxlTWluVGlja0RhdGFQcmljZTpzLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpfLG5vRXhwb25lbnRpYWxGb3JtOmkscmVtb3ZlQWxsRW5kaW5nWmVyb3M6YT0hMX09dCxuPXtwcmljZTpNYXRoLmFicyhlKSxwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsbWluTW92ZTp0aGlzLl9taW5Nb3ZlLGZyYWN0aW9uYWxMZW5ndGg6dGhpcy5fZnJhY3Rpb25hbExlbmd0aCx0YWlsU2l6ZTpvLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpyLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpfLG5vRXhwb25lbnRpYWxGb3JtOmkscmVtb3ZlQWxsRW5kaW5nWmVyb3M6YX07cmV0dXJuIHZvaWQgMCE9PXRoaXMuX3ZhcmlhYmxlTWluVGlja0RhdGEmJihPYmplY3QuYXNzaWduKG4sbSghMSx0aGlzLl92YXJpYWJsZU1pblRpY2tEYXRhLHM/P24ucHJpY2UpKSx0aGlzLl9pZ25vcmVNaW5Nb3ZlJiYobi5taW5Nb3ZlPTEpKSx0aGlzLl9mb3JtYXRBc0RlY2ltYWwobil9X2Zvcm1hdEFzRGVjaW1hbChlKXtjb25zdHtwcmljZTp0LHByaWNlU2NhbGU6byxtaW5Nb3ZlOnIsZnJhY3Rpb25hbExlbmd0aDpzPTAsdGFpbFNpemU6bD0wLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpjLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpkPXRoaXMuX2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdCxub0V4cG9uZW50aWFsRm9ybTp1PXRoaXMuX25vRXhwb25lbnRpYWxGb3JtLHJlbW92ZUFsbEVuZGluZ1plcm9zOm19PWUsaD0oMCxuLmdldE51bWJlckZvcm1hdCkoZCk7aWYodD49MWUyMSYmIXUpcmV0dXJuIHQudG9TdHJpbmcoKS5yZXBsYWNlKCIuIixoLmRlY2ltYWxTaWduKTtjb25zdCBnPU1hdGgucG93KDEwLGwpKm8vKGM/MTpyKSxwPTEvZztsZXQgYjtpZihnPjEpYj1NYXRoLmZsb29yKHQpO2Vsc2V7Y29uc3QgZT1NYXRoLnJvdW5kKHQvcCkqcDtiPTA9PT1NYXRoLnJvdW5kKCh0LWUpL3ApP2U6ZStwfWxldCB3PSIiO2lmKGc+MSl7bGV0IGU9Yz9uZXcgXy5CaWcodCkubXVsKGcpLnJvdW5kKHZvaWQgMCwwKS5taW51cyhuZXcgXy5CaWcoYikubXVsKGcpKS50b051bWJlcigpOnBhcnNlRmxvYXQoKE1hdGgucm91bmQodCpnKS1iKmcpLnRvRml4ZWQocykpO2U+PWcmJihlLT1nLGIrPTEpLGU9Yz9uZXcgXy5CaWcoZSkucm91bmQocywwKS50b051bWJlcigpOnBhcnNlRmxvYXQoZS50b0ZpeGVkKHMpKSpyO2NvbnN0IG89KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoZSxzK2wpO2lmKCF1JiZ0PDEmJnM+PTEwJiZvLnN0YXJ0c1dpdGgoIjAwMDAiKSl7bGV0IGU9NDtmb3IobGV0IHQ9ZTt0PG8ubGVuZ3RoJiYiMCI9PT1vW3RdO3QrKyllKys7Y29uc3QgdD10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhvLnNsaWNlKGUpLHMpO3JldHVybiIiPT09dD8iMCI6YDAke2guZGVjaW1hbFNpZ259JHt0fWUtJHtlfWB9Y29uc3QgYT10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhvLG0/by5sZW5ndGg6bCk7dz1hP2guZGVjaW1hbFNpZ24rYTphfWNvbnN0IHk9KDAsYS5mb3JtYXROdW1iZXIpKGIsaCx2b2lkIDAsdSk7cmV0dXJuIHkuaW5jbHVkZXMoImUiKT95Onkrd31fcGFyc2VBc0RlY2ltYWwoZSx0PXt9KXtjb25zdHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6b309dCxyPSgwLG4uZ2V0TnVtYmVyRm9ybWF0KSh0aGlzLl9pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXR8fG8pLHM9KDAsYS5wYXJzZU51bWJlcikoZSxyKTtyZXR1cm4gTnVtYmVyLmlzRmluaXRlKHMpP3t2YWx1ZTpzLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChzKX06e2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX19Y29uc3QgcD0iJyIsYj1uZXcgUmVnRXhwKC9eKC0/KVswLTldKyQvKTtjbGFzcyB3IGV4dGVuZHMgaHtoYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKXtyZXR1cm4hMX1fcGFyc2VVbnNpZ25lZChlKXtyZXR1cm4gdGhpcy5fbWluTW92ZTI/dGhpcy5fcGFyc2VBc0RvdWJsZUZyYWN0aW9uYWwoZSk6dGhpcy5fcGFyc2VBc1NpbmdsZUZyYWN0aW9uYWwoZSl9X2Zvcm1hdFVuc2lnbmVkKGUsdCl7Y29uc3R7dGFpbFNpemU6byx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6cn09dCxzPXtwcmljZTpNYXRoLmFicyhlKSxwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsbWluTW92ZTp0aGlzLl9taW5Nb3ZlLG1pbk1vdmUyOnRoaXMuX21pbk1vdmUyLGZyYWN0aW9uYWxMZW5ndGg6KDAsYy5lbnN1cmVEZWZpbmVkKSh0aGlzLl9mcmFjdGlvbmFsTGVuZ3RoKSx0YWlsU2l6ZTpvfTtyZXR1cm4gdm9pZCAwIT09dGhpcy5fdmFyaWFibGVNaW5UaWNrRGF0YSYmT2JqZWN0LmFzc2lnbihzLG0oITAsdGhpcy5fdmFyaWFibGVNaW5UaWNrRGF0YSxyPz9zLnByaWNlKSksdGhpcy5fZm9ybWF0QXNGcmFjdGlvbmFsKHMpfV9wYXJzZUFzU2luZ2xlRnJhY3Rpb25hbChlKXtsZXQgdD1iLmV4ZWMoZSk7aWYodCl7Y29uc3QgdD1wYXJzZUZsb2F0KGUpO3JldHVybnt2YWx1ZTp0LHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbCh0KX19aWYodD1uZXcgUmVnRXhwKCJeKC0/KShbMC05XSspXFwnKFswLTldKykkIikuZXhlYyhlKSx0KXtjb25zdCBlPSEhdFsxXSxvPXBhcnNlSW50KHRbMl0pLHI9dGhpcy5fcHJpY2VTY2FsZSxzPXRoaXMuX3BhdGNoRnJhY3RQYXJ0KHBhcnNlSW50KHRbM10pLDEscik7aWYocz49cnx8czwwKXJldHVybntlcnJvcjp0aGlzLl9mb3JtYXR0ZXJFcnJvcnMuZnJhY3Rpb24scmVzOiExfTtsZXQgXz1vK3MvcjtyZXR1cm4gZSYmKF89LV8pLHt2YWx1ZTpfLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChfKX19cmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX1fcGFyc2VBc0RvdWJsZUZyYWN0aW9uYWwoZSl7bGV0IHQ9Yi5leGVjKGUpO2lmKHQpe2NvbnN0IHQ9cGFyc2VGbG9hdChlKTtyZXR1cm57dmFsdWU6dCxyZXM6ITAsc3VnZ2VzdDp0aGlzLmZvcm1hdEltcGwodCl9fQppZih0PW5ldyBSZWdFeHAoIl4oLT8pKFswLTldKylcXCcoWzAtOV0rKVxcJyhbMC05XSspJCIpLmV4ZWMoZSksdCl7Y29uc3QgZT0hIXRbMV0sbz1wYXJzZUludCh0WzJdKSxyPXZvaWQgMCE9PXRoaXMuX21pbk1vdmUyJiZudWxsIT09dGhpcy5fbWluTW92ZTI/dGhpcy5fbWluTW92ZTI6TmFOLHM9dGhpcy5fcHJpY2VTY2FsZS9yLF89dGhpcy5fbWluTW92ZTIsaT10aGlzLl9wYXRjaEZyYWN0UGFydChwYXJzZUludCh0WzNdKSwxLHMpLGE9dGhpcy5fcGF0Y2hGcmFjdFBhcnQocGFyc2VJbnQodFs0XSksMixfKTtpZihpPj1zfHxpPDApcmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5mcmFjdGlvbixyZXM6ITF9O2lmKG51bGwhPV8mJmE+PV98fGE8MClyZXR1cm57ZXJyb3I6dGhpcy5fZm9ybWF0dGVyRXJyb3JzLnNlY29uZEZyYWN0aW9uLHJlczohMX07bGV0IG49bnVsbCE9Xz9vK2kvcythLyhzKl8pOk5hTjtyZXR1cm4gZSYmKG49LW4pLHt2YWx1ZTpuLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChuKX19cmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX1fcGF0Y2hGcmFjdFBhcnQoZSx0LG8pe2NvbnN0IHI9ezA6MCw1OjF9LHM9ezA6MCwyOjEsNToyLDc6M30sXz17MDowLDE6MSwyOjIsMzozLDU6NCw2OjUsNzo2LDg6N307cmV0dXJuIDI9PT1vP3ZvaWQgMD09PXJbZV0/LTE6cltlXTo0PT09bz92b2lkIDA9PT1zW2VdPy0xOnNbZV06OD09PW8mJjI9PT10P3ZvaWQgMD09PV9bZV0/LTE6X1tlXTplfV9mb3JtYXRBc0ZyYWN0aW9uYWwoZSl7Y29uc3R7cHJpY2U6dCx0YWlsU2l6ZTpvLHByaWNlU2NhbGU6cixtaW5Nb3ZlOnMsbWluTW92ZTI6XyxmcmFjdGlvbmFsTGVuZ3RoOmF9PWUsbj1yL3M7bGV0IGw9TWF0aC5mbG9vcih0KSxjPW8/TWF0aC5mbG9vcih0Km4pLWwqbjpNYXRoLnJvdW5kKHQqbiktbCpuO2M9PT1uJiYoYz0wLGwrPTEpO2xldCBkPSIiO2lmKG8pe2xldCBlPSh0LWwtYy9uKSpuO2U9TWF0aC5yb3VuZChlKk1hdGgucG93KDEwLG8pKSxkPSgwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGUsbyksZD10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhkLG8pfWlmKCFhKXRocm93IG5ldyBFcnJvcigiX2ZyYWN0aW9uYWxMZW5ndGggaXMgbm90IGNhbGN1bGF0ZWQiKTtsZXQgdT0iIjtpZihfKXtjb25zdCBlPWMlXztjPShjLWUpL187Y29uc3QgdD0oMCxpLm51bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvKShjLGEpLG89dGhpcy5fZ2V0RnJhY3RQYXJ0KGUsMixfKTt1PXQrcCtvfWVsc2UgYz10aGlzLl9nZXRGcmFjdFBhcnQoYywxLHIpLHU9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoYypzLGEpO3JldHVybiBsLnRvU3RyaW5nKCkrcCt1K2R9X2dldEZyYWN0UGFydChlLHQsbyl7Y29uc3Qgcj1bMCw1XSxzPVswLDIsNSw3XSxfPVswLDEsMiwzLDUsNiw3LDhdO3JldHVybiAyPT09bz92b2lkIDA9PT1yW2VdPy0xOnJbZV06ND09PW8/dm9pZCAwPT09c1tlXT8tMTpzW2VdOjg9PT1vJiYyPT09dD92b2lkIDA9PT1fW2VdPy0xOl9bZV06ZX19Y2xhc3MgeXtjb25zdHJ1Y3RvcihlPXt9KXt0aGlzLnR5cGU9InByaWNlIjtjb25zdHttaW5Nb3ZlMjp0LGZyYWN0aW9uYWw6byx2YXJpYWJsZU1pblRpY2s6XyxpZ25vcmVNaW5Nb3ZlOmksaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmF9PWUsbj0oMCxyLmlzTnVtYmVyKShlLnByaWNlU2NhbGUpJiYoMCxyLmlzSW50ZWdlcikoZS5wcmljZVNjYWxlKT9lLnByaWNlU2NhbGU6MTAwO2lmKG48MCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGJhc2UiKTtjb25zdCBsPSFlLm1pbk1vdmV8fGk/MTplLm1pbk1vdmUsYz1zKG4sbCxvLHQpLGQ9ey4uLmUsbWluTW92ZTpsLHByaWNlU2NhbGU6bixmcmFjdGlvbmFsTGVuZ3RoOmN9O3RoaXMuX3ByaWNlU2NhbGU9bix0aGlzLl9taW5Nb3ZlPWwsdGhpcy5fbWluTW92ZTI9dCx0aGlzLl9mcmFjdGlvbmFsPW8sdGhpcy5fdmFyaWFibGVNaW5UaWNrPV8sdGhpcy5faWdub3JlTWluTW92ZT1pLHRoaXMuX2ZyYWN0aW9uYWxMZW5ndGg9Yyx0aGlzLl9pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ9YSx0aGlzLl9ub0V4cG9uZW50aWFsRm9ybT1lLm5vRXhwb25lbnRpYWxGb3JtLHRoaXMuX2ltcGxlbWVudGF0aW9uPW8/bmV3IHcoZCk6bmV3IGcoZCl9aXNGcmFjdGlvbmFsKCl7cmV0dXJuISF0aGlzLl9mcmFjdGlvbmFsfXN0YXRlKCl7cmV0dXJue21pbk1vdmU6dGhpcy5fbWluTW92ZSxtaW5Nb3ZlMjp0aGlzLl9taW5Nb3ZlMixwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsdmFyaWFibGVNaW5UaWNrOnRoaXMuX3ZhcmlhYmxlTWluVGljayxpZ25vcmVNaW5Nb3ZlOnRoaXMuX2lnbm9yZU1pbk1vdmUsZnJhY3Rpb25hbDp0aGlzLl9mcmFjdGlvbmFsLG5vRXhwb25lbnRpYWxGb3JtOnRoaXMuX25vRXhwb25lbnRpYWxGb3JtfX1mb3JtYXRDaGFuZ2UoZSx0LG8pe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5mb3JtYXRJbXBsKGUtdCx7Li4ubyx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6TWF0aC5taW4oTWF0aC5hYnMoZSksTWF0aC5hYnModCkpfSl9Zm9ybWF0KGUsdCl7cmV0dXJuIHRoaXMuX2ltcGxlbWVudGF0aW9uLmZvcm1hdEltcGwoZSx0KX1wYXJzZShlLHQpe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5wYXJzZShlLHQpfWhhc0ZvcmV4QWRkaXRpb25hbFByZWNpc2lvbigpe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5oYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKX1zdGF0aWMgc2VyaWFsaXplKGUpe3JldHVybiBlLnN0YXRlKCl9c3RhdGljIGRlc2VyaWFsaXplKGUpe3JldHVybiBuZXcgeShlKX19fSw3ODMyNTQoZSx0LG8pe28uZCh0LHt0OigpPT5yfSk7Y29uc3Qgcj1vLmkxOG5leHR9LDYyMDM1NChlLHQsbyl7dmFyIHI7by5kKHQse0xvZ29TaXplOigpPT5yfSksZnVuY3Rpb24oZSl7ZVtlLk1lZGl1bT0wXT0iTWVkaXVtIixlW2UuTGFyZ2U9MV09IkxhcmdlIn0ocnx8KHI9e30pKX0sNzQ5NjQ4KGUsdCxvKXtmdW5jdGlvbiByKGUsdD0hMSl7CiJsb2FkaW5nIiE9PWRvY3VtZW50LnJlYWR5U3RhdGU/dD9zZXRUaW1lb3V0KCgoKT0+ZSgpKSwxKTplKCk6ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsKCgpPT5lKCkpKX1vLmQodCx7d2hlbkRvY3VtZW50UmVhZHk6KCk9PnJ9KTtuZXcgUHJvbWlzZSgoZT0+e3IoZSl9KSl9LDYzNTE4KGUpewplLmV4cG9ydHM9SlNPTi5wYXJzZSgneyIxNDg1MSI6e30sImN1c3RvbV9pdGVtc19pbl9jb250ZXh0X21lbnUiOnt9LCJjb3VudGRvd24iOnt9LCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiI6e30sInBheV9hdHRlbnRpb25fdG9fdGlja2VyX25vdF9zeW1ib2wiOnt9LCJncmF5aW5nX2Rpc2FibGVkX3Rvb2xzX2VuYWJsZWQiOnt9LCJ1cGRhdGVfc3R1ZHlfZm9ybWF0dGVyX29uX3N5bWJvbF9yZXNvbHZlIjp7fSwiY29uc3RyYWludF9kaWFsb2dzX21vdmVtZW50Ijp7fSwicGhvbmVfdmVyaWZpY2F0aW9uIjp7fSwic2hvd190cmFkaW5nX25vdGlmaWNhdGlvbnNfaGlzdG9yeSI6e30sInNob3dfaW50ZXJ2YWxfZGlhbG9nX29uX2tleV9wcmVzcyI6e30sImhlYWRlcl9pbnRlcnZhbF9kaWFsb2dfYnV0dG9uIjp7InN1YnNldHMiOlsic2hvd19pbnRlcnZhbF9kaWFsb2dfb25fa2V5X3ByZXNzIl19LCJoZWFkZXJfZnVsbHNjcmVlbl9idXR0b24iOnt9LCJoZWFkZXJfc3ltYm9sX3NlYXJjaCI6e30sInN5bWJvbF9zZWFyY2hfaG90X2tleSI6e30sImhlYWRlcl9yZXNvbHV0aW9ucyI6eyJzdWJzZXRzIjpbImhlYWRlcl9pbnRlcnZhbF9kaWFsb2dfYnV0dG9uIl19LCJoZWFkZXJfY2hhcnRfdHlwZSI6e30sImhlYWRlcl9zZXR0aW5ncyI6e30sImhlYWRlcl9pbmRpY2F0b3JzIjp7fSwiaGVhZGVyX2NvbXBhcmUiOnt9LCJoZWFkZXJfdW5kb19yZWRvIjp7fSwiaGVhZGVyX3F1aWNrX3NlYXJjaCI6e30sImhlYWRlcl9zY3JlZW5zaG90Ijp7fSwiaGVhZGVyX3NhdmVsb2FkIjp7fSwic3R1ZHlfb25fc3R1ZHkiOnt9LCJzY2FsZXNfZGF0ZV9mb3JtYXQiOnt9LCJzY2FsZXNfdGltZV9ob3Vyc19mb3JtYXQiOnt9LCJoZWFkZXJfd2lkZ2V0Ijp7InN1YnNldHMiOlsiaGVhZGVyX3dpZGdldF9kb21fbm9kZSIsImhlYWRlcl9zeW1ib2xfc2VhcmNoIiwiaGVhZGVyX3Jlc29sdXRpb25zIiwiaGVhZGVyX2NoYXJ0X3R5cGUiLCJoZWFkZXJfc2V0dGluZ3MiLCJoZWFkZXJfaW5kaWNhdG9ycyIsImhlYWRlcl9jb21wYXJlIiwiaGVhZGVyX3VuZG9fcmVkbyIsImhlYWRlcl9xdWlja19zZWFyY2giLCJoZWFkZXJfZnVsbHNjcmVlbl9idXR0b24iLCJjb21wYXJlX3N5bWJvbCIsImhlYWRlcl9zY3JlZW5zaG90Il19LCJsZWdlbmRfd2lkZ2V0Ijp7fSwiY29tcGFyZV9zeW1ib2wiOnsic3Vic2V0cyI6WyJoZWFkZXJfY29tcGFyZSJdfSwicHJvcGVydHlfcGFnZXMiOnsic3Vic2V0cyI6WyJzaG93X2NoYXJ0X3Byb3BlcnR5X3BhZ2UiLCJjaGFydF9wcm9wZXJ0eV9wYWdlIl19LCJzaG93X2NoYXJ0X3Byb3BlcnR5X3BhZ2UiOnt9LCJjaGFydF9wcm9wZXJ0eV9wYWdlIjp7InN1YnNldHMiOlsiY2hhcnRfcHJvcGVydHlfcGFnZV9zY2FsZXMiLCJjaGFydF9wcm9wZXJ0eV9wYWdlX3RyYWRpbmciLCJjaGFydF9wcm9wZXJ0eV9wYWdlX3JpZ2h0X21hcmdpbl9lZGl0b3IiXX0sImxlZnRfdG9vbGJhciI6e30sInJpZ2h0X3Rvb2xiYXIiOnt9LCJoaWRlX2xlZnRfdG9vbGJhcl9ieV9kZWZhdWx0Ijp7fSwiY29udHJvbF9iYXIiOnt9LCJ3aWRnZXRfbG9nbyI6e30sInRpbWVmcmFtZXNfdG9vbGJhciI6e30sImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiOnsic3Vic2V0cyI6WyJzaG93X2hpZGVfYnV0dG9uX2luX2xlZ2VuZCIsImZvcm1hdF9idXR0b25faW5fbGVnZW5kIiwic3R1ZHlfYnV0dG9uc19pbl9sZWdlbmQiLCJkZWxldGVfYnV0dG9uX2luX2xlZ2VuZCIsImxlZ2VuZF9pbnBsYWNlX2VkaXQiXX0sInNob3dfaGlkZV9idXR0b25faW5fbGVnZW5kIjp7fSwib2JqZWN0X3RyZWVfbGVnZW5kX21vZGUiOnt9LCJmb3JtYXRfYnV0dG9uX2luX2xlZ2VuZCI6e30sInN0dWR5X2J1dHRvbnNfaW5fbGVnZW5kIjp7fSwiZGVsZXRlX2J1dHRvbl9pbl9sZWdlbmQiOnt9LCJsZWdlbmRfaW5wbGFjZV9lZGl0Ijp7fSwiYnJva2VyX2J1dHRvbiI6e30sImJ1eV9zZWxsX2J1dHRvbnMiOnsic3Vic2V0cyI6WyJicm9rZXJfYnV0dG9uIl19LCJzaG93X2J1eV9zZWxsX2J1dHRvbnNfb25fdW5zdXBwb3J0ZWRfcmVzb2x1dGlvbiI6e30sInBhbmVfY29udGV4dF9tZW51Ijp7fSwic2NhbGVzX2NvbnRleHRfbWVudSI6e30sImxlZ2VuZF9jb250ZXh0X21lbnUiOnt9LCJjb250ZXh0X21lbnVzIjp7InN1YnNldHMiOlsicGFuZV9jb250ZXh0X21lbnUiLCJzY2FsZXNfY29udGV4dF9tZW51IiwibGVnZW5kX2NvbnRleHRfbWVudSIsIm9iamVjdHNfdHJlZV9jb250ZXh0X21lbnUiXX0sIml0ZW1zX2Zhdm9yaXRpbmciOnt9LCJzYXZlX2NoYXJ0X3Byb3BlcnRpZXNfdG9fbG9jYWxfc3RvcmFnZSI6e30sInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIjp7InN1YnNldHMiOlsiaXRlbXNfZmF2b3JpdGluZyIsInNhdmVfY2hhcnRfcHJvcGVydGllc190b19sb2NhbF9zdG9yYWdlIl19LCJoYW5kbGVfc2NhbGUiOnsic3Vic2V0cyI6WyJtb3VzZV93aGVlbF9zY2FsZSIsInBpbmNoX3NjYWxlIiwiYXhpc19wcmVzc2VkX21vdXNlX21vdmVfc2NhbGUiXX0sImhhbmRsZV9zY3JvbGwiOnsic3Vic2V0cyI6WyJtb3VzZV93aGVlbF9zY3JvbGwiLCJwcmVzc2VkX21vdXNlX21vdmVfc2Nyb2xsIiwiaG9yel90b3VjaF9kcmFnX3Njcm9sbCIsInZlcnRfdG91Y2hfZHJhZ19zY3JvbGwiXX0sInBsYWluX3N0dWR5bWFya2V0Ijp7fSwiZGlzYWJsZV9yZXNvbHV0aW9uX3JlYnVpbGQiOnt9LCJib3JkZXJfYXJvdW5kX3RoZV9jaGFydCI6e30sImNoYXJ0aW5nX2xpYnJhcnlfZGVidWdfbW9kZSI6e30sInNhdmVsb2FkX3JlcXVpcmVzX2F1dGhlbnRpY2F0aW9uIjp7fSwic2F2ZWxvYWRfc3RvcmFnZV9jdXN0b21pemF0aW9uIjp7fSwidm9sdW1lX2ZvcmNlX292ZXJsYXkiOnt9LCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0Ijp7fSwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdF9vbmNlIjp7fSwic2F2ZWRfY2hhcnRzX2NvdW50X3Jlc3RyaWN0aW9uIjp7fSwibGVhbl9jaGFydF9sb2FkIjp7fSwic3RvcF9zdHVkeV9vbl9yZXN0YXJ0Ijp7fSwic3Rhcl9zb21lX2ludGVydmFsc19ieV9kZWZhdWx0Ijp7fSwibW92ZV9sb2dvX3RvX21haW5fcGFuZSI6e30sInNob3dfYW5pbWF0ZWRfbG9nbyI6e30sImxpbmtfdG9fdHJhZGluZ3ZpZXciOnt9LCJsb2dvX3dpdGhvdXRfbGluayI6e30sImxvZ29fYWx3YXlzX21heGltaXplZCI6e30sInJpZ2h0X2Jhcl9zdGF5c19vbl9zY3JvbGwiOnt9LCJjaGFydF9jb250ZW50X292ZXJyaWRlc19ieV9kZWZhdWx0cyI6e30sInNuYXBzaG90X3RyYWRpbmdfZHJhd2luZ3MiOnt9LCJhbGxvd19zdXBwb3J0ZWRfcmVzb2x1dGlvbnNfc2V0X29ubHkiOnt9LCJ3aWRnZXRiYXJfdGFicyI6eyJzdWJzZXRzIjpbInJpZ2h0X3Rvb2xiYXIiXX0sInNob3dfb2JqZWN0X3RyZWUiOnsic3Vic2V0cyI6WyJyaWdodF90b29sYmFyIl19LCJkb21fd2lkZ2V0Ijp7InN1YnNldHMiOlsicmlnaHRfdG9vbGJhciJdfSwiY29sbGFwc2libGVfaGVhZGVyIjp7fSwic3R1ZHlfdGVtcGxhdGVzIjp7fSwia2VlcF9zZWxlY3RlZF9ncm91cF9vbl90b29sX2NyZWF0aW9uIjp7fSwic2lkZV90b29sYmFyX2luX2Z1bGxzY3JlZW5fbW9kZSI6e30sImhlYWRlcl9pbl9mdWxsc2NyZWVuX21vZGUiOnt9LCJyZW1vdmVfbGlicmFyeV9jb250YWluZXJfYm9yZGVyIjp7fSwid2hvdHJhZGVzX2F1dGhfb25seSI6e30sInN1cHBvcnRfbXVsdGljaGFydHMiOnt9LCJkaXNwbGF5X21hcmtldF9zdGF0dXMiOnt9LCJkaXNwbGF5X2RhdGFfbW9kZSI6e30sImRhdGFzb3VyY2VfY29weXBhc3RlIjp7fSwiZHJhd2luZ190ZW1wbGF0ZXMiOnsic3Vic2V0cyI6WyJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIl19LCJleHBhbmRfc3ltYm9sc2VhcmNoX2l0ZW1zIjp7fSwic3ltYm9sX3NlYXJjaF90aHJlZV9jb2x1bW5zX2V4Y2hhbmdlcyI6e30sInN5bWJvbF9zZWFyY2hfZmxhZ3MiOnt9LCJzeW1ib2xfc2VhcmNoX2xpbWl0ZWRfZXhjaGFuZ2VzIjp7fSwiYnVncmVwb3J0X2J1dHRvbiI6eyJzdWJzZXRzIjpbInJpZ2h0X3Rvb2xiYXIiXX0sImhlYWRlcl90cmFkZV9idXR0b24iOnt9LCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIjp7fSwiZm9vdGVyX3B1Ymxpc2hfaWRlYV9idXR0b24iOnt9LCJ0ZXh0X25vdGVzIjp7fSwic2hvd19zb3VyY2VfY29kZSI6e30sInN5bWJvbF9pbmZvIjp7fSwibm9fYmFyc19zdGF0dXMiOnt9LCJjbGVhcl9iYXJzX29uX3Nlcmllc19lcnJvciI6e30sImhpZGVfbG9hZGluZ19zY3JlZW5fb25fc2VyaWVzX2Vycm9yIjp7fSwic2Vjb25kc19yZXNvbHV0aW9uIjp7fSwiZG9udF9zaG93X2Jvb2xlYW5fc3R1ZHlfYXJndW1lbnRzIjp7fSwiaGlkZV9sYXN0X25hX3N0dWR5X291dHB1dCI6e30sInByaWNlX3NjYWxlX2Fsd2F5c19sYXN0X2Jhcl92YWx1ZSI6e30sInN0dWR5X2RpYWxvZ19mdW5kYW1lbnRhbHNfZWNvbm9teV9hZGRvbnMiOnt9LCJ1cHBlcmNhc2VfaW5zdHJ1bWVudF9uYW1lcyI6e30sInRyYWRpbmdfbm90aWZpY2F0aW9ucyI6e30sImNoYXJ0X2Nyb3NzaGFpcl9tZW51Ijp7fSwiamFwYW5lc2VfY2hhcnRfc3R5bGVzIjp7fSwiaGlkZV9zZXJpZXNfbGVnZW5kX2l0ZW0iOnt9LCJoaWRlX3N0dWR5X292ZXJsYXlfbGVnZW5kX2l0ZW0iOnt9LCJoaWRlX3N0dWR5X2NvbXBhcmVfbGVnZW5kX2l0ZW0iOnt9LCJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIjp7fSwidXNlX292ZXJyaWRlc19mb3Jfb3ZlcmxheSI6e30sInRpbWV6b25lX21lbnUiOnt9LCJtYWluX3Nlcmllc19zY2FsZV9tZW51Ijp7fSwic2hvd19sb2dpbl9kaWFsb2ciOnt9LCJyZW1vdmVfaW1nX2Zyb21fcnNzIjp7fSwiYmFyc19tYXJrcyI6e30sImNoYXJ0X3Njcm9sbCI6e30sImNoYXJ0X3pvb20iOnt9LCJzb3VyY2Vfc2VsZWN0aW9uX21hcmtlcnMiOnt9LCJsb3dfZGVuc2l0eV9iYXJzIjp7fSwiZW5kX29mX3BlcmlvZF90aW1lc2NhbGVfbWFya3MiOnt9LCJvcGVuX2FjY291bnRfbWFuYWdlciI6e30sInNob3dfb3JkZXJfcGFuZWxfb25fc3RhcnQiOnt9LCJvcmRlcl9wYW5lbCI6eyJzdWJzZXRzIjpbIm9yZGVyX3BhbmVsX2Nsb3NlX2J1dHRvbiIsIm9yZGVyX3BhbmVsX3VuZG9jayIsInJpZ2h0X3Rvb2xiYXIiLCJvcmRlcl9pbmZvIl19LCJtdWx0aXBsZV93YXRjaGxpc3RzIjp7fSwid2F0Y2hsaXN0X2ltcG9ydF9leHBvcnQiOnt9LCJzdHVkeV9vdmVybGF5X2NvbXBhcmVfbGVnZW5kX29wdGlvbiI6e30sIm1vYmlsZV9hcHBfYWN0aW9uX29wZW5fZGV0YWlsc193ZWJ2aWV3Ijp7fSwiY3VzdG9tX3Jlc29sdXRpb25zIjp7fSwicmVmZXJyYWxfcHJvZ3JhbV9mb3Jfd2lkZ2V0X293bmVycyI6e30sIm1vYmlsZV90cmFkaW5nIjp7fSwicmVhbF9icm9rZXJzIjp7fSwicXVpY2tfdHJhZGluZ19wYW5lbCI6e30sIm5hdGl2ZV9tb2JpbGVfYnJva2Vyc19saXN0Ijp7fSwibm9fbWluX2NoYXJ0X3dpZHRoIjp7fSwibG9ja192aXNpYmxlX3RpbWVfcmFuZ2Vfb25fcmVzaXplIjp7fSwicHJpY2VzY2FsZV9jdXJyZW5jeSI6e30sImNyb3BwZWRfdGlja19tYXJrcyI6e30sInRyYWRpbmdfYWNjb3VudF9tYW5hZ2VyIjp7fSwiZGlzYWJsZV9zYW1laW50ZXJ2YWxfYWxpZ25pbmciOnt9LCJkaXNwbGF5X2xlZ2VuZF9vbl9hbGxfY2hhcnRzIjp7fSwiY2hhcnRfc3R5bGVfaGlsbyI6e30sImNoYXJ0X3N0eWxlX2hpbG9fbGFzdF9wcmljZSI6e30sInByaWNlc2NhbGVfdW5pdCI6e30sInNob3dfc3ByZWFkX29wZXJhdG9ycyI6e30sImhpZGVfZXhwb25lbnRpYXRpb25fc3ByZWFkX29wZXJhdG9yIjp7fSwiaGlkZV9yZWNpcHJvY2FsX3NwcmVhZF9vcGVyYXRvciI6e30sImNvbXBhcmVfc3ltYm9sX3NlYXJjaF9zcHJlYWRfb3BlcmF0b3JzIjp7fSwic3R1ZGllc19zeW1ib2xfc2VhcmNoX3NwcmVhZF9vcGVyYXRvcnMiOnt9LCJoaWRlX3Jlc29sdXRpb25faW5fbGVnZW5kIjp7fSwiaGlkZV91bnJlc29sdmVkX3N5bWJvbHNfaW5fbGVnZW5kIjp7fSwiZml4X2xlZnRfZWRnZSI6e30sInN0dWR5X3N5bWJvbF90aWNrZXJfZGVzY3JpcHRpb24iOnt9LCJ0d29fY2hhcmFjdGVyX2Jhcl9tYXJrc19sYWJlbHMiOnt9LCJwaW5fYmFyX21hcmtfdG9vbHRpcHNfb25fY2xpY2siOnt9LCJ0aWNrX3Jlc29sdXRpb24iOnt9LCJzZWNvbmRhcnlfc2VyaWVzX2V4dGVuZF90aW1lX3NjYWxlIjp7fSwiaGlkZV92b2x1bWVfbWEiOnt9LCJzbWFsbF9ub19kaXNwbGF5Ijp7fSwiY2hhcnRpbmdfbGlicmFyeV9zaW5nbGVfc3ltYm9sX3JlcXVlc3QiOnt9LCJ1c2VfdGlja2VyX29uX3N5bWJvbF9pbmZvX3VwZGF0ZSI6e30sInNob3dfem9vbV9hbmRfbW92ZV9idXR0b25zX29uX3RvdWNoIjp7fSwiaGlkZV9tYWluX3Nlcmllc19zeW1ib2xfZnJvbV9pbmRpY2F0b3JfbGVnZW5kIjp7fSwiY2hhcnRfaGlkZV9jbG9zZV9wb3NpdGlvbl9idXR0b24iOnt9LCJjaGFydF9oaWRlX2Nsb3NlX29yZGVyX2J1dHRvbiI6e30sImhpZGVfcHJpY2Vfc2NhbGVfZ2xvYmFsX2xhc3RfYmFyX3ZhbHVlIjp7InN1YnNldHMiOlsidXNlX2xhc3RfdmlzaWJsZV9iYXJfdmFsdWVfaW5fbGVnZW5kIl19LCJrZWVwX29iamVjdF90cmVlX3dpZGdldF9pbl9yaWdodF90b29sYmFyIjp7fSwic2hvd19hdmVyYWdlX2Nsb3NlX3ByaWNlX2xpbmVfYW5kX2xhYmVsIjp7fSwiaGlkZV9pbWFnZV9pbnZhbGlkX3N5bWJvbCI6e30sImhpZGVfb2JqZWN0X3RyZWVfYW5kX3ByaWNlX3NjYWxlX2V4Y2hhbmdlX2xhYmVsIjp7fSwiY29uZmlybV9vdmVyd3JpdGVfaWZfY2hhcnRfbGF5b3V0X3dpdGhfbmFtZV9leGlzdHMiOnt9LCJkZXRlcm1pbmVfZmlyc3RfZGF0YV9yZXF1ZXN0X3NpemVfdXNpbmdfdmlzaWJsZV9yYW5nZSI6e30sInVzZV9uYV9zdHJpbmdfZm9yX25vdF9hdmFpbGFibGVfdmFsdWVzIjp7fSwic2hvd19sYXN0X3ByaWNlX2FuZF9jaGFuZ2Vfb25seV9pbl9zZXJpZXNfbGVnZW5kIjp7fSwibGVnZW5kX2xhc3RfZGF5X2NoYW5nZSI6e30sImlmcmFtZV9sb2FkaW5nX2NvbXBhdGliaWxpdHlfbW9kZSI6e30sInNob3dfcGVyY2VudF9vcHRpb25fZm9yX3JpZ2h0X21hcmdpbiI6e30sIndhdGNobGlzdF9jb250ZXh0X21lbnUiOnt9LCJhY2Nlc3NpYmxlX2tleWJvYXJkX3Nob3J0Y3V0cyI6e30sImFkdmFuY2VkX2Vtb2ppX2luX3RpdGxlcyI6e30sImFwcF9waG9uZSI6e30sImFwcF90YWJsZXQiOnt9LCJtb2JpbGVfYXBwX2hpZGVfcmVwbGF5X3Rvb2xiYXIiOnt9LCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciI6e30sInNob3dfbmF0aXZlX3N5bWJvbF9zZWFyY2hfb25fdGFwX2luX2xlZ2VuZCI6e30sInNob3dfbmF0aXZlX3N5bWJvbF9zZWFyY2hfb25fbm9uX3RyYWRhYmxlIjp7fSwic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyI6e30sInByZV9wb3N0X21hcmtldF9wcmljZV9saW5lIjp7fSwicHJlX3Bvc3RfbWFya2V0X3Nlc3Npb25zIjp7fSwic3R1ZGllc19leHRlbmRfdGltZV9zY2FsZSI6e30sImluYWN0aXZpdHlfZ2FwcyI6e30sImFsaWduX2R3bV9iYXJzX3RvX21haW5fc2VyaWVzIjp7fSwicmVxdWVzdF9vbmx5X3Zpc2libGVfcmFuZ2Vfb25fcmVzZXQiOnt9LCJleHRlbmRlZF9leHRyYXBvbGF0aW9uX2xpbWl0Ijp7fSwidHZfcHJvZHVjdGlvbiI6eyJzdWJzZXRzIjpbIndhdGNobGlzdF9zZWN0aW9ucyIsImFkdmFuY2VkX2Vtb2ppX2luX3RpdGxlcyIsImF1dG9fZW5hYmxlX3N5bWJvbF9sYWJlbHMiLCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiIsImhlYWRlcl9mdWxsc2NyZWVuX2J1dHRvbiIsImhlYWRlcl93aWRnZXQiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJsZWZ0X3Rvb2xiYXIiLCJyaWdodF90b29sYmFyIiwiYnV5X3NlbGxfYnV0dG9ucyIsImNvbnRyb2xfYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwiY29udGV4dF9tZW51cyIsImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiLCJvYmplY3RfdHJlZV9sZWdlbmRfbW9kZSIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwidXNlX2xvY2Fsc3RvcmFnZV9mb3Jfc2V0dGluZ3MiLCJzYXZlbG9hZF9yZXF1aXJlc19hdXRoZW50aWNhdGlvbiIsInZvbHVtZV9mb3JjZV9vdmVybGF5Iiwic2F2ZWRfY2hhcnRzX2NvdW50X3Jlc3RyaWN0aW9uIiwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdCIsImNyZWF0ZV92b2x1bWVfaW5kaWNhdG9yX2J5X2RlZmF1bHRfb25jZSIsImNoYXJ0c19hdXRvX3NhdmUiLCJzYXZlX29sZF9jaGFydF9iZWZvcmVfc2F2ZV9hcyIsImNoYXJ0X2NvbnRlbnRfb3ZlcnJpZGVzX2J5X2RlZmF1bHRzIiwiYWxlcnRzIiwiaGVhZGVyX3NhdmVsb2FkIiwiaGVhZGVyX2xheW91dHRvZ2dsZSIsImRhdGFzb3VyY2VfY29weXBhc3RlIiwic2hvd19zYXZlZF93YXRjaGxpc3RzIiwid2F0Y2hsaXN0c19mcm9tX3RvX2ZpbGUiLCJhZGRfdG9fd2F0Y2hsaXN0IiwicHJvcGVydHlfcGFnZXMiLCJzdXBwb3J0X211bHRpY2hhcnRzIiwiZGlzcGxheV9tYXJrZXRfc3RhdHVzIiwiZGlzcGxheV9kYXRhX21vZGUiLCJzaG93X2NoYXJ0X3dhcm5fbWVzc2FnZSIsInN1cHBvcnRfbWFuYWdlX2RyYXdpbmdzIiwid2lkZ2V0YmFyX3RhYnMiLCJzdHVkeV90ZW1wbGF0ZXMiLCJjb2xsYXBzaWJsZV9oZWFkZXIiLCJkcmF3aW5nX3RlbXBsYXRlcyIsImhlYWRlcl90cmFkZV9idXR0b24iLCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIiwiZm9vdGVyX3B1Ymxpc2hfaWRlYV9idXR0b24iLCJ0ZXh0X25vdGVzIiwic2hvd19zb3VyY2VfY29kZSIsInN5bWJvbF9pbmZvIiwibGluZXRvb2xwcm9wZXJ0aWVzd2lkZ2V0X3RlbXBsYXRlX2J1dHRvbiIsInRyYWRpbmdfbm90aWZpY2F0aW9ucyIsInN5bWJvbF9zZWFyY2hfdGhyZWVfY29sdW1uc19leGNoYW5nZXMiLCJzeW1ib2xfc2VhcmNoX2ZsYWdzIiwic3ltYm9sX3NlYXJjaF9saW1pdGVkX2V4Y2hhbmdlcyIsInBob25lX3ZlcmlmaWNhdGlvbiIsImN1c3RvbV9yZXNvbHV0aW9ucyIsImNvbXBhcmVfc3ltYm9sIiwic3R1ZHlfb25fc3R1ZHkiLCJqYXBhbmVzZV9jaGFydF9zdHlsZXMiLCJzaG93X2xvZ2luX2RpYWxvZyIsImRvbV93aWRnZXQiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNob3dfdHJhZGluZ19ub3RpZmljYXRpb25zX2hpc3RvcnkiLCJzb3VyY2Vfc2VsZWN0aW9uX21hcmtlcnMiLCJzdHVkeV9kaWFsb2dfZnVuZGFtZW50YWxzX2Vjb25vbXlfYWRkb25zIiwibXVsdGlwbGVfd2F0Y2hsaXN0cyIsIm1hcmtlZF9zeW1ib2xzIiwib3JkZXJfcGFuZWwiLCJwcmljZXNjYWxlX2N1cnJlbmN5Iiwic2hvd19hbmltYXRlZF9sb2dvIiwicHJpY2VzY2FsZV9jdXJyZW5jeSIsInNob3dfb2JqZWN0X3RyZWUiLCJ3YXRjaGxpc3RfaW1wb3J0X2V4cG9ydCIsInNjYWxlc19kYXRlX2Zvcm1hdCIsInNjYWxlc190aW1lX2hvdXJzX2Zvcm1hdCIsInBvcHVwX2hpbnRzIiwic2hvd19yaWdodF93aWRnZXRzX3BhbmVsX2J5X2RlZmF1bHQiLCJjb21wYXJlX3JlY2VudF9zeW1ib2xzX2VuYWJsZWQiLCJjaGFydF9zdHlsZV9oaWxvX2xhc3RfcHJpY2UiLCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIsInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiLCJrZWVwX3NlbGVjdGVkX2dyb3VwX29uX3Rvb2xfY3JlYXRpb24iXX0sIndpZGdldCI6eyJzdWJzZXRzIjpbImF1dG9fZW5hYmxlX3N5bWJvbF9sYWJlbHMiLCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwibGVmdF90b29sYmFyIiwicmlnaHRfdG9vbGJhciIsImNvbnRyb2xfYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwiY29udGV4dF9tZW51cyIsImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiLCJvYmplY3RfdHJlZV9sZWdlbmRfbW9kZSIsInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIiwic2F2ZWxvYWRfcmVxdWlyZXNfYXV0aGVudGljYXRpb24iLCJ2b2x1bWVfZm9yY2Vfb3ZlcmxheSIsImNyZWF0ZV92b2x1bWVfaW5kaWNhdG9yX2J5X2RlZmF1bHQiLCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0X29uY2UiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJoZWFkZXJfd2lkZ2V0X2RvbV9ub2RlIiwiaGVhZGVyX3N5bWJvbF9zZWFyY2giLCJoZWFkZXJfcmVzb2x1dGlvbnMiLCJoZWFkZXJfY2hhcnRfdHlwZSIsImhlYWRlcl9jb21wYXJlIiwiaGVhZGVyX2luZGljYXRvcnMiLCJzdGFyX3NvbWVfaW50ZXJ2YWxzX2J5X2RlZmF1bHQiLCJkaXNwbGF5X21hcmtldF9zdGF0dXMiLCJkaXNwbGF5X2RhdGFfbW9kZSIsInNob3dfY2hhcnRfd2Fybl9tZXNzYWdlIiwic3ltYm9sX2luZm8iLCJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIiwic3ltYm9sX3NlYXJjaF90aHJlZV9jb2x1bW5zX2V4Y2hhbmdlcyIsInN5bWJvbF9zZWFyY2hfZmxhZ3MiLCJzeW1ib2xfc2VhcmNoX2xpbWl0ZWRfZXhjaGFuZ2VzIiwid2lkZ2V0YmFyX3RhYnMiLCJjb21wYXJlX3N5bWJvbCIsInNob3dfbG9naW5fZGlhbG9nIiwicGxhaW5fc3R1ZHltYXJrZXQiLCJqYXBhbmVzZV9jaGFydF9zdHlsZXMiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNvdXJjZV9zZWxlY3Rpb25fbWFya2VycyIsInByb3BlcnR5X3BhZ2VzIiwic2hvd19yaWdodF93aWRnZXRzX3BhbmVsX2J5X2RlZmF1bHQiLCJjaGFydF9zdHlsZV9oaWxvX2xhc3RfcHJpY2UiLCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIl19LCJib3Zlc3BhX3dpZGdldCI6eyJzdWJzZXRzIjpbIndpZGdldCIsImhlYWRlcl9zZXR0aW5ncyIsImxpbmV0b29scHJvcGVydGllc3dpZGdldF90ZW1wbGF0ZV9idXR0b24iLCJjb21wYXJlX3JlY2VudF9zeW1ib2xzX2VuYWJsZWQiXX0sImNoYXJ0aW5nX2xpYnJhcnlfYmFzZSI6eyJzdWJzZXRzIjpbIjE0ODUxIiwiYWxsb3dfc3VwcG9ydGVkX3Jlc29sdXRpb25zX3NldF9vbmx5IiwiYXV0b19lbmFibGVfc3ltYm9sX2xhYmVscyIsImJvcmRlcl9hcm91bmRfdGhlX2NoYXJ0IiwiY29sbGFwc2libGVfaGVhZGVyIiwiY29uc3RyYWludF9kaWFsb2dzX21vdmVtZW50IiwiY29udGV4dF9tZW51cyIsImNvbnRyb2xfYmFyIiwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdCIsImN1c3RvbV9pdGVtc19pbl9jb250ZXh0X21lbnUiLCJkYXRhc291cmNlX2NvcHlwYXN0ZSIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwiZGlzcGxheV9tYXJrZXRfc3RhdHVzIiwiZWRpdF9idXR0b25zX2luX2xlZ2VuZCIsIm9iamVjdF90cmVlX2xlZ2VuZF9tb2RlIiwiZ3JheWluZ19kaXNhYmxlZF90b29sc19lbmFibGVkIiwiaGVhZGVyX3dpZGdldCIsImxlZ2VuZF93aWRnZXQiLCJoZWFkZXJfc2F2ZWxvYWQiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJsZWFuX2NoYXJ0X2xvYWQiLCJsZWZ0X3Rvb2xiYXIiLCJyaWdodF90b29sYmFyIiwibGlua190b190cmFkaW5ndmlldyIsInBheV9hdHRlbnRpb25fdG9fdGlja2VyX25vdF9zeW1ib2wiLCJwbGFpbl9zdHVkeW1hcmtldCIsInJlZnJlc2hfc2F2ZWRfY2hhcnRzX2xpc3Rfb25fZGlhbG9nX3Nob3ciLCJyaWdodF9iYXJfc3RheXNfb25fc2Nyb2xsIiwic2F2ZWxvYWRfc3RvcmFnZV9jdXN0b21pemF0aW9uIiwic3RvcF9zdHVkeV9vbl9yZXN0YXJ0IiwidGltZWZyYW1lc190b29sYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwidXBkYXRlX3N0dWR5X2Zvcm1hdHRlcl9vbl9zeW1ib2xfcmVzb2x2ZSIsInVwZGF0ZV90aW1lZnJhbWVzX3NldF9vbl9zeW1ib2xfcmVzb2x2ZSIsInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIiwidm9sdW1lX2ZvcmNlX292ZXJsYXkiLCJ3aWRnZXRfbG9nbyIsImNvdW50ZG93biIsInVzZV9vdmVycmlkZXNfZm9yX292ZXJsYXkiLCJ0cmFkaW5nX25vdGlmaWNhdGlvbnMiLCJjb21wYXJlX3N5bWJvbCIsInN5bWJvbF9pbmZvIiwidGltZXpvbmVfbWVudSIsIm1haW5fc2VyaWVzX3NjYWxlX21lbnUiLCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0X29uY2UiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNvdXJjZV9zZWxlY3Rpb25fbWFya2VycyIsInByb3BlcnR5X3BhZ2VzIiwiZ29fdG9fZGF0ZSIsImFkYXB0aXZlX2xvZ28iLCJzaG93X2FuaW1hdGVkX2xvZ28iLCJoYW5kbGVfc2NhbGUiLCJoYW5kbGVfc2Nyb2xsIiwic2hpZnRfdmlzaWJsZV9yYW5nZV9vbl9uZXdfYmFyIiwiY2hhcnRfY29udGVudF9vdmVycmlkZXNfYnlfZGVmYXVsdHMiLCJjcm9wcGVkX3RpY2tfbWFya3MiLCJzY2FsZXNfZGF0ZV9mb3JtYXQiLCJzY2FsZXNfdGltZV9ob3Vyc19mb3JtYXQiLCJwb3B1cF9oaW50cyIsInNhdmVfc2hvcnRjdXQiLCJzaG93X3JpZ2h0X3dpZGdldHNfcGFuZWxfYnlfZGVmYXVsdCIsInNob3dfb2JqZWN0X3RyZWUiLCJpbnNlcnRfaW5kaWNhdG9yX2RpYWxvZ19zaG9ydGN1dCIsImNvbXBhcmVfcmVjZW50X3N5bWJvbHNfZW5hYmxlZCIsImhpZGVfbWFpbl9zZXJpZXNfc3ltYm9sX2Zyb21faW5kaWNhdG9yX2xlZ2VuZCIsImNoYXJ0X3N0eWxlX2hpbG8iLCJyZXF1ZXN0X29ubHlfdmlzaWJsZV9yYW5nZV9vbl9yZXNldCIsImNsZWFyX3ByaWNlX3NjYWxlX29uX2Vycm9yX29yX2VtcHR5X2JhcnMiLCJzaG93X3N5bWJvbF9sb2dvX2luX2xlZ2VuZCIsInNob3dfc3ltYm9sX2xvZ29fZm9yX2NvbXBhcmVfc3R1ZGllcyIsImxpYnJhcnlfY3VzdG9tX2NvbG9yX3RoZW1lcyIsImxvbmdfcHJlc3NfZmxvYXRpbmdfdG9vbHRpcCIsInN5bWJvbF9zZWFyY2hfaGlnaGxpZ2h0X2FjdGl2ZV9zeW1ib2wiXX0sImNoYXJ0aW5nX2xpYnJhcnkiOnsic3Vic2V0cyI6WyJjaGFydGluZ19saWJyYXJ5X2Jhc2UiXX0sInN0YXRpY19jaGFydHNfc2VydmljZSI6eyJzdWJzZXRzIjpbImNoYXJ0aW5nX2xpYnJhcnkiLCJkaXNhYmxlX3Jlc29sdXRpb25fcmVidWlsZCJdfSwidHJhZGluZ190ZXJtaW5hbCI6eyJzdWJzZXRzIjpbImNoYXJ0aW5nX2xpYnJhcnlfYmFzZSIsInN1cHBvcnRfbXVsdGljaGFydHMiLCJoZWFkZXJfbGF5b3V0dG9nZ2xlIiwiamFwYW5lc2VfY2hhcnRfc3R5bGVzIiwiY2hhcnRfcHJvcGVydHlfcGFnZV90cmFkaW5nIiwiYWRkX3RvX3dhdGNobGlzdCIsIm9wZW5fYWNjb3VudF9tYW5hZ2VyIiwic2hvd19kb21fZmlyc3RfdGltZSIsIm9yZGVyX3BhbmVsIiwiYnV5X3NlbGxfYnV0dG9ucyIsIm11bHRpcGxlX3dhdGNobGlzdHMiLCJzaG93X3RyYWRpbmdfbm90aWZpY2F0aW9uc19oaXN0b3J5IiwiYWx3YXlzX3Bhc3NfY2FsbGVkX29yZGVyX3RvX21vZGlmeSIsInNob3dfb2JqZWN0X3RyZWUiLCJ3YXRjaGxpc3RfaW1wb3J0X2V4cG9ydCIsImRyYXdpbmdfdGVtcGxhdGVzIiwidHJhZGluZ19hY2NvdW50X21hbmFnZXIiLCJjaGFydF9jcm9zc2hhaXJfbWVudSIsImNvbXBhcmVfcmVjZW50X3N5bWJvbHNfZW5hYmxlZCIsIndhdGNobGlzdF9jb250ZXh0X21lbnUiLCJzaG93X3N5bWJvbF9sb2dvX2luX2FjY291bnRfbWFuYWdlciIsInNob3dfc3ltYm9sX2xvZ29faW5fY2xvc2VfcG9zaXRpb25fZGlhbG9nIiwic2hvd19zeW1ib2xfbG9nb19pbl9jYW5jZWxfb3JkZXJfZGlhbG9nIiwid2F0Y2hsaXN0X3NlY3Rpb25zIiwicHJlZmVyX3F1b3RlX3Nob3J0X25hbWUiLCJlbmFibGVfZG9tX2RhdGFfZm9yX3VudHJhZGFibGVfc3ltYm9scyIsInByZWZlcl9zeW1ib2xfbmFtZV9vdmVyX2Z1bGxuYW1lIiwid2F0Y2hsaXN0X2Nyb3NzX3RhYl9zeW5jIl19fScpCn0sNzQ2OTQ5KGUpewplLmV4cG9ydHM9SlNPTi5wYXJzZSgneyJhZHgiOiJ3aWRnZXRfdXNlcl90b2tlbi1hZHgiLCJhZHhEIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWR4RCIsImFnZW5jaWFsYm1jb21iciI6IndpZGdldF91c2VyX3Rva2VuLWFnZW5jaWFsYm1jb21iciIsImFsamF6aXJhY2FwaXRhbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbGphemlyYWNhcGl0YWxEIiwiYWxqYXppcmFjYXBpdGFsUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbGphemlyYWNhcGl0YWxSVCIsImFscmFqaGljYXBpdGFsY29tRCI6IndpZGdldF91c2VyX3Rva2VuLWFscmFqaGljYXBpdGFsY29tRCIsImFscmFqaGljYXBpdGFsY29tUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbHJhamhpY2FwaXRhbGNvbVJUIiwiYW1iaXRvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYW1iaXRvIiwiYXJlbmF4dHJvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYXJlbmF4dHJvIiwiYXJ0ZWNoZWNvbSI6IndpZGdldF91c2VyX3Rva2VuLUFydGVjaGVEIiwiYXRsY2FwaXRhbCI6IndpZGdldF91c2VyX3Rva2VuLWF0bGNhcGl0YWwiLCJiYW5raXJvc3J1Ijoid2lkZ2V0X3VzZXJfdG9rZW4tYmFua2lyb3NydSIsImJidmFjaCI6IndpZGdldF91c2VyX3Rva2VuLWJidmFjaCIsImJlZWtzZ3JvdXAiOiJ3aWRnZXRfdXNlcl90b2tlbi1iZWVrc2dyb3VwIiwiYmVsdWdhZ3JvdXBydSI6IndpZGdldF91c2VyX3Rva2VuLWJlbHVnYWdyb3VwcnUiLCJiaXZhY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tYml2YWNvbSIsImJsdWVmaWVsZCI6IndpZGdldF91c2VyX3Rva2VuLWJsdWVmaWVsZCIsImJsdWVsaW5lZnV0dXJlcyI6IndpZGdldF91c2VyX3Rva2VuLWJsdWVsaW5lZnV0dXJlcyIsImJvdmVzcGEiOiJ3aWRnZXRfdXNlcl90b2tlbi1ibWZib3Zlc3BhY29tYnIiLCJidmJybyI6IndpZGdldF91c2VyX3Rva2VuLWJ2YnJvIiwiYnl0ZXRyYXZlbCI6IndpZGdldF91c2VyX3Rva2VuLWJ5dGV0cmF2ZWwiLCJjYm9lY2FuYWRhIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2JvZWNhbmFkYSIsImNoYW1waW9ubmF0Ym91cnNlIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2hhbXBpb25uYXRib3Vyc2UiLCJjaW5jb2RpYXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jaW5jb2RpYXMiLCJjZW9jYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1jZW9jYUQiLCJjZW9jYVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2VvY2FSVCIsImNtY21hcmtldHMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jbWNtYXJrZXRzIiwiY29wZWVzIjoid2lkZ2V0X3VzZXJfdG9rZW4tY29wZWVzIiwiY3NlbGsiOiJ3aWRnZXRfdXNlcl90b2tlbi1jc2VsayIsImRhaWx5ZngiOiJ3aWRnZXRfdXNlcl90b2tlbi1kYWlseWZ4IiwiZGVlcHNlYXJjaCI6IndpZGdldF91c2VyX3Rva2VuLWRlZXBzZWFyY2giLCJkZXJheWFoY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGVyYXlhaGNvbSIsImRmbWFlRCI6IndpZGdldF91c2VyX3Rva2VuLWRmbWFlRCIsImRmbWFlUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kZm1hZVJUIiwiZGluYXJzYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kaW5hcnNhRCIsImRpbmFyc2FSVCI6IndpZGdldF91c2VyX3Rva2VuLWRpbmFyc2FSVCIsImRvbGFyaG95Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZG9sYXJob3kiLCJlYXN5bnZlc3Rjb21iciI6IndpZGdldF91c2VyX3Rva2VuLWVhc3ludmVzdGNvbWJyIiwiZWRhaWx5Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZWRhaWx5IiwiZWxlc3Bhbm9sY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxlc3Bhbm9sY29tIiwiZWxvYnJlcm9lcyI6IndpZGdldF91c2VyX3Rva2VuLWVsb2JyZXJvZXMiLCJlbG5hY2lvbmFsRCI6IndpZGdldF91c2VyX3Rva2VuLUVsTmFjaW9uYWxEIiwiZWxwYWlzZmluYW5jaWVybyI6IndpZGdldF91c2VyX3Rva2VuLWVscGFpc2ZpbmFuY2llcm8iLCJlbHBlcmlvZGljb2RlbGFlbmVyZ2lhIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxwZXJpb2RpY29kZWxhZW5lcmdpYSIsImV1cXVlcm9pbnZlc3RpciI6IndpZGdldF91c2VyX3Rva2VuLWV1cXVlcm9pbnZlc3RpcmNvbSIsImV1cmV4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZXVyZXgiLCJldXJvZmlucyI6IndpZGdldF91c2VyX3Rva2VuLWV1cm9maW5zIiwiZXBlIjoid2lkZ2V0X3VzZXJfdG9rZW4tZXBlIiwiZXVyb3BhcHJlc3NlcyI6IndpZGdldF91c2VyX3Rva2VuLWV1cm9wYXByZXNzZXMiLCJmaW5hbnphc0QiOiJ3aWRnZXRfdXNlcl90b2tlbi1GaW5hbnphc0QiLCJmb3JiZXNjb21iciI6IndpZGdldF91c2VyX3Rva2VuLWZvcmJlc2NvbWJyIiwiZ2VuaWFsaW52ZXN0aW1lbnRvcyI6IndpZGdldF91c2VyX3Rva2VuLWdlbmlhbGludmVzdGltZW50b3MiLCJoZWFsdGhpdGFsaWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1oZWFsdGhpdGFsaWEiLCJoZWduYXJubyI6IndpZGdldF91c2VyX3Rva2VuLWhlZ25hcm5vIiwiaGlwb3RlY2FyaW9jb21hciI6IndpZGdldF91c2VyX3Rva2VuLWhpcG90ZWNhcmlvY29tYXIiLCJpZ2NvbSI6IndpZGdldF91c2VyX3Rva2VuLWlnY29tIiwiaW52ZXN0ZWdhdGVjb3VrIjoid2lkZ2V0X3VzZXJfdG9rZW4taW52ZXN0ZWdhdGVjb3VrIiwiaW52ZXN0b3BlZGlhIjoid2lkZ2V0X3VzZXJfdG9rZW4taW52ZXN0b3BlZGlhIiwiaW50ZWdyYWx5YXRpcmltIjoid2lkZ2V0X3VzZXJfdG9rZW4taW50ZWdyYWx5YXRpcmltIiwiaXZzZ3JvdXAiOiJ3aWRnZXRfdXNlcl90b2tlbi1pdnNncm91cCIsImpzZWNvemEiOiJ3aWRnZXRfdXNlcl90b2tlbi1qc2Vjb3phIiwiYm9lcnNlbnplaXR1bmciOiJ3aWRnZXRfdXNlcl90b2tlbi1ib2Vyc2VuemVpdHVuZyIsImxhaW5mb3JtYWNpb25jb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1sYWluZm9ybWFjaW9uY29tIiwibWFyY29wb2xvY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1tYXJjb3BvbG9jb21iciIsIm1lcmNhZG9maW5hbmNpZXJvY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tbWVyY2Fkb2ZpbmFuY2llcm9jb20iLCJtb2V4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tbW9leCIsIm1vbmV5dGltZXNjb21iciI6IndpZGdldF91c2VyX3Rva2VuLW1vbmV5dGltZXNjb21iciIsIm1vbml0b3Jkb21lcmNhZG9EIjoid2lkZ2V0X3VzZXJfdG9rZW4tbW9uaXRvcmRvbWVyY2Fkb0QiLCJteW5ldGNvbSI6IndpZGdldF91c2VyX3Rva2VuLW15bmV0Y29tIiwibmVnb2Npb3MiOiJ3aWRnZXRfdXNlcl90b2tlbi1uZWdvY2lvcyIsIk5HWCI6IndpZGdldF91c2VyX3Rva2VuLU5HWCIsIk5vdGljaWFzYWdyaWNvbGFEIjoid2lkZ2V0X3VzZXJfdG9rZW4tbm90aWNpYXNhZ3JpY29sYUQiLCJub21tb21hIjoid2lkZ2V0X3VzZXJfdG9rZW4tbm9tbW9tYSIsIm5zZWNva3IiOiJ3aWRnZXRfdXNlcl90b2tlbi1uc2Vjb2tyIiwib2tkaWFyaW8iOiJ3aWRnZXRfdXNlcl90b2tlbi1va2RpYXJpbyIsInBhbmFmcmljYW5yZXNvdXJjZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1wYW5hZnJpY2FucmVzb3VyY2VzY29tIiwicHNlIjoid2lkZ2V0X3VzZXJfdG9rZW4tcHNlIiwicG9kZXIzNjAiOiJ3aWRnZXRfdXNlcl90b2tlbi1wb2RlcjM2MCIsInBzZUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1wc2VEIiwicml5YWRoY2FwaXRhbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1yaXlhZGhjYXBpdGFsRCIsInJpeWFkaGNhcGl0YWxSVCI6IndpZGdldF91c2VyX3Rva2VuLXJpeWFkaGNhcGl0YWxSVCIsInFlY29tcWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1xZWNvbXFhIiwic2Ftb2xldCI6IndpZGdldF91c2VyX3Rva2VuLXNhbW9sZXQiLCJzZWVpbmdtYWNoaW5lc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXNlZWluZ21hY2hpbmVzY29tIiwic2V1ZGluaGVpcm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1zZXVkaW5oZWlybyIsInNvZnR3YXJlYWciOiJ3aWRnZXRfdXNlcl90b2tlbi1zb2Z0d2FyZWFnIiwic29nZWNsYWlyIjoid2lkZ2V0X3VzZXJfdG9rZW4tc29nZWNsYWlyIiwic2djb21wYW55aXQiOiJ3aWRnZXRfdXNlcl90b2tlbi1zZ2NvbXBhbnlpdCIsInNoYXJlanVuY3Rpb24iOiJ3aWRnZXRfdXNlcl90b2tlbi1zaGFyZWp1bmN0aW9uIiwic21hcnRsYWItY3VzdG9tIjoid2lkZ2V0X3VzZXJfdG9rZW4tc21hcnRsYWIiLCJzbWFydGxhYiI6IndpZGdldF91c2VyX3Rva2VuLXNtYXJ0bGFiIiwic3BhY2Vtb25leWNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3BhY2Vtb25leWNvbWJyIiwic3RvbmV4d2RnIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3RvbmV4wqMtIXd3dy5zdG9uZXguY29tIiwic3RveGlvIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3RveGlvIiwic3RvbmV4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tc3RvbmV4IiwidG9yb2ludmVzdGltZW50b3Njb20iOiJ3aWRnZXRfdXNlcl90b2tlbi10b3JvaW52ZXN0aW1lbnRvc2NvbSIsInRoZWNzZWNvbSI6IndpZGdldF91c2VyX3Rva2VuLXRoZWNzZWNvbSIsInRyYWRlcnNjbHViYnJhc2lsIjoid2lkZ2V0X3VzZXJfdG9rZW4tdHJhZGVyc2NsdWJicmFzaWwiLCJ0cmFkZXJzY2x1YmJyYXNpbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi10cmFkZXJzY2x1YmJyYXNpbEQiLCJ0cmFkaW5ndmlldyI6IndpZGdldF91c2VyX3Rva2VuLXRyYWRpbmd2aWV3IiwieHRvb2xzIjoid2lkZ2V0X3VzZXJfdG9rZW4teHRvb2xzIiwidHdpdHRlciI6IndpZGdldF91c2VyX3Rva2VuLXR3aXR0ZXIiLCJ2ZWxvY2l0eWNvbXBvc2l0ZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi12ZWxvY2l0eWNvbXBvc2l0ZXNjb20iLCJ2b2Nlc2FhYnJpbGNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tdm9jZXNhYWJyaWxjb21iciIsIndlYWx0aHNpbXBsZSI6IndpZGdldF91c2VyX3Rva2VuLXdlYWx0aHNpbXBsZcKjLSFteS53ZWFsdGhzaW1wbGUuY29tIiwid29ybGRjaGVzc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXdvcmxkY2hlc3Njb20iLCJ4Q3J0eUprc3AiOiJ3aWRnZXRfdXNlcl90b2tlbi14Q3J0eUprc3AiLCJ4cGljb21iciI6IndpZGdldF91c2VyX3Rva2VuLXhwaWNvbWJyIn0nKQp9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/js/jquery-3.3.1.js","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:32.888Z","timestamp":1785120632888,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /js/jquery-3.3.1.js HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:32 GMT\r\nContent-Type: application/javascript; charset=utf-8\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-44e03\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":282115,"size_decoded":100278,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with CRLF line terminators","md5":"b0e8755b0ab71a0a4aea47c3b589b47e","sha1":"849189b1a2f520293ffc649ee14fbddc32f44fdb","sha256":"8a051cd343d7193d5804bd7f29fed0632f5f3e52ea64a7041ab0aa0f3dc41432","sha512":"5e0fa58452ec8fdf9c92453a4f7ac7b193edcde25cb729719512ae8e2ea9afc02e0f710532b645bce7b6fa8e92247a6be8c2d9086ec52dc618b6a9b266d2b386","ssdeep":"6144:2Ea6/iLY8CvPokFFr2QFbP+s3JPL2ymp896ZhY1vRUk2YpHe4hzbQSA4ZE:dCQFbPLjG89DRlTHe8bQSJZE","tlshash":"3b54b3d9734f116f4ba233aae43b5149ff7dd1b0520550acb58d996c24a081883fafbe","first_seen":"2023-03-07T12:43:05Z","last_seen":"2026-07-27T02:59:54.603911Z","times_seen":257,"resource_available":true,"data":"LyohDQogKiBqUXVlcnkgSmF2YVNjcmlwdCBMaWJyYXJ5IHYzLjMuMQ0KICogaHR0cHM6Ly9qcXVlcnkuY29tLw0KICoNCiAqIEluY2x1ZGVzIFNpenpsZS5qcw0KICogaHR0cHM6Ly9zaXp6bGVqcy5jb20vDQogKg0KICogQ29weXJpZ2h0IEpTIEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlDQogKiBodHRwczovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICoNCiAqIERhdGU6IDIwMTgtMDEtMjBUMTc6MjRaDQogKi8NCiggZnVuY3Rpb24oIGdsb2JhbCwgZmFjdG9yeSApIHsNCg0KCSJ1c2Ugc3RyaWN0IjsNCg0KCWlmICggdHlwZW9mIG1vZHVsZSA9PT0gIm9iamVjdCIgJiYgdHlwZW9mIG1vZHVsZS5leHBvcnRzID09PSAib2JqZWN0IiApIHsNCg0KCQkvLyBGb3IgQ29tbW9uSlMgYW5kIENvbW1vbkpTLWxpa2UgZW52aXJvbm1lbnRzIHdoZXJlIGEgcHJvcGVyIGB3aW5kb3dgDQoJCS8vIGlzIHByZXNlbnQsIGV4ZWN1dGUgdGhlIGZhY3RvcnkgYW5kIGdldCBqUXVlcnkuDQoJCS8vIEZvciBlbnZpcm9ubWVudHMgdGhhdCBkbyBub3QgaGF2ZSBhIGB3aW5kb3dgIHdpdGggYSBgZG9jdW1lbnRgDQoJCS8vIChzdWNoIGFzIE5vZGUuanMpLCBleHBvc2UgYSBmYWN0b3J5IGFzIG1vZHVsZS5leHBvcnRzLg0KCQkvLyBUaGlzIGFjY2VudHVhdGVzIHRoZSBuZWVkIGZvciB0aGUgY3JlYXRpb24gb2YgYSByZWFsIGB3aW5kb3dgLg0KCQkvLyBlLmcuIHZhciBqUXVlcnkgPSByZXF1aXJlKCJqcXVlcnkiKSh3aW5kb3cpOw0KCQkvLyBTZWUgdGlja2V0ICMxNDU0OSBmb3IgbW9yZSBpbmZvLg0KCQltb2R1bGUuZXhwb3J0cyA9IGdsb2JhbC5kb2N1bWVudCA/DQoJCQlmYWN0b3J5KCBnbG9iYWwsIHRydWUgKSA6DQoJCQlmdW5jdGlvbiggdyApIHsNCgkJCQlpZiAoICF3LmRvY3VtZW50ICkgew0KCQkJCQl0aHJvdyBuZXcgRXJyb3IoICJqUXVlcnkgcmVxdWlyZXMgYSB3aW5kb3cgd2l0aCBhIGRvY3VtZW50IiApOw0KCQkJCX0NCgkJCQlyZXR1cm4gZmFjdG9yeSggdyApOw0KCQkJfTsNCgl9IGVsc2Ugew0KCQlmYWN0b3J5KCBnbG9iYWwgKTsNCgl9DQoNCi8vIFBhc3MgdGhpcyBpZiB3aW5kb3cgaXMgbm90IGRlZmluZWQgeWV0DQp9ICkoIHR5cGVvZiB3aW5kb3cgIT09ICJ1bmRlZmluZWQiID8gd2luZG93IDogdGhpcywgZnVuY3Rpb24oIHdpbmRvdywgbm9HbG9iYWwgKSB7DQoNCi8vIEVkZ2UgPD0gMTIgLSAxMyssIEZpcmVmb3ggPD0xOCAtIDQ1KywgSUUgMTAgLSAxMSwgU2FmYXJpIDUuMSAtIDkrLCBpT1MgNiAtIDkuMQ0KLy8gdGhyb3cgZXhjZXB0aW9ucyB3aGVuIG5vbi1zdHJpY3QgY29kZSAoZS5nLiwgQVNQLk5FVCA0LjUpIGFjY2Vzc2VzIHN0cmljdCBtb2RlDQovLyBhcmd1bWVudHMuY2FsbGVlLmNhbGxlciAodHJhYy0xMzMzNSkuIEJ1dCBhcyBvZiBqUXVlcnkgMy4wICgyMDE2KSwgc3RyaWN0IG1vZGUgc2hvdWxkIGJlIGNvbW1vbg0KLy8gZW5vdWdoIHRoYXQgYWxsIHN1Y2ggYXR0ZW1wdHMgYXJlIGd1YXJkZWQgaW4gYSB0cnkgYmxvY2suDQoidXNlIHN0cmljdCI7DQoNCnZhciBhcnIgPSBbXTsNCg0KdmFyIGRvY3VtZW50ID0gd2luZG93LmRvY3VtZW50Ow0KDQp2YXIgZ2V0UHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Y7DQoNCnZhciBzbGljZSA9IGFyci5zbGljZTsNCg0KdmFyIGNvbmNhdCA9IGFyci5jb25jYXQ7DQoNCnZhciBwdXNoID0gYXJyLnB1c2g7DQoNCnZhciBpbmRleE9mID0gYXJyLmluZGV4T2Y7DQoNCnZhciBjbGFzczJ0eXBlID0ge307DQoNCnZhciB0b1N0cmluZyA9IGNsYXNzMnR5cGUudG9TdHJpbmc7DQoNCnZhciBoYXNPd24gPSBjbGFzczJ0eXBlLmhhc093blByb3BlcnR5Ow0KDQp2YXIgZm5Ub1N0cmluZyA9IGhhc093bi50b1N0cmluZzsNCg0KdmFyIE9iamVjdEZ1bmN0aW9uU3RyaW5nID0gZm5Ub1N0cmluZy5jYWxsKCBPYmplY3QgKTsNCg0KdmFyIHN1cHBvcnQgPSB7fTsNCg0KdmFyIGlzRnVuY3Rpb24gPSBmdW5jdGlvbiBpc0Z1bmN0aW9uKCBvYmogKSB7DQoNCiAgICAgIC8vIFN1cHBvcnQ6IENocm9tZSA8PTU3LCBGaXJlZm94IDw9NTINCiAgICAgIC8vIEluIHNvbWUgYnJvd3NlcnMsIHR5cGVvZiByZXR1cm5zICJmdW5jdGlvbiIgZm9yIEhUTUwgPG9iamVjdD4gZWxlbWVudHMNCiAgICAgIC8vIChpLmUuLCBgdHlwZW9mIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoICJvYmplY3QiICkgPT09ICJmdW5jdGlvbiJgKS4NCiAgICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gY2xhc3NpZnkgKmFueSogRE9NIG5vZGUgYXMgYSBmdW5jdGlvbi4NCiAgICAgIHJldHVybiB0eXBlb2Ygb2JqID09PSAiZnVuY3Rpb24iICYmIHR5cGVvZiBvYmoubm9kZVR5cGUgIT09ICJudW1iZXIiOw0KICB9Ow0KDQoNCnZhciBpc1dpbmRvdyA9IGZ1bmN0aW9uIGlzV2luZG93KCBvYmogKSB7DQoJCXJldHVybiBvYmogIT0gbnVsbCAmJiBvYmogPT09IG9iai53aW5kb3c7DQoJfTsNCg0KDQoNCg0KCXZhciBwcmVzZXJ2ZWRTY3JpcHRBdHRyaWJ1dGVzID0gew0KCQl0eXBlOiB0cnVlLA0KCQlzcmM6IHRydWUsDQoJCW5vTW9kdWxlOiB0cnVlDQoJfTsNCg0KCWZ1bmN0aW9uIERPTUV2YWwoIGNvZGUsIGRvYywgbm9kZSApIHsNCgkJZG9jID0gZG9jIHx8IGRvY3VtZW50Ow0KDQoJCXZhciBpLA0KCQkJc2NyaXB0ID0gZG9jLmNyZWF0ZUVsZW1lbnQoICJzY3JpcHQiICk7DQoNCgkJc2NyaXB0LnRleHQgPSBjb2RlOw0KCQlpZiAoIG5vZGUgKSB7DQoJCQlmb3IgKCBpIGluIHByZXNlcnZlZFNjcmlwdEF0dHJpYnV0ZXMgKSB7DQoJCQkJaWYgKCBub2RlWyBpIF0gKSB7DQoJCQkJCXNjcmlwdFsgaSBdID0gbm9kZVsgaSBdOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCQlkb2MuaGVhZC5hcHBlbmRDaGlsZCggc2NyaXB0ICkucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCggc2NyaXB0ICk7DQoJfQ0KDQoNCmZ1bmN0aW9uIHRvVHlwZSggb2JqICkgew0KCWlmICggb2JqID09IG51bGwgKSB7DQoJCXJldHVybiBvYmogKyAiIjsNCgl9DQoNCgkvLyBTdXBwb3J0OiBBbmRyb2lkIDw9Mi4zIG9ubHkgKGZ1bmN0aW9uaXNoIFJlZ0V4cCkNCglyZXR1cm4gdHlwZW9mIG9iaiA9PT0gIm9iamVjdCIgfHwgdHlwZW9mIG9iaiA9PT0gImZ1bmN0aW9uIiA/DQoJCWNsYXNzMnR5cGVbIHRvU3RyaW5nLmNhbGwoIG9iaiApIF0gfHwgIm9iamVjdCIgOg0KCQl0eXBlb2Ygb2JqOw0KfQ0KLyogZ2xvYmFsIFN5bWJvbCAqLw0KLy8gRGVmaW5pbmcgdGhpcyBnbG9iYWwgaW4gLmVzbGludHJjLmpzb24gd291bGQgY3JlYXRlIGEgZGFuZ2VyIG9mIHVzaW5nIHRoZSBnbG9iYWwNCi8vIHVuZ3VhcmRlZCBpbiBhbm90aGVyIHBsYWNlLCBpdCBzZWVtcyBzYWZlciB0byBkZWZpbmUgZ2xvYmFsIG9ubHkgZm9yIHRoaXMgbW9kdWxlDQoNCg0KDQp2YXINCgl2ZXJzaW9uID0gIjMuMy4xIiwNCg0KCS8vIERlZmluZSBhIGxvY2FsIGNvcHkgb2YgalF1ZXJ5DQoJalF1ZXJ5ID0gZnVuY3Rpb24oIHNlbGVjdG9yLCBjb250ZXh0ICkgew0KDQoJCS8vIFRoZSBqUXVlcnkgb2JqZWN0IGlzIGFjdHVhbGx5IGp1c3QgdGhlIGluaXQgY29uc3RydWN0b3IgJ2VuaGFuY2VkJw0KCQkvLyBOZWVkIGluaXQgaWYgalF1ZXJ5IGlzIGNhbGxlZCAoanVzdCBhbGxvdyBlcnJvciB0byBiZSB0aHJvd24gaWYgbm90IGluY2x1ZGVkKQ0KCQlyZXR1cm4gbmV3IGpRdWVyeS5mbi5pbml0KCBzZWxlY3RvciwgY29udGV4dCApOw0KCX0sDQoNCgkvLyBTdXBwb3J0OiBBbmRyb2lkIDw9NC4wIG9ubHkNCgkvLyBNYWtlIHN1cmUgd2UgdHJpbSBCT00gYW5kIE5CU1ANCglydHJpbSA9IC9eW1xzXHVGRUZGXHhBMF0rfFtcc1x1RkVGRlx4QTBdKyQvZzsNCg0KalF1ZXJ5LmZuID0galF1ZXJ5LnByb3RvdHlwZSA9IHsNCg0KCS8vIFRoZSBjdXJyZW50IHZlcnNpb24gb2YgalF1ZXJ5IGJlaW5nIHVzZWQNCglqcXVlcnk6IHZlcnNpb24sDQoNCgljb25zdHJ1Y3RvcjogalF1ZXJ5LA0KDQoJLy8gVGhlIGRlZmF1bHQgbGVuZ3RoIG9mIGEgalF1ZXJ5IG9iamVjdCBpcyAwDQoJbGVuZ3RoOiAwLA0KDQoJdG9BcnJheTogZnVuY3Rpb24oKSB7DQoJCXJldHVybiBzbGljZS5jYWxsKCB0aGlzICk7DQoJfSwNCg0KCS8vIEdldCB0aGUgTnRoIGVsZW1lbnQgaW4gdGhlIG1hdGNoZWQgZWxlbWVudCBzZXQgT1INCgkvLyBHZXQgdGhlIHdob2xlIG1hdGNoZWQgZWxlbWVudCBzZXQgYXMgYSBjbGVhbiBhcnJheQ0KCWdldDogZnVuY3Rpb24oIG51bSApIHsNCg0KCQkvLyBSZXR1cm4gYWxsIHRoZSBlbGVtZW50cyBpbiBhIGNsZWFuIGFycmF5DQoJCWlmICggbnVtID09IG51bGwgKSB7DQoJCQlyZXR1cm4gc2xpY2UuY2FsbCggdGhpcyApOw0KCQl9DQoNCgkJLy8gUmV0dXJuIGp1c3QgdGhlIG9uZSBlbGVtZW50IGZyb20gdGhlIHNldA0KCQlyZXR1cm4gbnVtIDwgMCA/IHRoaXNbIG51bSArIHRoaXMubGVuZ3RoIF0gOiB0aGlzWyBudW0gXTsNCgl9LA0KDQoJLy8gVGFrZSBhbiBhcnJheSBvZiBlbGVtZW50cyBhbmQgcHVzaCBpdCBvbnRvIHRoZSBzdGFjaw0KCS8vIChyZXR1cm5pbmcgdGhlIG5ldyBtYXRjaGVkIGVsZW1lbnQgc2V0KQ0KCXB1c2hTdGFjazogZnVuY3Rpb24oIGVsZW1zICkgew0KDQoJCS8vIEJ1aWxkIGEgbmV3IGpRdWVyeSBtYXRjaGVkIGVsZW1lbnQgc2V0DQoJCXZhciByZXQgPSBqUXVlcnkubWVyZ2UoIHRoaXMuY29uc3RydWN0b3IoKSwgZWxlbXMgKTsNCg0KCQkvLyBBZGQgdGhlIG9sZCBvYmplY3Qgb250byB0aGUgc3RhY2sgKGFzIGEgcmVmZXJlbmNlKQ0KCQlyZXQucHJldk9iamVjdCA9IHRoaXM7DQoNCgkJLy8gUmV0dXJuIHRoZSBuZXdseS1mb3JtZWQgZWxlbWVudCBzZXQNCgkJcmV0dXJuIHJldDsNCgl9LA0KDQoJLy8gRXhlY3V0ZSBhIGNhbGxiYWNrIGZvciBldmVyeSBlbGVtZW50IGluIHRoZSBtYXRjaGVkIHNldC4NCgllYWNoOiBmdW5jdGlvbiggY2FsbGJhY2sgKSB7DQoJCXJldHVybiBqUXVlcnkuZWFjaCggdGhpcywgY2FsbGJhY2sgKTsNCgl9LA0KDQoJbWFwOiBmdW5jdGlvbiggY2FsbGJhY2sgKSB7DQoJCXJldHVybiB0aGlzLnB1c2hTdGFjayggalF1ZXJ5Lm1hcCggdGhpcywgZnVuY3Rpb24oIGVsZW0sIGkgKSB7DQoJCQlyZXR1cm4gY2FsbGJhY2suY2FsbCggZWxlbSwgaSwgZWxlbSApOw0KCQl9ICkgKTsNCgl9LA0KDQoJc2xpY2U6IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gdGhpcy5wdXNoU3RhY2soIHNsaWNlLmFwcGx5KCB0aGlzLCBhcmd1bWVudHMgKSApOw0KCX0sDQoNCglmaXJzdDogZnVuY3Rpb24oKSB7DQoJCXJldHVybiB0aGlzLmVxKCAwICk7DQoJfSwNCg0KCWxhc3Q6IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gdGhpcy5lcSggLTEgKTsNCgl9LA0KDQoJZXE6IGZ1bmN0aW9uKCBpICkgew0KCQl2YXIgbGVuID0gdGhpcy5sZW5ndGgsDQoJCQlqID0gK2kgKyAoIGkgPCAwID8gbGVuIDogMCApOw0KCQlyZXR1cm4gdGhpcy5wdXNoU3RhY2soIGogPj0gMCAmJiBqIDwgbGVuID8gWyB0aGlzWyBqIF0gXSA6IFtdICk7DQoJfSwNCg0KCWVuZDogZnVuY3Rpb24oKSB7DQoJCXJldHVybiB0aGlzLnByZXZPYmplY3QgfHwgdGhpcy5jb25zdHJ1Y3RvcigpOw0KCX0sDQoNCgkvLyBGb3IgaW50ZXJuYWwgdXNlIG9ubHkuDQoJLy8gQmVoYXZlcyBsaWtlIGFuIEFycmF5J3MgbWV0aG9kLCBub3QgbGlrZSBhIGpRdWVyeSBtZXRob2QuDQoJcHVzaDogcHVzaCwNCglzb3J0OiBhcnIuc29ydCwNCglzcGxpY2U6IGFyci5zcGxpY2UNCn07DQoNCmpRdWVyeS5leHRlbmQgPSBqUXVlcnkuZm4uZXh0ZW5kID0gZnVuY3Rpb24oKSB7DQoJdmFyIG9wdGlvbnMsIG5hbWUsIHNyYywgY29weSwgY29weUlzQXJyYXksIGNsb25lLA0KCQl0YXJnZXQgPSBhcmd1bWVudHNbIDAgXSB8fCB7fSwNCgkJaSA9IDEsDQoJCWxlbmd0aCA9IGFyZ3VtZW50cy5sZW5ndGgsDQoJCWRlZXAgPSBmYWxzZTsNCg0KCS8vIEhhbmRsZSBhIGRlZXAgY29weSBzaXR1YXRpb24NCglpZiAoIHR5cGVvZiB0YXJnZXQgPT09ICJib29sZWFuIiApIHsNCgkJZGVlcCA9IHRhcmdldDsNCg0KCQkvLyBTa2lwIHRoZSBib29sZWFuIGFuZCB0aGUgdGFyZ2V0DQoJCXRhcmdldCA9IGFyZ3VtZW50c1sgaSBdIHx8IHt9Ow0KCQlpKys7DQoJfQ0KDQoJLy8gSGFuZGxlIGNhc2Ugd2hlbiB0YXJnZXQgaXMgYSBzdHJpbmcgb3Igc29tZXRoaW5nIChwb3NzaWJsZSBpbiBkZWVwIGNvcHkpDQoJaWYgKCB0eXBlb2YgdGFyZ2V0ICE9PSAib2JqZWN0IiAmJiAhaXNGdW5jdGlvbiggdGFyZ2V0ICkgKSB7DQoJCXRhcmdldCA9IHt9Ow0KCX0NCg0KCS8vIEV4dGVuZCBqUXVlcnkgaXRzZWxmIGlmIG9ubHkgb25lIGFyZ3VtZW50IGlzIHBhc3NlZA0KCWlmICggaSA9PT0gbGVuZ3RoICkgew0KCQl0YXJnZXQgPSB0aGlzOw0KCQlpLS07DQoJfQ0KDQoJZm9yICggOyBpIDwgbGVuZ3RoOyBpKysgKSB7DQoNCgkJLy8gT25seSBkZWFsIHdpdGggbm9uLW51bGwvdW5kZWZpbmVkIHZhbHVlcw0KCQlpZiAoICggb3B0aW9ucyA9IGFyZ3VtZW50c1sgaSBdICkgIT0gbnVsbCApIHsNCg0KCQkJLy8gRXh0ZW5kIHRoZSBiYXNlIG9iamVjdA0KCQkJZm9yICggbmFtZSBpbiBvcHRpb25zICkgew0KCQkJCXNyYyA9IHRhcmdldFsgbmFtZSBdOw0KCQkJCWNvcHkgPSBvcHRpb25zWyBuYW1lIF07DQoNCgkJCQkvLyBQcmV2ZW50IG5ldmVyLWVuZGluZyBsb29wDQoJCQkJaWYgKCB0YXJnZXQgPT09IGNvcHkgKSB7DQoJCQkJCWNvbnRpbnVlOw0KCQkJCX0NCg0KCQkJCS8vIFJlY3Vyc2UgaWYgd2UncmUgbWVyZ2luZyBwbGFpbiBvYmplY3RzIG9yIGFycmF5cw0KCQkJCWlmICggZGVlcCAmJiBjb3B5ICYmICggalF1ZXJ5LmlzUGxhaW5PYmplY3QoIGNvcHkgKSB8fA0KCQkJCQkoIGNvcHlJc0FycmF5ID0gQXJyYXkuaXNBcnJheSggY29weSApICkgKSApIHsNCg0KCQkJCQlpZiAoIGNvcHlJc0FycmF5ICkgew0KCQkJCQkJY29weUlzQXJyYXkgPSBmYWxzZTsNCgkJCQkJCWNsb25lID0gc3JjICYmIEFycmF5LmlzQXJyYXkoIHNyYyApID8gc3JjIDogW107DQoNCgkJCQkJfSBlbHNlIHsNCgkJCQkJCWNsb25lID0gc3JjICYmIGpRdWVyeS5pc1BsYWluT2JqZWN0KCBzcmMgKSA/IHNyYyA6IHt9Ow0KCQkJCQl9DQoNCgkJCQkJLy8gTmV2ZXIgbW92ZSBvcmlnaW5hbCBvYmplY3RzLCBjbG9uZSB0aGVtDQoJCQkJCXRhcmdldFsgbmFtZSBdID0galF1ZXJ5LmV4dGVuZCggZGVlcCwgY2xvbmUsIGNvcHkgKTsNCg0KCQkJCS8vIERvbid0IGJyaW5nIGluIHVuZGVmaW5lZCB2YWx1ZXMNCgkJCQl9IGVsc2UgaWYgKCBjb3B5ICE9PSB1bmRlZmluZWQgKSB7DQoJCQkJCXRhcmdldFsgbmFtZSBdID0gY29weTsNCgkJCQl9DQoJCQl9DQoJCX0NCgl9DQoNCgkvLyBSZXR1cm4gdGhlIG1vZGlmaWVkIG9iamVjdA0KCXJldHVybiB0YXJnZXQ7DQp9Ow0KDQpqUXVlcnkuZXh0ZW5kKCB7DQoNCgkvLyBVbmlxdWUgZm9yIGVhY2ggY29weSBvZiBqUXVlcnkgb24gdGhlIHBhZ2UNCglleHBhbmRvOiAialF1ZXJ5IiArICggdmVyc2lvbiArIE1hdGgucmFuZG9tKCkgKS5yZXBsYWNlKCAvXEQvZywgIiIgKSwNCg0KCS8vIEFzc3VtZSBqUXVlcnkgaXMgcmVhZHkgd2l0aG91dCB0aGUgcmVhZHkgbW9kdWxlDQoJaXNSZWFkeTogdHJ1ZSwNCg0KCWVycm9yOiBmdW5jdGlvbiggbXNnICkgew0KCQl0aHJvdyBuZXcgRXJyb3IoIG1zZyApOw0KCX0sDQoNCglub29wOiBmdW5jdGlvbigpIHt9LA0KDQoJaXNQbGFpbk9iamVjdDogZnVuY3Rpb24oIG9iaiApIHsNCgkJdmFyIHByb3RvLCBDdG9yOw0KDQoJCS8vIERldGVjdCBvYnZpb3VzIG5lZ2F0aXZlcw0KCQkvLyBVc2UgdG9TdHJpbmcgaW5zdGVhZCBvZiBqUXVlcnkudHlwZSB0byBjYXRjaCBob3N0IG9iamVjdHMNCgkJaWYgKCAhb2JqIHx8IHRvU3RyaW5nLmNhbGwoIG9iaiApICE9PSAiW29iamVjdCBPYmplY3RdIiApIHsNCgkJCXJldHVybiBmYWxzZTsNCgkJfQ0KDQoJCXByb3RvID0gZ2V0UHJvdG8oIG9iaiApOw0KDQoJCS8vIE9iamVjdHMgd2l0aCBubyBwcm90b3R5cGUgKGUuZy4sIGBPYmplY3QuY3JlYXRlKCBudWxsIClgKSBhcmUgcGxhaW4NCgkJaWYgKCAhcHJvdG8gKSB7DQoJCQlyZXR1cm4gdHJ1ZTsNCgkJfQ0KDQoJCS8vIE9iamVjdHMgd2l0aCBwcm90b3R5cGUgYXJlIHBsYWluIGlmZiB0aGV5IHdlcmUgY29uc3RydWN0ZWQgYnkgYSBnbG9iYWwgT2JqZWN0IGZ1bmN0aW9uDQoJCUN0b3IgPSBoYXNPd24uY2FsbCggcHJvdG8sICJjb25zdHJ1Y3RvciIgKSAmJiBwcm90by5jb25zdHJ1Y3RvcjsNCgkJcmV0dXJuIHR5cGVvZiBDdG9yID09PSAiZnVuY3Rpb24iICYmIGZuVG9TdHJpbmcuY2FsbCggQ3RvciApID09PSBPYmplY3RGdW5jdGlvblN0cmluZzsNCgl9LA0KDQoJaXNFbXB0eU9iamVjdDogZnVuY3Rpb24oIG9iaiApIHsNCg0KCQkvKiBlc2xpbnQtZGlzYWJsZSBuby11bnVzZWQtdmFycyAqLw0KCQkvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2VzbGludC9lc2xpbnQvaXNzdWVzLzYxMjUNCgkJdmFyIG5hbWU7DQoNCgkJZm9yICggbmFtZSBpbiBvYmogKSB7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCgkJcmV0dXJuIHRydWU7DQoJfSwNCg0KCS8vIEV2YWx1YXRlcyBhIHNjcmlwdCBpbiBhIGdsb2JhbCBjb250ZXh0DQoJZ2xvYmFsRXZhbDogZnVuY3Rpb24oIGNvZGUgKSB7DQoJCURPTUV2YWwoIGNvZGUgKTsNCgl9LA0KDQoJZWFjaDogZnVuY3Rpb24oIG9iaiwgY2FsbGJhY2sgKSB7DQoJCXZhciBsZW5ndGgsIGkgPSAwOw0KDQoJCWlmICggaXNBcnJheUxpa2UoIG9iaiApICkgew0KCQkJbGVuZ3RoID0gb2JqLmxlbmd0aDsNCgkJCWZvciAoIDsgaSA8IGxlbmd0aDsgaSsrICkgew0KCQkJCWlmICggY2FsbGJhY2suY2FsbCggb2JqWyBpIF0sIGksIG9ialsgaSBdICkgPT09IGZhbHNlICkgew0KCQkJCQlicmVhazsNCgkJCQl9DQoJCQl9DQoJCX0gZWxzZSB7DQoJCQlmb3IgKCBpIGluIG9iaiApIHsNCgkJCQlpZiAoIGNhbGxiYWNrLmNhbGwoIG9ialsgaSBdLCBpLCBvYmpbIGkgXSApID09PSBmYWxzZSApIHsNCgkJCQkJYnJlYWs7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoNCgkJcmV0dXJuIG9iajsNCgl9LA0KDQoJLy8gU3VwcG9ydDogQW5kcm9pZCA8PTQuMCBvbmx5DQoJdHJpbTogZnVuY3Rpb24oIHRleHQgKSB7DQoJCXJldHVybiB0ZXh0ID09IG51bGwgPw0KCQkJIiIgOg0KCQkJKCB0ZXh0ICsgIiIgKS5yZXBsYWNlKCBydHJpbSwgIiIgKTsNCgl9LA0KDQoJLy8gcmVzdWx0cyBpcyBmb3IgaW50ZXJuYWwgdXNhZ2Ugb25seQ0KCW1ha2VBcnJheTogZnVuY3Rpb24oIGFyciwgcmVzdWx0cyApIHsNCgkJdmFyIHJldCA9IHJlc3VsdHMgfHwgW107DQoNCgkJaWYgKCBhcnIgIT0gbnVsbCApIHsNCgkJCWlmICggaXNBcnJheUxpa2UoIE9iamVjdCggYXJyICkgKSApIHsNCgkJCQlqUXVlcnkubWVyZ2UoIHJldCwNCgkJCQkJdHlwZW9mIGFyciA9PT0gInN0cmluZyIgPw0KCQkJCQlbIGFyciBdIDogYXJyDQoJCQkJKTsNCgkJCX0gZWxzZSB7DQoJCQkJcHVzaC5jYWxsKCByZXQsIGFyciApOw0KCQkJfQ0KCQl9DQoNCgkJcmV0dXJuIHJldDsNCgl9LA0KDQoJaW5BcnJheTogZnVuY3Rpb24oIGVsZW0sIGFyciwgaSApIHsNCgkJcmV0dXJuIGFyciA9PSBudWxsID8gLTEgOiBpbmRleE9mLmNhbGwoIGFyciwgZWxlbSwgaSApOw0KCX0sDQoNCgkvLyBTdXBwb3J0OiBBbmRyb2lkIDw9NC4wIG9ubHksIFBoYW50b21KUyAxIG9ubHkNCgkvLyBwdXNoLmFwcGx5KF8sIGFycmF5bGlrZSkgdGhyb3dzIG9uIGFuY2llbnQgV2ViS2l0DQoJbWVyZ2U6IGZ1bmN0aW9uKCBmaXJzdCwgc2Vjb25kICkgew0KCQl2YXIgbGVuID0gK3NlY29uZC5sZW5ndGgsDQoJCQlqID0gMCwNCgkJCWkgPSBmaXJzdC5sZW5ndGg7DQoNCgkJZm9yICggOyBqIDwgbGVuOyBqKysgKSB7DQoJCQlmaXJzdFsgaSsrIF0gPSBzZWNvbmRbIGogXTsNCgkJfQ0KDQoJCWZpcnN0Lmxlbmd0aCA9IGk7DQoNCgkJcmV0dXJuIGZpcnN0Ow0KCX0sDQoNCglncmVwOiBmdW5jdGlvbiggZWxlbXMsIGNhbGxiYWNrLCBpbnZlcnQgKSB7DQoJCXZhciBjYWxsYmFja0ludmVyc2UsDQoJCQltYXRjaGVzID0gW10sDQoJCQlpID0gMCwNCgkJCWxlbmd0aCA9IGVsZW1zLmxlbmd0aCwNCgkJCWNhbGxiYWNrRXhwZWN0ID0gIWludmVydDsNCg0KCQkvLyBHbyB0aHJvdWdoIHRoZSBhcnJheSwgb25seSBzYXZpbmcgdGhlIGl0ZW1zDQoJCS8vIHRoYXQgcGFzcyB0aGUgdmFsaWRhdG9yIGZ1bmN0aW9uDQoJCWZvciAoIDsgaSA8IGxlbmd0aDsgaSsrICkgew0KCQkJY2FsbGJhY2tJbnZlcnNlID0gIWNhbGxiYWNrKCBlbGVtc1sgaSBdLCBpICk7DQoJCQlpZiAoIGNhbGxiYWNrSW52ZXJzZSAhPT0gY2FsbGJhY2tFeHBlY3QgKSB7DQoJCQkJbWF0Y2hlcy5wdXNoKCBlbGVtc1sgaSBdICk7DQoJCQl9DQoJCX0NCg0KCQlyZXR1cm4gbWF0Y2hlczsNCgl9LA0KDQoJLy8gYXJnIGlzIGZvciBpbnRlcm5hbCB1c2FnZSBvbmx5DQoJbWFwOiBmdW5jdGlvbiggZWxlbXMsIGNhbGxiYWNrLCBhcmcgKSB7DQoJCXZhciBsZW5ndGgsIHZhbHVlLA0KCQkJaSA9IDAsDQoJCQlyZXQgPSBbXTsNCg0KCQkvLyBHbyB0aHJvdWdoIHRoZSBhcnJheSwgdHJhbnNsYXRpbmcgZWFjaCBvZiB0aGUgaXRlbXMgdG8gdGhlaXIgbmV3IHZhbHVlcw0KCQlpZiAoIGlzQXJyYXlMaWtlKCBlbGVtcyApICkgew0KCQkJbGVuZ3RoID0gZWxlbXMubGVuZ3RoOw0KCQkJZm9yICggOyBpIDwgbGVuZ3RoOyBpKysgKSB7DQoJCQkJdmFsdWUgPSBjYWxsYmFjayggZWxlbXNbIGkgXSwgaSwgYXJnICk7DQoNCgkJCQlpZiAoIHZhbHVlICE9IG51bGwgKSB7DQoJCQkJCXJldC5wdXNoKCB2YWx1ZSApOw0KCQkJCX0NCgkJCX0NCg0KCQkvLyBHbyB0aHJvdWdoIGV2ZXJ5IGtleSBvbiB0aGUgb2JqZWN0LA0KCQl9IGVsc2Ugew0KCQkJZm9yICggaSBpbiBlbGVtcyApIHsNCgkJCQl2YWx1ZSA9IGNhbGxiYWNrKCBlbGVtc1sgaSBdLCBpLCBhcmcgKTsNCg0KCQkJCWlmICggdmFsdWUgIT0gbnVsbCApIHsNCgkJCQkJcmV0LnB1c2goIHZhbHVlICk7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoNCgkJLy8gRmxhdHRlbiBhbnkgbmVzdGVkIGFycmF5cw0KCQlyZXR1cm4gY29uY2F0LmFwcGx5KCBbXSwgcmV0ICk7DQoJfSwNCg0KCS8vIEEgZ2xvYmFsIEdVSUQgY291bnRlciBmb3Igb2JqZWN0cw0KCWd1aWQ6IDEsDQoNCgkvLyBqUXVlcnkuc3VwcG9ydCBpcyBub3QgdXNlZCBpbiBDb3JlIGJ1dCBvdGhlciBwcm9qZWN0cyBhdHRhY2ggdGhlaXINCgkvLyBwcm9wZXJ0aWVzIHRvIGl0IHNvIGl0IG5lZWRzIHRvIGV4aXN0Lg0KCXN1cHBvcnQ6IHN1cHBvcnQNCn0gKTsNCg0KaWYgKCB0eXBlb2YgU3ltYm9sID09PSAiZnVuY3Rpb24iICkgew0KCWpRdWVyeS5mblsgU3ltYm9sLml0ZXJhdG9yIF0gPSBhcnJbIFN5bWJvbC5pdGVyYXRvciBdOw0KfQ0KDQovLyBQb3B1bGF0ZSB0aGUgY2xhc3MydHlwZSBtYXANCmpRdWVyeS5lYWNoKCAiQm9vbGVhbiBOdW1iZXIgU3RyaW5nIEZ1bmN0aW9uIEFycmF5IERhdGUgUmVnRXhwIE9iamVjdCBFcnJvciBTeW1ib2wiLnNwbGl0KCAiICIgKSwNCmZ1bmN0aW9uKCBpLCBuYW1lICkgew0KCWNsYXNzMnR5cGVbICJbb2JqZWN0ICIgKyBuYW1lICsgIl0iIF0gPSBuYW1lLnRvTG93ZXJDYXNlKCk7DQp9ICk7DQoNCmZ1bmN0aW9uIGlzQXJyYXlMaWtlKCBvYmogKSB7DQoNCgkvLyBTdXBwb3J0OiByZWFsIGlPUyA4LjIgb25seSAobm90IHJlcHJvZHVjaWJsZSBpbiBzaW11bGF0b3IpDQoJLy8gYGluYCBjaGVjayB1c2VkIHRvIHByZXZlbnQgSklUIGVycm9yIChnaC0yMTQ1KQ0KCS8vIGhhc093biBpc24ndCB1c2VkIGhlcmUgZHVlIHRvIGZhbHNlIG5lZ2F0aXZlcw0KCS8vIHJlZ2FyZGluZyBOb2RlbGlzdCBsZW5ndGggaW4gSUUNCgl2YXIgbGVuZ3RoID0gISFvYmogJiYgImxlbmd0aCIgaW4gb2JqICYmIG9iai5sZW5ndGgsDQoJCXR5cGUgPSB0b1R5cGUoIG9iaiApOw0KDQoJaWYgKCBpc0Z1bmN0aW9uKCBvYmogKSB8fCBpc1dpbmRvdyggb2JqICkgKSB7DQoJCXJldHVybiBmYWxzZTsNCgl9DQoNCglyZXR1cm4gdHlwZSA9PT0gImFycmF5IiB8fCBsZW5ndGggPT09IDAgfHwNCgkJdHlwZW9mIGxlbmd0aCA9PT0gIm51bWJlciIgJiYgbGVuZ3RoID4gMCAmJiAoIGxlbmd0aCAtIDEgKSBpbiBvYmo7DQp9DQp2YXIgU2l6emxlID0NCi8qIQ0KICogU2l6emxlIENTUyBTZWxlY3RvciBFbmdpbmUgdjIuMy4zDQogKiBodHRwczovL3NpenpsZWpzLmNvbS8NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKg0KICogRGF0ZTogMjAxNi0wOC0wOA0KICovDQooZnVuY3Rpb24oIHdpbmRvdyApIHsNCg0KdmFyIGksDQoJc3VwcG9ydCwNCglFeHByLA0KCWdldFRleHQsDQoJaXNYTUwsDQoJdG9rZW5pemUsDQoJY29tcGlsZSwNCglzZWxlY3QsDQoJb3V0ZXJtb3N0Q29udGV4dCwNCglzb3J0SW5wdXQsDQoJaGFzRHVwbGljYXRlLA0KDQoJLy8gTG9jYWwgZG9jdW1lbnQgdmFycw0KCXNldERvY3VtZW50LA0KCWRvY3VtZW50LA0KCWRvY0VsZW0sDQoJZG9jdW1lbnRJc0hUTUwsDQoJcmJ1Z2d5UVNBLA0KCXJidWdneU1hdGNoZXMsDQoJbWF0Y2hlcywNCgljb250YWlucywNCg0KCS8vIEluc3RhbmNlLXNwZWNpZmljIGRhdGENCglleHBhbmRvID0gInNpenpsZSIgKyAxICogbmV3IERhdGUoKSwNCglwcmVmZXJyZWREb2MgPSB3aW5kb3cuZG9jdW1lbnQsDQoJZGlycnVucyA9IDAsDQoJZG9uZSA9IDAsDQoJY2xhc3NDYWNoZSA9IGNyZWF0ZUNhY2hlKCksDQoJdG9rZW5DYWNoZSA9IGNyZWF0ZUNhY2hlKCksDQoJY29tcGlsZXJDYWNoZSA9IGNyZWF0ZUNhY2hlKCksDQoJc29ydE9yZGVyID0gZnVuY3Rpb24oIGEsIGIgKSB7DQoJCWlmICggYSA9PT0gYiApIHsNCgkJCWhhc0R1cGxpY2F0ZSA9IHRydWU7DQoJCX0NCgkJcmV0dXJuIDA7DQoJfSwNCg0KCS8vIEluc3RhbmNlIG1ldGhvZHMNCgloYXNPd24gPSAoe30pLmhhc093blByb3BlcnR5LA0KCWFyciA9IFtdLA0KCXBvcCA9IGFyci5wb3AsDQoJcHVzaF9uYXRpdmUgPSBhcnIucHVzaCwNCglwdXNoID0gYXJyLnB1c2gsDQoJc2xpY2UgPSBhcnIuc2xpY2UsDQoJLy8gVXNlIGEgc3RyaXBwZWQtZG93biBpbmRleE9mIGFzIGl0J3MgZmFzdGVyIHRoYW4gbmF0aXZlDQoJLy8gaHR0cHM6Ly9qc3BlcmYuY29tL3Rob3ItaW5kZXhvZi12cy1mb3IvNQ0KCWluZGV4T2YgPSBmdW5jdGlvbiggbGlzdCwgZWxlbSApIHsNCgkJdmFyIGkgPSAwLA0KCQkJbGVuID0gbGlzdC5sZW5ndGg7DQoJCWZvciAoIDsgaSA8IGxlbjsgaSsrICkgew0KCQkJaWYgKCBsaXN0W2ldID09PSBlbGVtICkgew0KCQkJCXJldHVybiBpOw0KCQkJfQ0KCQl9DQoJCXJldHVybiAtMTsNCgl9LA0KDQoJYm9vbGVhbnMgPSAiY2hlY2tlZHxzZWxlY3RlZHxhc3luY3xhdXRvZm9jdXN8YXV0b3BsYXl8Y29udHJvbHN8ZGVmZXJ8ZGlzYWJsZWR8aGlkZGVufGlzbWFwfGxvb3B8bXVsdGlwbGV8b3BlbnxyZWFkb25seXxyZXF1aXJlZHxzY29wZWQiLA0KDQoJLy8gUmVndWxhciBleHByZXNzaW9ucw0KDQoJLy8gaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1zZWxlY3RvcnMvI3doaXRlc3BhY2UNCgl3aGl0ZXNwYWNlID0gIltcXHgyMFxcdFxcclxcblxcZl0iLA0KDQoJLy8gaHR0cDovL3d3dy53My5vcmcvVFIvQ1NTMjEvc3luZGF0YS5odG1sI3ZhbHVlLWRlZi1pZGVudGlmaWVyDQoJaWRlbnRpZmllciA9ICIoPzpcXFxcLnxbXFx3LV18W15cMC1cXHhhMF0pKyIsDQoNCgkvLyBBdHRyaWJ1dGUgc2VsZWN0b3JzOiBodHRwOi8vd3d3LnczLm9yZy9UUi9zZWxlY3RvcnMvI2F0dHJpYnV0ZS1zZWxlY3RvcnMNCglhdHRyaWJ1dGVzID0gIlxcWyIgKyB3aGl0ZXNwYWNlICsgIiooIiArIGlkZW50aWZpZXIgKyAiKSg/OiIgKyB3aGl0ZXNwYWNlICsNCgkJLy8gT3BlcmF0b3IgKGNhcHR1cmUgMikNCgkJIiooWypeJHwhfl0/PSkiICsgd2hpdGVzcGFjZSArDQoJCS8vICJBdHRyaWJ1dGUgdmFsdWVzIG11c3QgYmUgQ1NTIGlkZW50aWZpZXJzIFtjYXB0dXJlIDVdIG9yIHN0cmluZ3MgW2NhcHR1cmUgMyBvciBjYXB0dXJlIDRdIg0KCQkiKig/OicoKD86XFxcXC58W15cXFxcJ10pKiknfFwiKCg/OlxcXFwufFteXFxcXFwiXSkqKVwifCgiICsgaWRlbnRpZmllciArICIpKXwpIiArIHdoaXRlc3BhY2UgKw0KCQkiKlxcXSIsDQoNCglwc2V1ZG9zID0gIjooIiArIGlkZW50aWZpZXIgKyAiKSg/OlxcKCgiICsNCgkJLy8gVG8gcmVkdWNlIHRoZSBudW1iZXIgb2Ygc2VsZWN0b3JzIG5lZWRpbmcgdG9rZW5pemUgaW4gdGhlIHByZUZpbHRlciwgcHJlZmVyIGFyZ3VtZW50czoNCgkJLy8gMS4gcXVvdGVkIChjYXB0dXJlIDM7IGNhcHR1cmUgNCBvciBjYXB0dXJlIDUpDQoJCSIoJygoPzpcXFxcLnxbXlxcXFwnXSkqKSd8XCIoKD86XFxcXC58W15cXFxcXCJdKSopXCIpfCIgKw0KCQkvLyAyLiBzaW1wbGUgKGNhcHR1cmUgNikNCgkJIigoPzpcXFxcLnxbXlxcXFwoKVtcXF1dfCIgKyBhdHRyaWJ1dGVzICsgIikqKXwiICsNCgkJLy8gMy4gYW55dGhpbmcgZWxzZSAoY2FwdHVyZSAyKQ0KCQkiLioiICsNCgkJIilcXCl8KSIsDQoNCgkvLyBMZWFkaW5nIGFuZCBub24tZXNjYXBlZCB0cmFpbGluZyB3aGl0ZXNwYWNlLCBjYXB0dXJpbmcgc29tZSBub24td2hpdGVzcGFjZSBjaGFyYWN0ZXJzIHByZWNlZGluZyB0aGUgbGF0dGVyDQoJcndoaXRlc3BhY2UgPSBuZXcgUmVnRXhwKCB3aGl0ZXNwYWNlICsgIisiLCAiZyIgKSwNCglydHJpbSA9IG5ldyBSZWdFeHAoICJeIiArIHdoaXRlc3BhY2UgKyAiK3woKD86XnxbXlxcXFxdKSg/OlxcXFwuKSopIiArIHdoaXRlc3BhY2UgKyAiKyQiLCAiZyIgKSwNCg0KCXJjb21tYSA9IG5ldyBSZWdFeHAoICJeIiArIHdoaXRlc3BhY2UgKyAiKiwiICsgd2hpdGVzcGFjZSArICIqIiApLA0KCXJjb21iaW5hdG9ycyA9IG5ldyBSZWdFeHAoICJeIiArIHdoaXRlc3BhY2UgKyAiKihbPit+XXwiICsgd2hpdGVzcGFjZSArICIpIiArIHdoaXRlc3BhY2UgKyAiKiIgKSwNCg0KCXJhdHRyaWJ1dGVRdW90ZXMgPSBuZXcgUmVnRXhwKCAiPSIgKyB3aGl0ZXNwYWNlICsgIiooW15cXF0nXCJdKj8pIiArIHdoaXRlc3BhY2UgKyAiKlxcXSIsICJnIiApLA0KDQoJcnBzZXVkbyA9IG5ldyBSZWdFeHAoIHBzZXVkb3MgKSwNCglyaWRlbnRpZmllciA9IG5ldyBSZWdFeHAoICJeIiArIGlkZW50aWZpZXIgKyAiJCIgKSwNCg0KCW1hdGNoRXhwciA9IHsNCgkJIklEIjogbmV3IFJlZ0V4cCggIl4jKCIgKyBpZGVudGlmaWVyICsgIikiICksDQoJCSJDTEFTUyI6IG5ldyBSZWdFeHAoICJeXFwuKCIgKyBpZGVudGlmaWVyICsgIikiICksDQoJCSJUQUciOiBuZXcgUmVnRXhwKCAiXigiICsgaWRlbnRpZmllciArICJ8WypdKSIgKSwNCgkJIkFUVFIiOiBuZXcgUmVnRXhwKCAiXiIgKyBhdHRyaWJ1dGVzICksDQoJCSJQU0VVRE8iOiBuZXcgUmVnRXhwKCAiXiIgKyBwc2V1ZG9zICksDQoJCSJDSElMRCI6IG5ldyBSZWdFeHAoICJeOihvbmx5fGZpcnN0fGxhc3R8bnRofG50aC1sYXN0KS0oY2hpbGR8b2YtdHlwZSkoPzpcXCgiICsgd2hpdGVzcGFjZSArDQoJCQkiKihldmVufG9kZHwoKFsrLV18KShcXGQqKW58KSIgKyB3aGl0ZXNwYWNlICsgIiooPzooWystXXwpIiArIHdoaXRlc3BhY2UgKw0KCQkJIiooXFxkKyl8KSkiICsgd2hpdGVzcGFjZSArICIqXFwpfCkiLCAiaSIgKSwNCgkJImJvb2wiOiBuZXcgUmVnRXhwKCAiXig/OiIgKyBib29sZWFucyArICIpJCIsICJpIiApLA0KCQkvLyBGb3IgdXNlIGluIGxpYnJhcmllcyBpbXBsZW1lbnRpbmcgLmlzKCkNCgkJLy8gV2UgdXNlIHRoaXMgZm9yIFBPUyBtYXRjaGluZyBpbiBgc2VsZWN0YA0KCQkibmVlZHNDb250ZXh0IjogbmV3IFJlZ0V4cCggIl4iICsgd2hpdGVzcGFjZSArICIqWz4rfl18OihldmVufG9kZHxlcXxndHxsdHxudGh8Zmlyc3R8bGFzdCkoPzpcXCgiICsNCgkJCXdoaXRlc3BhY2UgKyAiKigoPzotXFxkKT9cXGQqKSIgKyB3aGl0ZXNwYWNlICsgIipcXCl8KSg/PVteLV18JCkiLCAiaSIgKQ0KCX0sDQoNCglyaW5wdXRzID0gL14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSwNCglyaGVhZGVyID0gL15oXGQkL2ksDQoNCglybmF0aXZlID0gL15bXntdK1x7XHMqXFtuYXRpdmUgXHcvLA0KDQoJLy8gRWFzaWx5LXBhcnNlYWJsZS9yZXRyaWV2YWJsZSBJRCBvciBUQUcgb3IgQ0xBU1Mgc2VsZWN0b3JzDQoJcnF1aWNrRXhwciA9IC9eKD86IyhbXHctXSspfChcdyspfFwuKFtcdy1dKykpJC8sDQoNCglyc2libGluZyA9IC9bK35dLywNCg0KCS8vIENTUyBlc2NhcGVzDQoJLy8gaHR0cDovL3d3dy53My5vcmcvVFIvQ1NTMjEvc3luZGF0YS5odG1sI2VzY2FwZWQtY2hhcmFjdGVycw0KCXJ1bmVzY2FwZSA9IG5ldyBSZWdFeHAoICJcXFxcKFtcXGRhLWZdezEsNn0iICsgd2hpdGVzcGFjZSArICI/fCgiICsgd2hpdGVzcGFjZSArICIpfC4pIiwgImlnIiApLA0KCWZ1bmVzY2FwZSA9IGZ1bmN0aW9uKCBfLCBlc2NhcGVkLCBlc2NhcGVkV2hpdGVzcGFjZSApIHsNCgkJdmFyIGhpZ2ggPSAiMHgiICsgZXNjYXBlZCAtIDB4MTAwMDA7DQoJCS8vIE5hTiBtZWFucyBub24tY29kZXBvaW50DQoJCS8vIFN1cHBvcnQ6IEZpcmVmb3g8MjQNCgkJLy8gV29ya2Fyb3VuZCBlcnJvbmVvdXMgbnVtZXJpYyBpbnRlcnByZXRhdGlvbiBvZiArIjB4Ig0KCQlyZXR1cm4gaGlnaCAhPT0gaGlnaCB8fCBlc2NhcGVkV2hpdGVzcGFjZSA/DQoJCQllc2NhcGVkIDoNCgkJCWhpZ2ggPCAwID8NCgkJCQkvLyBCTVAgY29kZXBvaW50DQoJCQkJU3RyaW5nLmZyb21DaGFyQ29kZSggaGlnaCArIDB4MTAwMDAgKSA6DQoJCQkJLy8gU3VwcGxlbWVudGFsIFBsYW5lIGNvZGVwb2ludCAoc3Vycm9nYXRlIHBhaXIpDQoJCQkJU3RyaW5nLmZyb21DaGFyQ29kZSggaGlnaCA+PiAxMCB8IDB4RDgwMCwgaGlnaCAmIDB4M0ZGIHwgMHhEQzAwICk7DQoJfSwNCg0KCS8vIENTUyBzdHJpbmcvaWRlbnRpZmllciBzZXJpYWxpemF0aW9uDQoJLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzc29tLyNjb21tb24tc2VyaWFsaXppbmctaWRpb21zDQoJcmNzc2VzY2FwZSA9IC8oW1wwLVx4MWZceDdmXXxeLT9cZCl8Xi0kfFteXDAtXHgxZlx4N2YtXHVGRkZGXHctXS9nLA0KCWZjc3Nlc2NhcGUgPSBmdW5jdGlvbiggY2gsIGFzQ29kZVBvaW50ICkgew0KCQlpZiAoIGFzQ29kZVBvaW50ICkgew0KDQoJCQkvLyBVKzAwMDAgTlVMTCBiZWNvbWVzIFUrRkZGRCBSRVBMQUNFTUVOVCBDSEFSQUNURVINCgkJCWlmICggY2ggPT09ICJcMCIgKSB7DQoJCQkJcmV0dXJuICJcdUZGRkQiOw0KCQkJfQ0KDQoJCQkvLyBDb250cm9sIGNoYXJhY3RlcnMgYW5kIChkZXBlbmRlbnQgdXBvbiBwb3NpdGlvbikgbnVtYmVycyBnZXQgZXNjYXBlZCBhcyBjb2RlIHBvaW50cw0KCQkJcmV0dXJuIGNoLnNsaWNlKCAwLCAtMSApICsgIlxcIiArIGNoLmNoYXJDb2RlQXQoIGNoLmxlbmd0aCAtIDEgKS50b1N0cmluZyggMTYgKSArICIgIjsNCgkJfQ0KDQoJCS8vIE90aGVyIHBvdGVudGlhbGx5LXNwZWNpYWwgQVNDSUkgY2hhcmFjdGVycyBnZXQgYmFja3NsYXNoLWVzY2FwZWQNCgkJcmV0dXJuICJcXCIgKyBjaDsNCgl9LA0KDQoJLy8gVXNlZCBmb3IgaWZyYW1lcw0KCS8vIFNlZSBzZXREb2N1bWVudCgpDQoJLy8gUmVtb3ZpbmcgdGhlIGZ1bmN0aW9uIHdyYXBwZXIgY2F1c2VzIGEgIlBlcm1pc3Npb24gRGVuaWVkIg0KCS8vIGVycm9yIGluIElFDQoJdW5sb2FkSGFuZGxlciA9IGZ1bmN0aW9uKCkgew0KCQlzZXREb2N1bWVudCgpOw0KCX0sDQoNCglkaXNhYmxlZEFuY2VzdG9yID0gYWRkQ29tYmluYXRvcigNCgkJZnVuY3Rpb24oIGVsZW0gKSB7DQoJCQlyZXR1cm4gZWxlbS5kaXNhYmxlZCA9PT0gdHJ1ZSAmJiAoImZvcm0iIGluIGVsZW0gfHwgImxhYmVsIiBpbiBlbGVtKTsNCgkJfSwNCgkJeyBkaXI6ICJwYXJlbnROb2RlIiwgbmV4dDogImxlZ2VuZCIgfQ0KCSk7DQoNCi8vIE9wdGltaXplIGZvciBwdXNoLmFwcGx5KCBfLCBOb2RlTGlzdCApDQp0cnkgew0KCXB1c2guYXBwbHkoDQoJCShhcnIgPSBzbGljZS5jYWxsKCBwcmVmZXJyZWREb2MuY2hpbGROb2RlcyApKSwNCgkJcHJlZmVycmVkRG9jLmNoaWxkTm9kZXMNCgkpOw0KCS8vIFN1cHBvcnQ6IEFuZHJvaWQ8NC4wDQoJLy8gRGV0ZWN0IHNpbGVudGx5IGZhaWxpbmcgcHVzaC5hcHBseQ0KCWFyclsgcHJlZmVycmVkRG9jLmNoaWxkTm9kZXMubGVuZ3RoIF0ubm9kZVR5cGU7DQp9IGNhdGNoICggZSApIHsNCglwdXNoID0geyBhcHBseTogYXJyLmxlbmd0aCA/DQoNCgkJLy8gTGV2ZXJhZ2Ugc2xpY2UgaWYgcG9zc2libGUNCgkJZnVuY3Rpb24oIHRhcmdldCwgZWxzICkgew0KCQkJcHVzaF9uYXRpdmUuYXBwbHkoIHRhcmdldCwgc2xpY2UuY2FsbChlbHMpICk7DQoJCX0gOg0KDQoJCS8vIFN1cHBvcnQ6IElFPDkNCgkJLy8gT3RoZXJ3aXNlIGFwcGVuZCBkaXJlY3RseQ0KCQlmdW5jdGlvbiggdGFyZ2V0LCBlbHMgKSB7DQoJCQl2YXIgaiA9IHRhcmdldC5sZW5ndGgsDQoJCQkJaSA9IDA7DQoJCQkvLyBDYW4ndCB0cnVzdCBOb2RlTGlzdC5sZW5ndGgNCgkJCXdoaWxlICggKHRhcmdldFtqKytdID0gZWxzW2krK10pICkge30NCgkJCXRhcmdldC5sZW5ndGggPSBqIC0gMTsNCgkJfQ0KCX07DQp9DQoNCmZ1bmN0aW9uIFNpenpsZSggc2VsZWN0b3IsIGNvbnRleHQsIHJlc3VsdHMsIHNlZWQgKSB7DQoJdmFyIG0sIGksIGVsZW0sIG5pZCwgbWF0Y2gsIGdyb3VwcywgbmV3U2VsZWN0b3IsDQoJCW5ld0NvbnRleHQgPSBjb250ZXh0ICYmIGNvbnRleHQub3duZXJEb2N1bWVudCwNCg0KCQkvLyBub2RlVHlwZSBkZWZhdWx0cyB0byA5LCBzaW5jZSBjb250ZXh0IGRlZmF1bHRzIHRvIGRvY3VtZW50DQoJCW5vZGVUeXBlID0gY29udGV4dCA/IGNvbnRleHQubm9kZVR5cGUgOiA5Ow0KDQoJcmVzdWx0cyA9IHJlc3VsdHMgfHwgW107DQoNCgkvLyBSZXR1cm4gZWFybHkgZnJvbSBjYWxscyB3aXRoIGludmFsaWQgc2VsZWN0b3Igb3IgY29udGV4dA0KCWlmICggdHlwZW9mIHNlbGVjdG9yICE9PSAic3RyaW5nIiB8fCAhc2VsZWN0b3IgfHwNCgkJbm9kZVR5cGUgIT09IDEgJiYgbm9kZVR5cGUgIT09IDkgJiYgbm9kZVR5cGUgIT09IDExICkgew0KDQoJCXJldHVybiByZXN1bHRzOw0KCX0NCg0KCS8vIFRyeSB0byBzaG9ydGN1dCBmaW5kIG9wZXJhdGlvbnMgKGFzIG9wcG9zZWQgdG8gZmlsdGVycykgaW4gSFRNTCBkb2N1bWVudHMNCglpZiAoICFzZWVkICkgew0KDQoJCWlmICggKCBjb250ZXh0ID8gY29udGV4dC5vd25lckRvY3VtZW50IHx8IGNvbnRleHQgOiBwcmVmZXJyZWREb2MgKSAhPT0gZG9jdW1lbnQgKSB7DQoJCQlzZXREb2N1bWVudCggY29udGV4dCApOw0KCQl9DQoJCWNvbnRleHQgPSBjb250ZXh0IHx8IGRvY3VtZW50Ow0KDQoJCWlmICggZG9jdW1lbnRJc0hUTUwgKSB7DQoNCgkJCS8vIElmIHRoZSBzZWxlY3RvciBpcyBzdWZmaWNpZW50bHkgc2ltcGxlLCB0cnkgdXNpbmcgYSAiZ2V0KkJ5KiIgRE9NIG1ldGhvZA0KCQkJLy8gKGV4Y2VwdGluZyBEb2N1bWVudEZyYWdtZW50IGNvbnRleHQsIHdoZXJlIHRoZSBtZXRob2RzIGRvbid0IGV4aXN0KQ0KCQkJaWYgKCBub2RlVHlwZSAhPT0gMTEgJiYgKG1hdGNoID0gcnF1aWNrRXhwci5leGVjKCBzZWxlY3RvciApKSApIHsNCg0KCQkJCS8vIElEIHNlbGVjdG9yDQoJCQkJaWYgKCAobSA9IG1hdGNoWzFdKSApIHsNCg0KCQkJCQkvLyBEb2N1bWVudCBjb250ZXh0DQoJCQkJCWlmICggbm9kZVR5cGUgPT09IDkgKSB7DQoJCQkJCQlpZiAoIChlbGVtID0gY29udGV4dC5nZXRFbGVtZW50QnlJZCggbSApKSApIHsNCg0KCQkJCQkJCS8vIFN1cHBvcnQ6IElFLCBPcGVyYSwgV2Via2l0DQoJCQkJCQkJLy8gVE9ETzogaWRlbnRpZnkgdmVyc2lvbnMNCgkJCQkJCQkvLyBnZXRFbGVtZW50QnlJZCBjYW4gbWF0Y2ggZWxlbWVudHMgYnkgbmFtZSBpbnN0ZWFkIG9mIElEDQoJCQkJCQkJaWYgKCBlbGVtLmlkID09PSBtICkgew0KCQkJCQkJCQlyZXN1bHRzLnB1c2goIGVsZW0gKTsNCgkJCQkJCQkJcmV0dXJuIHJlc3VsdHM7DQoJCQkJCQkJfQ0KCQkJCQkJfSBlbHNlIHsNCgkJCQkJCQlyZXR1cm4gcmVzdWx0czsNCgkJCQkJCX0NCg0KCQkJCQkvLyBFbGVtZW50IGNvbnRleHQNCgkJCQkJfSBlbHNlIHsNCg0KCQkJCQkJLy8gU3VwcG9ydDogSUUsIE9wZXJhLCBXZWJraXQNCgkJCQkJCS8vIFRPRE86IGlkZW50aWZ5IHZlcnNpb25zDQoJCQkJCQkvLyBnZXRFbGVtZW50QnlJZCBjYW4gbWF0Y2ggZWxlbWVudHMgYnkgbmFtZSBpbnN0ZWFkIG9mIElEDQoJCQkJCQlpZiAoIG5ld0NvbnRleHQgJiYgKGVsZW0gPSBuZXdDb250ZXh0LmdldEVsZW1lbnRCeUlkKCBtICkpICYmDQoJCQkJCQkJY29udGFpbnMoIGNvbnRleHQsIGVsZW0gKSAmJg0KCQkJCQkJCWVsZW0uaWQgPT09IG0gKSB7DQoNCgkJCQkJCQlyZXN1bHRzLnB1c2goIGVsZW0gKTsNCgkJCQkJCQlyZXR1cm4gcmVzdWx0czsNCgkJCQkJCX0NCgkJCQkJfQ0KDQoJCQkJLy8gVHlwZSBzZWxlY3Rvcg0KCQkJCX0gZWxzZSBpZiAoIG1hdGNoWzJdICkgew0KCQkJCQlwdXNoLmFwcGx5KCByZXN1bHRzLCBjb250ZXh0LmdldEVsZW1lbnRzQnlUYWdOYW1lKCBzZWxlY3RvciApICk7DQoJCQkJCXJldHVybiByZXN1bHRzOw0KDQoJCQkJLy8gQ2xhc3Mgc2VsZWN0b3INCgkJCQl9IGVsc2UgaWYgKCAobSA9IG1hdGNoWzNdKSAmJiBzdXBwb3J0LmdldEVsZW1lbnRzQnlDbGFzc05hbWUgJiYNCgkJCQkJY29udGV4dC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lICkgew0KDQoJCQkJCXB1c2guYXBwbHkoIHJlc3VsdHMsIGNvbnRleHQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSggbSApICk7DQoJCQkJCXJldHVybiByZXN1bHRzOw0KCQkJCX0NCgkJCX0NCg0KCQkJLy8gVGFrZSBhZHZhbnRhZ2Ugb2YgcXVlcnlTZWxlY3RvckFsbA0KCQkJaWYgKCBzdXBwb3J0LnFzYSAmJg0KCQkJCSFjb21waWxlckNhY2hlWyBzZWxlY3RvciArICIgIiBdICYmDQoJCQkJKCFyYnVnZ3lRU0EgfHwgIXJidWdneVFTQS50ZXN0KCBzZWxlY3RvciApKSApIHsNCg0KCQkJCWlmICggbm9kZVR5cGUgIT09IDEgKSB7DQoJCQkJCW5ld0NvbnRleHQgPSBjb250ZXh0Ow0KCQkJCQluZXdTZWxlY3RvciA9IHNlbGVjdG9yOw0KDQoJCQkJLy8gcVNBIGxvb2tzIG91dHNpZGUgRWxlbWVudCBjb250ZXh0LCB3aGljaCBpcyBub3Qgd2hhdCB3ZSB3YW50DQoJCQkJLy8gVGhhbmtzIHRvIEFuZHJldyBEdXBvbnQgZm9yIHRoaXMgd29ya2Fyb3VuZCB0ZWNobmlxdWUNCgkJCQkvLyBTdXBwb3J0OiBJRSA8PTgNCgkJCQkvLyBFeGNsdWRlIG9iamVjdCBlbGVtZW50cw0KCQkJCX0gZWxzZSBpZiAoIGNvbnRleHQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSAhPT0gIm9iamVjdCIgKSB7DQoNCgkJCQkJLy8gQ2FwdHVyZSB0aGUgY29udGV4dCBJRCwgc2V0dGluZyBpdCBmaXJzdCBpZiBuZWNlc3NhcnkNCgkJCQkJaWYgKCAobmlkID0gY29udGV4dC5nZXRBdHRyaWJ1dGUoICJpZCIgKSkgKSB7DQoJCQkJCQluaWQgPSBuaWQucmVwbGFjZSggcmNzc2VzY2FwZSwgZmNzc2VzY2FwZSApOw0KCQkJCQl9IGVsc2Ugew0KCQkJCQkJY29udGV4dC5zZXRBdHRyaWJ1dGUoICJpZCIsIChuaWQgPSBleHBhbmRvKSApOw0KCQkJCQl9DQoNCgkJCQkJLy8gUHJlZml4IGV2ZXJ5IHNlbGVjdG9yIGluIHRoZSBsaXN0DQoJCQkJCWdyb3VwcyA9IHRva2VuaXplKCBzZWxlY3RvciApOw0KCQkJCQlpID0gZ3JvdXBzLmxlbmd0aDsNCgkJCQkJd2hpbGUgKCBpLS0gKSB7DQoJCQkJCQlncm91cHNbaV0gPSAiIyIgKyBuaWQgKyAiICIgKyB0b1NlbGVjdG9yKCBncm91cHNbaV0gKTsNCgkJCQkJfQ0KCQkJCQluZXdTZWxlY3RvciA9IGdyb3Vwcy5qb2luKCAiLCIgKTsNCg0KCQkJCQkvLyBFeHBhbmQgY29udGV4dCBmb3Igc2libGluZyBzZWxlY3RvcnMNCgkJCQkJbmV3Q29udGV4dCA9IHJzaWJsaW5nLnRlc3QoIHNlbGVjdG9yICkgJiYgdGVzdENvbnRleHQoIGNvbnRleHQucGFyZW50Tm9kZSApIHx8DQoJCQkJCQljb250ZXh0Ow0KCQkJCX0NCg0KCQkJCWlmICggbmV3U2VsZWN0b3IgKSB7DQoJCQkJCXRyeSB7DQoJCQkJCQlwdXNoLmFwcGx5KCByZXN1bHRzLA0KCQkJCQkJCW5ld0NvbnRleHQucXVlcnlTZWxlY3RvckFsbCggbmV3U2VsZWN0b3IgKQ0KCQkJCQkJKTsNCgkJCQkJCXJldHVybiByZXN1bHRzOw0KCQkJCQl9IGNhdGNoICggcXNhRXJyb3IgKSB7DQoJCQkJCX0gZmluYWxseSB7DQoJCQkJCQlpZiAoIG5pZCA9PT0gZXhwYW5kbyApIHsNCgkJCQkJCQljb250ZXh0LnJlbW92ZUF0dHJpYnV0ZSggImlkIiApOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJfQ0KDQoJLy8gQWxsIG90aGVycw0KCXJldHVybiBzZWxlY3QoIHNlbGVjdG9yLnJlcGxhY2UoIHJ0cmltLCAiJDEiICksIGNvbnRleHQsIHJlc3VsdHMsIHNlZWQgKTsNCn0NCg0KLyoqDQogKiBDcmVhdGUga2V5LXZhbHVlIGNhY2hlcyBvZiBsaW1pdGVkIHNpemUNCiAqIEByZXR1cm5zIHtmdW5jdGlvbihzdHJpbmcsIG9iamVjdCl9IFJldHVybnMgdGhlIE9iamVjdCBkYXRhIGFmdGVyIHN0b3JpbmcgaXQgb24gaXRzZWxmIHdpdGgNCiAqCXByb3BlcnR5IG5hbWUgdGhlIChzcGFjZS1zdWZmaXhlZCkgc3RyaW5nIGFuZCAoaWYgdGhlIGNhY2hlIGlzIGxhcmdlciB0aGFuIEV4cHIuY2FjaGVMZW5ndGgpDQogKglkZWxldGluZyB0aGUgb2xkZXN0IGVudHJ5DQogKi8NCmZ1bmN0aW9uIGNyZWF0ZUNhY2hlKCkgew0KCXZhciBrZXlzID0gW107DQoNCglmdW5jdGlvbiBjYWNoZSgga2V5LCB2YWx1ZSApIHsNCgkJLy8gVXNlIChrZXkgKyAiICIpIHRvIGF2b2lkIGNvbGxpc2lvbiB3aXRoIG5hdGl2ZSBwcm90b3R5cGUgcHJvcGVydGllcyAoc2VlIElzc3VlICMxNTcpDQoJCWlmICgga2V5cy5wdXNoKCBrZXkgKyAiICIgKSA+IEV4cHIuY2FjaGVMZW5ndGggKSB7DQoJCQkvLyBPbmx5IGtlZXAgdGhlIG1vc3QgcmVjZW50IGVudHJpZXMNCgkJCWRlbGV0ZSBjYWNoZVsga2V5cy5zaGlmdCgpIF07DQoJCX0NCgkJcmV0dXJuIChjYWNoZVsga2V5ICsgIiAiIF0gPSB2YWx1ZSk7DQoJfQ0KCXJldHVybiBjYWNoZTsNCn0NCg0KLyoqDQogKiBNYXJrIGEgZnVuY3Rpb24gZm9yIHNwZWNpYWwgdXNlIGJ5IFNpenpsZQ0KICogQHBhcmFtIHtGdW5jdGlvbn0gZm4gVGhlIGZ1bmN0aW9uIHRvIG1hcmsNCiAqLw0KZnVuY3Rpb24gbWFya0Z1bmN0aW9uKCBmbiApIHsNCglmblsgZXhwYW5kbyBdID0gdHJ1ZTsNCglyZXR1cm4gZm47DQp9DQoNCi8qKg0KICogU3VwcG9ydCB0ZXN0aW5nIHVzaW5nIGFuIGVsZW1lbnQNCiAqIEBwYXJhbSB7RnVuY3Rpb259IGZuIFBhc3NlZCB0aGUgY3JlYXRlZCBlbGVtZW50IGFuZCByZXR1cm5zIGEgYm9vbGVhbiByZXN1bHQNCiAqLw0KZnVuY3Rpb24gYXNzZXJ0KCBmbiApIHsNCgl2YXIgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJmaWVsZHNldCIpOw0KDQoJdHJ5IHsNCgkJcmV0dXJuICEhZm4oIGVsICk7DQoJfSBjYXRjaCAoZSkgew0KCQlyZXR1cm4gZmFsc2U7DQoJfSBmaW5hbGx5IHsNCgkJLy8gUmVtb3ZlIGZyb20gaXRzIHBhcmVudCBieSBkZWZhdWx0DQoJCWlmICggZWwucGFyZW50Tm9kZSApIHsNCgkJCWVsLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoIGVsICk7DQoJCX0NCgkJLy8gcmVsZWFzZSBtZW1vcnkgaW4gSUUNCgkJZWwgPSBudWxsOw0KCX0NCn0NCg0KLyoqDQogKiBBZGRzIHRoZSBzYW1lIGhhbmRsZXIgZm9yIGFsbCBvZiB0aGUgc3BlY2lmaWVkIGF0dHJzDQogKiBAcGFyYW0ge1N0cmluZ30gYXR0cnMgUGlwZS1zZXBhcmF0ZWQgbGlzdCBvZiBhdHRyaWJ1dGVzDQogKiBAcGFyYW0ge0Z1bmN0aW9ufSBoYW5kbGVyIFRoZSBtZXRob2QgdGhhdCB3aWxsIGJlIGFwcGxpZWQNCiAqLw0KZnVuY3Rpb24gYWRkSGFuZGxlKCBhdHRycywgaGFuZGxlciApIHsNCgl2YXIgYXJyID0gYXR0cnMuc3BsaXQoInwiKSwNCgkJaSA9IGFyci5sZW5ndGg7DQoNCgl3aGlsZSAoIGktLSApIHsNCgkJRXhwci5hdHRySGFuZGxlWyBhcnJbaV0gXSA9IGhhbmRsZXI7DQoJfQ0KfQ0KDQovKioNCiAqIENoZWNrcyBkb2N1bWVudCBvcmRlciBvZiB0d28gc2libGluZ3MNCiAqIEBwYXJhbSB7RWxlbWVudH0gYQ0KICogQHBhcmFtIHtFbGVtZW50fSBiDQogKiBAcmV0dXJucyB7TnVtYmVyfSBSZXR1cm5zIGxlc3MgdGhhbiAwIGlmIGEgcHJlY2VkZXMgYiwgZ3JlYXRlciB0aGFuIDAgaWYgYSBmb2xsb3dzIGINCiAqLw0KZnVuY3Rpb24gc2libGluZ0NoZWNrKCBhLCBiICkgew0KCXZhciBjdXIgPSBiICYmIGEsDQoJCWRpZmYgPSBjdXIgJiYgYS5ub2RlVHlwZSA9PT0gMSAmJiBiLm5vZGVUeXBlID09PSAxICYmDQoJCQlhLnNvdXJjZUluZGV4IC0gYi5zb3VyY2VJbmRleDsNCg0KCS8vIFVzZSBJRSBzb3VyY2VJbmRleCBpZiBhdmFpbGFibGUgb24gYm90aCBub2Rlcw0KCWlmICggZGlmZiApIHsNCgkJcmV0dXJuIGRpZmY7DQoJfQ0KDQoJLy8gQ2hlY2sgaWYgYiBmb2xsb3dzIGENCglpZiAoIGN1ciApIHsNCgkJd2hpbGUgKCAoY3VyID0gY3VyLm5leHRTaWJsaW5nKSApIHsNCgkJCWlmICggY3VyID09PSBiICkgew0KCQkJCXJldHVybiAtMTsNCgkJCX0NCgkJfQ0KCX0NCg0KCXJldHVybiBhID8gMSA6IC0xOw0KfQ0KDQovKioNCiAqIFJldHVybnMgYSBmdW5jdGlvbiB0byB1c2UgaW4gcHNldWRvcyBmb3IgaW5wdXQgdHlwZXMNCiAqIEBwYXJhbSB7U3RyaW5nfSB0eXBlDQogKi8NCmZ1bmN0aW9uIGNyZWF0ZUlucHV0UHNldWRvKCB0eXBlICkgew0KCXJldHVybiBmdW5jdGlvbiggZWxlbSApIHsNCgkJdmFyIG5hbWUgPSBlbGVtLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7DQoJCXJldHVybiBuYW1lID09PSAiaW5wdXQiICYmIGVsZW0udHlwZSA9PT0gdHlwZTsNCgl9Ow0KfQ0KDQovKioNCiAqIFJldHVybnMgYSBmdW5jdGlvbiB0byB1c2UgaW4gcHNldWRvcyBmb3IgYnV0dG9ucw0KICogQHBhcmFtIHtTdHJpbmd9IHR5cGUNCiAqLw0KZnVuY3Rpb24gY3JlYXRlQnV0dG9uUHNldWRvKCB0eXBlICkgew0KCXJldHVybiBmdW5jdGlvbiggZWxlbSApIHsNCgkJdmFyIG5hbWUgPSBlbGVtLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7DQoJCXJldHVybiAobmFtZSA9PT0gImlucHV0IiB8fCBuYW1lID09PSAiYnV0dG9uIikgJiYgZWxlbS50eXBlID09PSB0eXBlOw0KCX07DQp9DQoNCi8qKg0KICogUmV0dXJucyBhIGZ1bmN0aW9uIHRvIHVzZSBpbiBwc2V1ZG9zIGZvciA6ZW5hYmxlZC86ZGlzYWJsZWQNCiAqIEBwYXJhbSB7Qm9vbGVhbn0gZGlzYWJsZWQgdHJ1ZSBmb3IgOmRpc2FibGVkOyBmYWxzZSBmb3IgOmVuYWJsZWQNCiAqLw0KZnVuY3Rpb24gY3JlYXRlRGlzYWJsZWRQc2V1ZG8oIGRpc2FibGVkICkgew0KDQoJLy8gS25vd24gOmRpc2FibGVkIGZhbHNlIHBvc2l0aXZlczogZmllbGRzZXRbZGlzYWJsZWRdID4gbGVnZW5kOm50aC1vZi10eXBlKG4rMikgOmNhbi1kaXNhYmxlDQoJcmV0dXJuIGZ1bmN0aW9uKCBlbGVtICkgew0KDQoJCS8vIE9ubHkgY2VydGFpbiBlbGVtZW50cyBjYW4gbWF0Y2ggOmVuYWJsZWQgb3IgOmRpc2FibGVkDQoJCS8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3NjcmlwdGluZy5odG1sI3NlbGVjdG9yLWVuYWJsZWQNCgkJLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc2NyaXB0aW5nLmh0bWwjc2VsZWN0b3ItZGlzYWJsZWQNCgkJaWYgKCAiZm9ybSIgaW4gZWxlbSApIHsNCg0KCQkJLy8gQ2hlY2sgZm9yIGluaGVyaXRlZCBkaXNhYmxlZG5lc3Mgb24gcmVsZXZhbnQgbm9uLWRpc2FibGVkIGVsZW1lbnRzOg0KCQkJLy8gKiBsaXN0ZWQgZm9ybS1hc3NvY2lhdGVkIGVsZW1lbnRzIGluIGEgZGlzYWJsZWQgZmllbGRzZXQNCgkJCS8vICAgaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvZm9ybXMuaHRtbCNjYXRlZ29yeS1saXN0ZWQNCgkJCS8vICAgaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvZm9ybXMuaHRtbCNjb25jZXB0LWZlLWRpc2FibGVkDQoJCQkvLyAqIG9wdGlvbiBlbGVtZW50cyBpbiBhIGRpc2FibGVkIG9wdGdyb3VwDQoJCQkvLyAgIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2Zvcm1zLmh0bWwjY29uY2VwdC1vcHRpb24tZGlzYWJsZWQNCgkJCS8vIEFsbCBzdWNoIGVsZW1lbnRzIGhhdmUgYSAiZm9ybSIgcHJvcGVydHkuDQoJCQlpZiAoIGVsZW0ucGFyZW50Tm9kZSAmJiBlbGVtLmRpc2FibGVkID09PSBmYWxzZSApIHsNCg0KCQkJCS8vIE9wdGlvbiBlbGVtZW50cyBkZWZlciB0byBhIHBhcmVudCBvcHRncm91cCBpZiBwcmVzZW50DQoJCQkJaWYgKCAibGFiZWwiIGluIGVsZW0gKSB7DQoJCQkJCWlmICggImxhYmVsIiBpbiBlbGVtLnBhcmVudE5vZGUgKSB7DQoJCQkJCQlyZXR1cm4gZWxlbS5wYXJlbnROb2RlLmRpc2FibGVkID09PSBkaXNhYmxlZDsNCgkJCQkJfSBlbHNlIHsNCgkJCQkJCXJldHVybiBlbGVtLmRpc2FibGVkID09PSBkaXNhYmxlZDsNCgkJCQkJfQ0KCQkJCX0NCg0KCQkJCS8vIFN1cHBvcnQ6IElFIDYgLSAxMQ0KCQkJCS8vIFVzZSB0aGUgaXNEaXNhYmxlZCBzaG9ydGN1dCBwcm9wZXJ0eSB0byBjaGVjayBmb3IgZGlzYWJsZWQgZmllbGRzZXQgYW5jZXN0b3JzDQoJCQkJcmV0dXJuIGVsZW0uaXNEaXNhYmxlZCA9PT0gZGlzYWJsZWQgfHwNCg0KCQkJCQkvLyBXaGVyZSB0aGVyZSBpcyBubyBpc0Rpc2FibGVkLCBjaGVjayBtYW51YWxseQ0KCQkJCQkvKiBqc2hpbnQgLVcwMTggKi8NCgkJCQkJZWxlbS5pc0Rpc2FibGVkICE9PSAhZGlzYWJsZWQgJiYNCgkJCQkJCWRpc2FibGVkQW5jZXN0b3IoIGVsZW0gKSA9PT0gZGlzYWJsZWQ7DQoJCQl9DQoNCgkJCXJldHVybiBlbGVtLmRpc2FibGVkID09PSBkaXNhYmxlZDsNCg0KCQkvLyBUcnkgdG8gd2lubm93IG91dCBlbGVtZW50cyB0aGF0IGNhbid0IGJlIGRpc2FibGVkIGJlZm9yZSB0cnVzdGluZyB0aGUgZGlzYWJsZWQgcHJvcGVydHkuDQoJCS8vIFNvbWUgdmljdGltcyBnZXQgY2F1Z2h0IGluIG91ciBuZXQgKGxhYmVsLCBsZWdlbmQsIG1lbnUsIHRyYWNrKSwgYnV0IGl0IHNob3VsZG4ndA0KCQkvLyBldmVuIGV4aXN0IG9uIHRoZW0sIGxldCBhbG9uZSBoYXZlIGEgYm9vbGVhbiB2YWx1ZS4NCgkJfSBlbHNlIGlmICggImxhYmVsIiBpbiBlbGVtICkgew0KCQkJcmV0dXJuIGVsZW0uZGlzYWJsZWQgPT09IGRpc2FibGVkOw0KCQl9DQoNCgkJLy8gUmVtYWluaW5nIGVsZW1lbnRzIGFyZSBuZWl0aGVyIDplbmFibGVkIG5vciA6ZGlzYWJsZWQNCgkJcmV0dXJuIGZhbHNlOw0KCX07DQp9DQoNCi8qKg0KICogUmV0dXJucyBhIGZ1bmN0aW9uIHRvIHVzZSBpbiBwc2V1ZG9zIGZvciBwb3NpdGlvbmFscw0KICogQHBhcmFtIHtGdW5jdGlvbn0gZm4NCiAqLw0KZnVuY3Rpb24gY3JlYXRlUG9zaXRpb25hbFBzZXVkbyggZm4gKSB7DQoJcmV0dXJuIG1hcmtGdW5jdGlvbihmdW5jdGlvbiggYXJndW1lbnQgKSB7DQoJCWFyZ3VtZW50ID0gK2FyZ3VtZW50Ow0KCQlyZXR1cm4gbWFya0Z1bmN0aW9uKGZ1bmN0aW9uKCBzZWVkLCBtYXRjaGVzICkgew0KCQkJdmFyIGosDQoJCQkJbWF0Y2hJbmRleGVzID0gZm4oIFtdLCBzZWVkLmxlbmd0aCwgYXJndW1lbnQgKSwNCgkJCQlpID0gbWF0Y2hJbmRleGVzLmxlbmd0aDsNCg0KCQkJLy8gTWF0Y2ggZWxlbWVudHMgZm91bmQgYXQgdGhlIHNwZWNpZmllZCBpbmRleGVzDQoJCQl3aGlsZSAoIGktLSApIHsNCgkJCQlpZiAoIHNlZWRbIChqID0gbWF0Y2hJbmRleGVzW2ldKSBdICkgew0KCQkJCQlzZWVkW2pdID0gIShtYXRjaGVzW2pdID0gc2VlZFtqXSk7DQoJCQkJfQ0KCQkJfQ0KCQl9KTsNCgl9KTsNCn0NCg0KLyoqDQogKiBDaGVja3MgYSBub2RlIGZvciB2YWxpZGl0eSBhcyBhIFNpenpsZSBjb250ZXh0DQogKiBAcGFyYW0ge0VsZW1lbnR8T2JqZWN0PX0gY29udGV4dA0KICogQHJldHVybnMge0VsZW1lbnR8T2JqZWN0fEJvb2xlYW59IFRoZSBpbnB1dCBub2RlIGlmIGFjY2VwdGFibGUsIG90aGVyd2lzZSBhIGZhbHN5IHZhbHVlDQogKi8NCmZ1bmN0aW9uIHRlc3RDb250ZXh0KCBjb250ZXh0ICkgew0KCXJldHVybiBjb250ZXh0ICYmIHR5cGVvZiBjb250ZXh0LmdldEVsZW1lbnRzQnlUYWdOYW1lICE9PSAidW5kZWZpbmVkIiAmJiBjb250ZXh0Ow0KfQ0KDQovLyBFeHBvc2Ugc3VwcG9ydCB2YXJzIGZvciBjb252ZW5pZW5jZQ0Kc3VwcG9ydCA9IFNpenpsZS5zdXBwb3J0ID0ge307DQoNCi8qKg0KICogRGV0ZWN0cyBYTUwgbm9kZXMNCiAqIEBwYXJhbSB7RWxlbWVudHxPYmplY3R9IGVsZW0gQW4gZWxlbWVudCBvciBhIGRvY3VtZW50DQogKiBAcmV0dXJucyB7Qm9vbGVhbn0gVHJ1ZSBpZmYgZWxlbSBpcyBhIG5vbi1IVE1MIFhNTCBub2RlDQogKi8NCmlzWE1MID0gU2l6emxlLmlzWE1MID0gZnVuY3Rpb24oIGVsZW0gKSB7DQoJLy8gZG9jdW1lbnRFbGVtZW50IGlzIHZlcmlmaWVkIGZvciBjYXNlcyB3aGVyZSBpdCBkb2Vzbid0IHlldCBleGlzdA0KCS8vIChzdWNoIGFzIGxvYWRpbmcgaWZyYW1lcyBpbiBJRSAtICM0ODMzKQ0KCXZhciBkb2N1bWVudEVsZW1lbnQgPSBlbGVtICYmIChlbGVtLm93bmVyRG9jdW1lbnQgfHwgZWxlbSkuZG9jdW1lbnRFbGVtZW50Ow0KCXJldHVybiBkb2N1bWVudEVsZW1lbnQgPyBkb2N1bWVudEVsZW1lbnQubm9kZU5hbWUgIT09ICJIVE1MIiA6IGZhbHNlOw0KfTsNCg0KLyoqDQogKiBTZXRzIGRvY3VtZW50LXJlbGF0ZWQgdmFyaWFibGVzIG9uY2UgYmFzZWQgb24gdGhlIGN1cnJlbnQgZG9jdW1lbnQNCiAqIEBwYXJhbSB7RWxlbWVudHxPYmplY3R9IFtkb2NdIEFuIGVsZW1lbnQgb3IgZG9jdW1lbnQgb2JqZWN0IHRvIHVzZSB0byBzZXQgdGhlIGRvY3VtZW50DQogKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBjdXJyZW50IGRvY3VtZW50DQogKi8NCnNldERvY3VtZW50ID0gU2l6emxlLnNldERvY3VtZW50ID0gZnVuY3Rpb24oIG5vZGUgKSB7DQoJdmFyIGhhc0NvbXBhcmUsIHN1YldpbmRvdywNCgkJZG9jID0gbm9kZSA/IG5vZGUub3duZXJEb2N1bWVudCB8fCBub2RlIDogcHJlZmVycmVkRG9jOw0KDQoJLy8gUmV0dXJuIGVhcmx5IGlmIGRvYyBpcyBpbnZhbGlkIG9yIGFscmVhZHkgc2VsZWN0ZWQNCglpZiAoIGRvYyA9PT0gZG9jdW1lbnQgfHwgZG9jLm5vZGVUeXBlICE9PSA5IHx8ICFkb2MuZG9jdW1lbnRFbGVtZW50ICkgew0KCQlyZXR1cm4gZG9jdW1lbnQ7DQoJfQ0KDQoJLy8gVXBkYXRlIGdsb2JhbCB2YXJpYWJsZXMNCglkb2N1bWVudCA9IGRvYzsNCglkb2NFbGVtID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Ow0KCWRvY3VtZW50SXNIVE1MID0gIWlzWE1MKCBkb2N1bWVudCApOw0KDQoJLy8gU3VwcG9ydDogSUUgOS0xMSwgRWRnZQ0KCS8vIEFjY2Vzc2luZyBpZnJhbWUgZG9jdW1lbnRzIGFmdGVyIHVubG9hZCB0aHJvd3MgInBlcm1pc3Npb24gZGVuaWVkIiBlcnJvcnMgKGpRdWVyeSAjMTM5MzYpDQoJaWYgKCBwcmVmZXJyZWREb2MgIT09IGRvY3VtZW50ICYmDQoJCShzdWJXaW5kb3cgPSBkb2N1bWVudC5kZWZhdWx0VmlldykgJiYgc3ViV2luZG93LnRvcCAhPT0gc3ViV2luZG93ICkgew0KDQoJCS8vIFN1cHBvcnQ6IElFIDExLCBFZGdlDQoJCWlmICggc3ViV2luZG93LmFkZEV2ZW50TGlzdGVuZXIgKSB7DQoJCQlzdWJXaW5kb3cuYWRkRXZlbnRMaXN0ZW5lciggInVubG9hZCIsIHVubG9hZEhhbmRsZXIsIGZhbHNlICk7DQoNCgkJLy8gU3VwcG9ydDogSUUgOSAtIDEwIG9ubHkNCgkJfSBlbHNlIGlmICggc3ViV2luZG93LmF0dGFjaEV2ZW50ICkgew0KCQkJc3ViV2luZG93LmF0dGFjaEV2ZW50KCAib251bmxvYWQiLCB1bmxvYWRIYW5kbGVyICk7DQoJCX0NCgl9DQoNCgkvKiBBdHRyaWJ1dGVzDQoJLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KDQoJLy8gU3VwcG9ydDogSUU8OA0KCS8vIFZlcmlmeSB0aGF0IGdldEF0dHJpYnV0ZSByZWFsbHkgcmV0dXJucyBhdHRyaWJ1dGVzIGFuZCBub3QgcHJvcGVydGllcw0KCS8vIChleGNlcHRpbmcgSUU4IGJvb2xlYW5zKQ0KCXN1cHBvcnQuYXR0cmlidXRlcyA9IGFzc2VydChmdW5jdGlvbiggZWwgKSB7DQoJCWVsLmNsYXNzTmFtZSA9ICJpIjsNCgkJcmV0dXJuICFlbC5nZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIpOw0KCX0pOw0KDQoJLyogZ2V0RWxlbWVudChzKUJ5Kg0KCS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCg0KCS8vIENoZWNrIGlmIGdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikgcmV0dXJucyBvbmx5IGVsZW1lbnRzDQoJc3VwcG9ydC5nZXRFbGVtZW50c0J5VGFnTmFtZSA9IGFzc2VydChmdW5jdGlvbiggZWwgKSB7DQoJCWVsLmFwcGVuZENoaWxkKCBkb2N1bWVudC5jcmVhdGVDb21tZW50KCIiKSApOw0KCQlyZXR1cm4gIWVsLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikubGVuZ3RoOw0KCX0pOw0KDQoJLy8gU3VwcG9ydDogSUU8OQ0KCXN1cHBvcnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSA9IHJuYXRpdmUudGVzdCggZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSApOw0KDQoJLy8gU3VwcG9ydDogSUU8MTANCgkvLyBDaGVjayBpZiBnZXRFbGVtZW50QnlJZCByZXR1cm5zIGVsZW1lbnRzIGJ5IG5hbWUNCgkvLyBUaGUgYnJva2VuIGdldEVsZW1lbnRCeUlkIG1ldGhvZHMgZG9uJ3QgcGljayB1cCBwcm9ncmFtbWF0aWNhbGx5LXNldCBuYW1lcywNCgkvLyBzbyB1c2UgYSByb3VuZGFib3V0IGdldEVsZW1lbnRzQnlOYW1lIHRlc3QNCglzdXBwb3J0LmdldEJ5SWQgPSBhc3NlcnQoZnVuY3Rpb24oIGVsICkgew0KCQlkb2NFbGVtLmFwcGVuZENoaWxkKCBlbCApLmlkID0gZXhwYW5kbzsNCgkJcmV0dXJuICFkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZSB8fCAhZG9jdW1lbnQuZ2V0RWxlbWVudHNCeU5hbWUoIGV4cGFuZG8gKS5sZW5ndGg7DQoJfSk7DQoNCgkvLyBJRCBmaWx0ZXIgYW5kIGZpbmQNCglpZiAoIHN1cHBvcnQuZ2V0QnlJZCApIHsNCgkJRXhwci5maWx0ZXJbIklEIl0gPSBmdW5jdGlvbiggaWQgKSB7DQoJCQl2YXIgYXR0cklkID0gaWQucmVwbGFjZSggcnVuZXNjYXBlLCBmdW5lc2NhcGUgKTsNCgkJCXJldHVybiBmdW5jdGlvbiggZWxlbSApIHsNCgkJCQlyZXR1cm4gZWxlbS5nZXRBdHRyaWJ1dGUoImlkIikgPT09IGF0dHJJZDsNCgkJCX07DQoJCX07DQoJCUV4cHIuZmluZFsiSUQiXSA9IGZ1bmN0aW9uKCBpZCwgY29udGV4dCApIHsNCgkJCWlmICggdHlwZW9mIGNvbnRleHQuZ2V0RWxlbWVudEJ5SWQgIT09ICJ1bmRlZmluZWQiICYmIGRvY3VtZW50SXNIVE1MICkgew0KCQkJCXZhciBlbGVtID0gY29udGV4dC5nZXRFbGVtZW50QnlJZCggaWQgKTsNCgkJCQlyZXR1cm4gZWxlbSA/IFsgZWxlbSBdIDogW107DQoJCQl9DQoJCX07DQoJfSBlbHNlIHsNCgkJRXhwci5maWx0ZXJbIklEIl0gPSAgZnVuY3Rpb24oIGlkICkgew0KCQkJdmFyIGF0dHJJZCA9IGlkLnJlcGxhY2UoIHJ1bmVzY2FwZSwgZnVuZXNjYXBlICk7DQoJCQlyZXR1cm4gZnVuY3Rpb24oIGVsZW0gKSB7DQoJCQkJdmFyIG5vZGUgPSB0eXBlb2YgZWxlbS5nZXRBdHRyaWJ1dGVOb2RlICE9PSAidW5kZWZpbmVkIiAmJg0KCQkJCQllbGVtLmdldEF0dHJpYnV0ZU5vZGUoImlkIik7DQoJCQkJcmV0dXJuIG5vZGUgJiYgbm9kZS52YWx1ZSA9PT0gYXR0cklkOw0KCQkJfTsNCgkJfTsNCg0KCQkvLyBTdXBwb3J0OiBJRSA2IC0gNyBvbmx5DQoJCS8vIGdldEVsZW1lbnRCeUlkIGlzIG5vdCByZWxpYWJsZSBhcyBhIGZpbmQgc2hvcnRjdXQNCgkJRXhwci5maW5kWyJJRCJdID0gZnVuY3Rpb24oIGlkLCBjb250ZXh0ICkgew0KCQkJaWYgKCB0eXBlb2YgY29udGV4dC5nZXRFbGVtZW50QnlJZCAhPT0gInVuZGVmaW5lZCIgJiYgZG9jdW1lbnRJc0hUTUwgKSB7DQoJCQkJdmFyIG5vZGUsIGksIGVsZW1zLA0KCQkJCQllbGVtID0gY29udGV4dC5nZXRFbGVtZW50QnlJZCggaWQgKTsNCg0KCQkJCWlmICggZWxlbSApIHsNCg0KCQkJCQkvLyBWZXJpZnkgdGhlIGlkIGF0dHJpYnV0ZQ0KCQkJCQlub2RlID0gZWxlbS5nZXRBdHRyaWJ1dGVOb2RlKCJpZCIpOw0KCQkJCQlpZiAoIG5vZGUgJiYgbm9kZS52YWx1ZSA9PT0gaWQgKSB7DQoJCQkJCQlyZXR1cm4gWyBlbGVtIF07DQoJCQkJCX0NCg0KCQkJCQkvLyBGYWxsIGJhY2sgb24gZ2V0RWxlbWVudHNCeU5hbWUNCgkJCQkJZWxlbXMgPSBjb250ZXh0LmdldEVsZW1lbnRzQnlOYW1lKCBpZCApOw0KCQkJCQlpID0gMDsNCgkJCQkJd2hpbGUgKCAoZWxlbSA9IGVsZW1zW2krK10pICkgew0KCQkJCQkJbm9kZSA9IGVsZW0uZ2V0QXR0cmlidXRlTm9kZSgiaWQiKTsNCgkJCQkJCWlmICggbm9kZSAmJiBub2RlLnZhbHVlID09PSBpZCApIHsNCgkJCQkJCQlyZXR1cm4gWyBlbGVtIF07DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQl9DQoNCgkJCQlyZXR1cm4gW107DQoJCQl9DQoJCX07DQoJfQ0KDQoJLy8gVGFnDQoJRXhwci5maW5kWyJUQUciXSA9IHN1cHBvcnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUgPw0KCQlmdW5jdGlvbiggdGFnLCBjb250ZXh0ICkgew0KCQkJaWYgKCB0eXBlb2YgY29udGV4dC5nZXRFbGVtZW50c0J5VGFnTmFtZSAhPT0gInVuZGVmaW5lZCIgKSB7DQoJCQkJcmV0dXJuIGNvbnRleHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIHRhZyApOw0KDQoJCQkvLyBEb2N1bWVudEZyYWdtZW50IG5vZGVzIGRvbid0IGhhdmUgZ0VCVE4NCgkJCX0gZWxzZSBpZiAoIHN1cHBvcnQucXNhICkgew0KCQkJCXJldHVybiBjb250ZXh0LnF1ZXJ5U2VsZWN0b3JBbGwoIHRhZyApOw0KCQkJfQ0KCQl9IDoNCg0KCQlmdW5jdGlvbiggdGFnLCBjb250ZXh0ICkgew0KCQkJdmFyIGVsZW0sDQoJCQkJdG1wID0gW10sDQoJCQkJaSA9IDAsDQoJCQkJLy8gQnkgaGFwcHkgY29pbmNpZGVuY2UsIGEgKGJyb2tlbikgZ0VCVE4gYXBwZWFycyBvbiBEb2N1bWVudEZyYWdtZW50IG5vZGVzIHRvbw0KCQkJCXJlc3VsdHMgPSBjb250ZXh0LmdldEVsZW1lbnRzQnlUYWdOYW1lKCB0YWcgKTsNCg0KCQkJLy8gRmlsdGVyIG91dCBwb3NzaWJsZSBjb21tZW50cw0KCQkJaWYgKCB0YWcgPT09ICIqIiApIHsNCgkJCQl3aGlsZSAoIChlbGVtID0gcmVzdWx0c1tpKytdKSApIHsNCgkJCQkJaWYgKCBlbGVtLm5vZGVUeXBlID09PSAxICkgew0KCQkJCQkJdG1wLnB1c2goIGVsZW0gKTsNCgkJCQkJfQ0KCQkJCX0NCg0KCQkJCXJldHVybiB0bXA7DQoJCQl9DQoJCQlyZXR1cm4gcmVzdWx0czsNCgkJfTsNCg0KCS8vIENsYXNzDQoJRXhwci5maW5kWyJDTEFTUyJdID0gc3VwcG9ydC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lICYmIGZ1bmN0aW9uKCBjbGFzc05hbWUsIGNvbnRleHQgKSB7DQoJCWlmICggdHlwZW9mIGNvbnRleHQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSAhPT0gInVuZGVmaW5lZCIgJiYgZG9jdW1lbnRJc0hUTUwgKSB7DQoJCQlyZXR1cm4gY29udGV4dC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCBjbGFzc05hbWUgKTsNCgkJfQ0KCX07DQoNCgkvKiBRU0EvbWF0Y2hlc1NlbGVjdG9yDQoJLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KDQoJLy8gUVNBIGFuZCBtYXRjaGVzU2VsZWN0b3Igc3VwcG9ydA0KDQoJLy8gbWF0Y2hlc1NlbGVjdG9yKDphY3RpdmUpIHJlcG9ydHMgZmFsc2Ugd2hlbiB0cnVlIChJRTkvT3BlcmEgMTEuNSkNCglyYnVnZ3lNYXRjaGVzID0gW107DQoNCgkvLyBxU2EoOmZvY3VzKSByZXBvcnRzIGZhbHNlIHdoZW4gdHJ1ZSAoQ2hyb21lIDIxKQ0KCS8vIFdlIGFsbG93IHRoaXMgYmVjYXVzZSBvZiBhIGJ1ZyBpbiBJRTgvOSB0aGF0IHRocm93cyBhbiBlcnJvcg0KCS8vIHdoZW5ldmVyIGBkb2N1bWVudC5hY3RpdmVFbGVtZW50YCBpcyBhY2Nlc3NlZCBvbiBhbiBpZnJhbWUNCgkvLyBTbywgd2UgYWxsb3cgOmZvY3VzIHRvIHBhc3MgdGhyb3VnaCBRU0EgYWxsIHRoZSB0aW1lIHRvIGF2b2lkIHRoZSBJRSBlcnJvcg0KCS8vIFNlZSBodHRwczovL2J1Z3MuanF1ZXJ5LmNvbS90aWNrZXQvMTMzNzgNCglyYnVnZ3lRU0EgPSBbXTsNCg0KCWlmICggKHN1cHBvcnQucXNhID0gcm5hdGl2ZS50ZXN0KCBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsICkpICkgew0KCQkvLyBCdWlsZCBRU0EgcmVnZXgNCgkJLy8gUmVnZXggc3RyYXRlZ3kgYWRvcHRlZCBmcm9tIERpZWdvIFBlcmluaQ0KCQlhc3NlcnQoZnVuY3Rpb24oIGVsICkgew0KCQkJLy8gU2VsZWN0IGlzIHNldCB0byBlbXB0eSBzdHJpbmcgb24gcHVycG9zZQ0KCQkJLy8gVGhpcyBpcyB0byB0ZXN0IElFJ3MgdHJlYXRtZW50IG9mIG5vdCBleHBsaWNpdGx5DQoJCQkvLyBzZXR0aW5nIGEgYm9vbGVhbiBjb250ZW50IGF0dHJpYnV0ZSwNCgkJCS8vIHNpbmNlIGl0cyBwcmVzZW5jZSBzaG91bGQgYmUgZW5vdWdoDQoJCQkvLyBodHRwczovL2J1Z3MuanF1ZXJ5LmNvbS90aWNrZXQvMTIzNTkNCgkJCWRvY0VsZW0uYXBwZW5kQ2hpbGQoIGVsICkuaW5uZXJIVE1MID0gIjxhIGlkPSciICsgZXhwYW5kbyArICInPjwvYT4iICsNCgkJCQkiPHNlbGVjdCBpZD0nIiArIGV4cGFuZG8gKyAiLVxyXFwnIG1zYWxsb3djYXB0dXJlPScnPiIgKw0KCQkJCSI8b3B0aW9uIHNlbGVjdGVkPScnPjwvb3B0aW9uPjwvc2VsZWN0PiI7DQoNCgkJCS8vIFN1cHBvcnQ6IElFOCwgT3BlcmEgMTEtMTIuMTYNCgkJCS8vIE5vdGhpbmcgc2hvdWxkIGJlIHNlbGVjdGVkIHdoZW4gZW1wdHkgc3RyaW5ncyBmb2xsb3cgXj0gb3IgJD0gb3IgKj0NCgkJCS8vIFRoZSB0ZXN0IGF0dHJpYnV0ZSBtdXN0IGJlIHVua25vd24gaW4gT3BlcmEgYnV0ICJzYWZlIiBmb3IgV2luUlQNCgkJCS8vIGh0dHBzOi8vbXNkbi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvaWUvaGg0NjUzODguYXNweCNhdHRyaWJ1dGVfc2VjdGlvbg0KCQkJaWYgKCBlbC5xdWVyeVNlbGVjdG9yQWxsKCJbbXNhbGxvd2NhcHR1cmVePScnXSIpLmxlbmd0aCApIHsNCgkJCQlyYnVnZ3lRU0EucHVzaCggIlsqXiRdPSIgKyB3aGl0ZXNwYWNlICsgIiooPzonJ3xcIlwiKSIgKTsNCgkJCX0NCg0KCQkJLy8gU3VwcG9ydDogSUU4DQoJCQkvLyBCb29sZWFuIGF0dHJpYnV0ZXMgYW5kICJ2YWx1ZSIgYXJlIG5vdCB0cmVhdGVkIGNvcnJlY3RseQ0KCQkJaWYgKCAhZWwucXVlcnlTZWxlY3RvckFsbCgiW3NlbGVjdGVkXSIpLmxlbmd0aCApIHsNCgkJCQlyYnVnZ3lRU0EucHVzaCggIlxcWyIgKyB3aGl0ZXNwYWNlICsgIiooPzp2YWx1ZXwiICsgYm9vbGVhbnMgKyAiKSIgKTsNCgkJCX0NCg0KCQkJLy8gU3VwcG9ydDogQ2hyb21lPDI5LCBBbmRyb2lkPDQuNCwgU2FmYXJpPDcuMCssIGlPUzw3LjArLCBQaGFudG9tSlM8MS45LjgrDQoJCQlpZiAoICFlbC5xdWVyeVNlbGVjdG9yQWxsKCAiW2lkfj0iICsgZXhwYW5kbyArICItXSIgKS5sZW5ndGggKSB7DQoJCQkJcmJ1Z2d5UVNBLnB1c2goIn49Iik7DQoJCQl9DQoNCgkJCS8vIFdlYmtpdC9PcGVyYSAtIDpjaGVja2VkIHNob3VsZCByZXR1cm4gc2VsZWN0ZWQgb3B0aW9uIGVsZW1lbnRzDQoJCQkvLyBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDExL1JFQy1jc3MzLXNlbGVjdG9ycy0yMDExMDkyOS8jY2hlY2tlZA0KCQkJLy8gSUU4IHRocm93cyBlcnJvciBoZXJlIGFuZCB3aWxsIG5vdCBzZWUgbGF0ZXIgdGVzdHMNCgkJCWlmICggIWVsLnF1ZXJ5U2VsZWN0b3JBbGwoIjpjaGVja2VkIikubGVuZ3RoICkgew0KCQkJCXJidWdneVFTQS5wdXNoKCI6Y2hlY2tlZCIpOw0KCQkJfQ0KDQoJCQkvLyBTdXBwb3J0OiBTYWZhcmkgOCssIGlPUyA4Kw0KCQkJLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjg1MQ0KCQkJLy8gSW4tcGFnZSBgc2VsZWN0b3IjaWQgc2libGluZy1jb21iaW5hdG9yIHNlbGVjdG9yYCBmYWlscw0KCQkJaWYgKCAhZWwucXVlcnlTZWxlY3RvckFsbCggImEjIiArIGV4cGFuZG8gKyAiKyoiICkubGVuZ3RoICkgew0KCQkJCXJidWdneVFTQS5wdXNoKCIuIy4rWyt+XSIpOw0KCQkJfQ0KCQl9KTsNCg0KCQlhc3NlcnQoZnVuY3Rpb24oIGVsICkgew0KCQkJZWwuaW5uZXJIVE1MID0gIjxhIGhyZWY9JycgZGlzYWJsZWQ9J2Rpc2FibGVkJz48L2E+IiArDQoJCQkJIjxzZWxlY3QgZGlzYWJsZWQ9J2Rpc2FibGVkJz48b3B0aW9uLz48L3NlbGVjdD4iOw0KDQoJCQkvLyBTdXBwb3J0OiBXaW5kb3dzIDggTmF0aXZlIEFwcHMNCgkJCS8vIFRoZSB0eXBlIGFuZCBuYW1lIGF0dHJpYnV0ZXMgYXJlIHJlc3RyaWN0ZWQgZHVyaW5nIC5pbm5lckhUTUwgYXNzaWdubWVudA0KCQkJdmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTsNCgkJCWlucHV0LnNldEF0dHJpYnV0ZSggInR5cGUiLCAiaGlkZGVuIiApOw0KCQkJZWwuYXBwZW5kQ2hpbGQoIGlucHV0ICkuc2V0QXR0cmlidXRlKCAibmFtZSIsICJEIiApOw0KDQoJCQkvLyBTdXBwb3J0OiBJRTgNCgkJCS8vIEVuZm9yY2UgY2FzZS1zZW5zaXRpdml0eSBvZiBuYW1lIGF0dHJpYnV0ZQ0KCQkJaWYgKCBlbC5xdWVyeVNlbGVjdG9yQWxsKCJbbmFtZT1kXSIpLmxlbmd0aCApIHsNCgkJCQlyYnVnZ3lRU0EucHVzaCggIm5hbWUiICsgd2hpdGVzcGFjZSArICIqWypeJHwhfl0/PSIgKTsNCgkJCX0NCg0KCQkJLy8gRkYgMy41IC0gOmVuYWJsZWQvOmRpc2FibGVkIGFuZCBoaWRkZW4gZWxlbWVudHMgKGhpZGRlbiBlbGVtZW50cyBhcmUgc3RpbGwgZW5hYmxlZCkNCgkJCS8vIElFOCB0aHJvd3MgZXJyb3IgaGVyZSBhbmQgd2lsbCBub3Qgc2VlIGxhdGVyIHRlc3RzDQoJCQlpZiAoIGVsLnF1ZXJ5U2VsZWN0b3JBbGwoIjplbmFibGVkIikubGVuZ3RoICE9PSAyICkgew0KCQkJCXJidWdneVFTQS5wdXNoKCAiOmVuYWJsZWQiLCAiOmRpc2FibGVkIiApOw0KCQkJfQ0KDQoJCQkvLyBTdXBwb3J0OiBJRTktMTErDQoJCQkvLyBJRSdzIDpkaXNhYmxlZCBzZWxlY3RvciBkb2VzIG5vdCBwaWNrIHVwIHRoZSBjaGlsZHJlbiBvZiBkaXNhYmxlZCBmaWVsZHNldHMNCgkJCWRvY0VsZW0uYXBwZW5kQ2hpbGQoIGVsICkuZGlzYWJsZWQgPSB0cnVlOw0KCQkJaWYgKCBlbC5xdWVyeVNlbGVjdG9yQWxsKCI6ZGlzYWJsZWQiKS5sZW5ndGggIT09IDIgKSB7DQoJCQkJcmJ1Z2d5UVNBLnB1c2goICI6ZW5hYmxlZCIsICI6ZGlzYWJsZWQiICk7DQoJCQl9DQoNCgkJCS8vIE9wZXJhIDEwLTExIGRvZXMgbm90IHRocm93IG9uIHBvc3QtY29tbWEgaW52YWxpZCBwc2V1ZG9zDQoJCQllbC5xdWVyeVNlbGVjdG9yQWxsKCIqLDp4Iik7DQoJCQlyYnVnZ3lRU0EucHVzaCgiLC4qOiIpOw0KCQl9KTsNCgl9DQoNCglpZiAoIChzdXBwb3J0Lm1hdGNoZXNTZWxlY3RvciA9IHJuYXRpdmUudGVzdCggKG1hdGNoZXMgPSBkb2NFbGVtLm1hdGNoZXMgfHwNCgkJZG9jRWxlbS53ZWJraXRNYXRjaGVzU2VsZWN0b3IgfHwNCgkJZG9jRWxlbS5tb3pNYXRjaGVzU2VsZWN0b3IgfHwNCgkJZG9jRWxlbS5vTWF0Y2hlc1NlbGVjdG9yIHx8DQoJCWRvY0VsZW0ubXNNYXRjaGVzU2VsZWN0b3IpICkpICkgew0KDQoJCWFzc2VydChmdW5jdGlvbiggZWwgKSB7DQoJCQkvLyBDaGVjayB0byBzZWUgaWYgaXQncyBwb3NzaWJsZSB0byBkbyBtYXRjaGVzU2VsZWN0b3INCgkJCS8vIG9uIGEgZGlzY29ubmVjdGVkIG5vZGUgKElFIDkpDQoJCQlzdXBwb3J0LmRpc2Nvbm5lY3RlZE1hdGNoID0gbWF0Y2hlcy5jYWxsKCBlbCwgIioiICk7DQoNCgkJCS8vIFRoaXMgc2hvdWxkIGZhaWwgd2l0aCBhbiBleGNlcHRpb24NCgkJCS8vIEdlY2tvIGRvZXMgbm90IGVycm9yLCByZXR1cm5zIGZhbHNlIGluc3RlYWQNCgkJCW1hdGNoZXMuY2FsbCggZWwsICJbcyE9JyddOngiICk7DQoJCQlyYnVnZ3lNYXRjaGVzLnB1c2goICIhPSIsIHBzZXVkb3MgKTsNCgkJfSk7DQoJfQ0KDQoJcmJ1Z2d5UVNBID0gcmJ1Z2d5UVNBLmxlbmd0aCAmJiBuZXcgUmVnRXhwKCByYnVnZ3lRU0Euam9pbigifCIpICk7DQoJcmJ1Z2d5TWF0Y2hlcyA9IHJidWdneU1hdGNoZXMubGVuZ3RoICYmIG5ldyBSZWdFeHAoIHJidWdneU1hdGNoZXMuam9pbigifCIpICk7DQoNCgkvKiBDb250YWlucw0KCS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCgloYXNDb21wYXJlID0gcm5hdGl2ZS50ZXN0KCBkb2NFbGVtLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uICk7DQoNCgkvLyBFbGVtZW50IGNvbnRhaW5zIGFub3RoZXINCgkvLyBQdXJwb3NlZnVsbHkgc2VsZi1leGNsdXNpdmUNCgkvLyBBcyBpbiwgYW4gZWxlbWVudCBkb2VzIG5vdCBjb250YWluIGl0c2VsZg0KCWNvbnRhaW5zID0gaGFzQ29tcGFyZSB8fCBybmF0aXZlLnRlc3QoIGRvY0VsZW0uY29udGFpbnMgKSA/DQoJCWZ1bmN0aW9uKCBhLCBiICkgew0KCQkJdmFyIGFkb3duID0gYS5ub2RlVHlwZSA9PT0gOSA/IGEuZG9jdW1lbnRFbGVtZW50IDogYSwNCgkJCQlidXAgPSBiICYmIGIucGFyZW50Tm9kZTsNCgkJCXJldHVybiBhID09PSBidXAgfHwgISEoIGJ1cCAmJiBidXAubm9kZVR5cGUgPT09IDEgJiYgKA0KCQkJCWFkb3duLmNvbnRhaW5zID8NCgkJCQkJYWRvd24uY29udGFpbnMoIGJ1cCApIDoNCgkJCQkJYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiAmJiBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKCBidXAgKSAmIDE2DQoJCQkpKTsNCgkJfSA6DQoJCWZ1bmN0aW9uKCBhLCBiICkgew0KCQkJaWYgKCBiICkgew0KCQkJCXdoaWxlICggKGIgPSBiLnBhcmVudE5vZGUpICkgew0KCQkJCQlpZiAoIGIgPT09IGEgKSB7DQoJCQkJCQlyZXR1cm4gdHJ1ZTsNCgkJCQkJfQ0KCQkJCX0NCgkJCX0NCgkJCXJldHVybiBmYWxzZTsNCgkJfTsNCg0KCS8qIFNvcnRpbmcNCgktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQoNCgkvLyBEb2N1bWVudCBvcmRlciBzb3J0aW5nDQoJc29ydE9yZGVyID0gaGFzQ29tcGFyZSA/DQoJZnVuY3Rpb24oIGEsIGIgKSB7DQoNCgkJLy8gRmxhZyBmb3IgZHVwbGljYXRlIHJlbW92YWwNCgkJaWYgKCBhID09PSBiICkgew0KCQkJaGFzRHVwbGljYXRlID0gdHJ1ZTsNCgkJCXJldHVybiAwOw0KCQl9DQoNCgkJLy8gU29ydCBvbiBtZXRob2QgZXhpc3RlbmNlIGlmIG9ubHkgb25lIGlucHV0IGhhcyBjb21wYXJlRG9jdW1lbnRQb3NpdGlvbg0KCQl2YXIgY29tcGFyZSA9ICFhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uIC0gIWIuY29tcGFyZURvY3VtZW50UG9zaXRpb247DQoJCWlmICggY29tcGFyZSApIHsNCgkJCXJldHVybiBjb21wYXJlOw0KCQl9DQoNCgkJLy8gQ2FsY3VsYXRlIHBvc2l0aW9uIGlmIGJvdGggaW5wdXRzIGJlbG9uZyB0byB0aGUgc2FtZSBkb2N1bWVudA0KCQljb21wYXJlID0gKCBhLm93bmVyRG9jdW1lbnQgfHwgYSApID09PSAoIGIub3duZXJEb2N1bWVudCB8fCBiICkgPw0KCQkJYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiggYiApIDoNCg0KCQkJLy8gT3RoZXJ3aXNlIHdlIGtub3cgdGhleSBhcmUgZGlzY29ubmVjdGVkDQoJCQkxOw0KDQoJCS8vIERpc2Nvbm5lY3RlZCBub2Rlcw0KCQlpZiAoIGNvbXBhcmUgJiAxIHx8DQoJCQkoIXN1cHBvcnQuc29ydERldGFjaGVkICYmIGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oIGEgKSA9PT0gY29tcGFyZSkgKSB7DQoNCgkJCS8vIENob29zZSB0aGUgZmlyc3QgZWxlbWVudCB0aGF0IGlzIHJlbGF0ZWQgdG8gb3VyIHByZWZlcnJlZCBkb2N1bWVudA0KCQkJaWYgKCBhID09PSBkb2N1bWVudCB8fCBhLm93bmVyRG9jdW1lbnQgPT09IHByZWZlcnJlZERvYyAmJiBjb250YWlucyhwcmVmZXJyZWREb2MsIGEpICkgew0KCQkJCXJldHVybiAtMTsNCgkJCX0NCgkJCWlmICggYiA9PT0gZG9jdW1lbnQgfHwgYi5vd25lckRvY3VtZW50ID09PSBwcmVmZXJyZWREb2MgJiYgY29udGFpbnMocHJlZmVycmVkRG9jLCBiKSApIHsNCgkJCQlyZXR1cm4gMTsNCgkJCX0NCg0KCQkJLy8gTWFpbnRhaW4gb3JpZ2luYWwgb3JkZXINCgkJCXJldHVybiBzb3J0SW5wdXQgPw0KCQkJCSggaW5kZXhPZiggc29ydElucHV0LCBhICkgLSBpbmRleE9mKCBzb3J0SW5wdXQsIGIgKSApIDoNCgkJCQkwOw0KCQl9DQoNCgkJcmV0dXJuIGNvbXBhcmUgJiA0ID8gLTEgOiAxOw0KCX0gOg0KCWZ1bmN0aW9uKCBhLCBiICkgew0KCQkvLyBFeGl0IGVhcmx5IGlmIHRoZSBub2RlcyBhcmUgaWRlbnRpY2FsDQoJCWlmICggYSA9PT0gYiApIHsNCgkJCWhhc0R1cGxpY2F0ZSA9IHRydWU7DQoJCQlyZXR1cm4gMDsNCgkJfQ0KDQoJCXZhciBjdXIsDQoJCQlpID0gMCwNCgkJCWF1cCA9IGEucGFyZW50Tm9kZSwNCgkJCWJ1cCA9IGIucGFyZW50Tm9kZSwNCgkJCWFwID0gWyBhIF0sDQoJCQlicCA9IFsgYiBdOw0KDQoJCS8vIFBhcmVudGxlc3Mgbm9kZXMgYXJlIGVpdGhlciBkb2N1bWVudHMgb3IgZGlzY29ubmVjdGVkDQoJCWlmICggIWF1cCB8fCAhYnVwICkgew0KCQkJcmV0dXJuIGEgPT09IGRvY3VtZW50ID8gLTEgOg0KCQkJCWIgPT09IGRvY3VtZW50ID8gMSA6DQoJCQkJYXVwID8gLTEgOg0KCQkJCWJ1cCA/IDEgOg0KCQkJCXNvcnRJbnB1dCA/DQoJCQkJKCBpbmRleE9mKCBzb3J0SW5wdXQsIGEgKSAtIGluZGV4T2YoIHNvcnRJbnB1dCwgYiApICkgOg0KCQkJCTA7DQoNCgkJLy8gSWYgdGhlIG5vZGVzIGFyZSBzaWJsaW5ncywgd2UgY2FuIGRvIGEgcXVpY2sgY2hlY2sNCgkJfSBlbHNlIGlmICggYXVwID09PSBidXAgKSB7DQoJCQlyZXR1cm4gc2libGluZ0NoZWNrKCBhLCBiICk7DQoJCX0NCg0KCQkvLyBPdGhlcndpc2Ugd2UgbmVlZCBmdWxsIGxpc3RzIG9mIHRoZWlyIGFuY2VzdG9ycyBmb3IgY29tcGFyaXNvbg0KCQljdXIgPSBhOw0KCQl3aGlsZSAoIChjdXIgPSBjdXIucGFyZW50Tm9kZSkgKSB7DQoJCQlhcC51bnNoaWZ0KCBjdXIgKTsNCgkJfQ0KCQljdXIgPSBiOw0KCQl3aGlsZSAoIChjdXIgPSBjdXIucGFyZW50Tm9kZSkgKSB7DQoJCQlicC51bnNoaWZ0KCBjdXIgKTsNCgkJfQ0KDQoJCS8vIFdhbGsgZG93biB0aGUgdHJlZSBsb29raW5nIGZvciBhIGRpc2NyZXBhbmN5DQoJCXdoaWxlICggYXBbaV0gPT09IGJwW2ldICkgew0KCQkJaSsrOw0KCQl9DQoNCgkJcmV0dXJuIGkgPw0KCQkJLy8gRG8gYSBzaWJsaW5nIGNoZWNrIGlmIHRoZSBub2RlcyBoYXZlIGEgY29tbW9uIGFuY2VzdG9yDQoJCQlzaWJsaW5nQ2hlY2soIGFwW2ldLCBicFtpXSApIDoNCg0KCQkJLy8gT3RoZXJ3aXNlIG5vZGVzIGluIG91ciBkb2N1bWVudCBzb3J0IGZpcnN0DQoJCQlhcFtpXSA9PT0gcHJlZmVycmVkRG9jID8gLTEgOg0KCQkJYnBbaV0gPT09IHByZWZlcnJlZERvYyA/IDEgOg0KCQkJMDsNCgl9Ow0KDQoJcmV0dXJuIGRvY3VtZW50Ow0KfTsNCg0KU2l6emxlLm1hdGNoZXMgPSBmdW5jdGlvbiggZXhwciwgZWxlbWVudHMgKSB7DQoJcmV0dXJuIFNpenpsZSggZXhwciwgbnVsbCwgbnVsbCwgZWxlbWVudHMgKTsNCn07DQoNClNpenpsZS5tYXRjaGVzU2VsZWN0b3IgPSBmdW5jdGlvbiggZWxlbSwgZXhwciApIHsNCgkvLyBTZXQgZG9jdW1lbnQgdmFycyBpZiBuZWVkZWQNCglpZiAoICggZWxlbS5vd25lckRvY3VtZW50IHx8IGVsZW0gKSAhPT0gZG9jdW1lbnQgKSB7DQoJCXNldERvY3VtZW50KCBlbGVtICk7DQoJfQ0KDQoJLy8gTWFrZSBzdXJlIHRoYXQgYXR0cmlidXRlIHNlbGVjdG9ycyBhcmUgcXVvdGVkDQoJZXhwciA9IGV4cHIucmVwbGFjZSggcmF0dHJpYnV0ZVF1b3RlcywgIj0nJDEnXSIgKTsNCg0KCWlmICggc3VwcG9ydC5tYXRjaGVzU2VsZWN0b3IgJiYgZG9jdW1lbnRJc0hUTUwgJiYNCgkJIWNvbXBpbGVyQ2FjaGVbIGV4cHIgKyAiICIgXSAmJg0KCQkoICFyYnVnZ3lNYXRjaGVzIHx8ICFyYnVnZ3lNYXRjaGVzLnRlc3QoIGV4cHIgKSApICYmDQoJCSggIXJidWdneVFTQSAgICAgfHwgIXJidWdneVFTQS50ZXN0KCBleHByICkgKSApIHsNCg0KCQl0cnkgew0KCQkJdmFyIHJldCA9IG1hdGNoZXMuY2FsbCggZWxlbSwgZXhwciApOw0KDQoJCQkvLyBJRSA5J3MgbWF0Y2hlc1NlbGVjdG9yIHJldHVybnMgZmFsc2Ugb24gZGlzY29ubmVjdGVkIG5vZGVzDQoJCQlpZiAoIHJldCB8fCBzdXBwb3J0LmRpc2Nvbm5lY3RlZE1hdGNoIHx8DQoJCQkJCS8vIEFzIHdlbGwsIGRpc2Nvbm5lY3RlZCBub2RlcyBhcmUgc2FpZCB0byBiZSBpbiBhIGRvY3VtZW50DQoJCQkJCS8vIGZyYWdtZW50IGluIElFIDkNCgkJCQkJZWxlbS5kb2N1bWVudCAmJiBlbGVtLmRvY3VtZW50Lm5vZGVUeXBlICE9PSAxMSApIHsNCgkJCQlyZXR1cm4gcmV0Ow0KCQkJfQ0KCQl9IGNhdGNoIChlKSB7fQ0KCX0NCg0KCXJldHVybiBTaXp6bGUoIGV4cHIsIGRvY3VtZW50LCBudWxsLCBbIGVsZW0gXSApLmxlbmd0aCA+IDA7DQp9Ow0KDQpTaXp6bGUuY29udGFpbnMgPSBmdW5jdGlvbiggY29udGV4dCwgZWxlbSApIHsNCgkvLyBTZXQgZG9jdW1lbnQgdmFycyBpZiBuZWVkZWQNCglpZiAoICggY29udGV4dC5vd25lckRvY3VtZW50IHx8IGNvbnRleHQgKSAhPT0gZG9jdW1lbnQgKSB7DQoJCXNldERvY3VtZW50KCBjb250ZXh0ICk7DQoJfQ0KCXJldHVybiBjb250YWlucyggY29udGV4dCwgZWxlbSApOw0KfTsNCg0KU2l6emxlLmF0dHIgPSBmdW5jdGlvbiggZWxlbSwgbmFtZSApIHsNCgkvLyBTZXQgZG9jdW1lbnQgdmFycyBpZiBuZWVkZWQNCglpZiAoICggZWxlbS5vd25lckRvY3VtZW50IHx8IGVsZW0gKSAhPT0gZG9jdW1lbnQgKSB7DQoJCXNldERvY3VtZW50KCBlbGVtICk7DQoJfQ0KDQoJdmFyIGZuID0gRXhwci5hdHRySGFuZGxlWyBuYW1lLnRvTG93ZXJDYXNlKCkgXSwNCgkJLy8gRG9uJ3QgZ2V0IGZvb2xlZCBieSBPYmplY3QucHJvdG90eXBlIHByb3BlcnRpZXMgKGpRdWVyeSAjMTM4MDcpDQoJCXZhbCA9IGZuICYmIGhhc093bi5jYWxsKCBFeHByLmF0dHJIYW5kbGUsIG5hbWUudG9Mb3dlckNhc2UoKSApID8NCgkJCWZuKCBlbGVtLCBuYW1lLCAhZG9jdW1lbnRJc0hUTUwgKSA6DQoJCQl1bmRlZmluZWQ7DQoNCglyZXR1cm4gdmFsICE9PSB1bmRlZmluZWQgPw0KCQl2YWwgOg0KCQlzdXBwb3J0LmF0dHJpYnV0ZXMgfHwgIWRvY3VtZW50SXNIVE1MID8NCgkJCWVsZW0uZ2V0QXR0cmlidXRlKCBuYW1lICkgOg0KCQkJKHZhbCA9IGVsZW0uZ2V0QXR0cmlidXRlTm9kZShuYW1lKSkgJiYgdmFsLnNwZWNpZmllZCA/DQoJCQkJdmFsLnZhbHVlIDoNCgkJCQludWxsOw0KfTsNCg0KU2l6emxlLmVzY2FwZSA9IGZ1bmN0aW9uKCBzZWwgKSB7DQoJcmV0dXJuIChzZWwgKyAiIikucmVwbGFjZSggcmNzc2VzY2FwZSwgZmNzc2VzY2FwZSApOw0KfTsNCg0KU2l6emxlLmVycm9yID0gZnVuY3Rpb24oIG1zZyApIHsNCgl0aHJvdyBuZXcgRXJyb3IoICJTeW50YXggZXJyb3IsIHVucmVjb2duaXplZCBleHByZXNzaW9uOiAiICsgbXNnICk7DQp9Ow0KDQovKioNCiAqIERvY3VtZW50IHNvcnRpbmcgYW5kIHJlbW92aW5nIGR1cGxpY2F0ZXMNCiAqIEBwYXJhbSB7QXJyYXlMaWtlfSByZXN1bHRzDQogKi8NClNpenpsZS51bmlxdWVTb3J0ID0gZnVuY3Rpb24oIHJlc3VsdHMgKSB7DQoJdmFyIGVsZW0sDQoJCWR1cGxpY2F0ZXMgPSBbXSwNCgkJaiA9IDAsDQoJCWkgPSAwOw0KDQoJLy8gVW5sZXNzIHdlICprbm93KiB3ZSBjYW4gZGV0ZWN0IGR1cGxpY2F0ZXMsIGFzc3VtZSB0aGVpciBwcmVzZW5jZQ0KCWhhc0R1cGxpY2F0ZSA9ICFzdXBwb3J0LmRldGVjdER1cGxpY2F0ZXM7DQoJc29ydElucHV0ID0gIXN1cHBvcnQuc29ydFN0YWJsZSAmJiByZXN1bHRzLnNsaWNlKCAwICk7DQoJcmVzdWx0cy5zb3J0KCBzb3J0T3JkZXIgKTsNCg0KCWlmICggaGFzRHVwbGljYXRlICkgew0KCQl3aGlsZSAoIChlbGVtID0gcmVzdWx0c1tpKytdKSApIHsNCgkJCWlmICggZWxlbSA9PT0gcmVzdWx0c1sgaSBdICkgew0KCQkJCWogPSBkdXBsaWNhdGVzLnB1c2goIGkgKTsNCgkJCX0NCgkJfQ0KCQl3aGlsZSAoIGotLSApIHsNCgkJCXJlc3VsdHMuc3BsaWNlKCBkdXBsaWNhdGVzWyBqIF0sIDEgKTsNCgkJfQ0KCX0NCg0KCS8vIENsZWFyIGlucHV0IGFmdGVyIHNvcnRpbmcgdG8gcmVsZWFzZSBvYmplY3RzDQoJLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qcXVlcnkvc2l6emxlL3B1bGwvMjI1DQoJc29ydElucHV0ID0gbnVsbDsNCg0KCXJldHVybiByZXN1bHRzOw0KfTsNCg0KLyoqDQogKiBVdGlsaXR5IGZ1bmN0aW9uIGZvciByZXRyaWV2aW5nIHRoZSB0ZXh0IHZhbHVlIG9mIGFuIGFycmF5IG9mIERPTSBub2Rlcw0KICogQHBhcmFtIHtBcnJheXxFbGVtZW50fSBlbGVtDQogKi8NCmdldFRleHQgPSBTaXp6bGUuZ2V0VGV4dCA9IGZ1bmN0aW9uKCBlbGVtICkgew0KCXZhciBub2RlLA0KCQlyZXQgPSAiIiwNCgkJaSA9IDAsDQoJCW5vZGVUeXBlID0gZWxlbS5ub2RlVHlwZTsNCg0KCWlmICggIW5vZGVUeXBlICkgew0KCQkvLyBJZiBubyBub2RlVHlwZSwgdGhpcyBpcyBleHBlY3RlZCB0byBiZSBhbiBhcnJheQ0KCQl3aGlsZSAoIChub2RlID0gZWxlbVtpKytdKSApIHsNCgkJCS8vIERvIG5vdCB0cmF2ZXJzZSBjb21tZW50IG5vZGVzDQoJCQlyZXQgKz0gZ2V0VGV4dCggbm9kZSApOw0KCQl9DQoJfSBlbHNlIGlmICggbm9kZVR5cGUgPT09IDEgfHwgbm9kZVR5cGUgPT09IDkgfHwgbm9kZVR5cGUgPT09IDExICkgew0KCQkvLyBVc2UgdGV4dENvbnRlbnQgZm9yIGVsZW1lbnRzDQoJCS8vIGlubmVyVGV4dCB1c2FnZSByZW1vdmVkIGZvciBjb25zaXN0ZW5jeSBvZiBuZXcgbGluZXMgKGpRdWVyeSAjMTExNTMpDQoJCWlmICggdHlwZW9mIGVsZW0udGV4dENvbnRlbnQgPT09ICJzdHJpbmciICkgew0KCQkJcmV0dXJuIGVsZW0udGV4dENvbnRlbnQ7DQoJCX0gZWxzZSB7DQoJCQkvLyBUcmF2ZXJzZSBpdHMgY2hpbGRyZW4NCgkJCWZvciAoIGVsZW0gPSBlbGVtLmZpcnN0Q2hpbGQ7IGVsZW07IGVsZW0gPSBlbGVtLm5leHRTaWJsaW5nICkgew0KCQkJCXJldCArPSBnZXRUZXh0KCBlbGVtICk7DQoJCQl9DQoJCX0NCgl9IGVsc2UgaWYgKCBub2RlVHlwZSA9PT0gMyB8fCBub2RlVHlwZSA9PT0gNCApIHsNCgkJcmV0dXJuIGVsZW0ubm9kZVZhbHVlOw0KCX0NCgkvLyBEbyBub3QgaW5jbHVkZSBjb21tZW50IG9yIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24gbm9kZXMNCg0KCXJldHVybiByZXQ7DQp9Ow0KDQpFeHByID0gU2l6emxlLnNlbGVjdG9ycyA9IHsNCg0KCS8vIENhbiBiZSBhZGp1c3RlZCBieSB0aGUgdXNlcg0KCWNhY2hlTGVuZ3RoOiA1MCwNCg0KCWNyZWF0ZVBzZXVkbzogbWFya0Z1bmN0aW9uLA0KDQoJbWF0Y2g6IG1hdGNoRXhwciwNCg0KCWF0dHJIYW5kbGU6IHt9LA0KDQoJZmluZDoge30sDQoNCglyZWxhdGl2ZTogew0KCQkiPiI6IHsgZGlyOiAicGFyZW50Tm9kZSIsIGZpcnN0OiB0cnVlIH0sDQoJCSIgIjogeyBkaXI6ICJwYXJlbnROb2RlIiB9LA0KCQkiKyI6IHsgZGlyOiAicHJldmlvdXNTaWJsaW5nIiwgZmlyc3Q6IHRydWUgfSwNCgkJIn4iOiB7IGRpcjogInByZXZpb3VzU2libGluZyIgfQ0KCX0sDQoNCglwcmVGaWx0ZXI6IHsNCgkJIkFUVFIiOiBmdW5jdGlvbiggbWF0Y2ggKSB7DQoJCQltYXRjaFsxXSA9IG1hdGNoWzFdLnJlcGxhY2UoIHJ1bmVzY2FwZSwgZnVuZXNjYXBlICk7DQoNCgkJCS8vIE1vdmUgdGhlIGdpdmVuIHZhbHVlIHRvIG1hdGNoWzNdIHdoZXRoZXIgcXVvdGVkIG9yIHVucXVvdGVkDQoJCQltYXRjaFszXSA9ICggbWF0Y2hbM10gfHwgbWF0Y2hbNF0gfHwgbWF0Y2hbNV0gfHwgIiIgKS5yZXBsYWNlKCBydW5lc2NhcGUsIGZ1bmVzY2FwZSApOw0KDQoJCQlpZiAoIG1hdGNoWzJdID09PSAifj0iICkgew0KCQkJCW1hdGNoWzNdID0gIiAiICsgbWF0Y2hbM10gKyAiICI7DQoJCQl9DQoNCgkJCXJldHVybiBtYXRjaC5zbGljZSggMCwgNCApOw0KCQl9LA0KDQoJCSJDSElMRCI6IGZ1bmN0aW9uKCBtYXRjaCApIHsNCgkJCS8qIG1hdGNoZXMgZnJvbSBtYXRjaEV4cHJbIkNISUxEIl0NCgkJCQkxIHR5cGUgKG9ubHl8bnRofC4uLikNCgkJCQkyIHdoYXQgKGNoaWxkfG9mLXR5cGUpDQoJCQkJMyBhcmd1bWVudCAoZXZlbnxvZGR8XGQqfFxkKm4oWystXVxkKyk/fC4uLikNCgkJCQk0IHhuLWNvbXBvbmVudCBvZiB4bit5IGFyZ3VtZW50IChbKy1dP1xkKm58KQ0KCQkJCTUgc2lnbiBvZiB4bi1jb21wb25lbnQNCgkJCQk2IHggb2YgeG4tY29tcG9uZW50DQoJCQkJNyBzaWduIG9mIHktY29tcG9uZW50DQoJCQkJOCB5IG9mIHktY29tcG9uZW50DQoJCQkqLw0KCQkJbWF0Y2hbMV0gPSBtYXRjaFsxXS50b0xvd2VyQ2FzZSgpOw0KDQoJCQlpZiAoIG1hdGNoWzFdLnNsaWNlKCAwLCAzICkgPT09ICJudGgiICkgew0KCQkJCS8vIG50aC0qIHJlcXVpcmVzIGFyZ3VtZW50DQoJCQkJaWYgKCAhbWF0Y2hbM10gKSB7DQoJCQkJCVNpenpsZS5lcnJvciggbWF0Y2hbMF0gKTsNCgkJCQl9DQoNCgkJCQkvLyBudW1lcmljIHggYW5kIHkgcGFyYW1ldGVycyBmb3IgRXhwci5maWx0ZXIuQ0hJTEQNCgkJCQkvLyByZW1lbWJlciB0aGF0IGZhbHNlL3RydWUgY2FzdCByZXNwZWN0aXZlbHkgdG8gMC8xDQoJCQkJbWF0Y2hbNF0gPSArKCBtYXRjaFs0XSA/IG1hdGNoWzVdICsgKG1hdGNoWzZdIHx8IDEpIDogMiAqICggbWF0Y2hbM10gPT09ICJldmVuIiB8fCBtYXRjaFszXSA9PT0gIm9kZCIgKSApOw0KCQkJCW1hdGNoWzVdID0gKyggKCBtYXRjaFs3XSArIG1hdGNoWzhdICkgfHwgbWF0Y2hbM10gPT09ICJvZGQiICk7DQoNCgkJCS8vIG90aGVyIHR5cGVzIHByb2hpYml0IGFyZ3VtZW50cw0KCQkJfSBlbHNlIGlmICggbWF0Y2hbM10gKSB7DQoJCQkJU2l6emxlLmVycm9yKCBtYXRjaFswXSApOw0KCQkJfQ0KDQoJCQlyZXR1cm4gbWF0Y2g7DQoJCX0sDQoNCgkJIlBTRVVETyI6IGZ1bmN0aW9uKCBtYXRjaCApIHsNCgkJCXZhciBleGNlc3MsDQoJCQkJdW5xdW90ZWQgPSAhbWF0Y2hbNl0gJiYgbWF0Y2hbMl07DQoNCgkJCWlmICggbWF0Y2hFeHByWyJDSElMRCJdLnRlc3QoIG1hdGNoWzBdICkgKSB7DQoJCQkJcmV0dXJuIG51bGw7DQoJCQl9DQoNCgkJCS8vIEFjY2VwdCBxdW90ZWQgYXJndW1lbnRzIGFzLWlzDQoJCQlpZiAoIG1hdGNoWzNdICkgew0KCQkJCW1hdGNoWzJdID0gbWF0Y2hbNF0gfHwgbWF0Y2hbNV0gfHwgIiI7DQoNCgkJCS8vIFN0cmlwIGV4Y2VzcyBjaGFyYWN0ZXJzIGZyb20gdW5xdW90ZWQgYXJndW1lbnRzDQoJCQl9IGVsc2UgaWYgKCB1bnF1b3RlZCAmJiBycHNldWRvLnRlc3QoIHVucXVvdGVkICkgJiYNCgkJCQkvLyBHZXQgZXhjZXNzIGZyb20gdG9rZW5pemUgKHJlY3Vyc2l2ZWx5KQ0KCQkJCShleGNlc3MgPSB0b2tlbml6ZSggdW5xdW90ZWQsIHRydWUgKSkgJiYNCgkJCQkvLyBhZHZhbmNlIHRvIHRoZSBuZXh0IGNsb3NpbmcgcGFyZW50aGVzaXMNCgkJCQkoZXhjZXNzID0gdW5xdW90ZWQuaW5kZXhPZiggIikiLCB1bnF1b3RlZC5sZW5ndGggLSBleGNlc3MgKSAtIHVucXVvdGVkLmxlbmd0aCkgKSB7DQoNCgkJCQkvLyBleGNlc3MgaXMgYSBuZWdhdGl2ZSBpbmRleA0KCQkJCW1hdGNoWzBdID0gbWF0Y2hbMF0uc2xpY2UoIDAsIGV4Y2VzcyApOw0KCQkJCW1hdGNoWzJdID0gdW5xdW90ZWQuc2xpY2UoIDAsIGV4Y2VzcyApOw0KCQkJfQ0KDQoJCQkvLyBSZXR1cm4gb25seSBjYXB0dXJlcyBuZWVkZWQgYnkgdGhlIHBzZXVkbyBmaWx0ZXIgbWV0aG9kICh0eXBlIGFuZCBhcmd1bWVudCkNCgkJCXJldHVybiBtYXRjaC5zbGljZSggMCwgMyApOw0KCQl9DQoJfSwNCg0KCWZpbHRlcjogew0KDQoJCSJUQUciOiBmdW5jdGlvbiggbm9kZU5hbWVTZWxlY3RvciApIHsNCgkJCXZhciBub2RlTmFtZSA9IG5vZGVOYW1lU2VsZWN0b3IucmVwbGFjZSggcnVuZXNjYXBlLCBmdW5lc2NhcGUgKS50b0xvd2VyQ2FzZSgpOw0KCQkJcmV0dXJuIG5vZGVOYW1lU2VsZWN0b3IgPT09ICIqIiA/DQoJCQkJZnVuY3Rpb24oKSB7IHJldHVybiB0cnVlOyB9IDoNCgkJCQlmdW5jdGlvbiggZWxlbSApIHsNCgkJCQkJcmV0dXJuIGVsZW0ubm9kZU5hbWUgJiYgZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSBub2RlTmFtZTsNCgkJCQl9Ow0KCQl9LA0KDQoJCSJDTEFTUyI6IGZ1bmN0aW9uKCBjbGFzc05hbWUgKSB7DQoJCQl2YXIgcGF0dGVybiA9IGNsYXNzQ2FjaGVbIGNsYXNzTmFtZSArICIgIiBdOw0KDQoJCQlyZXR1cm4gcGF0dGVybiB8fA0KCQkJCShwYXR0ZXJuID0gbmV3IFJlZ0V4cCggIihefCIgKyB3aGl0ZXNwYWNlICsgIikiICsgY2xhc3NOYW1lICsgIigiICsgd2hpdGVzcGFjZSArICJ8JCkiICkpICYmDQoJCQkJY2xhc3NDYWNoZSggY2xhc3NOYW1lLCBmdW5jdGlvbiggZWxlbSApIHsNCgkJCQkJcmV0dXJuIHBhdHRlcm4udGVzdCggdHlwZW9mIGVsZW0uY2xhc3NOYW1lID09PSAic3RyaW5nIiAmJiBlbGVtLmNsYXNzTmFtZSB8fCB0eXBlb2YgZWxlbS5nZXRBdHRyaWJ1dGUgIT09ICJ1bmRlZmluZWQiICYmIGVsZW0uZ2V0QXR0cmlidXRlKCJjbGFzcyIpIHx8ICIiICk7DQoJCQkJfSk7DQoJCX0sDQoNCgkJIkFUVFIiOiBmdW5jdGlvbiggbmFtZSwgb3BlcmF0b3IsIGNoZWNrICkgew0KCQkJcmV0dXJuIGZ1bmN0aW9uKCBlbGVtICkgew0KCQkJCXZhciByZXN1bHQgPSBTaXp6bGUuYXR0ciggZWxlbSwgbmFtZSApOw0KDQoJCQkJaWYgKCByZXN1bHQgPT0gbnVsbCApIHsNCgkJCQkJcmV0dXJuIG9wZXJhdG9yID09PSAiIT0iOw0KCQkJCX0NCgkJCQlpZiAoICFvcGVyYXRvciApIHsNCgkJCQkJcmV0dXJuIHRydWU7DQoJCQkJfQ0KDQoJCQkJcmVzdWx0ICs9ICIiOw0KDQoJCQkJcmV0dXJuIG9wZXJhdG9yID09PSAiPSIgPyByZXN1bHQgPT09IGNoZWNrIDoNCgkJCQkJb3BlcmF0b3IgPT09ICIhPSIgPyByZXN1bHQgIT09IGNoZWNrIDoNCgkJCQkJb3BlcmF0b3IgPT09ICJePSIgPyBjaGVjayAmJiByZXN1bHQuaW5kZXhPZiggY2hlY2sgKSA9PT0gMCA6DQoJCQkJCW9wZXJhdG9yID09PSAiKj0iID8gY2hlY2sgJiYgcmVzdWx0LmluZGV4T2YoIGNoZWNrICkgPiAtMSA6DQoJCQkJCW9wZXJhdG9yID09PSAiJD0iID8gY2hlY2sgJiYgcmVzdWx0LnNsaWNlKCAtY2hlY2subGVuZ3RoICkgPT09IGNoZWNrIDoNCgkJCQkJb3BlcmF0b3IgPT09ICJ+PSIgPyAoICIgIiArIHJlc3VsdC5yZXBsYWNlKCByd2hpdGVzcGFjZSwgIiAiICkgKyAiICIgKS5pbmRleE9mKCBjaGVjayApID4gLTEgOg0KCQkJCQlvcGVyYXRvciA9PT0gInw9IiA/IHJlc3VsdCA9PT0gY2hlY2sgfHwgcmVzdWx0LnNsaWNlKCAwLCBjaGVjay5sZW5ndGggKyAxICkgPT09IGNoZWNrICsgIi0iIDoNCgkJCQkJZmFsc2U7DQoJCQl9Ow0KCQl9LA0KDQoJCSJDSElMRCI6IGZ1bmN0aW9uKCB0eXBlLCB3aGF0LCBhcmd1bWVudCwgZmlyc3QsIGxhc3QgKSB7DQoJCQl2YXIgc2ltcGxlID0gdHlwZS5zbGljZSggMCwgMyApICE9PSAibnRoIiwNCgkJCQlmb3J3YXJkID0gdHlwZS5zbGljZSggLTQgKSAhPT0gImxhc3QiLA0KCQkJCW9mVHlwZSA9IHdoYXQgPT09ICJvZi10eXBlIjsNCg0KCQkJcmV0dXJuIGZpcnN0ID09PSAxICYmIGxhc3QgPT09IDAgPw0KDQoJCQkJLy8gU2hvcnRjdXQgZm9yIDpudGgtKihuKQ0KCQkJCWZ1bmN0aW9uKCBlbGVtICkgew0KCQkJCQlyZXR1cm4gISFlbGVtLnBhcmVudE5vZGU7DQoJCQkJfSA6DQoNCgkJCQlmdW5jdGlvbiggZWxlbSwgY29udGV4dCwgeG1sICkgew0KCQkJCQl2YXIgY2FjaGUsIHVuaXF1ZUNhY2hlLCBvdXRlckNhY2hlLCBub2RlLCBub2RlSW5kZXgsIHN0YXJ0LA0KCQkJCQkJZGlyID0gc2ltcGxlICE9PSBmb3J3YXJkID8gIm5leHRTaWJsaW5nIiA6ICJwcmV2aW91c1NpYmxpbmciLA0KCQkJCQkJcGFyZW50ID0gZWxlbS5wYXJlbnROb2RlLA0KCQkJCQkJbmFtZSA9IG9mVHlwZSAmJiBlbGVtLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksDQoJCQkJCQl1c2VDYWNoZSA9ICF4bWwgJiYgIW9mVHlwZSwNCgkJCQkJCWRpZmYgPSBmYWxzZTsNCg0KCQkJCQlpZiAoIHBhcmVudCApIHsNCg0KCQkJCQkJLy8gOihmaXJzdHxsYXN0fG9ubHkpLShjaGlsZHxvZi10eXBlKQ0KCQkJCQkJaWYgKCBzaW1wbGUgKSB7DQoJCQkJCQkJd2hpbGUgKCBkaXIgKSB7DQoJCQkJCQkJCW5vZGUgPSBlbGVtOw0KCQkJCQkJCQl3aGlsZSAoIChub2RlID0gbm9kZVsgZGlyIF0pICkgew0KCQkJCQkJCQkJaWYgKCBvZlR5cGUgPw0KCQkJCQkJCQkJCW5vZGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gbmFtZSA6DQoJCQkJCQkJCQkJbm9kZS5ub2RlVHlwZSA9PT0gMSApIHsNCg0KCQkJCQkJCQkJCXJldHVybiBmYWxzZTsNCgkJCQkJCQkJCX0NCgkJCQkJCQkJfQ0KCQkJCQkJCQkvLyBSZXZlcnNlIGRpcmVjdGlvbiBmb3IgOm9ubHktKiAoaWYgd2UgaGF2ZW4ndCB5ZXQgZG9uZSBzbykNCgkJCQkJCQkJc3RhcnQgPSBkaXIgPSB0eXBlID09PSAib25seSIgJiYgIXN0YXJ0ICYmICJuZXh0U2libGluZyI7DQoJCQkJCQkJfQ0KCQkJCQkJCXJldHVybiB0cnVlOw0KCQkJCQkJfQ0KDQoJCQkJCQlzdGFydCA9IFsgZm9yd2FyZCA/IHBhcmVudC5maXJzdENoaWxkIDogcGFyZW50Lmxhc3RDaGlsZCBdOw0KDQoJCQkJCQkvLyBub24teG1sIDpudGgtY2hpbGQoLi4uKSBzdG9yZXMgY2FjaGUgZGF0YSBvbiBgcGFyZW50YA0KCQkJCQkJaWYgKCBmb3J3YXJkICYmIHVzZUNhY2hlICkgew0KDQoJCQkJCQkJLy8gU2VlayBgZWxlbWAgZnJvbSBhIHByZXZpb3VzbHktY2FjaGVkIGluZGV4DQoNCgkJCQkJCQkvLyAuLi5pbiBhIGd6aXAtZnJpZW5kbHkgd2F5DQoJCQkJCQkJbm9kZSA9IHBhcmVudDsNCgkJCQkJCQlvdXRlckNhY2hlID0gbm9kZVsgZXhwYW5kbyBdIHx8IChub2RlWyBleHBhbmRvIF0gPSB7fSk7DQoNCgkJCQkJCQkvLyBTdXBwb3J0OiBJRSA8OSBvbmx5DQoJCQkJCQkJLy8gRGVmZW5kIGFnYWluc3QgY2xvbmVkIGF0dHJvcGVydGllcyAoalF1ZXJ5IGdoLTE3MDkpDQoJCQkJCQkJdW5pcXVlQ2FjaGUgPSBvdXRlckNhY2hlWyBub2RlLnVuaXF1ZUlEIF0gfHwNCgkJCQkJCQkJKG91dGVyQ2FjaGVbIG5vZGUudW5pcXVlSUQgXSA9IHt9KTsNCg0KCQkJCQkJCWNhY2hlID0gdW5pcXVlQ2FjaGVbIHR5cGUgXSB8fCBbXTsNCgkJCQkJCQlub2RlSW5kZXggPSBjYWNoZVsgMCBdID09PSBkaXJydW5zICYmIGNhY2hlWyAxIF07DQoJCQkJCQkJZGlmZiA9IG5vZGVJbmRleCAmJiBjYWNoZVsgMiBdOw0KCQkJCQkJCW5vZGUgPSBub2RlSW5kZXggJiYgcGFyZW50LmNoaWxkTm9kZXNbIG5vZGVJbmRleCBdOw0KDQoJCQkJCQkJd2hpbGUgKCAobm9kZSA9ICsrbm9kZUluZGV4ICYmIG5vZGUgJiYgbm9kZVsgZGlyIF0gfHwNCg0KCQkJCQkJCQkvLyBGYWxsYmFjayB0byBzZWVraW5nIGBlbGVtYCBmcm9tIHRoZSBzdGFydA0KCQkJCQkJCQkoZGlmZiA9IG5vZGVJbmRleCA9IDApIHx8IHN0YXJ0LnBvcCgpKSApIHsNCg0KCQkJCQkJCQkvLyBXaGVuIGZvdW5kLCBjYWNoZSBpbmRleGVzIG9uIGBwYXJlbnRgIGFuZCBicmVhaw0KCQkJCQkJCQlpZiAoIG5vZGUubm9kZVR5cGUgPT09IDEgJiYgKytkaWZmICYmIG5vZGUgPT09IGVsZW0gKSB7DQoJCQkJCQkJCQl1bmlxdWVDYWNoZVsgdHlwZSBdID0gWyBkaXJydW5zLCBub2RlSW5kZXgsIGRpZmYgXTsNCgkJCQkJCQkJCWJyZWFrOw0KCQkJCQkJCQl9DQoJCQkJCQkJfQ0KDQoJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCS8vIFVzZSBwcmV2aW91c2x5LWNhY2hlZCBlbGVtZW50IGluZGV4IGlmIGF2YWlsYWJsZQ0KCQkJCQkJCWlmICggdXNlQ2FjaGUgKSB7DQoJCQkJCQkJCS8vIC4uLmluIGEgZ3ppcC1mcmllbmRseSB3YXkNCgkJCQkJCQkJbm9kZSA9IGVsZW07DQoJCQkJCQkJCW91dGVyQ2FjaGUgPSBub2RlWyBleHBhbmRvIF0gfHwgKG5vZGVbIGV4cGFuZG8gXSA9IHt9KTsNCg0KCQkJCQkJCQkvLyBTdXBwb3J0OiBJRSA8OSBvbmx5DQoJCQkJCQkJCS8vIERlZmVuZCBhZ2FpbnN0IGNsb25lZCBhdHRyb3BlcnRpZXMgKGpRdWVyeSBnaC0xNzA5KQ0KCQkJCQkJCQl1bmlxdWVDYWNoZSA9IG91dGVyQ2FjaGVbIG5vZGUudW5pcXVlSUQgXSB8fA0KCQkJCQkJCQkJKG91dGVyQ2FjaGVbIG5vZGUudW5pcXVlSUQgXSA9IHt9KTsNCg0KCQkJCQkJCQljYWNoZSA9IHVuaXF1ZUNhY2hlWyB0eXBlIF0gfHwgW107DQoJCQkJCQkJCW5vZGVJbmRleCA9IGNhY2hlWyAwIF0gPT09IGRpcnJ1bnMgJiYgY2FjaGVbIDEgXTsNCgkJCQkJCQkJZGlmZiA9IG5vZGVJbmRleDsNCgkJCQkJCQl9DQoNCgkJCQkJCQkvLyB4bWwgOm50aC1jaGlsZCguLi4pDQoJCQkJCQkJLy8gb3IgOm50aC1sYXN0LWNoaWxkKC4uLikgb3IgOm50aCgtbGFzdCk/LW9mLXR5cGUoLi4uKQ0KCQkJCQkJCWlmICggZGlmZiA9PT0gZmFsc2UgKSB7DQoJCQkJCQkJCS8vIFVzZSB0aGUgc2FtZSBsb29wIGFzIGFib3ZlIHRvIHNlZWsgYGVsZW1gIGZyb20gdGhlIHN0YXJ0DQoJCQkJCQkJCXdoaWxlICggKG5vZGUgPSArK25vZGVJbmRleCAmJiBub2RlICYmIG5vZGVbIGRpciBdIHx8DQoJCQkJCQkJCQkoZGlmZiA9IG5vZGVJbmRleCA9IDApIHx8IHN0YXJ0LnBvcCgpKSApIHsNCg0KCQkJCQkJCQkJaWYgKCAoIG9mVHlwZSA/DQoJCQkJCQkJCQkJbm9kZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSBuYW1lIDoNCgkJCQkJCQkJCQlub2RlLm5vZGVUeXBlID09PSAxICkgJiYNCgkJCQkJCQkJCQkrK2RpZmYgKSB7DQoNCgkJCQkJCQkJCQkvLyBDYWNoZSB0aGUgaW5kZXggb2YgZWFjaCBlbmNvdW50ZXJlZCBlbGVtZW50DQoJCQkJCQkJCQkJaWYgKCB1c2VDYWNoZSApIHsNCgkJCQkJCQkJCQkJb3V0ZXJDYWNoZSA9IG5vZGVbIGV4cGFuZG8gXSB8fCAobm9kZVsgZXhwYW5kbyBdID0ge30pOw0KDQoJCQkJCQkJCQkJCS8vIFN1cHBvcnQ6IElFIDw5IG9ubHkNCgkJCQkJCQkJCQkJLy8gRGVmZW5kIGFnYWluc3QgY2xvbmVkIGF0dHJvcGVydGllcyAoalF1ZXJ5IGdoLTE3MDkpDQoJCQkJCQkJCQkJCXVuaXF1ZUNhY2hlID0gb3V0ZXJDYWNoZVsgbm9kZS51bmlxdWVJRCBdIHx8DQoJCQkJCQkJCQkJCQkob3V0ZXJDYWNoZVsgbm9kZS51bmlxdWVJRCBdID0ge30pOw0KDQoJCQkJCQkJCQkJCXVuaXF1ZUNhY2hlWyB0eXBlIF0gPSBbIGRpcnJ1bnMsIGRpZmYgXTsNCgkJCQkJCQkJCQl9DQoNCgkJCQkJCQkJCQlpZiAoIG5vZGUgPT09IGVsZW0gKSB7DQoJCQkJCQkJCQkJCWJyZWFrOw0KCQkJCQkJCQkJCX0NCgkJCQkJCQkJCX0NCgkJCQkJCQkJfQ0KCQkJCQkJCX0NCgkJCQkJCX0NCg0KCQkJCQkJLy8gSW5jb3Jwb3JhdGUgdGhlIG9mZnNldCwgdGhlbiBjaGVjayBhZ2FpbnN0IGN5Y2xlIHNpemUNCgkJCQkJCWRpZmYgLT0gbGFzdDsNCgkJCQkJCXJldHVybiBkaWZmID09PSBmaXJzdCB8fCAoIGRpZmYgJSBmaXJzdCA9PT0gMCAmJiBkaWZmIC8gZmlyc3QgPj0gMCApOw0KCQkJCQl9DQoJCQkJfTsNCgkJfSwNCg0KCQkiUFNFVURPIjogZnVuY3Rpb24oIHBzZXVkbywgYXJndW1lbnQgKSB7DQoJCQkvLyBwc2V1ZG8tY2xhc3MgbmFtZXMgYXJlIGNhc2UtaW5zZW5zaXRpdmUNCgkJCS8vIGh0dHA6Ly93d3cudzMub3JnL1RSL3NlbGVjdG9ycy8jcHNldWRvLWNsYXNzZXMNCgkJCS8vIFByaW9yaXRpemUgYnkgY2FzZSBzZW5zaXRpdml0eSBpbiBjYXNlIGN1c3RvbSBwc2V1ZG9zIGFyZSBhZGRlZCB3aXRoIHVwcGVyY2FzZSBsZXR0ZXJzDQoJCQkvLyBSZW1lbWJlciB0aGF0IHNldEZpbHRlcnMgaW5oZXJpdHMgZnJvbSBwc2V1ZG9zDQoJCQl2YXIgYXJncywNCgkJCQlmbiA9IEV4cHIucHNldWRvc1sgcHNldWRvIF0gfHwgRXhwci5zZXRGaWx0ZXJzWyBwc2V1ZG8udG9Mb3dlckNhc2UoKSBdIHx8DQoJCQkJCVNpenpsZS5lcnJvciggInVuc3VwcG9ydGVkIHBzZXVkbzogIiArIHBzZXVkbyApOw0KDQoJCQkvLyBUaGUgdXNlciBtYXkgdXNlIGNyZWF0ZVBzZXVkbyB0byBpbmRpY2F0ZSB0aGF0DQoJCQkvLyBhcmd1bWVudHMgYXJlIG5lZWRlZCB0byBjcmVhdGUgdGhlIGZpbHRlciBmdW5jdGlvbg0KCQkJLy8ganVzdCBhcyBTaXp6bGUgZG9lcw0KCQkJaWYgKCBmblsgZXhwYW5kbyBdICkgew0KCQkJCXJldHVybiBmbiggYXJndW1lbnQgKTsNCgkJCX0NCg0KCQkJLy8gQnV0IG1haW50YWluIHN1cHBvcnQgZm9yIG9sZCBzaWduYXR1cmVzDQoJCQlpZiAoIGZuLmxlbmd0aCA+IDEgKSB7DQoJCQkJYXJncyA9IFsgcHNldWRvLCBwc2V1ZG8sICIiLCBhcmd1bWVudCBdOw0KCQkJCXJldHVybiBFeHByLnNldEZpbHRlcnMuaGFzT3duUHJvcGVydHkoIHBzZXVkby50b0xvd2VyQ2FzZSgpICkgPw0KCQkJCQltYXJrRnVuY3Rpb24oZnVuY3Rpb24oIHNlZWQsIG1hdGNoZXMgKSB7DQoJCQkJCQl2YXIgaWR4LA0KCQkJCQkJCW1hdGNoZWQgPSBmbiggc2VlZCwgYXJndW1lbnQgKSwNCgkJCQkJCQlpID0gbWF0Y2hlZC5sZW5ndGg7DQoJCQkJCQl3aGlsZSAoIGktLSApIHsNCgkJCQkJCQlpZHggPSBpbmRleE9mKCBzZWVkLCBtYXRjaGVkW2ldICk7DQoJCQkJCQkJc2VlZFsgaWR4IF0gPSAhKCBtYXRjaGVzWyBpZHggXSA9IG1hdGNoZWRbaV0gKTsNCgkJCQkJCX0NCgkJCQkJfSkgOg0KCQkJCQlmdW5jdGlvbiggZWxlbSApIHsNCgkJCQkJCXJldHVybiBmbiggZWxlbSwgMCwgYXJncyApOw0KCQkJCQl9Ow0KCQkJfQ0KDQoJCQlyZXR1cm4gZm47DQoJCX0NCgl9LA0KDQoJcHNldWRvczogew0KCQkvLyBQb3RlbnRpYWxseSBjb21wbGV4IHBzZXVkb3MNCgkJIm5vdCI6IG1hcmtGdW5jdGlvbihmdW5jdGlvbiggc2VsZWN0b3IgKSB7DQoJCQkvLyBUcmltIHRoZSBzZWxlY3RvciBwYXNzZWQgdG8gY29tcGlsZQ0KCQkJLy8gdG8gYXZvaWQgdHJlYXRpbmcgbGVhZGluZyBhbmQgdHJhaWxpbmcNCgkJCS8vIHNwYWNlcyBhcyBjb21iaW5hdG9ycw0KCQkJdmFyIGlucHV0ID0gW10sDQoJCQkJcmVzdWx0cyA9IFtdLA0KCQkJCW1hdGNoZXIgPSBjb21waWxlKCBzZWxlY3Rvci5yZXBsYWNlKCBydHJpbSwgIiQxIiApICk7DQoNCgkJCXJldHVybiBtYXRjaGVyWyBleHBhbmRvIF0gPw0KCQkJCW1hcmtGdW5jdGlvbihmdW5jdGlvbiggc2VlZCwgbWF0Y2hlcywgY29udGV4dCwgeG1sICkgew0KCQkJCQl2YXIgZWxlbSwNCgkJCQkJCXVubWF0Y2hlZCA9IG1hdGNoZXIoIHNlZWQsIG51bGwsIHhtbCwgW10gKSwNCgkJCQkJCWkgPSBzZWVkLmxlbmd0aDsNCg0KCQkJCQkvLyBNYXRjaCBlbGVtZW50cyB1bm1hdGNoZWQgYnkgYG1hdGNoZXJgDQoJCQkJCXdoaWxlICggaS0tICkgew0KCQkJCQkJaWYgKCAoZWxlbSA9IHVubWF0Y2hlZFtpXSkgKSB7DQoJCQkJCQkJc2VlZFtpXSA9ICEobWF0Y2hlc1tpXSA9IGVsZW0pOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfSkgOg0KCQkJCWZ1bmN0aW9uKCBlbGVtLCBjb250ZXh0LCB4bWwgKSB7DQoJCQkJCWlucHV0WzBdID0gZWxlbTsNCgkJCQkJbWF0Y2hlciggaW5wdXQsIG51bGwsIHhtbCwgcmVzdWx0cyApOw0KCQkJCQkvLyBEb24ndCBrZWVwIHRoZSBlbGVtZW50IChpc3N1ZSAjMjk5KQ0KCQkJCQlpbnB1dFswXSA9IG51bGw7DQoJCQkJCXJldHVybiAhcmVzdWx0cy5wb3AoKTsNCgkJCQl9Ow0KCQl9KSwNCg0KCQkiaGFzIjogbWFya0Z1bmN0aW9uKGZ1bmN0aW9uKCBzZWxlY3RvciApIHsNCgkJCXJldHVybiBmdW5jdGlvbiggZWxlbSApIHsNCgkJCQlyZXR1cm4gU2l6emxlKCBzZWxlY3RvciwgZWxlbSApLmxlbmd0aCA+IDA7DQoJCQl9Ow0KCQl9KSwNCg0KCQkiY29udGFpbnMiOiBtYXJrRnVuY3Rpb24oZnVuY3Rpb24oIHRleHQgKSB7DQoJCQl0ZXh0ID0gdGV4dC5yZXBsYWNlKCBydW5lc2NhcGUsIGZ1bmVzY2FwZSApOw0KCQkJcmV0dXJuIGZ1bmN0aW9uKCBlbGVtICkgew0KCQkJCXJldHVybiAoIGVsZW0udGV4dENvbnRlbnQgfHwgZWxlbS5pbm5lclRleHQgfHwgZ2V0VGV4dCggZWxlbSApICkuaW5kZXhPZiggdGV4dCApID4gLTE7DQoJCQl9Ow0KCQl9KSwNCg0KCQkvLyAiV2hldGhlciBhbiBlbGVtZW50IGlzIHJlcHJlc2VudGVkIGJ5IGEgOmxhbmcoKSBzZWxlY3Rvcg0KCQkvLyBpcyBiYXNlZCBzb2xlbHkgb24gdGhlIGVsZW1lbnQncyBsYW5ndWFnZSB2YWx1ZQ0KCQkvLyBiZWluZyBlcXVhbCB0byB0aGUgaWRlbnRpZmllciBDLA0KCQkvLyBvciBiZWdpbm5pbmcgd2l0aCB0aGUgaWRlbnRpZmllciBDIGltbWVkaWF0ZWx5IGZvbGxvd2VkIGJ5ICItIi4NCgkJLy8gVGhlIG1hdGNoaW5nIG9mIEMgYWdhaW5zdCB0aGUgZWxlbWVudCdzIGxhbmd1YWdlIHZhbHVlIGlzIHBlcmZvcm1lZCBjYXNlLWluc2Vuc2l0aXZlbHkuDQoJCS8vIFRoZSBpZGVudGlmaWVyIEMgZG9lcyBub3QgaGF2ZSB0byBiZSBhIHZhbGlkIGxhbmd1YWdlIG5hbWUuIg0KCQkvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9zZWxlY3RvcnMvI2xhbmctcHNldWRvDQoJCSJsYW5nIjogbWFya0Z1bmN0aW9uKCBmdW5jdGlvbiggbGFuZyApIHsNCgkJCS8vIGxhbmcgdmFsdWUgbXVzdCBiZSBhIHZhbGlkIGlkZW50aWZpZXINCgkJCWlmICggIXJpZGVudGlmaWVyLnRlc3QobGFuZyB8fCAiIikgKSB7DQoJCQkJU2l6emxlLmVycm9yKCAidW5zdXBwb3J0ZWQgbGFuZzogIiArIGxhbmcgKTsNCgkJCX0NCgkJCWxhbmcgPSBsYW5nLnJlcGxhY2UoIHJ1bmVzY2FwZSwgZnVuZXNjYXBlICkudG9Mb3dlckNhc2UoKTsNCgkJCXJldHVybiBmdW5jdGlvbiggZWxlbSApIHsNCgkJCQl2YXIgZWxlbUxhbmc7DQoJCQkJZG8gew0KCQkJCQlpZiAoIChlbGVtTGFuZyA9IGRvY3VtZW50SXNIVE1MID8NCgkJCQkJCWVsZW0ubGFuZyA6DQoJCQkJCQllbGVtLmdldEF0dHJpYnV0ZSgieG1sOmxhbmciKSB8fCBlbGVtLmdldEF0dHJpYnV0ZSgibGFuZyIpKSApIHsNCg0KCQkJCQkJZWxlbUxhbmcgPSBlbGVtTGFuZy50b0xvd2VyQ2FzZSgpOw0KCQkJCQkJcmV0dXJuIGVsZW1MYW5nID09PSBsYW5nIHx8IGVsZW1MYW5nLmluZGV4T2YoIGxhbmcgKyAiLSIgKSA9PT0gMDsNCgkJCQkJfQ0KCQkJCX0gd2hpbGUgKCAoZWxlbSA9IGVsZW0ucGFyZW50Tm9kZSkgJiYgZWxlbS5ub2RlVHlwZSA9PT0gMSApOw0KCQkJCXJldHVybiBmYWxzZTsNCgkJCX07DQoJCX0pLA0KDQoJCS8vIE1pc2NlbGxhbmVvdXMNCgkJInRhcmdldCI6IGZ1bmN0aW9uKCBlbGVtICkgew0KCQkJdmFyIGhhc2ggPSB3aW5kb3cubG9jYXRpb24gJiYgd2luZG93LmxvY2F0aW9uLmhhc2g7DQoJCQlyZXR1cm4gaGFzaCAmJiBoYXNoLnNsaWNlKCAxICkgPT09IGVsZW0uaWQ7DQoJCX0sDQoNCgkJInJvb3QiOiBmdW5jdGlvbiggZWxlbSApIHsNCgkJCXJldHVybiBlbGVtID09PSBkb2NFbGVtOw0KCQl9LA0KDQoJCSJmb2N1cyI6IGZ1bmN0aW9uKCBlbGVtICkgew0KCQkJcmV0dXJuIGVsZW0gPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgJiYgKCFkb2N1bWVudC5oYXNGb2N1cyB8fCBkb2N1bWVudC5oYXNGb2N1cygpKSAmJiAhIShlbGVtLnR5cGUgfHwgZWxlbS5ocmVmIHx8IH5lbGVtLnRhYkluZGV4KTsNCgkJfSwNCg0KCQkvLyBCb29sZWFuIHByb3BlcnRpZXMNCgkJImVuYWJsZWQiOiBjcmVhdGVEaXNhYmxlZFBzZXVkbyggZmFsc2UgKSwNCgkJImRpc2FibGVkIjogY3JlYXRlRGlzYWJsZWRQc2V1ZG8oIHRydWUgKSwNCg0KCQkiY2hlY2tlZCI6IGZ1bmN0aW9uKCBlbGVtICkgew0KCQkJLy8gSW4gQ1NTMywgOmNoZWNrZWQgc2hvdWxkIHJldHVybiBib3RoIGNoZWNrZWQgYW5kIHNlbGVjdGVkIGVsZW1lbnRzDQoJCQkvLyBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDExL1JFQy1jc3MzLXNlbGVjdG9ycy0yMDExMDkyOS8jY2hlY2tlZA0KCQkJdmFyIG5vZGVOYW1lID0gZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpOw0KCQkJcmV0dXJuIChub2RlTmFtZSA9PT0gImlucHV0IiAmJiAhIWVsZW0uY2hlY2tlZCkgfHwgKG5vZGVOYW1lID09PSAib3B0aW9uIiAmJiAhIWVsZW0uc2VsZWN0ZWQpOw0KCQl9LA0KDQoJCSJzZWxlY3RlZCI6IGZ1bmN0aW9uKCBlbGVtICkgew0KCQkJLy8gQWNjZXNzaW5nIHRoaXMgcHJvcGVydHkgbWFrZXMgc2VsZWN0ZWQtYnktZGVmYXVsdA0KCQkJLy8gb3B0aW9ucyBpbiBTYWZhcmkgd29yayBwcm9wZXJseQ0KCQkJaWYgKCBlbGVtLnBhcmVudE5vZGUgKSB7DQoJCQkJZWxlbS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXg7DQoJCQl9DQoNCgkJCXJldHVybiBlbGVtLnNlbGVjdGVkID09PSB0cnVlOw0KCQl9LA0KDQoJCS8vIENvbnRlbnRzDQoJCSJlbXB0eSI6IGZ1bmN0aW9uKCBlbGVtICkgew0KCQkJLy8gaHR0cDovL3d3dy53My5vcmcvVFIvc2VsZWN0b3JzLyNlbXB0eS1wc2V1ZG8NCgkJCS8vIDplbXB0eSBpcyBuZWdhdGVkIGJ5IGVsZW1lbnQgKDEpIG9yIGNvbnRlbnQgbm9kZXMgKHRleHQ6IDM7IGNkYXRhOiA0OyBlbnRpdHkgcmVmOiA1KSwNCgkJCS8vICAgYnV0IG5vdCBieSBvdGhlcnMgKGNvbW1lbnQ6IDg7IHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb246IDc7IGV0Yy4pDQoJCQkvLyBub2RlVHlwZSA8IDYgd29ya3MgYmVjYXVzZSBhdHRyaWJ1dGVzICgyKSBkbyBub3QgYXBwZWFyIGFzIGNoaWxkcmVuDQoJCQlmb3IgKCBlbGVtID0gZWxlbS5maXJzdENoaWxkOyBlbGVtOyBlbGVtID0gZWxlbS5uZXh0U2libGluZyApIHsNCgkJCQlpZiAoIGVsZW0ubm9kZVR5cGUgPCA2ICkgew0KCQkJCQlyZXR1cm4gZmFsc2U7DQoJCQkJfQ0KCQkJfQ0KCQkJcmV0dXJuIHRydWU7DQoJCX0sDQoNCgkJInBhcmVudCI6IGZ1bmN0aW9uKCBlbGVtICkgew0KCQkJcmV0dXJuICFFeHByLnBzZXVkb3NbImVtcHR5Il0oIGVsZW0gKTsNCgkJfSwNCg0KCQkvLyBFbGVtZW50L2lucHV0IHR5cGVzDQoJCSJoZWFkZXIiOiBmdW5jdGlvbiggZWxlbSApIHsNCgkJCXJldHVybiByaGVhZGVyLnRlc3QoIGVsZW0ubm9kZU5hbWUgKTsNCgkJfSwNCg0KCQkiaW5wdXQiOiBmdW5jdGlvbiggZWxlbSApIHsNCgkJCXJldHVybiByaW5wdXRzLnRlc3QoIGVsZW0ubm9kZU5hbWUgKTsNCgkJfSwNCg0KCQkiYnV0dG9uIjogZnVuY3Rpb24oIGVsZW0gKSB7DQoJCQl2YXIgbmFtZSA9IGVsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKTsNCgkJCXJldHVybiBuYW1lID09PSAiaW5wdXQiICYmIGVsZW0udHlwZSA9PT0gImJ1dHRvbiIgfHwgbmFtZSA9PT0gImJ1dHRvbiI7DQoJCX0sDQoNCgkJInRleHQiOiBmdW5jdGlvbiggZWxlbSApIHsNCgkJCXZhciBhdHRyOw0KCQkJcmV0dXJuIGVsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gImlucHV0IiAmJg0KCQkJCWVsZW0udHlwZSA9PT0gInRleHQiICYmDQoNCgkJCQkvLyBTdXBwb3J0OiBJRTw4DQoJCQkJLy8gTmV3IEhUTUw1IGF0dHJpYnV0ZSB2YWx1ZXMgKGUuZy4sICJzZWFyY2giKSBhcHBlYXIgd2l0aCBlbGVtLnR5cGUgPT09ICJ0ZXh0Ig0KCQkJCSggKGF0dHIgPSBlbGVtLmdldEF0dHJpYnV0ZSgidHlwZSIpKSA9PSBudWxsIHx8IGF0dHIudG9Mb3dlckNhc2UoKSA9PT0gInRleHQiICk7DQoJCX0sDQoNCgkJLy8gUG9zaXRpb24taW4tY29sbGVjdGlvbg0KCQkiZmlyc3QiOiBjcmVhdGVQb3NpdGlvbmFsUHNldWRvKGZ1bmN0aW9uKCkgew0KCQkJcmV0dXJuIFsgMCBdOw0KCQl9KSwNCg0KCQkibGFzdCI6IGNyZWF0ZVBvc2l0aW9uYWxQc2V1ZG8oZnVuY3Rpb24oIG1hdGNoSW5kZXhlcywgbGVuZ3RoICkgew0KCQkJcmV0dXJuIFsgbGVuZ3RoIC0gMSBdOw0KCQl9KSwNCg0KCQkiZXEiOiBjcmVhdGVQb3NpdGlvbmFsUHNldWRvKGZ1bmN0aW9uKCBtYXRjaEluZGV4ZXMsIGxlbmd0aCwgYXJndW1lbnQgKSB7DQoJCQlyZXR1cm4gWyBhcmd1bWVudCA8IDAgPyBhcmd1bWVudCArIGxlbmd0aCA6IGFyZ3VtZW50IF07DQoJCX0pLA0KDQoJCSJldmVuIjogY3JlYXRlUG9zaXRpb25hbFBzZXVkbyhmdW5jdGlvbiggbWF0Y2hJbmRleGVzLCBsZW5ndGggKSB7DQoJCQl2YXIgaSA9IDA7DQoJCQlmb3IgKCA7IGkgPCBsZW5ndGg7IGkgKz0gMiApIHsNCgkJCQltYXRjaEluZGV4ZXMucHVzaCggaSApOw0KCQkJfQ0KCQkJcmV0dXJuIG1hdGNoSW5kZXhlczsNCgkJfSksDQoNCgkJIm9kZCI6IGNyZWF0ZVBvc2l0aW9uYWxQc2V1ZG8oZnVuY3Rpb24oIG1hdGNoSW5kZXhlcywgbGVuZ3RoICkgew0KCQkJdmFyIGkgPSAxOw0KCQkJZm9yICggOyBpIDwgbGVuZ3RoOyBpICs9IDIgKSB7DQoJCQkJbWF0Y2hJbmRleGVzLnB1c2goIGkgKTsNCgkJCX0NCgkJCXJldHVybiBtYXRjaEluZGV4ZXM7DQoJCX0pLA0KDQoJCSJsdCI6IGNyZWF0ZVBvc2l0aW9uYWxQc2V1ZG8oZnVuY3Rpb24oIG1hdGNoSW5kZXhlcywgbGVuZ3RoLCBhcmd1bWVudCApIHsNCgkJCXZhciBpID0gYXJndW1lbnQgPCAwID8gYXJndW1lbnQgKyBsZW5ndGggOiBhcmd1bWVudDsNCgkJCWZvciAoIDsgLS1pID49IDA7ICkgew0KCQkJCW1hdGNoSW5kZXhlcy5wdXNoKCBpICk7DQoJCQl9DQoJCQlyZXR1cm4gbWF0Y2hJbmRleGVzOw0KCQl9KSwNCg0KCQkiZ3QiOiBjcmVhdGVQb3NpdGlvbmFsUHNldWRvKGZ1bmN0aW9uKCBtYXRjaEluZGV4ZXMsIGxlbmd0aCwgYXJndW1lbnQgKSB7DQoJCQl2YXIgaSA9IGFyZ3VtZW50IDwgMCA/IGFyZ3VtZW50ICsgbGVuZ3RoIDogYXJndW1lbnQ7DQoJCQlmb3IgKCA7ICsraSA8IGxlbmd0aDsgKSB7DQoJCQkJbWF0Y2hJbmRleGVzLnB1c2goIGkgKTsNCgkJCX0NCgkJCXJldHVybiBtYXRjaEluZGV4ZXM7DQoJCX0pDQoJfQ0KfTsNCg0KRXhwci5wc2V1ZG9zWyJudGgiXSA9IEV4cHIucHNldWRvc1siZXEiXTsNCg0KLy8gQWRkIGJ1dHRvbi9pbnB1dCB0eXBlIHBzZXVkb3MNCmZvciAoIGkgaW4geyByYWRpbzogdHJ1ZSwgY2hlY2tib3g6IHRydWUsIGZpbGU6IHRydWUsIHBhc3N3b3JkOiB0cnVlLCBpbWFnZTogdHJ1ZSB9ICkgew0KCUV4cHIucHNldWRvc1sgaSBdID0gY3JlYXRlSW5wdXRQc2V1ZG8oIGkgKTsNCn0NCmZvciAoIGkgaW4geyBzdWJtaXQ6IHRydWUsIHJlc2V0OiB0cnVlIH0gKSB7DQoJRXhwci5wc2V1ZG9zWyBpIF0gPSBjcmVhdGVCdXR0b25Qc2V1ZG8oIGkgKTsNCn0NCg0KLy8gRWFzeSBBUEkgZm9yIGNyZWF0aW5nIG5ldyBzZXRGaWx0ZXJzDQpmdW5jdGlvbiBzZXRGaWx0ZXJzKCkge30NCnNldEZpbHRlcnMucHJvdG90eXBlID0gRXhwci5maWx0ZXJzID0gRXhwci5wc2V1ZG9zOw0KRXhwci5zZXRGaWx0ZXJzID0gbmV3IHNldEZpbHRlcnMoKTsNCg0KdG9rZW5pemUgPSBTaXp6bGUudG9rZW5pemUgPSBmdW5jdGlvbiggc2VsZWN0b3IsIHBhcnNlT25seSApIHsNCgl2YXIgbWF0Y2hlZCwgbWF0Y2gsIHRva2VucywgdHlwZSwNCgkJc29GYXIsIGdyb3VwcywgcHJlRmlsdGVycywNCgkJY2FjaGVkID0gdG9rZW5DYWNoZVsgc2VsZWN0b3IgKyAiICIgXTsNCg0KCWlmICggY2FjaGVkICkgew0KCQlyZXR1cm4gcGFyc2VPbmx5ID8gMCA6IGNhY2hlZC5zbGljZSggMCApOw0KCX0NCg0KCXNvRmFyID0gc2VsZWN0b3I7DQoJZ3JvdXBzID0gW107DQoJcHJlRmlsdGVycyA9IEV4cHIucHJlRmlsdGVyOw0KDQoJd2hpbGUgKCBzb0ZhciApIHsNCg0KCQkvLyBDb21tYSBhbmQgZmlyc3QgcnVuDQoJCWlmICggIW1hdGNoZWQgfHwgKG1hdGNoID0gcmNvbW1hLmV4ZWMoIHNvRmFyICkpICkgew0KCQkJaWYgKCBtYXRjaCApIHsNCgkJCQkvLyBEb24ndCBjb25zdW1lIHRyYWlsaW5nIGNvbW1hcyBhcyB2YWxpZA0KCQkJCXNvRmFyID0gc29GYXIuc2xpY2UoIG1hdGNoWzBdLmxlbmd0aCApIHx8IHNvRmFyOw0KCQkJfQ0KCQkJZ3JvdXBzLnB1c2goICh0b2tlbnMgPSBbXSkgKTsNCgkJfQ0KDQoJCW1hdGNoZWQgPSBmYWxzZTsNCg0KCQkvLyBDb21iaW5hdG9ycw0KCQlpZiAoIChtYXRjaCA9IHJjb21iaW5hdG9ycy5leGVjKCBzb0ZhciApKSApIHsNCgkJCW1hdGNoZWQgPSBtYXRjaC5zaGlmdCgpOw0KCQkJdG9rZW5zLnB1c2goew0KCQkJCXZhbHVlOiBtYXRjaGVkLA0KCQkJCS8vIENhc3QgZGVzY2VuZGFudCBjb21iaW5hdG9ycyB0byBzcGFjZQ0KCQkJCXR5cGU6IG1hdGNoWzBdLnJlcGxhY2UoIHJ0cmltLCAiICIgKQ0KCQkJfSk7DQoJCQlzb0ZhciA9IHNvRmFyLnNsaWNlKCBtYXRjaGVkLmxlbmd0aCApOw0KCQl9DQoNCgkJLy8gRmlsdGVycw0KCQlmb3IgKCB0eXBlIGluIEV4cHIuZmlsdGVyICkgew0KCQkJaWYgKCAobWF0Y2ggPSBtYXRjaEV4cHJbIHR5cGUgXS5leGVjKCBzb0ZhciApKSAmJiAoIXByZUZpbHRlcnNbIHR5cGUgXSB8fA0KCQkJCShtYXRjaCA9IHByZUZpbHRlcnNbIHR5cGUgXSggbWF0Y2ggKSkpICkgew0KCQkJCW1hdGNoZWQgPSBtYXRjaC5zaGlmdCgpOw0KCQkJCXRva2Vucy5wdXNoKHsNCgkJCQkJdmFsdWU6IG1hdGNoZWQsDQoJCQkJCXR5cGU6IHR5cGUsDQoJCQkJCW1hdGNoZXM6IG1hdGNoDQoJCQkJfSk7DQoJCQkJc29GYXIgPSBzb0Zhci5zbGljZSggbWF0Y2hlZC5sZW5ndGggKTsNCgkJCX0NCgkJfQ0KDQoJCWlmICggIW1hdGNoZWQgKSB7DQoJCQlicmVhazsNCgkJfQ0KCX0NCg0KCS8vIFJldHVybiB0aGUgbGVuZ3RoIG9mIHRoZSBpbnZhbGlkIGV4Y2Vzcw0KCS8vIGlmIHdlJ3JlIGp1c3QgcGFyc2luZw0KCS8vIE90aGVyd2lzZSwgdGhyb3cgYW4gZXJyb3Igb3IgcmV0dXJuIHRva2Vucw0KCXJldHVybiBwYXJzZU9ubHkgPw0KCQlzb0Zhci5sZW5ndGggOg0KCQlzb0ZhciA/DQoJCQlTaXp6bGUuZXJyb3IoIHNlbGVjdG9yICkgOg0KCQkJLy8gQ2FjaGUgdGhlIHRva2Vucw0KCQkJdG9rZW5DYWNoZSggc2VsZWN0b3IsIGdyb3VwcyApLnNsaWNlKCAwICk7DQp9Ow0KDQpmdW5jdGlvbiB0b1NlbGVjdG9yKCB0b2tlbnMgKSB7DQoJdmFyIGkgPSAwLA0KCQlsZW4gPSB0b2tlbnMubGVuZ3RoLA0KCQlzZWxlY3RvciA9ICIiOw0KCWZvciAoIDsgaSA8IGxlbjsgaSsrICkgew0KCQlzZWxlY3RvciArPSB0b2tlbnNbaV0udmFsdWU7DQoJfQ0KCXJldHVybiBzZWxlY3RvcjsNCn0NCg0KZnVuY3Rpb24gYWRkQ29tYmluYXRvciggbWF0Y2hlciwgY29tYmluYXRvciwgYmFzZSApIHsNCgl2YXIgZGlyID0gY29tYmluYXRvci5kaXIsDQoJCXNraXAgPSBjb21iaW5hdG9yLm5leHQsDQoJCWtleSA9IHNraXAgfHwgZGlyLA0KCQljaGVja05vbkVsZW1lbnRzID0gYmFzZSAmJiBrZXkgPT09ICJwYXJlbnROb2RlIiwNCgkJZG9uZU5hbWUgPSBkb25lKys7DQoNCglyZXR1cm4gY29tYmluYXRvci5maXJzdCA/DQoJCS8vIENoZWNrIGFnYWluc3QgY2xvc2VzdCBhbmNlc3Rvci9wcmVjZWRpbmcgZWxlbWVudA0KCQlmdW5jdGlvbiggZWxlbSwgY29udGV4dCwgeG1sICkgew0KCQkJd2hpbGUgKCAoZWxlbSA9IGVsZW1bIGRpciBdKSApIHsNCgkJCQlpZiAoIGVsZW0ubm9kZVR5cGUgPT09IDEgfHwgY2hlY2tOb25FbGVtZW50cyApIHsNCgkJCQkJcmV0dXJuIG1hdGNoZXIoIGVsZW0sIGNvbnRleHQsIHhtbCApOw0KCQkJCX0NCgkJCX0NCgkJCXJldHVybiBmYWxzZTsNCgkJfSA6DQoNCgkJLy8gQ2hlY2sgYWdhaW5zdCBhbGwgYW5jZXN0b3IvcHJlY2VkaW5nIGVsZW1lbnRzDQoJCWZ1bmN0aW9uKCBlbGVtLCBjb250ZXh0LCB4bWwgKSB7DQoJCQl2YXIgb2xkQ2FjaGUsIHVuaXF1ZUNhY2hlLCBvdXRlckNhY2hlLA0KCQkJCW5ld0NhY2hlID0gWyBkaXJydW5zLCBkb25lTmFtZSBdOw0KDQoJCQkvLyBXZSBjYW4ndCBzZXQgYXJiaXRyYXJ5IGRhdGEgb24gWE1MIG5vZGVzLCBzbyB0aGV5IGRvbid0IGJlbmVmaXQgZnJvbSBjb21iaW5hdG9yIGNhY2hpbmcNCgkJCWlmICggeG1sICkgew0KCQkJCXdoaWxlICggKGVsZW0gPSBlbGVtWyBkaXIgXSkgKSB7DQoJCQkJCWlmICggZWxlbS5ub2RlVHlwZSA9PT0gMSB8fCBjaGVja05vbkVsZW1lbnRzICkgew0KCQkJCQkJaWYgKCBtYXRjaGVyKCBlbGVtLCBjb250ZXh0LCB4bWwgKSApIHsNCgkJCQkJCQlyZXR1cm4gdHJ1ZTsNCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCX0NCgkJCX0gZWxzZSB7DQoJCQkJd2hpbGUgKCAoZWxlbSA9IGVsZW1bIGRpciBdKSApIHsNCgkJCQkJaWYgKCBlbGVtLm5vZGVUeXBlID09PSAxIHx8IGNoZWNrTm9uRWxlbWVudHMgKSB7DQoJCQkJCQlvdXRlckNhY2hlID0gZWxlbVsgZXhwYW5kbyBdIHx8IChlbGVtWyBleHBhbmRvIF0gPSB7fSk7DQoNCgkJCQkJCS8vIFN1cHBvcnQ6IElFIDw5IG9ubHkNCgkJCQkJCS8vIERlZmVuZCBhZ2FpbnN0IGNsb25lZCBhdHRyb3BlcnRpZXMgKGpRdWVyeSBnaC0xNzA5KQ0KCQkJCQkJdW5pcXVlQ2FjaGUgPSBvdXRlckNhY2hlWyBlbGVtLnVuaXF1ZUlEIF0gfHwgKG91dGVyQ2FjaGVbIGVsZW0udW5pcXVlSUQgXSA9IHt9KTsNCg0KCQkJCQkJaWYgKCBza2lwICYmIHNraXAgPT09IGVsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKSApIHsNCgkJCQkJCQllbGVtID0gZWxlbVsgZGlyIF0gfHwgZWxlbTsNCgkJCQkJCX0gZWxzZSBpZiAoIChvbGRDYWNoZSA9IHVuaXF1ZUNhY2hlWyBrZXkgXSkgJiYNCgkJCQkJCQlvbGRDYWNoZVsgMCBdID09PSBkaXJydW5zICYmIG9sZENhY2hlWyAxIF0gPT09IGRvbmVOYW1lICkgew0KDQoJCQkJCQkJLy8gQXNzaWduIHRvIG5ld0NhY2hlIHNvIHJlc3VsdHMgYmFjay1wcm9wYWdhdGUgdG8gcHJldmlvdXMgZWxlbWVudHMNCgkJCQkJCQlyZXR1cm4gKG5ld0NhY2hlWyAyIF0gPSBvbGRDYWNoZVsgMiBdKTsNCgkJCQkJCX0gZWxzZSB7DQoJCQkJCQkJLy8gUmV1c2UgbmV3Y2FjaGUgc28gcmVzdWx0cyBiYWNrLXByb3BhZ2F0ZSB0byBwcmV2aW91cyBlbGVtZW50cw0KCQkJCQkJCXVuaXF1ZUNhY2hlWyBrZXkgXSA9IG5ld0NhY2hlOw0KDQoJCQkJCQkJLy8gQSBtYXRjaCBtZWFucyB3ZSdyZSBkb25lOyBhIGZhaWwgbWVhbnMgd2UgaGF2ZSB0byBrZWVwIGNoZWNraW5nDQoJCQkJCQkJaWYgKCAobmV3Q2FjaGVbIDIgXSA9IG1hdGNoZXIoIGVsZW0sIGNvbnRleHQsIHhtbCApKSApIHsNCgkJCQkJCQkJcmV0dXJuIHRydWU7DQoJCQkJCQkJfQ0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9Ow0KfQ0KDQpmdW5jdGlvbiBlbGVtZW50TWF0Y2hlciggbWF0Y2hlcnMgKSB7DQoJcmV0dXJuIG1hdGNoZXJzLmxlbmd0aCA+IDEgPw0KCQlmdW5jdGlvbiggZWxlbSwgY29udGV4dCwgeG1sICkgew0KCQkJdmFyIGkgPSBtYXRjaGVycy5sZW5ndGg7DQoJCQl3aGlsZSAoIGktLSApIHsNCgkJCQlpZiAoICFtYXRjaGVyc1tpXSggZWxlbSwgY29udGV4dCwgeG1sICkgKSB7DQoJCQkJCXJldHVybiBmYWxzZTsNCgkJCQl9DQoJCQl9DQoJCQlyZXR1cm4gdHJ1ZTsNCgkJfSA6DQoJCW1hdGNoZXJzWzBdOw0KfQ0KDQpmdW5jdGlvbiBtdWx0aXBsZUNvbnRleHRzKCBzZWxlY3RvciwgY29udGV4dHMsIHJlc3VsdHMgKSB7DQoJdmFyIGkgPSAwLA0KCQlsZW4gPSBjb250ZXh0cy5sZW5ndGg7DQoJZm9yICggOyBpIDwgbGVuOyBpKysgKSB7DQoJCVNpenpsZSggc2VsZWN0b3IsIGNvbnRleHRzW2ldLCByZXN1bHRzICk7DQoJfQ0KCXJldHVybiByZXN1bHRzOw0KfQ0KDQpmdW5jdGlvbiBjb25kZW5zZSggdW5tYXRjaGVkLCBtYXAsIGZpbHRlciwgY29udGV4dCwgeG1sICkgew0KCXZhciBlbGVtLA0KCQluZXdVbm1hdGNoZWQgPSBbXSwNCgkJaSA9IDAsDQoJCWxlbiA9IHVubWF0Y2hlZC5sZW5ndGgsDQoJCW1hcHBlZCA9IG1hcCAhPSBudWxsOw0KDQoJZm9yICggOyBpIDwgbGVuOyBpKysgKSB7DQoJCWlmICggKGVsZW0gPSB1bm1hdGNoZWRbaV0pICkgew0KCQkJaWYgKCAhZmlsdGVyIHx8IGZpbHRlciggZWxlbSwgY29udGV4dCwgeG1sICkgKSB7DQoJCQkJbmV3VW5tYXRjaGVkLnB1c2goIGVsZW0gKTsNCgkJCQlpZiAoIG1hcHBlZCApIHsNCgkJCQkJbWFwLnB1c2goIGkgKTsNCgkJCQl9DQoJCQl9DQoJCX0NCgl9DQoNCglyZXR1cm4gbmV3VW5tYXRjaGVkOw0KfQ0KDQpmdW5jdGlvbiBzZXRNYXRjaGVyKCBwcmVGaWx0ZXIsIHNlbGVjdG9yLCBtYXRjaGVyLCBwb3N0RmlsdGVyLCBwb3N0RmluZGVyLCBwb3N0U2VsZWN0b3IgKSB7DQoJaWYgKCBwb3N0RmlsdGVyICYmICFwb3N0RmlsdGVyWyBleHBhbmRvIF0gKSB7DQoJCXBvc3RGaWx0ZXIgPSBzZXRNYXRjaGVyKCBwb3N0RmlsdGVyICk7DQoJfQ0KCWlmICggcG9zdEZpbmRlciAmJiAhcG9zdEZpbmRlclsgZXhwYW5kbyBdICkgew0KCQlwb3N0RmluZGVyID0gc2V0TWF0Y2hlciggcG9zdEZpbmRlciwgcG9zdFNlbGVjdG9yICk7DQoJfQ0KCXJldHVybiBtYXJrRnVuY3Rpb24oZnVuY3Rpb24oIHNlZWQsIHJlc3VsdHMsIGNvbnRleHQsIHhtbCApIHsNCgkJdmFyIHRlbXAsIGksIGVsZW0sDQoJCQlwcmVNYXAgPSBbXSwNCgkJCXBvc3RNYXAgPSBbXSwNCgkJCXByZWV4aXN0aW5nID0gcmVzdWx0cy5sZW5ndGgsDQoNCgkJCS8vIEdldCBpbml0aWFsIGVsZW1lbnRzIGZyb20gc2VlZCBvciBjb250ZXh0DQoJCQllbGVtcyA9IHNlZWQgfHwgbXVsdGlwbGVDb250ZXh0cyggc2VsZWN0b3IgfHwgIioiLCBjb250ZXh0Lm5vZGVUeXBlID8gWyBjb250ZXh0IF0gOiBjb250ZXh0LCBbXSApLA0KDQoJCQkvLyBQcmVmaWx0ZXIgdG8gZ2V0IG1hdGNoZXIgaW5wdXQsIHByZXNlcnZpbmcgYSBtYXAgZm9yIHNlZWQtcmVzdWx0cyBzeW5jaHJvbml6YXRpb24NCgkJCW1hdGNoZXJJbiA9IHByZUZpbHRlciAmJiAoIHNlZWQgfHwgIXNlbGVjdG9yICkgPw0KCQkJCWNvbmRlbnNlKCBlbGVtcywgcHJlTWFwLCBwcmVGaWx0ZXIsIGNvbnRleHQsIHhtbCApIDoNCgkJCQllbGVtcywNCg0KCQkJbWF0Y2hlck91dCA9IG1hdGNoZXIgPw0KCQkJCS8vIElmIHdlIGhhdmUgYSBwb3N0RmluZGVyLCBvciBmaWx0ZXJlZCBzZWVkLCBvciBub24tc2VlZCBwb3N0RmlsdGVyIG9yIHByZWV4aXN0aW5nIHJlc3VsdHMsDQoJCQkJcG9zdEZpbmRlciB8fCAoIHNlZWQgPyBwcmVGaWx0ZXIgOiBwcmVleGlzdGluZyB8fCBwb3N0RmlsdGVyICkgPw0KDQoJCQkJCS8vIC4uLmludGVybWVkaWF0ZSBwcm9jZXNzaW5nIGlzIG5lY2Vzc2FyeQ0KCQkJCQlbXSA6DQoNCgkJCQkJLy8gLi4ub3RoZXJ3aXNlIHVzZSByZXN1bHRzIGRpcmVjdGx5DQoJCQkJCXJlc3VsdHMgOg0KCQkJCW1hdGNoZXJJbjsNCg0KCQkvLyBGaW5kIHByaW1hcnkgbWF0Y2hlcw0KCQlpZiAoIG1hdGNoZXIgKSB7DQoJCQltYXRjaGVyKCBtYXRjaGVySW4sIG1hdGNoZXJPdXQsIGNvbnRleHQsIHhtbCApOw0KCQl9DQoNCgkJLy8gQXBwbHkgcG9zdEZpbHRlcg0KCQlpZiAoIHBvc3RGaWx0ZXIgKSB7DQoJCQl0ZW1wID0gY29uZGVuc2UoIG1hdGNoZXJPdXQsIHBvc3RNYXAgKTsNCgkJCXBvc3RGaWx0ZXIoIHRlbXAsIFtdLCBjb250ZXh0LCB4bWwgKTsNCg0KCQkJLy8gVW4tbWF0Y2ggZmFpbGluZyBlbGVtZW50cyBieSBtb3ZpbmcgdGhlbSBiYWNrIHRvIG1hdGNoZXJJbg0KCQkJaSA9IHRlbXAubGVuZ3RoOw0KCQkJd2hpbGUgKCBpLS0gKSB7DQoJCQkJaWYgKCAoZWxlbSA9IHRlbXBbaV0pICkgew0KCQkJCQltYXRjaGVyT3V0WyBwb3N0TWFwW2ldIF0gPSAhKG1hdGNoZXJJblsgcG9zdE1hcFtpXSBdID0gZWxlbSk7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoNCgkJaWYgKCBzZWVkICkgew0KCQkJaWYgKCBwb3N0RmluZGVyIHx8IHByZUZpbHRlciApIHsNCgkJCQlpZiAoIHBvc3RGaW5kZXIgKSB7DQoJCQkJCS8vIEdldCB0aGUgZmluYWwgbWF0Y2hlck91dCBieSBjb25kZW5zaW5nIHRoaXMgaW50ZXJtZWRpYXRlIGludG8gcG9zdEZpbmRlciBjb250ZXh0cw0KCQkJCQl0ZW1wID0gW107DQoJCQkJCWkgPSBtYXRjaGVyT3V0Lmxlbmd0aDsNCgkJCQkJd2hpbGUgKCBpLS0gKSB7DQoJCQkJCQlpZiAoIChlbGVtID0gbWF0Y2hlck91dFtpXSkgKSB7DQoJCQkJCQkJLy8gUmVzdG9yZSBtYXRjaGVySW4gc2luY2UgZWxlbSBpcyBub3QgeWV0IGEgZmluYWwgbWF0Y2gNCgkJCQkJCQl0ZW1wLnB1c2goIChtYXRjaGVySW5baV0gPSBlbGVtKSApOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJCXBvc3RGaW5kZXIoIG51bGwsIChtYXRjaGVyT3V0ID0gW10pLCB0ZW1wLCB4bWwgKTsNCgkJCQl9DQoNCgkJCQkvLyBNb3ZlIG1hdGNoZWQgZWxlbWVudHMgZnJvbSBzZWVkIHRvIHJlc3VsdHMgdG8ga2VlcCB0aGVtIHN5bmNocm9uaXplZA0KCQkJCWkgPSBtYXRjaGVyT3V0Lmxlbmd0aDsNCgkJCQl3aGlsZSAoIGktLSApIHsNCgkJCQkJaWYgKCAoZWxlbSA9IG1hdGNoZXJPdXRbaV0pICYmDQoJCQkJCQkodGVtcCA9IHBvc3RGaW5kZXIgPyBpbmRleE9mKCBzZWVkLCBlbGVtICkgOiBwcmVNYXBbaV0pID4gLTEgKSB7DQoNCgkJCQkJCXNlZWRbdGVtcF0gPSAhKHJlc3VsdHNbdGVtcF0gPSBlbGVtKTsNCgkJCQkJfQ0KCQkJCX0NCgkJCX0NCg0KCQkvLyBBZGQgZWxlbWVudHMgdG8gcmVzdWx0cywgdGhyb3VnaCBwb3N0RmluZGVyIGlmIGRlZmluZWQNCgkJfSBlbHNlIHsNCgkJCW1hdGNoZXJPdXQgPSBjb25kZW5zZSgNCgkJCQltYXRjaGVyT3V0ID09PSByZXN1bHRzID8NCgkJCQkJbWF0Y2hlck91dC5zcGxpY2UoIHByZWV4aXN0aW5nLCBtYXRjaGVyT3V0Lmxlbmd0aCApIDoNCgkJCQkJbWF0Y2hlck91dA0KCQkJKTsNCgkJCWlmICggcG9zdEZpbmRlciApIHsNCgkJCQlwb3N0RmluZGVyKCBudWxsLCByZXN1bHRzLCBtYXRjaGVyT3V0LCB4bWwgKTsNCgkJCX0gZWxzZSB7DQoJCQkJcHVzaC5hcHBseSggcmVzdWx0cywgbWF0Y2hlck91dCApOw0KCQkJfQ0KCQl9DQoJfSk7DQp9DQoNCmZ1bmN0aW9uIG1hdGNoZXJGcm9tVG9rZW5zKCB0b2tlbnMgKSB7DQoJdmFyIGNoZWNrQ29udGV4dCwgbWF0Y2hlciwgaiwNCgkJbGVuID0gdG9rZW5zLmxlbmd0aCwNCgkJbGVhZGluZ1JlbGF0aXZlID0gRXhwci5yZWxhdGl2ZVsgdG9rZW5zWzBdLnR5cGUgXSwNCgkJaW1wbGljaXRSZWxhdGl2ZSA9IGxlYWRpbmdSZWxhdGl2ZSB8fCBFeHByLnJlbGF0aXZlWyIgIl0sDQoJCWkgPSBsZWFkaW5nUmVsYXRpdmUgPyAxIDogMCwNCg0KCQkvLyBUaGUgZm91bmRhdGlvbmFsIG1hdGNoZXIgZW5zdXJlcyB0aGF0IGVsZW1lbnRzIGFyZSByZWFjaGFibGUgZnJvbSB0b3AtbGV2ZWwgY29udGV4dChzKQ0KCQltYXRjaENvbnRleHQgPSBhZGRDb21iaW5hdG9yKCBmdW5jdGlvbiggZWxlbSApIHsNCgkJCXJldHVybiBlbGVtID09PSBjaGVja0NvbnRleHQ7DQoJCX0sIGltcGxpY2l0UmVsYXRpdmUsIHRydWUgKSwNCgkJbWF0Y2hBbnlDb250ZXh0ID0gYWRkQ29tYmluYXRvciggZnVuY3Rpb24oIGVsZW0gKSB7DQoJCQlyZXR1cm4gaW5kZXhPZiggY2hlY2tDb250ZXh0LCBlbGVtICkgPiAtMTsNCgkJfSwgaW1wbGljaXRSZWxhdGl2ZSwgdHJ1ZSApLA0KCQltYXRjaGVycyA9IFsgZnVuY3Rpb24oIGVsZW0sIGNvbnRleHQsIHhtbCApIHsNCgkJCXZhciByZXQgPSAoICFsZWFkaW5nUmVsYXRpdmUgJiYgKCB4bWwgfHwgY29udGV4dCAhPT0gb3V0ZXJtb3N0Q29udGV4dCApICkgfHwgKA0KCQkJCShjaGVja0NvbnRleHQgPSBjb250ZXh0KS5ub2RlVHlwZSA/DQoJCQkJCW1hdGNoQ29udGV4dCggZWxlbSwgY29udGV4dCwgeG1sICkgOg0KCQkJCQltYXRjaEFueUNvbnRleHQoIGVsZW0sIGNvbnRleHQsIHhtbCApICk7DQoJCQkvLyBBdm9pZCBoYW5naW5nIG9udG8gZWxlbWVudCAoaXNzdWUgIzI5OSkNCgkJCWNoZWNrQ29udGV4dCA9IG51bGw7DQoJCQlyZXR1cm4gcmV0Ow0KCQl9IF07DQoNCglmb3IgKCA7IGkgPCBsZW47IGkrKyApIHsNCgkJaWYgKCAobWF0Y2hlciA9IEV4cHIucmVsYXRpdmVbIHRva2Vuc1tpXS50eXBlIF0pICkgew0KCQkJbWF0Y2hlcnMgPSBbIGFkZENvbWJpbmF0b3IoZWxlbWVudE1hdGNoZXIoIG1hdGNoZXJzICksIG1hdGNoZXIpIF07DQoJCX0gZWxzZSB7DQoJCQltYXRjaGVyID0gRXhwci5maWx0ZXJbIHRva2Vuc1tpXS50eXBlIF0uYXBwbHkoIG51bGwsIHRva2Vuc1tpXS5tYXRjaGVzICk7DQoNCgkJCS8vIFJldHVybiBzcGVjaWFsIHVwb24gc2VlaW5nIGEgcG9zaXRpb25hbCBtYXRjaGVyDQoJCQlpZiAoIG1hdGNoZXJbIGV4cGFuZG8gXSApIHsNCgkJCQkvLyBGaW5kIHRoZSBuZXh0IHJlbGF0aXZlIG9wZXJhdG9yIChpZiBhbnkpIGZvciBwcm9wZXIgaGFuZGxpbmcNCgkJCQlqID0gKytpOw0KCQkJCWZvciAoIDsgaiA8IGxlbjsgaisrICkgew0KCQkJCQlpZiAoIEV4cHIucmVsYXRpdmVbIHRva2Vuc1tqXS50eXBlIF0gKSB7DQoJCQkJCQlicmVhazsNCgkJCQkJfQ0KCQkJCX0NCgkJCQlyZXR1cm4gc2V0TWF0Y2hlcigNCgkJCQkJaSA+IDEgJiYgZWxlbWVudE1hdGNoZXIoIG1hdGNoZXJzICksDQoJCQkJCWkgPiAxICYmIHRvU2VsZWN0b3IoDQoJCQkJCQkvLyBJZiB0aGUgcHJlY2VkaW5nIHRva2VuIHdhcyBhIGRlc2NlbmRhbnQgY29tYmluYXRvciwgaW5zZXJ0IGFuIGltcGxpY2l0IGFueS1lbGVtZW50IGAqYA0KCQkJCQkJdG9rZW5zLnNsaWNlKCAwLCBpIC0gMSApLmNvbmNhdCh7IHZhbHVlOiB0b2tlbnNbIGkgLSAyIF0udHlwZSA9PT0gIiAiID8gIioiIDogIiIgfSkNCgkJCQkJKS5yZXBsYWNlKCBydHJpbSwgIiQxIiApLA0KCQkJCQltYXRjaGVyLA0KCQkJCQlpIDwgaiAmJiBtYXRjaGVyRnJvbVRva2VucyggdG9rZW5zLnNsaWNlKCBpLCBqICkgKSwNCgkJCQkJaiA8IGxlbiAmJiBtYXRjaGVyRnJvbVRva2VucyggKHRva2VucyA9IHRva2Vucy5zbGljZSggaiApKSApLA0KCQkJCQlqIDwgbGVuICYmIHRvU2VsZWN0b3IoIHRva2VucyApDQoJCQkJKTsNCgkJCX0NCgkJCW1hdGNoZXJzLnB1c2goIG1hdGNoZXIgKTsNCgkJfQ0KCX0NCg0KCXJldHVybiBlbGVtZW50TWF0Y2hlciggbWF0Y2hlcnMgKTsNCn0NCg0KZnVuY3Rpb24gbWF0Y2hlckZyb21Hcm91cE1hdGNoZXJzKCBlbGVtZW50TWF0Y2hlcnMsIHNldE1hdGNoZXJzICkgew0KCXZhciBieVNldCA9IHNldE1hdGNoZXJzLmxlbmd0aCA+IDAsDQoJCWJ5RWxlbWVudCA9IGVsZW1lbnRNYXRjaGVycy5sZW5ndGggPiAwLA0KCQlzdXBlck1hdGNoZXIgPSBmdW5jdGlvbiggc2VlZCwgY29udGV4dCwgeG1sLCByZXN1bHRzLCBvdXRlcm1vc3QgKSB7DQoJCQl2YXIgZWxlbSwgaiwgbWF0Y2hlciwNCgkJCQltYXRjaGVkQ291bnQgPSAwLA0KCQkJCWkgPSAiMCIsDQoJCQkJdW5tYXRjaGVkID0gc2VlZCAmJiBbXSwNCgkJCQlzZXRNYXRjaGVkID0gW10sDQoJCQkJY29udGV4dEJhY2t1cCA9IG91dGVybW9zdENvbnRleHQsDQoJCQkJLy8gV2UgbXVzdCBhbHdheXMgaGF2ZSBlaXRoZXIgc2VlZCBlbGVtZW50cyBvciBvdXRlcm1vc3QgY29udGV4dA0KCQkJCWVsZW1zID0gc2VlZCB8fCBieUVsZW1lbnQgJiYgRXhwci5maW5kWyJUQUciXSggIioiLCBvdXRlcm1vc3QgKSwNCgkJCQkvLyBVc2UgaW50ZWdlciBkaXJydW5zIGlmZiB0aGlzIGlzIHRoZSBvdXRlcm1vc3QgbWF0Y2hlcg0KCQkJCWRpcnJ1bnNVbmlxdWUgPSAoZGlycnVucyArPSBjb250ZXh0QmFja3VwID09IG51bGwgPyAxIDogTWF0aC5yYW5kb20oKSB8fCAwLjEpLA0KCQkJCWxlbiA9IGVsZW1zLmxlbmd0aDsNCg0KCQkJaWYgKCBvdXRlcm1vc3QgKSB7DQoJCQkJb3V0ZXJtb3N0Q29udGV4dCA9IGNvbnRleHQgPT09IGRvY3VtZW50IHx8IGNvbnRleHQgfHwgb3V0ZXJtb3N0Ow0KCQkJfQ0KDQoJCQkvLyBBZGQgZWxlbWVudHMgcGFzc2luZyBlbGVtZW50TWF0Y2hlcnMgZGlyZWN0bHkgdG8gcmVzdWx0cw0KCQkJLy8gU3VwcG9ydDogSUU8OSwgU2FmYXJpDQoJCQkvLyBUb2xlcmF0ZSBOb2RlTGlzdCBwcm9wZXJ0aWVzIChJRTogImxlbmd0aCI7IFNhZmFyaTogPG51bWJlcj4pIG1hdGNoaW5nIGVsZW1lbnRzIGJ5IGlkDQoJCQlmb3IgKCA7IGkgIT09IGxlbiAmJiAoZWxlbSA9IGVsZW1zW2ldKSAhPSBudWxsOyBpKysgKSB7DQoJCQkJaWYgKCBieUVsZW1lbnQgJiYgZWxlbSApIHsNCgkJCQkJaiA9IDA7DQoJCQkJCWlmICggIWNvbnRleHQgJiYgZWxlbS5vd25lckRvY3VtZW50ICE9PSBkb2N1bWVudCApIHsNCgkJCQkJCXNldERvY3VtZW50KCBlbGVtICk7DQoJCQkJCQl4bWwgPSAhZG9jdW1lbnRJc0hUTUw7DQoJCQkJCX0NCgkJCQkJd2hpbGUgKCAobWF0Y2hlciA9IGVsZW1lbnRNYXRjaGVyc1tqKytdKSApIHsNCgkJCQkJCWlmICggbWF0Y2hlciggZWxlbSwgY29udGV4dCB8fCBkb2N1bWVudCwgeG1sKSApIHsNCgkJCQkJCQlyZXN1bHRzLnB1c2goIGVsZW0gKTsNCgkJCQkJCQlicmVhazsNCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCQlpZiAoIG91dGVybW9zdCApIHsNCgkJCQkJCWRpcnJ1bnMgPSBkaXJydW5zVW5pcXVlOw0KCQkJCQl9DQoJCQkJfQ0KDQoJCQkJLy8gVHJhY2sgdW5tYXRjaGVkIGVsZW1lbnRzIGZvciBzZXQgZmlsdGVycw0KCQkJCWlmICggYnlTZXQgKSB7DQoJCQkJCS8vIFRoZXkgd2lsbCBoYXZlIGdvbmUgdGhyb3VnaCBhbGwgcG9zc2libGUgbWF0Y2hlcnMNCgkJCQkJaWYgKCAoZWxlbSA9ICFtYXRjaGVyICYmIGVsZW0pICkgew0KCQkJCQkJbWF0Y2hlZENvdW50LS07DQoJCQkJCX0NCg0KCQkJCQkvLyBMZW5ndGhlbiB0aGUgYXJyYXkgZm9yIGV2ZXJ5IGVsZW1lbnQsIG1hdGNoZWQgb3Igbm90DQoJCQkJCWlmICggc2VlZCApIHsNCgkJCQkJCXVubWF0Y2hlZC5wdXNoKCBlbGVtICk7DQoJCQkJCX0NCgkJCQl9DQoJCQl9DQoNCgkJCS8vIGBpYCBpcyBub3cgdGhlIGNvdW50IG9mIGVsZW1lbnRzIHZpc2l0ZWQgYWJvdmUsIGFuZCBhZGRpbmcgaXQgdG8gYG1hdGNoZWRDb3VudGANCgkJCS8vIG1ha2VzIHRoZSBsYXR0ZXIgbm9ubmVnYXRpdmUuDQoJCQltYXRjaGVkQ291bnQgKz0gaTsNCg0KCQkJLy8gQXBwbHkgc2V0IGZpbHRlcnMgdG8gdW5tYXRjaGVkIGVsZW1lbnRzDQoJCQkvLyBOT1RFOiBUaGlzIGNhbiBiZSBza2lwcGVkIGlmIHRoZXJlIGFyZSBubyB1bm1hdGNoZWQgZWxlbWVudHMgKGkuZS4sIGBtYXRjaGVkQ291bnRgDQoJCQkvLyBlcXVhbHMgYGlgKSwgdW5sZXNzIHdlIGRpZG4ndCB2aXNpdCBfYW55XyBlbGVtZW50cyBpbiB0aGUgYWJvdmUgbG9vcCBiZWNhdXNlIHdlIGhhdmUNCgkJCS8vIG5vIGVsZW1lbnQgbWF0Y2hlcnMgYW5kIG5vIHNlZWQuDQoJCQkvLyBJbmNyZW1lbnRpbmcgYW4gaW5pdGlhbGx5LXN0cmluZyAiMCIgYGlgIGFsbG93cyBgaWAgdG8gcmVtYWluIGEgc3RyaW5nIG9ubHkgaW4gdGhhdA0KCQkJLy8gY2FzZSwgd2hpY2ggd2lsbCByZXN1bHQgaW4gYSAiMDAiIGBtYXRjaGVkQ291bnRgIHRoYXQgZGlmZmVycyBmcm9tIGBpYCBidXQgaXMgYWxzbw0KCQkJLy8gbnVtZXJpY2FsbHkgemVyby4NCgkJCWlmICggYnlTZXQgJiYgaSAhPT0gbWF0Y2hlZENvdW50ICkgew0KCQkJCWogPSAwOw0KCQkJCXdoaWxlICggKG1hdGNoZXIgPSBzZXRNYXRjaGVyc1tqKytdKSApIHsNCgkJCQkJbWF0Y2hlciggdW5tYXRjaGVkLCBzZXRNYXRjaGVkLCBjb250ZXh0LCB4bWwgKTsNCgkJCQl9DQoNCgkJCQlpZiAoIHNlZWQgKSB7DQoJCQkJCS8vIFJlaW50ZWdyYXRlIGVsZW1lbnQgbWF0Y2hlcyB0byBlbGltaW5hdGUgdGhlIG5lZWQgZm9yIHNvcnRpbmcNCgkJCQkJaWYgKCBtYXRjaGVkQ291bnQgPiAwICkgew0KCQkJCQkJd2hpbGUgKCBpLS0gKSB7DQoJCQkJCQkJaWYgKCAhKHVubWF0Y2hlZFtpXSB8fCBzZXRNYXRjaGVkW2ldKSApIHsNCgkJCQkJCQkJc2V0TWF0Y2hlZFtpXSA9IHBvcC5jYWxsKCByZXN1bHRzICk7DQoJCQkJCQkJfQ0KCQkJCQkJfQ0KCQkJCQl9DQoNCgkJCQkJLy8gRGlzY2FyZCBpbmRleCBwbGFjZWhvbGRlciB2YWx1ZXMgdG8gZ2V0IG9ubHkgYWN0dWFsIG1hdGNoZXMNCgkJCQkJc2V0TWF0Y2hlZCA9IGNvbmRlbnNlKCBzZXRNYXRjaGVkICk7DQoJCQkJfQ0KDQoJCQkJLy8gQWRkIG1hdGNoZXMgdG8gcmVzdWx0cw0KCQkJCXB1c2guYXBwbHkoIHJlc3VsdHMsIHNldE1hdGNoZWQgKTsNCg0KCQkJCS8vIFNlZWRsZXNzIHNldCBtYXRjaGVzIHN1Y2NlZWRpbmcgbXVsdGlwbGUgc3VjY2Vzc2Z1bCBtYXRjaGVycyBzdGlwdWxhdGUgc29ydGluZw0KCQkJCWlmICggb3V0ZXJtb3N0ICYmICFzZWVkICYmIHNldE1hdGNoZWQubGVuZ3RoID4gMCAmJg0KCQkJCQkoIG1hdGNoZWRDb3VudCArIHNldE1hdGNoZXJzLmxlbmd0aCApID4gMSApIHsNCg0KCQkJCQlTaXp6bGUudW5pcXVlU29ydCggcmVzdWx0cyApOw0KCQkJCX0NCgkJCX0NCg0KCQkJLy8gT3ZlcnJpZGUgbWFuaXB1bGF0aW9uIG9mIGdsb2JhbHMgYnkgbmVzdGVkIG1hdGNoZXJzDQoJCQlpZiAoIG91dGVybW9zdCApIHsNCgkJCQlkaXJydW5zID0gZGlycnVuc1VuaXF1ZTsNCgkJCQlvdXRlcm1vc3RDb250ZXh0ID0gY29udGV4dEJhY2t1cDsNCgkJCX0NCg0KCQkJcmV0dXJuIHVubWF0Y2hlZDsNCgkJfTsNCg0KCXJldHVybiBieVNldCA/DQoJCW1hcmtGdW5jdGlvbiggc3VwZXJNYXRjaGVyICkgOg0KCQlzdXBlck1hdGNoZXI7DQp9DQoNCmNvbXBpbGUgPSBTaXp6bGUuY29tcGlsZSA9IGZ1bmN0aW9uKCBzZWxlY3RvciwgbWF0Y2ggLyogSW50ZXJuYWwgVXNlIE9ubHkgKi8gKSB7DQoJdmFyIGksDQoJCXNldE1hdGNoZXJzID0gW10sDQoJCWVsZW1lbnRNYXRjaGVycyA9IFtdLA0KCQljYWNoZWQgPSBjb21waWxlckNhY2hlWyBzZWxlY3RvciArICIgIiBdOw0KDQoJaWYgKCAhY2FjaGVkICkgew0KCQkvLyBHZW5lcmF0ZSBhIGZ1bmN0aW9uIG9mIHJlY3Vyc2l2ZSBmdW5jdGlvbnMgdGhhdCBjYW4gYmUgdXNlZCB0byBjaGVjayBlYWNoIGVsZW1lbnQNCgkJaWYgKCAhbWF0Y2ggKSB7DQoJCQltYXRjaCA9IHRva2VuaXplKCBzZWxlY3RvciApOw0KCQl9DQoJCWkgPSBtYXRjaC5sZW5ndGg7DQoJCXdoaWxlICggaS0tICkgew0KCQkJY2FjaGVkID0gbWF0Y2hlckZyb21Ub2tlbnMoIG1hdGNoW2ldICk7DQoJCQlpZiAoIGNhY2hlZFsgZXhwYW5kbyBdICkgew0KCQkJCXNldE1hdGNoZXJzLnB1c2goIGNhY2hlZCApOw0KCQkJfSBlbHNlIHsNCgkJCQllbGVtZW50TWF0Y2hlcnMucHVzaCggY2FjaGVkICk7DQoJCQl9DQoJCX0NCg0KCQkvLyBDYWNoZSB0aGUgY29tcGlsZWQgZnVuY3Rpb24NCgkJY2FjaGVkID0gY29tcGlsZXJDYWNoZSggc2VsZWN0b3IsIG1hdGNoZXJGcm9tR3JvdXBNYXRjaGVycyggZWxlbWVudE1hdGNoZXJzLCBzZXRNYXRjaGVycyApICk7DQoNCgkJLy8gU2F2ZSBzZWxlY3RvciBhbmQgdG9rZW5pemF0aW9uDQoJCWNhY2hlZC5zZWxlY3RvciA9IHNlbGVjdG9yOw0KCX0NCglyZXR1cm4gY2FjaGVkOw0KfTsNCg0KLyoqDQogKiBBIGxvdy1sZXZlbCBzZWxlY3Rpb24gZnVuY3Rpb24gdGhhdCB3b3JrcyB3aXRoIFNpenpsZSdzIGNvbXBpbGVkDQogKiAgc2VsZWN0b3IgZnVuY3Rpb25zDQogKiBAcGFyYW0ge1N0cmluZ3xGdW5jdGlvbn0gc2VsZWN0b3IgQSBzZWxlY3RvciBvciBhIHByZS1jb21waWxlZA0KICogIHNlbGVjdG9yIGZ1bmN0aW9uIGJ1aWx0IHdpdGggU2l6emxlLmNvbXBpbGUNCiAqIEBwYXJhbSB7RWxlbWVudH0gY29udGV4dA0KICogQHBhcmFtIHtBcnJheX0gW3Jlc3VsdHNdDQogKiBAcGFyYW0ge0FycmF5fSBbc2VlZF0gQSBzZXQgb2YgZWxlbWVudHMgdG8gbWF0Y2ggYWdhaW5zdA0KICovDQpzZWxlY3QgPSBTaXp6bGUuc2VsZWN0ID0gZnVuY3Rpb24oIHNlbGVjdG9yLCBjb250ZXh0LCByZXN1bHRzLCBzZWVkICkgew0KCXZhciBpLCB0b2tlbnMsIHRva2VuLCB0eXBlLCBmaW5kLA0KCQljb21waWxlZCA9IHR5cGVvZiBzZWxlY3RvciA9PT0gImZ1bmN0aW9uIiAmJiBzZWxlY3RvciwNCgkJbWF0Y2ggPSAhc2VlZCAmJiB0b2tlbml6ZSggKHNlbGVjdG9yID0gY29tcGlsZWQuc2VsZWN0b3IgfHwgc2VsZWN0b3IpICk7DQoNCglyZXN1bHRzID0gcmVzdWx0cyB8fCBbXTsNCg0KCS8vIFRyeSB0byBtaW5pbWl6ZSBvcGVyYXRpb25zIGlmIHRoZXJlIGlzIG9ubHkgb25lIHNlbGVjdG9yIGluIHRoZSBsaXN0IGFuZCBubyBzZWVkDQoJLy8gKHRoZSBsYXR0ZXIgb2Ygd2hpY2ggZ3VhcmFudGVlcyB1cyBjb250ZXh0KQ0KCWlmICggbWF0Y2gubGVuZ3RoID09PSAxICkgew0KDQoJCS8vIFJlZHVjZSBjb250ZXh0IGlmIHRoZSBsZWFkaW5nIGNvbXBvdW5kIHNlbGVjdG9yIGlzIGFuIElEDQoJCXRva2VucyA9IG1hdGNoWzBdID0gbWF0Y2hbMF0uc2xpY2UoIDAgKTsNCgkJaWYgKCB0b2tlbnMubGVuZ3RoID4gMiAmJiAodG9rZW4gPSB0b2tlbnNbMF0pLnR5cGUgPT09ICJJRCIgJiYNCgkJCQljb250ZXh0Lm5vZGVUeXBlID09PSA5ICYmIGRvY3VtZW50SXNIVE1MICYmIEV4cHIucmVsYXRpdmVbIHRva2Vuc1sxXS50eXBlIF0gKSB7DQoNCgkJCWNvbnRleHQgPSAoIEV4cHIuZmluZFsiSUQiXSggdG9rZW4ubWF0Y2hlc1swXS5yZXBsYWNlKHJ1bmVzY2FwZSwgZnVuZXNjYXBlKSwgY29udGV4dCApIHx8IFtdIClbMF07DQoJCQlpZiAoICFjb250ZXh0ICkgew0KCQkJCXJldHVybiByZXN1bHRzOw0KDQoJCQkvLyBQcmVjb21waWxlZCBtYXRjaGVycyB3aWxsIHN0aWxsIHZlcmlmeSBhbmNlc3RyeSwgc28gc3RlcCB1cCBhIGxldmVsDQoJCQl9IGVsc2UgaWYgKCBjb21waWxlZCApIHsNCgkJCQljb250ZXh0ID0gY29udGV4dC5wYXJlbnROb2RlOw0KCQkJfQ0KDQoJCQlzZWxlY3RvciA9IHNlbGVjdG9yLnNsaWNlKCB0b2tlbnMuc2hpZnQoKS52YWx1ZS5sZW5ndGggKTsNCgkJfQ0KDQoJCS8vIEZldGNoIGEgc2VlZCBzZXQgZm9yIHJpZ2h0LXRvLWxlZnQgbWF0Y2hpbmcNCgkJaSA9IG1hdGNoRXhwclsibmVlZHNDb250ZXh0Il0udGVzdCggc2VsZWN0b3IgKSA/IDAgOiB0b2tlbnMubGVuZ3RoOw0KCQl3aGlsZSAoIGktLSApIHsNCgkJCXRva2VuID0gdG9rZW5zW2ldOw0KDQoJCQkvLyBBYm9ydCBpZiB3ZSBoaXQgYSBjb21iaW5hdG9yDQoJCQlpZiAoIEV4cHIucmVsYXRpdmVbICh0eXBlID0gdG9rZW4udHlwZSkgXSApIHsNCgkJCQlicmVhazsNCgkJCX0NCgkJCWlmICggKGZpbmQgPSBFeHByLmZpbmRbIHR5cGUgXSkgKSB7DQoJCQkJLy8gU2VhcmNoLCBleHBhbmRpbmcgY29udGV4dCBmb3IgbGVhZGluZyBzaWJsaW5nIGNvbWJpbmF0b3JzDQoJCQkJaWYgKCAoc2VlZCA9IGZpbmQoDQoJCQkJCXRva2VuLm1hdGNoZXNbMF0ucmVwbGFjZSggcnVuZXNjYXBlLCBmdW5lc2NhcGUgKSwNCgkJCQkJcnNpYmxpbmcudGVzdCggdG9rZW5zWzBdLnR5cGUgKSAmJiB0ZXN0Q29udGV4dCggY29udGV4dC5wYXJlbnROb2RlICkgfHwgY29udGV4dA0KCQkJCSkpICkgew0KDQoJCQkJCS8vIElmIHNlZWQgaXMgZW1wdHkgb3Igbm8gdG9rZW5zIHJlbWFpbiwgd2UgY2FuIHJldHVybiBlYXJseQ0KCQkJCQl0b2tlbnMuc3BsaWNlKCBpLCAxICk7DQoJCQkJCXNlbGVjdG9yID0gc2VlZC5sZW5ndGggJiYgdG9TZWxlY3RvciggdG9rZW5zICk7DQoJCQkJCWlmICggIXNlbGVjdG9yICkgew0KCQkJCQkJcHVzaC5hcHBseSggcmVzdWx0cywgc2VlZCApOw0KCQkJCQkJcmV0dXJuIHJlc3VsdHM7DQoJCQkJCX0NCg0KCQkJCQlicmVhazsNCgkJCQl9DQoJCQl9DQoJCX0NCgl9DQoNCgkvLyBDb21waWxlIGFuZCBleGVjdXRlIGEgZmlsdGVyaW5nIGZ1bmN0aW9uIGlmIG9uZSBpcyBub3QgcHJvdmlkZWQNCgkvLyBQcm92aWRlIGBtYXRjaGAgdG8gYXZvaWQgcmV0b2tlbml6YXRpb24gaWYgd2UgbW9kaWZpZWQgdGhlIHNlbGVjdG9yIGFib3ZlDQoJKCBjb21waWxlZCB8fCBjb21waWxlKCBzZWxlY3RvciwgbWF0Y2ggKSApKA0KCQlzZWVkLA0KCQljb250ZXh0LA0KCQkhZG9jdW1lbnRJc0hUTUwsDQoJCXJlc3VsdHMsDQoJCSFjb250ZXh0IHx8IHJzaWJsaW5nLnRlc3QoIHNlbGVjdG9yICkgJiYgdGVzdENvbnRleHQoIGNvbnRleHQucGFyZW50Tm9kZSApIHx8IGNvbnRleHQNCgkpOw0KCXJldHVybiByZXN1bHRzOw0KfTsNCg0KLy8gT25lLXRpbWUgYXNzaWdubWVudHMNCg0KLy8gU29ydCBzdGFiaWxpdHkNCnN1cHBvcnQuc29ydFN0YWJsZSA9IGV4cGFuZG8uc3BsaXQoIiIpLnNvcnQoIHNvcnRPcmRlciApLmpvaW4oIiIpID09PSBleHBhbmRvOw0KDQovLyBTdXBwb3J0OiBDaHJvbWUgMTQtMzUrDQovLyBBbHdheXMgYXNzdW1lIGR1cGxpY2F0ZXMgaWYgdGhleSBhcmVuJ3QgcGFzc2VkIHRvIHRoZSBjb21wYXJpc29uIGZ1bmN0aW9uDQpzdXBwb3J0LmRldGVjdER1cGxpY2F0ZXMgPSAhIWhhc0R1cGxpY2F0ZTsNCg0KLy8gSW5pdGlhbGl6ZSBhZ2FpbnN0IHRoZSBkZWZhdWx0IGRvY3VtZW50DQpzZXREb2N1bWVudCgpOw0KDQovLyBTdXBwb3J0OiBXZWJraXQ8NTM3LjMyIC0gU2FmYXJpIDYuMC4zL0Nocm9tZSAyNSAoZml4ZWQgaW4gQ2hyb21lIDI3KQ0KLy8gRGV0YWNoZWQgbm9kZXMgY29uZm91bmRpbmdseSBmb2xsb3cgKmVhY2ggb3RoZXIqDQpzdXBwb3J0LnNvcnREZXRhY2hlZCA9IGFzc2VydChmdW5jdGlvbiggZWwgKSB7DQoJLy8gU2hvdWxkIHJldHVybiAxLCBidXQgcmV0dXJucyA0IChmb2xsb3dpbmcpDQoJcmV0dXJuIGVsLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKCBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJmaWVsZHNldCIpICkgJiAxOw0KfSk7DQoNCi8vIFN1cHBvcnQ6IElFPDgNCi8vIFByZXZlbnQgYXR0cmlidXRlL3Byb3BlcnR5ICJpbnRlcnBvbGF0aW9uIg0KLy8gaHR0cHM6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9tczUzNjQyOSUyOFZTLjg1JTI5LmFzcHgNCmlmICggIWFzc2VydChmdW5jdGlvbiggZWwgKSB7DQoJZWwuaW5uZXJIVE1MID0gIjxhIGhyZWY9JyMnPjwvYT4iOw0KCXJldHVybiBlbC5maXJzdENoaWxkLmdldEF0dHJpYnV0ZSgiaHJlZiIpID09PSAiIyIgOw0KfSkgKSB7DQoJYWRkSGFuZGxlKCAidHlwZXxocmVmfGhlaWdodHx3aWR0aCIsIGZ1bmN0aW9uKCBlbGVtLCBuYW1lLCBpc1hNTCApIHsNCgkJaWYgKCAhaXNYTUwgKSB7DQoJCQlyZXR1cm4gZWxlbS5nZXRBdHRyaWJ1dGUoIG5hbWUsIG5hbWUudG9Mb3dlckNhc2UoKSA9PT0gInR5cGUiID8gMSA6IDIgKTsNCgkJfQ0KCX0pOw0KfQ0KDQovLyBTdXBwb3J0OiBJRTw5DQovLyBVc2UgZGVmYXVsdFZhbHVlIGluIHBsYWNlIG9mIGdldEF0dHJpYnV0ZSgidmFsdWUiKQ0KaWYgKCAhc3VwcG9ydC5hdHRyaWJ1dGVzIHx8ICFhc3NlcnQoZnVuY3Rpb24oIGVsICkgew0KCWVsLmlubmVySFRNTCA9ICI8aW5wdXQvPiI7DQoJZWwuZmlyc3RDaGlsZC5zZXRBdHRyaWJ1dGUoICJ2YWx1ZSIsICIiICk7DQoJcmV0dXJuIGVsLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCAidmFsdWUiICkgPT09ICIiOw0KfSkgKSB7DQoJYWRkSGFuZGxlKCAidmFsdWUiLCBmdW5jdGlvbiggZWxlbSwgbmFtZSwgaXNYTUwgKSB7DQoJCWlmICggIWlzWE1MICYmIGVsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gImlucHV0IiApIHsNCgkJCXJldHVybiBlbGVtLmRlZmF1bHRWYWx1ZTsNCgkJfQ0KCX0pOw0KfQ0KDQovLyBTdXBwb3J0OiBJRTw5DQovLyBVc2UgZ2V0QXR0cmlidXRlTm9kZSB0byBmZXRjaCBib29sZWFucyB3aGVuIGdldEF0dHJpYnV0ZSBsaWVzDQppZiAoICFhc3NlcnQoZnVuY3Rpb24oIGVsICkgew0KCXJldHVybiBlbC5nZXRBdHRyaWJ1dGUoImRpc2FibGVkIikgPT0gbnVsbDsNCn0pICkgew0KCWFkZEhhbmRsZSggYm9vbGVhbnMsIGZ1bmN0aW9uKCBlbGVtLCBuYW1lLCBpc1hNTCApIHsNCgkJdmFyIHZhbDsNCgkJaWYgKCAhaXNYTUwgKSB7DQoJCQlyZXR1cm4gZWxlbVsgbmFtZSBdID09PSB0cnVlID8gbmFtZS50b0xvd2VyQ2FzZSgpIDoNCgkJCQkJKHZhbCA9IGVsZW0uZ2V0QXR0cmlidXRlTm9kZSggbmFtZSApKSAmJiB2YWwuc3BlY2lmaWVkID8NCgkJCQkJdmFsLnZhbHVlIDoNCgkJCQludWxsOw0KCQl9DQoJfSk7DQp9DQoNCnJldHVybiBTaXp6bGU7DQoNCn0pKCB3aW5kb3cgKTsNCg0KDQoNCmpRdWVyeS5maW5kID0gU2l6emxlOw0KalF1ZXJ5LmV4cHIgPSBTaXp6bGUuc2VsZWN0b3JzOw0KDQovLyBEZXByZWNhdGVkDQpqUXVlcnkuZXhwclsgIjoiIF0gPSBqUXVlcnkuZXhwci5wc2V1ZG9zOw0KalF1ZXJ5LnVuaXF1ZVNvcnQgPSBqUXVlcnkudW5pcXVlID0gU2l6emxlLnVuaXF1ZVNvcnQ7DQpqUXVlcnkudGV4dCA9IFNpenpsZS5nZXRUZXh0Ow0KalF1ZXJ5LmlzWE1MRG9jID0gU2l6emxlLmlzWE1MOw0KalF1ZXJ5LmNvbnRhaW5zID0gU2l6emxlLmNvbnRhaW5zOw0KalF1ZXJ5LmVzY2FwZVNlbGVjdG9yID0gU2l6emxlLmVzY2FwZTsNCg0KDQoNCg0KdmFyIGRpciA9IGZ1bmN0aW9uKCBlbGVtLCBkaXIsIHVudGlsICkgew0KCXZhciBtYXRjaGVkID0gW10sDQoJCXRydW5jYXRlID0gdW50aWwgIT09IHVuZGVmaW5lZDsNCg0KCXdoaWxlICggKCBlbGVtID0gZWxlbVsgZGlyIF0gKSAmJiBlbGVtLm5vZGVUeXBlICE9PSA5ICkgew0KCQlpZiAoIGVsZW0ubm9kZVR5cGUgPT09IDEgKSB7DQoJCQlpZiAoIHRydW5jYXRlICYmIGpRdWVyeSggZWxlbSApLmlzKCB1bnRpbCApICkgew0KCQkJCWJyZWFrOw0KCQkJfQ0KCQkJbWF0Y2hlZC5wdXNoKCBlbGVtICk7DQoJCX0NCgl9DQoJcmV0dXJuIG1hdGNoZWQ7DQp9Ow0KDQoNCnZhciBzaWJsaW5ncyA9IGZ1bmN0aW9uKCBuLCBlbGVtICkgew0KCXZhciBtYXRjaGVkID0gW107DQoNCglmb3IgKCA7IG47IG4gPSBuLm5leHRTaWJsaW5nICkgew0KCQlpZiAoIG4ubm9kZVR5cGUgPT09IDEgJiYgbiAhPT0gZWxlbSApIHsNCgkJCW1hdGNoZWQucHVzaCggbiApOw0KCQl9DQoJfQ0KDQoJcmV0dXJuIG1hdGNoZWQ7DQp9Ow0KDQoNCnZhciBybmVlZHNDb250ZXh0ID0galF1ZXJ5LmV4cHIubWF0Y2gubmVlZHNDb250ZXh0Ow0KDQoNCg0KZnVuY3Rpb24gbm9kZU5hbWUoIGVsZW0sIG5hbWUgKSB7DQoNCiAgcmV0dXJuIGVsZW0ubm9kZU5hbWUgJiYgZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSBuYW1lLnRvTG93ZXJDYXNlKCk7DQoNCn07DQp2YXIgcnNpbmdsZVRhZyA9ICggL148KFthLXpdW15cL1wwPjpceDIwXHRcclxuXGZdKilbXHgyMFx0XHJcblxmXSpcLz8+KD86PFwvXDE+fCkkL2kgKTsNCg0KDQoNCi8vIEltcGxlbWVudCB0aGUgaWRlbnRpY2FsIGZ1bmN0aW9uYWxpdHkgZm9yIGZpbHRlciBhbmQgbm90DQpmdW5jdGlvbiB3aW5ub3coIGVsZW1lbnRzLCBxdWFsaWZpZXIsIG5vdCApIHsNCglpZiAoIGlzRnVuY3Rpb24oIHF1YWxpZmllciApICkgew0KCQlyZXR1cm4galF1ZXJ5LmdyZXAoIGVsZW1lbnRzLCBmdW5jdGlvbiggZWxlbSwgaSApIHsNCgkJCXJldHVybiAhIXF1YWxpZmllci5jYWxsKCBlbGVtLCBpLCBlbGVtICkgIT09IG5vdDsNCgkJfSApOw0KCX0NCg0KCS8vIFNpbmdsZSBlbGVtZW50DQoJaWYgKCBxdWFsaWZpZXIubm9kZVR5cGUgKSB7DQoJCXJldHVybiBqUXVlcnkuZ3JlcCggZWxlbWVudHMsIGZ1bmN0aW9uKCBlbGVtICkgew0KCQkJcmV0dXJuICggZWxlbSA9PT0gcXVhbGlmaWVyICkgIT09IG5vdDsNCgkJfSApOw0KCX0NCg0KCS8vIEFycmF5bGlrZSBvZiBlbGVtZW50cyAoalF1ZXJ5LCBhcmd1bWVudHMsIEFycmF5KQ0KCWlmICggdHlwZW9mIHF1YWxpZmllciAhPT0gInN0cmluZyIgKSB7DQoJCXJldHVybiBqUXVlcnkuZ3JlcCggZWxlbWVudHMsIGZ1bmN0aW9uKCBlbGVtICkgew0KCQkJcmV0dXJuICggaW5kZXhPZi5jYWxsKCBxdWFsaWZpZXIsIGVsZW0gKSA+IC0xICkgIT09IG5vdDsNCgkJfSApOw0KCX0NCg0KCS8vIEZpbHRlcmVkIGRpcmVjdGx5IGZvciBib3RoIHNpbXBsZSBhbmQgY29tcGxleCBzZWxlY3RvcnMNCglyZXR1cm4galF1ZXJ5LmZpbHRlciggcXVhbGlmaWVyLCBlbGVtZW50cywgbm90ICk7DQp9DQoNCmpRdWVyeS5maWx0ZXIgPSBmdW5jdGlvbiggZXhwciwgZWxlbXMsIG5vdCApIHsNCgl2YXIgZWxlbSA9IGVsZW1zWyAwIF07DQoNCglpZiAoIG5vdCApIHsNCgkJZXhwciA9ICI6bm90KCIgKyBleHByICsgIikiOw0KCX0NCg0KCWlmICggZWxlbXMubGVuZ3RoID09PSAxICYmIGVsZW0ubm9kZVR5cGUgPT09IDEgKSB7DQoJCXJldHVybiBqUXVlcnkuZmluZC5tYXRjaGVzU2VsZWN0b3IoIGVsZW0sIGV4cHIgKSA/IFsgZWxlbSBdIDogW107DQoJfQ0KDQoJcmV0dXJuIGpRdWVyeS5maW5kLm1hdGNoZXMoIGV4cHIsIGpRdWVyeS5ncmVwKCBlbGVtcywgZnVuY3Rpb24oIGVsZW0gKSB7DQoJCXJldHVybiBlbGVtLm5vZGVUeXBlID09PSAxOw0KCX0gKSApOw0KfTsNCg0KalF1ZXJ5LmZuLmV4dGVuZCggew0KCWZpbmQ6IGZ1bmN0aW9uKCBzZWxlY3RvciApIHsNCgkJdmFyIGksIHJldCwNCgkJCWxlbiA9IHRoaXMubGVuZ3RoLA0KCQkJc2VsZiA9IHRoaXM7DQoNCgkJaWYgKCB0eXBlb2Ygc2VsZWN0b3IgIT09ICJzdHJpbmciICkgew0KCQkJcmV0dXJuIHRoaXMucHVzaFN0YWNrKCBqUXVlcnkoIHNlbGVjdG9yICkuZmlsdGVyKCBmdW5jdGlvbigpIHsNCgkJCQlmb3IgKCBpID0gMDsgaSA8IGxlbjsgaSsrICkgew0KCQkJCQlpZiAoIGpRdWVyeS5jb250YWlucyggc2VsZlsgaSBdLCB0aGlzICkgKSB7DQoJCQkJCQlyZXR1cm4gdHJ1ZTsNCgkJCQkJfQ0KCQkJCX0NCgkJCX0gKSApOw0KCQl9DQoNCgkJcmV0ID0gdGhpcy5wdXNoU3RhY2soIFtdICk7DQoNCgkJZm9yICggaSA9IDA7IGkgPCBsZW47IGkrKyApIHsNCgkJCWpRdWVyeS5maW5kKCBzZWxlY3Rvciwgc2VsZlsgaSBdLCByZXQgKTsNCgkJfQ0KDQoJCXJldHVybiBsZW4gPiAxID8galF1ZXJ5LnVuaXF1ZVNvcnQoIHJldCApIDogcmV0Ow0KCX0sDQoJZmlsdGVyOiBmdW5jdGlvbiggc2VsZWN0b3IgKSB7DQoJCXJldHVybiB0aGlzLnB1c2hTdGFjayggd2lubm93KCB0aGlzLCBzZWxlY3RvciB8fCBbXSwgZmFsc2UgKSApOw0KCX0sDQoJbm90OiBmdW5jdGlvbiggc2VsZWN0b3IgKSB7DQoJCXJldHVybiB0aGlzLnB1c2hTdGFjayggd2lubm93KCB0aGlzLCBzZWxlY3RvciB8fCBbXSwgdHJ1ZSApICk7DQoJfSwNCglpczogZnVuY3Rpb24oIHNlbGVjdG9yICkgew0KCQlyZXR1cm4gISF3aW5ub3coDQoJCQl0aGlzLA0KDQoJCQkvLyBJZiB0aGlzIGlzIGEgcG9zaXRpb25hbC9yZWxhdGl2ZSBzZWxlY3RvciwgY2hlY2sgbWVtYmVyc2hpcCBpbiB0aGUgcmV0dXJuZWQgc2V0DQoJCQkvLyBzbyAkKCJwOmZpcnN0IikuaXMoInA6bGFzdCIpIHdvbid0IHJldHVybiB0cnVlIGZvciBhIGRvYyB3aXRoIHR3byAicCIuDQoJCQl0eXBlb2Ygc2VsZWN0b3IgPT09ICJzdHJpbmciICYmIHJuZWVkc0NvbnRleHQudGVzdCggc2VsZWN0b3IgKSA/DQoJCQkJalF1ZXJ5KCBzZWxlY3RvciApIDoNCgkJCQlzZWxlY3RvciB8fCBbXSwNCgkJCWZhbHNlDQoJCSkubGVuZ3RoOw0KCX0NCn0gKTsNCg0KDQovLyBJbml0aWFsaXplIGEgalF1ZXJ5IG9iamVjdA0KDQoNCi8vIEEgY2VudHJhbCByZWZlcmVuY2UgdG8gdGhlIHJvb3QgalF1ZXJ5KGRvY3VtZW50KQ0KdmFyIHJvb3RqUXVlcnksDQoNCgkvLyBBIHNpbXBsZSB3YXkgdG8gY2hlY2sgZm9yIEhUTUwgc3RyaW5ncw0KCS8vIFByaW9yaXRpemUgI2lkIG92ZXIgPHRhZz4gdG8gYXZvaWQgWFNTIHZpYSBsb2NhdGlvbi5oYXNoICgjOTUyMSkNCgkvLyBTdHJpY3QgSFRNTCByZWNvZ25pdGlvbiAoIzExMjkwOiBtdXN0IHN0YXJ0IHdpdGggPCkNCgkvLyBTaG9ydGN1dCBzaW1wbGUgI2lkIGNhc2UgZm9yIHNwZWVkDQoJcnF1aWNrRXhwciA9IC9eKD86XHMqKDxbXHdcV10rPilbXj5dKnwjKFtcdy1dKykpJC8sDQoNCglpbml0ID0galF1ZXJ5LmZuLmluaXQgPSBmdW5jdGlvbiggc2VsZWN0b3IsIGNvbnRleHQsIHJvb3QgKSB7DQoJCXZhciBtYXRjaCwgZWxlbTsNCg0KCQkvLyBIQU5ETEU6ICQoIiIpLCAkKG51bGwpLCAkKHVuZGVmaW5lZCksICQoZmFsc2UpDQoJCWlmICggIXNlbGVjdG9yICkgew0KCQkJcmV0dXJuIHRoaXM7DQoJCX0NCg0KCQkvLyBNZXRob2QgaW5pdCgpIGFjY2VwdHMgYW4gYWx0ZXJuYXRlIHJvb3RqUXVlcnkNCgkJLy8gc28gbWlncmF0ZSBjYW4gc3VwcG9ydCBqUXVlcnkuc3ViIChnaC0yMTAxKQ0KCQlyb290ID0gcm9vdCB8fCByb290alF1ZXJ5Ow0KDQoJCS8vIEhhbmRsZSBIVE1MIHN0cmluZ3MNCgkJaWYgKCB0eXBlb2Ygc2VsZWN0b3IgPT09ICJzdHJpbmciICkgew0KCQkJaWYgKCBzZWxlY3RvclsgMCBdID09PSAiPCIgJiYNCgkJCQlzZWxlY3Rvclsgc2VsZWN0b3IubGVuZ3RoIC0gMSBdID09PSAiPiIgJiYNCgkJCQlzZWxlY3Rvci5sZW5ndGggPj0gMyApIHsNCg0KCQkJCS8vIEFzc3VtZSB0aGF0IHN0cmluZ3MgdGhhdCBzdGFydCBhbmQgZW5kIHdpdGggPD4gYXJlIEhUTUwgYW5kIHNraXAgdGhlIHJlZ2V4IGNoZWNrDQoJCQkJbWF0Y2ggPSBbIG51bGwsIHNlbGVjdG9yLCBudWxsIF07DQoNCgkJCX0gZWxzZSB7DQoJCQkJbWF0Y2ggPSBycXVpY2tFeHByLmV4ZWMoIHNlbGVjdG9yICk7DQoJCQl9DQoNCgkJCS8vIE1hdGNoIGh0bWwgb3IgbWFrZSBzdXJlIG5vIGNvbnRleHQgaXMgc3BlY2lmaWVkIGZvciAjaWQNCgkJCWlmICggbWF0Y2ggJiYgKCBtYXRjaFsgMSBdIHx8ICFjb250ZXh0ICkgKSB7DQoNCgkJCQkvLyBIQU5ETEU6ICQoaHRtbCkgLT4gJChhcnJheSkNCgkJCQlpZiAoIG1hdGNoWyAxIF0gKSB7DQoJCQkJCWNvbnRleHQgPSBjb250ZXh0IGluc3RhbmNlb2YgalF1ZXJ5ID8gY29udGV4dFsgMCBdIDogY29udGV4dDsNCg0KCQkJCQkvLyBPcHRpb24gdG8gcnVuIHNjcmlwdHMgaXMgdHJ1ZSBmb3IgYmFjay1jb21wYXQNCgkJCQkJLy8gSW50ZW50aW9uYWxseSBsZXQgdGhlIGVycm9yIGJlIHRocm93biBpZiBwYXJzZUhUTUwgaXMgbm90IHByZXNlbnQNCgkJCQkJalF1ZXJ5Lm1lcmdlKCB0aGlzLCBqUXVlcnkucGFyc2VIVE1MKA0KCQkJCQkJbWF0Y2hbIDEgXSwNCgkJCQkJCWNvbnRleHQgJiYgY29udGV4dC5ub2RlVHlwZSA/IGNvbnRleHQub3duZXJEb2N1bWVudCB8fCBjb250ZXh0IDogZG9jdW1lbnQsDQoJCQkJCQl0cnVlDQoJCQkJCSkgKTsNCg0KCQkJCQkvLyBIQU5ETEU6ICQoaHRtbCwgcHJvcHMpDQoJCQkJCWlmICggcnNpbmdsZVRhZy50ZXN0KCBtYXRjaFsgMSBdICkgJiYgalF1ZXJ5LmlzUGxhaW5PYmplY3QoIGNvbnRleHQgKSApIHsNCgkJCQkJCWZvciAoIG1hdGNoIGluIGNvbnRleHQgKSB7DQoNCgkJCQkJCQkvLyBQcm9wZXJ0aWVzIG9mIGNvbnRleHQgYXJlIGNhbGxlZCBhcyBtZXRob2RzIGlmIHBvc3NpYmxlDQoJCQkJCQkJaWYgKCBpc0Z1bmN0aW9uKCB0aGlzWyBtYXRjaCBdICkgKSB7DQoJCQkJCQkJCXRoaXNbIG1hdGNoIF0oIGNvbnRleHRbIG1hdGNoIF0gKTsNCg0KCQkJCQkJCS8vIC4uLmFuZCBvdGhlcndpc2Ugc2V0IGFzIGF0dHJpYnV0ZXMNCgkJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCQl0aGlzLmF0dHIoIG1hdGNoLCBjb250ZXh0WyBtYXRjaCBdICk7DQoJCQkJCQkJfQ0KCQkJCQkJfQ0KCQkJCQl9DQoNCgkJCQkJcmV0dXJuIHRoaXM7DQoNCgkJCQkvLyBIQU5ETEU6ICQoI2lkKQ0KCQkJCX0gZWxzZSB7DQoJCQkJCWVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCggbWF0Y2hbIDIgXSApOw0KDQoJCQkJCWlmICggZWxlbSApIHsNCg0KCQkJCQkJLy8gSW5qZWN0IHRoZSBlbGVtZW50IGRpcmVjdGx5IGludG8gdGhlIGpRdWVyeSBvYmplY3QNCgkJCQkJCXRoaXNbIDAgXSA9IGVsZW07DQoJCQkJCQl0aGlzLmxlbmd0aCA9IDE7DQoJCQkJCX0NCgkJCQkJcmV0dXJuIHRoaXM7DQoJCQkJfQ0KDQoJCQkvLyBIQU5ETEU6ICQoZXhwciwgJCguLi4pKQ0KCQkJfSBlbHNlIGlmICggIWNvbnRleHQgfHwgY29udGV4dC5qcXVlcnkgKSB7DQoJCQkJcmV0dXJuICggY29udGV4dCB8fCByb290ICkuZmluZCggc2VsZWN0b3IgKTsNCg0KCQkJLy8gSEFORExFOiAkKGV4cHIsIGNvbnRleHQpDQoJCQkvLyAod2hpY2ggaXMganVzdCBlcXVpdmFsZW50IHRvOiAkKGNvbnRleHQpLmZpbmQoZXhwcikNCgkJCX0gZWxzZSB7DQoJCQkJcmV0dXJuIHRoaXMuY29uc3RydWN0b3IoIGNvbnRleHQgKS5maW5kKCBzZWxlY3RvciApOw0KCQkJfQ0KDQoJCS8vIEhBTkRMRTogJChET01FbGVtZW50KQ0KCQl9IGVsc2UgaWYgKCBzZWxlY3Rvci5ub2RlVHlwZSApIHsNCgkJCXRoaXNbIDAgXSA9IHNlbGVjdG9yOw0KCQkJdGhpcy5sZW5ndGggPSAxOw0KCQkJcmV0dXJuIHRoaXM7DQoNCgkJLy8gSEFORExFOiAkKGZ1bmN0aW9uKQ0KCQkvLyBTaG9ydGN1dCBmb3IgZG9jdW1lbnQgcmVhZHkNCgkJfSBlbHNlIGlmICggaXNGdW5jdGlvbiggc2VsZWN0b3IgKSApIHsNCgkJCXJldHVybiByb290LnJlYWR5ICE9PSB1bmRlZmluZWQgPw0KCQkJCXJvb3QucmVhZHkoIHNlbGVjdG9yICkgOg0KDQoJCQkJLy8gRXhlY3V0ZSBpbW1lZGlhdGVseSBpZiByZWFkeSBpcyBub3QgcHJlc2VudA0KCQkJCXNlbGVjdG9yKCBqUXVlcnkgKTsNCgkJfQ0KDQoJCXJldHVybiBqUXVlcnkubWFrZUFycmF5KCBzZWxlY3RvciwgdGhpcyApOw0KCX07DQoNCi8vIEdpdmUgdGhlIGluaXQgZnVuY3Rpb24gdGhlIGpRdWVyeSBwcm90b3R5cGUgZm9yIGxhdGVyIGluc3RhbnRpYXRpb24NCmluaXQucHJvdG90eXBlID0galF1ZXJ5LmZuOw0KDQovLyBJbml0aWFsaXplIGNlbnRyYWwgcmVmZXJlbmNlDQpyb290alF1ZXJ5ID0galF1ZXJ5KCBkb2N1bWVudCApOw0KDQoNCnZhciBycGFyZW50c3ByZXYgPSAvXig/OnBhcmVudHN8cHJldig/OlVudGlsfEFsbCkpLywNCg0KCS8vIE1ldGhvZHMgZ3VhcmFudGVlZCB0byBwcm9kdWNlIGEgdW5pcXVlIHNldCB3aGVuIHN0YXJ0aW5nIGZyb20gYSB1bmlxdWUgc2V0DQoJZ3VhcmFudGVlZFVuaXF1ZSA9IHsNCgkJY2hpbGRyZW46IHRydWUsDQoJCWNvbnRlbnRzOiB0cnVlLA0KCQluZXh0OiB0cnVlLA0KCQlwcmV2OiB0cnVlDQoJfTsNCg0KalF1ZXJ5LmZuLmV4dGVuZCggew0KCWhhczogZnVuY3Rpb24oIHRhcmdldCApIHsNCgkJdmFyIHRhcmdldHMgPSBqUXVlcnkoIHRhcmdldCwgdGhpcyApLA0KCQkJbCA9IHRhcmdldHMubGVuZ3RoOw0KDQoJCXJldHVybiB0aGlzLmZpbHRlciggZnVuY3Rpb24oKSB7DQoJCQl2YXIgaSA9IDA7DQoJCQlmb3IgKCA7IGkgPCBsOyBpKysgKSB7DQoJCQkJaWYgKCBqUXVlcnkuY29udGFpbnMoIHRoaXMsIHRhcmdldHNbIGkgXSApICkgew0KCQkJCQlyZXR1cm4gdHJ1ZTsNCgkJCQl9DQoJCQl9DQoJCX0gKTsNCgl9LA0KDQoJY2xvc2VzdDogZnVuY3Rpb24oIHNlbGVjdG9ycywgY29udGV4dCApIHsNCgkJdmFyIGN1ciwNCgkJCWkgPSAwLA0KCQkJbCA9IHRoaXMubGVuZ3RoLA0KCQkJbWF0Y2hlZCA9IFtdLA0KCQkJdGFyZ2V0cyA9IHR5cGVvZiBzZWxlY3RvcnMgIT09ICJzdHJpbmciICYmIGpRdWVyeSggc2VsZWN0b3JzICk7DQoNCgkJLy8gUG9zaXRpb25hbCBzZWxlY3RvcnMgbmV2ZXIgbWF0Y2gsIHNpbmNlIHRoZXJlJ3Mgbm8gX3NlbGVjdGlvbl8gY29udGV4dA0KCQlpZiAoICFybmVlZHNDb250ZXh0LnRlc3QoIHNlbGVjdG9ycyApICkgew0KCQkJZm9yICggOyBpIDwgbDsgaSsrICkgew0KCQkJCWZvciAoIGN1ciA9IHRoaXNbIGkgXTsgY3VyICYmIGN1ciAhPT0gY29udGV4dDsgY3VyID0gY3VyLnBhcmVudE5vZGUgKSB7DQoNCgkJCQkJLy8gQWx3YXlzIHNraXAgZG9jdW1lbnQgZnJhZ21lbnRzDQoJCQkJCWlmICggY3VyLm5vZGVUeXBlIDwgMTEgJiYgKCB0YXJnZXRzID8NCgkJCQkJCXRhcmdldHMuaW5kZXgoIGN1ciApID4gLTEgOg0KDQoJCQkJCQkvLyBEb24ndCBwYXNzIG5vbi1lbGVtZW50cyB0byBTaXp6bGUNCgkJCQkJCWN1ci5ub2RlVHlwZSA9PT0gMSAmJg0KCQkJCQkJCWpRdWVyeS5maW5kLm1hdGNoZXNTZWxlY3RvciggY3VyLCBzZWxlY3RvcnMgKSApICkgew0KDQoJCQkJCQltYXRjaGVkLnB1c2goIGN1ciApOw0KCQkJCQkJYnJlYWs7DQoJCQkJCX0NCgkJCQl9DQoJCQl9DQoJCX0NCg0KCQlyZXR1cm4gdGhpcy5wdXNoU3RhY2soIG1hdGNoZWQubGVuZ3RoID4gMSA/IGpRdWVyeS51bmlxdWVTb3J0KCBtYXRjaGVkICkgOiBtYXRjaGVkICk7DQoJfSwNCg0KCS8vIERldGVybWluZSB0aGUgcG9zaXRpb24gb2YgYW4gZWxlbWVudCB3aXRoaW4gdGhlIHNldA0KCWluZGV4OiBmdW5jdGlvbiggZWxlbSApIHsNCg0KCQkvLyBObyBhcmd1bWVudCwgcmV0dXJuIGluZGV4IGluIHBhcmVudA0KCQlpZiAoICFlbGVtICkgew0KCQkJcmV0dXJuICggdGhpc1sgMCBdICYmIHRoaXNbIDAgXS5wYXJlbnROb2RlICkgPyB0aGlzLmZpcnN0KCkucHJldkFsbCgpLmxlbmd0aCA6IC0xOw0KCQl9DQoNCgkJLy8gSW5kZXggaW4gc2VsZWN0b3INCgkJaWYgKCB0eXBlb2YgZWxlbSA9PT0gInN0cmluZyIgKSB7DQoJCQlyZXR1cm4gaW5kZXhPZi5jYWxsKCBqUXVlcnkoIGVsZW0gKSwgdGhpc1sgMCBdICk7DQoJCX0NCg0KCQkvLyBMb2NhdGUgdGhlIHBvc2l0aW9uIG9mIHRoZSBkZXNpcmVkIGVsZW1lbnQNCgkJcmV0dXJuIGluZGV4T2YuY2FsbCggdGhpcywNCg0KCQkJLy8gSWYgaXQgcmVjZWl2ZXMgYSBqUXVlcnkgb2JqZWN0LCB0aGUgZmlyc3QgZWxlbWVudCBpcyB1c2VkDQoJCQllbGVtLmpxdWVyeSA/IGVsZW1bIDAgXSA6IGVsZW0NCgkJKTsNCgl9LA0KDQoJYWRkOiBmdW5jdGlvbiggc2VsZWN0b3IsIGNvbnRleHQgKSB7DQoJCXJldHVybiB0aGlzLnB1c2hTdGFjaygNCgkJCWpRdWVyeS51bmlxdWVTb3J0KA0KCQkJCWpRdWVyeS5tZXJnZSggdGhpcy5nZXQoKSwgalF1ZXJ5KCBzZWxlY3RvciwgY29udGV4dCApICkNCgkJCSkNCgkJKTsNCgl9LA0KDQoJYWRkQmFjazogZnVuY3Rpb24oIHNlbGVjdG9yICkgew0KCQlyZXR1cm4gdGhpcy5hZGQoIHNlbGVjdG9yID09IG51bGwgPw0KCQkJdGhpcy5wcmV2T2JqZWN0IDogdGhpcy5wcmV2T2JqZWN0LmZpbHRlciggc2VsZWN0b3IgKQ0KCQkpOw0KCX0NCn0gKTsNCg0KZnVuY3Rpb24gc2libGluZyggY3VyLCBkaXIgKSB7DQoJd2hpbGUgKCAoIGN1ciA9IGN1clsgZGlyIF0gKSAmJiBjdXIubm9kZVR5cGUgIT09IDEgKSB7fQ0KCXJldHVybiBjdXI7DQp9DQoNCmpRdWVyeS5lYWNoKCB7DQoJcGFyZW50OiBmdW5jdGlvbiggZWxlbSApIHsNCgkJdmFyIHBhcmVudCA9IGVsZW0ucGFyZW50Tm9kZTsNCgkJcmV0dXJuIHBhcmVudCAmJiBwYXJlbnQubm9kZVR5cGUgIT09IDExID8gcGFyZW50IDogbnVsbDsNCgl9LA0KCXBhcmVudHM6IGZ1bmN0aW9uKCBlbGVtICkgew0KCQlyZXR1cm4gZGlyKCBlbGVtLCAicGFyZW50Tm9kZSIgKTsNCgl9LA0KCXBhcmVudHNVbnRpbDogZnVuY3Rpb24oIGVsZW0sIGksIHVudGlsICkgew0KCQlyZXR1cm4gZGlyKCBlbGVtLCAicGFyZW50Tm9kZSIsIHVudGlsICk7DQoJfSwNCgluZXh0OiBmdW5jdGlvbiggZWxlbSApIHsNCgkJcmV0dXJuIHNpYmxpbmcoIGVsZW0sICJuZXh0U2libGluZyIgKTsNCgl9LA0KCXByZXY6IGZ1bmN0aW9uKCBlbGVtICkgew0KCQlyZXR1cm4gc2libGluZyggZWxlbSwgInByZXZpb3VzU2libGluZyIgKTsNCgl9LA0KCW5leHRBbGw6IGZ1bmN0aW9uKCBlbGVtICkgew0KCQlyZXR1cm4gZGlyKCBlbGVtLCAibmV4dFNpYmxpbmciICk7DQoJfSwNCglwcmV2QWxsOiBmdW5jdGlvbiggZWxlbSApIHsNCgkJcmV0dXJuIGRpciggZWxlbSwgInByZXZpb3VzU2libGluZyIgKTsNCgl9LA0KCW5leHRVbnRpbDogZnVuY3Rpb24oIGVsZW0sIGksIHVudGlsICkgew0KCQlyZXR1cm4gZGlyKCBlbGVtLCAibmV4dFNpYmxpbmciLCB1bnRpbCApOw0KCX0sDQoJcHJldlVudGlsOiBmdW5jdGlvbiggZWxlbSwgaSwgdW50aWwgKSB7DQoJCXJldHVybiBkaXIoIGVsZW0sICJwcmV2aW91c1NpYmxpbmciLCB1bnRpbCApOw0KCX0sDQoJc2libGluZ3M6IGZ1bmN0aW9uKCBlbGVtICkgew0KCQlyZXR1cm4gc2libGluZ3MoICggZWxlbS5wYXJlbnROb2RlIHx8IHt9ICkuZmlyc3RDaGlsZCwgZWxlbSApOw0KCX0sDQoJY2hpbGRyZW46IGZ1bmN0aW9uKCBlbGVtICkgew0KCQlyZXR1cm4gc2libGluZ3MoIGVsZW0uZmlyc3RDaGlsZCApOw0KCX0sDQoJY29udGVudHM6IGZ1bmN0aW9uKCBlbGVtICkgew0KICAgICAgICBpZiAoIG5vZGVOYW1lKCBlbGVtLCAiaWZyYW1lIiApICkgew0KICAgICAgICAgICAgcmV0dXJuIGVsZW0uY29udGVudERvY3VtZW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLy8gU3VwcG9ydDogSUUgOSAtIDExIG9ubHksIGlPUyA3IG9ubHksIEFuZHJvaWQgQnJvd3NlciA8PTQuMyBvbmx5DQogICAgICAgIC8vIFRyZWF0IHRoZSB0ZW1wbGF0ZSBlbGVtZW50IGFzIGEgcmVndWxhciBvbmUgaW4gYnJvd3NlcnMgdGhhdA0KICAgICAgICAvLyBkb24ndCBzdXBwb3J0IGl0Lg0KICAgICAgICBpZiAoIG5vZGVOYW1lKCBlbGVtLCAidGVtcGxhdGUiICkgKSB7DQogICAgICAgICAgICBlbGVtID0gZWxlbS5jb250ZW50IHx8IGVsZW07DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4galF1ZXJ5Lm1lcmdlKCBbXSwgZWxlbS5jaGlsZE5vZGVzICk7DQoJfQ0KfSwgZnVuY3Rpb24oIG5hbWUsIGZuICkgew0KCWpRdWVyeS5mblsgbmFtZSBdID0gZnVuY3Rpb24oIHVudGlsLCBzZWxlY3RvciApIHsNCgkJdmFyIG1hdGNoZWQgPSBqUXVlcnkubWFwKCB0aGlzLCBmbiwgdW50aWwgKTsNCg0KCQlpZiAoIG5hbWUuc2xpY2UoIC01ICkgIT09ICJVbnRpbCIgKSB7DQoJCQlzZWxlY3RvciA9IHVudGlsOw0KCQl9DQoNCgkJaWYgKCBzZWxlY3RvciAmJiB0eXBlb2Ygc2VsZWN0b3IgPT09ICJzdHJpbmciICkgew0KCQkJbWF0Y2hlZCA9IGpRdWVyeS5maWx0ZXIoIHNlbGVjdG9yLCBtYXRjaGVkICk7DQoJCX0NCg0KCQlpZiAoIHRoaXMubGVuZ3RoID4gMSApIHsNCg0KCQkJLy8gUmVtb3ZlIGR1cGxpY2F0ZXMNCgkJCWlmICggIWd1YXJhbnRlZWRVbmlxdWVbIG5hbWUgXSApIHsNCgkJCQlqUXVlcnkudW5pcXVlU29ydCggbWF0Y2hlZCApOw0KCQkJfQ0KDQoJCQkvLyBSZXZlcnNlIG9yZGVyIGZvciBwYXJlbnRzKiBhbmQgcHJldi1kZXJpdmF0aXZlcw0KCQkJaWYgKCBycGFyZW50c3ByZXYudGVzdCggbmFtZSApICkgew0KCQkJCW1hdGNoZWQucmV2ZXJzZSgpOw0KCQkJfQ0KCQl9DQoNCgkJcmV0dXJuIHRoaXMucHVzaFN0YWNrKCBtYXRjaGVkICk7DQoJfTsNCn0gKTsNCnZhciBybm90aHRtbHdoaXRlID0gKCAvW15ceDIwXHRcclxuXGZdKy9nICk7DQoNCg0KDQovLyBDb252ZXJ0IFN0cmluZy1mb3JtYXR0ZWQgb3B0aW9ucyBpbnRvIE9iamVjdC1mb3JtYXR0ZWQgb25lcw0KZnVuY3Rpb24gY3JlYXRlT3B0aW9ucyggb3B0aW9ucyApIHsNCgl2YXIgb2JqZWN0ID0ge307DQoJalF1ZXJ5LmVhY2goIG9wdGlvbnMubWF0Y2goIHJub3RodG1sd2hpdGUgKSB8fCBbXSwgZnVuY3Rpb24oIF8sIGZsYWcgKSB7DQoJCW9iamVjdFsgZmxhZyBdID0gdHJ1ZTsNCgl9ICk7DQoJcmV0dXJuIG9iamVjdDsNCn0NCg0KLyoNCiAqIENyZWF0ZSBhIGNhbGxiYWNrIGxpc3QgdXNpbmcgdGhlIGZvbGxvd2luZyBwYXJhbWV0ZXJzOg0KICoNCiAqCW9wdGlvbnM6IGFuIG9wdGlvbmFsIGxpc3Qgb2Ygc3BhY2Utc2VwYXJhdGVkIG9wdGlvbnMgdGhhdCB3aWxsIGNoYW5nZSBob3cNCiAqCQkJdGhlIGNhbGxiYWNrIGxpc3QgYmVoYXZlcyBvciBhIG1vcmUgdHJhZGl0aW9uYWwgb3B0aW9uIG9iamVjdA0KICoNCiAqIEJ5IGRlZmF1bHQgYSBjYWxsYmFjayBsaXN0IHdpbGwgYWN0IGxpa2UgYW4gZXZlbnQgY2FsbGJhY2sgbGlzdCBhbmQgY2FuIGJlDQogKiAiZmlyZWQiIG11bHRpcGxlIHRpbWVzLg0KICoNCiAqIFBvc3NpYmxlIG9wdGlvbnM6DQogKg0KICoJb25jZToJCQl3aWxsIGVuc3VyZSB0aGUgY2FsbGJhY2sgbGlzdCBjYW4gb25seSBiZSBmaXJlZCBvbmNlIChsaWtlIGEgRGVmZXJyZWQpDQogKg0KICoJbWVtb3J5OgkJCXdpbGwga2VlcCB0cmFjayBvZiBwcmV2aW91cyB2YWx1ZXMgYW5kIHdpbGwgY2FsbCBhbnkgY2FsbGJhY2sgYWRkZWQNCiAqCQkJCQlhZnRlciB0aGUgbGlzdCBoYXMgYmVlbiBmaXJlZCByaWdodCBhd2F5IHdpdGggdGhlIGxhdGVzdCAibWVtb3JpemVkIg0KICoJCQkJCXZhbHVlcyAobGlrZSBhIERlZmVycmVkKQ0KICoNCiAqCXVuaXF1ZToJCQl3aWxsIGVuc3VyZSBhIGNhbGxiYWNrIGNhbiBvbmx5IGJlIGFkZGVkIG9uY2UgKG5vIGR1cGxpY2F0ZSBpbiB0aGUgbGlzdCkNCiAqDQogKglzdG9wT25GYWxzZToJaW50ZXJydXB0IGNhbGxpbmdzIHdoZW4gYSBjYWxsYmFjayByZXR1cm5zIGZhbHNlDQogKg0KICovDQpqUXVlcnkuQ2FsbGJhY2tzID0gZnVuY3Rpb24oIG9wdGlvbnMgKSB7DQoNCgkvLyBDb252ZXJ0IG9wdGlvbnMgZnJvbSBTdHJpbmctZm9ybWF0dGVkIHRvIE9iamVjdC1mb3JtYXR0ZWQgaWYgbmVlZGVkDQoJLy8gKHdlIGNoZWNrIGluIGNhY2hlIGZpcnN0KQ0KCW9wdGlvbnMgPSB0eXBlb2Ygb3B0aW9ucyA9PT0gInN0cmluZyIgPw0KCQljcmVhdGVPcHRpb25zKCBvcHRpb25zICkgOg0KCQlqUXVlcnkuZXh0ZW5kKCB7fSwgb3B0aW9ucyApOw0KDQoJdmFyIC8vIEZsYWcgdG8ga25vdyBpZiBsaXN0IGlzIGN1cnJlbnRseSBmaXJpbmcNCgkJZmlyaW5nLA0KDQoJCS8vIExhc3QgZmlyZSB2YWx1ZSBmb3Igbm9uLWZvcmdldHRhYmxlIGxpc3RzDQoJCW1lbW9yeSwNCg0KCQkvLyBGbGFnIHRvIGtub3cgaWYgbGlzdCB3YXMgYWxyZWFkeSBmaXJlZA0KCQlmaXJlZCwNCg0KCQkvLyBGbGFnIHRvIHByZXZlbnQgZmlyaW5nDQoJCWxvY2tlZCwNCg0KCQkvLyBBY3R1YWwgY2FsbGJhY2sgbGlzdA0KCQlsaXN0ID0gW10sDQoNCgkJLy8gUXVldWUgb2YgZXhlY3V0aW9uIGRhdGEgZm9yIHJlcGVhdGFibGUgbGlzdHMNCgkJcXVldWUgPSBbXSwNCg0KCQkvLyBJbmRleCBvZiBjdXJyZW50bHkgZmlyaW5nIGNhbGxiYWNrIChtb2RpZmllZCBieSBhZGQvcmVtb3ZlIGFzIG5lZWRlZCkNCgkJZmlyaW5nSW5kZXggPSAtMSwNCg0KCQkvLyBGaXJlIGNhbGxiYWNrcw0KCQlmaXJlID0gZnVuY3Rpb24oKSB7DQoNCgkJCS8vIEVuZm9yY2Ugc2luZ2xlLWZpcmluZw0KCQkJbG9ja2VkID0gbG9ja2VkIHx8IG9wdGlvbnMub25jZTsNCg0KCQkJLy8gRXhlY3V0ZSBjYWxsYmFja3MgZm9yIGFsbCBwZW5kaW5nIGV4ZWN1dGlvbnMsDQoJCQkvLyByZXNwZWN0aW5nIGZpcmluZ0luZGV4IG92ZXJyaWRlcyBhbmQgcnVudGltZSBjaGFuZ2VzDQoJCQlmaXJlZCA9IGZpcmluZyA9IHRydWU7DQoJCQlmb3IgKCA7IHF1ZXVlLmxlbmd0aDsgZmlyaW5nSW5kZXggPSAtMSApIHsNCgkJCQltZW1vcnkgPSBxdWV1ZS5zaGlmdCgpOw0KCQkJCXdoaWxlICggKytmaXJpbmdJbmRleCA8IGxpc3QubGVuZ3RoICkgew0KDQoJCQkJCS8vIFJ1biBjYWxsYmFjayBhbmQgY2hlY2sgZm9yIGVhcmx5IHRlcm1pbmF0aW9uDQoJCQkJCWlmICggbGlzdFsgZmlyaW5nSW5kZXggXS5hcHBseSggbWVtb3J5WyAwIF0sIG1lbW9yeVsgMSBdICkgPT09IGZhbHNlICYmDQoJCQkJCQlvcHRpb25zLnN0b3BPbkZhbHNlICkgew0KDQoJCQkJCQkvLyBKdW1wIHRvIGVuZCBhbmQgZm9yZ2V0IHRoZSBkYXRhIHNvIC5hZGQgZG9lc24ndCByZS1maXJlDQoJCQkJCQlmaXJpbmdJbmRleCA9IGxpc3QubGVuZ3RoOw0KCQkJCQkJbWVtb3J5ID0gZmFsc2U7DQoJCQkJCX0NCgkJCQl9DQoJCQl9DQoNCgkJCS8vIEZvcmdldCB0aGUgZGF0YSBpZiB3ZSdyZSBkb25lIHdpdGggaXQNCgkJCWlmICggIW9wdGlvbnMubWVtb3J5ICkgew0KCQkJCW1lbW9yeSA9IGZhbHNlOw0KCQkJfQ0KDQoJCQlmaXJpbmcgPSBmYWxzZTsNCg0KCQkJLy8gQ2xlYW4gdXAgaWYgd2UncmUgZG9uZSBmaXJpbmcgZm9yIGdvb2QNCgkJCWlmICggbG9ja2VkICkgew0KDQoJCQkJLy8gS2VlcCBhbiBlbXB0eSBsaXN0IGlmIHdlIGhhdmUgZGF0YSBmb3IgZnV0dXJlIGFkZCBjYWxscw0KCQkJCWlmICggbWVtb3J5ICkgew0KCQkJCQlsaXN0ID0gW107DQoNCgkJCQkvLyBPdGhlcndpc2UsIHRoaXMgb2JqZWN0IGlzIHNwZW50DQoJCQkJfSBlbHNlIHsNCgkJCQkJbGlzdCA9ICIiOw0KCQkJCX0NCgkJCX0NCgkJfSwNCg0KCQkvLyBBY3R1YWwgQ2FsbGJhY2tzIG9iamVjdA0KCQlzZWxmID0gew0KDQoJCQkvLyBBZGQgYSBjYWxsYmFjayBvciBhIGNvbGxlY3Rpb24gb2YgY2FsbGJhY2tzIHRvIHRoZSBsaXN0DQoJCQlhZGQ6IGZ1bmN0aW9uKCkgew0KCQkJCWlmICggbGlzdCApIHsNCg0KCQkJCQkvLyBJZiB3ZSBoYXZlIG1lbW9yeSBmcm9tIGEgcGFzdCBydW4sIHdlIHNob3VsZCBmaXJlIGFmdGVyIGFkZGluZw0KCQkJCQlpZiAoIG1lbW9yeSAmJiAhZmlyaW5nICkgew0KCQkJCQkJZmlyaW5nSW5kZXggPSBsaXN0Lmxlbmd0aCAtIDE7DQoJCQkJCQlxdWV1ZS5wdXNoKCBtZW1vcnkgKTsNCgkJCQkJfQ0KDQoJCQkJCSggZnVuY3Rpb24gYWRkKCBhcmdzICkgew0KCQkJCQkJalF1ZXJ5LmVhY2goIGFyZ3MsIGZ1bmN0aW9uKCBfLCBhcmcgKSB7DQoJCQkJCQkJaWYgKCBpc0Z1bmN0aW9uKCBhcmcgKSApIHsNCgkJCQkJCQkJaWYgKCAhb3B0aW9ucy51bmlxdWUgfHwgIXNlbGYuaGFzKCBhcmcgKSApIHsNCgkJCQkJCQkJCWxpc3QucHVzaCggYXJnICk7DQoJCQkJCQkJCX0NCgkJCQkJCQl9IGVsc2UgaWYgKCBhcmcgJiYgYXJnLmxlbmd0aCAmJiB0b1R5cGUoIGFyZyApICE9PSAic3RyaW5nIiApIHsNCg0KCQkJCQkJCQkvLyBJbnNwZWN0IHJlY3Vyc2l2ZWx5DQoJCQkJCQkJCWFkZCggYXJnICk7DQoJCQkJCQkJfQ0KCQkJCQkJfSApOw0KCQkJCQl9ICkoIGFyZ3VtZW50cyApOw0KDQoJCQkJCWlmICggbWVtb3J5ICYmICFmaXJpbmcgKSB7DQoJCQkJCQlmaXJlKCk7DQoJCQkJCX0NCgkJCQl9DQoJCQkJcmV0dXJuIHRoaXM7DQoJCQl9LA0KDQoJCQkvLyBSZW1vdmUgYSBjYWxsYmFjayBmcm9tIHRoZSBsaXN0DQoJCQlyZW1vdmU6IGZ1bmN0aW9uKCkgew0KCQkJCWpRdWVyeS5lYWNoKCBhcmd1bWVudHMsIGZ1bmN0aW9uKCBfLCBhcmcgKSB7DQoJCQkJCXZhciBpbmRleDsNCgkJCQkJd2hpbGUgKCAoIGluZGV4ID0galF1ZXJ5LmluQXJyYXkoIGFyZywgbGlzdCwgaW5kZXggKSApID4gLTEgKSB7DQoJCQkJCQlsaXN0LnNwbGljZSggaW5kZXgsIDEgKTsNCg0KCQkJCQkJLy8gSGFuZGxlIGZpcmluZyBpbmRleGVzDQoJCQkJCQlpZiAoIGluZGV4IDw9IGZpcmluZ0luZGV4ICkgew0KCQkJCQkJCWZpcmluZ0luZGV4LS07DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQl9ICk7DQoJCQkJcmV0dXJuIHRoaXM7DQoJCQl9LA0KDQoJCQkvLyBDaGVjayBpZiBhIGdpdmVuIGNhbGxiYWNrIGlzIGluIHRoZSBsaXN0Lg0KCQkJLy8gSWYgbm8gYXJndW1lbnQgaXMgZ2l2ZW4sIHJldHVybiB3aGV0aGVyIG9yIG5vdCBsaXN0IGhhcyBjYWxsYmFja3MgYXR0YWNoZWQuDQoJCQloYXM6IGZ1bmN0aW9uKCBmbiApIHsNCgkJCQlyZXR1cm4gZm4gPw0KCQkJCQlqUXVlcnkuaW5BcnJheSggZm4sIGxpc3QgKSA+IC0xIDoNCgkJCQkJbGlzdC5sZW5ndGggPiAwOw0KCQkJfSwNCg0KCQkJLy8gUmVtb3ZlIGFsbCBjYWxsYmFja3MgZnJvbSB0aGUgbGlzdA0KCQkJZW1wdHk6IGZ1bmN0aW9uKCkgew0KCQkJCWlmICggbGlzdCApIHsNCgkJCQkJbGlzdCA9IFtdOw0KCQkJCX0NCgkJCQlyZXR1cm4gdGhpczsNCgkJCX0sDQoNCgkJCS8vIERpc2FibGUgLmZpcmUgYW5kIC5hZGQNCgkJCS8vIEFib3J0IGFueSBjdXJyZW50L3BlbmRpbmcgZXhlY3V0aW9ucw0KCQkJLy8gQ2xlYXIgYWxsIGNhbGxiYWNrcyBhbmQgdmFsdWVzDQoJCQlkaXNhYmxlOiBmdW5jdGlvbigpIHsNCgkJCQlsb2NrZWQgPSBxdWV1ZSA9IFtdOw0KCQkJCWxpc3QgPSBtZW1vcnkgPSAiIjsNCgkJCQlyZXR1cm4gdGhpczsNCgkJCX0sDQoJCQlkaXNhYmxlZDogZnVuY3Rpb24oKSB7DQoJCQkJcmV0dXJuICFsaXN0Ow0KCQkJfSwNCg0KCQkJLy8gRGlzYWJsZSAuZmlyZQ0KCQkJLy8gQWxzbyBkaXNhYmxlIC5hZGQgdW5sZXNzIHdlIGhhdmUgbWVtb3J5IChzaW5jZSBpdCB3b3VsZCBoYXZlIG5vIGVmZmVjdCkNCgkJCS8vIEFib3J0IGFueSBwZW5kaW5nIGV4ZWN1dGlvbnMNCgkJCWxvY2s6IGZ1bmN0aW9uKCkgew0KCQkJCWxvY2tlZCA9IHF1ZXVlID0gW107DQoJCQkJaWYgKCAhbWVtb3J5ICYmICFmaXJpbmcgKSB7DQoJCQkJCWxpc3QgPSBtZW1vcnkgPSAiIjsNCgkJCQl9DQoJCQkJcmV0dXJuIHRoaXM7DQoJCQl9LA0KCQkJbG9ja2VkOiBmdW5jdGlvbigpIHsNCgkJCQlyZXR1cm4gISFsb2NrZWQ7DQoJCQl9LA0KDQoJCQkvLyBDYWxsIGFsbCBjYWxsYmFja3Mgd2l0aCB0aGUgZ2l2ZW4gY29udGV4dCBhbmQgYXJndW1lbnRzDQoJCQlmaXJlV2l0aDogZnVuY3Rpb24oIGNvbnRleHQsIGFyZ3MgKSB7DQoJCQkJaWYgKCAhbG9ja2VkICkgew0KCQkJCQlhcmdzID0gYXJncyB8fCBbXTsNCgkJCQkJYXJncyA9IFsgY29udGV4dCwgYXJncy5zbGljZSA/IGFyZ3Muc2xpY2UoKSA6IGFyZ3MgXTsNCgkJCQkJcXVldWUucHVzaCggYXJncyApOw0KCQkJCQlpZiAoICFmaXJpbmcgKSB7DQoJCQkJCQlmaXJlKCk7DQoJCQkJCX0NCgkJCQl9DQoJCQkJcmV0dXJuIHRoaXM7DQoJCQl9LA0KDQoJCQkvLyBDYWxsIGFsbCB0aGUgY2FsbGJhY2tzIHdpdGggdGhlIGdpdmVuIGFyZ3VtZW50cw0KCQkJZmlyZTogZnVuY3Rpb24oKSB7DQoJCQkJc2VsZi5maXJlV2l0aCggdGhpcywgYXJndW1lbnRzICk7DQoJCQkJcmV0dXJuIHRoaXM7DQoJCQl9LA0KDQoJCQkvLyBUbyBrbm93IGlmIHRoZSBjYWxsYmFja3MgaGF2ZSBhbHJlYWR5IGJlZW4gY2FsbGVkIGF0IGxlYXN0IG9uY2UNCgkJCWZpcmVkOiBmdW5jdGlvbigpIHsNCgkJCQlyZXR1cm4gISFmaXJlZDsNCgkJCX0NCgkJfTsNCg0KCXJldHVybiBzZWxmOw0KfTsNCg0KDQpmdW5jdGlvbiBJZGVudGl0eSggdiApIHsNCglyZXR1cm4gdjsNCn0NCmZ1bmN0aW9uIFRocm93ZXIoIGV4ICkgew0KCXRocm93IGV4Ow0KfQ0KDQpmdW5jdGlvbiBhZG9wdFZhbHVlKCB2YWx1ZSwgcmVzb2x2ZSwgcmVqZWN0LCBub1ZhbHVlICkgew0KCXZhciBtZXRob2Q7DQoNCgl0cnkgew0KDQoJCS8vIENoZWNrIGZvciBwcm9taXNlIGFzcGVjdCBmaXJzdCB0byBwcml2aWxlZ2Ugc3luY2hyb25vdXMgYmVoYXZpb3INCgkJaWYgKCB2YWx1ZSAmJiBpc0Z1bmN0aW9uKCAoIG1ldGhvZCA9IHZhbHVlLnByb21pc2UgKSApICkgew0KCQkJbWV0aG9kLmNhbGwoIHZhbHVlICkuZG9uZSggcmVzb2x2ZSApLmZhaWwoIHJlamVjdCApOw0KDQoJCS8vIE90aGVyIHRoZW5hYmxlcw0KCQl9IGVsc2UgaWYgKCB2YWx1ZSAmJiBpc0Z1bmN0aW9uKCAoIG1ldGhvZCA9IHZhbHVlLnRoZW4gKSApICkgew0KCQkJbWV0aG9kLmNhbGwoIHZhbHVlLCByZXNvbHZlLCByZWplY3QgKTsNCg0KCQkvLyBPdGhlciBub24tdGhlbmFibGVzDQoJCX0gZWxzZSB7DQoNCgkJCS8vIENvbnRyb2wgYHJlc29sdmVgIGFyZ3VtZW50cyBieSBsZXR0aW5nIEFycmF5I3NsaWNlIGNhc3QgYm9vbGVhbiBgbm9WYWx1ZWAgdG8gaW50ZWdlcjoNCgkJCS8vICogZmFsc2U6IFsgdmFsdWUgXS5zbGljZSggMCApID0+IHJlc29sdmUoIHZhbHVlICkNCgkJCS8vICogdHJ1ZTogWyB2YWx1ZSBdLnNsaWNlKCAxICkgPT4gcmVzb2x2ZSgpDQoJCQlyZXNvbHZlLmFwcGx5KCB1bmRlZmluZWQsIFsgdmFsdWUgXS5zbGljZSggbm9WYWx1ZSApICk7DQoJCX0NCg0KCS8vIEZvciBQcm9taXNlcy9BKywgY29udmVydCBleGNlcHRpb25zIGludG8gcmVqZWN0aW9ucw0KCS8vIFNpbmNlIGpRdWVyeS53aGVuIGRvZXNuJ3QgdW53cmFwIHRoZW5hYmxlcywgd2UgY2FuIHNraXAgdGhlIGV4dHJhIGNoZWNrcyBhcHBlYXJpbmcgaW4NCgkvLyBEZWZlcnJlZCN0aGVuIHRvIGNvbmRpdGlvbmFsbHkgc3VwcHJlc3MgcmVqZWN0aW9uLg0KCX0gY2F0Y2ggKCB2YWx1ZSApIHsNCg0KCQkvLyBTdXBwb3J0OiBBbmRyb2lkIDQuMCBvbmx5DQoJCS8vIFN0cmljdCBtb2RlIGZ1bmN0aW9ucyBpbnZva2VkIHdpdGhvdXQgLmNhbGwvLmFwcGx5IGdldCBnbG9iYWwtb2JqZWN0IGNvbnRleHQNCgkJcmVqZWN0LmFwcGx5KCB1bmRlZmluZWQsIFsgdmFsdWUgXSApOw0KCX0NCn0NCg0KalF1ZXJ5LmV4dGVuZCggew0KDQoJRGVmZXJyZWQ6IGZ1bmN0aW9uKCBmdW5jICkgew0KCQl2YXIgdHVwbGVzID0gWw0KDQoJCQkJLy8gYWN0aW9uLCBhZGQgbGlzdGVuZXIsIGNhbGxiYWNrcywNCgkJCQkvLyAuLi4gLnRoZW4gaGFuZGxlcnMsIGFyZ3VtZW50IGluZGV4LCBbZmluYWwgc3RhdGVdDQoJCQkJWyAibm90aWZ5IiwgInByb2dyZXNzIiwgalF1ZXJ5LkNhbGxiYWNrcyggIm1lbW9yeSIgKSwNCgkJCQkJalF1ZXJ5LkNhbGxiYWNrcyggIm1lbW9yeSIgKSwgMiBdLA0KCQkJCVsgInJlc29sdmUiLCAiZG9uZSIsIGpRdWVyeS5DYWxsYmFja3MoICJvbmNlIG1lbW9yeSIgKSwNCgkJCQkJalF1ZXJ5LkNhbGxiYWNrcyggIm9uY2UgbWVtb3J5IiApLCAwLCAicmVzb2x2ZWQiIF0sDQoJCQkJWyAicmVqZWN0IiwgImZhaWwiLCBqUXVlcnkuQ2FsbGJhY2tzKCAib25jZSBtZW1vcnkiICksDQoJCQkJCWpRdWVyeS5DYWxsYmFja3MoICJvbmNlIG1lbW9yeSIgKSwgMSwgInJlamVjdGVkIiBdDQoJCQldLA0KCQkJc3RhdGUgPSAicGVuZGluZyIsDQoJCQlwcm9taXNlID0gew0KCQkJCXN0YXRlOiBmdW5jdGlvbigpIHsNCgkJCQkJcmV0dXJuIHN0YXRlOw0KCQkJCX0sDQoJCQkJYWx3YXlzOiBmdW5jdGlvbigpIHsNCgkJCQkJZGVmZXJyZWQuZG9uZSggYXJndW1lbnRzICkuZmFpbCggYXJndW1lbnRzICk7DQoJCQkJCXJldHVybiB0aGlzOw0KCQkJCX0sDQoJCQkJImNhdGNoIjogZnVuY3Rpb24oIGZuICkgew0KCQkJCQlyZXR1cm4gcHJvbWlzZS50aGVuKCBudWxsLCBmbiApOw0KCQkJCX0sDQoNCgkJCQkvLyBLZWVwIHBpcGUgZm9yIGJhY2stY29tcGF0DQoJCQkJcGlwZTogZnVuY3Rpb24oIC8qIGZuRG9uZSwgZm5GYWlsLCBmblByb2dyZXNzICovICkgew0KCQkJCQl2YXIgZm5zID0gYXJndW1lbnRzOw0KDQoJCQkJCXJldHVybiBqUXVlcnkuRGVmZXJyZWQoIGZ1bmN0aW9uKCBuZXdEZWZlciApIHsNCgkJCQkJCWpRdWVyeS5lYWNoKCB0dXBsZXMsIGZ1bmN0aW9uKCBpLCB0dXBsZSApIHsNCg0KCQkJCQkJCS8vIE1hcCB0dXBsZXMgKHByb2dyZXNzLCBkb25lLCBmYWlsKSB0byBhcmd1bWVudHMgKGRvbmUsIGZhaWwsIHByb2dyZXNzKQ0KCQkJCQkJCXZhciBmbiA9IGlzRnVuY3Rpb24oIGZuc1sgdHVwbGVbIDQgXSBdICkgJiYgZm5zWyB0dXBsZVsgNCBdIF07DQoNCgkJCQkJCQkvLyBkZWZlcnJlZC5wcm9ncmVzcyhmdW5jdGlvbigpIHsgYmluZCB0byBuZXdEZWZlciBvciBuZXdEZWZlci5ub3RpZnkgfSkNCgkJCQkJCQkvLyBkZWZlcnJlZC5kb25lKGZ1bmN0aW9uKCkgeyBiaW5kIHRvIG5ld0RlZmVyIG9yIG5ld0RlZmVyLnJlc29sdmUgfSkNCgkJCQkJCQkvLyBkZWZlcnJlZC5mYWlsKGZ1bmN0aW9uKCkgeyBiaW5kIHRvIG5ld0RlZmVyIG9yIG5ld0RlZmVyLnJlamVjdCB9KQ0KCQkJCQkJCWRlZmVycmVkWyB0dXBsZVsgMSBdIF0oIGZ1bmN0aW9uKCkgew0KCQkJCQkJCQl2YXIgcmV0dXJuZWQgPSBmbiAmJiBmbi5hcHBseSggdGhpcywgYXJndW1lbnRzICk7DQoJCQkJCQkJCWlmICggcmV0dXJuZWQgJiYgaXNGdW5jdGlvbiggcmV0dXJuZWQucHJvbWlzZSApICkgew0KCQkJCQkJCQkJcmV0dXJuZWQucHJvbWlzZSgpDQoJCQkJCQkJCQkJLnByb2dyZXNzKCBuZXdEZWZlci5ub3RpZnkgKQ0KCQkJCQkJCQkJCS5kb25lKCBuZXdEZWZlci5yZXNvbHZlICkNCgkJCQkJCQkJCQkuZmFpbCggbmV3RGVmZXIucmVqZWN0ICk7DQoJCQkJCQkJCX0gZWxzZSB7DQoJCQkJCQkJCQluZXdEZWZlclsgdHVwbGVbIDAgXSArICJXaXRoIiBdKA0KCQkJCQkJCQkJCXRoaXMsDQoJCQkJCQkJCQkJZm4gPyBbIHJldHVybmVkIF0gOiBhcmd1bWVudHMNCgkJCQkJCQkJCSk7DQoJCQkJCQkJCX0NCgkJCQkJCQl9ICk7DQoJCQkJCQl9ICk7DQoJCQkJCQlmbnMgPSBudWxsOw0KCQkJCQl9ICkucHJvbWlzZSgpOw0KCQkJCX0sDQoJCQkJdGhlbjogZnVuY3Rpb24oIG9uRnVsZmlsbGVkLCBvblJlamVjdGVkLCBvblByb2dyZXNzICkgew0KCQkJCQl2YXIgbWF4RGVwdGggPSAwOw0KCQkJCQlmdW5jdGlvbiByZXNvbHZlKCBkZXB0aCwgZGVmZXJyZWQsIGhhbmRsZXIsIHNwZWNpYWwgKSB7DQoJCQkJCQlyZXR1cm4gZnVuY3Rpb24oKSB7DQoJCQkJCQkJdmFyIHRoYXQgPSB0aGlzLA0KCQkJCQkJCQlhcmdzID0gYXJndW1lbnRzLA0KCQkJCQkJCQltaWdodFRocm93ID0gZnVuY3Rpb24oKSB7DQoJCQkJCQkJCQl2YXIgcmV0dXJuZWQsIHRoZW47DQoNCgkJCQkJCQkJCS8vIFN1cHBvcnQ6IFByb21pc2VzL0ErIHNlY3Rpb24gMi4zLjMuMy4zDQoJCQkJCQkJCQkvLyBodHRwczovL3Byb21pc2VzYXBsdXMuY29tLyNwb2ludC01OQ0KCQkJCQkJCQkJLy8gSWdub3JlIGRvdWJsZS1yZXNvbHV0aW9uIGF0dGVtcHRzDQoJCQkJCQkJCQlpZiAoIGRlcHRoIDwgbWF4RGVwdGggKSB7DQoJCQkJCQkJCQkJcmV0dXJuOw0KCQkJCQkJCQkJfQ0KDQoJCQkJCQkJCQlyZXR1cm5lZCA9IGhhbmRsZXIuYXBwbHkoIHRoYXQsIGFyZ3MgKTsNCg0KCQkJCQkJCQkJLy8gU3VwcG9ydDogUHJvbWlzZXMvQSsgc2VjdGlvbiAyLjMuMQ0KCQkJCQkJCQkJLy8gaHR0cHM6Ly9wcm9taXNlc2FwbHVzLmNvbS8jcG9pbnQtNDgNCgkJCQkJCQkJCWlmICggcmV0dXJuZWQgPT09IGRlZmVycmVkLnByb21pc2UoKSApIHsNCgkJCQkJCQkJCQl0aHJvdyBuZXcgVHlwZUVycm9yKCAiVGhlbmFibGUgc2VsZi1yZXNvbHV0aW9uIiApOw0KCQkJCQkJCQkJfQ0KDQoJCQkJCQkJCQkvLyBTdXBwb3J0OiBQcm9taXNlcy9BKyBzZWN0aW9ucyAyLjMuMy4xLCAzLjUNCgkJCQkJCQkJCS8vIGh0dHBzOi8vcHJvbWlzZXNhcGx1cy5jb20vI3BvaW50LTU0DQoJCQkJCQkJCQkvLyBodHRwczovL3Byb21pc2VzYXBsdXMuY29tLyNwb2ludC03NQ0KCQkJCQkJCQkJLy8gUmV0cmlldmUgYHRoZW5gIG9ubHkgb25jZQ0KCQkJCQkJCQkJdGhlbiA9IHJldHVybmVkICYmDQoNCgkJCQkJCQkJCQkvLyBTdXBwb3J0OiBQcm9taXNlcy9BKyBzZWN0aW9uIDIuMy40DQoJCQkJCQkJCQkJLy8gaHR0cHM6Ly9wcm9taXNlc2FwbHVzLmNvbS8jcG9pbnQtNjQNCgkJCQkJCQkJCQkvLyBPbmx5IGNoZWNrIG9iamVjdHMgYW5kIGZ1bmN0aW9ucyBmb3IgdGhlbmFiaWxpdHkNCgkJCQkJCQkJCQkoIHR5cGVvZiByZXR1cm5lZCA9PT0gIm9iamVjdCIgfHwNCgkJCQkJCQkJCQkJdHlwZW9mIHJldHVybmVkID09PSAiZnVuY3Rpb24iICkgJiYNCgkJCQkJCQkJCQlyZXR1cm5lZC50aGVuOw0KDQoJCQkJCQkJCQkvLyBIYW5kbGUgYSByZXR1cm5lZCB0aGVuYWJsZQ0KCQkJCQkJCQkJaWYgKCBpc0Z1bmN0aW9uKCB0aGVuICkgKSB7DQoNCgkJCQkJCQkJCQkvLyBTcGVjaWFsIHByb2Nlc3NvcnMgKG5vdGlmeSkganVzdCB3YWl0IGZvciByZXNvbHV0aW9uDQoJCQkJCQkJCQkJaWYgKCBzcGVjaWFsICkgew0KCQkJCQkJCQkJCQl0aGVuLmNhbGwoDQoJCQkJCQkJCQkJCQlyZXR1cm5lZCwNCgkJCQkJCQkJCQkJCXJlc29sdmUoIG1heERlcHRoLCBkZWZlcnJlZCwgSWRlbnRpdHksIHNwZWNpYWwgKSwNCgkJCQkJCQkJCQkJCXJlc29sdmUoIG1heERlcHRoLCBkZWZlcnJlZCwgVGhyb3dlciwgc3BlY2lhbCApDQoJCQkJCQkJCQkJCSk7DQoNCgkJCQkJCQkJCQkvLyBOb3JtYWwgcHJvY2Vzc29ycyAocmVzb2x2ZSkgYWxzbyBob29rIGludG8gcHJvZ3Jlc3MNCgkJCQkJCQkJCQl9IGVsc2Ugew0KDQoJCQkJCQkJCQkJCS8vIC4uLmFuZCBkaXNyZWdhcmQgb2xkZXIgcmVzb2x1dGlvbiB2YWx1ZXMNCgkJCQkJCQkJCQkJbWF4RGVwdGgrKzsNCg0KCQkJCQkJCQkJCQl0aGVuLmNhbGwoDQoJCQkJCQkJCQkJCQlyZXR1cm5lZCwNCgkJCQkJCQkJCQkJCXJlc29sdmUoIG1heERlcHRoLCBkZWZlcnJlZCwgSWRlbnRpdHksIHNwZWNpYWwgKSwNCgkJCQkJCQkJCQkJCXJlc29sdmUoIG1heERlcHRoLCBkZWZlcnJlZCwgVGhyb3dlciwgc3BlY2lhbCApLA0KCQkJCQkJCQkJCQkJcmVzb2x2ZSggbWF4RGVwdGgsIGRlZmVycmVkLCBJZGVudGl0eSwNCgkJCQkJCQkJCQkJCQlkZWZlcnJlZC5ub3RpZnlXaXRoICkNCgkJCQkJCQkJCQkJKTsNCgkJCQkJCQkJCQl9DQoNCgkJCQkJCQkJCS8vIEhhbmRsZSBhbGwgb3RoZXIgcmV0dXJuZWQgdmFsdWVzDQoJCQkJCQkJCQl9IGVsc2Ugew0KDQoJCQkJCQkJCQkJLy8gT25seSBzdWJzdGl0dXRlIGhhbmRsZXJzIHBhc3Mgb24gY29udGV4dA0KCQkJCQkJCQkJCS8vIGFuZCBtdWx0aXBsZSB2YWx1ZXMgKG5vbi1zcGVjIGJlaGF2aW9yKQ0KCQkJCQkJCQkJCWlmICggaGFuZGxlciAhPT0gSWRlbnRpdHkgKSB7DQoJCQkJCQkJCQkJCXRoYXQgPSB1bmRlZmluZWQ7DQoJCQkJCQkJCQkJCWFyZ3MgPSBbIHJldHVybmVkIF07DQoJCQkJCQkJCQkJfQ0KDQoJCQkJCQkJCQkJLy8gUHJvY2VzcyB0aGUgdmFsdWUocykNCgkJCQkJCQkJCQkvLyBEZWZhdWx0IHByb2Nlc3MgaXMgcmVzb2x2ZQ0KCQkJCQkJCQkJCSggc3BlY2lhbCB8fCBkZWZlcnJlZC5yZXNvbHZlV2l0aCApKCB0aGF0LCBhcmdzICk7DQoJCQkJCQkJCQl9DQoJCQkJCQkJCX0sDQoNCgkJCQkJCQkJLy8gT25seSBub3JtYWwgcHJvY2Vzc29ycyAocmVzb2x2ZSkgY2F0Y2ggYW5kIHJlamVjdCBleGNlcHRpb25zDQoJCQkJCQkJCXByb2Nlc3MgPSBzcGVjaWFsID8NCgkJCQkJCQkJCW1pZ2h0VGhyb3cgOg0KCQkJCQkJCQkJZnVuY3Rpb24oKSB7DQoJCQkJCQkJCQkJdHJ5IHsNCgkJCQkJCQkJCQkJbWlnaHRUaHJvdygpOw0KCQkJCQkJCQkJCX0gY2F0Y2ggKCBlICkgew0KDQoJCQkJCQkJCQkJCWlmICggalF1ZXJ5LkRlZmVycmVkLmV4Y2VwdGlvbkhvb2sgKSB7DQoJCQkJCQkJCQkJCQlqUXVlcnkuRGVmZXJyZWQuZXhjZXB0aW9uSG9vayggZSwNCgkJCQkJCQkJCQkJCQlwcm9jZXNzLnN0YWNrVHJhY2UgKTsNCgkJCQkJCQkJCQkJfQ0KDQoJCQkJCQkJCQkJCS8vIFN1cHBvcnQ6IFByb21pc2VzL0ErIHNlY3Rpb24gMi4zLjMuMy40LjENCgkJCQkJCQkJCQkJLy8gaHR0cHM6Ly9wcm9taXNlc2FwbHVzLmNvbS8jcG9pbnQtNjENCgkJCQkJCQkJCQkJLy8gSWdub3JlIHBvc3QtcmVzb2x1dGlvbiBleGNlcHRpb25zDQoJCQkJCQkJCQkJCWlmICggZGVwdGggKyAxID49IG1heERlcHRoICkgew0KDQoJCQkJCQkJCQkJCQkvLyBPbmx5IHN1YnN0aXR1dGUgaGFuZGxlcnMgcGFzcyBvbiBjb250ZXh0DQoJCQkJCQkJCQkJCQkvLyBhbmQgbXVsdGlwbGUgdmFsdWVzIChub24tc3BlYyBiZWhhdmlvcikNCgkJCQkJCQkJCQkJCWlmICggaGFuZGxlciAhPT0gVGhyb3dlciApIHsNCgkJCQkJCQkJCQkJCQl0aGF0ID0gdW5kZWZpbmVkOw0KCQkJCQkJCQkJCQkJCWFyZ3MgPSBbIGUgXTsNCgkJCQkJCQkJCQkJCX0NCg0KCQkJCQkJCQkJCQkJZGVmZXJyZWQucmVqZWN0V2l0aCggdGhhdCwgYXJncyApOw0KCQkJCQkJCQkJCQl9DQoJCQkJCQkJCQkJfQ0KCQkJCQkJCQkJfTsNCg0KCQkJCQkJCS8vIFN1cHBvcnQ6IFByb21pc2VzL0ErIHNlY3Rpb24gMi4zLjMuMy4xDQoJCQkJCQkJLy8gaHR0cHM6Ly9wcm9taXNlc2FwbHVzLmNvbS8jcG9pbnQtNTcNCgkJCQkJCQkvLyBSZS1yZXNvbHZlIHByb21pc2VzIGltbWVkaWF0ZWx5IHRvIGRvZGdlIGZhbHNlIHJlamVjdGlvbiBmcm9tDQoJCQkJCQkJLy8gc3Vic2VxdWVudCBlcnJvcnMNCgkJCQkJCQlpZiAoIGRlcHRoICkgew0KCQkJCQkJCQlwcm9jZXNzKCk7DQoJCQkJCQkJfSBlbHNlIHsNCg0KCQkJCQkJCQkvLyBDYWxsIGFuIG9wdGlvbmFsIGhvb2sgdG8gcmVjb3JkIHRoZSBzdGFjaywgaW4gY2FzZSBvZiBleGNlcHRpb24NCgkJCQkJCQkJLy8gc2luY2UgaXQncyBvdGhlcndpc2UgbG9zdCB3aGVuIGV4ZWN1dGlvbiBnb2VzIGFzeW5jDQoJCQkJCQkJCWlmICggalF1ZXJ5LkRlZmVycmVkLmdldFN0YWNrSG9vayApIHsNCgkJCQkJCQkJCXByb2Nlc3Muc3RhY2tUcmFjZSA9IGpRdWVyeS5EZWZlcnJlZC5nZXRTdGFja0hvb2soKTsNCgkJCQkJCQkJfQ0KCQkJCQkJCQl3aW5kb3cuc2V0VGltZW91dCggcHJvY2VzcyApOw0KCQkJCQkJCX0NCgkJCQkJCX07DQoJCQkJCX0NCg0KCQkJCQlyZXR1cm4galF1ZXJ5LkRlZmVycmVkKCBmdW5jdGlvbiggbmV3RGVmZXIgKSB7DQoNCgkJCQkJCS8vIHByb2dyZXNzX2hhbmRsZXJzLmFkZCggLi4uICkNCgkJCQkJCXR1cGxlc1sgMCBdWyAzIF0uYWRkKA0KCQkJCQkJCXJlc29sdmUoDQoJCQkJCQkJCTAsDQoJCQkJCQkJCW5ld0RlZmVyLA0KCQkJCQkJCQlpc0Z1bmN0aW9uKCBvblByb2dyZXNzICkgPw0KCQkJCQkJCQkJb25Qcm9ncmVzcyA6DQoJCQkJCQkJCQlJZGVudGl0eSwNCgkJCQkJCQkJbmV3RGVmZXIubm90aWZ5V2l0aA0KCQkJCQkJCSkNCgkJCQkJCSk7DQoNCgkJCQkJCS8vIGZ1bGZpbGxlZF9oYW5kbGVycy5hZGQoIC4uLiApDQoJCQkJCQl0dXBsZXNbIDEgXVsgMyBdLmFkZCgNCgkJCQkJCQlyZXNvbHZlKA0KCQkJCQkJCQkwLA0KCQkJCQkJCQluZXdEZWZlciwNCgkJCQkJCQkJaXNGdW5jdGlvbiggb25GdWxmaWxsZWQgKSA/DQoJCQkJCQkJCQlvbkZ1bGZpbGxlZCA6DQoJCQkJCQkJCQlJZGVudGl0eQ0KCQkJCQkJCSkNCgkJCQkJCSk7DQoNCgkJCQkJCS8vIHJlamVjdGVkX2hhbmRsZXJzLmFkZCggLi4uICkNCgkJCQkJCXR1cGxlc1sgMiBdWyAzIF0uYWRkKA0KCQkJCQkJCXJlc29sdmUoDQoJCQkJCQkJCTAsDQoJCQkJCQkJCW5ld0RlZmVyLA0KCQkJCQkJCQlpc0Z1bmN0aW9uKCBvblJlamVjdGVkICkgPw0KCQkJCQkJCQkJb25SZWplY3RlZCA6DQoJCQkJCQkJCQlUaHJvd2VyDQoJCQkJCQkJKQ0KCQkJCQkJKTsNCgkJCQkJfSApLnByb21pc2UoKTsNCgkJCQl9LA0KDQoJCQkJLy8gR2V0IGEgcHJvbWlzZSBmb3IgdGhpcyBkZWZlcnJlZA0KCQkJCS8vIElmIG9iaiBpcyBwcm92aWRlZCwgdGhlIHByb21pc2UgYXNwZWN0IGlzIGFkZGVkIHRvIHRoZSBvYmplY3QNCgkJCQlwcm9taXNlOiBmdW5jdGlvbiggb2JqICkgew0KCQkJCQlyZXR1cm4gb2JqICE9IG51bGwgPyBqUXVlcnkuZXh0ZW5kKCBvYmosIHByb21pc2UgKSA6IHByb21pc2U7DQoJCQkJfQ0KCQkJfSwNCgkJCWRlZmVycmVkID0ge307DQoNCgkJLy8gQWRkIGxpc3Qtc3BlY2lmaWMgbWV0aG9kcw0KCQlqUXVlcnkuZWFjaCggdHVwbGVzLCBmdW5jdGlvbiggaSwgdHVwbGUgKSB7DQoJCQl2YXIgbGlzdCA9IHR1cGxlWyAyIF0sDQoJCQkJc3RhdGVTdHJpbmcgPSB0dXBsZVsgNSBdOw0KDQoJCQkvLyBwcm9taXNlLnByb2dyZXNzID0gbGlzdC5hZGQNCgkJCS8vIHByb21pc2UuZG9uZSA9IGxpc3QuYWRkDQoJCQkvLyBwcm9taXNlLmZhaWwgPSBsaXN0LmFkZA0KCQkJcHJvbWlzZVsgdHVwbGVbIDEgXSBdID0gbGlzdC5hZGQ7DQoNCgkJCS8vIEhhbmRsZSBzdGF0ZQ0KCQkJaWYgKCBzdGF0ZVN0cmluZyApIHsNCgkJCQlsaXN0LmFkZCgNCgkJCQkJZnVuY3Rpb24oKSB7DQoNCgkJCQkJCS8vIHN0YXRlID0gInJlc29sdmVkIiAoaS5lLiwgZnVsZmlsbGVkKQ0KCQkJCQkJLy8gc3RhdGUgPSAicmVqZWN0ZWQiDQoJCQkJCQlzdGF0ZSA9IHN0YXRlU3RyaW5nOw0KCQkJCQl9LA0KDQoJCQkJCS8vIHJlamVjdGVkX2NhbGxiYWNrcy5kaXNhYmxlDQoJCQkJCS8vIGZ1bGZpbGxlZF9jYWxsYmFja3MuZGlzYWJsZQ0KCQkJCQl0dXBsZXNbIDMgLSBpIF1bIDIgXS5kaXNhYmxlLA0KDQoJCQkJCS8vIHJlamVjdGVkX2hhbmRsZXJzLmRpc2FibGUNCgkJCQkJLy8gZnVsZmlsbGVkX2hhbmRsZXJzLmRpc2FibGUNCgkJCQkJdHVwbGVzWyAzIC0gaSBdWyAzIF0uZGlzYWJsZSwNCg0KCQkJCQkvLyBwcm9ncmVzc19jYWxsYmFja3MubG9jaw0KCQkJCQl0dXBsZXNbIDAgXVsgMiBdLmxvY2ssDQoNCgkJCQkJLy8gcHJvZ3Jlc3NfaGFuZGxlcnMubG9jaw0KCQkJCQl0dXBsZXNbIDAgXVsgMyBdLmxvY2sNCgkJCQkpOw0KCQkJfQ0KDQoJCQkvLyBwcm9ncmVzc19oYW5kbGVycy5maXJlDQoJCQkvLyBmdWxmaWxsZWRfaGFuZGxlcnMuZmlyZQ0KCQkJLy8gcmVqZWN0ZWRfaGFuZGxlcnMuZmlyZQ0KCQkJbGlzdC5hZGQoIHR1cGxlWyAzIF0uZmlyZSApOw0KDQoJCQkvLyBkZWZlcnJlZC5ub3RpZnkgPSBmdW5jdGlvbigpIHsgZGVmZXJyZWQubm90aWZ5V2l0aCguLi4pIH0NCgkJCS8vIGRlZmVycmVkLnJlc29sdmUgPSBmdW5jdGlvbigpIHsgZGVmZXJyZWQucmVzb2x2ZVdpdGgoLi4uKSB9DQoJCQkvLyBkZWZlcnJlZC5yZWplY3QgPSBmdW5jdGlvbigpIHsgZGVmZXJyZWQucmVqZWN0V2l0aCguLi4pIH0NCgkJCWRlZmVycmVkWyB0dXBsZVsgMCBdIF0gPSBmdW5jdGlvbigpIHsNCgkJCQlkZWZlcnJlZFsgdHVwbGVbIDAgXSArICJXaXRoIiBdKCB0aGlzID09PSBkZWZlcnJlZCA/IHVuZGVmaW5lZCA6IHRoaXMsIGFyZ3VtZW50cyApOw0KCQkJCXJldHVybiB0aGlzOw0KCQkJfTsNCg0KCQkJLy8gZGVmZXJyZWQubm90aWZ5V2l0aCA9IGxpc3QuZmlyZVdpdGgNCgkJCS8vIGRlZmVycmVkLnJlc29sdmVXaXRoID0gbGlzdC5maXJlV2l0aA0KCQkJLy8gZGVmZXJyZWQucmVqZWN0V2l0aCA9IGxpc3QuZmlyZVdpdGgNCgkJCWRlZmVycmVkWyB0dXBsZVsgMCBdICsgIldpdGgiIF0gPSBsaXN0LmZpcmVXaXRoOw0KCQl9ICk7DQoNCgkJLy8gTWFrZSB0aGUgZGVmZXJyZWQgYSBwcm9taXNlDQoJCXByb21pc2UucHJvbWlzZSggZGVmZXJyZWQgKTsNCg0KCQkvLyBDYWxsIGdpdmVuIGZ1bmMgaWYgYW55DQoJCWlmICggZnVuYyApIHsNCgkJCWZ1bmMuY2FsbCggZGVmZXJyZWQsIGRlZmVycmVkICk7DQoJCX0NCg0KCQkvLyBBbGwgZG9uZSENCgkJcmV0dXJuIGRlZmVycmVkOw0KCX0sDQoNCgkvLyBEZWZlcnJlZCBoZWxwZXINCgl3aGVuOiBmdW5jdGlvbiggc2luZ2xlVmFsdWUgKSB7DQoJCXZhcg0KDQoJCQkvLyBjb3VudCBvZiB1bmNvbXBsZXRlZCBzdWJvcmRpbmF0ZXMNCgkJCXJlbWFpbmluZyA9IGFyZ3VtZW50cy5sZW5ndGgsDQoNCgkJCS8vIGNvdW50IG9mIHVucHJvY2Vzc2VkIGFyZ3VtZW50cw0KCQkJaSA9IHJlbWFpbmluZywNCg0KCQkJLy8gc3Vib3JkaW5hdGUgZnVsZmlsbG1lbnQgZGF0YQ0KCQkJcmVzb2x2ZUNvbnRleHRzID0gQXJyYXkoIGkgKSwNCgkJCXJlc29sdmVWYWx1ZXMgPSBzbGljZS5jYWxsKCBhcmd1bWVudHMgKSwNCg0KCQkJLy8gdGhlIG1hc3RlciBEZWZlcnJlZA0KCQkJbWFzdGVyID0galF1ZXJ5LkRlZmVycmVkKCksDQoNCgkJCS8vIHN1Ym9yZGluYXRlIGNhbGxiYWNrIGZhY3RvcnkNCgkJCXVwZGF0ZUZ1bmMgPSBmdW5jdGlvbiggaSApIHsNCgkJCQlyZXR1cm4gZnVuY3Rpb24oIHZhbHVlICkgew0KCQkJCQlyZXNvbHZlQ29udGV4dHNbIGkgXSA9IHRoaXM7DQoJCQkJCXJlc29sdmVWYWx1ZXNbIGkgXSA9IGFyZ3VtZW50cy5sZW5ndGggPiAxID8gc2xpY2UuY2FsbCggYXJndW1lbnRzICkgOiB2YWx1ZTsNCgkJCQkJaWYgKCAhKCAtLXJlbWFpbmluZyApICkgew0KCQkJCQkJbWFzdGVyLnJlc29sdmVXaXRoKCByZXNvbHZlQ29udGV4dHMsIHJlc29sdmVWYWx1ZXMgKTsNCgkJCQkJfQ0KCQkJCX07DQoJCQl9Ow0KDQoJCS8vIFNpbmdsZS0gYW5kIGVtcHR5IGFyZ3VtZW50cyBhcmUgYWRvcHRlZCBsaWtlIFByb21pc2UucmVzb2x2ZQ0KCQlpZiAoIHJlbWFpbmluZyA8PSAxICkgew0KCQkJYWRvcHRWYWx1ZSggc2luZ2xlVmFsdWUsIG1hc3Rlci5kb25lKCB1cGRhdGVGdW5jKCBpICkgKS5yZXNvbHZlLCBtYXN0ZXIucmVqZWN0LA0KCQkJCSFyZW1haW5pbmcgKTsNCg0KCQkJLy8gVXNlIC50aGVuKCkgdG8gdW53cmFwIHNlY29uZGFyeSB0aGVuYWJsZXMgKGNmLiBnaC0zMDAwKQ0KCQkJaWYgKCBtYXN0ZXIuc3RhdGUoKSA9PT0gInBlbmRpbmciIHx8DQoJCQkJaXNGdW5jdGlvbiggcmVzb2x2ZVZhbHVlc1sgaSBdICYmIHJlc29sdmVWYWx1ZXNbIGkgXS50aGVuICkgKSB7DQoNCgkJCQlyZXR1cm4gbWFzdGVyLnRoZW4oKTsNCgkJCX0NCgkJfQ0KDQoJCS8vIE11bHRpcGxlIGFyZ3VtZW50cyBhcmUgYWdncmVnYXRlZCBsaWtlIFByb21pc2UuYWxsIGFycmF5IGVsZW1lbnRzDQoJCXdoaWxlICggaS0tICkgew0KCQkJYWRvcHRWYWx1ZSggcmVzb2x2ZVZhbHVlc1sgaSBdLCB1cGRhdGVGdW5jKCBpICksIG1hc3Rlci5yZWplY3QgKTsNCgkJfQ0KDQoJCXJldHVybiBtYXN0ZXIucHJvbWlzZSgpOw0KCX0NCn0gKTsNCg0KDQovLyBUaGVzZSB1c3VhbGx5IGluZGljYXRlIGEgcHJvZ3JhbW1lciBtaXN0YWtlIGR1cmluZyBkZXZlbG9wbWVudCwNCi8vIHdhcm4gYWJvdXQgdGhlbSBBU0FQIHJhdGhlciB0aGFuIHN3YWxsb3dpbmcgdGhlbSBieSBkZWZhdWx0Lg0KdmFyIHJlcnJvck5hbWVzID0gL14oRXZhbHxJbnRlcm5hbHxSYW5nZXxSZWZlcmVuY2V8U3ludGF4fFR5cGV8VVJJKUVycm9yJC87DQoNCmpRdWVyeS5EZWZlcnJlZC5leGNlcHRpb25Ib29rID0gZnVuY3Rpb24oIGVycm9yLCBzdGFjayApIHsNCg0KCS8vIFN1cHBvcnQ6IElFIDggLSA5IG9ubHkNCgkvLyBDb25zb2xlIGV4aXN0cyB3aGVuIGRldiB0b29scyBhcmUgb3Blbiwgd2hpY2ggY2FuIGhhcHBlbiBhdCBhbnkgdGltZQ0KCWlmICggd2luZG93LmNvbnNvbGUgJiYgd2luZG93LmNvbnNvbGUud2FybiAmJiBlcnJvciAmJiByZXJyb3JOYW1lcy50ZXN0KCBlcnJvci5uYW1lICkgKSB7DQoJCXdpbmRvdy5jb25zb2xlLndhcm4oICJqUXVlcnkuRGVmZXJyZWQgZXhjZXB0aW9uOiAiICsgZXJyb3IubWVzc2FnZSwgZXJyb3Iuc3RhY2ssIHN0YWNrICk7DQoJfQ0KfTsNCg0KDQoNCg0KalF1ZXJ5LnJlYWR5RXhjZXB0aW9uID0gZnVuY3Rpb24oIGVycm9yICkgew0KCXdpbmRvdy5zZXRUaW1lb3V0KCBmdW5jdGlvbigpIHsNCgkJdGhyb3cgZXJyb3I7DQoJfSApOw0KfTsNCg0KDQoNCg0KLy8gVGhlIGRlZmVycmVkIHVzZWQgb24gRE9NIHJlYWR5DQp2YXIgcmVhZHlMaXN0ID0galF1ZXJ5LkRlZmVycmVkKCk7DQoNCmpRdWVyeS5mbi5yZWFkeSA9IGZ1bmN0aW9uKCBmbiApIHsNCg0KCXJlYWR5TGlzdA0KCQkudGhlbiggZm4gKQ0KDQoJCS8vIFdyYXAgalF1ZXJ5LnJlYWR5RXhjZXB0aW9uIGluIGEgZnVuY3Rpb24gc28gdGhhdCB0aGUgbG9va3VwDQoJCS8vIGhhcHBlbnMgYXQgdGhlIHRpbWUgb2YgZXJyb3IgaGFuZGxpbmcgaW5zdGVhZCBvZiBjYWxsYmFjaw0KCQkvLyByZWdpc3RyYXRpb24uDQoJCS5jYXRjaCggZnVuY3Rpb24oIGVycm9yICkgew0KCQkJalF1ZXJ5LnJlYWR5RXhjZXB0aW9uKCBlcnJvciApOw0KCQl9ICk7DQoNCglyZXR1cm4gdGhpczsNCn07DQoNCmpRdWVyeS5leHRlbmQoIHsNCg0KCS8vIElzIHRoZSBET00gcmVhZHkgdG8gYmUgdXNlZD8gU2V0IHRvIHRydWUgb25jZSBpdCBvY2N1cnMuDQoJaXNSZWFkeTogZmFsc2UsDQoNCgkvLyBBIGNvdW50ZXIgdG8gdHJhY2sgaG93IG1hbnkgaXRlbXMgdG8gd2FpdCBmb3IgYmVmb3JlDQoJLy8gdGhlIHJlYWR5IGV2ZW50IGZpcmVzLiBTZWUgIzY3ODENCglyZWFkeVdhaXQ6IDEsDQoNCgkvLyBIYW5kbGUgd2hlbiB0aGUgRE9NIGlzIHJlYWR5DQoJcmVhZHk6IGZ1bmN0aW9uKCB3YWl0ICkgew0KDQoJCS8vIEFib3J0IGlmIHRoZXJlIGFyZSBwZW5kaW5nIGhvbGRzIG9yIHdlJ3JlIGFscmVhZHkgcmVhZHkNCgkJaWYgKCB3YWl0ID09PSB0cnVlID8gLS1qUXVlcnkucmVhZHlXYWl0IDogalF1ZXJ5LmlzUmVhZHkgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQkvLyBSZW1lbWJlciB0aGF0IHRoZSBET00gaXMgcmVhZHkNCgkJalF1ZXJ5LmlzUmVhZHkgPSB0cnVlOw0KDQoJCS8vIElmIGEgbm9ybWFsIERPTSBSZWFkeSBldmVudCBmaXJlZCwgZGVjcmVtZW50LCBhbmQgd2FpdCBpZiBuZWVkIGJlDQoJCWlmICggd2FpdCAhPT0gdHJ1ZSAmJiAtLWpRdWVyeS5yZWFkeVdhaXQgPiAwICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJLy8gSWYgdGhlcmUgYXJlIGZ1bmN0aW9ucyBib3VuZCwgdG8gZXhlY3V0ZQ0KCQlyZWFkeUxpc3QucmVzb2x2ZVdpdGgoIGRvY3VtZW50LCBbIGpRdWVyeSBdICk7DQoJfQ0KfSApOw0KDQpqUXVlcnkucmVhZHkudGhlbiA9IHJlYWR5TGlzdC50aGVuOw0KDQovLyBUaGUgcmVhZHkgZXZlbnQgaGFuZGxlciBhbmQgc2VsZiBjbGVhbnVwIG1ldGhvZA0KZnVuY3Rpb24gY29tcGxldGVkKCkgew0KCWRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoICJET01Db250ZW50TG9hZGVkIiwgY29tcGxldGVkICk7DQoJd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoICJsb2FkIiwgY29tcGxldGVkICk7DQoJalF1ZXJ5LnJlYWR5KCk7DQp9DQoNCi8vIENhdGNoIGNhc2VzIHdoZXJlICQoZG9jdW1lbnQpLnJlYWR5KCkgaXMgY2FsbGVkDQovLyBhZnRlciB0aGUgYnJvd3NlciBldmVudCBoYXMgYWxyZWFkeSBvY2N1cnJlZC4NCi8vIFN1cHBvcnQ6IElFIDw9OSAtIDEwIG9ubHkNCi8vIE9sZGVyIElFIHNvbWV0aW1lcyBzaWduYWxzICJpbnRlcmFjdGl2ZSIgdG9vIHNvb24NCmlmICggZG9jdW1lbnQucmVhZHlTdGF0ZSA9PT0gImNvbXBsZXRlIiB8fA0KCSggZG9jdW1lbnQucmVhZHlTdGF0ZSAhPT0gImxvYWRpbmciICYmICFkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZG9TY3JvbGwgKSApIHsNCg0KCS8vIEhhbmRsZSBpdCBhc3luY2hyb25vdXNseSB0byBhbGxvdyBzY3JpcHRzIHRoZSBvcHBvcnR1bml0eSB0byBkZWxheSByZWFkeQ0KCXdpbmRvdy5zZXRUaW1lb3V0KCBqUXVlcnkucmVhZHkgKTsNCg0KfSBlbHNlIHsNCg0KCS8vIFVzZSB0aGUgaGFuZHkgZXZlbnQgY2FsbGJhY2sNCglkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCAiRE9NQ29udGVudExvYWRlZCIsIGNvbXBsZXRlZCApOw0KDQoJLy8gQSBmYWxsYmFjayB0byB3aW5kb3cub25sb2FkLCB0aGF0IHdpbGwgYWx3YXlzIHdvcmsNCgl3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lciggImxvYWQiLCBjb21wbGV0ZWQgKTsNCn0NCg0KDQoNCg0KLy8gTXVsdGlmdW5jdGlvbmFsIG1ldGhvZCB0byBnZXQgYW5kIHNldCB2YWx1ZXMgb2YgYSBjb2xsZWN0aW9uDQovLyBUaGUgdmFsdWUvcyBjYW4gb3B0aW9uYWxseSBiZSBleGVjdXRlZCBpZiBpdCdzIGEgZnVuY3Rpb24NCnZhciBhY2Nlc3MgPSBmdW5jdGlvbiggZWxlbXMsIGZuLCBrZXksIHZhbHVlLCBjaGFpbmFibGUsIGVtcHR5R2V0LCByYXcgKSB7DQoJdmFyIGkgPSAwLA0KCQlsZW4gPSBlbGVtcy5sZW5ndGgsDQoJCWJ1bGsgPSBrZXkgPT0gbnVsbDsNCg0KCS8vIFNldHMgbWFueSB2YWx1ZXMNCglpZiAoIHRvVHlwZSgga2V5ICkgPT09ICJvYmplY3QiICkgew0KCQljaGFpbmFibGUgPSB0cnVlOw0KCQlmb3IgKCBpIGluIGtleSApIHsNCgkJCWFjY2VzcyggZWxlbXMsIGZuLCBpLCBrZXlbIGkgXSwgdHJ1ZSwgZW1wdHlHZXQsIHJhdyApOw0KCQl9DQoNCgkvLyBTZXRzIG9uZSB2YWx1ZQ0KCX0gZWxzZSBpZiAoIHZhbHVlICE9PSB1bmRlZmluZWQgKSB7DQoJCWNoYWluYWJsZSA9IHRydWU7DQoNCgkJaWYgKCAhaXNGdW5jdGlvbiggdmFsdWUgKSApIHsNCgkJCXJhdyA9IHRydWU7DQoJCX0NCg0KCQlpZiAoIGJ1bGsgKSB7DQoNCgkJCS8vIEJ1bGsgb3BlcmF0aW9ucyBydW4gYWdhaW5zdCB0aGUgZW50aXJlIHNldA0KCQkJaWYgKCByYXcgKSB7DQoJCQkJZm4uY2FsbCggZWxlbXMsIHZhbHVlICk7DQoJCQkJZm4gPSBudWxsOw0KDQoJCQkvLyAuLi5leGNlcHQgd2hlbiBleGVjdXRpbmcgZnVuY3Rpb24gdmFsdWVzDQoJCQl9IGVsc2Ugew0KCQkJCWJ1bGsgPSBmbjsNCgkJCQlmbiA9IGZ1bmN0aW9uKCBlbGVtLCBrZXksIHZhbHVlICkgew0KCQkJCQlyZXR1cm4gYnVsay5jYWxsKCBqUXVlcnkoIGVsZW0gKSwgdmFsdWUgKTsNCgkJCQl9Ow0KCQkJfQ0KCQl9DQoNCgkJaWYgKCBmbiApIHsNCgkJCWZvciAoIDsgaSA8IGxlbjsgaSsrICkgew0KCQkJCWZuKA0KCQkJCQllbGVtc1sgaSBdLCBrZXksIHJhdyA/DQoJCQkJCXZhbHVlIDoNCgkJCQkJdmFsdWUuY2FsbCggZWxlbXNbIGkgXSwgaSwgZm4oIGVsZW1zWyBpIF0sIGtleSApICkNCgkJCQkpOw0KCQkJfQ0KCQl9DQoJfQ0KDQoJaWYgKCBjaGFpbmFibGUgKSB7DQoJCXJldHVybiBlbGVtczsNCgl9DQoNCgkvLyBHZXRzDQoJaWYgKCBidWxrICkgew0KCQlyZXR1cm4gZm4uY2FsbCggZWxlbXMgKTsNCgl9DQoNCglyZXR1cm4gbGVuID8gZm4oIGVsZW1zWyAwIF0sIGtleSApIDogZW1wdHlHZXQ7DQp9Ow0KDQoNCi8vIE1hdGNoZXMgZGFzaGVkIHN0cmluZyBmb3IgY2FtZWxpemluZw0KdmFyIHJtc1ByZWZpeCA9IC9eLW1zLS8sDQoJcmRhc2hBbHBoYSA9IC8tKFthLXpdKS9nOw0KDQovLyBVc2VkIGJ5IGNhbWVsQ2FzZSBhcyBjYWxsYmFjayB0byByZXBsYWNlKCkNCmZ1bmN0aW9uIGZjYW1lbENhc2UoIGFsbCwgbGV0dGVyICkgew0KCXJldHVybiBsZXR0ZXIudG9VcHBlckNhc2UoKTsNCn0NCg0KLy8gQ29udmVydCBkYXNoZWQgdG8gY2FtZWxDYXNlOyB1c2VkIGJ5IHRoZSBjc3MgYW5kIGRhdGEgbW9kdWxlcw0KLy8gU3VwcG9ydDogSUUgPD05IC0gMTEsIEVkZ2UgMTIgLSAxNQ0KLy8gTWljcm9zb2Z0IGZvcmdvdCB0byBodW1wIHRoZWlyIHZlbmRvciBwcmVmaXggKCM5NTcyKQ0KZnVuY3Rpb24gY2FtZWxDYXNlKCBzdHJpbmcgKSB7DQoJcmV0dXJuIHN0cmluZy5yZXBsYWNlKCBybXNQcmVmaXgsICJtcy0iICkucmVwbGFjZSggcmRhc2hBbHBoYSwgZmNhbWVsQ2FzZSApOw0KfQ0KdmFyIGFjY2VwdERhdGEgPSBmdW5jdGlvbiggb3duZXIgKSB7DQoNCgkvLyBBY2NlcHRzIG9ubHk6DQoJLy8gIC0gTm9kZQ0KCS8vICAgIC0gTm9kZS5FTEVNRU5UX05PREUNCgkvLyAgICAtIE5vZGUuRE9DVU1FTlRfTk9ERQ0KCS8vICAtIE9iamVjdA0KCS8vICAgIC0gQW55DQoJcmV0dXJuIG93bmVyLm5vZGVUeXBlID09PSAxIHx8IG93bmVyLm5vZGVUeXBlID09PSA5IHx8ICEoICtvd25lci5ub2RlVHlwZSApOw0KfTsNCg0KDQoNCg0KZnVuY3Rpb24gRGF0YSgpIHsNCgl0aGlzLmV4cGFuZG8gPSBqUXVlcnkuZXhwYW5kbyArIERhdGEudWlkKys7DQp9DQoNCkRhdGEudWlkID0gMTsNCg0KRGF0YS5wcm90b3R5cGUgPSB7DQoNCgljYWNoZTogZnVuY3Rpb24oIG93bmVyICkgew0KDQoJCS8vIENoZWNrIGlmIHRoZSBvd25lciBvYmplY3QgYWxyZWFkeSBoYXMgYSBjYWNoZQ0KCQl2YXIgdmFsdWUgPSBvd25lclsgdGhpcy5leHBhbmRvIF07DQoNCgkJLy8gSWYgbm90LCBjcmVhdGUgb25lDQoJCWlmICggIXZhbHVlICkgew0KCQkJdmFsdWUgPSB7fTsNCg0KCQkJLy8gV2UgY2FuIGFjY2VwdCBkYXRhIGZvciBub24tZWxlbWVudCBub2RlcyBpbiBtb2Rlcm4gYnJvd3NlcnMsDQoJCQkvLyBidXQgd2Ugc2hvdWxkIG5vdCwgc2VlICM4MzM1Lg0KCQkJLy8gQWx3YXlzIHJldHVybiBhbiBlbXB0eSBvYmplY3QuDQoJCQlpZiAoIGFjY2VwdERhdGEoIG93bmVyICkgKSB7DQoNCgkJCQkvLyBJZiBpdCBpcyBhIG5vZGUgdW5saWtlbHkgdG8gYmUgc3RyaW5naWZ5LWVkIG9yIGxvb3BlZCBvdmVyDQoJCQkJLy8gdXNlIHBsYWluIGFzc2lnbm1lbnQNCgkJCQlpZiAoIG93bmVyLm5vZGVUeXBlICkgew0KCQkJCQlvd25lclsgdGhpcy5leHBhbmRvIF0gPSB2YWx1ZTsNCg0KCQkJCS8vIE90aGVyd2lzZSBzZWN1cmUgaXQgaW4gYSBub24tZW51bWVyYWJsZSBwcm9wZXJ0eQ0KCQkJCS8vIGNvbmZpZ3VyYWJsZSBtdXN0IGJlIHRydWUgdG8gYWxsb3cgdGhlIHByb3BlcnR5IHRvIGJlDQoJCQkJLy8gZGVsZXRlZCB3aGVuIGRhdGEgaXMgcmVtb3ZlZA0KCQkJCX0gZWxzZSB7DQoJCQkJCU9iamVjdC5kZWZpbmVQcm9wZXJ0eSggb3duZXIsIHRoaXMuZXhwYW5kbywgew0KCQkJCQkJdmFsdWU6IHZhbHVlLA0KCQkJCQkJY29uZmlndXJhYmxlOiB0cnVlDQoJCQkJCX0gKTsNCgkJCQl9DQoJCQl9DQoJCX0NCg0KCQlyZXR1cm4gdmFsdWU7DQoJfSwNCglzZXQ6IGZ1bmN0aW9uKCBvd25lciwgZGF0YSwgdmFsdWUgKSB7DQoJCXZhciBwcm9wLA0KCQkJY2FjaGUgPSB0aGlzLmNhY2hlKCBvd25lciApOw0KDQoJCS8vIEhhbmRsZTogWyBvd25lciwga2V5LCB2YWx1ZSBdIGFyZ3MNCgkJLy8gQWx3YXlzIHVzZSBjYW1lbENhc2Uga2V5IChnaC0yMjU3KQ0KCQlpZiAoIHR5cGVvZiBkYXRhID09PSAic3RyaW5nIiApIHsNCgkJCWNhY2hlWyBjYW1lbENhc2UoIGRhdGEgKSBdID0gdmFsdWU7DQoNCgkJLy8gSGFuZGxlOiBbIG93bmVyLCB7IHByb3BlcnRpZXMgfSBdIGFyZ3MNCgkJfSBlbHNlIHsNCg0KCQkJLy8gQ29weSB0aGUgcHJvcGVydGllcyBvbmUtYnktb25lIHRvIHRoZSBjYWNoZSBvYmplY3QNCgkJCWZvciAoIHByb3AgaW4gZGF0YSApIHsNCgkJCQljYWNoZVsgY2FtZWxDYXNlKCBwcm9wICkgXSA9IGRhdGFbIHByb3AgXTsNCgkJCX0NCgkJfQ0KCQlyZXR1cm4gY2FjaGU7DQoJfSwNCglnZXQ6IGZ1bmN0aW9uKCBvd25lciwga2V5ICkgew0KCQlyZXR1cm4ga2V5ID09PSB1bmRlZmluZWQgPw0KCQkJdGhpcy5jYWNoZSggb3duZXIgKSA6DQoNCgkJCS8vIEFsd2F5cyB1c2UgY2FtZWxDYXNlIGtleSAoZ2gtMjI1NykNCgkJCW93bmVyWyB0aGlzLmV4cGFuZG8gXSAmJiBvd25lclsgdGhpcy5leHBhbmRvIF1bIGNhbWVsQ2FzZSgga2V5ICkgXTsNCgl9LA0KCWFjY2VzczogZnVuY3Rpb24oIG93bmVyLCBrZXksIHZhbHVlICkgew0KDQoJCS8vIEluIGNhc2VzIHdoZXJlIGVpdGhlcjoNCgkJLy8NCgkJLy8gICAxLiBObyBrZXkgd2FzIHNwZWNpZmllZA0KCQkvLyAgIDIuIEEgc3RyaW5nIGtleSB3YXMgc3BlY2lmaWVkLCBidXQgbm8gdmFsdWUgcHJvdmlkZWQNCgkJLy8NCgkJLy8gVGFrZSB0aGUgInJlYWQiIHBhdGggYW5kIGFsbG93IHRoZSBnZXQgbWV0aG9kIHRvIGRldGVybWluZQ0KCQkvLyB3aGljaCB2YWx1ZSB0byByZXR1cm4sIHJlc3BlY3RpdmVseSBlaXRoZXI6DQoJCS8vDQoJCS8vICAgMS4gVGhlIGVudGlyZSBjYWNoZSBvYmplY3QNCgkJLy8gICAyLiBUaGUgZGF0YSBzdG9yZWQgYXQgdGhlIGtleQ0KCQkvLw0KCQlpZiAoIGtleSA9PT0gdW5kZWZpbmVkIHx8DQoJCQkJKCAoIGtleSAmJiB0eXBlb2Yga2V5ID09PSAic3RyaW5nIiApICYmIHZhbHVlID09PSB1bmRlZmluZWQgKSApIHsNCg0KCQkJcmV0dXJuIHRoaXMuZ2V0KCBvd25lciwga2V5ICk7DQoJCX0NCg0KCQkvLyBXaGVuIHRoZSBrZXkgaXMgbm90IGEgc3RyaW5nLCBvciBib3RoIGEga2V5IGFuZCB2YWx1ZQ0KCQkvLyBhcmUgc3BlY2lmaWVkLCBzZXQgb3IgZXh0ZW5kIChleGlzdGluZyBvYmplY3RzKSB3aXRoIGVpdGhlcjoNCgkJLy8NCgkJLy8gICAxLiBBbiBvYmplY3Qgb2YgcHJvcGVydGllcw0KCQkvLyAgIDIuIEEga2V5IGFuZCB2YWx1ZQ0KCQkvLw0KCQl0aGlzLnNldCggb3duZXIsIGtleSwgdmFsdWUgKTsNCg0KCQkvLyBTaW5jZSB0aGUgInNldCIgcGF0aCBjYW4gaGF2ZSB0d28gcG9zc2libGUgZW50cnkgcG9pbnRzDQoJCS8vIHJldHVybiB0aGUgZXhwZWN0ZWQgZGF0YSBiYXNlZCBvbiB3aGljaCBwYXRoIHdhcyB0YWtlblsqXQ0KCQlyZXR1cm4gdmFsdWUgIT09IHVuZGVmaW5lZCA/IHZhbHVlIDoga2V5Ow0KCX0sDQoJcmVtb3ZlOiBmdW5jdGlvbiggb3duZXIsIGtleSApIHsNCgkJdmFyIGksDQoJCQljYWNoZSA9IG93bmVyWyB0aGlzLmV4cGFuZG8gXTsNCg0KCQlpZiAoIGNhY2hlID09PSB1bmRlZmluZWQgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQlpZiAoIGtleSAhPT0gdW5kZWZpbmVkICkgew0KDQoJCQkvLyBTdXBwb3J0IGFycmF5IG9yIHNwYWNlIHNlcGFyYXRlZCBzdHJpbmcgb2Yga2V5cw0KCQkJaWYgKCBBcnJheS5pc0FycmF5KCBrZXkgKSApIHsNCg0KCQkJCS8vIElmIGtleSBpcyBhbiBhcnJheSBvZiBrZXlzLi4uDQoJCQkJLy8gV2UgYWx3YXlzIHNldCBjYW1lbENhc2Uga2V5cywgc28gcmVtb3ZlIHRoYXQuDQoJCQkJa2V5ID0ga2V5Lm1hcCggY2FtZWxDYXNlICk7DQoJCQl9IGVsc2Ugew0KCQkJCWtleSA9IGNhbWVsQ2FzZSgga2V5ICk7DQoNCgkJCQkvLyBJZiBhIGtleSB3aXRoIHRoZSBzcGFjZXMgZXhpc3RzLCB1c2UgaXQuDQoJCQkJLy8gT3RoZXJ3aXNlLCBjcmVhdGUgYW4gYXJyYXkgYnkgbWF0Y2hpbmcgbm9uLXdoaXRlc3BhY2UNCgkJCQlrZXkgPSBrZXkgaW4gY2FjaGUgPw0KCQkJCQlbIGtleSBdIDoNCgkJCQkJKCBrZXkubWF0Y2goIHJub3RodG1sd2hpdGUgKSB8fCBbXSApOw0KCQkJfQ0KDQoJCQlpID0ga2V5Lmxlbmd0aDsNCg0KCQkJd2hpbGUgKCBpLS0gKSB7DQoJCQkJZGVsZXRlIGNhY2hlWyBrZXlbIGkgXSBdOw0KCQkJfQ0KCQl9DQoNCgkJLy8gUmVtb3ZlIHRoZSBleHBhbmRvIGlmIHRoZXJlJ3Mgbm8gbW9yZSBkYXRhDQoJCWlmICgga2V5ID09PSB1bmRlZmluZWQgfHwgalF1ZXJ5LmlzRW1wdHlPYmplY3QoIGNhY2hlICkgKSB7DQoNCgkJCS8vIFN1cHBvcnQ6IENocm9tZSA8PTM1IC0gNDUNCgkJCS8vIFdlYmtpdCAmIEJsaW5rIHBlcmZvcm1hbmNlIHN1ZmZlcnMgd2hlbiBkZWxldGluZyBwcm9wZXJ0aWVzDQoJCQkvLyBmcm9tIERPTSBub2Rlcywgc28gc2V0IHRvIHVuZGVmaW5lZCBpbnN0ZWFkDQoJCQkvLyBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD0zNzg2MDcgKGJ1ZyByZXN0cmljdGVkKQ0KCQkJaWYgKCBvd25lci5ub2RlVHlwZSApIHsNCgkJCQlvd25lclsgdGhpcy5leHBhbmRvIF0gPSB1bmRlZmluZWQ7DQoJCQl9IGVsc2Ugew0KCQkJCWRlbGV0ZSBvd25lclsgdGhpcy5leHBhbmRvIF07DQoJCQl9DQoJCX0NCgl9LA0KCWhhc0RhdGE6IGZ1bmN0aW9uKCBvd25lciApIHsNCgkJdmFyIGNhY2hlID0gb3duZXJbIHRoaXMuZXhwYW5kbyBdOw0KCQlyZXR1cm4gY2FjaGUgIT09IHVuZGVmaW5lZCAmJiAhalF1ZXJ5LmlzRW1wdHlPYmplY3QoIGNhY2hlICk7DQoJfQ0KfTsNCnZhciBkYXRhUHJpdiA9IG5ldyBEYXRhKCk7DQoNCnZhciBkYXRhVXNlciA9IG5ldyBEYXRhKCk7DQoNCg0KDQovLwlJbXBsZW1lbnRhdGlvbiBTdW1tYXJ5DQovLw0KLy8JMS4gRW5mb3JjZSBBUEkgc3VyZmFjZSBhbmQgc2VtYW50aWMgY29tcGF0aWJpbGl0eSB3aXRoIDEuOS54IGJyYW5jaA0KLy8JMi4gSW1wcm92ZSB0aGUgbW9kdWxlJ3MgbWFpbnRhaW5hYmlsaXR5IGJ5IHJlZHVjaW5nIHRoZSBzdG9yYWdlDQovLwkJcGF0aHMgdG8gYSBzaW5nbGUgbWVjaGFuaXNtLg0KLy8JMy4gVXNlIHRoZSBzYW1lIHNpbmdsZSBtZWNoYW5pc20gdG8gc3VwcG9ydCAicHJpdmF0ZSIgYW5kICJ1c2VyIiBkYXRhLg0KLy8JNC4gX05ldmVyXyBleHBvc2UgInByaXZhdGUiIGRhdGEgdG8gdXNlciBjb2RlIChUT0RPOiBEcm9wIF9kYXRhLCBfcmVtb3ZlRGF0YSkNCi8vCTUuIEF2b2lkIGV4cG9zaW5nIGltcGxlbWVudGF0aW9uIGRldGFpbHMgb24gdXNlciBvYmplY3RzIChlZy4gZXhwYW5kbyBwcm9wZXJ0aWVzKQ0KLy8JNi4gUHJvdmlkZSBhIGNsZWFyIHBhdGggZm9yIGltcGxlbWVudGF0aW9uIHVwZ3JhZGUgdG8gV2Vha01hcCBpbiAyMDE0DQoNCnZhciByYnJhY2UgPSAvXig/Olx7W1x3XFddKlx9fFxbW1x3XFddKlxdKSQvLA0KCXJtdWx0aURhc2ggPSAvW0EtWl0vZzsNCg0KZnVuY3Rpb24gZ2V0RGF0YSggZGF0YSApIHsNCglpZiAoIGRhdGEgPT09ICJ0cnVlIiApIHsNCgkJcmV0dXJuIHRydWU7DQoJfQ0KDQoJaWYgKCBkYXRhID09PSAiZmFsc2UiICkgew0KCQlyZXR1cm4gZmFsc2U7DQoJfQ0KDQoJaWYgKCBkYXRhID09PSAibnVsbCIgKSB7DQoJCXJldHVybiBudWxsOw0KCX0NCg0KCS8vIE9ubHkgY29udmVydCB0byBhIG51bWJlciBpZiBpdCBkb2Vzbid0IGNoYW5nZSB0aGUgc3RyaW5nDQoJaWYgKCBkYXRhID09PSArZGF0YSArICIiICkgew0KCQlyZXR1cm4gK2RhdGE7DQoJfQ0KDQoJaWYgKCByYnJhY2UudGVzdCggZGF0YSApICkgew0KCQlyZXR1cm4gSlNPTi5wYXJzZSggZGF0YSApOw0KCX0NCg0KCXJldHVybiBkYXRhOw0KfQ0KDQpmdW5jdGlvbiBkYXRhQXR0ciggZWxlbSwga2V5LCBkYXRhICkgew0KCXZhciBuYW1lOw0KDQoJLy8gSWYgbm90aGluZyB3YXMgZm91bmQgaW50ZXJuYWxseSwgdHJ5IHRvIGZldGNoIGFueQ0KCS8vIGRhdGEgZnJvbSB0aGUgSFRNTDUgZGF0YS0qIGF0dHJpYnV0ZQ0KCWlmICggZGF0YSA9PT0gdW5kZWZpbmVkICYmIGVsZW0ubm9kZVR5cGUgPT09IDEgKSB7DQoJCW5hbWUgPSAiZGF0YS0iICsga2V5LnJlcGxhY2UoIHJtdWx0aURhc2gsICItJCYiICkudG9Mb3dlckNhc2UoKTsNCgkJZGF0YSA9IGVsZW0uZ2V0QXR0cmlidXRlKCBuYW1lICk7DQoNCgkJaWYgKCB0eXBlb2YgZGF0YSA9PT0gInN0cmluZyIgKSB7DQoJCQl0cnkgew0KCQkJCWRhdGEgPSBnZXREYXRhKCBkYXRhICk7DQoJCQl9IGNhdGNoICggZSApIHt9DQoNCgkJCS8vIE1ha2Ugc3VyZSB3ZSBzZXQgdGhlIGRhdGEgc28gaXQgaXNuJ3QgY2hhbmdlZCBsYXRlcg0KCQkJZGF0YVVzZXIuc2V0KCBlbGVtLCBrZXksIGRhdGEgKTsNCgkJfSBlbHNlIHsNCgkJCWRhdGEgPSB1bmRlZmluZWQ7DQoJCX0NCgl9DQoJcmV0dXJuIGRhdGE7DQp9DQoNCmpRdWVyeS5leHRlbmQoIHsNCgloYXNEYXRhOiBmdW5jdGlvbiggZWxlbSApIHsNCgkJcmV0dXJuIGRhdGFVc2VyLmhhc0RhdGEoIGVsZW0gKSB8fCBkYXRhUHJpdi5oYXNEYXRhKCBlbGVtICk7DQoJfSwNCg0KCWRhdGE6IGZ1bmN0aW9uKCBlbGVtLCBuYW1lLCBkYXRhICkgew0KCQlyZXR1cm4gZGF0YVVzZXIuYWNjZXNzKCBlbGVtLCBuYW1lLCBkYXRhICk7DQoJfSwNCg0KCXJlbW92ZURhdGE6IGZ1bmN0aW9uKCBlbGVtLCBuYW1lICkgew0KCQlkYXRhVXNlci5yZW1vdmUoIGVsZW0sIG5hbWUgKTsNCgl9LA0KDQoJLy8gVE9ETzogTm93IHRoYXQgYWxsIGNhbGxzIHRvIF9kYXRhIGFuZCBfcmVtb3ZlRGF0YSBoYXZlIGJlZW4gcmVwbGFjZWQNCgkvLyB3aXRoIGRpcmVjdCBjYWxscyB0byBkYXRhUHJpdiBtZXRob2RzLCB0aGVzZSBjYW4gYmUgZGVwcmVjYXRlZC4NCglfZGF0YTogZnVuY3Rpb24oIGVsZW0sIG5hbWUsIGRhdGEgKSB7DQoJCXJldHVybiBkYXRhUHJpdi5hY2Nlc3MoIGVsZW0sIG5hbWUsIGRhdGEgKTsNCgl9LA0KDQoJX3JlbW92ZURhdGE6IGZ1bmN0aW9uKCBlbGVtLCBuYW1lICkgew0KCQlkYXRhUHJpdi5yZW1vdmUoIGVsZW0sIG5hbWUgKTsNCgl9DQp9ICk7DQoNCmpRdWVyeS5mbi5leHRlbmQoIHsNCglkYXRhOiBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsNCgkJdmFyIGksIG5hbWUsIGRhdGEsDQoJCQllbGVtID0gdGhpc1sgMCBdLA0KCQkJYXR0cnMgPSBlbGVtICYmIGVsZW0uYXR0cmlidXRlczsNCg0KCQkvLyBHZXRzIGFsbCB2YWx1ZXMNCgkJaWYgKCBrZXkgPT09IHVuZGVmaW5lZCApIHsNCgkJCWlmICggdGhpcy5sZW5ndGggKSB7DQoJCQkJZGF0YSA9IGRhdGFVc2VyLmdldCggZWxlbSApOw0KDQoJCQkJaWYgKCBlbGVtLm5vZGVUeXBlID09PSAxICYmICFkYXRhUHJpdi5nZXQoIGVsZW0sICJoYXNEYXRhQXR0cnMiICkgKSB7DQoJCQkJCWkgPSBhdHRycy5sZW5ndGg7DQoJCQkJCXdoaWxlICggaS0tICkgew0KDQoJCQkJCQkvLyBTdXBwb3J0OiBJRSAxMSBvbmx5DQoJCQkJCQkvLyBUaGUgYXR0cnMgZWxlbWVudHMgY2FuIGJlIG51bGwgKCMxNDg5NCkNCgkJCQkJCWlmICggYXR0cnNbIGkgXSApIHsNCgkJCQkJCQluYW1lID0gYXR0cnNbIGkgXS5uYW1lOw0KCQkJCQkJCWlmICggbmFtZS5pbmRleE9mKCAiZGF0YS0iICkgPT09IDAgKSB7DQoJCQkJCQkJCW5hbWUgPSBjYW1lbENhc2UoIG5hbWUuc2xpY2UoIDUgKSApOw0KCQkJCQkJCQlkYXRhQXR0ciggZWxlbSwgbmFtZSwgZGF0YVsgbmFtZSBdICk7DQoJCQkJCQkJfQ0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJCWRhdGFQcml2LnNldCggZWxlbSwgImhhc0RhdGFBdHRycyIsIHRydWUgKTsNCgkJCQl9DQoJCQl9DQoNCgkJCXJldHVybiBkYXRhOw0KCQl9DQoNCgkJLy8gU2V0cyBtdWx0aXBsZSB2YWx1ZXMNCgkJaWYgKCB0eXBlb2Yga2V5ID09PSAib2JqZWN0IiApIHsNCgkJCXJldHVybiB0aGlzLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJCWRhdGFVc2VyLnNldCggdGhpcywga2V5ICk7DQoJCQl9ICk7DQoJCX0NCg0KCQlyZXR1cm4gYWNjZXNzKCB0aGlzLCBmdW5jdGlvbiggdmFsdWUgKSB7DQoJCQl2YXIgZGF0YTsNCg0KCQkJLy8gVGhlIGNhbGxpbmcgalF1ZXJ5IG9iamVjdCAoZWxlbWVudCBtYXRjaGVzKSBpcyBub3QgZW1wdHkNCgkJCS8vIChhbmQgdGhlcmVmb3JlIGhhcyBhbiBlbGVtZW50IGFwcGVhcnMgYXQgdGhpc1sgMCBdKSBhbmQgdGhlDQoJCQkvLyBgdmFsdWVgIHBhcmFtZXRlciB3YXMgbm90IHVuZGVmaW5lZC4gQW4gZW1wdHkgalF1ZXJ5IG9iamVjdA0KCQkJLy8gd2lsbCByZXN1bHQgaW4gYHVuZGVmaW5lZGAgZm9yIGVsZW0gPSB0aGlzWyAwIF0gd2hpY2ggd2lsbA0KCQkJLy8gdGhyb3cgYW4gZXhjZXB0aW9uIGlmIGFuIGF0dGVtcHQgdG8gcmVhZCBhIGRhdGEgY2FjaGUgaXMgbWFkZS4NCgkJCWlmICggZWxlbSAmJiB2YWx1ZSA9PT0gdW5kZWZpbmVkICkgew0KDQoJCQkJLy8gQXR0ZW1wdCB0byBnZXQgZGF0YSBmcm9tIHRoZSBjYWNoZQ0KCQkJCS8vIFRoZSBrZXkgd2lsbCBhbHdheXMgYmUgY2FtZWxDYXNlZCBpbiBEYXRhDQoJCQkJZGF0YSA9IGRhdGFVc2VyLmdldCggZWxlbSwga2V5ICk7DQoJCQkJaWYgKCBkYXRhICE9PSB1bmRlZmluZWQgKSB7DQoJCQkJCXJldHVybiBkYXRhOw0KCQkJCX0NCg0KCQkJCS8vIEF0dGVtcHQgdG8gImRpc2NvdmVyIiB0aGUgZGF0YSBpbg0KCQkJCS8vIEhUTUw1IGN1c3RvbSBkYXRhLSogYXR0cnMNCgkJCQlkYXRhID0gZGF0YUF0dHIoIGVsZW0sIGtleSApOw0KCQkJCWlmICggZGF0YSAhPT0gdW5kZWZpbmVkICkgew0KCQkJCQlyZXR1cm4gZGF0YTsNCgkJCQl9DQoNCgkJCQkvLyBXZSB0cmllZCByZWFsbHkgaGFyZCwgYnV0IHRoZSBkYXRhIGRvZXNuJ3QgZXhpc3QuDQoJCQkJcmV0dXJuOw0KCQkJfQ0KDQoJCQkvLyBTZXQgdGhlIGRhdGEuLi4NCgkJCXRoaXMuZWFjaCggZnVuY3Rpb24oKSB7DQoNCgkJCQkvLyBXZSBhbHdheXMgc3RvcmUgdGhlIGNhbWVsQ2FzZWQga2V5DQoJCQkJZGF0YVVzZXIuc2V0KCB0aGlzLCBrZXksIHZhbHVlICk7DQoJCQl9ICk7DQoJCX0sIG51bGwsIHZhbHVlLCBhcmd1bWVudHMubGVuZ3RoID4gMSwgbnVsbCwgdHJ1ZSApOw0KCX0sDQoNCglyZW1vdmVEYXRhOiBmdW5jdGlvbigga2V5ICkgew0KCQlyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCWRhdGFVc2VyLnJlbW92ZSggdGhpcywga2V5ICk7DQoJCX0gKTsNCgl9DQp9ICk7DQoNCg0KalF1ZXJ5LmV4dGVuZCggew0KCXF1ZXVlOiBmdW5jdGlvbiggZWxlbSwgdHlwZSwgZGF0YSApIHsNCgkJdmFyIHF1ZXVlOw0KDQoJCWlmICggZWxlbSApIHsNCgkJCXR5cGUgPSAoIHR5cGUgfHwgImZ4IiApICsgInF1ZXVlIjsNCgkJCXF1ZXVlID0gZGF0YVByaXYuZ2V0KCBlbGVtLCB0eXBlICk7DQoNCgkJCS8vIFNwZWVkIHVwIGRlcXVldWUgYnkgZ2V0dGluZyBvdXQgcXVpY2tseSBpZiB0aGlzIGlzIGp1c3QgYSBsb29rdXANCgkJCWlmICggZGF0YSApIHsNCgkJCQlpZiAoICFxdWV1ZSB8fCBBcnJheS5pc0FycmF5KCBkYXRhICkgKSB7DQoJCQkJCXF1ZXVlID0gZGF0YVByaXYuYWNjZXNzKCBlbGVtLCB0eXBlLCBqUXVlcnkubWFrZUFycmF5KCBkYXRhICkgKTsNCgkJCQl9IGVsc2Ugew0KCQkJCQlxdWV1ZS5wdXNoKCBkYXRhICk7DQoJCQkJfQ0KCQkJfQ0KCQkJcmV0dXJuIHF1ZXVlIHx8IFtdOw0KCQl9DQoJfSwNCg0KCWRlcXVldWU6IGZ1bmN0aW9uKCBlbGVtLCB0eXBlICkgew0KCQl0eXBlID0gdHlwZSB8fCAiZngiOw0KDQoJCXZhciBxdWV1ZSA9IGpRdWVyeS5xdWV1ZSggZWxlbSwgdHlwZSApLA0KCQkJc3RhcnRMZW5ndGggPSBxdWV1ZS5sZW5ndGgsDQoJCQlmbiA9IHF1ZXVlLnNoaWZ0KCksDQoJCQlob29rcyA9IGpRdWVyeS5fcXVldWVIb29rcyggZWxlbSwgdHlwZSApLA0KCQkJbmV4dCA9IGZ1bmN0aW9uKCkgew0KCQkJCWpRdWVyeS5kZXF1ZXVlKCBlbGVtLCB0eXBlICk7DQoJCQl9Ow0KDQoJCS8vIElmIHRoZSBmeCBxdWV1ZSBpcyBkZXF1ZXVlZCwgYWx3YXlzIHJlbW92ZSB0aGUgcHJvZ3Jlc3Mgc2VudGluZWwNCgkJaWYgKCBmbiA9PT0gImlucHJvZ3Jlc3MiICkgew0KCQkJZm4gPSBxdWV1ZS5zaGlmdCgpOw0KCQkJc3RhcnRMZW5ndGgtLTsNCgkJfQ0KDQoJCWlmICggZm4gKSB7DQoNCgkJCS8vIEFkZCBhIHByb2dyZXNzIHNlbnRpbmVsIHRvIHByZXZlbnQgdGhlIGZ4IHF1ZXVlIGZyb20gYmVpbmcNCgkJCS8vIGF1dG9tYXRpY2FsbHkgZGVxdWV1ZWQNCgkJCWlmICggdHlwZSA9PT0gImZ4IiApIHsNCgkJCQlxdWV1ZS51bnNoaWZ0KCAiaW5wcm9ncmVzcyIgKTsNCgkJCX0NCg0KCQkJLy8gQ2xlYXIgdXAgdGhlIGxhc3QgcXVldWUgc3RvcCBmdW5jdGlvbg0KCQkJZGVsZXRlIGhvb2tzLnN0b3A7DQoJCQlmbi5jYWxsKCBlbGVtLCBuZXh0LCBob29rcyApOw0KCQl9DQoNCgkJaWYgKCAhc3RhcnRMZW5ndGggJiYgaG9va3MgKSB7DQoJCQlob29rcy5lbXB0eS5maXJlKCk7DQoJCX0NCgl9LA0KDQoJLy8gTm90IHB1YmxpYyAtIGdlbmVyYXRlIGEgcXVldWVIb29rcyBvYmplY3QsIG9yIHJldHVybiB0aGUgY3VycmVudCBvbmUNCglfcXVldWVIb29rczogZnVuY3Rpb24oIGVsZW0sIHR5cGUgKSB7DQoJCXZhciBrZXkgPSB0eXBlICsgInF1ZXVlSG9va3MiOw0KCQlyZXR1cm4gZGF0YVByaXYuZ2V0KCBlbGVtLCBrZXkgKSB8fCBkYXRhUHJpdi5hY2Nlc3MoIGVsZW0sIGtleSwgew0KCQkJZW1wdHk6IGpRdWVyeS5DYWxsYmFja3MoICJvbmNlIG1lbW9yeSIgKS5hZGQoIGZ1bmN0aW9uKCkgew0KCQkJCWRhdGFQcml2LnJlbW92ZSggZWxlbSwgWyB0eXBlICsgInF1ZXVlIiwga2V5IF0gKTsNCgkJCX0gKQ0KCQl9ICk7DQoJfQ0KfSApOw0KDQpqUXVlcnkuZm4uZXh0ZW5kKCB7DQoJcXVldWU6IGZ1bmN0aW9uKCB0eXBlLCBkYXRhICkgew0KCQl2YXIgc2V0dGVyID0gMjsNCg0KCQlpZiAoIHR5cGVvZiB0eXBlICE9PSAic3RyaW5nIiApIHsNCgkJCWRhdGEgPSB0eXBlOw0KCQkJdHlwZSA9ICJmeCI7DQoJCQlzZXR0ZXItLTsNCgkJfQ0KDQoJCWlmICggYXJndW1lbnRzLmxlbmd0aCA8IHNldHRlciApIHsNCgkJCXJldHVybiBqUXVlcnkucXVldWUoIHRoaXNbIDAgXSwgdHlwZSApOw0KCQl9DQoNCgkJcmV0dXJuIGRhdGEgPT09IHVuZGVmaW5lZCA/DQoJCQl0aGlzIDoNCgkJCXRoaXMuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQkJdmFyIHF1ZXVlID0galF1ZXJ5LnF1ZXVlKCB0aGlzLCB0eXBlLCBkYXRhICk7DQoNCgkJCQkvLyBFbnN1cmUgYSBob29rcyBmb3IgdGhpcyBxdWV1ZQ0KCQkJCWpRdWVyeS5fcXVldWVIb29rcyggdGhpcywgdHlwZSApOw0KDQoJCQkJaWYgKCB0eXBlID09PSAiZngiICYmIHF1ZXVlWyAwIF0gIT09ICJpbnByb2dyZXNzIiApIHsNCgkJCQkJalF1ZXJ5LmRlcXVldWUoIHRoaXMsIHR5cGUgKTsNCgkJCQl9DQoJCQl9ICk7DQoJfSwNCglkZXF1ZXVlOiBmdW5jdGlvbiggdHlwZSApIHsNCgkJcmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQlqUXVlcnkuZGVxdWV1ZSggdGhpcywgdHlwZSApOw0KCQl9ICk7DQoJfSwNCgljbGVhclF1ZXVlOiBmdW5jdGlvbiggdHlwZSApIHsNCgkJcmV0dXJuIHRoaXMucXVldWUoIHR5cGUgfHwgImZ4IiwgW10gKTsNCgl9LA0KDQoJLy8gR2V0IGEgcHJvbWlzZSByZXNvbHZlZCB3aGVuIHF1ZXVlcyBvZiBhIGNlcnRhaW4gdHlwZQ0KCS8vIGFyZSBlbXB0aWVkIChmeCBpcyB0aGUgdHlwZSBieSBkZWZhdWx0KQ0KCXByb21pc2U6IGZ1bmN0aW9uKCB0eXBlLCBvYmogKSB7DQoJCXZhciB0bXAsDQoJCQljb3VudCA9IDEsDQoJCQlkZWZlciA9IGpRdWVyeS5EZWZlcnJlZCgpLA0KCQkJZWxlbWVudHMgPSB0aGlzLA0KCQkJaSA9IHRoaXMubGVuZ3RoLA0KCQkJcmVzb2x2ZSA9IGZ1bmN0aW9uKCkgew0KCQkJCWlmICggISggLS1jb3VudCApICkgew0KCQkJCQlkZWZlci5yZXNvbHZlV2l0aCggZWxlbWVudHMsIFsgZWxlbWVudHMgXSApOw0KCQkJCX0NCgkJCX07DQoNCgkJaWYgKCB0eXBlb2YgdHlwZSAhPT0gInN0cmluZyIgKSB7DQoJCQlvYmogPSB0eXBlOw0KCQkJdHlwZSA9IHVuZGVmaW5lZDsNCgkJfQ0KCQl0eXBlID0gdHlwZSB8fCAiZngiOw0KDQoJCXdoaWxlICggaS0tICkgew0KCQkJdG1wID0gZGF0YVByaXYuZ2V0KCBlbGVtZW50c1sgaSBdLCB0eXBlICsgInF1ZXVlSG9va3MiICk7DQoJCQlpZiAoIHRtcCAmJiB0bXAuZW1wdHkgKSB7DQoJCQkJY291bnQrKzsNCgkJCQl0bXAuZW1wdHkuYWRkKCByZXNvbHZlICk7DQoJCQl9DQoJCX0NCgkJcmVzb2x2ZSgpOw0KCQlyZXR1cm4gZGVmZXIucHJvbWlzZSggb2JqICk7DQoJfQ0KfSApOw0KdmFyIHBudW0gPSAoIC9bKy1dPyg/OlxkKlwufClcZCsoPzpbZUVdWystXT9cZCt8KS8gKS5zb3VyY2U7DQoNCnZhciByY3NzTnVtID0gbmV3IFJlZ0V4cCggIl4oPzooWystXSk9fCkoIiArIHBudW0gKyAiKShbYS16JV0qKSQiLCAiaSIgKTsNCg0KDQp2YXIgY3NzRXhwYW5kID0gWyAiVG9wIiwgIlJpZ2h0IiwgIkJvdHRvbSIsICJMZWZ0IiBdOw0KDQp2YXIgaXNIaWRkZW5XaXRoaW5UcmVlID0gZnVuY3Rpb24oIGVsZW0sIGVsICkgew0KDQoJCS8vIGlzSGlkZGVuV2l0aGluVHJlZSBtaWdodCBiZSBjYWxsZWQgZnJvbSBqUXVlcnkjZmlsdGVyIGZ1bmN0aW9uOw0KCQkvLyBpbiB0aGF0IGNhc2UsIGVsZW1lbnQgd2lsbCBiZSBzZWNvbmQgYXJndW1lbnQNCgkJZWxlbSA9IGVsIHx8IGVsZW07DQoNCgkJLy8gSW5saW5lIHN0eWxlIHRydW1wcyBhbGwNCgkJcmV0dXJuIGVsZW0uc3R5bGUuZGlzcGxheSA9PT0gIm5vbmUiIHx8DQoJCQllbGVtLnN0eWxlLmRpc3BsYXkgPT09ICIiICYmDQoNCgkJCS8vIE90aGVyd2lzZSwgY2hlY2sgY29tcHV0ZWQgc3R5bGUNCgkJCS8vIFN1cHBvcnQ6IEZpcmVmb3ggPD00MyAtIDQ1DQoJCQkvLyBEaXNjb25uZWN0ZWQgZWxlbWVudHMgY2FuIGhhdmUgY29tcHV0ZWQgZGlzcGxheTogbm9uZSwgc28gZmlyc3QgY29uZmlybSB0aGF0IGVsZW0gaXMNCgkJCS8vIGluIHRoZSBkb2N1bWVudC4NCgkJCWpRdWVyeS5jb250YWlucyggZWxlbS5vd25lckRvY3VtZW50LCBlbGVtICkgJiYNCg0KCQkJalF1ZXJ5LmNzcyggZWxlbSwgImRpc3BsYXkiICkgPT09ICJub25lIjsNCgl9Ow0KDQp2YXIgc3dhcCA9IGZ1bmN0aW9uKCBlbGVtLCBvcHRpb25zLCBjYWxsYmFjaywgYXJncyApIHsNCgl2YXIgcmV0LCBuYW1lLA0KCQlvbGQgPSB7fTsNCg0KCS8vIFJlbWVtYmVyIHRoZSBvbGQgdmFsdWVzLCBhbmQgaW5zZXJ0IHRoZSBuZXcgb25lcw0KCWZvciAoIG5hbWUgaW4gb3B0aW9ucyApIHsNCgkJb2xkWyBuYW1lIF0gPSBlbGVtLnN0eWxlWyBuYW1lIF07DQoJCWVsZW0uc3R5bGVbIG5hbWUgXSA9IG9wdGlvbnNbIG5hbWUgXTsNCgl9DQoNCglyZXQgPSBjYWxsYmFjay5hcHBseSggZWxlbSwgYXJncyB8fCBbXSApOw0KDQoJLy8gUmV2ZXJ0IHRoZSBvbGQgdmFsdWVzDQoJZm9yICggbmFtZSBpbiBvcHRpb25zICkgew0KCQllbGVtLnN0eWxlWyBuYW1lIF0gPSBvbGRbIG5hbWUgXTsNCgl9DQoNCglyZXR1cm4gcmV0Ow0KfTsNCg0KDQoNCg0KZnVuY3Rpb24gYWRqdXN0Q1NTKCBlbGVtLCBwcm9wLCB2YWx1ZVBhcnRzLCB0d2VlbiApIHsNCgl2YXIgYWRqdXN0ZWQsIHNjYWxlLA0KCQltYXhJdGVyYXRpb25zID0gMjAsDQoJCWN1cnJlbnRWYWx1ZSA9IHR3ZWVuID8NCgkJCWZ1bmN0aW9uKCkgew0KCQkJCXJldHVybiB0d2Vlbi5jdXIoKTsNCgkJCX0gOg0KCQkJZnVuY3Rpb24oKSB7DQoJCQkJcmV0dXJuIGpRdWVyeS5jc3MoIGVsZW0sIHByb3AsICIiICk7DQoJCQl9LA0KCQlpbml0aWFsID0gY3VycmVudFZhbHVlKCksDQoJCXVuaXQgPSB2YWx1ZVBhcnRzICYmIHZhbHVlUGFydHNbIDMgXSB8fCAoIGpRdWVyeS5jc3NOdW1iZXJbIHByb3AgXSA/ICIiIDogInB4IiApLA0KDQoJCS8vIFN0YXJ0aW5nIHZhbHVlIGNvbXB1dGF0aW9uIGlzIHJlcXVpcmVkIGZvciBwb3RlbnRpYWwgdW5pdCBtaXNtYXRjaGVzDQoJCWluaXRpYWxJblVuaXQgPSAoIGpRdWVyeS5jc3NOdW1iZXJbIHByb3AgXSB8fCB1bml0ICE9PSAicHgiICYmICtpbml0aWFsICkgJiYNCgkJCXJjc3NOdW0uZXhlYyggalF1ZXJ5LmNzcyggZWxlbSwgcHJvcCApICk7DQoNCglpZiAoIGluaXRpYWxJblVuaXQgJiYgaW5pdGlhbEluVW5pdFsgMyBdICE9PSB1bml0ICkgew0KDQoJCS8vIFN1cHBvcnQ6IEZpcmVmb3ggPD01NA0KCQkvLyBIYWx2ZSB0aGUgaXRlcmF0aW9uIHRhcmdldCB2YWx1ZSB0byBwcmV2ZW50IGludGVyZmVyZW5jZSBmcm9tIENTUyB1cHBlciBib3VuZHMgKGdoLTIxNDQpDQoJCWluaXRpYWwgPSBpbml0aWFsIC8gMjsNCg0KCQkvLyBUcnVzdCB1bml0cyByZXBvcnRlZCBieSBqUXVlcnkuY3NzDQoJCXVuaXQgPSB1bml0IHx8IGluaXRpYWxJblVuaXRbIDMgXTsNCg0KCQkvLyBJdGVyYXRpdmVseSBhcHByb3hpbWF0ZSBmcm9tIGEgbm9uemVybyBzdGFydGluZyBwb2ludA0KCQlpbml0aWFsSW5Vbml0ID0gK2luaXRpYWwgfHwgMTsNCg0KCQl3aGlsZSAoIG1heEl0ZXJhdGlvbnMtLSApIHsNCg0KCQkJLy8gRXZhbHVhdGUgYW5kIHVwZGF0ZSBvdXIgYmVzdCBndWVzcyAoZG91YmxpbmcgZ3Vlc3NlcyB0aGF0IHplcm8gb3V0KS4NCgkJCS8vIEZpbmlzaCBpZiB0aGUgc2NhbGUgZXF1YWxzIG9yIGNyb3NzZXMgMSAobWFraW5nIHRoZSBvbGQqbmV3IHByb2R1Y3Qgbm9uLXBvc2l0aXZlKS4NCgkJCWpRdWVyeS5zdHlsZSggZWxlbSwgcHJvcCwgaW5pdGlhbEluVW5pdCArIHVuaXQgKTsNCgkJCWlmICggKCAxIC0gc2NhbGUgKSAqICggMSAtICggc2NhbGUgPSBjdXJyZW50VmFsdWUoKSAvIGluaXRpYWwgfHwgMC41ICkgKSA8PSAwICkgew0KCQkJCW1heEl0ZXJhdGlvbnMgPSAwOw0KCQkJfQ0KCQkJaW5pdGlhbEluVW5pdCA9IGluaXRpYWxJblVuaXQgLyBzY2FsZTsNCg0KCQl9DQoNCgkJaW5pdGlhbEluVW5pdCA9IGluaXRpYWxJblVuaXQgKiAyOw0KCQlqUXVlcnkuc3R5bGUoIGVsZW0sIHByb3AsIGluaXRpYWxJblVuaXQgKyB1bml0ICk7DQoNCgkJLy8gTWFrZSBzdXJlIHdlIHVwZGF0ZSB0aGUgdHdlZW4gcHJvcGVydGllcyBsYXRlciBvbg0KCQl2YWx1ZVBhcnRzID0gdmFsdWVQYXJ0cyB8fCBbXTsNCgl9DQoNCglpZiAoIHZhbHVlUGFydHMgKSB7DQoJCWluaXRpYWxJblVuaXQgPSAraW5pdGlhbEluVW5pdCB8fCAraW5pdGlhbCB8fCAwOw0KDQoJCS8vIEFwcGx5IHJlbGF0aXZlIG9mZnNldCAoKz0vLT0pIGlmIHNwZWNpZmllZA0KCQlhZGp1c3RlZCA9IHZhbHVlUGFydHNbIDEgXSA/DQoJCQlpbml0aWFsSW5Vbml0ICsgKCB2YWx1ZVBhcnRzWyAxIF0gKyAxICkgKiB2YWx1ZVBhcnRzWyAyIF0gOg0KCQkJK3ZhbHVlUGFydHNbIDIgXTsNCgkJaWYgKCB0d2VlbiApIHsNCgkJCXR3ZWVuLnVuaXQgPSB1bml0Ow0KCQkJdHdlZW4uc3RhcnQgPSBpbml0aWFsSW5Vbml0Ow0KCQkJdHdlZW4uZW5kID0gYWRqdXN0ZWQ7DQoJCX0NCgl9DQoJcmV0dXJuIGFkanVzdGVkOw0KfQ0KDQoNCnZhciBkZWZhdWx0RGlzcGxheU1hcCA9IHt9Ow0KDQpmdW5jdGlvbiBnZXREZWZhdWx0RGlzcGxheSggZWxlbSApIHsNCgl2YXIgdGVtcCwNCgkJZG9jID0gZWxlbS5vd25lckRvY3VtZW50LA0KCQlub2RlTmFtZSA9IGVsZW0ubm9kZU5hbWUsDQoJCWRpc3BsYXkgPSBkZWZhdWx0RGlzcGxheU1hcFsgbm9kZU5hbWUgXTsNCg0KCWlmICggZGlzcGxheSApIHsNCgkJcmV0dXJuIGRpc3BsYXk7DQoJfQ0KDQoJdGVtcCA9IGRvYy5ib2R5LmFwcGVuZENoaWxkKCBkb2MuY3JlYXRlRWxlbWVudCggbm9kZU5hbWUgKSApOw0KCWRpc3BsYXkgPSBqUXVlcnkuY3NzKCB0ZW1wLCAiZGlzcGxheSIgKTsNCg0KCXRlbXAucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCggdGVtcCApOw0KDQoJaWYgKCBkaXNwbGF5ID09PSAibm9uZSIgKSB7DQoJCWRpc3BsYXkgPSAiYmxvY2siOw0KCX0NCglkZWZhdWx0RGlzcGxheU1hcFsgbm9kZU5hbWUgXSA9IGRpc3BsYXk7DQoNCglyZXR1cm4gZGlzcGxheTsNCn0NCg0KZnVuY3Rpb24gc2hvd0hpZGUoIGVsZW1lbnRzLCBzaG93ICkgew0KCXZhciBkaXNwbGF5LCBlbGVtLA0KCQl2YWx1ZXMgPSBbXSwNCgkJaW5kZXggPSAwLA0KCQlsZW5ndGggPSBlbGVtZW50cy5sZW5ndGg7DQoNCgkvLyBEZXRlcm1pbmUgbmV3IGRpc3BsYXkgdmFsdWUgZm9yIGVsZW1lbnRzIHRoYXQgbmVlZCB0byBjaGFuZ2UNCglmb3IgKCA7IGluZGV4IDwgbGVuZ3RoOyBpbmRleCsrICkgew0KCQllbGVtID0gZWxlbWVudHNbIGluZGV4IF07DQoJCWlmICggIWVsZW0uc3R5bGUgKSB7DQoJCQljb250aW51ZTsNCgkJfQ0KDQoJCWRpc3BsYXkgPSBlbGVtLnN0eWxlLmRpc3BsYXk7DQoJCWlmICggc2hvdyApIHsNCg0KCQkJLy8gU2luY2Ugd2UgZm9yY2UgdmlzaWJpbGl0eSB1cG9uIGNhc2NhZGUtaGlkZGVuIGVsZW1lbnRzLCBhbiBpbW1lZGlhdGUgKGFuZCBzbG93KQ0KCQkJLy8gY2hlY2sgaXMgcmVxdWlyZWQgaW4gdGhpcyBmaXJzdCBsb29wIHVubGVzcyB3ZSBoYXZlIGEgbm9uZW1wdHkgZGlzcGxheSB2YWx1ZSAoZWl0aGVyDQoJCQkvLyBpbmxpbmUgb3IgYWJvdXQtdG8tYmUtcmVzdG9yZWQpDQoJCQlpZiAoIGRpc3BsYXkgPT09ICJub25lIiApIHsNCgkJCQl2YWx1ZXNbIGluZGV4IF0gPSBkYXRhUHJpdi5nZXQoIGVsZW0sICJkaXNwbGF5IiApIHx8IG51bGw7DQoJCQkJaWYgKCAhdmFsdWVzWyBpbmRleCBdICkgew0KCQkJCQllbGVtLnN0eWxlLmRpc3BsYXkgPSAiIjsNCgkJCQl9DQoJCQl9DQoJCQlpZiAoIGVsZW0uc3R5bGUuZGlzcGxheSA9PT0gIiIgJiYgaXNIaWRkZW5XaXRoaW5UcmVlKCBlbGVtICkgKSB7DQoJCQkJdmFsdWVzWyBpbmRleCBdID0gZ2V0RGVmYXVsdERpc3BsYXkoIGVsZW0gKTsNCgkJCX0NCgkJfSBlbHNlIHsNCgkJCWlmICggZGlzcGxheSAhPT0gIm5vbmUiICkgew0KCQkJCXZhbHVlc1sgaW5kZXggXSA9ICJub25lIjsNCg0KCQkJCS8vIFJlbWVtYmVyIHdoYXQgd2UncmUgb3ZlcndyaXRpbmcNCgkJCQlkYXRhUHJpdi5zZXQoIGVsZW0sICJkaXNwbGF5IiwgZGlzcGxheSApOw0KCQkJfQ0KCQl9DQoJfQ0KDQoJLy8gU2V0IHRoZSBkaXNwbGF5IG9mIHRoZSBlbGVtZW50cyBpbiBhIHNlY29uZCBsb29wIHRvIGF2b2lkIGNvbnN0YW50IHJlZmxvdw0KCWZvciAoIGluZGV4ID0gMDsgaW5kZXggPCBsZW5ndGg7IGluZGV4KysgKSB7DQoJCWlmICggdmFsdWVzWyBpbmRleCBdICE9IG51bGwgKSB7DQoJCQllbGVtZW50c1sgaW5kZXggXS5zdHlsZS5kaXNwbGF5ID0gdmFsdWVzWyBpbmRleCBdOw0KCQl9DQoJfQ0KDQoJcmV0dXJuIGVsZW1lbnRzOw0KfQ0KDQpqUXVlcnkuZm4uZXh0ZW5kKCB7DQoJc2hvdzogZnVuY3Rpb24oKSB7DQoJCXJldHVybiBzaG93SGlkZSggdGhpcywgdHJ1ZSApOw0KCX0sDQoJaGlkZTogZnVuY3Rpb24oKSB7DQoJCXJldHVybiBzaG93SGlkZSggdGhpcyApOw0KCX0sDQoJdG9nZ2xlOiBmdW5jdGlvbiggc3RhdGUgKSB7DQoJCWlmICggdHlwZW9mIHN0YXRlID09PSAiYm9vbGVhbiIgKSB7DQoJCQlyZXR1cm4gc3RhdGUgPyB0aGlzLnNob3coKSA6IHRoaXMuaGlkZSgpOw0KCQl9DQoNCgkJcmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQlpZiAoIGlzSGlkZGVuV2l0aGluVHJlZSggdGhpcyApICkgew0KCQkJCWpRdWVyeSggdGhpcyApLnNob3coKTsNCgkJCX0gZWxzZSB7DQoJCQkJalF1ZXJ5KCB0aGlzICkuaGlkZSgpOw0KCQkJfQ0KCQl9ICk7DQoJfQ0KfSApOw0KdmFyIHJjaGVja2FibGVUeXBlID0gKCAvXig/OmNoZWNrYm94fHJhZGlvKSQvaSApOw0KDQp2YXIgcnRhZ05hbWUgPSAoIC88KFthLXpdW15cL1wwPlx4MjBcdFxyXG5cZl0rKS9pICk7DQoNCnZhciByc2NyaXB0VHlwZSA9ICggL14kfF5tb2R1bGUkfFwvKD86amF2YXxlY21hKXNjcmlwdC9pICk7DQoNCg0KDQovLyBXZSBoYXZlIHRvIGNsb3NlIHRoZXNlIHRhZ3MgdG8gc3VwcG9ydCBYSFRNTCAoIzEzMjAwKQ0KdmFyIHdyYXBNYXAgPSB7DQoNCgkvLyBTdXBwb3J0OiBJRSA8PTkgb25seQ0KCW9wdGlvbjogWyAxLCAiPHNlbGVjdCBtdWx0aXBsZT0nbXVsdGlwbGUnPiIsICI8L3NlbGVjdD4iIF0sDQoNCgkvLyBYSFRNTCBwYXJzZXJzIGRvIG5vdCBtYWdpY2FsbHkgaW5zZXJ0IGVsZW1lbnRzIGluIHRoZQ0KCS8vIHNhbWUgd2F5IHRoYXQgdGFnIHNvdXAgcGFyc2VycyBkby4gU28gd2UgY2Fubm90IHNob3J0ZW4NCgkvLyB0aGlzIGJ5IG9taXR0aW5nIDx0Ym9keT4gb3Igb3RoZXIgcmVxdWlyZWQgZWxlbWVudHMuDQoJdGhlYWQ6IFsgMSwgIjx0YWJsZT4iLCAiPC90YWJsZT4iIF0sDQoJY29sOiBbIDIsICI8dGFibGU+PGNvbGdyb3VwPiIsICI8L2NvbGdyb3VwPjwvdGFibGU+IiBdLA0KCXRyOiBbIDIsICI8dGFibGU+PHRib2R5PiIsICI8L3Rib2R5PjwvdGFibGU+IiBdLA0KCXRkOiBbIDMsICI8dGFibGU+PHRib2R5Pjx0cj4iLCAiPC90cj48L3Rib2R5PjwvdGFibGU+IiBdLA0KDQoJX2RlZmF1bHQ6IFsgMCwgIiIsICIiIF0NCn07DQoNCi8vIFN1cHBvcnQ6IElFIDw9OSBvbmx5DQp3cmFwTWFwLm9wdGdyb3VwID0gd3JhcE1hcC5vcHRpb247DQoNCndyYXBNYXAudGJvZHkgPSB3cmFwTWFwLnRmb290ID0gd3JhcE1hcC5jb2xncm91cCA9IHdyYXBNYXAuY2FwdGlvbiA9IHdyYXBNYXAudGhlYWQ7DQp3cmFwTWFwLnRoID0gd3JhcE1hcC50ZDsNCg0KDQpmdW5jdGlvbiBnZXRBbGwoIGNvbnRleHQsIHRhZyApIHsNCg0KCS8vIFN1cHBvcnQ6IElFIDw9OSAtIDExIG9ubHkNCgkvLyBVc2UgdHlwZW9mIHRvIGF2b2lkIHplcm8tYXJndW1lbnQgbWV0aG9kIGludm9jYXRpb24gb24gaG9zdCBvYmplY3RzICgjMTUxNTEpDQoJdmFyIHJldDsNCg0KCWlmICggdHlwZW9mIGNvbnRleHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUgIT09ICJ1bmRlZmluZWQiICkgew0KCQlyZXQgPSBjb250ZXh0LmdldEVsZW1lbnRzQnlUYWdOYW1lKCB0YWcgfHwgIioiICk7DQoNCgl9IGVsc2UgaWYgKCB0eXBlb2YgY29udGV4dC5xdWVyeVNlbGVjdG9yQWxsICE9PSAidW5kZWZpbmVkIiApIHsNCgkJcmV0ID0gY29udGV4dC5xdWVyeVNlbGVjdG9yQWxsKCB0YWcgfHwgIioiICk7DQoNCgl9IGVsc2Ugew0KCQlyZXQgPSBbXTsNCgl9DQoNCglpZiAoIHRhZyA9PT0gdW5kZWZpbmVkIHx8IHRhZyAmJiBub2RlTmFtZSggY29udGV4dCwgdGFnICkgKSB7DQoJCXJldHVybiBqUXVlcnkubWVyZ2UoIFsgY29udGV4dCBdLCByZXQgKTsNCgl9DQoNCglyZXR1cm4gcmV0Ow0KfQ0KDQoNCi8vIE1hcmsgc2NyaXB0cyBhcyBoYXZpbmcgYWxyZWFkeSBiZWVuIGV2YWx1YXRlZA0KZnVuY3Rpb24gc2V0R2xvYmFsRXZhbCggZWxlbXMsIHJlZkVsZW1lbnRzICkgew0KCXZhciBpID0gMCwNCgkJbCA9IGVsZW1zLmxlbmd0aDsNCg0KCWZvciAoIDsgaSA8IGw7IGkrKyApIHsNCgkJZGF0YVByaXYuc2V0KA0KCQkJZWxlbXNbIGkgXSwNCgkJCSJnbG9iYWxFdmFsIiwNCgkJCSFyZWZFbGVtZW50cyB8fCBkYXRhUHJpdi5nZXQoIHJlZkVsZW1lbnRzWyBpIF0sICJnbG9iYWxFdmFsIiApDQoJCSk7DQoJfQ0KfQ0KDQoNCnZhciByaHRtbCA9IC88fCYjP1x3KzsvOw0KDQpmdW5jdGlvbiBidWlsZEZyYWdtZW50KCBlbGVtcywgY29udGV4dCwgc2NyaXB0cywgc2VsZWN0aW9uLCBpZ25vcmVkICkgew0KCXZhciBlbGVtLCB0bXAsIHRhZywgd3JhcCwgY29udGFpbnMsIGosDQoJCWZyYWdtZW50ID0gY29udGV4dC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksDQoJCW5vZGVzID0gW10sDQoJCWkgPSAwLA0KCQlsID0gZWxlbXMubGVuZ3RoOw0KDQoJZm9yICggOyBpIDwgbDsgaSsrICkgew0KCQllbGVtID0gZWxlbXNbIGkgXTsNCg0KCQlpZiAoIGVsZW0gfHwgZWxlbSA9PT0gMCApIHsNCg0KCQkJLy8gQWRkIG5vZGVzIGRpcmVjdGx5DQoJCQlpZiAoIHRvVHlwZSggZWxlbSApID09PSAib2JqZWN0IiApIHsNCg0KCQkJCS8vIFN1cHBvcnQ6IEFuZHJvaWQgPD00LjAgb25seSwgUGhhbnRvbUpTIDEgb25seQ0KCQkJCS8vIHB1c2guYXBwbHkoXywgYXJyYXlsaWtlKSB0aHJvd3Mgb24gYW5jaWVudCBXZWJLaXQNCgkJCQlqUXVlcnkubWVyZ2UoIG5vZGVzLCBlbGVtLm5vZGVUeXBlID8gWyBlbGVtIF0gOiBlbGVtICk7DQoNCgkJCS8vIENvbnZlcnQgbm9uLWh0bWwgaW50byBhIHRleHQgbm9kZQ0KCQkJfSBlbHNlIGlmICggIXJodG1sLnRlc3QoIGVsZW0gKSApIHsNCgkJCQlub2Rlcy5wdXNoKCBjb250ZXh0LmNyZWF0ZVRleHROb2RlKCBlbGVtICkgKTsNCg0KCQkJLy8gQ29udmVydCBodG1sIGludG8gRE9NIG5vZGVzDQoJCQl9IGVsc2Ugew0KCQkJCXRtcCA9IHRtcCB8fCBmcmFnbWVudC5hcHBlbmRDaGlsZCggY29udGV4dC5jcmVhdGVFbGVtZW50KCAiZGl2IiApICk7DQoNCgkJCQkvLyBEZXNlcmlhbGl6ZSBhIHN0YW5kYXJkIHJlcHJlc2VudGF0aW9uDQoJCQkJdGFnID0gKCBydGFnTmFtZS5leGVjKCBlbGVtICkgfHwgWyAiIiwgIiIgXSApWyAxIF0udG9Mb3dlckNhc2UoKTsNCgkJCQl3cmFwID0gd3JhcE1hcFsgdGFnIF0gfHwgd3JhcE1hcC5fZGVmYXVsdDsNCgkJCQl0bXAuaW5uZXJIVE1MID0gd3JhcFsgMSBdICsgalF1ZXJ5Lmh0bWxQcmVmaWx0ZXIoIGVsZW0gKSArIHdyYXBbIDIgXTsNCg0KCQkJCS8vIERlc2NlbmQgdGhyb3VnaCB3cmFwcGVycyB0byB0aGUgcmlnaHQgY29udGVudA0KCQkJCWogPSB3cmFwWyAwIF07DQoJCQkJd2hpbGUgKCBqLS0gKSB7DQoJCQkJCXRtcCA9IHRtcC5sYXN0Q2hpbGQ7DQoJCQkJfQ0KDQoJCQkJLy8gU3VwcG9ydDogQW5kcm9pZCA8PTQuMCBvbmx5LCBQaGFudG9tSlMgMSBvbmx5DQoJCQkJLy8gcHVzaC5hcHBseShfLCBhcnJheWxpa2UpIHRocm93cyBvbiBhbmNpZW50IFdlYktpdA0KCQkJCWpRdWVyeS5tZXJnZSggbm9kZXMsIHRtcC5jaGlsZE5vZGVzICk7DQoNCgkJCQkvLyBSZW1lbWJlciB0aGUgdG9wLWxldmVsIGNvbnRhaW5lcg0KCQkJCXRtcCA9IGZyYWdtZW50LmZpcnN0Q2hpbGQ7DQoNCgkJCQkvLyBFbnN1cmUgdGhlIGNyZWF0ZWQgbm9kZXMgYXJlIG9ycGhhbmVkICgjMTIzOTIpDQoJCQkJdG1wLnRleHRDb250ZW50ID0gIiI7DQoJCQl9DQoJCX0NCgl9DQoNCgkvLyBSZW1vdmUgd3JhcHBlciBmcm9tIGZyYWdtZW50DQoJZnJhZ21lbnQudGV4dENvbnRlbnQgPSAiIjsNCg0KCWkgPSAwOw0KCXdoaWxlICggKCBlbGVtID0gbm9kZXNbIGkrKyBdICkgKSB7DQoNCgkJLy8gU2tpcCBlbGVtZW50cyBhbHJlYWR5IGluIHRoZSBjb250ZXh0IGNvbGxlY3Rpb24gKHRyYWMtNDA4NykNCgkJaWYgKCBzZWxlY3Rpb24gJiYgalF1ZXJ5LmluQXJyYXkoIGVsZW0sIHNlbGVjdGlvbiApID4gLTEgKSB7DQoJCQlpZiAoIGlnbm9yZWQgKSB7DQoJCQkJaWdub3JlZC5wdXNoKCBlbGVtICk7DQoJCQl9DQoJCQljb250aW51ZTsNCgkJfQ0KDQoJCWNvbnRhaW5zID0galF1ZXJ5LmNvbnRhaW5zKCBlbGVtLm93bmVyRG9jdW1lbnQsIGVsZW0gKTsNCg0KCQkvLyBBcHBlbmQgdG8gZnJhZ21lbnQNCgkJdG1wID0gZ2V0QWxsKCBmcmFnbWVudC5hcHBlbmRDaGlsZCggZWxlbSApLCAic2NyaXB0IiApOw0KDQoJCS8vIFByZXNlcnZlIHNjcmlwdCBldmFsdWF0aW9uIGhpc3RvcnkNCgkJaWYgKCBjb250YWlucyApIHsNCgkJCXNldEdsb2JhbEV2YWwoIHRtcCApOw0KCQl9DQoNCgkJLy8gQ2FwdHVyZSBleGVjdXRhYmxlcw0KCQlpZiAoIHNjcmlwdHMgKSB7DQoJCQlqID0gMDsNCgkJCXdoaWxlICggKCBlbGVtID0gdG1wWyBqKysgXSApICkgew0KCQkJCWlmICggcnNjcmlwdFR5cGUudGVzdCggZWxlbS50eXBlIHx8ICIiICkgKSB7DQoJCQkJCXNjcmlwdHMucHVzaCggZWxlbSApOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCX0NCg0KCXJldHVybiBmcmFnbWVudDsNCn0NCg0KDQooIGZ1bmN0aW9uKCkgew0KCXZhciBmcmFnbWVudCA9IGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSwNCgkJZGl2ID0gZnJhZ21lbnQuYXBwZW5kQ2hpbGQoIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoICJkaXYiICkgKSwNCgkJaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCAiaW5wdXQiICk7DQoNCgkvLyBTdXBwb3J0OiBBbmRyb2lkIDQuMCAtIDQuMyBvbmx5DQoJLy8gQ2hlY2sgc3RhdGUgbG9zdCBpZiB0aGUgbmFtZSBpcyBzZXQgKCMxMTIxNykNCgkvLyBTdXBwb3J0OiBXaW5kb3dzIFdlYiBBcHBzIChXV0EpDQoJLy8gYG5hbWVgIGFuZCBgdHlwZWAgbXVzdCB1c2UgLnNldEF0dHJpYnV0ZSBmb3IgV1dBICgjMTQ5MDEpDQoJaW5wdXQuc2V0QXR0cmlidXRlKCAidHlwZSIsICJyYWRpbyIgKTsNCglpbnB1dC5zZXRBdHRyaWJ1dGUoICJjaGVja2VkIiwgImNoZWNrZWQiICk7DQoJaW5wdXQuc2V0QXR0cmlidXRlKCAibmFtZSIsICJ0IiApOw0KDQoJZGl2LmFwcGVuZENoaWxkKCBpbnB1dCApOw0KDQoJLy8gU3VwcG9ydDogQW5kcm9pZCA8PTQuMSBvbmx5DQoJLy8gT2xkZXIgV2ViS2l0IGRvZXNuJ3QgY2xvbmUgY2hlY2tlZCBzdGF0ZSBjb3JyZWN0bHkgaW4gZnJhZ21lbnRzDQoJc3VwcG9ydC5jaGVja0Nsb25lID0gZGl2LmNsb25lTm9kZSggdHJ1ZSApLmNsb25lTm9kZSggdHJ1ZSApLmxhc3RDaGlsZC5jaGVja2VkOw0KDQoJLy8gU3VwcG9ydDogSUUgPD0xMSBvbmx5DQoJLy8gTWFrZSBzdXJlIHRleHRhcmVhIChhbmQgY2hlY2tib3gpIGRlZmF1bHRWYWx1ZSBpcyBwcm9wZXJseSBjbG9uZWQNCglkaXYuaW5uZXJIVE1MID0gIjx0ZXh0YXJlYT54PC90ZXh0YXJlYT4iOw0KCXN1cHBvcnQubm9DbG9uZUNoZWNrZWQgPSAhIWRpdi5jbG9uZU5vZGUoIHRydWUgKS5sYXN0Q2hpbGQuZGVmYXVsdFZhbHVlOw0KfSApKCk7DQp2YXIgZG9jdW1lbnRFbGVtZW50ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Ow0KDQoNCg0KdmFyDQoJcmtleUV2ZW50ID0gL15rZXkvLA0KCXJtb3VzZUV2ZW50ID0gL14oPzptb3VzZXxwb2ludGVyfGNvbnRleHRtZW51fGRyYWd8ZHJvcCl8Y2xpY2svLA0KCXJ0eXBlbmFtZXNwYWNlID0gL14oW14uXSopKD86XC4oLispfCkvOw0KDQpmdW5jdGlvbiByZXR1cm5UcnVlKCkgew0KCXJldHVybiB0cnVlOw0KfQ0KDQpmdW5jdGlvbiByZXR1cm5GYWxzZSgpIHsNCglyZXR1cm4gZmFsc2U7DQp9DQoNCi8vIFN1cHBvcnQ6IElFIDw9OSBvbmx5DQovLyBTZWUgIzEzMzkzIGZvciBtb3JlIGluZm8NCmZ1bmN0aW9uIHNhZmVBY3RpdmVFbGVtZW50KCkgew0KCXRyeSB7DQoJCXJldHVybiBkb2N1bWVudC5hY3RpdmVFbGVtZW50Ow0KCX0gY2F0Y2ggKCBlcnIgKSB7IH0NCn0NCg0KZnVuY3Rpb24gb24oIGVsZW0sIHR5cGVzLCBzZWxlY3RvciwgZGF0YSwgZm4sIG9uZSApIHsNCgl2YXIgb3JpZ0ZuLCB0eXBlOw0KDQoJLy8gVHlwZXMgY2FuIGJlIGEgbWFwIG9mIHR5cGVzL2hhbmRsZXJzDQoJaWYgKCB0eXBlb2YgdHlwZXMgPT09ICJvYmplY3QiICkgew0KDQoJCS8vICggdHlwZXMtT2JqZWN0LCBzZWxlY3RvciwgZGF0YSApDQoJCWlmICggdHlwZW9mIHNlbGVjdG9yICE9PSAic3RyaW5nIiApIHsNCg0KCQkJLy8gKCB0eXBlcy1PYmplY3QsIGRhdGEgKQ0KCQkJZGF0YSA9IGRhdGEgfHwgc2VsZWN0b3I7DQoJCQlzZWxlY3RvciA9IHVuZGVmaW5lZDsNCgkJfQ0KCQlmb3IgKCB0eXBlIGluIHR5cGVzICkgew0KCQkJb24oIGVsZW0sIHR5cGUsIHNlbGVjdG9yLCBkYXRhLCB0eXBlc1sgdHlwZSBdLCBvbmUgKTsNCgkJfQ0KCQlyZXR1cm4gZWxlbTsNCgl9DQoNCglpZiAoIGRhdGEgPT0gbnVsbCAmJiBmbiA9PSBudWxsICkgew0KDQoJCS8vICggdHlwZXMsIGZuICkNCgkJZm4gPSBzZWxlY3RvcjsNCgkJZGF0YSA9IHNlbGVjdG9yID0gdW5kZWZpbmVkOw0KCX0gZWxzZSBpZiAoIGZuID09IG51bGwgKSB7DQoJCWlmICggdHlwZW9mIHNlbGVjdG9yID09PSAic3RyaW5nIiApIHsNCg0KCQkJLy8gKCB0eXBlcywgc2VsZWN0b3IsIGZuICkNCgkJCWZuID0gZGF0YTsNCgkJCWRhdGEgPSB1bmRlZmluZWQ7DQoJCX0gZWxzZSB7DQoNCgkJCS8vICggdHlwZXMsIGRhdGEsIGZuICkNCgkJCWZuID0gZGF0YTsNCgkJCWRhdGEgPSBzZWxlY3RvcjsNCgkJCXNlbGVjdG9yID0gdW5kZWZpbmVkOw0KCQl9DQoJfQ0KCWlmICggZm4gPT09IGZhbHNlICkgew0KCQlmbiA9IHJldHVybkZhbHNlOw0KCX0gZWxzZSBpZiAoICFmbiApIHsNCgkJcmV0dXJuIGVsZW07DQoJfQ0KDQoJaWYgKCBvbmUgPT09IDEgKSB7DQoJCW9yaWdGbiA9IGZuOw0KCQlmbiA9IGZ1bmN0aW9uKCBldmVudCApIHsNCg0KCQkJLy8gQ2FuIHVzZSBhbiBlbXB0eSBzZXQsIHNpbmNlIGV2ZW50IGNvbnRhaW5zIHRoZSBpbmZvDQoJCQlqUXVlcnkoKS5vZmYoIGV2ZW50ICk7DQoJCQlyZXR1cm4gb3JpZ0ZuLmFwcGx5KCB0aGlzLCBhcmd1bWVudHMgKTsNCgkJfTsNCg0KCQkvLyBVc2Ugc2FtZSBndWlkIHNvIGNhbGxlciBjYW4gcmVtb3ZlIHVzaW5nIG9yaWdGbg0KCQlmbi5ndWlkID0gb3JpZ0ZuLmd1aWQgfHwgKCBvcmlnRm4uZ3VpZCA9IGpRdWVyeS5ndWlkKysgKTsNCgl9DQoJcmV0dXJuIGVsZW0uZWFjaCggZnVuY3Rpb24oKSB7DQoJCWpRdWVyeS5ldmVudC5hZGQoIHRoaXMsIHR5cGVzLCBmbiwgZGF0YSwgc2VsZWN0b3IgKTsNCgl9ICk7DQp9DQoNCi8qDQogKiBIZWxwZXIgZnVuY3Rpb25zIGZvciBtYW5hZ2luZyBldmVudHMgLS0gbm90IHBhcnQgb2YgdGhlIHB1YmxpYyBpbnRlcmZhY2UuDQogKiBQcm9wcyB0byBEZWFuIEVkd2FyZHMnIGFkZEV2ZW50IGxpYnJhcnkgZm9yIG1hbnkgb2YgdGhlIGlkZWFzLg0KICovDQpqUXVlcnkuZXZlbnQgPSB7DQoNCglnbG9iYWw6IHt9LA0KDQoJYWRkOiBmdW5jdGlvbiggZWxlbSwgdHlwZXMsIGhhbmRsZXIsIGRhdGEsIHNlbGVjdG9yICkgew0KDQoJCXZhciBoYW5kbGVPYmpJbiwgZXZlbnRIYW5kbGUsIHRtcCwNCgkJCWV2ZW50cywgdCwgaGFuZGxlT2JqLA0KCQkJc3BlY2lhbCwgaGFuZGxlcnMsIHR5cGUsIG5hbWVzcGFjZXMsIG9yaWdUeXBlLA0KCQkJZWxlbURhdGEgPSBkYXRhUHJpdi5nZXQoIGVsZW0gKTsNCg0KCQkvLyBEb24ndCBhdHRhY2ggZXZlbnRzIHRvIG5vRGF0YSBvciB0ZXh0L2NvbW1lbnQgbm9kZXMgKGJ1dCBhbGxvdyBwbGFpbiBvYmplY3RzKQ0KCQlpZiAoICFlbGVtRGF0YSApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCS8vIENhbGxlciBjYW4gcGFzcyBpbiBhbiBvYmplY3Qgb2YgY3VzdG9tIGRhdGEgaW4gbGlldSBvZiB0aGUgaGFuZGxlcg0KCQlpZiAoIGhhbmRsZXIuaGFuZGxlciApIHsNCgkJCWhhbmRsZU9iakluID0gaGFuZGxlcjsNCgkJCWhhbmRsZXIgPSBoYW5kbGVPYmpJbi5oYW5kbGVyOw0KCQkJc2VsZWN0b3IgPSBoYW5kbGVPYmpJbi5zZWxlY3RvcjsNCgkJfQ0KDQoJCS8vIEVuc3VyZSB0aGF0IGludmFsaWQgc2VsZWN0b3JzIHRocm93IGV4Y2VwdGlvbnMgYXQgYXR0YWNoIHRpbWUNCgkJLy8gRXZhbHVhdGUgYWdhaW5zdCBkb2N1bWVudEVsZW1lbnQgaW4gY2FzZSBlbGVtIGlzIGEgbm9uLWVsZW1lbnQgbm9kZSAoZS5nLiwgZG9jdW1lbnQpDQoJCWlmICggc2VsZWN0b3IgKSB7DQoJCQlqUXVlcnkuZmluZC5tYXRjaGVzU2VsZWN0b3IoIGRvY3VtZW50RWxlbWVudCwgc2VsZWN0b3IgKTsNCgkJfQ0KDQoJCS8vIE1ha2Ugc3VyZSB0aGF0IHRoZSBoYW5kbGVyIGhhcyBhIHVuaXF1ZSBJRCwgdXNlZCB0byBmaW5kL3JlbW92ZSBpdCBsYXRlcg0KCQlpZiAoICFoYW5kbGVyLmd1aWQgKSB7DQoJCQloYW5kbGVyLmd1aWQgPSBqUXVlcnkuZ3VpZCsrOw0KCQl9DQoNCgkJLy8gSW5pdCB0aGUgZWxlbWVudCdzIGV2ZW50IHN0cnVjdHVyZSBhbmQgbWFpbiBoYW5kbGVyLCBpZiB0aGlzIGlzIHRoZSBmaXJzdA0KCQlpZiAoICEoIGV2ZW50cyA9IGVsZW1EYXRhLmV2ZW50cyApICkgew0KCQkJZXZlbnRzID0gZWxlbURhdGEuZXZlbnRzID0ge307DQoJCX0NCgkJaWYgKCAhKCBldmVudEhhbmRsZSA9IGVsZW1EYXRhLmhhbmRsZSApICkgew0KCQkJZXZlbnRIYW5kbGUgPSBlbGVtRGF0YS5oYW5kbGUgPSBmdW5jdGlvbiggZSApIHsNCg0KCQkJCS8vIERpc2NhcmQgdGhlIHNlY29uZCBldmVudCBvZiBhIGpRdWVyeS5ldmVudC50cmlnZ2VyKCkgYW5kDQoJCQkJLy8gd2hlbiBhbiBldmVudCBpcyBjYWxsZWQgYWZ0ZXIgYSBwYWdlIGhhcyB1bmxvYWRlZA0KCQkJCXJldHVybiB0eXBlb2YgalF1ZXJ5ICE9PSAidW5kZWZpbmVkIiAmJiBqUXVlcnkuZXZlbnQudHJpZ2dlcmVkICE9PSBlLnR5cGUgPw0KCQkJCQlqUXVlcnkuZXZlbnQuZGlzcGF0Y2guYXBwbHkoIGVsZW0sIGFyZ3VtZW50cyApIDogdW5kZWZpbmVkOw0KCQkJfTsNCgkJfQ0KDQoJCS8vIEhhbmRsZSBtdWx0aXBsZSBldmVudHMgc2VwYXJhdGVkIGJ5IGEgc3BhY2UNCgkJdHlwZXMgPSAoIHR5cGVzIHx8ICIiICkubWF0Y2goIHJub3RodG1sd2hpdGUgKSB8fCBbICIiIF07DQoJCXQgPSB0eXBlcy5sZW5ndGg7DQoJCXdoaWxlICggdC0tICkgew0KCQkJdG1wID0gcnR5cGVuYW1lc3BhY2UuZXhlYyggdHlwZXNbIHQgXSApIHx8IFtdOw0KCQkJdHlwZSA9IG9yaWdUeXBlID0gdG1wWyAxIF07DQoJCQluYW1lc3BhY2VzID0gKCB0bXBbIDIgXSB8fCAiIiApLnNwbGl0KCAiLiIgKS5zb3J0KCk7DQoNCgkJCS8vIFRoZXJlICptdXN0KiBiZSBhIHR5cGUsIG5vIGF0dGFjaGluZyBuYW1lc3BhY2Utb25seSBoYW5kbGVycw0KCQkJaWYgKCAhdHlwZSApIHsNCgkJCQljb250aW51ZTsNCgkJCX0NCg0KCQkJLy8gSWYgZXZlbnQgY2hhbmdlcyBpdHMgdHlwZSwgdXNlIHRoZSBzcGVjaWFsIGV2ZW50IGhhbmRsZXJzIGZvciB0aGUgY2hhbmdlZCB0eXBlDQoJCQlzcGVjaWFsID0galF1ZXJ5LmV2ZW50LnNwZWNpYWxbIHR5cGUgXSB8fCB7fTsNCg0KCQkJLy8gSWYgc2VsZWN0b3IgZGVmaW5lZCwgZGV0ZXJtaW5lIHNwZWNpYWwgZXZlbnQgYXBpIHR5cGUsIG90aGVyd2lzZSBnaXZlbiB0eXBlDQoJCQl0eXBlID0gKCBzZWxlY3RvciA/IHNwZWNpYWwuZGVsZWdhdGVUeXBlIDogc3BlY2lhbC5iaW5kVHlwZSApIHx8IHR5cGU7DQoNCgkJCS8vIFVwZGF0ZSBzcGVjaWFsIGJhc2VkIG9uIG5ld2x5IHJlc2V0IHR5cGUNCgkJCXNwZWNpYWwgPSBqUXVlcnkuZXZlbnQuc3BlY2lhbFsgdHlwZSBdIHx8IHt9Ow0KDQoJCQkvLyBoYW5kbGVPYmogaXMgcGFzc2VkIHRvIGFsbCBldmVudCBoYW5kbGVycw0KCQkJaGFuZGxlT2JqID0galF1ZXJ5LmV4dGVuZCggew0KCQkJCXR5cGU6IHR5cGUsDQoJCQkJb3JpZ1R5cGU6IG9yaWdUeXBlLA0KCQkJCWRhdGE6IGRhdGEsDQoJCQkJaGFuZGxlcjogaGFuZGxlciwNCgkJCQlndWlkOiBoYW5kbGVyLmd1aWQsDQoJCQkJc2VsZWN0b3I6IHNlbGVjdG9yLA0KCQkJCW5lZWRzQ29udGV4dDogc2VsZWN0b3IgJiYgalF1ZXJ5LmV4cHIubWF0Y2gubmVlZHNDb250ZXh0LnRlc3QoIHNlbGVjdG9yICksDQoJCQkJbmFtZXNwYWNlOiBuYW1lc3BhY2VzLmpvaW4oICIuIiApDQoJCQl9LCBoYW5kbGVPYmpJbiApOw0KDQoJCQkvLyBJbml0IHRoZSBldmVudCBoYW5kbGVyIHF1ZXVlIGlmIHdlJ3JlIHRoZSBmaXJzdA0KCQkJaWYgKCAhKCBoYW5kbGVycyA9IGV2ZW50c1sgdHlwZSBdICkgKSB7DQoJCQkJaGFuZGxlcnMgPSBldmVudHNbIHR5cGUgXSA9IFtdOw0KCQkJCWhhbmRsZXJzLmRlbGVnYXRlQ291bnQgPSAwOw0KDQoJCQkJLy8gT25seSB1c2UgYWRkRXZlbnRMaXN0ZW5lciBpZiB0aGUgc3BlY2lhbCBldmVudHMgaGFuZGxlciByZXR1cm5zIGZhbHNlDQoJCQkJaWYgKCAhc3BlY2lhbC5zZXR1cCB8fA0KCQkJCQlzcGVjaWFsLnNldHVwLmNhbGwoIGVsZW0sIGRhdGEsIG5hbWVzcGFjZXMsIGV2ZW50SGFuZGxlICkgPT09IGZhbHNlICkgew0KDQoJCQkJCWlmICggZWxlbS5hZGRFdmVudExpc3RlbmVyICkgew0KCQkJCQkJZWxlbS5hZGRFdmVudExpc3RlbmVyKCB0eXBlLCBldmVudEhhbmRsZSApOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KDQoJCQlpZiAoIHNwZWNpYWwuYWRkICkgew0KCQkJCXNwZWNpYWwuYWRkLmNhbGwoIGVsZW0sIGhhbmRsZU9iaiApOw0KDQoJCQkJaWYgKCAhaGFuZGxlT2JqLmhhbmRsZXIuZ3VpZCApIHsNCgkJCQkJaGFuZGxlT2JqLmhhbmRsZXIuZ3VpZCA9IGhhbmRsZXIuZ3VpZDsNCgkJCQl9DQoJCQl9DQoNCgkJCS8vIEFkZCB0byB0aGUgZWxlbWVudCdzIGhhbmRsZXIgbGlzdCwgZGVsZWdhdGVzIGluIGZyb250DQoJCQlpZiAoIHNlbGVjdG9yICkgew0KCQkJCWhhbmRsZXJzLnNwbGljZSggaGFuZGxlcnMuZGVsZWdhdGVDb3VudCsrLCAwLCBoYW5kbGVPYmogKTsNCgkJCX0gZWxzZSB7DQoJCQkJaGFuZGxlcnMucHVzaCggaGFuZGxlT2JqICk7DQoJCQl9DQoNCgkJCS8vIEtlZXAgdHJhY2sgb2Ygd2hpY2ggZXZlbnRzIGhhdmUgZXZlciBiZWVuIHVzZWQsIGZvciBldmVudCBvcHRpbWl6YXRpb24NCgkJCWpRdWVyeS5ldmVudC5nbG9iYWxbIHR5cGUgXSA9IHRydWU7DQoJCX0NCg0KCX0sDQoNCgkvLyBEZXRhY2ggYW4gZXZlbnQgb3Igc2V0IG9mIGV2ZW50cyBmcm9tIGFuIGVsZW1lbnQNCglyZW1vdmU6IGZ1bmN0aW9uKCBlbGVtLCB0eXBlcywgaGFuZGxlciwgc2VsZWN0b3IsIG1hcHBlZFR5cGVzICkgew0KDQoJCXZhciBqLCBvcmlnQ291bnQsIHRtcCwNCgkJCWV2ZW50cywgdCwgaGFuZGxlT2JqLA0KCQkJc3BlY2lhbCwgaGFuZGxlcnMsIHR5cGUsIG5hbWVzcGFjZXMsIG9yaWdUeXBlLA0KCQkJZWxlbURhdGEgPSBkYXRhUHJpdi5oYXNEYXRhKCBlbGVtICkgJiYgZGF0YVByaXYuZ2V0KCBlbGVtICk7DQoNCgkJaWYgKCAhZWxlbURhdGEgfHwgISggZXZlbnRzID0gZWxlbURhdGEuZXZlbnRzICkgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQkvLyBPbmNlIGZvciBlYWNoIHR5cGUubmFtZXNwYWNlIGluIHR5cGVzOyB0eXBlIG1heSBiZSBvbWl0dGVkDQoJCXR5cGVzID0gKCB0eXBlcyB8fCAiIiApLm1hdGNoKCBybm90aHRtbHdoaXRlICkgfHwgWyAiIiBdOw0KCQl0ID0gdHlwZXMubGVuZ3RoOw0KCQl3aGlsZSAoIHQtLSApIHsNCgkJCXRtcCA9IHJ0eXBlbmFtZXNwYWNlLmV4ZWMoIHR5cGVzWyB0IF0gKSB8fCBbXTsNCgkJCXR5cGUgPSBvcmlnVHlwZSA9IHRtcFsgMSBdOw0KCQkJbmFtZXNwYWNlcyA9ICggdG1wWyAyIF0gfHwgIiIgKS5zcGxpdCggIi4iICkuc29ydCgpOw0KDQoJCQkvLyBVbmJpbmQgYWxsIGV2ZW50cyAob24gdGhpcyBuYW1lc3BhY2UsIGlmIHByb3ZpZGVkKSBmb3IgdGhlIGVsZW1lbnQNCgkJCWlmICggIXR5cGUgKSB7DQoJCQkJZm9yICggdHlwZSBpbiBldmVudHMgKSB7DQoJCQkJCWpRdWVyeS5ldmVudC5yZW1vdmUoIGVsZW0sIHR5cGUgKyB0eXBlc1sgdCBdLCBoYW5kbGVyLCBzZWxlY3RvciwgdHJ1ZSApOw0KCQkJCX0NCgkJCQljb250aW51ZTsNCgkJCX0NCg0KCQkJc3BlY2lhbCA9IGpRdWVyeS5ldmVudC5zcGVjaWFsWyB0eXBlIF0gfHwge307DQoJCQl0eXBlID0gKCBzZWxlY3RvciA/IHNwZWNpYWwuZGVsZWdhdGVUeXBlIDogc3BlY2lhbC5iaW5kVHlwZSApIHx8IHR5cGU7DQoJCQloYW5kbGVycyA9IGV2ZW50c1sgdHlwZSBdIHx8IFtdOw0KCQkJdG1wID0gdG1wWyAyIF0gJiYNCgkJCQluZXcgUmVnRXhwKCAiKF58XFwuKSIgKyBuYW1lc3BhY2VzLmpvaW4oICJcXC4oPzouKlxcLnwpIiApICsgIihcXC58JCkiICk7DQoNCgkJCS8vIFJlbW92ZSBtYXRjaGluZyBldmVudHMNCgkJCW9yaWdDb3VudCA9IGogPSBoYW5kbGVycy5sZW5ndGg7DQoJCQl3aGlsZSAoIGotLSApIHsNCgkJCQloYW5kbGVPYmogPSBoYW5kbGVyc1sgaiBdOw0KDQoJCQkJaWYgKCAoIG1hcHBlZFR5cGVzIHx8IG9yaWdUeXBlID09PSBoYW5kbGVPYmoub3JpZ1R5cGUgKSAmJg0KCQkJCQkoICFoYW5kbGVyIHx8IGhhbmRsZXIuZ3VpZCA9PT0gaGFuZGxlT2JqLmd1aWQgKSAmJg0KCQkJCQkoICF0bXAgfHwgdG1wLnRlc3QoIGhhbmRsZU9iai5uYW1lc3BhY2UgKSApICYmDQoJCQkJCSggIXNlbGVjdG9yIHx8IHNlbGVjdG9yID09PSBoYW5kbGVPYmouc2VsZWN0b3IgfHwNCgkJCQkJCXNlbGVjdG9yID09PSAiKioiICYmIGhhbmRsZU9iai5zZWxlY3RvciApICkgew0KCQkJCQloYW5kbGVycy5zcGxpY2UoIGosIDEgKTsNCg0KCQkJCQlpZiAoIGhhbmRsZU9iai5zZWxlY3RvciApIHsNCgkJCQkJCWhhbmRsZXJzLmRlbGVnYXRlQ291bnQtLTsNCgkJCQkJfQ0KCQkJCQlpZiAoIHNwZWNpYWwucmVtb3ZlICkgew0KCQkJCQkJc3BlY2lhbC5yZW1vdmUuY2FsbCggZWxlbSwgaGFuZGxlT2JqICk7DQoJCQkJCX0NCgkJCQl9DQoJCQl9DQoNCgkJCS8vIFJlbW92ZSBnZW5lcmljIGV2ZW50IGhhbmRsZXIgaWYgd2UgcmVtb3ZlZCBzb21ldGhpbmcgYW5kIG5vIG1vcmUgaGFuZGxlcnMgZXhpc3QNCgkJCS8vIChhdm9pZHMgcG90ZW50aWFsIGZvciBlbmRsZXNzIHJlY3Vyc2lvbiBkdXJpbmcgcmVtb3ZhbCBvZiBzcGVjaWFsIGV2ZW50IGhhbmRsZXJzKQ0KCQkJaWYgKCBvcmlnQ291bnQgJiYgIWhhbmRsZXJzLmxlbmd0aCApIHsNCgkJCQlpZiAoICFzcGVjaWFsLnRlYXJkb3duIHx8DQoJCQkJCXNwZWNpYWwudGVhcmRvd24uY2FsbCggZWxlbSwgbmFtZXNwYWNlcywgZWxlbURhdGEuaGFuZGxlICkgPT09IGZhbHNlICkgew0KDQoJCQkJCWpRdWVyeS5yZW1vdmVFdmVudCggZWxlbSwgdHlwZSwgZWxlbURhdGEuaGFuZGxlICk7DQoJCQkJfQ0KDQoJCQkJZGVsZXRlIGV2ZW50c1sgdHlwZSBdOw0KCQkJfQ0KCQl9DQoNCgkJLy8gUmVtb3ZlIGRhdGEgYW5kIHRoZSBleHBhbmRvIGlmIGl0J3Mgbm8gbG9uZ2VyIHVzZWQNCgkJaWYgKCBqUXVlcnkuaXNFbXB0eU9iamVjdCggZXZlbnRzICkgKSB7DQoJCQlkYXRhUHJpdi5yZW1vdmUoIGVsZW0sICJoYW5kbGUgZXZlbnRzIiApOw0KCQl9DQoJfSwNCg0KCWRpc3BhdGNoOiBmdW5jdGlvbiggbmF0aXZlRXZlbnQgKSB7DQoNCgkJLy8gTWFrZSBhIHdyaXRhYmxlIGpRdWVyeS5FdmVudCBmcm9tIHRoZSBuYXRpdmUgZXZlbnQgb2JqZWN0DQoJCXZhciBldmVudCA9IGpRdWVyeS5ldmVudC5maXgoIG5hdGl2ZUV2ZW50ICk7DQoNCgkJdmFyIGksIGosIHJldCwgbWF0Y2hlZCwgaGFuZGxlT2JqLCBoYW5kbGVyUXVldWUsDQoJCQlhcmdzID0gbmV3IEFycmF5KCBhcmd1bWVudHMubGVuZ3RoICksDQoJCQloYW5kbGVycyA9ICggZGF0YVByaXYuZ2V0KCB0aGlzLCAiZXZlbnRzIiApIHx8IHt9IClbIGV2ZW50LnR5cGUgXSB8fCBbXSwNCgkJCXNwZWNpYWwgPSBqUXVlcnkuZXZlbnQuc3BlY2lhbFsgZXZlbnQudHlwZSBdIHx8IHt9Ow0KDQoJCS8vIFVzZSB0aGUgZml4LWVkIGpRdWVyeS5FdmVudCByYXRoZXIgdGhhbiB0aGUgKHJlYWQtb25seSkgbmF0aXZlIGV2ZW50DQoJCWFyZ3NbIDAgXSA9IGV2ZW50Ow0KDQoJCWZvciAoIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrICkgew0KCQkJYXJnc1sgaSBdID0gYXJndW1lbnRzWyBpIF07DQoJCX0NCg0KCQlldmVudC5kZWxlZ2F0ZVRhcmdldCA9IHRoaXM7DQoNCgkJLy8gQ2FsbCB0aGUgcHJlRGlzcGF0Y2ggaG9vayBmb3IgdGhlIG1hcHBlZCB0eXBlLCBhbmQgbGV0IGl0IGJhaWwgaWYgZGVzaXJlZA0KCQlpZiAoIHNwZWNpYWwucHJlRGlzcGF0Y2ggJiYgc3BlY2lhbC5wcmVEaXNwYXRjaC5jYWxsKCB0aGlzLCBldmVudCApID09PSBmYWxzZSApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCS8vIERldGVybWluZSBoYW5kbGVycw0KCQloYW5kbGVyUXVldWUgPSBqUXVlcnkuZXZlbnQuaGFuZGxlcnMuY2FsbCggdGhpcywgZXZlbnQsIGhhbmRsZXJzICk7DQoNCgkJLy8gUnVuIGRlbGVnYXRlcyBmaXJzdDsgdGhleSBtYXkgd2FudCB0byBzdG9wIHByb3BhZ2F0aW9uIGJlbmVhdGggdXMNCgkJaSA9IDA7DQoJCXdoaWxlICggKCBtYXRjaGVkID0gaGFuZGxlclF1ZXVlWyBpKysgXSApICYmICFldmVudC5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpICkgew0KCQkJZXZlbnQuY3VycmVudFRhcmdldCA9IG1hdGNoZWQuZWxlbTsNCg0KCQkJaiA9IDA7DQoJCQl3aGlsZSAoICggaGFuZGxlT2JqID0gbWF0Y2hlZC5oYW5kbGVyc1sgaisrIF0gKSAmJg0KCQkJCSFldmVudC5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpICkgew0KDQoJCQkJLy8gVHJpZ2dlcmVkIGV2ZW50IG11c3QgZWl0aGVyIDEpIGhhdmUgbm8gbmFtZXNwYWNlLCBvciAyKSBoYXZlIG5hbWVzcGFjZShzKQ0KCQkJCS8vIGEgc3Vic2V0IG9yIGVxdWFsIHRvIHRob3NlIGluIHRoZSBib3VuZCBldmVudCAoYm90aCBjYW4gaGF2ZSBubyBuYW1lc3BhY2UpLg0KCQkJCWlmICggIWV2ZW50LnJuYW1lc3BhY2UgfHwgZXZlbnQucm5hbWVzcGFjZS50ZXN0KCBoYW5kbGVPYmoubmFtZXNwYWNlICkgKSB7DQoNCgkJCQkJZXZlbnQuaGFuZGxlT2JqID0gaGFuZGxlT2JqOw0KCQkJCQlldmVudC5kYXRhID0gaGFuZGxlT2JqLmRhdGE7DQoNCgkJCQkJcmV0ID0gKCAoIGpRdWVyeS5ldmVudC5zcGVjaWFsWyBoYW5kbGVPYmoub3JpZ1R5cGUgXSB8fCB7fSApLmhhbmRsZSB8fA0KCQkJCQkJaGFuZGxlT2JqLmhhbmRsZXIgKS5hcHBseSggbWF0Y2hlZC5lbGVtLCBhcmdzICk7DQoNCgkJCQkJaWYgKCByZXQgIT09IHVuZGVmaW5lZCApIHsNCgkJCQkJCWlmICggKCBldmVudC5yZXN1bHQgPSByZXQgKSA9PT0gZmFsc2UgKSB7DQoJCQkJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsNCgkJCQkJCQlldmVudC5zdG9wUHJvcGFnYXRpb24oKTsNCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCX0NCgkJCX0NCgkJfQ0KDQoJCS8vIENhbGwgdGhlIHBvc3REaXNwYXRjaCBob29rIGZvciB0aGUgbWFwcGVkIHR5cGUNCgkJaWYgKCBzcGVjaWFsLnBvc3REaXNwYXRjaCApIHsNCgkJCXNwZWNpYWwucG9zdERpc3BhdGNoLmNhbGwoIHRoaXMsIGV2ZW50ICk7DQoJCX0NCg0KCQlyZXR1cm4gZXZlbnQucmVzdWx0Ow0KCX0sDQoNCgloYW5kbGVyczogZnVuY3Rpb24oIGV2ZW50LCBoYW5kbGVycyApIHsNCgkJdmFyIGksIGhhbmRsZU9iaiwgc2VsLCBtYXRjaGVkSGFuZGxlcnMsIG1hdGNoZWRTZWxlY3RvcnMsDQoJCQloYW5kbGVyUXVldWUgPSBbXSwNCgkJCWRlbGVnYXRlQ291bnQgPSBoYW5kbGVycy5kZWxlZ2F0ZUNvdW50LA0KCQkJY3VyID0gZXZlbnQudGFyZ2V0Ow0KDQoJCS8vIEZpbmQgZGVsZWdhdGUgaGFuZGxlcnMNCgkJaWYgKCBkZWxlZ2F0ZUNvdW50ICYmDQoNCgkJCS8vIFN1cHBvcnQ6IElFIDw9OQ0KCQkJLy8gQmxhY2staG9sZSBTVkcgPHVzZT4gaW5zdGFuY2UgdHJlZXMgKHRyYWMtMTMxODApDQoJCQljdXIubm9kZVR5cGUgJiYNCg0KCQkJLy8gU3VwcG9ydDogRmlyZWZveCA8PTQyDQoJCQkvLyBTdXBwcmVzcyBzcGVjLXZpb2xhdGluZyBjbGlja3MgaW5kaWNhdGluZyBhIG5vbi1wcmltYXJ5IHBvaW50ZXIgYnV0dG9uICh0cmFjLTM4NjEpDQoJCQkvLyBodHRwczovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzLyNldmVudC10eXBlLWNsaWNrDQoJCQkvLyBTdXBwb3J0OiBJRSAxMSBvbmx5DQoJCQkvLyAuLi5idXQgbm90IGFycm93IGtleSAiY2xpY2tzIiBvZiByYWRpbyBpbnB1dHMsIHdoaWNoIGNhbiBoYXZlIGBidXR0b25gIC0xIChnaC0yMzQzKQ0KCQkJISggZXZlbnQudHlwZSA9PT0gImNsaWNrIiAmJiBldmVudC5idXR0b24gPj0gMSApICkgew0KDQoJCQlmb3IgKCA7IGN1ciAhPT0gdGhpczsgY3VyID0gY3VyLnBhcmVudE5vZGUgfHwgdGhpcyApIHsNCg0KCQkJCS8vIERvbid0IGNoZWNrIG5vbi1lbGVtZW50cyAoIzEzMjA4KQ0KCQkJCS8vIERvbid0IHByb2Nlc3MgY2xpY2tzIG9uIGRpc2FibGVkIGVsZW1lbnRzICgjNjkxMSwgIzgxNjUsICMxMTM4MiwgIzExNzY0KQ0KCQkJCWlmICggY3VyLm5vZGVUeXBlID09PSAxICYmICEoIGV2ZW50LnR5cGUgPT09ICJjbGljayIgJiYgY3VyLmRpc2FibGVkID09PSB0cnVlICkgKSB7DQoJCQkJCW1hdGNoZWRIYW5kbGVycyA9IFtdOw0KCQkJCQltYXRjaGVkU2VsZWN0b3JzID0ge307DQoJCQkJCWZvciAoIGkgPSAwOyBpIDwgZGVsZWdhdGVDb3VudDsgaSsrICkgew0KCQkJCQkJaGFuZGxlT2JqID0gaGFuZGxlcnNbIGkgXTsNCg0KCQkJCQkJLy8gRG9uJ3QgY29uZmxpY3Qgd2l0aCBPYmplY3QucHJvdG90eXBlIHByb3BlcnRpZXMgKCMxMzIwMykNCgkJCQkJCXNlbCA9IGhhbmRsZU9iai5zZWxlY3RvciArICIgIjsNCg0KCQkJCQkJaWYgKCBtYXRjaGVkU2VsZWN0b3JzWyBzZWwgXSA9PT0gdW5kZWZpbmVkICkgew0KCQkJCQkJCW1hdGNoZWRTZWxlY3RvcnNbIHNlbCBdID0gaGFuZGxlT2JqLm5lZWRzQ29udGV4dCA/DQoJCQkJCQkJCWpRdWVyeSggc2VsLCB0aGlzICkuaW5kZXgoIGN1ciApID4gLTEgOg0KCQkJCQkJCQlqUXVlcnkuZmluZCggc2VsLCB0aGlzLCBudWxsLCBbIGN1ciBdICkubGVuZ3RoOw0KCQkJCQkJfQ0KCQkJCQkJaWYgKCBtYXRjaGVkU2VsZWN0b3JzWyBzZWwgXSApIHsNCgkJCQkJCQltYXRjaGVkSGFuZGxlcnMucHVzaCggaGFuZGxlT2JqICk7DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQkJaWYgKCBtYXRjaGVkSGFuZGxlcnMubGVuZ3RoICkgew0KCQkJCQkJaGFuZGxlclF1ZXVlLnB1c2goIHsgZWxlbTogY3VyLCBoYW5kbGVyczogbWF0Y2hlZEhhbmRsZXJzIH0gKTsNCgkJCQkJfQ0KCQkJCX0NCgkJCX0NCgkJfQ0KDQoJCS8vIEFkZCB0aGUgcmVtYWluaW5nIChkaXJlY3RseS1ib3VuZCkgaGFuZGxlcnMNCgkJY3VyID0gdGhpczsNCgkJaWYgKCBkZWxlZ2F0ZUNvdW50IDwgaGFuZGxlcnMubGVuZ3RoICkgew0KCQkJaGFuZGxlclF1ZXVlLnB1c2goIHsgZWxlbTogY3VyLCBoYW5kbGVyczogaGFuZGxlcnMuc2xpY2UoIGRlbGVnYXRlQ291bnQgKSB9ICk7DQoJCX0NCg0KCQlyZXR1cm4gaGFuZGxlclF1ZXVlOw0KCX0sDQoNCglhZGRQcm9wOiBmdW5jdGlvbiggbmFtZSwgaG9vayApIHsNCgkJT2JqZWN0LmRlZmluZVByb3BlcnR5KCBqUXVlcnkuRXZlbnQucHJvdG90eXBlLCBuYW1lLCB7DQoJCQllbnVtZXJhYmxlOiB0cnVlLA0KCQkJY29uZmlndXJhYmxlOiB0cnVlLA0KDQoJCQlnZXQ6IGlzRnVuY3Rpb24oIGhvb2sgKSA/DQoJCQkJZnVuY3Rpb24oKSB7DQoJCQkJCWlmICggdGhpcy5vcmlnaW5hbEV2ZW50ICkgew0KCQkJCQkJCXJldHVybiBob29rKCB0aGlzLm9yaWdpbmFsRXZlbnQgKTsNCgkJCQkJfQ0KCQkJCX0gOg0KCQkJCWZ1bmN0aW9uKCkgew0KCQkJCQlpZiAoIHRoaXMub3JpZ2luYWxFdmVudCApIHsNCgkJCQkJCQlyZXR1cm4gdGhpcy5vcmlnaW5hbEV2ZW50WyBuYW1lIF07DQoJCQkJCX0NCgkJCQl9LA0KDQoJCQlzZXQ6IGZ1bmN0aW9uKCB2YWx1ZSApIHsNCgkJCQlPYmplY3QuZGVmaW5lUHJvcGVydHkoIHRoaXMsIG5hbWUsIHsNCgkJCQkJZW51bWVyYWJsZTogdHJ1ZSwNCgkJCQkJY29uZmlndXJhYmxlOiB0cnVlLA0KCQkJCQl3cml0YWJsZTogdHJ1ZSwNCgkJCQkJdmFsdWU6IHZhbHVlDQoJCQkJfSApOw0KCQkJfQ0KCQl9ICk7DQoJfSwNCg0KCWZpeDogZnVuY3Rpb24oIG9yaWdpbmFsRXZlbnQgKSB7DQoJCXJldHVybiBvcmlnaW5hbEV2ZW50WyBqUXVlcnkuZXhwYW5kbyBdID8NCgkJCW9yaWdpbmFsRXZlbnQgOg0KCQkJbmV3IGpRdWVyeS5FdmVudCggb3JpZ2luYWxFdmVudCApOw0KCX0sDQoNCglzcGVjaWFsOiB7DQoJCWxvYWQ6IHsNCg0KCQkJLy8gUHJldmVudCB0cmlnZ2VyZWQgaW1hZ2UubG9hZCBldmVudHMgZnJvbSBidWJibGluZyB0byB3aW5kb3cubG9hZA0KCQkJbm9CdWJibGU6IHRydWUNCgkJfSwNCgkJZm9jdXM6IHsNCg0KCQkJLy8gRmlyZSBuYXRpdmUgZXZlbnQgaWYgcG9zc2libGUgc28gYmx1ci9mb2N1cyBzZXF1ZW5jZSBpcyBjb3JyZWN0DQoJCQl0cmlnZ2VyOiBmdW5jdGlvbigpIHsNCgkJCQlpZiAoIHRoaXMgIT09IHNhZmVBY3RpdmVFbGVtZW50KCkgJiYgdGhpcy5mb2N1cyApIHsNCgkJCQkJdGhpcy5mb2N1cygpOw0KCQkJCQlyZXR1cm4gZmFsc2U7DQoJCQkJfQ0KCQkJfSwNCgkJCWRlbGVnYXRlVHlwZTogImZvY3VzaW4iDQoJCX0sDQoJCWJsdXI6IHsNCgkJCXRyaWdnZXI6IGZ1bmN0aW9uKCkgew0KCQkJCWlmICggdGhpcyA9PT0gc2FmZUFjdGl2ZUVsZW1lbnQoKSAmJiB0aGlzLmJsdXIgKSB7DQoJCQkJCXRoaXMuYmx1cigpOw0KCQkJCQlyZXR1cm4gZmFsc2U7DQoJCQkJfQ0KCQkJfSwNCgkJCWRlbGVnYXRlVHlwZTogImZvY3Vzb3V0Ig0KCQl9LA0KCQljbGljazogew0KDQoJCQkvLyBGb3IgY2hlY2tib3gsIGZpcmUgbmF0aXZlIGV2ZW50IHNvIGNoZWNrZWQgc3RhdGUgd2lsbCBiZSByaWdodA0KCQkJdHJpZ2dlcjogZnVuY3Rpb24oKSB7DQoJCQkJaWYgKCB0aGlzLnR5cGUgPT09ICJjaGVja2JveCIgJiYgdGhpcy5jbGljayAmJiBub2RlTmFtZSggdGhpcywgImlucHV0IiApICkgew0KCQkJCQl0aGlzLmNsaWNrKCk7DQoJCQkJCXJldHVybiBmYWxzZTsNCgkJCQl9DQoJCQl9LA0KDQoJCQkvLyBGb3IgY3Jvc3MtYnJvd3NlciBjb25zaXN0ZW5jeSwgZG9uJ3QgZmlyZSBuYXRpdmUgLmNsaWNrKCkgb24gbGlua3MNCgkJCV9kZWZhdWx0OiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQkJcmV0dXJuIG5vZGVOYW1lKCBldmVudC50YXJnZXQsICJhIiApOw0KCQkJfQ0KCQl9LA0KDQoJCWJlZm9yZXVubG9hZDogew0KCQkJcG9zdERpc3BhdGNoOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoNCgkJCQkvLyBTdXBwb3J0OiBGaXJlZm94IDIwKw0KCQkJCS8vIEZpcmVmb3ggZG9lc24ndCBhbGVydCBpZiB0aGUgcmV0dXJuVmFsdWUgZmllbGQgaXMgbm90IHNldC4NCgkJCQlpZiAoIGV2ZW50LnJlc3VsdCAhPT0gdW5kZWZpbmVkICYmIGV2ZW50Lm9yaWdpbmFsRXZlbnQgKSB7DQoJCQkJCWV2ZW50Lm9yaWdpbmFsRXZlbnQucmV0dXJuVmFsdWUgPSBldmVudC5yZXN1bHQ7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJfQ0KfTsNCg0KalF1ZXJ5LnJlbW92ZUV2ZW50ID0gZnVuY3Rpb24oIGVsZW0sIHR5cGUsIGhhbmRsZSApIHsNCg0KCS8vIFRoaXMgImlmIiBpcyBuZWVkZWQgZm9yIHBsYWluIG9iamVjdHMNCglpZiAoIGVsZW0ucmVtb3ZlRXZlbnRMaXN0ZW5lciApIHsNCgkJZWxlbS5yZW1vdmVFdmVudExpc3RlbmVyKCB0eXBlLCBoYW5kbGUgKTsNCgl9DQp9Ow0KDQpqUXVlcnkuRXZlbnQgPSBmdW5jdGlvbiggc3JjLCBwcm9wcyApIHsNCg0KCS8vIEFsbG93IGluc3RhbnRpYXRpb24gd2l0aG91dCB0aGUgJ25ldycga2V5d29yZA0KCWlmICggISggdGhpcyBpbnN0YW5jZW9mIGpRdWVyeS5FdmVudCApICkgew0KCQlyZXR1cm4gbmV3IGpRdWVyeS5FdmVudCggc3JjLCBwcm9wcyApOw0KCX0NCg0KCS8vIEV2ZW50IG9iamVjdA0KCWlmICggc3JjICYmIHNyYy50eXBlICkgew0KCQl0aGlzLm9yaWdpbmFsRXZlbnQgPSBzcmM7DQoJCXRoaXMudHlwZSA9IHNyYy50eXBlOw0KDQoJCS8vIEV2ZW50cyBidWJibGluZyB1cCB0aGUgZG9jdW1lbnQgbWF5IGhhdmUgYmVlbiBtYXJrZWQgYXMgcHJldmVudGVkDQoJCS8vIGJ5IGEgaGFuZGxlciBsb3dlciBkb3duIHRoZSB0cmVlOyByZWZsZWN0IHRoZSBjb3JyZWN0IHZhbHVlLg0KCQl0aGlzLmlzRGVmYXVsdFByZXZlbnRlZCA9IHNyYy5kZWZhdWx0UHJldmVudGVkIHx8DQoJCQkJc3JjLmRlZmF1bHRQcmV2ZW50ZWQgPT09IHVuZGVmaW5lZCAmJg0KDQoJCQkJLy8gU3VwcG9ydDogQW5kcm9pZCA8PTIuMyBvbmx5DQoJCQkJc3JjLnJldHVyblZhbHVlID09PSBmYWxzZSA/DQoJCQlyZXR1cm5UcnVlIDoNCgkJCXJldHVybkZhbHNlOw0KDQoJCS8vIENyZWF0ZSB0YXJnZXQgcHJvcGVydGllcw0KCQkvLyBTdXBwb3J0OiBTYWZhcmkgPD02IC0gNyBvbmx5DQoJCS8vIFRhcmdldCBzaG91bGQgbm90IGJlIGEgdGV4dCBub2RlICgjNTA0LCAjMTMxNDMpDQoJCXRoaXMudGFyZ2V0ID0gKCBzcmMudGFyZ2V0ICYmIHNyYy50YXJnZXQubm9kZVR5cGUgPT09IDMgKSA/DQoJCQlzcmMudGFyZ2V0LnBhcmVudE5vZGUgOg0KCQkJc3JjLnRhcmdldDsNCg0KCQl0aGlzLmN1cnJlbnRUYXJnZXQgPSBzcmMuY3VycmVudFRhcmdldDsNCgkJdGhpcy5yZWxhdGVkVGFyZ2V0ID0gc3JjLnJlbGF0ZWRUYXJnZXQ7DQoNCgkvLyBFdmVudCB0eXBlDQoJfSBlbHNlIHsNCgkJdGhpcy50eXBlID0gc3JjOw0KCX0NCg0KCS8vIFB1dCBleHBsaWNpdGx5IHByb3ZpZGVkIHByb3BlcnRpZXMgb250byB0aGUgZXZlbnQgb2JqZWN0DQoJaWYgKCBwcm9wcyApIHsNCgkJalF1ZXJ5LmV4dGVuZCggdGhpcywgcHJvcHMgKTsNCgl9DQoNCgkvLyBDcmVhdGUgYSB0aW1lc3RhbXAgaWYgaW5jb21pbmcgZXZlbnQgZG9lc24ndCBoYXZlIG9uZQ0KCXRoaXMudGltZVN0YW1wID0gc3JjICYmIHNyYy50aW1lU3RhbXAgfHwgRGF0ZS5ub3coKTsNCg0KCS8vIE1hcmsgaXQgYXMgZml4ZWQNCgl0aGlzWyBqUXVlcnkuZXhwYW5kbyBdID0gdHJ1ZTsNCn07DQoNCi8vIGpRdWVyeS5FdmVudCBpcyBiYXNlZCBvbiBET00zIEV2ZW50cyBhcyBzcGVjaWZpZWQgYnkgdGhlIEVDTUFTY3JpcHQgTGFuZ3VhZ2UgQmluZGluZw0KLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSLzIwMDMvV0QtRE9NLUxldmVsLTMtRXZlbnRzLTIwMDMwMzMxL2VjbWEtc2NyaXB0LWJpbmRpbmcuaHRtbA0KalF1ZXJ5LkV2ZW50LnByb3RvdHlwZSA9IHsNCgljb25zdHJ1Y3RvcjogalF1ZXJ5LkV2ZW50LA0KCWlzRGVmYXVsdFByZXZlbnRlZDogcmV0dXJuRmFsc2UsDQoJaXNQcm9wYWdhdGlvblN0b3BwZWQ6IHJldHVybkZhbHNlLA0KCWlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkOiByZXR1cm5GYWxzZSwNCglpc1NpbXVsYXRlZDogZmFsc2UsDQoNCglwcmV2ZW50RGVmYXVsdDogZnVuY3Rpb24oKSB7DQoJCXZhciBlID0gdGhpcy5vcmlnaW5hbEV2ZW50Ow0KDQoJCXRoaXMuaXNEZWZhdWx0UHJldmVudGVkID0gcmV0dXJuVHJ1ZTsNCg0KCQlpZiAoIGUgJiYgIXRoaXMuaXNTaW11bGF0ZWQgKSB7DQoJCQllLnByZXZlbnREZWZhdWx0KCk7DQoJCX0NCgl9LA0KCXN0b3BQcm9wYWdhdGlvbjogZnVuY3Rpb24oKSB7DQoJCXZhciBlID0gdGhpcy5vcmlnaW5hbEV2ZW50Ow0KDQoJCXRoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQgPSByZXR1cm5UcnVlOw0KDQoJCWlmICggZSAmJiAhdGhpcy5pc1NpbXVsYXRlZCApIHsNCgkJCWUuc3RvcFByb3BhZ2F0aW9uKCk7DQoJCX0NCgl9LA0KCXN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbjogZnVuY3Rpb24oKSB7DQoJCXZhciBlID0gdGhpcy5vcmlnaW5hbEV2ZW50Ow0KDQoJCXRoaXMuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQgPSByZXR1cm5UcnVlOw0KDQoJCWlmICggZSAmJiAhdGhpcy5pc1NpbXVsYXRlZCApIHsNCgkJCWUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7DQoJCX0NCg0KCQl0aGlzLnN0b3BQcm9wYWdhdGlvbigpOw0KCX0NCn07DQoNCi8vIEluY2x1ZGVzIGFsbCBjb21tb24gZXZlbnQgcHJvcHMgaW5jbHVkaW5nIEtleUV2ZW50IGFuZCBNb3VzZUV2ZW50IHNwZWNpZmljIHByb3BzDQpqUXVlcnkuZWFjaCggew0KCWFsdEtleTogdHJ1ZSwNCglidWJibGVzOiB0cnVlLA0KCWNhbmNlbGFibGU6IHRydWUsDQoJY2hhbmdlZFRvdWNoZXM6IHRydWUsDQoJY3RybEtleTogdHJ1ZSwNCglkZXRhaWw6IHRydWUsDQoJZXZlbnRQaGFzZTogdHJ1ZSwNCgltZXRhS2V5OiB0cnVlLA0KCXBhZ2VYOiB0cnVlLA0KCXBhZ2VZOiB0cnVlLA0KCXNoaWZ0S2V5OiB0cnVlLA0KCXZpZXc6IHRydWUsDQoJImNoYXIiOiB0cnVlLA0KCWNoYXJDb2RlOiB0cnVlLA0KCWtleTogdHJ1ZSwNCglrZXlDb2RlOiB0cnVlLA0KCWJ1dHRvbjogdHJ1ZSwNCglidXR0b25zOiB0cnVlLA0KCWNsaWVudFg6IHRydWUsDQoJY2xpZW50WTogdHJ1ZSwNCglvZmZzZXRYOiB0cnVlLA0KCW9mZnNldFk6IHRydWUsDQoJcG9pbnRlcklkOiB0cnVlLA0KCXBvaW50ZXJUeXBlOiB0cnVlLA0KCXNjcmVlblg6IHRydWUsDQoJc2NyZWVuWTogdHJ1ZSwNCgl0YXJnZXRUb3VjaGVzOiB0cnVlLA0KCXRvRWxlbWVudDogdHJ1ZSwNCgl0b3VjaGVzOiB0cnVlLA0KDQoJd2hpY2g6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdmFyIGJ1dHRvbiA9IGV2ZW50LmJ1dHRvbjsNCg0KCQkvLyBBZGQgd2hpY2ggZm9yIGtleSBldmVudHMNCgkJaWYgKCBldmVudC53aGljaCA9PSBudWxsICYmIHJrZXlFdmVudC50ZXN0KCBldmVudC50eXBlICkgKSB7DQoJCQlyZXR1cm4gZXZlbnQuY2hhckNvZGUgIT0gbnVsbCA/IGV2ZW50LmNoYXJDb2RlIDogZXZlbnQua2V5Q29kZTsNCgkJfQ0KDQoJCS8vIEFkZCB3aGljaCBmb3IgY2xpY2s6IDEgPT09IGxlZnQ7IDIgPT09IG1pZGRsZTsgMyA9PT0gcmlnaHQNCgkJaWYgKCAhZXZlbnQud2hpY2ggJiYgYnV0dG9uICE9PSB1bmRlZmluZWQgJiYgcm1vdXNlRXZlbnQudGVzdCggZXZlbnQudHlwZSApICkgew0KCQkJaWYgKCBidXR0b24gJiAxICkgew0KCQkJCXJldHVybiAxOw0KCQkJfQ0KDQoJCQlpZiAoIGJ1dHRvbiAmIDIgKSB7DQoJCQkJcmV0dXJuIDM7DQoJCQl9DQoNCgkJCWlmICggYnV0dG9uICYgNCApIHsNCgkJCQlyZXR1cm4gMjsNCgkJCX0NCg0KCQkJcmV0dXJuIDA7DQoJCX0NCg0KCQlyZXR1cm4gZXZlbnQud2hpY2g7DQoJfQ0KfSwgalF1ZXJ5LmV2ZW50LmFkZFByb3AgKTsNCg0KLy8gQ3JlYXRlIG1vdXNlZW50ZXIvbGVhdmUgZXZlbnRzIHVzaW5nIG1vdXNlb3Zlci9vdXQgYW5kIGV2ZW50LXRpbWUgY2hlY2tzDQovLyBzbyB0aGF0IGV2ZW50IGRlbGVnYXRpb24gd29ya3MgaW4galF1ZXJ5Lg0KLy8gRG8gdGhlIHNhbWUgZm9yIHBvaW50ZXJlbnRlci9wb2ludGVybGVhdmUgYW5kIHBvaW50ZXJvdmVyL3BvaW50ZXJvdXQNCi8vDQovLyBTdXBwb3J0OiBTYWZhcmkgNyBvbmx5DQovLyBTYWZhcmkgc2VuZHMgbW91c2VlbnRlciB0b28gb2Z0ZW47IHNlZToNCi8vIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTQ3MDI1OA0KLy8gZm9yIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgYnVnIChpdCBleGlzdGVkIGluIG9sZGVyIENocm9tZSB2ZXJzaW9ucyBhcyB3ZWxsKS4NCmpRdWVyeS5lYWNoKCB7DQoJbW91c2VlbnRlcjogIm1vdXNlb3ZlciIsDQoJbW91c2VsZWF2ZTogIm1vdXNlb3V0IiwNCglwb2ludGVyZW50ZXI6ICJwb2ludGVyb3ZlciIsDQoJcG9pbnRlcmxlYXZlOiAicG9pbnRlcm91dCINCn0sIGZ1bmN0aW9uKCBvcmlnLCBmaXggKSB7DQoJalF1ZXJ5LmV2ZW50LnNwZWNpYWxbIG9yaWcgXSA9IHsNCgkJZGVsZWdhdGVUeXBlOiBmaXgsDQoJCWJpbmRUeXBlOiBmaXgsDQoNCgkJaGFuZGxlOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQl2YXIgcmV0LA0KCQkJCXRhcmdldCA9IHRoaXMsDQoJCQkJcmVsYXRlZCA9IGV2ZW50LnJlbGF0ZWRUYXJnZXQsDQoJCQkJaGFuZGxlT2JqID0gZXZlbnQuaGFuZGxlT2JqOw0KDQoJCQkvLyBGb3IgbW91c2VlbnRlci9sZWF2ZSBjYWxsIHRoZSBoYW5kbGVyIGlmIHJlbGF0ZWQgaXMgb3V0c2lkZSB0aGUgdGFyZ2V0Lg0KCQkJLy8gTkI6IE5vIHJlbGF0ZWRUYXJnZXQgaWYgdGhlIG1vdXNlIGxlZnQvZW50ZXJlZCB0aGUgYnJvd3NlciB3aW5kb3cNCgkJCWlmICggIXJlbGF0ZWQgfHwgKCByZWxhdGVkICE9PSB0YXJnZXQgJiYgIWpRdWVyeS5jb250YWlucyggdGFyZ2V0LCByZWxhdGVkICkgKSApIHsNCgkJCQlldmVudC50eXBlID0gaGFuZGxlT2JqLm9yaWdUeXBlOw0KCQkJCXJldCA9IGhhbmRsZU9iai5oYW5kbGVyLmFwcGx5KCB0aGlzLCBhcmd1bWVudHMgKTsNCgkJCQlldmVudC50eXBlID0gZml4Ow0KCQkJfQ0KCQkJcmV0dXJuIHJldDsNCgkJfQ0KCX07DQp9ICk7DQoNCmpRdWVyeS5mbi5leHRlbmQoIHsNCg0KCW9uOiBmdW5jdGlvbiggdHlwZXMsIHNlbGVjdG9yLCBkYXRhLCBmbiApIHsNCgkJcmV0dXJuIG9uKCB0aGlzLCB0eXBlcywgc2VsZWN0b3IsIGRhdGEsIGZuICk7DQoJfSwNCglvbmU6IGZ1bmN0aW9uKCB0eXBlcywgc2VsZWN0b3IsIGRhdGEsIGZuICkgew0KCQlyZXR1cm4gb24oIHRoaXMsIHR5cGVzLCBzZWxlY3RvciwgZGF0YSwgZm4sIDEgKTsNCgl9LA0KCW9mZjogZnVuY3Rpb24oIHR5cGVzLCBzZWxlY3RvciwgZm4gKSB7DQoJCXZhciBoYW5kbGVPYmosIHR5cGU7DQoJCWlmICggdHlwZXMgJiYgdHlwZXMucHJldmVudERlZmF1bHQgJiYgdHlwZXMuaGFuZGxlT2JqICkgew0KDQoJCQkvLyAoIGV2ZW50ICkgIGRpc3BhdGNoZWQgalF1ZXJ5LkV2ZW50DQoJCQloYW5kbGVPYmogPSB0eXBlcy5oYW5kbGVPYmo7DQoJCQlqUXVlcnkoIHR5cGVzLmRlbGVnYXRlVGFyZ2V0ICkub2ZmKA0KCQkJCWhhbmRsZU9iai5uYW1lc3BhY2UgPw0KCQkJCQloYW5kbGVPYmoub3JpZ1R5cGUgKyAiLiIgKyBoYW5kbGVPYmoubmFtZXNwYWNlIDoNCgkJCQkJaGFuZGxlT2JqLm9yaWdUeXBlLA0KCQkJCWhhbmRsZU9iai5zZWxlY3RvciwNCgkJCQloYW5kbGVPYmouaGFuZGxlcg0KCQkJKTsNCgkJCXJldHVybiB0aGlzOw0KCQl9DQoJCWlmICggdHlwZW9mIHR5cGVzID09PSAib2JqZWN0IiApIHsNCg0KCQkJLy8gKCB0eXBlcy1vYmplY3QgWywgc2VsZWN0b3JdICkNCgkJCWZvciAoIHR5cGUgaW4gdHlwZXMgKSB7DQoJCQkJdGhpcy5vZmYoIHR5cGUsIHNlbGVjdG9yLCB0eXBlc1sgdHlwZSBdICk7DQoJCQl9DQoJCQlyZXR1cm4gdGhpczsNCgkJfQ0KCQlpZiAoIHNlbGVjdG9yID09PSBmYWxzZSB8fCB0eXBlb2Ygc2VsZWN0b3IgPT09ICJmdW5jdGlvbiIgKSB7DQoNCgkJCS8vICggdHlwZXMgWywgZm5dICkNCgkJCWZuID0gc2VsZWN0b3I7DQoJCQlzZWxlY3RvciA9IHVuZGVmaW5lZDsNCgkJfQ0KCQlpZiAoIGZuID09PSBmYWxzZSApIHsNCgkJCWZuID0gcmV0dXJuRmFsc2U7DQoJCX0NCgkJcmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQlqUXVlcnkuZXZlbnQucmVtb3ZlKCB0aGlzLCB0eXBlcywgZm4sIHNlbGVjdG9yICk7DQoJCX0gKTsNCgl9DQp9ICk7DQoNCg0KdmFyDQoNCgkvKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuICovDQoNCgkvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2VzbGludC9lc2xpbnQvaXNzdWVzLzMyMjkNCglyeGh0bWxUYWcgPSAvPCg/IWFyZWF8YnJ8Y29sfGVtYmVkfGhyfGltZ3xpbnB1dHxsaW5rfG1ldGF8cGFyYW0pKChbYS16XVteXC9cMD5ceDIwXHRcclxuXGZdKilbXj5dKilcLz4vZ2ksDQoNCgkvKiBlc2xpbnQtZW5hYmxlICovDQoNCgkvLyBTdXBwb3J0OiBJRSA8PTEwIC0gMTEsIEVkZ2UgMTIgLSAxMyBvbmx5DQoJLy8gSW4gSUUvRWRnZSB1c2luZyByZWdleCBncm91cHMgaGVyZSBjYXVzZXMgc2V2ZXJlIHNsb3dkb3ducy4NCgkvLyBTZWUgaHR0cHM6Ly9jb25uZWN0Lm1pY3Jvc29mdC5jb20vSUUvZmVlZGJhY2svZGV0YWlscy8xNzM2NTEyLw0KCXJub0lubmVyaHRtbCA9IC88c2NyaXB0fDxzdHlsZXw8bGluay9pLA0KDQoJLy8gY2hlY2tlZD0iY2hlY2tlZCIgb3IgY2hlY2tlZA0KCXJjaGVja2VkID0gL2NoZWNrZWRccyooPzpbXj1dfD1ccyouY2hlY2tlZC4pL2ksDQoJcmNsZWFuU2NyaXB0ID0gL15ccyo8ISg/OlxbQ0RBVEFcW3wtLSl8KD86XF1cXXwtLSk+XHMqJC9nOw0KDQovLyBQcmVmZXIgYSB0Ym9keSBvdmVyIGl0cyBwYXJlbnQgdGFibGUgZm9yIGNvbnRhaW5pbmcgbmV3IHJvd3MNCmZ1bmN0aW9uIG1hbmlwdWxhdGlvblRhcmdldCggZWxlbSwgY29udGVudCApIHsNCglpZiAoIG5vZGVOYW1lKCBlbGVtLCAidGFibGUiICkgJiYNCgkJbm9kZU5hbWUoIGNvbnRlbnQubm9kZVR5cGUgIT09IDExID8gY29udGVudCA6IGNvbnRlbnQuZmlyc3RDaGlsZCwgInRyIiApICkgew0KDQoJCXJldHVybiBqUXVlcnkoIGVsZW0gKS5jaGlsZHJlbiggInRib2R5IiApWyAwIF0gfHwgZWxlbTsNCgl9DQoNCglyZXR1cm4gZWxlbTsNCn0NCg0KLy8gUmVwbGFjZS9yZXN0b3JlIHRoZSB0eXBlIGF0dHJpYnV0ZSBvZiBzY3JpcHQgZWxlbWVudHMgZm9yIHNhZmUgRE9NIG1hbmlwdWxhdGlvbg0KZnVuY3Rpb24gZGlzYWJsZVNjcmlwdCggZWxlbSApIHsNCgllbGVtLnR5cGUgPSAoIGVsZW0uZ2V0QXR0cmlidXRlKCAidHlwZSIgKSAhPT0gbnVsbCApICsgIi8iICsgZWxlbS50eXBlOw0KCXJldHVybiBlbGVtOw0KfQ0KZnVuY3Rpb24gcmVzdG9yZVNjcmlwdCggZWxlbSApIHsNCglpZiAoICggZWxlbS50eXBlIHx8ICIiICkuc2xpY2UoIDAsIDUgKSA9PT0gInRydWUvIiApIHsNCgkJZWxlbS50eXBlID0gZWxlbS50eXBlLnNsaWNlKCA1ICk7DQoJfSBlbHNlIHsNCgkJZWxlbS5yZW1vdmVBdHRyaWJ1dGUoICJ0eXBlIiApOw0KCX0NCg0KCXJldHVybiBlbGVtOw0KfQ0KDQpmdW5jdGlvbiBjbG9uZUNvcHlFdmVudCggc3JjLCBkZXN0ICkgew0KCXZhciBpLCBsLCB0eXBlLCBwZGF0YU9sZCwgcGRhdGFDdXIsIHVkYXRhT2xkLCB1ZGF0YUN1ciwgZXZlbnRzOw0KDQoJaWYgKCBkZXN0Lm5vZGVUeXBlICE9PSAxICkgew0KCQlyZXR1cm47DQoJfQ0KDQoJLy8gMS4gQ29weSBwcml2YXRlIGRhdGE6IGV2ZW50cywgaGFuZGxlcnMsIGV0Yy4NCglpZiAoIGRhdGFQcml2Lmhhc0RhdGEoIHNyYyApICkgew0KCQlwZGF0YU9sZCA9IGRhdGFQcml2LmFjY2Vzcyggc3JjICk7DQoJCXBkYXRhQ3VyID0gZGF0YVByaXYuc2V0KCBkZXN0LCBwZGF0YU9sZCApOw0KCQlldmVudHMgPSBwZGF0YU9sZC5ldmVudHM7DQoNCgkJaWYgKCBldmVudHMgKSB7DQoJCQlkZWxldGUgcGRhdGFDdXIuaGFuZGxlOw0KCQkJcGRhdGFDdXIuZXZlbnRzID0ge307DQoNCgkJCWZvciAoIHR5cGUgaW4gZXZlbnRzICkgew0KCQkJCWZvciAoIGkgPSAwLCBsID0gZXZlbnRzWyB0eXBlIF0ubGVuZ3RoOyBpIDwgbDsgaSsrICkgew0KCQkJCQlqUXVlcnkuZXZlbnQuYWRkKCBkZXN0LCB0eXBlLCBldmVudHNbIHR5cGUgXVsgaSBdICk7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJfQ0KDQoJLy8gMi4gQ29weSB1c2VyIGRhdGENCglpZiAoIGRhdGFVc2VyLmhhc0RhdGEoIHNyYyApICkgew0KCQl1ZGF0YU9sZCA9IGRhdGFVc2VyLmFjY2Vzcyggc3JjICk7DQoJCXVkYXRhQ3VyID0galF1ZXJ5LmV4dGVuZCgge30sIHVkYXRhT2xkICk7DQoNCgkJZGF0YVVzZXIuc2V0KCBkZXN0LCB1ZGF0YUN1ciApOw0KCX0NCn0NCg0KLy8gRml4IElFIGJ1Z3MsIHNlZSBzdXBwb3J0IHRlc3RzDQpmdW5jdGlvbiBmaXhJbnB1dCggc3JjLCBkZXN0ICkgew0KCXZhciBub2RlTmFtZSA9IGRlc3Qubm9kZU5hbWUudG9Mb3dlckNhc2UoKTsNCg0KCS8vIEZhaWxzIHRvIHBlcnNpc3QgdGhlIGNoZWNrZWQgc3RhdGUgb2YgYSBjbG9uZWQgY2hlY2tib3ggb3IgcmFkaW8gYnV0dG9uLg0KCWlmICggbm9kZU5hbWUgPT09ICJpbnB1dCIgJiYgcmNoZWNrYWJsZVR5cGUudGVzdCggc3JjLnR5cGUgKSApIHsNCgkJZGVzdC5jaGVja2VkID0gc3JjLmNoZWNrZWQ7DQoNCgkvLyBGYWlscyB0byByZXR1cm4gdGhlIHNlbGVjdGVkIG9wdGlvbiB0byB0aGUgZGVmYXVsdCBzZWxlY3RlZCBzdGF0ZSB3aGVuIGNsb25pbmcgb3B0aW9ucw0KCX0gZWxzZSBpZiAoIG5vZGVOYW1lID09PSAiaW5wdXQiIHx8IG5vZGVOYW1lID09PSAidGV4dGFyZWEiICkgew0KCQlkZXN0LmRlZmF1bHRWYWx1ZSA9IHNyYy5kZWZhdWx0VmFsdWU7DQoJfQ0KfQ0KDQpmdW5jdGlvbiBkb21NYW5pcCggY29sbGVjdGlvbiwgYXJncywgY2FsbGJhY2ssIGlnbm9yZWQgKSB7DQoNCgkvLyBGbGF0dGVuIGFueSBuZXN0ZWQgYXJyYXlzDQoJYXJncyA9IGNvbmNhdC5hcHBseSggW10sIGFyZ3MgKTsNCg0KCXZhciBmcmFnbWVudCwgZmlyc3QsIHNjcmlwdHMsIGhhc1NjcmlwdHMsIG5vZGUsIGRvYywNCgkJaSA9IDAsDQoJCWwgPSBjb2xsZWN0aW9uLmxlbmd0aCwNCgkJaU5vQ2xvbmUgPSBsIC0gMSwNCgkJdmFsdWUgPSBhcmdzWyAwIF0sDQoJCXZhbHVlSXNGdW5jdGlvbiA9IGlzRnVuY3Rpb24oIHZhbHVlICk7DQoNCgkvLyBXZSBjYW4ndCBjbG9uZU5vZGUgZnJhZ21lbnRzIHRoYXQgY29udGFpbiBjaGVja2VkLCBpbiBXZWJLaXQNCglpZiAoIHZhbHVlSXNGdW5jdGlvbiB8fA0KCQkJKCBsID4gMSAmJiB0eXBlb2YgdmFsdWUgPT09ICJzdHJpbmciICYmDQoJCQkJIXN1cHBvcnQuY2hlY2tDbG9uZSAmJiByY2hlY2tlZC50ZXN0KCB2YWx1ZSApICkgKSB7DQoJCXJldHVybiBjb2xsZWN0aW9uLmVhY2goIGZ1bmN0aW9uKCBpbmRleCApIHsNCgkJCXZhciBzZWxmID0gY29sbGVjdGlvbi5lcSggaW5kZXggKTsNCgkJCWlmICggdmFsdWVJc0Z1bmN0aW9uICkgew0KCQkJCWFyZ3NbIDAgXSA9IHZhbHVlLmNhbGwoIHRoaXMsIGluZGV4LCBzZWxmLmh0bWwoKSApOw0KCQkJfQ0KCQkJZG9tTWFuaXAoIHNlbGYsIGFyZ3MsIGNhbGxiYWNrLCBpZ25vcmVkICk7DQoJCX0gKTsNCgl9DQoNCglpZiAoIGwgKSB7DQoJCWZyYWdtZW50ID0gYnVpbGRGcmFnbWVudCggYXJncywgY29sbGVjdGlvblsgMCBdLm93bmVyRG9jdW1lbnQsIGZhbHNlLCBjb2xsZWN0aW9uLCBpZ25vcmVkICk7DQoJCWZpcnN0ID0gZnJhZ21lbnQuZmlyc3RDaGlsZDsNCg0KCQlpZiAoIGZyYWdtZW50LmNoaWxkTm9kZXMubGVuZ3RoID09PSAxICkgew0KCQkJZnJhZ21lbnQgPSBmaXJzdDsNCgkJfQ0KDQoJCS8vIFJlcXVpcmUgZWl0aGVyIG5ldyBjb250ZW50IG9yIGFuIGludGVyZXN0IGluIGlnbm9yZWQgZWxlbWVudHMgdG8gaW52b2tlIHRoZSBjYWxsYmFjaw0KCQlpZiAoIGZpcnN0IHx8IGlnbm9yZWQgKSB7DQoJCQlzY3JpcHRzID0galF1ZXJ5Lm1hcCggZ2V0QWxsKCBmcmFnbWVudCwgInNjcmlwdCIgKSwgZGlzYWJsZVNjcmlwdCApOw0KCQkJaGFzU2NyaXB0cyA9IHNjcmlwdHMubGVuZ3RoOw0KDQoJCQkvLyBVc2UgdGhlIG9yaWdpbmFsIGZyYWdtZW50IGZvciB0aGUgbGFzdCBpdGVtDQoJCQkvLyBpbnN0ZWFkIG9mIHRoZSBmaXJzdCBiZWNhdXNlIGl0IGNhbiBlbmQgdXANCgkJCS8vIGJlaW5nIGVtcHRpZWQgaW5jb3JyZWN0bHkgaW4gY2VydGFpbiBzaXR1YXRpb25zICgjODA3MCkuDQoJCQlmb3IgKCA7IGkgPCBsOyBpKysgKSB7DQoJCQkJbm9kZSA9IGZyYWdtZW50Ow0KDQoJCQkJaWYgKCBpICE9PSBpTm9DbG9uZSApIHsNCgkJCQkJbm9kZSA9IGpRdWVyeS5jbG9uZSggbm9kZSwgdHJ1ZSwgdHJ1ZSApOw0KDQoJCQkJCS8vIEtlZXAgcmVmZXJlbmNlcyB0byBjbG9uZWQgc2NyaXB0cyBmb3IgbGF0ZXIgcmVzdG9yYXRpb24NCgkJCQkJaWYgKCBoYXNTY3JpcHRzICkgew0KDQoJCQkJCQkvLyBTdXBwb3J0OiBBbmRyb2lkIDw9NC4wIG9ubHksIFBoYW50b21KUyAxIG9ubHkNCgkJCQkJCS8vIHB1c2guYXBwbHkoXywgYXJyYXlsaWtlKSB0aHJvd3Mgb24gYW5jaWVudCBXZWJLaXQNCgkJCQkJCWpRdWVyeS5tZXJnZSggc2NyaXB0cywgZ2V0QWxsKCBub2RlLCAic2NyaXB0IiApICk7DQoJCQkJCX0NCgkJCQl9DQoNCgkJCQljYWxsYmFjay5jYWxsKCBjb2xsZWN0aW9uWyBpIF0sIG5vZGUsIGkgKTsNCgkJCX0NCg0KCQkJaWYgKCBoYXNTY3JpcHRzICkgew0KCQkJCWRvYyA9IHNjcmlwdHNbIHNjcmlwdHMubGVuZ3RoIC0gMSBdLm93bmVyRG9jdW1lbnQ7DQoNCgkJCQkvLyBSZWVuYWJsZSBzY3JpcHRzDQoJCQkJalF1ZXJ5Lm1hcCggc2NyaXB0cywgcmVzdG9yZVNjcmlwdCApOw0KDQoJCQkJLy8gRXZhbHVhdGUgZXhlY3V0YWJsZSBzY3JpcHRzIG9uIGZpcnN0IGRvY3VtZW50IGluc2VydGlvbg0KCQkJCWZvciAoIGkgPSAwOyBpIDwgaGFzU2NyaXB0czsgaSsrICkgew0KCQkJCQlub2RlID0gc2NyaXB0c1sgaSBdOw0KCQkJCQlpZiAoIHJzY3JpcHRUeXBlLnRlc3QoIG5vZGUudHlwZSB8fCAiIiApICYmDQoJCQkJCQkhZGF0YVByaXYuYWNjZXNzKCBub2RlLCAiZ2xvYmFsRXZhbCIgKSAmJg0KCQkJCQkJalF1ZXJ5LmNvbnRhaW5zKCBkb2MsIG5vZGUgKSApIHsNCg0KCQkJCQkJaWYgKCBub2RlLnNyYyAmJiAoIG5vZGUudHlwZSB8fCAiIiApLnRvTG93ZXJDYXNlKCkgICE9PSAibW9kdWxlIiApIHsNCg0KCQkJCQkJCS8vIE9wdGlvbmFsIEFKQVggZGVwZW5kZW5jeSwgYnV0IHdvbid0IHJ1biBzY3JpcHRzIGlmIG5vdCBwcmVzZW50DQoJCQkJCQkJaWYgKCBqUXVlcnkuX2V2YWxVcmwgKSB7DQoJCQkJCQkJCWpRdWVyeS5fZXZhbFVybCggbm9kZS5zcmMgKTsNCgkJCQkJCQl9DQoJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCURPTUV2YWwoIG5vZGUudGV4dENvbnRlbnQucmVwbGFjZSggcmNsZWFuU2NyaXB0LCAiIiApLCBkb2MsIG5vZGUgKTsNCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCX0NCgkJCX0NCgkJfQ0KCX0NCg0KCXJldHVybiBjb2xsZWN0aW9uOw0KfQ0KDQpmdW5jdGlvbiByZW1vdmUoIGVsZW0sIHNlbGVjdG9yLCBrZWVwRGF0YSApIHsNCgl2YXIgbm9kZSwNCgkJbm9kZXMgPSBzZWxlY3RvciA/IGpRdWVyeS5maWx0ZXIoIHNlbGVjdG9yLCBlbGVtICkgOiBlbGVtLA0KCQlpID0gMDsNCg0KCWZvciAoIDsgKCBub2RlID0gbm9kZXNbIGkgXSApICE9IG51bGw7IGkrKyApIHsNCgkJaWYgKCAha2VlcERhdGEgJiYgbm9kZS5ub2RlVHlwZSA9PT0gMSApIHsNCgkJCWpRdWVyeS5jbGVhbkRhdGEoIGdldEFsbCggbm9kZSApICk7DQoJCX0NCg0KCQlpZiAoIG5vZGUucGFyZW50Tm9kZSApIHsNCgkJCWlmICgga2VlcERhdGEgJiYgalF1ZXJ5LmNvbnRhaW5zKCBub2RlLm93bmVyRG9jdW1lbnQsIG5vZGUgKSApIHsNCgkJCQlzZXRHbG9iYWxFdmFsKCBnZXRBbGwoIG5vZGUsICJzY3JpcHQiICkgKTsNCgkJCX0NCgkJCW5vZGUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCggbm9kZSApOw0KCQl9DQoJfQ0KDQoJcmV0dXJuIGVsZW07DQp9DQoNCmpRdWVyeS5leHRlbmQoIHsNCglodG1sUHJlZmlsdGVyOiBmdW5jdGlvbiggaHRtbCApIHsNCgkJcmV0dXJuIGh0bWwucmVwbGFjZSggcnhodG1sVGFnLCAiPCQxPjwvJDI+IiApOw0KCX0sDQoNCgljbG9uZTogZnVuY3Rpb24oIGVsZW0sIGRhdGFBbmRFdmVudHMsIGRlZXBEYXRhQW5kRXZlbnRzICkgew0KCQl2YXIgaSwgbCwgc3JjRWxlbWVudHMsIGRlc3RFbGVtZW50cywNCgkJCWNsb25lID0gZWxlbS5jbG9uZU5vZGUoIHRydWUgKSwNCgkJCWluUGFnZSA9IGpRdWVyeS5jb250YWlucyggZWxlbS5vd25lckRvY3VtZW50LCBlbGVtICk7DQoNCgkJLy8gRml4IElFIGNsb25pbmcgaXNzdWVzDQoJCWlmICggIXN1cHBvcnQubm9DbG9uZUNoZWNrZWQgJiYgKCBlbGVtLm5vZGVUeXBlID09PSAxIHx8IGVsZW0ubm9kZVR5cGUgPT09IDExICkgJiYNCgkJCQkhalF1ZXJ5LmlzWE1MRG9jKCBlbGVtICkgKSB7DQoNCgkJCS8vIFdlIGVzY2hldyBTaXp6bGUgaGVyZSBmb3IgcGVyZm9ybWFuY2UgcmVhc29uczogaHR0cHM6Ly9qc3BlcmYuY29tL2dldGFsbC12cy1zaXp6bGUvMg0KCQkJZGVzdEVsZW1lbnRzID0gZ2V0QWxsKCBjbG9uZSApOw0KCQkJc3JjRWxlbWVudHMgPSBnZXRBbGwoIGVsZW0gKTsNCg0KCQkJZm9yICggaSA9IDAsIGwgPSBzcmNFbGVtZW50cy5sZW5ndGg7IGkgPCBsOyBpKysgKSB7DQoJCQkJZml4SW5wdXQoIHNyY0VsZW1lbnRzWyBpIF0sIGRlc3RFbGVtZW50c1sgaSBdICk7DQoJCQl9DQoJCX0NCg0KCQkvLyBDb3B5IHRoZSBldmVudHMgZnJvbSB0aGUgb3JpZ2luYWwgdG8gdGhlIGNsb25lDQoJCWlmICggZGF0YUFuZEV2ZW50cyApIHsNCgkJCWlmICggZGVlcERhdGFBbmRFdmVudHMgKSB7DQoJCQkJc3JjRWxlbWVudHMgPSBzcmNFbGVtZW50cyB8fCBnZXRBbGwoIGVsZW0gKTsNCgkJCQlkZXN0RWxlbWVudHMgPSBkZXN0RWxlbWVudHMgfHwgZ2V0QWxsKCBjbG9uZSApOw0KDQoJCQkJZm9yICggaSA9IDAsIGwgPSBzcmNFbGVtZW50cy5sZW5ndGg7IGkgPCBsOyBpKysgKSB7DQoJCQkJCWNsb25lQ29weUV2ZW50KCBzcmNFbGVtZW50c1sgaSBdLCBkZXN0RWxlbWVudHNbIGkgXSApOw0KCQkJCX0NCgkJCX0gZWxzZSB7DQoJCQkJY2xvbmVDb3B5RXZlbnQoIGVsZW0sIGNsb25lICk7DQoJCQl9DQoJCX0NCg0KCQkvLyBQcmVzZXJ2ZSBzY3JpcHQgZXZhbHVhdGlvbiBoaXN0b3J5DQoJCWRlc3RFbGVtZW50cyA9IGdldEFsbCggY2xvbmUsICJzY3JpcHQiICk7DQoJCWlmICggZGVzdEVsZW1lbnRzLmxlbmd0aCA+IDAgKSB7DQoJCQlzZXRHbG9iYWxFdmFsKCBkZXN0RWxlbWVudHMsICFpblBhZ2UgJiYgZ2V0QWxsKCBlbGVtLCAic2NyaXB0IiApICk7DQoJCX0NCg0KCQkvLyBSZXR1cm4gdGhlIGNsb25lZCBzZXQNCgkJcmV0dXJuIGNsb25lOw0KCX0sDQoNCgljbGVhbkRhdGE6IGZ1bmN0aW9uKCBlbGVtcyApIHsNCgkJdmFyIGRhdGEsIGVsZW0sIHR5cGUsDQoJCQlzcGVjaWFsID0galF1ZXJ5LmV2ZW50LnNwZWNpYWwsDQoJCQlpID0gMDsNCg0KCQlmb3IgKCA7ICggZWxlbSA9IGVsZW1zWyBpIF0gKSAhPT0gdW5kZWZpbmVkOyBpKysgKSB7DQoJCQlpZiAoIGFjY2VwdERhdGEoIGVsZW0gKSApIHsNCgkJCQlpZiAoICggZGF0YSA9IGVsZW1bIGRhdGFQcml2LmV4cGFuZG8gXSApICkgew0KCQkJCQlpZiAoIGRhdGEuZXZlbnRzICkgew0KCQkJCQkJZm9yICggdHlwZSBpbiBkYXRhLmV2ZW50cyApIHsNCgkJCQkJCQlpZiAoIHNwZWNpYWxbIHR5cGUgXSApIHsNCgkJCQkJCQkJalF1ZXJ5LmV2ZW50LnJlbW92ZSggZWxlbSwgdHlwZSApOw0KDQoJCQkJCQkJLy8gVGhpcyBpcyBhIHNob3J0Y3V0IHRvIGF2b2lkIGpRdWVyeS5ldmVudC5yZW1vdmUncyBvdmVyaGVhZA0KCQkJCQkJCX0gZWxzZSB7DQoJCQkJCQkJCWpRdWVyeS5yZW1vdmVFdmVudCggZWxlbSwgdHlwZSwgZGF0YS5oYW5kbGUgKTsNCgkJCQkJCQl9DQoJCQkJCQl9DQoJCQkJCX0NCg0KCQkJCQkvLyBTdXBwb3J0OiBDaHJvbWUgPD0zNSAtIDQ1Kw0KCQkJCQkvLyBBc3NpZ24gdW5kZWZpbmVkIGluc3RlYWQgb2YgdXNpbmcgZGVsZXRlLCBzZWUgRGF0YSNyZW1vdmUNCgkJCQkJZWxlbVsgZGF0YVByaXYuZXhwYW5kbyBdID0gdW5kZWZpbmVkOw0KCQkJCX0NCgkJCQlpZiAoIGVsZW1bIGRhdGFVc2VyLmV4cGFuZG8gXSApIHsNCg0KCQkJCQkvLyBTdXBwb3J0OiBDaHJvbWUgPD0zNSAtIDQ1Kw0KCQkJCQkvLyBBc3NpZ24gdW5kZWZpbmVkIGluc3RlYWQgb2YgdXNpbmcgZGVsZXRlLCBzZWUgRGF0YSNyZW1vdmUNCgkJCQkJZWxlbVsgZGF0YVVzZXIuZXhwYW5kbyBdID0gdW5kZWZpbmVkOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCX0NCn0gKTsNCg0KalF1ZXJ5LmZuLmV4dGVuZCggew0KCWRldGFjaDogZnVuY3Rpb24oIHNlbGVjdG9yICkgew0KCQlyZXR1cm4gcmVtb3ZlKCB0aGlzLCBzZWxlY3RvciwgdHJ1ZSApOw0KCX0sDQoNCglyZW1vdmU6IGZ1bmN0aW9uKCBzZWxlY3RvciApIHsNCgkJcmV0dXJuIHJlbW92ZSggdGhpcywgc2VsZWN0b3IgKTsNCgl9LA0KDQoJdGV4dDogZnVuY3Rpb24oIHZhbHVlICkgew0KCQlyZXR1cm4gYWNjZXNzKCB0aGlzLCBmdW5jdGlvbiggdmFsdWUgKSB7DQoJCQlyZXR1cm4gdmFsdWUgPT09IHVuZGVmaW5lZCA/DQoJCQkJalF1ZXJ5LnRleHQoIHRoaXMgKSA6DQoJCQkJdGhpcy5lbXB0eSgpLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJCQlpZiAoIHRoaXMubm9kZVR5cGUgPT09IDEgfHwgdGhpcy5ub2RlVHlwZSA9PT0gMTEgfHwgdGhpcy5ub2RlVHlwZSA9PT0gOSApIHsNCgkJCQkJCXRoaXMudGV4dENvbnRlbnQgPSB2YWx1ZTsNCgkJCQkJfQ0KCQkJCX0gKTsNCgkJfSwgbnVsbCwgdmFsdWUsIGFyZ3VtZW50cy5sZW5ndGggKTsNCgl9LA0KDQoJYXBwZW5kOiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIGRvbU1hbmlwKCB0aGlzLCBhcmd1bWVudHMsIGZ1bmN0aW9uKCBlbGVtICkgew0KCQkJaWYgKCB0aGlzLm5vZGVUeXBlID09PSAxIHx8IHRoaXMubm9kZVR5cGUgPT09IDExIHx8IHRoaXMubm9kZVR5cGUgPT09IDkgKSB7DQoJCQkJdmFyIHRhcmdldCA9IG1hbmlwdWxhdGlvblRhcmdldCggdGhpcywgZWxlbSApOw0KCQkJCXRhcmdldC5hcHBlbmRDaGlsZCggZWxlbSApOw0KCQkJfQ0KCQl9ICk7DQoJfSwNCg0KCXByZXBlbmQ6IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gZG9tTWFuaXAoIHRoaXMsIGFyZ3VtZW50cywgZnVuY3Rpb24oIGVsZW0gKSB7DQoJCQlpZiAoIHRoaXMubm9kZVR5cGUgPT09IDEgfHwgdGhpcy5ub2RlVHlwZSA9PT0gMTEgfHwgdGhpcy5ub2RlVHlwZSA9PT0gOSApIHsNCgkJCQl2YXIgdGFyZ2V0ID0gbWFuaXB1bGF0aW9uVGFyZ2V0KCB0aGlzLCBlbGVtICk7DQoJCQkJdGFyZ2V0Lmluc2VydEJlZm9yZSggZWxlbSwgdGFyZ2V0LmZpcnN0Q2hpbGQgKTsNCgkJCX0NCgkJfSApOw0KCX0sDQoNCgliZWZvcmU6IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gZG9tTWFuaXAoIHRoaXMsIGFyZ3VtZW50cywgZnVuY3Rpb24oIGVsZW0gKSB7DQoJCQlpZiAoIHRoaXMucGFyZW50Tm9kZSApIHsNCgkJCQl0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKCBlbGVtLCB0aGlzICk7DQoJCQl9DQoJCX0gKTsNCgl9LA0KDQoJYWZ0ZXI6IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gZG9tTWFuaXAoIHRoaXMsIGFyZ3VtZW50cywgZnVuY3Rpb24oIGVsZW0gKSB7DQoJCQlpZiAoIHRoaXMucGFyZW50Tm9kZSApIHsNCgkJCQl0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKCBlbGVtLCB0aGlzLm5leHRTaWJsaW5nICk7DQoJCQl9DQoJCX0gKTsNCgl9LA0KDQoJZW1wdHk6IGZ1bmN0aW9uKCkgew0KCQl2YXIgZWxlbSwNCgkJCWkgPSAwOw0KDQoJCWZvciAoIDsgKCBlbGVtID0gdGhpc1sgaSBdICkgIT0gbnVsbDsgaSsrICkgew0KCQkJaWYgKCBlbGVtLm5vZGVUeXBlID09PSAxICkgew0KDQoJCQkJLy8gUHJldmVudCBtZW1vcnkgbGVha3MNCgkJCQlqUXVlcnkuY2xlYW5EYXRhKCBnZXRBbGwoIGVsZW0sIGZhbHNlICkgKTsNCg0KCQkJCS8vIFJlbW92ZSBhbnkgcmVtYWluaW5nIG5vZGVzDQoJCQkJZWxlbS50ZXh0Q29udGVudCA9ICIiOw0KCQkJfQ0KCQl9DQoNCgkJcmV0dXJuIHRoaXM7DQoJfSwNCg0KCWNsb25lOiBmdW5jdGlvbiggZGF0YUFuZEV2ZW50cywgZGVlcERhdGFBbmRFdmVudHMgKSB7DQoJCWRhdGFBbmRFdmVudHMgPSBkYXRhQW5kRXZlbnRzID09IG51bGwgPyBmYWxzZSA6IGRhdGFBbmRFdmVudHM7DQoJCWRlZXBEYXRhQW5kRXZlbnRzID0gZGVlcERhdGFBbmRFdmVudHMgPT0gbnVsbCA/IGRhdGFBbmRFdmVudHMgOiBkZWVwRGF0YUFuZEV2ZW50czsNCg0KCQlyZXR1cm4gdGhpcy5tYXAoIGZ1bmN0aW9uKCkgew0KCQkJcmV0dXJuIGpRdWVyeS5jbG9uZSggdGhpcywgZGF0YUFuZEV2ZW50cywgZGVlcERhdGFBbmRFdmVudHMgKTsNCgkJfSApOw0KCX0sDQoNCglodG1sOiBmdW5jdGlvbiggdmFsdWUgKSB7DQoJCXJldHVybiBhY2Nlc3MoIHRoaXMsIGZ1bmN0aW9uKCB2YWx1ZSApIHsNCgkJCXZhciBlbGVtID0gdGhpc1sgMCBdIHx8IHt9LA0KCQkJCWkgPSAwLA0KCQkJCWwgPSB0aGlzLmxlbmd0aDsNCg0KCQkJaWYgKCB2YWx1ZSA9PT0gdW5kZWZpbmVkICYmIGVsZW0ubm9kZVR5cGUgPT09IDEgKSB7DQoJCQkJcmV0dXJuIGVsZW0uaW5uZXJIVE1MOw0KCQkJfQ0KDQoJCQkvLyBTZWUgaWYgd2UgY2FuIHRha2UgYSBzaG9ydGN1dCBhbmQganVzdCB1c2UgaW5uZXJIVE1MDQoJCQlpZiAoIHR5cGVvZiB2YWx1ZSA9PT0gInN0cmluZyIgJiYgIXJub0lubmVyaHRtbC50ZXN0KCB2YWx1ZSApICYmDQoJCQkJIXdyYXBNYXBbICggcnRhZ05hbWUuZXhlYyggdmFsdWUgKSB8fCBbICIiLCAiIiBdIClbIDEgXS50b0xvd2VyQ2FzZSgpIF0gKSB7DQoNCgkJCQl2YWx1ZSA9IGpRdWVyeS5odG1sUHJlZmlsdGVyKCB2YWx1ZSApOw0KDQoJCQkJdHJ5IHsNCgkJCQkJZm9yICggOyBpIDwgbDsgaSsrICkgew0KCQkJCQkJZWxlbSA9IHRoaXNbIGkgXSB8fCB7fTsNCg0KCQkJCQkJLy8gUmVtb3ZlIGVsZW1lbnQgbm9kZXMgYW5kIHByZXZlbnQgbWVtb3J5IGxlYWtzDQoJCQkJCQlpZiAoIGVsZW0ubm9kZVR5cGUgPT09IDEgKSB7DQoJCQkJCQkJalF1ZXJ5LmNsZWFuRGF0YSggZ2V0QWxsKCBlbGVtLCBmYWxzZSApICk7DQoJCQkJCQkJZWxlbS5pbm5lckhUTUwgPSB2YWx1ZTsNCgkJCQkJCX0NCgkJCQkJfQ0KDQoJCQkJCWVsZW0gPSAwOw0KDQoJCQkJLy8gSWYgdXNpbmcgaW5uZXJIVE1MIHRocm93cyBhbiBleGNlcHRpb24sIHVzZSB0aGUgZmFsbGJhY2sgbWV0aG9kDQoJCQkJfSBjYXRjaCAoIGUgKSB7fQ0KCQkJfQ0KDQoJCQlpZiAoIGVsZW0gKSB7DQoJCQkJdGhpcy5lbXB0eSgpLmFwcGVuZCggdmFsdWUgKTsNCgkJCX0NCgkJfSwgbnVsbCwgdmFsdWUsIGFyZ3VtZW50cy5sZW5ndGggKTsNCgl9LA0KDQoJcmVwbGFjZVdpdGg6IGZ1bmN0aW9uKCkgew0KCQl2YXIgaWdub3JlZCA9IFtdOw0KDQoJCS8vIE1ha2UgdGhlIGNoYW5nZXMsIHJlcGxhY2luZyBlYWNoIG5vbi1pZ25vcmVkIGNvbnRleHQgZWxlbWVudCB3aXRoIHRoZSBuZXcgY29udGVudA0KCQlyZXR1cm4gZG9tTWFuaXAoIHRoaXMsIGFyZ3VtZW50cywgZnVuY3Rpb24oIGVsZW0gKSB7DQoJCQl2YXIgcGFyZW50ID0gdGhpcy5wYXJlbnROb2RlOw0KDQoJCQlpZiAoIGpRdWVyeS5pbkFycmF5KCB0aGlzLCBpZ25vcmVkICkgPCAwICkgew0KCQkJCWpRdWVyeS5jbGVhbkRhdGEoIGdldEFsbCggdGhpcyApICk7DQoJCQkJaWYgKCBwYXJlbnQgKSB7DQoJCQkJCXBhcmVudC5yZXBsYWNlQ2hpbGQoIGVsZW0sIHRoaXMgKTsNCgkJCQl9DQoJCQl9DQoNCgkJLy8gRm9yY2UgY2FsbGJhY2sgaW52b2NhdGlvbg0KCQl9LCBpZ25vcmVkICk7DQoJfQ0KfSApOw0KDQpqUXVlcnkuZWFjaCggew0KCWFwcGVuZFRvOiAiYXBwZW5kIiwNCglwcmVwZW5kVG86ICJwcmVwZW5kIiwNCglpbnNlcnRCZWZvcmU6ICJiZWZvcmUiLA0KCWluc2VydEFmdGVyOiAiYWZ0ZXIiLA0KCXJlcGxhY2VBbGw6ICJyZXBsYWNlV2l0aCINCn0sIGZ1bmN0aW9uKCBuYW1lLCBvcmlnaW5hbCApIHsNCglqUXVlcnkuZm5bIG5hbWUgXSA9IGZ1bmN0aW9uKCBzZWxlY3RvciApIHsNCgkJdmFyIGVsZW1zLA0KCQkJcmV0ID0gW10sDQoJCQlpbnNlcnQgPSBqUXVlcnkoIHNlbGVjdG9yICksDQoJCQlsYXN0ID0gaW5zZXJ0Lmxlbmd0aCAtIDEsDQoJCQlpID0gMDsNCg0KCQlmb3IgKCA7IGkgPD0gbGFzdDsgaSsrICkgew0KCQkJZWxlbXMgPSBpID09PSBsYXN0ID8gdGhpcyA6IHRoaXMuY2xvbmUoIHRydWUgKTsNCgkJCWpRdWVyeSggaW5zZXJ0WyBpIF0gKVsgb3JpZ2luYWwgXSggZWxlbXMgKTsNCg0KCQkJLy8gU3VwcG9ydDogQW5kcm9pZCA8PTQuMCBvbmx5LCBQaGFudG9tSlMgMSBvbmx5DQoJCQkvLyAuZ2V0KCkgYmVjYXVzZSBwdXNoLmFwcGx5KF8sIGFycmF5bGlrZSkgdGhyb3dzIG9uIGFuY2llbnQgV2ViS2l0DQoJCQlwdXNoLmFwcGx5KCByZXQsIGVsZW1zLmdldCgpICk7DQoJCX0NCg0KCQlyZXR1cm4gdGhpcy5wdXNoU3RhY2soIHJldCApOw0KCX07DQp9ICk7DQp2YXIgcm51bW5vbnB4ID0gbmV3IFJlZ0V4cCggIl4oIiArIHBudW0gKyAiKSg/IXB4KVthLXolXSskIiwgImkiICk7DQoNCnZhciBnZXRTdHlsZXMgPSBmdW5jdGlvbiggZWxlbSApIHsNCg0KCQkvLyBTdXBwb3J0OiBJRSA8PTExIG9ubHksIEZpcmVmb3ggPD0zMCAoIzE1MDk4LCAjMTQxNTApDQoJCS8vIElFIHRocm93cyBvbiBlbGVtZW50cyBjcmVhdGVkIGluIHBvcHVwcw0KCQkvLyBGRiBtZWFud2hpbGUgdGhyb3dzIG9uIGZyYW1lIGVsZW1lbnRzIHRocm91Z2ggImRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUiDQoJCXZhciB2aWV3ID0gZWxlbS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3Ow0KDQoJCWlmICggIXZpZXcgfHwgIXZpZXcub3BlbmVyICkgew0KCQkJdmlldyA9IHdpbmRvdzsNCgkJfQ0KDQoJCXJldHVybiB2aWV3LmdldENvbXB1dGVkU3R5bGUoIGVsZW0gKTsNCgl9Ow0KDQp2YXIgcmJveFN0eWxlID0gbmV3IFJlZ0V4cCggY3NzRXhwYW5kLmpvaW4oICJ8IiApLCAiaSIgKTsNCg0KDQoNCiggZnVuY3Rpb24oKSB7DQoNCgkvLyBFeGVjdXRpbmcgYm90aCBwaXhlbFBvc2l0aW9uICYgYm94U2l6aW5nUmVsaWFibGUgdGVzdHMgcmVxdWlyZSBvbmx5IG9uZSBsYXlvdXQNCgkvLyBzbyB0aGV5J3JlIGV4ZWN1dGVkIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSB0aGUgc2Vjb25kIGNvbXB1dGF0aW9uLg0KCWZ1bmN0aW9uIGNvbXB1dGVTdHlsZVRlc3RzKCkgew0KDQoJCS8vIFRoaXMgaXMgYSBzaW5nbGV0b24sIHdlIG5lZWQgdG8gZXhlY3V0ZSBpdCBvbmx5IG9uY2UNCgkJaWYgKCAhZGl2ICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJY29udGFpbmVyLnN0eWxlLmNzc1RleHQgPSAicG9zaXRpb246YWJzb2x1dGU7bGVmdDotMTExMTFweDt3aWR0aDo2MHB4OyIgKw0KCQkJIm1hcmdpbi10b3A6MXB4O3BhZGRpbmc6MDtib3JkZXI6MCI7DQoJCWRpdi5zdHlsZS5jc3NUZXh0ID0NCgkJCSJwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveDtvdmVyZmxvdzpzY3JvbGw7IiArDQoJCQkibWFyZ2luOmF1dG87Ym9yZGVyOjFweDtwYWRkaW5nOjFweDsiICsNCgkJCSJ3aWR0aDo2MCU7dG9wOjElIjsNCgkJZG9jdW1lbnRFbGVtZW50LmFwcGVuZENoaWxkKCBjb250YWluZXIgKS5hcHBlbmRDaGlsZCggZGl2ICk7DQoNCgkJdmFyIGRpdlN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoIGRpdiApOw0KCQlwaXhlbFBvc2l0aW9uVmFsID0gZGl2U3R5bGUudG9wICE9PSAiMSUiOw0KDQoJCS8vIFN1cHBvcnQ6IEFuZHJvaWQgNC4wIC0gNC4zIG9ubHksIEZpcmVmb3ggPD0zIC0gNDQNCgkJcmVsaWFibGVNYXJnaW5MZWZ0VmFsID0gcm91bmRQaXhlbE1lYXN1cmVzKCBkaXZTdHlsZS5tYXJnaW5MZWZ0ICkgPT09IDEyOw0KDQoJCS8vIFN1cHBvcnQ6IEFuZHJvaWQgNC4wIC0gNC4zIG9ubHksIFNhZmFyaSA8PTkuMSAtIDEwLjEsIGlPUyA8PTcuMCAtIDkuMw0KCQkvLyBTb21lIHN0eWxlcyBjb21lIGJhY2sgd2l0aCBwZXJjZW50YWdlIHZhbHVlcywgZXZlbiB0aG91Z2ggdGhleSBzaG91bGRuJ3QNCgkJZGl2LnN0eWxlLnJpZ2h0ID0gIjYwJSI7DQoJCXBpeGVsQm94U3R5bGVzVmFsID0gcm91bmRQaXhlbE1lYXN1cmVzKCBkaXZTdHlsZS5yaWdodCApID09PSAzNjsNCg0KCQkvLyBTdXBwb3J0OiBJRSA5IC0gMTEgb25seQ0KCQkvLyBEZXRlY3QgbWlzcmVwb3J0aW5nIG9mIGNvbnRlbnQgZGltZW5zaW9ucyBmb3IgYm94LXNpemluZzpib3JkZXItYm94IGVsZW1lbnRzDQoJCWJveFNpemluZ1JlbGlhYmxlVmFsID0gcm91bmRQaXhlbE1lYXN1cmVzKCBkaXZTdHlsZS53aWR0aCApID09PSAzNjsNCg0KCQkvLyBTdXBwb3J0OiBJRSA5IG9ubHkNCgkJLy8gRGV0ZWN0IG92ZXJmbG93OnNjcm9sbCBzY3Jld2luZXNzIChnaC0zNjk5KQ0KCQlkaXYuc3R5bGUucG9zaXRpb24gPSAiYWJzb2x1dGUiOw0KCQlzY3JvbGxib3hTaXplVmFsID0gZGl2Lm9mZnNldFdpZHRoID09PSAzNiB8fCAiYWJzb2x1dGUiOw0KDQoJCWRvY3VtZW50RWxlbWVudC5yZW1vdmVDaGlsZCggY29udGFpbmVyICk7DQoNCgkJLy8gTnVsbGlmeSB0aGUgZGl2IHNvIGl0IHdvdWxkbid0IGJlIHN0b3JlZCBpbiB0aGUgbWVtb3J5IGFuZA0KCQkvLyBpdCB3aWxsIGFsc28gYmUgYSBzaWduIHRoYXQgY2hlY2tzIGFscmVhZHkgcGVyZm9ybWVkDQoJCWRpdiA9IG51bGw7DQoJfQ0KDQoJZnVuY3Rpb24gcm91bmRQaXhlbE1lYXN1cmVzKCBtZWFzdXJlICkgew0KCQlyZXR1cm4gTWF0aC5yb3VuZCggcGFyc2VGbG9hdCggbWVhc3VyZSApICk7DQoJfQ0KDQoJdmFyIHBpeGVsUG9zaXRpb25WYWwsIGJveFNpemluZ1JlbGlhYmxlVmFsLCBzY3JvbGxib3hTaXplVmFsLCBwaXhlbEJveFN0eWxlc1ZhbCwNCgkJcmVsaWFibGVNYXJnaW5MZWZ0VmFsLA0KCQljb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCAiZGl2IiApLA0KCQlkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCAiZGl2IiApOw0KDQoJLy8gRmluaXNoIGVhcmx5IGluIGxpbWl0ZWQgKG5vbi1icm93c2VyKSBlbnZpcm9ubWVudHMNCglpZiAoICFkaXYuc3R5bGUgKSB7DQoJCXJldHVybjsNCgl9DQoNCgkvLyBTdXBwb3J0OiBJRSA8PTkgLSAxMSBvbmx5DQoJLy8gU3R5bGUgb2YgY2xvbmVkIGVsZW1lbnQgYWZmZWN0cyBzb3VyY2UgZWxlbWVudCBjbG9uZWQgKCM4OTA4KQ0KCWRpdi5zdHlsZS5iYWNrZ3JvdW5kQ2xpcCA9ICJjb250ZW50LWJveCI7DQoJZGl2LmNsb25lTm9kZSggdHJ1ZSApLnN0eWxlLmJhY2tncm91bmRDbGlwID0gIiI7DQoJc3VwcG9ydC5jbGVhckNsb25lU3R5bGUgPSBkaXYuc3R5bGUuYmFja2dyb3VuZENsaXAgPT09ICJjb250ZW50LWJveCI7DQoNCglqUXVlcnkuZXh0ZW5kKCBzdXBwb3J0LCB7DQoJCWJveFNpemluZ1JlbGlhYmxlOiBmdW5jdGlvbigpIHsNCgkJCWNvbXB1dGVTdHlsZVRlc3RzKCk7DQoJCQlyZXR1cm4gYm94U2l6aW5nUmVsaWFibGVWYWw7DQoJCX0sDQoJCXBpeGVsQm94U3R5bGVzOiBmdW5jdGlvbigpIHsNCgkJCWNvbXB1dGVTdHlsZVRlc3RzKCk7DQoJCQlyZXR1cm4gcGl4ZWxCb3hTdHlsZXNWYWw7DQoJCX0sDQoJCXBpeGVsUG9zaXRpb246IGZ1bmN0aW9uKCkgew0KCQkJY29tcHV0ZVN0eWxlVGVzdHMoKTsNCgkJCXJldHVybiBwaXhlbFBvc2l0aW9uVmFsOw0KCQl9LA0KCQlyZWxpYWJsZU1hcmdpbkxlZnQ6IGZ1bmN0aW9uKCkgew0KCQkJY29tcHV0ZVN0eWxlVGVzdHMoKTsNCgkJCXJldHVybiByZWxpYWJsZU1hcmdpbkxlZnRWYWw7DQoJCX0sDQoJCXNjcm9sbGJveFNpemU6IGZ1bmN0aW9uKCkgew0KCQkJY29tcHV0ZVN0eWxlVGVzdHMoKTsNCgkJCXJldHVybiBzY3JvbGxib3hTaXplVmFsOw0KCQl9DQoJfSApOw0KfSApKCk7DQoNCg0KZnVuY3Rpb24gY3VyQ1NTKCBlbGVtLCBuYW1lLCBjb21wdXRlZCApIHsNCgl2YXIgd2lkdGgsIG1pbldpZHRoLCBtYXhXaWR0aCwgcmV0LA0KDQoJCS8vIFN1cHBvcnQ6IEZpcmVmb3ggNTErDQoJCS8vIFJldHJpZXZpbmcgc3R5bGUgYmVmb3JlIGNvbXB1dGVkIHNvbWVob3cNCgkJLy8gZml4ZXMgYW4gaXNzdWUgd2l0aCBnZXR0aW5nIHdyb25nIHZhbHVlcw0KCQkvLyBvbiBkZXRhY2hlZCBlbGVtZW50cw0KCQlzdHlsZSA9IGVsZW0uc3R5bGU7DQoNCgljb21wdXRlZCA9IGNvbXB1dGVkIHx8IGdldFN0eWxlcyggZWxlbSApOw0KDQoJLy8gZ2V0UHJvcGVydHlWYWx1ZSBpcyBuZWVkZWQgZm9yOg0KCS8vICAgLmNzcygnZmlsdGVyJykgKElFIDkgb25seSwgIzEyNTM3KQ0KCS8vICAgLmNzcygnLS1jdXN0b21Qcm9wZXJ0eSkgKCMzMTQ0KQ0KCWlmICggY29tcHV0ZWQgKSB7DQoJCXJldCA9IGNvbXB1dGVkLmdldFByb3BlcnR5VmFsdWUoIG5hbWUgKSB8fCBjb21wdXRlZFsgbmFtZSBdOw0KDQoJCWlmICggcmV0ID09PSAiIiAmJiAhalF1ZXJ5LmNvbnRhaW5zKCBlbGVtLm93bmVyRG9jdW1lbnQsIGVsZW0gKSApIHsNCgkJCXJldCA9IGpRdWVyeS5zdHlsZSggZWxlbSwgbmFtZSApOw0KCQl9DQoNCgkJLy8gQSB0cmlidXRlIHRvIHRoZSAiYXdlc29tZSBoYWNrIGJ5IERlYW4gRWR3YXJkcyINCgkJLy8gQW5kcm9pZCBCcm93c2VyIHJldHVybnMgcGVyY2VudGFnZSBmb3Igc29tZSB2YWx1ZXMsDQoJCS8vIGJ1dCB3aWR0aCBzZWVtcyB0byBiZSByZWxpYWJseSBwaXhlbHMuDQoJCS8vIFRoaXMgaXMgYWdhaW5zdCB0aGUgQ1NTT00gZHJhZnQgc3BlYzoNCgkJLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzc29tLyNyZXNvbHZlZC12YWx1ZXMNCgkJaWYgKCAhc3VwcG9ydC5waXhlbEJveFN0eWxlcygpICYmIHJudW1ub25weC50ZXN0KCByZXQgKSAmJiByYm94U3R5bGUudGVzdCggbmFtZSApICkgew0KDQoJCQkvLyBSZW1lbWJlciB0aGUgb3JpZ2luYWwgdmFsdWVzDQoJCQl3aWR0aCA9IHN0eWxlLndpZHRoOw0KCQkJbWluV2lkdGggPSBzdHlsZS5taW5XaWR0aDsNCgkJCW1heFdpZHRoID0gc3R5bGUubWF4V2lkdGg7DQoNCgkJCS8vIFB1dCBpbiB0aGUgbmV3IHZhbHVlcyB0byBnZXQgYSBjb21wdXRlZCB2YWx1ZSBvdXQNCgkJCXN0eWxlLm1pbldpZHRoID0gc3R5bGUubWF4V2lkdGggPSBzdHlsZS53aWR0aCA9IHJldDsNCgkJCXJldCA9IGNvbXB1dGVkLndpZHRoOw0KDQoJCQkvLyBSZXZlcnQgdGhlIGNoYW5nZWQgdmFsdWVzDQoJCQlzdHlsZS53aWR0aCA9IHdpZHRoOw0KCQkJc3R5bGUubWluV2lkdGggPSBtaW5XaWR0aDsNCgkJCXN0eWxlLm1heFdpZHRoID0gbWF4V2lkdGg7DQoJCX0NCgl9DQoNCglyZXR1cm4gcmV0ICE9PSB1bmRlZmluZWQgPw0KDQoJCS8vIFN1cHBvcnQ6IElFIDw9OSAtIDExIG9ubHkNCgkJLy8gSUUgcmV0dXJucyB6SW5kZXggdmFsdWUgYXMgYW4gaW50ZWdlci4NCgkJcmV0ICsgIiIgOg0KCQlyZXQ7DQp9DQoNCg0KZnVuY3Rpb24gYWRkR2V0SG9va0lmKCBjb25kaXRpb25GbiwgaG9va0ZuICkgew0KDQoJLy8gRGVmaW5lIHRoZSBob29rLCB3ZSdsbCBjaGVjayBvbiB0aGUgZmlyc3QgcnVuIGlmIGl0J3MgcmVhbGx5IG5lZWRlZC4NCglyZXR1cm4gew0KCQlnZXQ6IGZ1bmN0aW9uKCkgew0KCQkJaWYgKCBjb25kaXRpb25GbigpICkgew0KDQoJCQkJLy8gSG9vayBub3QgbmVlZGVkIChvciBpdCdzIG5vdCBwb3NzaWJsZSB0byB1c2UgaXQgZHVlDQoJCQkJLy8gdG8gbWlzc2luZyBkZXBlbmRlbmN5KSwgcmVtb3ZlIGl0Lg0KCQkJCWRlbGV0ZSB0aGlzLmdldDsNCgkJCQlyZXR1cm47DQoJCQl9DQoNCgkJCS8vIEhvb2sgbmVlZGVkOyByZWRlZmluZSBpdCBzbyB0aGF0IHRoZSBzdXBwb3J0IHRlc3QgaXMgbm90IGV4ZWN1dGVkIGFnYWluLg0KCQkJcmV0dXJuICggdGhpcy5nZXQgPSBob29rRm4gKS5hcHBseSggdGhpcywgYXJndW1lbnRzICk7DQoJCX0NCgl9Ow0KfQ0KDQoNCnZhcg0KDQoJLy8gU3dhcHBhYmxlIGlmIGRpc3BsYXkgaXMgbm9uZSBvciBzdGFydHMgd2l0aCB0YWJsZQ0KCS8vIGV4Y2VwdCAidGFibGUiLCAidGFibGUtY2VsbCIsIG9yICJ0YWJsZS1jYXB0aW9uIg0KCS8vIFNlZSBoZXJlIGZvciBkaXNwbGF5IHZhbHVlczogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9DU1MvZGlzcGxheQ0KCXJkaXNwbGF5c3dhcCA9IC9eKG5vbmV8dGFibGUoPyEtY1tlYV0pLispLywNCglyY3VzdG9tUHJvcCA9IC9eLS0vLA0KCWNzc1Nob3cgPSB7IHBvc2l0aW9uOiAiYWJzb2x1dGUiLCB2aXNpYmlsaXR5OiAiaGlkZGVuIiwgZGlzcGxheTogImJsb2NrIiB9LA0KCWNzc05vcm1hbFRyYW5zZm9ybSA9IHsNCgkJbGV0dGVyU3BhY2luZzogIjAiLA0KCQlmb250V2VpZ2h0OiAiNDAwIg0KCX0sDQoNCgljc3NQcmVmaXhlcyA9IFsgIldlYmtpdCIsICJNb3oiLCAibXMiIF0sDQoJZW1wdHlTdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoICJkaXYiICkuc3R5bGU7DQoNCi8vIFJldHVybiBhIGNzcyBwcm9wZXJ0eSBtYXBwZWQgdG8gYSBwb3RlbnRpYWxseSB2ZW5kb3IgcHJlZml4ZWQgcHJvcGVydHkNCmZ1bmN0aW9uIHZlbmRvclByb3BOYW1lKCBuYW1lICkgew0KDQoJLy8gU2hvcnRjdXQgZm9yIG5hbWVzIHRoYXQgYXJlIG5vdCB2ZW5kb3IgcHJlZml4ZWQNCglpZiAoIG5hbWUgaW4gZW1wdHlTdHlsZSApIHsNCgkJcmV0dXJuIG5hbWU7DQoJfQ0KDQoJLy8gQ2hlY2sgZm9yIHZlbmRvciBwcmVmaXhlZCBuYW1lcw0KCXZhciBjYXBOYW1lID0gbmFtZVsgMCBdLnRvVXBwZXJDYXNlKCkgKyBuYW1lLnNsaWNlKCAxICksDQoJCWkgPSBjc3NQcmVmaXhlcy5sZW5ndGg7DQoNCgl3aGlsZSAoIGktLSApIHsNCgkJbmFtZSA9IGNzc1ByZWZpeGVzWyBpIF0gKyBjYXBOYW1lOw0KCQlpZiAoIG5hbWUgaW4gZW1wdHlTdHlsZSApIHsNCgkJCXJldHVybiBuYW1lOw0KCQl9DQoJfQ0KfQ0KDQovLyBSZXR1cm4gYSBwcm9wZXJ0eSBtYXBwZWQgYWxvbmcgd2hhdCBqUXVlcnkuY3NzUHJvcHMgc3VnZ2VzdHMgb3IgdG8NCi8vIGEgdmVuZG9yIHByZWZpeGVkIHByb3BlcnR5Lg0KZnVuY3Rpb24gZmluYWxQcm9wTmFtZSggbmFtZSApIHsNCgl2YXIgcmV0ID0galF1ZXJ5LmNzc1Byb3BzWyBuYW1lIF07DQoJaWYgKCAhcmV0ICkgew0KCQlyZXQgPSBqUXVlcnkuY3NzUHJvcHNbIG5hbWUgXSA9IHZlbmRvclByb3BOYW1lKCBuYW1lICkgfHwgbmFtZTsNCgl9DQoJcmV0dXJuIHJldDsNCn0NCg0KZnVuY3Rpb24gc2V0UG9zaXRpdmVOdW1iZXIoIGVsZW0sIHZhbHVlLCBzdWJ0cmFjdCApIHsNCg0KCS8vIEFueSByZWxhdGl2ZSAoKy8tKSB2YWx1ZXMgaGF2ZSBhbHJlYWR5IGJlZW4NCgkvLyBub3JtYWxpemVkIGF0IHRoaXMgcG9pbnQNCgl2YXIgbWF0Y2hlcyA9IHJjc3NOdW0uZXhlYyggdmFsdWUgKTsNCglyZXR1cm4gbWF0Y2hlcyA/DQoNCgkJLy8gR3VhcmQgYWdhaW5zdCB1bmRlZmluZWQgInN1YnRyYWN0IiwgZS5nLiwgd2hlbiB1c2VkIGFzIGluIGNzc0hvb2tzDQoJCU1hdGgubWF4KCAwLCBtYXRjaGVzWyAyIF0gLSAoIHN1YnRyYWN0IHx8IDAgKSApICsgKCBtYXRjaGVzWyAzIF0gfHwgInB4IiApIDoNCgkJdmFsdWU7DQp9DQoNCmZ1bmN0aW9uIGJveE1vZGVsQWRqdXN0bWVudCggZWxlbSwgZGltZW5zaW9uLCBib3gsIGlzQm9yZGVyQm94LCBzdHlsZXMsIGNvbXB1dGVkVmFsICkgew0KCXZhciBpID0gZGltZW5zaW9uID09PSAid2lkdGgiID8gMSA6IDAsDQoJCWV4dHJhID0gMCwNCgkJZGVsdGEgPSAwOw0KDQoJLy8gQWRqdXN0bWVudCBtYXkgbm90IGJlIG5lY2Vzc2FyeQ0KCWlmICggYm94ID09PSAoIGlzQm9yZGVyQm94ID8gImJvcmRlciIgOiAiY29udGVudCIgKSApIHsNCgkJcmV0dXJuIDA7DQoJfQ0KDQoJZm9yICggOyBpIDwgNDsgaSArPSAyICkgew0KDQoJCS8vIEJvdGggYm94IG1vZGVscyBleGNsdWRlIG1hcmdpbg0KCQlpZiAoIGJveCA9PT0gIm1hcmdpbiIgKSB7DQoJCQlkZWx0YSArPSBqUXVlcnkuY3NzKCBlbGVtLCBib3ggKyBjc3NFeHBhbmRbIGkgXSwgdHJ1ZSwgc3R5bGVzICk7DQoJCX0NCg0KCQkvLyBJZiB3ZSBnZXQgaGVyZSB3aXRoIGEgY29udGVudC1ib3gsIHdlJ3JlIHNlZWtpbmcgInBhZGRpbmciIG9yICJib3JkZXIiIG9yICJtYXJnaW4iDQoJCWlmICggIWlzQm9yZGVyQm94ICkgew0KDQoJCQkvLyBBZGQgcGFkZGluZw0KCQkJZGVsdGEgKz0galF1ZXJ5LmNzcyggZWxlbSwgInBhZGRpbmciICsgY3NzRXhwYW5kWyBpIF0sIHRydWUsIHN0eWxlcyApOw0KDQoJCQkvLyBGb3IgImJvcmRlciIgb3IgIm1hcmdpbiIsIGFkZCBib3JkZXINCgkJCWlmICggYm94ICE9PSAicGFkZGluZyIgKSB7DQoJCQkJZGVsdGEgKz0galF1ZXJ5LmNzcyggZWxlbSwgImJvcmRlciIgKyBjc3NFeHBhbmRbIGkgXSArICJXaWR0aCIsIHRydWUsIHN0eWxlcyApOw0KDQoJCQkvLyBCdXQgc3RpbGwga2VlcCB0cmFjayBvZiBpdCBvdGhlcndpc2UNCgkJCX0gZWxzZSB7DQoJCQkJZXh0cmEgKz0galF1ZXJ5LmNzcyggZWxlbSwgImJvcmRlciIgKyBjc3NFeHBhbmRbIGkgXSArICJXaWR0aCIsIHRydWUsIHN0eWxlcyApOw0KCQkJfQ0KDQoJCS8vIElmIHdlIGdldCBoZXJlIHdpdGggYSBib3JkZXItYm94IChjb250ZW50ICsgcGFkZGluZyArIGJvcmRlciksIHdlJ3JlIHNlZWtpbmcgImNvbnRlbnQiIG9yDQoJCS8vICJwYWRkaW5nIiBvciAibWFyZ2luIg0KCQl9IGVsc2Ugew0KDQoJCQkvLyBGb3IgImNvbnRlbnQiLCBzdWJ0cmFjdCBwYWRkaW5nDQoJCQlpZiAoIGJveCA9PT0gImNvbnRlbnQiICkgew0KCQkJCWRlbHRhIC09IGpRdWVyeS5jc3MoIGVsZW0sICJwYWRkaW5nIiArIGNzc0V4cGFuZFsgaSBdLCB0cnVlLCBzdHlsZXMgKTsNCgkJCX0NCg0KCQkJLy8gRm9yICJjb250ZW50IiBvciAicGFkZGluZyIsIHN1YnRyYWN0IGJvcmRlcg0KCQkJaWYgKCBib3ggIT09ICJtYXJnaW4iICkgew0KCQkJCWRlbHRhIC09IGpRdWVyeS5jc3MoIGVsZW0sICJib3JkZXIiICsgY3NzRXhwYW5kWyBpIF0gKyAiV2lkdGgiLCB0cnVlLCBzdHlsZXMgKTsNCgkJCX0NCgkJfQ0KCX0NCg0KCS8vIEFjY291bnQgZm9yIHBvc2l0aXZlIGNvbnRlbnQtYm94IHNjcm9sbCBndXR0ZXIgd2hlbiByZXF1ZXN0ZWQgYnkgcHJvdmlkaW5nIGNvbXB1dGVkVmFsDQoJaWYgKCAhaXNCb3JkZXJCb3ggJiYgY29tcHV0ZWRWYWwgPj0gMCApIHsNCg0KCQkvLyBvZmZzZXRXaWR0aC9vZmZzZXRIZWlnaHQgaXMgYSByb3VuZGVkIHN1bSBvZiBjb250ZW50LCBwYWRkaW5nLCBzY3JvbGwgZ3V0dGVyLCBhbmQgYm9yZGVyDQoJCS8vIEFzc3VtaW5nIGludGVnZXIgc2Nyb2xsIGd1dHRlciwgc3VidHJhY3QgdGhlIHJlc3QgYW5kIHJvdW5kIGRvd24NCgkJZGVsdGEgKz0gTWF0aC5tYXgoIDAsIE1hdGguY2VpbCgNCgkJCWVsZW1bICJvZmZzZXQiICsgZGltZW5zaW9uWyAwIF0udG9VcHBlckNhc2UoKSArIGRpbWVuc2lvbi5zbGljZSggMSApIF0gLQ0KCQkJY29tcHV0ZWRWYWwgLQ0KCQkJZGVsdGEgLQ0KCQkJZXh0cmEgLQ0KCQkJMC41DQoJCSkgKTsNCgl9DQoNCglyZXR1cm4gZGVsdGE7DQp9DQoNCmZ1bmN0aW9uIGdldFdpZHRoT3JIZWlnaHQoIGVsZW0sIGRpbWVuc2lvbiwgZXh0cmEgKSB7DQoNCgkvLyBTdGFydCB3aXRoIGNvbXB1dGVkIHN0eWxlDQoJdmFyIHN0eWxlcyA9IGdldFN0eWxlcyggZWxlbSApLA0KCQl2YWwgPSBjdXJDU1MoIGVsZW0sIGRpbWVuc2lvbiwgc3R5bGVzICksDQoJCWlzQm9yZGVyQm94ID0galF1ZXJ5LmNzcyggZWxlbSwgImJveFNpemluZyIsIGZhbHNlLCBzdHlsZXMgKSA9PT0gImJvcmRlci1ib3giLA0KCQl2YWx1ZUlzQm9yZGVyQm94ID0gaXNCb3JkZXJCb3g7DQoNCgkvLyBTdXBwb3J0OiBGaXJlZm94IDw9NTQNCgkvLyBSZXR1cm4gYSBjb25mb3VuZGluZyBub24tcGl4ZWwgdmFsdWUgb3IgZmVpZ24gaWdub3JhbmNlLCBhcyBhcHByb3ByaWF0ZS4NCglpZiAoIHJudW1ub25weC50ZXN0KCB2YWwgKSApIHsNCgkJaWYgKCAhZXh0cmEgKSB7DQoJCQlyZXR1cm4gdmFsOw0KCQl9DQoJCXZhbCA9ICJhdXRvIjsNCgl9DQoNCgkvLyBDaGVjayBmb3Igc3R5bGUgaW4gY2FzZSBhIGJyb3dzZXIgd2hpY2ggcmV0dXJucyB1bnJlbGlhYmxlIHZhbHVlcw0KCS8vIGZvciBnZXRDb21wdXRlZFN0eWxlIHNpbGVudGx5IGZhbGxzIGJhY2sgdG8gdGhlIHJlbGlhYmxlIGVsZW0uc3R5bGUNCgl2YWx1ZUlzQm9yZGVyQm94ID0gdmFsdWVJc0JvcmRlckJveCAmJg0KCQkoIHN1cHBvcnQuYm94U2l6aW5nUmVsaWFibGUoKSB8fCB2YWwgPT09IGVsZW0uc3R5bGVbIGRpbWVuc2lvbiBdICk7DQoNCgkvLyBGYWxsIGJhY2sgdG8gb2Zmc2V0V2lkdGgvb2Zmc2V0SGVpZ2h0IHdoZW4gdmFsdWUgaXMgImF1dG8iDQoJLy8gVGhpcyBoYXBwZW5zIGZvciBpbmxpbmUgZWxlbWVudHMgd2l0aCBubyBleHBsaWNpdCBzZXR0aW5nIChnaC0zNTcxKQ0KCS8vIFN1cHBvcnQ6IEFuZHJvaWQgPD00LjEgLSA0LjMgb25seQ0KCS8vIEFsc28gdXNlIG9mZnNldFdpZHRoL29mZnNldEhlaWdodCBmb3IgbWlzcmVwb3J0ZWQgaW5saW5lIGRpbWVuc2lvbnMgKGdoLTM2MDIpDQoJaWYgKCB2YWwgPT09ICJhdXRvIiB8fA0KCQkhcGFyc2VGbG9hdCggdmFsICkgJiYgalF1ZXJ5LmNzcyggZWxlbSwgImRpc3BsYXkiLCBmYWxzZSwgc3R5bGVzICkgPT09ICJpbmxpbmUiICkgew0KDQoJCXZhbCA9IGVsZW1bICJvZmZzZXQiICsgZGltZW5zaW9uWyAwIF0udG9VcHBlckNhc2UoKSArIGRpbWVuc2lvbi5zbGljZSggMSApIF07DQoNCgkJLy8gb2Zmc2V0V2lkdGgvb2Zmc2V0SGVpZ2h0IHByb3ZpZGUgYm9yZGVyLWJveCB2YWx1ZXMNCgkJdmFsdWVJc0JvcmRlckJveCA9IHRydWU7DQoJfQ0KDQoJLy8gTm9ybWFsaXplICIiIGFuZCBhdXRvDQoJdmFsID0gcGFyc2VGbG9hdCggdmFsICkgfHwgMDsNCg0KCS8vIEFkanVzdCBmb3IgdGhlIGVsZW1lbnQncyBib3ggbW9kZWwNCglyZXR1cm4gKCB2YWwgKw0KCQlib3hNb2RlbEFkanVzdG1lbnQoDQoJCQllbGVtLA0KCQkJZGltZW5zaW9uLA0KCQkJZXh0cmEgfHwgKCBpc0JvcmRlckJveCA/ICJib3JkZXIiIDogImNvbnRlbnQiICksDQoJCQl2YWx1ZUlzQm9yZGVyQm94LA0KCQkJc3R5bGVzLA0KDQoJCQkvLyBQcm92aWRlIHRoZSBjdXJyZW50IGNvbXB1dGVkIHNpemUgdG8gcmVxdWVzdCBzY3JvbGwgZ3V0dGVyIGNhbGN1bGF0aW9uIChnaC0zNTg5KQ0KCQkJdmFsDQoJCSkNCgkpICsgInB4IjsNCn0NCg0KalF1ZXJ5LmV4dGVuZCggew0KDQoJLy8gQWRkIGluIHN0eWxlIHByb3BlcnR5IGhvb2tzIGZvciBvdmVycmlkaW5nIHRoZSBkZWZhdWx0DQoJLy8gYmVoYXZpb3Igb2YgZ2V0dGluZyBhbmQgc2V0dGluZyBhIHN0eWxlIHByb3BlcnR5DQoJY3NzSG9va3M6IHsNCgkJb3BhY2l0eTogew0KCQkJZ2V0OiBmdW5jdGlvbiggZWxlbSwgY29tcHV0ZWQgKSB7DQoJCQkJaWYgKCBjb21wdXRlZCApIHsNCg0KCQkJCQkvLyBXZSBzaG91bGQgYWx3YXlzIGdldCBhIG51bWJlciBiYWNrIGZyb20gb3BhY2l0eQ0KCQkJCQl2YXIgcmV0ID0gY3VyQ1NTKCBlbGVtLCAib3BhY2l0eSIgKTsNCgkJCQkJcmV0dXJuIHJldCA9PT0gIiIgPyAiMSIgOiByZXQ7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJfSwNCg0KCS8vIERvbid0IGF1dG9tYXRpY2FsbHkgYWRkICJweCIgdG8gdGhlc2UgcG9zc2libHktdW5pdGxlc3MgcHJvcGVydGllcw0KCWNzc051bWJlcjogew0KCQkiYW5pbWF0aW9uSXRlcmF0aW9uQ291bnQiOiB0cnVlLA0KCQkiY29sdW1uQ291bnQiOiB0cnVlLA0KCQkiZmlsbE9wYWNpdHkiOiB0cnVlLA0KCQkiZmxleEdyb3ciOiB0cnVlLA0KCQkiZmxleFNocmluayI6IHRydWUsDQoJCSJmb250V2VpZ2h0IjogdHJ1ZSwNCgkJImxpbmVIZWlnaHQiOiB0cnVlLA0KCQkib3BhY2l0eSI6IHRydWUsDQoJCSJvcmRlciI6IHRydWUsDQoJCSJvcnBoYW5zIjogdHJ1ZSwNCgkJIndpZG93cyI6IHRydWUsDQoJCSJ6SW5kZXgiOiB0cnVlLA0KCQkiem9vbSI6IHRydWUNCgl9LA0KDQoJLy8gQWRkIGluIHByb3BlcnRpZXMgd2hvc2UgbmFtZXMgeW91IHdpc2ggdG8gZml4IGJlZm9yZQ0KCS8vIHNldHRpbmcgb3IgZ2V0dGluZyB0aGUgdmFsdWUNCgljc3NQcm9wczoge30sDQoNCgkvLyBHZXQgYW5kIHNldCB0aGUgc3R5bGUgcHJvcGVydHkgb24gYSBET00gTm9kZQ0KCXN0eWxlOiBmdW5jdGlvbiggZWxlbSwgbmFtZSwgdmFsdWUsIGV4dHJhICkgew0KDQoJCS8vIERvbid0IHNldCBzdHlsZXMgb24gdGV4dCBhbmQgY29tbWVudCBub2Rlcw0KCQlpZiAoICFlbGVtIHx8IGVsZW0ubm9kZVR5cGUgPT09IDMgfHwgZWxlbS5ub2RlVHlwZSA9PT0gOCB8fCAhZWxlbS5zdHlsZSApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCS8vIE1ha2Ugc3VyZSB0aGF0IHdlJ3JlIHdvcmtpbmcgd2l0aCB0aGUgcmlnaHQgbmFtZQ0KCQl2YXIgcmV0LCB0eXBlLCBob29rcywNCgkJCW9yaWdOYW1lID0gY2FtZWxDYXNlKCBuYW1lICksDQoJCQlpc0N1c3RvbVByb3AgPSByY3VzdG9tUHJvcC50ZXN0KCBuYW1lICksDQoJCQlzdHlsZSA9IGVsZW0uc3R5bGU7DQoNCgkJLy8gTWFrZSBzdXJlIHRoYXQgd2UncmUgd29ya2luZyB3aXRoIHRoZSByaWdodCBuYW1lLiBXZSBkb24ndA0KCQkvLyB3YW50IHRvIHF1ZXJ5IHRoZSB2YWx1ZSBpZiBpdCBpcyBhIENTUyBjdXN0b20gcHJvcGVydHkNCgkJLy8gc2luY2UgdGhleSBhcmUgdXNlci1kZWZpbmVkLg0KCQlpZiAoICFpc0N1c3RvbVByb3AgKSB7DQoJCQluYW1lID0gZmluYWxQcm9wTmFtZSggb3JpZ05hbWUgKTsNCgkJfQ0KDQoJCS8vIEdldHMgaG9vayBmb3IgdGhlIHByZWZpeGVkIHZlcnNpb24sIHRoZW4gdW5wcmVmaXhlZCB2ZXJzaW9uDQoJCWhvb2tzID0galF1ZXJ5LmNzc0hvb2tzWyBuYW1lIF0gfHwgalF1ZXJ5LmNzc0hvb2tzWyBvcmlnTmFtZSBdOw0KDQoJCS8vIENoZWNrIGlmIHdlJ3JlIHNldHRpbmcgYSB2YWx1ZQ0KCQlpZiAoIHZhbHVlICE9PSB1bmRlZmluZWQgKSB7DQoJCQl0eXBlID0gdHlwZW9mIHZhbHVlOw0KDQoJCQkvLyBDb252ZXJ0ICIrPSIgb3IgIi09IiB0byByZWxhdGl2ZSBudW1iZXJzICgjNzM0NSkNCgkJCWlmICggdHlwZSA9PT0gInN0cmluZyIgJiYgKCByZXQgPSByY3NzTnVtLmV4ZWMoIHZhbHVlICkgKSAmJiByZXRbIDEgXSApIHsNCgkJCQl2YWx1ZSA9IGFkanVzdENTUyggZWxlbSwgbmFtZSwgcmV0ICk7DQoNCgkJCQkvLyBGaXhlcyBidWcgIzkyMzcNCgkJCQl0eXBlID0gIm51bWJlciI7DQoJCQl9DQoNCgkJCS8vIE1ha2Ugc3VyZSB0aGF0IG51bGwgYW5kIE5hTiB2YWx1ZXMgYXJlbid0IHNldCAoIzcxMTYpDQoJCQlpZiAoIHZhbHVlID09IG51bGwgfHwgdmFsdWUgIT09IHZhbHVlICkgew0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJLy8gSWYgYSBudW1iZXIgd2FzIHBhc3NlZCBpbiwgYWRkIHRoZSB1bml0IChleGNlcHQgZm9yIGNlcnRhaW4gQ1NTIHByb3BlcnRpZXMpDQoJCQlpZiAoIHR5cGUgPT09ICJudW1iZXIiICkgew0KCQkJCXZhbHVlICs9IHJldCAmJiByZXRbIDMgXSB8fCAoIGpRdWVyeS5jc3NOdW1iZXJbIG9yaWdOYW1lIF0gPyAiIiA6ICJweCIgKTsNCgkJCX0NCg0KCQkJLy8gYmFja2dyb3VuZC0qIHByb3BzIGFmZmVjdCBvcmlnaW5hbCBjbG9uZSdzIHZhbHVlcw0KCQkJaWYgKCAhc3VwcG9ydC5jbGVhckNsb25lU3R5bGUgJiYgdmFsdWUgPT09ICIiICYmIG5hbWUuaW5kZXhPZiggImJhY2tncm91bmQiICkgPT09IDAgKSB7DQoJCQkJc3R5bGVbIG5hbWUgXSA9ICJpbmhlcml0IjsNCgkJCX0NCg0KCQkJLy8gSWYgYSBob29rIHdhcyBwcm92aWRlZCwgdXNlIHRoYXQgdmFsdWUsIG90aGVyd2lzZSBqdXN0IHNldCB0aGUgc3BlY2lmaWVkIHZhbHVlDQoJCQlpZiAoICFob29rcyB8fCAhKCAic2V0IiBpbiBob29rcyApIHx8DQoJCQkJKCB2YWx1ZSA9IGhvb2tzLnNldCggZWxlbSwgdmFsdWUsIGV4dHJhICkgKSAhPT0gdW5kZWZpbmVkICkgew0KDQoJCQkJaWYgKCBpc0N1c3RvbVByb3AgKSB7DQoJCQkJCXN0eWxlLnNldFByb3BlcnR5KCBuYW1lLCB2YWx1ZSApOw0KCQkJCX0gZWxzZSB7DQoJCQkJCXN0eWxlWyBuYW1lIF0gPSB2YWx1ZTsNCgkJCQl9DQoJCQl9DQoNCgkJfSBlbHNlIHsNCg0KCQkJLy8gSWYgYSBob29rIHdhcyBwcm92aWRlZCBnZXQgdGhlIG5vbi1jb21wdXRlZCB2YWx1ZSBmcm9tIHRoZXJlDQoJCQlpZiAoIGhvb2tzICYmICJnZXQiIGluIGhvb2tzICYmDQoJCQkJKCByZXQgPSBob29rcy5nZXQoIGVsZW0sIGZhbHNlLCBleHRyYSApICkgIT09IHVuZGVmaW5lZCApIHsNCg0KCQkJCXJldHVybiByZXQ7DQoJCQl9DQoNCgkJCS8vIE90aGVyd2lzZSBqdXN0IGdldCB0aGUgdmFsdWUgZnJvbSB0aGUgc3R5bGUgb2JqZWN0DQoJCQlyZXR1cm4gc3R5bGVbIG5hbWUgXTsNCgkJfQ0KCX0sDQoNCgljc3M6IGZ1bmN0aW9uKCBlbGVtLCBuYW1lLCBleHRyYSwgc3R5bGVzICkgew0KCQl2YXIgdmFsLCBudW0sIGhvb2tzLA0KCQkJb3JpZ05hbWUgPSBjYW1lbENhc2UoIG5hbWUgKSwNCgkJCWlzQ3VzdG9tUHJvcCA9IHJjdXN0b21Qcm9wLnRlc3QoIG5hbWUgKTsNCg0KCQkvLyBNYWtlIHN1cmUgdGhhdCB3ZSdyZSB3b3JraW5nIHdpdGggdGhlIHJpZ2h0IG5hbWUuIFdlIGRvbid0DQoJCS8vIHdhbnQgdG8gbW9kaWZ5IHRoZSB2YWx1ZSBpZiBpdCBpcyBhIENTUyBjdXN0b20gcHJvcGVydHkNCgkJLy8gc2luY2UgdGhleSBhcmUgdXNlci1kZWZpbmVkLg0KCQlpZiAoICFpc0N1c3RvbVByb3AgKSB7DQoJCQluYW1lID0gZmluYWxQcm9wTmFtZSggb3JpZ05hbWUgKTsNCgkJfQ0KDQoJCS8vIFRyeSBwcmVmaXhlZCBuYW1lIGZvbGxvd2VkIGJ5IHRoZSB1bnByZWZpeGVkIG5hbWUNCgkJaG9va3MgPSBqUXVlcnkuY3NzSG9va3NbIG5hbWUgXSB8fCBqUXVlcnkuY3NzSG9va3NbIG9yaWdOYW1lIF07DQoNCgkJLy8gSWYgYSBob29rIHdhcyBwcm92aWRlZCBnZXQgdGhlIGNvbXB1dGVkIHZhbHVlIGZyb20gdGhlcmUNCgkJaWYgKCBob29rcyAmJiAiZ2V0IiBpbiBob29rcyApIHsNCgkJCXZhbCA9IGhvb2tzLmdldCggZWxlbSwgdHJ1ZSwgZXh0cmEgKTsNCgkJfQ0KDQoJCS8vIE90aGVyd2lzZSwgaWYgYSB3YXkgdG8gZ2V0IHRoZSBjb21wdXRlZCB2YWx1ZSBleGlzdHMsIHVzZSB0aGF0DQoJCWlmICggdmFsID09PSB1bmRlZmluZWQgKSB7DQoJCQl2YWwgPSBjdXJDU1MoIGVsZW0sIG5hbWUsIHN0eWxlcyApOw0KCQl9DQoNCgkJLy8gQ29udmVydCAibm9ybWFsIiB0byBjb21wdXRlZCB2YWx1ZQ0KCQlpZiAoIHZhbCA9PT0gIm5vcm1hbCIgJiYgbmFtZSBpbiBjc3NOb3JtYWxUcmFuc2Zvcm0gKSB7DQoJCQl2YWwgPSBjc3NOb3JtYWxUcmFuc2Zvcm1bIG5hbWUgXTsNCgkJfQ0KDQoJCS8vIE1ha2UgbnVtZXJpYyBpZiBmb3JjZWQgb3IgYSBxdWFsaWZpZXIgd2FzIHByb3ZpZGVkIGFuZCB2YWwgbG9va3MgbnVtZXJpYw0KCQlpZiAoIGV4dHJhID09PSAiIiB8fCBleHRyYSApIHsNCgkJCW51bSA9IHBhcnNlRmxvYXQoIHZhbCApOw0KCQkJcmV0dXJuIGV4dHJhID09PSB0cnVlIHx8IGlzRmluaXRlKCBudW0gKSA/IG51bSB8fCAwIDogdmFsOw0KCQl9DQoNCgkJcmV0dXJuIHZhbDsNCgl9DQp9ICk7DQoNCmpRdWVyeS5lYWNoKCBbICJoZWlnaHQiLCAid2lkdGgiIF0sIGZ1bmN0aW9uKCBpLCBkaW1lbnNpb24gKSB7DQoJalF1ZXJ5LmNzc0hvb2tzWyBkaW1lbnNpb24gXSA9IHsNCgkJZ2V0OiBmdW5jdGlvbiggZWxlbSwgY29tcHV0ZWQsIGV4dHJhICkgew0KCQkJaWYgKCBjb21wdXRlZCApIHsNCg0KCQkJCS8vIENlcnRhaW4gZWxlbWVudHMgY2FuIGhhdmUgZGltZW5zaW9uIGluZm8gaWYgd2UgaW52aXNpYmx5IHNob3cgdGhlbQ0KCQkJCS8vIGJ1dCBpdCBtdXN0IGhhdmUgYSBjdXJyZW50IGRpc3BsYXkgc3R5bGUgdGhhdCB3b3VsZCBiZW5lZml0DQoJCQkJcmV0dXJuIHJkaXNwbGF5c3dhcC50ZXN0KCBqUXVlcnkuY3NzKCBlbGVtLCAiZGlzcGxheSIgKSApICYmDQoNCgkJCQkJLy8gU3VwcG9ydDogU2FmYXJpIDgrDQoJCQkJCS8vIFRhYmxlIGNvbHVtbnMgaW4gU2FmYXJpIGhhdmUgbm9uLXplcm8gb2Zmc2V0V2lkdGggJiB6ZXJvDQoJCQkJCS8vIGdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIHVubGVzcyBkaXNwbGF5IGlzIGNoYW5nZWQuDQoJCQkJCS8vIFN1cHBvcnQ6IElFIDw9MTEgb25seQ0KCQkJCQkvLyBSdW5uaW5nIGdldEJvdW5kaW5nQ2xpZW50UmVjdCBvbiBhIGRpc2Nvbm5lY3RlZCBub2RlDQoJCQkJCS8vIGluIElFIHRocm93cyBhbiBlcnJvci4NCgkJCQkJKCAhZWxlbS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCB8fCAhZWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCApID8NCgkJCQkJCXN3YXAoIGVsZW0sIGNzc1Nob3csIGZ1bmN0aW9uKCkgew0KCQkJCQkJCXJldHVybiBnZXRXaWR0aE9ySGVpZ2h0KCBlbGVtLCBkaW1lbnNpb24sIGV4dHJhICk7DQoJCQkJCQl9ICkgOg0KCQkJCQkJZ2V0V2lkdGhPckhlaWdodCggZWxlbSwgZGltZW5zaW9uLCBleHRyYSApOw0KCQkJfQ0KCQl9LA0KDQoJCXNldDogZnVuY3Rpb24oIGVsZW0sIHZhbHVlLCBleHRyYSApIHsNCgkJCXZhciBtYXRjaGVzLA0KCQkJCXN0eWxlcyA9IGdldFN0eWxlcyggZWxlbSApLA0KCQkJCWlzQm9yZGVyQm94ID0galF1ZXJ5LmNzcyggZWxlbSwgImJveFNpemluZyIsIGZhbHNlLCBzdHlsZXMgKSA9PT0gImJvcmRlci1ib3giLA0KCQkJCXN1YnRyYWN0ID0gZXh0cmEgJiYgYm94TW9kZWxBZGp1c3RtZW50KA0KCQkJCQllbGVtLA0KCQkJCQlkaW1lbnNpb24sDQoJCQkJCWV4dHJhLA0KCQkJCQlpc0JvcmRlckJveCwNCgkJCQkJc3R5bGVzDQoJCQkJKTsNCg0KCQkJLy8gQWNjb3VudCBmb3IgdW5yZWxpYWJsZSBib3JkZXItYm94IGRpbWVuc2lvbnMgYnkgY29tcGFyaW5nIG9mZnNldCogdG8gY29tcHV0ZWQgYW5kDQoJCQkvLyBmYWtpbmcgYSBjb250ZW50LWJveCB0byBnZXQgYm9yZGVyIGFuZCBwYWRkaW5nIChnaC0zNjk5KQ0KCQkJaWYgKCBpc0JvcmRlckJveCAmJiBzdXBwb3J0LnNjcm9sbGJveFNpemUoKSA9PT0gc3R5bGVzLnBvc2l0aW9uICkgew0KCQkJCXN1YnRyYWN0IC09IE1hdGguY2VpbCgNCgkJCQkJZWxlbVsgIm9mZnNldCIgKyBkaW1lbnNpb25bIDAgXS50b1VwcGVyQ2FzZSgpICsgZGltZW5zaW9uLnNsaWNlKCAxICkgXSAtDQoJCQkJCXBhcnNlRmxvYXQoIHN0eWxlc1sgZGltZW5zaW9uIF0gKSAtDQoJCQkJCWJveE1vZGVsQWRqdXN0bWVudCggZWxlbSwgZGltZW5zaW9uLCAiYm9yZGVyIiwgZmFsc2UsIHN0eWxlcyApIC0NCgkJCQkJMC41DQoJCQkJKTsNCgkJCX0NCg0KCQkJLy8gQ29udmVydCB0byBwaXhlbHMgaWYgdmFsdWUgYWRqdXN0bWVudCBpcyBuZWVkZWQNCgkJCWlmICggc3VidHJhY3QgJiYgKCBtYXRjaGVzID0gcmNzc051bS5leGVjKCB2YWx1ZSApICkgJiYNCgkJCQkoIG1hdGNoZXNbIDMgXSB8fCAicHgiICkgIT09ICJweCIgKSB7DQoNCgkJCQllbGVtLnN0eWxlWyBkaW1lbnNpb24gXSA9IHZhbHVlOw0KCQkJCXZhbHVlID0galF1ZXJ5LmNzcyggZWxlbSwgZGltZW5zaW9uICk7DQoJCQl9DQoNCgkJCXJldHVybiBzZXRQb3NpdGl2ZU51bWJlciggZWxlbSwgdmFsdWUsIHN1YnRyYWN0ICk7DQoJCX0NCgl9Ow0KfSApOw0KDQpqUXVlcnkuY3NzSG9va3MubWFyZ2luTGVmdCA9IGFkZEdldEhvb2tJZiggc3VwcG9ydC5yZWxpYWJsZU1hcmdpbkxlZnQsDQoJZnVuY3Rpb24oIGVsZW0sIGNvbXB1dGVkICkgew0KCQlpZiAoIGNvbXB1dGVkICkgew0KCQkJcmV0dXJuICggcGFyc2VGbG9hdCggY3VyQ1NTKCBlbGVtLCAibWFyZ2luTGVmdCIgKSApIHx8DQoJCQkJZWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0IC0NCgkJCQkJc3dhcCggZWxlbSwgeyBtYXJnaW5MZWZ0OiAwIH0sIGZ1bmN0aW9uKCkgew0KCQkJCQkJcmV0dXJuIGVsZW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdDsNCgkJCQkJfSApDQoJCQkJKSArICJweCI7DQoJCX0NCgl9DQopOw0KDQovLyBUaGVzZSBob29rcyBhcmUgdXNlZCBieSBhbmltYXRlIHRvIGV4cGFuZCBwcm9wZXJ0aWVzDQpqUXVlcnkuZWFjaCggew0KCW1hcmdpbjogIiIsDQoJcGFkZGluZzogIiIsDQoJYm9yZGVyOiAiV2lkdGgiDQp9LCBmdW5jdGlvbiggcHJlZml4LCBzdWZmaXggKSB7DQoJalF1ZXJ5LmNzc0hvb2tzWyBwcmVmaXggKyBzdWZmaXggXSA9IHsNCgkJZXhwYW5kOiBmdW5jdGlvbiggdmFsdWUgKSB7DQoJCQl2YXIgaSA9IDAsDQoJCQkJZXhwYW5kZWQgPSB7fSwNCg0KCQkJCS8vIEFzc3VtZXMgYSBzaW5nbGUgbnVtYmVyIGlmIG5vdCBhIHN0cmluZw0KCQkJCXBhcnRzID0gdHlwZW9mIHZhbHVlID09PSAic3RyaW5nIiA/IHZhbHVlLnNwbGl0KCAiICIgKSA6IFsgdmFsdWUgXTsNCg0KCQkJZm9yICggOyBpIDwgNDsgaSsrICkgew0KCQkJCWV4cGFuZGVkWyBwcmVmaXggKyBjc3NFeHBhbmRbIGkgXSArIHN1ZmZpeCBdID0NCgkJCQkJcGFydHNbIGkgXSB8fCBwYXJ0c1sgaSAtIDIgXSB8fCBwYXJ0c1sgMCBdOw0KCQkJfQ0KDQoJCQlyZXR1cm4gZXhwYW5kZWQ7DQoJCX0NCgl9Ow0KDQoJaWYgKCBwcmVmaXggIT09ICJtYXJnaW4iICkgew0KCQlqUXVlcnkuY3NzSG9va3NbIHByZWZpeCArIHN1ZmZpeCBdLnNldCA9IHNldFBvc2l0aXZlTnVtYmVyOw0KCX0NCn0gKTsNCg0KalF1ZXJ5LmZuLmV4dGVuZCggew0KCWNzczogZnVuY3Rpb24oIG5hbWUsIHZhbHVlICkgew0KCQlyZXR1cm4gYWNjZXNzKCB0aGlzLCBmdW5jdGlvbiggZWxlbSwgbmFtZSwgdmFsdWUgKSB7DQoJCQl2YXIgc3R5bGVzLCBsZW4sDQoJCQkJbWFwID0ge30sDQoJCQkJaSA9IDA7DQoNCgkJCWlmICggQXJyYXkuaXNBcnJheSggbmFtZSApICkgew0KCQkJCXN0eWxlcyA9IGdldFN0eWxlcyggZWxlbSApOw0KCQkJCWxlbiA9IG5hbWUubGVuZ3RoOw0KDQoJCQkJZm9yICggOyBpIDwgbGVuOyBpKysgKSB7DQoJCQkJCW1hcFsgbmFtZVsgaSBdIF0gPSBqUXVlcnkuY3NzKCBlbGVtLCBuYW1lWyBpIF0sIGZhbHNlLCBzdHlsZXMgKTsNCgkJCQl9DQoNCgkJCQlyZXR1cm4gbWFwOw0KCQkJfQ0KDQoJCQlyZXR1cm4gdmFsdWUgIT09IHVuZGVmaW5lZCA/DQoJCQkJalF1ZXJ5LnN0eWxlKCBlbGVtLCBuYW1lLCB2YWx1ZSApIDoNCgkJCQlqUXVlcnkuY3NzKCBlbGVtLCBuYW1lICk7DQoJCX0sIG5hbWUsIHZhbHVlLCBhcmd1bWVudHMubGVuZ3RoID4gMSApOw0KCX0NCn0gKTsNCg0KDQpmdW5jdGlvbiBUd2VlbiggZWxlbSwgb3B0aW9ucywgcHJvcCwgZW5kLCBlYXNpbmcgKSB7DQoJcmV0dXJuIG5ldyBUd2Vlbi5wcm90b3R5cGUuaW5pdCggZWxlbSwgb3B0aW9ucywgcHJvcCwgZW5kLCBlYXNpbmcgKTsNCn0NCmpRdWVyeS5Ud2VlbiA9IFR3ZWVuOw0KDQpUd2Vlbi5wcm90b3R5cGUgPSB7DQoJY29uc3RydWN0b3I6IFR3ZWVuLA0KCWluaXQ6IGZ1bmN0aW9uKCBlbGVtLCBvcHRpb25zLCBwcm9wLCBlbmQsIGVhc2luZywgdW5pdCApIHsNCgkJdGhpcy5lbGVtID0gZWxlbTsNCgkJdGhpcy5wcm9wID0gcHJvcDsNCgkJdGhpcy5lYXNpbmcgPSBlYXNpbmcgfHwgalF1ZXJ5LmVhc2luZy5fZGVmYXVsdDsNCgkJdGhpcy5vcHRpb25zID0gb3B0aW9uczsNCgkJdGhpcy5zdGFydCA9IHRoaXMubm93ID0gdGhpcy5jdXIoKTsNCgkJdGhpcy5lbmQgPSBlbmQ7DQoJCXRoaXMudW5pdCA9IHVuaXQgfHwgKCBqUXVlcnkuY3NzTnVtYmVyWyBwcm9wIF0gPyAiIiA6ICJweCIgKTsNCgl9LA0KCWN1cjogZnVuY3Rpb24oKSB7DQoJCXZhciBob29rcyA9IFR3ZWVuLnByb3BIb29rc1sgdGhpcy5wcm9wIF07DQoNCgkJcmV0dXJuIGhvb2tzICYmIGhvb2tzLmdldCA/DQoJCQlob29rcy5nZXQoIHRoaXMgKSA6DQoJCQlUd2Vlbi5wcm9wSG9va3MuX2RlZmF1bHQuZ2V0KCB0aGlzICk7DQoJfSwNCglydW46IGZ1bmN0aW9uKCBwZXJjZW50ICkgew0KCQl2YXIgZWFzZWQsDQoJCQlob29rcyA9IFR3ZWVuLnByb3BIb29rc1sgdGhpcy5wcm9wIF07DQoNCgkJaWYgKCB0aGlzLm9wdGlvbnMuZHVyYXRpb24gKSB7DQoJCQl0aGlzLnBvcyA9IGVhc2VkID0galF1ZXJ5LmVhc2luZ1sgdGhpcy5lYXNpbmcgXSgNCgkJCQlwZXJjZW50LCB0aGlzLm9wdGlvbnMuZHVyYXRpb24gKiBwZXJjZW50LCAwLCAxLCB0aGlzLm9wdGlvbnMuZHVyYXRpb24NCgkJCSk7DQoJCX0gZWxzZSB7DQoJCQl0aGlzLnBvcyA9IGVhc2VkID0gcGVyY2VudDsNCgkJfQ0KCQl0aGlzLm5vdyA9ICggdGhpcy5lbmQgLSB0aGlzLnN0YXJ0ICkgKiBlYXNlZCArIHRoaXMuc3RhcnQ7DQoNCgkJaWYgKCB0aGlzLm9wdGlvbnMuc3RlcCApIHsNCgkJCXRoaXMub3B0aW9ucy5zdGVwLmNhbGwoIHRoaXMuZWxlbSwgdGhpcy5ub3csIHRoaXMgKTsNCgkJfQ0KDQoJCWlmICggaG9va3MgJiYgaG9va3Muc2V0ICkgew0KCQkJaG9va3Muc2V0KCB0aGlzICk7DQoJCX0gZWxzZSB7DQoJCQlUd2Vlbi5wcm9wSG9va3MuX2RlZmF1bHQuc2V0KCB0aGlzICk7DQoJCX0NCgkJcmV0dXJuIHRoaXM7DQoJfQ0KfTsNCg0KVHdlZW4ucHJvdG90eXBlLmluaXQucHJvdG90eXBlID0gVHdlZW4ucHJvdG90eXBlOw0KDQpUd2Vlbi5wcm9wSG9va3MgPSB7DQoJX2RlZmF1bHQ6IHsNCgkJZ2V0OiBmdW5jdGlvbiggdHdlZW4gKSB7DQoJCQl2YXIgcmVzdWx0Ow0KDQoJCQkvLyBVc2UgYSBwcm9wZXJ0eSBvbiB0aGUgZWxlbWVudCBkaXJlY3RseSB3aGVuIGl0IGlzIG5vdCBhIERPTSBlbGVtZW50LA0KCQkJLy8gb3Igd2hlbiB0aGVyZSBpcyBubyBtYXRjaGluZyBzdHlsZSBwcm9wZXJ0eSB0aGF0IGV4aXN0cy4NCgkJCWlmICggdHdlZW4uZWxlbS5ub2RlVHlwZSAhPT0gMSB8fA0KCQkJCXR3ZWVuLmVsZW1bIHR3ZWVuLnByb3AgXSAhPSBudWxsICYmIHR3ZWVuLmVsZW0uc3R5bGVbIHR3ZWVuLnByb3AgXSA9PSBudWxsICkgew0KCQkJCXJldHVybiB0d2Vlbi5lbGVtWyB0d2Vlbi5wcm9wIF07DQoJCQl9DQoNCgkJCS8vIFBhc3NpbmcgYW4gZW1wdHkgc3RyaW5nIGFzIGEgM3JkIHBhcmFtZXRlciB0byAuY3NzIHdpbGwgYXV0b21hdGljYWxseQ0KCQkJLy8gYXR0ZW1wdCBhIHBhcnNlRmxvYXQgYW5kIGZhbGxiYWNrIHRvIGEgc3RyaW5nIGlmIHRoZSBwYXJzZSBmYWlscy4NCgkJCS8vIFNpbXBsZSB2YWx1ZXMgc3VjaCBhcyAiMTBweCIgYXJlIHBhcnNlZCB0byBGbG9hdDsNCgkJCS8vIGNvbXBsZXggdmFsdWVzIHN1Y2ggYXMgInJvdGF0ZSgxcmFkKSIgYXJlIHJldHVybmVkIGFzLWlzLg0KCQkJcmVzdWx0ID0galF1ZXJ5LmNzcyggdHdlZW4uZWxlbSwgdHdlZW4ucHJvcCwgIiIgKTsNCg0KCQkJLy8gRW1wdHkgc3RyaW5ncywgbnVsbCwgdW5kZWZpbmVkIGFuZCAiYXV0byIgYXJlIGNvbnZlcnRlZCB0byAwLg0KCQkJcmV0dXJuICFyZXN1bHQgfHwgcmVzdWx0ID09PSAiYXV0byIgPyAwIDogcmVzdWx0Ow0KCQl9LA0KCQlzZXQ6IGZ1bmN0aW9uKCB0d2VlbiApIHsNCg0KCQkJLy8gVXNlIHN0ZXAgaG9vayBmb3IgYmFjayBjb21wYXQuDQoJCQkvLyBVc2UgY3NzSG9vayBpZiBpdHMgdGhlcmUuDQoJCQkvLyBVc2UgLnN0eWxlIGlmIGF2YWlsYWJsZSBhbmQgdXNlIHBsYWluIHByb3BlcnRpZXMgd2hlcmUgYXZhaWxhYmxlLg0KCQkJaWYgKCBqUXVlcnkuZnguc3RlcFsgdHdlZW4ucHJvcCBdICkgew0KCQkJCWpRdWVyeS5meC5zdGVwWyB0d2Vlbi5wcm9wIF0oIHR3ZWVuICk7DQoJCQl9IGVsc2UgaWYgKCB0d2Vlbi5lbGVtLm5vZGVUeXBlID09PSAxICYmDQoJCQkJKCB0d2Vlbi5lbGVtLnN0eWxlWyBqUXVlcnkuY3NzUHJvcHNbIHR3ZWVuLnByb3AgXSBdICE9IG51bGwgfHwNCgkJCQkJalF1ZXJ5LmNzc0hvb2tzWyB0d2Vlbi5wcm9wIF0gKSApIHsNCgkJCQlqUXVlcnkuc3R5bGUoIHR3ZWVuLmVsZW0sIHR3ZWVuLnByb3AsIHR3ZWVuLm5vdyArIHR3ZWVuLnVuaXQgKTsNCgkJCX0gZWxzZSB7DQoJCQkJdHdlZW4uZWxlbVsgdHdlZW4ucHJvcCBdID0gdHdlZW4ubm93Ow0KCQkJfQ0KCQl9DQoJfQ0KfTsNCg0KLy8gU3VwcG9ydDogSUUgPD05IG9ubHkNCi8vIFBhbmljIGJhc2VkIGFwcHJvYWNoIHRvIHNldHRpbmcgdGhpbmdzIG9uIGRpc2Nvbm5lY3RlZCBub2Rlcw0KVHdlZW4ucHJvcEhvb2tzLnNjcm9sbFRvcCA9IFR3ZWVuLnByb3BIb29rcy5zY3JvbGxMZWZ0ID0gew0KCXNldDogZnVuY3Rpb24oIHR3ZWVuICkgew0KCQlpZiAoIHR3ZWVuLmVsZW0ubm9kZVR5cGUgJiYgdHdlZW4uZWxlbS5wYXJlbnROb2RlICkgew0KCQkJdHdlZW4uZWxlbVsgdHdlZW4ucHJvcCBdID0gdHdlZW4ubm93Ow0KCQl9DQoJfQ0KfTsNCg0KalF1ZXJ5LmVhc2luZyA9IHsNCglsaW5lYXI6IGZ1bmN0aW9uKCBwICkgew0KCQlyZXR1cm4gcDsNCgl9LA0KCXN3aW5nOiBmdW5jdGlvbiggcCApIHsNCgkJcmV0dXJuIDAuNSAtIE1hdGguY29zKCBwICogTWF0aC5QSSApIC8gMjsNCgl9LA0KCV9kZWZhdWx0OiAic3dpbmciDQp9Ow0KDQpqUXVlcnkuZnggPSBUd2Vlbi5wcm90b3R5cGUuaW5pdDsNCg0KLy8gQmFjayBjb21wYXQgPDEuOCBleHRlbnNpb24gcG9pbnQNCmpRdWVyeS5meC5zdGVwID0ge307DQoNCg0KDQoNCnZhcg0KCWZ4Tm93LCBpblByb2dyZXNzLA0KCXJmeHR5cGVzID0gL14oPzp0b2dnbGV8c2hvd3xoaWRlKSQvLA0KCXJydW4gPSAvcXVldWVIb29rcyQvOw0KDQpmdW5jdGlvbiBzY2hlZHVsZSgpIHsNCglpZiAoIGluUHJvZ3Jlc3MgKSB7DQoJCWlmICggZG9jdW1lbnQuaGlkZGVuID09PSBmYWxzZSAmJiB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lICkgew0KCQkJd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSggc2NoZWR1bGUgKTsNCgkJfSBlbHNlIHsNCgkJCXdpbmRvdy5zZXRUaW1lb3V0KCBzY2hlZHVsZSwgalF1ZXJ5LmZ4LmludGVydmFsICk7DQoJCX0NCg0KCQlqUXVlcnkuZngudGljaygpOw0KCX0NCn0NCg0KLy8gQW5pbWF0aW9ucyBjcmVhdGVkIHN5bmNocm9ub3VzbHkgd2lsbCBydW4gc3luY2hyb25vdXNseQ0KZnVuY3Rpb24gY3JlYXRlRnhOb3coKSB7DQoJd2luZG93LnNldFRpbWVvdXQoIGZ1bmN0aW9uKCkgew0KCQlmeE5vdyA9IHVuZGVmaW5lZDsNCgl9ICk7DQoJcmV0dXJuICggZnhOb3cgPSBEYXRlLm5vdygpICk7DQp9DQoNCi8vIEdlbmVyYXRlIHBhcmFtZXRlcnMgdG8gY3JlYXRlIGEgc3RhbmRhcmQgYW5pbWF0aW9uDQpmdW5jdGlvbiBnZW5GeCggdHlwZSwgaW5jbHVkZVdpZHRoICkgew0KCXZhciB3aGljaCwNCgkJaSA9IDAsDQoJCWF0dHJzID0geyBoZWlnaHQ6IHR5cGUgfTsNCg0KCS8vIElmIHdlIGluY2x1ZGUgd2lkdGgsIHN0ZXAgdmFsdWUgaXMgMSB0byBkbyBhbGwgY3NzRXhwYW5kIHZhbHVlcywNCgkvLyBvdGhlcndpc2Ugc3RlcCB2YWx1ZSBpcyAyIHRvIHNraXAgb3ZlciBMZWZ0IGFuZCBSaWdodA0KCWluY2x1ZGVXaWR0aCA9IGluY2x1ZGVXaWR0aCA/IDEgOiAwOw0KCWZvciAoIDsgaSA8IDQ7IGkgKz0gMiAtIGluY2x1ZGVXaWR0aCApIHsNCgkJd2hpY2ggPSBjc3NFeHBhbmRbIGkgXTsNCgkJYXR0cnNbICJtYXJnaW4iICsgd2hpY2ggXSA9IGF0dHJzWyAicGFkZGluZyIgKyB3aGljaCBdID0gdHlwZTsNCgl9DQoNCglpZiAoIGluY2x1ZGVXaWR0aCApIHsNCgkJYXR0cnMub3BhY2l0eSA9IGF0dHJzLndpZHRoID0gdHlwZTsNCgl9DQoNCglyZXR1cm4gYXR0cnM7DQp9DQoNCmZ1bmN0aW9uIGNyZWF0ZVR3ZWVuKCB2YWx1ZSwgcHJvcCwgYW5pbWF0aW9uICkgew0KCXZhciB0d2VlbiwNCgkJY29sbGVjdGlvbiA9ICggQW5pbWF0aW9uLnR3ZWVuZXJzWyBwcm9wIF0gfHwgW10gKS5jb25jYXQoIEFuaW1hdGlvbi50d2VlbmVyc1sgIioiIF0gKSwNCgkJaW5kZXggPSAwLA0KCQlsZW5ndGggPSBjb2xsZWN0aW9uLmxlbmd0aDsNCglmb3IgKCA7IGluZGV4IDwgbGVuZ3RoOyBpbmRleCsrICkgew0KCQlpZiAoICggdHdlZW4gPSBjb2xsZWN0aW9uWyBpbmRleCBdLmNhbGwoIGFuaW1hdGlvbiwgcHJvcCwgdmFsdWUgKSApICkgew0KDQoJCQkvLyBXZSdyZSBkb25lIHdpdGggdGhpcyBwcm9wZXJ0eQ0KCQkJcmV0dXJuIHR3ZWVuOw0KCQl9DQoJfQ0KfQ0KDQpmdW5jdGlvbiBkZWZhdWx0UHJlZmlsdGVyKCBlbGVtLCBwcm9wcywgb3B0cyApIHsNCgl2YXIgcHJvcCwgdmFsdWUsIHRvZ2dsZSwgaG9va3MsIG9sZGZpcmUsIHByb3BUd2VlbiwgcmVzdG9yZURpc3BsYXksIGRpc3BsYXksDQoJCWlzQm94ID0gIndpZHRoIiBpbiBwcm9wcyB8fCAiaGVpZ2h0IiBpbiBwcm9wcywNCgkJYW5pbSA9IHRoaXMsDQoJCW9yaWcgPSB7fSwNCgkJc3R5bGUgPSBlbGVtLnN0eWxlLA0KCQloaWRkZW4gPSBlbGVtLm5vZGVUeXBlICYmIGlzSGlkZGVuV2l0aGluVHJlZSggZWxlbSApLA0KCQlkYXRhU2hvdyA9IGRhdGFQcml2LmdldCggZWxlbSwgImZ4c2hvdyIgKTsNCg0KCS8vIFF1ZXVlLXNraXBwaW5nIGFuaW1hdGlvbnMgaGlqYWNrIHRoZSBmeCBob29rcw0KCWlmICggIW9wdHMucXVldWUgKSB7DQoJCWhvb2tzID0galF1ZXJ5Ll9xdWV1ZUhvb2tzKCBlbGVtLCAiZngiICk7DQoJCWlmICggaG9va3MudW5xdWV1ZWQgPT0gbnVsbCApIHsNCgkJCWhvb2tzLnVucXVldWVkID0gMDsNCgkJCW9sZGZpcmUgPSBob29rcy5lbXB0eS5maXJlOw0KCQkJaG9va3MuZW1wdHkuZmlyZSA9IGZ1bmN0aW9uKCkgew0KCQkJCWlmICggIWhvb2tzLnVucXVldWVkICkgew0KCQkJCQlvbGRmaXJlKCk7DQoJCQkJfQ0KCQkJfTsNCgkJfQ0KCQlob29rcy51bnF1ZXVlZCsrOw0KDQoJCWFuaW0uYWx3YXlzKCBmdW5jdGlvbigpIHsNCg0KCQkJLy8gRW5zdXJlIHRoZSBjb21wbGV0ZSBoYW5kbGVyIGlzIGNhbGxlZCBiZWZvcmUgdGhpcyBjb21wbGV0ZXMNCgkJCWFuaW0uYWx3YXlzKCBmdW5jdGlvbigpIHsNCgkJCQlob29rcy51bnF1ZXVlZC0tOw0KCQkJCWlmICggIWpRdWVyeS5xdWV1ZSggZWxlbSwgImZ4IiApLmxlbmd0aCApIHsNCgkJCQkJaG9va3MuZW1wdHkuZmlyZSgpOw0KCQkJCX0NCgkJCX0gKTsNCgkJfSApOw0KCX0NCg0KCS8vIERldGVjdCBzaG93L2hpZGUgYW5pbWF0aW9ucw0KCWZvciAoIHByb3AgaW4gcHJvcHMgKSB7DQoJCXZhbHVlID0gcHJvcHNbIHByb3AgXTsNCgkJaWYgKCByZnh0eXBlcy50ZXN0KCB2YWx1ZSApICkgew0KCQkJZGVsZXRlIHByb3BzWyBwcm9wIF07DQoJCQl0b2dnbGUgPSB0b2dnbGUgfHwgdmFsdWUgPT09ICJ0b2dnbGUiOw0KCQkJaWYgKCB2YWx1ZSA9PT0gKCBoaWRkZW4gPyAiaGlkZSIgOiAic2hvdyIgKSApIHsNCg0KCQkJCS8vIFByZXRlbmQgdG8gYmUgaGlkZGVuIGlmIHRoaXMgaXMgYSAic2hvdyIgYW5kDQoJCQkJLy8gdGhlcmUgaXMgc3RpbGwgZGF0YSBmcm9tIGEgc3RvcHBlZCBzaG93L2hpZGUNCgkJCQlpZiAoIHZhbHVlID09PSAic2hvdyIgJiYgZGF0YVNob3cgJiYgZGF0YVNob3dbIHByb3AgXSAhPT0gdW5kZWZpbmVkICkgew0KCQkJCQloaWRkZW4gPSB0cnVlOw0KDQoJCQkJLy8gSWdub3JlIGFsbCBvdGhlciBuby1vcCBzaG93L2hpZGUgZGF0YQ0KCQkJCX0gZWxzZSB7DQoJCQkJCWNvbnRpbnVlOw0KCQkJCX0NCgkJCX0NCgkJCW9yaWdbIHByb3AgXSA9IGRhdGFTaG93ICYmIGRhdGFTaG93WyBwcm9wIF0gfHwgalF1ZXJ5LnN0eWxlKCBlbGVtLCBwcm9wICk7DQoJCX0NCgl9DQoNCgkvLyBCYWlsIG91dCBpZiB0aGlzIGlzIGEgbm8tb3AgbGlrZSAuaGlkZSgpLmhpZGUoKQ0KCXByb3BUd2VlbiA9ICFqUXVlcnkuaXNFbXB0eU9iamVjdCggcHJvcHMgKTsNCglpZiAoICFwcm9wVHdlZW4gJiYgalF1ZXJ5LmlzRW1wdHlPYmplY3QoIG9yaWcgKSApIHsNCgkJcmV0dXJuOw0KCX0NCg0KCS8vIFJlc3RyaWN0ICJvdmVyZmxvdyIgYW5kICJkaXNwbGF5IiBzdHlsZXMgZHVyaW5nIGJveCBhbmltYXRpb25zDQoJaWYgKCBpc0JveCAmJiBlbGVtLm5vZGVUeXBlID09PSAxICkgew0KDQoJCS8vIFN1cHBvcnQ6IElFIDw9OSAtIDExLCBFZGdlIDEyIC0gMTUNCgkJLy8gUmVjb3JkIGFsbCAzIG92ZXJmbG93IGF0dHJpYnV0ZXMgYmVjYXVzZSBJRSBkb2VzIG5vdCBpbmZlciB0aGUgc2hvcnRoYW5kDQoJCS8vIGZyb20gaWRlbnRpY2FsbHktdmFsdWVkIG92ZXJmbG93WCBhbmQgb3ZlcmZsb3dZIGFuZCBFZGdlIGp1c3QgbWlycm9ycw0KCQkvLyB0aGUgb3ZlcmZsb3dYIHZhbHVlIHRoZXJlLg0KCQlvcHRzLm92ZXJmbG93ID0gWyBzdHlsZS5vdmVyZmxvdywgc3R5bGUub3ZlcmZsb3dYLCBzdHlsZS5vdmVyZmxvd1kgXTsNCg0KCQkvLyBJZGVudGlmeSBhIGRpc3BsYXkgdHlwZSwgcHJlZmVycmluZyBvbGQgc2hvdy9oaWRlIGRhdGEgb3ZlciB0aGUgQ1NTIGNhc2NhZGUNCgkJcmVzdG9yZURpc3BsYXkgPSBkYXRhU2hvdyAmJiBkYXRhU2hvdy5kaXNwbGF5Ow0KCQlpZiAoIHJlc3RvcmVEaXNwbGF5ID09IG51bGwgKSB7DQoJCQlyZXN0b3JlRGlzcGxheSA9IGRhdGFQcml2LmdldCggZWxlbSwgImRpc3BsYXkiICk7DQoJCX0NCgkJZGlzcGxheSA9IGpRdWVyeS5jc3MoIGVsZW0sICJkaXNwbGF5IiApOw0KCQlpZiAoIGRpc3BsYXkgPT09ICJub25lIiApIHsNCgkJCWlmICggcmVzdG9yZURpc3BsYXkgKSB7DQoJCQkJZGlzcGxheSA9IHJlc3RvcmVEaXNwbGF5Ow0KCQkJfSBlbHNlIHsNCg0KCQkJCS8vIEdldCBub25lbXB0eSB2YWx1ZShzKSBieSB0ZW1wb3JhcmlseSBmb3JjaW5nIHZpc2liaWxpdHkNCgkJCQlzaG93SGlkZSggWyBlbGVtIF0sIHRydWUgKTsNCgkJCQlyZXN0b3JlRGlzcGxheSA9IGVsZW0uc3R5bGUuZGlzcGxheSB8fCByZXN0b3JlRGlzcGxheTsNCgkJCQlkaXNwbGF5ID0galF1ZXJ5LmNzcyggZWxlbSwgImRpc3BsYXkiICk7DQoJCQkJc2hvd0hpZGUoIFsgZWxlbSBdICk7DQoJCQl9DQoJCX0NCg0KCQkvLyBBbmltYXRlIGlubGluZSBlbGVtZW50cyBhcyBpbmxpbmUtYmxvY2sNCgkJaWYgKCBkaXNwbGF5ID09PSAiaW5saW5lIiB8fCBkaXNwbGF5ID09PSAiaW5saW5lLWJsb2NrIiAmJiByZXN0b3JlRGlzcGxheSAhPSBudWxsICkgew0KCQkJaWYgKCBqUXVlcnkuY3NzKCBlbGVtLCAiZmxvYXQiICkgPT09ICJub25lIiApIHsNCg0KCQkJCS8vIFJlc3RvcmUgdGhlIG9yaWdpbmFsIGRpc3BsYXkgdmFsdWUgYXQgdGhlIGVuZCBvZiBwdXJlIHNob3cvaGlkZSBhbmltYXRpb25zDQoJCQkJaWYgKCAhcHJvcFR3ZWVuICkgew0KCQkJCQlhbmltLmRvbmUoIGZ1bmN0aW9uKCkgew0KCQkJCQkJc3R5bGUuZGlzcGxheSA9IHJlc3RvcmVEaXNwbGF5Ow0KCQkJCQl9ICk7DQoJCQkJCWlmICggcmVzdG9yZURpc3BsYXkgPT0gbnVsbCApIHsNCgkJCQkJCWRpc3BsYXkgPSBzdHlsZS5kaXNwbGF5Ow0KCQkJCQkJcmVzdG9yZURpc3BsYXkgPSBkaXNwbGF5ID09PSAibm9uZSIgPyAiIiA6IGRpc3BsYXk7DQoJCQkJCX0NCgkJCQl9DQoJCQkJc3R5bGUuZGlzcGxheSA9ICJpbmxpbmUtYmxvY2siOw0KCQkJfQ0KCQl9DQoJfQ0KDQoJaWYgKCBvcHRzLm92ZXJmbG93ICkgew0KCQlzdHlsZS5vdmVyZmxvdyA9ICJoaWRkZW4iOw0KCQlhbmltLmFsd2F5cyggZnVuY3Rpb24oKSB7DQoJCQlzdHlsZS5vdmVyZmxvdyA9IG9wdHMub3ZlcmZsb3dbIDAgXTsNCgkJCXN0eWxlLm92ZXJmbG93WCA9IG9wdHMub3ZlcmZsb3dbIDEgXTsNCgkJCXN0eWxlLm92ZXJmbG93WSA9IG9wdHMub3ZlcmZsb3dbIDIgXTsNCgkJfSApOw0KCX0NCg0KCS8vIEltcGxlbWVudCBzaG93L2hpZGUgYW5pbWF0aW9ucw0KCXByb3BUd2VlbiA9IGZhbHNlOw0KCWZvciAoIHByb3AgaW4gb3JpZyApIHsNCg0KCQkvLyBHZW5lcmFsIHNob3cvaGlkZSBzZXR1cCBmb3IgdGhpcyBlbGVtZW50IGFuaW1hdGlvbg0KCQlpZiAoICFwcm9wVHdlZW4gKSB7DQoJCQlpZiAoIGRhdGFTaG93ICkgew0KCQkJCWlmICggImhpZGRlbiIgaW4gZGF0YVNob3cgKSB7DQoJCQkJCWhpZGRlbiA9IGRhdGFTaG93LmhpZGRlbjsNCgkJCQl9DQoJCQl9IGVsc2Ugew0KCQkJCWRhdGFTaG93ID0gZGF0YVByaXYuYWNjZXNzKCBlbGVtLCAiZnhzaG93IiwgeyBkaXNwbGF5OiByZXN0b3JlRGlzcGxheSB9ICk7DQoJCQl9DQoNCgkJCS8vIFN0b3JlIGhpZGRlbi92aXNpYmxlIGZvciB0b2dnbGUgc28gYC5zdG9wKCkudG9nZ2xlKClgICJyZXZlcnNlcyINCgkJCWlmICggdG9nZ2xlICkgew0KCQkJCWRhdGFTaG93LmhpZGRlbiA9ICFoaWRkZW47DQoJCQl9DQoNCgkJCS8vIFNob3cgZWxlbWVudHMgYmVmb3JlIGFuaW1hdGluZyB0aGVtDQoJCQlpZiAoIGhpZGRlbiApIHsNCgkJCQlzaG93SGlkZSggWyBlbGVtIF0sIHRydWUgKTsNCgkJCX0NCg0KCQkJLyogZXNsaW50LWRpc2FibGUgbm8tbG9vcC1mdW5jICovDQoNCgkJCWFuaW0uZG9uZSggZnVuY3Rpb24oKSB7DQoNCgkJCS8qIGVzbGludC1lbmFibGUgbm8tbG9vcC1mdW5jICovDQoNCgkJCQkvLyBUaGUgZmluYWwgc3RlcCBvZiBhICJoaWRlIiBhbmltYXRpb24gaXMgYWN0dWFsbHkgaGlkaW5nIHRoZSBlbGVtZW50DQoJCQkJaWYgKCAhaGlkZGVuICkgew0KCQkJCQlzaG93SGlkZSggWyBlbGVtIF0gKTsNCgkJCQl9DQoJCQkJZGF0YVByaXYucmVtb3ZlKCBlbGVtLCAiZnhzaG93IiApOw0KCQkJCWZvciAoIHByb3AgaW4gb3JpZyApIHsNCgkJCQkJalF1ZXJ5LnN0eWxlKCBlbGVtLCBwcm9wLCBvcmlnWyBwcm9wIF0gKTsNCgkJCQl9DQoJCQl9ICk7DQoJCX0NCg0KCQkvLyBQZXItcHJvcGVydHkgc2V0dXANCgkJcHJvcFR3ZWVuID0gY3JlYXRlVHdlZW4oIGhpZGRlbiA/IGRhdGFTaG93WyBwcm9wIF0gOiAwLCBwcm9wLCBhbmltICk7DQoJCWlmICggISggcHJvcCBpbiBkYXRhU2hvdyApICkgew0KCQkJZGF0YVNob3dbIHByb3AgXSA9IHByb3BUd2Vlbi5zdGFydDsNCgkJCWlmICggaGlkZGVuICkgew0KCQkJCXByb3BUd2Vlbi5lbmQgPSBwcm9wVHdlZW4uc3RhcnQ7DQoJCQkJcHJvcFR3ZWVuLnN0YXJ0ID0gMDsNCgkJCX0NCgkJfQ0KCX0NCn0NCg0KZnVuY3Rpb24gcHJvcEZpbHRlciggcHJvcHMsIHNwZWNpYWxFYXNpbmcgKSB7DQoJdmFyIGluZGV4LCBuYW1lLCBlYXNpbmcsIHZhbHVlLCBob29rczsNCg0KCS8vIGNhbWVsQ2FzZSwgc3BlY2lhbEVhc2luZyBhbmQgZXhwYW5kIGNzc0hvb2sgcGFzcw0KCWZvciAoIGluZGV4IGluIHByb3BzICkgew0KCQluYW1lID0gY2FtZWxDYXNlKCBpbmRleCApOw0KCQllYXNpbmcgPSBzcGVjaWFsRWFzaW5nWyBuYW1lIF07DQoJCXZhbHVlID0gcHJvcHNbIGluZGV4IF07DQoJCWlmICggQXJyYXkuaXNBcnJheSggdmFsdWUgKSApIHsNCgkJCWVhc2luZyA9IHZhbHVlWyAxIF07DQoJCQl2YWx1ZSA9IHByb3BzWyBpbmRleCBdID0gdmFsdWVbIDAgXTsNCgkJfQ0KDQoJCWlmICggaW5kZXggIT09IG5hbWUgKSB7DQoJCQlwcm9wc1sgbmFtZSBdID0gdmFsdWU7DQoJCQlkZWxldGUgcHJvcHNbIGluZGV4IF07DQoJCX0NCg0KCQlob29rcyA9IGpRdWVyeS5jc3NIb29rc1sgbmFtZSBdOw0KCQlpZiAoIGhvb2tzICYmICJleHBhbmQiIGluIGhvb2tzICkgew0KCQkJdmFsdWUgPSBob29rcy5leHBhbmQoIHZhbHVlICk7DQoJCQlkZWxldGUgcHJvcHNbIG5hbWUgXTsNCg0KCQkJLy8gTm90IHF1aXRlICQuZXh0ZW5kLCB0aGlzIHdvbid0IG92ZXJ3cml0ZSBleGlzdGluZyBrZXlzLg0KCQkJLy8gUmV1c2luZyAnaW5kZXgnIGJlY2F1c2Ugd2UgaGF2ZSB0aGUgY29ycmVjdCAibmFtZSINCgkJCWZvciAoIGluZGV4IGluIHZhbHVlICkgew0KCQkJCWlmICggISggaW5kZXggaW4gcHJvcHMgKSApIHsNCgkJCQkJcHJvcHNbIGluZGV4IF0gPSB2YWx1ZVsgaW5kZXggXTsNCgkJCQkJc3BlY2lhbEVhc2luZ1sgaW5kZXggXSA9IGVhc2luZzsNCgkJCQl9DQoJCQl9DQoJCX0gZWxzZSB7DQoJCQlzcGVjaWFsRWFzaW5nWyBuYW1lIF0gPSBlYXNpbmc7DQoJCX0NCgl9DQp9DQoNCmZ1bmN0aW9uIEFuaW1hdGlvbiggZWxlbSwgcHJvcGVydGllcywgb3B0aW9ucyApIHsNCgl2YXIgcmVzdWx0LA0KCQlzdG9wcGVkLA0KCQlpbmRleCA9IDAsDQoJCWxlbmd0aCA9IEFuaW1hdGlvbi5wcmVmaWx0ZXJzLmxlbmd0aCwNCgkJZGVmZXJyZWQgPSBqUXVlcnkuRGVmZXJyZWQoKS5hbHdheXMoIGZ1bmN0aW9uKCkgew0KDQoJCQkvLyBEb24ndCBtYXRjaCBlbGVtIGluIHRoZSA6YW5pbWF0ZWQgc2VsZWN0b3INCgkJCWRlbGV0ZSB0aWNrLmVsZW07DQoJCX0gKSwNCgkJdGljayA9IGZ1bmN0aW9uKCkgew0KCQkJaWYgKCBzdG9wcGVkICkgew0KCQkJCXJldHVybiBmYWxzZTsNCgkJCX0NCgkJCXZhciBjdXJyZW50VGltZSA9IGZ4Tm93IHx8IGNyZWF0ZUZ4Tm93KCksDQoJCQkJcmVtYWluaW5nID0gTWF0aC5tYXgoIDAsIGFuaW1hdGlvbi5zdGFydFRpbWUgKyBhbmltYXRpb24uZHVyYXRpb24gLSBjdXJyZW50VGltZSApLA0KDQoJCQkJLy8gU3VwcG9ydDogQW5kcm9pZCAyLjMgb25seQ0KCQkJCS8vIEFyY2hhaWMgY3Jhc2ggYnVnIHdvbid0IGFsbG93IHVzIHRvIHVzZSBgMSAtICggMC41IHx8IDAgKWAgKCMxMjQ5NykNCgkJCQl0ZW1wID0gcmVtYWluaW5nIC8gYW5pbWF0aW9uLmR1cmF0aW9uIHx8IDAsDQoJCQkJcGVyY2VudCA9IDEgLSB0ZW1wLA0KCQkJCWluZGV4ID0gMCwNCgkJCQlsZW5ndGggPSBhbmltYXRpb24udHdlZW5zLmxlbmd0aDsNCg0KCQkJZm9yICggOyBpbmRleCA8IGxlbmd0aDsgaW5kZXgrKyApIHsNCgkJCQlhbmltYXRpb24udHdlZW5zWyBpbmRleCBdLnJ1biggcGVyY2VudCApOw0KCQkJfQ0KDQoJCQlkZWZlcnJlZC5ub3RpZnlXaXRoKCBlbGVtLCBbIGFuaW1hdGlvbiwgcGVyY2VudCwgcmVtYWluaW5nIF0gKTsNCg0KCQkJLy8gSWYgdGhlcmUncyBtb3JlIHRvIGRvLCB5aWVsZA0KCQkJaWYgKCBwZXJjZW50IDwgMSAmJiBsZW5ndGggKSB7DQoJCQkJcmV0dXJuIHJlbWFpbmluZzsNCgkJCX0NCg0KCQkJLy8gSWYgdGhpcyB3YXMgYW4gZW1wdHkgYW5pbWF0aW9uLCBzeW50aGVzaXplIGEgZmluYWwgcHJvZ3Jlc3Mgbm90aWZpY2F0aW9uDQoJCQlpZiAoICFsZW5ndGggKSB7DQoJCQkJZGVmZXJyZWQubm90aWZ5V2l0aCggZWxlbSwgWyBhbmltYXRpb24sIDEsIDAgXSApOw0KCQkJfQ0KDQoJCQkvLyBSZXNvbHZlIHRoZSBhbmltYXRpb24gYW5kIHJlcG9ydCBpdHMgY29uY2x1c2lvbg0KCQkJZGVmZXJyZWQucmVzb2x2ZVdpdGgoIGVsZW0sIFsgYW5pbWF0aW9uIF0gKTsNCgkJCXJldHVybiBmYWxzZTsNCgkJfSwNCgkJYW5pbWF0aW9uID0gZGVmZXJyZWQucHJvbWlzZSggew0KCQkJZWxlbTogZWxlbSwNCgkJCXByb3BzOiBqUXVlcnkuZXh0ZW5kKCB7fSwgcHJvcGVydGllcyApLA0KCQkJb3B0czogalF1ZXJ5LmV4dGVuZCggdHJ1ZSwgew0KCQkJCXNwZWNpYWxFYXNpbmc6IHt9LA0KCQkJCWVhc2luZzogalF1ZXJ5LmVhc2luZy5fZGVmYXVsdA0KCQkJfSwgb3B0aW9ucyApLA0KCQkJb3JpZ2luYWxQcm9wZXJ0aWVzOiBwcm9wZXJ0aWVzLA0KCQkJb3JpZ2luYWxPcHRpb25zOiBvcHRpb25zLA0KCQkJc3RhcnRUaW1lOiBmeE5vdyB8fCBjcmVhdGVGeE5vdygpLA0KCQkJZHVyYXRpb246IG9wdGlvbnMuZHVyYXRpb24sDQoJCQl0d2VlbnM6IFtdLA0KCQkJY3JlYXRlVHdlZW46IGZ1bmN0aW9uKCBwcm9wLCBlbmQgKSB7DQoJCQkJdmFyIHR3ZWVuID0galF1ZXJ5LlR3ZWVuKCBlbGVtLCBhbmltYXRpb24ub3B0cywgcHJvcCwgZW5kLA0KCQkJCQkJYW5pbWF0aW9uLm9wdHMuc3BlY2lhbEVhc2luZ1sgcHJvcCBdIHx8IGFuaW1hdGlvbi5vcHRzLmVhc2luZyApOw0KCQkJCWFuaW1hdGlvbi50d2VlbnMucHVzaCggdHdlZW4gKTsNCgkJCQlyZXR1cm4gdHdlZW47DQoJCQl9LA0KCQkJc3RvcDogZnVuY3Rpb24oIGdvdG9FbmQgKSB7DQoJCQkJdmFyIGluZGV4ID0gMCwNCg0KCQkJCQkvLyBJZiB3ZSBhcmUgZ29pbmcgdG8gdGhlIGVuZCwgd2Ugd2FudCB0byBydW4gYWxsIHRoZSB0d2VlbnMNCgkJCQkJLy8gb3RoZXJ3aXNlIHdlIHNraXAgdGhpcyBwYXJ0DQoJCQkJCWxlbmd0aCA9IGdvdG9FbmQgPyBhbmltYXRpb24udHdlZW5zLmxlbmd0aCA6IDA7DQoJCQkJaWYgKCBzdG9wcGVkICkgew0KCQkJCQlyZXR1cm4gdGhpczsNCgkJCQl9DQoJCQkJc3RvcHBlZCA9IHRydWU7DQoJCQkJZm9yICggOyBpbmRleCA8IGxlbmd0aDsgaW5kZXgrKyApIHsNCgkJCQkJYW5pbWF0aW9uLnR3ZWVuc1sgaW5kZXggXS5ydW4oIDEgKTsNCgkJCQl9DQoNCgkJCQkvLyBSZXNvbHZlIHdoZW4gd2UgcGxheWVkIHRoZSBsYXN0IGZyYW1lOyBvdGhlcndpc2UsIHJlamVjdA0KCQkJCWlmICggZ290b0VuZCApIHsNCgkJCQkJZGVmZXJyZWQubm90aWZ5V2l0aCggZWxlbSwgWyBhbmltYXRpb24sIDEsIDAgXSApOw0KCQkJCQlkZWZlcnJlZC5yZXNvbHZlV2l0aCggZWxlbSwgWyBhbmltYXRpb24sIGdvdG9FbmQgXSApOw0KCQkJCX0gZWxzZSB7DQoJCQkJCWRlZmVycmVkLnJlamVjdFdpdGgoIGVsZW0sIFsgYW5pbWF0aW9uLCBnb3RvRW5kIF0gKTsNCgkJCQl9DQoJCQkJcmV0dXJuIHRoaXM7DQoJCQl9DQoJCX0gKSwNCgkJcHJvcHMgPSBhbmltYXRpb24ucHJvcHM7DQoNCglwcm9wRmlsdGVyKCBwcm9wcywgYW5pbWF0aW9uLm9wdHMuc3BlY2lhbEVhc2luZyApOw0KDQoJZm9yICggOyBpbmRleCA8IGxlbmd0aDsgaW5kZXgrKyApIHsNCgkJcmVzdWx0ID0gQW5pbWF0aW9uLnByZWZpbHRlcnNbIGluZGV4IF0uY2FsbCggYW5pbWF0aW9uLCBlbGVtLCBwcm9wcywgYW5pbWF0aW9uLm9wdHMgKTsNCgkJaWYgKCByZXN1bHQgKSB7DQoJCQlpZiAoIGlzRnVuY3Rpb24oIHJlc3VsdC5zdG9wICkgKSB7DQoJCQkJalF1ZXJ5Ll9xdWV1ZUhvb2tzKCBhbmltYXRpb24uZWxlbSwgYW5pbWF0aW9uLm9wdHMucXVldWUgKS5zdG9wID0NCgkJCQkJcmVzdWx0LnN0b3AuYmluZCggcmVzdWx0ICk7DQoJCQl9DQoJCQlyZXR1cm4gcmVzdWx0Ow0KCQl9DQoJfQ0KDQoJalF1ZXJ5Lm1hcCggcHJvcHMsIGNyZWF0ZVR3ZWVuLCBhbmltYXRpb24gKTsNCg0KCWlmICggaXNGdW5jdGlvbiggYW5pbWF0aW9uLm9wdHMuc3RhcnQgKSApIHsNCgkJYW5pbWF0aW9uLm9wdHMuc3RhcnQuY2FsbCggZWxlbSwgYW5pbWF0aW9uICk7DQoJfQ0KDQoJLy8gQXR0YWNoIGNhbGxiYWNrcyBmcm9tIG9wdGlvbnMNCglhbmltYXRpb24NCgkJLnByb2dyZXNzKCBhbmltYXRpb24ub3B0cy5wcm9ncmVzcyApDQoJCS5kb25lKCBhbmltYXRpb24ub3B0cy5kb25lLCBhbmltYXRpb24ub3B0cy5jb21wbGV0ZSApDQoJCS5mYWlsKCBhbmltYXRpb24ub3B0cy5mYWlsICkNCgkJLmFsd2F5cyggYW5pbWF0aW9uLm9wdHMuYWx3YXlzICk7DQoNCglqUXVlcnkuZngudGltZXIoDQoJCWpRdWVyeS5leHRlbmQoIHRpY2ssIHsNCgkJCWVsZW06IGVsZW0sDQoJCQlhbmltOiBhbmltYXRpb24sDQoJCQlxdWV1ZTogYW5pbWF0aW9uLm9wdHMucXVldWUNCgkJfSApDQoJKTsNCg0KCXJldHVybiBhbmltYXRpb247DQp9DQoNCmpRdWVyeS5BbmltYXRpb24gPSBqUXVlcnkuZXh0ZW5kKCBBbmltYXRpb24sIHsNCg0KCXR3ZWVuZXJzOiB7DQoJCSIqIjogWyBmdW5jdGlvbiggcHJvcCwgdmFsdWUgKSB7DQoJCQl2YXIgdHdlZW4gPSB0aGlzLmNyZWF0ZVR3ZWVuKCBwcm9wLCB2YWx1ZSApOw0KCQkJYWRqdXN0Q1NTKCB0d2Vlbi5lbGVtLCBwcm9wLCByY3NzTnVtLmV4ZWMoIHZhbHVlICksIHR3ZWVuICk7DQoJCQlyZXR1cm4gdHdlZW47DQoJCX0gXQ0KCX0sDQoNCgl0d2VlbmVyOiBmdW5jdGlvbiggcHJvcHMsIGNhbGxiYWNrICkgew0KCQlpZiAoIGlzRnVuY3Rpb24oIHByb3BzICkgKSB7DQoJCQljYWxsYmFjayA9IHByb3BzOw0KCQkJcHJvcHMgPSBbICIqIiBdOw0KCQl9IGVsc2Ugew0KCQkJcHJvcHMgPSBwcm9wcy5tYXRjaCggcm5vdGh0bWx3aGl0ZSApOw0KCQl9DQoNCgkJdmFyIHByb3AsDQoJCQlpbmRleCA9IDAsDQoJCQlsZW5ndGggPSBwcm9wcy5sZW5ndGg7DQoNCgkJZm9yICggOyBpbmRleCA8IGxlbmd0aDsgaW5kZXgrKyApIHsNCgkJCXByb3AgPSBwcm9wc1sgaW5kZXggXTsNCgkJCUFuaW1hdGlvbi50d2VlbmVyc1sgcHJvcCBdID0gQW5pbWF0aW9uLnR3ZWVuZXJzWyBwcm9wIF0gfHwgW107DQoJCQlBbmltYXRpb24udHdlZW5lcnNbIHByb3AgXS51bnNoaWZ0KCBjYWxsYmFjayApOw0KCQl9DQoJfSwNCg0KCXByZWZpbHRlcnM6IFsgZGVmYXVsdFByZWZpbHRlciBdLA0KDQoJcHJlZmlsdGVyOiBmdW5jdGlvbiggY2FsbGJhY2ssIHByZXBlbmQgKSB7DQoJCWlmICggcHJlcGVuZCApIHsNCgkJCUFuaW1hdGlvbi5wcmVmaWx0ZXJzLnVuc2hpZnQoIGNhbGxiYWNrICk7DQoJCX0gZWxzZSB7DQoJCQlBbmltYXRpb24ucHJlZmlsdGVycy5wdXNoKCBjYWxsYmFjayApOw0KCQl9DQoJfQ0KfSApOw0KDQpqUXVlcnkuc3BlZWQgPSBmdW5jdGlvbiggc3BlZWQsIGVhc2luZywgZm4gKSB7DQoJdmFyIG9wdCA9IHNwZWVkICYmIHR5cGVvZiBzcGVlZCA9PT0gIm9iamVjdCIgPyBqUXVlcnkuZXh0ZW5kKCB7fSwgc3BlZWQgKSA6IHsNCgkJY29tcGxldGU6IGZuIHx8ICFmbiAmJiBlYXNpbmcgfHwNCgkJCWlzRnVuY3Rpb24oIHNwZWVkICkgJiYgc3BlZWQsDQoJCWR1cmF0aW9uOiBzcGVlZCwNCgkJZWFzaW5nOiBmbiAmJiBlYXNpbmcgfHwgZWFzaW5nICYmICFpc0Z1bmN0aW9uKCBlYXNpbmcgKSAmJiBlYXNpbmcNCgl9Ow0KDQoJLy8gR28gdG8gdGhlIGVuZCBzdGF0ZSBpZiBmeCBhcmUgb2ZmDQoJaWYgKCBqUXVlcnkuZngub2ZmICkgew0KCQlvcHQuZHVyYXRpb24gPSAwOw0KDQoJfSBlbHNlIHsNCgkJaWYgKCB0eXBlb2Ygb3B0LmR1cmF0aW9uICE9PSAibnVtYmVyIiApIHsNCgkJCWlmICggb3B0LmR1cmF0aW9uIGluIGpRdWVyeS5meC5zcGVlZHMgKSB7DQoJCQkJb3B0LmR1cmF0aW9uID0galF1ZXJ5LmZ4LnNwZWVkc1sgb3B0LmR1cmF0aW9uIF07DQoNCgkJCX0gZWxzZSB7DQoJCQkJb3B0LmR1cmF0aW9uID0galF1ZXJ5LmZ4LnNwZWVkcy5fZGVmYXVsdDsNCgkJCX0NCgkJfQ0KCX0NCg0KCS8vIE5vcm1hbGl6ZSBvcHQucXVldWUgLSB0cnVlL3VuZGVmaW5lZC9udWxsIC0+ICJmeCINCglpZiAoIG9wdC5xdWV1ZSA9PSBudWxsIHx8IG9wdC5xdWV1ZSA9PT0gdHJ1ZSApIHsNCgkJb3B0LnF1ZXVlID0gImZ4IjsNCgl9DQoNCgkvLyBRdWV1ZWluZw0KCW9wdC5vbGQgPSBvcHQuY29tcGxldGU7DQoNCglvcHQuY29tcGxldGUgPSBmdW5jdGlvbigpIHsNCgkJaWYgKCBpc0Z1bmN0aW9uKCBvcHQub2xkICkgKSB7DQoJCQlvcHQub2xkLmNhbGwoIHRoaXMgKTsNCgkJfQ0KDQoJCWlmICggb3B0LnF1ZXVlICkgew0KCQkJalF1ZXJ5LmRlcXVldWUoIHRoaXMsIG9wdC5xdWV1ZSApOw0KCQl9DQoJfTsNCg0KCXJldHVybiBvcHQ7DQp9Ow0KDQpqUXVlcnkuZm4uZXh0ZW5kKCB7DQoJZmFkZVRvOiBmdW5jdGlvbiggc3BlZWQsIHRvLCBlYXNpbmcsIGNhbGxiYWNrICkgew0KDQoJCS8vIFNob3cgYW55IGhpZGRlbiBlbGVtZW50cyBhZnRlciBzZXR0aW5nIG9wYWNpdHkgdG8gMA0KCQlyZXR1cm4gdGhpcy5maWx0ZXIoIGlzSGlkZGVuV2l0aGluVHJlZSApLmNzcyggIm9wYWNpdHkiLCAwICkuc2hvdygpDQoNCgkJCS8vIEFuaW1hdGUgdG8gdGhlIHZhbHVlIHNwZWNpZmllZA0KCQkJLmVuZCgpLmFuaW1hdGUoIHsgb3BhY2l0eTogdG8gfSwgc3BlZWQsIGVhc2luZywgY2FsbGJhY2sgKTsNCgl9LA0KCWFuaW1hdGU6IGZ1bmN0aW9uKCBwcm9wLCBzcGVlZCwgZWFzaW5nLCBjYWxsYmFjayApIHsNCgkJdmFyIGVtcHR5ID0galF1ZXJ5LmlzRW1wdHlPYmplY3QoIHByb3AgKSwNCgkJCW9wdGFsbCA9IGpRdWVyeS5zcGVlZCggc3BlZWQsIGVhc2luZywgY2FsbGJhY2sgKSwNCgkJCWRvQW5pbWF0aW9uID0gZnVuY3Rpb24oKSB7DQoNCgkJCQkvLyBPcGVyYXRlIG9uIGEgY29weSBvZiBwcm9wIHNvIHBlci1wcm9wZXJ0eSBlYXNpbmcgd29uJ3QgYmUgbG9zdA0KCQkJCXZhciBhbmltID0gQW5pbWF0aW9uKCB0aGlzLCBqUXVlcnkuZXh0ZW5kKCB7fSwgcHJvcCApLCBvcHRhbGwgKTsNCg0KCQkJCS8vIEVtcHR5IGFuaW1hdGlvbnMsIG9yIGZpbmlzaGluZyByZXNvbHZlcyBpbW1lZGlhdGVseQ0KCQkJCWlmICggZW1wdHkgfHwgZGF0YVByaXYuZ2V0KCB0aGlzLCAiZmluaXNoIiApICkgew0KCQkJCQlhbmltLnN0b3AoIHRydWUgKTsNCgkJCQl9DQoJCQl9Ow0KCQkJZG9BbmltYXRpb24uZmluaXNoID0gZG9BbmltYXRpb247DQoNCgkJcmV0dXJuIGVtcHR5IHx8IG9wdGFsbC5xdWV1ZSA9PT0gZmFsc2UgPw0KCQkJdGhpcy5lYWNoKCBkb0FuaW1hdGlvbiApIDoNCgkJCXRoaXMucXVldWUoIG9wdGFsbC5xdWV1ZSwgZG9BbmltYXRpb24gKTsNCgl9LA0KCXN0b3A6IGZ1bmN0aW9uKCB0eXBlLCBjbGVhclF1ZXVlLCBnb3RvRW5kICkgew0KCQl2YXIgc3RvcFF1ZXVlID0gZnVuY3Rpb24oIGhvb2tzICkgew0KCQkJdmFyIHN0b3AgPSBob29rcy5zdG9wOw0KCQkJZGVsZXRlIGhvb2tzLnN0b3A7DQoJCQlzdG9wKCBnb3RvRW5kICk7DQoJCX07DQoNCgkJaWYgKCB0eXBlb2YgdHlwZSAhPT0gInN0cmluZyIgKSB7DQoJCQlnb3RvRW5kID0gY2xlYXJRdWV1ZTsNCgkJCWNsZWFyUXVldWUgPSB0eXBlOw0KCQkJdHlwZSA9IHVuZGVmaW5lZDsNCgkJfQ0KCQlpZiAoIGNsZWFyUXVldWUgJiYgdHlwZSAhPT0gZmFsc2UgKSB7DQoJCQl0aGlzLnF1ZXVlKCB0eXBlIHx8ICJmeCIsIFtdICk7DQoJCX0NCg0KCQlyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCXZhciBkZXF1ZXVlID0gdHJ1ZSwNCgkJCQlpbmRleCA9IHR5cGUgIT0gbnVsbCAmJiB0eXBlICsgInF1ZXVlSG9va3MiLA0KCQkJCXRpbWVycyA9IGpRdWVyeS50aW1lcnMsDQoJCQkJZGF0YSA9IGRhdGFQcml2LmdldCggdGhpcyApOw0KDQoJCQlpZiAoIGluZGV4ICkgew0KCQkJCWlmICggZGF0YVsgaW5kZXggXSAmJiBkYXRhWyBpbmRleCBdLnN0b3AgKSB7DQoJCQkJCXN0b3BRdWV1ZSggZGF0YVsgaW5kZXggXSApOw0KCQkJCX0NCgkJCX0gZWxzZSB7DQoJCQkJZm9yICggaW5kZXggaW4gZGF0YSApIHsNCgkJCQkJaWYgKCBkYXRhWyBpbmRleCBdICYmIGRhdGFbIGluZGV4IF0uc3RvcCAmJiBycnVuLnRlc3QoIGluZGV4ICkgKSB7DQoJCQkJCQlzdG9wUXVldWUoIGRhdGFbIGluZGV4IF0gKTsNCgkJCQkJfQ0KCQkJCX0NCgkJCX0NCg0KCQkJZm9yICggaW5kZXggPSB0aW1lcnMubGVuZ3RoOyBpbmRleC0tOyApIHsNCgkJCQlpZiAoIHRpbWVyc1sgaW5kZXggXS5lbGVtID09PSB0aGlzICYmDQoJCQkJCSggdHlwZSA9PSBudWxsIHx8IHRpbWVyc1sgaW5kZXggXS5xdWV1ZSA9PT0gdHlwZSApICkgew0KDQoJCQkJCXRpbWVyc1sgaW5kZXggXS5hbmltLnN0b3AoIGdvdG9FbmQgKTsNCgkJCQkJZGVxdWV1ZSA9IGZhbHNlOw0KCQkJCQl0aW1lcnMuc3BsaWNlKCBpbmRleCwgMSApOw0KCQkJCX0NCgkJCX0NCg0KCQkJLy8gU3RhcnQgdGhlIG5leHQgaW4gdGhlIHF1ZXVlIGlmIHRoZSBsYXN0IHN0ZXAgd2Fzbid0IGZvcmNlZC4NCgkJCS8vIFRpbWVycyBjdXJyZW50bHkgd2lsbCBjYWxsIHRoZWlyIGNvbXBsZXRlIGNhbGxiYWNrcywgd2hpY2gNCgkJCS8vIHdpbGwgZGVxdWV1ZSBidXQgb25seSBpZiB0aGV5IHdlcmUgZ290b0VuZC4NCgkJCWlmICggZGVxdWV1ZSB8fCAhZ290b0VuZCApIHsNCgkJCQlqUXVlcnkuZGVxdWV1ZSggdGhpcywgdHlwZSApOw0KCQkJfQ0KCQl9ICk7DQoJfSwNCglmaW5pc2g6IGZ1bmN0aW9uKCB0eXBlICkgew0KCQlpZiAoIHR5cGUgIT09IGZhbHNlICkgew0KCQkJdHlwZSA9IHR5cGUgfHwgImZ4IjsNCgkJfQ0KCQlyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCXZhciBpbmRleCwNCgkJCQlkYXRhID0gZGF0YVByaXYuZ2V0KCB0aGlzICksDQoJCQkJcXVldWUgPSBkYXRhWyB0eXBlICsgInF1ZXVlIiBdLA0KCQkJCWhvb2tzID0gZGF0YVsgdHlwZSArICJxdWV1ZUhvb2tzIiBdLA0KCQkJCXRpbWVycyA9IGpRdWVyeS50aW1lcnMsDQoJCQkJbGVuZ3RoID0gcXVldWUgPyBxdWV1ZS5sZW5ndGggOiAwOw0KDQoJCQkvLyBFbmFibGUgZmluaXNoaW5nIGZsYWcgb24gcHJpdmF0ZSBkYXRhDQoJCQlkYXRhLmZpbmlzaCA9IHRydWU7DQoNCgkJCS8vIEVtcHR5IHRoZSBxdWV1ZSBmaXJzdA0KCQkJalF1ZXJ5LnF1ZXVlKCB0aGlzLCB0eXBlLCBbXSApOw0KDQoJCQlpZiAoIGhvb2tzICYmIGhvb2tzLnN0b3AgKSB7DQoJCQkJaG9va3Muc3RvcC5jYWxsKCB0aGlzLCB0cnVlICk7DQoJCQl9DQoNCgkJCS8vIExvb2sgZm9yIGFueSBhY3RpdmUgYW5pbWF0aW9ucywgYW5kIGZpbmlzaCB0aGVtDQoJCQlmb3IgKCBpbmRleCA9IHRpbWVycy5sZW5ndGg7IGluZGV4LS07ICkgew0KCQkJCWlmICggdGltZXJzWyBpbmRleCBdLmVsZW0gPT09IHRoaXMgJiYgdGltZXJzWyBpbmRleCBdLnF1ZXVlID09PSB0eXBlICkgew0KCQkJCQl0aW1lcnNbIGluZGV4IF0uYW5pbS5zdG9wKCB0cnVlICk7DQoJCQkJCXRpbWVycy5zcGxpY2UoIGluZGV4LCAxICk7DQoJCQkJfQ0KCQkJfQ0KDQoJCQkvLyBMb29rIGZvciBhbnkgYW5pbWF0aW9ucyBpbiB0aGUgb2xkIHF1ZXVlIGFuZCBmaW5pc2ggdGhlbQ0KCQkJZm9yICggaW5kZXggPSAwOyBpbmRleCA8IGxlbmd0aDsgaW5kZXgrKyApIHsNCgkJCQlpZiAoIHF1ZXVlWyBpbmRleCBdICYmIHF1ZXVlWyBpbmRleCBdLmZpbmlzaCApIHsNCgkJCQkJcXVldWVbIGluZGV4IF0uZmluaXNoLmNhbGwoIHRoaXMgKTsNCgkJCQl9DQoJCQl9DQoNCgkJCS8vIFR1cm4gb2ZmIGZpbmlzaGluZyBmbGFnDQoJCQlkZWxldGUgZGF0YS5maW5pc2g7DQoJCX0gKTsNCgl9DQp9ICk7DQoNCmpRdWVyeS5lYWNoKCBbICJ0b2dnbGUiLCAic2hvdyIsICJoaWRlIiBdLCBmdW5jdGlvbiggaSwgbmFtZSApIHsNCgl2YXIgY3NzRm4gPSBqUXVlcnkuZm5bIG5hbWUgXTsNCglqUXVlcnkuZm5bIG5hbWUgXSA9IGZ1bmN0aW9uKCBzcGVlZCwgZWFzaW5nLCBjYWxsYmFjayApIHsNCgkJcmV0dXJuIHNwZWVkID09IG51bGwgfHwgdHlwZW9mIHNwZWVkID09PSAiYm9vbGVhbiIgPw0KCQkJY3NzRm4uYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApIDoNCgkJCXRoaXMuYW5pbWF0ZSggZ2VuRngoIG5hbWUsIHRydWUgKSwgc3BlZWQsIGVhc2luZywgY2FsbGJhY2sgKTsNCgl9Ow0KfSApOw0KDQovLyBHZW5lcmF0ZSBzaG9ydGN1dHMgZm9yIGN1c3RvbSBhbmltYXRpb25zDQpqUXVlcnkuZWFjaCggew0KCXNsaWRlRG93bjogZ2VuRngoICJzaG93IiApLA0KCXNsaWRlVXA6IGdlbkZ4KCAiaGlkZSIgKSwNCglzbGlkZVRvZ2dsZTogZ2VuRngoICJ0b2dnbGUiICksDQoJZmFkZUluOiB7IG9wYWNpdHk6ICJzaG93IiB9LA0KCWZhZGVPdXQ6IHsgb3BhY2l0eTogImhpZGUiIH0sDQoJZmFkZVRvZ2dsZTogeyBvcGFjaXR5OiAidG9nZ2xlIiB9DQp9LCBmdW5jdGlvbiggbmFtZSwgcHJvcHMgKSB7DQoJalF1ZXJ5LmZuWyBuYW1lIF0gPSBmdW5jdGlvbiggc3BlZWQsIGVhc2luZywgY2FsbGJhY2sgKSB7DQoJCXJldHVybiB0aGlzLmFuaW1hdGUoIHByb3BzLCBzcGVlZCwgZWFzaW5nLCBjYWxsYmFjayApOw0KCX07DQp9ICk7DQoNCmpRdWVyeS50aW1lcnMgPSBbXTsNCmpRdWVyeS5meC50aWNrID0gZnVuY3Rpb24oKSB7DQoJdmFyIHRpbWVyLA0KCQlpID0gMCwNCgkJdGltZXJzID0galF1ZXJ5LnRpbWVyczsNCg0KCWZ4Tm93ID0gRGF0ZS5ub3coKTsNCg0KCWZvciAoIDsgaSA8IHRpbWVycy5sZW5ndGg7IGkrKyApIHsNCgkJdGltZXIgPSB0aW1lcnNbIGkgXTsNCg0KCQkvLyBSdW4gdGhlIHRpbWVyIGFuZCBzYWZlbHkgcmVtb3ZlIGl0IHdoZW4gZG9uZSAoYWxsb3dpbmcgZm9yIGV4dGVybmFsIHJlbW92YWwpDQoJCWlmICggIXRpbWVyKCkgJiYgdGltZXJzWyBpIF0gPT09IHRpbWVyICkgew0KCQkJdGltZXJzLnNwbGljZSggaS0tLCAxICk7DQoJCX0NCgl9DQoNCglpZiAoICF0aW1lcnMubGVuZ3RoICkgew0KCQlqUXVlcnkuZnguc3RvcCgpOw0KCX0NCglmeE5vdyA9IHVuZGVmaW5lZDsNCn07DQoNCmpRdWVyeS5meC50aW1lciA9IGZ1bmN0aW9uKCB0aW1lciApIHsNCglqUXVlcnkudGltZXJzLnB1c2goIHRpbWVyICk7DQoJalF1ZXJ5LmZ4LnN0YXJ0KCk7DQp9Ow0KDQpqUXVlcnkuZnguaW50ZXJ2YWwgPSAxMzsNCmpRdWVyeS5meC5zdGFydCA9IGZ1bmN0aW9uKCkgew0KCWlmICggaW5Qcm9ncmVzcyApIHsNCgkJcmV0dXJuOw0KCX0NCg0KCWluUHJvZ3Jlc3MgPSB0cnVlOw0KCXNjaGVkdWxlKCk7DQp9Ow0KDQpqUXVlcnkuZnguc3RvcCA9IGZ1bmN0aW9uKCkgew0KCWluUHJvZ3Jlc3MgPSBudWxsOw0KfTsNCg0KalF1ZXJ5LmZ4LnNwZWVkcyA9IHsNCglzbG93OiA2MDAsDQoJZmFzdDogMjAwLA0KDQoJLy8gRGVmYXVsdCBzcGVlZA0KCV9kZWZhdWx0OiA0MDANCn07DQoNCg0KLy8gQmFzZWQgb2ZmIG9mIHRoZSBwbHVnaW4gYnkgQ2xpbnQgSGVsZmVycywgd2l0aCBwZXJtaXNzaW9uLg0KLy8gaHR0cHM6Ly93ZWIuYXJjaGl2ZS5vcmcvd2ViLzIwMTAwMzI0MDE0NzQ3L2h0dHA6Ly9ibGluZHNpZ25hbHMuY29tL2luZGV4LnBocC8yMDA5LzA3L2pxdWVyeS1kZWxheS8NCmpRdWVyeS5mbi5kZWxheSA9IGZ1bmN0aW9uKCB0aW1lLCB0eXBlICkgew0KCXRpbWUgPSBqUXVlcnkuZnggPyBqUXVlcnkuZnguc3BlZWRzWyB0aW1lIF0gfHwgdGltZSA6IHRpbWU7DQoJdHlwZSA9IHR5cGUgfHwgImZ4IjsNCg0KCXJldHVybiB0aGlzLnF1ZXVlKCB0eXBlLCBmdW5jdGlvbiggbmV4dCwgaG9va3MgKSB7DQoJCXZhciB0aW1lb3V0ID0gd2luZG93LnNldFRpbWVvdXQoIG5leHQsIHRpbWUgKTsNCgkJaG9va3Muc3RvcCA9IGZ1bmN0aW9uKCkgew0KCQkJd2luZG93LmNsZWFyVGltZW91dCggdGltZW91dCApOw0KCQl9Ow0KCX0gKTsNCn07DQoNCg0KKCBmdW5jdGlvbigpIHsNCgl2YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCAiaW5wdXQiICksDQoJCXNlbGVjdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoICJzZWxlY3QiICksDQoJCW9wdCA9IHNlbGVjdC5hcHBlbmRDaGlsZCggZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggIm9wdGlvbiIgKSApOw0KDQoJaW5wdXQudHlwZSA9ICJjaGVja2JveCI7DQoNCgkvLyBTdXBwb3J0OiBBbmRyb2lkIDw9NC4zIG9ubHkNCgkvLyBEZWZhdWx0IHZhbHVlIGZvciBhIGNoZWNrYm94IHNob3VsZCBiZSAib24iDQoJc3VwcG9ydC5jaGVja09uID0gaW5wdXQudmFsdWUgIT09ICIiOw0KDQoJLy8gU3VwcG9ydDogSUUgPD0xMSBvbmx5DQoJLy8gTXVzdCBhY2Nlc3Mgc2VsZWN0ZWRJbmRleCB0byBtYWtlIGRlZmF1bHQgb3B0aW9ucyBzZWxlY3QNCglzdXBwb3J0Lm9wdFNlbGVjdGVkID0gb3B0LnNlbGVjdGVkOw0KDQoJLy8gU3VwcG9ydDogSUUgPD0xMSBvbmx5DQoJLy8gQW4gaW5wdXQgbG9zZXMgaXRzIHZhbHVlIGFmdGVyIGJlY29taW5nIGEgcmFkaW8NCglpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoICJpbnB1dCIgKTsNCglpbnB1dC52YWx1ZSA9ICJ0IjsNCglpbnB1dC50eXBlID0gInJhZGlvIjsNCglzdXBwb3J0LnJhZGlvVmFsdWUgPSBpbnB1dC52YWx1ZSA9PT0gInQiOw0KfSApKCk7DQoNCg0KdmFyIGJvb2xIb29rLA0KCWF0dHJIYW5kbGUgPSBqUXVlcnkuZXhwci5hdHRySGFuZGxlOw0KDQpqUXVlcnkuZm4uZXh0ZW5kKCB7DQoJYXR0cjogZnVuY3Rpb24oIG5hbWUsIHZhbHVlICkgew0KCQlyZXR1cm4gYWNjZXNzKCB0aGlzLCBqUXVlcnkuYXR0ciwgbmFtZSwgdmFsdWUsIGFyZ3VtZW50cy5sZW5ndGggPiAxICk7DQoJfSwNCg0KCXJlbW92ZUF0dHI6IGZ1bmN0aW9uKCBuYW1lICkgew0KCQlyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCWpRdWVyeS5yZW1vdmVBdHRyKCB0aGlzLCBuYW1lICk7DQoJCX0gKTsNCgl9DQp9ICk7DQoNCmpRdWVyeS5leHRlbmQoIHsNCglhdHRyOiBmdW5jdGlvbiggZWxlbSwgbmFtZSwgdmFsdWUgKSB7DQoJCXZhciByZXQsIGhvb2tzLA0KCQkJblR5cGUgPSBlbGVtLm5vZGVUeXBlOw0KDQoJCS8vIERvbid0IGdldC9zZXQgYXR0cmlidXRlcyBvbiB0ZXh0LCBjb21tZW50IGFuZCBhdHRyaWJ1dGUgbm9kZXMNCgkJaWYgKCBuVHlwZSA9PT0gMyB8fCBuVHlwZSA9PT0gOCB8fCBuVHlwZSA9PT0gMiApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCS8vIEZhbGxiYWNrIHRvIHByb3Agd2hlbiBhdHRyaWJ1dGVzIGFyZSBub3Qgc3VwcG9ydGVkDQoJCWlmICggdHlwZW9mIGVsZW0uZ2V0QXR0cmlidXRlID09PSAidW5kZWZpbmVkIiApIHsNCgkJCXJldHVybiBqUXVlcnkucHJvcCggZWxlbSwgbmFtZSwgdmFsdWUgKTsNCgkJfQ0KDQoJCS8vIEF0dHJpYnV0ZSBob29rcyBhcmUgZGV0ZXJtaW5lZCBieSB0aGUgbG93ZXJjYXNlIHZlcnNpb24NCgkJLy8gR3JhYiBuZWNlc3NhcnkgaG9vayBpZiBvbmUgaXMgZGVmaW5lZA0KCQlpZiAoIG5UeXBlICE9PSAxIHx8ICFqUXVlcnkuaXNYTUxEb2MoIGVsZW0gKSApIHsNCgkJCWhvb2tzID0galF1ZXJ5LmF0dHJIb29rc1sgbmFtZS50b0xvd2VyQ2FzZSgpIF0gfHwNCgkJCQkoIGpRdWVyeS5leHByLm1hdGNoLmJvb2wudGVzdCggbmFtZSApID8gYm9vbEhvb2sgOiB1bmRlZmluZWQgKTsNCgkJfQ0KDQoJCWlmICggdmFsdWUgIT09IHVuZGVmaW5lZCApIHsNCgkJCWlmICggdmFsdWUgPT09IG51bGwgKSB7DQoJCQkJalF1ZXJ5LnJlbW92ZUF0dHIoIGVsZW0sIG5hbWUgKTsNCgkJCQlyZXR1cm47DQoJCQl9DQoNCgkJCWlmICggaG9va3MgJiYgInNldCIgaW4gaG9va3MgJiYNCgkJCQkoIHJldCA9IGhvb2tzLnNldCggZWxlbSwgdmFsdWUsIG5hbWUgKSApICE9PSB1bmRlZmluZWQgKSB7DQoJCQkJcmV0dXJuIHJldDsNCgkJCX0NCg0KCQkJZWxlbS5zZXRBdHRyaWJ1dGUoIG5hbWUsIHZhbHVlICsgIiIgKTsNCgkJCXJldHVybiB2YWx1ZTsNCgkJfQ0KDQoJCWlmICggaG9va3MgJiYgImdldCIgaW4gaG9va3MgJiYgKCByZXQgPSBob29rcy5nZXQoIGVsZW0sIG5hbWUgKSApICE9PSBudWxsICkgew0KCQkJcmV0dXJuIHJldDsNCgkJfQ0KDQoJCXJldCA9IGpRdWVyeS5maW5kLmF0dHIoIGVsZW0sIG5hbWUgKTsNCg0KCQkvLyBOb24tZXhpc3RlbnQgYXR0cmlidXRlcyByZXR1cm4gbnVsbCwgd2Ugbm9ybWFsaXplIHRvIHVuZGVmaW5lZA0KCQlyZXR1cm4gcmV0ID09IG51bGwgPyB1bmRlZmluZWQgOiByZXQ7DQoJfSwNCg0KCWF0dHJIb29rczogew0KCQl0eXBlOiB7DQoJCQlzZXQ6IGZ1bmN0aW9uKCBlbGVtLCB2YWx1ZSApIHsNCgkJCQlpZiAoICFzdXBwb3J0LnJhZGlvVmFsdWUgJiYgdmFsdWUgPT09ICJyYWRpbyIgJiYNCgkJCQkJbm9kZU5hbWUoIGVsZW0sICJpbnB1dCIgKSApIHsNCgkJCQkJdmFyIHZhbCA9IGVsZW0udmFsdWU7DQoJCQkJCWVsZW0uc2V0QXR0cmlidXRlKCAidHlwZSIsIHZhbHVlICk7DQoJCQkJCWlmICggdmFsICkgew0KCQkJCQkJZWxlbS52YWx1ZSA9IHZhbDsNCgkJCQkJfQ0KCQkJCQlyZXR1cm4gdmFsdWU7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJfSwNCg0KCXJlbW92ZUF0dHI6IGZ1bmN0aW9uKCBlbGVtLCB2YWx1ZSApIHsNCgkJdmFyIG5hbWUsDQoJCQlpID0gMCwNCg0KCQkJLy8gQXR0cmlidXRlIG5hbWVzIGNhbiBjb250YWluIG5vbi1IVE1MIHdoaXRlc3BhY2UgY2hhcmFjdGVycw0KCQkJLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjYXR0cmlidXRlcy0yDQoJCQlhdHRyTmFtZXMgPSB2YWx1ZSAmJiB2YWx1ZS5tYXRjaCggcm5vdGh0bWx3aGl0ZSApOw0KDQoJCWlmICggYXR0ck5hbWVzICYmIGVsZW0ubm9kZVR5cGUgPT09IDEgKSB7DQoJCQl3aGlsZSAoICggbmFtZSA9IGF0dHJOYW1lc1sgaSsrIF0gKSApIHsNCgkJCQllbGVtLnJlbW92ZUF0dHJpYnV0ZSggbmFtZSApOw0KCQkJfQ0KCQl9DQoJfQ0KfSApOw0KDQovLyBIb29rcyBmb3IgYm9vbGVhbiBhdHRyaWJ1dGVzDQpib29sSG9vayA9IHsNCglzZXQ6IGZ1bmN0aW9uKCBlbGVtLCB2YWx1ZSwgbmFtZSApIHsNCgkJaWYgKCB2YWx1ZSA9PT0gZmFsc2UgKSB7DQoNCgkJCS8vIFJlbW92ZSBib29sZWFuIGF0dHJpYnV0ZXMgd2hlbiBzZXQgdG8gZmFsc2UNCgkJCWpRdWVyeS5yZW1vdmVBdHRyKCBlbGVtLCBuYW1lICk7DQoJCX0gZWxzZSB7DQoJCQllbGVtLnNldEF0dHJpYnV0ZSggbmFtZSwgbmFtZSApOw0KCQl9DQoJCXJldHVybiBuYW1lOw0KCX0NCn07DQoNCmpRdWVyeS5lYWNoKCBqUXVlcnkuZXhwci5tYXRjaC5ib29sLnNvdXJjZS5tYXRjaCggL1x3Ky9nICksIGZ1bmN0aW9uKCBpLCBuYW1lICkgew0KCXZhciBnZXR0ZXIgPSBhdHRySGFuZGxlWyBuYW1lIF0gfHwgalF1ZXJ5LmZpbmQuYXR0cjsNCg0KCWF0dHJIYW5kbGVbIG5hbWUgXSA9IGZ1bmN0aW9uKCBlbGVtLCBuYW1lLCBpc1hNTCApIHsNCgkJdmFyIHJldCwgaGFuZGxlLA0KCQkJbG93ZXJjYXNlTmFtZSA9IG5hbWUudG9Mb3dlckNhc2UoKTsNCg0KCQlpZiAoICFpc1hNTCApIHsNCg0KCQkJLy8gQXZvaWQgYW4gaW5maW5pdGUgbG9vcCBieSB0ZW1wb3JhcmlseSByZW1vdmluZyB0aGlzIGZ1bmN0aW9uIGZyb20gdGhlIGdldHRlcg0KCQkJaGFuZGxlID0gYXR0ckhhbmRsZVsgbG93ZXJjYXNlTmFtZSBdOw0KCQkJYXR0ckhhbmRsZVsgbG93ZXJjYXNlTmFtZSBdID0gcmV0Ow0KCQkJcmV0ID0gZ2V0dGVyKCBlbGVtLCBuYW1lLCBpc1hNTCApICE9IG51bGwgPw0KCQkJCWxvd2VyY2FzZU5hbWUgOg0KCQkJCW51bGw7DQoJCQlhdHRySGFuZGxlWyBsb3dlcmNhc2VOYW1lIF0gPSBoYW5kbGU7DQoJCX0NCgkJcmV0dXJuIHJldDsNCgl9Ow0KfSApOw0KDQoNCg0KDQp2YXIgcmZvY3VzYWJsZSA9IC9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGJ1dHRvbikkL2ksDQoJcmNsaWNrYWJsZSA9IC9eKD86YXxhcmVhKSQvaTsNCg0KalF1ZXJ5LmZuLmV4dGVuZCggew0KCXByb3A6IGZ1bmN0aW9uKCBuYW1lLCB2YWx1ZSApIHsNCgkJcmV0dXJuIGFjY2VzcyggdGhpcywgalF1ZXJ5LnByb3AsIG5hbWUsIHZhbHVlLCBhcmd1bWVudHMubGVuZ3RoID4gMSApOw0KCX0sDQoNCglyZW1vdmVQcm9wOiBmdW5jdGlvbiggbmFtZSApIHsNCgkJcmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQlkZWxldGUgdGhpc1sgalF1ZXJ5LnByb3BGaXhbIG5hbWUgXSB8fCBuYW1lIF07DQoJCX0gKTsNCgl9DQp9ICk7DQoNCmpRdWVyeS5leHRlbmQoIHsNCglwcm9wOiBmdW5jdGlvbiggZWxlbSwgbmFtZSwgdmFsdWUgKSB7DQoJCXZhciByZXQsIGhvb2tzLA0KCQkJblR5cGUgPSBlbGVtLm5vZGVUeXBlOw0KDQoJCS8vIERvbid0IGdldC9zZXQgcHJvcGVydGllcyBvbiB0ZXh0LCBjb21tZW50IGFuZCBhdHRyaWJ1dGUgbm9kZXMNCgkJaWYgKCBuVHlwZSA9PT0gMyB8fCBuVHlwZSA9PT0gOCB8fCBuVHlwZSA9PT0gMiApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCWlmICggblR5cGUgIT09IDEgfHwgIWpRdWVyeS5pc1hNTERvYyggZWxlbSApICkgew0KDQoJCQkvLyBGaXggbmFtZSBhbmQgYXR0YWNoIGhvb2tzDQoJCQluYW1lID0galF1ZXJ5LnByb3BGaXhbIG5hbWUgXSB8fCBuYW1lOw0KCQkJaG9va3MgPSBqUXVlcnkucHJvcEhvb2tzWyBuYW1lIF07DQoJCX0NCg0KCQlpZiAoIHZhbHVlICE9PSB1bmRlZmluZWQgKSB7DQoJCQlpZiAoIGhvb2tzICYmICJzZXQiIGluIGhvb2tzICYmDQoJCQkJKCByZXQgPSBob29rcy5zZXQoIGVsZW0sIHZhbHVlLCBuYW1lICkgKSAhPT0gdW5kZWZpbmVkICkgew0KCQkJCXJldHVybiByZXQ7DQoJCQl9DQoNCgkJCXJldHVybiAoIGVsZW1bIG5hbWUgXSA9IHZhbHVlICk7DQoJCX0NCg0KCQlpZiAoIGhvb2tzICYmICJnZXQiIGluIGhvb2tzICYmICggcmV0ID0gaG9va3MuZ2V0KCBlbGVtLCBuYW1lICkgKSAhPT0gbnVsbCApIHsNCgkJCXJldHVybiByZXQ7DQoJCX0NCg0KCQlyZXR1cm4gZWxlbVsgbmFtZSBdOw0KCX0sDQoNCglwcm9wSG9va3M6IHsNCgkJdGFiSW5kZXg6IHsNCgkJCWdldDogZnVuY3Rpb24oIGVsZW0gKSB7DQoNCgkJCQkvLyBTdXBwb3J0OiBJRSA8PTkgLSAxMSBvbmx5DQoJCQkJLy8gZWxlbS50YWJJbmRleCBkb2Vzbid0IGFsd2F5cyByZXR1cm4gdGhlDQoJCQkJLy8gY29ycmVjdCB2YWx1ZSB3aGVuIGl0IGhhc24ndCBiZWVuIGV4cGxpY2l0bHkgc2V0DQoJCQkJLy8gaHR0cHM6Ly93ZWIuYXJjaGl2ZS5vcmcvd2ViLzIwMTQxMTE2MjMzMzQ3L2h0dHA6Ly9mbHVpZHByb2plY3Qub3JnL2Jsb2cvMjAwOC8wMS8wOS9nZXR0aW5nLXNldHRpbmctYW5kLXJlbW92aW5nLXRhYmluZGV4LXZhbHVlcy13aXRoLWphdmFzY3JpcHQvDQoJCQkJLy8gVXNlIHByb3BlciBhdHRyaWJ1dGUgcmV0cmlldmFsKCMxMjA3MikNCgkJCQl2YXIgdGFiaW5kZXggPSBqUXVlcnkuZmluZC5hdHRyKCBlbGVtLCAidGFiaW5kZXgiICk7DQoNCgkJCQlpZiAoIHRhYmluZGV4ICkgew0KCQkJCQlyZXR1cm4gcGFyc2VJbnQoIHRhYmluZGV4LCAxMCApOw0KCQkJCX0NCg0KCQkJCWlmICgNCgkJCQkJcmZvY3VzYWJsZS50ZXN0KCBlbGVtLm5vZGVOYW1lICkgfHwNCgkJCQkJcmNsaWNrYWJsZS50ZXN0KCBlbGVtLm5vZGVOYW1lICkgJiYNCgkJCQkJZWxlbS5ocmVmDQoJCQkJKSB7DQoJCQkJCXJldHVybiAwOw0KCQkJCX0NCg0KCQkJCXJldHVybiAtMTsNCgkJCX0NCgkJfQ0KCX0sDQoNCglwcm9wRml4OiB7DQoJCSJmb3IiOiAiaHRtbEZvciIsDQoJCSJjbGFzcyI6ICJjbGFzc05hbWUiDQoJfQ0KfSApOw0KDQovLyBTdXBwb3J0OiBJRSA8PTExIG9ubHkNCi8vIEFjY2Vzc2luZyB0aGUgc2VsZWN0ZWRJbmRleCBwcm9wZXJ0eQ0KLy8gZm9yY2VzIHRoZSBicm93c2VyIHRvIHJlc3BlY3Qgc2V0dGluZyBzZWxlY3RlZA0KLy8gb24gdGhlIG9wdGlvbg0KLy8gVGhlIGdldHRlciBlbnN1cmVzIGEgZGVmYXVsdCBvcHRpb24gaXMgc2VsZWN0ZWQNCi8vIHdoZW4gaW4gYW4gb3B0Z3JvdXANCi8vIGVzbGludCBydWxlICJuby11bnVzZWQtZXhwcmVzc2lvbnMiIGlzIGRpc2FibGVkIGZvciB0aGlzIGNvZGUNCi8vIHNpbmNlIGl0IGNvbnNpZGVycyBzdWNoIGFjY2Vzc2lvbnMgbm9vcA0KaWYgKCAhc3VwcG9ydC5vcHRTZWxlY3RlZCApIHsNCglqUXVlcnkucHJvcEhvb2tzLnNlbGVjdGVkID0gew0KCQlnZXQ6IGZ1bmN0aW9uKCBlbGVtICkgew0KDQoJCQkvKiBlc2xpbnQgbm8tdW51c2VkLWV4cHJlc3Npb25zOiAib2ZmIiAqLw0KDQoJCQl2YXIgcGFyZW50ID0gZWxlbS5wYXJlbnROb2RlOw0KCQkJaWYgKCBwYXJlbnQgJiYgcGFyZW50LnBhcmVudE5vZGUgKSB7DQoJCQkJcGFyZW50LnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleDsNCgkJCX0NCgkJCXJldHVybiBudWxsOw0KCQl9LA0KCQlzZXQ6IGZ1bmN0aW9uKCBlbGVtICkgew0KDQoJCQkvKiBlc2xpbnQgbm8tdW51c2VkLWV4cHJlc3Npb25zOiAib2ZmIiAqLw0KDQoJCQl2YXIgcGFyZW50ID0gZWxlbS5wYXJlbnROb2RlOw0KCQkJaWYgKCBwYXJlbnQgKSB7DQoJCQkJcGFyZW50LnNlbGVjdGVkSW5kZXg7DQoNCgkJCQlpZiAoIHBhcmVudC5wYXJlbnROb2RlICkgew0KCQkJCQlwYXJlbnQucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4Ow0KCQkJCX0NCgkJCX0NCgkJfQ0KCX07DQp9DQoNCmpRdWVyeS5lYWNoKCBbDQoJInRhYkluZGV4IiwNCgkicmVhZE9ubHkiLA0KCSJtYXhMZW5ndGgiLA0KCSJjZWxsU3BhY2luZyIsDQoJImNlbGxQYWRkaW5nIiwNCgkicm93U3BhbiIsDQoJImNvbFNwYW4iLA0KCSJ1c2VNYXAiLA0KCSJmcmFtZUJvcmRlciIsDQoJImNvbnRlbnRFZGl0YWJsZSINCl0sIGZ1bmN0aW9uKCkgew0KCWpRdWVyeS5wcm9wRml4WyB0aGlzLnRvTG93ZXJDYXNlKCkgXSA9IHRoaXM7DQp9ICk7DQoNCg0KDQoNCgkvLyBTdHJpcCBhbmQgY29sbGFwc2Ugd2hpdGVzcGFjZSBhY2NvcmRpbmcgdG8gSFRNTCBzcGVjDQoJLy8gaHR0cHM6Ly9pbmZyYS5zcGVjLndoYXR3Zy5vcmcvI3N0cmlwLWFuZC1jb2xsYXBzZS1hc2NpaS13aGl0ZXNwYWNlDQoJZnVuY3Rpb24gc3RyaXBBbmRDb2xsYXBzZSggdmFsdWUgKSB7DQoJCXZhciB0b2tlbnMgPSB2YWx1ZS5tYXRjaCggcm5vdGh0bWx3aGl0ZSApIHx8IFtdOw0KCQlyZXR1cm4gdG9rZW5zLmpvaW4oICIgIiApOw0KCX0NCg0KDQpmdW5jdGlvbiBnZXRDbGFzcyggZWxlbSApIHsNCglyZXR1cm4gZWxlbS5nZXRBdHRyaWJ1dGUgJiYgZWxlbS5nZXRBdHRyaWJ1dGUoICJjbGFzcyIgKSB8fCAiIjsNCn0NCg0KZnVuY3Rpb24gY2xhc3Nlc1RvQXJyYXkoIHZhbHVlICkgew0KCWlmICggQXJyYXkuaXNBcnJheSggdmFsdWUgKSApIHsNCgkJcmV0dXJuIHZhbHVlOw0KCX0NCglpZiAoIHR5cGVvZiB2YWx1ZSA9PT0gInN0cmluZyIgKSB7DQoJCXJldHVybiB2YWx1ZS5tYXRjaCggcm5vdGh0bWx3aGl0ZSApIHx8IFtdOw0KCX0NCglyZXR1cm4gW107DQp9DQoNCmpRdWVyeS5mbi5leHRlbmQoIHsNCglhZGRDbGFzczogZnVuY3Rpb24oIHZhbHVlICkgew0KCQl2YXIgY2xhc3NlcywgZWxlbSwgY3VyLCBjdXJWYWx1ZSwgY2xhenosIGosIGZpbmFsVmFsdWUsDQoJCQlpID0gMDsNCg0KCQlpZiAoIGlzRnVuY3Rpb24oIHZhbHVlICkgKSB7DQoJCQlyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbiggaiApIHsNCgkJCQlqUXVlcnkoIHRoaXMgKS5hZGRDbGFzcyggdmFsdWUuY2FsbCggdGhpcywgaiwgZ2V0Q2xhc3MoIHRoaXMgKSApICk7DQoJCQl9ICk7DQoJCX0NCg0KCQljbGFzc2VzID0gY2xhc3Nlc1RvQXJyYXkoIHZhbHVlICk7DQoNCgkJaWYgKCBjbGFzc2VzLmxlbmd0aCApIHsNCgkJCXdoaWxlICggKCBlbGVtID0gdGhpc1sgaSsrIF0gKSApIHsNCgkJCQljdXJWYWx1ZSA9IGdldENsYXNzKCBlbGVtICk7DQoJCQkJY3VyID0gZWxlbS5ub2RlVHlwZSA9PT0gMSAmJiAoICIgIiArIHN0cmlwQW5kQ29sbGFwc2UoIGN1clZhbHVlICkgKyAiICIgKTsNCg0KCQkJCWlmICggY3VyICkgew0KCQkJCQlqID0gMDsNCgkJCQkJd2hpbGUgKCAoIGNsYXp6ID0gY2xhc3Nlc1sgaisrIF0gKSApIHsNCgkJCQkJCWlmICggY3VyLmluZGV4T2YoICIgIiArIGNsYXp6ICsgIiAiICkgPCAwICkgew0KCQkJCQkJCWN1ciArPSBjbGF6eiArICIgIjsNCgkJCQkJCX0NCgkJCQkJfQ0KDQoJCQkJCS8vIE9ubHkgYXNzaWduIGlmIGRpZmZlcmVudCB0byBhdm9pZCB1bm5lZWRlZCByZW5kZXJpbmcuDQoJCQkJCWZpbmFsVmFsdWUgPSBzdHJpcEFuZENvbGxhcHNlKCBjdXIgKTsNCgkJCQkJaWYgKCBjdXJWYWx1ZSAhPT0gZmluYWxWYWx1ZSApIHsNCgkJCQkJCWVsZW0uc2V0QXR0cmlidXRlKCAiY2xhc3MiLCBmaW5hbFZhbHVlICk7DQoJCQkJCX0NCgkJCQl9DQoJCQl9DQoJCX0NCg0KCQlyZXR1cm4gdGhpczsNCgl9LA0KDQoJcmVtb3ZlQ2xhc3M6IGZ1bmN0aW9uKCB2YWx1ZSApIHsNCgkJdmFyIGNsYXNzZXMsIGVsZW0sIGN1ciwgY3VyVmFsdWUsIGNsYXp6LCBqLCBmaW5hbFZhbHVlLA0KCQkJaSA9IDA7DQoNCgkJaWYgKCBpc0Z1bmN0aW9uKCB2YWx1ZSApICkgew0KCQkJcmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oIGogKSB7DQoJCQkJalF1ZXJ5KCB0aGlzICkucmVtb3ZlQ2xhc3MoIHZhbHVlLmNhbGwoIHRoaXMsIGosIGdldENsYXNzKCB0aGlzICkgKSApOw0KCQkJfSApOw0KCQl9DQoNCgkJaWYgKCAhYXJndW1lbnRzLmxlbmd0aCApIHsNCgkJCXJldHVybiB0aGlzLmF0dHIoICJjbGFzcyIsICIiICk7DQoJCX0NCg0KCQljbGFzc2VzID0gY2xhc3Nlc1RvQXJyYXkoIHZhbHVlICk7DQoNCgkJaWYgKCBjbGFzc2VzLmxlbmd0aCApIHsNCgkJCXdoaWxlICggKCBlbGVtID0gdGhpc1sgaSsrIF0gKSApIHsNCgkJCQljdXJWYWx1ZSA9IGdldENsYXNzKCBlbGVtICk7DQoNCgkJCQkvLyBUaGlzIGV4cHJlc3Npb24gaXMgaGVyZSBmb3IgYmV0dGVyIGNvbXByZXNzaWJpbGl0eSAoc2VlIGFkZENsYXNzKQ0KCQkJCWN1ciA9IGVsZW0ubm9kZVR5cGUgPT09IDEgJiYgKCAiICIgKyBzdHJpcEFuZENvbGxhcHNlKCBjdXJWYWx1ZSApICsgIiAiICk7DQoNCgkJCQlpZiAoIGN1ciApIHsNCgkJCQkJaiA9IDA7DQoJCQkJCXdoaWxlICggKCBjbGF6eiA9IGNsYXNzZXNbIGorKyBdICkgKSB7DQoNCgkJCQkJCS8vIFJlbW92ZSAqYWxsKiBpbnN0YW5jZXMNCgkJCQkJCXdoaWxlICggY3VyLmluZGV4T2YoICIgIiArIGNsYXp6ICsgIiAiICkgPiAtMSApIHsNCgkJCQkJCQljdXIgPSBjdXIucmVwbGFjZSggIiAiICsgY2xhenogKyAiICIsICIgIiApOw0KCQkJCQkJfQ0KCQkJCQl9DQoNCgkJCQkJLy8gT25seSBhc3NpZ24gaWYgZGlmZmVyZW50IHRvIGF2b2lkIHVubmVlZGVkIHJlbmRlcmluZy4NCgkJCQkJZmluYWxWYWx1ZSA9IHN0cmlwQW5kQ29sbGFwc2UoIGN1ciApOw0KCQkJCQlpZiAoIGN1clZhbHVlICE9PSBmaW5hbFZhbHVlICkgew0KCQkJCQkJZWxlbS5zZXRBdHRyaWJ1dGUoICJjbGFzcyIsIGZpbmFsVmFsdWUgKTsNCgkJCQkJfQ0KCQkJCX0NCgkJCX0NCgkJfQ0KDQoJCXJldHVybiB0aGlzOw0KCX0sDQoNCgl0b2dnbGVDbGFzczogZnVuY3Rpb24oIHZhbHVlLCBzdGF0ZVZhbCApIHsNCgkJdmFyIHR5cGUgPSB0eXBlb2YgdmFsdWUsDQoJCQlpc1ZhbGlkVmFsdWUgPSB0eXBlID09PSAic3RyaW5nIiB8fCBBcnJheS5pc0FycmF5KCB2YWx1ZSApOw0KDQoJCWlmICggdHlwZW9mIHN0YXRlVmFsID09PSAiYm9vbGVhbiIgJiYgaXNWYWxpZFZhbHVlICkgew0KCQkJcmV0dXJuIHN0YXRlVmFsID8gdGhpcy5hZGRDbGFzcyggdmFsdWUgKSA6IHRoaXMucmVtb3ZlQ2xhc3MoIHZhbHVlICk7DQoJCX0NCg0KCQlpZiAoIGlzRnVuY3Rpb24oIHZhbHVlICkgKSB7DQoJCQlyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbiggaSApIHsNCgkJCQlqUXVlcnkoIHRoaXMgKS50b2dnbGVDbGFzcygNCgkJCQkJdmFsdWUuY2FsbCggdGhpcywgaSwgZ2V0Q2xhc3MoIHRoaXMgKSwgc3RhdGVWYWwgKSwNCgkJCQkJc3RhdGVWYWwNCgkJCQkpOw0KCQkJfSApOw0KCQl9DQoNCgkJcmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQl2YXIgY2xhc3NOYW1lLCBpLCBzZWxmLCBjbGFzc05hbWVzOw0KDQoJCQlpZiAoIGlzVmFsaWRWYWx1ZSApIHsNCg0KCQkJCS8vIFRvZ2dsZSBpbmRpdmlkdWFsIGNsYXNzIG5hbWVzDQoJCQkJaSA9IDA7DQoJCQkJc2VsZiA9IGpRdWVyeSggdGhpcyApOw0KCQkJCWNsYXNzTmFtZXMgPSBjbGFzc2VzVG9BcnJheSggdmFsdWUgKTsNCg0KCQkJCXdoaWxlICggKCBjbGFzc05hbWUgPSBjbGFzc05hbWVzWyBpKysgXSApICkgew0KDQoJCQkJCS8vIENoZWNrIGVhY2ggY2xhc3NOYW1lIGdpdmVuLCBzcGFjZSBzZXBhcmF0ZWQgbGlzdA0KCQkJCQlpZiAoIHNlbGYuaGFzQ2xhc3MoIGNsYXNzTmFtZSApICkgew0KCQkJCQkJc2VsZi5yZW1vdmVDbGFzcyggY2xhc3NOYW1lICk7DQoJCQkJCX0gZWxzZSB7DQoJCQkJCQlzZWxmLmFkZENsYXNzKCBjbGFzc05hbWUgKTsNCgkJCQkJfQ0KCQkJCX0NCg0KCQkJLy8gVG9nZ2xlIHdob2xlIGNsYXNzIG5hbWUNCgkJCX0gZWxzZSBpZiAoIHZhbHVlID09PSB1bmRlZmluZWQgfHwgdHlwZSA9PT0gImJvb2xlYW4iICkgew0KCQkJCWNsYXNzTmFtZSA9IGdldENsYXNzKCB0aGlzICk7DQoJCQkJaWYgKCBjbGFzc05hbWUgKSB7DQoNCgkJCQkJLy8gU3RvcmUgY2xhc3NOYW1lIGlmIHNldA0KCQkJCQlkYXRhUHJpdi5zZXQoIHRoaXMsICJfX2NsYXNzTmFtZV9fIiwgY2xhc3NOYW1lICk7DQoJCQkJfQ0KDQoJCQkJLy8gSWYgdGhlIGVsZW1lbnQgaGFzIGEgY2xhc3MgbmFtZSBvciBpZiB3ZSdyZSBwYXNzZWQgYGZhbHNlYCwNCgkJCQkvLyB0aGVuIHJlbW92ZSB0aGUgd2hvbGUgY2xhc3NuYW1lIChpZiB0aGVyZSB3YXMgb25lLCB0aGUgYWJvdmUgc2F2ZWQgaXQpLg0KCQkJCS8vIE90aGVyd2lzZSBicmluZyBiYWNrIHdoYXRldmVyIHdhcyBwcmV2aW91c2x5IHNhdmVkIChpZiBhbnl0aGluZyksDQoJCQkJLy8gZmFsbGluZyBiYWNrIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgbm90aGluZyB3YXMgc3RvcmVkLg0KCQkJCWlmICggdGhpcy5zZXRBdHRyaWJ1dGUgKSB7DQoJCQkJCXRoaXMuc2V0QXR0cmlidXRlKCAiY2xhc3MiLA0KCQkJCQkJY2xhc3NOYW1lIHx8IHZhbHVlID09PSBmYWxzZSA/DQoJCQkJCQkiIiA6DQoJCQkJCQlkYXRhUHJpdi5nZXQoIHRoaXMsICJfX2NsYXNzTmFtZV9fIiApIHx8ICIiDQoJCQkJCSk7DQoJCQkJfQ0KCQkJfQ0KCQl9ICk7DQoJfSwNCg0KCWhhc0NsYXNzOiBmdW5jdGlvbiggc2VsZWN0b3IgKSB7DQoJCXZhciBjbGFzc05hbWUsIGVsZW0sDQoJCQlpID0gMDsNCg0KCQljbGFzc05hbWUgPSAiICIgKyBzZWxlY3RvciArICIgIjsNCgkJd2hpbGUgKCAoIGVsZW0gPSB0aGlzWyBpKysgXSApICkgew0KCQkJaWYgKCBlbGVtLm5vZGVUeXBlID09PSAxICYmDQoJCQkJKCAiICIgKyBzdHJpcEFuZENvbGxhcHNlKCBnZXRDbGFzcyggZWxlbSApICkgKyAiICIgKS5pbmRleE9mKCBjbGFzc05hbWUgKSA+IC0xICkgew0KCQkJCQlyZXR1cm4gdHJ1ZTsNCgkJCX0NCgkJfQ0KDQoJCXJldHVybiBmYWxzZTsNCgl9DQp9ICk7DQoNCg0KDQoNCnZhciBycmV0dXJuID0gL1xyL2c7DQoNCmpRdWVyeS5mbi5leHRlbmQoIHsNCgl2YWw6IGZ1bmN0aW9uKCB2YWx1ZSApIHsNCgkJdmFyIGhvb2tzLCByZXQsIHZhbHVlSXNGdW5jdGlvbiwNCgkJCWVsZW0gPSB0aGlzWyAwIF07DQoNCgkJaWYgKCAhYXJndW1lbnRzLmxlbmd0aCApIHsNCgkJCWlmICggZWxlbSApIHsNCgkJCQlob29rcyA9IGpRdWVyeS52YWxIb29rc1sgZWxlbS50eXBlIF0gfHwNCgkJCQkJalF1ZXJ5LnZhbEhvb2tzWyBlbGVtLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgXTsNCg0KCQkJCWlmICggaG9va3MgJiYNCgkJCQkJImdldCIgaW4gaG9va3MgJiYNCgkJCQkJKCByZXQgPSBob29rcy5nZXQoIGVsZW0sICJ2YWx1ZSIgKSApICE9PSB1bmRlZmluZWQNCgkJCQkpIHsNCgkJCQkJcmV0dXJuIHJldDsNCgkJCQl9DQoNCgkJCQlyZXQgPSBlbGVtLnZhbHVlOw0KDQoJCQkJLy8gSGFuZGxlIG1vc3QgY29tbW9uIHN0cmluZyBjYXNlcw0KCQkJCWlmICggdHlwZW9mIHJldCA9PT0gInN0cmluZyIgKSB7DQoJCQkJCXJldHVybiByZXQucmVwbGFjZSggcnJldHVybiwgIiIgKTsNCgkJCQl9DQoNCgkJCQkvLyBIYW5kbGUgY2FzZXMgd2hlcmUgdmFsdWUgaXMgbnVsbC91bmRlZiBvciBudW1iZXINCgkJCQlyZXR1cm4gcmV0ID09IG51bGwgPyAiIiA6IHJldDsNCgkJCX0NCg0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJdmFsdWVJc0Z1bmN0aW9uID0gaXNGdW5jdGlvbiggdmFsdWUgKTsNCg0KCQlyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbiggaSApIHsNCgkJCXZhciB2YWw7DQoNCgkJCWlmICggdGhpcy5ub2RlVHlwZSAhPT0gMSApIHsNCgkJCQlyZXR1cm47DQoJCQl9DQoNCgkJCWlmICggdmFsdWVJc0Z1bmN0aW9uICkgew0KCQkJCXZhbCA9IHZhbHVlLmNhbGwoIHRoaXMsIGksIGpRdWVyeSggdGhpcyApLnZhbCgpICk7DQoJCQl9IGVsc2Ugew0KCQkJCXZhbCA9IHZhbHVlOw0KCQkJfQ0KDQoJCQkvLyBUcmVhdCBudWxsL3VuZGVmaW5lZCBhcyAiIjsgY29udmVydCBudW1iZXJzIHRvIHN0cmluZw0KCQkJaWYgKCB2YWwgPT0gbnVsbCApIHsNCgkJCQl2YWwgPSAiIjsNCg0KCQkJfSBlbHNlIGlmICggdHlwZW9mIHZhbCA9PT0gIm51bWJlciIgKSB7DQoJCQkJdmFsICs9ICIiOw0KDQoJCQl9IGVsc2UgaWYgKCBBcnJheS5pc0FycmF5KCB2YWwgKSApIHsNCgkJCQl2YWwgPSBqUXVlcnkubWFwKCB2YWwsIGZ1bmN0aW9uKCB2YWx1ZSApIHsNCgkJCQkJcmV0dXJuIHZhbHVlID09IG51bGwgPyAiIiA6IHZhbHVlICsgIiI7DQoJCQkJfSApOw0KCQkJfQ0KDQoJCQlob29rcyA9IGpRdWVyeS52YWxIb29rc1sgdGhpcy50eXBlIF0gfHwgalF1ZXJ5LnZhbEhvb2tzWyB0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgXTsNCg0KCQkJLy8gSWYgc2V0IHJldHVybnMgdW5kZWZpbmVkLCBmYWxsIGJhY2sgdG8gbm9ybWFsIHNldHRpbmcNCgkJCWlmICggIWhvb2tzIHx8ICEoICJzZXQiIGluIGhvb2tzICkgfHwgaG9va3Muc2V0KCB0aGlzLCB2YWwsICJ2YWx1ZSIgKSA9PT0gdW5kZWZpbmVkICkgew0KCQkJCXRoaXMudmFsdWUgPSB2YWw7DQoJCQl9DQoJCX0gKTsNCgl9DQp9ICk7DQoNCmpRdWVyeS5leHRlbmQoIHsNCgl2YWxIb29rczogew0KCQlvcHRpb246IHsNCgkJCWdldDogZnVuY3Rpb24oIGVsZW0gKSB7DQoNCgkJCQl2YXIgdmFsID0galF1ZXJ5LmZpbmQuYXR0ciggZWxlbSwgInZhbHVlIiApOw0KCQkJCXJldHVybiB2YWwgIT0gbnVsbCA/DQoJCQkJCXZhbCA6DQoNCgkJCQkJLy8gU3VwcG9ydDogSUUgPD0xMCAtIDExIG9ubHkNCgkJCQkJLy8gb3B0aW9uLnRleHQgdGhyb3dzIGV4Y2VwdGlvbnMgKCMxNDY4NiwgIzE0ODU4KQ0KCQkJCQkvLyBTdHJpcCBhbmQgY29sbGFwc2Ugd2hpdGVzcGFjZQ0KCQkJCQkvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyNzdHJpcC1hbmQtY29sbGFwc2Utd2hpdGVzcGFjZQ0KCQkJCQlzdHJpcEFuZENvbGxhcHNlKCBqUXVlcnkudGV4dCggZWxlbSApICk7DQoJCQl9DQoJCX0sDQoJCXNlbGVjdDogew0KCQkJZ2V0OiBmdW5jdGlvbiggZWxlbSApIHsNCgkJCQl2YXIgdmFsdWUsIG9wdGlvbiwgaSwNCgkJCQkJb3B0aW9ucyA9IGVsZW0ub3B0aW9ucywNCgkJCQkJaW5kZXggPSBlbGVtLnNlbGVjdGVkSW5kZXgsDQoJCQkJCW9uZSA9IGVsZW0udHlwZSA9PT0gInNlbGVjdC1vbmUiLA0KCQkJCQl2YWx1ZXMgPSBvbmUgPyBudWxsIDogW10sDQoJCQkJCW1heCA9IG9uZSA/IGluZGV4ICsgMSA6IG9wdGlvbnMubGVuZ3RoOw0KDQoJCQkJaWYgKCBpbmRleCA8IDAgKSB7DQoJCQkJCWkgPSBtYXg7DQoNCgkJCQl9IGVsc2Ugew0KCQkJCQlpID0gb25lID8gaW5kZXggOiAwOw0KCQkJCX0NCg0KCQkJCS8vIExvb3AgdGhyb3VnaCBhbGwgdGhlIHNlbGVjdGVkIG9wdGlvbnMNCgkJCQlmb3IgKCA7IGkgPCBtYXg7IGkrKyApIHsNCgkJCQkJb3B0aW9uID0gb3B0aW9uc1sgaSBdOw0KDQoJCQkJCS8vIFN1cHBvcnQ6IElFIDw9OSBvbmx5DQoJCQkJCS8vIElFOC05IGRvZXNuJ3QgdXBkYXRlIHNlbGVjdGVkIGFmdGVyIGZvcm0gcmVzZXQgKCMyNTUxKQ0KCQkJCQlpZiAoICggb3B0aW9uLnNlbGVjdGVkIHx8IGkgPT09IGluZGV4ICkgJiYNCg0KCQkJCQkJCS8vIERvbid0IHJldHVybiBvcHRpb25zIHRoYXQgYXJlIGRpc2FibGVkIG9yIGluIGEgZGlzYWJsZWQgb3B0Z3JvdXANCgkJCQkJCQkhb3B0aW9uLmRpc2FibGVkICYmDQoJCQkJCQkJKCAhb3B0aW9uLnBhcmVudE5vZGUuZGlzYWJsZWQgfHwNCgkJCQkJCQkJIW5vZGVOYW1lKCBvcHRpb24ucGFyZW50Tm9kZSwgIm9wdGdyb3VwIiApICkgKSB7DQoNCgkJCQkJCS8vIEdldCB0aGUgc3BlY2lmaWMgdmFsdWUgZm9yIHRoZSBvcHRpb24NCgkJCQkJCXZhbHVlID0galF1ZXJ5KCBvcHRpb24gKS52YWwoKTsNCg0KCQkJCQkJLy8gV2UgZG9uJ3QgbmVlZCBhbiBhcnJheSBmb3Igb25lIHNlbGVjdHMNCgkJCQkJCWlmICggb25lICkgew0KCQkJCQkJCXJldHVybiB2YWx1ZTsNCgkJCQkJCX0NCg0KCQkJCQkJLy8gTXVsdGktU2VsZWN0cyByZXR1cm4gYW4gYXJyYXkNCgkJCQkJCXZhbHVlcy5wdXNoKCB2YWx1ZSApOw0KCQkJCQl9DQoJCQkJfQ0KDQoJCQkJcmV0dXJuIHZhbHVlczsNCgkJCX0sDQoNCgkJCXNldDogZnVuY3Rpb24oIGVsZW0sIHZhbHVlICkgew0KCQkJCXZhciBvcHRpb25TZXQsIG9wdGlvbiwNCgkJCQkJb3B0aW9ucyA9IGVsZW0ub3B0aW9ucywNCgkJCQkJdmFsdWVzID0galF1ZXJ5Lm1ha2VBcnJheSggdmFsdWUgKSwNCgkJCQkJaSA9IG9wdGlvbnMubGVuZ3RoOw0KDQoJCQkJd2hpbGUgKCBpLS0gKSB7DQoJCQkJCW9wdGlvbiA9IG9wdGlvbnNbIGkgXTsNCg0KCQkJCQkvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25kLWFzc2lnbiAqLw0KDQoJCQkJCWlmICggb3B0aW9uLnNlbGVjdGVkID0NCgkJCQkJCWpRdWVyeS5pbkFycmF5KCBqUXVlcnkudmFsSG9va3Mub3B0aW9uLmdldCggb3B0aW9uICksIHZhbHVlcyApID4gLTENCgkJCQkJKSB7DQoJCQkJCQlvcHRpb25TZXQgPSB0cnVlOw0KCQkJCQl9DQoNCgkJCQkJLyogZXNsaW50LWVuYWJsZSBuby1jb25kLWFzc2lnbiAqLw0KCQkJCX0NCg0KCQkJCS8vIEZvcmNlIGJyb3dzZXJzIHRvIGJlaGF2ZSBjb25zaXN0ZW50bHkgd2hlbiBub24tbWF0Y2hpbmcgdmFsdWUgaXMgc2V0DQoJCQkJaWYgKCAhb3B0aW9uU2V0ICkgew0KCQkJCQllbGVtLnNlbGVjdGVkSW5kZXggPSAtMTsNCgkJCQl9DQoJCQkJcmV0dXJuIHZhbHVlczsNCgkJCX0NCgkJfQ0KCX0NCn0gKTsNCg0KLy8gUmFkaW9zIGFuZCBjaGVja2JveGVzIGdldHRlci9zZXR0ZXINCmpRdWVyeS5lYWNoKCBbICJyYWRpbyIsICJjaGVja2JveCIgXSwgZnVuY3Rpb24oKSB7DQoJalF1ZXJ5LnZhbEhvb2tzWyB0aGlzIF0gPSB7DQoJCXNldDogZnVuY3Rpb24oIGVsZW0sIHZhbHVlICkgew0KCQkJaWYgKCBBcnJheS5pc0FycmF5KCB2YWx1ZSApICkgew0KCQkJCXJldHVybiAoIGVsZW0uY2hlY2tlZCA9IGpRdWVyeS5pbkFycmF5KCBqUXVlcnkoIGVsZW0gKS52YWwoKSwgdmFsdWUgKSA+IC0xICk7DQoJCQl9DQoJCX0NCgl9Ow0KCWlmICggIXN1cHBvcnQuY2hlY2tPbiApIHsNCgkJalF1ZXJ5LnZhbEhvb2tzWyB0aGlzIF0uZ2V0ID0gZnVuY3Rpb24oIGVsZW0gKSB7DQoJCQlyZXR1cm4gZWxlbS5nZXRBdHRyaWJ1dGUoICJ2YWx1ZSIgKSA9PT0gbnVsbCA/ICJvbiIgOiBlbGVtLnZhbHVlOw0KCQl9Ow0KCX0NCn0gKTsNCg0KDQoNCg0KLy8gUmV0dXJuIGpRdWVyeSBmb3IgYXR0cmlidXRlcy1vbmx5IGluY2x1c2lvbg0KDQoNCnN1cHBvcnQuZm9jdXNpbiA9ICJvbmZvY3VzaW4iIGluIHdpbmRvdzsNCg0KDQp2YXIgcmZvY3VzTW9ycGggPSAvXig/OmZvY3VzaW5mb2N1c3xmb2N1c291dGJsdXIpJC8sDQoJc3RvcFByb3BhZ2F0aW9uQ2FsbGJhY2sgPSBmdW5jdGlvbiggZSApIHsNCgkJZS5zdG9wUHJvcGFnYXRpb24oKTsNCgl9Ow0KDQpqUXVlcnkuZXh0ZW5kKCBqUXVlcnkuZXZlbnQsIHsNCg0KCXRyaWdnZXI6IGZ1bmN0aW9uKCBldmVudCwgZGF0YSwgZWxlbSwgb25seUhhbmRsZXJzICkgew0KDQoJCXZhciBpLCBjdXIsIHRtcCwgYnViYmxlVHlwZSwgb250eXBlLCBoYW5kbGUsIHNwZWNpYWwsIGxhc3RFbGVtZW50LA0KCQkJZXZlbnRQYXRoID0gWyBlbGVtIHx8IGRvY3VtZW50IF0sDQoJCQl0eXBlID0gaGFzT3duLmNhbGwoIGV2ZW50LCAidHlwZSIgKSA/IGV2ZW50LnR5cGUgOiBldmVudCwNCgkJCW5hbWVzcGFjZXMgPSBoYXNPd24uY2FsbCggZXZlbnQsICJuYW1lc3BhY2UiICkgPyBldmVudC5uYW1lc3BhY2Uuc3BsaXQoICIuIiApIDogW107DQoNCgkJY3VyID0gbGFzdEVsZW1lbnQgPSB0bXAgPSBlbGVtID0gZWxlbSB8fCBkb2N1bWVudDsNCg0KCQkvLyBEb24ndCBkbyBldmVudHMgb24gdGV4dCBhbmQgY29tbWVudCBub2Rlcw0KCQlpZiAoIGVsZW0ubm9kZVR5cGUgPT09IDMgfHwgZWxlbS5ub2RlVHlwZSA9PT0gOCApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCS8vIGZvY3VzL2JsdXIgbW9ycGhzIHRvIGZvY3VzaW4vb3V0OyBlbnN1cmUgd2UncmUgbm90IGZpcmluZyB0aGVtIHJpZ2h0IG5vdw0KCQlpZiAoIHJmb2N1c01vcnBoLnRlc3QoIHR5cGUgKyBqUXVlcnkuZXZlbnQudHJpZ2dlcmVkICkgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQlpZiAoIHR5cGUuaW5kZXhPZiggIi4iICkgPiAtMSApIHsNCg0KCQkJLy8gTmFtZXNwYWNlZCB0cmlnZ2VyOyBjcmVhdGUgYSByZWdleHAgdG8gbWF0Y2ggZXZlbnQgdHlwZSBpbiBoYW5kbGUoKQ0KCQkJbmFtZXNwYWNlcyA9IHR5cGUuc3BsaXQoICIuIiApOw0KCQkJdHlwZSA9IG5hbWVzcGFjZXMuc2hpZnQoKTsNCgkJCW5hbWVzcGFjZXMuc29ydCgpOw0KCQl9DQoJCW9udHlwZSA9IHR5cGUuaW5kZXhPZiggIjoiICkgPCAwICYmICJvbiIgKyB0eXBlOw0KDQoJCS8vIENhbGxlciBjYW4gcGFzcyBpbiBhIGpRdWVyeS5FdmVudCBvYmplY3QsIE9iamVjdCwgb3IganVzdCBhbiBldmVudCB0eXBlIHN0cmluZw0KCQlldmVudCA9IGV2ZW50WyBqUXVlcnkuZXhwYW5kbyBdID8NCgkJCWV2ZW50IDoNCgkJCW5ldyBqUXVlcnkuRXZlbnQoIHR5cGUsIHR5cGVvZiBldmVudCA9PT0gIm9iamVjdCIgJiYgZXZlbnQgKTsNCg0KCQkvLyBUcmlnZ2VyIGJpdG1hc2s6ICYgMSBmb3IgbmF0aXZlIGhhbmRsZXJzOyAmIDIgZm9yIGpRdWVyeSAoYWx3YXlzIHRydWUpDQoJCWV2ZW50LmlzVHJpZ2dlciA9IG9ubHlIYW5kbGVycyA/IDIgOiAzOw0KCQlldmVudC5uYW1lc3BhY2UgPSBuYW1lc3BhY2VzLmpvaW4oICIuIiApOw0KCQlldmVudC5ybmFtZXNwYWNlID0gZXZlbnQubmFtZXNwYWNlID8NCgkJCW5ldyBSZWdFeHAoICIoXnxcXC4pIiArIG5hbWVzcGFjZXMuam9pbiggIlxcLig/Oi4qXFwufCkiICkgKyAiKFxcLnwkKSIgKSA6DQoJCQludWxsOw0KDQoJCS8vIENsZWFuIHVwIHRoZSBldmVudCBpbiBjYXNlIGl0IGlzIGJlaW5nIHJldXNlZA0KCQlldmVudC5yZXN1bHQgPSB1bmRlZmluZWQ7DQoJCWlmICggIWV2ZW50LnRhcmdldCApIHsNCgkJCWV2ZW50LnRhcmdldCA9IGVsZW07DQoJCX0NCg0KCQkvLyBDbG9uZSBhbnkgaW5jb21pbmcgZGF0YSBhbmQgcHJlcGVuZCB0aGUgZXZlbnQsIGNyZWF0aW5nIHRoZSBoYW5kbGVyIGFyZyBsaXN0DQoJCWRhdGEgPSBkYXRhID09IG51bGwgPw0KCQkJWyBldmVudCBdIDoNCgkJCWpRdWVyeS5tYWtlQXJyYXkoIGRhdGEsIFsgZXZlbnQgXSApOw0KDQoJCS8vIEFsbG93IHNwZWNpYWwgZXZlbnRzIHRvIGRyYXcgb3V0c2lkZSB0aGUgbGluZXMNCgkJc3BlY2lhbCA9IGpRdWVyeS5ldmVudC5zcGVjaWFsWyB0eXBlIF0gfHwge307DQoJCWlmICggIW9ubHlIYW5kbGVycyAmJiBzcGVjaWFsLnRyaWdnZXIgJiYgc3BlY2lhbC50cmlnZ2VyLmFwcGx5KCBlbGVtLCBkYXRhICkgPT09IGZhbHNlICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJLy8gRGV0ZXJtaW5lIGV2ZW50IHByb3BhZ2F0aW9uIHBhdGggaW4gYWR2YW5jZSwgcGVyIFczQyBldmVudHMgc3BlYyAoIzk5NTEpDQoJCS8vIEJ1YmJsZSB1cCB0byBkb2N1bWVudCwgdGhlbiB0byB3aW5kb3c7IHdhdGNoIGZvciBhIGdsb2JhbCBvd25lckRvY3VtZW50IHZhciAoIzk3MjQpDQoJCWlmICggIW9ubHlIYW5kbGVycyAmJiAhc3BlY2lhbC5ub0J1YmJsZSAmJiAhaXNXaW5kb3coIGVsZW0gKSApIHsNCg0KCQkJYnViYmxlVHlwZSA9IHNwZWNpYWwuZGVsZWdhdGVUeXBlIHx8IHR5cGU7DQoJCQlpZiAoICFyZm9jdXNNb3JwaC50ZXN0KCBidWJibGVUeXBlICsgdHlwZSApICkgew0KCQkJCWN1ciA9IGN1ci5wYXJlbnROb2RlOw0KCQkJfQ0KCQkJZm9yICggOyBjdXI7IGN1ciA9IGN1ci5wYXJlbnROb2RlICkgew0KCQkJCWV2ZW50UGF0aC5wdXNoKCBjdXIgKTsNCgkJCQl0bXAgPSBjdXI7DQoJCQl9DQoNCgkJCS8vIE9ubHkgYWRkIHdpbmRvdyBpZiB3ZSBnb3QgdG8gZG9jdW1lbnQgKGUuZy4sIG5vdCBwbGFpbiBvYmogb3IgZGV0YWNoZWQgRE9NKQ0KCQkJaWYgKCB0bXAgPT09ICggZWxlbS5vd25lckRvY3VtZW50IHx8IGRvY3VtZW50ICkgKSB7DQoJCQkJZXZlbnRQYXRoLnB1c2goIHRtcC5kZWZhdWx0VmlldyB8fCB0bXAucGFyZW50V2luZG93IHx8IHdpbmRvdyApOw0KCQkJfQ0KCQl9DQoNCgkJLy8gRmlyZSBoYW5kbGVycyBvbiB0aGUgZXZlbnQgcGF0aA0KCQlpID0gMDsNCgkJd2hpbGUgKCAoIGN1ciA9IGV2ZW50UGF0aFsgaSsrIF0gKSAmJiAhZXZlbnQuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSApIHsNCgkJCWxhc3RFbGVtZW50ID0gY3VyOw0KCQkJZXZlbnQudHlwZSA9IGkgPiAxID8NCgkJCQlidWJibGVUeXBlIDoNCgkJCQlzcGVjaWFsLmJpbmRUeXBlIHx8IHR5cGU7DQoNCgkJCS8vIGpRdWVyeSBoYW5kbGVyDQoJCQloYW5kbGUgPSAoIGRhdGFQcml2LmdldCggY3VyLCAiZXZlbnRzIiApIHx8IHt9IClbIGV2ZW50LnR5cGUgXSAmJg0KCQkJCWRhdGFQcml2LmdldCggY3VyLCAiaGFuZGxlIiApOw0KCQkJaWYgKCBoYW5kbGUgKSB7DQoJCQkJaGFuZGxlLmFwcGx5KCBjdXIsIGRhdGEgKTsNCgkJCX0NCg0KCQkJLy8gTmF0aXZlIGhhbmRsZXINCgkJCWhhbmRsZSA9IG9udHlwZSAmJiBjdXJbIG9udHlwZSBdOw0KCQkJaWYgKCBoYW5kbGUgJiYgaGFuZGxlLmFwcGx5ICYmIGFjY2VwdERhdGEoIGN1ciApICkgew0KCQkJCWV2ZW50LnJlc3VsdCA9IGhhbmRsZS5hcHBseSggY3VyLCBkYXRhICk7DQoJCQkJaWYgKCBldmVudC5yZXN1bHQgPT09IGZhbHNlICkgew0KCQkJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCQlldmVudC50eXBlID0gdHlwZTsNCg0KCQkvLyBJZiBub2JvZHkgcHJldmVudGVkIHRoZSBkZWZhdWx0IGFjdGlvbiwgZG8gaXQgbm93DQoJCWlmICggIW9ubHlIYW5kbGVycyAmJiAhZXZlbnQuaXNEZWZhdWx0UHJldmVudGVkKCkgKSB7DQoNCgkJCWlmICggKCAhc3BlY2lhbC5fZGVmYXVsdCB8fA0KCQkJCXNwZWNpYWwuX2RlZmF1bHQuYXBwbHkoIGV2ZW50UGF0aC5wb3AoKSwgZGF0YSApID09PSBmYWxzZSApICYmDQoJCQkJYWNjZXB0RGF0YSggZWxlbSApICkgew0KDQoJCQkJLy8gQ2FsbCBhIG5hdGl2ZSBET00gbWV0aG9kIG9uIHRoZSB0YXJnZXQgd2l0aCB0aGUgc2FtZSBuYW1lIGFzIHRoZSBldmVudC4NCgkJCQkvLyBEb24ndCBkbyBkZWZhdWx0IGFjdGlvbnMgb24gd2luZG93LCB0aGF0J3Mgd2hlcmUgZ2xvYmFsIHZhcmlhYmxlcyBiZSAoIzYxNzApDQoJCQkJaWYgKCBvbnR5cGUgJiYgaXNGdW5jdGlvbiggZWxlbVsgdHlwZSBdICkgJiYgIWlzV2luZG93KCBlbGVtICkgKSB7DQoNCgkJCQkJLy8gRG9uJ3QgcmUtdHJpZ2dlciBhbiBvbkZPTyBldmVudCB3aGVuIHdlIGNhbGwgaXRzIEZPTygpIG1ldGhvZA0KCQkJCQl0bXAgPSBlbGVtWyBvbnR5cGUgXTsNCg0KCQkJCQlpZiAoIHRtcCApIHsNCgkJCQkJCWVsZW1bIG9udHlwZSBdID0gbnVsbDsNCgkJCQkJfQ0KDQoJCQkJCS8vIFByZXZlbnQgcmUtdHJpZ2dlcmluZyBvZiB0aGUgc2FtZSBldmVudCwgc2luY2Ugd2UgYWxyZWFkeSBidWJibGVkIGl0IGFib3ZlDQoJCQkJCWpRdWVyeS5ldmVudC50cmlnZ2VyZWQgPSB0eXBlOw0KDQoJCQkJCWlmICggZXZlbnQuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSApIHsNCgkJCQkJCWxhc3RFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIHR5cGUsIHN0b3BQcm9wYWdhdGlvbkNhbGxiYWNrICk7DQoJCQkJCX0NCg0KCQkJCQllbGVtWyB0eXBlIF0oKTsNCg0KCQkJCQlpZiAoIGV2ZW50LmlzUHJvcGFnYXRpb25TdG9wcGVkKCkgKSB7DQoJCQkJCQlsYXN0RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCB0eXBlLCBzdG9wUHJvcGFnYXRpb25DYWxsYmFjayApOw0KCQkJCQl9DQoNCgkJCQkJalF1ZXJ5LmV2ZW50LnRyaWdnZXJlZCA9IHVuZGVmaW5lZDsNCg0KCQkJCQlpZiAoIHRtcCApIHsNCgkJCQkJCWVsZW1bIG9udHlwZSBdID0gdG1wOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KCQl9DQoNCgkJcmV0dXJuIGV2ZW50LnJlc3VsdDsNCgl9LA0KDQoJLy8gUGlnZ3liYWNrIG9uIGEgZG9ub3IgZXZlbnQgdG8gc2ltdWxhdGUgYSBkaWZmZXJlbnQgb25lDQoJLy8gVXNlZCBvbmx5IGZvciBgZm9jdXMoaW4gfCBvdXQpYCBldmVudHMNCglzaW11bGF0ZTogZnVuY3Rpb24oIHR5cGUsIGVsZW0sIGV2ZW50ICkgew0KCQl2YXIgZSA9IGpRdWVyeS5leHRlbmQoDQoJCQluZXcgalF1ZXJ5LkV2ZW50KCksDQoJCQlldmVudCwNCgkJCXsNCgkJCQl0eXBlOiB0eXBlLA0KCQkJCWlzU2ltdWxhdGVkOiB0cnVlDQoJCQl9DQoJCSk7DQoNCgkJalF1ZXJ5LmV2ZW50LnRyaWdnZXIoIGUsIG51bGwsIGVsZW0gKTsNCgl9DQoNCn0gKTsNCg0KalF1ZXJ5LmZuLmV4dGVuZCggew0KDQoJdHJpZ2dlcjogZnVuY3Rpb24oIHR5cGUsIGRhdGEgKSB7DQoJCXJldHVybiB0aGlzLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJalF1ZXJ5LmV2ZW50LnRyaWdnZXIoIHR5cGUsIGRhdGEsIHRoaXMgKTsNCgkJfSApOw0KCX0sDQoJdHJpZ2dlckhhbmRsZXI6IGZ1bmN0aW9uKCB0eXBlLCBkYXRhICkgew0KCQl2YXIgZWxlbSA9IHRoaXNbIDAgXTsNCgkJaWYgKCBlbGVtICkgew0KCQkJcmV0dXJuIGpRdWVyeS5ldmVudC50cmlnZ2VyKCB0eXBlLCBkYXRhLCBlbGVtLCB0cnVlICk7DQoJCX0NCgl9DQp9ICk7DQoNCg0KLy8gU3VwcG9ydDogRmlyZWZveCA8PTQ0DQovLyBGaXJlZm94IGRvZXNuJ3QgaGF2ZSBmb2N1cyhpbiB8IG91dCkgZXZlbnRzDQovLyBSZWxhdGVkIHRpY2tldCAtIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Nzc4Nw0KLy8NCi8vIFN1cHBvcnQ6IENocm9tZSA8PTQ4IC0gNDksIFNhZmFyaSA8PTkuMCAtIDkuMQ0KLy8gZm9jdXMoaW4gfCBvdXQpIGV2ZW50cyBmaXJlIGFmdGVyIGZvY3VzICYgYmx1ciBldmVudHMsDQovLyB3aGljaCBpcyBzcGVjIHZpb2xhdGlvbiAtIGh0dHA6Ly93d3cudzMub3JnL1RSL0RPTS1MZXZlbC0zLUV2ZW50cy8jZXZlbnRzLWZvY3VzZXZlbnQtZXZlbnQtb3JkZXINCi8vIFJlbGF0ZWQgdGlja2V0IC0gaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9NDQ5ODU3DQppZiAoICFzdXBwb3J0LmZvY3VzaW4gKSB7DQoJalF1ZXJ5LmVhY2goIHsgZm9jdXM6ICJmb2N1c2luIiwgYmx1cjogImZvY3Vzb3V0IiB9LCBmdW5jdGlvbiggb3JpZywgZml4ICkgew0KDQoJCS8vIEF0dGFjaCBhIHNpbmdsZSBjYXB0dXJpbmcgaGFuZGxlciBvbiB0aGUgZG9jdW1lbnQgd2hpbGUgc29tZW9uZSB3YW50cyBmb2N1c2luL2ZvY3Vzb3V0DQoJCXZhciBoYW5kbGVyID0gZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJalF1ZXJ5LmV2ZW50LnNpbXVsYXRlKCBmaXgsIGV2ZW50LnRhcmdldCwgalF1ZXJ5LmV2ZW50LmZpeCggZXZlbnQgKSApOw0KCQl9Ow0KDQoJCWpRdWVyeS5ldmVudC5zcGVjaWFsWyBmaXggXSA9IHsNCgkJCXNldHVwOiBmdW5jdGlvbigpIHsNCgkJCQl2YXIgZG9jID0gdGhpcy5vd25lckRvY3VtZW50IHx8IHRoaXMsDQoJCQkJCWF0dGFjaGVzID0gZGF0YVByaXYuYWNjZXNzKCBkb2MsIGZpeCApOw0KDQoJCQkJaWYgKCAhYXR0YWNoZXMgKSB7DQoJCQkJCWRvYy5hZGRFdmVudExpc3RlbmVyKCBvcmlnLCBoYW5kbGVyLCB0cnVlICk7DQoJCQkJfQ0KCQkJCWRhdGFQcml2LmFjY2VzcyggZG9jLCBmaXgsICggYXR0YWNoZXMgfHwgMCApICsgMSApOw0KCQkJfSwNCgkJCXRlYXJkb3duOiBmdW5jdGlvbigpIHsNCgkJCQl2YXIgZG9jID0gdGhpcy5vd25lckRvY3VtZW50IHx8IHRoaXMsDQoJCQkJCWF0dGFjaGVzID0gZGF0YVByaXYuYWNjZXNzKCBkb2MsIGZpeCApIC0gMTsNCg0KCQkJCWlmICggIWF0dGFjaGVzICkgew0KCQkJCQlkb2MucmVtb3ZlRXZlbnRMaXN0ZW5lciggb3JpZywgaGFuZGxlciwgdHJ1ZSApOw0KCQkJCQlkYXRhUHJpdi5yZW1vdmUoIGRvYywgZml4ICk7DQoNCgkJCQl9IGVsc2Ugew0KCQkJCQlkYXRhUHJpdi5hY2Nlc3MoIGRvYywgZml4LCBhdHRhY2hlcyApOw0KCQkJCX0NCgkJCX0NCgkJfTsNCgl9ICk7DQp9DQp2YXIgbG9jYXRpb24gPSB3aW5kb3cubG9jYXRpb247DQoNCnZhciBub25jZSA9IERhdGUubm93KCk7DQoNCnZhciBycXVlcnkgPSAoIC9cPy8gKTsNCg0KDQoNCi8vIENyb3NzLWJyb3dzZXIgeG1sIHBhcnNpbmcNCmpRdWVyeS5wYXJzZVhNTCA9IGZ1bmN0aW9uKCBkYXRhICkgew0KCXZhciB4bWw7DQoJaWYgKCAhZGF0YSB8fCB0eXBlb2YgZGF0YSAhPT0gInN0cmluZyIgKSB7DQoJCXJldHVybiBudWxsOw0KCX0NCg0KCS8vIFN1cHBvcnQ6IElFIDkgLSAxMSBvbmx5DQoJLy8gSUUgdGhyb3dzIG9uIHBhcnNlRnJvbVN0cmluZyB3aXRoIGludmFsaWQgaW5wdXQuDQoJdHJ5IHsNCgkJeG1sID0gKCBuZXcgd2luZG93LkRPTVBhcnNlcigpICkucGFyc2VGcm9tU3RyaW5nKCBkYXRhLCAidGV4dC94bWwiICk7DQoJfSBjYXRjaCAoIGUgKSB7DQoJCXhtbCA9IHVuZGVmaW5lZDsNCgl9DQoNCglpZiAoICF4bWwgfHwgeG1sLmdldEVsZW1lbnRzQnlUYWdOYW1lKCAicGFyc2VyZXJyb3IiICkubGVuZ3RoICkgew0KCQlqUXVlcnkuZXJyb3IoICJJbnZhbGlkIFhNTDogIiArIGRhdGEgKTsNCgl9DQoJcmV0dXJuIHhtbDsNCn07DQoNCg0KdmFyDQoJcmJyYWNrZXQgPSAvXFtcXSQvLA0KCXJDUkxGID0gL1xyP1xuL2csDQoJcnN1Ym1pdHRlclR5cGVzID0gL14oPzpzdWJtaXR8YnV0dG9ufGltYWdlfHJlc2V0fGZpbGUpJC9pLA0KCXJzdWJtaXR0YWJsZSA9IC9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGtleWdlbikvaTsNCg0KZnVuY3Rpb24gYnVpbGRQYXJhbXMoIHByZWZpeCwgb2JqLCB0cmFkaXRpb25hbCwgYWRkICkgew0KCXZhciBuYW1lOw0KDQoJaWYgKCBBcnJheS5pc0FycmF5KCBvYmogKSApIHsNCg0KCQkvLyBTZXJpYWxpemUgYXJyYXkgaXRlbS4NCgkJalF1ZXJ5LmVhY2goIG9iaiwgZnVuY3Rpb24oIGksIHYgKSB7DQoJCQlpZiAoIHRyYWRpdGlvbmFsIHx8IHJicmFja2V0LnRlc3QoIHByZWZpeCApICkgew0KDQoJCQkJLy8gVHJlYXQgZWFjaCBhcnJheSBpdGVtIGFzIGEgc2NhbGFyLg0KCQkJCWFkZCggcHJlZml4LCB2ICk7DQoNCgkJCX0gZWxzZSB7DQoNCgkJCQkvLyBJdGVtIGlzIG5vbi1zY2FsYXIgKGFycmF5IG9yIG9iamVjdCksIGVuY29kZSBpdHMgbnVtZXJpYyBpbmRleC4NCgkJCQlidWlsZFBhcmFtcygNCgkJCQkJcHJlZml4ICsgIlsiICsgKCB0eXBlb2YgdiA9PT0gIm9iamVjdCIgJiYgdiAhPSBudWxsID8gaSA6ICIiICkgKyAiXSIsDQoJCQkJCXYsDQoJCQkJCXRyYWRpdGlvbmFsLA0KCQkJCQlhZGQNCgkJCQkpOw0KCQkJfQ0KCQl9ICk7DQoNCgl9IGVsc2UgaWYgKCAhdHJhZGl0aW9uYWwgJiYgdG9UeXBlKCBvYmogKSA9PT0gIm9iamVjdCIgKSB7DQoNCgkJLy8gU2VyaWFsaXplIG9iamVjdCBpdGVtLg0KCQlmb3IgKCBuYW1lIGluIG9iaiApIHsNCgkJCWJ1aWxkUGFyYW1zKCBwcmVmaXggKyAiWyIgKyBuYW1lICsgIl0iLCBvYmpbIG5hbWUgXSwgdHJhZGl0aW9uYWwsIGFkZCApOw0KCQl9DQoNCgl9IGVsc2Ugew0KDQoJCS8vIFNlcmlhbGl6ZSBzY2FsYXIgaXRlbS4NCgkJYWRkKCBwcmVmaXgsIG9iaiApOw0KCX0NCn0NCg0KLy8gU2VyaWFsaXplIGFuIGFycmF5IG9mIGZvcm0gZWxlbWVudHMgb3IgYSBzZXQgb2YNCi8vIGtleS92YWx1ZXMgaW50byBhIHF1ZXJ5IHN0cmluZw0KalF1ZXJ5LnBhcmFtID0gZnVuY3Rpb24oIGEsIHRyYWRpdGlvbmFsICkgew0KCXZhciBwcmVmaXgsDQoJCXMgPSBbXSwNCgkJYWRkID0gZnVuY3Rpb24oIGtleSwgdmFsdWVPckZ1bmN0aW9uICkgew0KDQoJCQkvLyBJZiB2YWx1ZSBpcyBhIGZ1bmN0aW9uLCBpbnZva2UgaXQgYW5kIHVzZSBpdHMgcmV0dXJuIHZhbHVlDQoJCQl2YXIgdmFsdWUgPSBpc0Z1bmN0aW9uKCB2YWx1ZU9yRnVuY3Rpb24gKSA/DQoJCQkJdmFsdWVPckZ1bmN0aW9uKCkgOg0KCQkJCXZhbHVlT3JGdW5jdGlvbjsNCg0KCQkJc1sgcy5sZW5ndGggXSA9IGVuY29kZVVSSUNvbXBvbmVudCgga2V5ICkgKyAiPSIgKw0KCQkJCWVuY29kZVVSSUNvbXBvbmVudCggdmFsdWUgPT0gbnVsbCA/ICIiIDogdmFsdWUgKTsNCgkJfTsNCg0KCS8vIElmIGFuIGFycmF5IHdhcyBwYXNzZWQgaW4sIGFzc3VtZSB0aGF0IGl0IGlzIGFuIGFycmF5IG9mIGZvcm0gZWxlbWVudHMuDQoJaWYgKCBBcnJheS5pc0FycmF5KCBhICkgfHwgKCBhLmpxdWVyeSAmJiAhalF1ZXJ5LmlzUGxhaW5PYmplY3QoIGEgKSApICkgew0KDQoJCS8vIFNlcmlhbGl6ZSB0aGUgZm9ybSBlbGVtZW50cw0KCQlqUXVlcnkuZWFjaCggYSwgZnVuY3Rpb24oKSB7DQoJCQlhZGQoIHRoaXMubmFtZSwgdGhpcy52YWx1ZSApOw0KCQl9ICk7DQoNCgl9IGVsc2Ugew0KDQoJCS8vIElmIHRyYWRpdGlvbmFsLCBlbmNvZGUgdGhlICJvbGQiIHdheSAodGhlIHdheSAxLjMuMiBvciBvbGRlcg0KCQkvLyBkaWQgaXQpLCBvdGhlcndpc2UgZW5jb2RlIHBhcmFtcyByZWN1cnNpdmVseS4NCgkJZm9yICggcHJlZml4IGluIGEgKSB7DQoJCQlidWlsZFBhcmFtcyggcHJlZml4LCBhWyBwcmVmaXggXSwgdHJhZGl0aW9uYWwsIGFkZCApOw0KCQl9DQoJfQ0KDQoJLy8gUmV0dXJuIHRoZSByZXN1bHRpbmcgc2VyaWFsaXphdGlvbg0KCXJldHVybiBzLmpvaW4oICImIiApOw0KfTsNCg0KalF1ZXJ5LmZuLmV4dGVuZCggew0KCXNlcmlhbGl6ZTogZnVuY3Rpb24oKSB7DQoJCXJldHVybiBqUXVlcnkucGFyYW0oIHRoaXMuc2VyaWFsaXplQXJyYXkoKSApOw0KCX0sDQoJc2VyaWFsaXplQXJyYXk6IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gdGhpcy5tYXAoIGZ1bmN0aW9uKCkgew0KDQoJCQkvLyBDYW4gYWRkIHByb3BIb29rIGZvciAiZWxlbWVudHMiIHRvIGZpbHRlciBvciBhZGQgZm9ybSBlbGVtZW50cw0KCQkJdmFyIGVsZW1lbnRzID0galF1ZXJ5LnByb3AoIHRoaXMsICJlbGVtZW50cyIgKTsNCgkJCXJldHVybiBlbGVtZW50cyA/IGpRdWVyeS5tYWtlQXJyYXkoIGVsZW1lbnRzICkgOiB0aGlzOw0KCQl9ICkNCgkJLmZpbHRlciggZnVuY3Rpb24oKSB7DQoJCQl2YXIgdHlwZSA9IHRoaXMudHlwZTsNCg0KCQkJLy8gVXNlIC5pcyggIjpkaXNhYmxlZCIgKSBzbyB0aGF0IGZpZWxkc2V0W2Rpc2FibGVkXSB3b3Jrcw0KCQkJcmV0dXJuIHRoaXMubmFtZSAmJiAhalF1ZXJ5KCB0aGlzICkuaXMoICI6ZGlzYWJsZWQiICkgJiYNCgkJCQlyc3VibWl0dGFibGUudGVzdCggdGhpcy5ub2RlTmFtZSApICYmICFyc3VibWl0dGVyVHlwZXMudGVzdCggdHlwZSApICYmDQoJCQkJKCB0aGlzLmNoZWNrZWQgfHwgIXJjaGVja2FibGVUeXBlLnRlc3QoIHR5cGUgKSApOw0KCQl9ICkNCgkJLm1hcCggZnVuY3Rpb24oIGksIGVsZW0gKSB7DQoJCQl2YXIgdmFsID0galF1ZXJ5KCB0aGlzICkudmFsKCk7DQoNCgkJCWlmICggdmFsID09IG51bGwgKSB7DQoJCQkJcmV0dXJuIG51bGw7DQoJCQl9DQoNCgkJCWlmICggQXJyYXkuaXNBcnJheSggdmFsICkgKSB7DQoJCQkJcmV0dXJuIGpRdWVyeS5tYXAoIHZhbCwgZnVuY3Rpb24oIHZhbCApIHsNCgkJCQkJcmV0dXJuIHsgbmFtZTogZWxlbS5uYW1lLCB2YWx1ZTogdmFsLnJlcGxhY2UoIHJDUkxGLCAiXHJcbiIgKSB9Ow0KCQkJCX0gKTsNCgkJCX0NCg0KCQkJcmV0dXJuIHsgbmFtZTogZWxlbS5uYW1lLCB2YWx1ZTogdmFsLnJlcGxhY2UoIHJDUkxGLCAiXHJcbiIgKSB9Ow0KCQl9ICkuZ2V0KCk7DQoJfQ0KfSApOw0KDQoNCnZhcg0KCXIyMCA9IC8lMjAvZywNCglyaGFzaCA9IC8jLiokLywNCglyYW50aUNhY2hlID0gLyhbPyZdKV89W14mXSovLA0KCXJoZWFkZXJzID0gL14oLio/KTpbIFx0XSooW15cclxuXSopJC9tZywNCg0KCS8vICM3NjUzLCAjODEyNSwgIzgxNTI6IGxvY2FsIHByb3RvY29sIGRldGVjdGlvbg0KCXJsb2NhbFByb3RvY29sID0gL14oPzphYm91dHxhcHB8YXBwLXN0b3JhZ2V8ListZXh0ZW5zaW9ufGZpbGV8cmVzfHdpZGdldCk6JC8sDQoJcm5vQ29udGVudCA9IC9eKD86R0VUfEhFQUQpJC8sDQoJcnByb3RvY29sID0gL15cL1wvLywNCg0KCS8qIFByZWZpbHRlcnMNCgkgKiAxKSBUaGV5IGFyZSB1c2VmdWwgdG8gaW50cm9kdWNlIGN1c3RvbSBkYXRhVHlwZXMgKHNlZSBhamF4L2pzb25wLmpzIGZvciBhbiBleGFtcGxlKQ0KCSAqIDIpIFRoZXNlIGFyZSBjYWxsZWQ6DQoJICogICAgLSBCRUZPUkUgYXNraW5nIGZvciBhIHRyYW5zcG9ydA0KCSAqICAgIC0gQUZURVIgcGFyYW0gc2VyaWFsaXphdGlvbiAocy5kYXRhIGlzIGEgc3RyaW5nIGlmIHMucHJvY2Vzc0RhdGEgaXMgdHJ1ZSkNCgkgKiAzKSBrZXkgaXMgdGhlIGRhdGFUeXBlDQoJICogNCkgdGhlIGNhdGNoYWxsIHN5bWJvbCAiKiIgY2FuIGJlIHVzZWQNCgkgKiA1KSBleGVjdXRpb24gd2lsbCBzdGFydCB3aXRoIHRyYW5zcG9ydCBkYXRhVHlwZSBhbmQgVEhFTiBjb250aW51ZSBkb3duIHRvICIqIiBpZiBuZWVkZWQNCgkgKi8NCglwcmVmaWx0ZXJzID0ge30sDQoNCgkvKiBUcmFuc3BvcnRzIGJpbmRpbmdzDQoJICogMSkga2V5IGlzIHRoZSBkYXRhVHlwZQ0KCSAqIDIpIHRoZSBjYXRjaGFsbCBzeW1ib2wgIioiIGNhbiBiZSB1c2VkDQoJICogMykgc2VsZWN0aW9uIHdpbGwgc3RhcnQgd2l0aCB0cmFuc3BvcnQgZGF0YVR5cGUgYW5kIFRIRU4gZ28gdG8gIioiIGlmIG5lZWRlZA0KCSAqLw0KCXRyYW5zcG9ydHMgPSB7fSwNCg0KCS8vIEF2b2lkIGNvbW1lbnQtcHJvbG9nIGNoYXIgc2VxdWVuY2UgKCMxMDA5OCk7IG11c3QgYXBwZWFzZSBsaW50IGFuZCBldmFkZSBjb21wcmVzc2lvbg0KCWFsbFR5cGVzID0gIiovIi5jb25jYXQoICIqIiApLA0KDQoJLy8gQW5jaG9yIHRhZyBmb3IgcGFyc2luZyB0aGUgZG9jdW1lbnQgb3JpZ2luDQoJb3JpZ2luQW5jaG9yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggImEiICk7DQoJb3JpZ2luQW5jaG9yLmhyZWYgPSBsb2NhdGlvbi5ocmVmOw0KDQovLyBCYXNlICJjb25zdHJ1Y3RvciIgZm9yIGpRdWVyeS5hamF4UHJlZmlsdGVyIGFuZCBqUXVlcnkuYWpheFRyYW5zcG9ydA0KZnVuY3Rpb24gYWRkVG9QcmVmaWx0ZXJzT3JUcmFuc3BvcnRzKCBzdHJ1Y3R1cmUgKSB7DQoNCgkvLyBkYXRhVHlwZUV4cHJlc3Npb24gaXMgb3B0aW9uYWwgYW5kIGRlZmF1bHRzIHRvICIqIg0KCXJldHVybiBmdW5jdGlvbiggZGF0YVR5cGVFeHByZXNzaW9uLCBmdW5jICkgew0KDQoJCWlmICggdHlwZW9mIGRhdGFUeXBlRXhwcmVzc2lvbiAhPT0gInN0cmluZyIgKSB7DQoJCQlmdW5jID0gZGF0YVR5cGVFeHByZXNzaW9uOw0KCQkJZGF0YVR5cGVFeHByZXNzaW9uID0gIioiOw0KCQl9DQoNCgkJdmFyIGRhdGFUeXBlLA0KCQkJaSA9IDAsDQoJCQlkYXRhVHlwZXMgPSBkYXRhVHlwZUV4cHJlc3Npb24udG9Mb3dlckNhc2UoKS5tYXRjaCggcm5vdGh0bWx3aGl0ZSApIHx8IFtdOw0KDQoJCWlmICggaXNGdW5jdGlvbiggZnVuYyApICkgew0KDQoJCQkvLyBGb3IgZWFjaCBkYXRhVHlwZSBpbiB0aGUgZGF0YVR5cGVFeHByZXNzaW9uDQoJCQl3aGlsZSAoICggZGF0YVR5cGUgPSBkYXRhVHlwZXNbIGkrKyBdICkgKSB7DQoNCgkJCQkvLyBQcmVwZW5kIGlmIHJlcXVlc3RlZA0KCQkJCWlmICggZGF0YVR5cGVbIDAgXSA9PT0gIisiICkgew0KCQkJCQlkYXRhVHlwZSA9IGRhdGFUeXBlLnNsaWNlKCAxICkgfHwgIioiOw0KCQkJCQkoIHN0cnVjdHVyZVsgZGF0YVR5cGUgXSA9IHN0cnVjdHVyZVsgZGF0YVR5cGUgXSB8fCBbXSApLnVuc2hpZnQoIGZ1bmMgKTsNCg0KCQkJCS8vIE90aGVyd2lzZSBhcHBlbmQNCgkJCQl9IGVsc2Ugew0KCQkJCQkoIHN0cnVjdHVyZVsgZGF0YVR5cGUgXSA9IHN0cnVjdHVyZVsgZGF0YVR5cGUgXSB8fCBbXSApLnB1c2goIGZ1bmMgKTsNCgkJCQl9DQoJCQl9DQoJCX0NCgl9Ow0KfQ0KDQovLyBCYXNlIGluc3BlY3Rpb24gZnVuY3Rpb24gZm9yIHByZWZpbHRlcnMgYW5kIHRyYW5zcG9ydHMNCmZ1bmN0aW9uIGluc3BlY3RQcmVmaWx0ZXJzT3JUcmFuc3BvcnRzKCBzdHJ1Y3R1cmUsIG9wdGlvbnMsIG9yaWdpbmFsT3B0aW9ucywganFYSFIgKSB7DQoNCgl2YXIgaW5zcGVjdGVkID0ge30sDQoJCXNlZWtpbmdUcmFuc3BvcnQgPSAoIHN0cnVjdHVyZSA9PT0gdHJhbnNwb3J0cyApOw0KDQoJZnVuY3Rpb24gaW5zcGVjdCggZGF0YVR5cGUgKSB7DQoJCXZhciBzZWxlY3RlZDsNCgkJaW5zcGVjdGVkWyBkYXRhVHlwZSBdID0gdHJ1ZTsNCgkJalF1ZXJ5LmVhY2goIHN0cnVjdHVyZVsgZGF0YVR5cGUgXSB8fCBbXSwgZnVuY3Rpb24oIF8sIHByZWZpbHRlck9yRmFjdG9yeSApIHsNCgkJCXZhciBkYXRhVHlwZU9yVHJhbnNwb3J0ID0gcHJlZmlsdGVyT3JGYWN0b3J5KCBvcHRpb25zLCBvcmlnaW5hbE9wdGlvbnMsIGpxWEhSICk7DQoJCQlpZiAoIHR5cGVvZiBkYXRhVHlwZU9yVHJhbnNwb3J0ID09PSAic3RyaW5nIiAmJg0KCQkJCSFzZWVraW5nVHJhbnNwb3J0ICYmICFpbnNwZWN0ZWRbIGRhdGFUeXBlT3JUcmFuc3BvcnQgXSApIHsNCg0KCQkJCW9wdGlvbnMuZGF0YVR5cGVzLnVuc2hpZnQoIGRhdGFUeXBlT3JUcmFuc3BvcnQgKTsNCgkJCQlpbnNwZWN0KCBkYXRhVHlwZU9yVHJhbnNwb3J0ICk7DQoJCQkJcmV0dXJuIGZhbHNlOw0KCQkJfSBlbHNlIGlmICggc2Vla2luZ1RyYW5zcG9ydCApIHsNCgkJCQlyZXR1cm4gISggc2VsZWN0ZWQgPSBkYXRhVHlwZU9yVHJhbnNwb3J0ICk7DQoJCQl9DQoJCX0gKTsNCgkJcmV0dXJuIHNlbGVjdGVkOw0KCX0NCg0KCXJldHVybiBpbnNwZWN0KCBvcHRpb25zLmRhdGFUeXBlc1sgMCBdICkgfHwgIWluc3BlY3RlZFsgIioiIF0gJiYgaW5zcGVjdCggIioiICk7DQp9DQoNCi8vIEEgc3BlY2lhbCBleHRlbmQgZm9yIGFqYXggb3B0aW9ucw0KLy8gdGhhdCB0YWtlcyAiZmxhdCIgb3B0aW9ucyAobm90IHRvIGJlIGRlZXAgZXh0ZW5kZWQpDQovLyBGaXhlcyAjOTg4Nw0KZnVuY3Rpb24gYWpheEV4dGVuZCggdGFyZ2V0LCBzcmMgKSB7DQoJdmFyIGtleSwgZGVlcCwNCgkJZmxhdE9wdGlvbnMgPSBqUXVlcnkuYWpheFNldHRpbmdzLmZsYXRPcHRpb25zIHx8IHt9Ow0KDQoJZm9yICgga2V5IGluIHNyYyApIHsNCgkJaWYgKCBzcmNbIGtleSBdICE9PSB1bmRlZmluZWQgKSB7DQoJCQkoIGZsYXRPcHRpb25zWyBrZXkgXSA/IHRhcmdldCA6ICggZGVlcCB8fCAoIGRlZXAgPSB7fSApICkgKVsga2V5IF0gPSBzcmNbIGtleSBdOw0KCQl9DQoJfQ0KCWlmICggZGVlcCApIHsNCgkJalF1ZXJ5LmV4dGVuZCggdHJ1ZSwgdGFyZ2V0LCBkZWVwICk7DQoJfQ0KDQoJcmV0dXJuIHRhcmdldDsNCn0NCg0KLyogSGFuZGxlcyByZXNwb25zZXMgdG8gYW4gYWpheCByZXF1ZXN0Og0KICogLSBmaW5kcyB0aGUgcmlnaHQgZGF0YVR5cGUgKG1lZGlhdGVzIGJldHdlZW4gY29udGVudC10eXBlIGFuZCBleHBlY3RlZCBkYXRhVHlwZSkNCiAqIC0gcmV0dXJucyB0aGUgY29ycmVzcG9uZGluZyByZXNwb25zZQ0KICovDQpmdW5jdGlvbiBhamF4SGFuZGxlUmVzcG9uc2VzKCBzLCBqcVhIUiwgcmVzcG9uc2VzICkgew0KDQoJdmFyIGN0LCB0eXBlLCBmaW5hbERhdGFUeXBlLCBmaXJzdERhdGFUeXBlLA0KCQljb250ZW50cyA9IHMuY29udGVudHMsDQoJCWRhdGFUeXBlcyA9IHMuZGF0YVR5cGVzOw0KDQoJLy8gUmVtb3ZlIGF1dG8gZGF0YVR5cGUgYW5kIGdldCBjb250ZW50LXR5cGUgaW4gdGhlIHByb2Nlc3MNCgl3aGlsZSAoIGRhdGFUeXBlc1sgMCBdID09PSAiKiIgKSB7DQoJCWRhdGFUeXBlcy5zaGlmdCgpOw0KCQlpZiAoIGN0ID09PSB1bmRlZmluZWQgKSB7DQoJCQljdCA9IHMubWltZVR5cGUgfHwganFYSFIuZ2V0UmVzcG9uc2VIZWFkZXIoICJDb250ZW50LVR5cGUiICk7DQoJCX0NCgl9DQoNCgkvLyBDaGVjayBpZiB3ZSdyZSBkZWFsaW5nIHdpdGggYSBrbm93biBjb250ZW50LXR5cGUNCglpZiAoIGN0ICkgew0KCQlmb3IgKCB0eXBlIGluIGNvbnRlbnRzICkgew0KCQkJaWYgKCBjb250ZW50c1sgdHlwZSBdICYmIGNvbnRlbnRzWyB0eXBlIF0udGVzdCggY3QgKSApIHsNCgkJCQlkYXRhVHlwZXMudW5zaGlmdCggdHlwZSApOw0KCQkJCWJyZWFrOw0KCQkJfQ0KCQl9DQoJfQ0KDQoJLy8gQ2hlY2sgdG8gc2VlIGlmIHdlIGhhdmUgYSByZXNwb25zZSBmb3IgdGhlIGV4cGVjdGVkIGRhdGFUeXBlDQoJaWYgKCBkYXRhVHlwZXNbIDAgXSBpbiByZXNwb25zZXMgKSB7DQoJCWZpbmFsRGF0YVR5cGUgPSBkYXRhVHlwZXNbIDAgXTsNCgl9IGVsc2Ugew0KDQoJCS8vIFRyeSBjb252ZXJ0aWJsZSBkYXRhVHlwZXMNCgkJZm9yICggdHlwZSBpbiByZXNwb25zZXMgKSB7DQoJCQlpZiAoICFkYXRhVHlwZXNbIDAgXSB8fCBzLmNvbnZlcnRlcnNbIHR5cGUgKyAiICIgKyBkYXRhVHlwZXNbIDAgXSBdICkgew0KCQkJCWZpbmFsRGF0YVR5cGUgPSB0eXBlOw0KCQkJCWJyZWFrOw0KCQkJfQ0KCQkJaWYgKCAhZmlyc3REYXRhVHlwZSApIHsNCgkJCQlmaXJzdERhdGFUeXBlID0gdHlwZTsNCgkJCX0NCgkJfQ0KDQoJCS8vIE9yIGp1c3QgdXNlIGZpcnN0IG9uZQ0KCQlmaW5hbERhdGFUeXBlID0gZmluYWxEYXRhVHlwZSB8fCBmaXJzdERhdGFUeXBlOw0KCX0NCg0KCS8vIElmIHdlIGZvdW5kIGEgZGF0YVR5cGUNCgkvLyBXZSBhZGQgdGhlIGRhdGFUeXBlIHRvIHRoZSBsaXN0IGlmIG5lZWRlZA0KCS8vIGFuZCByZXR1cm4gdGhlIGNvcnJlc3BvbmRpbmcgcmVzcG9uc2UNCglpZiAoIGZpbmFsRGF0YVR5cGUgKSB7DQoJCWlmICggZmluYWxEYXRhVHlwZSAhPT0gZGF0YVR5cGVzWyAwIF0gKSB7DQoJCQlkYXRhVHlwZXMudW5zaGlmdCggZmluYWxEYXRhVHlwZSApOw0KCQl9DQoJCXJldHVybiByZXNwb25zZXNbIGZpbmFsRGF0YVR5cGUgXTsNCgl9DQp9DQoNCi8qIENoYWluIGNvbnZlcnNpb25zIGdpdmVuIHRoZSByZXF1ZXN0IGFuZCB0aGUgb3JpZ2luYWwgcmVzcG9uc2UNCiAqIEFsc28gc2V0cyB0aGUgcmVzcG9uc2VYWFggZmllbGRzIG9uIHRoZSBqcVhIUiBpbnN0YW5jZQ0KICovDQpmdW5jdGlvbiBhamF4Q29udmVydCggcywgcmVzcG9uc2UsIGpxWEhSLCBpc1N1Y2Nlc3MgKSB7DQoJdmFyIGNvbnYyLCBjdXJyZW50LCBjb252LCB0bXAsIHByZXYsDQoJCWNvbnZlcnRlcnMgPSB7fSwNCg0KCQkvLyBXb3JrIHdpdGggYSBjb3B5IG9mIGRhdGFUeXBlcyBpbiBjYXNlIHdlIG5lZWQgdG8gbW9kaWZ5IGl0IGZvciBjb252ZXJzaW9uDQoJCWRhdGFUeXBlcyA9IHMuZGF0YVR5cGVzLnNsaWNlKCk7DQoNCgkvLyBDcmVhdGUgY29udmVydGVycyBtYXAgd2l0aCBsb3dlcmNhc2VkIGtleXMNCglpZiAoIGRhdGFUeXBlc1sgMSBdICkgew0KCQlmb3IgKCBjb252IGluIHMuY29udmVydGVycyApIHsNCgkJCWNvbnZlcnRlcnNbIGNvbnYudG9Mb3dlckNhc2UoKSBdID0gcy5jb252ZXJ0ZXJzWyBjb252IF07DQoJCX0NCgl9DQoNCgljdXJyZW50ID0gZGF0YVR5cGVzLnNoaWZ0KCk7DQoNCgkvLyBDb252ZXJ0IHRvIGVhY2ggc2VxdWVudGlhbCBkYXRhVHlwZQ0KCXdoaWxlICggY3VycmVudCApIHsNCg0KCQlpZiAoIHMucmVzcG9uc2VGaWVsZHNbIGN1cnJlbnQgXSApIHsNCgkJCWpxWEhSWyBzLnJlc3BvbnNlRmllbGRzWyBjdXJyZW50IF0gXSA9IHJlc3BvbnNlOw0KCQl9DQoNCgkJLy8gQXBwbHkgdGhlIGRhdGFGaWx0ZXIgaWYgcHJvdmlkZWQNCgkJaWYgKCAhcHJldiAmJiBpc1N1Y2Nlc3MgJiYgcy5kYXRhRmlsdGVyICkgew0KCQkJcmVzcG9uc2UgPSBzLmRhdGFGaWx0ZXIoIHJlc3BvbnNlLCBzLmRhdGFUeXBlICk7DQoJCX0NCg0KCQlwcmV2ID0gY3VycmVudDsNCgkJY3VycmVudCA9IGRhdGFUeXBlcy5zaGlmdCgpOw0KDQoJCWlmICggY3VycmVudCApIHsNCg0KCQkJLy8gVGhlcmUncyBvbmx5IHdvcmsgdG8gZG8gaWYgY3VycmVudCBkYXRhVHlwZSBpcyBub24tYXV0bw0KCQkJaWYgKCBjdXJyZW50ID09PSAiKiIgKSB7DQoNCgkJCQljdXJyZW50ID0gcHJldjsNCg0KCQkJLy8gQ29udmVydCByZXNwb25zZSBpZiBwcmV2IGRhdGFUeXBlIGlzIG5vbi1hdXRvIGFuZCBkaWZmZXJzIGZyb20gY3VycmVudA0KCQkJfSBlbHNlIGlmICggcHJldiAhPT0gIioiICYmIHByZXYgIT09IGN1cnJlbnQgKSB7DQoNCgkJCQkvLyBTZWVrIGEgZGlyZWN0IGNvbnZlcnRlcg0KCQkJCWNvbnYgPSBjb252ZXJ0ZXJzWyBwcmV2ICsgIiAiICsgY3VycmVudCBdIHx8IGNvbnZlcnRlcnNbICIqICIgKyBjdXJyZW50IF07DQoNCgkJCQkvLyBJZiBub25lIGZvdW5kLCBzZWVrIGEgcGFpcg0KCQkJCWlmICggIWNvbnYgKSB7DQoJCQkJCWZvciAoIGNvbnYyIGluIGNvbnZlcnRlcnMgKSB7DQoNCgkJCQkJCS8vIElmIGNvbnYyIG91dHB1dHMgY3VycmVudA0KCQkJCQkJdG1wID0gY29udjIuc3BsaXQoICIgIiApOw0KCQkJCQkJaWYgKCB0bXBbIDEgXSA9PT0gY3VycmVudCApIHsNCg0KCQkJCQkJCS8vIElmIHByZXYgY2FuIGJlIGNvbnZlcnRlZCB0byBhY2NlcHRlZCBpbnB1dA0KCQkJCQkJCWNvbnYgPSBjb252ZXJ0ZXJzWyBwcmV2ICsgIiAiICsgdG1wWyAwIF0gXSB8fA0KCQkJCQkJCQljb252ZXJ0ZXJzWyAiKiAiICsgdG1wWyAwIF0gXTsNCgkJCQkJCQlpZiAoIGNvbnYgKSB7DQoNCgkJCQkJCQkJLy8gQ29uZGVuc2UgZXF1aXZhbGVuY2UgY29udmVydGVycw0KCQkJCQkJCQlpZiAoIGNvbnYgPT09IHRydWUgKSB7DQoJCQkJCQkJCQljb252ID0gY29udmVydGVyc1sgY29udjIgXTsNCg0KCQkJCQkJCQkvLyBPdGhlcndpc2UsIGluc2VydCB0aGUgaW50ZXJtZWRpYXRlIGRhdGFUeXBlDQoJCQkJCQkJCX0gZWxzZSBpZiAoIGNvbnZlcnRlcnNbIGNvbnYyIF0gIT09IHRydWUgKSB7DQoJCQkJCQkJCQljdXJyZW50ID0gdG1wWyAwIF07DQoJCQkJCQkJCQlkYXRhVHlwZXMudW5zaGlmdCggdG1wWyAxIF0gKTsNCgkJCQkJCQkJfQ0KCQkJCQkJCQlicmVhazsNCgkJCQkJCQl9DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQl9DQoNCgkJCQkvLyBBcHBseSBjb252ZXJ0ZXIgKGlmIG5vdCBhbiBlcXVpdmFsZW5jZSkNCgkJCQlpZiAoIGNvbnYgIT09IHRydWUgKSB7DQoNCgkJCQkJLy8gVW5sZXNzIGVycm9ycyBhcmUgYWxsb3dlZCB0byBidWJibGUsIGNhdGNoIGFuZCByZXR1cm4gdGhlbQ0KCQkJCQlpZiAoIGNvbnYgJiYgcy50aHJvd3MgKSB7DQoJCQkJCQlyZXNwb25zZSA9IGNvbnYoIHJlc3BvbnNlICk7DQoJCQkJCX0gZWxzZSB7DQoJCQkJCQl0cnkgew0KCQkJCQkJCXJlc3BvbnNlID0gY29udiggcmVzcG9uc2UgKTsNCgkJCQkJCX0gY2F0Y2ggKCBlICkgew0KCQkJCQkJCXJldHVybiB7DQoJCQkJCQkJCXN0YXRlOiAicGFyc2VyZXJyb3IiLA0KCQkJCQkJCQllcnJvcjogY29udiA/IGUgOiAiTm8gY29udmVyc2lvbiBmcm9tICIgKyBwcmV2ICsgIiB0byAiICsgY3VycmVudA0KCQkJCQkJCX07DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQl9DQoJCQl9DQoJCX0NCgl9DQoNCglyZXR1cm4geyBzdGF0ZTogInN1Y2Nlc3MiLCBkYXRhOiByZXNwb25zZSB9Ow0KfQ0KDQpqUXVlcnkuZXh0ZW5kKCB7DQoNCgkvLyBDb3VudGVyIGZvciBob2xkaW5nIHRoZSBudW1iZXIgb2YgYWN0aXZlIHF1ZXJpZXMNCglhY3RpdmU6IDAsDQoNCgkvLyBMYXN0LU1vZGlmaWVkIGhlYWRlciBjYWNoZSBmb3IgbmV4dCByZXF1ZXN0DQoJbGFzdE1vZGlmaWVkOiB7fSwNCglldGFnOiB7fSwNCg0KCWFqYXhTZXR0aW5nczogew0KCQl1cmw6IGxvY2F0aW9uLmhyZWYsDQoJCXR5cGU6ICJHRVQiLA0KCQlpc0xvY2FsOiBybG9jYWxQcm90b2NvbC50ZXN0KCBsb2NhdGlvbi5wcm90b2NvbCApLA0KCQlnbG9iYWw6IHRydWUsDQoJCXByb2Nlc3NEYXRhOiB0cnVlLA0KCQlhc3luYzogdHJ1ZSwNCgkJY29udGVudFR5cGU6ICJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9VVRGLTgiLA0KDQoJCS8qDQoJCXRpbWVvdXQ6IDAsDQoJCWRhdGE6IG51bGwsDQoJCWRhdGFUeXBlOiBudWxsLA0KCQl1c2VybmFtZTogbnVsbCwNCgkJcGFzc3dvcmQ6IG51bGwsDQoJCWNhY2hlOiBudWxsLA0KCQl0aHJvd3M6IGZhbHNlLA0KCQl0cmFkaXRpb25hbDogZmFsc2UsDQoJCWhlYWRlcnM6IHt9LA0KCQkqLw0KDQoJCWFjY2VwdHM6IHsNCgkJCSIqIjogYWxsVHlwZXMsDQoJCQl0ZXh0OiAidGV4dC9wbGFpbiIsDQoJCQlodG1sOiAidGV4dC9odG1sIiwNCgkJCXhtbDogImFwcGxpY2F0aW9uL3htbCwgdGV4dC94bWwiLA0KCQkJanNvbjogImFwcGxpY2F0aW9uL2pzb24sIHRleHQvamF2YXNjcmlwdCINCgkJfSwNCg0KCQljb250ZW50czogew0KCQkJeG1sOiAvXGJ4bWxcYi8sDQoJCQlodG1sOiAvXGJodG1sLywNCgkJCWpzb246IC9cYmpzb25cYi8NCgkJfSwNCg0KCQlyZXNwb25zZUZpZWxkczogew0KCQkJeG1sOiAicmVzcG9uc2VYTUwiLA0KCQkJdGV4dDogInJlc3BvbnNlVGV4dCIsDQoJCQlqc29uOiAicmVzcG9uc2VKU09OIg0KCQl9LA0KDQoJCS8vIERhdGEgY29udmVydGVycw0KCQkvLyBLZXlzIHNlcGFyYXRlIHNvdXJjZSAob3IgY2F0Y2hhbGwgIioiKSBhbmQgZGVzdGluYXRpb24gdHlwZXMgd2l0aCBhIHNpbmdsZSBzcGFjZQ0KCQljb252ZXJ0ZXJzOiB7DQoNCgkJCS8vIENvbnZlcnQgYW55dGhpbmcgdG8gdGV4dA0KCQkJIiogdGV4dCI6IFN0cmluZywNCg0KCQkJLy8gVGV4dCB0byBodG1sICh0cnVlID0gbm8gdHJhbnNmb3JtYXRpb24pDQoJCQkidGV4dCBodG1sIjogdHJ1ZSwNCg0KCQkJLy8gRXZhbHVhdGUgdGV4dCBhcyBhIGpzb24gZXhwcmVzc2lvbg0KCQkJInRleHQganNvbiI6IEpTT04ucGFyc2UsDQoNCgkJCS8vIFBhcnNlIHRleHQgYXMgeG1sDQoJCQkidGV4dCB4bWwiOiBqUXVlcnkucGFyc2VYTUwNCgkJfSwNCg0KCQkvLyBGb3Igb3B0aW9ucyB0aGF0IHNob3VsZG4ndCBiZSBkZWVwIGV4dGVuZGVkOg0KCQkvLyB5b3UgY2FuIGFkZCB5b3VyIG93biBjdXN0b20gb3B0aW9ucyBoZXJlIGlmDQoJCS8vIGFuZCB3aGVuIHlvdSBjcmVhdGUgb25lIHRoYXQgc2hvdWxkbid0IGJlDQoJCS8vIGRlZXAgZXh0ZW5kZWQgKHNlZSBhamF4RXh0ZW5kKQ0KCQlmbGF0T3B0aW9uczogew0KCQkJdXJsOiB0cnVlLA0KCQkJY29udGV4dDogdHJ1ZQ0KCQl9DQoJfSwNCg0KCS8vIENyZWF0ZXMgYSBmdWxsIGZsZWRnZWQgc2V0dGluZ3Mgb2JqZWN0IGludG8gdGFyZ2V0DQoJLy8gd2l0aCBib3RoIGFqYXhTZXR0aW5ncyBhbmQgc2V0dGluZ3MgZmllbGRzLg0KCS8vIElmIHRhcmdldCBpcyBvbWl0dGVkLCB3cml0ZXMgaW50byBhamF4U2V0dGluZ3MuDQoJYWpheFNldHVwOiBmdW5jdGlvbiggdGFyZ2V0LCBzZXR0aW5ncyApIHsNCgkJcmV0dXJuIHNldHRpbmdzID8NCg0KCQkJLy8gQnVpbGRpbmcgYSBzZXR0aW5ncyBvYmplY3QNCgkJCWFqYXhFeHRlbmQoIGFqYXhFeHRlbmQoIHRhcmdldCwgalF1ZXJ5LmFqYXhTZXR0aW5ncyApLCBzZXR0aW5ncyApIDoNCg0KCQkJLy8gRXh0ZW5kaW5nIGFqYXhTZXR0aW5ncw0KCQkJYWpheEV4dGVuZCggalF1ZXJ5LmFqYXhTZXR0aW5ncywgdGFyZ2V0ICk7DQoJfSwNCg0KCWFqYXhQcmVmaWx0ZXI6IGFkZFRvUHJlZmlsdGVyc09yVHJhbnNwb3J0cyggcHJlZmlsdGVycyApLA0KCWFqYXhUcmFuc3BvcnQ6IGFkZFRvUHJlZmlsdGVyc09yVHJhbnNwb3J0cyggdHJhbnNwb3J0cyApLA0KDQoJLy8gTWFpbiBtZXRob2QNCglhamF4OiBmdW5jdGlvbiggdXJsLCBvcHRpb25zICkgew0KDQoJCS8vIElmIHVybCBpcyBhbiBvYmplY3QsIHNpbXVsYXRlIHByZS0xLjUgc2lnbmF0dXJlDQoJCWlmICggdHlwZW9mIHVybCA9PT0gIm9iamVjdCIgKSB7DQoJCQlvcHRpb25zID0gdXJsOw0KCQkJdXJsID0gdW5kZWZpbmVkOw0KCQl9DQoNCgkJLy8gRm9yY2Ugb3B0aW9ucyB0byBiZSBhbiBvYmplY3QNCgkJb3B0aW9ucyA9IG9wdGlvbnMgfHwge307DQoNCgkJdmFyIHRyYW5zcG9ydCwNCg0KCQkJLy8gVVJMIHdpdGhvdXQgYW50aS1jYWNoZSBwYXJhbQ0KCQkJY2FjaGVVUkwsDQoNCgkJCS8vIFJlc3BvbnNlIGhlYWRlcnMNCgkJCXJlc3BvbnNlSGVhZGVyc1N0cmluZywNCgkJCXJlc3BvbnNlSGVhZGVycywNCg0KCQkJLy8gdGltZW91dCBoYW5kbGUNCgkJCXRpbWVvdXRUaW1lciwNCg0KCQkJLy8gVXJsIGNsZWFudXAgdmFyDQoJCQl1cmxBbmNob3IsDQoNCgkJCS8vIFJlcXVlc3Qgc3RhdGUgKGJlY29tZXMgZmFsc2UgdXBvbiBzZW5kIGFuZCB0cnVlIHVwb24gY29tcGxldGlvbikNCgkJCWNvbXBsZXRlZCwNCg0KCQkJLy8gVG8ga25vdyBpZiBnbG9iYWwgZXZlbnRzIGFyZSB0byBiZSBkaXNwYXRjaGVkDQoJCQlmaXJlR2xvYmFscywNCg0KCQkJLy8gTG9vcCB2YXJpYWJsZQ0KCQkJaSwNCg0KCQkJLy8gdW5jYWNoZWQgcGFydCBvZiB0aGUgdXJsDQoJCQl1bmNhY2hlZCwNCg0KCQkJLy8gQ3JlYXRlIHRoZSBmaW5hbCBvcHRpb25zIG9iamVjdA0KCQkJcyA9IGpRdWVyeS5hamF4U2V0dXAoIHt9LCBvcHRpb25zICksDQoNCgkJCS8vIENhbGxiYWNrcyBjb250ZXh0DQoJCQljYWxsYmFja0NvbnRleHQgPSBzLmNvbnRleHQgfHwgcywNCg0KCQkJLy8gQ29udGV4dCBmb3IgZ2xvYmFsIGV2ZW50cyBpcyBjYWxsYmFja0NvbnRleHQgaWYgaXQgaXMgYSBET00gbm9kZSBvciBqUXVlcnkgY29sbGVjdGlvbg0KCQkJZ2xvYmFsRXZlbnRDb250ZXh0ID0gcy5jb250ZXh0ICYmDQoJCQkJKCBjYWxsYmFja0NvbnRleHQubm9kZVR5cGUgfHwgY2FsbGJhY2tDb250ZXh0LmpxdWVyeSApID8NCgkJCQkJalF1ZXJ5KCBjYWxsYmFja0NvbnRleHQgKSA6DQoJCQkJCWpRdWVyeS5ldmVudCwNCg0KCQkJLy8gRGVmZXJyZWRzDQoJCQlkZWZlcnJlZCA9IGpRdWVyeS5EZWZlcnJlZCgpLA0KCQkJY29tcGxldGVEZWZlcnJlZCA9IGpRdWVyeS5DYWxsYmFja3MoICJvbmNlIG1lbW9yeSIgKSwNCg0KCQkJLy8gU3RhdHVzLWRlcGVuZGVudCBjYWxsYmFja3MNCgkJCXN0YXR1c0NvZGUgPSBzLnN0YXR1c0NvZGUgfHwge30sDQoNCgkJCS8vIEhlYWRlcnMgKHRoZXkgYXJlIHNlbnQgYWxsIGF0IG9uY2UpDQoJCQlyZXF1ZXN0SGVhZGVycyA9IHt9LA0KCQkJcmVxdWVzdEhlYWRlcnNOYW1lcyA9IHt9LA0KDQoJCQkvLyBEZWZhdWx0IGFib3J0IG1lc3NhZ2UNCgkJCXN0ckFib3J0ID0gImNhbmNlbGVkIiwNCg0KCQkJLy8gRmFrZSB4aHINCgkJCWpxWEhSID0gew0KCQkJCXJlYWR5U3RhdGU6IDAsDQoNCgkJCQkvLyBCdWlsZHMgaGVhZGVycyBoYXNodGFibGUgaWYgbmVlZGVkDQoJCQkJZ2V0UmVzcG9uc2VIZWFkZXI6IGZ1bmN0aW9uKCBrZXkgKSB7DQoJCQkJCXZhciBtYXRjaDsNCgkJCQkJaWYgKCBjb21wbGV0ZWQgKSB7DQoJCQkJCQlpZiAoICFyZXNwb25zZUhlYWRlcnMgKSB7DQoJCQkJCQkJcmVzcG9uc2VIZWFkZXJzID0ge307DQoJCQkJCQkJd2hpbGUgKCAoIG1hdGNoID0gcmhlYWRlcnMuZXhlYyggcmVzcG9uc2VIZWFkZXJzU3RyaW5nICkgKSApIHsNCgkJCQkJCQkJcmVzcG9uc2VIZWFkZXJzWyBtYXRjaFsgMSBdLnRvTG93ZXJDYXNlKCkgXSA9IG1hdGNoWyAyIF07DQoJCQkJCQkJfQ0KCQkJCQkJfQ0KCQkJCQkJbWF0Y2ggPSByZXNwb25zZUhlYWRlcnNbIGtleS50b0xvd2VyQ2FzZSgpIF07DQoJCQkJCX0NCgkJCQkJcmV0dXJuIG1hdGNoID09IG51bGwgPyBudWxsIDogbWF0Y2g7DQoJCQkJfSwNCg0KCQkJCS8vIFJhdyBzdHJpbmcNCgkJCQlnZXRBbGxSZXNwb25zZUhlYWRlcnM6IGZ1bmN0aW9uKCkgew0KCQkJCQlyZXR1cm4gY29tcGxldGVkID8gcmVzcG9uc2VIZWFkZXJzU3RyaW5nIDogbnVsbDsNCgkJCQl9LA0KDQoJCQkJLy8gQ2FjaGVzIHRoZSBoZWFkZXINCgkJCQlzZXRSZXF1ZXN0SGVhZGVyOiBmdW5jdGlvbiggbmFtZSwgdmFsdWUgKSB7DQoJCQkJCWlmICggY29tcGxldGVkID09IG51bGwgKSB7DQoJCQkJCQluYW1lID0gcmVxdWVzdEhlYWRlcnNOYW1lc1sgbmFtZS50b0xvd2VyQ2FzZSgpIF0gPQ0KCQkJCQkJCXJlcXVlc3RIZWFkZXJzTmFtZXNbIG5hbWUudG9Mb3dlckNhc2UoKSBdIHx8IG5hbWU7DQoJCQkJCQlyZXF1ZXN0SGVhZGVyc1sgbmFtZSBdID0gdmFsdWU7DQoJCQkJCX0NCgkJCQkJcmV0dXJuIHRoaXM7DQoJCQkJfSwNCg0KCQkJCS8vIE92ZXJyaWRlcyByZXNwb25zZSBjb250ZW50LXR5cGUgaGVhZGVyDQoJCQkJb3ZlcnJpZGVNaW1lVHlwZTogZnVuY3Rpb24oIHR5cGUgKSB7DQoJCQkJCWlmICggY29tcGxldGVkID09IG51bGwgKSB7DQoJCQkJCQlzLm1pbWVUeXBlID0gdHlwZTsNCgkJCQkJfQ0KCQkJCQlyZXR1cm4gdGhpczsNCgkJCQl9LA0KDQoJCQkJLy8gU3RhdHVzLWRlcGVuZGVudCBjYWxsYmFja3MNCgkJCQlzdGF0dXNDb2RlOiBmdW5jdGlvbiggbWFwICkgew0KCQkJCQl2YXIgY29kZTsNCgkJCQkJaWYgKCBtYXAgKSB7DQoJCQkJCQlpZiAoIGNvbXBsZXRlZCApIHsNCg0KCQkJCQkJCS8vIEV4ZWN1dGUgdGhlIGFwcHJvcHJpYXRlIGNhbGxiYWNrcw0KCQkJCQkJCWpxWEhSLmFsd2F5cyggbWFwWyBqcVhIUi5zdGF0dXMgXSApOw0KCQkJCQkJfSBlbHNlIHsNCg0KCQkJCQkJCS8vIExhenktYWRkIHRoZSBuZXcgY2FsbGJhY2tzIGluIGEgd2F5IHRoYXQgcHJlc2VydmVzIG9sZCBvbmVzDQoJCQkJCQkJZm9yICggY29kZSBpbiBtYXAgKSB7DQoJCQkJCQkJCXN0YXR1c0NvZGVbIGNvZGUgXSA9IFsgc3RhdHVzQ29kZVsgY29kZSBdLCBtYXBbIGNvZGUgXSBdOw0KCQkJCQkJCX0NCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCQlyZXR1cm4gdGhpczsNCgkJCQl9LA0KDQoJCQkJLy8gQ2FuY2VsIHRoZSByZXF1ZXN0DQoJCQkJYWJvcnQ6IGZ1bmN0aW9uKCBzdGF0dXNUZXh0ICkgew0KCQkJCQl2YXIgZmluYWxUZXh0ID0gc3RhdHVzVGV4dCB8fCBzdHJBYm9ydDsNCgkJCQkJaWYgKCB0cmFuc3BvcnQgKSB7DQoJCQkJCQl0cmFuc3BvcnQuYWJvcnQoIGZpbmFsVGV4dCApOw0KCQkJCQl9DQoJCQkJCWRvbmUoIDAsIGZpbmFsVGV4dCApOw0KCQkJCQlyZXR1cm4gdGhpczsNCgkJCQl9DQoJCQl9Ow0KDQoJCS8vIEF0dGFjaCBkZWZlcnJlZHMNCgkJZGVmZXJyZWQucHJvbWlzZSgganFYSFIgKTsNCg0KCQkvLyBBZGQgcHJvdG9jb2wgaWYgbm90IHByb3ZpZGVkIChwcmVmaWx0ZXJzIG1pZ2h0IGV4cGVjdCBpdCkNCgkJLy8gSGFuZGxlIGZhbHN5IHVybCBpbiB0aGUgc2V0dGluZ3Mgb2JqZWN0ICgjMTAwOTM6IGNvbnNpc3RlbmN5IHdpdGggb2xkIHNpZ25hdHVyZSkNCgkJLy8gV2UgYWxzbyB1c2UgdGhlIHVybCBwYXJhbWV0ZXIgaWYgYXZhaWxhYmxlDQoJCXMudXJsID0gKCAoIHVybCB8fCBzLnVybCB8fCBsb2NhdGlvbi5ocmVmICkgKyAiIiApDQoJCQkucmVwbGFjZSggcnByb3RvY29sLCBsb2NhdGlvbi5wcm90b2NvbCArICIvLyIgKTsNCg0KCQkvLyBBbGlhcyBtZXRob2Qgb3B0aW9uIHRvIHR5cGUgYXMgcGVyIHRpY2tldCAjMTIwMDQNCgkJcy50eXBlID0gb3B0aW9ucy5tZXRob2QgfHwgb3B0aW9ucy50eXBlIHx8IHMubWV0aG9kIHx8IHMudHlwZTsNCg0KCQkvLyBFeHRyYWN0IGRhdGFUeXBlcyBsaXN0DQoJCXMuZGF0YVR5cGVzID0gKCBzLmRhdGFUeXBlIHx8ICIqIiApLnRvTG93ZXJDYXNlKCkubWF0Y2goIHJub3RodG1sd2hpdGUgKSB8fCBbICIiIF07DQoNCgkJLy8gQSBjcm9zcy1kb21haW4gcmVxdWVzdCBpcyBpbiBvcmRlciB3aGVuIHRoZSBvcmlnaW4gZG9lc24ndCBtYXRjaCB0aGUgY3VycmVudCBvcmlnaW4uDQoJCWlmICggcy5jcm9zc0RvbWFpbiA9PSBudWxsICkgew0KCQkJdXJsQW5jaG9yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggImEiICk7DQoNCgkJCS8vIFN1cHBvcnQ6IElFIDw9OCAtIDExLCBFZGdlIDEyIC0gMTUNCgkJCS8vIElFIHRocm93cyBleGNlcHRpb24gb24gYWNjZXNzaW5nIHRoZSBocmVmIHByb3BlcnR5IGlmIHVybCBpcyBtYWxmb3JtZWQsDQoJCQkvLyBlLmcuIGh0dHA6Ly9leGFtcGxlLmNvbTo4MHgvDQoJCQl0cnkgew0KCQkJCXVybEFuY2hvci5ocmVmID0gcy51cmw7DQoNCgkJCQkvLyBTdXBwb3J0OiBJRSA8PTggLSAxMSBvbmx5DQoJCQkJLy8gQW5jaG9yJ3MgaG9zdCBwcm9wZXJ0eSBpc24ndCBjb3JyZWN0bHkgc2V0IHdoZW4gcy51cmwgaXMgcmVsYXRpdmUNCgkJCQl1cmxBbmNob3IuaHJlZiA9IHVybEFuY2hvci5ocmVmOw0KCQkJCXMuY3Jvc3NEb21haW4gPSBvcmlnaW5BbmNob3IucHJvdG9jb2wgKyAiLy8iICsgb3JpZ2luQW5jaG9yLmhvc3QgIT09DQoJCQkJCXVybEFuY2hvci5wcm90b2NvbCArICIvLyIgKyB1cmxBbmNob3IuaG9zdDsNCgkJCX0gY2F0Y2ggKCBlICkgew0KDQoJCQkJLy8gSWYgdGhlcmUgaXMgYW4gZXJyb3IgcGFyc2luZyB0aGUgVVJMLCBhc3N1bWUgaXQgaXMgY3Jvc3NEb21haW4sDQoJCQkJLy8gaXQgY2FuIGJlIHJlamVjdGVkIGJ5IHRoZSB0cmFuc3BvcnQgaWYgaXQgaXMgaW52YWxpZA0KCQkJCXMuY3Jvc3NEb21haW4gPSB0cnVlOw0KCQkJfQ0KCQl9DQoNCgkJLy8gQ29udmVydCBkYXRhIGlmIG5vdCBhbHJlYWR5IGEgc3RyaW5nDQoJCWlmICggcy5kYXRhICYmIHMucHJvY2Vzc0RhdGEgJiYgdHlwZW9mIHMuZGF0YSAhPT0gInN0cmluZyIgKSB7DQoJCQlzLmRhdGEgPSBqUXVlcnkucGFyYW0oIHMuZGF0YSwgcy50cmFkaXRpb25hbCApOw0KCQl9DQoNCgkJLy8gQXBwbHkgcHJlZmlsdGVycw0KCQlpbnNwZWN0UHJlZmlsdGVyc09yVHJhbnNwb3J0cyggcHJlZmlsdGVycywgcywgb3B0aW9ucywganFYSFIgKTsNCg0KCQkvLyBJZiByZXF1ZXN0IHdhcyBhYm9ydGVkIGluc2lkZSBhIHByZWZpbHRlciwgc3RvcCB0aGVyZQ0KCQlpZiAoIGNvbXBsZXRlZCApIHsNCgkJCXJldHVybiBqcVhIUjsNCgkJfQ0KDQoJCS8vIFdlIGNhbiBmaXJlIGdsb2JhbCBldmVudHMgYXMgb2Ygbm93IGlmIGFza2VkIHRvDQoJCS8vIERvbid0IGZpcmUgZXZlbnRzIGlmIGpRdWVyeS5ldmVudCBpcyB1bmRlZmluZWQgaW4gYW4gQU1ELXVzYWdlIHNjZW5hcmlvICgjMTUxMTgpDQoJCWZpcmVHbG9iYWxzID0galF1ZXJ5LmV2ZW50ICYmIHMuZ2xvYmFsOw0KDQoJCS8vIFdhdGNoIGZvciBhIG5ldyBzZXQgb2YgcmVxdWVzdHMNCgkJaWYgKCBmaXJlR2xvYmFscyAmJiBqUXVlcnkuYWN0aXZlKysgPT09IDAgKSB7DQoJCQlqUXVlcnkuZXZlbnQudHJpZ2dlciggImFqYXhTdGFydCIgKTsNCgkJfQ0KDQoJCS8vIFVwcGVyY2FzZSB0aGUgdHlwZQ0KCQlzLnR5cGUgPSBzLnR5cGUudG9VcHBlckNhc2UoKTsNCg0KCQkvLyBEZXRlcm1pbmUgaWYgcmVxdWVzdCBoYXMgY29udGVudA0KCQlzLmhhc0NvbnRlbnQgPSAhcm5vQ29udGVudC50ZXN0KCBzLnR5cGUgKTsNCg0KCQkvLyBTYXZlIHRoZSBVUkwgaW4gY2FzZSB3ZSdyZSB0b3lpbmcgd2l0aCB0aGUgSWYtTW9kaWZpZWQtU2luY2UNCgkJLy8gYW5kL29yIElmLU5vbmUtTWF0Y2ggaGVhZGVyIGxhdGVyIG9uDQoJCS8vIFJlbW92ZSBoYXNoIHRvIHNpbXBsaWZ5IHVybCBtYW5pcHVsYXRpb24NCgkJY2FjaGVVUkwgPSBzLnVybC5yZXBsYWNlKCByaGFzaCwgIiIgKTsNCg0KCQkvLyBNb3JlIG9wdGlvbnMgaGFuZGxpbmcgZm9yIHJlcXVlc3RzIHdpdGggbm8gY29udGVudA0KCQlpZiAoICFzLmhhc0NvbnRlbnQgKSB7DQoNCgkJCS8vIFJlbWVtYmVyIHRoZSBoYXNoIHNvIHdlIGNhbiBwdXQgaXQgYmFjaw0KCQkJdW5jYWNoZWQgPSBzLnVybC5zbGljZSggY2FjaGVVUkwubGVuZ3RoICk7DQoNCgkJCS8vIElmIGRhdGEgaXMgYXZhaWxhYmxlIGFuZCBzaG91bGQgYmUgcHJvY2Vzc2VkLCBhcHBlbmQgZGF0YSB0byB1cmwNCgkJCWlmICggcy5kYXRhICYmICggcy5wcm9jZXNzRGF0YSB8fCB0eXBlb2Ygcy5kYXRhID09PSAic3RyaW5nIiApICkgew0KCQkJCWNhY2hlVVJMICs9ICggcnF1ZXJ5LnRlc3QoIGNhY2hlVVJMICkgPyAiJiIgOiAiPyIgKSArIHMuZGF0YTsNCg0KCQkJCS8vICM5NjgyOiByZW1vdmUgZGF0YSBzbyB0aGF0IGl0J3Mgbm90IHVzZWQgaW4gYW4gZXZlbnR1YWwgcmV0cnkNCgkJCQlkZWxldGUgcy5kYXRhOw0KCQkJfQ0KDQoJCQkvLyBBZGQgb3IgdXBkYXRlIGFudGktY2FjaGUgcGFyYW0gaWYgbmVlZGVkDQoJCQlpZiAoIHMuY2FjaGUgPT09IGZhbHNlICkgew0KCQkJCWNhY2hlVVJMID0gY2FjaGVVUkwucmVwbGFjZSggcmFudGlDYWNoZSwgIiQxIiApOw0KCQkJCXVuY2FjaGVkID0gKCBycXVlcnkudGVzdCggY2FjaGVVUkwgKSA/ICImIiA6ICI/IiApICsgIl89IiArICggbm9uY2UrKyApICsgdW5jYWNoZWQ7DQoJCQl9DQoNCgkJCS8vIFB1dCBoYXNoIGFuZCBhbnRpLWNhY2hlIG9uIHRoZSBVUkwgdGhhdCB3aWxsIGJlIHJlcXVlc3RlZCAoZ2gtMTczMikNCgkJCXMudXJsID0gY2FjaGVVUkwgKyB1bmNhY2hlZDsNCg0KCQkvLyBDaGFuZ2UgJyUyMCcgdG8gJysnIGlmIHRoaXMgaXMgZW5jb2RlZCBmb3JtIGJvZHkgY29udGVudCAoZ2gtMjY1OCkNCgkJfSBlbHNlIGlmICggcy5kYXRhICYmIHMucHJvY2Vzc0RhdGEgJiYNCgkJCSggcy5jb250ZW50VHlwZSB8fCAiIiApLmluZGV4T2YoICJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiICkgPT09IDAgKSB7DQoJCQlzLmRhdGEgPSBzLmRhdGEucmVwbGFjZSggcjIwLCAiKyIgKTsNCgkJfQ0KDQoJCS8vIFNldCB0aGUgSWYtTW9kaWZpZWQtU2luY2UgYW5kL29yIElmLU5vbmUtTWF0Y2ggaGVhZGVyLCBpZiBpbiBpZk1vZGlmaWVkIG1vZGUuDQoJCWlmICggcy5pZk1vZGlmaWVkICkgew0KCQkJaWYgKCBqUXVlcnkubGFzdE1vZGlmaWVkWyBjYWNoZVVSTCBdICkgew0KCQkJCWpxWEhSLnNldFJlcXVlc3RIZWFkZXIoICJJZi1Nb2RpZmllZC1TaW5jZSIsIGpRdWVyeS5sYXN0TW9kaWZpZWRbIGNhY2hlVVJMIF0gKTsNCgkJCX0NCgkJCWlmICggalF1ZXJ5LmV0YWdbIGNhY2hlVVJMIF0gKSB7DQoJCQkJanFYSFIuc2V0UmVxdWVzdEhlYWRlciggIklmLU5vbmUtTWF0Y2giLCBqUXVlcnkuZXRhZ1sgY2FjaGVVUkwgXSApOw0KCQkJfQ0KCQl9DQoNCgkJLy8gU2V0IHRoZSBjb3JyZWN0IGhlYWRlciwgaWYgZGF0YSBpcyBiZWluZyBzZW50DQoJCWlmICggcy5kYXRhICYmIHMuaGFzQ29udGVudCAmJiBzLmNvbnRlbnRUeXBlICE9PSBmYWxzZSB8fCBvcHRpb25zLmNvbnRlbnRUeXBlICkgew0KCQkJanFYSFIuc2V0UmVxdWVzdEhlYWRlciggIkNvbnRlbnQtVHlwZSIsIHMuY29udGVudFR5cGUgKTsNCgkJfQ0KDQoJCS8vIFNldCB0aGUgQWNjZXB0cyBoZWFkZXIgZm9yIHRoZSBzZXJ2ZXIsIGRlcGVuZGluZyBvbiB0aGUgZGF0YVR5cGUNCgkJanFYSFIuc2V0UmVxdWVzdEhlYWRlcigNCgkJCSJBY2NlcHQiLA0KCQkJcy5kYXRhVHlwZXNbIDAgXSAmJiBzLmFjY2VwdHNbIHMuZGF0YVR5cGVzWyAwIF0gXSA/DQoJCQkJcy5hY2NlcHRzWyBzLmRhdGFUeXBlc1sgMCBdIF0gKw0KCQkJCQkoIHMuZGF0YVR5cGVzWyAwIF0gIT09ICIqIiA/ICIsICIgKyBhbGxUeXBlcyArICI7IHE9MC4wMSIgOiAiIiApIDoNCgkJCQlzLmFjY2VwdHNbICIqIiBdDQoJCSk7DQoNCgkJLy8gQ2hlY2sgZm9yIGhlYWRlcnMgb3B0aW9uDQoJCWZvciAoIGkgaW4gcy5oZWFkZXJzICkgew0KCQkJanFYSFIuc2V0UmVxdWVzdEhlYWRlciggaSwgcy5oZWFkZXJzWyBpIF0gKTsNCgkJfQ0KDQoJCS8vIEFsbG93IGN1c3RvbSBoZWFkZXJzL21pbWV0eXBlcyBhbmQgZWFybHkgYWJvcnQNCgkJaWYgKCBzLmJlZm9yZVNlbmQgJiYNCgkJCSggcy5iZWZvcmVTZW5kLmNhbGwoIGNhbGxiYWNrQ29udGV4dCwganFYSFIsIHMgKSA9PT0gZmFsc2UgfHwgY29tcGxldGVkICkgKSB7DQoNCgkJCS8vIEFib3J0IGlmIG5vdCBkb25lIGFscmVhZHkgYW5kIHJldHVybg0KCQkJcmV0dXJuIGpxWEhSLmFib3J0KCk7DQoJCX0NCg0KCQkvLyBBYm9ydGluZyBpcyBubyBsb25nZXIgYSBjYW5jZWxsYXRpb24NCgkJc3RyQWJvcnQgPSAiYWJvcnQiOw0KDQoJCS8vIEluc3RhbGwgY2FsbGJhY2tzIG9uIGRlZmVycmVkcw0KCQljb21wbGV0ZURlZmVycmVkLmFkZCggcy5jb21wbGV0ZSApOw0KCQlqcVhIUi5kb25lKCBzLnN1Y2Nlc3MgKTsNCgkJanFYSFIuZmFpbCggcy5lcnJvciApOw0KDQoJCS8vIEdldCB0cmFuc3BvcnQNCgkJdHJhbnNwb3J0ID0gaW5zcGVjdFByZWZpbHRlcnNPclRyYW5zcG9ydHMoIHRyYW5zcG9ydHMsIHMsIG9wdGlvbnMsIGpxWEhSICk7DQoNCgkJLy8gSWYgbm8gdHJhbnNwb3J0LCB3ZSBhdXRvLWFib3J0DQoJCWlmICggIXRyYW5zcG9ydCApIHsNCgkJCWRvbmUoIC0xLCAiTm8gVHJhbnNwb3J0IiApOw0KCQl9IGVsc2Ugew0KCQkJanFYSFIucmVhZHlTdGF0ZSA9IDE7DQoNCgkJCS8vIFNlbmQgZ2xvYmFsIGV2ZW50DQoJCQlpZiAoIGZpcmVHbG9iYWxzICkgew0KCQkJCWdsb2JhbEV2ZW50Q29udGV4dC50cmlnZ2VyKCAiYWpheFNlbmQiLCBbIGpxWEhSLCBzIF0gKTsNCgkJCX0NCg0KCQkJLy8gSWYgcmVxdWVzdCB3YXMgYWJvcnRlZCBpbnNpZGUgYWpheFNlbmQsIHN0b3AgdGhlcmUNCgkJCWlmICggY29tcGxldGVkICkgew0KCQkJCXJldHVybiBqcVhIUjsNCgkJCX0NCg0KCQkJLy8gVGltZW91dA0KCQkJaWYgKCBzLmFzeW5jICYmIHMudGltZW91dCA+IDAgKSB7DQoJCQkJdGltZW91dFRpbWVyID0gd2luZG93LnNldFRpbWVvdXQoIGZ1bmN0aW9uKCkgew0KCQkJCQlqcVhIUi5hYm9ydCggInRpbWVvdXQiICk7DQoJCQkJfSwgcy50aW1lb3V0ICk7DQoJCQl9DQoNCgkJCXRyeSB7DQoJCQkJY29tcGxldGVkID0gZmFsc2U7DQoJCQkJdHJhbnNwb3J0LnNlbmQoIHJlcXVlc3RIZWFkZXJzLCBkb25lICk7DQoJCQl9IGNhdGNoICggZSApIHsNCg0KCQkJCS8vIFJldGhyb3cgcG9zdC1jb21wbGV0aW9uIGV4Y2VwdGlvbnMNCgkJCQlpZiAoIGNvbXBsZXRlZCApIHsNCgkJCQkJdGhyb3cgZTsNCgkJCQl9DQoNCgkJCQkvLyBQcm9wYWdhdGUgb3RoZXJzIGFzIHJlc3VsdHMNCgkJCQlkb25lKCAtMSwgZSApOw0KCQkJfQ0KCQl9DQoNCgkJLy8gQ2FsbGJhY2sgZm9yIHdoZW4gZXZlcnl0aGluZyBpcyBkb25lDQoJCWZ1bmN0aW9uIGRvbmUoIHN0YXR1cywgbmF0aXZlU3RhdHVzVGV4dCwgcmVzcG9uc2VzLCBoZWFkZXJzICkgew0KCQkJdmFyIGlzU3VjY2Vzcywgc3VjY2VzcywgZXJyb3IsIHJlc3BvbnNlLCBtb2RpZmllZCwNCgkJCQlzdGF0dXNUZXh0ID0gbmF0aXZlU3RhdHVzVGV4dDsNCg0KCQkJLy8gSWdub3JlIHJlcGVhdCBpbnZvY2F0aW9ucw0KCQkJaWYgKCBjb21wbGV0ZWQgKSB7DQoJCQkJcmV0dXJuOw0KCQkJfQ0KDQoJCQljb21wbGV0ZWQgPSB0cnVlOw0KDQoJCQkvLyBDbGVhciB0aW1lb3V0IGlmIGl0IGV4aXN0cw0KCQkJaWYgKCB0aW1lb3V0VGltZXIgKSB7DQoJCQkJd2luZG93LmNsZWFyVGltZW91dCggdGltZW91dFRpbWVyICk7DQoJCQl9DQoNCgkJCS8vIERlcmVmZXJlbmNlIHRyYW5zcG9ydCBmb3IgZWFybHkgZ2FyYmFnZSBjb2xsZWN0aW9uDQoJCQkvLyAobm8gbWF0dGVyIGhvdyBsb25nIHRoZSBqcVhIUiBvYmplY3Qgd2lsbCBiZSB1c2VkKQ0KCQkJdHJhbnNwb3J0ID0gdW5kZWZpbmVkOw0KDQoJCQkvLyBDYWNoZSByZXNwb25zZSBoZWFkZXJzDQoJCQlyZXNwb25zZUhlYWRlcnNTdHJpbmcgPSBoZWFkZXJzIHx8ICIiOw0KDQoJCQkvLyBTZXQgcmVhZHlTdGF0ZQ0KCQkJanFYSFIucmVhZHlTdGF0ZSA9IHN0YXR1cyA+IDAgPyA0IDogMDsNCg0KCQkJLy8gRGV0ZXJtaW5lIGlmIHN1Y2Nlc3NmdWwNCgkJCWlzU3VjY2VzcyA9IHN0YXR1cyA+PSAyMDAgJiYgc3RhdHVzIDwgMzAwIHx8IHN0YXR1cyA9PT0gMzA0Ow0KDQoJCQkvLyBHZXQgcmVzcG9uc2UgZGF0YQ0KCQkJaWYgKCByZXNwb25zZXMgKSB7DQoJCQkJcmVzcG9uc2UgPSBhamF4SGFuZGxlUmVzcG9uc2VzKCBzLCBqcVhIUiwgcmVzcG9uc2VzICk7DQoJCQl9DQoNCgkJCS8vIENvbnZlcnQgbm8gbWF0dGVyIHdoYXQgKHRoYXQgd2F5IHJlc3BvbnNlWFhYIGZpZWxkcyBhcmUgYWx3YXlzIHNldCkNCgkJCXJlc3BvbnNlID0gYWpheENvbnZlcnQoIHMsIHJlc3BvbnNlLCBqcVhIUiwgaXNTdWNjZXNzICk7DQoNCgkJCS8vIElmIHN1Y2Nlc3NmdWwsIGhhbmRsZSB0eXBlIGNoYWluaW5nDQoJCQlpZiAoIGlzU3VjY2VzcyApIHsNCg0KCQkJCS8vIFNldCB0aGUgSWYtTW9kaWZpZWQtU2luY2UgYW5kL29yIElmLU5vbmUtTWF0Y2ggaGVhZGVyLCBpZiBpbiBpZk1vZGlmaWVkIG1vZGUuDQoJCQkJaWYgKCBzLmlmTW9kaWZpZWQgKSB7DQoJCQkJCW1vZGlmaWVkID0ganFYSFIuZ2V0UmVzcG9uc2VIZWFkZXIoICJMYXN0LU1vZGlmaWVkIiApOw0KCQkJCQlpZiAoIG1vZGlmaWVkICkgew0KCQkJCQkJalF1ZXJ5Lmxhc3RNb2RpZmllZFsgY2FjaGVVUkwgXSA9IG1vZGlmaWVkOw0KCQkJCQl9DQoJCQkJCW1vZGlmaWVkID0ganFYSFIuZ2V0UmVzcG9uc2VIZWFkZXIoICJldGFnIiApOw0KCQkJCQlpZiAoIG1vZGlmaWVkICkgew0KCQkJCQkJalF1ZXJ5LmV0YWdbIGNhY2hlVVJMIF0gPSBtb2RpZmllZDsNCgkJCQkJfQ0KCQkJCX0NCg0KCQkJCS8vIGlmIG5vIGNvbnRlbnQNCgkJCQlpZiAoIHN0YXR1cyA9PT0gMjA0IHx8IHMudHlwZSA9PT0gIkhFQUQiICkgew0KCQkJCQlzdGF0dXNUZXh0ID0gIm5vY29udGVudCI7DQoNCgkJCQkvLyBpZiBub3QgbW9kaWZpZWQNCgkJCQl9IGVsc2UgaWYgKCBzdGF0dXMgPT09IDMwNCApIHsNCgkJCQkJc3RhdHVzVGV4dCA9ICJub3Rtb2RpZmllZCI7DQoNCgkJCQkvLyBJZiB3ZSBoYXZlIGRhdGEsIGxldCdzIGNvbnZlcnQgaXQNCgkJCQl9IGVsc2Ugew0KCQkJCQlzdGF0dXNUZXh0ID0gcmVzcG9uc2Uuc3RhdGU7DQoJCQkJCXN1Y2Nlc3MgPSByZXNwb25zZS5kYXRhOw0KCQkJCQllcnJvciA9IHJlc3BvbnNlLmVycm9yOw0KCQkJCQlpc1N1Y2Nlc3MgPSAhZXJyb3I7DQoJCQkJfQ0KCQkJfSBlbHNlIHsNCg0KCQkJCS8vIEV4dHJhY3QgZXJyb3IgZnJvbSBzdGF0dXNUZXh0IGFuZCBub3JtYWxpemUgZm9yIG5vbi1hYm9ydHMNCgkJCQllcnJvciA9IHN0YXR1c1RleHQ7DQoJCQkJaWYgKCBzdGF0dXMgfHwgIXN0YXR1c1RleHQgKSB7DQoJCQkJCXN0YXR1c1RleHQgPSAiZXJyb3IiOw0KCQkJCQlpZiAoIHN0YXR1cyA8IDAgKSB7DQoJCQkJCQlzdGF0dXMgPSAwOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KDQoJCQkvLyBTZXQgZGF0YSBmb3IgdGhlIGZha2UgeGhyIG9iamVjdA0KCQkJanFYSFIuc3RhdHVzID0gc3RhdHVzOw0KCQkJanFYSFIuc3RhdHVzVGV4dCA9ICggbmF0aXZlU3RhdHVzVGV4dCB8fCBzdGF0dXNUZXh0ICkgKyAiIjsNCg0KCQkJLy8gU3VjY2Vzcy9FcnJvcg0KCQkJaWYgKCBpc1N1Y2Nlc3MgKSB7DQoJCQkJZGVmZXJyZWQucmVzb2x2ZVdpdGgoIGNhbGxiYWNrQ29udGV4dCwgWyBzdWNjZXNzLCBzdGF0dXNUZXh0LCBqcVhIUiBdICk7DQoJCQl9IGVsc2Ugew0KCQkJCWRlZmVycmVkLnJlamVjdFdpdGgoIGNhbGxiYWNrQ29udGV4dCwgWyBqcVhIUiwgc3RhdHVzVGV4dCwgZXJyb3IgXSApOw0KCQkJfQ0KDQoJCQkvLyBTdGF0dXMtZGVwZW5kZW50IGNhbGxiYWNrcw0KCQkJanFYSFIuc3RhdHVzQ29kZSggc3RhdHVzQ29kZSApOw0KCQkJc3RhdHVzQ29kZSA9IHVuZGVmaW5lZDsNCg0KCQkJaWYgKCBmaXJlR2xvYmFscyApIHsNCgkJCQlnbG9iYWxFdmVudENvbnRleHQudHJpZ2dlciggaXNTdWNjZXNzID8gImFqYXhTdWNjZXNzIiA6ICJhamF4RXJyb3IiLA0KCQkJCQlbIGpxWEhSLCBzLCBpc1N1Y2Nlc3MgPyBzdWNjZXNzIDogZXJyb3IgXSApOw0KCQkJfQ0KDQoJCQkvLyBDb21wbGV0ZQ0KCQkJY29tcGxldGVEZWZlcnJlZC5maXJlV2l0aCggY2FsbGJhY2tDb250ZXh0LCBbIGpxWEhSLCBzdGF0dXNUZXh0IF0gKTsNCg0KCQkJaWYgKCBmaXJlR2xvYmFscyApIHsNCgkJCQlnbG9iYWxFdmVudENvbnRleHQudHJpZ2dlciggImFqYXhDb21wbGV0ZSIsIFsganFYSFIsIHMgXSApOw0KDQoJCQkJLy8gSGFuZGxlIHRoZSBnbG9iYWwgQUpBWCBjb3VudGVyDQoJCQkJaWYgKCAhKCAtLWpRdWVyeS5hY3RpdmUgKSApIHsNCgkJCQkJalF1ZXJ5LmV2ZW50LnRyaWdnZXIoICJhamF4U3RvcCIgKTsNCgkJCQl9DQoJCQl9DQoJCX0NCg0KCQlyZXR1cm4ganFYSFI7DQoJfSwNCg0KCWdldEpTT046IGZ1bmN0aW9uKCB1cmwsIGRhdGEsIGNhbGxiYWNrICkgew0KCQlyZXR1cm4galF1ZXJ5LmdldCggdXJsLCBkYXRhLCBjYWxsYmFjaywgImpzb24iICk7DQoJfSwNCg0KCWdldFNjcmlwdDogZnVuY3Rpb24oIHVybCwgY2FsbGJhY2sgKSB7DQoJCXJldHVybiBqUXVlcnkuZ2V0KCB1cmwsIHVuZGVmaW5lZCwgY2FsbGJhY2ssICJzY3JpcHQiICk7DQoJfQ0KfSApOw0KDQpqUXVlcnkuZWFjaCggWyAiZ2V0IiwgInBvc3QiIF0sIGZ1bmN0aW9uKCBpLCBtZXRob2QgKSB7DQoJalF1ZXJ5WyBtZXRob2QgXSA9IGZ1bmN0aW9uKCB1cmwsIGRhdGEsIGNhbGxiYWNrLCB0eXBlICkgew0KDQoJCS8vIFNoaWZ0IGFyZ3VtZW50cyBpZiBkYXRhIGFyZ3VtZW50IHdhcyBvbWl0dGVkDQoJCWlmICggaXNGdW5jdGlvbiggZGF0YSApICkgew0KCQkJdHlwZSA9IHR5cGUgfHwgY2FsbGJhY2s7DQoJCQljYWxsYmFjayA9IGRhdGE7DQoJCQlkYXRhID0gdW5kZWZpbmVkOw0KCQl9DQoNCgkJLy8gVGhlIHVybCBjYW4gYmUgYW4gb3B0aW9ucyBvYmplY3QgKHdoaWNoIHRoZW4gbXVzdCBoYXZlIC51cmwpDQoJCXJldHVybiBqUXVlcnkuYWpheCggalF1ZXJ5LmV4dGVuZCggew0KCQkJdXJsOiB1cmwsDQoJCQl0eXBlOiBtZXRob2QsDQoJCQlkYXRhVHlwZTogdHlwZSwNCgkJCWRhdGE6IGRhdGEsDQoJCQlzdWNjZXNzOiBjYWxsYmFjaw0KCQl9LCBqUXVlcnkuaXNQbGFpbk9iamVjdCggdXJsICkgJiYgdXJsICkgKTsNCgl9Ow0KfSApOw0KDQoNCmpRdWVyeS5fZXZhbFVybCA9IGZ1bmN0aW9uKCB1cmwgKSB7DQoJcmV0dXJuIGpRdWVyeS5hamF4KCB7DQoJCXVybDogdXJsLA0KDQoJCS8vIE1ha2UgdGhpcyBleHBsaWNpdCwgc2luY2UgdXNlciBjYW4gb3ZlcnJpZGUgdGhpcyB0aHJvdWdoIGFqYXhTZXR1cCAoIzExMjY0KQ0KCQl0eXBlOiAiR0VUIiwNCgkJZGF0YVR5cGU6ICJzY3JpcHQiLA0KCQljYWNoZTogdHJ1ZSwNCgkJYXN5bmM6IGZhbHNlLA0KCQlnbG9iYWw6IGZhbHNlLA0KCQkidGhyb3dzIjogdHJ1ZQ0KCX0gKTsNCn07DQoNCg0KalF1ZXJ5LmZuLmV4dGVuZCggew0KCXdyYXBBbGw6IGZ1bmN0aW9uKCBodG1sICkgew0KCQl2YXIgd3JhcDsNCg0KCQlpZiAoIHRoaXNbIDAgXSApIHsNCgkJCWlmICggaXNGdW5jdGlvbiggaHRtbCApICkgew0KCQkJCWh0bWwgPSBodG1sLmNhbGwoIHRoaXNbIDAgXSApOw0KCQkJfQ0KDQoJCQkvLyBUaGUgZWxlbWVudHMgdG8gd3JhcCB0aGUgdGFyZ2V0IGFyb3VuZA0KCQkJd3JhcCA9IGpRdWVyeSggaHRtbCwgdGhpc1sgMCBdLm93bmVyRG9jdW1lbnQgKS5lcSggMCApLmNsb25lKCB0cnVlICk7DQoNCgkJCWlmICggdGhpc1sgMCBdLnBhcmVudE5vZGUgKSB7DQoJCQkJd3JhcC5pbnNlcnRCZWZvcmUoIHRoaXNbIDAgXSApOw0KCQkJfQ0KDQoJCQl3cmFwLm1hcCggZnVuY3Rpb24oKSB7DQoJCQkJdmFyIGVsZW0gPSB0aGlzOw0KDQoJCQkJd2hpbGUgKCBlbGVtLmZpcnN0RWxlbWVudENoaWxkICkgew0KCQkJCQllbGVtID0gZWxlbS5maXJzdEVsZW1lbnRDaGlsZDsNCgkJCQl9DQoNCgkJCQlyZXR1cm4gZWxlbTsNCgkJCX0gKS5hcHBlbmQoIHRoaXMgKTsNCgkJfQ0KDQoJCXJldHVybiB0aGlzOw0KCX0sDQoNCgl3cmFwSW5uZXI6IGZ1bmN0aW9uKCBodG1sICkgew0KCQlpZiAoIGlzRnVuY3Rpb24oIGh0bWwgKSApIHsNCgkJCXJldHVybiB0aGlzLmVhY2goIGZ1bmN0aW9uKCBpICkgew0KCQkJCWpRdWVyeSggdGhpcyApLndyYXBJbm5lciggaHRtbC5jYWxsKCB0aGlzLCBpICkgKTsNCgkJCX0gKTsNCgkJfQ0KDQoJCXJldHVybiB0aGlzLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJdmFyIHNlbGYgPSBqUXVlcnkoIHRoaXMgKSwNCgkJCQljb250ZW50cyA9IHNlbGYuY29udGVudHMoKTsNCg0KCQkJaWYgKCBjb250ZW50cy5sZW5ndGggKSB7DQoJCQkJY29udGVudHMud3JhcEFsbCggaHRtbCApOw0KDQoJCQl9IGVsc2Ugew0KCQkJCXNlbGYuYXBwZW5kKCBodG1sICk7DQoJCQl9DQoJCX0gKTsNCgl9LA0KDQoJd3JhcDogZnVuY3Rpb24oIGh0bWwgKSB7DQoJCXZhciBodG1sSXNGdW5jdGlvbiA9IGlzRnVuY3Rpb24oIGh0bWwgKTsNCg0KCQlyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbiggaSApIHsNCgkJCWpRdWVyeSggdGhpcyApLndyYXBBbGwoIGh0bWxJc0Z1bmN0aW9uID8gaHRtbC5jYWxsKCB0aGlzLCBpICkgOiBodG1sICk7DQoJCX0gKTsNCgl9LA0KDQoJdW53cmFwOiBmdW5jdGlvbiggc2VsZWN0b3IgKSB7DQoJCXRoaXMucGFyZW50KCBzZWxlY3RvciApLm5vdCggImJvZHkiICkuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQlqUXVlcnkoIHRoaXMgKS5yZXBsYWNlV2l0aCggdGhpcy5jaGlsZE5vZGVzICk7DQoJCX0gKTsNCgkJcmV0dXJuIHRoaXM7DQoJfQ0KfSApOw0KDQoNCmpRdWVyeS5leHByLnBzZXVkb3MuaGlkZGVuID0gZnVuY3Rpb24oIGVsZW0gKSB7DQoJcmV0dXJuICFqUXVlcnkuZXhwci5wc2V1ZG9zLnZpc2libGUoIGVsZW0gKTsNCn07DQpqUXVlcnkuZXhwci5wc2V1ZG9zLnZpc2libGUgPSBmdW5jdGlvbiggZWxlbSApIHsNCglyZXR1cm4gISEoIGVsZW0ub2Zmc2V0V2lkdGggfHwgZWxlbS5vZmZzZXRIZWlnaHQgfHwgZWxlbS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCApOw0KfTsNCg0KDQoNCg0KalF1ZXJ5LmFqYXhTZXR0aW5ncy54aHIgPSBmdW5jdGlvbigpIHsNCgl0cnkgew0KCQlyZXR1cm4gbmV3IHdpbmRvdy5YTUxIdHRwUmVxdWVzdCgpOw0KCX0gY2F0Y2ggKCBlICkge30NCn07DQoNCnZhciB4aHJTdWNjZXNzU3RhdHVzID0gew0KDQoJCS8vIEZpbGUgcHJvdG9jb2wgYWx3YXlzIHlpZWxkcyBzdGF0dXMgY29kZSAwLCBhc3N1bWUgMjAwDQoJCTA6IDIwMCwNCg0KCQkvLyBTdXBwb3J0OiBJRSA8PTkgb25seQ0KCQkvLyAjMTQ1MDogc29tZXRpbWVzIElFIHJldHVybnMgMTIyMyB3aGVuIGl0IHNob3VsZCBiZSAyMDQNCgkJMTIyMzogMjA0DQoJfSwNCgl4aHJTdXBwb3J0ZWQgPSBqUXVlcnkuYWpheFNldHRpbmdzLnhocigpOw0KDQpzdXBwb3J0LmNvcnMgPSAhIXhoclN1cHBvcnRlZCAmJiAoICJ3aXRoQ3JlZGVudGlhbHMiIGluIHhoclN1cHBvcnRlZCApOw0Kc3VwcG9ydC5hamF4ID0geGhyU3VwcG9ydGVkID0gISF4aHJTdXBwb3J0ZWQ7DQoNCmpRdWVyeS5hamF4VHJhbnNwb3J0KCBmdW5jdGlvbiggb3B0aW9ucyApIHsNCgl2YXIgY2FsbGJhY2ssIGVycm9yQ2FsbGJhY2s7DQoNCgkvLyBDcm9zcyBkb21haW4gb25seSBhbGxvd2VkIGlmIHN1cHBvcnRlZCB0aHJvdWdoIFhNTEh0dHBSZXF1ZXN0DQoJaWYgKCBzdXBwb3J0LmNvcnMgfHwgeGhyU3VwcG9ydGVkICYmICFvcHRpb25zLmNyb3NzRG9tYWluICkgew0KCQlyZXR1cm4gew0KCQkJc2VuZDogZnVuY3Rpb24oIGhlYWRlcnMsIGNvbXBsZXRlICkgew0KCQkJCXZhciBpLA0KCQkJCQl4aHIgPSBvcHRpb25zLnhocigpOw0KDQoJCQkJeGhyLm9wZW4oDQoJCQkJCW9wdGlvbnMudHlwZSwNCgkJCQkJb3B0aW9ucy51cmwsDQoJCQkJCW9wdGlvbnMuYXN5bmMsDQoJCQkJCW9wdGlvbnMudXNlcm5hbWUsDQoJCQkJCW9wdGlvbnMucGFzc3dvcmQNCgkJCQkpOw0KDQoJCQkJLy8gQXBwbHkgY3VzdG9tIGZpZWxkcyBpZiBwcm92aWRlZA0KCQkJCWlmICggb3B0aW9ucy54aHJGaWVsZHMgKSB7DQoJCQkJCWZvciAoIGkgaW4gb3B0aW9ucy54aHJGaWVsZHMgKSB7DQoJCQkJCQl4aHJbIGkgXSA9IG9wdGlvbnMueGhyRmllbGRzWyBpIF07DQoJCQkJCX0NCgkJCQl9DQoNCgkJCQkvLyBPdmVycmlkZSBtaW1lIHR5cGUgaWYgbmVlZGVkDQoJCQkJaWYgKCBvcHRpb25zLm1pbWVUeXBlICYmIHhoci5vdmVycmlkZU1pbWVUeXBlICkgew0KCQkJCQl4aHIub3ZlcnJpZGVNaW1lVHlwZSggb3B0aW9ucy5taW1lVHlwZSApOw0KCQkJCX0NCg0KCQkJCS8vIFgtUmVxdWVzdGVkLVdpdGggaGVhZGVyDQoJCQkJLy8gRm9yIGNyb3NzLWRvbWFpbiByZXF1ZXN0cywgc2VlaW5nIGFzIGNvbmRpdGlvbnMgZm9yIGEgcHJlZmxpZ2h0IGFyZQ0KCQkJCS8vIGFraW4gdG8gYSBqaWdzYXcgcHV6emxlLCB3ZSBzaW1wbHkgbmV2ZXIgc2V0IGl0IHRvIGJlIHN1cmUuDQoJCQkJLy8gKGl0IGNhbiBhbHdheXMgYmUgc2V0IG9uIGEgcGVyLXJlcXVlc3QgYmFzaXMgb3IgZXZlbiB1c2luZyBhamF4U2V0dXApDQoJCQkJLy8gRm9yIHNhbWUtZG9tYWluIHJlcXVlc3RzLCB3b24ndCBjaGFuZ2UgaGVhZGVyIGlmIGFscmVhZHkgcHJvdmlkZWQuDQoJCQkJaWYgKCAhb3B0aW9ucy5jcm9zc0RvbWFpbiAmJiAhaGVhZGVyc1sgIlgtUmVxdWVzdGVkLVdpdGgiIF0gKSB7DQoJCQkJCWhlYWRlcnNbICJYLVJlcXVlc3RlZC1XaXRoIiBdID0gIlhNTEh0dHBSZXF1ZXN0IjsNCgkJCQl9DQoNCgkJCQkvLyBTZXQgaGVhZGVycw0KCQkJCWZvciAoIGkgaW4gaGVhZGVycyApIHsNCgkJCQkJeGhyLnNldFJlcXVlc3RIZWFkZXIoIGksIGhlYWRlcnNbIGkgXSApOw0KCQkJCX0NCg0KCQkJCS8vIENhbGxiYWNrDQoJCQkJY2FsbGJhY2sgPSBmdW5jdGlvbiggdHlwZSApIHsNCgkJCQkJcmV0dXJuIGZ1bmN0aW9uKCkgew0KCQkJCQkJaWYgKCBjYWxsYmFjayApIHsNCgkJCQkJCQljYWxsYmFjayA9IGVycm9yQ2FsbGJhY2sgPSB4aHIub25sb2FkID0NCgkJCQkJCQkJeGhyLm9uZXJyb3IgPSB4aHIub25hYm9ydCA9IHhoci5vbnRpbWVvdXQgPQ0KCQkJCQkJCQkJeGhyLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IG51bGw7DQoNCgkJCQkJCQlpZiAoIHR5cGUgPT09ICJhYm9ydCIgKSB7DQoJCQkJCQkJCXhoci5hYm9ydCgpOw0KCQkJCQkJCX0gZWxzZSBpZiAoIHR5cGUgPT09ICJlcnJvciIgKSB7DQoNCgkJCQkJCQkJLy8gU3VwcG9ydDogSUUgPD05IG9ubHkNCgkJCQkJCQkJLy8gT24gYSBtYW51YWwgbmF0aXZlIGFib3J0LCBJRTkgdGhyb3dzDQoJCQkJCQkJCS8vIGVycm9ycyBvbiBhbnkgcHJvcGVydHkgYWNjZXNzIHRoYXQgaXMgbm90IHJlYWR5U3RhdGUNCgkJCQkJCQkJaWYgKCB0eXBlb2YgeGhyLnN0YXR1cyAhPT0gIm51bWJlciIgKSB7DQoJCQkJCQkJCQljb21wbGV0ZSggMCwgImVycm9yIiApOw0KCQkJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCQkJY29tcGxldGUoDQoNCgkJCQkJCQkJCQkvLyBGaWxlOiBwcm90b2NvbCBhbHdheXMgeWllbGRzIHN0YXR1cyAwOyBzZWUgIzg2MDUsICMxNDIwNw0KCQkJCQkJCQkJCXhoci5zdGF0dXMsDQoJCQkJCQkJCQkJeGhyLnN0YXR1c1RleHQNCgkJCQkJCQkJCSk7DQoJCQkJCQkJCX0NCgkJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCQljb21wbGV0ZSgNCgkJCQkJCQkJCXhoclN1Y2Nlc3NTdGF0dXNbIHhoci5zdGF0dXMgXSB8fCB4aHIuc3RhdHVzLA0KCQkJCQkJCQkJeGhyLnN0YXR1c1RleHQsDQoNCgkJCQkJCQkJCS8vIFN1cHBvcnQ6IElFIDw9OSBvbmx5DQoJCQkJCQkJCQkvLyBJRTkgaGFzIG5vIFhIUjIgYnV0IHRocm93cyBvbiBiaW5hcnkgKHRyYWMtMTE0MjYpDQoJCQkJCQkJCQkvLyBGb3IgWEhSMiBub24tdGV4dCwgbGV0IHRoZSBjYWxsZXIgaGFuZGxlIGl0IChnaC0yNDk4KQ0KCQkJCQkJCQkJKCB4aHIucmVzcG9uc2VUeXBlIHx8ICJ0ZXh0IiApICE9PSAidGV4dCIgIHx8DQoJCQkJCQkJCQl0eXBlb2YgeGhyLnJlc3BvbnNlVGV4dCAhPT0gInN0cmluZyIgPw0KCQkJCQkJCQkJCXsgYmluYXJ5OiB4aHIucmVzcG9uc2UgfSA6DQoJCQkJCQkJCQkJeyB0ZXh0OiB4aHIucmVzcG9uc2VUZXh0IH0sDQoJCQkJCQkJCQl4aHIuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkNCgkJCQkJCQkJKTsNCgkJCQkJCQl9DQoJCQkJCQl9DQoJCQkJCX07DQoJCQkJfTsNCg0KCQkJCS8vIExpc3RlbiB0byBldmVudHMNCgkJCQl4aHIub25sb2FkID0gY2FsbGJhY2soKTsNCgkJCQllcnJvckNhbGxiYWNrID0geGhyLm9uZXJyb3IgPSB4aHIub250aW1lb3V0ID0gY2FsbGJhY2soICJlcnJvciIgKTsNCg0KCQkJCS8vIFN1cHBvcnQ6IElFIDkgb25seQ0KCQkJCS8vIFVzZSBvbnJlYWR5c3RhdGVjaGFuZ2UgdG8gcmVwbGFjZSBvbmFib3J0DQoJCQkJLy8gdG8gaGFuZGxlIHVuY2F1Z2h0IGFib3J0cw0KCQkJCWlmICggeGhyLm9uYWJvcnQgIT09IHVuZGVmaW5lZCApIHsNCgkJCQkJeGhyLm9uYWJvcnQgPSBlcnJvckNhbGxiYWNrOw0KCQkJCX0gZWxzZSB7DQoJCQkJCXhoci5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpIHsNCg0KCQkJCQkJLy8gQ2hlY2sgcmVhZHlTdGF0ZSBiZWZvcmUgdGltZW91dCBhcyBpdCBjaGFuZ2VzDQoJCQkJCQlpZiAoIHhoci5yZWFkeVN0YXRlID09PSA0ICkgew0KDQoJCQkJCQkJLy8gQWxsb3cgb25lcnJvciB0byBiZSBjYWxsZWQgZmlyc3QsDQoJCQkJCQkJLy8gYnV0IHRoYXQgd2lsbCBub3QgaGFuZGxlIGEgbmF0aXZlIGFib3J0DQoJCQkJCQkJLy8gQWxzbywgc2F2ZSBlcnJvckNhbGxiYWNrIHRvIGEgdmFyaWFibGUNCgkJCQkJCQkvLyBhcyB4aHIub25lcnJvciBjYW5ub3QgYmUgYWNjZXNzZWQNCgkJCQkJCQl3aW5kb3cuc2V0VGltZW91dCggZnVuY3Rpb24oKSB7DQoJCQkJCQkJCWlmICggY2FsbGJhY2sgKSB7DQoJCQkJCQkJCQllcnJvckNhbGxiYWNrKCk7DQoJCQkJCQkJCX0NCgkJCQkJCQl9ICk7DQoJCQkJCQl9DQoJCQkJCX07DQoJCQkJfQ0KDQoJCQkJLy8gQ3JlYXRlIHRoZSBhYm9ydCBjYWxsYmFjaw0KCQkJCWNhbGxiYWNrID0gY2FsbGJhY2soICJhYm9ydCIgKTsNCg0KCQkJCXRyeSB7DQoNCgkJCQkJLy8gRG8gc2VuZCB0aGUgcmVxdWVzdCAodGhpcyBtYXkgcmFpc2UgYW4gZXhjZXB0aW9uKQ0KCQkJCQl4aHIuc2VuZCggb3B0aW9ucy5oYXNDb250ZW50ICYmIG9wdGlvbnMuZGF0YSB8fCBudWxsICk7DQoJCQkJfSBjYXRjaCAoIGUgKSB7DQoNCgkJCQkJLy8gIzE0NjgzOiBPbmx5IHJldGhyb3cgaWYgdGhpcyBoYXNuJ3QgYmVlbiBub3RpZmllZCBhcyBhbiBlcnJvciB5ZXQNCgkJCQkJaWYgKCBjYWxsYmFjayApIHsNCgkJCQkJCXRocm93IGU7DQoJCQkJCX0NCgkJCQl9DQoJCQl9LA0KDQoJCQlhYm9ydDogZnVuY3Rpb24oKSB7DQoJCQkJaWYgKCBjYWxsYmFjayApIHsNCgkJCQkJY2FsbGJhY2soKTsNCgkJCQl9DQoJCQl9DQoJCX07DQoJfQ0KfSApOw0KDQoNCg0KDQovLyBQcmV2ZW50IGF1dG8tZXhlY3V0aW9uIG9mIHNjcmlwdHMgd2hlbiBubyBleHBsaWNpdCBkYXRhVHlwZSB3YXMgcHJvdmlkZWQgKFNlZSBnaC0yNDMyKQ0KalF1ZXJ5LmFqYXhQcmVmaWx0ZXIoIGZ1bmN0aW9uKCBzICkgew0KCWlmICggcy5jcm9zc0RvbWFpbiApIHsNCgkJcy5jb250ZW50cy5zY3JpcHQgPSBmYWxzZTsNCgl9DQp9ICk7DQoNCi8vIEluc3RhbGwgc2NyaXB0IGRhdGFUeXBlDQpqUXVlcnkuYWpheFNldHVwKCB7DQoJYWNjZXB0czogew0KCQlzY3JpcHQ6ICJ0ZXh0L2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2phdmFzY3JpcHQsICIgKw0KCQkJImFwcGxpY2F0aW9uL2VjbWFzY3JpcHQsIGFwcGxpY2F0aW9uL3gtZWNtYXNjcmlwdCINCgl9LA0KCWNvbnRlbnRzOiB7DQoJCXNjcmlwdDogL1xiKD86amF2YXxlY21hKXNjcmlwdFxiLw0KCX0sDQoJY29udmVydGVyczogew0KCQkidGV4dCBzY3JpcHQiOiBmdW5jdGlvbiggdGV4dCApIHsNCgkJCWpRdWVyeS5nbG9iYWxFdmFsKCB0ZXh0ICk7DQoJCQlyZXR1cm4gdGV4dDsNCgkJfQ0KCX0NCn0gKTsNCg0KLy8gSGFuZGxlIGNhY2hlJ3Mgc3BlY2lhbCBjYXNlIGFuZCBjcm9zc0RvbWFpbg0KalF1ZXJ5LmFqYXhQcmVmaWx0ZXIoICJzY3JpcHQiLCBmdW5jdGlvbiggcyApIHsNCglpZiAoIHMuY2FjaGUgPT09IHVuZGVmaW5lZCApIHsNCgkJcy5jYWNoZSA9IGZhbHNlOw0KCX0NCglpZiAoIHMuY3Jvc3NEb21haW4gKSB7DQoJCXMudHlwZSA9ICJHRVQiOw0KCX0NCn0gKTsNCg0KLy8gQmluZCBzY3JpcHQgdGFnIGhhY2sgdHJhbnNwb3J0DQpqUXVlcnkuYWpheFRyYW5zcG9ydCggInNjcmlwdCIsIGZ1bmN0aW9uKCBzICkgew0KDQoJLy8gVGhpcyB0cmFuc3BvcnQgb25seSBkZWFscyB3aXRoIGNyb3NzIGRvbWFpbiByZXF1ZXN0cw0KCWlmICggcy5jcm9zc0RvbWFpbiApIHsNCgkJdmFyIHNjcmlwdCwgY2FsbGJhY2s7DQoJCXJldHVybiB7DQoJCQlzZW5kOiBmdW5jdGlvbiggXywgY29tcGxldGUgKSB7DQoJCQkJc2NyaXB0ID0galF1ZXJ5KCAiPHNjcmlwdD4iICkucHJvcCggew0KCQkJCQljaGFyc2V0OiBzLnNjcmlwdENoYXJzZXQsDQoJCQkJCXNyYzogcy51cmwNCgkJCQl9ICkub24oDQoJCQkJCSJsb2FkIGVycm9yIiwNCgkJCQkJY2FsbGJhY2sgPSBmdW5jdGlvbiggZXZ0ICkgew0KCQkJCQkJc2NyaXB0LnJlbW92ZSgpOw0KCQkJCQkJY2FsbGJhY2sgPSBudWxsOw0KCQkJCQkJaWYgKCBldnQgKSB7DQoJCQkJCQkJY29tcGxldGUoIGV2dC50eXBlID09PSAiZXJyb3IiID8gNDA0IDogMjAwLCBldnQudHlwZSApOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJKTsNCg0KCQkJCS8vIFVzZSBuYXRpdmUgRE9NIG1hbmlwdWxhdGlvbiB0byBhdm9pZCBvdXIgZG9tTWFuaXAgQUpBWCB0cmlja2VyeQ0KCQkJCWRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoIHNjcmlwdFsgMCBdICk7DQoJCQl9LA0KCQkJYWJvcnQ6IGZ1bmN0aW9uKCkgew0KCQkJCWlmICggY2FsbGJhY2sgKSB7DQoJCQkJCWNhbGxiYWNrKCk7DQoJCQkJfQ0KCQkJfQ0KCQl9Ow0KCX0NCn0gKTsNCg0KDQoNCg0KdmFyIG9sZENhbGxiYWNrcyA9IFtdLA0KCXJqc29ucCA9IC8oPSlcPyg/PSZ8JCl8XD9cPy87DQoNCi8vIERlZmF1bHQganNvbnAgc2V0dGluZ3MNCmpRdWVyeS5hamF4U2V0dXAoIHsNCglqc29ucDogImNhbGxiYWNrIiwNCglqc29ucENhbGxiYWNrOiBmdW5jdGlvbigpIHsNCgkJdmFyIGNhbGxiYWNrID0gb2xkQ2FsbGJhY2tzLnBvcCgpIHx8ICggalF1ZXJ5LmV4cGFuZG8gKyAiXyIgKyAoIG5vbmNlKysgKSApOw0KCQl0aGlzWyBjYWxsYmFjayBdID0gdHJ1ZTsNCgkJcmV0dXJuIGNhbGxiYWNrOw0KCX0NCn0gKTsNCg0KLy8gRGV0ZWN0LCBub3JtYWxpemUgb3B0aW9ucyBhbmQgaW5zdGFsbCBjYWxsYmFja3MgZm9yIGpzb25wIHJlcXVlc3RzDQpqUXVlcnkuYWpheFByZWZpbHRlciggImpzb24ganNvbnAiLCBmdW5jdGlvbiggcywgb3JpZ2luYWxTZXR0aW5ncywganFYSFIgKSB7DQoNCgl2YXIgY2FsbGJhY2tOYW1lLCBvdmVyd3JpdHRlbiwgcmVzcG9uc2VDb250YWluZXIsDQoJCWpzb25Qcm9wID0gcy5qc29ucCAhPT0gZmFsc2UgJiYgKCByanNvbnAudGVzdCggcy51cmwgKSA/DQoJCQkidXJsIiA6DQoJCQl0eXBlb2Ygcy5kYXRhID09PSAic3RyaW5nIiAmJg0KCQkJCSggcy5jb250ZW50VHlwZSB8fCAiIiApDQoJCQkJCS5pbmRleE9mKCAiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiApID09PSAwICYmDQoJCQkJcmpzb25wLnRlc3QoIHMuZGF0YSApICYmICJkYXRhIg0KCQkpOw0KDQoJLy8gSGFuZGxlIGlmZiB0aGUgZXhwZWN0ZWQgZGF0YSB0eXBlIGlzICJqc29ucCIgb3Igd2UgaGF2ZSBhIHBhcmFtZXRlciB0byBzZXQNCglpZiAoIGpzb25Qcm9wIHx8IHMuZGF0YVR5cGVzWyAwIF0gPT09ICJqc29ucCIgKSB7DQoNCgkJLy8gR2V0IGNhbGxiYWNrIG5hbWUsIHJlbWVtYmVyaW5nIHByZWV4aXN0aW5nIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCBpdA0KCQljYWxsYmFja05hbWUgPSBzLmpzb25wQ2FsbGJhY2sgPSBpc0Z1bmN0aW9uKCBzLmpzb25wQ2FsbGJhY2sgKSA/DQoJCQlzLmpzb25wQ2FsbGJhY2soKSA6DQoJCQlzLmpzb25wQ2FsbGJhY2s7DQoNCgkJLy8gSW5zZXJ0IGNhbGxiYWNrIGludG8gdXJsIG9yIGZvcm0gZGF0YQ0KCQlpZiAoIGpzb25Qcm9wICkgew0KCQkJc1sganNvblByb3AgXSA9IHNbIGpzb25Qcm9wIF0ucmVwbGFjZSggcmpzb25wLCAiJDEiICsgY2FsbGJhY2tOYW1lICk7DQoJCX0gZWxzZSBpZiAoIHMuanNvbnAgIT09IGZhbHNlICkgew0KCQkJcy51cmwgKz0gKCBycXVlcnkudGVzdCggcy51cmwgKSA/ICImIiA6ICI/IiApICsgcy5qc29ucCArICI9IiArIGNhbGxiYWNrTmFtZTsNCgkJfQ0KDQoJCS8vIFVzZSBkYXRhIGNvbnZlcnRlciB0byByZXRyaWV2ZSBqc29uIGFmdGVyIHNjcmlwdCBleGVjdXRpb24NCgkJcy5jb252ZXJ0ZXJzWyAic2NyaXB0IGpzb24iIF0gPSBmdW5jdGlvbigpIHsNCgkJCWlmICggIXJlc3BvbnNlQ29udGFpbmVyICkgew0KCQkJCWpRdWVyeS5lcnJvciggY2FsbGJhY2tOYW1lICsgIiB3YXMgbm90IGNhbGxlZCIgKTsNCgkJCX0NCgkJCXJldHVybiByZXNwb25zZUNvbnRhaW5lclsgMCBdOw0KCQl9Ow0KDQoJCS8vIEZvcmNlIGpzb24gZGF0YVR5cGUNCgkJcy5kYXRhVHlwZXNbIDAgXSA9ICJqc29uIjsNCg0KCQkvLyBJbnN0YWxsIGNhbGxiYWNrDQoJCW92ZXJ3cml0dGVuID0gd2luZG93WyBjYWxsYmFja05hbWUgXTsNCgkJd2luZG93WyBjYWxsYmFja05hbWUgXSA9IGZ1bmN0aW9uKCkgew0KCQkJcmVzcG9uc2VDb250YWluZXIgPSBhcmd1bWVudHM7DQoJCX07DQoNCgkJLy8gQ2xlYW4tdXAgZnVuY3Rpb24gKGZpcmVzIGFmdGVyIGNvbnZlcnRlcnMpDQoJCWpxWEhSLmFsd2F5cyggZnVuY3Rpb24oKSB7DQoNCgkJCS8vIElmIHByZXZpb3VzIHZhbHVlIGRpZG4ndCBleGlzdCAtIHJlbW92ZSBpdA0KCQkJaWYgKCBvdmVyd3JpdHRlbiA9PT0gdW5kZWZpbmVkICkgew0KCQkJCWpRdWVyeSggd2luZG93ICkucmVtb3ZlUHJvcCggY2FsbGJhY2tOYW1lICk7DQoNCgkJCS8vIE90aGVyd2lzZSByZXN0b3JlIHByZWV4aXN0aW5nIHZhbHVlDQoJCQl9IGVsc2Ugew0KCQkJCXdpbmRvd1sgY2FsbGJhY2tOYW1lIF0gPSBvdmVyd3JpdHRlbjsNCgkJCX0NCg0KCQkJLy8gU2F2ZSBiYWNrIGFzIGZyZWUNCgkJCWlmICggc1sgY2FsbGJhY2tOYW1lIF0gKSB7DQoNCgkJCQkvLyBNYWtlIHN1cmUgdGhhdCByZS11c2luZyB0aGUgb3B0aW9ucyBkb2Vzbid0IHNjcmV3IHRoaW5ncyBhcm91bmQNCgkJCQlzLmpzb25wQ2FsbGJhY2sgPSBvcmlnaW5hbFNldHRpbmdzLmpzb25wQ2FsbGJhY2s7DQoNCgkJCQkvLyBTYXZlIHRoZSBjYWxsYmFjayBuYW1lIGZvciBmdXR1cmUgdXNlDQoJCQkJb2xkQ2FsbGJhY2tzLnB1c2goIGNhbGxiYWNrTmFtZSApOw0KCQkJfQ0KDQoJCQkvLyBDYWxsIGlmIGl0IHdhcyBhIGZ1bmN0aW9uIGFuZCB3ZSBoYXZlIGEgcmVzcG9uc2UNCgkJCWlmICggcmVzcG9uc2VDb250YWluZXIgJiYgaXNGdW5jdGlvbiggb3ZlcndyaXR0ZW4gKSApIHsNCgkJCQlvdmVyd3JpdHRlbiggcmVzcG9uc2VDb250YWluZXJbIDAgXSApOw0KCQkJfQ0KDQoJCQlyZXNwb25zZUNvbnRhaW5lciA9IG92ZXJ3cml0dGVuID0gdW5kZWZpbmVkOw0KCQl9ICk7DQoNCgkJLy8gRGVsZWdhdGUgdG8gc2NyaXB0DQoJCXJldHVybiAic2NyaXB0IjsNCgl9DQp9ICk7DQoNCg0KDQoNCi8vIFN1cHBvcnQ6IFNhZmFyaSA4IG9ubHkNCi8vIEluIFNhZmFyaSA4IGRvY3VtZW50cyBjcmVhdGVkIHZpYSBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQNCi8vIGNvbGxhcHNlIHNpYmxpbmcgZm9ybXM6IHRoZSBzZWNvbmQgb25lIGJlY29tZXMgYSBjaGlsZCBvZiB0aGUgZmlyc3Qgb25lLg0KLy8gQmVjYXVzZSBvZiB0aGF0LCB0aGlzIHNlY3VyaXR5IG1lYXN1cmUgaGFzIHRvIGJlIGRpc2FibGVkIGluIFNhZmFyaSA4Lg0KLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNzMzNw0Kc3VwcG9ydC5jcmVhdGVIVE1MRG9jdW1lbnQgPSAoIGZ1bmN0aW9uKCkgew0KCXZhciBib2R5ID0gZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KCAiIiApLmJvZHk7DQoJYm9keS5pbm5lckhUTUwgPSAiPGZvcm0+PC9mb3JtPjxmb3JtPjwvZm9ybT4iOw0KCXJldHVybiBib2R5LmNoaWxkTm9kZXMubGVuZ3RoID09PSAyOw0KfSApKCk7DQoNCg0KLy8gQXJndW1lbnQgImRhdGEiIHNob3VsZCBiZSBzdHJpbmcgb2YgaHRtbA0KLy8gY29udGV4dCAob3B0aW9uYWwpOiBJZiBzcGVjaWZpZWQsIHRoZSBmcmFnbWVudCB3aWxsIGJlIGNyZWF0ZWQgaW4gdGhpcyBjb250ZXh0LA0KLy8gZGVmYXVsdHMgdG8gZG9jdW1lbnQNCi8vIGtlZXBTY3JpcHRzIChvcHRpb25hbCk6IElmIHRydWUsIHdpbGwgaW5jbHVkZSBzY3JpcHRzIHBhc3NlZCBpbiB0aGUgaHRtbCBzdHJpbmcNCmpRdWVyeS5wYXJzZUhUTUwgPSBmdW5jdGlvbiggZGF0YSwgY29udGV4dCwga2VlcFNjcmlwdHMgKSB7DQoJaWYgKCB0eXBlb2YgZGF0YSAhPT0gInN0cmluZyIgKSB7DQoJCXJldHVybiBbXTsNCgl9DQoJaWYgKCB0eXBlb2YgY29udGV4dCA9PT0gImJvb2xlYW4iICkgew0KCQlrZWVwU2NyaXB0cyA9IGNvbnRleHQ7DQoJCWNvbnRleHQgPSBmYWxzZTsNCgl9DQoNCgl2YXIgYmFzZSwgcGFyc2VkLCBzY3JpcHRzOw0KDQoJaWYgKCAhY29udGV4dCApIHsNCg0KCQkvLyBTdG9wIHNjcmlwdHMgb3IgaW5saW5lIGV2ZW50IGhhbmRsZXJzIGZyb20gYmVpbmcgZXhlY3V0ZWQgaW1tZWRpYXRlbHkNCgkJLy8gYnkgdXNpbmcgZG9jdW1lbnQuaW1wbGVtZW50YXRpb24NCgkJaWYgKCBzdXBwb3J0LmNyZWF0ZUhUTUxEb2N1bWVudCApIHsNCgkJCWNvbnRleHQgPSBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoICIiICk7DQoNCgkJCS8vIFNldCB0aGUgYmFzZSBocmVmIGZvciB0aGUgY3JlYXRlZCBkb2N1bWVudA0KCQkJLy8gc28gYW55IHBhcnNlZCBlbGVtZW50cyB3aXRoIFVSTHMNCgkJCS8vIGFyZSBiYXNlZCBvbiB0aGUgZG9jdW1lbnQncyBVUkwgKGdoLTI5NjUpDQoJCQliYXNlID0gY29udGV4dC5jcmVhdGVFbGVtZW50KCAiYmFzZSIgKTsNCgkJCWJhc2UuaHJlZiA9IGRvY3VtZW50LmxvY2F0aW9uLmhyZWY7DQoJCQljb250ZXh0LmhlYWQuYXBwZW5kQ2hpbGQoIGJhc2UgKTsNCgkJfSBlbHNlIHsNCgkJCWNvbnRleHQgPSBkb2N1bWVudDsNCgkJfQ0KCX0NCg0KCXBhcnNlZCA9IHJzaW5nbGVUYWcuZXhlYyggZGF0YSApOw0KCXNjcmlwdHMgPSAha2VlcFNjcmlwdHMgJiYgW107DQoNCgkvLyBTaW5nbGUgdGFnDQoJaWYgKCBwYXJzZWQgKSB7DQoJCXJldHVybiBbIGNvbnRleHQuY3JlYXRlRWxlbWVudCggcGFyc2VkWyAxIF0gKSBdOw0KCX0NCg0KCXBhcnNlZCA9IGJ1aWxkRnJhZ21lbnQoIFsgZGF0YSBdLCBjb250ZXh0LCBzY3JpcHRzICk7DQoNCglpZiAoIHNjcmlwdHMgJiYgc2NyaXB0cy5sZW5ndGggKSB7DQoJCWpRdWVyeSggc2NyaXB0cyApLnJlbW92ZSgpOw0KCX0NCg0KCXJldHVybiBqUXVlcnkubWVyZ2UoIFtdLCBwYXJzZWQuY2hpbGROb2RlcyApOw0KfTsNCg0KDQovKioNCiAqIExvYWQgYSB1cmwgaW50byBhIHBhZ2UNCiAqLw0KalF1ZXJ5LmZuLmxvYWQgPSBmdW5jdGlvbiggdXJsLCBwYXJhbXMsIGNhbGxiYWNrICkgew0KCXZhciBzZWxlY3RvciwgdHlwZSwgcmVzcG9uc2UsDQoJCXNlbGYgPSB0aGlzLA0KCQlvZmYgPSB1cmwuaW5kZXhPZiggIiAiICk7DQoNCglpZiAoIG9mZiA+IC0xICkgew0KCQlzZWxlY3RvciA9IHN0cmlwQW5kQ29sbGFwc2UoIHVybC5zbGljZSggb2ZmICkgKTsNCgkJdXJsID0gdXJsLnNsaWNlKCAwLCBvZmYgKTsNCgl9DQoNCgkvLyBJZiBpdCdzIGEgZnVuY3Rpb24NCglpZiAoIGlzRnVuY3Rpb24oIHBhcmFtcyApICkgew0KDQoJCS8vIFdlIGFzc3VtZSB0aGF0IGl0J3MgdGhlIGNhbGxiYWNrDQoJCWNhbGxiYWNrID0gcGFyYW1zOw0KCQlwYXJhbXMgPSB1bmRlZmluZWQ7DQoNCgkvLyBPdGhlcndpc2UsIGJ1aWxkIGEgcGFyYW0gc3RyaW5nDQoJfSBlbHNlIGlmICggcGFyYW1zICYmIHR5cGVvZiBwYXJhbXMgPT09ICJvYmplY3QiICkgew0KCQl0eXBlID0gIlBPU1QiOw0KCX0NCg0KCS8vIElmIHdlIGhhdmUgZWxlbWVudHMgdG8gbW9kaWZ5LCBtYWtlIHRoZSByZXF1ZXN0DQoJaWYgKCBzZWxmLmxlbmd0aCA+IDAgKSB7DQoJCWpRdWVyeS5hamF4KCB7DQoJCQl1cmw6IHVybCwNCg0KCQkJLy8gSWYgInR5cGUiIHZhcmlhYmxlIGlzIHVuZGVmaW5lZCwgdGhlbiAiR0VUIiBtZXRob2Qgd2lsbCBiZSB1c2VkLg0KCQkJLy8gTWFrZSB2YWx1ZSBvZiB0aGlzIGZpZWxkIGV4cGxpY2l0IHNpbmNlDQoJCQkvLyB1c2VyIGNhbiBvdmVycmlkZSBpdCB0aHJvdWdoIGFqYXhTZXR1cCBtZXRob2QNCgkJCXR5cGU6IHR5cGUgfHwgIkdFVCIsDQoJCQlkYXRhVHlwZTogImh0bWwiLA0KCQkJZGF0YTogcGFyYW1zDQoJCX0gKS5kb25lKCBmdW5jdGlvbiggcmVzcG9uc2VUZXh0ICkgew0KDQoJCQkvLyBTYXZlIHJlc3BvbnNlIGZvciB1c2UgaW4gY29tcGxldGUgY2FsbGJhY2sNCgkJCXJlc3BvbnNlID0gYXJndW1lbnRzOw0KDQoJCQlzZWxmLmh0bWwoIHNlbGVjdG9yID8NCg0KCQkJCS8vIElmIGEgc2VsZWN0b3Igd2FzIHNwZWNpZmllZCwgbG9jYXRlIHRoZSByaWdodCBlbGVtZW50cyBpbiBhIGR1bW15IGRpdg0KCQkJCS8vIEV4Y2x1ZGUgc2NyaXB0cyB0byBhdm9pZCBJRSAnUGVybWlzc2lvbiBEZW5pZWQnIGVycm9ycw0KCQkJCWpRdWVyeSggIjxkaXY+IiApLmFwcGVuZCggalF1ZXJ5LnBhcnNlSFRNTCggcmVzcG9uc2VUZXh0ICkgKS5maW5kKCBzZWxlY3RvciApIDoNCg0KCQkJCS8vIE90aGVyd2lzZSB1c2UgdGhlIGZ1bGwgcmVzdWx0DQoJCQkJcmVzcG9uc2VUZXh0ICk7DQoNCgkJLy8gSWYgdGhlIHJlcXVlc3Qgc3VjY2VlZHMsIHRoaXMgZnVuY3Rpb24gZ2V0cyAiZGF0YSIsICJzdGF0dXMiLCAianFYSFIiDQoJCS8vIGJ1dCB0aGV5IGFyZSBpZ25vcmVkIGJlY2F1c2UgcmVzcG9uc2Ugd2FzIHNldCBhYm92ZS4NCgkJLy8gSWYgaXQgZmFpbHMsIHRoaXMgZnVuY3Rpb24gZ2V0cyAianFYSFIiLCAic3RhdHVzIiwgImVycm9yIg0KCQl9ICkuYWx3YXlzKCBjYWxsYmFjayAmJiBmdW5jdGlvbigganFYSFIsIHN0YXR1cyApIHsNCgkJCXNlbGYuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQkJY2FsbGJhY2suYXBwbHkoIHRoaXMsIHJlc3BvbnNlIHx8IFsganFYSFIucmVzcG9uc2VUZXh0LCBzdGF0dXMsIGpxWEhSIF0gKTsNCgkJCX0gKTsNCgkJfSApOw0KCX0NCg0KCXJldHVybiB0aGlzOw0KfTsNCg0KDQoNCg0KLy8gQXR0YWNoIGEgYnVuY2ggb2YgZnVuY3Rpb25zIGZvciBoYW5kbGluZyBjb21tb24gQUpBWCBldmVudHMNCmpRdWVyeS5lYWNoKCBbDQoJImFqYXhTdGFydCIsDQoJImFqYXhTdG9wIiwNCgkiYWpheENvbXBsZXRlIiwNCgkiYWpheEVycm9yIiwNCgkiYWpheFN1Y2Nlc3MiLA0KCSJhamF4U2VuZCINCl0sIGZ1bmN0aW9uKCBpLCB0eXBlICkgew0KCWpRdWVyeS5mblsgdHlwZSBdID0gZnVuY3Rpb24oIGZuICkgew0KCQlyZXR1cm4gdGhpcy5vbiggdHlwZSwgZm4gKTsNCgl9Ow0KfSApOw0KDQoNCg0KDQpqUXVlcnkuZXhwci5wc2V1ZG9zLmFuaW1hdGVkID0gZnVuY3Rpb24oIGVsZW0gKSB7DQoJcmV0dXJuIGpRdWVyeS5ncmVwKCBqUXVlcnkudGltZXJzLCBmdW5jdGlvbiggZm4gKSB7DQoJCXJldHVybiBlbGVtID09PSBmbi5lbGVtOw0KCX0gKS5sZW5ndGg7DQp9Ow0KDQoNCg0KDQpqUXVlcnkub2Zmc2V0ID0gew0KCXNldE9mZnNldDogZnVuY3Rpb24oIGVsZW0sIG9wdGlvbnMsIGkgKSB7DQoJCXZhciBjdXJQb3NpdGlvbiwgY3VyTGVmdCwgY3VyQ1NTVG9wLCBjdXJUb3AsIGN1ck9mZnNldCwgY3VyQ1NTTGVmdCwgY2FsY3VsYXRlUG9zaXRpb24sDQoJCQlwb3NpdGlvbiA9IGpRdWVyeS5jc3MoIGVsZW0sICJwb3NpdGlvbiIgKSwNCgkJCWN1ckVsZW0gPSBqUXVlcnkoIGVsZW0gKSwNCgkJCXByb3BzID0ge307DQoNCgkJLy8gU2V0IHBvc2l0aW9uIGZpcnN0LCBpbi1jYXNlIHRvcC9sZWZ0IGFyZSBzZXQgZXZlbiBvbiBzdGF0aWMgZWxlbQ0KCQlpZiAoIHBvc2l0aW9uID09PSAic3RhdGljIiApIHsNCgkJCWVsZW0uc3R5bGUucG9zaXRpb24gPSAicmVsYXRpdmUiOw0KCQl9DQoNCgkJY3VyT2Zmc2V0ID0gY3VyRWxlbS5vZmZzZXQoKTsNCgkJY3VyQ1NTVG9wID0galF1ZXJ5LmNzcyggZWxlbSwgInRvcCIgKTsNCgkJY3VyQ1NTTGVmdCA9IGpRdWVyeS5jc3MoIGVsZW0sICJsZWZ0IiApOw0KCQljYWxjdWxhdGVQb3NpdGlvbiA9ICggcG9zaXRpb24gPT09ICJhYnNvbHV0ZSIgfHwgcG9zaXRpb24gPT09ICJmaXhlZCIgKSAmJg0KCQkJKCBjdXJDU1NUb3AgKyBjdXJDU1NMZWZ0ICkuaW5kZXhPZiggImF1dG8iICkgPiAtMTsNCg0KCQkvLyBOZWVkIHRvIGJlIGFibGUgdG8gY2FsY3VsYXRlIHBvc2l0aW9uIGlmIGVpdGhlcg0KCQkvLyB0b3Agb3IgbGVmdCBpcyBhdXRvIGFuZCBwb3NpdGlvbiBpcyBlaXRoZXIgYWJzb2x1dGUgb3IgZml4ZWQNCgkJaWYgKCBjYWxjdWxhdGVQb3NpdGlvbiApIHsNCgkJCWN1clBvc2l0aW9uID0gY3VyRWxlbS5wb3NpdGlvbigpOw0KCQkJY3VyVG9wID0gY3VyUG9zaXRpb24udG9wOw0KCQkJY3VyTGVmdCA9IGN1clBvc2l0aW9uLmxlZnQ7DQoNCgkJfSBlbHNlIHsNCgkJCWN1clRvcCA9IHBhcnNlRmxvYXQoIGN1ckNTU1RvcCApIHx8IDA7DQoJCQljdXJMZWZ0ID0gcGFyc2VGbG9hdCggY3VyQ1NTTGVmdCApIHx8IDA7DQoJCX0NCg0KCQlpZiAoIGlzRnVuY3Rpb24oIG9wdGlvbnMgKSApIHsNCg0KCQkJLy8gVXNlIGpRdWVyeS5leHRlbmQgaGVyZSB0byBhbGxvdyBtb2RpZmljYXRpb24gb2YgY29vcmRpbmF0ZXMgYXJndW1lbnQgKGdoLTE4NDgpDQoJCQlvcHRpb25zID0gb3B0aW9ucy5jYWxsKCBlbGVtLCBpLCBqUXVlcnkuZXh0ZW5kKCB7fSwgY3VyT2Zmc2V0ICkgKTsNCgkJfQ0KDQoJCWlmICggb3B0aW9ucy50b3AgIT0gbnVsbCApIHsNCgkJCXByb3BzLnRvcCA9ICggb3B0aW9ucy50b3AgLSBjdXJPZmZzZXQudG9wICkgKyBjdXJUb3A7DQoJCX0NCgkJaWYgKCBvcHRpb25zLmxlZnQgIT0gbnVsbCApIHsNCgkJCXByb3BzLmxlZnQgPSAoIG9wdGlvbnMubGVmdCAtIGN1ck9mZnNldC5sZWZ0ICkgKyBjdXJMZWZ0Ow0KCQl9DQoNCgkJaWYgKCAidXNpbmciIGluIG9wdGlvbnMgKSB7DQoJCQlvcHRpb25zLnVzaW5nLmNhbGwoIGVsZW0sIHByb3BzICk7DQoNCgkJfSBlbHNlIHsNCgkJCWN1ckVsZW0uY3NzKCBwcm9wcyApOw0KCQl9DQoJfQ0KfTsNCg0KalF1ZXJ5LmZuLmV4dGVuZCggew0KDQoJLy8gb2Zmc2V0KCkgcmVsYXRlcyBhbiBlbGVtZW50J3MgYm9yZGVyIGJveCB0byB0aGUgZG9jdW1lbnQgb3JpZ2luDQoJb2Zmc2V0OiBmdW5jdGlvbiggb3B0aW9ucyApIHsNCg0KCQkvLyBQcmVzZXJ2ZSBjaGFpbmluZyBmb3Igc2V0dGVyDQoJCWlmICggYXJndW1lbnRzLmxlbmd0aCApIHsNCgkJCXJldHVybiBvcHRpb25zID09PSB1bmRlZmluZWQgPw0KCQkJCXRoaXMgOg0KCQkJCXRoaXMuZWFjaCggZnVuY3Rpb24oIGkgKSB7DQoJCQkJCWpRdWVyeS5vZmZzZXQuc2V0T2Zmc2V0KCB0aGlzLCBvcHRpb25zLCBpICk7DQoJCQkJfSApOw0KCQl9DQoNCgkJdmFyIHJlY3QsIHdpbiwNCgkJCWVsZW0gPSB0aGlzWyAwIF07DQoNCgkJaWYgKCAhZWxlbSApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCS8vIFJldHVybiB6ZXJvcyBmb3IgZGlzY29ubmVjdGVkIGFuZCBoaWRkZW4gKGRpc3BsYXk6IG5vbmUpIGVsZW1lbnRzIChnaC0yMzEwKQ0KCQkvLyBTdXBwb3J0OiBJRSA8PTExIG9ubHkNCgkJLy8gUnVubmluZyBnZXRCb3VuZGluZ0NsaWVudFJlY3Qgb24gYQ0KCQkvLyBkaXNjb25uZWN0ZWQgbm9kZSBpbiBJRSB0aHJvd3MgYW4gZXJyb3INCgkJaWYgKCAhZWxlbS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCApIHsNCgkJCXJldHVybiB7IHRvcDogMCwgbGVmdDogMCB9Ow0KCQl9DQoNCgkJLy8gR2V0IGRvY3VtZW50LXJlbGF0aXZlIHBvc2l0aW9uIGJ5IGFkZGluZyB2aWV3cG9ydCBzY3JvbGwgdG8gdmlld3BvcnQtcmVsYXRpdmUgZ0JDUg0KCQlyZWN0ID0gZWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsNCgkJd2luID0gZWxlbS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3Ow0KCQlyZXR1cm4gew0KCQkJdG9wOiByZWN0LnRvcCArIHdpbi5wYWdlWU9mZnNldCwNCgkJCWxlZnQ6IHJlY3QubGVmdCArIHdpbi5wYWdlWE9mZnNldA0KCQl9Ow0KCX0sDQoNCgkvLyBwb3NpdGlvbigpIHJlbGF0ZXMgYW4gZWxlbWVudCdzIG1hcmdpbiBib3ggdG8gaXRzIG9mZnNldCBwYXJlbnQncyBwYWRkaW5nIGJveA0KCS8vIFRoaXMgY29ycmVzcG9uZHMgdG8gdGhlIGJlaGF2aW9yIG9mIENTUyBhYnNvbHV0ZSBwb3NpdGlvbmluZw0KCXBvc2l0aW9uOiBmdW5jdGlvbigpIHsNCgkJaWYgKCAhdGhpc1sgMCBdICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJdmFyIG9mZnNldFBhcmVudCwgb2Zmc2V0LCBkb2MsDQoJCQllbGVtID0gdGhpc1sgMCBdLA0KCQkJcGFyZW50T2Zmc2V0ID0geyB0b3A6IDAsIGxlZnQ6IDAgfTsNCg0KCQkvLyBwb3NpdGlvbjpmaXhlZCBlbGVtZW50cyBhcmUgb2Zmc2V0IGZyb20gdGhlIHZpZXdwb3J0LCB3aGljaCBpdHNlbGYgYWx3YXlzIGhhcyB6ZXJvIG9mZnNldA0KCQlpZiAoIGpRdWVyeS5jc3MoIGVsZW0sICJwb3NpdGlvbiIgKSA9PT0gImZpeGVkIiApIHsNCg0KCQkJLy8gQXNzdW1lIHBvc2l0aW9uOmZpeGVkIGltcGxpZXMgYXZhaWxhYmlsaXR5IG9mIGdldEJvdW5kaW5nQ2xpZW50UmVjdA0KCQkJb2Zmc2V0ID0gZWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsNCg0KCQl9IGVsc2Ugew0KCQkJb2Zmc2V0ID0gdGhpcy5vZmZzZXQoKTsNCg0KCQkJLy8gQWNjb3VudCBmb3IgdGhlICpyZWFsKiBvZmZzZXQgcGFyZW50LCB3aGljaCBjYW4gYmUgdGhlIGRvY3VtZW50IG9yIGl0cyByb290IGVsZW1lbnQNCgkJCS8vIHdoZW4gYSBzdGF0aWNhbGx5IHBvc2l0aW9uZWQgZWxlbWVudCBpcyBpZGVudGlmaWVkDQoJCQlkb2MgPSBlbGVtLm93bmVyRG9jdW1lbnQ7DQoJCQlvZmZzZXRQYXJlbnQgPSBlbGVtLm9mZnNldFBhcmVudCB8fCBkb2MuZG9jdW1lbnRFbGVtZW50Ow0KCQkJd2hpbGUgKCBvZmZzZXRQYXJlbnQgJiYNCgkJCQkoIG9mZnNldFBhcmVudCA9PT0gZG9jLmJvZHkgfHwgb2Zmc2V0UGFyZW50ID09PSBkb2MuZG9jdW1lbnRFbGVtZW50ICkgJiYNCgkJCQlqUXVlcnkuY3NzKCBvZmZzZXRQYXJlbnQsICJwb3NpdGlvbiIgKSA9PT0gInN0YXRpYyIgKSB7DQoNCgkJCQlvZmZzZXRQYXJlbnQgPSBvZmZzZXRQYXJlbnQucGFyZW50Tm9kZTsNCgkJCX0NCgkJCWlmICggb2Zmc2V0UGFyZW50ICYmIG9mZnNldFBhcmVudCAhPT0gZWxlbSAmJiBvZmZzZXRQYXJlbnQubm9kZVR5cGUgPT09IDEgKSB7DQoNCgkJCQkvLyBJbmNvcnBvcmF0ZSBib3JkZXJzIGludG8gaXRzIG9mZnNldCwgc2luY2UgdGhleSBhcmUgb3V0c2lkZSBpdHMgY29udGVudCBvcmlnaW4NCgkJCQlwYXJlbnRPZmZzZXQgPSBqUXVlcnkoIG9mZnNldFBhcmVudCApLm9mZnNldCgpOw0KCQkJCXBhcmVudE9mZnNldC50b3AgKz0galF1ZXJ5LmNzcyggb2Zmc2V0UGFyZW50LCAiYm9yZGVyVG9wV2lkdGgiLCB0cnVlICk7DQoJCQkJcGFyZW50T2Zmc2V0LmxlZnQgKz0galF1ZXJ5LmNzcyggb2Zmc2V0UGFyZW50LCAiYm9yZGVyTGVmdFdpZHRoIiwgdHJ1ZSApOw0KCQkJfQ0KCQl9DQoNCgkJLy8gU3VidHJhY3QgcGFyZW50IG9mZnNldHMgYW5kIGVsZW1lbnQgbWFyZ2lucw0KCQlyZXR1cm4gew0KCQkJdG9wOiBvZmZzZXQudG9wIC0gcGFyZW50T2Zmc2V0LnRvcCAtIGpRdWVyeS5jc3MoIGVsZW0sICJtYXJnaW5Ub3AiLCB0cnVlICksDQoJCQlsZWZ0OiBvZmZzZXQubGVmdCAtIHBhcmVudE9mZnNldC5sZWZ0IC0galF1ZXJ5LmNzcyggZWxlbSwgIm1hcmdpbkxlZnQiLCB0cnVlICkNCgkJfTsNCgl9LA0KDQoJLy8gVGhpcyBtZXRob2Qgd2lsbCByZXR1cm4gZG9jdW1lbnRFbGVtZW50IGluIHRoZSBmb2xsb3dpbmcgY2FzZXM6DQoJLy8gMSkgRm9yIHRoZSBlbGVtZW50IGluc2lkZSB0aGUgaWZyYW1lIHdpdGhvdXQgb2Zmc2V0UGFyZW50LCB0aGlzIG1ldGhvZCB3aWxsIHJldHVybg0KCS8vICAgIGRvY3VtZW50RWxlbWVudCBvZiB0aGUgcGFyZW50IHdpbmRvdw0KCS8vIDIpIEZvciB0aGUgaGlkZGVuIG9yIGRldGFjaGVkIGVsZW1lbnQNCgkvLyAzKSBGb3IgYm9keSBvciBodG1sIGVsZW1lbnQsIGkuZS4gaW4gY2FzZSBvZiB0aGUgaHRtbCBub2RlIC0gaXQgd2lsbCByZXR1cm4gaXRzZWxmDQoJLy8NCgkvLyBidXQgdGhvc2UgZXhjZXB0aW9ucyB3ZXJlIG5ldmVyIHByZXNlbnRlZCBhcyBhIHJlYWwgbGlmZSB1c2UtY2FzZXMNCgkvLyBhbmQgbWlnaHQgYmUgY29uc2lkZXJlZCBhcyBtb3JlIHByZWZlcmFibGUgcmVzdWx0cy4NCgkvLw0KCS8vIFRoaXMgbG9naWMsIGhvd2V2ZXIsIGlzIG5vdCBndWFyYW50ZWVkIGFuZCBjYW4gY2hhbmdlIGF0IGFueSBwb2ludCBpbiB0aGUgZnV0dXJlDQoJb2Zmc2V0UGFyZW50OiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHRoaXMubWFwKCBmdW5jdGlvbigpIHsNCgkJCXZhciBvZmZzZXRQYXJlbnQgPSB0aGlzLm9mZnNldFBhcmVudDsNCg0KCQkJd2hpbGUgKCBvZmZzZXRQYXJlbnQgJiYgalF1ZXJ5LmNzcyggb2Zmc2V0UGFyZW50LCAicG9zaXRpb24iICkgPT09ICJzdGF0aWMiICkgew0KCQkJCW9mZnNldFBhcmVudCA9IG9mZnNldFBhcmVudC5vZmZzZXRQYXJlbnQ7DQoJCQl9DQoNCgkJCXJldHVybiBvZmZzZXRQYXJlbnQgfHwgZG9jdW1lbnRFbGVtZW50Ow0KCQl9ICk7DQoJfQ0KfSApOw0KDQovLyBDcmVhdGUgc2Nyb2xsTGVmdCBhbmQgc2Nyb2xsVG9wIG1ldGhvZHMNCmpRdWVyeS5lYWNoKCB7IHNjcm9sbExlZnQ6ICJwYWdlWE9mZnNldCIsIHNjcm9sbFRvcDogInBhZ2VZT2Zmc2V0IiB9LCBmdW5jdGlvbiggbWV0aG9kLCBwcm9wICkgew0KCXZhciB0b3AgPSAicGFnZVlPZmZzZXQiID09PSBwcm9wOw0KDQoJalF1ZXJ5LmZuWyBtZXRob2QgXSA9IGZ1bmN0aW9uKCB2YWwgKSB7DQoJCXJldHVybiBhY2Nlc3MoIHRoaXMsIGZ1bmN0aW9uKCBlbGVtLCBtZXRob2QsIHZhbCApIHsNCg0KCQkJLy8gQ29hbGVzY2UgZG9jdW1lbnRzIGFuZCB3aW5kb3dzDQoJCQl2YXIgd2luOw0KCQkJaWYgKCBpc1dpbmRvdyggZWxlbSApICkgew0KCQkJCXdpbiA9IGVsZW07DQoJCQl9IGVsc2UgaWYgKCBlbGVtLm5vZGVUeXBlID09PSA5ICkgew0KCQkJCXdpbiA9IGVsZW0uZGVmYXVsdFZpZXc7DQoJCQl9DQoNCgkJCWlmICggdmFsID09PSB1bmRlZmluZWQgKSB7DQoJCQkJcmV0dXJuIHdpbiA/IHdpblsgcHJvcCBdIDogZWxlbVsgbWV0aG9kIF07DQoJCQl9DQoNCgkJCWlmICggd2luICkgew0KCQkJCXdpbi5zY3JvbGxUbygNCgkJCQkJIXRvcCA/IHZhbCA6IHdpbi5wYWdlWE9mZnNldCwNCgkJCQkJdG9wID8gdmFsIDogd2luLnBhZ2VZT2Zmc2V0DQoJCQkJKTsNCg0KCQkJfSBlbHNlIHsNCgkJCQllbGVtWyBtZXRob2QgXSA9IHZhbDsNCgkJCX0NCgkJfSwgbWV0aG9kLCB2YWwsIGFyZ3VtZW50cy5sZW5ndGggKTsNCgl9Ow0KfSApOw0KDQovLyBTdXBwb3J0OiBTYWZhcmkgPD03IC0gOS4xLCBDaHJvbWUgPD0zNyAtIDQ5DQovLyBBZGQgdGhlIHRvcC9sZWZ0IGNzc0hvb2tzIHVzaW5nIGpRdWVyeS5mbi5wb3NpdGlvbg0KLy8gV2Via2l0IGJ1ZzogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5MDg0DQovLyBCbGluayBidWc6IGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTU4OTM0Nw0KLy8gZ2V0Q29tcHV0ZWRTdHlsZSByZXR1cm5zIHBlcmNlbnQgd2hlbiBzcGVjaWZpZWQgZm9yIHRvcC9sZWZ0L2JvdHRvbS9yaWdodDsNCi8vIHJhdGhlciB0aGFuIG1ha2UgdGhlIGNzcyBtb2R1bGUgZGVwZW5kIG9uIHRoZSBvZmZzZXQgbW9kdWxlLCBqdXN0IGNoZWNrIGZvciBpdCBoZXJlDQpqUXVlcnkuZWFjaCggWyAidG9wIiwgImxlZnQiIF0sIGZ1bmN0aW9uKCBpLCBwcm9wICkgew0KCWpRdWVyeS5jc3NIb29rc1sgcHJvcCBdID0gYWRkR2V0SG9va0lmKCBzdXBwb3J0LnBpeGVsUG9zaXRpb24sDQoJCWZ1bmN0aW9uKCBlbGVtLCBjb21wdXRlZCApIHsNCgkJCWlmICggY29tcHV0ZWQgKSB7DQoJCQkJY29tcHV0ZWQgPSBjdXJDU1MoIGVsZW0sIHByb3AgKTsNCg0KCQkJCS8vIElmIGN1ckNTUyByZXR1cm5zIHBlcmNlbnRhZ2UsIGZhbGxiYWNrIHRvIG9mZnNldA0KCQkJCXJldHVybiBybnVtbm9ucHgudGVzdCggY29tcHV0ZWQgKSA/DQoJCQkJCWpRdWVyeSggZWxlbSApLnBvc2l0aW9uKClbIHByb3AgXSArICJweCIgOg0KCQkJCQljb21wdXRlZDsNCgkJCX0NCgkJfQ0KCSk7DQp9ICk7DQoNCg0KLy8gQ3JlYXRlIGlubmVySGVpZ2h0LCBpbm5lcldpZHRoLCBoZWlnaHQsIHdpZHRoLCBvdXRlckhlaWdodCBhbmQgb3V0ZXJXaWR0aCBtZXRob2RzDQpqUXVlcnkuZWFjaCggeyBIZWlnaHQ6ICJoZWlnaHQiLCBXaWR0aDogIndpZHRoIiB9LCBmdW5jdGlvbiggbmFtZSwgdHlwZSApIHsNCglqUXVlcnkuZWFjaCggeyBwYWRkaW5nOiAiaW5uZXIiICsgbmFtZSwgY29udGVudDogdHlwZSwgIiI6ICJvdXRlciIgKyBuYW1lIH0sDQoJCWZ1bmN0aW9uKCBkZWZhdWx0RXh0cmEsIGZ1bmNOYW1lICkgew0KDQoJCS8vIE1hcmdpbiBpcyBvbmx5IGZvciBvdXRlckhlaWdodCwgb3V0ZXJXaWR0aA0KCQlqUXVlcnkuZm5bIGZ1bmNOYW1lIF0gPSBmdW5jdGlvbiggbWFyZ2luLCB2YWx1ZSApIHsNCgkJCXZhciBjaGFpbmFibGUgPSBhcmd1bWVudHMubGVuZ3RoICYmICggZGVmYXVsdEV4dHJhIHx8IHR5cGVvZiBtYXJnaW4gIT09ICJib29sZWFuIiApLA0KCQkJCWV4dHJhID0gZGVmYXVsdEV4dHJhIHx8ICggbWFyZ2luID09PSB0cnVlIHx8IHZhbHVlID09PSB0cnVlID8gIm1hcmdpbiIgOiAiYm9yZGVyIiApOw0KDQoJCQlyZXR1cm4gYWNjZXNzKCB0aGlzLCBmdW5jdGlvbiggZWxlbSwgdHlwZSwgdmFsdWUgKSB7DQoJCQkJdmFyIGRvYzsNCg0KCQkJCWlmICggaXNXaW5kb3coIGVsZW0gKSApIHsNCg0KCQkJCQkvLyAkKCB3aW5kb3cgKS5vdXRlcldpZHRoL0hlaWdodCByZXR1cm4gdy9oIGluY2x1ZGluZyBzY3JvbGxiYXJzIChnaC0xNzI5KQ0KCQkJCQlyZXR1cm4gZnVuY05hbWUuaW5kZXhPZiggIm91dGVyIiApID09PSAwID8NCgkJCQkJCWVsZW1bICJpbm5lciIgKyBuYW1lIF0gOg0KCQkJCQkJZWxlbS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnRbICJjbGllbnQiICsgbmFtZSBdOw0KCQkJCX0NCg0KCQkJCS8vIEdldCBkb2N1bWVudCB3aWR0aCBvciBoZWlnaHQNCgkJCQlpZiAoIGVsZW0ubm9kZVR5cGUgPT09IDkgKSB7DQoJCQkJCWRvYyA9IGVsZW0uZG9jdW1lbnRFbGVtZW50Ow0KDQoJCQkJCS8vIEVpdGhlciBzY3JvbGxbV2lkdGgvSGVpZ2h0XSBvciBvZmZzZXRbV2lkdGgvSGVpZ2h0XSBvciBjbGllbnRbV2lkdGgvSGVpZ2h0XSwNCgkJCQkJLy8gd2hpY2hldmVyIGlzIGdyZWF0ZXN0DQoJCQkJCXJldHVybiBNYXRoLm1heCgNCgkJCQkJCWVsZW0uYm9keVsgInNjcm9sbCIgKyBuYW1lIF0sIGRvY1sgInNjcm9sbCIgKyBuYW1lIF0sDQoJCQkJCQllbGVtLmJvZHlbICJvZmZzZXQiICsgbmFtZSBdLCBkb2NbICJvZmZzZXQiICsgbmFtZSBdLA0KCQkJCQkJZG9jWyAiY2xpZW50IiArIG5hbWUgXQ0KCQkJCQkpOw0KCQkJCX0NCg0KCQkJCXJldHVybiB2YWx1ZSA9PT0gdW5kZWZpbmVkID8NCg0KCQkJCQkvLyBHZXQgd2lkdGggb3IgaGVpZ2h0IG9uIHRoZSBlbGVtZW50LCByZXF1ZXN0aW5nIGJ1dCBub3QgZm9yY2luZyBwYXJzZUZsb2F0DQoJCQkJCWpRdWVyeS5jc3MoIGVsZW0sIHR5cGUsIGV4dHJhICkgOg0KDQoJCQkJCS8vIFNldCB3aWR0aCBvciBoZWlnaHQgb24gdGhlIGVsZW1lbnQNCgkJCQkJalF1ZXJ5LnN0eWxlKCBlbGVtLCB0eXBlLCB2YWx1ZSwgZXh0cmEgKTsNCgkJCX0sIHR5cGUsIGNoYWluYWJsZSA/IG1hcmdpbiA6IHVuZGVmaW5lZCwgY2hhaW5hYmxlICk7DQoJCX07DQoJfSApOw0KfSApOw0KDQoNCmpRdWVyeS5lYWNoKCAoICJibHVyIGZvY3VzIGZvY3VzaW4gZm9jdXNvdXQgcmVzaXplIHNjcm9sbCBjbGljayBkYmxjbGljayAiICsNCgkibW91c2Vkb3duIG1vdXNldXAgbW91c2Vtb3ZlIG1vdXNlb3ZlciBtb3VzZW91dCBtb3VzZWVudGVyIG1vdXNlbGVhdmUgIiArDQoJImNoYW5nZSBzZWxlY3Qgc3VibWl0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgY29udGV4dG1lbnUiICkuc3BsaXQoICIgIiApLA0KCWZ1bmN0aW9uKCBpLCBuYW1lICkgew0KDQoJLy8gSGFuZGxlIGV2ZW50IGJpbmRpbmcNCglqUXVlcnkuZm5bIG5hbWUgXSA9IGZ1bmN0aW9uKCBkYXRhLCBmbiApIHsNCgkJcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPiAwID8NCgkJCXRoaXMub24oIG5hbWUsIG51bGwsIGRhdGEsIGZuICkgOg0KCQkJdGhpcy50cmlnZ2VyKCBuYW1lICk7DQoJfTsNCn0gKTsNCg0KalF1ZXJ5LmZuLmV4dGVuZCggew0KCWhvdmVyOiBmdW5jdGlvbiggZm5PdmVyLCBmbk91dCApIHsNCgkJcmV0dXJuIHRoaXMubW91c2VlbnRlciggZm5PdmVyICkubW91c2VsZWF2ZSggZm5PdXQgfHwgZm5PdmVyICk7DQoJfQ0KfSApOw0KDQoNCg0KDQpqUXVlcnkuZm4uZXh0ZW5kKCB7DQoNCgliaW5kOiBmdW5jdGlvbiggdHlwZXMsIGRhdGEsIGZuICkgew0KCQlyZXR1cm4gdGhpcy5vbiggdHlwZXMsIG51bGwsIGRhdGEsIGZuICk7DQoJfSwNCgl1bmJpbmQ6IGZ1bmN0aW9uKCB0eXBlcywgZm4gKSB7DQoJCXJldHVybiB0aGlzLm9mZiggdHlwZXMsIG51bGwsIGZuICk7DQoJfSwNCg0KCWRlbGVnYXRlOiBmdW5jdGlvbiggc2VsZWN0b3IsIHR5cGVzLCBkYXRhLCBmbiApIHsNCgkJcmV0dXJuIHRoaXMub24oIHR5cGVzLCBzZWxlY3RvciwgZGF0YSwgZm4gKTsNCgl9LA0KCXVuZGVsZWdhdGU6IGZ1bmN0aW9uKCBzZWxlY3RvciwgdHlwZXMsIGZuICkgew0KDQoJCS8vICggbmFtZXNwYWNlICkgb3IgKCBzZWxlY3RvciwgdHlwZXMgWywgZm5dICkNCgkJcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPT09IDEgPw0KCQkJdGhpcy5vZmYoIHNlbGVjdG9yLCAiKioiICkgOg0KCQkJdGhpcy5vZmYoIHR5cGVzLCBzZWxlY3RvciB8fCAiKioiLCBmbiApOw0KCX0NCn0gKTsNCg0KLy8gQmluZCBhIGZ1bmN0aW9uIHRvIGEgY29udGV4dCwgb3B0aW9uYWxseSBwYXJ0aWFsbHkgYXBwbHlpbmcgYW55DQovLyBhcmd1bWVudHMuDQovLyBqUXVlcnkucHJveHkgaXMgZGVwcmVjYXRlZCB0byBwcm9tb3RlIHN0YW5kYXJkcyAoc3BlY2lmaWNhbGx5IEZ1bmN0aW9uI2JpbmQpDQovLyBIb3dldmVyLCBpdCBpcyBub3Qgc2xhdGVkIGZvciByZW1vdmFsIGFueSB0aW1lIHNvb24NCmpRdWVyeS5wcm94eSA9IGZ1bmN0aW9uKCBmbiwgY29udGV4dCApIHsNCgl2YXIgdG1wLCBhcmdzLCBwcm94eTsNCg0KCWlmICggdHlwZW9mIGNvbnRleHQgPT09ICJzdHJpbmciICkgew0KCQl0bXAgPSBmblsgY29udGV4dCBdOw0KCQljb250ZXh0ID0gZm47DQoJCWZuID0gdG1wOw0KCX0NCg0KCS8vIFF1aWNrIGNoZWNrIHRvIGRldGVybWluZSBpZiB0YXJnZXQgaXMgY2FsbGFibGUsIGluIHRoZSBzcGVjDQoJLy8gdGhpcyB0aHJvd3MgYSBUeXBlRXJyb3IsIGJ1dCB3ZSB3aWxsIGp1c3QgcmV0dXJuIHVuZGVmaW5lZC4NCglpZiAoICFpc0Z1bmN0aW9uKCBmbiApICkgew0KCQlyZXR1cm4gdW5kZWZpbmVkOw0KCX0NCg0KCS8vIFNpbXVsYXRlZCBiaW5kDQoJYXJncyA9IHNsaWNlLmNhbGwoIGFyZ3VtZW50cywgMiApOw0KCXByb3h5ID0gZnVuY3Rpb24oKSB7DQoJCXJldHVybiBmbi5hcHBseSggY29udGV4dCB8fCB0aGlzLCBhcmdzLmNvbmNhdCggc2xpY2UuY2FsbCggYXJndW1lbnRzICkgKSApOw0KCX07DQoNCgkvLyBTZXQgdGhlIGd1aWQgb2YgdW5pcXVlIGhhbmRsZXIgdG8gdGhlIHNhbWUgb2Ygb3JpZ2luYWwgaGFuZGxlciwgc28gaXQgY2FuIGJlIHJlbW92ZWQNCglwcm94eS5ndWlkID0gZm4uZ3VpZCA9IGZuLmd1aWQgfHwgalF1ZXJ5Lmd1aWQrKzsNCg0KCXJldHVybiBwcm94eTsNCn07DQoNCmpRdWVyeS5ob2xkUmVhZHkgPSBmdW5jdGlvbiggaG9sZCApIHsNCglpZiAoIGhvbGQgKSB7DQoJCWpRdWVyeS5yZWFkeVdhaXQrKzsNCgl9IGVsc2Ugew0KCQlqUXVlcnkucmVhZHkoIHRydWUgKTsNCgl9DQp9Ow0KalF1ZXJ5LmlzQXJyYXkgPSBBcnJheS5pc0FycmF5Ow0KalF1ZXJ5LnBhcnNlSlNPTiA9IEpTT04ucGFyc2U7DQpqUXVlcnkubm9kZU5hbWUgPSBub2RlTmFtZTsNCmpRdWVyeS5pc0Z1bmN0aW9uID0gaXNGdW5jdGlvbjsNCmpRdWVyeS5pc1dpbmRvdyA9IGlzV2luZG93Ow0KalF1ZXJ5LmNhbWVsQ2FzZSA9IGNhbWVsQ2FzZTsNCmpRdWVyeS50eXBlID0gdG9UeXBlOw0KDQpqUXVlcnkubm93ID0gRGF0ZS5ub3c7DQoNCmpRdWVyeS5pc051bWVyaWMgPSBmdW5jdGlvbiggb2JqICkgew0KDQoJLy8gQXMgb2YgalF1ZXJ5IDMuMCwgaXNOdW1lcmljIGlzIGxpbWl0ZWQgdG8NCgkvLyBzdHJpbmdzIGFuZCBudW1iZXJzIChwcmltaXRpdmVzIG9yIG9iamVjdHMpDQoJLy8gdGhhdCBjYW4gYmUgY29lcmNlZCB0byBmaW5pdGUgbnVtYmVycyAoZ2gtMjY2MikNCgl2YXIgdHlwZSA9IGpRdWVyeS50eXBlKCBvYmogKTsNCglyZXR1cm4gKCB0eXBlID09PSAibnVtYmVyIiB8fCB0eXBlID09PSAic3RyaW5nIiApICYmDQoNCgkJLy8gcGFyc2VGbG9hdCBOYU5zIG51bWVyaWMtY2FzdCBmYWxzZSBwb3NpdGl2ZXMgKCIiKQ0KCQkvLyAuLi5idXQgbWlzaW50ZXJwcmV0cyBsZWFkaW5nLW51bWJlciBzdHJpbmdzLCBwYXJ0aWN1bGFybHkgaGV4IGxpdGVyYWxzICgiMHguLi4iKQ0KCQkvLyBzdWJ0cmFjdGlvbiBmb3JjZXMgaW5maW5pdGllcyB0byBOYU4NCgkJIWlzTmFOKCBvYmogLSBwYXJzZUZsb2F0KCBvYmogKSApOw0KfTsNCg0KDQoNCg0KLy8gUmVnaXN0ZXIgYXMgYSBuYW1lZCBBTUQgbW9kdWxlLCBzaW5jZSBqUXVlcnkgY2FuIGJlIGNvbmNhdGVuYXRlZCB3aXRoIG90aGVyDQovLyBmaWxlcyB0aGF0IG1heSB1c2UgZGVmaW5lLCBidXQgbm90IHZpYSBhIHByb3BlciBjb25jYXRlbmF0aW9uIHNjcmlwdCB0aGF0DQovLyB1bmRlcnN0YW5kcyBhbm9ueW1vdXMgQU1EIG1vZHVsZXMuIEEgbmFtZWQgQU1EIGlzIHNhZmVzdCBhbmQgbW9zdCByb2J1c3QNCi8vIHdheSB0byByZWdpc3Rlci4gTG93ZXJjYXNlIGpxdWVyeSBpcyB1c2VkIGJlY2F1c2UgQU1EIG1vZHVsZSBuYW1lcyBhcmUNCi8vIGRlcml2ZWQgZnJvbSBmaWxlIG5hbWVzLCBhbmQgalF1ZXJ5IGlzIG5vcm1hbGx5IGRlbGl2ZXJlZCBpbiBhIGxvd2VyY2FzZQ0KLy8gZmlsZSBuYW1lLiBEbyB0aGlzIGFmdGVyIGNyZWF0aW5nIHRoZSBnbG9iYWwgc28gdGhhdCBpZiBhbiBBTUQgbW9kdWxlIHdhbnRzDQovLyB0byBjYWxsIG5vQ29uZmxpY3QgdG8gaGlkZSB0aGlzIHZlcnNpb24gb2YgalF1ZXJ5LCBpdCB3aWxsIHdvcmsuDQoNCi8vIE5vdGUgdGhhdCBmb3IgbWF4aW11bSBwb3J0YWJpbGl0eSwgbGlicmFyaWVzIHRoYXQgYXJlIG5vdCBqUXVlcnkgc2hvdWxkDQovLyBkZWNsYXJlIHRoZW1zZWx2ZXMgYXMgYW5vbnltb3VzIG1vZHVsZXMsIGFuZCBhdm9pZCBzZXR0aW5nIGEgZ2xvYmFsIGlmIGFuDQovLyBBTUQgbG9hZGVyIGlzIHByZXNlbnQuIGpRdWVyeSBpcyBhIHNwZWNpYWwgY2FzZS4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZQ0KLy8gaHR0cHM6Ly9naXRodWIuY29tL2pyYnVya2UvcmVxdWlyZWpzL3dpa2kvVXBkYXRpbmctZXhpc3RpbmctbGlicmFyaWVzI3dpa2ktYW5vbg0KDQppZiAoIHR5cGVvZiBkZWZpbmUgPT09ICJmdW5jdGlvbiIgJiYgZGVmaW5lLmFtZCApIHsNCglkZWZpbmUoICJqcXVlcnkiLCBbXSwgZnVuY3Rpb24oKSB7DQoJCXJldHVybiBqUXVlcnk7DQoJfSApOw0KfQ0KDQoNCg0KDQp2YXINCg0KCS8vIE1hcCBvdmVyIGpRdWVyeSBpbiBjYXNlIG9mIG92ZXJ3cml0ZQ0KCV9qUXVlcnkgPSB3aW5kb3cualF1ZXJ5LA0KDQoJLy8gTWFwIG92ZXIgdGhlICQgaW4gY2FzZSBvZiBvdmVyd3JpdGUNCglfJCA9IHdpbmRvdy4kOw0KDQpqUXVlcnkubm9Db25mbGljdCA9IGZ1bmN0aW9uKCBkZWVwICkgew0KCWlmICggd2luZG93LiQgPT09IGpRdWVyeSApIHsNCgkJd2luZG93LiQgPSBfJDsNCgl9DQoNCglpZiAoIGRlZXAgJiYgd2luZG93LmpRdWVyeSA9PT0galF1ZXJ5ICkgew0KCQl3aW5kb3cualF1ZXJ5ID0gX2pRdWVyeTsNCgl9DQoNCglyZXR1cm4galF1ZXJ5Ow0KfTsNCg0KLy8gRXhwb3NlIGpRdWVyeSBhbmQgJCBpZGVudGlmaWVycywgZXZlbiBpbiBBTUQNCi8vICgjNzEwMiNjb21tZW50OjEwLCBodHRwczovL2dpdGh1Yi5jb20vanF1ZXJ5L2pxdWVyeS9wdWxsLzU1NykNCi8vIGFuZCBDb21tb25KUyBmb3IgYnJvd3NlciBlbXVsYXRvcnMgKCMxMzU2NikNCmlmICggIW5vR2xvYmFsICkgew0KCXdpbmRvdy5qUXVlcnkgPSB3aW5kb3cuJCA9IGpRdWVyeTsNCn0NCg0KDQoNCg0KcmV0dXJuIGpRdWVyeTsNCn0gKTsNCg=="}},"time_used":84,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":29,"receive":55,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"s3.tradingview.com/external-embedding/embed-widget-symbol-overview.js","fqdn":"s3.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.410Z","timestamp":1785120633410,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 21 Oct 2025 00:00:00 GMT","end":"Tue, 17 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"C4:FE:64:00:30:2A:CD:16:30:95:7E:E1:70:D1:31:3A:D6:33:3A:CC","sha256":"87:D2:67:7D:3E:02:F0:3B:58:BD:38:17:DA:FE:73:C0:CA:25:F9:58:CC:11:14:E0:3A:6E:C3:58:84:9E:BF:52"}}},"request":{"raw":"GET /external-embedding/embed-widget-symbol-overview.js HTTP/1.1\r\nHost: s3.tradingview.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://247optiontradefx.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 02:50:33 GMT\r\ncontent-type: text/javascript\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1837468\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 3000\r\ncache-control: public, max-age=300\r\ncontent-encoding: zstd\r\netag: \"36467b799fea866531b4aeb7a69a8038\"\r\nlast-modified: Fri, 24 Jul 2026 10:29:28 GMT\r\nx-amz-id-2: pW1cG3eofhQSSqWSSSNvvIqys2QtZYxluXkYAcf3kr7FD622248G78fYeN9mVI0JmHOkTQp8m7Y=\r\nx-amz-request-id: HJCVSAAQ6H0363T5\r\nx-amz-server-side-encryption: AES256\r\nx-amz-version-id: KIEn.o5zCQ9R9aCVcWba58GAJ7qB3csl\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncontent-security-policy: default-src 'none'\r\ncdn-cachedat: 07/24/2026 10:29:49\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 59a0e7c6e7e69edd262b84f56d131c04\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\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":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":13375,"size_decoded":6101,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (3458)","md5":"36467b799fea866531b4aeb7a69a8038","sha1":"d8322943c2ce57c5dd1c5104aa657fb2e165ff24","sha256":"5a9522299418e049d7156835fca6066edff28d8575a3d76c3057d2b703e5765d","sha512":"507b704388e0a57d6d874ea2a440e9d7a571429612723f1f9ee29503e76acaee6d56b2c63cfb4d1c56a8796faadbbb8456b23c4f9e7b7d5f35849db0b9914657","ssdeep":"384:gf6uCWoofYkFdj9uvb22tY6q6dr26aMVivSzN:uDluvb22tYN6dr26akxzN","tlshash":"9c52e86ab660dcbd51d982dfa07a2720b61e3944f203aca4b5acd4c554edccca431f7e","first_seen":"2026-07-16T13:40:49.793868Z","last_seen":"2026-07-27T05:54:29.878531Z","times_seen":23,"resource_available":true,"data":"KCgpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHQodCxlKXtpZihudWxsPT09dCl0aHJvdyBuZXcgRXJyb3IoYCR7ZT8/IlZhbHVlIn0gaXMgbnVsbGApO3JldHVybiB0fWNvbnN0IGU9eyJjb2xvci1jb2xkLWdyYXktMzAwIjoiI0IyQjVCRSIsImNvbG9yLWJyYW5kIjoiIzI5NjJGRiIsImNvbG9yLWJyYW5kLWhvdmVyIjoiIzFFNTNFNSIsImNvbG9yLWJyYW5kLWFjdGl2ZSI6IiMxODQ4Q0MifQo7Y29uc3QgaT1KU09OLnBhcnNlKCd7ImNyeXB0by1ta3Qtc2NyZWVuZXIiOnsid2lkdGgiOjEwMDAsImhlaWdodCI6NDkwLCJkZWZhdWx0Q29sdW1uIjoib3ZlcnZpZXciLCJtYXJrZXQiOiJjcnlwdG8iLCJzY3JlZW5lcl90eXBlIjoiY3J5cHRvX21rdCIsImRpc3BsYXlDdXJyZW5jeSI6IlVTRCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwiZXZlbnRzIjp7IndpZHRoIjo1MTAsImhlaWdodCI6NjAwLCJpc1RyYW5zcGFyZW50IjpmYWxzZSwiaGlkZUltcG9ydGFuY2VJbmRpY2F0b3IiOmZhbHNlLCJhdXRvc2l6ZSI6ZmFsc2V9LCJmb3JleC1jcm9zcy1yYXRlcyI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImN1cnJlbmNpZXMiOlsiRVVSIiwiVVNEIiwiSlBZIiwiR0JQIiwiQ0hGIiwiQVVEIiwiQ0FEIiwiTlpEIl0sImZyYW1lRWxlbWVudElkIjpudWxsLCJhdXRvc2l6ZSI6ZmFsc2V9LCJmb3JleC1oZWF0LW1hcCI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImN1cnJlbmNpZXMiOlsiRVVSIiwiVVNEIiwiSlBZIiwiR0JQIiwiQ0hGIiwiQVVEIiwiQ0FEIiwiTlpEIiwiQ05ZIl0sImZyYW1lRWxlbWVudElkIjpudWxsLCJhdXRvc2l6ZSI6ZmFsc2V9LCJob3RsaXN0cyI6eyJ3aWR0aCI6NDAwLCJoZWlnaHQiOjYwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImRhdGVSYW5nZSI6IjEyTSIsInNob3dTeW1ib2xMb2dvIjpmYWxzZX0sIm1hcmtldC1vdmVydmlldyI6eyJ3aWR0aCI6NDAwLCJoZWlnaHQiOjY1MCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImRhdGVSYW5nZSI6IjEyTSIsInNob3dTeW1ib2xMb2dvIjp0cnVlfSwibWFya2V0LXF1b3RlcyI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQ1MCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsInNob3dTeW1ib2xMb2dvIjpmYWxzZX0sIm1pbmktc3ltYm9sLW92ZXJ2aWV3Ijp7IndpZHRoIjozNTAsImhlaWdodCI6MjIwLCJzeW1ib2wiOiJGWDpFVVJVU0QiLCJkYXRlUmFuZ2UiOiIxMk0iLCJpc1RyYW5zcGFyZW50IjpmYWxzZSwiYXV0b3NpemUiOmZhbHNlLCJsYXJnZUNoYXJ0VXJsIjoiIn0sInN5bWJvbC1vdmVydmlldyI6eyJ3aWR0aCI6MTAwMCwiaGVpZ2h0Ijo1MDAsInN5bWJvbHMiOltbIkFwcGxlIiwiQUFQTHwxRCJdLFsiR29vZ2xlIiwiR09PR0x8MUQiXSxbIk1pY3Jvc29mdCIsIk1TRlR8MUQiXV0sImF1dG9zaXplIjpmYWxzZSwiY2hhcnRPbmx5IjpmYWxzZSwiaGlkZURhdGVSYW5nZXMiOmZhbHNlLCJoaWRlTWFya2V0U3RhdHVzIjpmYWxzZSwiaGlkZVN5bWJvbExvZ28iOmZhbHNlLCJzY2FsZVBvc2l0aW9uIjoicmlnaHQiLCJzY2FsZU1vZGUiOiJOb3JtYWwiLCJmb250RmFtaWx5IjoiLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBUcmVidWNoZXQgTVMsIFJvYm90bywgVWJ1bnR1LCBzYW5zLXNlcmlmIiwiZm9udFNpemUiOiIxMCIsIm5vVGltZVNjYWxlIjpmYWxzZSwiY2hhcnRUeXBlIjoiYXJlYSIsInZhbHVlc1RyYWNraW5nIjoiMCIsImNoYW5nZU1vZGUiOiJwcmljZS1hbmQtcGVyY2VudCJ9LCJhZHZhbmNlZC1jaGFydCI6eyJib2R5SWQiOiJ3aWRnZXQtY29udGFpbmVyIiwiYm9keUNsYXNzZXMiOlsiY2hhcnQtcGFnZSIsInVuc2VsZWN0YWJsZSIsIm9uLXdpZGdldCJdfSwic2NyZWVuZXIiOnsid2lkdGgiOjExMDAsImhlaWdodCI6NTIzLCJkZWZhdWx0Q29sdW1uIjoib3ZlcnZpZXciLCJkZWZhdWx0U2NyZWVuIjoiZ2VuZXJhbCIsIm1hcmtldCI6ImZvcmV4Iiwic2hvd1Rvb2xiYXIiOnRydWUsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwic2luZ2xlLXF1b3RlIjp7IndpZHRoIjozNTAsInN5bWJvbCI6IkZYOkVVUlVTRCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwic3ltYm9sLXByb2ZpbGUiOnsid2lkdGgiOjQ4MCwiaGVpZ2h0Ijo2NTAsInN5bWJvbCI6Ik5BU0RBUTpBQVBMIiwiaXNUcmFuc3BhcmVudCI6ZmFsc2V9LCJzeW1ib2wtaW5mbyI6eyJ3aWR0aCI6MTAwMCwic3ltYm9sIjoiTkFTREFROkFBUEwiLCJpc1RyYW5zcGFyZW50IjpmYWxzZX0sInRlY2huaWNhbC1hbmFseXNpcyI6eyJpbnRlcnZhbCI6IjFtIiwid2lkdGgiOjQyNSwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImhlaWdodCI6NDUwLCJzeW1ib2wiOiJOQVNEQVE6QUFQTCIsInNob3dJbnRlcnZhbFRhYnMiOnRydWUsImRpc3BsYXlNb2RlIjoic2luZ2xlIn0sInRpY2tlci10YXBlIjp7ImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6ImFkYXB0aXZlIiwic2hvd1N5bWJvbExvZ28iOmZhbHNlfSwidGlja2VycyI6eyJpc1RyYW5zcGFyZW50IjpmYWxzZSwic2hvd1N5bWJvbExvZ28iOmZhbHNlfSwiZmluYW5jaWFscyI6eyJ3aWR0aCI6NDgwLCJoZWlnaHQiOjgzMCwiYXV0b3NpemUiOmZhbHNlLCJzeW1ib2wiOiJOQVNEQVE6QUFQTCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6InJlZ3VsYXIiLCJsYXJnZUNoYXJ0VXJsIjoiIn0sInRpbWVsaW5lIjp7IndpZHRoIjo0ODAsImhlaWdodCI6ODMwLCJhdXRvc2l6ZSI6ZmFsc2UsImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6InJlZ3VsYXIiLCJmZWVkTW9kZSI6ImFsbF9zeW1ib2xzIn0sInN0b2NrLWhlYXRtYXAiOnsid2lkdGgiOjUwMCwiaGVpZ2h0Ijo1MDAsImF1dG9zaXplIjp0cnVlLCJkYXRhU291cmNlIjoiU1BYNTAwIiwiZXhjaGFuZ2VzIjpbXSwiZ3JvdXBpbmciOiJzZWN0b3IiLCJibG9ja1NpemUiOiJtYXJrZXRfY2FwX2Jhc2ljIiwiYmxvY2tDb2xvciI6ImNoYW5nZSIsImhhc1RvcEJhciI6ZmFsc2UsImlzRGF0YVNldEVuYWJsZWQiOmZhbHNlLCJpc1pvb21FbmFibGVkIjp0cnVlLCJoYXNTeW1ib2xUb29sdGlwIjp0cnVlLCJzeW1ib2xVcmwiOiIiLCJpc01vbm9TaXplIjpmYWxzZX0sImNyeXB0by1jb2lucy1oZWF0bWFwIjp7IndpZHRoIjo1MDAsImhlaWdodCI6NTAwLCJhdXRvc2l6ZSI6dHJ1ZSwiZGF0YVNvdXJjZSI6IkNyeXB0byIsImJsb2NrU2l6ZSI6Im1hcmtldF9jYXBfY2FsYyIsImJsb2NrQ29sb3IiOiIyNGhfY2xvc2VfY2hhbmdlfDUiLCJoYXNUb3BCYXIiOmZhbHNlLCJpc0RhdGFTZXRFbmFibGVkIjpmYWxzZSwiaXNab29tRW5hYmxlZCI6dHJ1ZSwiaGFzU3ltYm9sVG9vbHRpcCI6dHJ1ZSwic3ltYm9sVXJsIjoiIiwiaXNNb25vU2l6ZSI6ZmFsc2V9LCJldGYtaGVhdG1hcCI6eyJ3aWR0aCI6NTAwLCJoZWlnaHQiOjUwMCwiYXV0b3NpemUiOnRydWUsImRhdGFTb3VyY2UiOiJBbGxVU0V0ZiIsImJsb2NrU2l6ZSI6InZvbHVtZSIsImJsb2NrQ29sb3IiOiJjaGFuZ2UiLCJncm91cGluZyI6ImFzc2V0X2NsYXNzIiwiaGFzVG9wQmFyIjpmYWxzZSwiaXNEYXRhU2V0RW5hYmxlZCI6ZmFsc2UsImlzWm9vbUVuYWJsZWQiOnRydWUsImhhc1N5bWJvbFRvb2x0aXAiOnRydWUsInN5bWJvbFVybCI6IiIsImlzTW9ub1NpemUiOmZhbHNlfX0nKQo7dmFyIHIsbzshZnVuY3Rpb24odCl7bGV0IGU7IWZ1bmN0aW9uKHQpe3QuU2V0U3ltYm9sPSJzZXQtc3ltYm9sIix0LlNldEludGVydmFsPSJzZXQtaW50ZXJ2YWwifShlPXQuTmFtZXN8fCh0Lk5hbWVzPXt9KSl9KHJ8fChyPXt9KSksZnVuY3Rpb24odCl7bGV0IGU7IWZ1bmN0aW9uKHQpe3QuU3ltYm9sQ2xpY2s9InR2LXdpZGdldC1zeW1ib2wtY2xpY2siLHQuV2lkZ2V0TG9hZD0idHYtd2lkZ2V0LWxvYWQiLHQuV2lkZ2V0UmVhZHk9InR2LXdpZGdldC1yZWFkeSIsdC5SZXNpemVJZnJhbWU9InR2LXdpZGdldC1yZXNpemUtaWZyYW1lIix0Lk5vRGF0YT0idHYtd2lkZ2V0LW5vLWRhdGEifShlPXQuTmFtZXN8fCh0Lk5hbWVzPXt9KSl9KG98fChvPXt9KSk7Y29uc3Qgcz0iX19GQUlMX18iLG49Il9fTkhUVFBfXyIsYT1uZXcgUmVnRXhwKCJeaHR0cChzKT86KC8vKT8iKTtmdW5jdGlvbiBsKHQ9bG9jYXRpb24uaHJlZil7Y29uc3QgZT1mdW5jdGlvbih0KXt0cnl7Y29uc3QgZT1uZXcgVVJMKHQpO3JldHVybiBhLnRlc3QoZS5wcm90b2NvbCk/bnVsbDpufWNhdGNoKHQpe3JldHVybiBzfX0odCk7cmV0dXJuIGV8fHQucmVwbGFjZShhLCIiKX1jb25zdCBjPXt3aWRnZXRIb3N0OiJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tIixlbnY6IkJBVFRMRSJ9O2NvbnN0IGg9WyJsb2NhbGUiLCJzeW1ib2wiLCJtYXJrZXQiXTtjbGFzcyBke2NvbnN0cnVjdG9yKHQpe3RoaXMuX2NvcHlyaWdodENvbnRhaW5lcj1udWxsO2NvbnN0IGU9dD8/dGhpcy5fZ2V0U2NyaXB0SW5mbygpO2UmJnRoaXMuX3JlcGxhY2VTY3JpcHQoZSl9aGFzQ29weXJpZ2h0KCl7cmV0dXJuISF0aGlzLl9jb3B5cmlnaHRDb250YWluZXJ9Z2V0IHdpZGdldElkKCl7dGhyb3cgbmV3IEVycm9yKCJNZXRob2QgbXVzdCBiZSBvdmVycmlkZGVuIil9d2lkZ2V0VXRtTmFtZSgpe3JldHVybiB0aGlzLndpZGdldElkfWdldCBkZWZhdWx0U2V0dGluZ3MoKXtyZXR1cm4gaVt0aGlzLndpZGdldElkXX1nZXQgcHJvcGVydGllc1RvV29ya1dpdGgoKXtyZXR1cm5bXX1nZXQgdXNlUGFyYW1zRm9yQ29ubmVjdFNvY2tldCgpe3JldHVybiExfWdldCB1c2VTbm93cGxvd1BhZ2VWaWV3KCl7cmV0dXJuITF9dXNlUXVlcnlTdHJpbmdQYXJhbWV0ZXJzKHQpe3JldHVybnt9fWZpbHRlclJhd1NldHRpbmdzKHQpe2NvbnN0IGU9e30saT17Li4udCwuLi50aGlzLnVzZVF1ZXJ5U3RyaW5nUGFyYW1ldGVycyh0KX0scj1PYmplY3Qua2V5cyhpKSxvPW5ldyBTZXQodGhpcy5wcm9wZXJ0aWVzVG9Xb3JrV2l0aCk7cmV0dXJuIHIuZm9yRWFjaCgodD0+e28uaGFzKHQpJiYoZVt0XT1pW3RdKX0pKSxlfWdldCBzaG91bGRMaXN0ZW5Ub0lmcmFtZVJlc2l6ZSgpe3JldHVybiEwfWdldCBwcm9wZXJ0aWVzVG9Ta2lwSW5IYXNoKCl7cmV0dXJuWyJjdXN0b21lciIsImxvY2FsZSJdfWdldCBwcm9wZXJ0aWVzVG9BZGRUb0dldFBhcmFtcygpe3JldHVyblsibG9jYWxlIl19c2hvdWxkQWRkQ29weXJpZ2h0U3R5bGVzKCl7cmV0dXJuITB9X2RlZmF1bHRXaWR0aCgpe31fZGVmYXVsdEhlaWdodCgpe31fZ2V0U2NyaXB0SW5mbygpe2NvbnN0IHQ9ZG9jdW1lbnQuY3VycmVudFNjcmlwdDtpZighdHx8IXQuc3JjKXJldHVybiBjb25zb2xlLmVycm9yKCJDb3VsZCBub3Qgc2VsZi1yZXBsYWNlIHRoZSBzY3JpcHQsIHdpZGdldCBlbWJlZGRpbmcgaGFzIGJlZW4gYWJvcnRlZCIpLG51bGw7cmV0dXJue3NjcmlwdFVSTDpmdW5jdGlvbih0KXtjb25zdCBlPW5ldyBVUkwodCxkb2N1bWVudC5iYXNlVVJJKTtyZXR1cm57aG9zdDplLmhvc3QscGF0aG5hbWU6ZS5wYXRobmFtZSxocmVmOmUuaHJlZixwcm90b2NvbDplLnByb3RvY29sfX0odC5zcmMpLHNjcmlwdEVsZW1lbnQ6dCxpZDp0LmlkLHJhd1NldHRpbmdzOnRoaXMuX3NjcmlwdENvbnRlbnRUb0pTT04odCksb3ZlcnJpZGVIb3N0OnQuZ2V0QXR0cmlidXRlKCJvdmVycmlkZS1ob3N0Iil9fV9yZXBsYWNlU2NyaXB0KGkpe2NvbnN0e3NjcmlwdFVSTDpyLHNjcmlwdEVsZW1lbnQ6cyxyYXdTZXR0aW5nczpuLGlkOmEsb3ZlcnJpZGVIb3N0Omx9PWksaD1sfHxmdW5jdGlvbih0LGU9Yyl7aWYoIkJBVFRMRSI9PT1lLmVudil7aWYod2luZG93LldJREdFVF9IT1NUKXJldHVybiB3aW5kb3cuV0lER0VUX0hPU1Q7aWYodC5ob3N0Lm1hdGNoKC9cLlx3c3RcdypcLlx3diQvaSkpcmV0dXJuYGh0dHBzOi8vJHsoaT10Lmhvc3Qscj0zLGkuc3BsaXQoIi4iKS5zbGljZSgtcikuam9pbigiLiIpKS5yZXBsYWNlKC9eYmV0YTAoPz1cLnhzdGFnaW5nXC50diQpL2ksImJldGEwLXhzdGFnaW5nIikucmVwbGFjZSgvXC4oXHcpdiQvaSwoKHQsZSk9PmAtd2lkZ2V0LiR7ZX12YCkpfWB9dmFyIGkscjtyZXR1cm4gZS53aWRnZXRIb3N0fShyKSxkPXMucGFyZW50Tm9kZTtuJiYidGltZWxpbmUiPT09dGhpcy53aWRnZXRVdG1OYW1lKCkmJihuLmxvY2FsZT0iZW4iKTtjb25zdCBnPXMubm9uY2V8fHMuZ2V0QXR0cmlidXRlKCJub25jZSIpLHU9ZnVuY3Rpb24odCl7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3QgZT10LnF1ZXJ5U2VsZWN0b3IoIiN0cmFkaW5ndmlldy1jb3B5cmlnaHQiKSxpPXQucXVlcnlTZWxlY3RvcigiI3RyYWRpbmd2aWV3LXF1b3RlcyIpLHI9ZXx8aTtyZXR1cm4gciYmdC5yZW1vdmVDaGlsZChyKSxyfShkKSxtPWQucXVlcnlTZWxlY3RvcigiLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQiKTt0aGlzLl9jb3B5cmlnaHRDb250YWluZXI9dXx8bTtjb25zdCBwPWQuY2xhc3NMaXN0LmNvbnRhaW5zKCJ0cmFkaW5ndmlldy13aWRnZXQtY29udGFpbmVyIik7dGhpcy5pZnJhbWVDb250YWluZXI9ZCYmcD9kOmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLG4mJih0aGlzLnNldHRpbmdzPXRoaXMuZmlsdGVyUmF3U2V0dGluZ3MobikpLG4mJnRoaXMuX3ZhbGlkYXRlU2V0dGluZ3MoKXx8KGNvbnNvbGUuZXJyb3IoIkludmFsaWQgc2V0dGluZ3MgcHJvdmlkZWQsIGZhbGwgYmFjayB0byBkZWZhdWx0cyIpLHRoaXMuc2V0dGluZ3M9dGhpcy5maWx0ZXJSYXdTZXR0aW5ncyh0aGlzLmRlZmF1bHRTZXR0aW5ncykpCjtjb25zdCBmPSIzMnB4Iix7d2lkdGg6dyxoZWlnaHQ6eX09dGhpcy5zZXR0aW5ncyxiPXZvaWQgMD09PXk/dm9pZCAwOmAke3l9JHtOdW1iZXIuaXNJbnRlZ2VyKHkpPyJweCI6IiJ9YCxTPXZvaWQgMD09PXc/dm9pZCAwOmAke3d9JHtOdW1iZXIuaXNJbnRlZ2VyKHcpPyJweCI6IiJ9YDtpZih2b2lkIDAhPT1TJiYodGhpcy5pZnJhbWVDb250YWluZXIuc3R5bGUud2lkdGg9Uyksdm9pZCAwIT09YiYmKHRoaXMuaWZyYW1lQ29udGFpbmVyLnN0eWxlLmhlaWdodD1iKSx0aGlzLnNob3VsZEFkZENvcHlyaWdodFN0eWxlcygpKXtjb25zdCB0PWZ1bmN0aW9uKCl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3JldHVybiB0LmlubmVySFRNTD1gXG5cdC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IHtcblx0XHRmb250LXNpemU6IDEzcHggIWltcG9ydGFudDtcblx0XHRsaW5lLWhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcblx0XHQvKiBAbWl4aW4gc2YtcHJvLWRpc3BsYXktZm9udDsgKi9cblx0XHRmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnVHJlYnVjaGV0IE1TJywgUm9ib3RvLCBVYnVudHUsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1jb2xkLWdyYXktMzAwIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYSB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0Y29sb3I6ICR7ZVsiY29sb3ItY29sZC1ncmF5LTMwMCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYTp2aXNpdGVkIHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1jb2xkLWdyYXktMzAwIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOmhvdmVyIC5ibHVlLXRleHQge1xuXHRcdGNvbG9yOiAke2VbImNvbG9yLWJyYW5kLWhvdmVyIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOmFjdGl2ZSAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZC1hY3RpdmUiXX0gIWltcG9ydGFudDtcblx0fVxuXG5cdC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IGE6dmlzaXRlZCAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cdGAsdH0oKTtnJiZ0LnNldEF0dHJpYnV0ZSgibm9uY2UiLGcpLHRoaXMuaWZyYW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKHQpfWNvbnN0IHY9dGhpcy5oYXNDb3B5cmlnaHQoKT9gY2FsYygxMDAlIC0gJHtmfSlgOiIxMDAlIixDPWxvY2F0aW9uLmhvc3RuYW1lLFQ9bT8id2lkZ2V0X25ldyI6IndpZGdldCIsXz10aGlzLndpZGdldFV0bU5hbWUoKTt0aGlzLnNldHRpbmdzLnV0bV9zb3VyY2U9Qyx0aGlzLnNldHRpbmdzLnV0bV9tZWRpdW09VCx0aGlzLnNldHRpbmdzLnV0bV9jYW1wYWlnbj1fLHRoaXMuX3VwZGF0ZUNvcHlyaWdodEhyZWZQYXJhbXMoQyxULF8pO2NvbnN0IGs9dGhpcy5zZXR0aW5ncy5pZnJhbWVUaXRsZXx8YCR7dGhpcy53aWRnZXRJZC5yZXBsYWNlKCItIiwiICIpfSBUcmFkaW5nVmlldyB3aWRnZXRgLEE9dGhpcy5zZXR0aW5ncy5pZnJhbWVMYW5nfHwiZW4iO3RoaXMuaWZyYW1lPXRoaXMuX2NyZWF0ZUlmcmFtZSh2LGgsYSxrLEEpLHRoaXMuX2FkZENTUEVycm9yTGlzdGVuZXIoaCksZyYmdGhpcy5pZnJhbWUuc2V0QXR0cmlidXRlKCJub25jZSIsZyk7Y29uc3QgTD10aGlzLmlmcmFtZUNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCIudHJhZGluZ3ZpZXctd2lkZ2V0LWNvbnRhaW5lcl9fd2lkZ2V0Iik7aWYoTD8odChMLnBhcmVudEVsZW1lbnQpLnJlcGxhY2VDaGlsZCh0aGlzLmlmcmFtZSxMKSxzPy5yZW1vdmUoKSk6cD8odGhpcy5pZnJhbWVDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5pZnJhbWUpLHM/LnJlbW92ZSgpKToodGhpcy5pZnJhbWVDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5pZnJhbWUpLGQucmVwbGFjZUNoaWxkKHRoaXMuaWZyYW1lQ29udGFpbmVyLHQocykpKSx0aGlzLnNob3VsZExpc3RlblRvSWZyYW1lUmVzaXplJiZmdW5jdGlvbih0LGUsaSl7Y29uc3Qgcj1lLmNvbnRlbnRXaW5kb3c7aWYoIXIpcmV0dXJuIGNvbnNvbGUuZXJyb3IoIkNhbm5vdCBsaXN0ZW4gdG8gdGhlIGV2ZW50IGZyb20gdGhlIHByb3ZpZGVkIGlmcmFtZSwgY29udGVudFdpbmRvdyBpcyBub3QgYXZhaWxhYmxlIiksKCk9Pnt9O2Z1bmN0aW9uIG8oZSl7ZS5zb3VyY2UmJmUuc291cmNlPT09ciYmZS5kYXRhJiZlLmRhdGEubmFtZSYmZS5kYXRhLm5hbWU9PT10JiZpKGUuZGF0YS5kYXRhKX13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsbywhMSl9KG8uTmFtZXMuUmVzaXplSWZyYW1lLHRoaXMuaWZyYW1lLCh0PT57dC53aWR0aCYmKHRoaXMuaWZyYW1lLnN0eWxlLndpZHRoPXQud2lkdGgrInB4Iix0aGlzLmlmcmFtZUNvbnRhaW5lci5zdHlsZS53aWR0aD10LndpZHRoKyJweCIpLHRoaXMuaWZyYW1lLnN0eWxlLmhlaWdodD10LmhlaWdodCsicHgiLHRoaXMuaWZyYW1lQ29udGFpbmVyLnN0eWxlLmhlaWdodD10LmhlaWdodCsodGhpcy5oYXNDb3B5cmlnaHQoKT8zMjowKSsicHgifSkpLHUpe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC5zdHlsZS5oZWlnaHQ9Zix0LnN0eWxlLmxpbmVIZWlnaHQ9Zix2b2lkIDAhPT1TJiYodC5zdHlsZS53aWR0aD1TKSx0LnN0eWxlLnRleHRBbGlnbj0iY2VudGVyIix0LnN0eWxlLnZlcnRpY2FsQWxpZ249Im1pZGRsZSIsdC5pbm5lckhUTUw9dS5pbm5lckhUTUwsCnRoaXMuaWZyYW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKHQpfX1faWZyYW1lU3JjQmFzZSh0KXtsZXQgZT1gJHt0fS9lbWJlZC13aWRnZXQvJHt0aGlzLndpZGdldElkfS9gO3JldHVybiB0aGlzLnNldHRpbmdzLmN1c3RvbWVyJiYtMSE9PXRoaXMucHJvcGVydGllc1RvU2tpcEluSGFzaC5pbmRleE9mKCJjdXN0b21lciIpJiYoZSs9YCR7dGhpcy5zZXR0aW5ncy5jdXN0b21lcn0vYCksZX1fdmFsaWRhdGVTZXR0aW5ncygpe2NvbnN0IHQ9KHQsZSk9PntpZih2b2lkIDA9PT10KXJldHVybiBlO2NvbnN0IGk9U3RyaW5nKHQpO3JldHVybi9eXGQrJC8udGVzdChpKT9wYXJzZUludChpKTovXihcZCslfGF1dG8pJC8udGVzdChpKT9pOm51bGx9LGU9dCh0aGlzLnNldHRpbmdzLndpZHRoLHRoaXMuX2RlZmF1bHRXaWR0aCgpKSxpPXQodGhpcy5zZXR0aW5ncy5oZWlnaHQsdGhpcy5fZGVmYXVsdEhlaWdodCgpKTtyZXR1cm4gbnVsbCE9PWUmJm51bGwhPT1pJiYodGhpcy5zZXR0aW5ncy53aWR0aD1lLHRoaXMuc2V0dGluZ3MuaGVpZ2h0PWksITApfV9zZXRTZXR0aW5nc1F1ZXJ5U3RyaW5nKHQpe2NvbnN0IGU9dGhpcy5wcm9wZXJ0aWVzVG9BZGRUb0dldFBhcmFtcy5maWx0ZXIoKHQ9Pi0xIT09aC5pbmRleE9mKHQpKSksaT1mdW5jdGlvbih0LGUpe2NvbnN0IGk9T2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YodCkpO2Zvcihjb25zdCByIG9mIGUpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJihpW3JdPXRbcl0pO3JldHVybiBpfSh0aGlzLnNldHRpbmdzLGUpO2Zvcihjb25zdFtlLHJdb2YgT2JqZWN0LmVudHJpZXMoaSkpdC5zZWFyY2hQYXJhbXMuYXBwZW5kKGUscil9X3NldEhhc2hTdHJpbmcodCxlKXtjb25zdCBpPXt9O2UmJihpLmZyYW1lRWxlbWVudElkPWUpLE9iamVjdC5rZXlzKHRoaXMuc2V0dGluZ3MpLmZvckVhY2goKHQ9PnstMT09PXRoaXMucHJvcGVydGllc1RvU2tpcEluSGFzaC5pbmRleE9mKHQpJiYoaVt0XT10aGlzLnNldHRpbmdzW3RdKX0pKSwodGhpcy51c2VQYXJhbXNGb3JDb25uZWN0U29ja2V0fHx0aGlzLnVzZVNub3dwbG93UGFnZVZpZXcpJiYoaVsicGFnZS11cmkiXT1sKCkpO09iamVjdC5rZXlzKGkpLmxlbmd0aD4wJiYodC5oYXNoPWVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShpKSkpfV9zY3JpcHRDb250ZW50VG9KU09OKHQpe2NvbnN0IGU9dC5pbm5lckhUTUwudHJpbSgpO3RyeXtyZXR1cm4gSlNPTi5wYXJzZShlKX1jYXRjaCh0KXtyZXR1cm4gY29uc29sZS5lcnJvcihgV2lkZ2V0IHNldHRpbmdzIHBhcnNlIGVycm9yOiAke3R9YCksbnVsbH19X2NyZWF0ZUlmcmFtZSh0LGUsaSxyLG8pe2NvbnN0IHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7aSYmKHMuaWQ9aSksdGhpcy5zZXR0aW5ncy5lbmFibGVTY3JvbGxpbmd8fHMuc2V0QXR0cmlidXRlKCJzY3JvbGxpbmciLCJubyIpLHMuc2V0QXR0cmlidXRlKCJhbGxvd3RyYW5zcGFyZW5jeSIsInRydWUiKSxzLnNldEF0dHJpYnV0ZSgiZnJhbWVib3JkZXIiLCIwIikscy5zdHlsZS51c2VyU2VsZWN0PSJub25lIixzLnN0eWxlLmJveFNpemluZz0iYm9yZGVyLWJveCIscy5zdHlsZS5kaXNwbGF5PSJibG9jayIscy5zdHlsZS5oZWlnaHQ9dCxzLnN0eWxlLndpZHRoPSIxMDAlIjtjb25zdCBuPW5ldyBVUkwodGhpcy5faWZyYW1lU3JjQmFzZShlKSk7cmV0dXJuIHRoaXMuX3NldFNldHRpbmdzUXVlcnlTdHJpbmcobiksdGhpcy5fc2V0SGFzaFN0cmluZyhuLGkpLHMuc2V0QXR0cmlidXRlKCJzcmMiLG4udG9TdHJpbmcoKSkscy50aXRsZT1yLHMubGFuZz1vLHN9X2FkZENTUEVycm9yTGlzdGVuZXIodCl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2VjdXJpdHlwb2xpY3l2aW9sYXRpb24iLChlPT57ZS5ibG9ja2VkVVJJLmluY2x1ZGVzKHQpJiYodGhpcy5fdHJ5Rml4Q1NQSXNzdWVXaXRoRmFsbGJhY2sodCksY29uc29sZS53YXJuKCJQbGVhc2UgdXBkYXRlIHlvdXIgQ1NQIHJ1bGVzIHRvIGFsbG93IHRoZSB0cmFkaW5ndmlldy13aWRnZXQuY29tIG9yaWdpbiBmb3IgZnJhbWUtc3JjLiIpKX0pKX1fdHJ5Rml4Q1NQSXNzdWVXaXRoRmFsbGJhY2sodCl7Y29uc3QgZT10aGlzLmlmcmFtZS5nZXRBdHRyaWJ1dGUoInNyYyIpO2lmKGUpe2NvbnN0IGk9bmV3IFVSTChlLnJlcGxhY2UodCwiaHR0cHM6Ly9zLnRyYWRpbmd2aWV3LmNvbSIpKTt0aGlzLmlmcmFtZS5zZXRBdHRyaWJ1dGUoInNyYyIsaS5ocmVmKX19X3VwZGF0ZUNvcHlyaWdodEhyZWZQYXJhbXModCxlLGkpe2lmKHRoaXMuX2NvcHlyaWdodENvbnRhaW5lcil7Y29uc3Qgcj10aGlzLl9jb3B5cmlnaHRDb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgiYSIpO3ImJnIuZm9yRWFjaCgocj0+e2NvbnN0IG89ci5nZXRBdHRyaWJ1dGUoImhyZWYiKTtpZihvKXRyeXtjb25zdCBzPW5ldyBVUkwobyk7cy5zZWFyY2hQYXJhbXMuc2V0KCJ1dG1fc291cmNlIix0KSxzLnNlYXJjaFBhcmFtcy5zZXQoInV0bV9tZWRpdW0iLGUpLHMuc2VhcmNoUGFyYW1zLnNldCgidXRtX2NhbXBhaWduIixpKSxyLnNldEF0dHJpYnV0ZSgiaHJlZiIscy50b1N0cmluZygpKX1jYXRjaCh0KXtjb25zb2xlLmxvZyhgQ2Fubm90IHVwZGF0ZSBsaW5rIFVUTSBwYXJhbXMsIGhyZWY9IiR7b30iYCl9fSkpfX19CmNvbnN0IGc9WyJzeW1ib2xzIiwiZGF0ZVJhbmdlcyIsImxvY2FsZSIsImNoYXJ0T25seSIsImNvbG9yVGhlbWUiLCJpc1RyYW5zcGFyZW50Iiwic2hvd1ZvbHVtZSIsInNob3dNQSIsImhpZGVEYXRlUmFuZ2VzIiwiaGlkZU1hcmtldFN0YXR1cyIsImhpZGVTeW1ib2xMb2dvIiwic2NhbGVQb3NpdGlvbiIsInNjYWxlTW9kZSIsImZvbnRGYW1pbHkiLCJub1RpbWVTY2FsZSIsImhlaWdodCIsIndpZHRoIiwiYmFja2dyb3VuZENvbG9yIiwiZ3JpZExpbmVDb2xvciIsImZvbnRDb2xvciIsImZvbnRTaXplIiwid2lkZ2V0Rm9udENvbG9yIiwiY2hhcnRUeXBlIiwiY29sb3IiLCJjb2xvckdyb3dpbmciLCJjb2xvckZhbGxpbmciLCJsaW5lQ29sb3IiLCJsaW5lQ29sb3JHcm93aW5nIiwibGluZUNvbG9yRmFsbGluZyIsInRvcENvbG9yIiwiYm90dG9tQ29sb3IiLCJ1cENvbG9yIiwiZG93bkNvbG9yIiwiYm9yZGVyVXBDb2xvciIsImJvcmRlckRvd25Db2xvciIsIndpY2tVcENvbG9yIiwid2lja0Rvd25Db2xvciIsInZvbHVtZVVwQ29sb3IiLCJ2b2x1bWVEb3duQ29sb3IiLCJsaW5lVHlwZSIsImxpbmVXaWR0aCIsInZhbHVlc1RyYWNraW5nIiwiY2hhbmdlTW9kZSIsImRhdGVGb3JtYXQiLCJ0aW1lSG91cnNGb3JtYXQiLCJtYUxpbmVDb2xvciIsIm1hTGluZVdpZHRoIiwibWFMZW5ndGgiLCJjb21wYXJlU3ltYm9sIiwiaGVhZGVyRm9udFNpemUiXTtuZXcgY2xhc3MgZXh0ZW5kcyBke2dldCB3aWRnZXRJZCgpe3JldHVybiJzeW1ib2wtb3ZlcnZpZXcifWdldCB1c2VQYXJhbXNGb3JDb25uZWN0U29ja2V0KCl7cmV0dXJuITB9Z2V0IHByb3BlcnRpZXNUb1dvcmtXaXRoKCl7cmV0dXJuWy4uLmcsImN1c3RvbWVyIl19X2RlZmF1bHRXaWR0aCgpe3JldHVybiAzMDB9X2RlZmF1bHRIZWlnaHQoKXtyZXR1cm4gNDAwfX19KSgpOw=="}},"time_used":2,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate-pa.googleapis.com/v1/supportedLanguages?client=te\u0026display_language=en-GB\u0026key=AIzaSyBWDj0QJvVIx8XOhRegXX5_SrRWxhT5Hs4\u0026callback=callback","fqdn":"translate-pa.googleapis.com","domain":"translate-pa.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.115.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"moz-nullprincipal:{b810ed5a-3af4-4bb9-b6db-b8b2538214d8}?https://247optiontradefx.com","date":"2026-07-27T02:50:34.414Z","timestamp":1785120634414,"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":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:20 GMT","end":"Mon, 21 Sep 2026 08:39:19 GMT"},"fingerprint":{"sha1":"2A:E6:04:0E:76:A4:02:27:67:28:31:4D:E5:61:19:26:CA:0E:32:84","sha256":"D4:ED:C4:F8:DB:31:8A:2D:35:15:01:14:C0:49:CB:47:FF:5B:CC:17:14:82:63:9B:A8:6F:61:4D:AA:E5:96:94"}}},"request":{"raw":"GET /v1/supportedLanguages?client=te\u0026display_language=en-GB\u0026key=AIzaSyBWDj0QJvVIx8XOhRegXX5_SrRWxhT5Hs4\u0026callback=callback HTTP/1.1\r\nHost: translate-pa.googleapis.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://247optiontradefx.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\ncross-origin-resource-policy: cross-origin\r\np3p: CP=\"This is not a P3P policy! See g.co/p3phelp for more info.\"\r\ncontent-type: text/javascript; charset=UTF-8\r\nvary: Origin, X-Origin, Referer\r\ncontent-encoding: gzip\r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\nserver: ESF\r\ncontent-length: 2690\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nset-cookie: NID=533=VLW4XB9LBd0SoVQhXwocugE6tgAede0T0XiobAUiygPbQySAErVvDI8nKobAbtfUmOjTSfelQYwIU9Co5lK_yfE79ZACkNpak0OPMFdv8n-cU2nHISdb-kj3_Juhg_5eAfpTWtBpQcz4MnutAICXNsDuNCjwqy7t9ZABR4G1qy2OrSGVy5XnrPfaKJF-TpK23Lv6OmBjrdZ-DYUBJEQc-pIv7AIbbldZ; expires=Tue, 26-Jan-2027 02:50:34 GMT; path=/; domain=.translate-pa.googleapis.com; HttpOnly\r\nexpires: Mon, 27 Jul 2026 02:50:34 GMT\r\ncache-control: private\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":null,"data":{"size":31256,"size_decoded":3557,"mime_type":"text/javascript; charset=UTF-8","magic":"Unicode text, UTF-8 text","md5":"61e97bdece891215e62b18cabc8f1cf9","sha1":"6aefc1466b40486d418ac41951dd62b47d2a5524","sha256":"428b7615810a23a8c57dba37b1c12189ec96dc2ea2f3a1ab214762c73c2d17f0","sha512":"1adba68ffda7ff575f0c71e4c5533b57311b38995e217116e9c35df73201cb5705f87f045a76b41732d57043282ac2017b1a876737bf1dd04634f98bca627f13","ssdeep":"192:STvoh18oUO8HnhZFncLUVizrTvoU18oUO8HnhZFncLUViT:Gohx8BZWLlznoUx8BZWLlT","tlshash":"4ce256bae9b50c9b2a5e25b012ba2b53302051d71eac3c053b5c0e4c6fdec5e2d7179e","first_seen":"2024-11-05T04:11:36.208137Z","last_seen":"2026-07-27T05:05:03.455406Z","times_seen":119,"resource_available":false,"data":"Ly8gQVBJIGNhbGxiYWNrCmNhbGxiYWNrKHsKICAic291cmNlTGFuZ3VhZ2VzIjogWwogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXV0byIsCiAgICAgICJuYW1lIjogIkRldGVjdCBsYW5ndWFnZSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhYiIsCiAgICAgICJuYW1lIjogIkFia2hheiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhY2UiLAogICAgICAibmFtZSI6ICJBY2VobmVzZSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhY2giLAogICAgICAibmFtZSI6ICJBY2hvbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWEiLAogICAgICAibmFtZSI6ICJBZmFyIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFmIiwKICAgICAgIm5hbWUiOiAiQWZyaWthYW5zIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNxIiwKICAgICAgIm5hbWUiOiAiQWxiYW5pYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWx6IiwKICAgICAgIm5hbWUiOiAiQWx1ciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhbSIsCiAgICAgICJuYW1lIjogIkFtaGFyaWMiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXIiLAogICAgICAibmFtZSI6ICJBcmFiaWMiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaHkiLAogICAgICAibmFtZSI6ICJBcm1lbmlhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhcyIsCiAgICAgICJuYW1lIjogIkFzc2FtZXNlIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImF2IiwKICAgICAgIm5hbWUiOiAiQXZhciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhd2EiLAogICAgICAibmFtZSI6ICJBd2FkaGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXkiLAogICAgICAibmFtZSI6ICJBeW1hcmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXoiLAogICAgICAibmFtZSI6ICJBemVyYmFpamFuaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiYW4iLAogICAgICAibmFtZSI6ICJCYWxpbmVzZSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiYWwiLAogICAgICAibmFtZSI6ICJCYWx1Y2hpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJtIiwKICAgICAgIm5hbWUiOiAiQmFtYmFyYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiY2kiLAogICAgICAibmFtZSI6ICJCYW91bMOpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJhIiwKICAgICAgIm5hbWUiOiAiQmFzaGtpciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJldSIsCiAgICAgICJuYW1lIjogIkJhc3F1ZSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJidHgiLAogICAgICAibmFtZSI6ICJCYXRhayBLYXJvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJ0cyIsCiAgICAgICJuYW1lIjogIkJhdGFrIFNpbWFsdW5ndW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmJjIiwKICAgICAgIm5hbWUiOiAiQmF0YWsgVG9iYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZSIsCiAgICAgICJuYW1lIjogIkJlbGFydXNpYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmVtIiwKICAgICAgIm5hbWUiOiAiQmVtYmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYm4iLAogICAgICAibmFtZSI6ICJCZW5nYWxpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJldyIsCiAgICAgICJuYW1lIjogIkJldGF3aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiaG8iLAogICAgICAibmFtZSI6ICJCaG9qcHVyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiaWsiLAogICAgICAibmFtZSI6ICJCaWtvbCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJicyIsCiAgICAgICJuYW1lIjogIkJvc25pYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYnIiLAogICAgICAibmFtZSI6ICJCcmV0b24iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmciLAogICAgICAibmFtZSI6ICJCdWxnYXJpYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYnVhIiwKICAgICAgIm5hbWUiOiAiQnVyeWF0IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInl1ZSIsCiAgICAgICJuYW1lIjogIkNhbnRvbmVzZSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjYSIsCiAgICAgICJuYW1lIjogIkNhdGFsYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2ViIiwKICAgICAgIm5hbWUiOiAiQ2VidWFubyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjaCIsCiAgICAgICJuYW1lIjogIkNoYW1vcnJvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNlIiwKICAgICAgIm5hbWUiOiAiQ2hlY2hlbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJueSIsCiAgICAgICJuYW1lIjogIkNoaWNoZXdhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInpoLUNOIiwKICAgICAgIm5hbWUiOiAiQ2hpbmVzZSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjaGsiLAogICAgICAibmFtZSI6ICJDaHV1a2VzZSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjdiIsCiAgICAgICJuYW1lIjogIkNodXZhc2giCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY28iLAogICAgICAibmFtZSI6ICJDb3JzaWNhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjcmgiLAogICAgICAibmFtZSI6ICJDcmltZWFuIFRhdGFyIChDeXJpbGxpYykiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY3JoLUxhdG4iLAogICAgICAibmFtZSI6ICJDcmltZWFuIFRhdGFyIChMYXRpbikiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaHIiLAogICAgICAibmFtZSI6ICJDcm9hdGlhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjcyIsCiAgICAgICJuYW1lIjogIkN6ZWNoIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImRhIiwKICAgICAgIm5hbWUiOiAiRGFuaXNoIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZhLUFGIiwKICAgICAgIm5hbWUiOiAiRGFyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkdiIsCiAgICAgICJuYW1lIjogIkRoaXZlaGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZGluIiwKICAgICAgIm5hbWUiOiAiRGlua2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZG9pIiwKICAgICAgIm5hbWUiOiAiRG9ncmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZG92IiwKICAgICAgIm5hbWUiOiAiRG9tYmUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibmwiLAogICAgICAibmFtZSI6ICJEdXRjaCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkeXUiLAogICAgICAibmFtZSI6ICJEeXVsYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkeiIsCiAgICAgICJuYW1lIjogIkR6b25na2hhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImVuIiwKICAgICAgIm5hbWUiOiAiRW5nbGlzaCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlbyIsCiAgICAgICJuYW1lIjogIkVzcGVyYW50byIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJldCIsCiAgICAgICJuYW1lIjogIkVzdG9uaWFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImVlIiwKICAgICAgIm5hbWUiOiAiRXdlIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZvIiwKICAgICAgIm5hbWUiOiAiRmFyb2VzZSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmaiIsCiAgICAgICJuYW1lIjogIkZpamlhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0bCIsCiAgICAgICJuYW1lIjogIkZpbGlwaW5vIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZpIiwKICAgICAgIm5hbWUiOiAiRmlubmlzaCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmb24iLAogICAgICAibmFtZSI6ICJGb24iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZnIiLAogICAgICAibmFtZSI6ICJGcmVuY2giCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZnItQ0EiLAogICAgICAibmFtZSI6ICJGcmVuY2ggKENhbmFkYSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZnkiLAogICAgICAibmFtZSI6ICJGcmlzaWFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZ1ciIsCiAgICAgICJuYW1lIjogIkZyaXVsaWFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZmIiwKICAgICAgIm5hbWUiOiAiRnVsYW5pIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdhYSIsCiAgICAgICJuYW1lIjogIkdhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdsIiwKICAgICAgIm5hbWUiOiAiR2FsaWNpYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2EiLAogICAgICAibmFtZSI6ICJHZW9yZ2lhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkZSIsCiAgICAgICJuYW1lIjogIkdlcm1hbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlbCIsCiAgICAgICJuYW1lIjogIkdyZWVrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImduIiwKICAgICAgIm5hbWUiOiAiR3VhcmFuaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJndSIsCiAgICAgICJuYW1lIjogIkd1amFyYXRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImh0IiwKICAgICAgIm5hbWUiOiAiSGFpdGlhbiBDcmVvbGUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY25oIiwKICAgICAgIm5hbWUiOiAiSGFraGEgQ2hpbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoYSIsCiAgICAgICJuYW1lIjogIkhhdXNhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhhdyIsCiAgICAgICJuYW1lIjogIkhhd2FpaWFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIml3IiwKICAgICAgIm5hbWUiOiAiSGVicmV3IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhpbCIsCiAgICAgICJuYW1lIjogIkhpbGlnYXlub24iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaGkiLAogICAgICAibmFtZSI6ICJIaW5kaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJobW4iLAogICAgICAibmFtZSI6ICJIbW9uZyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJodSIsCiAgICAgICJuYW1lIjogIkh1bmdhcmlhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJocngiLAogICAgICAibmFtZSI6ICJIdW5zcmlrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImliYSIsCiAgICAgICJuYW1lIjogIkliYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXMiLAogICAgICAibmFtZSI6ICJJY2VsYW5kaWMiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaWciLAogICAgICAibmFtZSI6ICJJZ2JvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImlsbyIsCiAgICAgICJuYW1lIjogIklsb2Nhbm8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaWQiLAogICAgICAibmFtZSI6ICJJbmRvbmVzaWFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIml1LUxhdG4iLAogICAgICAibmFtZSI6ICJJbnVrdHV0IChMYXRpbikiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXUiLAogICAgICAibmFtZSI6ICJJbnVrdHV0IChTeWxsYWJpY3MpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdhIiwKICAgICAgIm5hbWUiOiAiSXJpc2ggR2FlbGljIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIml0IiwKICAgICAgIm5hbWUiOiAiSXRhbGlhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJqYW0iLAogICAgICAibmFtZSI6ICJKYW1haWNhbiBQYXRvaXMiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiamEiLAogICAgICAibmFtZSI6ICJKYXBhbmVzZSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJqdyIsCiAgICAgICJuYW1lIjogIkphdmFuZXNlIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImthYyIsCiAgICAgICJuYW1lIjogIkppbmdwbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrbCIsCiAgICAgICJuYW1lIjogIkthbGFhbGxpc3V0IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtuIiwKICAgICAgIm5hbWUiOiAiS2FubmFkYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrciIsCiAgICAgICJuYW1lIjogIkthbnVyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYW0iLAogICAgICAibmFtZSI6ICJLYXBhbXBhbmdhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrayIsCiAgICAgICJuYW1lIjogIkthemFraCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJraGEiLAogICAgICAibmFtZSI6ICJLaGFzaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrbSIsCiAgICAgICJuYW1lIjogIktobWVyIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNnZyIsCiAgICAgICJuYW1lIjogIktpZ2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2ciLAogICAgICAibmFtZSI6ICJLaWtvbmdvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInJ3IiwKICAgICAgIm5hbWUiOiAiS2lueWFyd2FuZGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3R1IiwKICAgICAgIm5hbWUiOiAiS2l0dWJhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRycCIsCiAgICAgICJuYW1lIjogIktva2Jvcm9rIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImt2IiwKICAgICAgIm5hbWUiOiAiS29taSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJnb20iLAogICAgICAibmFtZSI6ICJLb25rYW5pIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtvIiwKICAgICAgIm5hbWUiOiAiS29yZWFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtyaSIsCiAgICAgICJuYW1lIjogIktyaW8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3UiLAogICAgICAibmFtZSI6ICJLdXJkaXNoIChLdXJtYW5qaSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2tiIiwKICAgICAgIm5hbWUiOiAiS3VyZGlzaCAoU29yYW5pKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJreSIsCiAgICAgICJuYW1lIjogIkt5cmd5eiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsbyIsCiAgICAgICJuYW1lIjogIkxhbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdGciLAogICAgICAibmFtZSI6ICJMYXRnYWxpYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibGEiLAogICAgICAibmFtZSI6ICJMYXRpbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdiIsCiAgICAgICJuYW1lIjogIkxhdHZpYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibGlqIiwKICAgICAgIm5hbWUiOiAiTGlndXJpYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibGkiLAogICAgICAibmFtZSI6ICJMaW1idXJnaXNoIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxuIiwKICAgICAgIm5hbWUiOiAiTGluZ2FsYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdCIsCiAgICAgICJuYW1lIjogIkxpdGh1YW5pYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibG1vIiwKICAgICAgIm5hbWUiOiAiTG9tYmFyZCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsZyIsCiAgICAgICJuYW1lIjogIkx1Z2FuZGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHVvIiwKICAgICAgIm5hbWUiOiAiTHVvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxiIiwKICAgICAgIm5hbWUiOiAiTHV4ZW1ib3VyZ2lzaCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtayIsCiAgICAgICJuYW1lIjogIk1hY2Vkb25pYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWFkIiwKICAgICAgIm5hbWUiOiAiTWFkdXJlc2UiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWFpIiwKICAgICAgIm5hbWUiOiAiTWFpdGhpbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWFrIiwKICAgICAgIm5hbWUiOiAiTWFrYXNzYXIiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWciLAogICAgICAibmFtZSI6ICJNYWxhZ2FzeSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtcyIsCiAgICAgICJuYW1lIjogIk1hbGF5IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1zLUFyYWIiLAogICAgICAibmFtZSI6ICJNYWxheSAoSmF3aSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWwiLAogICAgICAibmFtZSI6ICJNYWxheWFsYW0iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXQiLAogICAgICAibmFtZSI6ICJNYWx0ZXNlIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1hbSIsCiAgICAgICJuYW1lIjogIk1hbSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJndiIsCiAgICAgICJuYW1lIjogIk1hbngiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWkiLAogICAgICAibmFtZSI6ICJNYW9yaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtciIsCiAgICAgICJuYW1lIjogIk1hcmF0aGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWgiLAogICAgICAibmFtZSI6ICJNYXJzaGFsbGVzZSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtd3IiLAogICAgICAibmFtZSI6ICJNYXJ3YWRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1mZSIsCiAgICAgICJuYW1lIjogIk1hdXJpdGlhbiBDcmVvbGUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2htIiwKICAgICAgIm5hbWUiOiAiTWVhZG93IE1hcmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibW5pLU10ZWkiLAogICAgICAibmFtZSI6ICJNZWl0ZWlsb24gKE1hbmlwdXJpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtaW4iLAogICAgICAibmFtZSI6ICJNaW5hbmciCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHVzIiwKICAgICAgIm5hbWUiOiAiTWl6byIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtbiIsCiAgICAgICJuYW1lIjogIk1vbmdvbGlhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJteSIsCiAgICAgICJuYW1lIjogIk15YW5tYXIgKEJ1cm1lc2UpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJtLU5rb28iLAogICAgICAibmFtZSI6ICJOJ0tvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5oZSIsCiAgICAgICJuYW1lIjogIk5haHVhdGwgKEVhc3Rlcm4gSHVhc3RlY2EpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5kYy1aVyIsCiAgICAgICJuYW1lIjogIk5kYXUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnIiLAogICAgICAibmFtZSI6ICJOZGViZWxlIChTb3V0aCkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibmV3IiwKICAgICAgIm5hbWUiOiAiTmVwYWwgQmhhc2EgKE5ld2FyaSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibmUiLAogICAgICAibmFtZSI6ICJOZXBhbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibm8iLAogICAgICAibmFtZSI6ICJOb3J3ZWdpYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnVzIiwKICAgICAgIm5hbWUiOiAiTnVlciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJvYyIsCiAgICAgICJuYW1lIjogIk9jY2l0YW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAib3IiLAogICAgICAibmFtZSI6ICJPZGlhIChPcml5YSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAib20iLAogICAgICAibmFtZSI6ICJPcm9tbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJvcyIsCiAgICAgICJuYW1lIjogIk9zc2V0aWFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBhZyIsCiAgICAgICJuYW1lIjogIlBhbmdhc2luYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicGFwIiwKICAgICAgIm5hbWUiOiAiUGFwaWFtZW50byIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwcyIsCiAgICAgICJuYW1lIjogIlBhc2h0byIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmYSIsCiAgICAgICJuYW1lIjogIlBlcnNpYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicGwiLAogICAgICAibmFtZSI6ICJQb2xpc2giCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicHQiLAogICAgICAibmFtZSI6ICJQb3J0dWd1ZXNlIChCcmF6aWwpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInB0LVBUIiwKICAgICAgIm5hbWUiOiAiUG9ydHVndWVzZSAoUG9ydHVnYWwpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBhIiwKICAgICAgIm5hbWUiOiAiUHVuamFiaSAoR3VybXVraGkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBhLUFyYWIiLAogICAgICAibmFtZSI6ICJQdW5qYWJpIChTaGFobXVraGkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInF1IiwKICAgICAgIm5hbWUiOiAiUXVlY2h1YSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrZWsiLAogICAgICAibmFtZSI6ICJRyrxlcWNoacq8IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInJvbSIsCiAgICAgICJuYW1lIjogIlJvbWFuaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJybyIsCiAgICAgICJuYW1lIjogIlJvbWFuaWFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInJuIiwKICAgICAgIm5hbWUiOiAiUnVuZGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicnUiLAogICAgICAibmFtZSI6ICJSdXNzaWFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNlIiwKICAgICAgIm5hbWUiOiAiU2FtaSAoTm9ydGgpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNtIiwKICAgICAgIm5hbWUiOiAiU2Ftb2FuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNnIiwKICAgICAgIm5hbWUiOiAiU2FuZ28iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2EiLAogICAgICAibmFtZSI6ICJTYW5za3JpdCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzYXQtTGF0biIsCiAgICAgICJuYW1lIjogIlNhbnRhbGkgKExhdGluKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzYXQiLAogICAgICAibmFtZSI6ICJTYW50YWxpIChPbCBDaGlraSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ2QiLAogICAgICAibmFtZSI6ICJTY290cyBHYWVsaWMiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnNvIiwKICAgICAgIm5hbWUiOiAiU2VwZWRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNyIiwKICAgICAgIm5hbWUiOiAiU2VyYmlhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdCIsCiAgICAgICJuYW1lIjogIlNlc290aG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY3JzIiwKICAgICAgIm5hbWUiOiAiU2V5Y2hlbGxvaXMgQ3Jlb2xlIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNobiIsCiAgICAgICJuYW1lIjogIlNoYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic24iLAogICAgICAibmFtZSI6ICJTaG9uYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzY24iLAogICAgICAibmFtZSI6ICJTaWNpbGlhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzemwiLAogICAgICAibmFtZSI6ICJTaWxlc2lhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzZCIsCiAgICAgICJuYW1lIjogIlNpbmRoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzaSIsCiAgICAgICJuYW1lIjogIlNpbmhhbGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2siLAogICAgICAibmFtZSI6ICJTbG92YWsiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2wiLAogICAgICAibmFtZSI6ICJTbG92ZW5pYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic28iLAogICAgICAibmFtZSI6ICJTb21hbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZXMiLAogICAgICAibmFtZSI6ICJTcGFuaXNoIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN1IiwKICAgICAgIm5hbWUiOiAiU3VuZGFuZXNlIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN1cyIsCiAgICAgICJuYW1lIjogIlN1c3UiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3ciLAogICAgICAibmFtZSI6ICJTd2FoaWxpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNzIiwKICAgICAgIm5hbWUiOiAiU3dhdGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3YiLAogICAgICAibmFtZSI6ICJTd2VkaXNoIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR5IiwKICAgICAgIm5hbWUiOiAiVGFoaXRpYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGciLAogICAgICAibmFtZSI6ICJUYWppayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZXItTGF0biIsCiAgICAgICJuYW1lIjogIlRhbWF6aWdodCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZXIiLAogICAgICAibmFtZSI6ICJUYW1hemlnaHQgKFRpZmluYWdoKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0YSIsCiAgICAgICJuYW1lIjogIlRhbWlsIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR0IiwKICAgICAgIm5hbWUiOiAiVGF0YXIiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGUiLAogICAgICAibmFtZSI6ICJUZWx1Z3UiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGV0IiwKICAgICAgIm5hbWUiOiAiVGV0dW0iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGgiLAogICAgICAibmFtZSI6ICJUaGFpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJvIiwKICAgICAgIm5hbWUiOiAiVGliZXRhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0aSIsCiAgICAgICJuYW1lIjogIlRpZ3JpbnlhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRpdiIsCiAgICAgICJuYW1lIjogIlRpdiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0cGkiLAogICAgICAibmFtZSI6ICJUb2sgUGlzaW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidG8iLAogICAgICAibmFtZSI6ICJUb25nYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHVhIiwKICAgICAgIm5hbWUiOiAiVHNoaWx1YmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHMiLAogICAgICAibmFtZSI6ICJUc29uZ2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidG4iLAogICAgICAibmFtZSI6ICJUc3dhbmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGN5IiwKICAgICAgIm5hbWUiOiAiVHVsdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0dW0iLAogICAgICAibmFtZSI6ICJUdW1idWthIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRyIiwKICAgICAgIm5hbWUiOiAiVHVya2lzaCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0ayIsCiAgICAgICJuYW1lIjogIlR1cmttZW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHl2IiwKICAgICAgIm5hbWUiOiAiVHV2YW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWsiLAogICAgICAibmFtZSI6ICJUd2kiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidWRtIiwKICAgICAgIm5hbWUiOiAiVWRtdXJ0IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInVrIiwKICAgICAgIm5hbWUiOiAiVWtyYWluaWFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInVyIiwKICAgICAgIm5hbWUiOiAiVXJkdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ZyIsCiAgICAgICJuYW1lIjogIlV5Z2h1ciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1eiIsCiAgICAgICJuYW1lIjogIlV6YmVrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInZlIiwKICAgICAgIm5hbWUiOiAiVmVuZGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidmVjIiwKICAgICAgIm5hbWUiOiAiVmVuZXRpYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidmkiLAogICAgICAibmFtZSI6ICJWaWV0bmFtZXNlIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIndhciIsCiAgICAgICJuYW1lIjogIldhcmF5IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImN5IiwKICAgICAgIm5hbWUiOiAiV2Vsc2giCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAid28iLAogICAgICAibmFtZSI6ICJXb2xvZiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ4aCIsCiAgICAgICJuYW1lIjogIlhob3NhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNhaCIsCiAgICAgICJuYW1lIjogIllha3V0IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInlpIiwKICAgICAgIm5hbWUiOiAiWWlkZGlzaCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ5byIsCiAgICAgICJuYW1lIjogIllvcnViYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ5dWEiLAogICAgICAibmFtZSI6ICJZdWNhdGVjIE1heWEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiemFwIiwKICAgICAgIm5hbWUiOiAiWmFwb3RlYyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ6dSIsCiAgICAgICJuYW1lIjogIlp1bHUiCiAgICB9CiAgXSwKICAidGFyZ2V0TGFuZ3VhZ2VzIjogWwogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWIiLAogICAgICAibmFtZSI6ICJBYmtoYXoiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWNlIiwKICAgICAgIm5hbWUiOiAiQWNlaG5lc2UiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWNoIiwKICAgICAgIm5hbWUiOiAiQWNob2xpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFhIiwKICAgICAgIm5hbWUiOiAiQWZhciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhZiIsCiAgICAgICJuYW1lIjogIkFmcmlrYWFucyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzcSIsCiAgICAgICJuYW1lIjogIkFsYmFuaWFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFseiIsCiAgICAgICJuYW1lIjogIkFsdXIiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYW0iLAogICAgICAibmFtZSI6ICJBbWhhcmljIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFyIiwKICAgICAgIm5hbWUiOiAiQXJhYmljIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImh5IiwKICAgICAgIm5hbWUiOiAiQXJtZW5pYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXMiLAogICAgICAibmFtZSI6ICJBc3NhbWVzZSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhdiIsCiAgICAgICJuYW1lIjogIkF2YXIiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXdhIiwKICAgICAgIm5hbWUiOiAiQXdhZGhpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImF5IiwKICAgICAgIm5hbWUiOiAiQXltYXJhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImF6IiwKICAgICAgIm5hbWUiOiAiQXplcmJhaWphbmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmFuIiwKICAgICAgIm5hbWUiOiAiQmFsaW5lc2UiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmFsIiwKICAgICAgIm5hbWUiOiAiQmFsdWNoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibSIsCiAgICAgICJuYW1lIjogIkJhbWJhcmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmNpIiwKICAgICAgIm5hbWUiOiAiQmFvdWzDqSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiYSIsCiAgICAgICJuYW1lIjogIkJhc2hraXIiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZXUiLAogICAgICAibmFtZSI6ICJCYXNxdWUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYnR4IiwKICAgICAgIm5hbWUiOiAiQmF0YWsgS2FybyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJidHMiLAogICAgICAibmFtZSI6ICJCYXRhayBTaW1hbHVuZ3VuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJiYyIsCiAgICAgICJuYW1lIjogIkJhdGFrIFRvYmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmUiLAogICAgICAibmFtZSI6ICJCZWxhcnVzaWFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJlbSIsCiAgICAgICJuYW1lIjogIkJlbWJhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJuIiwKICAgICAgIm5hbWUiOiAiQmVuZ2FsaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZXciLAogICAgICAibmFtZSI6ICJCZXRhd2kiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmhvIiwKICAgICAgIm5hbWUiOiAiQmhvanB1cmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmlrIiwKICAgICAgIm5hbWUiOiAiQmlrb2wiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYnMiLAogICAgICAibmFtZSI6ICJCb3NuaWFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJyIiwKICAgICAgIm5hbWUiOiAiQnJldG9uIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJnIiwKICAgICAgIm5hbWUiOiAiQnVsZ2FyaWFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJ1YSIsCiAgICAgICJuYW1lIjogIkJ1cnlhdCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ5dWUiLAogICAgICAibmFtZSI6ICJDYW50b25lc2UiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2EiLAogICAgICAibmFtZSI6ICJDYXRhbGFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNlYiIsCiAgICAgICJuYW1lIjogIkNlYnVhbm8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2giLAogICAgICAibmFtZSI6ICJDaGFtb3JybyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjZSIsCiAgICAgICJuYW1lIjogIkNoZWNoZW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnkiLAogICAgICAibmFtZSI6ICJDaGljaGV3YSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ6aC1DTiIsCiAgICAgICJuYW1lIjogIkNoaW5lc2UgKFNpbXBsaWZpZWQpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInpoLVRXIiwKICAgICAgIm5hbWUiOiAiQ2hpbmVzZSAoVHJhZGl0aW9uYWwpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNoayIsCiAgICAgICJuYW1lIjogIkNodXVrZXNlIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImN2IiwKICAgICAgIm5hbWUiOiAiQ2h1dmFzaCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjbyIsCiAgICAgICJuYW1lIjogIkNvcnNpY2FuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNyaCIsCiAgICAgICJuYW1lIjogIkNyaW1lYW4gVGF0YXIgKEN5cmlsbGljKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjcmgtTGF0biIsCiAgICAgICJuYW1lIjogIkNyaW1lYW4gVGF0YXIgKExhdGluKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJociIsCiAgICAgICJuYW1lIjogIkNyb2F0aWFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNzIiwKICAgICAgIm5hbWUiOiAiQ3plY2giCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZGEiLAogICAgICAibmFtZSI6ICJEYW5pc2giCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZmEtQUYiLAogICAgICAibmFtZSI6ICJEYXJpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImR2IiwKICAgICAgIm5hbWUiOiAiRGhpdmVoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkaW4iLAogICAgICAibmFtZSI6ICJEaW5rYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkb2kiLAogICAgICAibmFtZSI6ICJEb2dyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkb3YiLAogICAgICAibmFtZSI6ICJEb21iZSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJubCIsCiAgICAgICJuYW1lIjogIkR1dGNoIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImR5dSIsCiAgICAgICJuYW1lIjogIkR5dWxhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImR6IiwKICAgICAgIm5hbWUiOiAiRHpvbmdraGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZW4iLAogICAgICAibmFtZSI6ICJFbmdsaXNoIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImVvIiwKICAgICAgIm5hbWUiOiAiRXNwZXJhbnRvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImV0IiwKICAgICAgIm5hbWUiOiAiRXN0b25pYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZWUiLAogICAgICAibmFtZSI6ICJFd2UiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZm8iLAogICAgICAibmFtZSI6ICJGYXJvZXNlIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZqIiwKICAgICAgIm5hbWUiOiAiRmlqaWFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRsIiwKICAgICAgIm5hbWUiOiAiRmlsaXBpbm8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZmkiLAogICAgICAibmFtZSI6ICJGaW5uaXNoIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZvbiIsCiAgICAgICJuYW1lIjogIkZvbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmciIsCiAgICAgICJuYW1lIjogIkZyZW5jaCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmci1DQSIsCiAgICAgICJuYW1lIjogIkZyZW5jaCAoQ2FuYWRhKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmeSIsCiAgICAgICJuYW1lIjogIkZyaXNpYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZnVyIiwKICAgICAgIm5hbWUiOiAiRnJpdWxpYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZmYiLAogICAgICAibmFtZSI6ICJGdWxhbmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ2FhIiwKICAgICAgIm5hbWUiOiAiR2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ2wiLAogICAgICAibmFtZSI6ICJHYWxpY2lhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrYSIsCiAgICAgICJuYW1lIjogIkdlb3JnaWFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImRlIiwKICAgICAgIm5hbWUiOiAiR2VybWFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImVsIiwKICAgICAgIm5hbWUiOiAiR3JlZWsiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ24iLAogICAgICAibmFtZSI6ICJHdWFyYW5pIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImd1IiwKICAgICAgIm5hbWUiOiAiR3VqYXJhdGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaHQiLAogICAgICAibmFtZSI6ICJIYWl0aWFuIENyZW9sZSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjbmgiLAogICAgICAibmFtZSI6ICJIYWtoYSBDaGluIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhhIiwKICAgICAgIm5hbWUiOiAiSGF1c2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaGF3IiwKICAgICAgIm5hbWUiOiAiSGF3YWlpYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXciLAogICAgICAibmFtZSI6ICJIZWJyZXciCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaGlsIiwKICAgICAgIm5hbWUiOiAiSGlsaWdheW5vbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoaSIsCiAgICAgICJuYW1lIjogIkhpbmRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhtbiIsCiAgICAgICJuYW1lIjogIkhtb25nIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImh1IiwKICAgICAgIm5hbWUiOiAiSHVuZ2FyaWFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhyeCIsCiAgICAgICJuYW1lIjogIkh1bnNyaWsiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaWJhIiwKICAgICAgIm5hbWUiOiAiSWJhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpcyIsCiAgICAgICJuYW1lIjogIkljZWxhbmRpYyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpZyIsCiAgICAgICJuYW1lIjogIklnYm8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaWxvIiwKICAgICAgIm5hbWUiOiAiSWxvY2FubyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpZCIsCiAgICAgICJuYW1lIjogIkluZG9uZXNpYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXUtTGF0biIsCiAgICAgICJuYW1lIjogIkludWt0dXQgKExhdGluKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpdSIsCiAgICAgICJuYW1lIjogIkludWt0dXQgKFN5bGxhYmljcykiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ2EiLAogICAgICAibmFtZSI6ICJJcmlzaCBHYWVsaWMiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXQiLAogICAgICAibmFtZSI6ICJJdGFsaWFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImphbSIsCiAgICAgICJuYW1lIjogIkphbWFpY2FuIFBhdG9pcyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJqYSIsCiAgICAgICJuYW1lIjogIkphcGFuZXNlIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImp3IiwKICAgICAgIm5hbWUiOiAiSmF2YW5lc2UiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2FjIiwKICAgICAgIm5hbWUiOiAiSmluZ3BvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtsIiwKICAgICAgIm5hbWUiOiAiS2FsYWFsbGlzdXQiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia24iLAogICAgICAibmFtZSI6ICJLYW5uYWRhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtyIiwKICAgICAgIm5hbWUiOiAiS2FudXJpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBhbSIsCiAgICAgICJuYW1lIjogIkthcGFtcGFuZ2FuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtrIiwKICAgICAgIm5hbWUiOiAiS2F6YWtoIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtoYSIsCiAgICAgICJuYW1lIjogIktoYXNpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImttIiwKICAgICAgIm5hbWUiOiAiS2htZXIiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2dnIiwKICAgICAgIm5hbWUiOiAiS2lnYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrZyIsCiAgICAgICJuYW1lIjogIktpa29uZ28iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicnciLAogICAgICAibmFtZSI6ICJLaW55YXJ3YW5kYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrdHUiLAogICAgICAibmFtZSI6ICJLaXR1YmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHJwIiwKICAgICAgIm5hbWUiOiAiS29rYm9yb2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3YiLAogICAgICAibmFtZSI6ICJLb21pIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdvbSIsCiAgICAgICJuYW1lIjogIktvbmthbmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia28iLAogICAgICAibmFtZSI6ICJLb3JlYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3JpIiwKICAgICAgIm5hbWUiOiAiS3JpbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrdSIsCiAgICAgICJuYW1lIjogIkt1cmRpc2ggKEt1cm1hbmppKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJja2IiLAogICAgICAibmFtZSI6ICJLdXJkaXNoIChTb3JhbmkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImt5IiwKICAgICAgIm5hbWUiOiAiS3lyZ3l6IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxvIiwKICAgICAgIm5hbWUiOiAiTGFvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx0ZyIsCiAgICAgICJuYW1lIjogIkxhdGdhbGlhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsYSIsCiAgICAgICJuYW1lIjogIkxhdGluIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx2IiwKICAgICAgIm5hbWUiOiAiTGF0dmlhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsaWoiLAogICAgICAibmFtZSI6ICJMaWd1cmlhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsaSIsCiAgICAgICJuYW1lIjogIkxpbWJ1cmdpc2giCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibG4iLAogICAgICAibmFtZSI6ICJMaW5nYWxhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx0IiwKICAgICAgIm5hbWUiOiAiTGl0aHVhbmlhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsbW8iLAogICAgICAibmFtZSI6ICJMb21iYXJkIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxnIiwKICAgICAgIm5hbWUiOiAiTHVnYW5kYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdW8iLAogICAgICAibmFtZSI6ICJMdW8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibGIiLAogICAgICAibmFtZSI6ICJMdXhlbWJvdXJnaXNoIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1rIiwKICAgICAgIm5hbWUiOiAiTWFjZWRvbmlhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtYWQiLAogICAgICAibmFtZSI6ICJNYWR1cmVzZSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtYWkiLAogICAgICAibmFtZSI6ICJNYWl0aGlsaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtYWsiLAogICAgICAibmFtZSI6ICJNYWthc3NhciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtZyIsCiAgICAgICJuYW1lIjogIk1hbGFnYXN5IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1zIiwKICAgICAgIm5hbWUiOiAiTWFsYXkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXMtQXJhYiIsCiAgICAgICJuYW1lIjogIk1hbGF5IChKYXdpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtbCIsCiAgICAgICJuYW1lIjogIk1hbGF5YWxhbSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtdCIsCiAgICAgICJuYW1lIjogIk1hbHRlc2UiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWFtIiwKICAgICAgIm5hbWUiOiAiTWFtIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImd2IiwKICAgICAgIm5hbWUiOiAiTWFueCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtaSIsCiAgICAgICJuYW1lIjogIk1hb3JpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1yIiwKICAgICAgIm5hbWUiOiAiTWFyYXRoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtaCIsCiAgICAgICJuYW1lIjogIk1hcnNoYWxsZXNlIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm13ciIsCiAgICAgICJuYW1lIjogIk1hcndhZGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWZlIiwKICAgICAgIm5hbWUiOiAiTWF1cml0aWFuIENyZW9sZSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjaG0iLAogICAgICAibmFtZSI6ICJNZWFkb3cgTWFyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtbmktTXRlaSIsCiAgICAgICJuYW1lIjogIk1laXRlaWxvbiAoTWFuaXB1cmkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1pbiIsCiAgICAgICJuYW1lIjogIk1pbmFuZyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdXMiLAogICAgICAibmFtZSI6ICJNaXpvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1uIiwKICAgICAgIm5hbWUiOiAiTW9uZ29saWFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm15IiwKICAgICAgIm5hbWUiOiAiTXlhbm1hciAoQnVybWVzZSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYm0tTmtvbyIsCiAgICAgICJuYW1lIjogIk4nS28iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibmhlIiwKICAgICAgIm5hbWUiOiAiTmFodWF0bCAoRWFzdGVybiBIdWFzdGVjYSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibmRjLVpXIiwKICAgICAgIm5hbWUiOiAiTmRhdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuciIsCiAgICAgICJuYW1lIjogIk5kZWJlbGUgKFNvdXRoKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuZXciLAogICAgICAibmFtZSI6ICJOZXBhbCBCaGFzYSAoTmV3YXJpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuZSIsCiAgICAgICJuYW1lIjogIk5lcGFsaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJubyIsCiAgICAgICJuYW1lIjogIk5vcndlZ2lhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJudXMiLAogICAgICAibmFtZSI6ICJOdWVyIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm9jIiwKICAgICAgIm5hbWUiOiAiT2NjaXRhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJvciIsCiAgICAgICJuYW1lIjogIk9kaWEgKE9yaXlhKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJvbSIsCiAgICAgICJuYW1lIjogIk9yb21vIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm9zIiwKICAgICAgIm5hbWUiOiAiT3NzZXRpYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicGFnIiwKICAgICAgIm5hbWUiOiAiUGFuZ2FzaW5hbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYXAiLAogICAgICAibmFtZSI6ICJQYXBpYW1lbnRvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBzIiwKICAgICAgIm5hbWUiOiAiUGFzaHRvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZhIiwKICAgICAgIm5hbWUiOiAiUGVyc2lhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwbCIsCiAgICAgICJuYW1lIjogIlBvbGlzaCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwdCIsCiAgICAgICJuYW1lIjogIlBvcnR1Z3Vlc2UgKEJyYXppbCkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicHQtUFQiLAogICAgICAibmFtZSI6ICJQb3J0dWd1ZXNlIChQb3J0dWdhbCkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicGEiLAogICAgICAibmFtZSI6ICJQdW5qYWJpIChHdXJtdWtoaSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicGEtQXJhYiIsCiAgICAgICJuYW1lIjogIlB1bmphYmkgKFNoYWhtdWtoaSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicXUiLAogICAgICAibmFtZSI6ICJRdWVjaHVhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtlayIsCiAgICAgICJuYW1lIjogIlHKvGVxY2hpyrwiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicm9tIiwKICAgICAgIm5hbWUiOiAiUm9tYW5pIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInJvIiwKICAgICAgIm5hbWUiOiAiUm9tYW5pYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicm4iLAogICAgICAibmFtZSI6ICJSdW5kaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJydSIsCiAgICAgICJuYW1lIjogIlJ1c3NpYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2UiLAogICAgICAibmFtZSI6ICJTYW1pIChOb3J0aCkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic20iLAogICAgICAibmFtZSI6ICJTYW1vYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2ciLAogICAgICAibmFtZSI6ICJTYW5nbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzYSIsCiAgICAgICJuYW1lIjogIlNhbnNrcml0IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNhdC1MYXRuIiwKICAgICAgIm5hbWUiOiAiU2FudGFsaSAoTGF0aW4pIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNhdCIsCiAgICAgICJuYW1lIjogIlNhbnRhbGkgKE9sIENoaWtpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJnZCIsCiAgICAgICJuYW1lIjogIlNjb3RzIEdhZWxpYyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuc28iLAogICAgICAibmFtZSI6ICJTZXBlZGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3IiLAogICAgICAibmFtZSI6ICJTZXJiaWFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN0IiwKICAgICAgIm5hbWUiOiAiU2Vzb3RobyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjcnMiLAogICAgICAibmFtZSI6ICJTZXljaGVsbG9pcyBDcmVvbGUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2huIiwKICAgICAgIm5hbWUiOiAiU2hhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzbiIsCiAgICAgICJuYW1lIjogIlNob25hIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNjbiIsCiAgICAgICJuYW1lIjogIlNpY2lsaWFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN6bCIsCiAgICAgICJuYW1lIjogIlNpbGVzaWFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNkIiwKICAgICAgIm5hbWUiOiAiU2luZGhpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNpIiwKICAgICAgIm5hbWUiOiAiU2luaGFsYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzayIsCiAgICAgICJuYW1lIjogIlNsb3ZhayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzbCIsCiAgICAgICJuYW1lIjogIlNsb3ZlbmlhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzbyIsCiAgICAgICJuYW1lIjogIlNvbWFsaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlcyIsCiAgICAgICJuYW1lIjogIlNwYW5pc2giCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3UiLAogICAgICAibmFtZSI6ICJTdW5kYW5lc2UiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3VzIiwKICAgICAgIm5hbWUiOiAiU3VzdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdyIsCiAgICAgICJuYW1lIjogIlN3YWhpbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3MiLAogICAgICAibmFtZSI6ICJTd2F0aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdiIsCiAgICAgICJuYW1lIjogIlN3ZWRpc2giCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHkiLAogICAgICAibmFtZSI6ICJUYWhpdGlhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0ZyIsCiAgICAgICJuYW1lIjogIlRhamlrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJlci1MYXRuIiwKICAgICAgIm5hbWUiOiAiVGFtYXppZ2h0IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJlciIsCiAgICAgICJuYW1lIjogIlRhbWF6aWdodCAoVGlmaW5hZ2gpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRhIiwKICAgICAgIm5hbWUiOiAiVGFtaWwiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHQiLAogICAgICAibmFtZSI6ICJUYXRhciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0ZSIsCiAgICAgICJuYW1lIjogIlRlbHVndSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0ZXQiLAogICAgICAibmFtZSI6ICJUZXR1bSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0aCIsCiAgICAgICJuYW1lIjogIlRoYWkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYm8iLAogICAgICAibmFtZSI6ICJUaWJldGFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRpIiwKICAgICAgIm5hbWUiOiAiVGlncmlueWEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGl2IiwKICAgICAgIm5hbWUiOiAiVGl2IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRwaSIsCiAgICAgICJuYW1lIjogIlRvayBQaXNpbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0byIsCiAgICAgICJuYW1lIjogIlRvbmdhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdWEiLAogICAgICAibmFtZSI6ICJUc2hpbHViYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0cyIsCiAgICAgICJuYW1lIjogIlRzb25nYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0biIsCiAgICAgICJuYW1lIjogIlRzd2FuYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0Y3kiLAogICAgICAibmFtZSI6ICJUdWx1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR1bSIsCiAgICAgICJuYW1lIjogIlR1bWJ1a2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHIiLAogICAgICAibmFtZSI6ICJUdXJraXNoIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRrIiwKICAgICAgIm5hbWUiOiAiVHVya21lbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0eXYiLAogICAgICAibmFtZSI6ICJUdXZhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhayIsCiAgICAgICJuYW1lIjogIlR3aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ZG0iLAogICAgICAibmFtZSI6ICJVZG11cnQiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidWsiLAogICAgICAibmFtZSI6ICJVa3JhaW5pYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidXIiLAogICAgICAibmFtZSI6ICJVcmR1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInVnIiwKICAgICAgIm5hbWUiOiAiVXlnaHVyIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInV6IiwKICAgICAgIm5hbWUiOiAiVXpiZWsiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidmUiLAogICAgICAibmFtZSI6ICJWZW5kYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ2ZWMiLAogICAgICAibmFtZSI6ICJWZW5ldGlhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ2aSIsCiAgICAgICJuYW1lIjogIlZpZXRuYW1lc2UiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAid2FyIiwKICAgICAgIm5hbWUiOiAiV2FyYXkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY3kiLAogICAgICAibmFtZSI6ICJXZWxzaCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ3byIsCiAgICAgICJuYW1lIjogIldvbG9mIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInhoIiwKICAgICAgIm5hbWUiOiAiWGhvc2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2FoIiwKICAgICAgIm5hbWUiOiAiWWFrdXQiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieWkiLAogICAgICAibmFtZSI6ICJZaWRkaXNoIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInlvIiwKICAgICAgIm5hbWUiOiAiWW9ydWJhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInl1YSIsCiAgICAgICJuYW1lIjogIll1Y2F0ZWMgTWF5YSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ6YXAiLAogICAgICAibmFtZSI6ICJaYXBvdGVjIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInp1IiwKICAgICAgIm5hbWUiOiAiWnVsdSIKICAgIH0KICBdCn0KKTs="}},"time_used":66,"timings":{"blocked":-1,"dns":3,"connect":10,"send":0,"wait":27,"receive":0,"ssl":26},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/9504.90377f7d5946cf3254f0.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.482Z","timestamp":1785120634482,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/9504.90377f7d5946cf3254f0.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-1365\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 047e66033191695eff9fd2f84378eebe\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4965,"size_decoded":1585,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (4965), with no line terminators","md5":"a7c93739d7d8d58ba0894f0a27b2c682","sha1":"b48b0a418f53c6dbb761db96de6488ae85eb133e","sha256":"a965093d2af77ac0200f0ea479b8a52ee4ea68bca04e3e665e8de17120e5a57e","sha512":"14f6b7249ddd5e1f7132a9c9935bf3e702cc8735c81cfd3e2574cb38224ea2d416a7a876fc0472376db26d154f4909a69d75432d4073ad220212a6186da08d13","ssdeep":"48:wfElnMoEhjO3VOgXmhFhR60XBWjzfDnCzhHkvhtflWkvhtcnSnisnSnigtSnSnij:hi776O9lr8D8/t88YY8/K5ncbs6v2U","tlshash":"eca15b43b5c4ac747e42a6dc73fc62dcb2d1ac71ed0205d2d631ad628ccabf72091aa5","first_seen":"2026-07-16T13:40:49.666975Z","last_seen":"2026-07-27T05:19:37.116594Z","times_seen":112,"resource_available":false,"data":"Lnh4eHNtYWxsLUFmZDZ0NFpqey0tdWktbGliLXByaXZhdGUtY291bnRlci1zaXplOjB9Lnh4c21hbGwtQWZkNnQ0Wmp7LS11aS1saWItcHJpdmF0ZS1jb3VudGVyLXNpemU6MX0ueHNtYWxsLUFmZDZ0NFpqey0tdWktbGliLXByaXZhdGUtY291bnRlci1zaXplOjJ9LnNtYWxsLUFmZDZ0NFpqey0tdWktbGliLXByaXZhdGUtY291bnRlci1zaXplOjN9Lm1lZGl1bS1BZmQ2dDRaanstLXVpLWxpYi1wcml2YXRlLWNvdW50ZXItc2l6ZTo0fS5sYXJnZS1BZmQ2dDRaanstLXVpLWxpYi1wcml2YXRlLWNvdW50ZXItc2l6ZTo1fS54bGFyZ2UtQWZkNnQ0Wmp7LS11aS1saWItcHJpdmF0ZS1jb3VudGVyLXNpemU6Nn0uY291bnRlci1BZmQ2dDRaanthbGlnbi1pdGVtczpjZW50ZXI7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjt2ZXJ0aWNhbC1hbGlnbjpib3R0b207LS11aS1saWItc2l6ZS1kZWY6dmFyKC0tdWktbGliLWluLWNvdW50ZXItc2l6ZSx2YXIoLS11aS1saWItcHJpdmF0ZS1jb3VudGVyLXNpemUsNCkpOy0tdWktbGliLXNpemUtZGVmLXh4eHNtYWxsOmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDApICogKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAwKSkpOy0tdWktbGliLXNpemUtZGVmLXh4c21hbGw6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gMSkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDEpKSk7LS11aS1saWItc2l6ZS1kZWYteHNtYWxsOmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDIpICogKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAyKSkpOy0tdWktbGliLXNpemUtZGVmLXNtYWxsOmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDMpICogKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAzKSkpOy0tdWktbGliLXNpemUtZGVmLW1lZGl1bTpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSA0KSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNCkpKTstLXVpLWxpYi1zaXplLWRlZi1sYXJnZTpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSA1KSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNSkpKTstLXVpLWxpYi1zaXplLWRlZi14bGFyZ2U6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNikgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDYpKSk7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14eHhzbWFsbCkqM3B4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXh4c21hbGwpKjVweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjdweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqOHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqOXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSoxMHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqMTJweCk7Zm9udC1zaXplOmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMTBweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMTJweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjEycHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjE0cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoxNHB4KTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjUwMCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNDAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqNDAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo0MDAgKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo1MDApO2hlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14eHhzbWFsbCkqNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXh4c21hbGwpKjEwcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSoxNHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSoxNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqMThweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqMjBweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjI0cHgpO2xpbmUtaGVpZ2h0OmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMTRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMTZweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjE2cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjE4cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoxOHB4KTttaW4td2lkdGg6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHh4c21hbGwpKjZweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14eHNtYWxsKSoxMHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMTRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMTZweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjE4cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjIwcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoyNHB4KTtwYWRkaW5nLWlubGluZS1lbmQ6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHh4c21hbGwpKjBweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14eHNtYWxsKSowcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSozLjVweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo1cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo3LjVweCk7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHh4c21hbGwpKjBweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14eHNtYWxsKSowcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSozcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjNweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjNweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqM3B4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqM3B4KTtwYWRkaW5nLWlubGluZS1zdGFydDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14eHhzbWFsbCkqMHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXh4c21hbGwpKjBweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjMuNXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSo0cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSo2cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjVweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjcuNXB4KTtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14eHhzbWFsbCkqMHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXh4c21hbGwpKjBweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjNweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqM3B4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqM3B4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSozcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSozcHgpfS5jb2xvci1kYW5nZXItQWZkNnQ0Wmp7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb3VudGVyLWZpbGwtZGFuZ2VyKTtjb2xvcjp2YXIoLS1jb2xvci1jb3VudGVyLWNvbnRlbnQtZGFuZ2VyKX0uY29sb3ItYWNjZW50LUFmZDZ0NFpqe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY291bnRlci1maWxsLWFjY2VudCk7Y29sb3I6dmFyKC0tY29sb3ItY291bnRlci1jb250ZW50LWFjY2VudCl9LmNvbG9yLWFjY2VudC1saWdodC1BZmQ2dDRaantiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvdW50ZXItZmlsbC1hY2NlbnQtbGlnaHQpO2NvbG9yOnZhcigtLWNvbG9yLWNvdW50ZXItY29udGVudC1hY2NlbnQtbGlnaHQpfS5jb2xvci1uZXV0cmFsLWJvbGQtQWZkNnQ0Wmp7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb3VudGVyLWZpbGwtbmV1dHJhbC1ib2xkKTtjb2xvcjp2YXIoLS1jb2xvci1jb3VudGVyLWNvbnRlbnQtbmV1dHJhbC1ib2xkKX0uY29sb3ItbmV1dHJhbC1BZmQ2dDRaantiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvdW50ZXItZmlsbC1uZXV0cmFsKTtjb2xvcjp2YXIoLS1jb2xvci1jb3VudGVyLWNvbnRlbnQtbmV1dHJhbCl9LmJvcmRlckNvbG9yLXByaW1hcnktQWZkNnQ0Wmp7LS11aS1saWItY291bnRlci1ib3JkZXItb3V0bGluZS1wcmltYXJ5OnNvbGlkIDJweCB2YXIoLS1jb2xvci1jb3VudGVyLWJvcmRlci1wcmltYXJ5KTtvdXRsaW5lOnZhcigtLXVpLWxpYi1jb3VudGVyLWJvcmRlci1vdXRsaW5lLXByaW1hcnkpfS5ib3JkZXJDb2xvci1zZWNvbmRhcnktQWZkNnQ0Wmp7LS11aS1saWItY291bnRlci1ib3JkZXItb3V0bGluZS1zZWNvbmRhcnk6c29saWQgMnB4IHZhcigtLWNvbG9yLWNvdW50ZXItYm9yZGVyLXNlY29uZGFyeSk7b3V0bGluZTp2YXIoLS11aS1saWItY291bnRlci1ib3JkZXItb3V0bGluZS1zZWNvbmRhcnkpfS5ib3JkZXJDb2xvci10ZXJ0aWFyeS1BZmQ2dDRaanstLXVpLWxpYi1jb3VudGVyLWJvcmRlci1vdXRsaW5lLXRlcnRpYXJ5OnNvbGlkIDJweCB2YXIoLS1jb2xvci1jb3VudGVyLWJvcmRlci10ZXJ0aWFyeSk7b3V0bGluZTp2YXIoLS11aS1saWItY291bnRlci1ib3JkZXItb3V0bGluZS10ZXJ0aWFyeSl9LmRpc2FibGVkLUFmZDZ0NFpqe29wYWNpdHk6LjV9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/74126.79b563b375fad71123a4.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.854Z","timestamp":1785120633854,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/74126.79b563b375fad71123a4.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=0\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 02:50:33 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a323c19-3290\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 17 Jun 2026 06:18:01 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/17/2026 11:15:29\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 3b0956a9fd0c11765f231c8491df2e75\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":12944,"size_decoded":3229,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (12944), with no line terminators","md5":"70de825604b40120b786cc257b109d53","sha1":"575e4385359392e4018b3beb9430342665a731ae","sha256":"e604106d7670121e6c3e3827e3e97fc653a40fa56371ab1ef837524183e0ebbb","sha512":"779a4e929367c89898c4f1f5ed27a9591b1a4c3eb712734d49dcdc324a1e8c11f1b2eaf5240b76012ce199744aff6a93714e3c6cbc661fc7b5b4bc4a7fd60e30","ssdeep":"96:BctRLaPyYa01SGtheUryLSJ4Mm2lIzeVZCvk6/n0gdiEQNhCrzC4FwdmN6pRNQGi:kRLwwFE+SnpJUn0gd4Nh8zERRi","tlshash":"ed42d454fb20e431b4720a56b5979858e304d45ef1518ceeddb0f6ac8dcb9ff1228b2a","first_seen":"2026-06-17T17:32:05.836591Z","last_seen":"2026-07-27T06:01:16.375558Z","times_seen":150,"resource_available":false,"data":"OnJvb3R7LS1zeW1ib2wtb3ZlcnZpZXctYmFja2dyb3VuZC1jb2xvcjojMDAwMH1ib2R5LGh0bWx7YmFja2dyb3VuZDpub25lO2hlaWdodDoxMDAlO21pbi1oZWlnaHQ6NTBweDttaW4td2lkdGg6NTBweDtvdmVyZmxvdzpoaWRkZW47d2lkdGg6MTAwJTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnR9aHRtbCxodG1sLnRoZW1lLWRhcmt7Y29sb3Itc2NoZW1lOm5vcm1hbH1odG1sIGJvZHksaHRtbC50aGVtZS1kYXJrIGJvZHl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zeW1ib2wtb3ZlcnZpZXctYmFja2dyb3VuZC1jb2xvcil9LmktaGlkZGVue2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LmNvbnRhaW5lci1WVjZWV0VTUnthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2JvdHRvbTowO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW46MjBweDtwb3NpdGlvbjphYnNvbHV0ZX0uY29udGFpbmVyLVZWNlZXRVNSIGltZ3twYWRkaW5nOjRweH0ucXVvdGVUaWNrZXJDb250YWluZXItVHY2M3FPN2ksLnZhbHVlc0luTGVnZW5kQ29udGFpbmVyLVR2NjNxTzdpe2Rpc3BsYXk6bm9uZX0ucXVvdGVUaWNrZXJDb250YWluZXJfc2hvdy1UdjYzcU83aSwudmFsdWVzSW5MZWdlbmRDb250YWluZXJfc2hvdy1UdjYzcU83aXtkaXNwbGF5OmZsZXh9LnF1b3RlVGlja2VyQ29udGFpbmVyLVR2NjNxTzdpe2hlaWdodDo0NHB4fS52YWx1ZXNJbkxlZ2VuZENvbnRhaW5lci1UdjYzcU83aXthbGlnbi1pdGVtczpmbGV4LWVuZDttYXJnaW4tYm90dG9tOjEycHg7bWluLWhlaWdodDozMnB4fS5nb1RvVHZMaW5rLVR2NjNxTzdpLC5nb1RvVHZMaW5rLVR2NjNxTzdpOnZpc2l0ZWR7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuZ29Ub1R2TGluay1UdjYzcU83aTpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktaG92ZXIpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWhvdmVyKX19LmdvVG9UdkxpbmstVHY2M3FPN2k6YWN0aXZle2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1hY3RpdmUpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWFjdGl2ZSl9LmdvVG9UdkxpbmstVHY2M3FPN2k6Zm9jdXN7b3V0bGluZTphdXRvO291dGxpbmUtb2Zmc2V0OjJweH0uZ29Ub1R2TGluay1UdjYzcU83aTpmb2N1cy12aXNpYmxle291dGxpbmU6YXV0bztvdXRsaW5lLW9mZnNldDoycHh9LmdvVG9UdkxpbmstVHY2M3FPN2k6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOm5vbmV9W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtNlByazp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLTZQcms6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCl9OnJvb3R7LS13aWRnZXQtZm9udC1jb2xvcjppbml0aWFsOy0td2lkZ2V0LWZvbnQtZmFtaWx5OmluaXRpYWx9LnR2LXdpZGdldC1jaGFydHtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O2ZsZXgtZmxvdzpjb2x1bW4gbm93cmFwO2ZvbnQtZmFtaWx5OnZhcigtLXdpZGdldC1mb250LWZhbWlseSxpbmhlcml0KTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjF9LnR2LXdpZGdldC1jaGFydF9fY29weXJpZ2h0aW5nQ29udGFpbmVye2JvdHRvbTowO2luc2V0LWlubGluZS1zdGFydDowO3Bvc2l0aW9uOmFic29sdXRlfS50di13aWRnZXQtY2hhcnRfX3BhZ2Vze2ZsZXgtZ3JvdzoxO2hlaWdodDowO3Bvc2l0aW9uOnJlbGF0aXZlfS50di13aWRnZXQtY2hhcnRfX3BhZ2V7ZGlzcGxheTpmbGV4O2ZsZXgtZmxvdzpjb2x1bW4gbm93cmFwO2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlfS50di13aWRnZXQtY2hhcnRfX25hdntwYWRkaW5nOjE2cHggMTZweCAwO3Bvc2l0aW9uOnJlbGF0aXZlfS50di13aWRnZXQtY2hhcnRfX2hlYWR7ZGlzcGxheTpmbGV4O21hcmdpbi1ib3R0b206OHB4fUBtZWRpYSAobWluLXdpZHRoOjU2OHB4KXsudHYtd2lkZ2V0LWNoYXJ0X19oZWFke2hlaWdodDo2NnB4O21hcmdpbi1ib3R0b206MTZweH19LnR2LXdpZGdldC1jaGFydF9faGVhZC1jb250YWluZXJ7d2lkdGg6Y2FsYygxMDAlIC0gNDhweCl9QG1lZGlhIChtaW4td2lkdGg6NTY4cHgpey50di13aWRnZXQtY2hhcnRfX2hlYWQtY29udGFpbmVye3dpZHRoOmNhbGMoMTAwJSAtIDY4cHgpfX0udHYtd2lkZ2V0LWNoYXJ0X19pbmZve2hlaWdodDo3NnB4O2luc2V0LWlubGluZS1zdGFydDotNDhweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDpjYWxjKDEwMCUgKyA0OHB4KX0udHYtd2lkZ2V0LWNoYXJ0X19oZWFkLS1zbWFsbCAudHYtd2lkZ2V0LWNoYXJ0X19pbmZve2hlaWdodDo1MHB4fUBtZWRpYSAobWluLXdpZHRoOjU2OHB4KXsudHYtd2lkZ2V0LWNoYXJ0X19pbmZve2hlaWdodDphdXRvO2luc2V0LWlubGluZS1zdGFydDowO3dpZHRoOjEwMCV9LnR2LXdpZGdldC1jaGFydF9faGVhZC0tc21hbGwgLnR2LXdpZGdldC1jaGFydF9faW5mb3toZWlnaHQ6YXV0b319LnR2LXdpZGdldC1jaGFydF9faGVhZC1uby1sb2dvIC50di13aWRnZXQtY2hhcnRfX2hlYWQtY29udGFpbmVye3dpZHRoOjEwMCV9LnR2LXdpZGdldC1jaGFydF9faGVhZC1uby1sb2dvIC50di13aWRnZXQtY2hhcnRfX2luZm97aW5zZXQtaW5saW5lLXN0YXJ0OjA7d2lkdGg6MTAwJX0udHYtd2lkZ2V0LWNoYXJ0X19oZWFkLW5vLWxvZ28gLnR2LXdpZGdldC1jaGFydF9fbG9nbywudHYtd2lkZ2V0LWNoYXJ0X19ub3QtZGF0YSAudHYtd2lkZ2V0LWNoYXJ0X19pbmRpY2F0b3JzLC50di13aWRnZXQtY2hhcnRfX25vdC1kYXRhIC50di13aWRnZXQtY2hhcnRfX2luZm8sLnR2LXdpZGdldC1jaGFydF9fbm90LWRhdGEgLnR2LXdpZGdldC1jaGFydF9fcHJpY2UsLnR2LXdpZGdldC1jaGFydF9fbm90LWRhdGEgLnR2LXdpZGdldC1jaGFydF9fdGltZWZyYW1lc3tkaXNwbGF5Om5vbmV9LnR2LXdpZGdldC1jaGFydF9fbm90LWRhdGEgLnR2LXdpZGdldC1jaGFydF9faGVhZHtoZWlnaHQ6YXV0bzttYXJnaW46MH0udHYtd2lkZ2V0LWNoYXJ0X19ub3QtZGF0YSAudHYtd2lkZ2V0LWNoYXJ0X19uYW1le21hcmdpbi1ib3R0b206MDttaW4taGVpZ2h0OmF1dG99LnR2LXdpZGdldC1jaGFydF9fbG9nb3ttYXJnaW4taW5saW5lLWVuZDoxMnB4O21pbi13aWR0aDozNnB4fUBtZWRpYSAobWluLXdpZHRoOjU2OHB4KXsudHYtd2lkZ2V0LWNoYXJ0X19sb2dve2FsaWduLXNlbGY6Y2VudGVyO21pbi13aWR0aDo1NnB4fX0udHYtd2lkZ2V0LWNoYXJ0X19uYW1le2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7bWFyZ2luLWJvdHRvbTo4cHg7bWluLWhlaWdodDozNnB4fUBtZWRpYSAobWluLXdpZHRoOjU2OHB4KXsudHYtd2lkZ2V0LWNoYXJ0X19uYW1le21hcmdpbi1ib3R0b206NHB4O21pbi1oZWlnaHQ6MjhweH19LnR2LXdpZGdldC1jaGFydF9faGVhZC0tc21hbGwgLnR2LXdpZGdldC1jaGFydF9fbmFtZXttYXJnaW4tYm90dG9tOjB9LnR2LXdpZGdldC1jaGFydF9faW5kaWNhdG9yc3tkaXNwbGF5OmZsZXg7bWFyZ2luLWlubGluZS1zdGFydDo4cHh9LnR2LXdpZGdldC1jaGFydF9fc3RhdHVze3otaW5kZXg6MX0udHYtd2lkZ2V0LWNoYXJ0X19wcmljZXtjb2xvcjp2YXIoLS13aWRnZXQtZm9udC1jb2xvcix2YXIoLS1fMC02UHJrKSk7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS50di13aWRnZXQtY2hhcnQgLnR2LXdpZGdldC1jaGFydF9fbGVnZW5kLC50di13aWRnZXQtY2hhcnQgLnR2LXdpZGdldC1jaGFydF9fcHJpY2V7YWxpZ24taXRlbXM6ZmxleC1zdGFydDttYXJnaW4tYm90dG9tOjB9QG1lZGlhIChtaW4td2lkdGg6NTY4cHgpey50di13aWRnZXQtY2hhcnQgLnR2LXdpZGdldC1jaGFydF9fbGVnZW5kLC50di13aWRnZXQtY2hhcnQgLnR2LXdpZGdldC1jaGFydF9fcHJpY2V7YWxpZ24taXRlbXM6YmFzZWxpbmU7ZmxleC1kaXJlY3Rpb246cm93fX0udHYtd2lkZ2V0LWNoYXJ0X19wcmljZS1jb250YWluZXJ7YWxpZ24taXRlbXM6Y2VudGVyO2RpcmVjdGlvbjpsdHI7ZGlzcGxheTpmbGV4fS50di13aWRnZXQtY2hhcnRfX3ByaWNlLXZhbHVle2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDozNnB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KTstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToyOHB4O2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NzAwfS50di13aWRnZXQtY2hhcnRfX2hlYWQtLWxhcmdlIC50di13aWRnZXQtY2hhcnRfX3ByaWNlLXZhbHVle2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6NDRweDtmb250LXNpemU6MzZweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo3MDB9LnR2LXdpZGdldC1jaGFydF9faGVhZC0tbGFyZ2UgLnR2LXdpZGdldC1jaGFydF9fcHJpY2UtdmFsdWUsLnR2LXdpZGdldC1jaGFydF9faGVhZC0tc21hbGwgLnR2LXdpZGdldC1jaGFydF9fcHJpY2UtdmFsdWV7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LnR2LXdpZGdldC1jaGFydF9faGVhZC0tc21hbGwgLnR2LXdpZGdldC1jaGFydF9fcHJpY2UtdmFsdWV7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MjBweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo2MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyNHB4fS50di13aWRnZXQtY2hhcnRfX3ByaWNlLXZhbHVlLWNoYW5nZXMtLWZhbGxpbmd7Y29sb3I6dmFyKC0tY29sb3ItZmFsbGluZyl9LnR2LXdpZGdldC1jaGFydF9fcHJpY2UtdmFsdWUtY2hhbmdlcy0tZ3Jvd2luZ3tjb2xvcjp2YXIoLS1jb2xvci1ncm93aW5nKX0udHYtd2lkZ2V0LWNoYXJ0X19wcmljZS1kZWx0YXthbGlnbi1pdGVtczpiYXNlbGluZTtkaXNwbGF5OmlubGluZS1mbGV4O2ZvbnQtc2l6ZToxOHB4fS50di13aWRnZXQtY2hhcnRfX2hlYWQtLWxhcmdlIC50di13aWRnZXQtY2hhcnRfX3ByaWNlLWRlbHRhe2ZvbnQtc2l6ZToyMnB4fS50di13aWRnZXQtY2hhcnRfX2hlYWQtLXNtYWxsIC50di13aWRnZXQtY2hhcnRfX3ByaWNlLWRlbHRhe2ZvbnQtc2l6ZToxNHB4fUBtZWRpYSAobWluLXdpZHRoOjU2OHB4KXsudHYtd2lkZ2V0LWNoYXJ0X19wcmljZS1kZWx0YXttYXJnaW4taW5saW5lLXN0YXJ0OjhweH19LnR2LXdpZGdldC1jaGFydF9fcHJpY2UtZGVsdGEtLXBvc2l0aXZlLC50di13aWRnZXQtY2hhcnRfX3ByaWNlLWRlbHRhLmdyb3dpbmd7Y29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcyl9LnR2LXdpZGdldC1jaGFydF9fcHJpY2UtZGVsdGEtLW5lZ2F0aXZlLC50di13aWRnZXQtY2hhcnRfX3ByaWNlLWRlbHRhLmZhbGxpbmd7Y29sb3I6dmFyKC0tY29sb3ItZGFuZ2VyKX0udHYtd2lkZ2V0LWNoYXJ0X19wcmljZS1kZWx0YS12YWx1ZXtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsO21hcmdpbi1pbmxpbmUtZW5kOjhweDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxOHB4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjYwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHg7Zm9udC1mYW1pbHk6aW5oZXJpdDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LnR2LXdpZGdldC1jaGFydF9faGVhZC0tbGFyZ2UgLnR2LXdpZGdldC1jaGFydF9fcHJpY2UtZGVsdGEtdmFsdWV7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MjBweDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHh9LnR2LXdpZGdldC1jaGFydF9faGVhZC0tbGFyZ2UgLnR2LXdpZGdldC1jaGFydF9fcHJpY2UtZGVsdGEtdmFsdWUsLnR2LXdpZGdldC1jaGFydF9faGVhZC0tc21hbGwgLnR2LXdpZGdldC1jaGFydF9fcHJpY2UtZGVsdGEtdmFsdWV7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo2MDA7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS50di13aWRnZXQtY2hhcnRfX2hlYWQtLXNtYWxsIC50di13aWRnZXQtY2hhcnRfX3ByaWNlLWRlbHRhLXZhbHVley0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MTZweDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxMnB4fS50di13aWRnZXQtY2hhcnRfX3ByaWNlLWRlbHRhLWRheXtmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NDAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweDtmb250LWZhbWlseTppbmhlcml0O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KTt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LXdpZGdldC1jaGFydF9faGVhZC0tbGFyZ2UgLnR2LXdpZGdldC1jaGFydF9fcHJpY2UtZGVsdGEtZGF5ey0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE2cHg7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyNHB4fS50di13aWRnZXQtY2hhcnRfX2hlYWQtLWxhcmdlIC50di13aWRnZXQtY2hhcnRfX3ByaWNlLWRlbHRhLWRheSwudHYtd2lkZ2V0LWNoYXJ0X19oZWFkLS1zbWFsbCAudHYtd2lkZ2V0LWNoYXJ0X19wcmljZS1kZWx0YS1kYXl7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS50di13aWRnZXQtY2hhcnRfX2hlYWQtLXNtYWxsIC50di13aWRnZXQtY2hhcnRfX3ByaWNlLWRlbHRhLWRheXstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxMnB4Oy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MTZweH0udHYtd2lkZ2V0LWNoYXJ0X190aW1lZnJhbWVze2hlaWdodDoyOHB4Oy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO3doaXRlLXNwYWNlOm5vd3JhcH0udHYtd2lkZ2V0LWNoYXJ0X19jb250YWluZXItd3JhcHBwZXJ7cGFkZGluZzo4cHggMTZweH1AbWVkaWEgKG1pbi13aWR0aDo1NjhweCl7LnR2LXdpZGdldC1jaGFydF9fY29udGFpbmVyLXdyYXBwcGVye3BhZGRpbmc6MThweCAxNnB4IDE2cHh9fS50di13aWRnZXQtY2hhcnRfX2NvbnRhaW5lci1zeW1ib2x7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtYXJlYXM6InNlbGVjdG9yIiAiY3VycmVuY3kiO21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4O21pbi1oZWlnaHQ6MzBweH0udHYtd2lkZ2V0LWNoYXJ0X19oZWFkLS1sYXJnZSAudHYtd2lkZ2V0LWNoYXJ0X19jb250YWluZXItc3ltYm9se21pbi1oZWlnaHQ6MzhweH0udHYtd2lkZ2V0LWNoYXJ0X19oZWFkLS1zbWFsbCAudHYtd2lkZ2V0LWNoYXJ0X19jb250YWluZXItc3ltYm9se21pbi1oZWlnaHQ6MjRweH0udHYtd2lkZ2V0LWNoYXJ0X19jb250YWluZXItc3ltYm9sIC50di13aWRnZXQtY2hhcnRfX2NvbnRhaW5lci1zeW1ib2wtc2VsZWN0b3J7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0O2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Z3JpZC1hcmVhOnNlbGVjdG9yOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MTZweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCk7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTFweDtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtsZXR0ZXItc3BhY2luZzouNHB4O2xpbmUtaGVpZ2h0OjE0cHg7bWFyZ2luLWlubGluZS1zdGFydDowO21pbi1oZWlnaHQ6MTRweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9LnR2LXdpZGdldC1jaGFydF9faGVhZC0tbGFyZ2UgLnR2LXdpZGdldC1jaGFydF9fY29udGFpbmVyLXN5bWJvbCAudHYtd2lkZ2V0LWNoYXJ0X19jb250YWluZXItc3ltYm9sLXNlbGVjdG9ye2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoxOHB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KTstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxNHB4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtsZXR0ZXItc3BhY2luZzouNHB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0udHYtd2lkZ2V0LWNoYXJ0X19oZWFkLS1zbWFsbCAudHYtd2lkZ2V0LWNoYXJ0X19jb250YWluZXItc3ltYm9sIC50di13aWRnZXQtY2hhcnRfX2NvbnRhaW5lci1zeW1ib2wtc2VsZWN0b3J7Zm9udC1zaXplOjlweDtsaW5lLWhlaWdodDoxMnB4O21pbi1oZWlnaHQ6MTJweH0udHYtd2lkZ2V0LWNoYXJ0X19jb250YWluZXItc3ltYm9sLWN1cnJlbmN5e2FsaWduLXNlbGY6ZmxleC1lbmQ7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtncmlkLWFyZWE6Y3VycmVuY3k7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoxNnB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KTstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxMXB4O2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xldHRlci1zcGFjaW5nOi40cHg7bWluLWhlaWdodDoxNnB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0udHYtd2lkZ2V0LWNoYXJ0X19oZWFkLS1sYXJnZSAudHYtd2lkZ2V0LWNoYXJ0X19jb250YWluZXItc3ltYm9sLWN1cnJlbmN5e2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoxOHB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KTstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxNHB4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtsZXR0ZXItc3BhY2luZzouNHB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0udHYtd2lkZ2V0LWNoYXJ0X19oZWFkLS1zbWFsbCAudHYtd2lkZ2V0LWNoYXJ0X19jb250YWluZXItc3ltYm9sLWN1cnJlbmN5e2ZvbnQtc2l6ZTo5cHg7bGluZS1oZWlnaHQ6MTJweDttaW4taGVpZ2h0OjEycHh9LnR2LXdpZGdldC1jaGFydF9fY2hhcnQtd3JhcHtmbGV4LWdyb3c6MTtoZWlnaHQ6MDtwb3NpdGlvbjpyZWxhdGl2ZX0udHYtd2lkZ2V0LWNoYXJ0X19pY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZsZXgtc2hyaW5rOjA7dmVydGljYWwtYWxpZ246dG9wfUBtZWRpYSAobWluLXdpZHRoOjU2OHB4KXsudHYtd2lkZ2V0LWNoYXJ0X19pY29uLS1tZWRpdW17ZGlzcGxheTpub25lfX0udHYtd2lkZ2V0LWNoYXJ0X19pY29uLS1sYXJnZXtkaXNwbGF5Om5vbmV9QG1lZGlhIChtaW4td2lkdGg6NTY4cHgpey50di13aWRnZXQtY2hhcnRfX2ljb24tLWxhcmdle2Rpc3BsYXk6aW5saW5lLWJsb2NrfX0udHYtd2lkZ2V0LWNoYXJ0X190aXRsZXtjb2xvcjp2YXIoLS13aWRnZXQtZm9udC1jb2xvcix2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpKTtmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsO21hcmdpbjowO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxOHB4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjYwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHg7Zm9udC1mYW1pbHk6aW5oZXJpdDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LnR2LXdpZGdldC1jaGFydF9faGVhZC0tbGFyZ2UgLnR2LXdpZGdldC1jaGFydF9fdGl0bGV7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MjBweDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHh9LnR2LXdpZGdldC1jaGFydF9faGVhZC0tbGFyZ2UgLnR2LXdpZGdldC1jaGFydF9fdGl0bGUsLnR2LXdpZGdldC1jaGFydF9faGVhZC0tc21hbGwgLnR2LXdpZGdldC1jaGFydF9fdGl0bGV7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo2MDA7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS50di13aWRnZXQtY2hhcnRfX2hlYWQtLXNtYWxsIC50di13aWRnZXQtY2hhcnRfX3RpdGxley0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE2cHg7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyNHB4fS50di13aWRnZXQtY2hhcnQtLXdpdGgtYm9yZGVye2JvcmRlcjoxcHggc29saWQgdmFyKC0tY29sb3ItZGl2aWRlcil9LmxhYmVsLXV6SUdJMjFBLnN0YXJ0LXV6SUdJMjFBe2luc2V0LWlubGluZS1zdGFydDo3cHh9W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtX0U4eTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1fRTh5OnZhcigtLWNvbG9yLXR2LWJsdWUtMzAwKX0uc3F1YXJlVGFiQnV0dG9uLWFUM05za3Nzey0tZGVmYXVsdC1mb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCwiVHJlYnVjaGV0IE1TIixSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Y29sb3I6dmFyKC0td2lkZ2V0LWZvbnQtY29sb3IsdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KSl9LnNxdWFyZVRhYkJ1dHRvbi1hVDNOc2tzcy5zZWxlY3RlZC1hVDNOc2tzcywuc3F1YXJlVGFiQnV0dG9uLWFUM05za3NzOmFjdGl2ZTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1hVDNOc2tzcyl7Y29sb3I6dmFyKC0td2lkZ2V0LWZvbnQtY29sb3IsdmFyKC0tXzAtX0U4eSkpfS5zcXVhcmVUYWJCdXR0b24tYVQzTnNrc3MueHNtYWxsLWFUM05za3Nze2ZvbnQtZmFtaWx5OnZhcigtLXdpZGdldC1mb250LWZhbWlseSx2YXIoLS1kZWZhdWx0LWZvbnQtZmFtaWx5LGluaGVyaXQpKX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"wss","addr":"wss://widgetdata.tradingview.com/socket.io/websocket?from=embed-widget%2Fsymbol-overview%2F\u0026date=2026-07-24T11%3A40%3A08\u0026page-uri=247optiontradefx.com%2F\u0026ancestor-origin=247optiontradefx.com\u0026api_key=tradingview","fqdn":"widgetdata.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"93.123.102.158","port":443,"asn":199524,"as":"G-Core Labs S.A.","country":"United Kingdom","country_code":"GB"},"is_navigation_request":false,"resource_type":"websocket","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.171Z","timestamp":1785120634171,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 21 Oct 2025 00:00:00 GMT","end":"Wed, 18 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"96:06:76:35:9F:2C:2D:1C:89:55:E8:92:7C:4F:4B:FD:E9:F6:FF:1A","sha256":"BC:FA:33:CE:19:85:7A:43:44:BA:17:CE:87:15:42:E2:02:0C:7A:4E:83:42:1F:58:8F:59:B4:20:BF:4B:35:00"}}},"request":{"raw":"GET /socket.io/websocket?from=embed-widget%2Fsymbol-overview%2F\u0026date=2026-07-24T11%3A40%3A08\u0026page-uri=247optiontradefx.com%2F\u0026ancestor-origin=247optiontradefx.com\u0026api_key=tradingview HTTP/1.1\r\nHost: widgetdata.tradingview.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://www.tradingview-widget.com\r\nSec-WebSocket-Extensions: permessage-deflate\r\nSec-WebSocket-Key: oDOCXWdnhEk9eBfb1k5LAw==\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 02:50:34 GMT\r\nConnection: upgrade\r\nsec-websocket-accept: ul6+DC0fvSv2iXFcPpFxI/1C8UM=\r\nsec-websocket-extensions: permessage-deflate\r\nupgrade: websocket\r\nServer: tv\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-07-27T05:14:11.3544Z","times_seen":17556491,"resource_available":true,"data":""}},"time_used":105,"timings":{"blocked":-1,"dns":3,"connect":24,"send":0,"wait":24,"receive":0,"ssl":53},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/30288.59207aa2607ea1597287.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.271Z","timestamp":1785120634271,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/30288.59207aa2607ea1597287.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-c680\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 313f39a512861c83f8e14ea9498fd47b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":50816,"size_decoded":20318,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3072)","md5":"ea1d9d8d3342c88f33ec3b530e0573ef","sha1":"d655950fc76c40243ee9494c5fcc45e069dbaad3","sha256":"5c4b42f42930e52d140aec5e82b967b86ea0bc4581cfea3ecd33ca21c156520f","sha512":"4a85bff8bc70939b4386535712fa0ce2eae8d2f970a7e4c0f966b40eef502520b53f0bcc55b8062e0d4154ec40c589d4be511f57f11176afdb68166e3b090436","ssdeep":"1536:M/5WmDah7ltfnbgA/bllhJ9AwCh85Q9BO9X/tH78kJM:MZilpvbAR9By/5M","tlshash":"6e330ac572d6f0ab03d605e584bb5042f33d49a9b80d84a1f658e9d13c66c9e63b3fac","first_seen":"2026-07-23T22:46:45.786098Z","last_seen":"2026-07-27T05:29:38.643518Z","times_seen":109,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szMDI4OF0sezg2MDAyNShlKXtlLmV4cG9ydHM9e3BhaXI6InBhaXIteHdHc1NYUjAiLHh4Y2VwdGlvbmFsbHlzbWFsbGRvbm90dXNlYnJ2MTAyMzoieHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwIix4eHh4c21hbGw6Inh4eHhzbWFsbC14d0dzU1hSMCIseHh4c21hbGw6Inh4eHNtYWxsLXh3R3NTWFIwIix4eHNtYWxsOiJ4eHNtYWxsLXh3R3NTWFIwIix4c21hbGw6InhzbWFsbC14d0dzU1hSMCIsc21hbGw6InNtYWxsLXh3R3NTWFIwIixtZWRpdW06Im1lZGl1bS14d0dzU1hSMCIsbGFyZ2U6ImxhcmdlLXh3R3NTWFIwIix4bGFyZ2U6InhsYXJnZS14d0dzU1hSMCIseHhsYXJnZToieHhsYXJnZS14d0dzU1hSMCIseHh4bGFyZ2U6Inh4eGxhcmdlLXh3R3NTWFIwIixsb2dvOiJsb2dvLXh3R3NTWFIwIixza2VsZXRvbjoic2tlbGV0b24teHdHc1NYUjAiLGVtcHR5OiJlbXB0eS14d0dzU1hSMCJ9fSwxNDAwMTcoZSl7ZS5leHBvcnRzPXtsb2dvOiJsb2dvLVZDTkt1YldxIixoaWRkZW46ImhpZGRlbi1WQ05LdWJXcSIseHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzOiJ4eGNlcHRpb25hbGx5c21hbGxkb25vdHVzZWJydjEwMjMtVkNOS3ViV3EiLHh4eHNtYWxsOiJ4eHhzbWFsbC1WQ05LdWJXcSIseHhzbWFsbDoieHhzbWFsbC1WQ05LdWJXcSIseHNtYWxsOiJ4c21hbGwtVkNOS3ViV3EiLHNtYWxsOiJzbWFsbC1WQ05LdWJXcSIsbWVkaXVtOiJtZWRpdW0tVkNOS3ViV3EiLGxhcmdlOiJsYXJnZS1WQ05LdWJXcSIseGxhcmdlOiJ4bGFyZ2UtVkNOS3ViV3EiLHh4bGFyZ2U6Inh4bGFyZ2UtVkNOS3ViV3EiLHh4eGxhcmdlOiJ4eHhsYXJnZS1WQ05LdWJXcSIsc2tlbGV0b246InNrZWxldG9uLVZDTkt1YldxIixsZXR0ZXI6ImxldHRlci1WQ05LdWJXcSJ9fSw5NzUyODUoZSl7ZS5leHBvcnRzPXt3cmFwcGVyOiJ3cmFwcGVyLWhjdDJ5SnZLIixhbmltYXRlZDoiYW5pbWF0ZWQtaGN0MnlKdksiLHB1bHNhdGlvbjoicHVsc2F0aW9uLWhjdDJ5SnZLIn19LDM5OTA5MihlKXtlLmV4cG9ydHM9eyJjc3MtdmFsdWUtY29weXJpZ2h0LXRyYW5zaXRpb24tcGFyYW1zIjoiLjZzIDBzIGN1YmljLWJlemllciguNCwgLjAxLCAuMjIsIDEpIiwiY3NzLXZhbHVlLWNvcHlyaWdodC10cmFuc2l0aW9uLXBhcmFtcy1oYWxmLXRpbWUiOiIuM3MgMHMgY3ViaWMtYmV6aWVyKC40LCAuMDEsIC4yMiwgMSkiLGxhYmVsOiJsYWJlbC1kemJkN2x5ViIsbG9nb1dyYXA6ImxvZ29XcmFwLWR6YmQ3bHlWIixleHBhbmRlZFdpdGhUcmFuc2l0aW9uOiJleHBhbmRlZFdpdGhUcmFuc2l0aW9uLWR6YmQ3bHlWIixleHBhbmRlZEJ5Q2xpY2s6ImV4cGFuZGVkQnlDbGljay1kemJkN2x5ViIsc3RhcnQ6InN0YXJ0LWR6YmQ3bHlWIixlbmQ6ImVuZC1kemJkN2x5ViIsc25hcDoic25hcC1kemJkN2x5ViIsdG9wOiJ0b3AtZHpiZDdseVYiLGJvdHRvbToiYm90dG9tLWR6YmQ3bHlWIixsYXJnZToibGFyZ2UtZHpiZDdseVYiLGV4cGFuZGVkOiJleHBhbmRlZC1kemJkN2x5ViIsbGFiZWxfX2xpbms6ImxhYmVsX19saW5rLWR6YmQ3bHlWIn19LDU2OTM5OChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtpc0ZlYXR1cmVFbmFibGVkOigpPT5wLG9uRmVhdHVyZXNTdGF0ZUNoYW5nZWQ6KCk9PmN9KTt2YXIgcj1uKDk0ODM4MCksaT1uKDM3NzIyNiksbz1uKDg1NjE5Nikscz1uKDkzMjM2NSk7Y29uc3QgYT1uZXcgci5EZWxlZ2F0ZSxjPSgpPT5hLGw9ImZvcmNlZmVhdHVyZXRvZ2dsZS4iO2NvbnN0IHU9bmV3IGNsYXNze2VuYWJsZUZlYXR1cmUoZSl7cy5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKGwrZSwidHJ1ZSIpLGEuZmlyZShlKX1kaXNhYmxlRmVhdHVyZShlKXtzLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0obCtlLCJmYWxzZSIpLGEuZmlyZShlKX1yZXNldEZlYXR1cmUoZSl7cy5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGwrZSksYS5maXJlKGUpfW9uRmVhdHVyZXNTdGF0ZUNoYW5nZWQoKXtyZXR1cm4gYX19O2Z1bmN0aW9uIGQoZSx0KXtyZXR1cm4oIWVbdF18fC0xIT09ZVt0XSkmJighISgidHJ1ZSI9PT1zLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0obCt0KXx8d2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJiJ0cnVlIj09PXdpbmRvdy51c2VyPy5zZXR0aW5ncz8uW2wrdF0pfHwhKCJmYWxzZSI9PT1zLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0obCt0KXx8d2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJiJmYWxzZSI9PT13aW5kb3cudXNlcj8uc2V0dGluZ3M/LltsK3RdKSYmKCEhZVt0XSYmKDE9PT1lW3RdfHwoMCxvLnNob3VsZEFmZmVjdFVzZXIpKHQsZVt0XSkpKSl9d2luZG93LlRyYWRpbmdWaWV3PXdpbmRvdy5UcmFkaW5nVmlld3x8e30sd2luZG93LlRyYWRpbmdWaWV3LkZlYXR1cmVUb2dnbGU9dTtjb25zdCBwPShnPXdpbmRvdy5mZWF0dXJlVG9nZ2xlU3RhdGV8fHt9LCgwLGkub25XaWRnZXQpKCl8fFByb21pc2UuYWxsKFtuLmUoODU0MzQpLG4uZSg3Mjg1KSxuLmUoMTM5OTMpXSkudGhlbihuLmJpbmQobiw1MDcyODUpKS50aGVuKChlPT57ZS5wdXNoU3RyZWFtTXVsdGlwbGV4ZXIub24oImZlYXR1cmV0b2dnbGUiLChlPT57Y29uc3QgdD1kKGcsZS5uYW1lKTtnW2UubmFtZV09ZS5zdGF0ZSx0IT09ZChnLGUubmFtZSkmJmEuZmlyZShlLm5hbWUpfSkpfSkpLGQuYmluZChudWxsLGcpKTt2YXIgZzt3aW5kb3cuVHJhZGluZ1ZpZXcuaXNGZWF0dXJlRW5hYmxlZD1wfSw3OTI2MTIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Z2V0RnJlc2hJbml0RGF0YTooKT0+bCxnZXRJbml0RGF0YTooKT0+Yyx1cGRhdGVJbml0RGF0YTooKT0+YX0pO3ZhciByPW4oMTM4NjM4KTtjb25zdCBpPSgwLG4oMjIxMDYxKS5nZXRMb2dnZXIpKCJDb21tb24uSW5pdERhdGEiKSxvPXdpbmRvdy5pbml0RGF0YXx8e307ZnVuY3Rpb24gcygpeyFmdW5jdGlvbigpe2NvbnN0IGU9d2luZG93O2UuaW5pdERhdGEmJmUuaW5pdERhdGEhPT1vJiYoT2JqZWN0LmFzc2lnbihvLGUuaW5pdERhdGEpLGUuaW5pdERhdGE9bykKfSgpO2NvbnN0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnc2NyaXB0W3R5cGU9ImFwcGxpY2F0aW9uL3Bycy5pbml0LWRhdGEranNvbiJdJyk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspe2NvbnN0IG49ZVt0XTt0cnl7Y29uc3QgZT1KU09OLnBhcnNlKCgwLHIuZW5zdXJlTm90TnVsbCkobi50ZXh0Q29udGVudCkpO09iamVjdC5hc3NpZ24obyxlKX1jYXRjaChlKXtpLmxvZ1dhcm4oYEZhaWxlZCB0byBwYXJzZSBpbml0RGF0YSBlbGVtZW50LiAke2V9YCl9ZmluYWxseXsoMCxyLmVuc3VyZU5vdE51bGwpKG4ucGFyZW50Tm9kZSkucmVtb3ZlQ2hpbGQobil9fWNvbnN0IHQ9by5jb250ZW50O3QmJm8uc3R1ZHlfbWV0YV9pbmZvX21hcCYmKHQuc3R1ZHlNZXRhSW5mb01hcD17Li4udC5zdHVkeU1ldGFJbmZvTWFwLC4uLm8uc3R1ZHlfbWV0YV9pbmZvX21hcH0pfWZ1bmN0aW9uIGEoKXtzKCl9ZnVuY3Rpb24gYygpe3JldHVybiBvfWZ1bmN0aW9uIGwoKXtyZXR1cm4gcygpLG99fSwxMTczMTMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7aXNPbk1vYmlsZUFwcFBhZ2U6KCk9PmksdXJsV2l0aE1vYmlsZUFwcFBhcmFtczooKT0+b30pO3ZhciByPW4oNTg3NDM2KTtmdW5jdGlvbiBpKGUsdD0hMSl7Y29uc3R7c2VhcmNoUGFyYW1zOm59PW5ldyBVUkwoU3RyaW5nKGxvY2F0aW9uKSk7bGV0IGk9InRydWUiPT09bi5nZXQoIm1vYmlsZWFwcF9uZXciKSxvPSJ0cnVlIj09PW4uZ2V0KCJtb2JpbGVhcHAiKTtpZighdCl7Y29uc3QgZT1yLmdldCgidHZfYXBwIil8fCIiO2l8fD1bImFuZHJvaWQiLCJhbmRyb2lkX25wcyJdLmluY2x1ZGVzKGUpLG98fD0iaW9zIj09PWV9cmV0dXJuISgibmV3IiE9PWUmJiJhbnkiIT09ZXx8IWkpfHwhKCJuZXciPT09ZXx8IW8pfWZ1bmN0aW9uIG8oZSx0PSExKXtpZihpKCJuZXciLHQpKXtjb25zdCB0PW5ldyBVUkwoZSxsb2NhdGlvbi5ocmVmKTt0LnNlYXJjaFBhcmFtcy5zZXQoIm1vYmlsZWFwcF9uZXciLCJ0cnVlIiksZT10LnRvU3RyaW5nKCl9aWYoaSgib2xkIix0KSl7Y29uc3QgdD1uZXcgVVJMKGUsbG9jYXRpb24uaHJlZik7dC5zZWFyY2hQYXJhbXMuc2V0KCJtb2JpbGVhcHAiLCJ0cnVlIiksZT10LnRvU3RyaW5nKCl9cmV0dXJuIGV9fSw5MzA1NjYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLnIodCksbi5kKHQse2RlZmF1bHQ6KCk9PkosZ2V0Qm9vbDooKT0+SSxnZXRGbG9hdDooKT0+TyxnZXRJbnQ6KCk9PkQsZ2V0SlNPTjooKT0+TSxnZXRWYWx1ZTooKT0+TixrZXlzOigpPT5CLGtleXNNYXNrOigpPT5XLGxvYWRlZDooKT0+Ryxsb2FkZWRNb2RlbDooKT0+cSxvblN5bmM6KCk9PmoscmVtb3ZlOigpPT5WLHNldEpTT046KCk9PkEsc2V0U2V0dGluZ3NBZGFwdGVyOigpPT5LLHNldFZhbHVlOigpPT5SLHN5bmM6KCk9Pkh9KTt2YXIgcj1uKDk0ODM4MCksaT1uKDIyMTA2MSksbz1uKDU0MDU3OCkscz1uKDkzMDIzMSksYT1uKDU2OTM5OCksYz1uKDkwOTc5OCksbD1uKDM3NzIyNiksdT1uKDM4NDAxNyksZD1uKDE1MjY5OSkscD1uKDkzMjM2NSk7d2luZG93LlRyYWRpbmdWaWV3PXdpbmRvdy5UcmFkaW5nVmlld3x8e307Y29uc3QgZz1bInMudHJhZGluZ3ZpZXcuY29tIiwiYmV0YWNkbi50cmFkaW5ndmlldy5jb20iXSxmPSgoMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1c2VfbG9jYWxzdG9yYWdlX2Zvcl9zZXR0aW5ncyIpLCJsb2NhbCI9PT13aW5kb3cuZW52aXJvbm1lbnQ/NWUzOjEyZTQpLG09KDAsbC5vbldpZGdldCkoKT8idHJhZGluZ3ZpZXctd2lkZ2V0IjoidHJhZGluZ3ZpZXciLGg9bSsiLiI7bGV0IHksdix3LGI9ITEsXz1udWxsLHg9e30sUz1bXTtjb25zdCBrPVsvXndpZGdldGJhclwud2lkZ2V0XC53YXRjaGxpc3QuKy8sLy4rcXVpY2tzJC8sL153aWRnZXRiYXJcLmxheW91dC1zZXR0aW5ncyQvLC9eQ2hhcnRTaWRlVG9vbGJhcldpZGdldFwudmlzaWJsZSQvLC9eb253aWRnZXRcLndhdGNobGlzdCQvLC9eY2hhcnRcLmZhdm9yaXRlRHJhd2luZ3MkLywvXmNoYXJ0XC5mYXZvcml0ZURyYXdpbmdzUG9zaXRpb24kLywvXmNoYXJ0XC5mYXZvcml0ZUxpYnJhcnlJbmRpY2F0b3JzJC8sL15sb2FkQ2hhcnREaWFsb2cuZmF2b3JpdGVzJC8sL15DaGFydEZhdm9yaXRlRHJhd2luZ1Rvb2xiYXJXaWRnZXRcLnZpc2libGUvLC9edHJhZGluZ1wuY2hhcnRcLnByb3RlcnR5JC8sL150cmFkaW5nX2Zsb2F0aW5nX3Rvb2xiYXJcLnBvc2l0aW9uJC8sL150cmFkaW5nXC5vcmRlcldpZGdldE1vZGVcLi8sL15zeW1ib2xXYXRlcm1hcmskLywvXnBpbmVyZWZlcmVuY2VcLnNpemUkLywvXnBpbmVyZWZlcmVuY2VcLnBvc2l0aW9uJC8sL15oaW50XC4rLywvXkNoYXJ0RHJhd2luZ1Rvb2xiYXJXaWRnZXRcLnZpc2libGUvXTtjb25zdCBUPSgpPT4hKF98fHdpbmRvdy5pc19hdXRoZW50aWNhdGVkKSxQPWU9PmgrZSxDPSgwLGkuZ2V0TG9nZ2VyKSgiTGliLlRWU2V0dGluZ3MiKSxFPWU9PntpZihifHx3KXJldHVybjtpZigoMCxhLmlzRmVhdHVyZUVuYWJsZWQpKCJkaXNhYmxlX3NhdmVfc2V0dGluZ3MiKSlyZXR1cm4gdm9pZCBDPy5sb2dXYXJuKCJTZXR0aW5ncyBmbGFzaGluZyBoYXMgYmVlbiBza2lwcGVkIGJlY2F1c2Ugb2YgZGlzYWJsZV9zYXZlX3NldHRpbmdzIGZlYXR1cmV0b2dnbGUiKTtpZigoMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSlyZXR1cm47aWYoVCgpKXJldHVybjtpZigwPT09Uy5sZW5ndGgpcmV0dXJuO2NvbnN0IHQ9UztTPVtdO2NvbnN0IG49e307Zm9yKGxldCBlPXQubGVuZ3RoO2UtLTspe2NvbnN0IHI9dFtlXTtuW3JdPXhbcl0/P251bGx9Y29uc3Qgcj1uZXcgRm9ybURhdGE7ci5hcHBlbmQoImRlbHRhIixKU09OLnN0cmluZ2lmeShuKSksZSYmbmF2aWdhdG9yLnNlbmRCZWFjb24/bmF2aWdhdG9yLnNlbmRCZWFjb24oIi9zYXZlc2V0dGluZ3MvIixyKTooMCx1LmZldGNoKSgiL3NhdmVzZXR0aW5ncy8iLHttZXRob2Q6IlBPU1QiLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixib2R5OnJ9KS50aGVuKChuPT57aWYobi5va3x8KFM9Uy5jb25jYXQodCkpLFs0MjksNTAzXS5pbmNsdWRlcyhuLnN0YXR1cykpewpjb25zdCB0PTFlMyorKG4uaGVhZGVycy5nZXQoInJldHJ5LWFmdGVyIil8fDApfHwzZTU7dz1zZXRUaW1lb3V0KCgoKT0+e3c9dm9pZCAwLEUoZSl9KSx0KX19KSkuY2F0Y2goKCgpPT57Uz1TLmNvbmNhdCh0KX0pKX0sRj0oKT0+e3k9dm9pZCAwLFMubGVuZ3RoJiZFKCl9LEw9KGUsdD17fSk9PntpZihfKW51bGw9PXhbZV0/Xy5yZW1vdmVWYWx1ZShlKTpfLnNldFZhbHVlKGUseFtlXSk7ZWxzZSBpZihUKCkpdHJ5e251bGw9PXhbZV0/cC5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFAoZSkpOnAuVFZMb2NhbFN0b3JhZ2Uuc2V0SXRlbShQKGUpLHhbZV0pfWNhdGNoKGUpe31lbHNlIFMucHVzaChlKSx5fHwoeT1zZXRUaW1lb3V0KEYsZikpO3Quc2tpcENyb3NzV2luZG93RXZlbnR8fGQuVFZYV2luZG93RXZlbnRzLmVtaXQoInNldHRpbmdzIixKU09OLnN0cmluZ2lmeSh7a2V5OmUsdmFsdWU6eFtlXX0pKX07ZnVuY3Rpb24gTihlLHQpe2NvbnN0IG49eFtlXTtyZXR1cm4gbj8/dH1mdW5jdGlvbiBNKGUsdCl7Y29uc3Qgbj1OKGUpO2lmKG51bGw9PW4pcmV0dXJuIHQ7dHJ5e3JldHVybiBKU09OLnBhcnNlKG4pfWNhdGNoKG4pe3JldHVybiBWKGUpLHR9fWZ1bmN0aW9uIFYoZSx0PXt9KXtyZXR1cm4gbnVsbCE9eFtlXSYmKGRlbGV0ZSB4W2VdLEwoZSkpLHQuZm9yY2VGbHVzaCYmRSgpLFh9ZnVuY3Rpb24gSShlLHQpe2NvbnN0IG49TihlKTtyZXR1cm4gbnVsbD09bj90OiEoIW58fCJmYWxzZSI9PT1ufHwwPT0rbil9ZnVuY3Rpb24gTyhlLHQpe2NvbnN0IG49TihlKTtpZihudWxsPT1uKXJldHVybiB0O2NvbnN0IHI9cGFyc2VGbG9hdChuKTtpZighaXNGaW5pdGUocikpdGhyb3cgbmV3IFR5cGVFcnJvcignIicrbisnIiBpcyBub3QgZmxvYXQgKGtleTogIicrZSsnIiknKTtyZXR1cm4gcn1mdW5jdGlvbiBEKGUsdCl7Y29uc3Qgbj1OKGUpO2lmKG51bGw9PW4pcmV0dXJuIHQ7Y29uc3Qgcj1wYXJzZUludChuLDEwKTtpZighaXNGaW5pdGUocikpdGhyb3cgbmV3IFR5cGVFcnJvcignIicrbisnIiBpcyBub3QgaW50IChrZXk6ICInK2UrJyIpJyk7cmV0dXJuIHJ9ZnVuY3Rpb24gUihlLHQsbj17fSl7Y29uc3Qgcj0iIit0O3JldHVybiB4W2VdIT09ciYmKHhbZV09cixMKGUsbikpLG4uZm9yY2VGbHVzaCYmIXYmJih2PXNldFRpbWVvdXQoKCgpPT57dj12b2lkIDAsRSgpfSksMTApKSxYfWZ1bmN0aW9uIEEoZSx0LG4pe3JldHVybiBSKGUsSlNPTi5zdHJpbmdpZnkodCksbiksWH1mdW5jdGlvbiBCKCl7cmV0dXJuIE9iamVjdC5rZXlzKHgpfWZ1bmN0aW9uIFcoZSl7Y29uc3QgdD1CKCksbj1bXSxyPW5ldyBSZWdFeHAoIl4iKygwLG8ucmVnRXhwRXNjYXBlKShlKS5yZXBsYWNlKC9cXFwqXFxcKi9naSwiLisiKS5yZXBsYWNlKC9cXFwqL2dpLCJbXi5dKyIpKyIkIiwiZ2kiKTtmb3IobGV0IGU9dC5sZW5ndGgtMTtlPj0wO2UtLSlyLnRlc3QodFtlXSkmJm4ucHVzaCh0W2VdKSxyLmxhc3RJbmRleD0wO3JldHVybiBufWQuVFZYV2luZG93RXZlbnRzLm9uKCJzZXR0aW5ncyIsKGU9Pntjb25zdCB0PUpTT04ucGFyc2UoZSk7bnVsbD09dC52YWx1ZT9kZWxldGUgeFt0LmtleV06eFt0LmtleV09dC52YWx1ZX0pKTtjb25zdCBVPWU9Pntmb3IobGV0IHQ9MDt0PGsubGVuZ3RoOysrdClpZihrW3RdLmV4ZWMoZSkpcmV0dXJuITA7cmV0dXJuITF9LCQ9ZT0+ZS5zdWJzdHJpbmcoMCxoLmxlbmd0aCk9PT1oLHo9ZT0+e3g9e307Y29uc3QgdD0wPT09T2JqZWN0LmtleXMoZSkubGVuZ3RoO3R8fChlPT57T2JqZWN0LmtleXMoZSkuZm9yRWFjaCgodD0+e3hbdF09ZVt0XSsiIn0pKX0pKGUpLChlPT57Zm9yKGxldCB0PXAuVFZMb2NhbFN0b3JhZ2UubGVuZ3RoO3QtLTspe2NvbnN0IG49cC5UVkxvY2FsU3RvcmFnZS5rZXkodCk7biYmJChuKSYmKGUmJlIobi5zdWJzdHJpbmcoaC5sZW5ndGgpLHAuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShuKSkscC5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKG4pKX19KSh0KX0saj1uZXcgci5EZWxlZ2F0ZTtmdW5jdGlvbiBIKGUpe251bGwhPT1lPyhfP3ooXy5pbml0aWFsU2V0dGluZ3N8fHt9KTpUKCk/KCgoKT0+e2lmKCEoMCxsLm9uV2lkZ2V0KSgpfHwhZy5pbmNsdWRlcyh3aW5kb3cubG9jYXRpb24uaG9zdCkpcmV0dXJuO2NvbnN0IGU9InRyYWRpbmd2aWV3LiI7Zm9yKGxldCB0PXAuVFZMb2NhbFN0b3JhZ2UubGVuZ3RoO3QtLTspe2NvbnN0IG49cC5UVkxvY2FsU3RvcmFnZS5rZXkodCk7aWYoMD09PW4uaW5kZXhPZihlKSl7Y29uc3QgdD1uLnJlcGxhY2UoZSxtKyIuIik7cC5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKHQscC5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKG4pKSxwLlRWTG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0obil9fX0pKCksKCgpPT57eD17fTtjb25zdCBlPSEoMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzYXZlX2NoYXJ0X3Byb3BlcnRpZXNfdG9fbG9jYWxfc3RvcmFnZSIpO2ZvcihsZXQgdD1wLlRWTG9jYWxTdG9yYWdlLmxlbmd0aDt0LS07KXtjb25zdCBuPXAuVFZMb2NhbFN0b3JhZ2Uua2V5KHQpO2lmKCFufHwhJChuKSljb250aW51ZTtjb25zdCByPW4uc3Vic3RyaW5nKGgubGVuZ3RoKTtlJiYhVShyKXx8KHhbcl09cC5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKG4pKX19KSgpKTp6KGV8fHt9KSxqLmZpcmUoKSk6Yj0hMH1mdW5jdGlvbiBLKGUpe189ZX1jb25zdCBHPSExLHE9ITEsWD17bG9hZGVkOkcsbG9hZGVkTW9kZWw6cSxnZXRWYWx1ZTpOLGdldEpTT046TSxnZXRCb29sOkksZ2V0RmxvYXQ6TyxnZXRJbnQ6RCxzZXRWYWx1ZTpSLHNldEpTT046QSxyZW1vdmU6VixrZXlzOkIsa2V5c01hc2s6VyxzeW5jOkgsb25TeW5jOmosc2V0U2V0dGluZ3NBZGFwdGVyOkt9LEo9WDt3aW5kb3cuVFZTZXR0aW5ncz1YLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLCgoKT0+eyJoaWRkZW4iIT09ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlJiYhMCE9PWRvY3VtZW50LmhpZGRlbnx8RSgpfSkpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlaGlkZSIsKCgpPT57RSghMCl9KSksCndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmV1bmxvYWQiLCgoKT0+e0UoITApfSkpLGMuZmx1c2hEZWxlZ2F0ZS5zdWJzY3JpYmUobnVsbCwoKCk9PntFKCl9KSksc2V0VGltZW91dCgoYXN5bmMoKT0+e2NvbnN0e2NsZWFyT2xkU2V0dGluZ3M6ZX09YXdhaXQgbi5lKDM1OTgwKS50aGVuKG4uYmluZChuLDc1NDE4NSkpO2UoKX0pLDNlNCl9LDE1MjE4MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnZXRDaXJjbGVMb2dvUGFpckh0bWw6KCk9Pml9KTt2YXIgcj1uKDYyNzg0OCk7ZnVuY3Rpb24gaShlKXtjb25zdHtwcmltYXJ5TG9nb1VybDp0LHNlY29uZGFyeUxvZ29Vcmw6bixzaXplOmksY2xhc3NOYW1lOnN9PWU7cmV0dXJuYDxzcGFuIGNsYXNzPSIkeygwLHIuZ2V0QmxvY2tTdHlsZUNsYXNzZXMpKGkscyl9Ij5cblx0XHRcdCR7byh7bG9nb1VybDpuLHNpemU6aX0pfVxuXHRcdFx0JHtvKHtsb2dvVXJsOnQsc2l6ZTppfSl9XG5cdFx0PC9zcGFuPmB9ZnVuY3Rpb24gbyhlKXtjb25zdHtsb2dvVXJsOnQsc2l6ZTpufT1lLGk9KDAsci5nZXRMb2dvU3R5bGVDbGFzc2VzKShuLDIsQm9vbGVhbih0KSk7cmV0dXJuIHZvaWQgMD09PXQ/YDxzcGFuIGNsYXNzPSIke2l9Ij48L3NwYW4+YDpgPGltZyBjbGFzcz0iJHtpfSIgY3Jvc3NvcmlnaW4gc3JjPSIke3R9IiBhbHQ9IiIgLz5gfX0sNjI3ODQ4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2dldEJsb2NrU3R5bGVDbGFzc2VzOigpPT5jLGdldExvZ29TdHlsZUNsYXNzZXM6KCk9Pmx9KTt2YXIgcj1uKDkxNDQ4NyksaT1uLm4ociksbz1uKDEzNjQpLHM9big4NjAwMjUpLGE9bi5uKHMpO2Z1bmN0aW9uIGMoZSx0KXtyZXR1cm4gaSgpKGEoKS5wYWlyLGEoKVtlXSx0KX1mdW5jdGlvbiBsKGUsdD0yLG49ITApe3JldHVybiBpKCkoYSgpLmxvZ28sYSgpW2VdLGEoKS5za2VsZXRvbixvLnNrZWxldG9uVGhlbWUud3JhcHBlciwhbiYmYSgpLmVtcHR5LDE9PT10JiZpKCkoby5za2VsZXRvblRoZW1lLmFuaW1hdGVkKSl9fSw4ODQ3OTgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Z2V0Q2lyY2xlTG9nb0h0bWw6KCk9Pml9KTt2YXIgcj1uKDc5NDE4Nyk7bigxNDAwMTcpO2Z1bmN0aW9uIGkoZSl7Y29uc3QgdD0oMCxyLmdldFN0eWxlQ2xhc3NlcykoZS5zaXplLDIsZS5jbGFzc05hbWUpO3JldHVybigwLHIuaXNDaXJjbGVMb2dvV2l0aFVybFByb3BzKShlKT9gPGltZyBjbGFzcz0iJHt0fSIgY3Jvc3NvcmlnaW4gc3JjPSIke2UubG9nb1VybH0iIGFsdD0iIj5gOmA8c3BhbiBjbGFzcz0iJHt0fSI+JHtlLnBsYWNlaG9sZGVyTGV0dGVyfHwiIn08L3NwYW4+YH19LDc5NDE4NyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnZXRTdHlsZUNsYXNzZXM6KCk9PmMsaXNDaXJjbGVMb2dvV2l0aFVybFByb3BzOigpPT5sfSk7dmFyIHI9big5MTQ0ODcpLGk9bi5uKHIpLG89bigxMzY0KSxzPW4oMTQwMDE3KSxhPW4ubihzKTtmdW5jdGlvbiBjKGUsdD0yLG4pe3JldHVybiBpKCkoYSgpLmxvZ28sYSgpW2VdLG4sMD09PXR8fDE9PT10P2koKShvLnNrZWxldG9uVGhlbWUud3JhcHBlcixhKCkuc2tlbGV0b24pOmEoKS5sZXR0ZXIsMT09PXQmJm8uc2tlbGV0b25UaGVtZS5hbmltYXRlZCl9ZnVuY3Rpb24gbChlKXtyZXR1cm4ibG9nb1VybCJpbiBlJiZudWxsIT09ZS5sb2dvVXJsJiZ2b2lkIDAhPT1lLmxvZ29VcmwmJjAhPT1lLmxvZ29VcmwubGVuZ3RofX0sMzA5OTIwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0N1c3RvbUJlaGF2aW91ckNvbnRleHQ6KCk9PnJ9KTtjb25zdCByPSgwLG4oNzc5NDc0KS5jcmVhdGVDb250ZXh0KSh7ZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXM6ITB9KTtyLmRpc3BsYXlOYW1lPSJDdXN0b21CZWhhdmlvdXJDb250ZXh0In0sMjczMzEwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0ljb246KCk9Pml9KTt2YXIgcj1uKDc3OTQ3NCk7Y29uc3QgaT1yLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7aWNvbjpuPSIiLHRpdGxlOmksYXJpYUxhYmVsOm8sYXJpYUxhYmVsbGVkYnk6cyxhcmlhSGlkZGVuOmEsLi4uY309ZSxsPSEhKGl8fG98fHMpO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJpbWciLC4uLmMscmVmOnQsImFyaWEtbGFiZWwiOm8sImFyaWEtbGFiZWxsZWRieSI6cywiYXJpYS1oaWRkZW4iOmF8fCFsLHRpdGxlOmksZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDpufX0pfSkpfSwxMzY0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3NrZWxldG9uVGhlbWU6KCk9Pml9KTt2YXIgcj1uKDk3NTI4NSk7Y29uc3QgaT1uLm4ocikoKX0sMzQ0MTAzKGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgdD1be2Q6IkUtTWluaSBTJlAgNTAwIix0OiJFUyJ9LHtkOiJFLU1pbmkgTmFzZGFxIDEwMCIsdDoiTlEifSx7ZDoiR29sZCIsdDoiR0MifSx7ZDoiU2lsdmVyIix0OiJTSSJ9LHtkOiJDcnVkZSBPaWwgV1RJIix0OiJDTCJ9LHtkOiJOYXR1cmFsIEdhcyIsdDoiTkcifSx7ZDoiQXVzdHJhbGlhbiBEb2xsYXIiLHQ6IjZBIn0se2Q6IkF1c3RyYWxpYW4gRG9sbGFyIChGbG9vcikiLHQ6IkFEIn0se2Q6IkV1cm8gRlgiLHQ6IjZFIn0se2Q6IkV1cm8gRlggKEZsb29yKSIsdDoiRUMifSx7ZDoiQ29ybiIsdDoiWkMifSx7ZDoiQ29ybiAoRmxvb3IpIix0OiJDIn0se2Q6IkV1cm9kb2xsYXIiLHQ6IkdFIn0se2Q6IkV1cm9kb2xsYXIgKEZsb29yKSIsdDoiRUQifV0sbj1mdW5jdGlvbigpe3ZhciBlPVt7cGF0dGVybjoiKCIsY3RvcjpvfSx7cGF0dGVybjoiKSIsY3RvcjpzfSx7cGF0dGVybjoiKyIsY3RvcjpjfSx7cGF0dGVybjoiLSIsY3RvcjpsfSx7cGF0dGVybjoiKiIsY3Rvcjp1fSx7cGF0dGVybjoiLyIsY3RvcjpkfSx7cGF0dGVybjoiXiIsY3RvcjpwfSx7cGF0dGVybjovXGQrKD86XC5cZCp8KD8hW2EtekEtWjAtOV8hOi4mXSkpfFwuXGQrLyxjdG9yOmh9LHtwYXR0ZXJuOi9cLi8sY3Rvcjp3fSx7cGF0dGVybjovW2EtekEtWjAtOV9cdTAzNzAtXHUxRkZGX1x1MkU4MC1cdUZGRkZdW2EtekEtWjAtOV9cdTAwMjBcdTAzNzAtXHUxRkZGX1x1MkU4MC1cdUZGRkZfIXw6LiZdKnwnLis/Jy8sY3RvcjptfSx7CnBhdHRlcm46LydbXiddKi8sY3Rvcjp2fSx7cGF0dGVybjovW1wwLVx4MjBcc10rLyxjdG9yOml9XTtmdW5jdGlvbiBuKGUsdCl7dmFyIG49ZnVuY3Rpb24oKXt9O3JldHVybiBuLnByb3RvdHlwZT10LnByb3RvdHlwZSxlLnByb3RvdHlwZT1uZXcgbixlfWZ1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gaShlKXt0aGlzLnZhbHVlPWV9ZnVuY3Rpb24gbygpe31mdW5jdGlvbiBzKCl7fWZ1bmN0aW9uIGEoKXt9ZnVuY3Rpb24gYygpe31mdW5jdGlvbiBsKCl7fWZ1bmN0aW9uIHUoKXt9ZnVuY3Rpb24gZCgpe31mdW5jdGlvbiBwKCl7fXIucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9LG4oaSxyKSxuKG8sciksby5wcm90b3R5cGUudmFsdWU9IigiLG4ocyxyKSxzLnByb3RvdHlwZS52YWx1ZT0iKSIsbihhLHIpLG4oYyxhKSxjLnByb3RvdHlwZS52YWx1ZT0iKyIsYy5wcm90b3R5cGUucHJlY2VkZW5jZT0wLGMucHJvdG90eXBlLmNvbW11dGF0aXZlPSEwLG4obCxhKSxsLnByb3RvdHlwZS52YWx1ZT0iLSIsbC5wcm90b3R5cGUucHJlY2VkZW5jZT0wLGwucHJvdG90eXBlLmNvbW11dGF0aXZlPSExLG4odSxhKSx1LnByb3RvdHlwZS52YWx1ZT0iKiIsdS5wcm90b3R5cGUucHJlY2VkZW5jZT0xLHUucHJvdG90eXBlLmNvbW11dGF0aXZlPSEwLG4oZCxhKSxkLnByb3RvdHlwZS52YWx1ZT0iLyIsZC5wcm90b3R5cGUucHJlY2VkZW5jZT0xLGQucHJvdG90eXBlLmNvbW11dGF0aXZlPSExLG4ocCxhKSxwLnByb3RvdHlwZS52YWx1ZT0iXiIscC5wcm90b3R5cGUucHJlY2VkZW5jZT0yLHAucHJvdG90eXBlLmNvbW11dGF0aXZlPSExO3ZhciBnPS9eJz8oPzooW0EtWjAtOV9dKyk6KT8oLio/KSc/JC9pLGY9L1srXC0vKl0vO2Z1bmN0aW9uIG0oZSl7dGhpcy52YWx1ZT1lfWZ1bmN0aW9uIGgoZSl7dGhpcy52YWx1ZT1lfWZ1bmN0aW9uIHkoZSl7dGhpcy52YWx1ZT1lfWZ1bmN0aW9uIHYoKXttLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiB3KCl7aC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9bihtLHIpLG0ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7aWYodGhpcy5oYXNPd25Qcm9wZXJ0eSgiX3RpY2tlciIpKXt2YXIgZT1mLnRlc3QodGhpcy5fdGlja2VyKT8iJyI6IiI7cmV0dXJuIGUrKHRoaXMuX2V4Y2hhbmdlP3RoaXMuX2V4Y2hhbmdlKyI6IjoiIikrdGhpcy5fdGlja2VyK2V9cmV0dXJuIHRoaXMudmFsdWV9LG0ucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKCl7dmFyIGU9Zy5leGVjKHRoaXMudmFsdWUpO2VbMV0mJih0aGlzLl9leGNoYW5nZT1lWzFdKSx0aGlzLl90aWNrZXI9ZVsyXX0sbS5wcm90b3R5cGUucGFyc2VBc0Z1dHVyZXM9ZnVuY3Rpb24oKXt0aGlzLmhhc093blByb3BlcnR5KCJfdGlja2VyIil8fHRoaXMucGFyc2UoKTtmb3IodmFyIGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHQuc29tZSgoZnVuY3Rpb24odCl7cmV0dXJuIHQudD09PWV9KSl9LG49MjtuPj0xOy0tbil7dmFyIHI9dGhpcy5fdGlja2VyLnNsaWNlKDAsbik7aWYoZShyKSl7dGhpcy5fcm9vdD1yLHRoaXMuX2NvbnRyYWN0PXRoaXMuX3RpY2tlci5zbGljZShuKTticmVha319fSxtLnByb3RvdHlwZS5leGNoYW5nZT1mdW5jdGlvbihlKXtpZih0aGlzLmhhc093blByb3BlcnR5KCJfdGlja2VyIil8fHRoaXMucGFyc2UoKSwhKGFyZ3VtZW50cy5sZW5ndGg+MCkpcmV0dXJuIHRoaXMuX2V4Y2hhbmdlO251bGw9PWU/ZGVsZXRlIHRoaXMuX2V4Y2hhbmdlOnRoaXMuX2V4Y2hhbmdlPWUrIiJ9LG0ucHJvdG90eXBlLnRpY2tlcj1mdW5jdGlvbihlKXtpZih0aGlzLmhhc093blByb3BlcnR5KCJfdGlja2VyIil8fHRoaXMucGFyc2UoKSwhKGFyZ3VtZW50cy5sZW5ndGg+MCkpcmV0dXJuIHRoaXMuX3RpY2tlcjtudWxsPT1lP2RlbGV0ZSB0aGlzLl90aWNrZXI6dGhpcy5fdGlja2VyPWUrIiIsZGVsZXRlIHRoaXMuX3Jvb3QsZGVsZXRlIHRoaXMuX2NvbnRyYWN0fSxtLnByb3RvdHlwZS5yb290PWZ1bmN0aW9uKGUpe2lmKHRoaXMuaGFzT3duUHJvcGVydHkoIl9yb290Iil8fHRoaXMucGFyc2VBc0Z1dHVyZXMoKSwhKGFyZ3VtZW50cy5sZW5ndGg+MCkpcmV0dXJuIHRoaXMuX3Jvb3Q7bnVsbD09ZT9kZWxldGUgdGhpcy5fcm9vdDoodGhpcy5fcm9vdD1lKyIiLHRoaXMuX3Jvb3QmJih0aGlzLl90aWNrZXI9dGhpcy5fcm9vdCsodGhpcy5fY29udHJhY3R8fCIiKSkpfSxtLnByb3RvdHlwZS5jb250cmFjdD1mdW5jdGlvbihlKXtpZih0aGlzLmhhc093blByb3BlcnR5KCJfY29udHJhY3QiKXx8dGhpcy5wYXJzZUFzRnV0dXJlcygpLCEoYXJndW1lbnRzLmxlbmd0aD4wKSlyZXR1cm4gdGhpcy5fcm9vdDtudWxsPT1lP2RlbGV0ZSB0aGlzLl9jb250cmFjdDoodGhpcy5fY29udHJhY3Q9ZSsiIix0aGlzLl9yb290JiYodGhpcy5fdGlja2VyPXRoaXMuX3Jvb3QrdGhpcy5fY29udHJhY3QpKX0sbihoLHIpLGgucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaGFzT3duUHJvcGVydHkoIl9ub3JtYWxpemVkVmFsdWUiKT90aGlzLl9ub3JtYWxpemVkVmFsdWU6dGhpcy52YWx1ZX0saC5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24oKXt0aGlzLl9ub3JtYWxpemVkVmFsdWU9dGhpcy52YWx1ZS5yZXBsYWNlKC9eMCt8XC4wKiQvZywiIikucmVwbGFjZSgvKFwuXGQqPykwKyQvLCIkMSIpLnJlcGxhY2UoL14oXC58JCkvLCIwJDEiKX0seS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZX0sbih2LG0pLHYucHJvdG90eXBlLmlzSW5jb21wbGV0ZT0hMCx2LnByb3RvdHlwZS5pbmNvbXBsZXRlU3VnZ2VzdD1mdW5jdGlvbigpe2lmKCInIiE9PXRoaXMudmFsdWUpcmV0dXJuIFN0cmluZygiJyIpfSxuKHcsaCksdy5wcm90b3R5cGUuaXNJbmNvbXBsZXRlPSEwO3ZhciBiPW5ldyBSZWdFeHAoZS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiIoIisoInN0cmluZyI9PXR5cGVvZiBlLnBhdHRlcm4/ZS5wYXR0ZXJuLnJlcGxhY2UoL1tcXiQoKVtcXXt9Kis/fFxcXS9nLCJcXCQmIik6ZS5wYXR0ZXJuLnNvdXJjZSkrIikifSkpLmNvbmNhdCgiLiIpLmpvaW4oInwiKSwiZyIpCjtmdW5jdGlvbiBfKHQsbil7dmFyIHIsbz1bXTtlOmZvcig7cj1iLmV4ZWModCk7KXtmb3IodmFyIHM9ZS5sZW5ndGg7cy0tOylpZihyW3MrMV0pe2lmKGVbc10uY3Rvcil7dmFyIGE9bmV3IGVbc10uY3RvcihyW3MrMV0pO2EuX29mZnNldD1yLmluZGV4LG8ucHVzaChhKX1jb250aW51ZSBlfXZhciBjPW5ldyB5KHJbMF0pO2MuX29mZnNldD1yLmluZGV4LG8ucHVzaChjKX1pZihuJiZuLnJlY292ZXIpe3ZhciBsO2ZvcihzPW8ubGVuZ3RoO3MtLTspe3ZhciB1PW9bc107aWYodSBpbnN0YW5jZW9mIGh8fHUgaW5zdGFuY2VvZiBtKXtpZih2b2lkIDAhPT1sKXt2YXIgZD1uZXcgbSgiIikscD1vLnNwbGljZShzLGwtcysxLGQpO2QudmFsdWU9cC5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBlLnZhbHVlfSkpLmpvaW4oIiIpfWw9c31lbHNlIHUgaW5zdGFuY2VvZiBpfHwobD12b2lkIDApfX1yZXR1cm4gb31mdW5jdGlvbiB4KGUpe2Zvcih2YXIgdD1bXSxuPTA7bjxlLmxlbmd0aDtuKyspZVtuXWluc3RhbmNlb2YgaXx8dC5wdXNoKGVbbl0pO3JldHVybiB0fWZ1bmN0aW9uIFMoZSl7ZT14KGUpO2Zvcih2YXIgdCxuPVtdLHI9W10saT0wO2k8ZS5sZW5ndGg7aSsrKXt2YXIgYz1lW2ldO2lmKGMgaW5zdGFuY2VvZiBhKXIubGVuZ3RoJiZyW3IubGVuZ3RoLTFdLm1pblByZWNlZGVuY2U+Yy5wcmVjZWRlbmNlJiYocltyLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPWMucHJlY2VkZW5jZSk7ZWxzZSBpZihjIGluc3RhbmNlb2YgbylyLnB1c2godD17bWluUHJlY2VkZW5jZToxLzAsb3BlbkJyYWNlSW5kZXg6aX0pO2Vsc2UgaWYoYyBpbnN0YW5jZW9mIHMpe3ZhciBsPWVbKHQ9ci5wb3AoKSkub3BlbkJyYWNlSW5kZXgtMV0sdT1lW2krMV07dSBpbnN0YW5jZW9mIGEmJiEodS5wcmVjZWRlbmNlPD10Lm1pblByZWNlZGVuY2UpfHwhKCEobCBpbnN0YW5jZW9mIGEpfHxsLnByZWNlZGVuY2U8dC5taW5QcmVjZWRlbmNlfHxsLnByZWNlZGVuY2U9PT10Lm1pblByZWNlZGVuY2UmJmwuY29tbXV0YXRpdmUpfHwobi51bnNoaWZ0KHQub3BlbkJyYWNlSW5kZXgpLG4ucHVzaChpKSxyLmxlbmd0aCYmcltyLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPnQubWluUHJlY2VkZW5jZSYmKHJbci5sZW5ndGgtMV0ubWluUHJlY2VkZW5jZT10Lm1pblByZWNlZGVuY2UpKX19Zm9yKGk9bi5sZW5ndGg7aS0tOyllLnNwbGljZShuW2ldLDEpO3JldHVybiBlfWZ1bmN0aW9uIGsoZSl7aWYoInN0cmluZyIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoImV4cHJlc3Npb24gbXVzdCBiZSBhIHN0cmluZyIpO3JldHVybihlPV8oZSkpLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBtfSkpLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGUuZXhjaGFuZ2UoKX0pKS5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpfWZ1bmN0aW9uIFQoZSl7cmV0dXJuIDEhPT0oZT1rKGUpKS5sZW5ndGg/bnVsbDplWzBdfWZ1bmN0aW9uIFAoZSx0KXtyZXR1cm4oZT1rKGUpKS5zb21lKChmdW5jdGlvbihlKXtyZXR1cm4gdC5pbmNsdWRlcygoZXx8IiIpLnRvVXBwZXJDYXNlKCkpfSkpfWZ1bmN0aW9uIEMoZSl7cmV0dXJuIGUuam9pbigiIil9cmV0dXJue3Rva2VuaXplOl8sdmFsaWRhdGU6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PSJpbml0IixuPSJ2YXIiLHI9dCxjPXt3YXJuaW5nczpbXSxlcnJvcnM6W10saXNFbXB0eTohMH0sbD1bXSx1PTA7dTxlLmxlbmd0aDt1Kyspe2lmKCEoKHA9ZVt1XSlpbnN0YW5jZW9mIGkpKXtpZihkZWxldGUgYy5pc0VtcHR5LHAuaXNJbmNvbXBsZXRlKXt2YXIgZD17c3RhdHVzOiJpbmNvbXBsZXRlIixyZWFzb246ImluY29tcGxldGVfdG9rZW4iLG9mZnNldDpwLl9vZmZzZXQsdG9rZW46cH07aWYocC5pbmNvbXBsZXRlU3VnZ2VzdCYmKGQucmVjb3Zlcj17YXBwZW5kOnAuaW5jb21wbGV0ZVN1Z2dlc3QoKX0pLGMud2FybmluZ3MucHVzaChkKSx1IT09ZS5sZW5ndGgtMSl7ZC5zdGF0dXM9ImVycm9yIjtjb250aW51ZX19aWYocCBpbnN0YW5jZW9mIG18fHAgaW5zdGFuY2VvZiBoKXtpZihyPT09bil7Yy5lcnJvcnMucHVzaCh7c3RhdHVzOiJlcnJvciIscmVhc29uOiJ1bmV4cGVjdGVkX3Rva2VuIixvZmZzZXQ6cC5fb2Zmc2V0LHRva2VuOnB9KTtjb250aW51ZX1yPW59ZWxzZSBpZihwIGluc3RhbmNlb2YgYSl7aWYociE9PW4pe2MuZXJyb3JzLnB1c2goe3N0YXR1czoiZXJyb3IiLHJlYXNvbjoidW5leHBlY3RlZF90b2tlbiIsb2Zmc2V0OnAuX29mZnNldCx0b2tlbjpwfSk7Y29udGludWV9cj0ib3BlcmF0b3IifWVsc2UgaWYocCBpbnN0YW5jZW9mIG8pe2lmKHI9PT1uKXtjLmVycm9ycy5wdXNoKHtzdGF0dXM6ImVycm9yIixyZWFzb246InVuZXhwZWN0ZWRfdG9rZW4iLG9mZnNldDpwLl9vZmZzZXQsdG9rZW46cH0pO2NvbnRpbnVlfWwucHVzaChwKSxyPXR9ZWxzZSBpZihwIGluc3RhbmNlb2Ygcyl7aWYociE9PW4pe2MuZXJyb3JzLnB1c2goe3N0YXR1czoiZXJyb3IiLHJlYXNvbjoidW5leHBlY3RlZF90b2tlbiIsb2Zmc2V0OnAuX29mZnNldCx0b2tlbjpwfSk7Y29udGludWV9bC5wb3AoKXx8Yy5lcnJvcnMucHVzaCh7c3RhdHVzOiJlcnJvciIscmVhc29uOiJ1bmJhbGFuY2VkX2JyYWNlIixvZmZzZXQ6cC5fb2Zmc2V0LHRva2VuOnAscmVjb3Zlcjp7cHJlcGVuZDpuZXcgb319KSxyPW59ZWxzZSBwIGluc3RhbmNlb2YgeSYmYy5lcnJvcnMucHVzaCh7c3RhdHVzOiJlcnJvciIscmVhc29uOiJ1bnBhcnNlZF9lbnRpdHkiLG9mZnNldDpwLl9vZmZzZXQsdG9rZW46cH0pfX1mb3IoYy5icmFjZUJhbGFuY2U9bC5sZW5ndGgsciE9PW4mJmMud2FybmluZ3MucHVzaCh7c3RhdHVzOiJpbmNvbXBsZXRlIn0pO2wubGVuZ3RoOyl7dmFyIHA7ZD17c3RhdHVzOiJpbmNvbXBsZXRlIixyZWFzb246InVuYmFsYW5jZWRfYnJhY2UiLG9mZnNldDoocD1sLnBvcCgpKS5fb2Zmc2V0LHRva2VuOnB9O3I9PT1uJiYoZC5yZWNvdmVyPXthcHBlbmQ6bmV3IHN9KSxjLndhcm5pbmdzLnB1c2goZCl9cmV0dXJuIGMuY3VycmVudFN0YXRlPXIsMD09PWMud2FybmluZ3MubGVuZ3RoJiZkZWxldGUgYy53YXJuaW5ncywKMD09PWMuZXJyb3JzLmxlbmd0aCYmZGVsZXRlIGMuZXJyb3JzLGN9LGZhY3Rvck91dEJyYWNlczpTLG5vcm1hbGl6ZVRva2VuczpmdW5jdGlvbihlKXtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKyllW3RdLnBhcnNlJiZlW3RdLnBhcnNlKCk7cmV0dXJuIGV9LGZsaXA6ZnVuY3Rpb24oZSl7dmFyIHQ9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG49MCxyPTEsYz0yLGw9Myx1PW4scD0wLGc9MDtnPGUubGVuZ3RoO2crKyl7dmFyIGY9ZVtnXTtpZighKGYgaW5zdGFuY2VvZiBpKSlzd2l0Y2godSl7Y2FzZSBuOmlmKCEoZiBpbnN0YW5jZW9mIGgmJjE9PStmLnZhbHVlKSlyZXR1cm4hMTt1PXI7YnJlYWs7Y2FzZSByOmlmKCEodT09PXImJmYgaW5zdGFuY2VvZiBkKSlyZXR1cm4hMTt1PWMsdD1nKzE7YnJlYWs7Y2FzZSBjOmlmKGYgaW5zdGFuY2VvZiBvKXU9bCxwPTE7ZWxzZSBpZihmIGluc3RhbmNlb2YgYSlyZXR1cm4hMTticmVhaztjYXNlIGw6ZiBpbnN0YW5jZW9mIG8/cCsrOmYgaW5zdGFuY2VvZiBzJiYtLXA8PTAmJih1PWMpfX1yZXR1cm4gZS5zbGljZSh0KX0oZSk7cmV0dXJuIFModHx8W25ldyBoKCIxIiksbmV3IGQsbmV3IG9dLmNvbmNhdChlKS5jb25jYXQobmV3IHMpKX0saGFzQmF0c1N5bWJvbHM6ZnVuY3Rpb24oZSl7cmV0dXJuIFAoZSxbIkJBVFMiXSl9LGhhc0VvZFN5bWJvbHM6ZnVuY3Rpb24oZSl7cmV0dXJuKGU9VChlKSkmJi0xIT09ZS50b1VwcGVyQ2FzZSgpLmluZGV4T2YoIl9FT0QiKX0saGFzQ2h4anB5U3ltYm9sczpmdW5jdGlvbihlKXtyZXR1cm4gUChlLFsiQ0hYSlBZIl0pfSxoYXNGcmVlRGVsYXlTeW1ib2xzOmZ1bmN0aW9uKGUpe3JldHVybiBQKGUscHJvLmdldFByb2R1Y3RzQnlUeXBlKHByby5QUk9EVUNUX1RZUEVTLmV4Y2hhbmdlKS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBlLmV4Y2hhbmdlLnRvVXBwZXJDYXNlKCkrIl9ETFkifSkpKX0sZ2V0RXhjaGFuZ2U6VCxnZXRFeGNoYW5nZXM6ayxpc0V4Y2hhbmdlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuISEoZT1UKGUpKSYmZS5zdWJzdHJpbmcoMCx0Lmxlbmd0aCk9PT10fSxTeW1ib2xUb2tlbjptLEluY29tcGxldGVTeW1ib2xUb2tlbjp2LE51bWJlclRva2VuOmgsQmluYXJ5T3BlcmF0b3JUb2tlbjphLE9wZW5CcmFjZVRva2VuOm8sQ2xvc2VCcmFjZVRva2VuOnMsdGlja2VyOmZ1bmN0aW9uKGUpe3JldHVybiBuZXcgbShlKS50aWNrZXIoKX0sc2hvcnROYW1lOmZ1bmN0aW9uKGUpe2lmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJleHByZXNzaW9uIG11c3QgYmUgYSBzdHJpbmciKTt2YXIgdD1TKHgoXyhlKSkpO3JldHVybiB0LmZvckVhY2goKGZ1bmN0aW9uKGUpe2UgaW5zdGFuY2VvZiBtJiZlLmV4Y2hhbmdlKG51bGwpfSkpLEModCl9LG5vcm1hbGl6ZTpmdW5jdGlvbihlKXtpZigic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcigiZXhwcmVzc2lvbiBtdXN0IGJlIGEgc3RyaW5nIik7cmV0dXJuIEMoUyh4KF8oZSkpKSl9fX0oKTtlLmV4cG9ydHM9bn0sMjMyOTQ4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2dldFByb2R1Y3RJZDooKT0+dSxpc0V4Y2hhbmdlOigpPT5sLGlzUGFpZFBybzooKT0+YSxpc1BsYW46KCk9PmMsaXNQcm86KCk9PnMsaXNQcm9kdWN0RGVmaW5lZDooKT0+aSxpc1RyaWFsOigpPT5vfSk7dmFyIHI9big1ODE4OTMpO2Z1bmN0aW9uIGkoZSl7cmV0dXJuISghZXx8IU9iamVjdC5rZXlzKGUpLmxlbmd0aCl9ZnVuY3Rpb24gbyhlKXtyZXR1cm4hIWUuaXNfdHJpYWx9ZnVuY3Rpb24gcyhlKXtyZXR1cm4hIWU/LnByb19wbGFufWZ1bmN0aW9uIGEoZSl7cmV0dXJuIHMoZSkmJiFvKGUpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGUudHlwZT09PXIuUHJvZHVjdFR5cGUuUHJvUGxhbn1mdW5jdGlvbiBsKGUpe3JldHVybiBlLnR5cGU9PT1yLlByb2R1Y3RUeXBlLkV4Y2hhbmdlfWZ1bmN0aW9uIHUoZSl7cmV0dXJuIGU/bChlKXx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUudHlwZT09PXIuUHJvZHVjdFR5cGUuQ29pbnN9KGUpP2UudGV4dF9pZD8/IiI6ZS5kaXNjb3VudF90ZXh0X2lkPz9lLnRleHRfaWQ/PyIiOiIifX0sODY0MDM0KGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI7bi5kKHQse0JpbGxpbmdDeWNsZTooKT0+cixNT05USExZX1NVQlNDUklQVElPTl9EQVlTX0xFTjooKT0+byxXRUVLTFlfU1VCU0NSSVBUSU9OX0RBWVNfTEVOOigpPT5pfSksZnVuY3Rpb24oZSl7ZS5Nb250aGx5PSJtIixlLlRocmVlTW9udGhzPSIzbSIsZS5PbmVZZWFyPSJ5In0ocnx8KHI9e30pKTtjb25zdCBpPTcsbz0zMH0sNTgxODkzKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI7bi5kKHQse1Byb2R1Y3RUeXBlOigpPT5yfSksZnVuY3Rpb24oZSl7ZVtlLlByb1BsYW49MV09IlByb1BsYW4iLGVbZS5OZXdzRmVlZD0zXT0iTmV3c0ZlZWQiLGVbZS5FeGNoYW5nZT00XT0iRXhjaGFuZ2UiLGVbZS5Db25uZWN0aW9uPTZdPSJDb25uZWN0aW9uIixlW2UuQ29pbnM9OF09IkNvaW5zIixlW2UuU2NyaXB0UGFja2FnZT05XT0iU2NyaXB0UGFja2FnZSJ9KHJ8fChyPXt9KSl9LDQ5ODY1MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtpc0lEQ0V4Y2hhbmdlOigpPT5pfSk7dmFyIHI9bigyMzI5NDgpO2Z1bmN0aW9uIGkoZSx0PSExKXtpZihlJiZlLnN0YXJ0c1dpdGgoImV4Y2hhbmdlLSIpKXJldHVybiBmdW5jdGlvbihlLHQ9ITEpe2NvbnN0IG49d2luZG93LnBybz8uZ2V0UHJvZHVjdChlKTtyZXR1cm4hKHZvaWQgMD09PW58fCEoMCxyLmlzUHJvZHVjdERlZmluZWQpKG4pfHwodD8hbi5pZGNfc2VydmljZV9jb2Rlc19kZWxheTohbi5pZGNfc2VydmljZV9jb2RlcykpfShlLHQpO2NvbnN0IG49KGV8fCIiKS50b0xvd2VyQ2FzZSgpO3JldHVybiB3aW5kb3cucHJvPy5nZXRJRENFeGNoYW5nZXModCk/LmluY2x1ZGVzKG4pPz8hMX19LDk1MjkwMChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHthY2N1bXVsYXRlOigpPT5zLGNvbWJpbmU6KCk9Pm99KTt2YXIgcj1uKDIzMjM2NCk7ZnVuY3Rpb24gaShlLHQsLi4ubil7bGV0IGk9bnVsbAo7Y29uc3Qgbz0oLi4udCk9PmUoLi4udC5tYXAoKGU9PmUudmFsdWUoKSkpLGk/LnZhbHVlKCkpLHM9aT1uZXcgci5XYXRjaGVkVmFsdWUobyguLi5uKSksYT0oKT0+e2NvbnN0IGU9bi5tYXAoKChlLHQpPT5lLnZhbHVlKCkpKTt0KC4uLmUpJiZzLnNldFZhbHVlKG8oLi4ubikpfSxjPW4ubWFwKChlPT5lLnNwYXduKCkpKTtmb3IoY29uc3QgZSBvZiBjKWUuc3Vic2NyaWJlKGEpO3JldHVybiBzLnJlYWRvbmx5KCkuc3Bhd24oKCgpPT57Yy5mb3JFYWNoKChlPT5lLmRlc3Ryb3koKSkpLG4uZm9yRWFjaCgoZT0+ZS5yZWxlYXNlKCkpKX0pKX1mdW5jdGlvbiBvKGUsLi4udCl7cmV0dXJuIGkoZSwoKCk9PiEwKSwuLi50KX1mdW5jdGlvbiBzKGUsdCwuLi5uKXtsZXQgaT1udWxsO2NvbnN0IHM9bygoKC4uLmUpPT4oZS5zcGxpY2UoLTEpLGUpKSwuLi5uKSxhPXQuc3Bhd24oKSxjPSh0LC4uLm4pPT57Y29uc3Qgcj10Lm1hcCgoZT0+ZS52YWx1ZSgpKSk7cmV0dXJuIGUociwuLi5uLGk/LnZhbHVlKCkpfSxsPWk9bmV3IHIuV2F0Y2hlZFZhbHVlKGMoYS52YWx1ZSgpLC4uLnMudmFsdWUoKSkpO2xldCB1PVtdO2NvbnN0IGQ9KCk9PntsLnNldFZhbHVlKGModSwuLi5zLnZhbHVlKCkpKX0scD1lPT57dS5mb3JFYWNoKChlPT5lLmRlc3Ryb3koKSkpLHU9ZS5tYXAoKGU9PmUuc3Bhd24oKSkpLHUuZm9yRWFjaCgoZT0+ZS5zdWJzY3JpYmUoZCkpKSxkKCl9O3AoYS52YWx1ZSgpKSxhLnN1YnNjcmliZShwKSxzLnN1YnNjcmliZShkKTtyZXR1cm4gbC5yZWFkb25seSgpLnNwYXduKCgoKT0+e3UuZm9yRWFjaCgoZT0+ZS5kZXN0cm95KCkpKSxhLmRlc3Ryb3koKSxzLmRlc3Ryb3koKSx0LnJlbGVhc2UoKX0pKX19LDE1MDE1MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtndWlkOigpPT5pLHJhbmRvbUhhc2g6KCk9Pm8scmFuZG9tSGFzaE46KCk9PnN9KTtjb25zdCByPSIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiI7ZnVuY3Rpb24gaSgpe3JldHVybiJ4eHh4eHh4eC14eHh4LTR4eHgteXh4eC14eHh4eHh4eHh4eHgiLnJlcGxhY2UoL1t4eV0vZywoZT0+e2NvbnN0IHQ9MTYqTWF0aC5yYW5kb20oKXwwO3JldHVybigieCI9PT1lP3Q6MyZ0fDgpLnRvU3RyaW5nKDE2KX0pKX1mdW5jdGlvbiBvKCl7cmV0dXJuIHMoMTIpfWZ1bmN0aW9uIHMoZSl7bGV0IHQ9IiI7Zm9yKGxldCBuPTA7bjxlOysrbil7Y29uc3QgZT1NYXRoLmZsb29yKDYyKk1hdGgucmFuZG9tKCkpO3QrPXJbZV19cmV0dXJuIHR9fSw2NDA3NDQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUsdCxuKXtyZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgoZSx0KSxuKX1mdW5jdGlvbiBpKGUpe2NvbnN0IHQ9TWF0aC5jZWlsKGUpO3JldHVybiB0JTIhPTA/dC0xOnR9ZnVuY3Rpb24gbyhlKXtjb25zdCB0PU1hdGguY2VpbChlKTtyZXR1cm4gdCUyPT0wP3QtMTp0fWZ1bmN0aW9uIHMoZSl7cmV0dXJuIGU+MD9NYXRoLmZsb29yKGUpOk1hdGguY2VpbChlKX1mdW5jdGlvbiBhKGUpe3JldHVybiBlJTI9PTB9bi5kKHQse2NlaWxlZEV2ZW46KCk9PmksY2VpbGVkT2RkOigpPT5vLGNsYW1wOigpPT5yLGlzRXZlbjooKT0+YSx0b0ludDooKT0+c30pfSwyNDE5NTYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Y3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9uOigpPT5pfSk7dmFyIHI9bigyMzIzNjQpO2Z1bmN0aW9uIGkoZSx0KXtjb25zdCBuPW5ldyByLldhdGNoZWRWYWx1ZShlKCkpLGk9e307dC5zdWJzY3JpYmUoaSwoKCk9PntuLnNldFZhbHVlKGUobi52YWx1ZSgpKSl9KSk7cmV0dXJuIG4ucmVhZG9ubHkoKS5zcGF3bigoKCk9PnQudW5zdWJzY3JpYmVBbGwoaSkpKX19LDYwMTg0MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtjbG9uZTooKT0+cyxkZWVwRXF1YWxzOigpPT5kLGhhc1Byb3BlcnR5OigpPT5sLGlzQXJyYXk6KCk9PnAsaXNFeGlzdGVudDooKT0+Zixpc0ludGVnZXI6KCk9Pm0saXNOYU46KCk9PmcsaXNOdW1iZXI6KCk9Pm8saXNPYmplY3Q6KCk9PmMsaXNTdHJpbmc6KCk9PmgsbWVyZ2U6KCk9PmEsbm90TnVsbDooKT0+eX0pO2NvbnN0IHI9bmV3IFNldChbIl9fcHJvdG9fXyIsInByb3RvdHlwZSIsImNvbnN0cnVjdG9yIl0pO2Z1bmN0aW9uIGkoZSl7cmV0dXJuIHIuaGFzKGUpfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiBlJiZpc0Zpbml0ZShlKX1mdW5jdGlvbiBzKGUpe2lmKCFlfHwib2JqZWN0IiE9dHlwZW9mIGUpcmV0dXJuIGU7bGV0IHQ7dD1BcnJheS5pc0FycmF5KGUpP1tdOnt9O2Zvcihjb25zdCBuIGluIGUpaWYoZS5oYXNPd25Qcm9wZXJ0eShuKSl7Y29uc3Qgcj1lW25dO3Rbbl09ciYmIm9iamVjdCI9PXR5cGVvZiByP3Mocik6cn1yZXR1cm4gdH1mdW5jdGlvbiBhKGUsdCl7aWYoIWMoZSl8fCFjKHQpKXJldHVybiBlO2Zvcihjb25zdFtuLHJdb2YgT2JqZWN0LmVudHJpZXModCkpaShuKXx8KHImJih1KHIpfHwhcChyKSYmT2JqZWN0LmdldFByb3RvdHlwZU9mKHIpIT09T2JqZWN0LnByb3RvdHlwZSk/ZVtuXT1yOihlLmhhc093blByb3BlcnR5KG4pJiZjKGVbbl0pfHwhYyhyKXx8KGVbbl09QXJyYXkuaXNBcnJheShyKT9bXTp7fSksYyhyKSYmYyhlW25dKT9hKGVbbl0scik6ZVtuXT1yKSk7cmV0dXJuIGV9ZnVuY3Rpb24gYyhlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lfWZ1bmN0aW9uIGwoZSx0KXtyZXR1cm4gdCBpbiBlfWZ1bmN0aW9uIHUoZSl7cmV0dXJuIG51bGwhPWUmJihlLmNvbnN0cnVjdG9yPT09RnVuY3Rpb258fCJbb2JqZWN0IEZ1bmN0aW9uXSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkpfWZ1bmN0aW9uIGQoZSx0LG49IiIpe2lmKGU9PT10KXJldHVyblshMCxuXTtpZih1KGUpJiYoZT12b2lkIDApLHUodCkmJih0PXZvaWQgMCksbnVsbD09ZXx8bnVsbD09dClyZXR1cm5bZT09PXQsbl07aWYoIm9iamVjdCIhPXR5cGVvZiBlJiYib2JqZWN0IiE9dHlwZW9mIHQpcmV0dXJuW2U9PT10LG5dO2lmKEFycmF5LmlzQXJyYXkoZSkmJkFycmF5LmlzQXJyYXkodCkpewpjb25zdCByPWUubGVuZ3RoO2lmKHIhPT10Lmxlbmd0aClyZXR1cm5bITEsbl07Zm9yKGxldCBpPTA7aTxyO2krKyl7Y29uc3Qgcj1kKGVbaV0sdFtpXSxuKyJbIitpKyJdIik7aWYoIXJbMF0pcmV0dXJuIHJ9cmV0dXJuWyEwLG5dfWlmKEFycmF5LmlzQXJyYXkoZSl8fEFycmF5LmlzQXJyYXkodCkpcmV0dXJuWyExLG5dO2lmKE9iamVjdC5rZXlzKGUpLmxlbmd0aCE9PU9iamVjdC5rZXlzKHQpLmxlbmd0aClyZXR1cm5bITEsbl07Zm9yKGNvbnN0IHIgaW4gZSl7Y29uc3QgaT1kKGVbcl0sdFtyXSxuKyJbIityKyJdIik7aWYoIWlbMF0pcmV0dXJuIGl9cmV0dXJuWyEwLG5dfWNvbnN0IHA9QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24oZSl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKX07ZnVuY3Rpb24gZyhlKXtyZXR1cm4hKGU8PTB8fGU+MCl9ZnVuY3Rpb24gZihlKXtyZXR1cm4gbnVsbCE9ZX1mdW5jdGlvbiBtKGUpe3JldHVybiJudW1iZXIiPT10eXBlb2YgZSYmZSUxPT0wfWZ1bmN0aW9uIGgoZSl7cmV0dXJuIG51bGwhPWUmJmUuY29uc3RydWN0b3I9PT1TdHJpbmd9ZnVuY3Rpb24geShlKXtyZXR1cm4gbnVsbCE9PWV9TnVtYmVyLmlzTmFOPU51bWJlci5pc05hTnx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUhPWV9fSw0OTI2NzcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUpe3JldHVybiBkZWNvZGVVUklDb21wb25lbnQoZS5yZXBsYWNlKC9cKy9nLCIgIikpLnJlcGxhY2UoLzxcLz9bXj5dKyg+fCQpL2csIiIpfWZ1bmN0aW9uIGkoZSl7Y29uc3QgdD0vKFteJj1dKyk9PyhbXiZdKikvZyxuPXt9O2lmKCFlKXJldHVybiBuO2xldCBpPXQuZXhlYyhlKTtmb3IoO2k7KW5bcihpWzFdKV09cihpWzJdKSxpPXQuZXhlYyhlKTtyZXR1cm4gbn1mdW5jdGlvbiBvKCl7cmV0dXJuIGkod2luZG93LmxvY2F0aW9uLnNlYXJjaC5zdWJzdHJpbmcoMSkpfWZ1bmN0aW9uIHMoKXtjb25zdCBlPXdpbmRvdy5sb2NhdGlvbi5ocmVmLnNwbGl0KCIjIilbMF07d2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKCIiLGRvY3VtZW50LnRpdGxlLGUpfWZ1bmN0aW9uIGEoZSl7Y29uc3QgdD1bXTtmb3IoY29uc3QgbiBpbiBlKWlmKGUuaGFzT3duUHJvcGVydHkobikmJm51bGwhPWVbbl0pe2NvbnN0IHI9ZVtuXSxpPSJvYmplY3QiPT10eXBlb2Ygcj9KU09OLnN0cmluZ2lmeShyKTpTdHJpbmcocik7dC5wdXNoKHtrZXk6bixwYWlyOmVuY29kZVVSSUNvbXBvbmVudChuKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGkpfSl9cmV0dXJuIHQuc29ydCgoKGUsdCk9PmUua2V5PnQua2V5PzE6ZS5rZXk8dC5rZXk/LTE6MCkpLm1hcCgoZT0+ZS5wYWlyKSkuam9pbigiJiIpfW4uZCh0LHtjcmVhdGVVcmxQYXJhbXM6KCk9PmEsZ2V0VXJsUGFyYW1zOigpPT5vLHJlbW92ZUhhc2hGcm9tVXJsOigpPT5zfSl9LDEwNzA0NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtOdW1lcmljRm9ybWF0dGVyOigpPT5vfSk7dmFyIHI9big1OTg5MjIpLGk9big1NDY0ODUpO2NsYXNzIG97Y29uc3RydWN0b3IoZT17fSl7dGhpcy5fb3B0aW9ucz1lfWZvcm1hdChlLHQ9e30pe2lmKCFOdW1iZXIuaXNGaW5pdGUoZSkpcmV0dXJuIFN0cmluZyhlKTtjb25zdHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6bj10aGlzLl9vcHRpb25zLmlnbm9yZUxvY2FsZU51bWJlckZvcm1hdCxub0V4cG9uZW50aWFsRm9ybTpzPXRoaXMuX29wdGlvbnMubm9FeHBvbmVudGlhbEZvcm19PXQse21pblByZWNpc2lvbjphLHByZWNpc2lvbjpjfT10aGlzLl9vcHRpb25zLGw9KDAsaS5nZXROdW1iZXJGb3JtYXQpKG4pO3JldHVybiB2b2lkIDA9PT1jP28uX2Zvcm1hdE5vRUltcGwoZSxsLGMsYSk6KDAsci5mb3JtYXROdW1iZXIpKGUsbCxjLHMsYSl9cGFyc2UoZSx0KXtjb25zdHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6bixwcmVjaXNpb246b309dGhpcy5fb3B0aW9ucyxzPSgwLGkuZ2V0TnVtYmVyRm9ybWF0KShufHx0Py5pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQpO2xldCBhPSgwLHIucGFyc2VOdW1iZXIpKGUscyk7cmV0dXJuIE51bWJlci5pc0Zpbml0ZShhKT8obyYmKGE9K2EudG9GaXhlZChvKSkse3JlczohMCx2YWx1ZTphfSk6e3JlczohMX19c3RhdGljIGZvcm1hdE5vRShlLHQpe3JldHVybiB0aGlzLl9mb3JtYXROb0VJbXBsKGUsdCl9c3RhdGljIF9mb3JtYXROb0VJbXBsKGUsdCxuLGkpe3JldHVybiBOdW1iZXIuaXNGaW5pdGUoZSk/KHQ9dD8/e2dyb3VwaW5nU2VwYXJhdG9yOiIiLGRlY2ltYWxTaWduOiIuIn0sKDAsci5mb3JtYXROdW1iZXIpKGUsdCxuLCEwLGkpKTpTdHJpbmcoZSl9fX0sMTI1MjE4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1BlcmNlbnRhZ2VGb3JtYXR0ZXI6KCk9Pm99KTt2YXIgcj1uKDExNTI5MyksaT1uKDc1NTYyNyk7Y2xhc3MgbyBleHRlbmRzIGkuUHJpY2VGb3JtYXR0ZXJ7Y29uc3RydWN0b3IoZT17fSl7dm9pZCAwIT09ZS5kZWNpbWFsUGxhY2VzJiYoZS5wcmljZVNjYWxlPU1hdGgucG93KDEwLGUuZGVjaW1hbFBsYWNlcykpLHN1cGVyKGUpLHRoaXMudHlwZT0icGVyY2VudGFnZSJ9c3RhdGUoKXtyZXR1cm57Li4uc3VwZXIuc3RhdGUoKSxwZXJjZW50OiEwfX1wYXJzZShlLHQpe3JldHVybiBlPWUucmVwbGFjZSgiJSIsIiIpLHN1cGVyLnBhcnNlKGUsdCl9Zm9ybWF0KGUsdD17fSl7Y29uc3R7dXNlUnRsRm9ybWF0Om49ITB9PXQsaT1zdXBlci5mb3JtYXQoZSx7Li4udCx1c2VSdGxGb3JtYXQ6ITF9KSsiJSI7cmV0dXJuIG4/KDAsci5mb3JjZUxUUlN0cikoaSk6aX1zdGF0aWMgc2VyaWFsaXplKGUpe3JldHVybiBlLnN0YXRlKCl9c3RhdGljIGRlc2VyaWFsaXplKGUpe3JldHVybiBuZXcgbyhlKX19fSw5ODQzNzYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UExBQ0VfSE9MREVSOigpPT5zLFZvbHVtZUZvcm1hdHRlcjooKT0+bH0pO3ZhciByPW4oNzgzMjU0KSxpPW4oNjAxODQxKSxvPW4oMTA3MDQ1KTtjb25zdCBzPSItLS0iLGE9W3t2YWx1ZTozLGxldHRlcjoiSyJ9LHt2YWx1ZTo2LGxldHRlcjoiTSJ9LHt2YWx1ZTo5LGxldHRlcjoiQiJ9LHsKdmFsdWU6MTIsbGV0dGVyOiJUIn1dO2Z1bmN0aW9uIGMoZSx0KXtjb25zdCBuPWUtdDtyZXR1cm4gYS5maW5kKChlPT5lLnZhbHVlPj1uKSk/P2FbYS5sZW5ndGgtMV19Y2xhc3MgbHtjb25zdHJ1Y3RvcihlPXt9KXt0aGlzLnR5cGU9InZvbHVtZSI7Y29uc3R7cHJlY2lzaW9uOnQ9MCxtaW5QcmVjaXNpb246bj0wLGRpbWVuc2lvblByZWNpc2lvbjpyPTIsZGltZW5zaW9uTWluUHJlY2lzaW9uOmk9MCxzaWduaWZpY2FudERpZ2l0czpzPTMsaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmEsbm9FeHBvbmVudGlhbEZvcm06YyxyZW1vdmVTcGFjZUJlZm9yZURpbWVuc2lvbjpsfT1lO3RoaXMuX3ByZWNpc2lvbj10LHRoaXMuX2Zvcm1hdHRlcj1uZXcgby5OdW1lcmljRm9ybWF0dGVyKHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6YSxwcmVjaXNpb246dGhpcy5fcHJlY2lzaW9uLG1pblByZWNpc2lvbjpuLG5vRXhwb25lbnRpYWxGb3JtOmN9KSx0aGlzLl9kaW1lbnNpb25QcmVjaXNpb249cix0aGlzLl9kaW1lbnNpb25Gb3JtYXR0ZXI9bmV3IG8uTnVtZXJpY0Zvcm1hdHRlcih7aWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmEscHJlY2lzaW9uOnRoaXMuX2RpbWVuc2lvblByZWNpc2lvbixtaW5QcmVjaXNpb246aSxub0V4cG9uZW50aWFsRm9ybTpjfSksdGhpcy5fc2lnbmlmaWNhbnREaWdpdHM9cyx0aGlzLl9mcmFjdGlvbmFsVmFsdWVzPXZvaWQgMCE9PXQmJnQ+MCx0aGlzLl9zcGFjZUJlZm9yZURpbWVuc2lvbj1sPyIiOiLigK8iLHRoaXMuX29wdGlvbnM9ZX1zdGF0ZSgpe2NvbnN0e2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDplLC4uLnR9PXRoaXMuX29wdGlvbnM7cmV0dXJuIHR9Zm9ybWF0KGUsdCl7aWYoISgwLGkuaXNOdW1iZXIpKGUpKXJldHVybiBzO2lmKE1hdGguYWJzKGUpPj0xZTEwMClyZXR1cm4gci50KG51bGwse2NvbnRleHQ6InZvbHVtZS1mb3JtYXR0ZXIifSxuKDU3MDYyKSk7bGV0IG89IiI7TWF0aC5hYnMoZSk8MSYmKGU9K2UudG9GaXhlZCh0aGlzLl9wcmVjaXNpb24pKSxlPDA/bz0i4oiSIjplPjAmJnQ/LnNpZ25Qb3NpdGl2ZSYmKG89IisiKSxlPU1hdGguYWJzKGUpO2NvbnN0IGE9ISEodD8uaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0Pz90aGlzLl9vcHRpb25zLmlnbm9yZUxvY2FsZU51bWJlckZvcm1hdCk7bGV0IGwsdSxkPU1hdGguZmxvb3IoTWF0aC5sb2cxMChlKSkrMTtpZihkPD10aGlzLl9zaWduaWZpY2FudERpZ2l0cyYmKGU9K2UudG9GaXhlZCh0aGlzLl9wcmVjaXNpb24pLGQ9TWF0aC5mbG9vcihNYXRoLmxvZzEwKGUpKSsxKSxkPD10aGlzLl9zaWduaWZpY2FudERpZ2l0cylsPXRoaXMuX2Zvcm1hdE51bWJlcihlLGEsdGhpcy5fZm9ybWF0dGVyKTtlbHNle2xldCB0PWMoZCx0aGlzLl9zaWduaWZpY2FudERpZ2l0cyk7Y29uc3Qgbj1NYXRoLnBvdygxMCx0LnZhbHVlKTtlPSsoZS9uKS50b0ZpeGVkKHRoaXMuX2RpbWVuc2lvblByZWNpc2lvbikqbix0PWMoTWF0aC5mbG9vcihNYXRoLmxvZzEwKGUpKSsxLHRoaXMuX3NpZ25pZmljYW50RGlnaXRzKSxsPXRoaXMuX2Zvcm1hdE51bWJlcihlL01hdGgucG93KDEwLHQudmFsdWUpLGEsdGhpcy5fZGltZW5zaW9uRm9ybWF0dGVyKSx1PXQubGV0dGVyfXJldHVybiB1P2Ake299JHtsfSR7dGhpcy5fc3BhY2VCZWZvcmVEaW1lbnNpb259JHt1fWA6YCR7b30ke2x9YH1wYXJzZShlLHQpe2lmKGU9PT1zKXJldHVybntlcnJvcjoibm90IGEgbnVtYmVyIixyZXM6ITEsdmFsdWU6TmFOfTtjb25zdCBuPXtLOjFlMyxNOjFlNixCOjFlOSxUOjFlMTJ9LHI9KGU9ZS5yZXBsYWNlKCLiiJIiLCItIikpLnNsaWNlKC0xKTtpZihuLmhhc093blByb3BlcnR5KHIpKXtjb25zdCBvPXRoaXMuX2Zvcm1hdHRlci5wYXJzZShlLnNsaWNlKDAsLTEpLnRyaW0oKSx0KSxzPW8ucmVzP28udmFsdWU6TmFOO3JldHVybigwLGkuaXNOdW1iZXIpKHMpP3tyZXM6ITAsdmFsdWU6cypuW3JdfTp7ZXJyb3I6Im5vdCBhIG51bWJlciIscmVzOiExLHZhbHVlOk5hTn19e2NvbnN0IG49dGhpcy5fZm9ybWF0dGVyLnBhcnNlKGUudHJpbSgpLHQpO2xldCByPW4ucmVzP24udmFsdWU6TmFOO3JldHVybi0wPT09ciYmKHI9MCksKDAsaS5pc051bWJlcikocik/e3JlczohMCx2YWx1ZTpyfTp7ZXJyb3I6Im5vdCBhIG51bWJlciIscmVzOiExLHZhbHVlOk5hTn19fXN0YXRpYyBzZXJpYWxpemUoZSl7cmV0dXJuIGUuc3RhdGUoKX1zdGF0aWMgZGVzZXJpYWxpemUoZSl7cmV0dXJuIG5ldyBsKGUpfV9mb3JtYXROdW1iZXIoZSx0LG4pe2lmKHRoaXMuX2ZyYWN0aW9uYWxWYWx1ZXMmJjAhPT1lKXtjb25zdCB0PTE0LU1hdGguY2VpbChNYXRoLmxvZzEwKGUpKSxuPU1hdGgucG93KDEwLHQpO2U9TWF0aC5yb3VuZChlKm4pL259cmV0dXJuIG4uZm9ybWF0KGUse2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDp0fSl9fX0sOTAxMDIyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1NFUEFSQVRPUl9QUkVGSVg6KCk9PnIsaXNTZXBhcmF0b3JJdGVtOigpPT5pfSk7Y29uc3Qgcj0iIyMjIjtmdW5jdGlvbiBpKGUpe3JldHVybiBlLnN0YXJ0c1dpdGgocil9fSw2NDE1OTMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Y2FwaXRhbGl6ZUZpcnN0TGV0dGVySW5Xb3JkOigpPT5kLGRlY29kZUhUTUxFbnRpdGllczooKT0+YyxnZXRGaXJzdFNlZ21lbnRPckNvZGVQb2ludFN0cmluZzooKT0+cCxodG1sRXNjYXBlOigpPT5sLHJlbW92ZVRhZ3M6KCk9PnV9KTtjb25zdCByPS9bPCInJj5dL2csaT1lPT5gJiMke2UuY2hhckNvZGVBdCgwKX07YCxvPXsiJmx0OyI6IjwiLCImZ3Q7IjoiPiIsIiZxdW90OyI6JyInLCImYXBvczsiOiInIiwiJmFtcDsiOiImIiwiJiM2MDsiOiI8IiwiJiM2MjsiOiI+IiwiJiMzNDsiOiciJywiJiMzOTsiOiInIiwiJiMwMzk7IjoiJyIsIiYjMzg7IjoiJiJ9LHM9T2JqZWN0LmFzc2lnbih7fSwuLi5PYmplY3QuZW50cmllcyhvKS5tYXAoKChbZSx0XSk9Pih7W3RdOmV9KSkpKSxhPW5ldyBSZWdFeHAoT2JqZWN0LmtleXMobykuam9pbigifCIpLCJnIik7bmV3IFJlZ0V4cChPYmplY3Qua2V5cyhzKS5qb2luKCJ8IiksImciKTtmdW5jdGlvbiBjKGUpewpyZXR1cm4gZS5yZXBsYWNlKGEsKGU9Pm9bZV18fGUpKX1mdW5jdGlvbiBsKGUpe3JldHVybiBlLnJlcGxhY2UocixpKX1mdW5jdGlvbiB1KGU9IiIpe3JldHVybiBlLnJlcGxhY2UoLyg8KFtePl0rKT4pL2dpLCIiKX1mdW5jdGlvbiBkKGU9IiIpe3JldHVybiBlLnJlcGxhY2UoL1xiXHcvZywoZT0+ZS50b1VwcGVyQ2FzZSgpKSl9ZnVuY3Rpb24gcChlKXtjb25zdCB0PUludGwuU2VnbWVudGVyO2lmKHQpe2NvbnN0IG49bmV3IHQodm9pZCAwLHtncmFudWxhcml0eToiZ3JhcGhlbWUifSksW3tzZWdtZW50OnJ9PXtzZWdtZW50Om51bGx9XT1uLnNlZ21lbnQoZSk7cmV0dXJuIHI/LnRvVXBwZXJDYXNlKCk/P251bGx9e2NvbnN0IHQ9ZS5jb2RlUG9pbnRBdCgwKTtyZXR1cm4gdD9TdHJpbmcuZnJvbUNvZGVQb2ludCh0KS50b1VwcGVyQ2FzZSgpOm51bGx9fX0sMTM2OTkxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NvcHlyaWdodFBvc2l0aW9uOigpPT5yLGNvcHlyaWdodExhYmVsOigpPT51fSk7dmFyIHIsaT1uKDE4NTI3MSksbz1uKDkxNDQ4Nykscz1uLm4obyksYT1uKDYwMTg0MSksYz1uKDM4NzIzMSksbD1uKDM5OTA5Mik7ZnVuY3Rpb24gdSh7c3ZnVGV4dDplLGljb246dCx0aGVtZTpvLHVybDp1LG1vZGU6ZCx2ZXJ0aWNhbFBvc2l0aW9uOnA9ci5WZXJ0aWNhbC5Cb3R0b20saG9yaXpvbnRhbFBvc2l0aW9uOmc9ci5Ib3Jpem9udGFsLkVuZCxzbmFwVG9FZGdlOmY9ITAsaXNFeHBhbmRlZDptPSExLGNsYXNzTmFtZTpofSl7bGV0IHk7c3dpdGNoKGQpe2Nhc2UibmV3IjpjYXNlIndpdGhfYm9yZGVyIjpjYXNlImxhcmdlX3RyYWRlIjp5PSgwLGEuY2xvbmUpKG8pO2JyZWFrO2RlZmF1bHQ6eT0oMCxjLm1lcmdlVGhlbWVzKSgoMCxhLmNsb25lKShsKSxvKX1jb25zdCB2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtsZXQgdzt1JiYodz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIiksdy5jbGFzc0xpc3QuYWRkKC4uLnkubGFiZWxfX2xpbmsuc3BsaXQoL1xzLykpLHcuaHJlZj11LHcudGFyZ2V0PSJfYmxhbmsiLHcucmVsPSJub29wZW5lciBub3JlZmVycmVyIix3LnNldEF0dHJpYnV0ZSgiZGF0YS10YXJnZXQtdHlwZSIsImNvcHlyaWdodCIpLHcuYXJpYUxhYmVsPWkudChudWxsLHZvaWQgMCxuKDUxNzg1OSkpLHYuYXBwZW5kKHcpKSx2LmNsYXNzTmFtZT1zKCkoeS5sYWJlbCxnPT09ci5Ib3Jpem9udGFsLlN0YXJ0JiZ5LnN0YXJ0LGc9PT1yLkhvcml6b250YWwuRW5kJiZ5LmVuZCxwPT09ci5WZXJ0aWNhbC5Ub3AmJnkudG9wLHA9PT1yLlZlcnRpY2FsLkJvdHRvbSYmeS5ib3R0b20sZiYmImxhcmdlX3RyYWRlIiE9PWQmJnkuc25hcCwibGFyZ2Vfb2xkIj09PWQmJnkubGFyZ2UsKG18fCJsYXJnZV90cmFkZSI9PT1kKSYmeS5leHBhbmRlZCxoLCJqcy1jb3B5cmlnaHQtbGFiZWwiKSx2LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKCk9PntmdW5jdGlvbiBlKCl7di5jbGFzc0xpc3QucmVtb3ZlKHkuZXhwYW5kZWRCeUNsaWNrKSx2LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGUpfXYuY2xhc3NMaXN0LmNvbnRhaW5zKHkuZXhwYW5kZWRXaXRoVHJhbnNpdGlvbil8fHYuY2xhc3NMaXN0LmNvbnRhaW5zKHkuZXhwYW5kZWQpfHwodi5jbGFzc0xpc3QuY29udGFpbnMoeS5leHBhbmRlZEJ5Q2xpY2spP3V8fGUoKToodi5jbGFzc0xpc3QuYWRkKHkuZXhwYW5kZWRCeUNsaWNrKSx2LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGUpKSl9KSk7Y29uc3QgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7Yi5jbGFzc05hbWU9eS5sb2dvV3JhcCxiLmlubmVySFRNTD10O2NvbnN0IF89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO3JldHVybiBfLmNsYXNzTmFtZT15LnN2Z1RleHRXcmFwLF8uaW5uZXJIVE1MPWUsdi5hcHBlbmQoYixfKSxbdix5XX0hZnVuY3Rpb24oZSl7bGV0IHQsbjshZnVuY3Rpb24oZSl7ZVtlLkJvdHRvbT0wXT0iQm90dG9tIixlW2UuVG9wPTFdPSJUb3AifSh0PWUuVmVydGljYWx8fChlLlZlcnRpY2FsPXt9KSksZnVuY3Rpb24oZSl7ZVtlLlN0YXJ0PTBdPSJTdGFydCIsZVtlLkVuZD0xXT0iRW5kIn0obj1lLkhvcml6b250YWx8fChlLkhvcml6b250YWw9e30pKX0ocnx8KHI9e30pKX0sNjUzODE3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NvcHlyaWdodFBvc2l0aW9uOigpPT5vLkNvcHlyaWdodFBvc2l0aW9uLGNyZWF0ZUNvcHlyaWdodExhYmVsOigpPT5hfSk7dmFyIHI9big5MTQ0ODcpLGk9bi5uKHIpLG89bigxMzY5OTEpLHM9big1Mjg4NjQpO2Z1bmN0aW9uIGEoe3NoZXJpZmZPcHRpb25zOmUsLi4udH0pe2NvbnN0W24scl09KDAsby5jb3B5cmlnaHRMYWJlbCkodCksYT1lJiZlLmluY2x1ZGVzKHMuS25vd25BY3Rpb24uRXhwYW5kKSxjPWUmJmUuaW5jbHVkZXMocy5Lbm93bkFjdGlvbi5MYXJnZVRyYWRlTG9nbyk7cmV0dXJuIG4uY2xhc3NOYW1lPWkoKShuLmNsYXNzTmFtZSwoYXx8YykmJnIuZXhwYW5kZWRXaXRoVHJhbnNpdGlvbiksbn19LDc0MjU3NyhlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSx0KXtyZXR1cm4gZSYmZS51dG1fY2FtcGFpZ24mJihlLnV0bV9jYW1wYWlnbis9YC0ke3R9YCksZX1hc3luYyBmdW5jdGlvbiBpKGUsdCxyLGkpe2lmKCJsZW50YXJ1Ij09PWUpe2NvbnN0e2dldExlbnRhQ29weXJpZ2h0RGF0YTplfT1hd2FpdCBQcm9taXNlLmFsbChbbi5lKDQ0MjUzKSxuLmUoODUwMzgpXSkudGhlbihuLmJpbmQobiwyODQwNDEpKTtyZXR1cm4gZSgpfWlmKCJjbW9uZXljb210dyI9PT1lKXtjb25zdHtnZXRDbW9uZXljb210d0NvcHlyaWdodERhdGE6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW24uZSg1OTk0MSksbi5lKDY0NDUpLG4uZSg3MTM5NCldKS50aGVuKG4uYmluZChuLDc3Nzc2OSkpO3JldHVybiBlKHQscil9aWYoIm5ldyI9PT1pKXtjb25zdHtnZXRUcmFkaW5nVmlld0NvcHlyaWdodERhdGE6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW24uZSg5Nzc5Nyksbi5lKDc2MDQwKV0pLnRoZW4obi5iaW5kKG4sOTgxMTU3KSk7cmV0dXJuIGUodCxyKX1pZigid2l0aF9ib3JkZXIiPT09aSl7CmNvbnN0e2dldFRyYWRpbmdWaWV3Q29weXJpZ2h0RGF0YTplfT1hd2FpdCBQcm9taXNlLmFsbChbbi5lKDUzNTIxKSxuLmUoMTY4MTMpXSkudGhlbihuLmJpbmQobiw4NTI2NjkpKTtyZXR1cm4gZSh0LHIpfWlmKCJsYXJnZV90cmFkZSI9PT1pKXtjb25zdHtnZXRUcmFkaW5nVmlld0NvcHlyaWdodERhdGE6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW24uZSg3NDAxMSksbi5lKDc5MDQxKV0pLnRoZW4obi5iaW5kKG4sNDkzNTU5KSk7cmV0dXJuIGUodCxyKX17Y29uc3R7Z2V0VHJhZGluZ1ZpZXdDb3B5cmlnaHREYXRhOmV9PWF3YWl0IFByb21pc2UuYWxsKFtuLmUoNTk5NDEpLG4uZSg5NzUwOSldKS50aGVuKG4uYmluZChuLDcwNTc5MCkpO3JldHVybiBlKHQscil9fW4uZCh0LHthZGRVdG1DYW1wYWlnblNvdXJjZTooKT0+cixnZXRDdXN0b21lckNvcHlyaWdodERhdGE6KCk9Pml9KX0sNzQ4MDAyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2dldFdpZGdldFNoZXJpZmZBY3Rpb25zOigpPT5sfSk7dmFyIHI9bigyMjEwNjEpLGk9bigzODQwMTcpLG89big1Mjg4NjQpO2NvbnN0IHM9d2luZG93LldJREdFVF9TSEVSSUZGX0hPU1R8fCJodHRwczovL3dpZGdldC1zaGVyaWZmLnhzdGFnaW5nLXdpZGdldC50diIsYT0oMCxyLmdldExvZ2dlcikoIldpZGdldFNoZXJpZmYuV2lkZ2V0Iik7bGV0IGM9bnVsbDthc3luYyBmdW5jdGlvbiBsKCl7cmV0dXJuIG51bGw9PT1jJiYoYz1hd2FpdCBhc3luYyBmdW5jdGlvbigpe2NvbnN0IGU9ZnVuY3Rpb24oKXtpZihkb2N1bWVudC5sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnMmJmRvY3VtZW50LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucy5sZW5ndGgpcmV0dXJuIGRvY3VtZW50LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2luc1tkb2N1bWVudC5sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnMubGVuZ3RoLTFdO3RyeXtyZXR1cm4gbmV3IFVSTChkb2N1bWVudC5yZWZlcnJlcikub3JpZ2lufWNhdGNoKGUpe3JldHVybiBkb2N1bWVudC5sb2NhdGlvbi5vcmlnaW58fG51bGx9fSgpO2lmKG51bGw9PT1lKXJldHVybiBhLmxvZ1dhcm4oImFuY2VzdG9yT3JpZ2luIGlzIHVuZGVmaW5lZCIpLFByb21pc2UucmVzb2x2ZShbXSk7Y29uc3QgdD1uZXcgVVJMKCIvc2hlcmlmZi9hcGkvdjEvcnVsZXMvc2VhcmNoIixzKTt0LnNlYXJjaFBhcmFtcy5hcHBlbmQoIm9yaWdpbiIsZSk7cmV0dXJuKGF3YWl0KDAsaS5mZXRjaCkodC50b0pTT04oKSkudGhlbigoZT0+e2lmKCFlLm9rKXRocm93IG5ldyBFcnJvcigiR3VhcmQgcmVxdWVzdCBlcnJvciBvY2N1cmVkIik7cmV0dXJuIDIwND09PWUuc3RhdHVzP1Byb21pc2UucmVzb2x2ZSh7YWN0aW9uczpbXX0pOmUuanNvbigpfSkpLmNhdGNoKChlPT4oYS5sb2dXYXJuKGUubWVzc2FnZSksUHJvbWlzZS5yZXNvbHZlKHthY3Rpb25zOltdfSkpKSkpLmFjdGlvbnMuZmlsdGVyKChlPT5vLndpZGdldFNoZXJpZmZBY3Rpb25zLmhhcyhlKSkpfSgpKSxQcm9taXNlLnJlc29sdmUoYyl9fSw1Mjg4NjQoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcjtuLmQodCx7S25vd25BY3Rpb246KCk9PnIsd2lkZ2V0U2hlcmlmZkFjdGlvbnM6KCk9Pml9KSxmdW5jdGlvbihlKXtlLkV4cGFuZD0iZXhwYW5kLWxvZ28iLGUuTGFyZ2VUcmFkZUxvZ289ImxhcmdlLXRyYWRlLWxvZ28ifShyfHwocj17fSkpO2NvbnN0IGk9bmV3IFNldChbci5FeHBhbmQsci5MYXJnZVRyYWRlTG9nb10pfSw0NzkzNChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtlbmFibGVkOigpPT5jLGdldENvbmZpZzooKT0+dSxnZXRQcm9kdWN0SWQ6KCk9PmF9KTt2YXIgcj1uKDUwMjU4NyksaT1uKDEyNzcxMSksbz1uKDMxODk3NCkscz1uKDIxMjIyOSk7ZnVuY3Rpb24gYShlKXtsZXQgdD13aW5kb3cudXNlcjsidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmd2luZG93LnVzZXImJih0PXdpbmRvdy51c2VyKSxlJiYodD1lKTtsZXQgbj10Py5wcm9fcGxhbnx8ImZyZWUiO3JldHVybiJmcmVlIiE9PW4mJiEoMCxzLmlzVHJpYWxQcm9kdWN0KShuKXx8KG49KDAscy5nZXRQcm9kdWN0Rm9yVHJpYWwpKG4pKSxufWZ1bmN0aW9uIGMoZSx0LG4pe2xldCByPXdpbmRvdy51c2VyO24mJihyPW4pO2NvbnN0IGk9dShlLHQscik7aWYoIWkpcmV0dXJuITE7aWYoaS5kaXNhYmxlX29uX3RyaWFsJiYoIXJ8fHIuaXNfdHJpYWwpKXJldHVybiExO2NvbnN0IHM9aS5kaXNhYmxlX29uX2xpdGVfcGxhbjtpZihzJiZyLmlzX2xpdGVfcGxhbil7aWYoImFsbCI9PT1zKXJldHVybiExO2lmKCJleGNsdWRlX21vYmlsZSI9PT1zJiYhby5DaGVja01vYmlsZS5hbnkoKSlyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiBsKGUpe2NvbnN0IHQ9cltlXTtyZXR1cm4gdD90LmV4dGVuZHM/T2JqZWN0LmFzc2lnbih7fSxsKHQuZXh0ZW5kcyksdCk6dDpudWxsfWZ1bmN0aW9uIHUoZSx0LG4pe2xldCByPWwodHx8KGEobik/PyIiKSk7aWYoIXIpcmV0dXJuIG51bGw7Y29uc3Qgbz13aW5kb3cuVHJhZGluZ1ZpZXc/LndpZGdldEN1c3RvbWVyO3JldHVybiBvJiZpW29dJiYocj1PYmplY3QuYXNzaWduKHt9LHIsaVtvXSkpLHImJnJbZV18fG51bGx9fSw0Mjk2NihlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KTt2YXIgcj1uKDg1NjMyNCksaT1uKDk2MzA5OCk7KDAsci5yZWdpc3Rlckxhbmd1YWdlR2V0dGVyKSgoKCk9PndpbmRvdy5sYW5ndWFnZXx8IiIpKSwoMCxyLnJlZ2lzdGVyTGFuZ3VhZ2VDb2RlTWFwcGVyKShpLmdldElzb0xhbmd1YWdlQ29kZUZyb21MYW5ndWFnZSl9LDYzMTYzNChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnZXRGcmVzaEluaXREYXRhOigpPT5zLGdldEluaXREYXRhOigpPT5vLHVwZGF0ZUluaXREYXRhOigpPT5pfSk7dmFyIHI9big3OTI2MTIpO2Z1bmN0aW9uIGkoKXsoMCxyLnVwZGF0ZUluaXREYXRhKSgpfWZ1bmN0aW9uIG8oKXtyZXR1cm4oMCxyLmdldEluaXREYXRhKSgpfWZ1bmN0aW9uIHMoKXtyZXR1cm4oMCxyLmdldEZyZXNoSW5pdERhdGEpKCl9fSw4NjIyMTMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7TG9nb1NpemU6KCk9PnIuTG9nb1NpemUsZ2V0TG9nb1VybFJlc29sdmVyOigpPT51fSkKO3ZhciByPW4oNjIwMzU0KSxpPW4oMTM4NjM4KSxvPW4oNjMxNjM0KSxzPW4oODEwNDEpO2NvbnN0IGE9KDAsbigyMjEwNjEpLmdldExvZ2dlcikoIkxvZ29VcmxSZXNvbHZlciIpO2NsYXNzIGN7Y29uc3RydWN0b3IoZSl7KDAsaS5hc3NlcnQpKCIiIT09ZSwiUzMgYmFzZSB1cmwgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmciKSx0aGlzLl9iYXNlVXJsPWV9Z2V0U3ltYm9sTG9nb1VybChlLHQpe2lmKCIiPT09ZSlyZXR1cm4gYS5sb2dXYXJuKCJsb2dvIGlkIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nIiksIiI7c3dpdGNoKHQpe2Nhc2Ugci5Mb2dvU2l6ZS5NZWRpdW06cmV0dXJuIHRoaXMuX2Jhc2VVcmwrYCR7ZX0uc3ZnYDtjYXNlIHIuTG9nb1NpemUuTGFyZ2U6cmV0dXJuIHRoaXMuX2Jhc2VVcmwrYCR7ZX0tLWJpZy5zdmdgfX1nZXRDb3VudHJ5RmxhZ1VybChlLHQpe3JldHVybiB0aGlzLmdldFN5bWJvbExvZ29VcmwoImNvdW50cnkvIitlLHQpfWdldFByb3ZpZGVyTG9nb1VybChlLHQpe3JldHVybiB0aGlzLmdldFN5bWJvbExvZ29VcmwoInByb3ZpZGVyLyIrZSx0KX1nZXRTb3VyY2VMb2dvVXJsKGUsdCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybCgic291cmNlLyIrZSx0KX1nZXRCbG9ja2NoYWluQ29udHJhY3RMb2dvVXJsKGUsdCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybCgiYmxvY2tjaGFpbi8iK2UsdCl9Z2V0Q2FuZGxlc3RpY2tQYXR0ZXJuTG9nb1VybChlLHQ9cy5TdGRUaGVtZS5MaWdodCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybChgY2FuZGxlcGF0dGVybi8ke2V9LSR7dH1gLHIuTG9nb1NpemUuTWVkaXVtKX19bGV0IGw7ZnVuY3Rpb24gdSgpe3JldHVybiBmdW5jdGlvbigpe2lmKCFsKXtjb25zdCBlPSgwLG8uZ2V0SW5pdERhdGEpKCksdD1lLnNldHRpbmdzP2Uuc2V0dGluZ3MuUzNfTE9HT19TRVJWSUNFX0JBU0VfVVJMOiIiO2w9bmV3IGModCl9cmV0dXJuIGx9KCl9fSw0MDAxODEoZSx0LG4peyJ1c2Ugc3RyaWN0Ijthc3luYyBmdW5jdGlvbiByKCl7Y29uc3R7Z2V0VHJhY2tlckluc3RhbmNlOmV9PWF3YWl0IFByb21pc2UuYWxsKFtuLmUoNzA2NDQpLG4uZSg5NTIwNyldKS50aGVuKG4uYmluZChuLDQ3NzE1MCkpO3JldHVybiBlKCl9bi5kKHQse2dldFRyYWNrZXI6KCk9PnJ9KX0sMTU2ODI5KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlKXtyZXR1cm4gdm9pZCAwIT09ZSYmZS5pbmNsdWRlcygiY3J5cHRvIil9ZnVuY3Rpb24gaShlKXtyZXR1cm4iYm9uZCI9PT1lfWZ1bmN0aW9uIG8oZSl7cmV0dXJuImVjb25vbWljIj09PWV9ZnVuY3Rpb24gcyhlKXtyZXR1cm4iZnV0dXJlcyI9PT1lfW4uZCh0LHtoYXNDcnlwdG9UeXBlc3BlYzooKT0+cixpc0JvbmQ6KCk9PmksaXNFY29ub21pY1N5bWJvbDooKT0+byxpc0Z1dHVyZXM6KCk9PnN9KX0sODUxNDU4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3Rva2VuaXplOigpPT5jfSk7dmFyIHIsaT1uKDkwMTAyMiksbz1uKDU2OTM5OCk7IWZ1bmN0aW9uKGUpe2UuU3ltYm9sPSJzeW1ib2wiLGUuSW5jb21wbGV0ZVN5bWJvbD0iaW5jb21wbGV0ZVN5bWJvbCIsZS5OdW1iZXI9Im51bWJlciIsZS5JbmNvbXBsZXRlTnVtYmVyPSJpbmNvbXBsZXRlTnVtYmVyIixlLlNlcGFyYXRvclByZWZpeD0ic2VwYXJhdG9yUHJlZml4IixlLk9wZW5CcmFjZT0ib3BlbkJyYWNlIixlLkNsb3NlQnJhY2U9ImNsb3NlQnJhY2UiLGUuUGx1cz0icGx1cyIsZS5NaW51cz0ibWludXMiLGUuTXVsdGlwbHk9Im11bHRpcGx5IixlLkRpdmlkZT0iZGl2aWRlIixlLlBvd2VyPSJwb3dlciIsZS5XaGl0ZXNwYWNlPSJ3aGl0ZXNwYWNlIixlLlVucGFyc2VkPSJ1bnBhcnNlZCJ9KHJ8fChyPXt9KSk7Y29uc3Qgcz0vKD86W14tK1wvKl5cc10nfFthLXpBLVowLTlfXHUwMzcwLVx1MUZGRl9cdTJFODAtXHVGRkZGXSkoPzpbXi0rXC8qXlxzXSd8W2EtekEtWjAtOV9cdTAwMjBcdTAzNzAtXHUxRkZGX1x1MkU4MC1cdUZGRkZfIXw6LiZdKSp8Jy4rPycvLGE9KGU9KDAsby5pc0ZlYXR1cmVFbmFibGVkKSgiYWxsb3dfdHJhaWxpbmdfd2hpdGVzcGFjZV9pbl9udW1iZXJfdG9rZW4iKSk9Pih7bnVtYmVyOmU/L1xkKyg/OlwuXGQqfCg/IVthLXpBLVowLTlfITouJl0pKSg/OlxzKig/PVxzKiQpKT98XC5cZCsoPzpccyooPz1ccyokKSk/LzovXGQrKD86XC5cZCp8KD8hW2EtekEtWjAtOV8hOi4mXSkpfFwuXGQrLyxpbmNvbXBsZXRlTnVtYmVyOi9cLi8sc3ltYm9sOnMsaW5jb21wbGV0ZVN5bWJvbDovJ1teJ10qLyxzZXBhcmF0b3JQcmVmaXg6aS5TRVBBUkFUT1JfUFJFRklYLG9wZW5CcmFjZToiKCIsY2xvc2VCcmFjZToiKSIscGx1czoiKyIsbWludXM6Ii0iLG11bHRpcGx5OiIqIixkaXZpZGU6Ii8iLHBvd2VyOiJeIix3aGl0ZXNwYWNlOi9bXDAtXHgyMFxzXSsvLHVucGFyc2VkOm51bGx9KTtmdW5jdGlvbiBjKGUsdD1hKCkpe2lmKCFlKXJldHVybltdO2NvbnN0IG49W10scj1PYmplY3Qua2V5cyh0KTtsZXQgaTtjb25zdCBvPSgoZT1hKCkpPT5uZXcgUmVnRXhwKE9iamVjdC52YWx1ZXMoZSkubWFwKChlPT57cmV0dXJuIG51bGw9PT1lPyIiOmAoJHsic3RyaW5nIj09dHlwZW9mIGU/KHQ9ZSx0LnJlcGxhY2UoL1tcXiQoKVtcXXt9Kis/fFxcXS9nLCJcXCQmIikpOmUuc291cmNlfSlgO3ZhciB0fSkpLmZpbHRlcigoZT0+IiIhPT1lKSkuY29uY2F0KCIuIikuam9pbigifCIpLCJnIikpKHQpO2Zvcig7aT1vLmV4ZWMoZSk7KXtsZXQgZT0hMTtmb3IobGV0IHQ9ci5sZW5ndGg7dC0tOylpZihpW3QrMV0pe3JbdF0mJm4ucHVzaCh7dmFsdWU6aVt0KzFdLHR5cGU6clt0XSxwcmVjZWRlbmNlOjAsb2Zmc2V0OmkuaW5kZXh9KSxlPSEwO2JyZWFrfWV8fG4ucHVzaCh7dmFsdWU6aVswXSx0eXBlOiJ1bnBhcnNlZCIscHJlY2VkZW5jZTowLG9mZnNldDppLmluZGV4fSl9cmV0dXJuIG59fSw3OTUzODMoZSx0LG4pe24oMzYzMjY5KS5zZXRDbGFzc2VzKCksbig0Mjk2Niksbig2MTAyNjgpO3ZhciByPW4oNzQ5NjQ4KS53aGVuRG9jdW1lbnRSZWFkeSxpPW4oOTMxMTk4KS5oYW5kbGVUVkxpbmtzQ2xpY2s7cigoKCk9PntpKCl9KSl9LAo3OTgzOChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtTVFlMRV9TSE9SVF9OQU1FUzooKT0+cyxTWU1CT0xfU1RSSU5HX0RBVEE6KCk9PmwsaXNDaGFydFN0eWxlU3R1ZHlJbmZvQ29tcGxleDooKT0+YX0pO24oNTgwMzcpO3ZhciByPW4oNzI4NDM2KSxpPW4oNzc3NjYxKSxvPW4oNTUwMzkzKTtuZXcgU2V0KFszLDYsNyw4LDksMTFdKSxuZXcgU2V0KFsxLDJdKTtjb25zdCBzPXswOiJiYXIiLDE6ImNhbmRsZSIsOToiaG9sbG93Q2FuZGxlIiwyOiJsaW5lIiwxNDoibGluZVdpdGhNYXJrZXJzIiwxNToic3RlcGxpbmUiLDM6ImFyZWEiLDE2OiJobGNBcmVhIiw0OiJyZW5rbyIsNzoicGIiLDU6ImthZ2kiLDY6InBuZiIsODoiaGEiLDEwOiJiYXNlbGluZSIsMTE6InJhbmdlIiwxMjoiaGlsbyIsMTM6ImNvbHVtbiIsMTc6InZvbEZvb3RwcmludCIsMTg6InRwbyIsMTk6InZvbENhbmRsZXMiLDIwOiJzdnAiLDIxOiJobGNCYXJzIn07ZnVuY3Rpb24gYShlKXtyZXR1cm4idmFyaWFudHMiaW4gZX1jb25zdCBjPVt7dHlwZTppLnN0dWR5VHBvUHJlcmlvZGljSWQsYmFzaWNTdHVkeVZlcnNpb246MTA0fSx7dHlwZTppLnN0dWR5VHBvU2Vzc2lvbnNJZCxiYXNpY1N0dWR5VmVyc2lvbjoxMDR9XSxsPXs0Ont0eXBlOiJCYXJTZXRSZW5rb0B0di1wcm9zdHVkaWVzIixiYXNpY1N0dWR5VmVyc2lvbjo3M30sNzp7dHlwZToiQmFyU2V0UHJpY2VCcmVha0B0di1wcm9zdHVkaWVzIixiYXNpY1N0dWR5VmVyc2lvbjozNH0sNTp7dHlwZToiQmFyU2V0S2FnaUB0di1wcm9zdHVkaWVzIixiYXNpY1N0dWR5VmVyc2lvbjo3M30sNjp7dHlwZToiQmFyU2V0UG5GQHR2LXByb3N0dWRpZXMiLGJhc2ljU3R1ZHlWZXJzaW9uOjczfSw4Ont0eXBlOiJCYXJTZXRIZWlrZW5Bc2hpQHR2LWJhc2ljc3R1ZGllcyIsYmFzaWNTdHVkeVZlcnNpb246NjB9LDExOnt0eXBlOiJCYXJTZXRSYW5nZUB0di1iYXNpY3N0dWRpZXMiLGJhc2ljU3R1ZHlWZXJzaW9uOjcyfSwxNzp7dHlwZTpyLnN0dWR5Vm9sRm9vdHByaW50SWQsYmFzaWNTdHVkeVZlcnNpb246MTA0fSwxODp7dmFyaWFudHM6YyxzZWxlY3RvcjplPT57Y29uc3QgdD1lO3JldHVybiJEYXkiPT09dC5wZXJpb2QmJjE9PT10LnBlcmlvZHNOdW0/Y1sxXTpjWzBdfX0sMjA6e3R5cGU6by5zdHVkeVZiUFNlc3Npb25zSWQsYmFzaWNTdHVkeVZlcnNpb246MTI2fX19LDYxMDI2OChlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KSwoMCxuKDExNTI5Mykuc2V0RG9jdW1lbnREaXJHZXR0ZXIpKCgoKT0+d2luZG93LmRvY3VtZW50LmRpcikpfSw5NjM5MDAoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcjshZnVuY3Rpb24oZSl7ZS5FbXB0eT0iIixlLlRlY2huaWNhbHNQYXRoPSJ0ZWNobmljYWxzLyIsZS5GaW5hbmNpYWxzT3ZlcnZpZXdQYXRoPSJmaW5hbmNpYWxzLW92ZXJ2aWV3LyIsZS5UaW1lbGluZVBhdGg9Imhpc3RvcnktdGltZWxpbmUvIixlLk5ld3NQYXRoPSJuZXdzLyIsZS5PcHRpb25zUGF0aD0ib3B0aW9ucy8iLGUuUHJvZmlsZVBhdGg9InByb2ZpbGUvIixlLkhvbGRpbmdzUGF0aD0iaG9sZGluZ3MvIn0ocnx8KHI9e30pKX0sMjEyMjI5KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NVU1RPTV9TVUZGSVg6KCk9PmEsRUFfU1VGRklYOigpPT5zLFRSSUFMX1NVRkZJWDooKT0+byxiaWxsaW5nQ3ljbGVUb01vbnRoOigpPT52LGJpbGxpbmdDeWNsZVRvVGltZVVuaXQ6KCk9PmMsY291bnREaXNjb3VudEJ5QmlsbGluZ0N5Y2xlOigpPT55LGdldERpc2NvdW50UHJvZHVjdElkOigpPT5nLGdldFBsYW5OYW1lOigpPT54LGdldFByb2R1Y3RGb3JUcmlhbDooKT0+cCxnZXRSZWFkYWJsZUN5Y2xlOigpPT5sLGdldFJlYWRhYmxlTnVtZXJpY0N5Y2xlOigpPT51LGdldFJlbGF0aXZlQW1vdW50T2ZEYXlzRnJvbUJpbGxpbmdDeWNsZTooKT0+aCxodW1hbml6ZUNhcmRQbGFuOigpPT5tLGh1bWFuaXplUHJvUGxhbjooKT0+Zixpc1RyaWFsUHJvZHVjdDooKT0+ZCxyb3VuZDA6KCk9PmIscm91bmQyOigpPT53LHJvdW5kMm9yMDooKT0+X30pO24oODI5MTgwKTt2YXIgcj1uKDE4NTI3MSksaT1uKDg2NDAzNCk7Y29uc3Qgbz0iX3RyaWFsIixzPSJfZGlzY291bnQiLGE9Il9jdXN0b20iO2Z1bmN0aW9uIGMoZSl7cmV0dXJue3k6ci50KG51bGwse3BsdXJhbDoieWVhcnMiLGNvdW50OjF9LG4oNDQyNjY2KSksbTpyLnQobnVsbCx7cGx1cmFsOiJtb250aHMiLGNvdW50OjF9LG4oMzIzNDg1KSksIjNtIjpyLnQobnVsbCx2b2lkIDAsbig4NjM4NTIpKX1bZV18fCIifWZ1bmN0aW9uIGwoZSl7cmV0dXJue206ci50KG51bGwsdm9pZCAwLG4oNTU2NTY4KSkseTpyLnQobnVsbCx2b2lkIDAsbig3MjExMTgpKSwiM20iOnIudChudWxsLHZvaWQgMCxuKDMyODAzMCkpfVtlXXx8IiJ9ZnVuY3Rpb24gdShlKXtyZXR1cm57W2kuQmlsbGluZ0N5Y2xlLk1vbnRobHldOnIudChudWxsLHZvaWQgMCxuKDU1NjU2OCkpLFtpLkJpbGxpbmdDeWNsZS5PbmVZZWFyXTpyLnQobnVsbCx2b2lkIDAsbigxMTE5NzYpKSxbaS5CaWxsaW5nQ3ljbGUuVGhyZWVNb250aHNdOnIudChudWxsLHZvaWQgMCxuKDMyODAzMCkpfVtlXXx8IiJ9ZnVuY3Rpb24gZChlKXtyZXR1cm4gbmV3IFJlZ0V4cChvKyIkIikudGVzdChlKX1mdW5jdGlvbiBwKGUpe3JldHVybiBlLnNwbGl0KG8pWzBdfWZ1bmN0aW9uIGcoZSx0LG4pe3JldHVybmAke2V9XyR7dH0ke259YH1mdW5jdGlvbiBmKGUsdCl7bGV0IGk9ZTtzd2l0Y2goZSl7Y2FzZSJmcmVlIjppPSJCYXNpYyI7YnJlYWs7Y2FzZSJwcm8iOmk9IkVzc2VudGlhbCI7YnJlYWs7Y2FzZSJwcm9fcmVhbHRpbWUiOmk9IlBsdXMiO2JyZWFrO2Nhc2UicHJvX3ByZW1pdW0iOmk9IlByZW1pdW0iO2JyZWFrO2Nhc2UicHJvX2V4cGVydCI6aT0iRXhwZXJ0IjticmVhaztjYXNlInByb19wcmVtaXVtX2V4cGVydCI6aT0iVWx0aW1hdGUifXJldHVybiB0JiYoaSs9IiAiK3IudChudWxsLHZvaWQgMCxuKDgzNTgpKSksaX1mdW5jdGlvbiBtKGUpe2xldCB0PWU7c3dpdGNoKGUpe2Nhc2UicHJvIjp0PSJFc3NlbnRpYWwiO2JyZWFrO2Nhc2UicHJvX3JlYWx0aW1lIjp0PSJQbHVzIjticmVhawo7Y2FzZSJwcm9fcHJlbWl1bSI6dD0iUHJlbWl1bSI7YnJlYWs7Y2FzZSJwcm9fZXhwZXJ0Ijp0PSJFeHBlcnQiO2JyZWFrO2Nhc2UicHJvX3ByZW1pdW1fZXhwZXJ0Ijp0PSJVbHRpbWF0ZSI7YnJlYWs7Y2FzZSJmcmVlIjp0PSJCYXNpYyJ9cmV0dXJuIHR9ZnVuY3Rpb24gaChlLHQpe2NvbnN0IG49dHx8bmV3IERhdGUscj12KGUpLGk9bi5nZXRNb250aCgpK3Isbz1uZXcgRGF0ZShuZXcgRGF0ZShuKS5zZXRNb250aChpKSk7cmV0dXJuIG8uZ2V0TW9udGgoKT5pJTEyJiZvLnNldERhdGUoMCksZnVuY3Rpb24oZSx0KXtjb25zdCBuPXQuZ2V0VGltZSgpLWUuZ2V0VGltZSgpO3JldHVybiBNYXRoLnJvdW5kKG4vMWUzLzYwLzYwLzI0KX0obixvKX1mdW5jdGlvbiB5KGUsdCxuKXtyZXR1cm4gTWF0aC5yb3VuZCgodC1lKSp2KG4pKX1mdW5jdGlvbiB2KGUpe3N3aXRjaChlKXtjYXNlIGkuQmlsbGluZ0N5Y2xlLk9uZVllYXI6cmV0dXJuIDEyO2Nhc2UgaS5CaWxsaW5nQ3ljbGUuVGhyZWVNb250aHM6cmV0dXJuIDM7ZGVmYXVsdDpyZXR1cm4gMX19ZnVuY3Rpb24gdyhlKXtyZXR1cm4oTWF0aC5yb3VuZCgxMDAqZSkvMTAwKS50b0ZpeGVkKDIpfWZ1bmN0aW9uIGIoZSl7Y29uc3QgdD1NYXRoLnJvdW5kKDEwMCplKS8xMDA7cmV0dXJuIE1hdGgucm91bmQodCkudG9GaXhlZCgwKX1mdW5jdGlvbiBfKGUpe2NvbnN0IHQ9TWF0aC5yb3VuZCgxMDAqZSkvMTAwLG49TWF0aC5yb3VuZCh0KTtyZXR1cm4gTWF0aC5hYnModC1uKT4wP3QudG9GaXhlZCgyKTpuLnRvRml4ZWQoMCl9ZnVuY3Rpb24geChlKXtjb25zdCB0PXIudChudWxsLHZvaWQgMCxuKDE1Mzc2NikpO2lmKGQoZSkpe2NvbnN0IG49ZihwKGUpKTtyZXR1cm4gdC5mb3JtYXQoe3Byb1BsYW5OYW1lOm59KX1yZXR1cm4gZihlKX19LDQ0MzU1NyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtwYXJzZUh0bWw6KCk9Pm8scGFyc2VIdG1sRWxlbWVudDooKT0+c30pO2NvbnN0IHI9bmV3IFdlYWtNYXA7dmFyIGk7ZnVuY3Rpb24gbyhlLHQpe2xldCBuLGk7cmV0dXJuIG49bnVsbD09dD9kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ6OT09PXQubm9kZVR5cGU/dC5kb2N1bWVudEVsZW1lbnQ6dCxyJiYoaT1yLmdldChuKSksaXx8KGk9bi5vd25lckRvY3VtZW50LmNyZWF0ZVJhbmdlKCksaS5zZWxlY3ROb2RlQ29udGVudHMobiksciYmci5zZXQobixpKSksaS5jcmVhdGVDb250ZXh0dWFsRnJhZ21lbnQoZSl9ZnVuY3Rpb24gcyhlLHQpe2NvbnN0IG49byhlLHQpLHI9bi5maXJzdEVsZW1lbnRDaGlsZDtyZXR1cm4gbnVsbCE9PXImJm4ucmVtb3ZlQ2hpbGQocikscn0hZnVuY3Rpb24oZSl7ZVtlLkVsZW1lbnQ9MV09IkVsZW1lbnQiLGVbZS5Eb2N1bWVudD05XT0iRG9jdW1lbnQifShpfHwoaT17fSkpfSw5MzExOTgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7aGFuZGxlVFZMaW5rc0NsaWNrOigpPT5hfSk7dmFyIHI9big0MDAxODEpLGk9big2MDE1ODcpLG89big3MzA2NDUpO2NvbnN0IHM9ImlnbHU6Y29tLnRyYWRpbmd2aWV3L3dpZGdldF90dl9saW5rX2NsaWNrL2pzb25zY2hlbWEvMS0wLTAiO2Z1bmN0aW9uIGEoKXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKGU9Pntjb25zdCB0PWUudGFyZ2V0LmNsb3Nlc3QoIjpsaW5rIik7dD8uaG9zdG5hbWUmJigwLG8uaXNJbnRlcm5hbEhvc3QpKHQuaG9zdG5hbWUsInRyYWRpbmd2aWV3LmNvbSIpJiZhc3luYyBmdW5jdGlvbihlLHQpe2NvbnN0IG49ZnVuY3Rpb24oKXtjb25zdCBlPXdpbmRvdy5pbml0RGF0YS5oYXNoU2V0dGluZ3M7aWYoT2JqZWN0LmtleXMoZSkubGVuZ3RoPjApcmV0dXJuKDAsaS5maWx0ZXJVdG1JbmZvKShlKTtjb25zdCB0PW5ldyBVUkxTZWFyY2hQYXJhbXMobG9jYXRpb24uaHJlZik7cmV0dXJue3V0bV9jYW1wYWlnbjp0LmdldCgidXRtX2NhbXBhaWduIil8fHZvaWQgMCx1dG1fc291cmNlOnQuZ2V0KCJ1dG1fc291cmNlIil8fHZvaWQgMH19KCk7KGF3YWl0KDAsci5nZXRUcmFja2VyKSgpKT8udHJhY2tTZWxmRGVzYyhzLHt3aWRnZXRfdHlwZTpsKG4pLGRvbWFpbjpjKG4pLGxpbms6ZSx0YXJnZXRfdHlwZTp0fSl9KHQuaHJlZix0LmRhdGFzZXQudGFyZ2V0VHlwZXx8bnVsbCl9KSl9ZnVuY3Rpb24gYyhlKXtjb25zdCB0PWxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucz8uWzBdfHxkb2N1bWVudC5yZWZlcnJlcjtyZXR1cm4gZS51dG1fc291cmNlfHxmdW5jdGlvbihlKXt0cnl7cmV0dXJuIG5ldyBVUkwoZSkuaG9zdH1jYXRjaChlKXtyZXR1cm4iIn19KHQpfWZ1bmN0aW9uIGwoZSl7aWYoZS51dG1fY2FtcGFpZ24pcmV0dXJuIGUudXRtX2NhbXBhaWduO2NvbnN0IHQ9bG9jYXRpb24ucGF0aG5hbWU7cmV0dXJuIHQuaW5jbHVkZXMoImVtYmVkLXdpZGdldCIpP3Quc3BsaXQoIi8iKVsyXTp0fX0sMzg5Mjk4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3RyYWNrV2lkZ2V0TG9hZE1ldGFJbmZvOigpPT5pfSk7dmFyIHI9big0MDAxODEpO2FzeW5jIGZ1bmN0aW9uIGkoZSl7TWF0aC5yYW5kb20oKT4uMDA1fHwoYXdhaXQoMCxyLmdldFRyYWNrZXIpKCkpPy50cmFja1NlbGZEZXNjKCJpZ2x1OmNvbS50cmFkaW5ndmlldy93aWRnZXRfbG9hZF9tZXRhX2luZm8vanNvbnNjaGVtYS8xLTAtMCIsZSl9fSw5MDIxMDAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZXh0cmFjdFdpZGdldFNldHRpbmdzOigpPT5pfSk7Y29uc3Qgcj17d2hpdGVsYWJlbDohMCxwZXJtaXNzaW9uT3ZlcnJpZGVzOiEwLGxpbmtDYXB0dXJpbmdBbGxvd2VkOiEwLHN5bWJvbF9zZWFyY2hfZGVmYXVsdF9leGNoYW5nZTohMCxzeW1ib2xfc2VhcmNoX2FsbG93ZWRfZXhjaGFuZ2VzOiEwfTtmdW5jdGlvbiBpKGUsdD1bXSxuKXtyZXR1cm4gZnVuY3Rpb24oZSx0LG4saT1bXSxvKXtjb25zdCBzPW4uc2xpY2UoMSksYT1kZWNvZGVVUklDb21wb25lbnQocyk7bGV0IGM9e307dHJ5eyIiIT09YSYmKGM9SlNPTi5wYXJzZShhKSx2b2lkIDAhPT1vJiZvKGUsYyksT2JqZWN0LmtleXMoYykuZm9yRWFjaCgoZT0+eyhyW2VdfHxpLmluY2x1ZGVzKGUpKSYmZGVsZXRlIGNbZV19KSkpfWNhdGNoKGUpe2M9e30sCmNvbnNvbGUud2FybigiSGFzaCBwYXJhbXMgcGFyc2luZyBlcnJvciEgSGFzaCBwYXJhbXMgaWdub3JlZC4iKX1jb25zdCBsPXQuc2xpY2UoMSksdT10LmluY2x1ZGVzKCIlIik/ZGVjb2RlVVJJQ29tcG9uZW50KGwpOnQsZD1uZXcgVVJMU2VhcmNoUGFyYW1zKHUpO2xldCBwPXt9O3RyeXtkLmZvckVhY2goKChlLHQpPT57aS5pbmNsdWRlcyh0KXx8KHBbdF09ZSl9KSksdm9pZCAwIT09byYmbyhlLHApfWNhdGNoKGUpe3A9e30sY29uc29sZS53YXJuKCJTZWFyY2ggcXVlcnkgcGFyYW1zIHBhcnNpbmcgZXJyb3IhIFNlYXJjaCBxdWVyeSBwYXJhbXMgaWdub3JlZC4iKX1yZXR1cm4gT2JqZWN0LmFzc2lnbih7fSxlLGMscCl9KGUsbG9jYXRpb24uc2VhcmNoLGxvY2F0aW9uLmhhc2gsdCxuKX19LDI1NDY3MyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtJbnRlcnZhbDooKT0+dSxSZXNvbHV0aW9uS2luZDooKT0+byxTcGVjaWFsUmVzb2x1dGlvbktpbmQ6KCk9PnN9KTtjb25zdCByPS9eKFxkKikoW1RTSERXTVJdKSQvLGk9L14oXGQrKSQvO3ZhciBvLHM7IWZ1bmN0aW9uKGUpe2UuVGlja3M9InRpY2tzIixlLlNlY29uZHM9InNlY29uZHMiLGUuTWludXRlcz0ibWludXRlcyIsZS5EYXlzPSJkYXlzIixlLldlZWtzPSJ3ZWVrcyIsZS5Nb250aHM9Im1vbnRocyIsZS5SYW5nZT0icmFuZ2UiLGUuSW52YWxpZD0iaW52YWxpZCJ9KG98fChvPXt9KSksZnVuY3Rpb24oZSl7ZS5Ib3Vycz0iaG91cnMifShzfHwocz17fSkpO2NvbnN0IGE9e307YVtvLlRpY2tzXT0xZTMsYVtvLlNlY29uZHNdPTFlMyxhW28uTWludXRlc109NjAqYVtvLlNlY29uZHNdLGFbby5EYXlzXT0xNDQwKmFbby5NaW51dGVzXSxhW28uV2Vla3NdPTcqYVtvLkRheXNdO2NvbnN0IGM9e1Q6by5UaWNrcyxTOm8uU2Vjb25kcyxEOm8uRGF5cyxXOm8uV2Vla3MsTTpvLk1vbnRocyxSOm8uUmFuZ2V9LGw9bmV3IFNldChbby5UaWNrcyxvLlNlY29uZHMsby5NaW51dGVzXSk7Y2xhc3MgdXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2tpbmQ9by5JbnZhbGlkLHRoaXMuX211bHRpcGxpZXI9MCxlIT09by5JbnZhbGlkJiZ0PjAmJih0aGlzLl9raW5kPWUsdGhpcy5fbXVsdGlwbGllcj10KX1raW5kKCl7cmV0dXJuIHRoaXMuX2tpbmR9Z3VpS2luZCgpe3JldHVybiB0aGlzLmlzTWludXRlSG91cnMoKT9zLkhvdXJzOnRoaXMuX2tpbmR9bXVsdGlwbGllcigpe3JldHVybiB0aGlzLl9tdWx0aXBsaWVyfWlzVmFsaWQoKXtyZXR1cm4gdGhpcy5raW5kKCkhPT1vLkludmFsaWQmJnRoaXMubXVsdGlwbGllcigpPjB9aXNEV00oKXtyZXR1cm4gdGhpcy5pc1ZhbGlkKCkmJiF0aGlzLmlzUmFuZ2UoKSYmIXRoaXMuaXNJbnRyYWRheSgpJiYhdGhpcy5pc1RpY2tzKCl9aXNJbnRyYWRheSgpe2NvbnN0IGU9bC5oYXModGhpcy5raW5kKCkpO3JldHVybiB0aGlzLmlzVmFsaWQoKSYmZX1pc1NlY29uZHMoKXtyZXR1cm4gdGhpcy5raW5kKCk9PT1vLlNlY29uZHN9aXNNaW51dGVzKCl7cmV0dXJuIHRoaXMua2luZCgpPT09by5NaW51dGVzfWlzTWludXRlSG91cnMoKXtyZXR1cm4gdGhpcy5raW5kKCk9PT1vLk1pbnV0ZXMmJigoZT10aGlzLm11bHRpcGxpZXIoKSk+PTYwJiYhKGUlNjApKTt2YXIgZX1pc0RheXMoKXtyZXR1cm4gdGhpcy5raW5kKCk9PT1vLkRheXN9aXNXZWVrcygpe3JldHVybiB0aGlzLmtpbmQoKT09PW8uV2Vla3N9aXNNb250aHMoKXtyZXR1cm4gdGhpcy5raW5kKCk9PT1vLk1vbnRoc31pc1JhbmdlKCl7cmV0dXJuIHRoaXMua2luZCgpPT09by5SYW5nZX1pc1RpY2tzKCl7cmV0dXJuIHRoaXMua2luZCgpPT09by5UaWNrc31pczFUaWNrKCl7cmV0dXJuIHRoaXMuaXNUaWNrcygpJiYxPT09dGhpcy5tdWx0aXBsaWVyKCl9aXNUaW1lQmFzZWQoKXtyZXR1cm4hdGhpcy5pc1JhbmdlKCl9bGV0dGVyKCl7cmV0dXJuIHRoaXMuaXNWYWxpZCgpJiZ0aGlzLmtpbmQoKSE9PW8uTWludXRlcz90aGlzLmtpbmQoKVswXS50b1VwcGVyQ2FzZSgpOiIifXZhbHVlKCl7cmV0dXJuIHRoaXMuaXNWYWxpZCgpP3RoaXMua2luZCgpPT09by5NaW51dGVzP3RoaXMubXVsdGlwbGllcigpKyIiOnRoaXMubXVsdGlwbGllcigpK3RoaXMubGV0dGVyKCk6IiJ9aXNFcXVhbFRvKGUpe2lmKCEoZSBpbnN0YW5jZW9mIHUpKXRocm93IG5ldyBFcnJvcigiQXJndW1lbnQgaXMgbm90IGFuIEludGVydmFsIik7cmV0dXJuISghdGhpcy5pc1ZhbGlkKCl8fCFlLmlzVmFsaWQoKSkmJih0aGlzLmtpbmQoKT09PWUua2luZCgpJiZ0aGlzLm11bHRpcGxpZXIoKT09PWUubXVsdGlwbGllcigpKX1pbk1pbGxpc2Vjb25kcyhlPURhdGUubm93KCkpe2lmKCF0aGlzLmlzVmFsaWQoKXx8dGhpcy5pc1JhbmdlKCkpcmV0dXJuIE5hTjtpZih0aGlzLmlzTW9udGhzKCkpe2NvbnN0IHQ9bmV3IERhdGUoZSk7dC5zZXRVVENNb250aCh0LmdldFVUQ01vbnRoKCkrKHRoaXMubXVsdGlwbGllcigpfHwxKSk7cmV0dXJuK3QtZX1jb25zdCB0PXRoaXMubXVsdGlwbGllcigpO3JldHVybiBhW3RoaXMua2luZCgpXSp0fXN0YXRpYyBpc0VxdWFsKGUsdCl7cmV0dXJuIGU9PT10fHx1LnBhcnNlKGUpLmlzRXF1YWxUbyh1LnBhcnNlKHQpKX1zdGF0aWMgcGFyc2VFeHQoZSl7ZT0oZSsiIikudG9VcHBlckNhc2UoKS5zcGxpdCgiLCIpWzBdO2xldCB0PXIuZXhlYyhlKTtyZXR1cm4gbnVsbCE9PXQ/IkgiPT09dFsyXT97aW50ZXJ2YWw6bmV3IHUoby5NaW51dGVzLDYwKmQodFsxXSkpLGd1aVJlc29sdXRpb25LaW5kOnMuSG91cnN9OntpbnRlcnZhbDpuZXcgdShjW3RbMl1dLGQodFsxXSkpLGd1aVJlc29sdXRpb25LaW5kOmNbdFsyXV19Oih0PWkuZXhlYyhlKSxudWxsIT09dD97aW50ZXJ2YWw6bmV3IHUoby5NaW51dGVzLGQodFsxXSkpLGd1aVJlc29sdXRpb25LaW5kOm8uTWludXRlc306e2ludGVydmFsOm5ldyB1KG8uSW52YWxpZCwwKSxndWlSZXNvbHV0aW9uS2luZDpvLkludmFsaWR9KX1zdGF0aWMgcGFyc2UoZSl7cmV0dXJuIHUucGFyc2VFeHQoZSkuaW50ZXJ2YWx9c3RhdGljIGtpbmQoZSl7cmV0dXJuIHUucGFyc2UoZSkua2luZCgpfXN0YXRpYyBpc1ZhbGlkKGUpe3JldHVybiB1LnBhcnNlKGUpLmlzVmFsaWQoKQp9c3RhdGljIGlzRFdNKGUpe3JldHVybiB1LnBhcnNlKGUpLmlzRFdNKCl9c3RhdGljIGlzSW50cmFkYXkoZSl7cmV0dXJuIHUucGFyc2UoZSkuaXNJbnRyYWRheSgpfXN0YXRpYyBpc1NlY29uZHMoZSl7cmV0dXJuIHUucGFyc2UoZSkuaXNTZWNvbmRzKCl9c3RhdGljIGlzTWludXRlcyhlKXtyZXR1cm4gdS5wYXJzZShlKS5pc01pbnV0ZXMoKX1zdGF0aWMgaXNNaW51dGVIb3VycyhlKXtyZXR1cm4gdS5wYXJzZShlKS5pc01pbnV0ZUhvdXJzKCl9c3RhdGljIGlzRGF5cyhlKXtyZXR1cm4gdS5wYXJzZShlKS5pc0RheXMoKX1zdGF0aWMgaXNXZWVrcyhlKXtyZXR1cm4gdS5wYXJzZShlKS5pc1dlZWtzKCl9c3RhdGljIGlzTW9udGhzKGUpe3JldHVybiB1LnBhcnNlKGUpLmlzTW9udGhzKCl9c3RhdGljIGlzUmFuZ2UoZSl7cmV0dXJuIHUucGFyc2UoZSkuaXNSYW5nZSgpfXN0YXRpYyBpc1RpY2tzKGUpe3JldHVybiB1LnBhcnNlKGUpLmlzVGlja3MoKX1zdGF0aWMgaXNUaW1lQmFzZWQoZSl7cmV0dXJuIHUucGFyc2UoZSkuaXNUaW1lQmFzZWQoKX1zdGF0aWMgbm9ybWFsaXplKGUpe2NvbnN0IHQ9dS5wYXJzZShlKTtyZXR1cm4gdC5pc1ZhbGlkKCk/dC52YWx1ZSgpOm51bGx9fWZ1bmN0aW9uIGQoZSl7cmV0dXJuIDA9PT1lLmxlbmd0aD8xOnBhcnNlSW50KGUsMTApfX0sNzM4NDU4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2lzQW5kcm9pZDooKT0+Zyxpc0FueU1vYmlsZTooKT0+dixpc0JsYWNrQmVycnk6KCk9PmYsaXNDaHJvbWU6KCk9PmEsaXNFZGdlOigpPT5sLGlzRkY6KCk9PmMsaXNJT1M6KCk9Pm0saXNJUGFkOigpPT55LGlzTGludXg6KCk9PnAsaXNNYWM6KCk9PmQsaXNPcGVyYU1pbmk6KCk9PmgsaXNTYWZhcmk6KCk9PnUsbW9iaWxldG91Y2g6KCk9Pm8sdG91Y2g6KCk9PnN9KTtjb25zdCByPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiYidW5kZWZpbmVkIiE9dHlwZW9mIG5hdmlnYXRvcixpPXImJiJvbnRvdWNoc3RhcnQiaW4gd2luZG93LG89ciYmaSYmIm9ub3JpZW50YXRpb25jaGFuZ2UiaW4gd2luZG93LHM9ciYmKGl8fCEhbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzKSxhPXImJndpbmRvdy5jaHJvbWUmJndpbmRvdy5jaHJvbWUucnVudGltZSxjPXImJndpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkuaW5kZXhPZigiZmlyZWZveCIpPi0xLGw9ciYmL1xzRWRnZVwvXGRcZFxiLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLHU9ciYmQm9vbGVhbihuYXZpZ2F0b3IudmVuZG9yKSYmbmF2aWdhdG9yLnZlbmRvci5pbmRleE9mKCJBcHBsZSIpPi0xJiYtMT09PW5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiQ3JpT1MiKSYmLTE9PT1uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIkZ4aU9TIiksZD1yJiYvbWFjL2kudGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pLHA9KHImJi9XaW4zMnxXaW42NC9pLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSxyJiYvTGludXgvaS50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSkpLGc9ciYmL0FuZHJvaWQvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGY9ciYmL0JsYWNrQmVycnkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLG09ciYmL2lQaG9uZXxpUGFkfGlQb2QvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSxoPXImJi9PcGVyYSBNaW5pL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSx5PXImJigiTWFjSW50ZWwiPT09bmF2aWdhdG9yLnBsYXRmb3JtJiZuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHM+MXx8L2lQYWQvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSksdj1nfHxmfHxtfHxofX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.37865.20b9d74415d0cbc555a1.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.798Z","timestamp":1785120634798,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/en.37865.20b9d74415d0cbc555a1.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"247optiontradefx.com/img/grey_bg.png","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.448Z","timestamp":1785120633448,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /img/grey_bg.png HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: image/png\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-5663\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":22115,"size_decoded":16708,"mime_type":"image/png","magic":"PNG image data, 1920 x 780, 8-bit/color RGBA, non-interlaced","md5":"d30a511795bb64ca3e1d36fd558dfabd","sha1":"fdf5e95c2f9112ef7bcfec4faa5b77c1ba2bae04","sha256":"cbcc389056b7e965df06c3ca6d9f892744eb2c9818df3e7e6285ce44a6863135","sha512":"4301bb2b689067eb2437b0dbfc2259f101bc3fbbe2e9e3c91332bbb8fb179947342a1285cbe57c62bc34e588cf6ccdbf56669c25d773303823eec45f14f551ea","ssdeep":"384:+Ka9Kc1gWNigKtSABBmUQ/eY1yjUnGDAN6s8ncIth2Opd6vFblT:+KaYdW4tS0cT/5nGqP8ZZd6vFblT","tlshash":"c9a2e8c5e9735ad9e50cea3defe72f3223680be93100872657aeb2726e721b1d50505c","first_seen":"2026-07-27T02:45:25.216113Z","last_seen":"2026-07-27T02:59:54.594695Z","times_seen":4,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAB4AAAAMMCAYAAACyn7p2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6M0UzNTBDNDU5MTcwMTFFOEI1MzI4MjBCMjI5MUNDREEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6M0UzNTBDNDY5MTcwMTFFOEI1MzI4MjBCMjI5MUNDREEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozRTM1MEM0MzkxNzAxMUU4QjUzMjgyMEIyMjkxQ0NEQSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozRTM1MEM0NDkxNzAxMUU4QjUzMjgyMEIyMjkxQ0NEQSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pkl4WgMAAFLXSURBVHja7N0HuF1V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AAMAAAAAAABMCGAAAAAAAACACQEMAAAAAAAAMCGAAQAAAAAAACYEMAAAAAAAAMCEAAYAAAAAAACYEMAAAAAAAAAAEwIYAAAAAAAAYEIAAwAAAAAAAEwIYAAAAAAAAIAJAQwAAAAAAAAwIYABAAAAAAAAJgQwAAAAAAAAwIQABgAAAAAAAJgQwAAAAAAAAAATAhgAAAAAAABgQgADAAAAAAAATAhgAAAAAAAAgAkBDAAAAAAAADAhgAEAAAAAAAAmBDAAAAAAAADAhAAGAAAAAAAAmBDAAAAAAAAAABMCGAAAAAAAAGBCAAMAAAAAAABMCGAAAAAAAACACQEMAAAAAAAAMCGAAQAAAAAAACYEMAAAAAAAAMCEAAYAAAAAAACYEMAAAAAAAAAAEwIYAAAAAAAAYEIAAwAAAAAAAEwIYAAAAAAAAIAJAQwAAAAAAAAwIYABAAAAAAAAJgQwAAAAAAAAwIQABgAAAAAAAJgQwAAAAAAAAAATAhgAAAAAAABgQgADAAAAAAAATAhgAAAAAAAAgAkBDAAAAAAAADAhgAEAAAAAAAAmBDAAAAAAAADAhAAGAAAAAAAAmBDAAAAAAAAAABMCGAAAAAAAAGBCAAMAAAAAAABMCGAAAAAAAACACQEMAAAAAAAAMCGAAQAAAAAAACYEMAAAAAAAAMCEAAYAAAAAAACYEMAAAAAAAAAAEwIYAAAAAAAAYEIAAwAAAAAAAEwIYAAAAAAAAIAJAQwAAAAAAAAwIYABAAAAAAAAJgQwAAAAAAAAwIQABgAAAAAAAJgQwAAAAAAAAAATAhgAAAAAAABgQgADAAAAAAAATAhgAAAAAAAAgAkBDAAAAAAAADAhgAEAAAAAAAAmBDAAAAAAAADAhAAGAAAAAAAAmBDAAAAAAAAAABMCGAAAAAAAAGBCAAMAAAAAAABMCGAAAAAAAACACQEMAAAAAAAAMCGAAQAAAAAAACYEMAAAAAAAAMCEAAYAAAAAAACYEMAAAAAAAAAAEwIYAAAAAAAAYEIAAwAAAAAAAEwIYAAAAAAAAIAJAQwAAAAAAAAwIYABAAAAAAAAJgQwAAAAAAAAwIQABgAAAAAAAJgQwAAAAAAAAAATAhgAAAAAAABgQgADAAAAAAAATAhgAAAAAAAAgAkBDAAAAAAAADAhgAEAAAAAAAAmBDAAAAAAAADAhAAGAAAAAAAAmBDAAAAAAAAAABMCGAAAAAAAAGBCAAMAAAAAAABMCGAAAAAAAACACQEMAAAAAAAAMCGAAQAAAAAAACYEMAAAAAAAAMCEAAYAAAAAAACYEMAAAAAAAAAAEwIYAAAAAAAAYEIAAwAAAAAAAEwIYAAAAAAAAIAJAQwAAAAAAAAwIYABAAAAAAAAJgQwAAAAAAAAwIQABgAAAAAAAJgQwAAAAAAAAAATAhgAAAAAAABgQgADAAAAAAAATAhgAAAAAAAAgAkBDAAAAAAAADAhgAEAAAAAAAAmBDAAAAAAAADAhAAGAAAAAAAAmBDAAAAAAAAAABMCGAAAAAAAAGBCAAMAAAAAAABMCGAAAAAAAACACQEMAAAAAAAAMCGAAQAAAAAAACYEMAAAAAAAAMCEAAYAAAAAAACYEMAAAAAAAAAAEwIYAAAAAAAAYEIAAwAAAAAAAEwIYAAAAAAAAIAJAQwAAAAAAAAwIYABAAAAAAAAJgQwAAAAAAAAwIQABgAAAAAAAJgQwAAAAAAAAAATAhgAAAAAAABgQgADAAAAAAAATAhgAAAAAAAAgAkBDAAAAAAAADAhgAEAAAAAAAAmBDAAAAAAAADAhAAGAAAAAAAAmBDAAAAAAAAAABMCGAAAAAAAAGBCAAMAAAAAAABMCGAAAAAAAACACQEMAAAAAAAAMCGAAQAAAAAAACYEMAAAAAAAAMCEAAYAAAAAAACYEMAAAAAAAAAAEwIYAAAAAAAAYEIAAwAAAAAAAEwIYAAAAAAAAIAJAQwAAAAAAAAwIYABAAAAAAAAJgQwAAAAAAAAwIQABgAAAAAAAJgQwAAAAAAAAAATAhgAAAAAAABgQgADAAAAAAAATAhgAAAAAAAAgAkBDAAAAAAAADAhgAEAAAAAAAAmBDAAAAAAAADAhAAGAAAAAAAAmBDAAAAAAAAAABMCGAAAAAAAAGBCAAMAAAAAAABMCGAAAAAAAACACQEMAAAAAAAAMCGAAQAAAAAAACYEMAAAAAAAAMCEAAYAAAAAAACYEMAAAAAAAAAAEwIYAAAAAAAAYEIAAwAAAAAAAEwIYAAAAAAAAIAJAQwAAAAAAAAwIYABAAAAAAAAJgQwAAAAAAAAwIQABgAAAAAAAJgQwAAAAAAAAAATAhgAAAAAAABgQgADAAAAAAAATAhgAAAAAAAAgAkBDAAAAAAAADAhgAEAAAAAAAAmBDAAAAAAAADAhAAGAAAAAAAAmBDAAAAAAAAAABMCGAAAAAAAAGBCAAMAAAAAAABMCGAAAAAAAACACQEMAAAAAAAAMCGAAQAAAAAAACYEMAAAAAAAAMCEAAYAAAAAAACYEMAAAAAAAAAAEwIYAAAAAAAAYEIAAwAAAAAAAEwIYAAAAAAAAIAJAQwAAAAAAAAwIYABAAAAAAAAJgQwAAAAAAAAwIQABgAAAAAAAJgQwAAAAAAAAAATAhgAAAAAAABgQgADAAAAAAAATAhgAAAAAAAAgAkBDAAAAAAAADAhgAEAAAAAAAAmBDAAAAAAAADAhAAGAAAAAAAAmBDAAAAAAAAAABMCGAAAAAAAAGBCAAMAAAAAAABMCGAAAAAAAACACQEMAAAAAAAAMCGAAQAAAAAAACYEMAAAAAAAAMCEAAYAAAAAAACYEMAAAAAAAAAAEwIYAAAAAAAAYEIAAwAAAAAAAEwIYAAAAAAAAIAJAQwAAAAAAAAwIYABAAAAAAAAJgQwAAAAAAAAwIQABgAAAAAAAJgQwAAAAAAAAAATAhgAAAAAAABgQgADAAAAAAAATAhgAAAAAAAAgAkBDAAAAAAAADAhgAEAAAAAAAAmBDAAAAAAAADAhAAGAAAAAAAAmBDAAAAAAAAAABMCGAAAAAAAAGBCAAMAAAAAAABMCGAAAAAAAACACQEMAAAAAAAAMCGAAQAAAAAAACYEMAAAAAAAAMCEAAYAAAAAAACYEMAAAAAAAAAAEwIYAAAAAAAAYEIAAwAAAAAAAEwIYAAAAAAAAIAJAQwAAAAAAAAwIYABAAAAAAAAJgQwAAAAAAAAwIQABgAAAAAAAJgQwAAAAAAAAAATAhgAAAAAAABgQgADAAAAAAAATAhgAAAAAAAAgAkBDAAAAAAAADAhgAEAAAAAAAAmBDAAAAAAAADAhAAGAAAAAAAAmBDAAAAAAAAAABMCGAAAAAAAAGBCAAMAAAAAAABMCGAAAAAAAACACQEMAAAAAAAAMCGAAQAAAAAAACYEMAAAAAAAAMCEAAYAAAAAAACYEMAAAAAAAAAAEwIYAAAAAAAAYEIAAwAAAAAAAEwIYAAAAAAAAIAJAQwAAAAAAAAwIYABAAAAAAAAJgQwAAAAAAAAwIQABgAAAAAAAJgQwAAAAAAAAAATAhgAAAAAAABgQgADAAAAAAAATAhgAAAAAAAAgAkBDAAAAAAAADAhgAEAAAAAAAAmBDAAAAAAAADAhAAGAAAAAAAAmBDAAAAAAAAAABMCGAAAAAAAAGBCAAMAAAAAAABMCGAAAAAAAACACQEMAAAAAAAAMCGAAQAAAAAAACYEMAAAAAAAAMCEAAYAAAAAAACYEMAAAAAAAAAAEwIYAAAAAAAAYEIAAwAAAAAAAEwIYAAAAAAAAIAJAQwAAAAAAAAwIYABAAAAAAAAJgQwAAAAAAAAwIQABgAAAAAAAJgQwAAAAAAAAAATAhgAAAAAAABgQgADAAAAAAAATAhgAAAAAAAAgAkBDAAAAAAAADAhgAEAAAAAAAAmBDAAAAAAAADAhAAGAAAAAAAAmBDAAAAAAAAAABMCGAAAAAAAAGBCAAMAAAAAAABMCGAAAAAAAACACQEMAAAAAAAAMCGAAQAAAAAAACYEMAAAAAAAAMCEAAYAAAAAAACYEMAAAAAAAAAAEwIYAAAAAAAAYEIAAwAAAAAAAEwIYAAAAAAAAIAJAQwAAAAAAAAwIYABAAAAAAAAJgQwAAAAAAAAwIQABgAAAAAAAJgQwAAAAAAAAAATAhgAAAAAAABgQgADAAAAAAAATAhgAAAAAAAAgAkBDAAAAAAAADAhgAEAAAAAAAAmBDAAAAAAAADAhAAGAAAAAAAAmBDAAAAAAAAAABMCGAAAAAAAAGBCAAMAAAAAAABMCGAAAAAAAACACQEMAAAAAAAAMCGAAQAAAAAAACYEMAAAAAAAAMCEAAYAAAAAAACYEMAAAAAAAAAAEwIYAAAAAAAAYEIAAwAAAAAAAEwIYAAAAAAAAIAJAQwAAAAAAAAwIYABAAAAAAAAJgQwAAAAAAAAwIQABgAAAAAAAJgQwAAAAAAAAAATAhgAAAAAAABgQgADAAAAAAAATAhgAAAAAAAAgAkBDAAAAAAAADAhgAEAAAAAAAAmBDAAAAAAAADAhAAGAAAAAAAAmBDAAAAAAAAAABMCGAAAAAAAAGBCAAMAAAAAAABMCGAAAAAAAACACQEMAAAAAAAAMCGAAQAAAAAAACYEMAAAAAAAAMCEAAYAAAAAAACYEMAAAAAAAAAAEwIYAAAAAAAAYEIAAwAAAAAAAEwIYAAAAAAAAIAJAQwAAAAAAAAwIYABAAAAAAAAJgQwAAAAAAAAwIQABgAAAAAAAJgQwAAAAAAAAAATAhgAAAAAAABgQgADAAAAAAAATAhgAAAAAAAAgAkBDAAAAAAAADAhgAEAAAAAAAAmBDAAAAAAAADAhAAGAAAAAAAAmBDAAAAAAAAAABMCGAAAAAAAAGBCAAMAAAAAAABMCGAAAAAAAACACQEMAAAAAAAAMCGAAQAAAAAAACYEMAAAAAAAAMCEAAYAAAAAAACYEMAAAAAAAAAAEwIYAAAAAAAAYEIAAwAAAAAAAEwIYAAAAAAAAIAJAQwAAAAAAAAwIYABAAAAAAAAJgQwAAAAAAAAwIQABgAAAAAAAJgQwAAAAAAAAAATAhgAAAAAAABgQgADAAAAAAAATAhgAAAAAAAAgAkBDAAAAAAAADAhgAEAAAAAAAAmBDAAAAAAAADAhAAGAAAAAAAAmBDAAAAAAAAAABMCGAAAAAAAAGBCAAMAAAAAAABMCGAAAAAAAACACQEMAAAAAAAAMCGAAQAAAAAAACYEMAAAAAAAAMCEAAYAAAAAAACYEMAAAAAAAAAAEwIYAAAAAAAAYEIAAwAAAAAAAEwIYAAAAAAAAIAJAQwAAAAAAAAwIYABAAAAAAAAJgQwAAAAAAAAwIQABgAAAAAAAJgQwAAAAAAAAAATAhgAAAAAAABgQgADAAAAAAAATCSAAAMAw9ItVY0lWM4AAAAASUVORK5CYII="}},"time_used":103,"timings":{"blocked":73,"dns":0,"connect":0,"send":0,"wait":30,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/favicon.png","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.454Z","timestamp":1785120633454,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /favicon.png HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: image/png\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-eb6a\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":60266,"size_decoded":60284,"mime_type":"image/png","magic":"PNG image data, 300 x 300, 8-bit/color RGBA, non-interlaced","md5":"2e3461b81284f9fb5426875eb2f7a1e2","sha1":"d3ddc655bb4856fab4f7fd41d4ca2602f06b0396","sha256":"1d7f48936dd8f15475fd3e15bf7d985aa140a99fb6ea774a67516a198a1679a8","sha512":"086cc59b1200546041d3f46b5dc3627135eb5e95f39cef9a05a69142ec57373b72d6ba6cbca5b7fd084e81a5a8ee8a98fc810db0d3a4380be4efe08eb1ecff85","ssdeep":"1536:ySSSSSSSSSSSSSSSSSSF+2Wv6ldcTveIP8L9dYD3jPSkEbrOoUI7znNa0o0UYIsl:ySSSSSSSSSSSSSSSSSSKv6lds7P8L9dp","tlshash":"23430202a90b6470e1599c23f0559e1b5294838c2a7e07aca7fe33e5766db6cc7cb358","first_seen":"2026-07-27T02:45:25.090348Z","last_seen":"2026-07-27T02:59:54.612769Z","times_seen":4,"resource_available":false,"data":"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"}},"time_used":136,"timings":{"blocked":107,"dns":0,"connect":0,"send":0,"wait":28,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"binarymate.com/assets/landing/platform-tiny/css/plat.css?v=01","fqdn":"binarymate.com","domain":"binarymate.com","tld":"com"},"ip":{"addr":"172.67.160.195","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://binarymate.com/en/tyni-platform?r=https://247optiontradefx.live/dashboard/register","date":"2026-07-27T02:50:33.767Z","timestamp":1785120633767,"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":"binarymate.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 14 Jun 2026 17:48:17 GMT","end":"Sat, 12 Sep 2026 18:48:16 GMT"},"fingerprint":{"sha1":"26:CD:F2:69:FE:7F:C6:01:56:78:36:8F:A3:D6:FB:30:04:43:72:C0","sha256":"84:94:E9:41:71:FF:C7:FC:0D:D1:FE:9F:61:E9:EB:27:62:B3:01:D9:AA:F6:35:FB:C6:FA:4A:CE:9B:16:0B:7E"}}},"request":{"raw":"GET /assets/landing/platform-tiny/css/plat.css?v=01 HTTP/1.1\r\nHost: binarymate.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://binarymate.com/en/tyni-platform?r=https://247optiontradefx.live/dashboard/register\r\nCookie: laravel_session=UYESX7wELN8BSPz4LvfUKeGrrWO22l12CaQ7FWII\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\npriority: u=2,i=?0\r\ncontent-type: text/css\r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nlast-modified: Tue, 23 May 2017 15:12:28 GMT\r\nserver: cloudflare\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=AQ8jNYtfPylWAUnI9jBblCsJNdE45p%2BTo2Si4XAx5BRvScjDOAzpCbCMWO2arEMk4EdmCclHZVXblECliisVWUFKqg%2FZihQyRiUMak%2Bxc%2BcD2nBul0wTNl2Z2AyH9yna9w%3D%3D\"}]}\r\nage: 373\r\ncache-control: max-age=14400\r\ncf-cache-status: HIT\r\ncontent-encoding: zstd\r\netag: W/\"5924515c-2a2a\"\r\ncf-ray: a21856590ace8be6-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"]}],"data":{"size":10794,"size_decoded":3586,"mime_type":"text/css","magic":"assembler source, ASCII text","md5":"373098dee4d591a96a9f246be8f6cda7","sha1":"efbcb2441a92c07f5b0285d044be4cc65e52de98","sha256":"88fd82d5b36892e96b8683e225236382a1dc3effc95440916b114e00f2f0b099","sha512":"a250c9efaa98c2a6f357642412c23cb38d87cd1a9e5aa3336577c886cf788e704aa8d6642026d2b7834276da5d8f2a8baa918b2f012fc80890c07da9dc142941","ssdeep":"96:17IEocmu5SlfWZijXD4LZ1EWp1uLf/QBHuP/MGKhACXHDFYWnvUtA5/kUtAD/d/4:eEalfWCGp11cUHACuYviZiFeS","tlshash":"e32274a6dfa31904752fc2947502a7a5e33c8002690fc8fdbba1744ceecf2d99166b59","first_seen":"2023-04-07T16:36:39Z","last_seen":"2026-07-27T05:25:19.057068Z","times_seen":77,"resource_available":false,"data":"LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgICAgICAgICAgIFJlc2V0CioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgovKiBCb3JkZXItQm94ICovCgoqLAoqOmJlZm9yZSwKKjphZnRlciB7CiAgYm94LXNpemluZzogaW5oZXJpdDsKfQoKaHRtbCB7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKfQoKLyogaVBhZCBJbnB1dCBTaGFkb3dzICovCgppbnB1dFt0eXBlPSJ0ZXh0Il0sCmlucHV0W3R5cGU9ImVtYWlsIl0sCmlucHV0W3R5cGU9InNlYXJjaCJdLAppbnB1dFt0eXBlPSJwYXNzd29yZCJdIHsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIC8qIG1vYmlsZSBmaXJlZm94IHRvbyEgKi8KfQpib2R5IHsKICBtYXJnaW46IDA7CiAgZm9udC1mYW1pbHk6ICJPcGVuIFNhbnMiLCBzYW5zLXNlcmlmOwp9CmEgewogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50Owp9CgovKioKICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuCiAqLwoKYTphY3RpdmUsCmE6aG92ZXIgewogIG91dGxpbmU6IDA7Cn0KLmxlZnR7CiAgZmxvYXQ6IGxlZnQ7Cn0KLnJpZ2h0ewogIGZsb2F0OiByaWdodDsKfQouY2xlYXJmaXh7CiAgY2xlYXI6IGJvdGg7Cn0KCi5jbGVhcmZpeDphZnRlciB7CiAgdmlzaWJpbGl0eTogaGlkZGVuOwogIGRpc3BsYXk6IGJsb2NrOwogIGZvbnQtc2l6ZTogMDsKICBjb250ZW50OiAiICI7CiAgY2xlYXI6IGJvdGg7CiAgaGVpZ2h0OiAwOwp9Ci5oMSwgaDEgewogIGxpbmUtaGVpZ2h0OiAzMHB4OwogIGZvbnQtc2l6ZTogMzBweDsKICBmb250LXdlaWdodDogMTAwOwogIGNvbG9yOiAjM2M0NTRjOwp9Ci50ZXh0LWNlbnRlcmVkIHsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KaGVhZGVyewogIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaGVhZGVyLmpwZykgdG9wIGNlbnRlcjsKICBoZWlnaHQ6IDE5NXB4OwogIHdpZHRoOiAxMDAlOwogIG1pbi13aWR0aDogOTcwcHg7Cn0KCgoKCgovKi0tLS0tLS0tLS0tLS0tLS0tLWF1dGggZXZlbnQtLS0tLS0tLS0tLS0tLS0tLS0tKi8KLyotLS0tLS0tLS0tLS0tLS0tLS1yZWdpc3Rlci1wb3B1cC0tLS0tLS0tLS0tLS0tLS0tLS0qLwovKi5hd2FyZC1pbWctY29udDpob3ZlciwgI2JlbmVmaXRzIC5hd2FyZC1pbWctY29udDpob3ZlciB7Ki8KLm1jLXRhYmxlLCAuY2hhcnQtcGFkZGluZyB7CiAgd2lkdGg6IDQ5MHB4OwogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94Owp9Ci5taW5pLWNoYXJ0LWJ0bi1jb250LCAubWMtbG9nbyB7CiAgd2lkdGg6IDE4MHB4OwogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94Owp9CgoubWluaS1jaGFydC1jb250ID4gKiwKLm1pbmktY2hhcnQtbGVnZW5kID4gKiwKLm1jLXRhYmxlID4gKiB7CiAgZmxvYXQ6IGxlZnQ7Cn0KLm1pbmktY2hhcnQtbGVnZW5kOmFmdGVyLAoubWluaS1jaGFydC1jb250OmFmdGVyIHsKICBjb250ZW50OiAnJzsKICBkaXNwbGF5OiBibG9jazsKICBjbGVhcjogYm90aDsKfQouY2hhcnQtcGFkZGluZyB7CiAgcGFkZGluZy1yaWdodDogMTBweDsKICAvKiBiYWNrZ3JvdW5kOiAjMWMxYzFjOyAqLwp9Ci5jaGFydCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIC8qIGNvbG9yOiAjZDQ0YTNkOyAqLwogIGZvbnQtZmFtaWx5OiAnUm9ib3RvQm9sZCcsIHNhbnMtc2VyaWY7CiAgd2lkdGg6IDEwMCU7Cn0KLmNoYXJ0LXRpbWVyIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgbWFyZ2luOiBhdXRvOwogIGxlZnQ6IDBweDsKICByaWdodDogMDsKICBsZXR0ZXItc3BhY2luZzogMC4ycHg7CiAgd2lkdGg6IDEwMHB4OwogIGhlaWdodDogNDBweDsKICB0b3A6IDEycHg7CiAgZm9udC1zaXplOiAyMHB4OwogIHBvaW50ZXItZXZlbnRzOiBub25lOwogIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7CiAgLW8tdXNlci1zZWxlY3Q6IG5vbmU7CiAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgY29sb3I6ICM1NTZlNzg7Cn0KLmNoYXJ0LXRpbWUtc2VsZiB7CiAgcGFkZGluZy1sZWZ0OiAxMHB4OwogIHZlcnRpY2FsLWFsaWduOiB0b3A7Cn0KLm1pbmktY2hhcnQtY29udCB7CiAgd2lkdGg6IDEwMCU7Cn0KLm1jLXRhYmxlLXRkLWxlZ2VuZCB7CiAgcGFkZGluZy10b3A6IDEzcHg7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LXNpemU6IDE0cHg7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG9MaWdodCcsIHNhbnMtc2VyaWY7CiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4Owp9Ci5tYy10YWJsZS10ZCB7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsKICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsKICB3aWR0aDogMjQuNSU7CiAgY29sb3I6ICNDMEMxQzQ7Cn0KCi5tYy10YWJsZS10ZC1sZWdlbmQgYiB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG9Cb2xkJywgc2Fucy1zZXJpZjsKfQoKLm1pbmktY2hhcnQtbGVnZW5kIHsKICBoZWlnaHQ6IDcwcHg7CiAgd2lkdGg6IDQ5MHB4OwogIGZsb2F0OiBsZWZ0Owp9Ci5tYy10YWJsZS10ZC12YWx1ZSB7CiAgcGFkZGluZy10b3A6IDBweDsKICBmb250LXNpemU6IDI0cHg7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG9MaWdodCcsIHNhbnMtc2VyaWY7Cn0KLnRleHQtZ3JlZW4gewogIGNvbG9yOiAjMDNBRTg5Owp9Ci50ZXh0LXllbGxvd3sKICBjb2xvcjogI2ZmZTA3NjsKfQoubWMtYnRuIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHotaW5kZXg6IDI7CiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICBjdXJzb3I6IHBvaW50ZXI7CiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsKICB3aGl0ZS1zcGFjZTogbm93cmFwOwogIG91dGxpbmU6IG5vbmU7CiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogIC1tcy11c2VyLXNlbGVjdDogbm9uZTsKICAtby11c2VyLXNlbGVjdDogbm9uZTsKICB1c2VyLXNlbGVjdDogbm9uZTsKICBwYWRkaW5nOiAxMHB4IDMwcHg7CiAgZm9udC1zaXplOiAxOHB4OwogIGxpbmUtaGVpZ2h0OiAxLjMzOwogIGJvcmRlcjogbm9uZTsKICBtYXJnaW46IDA7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiA4MHB4OwogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OwogIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsKICAtby1ib3gtc2l6aW5nOiBib3JkZXItYm94OwogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KLm1jLWJ0bl9jYWxsIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkNBOTI0OwogIGJvcmRlci1yYWRpdXM6IDRweCA0cHggMCAwOwogIG1hcmdpbi1ib3R0b206IDFweDsKfQoubWMtYnRuX2NhbGw6aG92ZXIsIC5tYy1idG5fY2FsbDpmb2N1cywgLm1jLWJ0bl9jYWxsOmFjdGl2ZSB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzc2RDIwQzsKfQoubWMtYnRuX3B1dCB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogI0Y3NEE1QzsKICBib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDsKfQoubWMtYnRuX3B1dDpob3ZlciwgLm1jLWJ0bl9wdXQ6Zm9jdXMsIC5tYy1idG5fcHV0OmFjdGl2ZSB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogI0UwMEIwQjsKfQoubWMtYnRuOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsKfQoubWMtYnRuOmFjdGl2ZSB7CiAgb3V0bGluZTogMDsKICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOwogIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMjUpOwogIGJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KTsKfQoubWluaS1jaGFydC1idG4tY29udCAubWMtYnRuIGltZyB7CiAgd2lkdGg6IDMxcHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMnB4OwogIGJvdHRvbTogMDsKICBsZWZ0OiAzMHB4OwogIGhlaWdodDogMjJweDsKICBtYXJnaW46IGF1dG8gMDsKfQoubWMtYnRuIHNwYW4gewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBwYWRkaW5nOiAwIDAgMCA0OHB4OwogIG1hcmdpbi1ib3R0b206IC00cHg7CiAgbGVmdDogLTJweDsKICBkaXNwbGF5OiBibG9jazsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBsaW5lLWhlaWdodDogMjBweDsKfQoubWMtYnRuIHNwYW4gYnsKICBkaXNwbGF5OiBibG9jazsKfQoubWMtdGFibGUtdGQubWMtdGFibGUtdGRfcHJpY2UgewogIHBhZGRpbmctbGVmdDogMzlweDsKICBjb2xvcjogI0MwQzFDNDsKICBib3JkZXItdG9wOiBzb2xpZCAxMHB4ICMxRjIzMkU7CiAgbWFyZ2luLXRvcDogLTEwcHg7Cn0KLm1jLXRhYmxlLXRkLm1jLXRhYmxlLXRkX3JldmVudWUgewogIHBhZGRpbmctbGVmdDogNTRweDsKICBib3JkZXItdG9wOiBzb2xpZCAxMHB4ICMxRjIzMkU7CiAgbWFyZ2luLXRvcDogLTEwcHg7Cn0KLm1jLXRhYmxlLXRkLm1jLXRhYmxlLXRkX3Byb2ZpdCB7CiAgcGFkZGluZy1sZWZ0OiA2NXB4OwogIGJhY2tncm91bmQ6ICMyQTMwNDA7Cn0KLm1jLXRhYmxlLXRkLm1jLXRhYmxlLXRkX3Byb2ZpdCA+IGRpdiB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG9Cb2xkJywgc2Fucy1zZXJpZjsKfQoubWMtdGFibGUgewogIHBhZGRpbmc6IDA7CiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OwogIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBoZWlnaHQ6IDEwMCU7CiAgYmFja2dyb3VuZDogIzJBMzA0MDsKfQoKLm1jLWxvZ28ubWMtbG9nb19ldXJ1c2QgewogIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsKfQoubWluaS1jaGFydC1idG4tY29udCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGZsb2F0OiByaWdodDsKfQoud2FpdC1kZWFsLWVuZCB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgei1pbmRleDogMzsKICBoZWlnaHQ6IDEwMCU7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgYmFja2dyb3VuZDogIzMwMzAzMDsKICBkaXNwbGF5OiBub25lOwogIG9wYWNpdHk6IDA7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZSAwLjFzOwogIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlIDAuMXM7CiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UgMC4xczsKfQoud2RlLWxlZ2VuZCB7CiAgbWFyZ2luLXRvcDogMzVweDsKICBmb250LXNpemU6IDI0cHg7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG9MaWdodCcsIHNhbnMtc2VyaWY7CiAgbGluZS1oZWlnaHQ6IDI4cHg7CiAgY29sb3I6IHdoaXRlOwp9Cgoud2FpdC1kZWFsLWVuZCB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgei1pbmRleDogMzsKICBoZWlnaHQ6IDEwMCU7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgYmFja2dyb3VuZDogIzMwMzAzMDsKICBkaXNwbGF5OiBub25lOwogIG9wYWNpdHk6IDA7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZSAwLjFzOwogIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlIDAuMXM7CiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UgMC4xczsKfQoKLndkZS1sZWdlbmQgewogIG1hcmdpbi10b3A6IDM1cHg7CiAgZm9udC1zaXplOiAyNHB4OwogIGZvbnQtZmFtaWx5OiAnUm9ib3RvTGlnaHQnLCBzYW5zLXNlcmlmOwogIGxpbmUtaGVpZ2h0OiAyOHB4OwogIGNvbG9yOiB3aGl0ZTsKfQoKLndhaXQtZGVhbC1lbmQgLmNoYXJ0LXRpbWVyIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgZGlzcGxheTogYmxvY2s7CiAgY29sb3I6ICNkNDRhM2Q7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG9Cb2xkJywgc2Fucy1zZXJpZjsKICB3aWR0aDogMTAwJTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgZm9udC1zaXplOiAzNXB4OwogIHRvcDogMTdweDsKfQoKLmRlYWwtc3RhcnRlZCAud2FpdC1kZWFsLWVuZCB7CiAgb3BhY2l0eTogMTsKICBkaXNwbGF5OiBibG9jazsKfQoKLndhaXQtZGVhbC1lbmQgLmNoYXJ0LXRpbWUtc2VsZiB7CiAgcGFkZGluZy1sZWZ0OiA2cHg7Cn0KCi53YWl0LWRlYWwtZW5kIC5mYS1jbG9jay1vIHsKICB3aWR0aDogMzVweDsKfQoKLndhaXQtZGVhbC1lbmQgLmZhLWNsb2NrLW86YmVmb3JlIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgdG9wOiAxcHg7Cn0KCi5kZWFsLWZpbmlzaC1wb3B1cCB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHotaW5kZXg6IDU7CiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjczKTsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7CiAgY29sb3I6IHdoaXRlOwogIG9wYWNpdHk6IDA7CiAgZGlzcGxheTogbm9uZTsKICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlIDAuMXM7CiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UgMC4xczsKICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZSAwLjFzOwp9CmgyLmRmcC1oZWFkIHsKICBmb250LXNpemU6IDM1cHg7CiAgY29sb3I6ICMyMWMyMzk7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIG1hcmdpbi10b3A6IDQwcHg7CiAgbWFyZ2luLWJvdHRvbTogMTBweDsKICBsZXR0ZXItc3BhY2luZzogLTAuNXB4Owp9CnAuZGZwLWJvZHkgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvTGlnaHQnLCBzYW5zLXNlcmlmOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICBmb250LXNpemU6IDI5cHg7CiAgY29sb3I6ICMyMWMyMzk7CiAgbWFyZ2luLXRvcDogMDsKICBtYXJnaW4tYm90dG9tOiAwOwogIGxldHRlci1zcGFjaW5nOiAwOwp9Ci5kZnAtZm9vdCB7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIGZvbnQtc2l6ZTogMThweDsKICBsZXR0ZXItc3BhY2luZzogLTAuMXB4Owp9Ci5yaWdodC1mb290IHsKICBmbG9hdDogbGVmdDsKICB3aWR0aDogNDElOwogIGZvbnQtZmFtaWx5OiAnUm9ib3RvTGlnaHQnLCBzYW5zLXNlcmlmOwogIGZvbnQtc2l6ZTogMThweDsKICB0ZXh0LWFsaWduOiBsZWZ0OwogIHBhZGRpbmctdG9wOiAzMHB4Owp9Ci5yaWdodC1mb290IHNwYW4gewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvTWVkaXVtJywgc2Fucy1zZXJpZjsKICBmb250LXNpemU6IDE4cHg7CiAgbGV0dGVyLXNwYWNpbmc6IDFweDsKfQoubGVmdC1mb290IHsKICBmbG9hdDogbGVmdDsKICB3aWR0aDogMTclOwogIGhlaWdodDogMTEwcHg7CiAgZm9udC1zaXplOiA2MHB4OwogIHRleHQtYWxpZ246IHJpZ2h0OwogIHBhZGRpbmctdG9wOiAxNXB4Owp9Ci5sZWZ0LWZvb3QgaSB7CiAgcGFkZGluZy1yaWdodDogMzBweDsKfQouZGZwLWZvb3QgYSB7CiAgY29sb3I6ICMwMDg4ZmY7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG9Cb2xkJywgc2Fucy1zZXJpZjsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KLmRmcC1mb290IGE6aG92ZXIgewogIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwp9CmEucmVzdGFydCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHRvcDogMzVweDsKICBjb2xvcjogIzAyNjdmZjsKICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICBjdXJzb3I6IHBvaW50ZXI7Cn0KYS5yZXN0YXJ0IGkgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBsZWZ0OiAtNzVweDsKICB0b3A6IC0xNXB4OwogIGZvbnQtc2l6ZTogNjBweDsKICBwYWRkaW5nOiAwOwp9Ci5kZWFsLWZpbmlzaC1wb3B1cC13aW4sIC5kZWFsLWZpbmlzaC1wb3B1cC1sb3NlIHsKICBkaXNwbGF5OiBub25lOwp9Ci5kZWFsLWZpbmlzaC1wb3B1cC1sb3NlIGgyLmRmcC1oZWFkIHsKICBjb2xvcjogIzZDQTkyNDsKfQoKLmRlYWwtZmluaXNoLXBvcHVwLXdpbiwgLmRlYWwtZmluaXNoLXBvcHVwLWxvc2UgewogIGRpc3BsYXk6IG5vbmU7Cn0KCi5kZWFsLWZpbmlzaGVkIC5kZWFsLWZpbmlzaC1wb3B1cCB7CiAgZGlzcGxheTogYmxvY2s7CiAgb3BhY2l0eTogMTsKfQoKLmRlYWwtZmluaXNoZWRfd2luIC5kZWFsLWZpbmlzaC1wb3B1cC13aW4gewogIGRpc3BsYXk6IGJsb2NrOwp9CgouZGVhbC1maW5pc2hlZF9sb3NlIC5kZWFsLWZpbmlzaC1wb3B1cC1sb3NlIHsKICBkaXNwbGF5OiBibG9jazsKfQoKLmRlYWwtZmluaXNoLXBvcHVwLWxvc2UgaDIuZGZwLWhlYWQgewogIGNvbG9yOiAjZDQ0YTNkOwp9CgoKLmJsb2NrLWNoYXJ0c3sKICBwYWRkaW5nOiAxMHB4OwogIGJhY2tncm91bmQ6ICMyQTMwNDA7CiAgLypib3JkZXItbGVmdDogc29saWQgMTBweCAjMUYyMzJFOyovCiAgLypwYWRkaW5nLWxlZnQ6IDA7Ki8KfQoubWluaS1jaGFydC13cmFwOmFmdGVyewogIGNsZWFyOiBib3RoOwogIGNvbnRlbnQ6ICcnOwogIGRpc3BsYXk6IGJsb2NrOwp9Ci5ibG9jay1jaGFydHN7CiAgd2lkdGg6NzAwcHg7Cn0KLm1pbmktY2hhcnQtd3JhcHsKICB3aWR0aDogMTAwJTsKfQoubWMtbG9nby1lbXB0eSB7CiAgZGlzcGxheTpub25lOwp9CgoubWMtdGFibGUtdGQgewogIHdpZHRoOjMzJTsKICBoZWlnaHQ6IDEwMCU7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Cgoub3V0ZXIgLmxnLW9nbyB7CiAgYmFja2dyb3VuZDp1cmwoL2Fzc2V0cy9pbWcvbG9nb19lbl8yMDAucG5nKSAxMHB4IGNlbnRlciBuby1yZXBlYXQgI2YyZjJmMjsKICBiYWNrZ3JvdW5kLXNpemU6MjUlOwp9Ci5vdXRlciAubWMtbG9nby1lbXB0eSB7CiAgaGVpZ2h0OjkwcHg7CiAgd2lkdGg6MzAlICFpbXBvcnRhbnQ7CiAgZGlzcGxheTpibG9jayAhaW1wb3J0YW50Owp9Cgoub3V0ZXIgLm1jLXRhYmxlLXRkLWxlZ2VuZCB7CiAgcGFkZGluZy10b3A6MzFweDsKfQoub3V0ZXIgLm1jLXRhYmxlLXRkIHsKICB3aWR0aDoyMiU7Cn0KLmJsb2NrLWNoYXJ0cyAub25lLWNoYXJ0CSB7CiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7Cn0KCgoudWktYnV0dG9uc2V0IC51aS1idXR0b24gewogIG1hcmdpbi1sZWZ0OiAwOwogIG1hcmdpbi1yaWdodDogLS4zZW07Cn0KLnVpLWJ1dHRvbiB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBwYWRkaW5nOiAwOwogIGxpbmUtaGVpZ2h0OiBub3JtYWw7CiAgbWFyZ2luLXJpZ2h0OiAuMWVtOwogIGN1cnNvcjogcG9pbnRlcjsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICBvdmVyZmxvdzogdmlzaWJsZTsKICBiYWNrZ3JvdW5kOiAjMDJCMjhDOwogIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgY29sb3I6ICNFMEUxRTQ7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIG1hcmdpbi1ib3R0b206IDEwcHg7Cn0KLnVpLWJ1dHRvbjpob3ZlcnsKICBiYWNrZ3JvdW5kOiAjMDdDMUVBOwp9Ci51aS1zdGF0ZS1hY3RpdmUsIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtYWN0aXZlLCAudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtYWN0aXZlIHsKICBiYWNrZ3JvdW5kOiAjM0E0MTU1Owp9Ci51aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUgewogIGJvcmRlcjogMDsKICBjbGlwOiByZWN0KDAgMCAwIDApOwogIGhlaWdodDogMXB4OwogIG1hcmdpbjogLTFweDsKICBvdmVyZmxvdzogaGlkZGVuOwogIHBhZGRpbmc6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAxcHg7Cn0KLnVpLWJ1dHRvbi10ZXh0LW9ubHkgLnVpLWJ1dHRvbi10ZXh0IHsKICBwYWRkaW5nOiAuNmVtIDFlbTsKfQoudWktYnV0dG9uIC51aS1idXR0b24tdGV4dCB7CiAgZGlzcGxheTogYmxvY2s7CiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsKfQoubWMtdGFibGUtdGRfcHJvZml0IC5tYy10YWJsZS10ZC12YWx1ZSB7CiAgY29sb3I6ICNGNEY0RjU7Cn0KI2NoYXJ0LW0gewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUYyMzJFOzsKfQoKLmN0LWNoYXJ0IHsKICAvKnRvcDogMDsqLwogIC8qbGVmdDogMDsqLwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsKICB3aWR0aDogMTAwJSAhaW1wb3J0YW50Owp9CgouZGVhbC1maW5pc2gtcG9wdXAgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB6LWluZGV4OiAyMDA7CiAgdG9wOiAwOwogIGxlZnQ6IDA7CiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjczKTsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7CiAgY29sb3I6IHdoaXRlOwogIG9wYWNpdHk6IDA7CiAgLypkaXNwbGF5OiBub25lOyovCiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZSAwLjFzOwogIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlIDAuMXM7CiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UgMC4xczsKfQoKI2NoYXJ0LWhvbGRlciB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5sb29zZSBoMi5kZnAtaGVhZCB7CiAgY29sb3I6ICNGNzRBNUM7Cn0KCi5tYy1sb2dvIGZvcm0gewogIG1hcmdpbjogMCAhaW1wb3J0YW50Owp9"}},"time_used":10,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":10,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/runtime-embed_medium_widget.93759779765090741e99.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.858Z","timestamp":1785120633858,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/runtime-embed_medium_widget.93759779765090741e99.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-7d9a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:32:38\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 3d3505bd1f8add616cdc60a017c03ebb\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":32154,"size_decoded":16553,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3769)","md5":"aacdfad6e0c3fa40302bddb34e43018c","sha1":"1142506ad9e4a57315e2ba4214ba1e71177a7a2c","sha256":"d8cc7c5391845edd563077448a35b9e0410f4593fdc20f33fd3fcc7d69693930","sha512":"632ac4a9de96a62e5b0ddcc0ea2c2056465ad238eaf82d343ba317c0ccfe1cf13fa498f8b76d209420b04075dd8d4ecfd04b2682de4f59737aa95a701228b6bb","ssdeep":"768:2Xo4Qv+wwrIm1jLIZk9PeFyVT1BuQ6KZUh9qWxZjI6myocSY:2Xo4mHwrLPeFqfuQQh9HrYyDF","tlshash":"68e27eec963c967336f12d686d3a9ca3f33c34137c1980d463a3b9650aa5ff49622953","first_seen":"2026-07-24T23:32:32.638488Z","last_seen":"2026-07-27T06:01:16.383092Z","times_seen":21,"resource_available":true,"data":"KCgpPT57InVzZSBzdHJpY3QiO3ZhciBlLGEsYyxkLGYsYix0PXt9LHI9e307ZnVuY3Rpb24gbihlKXt2YXIgYT1yW2VdO2lmKHZvaWQgMCE9PWEpcmV0dXJuIGEuZXhwb3J0czt2YXIgYz1yW2VdPXtpZDplLGxvYWRlZDohMSxleHBvcnRzOnt9fTtyZXR1cm4gdFtlXS5jYWxsKGMuZXhwb3J0cyxjLGMuZXhwb3J0cyxuKSxjLmxvYWRlZD0hMCxjLmV4cG9ydHN9bi5tPXQsbi5fcGx1cmFsPXthcjooZSxhPTYsYz0oMD09ZT8wOjE9PWU/MToyPT1lPzI6ZSUxMDA+PTMmJmUlMTAwPD0xMD8zOmUlMTAwPj0xMSYmZSUxMDA8PTk5PzQ6NSkpPT5udWxsPT1lPzA6K2MsY3M6KGUsYT0zLGM9KDE9PWU/MDplPj0yJiZlPD00PzE6MikpPT5udWxsPT1lPzA6K2MscnU6KGUsYT0zLGM9KGUlMTA9PTEmJmUlMTAwIT0xMT8wOmUlMTA+PTImJmUlMTA8PTQmJihlJTEwMDwxMHx8ZSUxMDA+PTIwKT8xOjIpKT0+bnVsbD09ZT8wOitjLHJvOihlLGE9MyxjPSgxPT1lPzA6ZSUxMDA+MTl8fGUlMTAwPT0wJiYwIT1lPzI6MSkpPT5udWxsPT1lPzA6K2MscGw6KGUsYT0zLGM9KDE9PWU/MDplJTEwPj0yJiZlJTEwPD00JiYoZSUxMDA8MTB8fGUlMTAwPj0yMCk/MToyKSk9Pm51bGw9PWU/MDorYyxwdDooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLGRlOihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsZW46KGUsYT0yLGM9MSE9ZSk9Pm51bGw9PWU/MDorYyxlczooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLHN2OihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsaXQ6KGUsYT0yLGM9MSE9ZSk9Pm51bGw9PWU/MDorYyx0cjooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLGVsOihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsZnI6KGUsYT0yLGM9ZT4xKT0+bnVsbD09ZT8wOitjLGZhOihlLGE9MSxjPTApPT5udWxsPT1lPzA6K2MsamE6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorYyxrbzooZSxhPTEsYz0wKT0+bnVsbD09ZT8wOitjLHRoOihlLGE9MSxjPTApPT5udWxsPT1lPzA6K2Msdmk6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorYyx6aDooZSxhPTEsYz0wKT0+bnVsbD09ZT8wOitjLGhlX0lMOihlLGE9NCxjPSgxPT1lPzA6Mj09ZT8xOmU+MTAmJmUlMTA9PTA/MjozKSk9Pm51bGw9PWU/MDorYyxjYV9FUzooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLG5sX05MOihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsaHVfSFU6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorYyxpZF9JRDooZSxhPTEsYz0wKT0+bnVsbD09ZT8wOitjLG1zX01ZOihlLGE9MSxjPTApPT5udWxsPT1lPzA6K2MsemhfVFc6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorY30sbi5hbWREPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJkZWZpbmUgY2Fubm90IGJlIHVzZWQgaW5kaXJlY3QiKX0sZT1bXSxuLk89KGEsYyxkLGYpPT57aWYoIWMpe3ZhciBiPTEvMDtmb3Iobz0wO288ZS5sZW5ndGg7bysrKXtmb3IodmFyW2MsZCxmXT1lW29dLHQ9ITAscj0wO3I8Yy5sZW5ndGg7cisrKSghMSZmfHxiPj1mKSYmT2JqZWN0LmtleXMobi5PKS5ldmVyeSgoZT0+bi5PW2VdKGNbcl0pKSk/Yy5zcGxpY2Uoci0tLDEpOih0PSExLGY8YiYmKGI9ZikpO2lmKHQpe2Uuc3BsaWNlKG8tLSwxKTt2YXIgcz1kKCk7dm9pZCAwIT09cyYmKGE9cyl9fXJldHVybiBhfWY9Znx8MDtmb3IodmFyIG89ZS5sZW5ndGg7bz4wJiZlW28tMV1bMl0+ZjtvLS0pZVtvXT1lW28tMV07ZVtvXT1bYyxkLGZdfSxuLkY9e30sbi5FPWU9PntPYmplY3Qua2V5cyhuLkYpLm1hcCgoYT0+e24uRlthXShlKX0pKX0sbi5uPWU9Pnt2YXIgYT1lJiZlLl9fZXNNb2R1bGU/KCk9PmUuZGVmYXVsdDooKT0+ZTtyZXR1cm4gbi5kKGEse2F9KSxhfSxjPU9iamVjdC5nZXRQcm90b3R5cGVPZj9lPT5PYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk6ZT0+ZS5fX3Byb3RvX18sbi50PWZ1bmN0aW9uKGUsZCl7aWYoMSZkJiYoZT10aGlzKGUpKSw4JmQpcmV0dXJuIGU7aWYoIm9iamVjdCI9PXR5cGVvZiBlJiZlKXtpZig0JmQmJmUuX19lc01vZHVsZSlyZXR1cm4gZTtpZigxNiZkJiYiZnVuY3Rpb24iPT10eXBlb2YgZS50aGVuKXJldHVybiBlfXZhciBmPU9iamVjdC5jcmVhdGUobnVsbCk7bi5yKGYpO3ZhciBiPXt9O2E9YXx8W251bGwsYyh7fSksYyhbXSksYyhjKV07Zm9yKHZhciB0PTImZCYmZTsoIm9iamVjdCI9PXR5cGVvZiB0fHwiZnVuY3Rpb24iPT10eXBlb2YgdCkmJiF+YS5pbmRleE9mKHQpO3Q9Yyh0KSlPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0KS5mb3JFYWNoKChhPT5iW2FdPSgpPT5lW2FdKSk7cmV0dXJuIGIuZGVmYXVsdD0oKT0+ZSxuLmQoZixiKSxmfSxuLmQ9KGUsYSk9Pntmb3IodmFyIGMgaW4gYSluLm8oYSxjKSYmIW4ubyhlLGMpJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxjLHtlbnVtZXJhYmxlOiEwLGdldDphW2NdfSl9LG4uZj17fSxuLmU9ZT0+UHJvbWlzZS5hbGwoT2JqZWN0LmtleXMobi5mKS5yZWR1Y2UoKChhLGMpPT4obi5mW2NdKGUsYSksYSkpLFtdKSksCm4udT1lPT4xMjg1OD09PWU/Il9fTEFOR19fLiIrZSsiLmFkNzJkNzZjNDFiYmQ0MTUyMzFlLmpzIjoyODgzMT09PWU/Il9fTEFOR19fLiIrZSsiLmY5ZTczNTZmZjkxZjgzN2Y0N2M3LmpzIjo5Mjk2ND09PWU/Il9fTEFOR19fLiIrZSsiLmFhNjcwZGRmZDE2NTk1OTY0YWViLmpzIjo5NDk0Nz09PWU/Il9fTEFOR19fLiIrZSsiLjc4MzUwYTk5MDMwNTZiOTkzYzI2LmpzIjo2NDEzMj09PWU/Il9fTEFOR19fLiIrZSsiLjIzYzczZmZlNjQ5YTY0NDlkZjNlLmpzIjo1NzE4ND09PWU/Il9fTEFOR19fLiIrZSsiLmRjNTc5YjA2OTllYWQ3YzRhZTVkLmpzIjo2NDIwMD09PWU/Il9fTEFOR19fLiIrZSsiLmFiNDQ4NzkyYTVmNTY1OWEyZDEyLmpzIjo1ODY2Nz09PWU/Il9fTEFOR19fLiIrZSsiLmQxNWZjNGI1YzYzMWJiNWVjZThkLmpzIjozNzg2NT09PWU/Il9fTEFOR19fLiIrZSsiLjIwYjlkNzQ0MTVkMGNiYzU1NWExLmpzIjo0NTg4Mz09PWU/Il9fTEFOR19fLiIrZSsiLjYxNDY2ZGRiNzZhZTc4ZTQ2OTQxLmpzIjoyNjk3Mz09PWU/Il9fTEFOR19fLiIrZSsiLjlhZTU2ZDYyMWE1ZjI5ODI3ZTAwLmpzIjoyMzU2Nz09PWU/Il9fTEFOR19fLiIrZSsiLjVmZGRjMTU5OTgxNDJjYmM2MWVmLmpzIjo4NTUzNz09PWU/Il9fTEFOR19fLiIrZSsiLjQ5ZmRhMTNlMTg3NjEyNDYzZjg0LmpzIjo5NjQ0OD09PWU/Il9fTEFOR19fLiIrZSsiLmEyMzA5M2IyMGMyZTQ4YWFjMTJiLmpzIjo2MDkzOT09PWU/Il9fTEFOR19fLiIrZSsiLmVlNmNiZWVmODZkZDhmZjEwOTY0LmpzIjo0OTIxNT09PWU/Il9fTEFOR19fLiIrZSsiLjJjMjE1NmZhMGU4NTQ1Y2JjYWFiLmpzIjoyMDg2Nj09PWU/Il9fTEFOR19fLiIrZSsiLjNkYjhlOGVlZWU2ODZhNTA5YjIwLmpzIjo0MTI4MD09PWU/Il9fTEFOR19fLiIrZSsiLjJhYTNjZDA3ZDYwMGViOTZjYmJjLmpzIjo4MTM5NT09PWU/Il9fTEFOR19fLiIrZSsiLmI2ZDgzYzc0ODhkZjQ5MDM5NGY4LmpzIjoyNjc3MT09PWU/Il9fTEFOR19fLiIrZSsiLmUzYjAzNTVjZmZkMDc3YmRlMjQyLmpzIjoxMDY3ND09PWU/Il9fTEFOR19fLiIrZSsiLjY1YWNkY2NmZWYwZjNmNDk4MmUwLmpzIjo0OTc0Nz09PWU/Il9fTEFOR19fLiIrZSsiLjlmZGRlOGRmYmQ0NTY2MzhmMzExLmpzIjozODUzNT09PWU/Il9fTEFOR19fLiIrZSsiLjI2OTE4OTI3NWFkZGQxZjc2N2I1LmpzIjo1OTMxPT09ZT8iX19MQU5HX18uNTkzMS4yZDAwYTEwNjc4ZTc4Y2Q2NmM5Mi5qcyI6ODYzMT09PWU/Il9fTEFOR19fLjg2MzEuN2FjZjJiYTQ0MjE2MzMyM2E2ZWMuanMiOjg0OTAwPT09ZT8iX19MQU5HX18uIitlKyIuMGQzNzYyZmQwY2U3MjNlNTQxZGIuanMiOjU0OTg9PT1lPyJfX0xBTkdfXy41NDk4LjhlNGNjYzdjZWY4YmZhZjM5Mzk5LmpzIjo3MzcyNT09PWU/Il9fTEFOR19fLiIrZSsiLmFiNzNlOTU0ZDJjZDFiZTM2ZGM0LmpzIjo0MDg5Mj09PWU/Il9fTEFOR19fLiIrZSsiLjc2ZWUzYzUyNDE3YTYwZmIwOTMxLmpzIjo0ODgzNz09PWU/Il9fTEFOR19fLiIrZSsiLmVkNjU2NzNlNTgzN2NkODY3MzdhLmpzIjoxODc4MT09PWU/Il9fTEFOR19fLiIrZSsiLjM4ZjEwM2NlYjM1MWQ2OGMyZjhmLmpzIjo4NDY5Mz09PWU/Il9fTEFOR19fLiIrZSsiLjcxNWNiN2IyNzMyZjIwYzRjOTYxLmpzIjo0OTY4ND09PWU/Il9fTEFOR19fLiIrZSsiLjQ5OWNmYmQ3MzQ3ZTk3NDcyMjI4LmpzIjo4ODQzMj09PWU/Il9fTEFOR19fLiIrZSsiLjQ0MDYwYWRkMjE2MjgwY2ZhMGQzLmpzIjoxMjY1Mz09PWU/Il9fTEFOR19fLiIrZSsiLjYzNTc2NjU5MmI0NmRlNzQ4ZThkLmpzIjoxNzEyMz09PWU/Il9fTEFOR19fLiIrZSsiLmFkNGQ4ZTc2ODNlMzQ2ZjEyZTEyLmpzIjoyNTc1Mz09PWU/Il9fTEFOR19fLiIrZSsiLjczN2Y2NTNhN2IxM2YwNmE5ZmNlLmpzIjozNDkwOD09PWU/Il9fTEFOR19fLiIrZSsiLjQ4OGNkMTQ3MzYwMTljZWYyN2JjLmpzIjo4ODk5Nz09PWU/Il9fTEFOR19fLiIrZSsiLjI1OTkxZGE1OWUyMGE3OTZlZGFhLmpzIjo0ODkxMj09PWU/Il9fTEFOR19fLiIrZSsiLjA3ZjEzZTY5NGRkZjU0YjRkZWViLmpzIjo2NDQ0MT09PWU/Il9fTEFOR19fLiIrZSsiLjZkM2EwN2I5YTgxNDA4NzMxY2M0LmpzIjozMzM5MT09PWU/Il9fTEFOR19fLiIrZSsiLmFlZGQxZDNjZWVmYmU0Y2U2ODAyLmpzIjoxMDg0MT09PWU/Il9fTEFOR19fLiIrZSsiLjc2NmY5NjY4NzhiN2Y4NzI2ZDc0LmpzIjoxOTkxNj09PWU/Il9fTEFOR19fLiIrZSsiLjQyZWUxZTk4ZDc1MzBhYTU2NTUzLmpzIjo2MzU1Mz09PWU/Il9fTEFOR19fLiIrZSsiLmQxZWU2MTk4YjcwMjg0NzhkZDYyLmpzIjo2MTA2Nj09PWU/Il9fTEFOR19fLiIrZSsiLjNjYjZjNjQyM2M2YjFmYTAxMGRmLmpzIjo3NjM4NT09PWU/Il9fTEFOR19fLiIrZSsiLmEzOGM4ZTkyMTk2MGNlYTQ0MDE5LmpzIjoyNjA1PT09ZT8iX19MQU5HX18uMjYwNS5mNzAwYWY2Y2I4MGIwNmU1NTRkZC5qcyI6OTk4NjU9PT1lPyJfX0xBTkdfXy4iK2UrIi41NTg4ZjJiZGYzNDkxMmVjMTQ0OC5qcyI6OTk3NjU9PT1lPyJfX0xBTkdfXy4iK2UrIi42ZGE2YmRiYjA4ZjZmN2I5YzFkZC5qcyI6MzA1OTc9PT1lPyJfX0xBTkdfXy4iK2UrIi44NGE0YjNlM2NjYjZkN2MyZjIyYS5qcyI6NDU1MjI9PT1lPyJfX0xBTkdfXy4iK2UrIi4zYTY2MGExNDIxMjRhZGY0NTA0My5qcyI6MTAzMz09PWU/Il9fTEFOR19fLjEwMzMuNzM0YmQ3ZGFmZTc3N2NmMmRmNjEuanMiOjg4ODkxPT09ZT8iX19MQU5HX18uIitlKyIuMmY2NjNiZDEyNWRiMjhmMWNiZGEuanMiOjg4NDI9PT1lPyJfX0xBTkdfXy44ODQyLmY0ODQ0YjQ0MDc4MWIxOWU0NTA4LmpzIjoxOTAzND09PWU/Il9fTEFOR19fLiIrZSsiLjMwNTE3MjA0N2U3ZmFiYjUzNDgxLmpzIjoxNjcyPT09ZT8iX19MQU5HX18uMTY3Mi5mY2Y2OTljNDJjYmY2ZGEwNTAzZC5qcyI6MjEzOTc9PT1lPyJfX0xBTkdfXy4iK2UrIi4zNDFmNmM3Yjc2NTdlNTU1NGRmMC5qcyI6MjkxNjk9PT1lPyJfX0xBTkdfXy4iK2UrIi5jMzU3M2RkMzNhYmVlZWViZWYwNC5qcyI6MTg4OTg9PT1lPyJfX0xBTkdfXy4iK2UrIi5kZjg2NzhmYjFmZWY3NzFiNTNhYS5qcyI6MTg2Mjg9PT1lPyJfX0xBTkdfXy4iK2UrIi4zMmIwYmMyMDhkNWUxOTBhMzczMy5qcyI6NzM2MzM9PT1lPyJfX0xBTkdfXy4iK2UrIi4wNWI1ZWZmNDZkNTkxNTcxNGZmYy5qcyI6Njc5NDk9PT1lPyJfX0xBTkdfXy4iK2UrIi45NDAxYWZjYjdiZDQ3N2UzMTlhMS5qcyI6Njg4NjA9PT1lPyJfX0xBTkdfXy4iK2UrIi4zNzY2ZDExMDc4ODEyZDdmMTQ1Ny5qcyI6ODIwMDM9PT1lPyJfX0xBTkdfXy4iK2UrIi5kNzQ4Yjg2ODgwMzhlNzI5ZWYwOS5qcyI6Mzk5ODg9PT1lPyJfX0xBTkdfXy4iK2UrIi4zYzlkNDZkNjlmNWFkNzIxMDlhMC5qcyI6NTg4MjA9PT1lPyJfX0xBTkdfXy4iK2UrIi4wOWI0MWQyZWQ4NGI3OWY0ZmUyNC5qcyI6MTcwOTI9PT1lPyJfX0xBTkdfXy4iK2UrIi44OWQ4ZTBiZjUxYTc3ZDZjZTczMS5qcyI6MTc4NTk9PT1lPyJfX0xBTkdfXy4iK2UrIi40YTU4MGFjZTQ5MTRmMTE1Y2QwNy5qcyI6Mjg4NzU9PT1lPyJfX0xBTkdfXy4iK2UrIi5lZGUxYjcyMTgxNjkzZDFhY2Y0Zi5qcyI6NDcwMzA9PT1lPyJfX0xBTkdfXy4iK2UrIi45YWE2ZTBmZjRlZGRhMTY4NzUzNi5qcyI6Mjk2MTg9PT1lPyJfX0xBTkdfXy4iK2UrIi5kZDIwOGZhOWQyNmU3MzI4MTA5Yy5qcyI6Mzk1MDQ9PT1lPyJfX0xBTkdfXy4iK2UrIi5lYjdjODU4YTIzMTA4YWNhN2ZlZS5qcyI6MTc2NjI9PT1lPyJfX0xBTkdfXy4iK2UrIi40N2Y1YzljYWY2NjBjNGQwZTgwNC5qcyI6KHsKNTc3OiJjb252ZXJzaW9uLWNvbnRleHQiLDE1MjE6Inp4Y3ZibkVuUGFja2FnZSIsMTY0NjoibGVnZW5kLXZpZXctcmVuZGVyZXIiLDIyODQ6InJlZ3dhbGxzLW1hbmFnZXIiLDM5NjE6InByb2ZpbGUtYXBpIiw3Mzk3OiJwZXJpb2QtZm9ybWF0dGVyIiw3NzE4OiJwaW5lLm1vbmFyY2gudjUiLDg2MDg6InN1cHBvcnQtZGlhbG9nLWltcGwiLDk1OTk6ImNvbnRhY3QtYWR2YW5jZWQtY2hhcnRzLWRpYWxvZyIsMTMxMjM6ImVhcmx5LWJpcmQtYmFubmVyIiwxMzcxOToicGhvbmUtY2hhbmdlLWZsb3ciLDEzNzMyOiJmdWxsc2NyZWVuLWltYWdlLWRpYWxvZy1pbXBsIiwxMzk5MzoicHVzaHN0cmVhbS1tdWx0aXBsZXhlciIsMTU3Njc6Inp4Y3ZibkNvbW1vblBhY2thZ2UiLDE2ODEzOiJ0cmFkaW5ndmlldy1jb3B5cmlnaHQtd2l0aC1ib3JkZXItZGF0YS1pbXBsIiwxOTAxMjoibW9uYXJjaC5jb2xvcml6ZXIiLDE5MzExOiJ0YWtlLXNjcmVlbnNob3QiLDE5NzY5OiJzdWJzY3JpcHRpb24taGFzLWNoYW5nZWQtZGlhbG9nIiwyMTI2MDoibnNkLXVucGFjay1pbXBsIiwyMzc2OToic3VwcG9ydC13aXphcmQtc2hvcnRjdXQtcGFnZSIsMjYwNjY6ImNvbnRhY3QtcHJpdmFjeS1wb2xpY2llcy1kaWFsb2ciLDI4NTA3OiJnZXQtZXJyb3ItY2FyZCIsMzAzMDQ6ImNvbnRhY3QtZWR1Y2F0aW9uYWwtZGlhbG9nIiwzMjEwMDoibWVkaXVtLXdpZGdldC1jcmVhdG9yIiwzMjYxMzoiY29udGFjdC1lbnRlcnByaXNlLXBsYW5zLWRpYWxvZyIsMzMzOTI6InN5bWJvbC1vdmVydmlldy10aWNrZXItcmVuZGVyZXIiLDM0ODc5OiJpbnRlcnJ1cHQtY29uZmlybS1tb2RhbCIsMzU1OTI6ImVycm9yLWxvdHRpZS1hbmltYXRpb24iLDM1OTgwOiJjbGVhci1vbGQtc2V0dGluZ3MiLDM4Nzg3OiJwYWdlLXNuYXBzaG90IiwzOTQ0MjoiY29udmVydC1tZWRpYXRvci1zdG9yeSIsNDAxMDE6InR2LWNvaW5zLWRpYWxvZyIsNDI3MDY6InNpbXBsZS1kaWFsb2ciLDQ0MTYyOiJ0aW1lLWZyYW1lLXZpZXctcmVuZGVyZXIiLDQ1MzIyOiJsaWdodHdlaWdodC1jaGFydC1wcmljZS10aW1lLXRvb2x0aXAiLDQ2MTY5OiJ1cGdyYWRlRGlhbG9nIiw0NjQ4Mjoic3ltYm9sLW92ZXJ2aWV3LWRhdGEtbW9kZSIsNDc5NjE6ImRlY2xhcmF0aW9uIiw0ODAwMjoiY29udGFjdC13aWRnZXRzLWRpYWxvZyIsNDgxNzg6InN1cHBvcnQtd2l6YXJkLXdhcm5pbmdzIiw0ODQxMzoic3VwcG9ydC13aXphcmQtaGlnaC12b2x1bWUtaW5mbyIsNDg1NTI6InZpZGVvLWJhbm5lci1kaWFsb2ciLDQ5ODM5OiJzb3VyY2UtdGFnLXBvcG92ZXIiLDUwMTgyOiJnbG9iYWwtbm90aWZpY2F0aW9uIiw1MjY5OToidGltZS1mcmFtZS10aGVtZS1sZW50YXJ1LXN0eWxlcyIsNTM3NzA6ImdldC1tZWRpYXRvci1hcGkiLDUzODgxOiJnby10by10cmFkaW5ndmlldy1yZWZlcnJhbC1kaWFsb2ciLDU0NDQ5OiJzeW1ib2wtb3ZlcnZpZXctbWFya2V0LXN0YXR1cyIsNTQ2MTU6InJlZmVycmFsLXdlbGNvbWUiLDU1MzU2OiJnbG9iYWwtbm90aWZpY2F0aW9uLXRvb2xzIiw1NTk2MDoiY29udGFjdC1zZWN1cml0eS1yZXBvcnQtZGlhbG9nIiw1NjAwODoibmV3cy1kZXNjcmlwdGlvbi1kaWFsb2ciLDU2MTU2OiJtaW5pLWNoYXJ0LW1hLXBsb3QiLDU3NjM5OiJtaW5pLWNoYXJ0LXN5bWJvbC1kYXRhIiw1NzcxNDoidXNlci1zdGF0dXMtZGVjbGFyYXRpb24iLDU4NjEzOiJjaGFuZ2UtcGxhbi1kaWFsb2ctaW1wbCIsNTg4MTc6InZhbGlkYXRlLWludGwtYWRkcmVzcy1kaWFsb2ciLDYxNDQxOiJtZWRpdW13aWRnZXRyZW5kZXJlci1ibGFua2V0Iiw2MTUzMzoic3RvcnktaXRlbS10cmFuc2Zvcm0iLDYyMjM0OiJuc2QtaW5mbGF0ZS1wYWtvIiw2MjU1Nzoic3VwcG9ydC13aXphcmQtd2hhdHMtbmV3LXBhZ2UiLDYyODExOiJ3YXJuaW5nLXBvcHVwLWltcGwiLDYzMDg4OiJwaW5lLm1vbmFyY2gudjMiLDY0NjQ0OiJyZWFjdCIsNjU2MjM6InBvcC1vdmVyIiw2NTk0NzoidmFsaWRhdGUtYWRkcmVzcy1kaWFsb2ciLDY2Mzk5OiJzbm93cGxvdy10cmFja2VyIiw2NjY4NzoicmVjYXB0Y2hhLXBvcHVwIiw2ODE1NToiaW1hZ2UtZGlhbG9nIiw2OTA4MzoibWVkaXVtd2lkZ2V0cmVuZGVyZXItdGFicy1sZW50YXJ1LXN0eWxlcyIsNjk0ODY6ImNsZWFyLWNvbnZlcnNhdGlvbi1tb2RhbCIsNjk4NzQ6ImxvdHRpZS53b3JrZXIiLDY5ODgxOiJ3cm9uZy1hY2NvdW50LWRpYWxvZyIsNzExODU6ImJhc2ljLXF1b3Rlcy1zbmFwc2hvdGVyIiw3MTE5MjoicXVvdGUtdGlja2VyIiw3MTMxOToiYWxlcnRzLWNvbGxlY3Rpb24iLDcxMzk0OiJjbW9uZXljb210dy1jb3B5cmlnaHQtZGF0YS1pbXBsIiw3MjExMToicGluZS5tb25hcmNoLnY0Iiw3MzMwMDoiY29udGFjdC1icm9rZXJhZ2UtaW50ZWdyYXRpb24tZGlhbG9nIiw3NjA0MDoidHJhZGluZ3ZpZXctY29weXJpZ2h0LW5ldy1kYXRhLWltcGwiLDc3NzY0OiJ3aWRnZXQtdGFicyIsNzg3MTc6InBpbmUubW9uYXJjaC52NiIsNzg4NDE6Im1hdGNoZXJQd25lZEZhY3RvcnkiLDc4ODc3OiJwYXltZW50LW9yZGVyLWRpYWxvZyIsNzkwNDE6InRyYWRpbmd2aWV3LWNvcHlyaWdodC10cmFkZS13aXRoLWRhdGEtaW1wbCIsODA5Mzk6InRyYW5zbGF0ZWQtc3ltYm9sLWRlc2NyaXB0aW9uIiw4NDA3MDoic2hvdy1lcnJvci1kaWFsb2ciLDg1MDM4OiJsZW50YXJ1LWNvcHlyaWdodC1kYXRhLWltcGwiLDg1OTc0OiJzaWduaW4tZGlhbG9nIiw4NjAwMToicGF5d2FsbC1tYW5hZ2VyIiw4NjY5NjoibWVkaXVtLXdpZGdldC12YWx1ZXMtaW4tbGVnZW5kLXJlbmRlcmVyIiw4NjkxNDoic3Bpbm5lciIsODcxOTY6ImxpZ2h0d2VpZ2h0LW1pbmljaGFydC1zdHVkeS1kYXRhLXNvdXJjZSIsODg1OTA6Im9wZW4tcHJpY2luZyIsODg2NDA6InN1cHBvcnQtd2l6YXJkLW1haW4tcHJvYmxlbSIsOTA0MTU6InN5bXBob255LWNvbW11bmljYXRpb24iLDkwODEwOiJhZGQtbWluaS1jaGFydC1jb3B5cmlnaHQtaW1wbCIsOTA4NjQ6InVzZS11c2VyLXRoZW1lIiw5MDg4MDoicmVuZGVyLXVuc3Vic2NyaWJlLWRpYWxvZyIsOTEyOTI6InBheXdhbGwtb3BlbiIsOTI5Njg6ImNoYXRib3QiLAo5MzI0ODoiYWxlcnRzLXJlc3BvbnNlLW1vY2tzIiw5MzI3OToibWluaS1jaGFydC1iYXItYnVpbGRlciIsOTUyMDc6InNub3dwbG93LXRyYWNrZXItYmFzZSIsOTU0ODY6Im1pbmktY2hhcnQtb3ZlcmxheS1wbG90Iiw5NTc1NjoidHYtY29pbnMiLDk2MzM3OiJjb250YWN0LXRyYWRpbmctZWRpdGlvbi1kaWFsb2ciLDk3MjAyOiJnb3Byby1vcmRlci1kaWFsb2ciLDk3NTA5OiJ0cmFkaW5ndmlldy1jb3B5cmlnaHQtZGF0YS1pbXBsIiw5ODgzMDoidHdvLWZhY3Rvci1hcGkiLDk5ODA1OiJjb250YWN0LWFkdmVydGlzaW5nLWRpYWxvZyJ9W2VdfHxlKSsiLiIrezU3NzoiOWEzOTYxYzE0ZjIyOTNmOTA5ZWMiLDE1MjE6IjcyNGI1MGIwYTA4NmE4YjFlZmMwIiwxNTM0OiI3NGZmZTFlNzI1YTQ2NWQ0MzQxZSIsMTY0NjoiOGM4MDAwNWFmMjE1OGJkMDgzZGMiLDIyODQ6ImM0NGFhOTI2N2JlOGRjMWM3MTc5IiwzNDY3OiI4OTU1MGMyYjkxZGRjNDgwMjkwOSIsMzU1MjoiNGM1NTM1MTgzYjdhMDMzMGE4OWQiLDM5NjE6ImYzYjBjZWYzYWM5Y2Q4ZDExMDBkIiw0ODc2OiIyNzRkNTVhMDJkMzI0MDg3Njg3NiIsNjkzNDoiOTBlZGZlZjZjZTk4MzY5YWUwNGEiLDcyMTE6IjJmOTM0YjMwY2YzODY1MTcxNDQ2Iiw3Mjg1OiI4YmM4MjkyNjY1MjhmYTc0YWY1YyIsNzM5NzoiMDU5ZTYyMjkyNDAyMzI3MDE2YzQiLDc1MDQ6IjEyODhkMWQyOGIyZjQ3ZjdhYzQzIiw3NjA4OiI5ZGQxNDY0OTIyYzFlNjUxNTZhOCIsNzcxODoiOWExZTRkODM4ZTIyMmEzYTI3M2UiLDg0Njc6IjA4M2RkN2E1MTNkNzdkYjNkMzQ0Iiw4NjA4OiJkYTRjNjljMmFmODRmYjhmYzYyNiIsOTU5OToiZTg2NmZjNzFhNGY2OWFmZWEwOWIiLDEyMTgxOiJiNjVhNTgzNTVmZjdjYzM0OTUwZiIsMTI5NjU6IjQwNmVlNTlmYTAwOWYwZTljMjZiIiwxMzEyMzoiMzNjMDFmOWQ1MGJhM2NmZTFkYWEiLDEzMTQ4OiIzMmNjMDFkYzAxNzUxYjkxNjgyYyIsMTM3MTk6IjMzMjA4YWQwOTVjZTI4MjQwYTY4IiwxMzczMjoiNWFmMWVlYTVlMjA0ODhlMjkyMDQiLDEzOTkzOiIzYjE5OWM2YWQ4YmY1YzNjYWM2NyIsMTUwNDk6IjA4ZTA4ODhlN2Q0NWYzNzE0MTdhIiwxNTM5NDoiZmFjZjc1M2U4Y2RmYjliOTA4MzEiLDE1NzY3OiI5OGY4ZmU5NmJiNzhmZTUwOGUwNyIsMTYwNzY6IjZhNjJhNjRhNWFiZjE1MjI0M2E0IiwxNjgxMzoiN2U0NTI3YmM1NTIxOWVhM2FkNzYiLDE3Nzk3OiJiMmYyOTQ1MDAwYWNhYWYyZDE2NSIsMTc5OTE6ImEzMDdiZmUwMDIzNGRjNDE5YmZkIiwxOTAxMjoiYjc2YzU5ZmRhY2JhYmFiYWYzNDgiLDE5MzExOiI2MjhjNmQzZjc2ZGFjODgyZTgyZCIsMTk0NjM6ImNiOWE4MjU3N2NlODFiNDY5MmQzIiwxOTc2OToiYmVlM2NhZjYyMTY4YTk5YjFkZTYiLDIxMjYwOiJkMDk1NWFhZTc1Zjg3ZDNiZDQyMSIsMjMzNjQ6IjgwMmNkYWRhNzQ4NDU3Y2JmZGQ5IiwyMzc0MzoiNDczMzEzN2FmMmYyMzJhNmEzNGEiLDIzNzY5OiI2NmNlZTY1YTJhODYwYTMwNmQ4OCIsMjQ2OTg6ImJkOTU3MDczMDk1YmFiN2RhNTk2IiwyNTg1NDoiYTY3YzZkNWNmMzBlYjJjOTFjOTkiLDI2MDY2OiIwZjFmMWNiMTlhZjlmZjNhZjhjYyIsMjYxNDU6IjcyMTFmZjU4MDhmMGExOGExZTlkIiwyNjQ3MzoiZTY5MmVjNGE1MzI5Y2NlNjFhYzMiLDI2NzIzOiI4YTY4MDcyYzc3ZWMwMDI2NzkwNSIsMjc5MTM6IjI5MTg2MTIyNzIyY2YwY2NiOWRjIiwyODE3NjoiMjEzNDI4NjVlNzRmZmJlZmZmNDQiLDI4NTA3OiJlOWU1ZWVkMTA4ZGM5YjBiYjRhNyIsMzAyODg6IjU5MjA3YWEyNjA3ZWExNTk3Mjg3IiwzMDMwNDoiODk2YmUyNWFhOTIxYTgyMTRlMjQiLDMwNDIxOiI0MTJjMzE5ZGRiYWRjYzk5NWM3MSIsMzA2OTk6IjEzODZkZmFhNzhlNmU1ZjZjODdjIiwzMjEwMDoiYWNhZTg0ZjQxMDFiNDJmNGM4M2EiLDMyMzg3OiI0N2FjZTgzYzYxYTg4NDM0MWNkNiIsMzI2MTM6IjcyMzBkNzNlZGE2NDk1ZjlhOTBkIiwzMzM5MjoiNDlkMmRmNTZjODNlYjk0YzZmMGIiLDM0NjQ1OiI4NDFlYTYxNjg4ZWViYmJkNjk2YSIsMzQ4Nzk6IjFlNmNmMWY1YTkzNTg4ODFkZTY3IiwzNTU5MjoiZTI3MTFmNjViNWU0ZTQyNmM5MGQiLDM1OTgwOiJjMzQwNDJhNGExMGNiNWZiMmUzZCIsMzY5Mzg6IjU4NDU2ZGEwY2RiNGJiOWJiNDg1IiwzODM5ODoiMDI1NTBjMWE0OGFjOTM2MGNhOWEiLDM4Nzg3OiJlZWZhYjFkM2FmYmIzMzI4ZmVkNiIsMzk0NDI6IjI3NDA5NjNiNzhlZTRhNGU5NjQwIiwzOTYwOToiOGNlMGQ3OTNiMmI2MGJlN2E0ZDUiLDQwMTAxOiI0YzFiZGEyYWJiZmFiODQ3MzgyZCIsNDIxNzE6IjFjMDVkODE0N2MyMzBkODZiNGZhIiw0MjI4ODoiNDdlY2FlY2ExMDEyZWUzZTFkOGMiLDQyNzA2OiI2YjExNWU3Mzc3MjU0M2Y0YmMzMCIsNDQxNjI6IjFlNjJiYzczZGVkODU4MTJmMzQzIiw0NDc4MDoiNzlkMjA1MWQzYjg0Y2FlYWI0ZTYiLDQ1MzIyOiI4ODUxYTJkMmUxNWRiOTIxZDQ4YSIsNDYxNjk6IjE5MDM4NzljMjIyMWZjYWRjYmE4Iiw0NjIxNzoiM2Q4NjRiYjRhNzBkNGQzZDg0MGYiLDQ2NDgyOiIyNzNjYzM1MGU1NmEwM2Q4OTQyYiIsNDY4MjM6ImFiYTUxYmQxMWQyM2Q5Y2Y2MWUyIiw0Nzk2MToiN2M2OTViZWZkZDAwNzcxZmM0ZWQiLDQ4MDAyOiJiYTUxZGQ4MzYyMWIwYTQwODMwNyIsNDgxNzg6IjUzOWQ1NDZkM2RkNDk2NWM3MmRkIiw0ODQxMzoiZjNmMWMxNzJlMTU0Mjk0ZDE3NjIiLDQ4NTUyOiI5MzRjZDE0N2JhMzJhNzVmYzQ3OSIsNDg4NTQ6ImIwNzNmNGY1OWNlOWRkYzA5ZGY0Iiw0OTI2NToiYzIwOGVmODM3OWUwNzNmOTRkMTYiLDQ5ODM5OiIyNmZmZGU2OTc1MDI1MmE0ZDIyZiIsNTAxODI6ImE3YTlkNDExYWUyNzNmMzA1MTMyIiw1MTAzMToiNTM1ZjI3Yjc3NmYzOTRjN2U0M2EiLDUyNjk5OiJlODFlMmQ4Nzk1MWE2MGQ1NGU2MyIsNTI4MTE6IjI4NzAwZDQxZjQ2ODdiZTgxNTk3Iiw1MzY1MzoiMDMwYWQ1NDk5NzAxNTM0MzBmOTAiLDUzNzcwOiJiY2NkZjI4OGNhMWYyMDU0ZTE0NSIsNTM4ODE6IjNiY2MyZTRmYmEzZGJlZWM2OTEwIiw1NDQ0OToiMTk5Y2Y1Mzg4YWE3NWEzMDE2M2UiLDU0NjE1OiJhNDZkMzkzY2VjZDUwYzAyNmY5OSIsCjU1MjI5OiIyNTcyMTg4MTlmYWE2NjM5YTM4OSIsNTUzNTY6IjY1ODU5MTlkOGU5ZDllOWM3ODVjIiw1NTk2MDoiMzBlNjRmMzYxNmJlMjI1NjBjYzIiLDU1OTY5OiI0M2MzNzQ4MDE0ZGUyY2QwYmQxYyIsNTYwMDg6IjY1MTljMTQ4NWVjYjlhNmU3OTliIiw1NjE1NjoiOWQxNTg2ODA1MjE1ZjIwNTlkMTciLDU2MjU4OiIyODJlNjE0MWZjMDJhYzg1ZDBkNSIsNTcwODI6IjZmY2M2YTU1YjVmMjg0YTljMmMxIiw1NzYzOToiMzQ5Y2JmYTc4ZDYxM2NkNGZiMzUiLDU3NzE0OiIzMjU0ZDkwMDY5MTNhMjY4ZjU2OCIsNTg2MTM6IjMyNzdkZGEwYjJlYTg5Mjk2NmJiIiw1ODgxNzoiN2U2NTQzNDExYjZjMTM1YzdhOGYiLDU5NjE5OiJlZTYxN2U5MWY1YmRhMTRjNmFkMiIsNjA0NTM6IjJmMzc2ODRjYTY4ZDgyM2JkNTdkIiw2MTE4MzoiN2NiZDE2ZmJjN2M1MTkxNTkzNGYiLDYxNDQxOiJiYzllMzQ2NzQ2NmJlM2ZmN2Q0NCIsNjE1MzM6ImFlZjE3MGE2NTM0MWM2OWQ2NmM2Iiw2MjIzNDoiMjIwYjAxYTQyMmQxZGRjOWE2ZTIiLDYyNTU3OiJjZDJhYjEzZGI5NGM0YjgzYzY5YiIsNjI4MTE6ImI0NGU3NTQxZmI2OTdjYjhhNzEzIiw2MzA4ODoiMTRlZDZhMWYzZjgwZGZhZGE5MTUiLDYzMTYwOiIyYTNhMjExODVmYmNjNzA3OWRhZSIsNjQ2NDQ6IjkwOTkyYzlkMGQ1ZGM5MmM4OWI3Iiw2NDcxNToiNWY0OTE0OWNjMzJlOWVmYTE5N2IiLDY1MTAwOiJmNDIyZTFhZDA2MDE2ZGIwZDQ3YSIsNjU2MjM6ImZmNGZiNzQ4NDI1ZDJjNWI5NmQ5Iiw2NTg2MjoiOTU3NjQ3NTJjMDlmM2YxOGY4OTAiLDY1OTQ3OiIyZWUwYTcyYzFmMjhiNDkyM2JiMiIsNjYzOTk6IjNmNjg2NTdkNWZmZTI5YjIxZjYyIiw2NjY4NzoiNjYxNzRhNmJhOWFiMjdhNGMxNWYiLDY2OTMzOiJjMWIxZWQ3Zjk3NWFiZGU1NjU5YyIsNjgxNTU6ImNmYTQwM2ZkMGRlYWVlN2Y2YzIzIiw2ODMwNDoiZjY2NTk2OTI0ZGY2ZTg5MTYzYmUiLDY4NzQxOiJjYjhjMjQ0YmZiNjE0MGNjMTNiZiIsNjkwODM6ImJjNWYxZDA4OGJjZTg4MTBlNWMxIiw2OTExMzoiNWY0NDA2YWM4YjQ0MzZhZmRjMjMiLDY5MTIwOiIzMjJhOGEzMTAzZDZmYzBiMTlkZSIsNjk0ODY6IjhmYzFjNzA4OWIyYTY4NDZiYzA5Iiw2OTg3NDoiMGEyMWU4MGI0NDE5Njk5YWU4MzIiLDY5ODgxOiIwNjc3ZTE1YzI4ZGFmNWQ1ZWFmZCIsNzA1OTA6IjAxNzgzYmQ5YjI0YjE1NWM4ZTFlIiw3MDY0NDoiNDQ4NzQzZGVmMzI1ZmViNjE5NjciLDcwNzEyOiI5MjgwMjhjNDNiYTliNzA3ZTgxMSIsNzExODU6ImI0ZDIxMjJmYmZjMzA3YTFmNzcyIiw3MTE5MjoiM2Y1YmZhNTYwZjNkODY3NmFhMGUiLDcxMzAwOiJiNjcwOTQzMzk0MDMzOWRjMWY2NiIsNzEzMTk6ImZlNjMxMWI4MjJlMDc4ZjNjYzJkIiw3MTMyODoiYTQ1MDQwNTEyYWM5ZDUxZmI5ZjIiLDcxMzk0OiJlNjM5NzViYTFkMzY3ZGY3YTlkOCIsNzE0MjQ6ImVhZWZhZjU2OGRjOGYxZDE2MjI4Iiw3MjExMToiNDRlNzk2NGFiMzgxYmNiNTRkYTUiLDczMzAwOiI2Mzk1NDI2MDFmN2RmNzgzY2MwNyIsNzM0MTI6IjRjMTAyODE4ZmZlZjczMTYxZmUxIiw3MzU3MzoiYzIwZWJmZGJkOTM3Njg5NmYzOGEiLDc1NDg5OiJkOWMwOTFlMWFlYzI0M2NhYjFhNyIsNzU5MzA6IjE0M2MzYjI0MTZhNTA5ODkzN2M5Iiw3NjAzMzoiNDU3ZmM2YTlkZWE5M2FiYzY0YTYiLDc2MDQwOiI4OWE1MWI5ODhlYzQzZWQwNGVlNyIsNzc1Nzg6ImY2ZGI0NjBlZDFlOGNlMzFlYTg2Iiw3Nzc2NDoiNWE4YWM2NGU0MjNjNWIyNjk4NWQiLDc4MTA5OiI0YWViZjNiN2FiYWYzYTQzMGUzNiIsNzgzMTI6IjA5MGQ4YTAwMmI5NDNkMjhhODI2Iiw3ODcxNzoiYzNjMGFhOTUwY2MyYWJkMTRkN2EiLDc4ODQxOiIyZGY5YzY4ZTJiMjdlODU5MjBiYiIsNzg4Nzc6ImQyMDAzYmI4YjMxM2M4YmU4NTg5Iiw3OTA0MToiYmI0ZjdjYjA2OGZmYmVlOGNiYmEiLDc5OTk2OiIxYTcxYWI1ZDI2M2NkYmFhOTQ4YiIsODA3MDY6ImE1OTEzYWE2YWQ2MmQ5ZGJmMDMxIiw4MDkxNToiNjk0MDRmZGE4YWFmYzI3NDJjNTUiLDgwOTM5OiJjZWM1ZTMyYjYwZGJjNDM3OWU3NiIsODE4Njg6Ijk2YmUxZDBhNzI4NjNkY2M0N2I5Iiw4MzMxMDoiYjk5NWFjNjgwNGIyODQ0ZDlmOGIiLDgzNzgxOiJhNDMyM2IwZjAxODFlOWRkZmE2MCIsODQwNzA6IjNmZmIwMDcwNjhlMGNjN2M1MDdjIiw4NDM3MToiMjU2NTQ1MmNhZWNhYjk5ODI1NWMiLDg1MDM4OiI0YzBkNmRmMzA0NWRlNDE3MzE3OCIsODU0MzQ6ImI4NWI3NWRmOTFiMjJiYWM4ZDM5Iiw4NTYwNzoiMjJiZDhkZTNjMzVlZThmYzVhNTgiLDg1OTc0OiJhZWU2MjQ0NDA2NTU4Y2MxNTdkMyIsODYwMDE6IjA4MzcwYWRkNWIwNzgxZjk1OTI4Iiw4NjY5NjoiN2UyYTEyYmI5M2UyNTBjZTExN2EiLDg2ODYwOiI0NzQ4NzdiZTBiMjM1ZGM4Y2I0YyIsODY5MTQ6ImY2MzE0NzFmYWIwMzgzNzFiYWQwIiw4NzE5NjoiYjA4ZjJhYTI4YmY0MDY5YThmNGMiLDg3ODU4OiI2OTEzN2U2MmJiZDVlMGE2M2FmNCIsODc5OTU6IjkxMWIyNjE4MTc3OGZlY2M0YjRlIiw4ODE3MjoiM2E4MTkwNGFlOTQxMjE5MDJmZmUiLDg4NTkwOiIyZjVlMjA0YzdlM2RkOTA2ODc4ZCIsODg2NDA6IjFiNTM5OTA0NDBiMjMxYjcwZjJlIiw5MDQxNToiOGUyYWMxZWMyMmEwYTMzNjI0NTIiLDkwODEwOiJkNWNkYTY0YzNiZTkyY2M1MzA1YSIsOTA4NjQ6ImUzMThkNDFlNjQxMzFhNmQ3ODI5Iiw5MDg4MDoiOTI1MGMwZjRjNjY5M2ZmMWM5NTAiLDkxMjkyOiI2NTE2YmFiYTNhNWQ5OGU1MGJhOSIsOTI5Njg6IjRjNDUzNmQwYzcxNjIyZTk3YWEzIiw5MzI0ODoiYWZkZTU0OGRmZTA5MTE5YjY5YjkiLDkzMjc5OiJmMzNiMDVkM2ZmYzI0YTYxNTEyNiIsOTQ3MDg6IjczZDJiY2EzNzIwN2M2N2E0MWY0Iiw5NDgyNToiOGE5MGMwYzNlYmQ0MTNlYjljODEiLDk1MjA3OiI0NjVmOGFmMWFhNzJhYzNhMWMzMiIsOTUyNDQ6IjlkYTg4OWMxMzZkMjUwNmEzZDgxIiw5NTQ4NjoiYzNhYjVkN2I0YmUxMzI3ZWQ0MDMiLDk1NzU2OiJlYTIzMzE0MzUyODNkMjUzMDRhNSIsOTYzMzc6Ijg2YzNjYzYxMmM5OGY3ZTc3NDhkIiw5NzIwMjoiMzIzYzExY2RhZmRjYTMyZDRhZDciLAo5NzQ3MjoiZTgxOTU0MDVmOTkwNTVhODNjNmYiLDk3NTA5OiIyN2YzNDlhMWQ1ODQ4M2YyN2VhYSIsOTg4MzA6IjQ5NmJlZGIzZTkwNzBlZGI1OTJiIiw5OTgwNToiOTk1NWE3NzQ1Zjg0OTc0MTcxODIiLDk5ODI3OiJkMzk3NmRjMGM1Y2ZhMmMyMTQwZSJ9W2VdKyIuanMiLG4ubWluaUNzc0Y9ZT0+NDY5MDc9PT1lP2UrIi5jNWFmOGFhN2I1MDgyYjE4NzVhNS5jc3MiOjEyMzg1PT09ZT9lKyIuNzg1NjFlYmRlZjA1Y2U2NDhiNWQuY3NzIjozMjgxNj09PWU/ZSsiLjM1NWQ3NWIyMWFlNGI1MzRhODQ5LmNzcyI6NDMzMjU9PT1lP2UrIi4yNTZmYTVhNTIxM2I5Y2I3MGY1Yy5jc3MiOjkxODU1PT09ZT9lKyIuMDA5NzY0ZGE2MWJkOGM4YzQ0YmUuY3NzIjozMjYzMj09PWU/ZSsiLjU5NmU1MzQ4YTE1MzhhMThmZDRlLmNzcyI6NjI2MzA9PT1lP2UrIi41MzczMmRhZWE4MTc4NDQ3MzkzZi5jc3MiOjk5NTI3PT09ZT9lKyIuMTVjNWMyNWQyN2E1NmEwZGY3NzIuY3NzIjp7NTI4NDI6MSw4NDMwNjoxfVtlXT9lKyIuMzFkNmNmZTBkMTZhZTkzMWI3M2MuY3NzIjo5Nzc5Nz09PWU/ZSsiLmQ5ODVlZWJlNjczOTdmMDJmYTY0LmNzcyI6NTIzOTY9PT1lP2UrIi5lZDc2Y2FmMmZmZTAxNDQ2MGJhNi5jc3MiOjIwMzU0PT09ZT9lKyIuMmRkZjkzNGY4ZWRjMjgwMmQ5MGEuY3NzIjoxMzQ5Mj09PWU/ZSsiLjJjNzc3MzBkMTEyNWE0OTg1YmRjLmNzcyI6Mzc3NDY9PT1lP2UrIi4zNDUyMjdiYjE2ZTBkOGJjOWJkNS5jc3MiOjgxMDcyPT09ZT9lKyIuMjkyN2ExNzcyMzFmZGQwZTI0YzEuY3NzIjo5NDIzMj09PWU/ZSsiLmFiNjczMWI2OThhOGMyODU0YTkwLmNzcyI6MTcwODc9PT1lP2UrIi5hNWVhZWIzMGY3ZDI2OWY5N2I0MS5jc3MiOjM2MjIyPT09ZT9lKyIuZTliZTlhNzMzZTExNDczMGE0ZWEuY3NzIjo5ODA4ND09PWU/ZSsiLjc2OTQ4NzY0MDE0YWUxZDRjY2ZiLmNzcyI6MjM2MjQ9PT1lP2UrIi5kMjM5MGQxN2IxNTA5YjAxODgyNi5jc3MiOjk1MDQ9PT1lPyI5NTA0LjkwMzc3ZjdkNTk0NmNmMzI1NGYwLmNzcyI6NDc2MzI9PT1lP2UrIi4zM2QyYTM3NDVhZjQ5N2UzZGE1ZC5jc3MiOjU4MDUxPT09ZT9lKyIuYzU0NDA2NjVjM2IzMmU2YzZkZTguY3NzIjozOTA1PT09ZT8iMzkwNS42ODJlODllZjJkYzRjNzA0MjNjNi5jc3MiOjUxNTA4PT09ZT9lKyIuNzY3MjE5MjgzYzY1ZjRkNGNhNmUuY3NzIjo1MTg0PT09ZT8iNTE4NC4wZmI0NTc0Y2FjZWMxNmY2MzY1ZC5jc3MiOjExNDYxPT09ZT9lKyIuZTI3Y2I0ZWNmMzA0OTJhYzExZjYuY3NzIjo5NjU4Nz09PWU/ZSsiLjk3ZmRkNjVmMjAxMjEwNmZmMTFlLmNzcyI6MTE0MDk9PT1lP2UrIi5mZjg0Y2U0ZDUyM2QzNTQwYzdiMi5jc3MiOjg0MDg9PT1lPyI4NDA4LmRlNTM0NjYzZTA1MjA3NWJhMTJmLmNzcyI6OTQ5NDg9PT1lP2UrIi4wZmM4OGZhNjNjMDU0YThkNzY4NC5jc3MiOjgzNDg4PT09ZT9lKyIuMmEzNTM3N2ZkNTRmMGFmNDA4NzQuY3NzIjo2Nzc5OT09PWU/ZSsiLmUyNDk1NjkxY2VhMTdiM2E4MWMyLmNzcyI6MTEyMTg9PT1lP2UrIi4xMWZlN2U4ZmRhMzAxOWFhYzFhZi5jc3MiOjg2NDIzPT09ZT9lKyIuNzk3ODNhYTcyYjZlMjkyNTJkMGMuY3NzIjozNzUxMz09PWU/ZSsiLmRlMTU3NGIzMzg5ODAwYzkzZWJjLmNzcyI6NDA4MzU9PT1lP2UrIi43NmExYzc5MjNhMmM5ODZiZTlhYy5jc3MiOjcyNjY2PT09ZT9lKyIuMjIyOTE3M2JmNGQ2NzQ0ODQ2MzcuY3NzIjo5MzQyMT09PWU/ZSsiLjk1MzgxZjhlMDA0ZDBkMmZhOGNmLmNzcyI6NTQ2ODE9PT1lP2UrIi5hNzE3MTEwZTY3NDlmMzA3ZWQ2ZC5jc3MiOjMxODM3PT09ZT9lKyIuZDM2OGNhYTY0ZDQ5NGE0MDg3Y2MuY3NzIjo0OTUxOD09PWU/ZSsiLjA4MWY5NjM3Yjk0ZWU2MmE2ZTZmLmNzcyI6NzY2NT09PWU/Ijc2NjUuOWYxZjMyYjE3NzNiMDU0ZmRmMDcuY3NzIjoyNDU4MT09PWU/ZSsiLjQ1ZGYwMjE4MWM0NTA5NzMyZDIwLmNzcyI6NDUzNjg9PT1lP2UrIi45ZmYwMGEzZTM4MjEyMDI5YmE1NS5jc3MiOjI2NTkyPT09ZT9lKyIuMWM2MTIzOTAyYmM4OGViYTlkNTcuY3NzIjo3ODY1Mj09PWU/ZSsiLjRiNGUwOTdhMzAzZDIxYmM5NzgxLmNzcyI6NTAyMjE9PT1lP2UrIi5mNDlkYTJhNzI3OTc3NGFhNWZlOC5jc3MiOjM3ODY3PT09ZT9lKyIuZWM3MzFhZDEwMmRiNjc2MmU0MGMuY3NzIjoyNzUxNz09PWU/ZSsiLjczNjEzNzRkZWUyYjUyZmQxZjhlLmNzcyI6NDM2NDQ9PT1lP2UrIi4wZjdjMTQwMDE5YTY3ZmQ1MGJlNi5jc3MiOjE4NDcyPT09ZT9lKyIuZDk0MTliNmRjYjY0Yzg4NTY0YzEuY3NzIjoyNTgwOT09PWU/ZSsiLjhkZjRlYTdiMDk5YWRjMTVkMDY2LmNzcyI6ZSsiLiIrezY0NjoiZWUyOGIyYjE5Y2M4ODMyNzY0YjUiLDY1NzoiMjlkZGQ0ZjA0ZTZlYzUwZGE3MGIiLDEyMTE6IjBlZjRkMTJkNzE4OWZjYTg5YzU0IiwxNTA5OiIyN2M0ZjAxMWMyNTk3YWRkNzI3NiIsMTY3ODoiOWU5OWM2YzdjMTQyNDRmYWU3NGUiLDIzMzE6ImE0MTczYWZhMTVjYTg1YWQyZjY1IiwzMzIzOiIzZGE3OThkYTM1ODA2Zjg2NzlhMCIsNDA0MjoiZmE5NDk2ODBhMmFkZjllMWFiODQiLDQ0Nzc6IjUxMmMwNDcwOWEzMjU5YmQxMTI0Iiw0OTI5OiI2ZGQ2MWQ1YmY5NmFiMjM0M2Q5OCIsNDk2OToiYzNhZGIxYTEwOGJmMmJhZjljYjMiLDU2ODk6IjA3ZDBkODUyNGJhNGI5YWY0YWRiIiw2MDI4OiJhNjM2ZTgyMDg4YTM5NDM1M2RmZSIsNjA4MjoiZTAyYjg4ZjU0ZjY4Y2JhNDI0NzEiLDY0NDU6ImFjNjM1YmExNTE5NGRmNDg0NjE2Iiw2NTgzOiJiY2M1NzQzZTIzNmZmYzViN2NjZiIsNjYwNToiMWU4OTQyMzE5YjQ4NWFmYzFmNzUiLDcxNjM6ImVjNGU3YmNjMGM3OWUyZTYwNzRkIiw3Mzg3OiIzZDdkODY0MDIyYzg0ZjkyOGFkYSIsNzQ0NToiN2RhOTY2YTQ0MDE2YWU3YTAyZjgiLDc4OTk6IjQ3YWFkMDVlYWEyMGJmMzAxMmY3Iiw4NTc5OiI2ZjY1MThiZTQyOTM4MjI3ODZlMCIsOWUzOiJmODZlMWZkMTA1ZDhjYzdhZWNmNCIsOTE0MDoiNTEyODM4ZDdlNmUxMDdmMDczOGQiLDk3NDQ6IjcwYjUxMjY0OTVmN2FkY2NhZjJmIiwxMDM2NjoiMDdlMjBlN2JiZWUyN2M5ZDVmYmMiLDEwMzg1OiI4NzQ0ZDRmODY3MGRhYzMxMGQxZiIsCjExMDA4OiI1MmFmYTVlZWQ0YTFjZjY2YmVkNiIsMTEyNTc6ImU3OWYwZjc5OTU4ODQwNDczZDMxIiwxMTQ4OToiNTQ3ZTMwM2UyOTJmNTQ4MTRkYjQiLDExNzI1OiIzMWU4MGIyM2QxNTE2MjIzMmM0OCIsMTIwNTE6ImI4NGJlNzgxYmI5MGQ0NTdmMWRmIiwxMjU2NToiMWQ0MDUzNjc5N2EyOTQxOWM2NmUiLDEzMzkyOiIwNzNiYTdlNzI1OTBkMDI5OTdjYyIsMTQxOTM6ImZmZTZmMWY3M2RjYjE4ZjI5YjU1IiwxNDYyNToiYWRhNjEyY2NlZmRlZjc3OWUyOTUiLDE1NTI2OiJjODI5YzUyZmVkMjU5ODU1YmI5NiIsMTY0MjE6IjMxZDZjZmUwZDE2YWU5MzFiNzNjIiwxNzY5MzoiYjUyOTMzNGM4Yzc2MGVlMzUxZGEiLDE4MTYyOiJkMDYxODRiYzk3MWVjYmRkYTNiMyIsMTg0MDA6IjRmMzFlN2Q5ODBiMDQ4ZTk1NzJjIiwxOTUxMzoiODc0OWVkY2U2NGE3ZTJkZTI1ODMiLDE5NTk1OiJkOTYyYWI3NWJkM2UxYmFhNWFhZSIsMTk1OTg6Ijc4ZTJkYjIxYjY5ZjE0NTNkNzBjIiwxOTc4NzoiYmJiNjZmYTBmZDJiZDA0ZDA4NzUiLDIwMjcxOiIwYzE0ZjEyNmUzOGY2YjQ2MDc3ZSIsMjA5NzE6ImQ0NmEzNzgwYjQwMDVkOTQ3ZDc0IiwyMDk4NjoiNDBlMzRlMjFiM2Q4MTlkZjQ5ZTUiLDI0NDA4OiI4NmU0NWVjZjA4ODRiZTZhNmVlMyIsMjU2OTg6Ijc2MDVhNTgyM2NhNmQyNWZlZTQ2IiwyNzU0OToiM2VhNjQ3NWM3OWFiOGUxMWU5MDUiLDI3NzM2OiIyOTNkOTQ3N2MxOTU0ZjE5NzdhNyIsMjgwMTc6ImZlNzk4ZjRkN2NjZjAyNGJiYjE1IiwyOTI5NjoiYjQwOGYyODIyZmE1Yjk1NjliYWMiLDI5MzI3OiI1YTYyM2ZlNDk4ODJiOWNmNTFlNyIsMjk1MzY6IjczNmY0NzFhOGQ2NGE4MTIyZmQ4IiwyOTk0MzoiMmYzMzczM2RkNjQ4YjgyYzQ2ZmIiLDMwMzczOiJkZTMyYTNjZGNhZTEyYjE1ZDZkZiIsMzA3NDU6ImU3OGQ4MWJmMjUwY2Q2ZTQzMDY4IiwzMDk2MDoiNTQ3MTA5OGJkMjdmOTBmMzExNWQiLDMxMjYyOiIyNjBiNjE4NzhlMDU5YTQyZTc5YSIsMzE1NTc6ImU2YWVmNTFmMTA5MzQyYjU5OTFjIiwzMjE3NjoiN2M1N2M5ODkzM2I4Y2ZkM2Y4ZTciLDMyNzQ4OiIyZGQxOGUyMDlhNzcyZWE0ZjFkNyIsMzMxMjA6IjNlNmQxYzMzZDZjNTI1YzA3NzFmIiwzMzIyMToiZjQyY2M1NWE5MGM5ODg0MTIxZTUiLDMzMzY4OiJmMTVkZmNiYzBmNzE5NmQ3ZDY3NiIsMzM1NTM6IjBkZjliMzUyY2JjNmZhMDNjY2E4IiwzNDc1ODoiODgwZDk3M2JmNmNiYmM0ODIxNzQiLDM1MTk4OiIyMmE1NjU1ZjUzZTA5MWEyZmI3MyIsMzU2MzA6IjhiOWVlMjVjNWUyZDIzNGQ5OTUxIiwzNjM1NjoiNjhlNjZiZjc0ZmRiMjQzZDQzMmEiLDM2NTQ1OiJmYzRlYjM3MTEyZTM1ZTA4ZDAyYyIsMzc3Njc6IjQ0MDI5NjA2YzczYTY4M2U3YjBjIiwzODI2MjoiYjQwZTdlNzgwNjQxNjNjZGMwZDIiLDM4NDExOiI1ZGI0NGViMzliZDBiZGM5YTA3OCIsMzg4Njg6IjVlZTc0MWZkNjM4NjY2ZDQ0NWRjIiwzOTc4NjoiMmIwMGRjMjFlZjk0NjAwZTA5NjgiLDQwMjIwOiJlMGJlMzc5NzM0NWM2ZTI0Y2VjYSIsNDA4Njc6IjQ5NTZjNjE1ZmRlYWQ4MWRjZDExIiw0MDkxNDoiYThkZDY5NmJlN2RkZTZjZTZkZGIiLDQxNTg4OiJhNGQxZmJiZmJjMTNiYWU3NjBkMCIsNDM0NDE6ImFjNjAzNTBjODZjNTc4MTFmMjIzIiw0NDI1MzoiODQwNWJhZjMzYzNlZmQwMTUyOGUiLDQ1OTQ1OiI1YzllY2NkMjgxY2E3ZjJkNzllMCIsNDYwMzQ6IjdmZTVkNjU1NWQzNTIzODg3MjE0Iiw0NjU5MToiOGQwMzMzOTRiODNiNjE2YmYwNjYiLDQ3MDIxOiJlZDExMzQ5N2VmMzJhNjUyNmU1MCIsNDc1NTE6IjhkMmNlNTI0YjM4ZTRhOTI1NDdmIiw0NzU3OToiZGMzODc5MTkxYzA0YjkzOGZkM2YiLDQ4ODY0OiJjN2IyYWY5OGQ5MTRlYmQ4MzI3YyIsNDk1MzY6ImNiYTIwN2E1YmFjZjdhMTUzYTNmIiw0OTU4ODoiMTU0MjZiMjIyNzk1NjFkOTg4MGIiLDUwMzI1OiI1NzdjZDExNDYxNjJiY2YwNWMyYiIsNTA2MjI6IjVmMDVlZjUxYWIwMjM4ZGFhMzZhIiw1MDgwMDoiODBmOTBlMDQ0OWVmMjBmMzg5ODYiLDUxMDMwOiJiN2Y1M2VkNjM1YjA5MmZkMTY5MSIsNTEyMTM6IjZkYjE4ZjU0NWU4ZmNhODU5MWQzIiw1MTMwOToiNmYwMmVhYzE0YmYwMjJkYzJhNDciLDUxNjgyOiIxNWQwMTM0NzJiODVjZDk4NTE3YSIsNTE4ODA6ImNmODA5NmFkOWNmNjY1ZThmM2JiIiw1MjA2NToiZGU5ZWRkYjMzOWFjNzdkMWRiZjgiLDUyMTc4OiI0ZDU2MmEyNWFkM2MxMzc5MjFlMSIsNTI2ODA6IjhlZmE2YjRkOTk4MTg2ZjM5Y2JhIiw1MzMyOToiMDNhNmQzNDAzNWMxNzY4ZmI3ZDUiLDUzNTIxOiJkYzliYzcwYTZhODBmMmM5NGY1NSIsNTM3MTM6IjQ5ZDg4M2M3N2IzZDc0ZjQ3YzEyIiw1NDA5MzoiZDgwYzBmZmIyMzQ1N2ZmODVlZjQiLDU0MzEwOiJjZGQwMjJmZGFmZTQ0ZmMyYzU4OSIsNTYyMTM6IjAwZDI1ZmU4YWQxNjllMzE4YjJlIiw1NjI1MjoiMmI4MmY1NzViYTFjZWI1NGZhMjkiLDU3MzAwOiJjMWY1ZmM0ZTE1OTkwNjg1ZmI3MyIsNTc1MDQ6ImM3Zjc1ZjYwMzlmN2NhNDc4YjJlIiw1ODM4NDoiNjZhNjBiNWViYjNlMDQ2ZjgyZDEiLDU4OTMzOiJiM2FlNTFiOWIzODNmM2FjOTU2NCIsNTkzNTA6ImI2NjM2M2QxOTk4NDFlYmY4Yjg2Iiw1OTQzNzoiYjcyYzUwYjUwNWYxMmM5OWM3MmUiLDU5OTQxOiJhZjIyZjNhYjgzY2RmY2MzOTM1YSIsNjAwNjI6IjQ5NTQ0NGE3ZmFjMTczZmIyOGNkIiw2MTgyMToiZjY0ZDFlMmM2YjFlMzBkZmQ1NGUiLDYyNjAwOiI2MTA2MzU2Y2I4MTZmYjc0YjE3YiIsNjI3OTA6IjBjZDJiOTE3ZjdhNzE2OTBlNzQ1Iiw2MjgwNjoiYWU3Yjk5MmJkNTMxZTc2ZjhlNzYiLDY0MTk1OiI3MjE1MWJhMmU2NzM0NzNmNzJhNCIsNjQ2NDM6IjVlZjNiZGJhYTBjNmM0ODg5ZjRlIiw2NDY3NDoiNjZkNWEzY2I1Zjg0MDYzMzQ0N2EiLDY1NTI4OiI5ZGNjMTkxYTRhYjQ4N2QwYjEwYyIsNjU4NTY6IjZjZjI3MzA2NDUxNmNkODEyOWMwIiw2NjI3MDoiMDBmN2UwMjczMGI0NTZhYmYyNmQiLDY2NDczOiIyMTgyMmViNWJhNmQ4YmQ1MGM2ZSIsNjcyMTI6IjdjYTEyYWI3ZWNjZjFjNDhhZWExIiw2NzU0MzoiZGNkYmE4OTk0OWMwMGJmNTc1ZDYiLAo2ODk2NDoiOTQyNWI1ODczMGRmMTM4MDZmZjYiLDY5ODA5OiI0MjQ1N2JmYjY1MTIyNTZiMmMwOCIsNzA4MTU6IjNjZTZkNmEyNjg2ZTg4OTA3YWIzIiw3MTQxNDoiZTM0NWVkNzUyZDNhMjBkMTk0NjciLDcxNDgyOiIxZjBhZGE5MTYwZjNmOWZjZWMwMyIsNzIyNDk6Ijg0YmM3ODY3ZjVmMTA0YmJhZDI2Iiw3MjY4MDoiZjc5YTU3MTYwY2Q3MjRhZGZkZmMiLDcyNzYxOiI3NWEzYjI5MzA0YzgxZDYyY2Y3YyIsNzI5MDI6Ijc3NmRiYjQ0NjlkMTk1NGY1YzZhIiw3MzQyNToiYWVhYjkxMjllOGRkMzliNWEyNDQiLDczNTUxOiIzMjgyZTA1MjVhOTM1ODIwYjRmNyIsNzQwMTE6ImUzMWQ4ZjkyNDEzZjBiZWNhOTg0Iiw3NDEyNjoiNzliNTYzYjM3NWZhZDcxMTIzYTQiLDc0MjMzOiIxZTc3NjFhODFjNGVjNWY5OTg3NiIsNzQzODE6ImZkNmI5MDE1M2M2YzE2YjJiYzlhIiw3NDQyMjoiM2Q3ODg1YjQxNDJjZjVmMDhiMDgiLDc0NjM2OiJiMGRlYTE2NWY0NDVmNDA5MDlmYSIsNzQ4MzA6IjRmNTBkMDBmYmY5NWMxZTI5Njk1Iiw3NTIxNzoiOGJmZDIzNDM1NDg2MzEzMGUyZTAiLDc2MzI5OiJjNTdkMTZkMzUwZGQ2ZjRhYTdhZCIsNzY5MTI6ImYwNTUzYzUyODNjOWRhMTI1YjQ5Iiw3ODIzNzoiZTg5NmE4YmVhOTI1ZDY1ZjZlZmYiLDc4NDcxOiIwNTJmOTYzMzAzNDYxOGIwMTU2MSIsNzg4OTk6ImJiNWY4MWQ5NGJlNWI1YTdiYmQxIiw4MDczMToiZjk2ODM4NWJlMmUyMDA2MmJlZGEiLDgwNzgyOiI5NzVmYjQxZDQyYWUyZDUxYzA4YiIsODEwMDE6ImFmZjg0YmMwNGEwM2IxN2I1NDZkIiw4MTUyOToiOTY1MjRiMDM5M2NmODY5NWQ5Y2YiLDgxOTAzOiIyY2E2NzZiYmU0NjM4MmU2YzFmZiIsODIyNzE6ImMwMjFiYWU0NDQ2NjVhMzQ4NTNmIiw4MjU4NjoiZGU5YTJlYTUxNWI5NjBlMDU0N2UiLDgzNTI5OiJkOTZlYTVjMWY5YzgzNzVmYmMxOCIsODQ5NDg6IjFmMDVkMmU2Mzg3NzkzMWE0YTExIiw4NzQ3NDoiYmUyOGY5ZTAwM2UwYzQ3M2I5MWQiLDg3NzQwOiI1ZTFhNzY3OTBlZTQ5YTM3OTVmYSIsODgzODU6IjA4NTUxZjIwMGZlYTBmZDAzY2Q1Iiw4OTU1ODoiOTgxYTM0YjE5YjQxZmFkOTJiODgiLDkwOTYwOiJlYzk0MWFjY2ZhYTNlZDJjZDZlMiIsOTEyMDA6IjlhNTJmOWY5MThmYzE5NmJhNDRhIiw5MTY3ODoiZTMwZDRjZGNkYzY4ODM3ZmY0ZDEiLDkzNDE2OiI5MDgxOGQ3M2UwZTNhOWE5ZmUyYSIsOTQwNTQ6ImQ1MGU5M2VmNDNjMTg0YTUxM2VmIiw5NTE1ODoiNTNiZTZlZTY2NGU1MDUxODQ1ZjgiLDk3NjYwOiJhZTlmM2Q0ZTU2OTZmNWQxMTlhNyIsOTk1OTM6ImI0ZjhhZTE3YzBmYjY4ZjJmYjAwIiw5OTkwODoiZjNmNzJmMmU5NzNmYmQ5ZGE5MWUifVtlXSsiLmNzcyIsbi5nPWZ1bmN0aW9uKCl7aWYoIm9iamVjdCI9PXR5cGVvZiBnbG9iYWxUaGlzKXJldHVybiBnbG9iYWxUaGlzO3RyeXtyZXR1cm4gdGhpc3x8bmV3IEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCl9Y2F0Y2goZSl7aWYoIm9iamVjdCI9PXR5cGVvZiB3aW5kb3cpcmV0dXJuIHdpbmRvd319KCksbi5vPShlLGEpPT5PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxhKSxkPXt9LGY9InRyYWRpbmd2aWV3OiIsbi5sPShlLGEsYyxiKT0+e2lmKGRbZV0pZFtlXS5wdXNoKGEpO2Vsc2V7dmFyIHQscjtpZih2b2lkIDAhPT1jKWZvcih2YXIgcz1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0Iiksbz0wO288cy5sZW5ndGg7bysrKXt2YXIgaT1zW29dO2lmKGkuZ2V0QXR0cmlidXRlKCJzcmMiKT09ZXx8aS5nZXRBdHRyaWJ1dGUoImRhdGEtd2VicGFjayIpPT1mK2Mpe3Q9aTticmVha319dHx8KHI9ITAsKHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0IikpLmNoYXJzZXQ9InV0Zi04IixuLm5jJiZ0LnNldEF0dHJpYnV0ZSgibm9uY2UiLG4ubmMpLHQuc2V0QXR0cmlidXRlKCJkYXRhLXdlYnBhY2siLGYrYyksdC5zcmM9ZSwwIT09dC5zcmMuaW5kZXhPZih3aW5kb3cubG9jYXRpb24ub3JpZ2luKyIvIikmJih0LmNyb3NzT3JpZ2luPSJhbm9ueW1vdXMiKSksZFtlXT1bYV07dmFyIF89KGEsYyk9Pnt0Lm9uZXJyb3I9dC5vbmxvYWQ9bnVsbCxjbGVhclRpbWVvdXQobCk7dmFyIGY9ZFtlXTtpZihkZWxldGUgZFtlXSx0LnBhcmVudE5vZGUmJnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KSxmJiZmLmZvckVhY2goKGU9PmUoYykpKSxhKXJldHVybiBhKGMpfSxsPXNldFRpbWVvdXQoXy5iaW5kKG51bGwsdm9pZCAwLHt0eXBlOiJ0aW1lb3V0Iix0YXJnZXQ6dH0pLDEyZTQpO3Qub25lcnJvcj1fLmJpbmQobnVsbCx0Lm9uZXJyb3IpLHQub25sb2FkPV8uYmluZChudWxsLHQub25sb2FkKSxyJiZkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHQpfX0sbi5yPWU9PnsidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLnRvU3RyaW5nVGFnJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxTeW1ib2wudG9TdHJpbmdUYWcse3ZhbHVlOiJNb2R1bGUifSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSxuLm5tZD1lPT4oZS5wYXRocz1bXSxlLmNoaWxkcmVufHwoZS5jaGlsZHJlbj1bXSksZSksbi5qPTE5NTA4LCgoKT0+e3ZhciBlO24uZy5pbXBvcnRTY3JpcHRzJiYoZT1uLmcubG9jYXRpb24rIiIpO3ZhciBhPW4uZy5kb2N1bWVudDtpZighZSYmYSYmKGEuY3VycmVudFNjcmlwdCYmIlNDUklQVCI9PT1hLmN1cnJlbnRTY3JpcHQudGFnTmFtZS50b1VwcGVyQ2FzZSgpJiYoZT1hLmN1cnJlbnRTY3JpcHQuc3JjKSwhZSkpe3ZhciBjPWEuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpO2lmKGMubGVuZ3RoKWZvcih2YXIgZD1jLmxlbmd0aC0xO2Q+LTEmJighZXx8IS9eaHR0cChzPyk6Ly50ZXN0KGUpKTspZT1jW2QtLV0uc3JjfWlmKCFlKXRocm93IG5ldyBFcnJvcigiQXV0b21hdGljIHB1YmxpY1BhdGggaXMgbm90IHN1cHBvcnRlZCBpbiB0aGlzIGJyb3dzZXIiKTtlPWUucmVwbGFjZSgvXmJsb2I6LywiIikucmVwbGFjZSgvIy4qJC8sIiIpLnJlcGxhY2UoL1w/LiokLywiIikucmVwbGFjZSgvXC9bXlwvXSskLywiLyIpLG4ucD1lfSkoKSwKbi5nLmxvY2F0aW9uJiZuLnAuc3RhcnRzV2l0aChuLmcubG9jYXRpb24ub3JpZ2luKSYmKG4ucD1uLnAuc2xpY2Uobi5nLmxvY2F0aW9uLm9yaWdpbi5sZW5ndGgpKSwoKCk9Pntjb25zdCBlPW4udTtuLnU9YT0+ZShhKS5yZXBsYWNlKCJfX0xBTkdfXyIsbi5nLmxhbmd1YWdlKX0pKCksKCgpPT57dmFyIGU9bi5lLGE9T2JqZWN0LmNyZWF0ZShudWxsKTtmdW5jdGlvbiBjKGEsZCl7cmV0dXJuIGUoYSkuY2F0Y2goKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihmKXt2YXIgYj1mdW5jdGlvbigpe3NlbGYucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25saW5lIixiLCExKSwhMT09PW5hdmlnYXRvci5vbkxpbmU/c2VsZi5hZGRFdmVudExpc3RlbmVyKCJvbmxpbmUiLGIsITEpOmYoZDwyP2MoYSxkKzEpOmUoYSkpfTtzZXRUaW1lb3V0KGIsZCpkKjFlMyl9KSl9KSl9bi5lPWZ1bmN0aW9uKGUpe2lmKCFhW2VdKXthW2VdPWMoZSwwKTt2YXIgZD1mdW5jdGlvbigpe2RlbGV0ZSBhW2VdfTthW2VdLnRoZW4oZCxkKX1yZXR1cm4gYVtlXX19KSgpLCgoKT0+e2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQpe3ZhciBlPWU9Pm5ldyBQcm9taXNlKCgoYSxjKT0+e3ZhciBkPW4ubWluaUNzc0YoZSksZj1uLnArZDtpZigoKGUsYSk9Pntmb3IodmFyIGM9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxpbmsiKSxkPTA7ZDxjLmxlbmd0aDtkKyspe3ZhciBmPSh0PWNbZF0pLmdldEF0dHJpYnV0ZSgiZGF0YS1ocmVmIil8fHQuZ2V0QXR0cmlidXRlKCJocmVmIik7aWYoInN0eWxlc2hlZXQiPT09dC5yZWwmJihmPT09ZXx8Zj09PWEpKXJldHVybiB0fXZhciBiPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzdHlsZSIpO2ZvcihkPTA7ZDxiLmxlbmd0aDtkKyspe3ZhciB0O2lmKChmPSh0PWJbZF0pLmdldEF0dHJpYnV0ZSgiZGF0YS1ocmVmIikpPT09ZXx8Zj09PWEpcmV0dXJuIHR9fSkoZCxmKSlyZXR1cm4gYSgpOygoZSxhLGMsZCxmKT0+e3ZhciBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtiLnJlbD0ic3R5bGVzaGVldCIsYi50eXBlPSJ0ZXh0L2NzcyIsYi5vbmVycm9yPWIub25sb2FkPWM9PntpZihiLm9uZXJyb3I9Yi5vbmxvYWQ9bnVsbCwibG9hZCI9PT1jLnR5cGUpZCgpO2Vsc2V7dmFyIHQ9YyYmKCJsb2FkIj09PWMudHlwZT8ibWlzc2luZyI6Yy50eXBlKSxyPWMmJmMudGFyZ2V0JiZjLnRhcmdldC5ocmVmfHxhLG49bmV3IEVycm9yKCJMb2FkaW5nIENTUyBjaHVuayAiK2UrIiBmYWlsZWQuXG4oIityKyIpIik7bi5jb2RlPSJDU1NfQ0hVTktfTE9BRF9GQUlMRUQiLG4udHlwZT10LG4ucmVxdWVzdD1yLGIucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpLGYobil9fSxiLmhyZWY9YSwwIT09Yi5ocmVmLmluZGV4T2Yod2luZG93LmxvY2F0aW9uLm9yaWdpbisiLyIpJiYoYi5jcm9zc09yaWdpbj0iYW5vbnltb3VzIiksYz9jLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGIsYy5uZXh0U2libGluZyk6ZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChiKX0pKGUsZixudWxsLGEsYyl9KSksYT17MTk1MDg6MH07bi5mLm1pbmlDc3M9KGMsZCk9PnthW2NdP2QucHVzaChhW2NdKTowIT09YVtjXSYmezY0NjoxLDY1NzoxLDEyMTE6MSwxNTA5OjEsMTY3ODoxLDIzMzE6MSwzMzIzOjEsMzkwNToxLDQwNDI6MSw0NDc3OjEsNDkyOToxLDQ5Njk6MSw1MTg0OjEsNTY4OToxLDYwMjg6MSw2MDgyOjEsNjQ0NToxLDY1ODM6MSw2NjA1OjEsNzE2MzoxLDczODc6MSw3NDQ1OjEsNzY2NToxLDc4OTk6MSw4NDA4OjEsODU3OToxLDllMzoxLDkxNDA6MSw5NTA0OjEsOTc0NDoxLDEwMzY2OjEsMTAzODU6MSwxMTAwODoxLDExMjE4OjEsMTEyNTc6MSwxMTQwOToxLDExNDYxOjEsMTE0ODk6MSwxMTcyNToxLDEyMDUxOjEsMTIzODU6MSwxMjU2NToxLDEzMzkyOjEsMTM0OTI6MSwxNDE5MzoxLDE0NjI1OjEsMTU1MjY6MSwxNjQyMToxLDE3MDg3OjEsMTc2OTM6MSwxODE2MjoxLDE4NDAwOjEsMTg0NzI6MSwxOTUxMzoxLDE5NTk1OjEsMTk1OTg6MSwxOTc4NzoxLDIwMjcxOjEsMjAzNTQ6MSwyMDk3MToxLDIwOTg2OjEsMjM2MjQ6MSwyNDQwODoxLDI0NTgxOjEsMjU2OTg6MSwyNTgwOToxLDI2NTkyOjEsMjc1MTc6MSwyNzU0OToxLDI3NzM2OjEsMjgwMTc6MSwyOTI5NjoxLDI5MzI3OjEsMjk1MzY6MSwyOTk0MzoxLDMwMzczOjEsMzA3NDU6MSwzMDk2MDoxLDMxMjYyOjEsMzE1NTc6MSwzMTgzNzoxLDMyMTc2OjEsMzI2MzI6MSwzMjc0ODoxLDMyODE2OjEsMzMxMjA6MSwzMzIyMToxLDMzMzY4OjEsMzM1NTM6MSwzNDc1ODoxLDM1MTk4OjEsMzU2MzA6MSwzNjIyMjoxLDM2MzU2OjEsMzY1NDU6MSwzNzUxMzoxLDM3NzQ2OjEsMzc3Njc6MSwzNzg2NzoxLDM4MjYyOjEsMzg0MTE6MSwzODg2ODoxLDM5Nzg2OjEsNDAyMjA6MSw0MDgzNToxLDQwODY3OjEsNDA5MTQ6MSw0MTU4ODoxLDQzMzI1OjEsNDM0NDE6MSw0MzY0NDoxLDQ0MjUzOjEsNDUzNjg6MSw0NTk0NToxLDQ2MDM0OjEsNDY1OTE6MSw0NjkwNzoxLDQ3MDIxOjEsNDc1NTE6MSw0NzU3OToxLDQ3NjMyOjEsNDg4NjQ6MSw0OTUxODoxLDQ5NTM2OjEsNDk1ODg6MSw1MDIyMToxLDUwMzI1OjEsNTA2MjI6MSw1MDgwMDoxLDUxMDMwOjEsNTEyMTM6MSw1MTMwOToxLDUxNTA4OjEsNTE2ODI6MSw1MTg4MDoxLDUyMDY1OjEsNTIxNzg6MSw1MjM5NjoxLDUyNjgwOjEsNTI4NDI6MSw1MzMyOToxLDUzNTIxOjEsNTM3MTM6MSw1NDA5MzoxLDU0MzEwOjEsNTQ2ODE6MSw1NjIxMzoxLDU2MjUyOjEsNTczMDA6MSw1NzUwNDoxLDU4MDUxOjEsNTgzODQ6MSw1ODkzMzoxLDU5MzUwOjEsNTk0Mzc6MSw1OTk0MToxLDYwMDYyOjEsNjE4MjE6MSw2MjYwMDoxLDYyNjMwOjEsNjI3OTA6MSw2MjgwNjoxLDY0MTk1OjEsNjQ2NDM6MSw2NDY3NDoxLDY1NTI4OjEsNjU4NTY6MSw2NjI3MDoxLDY2NDczOjEsNjcyMTI6MSw2NzU0MzoxLDY3Nzk5OjEsNjg5NjQ6MSw2OTgwOToxLDcwODE1OjEsNzE0MTQ6MSw3MTQ4MjoxLDcyMjQ5OjEsNzI2NjY6MSw3MjY4MDoxLDcyNzYxOjEsNzI5MDI6MSw3MzQyNToxLDczNTUxOjEsCjc0MDExOjEsNzQxMjY6MSw3NDIzMzoxLDc0MzgxOjEsNzQ0MjI6MSw3NDYzNjoxLDc0ODMwOjEsNzUyMTc6MSw3NjMyOToxLDc2OTEyOjEsNzgyMzc6MSw3ODQ3MToxLDc4NjUyOjEsNzg4OTk6MSw4MDczMToxLDgwNzgyOjEsODEwMDE6MSw4MTA3MjoxLDgxNTI5OjEsODE5MDM6MSw4MjI3MToxLDgyNTg2OjEsODM0ODg6MSw4MzUyOToxLDg0MzA2OjEsODQ5NDg6MSw4NjQyMzoxLDg3NDc0OjEsODc3NDA6MSw4ODM4NToxLDg5NTU4OjEsOTA5NjA6MSw5MTIwMDoxLDkxNjc4OjEsOTE4NTU6MSw5MzQxNjoxLDkzNDIxOjEsOTQwNTQ6MSw5NDIzMjoxLDk0OTQ4OjEsOTUxNTg6MSw5NjU4NzoxLDk3NjYwOjEsOTc3OTc6MSw5ODA4NDoxLDk5NTI3OjEsOTk1OTM6MSw5OTkwODoxfVtjXSYmZC5wdXNoKGFbY109ZShjKS50aGVuKCgoKT0+e2FbY109MH0pLChlPT57dGhyb3cgZGVsZXRlIGFbY10sZX0pKSl9fX0pKCksbi5pMThuZXh0PShlLGE9e30sYyxkPW4uZy5sYW5ndWFnZSk9PntpZihudWxsPT09ZSl7aWYoQXJyYXkuaXNBcnJheShjKSlyZXR1cm4gY1t2b2lkIDA9PT1hLmNvdW50PzA6bi5fcGx1cmFsW2RdKGEuY291bnQpXS5yZXBsYWNlKC97KFx3Kyl9L2csKChlLGMpPT52b2lkIDAhPT0oYS5yZXBsYWNlfHxhKVtjXT8oYS5yZXBsYWNlfHxhKVtjXTplKSk7aWYoIm9iamVjdCI9PXR5cGVvZiBjKXJldHVybiBjW24uZy5sYW5ndWFnZV0/bi5pMThuZXh0KG51bGwsYSxjW24uZy5sYW5ndWFnZV0pOm4uaTE4bmV4dChudWxsLGEsYy5lbiwiZW4iKX1lbHNlIGlmKGMmJmUpe2NvbnN0IGQ9YCR7ZX0ke2EuY29udGV4dD9gXyR7YS5jb250ZXh0fWA6IiJ9YDtpZihjW2RdKXJldHVybiBuLmkxOG5leHQobnVsbCxhLGNbZF0pfXJldHVybiJudW1iZXIiPT10eXBlb2YgZT9lLnRvU3RyaW5nKCk6InN0cmluZyIhPXR5cGVvZiBlPyIiOmV9LCgoKT0+e24uYj0idW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50JiZkb2N1bWVudC5iYXNlVVJJfHxzZWxmLmxvY2F0aW9uLmhyZWY7dmFyIGU9ezE5NTA4OjB9O24uZi5qPShhLGMpPT57dmFyIGQ9bi5vKGUsYSk/ZVthXTp2b2lkIDA7aWYoMCE9PWQpaWYoZCljLnB1c2goZFsyXSk7ZWxzZSBpZigvXigxKDAzKDY2fDg1KXwxKDQoMDl8NjF8ODkpfDAwOHwyMTh8MjU3fDcyNSl8MigwNTF8MTF8Mzg1fDU2NSl8OCgxNjJ8NDAwfDQ3Mil8OSg1KDA4fDEzfDk1fDk4KXw3ODcpfDNbMzRdOTJ8KDQxfDc2KTkzfDQ2MjV8NTA5fDU1MjZ8NjQyMXw2Nzh8NzA4Nyl8MigwKFsyOV03MXwzNTR8OTg2KXw3KDUxN3w1NDl8NzM2KXw5KDI5NnwzMjd8NTM2fDk0Myl8MzMxfDM2MjR8NDQwOHw0NTgxfDU2OTh8NTgwOXw2NTkyfDgwMTcpfDMoMCgzNzN8NzQ1fDk2MCl8MSgyNjJ8NTU3fDgzNyl8MigxNzZ8NjMyfDc0OHw4MTYpfDMoMTIwfDIyMXwyM3wzNjh8NTUzKXw2KDIyMnwzNTZ8NTQ1KXw3KFs3OF02N3w1MTN8NzQ2KXw4KDI2Mnw0MTF8ODY4KXw0NzU4fDUxOTh8NTYzMHw5MDV8OTc4Nil8NCgwKDIyMHw0Mnw4MzV8ODY3fDkxNCl8MygzMjV8NDQxfDY0NCl8NigwMzR8NTkxfDkwNyl8NygwMjF8NTUxfDU3OXw2MzIpfDkoNSgxOHwzNnw4OCl8Mjl8NjkpfDE1ODh8NDI1M3w0Nzd8NTM2OHw1OTQ1fDg4NjQpfDUoMCgyMjF8MzI1fDYyMnw4MDApfDEoMDMwfDIxM3wzMDl8NTA4fDY4Mnw4NHw4ODApfDIoMDY1fDE3OHwzOTZ8NjgwfDg0Mil8MygzMjl8NTIxfDcxMyl8NCgwOTN8MzEwfDY4MSl8NigyMTN8MjUyfDg5KXw4KDA1MXwzODR8OTMzKXw5KDM1MHw0Mzd8OTQxKXw3MzAwfDc1MDQpfDYoMCgwNjJ8Mjh8ODIpfDIoKDYwfDYzfDc5KTB8ODA2KXw0KDYofDQzfDc0KXwxOTV8NDUpfDUoNTI4fDd8ODN8ODU2KXw2KDA1fDI3MHw0NzMpfDcoMjEyfDU0M3w3OTkpfDE4MjF8ODk2NHw5ODA5KXw3KDEoNDE0fDQ4Mnw2Myl8MigyNDl8NjY2fDY4MHw3NjF8OTAyKXwzKDQyNXw1NTF8ODcpfDQoMDExfDEyNnwyMzN8MzgxfDQyMnw0NXw2MzZ8ODMwKXw2KDMyOXw2NXw5MTIpfDgoKHw4KTk5fDIzN3w0NzF8NjUyKXwwODE1fDUyMTcpfDgoMDcoMzF8ODIpfDEoMDAxfDA3Mnw1Mjl8OTAzKXw0KDA4fDMwNnw5NDgpfDIyNzF8MjU4NnwzNDg4fDM1Mjl8NTc5fDY0MjN8NzQ3NHw3NzQwfDgzODV8OTU1OCl8OSgxKDIwMHw0MHw2Nzh8ODU1KXwzNCgxNnwyMSl8NCgwNTR8MjMyfDk0OCl8Nyg0NHw2NjB8Nzk3KXw5KDUyN3w1OTN8OTA4KXwwMDB8MDk2MHw1MDR8NTE1OHw2NTg3fDgwODQpKSQvLnRlc3QoYSkpZVthXT0wO2Vsc2V7dmFyIGY9bmV3IFByb21pc2UoKChjLGYpPT5kPWVbYV09W2MsZl0pKTtjLnB1c2goZFsyXT1mKTt2YXIgYj1uLnArbi51KGEpLHQ9bmV3IEVycm9yO24ubChiLChjPT57aWYobi5vKGUsYSkmJigwIT09KGQ9ZVthXSkmJihlW2FdPXZvaWQgMCksZCkpe3ZhciBmPWMmJigibG9hZCI9PT1jLnR5cGU/Im1pc3NpbmciOmMudHlwZSksYj1jJiZjLnRhcmdldCYmYy50YXJnZXQuc3JjO3QubWVzc2FnZT0iTG9hZGluZyBjaHVuayAiK2ErIiBmYWlsZWQuXG4oIitmKyI6ICIrYisiKSIsdC5uYW1lPSJDaHVua0xvYWRFcnJvciIsdC50eXBlPWYsdC5yZXF1ZXN0PWIsZFsxXSh0KX19KSwiY2h1bmstIithLGEpfX0sbi5GLmo9YT0+ewppZighKG4ubyhlLGEpJiZ2b2lkIDAhPT1lW2FdfHwvXigxKDAzKDY2fDg1KXwxKDQoMDl8NjF8ODkpfDAwOHwyMTh8MjU3fDcyNSl8MigwNTF8MTF8Mzg1fDU2NSl8OCgxNjJ8NDAwfDQ3Mil8OSg1KDA4fDEzfDk1fDk4KXw3ODcpfDNbMzRdOTJ8KDQxfDc2KTkzfDQ2MjV8NTA5fDU1MjZ8NjQyMXw2Nzh8NzA4Nyl8MigwKFsyOV03MXwzNTR8OTg2KXw3KDUxN3w1NDl8NzM2KXw5KDI5NnwzMjd8NTM2fDk0Myl8MzMxfDM2MjR8NDQwOHw0NTgxfDU2OTh8NTgwOXw2NTkyfDgwMTcpfDMoMCgzNzN8NzQ1fDk2MCl8MSgyNjJ8NTU3fDgzNyl8MigxNzZ8NjMyfDc0OHw4MTYpfDMoMTIwfDIyMXwyM3wzNjh8NTUzKXw2KDIyMnwzNTZ8NTQ1KXw3KFs3OF02N3w1MTN8NzQ2KXw4KDI2Mnw0MTF8ODY4KXw0NzU4fDUxOTh8NTYzMHw5MDV8OTc4Nil8NCgwKDIyMHw0Mnw4MzV8ODY3fDkxNCl8MygzMjV8NDQxfDY0NCl8NigwMzR8NTkxfDkwNyl8NygwMjF8NTUxfDU3OXw2MzIpfDkoNSgxOHwzNnw4OCl8Mjl8NjkpfDE1ODh8NDI1M3w0Nzd8NTM2OHw1OTQ1fDg4NjQpfDUoMCgyMjF8MzI1fDYyMnw4MDApfDEoMDMwfDIxM3wzMDl8NTA4fDY4Mnw4NHw4ODApfDIoMDY1fDE3OHwzOTZ8NjgwfDg0Mil8MygzMjl8NTIxfDcxMyl8NCgwOTN8MzEwfDY4MSl8NigyMTN8MjUyfDg5KXw4KDA1MXwzODR8OTMzKXw5KDM1MHw0Mzd8OTQxKXw3MzAwfDc1MDQpfDYoMCgwNjJ8Mjh8ODIpfDIoKDYwfDYzfDc5KTB8ODA2KXw0KDYofDQzfDc0KXwxOTV8NDUpfDUoNTI4fDd8ODN8ODU2KXw2KDA1fDI3MHw0NzMpfDcoMjEyfDU0M3w3OTkpfDE4MjF8ODk2NHw5ODA5KXw3KDEoNDE0fDQ4Mnw2Myl8MigyNDl8NjY2fDY4MHw3NjF8OTAyKXwzKDQyNXw1NTF8ODcpfDQoMDExfDEyNnwyMzN8MzgxfDQyMnw0NXw2MzZ8ODMwKXw2KDMyOXw2NXw5MTIpfDgoKHw4KTk5fDIzN3w0NzF8NjUyKXwwODE1fDUyMTcpfDgoMDcoMzF8ODIpfDEoMDAxfDA3Mnw1Mjl8OTAzKXw0KDA4fDMwNnw5NDgpfDIyNzF8MjU4NnwzNDg4fDM1Mjl8NTc5fDY0MjN8NzQ3NHw3NzQwfDgzODV8OTU1OCl8OSgxKDIwMHw0MHw2Nzh8ODU1KXwzNCgxNnwyMSl8NCgwNTR8MjMyfDk0OCl8Nyg0NHw2NjB8Nzk3KXw5KDUyN3w1OTN8OTA4KXwwMDB8MDk2MHw1MDR8NTE1OHw2NTg3fDgwODQpKSQvLnRlc3QoYSkpKXtlW2FdPW51bGw7dmFyIGM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpO2MuY2hhcnNldD0idXRmLTgiLGMuY3Jvc3NPcmlnaW49ImFub255bW91cyIsbi5uYyYmYy5zZXRBdHRyaWJ1dGUoIm5vbmNlIixuLm5jKSxjLnJlbD0icHJlZmV0Y2giLGMuYXM9InNjcmlwdCIsYy5ocmVmPW4ucCtuLnUoYSksZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChjKX19LG4uTy5qPWE9PjA9PT1lW2FdO3ZhciBhPShhLGMpPT57dmFyIGQsZixbYix0LHJdPWMscz0wO2lmKGIuc29tZSgoYT0+MCE9PWVbYV0pKSl7Zm9yKGQgaW4gdCluLm8odCxkKSYmKG4ubVtkXT10W2RdKTtpZihyKXZhciBvPXIobil9Zm9yKGEmJmEoYyk7czxiLmxlbmd0aDtzKyspZj1iW3NdLG4ubyhlLGYpJiZlW2ZdJiZlW2ZdWzBdKCksZVtmXT0wO3JldHVybiBuLk8obyl9LGM9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlldz1zZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3fHxbXTtjLmZvckVhY2goYS5iaW5kKG51bGwsMCkpLGMucHVzaD1hLmJpbmQobnVsbCxjLnB1c2guYmluZChjKSl9KSgpLG4ucD1uLmcmJm4uZy5XRUJQQUNLX1BVQkxJQ19QQVRIfHxuLnAsYj17OTI5Njg6Wzg0NjkzLDg4OTk3LDMwNjk5LDQ2MjE3LDY2OTMzLDcxMzE5XX0sbi5mLnByZWZldGNoPShlLGEpPT5Qcm9taXNlLmFsbChhKS50aGVuKCgoKT0+e3ZhciBhPWJbZV07QXJyYXkuaXNBcnJheShhKSYmYS5tYXAobi5FKX0pKX0pKCk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/83310.b995ac6804b2844d9f8b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.928Z","timestamp":1785120633928,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/83310.b995ac6804b2844d9f8b.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-2bb2b\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 8b75633daa7372b566d27f750e80c27f\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":178987,"size_decoded":64109,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3072)","md5":"93d9421cbd613c344fe0d2304fc3f56f","sha1":"488c1099e8abbd1bd652f70a4a61838d0b67e451","sha256":"1db5831972e58d8dc696e62def3b0343254ce1fb96a088ca6cba4ac88bb22420","sha512":"4b73865ddf6a1691c2f219c408f45ed06d53e6385e9d8bf060d94f31f9f2902cb68383199c313d520a2ad7f35b7088b94661ec4290f35392d1a06713ddb8a5b1","ssdeep":"3072:1tp9AP81XDnSSgpogm3i3G3qCd3lnxEB6s7KXzR96wB6:1trAPMzSBpU3i3G3qCd3lnxEB6s7KXKx","tlshash":"3104d6963296e02213f185f908760442f31a7989394b85acf5bd9cd73c9ac4e72bdf78","first_seen":"2026-07-23T22:46:45.81119Z","last_seen":"2026-07-27T06:01:16.237212Z","times_seen":25,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNjQ2NDQsNzgzMTIsODMzMTBdLHs4MjkxODAodCxpLHMpe3MucihpKTt2YXIgZT1zKDYwMTg0MSk7Y29uc3QgaD0veyhcdyspfS9nLG49L3soXGQrKX0vZztTdHJpbmcucHJvdG90eXBlLmZvcm1hdD1mdW5jdGlvbiguLi50KXtjb25zdCBpPSgwLGUuaXNPYmplY3QpKHRbMF0pLHM9aT9oOm4scj1pPyhpLHMpPT57Y29uc3QgZT10WzBdO3JldHVybiB2b2lkIDAhPT1lW3NdP2Vbc106aX06KGkscyk9Pntjb25zdCBlPXBhcnNlSW50KHMsMTApLGg9dFtlXTtyZXR1cm4gdm9pZCAwIT09aD9oOml9O3JldHVybiB0aGlzLnJlcGxhY2UocyxyKX19LDM2MzI2OSh0LGkscyl7cy5kKGkse21vYmlsZXRvdWNoOigpPT5oLHNldENsYXNzZXM6KCk9PnIsdG91Y2g6KCk9Pm59KTt2YXIgZT1zKDczODQ1OCk7Y29uc3QgaD1lLm1vYmlsZXRvdWNoLG49ZS50b3VjaDtmdW5jdGlvbiByKCl7ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoZS50b3VjaD8iZmVhdHVyZS10b3VjaCI6ImZlYXR1cmUtbm8tdG91Y2giLGUubW9iaWxldG91Y2g/ImZlYXR1cmUtbW9iaWxldG91Y2giOiJmZWF0dXJlLW5vLW1vYmlsZXRvdWNoIil9fSwzMTg5NzQodCxpLHMpe3MuZChpLHtDaGVja01vYmlsZTooKT0+dSxpc0Rlc2t0b3BBcHA6KCk9PmwsaXNMaW51eDooKT0+byxpc01hYzooKT0+cixpc1N5bXBob255RW1iZWQ6KCk9PmEsb25Hb1BybzooKT0+ZixvbldpZGdldDooKT0+aC5vbldpZGdldCxzdXBwb3J0VG91Y2g6KCk9PmN9KTt2YXIgZT1zKDczODQ1OCksaD1zKDM3NzIyNik7Y29uc3Qgbj13aW5kb3cuVHJhZGluZ1ZpZXc9d2luZG93LlRyYWRpbmdWaWV3fHx7fTtmdW5jdGlvbiByKCl7cmV0dXJuIGUuaXNNYWN9ZnVuY3Rpb24gbygpe3JldHVybiBlLmlzTGludXh9ZnVuY3Rpb24gbCgpe3JldHVybi9UVkRlc2t0b3AvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpfWZ1bmN0aW9uIGEoKXtyZXR1cm4gbi5pc1N5bXBob255fHwhMX1jb25zdCB1PXtBbmRyb2lkOigpPT5lLmlzQW5kcm9pZCxCbGFja0JlcnJ5OigpPT5lLmlzQmxhY2tCZXJyeSxpT1M6KCk9PmUuaXNJT1MsT3BlcmE6KCk9PmUuaXNPcGVyYU1pbmksaXNJUGFkOigpPT5lLmlzSVBhZCxhbnk6KCk9PmUuaXNBbnlNb2JpbGV9O2Z1bmN0aW9uIGMoKXtyZXR1cm4gZS5tb2JpbGV0b3VjaHx8ZS50b3VjaHx8ZS5pc0FueU1vYmlsZX1uLmlzTW9iaWxlPXUsbi5vbldpZGdldD1oLm9uV2lkZ2V0O2UuaXNDaHJvbWUsZS5pc0ZGLGUuaXNFZGdlLGUuaXNTYWZhcmk7ZnVuY3Rpb24gZigpe3JldHVybiIvcHJpY2luZy8iPT09d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lfX0sMTg1MjcxKHQsaSxzKXtzLnIoaSkscy5kKGkse3Q6KCk9PmUudCx3aXRoVHJhbnNsYXRpb25Db250ZXh0OigpPT5ofSk7cyg4MjkxODApO3ZhciBlPXMoNzgzMjU0KTtmdW5jdGlvbiBoKHQpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9fSwxMjI3NDkodCxpKXt2YXIgcz1TeW1ib2wuZm9yKCJyZWFjdC5lbGVtZW50IiksZT1TeW1ib2wuZm9yKCJyZWFjdC5wb3J0YWwiKSxoPVN5bWJvbC5mb3IoInJlYWN0LmZyYWdtZW50Iiksbj1TeW1ib2wuZm9yKCJyZWFjdC5zdHJpY3RfbW9kZSIpLHI9U3ltYm9sLmZvcigicmVhY3QucHJvZmlsZXIiKSxvPVN5bWJvbC5mb3IoInJlYWN0LnByb3ZpZGVyIiksbD1TeW1ib2wuZm9yKCJyZWFjdC5jb250ZXh0IiksYT1TeW1ib2wuZm9yKCJyZWFjdC5mb3J3YXJkX3JlZiIpLHU9U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2UiKSxjPVN5bWJvbC5mb3IoInJlYWN0Lm1lbW8iKSxmPVN5bWJvbC5mb3IoInJlYWN0LmxhenkiKSxkPVN5bWJvbC5pdGVyYXRvcjt2YXIgbT17aXNNb3VudGVkOmZ1bmN0aW9uKCl7cmV0dXJuITF9LGVucXVldWVGb3JjZVVwZGF0ZTpmdW5jdGlvbigpe30sZW5xdWV1ZVJlcGxhY2VTdGF0ZTpmdW5jdGlvbigpe30sZW5xdWV1ZVNldFN0YXRlOmZ1bmN0aW9uKCl7fX0scD1PYmplY3QuYXNzaWduLGc9e307ZnVuY3Rpb24gdih0LGkscyl7dGhpcy5wcm9wcz10LHRoaXMuY29udGV4dD1pLHRoaXMucmVmcz1nLHRoaXMudXBkYXRlcj1zfHxtfWZ1bmN0aW9uIGIoKXt9ZnVuY3Rpb24gdyh0LGkscyl7dGhpcy5wcm9wcz10LHRoaXMuY29udGV4dD1pLHRoaXMucmVmcz1nLHRoaXMudXBkYXRlcj1zfHxtfXYucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9e30sdi5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24odCxpKXtpZigib2JqZWN0IiE9dHlwZW9mIHQmJiJmdW5jdGlvbiIhPXR5cGVvZiB0JiZudWxsIT10KXRocm93IEVycm9yKCJzZXRTdGF0ZSguLi4pOiB0YWtlcyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzIHRvIHVwZGF0ZSBvciBhIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcy4iKTt0aGlzLnVwZGF0ZXIuZW5xdWV1ZVNldFN0YXRlKHRoaXMsdCxpLCJzZXRTdGF0ZSIpfSx2LnByb3RvdHlwZS5mb3JjZVVwZGF0ZT1mdW5jdGlvbih0KXt0aGlzLnVwZGF0ZXIuZW5xdWV1ZUZvcmNlVXBkYXRlKHRoaXMsdCwiZm9yY2VVcGRhdGUiKX0sYi5wcm90b3R5cGU9di5wcm90b3R5cGU7dmFyIE09dy5wcm90b3R5cGU9bmV3IGI7TS5jb25zdHJ1Y3Rvcj13LHAoTSx2LnByb3RvdHlwZSksTS5pc1B1cmVSZWFjdENvbXBvbmVudD0hMDt2YXIgeT1BcnJheS5pc0FycmF5LFM9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSx4PXtjdXJyZW50Om51bGx9LF89e2tleTohMCxyZWY6ITAsX19zZWxmOiEwLF9fc291cmNlOiEwfTtmdW5jdGlvbiBDKHQsaSxlKXt2YXIgaCxuPXt9LHI9bnVsbCxvPW51bGw7aWYobnVsbCE9aSlmb3IoaCBpbiB2b2lkIDAhPT1pLnJlZiYmKG89aS5yZWYpLHZvaWQgMCE9PWkua2V5JiYocj0iIitpLmtleSksaSlTLmNhbGwoaSxoKSYmIV8uaGFzT3duUHJvcGVydHkoaCkmJihuW2hdPWlbaF0pO3ZhciBsPWFyZ3VtZW50cy5sZW5ndGgtMgo7aWYoMT09PWwpbi5jaGlsZHJlbj1lO2Vsc2UgaWYoMTxsKXtmb3IodmFyIGE9QXJyYXkobCksdT0wO3U8bDt1KyspYVt1XT1hcmd1bWVudHNbdSsyXTtuLmNoaWxkcmVuPWF9aWYodCYmdC5kZWZhdWx0UHJvcHMpZm9yKGggaW4gbD10LmRlZmF1bHRQcm9wcyl2b2lkIDA9PT1uW2hdJiYobltoXT1sW2hdKTtyZXR1cm57JCR0eXBlb2Y6cyx0eXBlOnQsa2V5OnIscmVmOm8scHJvcHM6bixfb3duZXI6eC5jdXJyZW50fX1mdW5jdGlvbiBrKHQpe3JldHVybiJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXQmJnQuJCR0eXBlb2Y9PT1zfXZhciBFPS9cLysvZztmdW5jdGlvbiBOKHQsaSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiB0JiZudWxsIT09dCYmbnVsbCE9dC5rZXk/ZnVuY3Rpb24odCl7dmFyIGk9eyI9IjoiPTAiLCI6IjoiPTIifTtyZXR1cm4iJCIrdC5yZXBsYWNlKC9bPTpdL2csKGZ1bmN0aW9uKHQpe3JldHVybiBpW3RdfSkpfSgiIit0LmtleSk6aS50b1N0cmluZygzNil9ZnVuY3Rpb24gVCh0LGksaCxuLHIpe3ZhciBvPXR5cGVvZiB0OyJ1bmRlZmluZWQiIT09byYmImJvb2xlYW4iIT09b3x8KHQ9bnVsbCk7dmFyIGw9ITE7aWYobnVsbD09PXQpbD0hMDtlbHNlIHN3aXRjaChvKXtjYXNlInN0cmluZyI6Y2FzZSJudW1iZXIiOmw9ITA7YnJlYWs7Y2FzZSJvYmplY3QiOnN3aXRjaCh0LiQkdHlwZW9mKXtjYXNlIHM6Y2FzZSBlOmw9ITB9fWlmKGwpcmV0dXJuIHI9cihsPXQpLHQ9IiI9PT1uPyIuIitOKGwsMCk6bix5KHIpPyhoPSIiLG51bGwhPXQmJihoPXQucmVwbGFjZShFLCIkJi8iKSsiLyIpLFQocixpLGgsIiIsKGZ1bmN0aW9uKHQpe3JldHVybiB0fSkpKTpudWxsIT1yJiYoayhyKSYmKHI9ZnVuY3Rpb24odCxpKXtyZXR1cm57JCR0eXBlb2Y6cyx0eXBlOnQudHlwZSxrZXk6aSxyZWY6dC5yZWYscHJvcHM6dC5wcm9wcyxfb3duZXI6dC5fb3duZXJ9fShyLGgrKCFyLmtleXx8bCYmbC5rZXk9PT1yLmtleT8iIjooIiIrci5rZXkpLnJlcGxhY2UoRSwiJCYvIikrIi8iKSt0KSksaS5wdXNoKHIpKSwxO2lmKGw9MCxuPSIiPT09bj8iLiI6bisiOiIseSh0KSlmb3IodmFyIGE9MDthPHQubGVuZ3RoO2ErKyl7dmFyIHU9bitOKG89dFthXSxhKTtsKz1UKG8saSxoLHUscil9ZWxzZSBpZih1PWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT09dHx8Im9iamVjdCIhPXR5cGVvZiB0P251bGw6ImZ1bmN0aW9uIj09dHlwZW9mKHQ9ZCYmdFtkXXx8dFsiQEBpdGVyYXRvciJdKT90Om51bGx9KHQpLCJmdW5jdGlvbiI9PXR5cGVvZiB1KWZvcih0PXUuY2FsbCh0KSxhPTA7IShvPXQubmV4dCgpKS5kb25lOylsKz1UKG89by52YWx1ZSxpLGgsdT1uK04obyxhKyspLHIpO2Vsc2UgaWYoIm9iamVjdCI9PT1vKXRocm93IGk9U3RyaW5nKHQpLEVycm9yKCJPYmplY3RzIGFyZSBub3QgdmFsaWQgYXMgYSBSZWFjdCBjaGlsZCAoZm91bmQ6ICIrKCJbb2JqZWN0IE9iamVjdF0iPT09aT8ib2JqZWN0IHdpdGgga2V5cyB7IitPYmplY3Qua2V5cyh0KS5qb2luKCIsICIpKyJ9IjppKSsiKS4gSWYgeW91IG1lYW50IHRvIHJlbmRlciBhIGNvbGxlY3Rpb24gb2YgY2hpbGRyZW4sIHVzZSBhbiBhcnJheSBpbnN0ZWFkLiIpO3JldHVybiBsfWZ1bmN0aW9uIFIodCxpLHMpe2lmKG51bGw9PXQpcmV0dXJuIHQ7dmFyIGU9W10saD0wO3JldHVybiBUKHQsZSwiIiwiIiwoZnVuY3Rpb24odCl7cmV0dXJuIGkuY2FsbChzLHQsaCsrKX0pKSxlfWZ1bmN0aW9uIFAodCl7aWYoLTE9PT10Ll9zdGF0dXMpe3ZhciBpPXQuX3Jlc3VsdDsoaT1pKCkpLnRoZW4oKGZ1bmN0aW9uKGkpezAhPT10Ll9zdGF0dXMmJi0xIT09dC5fc3RhdHVzfHwodC5fc3RhdHVzPTEsdC5fcmVzdWx0PWkpfSksKGZ1bmN0aW9uKGkpezAhPT10Ll9zdGF0dXMmJi0xIT09dC5fc3RhdHVzfHwodC5fc3RhdHVzPTIsdC5fcmVzdWx0PWkpfSkpLC0xPT09dC5fc3RhdHVzJiYodC5fc3RhdHVzPTAsdC5fcmVzdWx0PWkpfWlmKDE9PT10Ll9zdGF0dXMpcmV0dXJuIHQuX3Jlc3VsdC5kZWZhdWx0O3Rocm93IHQuX3Jlc3VsdH12YXIgej17Y3VycmVudDpudWxsfSxJPXt0cmFuc2l0aW9uOm51bGx9LEw9e1JlYWN0Q3VycmVudERpc3BhdGNoZXI6eixSZWFjdEN1cnJlbnRCYXRjaENvbmZpZzpJLFJlYWN0Q3VycmVudE93bmVyOnh9O2kuQ2hpbGRyZW49e21hcDpSLGZvckVhY2g6ZnVuY3Rpb24odCxpLHMpe1IodCwoZnVuY3Rpb24oKXtpLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pLHMpfSxjb3VudDpmdW5jdGlvbih0KXt2YXIgaT0wO3JldHVybiBSKHQsKGZ1bmN0aW9uKCl7aSsrfSkpLGl9LHRvQXJyYXk6ZnVuY3Rpb24odCl7cmV0dXJuIFIodCwoZnVuY3Rpb24odCl7cmV0dXJuIHR9KSl8fFtdfSxvbmx5OmZ1bmN0aW9uKHQpe2lmKCFrKHQpKXRocm93IEVycm9yKCJSZWFjdC5DaGlsZHJlbi5vbmx5IGV4cGVjdGVkIHRvIHJlY2VpdmUgYSBzaW5nbGUgUmVhY3QgZWxlbWVudCBjaGlsZC4iKTtyZXR1cm4gdH19LGkuQ29tcG9uZW50PXYsaS5GcmFnbWVudD1oLGkuUHJvZmlsZXI9cixpLlB1cmVDb21wb25lbnQ9dyxpLlN0cmljdE1vZGU9bixpLlN1c3BlbnNlPXUsaS5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRD1MLGkuY2xvbmVFbGVtZW50PWZ1bmN0aW9uKHQsaSxlKXtpZihudWxsPT10KXRocm93IEVycm9yKCJSZWFjdC5jbG9uZUVsZW1lbnQoLi4uKTogVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBSZWFjdCBlbGVtZW50LCBidXQgeW91IHBhc3NlZCAiK3QrIi4iKTt2YXIgaD1wKHt9LHQucHJvcHMpLG49dC5rZXkscj10LnJlZixvPXQuX293bmVyO2lmKG51bGwhPWkpe2lmKHZvaWQgMCE9PWkucmVmJiYocj1pLnJlZixvPXguY3VycmVudCksdm9pZCAwIT09aS5rZXkmJihuPSIiK2kua2V5KSx0LnR5cGUmJnQudHlwZS5kZWZhdWx0UHJvcHMpdmFyIGw9dC50eXBlLmRlZmF1bHRQcm9wcztmb3IoYSBpbiBpKVMuY2FsbChpLGEpJiYhXy5oYXNPd25Qcm9wZXJ0eShhKSYmKGhbYV09dm9pZCAwPT09aVthXSYmdm9pZCAwIT09bD9sW2FdOmlbYV0pfXZhciBhPWFyZ3VtZW50cy5sZW5ndGgtMgo7aWYoMT09PWEpaC5jaGlsZHJlbj1lO2Vsc2UgaWYoMTxhKXtsPUFycmF5KGEpO2Zvcih2YXIgdT0wO3U8YTt1KyspbFt1XT1hcmd1bWVudHNbdSsyXTtoLmNoaWxkcmVuPWx9cmV0dXJueyQkdHlwZW9mOnMsdHlwZTp0LnR5cGUsa2V5Om4scmVmOnIscHJvcHM6aCxfb3duZXI6b319LGkuY3JlYXRlQ29udGV4dD1mdW5jdGlvbih0KXtyZXR1cm4odD17JCR0eXBlb2Y6bCxfY3VycmVudFZhbHVlOnQsX2N1cnJlbnRWYWx1ZTI6dCxfdGhyZWFkQ291bnQ6MCxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2RlZmF1bHRWYWx1ZTpudWxsLF9nbG9iYWxOYW1lOm51bGx9KS5Qcm92aWRlcj17JCR0eXBlb2Y6byxfY29udGV4dDp0fSx0LkNvbnN1bWVyPXR9LGkuY3JlYXRlRWxlbWVudD1DLGkuY3JlYXRlRmFjdG9yeT1mdW5jdGlvbih0KXt2YXIgaT1DLmJpbmQobnVsbCx0KTtyZXR1cm4gaS50eXBlPXQsaX0saS5jcmVhdGVSZWY9ZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpudWxsfX0saS5mb3J3YXJkUmVmPWZ1bmN0aW9uKHQpe3JldHVybnskJHR5cGVvZjphLHJlbmRlcjp0fX0saS5pc1ZhbGlkRWxlbWVudD1rLGkubGF6eT1mdW5jdGlvbih0KXtyZXR1cm57JCR0eXBlb2Y6ZixfcGF5bG9hZDp7X3N0YXR1czotMSxfcmVzdWx0OnR9LF9pbml0OlB9fSxpLm1lbW89ZnVuY3Rpb24odCxpKXtyZXR1cm57JCR0eXBlb2Y6Yyx0eXBlOnQsY29tcGFyZTp2b2lkIDA9PT1pP251bGw6aX19LGkuc3RhcnRUcmFuc2l0aW9uPWZ1bmN0aW9uKHQpe3ZhciBpPUkudHJhbnNpdGlvbjtJLnRyYW5zaXRpb249e307dHJ5e3QoKX1maW5hbGx5e0kudHJhbnNpdGlvbj1pfX0saS51bnN0YWJsZV9hY3Q9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiYWN0KC4uLikgaXMgbm90IHN1cHBvcnRlZCBpbiBwcm9kdWN0aW9uIGJ1aWxkcyBvZiBSZWFjdC4iKX0saS51c2VDYWxsYmFjaz1mdW5jdGlvbih0LGkpe3JldHVybiB6LmN1cnJlbnQudXNlQ2FsbGJhY2sodCxpKX0saS51c2VDb250ZXh0PWZ1bmN0aW9uKHQpe3JldHVybiB6LmN1cnJlbnQudXNlQ29udGV4dCh0KX0saS51c2VEZWJ1Z1ZhbHVlPWZ1bmN0aW9uKCl7fSxpLnVzZURlZmVycmVkVmFsdWU9ZnVuY3Rpb24odCl7cmV0dXJuIHouY3VycmVudC51c2VEZWZlcnJlZFZhbHVlKHQpfSxpLnVzZUVmZmVjdD1mdW5jdGlvbih0LGkpe3JldHVybiB6LmN1cnJlbnQudXNlRWZmZWN0KHQsaSl9LGkudXNlSWQ9ZnVuY3Rpb24oKXtyZXR1cm4gei5jdXJyZW50LnVzZUlkKCl9LGkudXNlSW1wZXJhdGl2ZUhhbmRsZT1mdW5jdGlvbih0LGkscyl7cmV0dXJuIHouY3VycmVudC51c2VJbXBlcmF0aXZlSGFuZGxlKHQsaSxzKX0saS51c2VJbnNlcnRpb25FZmZlY3Q9ZnVuY3Rpb24odCxpKXtyZXR1cm4gei5jdXJyZW50LnVzZUluc2VydGlvbkVmZmVjdCh0LGkpfSxpLnVzZUxheW91dEVmZmVjdD1mdW5jdGlvbih0LGkpe3JldHVybiB6LmN1cnJlbnQudXNlTGF5b3V0RWZmZWN0KHQsaSl9LGkudXNlTWVtbz1mdW5jdGlvbih0LGkpe3JldHVybiB6LmN1cnJlbnQudXNlTWVtbyh0LGkpfSxpLnVzZVJlZHVjZXI9ZnVuY3Rpb24odCxpLHMpe3JldHVybiB6LmN1cnJlbnQudXNlUmVkdWNlcih0LGkscyl9LGkudXNlUmVmPWZ1bmN0aW9uKHQpe3JldHVybiB6LmN1cnJlbnQudXNlUmVmKHQpfSxpLnVzZVN0YXRlPWZ1bmN0aW9uKHQpe3JldHVybiB6LmN1cnJlbnQudXNlU3RhdGUodCl9LGkudXNlU3luY0V4dGVybmFsU3RvcmU9ZnVuY3Rpb24odCxpLHMpe3JldHVybiB6LmN1cnJlbnQudXNlU3luY0V4dGVybmFsU3RvcmUodCxpLHMpfSxpLnVzZVRyYW5zaXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gei5jdXJyZW50LnVzZVRyYW5zaXRpb24oKX0saS52ZXJzaW9uPSIxOC4yLjAifSw3Nzk0NzQodCxpLHMpe3QuZXhwb3J0cz1zKDEyMjc0OSl9LDY3ODMxMih0LGkscyl7cy5kKGkse0FyZWFTZXJpZXM6KCk9PmtoLEJhclNlcmllczooKT0+UmgsQmFzZWxpbmVTZXJpZXM6KCk9PnhoLENhbmRsZXN0aWNrU2VyaWVzOigpPT5JaCxDb2xvclR5cGU6KCk9PlZpLENyb3NzaGFpck1vZGU6KCk9PlUsSGlzdG9ncmFtU2VyaWVzOigpPT5xaCxMYXN0UHJpY2VBbmltYXRpb25Nb2RlOigpPT5PaSxMaW5lU2VyaWVzOigpPT5naCxMaW5lU3R5bGU6KCk9PnIsTGluZVR5cGU6KCk9Pm4sTWlzbWF0Y2hEaXJlY3Rpb246KCk9PlJ0LFByaWNlU2NhbGVNb2RlOigpPT53aSxUaWNrTWFya1R5cGU6KCk9PiRpLGNyZWF0ZUNoYXJ0RXg6KCk9PnRoLGNyZWF0ZVRleHRXYXRlcm1hcms6KCk9PkhoLGN1c3RvbVNlcmllc0RlZmF1bHRPcHRpb25zOigpPT5HaCxkZWZhdWx0SG9yelNjYWxlQmVoYXZpb3I6KCk9PmlofSk7dmFyIGU9cyg5MTg3NzkpO2NvbnN0IGg9e3RpdGxlOiIiLHZpc2libGU6ITAsaGl0VGVzdFRvbGVyYW5jZTozLGxhc3RWYWx1ZVZpc2libGU6ITAscHJpY2VMaW5lVmlzaWJsZTohMCxwcmljZUxpbmVTb3VyY2U6MCxwcmljZUxpbmVXaWR0aDoxLHByaWNlTGluZUNvbG9yOiIiLHByaWNlTGluZVN0eWxlOjIsYmFzZUxpbmVWaXNpYmxlOiEwLGJhc2VMaW5lV2lkdGg6MSxiYXNlTGluZUNvbG9yOiIjQjJCNUJFIixiYXNlTGluZVN0eWxlOjAscHJpY2VGb3JtYXQ6e3R5cGU6InByaWNlIixwcmVjaXNpb246MixtaW5Nb3ZlOi4wMX19O3ZhciBuLHIsbztmdW5jdGlvbiBsKHQsaSl7Y29uc3Qgcz1mdW5jdGlvbih0LGkpe3N3aXRjaCh0KXtjYXNlIDA6ZGVmYXVsdDpyZXR1cm5bXTtjYXNlIDE6cmV0dXJuW2ksaV07Y2FzZSAyOnJldHVyblsyKmksMippXTtjYXNlIDM6cmV0dXJuWzYqaSw2KmldO2Nhc2UgNDpyZXR1cm5baSw0KmldfX0oaSx0LmxpbmVXaWR0aCk7cmV0dXJuIHQuc2V0TGluZURhc2gocyksc31mdW5jdGlvbiBhKHQsaSxzLGUpe3QuYmVnaW5QYXRoKCk7Y29uc3QgaD10LmxpbmVXaWR0aCUyPy41OjA7dC5tb3ZlVG8ocyxpK2gpLHQubGluZVRvKGUsaStoKSx0LnN0cm9rZSgpfWZ1bmN0aW9uIHUodCxpKXtpZighdCl0aHJvdyBuZXcgRXJyb3IoIkFzc2VydGlvbiBmYWlsZWQiKyhpPyI6ICIraToiIikpfWZ1bmN0aW9uIGModCl7CmlmKHZvaWQgMD09PXQpdGhyb3cgbmV3IEVycm9yKCJWYWx1ZSBpcyB1bmRlZmluZWQiKTtyZXR1cm4gdH1mdW5jdGlvbiBmKHQpe2lmKG51bGw9PT10KXRocm93IG5ldyBFcnJvcigiVmFsdWUgaXMgbnVsbCIpO3JldHVybiB0fWZ1bmN0aW9uIGQodCl7cmV0dXJuIGYoYyh0KSl9KG89bnx8KG49e30pKVtvLlNpbXBsZT0wXT0iU2ltcGxlIixvW28uV2l0aFN0ZXBzPTFdPSJXaXRoU3RlcHMiLG9bby5DdXJ2ZWQ9Ml09IkN1cnZlZCIsZnVuY3Rpb24odCl7dFt0LlNvbGlkPTBdPSJTb2xpZCIsdFt0LkRvdHRlZD0xXT0iRG90dGVkIix0W3QuRGFzaGVkPTJdPSJEYXNoZWQiLHRbdC5MYXJnZURhc2hlZD0zXT0iTGFyZ2VEYXNoZWQiLHRbdC5TcGFyc2VEb3R0ZWQ9NF09IlNwYXJzZURvdHRlZCJ9KHJ8fChyPXt9KSk7Y2xhc3MgbXtjb25zdHJ1Y3Rvcigpe3RoaXMudD1bXX1pKHQsaSxzKXtjb25zdCBlPXtoOnQsbDppLG86ITA9PT1zfTt0aGlzLnQucHVzaChlKX1fKHQpe2NvbnN0IGk9dGhpcy50LmZpbmRJbmRleCgoaT0+dD09PWkuaCkpO2k+LTEmJnRoaXMudC5zcGxpY2UoaSwxKX11KHQpe3RoaXMudD10aGlzLnQuZmlsdGVyKChpPT5pLmwhPT10KSl9cCh0LGkscyl7Y29uc3QgZT1bLi4udGhpcy50XTt0aGlzLnQ9dGhpcy50LmZpbHRlcigodD0+IXQubykpLGUuZm9yRWFjaCgoZT0+ZS5oKHQsaSxzKSkpfXYoKXtyZXR1cm4gdGhpcy50Lmxlbmd0aD4wfW0oKXt0aGlzLnQ9W119fWZ1bmN0aW9uIHAodCwuLi5pKXtmb3IoY29uc3QgcyBvZiBpKWZvcihjb25zdCBpIGluIHMpdm9pZCAwIT09c1tpXSYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsaSkmJiFbIl9fcHJvdG9fXyIsImNvbnN0cnVjdG9yIiwicHJvdG90eXBlIl0uaW5jbHVkZXMoaSkmJigib2JqZWN0IiE9dHlwZW9mIHNbaV18fHZvaWQgMD09PXRbaV18fEFycmF5LmlzQXJyYXkoc1tpXSk/dFtpXT1zW2ldOnAodFtpXSxzW2ldKSk7cmV0dXJuIHR9ZnVuY3Rpb24gZyh0KXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHQmJmlzRmluaXRlKHQpfWZ1bmN0aW9uIHYodCl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0JiZ0JTE9PTB9ZnVuY3Rpb24gYih0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHR9ZnVuY3Rpb24gdyh0KXtyZXR1cm4iYm9vbGVhbiI9PXR5cGVvZiB0fWZ1bmN0aW9uIE0odCl7Y29uc3QgaT10O2lmKCFpfHwib2JqZWN0IiE9dHlwZW9mIGkpcmV0dXJuIGk7bGV0IHMsZSxoO2ZvcihlIGluIHM9QXJyYXkuaXNBcnJheShpKT9bXTp7fSxpKWkuaGFzT3duUHJvcGVydHkoZSkmJihoPWlbZV0sc1tlXT1oJiYib2JqZWN0Ij09dHlwZW9mIGg/TShoKTpoKTtyZXR1cm4gc31mdW5jdGlvbiB5KHQpe3JldHVybiBudWxsIT09dH1mdW5jdGlvbiBTKHQpe3JldHVybiBudWxsPT09dD92b2lkIDA6dH1jb25zdCB4PSItYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdUcmVidWNoZXQgTVMnLCBSb2JvdG8sIFVidW50dSwgc2Fucy1zZXJpZiI7ZnVuY3Rpb24gXyh0LGkscyl7cmV0dXJuIHZvaWQgMD09PWkmJihpPXgpLGAke3M9dm9pZCAwIT09cz9gJHtzfSBgOiIifSR7dH1weCAke2l9YH1jbGFzcyBDe2NvbnN0cnVjdG9yKHQpe3RoaXMuTT17UzoxLEM6NSxrOk5hTixQOiIiLFQ6IiIsUjoiIixEOiIiLEk6MCxWOjAsQjowLEE6MCxMOjB9LHRoaXMuTz10fU4oKXtjb25zdCB0PXRoaXMuTSxpPXRoaXMuRigpLHM9dGhpcy5XKCk7cmV0dXJuIHQuaz09PWkmJnQuVD09PXN8fCh0Lms9aSx0LlQ9cyx0LlA9XyhpLHMpLHQuQT0yLjUvMTIqaSx0Lkk9dC5BLHQuVj1pLzEyKnQuQyx0LkI9aS8xMip0LkMsdC5MPTApLHQuUj10aGlzLkgoKSx0LkQ9dGhpcy5VKCksdGhpcy5NfUgoKXtyZXR1cm4gdGhpcy5PLk4oKS5sYXlvdXQudGV4dENvbG9yfVUoKXtyZXR1cm4gdGhpcy5PLiQoKX1GKCl7cmV0dXJuIHRoaXMuTy5OKCkubGF5b3V0LmZvbnRTaXplfVcoKXtyZXR1cm4gdGhpcy5PLk4oKS5sYXlvdXQuZm9udEZhbWlseX19ZnVuY3Rpb24gayh0KXtyZXR1cm4gdDwwPzA6dD4yNTU/MjU1Ok1hdGgucm91bmQodCl8fDB9ZnVuY3Rpb24gRSh0KXtyZXR1cm4uMTk5KnRbMF0rLjY4Nyp0WzFdKy4xMTQqdFsyXX1jbGFzcyBOe2NvbnN0cnVjdG9yKHQsaSl7dGhpcy5qPW5ldyBNYXAsdGhpcy5xPXQsaSYmKHRoaXMuaj1pKX1ZKHQsaSl7aWYoInRyYW5zcGFyZW50Ij09PXQpcmV0dXJuIHQ7Y29uc3Qgcz10aGlzLksodCksZT1zWzNdO3JldHVybmByZ2JhKCR7c1swXX0sICR7c1sxXX0sICR7c1syXX0sICR7aSplfSlgfVoodCl7Y29uc3QgaT10aGlzLksodCk7cmV0dXJue0c6YHJnYigke2lbMF19LCAke2lbMV19LCAke2lbMl19KWAsWDpFKGkpPjE2MD8iYmxhY2siOiJ3aGl0ZSJ9fUoodCl7cmV0dXJuIEUodGhpcy5LKHQpKX10dCh0LGkscyl7Y29uc3RbZSxoLG4scl09dGhpcy5LKHQpLFtvLGwsYSx1XT10aGlzLksoaSksYz1bayhlK3MqKG8tZSkpLGsoaCtzKihsLWgpKSxrKG4rcyooYS1uKSksKGY9citzKih1LXIpLGY8PTB8fGY+MT9NYXRoLm1pbihNYXRoLm1heChmLDApLDEpOk1hdGgucm91bmQoMWU0KmYpLzFlNCldO3ZhciBmO3JldHVybmByZ2JhKCR7Y1swXX0sICR7Y1sxXX0sICR7Y1syXX0sICR7Y1szXX0pYH1LKHQpe2NvbnN0IGk9dGhpcy5qLmdldCh0KTtpZihpKXJldHVybiBpO2NvbnN0IHM9ZnVuY3Rpb24odCl7Y29uc3QgaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtpLnN0eWxlLmRpc3BsYXk9Im5vbmUiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaSksaS5zdHlsZS5jb2xvcj10O2NvbnN0IHM9d2luZG93LmdldENvbXB1dGVkU3R5bGUoaSkuY29sb3I7cmV0dXJuIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoaSksc30odCksZT1zLm1hdGNoKC9ecmdiYT9ccypcKChcZCspLFxzKihcZCspLFxzKihcZCspKD86LFxzKihcZCpcLj9cZCspKT9cKSQvKTtpZighZSl7aWYodGhpcy5xLmxlbmd0aClmb3IoY29uc3QgaSBvZiB0aGlzLnEpe2NvbnN0IHM9aSh0KTtpZihzKXJldHVybiB0aGlzLmouc2V0KHQscyksc310aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBwYXJzZSBjb2xvcjogJHt0fWApfQpjb25zdCBoPVtwYXJzZUludChlWzFdLDEwKSxwYXJzZUludChlWzJdLDEwKSxwYXJzZUludChlWzNdLDEwKSxlWzRdP3BhcnNlRmxvYXQoZVs0XSk6MV07cmV0dXJuIHRoaXMuai5zZXQodCxoKSxofX1jbGFzcyBUe2NvbnN0cnVjdG9yKCl7dGhpcy5pdD1bXX1udCh0KXt0aGlzLml0PXR9c3QodCxpLHMpe3RoaXMuaXQuZm9yRWFjaCgoZT0+e2Uuc3QodCxpLHMpfSkpfX1jbGFzcyBSe3N0KHQsaSxzKXt0LnVzZUJpdG1hcENvb3JkaW5hdGVTcGFjZSgodD0+dGhpcy5ldCh0LGkscykpKX19Y2xhc3MgUCBleHRlbmRzIFJ7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMucnQ9bnVsbH1odCh0KXt0aGlzLnJ0PXR9ZXQoe2NvbnRleHQ6dCxob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzpzfSl7aWYobnVsbD09PXRoaXMucnR8fG51bGw9PT10aGlzLnJ0Lmx0KXJldHVybjtjb25zdCBlPXRoaXMucnQubHQsaD10aGlzLnJ0LG49TWF0aC5tYXgoMSxNYXRoLmZsb29yKGkpKSUyLzIscj1yPT57dC5iZWdpblBhdGgoKTtmb3IobGV0IG89ZS50by0xO28+PWUuZnJvbTstLW8pe2NvbnN0IGU9aC5vdFtvXSxsPU1hdGgucm91bmQoZS5fdCppKStuLGE9ZS51dCpzLHU9cipzK247dC5tb3ZlVG8obCxhKSx0LmFyYyhsLGEsdSwwLDIqTWF0aC5QSSl9dC5maWxsKCl9O2guY3Q+MCYmKHQuZmlsbFN0eWxlPWguZHQscihoLmZ0K2guY3QpKSx0LmZpbGxTdHlsZT1oLnZ0LHIoaC5mdCl9fWZ1bmN0aW9uIHooKXtyZXR1cm57b3Q6W3tfdDowLHV0OjAsd3Q6MCxNdDowfV0sdnQ6IiIsZHQ6IiIsZnQ6MCxjdDowLGx0Om51bGx9fWNvbnN0IEk9e2Zyb206MCx0bzoxfTtjbGFzcyBMe2NvbnN0cnVjdG9yKHQsaSxzKXt0aGlzLmd0PW5ldyBULHRoaXMuYnQ9W10sdGhpcy5TdD1bXSx0aGlzLnh0PSEwLHRoaXMuTz10LHRoaXMuQ3Q9aSx0aGlzLnl0PXMsdGhpcy5ndC5udCh0aGlzLmJ0KX1rdCh0KXt0aGlzLlB0KCksdGhpcy54dD0hMH1UdCgpe3JldHVybiB0aGlzLnh0JiYodGhpcy5SdCgpLHRoaXMueHQ9ITEpLHRoaXMuZ3R9UHQoKXtjb25zdCB0PXRoaXMueXQuRHQoKTt0Lmxlbmd0aCE9PXRoaXMuYnQubGVuZ3RoJiYodGhpcy5TdD10Lm1hcCh6KSx0aGlzLmJ0PXRoaXMuU3QubWFwKCh0PT57Y29uc3QgaT1uZXcgUDtyZXR1cm4gaS5odCh0KSxpfSkpLHRoaXMuZ3QubnQodGhpcy5idCkpfVJ0KCl7Y29uc3QgdD0yPT09dGhpcy5DdC5OKCkubW9kZXx8IXRoaXMuQ3QuSXQoKSxpPXRoaXMueXQuVnQoKSxzPXRoaXMuQ3QuQnQoKSxlPXRoaXMuTy5FdCgpO3RoaXMuUHQoKSxpLmZvckVhY2goKChpLGgpPT57Y29uc3Qgbj10aGlzLlN0W2hdLHI9aS5BdChzKSxvPWkuTHQoKTshdCYmbnVsbCE9PXImJmkuSXQoKSYmbnVsbCE9PW8/KG4udnQ9ci56dCxuLmZ0PXIuZnQsbi5jdD1yLk90LG4ub3RbMF0uTXQ9ci5NdCxuLm90WzBdLnV0PWkuRnQoKS5OdChyLk10LG8uV3QpLG4uZHQ9ci5IdD8/dGhpcy5PLlV0KG4ub3RbMF0udXQvaS5GdCgpLiR0KCkpLG4ub3RbMF0ud3Q9cyxuLm90WzBdLl90PWUuanQocyksbi5sdD1JKTpuLmx0PW51bGx9KSl9fWNsYXNzIEYgZXh0ZW5kcyBSe2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5xdD10fWV0KHtjb250ZXh0OnQsYml0bWFwU2l6ZTppLGhvcml6b250YWxQaXhlbFJhdGlvOnMsdmVydGljYWxQaXhlbFJhdGlvOmV9KXtpZihudWxsPT09dGhpcy5xdClyZXR1cm47Y29uc3QgaD10aGlzLnF0Lll0Lkl0LG49dGhpcy5xdC5LdC5JdDtpZighaCYmIW4pcmV0dXJuO2NvbnN0IHI9TWF0aC5yb3VuZCh0aGlzLnF0Ll90KnMpLG89TWF0aC5yb3VuZCh0aGlzLnF0LnV0KmUpO3QubGluZUNhcD0iYnV0dCIsaCYmcj49MCYmKHQubGluZVdpZHRoPU1hdGguZmxvb3IodGhpcy5xdC5ZdC5jdCpzKSx0LnN0cm9rZVN0eWxlPXRoaXMucXQuWXQuUix0LmZpbGxTdHlsZT10aGlzLnF0Lll0LlIsbCh0LHRoaXMucXQuWXQuWnQpLGZ1bmN0aW9uKHQsaSxzLGUpe3QuYmVnaW5QYXRoKCk7Y29uc3QgaD10LmxpbmVXaWR0aCUyPy41OjA7dC5tb3ZlVG8oaStoLDApLHQubGluZVRvKGkraCxlKSx0LnN0cm9rZSgpfSh0LHIsMCxpLmhlaWdodCkpLG4mJm8+PTAmJih0LmxpbmVXaWR0aD1NYXRoLmZsb29yKHRoaXMucXQuS3QuY3QqZSksdC5zdHJva2VTdHlsZT10aGlzLnF0Lkt0LlIsdC5maWxsU3R5bGU9dGhpcy5xdC5LdC5SLGwodCx0aGlzLnF0Lkt0Llp0KSxhKHQsbywwLGkud2lkdGgpKX19Y2xhc3MgcXtjb25zdHJ1Y3Rvcih0LGkpe3RoaXMueHQ9ITAsdGhpcy5HdD17WXQ6e2N0OjEsWnQ6MCxSOiIiLEl0OiExfSxLdDp7Y3Q6MSxadDowLFI6IiIsSXQ6ITF9LF90OjAsdXQ6MH0sdGhpcy5YdD1uZXcgRih0aGlzLkd0KSx0aGlzLkp0PXQsdGhpcy55dD1pfWt0KCl7dGhpcy54dD0hMH1UdCh0KXtyZXR1cm4gdGhpcy54dCYmKHRoaXMuUnQoKSx0aGlzLnh0PSExKSx0aGlzLlh0fVJ0KCl7Y29uc3QgdD10aGlzLkp0Lkl0KCksaT10aGlzLnl0LlF0KCkuTigpLmNyb3NzaGFpcixzPXRoaXMuR3Q7aWYoMj09PWkubW9kZSlyZXR1cm4gcy5LdC5JdD0hMSx2b2lkKHMuWXQuSXQ9ITEpO3MuS3QuSXQ9dCYmdGhpcy5KdC50aSh0aGlzLnl0KSxzLll0Lkl0PXQmJnRoaXMuSnQuaWkoKSxzLkt0LmN0PWkuaG9yekxpbmUud2lkdGgscy5LdC5adD1pLmhvcnpMaW5lLnN0eWxlLHMuS3QuUj1pLmhvcnpMaW5lLmNvbG9yLHMuWXQuY3Q9aS52ZXJ0TGluZS53aWR0aCxzLll0Llp0PWkudmVydExpbmUuc3R5bGUscy5ZdC5SPWkudmVydExpbmUuY29sb3Iscy5fdD10aGlzLkp0Lm5pKCkscy51dD10aGlzLkp0LnNpKCl9fWZ1bmN0aW9uIFcodCxpLHMsZSxoLG4pe3QuZmlsbFJlY3QoaStuLHMsZS0yKm4sbiksdC5maWxsUmVjdChpK24scytoLW4sZS0yKm4sbiksdC5maWxsUmVjdChpLHMsbixoKSx0LmZpbGxSZWN0KGkrZS1uLHMsbixoKX1mdW5jdGlvbiBRKHQsaSxzLGUsaCxuKXt0LnNhdmUoKSx0Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbj0iY29weSIsdC5maWxsU3R5bGU9bix0LmZpbGxSZWN0KGkscyxlLGgpLHQucmVzdG9yZSgpfWZ1bmN0aW9uIEQodCxpLHMsZSxoLG4pewp0LmJlZ2luUGF0aCgpLHQucm91bmRSZWN0P3Qucm91bmRSZWN0KGkscyxlLGgsbik6KHQubGluZVRvKGkrZS1uWzFdLHMpLDAhPT1uWzFdJiZ0LmFyY1RvKGkrZSxzLGkrZSxzK25bMV0sblsxXSksdC5saW5lVG8oaStlLHMraC1uWzJdKSwwIT09blsyXSYmdC5hcmNUbyhpK2UscytoLGkrZS1uWzJdLHMraCxuWzJdKSx0LmxpbmVUbyhpK25bM10scytoKSwwIT09blszXSYmdC5hcmNUbyhpLHMraCxpLHMraC1uWzNdLG5bM10pLHQubGluZVRvKGkscytuWzBdKSwwIT09blswXSYmdC5hcmNUbyhpLHMsaStuWzBdLHMsblswXSkpfWZ1bmN0aW9uIE8odCxpLHMsZSxoLG4scj0wLG89WzAsMCwwLDBdLGw9IiIpe2lmKHQuc2F2ZSgpLCFyfHwhbHx8bD09PW4pcmV0dXJuIEQodCxpLHMsZSxoLG8pLHQuZmlsbFN0eWxlPW4sdC5maWxsKCksdm9pZCB0LnJlc3RvcmUoKTtjb25zdCBhPXIvMjt2YXIgdTtEKHQsaSthLHMrYSxlLXIsaC1yLCh1PS1hLG8ubWFwKCh0PT4wPT09dD90OnQrdSkpKSksInRyYW5zcGFyZW50IiE9PW4mJih0LmZpbGxTdHlsZT1uLHQuZmlsbCgpKSwidHJhbnNwYXJlbnQiIT09bCYmKHQubGluZVdpZHRoPXIsdC5zdHJva2VTdHlsZT1sLHQuY2xvc2VQYXRoKCksdC5zdHJva2UoKSksdC5yZXN0b3JlKCl9ZnVuY3Rpb24gSyh0LGkscyxlLGgsbixyKXt0LnNhdmUoKSx0Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbj0iY29weSI7Y29uc3Qgbz10LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsMCwwLGgpO28uYWRkQ29sb3JTdG9wKDAsbiksby5hZGRDb2xvclN0b3AoMSxyKSx0LmZpbGxTdHlsZT1vLHQuZmlsbFJlY3QoaSxzLGUsaCksdC5yZXN0b3JlKCl9Y2xhc3MgVntjb25zdHJ1Y3Rvcih0LGkpe3RoaXMuaHQodCxpKX1odCh0LGkpe3RoaXMucXQ9dCx0aGlzLmVpPWl9JHQodCxpKXtyZXR1cm4gdGhpcy5xdC5JdD90LmsrdC5BK3QuSTowfXN0KHQsaSxzLGUpe2lmKCF0aGlzLnF0Lkl0fHwwPT09dGhpcy5xdC5yaS5sZW5ndGgpcmV0dXJuO2NvbnN0IGg9dGhpcy5xdC5SLG49dGhpcy5laS5HLHI9dC51c2VCaXRtYXBDb29yZGluYXRlU3BhY2UoKHQ9Pntjb25zdCByPXQuY29udGV4dDtyLmZvbnQ9aS5QO2NvbnN0IG89dGhpcy5oaSh0LGkscyxlKSxsPW8uYWk7cmV0dXJuIG8ubGk/TyhyLGwub2ksbC5faSxsLnVpLGwuY2ksbixsLmRpLFtsLmZ0LDAsMCxsLmZ0XSxuKTpPKHIsbC5maSxsLl9pLGwudWksbC5jaSxuLGwuZGksWzAsbC5mdCxsLmZ0LDBdLG4pLHRoaXMucXQucGkmJihyLmZpbGxTdHlsZT1oLHIuZmlsbFJlY3QobC5maSxsLm1pLGwud2ktbC5maSxsLk1pKSksdGhpcy5xdC5naSYmKHIuZmlsbFN0eWxlPWkuRCxyLmZpbGxSZWN0KG8ubGk/bC5iaS1sLmRpOjAsbC5faSxsLmRpLGwuU2ktbC5faSkpLG99KSk7dC51c2VNZWRpYUNvb3JkaW5hdGVTcGFjZSgoKHtjb250ZXh0OnR9KT0+e2NvbnN0IHM9ci54aTt0LmZvbnQ9aS5QLHQudGV4dEFsaWduPXIubGk/InJpZ2h0IjoibGVmdCIsdC50ZXh0QmFzZWxpbmU9Im1pZGRsZSIsdC5maWxsU3R5bGU9aCx0LmZpbGxUZXh0KHRoaXMucXQucmkscy5DaSwocy5faStzLlNpKS8yK3MueWkpfSkpfWhpKHQsaSxzLGUpe2NvbnN0e2NvbnRleHQ6aCxiaXRtYXBTaXplOm4sbWVkaWFTaXplOnIsaG9yaXpvbnRhbFBpeGVsUmF0aW86byx2ZXJ0aWNhbFBpeGVsUmF0aW86bH09dCxhPXRoaXMucXQucGl8fCF0aGlzLnF0LmtpP2kuQzowLHU9dGhpcy5xdC5QaT9pLlM6MCxjPWkuQSt0aGlzLmVpLlRpLGY9aS5JK3RoaXMuZWkuUmksZD1pLlYsbT1pLkIscD10aGlzLnF0LnJpLGc9aS5rLHY9cy5EaShoLHApLGI9TWF0aC5jZWlsKHMuSWkoaCxwKSksdz1nK2MrZixNPWkuUytkK20rYithLHk9TWF0aC5tYXgoMSxNYXRoLmZsb29yKGwpKTtsZXQgUz1NYXRoLnJvdW5kKHcqbCk7UyUyIT15JTImJihTKz0xKTtjb25zdCB4PXU+MD9NYXRoLm1heCgxLE1hdGguZmxvb3IodSpvKSk6MCxfPU1hdGgucm91bmQoTSpvKSxDPU1hdGgucm91bmQoYSpvKSxrPXRoaXMuZWkuVmk/P3RoaXMuZWkuQmk/P3RoaXMuZWkuRWksRT1NYXRoLnJvdW5kKGsqbCktTWF0aC5mbG9vciguNSpsKSxOPU1hdGguZmxvb3IoRSt5LzItUy8yKSxUPU4rUyxSPSJyaWdodCI9PT1lLFA9Uj9yLndpZHRoLXU6dSx6PVI/bi53aWR0aC14Ong7bGV0IEksTCxGO3JldHVybiBSPyhJPXotXyxMPXotQyxGPVAtYS1kLXUpOihJPXorXyxMPXorQyxGPVArYStkKSx7bGk6UixhaTp7X2k6TixtaTpFLFNpOlQsdWk6XyxjaTpTLGZ0OjIqbyxkaTp4LG9pOkksZmk6eix3aTpMLE1pOnksYmk6bi53aWR0aH0seGk6e19pOk4vbCxTaTpUL2wsQ2k6Rix5aTp2fX19fWNsYXNzICR7Y29uc3RydWN0b3IodCl7dGhpcy5BaT17RWk6MCxHOiIjMDAwIixSaTowLFRpOjB9LHRoaXMuTGk9e3JpOiIiLEl0OiExLHBpOiEwLGtpOiExLEh0OiIiLFI6IiNGRkYiLGdpOiExLFBpOiExfSx0aGlzLnppPXtyaToiIixJdDohMSxwaTohMSxraTohMCxIdDoiIixSOiIjRkZGIixnaTohMCxQaTohMH0sdGhpcy54dD0hMCx0aGlzLk9pPW5ldyh0fHxWKSh0aGlzLkxpLHRoaXMuQWkpLHRoaXMuTmk9bmV3KHR8fFYpKHRoaXMuemksdGhpcy5BaSl9cmkoKXtyZXR1cm4gdGhpcy5GaSgpLHRoaXMuTGkucml9RWkoKXtyZXR1cm4gdGhpcy5GaSgpLHRoaXMuQWkuRWl9a3QoKXt0aGlzLnh0PSEwfSR0KHQsaT0hMSl7cmV0dXJuIE1hdGgubWF4KHRoaXMuT2kuJHQodCxpKSx0aGlzLk5pLiR0KHQsaSkpfVdpKCl7cmV0dXJuIHRoaXMuQWkuVmk/P251bGx9SGkoKXtyZXR1cm4gdGhpcy5BaS5WaT8/dGhpcy5BaS5CaT8/dGhpcy5FaSgpfVVpKHQpe3RoaXMuQWkuQmk9dD8/dm9pZCAwfSRpKCl7cmV0dXJuIHRoaXMuRmkoKSx0aGlzLkxpLkl0fHx0aGlzLnppLkl0fWppKCl7cmV0dXJuIHRoaXMuRmkoKSx0aGlzLkxpLkl0fVR0KHQpe3JldHVybiB0aGlzLkZpKCksdGhpcy5MaS5waT10aGlzLkxpLnBpJiZ0Lk4oKS50aWNrc1Zpc2libGUsdGhpcy56aS5waT10aGlzLnppLnBpJiZ0Lk4oKS50aWNrc1Zpc2libGUsdGhpcy5PaS5odCh0aGlzLkxpLHRoaXMuQWkpLHRoaXMuTmkuaHQodGhpcy56aSx0aGlzLkFpKSx0aGlzLk9pfXFpKCl7CnJldHVybiB0aGlzLkZpKCksdGhpcy5PaS5odCh0aGlzLkxpLHRoaXMuQWkpLHRoaXMuTmkuaHQodGhpcy56aSx0aGlzLkFpKSx0aGlzLk5pfUZpKCl7dGhpcy54dCYmKHRoaXMuTGkucGk9ITAsdGhpcy56aS5waT0hMSx0aGlzLllpKHRoaXMuTGksdGhpcy56aSx0aGlzLkFpKSl9fWNsYXNzIEIgZXh0ZW5kcyAke2NvbnN0cnVjdG9yKHQsaSxzKXtzdXBlcigpLHRoaXMuSnQ9dCx0aGlzLktpPWksdGhpcy5aaT1zfVlpKHQsaSxzKXtpZih0Lkl0PSExLDI9PT10aGlzLkp0Lk4oKS5tb2RlKXJldHVybjtjb25zdCBlPXRoaXMuSnQuTigpLmhvcnpMaW5lO2lmKCFlLmxhYmVsVmlzaWJsZSlyZXR1cm47Y29uc3QgaD10aGlzLktpLkx0KCk7aWYoIXRoaXMuSnQuSXQoKXx8dGhpcy5LaS5HaSgpfHxudWxsPT09aClyZXR1cm47Y29uc3Qgbj10aGlzLktpLlhpKCkuWihlLmxhYmVsQmFja2dyb3VuZENvbG9yKTtzLkc9bi5HLHQuUj1uLlg7Y29uc3Qgcj0yLzEyKnRoaXMuS2kuaygpO3MuVGk9cixzLlJpPXI7Y29uc3Qgbz10aGlzLlppKHRoaXMuS2kpO3MuRWk9by5FaSx0LnJpPXRoaXMuS2kuSmkoby5NdCxoKSx0Lkl0PSEwfX1jb25zdCBBPS9bMS05XS9nO2NsYXNzIFp7Y29uc3RydWN0b3IoKXt0aGlzLnF0PW51bGx9aHQodCl7dGhpcy5xdD10fXN0KHQsaSl7aWYobnVsbD09PXRoaXMucXR8fCExPT09dGhpcy5xdC5JdHx8MD09PXRoaXMucXQucmkubGVuZ3RoKXJldHVybjtjb25zdCBzPXQudXNlTWVkaWFDb29yZGluYXRlU3BhY2UoKCh7Y29udGV4dDp0fSk9Pih0LmZvbnQ9aS5QLE1hdGgucm91bmQoaS5RaS5JaSh0LGYodGhpcy5xdCkucmksQSkpKSkpO2lmKHM8PTApcmV0dXJuO2NvbnN0IGU9aS50bixoPXMrMiplLG49aC8yLHI9dGhpcy5xdC5ubjtsZXQgbz10aGlzLnF0LkVpLGw9TWF0aC5mbG9vcihvLW4pKy41O2w8MD8obys9TWF0aC5hYnMoMC1sKSxsPU1hdGguZmxvb3Ioby1uKSsuNSk6bCtoPnImJihvLT1NYXRoLmFicyhyLShsK2gpKSxsPU1hdGguZmxvb3Ioby1uKSsuNSk7Y29uc3QgYT1sK2gsdT1NYXRoLmNlaWwoMCtpLlMraS5DK2kuQStpLmsraS5JKTt0LnVzZUJpdG1hcENvb3JkaW5hdGVTcGFjZSgoKHtjb250ZXh0OnQsaG9yaXpvbnRhbFBpeGVsUmF0aW86cyx2ZXJ0aWNhbFBpeGVsUmF0aW86ZX0pPT57Y29uc3QgaD1mKHRoaXMucXQpO3QuZmlsbFN0eWxlPWguRztjb25zdCBuPU1hdGgucm91bmQobCpzKSxyPU1hdGgucm91bmQoMCplKSxvPU1hdGgucm91bmQoYSpzKSxjPU1hdGgucm91bmQodSplKSxkPU1hdGgucm91bmQoMipzKTtpZih0LmJlZ2luUGF0aCgpLHQubW92ZVRvKG4sciksdC5saW5lVG8obixjLWQpLHQuYXJjVG8obixjLG4rZCxjLGQpLHQubGluZVRvKG8tZCxjKSx0LmFyY1RvKG8sYyxvLGMtZCxkKSx0LmxpbmVUbyhvLHIpLHQuZmlsbCgpLGgucGkpe2NvbnN0IG49TWF0aC5yb3VuZChoLkVpKnMpLG89cixsPU1hdGgucm91bmQoKG8raS5DKSplKTt0LmZpbGxTdHlsZT1oLlI7Y29uc3QgYT1NYXRoLm1heCgxLE1hdGguZmxvb3IocykpLHU9TWF0aC5mbG9vciguNSpzKTt0LmZpbGxSZWN0KG4tdSxvLGEsbC1vKX19KSksdC51c2VNZWRpYUNvb3JkaW5hdGVTcGFjZSgoKHtjb250ZXh0OnR9KT0+e2NvbnN0IHM9Zih0aGlzLnF0KSxoPTAraS5TK2kuQytpLkEraS5rLzI7dC5mb250PWkuUCx0LnRleHRBbGlnbj0ibGVmdCIsdC50ZXh0QmFzZWxpbmU9Im1pZGRsZSIsdC5maWxsU3R5bGU9cy5SO2NvbnN0IG49aS5RaS5EaSh0LCJBcHIwIik7dC50cmFuc2xhdGUobCtlLGgrbiksdC5maWxsVGV4dChzLnJpLDAsMCl9KSl9fWNsYXNzIEh7Y29uc3RydWN0b3IodCxpLHMpe3RoaXMueHQ9ITAsdGhpcy5YdD1uZXcgWix0aGlzLkd0PXtJdDohMSxHOiIjNGM1MjVlIixSOiJ3aGl0ZSIscmk6IiIsbm46MCxFaTpOYU4scGk6ITB9LHRoaXMuQ3Q9dCx0aGlzLnNuPWksdGhpcy5aaT1zfWt0KCl7dGhpcy54dD0hMH1UdCgpe3JldHVybiB0aGlzLnh0JiYodGhpcy5SdCgpLHRoaXMueHQ9ITEpLHRoaXMuWHQuaHQodGhpcy5HdCksdGhpcy5YdH1SdCgpe2NvbnN0IHQ9dGhpcy5HdDtpZih0Lkl0PSExLDI9PT10aGlzLkN0Lk4oKS5tb2RlKXJldHVybjtjb25zdCBpPXRoaXMuQ3QuTigpLnZlcnRMaW5lO2lmKCFpLmxhYmVsVmlzaWJsZSlyZXR1cm47Y29uc3Qgcz10aGlzLnNuLkV0KCk7aWYocy5HaSgpKXJldHVybjt0Lm5uPXMubm4oKTtjb25zdCBlPXRoaXMuWmkoKTtpZihudWxsPT09ZSlyZXR1cm47dC5FaT1lLkVpO2NvbnN0IGg9cy5lbih0aGlzLkN0LkJ0KCkpO3Qucmk9cy5ybihmKGgpKSx0Lkl0PSEwO2NvbnN0IG49dGhpcy5zbi5YaSgpLlooaS5sYWJlbEJhY2tncm91bmRDb2xvcik7dC5HPW4uRyx0LlI9bi5YLHQucGk9cy5OKCkudGlja3NWaXNpYmxlfX1jbGFzcyBHe2NvbnN0cnVjdG9yKCl7dGhpcy5obj1udWxsLHRoaXMuYW49MH1sbigpe3JldHVybiB0aGlzLmFufV9uKHQpe3RoaXMuYW49dH1GdCgpe3JldHVybiB0aGlzLmhufXVuKHQpe3RoaXMuaG49dH1jbih0KXtyZXR1cm5bXX1kbigpe3JldHVybltdfUl0KCl7cmV0dXJuITB9fXZhciBVOyFmdW5jdGlvbih0KXt0W3QuTm9ybWFsPTBdPSJOb3JtYWwiLHRbdC5NYWduZXQ9MV09Ik1hZ25ldCIsdFt0LkhpZGRlbj0yXT0iSGlkZGVuIix0W3QuTWFnbmV0T0hMQz0zXT0iTWFnbmV0T0hMQyJ9KFV8fChVPXt9KSk7Y2xhc3MgWSBleHRlbmRzIEd7Y29uc3RydWN0b3IodCxpKXtzdXBlcigpLHRoaXMueXQ9bnVsbCx0aGlzLmZuPU5hTix0aGlzLnBuPTAsdGhpcy52bj0hMSx0aGlzLm1uPW5ldyBNYXAsdGhpcy53bj0hMSx0aGlzLk1uPW5ldyBXZWFrTWFwLHRoaXMuZ249bmV3IFdlYWtNYXAsdGhpcy5ibj1OYU4sdGhpcy5Tbj1OYU4sdGhpcy54bj1OYU4sdGhpcy5Dbj1OYU4sdGhpcy5zbj10LHRoaXMueW49aSx0aGlzLmtuPSgodCxpKT0+cz0+e2NvbnN0IGU9aSgpLGg9dCgpO2lmKHM9PT1mKHRoaXMueXQpLlBuKCkpcmV0dXJue010OmgsRWk6ZX07e2NvbnN0IHQ9ZihzLkx0KCkpO3JldHVybntNdDpzLlRuKGUsdCksRWk6ZX19fSkoKCgpPT50aGlzLmZuKSwoKCk9PnRoaXMuU24pKTtjb25zdCBzPSgodCxpKT0+KCk9PnsKY29uc3Qgcz10aGlzLnNuLkV0KCkuUm4odCgpKSxlPWkoKTtyZXR1cm4gcyYmTnVtYmVyLmlzRmluaXRlKGUpP3t3dDpzLEVpOmV9Om51bGx9KSgoKCk9PnRoaXMucG4pLCgoKT0+dGhpcy5uaSgpKSk7dGhpcy5Ebj1uZXcgSCh0aGlzLHQscyl9Tigpe3JldHVybiB0aGlzLnlufUluKHQsaSl7dGhpcy54bj10LHRoaXMuQ249aX1Wbigpe3RoaXMueG49TmFOLHRoaXMuQ249TmFOfUJuKCl7cmV0dXJuIHRoaXMueG59RW4oKXtyZXR1cm4gdGhpcy5Dbn1Bbih0LGkscyl7dGhpcy53bnx8KHRoaXMud249ITApLHRoaXMudm49ITAsdGhpcy5Mbih0LGkscyl9QnQoKXtyZXR1cm4gdGhpcy5wbn1uaSgpe3JldHVybiB0aGlzLmJufXNpKCl7cmV0dXJuIHRoaXMuU259SXQoKXtyZXR1cm4gdGhpcy52bn16bigpe3RoaXMudm49ITEsdGhpcy5PbigpLHRoaXMuZm49TmFOLHRoaXMuYm49TmFOLHRoaXMuU249TmFOLHRoaXMueXQ9bnVsbCx0aGlzLlZuKCksdGhpcy5ObigpfUZuKHQpe2lmKCF0aGlzLnluLmRvTm90U25hcFRvSGlkZGVuU2VyaWVzSW5kaWNlcylyZXR1cm4gdDtjb25zdCBpPXRoaXMuc24scz1pLkV0KCk7bGV0IGU9bnVsbCxoPW51bGw7Zm9yKGNvbnN0IHMgb2YgaS5XbigpKXtjb25zdCBpPXMuVW4oKS5Ibih0LC0xKTtpZihpKXtpZihpLiRuPT09dClyZXR1cm4gdDsobnVsbD09PWV8fGkuJG4+ZSkmJihlPWkuJG4pfWNvbnN0IG49cy5VbigpLkhuKHQsMSk7aWYobil7aWYobi4kbj09PXQpcmV0dXJuIHQ7KG51bGw9PT1ofHxuLiRuPGgpJiYoaD1uLiRuKX19Y29uc3Qgbj1bZSxoXS5maWx0ZXIoeSk7aWYoMD09PW4ubGVuZ3RoKXJldHVybiB0O2NvbnN0IHI9cy5qdCh0KSxvPW4ubWFwKCh0PT5NYXRoLmFicyhyLXMuanQodCkpKSk7cmV0dXJuIG5bby5pbmRleE9mKE1hdGgubWluKC4uLm8pKV19am4odCl7bGV0IGk9dGhpcy5Nbi5nZXQodCk7aXx8KGk9bmV3IHEodGhpcyx0KSx0aGlzLk1uLnNldCh0LGkpKTtsZXQgcz10aGlzLmduLmdldCh0KTtyZXR1cm4gc3x8KHM9bmV3IEwodGhpcy5zbix0aGlzLHQpLHRoaXMuZ24uc2V0KHQscykpLFtpLHNdfXRpKHQpe3JldHVybiB0PT09dGhpcy55dCYmdGhpcy55bi5ob3J6TGluZS52aXNpYmxlfWlpKCl7cmV0dXJuIHRoaXMueW4udmVydExpbmUudmlzaWJsZX1xbih0LGkpe3RoaXMudm4mJnRoaXMueXQ9PT10fHx0aGlzLm1uLmNsZWFyKCk7Y29uc3Qgcz1bXTtyZXR1cm4gdGhpcy55dD09PXQmJnMucHVzaCh0aGlzLlluKHRoaXMubW4saSx0aGlzLmtuKSksc31kbigpe3JldHVybiB0aGlzLnZuP1t0aGlzLkRuXTpbXX1Lbigpe3JldHVybiB0aGlzLnl0fU5uKCl7dGhpcy5zbi5abigpLmZvckVhY2goKHQ9Pnt0aGlzLk1uLmdldCh0KT8ua3QoKSx0aGlzLmduLmdldCh0KT8ua3QoKX0pKSx0aGlzLm1uLmZvckVhY2goKHQ9PnQua3QoKSkpLHRoaXMuRG4ua3QoKX1Hbih0KXtyZXR1cm4gdCYmIXQuUG4oKS5HaSgpP3QuUG4oKTpudWxsfUxuKHQsaSxzKXt0aGlzLlhuKHQsaSxzKSYmdGhpcy5ObigpfVhuKHQsaSxzKXtjb25zdCBlPXRoaXMuYm4saD10aGlzLlNuLG49dGhpcy5mbixyPXRoaXMucG4sbz10aGlzLnl0LGw9dGhpcy5HbihzKTt0aGlzLnBuPXQsdGhpcy5ibj1pc05hTih0KT9OYU46dGhpcy5zbi5FdCgpLmp0KHQpLHRoaXMueXQ9cztjb25zdCBhPW51bGwhPT1sP2wuTHQoKTpudWxsO3JldHVybiBudWxsIT09bCYmbnVsbCE9PWE/KHRoaXMuZm49aSx0aGlzLlNuPWwuTnQoaSxhKSk6KHRoaXMuZm49TmFOLHRoaXMuU249TmFOKSxlIT09dGhpcy5ibnx8aCE9PXRoaXMuU258fHIhPT10aGlzLnBufHxuIT09dGhpcy5mbnx8byE9PXRoaXMueXR9T24oKXtjb25zdCB0PXRoaXMuc24uSm4oKS5tYXAoKHQ9PnQuVW4oKS5RbigpKSkuZmlsdGVyKHkpLGk9MD09PXQubGVuZ3RoP251bGw6TWF0aC5tYXgoLi4udCk7dGhpcy5wbj1udWxsIT09aT9pOk5hTn1Zbih0LGkscyl7bGV0IGU9dC5nZXQoaSk7cmV0dXJuIHZvaWQgMD09PWUmJihlPW5ldyBCKHRoaXMsaSxzKSx0LnNldChpLGUpKSxlfX1mdW5jdGlvbiBqKHQpe3JldHVybiJsZWZ0Ij09PXR8fCJyaWdodCI9PT10fWNsYXNzIFh7Y29uc3RydWN0b3IodCl7dGhpcy50cz1uZXcgTWFwLHRoaXMubnM9W10sdGhpcy5zcz10fWVzKHQsaSl7Y29uc3Qgcz1mdW5jdGlvbih0LGkpe3JldHVybiB2b2lkIDA9PT10P2k6e3JzOk1hdGgubWF4KHQucnMsaS5ycyksaHM6dC5oc3x8aS5oc319KHRoaXMudHMuZ2V0KHQpLGkpO3RoaXMudHMuc2V0KHQscyl9bHMoKXtyZXR1cm4gdGhpcy5zc31fcyh0KXtjb25zdCBpPXRoaXMudHMuZ2V0KHQpO3JldHVybiB2b2lkIDA9PT1pP3tyczp0aGlzLnNzfTp7cnM6TWF0aC5tYXgodGhpcy5zcyxpLnJzKSxoczppLmhzfX11cygpe3RoaXMuY3MoKSx0aGlzLm5zPVt7ZHM6MH1dfWZzKHQpe3RoaXMuY3MoKSx0aGlzLm5zPVt7ZHM6MSxXdDp0fV19cHModCl7dGhpcy52cygpLHRoaXMubnMucHVzaCh7ZHM6NSxXdDp0fSl9Y3MoKXt0aGlzLnZzKCksdGhpcy5ucy5wdXNoKHtkczo2fSl9d3MoKXt0aGlzLmNzKCksdGhpcy5ucz1be2RzOjR9XX1Ncyh0KXt0aGlzLmNzKCksdGhpcy5ucy5wdXNoKHtkczoyLFd0OnR9KX1ncyh0KXt0aGlzLmNzKCksdGhpcy5ucy5wdXNoKHtkczozLFd0OnR9KX1icygpe3JldHVybiB0aGlzLm5zfVNzKHQpe2Zvcihjb25zdCBpIG9mIHQubnMpdGhpcy54cyhpKTt0aGlzLnNzPU1hdGgubWF4KHRoaXMuc3MsdC5zcyksdC50cy5mb3JFYWNoKCgodCxpKT0+e3RoaXMuZXMoaSx0KX0pKX1zdGF0aWMgQ3MoKXtyZXR1cm4gbmV3IFgoMil9c3RhdGljIHlzKCl7cmV0dXJuIG5ldyBYKDMpfXhzKHQpe3N3aXRjaCh0LmRzKXtjYXNlIDA6dGhpcy51cygpO2JyZWFrO2Nhc2UgMTp0aGlzLmZzKHQuV3QpO2JyZWFrO2Nhc2UgMjp0aGlzLk1zKHQuV3QpO2JyZWFrO2Nhc2UgMzp0aGlzLmdzKHQuV3QpO2JyZWFrO2Nhc2UgNDp0aGlzLndzKCk7YnJlYWs7Y2FzZSA1OnRoaXMucHModC5XdCk7YnJlYWs7Y2FzZSA2OnRoaXMudnMoKX19dnMoKXtjb25zdCB0PXRoaXMubnMuZmluZEluZGV4KCh0PT41PT09dC5kcykpOy0xIT09dCYmdGhpcy5ucy5zcGxpY2UodCwxKX19CmNsYXNzIEp7Zm9ybWF0VGlja21hcmtzKHQpe3JldHVybiB0Lm1hcCgodD0+dGhpcy5mb3JtYXQodCkpKX19ZnVuY3Rpb24gdHQodCxpKXtpZighZyh0KSlyZXR1cm4ibi9hIjtpZighdihpKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGxlbmd0aCIpO2lmKGk8MHx8aT4xNil0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGxlbmd0aCIpO3JldHVybiAwPT09aT90LnRvU3RyaW5nKCk6KCIwMDAwMDAwMDAwMDAwMDAwIit0LnRvU3RyaW5nKCkpLnNsaWNlKC1pKX1jbGFzcyBpdCBleHRlbmRzIEp7Y29uc3RydWN0b3IodCxpKXtpZihzdXBlcigpLGl8fChpPTEpLGcodCkmJnYodCl8fCh0PTEwMCksdDwwKXRocm93IG5ldyBUeXBlRXJyb3IoImludmFsaWQgYmFzZSIpO3RoaXMuS2k9dCx0aGlzLmtzPWksdGhpcy5QcygpfWZvcm1hdCh0KXtjb25zdCBpPXQ8MD8i4oiSIjoiIjtyZXR1cm4gdD1NYXRoLmFicyh0KSxpK3RoaXMuVHModCl9UHMoKXtpZih0aGlzLlJzPTAsdGhpcy5LaT4wJiZ0aGlzLmtzPjApe2xldCB0PXRoaXMuS2k7Zm9yKDt0PjE7KXQvPTEwLHRoaXMuUnMrK319VHModCl7Y29uc3QgaT10aGlzLktpL3RoaXMua3M7bGV0IHM9TWF0aC5mbG9vcih0KSxlPSIiO2NvbnN0IGg9dm9pZCAwIT09dGhpcy5Scz90aGlzLlJzOk5hTjtpZihpPjEpe2xldCBuPSsoTWF0aC5yb3VuZCh0KmkpLXMqaSkudG9GaXhlZCh0aGlzLlJzKTtuPj1pJiYobi09aSxzKz0xKSxlPSIuIit0dCgrbi50b0ZpeGVkKHRoaXMuUnMpKnRoaXMua3MsaCl9ZWxzZSBzPU1hdGgucm91bmQocyppKS9pLGg+MCYmKGU9Ii4iK3R0KDAsaCkpO3JldHVybiBzLnRvRml4ZWQoMCkrZX19Y2xhc3Mgc3QgZXh0ZW5kcyBpdHtjb25zdHJ1Y3Rvcih0PTEwMCl7c3VwZXIodCl9Zm9ybWF0KHQpe3JldHVybmAke3N1cGVyLmZvcm1hdCh0KX0lYH19Y2xhc3MgZXQgZXh0ZW5kcyBKe2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5Ecz10fWZvcm1hdCh0KXtsZXQgaT0iIjtyZXR1cm4gdDwwJiYoaT0iLSIsdD0tdCksdDw5OTU/aSt0aGlzLklzKHQpOnQ8OTk5OTk1P2krdGhpcy5Jcyh0LzFlMykrIksiOnQ8OTk5OTk5OTk1Pyh0PTFlMypNYXRoLnJvdW5kKHQvMWUzKSxpK3RoaXMuSXModC8xZTYpKyJNIik6KHQ9MWU2Kk1hdGgucm91bmQodC8xZTYpLGkrdGhpcy5Jcyh0LzFlOSkrIkIiKX1Jcyh0KXtsZXQgaTtjb25zdCBzPU1hdGgucG93KDEwLHRoaXMuRHMpO3JldHVybiBpPSh0PU1hdGgucm91bmQodCpzKS9zKT49MWUtMTUmJnQ8MT90LnRvRml4ZWQodGhpcy5EcykucmVwbGFjZSgvXC4/MCskLywiIik6U3RyaW5nKHQpLGkucmVwbGFjZSgvKFwuWzEtOV0qKTArJC8sKCh0LGkpPT5pKSl9fWNvbnN0IGh0PS9bMi05XS9nO2NsYXNzIG50e2NvbnN0cnVjdG9yKHQ9NTApe3RoaXMuVnM9MCx0aGlzLkJzPTEsdGhpcy5Fcz0xLHRoaXMuQXM9e30sdGhpcy5Mcz1uZXcgTWFwLHRoaXMuenM9dH1Pcygpe3RoaXMuVnM9MCx0aGlzLkxzLmNsZWFyKCksdGhpcy5Ccz0xLHRoaXMuRXM9MSx0aGlzLkFzPXt9fUlpKHQsaSxzKXtyZXR1cm4gdGhpcy5Ocyh0LGkscykud2lkdGh9RGkodCxpLHMpe2NvbnN0IGU9dGhpcy5Ocyh0LGkscyk7cmV0dXJuKChlLmFjdHVhbEJvdW5kaW5nQm94QXNjZW50fHwwKS0oZS5hY3R1YWxCb3VuZGluZ0JveERlc2NlbnR8fDApKS8yfU5zKHQsaSxzKXtjb25zdCBlPXN8fGh0LGg9U3RyaW5nKGkpLnJlcGxhY2UoZSwiMCIpO2lmKHRoaXMuTHMuaGFzKGgpKXJldHVybiBjKHRoaXMuTHMuZ2V0KGgpKS5GcztpZih0aGlzLlZzPT09dGhpcy56cyl7Y29uc3QgdD10aGlzLkFzW3RoaXMuRXNdO2RlbGV0ZSB0aGlzLkFzW3RoaXMuRXNdLHRoaXMuTHMuZGVsZXRlKHQpLHRoaXMuRXMrKyx0aGlzLlZzLS19dC5zYXZlKCksdC50ZXh0QmFzZWxpbmU9Im1pZGRsZSI7Y29uc3Qgbj10Lm1lYXN1cmVUZXh0KGgpO3JldHVybiB0LnJlc3RvcmUoKSwwPT09bi53aWR0aCYmaS5sZW5ndGh8fCh0aGlzLkxzLnNldChoLHtGczpuLFdzOnRoaXMuQnN9KSx0aGlzLkFzW3RoaXMuQnNdPWgsdGhpcy5WcysrLHRoaXMuQnMrKyksbn19Y2xhc3MgcnR7Y29uc3RydWN0b3IodCl7dGhpcy5Icz1udWxsLHRoaXMuTT1udWxsLHRoaXMuVXM9InJpZ2h0Iix0aGlzLiRzPXR9anModCxpLHMpe3RoaXMuSHM9dCx0aGlzLk09aSx0aGlzLlVzPXN9c3QodCl7bnVsbCE9PXRoaXMuTSYmbnVsbCE9PXRoaXMuSHMmJnRoaXMuSHMuc3QodCx0aGlzLk0sdGhpcy4kcyx0aGlzLlVzKX19Y2xhc3Mgb3R7Y29uc3RydWN0b3IodCxpLHMpe3RoaXMucXM9dCx0aGlzLiRzPW5ldyBudCg1MCksdGhpcy5Zcz1pLHRoaXMuTz1zLHRoaXMuRj0tMSx0aGlzLlh0PW5ldyBydCh0aGlzLiRzKX1UdCgpe2NvbnN0IHQ9dGhpcy5PLktzKHRoaXMuWXMpO2lmKG51bGw9PT10KXJldHVybiBudWxsO2NvbnN0IGk9dC5acyh0aGlzLllzKT90LkdzKCk6dGhpcy5Zcy5GdCgpO2lmKG51bGw9PT1pKXJldHVybiBudWxsO2NvbnN0IHM9dC5YcyhpKTtpZigib3ZlcmxheSI9PT1zKXJldHVybiBudWxsO2NvbnN0IGU9dGhpcy5PLkpzKCk7cmV0dXJuIGUuayE9PXRoaXMuRiYmKHRoaXMuRj1lLmssdGhpcy4kcy5PcygpKSx0aGlzLlh0LmpzKHRoaXMucXMucWkoKSxlLHMpLHRoaXMuWHR9fWNsYXNzIGx0IGV4dGVuZHMgUntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5xdD1udWxsfWh0KHQpe3RoaXMucXQ9dH1Rcyh0LGkpe2lmKCF0aGlzLnF0Py5JdClyZXR1cm4gbnVsbDtjb25zdHt1dDpzLGN0OmUsdGU6aH09dGhpcy5xdDtyZXR1cm4gaT49cy1lLTcmJmk8PXMrZSs3P3tpZTp0aGlzLnF0LG5lOk1hdGguYWJzKGktcyksc2U6MixlZToicHJpY2UtbGluZSIsdGU6aH06bnVsbH1ldCh7Y29udGV4dDp0LGJpdG1hcFNpemU6aSxob3Jpem9udGFsUGl4ZWxSYXRpbzpzLHZlcnRpY2FsUGl4ZWxSYXRpbzplfSl7aWYobnVsbD09PXRoaXMucXQpcmV0dXJuO2lmKCExPT09dGhpcy5xdC5JdClyZXR1cm47Y29uc3QgaD1NYXRoLnJvdW5kKHRoaXMucXQudXQqZSk7aDwwfHxoPmkuaGVpZ2h0fHwodC5saW5lQ2FwPSJidXR0Iix0LnN0cm9rZVN0eWxlPXRoaXMucXQuUiwKdC5saW5lV2lkdGg9TWF0aC5mbG9vcih0aGlzLnF0LmN0KnMpLGwodCx0aGlzLnF0Llp0KSxhKHQsaCwwLGkud2lkdGgpKX19Y2xhc3MgYXR7Y29uc3RydWN0b3IodCl7dGhpcy5yZT17dXQ6MCxSOiJyZ2JhKDAsIDAsIDAsIDApIixjdDoxLFp0OjAsSXQ6ITF9LHRoaXMuaGU9bmV3IGx0LHRoaXMueHQ9ITAsdGhpcy5hZT10LHRoaXMubGU9dC5RdCgpLHRoaXMuaGUuaHQodGhpcy5yZSl9a3QoKXt0aGlzLnh0PSEwfVR0KCl7cmV0dXJuIHRoaXMuYWUuSXQoKT8odGhpcy54dCYmKHRoaXMub2UoKSx0aGlzLnh0PSExKSx0aGlzLmhlKTpudWxsfX1jbGFzcyB1dCBleHRlbmRzIGF0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpfW9lKCl7dGhpcy5yZS5JdD0hMTtjb25zdCB0PXRoaXMuYWUuRnQoKSxpPXQuX2UoKS5fZTtpZigyIT09aSYmMyE9PWkpcmV0dXJuO2NvbnN0IHM9dGhpcy5hZS5OKCk7aWYoIXMuYmFzZUxpbmVWaXNpYmxlfHwhdGhpcy5hZS5JdCgpKXJldHVybjtjb25zdCBlPXRoaXMuYWUuTHQoKTtudWxsIT09ZSYmKHRoaXMucmUuSXQ9ITAsdGhpcy5yZS51dD10Lk50KGUuV3QsZS5XdCksdGhpcy5yZS5SPXMuYmFzZUxpbmVDb2xvcix0aGlzLnJlLmN0PXMuYmFzZUxpbmVXaWR0aCx0aGlzLnJlLlp0PXMuYmFzZUxpbmVTdHlsZSl9fWNsYXNzIGN0IGV4dGVuZHMgUntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5xdD1udWxsfWh0KHQpe3RoaXMucXQ9dH11ZSgpe3JldHVybiB0aGlzLnF0fWV0KHtjb250ZXh0OnQsaG9yaXpvbnRhbFBpeGVsUmF0aW86aSx2ZXJ0aWNhbFBpeGVsUmF0aW86c30pe2NvbnN0IGU9dGhpcy5xdDtpZihudWxsPT09ZSlyZXR1cm47Y29uc3QgaD1NYXRoLm1heCgxLE1hdGguZmxvb3IoaSkpLG49aCUyLzIscj1NYXRoLnJvdW5kKGUuY2UueCppKStuLG89ZS5jZS55KnM7dC5maWxsU3R5bGU9ZS5kZSx0LmJlZ2luUGF0aCgpO2NvbnN0IGw9TWF0aC5tYXgoMiwxLjUqZS5mZSkqaTt0LmFyYyhyLG8sbCwwLDIqTWF0aC5QSSwhMSksdC5maWxsKCksdC5maWxsU3R5bGU9ZS5wZSx0LmJlZ2luUGF0aCgpLHQuYXJjKHIsbyxlLmZ0KmksMCwyKk1hdGguUEksITEpLHQuZmlsbCgpLHQubGluZVdpZHRoPWgsdC5zdHJva2VTdHlsZT1lLnZlLHQuYmVnaW5QYXRoKCksdC5hcmMocixvLGUuZnQqaStoLzIsMCwyKk1hdGguUEksITEpLHQuc3Ryb2tlKCl9fWNvbnN0IGZ0PVt7bWU6MCx3ZTouMjUsTWU6NCxnZToxMCxiZTouMjUsU2U6MCx4ZTouNCxDZTouOH0se21lOi4yNSx3ZTouNTI1LE1lOjEwLGdlOjE0LGJlOjAsU2U6MCx4ZTouOCxDZTowfSx7bWU6LjUyNSx3ZToxLE1lOjE0LGdlOjE0LGJlOjAsU2U6MCx4ZTowLENlOjB9XTtjbGFzcyBkdHtjb25zdHJ1Y3Rvcih0KXt0aGlzLlh0PW5ldyBjdCx0aGlzLnh0PSEwLHRoaXMueWU9ITAsdGhpcy5rZT1wZXJmb3JtYW5jZS5ub3coKSx0aGlzLlBlPXRoaXMua2UtMSx0aGlzLlRlPXR9UmUoKXt0aGlzLlBlPXRoaXMua2UtMSx0aGlzLmt0KCl9RGUoKXtpZih0aGlzLmt0KCksMj09PXRoaXMuVGUuTigpLmxhc3RQcmljZUFuaW1hdGlvbil7Y29uc3QgdD1wZXJmb3JtYW5jZS5ub3coKSxpPXRoaXMuUGUtdDtpZihpPjApcmV0dXJuIHZvaWQoaTw2NTAmJih0aGlzLlBlKz0yNjAwKSk7dGhpcy5rZT10LHRoaXMuUGU9dCsyNjAwfX1rdCgpe3RoaXMueHQ9ITB9SWUoKXt0aGlzLnllPSEwfUl0KCl7cmV0dXJuIDAhPT10aGlzLlRlLk4oKS5sYXN0UHJpY2VBbmltYXRpb259VmUoKXtzd2l0Y2godGhpcy5UZS5OKCkubGFzdFByaWNlQW5pbWF0aW9uKXtjYXNlIDA6cmV0dXJuITE7Y2FzZSAxOnJldHVybiEwO2Nhc2UgMjpyZXR1cm4gcGVyZm9ybWFuY2Uubm93KCk8PXRoaXMuUGV9fVR0KCl7cmV0dXJuIHRoaXMueHQ/KHRoaXMuUnQoKSx0aGlzLnh0PSExLHRoaXMueWU9ITEpOnRoaXMueWUmJih0aGlzLkJlKCksdGhpcy55ZT0hMSksdGhpcy5YdH1SdCgpe3RoaXMuWHQuaHQobnVsbCk7Y29uc3QgdD10aGlzLlRlLlF0KCkuRXQoKSxpPXQuRWUoKSxzPXRoaXMuVGUuTHQoKTtpZihudWxsPT09aXx8bnVsbD09PXMpcmV0dXJuO2NvbnN0IGU9dGhpcy5UZS5BZSghMCk7aWYoZS5MZXx8IWkuemUoZS4kbikpcmV0dXJuO2NvbnN0IGg9e3g6dC5qdChlLiRuKSx5OnRoaXMuVGUuRnQoKS5OdChlLk10LHMuV3QpfSxuPWUuUixyPXRoaXMuVGUuTigpLmxpbmVXaWR0aCxvPXRoaXMuT2UodGhpcy5OZSgpLG4pO3RoaXMuWHQuaHQoe2RlOm4sZmU6cixwZTpvLnBlLHZlOm8udmUsZnQ6by5mdCxjZTpofSl9QmUoKXtjb25zdCB0PXRoaXMuWHQudWUoKTtpZihudWxsIT09dCl7Y29uc3QgaT10aGlzLk9lKHRoaXMuTmUoKSx0LmRlKTt0LnBlPWkucGUsdC52ZT1pLnZlLHQuZnQ9aS5mdH19TmUoKXtyZXR1cm4gdGhpcy5WZSgpP3BlcmZvcm1hbmNlLm5vdygpLXRoaXMua2U6MjU5OX1GZSh0LGkscyxlKXtjb25zdCBoPXMrKGUtcykqaTtyZXR1cm4gdGhpcy5UZS5RdCgpLlhpKCkuWSh0LGgpfU9lKHQsaSl7Y29uc3Qgcz10JTI2MDAvMjYwMDtsZXQgZTtmb3IoY29uc3QgdCBvZiBmdClpZihzPj10Lm1lJiZzPD10LndlKXtlPXQ7YnJlYWt9dSh2b2lkIDAhPT1lLCJMYXN0IHByaWNlIGFuaW1hdGlvbiBpbnRlcm5hbCBsb2dpYyBlcnJvciIpO2NvbnN0IGg9KHMtZS5tZSkvKGUud2UtZS5tZSk7cmV0dXJue3BlOnRoaXMuRmUoaSxoLGUuYmUsZS5TZSksdmU6dGhpcy5GZShpLGgsZS54ZSxlLkNlKSxmdDoobj1oLHI9ZS5NZSxvPWUuZ2Uscisoby1yKSpuKX07dmFyIG4scixvfX1jbGFzcyBtdCBleHRlbmRzIGF0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpfW9lKCl7Y29uc3QgdD10aGlzLnJlO3QuSXQ9ITE7Y29uc3QgaT10aGlzLmFlLk4oKTtpZighaS5wcmljZUxpbmVWaXNpYmxlfHwhdGhpcy5hZS5JdCgpKXJldHVybjtjb25zdCBzPXRoaXMuYWUuQWUoMD09PWkucHJpY2VMaW5lU291cmNlKTtzLkxlfHwodC5JdD0hMCx0LnV0PXMuRWksdC5SPXRoaXMuYWUuV2Uocy5SKSx0LmN0PWkucHJpY2VMaW5lV2lkdGgsdC5adD1pLnByaWNlTGluZVN0eWxlKX19Y2xhc3MgcHQgZXh0ZW5kcyAke2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5KdD10fQpZaSh0LGkscyl7dC5JdD0hMSxpLkl0PSExO2NvbnN0IGU9dGhpcy5KdDtpZighZS5JdCgpKXJldHVybjtjb25zdCBoPWUuTigpLG49aC5sYXN0VmFsdWVWaXNpYmxlLHI9IiIhPT1lLkhlKCksbz0wPT09aC5zZXJpZXNMYXN0VmFsdWVNb2RlLGw9ZS5BZSghMSk7aWYobC5MZSlyZXR1cm47biYmKHQucmk9dGhpcy5VZShsLG4sbyksdC5JdD0wIT09dC5yaS5sZW5ndGgpLChyfHxvKSYmKGkucmk9dGhpcy4kZShsLG4scixvKSxpLkl0PWkucmkubGVuZ3RoPjApO2NvbnN0IGE9ZS5XZShsLlIpLHU9dGhpcy5KdC5RdCgpLlhpKCkuWihhKTtzLkc9dS5HLHMuRWk9bC5FaSxpLkh0PWUuUXQoKS5VdChsLkVpL2UuRnQoKS4kdCgpKSx0Lkh0PWEsdC5SPXUuWCxpLlI9dS5YfSRlKHQsaSxzLGUpe2xldCBoPSIiO2NvbnN0IG49dGhpcy5KdC5IZSgpO3JldHVybiBzJiYwIT09bi5sZW5ndGgmJihoKz1gJHtufSBgKSxpJiZlJiYoaCs9dGhpcy5KdC5GdCgpLmplKCk/dC5xZTp0LlllKSxoLnRyaW0oKX1VZSh0LGkscyl7cmV0dXJuIGk/cz90aGlzLkp0LkZ0KCkuamUoKT90LlllOnQucWU6dC5yaToiIn19ZnVuY3Rpb24gZ3QodCxpLHMsZSl7Y29uc3QgaD1OdW1iZXIuaXNGaW5pdGUoaSksbj1OdW1iZXIuaXNGaW5pdGUocyk7cmV0dXJuIGgmJm4/dChpLHMpOmh8fG4/aD9pOnM6ZX1jbGFzcyB2dHtjb25zdHJ1Y3Rvcih0LGkpe3RoaXMuS2U9dCx0aGlzLlplPWl9R2UodCl7cmV0dXJuIG51bGwhPT10JiZ0aGlzLktlPT09dC5LZSYmdGhpcy5aZT09PXQuWmV9WGUoKXtyZXR1cm4gbmV3IHZ0KHRoaXMuS2UsdGhpcy5aZSl9SmUoKXtyZXR1cm4gdGhpcy5LZX1RZSgpe3JldHVybiB0aGlzLlplfXRyKCl7cmV0dXJuIHRoaXMuWmUtdGhpcy5LZX1HaSgpe3JldHVybiB0aGlzLlplPT09dGhpcy5LZXx8TnVtYmVyLmlzTmFOKHRoaXMuWmUpfHxOdW1iZXIuaXNOYU4odGhpcy5LZSl9U3ModCl7cmV0dXJuIG51bGw9PT10P3RoaXM6bmV3IHZ0KGd0KE1hdGgubWluLHRoaXMuSmUoKSx0LkplKCksLTEvMCksZ3QoTWF0aC5tYXgsdGhpcy5RZSgpLHQuUWUoKSwxLzApKX1pcih0KXtpZighZyh0KSlyZXR1cm47aWYoMD09dGhpcy5aZS10aGlzLktlKXJldHVybjtjb25zdCBpPS41Kih0aGlzLlplK3RoaXMuS2UpO2xldCBzPXRoaXMuWmUtaSxlPXRoaXMuS2UtaTtzKj10LGUqPXQsdGhpcy5aZT1pK3MsdGhpcy5LZT1pK2V9bnIodCl7Zyh0KSYmKHRoaXMuWmUrPXQsdGhpcy5LZSs9dCl9c3IoKXtyZXR1cm57bWluVmFsdWU6dGhpcy5LZSxtYXhWYWx1ZTp0aGlzLlplfX1zdGF0aWMgZXIodCl7cmV0dXJuIG51bGw9PT10P251bGw6bmV3IHZ0KHQubWluVmFsdWUsdC5tYXhWYWx1ZSl9fWNsYXNzIGJ0e2NvbnN0cnVjdG9yKHQsaSl7dGhpcy5ycj10LHRoaXMuaHI9aXx8bnVsbH1hcigpe3JldHVybiB0aGlzLnJyfWxyKCl7cmV0dXJuIHRoaXMuaHJ9c3IoKXtyZXR1cm57cHJpY2VSYW5nZTpudWxsPT09dGhpcy5ycj9udWxsOnRoaXMucnIuc3IoKSxtYXJnaW5zOnRoaXMuaHJ8fHZvaWQgMH19c3RhdGljIGVyKHQpe3JldHVybiBudWxsPT09dD9udWxsOm5ldyBidCh2dC5lcih0LnByaWNlUmFuZ2UpLHQubWFyZ2lucyl9fWNvbnN0IHd0PVsyLDQsOCwxNiwzMiw2NCwxMjgsMjU2LDUxMl07Y2xhc3MgTXQgZXh0ZW5kcyBhdHtjb25zdHJ1Y3Rvcih0LGkpe3N1cGVyKHQpLHRoaXMuX3I9aX1vZSgpe2NvbnN0IHQ9dGhpcy5yZTt0Lkl0PSExO2NvbnN0IGk9dGhpcy5fci5OKCk7aWYoIXRoaXMuYWUuSXQoKXx8IWkubGluZVZpc2libGUpcmV0dXJuO2NvbnN0IHM9dGhpcy5fci51cigpO251bGwhPT1zJiYodC5JdD0hMCx0LnV0PXMsdC5SPWkuY29sb3IsdC5jdD1pLmxpbmVXaWR0aCx0Llp0PWkubGluZVN0eWxlLHQudGU9dGhpcy5fci5OKCkuaWQpfX1jbGFzcyB5dCBleHRlbmRzICR7Y29uc3RydWN0b3IodCxpKXtzdXBlcigpLHRoaXMuVGU9dCx0aGlzLl9yPWl9WWkodCxpLHMpe3QuSXQ9ITEsaS5JdD0hMTtjb25zdCBlPXRoaXMuX3IuTigpLGg9ZS5heGlzTGFiZWxWaXNpYmxlLG49IiIhPT1lLnRpdGxlLHI9dGhpcy5UZTtpZighaHx8IXIuSXQoKSlyZXR1cm47Y29uc3Qgbz10aGlzLl9yLnVyKCk7aWYobnVsbD09PW8pcmV0dXJuO24mJihpLnJpPWUudGl0bGUsaS5JdD0hMCksaS5IdD1yLlF0KCkuVXQoby9yLkZ0KCkuJHQoKSksdC5yaT10aGlzLmNyKGUucHJpY2UpLHQuSXQ9ITA7Y29uc3QgbD10aGlzLlRlLlF0KCkuWGkoKS5aKGUuYXhpc0xhYmVsQ29sb3J8fGUuY29sb3IpO3MuRz1sLkc7Y29uc3QgYT1lLmF4aXNMYWJlbFRleHRDb2xvcnx8bC5YO3QuUj1hLGkuUj1hLHMuRWk9b31jcih0KXtjb25zdCBpPXRoaXMuVGUuTHQoKTtyZXR1cm4gbnVsbD09PWk/IiI6dGhpcy5UZS5GdCgpLkppKHQsaS5XdCl9fWNsYXNzIFN0e2NvbnN0cnVjdG9yKHQsaSl7dGhpcy5UZT10LHRoaXMueW49aSx0aGlzLmRyPW5ldyBNdCh0LHRoaXMpLHRoaXMucXM9bmV3IHl0KHQsdGhpcyksdGhpcy5wcj1uZXcgb3QodGhpcy5xcyx0LHQuUXQoKSl9dnIodCl7cCh0aGlzLnluLHQpLHRoaXMua3QoKSx0aGlzLlRlLlF0KCkubXIoKX1OKCl7cmV0dXJuIHRoaXMueW59d3IoKXtyZXR1cm4gdGhpcy5kcn1Ncigpe3JldHVybiB0aGlzLnByfWdyKCl7cmV0dXJuIHRoaXMucXN9a3QoKXt0aGlzLmRyLmt0KCksdGhpcy5xcy5rdCgpfXVyKCl7Y29uc3QgdD10aGlzLlRlLGk9dC5GdCgpO2lmKHQuUXQoKS5FdCgpLkdpKCl8fGkuR2koKSlyZXR1cm4gbnVsbDtjb25zdCBzPXQuTHQoKTtyZXR1cm4gbnVsbD09PXM/bnVsbDppLk50KHRoaXMueW4ucHJpY2Uscy5XdCl9fWNsYXNzIHh0e2NvbnN0cnVjdG9yKCl7dGhpcy5icj1uZXcgV2Vha01hcH1Tcih0LGkscyl7Y29uc3QgZT0xL2kqcztpZih0Pj1lKXJldHVybiAxO2NvbnN0IGg9ZS90LG49TWF0aC5wb3coMixNYXRoLmZsb29yKE1hdGgubG9nMihoKSkpO3JldHVybiBNYXRoLm1pbihuLDUxMil9Q3IodCxpLHMsZT0hMSxoKXtpZigwPT09dC5sZW5ndGh8fGk8PTEpcmV0dXJuIHQ7Y29uc3Qgbj10aGlzLnlyKGkpO2lmKG48PTEpcmV0dXJuIHQ7Y29uc3Qgcj10aGlzLmtyKHQpO2xldCBvPXIuUHIuZ2V0KG4pCjtyZXR1cm4gdm9pZCAwIT09b3x8KG89dGhpcy5Ucih0LG4scyxlLGgsci5Qciksci5Qci5zZXQobixvKSksb31Scih0LGkscyxlLGg9ITEsbil7aWYoczwxfHwwPT09dC5sZW5ndGgpcmV0dXJuIHQ7Y29uc3Qgcj10aGlzLmtyKHQpLG89ci5Qci5nZXQocyk7aWYoIW8pcmV0dXJuIHRoaXMuQ3IodCxzLGUsaCxuKTtjb25zdCBsPXRoaXMuRHIodCxpLHMsbyxoLGUsbik7cmV0dXJuIHIuUHIuc2V0KHMsbCksbH15cih0KXtpZih0PD0yKXJldHVybiAyO2Zvcihjb25zdCBpIG9mIHd0KWlmKHQ8PWkpcmV0dXJuIGk7cmV0dXJuIDUxMn1Jcih0KXtpZigwPT09dC5sZW5ndGgpcmV0dXJuIDA7Y29uc3QgaT10WzBdLHM9dFt0Lmxlbmd0aC0xXTtyZXR1cm4gMzEqdC5sZW5ndGgrMTcqaS4kbisxMypzLiRufVRyKHQsaSxzLGU9ITEsaCxuPW5ldyBNYXApe2lmKDI9PT1pKXJldHVybiB0aGlzLlZyKHQsMixzLGUsaCk7Y29uc3Qgcj1pLzI7bGV0IG89bi5nZXQocik7cmV0dXJuIG98fChvPXRoaXMuVHIodCxyLHMsZSxoLG4pLG4uc2V0KHIsbykpLHRoaXMuQnIobyxzLGUsaCl9VnIodCxpLHMsZT0hMSxoKXtjb25zdCBuPXRoaXMuRXIodCxpLHMsZSxoKTtyZXR1cm4gdGhpcy5BcihuLGUpfUJyKHQsaSxzPSExLGUpe2NvbnN0IGg9dGhpcy5Fcih0LDIsaSxzLGUpO3JldHVybiB0aGlzLkFyKGgscyl9RXIodCxpLHMsZT0hMSxoKXtjb25zdCBuPVtdO2ZvcihsZXQgcj0wO3I8dC5sZW5ndGg7cis9aSlpZih0Lmxlbmd0aC1yPj1pKXtjb25zdCBpPXRoaXMuTHIodFtyXSx0W3IrMV0scyxlLGgpO2kuenI9ITEsbi5wdXNoKGkpfWVsc2UgaWYoMD09PW4ubGVuZ3RoKW4ucHVzaCh0aGlzLk9yKHRbcl0sITApKTtlbHNle2NvbnN0IGk9bltuLmxlbmd0aC0xXTtuW24ubGVuZ3RoLTFdPXRoaXMuTnIoaSx0W3JdLHMsZSxoKX1yZXR1cm4gbn1Gcih0LGkpe3JldHVybih0Pz8xKSsoaT8/MSl9THIodCxpLHMsZT0hMSxoKXtpZighZXx8IXN8fCFoKXtjb25zdCBzPXQuV3RbMV0+aS5XdFsxXT90Lld0WzFdOmkuV3RbMV0sZT10Lld0WzJdPGkuV3RbMl0/dC5XdFsyXTppLld0WzJdO3JldHVybntXcjp0LiRuLEhyOmkuJG4sVXI6dC53dCwkcjppLnd0LGpyOnQuV3RbMF0scXI6cyxZcjplLEtyOmkuV3RbM10sWnI6dGhpcy5Gcih0LlpyLGkuWnIpLEdyOnZvaWQgMCx6cjohMX19Y29uc3Qgbj1zKHRoaXMuWHIodCxoKSx0aGlzLlhyKGksaCkpLHI9aChuKSxvPXIubGVuZ3RoP3Jbci5sZW5ndGgtMV06MDtyZXR1cm57V3I6dC4kbixIcjppLiRuLFVyOnQud3QsJHI6aS53dCxqcjp0Lld0WzBdLHFyOk1hdGgubWF4KHQuV3RbMV0sbyksWXI6TWF0aC5taW4odC5XdFsyXSxvKSxLcjpvLFpyOnRoaXMuRnIodC5acixpLlpyKSxHcjpuLHpyOiExfX1Ocih0LGkscyxlPSExLGgpe2lmKCFlfHwhc3x8IWgpcmV0dXJue1dyOnQuV3IsSHI6aS4kbixVcjp0LlVyLCRyOmkud3QsanI6dC5qcixxcjp0LnFyPmkuV3RbMV0/dC5xcjppLld0WzFdLFlyOnQuWXI8aS5XdFsyXT90LllyOmkuV3RbMl0sS3I6aS5XdFszXSxacjp0LlpyKyhpLlpyPz8xKSxHcjp0LkdyLHpyOiExfTtjb25zdCBuPXQuR3Iscj10aGlzLlhyKGksaCksbz1uP3tkYXRhOm4saW5kZXg6dC5XcixvcmlnaW5hbFRpbWU6dC5Vcix0aW1lOnQuVXIscHJpY2VWYWx1ZXM6aChuKX06bnVsbCxsPW8/cyhvLHIpOnIuZGF0YSxhPW8/aChsKTpyLnByaWNlVmFsdWVzLHU9YS5sZW5ndGg/YVthLmxlbmd0aC0xXTowO3JldHVybntXcjp0LldyLEhyOmkuJG4sVXI6dC5VciwkcjppLnd0LGpyOnQuanIscXI6TWF0aC5tYXgodC5xcix1KSxZcjpNYXRoLm1pbih0LllyLHUpLEtyOnUsWnI6dC5acisoaS5acj8/MSksR3I6bCx6cjohMX19SnIodCxpLHMsZSxoLG4scj0hMSxvKXtjb25zdCBsPWk9PT1lP2g6dFtpXTtpZihzLWk9PTEpcmV0dXJuIHRoaXMuT3IobCwhMCk7Y29uc3QgYT1pKzE9PT1lP2g6dFtpKzFdO2xldCB1PXRoaXMuTHIobCxhLG4scixvKTtmb3IobGV0IGw9aSsyO2w8cztsKyspe2NvbnN0IGk9bD09PWU/aDp0W2xdO3U9dGhpcy5Ocih1LGksbixyLG8pfXJldHVybiB1fVhyKHQsaSl7Y29uc3Qgcz10LnVlPz97fTtyZXR1cm57ZGF0YTp0LnVlLGluZGV4OnQuJG4sb3JpZ2luYWxUaW1lOnQuUXIsdGltZTp0Lnd0LHByaWNlVmFsdWVzOmkocyl9fXRoKHQsaT0hMSl7Y29uc3Qgcz0hMD09PWksZT0hIXQuR3I7cmV0dXJueyRuOnQuV3Isd3Q6dC5VcixRcjp0LlVyLFd0OltzP3QuS3I6dC5qcix0LnFyLHQuWXIsdC5Lcl0sWnI6dC5acix1ZTpzP2U/dC5Hcjp7d3Q6dC5Vcn06dm9pZCAwfX1Bcih0LGk9ITEpe3JldHVybiB0Lm1hcCgodD0+dGhpcy50aCh0LGkpKSl9RHIodCxpLHMsZSxoPSExLG4scil7aWYoMD09PWUubGVuZ3RoKXJldHVybiBlO2NvbnN0IG89dC5sZW5ndGgtMSxsPU1hdGguZmxvb3Ioby9zKSpzO2lmKE1hdGgubWluKGwrcyx0Lmxlbmd0aCktbDxzJiZ0Lmxlbmd0aD5zKXtjb25zdCBlPXQuc2xpY2UoKTtyZXR1cm4gZVtlLmxlbmd0aC0xXT1pLHRoaXMuQ3IoZSxzLG4saCxyKX1pZihNYXRoLmZsb29yKChvLTEpL3MpPT09TWF0aC5mbG9vcihvL3MpfHwxPT09ZS5sZW5ndGgpe2NvbnN0IGE9TWF0aC5taW4obCtzLHQubGVuZ3RoKSx1PWEtbDtpZih1PD0wKXJldHVybiBlO2NvbnN0IGM9MT09PXU/dGhpcy5PcihsPT09bz9pOnRbbF0sITApOnRoaXMuSnIodCxsLGEsbyxpLG4saCxyKTtyZXR1cm4gZVtlLmxlbmd0aC0xXT10aGlzLnRoKGMsaCksZX17Y29uc3QgZT10LnNsaWNlKCk7cmV0dXJuIGVbZS5sZW5ndGgtMV09aSx0aGlzLkNyKGUscyxuLGgscil9fU9yKHQsaT0hMSl7cmV0dXJue1dyOnQuJG4sSHI6dC4kbixVcjp0Lnd0LCRyOnQud3QsanI6dC5XdFswXSxxcjp0Lld0WzFdLFlyOnQuV3RbMl0sS3I6dC5XdFszXSxacjp0LlpyPz8xLEdyOnQudWUsenI6aX19a3IodCl7Y29uc3QgaT10aGlzLmloKHQpLHM9dGhpcy5Jcih0KTtyZXR1cm4gaS5uaCE9PXMmJihpLlByLmNsZWFyKCksaS5uaD1zKSxpfWloKHQpe2xldCBpPXRoaXMuYnIuZ2V0KHQpO3JldHVybiB2b2lkIDA9PT1pJiYoaT17bmg6dGhpcy5Jcih0KSxQcjpuZXcgTWFwfSx0aGlzLmJyLnNldCh0LGkpKSxpfQp9Y2xhc3MgX3QgZXh0ZW5kcyBHe2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5zbj10fVF0KCl7cmV0dXJuIHRoaXMuc259fWNvbnN0IEN0PXtCYXI6KHQsaSxzLGUpPT57Y29uc3QgaD1pLnVwQ29sb3Isbj1pLmRvd25Db2xvcixyPWYodChzLGUpKSxvPWQoci5XdFswXSk8PWQoci5XdFszXSk7cmV0dXJue3NoOnIuUj8/KG8/aDpuKX19LENhbmRsZXN0aWNrOih0LGkscyxlKT0+e2NvbnN0IGg9aS51cENvbG9yLG49aS5kb3duQ29sb3Iscj1pLmJvcmRlclVwQ29sb3Isbz1pLmJvcmRlckRvd25Db2xvcixsPWkud2lja1VwQ29sb3IsYT1pLndpY2tEb3duQ29sb3IsdT1mKHQocyxlKSksYz1kKHUuV3RbMF0pPD1kKHUuV3RbM10pO3JldHVybntzaDp1LlI/PyhjP2g6biksZWg6dS5IdD8/KGM/cjpvKSxyaDp1LmhoPz8oYz9sOmEpfX0sQ3VzdG9tOih0LGkscyxlKT0+KHtzaDpmKHQocyxlKSkuUj8/aS5jb2xvcn0pLEFyZWE6KHQsaSxzLGUpPT57Y29uc3QgaD1mKHQocyxlKSk7cmV0dXJue3NoOmgudnQ/P2kubGluZUNvbG9yLHZ0OmgudnQ/P2kubGluZUNvbG9yLGFoOmguYWg/P2kudG9wQ29sb3Isb2g6aC5vaD8/aS5ib3R0b21Db2xvcn19LEJhc2VsaW5lOih0LGkscyxlKT0+e2NvbnN0IGg9Zih0KHMsZSkpO3JldHVybntzaDpoLld0WzNdPj1pLmJhc2VWYWx1ZS5wcmljZT9pLnRvcExpbmVDb2xvcjppLmJvdHRvbUxpbmVDb2xvcixfaDpoLl9oPz9pLnRvcExpbmVDb2xvcix1aDpoLnVoPz9pLmJvdHRvbUxpbmVDb2xvcixkaDpoLmRoPz9pLnRvcEZpbGxDb2xvcjEsZmg6aC5maD8/aS50b3BGaWxsQ29sb3IyLHBoOmgucGg/P2kuYm90dG9tRmlsbENvbG9yMSxtaDpoLm1oPz9pLmJvdHRvbUZpbGxDb2xvcjJ9fSxMaW5lOih0LGkscyxlKT0+e2NvbnN0IGg9Zih0KHMsZSkpO3JldHVybntzaDpoLlI/P2kuY29sb3IsdnQ6aC5SPz9pLmNvbG9yfX0sSGlzdG9ncmFtOih0LGkscyxlKT0+KHtzaDpmKHQocyxlKSkuUj8/aS5jb2xvcn0pfTtjbGFzcyBrdHtjb25zdHJ1Y3Rvcih0KXt0aGlzLndoPSh0LGkpPT52b2lkIDAhPT1pP2kuV3Q6dGhpcy5UZS5VbigpLk1oKHQpLHRoaXMuVGU9dCx0aGlzLmdoPUN0W3QuYmgoKV19U2godCxpKXtyZXR1cm4gdGhpcy5naCh0aGlzLndoLHRoaXMuVGUuTigpLHQsaSl9fWZ1bmN0aW9uIEV0KHQsaSxzLGUsaD0wLG49aS5sZW5ndGgpe2xldCByPW4taDtmb3IoOzA8cjspe2NvbnN0IG49cj4+MSxvPWgrbjtlKGlbb10scyk9PT10PyhoPW8rMSxyLT1uKzEpOnI9bn1yZXR1cm4gaH1jb25zdCBOdD1FdC5iaW5kKG51bGwsITApLFR0PUV0LmJpbmQobnVsbCwhMSk7dmFyIFJ0OyFmdW5jdGlvbih0KXt0W3QuTmVhcmVzdExlZnQ9LTFdPSJOZWFyZXN0TGVmdCIsdFt0Lk5vbmU9MF09Ik5vbmUiLHRbdC5OZWFyZXN0UmlnaHQ9MV09Ik5lYXJlc3RSaWdodCJ9KFJ0fHwoUnQ9e30pKTtjb25zdCBQdD0zMDtjbGFzcyB6dHtjb25zdHJ1Y3Rvcigpe3RoaXMueGg9W10sdGhpcy5DaD1uZXcgTWFwLHRoaXMueWg9bmV3IE1hcCx0aGlzLmtoPVtdfVBoKCl7cmV0dXJuIHRoaXMuVGgoKT4wP3RoaXMueGhbdGhpcy54aC5sZW5ndGgtMV06bnVsbH1SaCgpe3JldHVybiB0aGlzLlRoKCk+MD90aGlzLkRoKDApOm51bGx9UW4oKXtyZXR1cm4gdGhpcy5UaCgpPjA/dGhpcy5EaCh0aGlzLnhoLmxlbmd0aC0xKTpudWxsfVRoKCl7cmV0dXJuIHRoaXMueGgubGVuZ3RofUdpKCl7cmV0dXJuIDA9PT10aGlzLlRoKCl9emUodCl7cmV0dXJuIG51bGwhPT10aGlzLkloKHQsMCl9TWgodCl7cmV0dXJuIHRoaXMuSG4odCl9SG4odCxpPTApe2NvbnN0IHM9dGhpcy5JaCh0LGkpO3JldHVybiBudWxsPT09cz9udWxsOnsuLi50aGlzLlZoKHMpLCRuOnRoaXMuRGgocyl9fUJoKCl7cmV0dXJuIHRoaXMueGh9RWgodCxpLHMpe2lmKHRoaXMuR2koKSlyZXR1cm4gbnVsbDtsZXQgZT1udWxsO2Zvcihjb25zdCBoIG9mIHMpZT1JdChlLHRoaXMuQWgodCxpLGgpKTtyZXR1cm4gZX1odCh0KXt0aGlzLnloLmNsZWFyKCksdGhpcy5DaC5jbGVhcigpLHRoaXMueGg9dCx0aGlzLmtoPXQubWFwKCh0PT50LiRuKSl9TGgoKXtyZXR1cm4gdGhpcy5raH1EaCh0KXtyZXR1cm4gdGhpcy54aFt0XS4kbn1WaCh0KXtyZXR1cm4gdGhpcy54aFt0XX1JaCh0LGkpe2NvbnN0IHM9dGhpcy56aCh0KTtpZihudWxsPT09cyYmMCE9PWkpc3dpdGNoKGkpe2Nhc2UtMTpyZXR1cm4gdGhpcy5PaCh0KTtjYXNlIDE6cmV0dXJuIHRoaXMuTmgodCk7ZGVmYXVsdDp0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmtub3duIHNlYXJjaCBtb2RlIil9cmV0dXJuIHN9T2godCl7bGV0IGk9dGhpcy5GaCh0KTtyZXR1cm4gaT4wJiYoaS09MSksaSE9PXRoaXMueGgubGVuZ3RoJiZ0aGlzLkRoKGkpPHQ/aTpudWxsfU5oKHQpe2NvbnN0IGk9dGhpcy5XaCh0KTtyZXR1cm4gaSE9PXRoaXMueGgubGVuZ3RoJiZ0PHRoaXMuRGgoaSk/aTpudWxsfXpoKHQpe2NvbnN0IGk9dGhpcy5GaCh0KTtyZXR1cm4gaT09PXRoaXMueGgubGVuZ3RofHx0PHRoaXMueGhbaV0uJG4/bnVsbDppfUZoKHQpe3JldHVybiBOdCh0aGlzLnhoLHQsKCh0LGkpPT50LiRuPGkpKX1XaCh0KXtyZXR1cm4gVHQodGhpcy54aCx0LCgodCxpKT0+dC4kbj5pKSl9SGgodCxpLHMpe2xldCBlPW51bGw7Zm9yKGxldCBoPXQ7aDxpO2grKyl7Y29uc3QgdD10aGlzLnhoW2hdLld0W3NdO051bWJlci5pc05hTih0KXx8KG51bGw9PT1lP2U9e1VoOnQsJGg6dH06KHQ8ZS5VaCYmKGUuVWg9dCksdD5lLiRoJiYoZS4kaD10KSkpfXJldHVybiBlfUFoKHQsaSxzKXtpZih0aGlzLkdpKCkpcmV0dXJuIG51bGw7bGV0IGU9bnVsbDtjb25zdCBoPWYodGhpcy5SaCgpKSxuPWYodGhpcy5RbigpKSxyPU1hdGgubWF4KHQsaCksbz1NYXRoLm1pbihpLG4pLGw9TWF0aC5jZWlsKHIvUHQpKlB0LGE9TWF0aC5tYXgobCxNYXRoLmZsb29yKG8vUHQpKlB0KTt7Y29uc3QgdD10aGlzLkZoKHIpLGg9dGhpcy5XaChNYXRoLm1pbihvLGwsaSkpO2U9SXQoZSx0aGlzLkhoKHQsaCxzKSl9bGV0IHU9dGhpcy5DaC5nZXQocyk7dm9pZCAwPT09dSYmKHU9bmV3IE1hcCx0aGlzLkNoLnNldChzLHUpKQo7Zm9yKGxldCB0PU1hdGgubWF4KGwrMSxyKTt0PGE7dCs9UHQpe2NvbnN0IGk9TWF0aC5mbG9vcih0L1B0KTtsZXQgaD11LmdldChpKTtpZih2b2lkIDA9PT1oKXtjb25zdCB0PXRoaXMuRmgoaSpQdCksZT10aGlzLldoKChpKzEpKlB0LTEpO2g9dGhpcy5IaCh0LGUscyksdS5zZXQoaSxoKX1lPUl0KGUsaCl9e2NvbnN0IHQ9dGhpcy5GaChhKSxpPXRoaXMuV2gobyk7ZT1JdChlLHRoaXMuSGgodCxpLHMpKX1yZXR1cm4gZX19ZnVuY3Rpb24gSXQodCxpKXtyZXR1cm4gbnVsbD09PXQ/aTpudWxsPT09aT90OntVaDpNYXRoLm1pbih0LlVoLGkuVWgpLCRoOk1hdGgubWF4KHQuJGgsaS4kaCl9fWZ1bmN0aW9uIEx0KCl7cmV0dXJuIG5ldyB6dH1jb25zdCBGdD17c2V0TGluZVN0eWxlOmx9O2NsYXNzIHF0e2NvbnN0cnVjdG9yKHQpe3RoaXMuamg9dH1zdCh0LGkscyl7dGhpcy5qaC5kcmF3KHQsRnQpfXFoKHQsaSxzKXt0aGlzLmpoLmRyYXdCYWNrZ3JvdW5kPy4odCxGdCl9fWNsYXNzIFd0e2NvbnN0cnVjdG9yKHQpe3RoaXMuTHM9bnVsbCx0aGlzLlloPXR9VHQoKXtjb25zdCB0PXRoaXMuWWgucmVuZGVyZXIoKTtpZihudWxsPT09dClyZXR1cm4gbnVsbDtpZih0aGlzLkxzPy5LaD09PXQpcmV0dXJuIHRoaXMuTHMuWmg7Y29uc3QgaT1uZXcgcXQodCk7cmV0dXJuIHRoaXMuTHM9e0toOnQsWmg6aX0saX1HaCgpe3JldHVybiB0aGlzLlloLnpPcmRlcj8uKCk/PyJub3JtYWwifX1jbGFzcyBRdHtjb25zdHJ1Y3Rvcih0KXt0aGlzLlhoPW51bGwsdGhpcy5KaD10fVFoKCl7cmV0dXJuIHRoaXMuSmh9Tm4oKXt0aGlzLkpoLnVwZGF0ZUFsbFZpZXdzPy4oKX1qbigpe2NvbnN0IHQ9dGhpcy5KaC5wYW5lVmlld3M/LigpPz9bXTtpZih0aGlzLlhoPy5LaD09PXQpcmV0dXJuIHRoaXMuWGguWmg7Y29uc3QgaT10Lm1hcCgodD0+bmV3IFd0KHQpKSk7cmV0dXJuIHRoaXMuWGg9e0toOnQsWmg6aX0saX1Rcyh0LGkpe3JldHVybiB0aGlzLkpoLmhpdFRlc3Q/Lih0LGkpPz9udWxsfX1sZXQgRHQ9Y2xhc3MgZXh0ZW5kcyBRdHtjbigpe3JldHVybltdfX07Y2xhc3MgT3R7Y29uc3RydWN0b3IodCl7dGhpcy5qaD10fXN0KHQsaSxzKXt0aGlzLmpoLmRyYXcodCxGdCl9cWgodCxpLHMpe3RoaXMuamguZHJhd0JhY2tncm91bmQ/Lih0LEZ0KX19Y2xhc3MgS3R7Y29uc3RydWN0b3IodCl7dGhpcy5Mcz1udWxsLHRoaXMuWWg9dH1UdCgpe2NvbnN0IHQ9dGhpcy5ZaC5yZW5kZXJlcigpO2lmKG51bGw9PT10KXJldHVybiBudWxsO2lmKHRoaXMuTHM/LktoPT09dClyZXR1cm4gdGhpcy5Mcy5aaDtjb25zdCBpPW5ldyBPdCh0KTtyZXR1cm4gdGhpcy5Mcz17S2g6dCxaaDppfSxpfUdoKCl7cmV0dXJuIHRoaXMuWWguek9yZGVyPy4oKT8/Im5vcm1hbCJ9fWZ1bmN0aW9uIFZ0KHQpe3JldHVybntyaTp0LnRleHQoKSxFaTp0LmNvb3JkaW5hdGUoKSxWaTp0LmZpeGVkQ29vcmRpbmF0ZT8uKCksUjp0LnRleHRDb2xvcigpLEc6dC5iYWNrQ29sb3IoKSxJdDp0LnZpc2libGU/LigpPz8hMCxwaTp0LnRpY2tWaXNpYmxlPy4oKT8/ITB9fWNsYXNzICR0e2NvbnN0cnVjdG9yKHQsaSl7dGhpcy5YdD1uZXcgWix0aGlzLnRhPXQsdGhpcy5pYT1pfVR0KCl7cmV0dXJuIHRoaXMuWHQuaHQoe25uOnRoaXMuaWEubm4oKSwuLi5WdCh0aGlzLnRhKX0pLHRoaXMuWHR9fWNsYXNzIEJ0IGV4dGVuZHMgJHtjb25zdHJ1Y3Rvcih0LGkpe3N1cGVyKCksdGhpcy50YT10LHRoaXMuS2k9aX1ZaSh0LGkscyl7Y29uc3QgZT1WdCh0aGlzLnRhKTtzLkc9ZS5HLHQuUj1lLlI7Y29uc3QgaD0yLzEyKnRoaXMuS2kuaygpO3MuVGk9aCxzLlJpPWgscy5FaT1lLkVpLHMuVmk9ZS5WaSx0LnJpPWUucmksdC5JdD1lLkl0LHQucGk9ZS5waX19Y2xhc3MgQXQgZXh0ZW5kcyBRdHtjb25zdHJ1Y3Rvcih0LGkpe3N1cGVyKHQpLHRoaXMubmE9bnVsbCx0aGlzLnNhPW51bGwsdGhpcy5lYT1udWxsLHRoaXMucmE9bnVsbCx0aGlzLlRlPWl9ZG4oKXtjb25zdCB0PXRoaXMuSmgudGltZUF4aXNWaWV3cz8uKCk/P1tdO2lmKHRoaXMubmE/LktoPT09dClyZXR1cm4gdGhpcy5uYS5aaDtjb25zdCBpPXRoaXMuVGUuUXQoKS5FdCgpLHM9dC5tYXAoKHQ9Pm5ldyAkdCh0LGkpKSk7cmV0dXJuIHRoaXMubmE9e0toOnQsWmg6c30sc31xbigpe2NvbnN0IHQ9dGhpcy5KaC5wcmljZUF4aXNWaWV3cz8uKCk/P1tdO2lmKHRoaXMuc2E/LktoPT09dClyZXR1cm4gdGhpcy5zYS5aaDtjb25zdCBpPXRoaXMuVGUuRnQoKSxzPXQubWFwKCh0PT5uZXcgQnQodCxpKSkpO3JldHVybiB0aGlzLnNhPXtLaDp0LFpoOnN9LHN9aGEoKXtjb25zdCB0PXRoaXMuSmgucHJpY2VBeGlzUGFuZVZpZXdzPy4oKT8/W107aWYodGhpcy5lYT8uS2g9PT10KXJldHVybiB0aGlzLmVhLlpoO2NvbnN0IGk9dC5tYXAoKHQ9Pm5ldyBLdCh0KSkpO3JldHVybiB0aGlzLmVhPXtLaDp0LFpoOml9LGl9YWEoKXtjb25zdCB0PXRoaXMuSmgudGltZUF4aXNQYW5lVmlld3M/LigpPz9bXTtpZih0aGlzLnJhPy5LaD09PXQpcmV0dXJuIHRoaXMucmEuWmg7Y29uc3QgaT10Lm1hcCgodD0+bmV3IEt0KHQpKSk7cmV0dXJuIHRoaXMucmE9e0toOnQsWmg6aX0saX1sYSh0LGkpe3JldHVybiB0aGlzLkpoLmF1dG9zY2FsZUluZm8/Lih0LGkpPz9udWxsfX1mdW5jdGlvbiBadCh0LGkscyxlKXt0LmZvckVhY2goKHQ9PntpKHQpLmZvckVhY2goKHQ9Pnt0LkdoKCk9PT1zJiZlLnB1c2godCl9KSl9KSl9ZnVuY3Rpb24gSHQodCl7cmV0dXJuIHQuam4oKX1mdW5jdGlvbiBHdCh0KXtyZXR1cm4gdC5oYSgpfWZ1bmN0aW9uIFV0KHQpe3JldHVybiB0LmFhKCl9Y29uc3QgWXQ9WyJBcmVhIiwiTGluZSIsIkJhc2VsaW5lIl07Y2xhc3MganQgZXh0ZW5kcyBfdHtjb25zdHJ1Y3Rvcih0LGkscyxlLGgpe3N1cGVyKHQpLHRoaXMucXQ9THQoKSx0aGlzLmRyPW5ldyBtdCh0aGlzKSx0aGlzLm9hPVtdLHRoaXMuX2E9bmV3IHV0KHRoaXMpLHRoaXMudWE9bnVsbCx0aGlzLmNhPW51bGwsdGhpcy5kYT1udWxsLHRoaXMuZmE9W10sdGhpcy5wYT1uZXcgeHQsdGhpcy52YT1uZXcgTWFwLHRoaXMubWE9bnVsbCx0aGlzLnluPXMsdGhpcy53YT1pCjtjb25zdCBuPW5ldyBwdCh0aGlzKTtpZih0aGlzLm1uPVtuXSx0aGlzLnByPW5ldyBvdChuLHRoaXMsdCksWXQuaW5jbHVkZXModGhpcy53YSkmJih0aGlzLnVhPW5ldyBkdCh0aGlzKSksdGhpcy5NYSgpLHRoaXMuWWg9ZSh0aGlzLHRoaXMuUXQoKSxoKSwiQ3VzdG9tIj09PXRoaXMud2Epe2NvbnN0IHQ9dGhpcy5ZaDt0LmdhJiZ0aGlzLmJhKHQuZ2EpfX1tKCl7bnVsbCE9PXRoaXMuZGEmJmNsZWFyVGltZW91dCh0aGlzLmRhKX1XZSh0KXtyZXR1cm4gdGhpcy55bi5wcmljZUxpbmVDb2xvcnx8dH1BZSh0KXtjb25zdCBpPXtMZTohMH0scz10aGlzLkZ0KCk7aWYodGhpcy5RdCgpLkV0KCkuR2koKXx8cy5HaSgpfHx0aGlzLnF0LkdpKCkpcmV0dXJuIGk7Y29uc3QgZT10aGlzLlF0KCkuRXQoKS5FZSgpLGg9dGhpcy5MdCgpO2lmKG51bGw9PT1lfHxudWxsPT09aClyZXR1cm4gaTtsZXQgbixyO2lmKHQpe2NvbnN0IHQ9dGhpcy5xdC5QaCgpO2lmKG51bGw9PT10KXJldHVybiBpO249dCxyPXQuJG59ZWxzZXtjb25zdCB0PXRoaXMucXQuSG4oZS5iaSgpLC0xKTtpZihudWxsPT09dClyZXR1cm4gaTtpZihuPXRoaXMucXQuTWgodC4kbiksbnVsbD09PW4pcmV0dXJuIGk7cj10LiRufWNvbnN0IG89bi5XdFszXSxsPXRoaXMuU2EoKS5TaChyLHtXdDpufSksYT1zLk50KG8saC5XdCk7cmV0dXJue0xlOiExLE10Om8scmk6cy5KaShvLGguV3QpLHFlOnMueGEobyksWWU6cy5DYShvLGguV3QpLFI6bC5zaCxFaTphLCRuOnJ9fVNhKCl7cmV0dXJuIG51bGwhPT10aGlzLmNhfHwodGhpcy5jYT1uZXcga3QodGhpcykpLHRoaXMuY2F9Tigpe3JldHVybiB0aGlzLnlufXZyKHQpe2NvbnN0IGk9dGhpcy5RdCgpLHtwcmljZVNjYWxlSWQ6cyx2aXNpYmxlOmUscHJpY2VGb3JtYXQ6aH09dDt2b2lkIDAhPT1zJiZzIT09dGhpcy55bi5wcmljZVNjYWxlSWQmJmkueWEodGhpcyxzKSx2b2lkIDAhPT1lJiZlIT09dGhpcy55bi52aXNpYmxlJiZpLmthKCk7Y29uc3Qgbj12b2lkIDAhPT10LmNvbmZsYXRpb25UaHJlc2hvbGRGYWN0b3I7cCh0aGlzLnluLHQpLG4mJih0aGlzLnZhLmNsZWFyKCksdGhpcy5RdCgpLm1yKCkpLHZvaWQgMCE9PWgmJih0aGlzLk1hKCksaS5QYSgpKSxpLlRhKHRoaXMpLGkuUmEoKSx0aGlzLlloLmt0KCJvcHRpb25zIil9aHQodCxpKXt0aGlzLnF0Lmh0KHQpLHRoaXMudmEuY2xlYXIoKTtjb25zdCBzPXRoaXMuUXQoKS5FdCgpLk4oKTtzLmVuYWJsZUNvbmZsYXRpb24mJnMucHJlY29tcHV0ZUNvbmZsYXRpb25PbkluaXQmJnRoaXMuRGEocy5wcmVjb21wdXRlQ29uZmxhdGlvblByaW9yaXR5KSx0aGlzLlloLmt0KCJkYXRhIiksbnVsbCE9PXRoaXMudWEmJihpJiZpLklhP3RoaXMudWEuRGUoKTowPT09dC5sZW5ndGgmJnRoaXMudWEuUmUoKSk7Y29uc3QgZT10aGlzLlF0KCkuS3ModGhpcyk7dGhpcy5RdCgpLlZhKGUpLHRoaXMuUXQoKS5UYSh0aGlzKSx0aGlzLlF0KCkuUmEoKSx0aGlzLlF0KCkubXIoKX1CYSh0KXtjb25zdCBpPW5ldyBTdCh0aGlzLHQpO3JldHVybiB0aGlzLm9hLnB1c2goaSksdGhpcy5RdCgpLlRhKHRoaXMpLGl9RWEodCl7Y29uc3QgaT10aGlzLm9hLmluZGV4T2YodCk7LTEhPT1pJiZ0aGlzLm9hLnNwbGljZShpLDEpLHRoaXMuUXQoKS5UYSh0aGlzKX1BYSgpe3JldHVybiB0aGlzLm9hfWJoKCl7cmV0dXJuIHRoaXMud2F9THQoKXtjb25zdCB0PXRoaXMuTGEoKTtyZXR1cm4gbnVsbD09PXQ/bnVsbDp7V3Q6dC5XdFszXSx6YTp0Lnd0fX1MYSgpe2NvbnN0IHQ9dGhpcy5RdCgpLkV0KCkuRWUoKTtpZihudWxsPT09dClyZXR1cm4gbnVsbDtjb25zdCBpPXQuT2EoKTtyZXR1cm4gdGhpcy5xdC5IbihpLDEpfVVuKCl7cmV0dXJuIHRoaXMucXR9YmEodCl7dGhpcy5tYT10LHRoaXMudmEuY2xlYXIoKX1OYSgpe3JldHVybiEhdGhpcy5RdCgpLkV0KCkuTigpLmVuYWJsZUNvbmZsYXRpb24mJnRoaXMuRmEoKT4xfVJyKHQpe2lmKCF0aGlzLk5hKCkpcmV0dXJuO2NvbnN0IGk9dGhpcy5GYSgpO2lmKCF0aGlzLnZhLmhhcyhpKSlyZXR1cm47Y29uc3Qgcz0iQ3VzdG9tIj09PXRoaXMud2EsZT1zJiZ0aGlzLm1hfHx2b2lkIDAsaD1zJiZ0aGlzLlloLldhP3Q9Pntjb25zdCBpPXQscz10aGlzLlloLldhKGkpO3JldHVybiBBcnJheS5pc0FycmF5KHMpP3M6WyJudW1iZXIiPT10eXBlb2Ygcz9zOjBdfTp2b2lkIDAsbj10aGlzLnBhLlJyKHRoaXMucXQuQmgoKSx0LGksZSxzLGgpLHI9THQoKTtyLmh0KG4pLHRoaXMudmEuc2V0KGkscil9SGEoKXtjb25zdCB0PXRoaXMuUXQoKS5FdCgpLk4oKS5lbmFibGVDb25mbGF0aW9uO2lmKCJDdXN0b20iPT09dGhpcy53YSYmbnVsbD09PXRoaXMubWEpcmV0dXJuIHRoaXMucXQ7aWYoIXQpcmV0dXJuIHRoaXMucXQ7Y29uc3QgaT10aGlzLkZhKCkscz10aGlzLnZhLmdldChpKTtyZXR1cm4gc3x8KHRoaXMuVWEoaSksdGhpcy52YS5nZXQoaSk/P3RoaXMucXQpfSRhKHQpe2NvbnN0IGk9dGhpcy5xdC5NaCh0KTtyZXR1cm4gbnVsbD09PWk/bnVsbDoiQmFyIj09PXRoaXMud2F8fCJDYW5kbGVzdGljayI9PT10aGlzLndhfHwiQ3VzdG9tIj09PXRoaXMud2E/e2pyOmkuV3RbMF0scXI6aS5XdFsxXSxZcjppLld0WzJdLEtyOmkuV3RbM119OmkuV3RbM119amEodCl7Y29uc3QgaT1bXTtadCh0aGlzLmZhLEh0LCJ0b3AiLGkpO2NvbnN0IHM9dGhpcy51YTtyZXR1cm4gbnVsbCE9PXMmJnMuSXQoKT8obnVsbD09PXRoaXMuZGEmJnMuVmUoKSYmKHRoaXMuZGE9c2V0VGltZW91dCgoKCk9Pnt0aGlzLmRhPW51bGwsdGhpcy5RdCgpLnFhKCl9KSwwKSkscy5JZSgpLGkudW5zaGlmdChzKSxpKTppfWpuKCl7Y29uc3QgdD1bXTt0aGlzLllhKCl8fHQucHVzaCh0aGlzLl9hKSx0LnB1c2godGhpcy5ZaCx0aGlzLmRyKTtjb25zdCBpPXRoaXMub2EubWFwKCh0PT50LndyKCkpKTtyZXR1cm4gdC5wdXNoKC4uLmkpLFp0KHRoaXMuZmEsSHQsIm5vcm1hbCIsdCksdH1LYSgpe3JldHVybiB0aGlzLlphKEh0LCJib3R0b20iKX1HYSh0KXtyZXR1cm4gdGhpcy5aYShHdCx0KX1YYSh0KXtyZXR1cm4gdGhpcy5aYShVdCx0KX1KYSh0LGkpewpyZXR1cm4gdGhpcy5mYS5tYXAoKHM9PnMuUXModCxpKSkpLmZpbHRlcigodD0+bnVsbCE9PXQpKX1jbigpe3JldHVyblt0aGlzLnByLC4uLnRoaXMub2EubWFwKCh0PT50Lk1yKCkpKV19cW4odCxpKXtpZihpIT09dGhpcy5obiYmIXRoaXMuWWEoKSlyZXR1cm5bXTtjb25zdCBzPVsuLi50aGlzLm1uXTtmb3IoY29uc3QgdCBvZiB0aGlzLm9hKXMucHVzaCh0LmdyKCkpO3JldHVybiB0aGlzLmZhLmZvckVhY2goKHQ9PntzLnB1c2goLi4udC5xbigpKX0pKSxzfWRuKCl7Y29uc3QgdD1bXTtyZXR1cm4gdGhpcy5mYS5mb3JFYWNoKChpPT57dC5wdXNoKC4uLmkuZG4oKSl9KSksdH1sYSh0LGkpe2lmKHZvaWQgMCE9PXRoaXMueW4uYXV0b3NjYWxlSW5mb1Byb3ZpZGVyKXtjb25zdCBzPXRoaXMueW4uYXV0b3NjYWxlSW5mb1Byb3ZpZGVyKCgoKT0+e2NvbnN0IHM9dGhpcy5RYSh0LGkpO3JldHVybiBudWxsPT09cz9udWxsOnMuc3IoKX0pKTtyZXR1cm4gYnQuZXIocyl9cmV0dXJuIHRoaXMuUWEodCxpKX1LaCgpe2NvbnN0IHQ9dGhpcy55bi5wcmljZUZvcm1hdDtyZXR1cm4gdC5iYXNlPz8xL3QubWluTW92ZX10bCgpe3JldHVybiB0aGlzLmlsfU5uKCl7dGhpcy5ZaC5rdCgpO2Zvcihjb25zdCB0IG9mIHRoaXMubW4pdC5rdCgpO2Zvcihjb25zdCB0IG9mIHRoaXMub2EpdC5rdCgpO3RoaXMuZHIua3QoKSx0aGlzLl9hLmt0KCksdGhpcy51YT8ua3QoKSx0aGlzLmZhLmZvckVhY2goKHQ9PnQuTm4oKSkpfUZ0KCl7cmV0dXJuIGYoc3VwZXIuRnQoKSl9QXQodCl7aWYoIkxpbmUiIT09dGhpcy53YSYmIkFyZWEiIT09dGhpcy53YSYmIkJhc2VsaW5lIiE9PXRoaXMud2F8fCF0aGlzLnluLmNyb3NzaGFpck1hcmtlclZpc2libGUpcmV0dXJuIG51bGw7Y29uc3QgaT10aGlzLnF0Lk1oKHQpO3JldHVybiBudWxsPT09aT9udWxsOntNdDppLld0WzNdLGZ0OnRoaXMubmwoKSxIdDp0aGlzLnNsKCksT3Q6dGhpcy5lbCgpLHp0OnRoaXMucmwodCl9fUhlKCl7cmV0dXJuIHRoaXMueW4udGl0bGV9SXQoKXtyZXR1cm4gdGhpcy55bi52aXNpYmxlfWhsKHQpe3RoaXMuZmEucHVzaChuZXcgQXQodCx0aGlzKSl9YWwodCl7dGhpcy5mYT10aGlzLmZhLmZpbHRlcigoaT0+aS5RaCgpIT09dCkpfWxsKCl7aWYoIkN1c3RvbSI9PT10aGlzLndhKXJldHVybiB0PT50aGlzLlloLldhKHQpfW9sKCl7aWYoIkN1c3RvbSI9PT10aGlzLndhKXJldHVybiB0PT50aGlzLlloLl9sKHQpfXVsKCl7cmV0dXJuIHRoaXMucXQuTGgoKX1ZYSgpe3JldHVybiFqKHRoaXMuRnQoKS5jbCgpKX1RYSh0LGkpe2lmKCF2KHQpfHwhdihpKXx8dGhpcy5xdC5HaSgpKXJldHVybiBudWxsO2NvbnN0IHM9IkxpbmUiPT09dGhpcy53YXx8IkFyZWEiPT09dGhpcy53YXx8IkJhc2VsaW5lIj09PXRoaXMud2F8fCJIaXN0b2dyYW0iPT09dGhpcy53YT9bM106WzIsMV0sZT10aGlzLnF0LkVoKHQsaSxzKTtsZXQgaD1udWxsIT09ZT9uZXcgdnQoZS5VaCxlLiRoKTpudWxsLG49bnVsbDtpZigiSGlzdG9ncmFtIj09PXRoaXMuYmgoKSl7Y29uc3QgdD10aGlzLnluLmJhc2UsaT1uZXcgdnQodCx0KTtoPW51bGwhPT1oP2guU3MoaSk6aX1yZXR1cm4gdGhpcy5mYS5mb3JFYWNoKChzPT57Y29uc3QgZT1zLmxhKHQsaSk7aWYoZT8ucHJpY2VSYW5nZSl7Y29uc3QgdD1uZXcgdnQoZS5wcmljZVJhbmdlLm1pblZhbHVlLGUucHJpY2VSYW5nZS5tYXhWYWx1ZSk7aD1udWxsIT09aD9oLlNzKHQpOnR9ZT8ubWFyZ2lucyYmKG49ZS5tYXJnaW5zKX0pKSxuZXcgYnQoaCxuKX1ubCgpe3N3aXRjaCh0aGlzLndhKXtjYXNlIkxpbmUiOmNhc2UiQXJlYSI6Y2FzZSJCYXNlbGluZSI6cmV0dXJuIHRoaXMueW4uY3Jvc3NoYWlyTWFya2VyUmFkaXVzfXJldHVybiAwfXNsKCl7c3dpdGNoKHRoaXMud2Epe2Nhc2UiTGluZSI6Y2FzZSJBcmVhIjpjYXNlIkJhc2VsaW5lIjp7Y29uc3QgdD10aGlzLnluLmNyb3NzaGFpck1hcmtlckJvcmRlckNvbG9yO2lmKDAhPT10Lmxlbmd0aClyZXR1cm4gdH19cmV0dXJuIG51bGx9ZWwoKXtzd2l0Y2godGhpcy53YSl7Y2FzZSJMaW5lIjpjYXNlIkFyZWEiOmNhc2UiQmFzZWxpbmUiOnJldHVybiB0aGlzLnluLmNyb3NzaGFpck1hcmtlckJvcmRlcldpZHRofXJldHVybiAwfXJsKHQpe3N3aXRjaCh0aGlzLndhKXtjYXNlIkxpbmUiOmNhc2UiQXJlYSI6Y2FzZSJCYXNlbGluZSI6e2NvbnN0IHQ9dGhpcy55bi5jcm9zc2hhaXJNYXJrZXJCYWNrZ3JvdW5kQ29sb3I7aWYoMCE9PXQubGVuZ3RoKXJldHVybiB0fX1yZXR1cm4gdGhpcy5TYSgpLlNoKHQpLnNofU1hKCl7c3dpdGNoKHRoaXMueW4ucHJpY2VGb3JtYXQudHlwZSl7Y2FzZSJjdXN0b20iOntjb25zdCB0PXRoaXMueW4ucHJpY2VGb3JtYXQuZm9ybWF0dGVyO3RoaXMuaWw9e2Zvcm1hdDp0LGZvcm1hdFRpY2ttYXJrczp0aGlzLnluLnByaWNlRm9ybWF0LnRpY2ttYXJrc0Zvcm1hdHRlcj8/KGk9PmkubWFwKHQpKX07YnJlYWt9Y2FzZSJ2b2x1bWUiOnRoaXMuaWw9bmV3IGV0KHRoaXMueW4ucHJpY2VGb3JtYXQucHJlY2lzaW9uKTticmVhaztjYXNlInBlcmNlbnQiOnRoaXMuaWw9bmV3IHN0KHRoaXMueW4ucHJpY2VGb3JtYXQucHJlY2lzaW9uKTticmVhaztkZWZhdWx0Ontjb25zdCB0PU1hdGgucG93KDEwLHRoaXMueW4ucHJpY2VGb3JtYXQucHJlY2lzaW9uKTt0aGlzLmlsPW5ldyBpdCh0LHRoaXMueW4ucHJpY2VGb3JtYXQubWluTW92ZSp0KX19bnVsbCE9PXRoaXMuaG4mJnRoaXMuaG4uZGwoKX1aYSh0LGkpe2NvbnN0IHM9W107cmV0dXJuIFp0KHRoaXMuZmEsdCxpLHMpLHN9RmEoKXtjb25zdHtmbDp0LHBsOmksdmw6c309dGhpcy5tbCgpO3JldHVybiB0aGlzLnBhLlNyKHQsaSxzKX1tbCgpe2NvbnN0IHQ9dGhpcy5RdCgpLkV0KCksaT10LmZsKCkscz13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MSxlPXQuTigpLmNvbmZsYXRpb25UaHJlc2hvbGRGYWN0b3I7cmV0dXJue2ZsOmkscGw6cyx2bDp0aGlzLnluLmNvbmZsYXRpb25UaHJlc2hvbGRGYWN0b3I/P2U/PzF9fXdsKHQpe2NvbnN0IGk9dGhpcy5xdC5CaCgpO2xldCBzO2lmKCJDdXN0b20iPT09dGhpcy53YSYmbnVsbCE9PXRoaXMubWEpewpjb25zdCBlPXRoaXMubGwoKTtpZighZSl0aHJvdyBuZXcgRXJyb3IoIkN1c3RvbSBzZXJpZXMgd2l0aCBjb25mbGF0aW9uIHJlZHVjZXIgbXVzdCBoYXZlIGEgcHJpY2VWYWx1ZUJ1aWxkZXIgbWV0aG9kIik7cz10aGlzLnBhLkNyKGksdCx0aGlzLm1hLCEwLCh0PT5lKHQpKSl9ZWxzZSBzPXRoaXMucGEuQ3IoaSx0KTtjb25zdCBlPUx0KCk7cmV0dXJuIGUuaHQocyksZX1VYSh0KXtjb25zdCBpPXRoaXMud2wodCk7dGhpcy52YS5zZXQodCxpKX1EYSh0KXtpZigiQ3VzdG9tIj09PXRoaXMud2EmJihudWxsPT09dGhpcy5tYXx8IXRoaXMubGwoKSkpcmV0dXJuO3RoaXMudmEuY2xlYXIoKTtjb25zdCBpPXRoaXMuUXQoKS5FdCgpLk1sKCk7Zm9yKGNvbnN0IHMgb2YgaSl7Y29uc3QgaT0oKT0+e3RoaXMuZ2wocyl9LGU9Im9iamVjdCI9PXR5cGVvZiB3aW5kb3cmJndpbmRvd3x8Im9iamVjdCI9PXR5cGVvZiBzZWxmJiZzZWxmO2U/LlNsPy5ibD9lLlNsLmJsKCgoKT0+e2koKX0pLHtzZTp0fSk6UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKCk9PmkoKSkpfX1nbCh0KXtpZih0aGlzLnZhLmhhcyh0KSlyZXR1cm47aWYoMD09PXRoaXMucXQuQmgoKS5sZW5ndGgpcmV0dXJuO2NvbnN0IGk9dGhpcy53bCh0KTt0aGlzLnZhLnNldCh0LGkpfX1jb25zdCBYdD1bM10sSnQ9WzAsMSwyLDNdO2NsYXNzIHRpe2NvbnN0cnVjdG9yKHQpe3RoaXMueW49dH14bCh0LGkscyl7bGV0IGU9dDtpZigwPT09dGhpcy55bi5tb2RlKXJldHVybiBlO2NvbnN0IGg9cy5QbigpLG49aC5MdCgpO2lmKG51bGw9PT1uKXJldHVybiBlO2NvbnN0IHI9aC5OdCh0LG4pLG89cy5DbCgpLmZpbHRlcigodD0+dCBpbnN0YW5jZW9mIGp0KSkucmVkdWNlKCgodCxlKT0+e2lmKHMuWnMoZSl8fCFlLkl0KCkpcmV0dXJuIHQ7Y29uc3QgaD1lLkZ0KCksbj1lLlVuKCk7aWYoaC5HaSgpfHwhbi56ZShpKSlyZXR1cm4gdDtjb25zdCByPW4uTWgoaSk7aWYobnVsbD09PXIpcmV0dXJuIHQ7Y29uc3Qgbz1kKGUuTHQoKSksbD0zPT09dGhpcy55bi5tb2RlP0p0Olh0O3JldHVybiB0LmNvbmNhdChsLm1hcCgodD0+aC5OdChyLld0W3RdLG8uV3QpKSkpfSksW10pO2lmKDA9PT1vLmxlbmd0aClyZXR1cm4gZTtvLnNvcnQoKCh0LGkpPT5NYXRoLmFicyh0LXIpLU1hdGguYWJzKGktcikpKTtjb25zdCBsPW9bMF07cmV0dXJuIGU9aC5UbihsLG4pLGV9fWZ1bmN0aW9uIGlpKHQsaSxzKXtyZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgodCxpKSxzKX1mdW5jdGlvbiBzaSh0LGkscyl7cmV0dXJuIGktdDw9c31jbGFzcyBlaSBleHRlbmRzIFJ7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMucXQ9bnVsbH1odCh0KXt0aGlzLnF0PXR9ZXQoe2NvbnRleHQ6dCxiaXRtYXBTaXplOmksaG9yaXpvbnRhbFBpeGVsUmF0aW86cyx2ZXJ0aWNhbFBpeGVsUmF0aW86ZX0pe2lmKG51bGw9PT10aGlzLnF0KXJldHVybjtjb25zdCBoPU1hdGgubWF4KDEsTWF0aC5mbG9vcihzKSk7dC5saW5lV2lkdGg9aCxmdW5jdGlvbih0LGkpe3Quc2F2ZSgpLHQubGluZVdpZHRoJTImJnQudHJhbnNsYXRlKC41LC41KSxpKCksdC5yZXN0b3JlKCl9KHQsKCgpPT57Y29uc3Qgbj1mKHRoaXMucXQpO2lmKG4ueWwpe3Quc3Ryb2tlU3R5bGU9bi5rbCxsKHQsbi5QbCksdC5iZWdpblBhdGgoKTtmb3IoY29uc3QgZSBvZiBuLlRsKXtjb25zdCBuPU1hdGgucm91bmQoZS5SbCpzKTt0Lm1vdmVUbyhuLC1oKSx0LmxpbmVUbyhuLGkuaGVpZ2h0K2gpfXQuc3Ryb2tlKCl9aWYobi5EbCl7dC5zdHJva2VTdHlsZT1uLklsLGwodCxuLlZsKSx0LmJlZ2luUGF0aCgpO2Zvcihjb25zdCBzIG9mIG4uQmwpe2NvbnN0IG49TWF0aC5yb3VuZChzLlJsKmUpO3QubW92ZVRvKC1oLG4pLHQubGluZVRvKGkud2lkdGgraCxuKX10LnN0cm9rZSgpfX0pKX19Y2xhc3MgaGl7Y29uc3RydWN0b3IodCl7dGhpcy5YdD1uZXcgZWksdGhpcy54dD0hMCx0aGlzLnl0PXR9a3QoKXt0aGlzLnh0PSEwfVR0KCl7aWYodGhpcy54dCl7Y29uc3QgdD10aGlzLnl0LlF0KCkuTigpLmdyaWQsaT17RGw6dC5ob3J6TGluZXMudmlzaWJsZSx5bDp0LnZlcnRMaW5lcy52aXNpYmxlLElsOnQuaG9yekxpbmVzLmNvbG9yLGtsOnQudmVydExpbmVzLmNvbG9yLFZsOnQuaG9yekxpbmVzLnN0eWxlLFBsOnQudmVydExpbmVzLnN0eWxlLEJsOnRoaXMueXQuUG4oKS5FbCgpLFRsOih0aGlzLnl0LlF0KCkuRXQoKS5FbCgpfHxbXSkubWFwKCh0PT4oe1JsOnQuY29vcmR9KSkpfTt0aGlzLlh0Lmh0KGkpLHRoaXMueHQ9ITF9cmV0dXJuIHRoaXMuWHR9fWNsYXNzIG5pe2NvbnN0cnVjdG9yKHQpe3RoaXMuWWg9bmV3IGhpKHQpfXdyKCl7cmV0dXJuIHRoaXMuWWh9fWNvbnN0IHJpPXtBbDo0LExsOjFlLTR9O2Z1bmN0aW9uIG9pKHQsaSl7Y29uc3Qgcz0xMDAqKHQtaSkvaTtyZXR1cm4gaTwwPy1zOnN9ZnVuY3Rpb24gbGkodCxpKXtjb25zdCBzPW9pKHQuSmUoKSxpKSxlPW9pKHQuUWUoKSxpKTtyZXR1cm4gbmV3IHZ0KHMsZSl9ZnVuY3Rpb24gYWkodCxpKXtjb25zdCBzPTEwMCoodC1pKS9pKzEwMDtyZXR1cm4gaTwwPy1zOnN9ZnVuY3Rpb24gdWkodCxpKXtjb25zdCBzPWFpKHQuSmUoKSxpKSxlPWFpKHQuUWUoKSxpKTtyZXR1cm4gbmV3IHZ0KHMsZSl9ZnVuY3Rpb24gY2kodCxpKXtjb25zdCBzPU1hdGguYWJzKHQpO2lmKHM8MWUtMTUpcmV0dXJuIDA7Y29uc3QgZT1NYXRoLmxvZzEwKHMraS5MbCkraS5BbDtyZXR1cm4gdDwwPy1lOmV9ZnVuY3Rpb24gZmkodCxpKXtjb25zdCBzPU1hdGguYWJzKHQpO2lmKHM8MWUtMTUpcmV0dXJuIDA7Y29uc3QgZT1NYXRoLnBvdygxMCxzLWkuQWwpLWkuTGw7cmV0dXJuIHQ8MD8tZTplfWZ1bmN0aW9uIGRpKHQsaSl7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3Qgcz1jaSh0LkplKCksaSksZT1jaSh0LlFlKCksaSk7cmV0dXJuIG5ldyB2dChzLGUpfWZ1bmN0aW9uIG1pKHQsaSl7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3Qgcz1maSh0LkplKCksaSksZT1maSh0LlFlKCksaSk7cmV0dXJuIG5ldyB2dChzLGUpfWZ1bmN0aW9uIHBpKHQpe2lmKG51bGw9PT10KXJldHVybiByaQo7Y29uc3QgaT1NYXRoLmFicyh0LlFlKCktdC5KZSgpKTtpZihpPj0xfHxpPDFlLTE1KXJldHVybiByaTtjb25zdCBzPU1hdGguY2VpbChNYXRoLmFicyhNYXRoLmxvZzEwKGkpKSksZT1yaS5BbCtzO3JldHVybntBbDplLExsOjEvTWF0aC5wb3coMTAsZSl9fWNsYXNzIGdpe2NvbnN0cnVjdG9yKHQsaSl7aWYodGhpcy56bD10LHRoaXMuT2w9aSxmdW5jdGlvbih0KXtpZih0PDApcmV0dXJuITE7aWYodD4xZTE4KXJldHVybiEwO2ZvcihsZXQgaT10O2k+MTtpLz0xMClpZihpJTEwIT0wKXJldHVybiExO3JldHVybiEwfSh0aGlzLnpsKSl0aGlzLk5sPVsyLDIuNSwyXTtlbHNle3RoaXMuTmw9W107Zm9yKGxldCB0PXRoaXMuemw7MSE9PXQ7KXtpZih0JTI9PTApdGhpcy5ObC5wdXNoKDIpLHQvPTI7ZWxzZXtpZih0JTUhPTApdGhyb3cgbmV3IEVycm9yKCJ1bmV4cGVjdGVkIGJhc2UiKTt0aGlzLk5sLnB1c2goMiwyLjUpLHQvPTV9aWYodGhpcy5ObC5sZW5ndGg+MTAwKXRocm93IG5ldyBFcnJvcigic29tZXRoaW5nIHdyb25nIHdpdGggYmFzZSIpfX19RmwodCxpLHMpe2NvbnN0IGU9MD09PXRoaXMuemw/MDoxL3RoaXMuemw7bGV0IGg9TWF0aC5wb3coMTAsTWF0aC5tYXgoMCxNYXRoLmNlaWwoTWF0aC5sb2cxMCh0LWkpKSkpLG49MCxyPXRoaXMuT2xbMF07Zm9yKDs7KXtjb25zdCB0PXNpKGgsZSwxZS0xNCkmJmg+ZSsxZS0xNCxpPXNpKGgscypyLDFlLTE0KSxvPXNpKGgsMSwxZS0xNCk7aWYoISh0JiZpJiZvKSlicmVhaztoLz1yLHI9dGhpcy5PbFsrK24ldGhpcy5PbC5sZW5ndGhdfWlmKGg8PWUrMWUtMTQmJihoPWUpLGg9TWF0aC5tYXgoMSxoKSx0aGlzLk5sLmxlbmd0aD4wJiYobz1oLE1hdGguYWJzKG8tMSk8MWUtMTQpKWZvcihuPTAscj10aGlzLk5sWzBdO3NpKGgscypyLDFlLTE0KSYmaD5lKzFlLTE0OyloLz1yLHI9dGhpcy5ObFsrK24ldGhpcy5ObC5sZW5ndGhdO3ZhciBvO3JldHVybiBofX1jbGFzcyB2aXtjb25zdHJ1Y3Rvcih0LGkscyxlKXt0aGlzLldsPVtdLHRoaXMuS2k9dCx0aGlzLnpsPWksdGhpcy5IbD1zLHRoaXMuVWw9ZX1GbCh0LGkpe2lmKHQ8aSl0aHJvdyBuZXcgRXJyb3IoImhpZ2ggPCBsb3ciKTtjb25zdCBzPXRoaXMuS2kuJHQoKSxlPSh0LWkpKnRoaXMuJGwoKS9zLGg9bmV3IGdpKHRoaXMuemwsWzIsMi41LDJdKSxuPW5ldyBnaSh0aGlzLnpsLFsyLDIsMi41XSkscj1uZXcgZ2kodGhpcy56bCxbMi41LDIsMl0pLG89W107cmV0dXJuIG8ucHVzaChoLkZsKHQsaSxlKSxuLkZsKHQsaSxlKSxyLkZsKHQsaSxlKSksZnVuY3Rpb24odCl7aWYodC5sZW5ndGg8MSl0aHJvdyBFcnJvcigiYXJyYXkgaXMgZW1wdHkiKTtsZXQgaT10WzBdO2ZvcihsZXQgcz0xO3M8dC5sZW5ndGg7KytzKXRbc108aSYmKGk9dFtzXSk7cmV0dXJuIGl9KG8pfWpsKCl7Y29uc3QgdD10aGlzLktpLGk9dC5MdCgpO2lmKG51bGw9PT1pKXJldHVybiB2b2lkKHRoaXMuV2w9W10pO2NvbnN0IHM9dC4kdCgpLGU9dGhpcy5IbChzLTEsaSksaD10aGlzLkhsKDAsaSksbj10aGlzLktpLk4oKS5lbnRpcmVUZXh0T25seT90aGlzLnFsKCkvMjowLHI9bixvPXMtMS1uLGw9TWF0aC5tYXgoZSxoKSxhPU1hdGgubWluKGUsaCk7aWYobD09PWEpcmV0dXJuIHZvaWQodGhpcy5XbD1bXSk7Y29uc3QgdT10aGlzLkZsKGwsYSk7aWYodGhpcy5ZbChpLHUsbCxhLHIsbyksdC5LbCgpJiZ0aGlzLlpsKHUsYSxsKSl7Y29uc3QgdD10aGlzLktpLkdsKCk7dGhpcy5YbChpLHUscixvLHQsMip0KX1jb25zdCBjPXRoaXMuV2wubWFwKCh0PT50LkpsKSksZj10aGlzLktpLlFsKGMpO2ZvcihsZXQgdD0wO3Q8dGhpcy5XbC5sZW5ndGg7dCsrKXRoaXMuV2xbdF0uaW89Zlt0XX1FbCgpe3JldHVybiB0aGlzLldsfXFsKCl7cmV0dXJuIHRoaXMuS2kuaygpfSRsKCl7cmV0dXJuIE1hdGguY2VpbCh0aGlzLnFsKCkqdGhpcy5LaS5OKCkudGlja01hcmtEZW5zaXR5KX1ZbCh0LGkscyxlLGgsbil7Y29uc3Qgcj10aGlzLldsLG89dGhpcy5LaTtsZXQgbD1zJWk7bCs9bDwwP2k6MDtjb25zdCBhPXM+PWU/MTotMTtsZXQgdT1udWxsLGM9MDtmb3IobGV0IGY9cy1sO2Y+ZTtmLT1pKXtjb25zdCBzPXRoaXMuVWwoZix0LCEwKTtudWxsIT09dSYmTWF0aC5hYnMocy11KTx0aGlzLiRsKCl8fHM8aHx8cz5ufHwoYzxyLmxlbmd0aD8ocltjXS5SbD1zLHJbY10uaW89by5ubyhmKSxyW2NdLkpsPWYpOnIucHVzaCh7Umw6cyxpbzpvLm5vKGYpLEpsOmZ9KSxjKyssdT1zLG8uc28oKSYmKGk9dGhpcy5GbChmKmEsZSkpKX1yLmxlbmd0aD1jfVhsKHQsaSxzLGUsaCxuKXtjb25zdCByPXRoaXMuV2wsbz10aGlzLmVvKHQscyxoLG4pLGw9dGhpcy5lbyh0LGUsLW4sLWgpLGE9dGhpcy5VbCgwLHQsITApLXRoaXMuVWwoaSx0LCEwKTtyLmxlbmd0aD4wJiZyWzBdLlJsLW8uUmw8YS8yJiZyLnNoaWZ0KCksci5sZW5ndGg+MCYmbC5SbC1yW3IubGVuZ3RoLTFdLlJsPGEvMiYmci5wb3AoKSxyLnVuc2hpZnQobyksci5wdXNoKGwpfWVvKHQsaSxzLGUpe2NvbnN0IGg9KHMrZSkvMixuPXRoaXMuSGwoaStzLHQpLHI9dGhpcy5IbChpK2UsdCksbz1NYXRoLm1pbihuLHIpLGw9TWF0aC5tYXgobixyKSxhPU1hdGgubWF4KC4xLHRoaXMuRmwobCxvKSksdT10aGlzLkhsKGkraCx0KSxjPXUtdSVhLGY9dGhpcy5VbChjLHQsITApO3JldHVybntpbzp0aGlzLktpLm5vKGMpLFJsOmYsSmw6Y319WmwodCxpLHMpe2xldCBlPWQodGhpcy5LaS5hcigpKTtyZXR1cm4gdGhpcy5LaS5zbygpJiYoZT1taShlLHRoaXMuS2kucm8oKSkpLGUuSmUoKS1pPHQmJnMtZS5RZSgpPHR9fWZ1bmN0aW9uIGJpKHQpe3JldHVybiB0LnNsaWNlKCkuc29ydCgoKHQsaSk9PmYodC5sbigpKS1mKGkubG4oKSkpKX12YXIgd2k7IWZ1bmN0aW9uKHQpe3RbdC5Ob3JtYWw9MF09Ik5vcm1hbCIsdFt0LkxvZ2FyaXRobWljPTFdPSJMb2dhcml0aG1pYyIsdFt0LlBlcmNlbnRhZ2U9Ml09IlBlcmNlbnRhZ2UiLHRbdC5JbmRleGVkVG8xMDA9M109IkluZGV4ZWRUbzEwMCJ9KHdpfHwod2k9e30pKTtjb25zdCBNaT1uZXcgc3QseWk9bmV3IGl0KDEwMCwxKTtjbGFzcyBTaXtjb25zdHJ1Y3Rvcih0LGkscyxlLGgpewp0aGlzLmhvPTAsdGhpcy5hbz1udWxsLHRoaXMucnI9bnVsbCx0aGlzLmxvPW51bGwsdGhpcy5vbz17X286ITEsdW86bnVsbH0sdGhpcy5jbz0hMSx0aGlzLmRvPTAsdGhpcy5mbz0wLHRoaXMucG89bmV3IG0sdGhpcy52bz1uZXcgbSx0aGlzLm1vPVtdLHRoaXMud289bnVsbCx0aGlzLk1vPW51bGwsdGhpcy5ibz1udWxsLHRoaXMuU289bnVsbCx0aGlzLnhvPW51bGwsdGhpcy5pbD15aSx0aGlzLkNvPXBpKG51bGwpLHRoaXMueW89dCx0aGlzLnluPWksdGhpcy5rbz1zLHRoaXMuUG89ZSx0aGlzLlRvPWgsdGhpcy5Sbz1uZXcgdmkodGhpcywxMDAsdGhpcy5Eby5iaW5kKHRoaXMpLHRoaXMuSW8uYmluZCh0aGlzKSl9Y2woKXtyZXR1cm4gdGhpcy55b31OKCl7cmV0dXJuIHRoaXMueW59dnIodCl7aWYocCh0aGlzLnluLHQpLHRoaXMuZGwoKSx2b2lkIDAhPT10Lm1vZGUmJnRoaXMuVm8oe19lOnQubW9kZX0pLHZvaWQgMCE9PXQuc2NhbGVNYXJnaW5zKXtjb25zdCBpPWModC5zY2FsZU1hcmdpbnMudG9wKSxzPWModC5zY2FsZU1hcmdpbnMuYm90dG9tKTtpZihpPDB8fGk+MSl0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdG9wIG1hcmdpbiAtIGV4cGVjdCB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDEsIGdpdmVuPSR7aX1gKTtpZihzPDB8fHM+MSl0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYm90dG9tIG1hcmdpbiAtIGV4cGVjdCB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDEsIGdpdmVuPSR7c31gKTtpZihpK3M+MSl0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbWFyZ2lucyAtIHN1bSBvZiBtYXJnaW5zIG11c3QgYmUgbGVzcyB0aGFuIDEsIGdpdmVuPSR7aStzfWApO3RoaXMuQm8oKSx0aGlzLmJvPW51bGx9fUVvKCl7cmV0dXJuIHRoaXMueW4uYXV0b1NjYWxlfUFvKCl7cmV0dXJuIHRoaXMuY299c28oKXtyZXR1cm4gMT09PXRoaXMueW4ubW9kZX1qZSgpe3JldHVybiAyPT09dGhpcy55bi5tb2RlfUxvKCl7cmV0dXJuIDM9PT10aGlzLnluLm1vZGV9cm8oKXtyZXR1cm4gdGhpcy5Db31fZSgpe3JldHVybntoczp0aGlzLnluLmF1dG9TY2FsZSx6bzp0aGlzLnluLmludmVydFNjYWxlLF9lOnRoaXMueW4ubW9kZX19Vm8odCl7Y29uc3QgaT10aGlzLl9lKCk7bGV0IHM9bnVsbDt2b2lkIDAhPT10LmhzJiYodGhpcy55bi5hdXRvU2NhbGU9dC5ocyksdm9pZCAwIT09dC5fZSYmKHRoaXMueW4ubW9kZT10Ll9lLDIhPT10Ll9lJiYzIT09dC5fZXx8KHRoaXMueW4uYXV0b1NjYWxlPSEwKSx0aGlzLm9vLl9vPSExKSwxPT09aS5fZSYmdC5fZSE9PWkuX2UmJihmdW5jdGlvbih0LGkpe2lmKG51bGw9PT10KXJldHVybiExO2NvbnN0IHM9ZmkodC5KZSgpLGkpLGU9ZmkodC5RZSgpLGkpO3JldHVybiBpc0Zpbml0ZShzKSYmaXNGaW5pdGUoZSl9KHRoaXMucnIsdGhpcy5Dbyk/KHM9bWkodGhpcy5ycix0aGlzLkNvKSxudWxsIT09cyYmdGhpcy5PbyhzKSk6dGhpcy55bi5hdXRvU2NhbGU9ITApLDE9PT10Ll9lJiZ0Ll9lIT09aS5fZSYmKHM9ZGkodGhpcy5ycix0aGlzLkNvKSxudWxsIT09cyYmdGhpcy5PbyhzKSk7Y29uc3QgZT1pLl9lIT09dGhpcy55bi5tb2RlO2UmJigyPT09aS5fZXx8dGhpcy5qZSgpKSYmdGhpcy5kbCgpLGUmJigzPT09aS5fZXx8dGhpcy5MbygpKSYmdGhpcy5kbCgpLHZvaWQgMCE9PXQuem8mJmkuem8hPT10LnpvJiYodGhpcy55bi5pbnZlcnRTY2FsZT10LnpvLHRoaXMuTm8oKSksdGhpcy52by5wKGksdGhpcy5fZSgpKX1Gbygpe3JldHVybiB0aGlzLnZvfWsoKXtyZXR1cm4gdGhpcy5rby5mb250U2l6ZX0kdCgpe3JldHVybiB0aGlzLmhvfVdvKHQpe3RoaXMuaG8hPT10JiYodGhpcy5obz10LHRoaXMuQm8oKSx0aGlzLmJvPW51bGwpfUhvKCl7aWYodGhpcy5hbylyZXR1cm4gdGhpcy5hbztjb25zdCB0PXRoaXMuJHQoKS10aGlzLlVvKCktdGhpcy4kbygpO3JldHVybiB0aGlzLmFvPXQsdH1hcigpe3JldHVybiB0aGlzLmpvKCksdGhpcy5ycn1Pbyh0LGkpe2NvbnN0IHM9dGhpcy5ycjsoaXx8bnVsbD09PXMmJm51bGwhPT10fHxudWxsIT09cyYmIXMuR2UodCkpJiYodGhpcy5ibz1udWxsLHRoaXMucnI9dCl9cW8odCl7dGhpcy5Pbyh0KSx0aGlzLllvKG51bGwhPT10KX1HaSgpe3JldHVybiB0aGlzLmpvKCksMD09PXRoaXMuaG98fCF0aGlzLnJyfHx0aGlzLnJyLkdpKCl9S28odCl7cmV0dXJuIHRoaXMuem8oKT90OnRoaXMuJHQoKS0xLXR9TnQodCxpKXtyZXR1cm4gdGhpcy5qZSgpP3Q9b2kodCxpKTp0aGlzLkxvKCkmJih0PWFpKHQsaSkpLHRoaXMuSW8odCxpKX1abyh0LGkscyl7dGhpcy5qbygpO2NvbnN0IGU9dGhpcy4kbygpLGg9Zih0aGlzLmFyKCkpLG49aC5KZSgpLHI9aC5RZSgpLG89dGhpcy5IbygpLTEsbD10aGlzLnpvKCksYT1vLyhyLW4pLHU9dm9pZCAwPT09cz8wOnMuZnJvbSxjPXZvaWQgMD09PXM/dC5sZW5ndGg6cy50byxkPXRoaXMuR28oKTtmb3IobGV0IHM9dTtzPGM7cysrKXtjb25zdCBoPXRbc10scj1oLk10O2lmKGlzTmFOKHIpKWNvbnRpbnVlO2xldCBvPXI7bnVsbCE9PWQmJihvPWQoaC5NdCxpKSk7Y29uc3QgdT1lK2EqKG8tbiksYz1sP3U6dGhpcy5oby0xLXU7aC51dD1jfX1Ybyh0LGkscyl7dGhpcy5qbygpO2NvbnN0IGU9dGhpcy4kbygpLGg9Zih0aGlzLmFyKCkpLG49aC5KZSgpLHI9aC5RZSgpLG89dGhpcy5IbygpLTEsbD10aGlzLnpvKCksYT1vLyhyLW4pLHU9dm9pZCAwPT09cz8wOnMuZnJvbSxjPXZvaWQgMD09PXM/dC5sZW5ndGg6cy50byxkPXRoaXMuR28oKTtmb3IobGV0IHM9dTtzPGM7cysrKXtjb25zdCBoPXRbc107bGV0IHI9aC5qcixvPWgucXIsdT1oLllyLGM9aC5LcjtudWxsIT09ZCYmKHI9ZChoLmpyLGkpLG89ZChoLnFyLGkpLHU9ZChoLllyLGkpLGM9ZChoLktyLGkpKTtsZXQgZj1lK2EqKHItbiksbT1sP2Y6dGhpcy5oby0xLWY7aC5Kbz1tLGY9ZSthKihvLW4pLG09bD9mOnRoaXMuaG8tMS1mLGguUW89bSxmPWUrYSoodS1uKSxtPWw/Zjp0aGlzLmhvLTEtZixoLnRfPW0sZj1lK2EqKGMtbiksbT1sP2Y6dGhpcy5oby0xLWYsaC5pXz1tfX1Ubih0LGkpe2NvbnN0IHM9dGhpcy5Ebyh0LGkpO3JldHVybiB0aGlzLm5fKHMsaSl9bl8odCxpKXtsZXQgcz10CjtyZXR1cm4gdGhpcy5qZSgpP3M9ZnVuY3Rpb24odCxpKXtyZXR1cm4gaTwwJiYodD0tdCksdC8xMDAqaStpfShzLGkpOnRoaXMuTG8oKSYmKHM9ZnVuY3Rpb24odCxpKXtyZXR1cm4gdC09MTAwLGk8MCYmKHQ9LXQpLHQvMTAwKmkraX0ocyxpKSksc31DbCgpe3JldHVybiB0aGlzLm1vfUR0KCl7cmV0dXJuIHRoaXMuTW98fCh0aGlzLk1vPWJpKHRoaXMubW8pKSx0aGlzLk1vfXNfKHQpey0xPT09dGhpcy5tby5pbmRleE9mKHQpJiYodGhpcy5tby5wdXNoKHQpLHRoaXMuZGwoKSx0aGlzLmVfKCkpfXJfKHQpe2NvbnN0IGk9dGhpcy5tby5pbmRleE9mKHQpO2lmKC0xPT09aSl0aHJvdyBuZXcgRXJyb3IoInNvdXJjZSBpcyBub3QgYXR0YWNoZWQgdG8gc2NhbGUiKTt0aGlzLm1vLnNwbGljZShpLDEpLDA9PT10aGlzLm1vLmxlbmd0aCYmKHRoaXMuVm8oe2hzOiEwfSksdGhpcy5PbyhudWxsKSksdGhpcy5kbCgpLHRoaXMuZV8oKX1MdCgpe2xldCB0PW51bGw7Zm9yKGNvbnN0IGkgb2YgdGhpcy5tbyl7Y29uc3Qgcz1pLkx0KCk7bnVsbCE9PXMmJihudWxsPT09dHx8cy56YTx0LnphKSYmKHQ9cyl9cmV0dXJuIG51bGw9PT10P251bGw6dC5XdH16bygpe3JldHVybiB0aGlzLnluLmludmVydFNjYWxlfUVsKCl7Y29uc3QgdD1udWxsPT09dGhpcy5MdCgpO2lmKG51bGwhPT10aGlzLmJvJiYodHx8dGhpcy5iby5oXz09PXQpKXJldHVybiB0aGlzLmJvLkVsO3RoaXMuUm8uamwoKTtjb25zdCBpPXRoaXMuUm8uRWwoKTtyZXR1cm4gdGhpcy5ibz17RWw6aSxoXzp0fSx0aGlzLnBvLnAoKSxpfWFfKCl7cmV0dXJuIHRoaXMucG99bF8odCl7dGhpcy5qZSgpfHx0aGlzLkxvKCl8fG51bGw9PT10aGlzLlNvJiZudWxsPT09dGhpcy5sbyYmKHRoaXMuR2koKXx8KHRoaXMuU289dGhpcy5oby10LHRoaXMubG89Zih0aGlzLmFyKCkpLlhlKCkpKX1vXyh0KXtpZih0aGlzLmplKCl8fHRoaXMuTG8oKSlyZXR1cm47aWYobnVsbD09PXRoaXMuU28pcmV0dXJuO3RoaXMuVm8oe2hzOiExfSksKHQ9dGhpcy5oby10KTwwJiYodD0wKTtsZXQgaT0odGhpcy5TbysuMioodGhpcy5oby0xKSkvKHQrLjIqKHRoaXMuaG8tMSkpO2NvbnN0IHM9Zih0aGlzLmxvKS5YZSgpO2k9TWF0aC5tYXgoaSwuMSkscy5pcihpKSx0aGlzLk9vKHMpfV9fKCl7dGhpcy5qZSgpfHx0aGlzLkxvKCl8fCh0aGlzLlNvPW51bGwsdGhpcy5sbz1udWxsKX11Xyh0KXt0aGlzLkVvKCl8fG51bGw9PT10aGlzLnhvJiZudWxsPT09dGhpcy5sbyYmKHRoaXMuR2koKXx8KHRoaXMueG89dCx0aGlzLmxvPWYodGhpcy5hcigpKS5YZSgpKSl9Y18odCl7aWYodGhpcy5FbygpKXJldHVybjtpZihudWxsPT09dGhpcy54bylyZXR1cm47Y29uc3QgaT1mKHRoaXMuYXIoKSkudHIoKS8odGhpcy5IbygpLTEpO2xldCBzPXQtdGhpcy54bzt0aGlzLnpvKCkmJihzKj0tMSk7Y29uc3QgZT1zKmksaD1mKHRoaXMubG8pLlhlKCk7aC5ucihlKSx0aGlzLk9vKGgsITApLHRoaXMuYm89bnVsbH1kXygpe3RoaXMuRW8oKXx8bnVsbCE9PXRoaXMueG8mJih0aGlzLnhvPW51bGwsdGhpcy5sbz1udWxsKX10bCgpe3JldHVybiB0aGlzLmlsfHx0aGlzLmRsKCksdGhpcy5pbH1KaSh0LGkpe3N3aXRjaCh0aGlzLnluLm1vZGUpe2Nhc2UgMjpyZXR1cm4gdGhpcy5mXyhvaSh0LGkpKTtjYXNlIDM6cmV0dXJuIHRoaXMudGwoKS5mb3JtYXQoYWkodCxpKSk7ZGVmYXVsdDpyZXR1cm4gdGhpcy5jcih0KX19bm8odCl7c3dpdGNoKHRoaXMueW4ubW9kZSl7Y2FzZSAyOnJldHVybiB0aGlzLmZfKHQpO2Nhc2UgMzpyZXR1cm4gdGhpcy50bCgpLmZvcm1hdCh0KTtkZWZhdWx0OnJldHVybiB0aGlzLmNyKHQpfX1RbCh0KXtzd2l0Y2godGhpcy55bi5tb2RlKXtjYXNlIDI6cmV0dXJuIHRoaXMucF8odCk7Y2FzZSAzOnJldHVybiB0aGlzLnRsKCkuZm9ybWF0VGlja21hcmtzKHQpO2RlZmF1bHQ6cmV0dXJuIHRoaXMudl8odCl9fXhhKHQpe3JldHVybiB0aGlzLmNyKHQsZih0aGlzLndvKS50bCgpKX1DYSh0LGkpe3JldHVybiB0PW9pKHQsaSksdGhpcy5mXyh0LE1pKX1tXygpe3JldHVybiB0aGlzLm1vfXdfKHQpe3RoaXMub289e3VvOnQsX286ITF9fU5uKCl7dGhpcy5tby5mb3JFYWNoKCh0PT50Lk5uKCkpKX1LbCgpe3JldHVybiB0aGlzLnluLmVuc3VyZUVkZ2VUaWNrTWFya3NWaXNpYmxlJiZ0aGlzLkVvKCl9R2woKXtyZXR1cm4gdGhpcy5rKCkvMn1kbCgpe3RoaXMuYm89bnVsbDtsZXQgdD0xLzA7dGhpcy53bz1udWxsO2Zvcihjb25zdCBpIG9mIHRoaXMubW8paS5sbigpPHQmJih0PWkubG4oKSx0aGlzLndvPWkpO2xldCBpPTEwMDtudWxsIT09dGhpcy53byYmKGk9TWF0aC5yb3VuZCh0aGlzLndvLktoKCkpKSx0aGlzLmlsPXlpLHRoaXMuamUoKT8odGhpcy5pbD1NaSxpPTEwMCk6dGhpcy5MbygpPyh0aGlzLmlsPW5ldyBpdCgxMDAsMSksaT0xMDApOm51bGwhPT10aGlzLndvJiYodGhpcy5pbD10aGlzLndvLnRsKCkpLHRoaXMuUm89bmV3IHZpKHRoaXMsaSx0aGlzLkRvLmJpbmQodGhpcyksdGhpcy5Jby5iaW5kKHRoaXMpKSx0aGlzLlJvLmpsKCl9ZV8oKXt0aGlzLk1vPW51bGx9TV8oKXtyZXR1cm4gbnVsbD09PXRoaXMud298fHRoaXMuamUoKXx8dGhpcy5MbygpPzE6MS90aGlzLndvLktoKCl9WGkoKXtyZXR1cm4gdGhpcy5Ub31Zbyh0KXt0aGlzLmNvPXR9VW8oKXtyZXR1cm4gdGhpcy56bygpP3RoaXMueW4uc2NhbGVNYXJnaW5zLmJvdHRvbSp0aGlzLiR0KCkrdGhpcy5mbzp0aGlzLnluLnNjYWxlTWFyZ2lucy50b3AqdGhpcy4kdCgpK3RoaXMuZG99JG8oKXtyZXR1cm4gdGhpcy56bygpP3RoaXMueW4uc2NhbGVNYXJnaW5zLnRvcCp0aGlzLiR0KCkrdGhpcy5kbzp0aGlzLnluLnNjYWxlTWFyZ2lucy5ib3R0b20qdGhpcy4kdCgpK3RoaXMuZm99am8oKXt0aGlzLm9vLl9vfHwodGhpcy5vby5fbz0hMCx0aGlzLmdfKCkpfUJvKCl7dGhpcy5hbz1udWxsfUlvKHQsaSl7aWYodGhpcy5qbygpLHRoaXMuR2koKSlyZXR1cm4gMDt0PXRoaXMuc28oKSYmdD9jaSh0LHRoaXMuQ28pOnQ7Y29uc3Qgcz1mKHRoaXMuYXIoKSksZT10aGlzLiRvKCkrKHRoaXMuSG8oKS0xKSoodC1zLkplKCkpL3MudHIoKQo7cmV0dXJuIHRoaXMuS28oZSl9RG8odCxpKXtpZih0aGlzLmpvKCksdGhpcy5HaSgpKXJldHVybiAwO2NvbnN0IHM9dGhpcy5Lbyh0KSxlPWYodGhpcy5hcigpKSxoPWUuSmUoKStlLnRyKCkqKChzLXRoaXMuJG8oKSkvKHRoaXMuSG8oKS0xKSk7cmV0dXJuIHRoaXMuc28oKT9maShoLHRoaXMuQ28pOmh9Tm8oKXt0aGlzLmJvPW51bGwsdGhpcy5Sby5qbCgpfWdfKCl7aWYodGhpcy5BbygpJiYhdGhpcy5FbygpKXJldHVybjtjb25zdCB0PXRoaXMub28udW87aWYobnVsbD09PXQpcmV0dXJuO2xldCBpPW51bGw7Y29uc3Qgcz10aGlzLm1fKCk7bGV0IGU9MCxoPTA7Zm9yKGNvbnN0IG4gb2Ygcyl7aWYoIW4uSXQoKSljb250aW51ZTtjb25zdCBzPW4uTHQoKTtpZihudWxsPT09cyljb250aW51ZTtjb25zdCByPW4ubGEodC5PYSgpLHQuYmkoKSk7bGV0IG89ciYmci5hcigpO2lmKG51bGwhPT1vKXtzd2l0Y2godGhpcy55bi5tb2RlKXtjYXNlIDE6bz1kaShvLHRoaXMuQ28pO2JyZWFrO2Nhc2UgMjpvPWxpKG8scy5XdCk7YnJlYWs7Y2FzZSAzOm89dWkobyxzLld0KX1pZihpPW51bGw9PT1pP286aS5TcyhmKG8pKSxudWxsIT09cil7Y29uc3QgdD1yLmxyKCk7bnVsbCE9PXQmJihlPU1hdGgubWF4KGUsdC5hYm92ZSksaD1NYXRoLm1heChoLHQuYmVsb3cpKX19fWlmKHRoaXMuS2woKSYmKGU9TWF0aC5tYXgoZSx0aGlzLkdsKCkpLGg9TWF0aC5tYXgoaCx0aGlzLkdsKCkpKSxlPT09dGhpcy5kbyYmaD09PXRoaXMuZm98fCh0aGlzLmRvPWUsdGhpcy5mbz1oLHRoaXMuYm89bnVsbCx0aGlzLkJvKCkpLG51bGwhPT1pKXtpZihpLkplKCk9PT1pLlFlKCkpe2NvbnN0IHQ9NSp0aGlzLk1fKCk7dGhpcy5zbygpJiYoaT1taShpLHRoaXMuQ28pKSxpPW5ldyB2dChpLkplKCktdCxpLlFlKCkrdCksdGhpcy5zbygpJiYoaT1kaShpLHRoaXMuQ28pKX1pZih0aGlzLnNvKCkpe2NvbnN0IHQ9bWkoaSx0aGlzLkNvKSxzPXBpKHQpO2lmKG49cyxyPXRoaXMuQ28sbi5BbCE9PXIuQWx8fG4uTGwhPT1yLkxsKXtjb25zdCBlPW51bGwhPT10aGlzLmxvP21pKHRoaXMubG8sdGhpcy5Dbyk6bnVsbDt0aGlzLkNvPXMsaT1kaSh0LHMpLG51bGwhPT1lJiYodGhpcy5sbz1kaShlLHMpKX19dGhpcy5PbyhpKX1lbHNlIG51bGw9PT10aGlzLnJyJiYodGhpcy5PbyhuZXcgdnQoLS41LC41KSksdGhpcy5Dbz1waShudWxsKSk7dmFyIG4scn1Hbygpe3JldHVybiB0aGlzLmplKCk/b2k6dGhpcy5MbygpP2FpOnRoaXMuc28oKT90PT5jaSh0LHRoaXMuQ28pOm51bGx9Yl8odCxpLHMpe3JldHVybiB2b2lkIDA9PT1pPyh2b2lkIDA9PT1zJiYocz10aGlzLnRsKCkpLHMuZm9ybWF0KHQpKTppKHQpfVNfKHQsaSxzKXtyZXR1cm4gdm9pZCAwPT09aT8odm9pZCAwPT09cyYmKHM9dGhpcy50bCgpKSxzLmZvcm1hdFRpY2ttYXJrcyh0KSk6aSh0KX1jcih0LGkpe3JldHVybiB0aGlzLmJfKHQsdGhpcy5Qby5wcmljZUZvcm1hdHRlcixpKX12Xyh0LGkpe2NvbnN0IHM9dGhpcy5Qby5wcmljZUZvcm1hdHRlcjtyZXR1cm4gdGhpcy5TXyh0LHRoaXMuUG8udGlja21hcmtzUHJpY2VGb3JtYXR0ZXI/PyhzP3Q9PnQubWFwKHMpOnZvaWQgMCksaSl9Zl8odCxpKXtyZXR1cm4gdGhpcy5iXyh0LHRoaXMuUG8ucGVyY2VudGFnZUZvcm1hdHRlcixpKX1wXyh0LGkpe2NvbnN0IHM9dGhpcy5Qby5wZXJjZW50YWdlRm9ybWF0dGVyO3JldHVybiB0aGlzLlNfKHQsdGhpcy5Qby50aWNrbWFya3NQZXJjZW50YWdlRm9ybWF0dGVyPz8ocz90PT50Lm1hcChzKTp2b2lkIDApLGkpfX1mdW5jdGlvbiB4aSh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIGp0fWNsYXNzIF9pe2NvbnN0cnVjdG9yKHQsaSl7dGhpcy5tbz1bXSx0aGlzLnhfPW5ldyBNYXAsdGhpcy5obz0wLHRoaXMuQ189MCx0aGlzLnlfPTEsdGhpcy5Nbz1udWxsLHRoaXMua189bnVsbCx0aGlzLlBfPSExLHRoaXMuVF89bmV3IG0sdGhpcy5mYT1bXSx0aGlzLmlhPXQsdGhpcy5zbj1pLHRoaXMuUl89bmV3IG5pKHRoaXMpO2NvbnN0IHM9aS5OKCk7dGhpcy5EXz10aGlzLklfKCJsZWZ0IixzLmxlZnRQcmljZVNjYWxlKSx0aGlzLlZfPXRoaXMuSV8oInJpZ2h0IixzLnJpZ2h0UHJpY2VTY2FsZSksdGhpcy5EXy5GbygpLmkodGhpcy5CXy5iaW5kKHRoaXMsdGhpcy5EXyksdGhpcyksdGhpcy5WXy5GbygpLmkodGhpcy5CXy5iaW5kKHRoaXMsdGhpcy5WXyksdGhpcyksdGhpcy5FXyhzKX1FXyh0KXtpZih0LmxlZnRQcmljZVNjYWxlJiZ0aGlzLkRfLnZyKHQubGVmdFByaWNlU2NhbGUpLHQucmlnaHRQcmljZVNjYWxlJiZ0aGlzLlZfLnZyKHQucmlnaHRQcmljZVNjYWxlKSx0LmxvY2FsaXphdGlvbiYmKHRoaXMuRF8uZGwoKSx0aGlzLlZfLmRsKCkpLHQub3ZlcmxheVByaWNlU2NhbGVzKXtjb25zdCBpPUFycmF5LmZyb20odGhpcy54Xy52YWx1ZXMoKSk7Zm9yKGNvbnN0IHMgb2YgaSl7Y29uc3QgaT1mKHNbMF0uRnQoKSk7aS52cih0Lm92ZXJsYXlQcmljZVNjYWxlcyksdC5sb2NhbGl6YXRpb24mJmkuZGwoKX19fUFfKHQpe3N3aXRjaCh0KXtjYXNlImxlZnQiOnJldHVybiB0aGlzLkRfO2Nhc2UicmlnaHQiOnJldHVybiB0aGlzLlZffXJldHVybiB0aGlzLnhfLmhhcyh0KT9jKHRoaXMueF8uZ2V0KHQpKVswXS5GdCgpOm51bGx9bSgpe3RoaXMuUXQoKS5MXygpLnUodGhpcyksdGhpcy5EXy5GbygpLnUodGhpcyksdGhpcy5WXy5GbygpLnUodGhpcyksdGhpcy5tby5mb3JFYWNoKCh0PT57dC5tJiZ0Lm0oKX0pKSx0aGlzLmZhPXRoaXMuZmEuZmlsdGVyKCh0PT57Y29uc3QgaT10LlFoKCk7cmV0dXJuIGkuZGV0YWNoZWQmJmkuZGV0YWNoZWQoKSwhMX0pKSx0aGlzLlRfLnAoKX16Xygpe3JldHVybiB0aGlzLnlffU9fKHQpe3RoaXMueV89dH1RdCgpe3JldHVybiB0aGlzLnNufW5uKCl7cmV0dXJuIHRoaXMuQ199JHQoKXtyZXR1cm4gdGhpcy5ob31OXyh0KXt0aGlzLkNfPXQsdGhpcy5GXygpfVdvKHQpe3RoaXMuaG89dCx0aGlzLkRfLldvKHQpLHRoaXMuVl8uV28odCksdGhpcy5tby5mb3JFYWNoKChpPT57aWYodGhpcy5acyhpKSl7Y29uc3Qgcz1pLkZ0KCk7bnVsbCE9PXMmJnMuV28odCl9fSkpLHRoaXMuRl8oKX1XXyh0KXsKdGhpcy5QXz10fUhfKCl7cmV0dXJuIHRoaXMuUF99VV8oKXtyZXR1cm4gdGhpcy5tby5maWx0ZXIoeGkpfUNsKCl7cmV0dXJuIHRoaXMubW99WnModCl7Y29uc3QgaT10LkZ0KCk7cmV0dXJuIG51bGw9PT1pfHx0aGlzLkRfIT09aSYmdGhpcy5WXyE9PWl9c18odCxpLHMpe3RoaXMual8odCxpLHM/dC5sbigpOnRoaXMubW8ubGVuZ3RoKX1yXyh0LGkpe2NvbnN0IHM9dGhpcy5tby5pbmRleE9mKHQpO3UoLTEhPT1zLCJyZW1vdmVEYXRhU291cmNlOiBpbnZhbGlkIGRhdGEgc291cmNlIiksdGhpcy5tby5zcGxpY2UocywxKSxpfHx0aGlzLm1vLmZvckVhY2goKCh0LGkpPT50Ll9uKGkpKSk7Y29uc3QgZT1mKHQuRnQoKSkuY2woKTtpZih0aGlzLnhfLmhhcyhlKSl7Y29uc3QgaT1jKHRoaXMueF8uZ2V0KGUpKSxzPWkuaW5kZXhPZih0KTstMSE9PXMmJihpLnNwbGljZShzLDEpLDA9PT1pLmxlbmd0aCYmdGhpcy54Xy5kZWxldGUoZSkpfWNvbnN0IGg9dC5GdCgpO2gmJmguQ2woKS5pbmRleE9mKHQpPj0wJiYoaC5yXyh0KSx0aGlzLnFfKGgpKSx0aGlzLllfKCl9WHModCl7cmV0dXJuIHQ9PT10aGlzLkRfPyJsZWZ0Ijp0PT09dGhpcy5WXz8icmlnaHQiOiJvdmVybGF5In1LXygpe3JldHVybiB0aGlzLkRffVpfKCl7cmV0dXJuIHRoaXMuVl99R18odCxpKXt0LmxfKGkpfVhfKHQsaSl7dC5vXyhpKSx0aGlzLkZfKCl9Sl8odCl7dC5fXygpfVFfKHQsaSl7dC51XyhpKX10dSh0LGkpe3QuY18oaSksdGhpcy5GXygpfWl1KHQpe3QuZF8oKX1GXygpe3RoaXMubW8uZm9yRWFjaCgodD0+e3QuTm4oKX0pKX1Qbigpe2NvbnN0W3QsaV09dGhpcy5udSgpO2xldCBzPW51bGw7cmV0dXJuIHQuTigpLnZpc2libGUmJjAhPT10LkNsKCkubGVuZ3RoP3M9dDppLk4oKS52aXNpYmxlJiYwIT09aS5DbCgpLmxlbmd0aD9zPWk6MCE9PXRoaXMubW8ubGVuZ3RoJiYocz10aGlzLm1vWzBdLkZ0KCkpLG51bGw9PT1zJiYocz10aGlzLkdzKCk/P3QpLHN9R3MoKXtjb25zdFt0LGldPXRoaXMubnUoKTtyZXR1cm4gdC5OKCkudmlzaWJsZT90OmkuTigpLnZpc2libGU/aTpudWxsfXFfKHQpe251bGwhPT10JiZ0LkVvKCkmJnRoaXMuc3UodCl9ZXUodCl7Y29uc3QgaT10aGlzLmlhLkVlKCk7dC5Wbyh7aHM6ITB9KSxudWxsIT09aSYmdC53XyhpKSx0aGlzLkZfKCl9cnUoKXt0aGlzLnN1KHRoaXMuRF8pLHRoaXMuc3UodGhpcy5WXyl9aHUoKXt0aGlzLnFfKHRoaXMuRF8pLHRoaXMucV8odGhpcy5WXyksdGhpcy5tby5mb3JFYWNoKCh0PT57dGhpcy5acyh0KSYmdGhpcy5xXyh0LkZ0KCkpfSkpLHRoaXMuRl8oKSx0aGlzLnNuLm1yKCl9RHQoKXtyZXR1cm4gbnVsbD09PXRoaXMuTW8mJih0aGlzLk1vPWJpKHRoaXMubW8pKSx0aGlzLk1vfWF1KCl7Y29uc3QgdD10aGlzLkR0KCksaT10aGlzLnNuLm91KCk/Lmx1LHM9dGhpcy5zbi5OKCkuaG92ZXJlZFNlcmllc09uVG9wLGU9dGhpcy5rXztpZihudWxsIT09ZSYmZS5LaD09PXQmJmUuX3U9PT1pJiZlLnV1PT09cylyZXR1cm4gZS5jdTtjb25zdCBoPWZ1bmN0aW9uKHQsaSxzKXtpZighcylyZXR1cm4gdDtjb25zdCBlPXQuaW5kZXhPZihpKTtpZigtMT09PWV8fGU9PT10Lmxlbmd0aC0xKXJldHVybiB0O2NvbnN0IGg9W107Zm9yKGxldCBpPTA7aTx0Lmxlbmd0aDtpKyspaSE9PWUmJmgucHVzaCh0W2ldKTtyZXR1cm4gaC5wdXNoKHRbZV0pLGh9KHQsaSxzKTtyZXR1cm4gdGhpcy5rXz17S2g6dCxfdTppLHV1OnMsY3U6aH0saH1kdSh0LGkpe2k9aWkoaSwwLHRoaXMubW8ubGVuZ3RoLTEpO2NvbnN0IHM9dGhpcy5tby5pbmRleE9mKHQpO3UoLTEhPT1zLCJzZXRTZXJpZXNPcmRlcjogaW52YWxpZCBkYXRhIHNvdXJjZSIpLHRoaXMubW8uc3BsaWNlKHMsMSksdGhpcy5tby5zcGxpY2UoaSwwLHQpLHRoaXMubW8uZm9yRWFjaCgoKHQsaSk9PnQuX24oaSkpKSx0aGlzLllfKCk7Zm9yKGNvbnN0IHQgb2ZbdGhpcy5EXyx0aGlzLlZfXSl0LmVfKCksdC5kbCgpO3RoaXMuc24ubXIoKX1WdCgpe3JldHVybiB0aGlzLkR0KCkuZmlsdGVyKHhpKX1mdSgpe3JldHVybiB0aGlzLlRffXB1KCl7cmV0dXJuIHRoaXMuUl99aGwodCl7dGhpcy5mYS5wdXNoKG5ldyBEdCh0KSl9YWwodCl7dGhpcy5mYT10aGlzLmZhLmZpbHRlcigoaT0+aS5RaCgpIT09dCkpLHQuZGV0YWNoZWQmJnQuZGV0YWNoZWQoKSx0aGlzLnNuLm1yKCl9dnUoKXtyZXR1cm4gdGhpcy5mYX1KYSh0LGkpe3JldHVybiB0aGlzLmZhLm1hcCgocz0+cy5Rcyh0LGkpKSkuZmlsdGVyKCh0PT5udWxsIT09dCkpfXN1KHQpe2NvbnN0IGk9dC5tXygpO2lmKGkmJmkubGVuZ3RoPjAmJiF0aGlzLmlhLkdpKCkpe2NvbnN0IGk9dGhpcy5pYS5FZSgpO251bGwhPT1pJiZ0LndfKGkpfXQuTm4oKX1qXyh0LGkscyl7bGV0IGU9dGhpcy5BXyhpKTtpZihudWxsPT09ZSYmKGU9dGhpcy5JXyhpLHRoaXMuc24uTigpLm92ZXJsYXlQcmljZVNjYWxlcykpLHRoaXMubW8uc3BsaWNlKHMsMCx0KSwhaihpKSl7Y29uc3Qgcz10aGlzLnhfLmdldChpKXx8W107cy5wdXNoKHQpLHRoaXMueF8uc2V0KGkscyl9dC5fbihzKSxlLnNfKHQpLHQudW4oZSksdGhpcy5xXyhlKSx0aGlzLllfKCl9WV8oKXt0aGlzLk1vPW51bGwsdGhpcy5rXz1udWxsfW51KCl7cmV0dXJuImxlZnQiPT09dGhpcy5zbi5OKCkuZGVmYXVsdFZpc2libGVQcmljZVNjYWxlSWQ/W3RoaXMuRF8sdGhpcy5WX106W3RoaXMuVl8sdGhpcy5EX119Ql8odCxpLHMpe2kuX2UhPT1zLl9lJiZ0aGlzLnN1KHQpfUlfKHQsaSl7Y29uc3Qgcz17dmlzaWJsZTohMCxhdXRvU2NhbGU6ITAsLi4uTShpKX0sZT1uZXcgU2kodCxzLHRoaXMuc24uTigpLmxheW91dCx0aGlzLnNuLk4oKS5sb2NhbGl6YXRpb24sdGhpcy5zbi5YaSgpKTtyZXR1cm4gZS5Xbyh0aGlzLiR0KCkpLGV9fWZ1bmN0aW9uIENpKHQsaSl7cmV0dXJuIG51bGw9PT1pfHwyPT09dC5zZSYmMiE9PWkuc2V8fCgyIT09aS5zZXx8Mj09PXQuc2UpJiZ0Lm5lIT09aS5uZSYmdC5uZTxpLm5lfWZ1bmN0aW9uIGtpKHQpe3JldHVybnt0ZTp0LnRlLGllOnQuaWV9fWZ1bmN0aW9uIEVpKHQpe3JldHVybntuZTp0LmRpc3RhbmNlPz8wLApzZTp0LmhpdFRlc3RQcmlvcml0eT8/KCJtYXJrZXIiPT09dC5pdGVtVHlwZT8yOjApLGVlOnQuaXRlbVR5cGU/PyJwcmltaXRpdmUiLG11OnQuY3Vyc29yU3R5bGUsdGU6dC5leHRlcm5hbElkfX1mdW5jdGlvbiBOaSh0KXtyZXR1cm57bHU6dC5sdSx3dTpraSh0Lk11KSxtdTp0Lk11Lm11LGVlOnQuTXUuZWU/PyJwcmltaXRpdmUifX1mdW5jdGlvbiBUaSh0LGkscyxlKXtsZXQgaD1udWxsO2Zvcihjb25zdCBuIG9mIHQpe2xldCB0PW4uUXM/LihpLHMsZSk/P251bGw7aWYobnVsbD09PXQpe2NvbnN0IGg9bi5UdChlKTt0PW51bGwhPT1oJiZoLlFzP2guUXMoaSxzKTpudWxsfWlmKG51bGwhPT10KXtjb25zdCBpPXtndTpuLE11OnR9OyhudWxsPT09aHx8Q2koaS5NdSxoLk11KSkmJihoPWkpfX1yZXR1cm4gaH1mdW5jdGlvbiBSaSh0KXtyZXR1cm4gdm9pZCAwIT09dC5qbn1mdW5jdGlvbiBQaSh0LGkscyl7Y29uc3QgZT1bdCwuLi50LkR0KCldLnJldmVyc2UoKSxoPWZ1bmN0aW9uKHQsaSxzKXtsZXQgZSxoLG47Zm9yKGNvbnN0IGwgb2YgdCl7Y29uc3QgdD1sLkphPy4oaSxzKT8/W107Zm9yKGNvbnN0IGkgb2YgdCl7Y29uc3QgdD1FaShpKTtyPWkuek9yZGVyLG89ZT8uek9yZGVyLCghb3x8InRvcCI9PT1yJiYidG9wIiE9PW98fCJub3JtYWwiPT09ciYmImJvdHRvbSI9PT1vfHxpLnpPcmRlcj09PWU/LnpPcmRlciYmdm9pZCAwIT09aCYmQ2kodCxoKXx8aS56T3JkZXI9PT1lPy56T3JkZXImJnZvaWQgMD09PWgpJiYoZT1pLGg9dCxuPWwpfX12YXIgcixvO3JldHVybiBlJiZuJiZoP3tNdTpoLGJ1OmUsbHU6bn06bnVsbH0oZSxpLHMpO2lmKCJ0b3AiPT09aD8uYnUuek9yZGVyKXJldHVybiBOaShoKTtsZXQgbj1udWxsLHI9bnVsbDtmb3IoY29uc3QgbyBvZiBlKXtpZihoJiZoLmx1PT09byYmImJvdHRvbSIhPT1oLmJ1LnpPcmRlciYmIWguYnUuaXNCYWNrZ3JvdW5kKXJldHVybiBuPz9OaShoKTtpZihSaShvKSl7Y29uc3QgZT1UaShvLmpuKHQpLGkscyx0KTtpZihudWxsIT09ZSl7Y29uc3QgdD17bHU6byxndTplLmd1LHd1OmtpKGUuTXUpLG11OmUuTXUubXUsZWU6ZS5NdS5lZT8/InByaW1pdGl2ZSJ9OyhudWxsPT09bnx8Q2koZS5NdSxyKSkmJihuPXQscj1lLk11KX19aWYoaCYmaC5sdT09PW8mJiJib3R0b20iIT09aC5idS56T3JkZXImJmguYnUuaXNCYWNrZ3JvdW5kKXJldHVybiBuPz9OaShoKX1yZXR1cm4gbnVsbCE9PW4/bjpoPy5idT9OaShoKTpudWxsfWNsYXNzIHppe2NvbnN0cnVjdG9yKHQsaSxzPTUwKXt0aGlzLlZzPTAsdGhpcy5Ccz0xLHRoaXMuRXM9MSx0aGlzLkxzPW5ldyBNYXAsdGhpcy5Bcz1uZXcgTWFwLHRoaXMuU3U9dCx0aGlzLnh1PWksdGhpcy56cz1zfUN1KHQpe2NvbnN0IGk9dC50aW1lLHM9dGhpcy54dS5jYWNoZUtleShpKSxlPXRoaXMuTHMuZ2V0KHMpO2lmKHZvaWQgMCE9PWUpcmV0dXJuIGUueXU7aWYodGhpcy5Wcz09PXRoaXMuenMpe2NvbnN0IHQ9dGhpcy5Bcy5nZXQodGhpcy5Fcyk7dGhpcy5Bcy5kZWxldGUodGhpcy5FcyksdGhpcy5Mcy5kZWxldGUoYyh0KSksdGhpcy5FcysrLHRoaXMuVnMtLX1jb25zdCBoPXRoaXMuU3UodCk7cmV0dXJuIHRoaXMuTHMuc2V0KHMse3l1OmgsV3M6dGhpcy5Cc30pLHRoaXMuQXMuc2V0KHRoaXMuQnMscyksdGhpcy5WcysrLHRoaXMuQnMrKyxofX1jbGFzcyBJaXtjb25zdHJ1Y3Rvcih0LGkpe3UodDw9aSwicmlnaHQgc2hvdWxkIGJlID49IGxlZnQiKSx0aGlzLmt1PXQsdGhpcy5QdT1pfU9hKCl7cmV0dXJuIHRoaXMua3V9YmkoKXtyZXR1cm4gdGhpcy5QdX1UdSgpe3JldHVybiB0aGlzLlB1LXRoaXMua3UrMX16ZSh0KXtyZXR1cm4gdGhpcy5rdTw9dCYmdDw9dGhpcy5QdX1HZSh0KXtyZXR1cm4gdGhpcy5rdT09PXQuT2EoKSYmdGhpcy5QdT09PXQuYmkoKX19ZnVuY3Rpb24gTGkodCxpKXtyZXR1cm4gbnVsbD09PXR8fG51bGw9PT1pP3Q9PT1pOnQuR2UoaSl9Y2xhc3MgRml7Y29uc3RydWN0b3IoKXt0aGlzLlJ1PW5ldyBNYXAsdGhpcy5Mcz1udWxsLHRoaXMuRHU9ITF9SXUodCl7dGhpcy5EdT10LHRoaXMuTHM9bnVsbH1WdSh0LGkpe3RoaXMuQnUoaSksdGhpcy5Mcz1udWxsO2ZvcihsZXQgcz1pO3M8dC5sZW5ndGg7KytzKXtjb25zdCBpPXRbc107bGV0IGU9dGhpcy5SdS5nZXQoaS50aW1lV2VpZ2h0KTt2b2lkIDA9PT1lJiYoZT1bXSx0aGlzLlJ1LnNldChpLnRpbWVXZWlnaHQsZSkpLGUucHVzaCh7aW5kZXg6cyx0aW1lOmkudGltZSx3ZWlnaHQ6aS50aW1lV2VpZ2h0LG9yaWdpbmFsVGltZTppLm9yaWdpbmFsVGltZX0pfX1FdSh0LGkscyxlLGgpe2NvbnN0IG49TWF0aC5jZWlsKGkvdCk7cmV0dXJuIG51bGwhPT10aGlzLkxzJiZ0aGlzLkxzLkF1PT09biYmaD09PXRoaXMuTHMuTHUmJnM9PT10aGlzLkxzLnp1fHwodGhpcy5Mcz17THU6aCx6dTpzLEVsOnRoaXMuT3UobixzLGUpLEF1Om59KSx0aGlzLkxzLkVsfUJ1KHQpe2lmKDA9PT10KXJldHVybiB2b2lkIHRoaXMuUnUuY2xlYXIoKTtjb25zdCBpPVtdO3RoaXMuUnUuZm9yRWFjaCgoKHMsZSk9Pnt0PD1zWzBdLmluZGV4P2kucHVzaChlKTpzLnNwbGljZShOdChzLHQsKGk9PmkuaW5kZXg8dCkpLDEvMCl9KSk7Zm9yKGNvbnN0IHQgb2YgaSl0aGlzLlJ1LmRlbGV0ZSh0KX1PdSh0LGkscyl7bGV0IGU9W107Y29uc3QgaD10PT4haXx8cy5oYXModC5pbmRleCk7Zm9yKGNvbnN0IGkgb2YgQXJyYXkuZnJvbSh0aGlzLlJ1LmtleXMoKSkuc29ydCgoKHQsaSk9PmktdCkpKXtpZighdGhpcy5SdS5nZXQoaSkpY29udGludWU7Y29uc3Qgcz1lO2U9W107Y29uc3Qgbj1zLmxlbmd0aDtsZXQgcj0wO2NvbnN0IG89Yyh0aGlzLlJ1LmdldChpKSksbD1vLmxlbmd0aDtsZXQgYT0xLzAsdT0tMS8wO2ZvcihsZXQgaT0wO2k8bDtpKyspe2NvbnN0IGw9b1tpXSxjPWwuaW5kZXg7Zm9yKDtyPG47KXtjb25zdCB0PXNbcl0saT10LmluZGV4O2lmKCEoaTxjJiZoKHQpKSl7YT1pO2JyZWFrfXIrKyxlLnB1c2godCksdT1pLGE9MS8wfWlmKGEtYz49dCYmYy11Pj10JiZoKGwpKWUucHVzaChsKSx1PWM7ZWxzZSBpZih0aGlzLkR1KXJldHVybiBzfQpmb3IoO3I8bjtyKyspaChzW3JdKSYmZS5wdXNoKHNbcl0pfXJldHVybiBlfX1jbGFzcyBxaXtjb25zdHJ1Y3Rvcih0KXt0aGlzLk51PXR9RnUoKXtyZXR1cm4gbnVsbD09PXRoaXMuTnU/bnVsbDpuZXcgSWkoTWF0aC5mbG9vcih0aGlzLk51Lk9hKCkpLE1hdGguY2VpbCh0aGlzLk51LmJpKCkpKX1XdSgpe3JldHVybiB0aGlzLk51fXN0YXRpYyBIdSgpe3JldHVybiBuZXcgcWkobnVsbCl9fWZ1bmN0aW9uIFdpKHQsaSl7cmV0dXJuIHQud2VpZ2h0Pmkud2VpZ2h0P3Q6aX1jbGFzcyBRaXtjb25zdHJ1Y3Rvcih0LGkscyxlKXt0aGlzLkNfPTAsdGhpcy5VdT1udWxsLHRoaXMuJHU9W10sdGhpcy54bz1udWxsLHRoaXMuU289bnVsbCx0aGlzLmp1PW5ldyBGaSx0aGlzLnF1PW5ldyBNYXAsdGhpcy5ZdT1xaS5IdSgpLHRoaXMuS3U9ITAsdGhpcy5adT1uZXcgbSx0aGlzLkd1PW5ldyBtLHRoaXMuWHU9bmV3IG0sdGhpcy5KdT1udWxsLHRoaXMuUXU9bnVsbCx0aGlzLnRjPW5ldyBNYXAsdGhpcy5uYz0tMSx0aGlzLnNjPVtdLHRoaXMuZWM9MSx0aGlzLnluPWksdGhpcy5Qbz1zLHRoaXMucmM9aS5yaWdodE9mZnNldCx0aGlzLmhjPWkuYmFyU3BhY2luZyx0aGlzLnNuPXQsdGhpcy5hYyhpKSx0aGlzLnh1PWUsdGhpcy5sYygpLHRoaXMuanUuSXUoaS51bmlmb3JtRGlzdHJpYnV0aW9uKSx0aGlzLm9jKCksdGhpcy5fYygpfU4oKXtyZXR1cm4gdGhpcy55bn11Yyh0KXtwKHRoaXMuUG8sdCksdGhpcy5jYygpLHRoaXMubGMoKX12cih0LGkpe3AodGhpcy55bix0KSx0aGlzLnluLmZpeExlZnRFZGdlJiZ0aGlzLmRjKCksdGhpcy55bi5maXhSaWdodEVkZ2UmJnRoaXMuZmMoKSx2b2lkIDAhPT10LmJhclNwYWNpbmcmJnRoaXMuc24uTXModC5iYXJTcGFjaW5nKSx2b2lkIDAhPT10LnJpZ2h0T2Zmc2V0JiZ0aGlzLnNuLmdzKHQucmlnaHRPZmZzZXQpLHRoaXMuYWModCksdm9pZCAwPT09dC5taW5CYXJTcGFjaW5nJiZ2b2lkIDA9PT10Lm1heEJhclNwYWNpbmd8fHRoaXMuc24uTXModC5iYXJTcGFjaW5nPz90aGlzLmhjKSx2b2lkIDAhPT10Lmlnbm9yZVdoaXRlc3BhY2VJbmRpY2VzJiZ0Lmlnbm9yZVdoaXRlc3BhY2VJbmRpY2VzIT09dGhpcy55bi5pZ25vcmVXaGl0ZXNwYWNlSW5kaWNlcyYmdGhpcy5fYygpLHRoaXMuY2MoKSx0aGlzLmxjKCksdm9pZCAwPT09dC5lbmFibGVDb25mbGF0aW9uJiZ2b2lkIDA9PT10LmNvbmZsYXRpb25UaHJlc2hvbGRGYWN0b3J8fHRoaXMub2MoKSx0aGlzLlh1LnAoKX1Sbih0KXtyZXR1cm4gdGhpcy4kdVt0XT8udGltZT8/bnVsbH1lbih0KXtyZXR1cm4gdGhpcy4kdVt0XT8/bnVsbH12Yyh0LGkpe2lmKHRoaXMuJHUubGVuZ3RoPDEpcmV0dXJuIG51bGw7aWYodGhpcy54dS5rZXkodCk+dGhpcy54dS5rZXkodGhpcy4kdVt0aGlzLiR1Lmxlbmd0aC0xXS50aW1lKSlyZXR1cm4gaT90aGlzLiR1Lmxlbmd0aC0xOm51bGw7Y29uc3Qgcz1OdCh0aGlzLiR1LHRoaXMueHUua2V5KHQpLCgodCxpKT0+dGhpcy54dS5rZXkodC50aW1lKTxpKSk7cmV0dXJuIHRoaXMueHUua2V5KHQpPHRoaXMueHUua2V5KHRoaXMuJHVbc10udGltZSk/aT9zOm51bGw6c31HaSgpe3JldHVybiAwPT09dGhpcy5DX3x8MD09PXRoaXMuJHUubGVuZ3RofHxudWxsPT09dGhpcy5VdX1tYygpe3JldHVybiB0aGlzLiR1Lmxlbmd0aD4wfUVlKCl7cmV0dXJuIHRoaXMud2MoKSx0aGlzLll1LkZ1KCl9TWMoKXtyZXR1cm4gdGhpcy53YygpLHRoaXMuWXUuV3UoKX1nYygpe2NvbnN0IHQ9dGhpcy5FZSgpO2lmKG51bGw9PT10KXJldHVybiBudWxsO2NvbnN0IGk9e2Zyb206dC5PYSgpLHRvOnQuYmkoKX07cmV0dXJuIHRoaXMuYmMoaSl9YmModCl7Y29uc3QgaT1NYXRoLnJvdW5kKHQuZnJvbSkscz1NYXRoLnJvdW5kKHQudG8pLGU9Zih0aGlzLlNjKCkpLGg9Zih0aGlzLnhjKCkpO3JldHVybntmcm9tOmYodGhpcy5lbihNYXRoLm1heChlLGkpKSksdG86Zih0aGlzLmVuKE1hdGgubWluKGgscykpKX19Q2ModCl7cmV0dXJue2Zyb206Zih0aGlzLnZjKHQuZnJvbSwhMCkpLHRvOmYodGhpcy52Yyh0LnRvLCEwKSl9fW5uKCl7cmV0dXJuIHRoaXMuQ199Tl8odCl7aWYoIWlzRmluaXRlKHQpfHx0PD0wKXJldHVybjtpZih0aGlzLkNfPT09dClyZXR1cm47Y29uc3QgaT10aGlzLk1jKCkscz10aGlzLkNfO2lmKHRoaXMuQ189dCx0aGlzLkt1PSEwLHRoaXMueW4ubG9ja1Zpc2libGVUaW1lUmFuZ2VPblJlc2l6ZSYmMCE9PXMpe2NvbnN0IGk9dGhpcy5oYyp0L3M7dGhpcy5oYz1pfWlmKHRoaXMueW4uZml4TGVmdEVkZ2UmJm51bGwhPT1pJiZpLk9hKCk8PTApe2NvbnN0IGk9cy10O3RoaXMucmMtPU1hdGgucm91bmQoaS90aGlzLmhjKSsxLHRoaXMuS3U9ITB9dGhpcy55YygpLHRoaXMua2MoKX1qdCh0KXtpZih0aGlzLkdpKCl8fCF2KHQpKXJldHVybiAwO2NvbnN0IGk9dGhpcy5QYygpK3RoaXMucmMtdDtyZXR1cm4gdGhpcy5DXy0oaSsuNSkqdGhpcy5oYy0xfVRjKHQsaSl7Y29uc3Qgcz10aGlzLlBjKCksZT12b2lkIDA9PT1pPzA6aS5mcm9tLGg9dm9pZCAwPT09aT90Lmxlbmd0aDppLnRvO2ZvcihsZXQgaT1lO2k8aDtpKyspe2NvbnN0IGU9dFtpXS53dCxoPXMrdGhpcy5yYy1lLG49dGhpcy5DXy0oaCsuNSkqdGhpcy5oYy0xO3RbaV0uX3Q9bn19UmModCxpKXtjb25zdCBzPU1hdGguY2VpbCh0aGlzLkRjKHQpKTtyZXR1cm4gaSYmdGhpcy55bi5pZ25vcmVXaGl0ZXNwYWNlSW5kaWNlcyYmIXRoaXMuSWMocyk/dGhpcy5WYyhzKTpzfWdzKHQpe3RoaXMuS3U9ITAsdGhpcy5yYz10LHRoaXMua2MoKSx0aGlzLnNuLkJjKCksdGhpcy5zbi5tcigpfWZsKCl7cmV0dXJuIHRoaXMuaGN9TXModCl7Y29uc3QgaT10aGlzLmhjO2lmKHRoaXMuRWModCksdm9pZCAwIT09dGhpcy55bi5yaWdodE9mZnNldFBpeGVscyYmMCE9PWkpe2NvbnN0IHQ9dGhpcy5yYyppL3RoaXMuaGM7dGhpcy5yYz10fXRoaXMua2MoKSx0aGlzLnNuLkJjKCksdGhpcy5zbi5tcigpfUFjKCl7cmV0dXJuIHRoaXMucmN9RWwoKXtpZih0aGlzLkdpKCkpcmV0dXJuIG51bGw7aWYobnVsbCE9PXRoaXMuUXUpcmV0dXJuIHRoaXMuUXUKO2NvbnN0IHQ9dGhpcy5oYyxpPTUqKHRoaXMuc24uTigpLmxheW91dC5mb250U2l6ZSs0KS84Kih0aGlzLnluLnRpY2tNYXJrTWF4Q2hhcmFjdGVyTGVuZ3RofHw4KSxzPU1hdGgucm91bmQoaS90KSxlPWYodGhpcy5FZSgpKSxoPU1hdGgubWF4KGUuT2EoKSxlLk9hKCktcyksbj1NYXRoLm1heChlLmJpKCksZS5iaSgpLXMpLHI9dGhpcy5qdS5FdSh0LGksdGhpcy55bi5pZ25vcmVXaGl0ZXNwYWNlSW5kaWNlcyx0aGlzLnRjLHRoaXMubmMpLG89dGhpcy5TYygpK3MsbD10aGlzLnhjKCktcyxhPXRoaXMuTGMoKSx1PXRoaXMueW4uZml4TGVmdEVkZ2V8fGEsYz10aGlzLnluLmZpeFJpZ2h0RWRnZXx8YTtsZXQgZD0wO2Zvcihjb25zdCB0IG9mIHIpe2lmKCEoaDw9dC5pbmRleCYmdC5pbmRleDw9bikpY29udGludWU7bGV0IHM7ZDx0aGlzLnNjLmxlbmd0aD8ocz10aGlzLnNjW2RdLHMuY29vcmQ9dGhpcy5qdCh0LmluZGV4KSxzLmxhYmVsPXRoaXMuemModCkscy53ZWlnaHQ9dC53ZWlnaHQpOihzPXtuZWVkQWxpZ25Db29yZGluYXRlOiExLGNvb3JkOnRoaXMuanQodC5pbmRleCksbGFiZWw6dGhpcy56Yyh0KSx3ZWlnaHQ6dC53ZWlnaHR9LHRoaXMuc2MucHVzaChzKSksdGhpcy5oYz5pLzImJiFhP3MubmVlZEFsaWduQ29vcmRpbmF0ZT0hMTpzLm5lZWRBbGlnbkNvb3JkaW5hdGU9dSYmdC5pbmRleDw9b3x8YyYmdC5pbmRleD49bCxkKyt9cmV0dXJuIHRoaXMuc2MubGVuZ3RoPWQsdGhpcy5RdT10aGlzLnNjLHRoaXMuc2N9T2MoKXtsZXQgdDt0aGlzLkt1PSEwLHRoaXMuTXModGhpcy55bi5iYXJTcGFjaW5nKSx0PXZvaWQgMCE9PXRoaXMueW4ucmlnaHRPZmZzZXRQaXhlbHM/dGhpcy55bi5yaWdodE9mZnNldFBpeGVscy90aGlzLmZsKCk6dGhpcy55bi5yaWdodE9mZnNldCx0aGlzLmdzKHQpfU5jKHQpe3RoaXMuS3U9ITAsdGhpcy5VdT10LHRoaXMua2MoKSx0aGlzLmRjKCl9RmModCxpKXtjb25zdCBzPXRoaXMuRGModCksZT10aGlzLmZsKCksaD1lK2kqKGUvMTApO3RoaXMuTXMoaCksdGhpcy55bi5yaWdodEJhclN0YXlzT25TY3JvbGx8fHRoaXMuZ3ModGhpcy5BYygpKyhzLXRoaXMuRGModCkpKX1sXyh0KXt0aGlzLnhvJiZ0aGlzLmRfKCksbnVsbD09PXRoaXMuU28mJm51bGw9PT10aGlzLkp1JiYodGhpcy5HaSgpfHwodGhpcy5Tbz10LHRoaXMuV2MoKSkpfW9fKHQpe2lmKG51bGw9PT10aGlzLkp1KXJldHVybjtjb25zdCBpPWlpKHRoaXMuQ18tdCwwLHRoaXMuQ18pLHM9aWkodGhpcy5DXy1mKHRoaXMuU28pLDAsdGhpcy5DXyk7MCE9PWkmJjAhPT1zJiZ0aGlzLk1zKHRoaXMuSnUuZmwqaS9zKX1fXygpe251bGwhPT10aGlzLlNvJiYodGhpcy5Tbz1udWxsLHRoaXMuSGMoKSl9dV8odCl7bnVsbD09PXRoaXMueG8mJm51bGw9PT10aGlzLkp1JiYodGhpcy5HaSgpfHwodGhpcy54bz10LHRoaXMuV2MoKSkpfWNfKHQpe2lmKG51bGw9PT10aGlzLnhvKXJldHVybjtjb25zdCBpPSh0aGlzLnhvLXQpL3RoaXMuZmwoKTt0aGlzLnJjPWYodGhpcy5KdSkuQWMraSx0aGlzLkt1PSEwLHRoaXMua2MoKX1kXygpe251bGwhPT10aGlzLnhvJiYodGhpcy54bz1udWxsLHRoaXMuSGMoKSl9VWMoKXt0aGlzLiRjKHRoaXMueW4ucmlnaHRPZmZzZXQpfSRjKHQsaT00MDApe2lmKCFpc0Zpbml0ZSh0KSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigib2Zmc2V0IGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGZpbml0ZSBudW1iZXIiKTtpZighaXNGaW5pdGUoaSl8fGk8PTApdGhyb3cgbmV3IFJhbmdlRXJyb3IoImFuaW1hdGlvbkR1cmF0aW9uIChvcHRpb25hbCkgbXVzdCBiZSBmaW5pdGUgcG9zaXRpdmUgbnVtYmVyIik7Y29uc3Qgcz10aGlzLnJjLGU9cGVyZm9ybWFuY2Uubm93KCk7dGhpcy5zbi5wcyh7amM6dD0+KHQtZSkvaT49MSxxYzpoPT57Y29uc3Qgbj0oaC1lKS9pO3JldHVybiBuPj0xP3Q6cysodC1zKSpufX0pfWt0KHQsaSl7dGhpcy5LdT0hMCx0aGlzLiR1PXQsdGhpcy5qdS5WdSh0LGkpLHRoaXMua2MoKX1ZYygpe3JldHVybiB0aGlzLlp1fUtjKCl7cmV0dXJuIHRoaXMuR3V9WmMoKXtyZXR1cm4gdGhpcy5YdX1QYygpe3JldHVybiB0aGlzLlV1fHwwfUdjKHQsaSl7Y29uc3Qgcz10LlR1KCksZT1pJiZ0aGlzLnluLnJpZ2h0T2Zmc2V0UGl4ZWxzfHwwO3RoaXMuRWMoKHRoaXMuQ18tZSkvcyksdGhpcy5yYz10LmJpKCktdGhpcy5QYygpLGkmJih0aGlzLnJjPWU/ZS90aGlzLmZsKCk6dGhpcy55bi5yaWdodE9mZnNldCksdGhpcy5rYygpLHRoaXMuS3U9ITAsdGhpcy5zbi5CYygpLHRoaXMuc24ubXIoKX1YYygpe2NvbnN0IHQ9dGhpcy5TYygpLGk9dGhpcy54YygpO2lmKG51bGw9PT10fHxudWxsPT09aSlyZXR1cm47Y29uc3Qgcz0hdGhpcy55bi5yaWdodE9mZnNldFBpeGVscyYmdGhpcy55bi5yaWdodE9mZnNldHx8MDt0aGlzLkdjKG5ldyBJaSh0LGkrcyksITApfUpjKHQpe2NvbnN0IGk9bmV3IElpKHQuZnJvbSx0LnRvKTt0aGlzLkdjKGkpfXJuKHQpe3JldHVybiB2b2lkIDAhPT10aGlzLlBvLnRpbWVGb3JtYXR0ZXI/dGhpcy5Qby50aW1lRm9ybWF0dGVyKHQub3JpZ2luYWxUaW1lKTp0aGlzLnh1LmZvcm1hdEhvcnpJdGVtKHQudGltZSl9X2MoKXtpZighdGhpcy55bi5pZ25vcmVXaGl0ZXNwYWNlSW5kaWNlcylyZXR1cm47dGhpcy50Yy5jbGVhcigpO2NvbnN0IHQ9dGhpcy5zbi5KbigpO2Zvcihjb25zdCBpIG9mIHQpZm9yKGNvbnN0IHQgb2YgaS51bCgpKXRoaXMudGMuc2V0KHQsITApO3RoaXMubmMrK31RYygpe3JldHVybiB0aGlzLmVjfU1sKCl7Y29uc3QgdD0xLyh3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MSksaT10aGlzLnluLm1pbkJhclNwYWNpbmc7aWYoaT49dClyZXR1cm5bMV07Y29uc3Qgcz1bMV07bGV0IGU9Mjtmb3IoO2U8PTUxMjspaTx0L2UmJnMucHVzaChlKSxlKj0yO3JldHVybiBzfUxjKCl7Y29uc3QgdD10aGlzLnNuLk4oKS5oYW5kbGVTY3JvbGwsaT10aGlzLnNuLk4oKS5oYW5kbGVTY2FsZQo7cmV0dXJuISh0LmhvcnpUb3VjaERyYWd8fHQubW91c2VXaGVlbHx8dC5wcmVzc2VkTW91c2VNb3ZlfHx0LnZlcnRUb3VjaERyYWd8fGkuYXhpc0RvdWJsZUNsaWNrUmVzZXQudGltZXx8aS5heGlzUHJlc3NlZE1vdXNlTW92ZS50aW1lfHxpLm1vdXNlV2hlZWx8fGkucGluY2gpfVNjKCl7cmV0dXJuIDA9PT10aGlzLiR1Lmxlbmd0aD9udWxsOjB9eGMoKXtyZXR1cm4gMD09PXRoaXMuJHUubGVuZ3RoP251bGw6dGhpcy4kdS5sZW5ndGgtMX10ZCh0KXtyZXR1cm4odGhpcy5DXy0xLXQpL3RoaXMuaGN9RGModCl7Y29uc3QgaT10aGlzLnRkKHQpLHM9dGhpcy5QYygpK3RoaXMucmMtaTtyZXR1cm4gTWF0aC5yb3VuZCgxZTYqcykvMWU2fUVjKHQpe2NvbnN0IGk9dGhpcy5oYzt0aGlzLmhjPXQsdGhpcy55YygpLGkhPT10aGlzLmhjJiYodGhpcy5LdT0hMCx0aGlzLm5kKCksdGhpcy5vYygpKX13Yygpe2lmKCF0aGlzLkt1KXJldHVybjtpZih0aGlzLkt1PSExLHRoaXMuR2koKSlyZXR1cm4gdm9pZCB0aGlzLnNkKHFpLkh1KCkpO2NvbnN0IHQ9dGhpcy5QYygpLGk9dGhpcy5DXy90aGlzLmhjLHM9dGhpcy5yYyt0LGU9bmV3IElpKHMtaSsxLHMpO3RoaXMuc2QobmV3IHFpKGUpKX15Yygpe2NvbnN0IHQ9aWkodGhpcy5oYyx0aGlzLmVkKCksdGhpcy5yZCgpKTt0aGlzLmhjIT09dCYmKHRoaXMuaGM9dCx0aGlzLkt1PSEwKX1yZCgpe3JldHVybiB0aGlzLnluLm1heEJhclNwYWNpbmc+MD90aGlzLnluLm1heEJhclNwYWNpbmc6LjUqdGhpcy5DX31lZCgpe3JldHVybiB0aGlzLnluLmZpeExlZnRFZGdlJiZ0aGlzLnluLmZpeFJpZ2h0RWRnZSYmMCE9PXRoaXMuJHUubGVuZ3RoP3RoaXMuQ18vdGhpcy4kdS5sZW5ndGg6dGhpcy55bi5taW5CYXJTcGFjaW5nfW9jKCl7aWYoIXRoaXMueW4uZW5hYmxlQ29uZmxhdGlvbilyZXR1cm4gdm9pZCh0aGlzLmVjPTEpO2NvbnN0IHQ9MS8od2luZG93LmRldmljZVBpeGVsUmF0aW98fDEpKih0aGlzLnluLmNvbmZsYXRpb25UaHJlc2hvbGRGYWN0b3I/PzEpO2lmKHRoaXMuaGM+PXQpcmV0dXJuIHZvaWQodGhpcy5lYz0xKTtjb25zdCBpPXQvdGhpcy5oYyxzPU1hdGgucG93KDIsTWF0aC5mbG9vcihNYXRoLmxvZzIoaSkpKTt0aGlzLmVjPU1hdGgubWluKHMsNTEyKX1rYygpe2NvbnN0IHQ9dGhpcy5oZCgpO251bGwhPT10JiZ0aGlzLnJjPHQmJih0aGlzLnJjPXQsdGhpcy5LdT0hMCk7Y29uc3QgaT10aGlzLmFkKCk7dGhpcy5yYz5pJiYodGhpcy5yYz1pLHRoaXMuS3U9ITApfWhkKCl7Y29uc3QgdD10aGlzLlNjKCksaT10aGlzLlV1O3JldHVybiBudWxsPT09dHx8bnVsbD09PWk/bnVsbDp0LWktMSsodGhpcy55bi5maXhMZWZ0RWRnZT90aGlzLkNfL3RoaXMuaGM6TWF0aC5taW4oMix0aGlzLiR1Lmxlbmd0aCkpfWFkKCl7cmV0dXJuIHRoaXMueW4uZml4UmlnaHRFZGdlPzA6dGhpcy5DXy90aGlzLmhjLU1hdGgubWluKDIsdGhpcy4kdS5sZW5ndGgpfVdjKCl7dGhpcy5KdT17Zmw6dGhpcy5mbCgpLEFjOnRoaXMuQWMoKX19SGMoKXt0aGlzLkp1PW51bGx9emModCl7bGV0IGk9dGhpcy5xdS5nZXQodC53ZWlnaHQpO3JldHVybiB2b2lkIDA9PT1pJiYoaT1uZXcgemkoKHQ9PnRoaXMubGQodCkpLHRoaXMueHUpLHRoaXMucXUuc2V0KHQud2VpZ2h0LGkpKSxpLkN1KHQpfWxkKHQpe3JldHVybiB0aGlzLnh1LmZvcm1hdFRpY2ttYXJrKHQsdGhpcy5Qbyl9c2QodCl7Y29uc3QgaT10aGlzLll1O3RoaXMuWXU9dCxMaShpLkZ1KCksdGhpcy5ZdS5GdSgpKXx8dGhpcy5adS5wKCksTGkoaS5XdSgpLHRoaXMuWXUuV3UoKSl8fHRoaXMuR3UucCgpLHRoaXMubmQoKX1uZCgpe3RoaXMuUXU9bnVsbH1jYygpe3RoaXMubmQoKSx0aGlzLnF1LmNsZWFyKCl9bGMoKXt0aGlzLnh1LnVwZGF0ZUZvcm1hdHRlcih0aGlzLlBvKX1kYygpe2lmKCF0aGlzLnluLmZpeExlZnRFZGdlKXJldHVybjtjb25zdCB0PXRoaXMuU2MoKTtpZihudWxsPT09dClyZXR1cm47Y29uc3QgaT10aGlzLkVlKCk7aWYobnVsbD09PWkpcmV0dXJuO2NvbnN0IHM9aS5PYSgpLXQ7aWYoczwwKXtjb25zdCB0PXRoaXMucmMtcy0xO3RoaXMuZ3ModCl9dGhpcy55YygpfWZjKCl7dGhpcy5rYygpLHRoaXMueWMoKX1JYyh0KXtyZXR1cm4hdGhpcy55bi5pZ25vcmVXaGl0ZXNwYWNlSW5kaWNlc3x8dGhpcy50Yy5nZXQodCl8fCExfVZjKHQpe2NvbnN0IGk9ZnVuY3Rpb24qKHQpe2NvbnN0IGk9TWF0aC5yb3VuZCh0KSxzPWk8dDtsZXQgZT0xO2Zvcig7OylzPyh5aWVsZCBpK2UseWllbGQgaS1lKTooeWllbGQgaS1lLHlpZWxkIGkrZSksZSsrfSh0KSxzPXRoaXMueGMoKTtmb3IoO3M7KXtjb25zdCB0PWkubmV4dCgpLnZhbHVlO2lmKHRoaXMudGMuZ2V0KHQpKXJldHVybiB0O2lmKHQ8MHx8dD5zKWJyZWFrfXJldHVybiB0fWFjKHQpe2lmKHZvaWQgMCE9PXQucmlnaHRPZmZzZXRQaXhlbHMpe2NvbnN0IGk9dC5yaWdodE9mZnNldFBpeGVscy8odC5iYXJTcGFjaW5nfHx0aGlzLmhjKTt0aGlzLnNuLmdzKGkpfX19dmFyIERpLE9pLEtpLFZpLCRpOyFmdW5jdGlvbih0KXt0W3QuT25Ub3VjaEVuZD0wXT0iT25Ub3VjaEVuZCIsdFt0Lk9uTmV4dFRhcD0xXT0iT25OZXh0VGFwIn0oRGl8fChEaT17fSkpO2NsYXNzIEJpe2NvbnN0cnVjdG9yKHQsaSxzKXt0aGlzLm9kPVtdLHRoaXMuX2Q9W10sdGhpcy51ZD1udWxsLHRoaXMuQ189MCx0aGlzLmRkPW51bGwsdGhpcy5mZD1uZXcgbSx0aGlzLnBkPW5ldyBtLHRoaXMudmQ9bnVsbCx0aGlzLm1kPXQsdGhpcy55bj1pLHRoaXMueHU9cyx0aGlzLlRvPW5ldyBOKHRoaXMueW4ubGF5b3V0LmNvbG9yUGFyc2VycyksdGhpcy53ZD1uZXcgQyh0aGlzKSx0aGlzLmlhPW5ldyBRaSh0aGlzLGkudGltZVNjYWxlLHRoaXMueW4ubG9jYWxpemF0aW9uLHMpLHRoaXMuQ3Q9bmV3IFkodGhpcyxpLmNyb3NzaGFpciksdGhpcy5NZD1uZXcgdGkoaS5jcm9zc2hhaXIpLGkuYWRkRGVmYXVsdFBhbmUmJih0aGlzLmdkKDApLHRoaXMub2RbMF0uT18oMikpLHRoaXMuYmQ9dGhpcy5TZCgwKSx0aGlzLnhkPXRoaXMuU2QoMSl9UGEoKXt0aGlzLkNkKFgueXMoKSl9bXIoKXt0aGlzLkNkKFguQ3MoKSl9cWEoKXsKdGhpcy5DZChuZXcgWCgxKSl9VGEodCl7Y29uc3QgaT10aGlzLnlkKHQpO3RoaXMuQ2QoaSl9b3UoKXtyZXR1cm4gdGhpcy5kZH1rZCh0KXtpZih0aGlzLmRkPy5sdT09PXQ/Lmx1JiZ0aGlzLmRkPy53dT8udGU9PT10Py53dT8udGUmJnRoaXMuZGQ/Lnd1Py5pZT09PXQ/Lnd1Py5pZSYmdGhpcy5kZD8ubXU9PT10Py5tdSYmdGhpcy5kZD8uZWU9PT10Py5lZSlyZXR1cm47Y29uc3QgaT10aGlzLmRkO3RoaXMuZGQ9dCxudWxsIT09aSYmdGhpcy5UYShpLmx1KSxudWxsIT09dCYmdC5sdSE9PWk/Lmx1JiZ0aGlzLlRhKHQubHUpfU4oKXtyZXR1cm4gdGhpcy55bn12cih0KXtwKHRoaXMueW4sdCksdGhpcy5vZC5mb3JFYWNoKChpPT5pLkVfKHQpKSksdm9pZCAwIT09dC50aW1lU2NhbGUmJnRoaXMuaWEudnIodC50aW1lU2NhbGUpLHZvaWQgMCE9PXQubG9jYWxpemF0aW9uJiZ0aGlzLmlhLnVjKHQubG9jYWxpemF0aW9uKSwodC5sZWZ0UHJpY2VTY2FsZXx8dC5yaWdodFByaWNlU2NhbGUpJiZ0aGlzLmZkLnAoKSx0aGlzLmJkPXRoaXMuU2QoMCksdGhpcy54ZD10aGlzLlNkKDEpLHRoaXMuUGEoKX1QZCh0LGkscz0wKXtjb25zdCBlPXRoaXMub2Rbc107aWYodm9pZCAwPT09ZSlyZXR1cm47aWYoImxlZnQiPT09dClyZXR1cm4gcCh0aGlzLnluLHtsZWZ0UHJpY2VTY2FsZTppfSksZS5FXyh7bGVmdFByaWNlU2NhbGU6aX0pLHRoaXMuZmQucCgpLHZvaWQgdGhpcy5QYSgpO2lmKCJyaWdodCI9PT10KXJldHVybiBwKHRoaXMueW4se3JpZ2h0UHJpY2VTY2FsZTppfSksZS5FXyh7cmlnaHRQcmljZVNjYWxlOml9KSx0aGlzLmZkLnAoKSx2b2lkIHRoaXMuUGEoKTtjb25zdCBoPXRoaXMuVGQodCxzKTtudWxsIT09aCYmKGguRnQudnIoaSksdGhpcy5mZC5wKCkpfVRkKHQsaSl7Y29uc3Qgcz10aGlzLm9kW2ldO2lmKHZvaWQgMD09PXMpcmV0dXJuIG51bGw7Y29uc3QgZT1zLkFfKHQpO3JldHVybiBudWxsIT09ZT97S246cyxGdDplfTpudWxsfUV0KCl7cmV0dXJuIHRoaXMuaWF9Wm4oKXtyZXR1cm4gdGhpcy5vZH1SZCgpe3JldHVybiB0aGlzLkN0fURkKCl7cmV0dXJuIHRoaXMucGR9SWQodCxpKXt0LldvKGkpLHRoaXMuQmMoKX1OXyh0KXt0aGlzLkNfPXQsdGhpcy5pYS5OXyh0aGlzLkNfKSx0aGlzLm9kLmZvckVhY2goKGk9PmkuTl8odCkpKSx0aGlzLkJjKCl9VmQodCl7MSE9PXRoaXMub2QubGVuZ3RoJiYodSh0Pj0wJiZ0PHRoaXMub2QubGVuZ3RoLCJJbnZhbGlkIHBhbmUgaW5kZXgiKSx0aGlzLm9kLnNwbGljZSh0LDEpLHRoaXMuUGEoKSl9QmQodCxpKXtpZih0aGlzLm9kLmxlbmd0aDwyKXJldHVybjt1KHQ+PTAmJnQ8dGhpcy5vZC5sZW5ndGgsIkludmFsaWQgcGFuZSBpbmRleCIpO2NvbnN0IHM9dGhpcy5vZFt0XSxlPXRoaXMub2QucmVkdWNlKCgodCxpKT0+dCtpLnpfKCkpLDApLGg9dGhpcy5vZC5yZWR1Y2UoKCh0LGkpPT50K2kuJHQoKSksMCksbj1oLTMwKih0aGlzLm9kLmxlbmd0aC0xKTtpPU1hdGgubWluKG4sTWF0aC5tYXgoMzAsaSkpO2NvbnN0IHI9ZS9oLG89cy4kdCgpO3MuT18oaSpyKTtsZXQgbD1pLW8sYT10aGlzLm9kLmxlbmd0aC0xO2Zvcihjb25zdCB0IG9mIHRoaXMub2QpaWYodCE9PXMpe2NvbnN0IGk9TWF0aC5taW4obixNYXRoLm1heCgzMCx0LiR0KCktbC9hKSk7bC09dC4kdCgpLWksYS09MTtjb25zdCBzPWkqcjt0Lk9fKHMpfXRoaXMuUGEoKX1FZCh0LGkpe3UodD49MCYmdDx0aGlzLm9kLmxlbmd0aCYmaT49MCYmaTx0aGlzLm9kLmxlbmd0aCwiSW52YWxpZCBwYW5lIGluZGV4Iik7Y29uc3Qgcz10aGlzLm9kW3RdLGU9dGhpcy5vZFtpXTt0aGlzLm9kW3RdPWUsdGhpcy5vZFtpXT1zLHRoaXMuUGEoKX1BZCh0LGkpe2lmKHUodD49MCYmdDx0aGlzLm9kLmxlbmd0aCYmaT49MCYmaTx0aGlzLm9kLmxlbmd0aCwiSW52YWxpZCBwYW5lIGluZGV4IiksdD09PWkpcmV0dXJuO2NvbnN0W3NdPXRoaXMub2Quc3BsaWNlKHQsMSk7dGhpcy5vZC5zcGxpY2UoaSwwLHMpLHRoaXMuUGEoKX1HXyh0LGkscyl7dC5HXyhpLHMpfVhfKHQsaSxzKXt0LlhfKGkscyksdGhpcy5SYSgpLHRoaXMuQ2QodGhpcy5MZCh0LDIpKX1KXyh0LGkpe3QuSl8oaSksdGhpcy5DZCh0aGlzLkxkKHQsMikpfVFfKHQsaSxzKXtpLkVvKCl8fHQuUV8oaSxzKX10dSh0LGkscyl7aS5FbygpfHwodC50dShpLHMpLHRoaXMuUmEoKSx0aGlzLkNkKHRoaXMuTGQodCwyKSkpfWl1KHQsaSl7aS5FbygpfHwodC5pdShpKSx0aGlzLkNkKHRoaXMuTGQodCwyKSkpfWV1KHQsaSl7dC5ldShpKSx0aGlzLkNkKHRoaXMuTGQodCwyKSl9emQodCl7dGhpcy5pYS5sXyh0KX1PZCh0LGkpe2NvbnN0IHM9dGhpcy5FdCgpO2lmKHMuR2koKXx8MD09PWkpcmV0dXJuO2NvbnN0IGU9cy5ubigpO3Q9TWF0aC5tYXgoMSxNYXRoLm1pbih0LGUpKSxzLkZjKHQsaSksdGhpcy5CYygpfU5kKHQpe3RoaXMuRmQoMCksdGhpcy5XZCh0KSx0aGlzLkhkKCl9VWQodCl7dGhpcy5pYS5vXyh0KSx0aGlzLkJjKCl9JGQoKXt0aGlzLmlhLl9fKCksdGhpcy5tcigpfUZkKHQpe3RoaXMuaWEudV8odCl9V2QodCl7dGhpcy5pYS5jXyh0KSx0aGlzLkJjKCl9SGQoKXt0aGlzLmlhLmRfKCksdGhpcy5tcigpfUpuKCl7cmV0dXJuIHRoaXMuX2R9V24oKXtyZXR1cm4gbnVsbD09PXRoaXMudWQmJih0aGlzLnVkPXRoaXMuX2QuZmlsdGVyKCh0PT50Lkl0KCkpKSksdGhpcy51ZH1rYSgpe3RoaXMudWQ9bnVsbH1qZCh0LGkscyxlLGgpe3RoaXMuQ3QuSW4odCxpKTtsZXQgbj1OYU4scj10aGlzLmlhLlJjKHQsITApO2NvbnN0IG89dGhpcy5pYS5FZSgpO251bGwhPT1vJiYocj1NYXRoLm1pbihNYXRoLm1heChvLk9hKCksciksby5iaSgpKSkscj10aGlzLkN0LkZuKHIpO2NvbnN0IGw9ZS5QbigpLGE9bC5MdCgpO2lmKG51bGwhPT1hJiYobj1sLlRuKGksYSkpLG49dGhpcy5NZC54bChuLHIsZSksdGhpcy5DdC5BbihyLG4sZSksdGhpcy5xYSgpLCFoKXtjb25zdCBoPVBpKGUsdCxpKTt0aGlzLmtkKGgmJntsdTpoLmx1LHd1Omgud3UsbXU6aC5tdXx8bnVsbCxlZTpoLmVlfSksdGhpcy5wZC5wKHRoaXMuQ3QuQnQoKSx7eDp0LHk6aX0scyl9fXFkKHQsaSxzKXsKY29uc3QgZT1zLlBuKCksaD1lLkx0KCksbj1lLk50KHQsZihoKSkscj10aGlzLmlhLnZjKGksITApLG89dGhpcy5pYS5qdChmKHIpKTt0aGlzLmpkKG8sbixudWxsLHMsITApfVlkKHQpe3RoaXMuUmQoKS56bigpLHRoaXMucWEoKSx0fHx0aGlzLnBkLnAobnVsbCxudWxsLG51bGwpfVJhKCl7Y29uc3QgdD10aGlzLkN0LktuKCk7aWYobnVsbCE9PXQpe2NvbnN0IGk9dGhpcy5DdC5CbigpLHM9dGhpcy5DdC5FbigpO3RoaXMuamQoaSxzLG51bGwsdCl9dGhpcy5DdC5ObigpfUtkKHQsaSxzKXtjb25zdCBlPXRoaXMuaWEuUm4oMCk7dm9pZCAwIT09aSYmdm9pZCAwIT09cyYmdGhpcy5pYS5rdChpLHMpO2NvbnN0IGg9dGhpcy5pYS5SbigwKSxuPXRoaXMuaWEuUGMoKSxyPXRoaXMuaWEuRWUoKTtpZihudWxsIT09ciYmbnVsbCE9PWUmJm51bGwhPT1oKXtjb25zdCBpPXIuemUobiksbz10aGlzLnh1LmtleShlKT50aGlzLnh1LmtleShoKSxsPW51bGwhPT10JiZ0Pm4mJiFvLGE9dGhpcy5pYS5OKCkuYWxsb3dTaGlmdFZpc2libGVSYW5nZU9uV2hpdGVzcGFjZVJlcGxhY2VtZW50LHU9aSYmKCEodm9pZCAwPT09cyl8fGEpJiZ0aGlzLmlhLk4oKS5zaGlmdFZpc2libGVSYW5nZU9uTmV3QmFyO2lmKGwmJiF1KXtjb25zdCBpPXQtbjt0aGlzLmlhLmdzKHRoaXMuaWEuQWMoKS1pKX19dGhpcy5pYS5OYyh0KX1WYSh0KXtudWxsIT09dCYmdC5odSgpfUtzKHQpe2lmKGZ1bmN0aW9uKHQpe3JldHVybiB0IGluc3RhbmNlb2YgX2l9KHQpKXJldHVybiB0O2NvbnN0IGk9dGhpcy5vZC5maW5kKChpPT5pLkR0KCkuaW5jbHVkZXModCkpKTtyZXR1cm4gdm9pZCAwPT09aT9udWxsOml9QmMoKXt0aGlzLm9kLmZvckVhY2goKHQ9PnQuaHUoKSkpLHRoaXMuUmEoKX1tKCl7dGhpcy5vZC5mb3JFYWNoKCh0PT50Lm0oKSkpLHRoaXMub2QubGVuZ3RoPTAsdGhpcy55bi5sb2NhbGl6YXRpb24ucHJpY2VGb3JtYXR0ZXI9dm9pZCAwLHRoaXMueW4ubG9jYWxpemF0aW9uLnBlcmNlbnRhZ2VGb3JtYXR0ZXI9dm9pZCAwLHRoaXMueW4ubG9jYWxpemF0aW9uLnRpbWVGb3JtYXR0ZXI9dm9pZCAwfVpkKCl7cmV0dXJuIHRoaXMud2R9SnMoKXtyZXR1cm4gdGhpcy53ZC5OKCl9TF8oKXtyZXR1cm4gdGhpcy5mZH1HZCh0LGkpe2NvbnN0IHM9dGhpcy5nZChpKTt0aGlzLlhkKHQscyksdGhpcy5fZC5wdXNoKHQpLHRoaXMua2EoKSwxPT09dGhpcy5fZC5sZW5ndGg/dGhpcy5QYSgpOnRoaXMubXIoKX1KZCh0KXtjb25zdCBpPXRoaXMuS3ModCkscz10aGlzLl9kLmluZGV4T2YodCk7dSgtMSE9PXMsIlNlcmllcyBub3QgZm91bmQiKTtjb25zdCBlPWYoaSk7dGhpcy5fZC5zcGxpY2UocywxKSxlLnJfKHQpLHQubSYmdC5tKCksdGhpcy5rYSgpLHRoaXMuaWEuX2MoKSx0aGlzLlFkKGUpfXlhKHQsaSl7Y29uc3Qgcz1mKHRoaXMuS3ModCkpO3Mucl8odCwhMCkscy5zXyh0LGksITApfVhjKCl7Y29uc3QgdD1YLkNzKCk7dC51cygpLHRoaXMuQ2QodCl9dGYodCl7Y29uc3QgaT1YLkNzKCk7aS5mcyh0KSx0aGlzLkNkKGkpfXdzKCl7Y29uc3QgdD1YLkNzKCk7dC53cygpLHRoaXMuQ2QodCl9TXModCl7Y29uc3QgaT1YLkNzKCk7aS5Ncyh0KSx0aGlzLkNkKGkpfWdzKHQpe2NvbnN0IGk9WC5DcygpO2kuZ3ModCksdGhpcy5DZChpKX1wcyh0KXtjb25zdCBpPVguQ3MoKTtpLnBzKHQpLHRoaXMuQ2QoaSl9Y3MoKXtjb25zdCB0PVguQ3MoKTt0LmNzKCksdGhpcy5DZCh0KX1pZigpe2NvbnN0IHQ9dGhpcy55bi5kZWZhdWx0VmlzaWJsZVByaWNlU2NhbGVJZCxpPXRoaXMueW4ubGVmdFByaWNlU2NhbGUudmlzaWJsZTtyZXR1cm4gaSE9PXRoaXMueW4ucmlnaHRQcmljZVNjYWxlLnZpc2libGU/aT8ibGVmdCI6InJpZ2h0Ijp0fW5mKHQsaSl7aWYodShpPj0wLCJJbmRleCBzaG91bGQgYmUgZ3JlYXRlciBvciBlcXVhbCB0byAwIiksaT09PXRoaXMuc2YodCkpcmV0dXJuO2NvbnN0IHM9Zih0aGlzLktzKHQpKTtzLnJfKHQpO2NvbnN0IGU9dGhpcy5nZChpKTt0aGlzLlhkKHQsZSk7bGV0IGg9ITE7MD09PXMuQ2woKS5sZW5ndGgmJihoPXRoaXMuUWQocykpLGh8fHRoaXMuUGEoKX1lZigpe3JldHVybiB0aGlzLnhkfSQoKXtyZXR1cm4gdGhpcy5iZH1VdCh0KXtjb25zdCBpPXRoaXMueGQscz10aGlzLmJkO2lmKGk9PT1zKXJldHVybiBpO2lmKHQ9TWF0aC5tYXgoMCxNYXRoLm1pbigxMDAsTWF0aC5yb3VuZCgxMDAqdCkpKSxudWxsPT09dGhpcy52ZHx8dGhpcy52ZC5haCE9PXN8fHRoaXMudmQub2ghPT1pKXRoaXMudmQ9e2FoOnMsb2g6aSxyZjpuZXcgTWFwfTtlbHNle2NvbnN0IGk9dGhpcy52ZC5yZi5nZXQodCk7aWYodm9pZCAwIT09aSlyZXR1cm4gaX1jb25zdCBlPXRoaXMuVG8udHQocyxpLHQvMTAwKTtyZXR1cm4gdGhpcy52ZC5yZi5zZXQodCxlKSxlfWhmKHQpe3JldHVybiB0aGlzLm9kLmluZGV4T2YodCl9WGkoKXtyZXR1cm4gdGhpcy5Ub31hZigpe3JldHVybiB0aGlzLmxmKCl9bGYodCl7Y29uc3QgaT1uZXcgX2kodGhpcy5pYSx0aGlzKTt0aGlzLm9kLnB1c2goaSk7Y29uc3Qgcz10Pz90aGlzLm9kLmxlbmd0aC0xLGU9WC55cygpO3JldHVybiBlLmVzKHMse3JzOjAsaHM6ITB9KSx0aGlzLkNkKGUpLGl9Z2QodCl7cmV0dXJuIHUodD49MCwiSW5kZXggc2hvdWxkIGJlIGdyZWF0ZXIgb3IgZXF1YWwgdG8gMCIpLCh0PU1hdGgubWluKHRoaXMub2QubGVuZ3RoLHQpKTx0aGlzLm9kLmxlbmd0aD90aGlzLm9kW3RdOnRoaXMubGYodCl9c2YodCl7cmV0dXJuIHRoaXMub2QuZmluZEluZGV4KChpPT5pLlVfKCkuaW5jbHVkZXModCkpKX1MZCh0LGkpe2NvbnN0IHM9bmV3IFgoaSk7aWYobnVsbCE9PXQpe2NvbnN0IGU9dGhpcy5vZC5pbmRleE9mKHQpO3MuZXMoZSx7cnM6aX0pfXJldHVybiBzfXlkKHQsaSl7cmV0dXJuIHZvaWQgMD09PWkmJihpPTIpLHRoaXMuTGQodGhpcy5Lcyh0KSxpKX1DZCh0KXt0aGlzLm1kJiZ0aGlzLm1kKHQpLHRoaXMub2QuZm9yRWFjaCgodD0+dC5wdSgpLndyKCkua3QoKSkpfVhkKHQsaSl7Y29uc3Qgcz10Lk4oKS5wcmljZVNjYWxlSWQsZT12b2lkIDAhPT1zP3M6dGhpcy5pZigpO2kuc18odCxlKSxqKGUpfHx0LnZyKHQuTigpKX0KU2QodCl7Y29uc3QgaT10aGlzLnluLmxheW91dDtyZXR1cm4iZ3JhZGllbnQiPT09aS5iYWNrZ3JvdW5kLnR5cGU/MD09PXQ/aS5iYWNrZ3JvdW5kLnRvcENvbG9yOmkuYmFja2dyb3VuZC5ib3R0b21Db2xvcjppLmJhY2tncm91bmQuY29sb3J9UWQodCl7cmV0dXJuIXQuSF8oKSYmMD09PXQuQ2woKS5sZW5ndGgmJnRoaXMub2QubGVuZ3RoPjEmJih0aGlzLm9kLnNwbGljZSh0aGlzLmhmKHQpLDEpLHRoaXMuUGEoKSwhMCl9fWZ1bmN0aW9uIEFpKHQpe2lmKHQ+PTEpcmV0dXJuIDA7bGV0IGk9MDtmb3IoO2k8ODtpKyspe2NvbnN0IHM9TWF0aC5yb3VuZCh0KTtpZihNYXRoLmFicyhzLXQpPDFlLTgpcmV0dXJuIGk7dCo9MTB9cmV0dXJuIGl9ZnVuY3Rpb24gWmkodCl7cmV0dXJuIWcodCkmJiFiKHQpfWZ1bmN0aW9uIEhpKHQpe3JldHVybiBnKHQpfSFmdW5jdGlvbih0KXt0W3QuRGlzYWJsZWQ9MF09IkRpc2FibGVkIix0W3QuQ29udGludW91cz0xXT0iQ29udGludW91cyIsdFt0Lk9uRGF0YVVwZGF0ZT0yXT0iT25EYXRhVXBkYXRlIn0oT2l8fChPaT17fSkpLGZ1bmN0aW9uKHQpe3RbdC5MYXN0QmFyPTBdPSJMYXN0QmFyIix0W3QuTGFzdFZpc2libGU9MV09Ikxhc3RWaXNpYmxlIn0oS2l8fChLaT17fSkpLGZ1bmN0aW9uKHQpe3QuU29saWQ9InNvbGlkIix0LlZlcnRpY2FsR3JhZGllbnQ9ImdyYWRpZW50In0oVml8fChWaT17fSkpLGZ1bmN0aW9uKHQpe3RbdC5ZZWFyPTBdPSJZZWFyIix0W3QuTW9udGg9MV09Ik1vbnRoIix0W3QuRGF5T2ZNb250aD0yXT0iRGF5T2ZNb250aCIsdFt0LlRpbWU9M109IlRpbWUiLHRbdC5UaW1lV2l0aFNlY29uZHM9NF09IlRpbWVXaXRoU2Vjb25kcyJ9KCRpfHwoJGk9e30pKTtjb25zdCBHaT10PT50LmdldFVUQ0Z1bGxZZWFyKCk7Y2xhc3MgVWl7Y29uc3RydWN0b3IodD0ieXl5eS1NTS1kZCIsaT0iZGVmYXVsdCIpe3RoaXMuX2Y9dCx0aGlzLnVmPWl9Q3UodCl7cmV0dXJuIGZ1bmN0aW9uKHQsaSxzKXtyZXR1cm4gaS5yZXBsYWNlKC95eXl5L2csKHQ9PnR0KEdpKHQpLDQpKSh0KSkucmVwbGFjZSgveXkvZywodD0+dHQoR2kodCklMTAwLDIpKSh0KSkucmVwbGFjZSgvTU1NTS9nLCgodCxpKT0+bmV3IERhdGUodC5nZXRVVENGdWxsWWVhcigpLHQuZ2V0VVRDTW9udGgoKSwxKS50b0xvY2FsZVN0cmluZyhpLHttb250aDoibG9uZyJ9KSkodCxzKSkucmVwbGFjZSgvTU1NL2csKCh0LGkpPT5uZXcgRGF0ZSh0LmdldFVUQ0Z1bGxZZWFyKCksdC5nZXRVVENNb250aCgpLDEpLnRvTG9jYWxlU3RyaW5nKGkse21vbnRoOiJzaG9ydCJ9KSkodCxzKSkucmVwbGFjZSgvTU0vZywodD0+dHQoKHQ9PnQuZ2V0VVRDTW9udGgoKSsxKSh0KSwyKSkodCkpLnJlcGxhY2UoL2RkL2csKHQ9PnR0KCh0PT50LmdldFVUQ0RhdGUoKSkodCksMikpKHQpKX0odCx0aGlzLl9mLHRoaXMudWYpfX1jbGFzcyBZaXtjb25zdHJ1Y3Rvcih0KXt0aGlzLmNmPXR8fCIlaDolbTolcyJ9Q3UodCl7cmV0dXJuIHRoaXMuY2YucmVwbGFjZSgiJWgiLHR0KHQuZ2V0VVRDSG91cnMoKSwyKSkucmVwbGFjZSgiJW0iLHR0KHQuZ2V0VVRDTWludXRlcygpLDIpKS5yZXBsYWNlKCIlcyIsdHQodC5nZXRVVENTZWNvbmRzKCksMikpfX1jb25zdCBqaT17ZGY6Inl5eXktTU0tZGQiLGZmOiIlaDolbTolcyIscGY6IiAiLHZmOiJkZWZhdWx0In07Y2xhc3MgWGl7Y29uc3RydWN0b3IodD17fSl7Y29uc3QgaT17Li4uamksLi4udH07dGhpcy5tZj1uZXcgVWkoaS5kZixpLnZmKSx0aGlzLndmPW5ldyBZaShpLmZmKSx0aGlzLk1mPWkucGZ9Q3UodCl7cmV0dXJuYCR7dGhpcy5tZi5DdSh0KX0ke3RoaXMuTWZ9JHt0aGlzLndmLkN1KHQpfWB9fWZ1bmN0aW9uIEppKHQpe3JldHVybiA2MCp0KjYwKjFlM31mdW5jdGlvbiB0cyh0KXtyZXR1cm4gNjAqdCoxZTN9Y29uc3QgaXM9W3tnZjoxZTMsYmY6MTB9LHtnZjp0cygxKSxiZjoyMH0se2dmOnRzKDUpLGJmOjIxfSx7Z2Y6dHMoMzApLGJmOjIyfSx7Z2Y6SmkoMSksYmY6MzB9LHtnZjpKaSgzKSxiZjozMX0se2dmOkppKDYpLGJmOjMyfSx7Z2Y6SmkoMTIpLGJmOjMzfV07ZnVuY3Rpb24gc3ModCxpKXtpZih0LmdldFVUQ0Z1bGxZZWFyKCkhPT1pLmdldFVUQ0Z1bGxZZWFyKCkpcmV0dXJuIDcwO2lmKHQuZ2V0VVRDTW9udGgoKSE9PWkuZ2V0VVRDTW9udGgoKSlyZXR1cm4gNjA7aWYodC5nZXRVVENEYXRlKCkhPT1pLmdldFVUQ0RhdGUoKSlyZXR1cm4gNTA7Zm9yKGxldCBzPWlzLmxlbmd0aC0xO3M+PTA7LS1zKWlmKE1hdGguZmxvb3IoaS5nZXRUaW1lKCkvaXNbc10uZ2YpIT09TWF0aC5mbG9vcih0LmdldFRpbWUoKS9pc1tzXS5nZikpcmV0dXJuIGlzW3NdLmJmO3JldHVybiAwfWZ1bmN0aW9uIGVzKHQpe2xldCBpPXQ7aWYoYih0KSYmKGk9bnModCkpLCFaaShpKSl0aHJvdyBuZXcgRXJyb3IoInRpbWUgbXVzdCBiZSBvZiB0eXBlIEJ1c2luZXNzRGF5Iik7Y29uc3Qgcz1uZXcgRGF0ZShEYXRlLlVUQyhpLnllYXIsaS5tb250aC0xLGkuZGF5LDAsMCwwLDApKTtyZXR1cm57U2Y6TWF0aC5yb3VuZChzLmdldFRpbWUoKS8xZTMpLHhmOml9fWZ1bmN0aW9uIGhzKHQpe2lmKCFIaSh0KSl0aHJvdyBuZXcgRXJyb3IoInRpbWUgbXVzdCBiZSBvZiB0eXBlIGlzVVRDVGltZXN0YW1wIik7cmV0dXJue1NmOnR9fWZ1bmN0aW9uIG5zKHQpe2NvbnN0IGk9bmV3IERhdGUodCk7aWYoaXNOYU4oaS5nZXRUaW1lKCkpKXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkYXRlIHN0cmluZz0ke3R9LCBleHBlY3RlZCBmb3JtYXQ9eXl5eS1tbS1kZGApO3JldHVybntkYXk6aS5nZXRVVENEYXRlKCksbW9udGg6aS5nZXRVVENNb250aCgpKzEseWVhcjppLmdldFVUQ0Z1bGxZZWFyKCl9fWZ1bmN0aW9uIHJzKHQpe2IodC50aW1lKSYmKHQudGltZT1ucyh0LnRpbWUpKX1jbGFzcyBvc3tvcHRpb25zKCl7cmV0dXJuIHRoaXMueW59c2V0T3B0aW9ucyh0KXt0aGlzLnluPXQsdGhpcy51cGRhdGVGb3JtYXR0ZXIodC5sb2NhbGl6YXRpb24pfXByZXByb2Nlc3NEYXRhKHQpe0FycmF5LmlzQXJyYXkodCk/ZnVuY3Rpb24odCl7dC5mb3JFYWNoKHJzKX0odCk6cnModCl9CmNyZWF0ZUNvbnZlcnRlclRvSW50ZXJuYWxPYmoodCl7cmV0dXJuIGYoZnVuY3Rpb24odCl7cmV0dXJuIDA9PT10Lmxlbmd0aD9udWxsOlppKHRbMF0udGltZSl8fGIodFswXS50aW1lKT9lczpoc30odCkpfWtleSh0KXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIHQmJiJTZiJpbiB0P3QuU2Y6dGhpcy5rZXkodGhpcy5jb252ZXJ0SG9yekl0ZW1Ub0ludGVybmFsKHQpKX1jYWNoZUtleSh0KXtjb25zdCBpPXQ7cmV0dXJuIHZvaWQgMD09PWkueGY/bmV3IERhdGUoMWUzKmkuU2YpLmdldFRpbWUoKTpuZXcgRGF0ZShEYXRlLlVUQyhpLnhmLnllYXIsaS54Zi5tb250aC0xLGkueGYuZGF5KSkuZ2V0VGltZSgpfWNvbnZlcnRIb3J6SXRlbVRvSW50ZXJuYWwodCl7cmV0dXJuIEhpKGk9dCk/aHMoaSk6WmkoaSk/ZXMoaSk6ZXMobnMoaSkpO3ZhciBpfXVwZGF0ZUZvcm1hdHRlcih0KXtpZighdGhpcy55bilyZXR1cm47Y29uc3QgaT10LmRhdGVGb3JtYXQ7dGhpcy55bi50aW1lU2NhbGUudGltZVZpc2libGU/dGhpcy5DZj1uZXcgWGkoe2RmOmksZmY6dGhpcy55bi50aW1lU2NhbGUuc2Vjb25kc1Zpc2libGU/IiVoOiVtOiVzIjoiJWg6JW0iLHBmOiIgICAiLHZmOnQubG9jYWxlfSk6dGhpcy5DZj1uZXcgVWkoaSx0LmxvY2FsZSl9Zm9ybWF0SG9yekl0ZW0odCl7Y29uc3QgaT10O3JldHVybiB0aGlzLkNmLkN1KG5ldyBEYXRlKDFlMyppLlNmKSl9Zm9ybWF0VGlja21hcmsodCxpKXtjb25zdCBzPWZ1bmN0aW9uKHQsaSxzKXtzd2l0Y2godCl7Y2FzZSAwOmNhc2UgMTA6cmV0dXJuIGk/cz80OjM6MjtjYXNlIDIwOmNhc2UgMjE6Y2FzZSAyMjpjYXNlIDMwOmNhc2UgMzE6Y2FzZSAzMjpjYXNlIDMzOnJldHVybiBpPzM6MjtjYXNlIDUwOnJldHVybiAyO2Nhc2UgNjA6cmV0dXJuIDE7Y2FzZSA3MDpyZXR1cm4gMH19KHQud2VpZ2h0LHRoaXMueW4udGltZVNjYWxlLnRpbWVWaXNpYmxlLHRoaXMueW4udGltZVNjYWxlLnNlY29uZHNWaXNpYmxlKSxlPXRoaXMueW4udGltZVNjYWxlO2lmKHZvaWQgMCE9PWUudGlja01hcmtGb3JtYXR0ZXIpe2NvbnN0IGg9ZS50aWNrTWFya0Zvcm1hdHRlcih0Lm9yaWdpbmFsVGltZSxzLGkubG9jYWxlKTtpZihudWxsIT09aClyZXR1cm4gaH1yZXR1cm4gZnVuY3Rpb24odCxpLHMpe2NvbnN0IGU9e307c3dpdGNoKGkpe2Nhc2UgMDplLnllYXI9Im51bWVyaWMiO2JyZWFrO2Nhc2UgMTplLm1vbnRoPSJzaG9ydCI7YnJlYWs7Y2FzZSAyOmUuZGF5PSJudW1lcmljIjticmVhaztjYXNlIDM6ZS5ob3VyMTI9ITEsZS5ob3VyPSIyLWRpZ2l0IixlLm1pbnV0ZT0iMi1kaWdpdCI7YnJlYWs7Y2FzZSA0OmUuaG91cjEyPSExLGUuaG91cj0iMi1kaWdpdCIsZS5taW51dGU9IjItZGlnaXQiLGUuc2Vjb25kPSIyLWRpZ2l0In1jb25zdCBoPXZvaWQgMD09PXQueGY/bmV3IERhdGUoMWUzKnQuU2YpOm5ldyBEYXRlKERhdGUuVVRDKHQueGYueWVhcix0LnhmLm1vbnRoLTEsdC54Zi5kYXkpKTtyZXR1cm4gbmV3IERhdGUoaC5nZXRVVENGdWxsWWVhcigpLGguZ2V0VVRDTW9udGgoKSxoLmdldFVUQ0RhdGUoKSxoLmdldFVUQ0hvdXJzKCksaC5nZXRVVENNaW51dGVzKCksaC5nZXRVVENTZWNvbmRzKCksaC5nZXRVVENNaWxsaXNlY29uZHMoKSkudG9Mb2NhbGVTdHJpbmcocyxlKX0odC50aW1lLHMsaS5sb2NhbGUpfW1heFRpY2tNYXJrV2VpZ2h0KHQpe2xldCBpPXQucmVkdWNlKFdpLHRbMF0pLndlaWdodDtyZXR1cm4gaT4zMCYmaTw1MCYmKGk9MzApLGl9ZmlsbFdlaWdodHNGb3JQb2ludHModCxpKXshZnVuY3Rpb24odCxpPTApe2lmKDA9PT10Lmxlbmd0aClyZXR1cm47bGV0IHM9MD09PWk/bnVsbDp0W2ktMV0udGltZS5TZixlPW51bGwhPT1zP25ldyBEYXRlKDFlMypzKTpudWxsLGg9MDtmb3IobGV0IG49aTtuPHQubGVuZ3RoOysrbil7Y29uc3QgaT10W25dLHI9bmV3IERhdGUoMWUzKmkudGltZS5TZik7bnVsbCE9PWUmJihpLnRpbWVXZWlnaHQ9c3MocixlKSksaCs9aS50aW1lLlNmLShzfHxpLnRpbWUuU2YpLHM9aS50aW1lLlNmLGU9cn1pZigwPT09aSYmdC5sZW5ndGg+MSl7Y29uc3QgaT1NYXRoLmNlaWwoaC8odC5sZW5ndGgtMSkpLHM9bmV3IERhdGUoMWUzKih0WzBdLnRpbWUuU2YtaSkpO3RbMF0udGltZVdlaWdodD1zcyhuZXcgRGF0ZSgxZTMqdFswXS50aW1lLlNmKSxzKX19KHQsaSl9c3RhdGljIHlmKHQpe3JldHVybiBwKHtsb2NhbGl6YXRpb246e2RhdGVGb3JtYXQ6ImRkIE1NTSAneXkifX0sdD8/e30pfX1jb25zdCBscz0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdztmdW5jdGlvbiBhcygpe3JldHVybiEhbHMmJndpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkuaW5kZXhPZigiZmlyZWZveCIpPi0xfWZ1bmN0aW9uIHVzKCl7cmV0dXJuISFscyYmL2lQaG9uZXxpUGFkfGlQb2QvLnRlc3Qod2luZG93Lm5hdmlnYXRvci5wbGF0Zm9ybSl9ZnVuY3Rpb24gY3ModCxpKXtzd2l0Y2godCl7Y2FzZSJjdXN0b20iOnJldHVybiB2b2lkIDAhPT1pPyJjdXN0b20tb2JqZWN0Ijoic2VyaWVzIjtjYXNlInByaWNlLWxpbmUiOnJldHVybiJjdXN0b20tcHJpY2UtbGluZSI7Y2FzZSJtYXJrZXIiOnJldHVybiJzZXJpZXMtbWFya2VyIjtjYXNlInByaW1pdGl2ZSI6cmV0dXJuInByaW1pdGl2ZSI7ZGVmYXVsdDpyZXR1cm4ic2VyaWVzIn19ZnVuY3Rpb24gZnModCl7cmV0dXJuIHQrdCUyfWNsYXNzIGRze2NvbnN0cnVjdG9yKHQsaSxzKXt0aGlzLmtmPTAsdGhpcy5QZj1udWxsLHRoaXMuVGY9e190Ok51bWJlci5ORUdBVElWRV9JTkZJTklUWSx1dDpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFl9LHRoaXMuUmY9MCx0aGlzLkRmPW51bGwsdGhpcy5JZj17X3Q6TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLHV0Ok51bWJlci5QT1NJVElWRV9JTkZJTklUWX0sdGhpcy5WZj1udWxsLHRoaXMuQmY9ITEsdGhpcy5FZj1udWxsLHRoaXMuQWY9bnVsbCx0aGlzLkxmPSExLHRoaXMuemY9ITEsdGhpcy5PZj0hMSx0aGlzLk5mPW51bGwsdGhpcy5GZj1udWxsLHRoaXMuV2Y9bnVsbCx0aGlzLkhmPW51bGwsdGhpcy5VZj1udWxsLHRoaXMuJGY9bnVsbCx0aGlzLmpmPW51bGwsdGhpcy5xZj0wLAp0aGlzLllmPSExLHRoaXMuS2Y9ITEsdGhpcy5aZj0hMSx0aGlzLkdmPTAsdGhpcy5YZj1udWxsLHRoaXMuSmY9IXVzKCksdGhpcy5RZj10PT57dGhpcy50cCh0KX0sdGhpcy5pcD10PT57aWYodGhpcy5ucCh0KSl7Y29uc3QgaT10aGlzLnNwKHQpO2lmKCsrdGhpcy5SZix0aGlzLkRmJiZ0aGlzLlJmPjEpe2NvbnN0e2VwOnN9PXRoaXMucnAoZ3ModCksdGhpcy5JZik7czwzMCYmIXRoaXMuT2YmJnRoaXMuaHAoaSx0aGlzLmxwLmFwKSx0aGlzLm9wKCl9fWVsc2V7Y29uc3QgaT10aGlzLnNwKHQpO2lmKCsrdGhpcy5rZix0aGlzLlBmJiZ0aGlzLmtmPjEpe2NvbnN0e2VwOnN9PXRoaXMucnAoZ3ModCksdGhpcy5UZik7czw1JiYhdGhpcy56ZiYmdGhpcy5fcChpLHRoaXMubHAudXApLHRoaXMuY3AoKX19fSx0aGlzLmRwPXQsdGhpcy5scD1pLHRoaXMueW49cyx0aGlzLmZwKCl9bSgpe251bGwhPT10aGlzLk5mJiYodGhpcy5OZigpLHRoaXMuTmY9bnVsbCksbnVsbCE9PXRoaXMuRmYmJih0aGlzLkZmKCksdGhpcy5GZj1udWxsKSxudWxsIT09dGhpcy5IZiYmKHRoaXMuSGYoKSx0aGlzLkhmPW51bGwpLG51bGwhPT10aGlzLlVmJiYodGhpcy5VZigpLHRoaXMuVWY9bnVsbCksbnVsbCE9PXRoaXMuJGYmJih0aGlzLiRmKCksdGhpcy4kZj1udWxsKSxudWxsIT09dGhpcy5XZiYmKHRoaXMuV2YoKSx0aGlzLldmPW51bGwpLHRoaXMucHAoKSx0aGlzLmNwKCl9dnAodCl7dGhpcy5IZiYmdGhpcy5IZigpO2NvbnN0IGk9dGhpcy5tcC5iaW5kKHRoaXMpO2lmKHRoaXMuSGY9KCk9Pnt0aGlzLmRwLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsaSl9LHRoaXMuZHAuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixpKSx0aGlzLm5wKHQpKXJldHVybjtjb25zdCBzPXRoaXMuc3AodCk7dGhpcy5fcChzLHRoaXMubHAud3ApLHRoaXMuSmY9ITB9Y3AoKXtudWxsIT09dGhpcy5QZiYmY2xlYXJUaW1lb3V0KHRoaXMuUGYpLHRoaXMua2Y9MCx0aGlzLlBmPW51bGwsdGhpcy5UZj17X3Q6TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLHV0Ok51bWJlci5QT1NJVElWRV9JTkZJTklUWX19b3AoKXtudWxsIT09dGhpcy5EZiYmY2xlYXJUaW1lb3V0KHRoaXMuRGYpLHRoaXMuUmY9MCx0aGlzLkRmPW51bGwsdGhpcy5JZj17X3Q6TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLHV0Ok51bWJlci5QT1NJVElWRV9JTkZJTklUWX19bXAodCl7aWYodGhpcy5aZnx8bnVsbCE9PXRoaXMuQWYpcmV0dXJuO2lmKHRoaXMubnAodCkpcmV0dXJuO2NvbnN0IGk9dGhpcy5zcCh0KTt0aGlzLl9wKGksdGhpcy5scC5NcCksdGhpcy5KZj0hMH1ncCh0KXtjb25zdCBpPWJzKHQuY2hhbmdlZFRvdWNoZXMsZih0aGlzLlhmKSk7aWYobnVsbD09PWkpcmV0dXJuO2lmKHRoaXMuR2Y9dnModCksbnVsbCE9PXRoaXMuamYpcmV0dXJuO2lmKHRoaXMuS2YpcmV0dXJuO3RoaXMuWWY9ITA7Y29uc3Qgcz10aGlzLnJwKGdzKGkpLGYodGhpcy5BZikpLHticDplLFNwOmgsZXA6bn09cztpZih0aGlzLkxmfHwhKG48NSkpe2lmKCF0aGlzLkxmKXtjb25zdCB0PS41KmUsaT1oPj10JiYhdGhpcy55bi54cCgpLHM9dD5oJiYhdGhpcy55bi5DcCgpO2l8fHN8fCh0aGlzLktmPSEwKSx0aGlzLkxmPSEwLHRoaXMuT2Y9ITAsdGhpcy5wcCgpLHRoaXMub3AoKX1pZighdGhpcy5LZil7Y29uc3Qgcz10aGlzLnNwKHQsaSk7dGhpcy5ocChzLHRoaXMubHAueXApLHBzKHQpfX19a3AodCl7aWYoMCE9PXQuYnV0dG9uKXJldHVybjtjb25zdCBpPXRoaXMucnAoZ3ModCksZih0aGlzLkVmKSkse2VwOnN9PWk7aWYocz49NSYmKHRoaXMuemY9ITAsdGhpcy5jcCgpKSx0aGlzLnpmKXtjb25zdCBpPXRoaXMuc3AodCk7dGhpcy5fcChpLHRoaXMubHAuUHApfX1ycCh0LGkpe2NvbnN0IHM9TWF0aC5hYnMoaS5fdC10Ll90KSxlPU1hdGguYWJzKGkudXQtdC51dCk7cmV0dXJue2JwOnMsU3A6ZSxlcDpzK2V9fVRwKHQpe2xldCBpPWJzKHQuY2hhbmdlZFRvdWNoZXMsZih0aGlzLlhmKSk7aWYobnVsbD09PWkmJjA9PT10LnRvdWNoZXMubGVuZ3RoJiYoaT10LmNoYW5nZWRUb3VjaGVzWzBdKSxudWxsPT09aSlyZXR1cm47dGhpcy5YZj1udWxsLHRoaXMuR2Y9dnModCksdGhpcy5wcCgpLHRoaXMuQWY9bnVsbCx0aGlzLiRmJiYodGhpcy4kZigpLHRoaXMuJGY9bnVsbCk7Y29uc3Qgcz10aGlzLnNwKHQsaSk7aWYodGhpcy5ocChzLHRoaXMubHAuUnApLCsrdGhpcy5SZix0aGlzLkRmJiZ0aGlzLlJmPjEpe2NvbnN0e2VwOnR9PXRoaXMucnAoZ3MoaSksdGhpcy5JZik7dDwzMCYmIXRoaXMuT2YmJnRoaXMuaHAocyx0aGlzLmxwLmFwKSx0aGlzLm9wKCl9ZWxzZSB0aGlzLk9mfHwodGhpcy5ocChzLHRoaXMubHAuRHApLHRoaXMubHAuRHAmJnBzKHQpKTswPT09dGhpcy5SZiYmcHModCksMD09PXQudG91Y2hlcy5sZW5ndGgmJnRoaXMuQmYmJih0aGlzLkJmPSExLHBzKHQpKX10cCh0KXtpZigwIT09dC5idXR0b24pcmV0dXJuO2NvbnN0IGk9dGhpcy5zcCh0KTtpZih0aGlzLkVmPW51bGwsdGhpcy5aZj0hMSx0aGlzLlVmJiYodGhpcy5VZigpLHRoaXMuVWY9bnVsbCksYXMoKSYmdGhpcy5kcC5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIix0aGlzLlFmKSwhdGhpcy5ucCh0KSlpZih0aGlzLl9wKGksdGhpcy5scC5JcCksKyt0aGlzLmtmLHRoaXMuUGYmJnRoaXMua2Y+MSl7Y29uc3R7ZXA6c309dGhpcy5ycChncyh0KSx0aGlzLlRmKTtzPDUmJiF0aGlzLnpmJiZ0aGlzLl9wKGksdGhpcy5scC51cCksdGhpcy5jcCgpfWVsc2UgdGhpcy56Znx8dGhpcy5fcChpLHRoaXMubHAuVnApfXBwKCl7bnVsbCE9PXRoaXMuVmYmJihjbGVhclRpbWVvdXQodGhpcy5WZiksdGhpcy5WZj1udWxsKX1CcCh0KXtpZihudWxsIT09dGhpcy5YZilyZXR1cm47Y29uc3QgaT10LmNoYW5nZWRUb3VjaGVzWzBdO3RoaXMuWGY9aS5pZGVudGlmaWVyLHRoaXMuR2Y9dnModCk7Y29uc3Qgcz10aGlzLmRwLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O3RoaXMuT2Y9ITEsdGhpcy5MZj0hMSx0aGlzLktmPSExLHRoaXMuQWY9Z3MoaSksCnRoaXMuJGYmJih0aGlzLiRmKCksdGhpcy4kZj1udWxsKTt7Y29uc3QgaT10aGlzLmdwLmJpbmQodGhpcyksZT10aGlzLlRwLmJpbmQodGhpcyk7dGhpcy4kZj0oKT0+e3MucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixpKSxzLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixlKX0scy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGkse3Bhc3NpdmU6ITF9KSxzLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixlLHtwYXNzaXZlOiExfSksdGhpcy5wcCgpLHRoaXMuVmY9c2V0VGltZW91dCh0aGlzLkVwLmJpbmQodGhpcyx0KSwyNDApfWNvbnN0IGU9dGhpcy5zcCh0LGkpO3RoaXMuaHAoZSx0aGlzLmxwLkFwKSx0aGlzLkRmfHwodGhpcy5SZj0wLHRoaXMuRGY9c2V0VGltZW91dCh0aGlzLm9wLmJpbmQodGhpcyksNTAwKSx0aGlzLklmPWdzKGkpKX1McCh0KXtpZigwIT09dC5idXR0b24pcmV0dXJuO2NvbnN0IGk9dGhpcy5kcC5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudDthcygpJiZpLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuUWYpLHRoaXMuemY9ITEsdGhpcy5FZj1ncyh0KSx0aGlzLlVmJiYodGhpcy5VZigpLHRoaXMuVWY9bnVsbCk7e2NvbnN0IHQ9dGhpcy5rcC5iaW5kKHRoaXMpLHM9dGhpcy50cC5iaW5kKHRoaXMpO3RoaXMuVWY9KCk9PntpLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdCksaS5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIixzKX0saS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHQpLGkuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIscyl9aWYodGhpcy5aZj0hMCx0aGlzLm5wKHQpKXJldHVybjtjb25zdCBzPXRoaXMuc3AodCk7dGhpcy5fcChzLHRoaXMubHAuenApLHRoaXMuUGZ8fCh0aGlzLmtmPTAsdGhpcy5QZj1zZXRUaW1lb3V0KHRoaXMuY3AuYmluZCh0aGlzKSw1MDApLHRoaXMuVGY9Z3ModCkpfWZwKCl7dGhpcy5kcC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIix0aGlzLnZwLmJpbmQodGhpcykpLHRoaXMuZHAuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hjYW5jZWwiLHRoaXMucHAuYmluZCh0aGlzKSk7e2NvbnN0IHQ9dGhpcy5kcC5vd25lckRvY3VtZW50LGk9dD0+e3RoaXMubHAuT3AmJih0LmNvbXBvc2VkJiZ0aGlzLmRwLmNvbnRhaW5zKHQuY29tcG9zZWRQYXRoKClbMF0pfHx0LnRhcmdldCYmdGhpcy5kcC5jb250YWlucyh0LnRhcmdldCl8fHRoaXMubHAuT3AoKSl9O3RoaXMuRmY9KCk9Pnt0LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGkpfSx0aGlzLk5mPSgpPT57dC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLGkpfSx0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsaSksdC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixpLHtwYXNzaXZlOiEwfSl9dXMoKSYmKHRoaXMuV2Y9KCk9Pnt0aGlzLmRwLnJlbW92ZUV2ZW50TGlzdGVuZXIoImRibGNsaWNrIix0aGlzLmlwKX0sdGhpcy5kcC5hZGRFdmVudExpc3RlbmVyKCJkYmxjbGljayIsdGhpcy5pcCkpLHRoaXMuZHAuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdGhpcy5OcC5iaW5kKHRoaXMpKSx0aGlzLmRwLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHRoaXMuQnAuYmluZCh0aGlzKSx7cGFzc2l2ZTohMH0pLGZ1bmN0aW9uKHQpe2xzJiZ2b2lkIDAhPT13aW5kb3cuY2hyb21lJiZ0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsKHQ9PntpZigxPT09dC5idXR0b24pcmV0dXJuIHQucHJldmVudERlZmF1bHQoKSwhMX0pKX0odGhpcy5kcCksdGhpcy5kcC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLHRoaXMuTHAuYmluZCh0aGlzKSksdGhpcy5GcCgpLHRoaXMuZHAuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIiwoKCk9Pnt9KSx7cGFzc2l2ZTohMX0pfUZwKCl7dm9pZCAwPT09dGhpcy5scC5XcCYmdm9pZCAwPT09dGhpcy5scC5IcCYmdm9pZCAwPT09dGhpcy5scC5VcHx8KHRoaXMuZHAuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsKHQ9PnRoaXMuJHAodC50b3VjaGVzKSkse3Bhc3NpdmU6ITB9KSx0aGlzLmRwLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsKHQ9PntpZigyPT09dC50b3VjaGVzLmxlbmd0aCYmbnVsbCE9PXRoaXMuamYmJnZvaWQgMCE9PXRoaXMubHAuSHApe2NvbnN0IGk9bXModC50b3VjaGVzWzBdLHQudG91Y2hlc1sxXSkvdGhpcy5xZjt0aGlzLmxwLkhwKHRoaXMuamYsaSkscHModCl9fSkse3Bhc3NpdmU6ITF9KSx0aGlzLmRwLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIiwodD0+e3RoaXMuJHAodC50b3VjaGVzKX0pKSl9JHAodCl7MT09PXQubGVuZ3RoJiYodGhpcy5ZZj0hMSksMiE9PXQubGVuZ3RofHx0aGlzLllmfHx0aGlzLkJmP3RoaXMuanAoKTp0aGlzLnFwKHQpfXFwKHQpe2NvbnN0IGk9dGhpcy5kcC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKXx8e2xlZnQ6MCx0b3A6MH07dGhpcy5qZj17X3Q6KHRbMF0uY2xpZW50WC1pLmxlZnQrKHRbMV0uY2xpZW50WC1pLmxlZnQpKS8yLHV0Oih0WzBdLmNsaWVudFktaS50b3ArKHRbMV0uY2xpZW50WS1pLnRvcCkpLzJ9LHRoaXMucWY9bXModFswXSx0WzFdKSx2b2lkIDAhPT10aGlzLmxwLldwJiZ0aGlzLmxwLldwKCksdGhpcy5wcCgpfWpwKCl7bnVsbCE9PXRoaXMuamYmJih0aGlzLmpmPW51bGwsdm9pZCAwIT09dGhpcy5scC5VcCYmdGhpcy5scC5VcCgpKX1OcCh0KXtpZih0aGlzLkhmJiZ0aGlzLkhmKCksdGhpcy5ucCh0KSlyZXR1cm47aWYoIXRoaXMuSmYpcmV0dXJuO2NvbnN0IGk9dGhpcy5zcCh0KTt0aGlzLl9wKGksdGhpcy5scC5ZcCksdGhpcy5KZj0hdXMoKX1FcCh0KXtjb25zdCBpPWJzKHQudG91Y2hlcyxmKHRoaXMuWGYpKTtpZihudWxsPT09aSlyZXR1cm47Y29uc3Qgcz10aGlzLnNwKHQsaSk7dGhpcy5ocChzLHRoaXMubHAuS3ApLHRoaXMuT2Y9ITAsdGhpcy5CZj0hMH1ucCh0KXsKcmV0dXJuIHQuc291cmNlQ2FwYWJpbGl0aWVzJiZ2b2lkIDAhPT10LnNvdXJjZUNhcGFiaWxpdGllcy5maXJlc1RvdWNoRXZlbnRzP3Quc291cmNlQ2FwYWJpbGl0aWVzLmZpcmVzVG91Y2hFdmVudHM6dnModCk8dGhpcy5HZis1MDB9aHAodCxpKXtpJiZpLmNhbGwodGhpcy5scCx0KX1fcCh0LGkpe2kmJmkuY2FsbCh0aGlzLmxwLHQpfXNwKHQsaSl7Y29uc3Qgcz1pfHx0LGU9dGhpcy5kcC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKXx8e2xlZnQ6MCx0b3A6MH07cmV0dXJue2NsaWVudFg6cy5jbGllbnRYLGNsaWVudFk6cy5jbGllbnRZLHBhZ2VYOnMucGFnZVgscGFnZVk6cy5wYWdlWSxzY3JlZW5YOnMuc2NyZWVuWCxzY3JlZW5ZOnMuc2NyZWVuWSxsb2NhbFg6cy5jbGllbnRYLWUubGVmdCxsb2NhbFk6cy5jbGllbnRZLWUudG9wLGN0cmxLZXk6dC5jdHJsS2V5LGFsdEtleTp0LmFsdEtleSxzaGlmdEtleTp0LnNoaWZ0S2V5LG1ldGFLZXk6dC5tZXRhS2V5LFpwOiF0LnR5cGUuc3RhcnRzV2l0aCgibW91c2UiKSYmImNvbnRleHRtZW51IiE9PXQudHlwZSYmImNsaWNrIiE9PXQudHlwZSxHcDp0LnR5cGUsWHA6cy50YXJnZXQsZ3U6dC52aWV3LEpwOigpPT57InRvdWNoc3RhcnQiIT09dC50eXBlJiZwcyh0KX19fX1mdW5jdGlvbiBtcyh0LGkpe2NvbnN0IHM9dC5jbGllbnRYLWkuY2xpZW50WCxlPXQuY2xpZW50WS1pLmNsaWVudFk7cmV0dXJuIE1hdGguc3FydChzKnMrZSplKX1mdW5jdGlvbiBwcyh0KXt0LmNhbmNlbGFibGUmJnQucHJldmVudERlZmF1bHQoKX1mdW5jdGlvbiBncyh0KXtyZXR1cm57X3Q6dC5wYWdlWCx1dDp0LnBhZ2VZfX1mdW5jdGlvbiB2cyh0KXtyZXR1cm4gdC50aW1lU3RhbXB8fHBlcmZvcm1hbmNlLm5vdygpfWZ1bmN0aW9uIGJzKHQsaSl7Zm9yKGxldCBzPTA7czx0Lmxlbmd0aDsrK3MpaWYodFtzXS5pZGVudGlmaWVyPT09aSlyZXR1cm4gdFtzXTtyZXR1cm4gbnVsbH1jbGFzcyB3c3tjb25zdHJ1Y3Rvcih0LGkscyl7dGhpcy5RcD1udWxsLHRoaXMudHY9bnVsbCx0aGlzLml2PSEwLHRoaXMubnY9bnVsbCx0aGlzLnN2PXQsdGhpcy5ldj10LnJ2KClbaV0sdGhpcy5odj10LnJ2KClbc10sdGhpcy5hdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ciIpLHRoaXMuYXYuc3R5bGUuaGVpZ2h0PSIxcHgiLHRoaXMubHY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKSx0aGlzLmx2LnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSIsdGhpcy5sdi5zdHlsZS5wYWRkaW5nPSIwIix0aGlzLmx2LnN0eWxlLm1hcmdpbj0iMCIsdGhpcy5sdi5zZXRBdHRyaWJ1dGUoImNvbHNwYW4iLCIzIiksdGhpcy5vdigpLHRoaXMuYXYuYXBwZW5kQ2hpbGQodGhpcy5sdiksdGhpcy5pdj10aGlzLnN2Lk4oKS5sYXlvdXQucGFuZXMuZW5hYmxlUmVzaXplLHRoaXMuaXY/dGhpcy5fdigpOih0aGlzLlFwPW51bGwsdGhpcy50dj1udWxsKX1tKCl7bnVsbCE9PXRoaXMudHYmJnRoaXMudHYubSgpfXV2KCl7cmV0dXJuIHRoaXMuYXZ9Y3YoKXtyZXR1cm4gZS5zaXplKHt3aWR0aDp0aGlzLmV2LmN2KCkud2lkdGgsaGVpZ2h0OjF9KX1kdigpe3JldHVybiBlLnNpemUoe3dpZHRoOnRoaXMuZXYuZHYoKS53aWR0aCxoZWlnaHQ6MSp3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb30pfWZ2KHQsaSxzKXtjb25zdCBlPXRoaXMuZHYoKTt0LmZpbGxTdHlsZT10aGlzLnN2Lk4oKS5sYXlvdXQucGFuZXMuc2VwYXJhdG9yQ29sb3IsdC5maWxsUmVjdChpLHMsZS53aWR0aCxlLmhlaWdodCl9a3QoKXt0aGlzLm92KCksdGhpcy5zdi5OKCkubGF5b3V0LnBhbmVzLmVuYWJsZVJlc2l6ZSE9PXRoaXMuaXYmJih0aGlzLml2PXRoaXMuc3YuTigpLmxheW91dC5wYW5lcy5lbmFibGVSZXNpemUsdGhpcy5pdj90aGlzLl92KCk6KG51bGwhPT10aGlzLlFwJiYodGhpcy5sdi5yZW1vdmVDaGlsZCh0aGlzLlFwLnB2KSx0aGlzLmx2LnJlbW92ZUNoaWxkKHRoaXMuUXAudnYpLHRoaXMuUXA9bnVsbCksbnVsbCE9PXRoaXMudHYmJih0aGlzLnR2Lm0oKSx0aGlzLnR2PW51bGwpKSl9X3YoKXtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGk9dC5zdHlsZTtpLnBvc2l0aW9uPSJmaXhlZCIsaS5kaXNwbGF5PSJub25lIixpLnpJbmRleD0iNDkiLGkudG9wPSIwIixpLmxlZnQ9IjAiLGkud2lkdGg9IjEwMCUiLGkuaGVpZ2h0PSIxMDAlIixpLmN1cnNvcj0icm93LXJlc2l6ZSIsdGhpcy5sdi5hcHBlbmRDaGlsZCh0KTtjb25zdCBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGU9cy5zdHlsZTtlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsZS56SW5kZXg9IjUwIixlLnRvcD0iLTRweCIsZS5oZWlnaHQ9IjlweCIsZS53aWR0aD0iMTAwJSIsZS5iYWNrZ3JvdW5kQ29sb3I9IiIsZS5jdXJzb3I9InJvdy1yZXNpemUiLHRoaXMubHYuYXBwZW5kQ2hpbGQocyk7Y29uc3QgaD17d3A6dGhpcy5tdi5iaW5kKHRoaXMpLFlwOnRoaXMud3YuYmluZCh0aGlzKSx6cDp0aGlzLk12LmJpbmQodGhpcyksQXA6dGhpcy5Ndi5iaW5kKHRoaXMpLFBwOnRoaXMuZ3YuYmluZCh0aGlzKSx5cDp0aGlzLmd2LmJpbmQodGhpcyksSXA6dGhpcy5idi5iaW5kKHRoaXMpLFJwOnRoaXMuYnYuYmluZCh0aGlzKX07dGhpcy50dj1uZXcgZHMocyxoLHt4cDooKT0+ITEsQ3A6KCk9PiEwfSksdGhpcy5RcD17dnY6cyxwdjp0fX1vdigpe3RoaXMubHYuc3R5bGUuYmFja2dyb3VuZD10aGlzLnN2Lk4oKS5sYXlvdXQucGFuZXMuc2VwYXJhdG9yQ29sb3J9bXYodCl7bnVsbCE9PXRoaXMuUXAmJih0aGlzLlFwLnZ2LnN0eWxlLmJhY2tncm91bmRDb2xvcj10aGlzLnN2Lk4oKS5sYXlvdXQucGFuZXMuc2VwYXJhdG9ySG92ZXJDb2xvcil9d3YodCl7bnVsbCE9PXRoaXMuUXAmJm51bGw9PT10aGlzLm52JiYodGhpcy5RcC52di5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I9IiIpfU12KHQpe2lmKG51bGw9PT10aGlzLlFwKXJldHVybjtjb25zdCBpPXRoaXMuZXYuU3YoKS56XygpK3RoaXMuaHYuU3YoKS56XygpLHM9aS8odGhpcy5ldi5jdigpLmhlaWdodCt0aGlzLmh2LmN2KCkuaGVpZ2h0KSxlPTMwKnM7aTw9MiplfHwodGhpcy5udj17eHY6dC5wYWdlWSwKQ3Y6dGhpcy5ldi5TdigpLnpfKCkseXY6aS1lLGt2OmksUHY6cyxUdjplfSx0aGlzLlFwLnB2LnN0eWxlLmRpc3BsYXk9ImJsb2NrIil9Z3YodCl7Y29uc3QgaT10aGlzLm52O2lmKG51bGw9PT1pKXJldHVybjtjb25zdCBzPSh0LnBhZ2VZLWkueHYpKmkuUHYsZT1paShpLkN2K3MsaS5UdixpLnl2KTt0aGlzLmV2LlN2KCkuT18oZSksdGhpcy5odi5TdigpLk9fKGkua3YtZSksdGhpcy5zdi5RdCgpLlBhKCl9YnYodCl7bnVsbCE9PXRoaXMubnYmJm51bGwhPT10aGlzLlFwJiYodGhpcy5udj1udWxsLHRoaXMuUXAucHYuc3R5bGUuZGlzcGxheT0ibm9uZSIpfX1mdW5jdGlvbiBNcyh0LGkpe3JldHVybiB0LlJ2LWkuUnZ9ZnVuY3Rpb24geXModCxpLHMpe2NvbnN0IGU9KHQuUnYtaS5SdikvKHQud3QtaS53dCk7cmV0dXJuIE1hdGguc2lnbihlKSpNYXRoLm1pbihNYXRoLmFicyhlKSxzKX1jbGFzcyBTc3tjb25zdHJ1Y3Rvcih0LGkscyxlKXt0aGlzLkR2PW51bGwsdGhpcy5Jdj1udWxsLHRoaXMuVnY9bnVsbCx0aGlzLkJ2PW51bGwsdGhpcy5Fdj1udWxsLHRoaXMuQXY9MCx0aGlzLkx2PTAsdGhpcy56dj10LHRoaXMuT3Y9aSx0aGlzLk52PXMsdGhpcy5rcz1lfUZ2KHQsaSl7aWYobnVsbCE9PXRoaXMuRHYpe2lmKHRoaXMuRHYud3Q9PT1pKXJldHVybiB2b2lkKHRoaXMuRHYuUnY9dCk7aWYoTWF0aC5hYnModGhpcy5Edi5Sdi10KTx0aGlzLmtzKXJldHVybn10aGlzLkJ2PXRoaXMuVnYsdGhpcy5Wdj10aGlzLkl2LHRoaXMuSXY9dGhpcy5Edix0aGlzLkR2PXt3dDppLFJ2OnR9fW1lKHQsaSl7aWYobnVsbD09PXRoaXMuRHZ8fG51bGw9PT10aGlzLkl2KXJldHVybjtpZihpLXRoaXMuRHYud3Q+NTApcmV0dXJuO2xldCBzPTA7Y29uc3QgZT15cyh0aGlzLkR2LHRoaXMuSXYsdGhpcy5PdiksaD1Ncyh0aGlzLkR2LHRoaXMuSXYpLG49W2VdLHI9W2hdO2lmKHMrPWgsbnVsbCE9PXRoaXMuVnYpe2NvbnN0IHQ9eXModGhpcy5Jdix0aGlzLlZ2LHRoaXMuT3YpO2lmKE1hdGguc2lnbih0KT09PU1hdGguc2lnbihlKSl7Y29uc3QgaT1Ncyh0aGlzLkl2LHRoaXMuVnYpO2lmKG4ucHVzaCh0KSxyLnB1c2goaSkscys9aSxudWxsIT09dGhpcy5Cdil7Y29uc3QgdD15cyh0aGlzLlZ2LHRoaXMuQnYsdGhpcy5Pdik7aWYoTWF0aC5zaWduKHQpPT09TWF0aC5zaWduKGUpKXtjb25zdCBpPU1zKHRoaXMuVnYsdGhpcy5Cdik7bi5wdXNoKHQpLHIucHVzaChpKSxzKz1pfX19fWxldCBvPTA7Zm9yKGxldCB0PTA7dDxuLmxlbmd0aDsrK3Qpbys9clt0XS9zKm5bdF07TWF0aC5hYnMobyk8dGhpcy56dnx8KHRoaXMuRXY9e1J2OnQsd3Q6aX0sdGhpcy5Mdj1vLHRoaXMuQXY9ZnVuY3Rpb24odCxpKXtjb25zdCBzPU1hdGgubG9nKGkpO3JldHVybiBNYXRoLmxvZygxKnMvLXQpL3N9KE1hdGguYWJzKG8pLHRoaXMuTnYpKX1xYyh0KXtjb25zdCBpPWYodGhpcy5Fdikscz10LWkud3Q7cmV0dXJuIGkuUnYrdGhpcy5MdiooTWF0aC5wb3codGhpcy5OdixzKS0xKS9NYXRoLmxvZyh0aGlzLk52KX1qYyh0KXtyZXR1cm4gbnVsbD09PXRoaXMuRXZ8fHRoaXMuV3YodCk9PT10aGlzLkF2fVd2KHQpe2NvbnN0IGk9dC1mKHRoaXMuRXYpLnd0O3JldHVybiBNYXRoLm1pbihpLHRoaXMuQXYpfX1jbGFzcyB4c3tjb25zdHJ1Y3Rvcih0LGkpe3RoaXMuSHY9dm9pZCAwLHRoaXMuVXY9dm9pZCAwLHRoaXMuJHY9dm9pZCAwLHRoaXMudm49ITEsdGhpcy5qdj10LHRoaXMucXY9aSx0aGlzLll2KCl9a3QoKXt0aGlzLll2KCl9S3YoKXt0aGlzLkh2JiZ0aGlzLmp2LnJlbW92ZUNoaWxkKHRoaXMuSHYpLHRoaXMuVXYmJnRoaXMuanYucmVtb3ZlQ2hpbGQodGhpcy5VdiksdGhpcy5Idj12b2lkIDAsdGhpcy5Vdj12b2lkIDB9WnYoKXtyZXR1cm4gdGhpcy52biE9PXRoaXMuR3YoKXx8dGhpcy4kdiE9PXRoaXMuWHYoKX1Ydigpe3JldHVybiB0aGlzLnF2LlF0KCkuWGkoKS5KKHRoaXMucXYuTigpLmxheW91dC50ZXh0Q29sb3IpPjE2MD8iZGFyayI6ImxpZ2h0In1Hdigpe3JldHVybiB0aGlzLnF2Lk4oKS5sYXlvdXQuYXR0cmlidXRpb25Mb2dvfUp2KCl7Y29uc3QgdD1uZXcgVVJMKGxvY2F0aW9uLmhyZWYpO3JldHVybiB0Lmhvc3RuYW1lPyImdXRtX3NvdXJjZT0iK3QuaG9zdG5hbWUrdC5wYXRobmFtZToiIn1Zdigpe3RoaXMuWnYoKSYmKHRoaXMuS3YoKSx0aGlzLnZuPXRoaXMuR3YoKSx0aGlzLnZuJiYodGhpcy4kdj10aGlzLlh2KCksdGhpcy5Vdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpLHRoaXMuVXYuaW5uZXJUZXh0PSJhI3R2LWF0dHItbG9nb3stLWZpbGw6IzEzMTcyMjstLXN0cm9rZTojZmZmO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MTBweDtib3R0b206MTBweDtoZWlnaHQ6MTlweDt3aWR0aDozNXB4O21hcmdpbjowO3BhZGRpbmc6MDtib3JkZXI6MDt6LWluZGV4OjM7fWEjdHYtYXR0ci1sb2dvW2RhdGEtZGFya117LS1maWxsOiNEMUQ0REM7LS1zdHJva2U6IzEzMTcyMjt9Iix0aGlzLkh2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKSx0aGlzLkh2LmhyZWY9YGh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LmNvbS8/dXRtX21lZGl1bT1sd2MtbGluayZ1dG1fY2FtcGFpZ249bHdjLWNoYXJ0JHt0aGlzLkp2KCl9YCx0aGlzLkh2LnRpdGxlPSJDaGFydGluZyBieSBUcmFkaW5nVmlldyIsdGhpcy5Idi5pZD0idHYtYXR0ci1sb2dvIix0aGlzLkh2LnRhcmdldD0iX2JsYW5rIiwKdGhpcy5Idi5pbm5lckhUTUw9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzUiIGhlaWdodD0iMTkiIGZpbGw9Im5vbmUiPjxnIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2EpIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGZpbGw9InZhcigtLXN0cm9rZSkiIGQ9Ik0yIDBIMHYxMGg2djloMjEuNGwuNS0xLjMgNi0xNSAxLTIuN0gyMy43bC0uNSAxLjMtLjIuNmE1IDUgMCAwIDAtNy0uOVYwSDJabTIwIDE3aDRsNS4yLTEzIC44LTJoLTdsLTEgMi41LS4yLjUtMS41IDMuOC0uMy43VjE3Wm0tLjgtMTBhMyAzIDAgMCAwIC43LTIuN0EzIDMgMCAxIDAgMTYuOCA3aDQuNFpNMTQgN1YySDJ2Nmg2djloNFY3aDJaIi8+PHBhdGggZmlsbD0idmFyKC0tZmlsbCkiIGQ9Ik0xNCAySDJ2Nmg2djloNlYyWm0xMiAxNWgtN2w2LTE1aDdsLTYgMTVabS03LTlhMyAzIDAgMSAwIDAtNiAzIDMgMCAwIDAgMCA2WiIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGZpbGw9InZhcigtLXN0cm9rZSkiIGQ9Ik0wIDBoMzV2MTlIMHoiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4nLHRoaXMuSHYudG9nZ2xlQXR0cmlidXRlKCJkYXRhLWRhcmsiLCJkYXJrIj09PXRoaXMuJHYpLHRoaXMuanYuYXBwZW5kQ2hpbGQodGhpcy5VdiksdGhpcy5qdi5hcHBlbmRDaGlsZCh0aGlzLkh2KSkpfX1mdW5jdGlvbiBfcyh0LGkpe2NvbnN0IHM9Zih0Lm93bmVyRG9jdW1lbnQpLmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpO3QuYXBwZW5kQ2hpbGQocyk7Y29uc3QgaD0oMCxlLmJpbmRDYW52YXNFbGVtZW50Qml0bWFwU2l6ZVRvKShzLHt0eXBlOiJkZXZpY2UtcGl4ZWwtY29udGVudC1ib3giLG9wdGlvbnM6e2FsbG93UmVzaXplT2JzZXJ2ZXI6ITB9LHRyYW5zZm9ybToodCxpKT0+KHt3aWR0aDpNYXRoLm1heCh0LndpZHRoLGkud2lkdGgpLGhlaWdodDpNYXRoLm1heCh0LmhlaWdodCxpLmhlaWdodCl9KX0pO3JldHVybiBoLnJlc2l6ZUNhbnZhc0VsZW1lbnQoaSksaH1mdW5jdGlvbiBDcyh0KXt0LndpZHRoPTEsdC5oZWlnaHQ9MSx0LmdldENvbnRleHQoIjJkIik/LmNsZWFyUmVjdCgwLDAsMSwxKX1mdW5jdGlvbiBrcyh0LGkscyxlKXt0LnFoJiZ0LnFoKGkscyxlKX1mdW5jdGlvbiBFcyh0LGkscyxlKXt0LnN0KGkscyxlKX1mdW5jdGlvbiBOcyh0LGkscyxlKXtjb25zdCBoPXQocyxlKTtmb3IoY29uc3QgdCBvZiBoKXtjb25zdCBzPXQuVHQoZSk7bnVsbCE9PXMmJmkocyl9fWZ1bmN0aW9uIFRzKHQsaSl7cmV0dXJuIHM9PmZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDAhPT10LkZ0fShzKT8ocy5GdCgpPy5jbCgpPz8iIikhPT1pP1tdOnMuR2E/Lih0KT8/W106W119ZnVuY3Rpb24gUnModCxpLHMsZSl7aWYoIXQubGVuZ3RoKXJldHVybjtsZXQgaD0wO2NvbnN0IG49dFswXS4kdChlLCEwKTtsZXQgcj0xPT09aT9zLzItKHRbMF0uSGkoKS1uLzIpOnRbMF0uSGkoKS1uLzItcy8yO3I9TWF0aC5tYXgoMCxyKTtmb3IobGV0IG49MTtuPHQubGVuZ3RoO24rKyl7Y29uc3Qgbz10W25dLGw9dFtuLTFdLGE9bC4kdChlLCExKSx1PW8uSGkoKSxjPWwuSGkoKTtpZigxPT09aT91PmMtYTp1PGMrYSl7Y29uc3QgZT1jLWEqaTtvLlVpKGUpO2NvbnN0IG49ZS1pKmEvMjtpZigoMT09PWk/bjwwOm4+cykmJnI+MCl7Y29uc3QgZT0xPT09aT8tMS1uOm4tcyxvPU1hdGgubWluKGUscik7Zm9yKGxldCBzPWg7czx0Lmxlbmd0aDtzKyspdFtzXS5VaSh0W3NdLkhpKCkraSpvKTtyLT1vfX1lbHNlIGg9bixyPTE9PT1pP2MtYS11OnUtKGMrYSl9fWNsYXNzIFBze2NvbnN0cnVjdG9yKHQsaSxzLGgpe3RoaXMuS2k9bnVsbCx0aGlzLlF2PW51bGwsdGhpcy50bT0hMSx0aGlzLmltPW5ldyBudCgyMDApLHRoaXMubm09bnVsbCx0aGlzLnNtPTAsdGhpcy5ybT0hMSx0aGlzLmhtPSgpPT57dGhpcy5ybXx8dGhpcy55dC5hbSgpLlF0KCkubXIoKX0sdGhpcy5sbT0oKT0+e3RoaXMucm18fHRoaXMueXQuYW0oKS5RdCgpLm1yKCl9LHRoaXMueXQ9dCx0aGlzLnluPWksdGhpcy5rbz1pLmxheW91dCx0aGlzLndkPXMsdGhpcy5vbT0ibGVmdCI9PT1oLHRoaXMuX209VHMoIm5vcm1hbCIsaCksdGhpcy51bT1UcygidG9wIixoKSx0aGlzLmRtPVRzKCJib3R0b20iLGgpLHRoaXMubHY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5sdi5zdHlsZS5oZWlnaHQ9IjEwMCUiLHRoaXMubHYuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIsdGhpcy5sdi5zdHlsZS53aWR0aD0iMjVweCIsdGhpcy5sdi5zdHlsZS5sZWZ0PSIwIix0aGlzLmx2LnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSIsdGhpcy5mbT1fcyh0aGlzLmx2LGUuc2l6ZSh7d2lkdGg6MTYsaGVpZ2h0OjE2fSkpLHRoaXMuZm0uc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5obSk7Y29uc3Qgbj10aGlzLmZtLmNhbnZhc0VsZW1lbnQ7bi5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLG4uc3R5bGUuekluZGV4PSIxIixuLnN0eWxlLmxlZnQ9IjAiLG4uc3R5bGUudG9wPSIwIix0aGlzLnBtPV9zKHRoaXMubHYsZS5zaXplKHt3aWR0aDoxNixoZWlnaHQ6MTZ9KSksdGhpcy5wbS5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0aGlzLmxtKTtjb25zdCByPXRoaXMucG0uY2FudmFzRWxlbWVudDtyLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsci5zdHlsZS56SW5kZXg9IjIiLHIuc3R5bGUubGVmdD0iMCIsci5zdHlsZS50b3A9IjAiO2NvbnN0IG89e3pwOnRoaXMuTXYuYmluZCh0aGlzKSxBcDp0aGlzLk12LmJpbmQodGhpcyksUHA6dGhpcy5ndi5iaW5kKHRoaXMpLHlwOnRoaXMuZ3YuYmluZCh0aGlzKSxPcDp0aGlzLnZtLmJpbmQodGhpcyksSXA6dGhpcy5idi5iaW5kKHRoaXMpLFJwOnRoaXMuYnYuYmluZCh0aGlzKSx1cDp0aGlzLndtLmJpbmQodGhpcyksYXA6dGhpcy53bS5iaW5kKHRoaXMpLHdwOnRoaXMuTW0uYmluZCh0aGlzKSxZcDp0aGlzLnd2LmJpbmQodGhpcyl9O3RoaXMudHY9bmV3IGRzKHRoaXMucG0uY2FudmFzRWxlbWVudCxvLHsKeHA6KCk9PiF0aGlzLnluLmhhbmRsZVNjcm9sbC52ZXJ0VG91Y2hEcmFnLENwOigpPT4hMH0pfW0oKXt0aGlzLnR2Lm0oKSx0aGlzLnBtLnVuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5sbSksQ3ModGhpcy5wbS5jYW52YXNFbGVtZW50KSx0aGlzLnBtLmRpc3Bvc2UoKSx0aGlzLmZtLnVuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5obSksQ3ModGhpcy5mbS5jYW52YXNFbGVtZW50KSx0aGlzLmZtLmRpc3Bvc2UoKSxudWxsIT09dGhpcy5LaSYmdGhpcy5LaS5hXygpLnUodGhpcyksdGhpcy5LaT1udWxsfXV2KCl7cmV0dXJuIHRoaXMubHZ9aygpe3JldHVybiB0aGlzLmtvLmZvbnRTaXplfWdtKCl7Y29uc3QgdD10aGlzLndkLk4oKTtyZXR1cm4gdGhpcy5ubSE9PXQuUCYmKHRoaXMuaW0uT3MoKSx0aGlzLm5tPXQuUCksdH1ibSgpe2lmKG51bGw9PT10aGlzLktpKXJldHVybiAwO2xldCB0PTA7Y29uc3QgaT10aGlzLmdtKCkscz1mKHRoaXMuZm0uY2FudmFzRWxlbWVudC5nZXRDb250ZXh0KCIyZCIse2NvbG9yU3BhY2U6dGhpcy55dC5hbSgpLk4oKS5sYXlvdXQuY29sb3JTcGFjZX0pKTtzLnNhdmUoKTtjb25zdCBlPXRoaXMuS2kuRWwoKTtzLmZvbnQ9dGhpcy5TbSgpLGUubGVuZ3RoPjAmJih0PU1hdGgubWF4KHRoaXMuaW0uSWkocyxlWzBdLmlvKSx0aGlzLmltLklpKHMsZVtlLmxlbmd0aC0xXS5pbykpKTtjb25zdCBoPXRoaXMueG0oKTtmb3IobGV0IGk9aC5sZW5ndGg7aS0tOyl7Y29uc3QgZT10aGlzLmltLklpKHMsaFtpXS5yaSgpKTtlPnQmJih0PWUpfWNvbnN0IG49dGhpcy5LaS5MdCgpO2lmKG51bGwhPT1uJiZudWxsIT09dGhpcy5RdiYmMiE9PShyPXRoaXMueW4uY3Jvc3NoYWlyKS5tb2RlJiZyLmhvcnpMaW5lLnZpc2libGUmJnIuaG9yekxpbmUubGFiZWxWaXNpYmxlKXtjb25zdCBpPXRoaXMuS2kuVG4oMSxuKSxlPXRoaXMuS2kuVG4odGhpcy5Rdi5oZWlnaHQtMixuKTt0PU1hdGgubWF4KHQsdGhpcy5pbS5JaShzLHRoaXMuS2kuSmkoTWF0aC5mbG9vcihNYXRoLm1pbihpLGUpKSsuMTExMTExMTExMTExMTEsbikpLHRoaXMuaW0uSWkocyx0aGlzLktpLkppKE1hdGguY2VpbChNYXRoLm1heChpLGUpKS0uMTExMTExMTExMTExMTEsbikpKX12YXIgcjtzLnJlc3RvcmUoKTtjb25zdCBvPXR8fDM0O3JldHVybiBmcyhNYXRoLmNlaWwoaS5TK2kuQytpLlYraS5CKzUrbykpfUNtKHQpe251bGwhPT10aGlzLlF2JiYoMCxlLmVxdWFsU2l6ZXMpKHRoaXMuUXYsdCl8fCh0aGlzLlF2PXQsdGhpcy5ybT0hMCx0aGlzLmZtLnJlc2l6ZUNhbnZhc0VsZW1lbnQodCksdGhpcy5wbS5yZXNpemVDYW52YXNFbGVtZW50KHQpLHRoaXMucm09ITEsdGhpcy5sdi5zdHlsZS53aWR0aD1gJHt0LndpZHRofXB4YCx0aGlzLmx2LnN0eWxlLmhlaWdodD1gJHt0LmhlaWdodH1weGApfXltKCl7cmV0dXJuIGYodGhpcy5Rdikud2lkdGh9dW4odCl7dGhpcy5LaSE9PXQmJihudWxsIT09dGhpcy5LaSYmdGhpcy5LaS5hXygpLnUodGhpcyksdGhpcy5LaT10LHQuYV8oKS5pKHRoaXMucG8uYmluZCh0aGlzKSx0aGlzKSl9RnQoKXtyZXR1cm4gdGhpcy5LaX1Pcygpe2NvbnN0IHQ9dGhpcy55dC5TdigpO3RoaXMueXQuYW0oKS5RdCgpLmV1KHQsZih0aGlzLkZ0KCkpKX1rbSh0KXtpZihudWxsPT09dGhpcy5RdilyZXR1cm47Y29uc3QgaT17Y29sb3JTcGFjZTp0aGlzLnl0LmFtKCkuTigpLmxheW91dC5jb2xvclNwYWNlfTtpZigxIT09dCl7dGhpcy5QbSgpLHRoaXMuZm0uYXBwbHlTdWdnZXN0ZWRCaXRtYXBTaXplKCk7Y29uc3QgdD0oMCxlLnRyeUNyZWF0ZUNhbnZhc1JlbmRlcmluZ1RhcmdldDJEKSh0aGlzLmZtLGkpO251bGwhPT10JiYodC51c2VCaXRtYXBDb29yZGluYXRlU3BhY2UoKHQ9Pnt0aGlzLlRtKHQpLHRoaXMuUm0odCl9KSksdGhpcy55dC5EbSh0LHRoaXMuZG0pLHRoaXMuSW0odCksdGhpcy55dC5EbSh0LHRoaXMuX20pLHRoaXMuVm0odCkpfXRoaXMucG0uYXBwbHlTdWdnZXN0ZWRCaXRtYXBTaXplKCk7Y29uc3Qgcz0oMCxlLnRyeUNyZWF0ZUNhbnZhc1JlbmRlcmluZ1RhcmdldDJEKSh0aGlzLnBtLGkpO251bGwhPT1zJiYocy51c2VCaXRtYXBDb29yZGluYXRlU3BhY2UoKCh7Y29udGV4dDp0LGJpdG1hcFNpemU6aX0pPT57dC5jbGVhclJlY3QoMCwwLGkud2lkdGgsaS5oZWlnaHQpfSkpLHRoaXMuQm0ocyksdGhpcy55dC5EbShzLHRoaXMudW0pKX1kdigpe3JldHVybiB0aGlzLmZtLmJpdG1hcFNpemV9ZnYodCxpLHMsZSl7Y29uc3QgaD10aGlzLmR2KCk7aWYoaC53aWR0aD4wJiZoLmhlaWdodD4wJiYodC5kcmF3SW1hZ2UodGhpcy5mbS5jYW52YXNFbGVtZW50LGkscyksZSkpe2NvbnN0IGU9dGhpcy5wbS5jYW52YXNFbGVtZW50O3QuZHJhd0ltYWdlKGUsaSxzKX19a3QoKXt0aGlzLktpPy5FbCgpfU12KHQpe2lmKG51bGw9PT10aGlzLktpfHx0aGlzLktpLkdpKCl8fCF0aGlzLnluLmhhbmRsZVNjYWxlLmF4aXNQcmVzc2VkTW91c2VNb3ZlLnByaWNlKXJldHVybjtjb25zdCBpPXRoaXMueXQuYW0oKS5RdCgpLHM9dGhpcy55dC5TdigpO3RoaXMudG09ITAsaS5HXyhzLHRoaXMuS2ksdC5sb2NhbFkpfWd2KHQpe2lmKG51bGw9PT10aGlzLktpfHwhdGhpcy55bi5oYW5kbGVTY2FsZS5heGlzUHJlc3NlZE1vdXNlTW92ZS5wcmljZSlyZXR1cm47Y29uc3QgaT10aGlzLnl0LmFtKCkuUXQoKSxzPXRoaXMueXQuU3YoKSxlPXRoaXMuS2k7aS5YXyhzLGUsdC5sb2NhbFkpfXZtKCl7aWYobnVsbD09PXRoaXMuS2l8fCF0aGlzLnluLmhhbmRsZVNjYWxlLmF4aXNQcmVzc2VkTW91c2VNb3ZlLnByaWNlKXJldHVybjtjb25zdCB0PXRoaXMueXQuYW0oKS5RdCgpLGk9dGhpcy55dC5TdigpLHM9dGhpcy5LaTt0aGlzLnRtJiYodGhpcy50bT0hMSx0LkpfKGkscykpfWJ2KHQpe2lmKG51bGw9PT10aGlzLktpfHwhdGhpcy55bi5oYW5kbGVTY2FsZS5heGlzUHJlc3NlZE1vdXNlTW92ZS5wcmljZSlyZXR1cm47Y29uc3QgaT10aGlzLnl0LmFtKCkuUXQoKSxzPXRoaXMueXQuU3YoKTt0aGlzLnRtPSExLGkuSl8ocyx0aGlzLktpKX13bSh0KXsKdGhpcy55bi5oYW5kbGVTY2FsZS5heGlzRG91YmxlQ2xpY2tSZXNldC5wcmljZSYmdGhpcy5PcygpfU1tKHQpe251bGwhPT10aGlzLktpJiYoIXRoaXMueXQuYW0oKS5RdCgpLk4oKS5oYW5kbGVTY2FsZS5heGlzUHJlc3NlZE1vdXNlTW92ZS5wcmljZXx8dGhpcy5LaS5qZSgpfHx0aGlzLktpLkxvKCl8fHRoaXMuRW0oMSkpfXd2KHQpe3RoaXMuRW0oMCl9eG0oKXtjb25zdCB0PVtdLGk9bnVsbD09PXRoaXMuS2k/dm9pZCAwOnRoaXMuS2k7cmV0dXJuKHM9Pntmb3IobGV0IGU9MDtlPHMubGVuZ3RoOysrZSl7Y29uc3QgaD1zW2VdLnFuKHRoaXMueXQuU3YoKSxpKTtmb3IobGV0IGk9MDtpPGgubGVuZ3RoO2krKyl0LnB1c2goaFtpXSl9fSkodGhpcy55dC5TdigpLkR0KCkpLHR9VG0oe2NvbnRleHQ6dCxiaXRtYXBTaXplOml9KXtjb25zdHt3aWR0aDpzLGhlaWdodDplfT1pLGg9dGhpcy55dC5TdigpLlF0KCksbj1oLiQoKSxyPWguZWYoKTtuPT09cj9RKHQsMCwwLHMsZSxuKTpLKHQsMCwwLHMsZSxuLHIpfVJtKHtjb250ZXh0OnQsYml0bWFwU2l6ZTppLGhvcml6b250YWxQaXhlbFJhdGlvOnN9KXtpZihudWxsPT09dGhpcy5Rdnx8bnVsbD09PXRoaXMuS2l8fCF0aGlzLktpLk4oKS5ib3JkZXJWaXNpYmxlKXJldHVybjt0LmZpbGxTdHlsZT10aGlzLktpLk4oKS5ib3JkZXJDb2xvcjtjb25zdCBlPU1hdGgubWF4KDEsTWF0aC5mbG9vcih0aGlzLmdtKCkuUypzKSk7bGV0IGg7aD10aGlzLm9tP2kud2lkdGgtZTowLHQuZmlsbFJlY3QoaCwwLGUsaS5oZWlnaHQpfUltKHQpe2lmKG51bGw9PT10aGlzLlF2fHxudWxsPT09dGhpcy5LaSlyZXR1cm47Y29uc3QgaT10aGlzLktpLkVsKCkscz10aGlzLktpLk4oKSxlPXRoaXMuZ20oKSxoPXRoaXMub20/dGhpcy5Rdi53aWR0aC1lLkM6MDtzLmJvcmRlclZpc2libGUmJnMudGlja3NWaXNpYmxlJiZ0LnVzZUJpdG1hcENvb3JkaW5hdGVTcGFjZSgoKHtjb250ZXh0OnQsaG9yaXpvbnRhbFBpeGVsUmF0aW86bix2ZXJ0aWNhbFBpeGVsUmF0aW86cn0pPT57dC5maWxsU3R5bGU9cy5ib3JkZXJDb2xvcjtjb25zdCBvPU1hdGgubWF4KDEsTWF0aC5mbG9vcihyKSksbD1NYXRoLmZsb29yKC41KnIpLGE9TWF0aC5yb3VuZChlLkMqbik7dC5iZWdpblBhdGgoKTtmb3IoY29uc3QgcyBvZiBpKXQucmVjdChNYXRoLmZsb29yKGgqbiksTWF0aC5yb3VuZChzLlJsKnIpLWwsYSxvKTt0LmZpbGwoKX0pKSx0LnVzZU1lZGlhQ29vcmRpbmF0ZVNwYWNlKCgoe2NvbnRleHQ6dH0pPT57dC5mb250PXRoaXMuU20oKSx0LmZpbGxTdHlsZT1zLnRleHRDb2xvcj8/dGhpcy5rby50ZXh0Q29sb3IsdC50ZXh0QWxpZ249dGhpcy5vbT8icmlnaHQiOiJsZWZ0Iix0LnRleHRCYXNlbGluZT0ibWlkZGxlIjtjb25zdCBuPXRoaXMub20/TWF0aC5yb3VuZChoLWUuVik6TWF0aC5yb3VuZChoK2UuQytlLlYpLHI9aS5tYXAoKGk9PnRoaXMuaW0uRGkodCxpLmlvKSkpO2ZvcihsZXQgcz1pLmxlbmd0aDtzLS07KXtjb25zdCBlPWlbc107dC5maWxsVGV4dChlLmlvLG4sZS5SbCtyW3NdKX19KSl9UG0oKXtpZihudWxsPT09dGhpcy5Rdnx8bnVsbD09PXRoaXMuS2kpcmV0dXJuO2xldCB0PXRoaXMuUXYuaGVpZ2h0LzI7Y29uc3QgaT1bXSxzPXRoaXMuS2kuRHQoKS5zbGljZSgpLGU9dGhpcy55dC5TdigpLGg9dGhpcy5nbSgpO3RoaXMuS2k9PT1lLkdzKCkmJnRoaXMueXQuU3YoKS5EdCgpLmZvckVhY2goKHQ9PntlLlpzKHQpJiZzLnB1c2godCl9KSk7Y29uc3Qgbj10aGlzLktpLkNsKClbMF0scj10aGlzLktpO3MuZm9yRWFjaCgocz0+e2NvbnN0IGg9cy5xbihlLHIpO2guZm9yRWFjaCgodD0+e3QuJGkoKSYmbnVsbD09PXQuV2koKSYmKHQuVWkobnVsbCksaS5wdXNoKHQpKX0pKSxuPT09cyYmaC5sZW5ndGg+MCYmKHQ9aFswXS5FaSgpKX0pKSx0aGlzLktpLk4oKS5hbGlnbkxhYmVscyYmdGhpcy5BbShpLGgsdCl9QW0odCxpLHMpe2lmKG51bGw9PT10aGlzLlF2KXJldHVybjtjb25zdCBlPXQuZmlsdGVyKCh0PT50LkVpKCk8PXMpKSxoPXQuZmlsdGVyKCh0PT50LkVpKCk+cykpO2Uuc29ydCgoKHQsaSk9PmkuRWkoKS10LkVpKCkpKSxlLmxlbmd0aCYmaC5sZW5ndGgmJmgucHVzaChlWzBdKSxoLnNvcnQoKCh0LGkpPT50LkVpKCktaS5FaSgpKSk7Zm9yKGNvbnN0IHMgb2YgdCl7Y29uc3QgdD1NYXRoLmZsb29yKHMuJHQoaSkvMiksZT1zLkVpKCk7ZT4tdCYmZTx0JiZzLlVpKHQpLGU+dGhpcy5Rdi5oZWlnaHQtdCYmZTx0aGlzLlF2LmhlaWdodCt0JiZzLlVpKHRoaXMuUXYuaGVpZ2h0LXQpfVJzKGUsMSx0aGlzLlF2LmhlaWdodCxpKSxScyhoLC0xLHRoaXMuUXYuaGVpZ2h0LGkpfVZtKHQpe2lmKG51bGw9PT10aGlzLlF2KXJldHVybjtjb25zdCBpPXRoaXMueG0oKSxzPXRoaXMuZ20oKSxlPXRoaXMub20/InJpZ2h0IjoibGVmdCI7aS5mb3JFYWNoKChpPT57aS5qaSgpJiZpLlR0KGYodGhpcy5LaSkpLnN0KHQscyx0aGlzLmltLGUpfSkpfUJtKHQpe2lmKG51bGw9PT10aGlzLlF2fHxudWxsPT09dGhpcy5LaSlyZXR1cm47Y29uc3QgaT10aGlzLnl0LmFtKCkuUXQoKSxzPVtdLGU9dGhpcy55dC5TdigpLGg9aS5SZCgpLnFuKGUsdGhpcy5LaSk7aC5sZW5ndGgmJnMucHVzaChoKTtjb25zdCBuPXRoaXMuZ20oKSxyPXRoaXMub20/InJpZ2h0IjoibGVmdCI7cy5mb3JFYWNoKChpPT57aS5mb3JFYWNoKChpPT57aS5UdChmKHRoaXMuS2kpKS5zdCh0LG4sdGhpcy5pbSxyKX0pKX0pKX1FbSh0KXt0aGlzLmx2LnN0eWxlLmN1cnNvcj0xPT09dD8ibnMtcmVzaXplIjoiZGVmYXVsdCJ9cG8oKXtjb25zdCB0PXRoaXMuYm0oKTt0aGlzLnNtPHQmJnRoaXMueXQuYW0oKS5RdCgpLlBhKCksdGhpcy5zbT10fVNtKCl7cmV0dXJuIF8odGhpcy5rby5mb250U2l6ZSx0aGlzLmtvLmZvbnRGYW1pbHkpfX1mdW5jdGlvbiB6cyh0LGkpe3JldHVybiB0LkthPy4oaSk/P1tdfWZ1bmN0aW9uIElzKHQsaSl7cmV0dXJuIHQuam4/LihpKT8/W119ZnVuY3Rpb24gTHModCxpKXtyZXR1cm4gdC5jbj8uKGkpPz9bXX1mdW5jdGlvbiBGcyh0LGkpe3JldHVybiB0LmphPy4oaSk/P1tdfWNsYXNzIHFze2NvbnN0cnVjdG9yKHQsaSl7CnRoaXMuUXY9ZS5zaXplKHt3aWR0aDowLGhlaWdodDowfSksdGhpcy5MbT1udWxsLHRoaXMuem09bnVsbCx0aGlzLk9tPW51bGwsdGhpcy5ObT1udWxsLHRoaXMuRm09ITEsdGhpcy5XbT1uZXcgbSx0aGlzLkhtPW5ldyBtLHRoaXMuVW09MCx0aGlzLiRtPSExLHRoaXMuam09bnVsbCx0aGlzLnFtPSExLHRoaXMuWW09bnVsbCx0aGlzLkttPW51bGwsdGhpcy5ybT0hMSx0aGlzLmhtPSgpPT57dGhpcy5ybXx8bnVsbD09PXRoaXMuWm18fHRoaXMuc24oKS5tcigpfSx0aGlzLmxtPSgpPT57dGhpcy5ybXx8bnVsbD09PXRoaXMuWm18fHRoaXMuc24oKS5tcigpfSx0aGlzLnF2PXQsdGhpcy5abT1pLHRoaXMuWm0uZnUoKS5pKHRoaXMuR20uYmluZCh0aGlzKSx0aGlzLCEwKSx0aGlzLlhtPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIiksdGhpcy5YbS5zdHlsZS5wYWRkaW5nPSIwIix0aGlzLlhtLnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSI7Y29uc3Qgcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtzLnN0eWxlLndpZHRoPSIxMDAlIixzLnN0eWxlLmhlaWdodD0iMTAwJSIscy5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiLHMuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIsdGhpcy5KbT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpLHRoaXMuSm0uc3R5bGUucGFkZGluZz0iMCIsdGhpcy5RbT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpLHRoaXMuUW0uc3R5bGUucGFkZGluZz0iMCIsdGhpcy5YbS5hcHBlbmRDaGlsZChzKSx0aGlzLmZtPV9zKHMsZS5zaXplKHt3aWR0aDoxNixoZWlnaHQ6MTZ9KSksdGhpcy5mbS5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0aGlzLmhtKTtjb25zdCBoPXRoaXMuZm0uY2FudmFzRWxlbWVudDtoLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsaC5zdHlsZS56SW5kZXg9IjEiLGguc3R5bGUubGVmdD0iMCIsaC5zdHlsZS50b3A9IjAiLHRoaXMucG09X3MocyxlLnNpemUoe3dpZHRoOjE2LGhlaWdodDoxNn0pKSx0aGlzLnBtLnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMubG0pO2NvbnN0IG49dGhpcy5wbS5jYW52YXNFbGVtZW50O24uc3R5bGUucG9zaXRpb249ImFic29sdXRlIixuLnN0eWxlLnpJbmRleD0iMiIsbi5zdHlsZS5sZWZ0PSIwIixuLnN0eWxlLnRvcD0iMCIsdGhpcy5hdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ciIpLHRoaXMuYXYuYXBwZW5kQ2hpbGQodGhpcy5KbSksdGhpcy5hdi5hcHBlbmRDaGlsZCh0aGlzLlhtKSx0aGlzLmF2LmFwcGVuZENoaWxkKHRoaXMuUW0pLHRoaXMudHcoKSx0aGlzLnR2PW5ldyBkcyh0aGlzLnBtLmNhbnZhc0VsZW1lbnQsdGhpcyx7eHA6KCk9Pm51bGw9PT10aGlzLmptJiYhdGhpcy5xdi5OKCkuaGFuZGxlU2Nyb2xsLnZlcnRUb3VjaERyYWcsQ3A6KCk9Pm51bGw9PT10aGlzLmptJiYhdGhpcy5xdi5OKCkuaGFuZGxlU2Nyb2xsLmhvcnpUb3VjaERyYWd9KX1tKCl7bnVsbCE9PXRoaXMuTG0mJnRoaXMuTG0ubSgpLG51bGwhPT10aGlzLnptJiZ0aGlzLnptLm0oKSx0aGlzLk9tPW51bGwsdGhpcy5wbS51bnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMubG0pLENzKHRoaXMucG0uY2FudmFzRWxlbWVudCksdGhpcy5wbS5kaXNwb3NlKCksdGhpcy5mbS51bnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMuaG0pLENzKHRoaXMuZm0uY2FudmFzRWxlbWVudCksdGhpcy5mbS5kaXNwb3NlKCksbnVsbCE9PXRoaXMuWm0mJih0aGlzLlptLmZ1KCkudSh0aGlzKSx0aGlzLlptLm0oKSksdGhpcy50di5tKCl9U3YoKXtyZXR1cm4gZih0aGlzLlptKX1pdyh0KXtudWxsIT09dGhpcy5abSYmdGhpcy5abS5mdSgpLnUodGhpcyksdGhpcy5abT10LG51bGwhPT10aGlzLlptJiZ0aGlzLlptLmZ1KCkuaShxcy5wcm90b3R5cGUuR20uYmluZCh0aGlzKSx0aGlzLCEwKSx0aGlzLnR3KCksdGhpcy5xdi5ydigpLmluZGV4T2YodGhpcyk9PT10aGlzLnF2LnJ2KCkubGVuZ3RoLTE/KHRoaXMuT209dGhpcy5PbT8/bmV3IHhzKHRoaXMuWG0sdGhpcy5xdiksdGhpcy5PbS5rdCgpKToodGhpcy5PbT8uS3YoKSx0aGlzLk9tPW51bGwpfWFtKCl7cmV0dXJuIHRoaXMucXZ9dXYoKXtyZXR1cm4gdGhpcy5hdn10dygpe2lmKG51bGwhPT10aGlzLlptJiYodGhpcy5udygpLDAhPT10aGlzLnNuKCkuSm4oKS5sZW5ndGgpKXtpZihudWxsIT09dGhpcy5MbSl7Y29uc3QgdD10aGlzLlptLktfKCk7dGhpcy5MbS51bihmKHQpKX1pZihudWxsIT09dGhpcy56bSl7Y29uc3QgdD10aGlzLlptLlpfKCk7dGhpcy56bS51bihmKHQpKX19fXN3KCl7bnVsbCE9PXRoaXMuTG0mJnRoaXMuTG0ua3QoKSxudWxsIT09dGhpcy56bSYmdGhpcy56bS5rdCgpfXpfKCl7cmV0dXJuIG51bGwhPT10aGlzLlptP3RoaXMuWm0uel8oKTowfU9fKHQpe3RoaXMuWm0mJnRoaXMuWm0uT18odCl9d3AodCl7aWYoIXRoaXMuWm0pcmV0dXJuO3RoaXMuZXcoKTtjb25zdCBpPXQubG9jYWxYLHM9dC5sb2NhbFk7dGhpcy5ydyhpLHMsdCl9enAodCl7dGhpcy5ldygpLHRoaXMuaHcoKSx0aGlzLnJ3KHQubG9jYWxYLHQubG9jYWxZLHQpfU1wKHQpe2lmKCF0aGlzLlptKXJldHVybjt0aGlzLmV3KCk7Y29uc3QgaT10LmxvY2FsWCxzPXQubG9jYWxZO3RoaXMucncoaSxzLHQpfVZwKHQpe251bGwhPT10aGlzLlptJiYodGhpcy5ldygpLHRoaXMucncodC5sb2NhbFgsdC5sb2NhbFksdCksdGhpcy5hdyh0KSl9dXAodCl7bnVsbCE9PXRoaXMuWm0mJnRoaXMubHcodGhpcy5IbSx0KX1hcCh0KXt0aGlzLnVwKHQpfVBwKHQpe3RoaXMuZXcoKSx0aGlzLm93KHQpLHRoaXMucncodC5sb2NhbFgsdC5sb2NhbFksdCl9SXAodCl7bnVsbCE9PXRoaXMuWm0mJih0aGlzLmV3KCksdGhpcy4kbT0hMSx0aGlzLl93KHQpKX1EcCh0KXtudWxsIT09dGhpcy5abSYmdGhpcy5hdyh0KX1LcCh0KXtpZih0aGlzLiRtPSEwLG51bGw9PT10aGlzLmptKXtjb25zdCBpPXt4OnQubG9jYWxYLHk6dC5sb2NhbFl9O3RoaXMudXcoaSxpLHQpfX1ZcCh0KXtudWxsIT09dGhpcy5abSYmKHRoaXMuZXcoKSwKdGhpcy5abS5RdCgpLmtkKG51bGwpLHRoaXMuY3coKSl9ZHcoKXtyZXR1cm4gdGhpcy5XbX1mdygpe3JldHVybiB0aGlzLkhtfVdwKCl7dGhpcy5VbT0xLHRoaXMuc24oKS5jcygpfUhwKHQsaSl7aWYoIXRoaXMucXYuTigpLmhhbmRsZVNjYWxlLnBpbmNoKXJldHVybjtjb25zdCBzPTUqKGktdGhpcy5VbSk7dGhpcy5VbT1pLHRoaXMuc24oKS5PZCh0Ll90LHMpfUFwKHQpe3RoaXMuJG09ITEsdGhpcy5xbT1udWxsIT09dGhpcy5qbSx0aGlzLmh3KCk7Y29uc3QgaT10aGlzLnNuKCkuUmQoKTtudWxsIT09dGhpcy5qbSYmaS5JdCgpJiYodGhpcy5ZbT17eDppLm5pKCkseTppLnNpKCl9LHRoaXMuam09e3g6dC5sb2NhbFgseTp0LmxvY2FsWX0pfXlwKHQpe2lmKG51bGw9PT10aGlzLlptKXJldHVybjtjb25zdCBpPXQubG9jYWxYLHM9dC5sb2NhbFk7aWYobnVsbD09PXRoaXMuam0pdGhpcy5vdyh0KTtlbHNle3RoaXMucW09ITE7Y29uc3QgZT1mKHRoaXMuWW0pLGg9ZS54KyhpLXRoaXMuam0ueCksbj1lLnkrKHMtdGhpcy5qbS55KTt0aGlzLnJ3KGgsbix0KX19UnAodCl7MD09PXRoaXMuYW0oKS5OKCkudHJhY2tpbmdNb2RlLmV4aXRNb2RlJiYodGhpcy5xbT0hMCksdGhpcy5wdygpLHRoaXMuX3codCl9UXModCxpKXtjb25zdCBzPXRoaXMuWm07cmV0dXJuIG51bGw9PT1zP251bGw6UGkocyx0LGkpfW13KHQsaSl7ZigibGVmdCI9PT1pP3RoaXMuTG06dGhpcy56bSkuQ20oZS5zaXplKHt3aWR0aDp0LGhlaWdodDp0aGlzLlF2LmhlaWdodH0pKX1jdigpe3JldHVybiB0aGlzLlF2fUNtKHQpeygwLGUuZXF1YWxTaXplcykodGhpcy5Rdix0KXx8KHRoaXMuUXY9dCx0aGlzLnJtPSEwLHRoaXMuZm0ucmVzaXplQ2FudmFzRWxlbWVudCh0KSx0aGlzLnBtLnJlc2l6ZUNhbnZhc0VsZW1lbnQodCksdGhpcy5ybT0hMSx0aGlzLlhtLnN0eWxlLndpZHRoPXQud2lkdGgrInB4Iix0aGlzLlhtLnN0eWxlLmhlaWdodD10LmhlaWdodCsicHgiKX13dygpe2NvbnN0IHQ9Zih0aGlzLlptKTt0LnFfKHQuS18oKSksdC5xXyh0LlpfKCkpO2Zvcihjb25zdCBpIG9mIHQuQ2woKSlpZih0LlpzKGkpKXtjb25zdCBzPWkuRnQoKTtudWxsIT09cyYmdC5xXyhzKSxpLk5uKCl9Zm9yKGNvbnN0IGkgb2YgdC52dSgpKWkuTm4oKX1kdigpe3JldHVybiB0aGlzLmZtLmJpdG1hcFNpemV9ZnYodCxpLHMsZSl7Y29uc3QgaD10aGlzLmR2KCk7aWYoaC53aWR0aD4wJiZoLmhlaWdodD4wJiYodC5kcmF3SW1hZ2UodGhpcy5mbS5jYW52YXNFbGVtZW50LGkscyksZSkpe2NvbnN0IGU9dGhpcy5wbS5jYW52YXNFbGVtZW50O251bGwhPT10JiZ0LmRyYXdJbWFnZShlLGkscyl9fWttKHQpe2lmKDA9PT10KXJldHVybjtpZihudWxsPT09dGhpcy5abSlyZXR1cm47dD4xJiZ0aGlzLnd3KCksbnVsbCE9PXRoaXMuTG0mJnRoaXMuTG0ua20odCksbnVsbCE9PXRoaXMuem0mJnRoaXMuem0ua20odCk7Y29uc3QgaT17Y29sb3JTcGFjZTp0aGlzLnF2Lk4oKS5sYXlvdXQuY29sb3JTcGFjZX07aWYoMSE9PXQpe3RoaXMuZm0uYXBwbHlTdWdnZXN0ZWRCaXRtYXBTaXplKCk7Y29uc3QgdD0oMCxlLnRyeUNyZWF0ZUNhbnZhc1JlbmRlcmluZ1RhcmdldDJEKSh0aGlzLmZtLGkpO251bGwhPT10JiYodC51c2VCaXRtYXBDb29yZGluYXRlU3BhY2UoKHQ9Pnt0aGlzLlRtKHQpfSkpLHRoaXMuWm0mJih0aGlzLk13KHQsenMpLHRoaXMuZ3codCksdGhpcy5Ndyh0LElzKSx0aGlzLk13KHQsTHMpKSl9dGhpcy5wbS5hcHBseVN1Z2dlc3RlZEJpdG1hcFNpemUoKTtjb25zdCBzPSgwLGUudHJ5Q3JlYXRlQ2FudmFzUmVuZGVyaW5nVGFyZ2V0MkQpKHRoaXMucG0saSk7bnVsbCE9PXMmJihzLnVzZUJpdG1hcENvb3JkaW5hdGVTcGFjZSgoKHtjb250ZXh0OnQsYml0bWFwU2l6ZTppfSk9Pnt0LmNsZWFyUmVjdCgwLDAsaS53aWR0aCxpLmhlaWdodCl9KSksdGhpcy5idyhzKSx0aGlzLk13KHMsRnMpLHRoaXMuTXcocyxMcykpfVN3KCl7cmV0dXJuIHRoaXMuTG19eHcoKXtyZXR1cm4gdGhpcy56bX1EbSh0LGkpe3RoaXMuTXcodCxpKX1HbSgpe251bGwhPT10aGlzLlptJiZ0aGlzLlptLmZ1KCkudSh0aGlzKSx0aGlzLlptPW51bGx9YXcodCl7dGhpcy5sdyh0aGlzLldtLHQpfWx3KHQsaSl7Y29uc3Qgcz1pLmxvY2FsWCxlPWkubG9jYWxZO3QudigpJiZ0LnAodGhpcy5zbigpLkV0KCkuUmMocykse3g6cyx5OmV9LGkpfVRtKHtjb250ZXh0OnQsYml0bWFwU2l6ZTppfSl7Y29uc3R7d2lkdGg6cyxoZWlnaHQ6ZX09aSxoPXRoaXMuc24oKSxuPWguJCgpLHI9aC5lZigpO249PT1yP1EodCwwLDAscyxlLHIpOksodCwwLDAscyxlLG4scil9Z3codCl7Y29uc3QgaT1mKHRoaXMuWm0pLHM9aS5wdSgpLndyKCkuVHQoaSk7bnVsbCE9PXMmJnMuc3QodCwhMSl9YncodCl7dGhpcy5Ddyh0LElzLEVzLHRoaXMuc24oKS5SZCgpKX1Ndyh0LGkpe2NvbnN0IHM9Zih0aGlzLlptKSxlPXMuYXUoKSxoPXMudnUoKTtmb3IoY29uc3QgcyBvZiBoKXRoaXMuQ3codCxpLGtzLHMpO2Zvcihjb25zdCBzIG9mIGUpdGhpcy5Ddyh0LGksa3Mscyk7Zm9yKGNvbnN0IHMgb2YgaCl0aGlzLkN3KHQsaSxFcyxzKTtmb3IoY29uc3QgcyBvZiBlKXRoaXMuQ3codCxpLEVzLHMpfUN3KHQsaSxzLGUpe2NvbnN0IGg9Zih0aGlzLlptKSxuPWguUXQoKS5vdSgpLHI9bnVsbCE9PW4mJm4ubHU9PT1lLG89bnVsbCE9PW4mJnImJnZvaWQgMCE9PW4ud3U/bi53dS5pZTp2b2lkIDA7TnMoaSwoaT0+cyhpLHQscixvKSksZSxoKX1udygpe2lmKG51bGw9PT10aGlzLlptKXJldHVybjtjb25zdCB0PXRoaXMucXYsaT10aGlzLlptLktfKCkuTigpLnZpc2libGUscz10aGlzLlptLlpfKCkuTigpLnZpc2libGU7aXx8bnVsbD09PXRoaXMuTG18fCh0aGlzLkptLnJlbW92ZUNoaWxkKHRoaXMuTG0udXYoKSksdGhpcy5MbS5tKCksdGhpcy5MbT1udWxsKSxzfHxudWxsPT09dGhpcy56bXx8KHRoaXMuUW0ucmVtb3ZlQ2hpbGQodGhpcy56bS51digpKSx0aGlzLnptLm0oKSx0aGlzLnptPW51bGwpO2NvbnN0IGU9dC5RdCgpLlpkKCk7aSYmbnVsbD09PXRoaXMuTG0mJih0aGlzLkxtPW5ldyBQcyh0aGlzLHQuTigpLGUsImxlZnQiKSwKdGhpcy5KbS5hcHBlbmRDaGlsZCh0aGlzLkxtLnV2KCkpKSxzJiZudWxsPT09dGhpcy56bSYmKHRoaXMuem09bmV3IFBzKHRoaXMsdC5OKCksZSwicmlnaHQiKSx0aGlzLlFtLmFwcGVuZENoaWxkKHRoaXMuem0udXYoKSkpfXl3KHQpe3JldHVybiB0LlpwJiZ0aGlzLiRtfHxudWxsIT09dGhpcy5qbX1ydyh0LGkscyl7dD1NYXRoLm1heCgwLE1hdGgubWluKHQsdGhpcy5Rdi53aWR0aC0xKSksaT1NYXRoLm1heCgwLE1hdGgubWluKGksdGhpcy5Rdi5oZWlnaHQtMSkpLHRoaXMuc24oKS5qZCh0LGkscyxmKHRoaXMuWm0pKX1jdygpe3RoaXMuc24oKS5ZZCgpfXB3KCl7dGhpcy5xbSYmKHRoaXMuam09bnVsbCx0aGlzLmN3KCkpfXV3KHQsaSxzKXt0aGlzLmptPXQsdGhpcy5xbT0hMSx0aGlzLnJ3KGkueCxpLnkscyk7Y29uc3QgZT10aGlzLnNuKCkuUmQoKTt0aGlzLlltPXt4OmUubmkoKSx5OmUuc2koKX19c24oKXtyZXR1cm4gdGhpcy5xdi5RdCgpfV93KHQpe2lmKCF0aGlzLkZtKXJldHVybjtjb25zdCBpPXRoaXMuc24oKSxzPXRoaXMuU3YoKTtpZihpLml1KHMscy5QbigpKSx0aGlzLk5tPW51bGwsdGhpcy5GbT0hMSxpLkhkKCksbnVsbCE9PXRoaXMuS20pe2NvbnN0IHQ9cGVyZm9ybWFuY2Uubm93KCkscz1pLkV0KCk7dGhpcy5LbS5tZShzLkFjKCksdCksdGhpcy5LbS5qYyh0KXx8aS5wcyh0aGlzLkttKX19ZXcoKXt0aGlzLmptPW51bGx9aHcoKXtpZih0aGlzLlptKXtpZih0aGlzLnNuKCkuY3MoKSxkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09ZG9jdW1lbnQuYm9keSYmZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudClmKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpLmJsdXIoKTtlbHNle2NvbnN0IHQ9ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7bnVsbCE9PXQmJnQucmVtb3ZlQWxsUmFuZ2VzKCl9IXRoaXMuWm0uUG4oKS5HaSgpJiZ0aGlzLnNuKCkuRXQoKS5HaSgpfX1vdyh0KXtpZihudWxsPT09dGhpcy5abSlyZXR1cm47Y29uc3QgaT10aGlzLnNuKCkscz1pLkV0KCk7aWYocy5HaSgpKXJldHVybjtjb25zdCBlPXRoaXMucXYuTigpLGg9ZS5oYW5kbGVTY3JvbGwsbj1lLmtpbmV0aWNTY3JvbGw7aWYoKCFoLnByZXNzZWRNb3VzZU1vdmV8fHQuWnApJiYoIWguaG9yelRvdWNoRHJhZyYmIWgudmVydFRvdWNoRHJhZ3x8IXQuWnApKXJldHVybjtjb25zdCByPXRoaXMuWm0uUG4oKSxvPXBlcmZvcm1hbmNlLm5vdygpO2lmKG51bGwhPT10aGlzLk5tfHx0aGlzLnl3KHQpfHwodGhpcy5ObT17eDp0LmNsaWVudFgseTp0LmNsaWVudFksU2Y6byxrdzp0LmxvY2FsWCxQdzp0LmxvY2FsWX0pLG51bGwhPT10aGlzLk5tJiYhdGhpcy5GbSYmKHRoaXMuTm0ueCE9PXQuY2xpZW50WHx8dGhpcy5ObS55IT09dC5jbGllbnRZKSl7aWYodC5acCYmbi50b3VjaHx8IXQuWnAmJm4ubW91c2Upe2NvbnN0IHQ9cy5mbCgpO3RoaXMuS209bmV3IFNzKC4yL3QsNy90LC45OTcsMTUvdCksdGhpcy5LbS5GdihzLkFjKCksdGhpcy5ObS5TZil9ZWxzZSB0aGlzLkttPW51bGw7ci5HaSgpfHxpLlFfKHRoaXMuWm0scix0LmxvY2FsWSksaS5GZCh0LmxvY2FsWCksdGhpcy5GbT0hMH10aGlzLkZtJiYoci5HaSgpfHxpLnR1KHRoaXMuWm0scix0LmxvY2FsWSksaS5XZCh0LmxvY2FsWCksbnVsbCE9PXRoaXMuS20mJnRoaXMuS20uRnYocy5BYygpLG8pKX19Y2xhc3MgV3N7Y29uc3RydWN0b3IodCxpLHMsaCxuKXt0aGlzLnh0PSEwLHRoaXMuUXY9ZS5zaXplKHt3aWR0aDowLGhlaWdodDowfSksdGhpcy5obT0oKT0+dGhpcy5rbSgzKSx0aGlzLm9tPSJsZWZ0Ij09PXQsdGhpcy53ZD1zLlpkLHRoaXMueW49aSx0aGlzLlR3PWgsdGhpcy5Sdz1uLHRoaXMubHY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5sdi5zdHlsZS53aWR0aD0iMjVweCIsdGhpcy5sdi5zdHlsZS5oZWlnaHQ9IjEwMCUiLHRoaXMubHYuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIsdGhpcy5mbT1fcyh0aGlzLmx2LGUuc2l6ZSh7d2lkdGg6MTYsaGVpZ2h0OjE2fSkpLHRoaXMuZm0uc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5obSl9bSgpe3RoaXMuZm0udW5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0aGlzLmhtKSxDcyh0aGlzLmZtLmNhbnZhc0VsZW1lbnQpLHRoaXMuZm0uZGlzcG9zZSgpfXV2KCl7cmV0dXJuIHRoaXMubHZ9Y3YoKXtyZXR1cm4gdGhpcy5Rdn1DbSh0KXsoMCxlLmVxdWFsU2l6ZXMpKHRoaXMuUXYsdCl8fCh0aGlzLlF2PXQsdGhpcy5mbS5yZXNpemVDYW52YXNFbGVtZW50KHQpLHRoaXMubHYuc3R5bGUud2lkdGg9YCR7dC53aWR0aH1weGAsdGhpcy5sdi5zdHlsZS5oZWlnaHQ9YCR7dC5oZWlnaHR9cHhgLHRoaXMueHQ9ITApfWttKHQpe2lmKHQ8MyYmIXRoaXMueHQpcmV0dXJuO2lmKDA9PT10aGlzLlF2LndpZHRofHwwPT09dGhpcy5Rdi5oZWlnaHQpcmV0dXJuO3RoaXMueHQ9ITEsdGhpcy5mbS5hcHBseVN1Z2dlc3RlZEJpdG1hcFNpemUoKTtjb25zdCBpPSgwLGUudHJ5Q3JlYXRlQ2FudmFzUmVuZGVyaW5nVGFyZ2V0MkQpKHRoaXMuZm0se2NvbG9yU3BhY2U6dGhpcy55bi5sYXlvdXQuY29sb3JTcGFjZX0pO251bGwhPT1pJiZpLnVzZUJpdG1hcENvb3JkaW5hdGVTcGFjZSgodD0+e3RoaXMuVG0odCksdGhpcy5SbSh0KX0pKX1kdigpe3JldHVybiB0aGlzLmZtLmJpdG1hcFNpemV9ZnYodCxpLHMpe2NvbnN0IGU9dGhpcy5kdigpO2Uud2lkdGg+MCYmZS5oZWlnaHQ+MCYmdC5kcmF3SW1hZ2UodGhpcy5mbS5jYW52YXNFbGVtZW50LGkscyl9Um0oe2NvbnRleHQ6dCxiaXRtYXBTaXplOmksaG9yaXpvbnRhbFBpeGVsUmF0aW86cyx2ZXJ0aWNhbFBpeGVsUmF0aW86ZX0pe2lmKCF0aGlzLlR3KCkpcmV0dXJuO3QuZmlsbFN0eWxlPXRoaXMueW4udGltZVNjYWxlLmJvcmRlckNvbG9yO2NvbnN0IGg9TWF0aC5mbG9vcih0aGlzLndkLk4oKS5TKnMpLG49TWF0aC5mbG9vcih0aGlzLndkLk4oKS5TKmUpLHI9dGhpcy5vbT9pLndpZHRoLWg6MDt0LmZpbGxSZWN0KHIsMCxoLG4pfVRtKHtjb250ZXh0OnQsYml0bWFwU2l6ZTppfSl7ClEodCwwLDAsaS53aWR0aCxpLmhlaWdodCx0aGlzLlJ3KCkpfX1mdW5jdGlvbiBRcyh0KXtyZXR1cm4gaT0+aS5YYT8uKHQpPz9bXX1jb25zdCBEcz1Rcygibm9ybWFsIiksT3M9UXMoInRvcCIpLEtzPVFzKCJib3R0b20iKTtjbGFzcyBWc3tjb25zdHJ1Y3Rvcih0LGkpe3RoaXMuRHc9bnVsbCx0aGlzLkl3PW51bGwsdGhpcy5NPW51bGwsdGhpcy5Wdz0hMSx0aGlzLlF2PWUuc2l6ZSh7d2lkdGg6MCxoZWlnaHQ6MH0pLHRoaXMuQnc9bmV3IG0sdGhpcy5pbT1uZXcgbnQoNSksdGhpcy5ybT0hMSx0aGlzLmhtPSgpPT57dGhpcy5ybXx8dGhpcy5xdi5RdCgpLm1yKCl9LHRoaXMubG09KCk9Pnt0aGlzLnJtfHx0aGlzLnF2LlF0KCkubXIoKX0sdGhpcy5xdj10LHRoaXMueHU9aSx0aGlzLnluPXQuTigpLmxheW91dCx0aGlzLkh2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRyIiksdGhpcy5Fdz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpLHRoaXMuRXcuc3R5bGUucGFkZGluZz0iMCIsdGhpcy5Bdz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpLHRoaXMuQXcuc3R5bGUucGFkZGluZz0iMCIsdGhpcy5sdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpLHRoaXMubHYuc3R5bGUuaGVpZ2h0PSIyNXB4Iix0aGlzLmx2LnN0eWxlLnBhZGRpbmc9IjAiLHRoaXMuTHc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5Mdy5zdHlsZS53aWR0aD0iMTAwJSIsdGhpcy5Mdy5zdHlsZS5oZWlnaHQ9IjEwMCUiLHRoaXMuTHcuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIix0aGlzLkx3LnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iLHRoaXMubHYuYXBwZW5kQ2hpbGQodGhpcy5MdyksdGhpcy5mbT1fcyh0aGlzLkx3LGUuc2l6ZSh7d2lkdGg6MTYsaGVpZ2h0OjE2fSkpLHRoaXMuZm0uc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5obSk7Y29uc3Qgcz10aGlzLmZtLmNhbnZhc0VsZW1lbnQ7cy5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLHMuc3R5bGUuekluZGV4PSIxIixzLnN0eWxlLmxlZnQ9IjAiLHMuc3R5bGUudG9wPSIwIix0aGlzLnBtPV9zKHRoaXMuTHcsZS5zaXplKHt3aWR0aDoxNixoZWlnaHQ6MTZ9KSksdGhpcy5wbS5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0aGlzLmxtKTtjb25zdCBoPXRoaXMucG0uY2FudmFzRWxlbWVudDtoLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsaC5zdHlsZS56SW5kZXg9IjIiLGguc3R5bGUubGVmdD0iMCIsaC5zdHlsZS50b3A9IjAiLHRoaXMuSHYuYXBwZW5kQ2hpbGQodGhpcy5FdyksdGhpcy5Idi5hcHBlbmRDaGlsZCh0aGlzLmx2KSx0aGlzLkh2LmFwcGVuZENoaWxkKHRoaXMuQXcpLHRoaXMuencoKSx0aGlzLnF2LlF0KCkuTF8oKS5pKHRoaXMuencuYmluZCh0aGlzKSx0aGlzKSx0aGlzLnR2PW5ldyBkcyh0aGlzLnBtLmNhbnZhc0VsZW1lbnQsdGhpcyx7eHA6KCk9PiEwLENwOigpPT4hdGhpcy5xdi5OKCkuaGFuZGxlU2Nyb2xsLmhvcnpUb3VjaERyYWd9KX1tKCl7dGhpcy50di5tKCksbnVsbCE9PXRoaXMuRHcmJnRoaXMuRHcubSgpLG51bGwhPT10aGlzLkl3JiZ0aGlzLkl3Lm0oKSx0aGlzLnBtLnVuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5sbSksQ3ModGhpcy5wbS5jYW52YXNFbGVtZW50KSx0aGlzLnBtLmRpc3Bvc2UoKSx0aGlzLmZtLnVuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5obSksQ3ModGhpcy5mbS5jYW52YXNFbGVtZW50KSx0aGlzLmZtLmRpc3Bvc2UoKX11digpe3JldHVybiB0aGlzLkh2fU93KCl7cmV0dXJuIHRoaXMuRHd9TncoKXtyZXR1cm4gdGhpcy5Jd316cCh0KXtpZih0aGlzLlZ3KXJldHVybjt0aGlzLlZ3PSEwO2NvbnN0IGk9dGhpcy5xdi5RdCgpOyFpLkV0KCkuR2koKSYmdGhpcy5xdi5OKCkuaGFuZGxlU2NhbGUuYXhpc1ByZXNzZWRNb3VzZU1vdmUudGltZSYmaS56ZCh0LmxvY2FsWCl9QXAodCl7dGhpcy56cCh0KX1PcCgpe2NvbnN0IHQ9dGhpcy5xdi5RdCgpOyF0LkV0KCkuR2koKSYmdGhpcy5WdyYmKHRoaXMuVnc9ITEsdGhpcy5xdi5OKCkuaGFuZGxlU2NhbGUuYXhpc1ByZXNzZWRNb3VzZU1vdmUudGltZSYmdC4kZCgpKX1QcCh0KXtjb25zdCBpPXRoaXMucXYuUXQoKTshaS5FdCgpLkdpKCkmJnRoaXMucXYuTigpLmhhbmRsZVNjYWxlLmF4aXNQcmVzc2VkTW91c2VNb3ZlLnRpbWUmJmkuVWQodC5sb2NhbFgpfXlwKHQpe3RoaXMuUHAodCl9SXAoKXt0aGlzLlZ3PSExO2NvbnN0IHQ9dGhpcy5xdi5RdCgpO3QuRXQoKS5HaSgpJiYhdGhpcy5xdi5OKCkuaGFuZGxlU2NhbGUuYXhpc1ByZXNzZWRNb3VzZU1vdmUudGltZXx8dC4kZCgpfVJwKCl7dGhpcy5JcCgpfXVwKCl7dGhpcy5xdi5OKCkuaGFuZGxlU2NhbGUuYXhpc0RvdWJsZUNsaWNrUmVzZXQudGltZSYmdGhpcy5xdi5RdCgpLndzKCl9YXAoKXt0aGlzLnVwKCl9d3AoKXt0aGlzLnF2LlF0KCkuTigpLmhhbmRsZVNjYWxlLmF4aXNQcmVzc2VkTW91c2VNb3ZlLnRpbWUmJnRoaXMuRW0oMSl9WXAoKXt0aGlzLkVtKDApfWN2KCl7cmV0dXJuIHRoaXMuUXZ9RncoKXtyZXR1cm4gdGhpcy5Cd31Xdyh0LGkscyl7KDAsZS5lcXVhbFNpemVzKSh0aGlzLlF2LHQpfHwodGhpcy5Rdj10LHRoaXMucm09ITAsdGhpcy5mbS5yZXNpemVDYW52YXNFbGVtZW50KHQpLHRoaXMucG0ucmVzaXplQ2FudmFzRWxlbWVudCh0KSx0aGlzLnJtPSExLHRoaXMubHYuc3R5bGUud2lkdGg9YCR7dC53aWR0aH1weGAsdGhpcy5sdi5zdHlsZS5oZWlnaHQ9YCR7dC5oZWlnaHR9cHhgLHRoaXMuQncucCh0KSksbnVsbCE9PXRoaXMuRHcmJnRoaXMuRHcuQ20oZS5zaXplKHt3aWR0aDppLGhlaWdodDp0LmhlaWdodH0pKSxudWxsIT09dGhpcy5JdyYmdGhpcy5Jdy5DbShlLnNpemUoe3dpZHRoOnMsaGVpZ2h0OnQuaGVpZ2h0fSkpfUh3KCl7Y29uc3QgdD10aGlzLlV3KCk7cmV0dXJuIE1hdGguY2VpbCh0LlMrdC5DK3Quayt0LkErdC5JK3QuJHcpfWt0KCl7dGhpcy5xdi5RdCgpLkV0KCkuRWwoKX1kdigpe3JldHVybiB0aGlzLmZtLmJpdG1hcFNpemV9ZnYodCxpLHMsZSl7CmNvbnN0IGg9dGhpcy5kdigpO2lmKGgud2lkdGg+MCYmaC5oZWlnaHQ+MCYmKHQuZHJhd0ltYWdlKHRoaXMuZm0uY2FudmFzRWxlbWVudCxpLHMpLGUpKXtjb25zdCBlPXRoaXMucG0uY2FudmFzRWxlbWVudDt0LmRyYXdJbWFnZShlLGkscyl9fWttKHQpe2lmKDA9PT10KXJldHVybjtjb25zdCBpPXtjb2xvclNwYWNlOnRoaXMueW4uY29sb3JTcGFjZX07aWYoMSE9PXQpe3RoaXMuZm0uYXBwbHlTdWdnZXN0ZWRCaXRtYXBTaXplKCk7Y29uc3Qgcz0oMCxlLnRyeUNyZWF0ZUNhbnZhc1JlbmRlcmluZ1RhcmdldDJEKSh0aGlzLmZtLGkpO251bGwhPT1zJiYocy51c2VCaXRtYXBDb29yZGluYXRlU3BhY2UoKHQ9Pnt0aGlzLlRtKHQpLHRoaXMuUm0odCksdGhpcy5qdyhzLEtzKX0pKSx0aGlzLkltKHMpLHRoaXMuancocyxEcykpLG51bGwhPT10aGlzLkR3JiZ0aGlzLkR3LmttKHQpLG51bGwhPT10aGlzLkl3JiZ0aGlzLkl3LmttKHQpfXRoaXMucG0uYXBwbHlTdWdnZXN0ZWRCaXRtYXBTaXplKCk7Y29uc3Qgcz0oMCxlLnRyeUNyZWF0ZUNhbnZhc1JlbmRlcmluZ1RhcmdldDJEKSh0aGlzLnBtLGkpO251bGwhPT1zJiYocy51c2VCaXRtYXBDb29yZGluYXRlU3BhY2UoKCh7Y29udGV4dDp0LGJpdG1hcFNpemU6aX0pPT57dC5jbGVhclJlY3QoMCwwLGkud2lkdGgsaS5oZWlnaHQpfSkpLHRoaXMucXcoWy4uLnRoaXMucXYuUXQoKS5KbigpLHRoaXMucXYuUXQoKS5SZCgpXSxzKSx0aGlzLmp3KHMsT3MpKX1qdyh0LGkpe2NvbnN0IHM9dGhpcy5xdi5RdCgpLkpuKCk7Zm9yKGNvbnN0IGUgb2YgcylOcyhpLChpPT5rcyhpLHQsITEsdm9pZCAwKSksZSx2b2lkIDApO2Zvcihjb25zdCBlIG9mIHMpTnMoaSwoaT0+RXMoaSx0LCExLHZvaWQgMCkpLGUsdm9pZCAwKX1UbSh7Y29udGV4dDp0LGJpdG1hcFNpemU6aX0pe1EodCwwLDAsaS53aWR0aCxpLmhlaWdodCx0aGlzLnF2LlF0KCkuZWYoKSl9Um0oe2NvbnRleHQ6dCxiaXRtYXBTaXplOmksdmVydGljYWxQaXhlbFJhdGlvOnN9KXtpZih0aGlzLnF2Lk4oKS50aW1lU2NhbGUuYm9yZGVyVmlzaWJsZSl7dC5maWxsU3R5bGU9dGhpcy5ZdygpO2NvbnN0IGU9TWF0aC5tYXgoMSxNYXRoLmZsb29yKHRoaXMuVXcoKS5TKnMpKTt0LmZpbGxSZWN0KDAsMCxpLndpZHRoLGUpfX1JbSh0KXtjb25zdCBpPXRoaXMucXYuUXQoKS5FdCgpLHM9aS5FbCgpO2lmKCFzfHwwPT09cy5sZW5ndGgpcmV0dXJuO2NvbnN0IGU9dGhpcy54dS5tYXhUaWNrTWFya1dlaWdodChzKSxoPXRoaXMuVXcoKSxuPWkuTigpO24uYm9yZGVyVmlzaWJsZSYmbi50aWNrc1Zpc2libGUmJnQudXNlQml0bWFwQ29vcmRpbmF0ZVNwYWNlKCgoe2NvbnRleHQ6dCxob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzplfSk9Pnt0LnN0cm9rZVN0eWxlPXRoaXMuWXcoKSx0LmZpbGxTdHlsZT10aGlzLll3KCk7Y29uc3Qgbj1NYXRoLm1heCgxLE1hdGguZmxvb3IoaSkpLHI9TWF0aC5mbG9vciguNSppKTt0LmJlZ2luUGF0aCgpO2NvbnN0IG89TWF0aC5yb3VuZChoLkMqZSk7Zm9yKGxldCBlPXMubGVuZ3RoO2UtLTspe2NvbnN0IGg9TWF0aC5yb3VuZChzW2VdLmNvb3JkKmkpO3QucmVjdChoLXIsMCxuLG8pfXQuZmlsbCgpfSkpLHQudXNlTWVkaWFDb29yZGluYXRlU3BhY2UoKCh7Y29udGV4dDp0fSk9Pntjb25zdCBpPWguUytoLkMraC5BK2guay8yO3QudGV4dEFsaWduPSJjZW50ZXIiLHQudGV4dEJhc2VsaW5lPSJtaWRkbGUiLHQuZmlsbFN0eWxlPXRoaXMuSCgpLHQuZm9udD10aGlzLlNtKCk7Zm9yKGNvbnN0IGggb2YgcylpZihoLndlaWdodDxlKXtjb25zdCBzPWgubmVlZEFsaWduQ29vcmRpbmF0ZT90aGlzLkt3KHQsaC5jb29yZCxoLmxhYmVsKTpoLmNvb3JkO3QuZmlsbFRleHQoaC5sYWJlbCxzLGkpfXRoaXMucXYuTigpLnRpbWVTY2FsZS5hbGxvd0JvbGRMYWJlbHMmJih0LmZvbnQ9dGhpcy5adygpKTtmb3IoY29uc3QgaCBvZiBzKWlmKGgud2VpZ2h0Pj1lKXtjb25zdCBzPWgubmVlZEFsaWduQ29vcmRpbmF0ZT90aGlzLkt3KHQsaC5jb29yZCxoLmxhYmVsKTpoLmNvb3JkO3QuZmlsbFRleHQoaC5sYWJlbCxzLGkpfX0pKX1Ldyh0LGkscyl7Y29uc3QgZT10aGlzLmltLklpKHQscyksaD1lLzIsbj1NYXRoLmZsb29yKGktaCkrLjU7cmV0dXJuIG48MD9pKz1NYXRoLmFicygwLW4pOm4rZT50aGlzLlF2LndpZHRoJiYoaS09TWF0aC5hYnModGhpcy5Rdi53aWR0aC0obitlKSkpLGl9cXcodCxpKXtjb25zdCBzPXRoaXMuVXcoKTtmb3IoY29uc3QgZSBvZiB0KWZvcihjb25zdCB0IG9mIGUuZG4oKSl0LlR0KCkuc3QoaSxzKX1Zdygpe3JldHVybiB0aGlzLnF2Lk4oKS50aW1lU2NhbGUuYm9yZGVyQ29sb3J9SCgpe3JldHVybiB0aGlzLnluLnRleHRDb2xvcn1GKCl7cmV0dXJuIHRoaXMueW4uZm9udFNpemV9U20oKXtyZXR1cm4gXyh0aGlzLkYoKSx0aGlzLnluLmZvbnRGYW1pbHkpfVp3KCl7cmV0dXJuIF8odGhpcy5GKCksdGhpcy55bi5mb250RmFtaWx5LCJib2xkIil9VXcoKXtudWxsPT09dGhpcy5NJiYodGhpcy5NPXtTOjEsTDpOYU4sQTpOYU4sSTpOYU4sdG46TmFOLEM6NSxrOk5hTixQOiIiLFFpOm5ldyBudCwkdzowfSk7Y29uc3QgdD10aGlzLk0saT10aGlzLlNtKCk7aWYodC5QIT09aSl7Y29uc3Qgcz10aGlzLkYoKTt0Lms9cyx0LlA9aSx0LkE9MypzLzEyLHQuST0zKnMvMTIsdC50bj05KnMvMTIsdC5MPTAsdC4kdz00KnMvMTIsdC5RaS5PcygpfXJldHVybiB0aGlzLk19RW0odCl7dGhpcy5sdi5zdHlsZS5jdXJzb3I9MT09PXQ/ImV3LXJlc2l6ZSI6ImRlZmF1bHQifXp3KCl7Y29uc3QgdD10aGlzLnF2LlF0KCksaT10Lk4oKTtpLmxlZnRQcmljZVNjYWxlLnZpc2libGV8fG51bGw9PT10aGlzLkR3fHwodGhpcy5Fdy5yZW1vdmVDaGlsZCh0aGlzLkR3LnV2KCkpLHRoaXMuRHcubSgpLHRoaXMuRHc9bnVsbCksaS5yaWdodFByaWNlU2NhbGUudmlzaWJsZXx8bnVsbD09PXRoaXMuSXd8fCh0aGlzLkF3LnJlbW92ZUNoaWxkKHRoaXMuSXcudXYoKSksdGhpcy5Jdy5tKCksdGhpcy5Jdz1udWxsKTtjb25zdCBzPXtaZDp0aGlzLnF2LlF0KCkuWmQoKQp9LGU9KCk9PmkubGVmdFByaWNlU2NhbGUuYm9yZGVyVmlzaWJsZSYmdC5FdCgpLk4oKS5ib3JkZXJWaXNpYmxlLGg9KCk9PnQuZWYoKTtpLmxlZnRQcmljZVNjYWxlLnZpc2libGUmJm51bGw9PT10aGlzLkR3JiYodGhpcy5Edz1uZXcgV3MoImxlZnQiLGkscyxlLGgpLHRoaXMuRXcuYXBwZW5kQ2hpbGQodGhpcy5Edy51digpKSksaS5yaWdodFByaWNlU2NhbGUudmlzaWJsZSYmbnVsbD09PXRoaXMuSXcmJih0aGlzLkl3PW5ldyBXcygicmlnaHQiLGkscyxlLGgpLHRoaXMuQXcuYXBwZW5kQ2hpbGQodGhpcy5Jdy51digpKSl9fWNvbnN0ICRzPSEhbHMmJiEhbmF2aWdhdG9yLnVzZXJBZ2VudERhdGEmJm5hdmlnYXRvci51c2VyQWdlbnREYXRhLmJyYW5kcy5zb21lKCh0PT50LmJyYW5kLmluY2x1ZGVzKCJDaHJvbWl1bSIpKSkmJiEhbHMmJihuYXZpZ2F0b3I/LnVzZXJBZ2VudERhdGE/LnBsYXRmb3JtPyJXaW5kb3dzIj09PW5hdmlnYXRvci51c2VyQWdlbnREYXRhLnBsYXRmb3JtOm5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ3aW4iKT49MCk7Y2xhc3MgQnN7Y29uc3RydWN0b3IodCxpLHMpe3ZhciBlO3RoaXMuR3c9W10sdGhpcy5Ydz1bXSx0aGlzLkp3PTAsdGhpcy5obz0wLHRoaXMuQ189MCx0aGlzLlF3PTAsdGhpcy50TT0wLHRoaXMuaU09bnVsbCx0aGlzLm5NPSExLHRoaXMuV209bmV3IG0sdGhpcy5IbT1uZXcgbSx0aGlzLnBkPW5ldyBtLHRoaXMuc009bnVsbCx0aGlzLmVNPW51bGwsdGhpcy5qdj10LHRoaXMueW49aSx0aGlzLnh1PXMsdGhpcy5Idj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLkh2LmNsYXNzTGlzdC5hZGQoInR2LWxpZ2h0d2VpZ2h0LWNoYXJ0cyIpLHRoaXMuSHYuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIsdGhpcy5Idi5zdHlsZS5kaXJlY3Rpb249Imx0ciIsdGhpcy5Idi5zdHlsZS53aWR0aD0iMTAwJSIsdGhpcy5Idi5zdHlsZS5oZWlnaHQ9IjEwMCUiLChlPXRoaXMuSHYpLnN0eWxlLnVzZXJTZWxlY3Q9Im5vbmUiLGUuc3R5bGUud2Via2l0VXNlclNlbGVjdD0ibm9uZSIsZS5zdHlsZS5tc1VzZXJTZWxlY3Q9Im5vbmUiLGUuc3R5bGUuTW96VXNlclNlbGVjdD0ibm9uZSIsZS5zdHlsZS53ZWJraXRUYXBIaWdobGlnaHRDb2xvcj0idHJhbnNwYXJlbnQiLHRoaXMuck09ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGFibGUiKSx0aGlzLnJNLnNldEF0dHJpYnV0ZSgiY2VsbHNwYWNpbmciLCIwIiksdGhpcy5Idi5hcHBlbmRDaGlsZCh0aGlzLnJNKSx0aGlzLmhNPXRoaXMuYU0uYmluZCh0aGlzKSxBcyh0aGlzLnluKSYmdGhpcy5sTSghMCksdGhpcy5zbj1uZXcgQmkodGhpcy5tZC5iaW5kKHRoaXMpLHRoaXMueW4scyksdGhpcy5RdCgpLkRkKCkuaSh0aGlzLm9NLmJpbmQodGhpcyksdGhpcyksdGhpcy5fTT1uZXcgVnModGhpcyx0aGlzLnh1KSx0aGlzLnJNLmFwcGVuZENoaWxkKHRoaXMuX00udXYoKSk7Y29uc3QgaD1pLmF1dG9TaXplJiZ0aGlzLnVNKCk7bGV0IG49dGhpcy55bi53aWR0aCxyPXRoaXMueW4uaGVpZ2h0O2lmKGh8fDA9PT1ufHwwPT09cil7Y29uc3QgaT10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO249bnx8aS53aWR0aCxyPXJ8fGkuaGVpZ2h0fXRoaXMuY00obixyKSx0aGlzLmRNKCksdC5hcHBlbmRDaGlsZCh0aGlzLkh2KSx0aGlzLmZNKCksdGhpcy5zbi5FdCgpLlpjKCkuaSh0aGlzLnNuLlBhLmJpbmQodGhpcy5zbiksdGhpcyksdGhpcy5zbi5MXygpLmkodGhpcy5zbi5QYS5iaW5kKHRoaXMuc24pLHRoaXMpfVF0KCl7cmV0dXJuIHRoaXMuc259Tigpe3JldHVybiB0aGlzLnlufXJ2KCl7cmV0dXJuIHRoaXMuR3d9cE0oKXtyZXR1cm4gdGhpcy5fTX1tKCl7dGhpcy5sTSghMSksMCE9PXRoaXMuSncmJndpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLkp3KSx0aGlzLnNuLkRkKCkudSh0aGlzKSx0aGlzLnNuLkV0KCkuWmMoKS51KHRoaXMpLHRoaXMuc24uTF8oKS51KHRoaXMpLHRoaXMuc24ubSgpO2Zvcihjb25zdCB0IG9mIHRoaXMuR3cpdGhpcy5yTS5yZW1vdmVDaGlsZCh0LnV2KCkpLHQuZHcoKS51KHRoaXMpLHQuZncoKS51KHRoaXMpLHQubSgpO3RoaXMuR3c9W107Zm9yKGNvbnN0IHQgb2YgdGhpcy5Ydyl0aGlzLnZNKHQpO3RoaXMuWHc9W10sZih0aGlzLl9NKS5tKCksbnVsbCE9PXRoaXMuSHYucGFyZW50RWxlbWVudCYmdGhpcy5Idi5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuSHYpLHRoaXMucGQubSgpLHRoaXMuV20ubSgpLHRoaXMuSG0ubSgpLHRoaXMubU0oKX1jTSh0LGkscz0hMSl7aWYodGhpcy5obz09PWkmJnRoaXMuQ189PT10KXJldHVybjtjb25zdCBoPWZ1bmN0aW9uKHQpe2NvbnN0IGk9TWF0aC5mbG9vcih0LndpZHRoKSxzPU1hdGguZmxvb3IodC5oZWlnaHQpO3JldHVybiBlLnNpemUoe3dpZHRoOmktaSUyLGhlaWdodDpzLXMlMn0pfShlLnNpemUoe3dpZHRoOnQsaGVpZ2h0Oml9KSk7dGhpcy5obz1oLmhlaWdodCx0aGlzLkNfPWgud2lkdGg7Y29uc3Qgbj10aGlzLmhvKyJweCIscj10aGlzLkNfKyJweCI7aWYodGhpcy53TSgpfHwoZih0aGlzLkh2KS5zdHlsZS5oZWlnaHQ9bixmKHRoaXMuSHYpLnN0eWxlLndpZHRoPXIpLHRoaXMuck0uc3R5bGUuaGVpZ2h0PW4sdGhpcy5yTS5zdHlsZS53aWR0aD1yLHMpezAhPT10aGlzLkp3JiYod2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuSncpLHRoaXMuSnc9MCksdGhpcy5uTT0hMTtjb25zdCB0PVgueXMoKTtudWxsIT09dGhpcy5pTSYmKHQuU3ModGhpcy5pTSksdGhpcy5pTT1udWxsKSx0aGlzLk1NKHQscGVyZm9ybWFuY2Uubm93KCkpfWVsc2UgdGhpcy5zbi5QYSgpfWttKHQpe3ZvaWQgMD09PXQmJih0PVgueXMoKSk7Zm9yKGxldCBpPTA7aTx0aGlzLkd3Lmxlbmd0aDtpKyspdGhpcy5Hd1tpXS5rbSh0Ll9zKGkpLnJzKTt0aGlzLnluLnRpbWVTY2FsZS52aXNpYmxlJiZ0aGlzLl9NLmttKHQubHMoKSl9dnIodCl7Y29uc3QgaT1Bcyh0aGlzLnluKTt0aGlzLnNuLnZyKHQpO2NvbnN0IHM9QXModGhpcy55bik7cyE9PWkmJnRoaXMubE0ocyksdC5sYXlvdXQ/LnBhbmVzJiZ0aGlzLmdNKCksdGhpcy5mTSgpLAp0aGlzLmJNKHQpfWR3KCl7cmV0dXJuIHRoaXMuV219ZncoKXtyZXR1cm4gdGhpcy5IbX1EZCgpe3JldHVybiB0aGlzLnBkfVNNKHQ9ITEpe251bGwhPT10aGlzLmlNJiYodGhpcy5NTSh0aGlzLmlNLHBlcmZvcm1hbmNlLm5vdygpKSx0aGlzLmlNPW51bGwpO2NvbnN0IGk9dGhpcy54TShudWxsKSxzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpO3Mud2lkdGg9aS53aWR0aCxzLmhlaWdodD1pLmhlaWdodDtjb25zdCBlPWYocy5nZXRDb250ZXh0KCIyZCIpKTtyZXR1cm4gdGhpcy54TShlLHQpLHN9Q00odCl7cmV0dXJuKCJsZWZ0IiE9PXR8fHRoaXMueU0oKSkmJigicmlnaHQiIT09dHx8dGhpcy5rTSgpKT8wPT09dGhpcy5Hdy5sZW5ndGg/MDpmKCJsZWZ0Ij09PXQ/dGhpcy5Hd1swXS5TdygpOnRoaXMuR3dbMF0ueHcoKSkueW0oKTowfXdNKCl7cmV0dXJuIHRoaXMueW4uYXV0b1NpemUmJm51bGwhPT10aGlzLnNNfXZ2KCl7cmV0dXJuIHRoaXMuSHZ9UE0odCl7dGhpcy5lTT10LHRoaXMuZU0/dGhpcy52digpLnN0eWxlLnNldFByb3BlcnR5KCJjdXJzb3IiLHQpOnRoaXMudnYoKS5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgiY3Vyc29yIil9VE0oKXtyZXR1cm4gdGhpcy5lTX1STSh0KXtyZXR1cm4gYyh0aGlzLkd3W3RdKS5jdigpfWdNKCl7dGhpcy5Ydy5mb3JFYWNoKCh0PT57dC5rdCgpfSkpfWJNKHQpeyh2b2lkIDAhPT10LmF1dG9TaXplfHwhdGhpcy5zTXx8dm9pZCAwPT09dC53aWR0aCYmdm9pZCAwPT09dC5oZWlnaHQpJiYodC5hdXRvU2l6ZSYmIXRoaXMuc00mJnRoaXMudU0oKSwhMT09PXQuYXV0b1NpemUmJm51bGwhPT10aGlzLnNNJiZ0aGlzLm1NKCksdC5hdXRvU2l6ZXx8dm9pZCAwPT09dC53aWR0aCYmdm9pZCAwPT09dC5oZWlnaHR8fHRoaXMuY00odC53aWR0aHx8dGhpcy5DXyx0LmhlaWdodHx8dGhpcy5obykpfXhNKHQsaSl7bGV0IHM9MCxoPTA7Y29uc3Qgbj10aGlzLkd3WzBdLHI9KHMsZSk9PntsZXQgaD0wO2ZvcihsZXQgbj0wO248dGhpcy5Hdy5sZW5ndGg7bisrKXtjb25zdCByPXRoaXMuR3dbbl0sbz1mKCJsZWZ0Ij09PXM/ci5TdygpOnIueHcoKSksbD1vLmR2KCk7aWYobnVsbCE9PXQmJm8uZnYodCxlLGgsaSksaCs9bC5oZWlnaHQsbjx0aGlzLkd3Lmxlbmd0aC0xKXtjb25zdCBpPXRoaXMuWHdbbl0scz1pLmR2KCk7bnVsbCE9PXQmJmkuZnYodCxlLGgpLGgrPXMuaGVpZ2h0fX19O3RoaXMueU0oKSYmKHIoImxlZnQiLDApLHMrPWYobi5TdygpKS5kdigpLndpZHRoKTtmb3IobGV0IGU9MDtlPHRoaXMuR3cubGVuZ3RoO2UrKyl7Y29uc3Qgbj10aGlzLkd3W2VdLHI9bi5kdigpO2lmKG51bGwhPT10JiZuLmZ2KHQscyxoLGkpLGgrPXIuaGVpZ2h0LGU8dGhpcy5Hdy5sZW5ndGgtMSl7Y29uc3QgaT10aGlzLlh3W2VdLG49aS5kdigpO251bGwhPT10JiZpLmZ2KHQscyxoKSxoKz1uLmhlaWdodH19cys9bi5kdigpLndpZHRoLHRoaXMua00oKSYmKHIoInJpZ2h0IixzKSxzKz1mKG4ueHcoKSkuZHYoKS53aWR0aCk7Y29uc3Qgbz0oaSxzLGUpPT57ZigibGVmdCI9PT1pP3RoaXMuX00uT3coKTp0aGlzLl9NLk53KCkpLmZ2KGYodCkscyxlKX07aWYodGhpcy55bi50aW1lU2NhbGUudmlzaWJsZSl7Y29uc3Qgcz10aGlzLl9NLmR2KCk7aWYobnVsbCE9PXQpe2xldCBlPTA7dGhpcy55TSgpJiYobygibGVmdCIsZSxoKSxlPWYobi5TdygpKS5kdigpLndpZHRoKSx0aGlzLl9NLmZ2KHQsZSxoLGkpLGUrPXMud2lkdGgsdGhpcy5rTSgpJiZvKCJyaWdodCIsZSxoKX1oKz1zLmhlaWdodH1yZXR1cm4gZS5zaXplKHt3aWR0aDpzLGhlaWdodDpofSl9RE0oKXtsZXQgdD0wLGk9MCxzPTA7Zm9yKGNvbnN0IGUgb2YgdGhpcy5Hdyl0aGlzLnlNKCkmJihpPU1hdGgubWF4KGksZihlLlN3KCkpLmJtKCksdGhpcy55bi5sZWZ0UHJpY2VTY2FsZS5taW5pbXVtV2lkdGgpKSx0aGlzLmtNKCkmJihzPU1hdGgubWF4KHMsZihlLnh3KCkpLmJtKCksdGhpcy55bi5yaWdodFByaWNlU2NhbGUubWluaW11bVdpZHRoKSksdCs9ZS56XygpO2k9ZnMoaSkscz1mcyhzKTtjb25zdCBoPXRoaXMuQ18sbj10aGlzLmhvLHI9TWF0aC5tYXgoaC1pLXMsMCksbz0xKnRoaXMuWHcubGVuZ3RoLGw9dGhpcy55bi50aW1lU2NhbGUudmlzaWJsZTtsZXQgYT1sP01hdGgubWF4KHRoaXMuX00uSHcoKSx0aGlzLnluLnRpbWVTY2FsZS5taW5pbXVtSGVpZ2h0KTowO3ZhciB1O2E9KHU9YSkrdSUyO2NvbnN0IGM9bythLGQ9bjxjPzA6bi1jLG09ZC90O2xldCBwPTA7Y29uc3QgZz13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MTtmb3IobGV0IHQ9MDt0PHRoaXMuR3cubGVuZ3RoOysrdCl7Y29uc3QgaD10aGlzLkd3W3RdO2guaXcodGhpcy5zbi5abigpW3RdKTtsZXQgbj0wLG89MDtvPXQ9PT10aGlzLkd3Lmxlbmd0aC0xP01hdGguY2VpbCgoZC1wKSpnKS9nOk1hdGgucm91bmQoaC56XygpKm0qZykvZyxuPU1hdGgubWF4KG8sMikscCs9bixoLkNtKGUuc2l6ZSh7d2lkdGg6cixoZWlnaHQ6bn0pKSx0aGlzLnlNKCkmJmgubXcoaSwibGVmdCIpLHRoaXMua00oKSYmaC5tdyhzLCJyaWdodCIpLGguU3YoKSYmdGhpcy5zbi5JZChoLlN2KCksbil9dGhpcy5fTS5XdyhlLnNpemUoe3dpZHRoOmw/cjowLGhlaWdodDphfSksbD9pOjAsbD9zOjApLHRoaXMuc24uTl8ociksdGhpcy5RdyE9PWkmJih0aGlzLlF3PWkpLHRoaXMudE0hPT1zJiYodGhpcy50TT1zKX1sTSh0KXt0P3RoaXMuSHYuYWRkRXZlbnRMaXN0ZW5lcigid2hlZWwiLHRoaXMuaE0se3Bhc3NpdmU6ITF9KTp0aGlzLkh2LnJlbW92ZUV2ZW50TGlzdGVuZXIoIndoZWVsIix0aGlzLmhNKX1JTSh0KXtzd2l0Y2godC5kZWx0YU1vZGUpe2Nhc2UgdC5ET01fREVMVEFfUEFHRTpyZXR1cm4gMTIwO2Nhc2UgdC5ET01fREVMVEFfTElORTpyZXR1cm4gMzJ9cmV0dXJuICRzPzEvd2luZG93LmRldmljZVBpeGVsUmF0aW86MX1hTSh0KXtpZighKDAhPT10LmRlbHRhWCYmdGhpcy55bi5oYW5kbGVTY3JvbGwubW91c2VXaGVlbHx8MCE9PXQuZGVsdGFZJiZ0aGlzLnluLmhhbmRsZVNjYWxlLm1vdXNlV2hlZWwpKXJldHVybgo7Y29uc3QgaT10aGlzLklNKHQpLHM9aSp0LmRlbHRhWC8xMDAsZT0taSp0LmRlbHRhWS8xMDA7aWYodC5jYW5jZWxhYmxlJiZ0LnByZXZlbnREZWZhdWx0KCksMCE9PWUmJnRoaXMueW4uaGFuZGxlU2NhbGUubW91c2VXaGVlbCl7Y29uc3QgaT1NYXRoLnNpZ24oZSkqTWF0aC5taW4oMSxNYXRoLmFicyhlKSkscz10LmNsaWVudFgtdGhpcy5Idi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0O3RoaXMuUXQoKS5PZChzLGkpfTAhPT1zJiZ0aGlzLnluLmhhbmRsZVNjcm9sbC5tb3VzZVdoZWVsJiZ0aGlzLlF0KCkuTmQoLTgwKnMpfU1NKHQsaSl7Y29uc3Qgcz10LmxzKCk7Mz09PXMmJnRoaXMuVk0oKSwzIT09cyYmMiE9PXN8fCh0aGlzLkJNKHQpLHRoaXMuRU0odCxpKSx0aGlzLl9NLmt0KCksdGhpcy5Hdy5mb3JFYWNoKCh0PT57dC5zdygpfSkpLDM9PT10aGlzLmlNPy5scygpJiYodGhpcy5pTS5Tcyh0KSx0aGlzLlZNKCksdGhpcy5CTSh0aGlzLmlNKSx0aGlzLkVNKHRoaXMuaU0saSksdD10aGlzLmlNLHRoaXMuaU09bnVsbCkpLHRoaXMua20odCl9RU0odCxpKXtmb3IoY29uc3QgcyBvZiB0LmJzKCkpdGhpcy54cyhzLGkpfUJNKHQpe2NvbnN0IGk9dGhpcy5zbi5abigpO2ZvcihsZXQgcz0wO3M8aS5sZW5ndGg7cysrKXQuX3MocykuaHMmJmlbc10ucnUoKX14cyh0LGkpe2NvbnN0IHM9dGhpcy5zbi5FdCgpO3N3aXRjaCh0LmRzKXtjYXNlIDA6cy5YYygpO2JyZWFrO2Nhc2UgMTpzLkpjKHQuV3QpO2JyZWFrO2Nhc2UgMjpzLk1zKHQuV3QpO2JyZWFrO2Nhc2UgMzpzLmdzKHQuV3QpO2JyZWFrO2Nhc2UgNDpzLk9jKCk7YnJlYWs7Y2FzZSA1OnQuV3QuamMoaSl8fHMuZ3ModC5XdC5xYyhpKSl9fW1kKHQpe251bGwhPT10aGlzLmlNP3RoaXMuaU0uU3ModCk6dGhpcy5pTT10LHRoaXMubk18fCh0aGlzLm5NPSEwLHRoaXMuSnc9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgodD0+e2lmKHRoaXMubk09ITEsdGhpcy5Kdz0wLG51bGwhPT10aGlzLmlNKXtjb25zdCBpPXRoaXMuaU07dGhpcy5pTT1udWxsLHRoaXMuTU0oaSx0KTtmb3IoY29uc3QgcyBvZiBpLmJzKCkpaWYoNT09PXMuZHMmJiFzLld0LmpjKHQpKXt0aGlzLlF0KCkucHMocy5XdCk7YnJlYWt9fX0pKSl9Vk0oKXt0aGlzLmRNKCl9dk0odCl7dGhpcy5yTS5yZW1vdmVDaGlsZCh0LnV2KCkpLHQubSgpfWRNKCl7Y29uc3QgdD10aGlzLnNuLlpuKCksaT10Lmxlbmd0aCxzPXRoaXMuR3cubGVuZ3RoO2ZvcihsZXQgdD1pO3Q8czt0Kyspe2NvbnN0IHQ9Yyh0aGlzLkd3LnBvcCgpKTt0aGlzLnJNLnJlbW92ZUNoaWxkKHQudXYoKSksdC5kdygpLnUodGhpcyksdC5mdygpLnUodGhpcyksdC5tKCk7Y29uc3QgaT10aGlzLlh3LnBvcCgpO3ZvaWQgMCE9PWkmJnRoaXMudk0oaSl9Zm9yKGxldCBlPXM7ZTxpO2UrKyl7Y29uc3QgaT1uZXcgcXModGhpcyx0W2VdKTtpZihpLmR3KCkuaSh0aGlzLkFNLmJpbmQodGhpcyxpKSx0aGlzKSxpLmZ3KCkuaSh0aGlzLkxNLmJpbmQodGhpcyxpKSx0aGlzKSx0aGlzLkd3LnB1c2goaSksZT4wKXtjb25zdCB0PW5ldyB3cyh0aGlzLGUtMSxlKTt0aGlzLlh3LnB1c2godCksdGhpcy5yTS5pbnNlcnRCZWZvcmUodC51digpLHRoaXMuX00udXYoKSl9dGhpcy5yTS5pbnNlcnRCZWZvcmUoaS51digpLHRoaXMuX00udXYoKSl9Zm9yKGxldCBzPTA7czxpO3MrKyl7Y29uc3QgaT10W3NdLGU9dGhpcy5Hd1tzXTtlLlN2KCkhPT1pP2UuaXcoaSk6ZS50dygpfXRoaXMuZk0oKSx0aGlzLkRNKCl9ek0odCxpLHMsZSl7Y29uc3QgaD1uZXcgTWFwO2xldCBuO2lmKG51bGwhPT10JiZ0aGlzLnNuLkpuKCkuZm9yRWFjaCgoaT0+e2NvbnN0IHM9aS5VbigpLkhuKHQpO251bGwhPT1zJiZoLnNldChpLHMpfSkpLG51bGwhPT10KXtjb25zdCBpPXRoaXMuc24uRXQoKS5lbih0KT8ub3JpZ2luYWxUaW1lO3ZvaWQgMCE9PWkmJihuPWkpfWNvbnN0IHI9dGhpcy5RdCgpLm91KCksbz10aGlzLk9NKGUpLGw9ZnVuY3Rpb24odCxpKXtjb25zdCBzPW51bGwhPT10JiZ0Lmx1IGluc3RhbmNlb2YganQ/dC5sdTp2b2lkIDAsZT10Py53dT8udGUsaD12b2lkIDAhPT1pJiYtMSE9PWk/aTp2b2lkIDA7cmV0dXJuIG51bGw9PT10fHx2b2lkIDA9PT10LmVlP3tOTTpzLEZNOmV9OntOTTpzLEZNOmUsV006e2RzOnQuZWUsSE06KG49dC5sdSxyPXQuZWUsbiBpbnN0YW5jZW9mIF9pPyJwYW5lLXByaW1pdGl2ZSI6Im1hcmtlciI9PT1yfHwicHJpbWl0aXZlIj09PXI/InNlcmllcy1wcmltaXRpdmUiOiJzZXJpZXMiKSxVTTpjcyh0LmVlLGUpLFVfOnMsJE06ZSxqTTpofX07dmFyIG4scn0ocixvKTtyZXR1cm57UXI6biwkbjp0Pz92b2lkIDAscU06aT8/dm9pZCAwLGpNOi0xIT09bz9vOnZvaWQgMCxOTTpsLk5NLFlNOmgsRk06bC5GTSxXTTpsLldNLEtNOnM/P3ZvaWQgMH19T00odCl7bGV0IGk9LTE7aWYodClpPXRoaXMuR3cuaW5kZXhPZih0KTtlbHNle2NvbnN0IHQ9dGhpcy5RdCgpLlJkKCkuS24oKTtudWxsIT09dCYmKGk9dGhpcy5RdCgpLlpuKCkuaW5kZXhPZih0KSl9cmV0dXJuIGl9QU0odCxpLHMsZSl7dGhpcy5XbS5wKCgoKT0+dGhpcy56TShpLHMsZSx0KSkpfUxNKHQsaSxzLGUpe3RoaXMuSG0ucCgoKCk9PnRoaXMuek0oaSxzLGUsdCkpKX1vTSh0LGkscyl7dGhpcy5QTSh0aGlzLlF0KCkub3UoKT8ubXU/P251bGwpLHRoaXMucGQucCgoKCk9PnRoaXMuek0odCxpLHMpKSl9Zk0oKXtjb25zdCB0PXRoaXMueW4udGltZVNjYWxlLnZpc2libGU/IiI6Im5vbmUiO3RoaXMuX00udXYoKS5zdHlsZS5kaXNwbGF5PXR9eU0oKXtyZXR1cm4gdGhpcy5Hd1swXS5TdigpLktfKCkuTigpLnZpc2libGV9a00oKXtyZXR1cm4gdGhpcy5Hd1swXS5TdigpLlpfKCkuTigpLnZpc2libGV9dU0oKXtyZXR1cm4iUmVzaXplT2JzZXJ2ZXIiaW4gd2luZG93JiYodGhpcy5zTT1uZXcgUmVzaXplT2JzZXJ2ZXIoKHQ9Pntjb25zdCBpPXRbdC5sZW5ndGgtMV07aWYoIWkpcmV0dXJuO2NvbnN0IHM9aS5jb250ZW50UmVjdC53aWR0aCxlPWkuY29udGVudFJlY3QuaGVpZ2h0O3RoaXMuY00ocyxlLCEwKX0pKSx0aGlzLnNNLm9ic2VydmUodGhpcy5qdix7CmJveDoiYm9yZGVyLWJveCJ9KSwhMCl9bU0oKXtudWxsIT09dGhpcy5zTSYmdGhpcy5zTS5kaXNjb25uZWN0KCksdGhpcy5zTT1udWxsfX1mdW5jdGlvbiBBcyh0KXtyZXR1cm4gQm9vbGVhbih0LmhhbmRsZVNjcm9sbC5tb3VzZVdoZWVsfHx0LmhhbmRsZVNjYWxlLm1vdXNlV2hlZWwpfWZ1bmN0aW9uIFpzKHQpe3JldHVybiB2b2lkIDA9PT10Lm9wZW4mJnZvaWQgMD09PXQudmFsdWV9ZnVuY3Rpb24gSHModCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDAhPT10Lm9wZW59KHQpfHxmdW5jdGlvbih0KXtyZXR1cm4gdm9pZCAwIT09dC52YWx1ZX0odCl9ZnVuY3Rpb24gR3ModCxpLHMsZSl7Y29uc3QgaD1zLnZhbHVlLG49eyRuOmksd3Q6dCxXdDpbaCxoLGgsaF0sUXI6ZX07cmV0dXJuIHZvaWQgMCE9PXMuY29sb3ImJihuLlI9cy5jb2xvciksbn1mdW5jdGlvbiBVcyh0LGkscyxlKXtjb25zdCBoPXMudmFsdWUsbj17JG46aSx3dDp0LFd0OltoLGgsaCxoXSxRcjplfTtyZXR1cm4gdm9pZCAwIT09cy5saW5lQ29sb3ImJihuLnZ0PXMubGluZUNvbG9yKSx2b2lkIDAhPT1zLnRvcENvbG9yJiYobi5haD1zLnRvcENvbG9yKSx2b2lkIDAhPT1zLmJvdHRvbUNvbG9yJiYobi5vaD1zLmJvdHRvbUNvbG9yKSxufWZ1bmN0aW9uIFlzKHQsaSxzLGUpe2NvbnN0IGg9cy52YWx1ZSxuPXskbjppLHd0OnQsV3Q6W2gsaCxoLGhdLFFyOmV9O3JldHVybiB2b2lkIDAhPT1zLnRvcExpbmVDb2xvciYmKG4uX2g9cy50b3BMaW5lQ29sb3IpLHZvaWQgMCE9PXMuYm90dG9tTGluZUNvbG9yJiYobi51aD1zLmJvdHRvbUxpbmVDb2xvciksdm9pZCAwIT09cy50b3BGaWxsQ29sb3IxJiYobi5kaD1zLnRvcEZpbGxDb2xvcjEpLHZvaWQgMCE9PXMudG9wRmlsbENvbG9yMiYmKG4uZmg9cy50b3BGaWxsQ29sb3IyKSx2b2lkIDAhPT1zLmJvdHRvbUZpbGxDb2xvcjEmJihuLnBoPXMuYm90dG9tRmlsbENvbG9yMSksdm9pZCAwIT09cy5ib3R0b21GaWxsQ29sb3IyJiYobi5taD1zLmJvdHRvbUZpbGxDb2xvcjIpLG59ZnVuY3Rpb24ganModCxpLHMsZSl7Y29uc3QgaD17JG46aSx3dDp0LFd0OltzLm9wZW4scy5oaWdoLHMubG93LHMuY2xvc2VdLFFyOmV9O3JldHVybiB2b2lkIDAhPT1zLmNvbG9yJiYoaC5SPXMuY29sb3IpLGh9ZnVuY3Rpb24gWHModCxpLHMsZSl7Y29uc3QgaD17JG46aSx3dDp0LFd0OltzLm9wZW4scy5oaWdoLHMubG93LHMuY2xvc2VdLFFyOmV9O3JldHVybiB2b2lkIDAhPT1zLmNvbG9yJiYoaC5SPXMuY29sb3IpLHZvaWQgMCE9PXMuYm9yZGVyQ29sb3ImJihoLkh0PXMuYm9yZGVyQ29sb3IpLHZvaWQgMCE9PXMud2lja0NvbG9yJiYoaC5oaD1zLndpY2tDb2xvciksaH1mdW5jdGlvbiBKcyh0LGkscyxlLGgpe2NvbnN0IG49YyhoKShzKSxyPU1hdGgubWF4KC4uLm4pLG89TWF0aC5taW4oLi4ubiksbD1uW24ubGVuZ3RoLTFdLGE9W2wscixvLGxdLHt0aW1lOnUsY29sb3I6ZiwuLi5kfT1zO3JldHVybnskbjppLHd0OnQsV3Q6YSxRcjplLHVlOmQsUjpmfX1mdW5jdGlvbiB0ZSh0KXtyZXR1cm4gdm9pZCAwIT09dC5XdH1mdW5jdGlvbiBpZSh0LGkpe3JldHVybiB2b2lkIDAhPT1pLmN1c3RvbVZhbHVlcyYmKHQuWk09aS5jdXN0b21WYWx1ZXMpLHR9ZnVuY3Rpb24gc2UodCl7cmV0dXJuKGkscyxlLGgsbixyKT0+ZnVuY3Rpb24odCxpKXtyZXR1cm4gaT9pKHQpOlpzKHQpfShlLHIpP2llKHt3dDppLCRuOnMsUXI6aH0sZSk6aWUodChpLHMsZSxoLG4pLGUpfWZ1bmN0aW9uIGVlKHQpe3JldHVybntDYW5kbGVzdGljazpzZShYcyksQmFyOnNlKGpzKSxBcmVhOnNlKFVzKSxCYXNlbGluZTpzZShZcyksSGlzdG9ncmFtOnNlKEdzKSxMaW5lOnNlKEdzKSxDdXN0b206c2UoSnMpfVt0XX1mdW5jdGlvbiBoZSh0KXtyZXR1cm57JG46MCxHTTpuZXcgTWFwLHphOnR9fWZ1bmN0aW9uIG5lKHQsaSl7aWYodm9pZCAwIT09dCYmMCE9PXQubGVuZ3RoKXJldHVybntYTTppLmtleSh0WzBdLnd0KSxKTTppLmtleSh0W3QubGVuZ3RoLTFdLnd0KX19ZnVuY3Rpb24gcmUodCl7bGV0IGk7cmV0dXJuIHQuZm9yRWFjaCgodD0+e3ZvaWQgMD09PWkmJihpPXQuUXIpfSkpLGMoaSl9Y2xhc3Mgb2V7Y29uc3RydWN0b3IodCl7dGhpcy5RTT1uZXcgTWFwLHRoaXMudGc9bmV3IE1hcCx0aGlzLmlnPW5ldyBNYXAsdGhpcy5uZz1bXSx0aGlzLnh1PXR9bSgpe3RoaXMuUU0uY2xlYXIoKSx0aGlzLnRnLmNsZWFyKCksdGhpcy5pZy5jbGVhcigpLHRoaXMubmc9W119c2codCxpKXtsZXQgcz0wIT09dGhpcy5RTS5zaXplLGU9ITE7Y29uc3QgaD10aGlzLnRnLmdldCh0KTtpZih2b2lkIDAhPT1oKWlmKDE9PT10aGlzLnRnLnNpemUpcz0hMSxlPSEwLHRoaXMuUU0uY2xlYXIoKTtlbHNlIGZvcihjb25zdCBpIG9mIHRoaXMubmcpaS5wb2ludERhdGEuR00uZGVsZXRlKHQpJiYoZT0hMCk7bGV0IG49W107aWYoMCE9PWkubGVuZ3RoKXtjb25zdCBzPWkubWFwKCh0PT50LnRpbWUpKSxoPXRoaXMueHUuY3JlYXRlQ29udmVydGVyVG9JbnRlcm5hbE9iaihpKSxyPWVlKHQuYmgoKSksbz10LmxsKCksbD10Lm9sKCk7bj1pLm1hcCgoKGksbik9Pntjb25zdCBhPWgoaS50aW1lKSx1PXRoaXMueHUua2V5KGEpO2xldCBjPXRoaXMuUU0uZ2V0KHUpO3ZvaWQgMD09PWMmJihjPWhlKGEpLHRoaXMuUU0uc2V0KHUsYyksZT0hMCk7Y29uc3QgZj1yKGEsYy4kbixpLHNbbl0sbyxsKTtyZXR1cm4gYy5HTS5zZXQodCxmKSxmfSkpfXMmJnRoaXMuZWcoKSx0aGlzLnJnKHQsbik7bGV0IHI9LTE7aWYoZSl7Y29uc3QgdD1bXTt0aGlzLlFNLmZvckVhY2goKGk9Pnt0LnB1c2goe3RpbWVXZWlnaHQ6MCx0aW1lOmkuemEscG9pbnREYXRhOmksb3JpZ2luYWxUaW1lOnJlKGkuR00pfSl9KSksdC5zb3J0KCgodCxpKT0+dGhpcy54dS5rZXkodC50aW1lKS10aGlzLnh1LmtleShpLnRpbWUpKSkscj10aGlzLmhnKHQpfXJldHVybiB0aGlzLmFnKHQscixmdW5jdGlvbih0LGkscyl7Y29uc3QgZT1uZSh0LHMpLGg9bmUoaSxzKTtpZih2b2lkIDAhPT1lJiZ2b2lkIDAhPT1oKXJldHVybntsZzohMSxJYTplLkpNPj1oLkpNJiZlLlhNPj1oLlhNfQp9KHRoaXMudGcuZ2V0KHQpLGgsdGhpcy54dSkpfUpkKHQpe3JldHVybiB0aGlzLnNnKHQsW10pfW9nKHQsaSxzKXtpZihzJiZ0Lk5hKCkpdGhyb3cgbmV3IEVycm9yKCJIaXN0b3JpY2FsIHVwZGF0ZXMgYXJlIG5vdCBzdXBwb3J0ZWQgd2hlbiBjb25mbGF0aW9uIGlzIGVuYWJsZWQuIENvbmZsYXRpb24gcmVxdWlyZXMgZGF0YSB0byBiZSBwcm9jZXNzZWQgaW4gb3JkZXIuIik7Y29uc3QgZT1pOyFmdW5jdGlvbih0KXt2b2lkIDA9PT10LlFyJiYodC5Rcj10LnRpbWUpfShlKSx0aGlzLnh1LnByZXByb2Nlc3NEYXRhKGkpO2NvbnN0IGg9dGhpcy54dS5jcmVhdGVDb252ZXJ0ZXJUb0ludGVybmFsT2JqKFtpXSkoaS50aW1lKSxuPXRoaXMuaWcuZ2V0KHQpO2lmKCFzJiZ2b2lkIDAhPT1uJiZ0aGlzLnh1LmtleShoKTx0aGlzLnh1LmtleShuKSl0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCB1cGRhdGUgb2xkZXN0IGRhdGEsIGxhc3QgdGltZT0ke259LCBuZXcgdGltZT0ke2h9YCk7bGV0IHI9dGhpcy5RTS5nZXQodGhpcy54dS5rZXkoaCkpO2lmKHMmJnZvaWQgMD09PXIpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgdXBkYXRlIG5vbi1leGlzdGluZyBkYXRhIHBvaW50IHdoZW4gaGlzdG9yaWNhbFVwZGF0ZSBpcyB0cnVlIik7Y29uc3Qgbz12b2lkIDA9PT1yO3ZvaWQgMD09PXImJihyPWhlKGgpLHRoaXMuUU0uc2V0KHRoaXMueHUua2V5KGgpLHIpKTtjb25zdCBsPWVlKHQuYmgoKSksYT10LmxsKCksdT10Lm9sKCksYz1sKGgsci4kbixpLGUuUXIsYSx1KSxmPSFzJiYhbyYmdm9pZCAwIT09biYmdGhpcy54dS5rZXkoaCk9PT10aGlzLnh1LmtleShuKTtyLkdNLnNldCh0LGMpLHM/dGhpcy5fZyh0LGMsci4kbik6ZiYmdC5OYSgpJiZ0ZShjKT8odC5ScihjKSx0aGlzLnVnKHQsYykpOnRoaXMudWcodCxjKTtjb25zdCBkPXtJYTp0ZShjKSxsZzpzfTtpZighbylyZXR1cm4gdGhpcy5hZyh0LC0xLGQpO2NvbnN0IG09e3RpbWVXZWlnaHQ6MCx0aW1lOnIuemEscG9pbnREYXRhOnIsb3JpZ2luYWxUaW1lOnJlKHIuR00pfSxwPU50KHRoaXMubmcsdGhpcy54dS5rZXkobS50aW1lKSwoKHQsaSk9PnRoaXMueHUua2V5KHQudGltZSk8aSkpO3RoaXMubmcuc3BsaWNlKHAsMCxtKTtmb3IobGV0IHQ9cDt0PHRoaXMubmcubGVuZ3RoOysrdClsZSh0aGlzLm5nW3RdLnBvaW50RGF0YSx0KTtyZXR1cm4gdGhpcy54dS5maWxsV2VpZ2h0c0ZvclBvaW50cyh0aGlzLm5nLHApLHRoaXMuYWcodCxwLGQpfWNnKHQsaSl7Y29uc3Qgcz10aGlzLnRnLmdldCh0KTtpZih2b2lkIDA9PT1zfHxpPD0wKXJldHVybltbXSx0aGlzLmRnKCldO2k9TWF0aC5taW4oaSxzLmxlbmd0aCk7Y29uc3QgZT1zLnNwbGljZSgtaSkucmV2ZXJzZSgpOzA9PT1zLmxlbmd0aD90aGlzLmlnLmRlbGV0ZSh0KTp0aGlzLmlnLnNldCh0LHNbcy5sZW5ndGgtMV0ud3QpO2Zvcihjb25zdCBpIG9mIGUpe2NvbnN0IHM9dGhpcy5RTS5nZXQodGhpcy54dS5rZXkoaS53dCkpO2lmKHMmJihzLkdNLmRlbGV0ZSh0KSwwPT09cy5HTS5zaXplKSl7dGhpcy5RTS5kZWxldGUodGhpcy54dS5rZXkocy56YSkpLHRoaXMubmcuc3BsaWNlKHMuJG4sMSk7Zm9yKGxldCB0PXMuJG47dDx0aGlzLm5nLmxlbmd0aDsrK3QpbGUodGhpcy5uZ1t0XS5wb2ludERhdGEsdCl9fXJldHVybltlLHRoaXMuYWcodCx0aGlzLm5nLmxlbmd0aC0xLHtsZzohMSxJYTohMX0pXX11Zyh0LGkpe2xldCBzPXRoaXMudGcuZ2V0KHQpO3ZvaWQgMD09PXMmJihzPVtdLHRoaXMudGcuc2V0KHQscykpO2NvbnN0IGU9MCE9PXMubGVuZ3RoP3Nbcy5sZW5ndGgtMV06bnVsbDtudWxsPT09ZXx8dGhpcy54dS5rZXkoaS53dCk+dGhpcy54dS5rZXkoZS53dCk/dGUoaSkmJnMucHVzaChpKTp0ZShpKT9zW3MubGVuZ3RoLTFdPWk6cy5zcGxpY2UoLTEsMSksdGhpcy5pZy5zZXQodCxpLnd0KX1fZyh0LGkscyl7Y29uc3QgZT10aGlzLnRnLmdldCh0KTtpZih2b2lkIDA9PT1lKXJldHVybjtjb25zdCBoPU50KGUscywoKHQsaSk9PnQuJG48aSkpO3RlKGkpP2VbaF09aTplLnNwbGljZShoLDEpfXJnKHQsaSl7MCE9PWkubGVuZ3RoPyh0aGlzLnRnLnNldCh0LGkuZmlsdGVyKHRlKSksdGhpcy5pZy5zZXQodCxpW2kubGVuZ3RoLTFdLnd0KSk6KHRoaXMudGcuZGVsZXRlKHQpLHRoaXMuaWcuZGVsZXRlKHQpKX1lZygpe2Zvcihjb25zdCB0IG9mIHRoaXMubmcpMD09PXQucG9pbnREYXRhLkdNLnNpemUmJnRoaXMuUU0uZGVsZXRlKHRoaXMueHUua2V5KHQudGltZSkpfWhnKHQpe2xldCBpPS0xO2ZvcihsZXQgcz0wO3M8dGhpcy5uZy5sZW5ndGgmJnM8dC5sZW5ndGg7KytzKXtjb25zdCBlPXRoaXMubmdbc10saD10W3NdO2lmKHRoaXMueHUua2V5KGUudGltZSkhPT10aGlzLnh1LmtleShoLnRpbWUpKXtpPXM7YnJlYWt9aC50aW1lV2VpZ2h0PWUudGltZVdlaWdodCxsZShoLnBvaW50RGF0YSxzKX1pZigtMT09PWkmJnRoaXMubmcubGVuZ3RoIT09dC5sZW5ndGgmJihpPU1hdGgubWluKHRoaXMubmcubGVuZ3RoLHQubGVuZ3RoKSksLTE9PT1pKXJldHVybi0xO2ZvcihsZXQgcz1pO3M8dC5sZW5ndGg7KytzKWxlKHRbc10ucG9pbnREYXRhLHMpO3JldHVybiB0aGlzLnh1LmZpbGxXZWlnaHRzRm9yUG9pbnRzKHQsaSksdGhpcy5uZz10LGl9ZmcoKXtpZigwPT09dGhpcy50Zy5zaXplKXJldHVybiBudWxsO2xldCB0PTA7cmV0dXJuIHRoaXMudGcuZm9yRWFjaCgoaT0+ezAhPT1pLmxlbmd0aCYmKHQ9TWF0aC5tYXgodCxpW2kubGVuZ3RoLTFdLiRuKSl9KSksdH1hZyh0LGkscyl7Y29uc3QgZT10aGlzLmRnKCk7aWYoLTEhPT1pKXRoaXMudGcuZm9yRWFjaCgoKGksaCk9PntlLlVfLnNldChoLHt1ZTppLHBnOmg9PT10P3M6dm9pZCAwfSl9KSksdGhpcy50Zy5oYXModCl8fGUuVV8uc2V0KHQse3VlOltdLHBnOnN9KSxlLkV0LnZnPXRoaXMubmcsZS5FdC5tZz1pO2Vsc2V7Y29uc3QgaT10aGlzLnRnLmdldCh0KTtlLlVfLnNldCh0LHt1ZTppfHxbXSxwZzpzfSl9cmV0dXJuIGV9ZGcoKXtyZXR1cm57VV86bmV3IE1hcCxFdDp7UGM6dGhpcy5mZygpfX19fWZ1bmN0aW9uIGxlKHQsaSl7dC4kbj1pLHQuR00uZm9yRWFjaCgodD0+e3QuJG49aQp9KSl9ZnVuY3Rpb24gYWUodCxpKXtyZXR1cm4gdC5fdDxpfWZ1bmN0aW9uIHVlKHQsaSl7cmV0dXJuIGk8dC5fdH1mdW5jdGlvbiBjZSh0LGkscyxlKXtyZXR1cm4gTnQodCxpLGFlLHMsZSl9ZnVuY3Rpb24gZmUodCxpLHMsZSl7cmV0dXJuIFR0KHQsaSx1ZSxzLGUpfWZ1bmN0aW9uIGRlKHQsaSxzKXtyZXR1cm57bmU6dCxzZTppLGVlOnN9fWZ1bmN0aW9uIG1lKHQsaSxzLGUpe3JldHVybiB0Pj1pLWUmJnQ8PXMrZX1mdW5jdGlvbiBwZSh0LGkscyxlLGgsbil7Y29uc3Qgcj1oLXMsbz1uLWU7aWYoMD09PXImJjA9PT1vKXJldHVybiBNYXRoLmh5cG90KHQtcyxpLWUpO2NvbnN0IGw9KCh0LXMpKnIrKGktZSkqbykvKHIqcitvKm8pLGE9TWF0aC5tYXgoMCxNYXRoLm1pbigxLGwpKSx1PXMrciphLGM9ZStvKmE7cmV0dXJuIE1hdGguaHlwb3QodC11LGktYyl9Y29uc3QgZ2U9WzAsMF07ZnVuY3Rpb24gdmUodCxpLHMpe3JldHVybiB2b2lkIDA9PT1pfHxpLnd0IT09dC53dC0xP3QuX3Qtcy8yOihpLl90K3QuX3QpLzJ9ZnVuY3Rpb24gYmUodCxpLHMpe3JldHVybiB2b2lkIDA9PT1pfHxpLnd0IT09dC53dCsxP3QuX3Qrcy8yOih0Ll90K2kuX3QpLzJ9ZnVuY3Rpb24gd2UodCxpLHMsZSxoLG4scil7aWYobnVsbD09PWl8fGkuZnJvbT49aS50b3x8MD09PXQubGVuZ3RoKXJldHVybiBudWxsO2NvbnN0IG89aC8yK24sbD1jZSh0LHMtbyxpLmZyb20saS50byksYT1mZSh0LHMrbyxsLGkudG8pO2lmKGw+PWEpcmV0dXJuIG51bGw7bGV0IHU9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZO2ZvcihsZXQgbz1sO288YTtvKyspe2NvbnN0IGw9dFtvXSxhPW8+aS5mcm9tP3Rbby0xXTp2b2lkIDAsYz1vPGkudG8tMT90W28rMV06dm9pZCAwLGY9dmUobCxhLGgpLW4sZD1iZShsLGMsaCkrbjtpZihzPGZ8fHM+ZCljb250aW51ZTtyKGwsZ2UpO2NvbnN0IG09Z2VbMF0scD1nZVsxXSxnPU1hdGgubWluKG0scCksdj1NYXRoLm1heChtLHApLGI9Zy1uLHc9dituO2lmKGU+PWcmJmU8PXYpdT1NYXRoLm1pbih1LDApO2Vsc2UgaWYoZT49YiYmZTw9dyl7Y29uc3QgdD1NYXRoLm1pbihNYXRoLmFicyhlLWcpLE1hdGguYWJzKHYtZSkpO3U9TWF0aC5taW4odSx0KX19cmV0dXJuIE51bWJlci5pc0Zpbml0ZSh1KT9kZSh1LDAsInNlcmllcy1yYW5nZSIpOm51bGx9ZnVuY3Rpb24gTWUodCxpKXtyZXR1cm4gdC53dDxpfWZ1bmN0aW9uIHllKHQsaSl7cmV0dXJuIGk8dC53dH1mdW5jdGlvbiBTZSh0LGkscyl7Y29uc3QgZT1pLk9hKCksaD1pLmJpKCksbj1OdCh0LGUsTWUpLHI9VHQodCxoLHllKTtpZighcylyZXR1cm57ZnJvbTpuLHRvOnJ9O2xldCBvPW4sbD1yO3JldHVybiBuPjAmJm48dC5sZW5ndGgmJnRbbl0ud3Q+PWUmJihvPW4tMSkscj4wJiZyPHQubGVuZ3RoJiZ0W3ItMV0ud3Q8PWgmJihsPXIrMSkse2Zyb206byx0bzpsfX1jbGFzcyB4ZXtjb25zdHJ1Y3Rvcih0LGkscyl7dGhpcy53Zz0hMCx0aGlzLk1nPSEwLHRoaXMuZ2c9ITAsdGhpcy5iZz1bXSx0aGlzLlNnPW51bGwsdGhpcy54Zz0tMSx0aGlzLmFlPXQsdGhpcy5sZT1pLHRoaXMuQ2c9c31rdCh0KXt0aGlzLndnPSEwLCJkYXRhIj09PXQmJih0aGlzLk1nPSEwKSwib3B0aW9ucyI9PT10JiYodGhpcy5nZz0hMCl9VHQoKXtyZXR1cm4gdGhpcy5hZS5JdCgpPyh0aGlzLnlnKCksbnVsbD09PXRoaXMuU2c/bnVsbDp0aGlzLmtnKTpudWxsfVFzKHQsaSl7cmV0dXJuIHRoaXMuYWUuSXQoKT8odGhpcy55ZygpLG51bGw9PT10aGlzLlNnP251bGw6dGhpcy5QZyh0LGkpKTpudWxsfVBnKHQsaSl7cmV0dXJuIG51bGx9VGcoKXt0aGlzLmJnPXRoaXMuYmcubWFwKCh0PT4oey4uLnQsLi4udGhpcy5hZS5TYSgpLlNoKHQud3QpfSkpKX1SZygpe3RoaXMuU2c9bnVsbH15Zygpe2NvbnN0IHQ9dGhpcy5sZS5FdCgpLGk9dC5OKCkuZW5hYmxlQ29uZmxhdGlvbj90LlFjKCk6MDtpIT09dGhpcy54ZyYmKHRoaXMuTWc9ITAsdGhpcy54Zz1pKSx0aGlzLk1nJiYodGhpcy5EZygpLHRoaXMuTWc9ITEpLHRoaXMuZ2cmJih0aGlzLlRnKCksdGhpcy5nZz0hMSksdGhpcy53ZyYmKHRoaXMuSWcoKSx0aGlzLndnPSExKX1JZygpe2NvbnN0IHQ9dGhpcy5hZS5GdCgpLGk9dGhpcy5sZS5FdCgpO2lmKHRoaXMuUmcoKSxpLkdpKCl8fHQuR2koKSlyZXR1cm47Y29uc3Qgcz1pLkVlKCk7aWYobnVsbD09PXMpcmV0dXJuO2lmKDA9PT10aGlzLmFlLlVuKCkuVGgoKSlyZXR1cm47Y29uc3QgZT10aGlzLmFlLkx0KCk7bnVsbCE9PWUmJih0aGlzLlNnPVNlKHRoaXMuYmcscyx0aGlzLkNnKSx0aGlzLlZnKHQsaSxlLld0KSx0aGlzLkJnKCkpfX1jbGFzcyBfZXtjb25zdHJ1Y3Rvcih0LGkpe3RoaXMuRWc9dCx0aGlzLktpPWl9c3QodCxpLHMpe3RoaXMuRWcuZHJhdyh0LHRoaXMuS2ksaSxzKX19ZnVuY3Rpb24gQ2UodCl7c3dpdGNoKHQpe2Nhc2UicG9pbnQiOnJldHVybiAyO2Nhc2UicmFuZ2UiOnJldHVybiAwO2RlZmF1bHQ6cmV0dXJuIDF9fWNsYXNzIGtlIGV4dGVuZHMgeGV7Y29uc3RydWN0b3IodCxpLHMpe3N1cGVyKHQsaSwhMSksdGhpcy5ZaD1zLHRoaXMuRWc9dGhpcy5ZaC5yZW5kZXJlcigpLHRoaXMua2c9bmV3IF9lKHRoaXMuRWcsKHQ9PnRoaXMuQWcodCkpKX1nZXQgZ2EoKXtyZXR1cm4gdGhpcy5ZaC5jb25mbGF0aW9uUmVkdWNlcn1XYSh0KXtyZXR1cm4gdGhpcy5ZaC5wcmljZVZhbHVlQnVpbGRlcih0KX1fbCh0KXtyZXR1cm4gdGhpcy5ZaC5pc1doaXRlc3BhY2UodCl9UGcodCxpKXtjb25zdCBzPXRoaXMuRWcuaGl0VGVzdD8uKHQsaSwodD0+dGhpcy5BZyh0KSkpO2lmKG51bGwhPXMpcmV0dXJue25lOihlPXMpLmRpc3RhbmNlLHNlOkNlKGUudHlwZSksZWU6ImN1c3RvbSIsbXU6ZS5jdXJzb3JTdHlsZSx0ZTplLm9iamVjdElkLGllOmUuaGl0VGVzdERhdGF9O3ZhciBlO2NvbnN0IGg9d2UodGhpcy5iZyx0aGlzLlNnLHQsaSx0aGlzLmxlLkV0KCkuZmwoKSx0aGlzLmFlLk4oKS5oaXRUZXN0VG9sZXJhbmNlLCgodCxpKT0+e2NvbnN0IHM9dC5MZztsZXQgZT1OYU4saD1OYU4KO2lmKHZvaWQgMCE9PXMmJiF0aGlzLlloLmlzV2hpdGVzcGFjZShzKSlmb3IoY29uc3QgdCBvZiB0aGlzLlloLnByaWNlVmFsdWVCdWlsZGVyKHMpKXtjb25zdCBpPXRoaXMuQWcodCk7bnVsbCE9PWkmJihlPU51bWJlci5pc05hTihlKT9pOk1hdGgubWluKGUsaSksaD1OdW1iZXIuaXNOYU4oaCk/aTpNYXRoLm1heChoLGkpKX1pWzBdPWUsaVsxXT1ofSkpO3JldHVybiBudWxsPT09aD9udWxsOnsuLi5oLGVlOiJjdXN0b20ifX1EZygpe2NvbnN0IHQ9dGhpcy5hZS5TYSgpO3RoaXMuYmc9dGhpcy5hZS5IYSgpLkJoKCkubWFwKChpPT4oe3d0OmkuJG4sX3Q6TmFOLC4uLnQuU2goaS4kbiksTGc6aS51ZX0pKSl9VmcodCxpKXtpLlRjKHRoaXMuYmcsUyh0aGlzLlNnKSl9QmcoKXt0aGlzLlloLnVwZGF0ZSh7YmFyczp0aGlzLmJnLm1hcChFZSksYmFyU3BhY2luZzp0aGlzLmxlLkV0KCkuZmwoKSx2aXNpYmxlUmFuZ2U6dGhpcy5TZyxjb25mbGF0aW9uRmFjdG9yOnRoaXMubGUuRXQoKS5RYygpfSx0aGlzLmFlLk4oKSl9QWcodCl7Y29uc3QgaT10aGlzLmFlLkx0KCk7cmV0dXJuIG51bGw9PT1pP251bGw6dGhpcy5hZS5GdCgpLk50KHQsaS5XdCl9fWZ1bmN0aW9uIEVlKHQpe3JldHVybnt4OnQuX3QsdGltZTp0Lnd0LG9yaWdpbmFsRGF0YTp0LkxnLGJhckNvbG9yOnQuc2h9fWNvbnN0IE5lPXtjb2xvcjoiIzIxOTZmMyJ9LFRlPSh0LGkscyk9Pntjb25zdCBlPWQocyk7cmV0dXJuIG5ldyBrZSh0LGksZSl9O2Z1bmN0aW9uIFJlKHQpe2NvbnN0IGk9e3ZhbHVlOnQuV3RbM10sdGltZTp0LlFyfTtyZXR1cm4gdm9pZCAwIT09dC5aTSYmKGkuY3VzdG9tVmFsdWVzPXQuWk0pLGl9ZnVuY3Rpb24gUGUodCl7Y29uc3QgaT1SZSh0KTtyZXR1cm4gdm9pZCAwIT09dC5SJiYoaS5jb2xvcj10LlIpLGl9ZnVuY3Rpb24gemUodCl7Y29uc3QgaT1SZSh0KTtyZXR1cm4gdm9pZCAwIT09dC52dCYmKGkubGluZUNvbG9yPXQudnQpLHZvaWQgMCE9PXQuYWgmJihpLnRvcENvbG9yPXQuYWgpLHZvaWQgMCE9PXQub2gmJihpLmJvdHRvbUNvbG9yPXQub2gpLGl9ZnVuY3Rpb24gSWUodCl7Y29uc3QgaT1SZSh0KTtyZXR1cm4gdm9pZCAwIT09dC5faCYmKGkudG9wTGluZUNvbG9yPXQuX2gpLHZvaWQgMCE9PXQudWgmJihpLmJvdHRvbUxpbmVDb2xvcj10LnVoKSx2b2lkIDAhPT10LmRoJiYoaS50b3BGaWxsQ29sb3IxPXQuZGgpLHZvaWQgMCE9PXQuZmgmJihpLnRvcEZpbGxDb2xvcjI9dC5maCksdm9pZCAwIT09dC5waCYmKGkuYm90dG9tRmlsbENvbG9yMT10LnBoKSx2b2lkIDAhPT10Lm1oJiYoaS5ib3R0b21GaWxsQ29sb3IyPXQubWgpLGl9ZnVuY3Rpb24gTGUodCl7Y29uc3QgaT17b3Blbjp0Lld0WzBdLGhpZ2g6dC5XdFsxXSxsb3c6dC5XdFsyXSxjbG9zZTp0Lld0WzNdLHRpbWU6dC5Rcn07cmV0dXJuIHZvaWQgMCE9PXQuWk0mJihpLmN1c3RvbVZhbHVlcz10LlpNKSxpfWZ1bmN0aW9uIEZlKHQpe2NvbnN0IGk9TGUodCk7cmV0dXJuIHZvaWQgMCE9PXQuUiYmKGkuY29sb3I9dC5SKSxpfWZ1bmN0aW9uIHFlKHQpe2NvbnN0IGk9TGUodCkse1I6cyxIdDplLGhoOmh9PXQ7cmV0dXJuIHZvaWQgMCE9PXMmJihpLmNvbG9yPXMpLHZvaWQgMCE9PWUmJihpLmJvcmRlckNvbG9yPWUpLHZvaWQgMCE9PWgmJihpLndpY2tDb2xvcj1oKSxpfWZ1bmN0aW9uIFdlKHQpe3JldHVybntBcmVhOnplLExpbmU6UGUsQmFzZWxpbmU6SWUsSGlzdG9ncmFtOlBlLEJhcjpGZSxDYW5kbGVzdGljazpxZSxDdXN0b206UWV9W3RdfWZ1bmN0aW9uIFFlKHQpe2NvbnN0IGk9dC5RcjtyZXR1cm57Li4udC51ZSx0aW1lOml9fWNvbnN0IERlPXt2ZXJ0TGluZTp7Y29sb3I6IiM5NTk4QTEiLHdpZHRoOjEsc3R5bGU6Myx2aXNpYmxlOiEwLGxhYmVsVmlzaWJsZTohMCxsYWJlbEJhY2tncm91bmRDb2xvcjoiIzEzMTcyMiJ9LGhvcnpMaW5lOntjb2xvcjoiIzk1OThBMSIsd2lkdGg6MSxzdHlsZTozLHZpc2libGU6ITAsbGFiZWxWaXNpYmxlOiEwLGxhYmVsQmFja2dyb3VuZENvbG9yOiIjMTMxNzIyIn0sbW9kZToxLGRvTm90U25hcFRvSGlkZGVuU2VyaWVzSW5kaWNlczohMX0sT2U9e3ZlcnRMaW5lczp7Y29sb3I6IiNENkRDREUiLHN0eWxlOjAsdmlzaWJsZTohMH0saG9yekxpbmVzOntjb2xvcjoiI0Q2RENERSIsc3R5bGU6MCx2aXNpYmxlOiEwfX0sS2U9e2JhY2tncm91bmQ6e3R5cGU6InNvbGlkIixjb2xvcjoiI0ZGRkZGRiJ9LHRleHRDb2xvcjoiIzE5MTkxOSIsZm9udFNpemU6MTIsZm9udEZhbWlseTp4LHBhbmVzOntlbmFibGVSZXNpemU6ITAsc2VwYXJhdG9yQ29sb3I6IiNFMEUzRUIiLHNlcGFyYXRvckhvdmVyQ29sb3I6InJnYmEoMTc4LCAxODEsIDE4OSwgMC4yKSJ9LGF0dHJpYnV0aW9uTG9nbzohMCxjb2xvclNwYWNlOiJzcmdiIixjb2xvclBhcnNlcnM6W119LFZlPXthdXRvU2NhbGU6ITAsbW9kZTowLGludmVydFNjYWxlOiExLGFsaWduTGFiZWxzOiEwLGJvcmRlclZpc2libGU6ITAsYm9yZGVyQ29sb3I6IiMyQjJCNDMiLGVudGlyZVRleHRPbmx5OiExLHZpc2libGU6ITEsdGlja3NWaXNpYmxlOiExLHNjYWxlTWFyZ2luczp7Ym90dG9tOi4xLHRvcDouMn0sbWluaW11bVdpZHRoOjAsZW5zdXJlRWRnZVRpY2tNYXJrc1Zpc2libGU6ITEsdGlja01hcmtEZW5zaXR5OjIuNX0sJGU9e3JpZ2h0T2Zmc2V0OjAsYmFyU3BhY2luZzo2LG1pbkJhclNwYWNpbmc6LjUsbWF4QmFyU3BhY2luZzowLGZpeExlZnRFZGdlOiExLGZpeFJpZ2h0RWRnZTohMSxsb2NrVmlzaWJsZVRpbWVSYW5nZU9uUmVzaXplOiExLHJpZ2h0QmFyU3RheXNPblNjcm9sbDohMSxib3JkZXJWaXNpYmxlOiEwLGJvcmRlckNvbG9yOiIjMkIyQjQzIix2aXNpYmxlOiEwLHRpbWVWaXNpYmxlOiExLHNlY29uZHNWaXNpYmxlOiEwLHNoaWZ0VmlzaWJsZVJhbmdlT25OZXdCYXI6ITAsYWxsb3dTaGlmdFZpc2libGVSYW5nZU9uV2hpdGVzcGFjZVJlcGxhY2VtZW50OiExLHRpY2tzVmlzaWJsZTohMSx1bmlmb3JtRGlzdHJpYnV0aW9uOiExLG1pbmltdW1IZWlnaHQ6MCxhbGxvd0JvbGRMYWJlbHM6ITAsaWdub3JlV2hpdGVzcGFjZUluZGljZXM6ITEsZW5hYmxlQ29uZmxhdGlvbjohMSwKY29uZmxhdGlvblRocmVzaG9sZEZhY3RvcjoxLHByZWNvbXB1dGVDb25mbGF0aW9uT25Jbml0OiExLHByZWNvbXB1dGVDb25mbGF0aW9uUHJpb3JpdHk6ImJhY2tncm91bmQifTtmdW5jdGlvbiBCZSgpe3JldHVybnthZGREZWZhdWx0UGFuZTohMCxob3ZlcmVkU2VyaWVzT25Ub3A6ITAsd2lkdGg6MCxoZWlnaHQ6MCxhdXRvU2l6ZTohMSxsYXlvdXQ6S2UsY3Jvc3NoYWlyOkRlLGdyaWQ6T2Usb3ZlcmxheVByaWNlU2NhbGVzOnsuLi5WZX0sbGVmdFByaWNlU2NhbGU6ey4uLlZlLHZpc2libGU6ITF9LHJpZ2h0UHJpY2VTY2FsZTp7Li4uVmUsdmlzaWJsZTohMH0sZGVmYXVsdFZpc2libGVQcmljZVNjYWxlSWQ6InJpZ2h0Iix0aW1lU2NhbGU6JGUsbG9jYWxpemF0aW9uOntsb2NhbGU6bHM/bmF2aWdhdG9yLmxhbmd1YWdlOiIiLGRhdGVGb3JtYXQ6ImRkIE1NTSAneXkifSxoYW5kbGVTY3JvbGw6e21vdXNlV2hlZWw6ITAscHJlc3NlZE1vdXNlTW92ZTohMCxob3J6VG91Y2hEcmFnOiEwLHZlcnRUb3VjaERyYWc6ITB9LGhhbmRsZVNjYWxlOntheGlzUHJlc3NlZE1vdXNlTW92ZTp7dGltZTohMCxwcmljZTohMH0sYXhpc0RvdWJsZUNsaWNrUmVzZXQ6e3RpbWU6ITAscHJpY2U6ITB9LG1vdXNlV2hlZWw6ITAscGluY2g6ITB9LGtpbmV0aWNTY3JvbGw6e21vdXNlOiExLHRvdWNoOiEwfSx0cmFja2luZ01vZGU6e2V4aXRNb2RlOjF9fX1jbGFzcyBBZXtjb25zdHJ1Y3Rvcih0LGkscyl7dGhpcy5zdj10LHRoaXMuemc9aSx0aGlzLk9nPXM/PzB9YXBwbHlPcHRpb25zKHQpe3RoaXMuc3YuUXQoKS5QZCh0aGlzLnpnLHQsdGhpcy5PZyl9b3B0aW9ucygpe3JldHVybiB0aGlzLktpKCkuTigpfXdpZHRoKCl7cmV0dXJuIGoodGhpcy56Zyk/dGhpcy5zdi5DTSh0aGlzLnpnKTowfXNldFZpc2libGVSYW5nZSh0KXt0aGlzLnNldEF1dG9TY2FsZSghMSksdGhpcy5LaSgpLnFvKG5ldyB2dCh0LmZyb20sdC50bykpfWdldFZpc2libGVSYW5nZSgpe2xldCB0LGkscz10aGlzLktpKCkuYXIoKTtpZihudWxsPT09cylyZXR1cm4gbnVsbDtpZih0aGlzLktpKCkuc28oKSl7Y29uc3QgZT10aGlzLktpKCkuTV8oKSxoPUFpKGUpO3M9bWkocyx0aGlzLktpKCkucm8oKSksdD1OdW1iZXIoKE1hdGgucm91bmQocy5KZSgpL2UpKmUpLnRvRml4ZWQoaCkpLGk9TnVtYmVyKChNYXRoLnJvdW5kKHMuUWUoKS9lKSplKS50b0ZpeGVkKGgpKX1lbHNlIHQ9cy5KZSgpLGk9cy5RZSgpO3JldHVybntmcm9tOnQsdG86aX19c2V0QXV0b1NjYWxlKHQpe3RoaXMuYXBwbHlPcHRpb25zKHthdXRvU2NhbGU6dH0pfUtpKCl7cmV0dXJuIGYodGhpcy5zdi5RdCgpLlRkKHRoaXMuemcsdGhpcy5PZykpLkZ0fX1jbGFzcyBaZXtjb25zdHJ1Y3Rvcih0LGkscyxlKXt0aGlzLnN2PXQsdGhpcy55dD1zLHRoaXMuTmc9aSx0aGlzLkZnPWV9Z2V0SGVpZ2h0KCl7cmV0dXJuIHRoaXMueXQuJHQoKX1zZXRIZWlnaHQodCl7Y29uc3QgaT10aGlzLnN2LlF0KCkscz1pLmhmKHRoaXMueXQpO2kuQmQocyx0KX1nZXRTdHJldGNoRmFjdG9yKCl7cmV0dXJuIHRoaXMueXQuel8oKX1zZXRTdHJldGNoRmFjdG9yKHQpe3RoaXMueXQuT18odCksdGhpcy5zdi5RdCgpLlBhKCl9cGFuZUluZGV4KCl7cmV0dXJuIHRoaXMuc3YuUXQoKS5oZih0aGlzLnl0KX1tb3ZlVG8odCl7Y29uc3QgaT10aGlzLnBhbmVJbmRleCgpO2khPT10JiYodSh0Pj0wJiZ0PHRoaXMuc3YucnYoKS5sZW5ndGgsIkludmFsaWQgcGFuZSBpbmRleCIpLHRoaXMuc3YuUXQoKS5BZChpLHQpKX1nZXRTZXJpZXMoKXtyZXR1cm4gdGhpcy55dC5VXygpLm1hcCgodD0+dGhpcy5OZyh0KSkpPz9bXX1nZXRIVE1MRWxlbWVudCgpe2NvbnN0IHQ9dGhpcy5zdi5ydigpO3JldHVybiB0JiYwIT09dC5sZW5ndGgmJnRbdGhpcy5wYW5lSW5kZXgoKV0/dFt0aGlzLnBhbmVJbmRleCgpXS51digpOm51bGx9YXR0YWNoUHJpbWl0aXZlKHQpe3RoaXMueXQuaGwodCksdC5hdHRhY2hlZCYmdC5hdHRhY2hlZCh7Y2hhcnQ6dGhpcy5GZyxyZXF1ZXN0VXBkYXRlOigpPT50aGlzLnl0LlF0KCkuUGEoKX0pfWRldGFjaFByaW1pdGl2ZSh0KXt0aGlzLnl0LmFsKHQpfXByaWNlU2NhbGUodCl7aWYobnVsbD09PXRoaXMueXQuQV8odCkpdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgZmluZCBwcmljZSBzY2FsZSB3aXRoIGlkOiAke3R9YCk7cmV0dXJuIG5ldyBBZSh0aGlzLnN2LHQsdGhpcy5wYW5lSW5kZXgoKSl9c2V0UHJlc2VydmVFbXB0eVBhbmUodCl7dGhpcy55dC5XXyh0KX1wcmVzZXJ2ZUVtcHR5UGFuZSgpe3JldHVybiB0aGlzLnl0LkhfKCl9YWRkQ3VzdG9tU2VyaWVzKHQsaT17fSxzPTApe3JldHVybiB0aGlzLkZnLmFkZEN1c3RvbVNlcmllcyh0LGkscyl9YWRkU2VyaWVzKHQsaT17fSl7cmV0dXJuIHRoaXMuRmcuYWRkU2VyaWVzKHQsaSx0aGlzLnBhbmVJbmRleCgpKX19Y29uc3QgSGU9e2NvbG9yOiIjRkYwMDAwIixwcmljZTowLGxpbmVTdHlsZToyLGxpbmVXaWR0aDoxLGxpbmVWaXNpYmxlOiEwLGF4aXNMYWJlbFZpc2libGU6ITAsdGl0bGU6IiIsYXhpc0xhYmVsQ29sb3I6IiIsYXhpc0xhYmVsVGV4dENvbG9yOiIifTtjbGFzcyBHZXtjb25zdHJ1Y3Rvcih0KXt0aGlzLl9yPXR9YXBwbHlPcHRpb25zKHQpe3RoaXMuX3IudnIodCl9b3B0aW9ucygpe3JldHVybiB0aGlzLl9yLk4oKX1XZygpe3JldHVybiB0aGlzLl9yfX1jbGFzcyBVZXtjb25zdHJ1Y3Rvcih0LGkscyxlLGgsbil7dGhpcy5IZz1uZXcgbSx0aGlzLmFlPXQsdGhpcy5VZz1pLHRoaXMuJGc9cyx0aGlzLnh1PWgsdGhpcy5GZz1lLHRoaXMuamc9bn1tKCl7dGhpcy5IZy5tKCl9cHJpY2VGb3JtYXR0ZXIoKXtyZXR1cm4gdGhpcy5hZS50bCgpfXByaWNlVG9Db29yZGluYXRlKHQpe2NvbnN0IGk9dGhpcy5hZS5MdCgpO3JldHVybiBudWxsPT09aT9udWxsOnRoaXMuYWUuRnQoKS5OdCh0LGkuV3QpfWNvb3JkaW5hdGVUb1ByaWNlKHQpe2NvbnN0IGk9dGhpcy5hZS5MdCgpO3JldHVybiBudWxsPT09aT9udWxsOnRoaXMuYWUuRnQoKS5Ubih0LGkuV3QpfWJhcnNJbkxvZ2ljYWxSYW5nZSh0KXtpZihudWxsPT09dClyZXR1cm4gbnVsbAo7Y29uc3QgaT1uZXcgcWkobmV3IElpKHQuZnJvbSx0LnRvKSkuRnUoKSxzPXRoaXMuYWUuVW4oKTtpZihzLkdpKCkpcmV0dXJuIG51bGw7Y29uc3QgZT1zLkhuKGkuT2EoKSwxKSxoPXMuSG4oaS5iaSgpLC0xKSxuPWYocy5SaCgpKSxyPWYocy5RbigpKTtpZihudWxsIT09ZSYmbnVsbCE9PWgmJmUuJG4+aC4kbilyZXR1cm57YmFyc0JlZm9yZTp0LmZyb20tbixiYXJzQWZ0ZXI6ci10LnRvfTtjb25zdCBvPXtiYXJzQmVmb3JlOm51bGw9PT1lfHxlLiRuPT09bj90LmZyb20tbjplLiRuLW4sYmFyc0FmdGVyOm51bGw9PT1ofHxoLiRuPT09cj9yLXQudG86ci1oLiRufTtyZXR1cm4gbnVsbCE9PWUmJm51bGwhPT1oJiYoby5mcm9tPWUuUXIsby50bz1oLlFyKSxvfXNldERhdGEodCl7dGhpcy54dSx0aGlzLmFlLmJoKCksdGhpcy5VZy5xZyh0aGlzLmFlLHQpLHRoaXMuWWcoImZ1bGwiKX11cGRhdGUodCxpPSExKXt0aGlzLmFlLmJoKCksdGhpcy5VZy5LZyh0aGlzLmFlLHQsaSksdGhpcy5ZZygidXBkYXRlIil9cG9wKHQ9MSl7Y29uc3QgaT10aGlzLlVnLlpnKHRoaXMuYWUsdCk7MCE9PWkubGVuZ3RoJiZ0aGlzLllnKCJ1cGRhdGUiKTtjb25zdCBzPVdlKHRoaXMuc2VyaWVzVHlwZSgpKTtyZXR1cm4gaS5tYXAoKHQ9PnModCkpKX1kYXRhQnlJbmRleCh0LGkpe2NvbnN0IHM9dGhpcy5hZS5VbigpLkhuKHQsaSk7cmV0dXJuIG51bGw9PT1zP251bGw6V2UodGhpcy5zZXJpZXNUeXBlKCkpKHMpfWRhdGEoKXtjb25zdCB0PVdlKHRoaXMuc2VyaWVzVHlwZSgpKTtyZXR1cm4gdGhpcy5hZS5VbigpLkJoKCkubWFwKChpPT50KGkpKSl9c3Vic2NyaWJlRGF0YUNoYW5nZWQodCl7dGhpcy5IZy5pKHQpfXVuc3Vic2NyaWJlRGF0YUNoYW5nZWQodCl7dGhpcy5IZy5fKHQpfWFwcGx5T3B0aW9ucyh0KXt0aGlzLmFlLnZyKHQpfW9wdGlvbnMoKXtyZXR1cm4gTSh0aGlzLmFlLk4oKSl9cHJpY2VTY2FsZSgpe3JldHVybiB0aGlzLiRnLnByaWNlU2NhbGUodGhpcy5hZS5GdCgpLmNsKCksdGhpcy5nZXRQYW5lKCkucGFuZUluZGV4KCkpfWNyZWF0ZVByaWNlTGluZSh0KXtjb25zdCBpPXAoTShIZSksdCkscz10aGlzLmFlLkJhKGkpO3JldHVybiBuZXcgR2Uocyl9cmVtb3ZlUHJpY2VMaW5lKHQpe3RoaXMuYWUuRWEodC5XZygpKX1wcmljZUxpbmVzKCl7cmV0dXJuIHRoaXMuYWUuQWEoKS5tYXAoKHQ9Pm5ldyBHZSh0KSkpfXNlcmllc1R5cGUoKXtyZXR1cm4gdGhpcy5hZS5iaCgpfWxhc3RWYWx1ZURhdGEodCl7Y29uc3QgaT10aGlzLmFlLkFlKHQpO3JldHVybiBpLkxlP3tub0RhdGE6ITB9Ontub0RhdGE6ITEscHJpY2U6aS5NdCxjb2xvcjppLlJ9fWF0dGFjaFByaW1pdGl2ZSh0KXt0aGlzLmFlLmhsKHQpLHQuYXR0YWNoZWQmJnQuYXR0YWNoZWQoe2NoYXJ0OnRoaXMuRmcsc2VyaWVzOnRoaXMscmVxdWVzdFVwZGF0ZTooKT0+dGhpcy5hZS5RdCgpLlBhKCksaG9yelNjYWxlQmVoYXZpb3I6dGhpcy54dX0pfWRldGFjaFByaW1pdGl2ZSh0KXt0aGlzLmFlLmFsKHQpLHQuZGV0YWNoZWQmJnQuZGV0YWNoZWQoKSx0aGlzLmFlLlF0KCkuUGEoKX1nZXRQYW5lKCl7Y29uc3QgdD10aGlzLmFlLGk9Zih0aGlzLmFlLlF0KCkuS3ModCkpO3JldHVybiB0aGlzLmpnKGkpfW1vdmVUb1BhbmUodCl7dGhpcy5hZS5RdCgpLm5mKHRoaXMuYWUsdCl9c2VyaWVzT3JkZXIoKXtjb25zdCB0PXRoaXMuYWUuUXQoKS5Lcyh0aGlzLmFlKTtyZXR1cm4gbnVsbD09PXQ/LTE6dC5VXygpLmluZGV4T2YodGhpcy5hZSl9c2V0U2VyaWVzT3JkZXIodCl7Y29uc3QgaT10aGlzLmFlLlF0KCkuS3ModGhpcy5hZSk7bnVsbCE9PWkmJmkuZHUodGhpcy5hZSx0KX1ZZyh0KXt0aGlzLkhnLnYoKSYmdGhpcy5IZy5wKHQpfX1jbGFzcyBZZXtjb25zdHJ1Y3Rvcih0LGkscyl7dGhpcy5HZz1uZXcgbSx0aGlzLkd1PW5ldyBtLHRoaXMuQnc9bmV3IG0sdGhpcy5zbj10LHRoaXMuaWE9dC5FdCgpLHRoaXMuX009aSx0aGlzLmlhLlljKCkuaSh0aGlzLlhnLmJpbmQodGhpcykpLHRoaXMuaWEuS2MoKS5pKHRoaXMuSmcuYmluZCh0aGlzKSksdGhpcy5fTS5GdygpLmkodGhpcy5RZy5iaW5kKHRoaXMpKSx0aGlzLnh1PXN9bSgpe3RoaXMuaWEuWWMoKS51KHRoaXMpLHRoaXMuaWEuS2MoKS51KHRoaXMpLHRoaXMuX00uRncoKS51KHRoaXMpLHRoaXMuR2cubSgpLHRoaXMuR3UubSgpLHRoaXMuQncubSgpfXNjcm9sbFBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuaWEuQWMoKX1zY3JvbGxUb1Bvc2l0aW9uKHQsaSl7aT90aGlzLmlhLiRjKHQsMWUzKTp0aGlzLnNuLmdzKHQpfXNjcm9sbFRvUmVhbFRpbWUoKXt0aGlzLmlhLlVjKCl9Z2V0VmlzaWJsZVJhbmdlKCl7Y29uc3QgdD10aGlzLmlhLmdjKCk7cmV0dXJuIG51bGw9PT10P251bGw6e2Zyb206dC5mcm9tLm9yaWdpbmFsVGltZSx0bzp0LnRvLm9yaWdpbmFsVGltZX19c2V0VmlzaWJsZVJhbmdlKHQpe2NvbnN0IGk9e2Zyb206dGhpcy54dS5jb252ZXJ0SG9yekl0ZW1Ub0ludGVybmFsKHQuZnJvbSksdG86dGhpcy54dS5jb252ZXJ0SG9yekl0ZW1Ub0ludGVybmFsKHQudG8pfSxzPXRoaXMuaWEuQ2MoaSk7dGhpcy5zbi50ZihzKX1nZXRWaXNpYmxlTG9naWNhbFJhbmdlKCl7Y29uc3QgdD10aGlzLmlhLk1jKCk7cmV0dXJuIG51bGw9PT10P251bGw6e2Zyb206dC5PYSgpLHRvOnQuYmkoKX19c2V0VmlzaWJsZUxvZ2ljYWxSYW5nZSh0KXt1KHQuZnJvbTw9dC50bywiVGhlIGZyb20gaW5kZXggY2Fubm90IGJlIGFmdGVyIHRoZSB0byBpbmRleC4iKSx0aGlzLnNuLnRmKHQpfXJlc2V0VGltZVNjYWxlKCl7dGhpcy5zbi53cygpfWZpdENvbnRlbnQoKXt0aGlzLnNuLlhjKCl9bG9naWNhbFRvQ29vcmRpbmF0ZSh0KXtjb25zdCBpPXRoaXMuc24uRXQoKTtyZXR1cm4gaS5HaSgpP251bGw6aS5qdCh0KX1jb29yZGluYXRlVG9Mb2dpY2FsKHQpe3JldHVybiB0aGlzLmlhLkdpKCk/bnVsbDp0aGlzLmlhLlJjKHQpfXRpbWVUb0luZGV4KHQsaSl7Y29uc3Qgcz10aGlzLnh1LmNvbnZlcnRIb3J6SXRlbVRvSW50ZXJuYWwodCk7cmV0dXJuIHRoaXMuaWEudmMocyxpKX10aW1lVG9Db29yZGluYXRlKHQpewpjb25zdCBpPXRoaXMudGltZVRvSW5kZXgodCwhMSk7cmV0dXJuIG51bGw9PT1pP251bGw6dGhpcy5pYS5qdChpKX1jb29yZGluYXRlVG9UaW1lKHQpe2NvbnN0IGk9dGhpcy5zbi5FdCgpLHM9aS5SYyh0KSxlPWkuZW4ocyk7cmV0dXJuIG51bGw9PT1lP251bGw6ZS5vcmlnaW5hbFRpbWV9d2lkdGgoKXtyZXR1cm4gdGhpcy5fTS5jdigpLndpZHRofWhlaWdodCgpe3JldHVybiB0aGlzLl9NLmN2KCkuaGVpZ2h0fXN1YnNjcmliZVZpc2libGVUaW1lUmFuZ2VDaGFuZ2UodCl7dGhpcy5HZy5pKHQpfXVuc3Vic2NyaWJlVmlzaWJsZVRpbWVSYW5nZUNoYW5nZSh0KXt0aGlzLkdnLl8odCl9c3Vic2NyaWJlVmlzaWJsZUxvZ2ljYWxSYW5nZUNoYW5nZSh0KXt0aGlzLkd1LmkodCl9dW5zdWJzY3JpYmVWaXNpYmxlTG9naWNhbFJhbmdlQ2hhbmdlKHQpe3RoaXMuR3UuXyh0KX1zdWJzY3JpYmVTaXplQ2hhbmdlKHQpe3RoaXMuQncuaSh0KX11bnN1YnNjcmliZVNpemVDaGFuZ2UodCl7dGhpcy5Cdy5fKHQpfWFwcGx5T3B0aW9ucyh0KXt0aGlzLmlhLnZyKHQpfW9wdGlvbnMoKXtyZXR1cm57Li4uTSh0aGlzLmlhLk4oKSksYmFyU3BhY2luZzp0aGlzLmlhLmZsKCl9fVhnKCl7dGhpcy5HZy52KCkmJnRoaXMuR2cucCh0aGlzLmdldFZpc2libGVSYW5nZSgpKX1KZygpe3RoaXMuR3UudigpJiZ0aGlzLkd1LnAodGhpcy5nZXRWaXNpYmxlTG9naWNhbFJhbmdlKCkpfVFnKHQpe3RoaXMuQncucCh0LndpZHRoLHQuaGVpZ2h0KX19ZnVuY3Rpb24gamUodCl7cmV0dXJuIGZ1bmN0aW9uKHQpe2lmKHcodC5oYW5kbGVTY2FsZSkpe2NvbnN0IGk9dC5oYW5kbGVTY2FsZTt0LmhhbmRsZVNjYWxlPXtheGlzRG91YmxlQ2xpY2tSZXNldDp7dGltZTppLHByaWNlOml9LGF4aXNQcmVzc2VkTW91c2VNb3ZlOnt0aW1lOmkscHJpY2U6aX0sbW91c2VXaGVlbDppLHBpbmNoOml9fWVsc2UgaWYodm9pZCAwIT09dC5oYW5kbGVTY2FsZSl7Y29uc3R7YXhpc1ByZXNzZWRNb3VzZU1vdmU6aSxheGlzRG91YmxlQ2xpY2tSZXNldDpzfT10LmhhbmRsZVNjYWxlO3coaSkmJih0LmhhbmRsZVNjYWxlLmF4aXNQcmVzc2VkTW91c2VNb3ZlPXt0aW1lOmkscHJpY2U6aX0pLHcocykmJih0LmhhbmRsZVNjYWxlLmF4aXNEb3VibGVDbGlja1Jlc2V0PXt0aW1lOnMscHJpY2U6c30pfWNvbnN0IGk9dC5oYW5kbGVTY3JvbGw7dyhpKSYmKHQuaGFuZGxlU2Nyb2xsPXtob3J6VG91Y2hEcmFnOmksdmVydFRvdWNoRHJhZzppLG1vdXNlV2hlZWw6aSxwcmVzc2VkTW91c2VNb3ZlOml9KX0odCksdH1jbGFzcyBYZXtjb25zdHJ1Y3Rvcih0LGkscyl7dGhpcy50Yj1uZXcgTWFwLHRoaXMuaWI9bmV3IE1hcCx0aGlzLm5iPW5ldyBtLHRoaXMuc2I9bmV3IG0sdGhpcy5lYj1uZXcgbSx0aGlzLm9kPW5ldyBXZWFrTWFwLHRoaXMucmI9bmV3IG9lKGkpO2NvbnN0IGU9dm9pZCAwPT09cz9NKEJlKCkpOnAoTShCZSgpKSxqZShzKSk7dGhpcy5oYj1pLHRoaXMuc3Y9bmV3IEJzKHQsZSxpKSx0aGlzLnN2LmR3KCkuaSgodD0+e3RoaXMubmIudigpJiZ0aGlzLm5iLnAodGhpcy5hYih0KCkpKX0pLHRoaXMpLHRoaXMuc3YuZncoKS5pKCh0PT57dGhpcy5zYi52KCkmJnRoaXMuc2IucCh0aGlzLmFiKHQoKSkpfSksdGhpcyksdGhpcy5zdi5EZCgpLmkoKHQ9Pnt0aGlzLmViLnYoKSYmdGhpcy5lYi5wKHRoaXMuYWIodCgpKSl9KSx0aGlzKTtjb25zdCBoPXRoaXMuc3YuUXQoKTt0aGlzLmxiPW5ldyBZZShoLHRoaXMuc3YucE0oKSx0aGlzLmhiKX1yZW1vdmUoKXt0aGlzLnN2LmR3KCkudSh0aGlzKSx0aGlzLnN2LmZ3KCkudSh0aGlzKSx0aGlzLnN2LkRkKCkudSh0aGlzKSx0aGlzLmxiLm0oKSx0aGlzLnN2Lm0oKSx0aGlzLnRiLmNsZWFyKCksdGhpcy5pYi5jbGVhcigpLHRoaXMubmIubSgpLHRoaXMuc2IubSgpLHRoaXMuZWIubSgpLHRoaXMucmIubSgpfXJlc2l6ZSh0LGkscyl7dGhpcy5hdXRvU2l6ZUFjdGl2ZSgpfHx0aGlzLnN2LmNNKHQsaSxzKX1hZGRDdXN0b21TZXJpZXModCxpPXt9LHM9MCl7Y29uc3QgZT0odD0+KHt0eXBlOiJDdXN0b20iLGlzQnVpbHRJbjohMSxkZWZhdWx0T3B0aW9uczp7Li4uTmUsLi4udC5kZWZhdWx0T3B0aW9ucygpfSxvYjpUZSxfYjp0fSkpKGQodCkpO3JldHVybiB0aGlzLnViKGUsaSxzKX1hZGRTZXJpZXModCxpPXt9LHM9MCl7cmV0dXJuIHRoaXMudWIodCxpLHMpfXJlbW92ZVNlcmllcyh0KXtjb25zdCBpPWModGhpcy50Yi5nZXQodCkpLHM9dGhpcy5yYi5KZChpKTt0aGlzLnN2LlF0KCkuSmQoaSksdGhpcy5jYihzKSx0aGlzLnRiLmRlbGV0ZSh0KSx0aGlzLmliLmRlbGV0ZShpKX1xZyh0LGkpe3RoaXMuY2IodGhpcy5yYi5zZyh0LGkpKX1LZyh0LGkscyl7dGhpcy5jYih0aGlzLnJiLm9nKHQsaSxzKSl9WmcodCxpKXtjb25zdFtzLGVdPXRoaXMucmIuY2codCxpKTtyZXR1cm4gMCE9PXMubGVuZ3RoJiZ0aGlzLmNiKGUpLHN9c3Vic2NyaWJlQ2xpY2sodCl7dGhpcy5uYi5pKHQpfXVuc3Vic2NyaWJlQ2xpY2sodCl7dGhpcy5uYi5fKHQpfXN1YnNjcmliZUNyb3NzaGFpck1vdmUodCl7dGhpcy5lYi5pKHQpfXVuc3Vic2NyaWJlQ3Jvc3NoYWlyTW92ZSh0KXt0aGlzLmViLl8odCl9c3Vic2NyaWJlRGJsQ2xpY2sodCl7dGhpcy5zYi5pKHQpfXVuc3Vic2NyaWJlRGJsQ2xpY2sodCl7dGhpcy5zYi5fKHQpfXByaWNlU2NhbGUodCxpPTApe3JldHVybiBuZXcgQWUodGhpcy5zdix0LGkpfXRpbWVTY2FsZSgpe3JldHVybiB0aGlzLmxifWFwcGx5T3B0aW9ucyh0KXt0aGlzLnN2LnZyKGplKHQpKX1vcHRpb25zKCl7cmV0dXJuIHRoaXMuc3YuTigpfXRha2VTY3JlZW5zaG90KHQ9ITEsaT0hMSl7bGV0IHMsZTt0cnl7aXx8KHM9dGhpcy5zdi5RdCgpLk4oKS5jcm9zc2hhaXIubW9kZSx0aGlzLnN2LnZyKHtjcm9zc2hhaXI6e21vZGU6Mn19KSksZT10aGlzLnN2LlNNKHQpfWZpbmFsbHl7aXx8dm9pZCAwPT09c3x8dGhpcy5zdi5RdCgpLnZyKHtjcm9zc2hhaXI6e21vZGU6c319KX1yZXR1cm4gZX1hZGRQYW5lKHQ9ITEpe2NvbnN0IGk9dGhpcy5zdi5RdCgpLmFmKCk7cmV0dXJuIGkuV18odCksdGhpcy5mYihpKX1yZW1vdmVQYW5lKHQpewp0aGlzLnN2LlF0KCkuVmQodCl9c3dhcFBhbmVzKHQsaSl7dGhpcy5zdi5RdCgpLkVkKHQsaSl9YXV0b1NpemVBY3RpdmUoKXtyZXR1cm4gdGhpcy5zdi53TSgpfWNoYXJ0RWxlbWVudCgpe3JldHVybiB0aGlzLnN2LnZ2KCl9cGFuZXMoKXtyZXR1cm4gdGhpcy5zdi5RdCgpLlpuKCkubWFwKCh0PT50aGlzLmZiKHQpKSl9cGFuZVNpemUodD0wKXtjb25zdCBpPXRoaXMuc3YuUk0odCk7cmV0dXJue2hlaWdodDppLmhlaWdodCx3aWR0aDppLndpZHRofX1zZXRDcm9zc2hhaXJQb3NpdGlvbih0LGkscyl7Y29uc3QgZT10aGlzLnRiLmdldChzKTtpZih2b2lkIDA9PT1lKXJldHVybjtjb25zdCBoPXRoaXMuc3YuUXQoKS5LcyhlKTtudWxsIT09aCYmdGhpcy5zdi5RdCgpLnFkKHQsaSxoKX1jbGVhckNyb3NzaGFpclBvc2l0aW9uKCl7dGhpcy5zdi5RdCgpLllkKCEwKX1ob3J6QmVoYXZpb3VyKCl7cmV0dXJuIHRoaXMuaGJ9dWIodCxpPXt9LHM9MCl7dSh2b2lkIDAhPT10Lm9iKSxmdW5jdGlvbih0KXtpZih2b2lkIDA9PT10fHwiY3VzdG9tIj09PXQudHlwZSlyZXR1cm47Y29uc3QgaT10O3ZvaWQgMCE9PWkubWluTW92ZSYmdm9pZCAwPT09aS5wcmVjaXNpb24mJihpLnByZWNpc2lvbj1BaShpLm1pbk1vdmUpKX0oaS5wcmljZUZvcm1hdCksIkNhbmRsZXN0aWNrIj09PXQudHlwZSYmZnVuY3Rpb24odCl7dm9pZCAwIT09dC5ib3JkZXJDb2xvciYmKHQuYm9yZGVyVXBDb2xvcj10LmJvcmRlckNvbG9yLHQuYm9yZGVyRG93bkNvbG9yPXQuYm9yZGVyQ29sb3IpLHZvaWQgMCE9PXQud2lja0NvbG9yJiYodC53aWNrVXBDb2xvcj10LndpY2tDb2xvcix0LndpY2tEb3duQ29sb3I9dC53aWNrQ29sb3IpfShpKTtjb25zdCBlPXAoTShoKSxNKHQuZGVmYXVsdE9wdGlvbnMpLGkpLG49dC5vYixyPW5ldyBqdCh0aGlzLnN2LlF0KCksdC50eXBlLGUsbix0Ll9iKTt0aGlzLnN2LlF0KCkuR2QocixzKTtjb25zdCBvPW5ldyBVZShyLHRoaXMsdGhpcyx0aGlzLHRoaXMuaGIsKHQ9PnRoaXMuZmIodCkpKTtyZXR1cm4gdGhpcy50Yi5zZXQobyxyKSx0aGlzLmliLnNldChyLG8pLG99Y2IodCl7Y29uc3QgaT10aGlzLnN2LlF0KCk7aS5LZCh0LkV0LlBjLHQuRXQudmcsdC5FdC5tZyksdC5VXy5mb3JFYWNoKCgodCxpKT0+aS5odCh0LnVlLHQucGcpKSksaS5FdCgpLl9jKCksaS5CYygpfXBiKHQpe3JldHVybiBjKHRoaXMuaWIuZ2V0KHQpKX1tYih0KXtyZXR1cm4gdm9pZCAwIT09dCYmdGhpcy5pYi5oYXModCk/dGhpcy5wYih0KTp2b2lkIDB9YWIodCl7Y29uc3QgaT1uZXcgTWFwO3QuWU0uZm9yRWFjaCgoKHQscyk9Pntjb25zdCBlPXMuYmgoKSxoPVdlKGUpKHQpO2lmKCJDdXN0b20iIT09ZSl1KEhzKGgpKTtlbHNle2NvbnN0IHQ9cy5vbCgpO3UoIXR8fCExPT09dChoKSl9aS5zZXQodGhpcy5wYihzKSxoKX0pKTtjb25zdCBzPXRoaXMubWIodC5OTSksZT12b2lkIDA9PT10LldNP3ZvaWQgMDp7dHlwZTp0LldNLmRzLHNvdXJjZUtpbmQ6dC5XTS5ITSxvYmplY3RLaW5kOnQuV00uVU0sc2VyaWVzOnRoaXMubWIodC5XTS5VXyksb2JqZWN0SWQ6dC5XTS4kTSxwYW5lSW5kZXg6dC5XTS5qTX07cmV0dXJue3RpbWU6dC5Rcixsb2dpY2FsOnQuJG4scG9pbnQ6dC5xTSxwYW5lSW5kZXg6dC5qTSxob3ZlcmVkSW5mbzplLGhvdmVyZWRTZXJpZXM6cyxob3ZlcmVkT2JqZWN0SWQ6dC5GTSxzZXJpZXNEYXRhOmksc291cmNlRXZlbnQ6dC5LTX19ZmIodCl7bGV0IGk9dGhpcy5vZC5nZXQodCk7cmV0dXJuIGl8fChpPW5ldyBaZSh0aGlzLnN2LCh0PT50aGlzLnBiKHQpKSx0LHRoaXMpLHRoaXMub2Quc2V0KHQsaSkpLGl9fWZ1bmN0aW9uIEplKHQpe2lmKGIodCkpe2NvbnN0IGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodCk7cmV0dXJuIHUobnVsbCE9PWksYENhbm5vdCBmaW5kIGVsZW1lbnQgaW4gRE9NIHdpdGggaWQ9JHt0fWApLGl9cmV0dXJuIHR9ZnVuY3Rpb24gdGgodCxpLHMpe2NvbnN0IGU9SmUodCksaD1uZXcgWGUoZSxpLHMpO3JldHVybiBpLnNldE9wdGlvbnMoaC5vcHRpb25zKCkpLGh9ZnVuY3Rpb24gaWgoKXtyZXR1cm4gb3N9ZnVuY3Rpb24gc2godCxpLHMsZSl7cmV0dXJuIE1hdGguaHlwb3Qocy10LGUtaSl9ZnVuY3Rpb24gZWgodCxpLHMsZSxoLG4scixvPTApe2lmKDA9PT1pLmxlbmd0aHx8ZS5mcm9tPj1pLmxlbmd0aHx8ZS50bzw9MClyZXR1cm47Y29uc3R7Y29udGV4dDpsLGhvcml6b250YWxQaXhlbFJhdGlvOmEsdmVydGljYWxQaXhlbFJhdGlvOnV9PXQsYz1pW2UuZnJvbV07bGV0IGY9bih0LGMpLGQ9YztpZihlLnRvLWUuZnJvbTwyKXtjb25zdCBpPWgvMjtsLmJlZ2luUGF0aCgpO2NvbnN0IHM9e190OmMuX3QtaSx1dDpjLnV0fSxlPXtfdDpjLl90K2ksdXQ6Yy51dH07bC5tb3ZlVG8ocy5fdCphLHMudXQqdSksbC5saW5lVG8oZS5fdCphLGUudXQqdSkscih0LGYscyxlKX1lbHNle2NvbnN0IGg9bz4wO2xldCBtPTA7Y29uc3QgcD0oaSxzKT0+e2lmKHIodCxmLGQscyksbC5iZWdpblBhdGgoKSxmPWksZD1zLGgpe2NvbnN0IHQ9bSVvO2wubGluZURhc2hPZmZzZXQ9dCxtPXR9fTtsZXQgZz1kO2wuYmVnaW5QYXRoKCksbC5tb3ZlVG8oYy5fdCphLGMudXQqdSk7Zm9yKGxldCByPWUuZnJvbSsxO3I8ZS50bzsrK3Ipe2c9aVtyXTtjb25zdCBlPWcuX3QqYSxvPWcudXQqdSxjPW4odCxnKTtzd2l0Y2gocyl7Y2FzZSAwOmlmKGwubGluZVRvKGUsbyksaCl7Y29uc3QgdD1pW3ItMV0scz10Ll90KmEsaD10LnV0KnU7bSs9c2gocyxoLGUsbyl9YnJlYWs7Y2FzZSAxOntjb25zdCB0PWlbci0xXSxzPXQudXQqdTtsLmxpbmVUbyhlLHMpLGgmJihtKz1NYXRoLmFicyhnLl90LXQuX3QpKmEpLGMhPT1mJiYocChjLGcpLGwubGluZVRvKGUscykpLGwubGluZVRvKGUsbyksaCYmKG0rPU1hdGguYWJzKGcudXQtdC51dCkqdSk7YnJlYWt9Y2FzZSAyOntjb25zdFt0LHNdPXJoKGksci0xLHIpLG49dC5fdCphLGM9dC51dCp1LGY9cy5fdCphLGQ9cy51dCp1O2lmKGwuYmV6aWVyQ3VydmVUbyhuLGMsZixkLGUsbyksaCl7CmNvbnN0IHQ9aVtyLTFdLHM9dC5fdCphLGg9dC51dCp1LGw9c2gocyxoLGUsbykscD1zaChzLGgsbixjKStzaChuLGMsZixkKStzaChmLGQsZSxvKTttKz0obCtwKS8yfWJyZWFrfX0xIT09cyYmYyE9PWYmJihwKGMsZyksbC5tb3ZlVG8oZSxvKSl9KGQhPT1nfHxkPT09ZyYmMT09PXMpJiZyKHQsZixkLGcpLGgmJihsLmxpbmVEYXNoT2Zmc2V0PTApfX1mdW5jdGlvbiBoaCh0LGkpe3JldHVybntfdDp0Ll90LWkuX3QsdXQ6dC51dC1pLnV0fX1mdW5jdGlvbiBuaCh0LGkpe3JldHVybntfdDp0Ll90L2ksdXQ6dC51dC9pfX1mdW5jdGlvbiByaCh0LGkscyl7Y29uc3QgZT1NYXRoLm1heCgwLGktMSksaD1NYXRoLm1pbih0Lmxlbmd0aC0xLHMrMSk7dmFyIG4scjtyZXR1cm5bKG49dFtpXSxyPW5oKGhoKHRbc10sdFtlXSksNikse190Om4uX3Qrci5fdCx1dDpuLnV0K3IudXR9KSxoaCh0W3NdLG5oKGhoKHRbaF0sdFtpXSksNikpXX1mdW5jdGlvbiBvaCh0LGkpe2NvbnN0IHM9dC5jb250ZXh0O3Muc3Ryb2tlU3R5bGU9aSxzLnN0cm9rZSgpfWNsYXNzIGxoIGV4dGVuZHMgUntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5ydD1udWxsfWh0KHQpe3RoaXMucnQ9dH1ldCh0KXtpZihudWxsPT09dGhpcy5ydClyZXR1cm47Y29uc3R7b3Q6aSxsdDpzLHdiOmUsTWI6aCxjdDpuLFp0OnIsZ2I6b309dGhpcy5ydDtpZihudWxsPT09cylyZXR1cm47Y29uc3QgYT10LmNvbnRleHQ7YS5saW5lQ2FwPSJidXR0IixhLmxpbmVXaWR0aD1uKnQudmVydGljYWxQaXhlbFJhdGlvO2NvbnN0IHU9bChhLHIpO2EubGluZUpvaW49InJvdW5kIjtjb25zdCBjPXRoaXMuYmIuYmluZCh0aGlzKSxmPWZ1bmN0aW9uKHQpe3JldHVybiB0LnJlZHVjZSgoKHQsaSk9PnQraSksMCl9KHUpO3ZvaWQgMCE9PWgmJmVoKHQsaSxoLHMsZSxjLG9oLGYpLG8mJmZ1bmN0aW9uKHQsaSxzLGUsaCl7aWYoZS50by1lLmZyb208PTApcmV0dXJuO2NvbnN0e2hvcml6b250YWxQaXhlbFJhdGlvOm4sdmVydGljYWxQaXhlbFJhdGlvOnIsY29udGV4dDpvfT10O2xldCBsPW51bGw7Y29uc3QgYT1NYXRoLm1heCgxLE1hdGguZmxvb3IobikpJTIvMix1PXMqcithO2ZvcihsZXQgcz1lLnRvLTE7cz49ZS5mcm9tOy0tcyl7Y29uc3QgZT1pW3NdO2lmKGUpe2NvbnN0IGk9aCh0LGUpO2khPT1sJiYobnVsbCE9PWwmJm8uZmlsbCgpLG8uYmVnaW5QYXRoKCksby5maWxsU3R5bGU9aSxsPWkpO2NvbnN0IHM9TWF0aC5yb3VuZChlLl90Km4pK2EsYz1lLnV0KnI7by5tb3ZlVG8ocyxjKSxvLmFyYyhzLGMsdSwwLDIqTWF0aC5QSSl9fW8uZmlsbCgpfSh0LGksbyxzLGMpfX1jbGFzcyBhaCBleHRlbmRzIGxoe2JiKHQsaSl7cmV0dXJuIGkudnR9fWZ1bmN0aW9uIHVoKHQsaSxzLGUsaCl7Y29uc3Qgbj0xLWg7cmV0dXJuIG4qbipuKnQrMypuKm4qaCppKzMqbipoKmgqcytoKmgqaCplfWZ1bmN0aW9uIGNoKHQsaSxzLGUsaCl7aWYoMj09PXMpe2NvbnN0W3Msbl09cmgoZSxoLTEsaCk7cmV0dXJuW01hdGgubWluKHQuX3QsaS5fdCxzLl90LG4uX3QpLE1hdGgubWF4KHQuX3QsaS5fdCxzLl90LG4uX3QpXX1yZXR1cm5bTWF0aC5taW4odC5fdCxpLl90KSxNYXRoLm1heCh0Ll90LGkuX3QpXX1mdW5jdGlvbiBmaCh0LGkscyxlLGgsbixyLG8pe3N3aXRjaChoKXtjYXNlIDE6e2NvbnN0IGg9cGUodCxpLHMuX3Qscy51dCxlLl90LHMudXQpLG49cGUodCxpLGUuX3Qscy51dCxlLl90LGUudXQpLHI9TWF0aC5taW4oaCxuKTtyZXR1cm4gcjw9bz9yOm51bGx9Y2FzZSAyOntjb25zdFtoLGxdPXJoKG4sci0xLHIpLGE9ZnVuY3Rpb24odCxpLHMpe2xldCBlPU51bWJlci5QT1NJVElWRV9JTkZJTklUWSxoPXNbMF07Zm9yKGxldCBuPTE7bjw9MTI7bisrKXtjb25zdCByPW4vMTIsbz17X3Q6dWgoc1swXS5fdCxzWzFdLl90LHNbMl0uX3Qsc1szXS5fdCxyKSx1dDp1aChzWzBdLnV0LHNbMV0udXQsc1syXS51dCxzWzNdLnV0LHIpfTtlPU1hdGgubWluKGUscGUodCxpLGguX3QsaC51dCxvLl90LG8udXQpKSxoPW99cmV0dXJuIGV9KHQsaSxbcyxoLGwsZV0pO3JldHVybiBhPD1vP2E6bnVsbH1kZWZhdWx0Ontjb25zdCBoPXBlKHQsaSxzLl90LHMudXQsZS5fdCxlLnV0KTtyZXR1cm4gaDw9bz9oOm51bGx9fX1jbGFzcyBkaCBleHRlbmRzIHhle2NvbnN0cnVjdG9yKHQsaSl7c3VwZXIodCxpLCEwKX1WZyh0LGkscyl7aS5UYyh0aGlzLmJnLFModGhpcy5TZykpLHQuWm8odGhpcy5iZyxzLFModGhpcy5TZykpfVNiKHQsaSl7cmV0dXJue3d0OnQsTXQ6aSxfdDpOYU4sdXQ6TmFOfX1EZygpe2NvbnN0IHQ9dGhpcy5hZS5TYSgpO3RoaXMuYmc9dGhpcy5hZS5IYSgpLkJoKCkubWFwKChpPT57bGV0IHM7aWYoKGkuWnI/PzEpPjEpe2NvbnN0IHQ9aS5XdFsxXSxlPWkuV3RbMl0saD1pLld0WzNdO3M9TWF0aC5hYnModC1oKT5NYXRoLmFicyhlLWgpP3Q6ZX1lbHNlIHM9aS5XdFszXTtyZXR1cm4gdGhpcy54YihpLiRuLHMsdCl9KSl9fWNsYXNzIG1oIGV4dGVuZHMgZGh7UGcodCxpKXtjb25zdCBzPXRoaXMuYWUuTigpO3JldHVybiBmdW5jdGlvbih0LGkscyxlLGgsbixyLG89MCxsPTApe2lmKG51bGw9PT1pfHxpLmZyb20+PWkudG98fDA9PT10Lmxlbmd0aClyZXR1cm4gbnVsbDtjb25zdCBhPU1hdGgubWF4KG4vMixyPz8wKStsO2xldCB1PU51bWJlci5QT1NJVElWRV9JTkZJTklUWTtpZih2b2lkIDAhPT1yKXtjb25zdCBoPXIrbCxuPWNlKHQscy1oLGkuZnJvbSxpLnRvKSxvPWZlKHQscytoLG4saS50byk7Zm9yKGxldCBpPW47aTxvO2krKyl7Y29uc3QgaD10W2ldO2lmKCFtZShzLGguX3QsaC5fdCxyK2wpKWNvbnRpbnVlO2NvbnN0IG49TWF0aC5oeXBvdChzLWguX3QsZS1oLnV0KTtuPD1yK2wmJih1PU1hdGgubWluKHUsbikpfX1pZihpLnRvLWkuZnJvbTwyKXtjb25zdCBoPXRbaS5mcm9tXSxuPU1hdGgubWF4KG8vMixhKSxyPXBlKHMsZSxoLl90LW4saC51dCxoLl90K24saC51dCk7cmV0dXJuIHI8PWEmJih1PU1hdGgubWluKHUscikpLE51bWJlci5pc0Zpbml0ZSh1KT9kZSh1LDIsInNlcmllcy1wb2ludCIpOm51bGx9bGV0IGM9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZCjtjb25zdCBmPWNlKHQscy1hLGkuZnJvbSxpLnRvKSxkPWZlKHQscythLGYsaS50byksbT1NYXRoLm1heChpLmZyb20rMSxmKSxwPU1hdGgubWluKGkudG8sZCsxKTtmb3IobGV0IGk9bTtpPHA7aSsrKXtjb25zdCBuPXRbaS0xXSxyPXRbaV0sW28sbF09Y2gobixyLGgsdCxpKTtpZighbWUocyxvLGwsYSkpY29udGludWU7Y29uc3QgdT1maChzLGUsbixyLGgsdCxpLGEpO251bGwhPT11JiYoYz1NYXRoLm1pbihjLHUpKX1yZXR1cm4gTnVtYmVyLmlzRmluaXRlKHUpP2RlKHUsMiwic2VyaWVzLXBvaW50Iik6TnVtYmVyLmlzRmluaXRlKGMpP2RlKGMsMSwic2VyaWVzLWxpbmUiKTpudWxsfSh0aGlzLmJnLHRoaXMuU2csdCxpLHMubGluZVR5cGUscy5saW5lVmlzaWJsZT9zLmxpbmVXaWR0aDoxLHMucG9pbnRNYXJrZXJzVmlzaWJsZT9zLnBvaW50TWFya2Vyc1JhZGl1c3x8cy5saW5lV2lkdGgvMisyOnZvaWQgMCx0aGlzLmxlLkV0KCkuZmwoKSxzLmhpdFRlc3RUb2xlcmFuY2UpfX1jbGFzcyBwaCBleHRlbmRzIG1oe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLmtnPW5ldyBhaH14Yih0LGkscyl7cmV0dXJuey4uLnRoaXMuU2IodCxpKSwuLi5zLlNoKHQpfX1CZygpe2NvbnN0IHQ9dGhpcy5hZS5OKCksaT17b3Q6dGhpcy5iZyxadDp0LmxpbmVTdHlsZSxNYjp0LmxpbmVWaXNpYmxlP3QubGluZVR5cGU6dm9pZCAwLGN0OnQubGluZVdpZHRoLGdiOnQucG9pbnRNYXJrZXJzVmlzaWJsZT90LnBvaW50TWFya2Vyc1JhZGl1c3x8dC5saW5lV2lkdGgvMisyOnZvaWQgMCxsdDp0aGlzLlNnLHdiOnRoaXMubGUuRXQoKS5mbCgpfTt0aGlzLmtnLmh0KGkpfX1jb25zdCBnaD17dHlwZToiTGluZSIsaXNCdWlsdEluOiEwLGRlZmF1bHRPcHRpb25zOntjb2xvcjoiIzIxOTZmMyIsbGluZVN0eWxlOjAsbGluZVdpZHRoOjMsbGluZVR5cGU6MCxsaW5lVmlzaWJsZTohMCxjcm9zc2hhaXJNYXJrZXJWaXNpYmxlOiEwLGNyb3NzaGFpck1hcmtlclJhZGl1czo0LGNyb3NzaGFpck1hcmtlckJvcmRlckNvbG9yOiIiLGNyb3NzaGFpck1hcmtlckJvcmRlcldpZHRoOjIsY3Jvc3NoYWlyTWFya2VyQmFja2dyb3VuZENvbG9yOiIiLGxhc3RQcmljZUFuaW1hdGlvbjowLHBvaW50TWFya2Vyc1Zpc2libGU6ITF9LG9iOih0LGkpPT5uZXcgcGgodCxpKX07ZnVuY3Rpb24gdmgodCxpLHMsZSxoKXtjb25zdHtjb250ZXh0Om4saG9yaXpvbnRhbFBpeGVsUmF0aW86cix2ZXJ0aWNhbFBpeGVsUmF0aW86b309aTtuLmxpbmVUbyhoLl90KnIsdCpvKSxuLmxpbmVUbyhlLl90KnIsdCpvKSxuLmNsb3NlUGF0aCgpLG4uZmlsbFN0eWxlPXMsbi5maWxsKCl9Y2xhc3MgYmggZXh0ZW5kcyBSe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnJ0PW51bGx9aHQodCl7dGhpcy5ydD10fWV0KHQpe2lmKG51bGw9PT10aGlzLnJ0KXJldHVybjtjb25zdHtvdDppLGx0OnMsd2I6ZSxjdDpoLFp0Om4sTWI6cn09dGhpcy5ydCxvPXRoaXMucnQuRGI/Pyh0aGlzLnJ0LkliPzA6dC5tZWRpYVNpemUuaGVpZ2h0KTtpZihudWxsPT09cylyZXR1cm47Y29uc3QgYT10LmNvbnRleHQ7YS5saW5lQ2FwPSJidXR0IixhLmxpbmVKb2luPSJyb3VuZCIsYS5saW5lV2lkdGg9aCxsKGEsbiksYS5saW5lV2lkdGg9MSxlaCh0LGkscixzLGUsdGhpcy5WYi5iaW5kKHRoaXMpLHZoLmJpbmQobnVsbCxvKSl9fWNsYXNzIHdoe0JiKHQsaSl7Y29uc3Qgcz10aGlzLkViLHtBYjplLExiOmgsemI6bixPYjpyLERiOm8sTmI6bCxGYjphfT1pO2lmKHZvaWQgMD09PXRoaXMuV2J8fHZvaWQgMD09PXN8fHMuQWIhPT1lfHxzLkxiIT09aHx8cy56YiE9PW58fHMuT2IhPT1yfHxzLkRiIT09b3x8cy5OYiE9PWx8fHMuRmIhPT1hKXtjb25zdHt2ZXJ0aWNhbFBpeGVsUmF0aW86c309dCx1PW98fGw+MD9zOjEsYz1sKnUsZj1hPT09dC5iaXRtYXBTaXplLmhlaWdodD9hOmEqdSxkPShvPz8wKSp1LG09dC5jb250ZXh0LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsYywwLGYpO2lmKG0uYWRkQ29sb3JTdG9wKDAsZSksbnVsbCE9byl7Y29uc3QgdD1paSgoZC1jKS8oZi1jKSwwLDEpO20uYWRkQ29sb3JTdG9wKHQsaCksbS5hZGRDb2xvclN0b3AodCxuKX1tLmFkZENvbG9yU3RvcCgxLHIpLHRoaXMuV2I9bSx0aGlzLkViPWl9cmV0dXJuIHRoaXMuV2J9fWNsYXNzIE1oIGV4dGVuZHMgYmh7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuSGI9bmV3IHdofVZiKHQsaSl7Y29uc3Qgcz10aGlzLnJ0O3JldHVybiB0aGlzLkhiLkJiKHQse0FiOmkuZGgsTGI6aS5maCx6YjppLnBoLE9iOmkubWgsRGI6cy5EYixOYjpzLk5iPz8wLEZiOnMuRmI/P3QuYml0bWFwU2l6ZS5oZWlnaHR9KX19Y2xhc3MgeWggZXh0ZW5kcyBsaHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5VYj1uZXcgd2h9YmIodCxpKXtjb25zdCBzPXRoaXMucnQ7cmV0dXJuIHRoaXMuVWIuQmIodCx7QWI6aS5faCxMYjppLl9oLHpiOmkudWgsT2I6aS51aCxEYjpzLkRiLE5iOnMuTmI/PzAsRmI6cy5GYj8/dC5iaXRtYXBTaXplLmhlaWdodH0pfX1jbGFzcyBTaCBleHRlbmRzIG1oe2NvbnN0cnVjdG9yKHQsaSl7c3VwZXIodCxpKSx0aGlzLmtnPW5ldyBULHRoaXMuJGI9bmV3IE1oLHRoaXMuamI9bmV3IHloLHRoaXMua2cubnQoW3RoaXMuJGIsdGhpcy5qYl0pfXhiKHQsaSxzKXtyZXR1cm57Li4udGhpcy5TYih0LGkpLC4uLnMuU2godCl9fUJnKCl7Y29uc3QgdD10aGlzLmFlLkx0KCk7aWYobnVsbD09PXQpcmV0dXJuO2NvbnN0IGk9dGhpcy5hZS5OKCkscz10aGlzLmFlLkZ0KCkuTnQoaS5iYXNlVmFsdWUucHJpY2UsdC5XdCksZT10aGlzLmxlLkV0KCkuZmwoKTtpZihudWxsPT09dGhpcy5TZ3x8MD09PXRoaXMuYmcubGVuZ3RoKXJldHVybjtsZXQgaCxuO2lmKGkucmVsYXRpdmVHcmFkaWVudCl7aD10aGlzLmJnW3RoaXMuU2cuZnJvbV0udXQsbj10aGlzLmJnW3RoaXMuU2cuZnJvbV0udXQ7Zm9yKGxldCB0PXRoaXMuU2cuZnJvbTt0PHRoaXMuU2cudG87dCsrKXtjb25zdCBpPXRoaXMuYmdbdF07aS51dDxoJiYoaD1pLnV0KSxpLnV0Pm4mJihuPWkudXQpfX0KdGhpcy4kYi5odCh7b3Q6dGhpcy5iZyxjdDppLmxpbmVXaWR0aCxadDppLmxpbmVTdHlsZSxNYjppLmxpbmVUeXBlLERiOnMsTmI6aCxGYjpuLEliOiExLGx0OnRoaXMuU2csd2I6ZX0pLHRoaXMuamIuaHQoe290OnRoaXMuYmcsY3Q6aS5saW5lV2lkdGgsWnQ6aS5saW5lU3R5bGUsTWI6aS5saW5lVmlzaWJsZT9pLmxpbmVUeXBlOnZvaWQgMCxnYjppLnBvaW50TWFya2Vyc1Zpc2libGU/aS5wb2ludE1hcmtlcnNSYWRpdXN8fGkubGluZVdpZHRoLzIrMjp2b2lkIDAsRGI6cyxOYjpoLEZiOm4sbHQ6dGhpcy5TZyx3YjplfSl9fWNvbnN0IHhoPXt0eXBlOiJCYXNlbGluZSIsaXNCdWlsdEluOiEwLGRlZmF1bHRPcHRpb25zOntiYXNlVmFsdWU6e3R5cGU6InByaWNlIixwcmljZTowfSxyZWxhdGl2ZUdyYWRpZW50OiExLHRvcEZpbGxDb2xvcjE6InJnYmEoMzgsIDE2NiwgMTU0LCAwLjI4KSIsdG9wRmlsbENvbG9yMjoicmdiYSgzOCwgMTY2LCAxNTQsIDAuMDUpIix0b3BMaW5lQ29sb3I6InJnYmEoMzgsIDE2NiwgMTU0LCAxKSIsYm90dG9tRmlsbENvbG9yMToicmdiYSgyMzksIDgzLCA4MCwgMC4wNSkiLGJvdHRvbUZpbGxDb2xvcjI6InJnYmEoMjM5LCA4MywgODAsIDAuMjgpIixib3R0b21MaW5lQ29sb3I6InJnYmEoMjM5LCA4MywgODAsIDEpIixsaW5lV2lkdGg6MyxsaW5lU3R5bGU6MCxsaW5lVHlwZTowLGxpbmVWaXNpYmxlOiEwLGNyb3NzaGFpck1hcmtlclZpc2libGU6ITAsY3Jvc3NoYWlyTWFya2VyUmFkaXVzOjQsY3Jvc3NoYWlyTWFya2VyQm9yZGVyQ29sb3I6IiIsY3Jvc3NoYWlyTWFya2VyQm9yZGVyV2lkdGg6Mixjcm9zc2hhaXJNYXJrZXJCYWNrZ3JvdW5kQ29sb3I6IiIsbGFzdFByaWNlQW5pbWF0aW9uOjAscG9pbnRNYXJrZXJzVmlzaWJsZTohMX0sb2I6KHQsaSk9Pm5ldyBTaCh0LGkpfTtjbGFzcyBfaCBleHRlbmRzIGJoe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLkhiPW5ldyB3aH1WYih0LGkpe3JldHVybiB0aGlzLkhiLkJiKHQse0FiOmkuYWgsTGI6IiIsemI6IiIsT2I6aS5vaCxOYjp0aGlzLnJ0Py5OYj8/MCxGYjp0LmJpdG1hcFNpemUuaGVpZ2h0fSl9fWNsYXNzIENoIGV4dGVuZHMgbWh7Y29uc3RydWN0b3IodCxpKXtzdXBlcih0LGkpLHRoaXMua2c9bmV3IFQsdGhpcy5xYj1uZXcgX2gsdGhpcy5ZYj1uZXcgYWgsdGhpcy5rZy5udChbdGhpcy5xYix0aGlzLlliXSl9eGIodCxpLHMpe3JldHVybnsuLi50aGlzLlNiKHQsaSksLi4ucy5TaCh0KX19QmcoKXtjb25zdCB0PXRoaXMuYWUuTigpO2lmKG51bGw9PT10aGlzLlNnfHwwPT09dGhpcy5iZy5sZW5ndGgpcmV0dXJuO2xldCBpO2lmKHQucmVsYXRpdmVHcmFkaWVudCl7aT10aGlzLmJnW3RoaXMuU2cuZnJvbV0udXQ7Zm9yKGxldCB0PXRoaXMuU2cuZnJvbTt0PHRoaXMuU2cudG87dCsrKXtjb25zdCBzPXRoaXMuYmdbdF07cy51dDxpJiYoaT1zLnV0KX19dGhpcy5xYi5odCh7TWI6dC5saW5lVHlwZSxvdDp0aGlzLmJnLFp0OnQubGluZVN0eWxlLGN0OnQubGluZVdpZHRoLERiOm51bGwsTmI6aSxJYjp0LmludmVydEZpbGxlZEFyZWEsbHQ6dGhpcy5TZyx3Yjp0aGlzLmxlLkV0KCkuZmwoKX0pLHRoaXMuWWIuaHQoe01iOnQubGluZVZpc2libGU/dC5saW5lVHlwZTp2b2lkIDAsb3Q6dGhpcy5iZyxadDp0LmxpbmVTdHlsZSxjdDp0LmxpbmVXaWR0aCxsdDp0aGlzLlNnLHdiOnRoaXMubGUuRXQoKS5mbCgpLGdiOnQucG9pbnRNYXJrZXJzVmlzaWJsZT90LnBvaW50TWFya2Vyc1JhZGl1c3x8dC5saW5lV2lkdGgvMisyOnZvaWQgMH0pfX1jb25zdCBraD17dHlwZToiQXJlYSIsaXNCdWlsdEluOiEwLGRlZmF1bHRPcHRpb25zOnt0b3BDb2xvcjoicmdiYSggNDYsIDIyMCwgMTM1LCAwLjQpIixib3R0b21Db2xvcjoicmdiYSggNDAsIDIyMSwgMTAwLCAwKSIsaW52ZXJ0RmlsbGVkQXJlYTohMSxyZWxhdGl2ZUdyYWRpZW50OiExLGxpbmVDb2xvcjoiIzMzRDc3OCIsbGluZVN0eWxlOjAsbGluZVdpZHRoOjMsbGluZVR5cGU6MCxsaW5lVmlzaWJsZTohMCxjcm9zc2hhaXJNYXJrZXJWaXNpYmxlOiEwLGNyb3NzaGFpck1hcmtlclJhZGl1czo0LGNyb3NzaGFpck1hcmtlckJvcmRlckNvbG9yOiIiLGNyb3NzaGFpck1hcmtlckJvcmRlcldpZHRoOjIsY3Jvc3NoYWlyTWFya2VyQmFja2dyb3VuZENvbG9yOiIiLGxhc3RQcmljZUFuaW1hdGlvbjowLHBvaW50TWFya2Vyc1Zpc2libGU6ITF9LG9iOih0LGkpPT5uZXcgQ2godCxpKX07Y2xhc3MgRWggZXh0ZW5kcyBSe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnF0PW51bGwsdGhpcy5LYj0wLHRoaXMuWmI9MH1odCh0KXt0aGlzLnF0PXR9ZXQoe2NvbnRleHQ6dCxob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzpzfSl7aWYobnVsbD09PXRoaXMucXR8fDA9PT10aGlzLnF0LlVuLmxlbmd0aHx8bnVsbD09PXRoaXMucXQubHQpcmV0dXJuO3RoaXMuS2I9dGhpcy5HYihpKSx0aGlzLktiPj0yJiZNYXRoLm1heCgxLE1hdGguZmxvb3IoaSkpJTIhPXRoaXMuS2IlMiYmdGhpcy5LYi0tLHRoaXMuWmI9dGhpcy5xdC5YYj9NYXRoLm1pbih0aGlzLktiLE1hdGguZmxvb3IoaSkpOnRoaXMuS2I7bGV0IGU9bnVsbDtjb25zdCBoPXRoaXMuWmI8PXRoaXMuS2ImJnRoaXMucXQuZmw+PU1hdGguZmxvb3IoMS41KmkpO2ZvcihsZXQgbj10aGlzLnF0Lmx0LmZyb207bjx0aGlzLnF0Lmx0LnRvOysrbil7Y29uc3Qgcj10aGlzLnF0LlVuW25dO2UhPT1yLnNoJiYodC5maWxsU3R5bGU9ci5zaCxlPXIuc2gpO2NvbnN0IG89TWF0aC5mbG9vciguNSp0aGlzLlpiKSxsPU1hdGgucm91bmQoci5fdCppKSxhPWwtbyx1PXRoaXMuWmIsYz1hK3UtMSxmPU1hdGgubWluKHIuUW8sci50XyksZD1NYXRoLm1heChyLlFvLHIudF8pLG09TWF0aC5yb3VuZChmKnMpLW8scD1NYXRoLnJvdW5kKGQqcykrbyxnPU1hdGgubWF4KHAtbSx0aGlzLlpiKTt0LmZpbGxSZWN0KGEsbSx1LGcpO2NvbnN0IHY9TWF0aC5jZWlsKDEuNSp0aGlzLktiKTtpZihoKXtpZih0aGlzLnF0LkpiKXtjb25zdCBpPWwtdgo7bGV0IGU9TWF0aC5tYXgobSxNYXRoLnJvdW5kKHIuSm8qcyktbyksaD1lK3UtMTtoPm0rZy0xJiYoaD1tK2ctMSxlPWgtdSsxKSx0LmZpbGxSZWN0KGksZSxhLWksaC1lKzEpfWNvbnN0IGk9bCt2O2xldCBlPU1hdGgubWF4KG0sTWF0aC5yb3VuZChyLmlfKnMpLW8pLGg9ZSt1LTE7aD5tK2ctMSYmKGg9bStnLTEsZT1oLXUrMSksdC5maWxsUmVjdChjKzEsZSxpLWMsaC1lKzEpfX19R2IodCl7Y29uc3QgaT1NYXRoLmZsb29yKHQpO3JldHVybiBNYXRoLm1heChpLE1hdGguZmxvb3IoZnVuY3Rpb24odCxpKXtyZXR1cm4gTWF0aC5mbG9vciguMyp0KmkpfShmKHRoaXMucXQpLmZsLHQpKSl9fWNsYXNzIE5oIGV4dGVuZHMgeGV7Y29uc3RydWN0b3IodCxpKXtzdXBlcih0LGksITEpfVBnKHQsaSl7cmV0dXJuIHdlKHRoaXMuYmcsdGhpcy5TZyx0LGksdGhpcy5sZS5FdCgpLmZsKCksdGhpcy5hZS5OKCkuaGl0VGVzdFRvbGVyYW5jZSwoKHQsaSk9PntpWzBdPXQuUW8saVsxXT10LnRffSkpfVZnKHQsaSxzKXtpLlRjKHRoaXMuYmcsUyh0aGlzLlNnKSksdC5Ybyh0aGlzLmJnLHMsUyh0aGlzLlNnKSl9UWIodCxpLHMpe3JldHVybnt3dDp0LGpyOmkuV3RbMF0scXI6aS5XdFsxXSxZcjppLld0WzJdLEtyOmkuV3RbM10sX3Q6TmFOLEpvOk5hTixRbzpOYU4sdF86TmFOLGlfOk5hTn19RGcoKXtjb25zdCB0PXRoaXMuYWUuU2EoKTt0aGlzLmJnPXRoaXMuYWUuSGEoKS5CaCgpLm1hcCgoaT0+dGhpcy54YihpLiRuLGksdCkpKX19Y2xhc3MgVGggZXh0ZW5kcyBOaHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5rZz1uZXcgRWh9eGIodCxpLHMpe3JldHVybnsuLi50aGlzLlFiKHQsaSxzKSwuLi5zLlNoKHQpfX1CZygpe2NvbnN0IHQ9dGhpcy5hZS5OKCk7dGhpcy5rZy5odCh7VW46dGhpcy5iZyxmbDp0aGlzLmxlLkV0KCkuZmwoKSxKYjp0Lm9wZW5WaXNpYmxlLFhiOnQudGhpbkJhcnMsbHQ6dGhpcy5TZ30pfX1jb25zdCBSaD17dHlwZToiQmFyIixpc0J1aWx0SW46ITAsZGVmYXVsdE9wdGlvbnM6e3VwQ29sb3I6IiMyNmE2OWEiLGRvd25Db2xvcjoiI2VmNTM1MCIsb3BlblZpc2libGU6ITAsdGhpbkJhcnM6ITB9LG9iOih0LGkpPT5uZXcgVGgodCxpKX07Y2xhc3MgUGggZXh0ZW5kcyBSe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnF0PW51bGwsdGhpcy5LYj0wfWh0KHQpe3RoaXMucXQ9dH1ldCh0KXtpZihudWxsPT09dGhpcy5xdHx8MD09PXRoaXMucXQuVW4ubGVuZ3RofHxudWxsPT09dGhpcy5xdC5sdClyZXR1cm47Y29uc3R7aG9yaXpvbnRhbFBpeGVsUmF0aW86aX09dDt0aGlzLktiPWZ1bmN0aW9uKHQsaSl7aWYodD49Mi41JiZ0PD00KXJldHVybiBNYXRoLmZsb29yKDMqaSk7Y29uc3Qgcz0xLS4yKk1hdGguYXRhbihNYXRoLm1heCg0LHQpLTQpLyguNSpNYXRoLlBJKSxlPU1hdGguZmxvb3IodCpzKmkpLGg9TWF0aC5mbG9vcih0KmkpLG49TWF0aC5taW4oZSxoKTtyZXR1cm4gTWF0aC5tYXgoTWF0aC5mbG9vcihpKSxuKX0odGhpcy5xdC5mbCxpKSx0aGlzLktiPj0yJiZNYXRoLmZsb29yKGkpJTIhPXRoaXMuS2IlMiYmdGhpcy5LYi0tO2NvbnN0IHM9dGhpcy5xdC5Vbjt0aGlzLnF0LnRTJiZ0aGlzLmlTKHQscyx0aGlzLnF0Lmx0KSx0aGlzLnF0LmdpJiZ0aGlzLlJtKHQscyx0aGlzLnF0Lmx0KTtjb25zdCBlPXRoaXMublMoaSk7KCF0aGlzLnF0LmdpfHx0aGlzLktiPjIqZSkmJnRoaXMuc1ModCxzLHRoaXMucXQubHQpfWlTKHQsaSxzKXtpZihudWxsPT09dGhpcy5xdClyZXR1cm47Y29uc3R7Y29udGV4dDplLGhvcml6b250YWxQaXhlbFJhdGlvOmgsdmVydGljYWxQaXhlbFJhdGlvOm59PXQ7bGV0IHI9IiIsbz1NYXRoLm1pbihNYXRoLmZsb29yKGgpLE1hdGguZmxvb3IodGhpcy5xdC5mbCpoKSk7bz1NYXRoLm1heChNYXRoLmZsb29yKGgpLE1hdGgubWluKG8sdGhpcy5LYikpO2NvbnN0IGw9TWF0aC5mbG9vciguNSpvKTtsZXQgYT1udWxsO2ZvcihsZXQgdD1zLmZyb207dDxzLnRvO3QrKyl7Y29uc3Qgcz1pW3RdO3MucmghPT1yJiYoZS5maWxsU3R5bGU9cy5yaCxyPXMucmgpO2NvbnN0IHU9TWF0aC5yb3VuZChNYXRoLm1pbihzLkpvLHMuaV8pKm4pLGM9TWF0aC5yb3VuZChNYXRoLm1heChzLkpvLHMuaV8pKm4pLGY9TWF0aC5yb3VuZChzLlFvKm4pLGQ9TWF0aC5yb3VuZChzLnRfKm4pO2xldCBtPU1hdGgucm91bmQoaCpzLl90KS1sO2NvbnN0IHA9bStvLTE7bnVsbCE9PWEmJihtPU1hdGgubWF4KGErMSxtKSxtPU1hdGgubWluKG0scCkpO2NvbnN0IGc9cC1tKzE7ZS5maWxsUmVjdChtLGYsZyx1LWYpLGUuZmlsbFJlY3QobSxjKzEsZyxkLWMpLGE9cH19blModCl7bGV0IGk9TWF0aC5mbG9vcigxKnQpO3RoaXMuS2I8PTIqaSYmKGk9TWF0aC5mbG9vciguNSoodGhpcy5LYi0xKSkpO2NvbnN0IHM9TWF0aC5tYXgoTWF0aC5mbG9vcih0KSxpKTtyZXR1cm4gdGhpcy5LYjw9MipzP01hdGgubWF4KE1hdGguZmxvb3IodCksTWF0aC5mbG9vcigxKnQpKTpzfVJtKHQsaSxzKXtpZihudWxsPT09dGhpcy5xdClyZXR1cm47Y29uc3R7Y29udGV4dDplLGhvcml6b250YWxQaXhlbFJhdGlvOmgsdmVydGljYWxQaXhlbFJhdGlvOm59PXQ7bGV0IHI9IiI7Y29uc3Qgbz10aGlzLm5TKGgpO2xldCBsPW51bGw7Zm9yKGxldCB0PXMuZnJvbTt0PHMudG87dCsrKXtjb25zdCBzPWlbdF07cy5laCE9PXImJihlLmZpbGxTdHlsZT1zLmVoLHI9cy5laCk7bGV0IGE9TWF0aC5yb3VuZChzLl90KmgpLU1hdGguZmxvb3IoLjUqdGhpcy5LYik7Y29uc3QgdT1hK3RoaXMuS2ItMSxjPU1hdGgucm91bmQoTWF0aC5taW4ocy5KbyxzLmlfKSpuKSxmPU1hdGgucm91bmQoTWF0aC5tYXgocy5KbyxzLmlfKSpuKTtpZihudWxsIT09bCYmKGE9TWF0aC5tYXgobCsxLGEpLGE9TWF0aC5taW4oYSx1KSksdGhpcy5xdC5mbCpoPjIqbylXKGUsYSxjLHUtYSsxLGYtYysxLG8pO2Vsc2V7Y29uc3QgdD11LWErMTtlLmZpbGxSZWN0KGEsYyx0LGYtYysxKX1sPXV9fXNTKHQsaSxzKXtpZihudWxsPT09dGhpcy5xdClyZXR1cm4KO2NvbnN0e2NvbnRleHQ6ZSxob3Jpem9udGFsUGl4ZWxSYXRpbzpoLHZlcnRpY2FsUGl4ZWxSYXRpbzpufT10O2xldCByPSIiO2NvbnN0IG89dGhpcy5uUyhoKTtmb3IobGV0IHQ9cy5mcm9tO3Q8cy50bzt0Kyspe2NvbnN0IHM9aVt0XTtsZXQgbD1NYXRoLnJvdW5kKE1hdGgubWluKHMuSm8scy5pXykqbiksYT1NYXRoLnJvdW5kKE1hdGgubWF4KHMuSm8scy5pXykqbiksdT1NYXRoLnJvdW5kKHMuX3QqaCktTWF0aC5mbG9vciguNSp0aGlzLktiKSxjPXUrdGhpcy5LYi0xO2lmKHMuc2ghPT1yKXtjb25zdCB0PXMuc2g7ZS5maWxsU3R5bGU9dCxyPXR9dGhpcy5xdC5naSYmKHUrPW8sbCs9byxjLT1vLGEtPW8pLGw+YXx8ZS5maWxsUmVjdCh1LGwsYy11KzEsYS1sKzEpfX19Y2xhc3MgemggZXh0ZW5kcyBOaHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5rZz1uZXcgUGh9eGIodCxpLHMpe3JldHVybnsuLi50aGlzLlFiKHQsaSxzKSwuLi5zLlNoKHQpfX1CZygpe2NvbnN0IHQ9dGhpcy5hZS5OKCk7dGhpcy5rZy5odCh7VW46dGhpcy5iZyxmbDp0aGlzLmxlLkV0KCkuZmwoKSx0Uzp0LndpY2tWaXNpYmxlLGdpOnQuYm9yZGVyVmlzaWJsZSxsdDp0aGlzLlNnfSl9fWNvbnN0IEloPXt0eXBlOiJDYW5kbGVzdGljayIsaXNCdWlsdEluOiEwLGRlZmF1bHRPcHRpb25zOnt1cENvbG9yOiIjMjZhNjlhIixkb3duQ29sb3I6IiNlZjUzNTAiLHdpY2tWaXNpYmxlOiEwLGJvcmRlclZpc2libGU6ITAsYm9yZGVyQ29sb3I6IiMzNzg2NTgiLGJvcmRlclVwQ29sb3I6IiMyNmE2OWEiLGJvcmRlckRvd25Db2xvcjoiI2VmNTM1MCIsd2lja0NvbG9yOiIjNzM3Mzc1Iix3aWNrVXBDb2xvcjoiIzI2YTY5YSIsd2lja0Rvd25Db2xvcjoiI2VmNTM1MCJ9LG9iOih0LGkpPT5uZXcgemgodCxpKX07Y2xhc3MgTGggZXh0ZW5kcyBSe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnF0PW51bGwsdGhpcy5lUz1bXX1odCh0KXt0aGlzLnF0PXQsdGhpcy5lUz1bXX1ldCh7Y29udGV4dDp0LGhvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOnN9KXtpZihudWxsPT09dGhpcy5xdHx8MD09PXRoaXMucXQub3QubGVuZ3RofHxudWxsPT09dGhpcy5xdC5sdClyZXR1cm47dGhpcy5lUy5sZW5ndGh8fHRoaXMuclMoaSk7Y29uc3QgZT1NYXRoLm1heCgxLE1hdGguZmxvb3IocykpLGg9TWF0aC5yb3VuZCh0aGlzLnF0LmhTKnMpLU1hdGguZmxvb3IoZS8yKSxuPWgrZTtmb3IobGV0IGk9dGhpcy5xdC5sdC5mcm9tO2k8dGhpcy5xdC5sdC50bztpKyspe2NvbnN0IHI9dGhpcy5xdC5vdFtpXSxvPXRoaXMuZVNbaS10aGlzLnF0Lmx0LmZyb21dLGw9TWF0aC5yb3VuZChyLnV0KnMpO2xldCBhLHU7dC5maWxsU3R5bGU9ci5zaCxsPD1oPyhhPWwsdT1uKTooYT1oLHU9bC1NYXRoLmZsb29yKGUvMikrZSksdC5maWxsUmVjdChvLk9hLGEsby5iaS1vLk9hKzEsdS1hKX19clModCl7aWYobnVsbD09PXRoaXMucXR8fDA9PT10aGlzLnF0Lm90Lmxlbmd0aHx8bnVsbD09PXRoaXMucXQubHQpcmV0dXJuIHZvaWQodGhpcy5lUz1bXSk7Y29uc3QgaT1NYXRoLmNlaWwodGhpcy5xdC5mbCp0KTw9MT8wOk1hdGgubWF4KDEsTWF0aC5mbG9vcih0KSkscz1NYXRoLnJvdW5kKHRoaXMucXQuZmwqdCktaTt0aGlzLmVTPW5ldyBBcnJheSh0aGlzLnF0Lmx0LnRvLXRoaXMucXQubHQuZnJvbSk7Zm9yKGxldCBpPXRoaXMucXQubHQuZnJvbTtpPHRoaXMucXQubHQudG87aSsrKXtjb25zdCBlPXRoaXMucXQub3RbaV0saD1NYXRoLnJvdW5kKGUuX3QqdCk7bGV0IG4scjtpZihzJTIpe2NvbnN0IHQ9KHMtMSkvMjtuPWgtdCxyPWgrdH1lbHNle2NvbnN0IHQ9cy8yO249aC10LHI9aCt0LTF9dGhpcy5lU1tpLXRoaXMucXQubHQuZnJvbV09e09hOm4sYmk6cixhUzpoLGNlOmUuX3QqdCx3dDplLnd0fX1mb3IobGV0IHQ9dGhpcy5xdC5sdC5mcm9tKzE7dDx0aGlzLnF0Lmx0LnRvO3QrKyl7Y29uc3Qgcz10aGlzLmVTW3QtdGhpcy5xdC5sdC5mcm9tXSxlPXRoaXMuZVNbdC10aGlzLnF0Lmx0LmZyb20tMV07cy53dD09PWUud3QrMSYmcy5PYS1lLmJpIT09aSsxJiYoZS5hUz5lLmNlP2UuYmk9cy5PYS1pLTE6cy5PYT1lLmJpK2krMSl9bGV0IGU9TWF0aC5jZWlsKHRoaXMucXQuZmwqdCk7Zm9yKGxldCB0PXRoaXMucXQubHQuZnJvbTt0PHRoaXMucXQubHQudG87dCsrKXtjb25zdCBpPXRoaXMuZVNbdC10aGlzLnF0Lmx0LmZyb21dO2kuYmk8aS5PYSYmKGkuYmk9aS5PYSk7Y29uc3Qgcz1pLmJpLWkuT2ErMTtlPU1hdGgubWluKHMsZSl9aWYoaT4wJiZlPDQpZm9yKGxldCB0PXRoaXMucXQubHQuZnJvbTt0PHRoaXMucXQubHQudG87dCsrKXtjb25zdCBpPXRoaXMuZVNbdC10aGlzLnF0Lmx0LmZyb21dO2kuYmktaS5PYSsxPmUmJihpLmFTPmkuY2U/aS5iaS09MTppLk9hKz0xKX19fWNsYXNzIEZoIGV4dGVuZHMgZGh7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMua2c9bmV3IExofVBnKHQsaSl7Y29uc3Qgcz10aGlzLmFlLkZ0KCkuTnQodGhpcy5hZS5OKCkuYmFzZSxmKHRoaXMuYWUuTHQoKSkuV3QpO3JldHVybiBudWxsPT09cz9udWxsOndlKHRoaXMuYmcsdGhpcy5TZyx0LGksdGhpcy5sZS5FdCgpLmZsKCksdGhpcy5hZS5OKCkuaGl0VGVzdFRvbGVyYW5jZSwoKHQsaSk9PntpWzBdPXQudXQsaVsxXT1zfSkpfXhiKHQsaSxzKXtyZXR1cm57Li4udGhpcy5TYih0LGkpLC4uLnMuU2godCl9fUJnKCl7Y29uc3QgdD17b3Q6dGhpcy5iZyxmbDp0aGlzLmxlLkV0KCkuZmwoKSxsdDp0aGlzLlNnLGhTOnRoaXMuYWUuRnQoKS5OdCh0aGlzLmFlLk4oKS5iYXNlLGYodGhpcy5hZS5MdCgpKS5XdCl9O3RoaXMua2cuaHQodCl9fWNvbnN0IHFoPXt0eXBlOiJIaXN0b2dyYW0iLGlzQnVpbHRJbjohMCxkZWZhdWx0T3B0aW9uczp7Y29sb3I6IiMyNmE2OWEiLGJhc2U6MH0sb2I6KHQsaSk9Pm5ldyBGaCh0LGkpfTtjbGFzcyBXaHtjb25zdHJ1Y3Rvcih0LGkpe3RoaXMueXQ9dCx0aGlzLmxTPWksdGhpcy5vUygpfWRldGFjaCgpe3RoaXMueXQuZGV0YWNoUHJpbWl0aXZlKHRoaXMubFMpfWdldFBhbmUoKXsKcmV0dXJuIHRoaXMueXR9YXBwbHlPcHRpb25zKHQpe3RoaXMubFMudnI/Lih0KX1vUygpe3RoaXMueXQuYXR0YWNoUHJpbWl0aXZlKHRoaXMubFMpfX1jb25zdCBRaD17dmlzaWJsZTohMCxob3J6QWxpZ246ImNlbnRlciIsdmVydEFsaWduOiJjZW50ZXIiLGxpbmVzOltdfSxEaD17Y29sb3I6InJnYmEoMCwgMCwgMCwgMC41KSIsZm9udFNpemU6NDgsZm9udEZhbWlseTp4LGZvbnRTdHlsZToiIix0ZXh0OiIifTtjbGFzcyBPaHtjb25zdHJ1Y3Rvcih0KXt0aGlzLl9TPW5ldyBNYXAsdGhpcy5xdD10fWRyYXcodCl7dC51c2VNZWRpYUNvb3JkaW5hdGVTcGFjZSgodD0+e2lmKCF0aGlzLnF0LnZpc2libGUpcmV0dXJuO2NvbnN0e2NvbnRleHQ6aSxtZWRpYVNpemU6c309dDtsZXQgZT0wO2Zvcihjb25zdCB0IG9mIHRoaXMucXQubGluZXMpe2lmKDA9PT10LnRleHQubGVuZ3RoKWNvbnRpbnVlO2kuZm9udD10LlA7Y29uc3QgaD10aGlzLnVTKGksdC50ZXh0KTtoPnMud2lkdGg/dC5GYz1zLndpZHRoL2g6dC5GYz0xLGUrPXQubGluZUhlaWdodCp0LkZjfWxldCBoPTA7c3dpdGNoKHRoaXMucXQudmVydEFsaWduKXtjYXNlInRvcCI6aD0wO2JyZWFrO2Nhc2UiY2VudGVyIjpoPU1hdGgubWF4KChzLmhlaWdodC1lKS8yLDApO2JyZWFrO2Nhc2UiYm90dG9tIjpoPU1hdGgubWF4KHMuaGVpZ2h0LWUsMCl9Zm9yKGNvbnN0IHQgb2YgdGhpcy5xdC5saW5lcyl7aS5zYXZlKCksaS5maWxsU3R5bGU9dC5jb2xvcjtsZXQgZT0wO3N3aXRjaCh0aGlzLnF0LmhvcnpBbGlnbil7Y2FzZSJsZWZ0IjppLnRleHRBbGlnbj0ibGVmdCIsZT10LmxpbmVIZWlnaHQvMjticmVhaztjYXNlImNlbnRlciI6aS50ZXh0QWxpZ249ImNlbnRlciIsZT1zLndpZHRoLzI7YnJlYWs7Y2FzZSJyaWdodCI6aS50ZXh0QWxpZ249InJpZ2h0IixlPXMud2lkdGgtMS10LmxpbmVIZWlnaHQvMn1pLnRyYW5zbGF0ZShlLGgpLGkudGV4dEJhc2VsaW5lPSJ0b3AiLGkuZm9udD10LlAsaS5zY2FsZSh0LkZjLHQuRmMpLGkuZmlsbFRleHQodC50ZXh0LDAsdC5jUyksaS5yZXN0b3JlKCksaCs9dC5saW5lSGVpZ2h0KnQuRmN9fSkpfXVTKHQsaSl7Y29uc3Qgcz10aGlzLmRTKHQuZm9udCk7bGV0IGU9cy5nZXQoaSk7cmV0dXJuIHZvaWQgMD09PWUmJihlPXQubWVhc3VyZVRleHQoaSkud2lkdGgscy5zZXQoaSxlKSksZX1kUyh0KXtsZXQgaT10aGlzLl9TLmdldCh0KTtyZXR1cm4gdm9pZCAwPT09aSYmKGk9bmV3IE1hcCx0aGlzLl9TLnNldCh0LGkpKSxpfX1jbGFzcyBLaHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnluPSRoKHQpfWt0KHQpe3RoaXMueW49JGgodCl9cmVuZGVyZXIoKXtyZXR1cm4gbmV3IE9oKHRoaXMueW4pfX1mdW5jdGlvbiBWaCh0KXtyZXR1cm57Li4udCxQOl8odC5mb250U2l6ZSx0LmZvbnRGYW1pbHksdC5mb250U3R5bGUpLGxpbmVIZWlnaHQ6dC5saW5lSGVpZ2h0fHwxLjIqdC5mb250U2l6ZSxjUzowLEZjOjB9fWZ1bmN0aW9uICRoKHQpe3JldHVybnsuLi50LGxpbmVzOnQubGluZXMubWFwKFZoKX19ZnVuY3Rpb24gQmgodCl7cmV0dXJuey4uLkRoLC4uLnR9fWZ1bmN0aW9uIEFoKHQpe3JldHVybnsuLi5RaCwuLi50LGxpbmVzOnQubGluZXM/Lm1hcChCaCk/P1tdfX1jbGFzcyBaaHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnluPUFoKHQpLHRoaXMuZlM9W25ldyBLaCh0aGlzLnluKV19dXBkYXRlQWxsVmlld3MoKXt0aGlzLmZTLmZvckVhY2goKHQ9PnQua3QodGhpcy55bikpKX1wYW5lVmlld3MoKXtyZXR1cm4gdGhpcy5mU31hdHRhY2hlZCh7cmVxdWVzdFVwZGF0ZTp0fSl7dGhpcy5wUz10fWRldGFjaGVkKCl7dGhpcy5wUz12b2lkIDB9dnIodCl7dGhpcy55bj1BaCh7Li4udGhpcy55biwuLi50fSksdGhpcy5wUyYmdGhpcy5wUygpfX1mdW5jdGlvbiBIaCh0LGkpe3JldHVybiBuZXcgV2godCxuZXcgWmgoaSkpfWNvbnN0IEdoPXsuLi5oLGNvbG9yOiIjMjE5NmYzIn19LDY3MTk0OSh0LGkscyl7cy5kKGkse2RlZmF1bHQ6KCk9PnV9KTt2YXIgZT1zKDE2ODUzMyksaD1zKDYxODU3KSxuPXMoNTc0NjY5KSxyPXMoMzkyOTA4KSxvPXMoNjkzOTQxKSxsPXMoMzA5MDgwKSxhPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7Y29uc3QgdT0oMCxuLmRlZmF1bHQpKChmdW5jdGlvbih0LGkpe2lmKCgwLG8uZGVmYXVsdCkoaSl8fCgwLHIuZGVmYXVsdCkoaSkpKDAsaC5kZWZhdWx0KShpLCgwLGwuZGVmYXVsdCkoaSksdCk7ZWxzZSBmb3IodmFyIHMgaW4gaSlhLmNhbGwoaSxzKSYmKDAsZS5kZWZhdWx0KSh0LHMsaVtzXSl9KSl9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/31396.dada17abc4adbf073139.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.003Z","timestamp":1785120634003,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/31396.dada17abc4adbf073139.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a323c19-182f2\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 17 Jun 2026 06:18:01 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/17/2026 11:26:01\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a9ba9fdbca7945e30e81422a63793181\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":99058,"size_decoded":18482,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (65536), with no line terminators","md5":"66317ce4b57c72fcfe161bb2ec83c51a","sha1":"200b2ec9adf4edbbe5f116abd8876b41cdcbe3d2","sha256":"9aab142f72bf381e18723a19f19460cabe90ab7541ad65e69058e08a51975478","sha512":"6d110ae2fa0bc39d29f23be62ef62c56cef642e4fbe558bd4a9235481634d8230cd67a814ad7b51f0ad02357748dc906bc668be8905d86789d1cf8c5a54ebfbd","ssdeep":"1536:n2Qw5vYV3KyVHYBUAbwKkdqmHCtGJWmJPpyyMJgKz8e1nq/eI+GNqz57ApA/q/Yq:A5v8anBUAbeENyv","tlshash":"80a376a5f2522136242b8e3a5b94fd545134e901ef267ffff942e92945c3ed2d22380b","first_seen":"2026-06-17T14:59:58.198603Z","last_seen":"2026-07-27T05:29:38.740518Z","times_seen":230,"resource_available":false,"data":"LnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItbGVnYWN5LWJnLXdpZGdldCk7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVufS50di13aWRnZXQtc2NyZWVuZXJfX2NvbnRhaW5lciAudHYtc2NyZWVuZXJfX2NvbnRlbnQtcGFuZXtvdmVyZmxvdy14OmF1dG99W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtekpxcTojMDAwMH1kaXYudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXIudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXItLXRyYW5zcGFyZW50LGRpdi50di13aWRnZXQtc2NyZWVuZXJfX2NvbnRhaW5lci50di13aWRnZXQtc2NyZWVuZXJfX2NvbnRhaW5lci0tdHJhbnNwYXJlbnQgLnR2LXNjcmVlbmVyLXRvb2xiYXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC16SnFxKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7ZGl2LnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLS10cmFuc3BhcmVudCAudHYtZGF0YS10YWJsZV9fdGJvZHkgLnR2LWRhdGEtdGFibGVfX3N0cm9rZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLXpKcXEpfX1kaXYudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXIudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXItLXRyYW5zcGFyZW50IC50di1zY3JlZW5lci10YWJsZV9faGVhZC13cmFwLGRpdi50di13aWRnZXQtc2NyZWVuZXJfX2NvbnRhaW5lci50di13aWRnZXQtc2NyZWVuZXJfX2NvbnRhaW5lci0tdHJhbnNwYXJlbnQgLnR2LXNjcmVlbmVyLXRhYmxlX190aHtib3JkZXItaW5saW5lLWVuZC1jb2xvcjp2YXIoLS1fMC16SnFxKX1kaXYudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXIudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXItLXRyYW5zcGFyZW50IC50di1zY3JlZW5lci1zdGlja3ktaGVhZGVyLXdyYXBwZXIsZGl2LnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLS10cmFuc3BhcmVudCAudHYtc2NyZWVuZXItdGFibGVfX2NvbC0tZHJhZ2dpbmcsZGl2LnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLS10cmFuc3BhcmVudCAudHYtc2NyZWVuZXItdGFibGVfX3RoLS1kcmFnZ2luZyxkaXYudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXIudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXItLXRyYW5zcGFyZW50IC50di1zY3JlZW5lci10YWJsZV9fdGhlYWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC16SnFxKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7ZGl2LnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLS10cmFuc3BhcmVudCAudHYtc2NyZWVuZXItdGFibGVfX2hlYWQtd3JhcDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLXpKcXEpfX1kaXYudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXIudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXItLXRyYW5zcGFyZW50IC50di1zY3JlZW5lci10YWJsZV9fZmlsdGVyLWJ1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLXpKcXEpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtkaXYudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXIudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXItLXRyYW5zcGFyZW50IC50di1zY3JlZW5lci1zdGlja3ktaGVhZGVyLXdyYXBwZXJfX2ZpZWxkcy1idXR0b246aG92ZXIsZGl2LnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLS10cmFuc3BhcmVudCAudHYtc2NyZWVuZXItdGFibGVfX2ZpbHRlci1idXR0b246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC16SnFxKX19ZGl2LnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLS10cmFuc3BhcmVudCAudHYtZHJvcGRvd24tYmVoYXZpb3JfX2J1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLXpKcXEpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtkaXYudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXIudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXItLXRyYW5zcGFyZW50IC50di1kcm9wZG93bi1iZWhhdmlvcl9fYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAtekpxcSl9fS50di1kcm9wZG93bi1iZWhhdmlvcl9fYm9keXtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpub25lfS50di1kcm9wZG93bi1iZWhhdmlvcl9fYm9keS5pLW9wZW5lZHtkaXNwbGF5OmJsb2NrfS50di1kcm9wZG93bi1iZWhhdmlvcl9fYnV0dG9ue2N1cnNvcjpwb2ludGVyfS50di1kcm9wZG93bi1iZWhhdmlvcl9faW5zY3JvbGwsLnR2LWRyb3Bkb3duLWJlaGF2aW9yX19pdGVtLC50di1kcm9wZG93bi1iZWhhdmlvcl9fc2Nyb2xse2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmV9LnR2LWRyb3Bkb3duLWJlaGF2aW9yX19zY3JvbGx7b3ZlcmZsb3c6aGlkZGVufVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLUktMzM6I2U2ZWFlZjstLV8xLUktMzM6I2U2ZTllZDstLV8yLUktMzM6I2Y0ZWNlYzstLV8zLUktMzM6I2VhZjNmYjstLV80LUktMzM6I2YzZjVmOTstLV81LUktMzM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1fNi1JLTMzOiM5MTk2OTE7LS1fNy1JLTMzOiM5OTk7LS1fOC1JLTMzOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1JLTMzOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tXzEtSS0zMzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLV8yLUktMzM6IzJjMjAzMDstLV8zLUktMzM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1fNC1JLTMzOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tXzUtSS0zMzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTApOy0tXzYtSS0zMzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLV83LUktMzM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1fOC1JLTMzOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApfS50di1kYXRhLXRhYmxle2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtib3JkZXItc3BhY2luZzowO2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcmVndWxhcik7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJX0udHYtZGF0YS10YWJsZV9faGVhZGVye3BhZGRpbmc6MTBweCAxMnB4fS50di1kYXRhLXRhYmxlX190aGVhZHtib3JkZXI6M3B4IHNvbGlkO2JvcmRlci1ib3R0b206bm9uZX0udHYtZGF0YS10YWJsZV9fc3Ryb2tle2hlaWdodDo0MHB4fS50di1kYXRhLXRhYmxlX19zdHJva2UtLWhpZGV7ZGlzcGxheTpub25lfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtZGF0YS10YWJsZV9fdGJvZHkgLnR2LWRhdGEtdGFibGVfX3N0cm9rZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV80LUktMzMpfX0udHYtZGF0YS10YWJsZV9fc3Ryb2tlLS1obCAudHYtZGF0YS10YWJsZV9fY2VsbDpmaXJzdC1jaGlsZHtwb3NpdGlvbjpyZWxhdGl2ZX0udHYtZGF0YS10YWJsZV9fc3Ryb2tlLS1obCAudHYtZGF0YS10YWJsZV9fY2VsbDpmaXJzdC1jaGlsZDpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjNweH0udHYtZGF0YS10YWJsZV9fc3Ryb2tlLS1obC1hY3RpdmUgLnR2LWRhdGEtdGFibGVfX2NlbGw6Zmlyc3QtY2hpbGQ6YmVmb3Jle2JhY2tncm91bmQ6dmFyKC0tY29sb3ItYnJhbmQpfS50di1kYXRhLXRhYmxlX19zdHJva2UtLWhsLWRhbmdlciAudHYtZGF0YS10YWJsZV9fY2VsbDpmaXJzdC1jaGlsZDpiZWZvcmV7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApfS50di1kYXRhLXRhYmxlX19zdHJva2UtLWhsLXN1Y2Nlc3MgLnR2LWRhdGEtdGFibGVfX2NlbGw6Zmlyc3QtY2hpbGQ6YmVmb3Jle2JhY2tncm91bmQ6dmFyKC0tY29sb3ItbGVnYWN5LXN1Y2Nlc3MpfS50di1kYXRhLXRhYmxlX19zdHJva2U6bGFzdC1jaGlsZCAudHYtZGF0YS10YWJsZV9fY2VsbHtib3JkZXItYm90dG9tOnZhcigtLV8wLUktMzMpIG5vbmV9LnR2LWRhdGEtdGFibGVfX3N0cm9rZS0tZ3JheWVke2NvbG9yOnZhcigtLV83LUktMzMpfS50di1kYXRhLXRhYmxlX19jZWxse2JvcmRlci1ib3R0b206MXB4IHNvbGlkO2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tXzAtSS0zMyk7Zm9udC1zaXplOjEzcHg7cGFkZGluZy1ibG9jazoxMHB4IDEwcHg7cGFkZGluZy1pbmxpbmU6MTFweCAxMHB4O3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7dmVydGljYWwtYWxpZ246bWlkZGxlfS50di1kYXRhLXRhYmxlX190Ym9keSAudHYtZGF0YS10YWJsZV9fY2VsbCwudHYtZGF0YS10YWJsZV9fdGJvZHkgLnR2LWRhdGEtdGFibGVfX2NlbGwgKnstd2Via2l0LXVzZXItc2VsZWN0OnRleHQhaW1wb3J0YW50O3VzZXItc2VsZWN0OnRleHQhaW1wb3J0YW50fS50di1kYXRhLXRhYmxlX19jZWxsLS1ib2xke2ZvbnQtd2VpZ2h0OjcwMH0udHYtZGF0YS10YWJsZV9fY2VsbC0taW5saW5lZHtkaXNwbGF5OmlubGluZS1ibG9ja30udHYtZGF0YS10YWJsZV9fY2VsbC0tcmlnaHQtYWxpZ257dGV4dC1hbGlnbjplbmQhaW1wb3J0YW50fS50di1kYXRhLXRhYmxlX19jZWxsLS1zdGF0dXN7YmFja2dyb3VuZDp2YXIoLS1fMS1JLTMzKTtoZWlnaHQ6MTVweDt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LWRhdGEtdGFibGVfX2NlbGwtLWxlZnQtbWFyZ2luPnNwYW57bWFyZ2luLWlubGluZS1zdGFydDoxMHB4fS50di1kYXRhLXRhYmxlX19jZWxsLS1yZWQtYmFja2dyb3VuZHtiYWNrZ3JvdW5kOnZhcigtLV8yLUktMzMpfS50di1kYXRhLXRhYmxlX19jZWxsLS1ibHVlLWJhY2tncm91bmR7YmFja2dyb3VuZDp2YXIoLS1fMy1JLTMzKX0udHYtZGF0YS10YWJsZV9fY2VsbC0tc3ltYm9sLWNlbGx7Y3Vyc29yOnBvaW50ZXI7Zm9udC13ZWlnaHQ6NjAwO3Bvc2l0aW9uOnJlbGF0aXZlfS50di1kYXRhLXRhYmxlX19jZWxsLS1idXR0b25zLWNlbGx7cGFkZGluZzowIDVweDt0ZXh0LWFsaWduOmVuZCFpbXBvcnRhbnQ7d2hpdGUtc3BhY2U6bm93cmFwO3dpZHRoOjUycHh9LnR2LWRhdGEtdGFibGVfX2NlbGwtLWJ1dHRvbntjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTJweDtwYWRkaW5nLWlubGluZS1lbmQ6NXB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDoxMnB4O2ZpbGw6IzljYTBhNn0udHYtZGF0YS10YWJsZV9fY2VsbC0tYnV0dG9uLmktaG92ZXJ7ZmlsbDp2YXIoLS1fNS1JLTMzKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWRhdGEtdGFibGVfX2NlbGwtLWJ1dHRvbjpob3ZlcntmaWxsOnZhcigtLV81LUktMzMpfX0udHYtZGF0YS10YWJsZV9fY2VsbC0tdGV4dHt0ZXh0LXRyYW5zZm9ybTpub25lfS50di1kYXRhLXRhYmxlX19jZWxsLS10ZXh0LW5vd3JhcHt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LWRhdGEtdGFibGVfX3RoZWFkIC50di1kYXRhLXRhYmxlX19jZWxse2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApO2N1cnNvcjpkZWZhdWx0O2ZvbnQtd2VpZ2h0OjQwMDtwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LWFsaWduOnN0YXJ0O3doaXRlLXNwYWNlOm5vd3JhcH0udHYtZGF0YS10YWJsZV9fc29ydGFibGV7Y3Vyc29yOnBvaW50ZXJ9LnR2LWRhdGEtdGFibGVfX3NvcnRhYmxlLS1hc2M6YWZ0ZXJ7Ym9yZGVyOjRweCBzb2xpZCAjMDAwMDtib3JkZXItYm90dG9tOjRweCBzb2xpZCB2YXIoLS1fNi1JLTMzKTtjb250ZW50OiIiO2N1cnNvcjpwb2ludGVyO21hcmdpbi10b3A6LTdweDttYXJnaW4taW5saW5lLXN0YXJ0OjVweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlfS50di1kYXRhLXRhYmxlX19zb3J0YWJsZS0tZGVzYzphZnRlcntib3JkZXI6NHB4IHNvbGlkICMwMDAwO2JvcmRlci10b3A6NHB4IHNvbGlkIHZhcigtLV82LUktMzMpO2NvbnRlbnQ6IiI7Y3Vyc29yOnBvaW50ZXI7bWFyZ2luLXRvcDotMnB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6NXB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCV9LnR2LWRhdGEtdGFibGVfX2J1dHRvbntjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTJweDtwYWRkaW5nLWlubGluZS1lbmQ6NXB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDoxMnB4O2ZpbGw6IzljYTBhNn1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWRhdGEtdGFibGVfX2J1dHRvbjpob3ZlcntmaWxsOnZhcigtLV81LUktMzMpfX0udHYtZGF0YS10YWJsZV9faW5mb3JtYXRpb24tYnV0dG9ue2N1cnNvcjpkZWZhdWx0O21hcmdpbi1pbmxpbmUtZW5kOjJweH0udHYtZGF0YS10YWJsZV9faW5mb3JtYXRpb24tYnV0dG9uIHN2Z3toZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS50di1kYXRhLXRhYmxlX19pbmZvcm1hdGlvbi1idXR0b24uaW5mb3JtYXRpb257Y29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApfS50di1kYXRhLXRhYmxlX19pbmZvcm1hdGlvbi1idXR0b24ud2FybmluZ3tjb2xvcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCl9LnR2LWRhdGEtdGFibGVfX2luZm9ybWF0aW9uLWJ1dHRvbi5lcnJvcntjb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS50di1kYXRhLXRhYmxlX19lZGl0LWJ1dHRvbiBzdmd7aGVpZ2h0OjEycHg7d2lkdGg6MTBweH0udHYtZGF0YS10YWJsZV9fY2xvc2UtYnV0dG9uIHN2Z3toZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS50di1kYXRhLXRhYmxlX19ibHVlLXRleHR7Y29sb3I6dmFyKC0tY29sb3ItYnJhbmQpfS50di1kYXRhLXRhYmxlX19saWdodC1yZWQtdGV4dHtjb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApfS50di1kYXRhLXRhYmxlX19yZWQtdGV4dHtjb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS50di1kYXRhLXRhYmxlX19ncmVlbi10ZXh0e2NvbG9yOnZhcigtLWNvbG9yLWxlZ2FjeS1zdWNjZXNzKX0udHYtZGF0YS10YWJsZV9fcmVkLWdyZWVuLXRleHR7Y29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApfS50di1kYXRhLXRhYmxlX19ncmV5LXRleHR7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpfS50di1kYXRhLXRhYmxlX19kcm9wZG93bi1idXR0b24td3JhcHtwYWRkaW5nLWJsb2NrOjAgMDtwYWRkaW5nLWlubGluZToxNXB4IDA7d2lkdGg6MTVweH0udHYtZGF0YS10YWJsZV9fZHJvcGRvd24tYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrfS50di1kYXRhLXRhYmxlX19kcm9wZG93bi1idXR0b24gc3Zne2ZpbGw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9LnR2LWRhdGEtdGFibGVfX2Ryb3Bkb3duLWJ1dHRvbi1jcm9zcy1hbGlnbntwYWRkaW5nLWlubGluZS1lbmQ6OXB4fS50di1kYXRhLXRhYmxlX19kcm9wZG93bi1zZWFyY2gtd3JhcHtib3JkZXItYm90dG9tOjFweCBzb2xpZDtib3JkZXItYm90dG9tLWNvbG9yOnZhcigtLV8wLUktMzMpO2hlaWdodDo0NXB4O3Bvc2l0aW9uOnJlbGF0aXZlfS50di1kYXRhLXRhYmxlX19kcm9wZG93bi1zZWFyY2gtaW5wdXR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wYW5lLWJnKTtib3JkZXI6bm9uZTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKTtkaXNwbGF5OmJsb2NrO2hlaWdodDo0NXB4O21hcmdpbjowO3BhZGRpbmc6MTBweCAyMnB4IDA7d2lkdGg6MTAwJX0udHYtZGF0YS10YWJsZV9fZHJvcGRvd24td3JhcHtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246Zml4ZWQhaW1wb3J0YW50O3dpZHRoOjI0MHB4fS50di1kYXRhLXRhYmxlX19kcm9wZG93bi1sYWJlbC0tYnJlYWthYmxle3dvcmQtYnJlYWs6YnJlYWstd29yZH1bZGF0YS10aGVtZT1saWdodF17LS1fMC1fYmhpOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tXzEtX2JoaTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLV8yLV9iaGk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1fMy1fYmhpOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tXzQtX2JoaTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV81LV9iaGk6dmFyKC0tY29sb3Itd2hpdGUpOy0tXzYtX2JoaTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLV83LV9iaGk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1fOC1fYmhpOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tXzktX2JoaTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLV9iaGk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1fMS1fYmhpOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzItX2JoaTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLV8zLV9iaGk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1fNC1fYmhpOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tXzUtX2JoaTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV82LV9iaGk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1fNy1fYmhpOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzgtX2JoaTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLV85LV9iaGk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9LnR2LWNvbnRyb2wtcmFkaW97bWFyZ2luLWlubGluZS1zdGFydDo0cHg7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fS50di1jb250cm9sLXJhZGlvLS1pbi1hY3Rpb25ze21heC13aWR0aDo1MCV9QG1lZGlhIChtYXgtd2lkdGg6NDc5cHgpey50di1jb250cm9sLXJhZGlvLS1pbi1hY3Rpb25ze21heC13aWR0aDpub25lfX0udHYtY29udHJvbC1yYWRpbywudHYtY29udHJvbC1yYWRpb19fbGFiZWx7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7dmVydGljYWwtYWxpZ246bWlkZGxlfS50di1jb250cm9sLXJhZGlvLS1ub3dyYXAsLnR2LWNvbnRyb2wtcmFkaW9fX2xhYmVsLS1ub3dyYXB7d2hpdGUtc3BhY2U6bm93cmFwfS50di1jb250cm9sLXJhZGlvX19pbnB1dHtoZWlnaHQ6MThweDtpbnNldC1pbmxpbmUtc3RhcnQ6MDtvcGFjaXR5OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MThweH0udHYtY29udHJvbC1yYWRpb19fYm94e2JveC1zaXppbmc6Ym9yZGVyLWJveDtsaW5lLWhlaWdodDoxO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4zNXMgZWFzZX0udHYtY29udHJvbC1yYWRpb19fYm94LC50di1jb250cm9sLXJhZGlvX19ib3g6YmVmb3Jle2JvcmRlci1yYWRpdXM6M3B4O2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0udHYtY29udHJvbC1yYWRpb19fYm94OmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Y29udGVudDoiIjtpbnNldC1pbmxpbmUtc3RhcnQ6NTAlO21hcmdpbi10b3A6LTlweDttYXJnaW4taW5saW5lLXN0YXJ0Oi05cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjM1cyBlYXNlLGJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlLGJvcmRlci1yYWRpdXMgLjM1cyBlYXNlfS50di1jb250cm9sLXJhZGlvX19ib3g6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV8wLV9iaGkpO2JvcmRlci1yYWRpdXM6M3B4O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjM1cyBlYXNlO3dpZHRoOjE4cHh9LnR2LWNvbnRyb2wtcmFkaW9fX2JveCBzdmd7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTJweDtpbnNldC1pbmxpbmUtc3RhcnQ6NTAlO21hcmdpbi10b3A6LTZweDttYXJnaW4taW5saW5lLXN0YXJ0Oi02cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt3aWR0aDoxMnB4O3N0cm9rZTojMDAwMDt0cmFuc2Zvcm06c2NhbGUoMCk7dHJhbnNpdGlvbjpzdHJva2UgLjM1cyBlYXNlIDFtcyx0cmFuc2Zvcm0gLjM1cyBlYXNlIDFtc30udHYtY29udHJvbC1yYWRpb19fbGFiZWx7bWFyZ2luLWlubGluZS1lbmQ6MTBweDt3aGl0ZS1zcGFjZTpub3JtYWx9LnR2LWNvbnRyb2wtcmFkaW9fX2xhYmVsLS10d28tbGluZXN7d2lkdGg6MTU1cHh9LnR2LWNvbnRyb2wtcmFkaW9fX2xhYmVsLS1ub3dyYXB7d2hpdGUtc3BhY2U6bm93cmFwfS50di1jb250cm9sLXJhZGlvX19sYWJlbC0tbGlsLWxpbmUtaGVpZ2h0e2xpbmUtaGVpZ2h0OjE2cHg7bWF4LXdpZHRoOjgwJTttaW4td2lkdGg6NDUlfS50di1jb250cm9sLXJhZGlvX19sYWJlbCsudHYtY29udHJvbC1yYWRpb3ttYXJnaW4taW5saW5lLXN0YXJ0OjB9LnR2LWNvbnRyb2wtcmFkaW8rLnR2LWNvbnRyb2wtcmFkaW9fX2xhYmVse21hcmdpbi1pbmxpbmUtZW5kOjA7bWFyZ2luLWlubGluZS1zdGFydDoxMHB4O21heC13aWR0aDpjYWxjKDEwMCUgLSAxZXggLSAyOHB4KX0udHYtY29udHJvbC1yYWRpbzphY3RpdmUgLnR2LWNvbnRyb2wtcmFkaW9fX2JveCwudHYtY29udHJvbC1yYWRpb19faW5wdXQ6Zm9jdXMrLnR2LWNvbnRyb2wtcmFkaW9fX2JveHt3aWxsLWNoYW5nZTpiYWNrZ3JvdW5kLWNvbG9yfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1yYWRpbzpob3ZlciAudHYtY29udHJvbC1yYWRpb19fYm94e3dpbGwtY2hhbmdlOmJhY2tncm91bmQtY29sb3J9fS50di1jb250cm9sLXJhZGlvOmFjdGl2ZSAudHYtY29udHJvbC1yYWRpb19fYm94OmJlZm9yZSwudHYtY29udHJvbC1yYWRpb19faW5wdXQ6Zm9jdXMrLnR2LWNvbnRyb2wtcmFkaW9fX2JveDpiZWZvcmV7d2lsbC1jaGFuZ2U6dHJhbnNmb3JtLGJvcmRlci1yYWRpdXN9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLXJhZGlvOmhvdmVyIC50di1jb250cm9sLXJhZGlvX19ib3g6YmVmb3Jle3dpbGwtY2hhbmdlOnRyYW5zZm9ybSxib3JkZXItcmFkaXVzfX0udHYtY29udHJvbC1yYWRpbzphY3RpdmUgLnR2LWNvbnRyb2wtcmFkaW9fX2JveDphZnRlciwudHYtY29udHJvbC1yYWRpb19faW5wdXQ6Zm9jdXMrLnR2LWNvbnRyb2wtcmFkaW9fX2JveDphZnRlcnt3aWxsLWNoYW5nZTpib3JkZXItY29sb3J9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLXJhZGlvOmhvdmVyIC50di1jb250cm9sLXJhZGlvX19ib3g6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV8xLV9iaGkpO3dpbGwtY2hhbmdlOmJvcmRlci1jb2xvcn19LnR2LWNvbnRyb2wtcmFkaW86YWN0aXZlIC50di1jb250cm9sLXJhZGlvX19ib3g6YWZ0ZXIsLnR2LWNvbnRyb2wtcmFkaW9fX2lucHV0OmZvY3VzKy50di1jb250cm9sLXJhZGlvX19ib3g6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV8yLV9iaGkpfS50di1jb250cm9sLXJhZGlvX19pbnB1dDpjaGVja2VkKy50di1jb250cm9sLXJhZGlvX19ib3h7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMy1fYmhpKX0udHYtY29udHJvbC1yYWRpb19faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1yYWRpb19fYm94LC50di1jb250cm9sLXJhZGlvX19pbnB1dDpjaGVja2VkKy50di1jb250cm9sLXJhZGlvX19ib3g6YWZ0ZXIsLnR2LWNvbnRyb2wtcmFkaW9fX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtcmFkaW9fX2JveDpiZWZvcmV7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSl9LnR2LWNvbnRyb2wtcmFkaW9fX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtcmFkaW9fX2JveDpiZWZvcmV7Ym9yZGVyLXJhZGl1czo1MCU7dHJhbnNmb3JtOnNjYWxlKDApfS50di1jb250cm9sLXJhZGlvX19pbnB1dDpjaGVja2VkKy50di1jb250cm9sLXJhZGlvX19ib3g6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV80LV9iaGkpfS50di1jb250cm9sLXJhZGlvX19pbnB1dDpjaGVja2VkKy50di1jb250cm9sLXJhZGlvX19ib3ggc3Zne3N0cm9rZTp2YXIoLS1fNS1fYmhpKTt0cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNpdGlvbi1kZWxheTo4Ny41bXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSk7d2lsbC1jaGFuZ2U6c3Ryb2tlLHRyYW5zZm9ybX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtcmFkaW86aG92ZXIgLnR2LWNvbnRyb2wtcmFkaW9fX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtcmFkaW9fX2JveHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV82LV9iaGkpfS50di1jb250cm9sLXJhZGlvOmhvdmVyIC50di1jb250cm9sLXJhZGlvX19pbnB1dDpjaGVja2VkKy50di1jb250cm9sLXJhZGlvX19ib3g6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV83LV9iaGkpfX0udHYtY29udHJvbC1yYWRpbzphY3RpdmUgLnR2LWNvbnRyb2wtcmFkaW9fX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtcmFkaW9fX2JveCwudHYtY29udHJvbC1yYWRpb19faW5wdXQ6Zm9jdXMtdmlzaWJsZTpjaGVja2VkKy50di1jb250cm9sLXJhZGlvX19ib3h7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fOC1fYmhpKX0udHYtY29udHJvbC1yYWRpbzphY3RpdmUgLnR2LWNvbnRyb2wtcmFkaW9fX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtcmFkaW9fX2JveDphZnRlciwudHYtY29udHJvbC1yYWRpb19faW5wdXQ6Zm9jdXMtdmlzaWJsZTpjaGVja2VkKy50di1jb250cm9sLXJhZGlvX19ib3g6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV85LV9iaGkpfS50di1jb250cm9sLXJhZGlvX19pbnB1dFtkaXNhYmxlZF0rLnR2LWNvbnRyb2wtcmFkaW9fX2JveHtvcGFjaXR5Oi41fS50di1jb250cm9sLXJhZGlvLmktZXJyb3IgLnR2LWNvbnRyb2wtcmFkaW9fX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKX0udHYtY29udHJvbC1yYWRpb19fYm94e2JvcmRlci1yYWRpdXM6NTAlO2hlaWdodDoxMHB4O292ZXJmbG93OnZpc2libGU7d2lkdGg6MTBweH0udHYtY29udHJvbC1yYWRpb19fYm94OmFmdGVye2JvcmRlci1yYWRpdXM6NTAlO2luc2V0LWlubGluZS1zdGFydDotNHB4O3RvcDotNHB4fS50di1jb250cm9sLXJhZGlvX19ib3g6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7aGVpZ2h0OjEwcHg7bWFyZ2luLXRvcDotNXB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6LTVweDt0cmFuc2Zvcm06c2NhbGUoMCk7d2lkdGg6MTBweH1odG1sLnRoZW1lLWRhcmsgLnR2LWNvbnRyb2wtcmFkaW9fX2JveDpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX0udHYtY29udHJvbC1yYWRpb19faW5wdXR7aW5zZXQtaW5saW5lLXN0YXJ0Oi00cHg7dG9wOi00cHh9LnR2LWNvbnRyb2wtcmFkaW9fX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtcmFkaW9fX2JveDpiZWZvcmV7dHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zaXRpb24tZHVyYXRpb246NjBtc30udHYtY29udHJvbC1yYWRpb19faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1yYWRpb19fYm94e2JhY2tncm91bmQtY29sb3I6I2ZmZjt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLXJhZGlvOmhvdmVyIC50di1jb250cm9sLXJhZGlvX19pbnB1dDpjaGVja2VkKy50di1jb250cm9sLXJhZGlvX19ib3h7YmFja2dyb3VuZC1jb2xvcjojZmZmO3RyYW5zaXRpb24tZHVyYXRpb246NjBtc319LnR2LXNlYXJjaC1iYXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5KTtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO2xpbmUtaGVpZ2h0OjgwcHg7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9QG1lZGlhIChtYXgtd2lkdGg6MTAxOXB4KXsudHYtc2VhcmNoLWJhcntoZWlnaHQ6NTRweDtsaW5lLWhlaWdodDo1NHB4fX0udHYtc2VhcmNoLWJhcl9faW5uZXJ7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXNlYXJjaC1iYXJfX2lubmVye3BhZGRpbmc6MCA1cHh9fS50di1zZWFyY2gtYmFyX19pbm5lci1yaWdodC1jb2x1bW57YWxpZ24taXRlbXM6ZmxleC1lbmQ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7bWFyZ2luLXRvcDotNTNweH0udHYtc2VhcmNoLWJhcl9fZHJvcGRvd257ZmxvYXQ6aW5saW5lLXN0YXJ0fS50di1zZWFyY2gtYmFyX19idXR0b24sLnR2LXNlYXJjaC1iYXJfX2J1dHRvbi13cmFwe2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfS50di1zZWFyY2gtYmFyX19idXR0b24td3JhcC0tbGluZS1oZWlnaHRfaW5oZXJpdCwudHYtc2VhcmNoLWJhcl9fYnV0dG9uLXdyYXAtLWxpbmUtaGVpZ2h0X2luaGVyaXQudHYtc2VhcmNoLWJhcl9fYnV0dG9uLXdyYXAtLWxpbmUtaGVpZ2h0X2luaGVyaXR7bGluZS1oZWlnaHQ6aW5oZXJpdH0udHYtc2VhcmNoLWJhcl9fYnV0dG9ue2FsaWduLWl0ZW1zOmNlbnRlcjtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpmbGV4O2ZvbnQtd2VpZ2h0OjcwMDtoZWlnaHQ6MTAwJTtwYWRkaW5nOjAgMTVweDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlOy0tdGl0bGUtY29sb3ItdGV4dDp2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpfS50di1zZWFyY2gtYmFyX19idXR0b24sLnR2LXNlYXJjaC1iYXJfX2J1dHRvbjp2aXNpdGVke2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7ZmlsbDp2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtc2VhcmNoLWJhcl9fYnV0dG9uOmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kLWhvdmVyKTtmaWxsOnZhcigtLWNvbG9yLWJyYW5kLWhvdmVyKX19LnR2LXNlYXJjaC1iYXJfX2J1dHRvbjphY3RpdmV7Y29sb3I6dmFyKC0tY29sb3ItYnJhbmQtYWN0aXZlKTtmaWxsOnZhcigtLWNvbG9yLWJyYW5kLWFjdGl2ZSl9LnR2LXNlYXJjaC1iYXJfX2J1dHRvbjpmb2N1c3tvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS50di1zZWFyY2gtYmFyX19idXR0b246Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS50di1zZWFyY2gtYmFyX19idXR0b246Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOm5vbmV9LnR2LXNlYXJjaC1iYXJfX2J1dHRvbjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5LWhvdmVyKTt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zZWFyY2gtYmFyX19idXR0b246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5LWhvdmVyKTt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXM7LS10aXRsZS1jb2xvci10ZXh0OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKX19LnR2LXNlYXJjaC1iYXJfX2J1dHRvbjphY3RpdmV7LS10aXRsZS1jb2xvci10ZXh0OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpfS50di1zZWFyY2gtYmFyX19idXR0b246Zm9jdXMsLnR2LXNlYXJjaC1iYXJfX2J1dHRvbjpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0udHYtc2VhcmNoLWJhcl9fYnV0dG9uLmktZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsOy0tdGl0bGUtY29sb3ItdGV4dDojZmZmZmZmYjM7Y3Vyc29yOmRlZmF1bHR9LmktYWN0aXZlIC50di1zZWFyY2gtYmFyX19idXR0b257LS10aXRsZS1jb2xvci10ZXh0OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpfS50di1zZWFyY2gtYmFyX19idXR0b24taW53cmFwe2Rpc3BsYXk6aW5saW5lLWJsb2NrO2xpbmUtaGVpZ2h0OjE7dmVydGljYWwtYWxpZ246bWlkZGxlfS50di1zZWFyY2gtYmFyX19idXR0b24tdGl0bGV7Y29sb3I6dmFyKC0tdGl0bGUtY29sb3ItdGV4dCxpbmhlcml0KTtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxNnB4O2xldHRlci1zcGFjaW5nOi4xMmV4O21hcmdpbi1ib3R0b206NXB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0udHYtc2VhcmNoLWJhcl9fYnV0dG9uLXRpdGxlOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfS50di1zZWFyY2gtYmFyX19idXR0b24tdGl0bGUtLXN1YntsaW5lLWhlaWdodDo0MHB4fS50di1zZWFyY2gtYmFyX19idXR0b24tdGl0bGUtLXRhYnN7bGluZS1oZWlnaHQ6ODBweH1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di1zZWFyY2gtYmFyX19idXR0b24tdGl0bGUtLXRhYnN7bGluZS1oZWlnaHQ6NTRweH19LnR2LXNlYXJjaC1iYXJfX2J1dHRvbi1zdWJ0aXRsZXtmb250LXNpemU6MTNweDtsZXR0ZXItc3BhY2luZzouMWV4O29wYWNpdHk6LjY1fS50di1zZWFyY2gtYmFyX19kcm9wZG93bi1ib2R5e21hcmdpbi10b3A6MjNweDttaW4td2lkdGg6MjAwcHh9LnR2LXNlYXJjaC1iYXJfX2FyZWEtLWZpbHRlcnN7ZmxvYXQ6aW5saW5lLXN0YXJ0O21hcmdpbi1pbmxpbmUtZW5kOi0xNXB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6LTE1cHh9QG1lZGlhIChtYXgtd2lkdGg6MTAxOXB4KXsudHYtc2VhcmNoLWJhcl9fYXJlYS0tZmlsdGVyc3tkaXNwbGF5Om5vbmV9fS50di1zZWFyY2gtYmFyX19hcmVhLS1zZWFyY2h7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di1zZWFyY2gtYmFyX19hcmVhLS1zZWFyY2hfZGVza3RvcHtkaXNwbGF5Om5vbmV9fS50di1zZWFyY2gtYmFyX19hcmVhLS10YWJze3dpZHRoOjEwMCV9QG1lZGlhIChtaW4td2lkdGg6MTAyMHB4KXsudHYtc2VhcmNoLWJhcl9fYXJlYS0tdGFic3ttYXJnaW4taW5saW5lLWVuZDotMTVweDttYXJnaW4taW5saW5lLXN0YXJ0Oi0xNXB4O3dpZHRoOmNhbGMoMTAwJSAtIDI1MHB4KX19LnR2LXNlYXJjaC1iYXJfX2FyZWEtLXByb2ZpbGUtZmlsdGVyc3tkaXNwbGF5OmlubGluZS1mbGV4O2ZsZXgtd3JhcDpub3dyYXA7aGVpZ2h0OjU2cHg7b3JkZXI6MTt3aGl0ZS1zcGFjZTpub3dyYXB9QG1lZGlhIChtYXgtd2lkdGg6MTAxOXB4KXsudHYtc2VhcmNoLWJhcl9fYXJlYS0tcHJvZmlsZS1maWx0ZXJze2Rpc3BsYXk6bm9uZX19LnR2LXNlYXJjaC1iYXJfX2FyZWEtLWRldmljZXN7ZGlzcGxheTpub25lfUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXNlYXJjaC1iYXJfX2FyZWEtLWRldmljZXN7ZGlzcGxheTpibG9ja319LnR2LXNlYXJjaC1iYXJfX3RhZ3Mtd3JhcHtwYWRkaW5nOjQzcHggMCAxMHB4fUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXNlYXJjaC1iYXJfX3RhZ3Mtd3JhcHtkaXNwbGF5Om5vbmV9fS50di1zZWFyY2gtYmFyX19zY3JpcHR7YWxpZ24tc2VsZjpzdHJldGNoO2JvcmRlci1ib3R0b206MXB4IHNvbGlkO2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tY29sb3ItZGl2aWRlcik7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXNlYXJjaC1iYXJfX3NjcmlwdHtkaXNwbGF5Om5vbmV9fS50di1zZWFyY2gtYmFyX190YWdze2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7bWFyZ2luLXRvcDotMjdweDttYXgtaGVpZ2h0OjI5cHg7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS50di1zZWFyY2gtYmFyX190YWdzLmktZXhwYW5kZWR7bWF4LWhlaWdodDpub25lfS50di1zZWFyY2gtYmFyX190YWdzOm5vdCguaS1leHBhbmRlZCkgLnR2LXNlYXJjaC1iYXJfX3RhZ3MtYnRuLS1sZXNzLXRhZ3N7ZGlzcGxheTpub25lfS50di1zZWFyY2gtYmFyX190YWdzLWxpc3R7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwfS50di1zZWFyY2gtYmFyX190YWdzLWJ0bntjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoyNHB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6MTZweDt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LXNlYXJjaC1iYXJfX3RhZ3MtYnRuLC50di1zZWFyY2gtYmFyX190YWdzLWJ0bjp2aXNpdGVke2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKTtmaWxsOnZhcigtLWNvbG9yLWJyYW5kKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNlYXJjaC1iYXJfX3RhZ3MtYnRuOmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kLWhvdmVyKTtmaWxsOnZhcigtLWNvbG9yLWJyYW5kLWhvdmVyKX19LnR2LXNlYXJjaC1iYXJfX3RhZ3MtYnRuOmFjdGl2ZXtjb2xvcjp2YXIoLS1jb2xvci1icmFuZCk7ZmlsbDp2YXIoLS1jb2xvci1icmFuZCl9LnR2LXNlYXJjaC1iYXJfX3RhZ3MtYnRuOmZvY3Vze291dGxpbmU6YXV0bztvdXRsaW5lLW9mZnNldDoycHh9LnR2LXNlYXJjaC1iYXJfX3RhZ3MtYnRuOmZvY3VzLXZpc2libGV7b3V0bGluZTphdXRvO291dGxpbmUtb2Zmc2V0OjJweH0udHYtc2VhcmNoLWJhcl9fdGFncy1idG46Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOm5vbmV9LnR2LXNlYXJjaC1iYXJfX3RhZ3MtYnRuOmFjdGl2ZXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxcHgpfS50di1zZWFyY2gtYmFyX191bm1vZGVyYXRlZC1ub3RpY2V7Ym9yZGVyLXJhZGl1czoycHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEwcHg7bGluZS1oZWlnaHQ6MS4yO21hcmdpbi1pbmxpbmUtc3RhcnQ6NXB4O21heC13aWR0aDoxMjBweDtwYWRkaW5nOjFweCA0cHh9LnR2LXNlYXJjaC1iYXJfX3VubW9kZXJhdGVkLW5vdGljZS0td2FybmluZ3tiYWNrZ3JvdW5kLWNvbG9yOiNlMmU4ODU7Y29sb3I6IzY2Nn0udHYtc2VhcmNoLWJhcl9fd2lkZ2V0cy1jb250cm9se21hcmdpbi1pbmxpbmUtZW5kOjQwcHh9LnR2LXNlYXJjaC1iYXJfX3dpZGdldHMtY29udHJvbC1pY29uIHN2Z3tmaWxsOiNmZmZ9LnR2LXNlYXJjaC1iYXJfX3NlYXJjaC1xdWVyeXtkaXNwbGF5OmlubGluZS1ibG9jaztsaW5lLWhlaWdodDoxO3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDoyMHB4O3ZlcnRpY2FsLWFsaWduOnRvcH1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di1zZWFyY2gtYmFyX19zZWFyY2gtcXVlcnl7ZGlzcGxheTpibG9jaztwYWRkaW5nLWlubGluZS1lbmQ6NDZweDt0b3A6MH19LnR2LXNlYXJjaC1iYXJfX3NlYXJjaC1xdWVyeS0tbW9iaWxle2Rpc3BsYXk6bm9uZX1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di1zZWFyY2gtYmFyX19zZWFyY2gtcXVlcnktLW1vYmlsZXtkaXNwbGF5OmJsb2NrfS50di1zZWFyY2gtYmFyX19zZWFyY2gtcXVlcnktLXdpdGhvdXQtZmlsdGVycy1idXR0b257cGFkZGluZy1pbmxpbmUtZW5kOjB9fS50di1zZWFyY2gtYmFyX19zZWFyY2gtaW5wdXR7YmFja2dyb3VuZC1jb2xvcjojYjNjN2QyNDA7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czozcHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOnZhcigtLWNvbG9yLXdoaXRlKTtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTZweDtwYWRkaW5nLWJsb2NrOjEwcHggMTBweDtwYWRkaW5nLWlubGluZTo0NHB4IDM2cHg7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4zNXMgZWFzZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2lkdGg6MjUwcHh9LnR2LXNlYXJjaC1iYXJfX3NlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCk7dHJhbnNpdGlvbjpjb2xvciAuMzVzIGVhc2V9LnR2LXNlYXJjaC1iYXJfX3NlYXJjaC1pbnB1dDpmb2N1czo6cGxhY2Vob2xkZXJ7Y29sb3I6I2I4YmFjMDt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9QG1lZGlhIChtYXgtd2lkdGg6MTAxOXB4KXsudHYtc2VhcmNoLWJhcl9fc2VhcmNoLWlucHV0e2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtib3JkZXItcmFkaXVzOjA7cGFkZGluZy1ibG9jazoxOXB4IDE5cHg7cGFkZGluZy1pbmxpbmU6MzJweCAzNnB4O3dpZHRoOjEwMCV9fS50di1zZWFyY2gtYmFyX19zZWFyY2gtaW5wdXQ6Zm9jdXN7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXNlYXJjaC1iYXJfX3NlYXJjaC1pbnB1dDpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWx9fS50di1zZWFyY2gtYmFyX19zZWFyY2gtaWNvbntkaXNwbGF5OmJsb2NrO2luc2V0LWlubGluZS1zdGFydDoxMnB4O21hcmdpbi10b3A6LTlweDtvcGFjaXR5Oi44O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2l0aW9uOm9wYWNpdHkgLjM1cyBlYXNlfUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXNlYXJjaC1iYXJfX3NlYXJjaC1pY29ue2luc2V0LWlubGluZS1zdGFydDowfX0udHYtc2VhcmNoLWJhcl9fc2VhcmNoLWljb24gc3Zne2Rpc3BsYXk6YmxvY2s7ZmlsbDp2YXIoLS1jb2xvci13aGl0ZSk7aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0udHYtc2VhcmNoLWJhcl9fc2VhcmNoLWlucHV0OmZvY3VzKy50di1zZWFyY2gtYmFyX19zZWFyY2gtaWNvbntvcGFjaXR5OjE7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfS50di1zZWFyY2gtYmFyX19pbnB1dC1yZXNldHtib3R0b206MDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmJsb2NrO2luc2V0LWlubGluZS1lbmQ6MDtvcGFjaXR5Oi44O3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3RvcDowO3RyYW5zaXRpb246b3BhY2l0eSAuMzVzIGVhc2U7d2lkdGg6MzZweH0udHYtc2VhcmNoLWJhcl9faW5wdXQtcmVzZXQ6YWZ0ZXJ7Y29udGVudDoiIjtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTAwJTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnR2LXNlYXJjaC1iYXJfX2lucHV0LXJlc2V0IHN2Z3tkaXNwbGF5OmlubGluZS1ibG9jaztmaWxsOnZhcigtLWNvbG9yLXdoaXRlKTtoZWlnaHQ6OXB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDo5cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zZWFyY2gtYmFyX19pbnB1dC1yZXNldDpob3ZlcntvcGFjaXR5OjE7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfX1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di1zZWFyY2gtYmFyX19pbnB1dC1yZXNldHtpbnNldC1pbmxpbmUtZW5kOjExMnB4fX0udHYtc2VhcmNoLWJhcl9fc3BvbnNvcmVke2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDo1MHB4O2xpbmUtaGVpZ2h0OjE7bWluLXdpZHRoOjFweDt0ZXh0LWFsaWduOmVuZDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2lkdGg6MTAwcHh9QG1lZGlhIChtYXgtd2lkdGg6MTAxOXB4KXsudHYtc2VhcmNoLWJhcl9fc3BvbnNvcmVke2Rpc3BsYXk6bm9uZX19LnR2LXNlYXJjaC1iYXJfX3Nwb25zb3JlZC10ZXh0e2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjcwMDttYXJnaW4tYm90dG9tOi02cHg7b3BhY2l0eTouN30udHYtc2VhcmNoLWJhcl9fc3BvbnNvcmVkLWJ5e2JhY2tncm91bmQtcG9zaXRpb246NTAlO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlO29wYWNpdHk6Ljk7cG9zaXRpb246cmVsYXRpdmU7dHJhbnNpdGlvbjpvcGFjaXR5IC4zNXMgZWFzZTt3aWR0aDoxMDAlfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtc2VhcmNoLWJhcl9fc3BvbnNvcmVkLWJ5OmhvdmVye29wYWNpdHk6MTt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9fS50di1zZWFyY2gtYmFyX19zcG9uc29yZWQtaW1ne2Rpc3BsYXk6aW5saW5lLWJsb2NrO2luc2V0LWlubGluZS1lbmQ6MDttYXgtaGVpZ2h0OjEwMCU7bWF4LXdpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKX0udHYtc2VhcmNoLWJhcl9fc3BvbnNvcmVkLWltZyBzdmd7cG9zaXRpb246cmVsYXRpdmU7ZmlsbDp2YXIoLS1jb2xvci13aGl0ZSk7aGVpZ2h0OjQwcHg7d2lkdGg6MTAwcHh9LnR2LXNlYXJjaC1iYXItLXNlY29uZGFyeXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJvZHktYmcpO2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKX1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di1zZWFyY2gtYmFyLS1zZWNvbmRhcnlfZGV2aWNlcy1yZXNlcnZlZC1oZWlnaHR7aGVpZ2h0OjU3cHh9fS50di1zZWFyY2gtYmFyLS1zZWNvbmRhcnkgLnR2LXNlYXJjaC1iYXJfX2J1dHRvbntjb2xvcjp2YXIoLS1jb2xvci1icmFuZCl9LnR2LXNlYXJjaC1iYXItLXNlY29uZGFyeSAudHYtc2VhcmNoLWJhcl9fYnV0dG9uOmFjdGl2ZSwudHYtc2VhcmNoLWJhci0tc2Vjb25kYXJ5IC50di1zZWFyY2gtYmFyX19kZXZpY2UtYnRuOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJnLXByaW1hcnktaG92ZXIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtc2VhcmNoLWJhci0tc2Vjb25kYXJ5IC50di1zZWFyY2gtYmFyX19idXR0b246aG92ZXIsLnR2LXNlYXJjaC1iYXItLXNlY29uZGFyeSAudHYtc2VhcmNoLWJhcl9fZGV2aWNlLWJ0bjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJnLXByaW1hcnktaG92ZXIpfX0udHYtc2VhcmNoLWJhci0tc2Vjb25kYXJ5IC50di1zZWFyY2gtYmFyX19kZXZpY2UtYnRuIHN2ZywudHYtc2VhcmNoLWJhci0tc2Vjb25kYXJ5IC50di1zZWFyY2gtYmFyX19pbnB1dC1yZXNldCBzdmcsLnR2LXNlYXJjaC1iYXItLXNlY29uZGFyeSAudHYtc2VhcmNoLWJhcl9fc2VhcmNoLWljb24gc3Zne2ZpbGw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9LnR2LXNlYXJjaC1iYXItLXNlY29uZGFyeSAudHYtc2VhcmNoLWJhcl9fc2VhcmNoLWlucHV0e2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApfS50di1zZWFyY2gtYmFyLS1zZWNvbmRhcnkgLnR2LXNlYXJjaC1iYXJfX3NlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7dHJhbnNpdGlvbjpjb2xvciAuMzVzIGVhc2V9LnR2LXNlYXJjaC1iYXItLXNlY29uZGFyeSAudHYtc2VhcmNoLWJhcl9fc2VhcmNoLWlucHV0OmZvY3VzOjpwbGFjZWhvbGRlcntjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9LnR2LXNlYXJjaC1iYXItLXN1YntiYWNrZ3JvdW5kLWNvbG9yOiMwZTEwMTU7aGVpZ2h0OmF1dG87bGluZS1oZWlnaHQ6NDBweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNlYXJjaC1iYXItLXN1YiAudHYtc2VhcmNoLWJhcl9fYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeS1ob3Zlcil9fS50di1zZWFyY2gtYmFyLS1zdWIgLnR2LXNlYXJjaC1iYXJfX2J1dHRvbjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5LWhvdmVyKX0udHYtc2VhcmNoLWJhci0tc3ViIC50di1zZWFyY2gtYmFyX19idXR0b24td3JhcHtvcGFjaXR5Oi42NTt0cmFuc2l0aW9uOm9wYWNpdHkgLjM1cyBlYXNlfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtc2VhcmNoLWJhci0tc3ViIC50di1zZWFyY2gtYmFyX19idXR0b24td3JhcDpob3ZlcntvcGFjaXR5Oi44O3RyYW5zaXRpb24tZHVyYXRpb246NjBtc319LnR2LXNlYXJjaC1iYXItLXN1YiAudHYtc2VhcmNoLWJhcl9fYnV0dG9uLXdyYXA6YWN0aXZle29wYWNpdHk6MTt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9LnR2LXNlYXJjaC1iYXItLXN1YiAudHYtc2VhcmNoLWJhcl9fYnV0dG9uLXdyYXAuaS1hY3RpdmV7b3BhY2l0eToxfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtc2VhcmNoLWJhci0tc3ViIC50di1zZWFyY2gtYmFyX19idXR0b24td3JhcC5pLWFjdGl2ZTpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1icmFuZCl9fS50di1zZWFyY2gtYmFyLS1zdWIgLnR2LXNlYXJjaC1iYXJfX2J1dHRvbi10aXRsZXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo0MDB9LnR2LXNlYXJjaC1iYXIgLnR2LXNlYXJjaC1iYXJfX2NhcmV0e21hcmdpbi1pbmxpbmUtc3RhcnQ6MnB4fS50di1zZWFyY2gtYmFyX19kZXZpY2UtYnRue2JvdHRvbTowO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5Om5vbmU7Zm9udC1zaXplOjA7aW5zZXQtaW5saW5lLWVuZDowO3BhZGRpbmc6MCAyMHB4O3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3RvcDowO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMzVzIGVhc2U7d2lkdGg6NjZweH0udHYtc2VhcmNoLWJhcl9fZGV2aWNlLWJ0bi0tcmlnaHRfMntpbnNldC1pbmxpbmUtZW5kOjY2cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zZWFyY2gtYmFyX19kZXZpY2UtYnRuOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfX0udHYtc2VhcmNoLWJhcl9fZGV2aWNlLWJ0bjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9QG1lZGlhIChtYXgtd2lkdGg6MTAxOXB4KXsudHYtc2VhcmNoLWJhcl9fZGV2aWNlLWJ0bntkaXNwbGF5OmJsb2NrfX0udHYtc2VhcmNoLWJhcl9fZGV2aWNlLWJ0biBzdmd7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO2ZpbGw6dmFyKC0tY29sb3Itd2hpdGUpfS50di1zZWFyY2gtYmFyIFtkYXRhLWRpdmlzaW9uPXNlYXJjaF17ZGlzcGxheTpub25lfVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLXhKYnA6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1fMS14SmJwOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAteEpicDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLV8xLXhKYnA6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCl9LnR2LXNsaWRlciwudWktc2xpZGVyLnR2LXNsaWRlcntiYWNrZ3JvdW5kOm5vbmUhaW1wb3J0YW50O2JhY2tncm91bmQtY29sb3I6aW5pdGlhbCFpbXBvcnRhbnQ7Ym9yZGVyOm5vbmUhaW1wb3J0YW50O2JveC1zaGFkb3c6bm9uZTtoZWlnaHQ6MTBweCFpbXBvcnRhbnQ7bWFyZ2luOjhweCAxMDBweDtwb3NpdGlvbjpyZWxhdGl2ZX0udHYtc2xpZGVyOmFmdGVyLC51aS1zbGlkZXIudHYtc2xpZGVyOmFmdGVye2JhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7Y29udGVudDoiIjtoZWlnaHQ6MnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0cHg7d2lkdGg6MTAwJX0udHYtc2xpZGVyX19sYWJlbHMsLnVpLXNsaWRlci50di1zbGlkZXJfX2xhYmVsc3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDt3aWR0aDoxMDAlfS50di1zbGlkZXJfX2xhYmVsLC51aS1zbGlkZXIudHYtc2xpZGVyX19sYWJlbHtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyOjFweCBzb2xpZDtib3JkZXItY29sb3I6dmFyKC0tXzAteEpicCk7Ym9yZGVyLXJhZGl1czoycHg7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKTtmb250LXNpemU6MTJweCFpbXBvcnRhbnQ7aGVpZ2h0OjI1cHg7cGFkZGluZzowIDZweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTE5cHg7d2lkdGg6MTAzcHg7d2lkdGg6NjVweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNsaWRlcl9fbGFiZWw6aG92ZXIsLnVpLXNsaWRlci50di1zbGlkZXJfX2xhYmVsOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1fMS14SmJwKX19LnR2LXNsaWRlcl9fbGFiZWw6Zm9jdXMsLnVpLXNsaWRlci50di1zbGlkZXJfX2xhYmVsOmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1icmFuZCl9LnR2LXNsaWRlcl9fbGFiZWwtLWxlZnQsLnVpLXNsaWRlci50di1zbGlkZXJfX2xhYmVsLS1sZWZ0e2xlZnQ6LTEwMHB4fS50di1zbGlkZXJfX2xhYmVsLS1yaWdodCwudWktc2xpZGVyLnR2LXNsaWRlcl9fbGFiZWwtLXJpZ2h0e3JpZ2h0Oi05NnB4fS50di1zbGlkZXIgLnVpLXNsaWRlci1oYW5kbGUsLnVpLXNsaWRlci50di1zbGlkZXIgLnVpLXNsaWRlci1oYW5kbGV7YmFja2dyb3VuZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCkhaW1wb3J0YW50O2JvcmRlci1yYWRpdXM6NXB4O2hlaWdodDoxMHB4IWltcG9ydGFudDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MCFpbXBvcnRhbnQ7d2lkdGg6MTBweCFpbXBvcnRhbnQ7ei1pbmRleDoxfS5mZWF0dXJlLW1vYmlsZXRvdWNoIC50di1zbGlkZXIgLnVpLXNsaWRlci1oYW5kbGU6YWZ0ZXIsLmZlYXR1cmUtbW9iaWxldG91Y2ggLnVpLXNsaWRlci50di1zbGlkZXIgLnVpLXNsaWRlci1oYW5kbGU6YWZ0ZXJ7Y29udGVudDoiIjtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6LTZweDtwYWRkaW5nOjZweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTZweDt3aWR0aDoxMDAlfS50di1zbGlkZXIgLnVpLXNsaWRlci1yYW5nZSwudWktc2xpZGVyLnR2LXNsaWRlciAudWktc2xpZGVyLXJhbmdle2JhY2tncm91bmQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApIWltcG9ydGFudDtoZWlnaHQ6MnB4IWltcG9ydGFudDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NHB4IWltcG9ydGFudDt6LWluZGV4OjF9LnR2LXNsaWRlciAudWktc2xpZGVyLXJhbmdlLW1pbiwudWktc2xpZGVyLnR2LXNsaWRlciAudWktc2xpZGVyLXJhbmdlLW1pbntsZWZ0OjA7cmlnaHQ6YXV0b30udHYtc2NyZWVuZXJ7cG9zaXRpb246cmVsYXRpdmV9LnR2LWVtYmVkLXdpZGdldC13cmFwcGVyIC50di1zY3JlZW5lciwudHYtZmVlZCAudHYtc2NyZWVuZXJ7bWFyZ2luOjB9LnR2LXNjcmVlbmVyX19zdGFuZGFsb25lLW1haW4tY29udGFpbmVye21pbi1oZWlnaHQ6MDtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwfS50di1zY3JlZW5lci0tc3RhbmRhbG9uZXtwYWRkaW5nLXRvcDo1NnB4O3otaW5kZXg6MX0udHYtc2NyZWVuZXItLXN0aWNreS1oZWFkZXJ7cGFkZGluZy10b3A6NTdweH0udHYtc2NyZWVuZXItLWhpZGRlbi10b29sYmFye3BhZGRpbmctdG9wOjB9LnR2LXNjcmVlbmVyX19jb250ZW50LXBhbmV7aGVpZ2h0OmNhbGMoMTAwJSAtIDE4NHB4KTtvdmVyZmxvdzphdXRvO3BhZGRpbmctYm90dG9tOjgwcHg7cG9zaXRpb246cmVsYXRpdmV9LnR2LXNjcmVlbmVyX19jb250ZW50LXBhbmU6Oi13ZWJraXQtc2Nyb2xsYmFye2hlaWdodDo1cHg7d2lkdGg6NXB4fS50di1zY3JlZW5lcl9fY29udGVudC1wYW5lOjotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kLWNsaXA6Y29udGVudC1ib3g7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1zY3JvbGxiYXItdGh1bWItYmFja2dyb3VuZCx2YXIoLS1jb2xvci1zY3JvbGwtYmcpKTtib3JkZXI6MXB4IHNvbGlkICMwMDAwO2JvcmRlci1yYWRpdXM6M3B4fS50di1zY3JlZW5lcl9fY29udGVudC1wYW5lOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyLXJhZGl1czozcHh9LnR2LXNjcmVlbmVyX19jb250ZW50LXBhbmU6Oi13ZWJraXQtc2Nyb2xsYmFyLWNvcm5lcntkaXNwbGF5Om5vbmV9LnR2LXNjcmVlbmVyX19jb250ZW50LXBhbmU6Oi13ZWJraXQtc2Nyb2xsYmFye2hlaWdodDo2cHg7d2lkdGg6NnB4fS50di1zY3JlZW5lcl9fY29udGVudC1wYW5lOjotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXNiLXNjcm9sbGJhci1ib2R5LWJnKTtib3JkZXI6bm9uZX0udHYtc2NyZWVuZXJfX2NvbnRlbnQtcGFuZS0tZnVsbHktbG9hZGVke2hlaWdodDpjYWxjKDEwMCUgLSA1NnB4KTtwYWRkaW5nLWJvdHRvbTowfS50di1zY3JlZW5lci0tc3RhbmRhbG9uZSAudHYtc2NyZWVuZXJfX2NvbnRlbnQtcGFuZXtoZWlnaHQ6YXV0bztvdmVyZmxvdzp2aXNpYmxlO3BhZGRpbmctYm90dG9tOjB9LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldHtiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWJvZHktYmcpO292ZXJmbG93OmhpZGRlbn1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di1zY3JlZW5lci0tc3RhbmRhbG9uZS1tYXJrZXR7bWFyZ2luOjAgLTIwcHh9fS50di1zY3JlZW5lci0tc3RhbmRhbG9uZS1tYXJrZXQgLnR2LXNjcmVlbmVyX19jb250ZW50LXBhbmV7b3ZlcmZsb3c6aGlkZGVufUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXJfX2NvbnRlbnQtcGFuZXtvdmVyZmxvdzphdXRvfX0udHYtc2NyZWVuZXJfX3N5bWJvbHtjb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC13ZWlnaHQ6NzAwO21heC13aWR0aDoxMDAlO3BhZGRpbmctaW5saW5lLWVuZDozcHh9LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXJfX3N5bWJvbHtjb2xvcjp2YXIoLS1jb2xvci1icmFuZCl9LnR2LXNjcmVlbmVyX19zeW1ib2wtLXRleHR7Y29sb3I6dmFyKC0tY29sb3Itc2NyZWVuZXItZGVzY3JpcHRpb24pO2N1cnNvcjpkZWZhdWx0fS50di1zY3JlZW5lcl9fc3ltYm9sLS1zZWNvbmRhcnl7Zm9udC13ZWlnaHQ6NDAwfS50di1zY3JlZW5lcl9fdHlwZXtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTtmb250LXdlaWdodDo0MDA7dGV4dC10cmFuc2Zvcm06bm9uZX0udHYtc2NyZWVuZXItLXN0YW5kYWxvbmUtbWFya2V0IC50di1zY3JlZW5lcl9fdHlwZXtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSl9LnR2LXNjcmVlbmVyX19kZXNjcmlwdGlvbntjb2xvcjp2YXIoLS1jb2xvci1zY3JlZW5lci1kZXNjcmlwdGlvbik7ZGlzcGxheTppbmxpbmU7Zm9udC13ZWlnaHQ6NDAwO2xldHRlci1zcGFjaW5nOi4zcHg7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3ZlcnRpY2FsLWFsaWduOmJvdHRvbX1AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7LnR2LXNjcmVlbmVyX19kZXNjcmlwdGlvbnttYXgtd2lkdGg6MTUwcHh9fS50di1zY3JlZW5lci0tc3RhbmRhbG9uZS1tYXJrZXQgLnR2LXNjcmVlbmVyX19kZXNjcmlwdGlvbntjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpfS50di1zY3JlZW5lcl9fbG9hZGluZy1zY3JlZW57Ym90dG9tOjA7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwNXB4O3dpZHRoOjEwMCU7ei1pbmRleDoxfS50di1zY3JlZW5lcl9fbG9hZGluZy1zY3JlZW4tLXN0YW5kYWxvbmV7cG9zaXRpb246Zml4ZWR9LnR2LXNjcmVlbmVyX19sb2FkaW5nLXNjcmVlbi0taGlkZGVuLXRvb2xiYXJ7dG9wOjQ5cHh9LnR2LXNjcmVlbmVyX19ib3R0b20tbG9hZGluZy1zY3JlZW57Ym90dG9tOjQwcHg7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTt6LWluZGV4OjF9LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lIC50di1zY3JlZW5lcl9fYm90dG9tLWxvYWRpbmctc2NyZWVue2JvdHRvbTowO2hlaWdodDo3MHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS50di1zY3JlZW5lcl9fZmlsdGVyLWZpZWxkLXRpdGxlLS1hY3RpdmV7Y29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApIWltcG9ydGFudH0udHYtc2NyZWVuZXJfX3N0YW5kYWxvbmUtd3JhcHttYXJnaW46MDtwYWRkaW5nOjE0OHB4IDAgMH0udHYtc2NyZWVuZXJfX3N0YW5kYWxvbmUtdGl0bGUtd3JhcHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJvZHktYmcpO2JvcmRlci1ib3R0b206MnB4IHNvbGlkIHZhcigtLWNvbG9yLWRpdmlkZXIpO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtwYWRkaW5nOjI2cHggMjBweCAyMHB4fS50di1zY3JlZW5lcl9fc3RhbmRhbG9uZS10aXRsZXtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO2ZvbnQtc2l6ZTozMHB4O2ZvbnQtd2VpZ2h0OjQwMDtsZXR0ZXItc3BhY2luZzotLjNweDtsaW5lLWhlaWdodDozNXB4fS50di1zY3JlZW5lcl9fbWFpbnRlbmFuY2V7Y29sb3I6IzhmOGY4Zjtmb250LXN0eWxlOml0YWxpYzttYXJnaW46MTBweCAxMXB4O3RleHQtYWxpZ246Y2VudGVyfS50di1zY3JlZW5lcl9fYm9keS1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYm9keS1iZyl9W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtRXFMYjojZTFlNmVjOy0tXzEtRXFMYjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLV8yLUVxTGI6I2YxZjNmNjstLV8zLUVxTGI6I2ZmZjstLV80LUVxTGI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1fNS1FcUxiOnZhcigtLWNvbG9yLXdoaXRlKTstLV82LUVxTGI6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tXzctRXFMYjp2YXIoLS1jb2xvci13aGl0ZSk7LS1fOC1FcUxiOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tXzktRXFMYjp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMTAtRXFMYjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1FcUxiOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tXzEtRXFMYjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV8yLUVxTGI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1fMy1FcUxiOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzQtRXFMYjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLV81LUVxTGI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1fNi1FcUxiOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLV83LUVxTGI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1fOC1FcUxiOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzktRXFMYjp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMTAtRXFMYjojMzE3OWY1MmV9LnR2LXNjcmVlbmVyLXRvb2xiYXJ7YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOm5vd3JhcDtwYWRkaW5nOjEycHggMjBweCAxMHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb246ZGlzcGxheSAuNHMgLjRzfUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsudHYtc2NyZWVuZXItdG9vbGJhcntmbGV4LXdyYXA6d3JhcH19LnR2LXNjcmVlbmVyLXRvb2xiYXItLW9uZS1saW5le2ZsZXgtd3JhcDpub3dyYXA7b3ZlcmZsb3c6dmlzaWJsZX0udHYtc2NyZWVuZXItdG9vbGJhci0tc3RhbmRhbG9uZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJvZHktYmcpO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfS50di1zY3JlZW5lci10b29sYmFyLS1tYXJrZXRze2JhY2tncm91bmQ6dmFyKC0tY29sb3ItYm9keS1iZyl9LnR2LXNjcmVlbmVyLXRvb2xiYXItLW1hcmtldHNfcmVsYXRpdmV7cG9zaXRpb246cmVsYXRpdmV9LnR2LXNjcmVlbmVyLXRvb2xiYXItLW1hcmtldHNfc3RpY2t5e2JhY2tncm91bmQ6dmFyKC0tY29sb3ItYm9keS1iZyk7cG9zaXRpb246Zml4ZWQ7ei1pbmRleDo1fS50di1zY3JlZW5lci10b29sYmFyLS1tYXJrZXRzX2Fic29sdXRle2JhY2tncm91bmQ6dmFyKC0tY29sb3ItYm9keS1iZyk7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjB9LnR2LXNjcmVlbmVyLXRvb2xiYXItLXN0YW5kYWxvbmVfc3RpY2t5e2xlZnQ6MDtwb3NpdGlvbjpmaXhlZDt0b3A6MDt6LWluZGV4OjN9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX3JlZnJlc2gtY291bnRlcntib3R0b206MDtkaXNwbGF5Om5vbmU7Zm9udC1zaXplOjEwcHg7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6MTAwJX0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS13aXRoLWNvdW50ZXIgLnR2LXNjcmVlbmVyLXRvb2xiYXJfX3JlZnJlc2gtY291bnRlcntkaXNwbGF5OmJsb2NrfS50di1zY3JlZW5lci10b29sYmFyPmRpdntoZWlnaHQ6MzJweDttYXJnaW4tYm90dG9tOjJweH0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9ue2JvcmRlcjoxcHggc29saWQ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJvcmRlcik7Ym9yZGVyLXJhZGl1czoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOnZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztmbGV4LXNocmluazowO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtoZWlnaHQ6MzJweDttYXgtd2lkdGg6MjUwcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmctYmxvY2s6OHB4IDA7cGFkZGluZy1pbmxpbmU6MTJweCAxMnB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIDE3NW1zIGVhc2Usb3BhY2l0eSAxNzVtcyBlYXNlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tc3BhY2VfcmlnaHR7bWFyZ2luLWlubGluZS1lbmQ6MTBweH0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1hbmltYXRlZHt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgMTc1bXMgZWFzZSxvcGFjaXR5IDE3NW1zIGVhc2Usd2lkdGggLjM1cyBlYXNlfS50di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXdpdGgtb3B0aW9uc3tib3JkZXItZW5kLWVuZC1yYWRpdXM6MDtib3JkZXItaW5saW5lLWVuZDpub25lO2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOjB9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tb3B0aW9uc3tib3JkZXItZW5kLXN0YXJ0LXJhZGl1czowO2JvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6MH0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1yZWZyZXNoe3BhZGRpbmc6OHB4IDAgMDt3aWR0aDozMnB4fS50di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXJlZnJlc2ggc3Zne2luc2V0LWlubGluZS1zdGFydDo1MCV9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tZXhwb3J0e3dpZHRoOjM2cHh9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tZXhwb3J0IHN2Z3tpbnNldC1pbmxpbmUtc3RhcnQ6NTAlfS50di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXNxdWFyZXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2hlaWdodDozMnB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzowO3dpZHRoOjMycHh9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tcmVmcmVzaC50di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXdpdGgtY291bnRlciBzdmd7dHJhbnNmb3JtOnNjYWxlKC45KSB0cmFuc2xhdGVZKC01cHgpfS50di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLWFycm93LWRvd257cGFkZGluZy1pbmxpbmUtZW5kOjE5cHh9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tYXJyb3ctZG93bjpiZWZvcmV7Ym9yZGVyOjRweCBzb2xpZCAjMDAwMDtib3JkZXItdG9wOjRweCBzb2xpZCB2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTtjb250ZW50OiIiO2luc2V0LWlubGluZS1lbmQ6NnB4O21hcmdpbi10b3A6LTRweDttYXJnaW4taW5saW5lLXN0YXJ0OjVweDttYXJnaW4taW5saW5lLXN0YXJ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjU1JX0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS13aXRoLXN0YXRle3BhZGRpbmctaW5saW5lLWVuZDoyM3B4fS50di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLWFjdGl2ZXtjb2xvcjp2YXIoLS1jb2xvci1icmFuZCl9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tYWN0aXZlIHN2Z3tmaWxsOnZhcigtLWNvbG9yLWJyYW5kKX0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1hY3RpdmU6YWZ0ZXJ7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS1jb2xvci1icmFuZCl9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tY3JlYXRlLWFsZXJ0e2JhY2tncm91bmQtY29sb3I6I2ZmZn0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1jcmVhdGUtYWxlcnQgc3Zne3RyYW5zaXRpb246b3BhY2l0eSAxNzVtcyBlYXNlfS50di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXVuc2F2ZWQ6YWZ0ZXJ7Y29udGVudDoiKiI7aW5zZXQtaW5saW5lLWVuZDoxN3B4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDo5cHh9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi5pLWxvYWRpbmd7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1icmFuZCk7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJyYW5kKTtwb2ludGVyLWV2ZW50czpub25lfS50di1zY3JlZW5lci10b29sYmFyX19idXR0b24uaS1sb2FkaW5nIHN2Z3tvcGFjaXR5OjB9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi5pLWxvYWRpbmc6YWZ0ZXJ7YW5pbWF0aW9uLWR1cmF0aW9uOjEuMDVzO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7YW5pbWF0aW9uLW5hbWU6dHYtcHVsc2UtYW5pbWF0aW9uLWJ1dHRvbi1BUmRiTTB5RDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMzMsMCwuMTEsMSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1jb2xvci1pdGVtLWFjdGl2ZS10ZXh0KTtib3JkZXItcmFkaXVzOjUwJTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxMHB4O2luc2V0LWlubGluZS1zdGFydDo1MCU7bWFyZ2luLWJsb2NrOi01cHggMDttYXJnaW4taW5saW5lOi01cHggMDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOjEwcHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci10b29sYmFyX19idXR0b246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1saXN0LW50aC1jaGlsZC1iZyl9fS50di1zY3JlZW5lci10b29sYmFyX19idXR0b246YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYm9yZGVyKTtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci10b29sYmFyX19idXR0b246aG92ZXJ7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpfX0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uOmFjdGl2ZSBzdmd7ZmlsbDp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci10b29sYmFyX19idXR0b246aG92ZXIgc3Zne2ZpbGw6dmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpfX0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1lbmFibGVke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnJhbmQpO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1icmFuZCk7Y29sb3I6dmFyKC0tY29sb3ItaXRlbS1hY3RpdmUtdGV4dCl9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tZW5hYmxlZCBzdmd7ZmlsbDp2YXIoLS1jb2xvci1pdGVtLWFjdGl2ZS10ZXh0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tZW5hYmxlZDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJyYW5kLWhvdmVyKTtjb2xvcjp2YXIoLS1jb2xvci1pdGVtLWFjdGl2ZS10ZXh0KX0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1lbmFibGVkOmhvdmVyIHN2Z3tmaWxsOnZhcigtLWNvbG9yLWl0ZW0tYWN0aXZlLXRleHQpfX0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1lbmFibGVkOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJyYW5kLWFjdGl2ZSl9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tYWxlcnQtbG9hZGluZ3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJyYW5kKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItYnJhbmQpO3BvaW50ZXItZXZlbnRzOm5vbmV9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tYWxlcnQtbG9hZGluZyBzdmd7b3BhY2l0eTowfUBrZXlmcmFtZXMgdHYtcHVsc2UtYW5pbWF0aW9uLWJ1dHRvbi1BUmRiTTB5RHswJXtvcGFjaXR5OjB9MjAle29wYWNpdHk6MX10b3tvcGFjaXR5OjA7dHJhbnNmb3JtOnNjYWxlKDIuNSl9fS50di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLWFsZXJ0LWxvYWRpbmc6YWZ0ZXJ7YW5pbWF0aW9uLWR1cmF0aW9uOjEuMDVzO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7YW5pbWF0aW9uLW5hbWU6dHYtcHVsc2UtYW5pbWF0aW9uLWJ1dHRvbi1BUmRiTTB5RDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMzMsMCwuMTEsMSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1jb2xvci1pdGVtLWFjdGl2ZS10ZXh0KTtib3JkZXItcmFkaXVzOjUwJTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxMHB4O2luc2V0LWlubGluZS1zdGFydDo1MCU7bWFyZ2luLWJsb2NrOi01cHggMDttYXJnaW4taW5saW5lOi01cHggMDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOjEwcHh9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tZW5hYmxlZC1hbGVydC1sb2FkaW5ne2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeSk7Ym9yZGVyLWNvbG9yOnZhcigtLV80LUVxTGIpfS50di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLWVuYWJsZWQtYWxlcnQtbG9hZGluZzphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tZmlsdGVyc3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJyYW5kKTtib3JkZXItd2lkdGg6MDtjb2xvcjp2YXIoLS1jb2xvci1pdGVtLWFjdGl2ZS10ZXh0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tZmlsdGVyczpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJyYW5kLWhvdmVyKX19LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tZmlsdGVyczphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNi1FcUxiKTtjb2xvcjp2YXIoLS1fNy1FcUxiKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tZmlsdGVyczpob3Zlcntjb2xvcjp2YXIoLS1fNy1FcUxiKX19LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi1pY29ue2ZpbGw6dmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLWljb24tLXN0YW5kYWxvbmUtcmVmcmVzaHttYXJnaW4taW5saW5lLXN0YXJ0Oi05cHg7dG9wOi0ycHh9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi1pY29uLS1leHBvcnR7bWFyZ2luLWlubGluZS1zdGFydDotOHB4O3RvcDotMnB4fS50di1zY3JlZW5lci10b29sYmFyX19idXR0b24taWNvbi0tZmlsdGVyc3toZWlnaHQ6MTRweDttYXJnaW4taW5saW5lLXN0YXJ0OjdweDt3aWR0aDoxMnB4O2ZpbGw6dmFyKC0tY29sb3ItaXRlbS1hY3RpdmUtdGV4dCl9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi13cmFwLC50di1zY3JlZW5lci10b29sYmFyX19maWx0ZXItY291bnQtd3JhcHtwb3NpdGlvbjpyZWxhdGl2ZX0udHYtc2NyZWVuZXItdG9vbGJhcl9fZmlsdGVyLWNvdW50e2JhY2tncm91bmQ6dmFyKC0tY29sb3ItYnJhbmQpO2JvcmRlcjoycHggc29saWQgdmFyKC0tXzUtRXFMYik7Ym9yZGVyLXJhZGl1czoxMnB4O2NvbG9yOnZhcigtLWNvbG9yLWl0ZW0tYWN0aXZlLXRleHQpO2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZToxMnB4O2hlaWdodDoxOXB4O2luc2V0LWlubGluZS1lbmQ6LTEycHg7bGluZS1oZWlnaHQ6MjBweDtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt0b3A6LTEycHg7d2lkdGg6MTlweH0udHYtc2NyZWVuZXItdG9vbGJhcl9fZmlsdGVyLWNvdW50LS1tYXJrZXQtY291bnR7Ym9yZGVyOm5vbmU7aGVpZ2h0OjE2cHg7aW5zZXQtaW5saW5lLWVuZDoxMXB4O2xpbmUtaGVpZ2h0OjE2cHg7dG9wOi0xcHg7d2lkdGg6MTZweH0udHYtc2NyZWVuZXItdG9vbGJhcl9fc3dpdGNoe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7bWFyZ2luLWlubGluZS1zdGFydDoxMHB4fS50di1zY3JlZW5lci10b29sYmFyX19mYXZvcml0ZXMsLnR2LXNjcmVlbmVyLXRvb2xiYXJfX3BlcmlvZC1waWNrZXJ7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4LWdyb3c6MX0udHYtc2NyZWVuZXItdG9vbGJhcl9fZmF2b3JpdGVze21heC13aWR0aDoxMDAlfS50di1zY3JlZW5lci10b29sYmFyX19wZXJpb2QtcGlja2Vye3dpZHRoOjEwMCV9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX25vLXNjcm9sbC1jaG9pY2VyLXJlYWN0LXJvb3R7ZmxleC1ncm93OjF9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX25vLXNjcm9sbC1jaG9pY2VyLXJlYWN0LXJvb3QtZHJvcGRvd24taXRlbS0tc2VsZWN0ZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMTAtRXFMYikhaW1wb3J0YW50O2NvbG9yOnZhcigtLV85LUVxTGIpIWltcG9ydGFudH0udHYtc2NyZWVuZXItdG9vbGJhcl9fZmF2b3JpdGVzLWl0ZW0sLnR2LXNjcmVlbmVyLXRvb2xiYXJfX3BlcmlvZC1waWNrZXItaXRlbXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8yLUVxTGIpO2JvcmRlci1yYWRpdXM6MnB4O2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxM3B4O21hcmdpbi1pbmxpbmUtc3RhcnQ6OXB4O21heC13aWR0aDoxNTBweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzo1cHggMTBweDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAxNzVtcyBlYXNlO3doaXRlLXNwYWNlOm5vd3JhcH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2Zhdm9yaXRlcy1pdGVtOmhvdmVyLC50di1zY3JlZW5lci10b29sYmFyX19wZXJpb2QtcGlja2VyLWl0ZW06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC1FcUxiKX19LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2Zhdm9yaXRlcy1pdGVtOmFjdGl2ZSwudHYtc2NyZWVuZXItdG9vbGJhcl9fcGVyaW9kLXBpY2tlci1pdGVtOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xLUVxTGIpfS50di1zY3JlZW5lci10b29sYmFyX19mYXZvcml0ZXMtaXRlbTpmaXJzdC1jaGlsZCwudHYtc2NyZWVuZXItdG9vbGJhcl9fcGVyaW9kLXBpY2tlci1pdGVtOmZpcnN0LWNoaWxke21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0udHYtc2NyZWVuZXItdG9vbGJhcl9fZmF2b3JpdGVzLWl0ZW0tLWFjdGl2ZSwudHYtc2NyZWVuZXItdG9vbGJhcl9fZmF2b3JpdGVzLWl0ZW0tLWFjdGl2ZTphY3RpdmUsLnR2LXNjcmVlbmVyLXRvb2xiYXJfX3BlcmlvZC1waWNrZXItaXRlbS0tYWN0aXZlLC50di1zY3JlZW5lci10b29sYmFyX19wZXJpb2QtcGlja2VyLWl0ZW0tLWFjdGl2ZTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMS1FcUxiKSFpbXBvcnRhbnQ7Y29sb3I6dmFyKC0tXzMtRXFMYil9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci10b29sYmFyX19mYXZvcml0ZXMtaXRlbS0tYWN0aXZlOmhvdmVyLC50di1zY3JlZW5lci10b29sYmFyX19wZXJpb2QtcGlja2VyLWl0ZW0tLWFjdGl2ZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xLUVxTGIpIWltcG9ydGFudDtjb2xvcjp2YXIoLS1fMy1FcUxiKX19LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2Zhdm9yaXRlcy1tb3JlLXdyYXB7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWlubGluZS1zdGFydDo5cHg7cG9zaXRpb246cmVsYXRpdmV9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2Zhdm9yaXRlcy1tb3Jle2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE1cHg7bWFyZ2luLWlubGluZS1zdGFydDowO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjVweH0udHYtc2NyZWVuZXItdG9vbGJhcl9fZmF2b3JpdGVzLW1vcmU6YWZ0ZXJ7Ym9yZGVyOjRweCBzb2xpZCAjMDAwMDtib3JkZXItdG9wOjRweCBzb2xpZCB2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTtjb250ZW50OiIiO21hcmdpbi10b3A6LTRweDttYXJnaW4taW5saW5lLXN0YXJ0OjVweDttYXJnaW4taW5saW5lLXN0YXJ0Oi0xcHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjU1JX0udHYtc2NyZWVuZXItdG9vbGJhcl9faW50ZXJ2YWwtc3Vwe3RvcDotLjVlbX0udHYtc2NyZWVuZXItdG9vbGJhcl9faW50ZXJ2YWwtc2VsZWN0e3doaXRlLXNwYWNlOm5vd3JhcH0udHYtc2NyZWVuZXItdG9vbGJhciAudHYtc2NyZWVuZXItdG9vbGJhcl9fY3VycmVuY3ktc2VsZWN0e21hcmdpbi1pbmxpbmUtZW5kOjEwcHh9LnR2LXNjcmVlbmVyLXRvb2xiYXIgLnR2LXNjcmVlbmVyLXRvb2xiYXJfX2N1cnJlbmN5LXNlbGVjdCAudHYtZHJvcGRvd25fX2J1dHRvbnt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDoyMTBweH0udHYtc2NyZWVuZXItdG9vbGJhciAudHYtc2NyZWVuZXItdG9vbGJhcl9fY3VycmVuY3ktc2VsZWN0IC50di1zY3JlZW5lci1wb3B1cF9faXRlbXt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDoxNzBweH0udHYtc2NyZWVuZXItdG9vbGJhciAudHYtc2NyZWVuZXItcG9wdXBfX2N1cnJlbmN5LXNlbGVjdC0tYWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItaXRlbS1zZWxlY3RlZC1ibHVlKX0udHYtZmxhZy1jb3VudHJ5LS1nbG9iZSBzdmd7Y29sb3I6dmFyKC0tXzgtRXFMYil9W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtNnlfUjojZWNlY2VjfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtNnlfUjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKX0udHYtc2NyZWVuZXItcG9wdXB7d2lkdGg6MjgwcHh9LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVte2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcmVndWxhcik7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MTRweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzoxMHB4IDIycHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt0ZXh0LXRyYW5zZm9ybTpub25lO3doaXRlLXNwYWNlOm5vd3JhcH0udHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLXByZXNldHMsLnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLS1zYXZle2JvcmRlci1ib3R0b206MXB4IHNvbGlkO2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tXzAtNnlfUil9LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLS1zYXZle21hcmdpbi1ib3R0b206MTBweH0udHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLWFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWl0ZW0tc2VsZWN0ZWQtYmx1ZSl9LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLS1wcmVzZXRze2ZvbnQtd2VpZ2h0OjQwMDtwYWRkaW5nOjB9LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLS1wcmVzZXRzOmVtcHR5e2Rpc3BsYXk6bm9uZX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLS1wcmVzZXQ6aG92ZXJ7cGFkZGluZy1pbmxpbmUtZW5kOjcwcHh9fS50di1zY3JlZW5lci1wb3B1cF9faXRlbS0tc3BhY2UtbGVmdHtwYWRkaW5nLWlubGluZS1zdGFydDoyNXB4IWltcG9ydGFudH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdHYtZHJvcGRvd24taXRlbS1ob3Zlci1iZyl9fS50di1zY3JlZW5lci1wb3B1cF9faXRlbS1wcmVzZXRzLXRpdGxle2Rpc3BsYXk6YmxvY2s7Zm9udC13ZWlnaHQ6NzAwO3BhZGRpbmc6MTBweCAyMnB4fS50di1zY3JlZW5lci1wb3B1cF9faXRlbS1kZWxldGV7ZGlzcGxheTpub25lO2luc2V0LWlubGluZS1lbmQ6NzRweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTFweH0udHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tZGVsZXRlLS1yaWdodHtpbnNldC1pbmxpbmUtZW5kOjE4cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci1wb3B1cF9faXRlbS1kZWxldGU6aG92ZXIgc3ZnICp7c3Ryb2tlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApfS50di1zY3JlZW5lci1wb3B1cF9faXRlbTpob3Zlcj4udHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tZGVsZXRle2Rpc3BsYXk6aW5saW5lfX0udHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tZWRpdCwudHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tcmVuYW1le2Rpc3BsYXk6bm9uZTtpbnNldC1pbmxpbmUtZW5kOjQ1cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjExcHh9LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLWVkaXQgc3ZnLC50di1zY3JlZW5lci1wb3B1cF9faXRlbS1yZW5hbWUgc3Zne2hlaWdodDoxMHB4O3dpZHRoOjEycHg7ZmlsbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLWVkaXQ6aG92ZXIgc3ZnLC50di1zY3JlZW5lci1wb3B1cF9faXRlbS1yZW5hbWU6aG92ZXIgc3Zne2ZpbGw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCl9LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtOmhvdmVyPi50di1zY3JlZW5lci1wb3B1cF9faXRlbS1lZGl0LC50di1zY3JlZW5lci1wb3B1cF9faXRlbTpob3Zlcj4udHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tcmVuYW1le2Rpc3BsYXk6YmxvY2t9fS50di1zY3JlZW5lci1wb3B1cF9faXRlbS1kZWxldGUsLnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLXJlbmFtZSwudHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tc3RhciwudHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tc3Rhci1hY3RpdmV7bWFyZ2luOi03cHg7cGFkZGluZzo3cHh9LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLXN0YXIsLnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLXN0YXItYWN0aXZle2Rpc3BsYXk6bm9uZTtpbnNldC1pbmxpbmUtZW5kOjE1cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjhweH0udHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tc3RhciBzdmcsLnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLXN0YXItYWN0aXZlIHN2Z3toZWlnaHQ6MTZweDt3aWR0aDoxNnB4O2ZpbGw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci1wb3B1cF9faXRlbS1zdGFyOmhvdmVyIHN2Z3tmaWxsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApfX0udHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tc3Rhci1hY3RpdmUgc3Zne2ZpbGw6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tc3Rhci1hY3RpdmU6aG92ZXIgc3Zne2ZpbGw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNDAwKX19LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLS1mYXZvcml0ZSAudHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tc3Rhci1hY3RpdmV7ZGlzcGxheTppbmxpbmV9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci1wb3B1cF9faXRlbTpob3Zlcj4udHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tc3RhcntkaXNwbGF5OmlubGluZX0udHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLWZhdm9yaXRlOmhvdmVyPi50di1zY3JlZW5lci1wb3B1cF9faXRlbS1zdGFye2Rpc3BsYXk6bm9uZX19LnR2LXNjcmVlbmVyLXBvcHVwX19yZWZyZXNoLWludGVydmFsc3t3aWR0aDphdXRvfS50di1zY3JlZW5lci1wb3B1cF9fcmVmcmVzaC1pbnRlcnZhbC1sYWJlbHt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LXNjcmVlbmVyLXBvcHVwX19zZWxlY3QtaW50ZXJ2YWwtYWN0aXZle2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXBvcHVwX19zZWxlY3QtaW50ZXJ2YWwtYWN0aXZlOmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKX19LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLWFsZXJ0LXRvZ2dsZXtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpub25lO2hlaWdodDoxNHB4O2luc2V0LWlubGluZS1zdGFydDo2cHg7cGFkZGluZy1ibG9jazoycHggMDtwYWRkaW5nLWlubGluZToycHggMDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6OXB4O3dpZHRoOjE0cHh9LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLWFsZXJ0LXRvZ2dsZSBzdmd7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTBweDt3aWR0aDoxMHB4O2ZpbGw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLWFsZXJ0LXRvZ2dsZS0tYWN0aXZle2Rpc3BsYXk6YmxvY2t9LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLWFsZXJ0LXRvZ2dsZS0tYWN0aXZlIHN2Z3tmaWxsOnZhcigtLWNvbG9yLWJyYW5kKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLWFsZXJ0LXRvZ2dsZTpob3ZlciBzdmd7ZmlsbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKX0udHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tYWxlcnQtdG9nZ2xlLS1hY3RpdmU6aG92ZXIgc3Zne2ZpbGw6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApfS50di1zY3JlZW5lci1wb3B1cF9faXRlbTpob3ZlciAudHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tYWxlcnQtdG9nZ2xle2Rpc3BsYXk6YmxvY2t9fS5mZWF0dXJlLW1vYmlsZXRvdWNoIC50di1zY3JlZW5lci1wb3B1cF9faXRlbS0tZmF2b3JpdGUgLnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLXN0YXJ7ZGlzcGxheTpub25lfS5mZWF0dXJlLW1vYmlsZXRvdWNoIC50di1zY3JlZW5lci1wb3B1cF9faXRlbS1kZWxldGUsLmZlYXR1cmUtbW9iaWxldG91Y2ggLnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLXJlbmFtZSwuZmVhdHVyZS1tb2JpbGV0b3VjaCAudHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tc3RhcntkaXNwbGF5OmlubGluZX0udHYtc2NyZWVuZXItZmllbGRzLXBvcHVwe3RvcDoxcHg7d2lkdGg6MjgwcHh9LnR2LXNjcmVlbmVyLWZpZWxkcy1wb3B1cF9fc2VhcmNoLXdyYXB7Ym9yZGVyLWJvdHRvbToxcHggc29saWQ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJvcmRlcik7aGVpZ2h0OjQ1cHg7cG9zaXRpb246cmVsYXRpdmV9LnR2LXNjcmVlbmVyLWZpZWxkcy1wb3B1cF9fc2VhcmNoLWlucHV0e2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtib3JkZXI6bm9uZTtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpibG9jaztoZWlnaHQ6NDVweDttYXJnaW46MDtwYWRkaW5nLWJsb2NrOjEwcHggMDtwYWRkaW5nLWlubGluZToyMnB4IDIycHg7d2lkdGg6MTAwJX0udHYtc2NyZWVuZXItZmllbGRzLXBvcHVwX19zZWFyY2gtbm8tbWF0Y2hlc3tjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7Zm9udC1zdHlsZTppdGFsaWM7cG9pbnRlci1ldmVudHM6bm9uZX0udHYtc2NyZWVuZXItZmllbGRzLXBvcHVwX19pdGVte2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcmVndWxhcik7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDoxNHB4O3BhZGRpbmc6MTBweCAyMnB4fS50di1zY3JlZW5lci1maWVsZHMtcG9wdXBfX2l0ZW0tLW5vLW1hdGNoZXN7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7Y3Vyc29yOmRlZmF1bHQ7Zm9udC1zdHlsZTppdGFsaWN9LnR2LXNjcmVlbmVyLWZpZWxkcy1wb3B1cF9fc2VhcmNoLWlucHV0e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeSk7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKX1bZGF0YS10aGVtZT1saWdodF17LS1fMC1lTGtWOiNmNWY4Zjk7LS1fMS1lTGtWOnZhcigtLWNvbG9yLXdoaXRlKTstLV8yLWVMa1Y6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1fMy1lTGtWOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tXzQtZUxrVjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV81LWVMa1Y6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1lTGtWOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tXzEtZUxrVjp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMi1lTGtWOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1fMy1lTGtWOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tXzQtZUxrVjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLV81LWVMa1Y6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9QGtleWZyYW1lcyBmbGljay16UGlWNlNZNHswJXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTApfXRve2JhY2tncm91bmQtY29sb3I6aW5pdGlhbH19QGtleWZyYW1lcyBmbGljay10aGVtZS1kYXJrLXpQaVY2U1k0ezAle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tYTkwMCl9dG97YmFja2dyb3VuZC1jb2xvcjppbml0aWFsfX1odG1sLnRoZW1lLWRhcmsgLnR2LXNjcmVlbmVyLXRhYmxlX19yZXN1bHQtcm93LS1mb2N1c2VkLGh0bWwudGhlbWUtZGFyayAudHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3ctLXNlbGVjdGVke2JhY2tncm91bmQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7aHRtbC50aGVtZS1kYXJrIC50di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdy0tZm9jdXNlZDpob3ZlcixodG1sLnRoZW1lLWRhcmsgLnR2LXNjcmVlbmVyLXRhYmxlX19yZXN1bHQtcm93LS1zZWxlY3RlZDpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCkhaW1wb3J0YW50fX1odG1sLnRoZW1lLWRhcmsgLnR2LXNjcmVlbmVyLXRhYmxlX19yZXN1bHQtcm93LS1mbGlja3thbmltYXRpb24tbmFtZTpmbGljay10aGVtZS1kYXJrLXpQaVY2U1k0fS50di1zY3JlZW5lci10YWJsZXtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO3Bvc2l0aW9uOnN0YXRpY30udHYtc2NyZWVuZXItdGFibGUtLWZpeGVke3RhYmxlLWxheW91dDpmaXhlZH0udHYtc2NyZWVuZXItdGFibGVfX3RoZWFke2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtib3JkZXI6bm9uZTtwb2ludGVyLWV2ZW50czpub25lfS50di1zY3JlZW5lci10YWJsZV9fdGhlYWQtLXJlZ3VsYXIsLnR2LXNjcmVlbmVyLXRhYmxlX190aGVhZC0tc3RpY2t5e3BvaW50ZXItZXZlbnRzOmF1dG99LnR2LXNjcmVlbmVyLXRhYmxlX19oZWFke2JvcmRlci1ib3R0b206MXB4IHNvbGlkO2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tY29sb3ItZGl2aWRlcik7Ym9yZGVyLXRvcDoxcHggc29saWQ7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS1jb2xvci1kaXZpZGVyKTtoZWlnaHQ6NDhweH0udHYtc2NyZWVuZXItdGFibGVfX3Roe2N1cnNvcjpkZWZhdWx0O3BhZGRpbmc6MH0udHYtc2NyZWVuZXItdGFibGVfX3RoOm5vdCg6Zmlyc3QtY2hpbGQpe2JvcmRlci1pbmxpbmUtc3RhcnQ6MXB4IHNvbGlkO2JvcmRlci1pbmxpbmUtc3RhcnQtY29sb3I6dmFyKC0tY29sb3ItZGl2aWRlcil9LnR2LXNjcmVlbmVyLXRhYmxlX190aC0tZHJhZ2dpbmd7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC1lTGtWKTt6LWluZGV4OjF9LnR2LXNjcmVlbmVyLXRhYmxlX190aDpsYXN0LWNoaWxkOm5vdCgudHYtc2NyZWVuZXItdGFibGVfX3RoLS1iaWcpOm5vdCgudHYtc2NyZWVuZXItdGFibGVfX3RoLS1uby10b29sYmFyKXtwYWRkaW5nLWlubGluZS1lbmQ6NDFweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXRhYmxlX190aDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJnLXByaW1hcnktaG92ZXIpfX0udHYtc2NyZWVuZXItdGFibGUgLnR2LXNjcmVlbmVyLXRhYmxlX190aHt3aGl0ZS1zcGFjZTpub3JtYWx9LnR2LXNjcmVlbmVyLXRhYmxlX19oZWFkLXdyYXB7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6NDdweDtwYWRkaW5nOjAgMTBweH0udHYtc2NyZWVuZXItdGFibGVfX2hlYWQtd3JhcC0tZGlzYWJsZS1pbnRlcmFjdGlvbntjdXJzb3I6ZGVmYXVsdH0udHYtc2NyZWVuZXItdGFibGVfX2hlYWQtbGVmdHtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO21pbi13aWR0aDozMHB4O3RleHQtYWxpZ246Y2VudGVyO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt3aWR0aDoxMDAlfS50di1zY3JlZW5lci10YWJsZV9faGVhZC1sZWZ0LS1uYW1lLWNvbCwudHYtc2NyZWVuZXItdGFibGVfX2hlYWQtbGVmdC0tbmFtZS1jb2wtd2l0aG91dC1kZXNjcmlwdGlvbntkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZToiY29sdW1uTmFtZSBzZWFyY2hJbnB1dCIgImNvbHVtblZhbHVlIHNlYXJjaElucHV0IiAiY29sdW1uTWF0Y2hlcyBzZWFyY2hJbnB1dCI7bWluLXdpZHRoOjIyMHB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHg7dGV4dC1hbGlnbjpzdGFydDt3aWR0aDoxMDAlfUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXNjcmVlbmVyLXRhYmxlX19oZWFkLWxlZnQtLW5hbWUtY29sLC50di1zY3JlZW5lci10YWJsZV9faGVhZC1sZWZ0LS1uYW1lLWNvbC13aXRob3V0LWRlc2NyaXB0aW9ue21pbi13aWR0aDoxMDBweH19LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXItdGFibGVfX2hlYWQtbGVmdC0tbmFtZS1jb2wsLnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXItdGFibGVfX2hlYWQtbGVmdC0tbmFtZS1jb2wtd2l0aG91dC1kZXNjcmlwdGlvbntncmlkLXRlbXBsYXRlOiJjb2x1bW5OYW1lIHNlYXJjaElucHV0IiAiY29sdW1uVmFsdWUgc2VhcmNoSW5wdXQifS50di1zY3JlZW5lci10YWJsZV9faGVhZC1sZWZ0LS13aWRnZXQtbmFtZS1jb2wtd2l0aG91dC1kZXNjcmlwdGlvbntkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZToiY29sdW1uTmFtZSIgImNvbHVtblZhbHVlIiAiY29sdW1uTWF0Y2hlcyI7bWluLXdpZHRoOjkwcHg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MjBweDt0ZXh0LWFsaWduOnN0YXJ0fS50di1zY3JlZW5lci10YWJsZV9faGVhZC1sZWZ0LS10ZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2dyaWQtYXJlYTpjb2x1bW5OYW1lO3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDoxMDAlOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MTdweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCk7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTJweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDB9LnR2LXNjcmVlbmVyLXRhYmxlX19oZWFkLWxlZnQtLXRpdGxlLXRocmVlLWxpbmVze2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtbGluZS1jbGFtcDozOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtsaW5lLWhlaWdodDoxMnB4O21heC1oZWlnaHQ6MzZweH0udHYtc2NyZWVuZXItdGFibGVfX2hlYWQtbGVmdC0tdGl0bGUtdHdvLWxpbmVze2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtbGluZS1jbGFtcDoyOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtsaW5lLWhlaWdodDoxMnB4O21heC1oZWlnaHQ6MjRweH0udHYtc2NyZWVuZXItdGFibGVfX2hlYWQtbGVmdCAudHYtc2NyZWVuZXItdGFibGVfX2hlYWQtbGVmdC0tbWFya2Vye2hlaWdodDoyMHB4O2luc2V0LWlubGluZS1zdGFydDotMzBweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTJweH0udHYtc2NyZWVuZXItdGFibGVfX2ZpbHRlci1idXR0b257YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc2NyZWVuZXItaGVhZGVyLWJnLWhvdmVyKTtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7ZGlzcGxheTppbmxpbmUtZmxleDtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtZW5kOjA7anVzdGlmeS1jb250ZW50OmNlbnRlcjtvcGFjaXR5OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MThweH0udHYtc2NyZWVuZXItdGFibGVfX2ZpbHRlci1idXR0b24gc3Zne2hlaWdodDoxNHB4O3dpZHRoOjEycHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci10YWJsZV9fdGg6aG92ZXIgLnR2LXNjcmVlbmVyLXRhYmxlX19maWx0ZXItYnV0dG9ue2JvcmRlci1pbmxpbmUtc3RhcnQ6MXB4IHNvbGlkIHZhcigtLWNvbG9yLWRpdmlkZXIpfS50di1zY3JlZW5lci10YWJsZV9fdGg6aG92ZXIgLnR2LXNjcmVlbmVyLXRhYmxlX19maWx0ZXItYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzMtZUxrVik7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KX0udHYtc2NyZWVuZXItdGFibGVfX3RoOmhvdmVyIC50di1zY3JlZW5lci10YWJsZV9fZmlsdGVyLWJ1dHRvbi0tYWN0aXZle2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKX0udHYtc2NyZWVuZXItdGFibGVfX3RoOmhvdmVyIC50di1zY3JlZW5lci10YWJsZV9fZmlsdGVyLWJ1dHRvbi0tYWN0aXZlOmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kLWhvdmVyKX19LnR2LXNjcmVlbmVyLXRhYmxlX19jb2wtLWRyYWdnaW5ne2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAtZUxrVil9LnR2LXNjcmVlbmVyLXRhYmxlX19yZXN1bHQtcm93e2N1cnNvcjpkZWZhdWx0O2hlaWdodDo0OHB4fS50di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdy0tZmxpY2t7YW5pbWF0aW9uLWR1cmF0aW9uOjEuNHM7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoxO2FuaW1hdGlvbi1uYW1lOmZsaWNrLXpQaVY2U1k0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC43NTUsLjA1LC44NTUsLjA2KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3c6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1iZy1wcmltYXJ5LWhvdmVyKX19LnR2LXNjcmVlbmVyLXRhYmxlX19yZXN1bHQtcm93LS1hY3RpdmV7YmFja2dyb3VuZDojMzE3OWY1NjZ9LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3ctLWFjdGl2ZXtiYWNrZ3JvdW5kOnZhcigtLV8yLWVMa1YpfS50di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdy0tYWN0aXZlIC50di1zY3JlZW5lci10YWJsZV9fY2VsbDpmaXJzdC1jaGlsZHtib3JkZXItaW5saW5lLXN0YXJ0OjZweCBzb2xpZCB2YXIoLS1jb2xvci10di1ibHVlLTUwMCl9LnR2LXNjcmVlbmVyLXRhYmxlX19yZXN1bHQtcm93LS1mb2N1c2VkLC50di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdy0tc2VsZWN0ZWR7YmFja2dyb3VuZDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCl9LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3ctLWZvY3VzZWQsLnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3ctLXNlbGVjdGVke2JhY2tncm91bmQ6dmFyKC0tXzItZUxrVil9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdy0tZm9jdXNlZDpob3ZlciwudHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3ctLXNlbGVjdGVkOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApIWltcG9ydGFudH0udHYtc2NyZWVuZXItLXN0YW5kYWxvbmUtbWFya2V0IC50di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdy0tZm9jdXNlZDpob3ZlciwudHYtc2NyZWVuZXItLXN0YW5kYWxvbmUtbWFya2V0IC50di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdy0tc2VsZWN0ZWQ6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1fMi1lTGtWKSFpbXBvcnRhbnR9fS5mZWF0dXJlLW1vYmlsZXRvdWNoIC50di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdy0tZm9jdXNlZCAudHYtc2NyZWVuZXItdGFibGVfX21hcmtlciwuZmVhdHVyZS1tb2JpbGV0b3VjaCAudHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3ctLXNlbGVjdGVkIC50di1zY3JlZW5lci10YWJsZV9fbWFya2Vye3Zpc2liaWxpdHk6dmlzaWJsZX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXRhYmxlX19yZXN1bHQtcm93OmhvdmVyIC50di1zY3JlZW5lcl9fc3ltYm9se2NvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9LnR2LXNjcmVlbmVyLXRhYmxlX19yZXN1bHQtcm93OmhvdmVyIC50di1zY3JlZW5lcl9fc3ltYm9sLS10ZXh0e2NvbG9yOnZhcigtLWNvbG9yLXNjcmVlbmVyLWRlc2NyaXB0aW9uKTtjdXJzb3I6ZGVmYXVsdH19LnR2LXNjcmVlbmVyLXRhYmxlX19yZXN1bHQtcm93LS1hY3RpdmUgLnR2LXNjcmVlbmVyLXRhYmxlX19tYXJrZXJ7dmlzaWJpbGl0eTp2aXNpYmxlfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3c6aG92ZXIgLnR2LXNjcmVlbmVyLXRhYmxlX19tYXJrZXJ7dmlzaWJpbGl0eTp2aXNpYmxlfX0udHYtc2NyZWVuZXItdGFibGVfX3N5bWJvbC1hZGRpdGlvbnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlO2ZsZXgtc2hyaW5rOjA7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS50di1zY3JlZW5lci10YWJsZV9fbWFya2Vye21pbi1oZWlnaHQ6MTZweDttaW4td2lkdGg6MjBweDt2aXNpYmlsaXR5OmhpZGRlbn0udHYtc2NyZWVuZXItdGFibGVfX21hcmtlci0tYWN0aXZle3Zpc2liaWxpdHk6dmlzaWJsZX0udHYtc2NyZWVuZXItdGFibGVfX3N5bWJvbC1jb250YWluZXJ7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0udHYtc2NyZWVuZXItdGFibGVfX2NlbGx7Zm9udC1zaXplOjE0cHg7cGFkZGluZy1ibG9jazoxMnB4IDEycHg7cGFkZGluZy1pbmxpbmU6MTFweCAxMHB4O3RleHQtYWxpZ246ZW5kO3RleHQtdHJhbnNmb3JtOm5vbmU7d2hpdGUtc3BhY2U6bm93cmFwfS50di1zY3JlZW5lci10YWJsZV9fY2VsbDpkaXIocnRsKXtkaXJlY3Rpb246bHRyO3RleHQtYWxpZ246cmlnaHR9LnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsIC50di1zY3JlZW5lcl9fc3ltYm9se3RleHQtdHJhbnNmb3JtOm5vbmU7dHJhbnNpdGlvbjpjb2xvciAuMzVzIGVhc2V9LnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsIC50di1zY3JlZW5lcl9fZGVzY3JpcHRpb257Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTFweDtsZXR0ZXItc3BhY2luZzouM3B4O21hcmdpbi10b3A6MnB4fS50di1zY3JlZW5lci0tc3RhbmRhbG9uZS1tYXJrZXQgLnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsIC50di1zY3JlZW5lcl9fZGVzY3JpcHRpb257Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KX0udHYtc2NyZWVuZXItdGFibGVfX2NlbGwgLnR2LWZsYWctY291bnRyeXttYXJnaW4tYmxvY2s6MCAwO21hcmdpbi1pbmxpbmU6NHB4IDEycHh9LnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS1sZWZ0e3RleHQtYWxpZ246c3RhcnR9LnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS1sZWZ0OmRpcihydGwpe2RpcmVjdGlvbjpydGx9LnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS11cHtjb2xvcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi00MDApfS50di1zY3JlZW5lci0tc3RhbmRhbG9uZS1tYXJrZXQgLnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS11cHtjb2xvcjp2YXIoLS1jb2xvci1ncm93aW5nKX0udHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLWRvd257Y29sb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKX0udHYtc2NyZWVuZXItLXN0YW5kYWxvbmUtbWFya2V0IC50di1zY3JlZW5lci10YWJsZV9fY2VsbC0tZG93bntjb2xvcjp2YXIoLS1jb2xvci1mYWxsaW5nKX0udHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLWhpZ2hsaWdodGVke3RleHQtb3ZlcmZsb3c6Y2xpcH0udHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLWdyb3dpbmd7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApO2JvcmRlci1yYWRpdXM6MnB4O2NvbG9yOiNmZmY7bWFyZ2luOjAgLTNweDtwYWRkaW5nOjFweCAzcHh9LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLWdyb3dpbmd7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1ncm93aW5nKTtjb2xvcjp2YXIoLS1fMS1lTGtWKX0udHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLWZhbGxpbmd7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApO2JvcmRlci1yYWRpdXM6MnB4O2NvbG9yOiNmZmY7bWFyZ2luOjAgLTNweDtwYWRkaW5nOjFweCAzcHh9LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLWZhbGxpbmd7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1mYWxsaW5nKTtjb2xvcjp2YXIoLS1fMS1lTGtWKX0udHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLWZpeC13aWR0aHtkaXNwbGF5OmlubGluZS1ibG9jazttYXgtd2lkdGg6MjAwcHg7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS50di1zY3JlZW5lci10YWJsZV9fY2VsbDpmaXJzdC1jaGlsZHttYXgtd2lkdGg6MzAwcHg7cGFkZGluZy1ib3R0b206NHB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHg7cGFkZGluZy10b3A6NXB4fUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsOmZpcnN0LWNoaWxke21pbi13aWR0aDowfX0udHYtc2NyZWVuZXItdGFibGVfX2NlbGw6bGFzdC1jaGlsZDpub3QoLnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS1iaWcpOm5vdCgudHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLW5vLXRvb2xiYXIpe3BhZGRpbmctaW5saW5lLWVuZDo1M3B4fS50di1zY3JlZW5lci10YWJsZV9fY2VsbC0td2l0aG91dC1kZXNjcmlwdGlvbiAudHYtZmxhZy1jb3VudHJ5e21hcmdpbi10b3A6MH0udHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLXdpdGhvdXQtZGVzY3JpcHRpb246Zmlyc3QtY2hpbGR7bWluLXdpZHRoOjE3NXB4fUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS13aXRob3V0LWRlc2NyaXB0aW9uOmZpcnN0LWNoaWxke21pbi13aWR0aDo5MHB4fX0udHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLXdpZGdldC13aXRob3V0LWRlc2NyaXB0aW9uOmZpcnN0LWNoaWxke21pbi13aWR0aDo5MHB4fS50di1zY3JlZW5lci10YWJsZV9fY2VsbC0tY29sb3Itbm9ybWFse2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSl9LnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS1jcnlwdG9fbWt0e2ZvbnQtc2l6ZToxNHB4fS50di1zY3JlZW5lci10YWJsZV9fY2VsbC0td2l0aC1tYXJrZXI6Zmlyc3QtY2hpbGR7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MH0udHYtc2NyZWVuZXItdGFibGVfX21hcmtldC1pY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoyMHB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDoyMHB4fS50di1zY3JlZW5lci10YWJsZV9fbWFya2V0LWljb24gc3Zne3N0cm9rZTpjdXJyZW50Q29sb3J9LnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsIC5zZXNzaW9uLXN0YXR1c3tib3JkZXItcmFkaXVzOjJweDtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6NHB4O21hcmdpbi1ibG9jazowIDJweDttYXJnaW4taW5saW5lOjRweCAwO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjRweH0udHYtc2NyZWVuZXItdGFibGVfX2NlbGwgLnNlc3Npb24tc3RhdHVzLnByZV9tYXJrZXR7YmFja2dyb3VuZDojZjc5ZDE2fS50di1zY3JlZW5lci10YWJsZV9fc29ydHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtMzAwKTtib3R0b206MDtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MnB4O2luc2V0LWlubGluZS1lbmQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt2aXNpYmlsaXR5OmhpZGRlbjt3aWR0aDoxMDAlfS50di1zY3JlZW5lci0tc3RhbmRhbG9uZS1tYXJrZXQgLnR2LXNjcmVlbmVyLXRhYmxlX19zb3J0e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnJhbmQpfS50di1zY3JlZW5lci10YWJsZV9fc29ydCBzdmd7aW5zZXQtaW5saW5lLWVuZDpjYWxjKDUwJSAtIDRweCk7cG9zaXRpb246YWJzb2x1dGU7ZmlsbDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCl9LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXItdGFibGVfX3NvcnQgc3Zne2ZpbGw6dmFyKC0tY29sb3ItYnJhbmQpfS50di1zY3JlZW5lci10YWJsZV9fc29ydC0tYXNje3Zpc2liaWxpdHk6dmlzaWJsZX0udHYtc2NyZWVuZXItdGFibGVfX3NvcnQtLWFzYyBzdmd7dG9wOi0zcHh9LnR2LXNjcmVlbmVyLXRhYmxlX19zb3J0LS1kZXNje3Zpc2liaWxpdHk6dmlzaWJsZX0udHYtc2NyZWVuZXItdGFibGVfX3NvcnQtLWRlc2Mgc3Zne3RvcDoycHh9LnR2LXNjcmVlbmVyLXRhYmxlX190aC0tYmlnOmxhc3QtY2hpbGQgLnR2LXNjcmVlbmVyLXRhYmxlX19zb3J0e2luc2V0LWlubGluZS1lbmQ6YXV0bztpbnNldC1pbmxpbmUtc3RhcnQ6MDt3aWR0aDpjYWxjKDEwMCUgLSAycHgpfS50di1zY3JlZW5lci10YWJsZV9fdGg6bGFzdC1jaGlsZDpub3QoLnR2LXNjcmVlbmVyLXRhYmxlX190aC0tYmlnKTpub3QoLnR2LXNjcmVlbmVyLXRhYmxlX190aC0tbm8tdG9vbGJhcikgLnR2LXNjcmVlbmVyLXRhYmxlX19zb3J0e2luc2V0LWlubGluZS1lbmQ6YXV0bztpbnNldC1pbmxpbmUtc3RhcnQ6MDt3aWR0aDpjYWxjKDEwMCUgLSA0M3B4KX0udHYtc2NyZWVuZXItdGFibGVfX3RoOmxhc3QtY2hpbGQ6bm90KC50di1zY3JlZW5lci10YWJsZV9fdGgtLWJpZyk6bm90KC50di1zY3JlZW5lci10YWJsZV9fdGgtLW5vLXRvb2xiYXIpIC50di1zY3JlZW5lci10YWJsZV9fZmlsdGVyLWJ1dHRvbntpbnNldC1pbmxpbmUtZW5kOjQzcHh9LnR2LXNjcmVlbmVyLXRhYmxlX19zb3J0YWJsZXtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci10YWJsZV9fc29ydGFibGU6aG92ZXIgLnR2LXNjcmVlbmVyLXRhYmxlX19maWx0ZXItYnV0dG9ue29wYWNpdHk6MX19LnR2LXNjcmVlbmVyLXRhYmxlX19maWVsZC12YWx1ZXtjb2xvcjp2YXIoLS1jb2xvci1icmFuZCk7Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3RleHQtdHJhbnNmb3JtOm5vbmU7d2hpdGUtc3BhY2U6bm93cmFwO3dpZHRoOjEwMCV9LnR2LXNjcmVlbmVyLXRhYmxlX19maWVsZC12YWx1ZS0tbmFtZXtkaXNwbGF5OmJsb2NrO2dyaWQtYXJlYTpjb2x1bW5NYXRjaGVzO21heC13aWR0aDoxMjBweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9LnR2LXNjcmVlbmVyLXRhYmxlX19maWVsZC12YWx1ZS0tbmFtZSwudHYtc2NyZWVuZXItdGFibGVfX2ZpZWxkLXZhbHVlLS10b3RhbHstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE2cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjExcHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xldHRlci1zcGFjaW5nOi40cHg7bGluZS1oZWlnaHQ6MTJweDt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LXNjcmVlbmVyLXRhYmxlX19maWVsZC12YWx1ZS0tdG90YWx7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtkaXNwbGF5OmlubGluZS1ibG9jaztncmlkLWFyZWE6Y29sdW1uVmFsdWU7dGV4dC10cmFuc2Zvcm06bm9uZTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9LnR2LXNjcmVlbmVyLXRhYmxlX19zZWFyY2gtcXVlcnl7YWxpZ24tc2VsZjpjZW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC13ZWlnaHQ6NDAwO2dyaWQtYXJlYTpzZWFyY2hJbnB1dDttYXJnaW4taW5saW5lLWVuZDoxMnB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6MzJweDttaW4td2lkdGg6MTIwcHg7cG9zaXRpb246cmVsYXRpdmV9LnR2LXNjcmVlbmVyLXRhYmxlX19zZWFyY2gtcXVlcnk6ZGlyKHJ0bCl7bWFyZ2luLWxlZnQ6MzBweDttYXJnaW4tcmlnaHQ6NjBweH1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di1zY3JlZW5lci10YWJsZV9fc2VhcmNoLXF1ZXJ5e2Rpc3BsYXk6bm9uZX19LnR2LXNjcmVlbmVyLXRhYmxlX19zZWFyY2gtcXVlcnktLXdpdGhvdXQtZGVzY3JpcHRpb257bWluLXdpZHRoOjk1cHh9LnR2LXNjcmVlbmVyLXRhYmxlX19pbnB1dC1yZXNldCBzdmd7aGVpZ2h0OjEycHg7d2lkdGg6MTJweH1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di1zY3JlZW5lci10YWJsZV9faW5wdXQtcmVzZXR7aW5zZXQtaW5saW5lLWVuZDowfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXRhYmxlX19pbnB1dC1yZXNldDpob3ZlciBzdmcgcGF0aHtzdHJva2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9fS50di1zY3JlZW5lci10YWJsZV9fc2VhcmNoLWljb257Y29sb3I6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdCk7aW5zZXQtaW5saW5lLXN0YXJ0OjEwcHg7b3BhY2l0eToxO3RyYW5zaXRpb246YWxsIDBzIGVhc2UgMHN9LnR2LXNjcmVlbmVyLXRhYmxlX19zZWFyY2gtaW5wdXR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1ib2R5LWJnKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWNvbG9yLWNvbnRyb2wtaW50ZW50LWRlZmF1bHQpO2JvcmRlci1yYWRpdXM6NHB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO2ZvbnQtc2l6ZToxMXB4O2xldHRlci1zcGFjaW5nOi41cHg7cGFkZGluZy1ibG9jazoxMHB4IDhweDtwYWRkaW5nLWlubGluZTozNnB4IDM2cHg7d2lkdGg6MTAwJX0udHYtc2NyZWVuZXItdGFibGVfX3NlYXJjaC1pbnB1dDpmb2N1c3tib3JkZXI6MXB4IHNvbGlkIHZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKX0udHYtc2NyZWVuZXItdGFibGVfX3NpZ25hbHtkaXNwbGF5OmlubGluZS1ibG9jaztsZXR0ZXItc3BhY2luZzouNXB4O21hcmdpbi1pbmxpbmUtZW5kOjVweDttYXJnaW4taW5saW5lLXN0YXJ0OjVweDt0ZXh0LWFsaWduOnN0YXJ0O3RleHQtdHJhbnNmb3JtOm5vbmV9LnR2LXNjcmVlbmVyLXRhYmxlX19zaWduYWwtLXN0cm9uZy1idXl7Y29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApfS50di1zY3JlZW5lci0tc3RhbmRhbG9uZS1tYXJrZXQgLnR2LXNjcmVlbmVyLXRhYmxlX19zaWduYWwtLXN0cm9uZy1idXl7Y29sb3I6dmFyKC0tY29sb3ItYnV5KX0udHYtc2NyZWVuZXItdGFibGVfX3NpZ25hbC0tc3Ryb25nLWJ1eTpiZWZvcmV7YmFja2dyb3VuZDp1cmwoc3Ryb25nLWJ1eS1hcnJvdy42NzA3ZDEzOGQzMmVjMTY1YTQ1NS5zdmcpIG5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6NTAlO2NvbnRlbnQ6IiI7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MTVweH0udHYtc2NyZWVuZXItdGFibGVfX3NpZ25hbC0tYnV5e2NvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKX0udHYtc2NyZWVuZXItLXN0YW5kYWxvbmUtbWFya2V0IC50di1zY3JlZW5lci10YWJsZV9fc2lnbmFsLS1idXl7Y29sb3I6dmFyKC0tY29sb3ItYnV5KX0udHYtc2NyZWVuZXItdGFibGVfX3NpZ25hbC0tYnV5OmJlZm9yZXtiYWNrZ3JvdW5kOnVybChidXktYXJyb3cuYWI2ZGZlNDExNTQ3OWJkMDRkZDMuc3ZnKSBuby1yZXBlYXQ7YmFja2dyb3VuZC1wb3NpdGlvbi15OjUwJTtjb250ZW50OiIiO3BhZGRpbmctaW5saW5lLXN0YXJ0OjE1cHh9LnR2LXNjcmVlbmVyLXRhYmxlX19zaWduYWwtLXNlbGx7Y29sb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKX0udHYtc2NyZWVuZXItLXN0YW5kYWxvbmUtbWFya2V0IC50di1zY3JlZW5lci10YWJsZV9fc2lnbmFsLS1zZWxse2NvbG9yOnZhcigtLWNvbG9yLXNlbGwpfS50di1zY3JlZW5lci10YWJsZV9fc2lnbmFsLS1zZWxsOmJlZm9yZXtiYWNrZ3JvdW5kOnVybChzZWxsLWFycm93LjdhYTFiNTYzODcwYWEwYTA1ZTZhLnN2Zykgbm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb24teTo1MCU7Y29udGVudDoiIjtwYWRkaW5nLWlubGluZS1zdGFydDoxNXB4fS50di1zY3JlZW5lci10YWJsZV9fc2lnbmFsLS1zdHJvbmctc2VsbHtjb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApfS50di1zY3JlZW5lci0tc3RhbmRhbG9uZS1tYXJrZXQgLnR2LXNjcmVlbmVyLXRhYmxlX19zaWduYWwtLXN0cm9uZy1zZWxse2NvbG9yOnZhcigtLWNvbG9yLXNlbGwpfS50di1zY3JlZW5lci10YWJsZV9fc2lnbmFsLS1zdHJvbmctc2VsbDpiZWZvcmV7YmFja2dyb3VuZDp1cmwoc3Ryb25nLXNlbGwtYXJyb3cuYWMwYzU1NTkzZjNiMGE4NGQ0ZGEuc3ZnKSBuby1yZXBlYXQ7YmFja2dyb3VuZC1wb3NpdGlvbi15OjUwJTtjb250ZW50OiIiO3BhZGRpbmctaW5saW5lLXN0YXJ0OjE1cHh9LnR2LXNjcmVlbmVyLXRhYmxlX19zaWduYWwtLW5ldXRyYWx7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCl9LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXItdGFibGVfX3NpZ25hbC0tbmV1dHJhbHtjb2xvcjp2YXIoLS1jb2xvci1uZXV0cmFsKX0udHYtc2NyZWVuZXItdGFibGVfX3NpZ25hbC0tbmV1dHJhbDpiZWZvcmV7YmFja2dyb3VuZDp1cmwobmV1dHJhbC1hcnJvdy45OGY2MWMzMTVkNDUzMDA1NTgxMi5zdmcpIG5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6NTAlO2NvbnRlbnQ6IiI7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MTVweH0udHYtc2NyZWVuZXItdGFibGVfX2VtcHR5LW1lc3NhZ2V7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7Zm9udC1zdHlsZTppdGFsaWM7bWFyZ2luOjEzcHg7dGV4dC1hbGlnbjpjZW50ZXJ9LnR2LXNjcmVlbmVyLXRhYmxlX19wYXR0ZXJuX2ljb257ZGlzcGxheTppbmxpbmUtYmxvY2t9LnR2LXNjcmVlbmVyLXRhYmxlX19wYXR0ZXJuX2VtcHR5e2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00MDApfS50di1zY3JlZW5lci10YWJsZV9fcGF0dGVybl90b29sdGlwX2NvbnRhaW5lcntmb250LXNpemU6MTNweDtwYWRkaW5nLWJsb2NrOjAgOHB4O3BhZGRpbmctaW5saW5lOjVweCA4cHg7dGV4dC1hbGlnbjpjZW50ZXI7d2lkdGg6OTBweH0udHYtc2NyZWVuZXItdGFibGVfX3BhdHRlcm5fdG9vbHRpcF9jb250YWluZXIgc3Zne2hlaWdodDo0MHB4O3BhZGRpbmctYm90dG9tOjZweDt3aWR0aDo0MHB4fS50di1zY3JlZW5lci10YWJsZV9fbG9nby1jb250YWluZXJ7ZmxleC1zaHJpbms6MDttYXJnaW4taW5saW5lLWVuZDo4cHh9LnR2LXNjcmVlbmVyLXRhYmxlX19lbXB0eS1yZXN1bHR7YWxpZ24tY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nLWJvdHRvbToxMHB4O3BhZGRpbmctdG9wOjEwcHg7d2lkdGg6MTAwJX0udHYtc2NyZWVuZXItdGFibGVfX2VtcHR5LXJlc3VsdC1saW5rLC50di1zY3JlZW5lci10YWJsZV9fZW1wdHktcmVzdWx0LWxpbms6dmlzaXRlZHtjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktZGVmYXVsdCk7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktZGVmYXVsdCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci10YWJsZV9fZW1wdHktcmVzdWx0LWxpbms6aG92ZXJ7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWhvdmVyKTtmaWxsOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcil9fS50di1zY3JlZW5lci10YWJsZV9fZW1wdHktcmVzdWx0LWxpbms6YWN0aXZle2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1hY3RpdmUpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWFjdGl2ZSl9LnR2LXNjcmVlbmVyLXRhYmxlX19lbXB0eS1yZXN1bHQtbGluazpmb2N1c3tvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS50di1zY3JlZW5lci10YWJsZV9fZW1wdHktcmVzdWx0LWxpbms6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS50di1zY3JlZW5lci10YWJsZV9fZW1wdHktcmVzdWx0LWxpbms6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOm5vbmV9LnR2LXNjcmVlbmVyLXRhYmxlX19lbXB0eS1yZXN1bHQudHYtc2NyZWVuZXItdGFibGVfX2VtcHR5LXJlc3VsdC0tZml4ZWR7cG9zaXRpb246Zml4ZWR9LnR2LXNjcmVlbmVyLXRhYmxlX19lbXB0eS1yZXN1bHQudHYtc2NyZWVuZXItdGFibGVfX2VtcHR5LXJlc3VsdC0tcmVsYXRpdmV7cG9zaXRpb246cmVsYXRpdmU7dG9wOi00OHB4fS50di1zY3JlZW5lci10YWJsZV9fZW1wdHktZGVzY3JpcHRpb257Y29sb3I6dmFyKC0tXzQtZUxrVik7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MjRweDttYXJnaW46MCAyMHB4O3RleHQtYWxpZ246Y2VudGVyfS50di1zY3JlZW5lci10YWJsZV9fZW1wdHktY29udGVudHtkaXNwbGF5OmZsZXh9LnR2LXNjcmVlbmVyLXRhYmxlX19zeW1ib2wtY29udGFpbmVyLWRlc2NyaXB0aW9ue21pbi13aWR0aDowfS50di1zY3JlZW5lci10YWJsZV9fY2VsbC1jdXJyZW5jeS12YWx1ZXtjb2xvcjp2YXIoLS1fNS1lTGtWKTtmb250LXNpemU6MTBweDtsaW5lLWhlaWdodDoxNnB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6M3B4fVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLXhNWGs6I2RkZTNlNjstLV8xLXhNWGs6I2ZiZmNmYzstLV8yLXhNWGs6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1fMy14TVhrOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tXzQteE1Yazp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLV81LXhNWGs6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC14TVhrOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tXzEteE1Yazp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV8yLXhNWGs6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1fMy14TVhrOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tXzQteE1Yazp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLV81LXhNWGs6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCl9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9ye2JhY2tncm91bmQ6dmFyKC0tY29sb3ItcGFuZS1iZyk7Ym9yZGVyOjFweCBzb2xpZDtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItYm9yZGVyKTtib3JkZXItcmFkaXVzOjJweDtib3gtc2hhZG93OjAgMnB4IDNweCAjMjUyYzMxMjk7aGVpZ2h0OjYwcHg7bWFyZ2luLXRvcDotMnB4O21pbi13aWR0aDo0MDBweDtvcGFjaXR5OjE7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6M30udHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3ItLWhpZGRlbntvcGFjaXR5OjB9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yLS1zdGFuZGFsb25le21hcmdpbi10b3A6LTFweH0udHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3ItLXdpZGV7d2lkdGg6NDM1cHh9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yLS1zbGlte21pbi13aWR0aDoyMTBweH0udHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX2ZpbHRlci1maWVsZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXBhbmUtYmcpO3BhZGRpbmctYmxvY2s6OHB4IDhweDtwYWRkaW5nLWlubGluZToyMHB4IDgxcHg7d2hpdGUtc3BhY2U6bm93cmFwfS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWZpZWxkLXRpdGxle2NvbG9yOnZhcigtLWNvbG9yLXVuZGVybGluZWQtdGV4dCk7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOi41cHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWZpZWxkLWNvbnRlbnR7bWFyZ2luLXRvcDoxMnB4O3Bvc2l0aW9uOnJlbGF0aXZlfS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWZpZWxkLWNvbnRlbnQtLWxlZnQsLnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19maWx0ZXItZmllbGQtY29udGVudC0tbWlkZGxlLC50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWZpZWxkLWNvbnRlbnQtLXJpZ2h0e2Rpc3BsYXk6aW5saW5lLWJsb2NrfS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWZpZWxkLWNvbnRlbnQtLW1pZGRsZSwudHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX2ZpbHRlci1maWVsZC1jb250ZW50LS1yaWdodHttYXJnaW4taW5saW5lLXN0YXJ0OjIwcHh9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19maWx0ZXItZmllbGQtY29udGVudC0tY29uZGl0aW9uLC50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWZpZWxkLWNvbnRlbnQtLXNlbGVjdHttYXJnaW4tdG9wOjRweH0udHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX2ZpbHRlci1maWVsZC1jb250ZW50LS1zZWxlY3R7aGVpZ2h0OjM0cHg7bGluZS1oZWlnaHQ6MjdweDttYXgtd2lkdGg6MzUwcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmctaW5saW5lLWVuZDoyMHB4O3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWZpZWxkLXRleHR7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlcjoxcHggc29saWQ7Ym9yZGVyLWNvbG9yOnZhcigtLV80LXhNWGspO2JvcmRlci1yYWRpdXM6MnB4O2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcmVndWxhcik7Zm9udC1zaXplOjEycHghaW1wb3J0YW50O2hlaWdodDoyNXB4O3BhZGRpbmc6MCA2cHg7d2lkdGg6MTAzcHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWZpZWxkLXRleHQ6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV81LXhNWGspfX0udHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX2ZpbHRlci1maWVsZC10ZXh0OmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1icmFuZCl9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19maWx0ZXItYmV0d2Vlbi1pbnB1dHtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyOjFweCBzb2xpZDtib3JkZXItY29sb3I6dmFyKC0tXzQteE1Yayk7Ym9yZGVyLXJhZGl1czoycHg7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKTtmb250LXNpemU6MTJweCFpbXBvcnRhbnQ7aGVpZ2h0OjI1cHg7cGFkZGluZzowIDZweDt3aWR0aDoxMDNweDt3aWR0aDo1MHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX2ZpbHRlci1iZXR3ZWVuLWlucHV0OmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1fNS14TVhrKX19LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19maWx0ZXItYmV0d2Vlbi1pbnB1dDpmb2N1c3tib3JkZXItY29sb3I6dmFyKC0tY29sb3ItYnJhbmQpfS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWJldHdlZW4tc2VwYXJhdG9ye21hcmdpbi1pbmxpbmUtc3RhcnQ6MjBweDtwYWRkaW5nOjAgNnB4fS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWZpZWxkLXJlc2V0e2JvcmRlci1pbmxpbmUtc3RhcnQ6MXB4IHNvbGlkO2JvcmRlci1pbmxpbmUtc3RhcnQtY29sb3I6dmFyKC0tXzAteE1Yayk7Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0OjYwcHg7aW5zZXQtaW5saW5lLWVuZDowO2xpbmUtaGVpZ2h0OjY3cHg7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXI7dG9wOjA7d2lkdGg6NjZweH0udHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX2ZpbHRlci1maWVsZC1yZXNldCBzdmd7ZmlsbDp2YXIoLS1jb2xvci1icmFuZCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWZpZWxkLXJlc2V0OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzEteE1Yayl9fS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fc2VsZWN0Ym94LWNvbnRhaW5lcntoZWlnaHQ6MjdweDtsaW5lLWhlaWdodDoyN3B4O3doaXRlLXNwYWNlOm5vd3JhcH0udHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX3NlbGVjdGJveC1kcm9wZG93bi10b2dnbGV7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjE2cHg7bWFyZ2luLWJsb2NrOjZweCAwO21hcmdpbi1pbmxpbmU6NXB4IDA7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjM1cyBlYXNlO3ZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDoxNnB4fS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fc2VsZWN0Ym94LWRyb3Bkb3duLXRvZ2dsZSBzdmd7ZGlzcGxheTpibG9jazttYXJnaW4tYmxvY2s6NXB4IDA7bWFyZ2luLWlubGluZToycHggMDtzdHJva2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7c3Ryb2tlLXdpZHRoOjEuNXB4fS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fc2VsZWN0Ym94LWRyb3Bkb3duLXRvZ2dsZS0tb3Blbnt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19zZWxlY3Rib3gtZHJvcGRvd24tdG9nZ2xlLS1vcGVuOmRpcihydGwpe3RyYW5zZm9ybTpyb3RhdGUoLTE4MGRlZyl9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19zZWxlY3Rib3gtY2FwdGlvbi0tbm8tdmFsdWUsLnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19zZWxlY3Rib3gtb3B0aW9uLS1uby12YWx1ZSAudHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX3NlbGVjdGJveC1vcHRpb24td3JhcHtjb2xvcjp2YXIoLS1jb2xvci1wbGFjZWhvbGRlcikhaW1wb3J0YW50fS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fc2VsZWN0Ym94LWNhcHRpb257Y3Vyc29yOnBvaW50ZXJ9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19zZWxlY3Rib3gtY2FwdGlvbi0tdGV4dC1vdmVyZmxvd3tkaXNwbGF5OmlubGluZS1ibG9jazttYXgtd2lkdGg6MTAwJX0udHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX3NlbGVjdGJveC1jYXB0aW9uLS10ZXh0LW92ZXJmbG93IC50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fc2VsZWN0Ym94LWNhcHRpb24tbGFiZWx7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6aW5saW5lLWJsb2NrO21heC13aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLWlubGluZS1lbmQ6MjNweDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fc2VsZWN0Ym94LWNhcHRpb24tLXRleHQtb3ZlcmZsb3cgLnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19zZWxlY3Rib3gtZHJvcGRvd24tdG9nZ2xle21hcmdpbi1pbmxpbmUtc3RhcnQ6LTE4cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fc2VsZWN0Ym94LWNhcHRpb246aG92ZXIgLnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19zZWxlY3Rib3gtZHJvcGRvd24tdG9nZ2xlIHN2Z3tzdHJva2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9fS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fc2VhcmNoLXdyYXB7Ym9yZGVyLWJvdHRvbToxcHggc29saWQ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJvcmRlcik7aGVpZ2h0OjQ1cHg7cG9zaXRpb246cmVsYXRpdmV9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19zZWFyY2gtaW5wdXR7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlcjpub25lO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmJsb2NrO2hlaWdodDo0NXB4O21hcmdpbjowO3BhZGRpbmctYmxvY2s6MTBweCAwO3BhZGRpbmctaW5saW5lOjIycHggMjJweDt3aWR0aDoxMDAlfS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fc2VhcmNoLW5vLW1hdGNoZXN7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO2ZvbnQtc3R5bGU6aXRhbGljO3BvaW50ZXItZXZlbnRzOm5vbmV9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19maWx0ZXItZHJvcGRvd24tdG9nZ2xle2hlaWdodDoxNnB4O2luc2V0LWlubGluZS1lbmQ6NDJweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDozMnB4O3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBlYXNlLWluLW91dDt3aWR0aDoxNnB4fS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWRyb3Bkb3duLXRvZ2dsZSBzdmd7ZGlzcGxheTpibG9jazttYXJnaW4tYmxvY2s6NXB4IDA7bWFyZ2luLWlubGluZToycHggMDtzdHJva2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCl9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19maWx0ZXItZHJvcGRvd24tdG9nZ2xlLS1vcGVue3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0udHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX2ZpbHRlci1kcm9wZG93bi10b2dnbGUtLW9wZW46ZGlyKHJ0bCl7dHJhbnNmb3JtOnJvdGF0ZSgtMTgwZGVnKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19maWx0ZXItZmllbGQtY29udGVudC0tc2VsZWN0OmhvdmVyfi50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWRyb3Bkb3duLXRvZ2dsZSBzdmd7c3Ryb2tlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApfX0udHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX2ZpbHRlci10b2dnbGV7ZGlzcGxheTpibG9ja30udHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX3dpdGhvdXQtcmVzZXR7bWluLXdpZHRoOjMzN3B4fS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLXdpdGhvdXQtcmVzZXR7cGFkZGluZy1pbmxpbmUtZW5kOjE4cHh9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19kcm9wZG93bi1jaGVja2JveC1pdGVte2NvbG9yOnZhcigtLWNvbG9yLXVuZGVybGluZWQtdGV4dCl9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19zZWFyY2gtaW5wdXR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wYW5lLWJnKTtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXJlZ3VsYXIpfVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLXhlYlU6I2UwZTNlYjgwfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAteGViVTojNDM0NjUxODB9LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lIC50di1zY3JlZW5lci1zdGlja3ktaGVhZGVyLXdyYXBwZXJ7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1ib2R5LWJnKX0udHYtc2NyZWVuZXItc3RpY2t5LWhlYWRlci13cmFwcGVye2luc2V0LWlubGluZS1zdGFydDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3otaW5kZXg6Mn0udHYtc2NyZWVuZXItc3RpY2t5LWhlYWRlci13cmFwcGVyLS1zdGFuZGFsb25lX3N0aWNreXtiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWJvZHktYmcpO3Bvc2l0aW9uOmZpeGVkfS50di1zY3JlZW5lci1zdGlja3ktaGVhZGVyLXdyYXBwZXItLW1hcmtldHNfc3RpY2t5e2JhY2tncm91bmQ6dmFyKC0tY29sb3ItYm9keS1iZyk7ZGlzcGxheTppbmxpbmUtYmxvY2s7aW5zZXQtaW5saW5lLWVuZDp1bnNldDtpbnNldC1pbmxpbmUtc3RhcnQ6dW5zZXR9LnR2LXNjcmVlbmVyLXN0aWNreS1oZWFkZXItd3JhcHBlci0tbWFya2V0c19hYnNvbHV0ZXtiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWJvZHktYmcpO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2luc2V0LWlubGluZS1zdGFydDowO3Bvc2l0aW9uOmFic29sdXRlfS50di1zY3JlZW5lci1zdGlja3ktaGVhZGVyLXdyYXBwZXJfX3JpZ2h0LXN1YnN0cmF0ZXtkaXNwbGF5Om5vbmU7aGVpZ2h0OjQ4cHg7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTt6LWluZGV4OjF9LnR2LXNjcmVlbmVyLXN0aWNreS1oZWFkZXItd3JhcHBlcl9fcmlnaHQtc3Vic3RyYXRlLS1zdGFuZGFsb25lX3N0aWNreXtwb3NpdGlvbjpmaXhlZH0udHYtc2NyZWVuZXItc3RpY2t5LWhlYWRlci13cmFwcGVyX19maWVsZHMtYnV0dG9uLXdyYXB7Ym9yZGVyLWlubGluZS1zdGFydDoxcHggc29saWQ7Ym9yZGVyLWlubGluZS1zdGFydC1jb2xvcjp2YXIoLS1jb2xvci1kaXZpZGVyKTtib3JkZXItdG9wOjFweCBzb2xpZDtib3JkZXItdG9wLWNvbG9yOnZhcigtLV8wLXhlYlUpO2luc2V0LWlubGluZS1lbmQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MH0udHYtc2NyZWVuZXItc3RpY2t5LWhlYWRlci13cmFwcGVyX19maWVsZHMtYnV0dG9ue2FsaWduLWl0ZW1zOmNlbnRlcjtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjQ4cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDo0MXB4fS50di1zY3JlZW5lci1zdGlja3ktaGVhZGVyLXdyYXBwZXJfX2ZpZWxkcy1idXR0b24gc3Zne3Bvc2l0aW9uOnJlbGF0aXZlO2ZpbGw6dmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtc2NyZWVuZXItc3RpY2t5LWhlYWRlci13cmFwcGVyX19maWVsZHMtYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc2NyZWVuZXItaGVhZGVyLWJnLWhvdmVyKX19LnR2LXNjcmVlbmVyLXN0aWNreS1oZWFkZXItd3JhcHBlcl9fZmllbGRzLWJ1dHRvbi0tYWN0aXZlIHN2Z3tmaWxsOnZhcigtLWNvbG9yLWJyYW5kKX0udHYtc2NyZWVuZXItbWFya2V0LXNlbGVjdHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O3BhZGRpbmc6MCAxNXB4fS50di1zY3JlZW5lci1tYXJrZXQtc2VsZWN0LnR2LWRyb3Bkb3due2Rpc3BsYXk6ZmxleH0udHYtc2NyZWVuZXItbWFya2V0LXNlbGVjdC0tZGlhbG9ne3BhZGRpbmc6N3B4IDAgMDt0b3A6MTBweH0udHYtc2NyZWVuZXItbWFya2V0LXNlbGVjdF9fYnV0dG9uIHN2Z3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnR2LXNjcmVlbmVyLW1hcmtldC1zZWxlY3RfX2J1dHRvbi10aXRsZXttYXJnaW4taW5saW5lLXN0YXJ0OjNweDtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6MXB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0udHYtc2NyZWVuZXItbWFya2V0LXNlbGVjdF9faXRlbXtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXJlZ3VsYXIpfS50di1zY3JlZW5lci1tYXJrZXQtc2VsZWN0X19pdGVtIHN2Z3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnR2LXNjcmVlbmVyLW1hcmtldC1zZWxlY3RfX2l0ZW0tdGl0bGV7bWFyZ2luLWlubGluZS1zdGFydDo2cHg7cG9zaXRpb246cmVsYXRpdmU7dG9wOjFweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnR2LXNjcmVlbmVyLW1hcmtldC1zZWxlY3QtLWhpZGRlbntoZWlnaHQ6MDtwYWRkaW5nOjAgNXB4O3Zpc2liaWxpdHk6aGlkZGVuO3dpZHRoOjB9LnR2LWNhcmV0e2JvcmRlci1ibG9jay1jb2xvcjpjdXJyZW50Q29sb3IgIzAwMDA7Ym9yZGVyLWJsb2NrLXdpZHRoOjRweCAwO2JvcmRlci1pbmxpbmUtY29sb3I6IzAwMDAgIzAwMDA7Ym9yZGVyLWlubGluZS13aWR0aDo0cHggNHB4O2JvcmRlci1zdHlsZTpzb2xpZDtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MDttYXJnaW4taW5saW5lLXN0YXJ0OjVweDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMzVzIGVhc2U7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjB9LmFjdGl2ZSAudHYtY2FyZXQsLmktZHJvcHBlZCAudHYtY2FyZXQ6bm90KC50di1jYXJldC0tc3RyaWN0KSwudHYtY2FyZXQtLXN0cmljdC5pLWRyb3BwZWR7dHJhbnNmb3JtOnJvdGF0ZSgtMTgwZGVnKTt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXM7d2lsbC1jaGFuZ2U6dHJhbnNmb3JtfS5hY3RpdmUgLnR2LWNhcmV0OmRpcihydGwpLC5pLWRyb3BwZWQgLnR2LWNhcmV0Om5vdCgudHYtY2FyZXQtLXN0cmljdCk6ZGlyKHJ0bCksLnR2LWNhcmV0LS1zdHJpY3QuaS1kcm9wcGVkOmRpcihydGwpe3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0udHYtY2FyZXQtLXNtYWxse2JvcmRlci1pbmxpbmUtZW5kLXdpZHRoOjNweDtib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOjNweDtib3JkZXItdG9wLXdpZHRoOjNweDttYXJnaW4taW5saW5lLWVuZDotMXB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6M3B4fS50di1jYXJldC0tY29sb3JlZHt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMzVzIGVhc2UsY29sb3IgLjM1cyBlYXNlfS50di1jYXJldC0tbm8tbWFyZ2lue21hcmdpbi1pbmxpbmUtc3RhcnQ6MH1bZGF0YS10aGVtZT1saWdodF17LS1fMC1ZWjhJOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tXzEtWVo4STojZTVlNWU4Oy0tXzItWVo4STp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1fMy1ZWjhJOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLVlaOEk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1fMS1ZWjhJOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tXzItWVo4STp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tXzMtWVo4STp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApfS50di1kcm9wZG93bntwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnR2LWRyb3Bkb3duLS1pbmxpbmV7ZGlzcGxheTppbmxpbmUtYmxvY2t9LnR2LWRyb3Bkb3duLmktaW5hY3RpdmUgLnR2LWRyb3Bkb3duX19pdGVtLC50di1kcm9wZG93bl9fZ3JvdXAuaS1pbmFjdGl2ZSAudHYtZHJvcGRvd25fX2l0ZW17YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApO2N1cnNvcjpkZWZhdWx0fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtZHJvcGRvd24uaS1pbmFjdGl2ZSAudHYtZHJvcGRvd25fX2l0ZW06aG92ZXIsLnR2LWRyb3Bkb3duX19ncm91cC5pLWluYWN0aXZlIC50di1kcm9wZG93bl9faXRlbTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7Y3Vyc29yOmRlZmF1bHR9fS50di1kcm9wZG93bl9fZGVzY3tjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxMXB4O21hcmdpbi10b3A6MnB4O3RyYW5zaXRpb246Y29sb3IgLjM1cyBlYXNlfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtZHJvcGRvd25fX2l0ZW06aG92ZXIgLnR2LWRyb3Bkb3duX19kZXNje2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApO3RyYW5zaXRpb24tZHVyYXRpb246NjBtc319LnR2LWRyb3Bkb3duLmktaW5hY3RpdmUgLnR2LWRyb3Bkb3duX19kZXNjLC50di1kcm9wZG93bl9fZ3JvdXAuaS1pbmFjdGl2ZSAudHYtZHJvcGRvd25fX2Rlc2N7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfS50di1kcm9wZG93bl9fYnV0dG9ue2N1cnNvcjpwb2ludGVyfS50di1kcm9wZG93bl9fZ3JvdXAtLWRpdmlkZWR7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCl9LnR2LWRyb3Bkb3duX19ncm91cC0tZGl2aWRlZDpsYXN0LWNoaWxke2JvcmRlci1ib3R0b206bm9uZX0udHYtZHJvcGRvd25fX2JvZHl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLWJhY2tncm91bmQpKTtib3JkZXItcmFkaXVzOjZweDtib3gtc2hhZG93OjAgMnB4IDRweCB2YXIoLS1jb2xvci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5KTtmb250LXNpemU6MTNweDtpbnNldC1pbmxpbmUtc3RhcnQ6MDtsaW5lLWhlaWdodDoxO3BhZGRpbmc6MTVweCAwO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMTVweDt6LWluZGV4Ojk5fS50di1kcm9wZG93bl9fYm9keS0tdW5kZXItdHJpZ2dlcnt0b3A6MTAwJTt0b3A6Y2FsYygxMDAlIC0gMXB4KX0udHYtZHJvcGRvd25fX2JvZHktLW92ZXItdHJpZ2dlcnt0b3A6MH0udHYtZHJvcGRvd25fX2JvZHktLXBvc2l0aW9uX3JpZ2h0e2luc2V0LWlubGluZS1lbmQ6MDtpbnNldC1pbmxpbmUtc3RhcnQ6YXV0b30udHYtZHJvcGRvd25fX2JvZHktLXBvc2l0aW9uX291dGVyX3JpZ2h0e2luc2V0LWlubGluZS1zdGFydDoxMDAlfS50di1kcm9wZG93bl9fdGl0bGV7Y29sb3I6I2JkYmVjMDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo3MDA7bWFyZ2luLXRvcDoxMHB4O3BhZGRpbmc6MTBweCAxNXB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0udHYtZHJvcGRvd25fX3RpdGxlOmZpcnN0LWNoaWxke21hcmdpbi10b3A6MH0udHYtZHJvcGRvd25fX2l0ZW17Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47cGFkZGluZzoxMHB4IDE1cHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3RyYW5zaXRpb246Y29sb3IgLjM1cyBlYXNlLGJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlO3doaXRlLXNwYWNlOm5vd3JhcH0udHYtZHJvcGRvd25fX2l0ZW0sLnR2LWRyb3Bkb3duX19pdGVtOnZpc2l0ZWR7Y29sb3I6dmFyKC0tXzAtWVo4SSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1kcm9wZG93bl9faXRlbTpob3Zlcjpub3QoLmktYWN0aXZlKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWRyb3Bkb3duLWl0ZW0taG92ZXItYmcpO2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcmVndWxhcik7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfX0udHYtZHJvcGRvd25fX2l0ZW06YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzMtWVo4SSl9LnR2LWRyb3Bkb3duX19pdGVtLmktYWN0aXZlLC50di1kcm9wZG93bl9faXRlbTphY3RpdmV7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKX0udHYtZHJvcGRvd25fX2l0ZW0uaS1hY3RpdmUsLnR2LWRyb3Bkb3duX19pdGVtLmktYWN0aXZlOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8zLVlaOEkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtZHJvcGRvd25fX2l0ZW0uaS1hY3RpdmU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMy1ZWjhJKX19LnR2LWRyb3Bkb3duX19pdGVtLmktZGlzYWJsZWQsLnR2LWRyb3Bkb3duX19pdGVtLmktZGlzYWJsZWQ6YWN0aXZle2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtjb2xvcjp2YXIoLS1fMS1ZWjhJKTtjdXJzb3I6ZGVmYXVsdH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWRyb3Bkb3duX19pdGVtLmktZGlzYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2NvbG9yOnZhcigtLV8xLVlaOEkpO2N1cnNvcjpkZWZhdWx0fX0udHYtZHJvcGRvd25fX2l0ZW0tLXN1Yml0ZW17cGFkZGluZy1ibG9jazoxMHB4IDEwcHg7cGFkZGluZy1pbmxpbmU6MzBweCAxNXB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtZHJvcGRvd25fX2l0ZW0tLW5vdC1pbnRlcmFjdGl2ZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWx9fS50di1kcm9wZG93bl9faXRlbS0tbm90LWludGVyYWN0aXZlLmktYWN0aXZlLC50di1kcm9wZG93bl9faXRlbS0tbm90LWludGVyYWN0aXZlOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWx9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1kcm9wZG93bl9faXRlbS0tbm90LWludGVyYWN0aXZlLmktYWN0aXZlOmhvdmVye2JhY2tncm91bmQtY29sb3I6aW5pdGlhbH19LnR2LWRyb3Bkb3duX19pdGVtLS1ub3QtaW50ZXJhY3RpdmUuaS1hY3RpdmU6YWN0aXZle2JhY2tncm91bmQtY29sb3I6aW5pdGlhbH0udHYtZHJvcGRvd25fX2l0ZW0tdGV4dHt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9W2RhdGEtdGhlbWU9bGlnaHRdey0tXzYtYXUxVzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKX1bZGF0YS10aGVtZT1kYXJrXXstLV82LWF1MVc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCl9W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtYXUxVzojNTM1MzUzOy0tXzEtYXUxVzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV8yLWF1MVc6I2U1ZTVlODstLV8zLWF1MVc6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tXzQtYXUxVzp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1fNS1hdTFXOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLWF1MVc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1fMS1hdTFXOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzItYXUxVzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLV8zLWF1MVc6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLV80LWF1MVc6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLV81LWF1MVc6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKX0udHYtY29udHJvbC1zZWxlY3RfX3dyYXB7ZGlzcGxheTpibG9jazttaW4td2lkdGg6NDBweDtwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0udHYtY29udHJvbC1zZWxlY3RfX3dyYXAtLXJlYWRvbmx5e2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTtjdXJzb3I6dGV4dDstd2Via2l0LXVzZXItc2VsZWN0OnRleHQ7dXNlci1zZWxlY3Q6dGV4dH0udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wsc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYm9keS1iZyk7Ym9yZGVyLXJhZGl1czoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcmVndWxhcik7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTNweDtwYWRkaW5nOjAgMTJweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5KTtib3JkZXI6MXB4IHNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXIpO2NvbG9yOnZhcigtLV8wLWF1MVcpO2N1cnNvcjpwb2ludGVyO2hlaWdodDozNHB4O2xpbmUtaGVpZ2h0OjM0cHg7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjM1cyBlYXNlLGJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlO3RyYW5zaXRpb246Y29sb3IgLjM1cyBlYXNlO3doaXRlLXNwYWNlOm5vd3JhcH0udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2w6OnBsYWNlaG9sZGVyLHNlbGVjdC50di1jb250cm9sLXNlbGVjdDo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItcGxhY2Vob2xkZXIpO29wYWNpdHk6MX0udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2w6LXdlYmtpdC1hdXRvZmlsbCxzZWxlY3QudHYtY29udHJvbC1zZWxlY3Q6LXdlYmtpdC1hdXRvZmlsbHstd2Via2l0LXRleHQtZmlsbC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKSFpbXBvcnRhbnQ7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAxMDAwcHggI2ZmZiFpbXBvcnRhbnR9LnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sLS1zaXplX3hzbWFsbCxzZWxlY3QudHYtY29udHJvbC1zZWxlY3QtLXNpemVfeHNtYWxse2hlaWdodDoxOXB4fS50di1jb250cm9sLXNlbGVjdF9fY29udHJvbC0tc2l6ZV9zbWFsbCxzZWxlY3QudHYtY29udHJvbC1zZWxlY3QtLXNpemVfc21hbGx7aGVpZ2h0OjI3cHh9LnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sLS1zaXplX2xhcmdlLHNlbGVjdC50di1jb250cm9sLXNlbGVjdC0tc2l6ZV9sYXJnZXtmb250LXNpemU6MTZweDtoZWlnaHQ6NDhweH0udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wtLWNvbm5lY3Qsc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0LS1jb25uZWN0e2JvcmRlci1pbmxpbmUtZW5kOjA7Ym9yZGVyLWlubGluZS1zdGFydDowO2JvcmRlci1yYWRpdXM6MH0udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wtLWNvbm5lY3RfbGVmdCxzZWxlY3QudHYtY29udHJvbC1zZWxlY3QtLWNvbm5lY3RfbGVmdHtib3JkZXItZW5kLXN0YXJ0LXJhZGl1czowO2JvcmRlci1pbmxpbmUtc3RhcnQ6bm9uZTtib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjB9LnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sLS1jb25uZWN0X3JpZ2h0LHNlbGVjdC50di1jb250cm9sLXNlbGVjdC0tY29ubmVjdF9yaWdodHtib3JkZXItZW5kLWVuZC1yYWRpdXM6MDtib3JkZXItaW5saW5lLWVuZDpub25lO2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOjB9LnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sLS1jb25uZWN0X3JpZ2h0I2lkX3VzZXJuYW1lOmRpcihydGwpLHNlbGVjdC50di1jb250cm9sLXNlbGVjdC0tY29ubmVjdF9yaWdodCNpZF91c2VybmFtZTpkaXIocnRsKXtkaXJlY3Rpb246bHRyO3RleHQtYWxpZ246cmlnaHR9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLXNlbGVjdF9fY29udHJvbDpob3ZlcixzZWxlY3QudHYtY29udHJvbC1zZWxlY3Q6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJvcmRlci1ob3Zlcik7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfX0udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2w6Zm9jdXMsc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0OmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCkhaW1wb3J0YW50O3RyYW5zaXRpb24tZHVyYXRpb246NjBtc30udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2xbcmVhZG9ubHldLHNlbGVjdC50di1jb250cm9sLXNlbGVjdFtyZWFkb25seV17Ym9yZGVyLWNvbG9yOnZhcigtLV82LWF1MVcpO2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApfS50di1jb250cm9sLXNlbGVjdF9fY29udHJvbFtyZWFkb25seV06Zm9jdXMsc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0W3JlYWRvbmx5XTpmb2N1c3tib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZGlzYWJsZWQtYm9yZGVyLWFuZC1jb2xvcikhaW1wb3J0YW50fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2xbcmVhZG9ubHldOmhvdmVyLHNlbGVjdC50di1jb250cm9sLXNlbGVjdFtyZWFkb25seV06aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWRpc2FibGVkLWJvcmRlci1hbmQtY29sb3IpIWltcG9ydGFudH19LnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sLmktZGlzYWJsZWQsLnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sW2Rpc2FibGVkXSxzZWxlY3QudHYtY29udHJvbC1zZWxlY3QuaS1kaXNhYmxlZCxzZWxlY3QudHYtY29udHJvbC1zZWxlY3RbZGlzYWJsZWRde2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1kaXNhYmxlZC1ib3JkZXItYW5kLWNvbG9yKSFpbXBvcnRhbnQ7Y29sb3I6dmFyKC0tY29sb3ItZGlzYWJsZWQtYm9yZGVyLWFuZC1jb2xvcikhaW1wb3J0YW50fS50di1jb250cm9sLXNlbGVjdF9fY29udHJvbC5pLWRpc2FibGVkOjpwbGFjZWhvbGRlciwudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2xbZGlzYWJsZWRdOjpwbGFjZWhvbGRlcixzZWxlY3QudHYtY29udHJvbC1zZWxlY3QuaS1kaXNhYmxlZDo6cGxhY2Vob2xkZXIsc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0W2Rpc2FibGVkXTo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItZGlzYWJsZWQtYm9yZGVyLWFuZC1jb2xvcikhaW1wb3J0YW50fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wuaS1kaXNhYmxlZDpob3ZlciwudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2xbZGlzYWJsZWRdOmhvdmVyLHNlbGVjdC50di1jb250cm9sLXNlbGVjdC5pLWRpc2FibGVkOmhvdmVyLHNlbGVjdC50di1jb250cm9sLXNlbGVjdFtkaXNhYmxlZF06aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWRpc2FibGVkLWJvcmRlci1hbmQtY29sb3IpIWltcG9ydGFudH19LnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sLmktZXJyb3Isc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0LmktZXJyb3J7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCkhaW1wb3J0YW50fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wuaS1lcnJvcjpob3ZlcixzZWxlY3QudHYtY29udHJvbC1zZWxlY3QuaS1lcnJvcjpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKSFpbXBvcnRhbnR9fS50di1jb250cm9sLXNlbGVjdF9fY29udHJvbC5pLWVycm9yOmZvY3VzLHNlbGVjdC50di1jb250cm9sLXNlbGVjdC5pLWVycm9yOmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApIWltcG9ydGFudH0udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wuaS1zdWNjZXNzLHNlbGVjdC50di1jb250cm9sLXNlbGVjdC5pLXN1Y2Nlc3N7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MpIWltcG9ydGFudH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sLmktc3VjY2Vzczpob3ZlcixzZWxlY3QudHYtY29udHJvbC1zZWxlY3QuaS1zdWNjZXNzOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzLWhvdmVyKSFpbXBvcnRhbnR9fS50di1jb250cm9sLXNlbGVjdF9fY29udHJvbC5pLXN1Y2Nlc3M6YWN0aXZlLC50di1jb250cm9sLXNlbGVjdF9fY29udHJvbC5pLXN1Y2Nlc3M6Zm9jdXMsc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0Lmktc3VjY2VzczphY3RpdmUsc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0Lmktc3VjY2Vzczpmb2N1c3tib3JkZXItY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcy1hY3RpdmUpIWltcG9ydGFudH0udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wtLXBob25lLHNlbGVjdC50di1jb250cm9sLXNlbGVjdC0tcGhvbmV7ZGlyZWN0aW9uOmx0cjt0ZXh0LWFsaWduOnN0YXJ0fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2w6aG92ZXIsc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0OmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXItaG92ZXIpfX0udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wuaS1kaXNhYmxlZCwudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2xbZGlzYWJsZWRdLHNlbGVjdC50di1jb250cm9sLXNlbGVjdC5pLWRpc2FibGVkLHNlbGVjdC50di1jb250cm9sLXNlbGVjdFtkaXNhYmxlZF17Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWRpc2FibGVkLWJvcmRlci1hbmQtY29sb3IpO2N1cnNvcjpkZWZhdWx0fS5pLWVycm9yIC50di1jb250cm9sLXNlbGVjdF9fY29udHJvbCwuaS1lcnJvciBzZWxlY3QudHYtY29udHJvbC1zZWxlY3R7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCkhaW1wb3J0YW50fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaS1lcnJvciAudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2w6aG92ZXIsLmktZXJyb3Igc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0OmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApIWltcG9ydGFudH19LmktZXJyb3IgLnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sOmZvY3VzLC5pLWVycm9yIHNlbGVjdC50di1jb250cm9sLXNlbGVjdDpmb2N1c3tib3JkZXItY29sb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKSFpbXBvcnRhbnR9LnR2LWNvbnRyb2wtc2VsZWN0LS1zaXplX3hzbWFsbCAudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2x7aGVpZ2h0OjE5cHg7bGluZS1oZWlnaHQ6MTlweH0udHYtY29udHJvbC1zZWxlY3QtLXNpemVfc21hbGwgLnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9se2hlaWdodDoyN3B4O2xpbmUtaGVpZ2h0OjI3cHh9LnR2LWNvbnRyb2wtc2VsZWN0LS1zaXplX2xhcmdlIC50di1jb250cm9sLXNlbGVjdF9fY29udHJvbHtoZWlnaHQ6NDhweDtsaW5lLWhlaWdodDo0OHB4fS50di1jb250cm9sLXNlbGVjdF9fY29udHJvbC1pbm5lcntkaXNwbGF5OmJsb2NrO21hcmdpbi1pbmxpbmUtZW5kOjEycHg7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS50di1jb250cm9sLXNlbGVjdF9fY29udHJvbC1pbm5lci0tb3B0aW9uLWRpc2FibGVke2NvbG9yOnZhcigtLWNvbG9yLXBsYWNlaG9sZGVyKX0udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wtaW5uZXItLXJlYWRvbmx5e2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTtjdXJzb3I6dGV4dDstd2Via2l0LXVzZXItc2VsZWN0OnRleHQ7dXNlci1zZWxlY3Q6dGV4dH0udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wtaW5uZXI6YWZ0ZXJ7Y29udGVudDoiXDIwMEUifXNlbGVjdC50di1jb250cm9sLXNlbGVjdC5pLWluaXRlZHtkaXNwbGF5Om5vbmV9LnR2LWNvbnRyb2wtc2VsZWN0X19jYXJldHtib3R0b206MDtjdXJzb3I6cG9pbnRlcjtpbnNldC1pbmxpbmUtZW5kOjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6NDBweH0udHYtY29udHJvbC1zZWxlY3RfX2NhcmV0OmFmdGVye2JvcmRlci1pbmxpbmUtZW5kOjRweCBzb2xpZCAjMDAwMDtib3JkZXItaW5saW5lLXN0YXJ0OjRweCBzb2xpZCAjMDAwMDtib3JkZXItdG9wOjRweCBzb2xpZDtib3JkZXItdG9wLWNvbG9yOnZhcigtLWNvbG9yLWVtcHR5LWNvbnRhaW5lci1tZXNzYWdlKTtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aW5zZXQtaW5saW5lLWVuZDoxNXB4O2luc2V0LWlubGluZS1zdGFydDphdXRvO21hcmdpbi10b3A6LTJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zNXMgZWFzZSxib3JkZXItY29sb3IgLjM1cyBlYXNlfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1zZWxlY3RfX3dyYXA6aG92ZXIgLnR2LWNvbnRyb2wtc2VsZWN0X19jYXJldDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKSAjMDAwMCAjMDAwMDt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9fS50di1jb250cm9sLXNlbGVjdF9fd3JhcC5pLW9wZW5lZCAudHYtY29udHJvbC1zZWxlY3RfX2NhcmV0OmFmdGVye3RyYW5zZm9ybTpyb3RhdGUoLTE4MGRlZyl9LnR2LWNvbnRyb2wtc2VsZWN0X193cmFwLmktb3BlbmVkIC50di1jb250cm9sLXNlbGVjdF9fY2FyZXQ6YWZ0ZXI6ZGlyKHJ0bCl7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1zZWxlY3RfX3dyYXAuaS1vcGVuZWQ6aG92ZXIgLnR2LWNvbnRyb2wtc2VsZWN0X19jYXJldDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZW1wdHktY29udGFpbmVyLW1lc3NhZ2UpICMwMDAwICMwMDAwfS50di1jb250cm9sLXNlbGVjdF9fd3JhcC5pLW9wZW5lZCAudHYtY29udHJvbC1zZWxlY3RfX2NhcmV0OmhvdmVyOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10ZXh0LXJlZ3VsYXIpICMwMDAwICMwMDAwO3RyYW5zaXRpb24tZHVyYXRpb246NjBtc319LnR2LWNvbnRyb2wtc2VsZWN0X193cmFwLmktY2xvc2luZyAudHYtY29udHJvbC1zZWxlY3RfX2NhcmV0e3otaW5kZXg6OTh9LnR2LWNvbnRyb2wtc2VsZWN0X193cmFwLmktY2xvc2luZyAudHYtY29udHJvbC1zZWxlY3RfX2NhcmV0OmFmdGVye3RyYW5zZm9ybTpyb3RhdGUoMCl9LnR2LWNvbnRyb2wtc2VsZWN0X193cmFwLmktZGlzYWJsZWQgLnR2LWNvbnRyb2wtc2VsZWN0X19jYXJldHtjdXJzb3I6ZGVmYXVsdH0udHYtY29udHJvbC1zZWxlY3RfX3dyYXAuaS1kaXNhYmxlZCAudHYtY29udHJvbC1zZWxlY3RfX2NhcmV0OmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1kaXNhYmxlZC1ib3JkZXItYW5kLWNvbG9yKSAjMDAwMCAjMDAwMH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtc2VsZWN0X193cmFwLmktZGlzYWJsZWQ6aG92ZXIgLnR2LWNvbnRyb2wtc2VsZWN0X19jYXJldDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZGlzYWJsZWQtYm9yZGVyLWFuZC1jb2xvcikgIzAwMDAgIzAwMDB9fS50di1jb250cm9sLXNlbGVjdF9fZHJvcGRvd257YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLWJhY2tncm91bmQpKTtib3JkZXItcmFkaXVzOjZweDtib3gtc2hhZG93OjAgMnB4IDRweCB2YXIoLS1jb2xvci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5KTtmb250LXNpemU6MTNweDtpbnNldC1pbmxpbmUtc3RhcnQ6MDtsaW5lLWhlaWdodDoxO3BhZGRpbmc6MTVweCAwO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMTVweDt6LWluZGV4Ojk5fS50di1jb250cm9sLXNlbGVjdF9fZHJvcGRvd24tLXVuZGVyLXRyaWdnZXJ7dG9wOjEwMCU7dG9wOmNhbGMoMTAwJSAtIDFweCl9LnR2LWNvbnRyb2wtc2VsZWN0X19kcm9wZG93bi0tb3Zlci10cmlnZ2Vye3RvcDowfS50di1jb250cm9sLXNlbGVjdF9fZHJvcGRvd24tLXBvc2l0aW9uX3JpZ2h0e2luc2V0LWlubGluZS1lbmQ6MDtpbnNldC1pbmxpbmUtc3RhcnQ6YXV0b30udHYtY29udHJvbC1zZWxlY3RfX2Ryb3Bkb3duLS1wb3NpdGlvbl9vdXRlcl9yaWdodHtpbnNldC1pbmxpbmUtc3RhcnQ6MTAwJX0udHYtY29udHJvbC1zZWxlY3RfX2Ryb3Bkb3duLnR2LWNvbnRyb2wtc2VsZWN0X19kcm9wZG93bntjdXJzb3I6ZGVmYXVsdDtpbnNldC1pbmxpbmUtZW5kOi03cHg7aW5zZXQtaW5saW5lLXN0YXJ0Oi03cHg7dG9wOi0xNHB4fS50di1jb250cm9sLXNlbGVjdF9fc2Nyb2xse2hlaWdodDoxMDAlfS50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXB7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47cGFkZGluZzoxMHB4IDE1cHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3RyYW5zaXRpb246Y29sb3IgLjM1cyBlYXNlLGJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlO3doaXRlLXNwYWNlOm5vd3JhcH0udHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwLC50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXA6dmlzaXRlZHtjb2xvcjp2YXIoLS1fMS1hdTFXKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcDpob3Zlcjpub3QoLmktYWN0aXZlKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWRyb3Bkb3duLWl0ZW0taG92ZXItYmcpO2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcmVndWxhcik7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfX0udHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV81LWF1MVcpO2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcmVndWxhcil9LnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcC5pLWFjdGl2ZXtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXJlZ3VsYXIpfS50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAuaS1hY3RpdmUsLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcC5pLWFjdGl2ZTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNS1hdTFXKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcC5pLWFjdGl2ZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV81LWF1MVcpfX0udHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwLmktZGlzYWJsZWQsLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcC5pLWRpc2FibGVkOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Y29sb3I6dmFyKC0tXzItYXUxVyk7Y3Vyc29yOmRlZmF1bHR9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAuaS1kaXNhYmxlZDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Y29sb3I6dmFyKC0tXzItYXUxVyk7Y3Vyc29yOmRlZmF1bHR9fS50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAtLXN1Yml0ZW17cGFkZGluZy1ibG9jazoxMHB4IDEwcHg7cGFkZGluZy1pbmxpbmU6MzBweCAxNXB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwLS1ub3QtaW50ZXJhY3RpdmU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsfX0udHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwLS1ub3QtaW50ZXJhY3RpdmUuaS1hY3RpdmUsLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcC0tbm90LWludGVyYWN0aXZlOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWx9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAtLW5vdC1pbnRlcmFjdGl2ZS5pLWFjdGl2ZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWx9fS50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAtLW5vdC1pbnRlcmFjdGl2ZS5pLWFjdGl2ZTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsfS50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAudHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwe2ZvbnQtc2l6ZToxM3B4O3BhZGRpbmctaW5saW5lLWVuZDoyMHB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHh9LnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24uaS1hY3RpdmUgLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcHtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXJlZ3VsYXIpfS50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLmktYWN0aXZlIC50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAsLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24uaS1hY3RpdmUgLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcDphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNS1hdTFXKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24uaS1hY3RpdmUgLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV81LWF1MVcpfX0udHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi5pLWRpc2FibGVkIC50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXB7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2NvbG9yOnZhcigtLWNvbG9yLWJvcmRlci1ob3Zlcik7Y3Vyc29yOmRlZmF1bHR9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLmktZGlzYWJsZWQgLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcDpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1ib3JkZXItaG92ZXIpfS50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLmktZGlzYWJsZWQ6aG92ZXIgLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcHtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWx9fS50di1jb250cm9sLXNlbGVjdF9fb3B0Z3JvdXB7ZGlzcGxheTpibG9ja30udHYtY29udHJvbC1zZWxlY3RfX29wdGdyb3VwLWxhYmVse2NvbG9yOiNiZGJlYzA7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTRweDtmb250LXNpemU6MTNweDtmb250LXdlaWdodDo3MDA7bGluZS1oZWlnaHQ6MTttYXJnaW4tdG9wOjEwcHg7cGFkZGluZzoxMHB4IDE1cHg7cGFkZGluZy1pbmxpbmUtZW5kOjIwcHg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MjBweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9LnR2LWNvbnRyb2wtc2VsZWN0X19vcHRncm91cC1sYWJlbDpmaXJzdC1jaGlsZHttYXJnaW4tdG9wOjB9LnR2LWNvbnRyb2wtc2VsZWN0X19vcHRncm91cC1zZXBhcmF0b3J7ZGlzcGxheTpub25lfS50di1jb250cm9sLXNlbGVjdF9fb3B0Z3JvdXAtc2VwYXJhdG9yOm5vdCg6bGFzdC1vZi10eXBlKXtiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWRpdmlkZXIpO2JvcmRlcjpub25lO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjFweDttYXJnaW46OHB4IDB9LnR2LWNvbnRyb2wtc2VsZWN0X19vcHRncm91cC1pdGVtc3tkaXNwbGF5OmJsb2NrfS50di1jb250cm9sLXNlbGVjdF9fd3JhcC0tdG91Y2ggLnR2LWNvbnRyb2wtc2VsZWN0X19jYXJldCwudHYtY29udHJvbC1zZWxlY3RfX3dyYXAtLXRvdWNoIC50di1jb250cm9sLXNlbGVjdF9fY29udHJvbHtwb2ludGVyLWV2ZW50czpub25lfS50di1jb250cm9sLXNlbGVjdF9fd3JhcC0tdG91Y2ggLnR2LWNvbnRyb2wtc2VsZWN0LmktaW5pdGVke2JvdHRvbTowO2Rpc3BsYXk6YmxvY2s7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MH1bZGF0YS10aGVtZT1saWdodF17LS1fMC1Bazk1OiM4YThhOGF9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1Bazk1OnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApfS50di1zY3JlZW5lci1wcm9tcHRfX2xhYmVse2NvbG9yOnZhcigtLV8wLUFrOTUpO2ZvbnQtc2l6ZToxM3B4O21hcmdpbi1ib3R0b206MTBweH1bZGF0YS10aGVtZT1saWdodF17LS1fMC1oQzdDOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzEtaEM3Qzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzUwKTstLV8yLWhDN0M6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1fMy1oQzdDOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtaEM3Qzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLV8xLWhDN0M6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1fMi1oQzdDOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tXzMtaEM3Qzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKX0udHYtc2NyZWVuZXItZGlhbG9ne292ZXJmbG93OmF1dG99LnR2LXNjcmVlbmVyLWRpYWxvZ19fd3JhcHttaW4taGVpZ2h0OjEwMCV9LnR2LXNjcmVlbmVyLWRpYWxvZ19fd3JhcDphZnRlcntjbGVhcjpib3RoO2NvbnRlbnQ6IiI7ZGlzcGxheTp0YWJsZX0udHYtc2NyZWVuZXItZGlhbG9nX193cmFwLS0yY29se3Bvc2l0aW9uOnJlbGF0aXZlfS50di1zY3JlZW5lci1kaWFsb2dfX3dyYXAtLTJjb2w6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYm9yZGVyLXRhYmxlKTtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjUwJTttYXJnaW4taW5saW5lLXN0YXJ0Oi0ycHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoycHg7ei1pbmRleDoxfS50di1zY3JlZW5lci1kaWFsb2dfX3dyYXAtLTJjb2wgLnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxke3dpZHRoOjUwJX0udHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItZmllbGR7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1ib3R0b206MXB4IHNvbGlkO2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tY29sb3ItYm9yZGVyLXRhYmxlKTtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O2Zsb2F0OmlubGluZS1zdGFydDttaW4taGVpZ2h0OjU1cHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MCAyOHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLS1hY3RpdmUsLnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLS1hY3RpdmU6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApfWh0bWwudGhlbWUtZGFyayAudHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItZmllbGQtLWFjdGl2ZSxodG1sLnRoZW1lLWRhcmsgLnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLS1hY3RpdmU6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKX0udHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItZmllbGQtLWFjdGl2ZSAudHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItZmllbGQtcmVzZXR7dmlzaWJpbGl0eTp2aXNpYmxlfS50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZDpsYXN0LWNoaWxke2JvcmRlci1ib3R0b206bm9uZX0udHYtc2NyZWVuZXItZGlhbG9nLS1jYXQxIC50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZC0tY2F0MiwudHYtc2NyZWVuZXItZGlhbG9nLS1jYXQxIC50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZC0tY2F0MywudHYtc2NyZWVuZXItZGlhbG9nLS1jYXQyIC50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZC0tY2F0MSwudHYtc2NyZWVuZXItZGlhbG9nLS1jYXQyIC50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZC0tY2F0MywudHYtc2NyZWVuZXItZGlhbG9nLS1jYXQzIC50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZC0tY2F0MSwudHYtc2NyZWVuZXItZGlhbG9nLS1jYXQzIC50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZC0tY2F0MntkaXNwbGF5Om5vbmV9LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLXRpdGxle2JveC1zaXppbmc6Ym9yZGVyLWJveDtmb250LXNpemU6MTNweDtwYWRkaW5nLWlubGluZS1lbmQ6MjBweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDozMCV9LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLWNvbnRlbnR7bWFyZ2luLWlubGluZS1zdGFydDoxMHB4O21pbi1oZWlnaHQ6MjdweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDo2MyV9LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLWNvbnRlbnQtLWxlZnQsLnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLWNvbnRlbnQtLW1pZGRsZSwudHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItZmllbGQtY29udGVudC0tcmlnaHR7ZGlzcGxheTppbmxpbmUtYmxvY2t9LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLWNvbnRlbnQtLW1pZGRsZSwudHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItZmllbGQtY29udGVudC0tcmlnaHR7bWFyZ2luLWlubGluZS1zdGFydDoyMHB4fUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsudHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItZmllbGQtY29udGVudHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2dhcDo4cHggMjBweH0udHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItZmllbGQtY29udGVudC0tbGVmdCwudHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItZmllbGQtY29udGVudC0tbWlkZGxlLC50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZC1jb250ZW50LS1yaWdodHtkaXNwbGF5OmJsb2NrO21hcmdpbi1pbmxpbmUtc3RhcnQ6MH19LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLWNvbnRlbnQtdmFsdWU6bm90KDpsYXN0LWNoaWxkKTphZnRlcntjb250ZW50OiIsICJ9LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLXRleHR7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlcjoxcHggc29saWQ7Ym9yZGVyLWNvbG9yOnZhcigtLV8yLWhDN0MpO2JvcmRlci1yYWRpdXM6MnB4O2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcmVndWxhcik7Zm9udC1zaXplOjEycHghaW1wb3J0YW50O2hlaWdodDoyNXB4O3BhZGRpbmc6MCA2cHg7d2lkdGg6MTAzcHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZC10ZXh0OmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1fMy1oQzdDKX19LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLXRleHQ6Zm9jdXN7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJyYW5kKX0udHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItYmV0d2Vlbi1pbnB1dHtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyOjFweCBzb2xpZDtib3JkZXItY29sb3I6dmFyKC0tXzItaEM3Qyk7Ym9yZGVyLXJhZGl1czoycHg7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKTtmb250LXNpemU6MTJweCFpbXBvcnRhbnQ7aGVpZ2h0OjI1cHg7cGFkZGluZzowIDZweDt3aWR0aDoxMDNweDt3aWR0aDo1MHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItYmV0d2Vlbi1pbnB1dDpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tXzMtaEM3Qyl9fS50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1iZXR3ZWVuLWlucHV0OmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1icmFuZCl9LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWJldHdlZW4tc2VwYXJhdG9ye21hcmdpbi1pbmxpbmUtc3RhcnQ6MjBweDtwYWRkaW5nOjAgNnB4fS50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZC1yZXNldHtjdXJzb3I6cG9pbnRlcjttYXJnaW4taW5saW5lLXN0YXJ0OjMwcHg7dmlzaWJpbGl0eTpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwfS50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZC1yZXNldCBzdmd7ZmlsbDp2YXIoLS1jb2xvci1icmFuZCl9LnR2LXNjcmVlbmVyLWRpYWxvZ19fc2VsZWN0Ym94LWNvbnRhaW5lcntoZWlnaHQ6MjdweDtsaW5lLWhlaWdodDoyN3B4O3doaXRlLXNwYWNlOm5vd3JhcH0udHYtc2NyZWVuZXItZGlhbG9nX19zZWxlY3Rib3gtZHJvcGRvd24tdG9nZ2xle2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxNnB4O21hcmdpbi1ibG9jazo2cHggMDttYXJnaW4taW5saW5lOjVweCAwO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zNXMgZWFzZTt2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MTZweH0udHYtc2NyZWVuZXItZGlhbG9nX19zZWxlY3Rib3gtZHJvcGRvd24tdG9nZ2xlIHN2Z3tkaXNwbGF5OmJsb2NrO21hcmdpbi1ibG9jazo1cHggMDttYXJnaW4taW5saW5lOjJweCAwO3N0cm9rZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTtzdHJva2Utd2lkdGg6MS41cHh9LnR2LXNjcmVlbmVyLWRpYWxvZ19fc2VsZWN0Ym94LWRyb3Bkb3duLXRvZ2dsZS0tb3Blbnt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LnR2LXNjcmVlbmVyLWRpYWxvZ19fc2VsZWN0Ym94LWRyb3Bkb3duLXRvZ2dsZS0tb3BlbjpkaXIocnRsKXt0cmFuc2Zvcm06cm90YXRlKC0xODBkZWcpfS50di1zY3JlZW5lci1kaWFsb2dfX3NlbGVjdGJveC1jYXB0aW9uLS1uby12YWx1ZSwudHYtc2NyZWVuZXItZGlhbG9nX19zZWxlY3Rib3gtb3B0aW9uLS1uby12YWx1ZSAudHYtc2NyZWVuZXItZGlhbG9nX19zZWxlY3Rib3gtb3B0aW9uLXdyYXB7Y29sb3I6dmFyKC0tY29sb3ItcGxhY2Vob2xkZXIpIWltcG9ydGFudH0udHYtc2NyZWVuZXItZGlhbG9nX19zZWxlY3Rib3gtY2FwdGlvbntjdXJzb3I6cG9pbnRlcn0udHYtc2NyZWVuZXItZGlhbG9nX19zZWxlY3Rib3gtY2FwdGlvbi0tdGV4dC1vdmVyZmxvd3tkaXNwbGF5OmlubGluZS1ibG9jazttYXgtd2lkdGg6MTAwJX0udHYtc2NyZWVuZXItZGlhbG9nX19zZWxlY3Rib3gtY2FwdGlvbi0tdGV4dC1vdmVyZmxvdyAudHYtc2NyZWVuZXItZGlhbG9nX19zZWxlY3Rib3gtY2FwdGlvbi1sYWJlbHtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmctaW5saW5lLWVuZDoyM3B4O3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LnR2LXNjcmVlbmVyLWRpYWxvZ19fc2VsZWN0Ym94LWNhcHRpb24tLXRleHQtb3ZlcmZsb3cgLnR2LXNjcmVlbmVyLWRpYWxvZ19fc2VsZWN0Ym94LWRyb3Bkb3duLXRvZ2dsZXttYXJnaW4taW5saW5lLXN0YXJ0Oi0xOHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtc2NyZWVuZXItZGlhbG9nX19zZWxlY3Rib3gtY2FwdGlvbjpob3ZlciAudHYtc2NyZWVuZXItZGlhbG9nX19zZWxlY3Rib3gtZHJvcGRvd24tdG9nZ2xlIHN2Z3tzdHJva2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9fS50di1zY3JlZW5lci1kaWFsb2dfX3NlYXJjaC13cmFwe2JvcmRlci1ib3R0b206MXB4IHNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXIpO2hlaWdodDo0NXB4O3Bvc2l0aW9uOnJlbGF0aXZlfS50di1zY3JlZW5lci1kaWFsb2dfX3NlYXJjaC1pbnB1dHtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyOm5vbmU7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjQ1cHg7bWFyZ2luOjA7cGFkZGluZy1ibG9jazoxMHB4IDA7cGFkZGluZy1pbmxpbmU6MjJweCAyMnB4O3dpZHRoOjEwMCV9LnR2LXNjcmVlbmVyLWRpYWxvZ19fc2VhcmNoLW5vLW1hdGNoZXN7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO2ZvbnQtc3R5bGU6aXRhbGljO3BvaW50ZXItZXZlbnRzOm5vbmV9LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWRyb3Bkb3duLXRvZ2dsZXtoZWlnaHQ6MTZweDtpbnNldC1pbmxpbmUtZW5kOjclO21hcmdpbi1pbmxpbmUtZW5kOjdweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDoyMHB4O3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBlYXNlLWluLW91dDt3aWR0aDoxNnB4fS50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1kcm9wZG93bi10b2dnbGUgc3Zne2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJsb2NrOjVweCAwO21hcmdpbi1pbmxpbmU6MnB4IDA7c3Ryb2tlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApfS50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1kcm9wZG93bi10b2dnbGUtLW9wZW57dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfS50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1kcm9wZG93bi10b2dnbGUtLW9wZW46ZGlyKHJ0bCl7dHJhbnNmb3JtOnJvdGF0ZSgtMTgwZGVnKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLWNvbnRlbnQtLXNlbGVjdDpob3Zlcn4udHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItZHJvcGRvd24tdG9nZ2xlIHN2Z3tzdHJva2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9fS50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci10b2dnbGV7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLXRvcDo0cHh9LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLXRvZ2dsZS1jaGVja2JveHtpbnNldC1pbmxpbmUtc3RhcnQ6MDtwb3NpdGlvbjpyZWxhdGl2ZX0udHYtc2NyZWVuZXItZGlhbG9nIC50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci10b2dnbGUtY2hlY2tib3gtdGl0bGV7ZGlzcGxheTpub25lfS50di1zY3JlZW5lci1kaWFsb2dfX3NlbGVjdGJveC1vcHRpb24td3JhcHtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXJlZ3VsYXIpfS50di1zY3JlZW5lci1zZWFyY2h7Ym9yZGVyLWJvdHRvbToxcHggc29saWQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXItdGFibGUpO2hlaWdodDo0MHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS50di1zY3JlZW5lci1zZWFyY2hfX2lucHV0e2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtib3JkZXI6bm9uZTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKTtmb250LXNpemU6MTRweDtoZWlnaHQ6NDBweDtwYWRkaW5nLWJsb2NrOjAgMDtwYWRkaW5nLWlubGluZTo1N3B4IDEzNXB4O3dpZHRoOjEwMCV9LnR2LXNjcmVlbmVyLXNlYXJjaF9faW5wdXQ6OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLWNvbG9yLXBsYWNlaG9sZGVyKX0udHYtc2NyZWVuZXItc2VhcmNoIHN2Z3tpbnNldC1pbmxpbmUtc3RhcnQ6MjdweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMnB4fS50di1zY3JlZW5lci1zZWFyY2hfX3Jlc2V0e2NvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTtjdXJzb3I6cG9pbnRlcjtpbnNldC1pbmxpbmUtZW5kOjMwcHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEycHh9LnR2LXNjcmVlbmVyLXNlYXJjaF9fcmVzZXQtaWNvbiBzdmd7aW5zZXQtaW5saW5lLXN0YXJ0Oi0yNnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMnB4O2ZpbGw6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApO3BvaW50ZXItZXZlbnRzOmF1dG99Lm1vZGVUaXRsZS1qc1QzUzRNQXtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7dHJhbnNpdGlvbi1kdXJhdGlvbjouMzVzO3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3I7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZTstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjIxcHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwfS5tb2RlVGl0bGVBY3RpdmUtanNUM1M0TUF7Y29sb3I6dmFyKC0tY29sb3ItYnJhbmQpfS5zd2l0Y2hlckNvbnRhaW5lci1qc1QzUzRNQXttYXJnaW46MCA4cHh9LmVsZW1lbnRXcmFwLUxlWndHaUI2e2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXgtd2lkdGg6MTAwJX0uaXRlbXNXcmFwLUxlWndHaUI2e2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjpyZWxhdGl2ZX0uaXRlbS1MZVp3R2lCNntjb2xvcjp2YXIoLS1jb2xvci10b29sYmFyLWludGVyYWN0aXZlLWVsZW1lbnQtdGV4dC1ub3JtYWwpO2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjAgOXB4fS5pdGVtLUxlWndHaUI2OmZpcnN0LWNoaWxke3BhZGRpbmctaW5saW5lLXN0YXJ0OjB9Lml0ZW0tTGVad0dpQjY6bGFzdC1jaGlsZHtwYWRkaW5nLWlubGluZS1lbmQ6MH0uaXRlbS1MZVp3R2lCNi5hY3RpdmUtTGVad0dpQjYgLml0ZW1Db250ZW50LUxlWndHaUI2e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnJhbmQpO2JvcmRlci1yYWRpdXM6MTJweDtjb2xvcjp2YXIoLS1jb2xvci13aGl0ZSk7Y3Vyc29yOmRlZmF1bHR9Lml0ZW0tTGVad0dpQjYuYWN0aXZlLUxlWndHaUI2IC5pdGVtQ29udGVudC1MZVp3R2lCNi5kcm9wZG93bkl0ZW0tTGVad0dpQjZ7Y3Vyc29yOnBvaW50ZXJ9Lml0ZW1Db250ZW50LUxlWndHaUI2e2JvcmRlcjoxcHggc29saWQgIzAwMDA7Ym9yZGVyLXJhZGl1czoxMnB4O2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjEzcHg7cGFkZGluZzozcHggMTJweCA0cHg7dGV4dC1hbGlnbjpjZW50ZXI7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjM1cyBlYXNlLGNvbG9yIC4zNXMgZWFzZTt3aGl0ZS1zcGFjZTpub3dyYXB9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtQ29udGVudC1MZVp3R2lCNjpob3Zlcjpub3QoLmFjdGl2ZS1MZVp3R2lCNil7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlLWhvdmVyKTtjb2xvcjp2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZS1ob3Zlcil9fS5kcm9wZG93bkl0ZW0tTGVad0dpQjZ7Ym94LXNpemluZzpib3JkZXItYm94O3dpZHRoOjMycHh9LmRyb3Bkb3duSWNvbi1MZVp3R2lCNntkaXNwbGF5OmJsb2NrO3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zNXMgZWFzZX0uZHJvcGRvd25JY29uLUxlWndHaUI2OmRpcihydGwpe3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKX0uZHJvcGRvd25JY29uLUxlWndHaUI2LmFjdGl2ZS1MZVp3R2lCNnt0cmFuc2Zvcm06cm90YXRlKC05MGRlZyl9LmRyb3Bkb3duSWNvbi1MZVp3R2lCNi5hY3RpdmUtTGVad0dpQjY6ZGlyKHJ0bCl7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyl9LmRyb3Bkb3duTGlzdEl0ZW0tTGVad0dpQjZ7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KX0ubGluay1VSVFwTExOcywubGluay1VSVFwTExOczp2aXNpdGVke2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0KTtmaWxsOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmxpbmstVUlRcExMTnM6aG92ZXJ7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWhvdmVyKTtmaWxsOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcil9fS5saW5rLVVJUXBMTE5zOmFjdGl2ZXtjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlKTtmaWxsOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1hY3RpdmUpfS5saW5rLVVJUXBMTE5zOmZvY3Vze291dGxpbmU6YXV0bztvdXRsaW5lLW9mZnNldDoycHh9LmxpbmstVUlRcExMTnM6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS5saW5rLVVJUXBMTE5zOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSl7b3V0bGluZTpub25lfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/js/clipboard.js","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:32.890Z","timestamp":1785120632890,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /js/clipboard.js HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:32 GMT\r\nContent-Type: application/javascript; charset=utf-8\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-75b9\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":30137,"size_decoded":8001,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with CRLF line terminators","md5":"e963a3a54c945172fb7e38363ecd26b6","sha1":"4d35a2c06dc4b693a6ee8d0e7bd111a26443b466","sha256":"0f8636f5d2d97789cbc649a667f6dceb96b2de0611829a4b4a79db2a56023108","sha512":"765919ffad50fc522dd396164e17ce5145328dedf76a18191f589b28a3a346ef6b4421969f13318308bc5c00cb60719dfa3b184bce56bf5ddb434d994f163a59","ssdeep":"768:7rt6qwdaBqMceqL8A6HJbv3Ytn0TSbqMce35VPDRRUXjIAjmI05Duv5gHRtjdt:6d5NQcH5VdRUXljU5Y5gHbJt","tlshash":"63d2758836957c718877b37b8a0b81cdfb76806b50195098bc5cb6e01f7c96483e6fac","first_seen":"2024-08-20T19:17:55.293719Z","last_seen":"2026-07-27T02:59:54.505814Z","times_seen":6,"resource_available":true,"data":"LyohDQogKiBjbGlwYm9hcmQuanMgdjIuMC4wDQogKiBodHRwczovL3plbm9yb2NoYS5naXRodWIuaW8vY2xpcGJvYXJkLmpzDQogKiANCiAqIExpY2Vuc2VkIE1JVCDCqSBaZW5vIFJvY2hhDQogKi8NCihmdW5jdGlvbiB3ZWJwYWNrVW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbihyb290LCBmYWN0b3J5KSB7DQoJaWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnICYmIHR5cGVvZiBtb2R1bGUgPT09ICdvYmplY3QnKQ0KCQltb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoKTsNCgllbHNlIGlmKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZCkNCgkJZGVmaW5lKFtdLCBmYWN0b3J5KTsNCgllbHNlIGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JykNCgkJZXhwb3J0c1siQ2xpcGJvYXJkSlMiXSA9IGZhY3RvcnkoKTsNCgllbHNlDQoJCXJvb3RbIkNsaXBib2FyZEpTIl0gPSBmYWN0b3J5KCk7DQp9KSh0aGlzLCBmdW5jdGlvbigpIHsNCnJldHVybiAvKioqKioqLyAoZnVuY3Rpb24obW9kdWxlcykgeyAvLyB3ZWJwYWNrQm9vdHN0cmFwDQovKioqKioqLyAJLy8gVGhlIG1vZHVsZSBjYWNoZQ0KLyoqKioqKi8gCXZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307DQovKioqKioqLw0KLyoqKioqKi8gCS8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uDQovKioqKioqLyAJZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkgew0KLyoqKioqKi8NCi8qKioqKiovIAkJLy8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlDQovKioqKioqLyAJCWlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKSB7DQovKioqKioqLyAJCQlyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0czsNCi8qKioqKiovIAkJfQ0KLyoqKioqKi8gCQkvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKQ0KLyoqKioqKi8gCQl2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSANCi8qKioqKiovIAkJCWk6IG1vZHVsZUlkLA0KLyoqKioqKi8gCQkJbDogZmFsc2UsDQovKioqKioqLyAJCQlleHBvcnRzOiB7fQ0KLyoqKioqKi8gCQl9Ow0KLyoqKioqKi8NCi8qKioqKiovIAkJLy8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uDQovKioqKioqLyAJCW1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pOw0KLyoqKioqKi8NCi8qKioqKiovIAkJLy8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZA0KLyoqKioqKi8gCQltb2R1bGUubCA9IHRydWU7DQovKioqKioqLw0KLyoqKioqKi8gCQkvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZQ0KLyoqKioqKi8gCQlyZXR1cm4gbW9kdWxlLmV4cG9ydHM7DQovKioqKioqLyAJfQ0KLyoqKioqKi8NCi8qKioqKiovDQovKioqKioqLyAJLy8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXykNCi8qKioqKiovIAlfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzOw0KLyoqKioqKi8NCi8qKioqKiovIAkvLyBleHBvc2UgdGhlIG1vZHVsZSBjYWNoZQ0KLyoqKioqKi8gCV9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7DQovKioqKioqLw0KLyoqKioqKi8gCS8vIGlkZW50aXR5IGZ1bmN0aW9uIGZvciBjYWxsaW5nIGhhcm1vbnkgaW1wb3J0cyB3aXRoIHRoZSBjb3JyZWN0IGNvbnRleHQNCi8qKioqKiovIAlfX3dlYnBhY2tfcmVxdWlyZV9fLmkgPSBmdW5jdGlvbih2YWx1ZSkgeyByZXR1cm4gdmFsdWU7IH07DQovKioqKioqLw0KLyoqKioqKi8gCS8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0cw0KLyoqKioqKi8gCV9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikgew0KLyoqKioqKi8gCQlpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7DQovKioqKioqLyAJCQlPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbmFtZSwgew0KLyoqKioqKi8gCQkJCWNvbmZpZ3VyYWJsZTogZmFsc2UsDQovKioqKioqLyAJCQkJZW51bWVyYWJsZTogdHJ1ZSwNCi8qKioqKiovIAkJCQlnZXQ6IGdldHRlcg0KLyoqKioqKi8gCQkJfSk7DQovKioqKioqLyAJCX0NCi8qKioqKiovIAl9Ow0KLyoqKioqKi8NCi8qKioqKiovIAkvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlcw0KLyoqKioqKi8gCV9fd2VicGFja19yZXF1aXJlX18ubiA9IGZ1bmN0aW9uKG1vZHVsZSkgew0KLyoqKioqKi8gCQl2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID8NCi8qKioqKiovIAkJCWZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6DQovKioqKioqLyAJCQlmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9Ow0KLyoqKioqKi8gCQlfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7DQovKioqKioqLyAJCXJldHVybiBnZXR0ZXI7DQovKioqKioqLyAJfTsNCi8qKioqKiovDQovKioqKioqLyAJLy8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsDQovKioqKioqLyAJX193ZWJwYWNrX3JlcXVpcmVfXy5vID0gZnVuY3Rpb24ob2JqZWN0LCBwcm9wZXJ0eSkgeyByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpOyB9Ow0KLyoqKioqKi8NCi8qKioqKiovIAkvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfXw0KLyoqKioqKi8gCV9fd2VicGFja19yZXF1aXJlX18ucCA9ICIiOw0KLyoqKioqKi8NCi8qKioqKiovIAkvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHMNCi8qKioqKiovIAlyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSAzKTsNCi8qKioqKiovIH0pDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqKioqKi8gKFsNCi8qIDAgKi8NCi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHsNCg0KdmFyIF9fV0VCUEFDS19BTURfREVGSU5FX0ZBQ1RPUllfXywgX19XRUJQQUNLX0FNRF9ERUZJTkVfQVJSQVlfXywgX19XRUJQQUNLX0FNRF9ERUZJTkVfUkVTVUxUX187KGZ1bmN0aW9uIChnbG9iYWwsIGZhY3RvcnkpIHsNCiAgICBpZiAodHJ1ZSkgew0KICAgICAgICAhKF9fV0VCUEFDS19BTURfREVGSU5FX0FSUkFZX18gPSBbbW9kdWxlLCBfX3dlYnBhY2tfcmVxdWlyZV9fKDcpXSwgX19XRUJQQUNLX0FNRF9ERUZJTkVfRkFDVE9SWV9fID0gKGZhY3RvcnkpLA0KCQkJCV9fV0VCUEFDS19BTURfREVGSU5FX1JFU1VMVF9fID0gKHR5cGVvZiBfX1dFQlBBQ0tfQU1EX0RFRklORV9GQUNUT1JZX18gPT09ICdmdW5jdGlvbicgPw0KCQkJCShfX1dFQlBBQ0tfQU1EX0RFRklORV9GQUNUT1JZX18uYXBwbHkoZXhwb3J0cywgX19XRUJQQUNLX0FNRF9ERUZJTkVfQVJSQVlfXykpIDogX19XRUJQQUNLX0FNRF9ERUZJTkVfRkFDVE9SWV9fKSwNCgkJCQlfX1dFQlBBQ0tfQU1EX0RFRklORV9SRVNVTFRfXyAhPT0gdW5kZWZpbmVkICYmIChtb2R1bGUuZXhwb3J0cyA9IF9fV0VCUEFDS19BTURfREVGSU5FX1JFU1VMVF9fKSk7DQogICAgfSBlbHNlIGlmICh0eXBlb2YgZXhwb3J0cyAhPT0gInVuZGVmaW5lZCIpIHsNCiAgICAgICAgZmFjdG9yeShtb2R1bGUsIHJlcXVpcmUoJ3NlbGVjdCcpKTsNCiAgICB9IGVsc2Ugew0KICAgICAgICB2YXIgbW9kID0gew0KICAgICAgICAgICAgZXhwb3J0czoge30NCiAgICAgICAgfTsNCiAgICAgICAgZmFjdG9yeShtb2QsIGdsb2JhbC5zZWxlY3QpOw0KICAgICAgICBnbG9iYWwuY2xpcGJvYXJkQWN0aW9uID0gbW9kLmV4cG9ydHM7DQogICAgfQ0KfSkodGhpcywgZnVuY3Rpb24gKG1vZHVsZSwgX3NlbGVjdCkgew0KICAgICd1c2Ugc3RyaWN0JzsNCg0KICAgIHZhciBfc2VsZWN0MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3NlbGVjdCk7DQoNCiAgICBmdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgew0KICAgICAgICByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogew0KICAgICAgICAgICAgZGVmYXVsdDogb2JqDQogICAgICAgIH07DQogICAgfQ0KDQogICAgdmFyIF90eXBlb2YgPSB0eXBlb2YgU3ltYm9sID09PSAiZnVuY3Rpb24iICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09ICJzeW1ib2wiID8gZnVuY3Rpb24gKG9iaikgew0KICAgICAgICByZXR1cm4gdHlwZW9mIG9iajsNCiAgICB9IDogZnVuY3Rpb24gKG9iaikgew0KICAgICAgICByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09ICJmdW5jdGlvbiIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gInN5bWJvbCIgOiB0eXBlb2Ygb2JqOw0KICAgIH07DQoNCiAgICBmdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7DQogICAgICAgIGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7DQogICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24iKTsNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIHZhciBfY3JlYXRlQ2xhc3MgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgIGZ1bmN0aW9uIGRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgew0KICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgew0KICAgICAgICAgICAgICAgIHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07DQogICAgICAgICAgICAgICAgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOw0KICAgICAgICAgICAgICAgIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICBpZiAoInZhbHVlIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gZnVuY3Rpb24gKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgew0KICAgICAgICAgICAgaWYgKHByb3RvUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsNCiAgICAgICAgICAgIGlmIChzdGF0aWNQcm9wcykgZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOw0KICAgICAgICAgICAgcmV0dXJuIENvbnN0cnVjdG9yOw0KICAgICAgICB9Ow0KICAgIH0oKTsNCg0KICAgIHZhciBDbGlwYm9hcmRBY3Rpb24gPSBmdW5jdGlvbiAoKSB7DQogICAgICAgIC8qKg0KICAgICAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucw0KICAgICAgICAgKi8NCiAgICAgICAgZnVuY3Rpb24gQ2xpcGJvYXJkQWN0aW9uKG9wdGlvbnMpIHsNCiAgICAgICAgICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBDbGlwYm9hcmRBY3Rpb24pOw0KDQogICAgICAgICAgICB0aGlzLnJlc29sdmVPcHRpb25zKG9wdGlvbnMpOw0KICAgICAgICAgICAgdGhpcy5pbml0U2VsZWN0aW9uKCk7DQogICAgICAgIH0NCg0KICAgICAgICAvKioNCiAgICAgICAgICogRGVmaW5lcyBiYXNlIHByb3BlcnRpZXMgcGFzc2VkIGZyb20gY29uc3RydWN0b3IuDQogICAgICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zDQogICAgICAgICAqLw0KDQoNCiAgICAgICAgX2NyZWF0ZUNsYXNzKENsaXBib2FyZEFjdGlvbiwgW3sNCiAgICAgICAgICAgIGtleTogJ3Jlc29sdmVPcHRpb25zJywNCiAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiByZXNvbHZlT3B0aW9ucygpIHsNCiAgICAgICAgICAgICAgICB2YXIgb3B0aW9ucyA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDoge307DQoNCiAgICAgICAgICAgICAgICB0aGlzLmFjdGlvbiA9IG9wdGlvbnMuYWN0aW9uOw0KICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyID0gb3B0aW9ucy5jb250YWluZXI7DQogICAgICAgICAgICAgICAgdGhpcy5lbWl0dGVyID0gb3B0aW9ucy5lbWl0dGVyOw0KICAgICAgICAgICAgICAgIHRoaXMudGFyZ2V0ID0gb3B0aW9ucy50YXJnZXQ7DQogICAgICAgICAgICAgICAgdGhpcy50ZXh0ID0gb3B0aW9ucy50ZXh0Ow0KICAgICAgICAgICAgICAgIHRoaXMudHJpZ2dlciA9IG9wdGlvbnMudHJpZ2dlcjsNCg0KICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRUZXh0ID0gJyc7DQogICAgICAgICAgICB9DQogICAgICAgIH0sIHsNCiAgICAgICAgICAgIGtleTogJ2luaXRTZWxlY3Rpb24nLA0KICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIGluaXRTZWxlY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgaWYgKHRoaXMudGV4dCkgew0KICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEZha2UoKTsNCiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMudGFyZ2V0KSB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0VGFyZ2V0KCk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9LCB7DQogICAgICAgICAgICBrZXk6ICdzZWxlY3RGYWtlJywNCiAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBzZWxlY3RGYWtlKCkgew0KICAgICAgICAgICAgICAgIHZhciBfdGhpcyA9IHRoaXM7DQoNCiAgICAgICAgICAgICAgICB2YXIgaXNSVEwgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkaXInKSA9PSAncnRsJzsNCg0KICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlRmFrZSgpOw0KDQogICAgICAgICAgICAgICAgdGhpcy5mYWtlSGFuZGxlckNhbGxiYWNrID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3RoaXMucmVtb3ZlRmFrZSgpOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICAgICAgdGhpcy5mYWtlSGFuZGxlciA9IHRoaXMuY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5mYWtlSGFuZGxlckNhbGxiYWNrKSB8fCB0cnVlOw0KDQogICAgICAgICAgICAgICAgdGhpcy5mYWtlRWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RleHRhcmVhJyk7DQogICAgICAgICAgICAgICAgLy8gUHJldmVudCB6b29taW5nIG9uIGlPUw0KICAgICAgICAgICAgICAgIHRoaXMuZmFrZUVsZW0uc3R5bGUuZm9udFNpemUgPSAnMTJwdCc7DQogICAgICAgICAgICAgICAgLy8gUmVzZXQgYm94IG1vZGVsDQogICAgICAgICAgICAgICAgdGhpcy5mYWtlRWxlbS5zdHlsZS5ib3JkZXIgPSAnMCc7DQogICAgICAgICAgICAgICAgdGhpcy5mYWtlRWxlbS5zdHlsZS5wYWRkaW5nID0gJzAnOw0KICAgICAgICAgICAgICAgIHRoaXMuZmFrZUVsZW0uc3R5bGUubWFyZ2luID0gJzAnOw0KICAgICAgICAgICAgICAgIC8vIE1vdmUgZWxlbWVudCBvdXQgb2Ygc2NyZWVuIGhvcml6b250YWxseQ0KICAgICAgICAgICAgICAgIHRoaXMuZmFrZUVsZW0uc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnOw0KICAgICAgICAgICAgICAgIHRoaXMuZmFrZUVsZW0uc3R5bGVbaXNSVEwgPyAncmlnaHQnIDogJ2xlZnQnXSA9ICctOTk5OXB4JzsNCiAgICAgICAgICAgICAgICAvLyBNb3ZlIGVsZW1lbnQgdG8gdGhlIHNhbWUgcG9zaXRpb24gdmVydGljYWxseQ0KICAgICAgICAgICAgICAgIHZhciB5UG9zaXRpb24gPSB3aW5kb3cucGFnZVlPZmZzZXQgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDsNCiAgICAgICAgICAgICAgICB0aGlzLmZha2VFbGVtLnN0eWxlLnRvcCA9IHlQb3NpdGlvbiArICdweCc7DQoNCiAgICAgICAgICAgICAgICB0aGlzLmZha2VFbGVtLnNldEF0dHJpYnV0ZSgncmVhZG9ubHknLCAnJyk7DQogICAgICAgICAgICAgICAgdGhpcy5mYWtlRWxlbS52YWx1ZSA9IHRoaXMudGV4dDsNCg0KICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLmFwcGVuZENoaWxkKHRoaXMuZmFrZUVsZW0pOw0KDQogICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFRleHQgPSAoMCwgX3NlbGVjdDIuZGVmYXVsdCkodGhpcy5mYWtlRWxlbSk7DQogICAgICAgICAgICAgICAgdGhpcy5jb3B5VGV4dCgpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9LCB7DQogICAgICAgICAgICBrZXk6ICdyZW1vdmVGYWtlJywNCiAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiByZW1vdmVGYWtlKCkgew0KICAgICAgICAgICAgICAgIGlmICh0aGlzLmZha2VIYW5kbGVyKSB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5mYWtlSGFuZGxlckNhbGxiYWNrKTsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy5mYWtlSGFuZGxlciA9IG51bGw7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuZmFrZUhhbmRsZXJDYWxsYmFjayA9IG51bGw7DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgaWYgKHRoaXMuZmFrZUVsZW0pIHsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250YWluZXIucmVtb3ZlQ2hpbGQodGhpcy5mYWtlRWxlbSk7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuZmFrZUVsZW0gPSBudWxsOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwgew0KICAgICAgICAgICAga2V5OiAnc2VsZWN0VGFyZ2V0JywNCiAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBzZWxlY3RUYXJnZXQoKSB7DQogICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFRleHQgPSAoMCwgX3NlbGVjdDIuZGVmYXVsdCkodGhpcy50YXJnZXQpOw0KICAgICAgICAgICAgICAgIHRoaXMuY29weVRleHQoKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwgew0KICAgICAgICAgICAga2V5OiAnY29weVRleHQnLA0KICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIGNvcHlUZXh0KCkgew0KICAgICAgICAgICAgICAgIHZhciBzdWNjZWVkZWQgPSB2b2lkIDA7DQoNCiAgICAgICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgICAgICBzdWNjZWVkZWQgPSBkb2N1bWVudC5leGVjQ29tbWFuZCh0aGlzLmFjdGlvbik7DQogICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7DQogICAgICAgICAgICAgICAgICAgIHN1Y2NlZWRlZCA9IGZhbHNlOw0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlUmVzdWx0KHN1Y2NlZWRlZCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0sIHsNCiAgICAgICAgICAgIGtleTogJ2hhbmRsZVJlc3VsdCcsDQogICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gaGFuZGxlUmVzdWx0KHN1Y2NlZWRlZCkgew0KICAgICAgICAgICAgICAgIHRoaXMuZW1pdHRlci5lbWl0KHN1Y2NlZWRlZCA/ICdzdWNjZXNzJyA6ICdlcnJvcicsIHsNCiAgICAgICAgICAgICAgICAgICAgYWN0aW9uOiB0aGlzLmFjdGlvbiwNCiAgICAgICAgICAgICAgICAgICAgdGV4dDogdGhpcy5zZWxlY3RlZFRleHQsDQogICAgICAgICAgICAgICAgICAgIHRyaWdnZXI6IHRoaXMudHJpZ2dlciwNCiAgICAgICAgICAgICAgICAgICAgY2xlYXJTZWxlY3Rpb246IHRoaXMuY2xlYXJTZWxlY3Rpb24uYmluZCh0aGlzKQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9LCB7DQogICAgICAgICAgICBrZXk6ICdjbGVhclNlbGVjdGlvbicsDQogICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gY2xlYXJTZWxlY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgaWYgKHRoaXMudHJpZ2dlcikgew0KICAgICAgICAgICAgICAgICAgICB0aGlzLnRyaWdnZXIuZm9jdXMoKTsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmVtb3ZlQWxsUmFuZ2VzKCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0sIHsNCiAgICAgICAgICAgIGtleTogJ2Rlc3Ryb3knLA0KICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIGRlc3Ryb3koKSB7DQogICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVGYWtlKCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0sIHsNCiAgICAgICAgICAgIGtleTogJ2FjdGlvbicsDQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uIHNldCgpIHsNCiAgICAgICAgICAgICAgICB2YXIgYWN0aW9uID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiAnY29weSc7DQoNCiAgICAgICAgICAgICAgICB0aGlzLl9hY3Rpb24gPSBhY3Rpb247DQoNCiAgICAgICAgICAgICAgICBpZiAodGhpcy5fYWN0aW9uICE9PSAnY29weScgJiYgdGhpcy5fYWN0aW9uICE9PSAnY3V0Jykgew0KICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgImFjdGlvbiIgdmFsdWUsIHVzZSBlaXRoZXIgImNvcHkiIG9yICJjdXQiJyk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9hY3Rpb247DQogICAgICAgICAgICB9DQogICAgICAgIH0sIHsNCiAgICAgICAgICAgIGtleTogJ3RhcmdldCcsDQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uIHNldCh0YXJnZXQpIHsNCiAgICAgICAgICAgICAgICBpZiAodGFyZ2V0ICE9PSB1bmRlZmluZWQpIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKHRhcmdldCAmJiAodHlwZW9mIHRhcmdldCA9PT0gJ3VuZGVmaW5lZCcgPyAndW5kZWZpbmVkJyA6IF90eXBlb2YodGFyZ2V0KSkgPT09ICdvYmplY3QnICYmIHRhcmdldC5ub2RlVHlwZSA9PT0gMSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuYWN0aW9uID09PSAnY29weScgJiYgdGFyZ2V0Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCAidGFyZ2V0IiBhdHRyaWJ1dGUuIFBsZWFzZSB1c2UgInJlYWRvbmx5IiBpbnN0ZWFkIG9mICJkaXNhYmxlZCIgYXR0cmlidXRlJyk7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmFjdGlvbiA9PT0gJ2N1dCcgJiYgKHRhcmdldC5oYXNBdHRyaWJ1dGUoJ3JlYWRvbmx5JykgfHwgdGFyZ2V0Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgInRhcmdldCIgYXR0cmlidXRlLiBZb3UgY2FuXCd0IGN1dCB0ZXh0IGZyb20gZWxlbWVudHMgd2l0aCAicmVhZG9ubHkiIG9yICJkaXNhYmxlZCIgYXR0cmlidXRlcycpOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl90YXJnZXQgPSB0YXJnZXQ7DQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgInRhcmdldCIgdmFsdWUsIHVzZSBhIHZhbGlkIEVsZW1lbnQnKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fdGFyZ2V0Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9XSk7DQoNCiAgICAgICAgcmV0dXJuIENsaXBib2FyZEFjdGlvbjsNCiAgICB9KCk7DQoNCiAgICBtb2R1bGUuZXhwb3J0cyA9IENsaXBib2FyZEFjdGlvbjsNCn0pOw0KDQovKioqLyB9KSwNCi8qIDEgKi8NCi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHsNCg0KdmFyIGlzID0gX193ZWJwYWNrX3JlcXVpcmVfXyg2KTsNCnZhciBkZWxlZ2F0ZSA9IF9fd2VicGFja19yZXF1aXJlX18oNSk7DQoNCi8qKg0KICogVmFsaWRhdGVzIGFsbCBwYXJhbXMgYW5kIGNhbGxzIHRoZSByaWdodA0KICogbGlzdGVuZXIgZnVuY3Rpb24gYmFzZWQgb24gaXRzIHRhcmdldCB0eXBlLg0KICoNCiAqIEBwYXJhbSB7U3RyaW5nfEhUTUxFbGVtZW50fEhUTUxDb2xsZWN0aW9ufE5vZGVMaXN0fSB0YXJnZXQNCiAqIEBwYXJhbSB7U3RyaW5nfSB0eXBlDQogKiBAcGFyYW0ge0Z1bmN0aW9ufSBjYWxsYmFjaw0KICogQHJldHVybiB7T2JqZWN0fQ0KICovDQpmdW5jdGlvbiBsaXN0ZW4odGFyZ2V0LCB0eXBlLCBjYWxsYmFjaykgew0KICAgIGlmICghdGFyZ2V0ICYmICF0eXBlICYmICFjYWxsYmFjaykgew0KICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgcmVxdWlyZWQgYXJndW1lbnRzJyk7DQogICAgfQ0KDQogICAgaWYgKCFpcy5zdHJpbmcodHlwZSkpIHsNCiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignU2Vjb25kIGFyZ3VtZW50IG11c3QgYmUgYSBTdHJpbmcnKTsNCiAgICB9DQoNCiAgICBpZiAoIWlzLmZuKGNhbGxiYWNrKSkgew0KICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGlyZCBhcmd1bWVudCBtdXN0IGJlIGEgRnVuY3Rpb24nKTsNCiAgICB9DQoNCiAgICBpZiAoaXMubm9kZSh0YXJnZXQpKSB7DQogICAgICAgIHJldHVybiBsaXN0ZW5Ob2RlKHRhcmdldCwgdHlwZSwgY2FsbGJhY2spOw0KICAgIH0NCiAgICBlbHNlIGlmIChpcy5ub2RlTGlzdCh0YXJnZXQpKSB7DQogICAgICAgIHJldHVybiBsaXN0ZW5Ob2RlTGlzdCh0YXJnZXQsIHR5cGUsIGNhbGxiYWNrKTsNCiAgICB9DQogICAgZWxzZSBpZiAoaXMuc3RyaW5nKHRhcmdldCkpIHsNCiAgICAgICAgcmV0dXJuIGxpc3RlblNlbGVjdG9yKHRhcmdldCwgdHlwZSwgY2FsbGJhY2spOw0KICAgIH0NCiAgICBlbHNlIHsNCiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignRmlyc3QgYXJndW1lbnQgbXVzdCBiZSBhIFN0cmluZywgSFRNTEVsZW1lbnQsIEhUTUxDb2xsZWN0aW9uLCBvciBOb2RlTGlzdCcpOw0KICAgIH0NCn0NCg0KLyoqDQogKiBBZGRzIGFuIGV2ZW50IGxpc3RlbmVyIHRvIGEgSFRNTCBlbGVtZW50DQogKiBhbmQgcmV0dXJucyBhIHJlbW92ZSBsaXN0ZW5lciBmdW5jdGlvbi4NCiAqDQogKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBub2RlDQogKiBAcGFyYW0ge1N0cmluZ30gdHlwZQ0KICogQHBhcmFtIHtGdW5jdGlvbn0gY2FsbGJhY2sNCiAqIEByZXR1cm4ge09iamVjdH0NCiAqLw0KZnVuY3Rpb24gbGlzdGVuTm9kZShub2RlLCB0eXBlLCBjYWxsYmFjaykgew0KICAgIG5vZGUuYWRkRXZlbnRMaXN0ZW5lcih0eXBlLCBjYWxsYmFjayk7DQoNCiAgICByZXR1cm4gew0KICAgICAgICBkZXN0cm95OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIG5vZGUucmVtb3ZlRXZlbnRMaXN0ZW5lcih0eXBlLCBjYWxsYmFjayk7DQogICAgICAgIH0NCiAgICB9DQp9DQoNCi8qKg0KICogQWRkIGFuIGV2ZW50IGxpc3RlbmVyIHRvIGEgbGlzdCBvZiBIVE1MIGVsZW1lbnRzDQogKiBhbmQgcmV0dXJucyBhIHJlbW92ZSBsaXN0ZW5lciBmdW5jdGlvbi4NCiAqDQogKiBAcGFyYW0ge05vZGVMaXN0fEhUTUxDb2xsZWN0aW9ufSBub2RlTGlzdA0KICogQHBhcmFtIHtTdHJpbmd9IHR5cGUNCiAqIEBwYXJhbSB7RnVuY3Rpb259IGNhbGxiYWNrDQogKiBAcmV0dXJuIHtPYmplY3R9DQogKi8NCmZ1bmN0aW9uIGxpc3Rlbk5vZGVMaXN0KG5vZGVMaXN0LCB0eXBlLCBjYWxsYmFjaykgew0KICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwobm9kZUxpc3QsIGZ1bmN0aW9uKG5vZGUpIHsNCiAgICAgICAgbm9kZS5hZGRFdmVudExpc3RlbmVyKHR5cGUsIGNhbGxiYWNrKTsNCiAgICB9KTsNCg0KICAgIHJldHVybiB7DQogICAgICAgIGRlc3Ryb3k6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChub2RlTGlzdCwgZnVuY3Rpb24obm9kZSkgew0KICAgICAgICAgICAgICAgIG5vZGUucmVtb3ZlRXZlbnRMaXN0ZW5lcih0eXBlLCBjYWxsYmFjayk7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCn0NCg0KLyoqDQogKiBBZGQgYW4gZXZlbnQgbGlzdGVuZXIgdG8gYSBzZWxlY3Rvcg0KICogYW5kIHJldHVybnMgYSByZW1vdmUgbGlzdGVuZXIgZnVuY3Rpb24uDQogKg0KICogQHBhcmFtIHtTdHJpbmd9IHNlbGVjdG9yDQogKiBAcGFyYW0ge1N0cmluZ30gdHlwZQ0KICogQHBhcmFtIHtGdW5jdGlvbn0gY2FsbGJhY2sNCiAqIEByZXR1cm4ge09iamVjdH0NCiAqLw0KZnVuY3Rpb24gbGlzdGVuU2VsZWN0b3Ioc2VsZWN0b3IsIHR5cGUsIGNhbGxiYWNrKSB7DQogICAgcmV0dXJuIGRlbGVnYXRlKGRvY3VtZW50LmJvZHksIHNlbGVjdG9yLCB0eXBlLCBjYWxsYmFjayk7DQp9DQoNCm1vZHVsZS5leHBvcnRzID0gbGlzdGVuOw0KDQoNCi8qKiovIH0pLA0KLyogMiAqLw0KLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykgew0KDQpmdW5jdGlvbiBFICgpIHsNCiAgLy8gS2VlcCB0aGlzIGVtcHR5IHNvIGl0J3MgZWFzaWVyIHRvIGluaGVyaXQgZnJvbQ0KICAvLyAodmlhIGh0dHBzOi8vZ2l0aHViLmNvbS9saXBzbWFjayBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9zY290dGNvcmdhbi90aW55LWVtaXR0ZXIvaXNzdWVzLzMpDQp9DQoNCkUucHJvdG90eXBlID0gew0KICBvbjogZnVuY3Rpb24gKG5hbWUsIGNhbGxiYWNrLCBjdHgpIHsNCiAgICB2YXIgZSA9IHRoaXMuZSB8fCAodGhpcy5lID0ge30pOw0KDQogICAgKGVbbmFtZV0gfHwgKGVbbmFtZV0gPSBbXSkpLnB1c2goew0KICAgICAgZm46IGNhbGxiYWNrLA0KICAgICAgY3R4OiBjdHgNCiAgICB9KTsNCg0KICAgIHJldHVybiB0aGlzOw0KICB9LA0KDQogIG9uY2U6IGZ1bmN0aW9uIChuYW1lLCBjYWxsYmFjaywgY3R4KSB7DQogICAgdmFyIHNlbGYgPSB0aGlzOw0KICAgIGZ1bmN0aW9uIGxpc3RlbmVyICgpIHsNCiAgICAgIHNlbGYub2ZmKG5hbWUsIGxpc3RlbmVyKTsNCiAgICAgIGNhbGxiYWNrLmFwcGx5KGN0eCwgYXJndW1lbnRzKTsNCiAgICB9Ow0KDQogICAgbGlzdGVuZXIuXyA9IGNhbGxiYWNrDQogICAgcmV0dXJuIHRoaXMub24obmFtZSwgbGlzdGVuZXIsIGN0eCk7DQogIH0sDQoNCiAgZW1pdDogZnVuY3Rpb24gKG5hbWUpIHsNCiAgICB2YXIgZGF0YSA9IFtdLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAxKTsNCiAgICB2YXIgZXZ0QXJyID0gKCh0aGlzLmUgfHwgKHRoaXMuZSA9IHt9KSlbbmFtZV0gfHwgW10pLnNsaWNlKCk7DQogICAgdmFyIGkgPSAwOw0KICAgIHZhciBsZW4gPSBldnRBcnIubGVuZ3RoOw0KDQogICAgZm9yIChpOyBpIDwgbGVuOyBpKyspIHsNCiAgICAgIGV2dEFycltpXS5mbi5hcHBseShldnRBcnJbaV0uY3R4LCBkYXRhKTsNCiAgICB9DQoNCiAgICByZXR1cm4gdGhpczsNCiAgfSwNCg0KICBvZmY6IGZ1bmN0aW9uIChuYW1lLCBjYWxsYmFjaykgew0KICAgIHZhciBlID0gdGhpcy5lIHx8ICh0aGlzLmUgPSB7fSk7DQogICAgdmFyIGV2dHMgPSBlW25hbWVdOw0KICAgIHZhciBsaXZlRXZlbnRzID0gW107DQoNCiAgICBpZiAoZXZ0cyAmJiBjYWxsYmFjaykgew0KICAgICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGV2dHMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHsNCiAgICAgICAgaWYgKGV2dHNbaV0uZm4gIT09IGNhbGxiYWNrICYmIGV2dHNbaV0uZm4uXyAhPT0gY2FsbGJhY2spDQogICAgICAgICAgbGl2ZUV2ZW50cy5wdXNoKGV2dHNbaV0pOw0KICAgICAgfQ0KICAgIH0NCg0KICAgIC8vIFJlbW92ZSBldmVudCBmcm9tIHF1ZXVlIHRvIHByZXZlbnQgbWVtb3J5IGxlYWsNCiAgICAvLyBTdWdnZXN0ZWQgYnkgaHR0cHM6Ly9naXRodWIuY29tL2xhemQNCiAgICAvLyBSZWY6IGh0dHBzOi8vZ2l0aHViLmNvbS9zY290dGNvcmdhbi90aW55LWVtaXR0ZXIvY29tbWl0L2M2ZWJmYWE5YmM5NzNiMzNkMTEwYTg0YTMwNzc0MmI3Y2Y5NGM5NTMjY29tbWl0Y29tbWVudC01MDI0OTEwDQoNCiAgICAobGl2ZUV2ZW50cy5sZW5ndGgpDQogICAgICA/IGVbbmFtZV0gPSBsaXZlRXZlbnRzDQogICAgICA6IGRlbGV0ZSBlW25hbWVdOw0KDQogICAgcmV0dXJuIHRoaXM7DQogIH0NCn07DQoNCm1vZHVsZS5leHBvcnRzID0gRTsNCg0KDQovKioqLyB9KSwNCi8qIDMgKi8NCi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHsNCg0KdmFyIF9fV0VCUEFDS19BTURfREVGSU5FX0ZBQ1RPUllfXywgX19XRUJQQUNLX0FNRF9ERUZJTkVfQVJSQVlfXywgX19XRUJQQUNLX0FNRF9ERUZJTkVfUkVTVUxUX187KGZ1bmN0aW9uIChnbG9iYWwsIGZhY3RvcnkpIHsNCiAgICBpZiAodHJ1ZSkgew0KICAgICAgICAhKF9fV0VCUEFDS19BTURfREVGSU5FX0FSUkFZX18gPSBbbW9kdWxlLCBfX3dlYnBhY2tfcmVxdWlyZV9fKDApLCBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpLCBfX3dlYnBhY2tfcmVxdWlyZV9fKDEpXSwgX19XRUJQQUNLX0FNRF9ERUZJTkVfRkFDVE9SWV9fID0gKGZhY3RvcnkpLA0KCQkJCV9fV0VCUEFDS19BTURfREVGSU5FX1JFU1VMVF9fID0gKHR5cGVvZiBfX1dFQlBBQ0tfQU1EX0RFRklORV9GQUNUT1JZX18gPT09ICdmdW5jdGlvbicgPw0KCQkJCShfX1dFQlBBQ0tfQU1EX0RFRklORV9GQUNUT1JZX18uYXBwbHkoZXhwb3J0cywgX19XRUJQQUNLX0FNRF9ERUZJTkVfQVJSQVlfXykpIDogX19XRUJQQUNLX0FNRF9ERUZJTkVfRkFDVE9SWV9fKSwNCgkJCQlfX1dFQlBBQ0tfQU1EX0RFRklORV9SRVNVTFRfXyAhPT0gdW5kZWZpbmVkICYmIChtb2R1bGUuZXhwb3J0cyA9IF9fV0VCUEFDS19BTURfREVGSU5FX1JFU1VMVF9fKSk7DQogICAgfSBlbHNlIGlmICh0eXBlb2YgZXhwb3J0cyAhPT0gInVuZGVmaW5lZCIpIHsNCiAgICAgICAgZmFjdG9yeShtb2R1bGUsIHJlcXVpcmUoJy4vY2xpcGJvYXJkLWFjdGlvbicpLCByZXF1aXJlKCd0aW55LWVtaXR0ZXInKSwgcmVxdWlyZSgnZ29vZC1saXN0ZW5lcicpKTsNCiAgICB9IGVsc2Ugew0KICAgICAgICB2YXIgbW9kID0gew0KICAgICAgICAgICAgZXhwb3J0czoge30NCiAgICAgICAgfTsNCiAgICAgICAgZmFjdG9yeShtb2QsIGdsb2JhbC5jbGlwYm9hcmRBY3Rpb24sIGdsb2JhbC50aW55RW1pdHRlciwgZ2xvYmFsLmdvb2RMaXN0ZW5lcik7DQogICAgICAgIGdsb2JhbC5jbGlwYm9hcmQgPSBtb2QuZXhwb3J0czsNCiAgICB9DQp9KSh0aGlzLCBmdW5jdGlvbiAobW9kdWxlLCBfY2xpcGJvYXJkQWN0aW9uLCBfdGlueUVtaXR0ZXIsIF9nb29kTGlzdGVuZXIpIHsNCiAgICAndXNlIHN0cmljdCc7DQoNCiAgICB2YXIgX2NsaXBib2FyZEFjdGlvbjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9jbGlwYm9hcmRBY3Rpb24pOw0KDQogICAgdmFyIF90aW55RW1pdHRlcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF90aW55RW1pdHRlcik7DQoNCiAgICB2YXIgX2dvb2RMaXN0ZW5lcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9nb29kTGlzdGVuZXIpOw0KDQogICAgZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsNCiAgICAgICAgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsNCiAgICAgICAgICAgIGRlZmF1bHQ6IG9iag0KICAgICAgICB9Ow0KICAgIH0NCg0KICAgIHZhciBfdHlwZW9mID0gdHlwZW9mIFN5bWJvbCA9PT0gImZ1bmN0aW9uIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSAic3ltYm9sIiA/IGZ1bmN0aW9uIChvYmopIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiBvYmo7DQogICAgfSA6IGZ1bmN0aW9uIChvYmopIHsNCiAgICAgICAgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSAiZnVuY3Rpb24iICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/ICJzeW1ib2wiIDogdHlwZW9mIG9iajsNCiAgICB9Ow0KDQogICAgZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3Rvcikgew0KICAgICAgICBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgew0KICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIik7DQogICAgICAgIH0NCiAgICB9DQoNCiAgICB2YXIgX2NyZWF0ZUNsYXNzID0gZnVuY3Rpb24gKCkgew0KICAgICAgICBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsNCiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsNCiAgICAgICAgICAgICAgICB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOw0KICAgICAgICAgICAgICAgIGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsNCiAgICAgICAgICAgICAgICBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgaWYgKCJ2YWx1ZSIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsNCiAgICAgICAgICAgIGlmIChwcm90b1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7DQogICAgICAgICAgICBpZiAoc3RhdGljUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsNCiAgICAgICAgICAgIHJldHVybiBDb25zdHJ1Y3RvcjsNCiAgICAgICAgfTsNCiAgICB9KCk7DQoNCiAgICBmdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7DQogICAgICAgIGlmICghc2VsZikgew0KICAgICAgICAgICAgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWQiKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBjYWxsICYmICh0eXBlb2YgY2FsbCA9PT0gIm9iamVjdCIgfHwgdHlwZW9mIGNhbGwgPT09ICJmdW5jdGlvbiIpID8gY2FsbCA6IHNlbGY7DQogICAgfQ0KDQogICAgZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7DQogICAgICAgIGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gImZ1bmN0aW9uIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7DQogICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiwgbm90ICIgKyB0eXBlb2Ygc3VwZXJDbGFzcyk7DQogICAgICAgIH0NCg0KICAgICAgICBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsNCiAgICAgICAgICAgIGNvbnN0cnVjdG9yOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHN1YkNsYXNzLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgaWYgKHN1cGVyQ2xhc3MpIE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcykgOiBzdWJDbGFzcy5fX3Byb3RvX18gPSBzdXBlckNsYXNzOw0KICAgIH0NCg0KICAgIHZhciBDbGlwYm9hcmQgPSBmdW5jdGlvbiAoX0VtaXR0ZXIpIHsNCiAgICAgICAgX2luaGVyaXRzKENsaXBib2FyZCwgX0VtaXR0ZXIpOw0KDQogICAgICAgIC8qKg0KICAgICAgICAgKiBAcGFyYW0ge1N0cmluZ3xIVE1MRWxlbWVudHxIVE1MQ29sbGVjdGlvbnxOb2RlTGlzdH0gdHJpZ2dlcg0KICAgICAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucw0KICAgICAgICAgKi8NCiAgICAgICAgZnVuY3Rpb24gQ2xpcGJvYXJkKHRyaWdnZXIsIG9wdGlvbnMpIHsNCiAgICAgICAgICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBDbGlwYm9hcmQpOw0KDQogICAgICAgICAgICB2YXIgX3RoaXMgPSBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCAoQ2xpcGJvYXJkLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2YoQ2xpcGJvYXJkKSkuY2FsbCh0aGlzKSk7DQoNCiAgICAgICAgICAgIF90aGlzLnJlc29sdmVPcHRpb25zKG9wdGlvbnMpOw0KICAgICAgICAgICAgX3RoaXMubGlzdGVuQ2xpY2sodHJpZ2dlcik7DQogICAgICAgICAgICByZXR1cm4gX3RoaXM7DQogICAgICAgIH0NCg0KICAgICAgICAvKioNCiAgICAgICAgICogRGVmaW5lcyBpZiBhdHRyaWJ1dGVzIHdvdWxkIGJlIHJlc29sdmVkIHVzaW5nIGludGVybmFsIHNldHRlciBmdW5jdGlvbnMNCiAgICAgICAgICogb3IgY3VzdG9tIGZ1bmN0aW9ucyB0aGF0IHdlcmUgcGFzc2VkIGluIHRoZSBjb25zdHJ1Y3Rvci4NCiAgICAgICAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMNCiAgICAgICAgICovDQoNCg0KICAgICAgICBfY3JlYXRlQ2xhc3MoQ2xpcGJvYXJkLCBbew0KICAgICAgICAgICAga2V5OiAncmVzb2x2ZU9wdGlvbnMnLA0KICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIHJlc29sdmVPcHRpb25zKCkgew0KICAgICAgICAgICAgICAgIHZhciBvcHRpb25zID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7fTsNCg0KICAgICAgICAgICAgICAgIHRoaXMuYWN0aW9uID0gdHlwZW9mIG9wdGlvbnMuYWN0aW9uID09PSAnZnVuY3Rpb24nID8gb3B0aW9ucy5hY3Rpb24gOiB0aGlzLmRlZmF1bHRBY3Rpb247DQogICAgICAgICAgICAgICAgdGhpcy50YXJnZXQgPSB0eXBlb2Ygb3B0aW9ucy50YXJnZXQgPT09ICdmdW5jdGlvbicgPyBvcHRpb25zLnRhcmdldCA6IHRoaXMuZGVmYXVsdFRhcmdldDsNCiAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSB0eXBlb2Ygb3B0aW9ucy50ZXh0ID09PSAnZnVuY3Rpb24nID8gb3B0aW9ucy50ZXh0IDogdGhpcy5kZWZhdWx0VGV4dDsNCiAgICAgICAgICAgICAgICB0aGlzLmNvbnRhaW5lciA9IF90eXBlb2Yob3B0aW9ucy5jb250YWluZXIpID09PSAnb2JqZWN0JyA/IG9wdGlvbnMuY29udGFpbmVyIDogZG9jdW1lbnQuYm9keTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwgew0KICAgICAgICAgICAga2V5OiAnbGlzdGVuQ2xpY2snLA0KICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIGxpc3RlbkNsaWNrKHRyaWdnZXIpIHsNCiAgICAgICAgICAgICAgICB2YXIgX3RoaXMyID0gdGhpczsNCg0KICAgICAgICAgICAgICAgIHRoaXMubGlzdGVuZXIgPSAoMCwgX2dvb2RMaXN0ZW5lcjIuZGVmYXVsdCkodHJpZ2dlciwgJ2NsaWNrJywgZnVuY3Rpb24gKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF90aGlzMi5vbkNsaWNrKGUpOw0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9LCB7DQogICAgICAgICAgICBrZXk6ICdvbkNsaWNrJywNCiAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBvbkNsaWNrKGUpIHsNCiAgICAgICAgICAgICAgICB2YXIgdHJpZ2dlciA9IGUuZGVsZWdhdGVUYXJnZXQgfHwgZS5jdXJyZW50VGFyZ2V0Ow0KDQogICAgICAgICAgICAgICAgaWYgKHRoaXMuY2xpcGJvYXJkQWN0aW9uKSB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuY2xpcGJvYXJkQWN0aW9uID0gbnVsbDsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICB0aGlzLmNsaXBib2FyZEFjdGlvbiA9IG5ldyBfY2xpcGJvYXJkQWN0aW9uMi5kZWZhdWx0KHsNCiAgICAgICAgICAgICAgICAgICAgYWN0aW9uOiB0aGlzLmFjdGlvbih0cmlnZ2VyKSwNCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiB0aGlzLnRhcmdldCh0cmlnZ2VyKSwNCiAgICAgICAgICAgICAgICAgICAgdGV4dDogdGhpcy50ZXh0KHRyaWdnZXIpLA0KICAgICAgICAgICAgICAgICAgICBjb250YWluZXI6IHRoaXMuY29udGFpbmVyLA0KICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiB0cmlnZ2VyLA0KICAgICAgICAgICAgICAgICAgICBlbWl0dGVyOiB0aGlzDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0sIHsNCiAgICAgICAgICAgIGtleTogJ2RlZmF1bHRBY3Rpb24nLA0KICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIGRlZmF1bHRBY3Rpb24odHJpZ2dlcikgew0KICAgICAgICAgICAgICAgIHJldHVybiBnZXRBdHRyaWJ1dGVWYWx1ZSgnYWN0aW9uJywgdHJpZ2dlcik7DQogICAgICAgICAgICB9DQogICAgICAgIH0sIHsNCiAgICAgICAgICAgIGtleTogJ2RlZmF1bHRUYXJnZXQnLA0KICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIGRlZmF1bHRUYXJnZXQodHJpZ2dlcikgew0KICAgICAgICAgICAgICAgIHZhciBzZWxlY3RvciA9IGdldEF0dHJpYnV0ZVZhbHVlKCd0YXJnZXQnLCB0cmlnZ2VyKTsNCg0KICAgICAgICAgICAgICAgIGlmIChzZWxlY3Rvcikgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzZWxlY3Rvcik7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9LCB7DQogICAgICAgICAgICBrZXk6ICdkZWZhdWx0VGV4dCcsDQogICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gZGVmYXVsdFRleHQodHJpZ2dlcikgew0KICAgICAgICAgICAgICAgIHJldHVybiBnZXRBdHRyaWJ1dGVWYWx1ZSgndGV4dCcsIHRyaWdnZXIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9LCB7DQogICAgICAgICAgICBrZXk6ICdkZXN0cm95JywNCiAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBkZXN0cm95KCkgew0KICAgICAgICAgICAgICAgIHRoaXMubGlzdGVuZXIuZGVzdHJveSgpOw0KDQogICAgICAgICAgICAgICAgaWYgKHRoaXMuY2xpcGJvYXJkQWN0aW9uKSB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuY2xpcGJvYXJkQWN0aW9uLmRlc3Ryb3koKTsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy5jbGlwYm9hcmRBY3Rpb24gPSBudWxsOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfV0sIFt7DQogICAgICAgICAgICBrZXk6ICdpc1N1cHBvcnRlZCcsDQogICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gaXNTdXBwb3J0ZWQoKSB7DQogICAgICAgICAgICAgICAgdmFyIGFjdGlvbiA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDogWydjb3B5JywgJ2N1dCddOw0KDQogICAgICAgICAgICAgICAgdmFyIGFjdGlvbnMgPSB0eXBlb2YgYWN0aW9uID09PSAnc3RyaW5nJyA/IFthY3Rpb25dIDogYWN0aW9uOw0KICAgICAgICAgICAgICAgIHZhciBzdXBwb3J0ID0gISFkb2N1bWVudC5xdWVyeUNvbW1hbmRTdXBwb3J0ZWQ7DQoNCiAgICAgICAgICAgICAgICBhY3Rpb25zLmZvckVhY2goZnVuY3Rpb24gKGFjdGlvbikgew0KICAgICAgICAgICAgICAgICAgICBzdXBwb3J0ID0gc3VwcG9ydCAmJiAhIWRvY3VtZW50LnF1ZXJ5Q29tbWFuZFN1cHBvcnRlZChhY3Rpb24pOw0KICAgICAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICAgICAgcmV0dXJuIHN1cHBvcnQ7DQogICAgICAgICAgICB9DQogICAgICAgIH1dKTsNCg0KICAgICAgICByZXR1cm4gQ2xpcGJvYXJkOw0KICAgIH0oX3RpbnlFbWl0dGVyMi5kZWZhdWx0KTsNCg0KICAgIC8qKg0KICAgICAqIEhlbHBlciBmdW5jdGlvbiB0byByZXRyaWV2ZSBhdHRyaWJ1dGUgdmFsdWUuDQogICAgICogQHBhcmFtIHtTdHJpbmd9IHN1ZmZpeA0KICAgICAqIEBwYXJhbSB7RWxlbWVudH0gZWxlbWVudA0KICAgICAqLw0KICAgIGZ1bmN0aW9uIGdldEF0dHJpYnV0ZVZhbHVlKHN1ZmZpeCwgZWxlbWVudCkgew0KICAgICAgICB2YXIgYXR0cmlidXRlID0gJ2RhdGEtY2xpcGJvYXJkLScgKyBzdWZmaXg7DQoNCiAgICAgICAgaWYgKCFlbGVtZW50Lmhhc0F0dHJpYnV0ZShhdHRyaWJ1dGUpKSB7DQogICAgICAgICAgICByZXR1cm47DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gZWxlbWVudC5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKTsNCiAgICB9DQoNCiAgICBtb2R1bGUuZXhwb3J0cyA9IENsaXBib2FyZDsNCn0pOw0KDQovKioqLyB9KSwNCi8qIDQgKi8NCi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHsNCg0KdmFyIERPQ1VNRU5UX05PREVfVFlQRSA9IDk7DQoNCi8qKg0KICogQSBwb2x5ZmlsbCBmb3IgRWxlbWVudC5tYXRjaGVzKCkNCiAqLw0KaWYgKHR5cGVvZiBFbGVtZW50ICE9PSAndW5kZWZpbmVkJyAmJiAhRWxlbWVudC5wcm90b3R5cGUubWF0Y2hlcykgew0KICAgIHZhciBwcm90byA9IEVsZW1lbnQucHJvdG90eXBlOw0KDQogICAgcHJvdG8ubWF0Y2hlcyA9IHByb3RvLm1hdGNoZXNTZWxlY3RvciB8fA0KICAgICAgICAgICAgICAgICAgICBwcm90by5tb3pNYXRjaGVzU2VsZWN0b3IgfHwNCiAgICAgICAgICAgICAgICAgICAgcHJvdG8ubXNNYXRjaGVzU2VsZWN0b3IgfHwNCiAgICAgICAgICAgICAgICAgICAgcHJvdG8ub01hdGNoZXNTZWxlY3RvciB8fA0KICAgICAgICAgICAgICAgICAgICBwcm90by53ZWJraXRNYXRjaGVzU2VsZWN0b3I7DQp9DQoNCi8qKg0KICogRmluZHMgdGhlIGNsb3Nlc3QgcGFyZW50IHRoYXQgbWF0Y2hlcyBhIHNlbGVjdG9yLg0KICoNCiAqIEBwYXJhbSB7RWxlbWVudH0gZWxlbWVudA0KICogQHBhcmFtIHtTdHJpbmd9IHNlbGVjdG9yDQogKiBAcmV0dXJuIHtGdW5jdGlvbn0NCiAqLw0KZnVuY3Rpb24gY2xvc2VzdCAoZWxlbWVudCwgc2VsZWN0b3IpIHsNCiAgICB3aGlsZSAoZWxlbWVudCAmJiBlbGVtZW50Lm5vZGVUeXBlICE9PSBET0NVTUVOVF9OT0RFX1RZUEUpIHsNCiAgICAgICAgaWYgKHR5cGVvZiBlbGVtZW50Lm1hdGNoZXMgPT09ICdmdW5jdGlvbicgJiYNCiAgICAgICAgICAgIGVsZW1lbnQubWF0Y2hlcyhzZWxlY3RvcikpIHsNCiAgICAgICAgICByZXR1cm4gZWxlbWVudDsNCiAgICAgICAgfQ0KICAgICAgICBlbGVtZW50ID0gZWxlbWVudC5wYXJlbnROb2RlOw0KICAgIH0NCn0NCg0KbW9kdWxlLmV4cG9ydHMgPSBjbG9zZXN0Ow0KDQoNCi8qKiovIH0pLA0KLyogNSAqLw0KLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykgew0KDQp2YXIgY2xvc2VzdCA9IF9fd2VicGFja19yZXF1aXJlX18oNCk7DQoNCi8qKg0KICogRGVsZWdhdGVzIGV2ZW50IHRvIGEgc2VsZWN0b3IuDQogKg0KICogQHBhcmFtIHtFbGVtZW50fSBlbGVtZW50DQogKiBAcGFyYW0ge1N0cmluZ30gc2VsZWN0b3INCiAqIEBwYXJhbSB7U3RyaW5nfSB0eXBlDQogKiBAcGFyYW0ge0Z1bmN0aW9ufSBjYWxsYmFjaw0KICogQHBhcmFtIHtCb29sZWFufSB1c2VDYXB0dXJlDQogKiBAcmV0dXJuIHtPYmplY3R9DQogKi8NCmZ1bmN0aW9uIF9kZWxlZ2F0ZShlbGVtZW50LCBzZWxlY3RvciwgdHlwZSwgY2FsbGJhY2ssIHVzZUNhcHR1cmUpIHsNCiAgICB2YXIgbGlzdGVuZXJGbiA9IGxpc3RlbmVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7DQoNCiAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIodHlwZSwgbGlzdGVuZXJGbiwgdXNlQ2FwdHVyZSk7DQoNCiAgICByZXR1cm4gew0KICAgICAgICBkZXN0cm95OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcih0eXBlLCBsaXN0ZW5lckZuLCB1c2VDYXB0dXJlKTsNCiAgICAgICAgfQ0KICAgIH0NCn0NCg0KLyoqDQogKiBEZWxlZ2F0ZXMgZXZlbnQgdG8gYSBzZWxlY3Rvci4NCiAqDQogKiBAcGFyYW0ge0VsZW1lbnR8U3RyaW5nfEFycmF5fSBbZWxlbWVudHNdDQogKiBAcGFyYW0ge1N0cmluZ30gc2VsZWN0b3INCiAqIEBwYXJhbSB7U3RyaW5nfSB0eXBlDQogKiBAcGFyYW0ge0Z1bmN0aW9ufSBjYWxsYmFjaw0KICogQHBhcmFtIHtCb29sZWFufSB1c2VDYXB0dXJlDQogKiBAcmV0dXJuIHtPYmplY3R9DQogKi8NCmZ1bmN0aW9uIGRlbGVnYXRlKGVsZW1lbnRzLCBzZWxlY3RvciwgdHlwZSwgY2FsbGJhY2ssIHVzZUNhcHR1cmUpIHsNCiAgICAvLyBIYW5kbGUgdGhlIHJlZ3VsYXIgRWxlbWVudCB1c2FnZQ0KICAgIGlmICh0eXBlb2YgZWxlbWVudHMuYWRkRXZlbnRMaXN0ZW5lciA9PT0gJ2Z1bmN0aW9uJykgew0KICAgICAgICByZXR1cm4gX2RlbGVnYXRlLmFwcGx5KG51bGwsIGFyZ3VtZW50cyk7DQogICAgfQ0KDQogICAgLy8gSGFuZGxlIEVsZW1lbnQtbGVzcyB1c2FnZSwgaXQgZGVmYXVsdHMgdG8gZ2xvYmFsIGRlbGVnYXRpb24NCiAgICBpZiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHsNCiAgICAgICAgLy8gVXNlIGBkb2N1bWVudGAgYXMgdGhlIGZpcnN0IHBhcmFtZXRlciwgdGhlbiBhcHBseSBhcmd1bWVudHMNCiAgICAgICAgLy8gVGhpcyBpcyBhIHNob3J0IHdheSB0byAudW5zaGlmdCBgYXJndW1lbnRzYCB3aXRob3V0IHJ1bm5pbmcgaW50byBkZW9wdGltaXphdGlvbnMNCiAgICAgICAgcmV0dXJuIF9kZWxlZ2F0ZS5iaW5kKG51bGwsIGRvY3VtZW50KS5hcHBseShudWxsLCBhcmd1bWVudHMpOw0KICAgIH0NCg0KICAgIC8vIEhhbmRsZSBTZWxlY3Rvci1iYXNlZCB1c2FnZQ0KICAgIGlmICh0eXBlb2YgZWxlbWVudHMgPT09ICdzdHJpbmcnKSB7DQogICAgICAgIGVsZW1lbnRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChlbGVtZW50cyk7DQogICAgfQ0KDQogICAgLy8gSGFuZGxlIEFycmF5LWxpa2UgYmFzZWQgdXNhZ2UNCiAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGVsZW1lbnRzLCBmdW5jdGlvbiAoZWxlbWVudCkgew0KICAgICAgICByZXR1cm4gX2RlbGVnYXRlKGVsZW1lbnQsIHNlbGVjdG9yLCB0eXBlLCBjYWxsYmFjaywgdXNlQ2FwdHVyZSk7DQogICAgfSk7DQp9DQoNCi8qKg0KICogRmluZHMgY2xvc2VzdCBtYXRjaCBhbmQgaW52b2tlcyBjYWxsYmFjay4NCiAqDQogKiBAcGFyYW0ge0VsZW1lbnR9IGVsZW1lbnQNCiAqIEBwYXJhbSB7U3RyaW5nfSBzZWxlY3Rvcg0KICogQHBhcmFtIHtTdHJpbmd9IHR5cGUNCiAqIEBwYXJhbSB7RnVuY3Rpb259IGNhbGxiYWNrDQogKiBAcmV0dXJuIHtGdW5jdGlvbn0NCiAqLw0KZnVuY3Rpb24gbGlzdGVuZXIoZWxlbWVudCwgc2VsZWN0b3IsIHR5cGUsIGNhbGxiYWNrKSB7DQogICAgcmV0dXJuIGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgZS5kZWxlZ2F0ZVRhcmdldCA9IGNsb3Nlc3QoZS50YXJnZXQsIHNlbGVjdG9yKTsNCg0KICAgICAgICBpZiAoZS5kZWxlZ2F0ZVRhcmdldCkgew0KICAgICAgICAgICAgY2FsbGJhY2suY2FsbChlbGVtZW50LCBlKTsNCiAgICAgICAgfQ0KICAgIH0NCn0NCg0KbW9kdWxlLmV4cG9ydHMgPSBkZWxlZ2F0ZTsNCg0KDQovKioqLyB9KSwNCi8qIDYgKi8NCi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHsNCg0KLyoqDQogKiBDaGVjayBpZiBhcmd1bWVudCBpcyBhIEhUTUwgZWxlbWVudC4NCiAqDQogKiBAcGFyYW0ge09iamVjdH0gdmFsdWUNCiAqIEByZXR1cm4ge0Jvb2xlYW59DQogKi8NCmV4cG9ydHMubm9kZSA9IGZ1bmN0aW9uKHZhbHVlKSB7DQogICAgcmV0dXJuIHZhbHVlICE9PSB1bmRlZmluZWQNCiAgICAgICAgJiYgdmFsdWUgaW5zdGFuY2VvZiBIVE1MRWxlbWVudA0KICAgICAgICAmJiB2YWx1ZS5ub2RlVHlwZSA9PT0gMTsNCn07DQoNCi8qKg0KICogQ2hlY2sgaWYgYXJndW1lbnQgaXMgYSBsaXN0IG9mIEhUTUwgZWxlbWVudHMuDQogKg0KICogQHBhcmFtIHtPYmplY3R9IHZhbHVlDQogKiBAcmV0dXJuIHtCb29sZWFufQ0KICovDQpleHBvcnRzLm5vZGVMaXN0ID0gZnVuY3Rpb24odmFsdWUpIHsNCiAgICB2YXIgdHlwZSA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWx1ZSk7DQoNCiAgICByZXR1cm4gdmFsdWUgIT09IHVuZGVmaW5lZA0KICAgICAgICAmJiAodHlwZSA9PT0gJ1tvYmplY3QgTm9kZUxpc3RdJyB8fCB0eXBlID09PSAnW29iamVjdCBIVE1MQ29sbGVjdGlvbl0nKQ0KICAgICAgICAmJiAoJ2xlbmd0aCcgaW4gdmFsdWUpDQogICAgICAgICYmICh2YWx1ZS5sZW5ndGggPT09IDAgfHwgZXhwb3J0cy5ub2RlKHZhbHVlWzBdKSk7DQp9Ow0KDQovKioNCiAqIENoZWNrIGlmIGFyZ3VtZW50IGlzIGEgc3RyaW5nLg0KICoNCiAqIEBwYXJhbSB7T2JqZWN0fSB2YWx1ZQ0KICogQHJldHVybiB7Qm9vbGVhbn0NCiAqLw0KZXhwb3J0cy5zdHJpbmcgPSBmdW5jdGlvbih2YWx1ZSkgew0KICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnDQogICAgICAgIHx8IHZhbHVlIGluc3RhbmNlb2YgU3RyaW5nOw0KfTsNCg0KLyoqDQogKiBDaGVjayBpZiBhcmd1bWVudCBpcyBhIGZ1bmN0aW9uLg0KICoNCiAqIEBwYXJhbSB7T2JqZWN0fSB2YWx1ZQ0KICogQHJldHVybiB7Qm9vbGVhbn0NCiAqLw0KZXhwb3J0cy5mbiA9IGZ1bmN0aW9uKHZhbHVlKSB7DQogICAgdmFyIHR5cGUgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsdWUpOw0KDQogICAgcmV0dXJuIHR5cGUgPT09ICdbb2JqZWN0IEZ1bmN0aW9uXSc7DQp9Ow0KDQoNCi8qKiovIH0pLA0KLyogNyAqLw0KLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykgew0KDQpmdW5jdGlvbiBzZWxlY3QoZWxlbWVudCkgew0KICAgIHZhciBzZWxlY3RlZFRleHQ7DQoNCiAgICBpZiAoZWxlbWVudC5ub2RlTmFtZSA9PT0gJ1NFTEVDVCcpIHsNCiAgICAgICAgZWxlbWVudC5mb2N1cygpOw0KDQogICAgICAgIHNlbGVjdGVkVGV4dCA9IGVsZW1lbnQudmFsdWU7DQogICAgfQ0KICAgIGVsc2UgaWYgKGVsZW1lbnQubm9kZU5hbWUgPT09ICdJTlBVVCcgfHwgZWxlbWVudC5ub2RlTmFtZSA9PT0gJ1RFWFRBUkVBJykgew0KICAgICAgICB2YXIgaXNSZWFkT25seSA9IGVsZW1lbnQuaGFzQXR0cmlidXRlKCdyZWFkb25seScpOw0KDQogICAgICAgIGlmICghaXNSZWFkT25seSkgew0KICAgICAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3JlYWRvbmx5JywgJycpOw0KICAgICAgICB9DQoNCiAgICAgICAgZWxlbWVudC5zZWxlY3QoKTsNCiAgICAgICAgZWxlbWVudC5zZXRTZWxlY3Rpb25SYW5nZSgwLCBlbGVtZW50LnZhbHVlLmxlbmd0aCk7DQoNCiAgICAgICAgaWYgKCFpc1JlYWRPbmx5KSB7DQogICAgICAgICAgICBlbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgncmVhZG9ubHknKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHNlbGVjdGVkVGV4dCA9IGVsZW1lbnQudmFsdWU7DQogICAgfQ0KICAgIGVsc2Ugew0KICAgICAgICBpZiAoZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2NvbnRlbnRlZGl0YWJsZScpKSB7DQogICAgICAgICAgICBlbGVtZW50LmZvY3VzKCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpOw0KICAgICAgICB2YXIgcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpOw0KDQogICAgICAgIHJhbmdlLnNlbGVjdE5vZGVDb250ZW50cyhlbGVtZW50KTsNCiAgICAgICAgc2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcygpOw0KICAgICAgICBzZWxlY3Rpb24uYWRkUmFuZ2UocmFuZ2UpOw0KDQogICAgICAgIHNlbGVjdGVkVGV4dCA9IHNlbGVjdGlvbi50b1N0cmluZygpOw0KICAgIH0NCg0KICAgIHJldHVybiBzZWxlY3RlZFRleHQ7DQp9DQoNCm1vZHVsZS5leHBvcnRzID0gc2VsZWN0Ow0KDQoNCi8qKiovIH0pDQovKioqKioqLyBdKTsNCn0pOw=="}},"time_used":28,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":28,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/30288.59207aa2607ea1597287.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.027Z","timestamp":1785120634027,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/30288.59207aa2607ea1597287.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-c680\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5c097d633492d0a9673ea669bc2772c2\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":50816,"size_decoded":20318,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3072)","md5":"ea1d9d8d3342c88f33ec3b530e0573ef","sha1":"d655950fc76c40243ee9494c5fcc45e069dbaad3","sha256":"5c4b42f42930e52d140aec5e82b967b86ea0bc4581cfea3ecd33ca21c156520f","sha512":"4a85bff8bc70939b4386535712fa0ce2eae8d2f970a7e4c0f966b40eef502520b53f0bcc55b8062e0d4154ec40c589d4be511f57f11176afdb68166e3b090436","ssdeep":"1536:M/5WmDah7ltfnbgA/bllhJ9AwCh85Q9BO9X/tH78kJM:MZilpvbAR9By/5M","tlshash":"6e330ac572d6f0ab03d605e584bb5042f33d49a9b80d84a1f658e9d13c66c9e63b3fac","first_seen":"2026-07-23T22:46:45.786098Z","last_seen":"2026-07-27T05:29:38.643518Z","times_seen":109,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szMDI4OF0sezg2MDAyNShlKXtlLmV4cG9ydHM9e3BhaXI6InBhaXIteHdHc1NYUjAiLHh4Y2VwdGlvbmFsbHlzbWFsbGRvbm90dXNlYnJ2MTAyMzoieHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwIix4eHh4c21hbGw6Inh4eHhzbWFsbC14d0dzU1hSMCIseHh4c21hbGw6Inh4eHNtYWxsLXh3R3NTWFIwIix4eHNtYWxsOiJ4eHNtYWxsLXh3R3NTWFIwIix4c21hbGw6InhzbWFsbC14d0dzU1hSMCIsc21hbGw6InNtYWxsLXh3R3NTWFIwIixtZWRpdW06Im1lZGl1bS14d0dzU1hSMCIsbGFyZ2U6ImxhcmdlLXh3R3NTWFIwIix4bGFyZ2U6InhsYXJnZS14d0dzU1hSMCIseHhsYXJnZToieHhsYXJnZS14d0dzU1hSMCIseHh4bGFyZ2U6Inh4eGxhcmdlLXh3R3NTWFIwIixsb2dvOiJsb2dvLXh3R3NTWFIwIixza2VsZXRvbjoic2tlbGV0b24teHdHc1NYUjAiLGVtcHR5OiJlbXB0eS14d0dzU1hSMCJ9fSwxNDAwMTcoZSl7ZS5leHBvcnRzPXtsb2dvOiJsb2dvLVZDTkt1YldxIixoaWRkZW46ImhpZGRlbi1WQ05LdWJXcSIseHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzOiJ4eGNlcHRpb25hbGx5c21hbGxkb25vdHVzZWJydjEwMjMtVkNOS3ViV3EiLHh4eHNtYWxsOiJ4eHhzbWFsbC1WQ05LdWJXcSIseHhzbWFsbDoieHhzbWFsbC1WQ05LdWJXcSIseHNtYWxsOiJ4c21hbGwtVkNOS3ViV3EiLHNtYWxsOiJzbWFsbC1WQ05LdWJXcSIsbWVkaXVtOiJtZWRpdW0tVkNOS3ViV3EiLGxhcmdlOiJsYXJnZS1WQ05LdWJXcSIseGxhcmdlOiJ4bGFyZ2UtVkNOS3ViV3EiLHh4bGFyZ2U6Inh4bGFyZ2UtVkNOS3ViV3EiLHh4eGxhcmdlOiJ4eHhsYXJnZS1WQ05LdWJXcSIsc2tlbGV0b246InNrZWxldG9uLVZDTkt1YldxIixsZXR0ZXI6ImxldHRlci1WQ05LdWJXcSJ9fSw5NzUyODUoZSl7ZS5leHBvcnRzPXt3cmFwcGVyOiJ3cmFwcGVyLWhjdDJ5SnZLIixhbmltYXRlZDoiYW5pbWF0ZWQtaGN0MnlKdksiLHB1bHNhdGlvbjoicHVsc2F0aW9uLWhjdDJ5SnZLIn19LDM5OTA5MihlKXtlLmV4cG9ydHM9eyJjc3MtdmFsdWUtY29weXJpZ2h0LXRyYW5zaXRpb24tcGFyYW1zIjoiLjZzIDBzIGN1YmljLWJlemllciguNCwgLjAxLCAuMjIsIDEpIiwiY3NzLXZhbHVlLWNvcHlyaWdodC10cmFuc2l0aW9uLXBhcmFtcy1oYWxmLXRpbWUiOiIuM3MgMHMgY3ViaWMtYmV6aWVyKC40LCAuMDEsIC4yMiwgMSkiLGxhYmVsOiJsYWJlbC1kemJkN2x5ViIsbG9nb1dyYXA6ImxvZ29XcmFwLWR6YmQ3bHlWIixleHBhbmRlZFdpdGhUcmFuc2l0aW9uOiJleHBhbmRlZFdpdGhUcmFuc2l0aW9uLWR6YmQ3bHlWIixleHBhbmRlZEJ5Q2xpY2s6ImV4cGFuZGVkQnlDbGljay1kemJkN2x5ViIsc3RhcnQ6InN0YXJ0LWR6YmQ3bHlWIixlbmQ6ImVuZC1kemJkN2x5ViIsc25hcDoic25hcC1kemJkN2x5ViIsdG9wOiJ0b3AtZHpiZDdseVYiLGJvdHRvbToiYm90dG9tLWR6YmQ3bHlWIixsYXJnZToibGFyZ2UtZHpiZDdseVYiLGV4cGFuZGVkOiJleHBhbmRlZC1kemJkN2x5ViIsbGFiZWxfX2xpbms6ImxhYmVsX19saW5rLWR6YmQ3bHlWIn19LDU2OTM5OChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtpc0ZlYXR1cmVFbmFibGVkOigpPT5wLG9uRmVhdHVyZXNTdGF0ZUNoYW5nZWQ6KCk9PmN9KTt2YXIgcj1uKDk0ODM4MCksaT1uKDM3NzIyNiksbz1uKDg1NjE5Nikscz1uKDkzMjM2NSk7Y29uc3QgYT1uZXcgci5EZWxlZ2F0ZSxjPSgpPT5hLGw9ImZvcmNlZmVhdHVyZXRvZ2dsZS4iO2NvbnN0IHU9bmV3IGNsYXNze2VuYWJsZUZlYXR1cmUoZSl7cy5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKGwrZSwidHJ1ZSIpLGEuZmlyZShlKX1kaXNhYmxlRmVhdHVyZShlKXtzLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0obCtlLCJmYWxzZSIpLGEuZmlyZShlKX1yZXNldEZlYXR1cmUoZSl7cy5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGwrZSksYS5maXJlKGUpfW9uRmVhdHVyZXNTdGF0ZUNoYW5nZWQoKXtyZXR1cm4gYX19O2Z1bmN0aW9uIGQoZSx0KXtyZXR1cm4oIWVbdF18fC0xIT09ZVt0XSkmJighISgidHJ1ZSI9PT1zLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0obCt0KXx8d2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJiJ0cnVlIj09PXdpbmRvdy51c2VyPy5zZXR0aW5ncz8uW2wrdF0pfHwhKCJmYWxzZSI9PT1zLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0obCt0KXx8d2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJiJmYWxzZSI9PT13aW5kb3cudXNlcj8uc2V0dGluZ3M/LltsK3RdKSYmKCEhZVt0XSYmKDE9PT1lW3RdfHwoMCxvLnNob3VsZEFmZmVjdFVzZXIpKHQsZVt0XSkpKSl9d2luZG93LlRyYWRpbmdWaWV3PXdpbmRvdy5UcmFkaW5nVmlld3x8e30sd2luZG93LlRyYWRpbmdWaWV3LkZlYXR1cmVUb2dnbGU9dTtjb25zdCBwPShnPXdpbmRvdy5mZWF0dXJlVG9nZ2xlU3RhdGV8fHt9LCgwLGkub25XaWRnZXQpKCl8fFByb21pc2UuYWxsKFtuLmUoODU0MzQpLG4uZSg3Mjg1KSxuLmUoMTM5OTMpXSkudGhlbihuLmJpbmQobiw1MDcyODUpKS50aGVuKChlPT57ZS5wdXNoU3RyZWFtTXVsdGlwbGV4ZXIub24oImZlYXR1cmV0b2dnbGUiLChlPT57Y29uc3QgdD1kKGcsZS5uYW1lKTtnW2UubmFtZV09ZS5zdGF0ZSx0IT09ZChnLGUubmFtZSkmJmEuZmlyZShlLm5hbWUpfSkpfSkpLGQuYmluZChudWxsLGcpKTt2YXIgZzt3aW5kb3cuVHJhZGluZ1ZpZXcuaXNGZWF0dXJlRW5hYmxlZD1wfSw3OTI2MTIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Z2V0RnJlc2hJbml0RGF0YTooKT0+bCxnZXRJbml0RGF0YTooKT0+Yyx1cGRhdGVJbml0RGF0YTooKT0+YX0pO3ZhciByPW4oMTM4NjM4KTtjb25zdCBpPSgwLG4oMjIxMDYxKS5nZXRMb2dnZXIpKCJDb21tb24uSW5pdERhdGEiKSxvPXdpbmRvdy5pbml0RGF0YXx8e307ZnVuY3Rpb24gcygpeyFmdW5jdGlvbigpe2NvbnN0IGU9d2luZG93O2UuaW5pdERhdGEmJmUuaW5pdERhdGEhPT1vJiYoT2JqZWN0LmFzc2lnbihvLGUuaW5pdERhdGEpLGUuaW5pdERhdGE9bykKfSgpO2NvbnN0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnc2NyaXB0W3R5cGU9ImFwcGxpY2F0aW9uL3Bycy5pbml0LWRhdGEranNvbiJdJyk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspe2NvbnN0IG49ZVt0XTt0cnl7Y29uc3QgZT1KU09OLnBhcnNlKCgwLHIuZW5zdXJlTm90TnVsbCkobi50ZXh0Q29udGVudCkpO09iamVjdC5hc3NpZ24obyxlKX1jYXRjaChlKXtpLmxvZ1dhcm4oYEZhaWxlZCB0byBwYXJzZSBpbml0RGF0YSBlbGVtZW50LiAke2V9YCl9ZmluYWxseXsoMCxyLmVuc3VyZU5vdE51bGwpKG4ucGFyZW50Tm9kZSkucmVtb3ZlQ2hpbGQobil9fWNvbnN0IHQ9by5jb250ZW50O3QmJm8uc3R1ZHlfbWV0YV9pbmZvX21hcCYmKHQuc3R1ZHlNZXRhSW5mb01hcD17Li4udC5zdHVkeU1ldGFJbmZvTWFwLC4uLm8uc3R1ZHlfbWV0YV9pbmZvX21hcH0pfWZ1bmN0aW9uIGEoKXtzKCl9ZnVuY3Rpb24gYygpe3JldHVybiBvfWZ1bmN0aW9uIGwoKXtyZXR1cm4gcygpLG99fSwxMTczMTMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7aXNPbk1vYmlsZUFwcFBhZ2U6KCk9PmksdXJsV2l0aE1vYmlsZUFwcFBhcmFtczooKT0+b30pO3ZhciByPW4oNTg3NDM2KTtmdW5jdGlvbiBpKGUsdD0hMSl7Y29uc3R7c2VhcmNoUGFyYW1zOm59PW5ldyBVUkwoU3RyaW5nKGxvY2F0aW9uKSk7bGV0IGk9InRydWUiPT09bi5nZXQoIm1vYmlsZWFwcF9uZXciKSxvPSJ0cnVlIj09PW4uZ2V0KCJtb2JpbGVhcHAiKTtpZighdCl7Y29uc3QgZT1yLmdldCgidHZfYXBwIil8fCIiO2l8fD1bImFuZHJvaWQiLCJhbmRyb2lkX25wcyJdLmluY2x1ZGVzKGUpLG98fD0iaW9zIj09PWV9cmV0dXJuISgibmV3IiE9PWUmJiJhbnkiIT09ZXx8IWkpfHwhKCJuZXciPT09ZXx8IW8pfWZ1bmN0aW9uIG8oZSx0PSExKXtpZihpKCJuZXciLHQpKXtjb25zdCB0PW5ldyBVUkwoZSxsb2NhdGlvbi5ocmVmKTt0LnNlYXJjaFBhcmFtcy5zZXQoIm1vYmlsZWFwcF9uZXciLCJ0cnVlIiksZT10LnRvU3RyaW5nKCl9aWYoaSgib2xkIix0KSl7Y29uc3QgdD1uZXcgVVJMKGUsbG9jYXRpb24uaHJlZik7dC5zZWFyY2hQYXJhbXMuc2V0KCJtb2JpbGVhcHAiLCJ0cnVlIiksZT10LnRvU3RyaW5nKCl9cmV0dXJuIGV9fSw5MzA1NjYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLnIodCksbi5kKHQse2RlZmF1bHQ6KCk9PkosZ2V0Qm9vbDooKT0+SSxnZXRGbG9hdDooKT0+TyxnZXRJbnQ6KCk9PkQsZ2V0SlNPTjooKT0+TSxnZXRWYWx1ZTooKT0+TixrZXlzOigpPT5CLGtleXNNYXNrOigpPT5XLGxvYWRlZDooKT0+Ryxsb2FkZWRNb2RlbDooKT0+cSxvblN5bmM6KCk9PmoscmVtb3ZlOigpPT5WLHNldEpTT046KCk9PkEsc2V0U2V0dGluZ3NBZGFwdGVyOigpPT5LLHNldFZhbHVlOigpPT5SLHN5bmM6KCk9Pkh9KTt2YXIgcj1uKDk0ODM4MCksaT1uKDIyMTA2MSksbz1uKDU0MDU3OCkscz1uKDkzMDIzMSksYT1uKDU2OTM5OCksYz1uKDkwOTc5OCksbD1uKDM3NzIyNiksdT1uKDM4NDAxNyksZD1uKDE1MjY5OSkscD1uKDkzMjM2NSk7d2luZG93LlRyYWRpbmdWaWV3PXdpbmRvdy5UcmFkaW5nVmlld3x8e307Y29uc3QgZz1bInMudHJhZGluZ3ZpZXcuY29tIiwiYmV0YWNkbi50cmFkaW5ndmlldy5jb20iXSxmPSgoMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1c2VfbG9jYWxzdG9yYWdlX2Zvcl9zZXR0aW5ncyIpLCJsb2NhbCI9PT13aW5kb3cuZW52aXJvbm1lbnQ/NWUzOjEyZTQpLG09KDAsbC5vbldpZGdldCkoKT8idHJhZGluZ3ZpZXctd2lkZ2V0IjoidHJhZGluZ3ZpZXciLGg9bSsiLiI7bGV0IHksdix3LGI9ITEsXz1udWxsLHg9e30sUz1bXTtjb25zdCBrPVsvXndpZGdldGJhclwud2lkZ2V0XC53YXRjaGxpc3QuKy8sLy4rcXVpY2tzJC8sL153aWRnZXRiYXJcLmxheW91dC1zZXR0aW5ncyQvLC9eQ2hhcnRTaWRlVG9vbGJhcldpZGdldFwudmlzaWJsZSQvLC9eb253aWRnZXRcLndhdGNobGlzdCQvLC9eY2hhcnRcLmZhdm9yaXRlRHJhd2luZ3MkLywvXmNoYXJ0XC5mYXZvcml0ZURyYXdpbmdzUG9zaXRpb24kLywvXmNoYXJ0XC5mYXZvcml0ZUxpYnJhcnlJbmRpY2F0b3JzJC8sL15sb2FkQ2hhcnREaWFsb2cuZmF2b3JpdGVzJC8sL15DaGFydEZhdm9yaXRlRHJhd2luZ1Rvb2xiYXJXaWRnZXRcLnZpc2libGUvLC9edHJhZGluZ1wuY2hhcnRcLnByb3RlcnR5JC8sL150cmFkaW5nX2Zsb2F0aW5nX3Rvb2xiYXJcLnBvc2l0aW9uJC8sL150cmFkaW5nXC5vcmRlcldpZGdldE1vZGVcLi8sL15zeW1ib2xXYXRlcm1hcmskLywvXnBpbmVyZWZlcmVuY2VcLnNpemUkLywvXnBpbmVyZWZlcmVuY2VcLnBvc2l0aW9uJC8sL15oaW50XC4rLywvXkNoYXJ0RHJhd2luZ1Rvb2xiYXJXaWRnZXRcLnZpc2libGUvXTtjb25zdCBUPSgpPT4hKF98fHdpbmRvdy5pc19hdXRoZW50aWNhdGVkKSxQPWU9PmgrZSxDPSgwLGkuZ2V0TG9nZ2VyKSgiTGliLlRWU2V0dGluZ3MiKSxFPWU9PntpZihifHx3KXJldHVybjtpZigoMCxhLmlzRmVhdHVyZUVuYWJsZWQpKCJkaXNhYmxlX3NhdmVfc2V0dGluZ3MiKSlyZXR1cm4gdm9pZCBDPy5sb2dXYXJuKCJTZXR0aW5ncyBmbGFzaGluZyBoYXMgYmVlbiBza2lwcGVkIGJlY2F1c2Ugb2YgZGlzYWJsZV9zYXZlX3NldHRpbmdzIGZlYXR1cmV0b2dnbGUiKTtpZigoMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSlyZXR1cm47aWYoVCgpKXJldHVybjtpZigwPT09Uy5sZW5ndGgpcmV0dXJuO2NvbnN0IHQ9UztTPVtdO2NvbnN0IG49e307Zm9yKGxldCBlPXQubGVuZ3RoO2UtLTspe2NvbnN0IHI9dFtlXTtuW3JdPXhbcl0/P251bGx9Y29uc3Qgcj1uZXcgRm9ybURhdGE7ci5hcHBlbmQoImRlbHRhIixKU09OLnN0cmluZ2lmeShuKSksZSYmbmF2aWdhdG9yLnNlbmRCZWFjb24/bmF2aWdhdG9yLnNlbmRCZWFjb24oIi9zYXZlc2V0dGluZ3MvIixyKTooMCx1LmZldGNoKSgiL3NhdmVzZXR0aW5ncy8iLHttZXRob2Q6IlBPU1QiLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixib2R5OnJ9KS50aGVuKChuPT57aWYobi5va3x8KFM9Uy5jb25jYXQodCkpLFs0MjksNTAzXS5pbmNsdWRlcyhuLnN0YXR1cykpewpjb25zdCB0PTFlMyorKG4uaGVhZGVycy5nZXQoInJldHJ5LWFmdGVyIil8fDApfHwzZTU7dz1zZXRUaW1lb3V0KCgoKT0+e3c9dm9pZCAwLEUoZSl9KSx0KX19KSkuY2F0Y2goKCgpPT57Uz1TLmNvbmNhdCh0KX0pKX0sRj0oKT0+e3k9dm9pZCAwLFMubGVuZ3RoJiZFKCl9LEw9KGUsdD17fSk9PntpZihfKW51bGw9PXhbZV0/Xy5yZW1vdmVWYWx1ZShlKTpfLnNldFZhbHVlKGUseFtlXSk7ZWxzZSBpZihUKCkpdHJ5e251bGw9PXhbZV0/cC5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFAoZSkpOnAuVFZMb2NhbFN0b3JhZ2Uuc2V0SXRlbShQKGUpLHhbZV0pfWNhdGNoKGUpe31lbHNlIFMucHVzaChlKSx5fHwoeT1zZXRUaW1lb3V0KEYsZikpO3Quc2tpcENyb3NzV2luZG93RXZlbnR8fGQuVFZYV2luZG93RXZlbnRzLmVtaXQoInNldHRpbmdzIixKU09OLnN0cmluZ2lmeSh7a2V5OmUsdmFsdWU6eFtlXX0pKX07ZnVuY3Rpb24gTihlLHQpe2NvbnN0IG49eFtlXTtyZXR1cm4gbj8/dH1mdW5jdGlvbiBNKGUsdCl7Y29uc3Qgbj1OKGUpO2lmKG51bGw9PW4pcmV0dXJuIHQ7dHJ5e3JldHVybiBKU09OLnBhcnNlKG4pfWNhdGNoKG4pe3JldHVybiBWKGUpLHR9fWZ1bmN0aW9uIFYoZSx0PXt9KXtyZXR1cm4gbnVsbCE9eFtlXSYmKGRlbGV0ZSB4W2VdLEwoZSkpLHQuZm9yY2VGbHVzaCYmRSgpLFh9ZnVuY3Rpb24gSShlLHQpe2NvbnN0IG49TihlKTtyZXR1cm4gbnVsbD09bj90OiEoIW58fCJmYWxzZSI9PT1ufHwwPT0rbil9ZnVuY3Rpb24gTyhlLHQpe2NvbnN0IG49TihlKTtpZihudWxsPT1uKXJldHVybiB0O2NvbnN0IHI9cGFyc2VGbG9hdChuKTtpZighaXNGaW5pdGUocikpdGhyb3cgbmV3IFR5cGVFcnJvcignIicrbisnIiBpcyBub3QgZmxvYXQgKGtleTogIicrZSsnIiknKTtyZXR1cm4gcn1mdW5jdGlvbiBEKGUsdCl7Y29uc3Qgbj1OKGUpO2lmKG51bGw9PW4pcmV0dXJuIHQ7Y29uc3Qgcj1wYXJzZUludChuLDEwKTtpZighaXNGaW5pdGUocikpdGhyb3cgbmV3IFR5cGVFcnJvcignIicrbisnIiBpcyBub3QgaW50IChrZXk6ICInK2UrJyIpJyk7cmV0dXJuIHJ9ZnVuY3Rpb24gUihlLHQsbj17fSl7Y29uc3Qgcj0iIit0O3JldHVybiB4W2VdIT09ciYmKHhbZV09cixMKGUsbikpLG4uZm9yY2VGbHVzaCYmIXYmJih2PXNldFRpbWVvdXQoKCgpPT57dj12b2lkIDAsRSgpfSksMTApKSxYfWZ1bmN0aW9uIEEoZSx0LG4pe3JldHVybiBSKGUsSlNPTi5zdHJpbmdpZnkodCksbiksWH1mdW5jdGlvbiBCKCl7cmV0dXJuIE9iamVjdC5rZXlzKHgpfWZ1bmN0aW9uIFcoZSl7Y29uc3QgdD1CKCksbj1bXSxyPW5ldyBSZWdFeHAoIl4iKygwLG8ucmVnRXhwRXNjYXBlKShlKS5yZXBsYWNlKC9cXFwqXFxcKi9naSwiLisiKS5yZXBsYWNlKC9cXFwqL2dpLCJbXi5dKyIpKyIkIiwiZ2kiKTtmb3IobGV0IGU9dC5sZW5ndGgtMTtlPj0wO2UtLSlyLnRlc3QodFtlXSkmJm4ucHVzaCh0W2VdKSxyLmxhc3RJbmRleD0wO3JldHVybiBufWQuVFZYV2luZG93RXZlbnRzLm9uKCJzZXR0aW5ncyIsKGU9Pntjb25zdCB0PUpTT04ucGFyc2UoZSk7bnVsbD09dC52YWx1ZT9kZWxldGUgeFt0LmtleV06eFt0LmtleV09dC52YWx1ZX0pKTtjb25zdCBVPWU9Pntmb3IobGV0IHQ9MDt0PGsubGVuZ3RoOysrdClpZihrW3RdLmV4ZWMoZSkpcmV0dXJuITA7cmV0dXJuITF9LCQ9ZT0+ZS5zdWJzdHJpbmcoMCxoLmxlbmd0aCk9PT1oLHo9ZT0+e3g9e307Y29uc3QgdD0wPT09T2JqZWN0LmtleXMoZSkubGVuZ3RoO3R8fChlPT57T2JqZWN0LmtleXMoZSkuZm9yRWFjaCgodD0+e3hbdF09ZVt0XSsiIn0pKX0pKGUpLChlPT57Zm9yKGxldCB0PXAuVFZMb2NhbFN0b3JhZ2UubGVuZ3RoO3QtLTspe2NvbnN0IG49cC5UVkxvY2FsU3RvcmFnZS5rZXkodCk7biYmJChuKSYmKGUmJlIobi5zdWJzdHJpbmcoaC5sZW5ndGgpLHAuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShuKSkscC5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKG4pKX19KSh0KX0saj1uZXcgci5EZWxlZ2F0ZTtmdW5jdGlvbiBIKGUpe251bGwhPT1lPyhfP3ooXy5pbml0aWFsU2V0dGluZ3N8fHt9KTpUKCk/KCgoKT0+e2lmKCEoMCxsLm9uV2lkZ2V0KSgpfHwhZy5pbmNsdWRlcyh3aW5kb3cubG9jYXRpb24uaG9zdCkpcmV0dXJuO2NvbnN0IGU9InRyYWRpbmd2aWV3LiI7Zm9yKGxldCB0PXAuVFZMb2NhbFN0b3JhZ2UubGVuZ3RoO3QtLTspe2NvbnN0IG49cC5UVkxvY2FsU3RvcmFnZS5rZXkodCk7aWYoMD09PW4uaW5kZXhPZihlKSl7Y29uc3QgdD1uLnJlcGxhY2UoZSxtKyIuIik7cC5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKHQscC5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKG4pKSxwLlRWTG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0obil9fX0pKCksKCgpPT57eD17fTtjb25zdCBlPSEoMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzYXZlX2NoYXJ0X3Byb3BlcnRpZXNfdG9fbG9jYWxfc3RvcmFnZSIpO2ZvcihsZXQgdD1wLlRWTG9jYWxTdG9yYWdlLmxlbmd0aDt0LS07KXtjb25zdCBuPXAuVFZMb2NhbFN0b3JhZ2Uua2V5KHQpO2lmKCFufHwhJChuKSljb250aW51ZTtjb25zdCByPW4uc3Vic3RyaW5nKGgubGVuZ3RoKTtlJiYhVShyKXx8KHhbcl09cC5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKG4pKX19KSgpKTp6KGV8fHt9KSxqLmZpcmUoKSk6Yj0hMH1mdW5jdGlvbiBLKGUpe189ZX1jb25zdCBHPSExLHE9ITEsWD17bG9hZGVkOkcsbG9hZGVkTW9kZWw6cSxnZXRWYWx1ZTpOLGdldEpTT046TSxnZXRCb29sOkksZ2V0RmxvYXQ6TyxnZXRJbnQ6RCxzZXRWYWx1ZTpSLHNldEpTT046QSxyZW1vdmU6VixrZXlzOkIsa2V5c01hc2s6VyxzeW5jOkgsb25TeW5jOmosc2V0U2V0dGluZ3NBZGFwdGVyOkt9LEo9WDt3aW5kb3cuVFZTZXR0aW5ncz1YLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLCgoKT0+eyJoaWRkZW4iIT09ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlJiYhMCE9PWRvY3VtZW50LmhpZGRlbnx8RSgpfSkpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlaGlkZSIsKCgpPT57RSghMCl9KSksCndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmV1bmxvYWQiLCgoKT0+e0UoITApfSkpLGMuZmx1c2hEZWxlZ2F0ZS5zdWJzY3JpYmUobnVsbCwoKCk9PntFKCl9KSksc2V0VGltZW91dCgoYXN5bmMoKT0+e2NvbnN0e2NsZWFyT2xkU2V0dGluZ3M6ZX09YXdhaXQgbi5lKDM1OTgwKS50aGVuKG4uYmluZChuLDc1NDE4NSkpO2UoKX0pLDNlNCl9LDE1MjE4MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnZXRDaXJjbGVMb2dvUGFpckh0bWw6KCk9Pml9KTt2YXIgcj1uKDYyNzg0OCk7ZnVuY3Rpb24gaShlKXtjb25zdHtwcmltYXJ5TG9nb1VybDp0LHNlY29uZGFyeUxvZ29Vcmw6bixzaXplOmksY2xhc3NOYW1lOnN9PWU7cmV0dXJuYDxzcGFuIGNsYXNzPSIkeygwLHIuZ2V0QmxvY2tTdHlsZUNsYXNzZXMpKGkscyl9Ij5cblx0XHRcdCR7byh7bG9nb1VybDpuLHNpemU6aX0pfVxuXHRcdFx0JHtvKHtsb2dvVXJsOnQsc2l6ZTppfSl9XG5cdFx0PC9zcGFuPmB9ZnVuY3Rpb24gbyhlKXtjb25zdHtsb2dvVXJsOnQsc2l6ZTpufT1lLGk9KDAsci5nZXRMb2dvU3R5bGVDbGFzc2VzKShuLDIsQm9vbGVhbih0KSk7cmV0dXJuIHZvaWQgMD09PXQ/YDxzcGFuIGNsYXNzPSIke2l9Ij48L3NwYW4+YDpgPGltZyBjbGFzcz0iJHtpfSIgY3Jvc3NvcmlnaW4gc3JjPSIke3R9IiBhbHQ9IiIgLz5gfX0sNjI3ODQ4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2dldEJsb2NrU3R5bGVDbGFzc2VzOigpPT5jLGdldExvZ29TdHlsZUNsYXNzZXM6KCk9Pmx9KTt2YXIgcj1uKDkxNDQ4NyksaT1uLm4ociksbz1uKDEzNjQpLHM9big4NjAwMjUpLGE9bi5uKHMpO2Z1bmN0aW9uIGMoZSx0KXtyZXR1cm4gaSgpKGEoKS5wYWlyLGEoKVtlXSx0KX1mdW5jdGlvbiBsKGUsdD0yLG49ITApe3JldHVybiBpKCkoYSgpLmxvZ28sYSgpW2VdLGEoKS5za2VsZXRvbixvLnNrZWxldG9uVGhlbWUud3JhcHBlciwhbiYmYSgpLmVtcHR5LDE9PT10JiZpKCkoby5za2VsZXRvblRoZW1lLmFuaW1hdGVkKSl9fSw4ODQ3OTgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Z2V0Q2lyY2xlTG9nb0h0bWw6KCk9Pml9KTt2YXIgcj1uKDc5NDE4Nyk7bigxNDAwMTcpO2Z1bmN0aW9uIGkoZSl7Y29uc3QgdD0oMCxyLmdldFN0eWxlQ2xhc3NlcykoZS5zaXplLDIsZS5jbGFzc05hbWUpO3JldHVybigwLHIuaXNDaXJjbGVMb2dvV2l0aFVybFByb3BzKShlKT9gPGltZyBjbGFzcz0iJHt0fSIgY3Jvc3NvcmlnaW4gc3JjPSIke2UubG9nb1VybH0iIGFsdD0iIj5gOmA8c3BhbiBjbGFzcz0iJHt0fSI+JHtlLnBsYWNlaG9sZGVyTGV0dGVyfHwiIn08L3NwYW4+YH19LDc5NDE4NyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnZXRTdHlsZUNsYXNzZXM6KCk9PmMsaXNDaXJjbGVMb2dvV2l0aFVybFByb3BzOigpPT5sfSk7dmFyIHI9big5MTQ0ODcpLGk9bi5uKHIpLG89bigxMzY0KSxzPW4oMTQwMDE3KSxhPW4ubihzKTtmdW5jdGlvbiBjKGUsdD0yLG4pe3JldHVybiBpKCkoYSgpLmxvZ28sYSgpW2VdLG4sMD09PXR8fDE9PT10P2koKShvLnNrZWxldG9uVGhlbWUud3JhcHBlcixhKCkuc2tlbGV0b24pOmEoKS5sZXR0ZXIsMT09PXQmJm8uc2tlbGV0b25UaGVtZS5hbmltYXRlZCl9ZnVuY3Rpb24gbChlKXtyZXR1cm4ibG9nb1VybCJpbiBlJiZudWxsIT09ZS5sb2dvVXJsJiZ2b2lkIDAhPT1lLmxvZ29VcmwmJjAhPT1lLmxvZ29VcmwubGVuZ3RofX0sMzA5OTIwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0N1c3RvbUJlaGF2aW91ckNvbnRleHQ6KCk9PnJ9KTtjb25zdCByPSgwLG4oNzc5NDc0KS5jcmVhdGVDb250ZXh0KSh7ZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXM6ITB9KTtyLmRpc3BsYXlOYW1lPSJDdXN0b21CZWhhdmlvdXJDb250ZXh0In0sMjczMzEwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0ljb246KCk9Pml9KTt2YXIgcj1uKDc3OTQ3NCk7Y29uc3QgaT1yLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7aWNvbjpuPSIiLHRpdGxlOmksYXJpYUxhYmVsOm8sYXJpYUxhYmVsbGVkYnk6cyxhcmlhSGlkZGVuOmEsLi4uY309ZSxsPSEhKGl8fG98fHMpO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJpbWciLC4uLmMscmVmOnQsImFyaWEtbGFiZWwiOm8sImFyaWEtbGFiZWxsZWRieSI6cywiYXJpYS1oaWRkZW4iOmF8fCFsLHRpdGxlOmksZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDpufX0pfSkpfSwxMzY0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3NrZWxldG9uVGhlbWU6KCk9Pml9KTt2YXIgcj1uKDk3NTI4NSk7Y29uc3QgaT1uLm4ocikoKX0sMzQ0MTAzKGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgdD1be2Q6IkUtTWluaSBTJlAgNTAwIix0OiJFUyJ9LHtkOiJFLU1pbmkgTmFzZGFxIDEwMCIsdDoiTlEifSx7ZDoiR29sZCIsdDoiR0MifSx7ZDoiU2lsdmVyIix0OiJTSSJ9LHtkOiJDcnVkZSBPaWwgV1RJIix0OiJDTCJ9LHtkOiJOYXR1cmFsIEdhcyIsdDoiTkcifSx7ZDoiQXVzdHJhbGlhbiBEb2xsYXIiLHQ6IjZBIn0se2Q6IkF1c3RyYWxpYW4gRG9sbGFyIChGbG9vcikiLHQ6IkFEIn0se2Q6IkV1cm8gRlgiLHQ6IjZFIn0se2Q6IkV1cm8gRlggKEZsb29yKSIsdDoiRUMifSx7ZDoiQ29ybiIsdDoiWkMifSx7ZDoiQ29ybiAoRmxvb3IpIix0OiJDIn0se2Q6IkV1cm9kb2xsYXIiLHQ6IkdFIn0se2Q6IkV1cm9kb2xsYXIgKEZsb29yKSIsdDoiRUQifV0sbj1mdW5jdGlvbigpe3ZhciBlPVt7cGF0dGVybjoiKCIsY3RvcjpvfSx7cGF0dGVybjoiKSIsY3RvcjpzfSx7cGF0dGVybjoiKyIsY3RvcjpjfSx7cGF0dGVybjoiLSIsY3RvcjpsfSx7cGF0dGVybjoiKiIsY3Rvcjp1fSx7cGF0dGVybjoiLyIsY3RvcjpkfSx7cGF0dGVybjoiXiIsY3RvcjpwfSx7cGF0dGVybjovXGQrKD86XC5cZCp8KD8hW2EtekEtWjAtOV8hOi4mXSkpfFwuXGQrLyxjdG9yOmh9LHtwYXR0ZXJuOi9cLi8sY3Rvcjp3fSx7cGF0dGVybjovW2EtekEtWjAtOV9cdTAzNzAtXHUxRkZGX1x1MkU4MC1cdUZGRkZdW2EtekEtWjAtOV9cdTAwMjBcdTAzNzAtXHUxRkZGX1x1MkU4MC1cdUZGRkZfIXw6LiZdKnwnLis/Jy8sY3RvcjptfSx7CnBhdHRlcm46LydbXiddKi8sY3Rvcjp2fSx7cGF0dGVybjovW1wwLVx4MjBcc10rLyxjdG9yOml9XTtmdW5jdGlvbiBuKGUsdCl7dmFyIG49ZnVuY3Rpb24oKXt9O3JldHVybiBuLnByb3RvdHlwZT10LnByb3RvdHlwZSxlLnByb3RvdHlwZT1uZXcgbixlfWZ1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gaShlKXt0aGlzLnZhbHVlPWV9ZnVuY3Rpb24gbygpe31mdW5jdGlvbiBzKCl7fWZ1bmN0aW9uIGEoKXt9ZnVuY3Rpb24gYygpe31mdW5jdGlvbiBsKCl7fWZ1bmN0aW9uIHUoKXt9ZnVuY3Rpb24gZCgpe31mdW5jdGlvbiBwKCl7fXIucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9LG4oaSxyKSxuKG8sciksby5wcm90b3R5cGUudmFsdWU9IigiLG4ocyxyKSxzLnByb3RvdHlwZS52YWx1ZT0iKSIsbihhLHIpLG4oYyxhKSxjLnByb3RvdHlwZS52YWx1ZT0iKyIsYy5wcm90b3R5cGUucHJlY2VkZW5jZT0wLGMucHJvdG90eXBlLmNvbW11dGF0aXZlPSEwLG4obCxhKSxsLnByb3RvdHlwZS52YWx1ZT0iLSIsbC5wcm90b3R5cGUucHJlY2VkZW5jZT0wLGwucHJvdG90eXBlLmNvbW11dGF0aXZlPSExLG4odSxhKSx1LnByb3RvdHlwZS52YWx1ZT0iKiIsdS5wcm90b3R5cGUucHJlY2VkZW5jZT0xLHUucHJvdG90eXBlLmNvbW11dGF0aXZlPSEwLG4oZCxhKSxkLnByb3RvdHlwZS52YWx1ZT0iLyIsZC5wcm90b3R5cGUucHJlY2VkZW5jZT0xLGQucHJvdG90eXBlLmNvbW11dGF0aXZlPSExLG4ocCxhKSxwLnByb3RvdHlwZS52YWx1ZT0iXiIscC5wcm90b3R5cGUucHJlY2VkZW5jZT0yLHAucHJvdG90eXBlLmNvbW11dGF0aXZlPSExO3ZhciBnPS9eJz8oPzooW0EtWjAtOV9dKyk6KT8oLio/KSc/JC9pLGY9L1srXC0vKl0vO2Z1bmN0aW9uIG0oZSl7dGhpcy52YWx1ZT1lfWZ1bmN0aW9uIGgoZSl7dGhpcy52YWx1ZT1lfWZ1bmN0aW9uIHkoZSl7dGhpcy52YWx1ZT1lfWZ1bmN0aW9uIHYoKXttLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiB3KCl7aC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9bihtLHIpLG0ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7aWYodGhpcy5oYXNPd25Qcm9wZXJ0eSgiX3RpY2tlciIpKXt2YXIgZT1mLnRlc3QodGhpcy5fdGlja2VyKT8iJyI6IiI7cmV0dXJuIGUrKHRoaXMuX2V4Y2hhbmdlP3RoaXMuX2V4Y2hhbmdlKyI6IjoiIikrdGhpcy5fdGlja2VyK2V9cmV0dXJuIHRoaXMudmFsdWV9LG0ucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKCl7dmFyIGU9Zy5leGVjKHRoaXMudmFsdWUpO2VbMV0mJih0aGlzLl9leGNoYW5nZT1lWzFdKSx0aGlzLl90aWNrZXI9ZVsyXX0sbS5wcm90b3R5cGUucGFyc2VBc0Z1dHVyZXM9ZnVuY3Rpb24oKXt0aGlzLmhhc093blByb3BlcnR5KCJfdGlja2VyIil8fHRoaXMucGFyc2UoKTtmb3IodmFyIGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHQuc29tZSgoZnVuY3Rpb24odCl7cmV0dXJuIHQudD09PWV9KSl9LG49MjtuPj0xOy0tbil7dmFyIHI9dGhpcy5fdGlja2VyLnNsaWNlKDAsbik7aWYoZShyKSl7dGhpcy5fcm9vdD1yLHRoaXMuX2NvbnRyYWN0PXRoaXMuX3RpY2tlci5zbGljZShuKTticmVha319fSxtLnByb3RvdHlwZS5leGNoYW5nZT1mdW5jdGlvbihlKXtpZih0aGlzLmhhc093blByb3BlcnR5KCJfdGlja2VyIil8fHRoaXMucGFyc2UoKSwhKGFyZ3VtZW50cy5sZW5ndGg+MCkpcmV0dXJuIHRoaXMuX2V4Y2hhbmdlO251bGw9PWU/ZGVsZXRlIHRoaXMuX2V4Y2hhbmdlOnRoaXMuX2V4Y2hhbmdlPWUrIiJ9LG0ucHJvdG90eXBlLnRpY2tlcj1mdW5jdGlvbihlKXtpZih0aGlzLmhhc093blByb3BlcnR5KCJfdGlja2VyIil8fHRoaXMucGFyc2UoKSwhKGFyZ3VtZW50cy5sZW5ndGg+MCkpcmV0dXJuIHRoaXMuX3RpY2tlcjtudWxsPT1lP2RlbGV0ZSB0aGlzLl90aWNrZXI6dGhpcy5fdGlja2VyPWUrIiIsZGVsZXRlIHRoaXMuX3Jvb3QsZGVsZXRlIHRoaXMuX2NvbnRyYWN0fSxtLnByb3RvdHlwZS5yb290PWZ1bmN0aW9uKGUpe2lmKHRoaXMuaGFzT3duUHJvcGVydHkoIl9yb290Iil8fHRoaXMucGFyc2VBc0Z1dHVyZXMoKSwhKGFyZ3VtZW50cy5sZW5ndGg+MCkpcmV0dXJuIHRoaXMuX3Jvb3Q7bnVsbD09ZT9kZWxldGUgdGhpcy5fcm9vdDoodGhpcy5fcm9vdD1lKyIiLHRoaXMuX3Jvb3QmJih0aGlzLl90aWNrZXI9dGhpcy5fcm9vdCsodGhpcy5fY29udHJhY3R8fCIiKSkpfSxtLnByb3RvdHlwZS5jb250cmFjdD1mdW5jdGlvbihlKXtpZih0aGlzLmhhc093blByb3BlcnR5KCJfY29udHJhY3QiKXx8dGhpcy5wYXJzZUFzRnV0dXJlcygpLCEoYXJndW1lbnRzLmxlbmd0aD4wKSlyZXR1cm4gdGhpcy5fcm9vdDtudWxsPT1lP2RlbGV0ZSB0aGlzLl9jb250cmFjdDoodGhpcy5fY29udHJhY3Q9ZSsiIix0aGlzLl9yb290JiYodGhpcy5fdGlja2VyPXRoaXMuX3Jvb3QrdGhpcy5fY29udHJhY3QpKX0sbihoLHIpLGgucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaGFzT3duUHJvcGVydHkoIl9ub3JtYWxpemVkVmFsdWUiKT90aGlzLl9ub3JtYWxpemVkVmFsdWU6dGhpcy52YWx1ZX0saC5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24oKXt0aGlzLl9ub3JtYWxpemVkVmFsdWU9dGhpcy52YWx1ZS5yZXBsYWNlKC9eMCt8XC4wKiQvZywiIikucmVwbGFjZSgvKFwuXGQqPykwKyQvLCIkMSIpLnJlcGxhY2UoL14oXC58JCkvLCIwJDEiKX0seS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZX0sbih2LG0pLHYucHJvdG90eXBlLmlzSW5jb21wbGV0ZT0hMCx2LnByb3RvdHlwZS5pbmNvbXBsZXRlU3VnZ2VzdD1mdW5jdGlvbigpe2lmKCInIiE9PXRoaXMudmFsdWUpcmV0dXJuIFN0cmluZygiJyIpfSxuKHcsaCksdy5wcm90b3R5cGUuaXNJbmNvbXBsZXRlPSEwO3ZhciBiPW5ldyBSZWdFeHAoZS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiIoIisoInN0cmluZyI9PXR5cGVvZiBlLnBhdHRlcm4/ZS5wYXR0ZXJuLnJlcGxhY2UoL1tcXiQoKVtcXXt9Kis/fFxcXS9nLCJcXCQmIik6ZS5wYXR0ZXJuLnNvdXJjZSkrIikifSkpLmNvbmNhdCgiLiIpLmpvaW4oInwiKSwiZyIpCjtmdW5jdGlvbiBfKHQsbil7dmFyIHIsbz1bXTtlOmZvcig7cj1iLmV4ZWModCk7KXtmb3IodmFyIHM9ZS5sZW5ndGg7cy0tOylpZihyW3MrMV0pe2lmKGVbc10uY3Rvcil7dmFyIGE9bmV3IGVbc10uY3RvcihyW3MrMV0pO2EuX29mZnNldD1yLmluZGV4LG8ucHVzaChhKX1jb250aW51ZSBlfXZhciBjPW5ldyB5KHJbMF0pO2MuX29mZnNldD1yLmluZGV4LG8ucHVzaChjKX1pZihuJiZuLnJlY292ZXIpe3ZhciBsO2ZvcihzPW8ubGVuZ3RoO3MtLTspe3ZhciB1PW9bc107aWYodSBpbnN0YW5jZW9mIGh8fHUgaW5zdGFuY2VvZiBtKXtpZih2b2lkIDAhPT1sKXt2YXIgZD1uZXcgbSgiIikscD1vLnNwbGljZShzLGwtcysxLGQpO2QudmFsdWU9cC5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBlLnZhbHVlfSkpLmpvaW4oIiIpfWw9c31lbHNlIHUgaW5zdGFuY2VvZiBpfHwobD12b2lkIDApfX1yZXR1cm4gb31mdW5jdGlvbiB4KGUpe2Zvcih2YXIgdD1bXSxuPTA7bjxlLmxlbmd0aDtuKyspZVtuXWluc3RhbmNlb2YgaXx8dC5wdXNoKGVbbl0pO3JldHVybiB0fWZ1bmN0aW9uIFMoZSl7ZT14KGUpO2Zvcih2YXIgdCxuPVtdLHI9W10saT0wO2k8ZS5sZW5ndGg7aSsrKXt2YXIgYz1lW2ldO2lmKGMgaW5zdGFuY2VvZiBhKXIubGVuZ3RoJiZyW3IubGVuZ3RoLTFdLm1pblByZWNlZGVuY2U+Yy5wcmVjZWRlbmNlJiYocltyLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPWMucHJlY2VkZW5jZSk7ZWxzZSBpZihjIGluc3RhbmNlb2YgbylyLnB1c2godD17bWluUHJlY2VkZW5jZToxLzAsb3BlbkJyYWNlSW5kZXg6aX0pO2Vsc2UgaWYoYyBpbnN0YW5jZW9mIHMpe3ZhciBsPWVbKHQ9ci5wb3AoKSkub3BlbkJyYWNlSW5kZXgtMV0sdT1lW2krMV07dSBpbnN0YW5jZW9mIGEmJiEodS5wcmVjZWRlbmNlPD10Lm1pblByZWNlZGVuY2UpfHwhKCEobCBpbnN0YW5jZW9mIGEpfHxsLnByZWNlZGVuY2U8dC5taW5QcmVjZWRlbmNlfHxsLnByZWNlZGVuY2U9PT10Lm1pblByZWNlZGVuY2UmJmwuY29tbXV0YXRpdmUpfHwobi51bnNoaWZ0KHQub3BlbkJyYWNlSW5kZXgpLG4ucHVzaChpKSxyLmxlbmd0aCYmcltyLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPnQubWluUHJlY2VkZW5jZSYmKHJbci5sZW5ndGgtMV0ubWluUHJlY2VkZW5jZT10Lm1pblByZWNlZGVuY2UpKX19Zm9yKGk9bi5sZW5ndGg7aS0tOyllLnNwbGljZShuW2ldLDEpO3JldHVybiBlfWZ1bmN0aW9uIGsoZSl7aWYoInN0cmluZyIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoImV4cHJlc3Npb24gbXVzdCBiZSBhIHN0cmluZyIpO3JldHVybihlPV8oZSkpLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBtfSkpLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGUuZXhjaGFuZ2UoKX0pKS5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpfWZ1bmN0aW9uIFQoZSl7cmV0dXJuIDEhPT0oZT1rKGUpKS5sZW5ndGg/bnVsbDplWzBdfWZ1bmN0aW9uIFAoZSx0KXtyZXR1cm4oZT1rKGUpKS5zb21lKChmdW5jdGlvbihlKXtyZXR1cm4gdC5pbmNsdWRlcygoZXx8IiIpLnRvVXBwZXJDYXNlKCkpfSkpfWZ1bmN0aW9uIEMoZSl7cmV0dXJuIGUuam9pbigiIil9cmV0dXJue3Rva2VuaXplOl8sdmFsaWRhdGU6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PSJpbml0IixuPSJ2YXIiLHI9dCxjPXt3YXJuaW5nczpbXSxlcnJvcnM6W10saXNFbXB0eTohMH0sbD1bXSx1PTA7dTxlLmxlbmd0aDt1Kyspe2lmKCEoKHA9ZVt1XSlpbnN0YW5jZW9mIGkpKXtpZihkZWxldGUgYy5pc0VtcHR5LHAuaXNJbmNvbXBsZXRlKXt2YXIgZD17c3RhdHVzOiJpbmNvbXBsZXRlIixyZWFzb246ImluY29tcGxldGVfdG9rZW4iLG9mZnNldDpwLl9vZmZzZXQsdG9rZW46cH07aWYocC5pbmNvbXBsZXRlU3VnZ2VzdCYmKGQucmVjb3Zlcj17YXBwZW5kOnAuaW5jb21wbGV0ZVN1Z2dlc3QoKX0pLGMud2FybmluZ3MucHVzaChkKSx1IT09ZS5sZW5ndGgtMSl7ZC5zdGF0dXM9ImVycm9yIjtjb250aW51ZX19aWYocCBpbnN0YW5jZW9mIG18fHAgaW5zdGFuY2VvZiBoKXtpZihyPT09bil7Yy5lcnJvcnMucHVzaCh7c3RhdHVzOiJlcnJvciIscmVhc29uOiJ1bmV4cGVjdGVkX3Rva2VuIixvZmZzZXQ6cC5fb2Zmc2V0LHRva2VuOnB9KTtjb250aW51ZX1yPW59ZWxzZSBpZihwIGluc3RhbmNlb2YgYSl7aWYociE9PW4pe2MuZXJyb3JzLnB1c2goe3N0YXR1czoiZXJyb3IiLHJlYXNvbjoidW5leHBlY3RlZF90b2tlbiIsb2Zmc2V0OnAuX29mZnNldCx0b2tlbjpwfSk7Y29udGludWV9cj0ib3BlcmF0b3IifWVsc2UgaWYocCBpbnN0YW5jZW9mIG8pe2lmKHI9PT1uKXtjLmVycm9ycy5wdXNoKHtzdGF0dXM6ImVycm9yIixyZWFzb246InVuZXhwZWN0ZWRfdG9rZW4iLG9mZnNldDpwLl9vZmZzZXQsdG9rZW46cH0pO2NvbnRpbnVlfWwucHVzaChwKSxyPXR9ZWxzZSBpZihwIGluc3RhbmNlb2Ygcyl7aWYociE9PW4pe2MuZXJyb3JzLnB1c2goe3N0YXR1czoiZXJyb3IiLHJlYXNvbjoidW5leHBlY3RlZF90b2tlbiIsb2Zmc2V0OnAuX29mZnNldCx0b2tlbjpwfSk7Y29udGludWV9bC5wb3AoKXx8Yy5lcnJvcnMucHVzaCh7c3RhdHVzOiJlcnJvciIscmVhc29uOiJ1bmJhbGFuY2VkX2JyYWNlIixvZmZzZXQ6cC5fb2Zmc2V0LHRva2VuOnAscmVjb3Zlcjp7cHJlcGVuZDpuZXcgb319KSxyPW59ZWxzZSBwIGluc3RhbmNlb2YgeSYmYy5lcnJvcnMucHVzaCh7c3RhdHVzOiJlcnJvciIscmVhc29uOiJ1bnBhcnNlZF9lbnRpdHkiLG9mZnNldDpwLl9vZmZzZXQsdG9rZW46cH0pfX1mb3IoYy5icmFjZUJhbGFuY2U9bC5sZW5ndGgsciE9PW4mJmMud2FybmluZ3MucHVzaCh7c3RhdHVzOiJpbmNvbXBsZXRlIn0pO2wubGVuZ3RoOyl7dmFyIHA7ZD17c3RhdHVzOiJpbmNvbXBsZXRlIixyZWFzb246InVuYmFsYW5jZWRfYnJhY2UiLG9mZnNldDoocD1sLnBvcCgpKS5fb2Zmc2V0LHRva2VuOnB9O3I9PT1uJiYoZC5yZWNvdmVyPXthcHBlbmQ6bmV3IHN9KSxjLndhcm5pbmdzLnB1c2goZCl9cmV0dXJuIGMuY3VycmVudFN0YXRlPXIsMD09PWMud2FybmluZ3MubGVuZ3RoJiZkZWxldGUgYy53YXJuaW5ncywKMD09PWMuZXJyb3JzLmxlbmd0aCYmZGVsZXRlIGMuZXJyb3JzLGN9LGZhY3Rvck91dEJyYWNlczpTLG5vcm1hbGl6ZVRva2VuczpmdW5jdGlvbihlKXtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKyllW3RdLnBhcnNlJiZlW3RdLnBhcnNlKCk7cmV0dXJuIGV9LGZsaXA6ZnVuY3Rpb24oZSl7dmFyIHQ9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG49MCxyPTEsYz0yLGw9Myx1PW4scD0wLGc9MDtnPGUubGVuZ3RoO2crKyl7dmFyIGY9ZVtnXTtpZighKGYgaW5zdGFuY2VvZiBpKSlzd2l0Y2godSl7Y2FzZSBuOmlmKCEoZiBpbnN0YW5jZW9mIGgmJjE9PStmLnZhbHVlKSlyZXR1cm4hMTt1PXI7YnJlYWs7Y2FzZSByOmlmKCEodT09PXImJmYgaW5zdGFuY2VvZiBkKSlyZXR1cm4hMTt1PWMsdD1nKzE7YnJlYWs7Y2FzZSBjOmlmKGYgaW5zdGFuY2VvZiBvKXU9bCxwPTE7ZWxzZSBpZihmIGluc3RhbmNlb2YgYSlyZXR1cm4hMTticmVhaztjYXNlIGw6ZiBpbnN0YW5jZW9mIG8/cCsrOmYgaW5zdGFuY2VvZiBzJiYtLXA8PTAmJih1PWMpfX1yZXR1cm4gZS5zbGljZSh0KX0oZSk7cmV0dXJuIFModHx8W25ldyBoKCIxIiksbmV3IGQsbmV3IG9dLmNvbmNhdChlKS5jb25jYXQobmV3IHMpKX0saGFzQmF0c1N5bWJvbHM6ZnVuY3Rpb24oZSl7cmV0dXJuIFAoZSxbIkJBVFMiXSl9LGhhc0VvZFN5bWJvbHM6ZnVuY3Rpb24oZSl7cmV0dXJuKGU9VChlKSkmJi0xIT09ZS50b1VwcGVyQ2FzZSgpLmluZGV4T2YoIl9FT0QiKX0saGFzQ2h4anB5U3ltYm9sczpmdW5jdGlvbihlKXtyZXR1cm4gUChlLFsiQ0hYSlBZIl0pfSxoYXNGcmVlRGVsYXlTeW1ib2xzOmZ1bmN0aW9uKGUpe3JldHVybiBQKGUscHJvLmdldFByb2R1Y3RzQnlUeXBlKHByby5QUk9EVUNUX1RZUEVTLmV4Y2hhbmdlKS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBlLmV4Y2hhbmdlLnRvVXBwZXJDYXNlKCkrIl9ETFkifSkpKX0sZ2V0RXhjaGFuZ2U6VCxnZXRFeGNoYW5nZXM6ayxpc0V4Y2hhbmdlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuISEoZT1UKGUpKSYmZS5zdWJzdHJpbmcoMCx0Lmxlbmd0aCk9PT10fSxTeW1ib2xUb2tlbjptLEluY29tcGxldGVTeW1ib2xUb2tlbjp2LE51bWJlclRva2VuOmgsQmluYXJ5T3BlcmF0b3JUb2tlbjphLE9wZW5CcmFjZVRva2VuOm8sQ2xvc2VCcmFjZVRva2VuOnMsdGlja2VyOmZ1bmN0aW9uKGUpe3JldHVybiBuZXcgbShlKS50aWNrZXIoKX0sc2hvcnROYW1lOmZ1bmN0aW9uKGUpe2lmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJleHByZXNzaW9uIG11c3QgYmUgYSBzdHJpbmciKTt2YXIgdD1TKHgoXyhlKSkpO3JldHVybiB0LmZvckVhY2goKGZ1bmN0aW9uKGUpe2UgaW5zdGFuY2VvZiBtJiZlLmV4Y2hhbmdlKG51bGwpfSkpLEModCl9LG5vcm1hbGl6ZTpmdW5jdGlvbihlKXtpZigic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcigiZXhwcmVzc2lvbiBtdXN0IGJlIGEgc3RyaW5nIik7cmV0dXJuIEMoUyh4KF8oZSkpKSl9fX0oKTtlLmV4cG9ydHM9bn0sMjMyOTQ4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2dldFByb2R1Y3RJZDooKT0+dSxpc0V4Y2hhbmdlOigpPT5sLGlzUGFpZFBybzooKT0+YSxpc1BsYW46KCk9PmMsaXNQcm86KCk9PnMsaXNQcm9kdWN0RGVmaW5lZDooKT0+aSxpc1RyaWFsOigpPT5vfSk7dmFyIHI9big1ODE4OTMpO2Z1bmN0aW9uIGkoZSl7cmV0dXJuISghZXx8IU9iamVjdC5rZXlzKGUpLmxlbmd0aCl9ZnVuY3Rpb24gbyhlKXtyZXR1cm4hIWUuaXNfdHJpYWx9ZnVuY3Rpb24gcyhlKXtyZXR1cm4hIWU/LnByb19wbGFufWZ1bmN0aW9uIGEoZSl7cmV0dXJuIHMoZSkmJiFvKGUpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGUudHlwZT09PXIuUHJvZHVjdFR5cGUuUHJvUGxhbn1mdW5jdGlvbiBsKGUpe3JldHVybiBlLnR5cGU9PT1yLlByb2R1Y3RUeXBlLkV4Y2hhbmdlfWZ1bmN0aW9uIHUoZSl7cmV0dXJuIGU/bChlKXx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUudHlwZT09PXIuUHJvZHVjdFR5cGUuQ29pbnN9KGUpP2UudGV4dF9pZD8/IiI6ZS5kaXNjb3VudF90ZXh0X2lkPz9lLnRleHRfaWQ/PyIiOiIifX0sODY0MDM0KGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI7bi5kKHQse0JpbGxpbmdDeWNsZTooKT0+cixNT05USExZX1NVQlNDUklQVElPTl9EQVlTX0xFTjooKT0+byxXRUVLTFlfU1VCU0NSSVBUSU9OX0RBWVNfTEVOOigpPT5pfSksZnVuY3Rpb24oZSl7ZS5Nb250aGx5PSJtIixlLlRocmVlTW9udGhzPSIzbSIsZS5PbmVZZWFyPSJ5In0ocnx8KHI9e30pKTtjb25zdCBpPTcsbz0zMH0sNTgxODkzKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI7bi5kKHQse1Byb2R1Y3RUeXBlOigpPT5yfSksZnVuY3Rpb24oZSl7ZVtlLlByb1BsYW49MV09IlByb1BsYW4iLGVbZS5OZXdzRmVlZD0zXT0iTmV3c0ZlZWQiLGVbZS5FeGNoYW5nZT00XT0iRXhjaGFuZ2UiLGVbZS5Db25uZWN0aW9uPTZdPSJDb25uZWN0aW9uIixlW2UuQ29pbnM9OF09IkNvaW5zIixlW2UuU2NyaXB0UGFja2FnZT05XT0iU2NyaXB0UGFja2FnZSJ9KHJ8fChyPXt9KSl9LDQ5ODY1MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtpc0lEQ0V4Y2hhbmdlOigpPT5pfSk7dmFyIHI9bigyMzI5NDgpO2Z1bmN0aW9uIGkoZSx0PSExKXtpZihlJiZlLnN0YXJ0c1dpdGgoImV4Y2hhbmdlLSIpKXJldHVybiBmdW5jdGlvbihlLHQ9ITEpe2NvbnN0IG49d2luZG93LnBybz8uZ2V0UHJvZHVjdChlKTtyZXR1cm4hKHZvaWQgMD09PW58fCEoMCxyLmlzUHJvZHVjdERlZmluZWQpKG4pfHwodD8hbi5pZGNfc2VydmljZV9jb2Rlc19kZWxheTohbi5pZGNfc2VydmljZV9jb2RlcykpfShlLHQpO2NvbnN0IG49KGV8fCIiKS50b0xvd2VyQ2FzZSgpO3JldHVybiB3aW5kb3cucHJvPy5nZXRJRENFeGNoYW5nZXModCk/LmluY2x1ZGVzKG4pPz8hMX19LDk1MjkwMChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHthY2N1bXVsYXRlOigpPT5zLGNvbWJpbmU6KCk9Pm99KTt2YXIgcj1uKDIzMjM2NCk7ZnVuY3Rpb24gaShlLHQsLi4ubil7bGV0IGk9bnVsbAo7Y29uc3Qgbz0oLi4udCk9PmUoLi4udC5tYXAoKGU9PmUudmFsdWUoKSkpLGk/LnZhbHVlKCkpLHM9aT1uZXcgci5XYXRjaGVkVmFsdWUobyguLi5uKSksYT0oKT0+e2NvbnN0IGU9bi5tYXAoKChlLHQpPT5lLnZhbHVlKCkpKTt0KC4uLmUpJiZzLnNldFZhbHVlKG8oLi4ubikpfSxjPW4ubWFwKChlPT5lLnNwYXduKCkpKTtmb3IoY29uc3QgZSBvZiBjKWUuc3Vic2NyaWJlKGEpO3JldHVybiBzLnJlYWRvbmx5KCkuc3Bhd24oKCgpPT57Yy5mb3JFYWNoKChlPT5lLmRlc3Ryb3koKSkpLG4uZm9yRWFjaCgoZT0+ZS5yZWxlYXNlKCkpKX0pKX1mdW5jdGlvbiBvKGUsLi4udCl7cmV0dXJuIGkoZSwoKCk9PiEwKSwuLi50KX1mdW5jdGlvbiBzKGUsdCwuLi5uKXtsZXQgaT1udWxsO2NvbnN0IHM9bygoKC4uLmUpPT4oZS5zcGxpY2UoLTEpLGUpKSwuLi5uKSxhPXQuc3Bhd24oKSxjPSh0LC4uLm4pPT57Y29uc3Qgcj10Lm1hcCgoZT0+ZS52YWx1ZSgpKSk7cmV0dXJuIGUociwuLi5uLGk/LnZhbHVlKCkpfSxsPWk9bmV3IHIuV2F0Y2hlZFZhbHVlKGMoYS52YWx1ZSgpLC4uLnMudmFsdWUoKSkpO2xldCB1PVtdO2NvbnN0IGQ9KCk9PntsLnNldFZhbHVlKGModSwuLi5zLnZhbHVlKCkpKX0scD1lPT57dS5mb3JFYWNoKChlPT5lLmRlc3Ryb3koKSkpLHU9ZS5tYXAoKGU9PmUuc3Bhd24oKSkpLHUuZm9yRWFjaCgoZT0+ZS5zdWJzY3JpYmUoZCkpKSxkKCl9O3AoYS52YWx1ZSgpKSxhLnN1YnNjcmliZShwKSxzLnN1YnNjcmliZShkKTtyZXR1cm4gbC5yZWFkb25seSgpLnNwYXduKCgoKT0+e3UuZm9yRWFjaCgoZT0+ZS5kZXN0cm95KCkpKSxhLmRlc3Ryb3koKSxzLmRlc3Ryb3koKSx0LnJlbGVhc2UoKX0pKX19LDE1MDE1MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtndWlkOigpPT5pLHJhbmRvbUhhc2g6KCk9Pm8scmFuZG9tSGFzaE46KCk9PnN9KTtjb25zdCByPSIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiI7ZnVuY3Rpb24gaSgpe3JldHVybiJ4eHh4eHh4eC14eHh4LTR4eHgteXh4eC14eHh4eHh4eHh4eHgiLnJlcGxhY2UoL1t4eV0vZywoZT0+e2NvbnN0IHQ9MTYqTWF0aC5yYW5kb20oKXwwO3JldHVybigieCI9PT1lP3Q6MyZ0fDgpLnRvU3RyaW5nKDE2KX0pKX1mdW5jdGlvbiBvKCl7cmV0dXJuIHMoMTIpfWZ1bmN0aW9uIHMoZSl7bGV0IHQ9IiI7Zm9yKGxldCBuPTA7bjxlOysrbil7Y29uc3QgZT1NYXRoLmZsb29yKDYyKk1hdGgucmFuZG9tKCkpO3QrPXJbZV19cmV0dXJuIHR9fSw2NDA3NDQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUsdCxuKXtyZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgoZSx0KSxuKX1mdW5jdGlvbiBpKGUpe2NvbnN0IHQ9TWF0aC5jZWlsKGUpO3JldHVybiB0JTIhPTA/dC0xOnR9ZnVuY3Rpb24gbyhlKXtjb25zdCB0PU1hdGguY2VpbChlKTtyZXR1cm4gdCUyPT0wP3QtMTp0fWZ1bmN0aW9uIHMoZSl7cmV0dXJuIGU+MD9NYXRoLmZsb29yKGUpOk1hdGguY2VpbChlKX1mdW5jdGlvbiBhKGUpe3JldHVybiBlJTI9PTB9bi5kKHQse2NlaWxlZEV2ZW46KCk9PmksY2VpbGVkT2RkOigpPT5vLGNsYW1wOigpPT5yLGlzRXZlbjooKT0+YSx0b0ludDooKT0+c30pfSwyNDE5NTYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Y3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9uOigpPT5pfSk7dmFyIHI9bigyMzIzNjQpO2Z1bmN0aW9uIGkoZSx0KXtjb25zdCBuPW5ldyByLldhdGNoZWRWYWx1ZShlKCkpLGk9e307dC5zdWJzY3JpYmUoaSwoKCk9PntuLnNldFZhbHVlKGUobi52YWx1ZSgpKSl9KSk7cmV0dXJuIG4ucmVhZG9ubHkoKS5zcGF3bigoKCk9PnQudW5zdWJzY3JpYmVBbGwoaSkpKX19LDYwMTg0MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtjbG9uZTooKT0+cyxkZWVwRXF1YWxzOigpPT5kLGhhc1Byb3BlcnR5OigpPT5sLGlzQXJyYXk6KCk9PnAsaXNFeGlzdGVudDooKT0+Zixpc0ludGVnZXI6KCk9Pm0saXNOYU46KCk9PmcsaXNOdW1iZXI6KCk9Pm8saXNPYmplY3Q6KCk9PmMsaXNTdHJpbmc6KCk9PmgsbWVyZ2U6KCk9PmEsbm90TnVsbDooKT0+eX0pO2NvbnN0IHI9bmV3IFNldChbIl9fcHJvdG9fXyIsInByb3RvdHlwZSIsImNvbnN0cnVjdG9yIl0pO2Z1bmN0aW9uIGkoZSl7cmV0dXJuIHIuaGFzKGUpfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiBlJiZpc0Zpbml0ZShlKX1mdW5jdGlvbiBzKGUpe2lmKCFlfHwib2JqZWN0IiE9dHlwZW9mIGUpcmV0dXJuIGU7bGV0IHQ7dD1BcnJheS5pc0FycmF5KGUpP1tdOnt9O2Zvcihjb25zdCBuIGluIGUpaWYoZS5oYXNPd25Qcm9wZXJ0eShuKSl7Y29uc3Qgcj1lW25dO3Rbbl09ciYmIm9iamVjdCI9PXR5cGVvZiByP3Mocik6cn1yZXR1cm4gdH1mdW5jdGlvbiBhKGUsdCl7aWYoIWMoZSl8fCFjKHQpKXJldHVybiBlO2Zvcihjb25zdFtuLHJdb2YgT2JqZWN0LmVudHJpZXModCkpaShuKXx8KHImJih1KHIpfHwhcChyKSYmT2JqZWN0LmdldFByb3RvdHlwZU9mKHIpIT09T2JqZWN0LnByb3RvdHlwZSk/ZVtuXT1yOihlLmhhc093blByb3BlcnR5KG4pJiZjKGVbbl0pfHwhYyhyKXx8KGVbbl09QXJyYXkuaXNBcnJheShyKT9bXTp7fSksYyhyKSYmYyhlW25dKT9hKGVbbl0scik6ZVtuXT1yKSk7cmV0dXJuIGV9ZnVuY3Rpb24gYyhlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lfWZ1bmN0aW9uIGwoZSx0KXtyZXR1cm4gdCBpbiBlfWZ1bmN0aW9uIHUoZSl7cmV0dXJuIG51bGwhPWUmJihlLmNvbnN0cnVjdG9yPT09RnVuY3Rpb258fCJbb2JqZWN0IEZ1bmN0aW9uXSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkpfWZ1bmN0aW9uIGQoZSx0LG49IiIpe2lmKGU9PT10KXJldHVyblshMCxuXTtpZih1KGUpJiYoZT12b2lkIDApLHUodCkmJih0PXZvaWQgMCksbnVsbD09ZXx8bnVsbD09dClyZXR1cm5bZT09PXQsbl07aWYoIm9iamVjdCIhPXR5cGVvZiBlJiYib2JqZWN0IiE9dHlwZW9mIHQpcmV0dXJuW2U9PT10LG5dO2lmKEFycmF5LmlzQXJyYXkoZSkmJkFycmF5LmlzQXJyYXkodCkpewpjb25zdCByPWUubGVuZ3RoO2lmKHIhPT10Lmxlbmd0aClyZXR1cm5bITEsbl07Zm9yKGxldCBpPTA7aTxyO2krKyl7Y29uc3Qgcj1kKGVbaV0sdFtpXSxuKyJbIitpKyJdIik7aWYoIXJbMF0pcmV0dXJuIHJ9cmV0dXJuWyEwLG5dfWlmKEFycmF5LmlzQXJyYXkoZSl8fEFycmF5LmlzQXJyYXkodCkpcmV0dXJuWyExLG5dO2lmKE9iamVjdC5rZXlzKGUpLmxlbmd0aCE9PU9iamVjdC5rZXlzKHQpLmxlbmd0aClyZXR1cm5bITEsbl07Zm9yKGNvbnN0IHIgaW4gZSl7Y29uc3QgaT1kKGVbcl0sdFtyXSxuKyJbIityKyJdIik7aWYoIWlbMF0pcmV0dXJuIGl9cmV0dXJuWyEwLG5dfWNvbnN0IHA9QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24oZSl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKX07ZnVuY3Rpb24gZyhlKXtyZXR1cm4hKGU8PTB8fGU+MCl9ZnVuY3Rpb24gZihlKXtyZXR1cm4gbnVsbCE9ZX1mdW5jdGlvbiBtKGUpe3JldHVybiJudW1iZXIiPT10eXBlb2YgZSYmZSUxPT0wfWZ1bmN0aW9uIGgoZSl7cmV0dXJuIG51bGwhPWUmJmUuY29uc3RydWN0b3I9PT1TdHJpbmd9ZnVuY3Rpb24geShlKXtyZXR1cm4gbnVsbCE9PWV9TnVtYmVyLmlzTmFOPU51bWJlci5pc05hTnx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUhPWV9fSw0OTI2NzcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUpe3JldHVybiBkZWNvZGVVUklDb21wb25lbnQoZS5yZXBsYWNlKC9cKy9nLCIgIikpLnJlcGxhY2UoLzxcLz9bXj5dKyg+fCQpL2csIiIpfWZ1bmN0aW9uIGkoZSl7Y29uc3QgdD0vKFteJj1dKyk9PyhbXiZdKikvZyxuPXt9O2lmKCFlKXJldHVybiBuO2xldCBpPXQuZXhlYyhlKTtmb3IoO2k7KW5bcihpWzFdKV09cihpWzJdKSxpPXQuZXhlYyhlKTtyZXR1cm4gbn1mdW5jdGlvbiBvKCl7cmV0dXJuIGkod2luZG93LmxvY2F0aW9uLnNlYXJjaC5zdWJzdHJpbmcoMSkpfWZ1bmN0aW9uIHMoKXtjb25zdCBlPXdpbmRvdy5sb2NhdGlvbi5ocmVmLnNwbGl0KCIjIilbMF07d2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKCIiLGRvY3VtZW50LnRpdGxlLGUpfWZ1bmN0aW9uIGEoZSl7Y29uc3QgdD1bXTtmb3IoY29uc3QgbiBpbiBlKWlmKGUuaGFzT3duUHJvcGVydHkobikmJm51bGwhPWVbbl0pe2NvbnN0IHI9ZVtuXSxpPSJvYmplY3QiPT10eXBlb2Ygcj9KU09OLnN0cmluZ2lmeShyKTpTdHJpbmcocik7dC5wdXNoKHtrZXk6bixwYWlyOmVuY29kZVVSSUNvbXBvbmVudChuKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGkpfSl9cmV0dXJuIHQuc29ydCgoKGUsdCk9PmUua2V5PnQua2V5PzE6ZS5rZXk8dC5rZXk/LTE6MCkpLm1hcCgoZT0+ZS5wYWlyKSkuam9pbigiJiIpfW4uZCh0LHtjcmVhdGVVcmxQYXJhbXM6KCk9PmEsZ2V0VXJsUGFyYW1zOigpPT5vLHJlbW92ZUhhc2hGcm9tVXJsOigpPT5zfSl9LDEwNzA0NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtOdW1lcmljRm9ybWF0dGVyOigpPT5vfSk7dmFyIHI9big1OTg5MjIpLGk9big1NDY0ODUpO2NsYXNzIG97Y29uc3RydWN0b3IoZT17fSl7dGhpcy5fb3B0aW9ucz1lfWZvcm1hdChlLHQ9e30pe2lmKCFOdW1iZXIuaXNGaW5pdGUoZSkpcmV0dXJuIFN0cmluZyhlKTtjb25zdHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6bj10aGlzLl9vcHRpb25zLmlnbm9yZUxvY2FsZU51bWJlckZvcm1hdCxub0V4cG9uZW50aWFsRm9ybTpzPXRoaXMuX29wdGlvbnMubm9FeHBvbmVudGlhbEZvcm19PXQse21pblByZWNpc2lvbjphLHByZWNpc2lvbjpjfT10aGlzLl9vcHRpb25zLGw9KDAsaS5nZXROdW1iZXJGb3JtYXQpKG4pO3JldHVybiB2b2lkIDA9PT1jP28uX2Zvcm1hdE5vRUltcGwoZSxsLGMsYSk6KDAsci5mb3JtYXROdW1iZXIpKGUsbCxjLHMsYSl9cGFyc2UoZSx0KXtjb25zdHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6bixwcmVjaXNpb246b309dGhpcy5fb3B0aW9ucyxzPSgwLGkuZ2V0TnVtYmVyRm9ybWF0KShufHx0Py5pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQpO2xldCBhPSgwLHIucGFyc2VOdW1iZXIpKGUscyk7cmV0dXJuIE51bWJlci5pc0Zpbml0ZShhKT8obyYmKGE9K2EudG9GaXhlZChvKSkse3JlczohMCx2YWx1ZTphfSk6e3JlczohMX19c3RhdGljIGZvcm1hdE5vRShlLHQpe3JldHVybiB0aGlzLl9mb3JtYXROb0VJbXBsKGUsdCl9c3RhdGljIF9mb3JtYXROb0VJbXBsKGUsdCxuLGkpe3JldHVybiBOdW1iZXIuaXNGaW5pdGUoZSk/KHQ9dD8/e2dyb3VwaW5nU2VwYXJhdG9yOiIiLGRlY2ltYWxTaWduOiIuIn0sKDAsci5mb3JtYXROdW1iZXIpKGUsdCxuLCEwLGkpKTpTdHJpbmcoZSl9fX0sMTI1MjE4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1BlcmNlbnRhZ2VGb3JtYXR0ZXI6KCk9Pm99KTt2YXIgcj1uKDExNTI5MyksaT1uKDc1NTYyNyk7Y2xhc3MgbyBleHRlbmRzIGkuUHJpY2VGb3JtYXR0ZXJ7Y29uc3RydWN0b3IoZT17fSl7dm9pZCAwIT09ZS5kZWNpbWFsUGxhY2VzJiYoZS5wcmljZVNjYWxlPU1hdGgucG93KDEwLGUuZGVjaW1hbFBsYWNlcykpLHN1cGVyKGUpLHRoaXMudHlwZT0icGVyY2VudGFnZSJ9c3RhdGUoKXtyZXR1cm57Li4uc3VwZXIuc3RhdGUoKSxwZXJjZW50OiEwfX1wYXJzZShlLHQpe3JldHVybiBlPWUucmVwbGFjZSgiJSIsIiIpLHN1cGVyLnBhcnNlKGUsdCl9Zm9ybWF0KGUsdD17fSl7Y29uc3R7dXNlUnRsRm9ybWF0Om49ITB9PXQsaT1zdXBlci5mb3JtYXQoZSx7Li4udCx1c2VSdGxGb3JtYXQ6ITF9KSsiJSI7cmV0dXJuIG4/KDAsci5mb3JjZUxUUlN0cikoaSk6aX1zdGF0aWMgc2VyaWFsaXplKGUpe3JldHVybiBlLnN0YXRlKCl9c3RhdGljIGRlc2VyaWFsaXplKGUpe3JldHVybiBuZXcgbyhlKX19fSw5ODQzNzYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UExBQ0VfSE9MREVSOigpPT5zLFZvbHVtZUZvcm1hdHRlcjooKT0+bH0pO3ZhciByPW4oNzgzMjU0KSxpPW4oNjAxODQxKSxvPW4oMTA3MDQ1KTtjb25zdCBzPSItLS0iLGE9W3t2YWx1ZTozLGxldHRlcjoiSyJ9LHt2YWx1ZTo2LGxldHRlcjoiTSJ9LHt2YWx1ZTo5LGxldHRlcjoiQiJ9LHsKdmFsdWU6MTIsbGV0dGVyOiJUIn1dO2Z1bmN0aW9uIGMoZSx0KXtjb25zdCBuPWUtdDtyZXR1cm4gYS5maW5kKChlPT5lLnZhbHVlPj1uKSk/P2FbYS5sZW5ndGgtMV19Y2xhc3MgbHtjb25zdHJ1Y3RvcihlPXt9KXt0aGlzLnR5cGU9InZvbHVtZSI7Y29uc3R7cHJlY2lzaW9uOnQ9MCxtaW5QcmVjaXNpb246bj0wLGRpbWVuc2lvblByZWNpc2lvbjpyPTIsZGltZW5zaW9uTWluUHJlY2lzaW9uOmk9MCxzaWduaWZpY2FudERpZ2l0czpzPTMsaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmEsbm9FeHBvbmVudGlhbEZvcm06YyxyZW1vdmVTcGFjZUJlZm9yZURpbWVuc2lvbjpsfT1lO3RoaXMuX3ByZWNpc2lvbj10LHRoaXMuX2Zvcm1hdHRlcj1uZXcgby5OdW1lcmljRm9ybWF0dGVyKHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6YSxwcmVjaXNpb246dGhpcy5fcHJlY2lzaW9uLG1pblByZWNpc2lvbjpuLG5vRXhwb25lbnRpYWxGb3JtOmN9KSx0aGlzLl9kaW1lbnNpb25QcmVjaXNpb249cix0aGlzLl9kaW1lbnNpb25Gb3JtYXR0ZXI9bmV3IG8uTnVtZXJpY0Zvcm1hdHRlcih7aWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmEscHJlY2lzaW9uOnRoaXMuX2RpbWVuc2lvblByZWNpc2lvbixtaW5QcmVjaXNpb246aSxub0V4cG9uZW50aWFsRm9ybTpjfSksdGhpcy5fc2lnbmlmaWNhbnREaWdpdHM9cyx0aGlzLl9mcmFjdGlvbmFsVmFsdWVzPXZvaWQgMCE9PXQmJnQ+MCx0aGlzLl9zcGFjZUJlZm9yZURpbWVuc2lvbj1sPyIiOiLigK8iLHRoaXMuX29wdGlvbnM9ZX1zdGF0ZSgpe2NvbnN0e2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDplLC4uLnR9PXRoaXMuX29wdGlvbnM7cmV0dXJuIHR9Zm9ybWF0KGUsdCl7aWYoISgwLGkuaXNOdW1iZXIpKGUpKXJldHVybiBzO2lmKE1hdGguYWJzKGUpPj0xZTEwMClyZXR1cm4gci50KG51bGwse2NvbnRleHQ6InZvbHVtZS1mb3JtYXR0ZXIifSxuKDU3MDYyKSk7bGV0IG89IiI7TWF0aC5hYnMoZSk8MSYmKGU9K2UudG9GaXhlZCh0aGlzLl9wcmVjaXNpb24pKSxlPDA/bz0i4oiSIjplPjAmJnQ/LnNpZ25Qb3NpdGl2ZSYmKG89IisiKSxlPU1hdGguYWJzKGUpO2NvbnN0IGE9ISEodD8uaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0Pz90aGlzLl9vcHRpb25zLmlnbm9yZUxvY2FsZU51bWJlckZvcm1hdCk7bGV0IGwsdSxkPU1hdGguZmxvb3IoTWF0aC5sb2cxMChlKSkrMTtpZihkPD10aGlzLl9zaWduaWZpY2FudERpZ2l0cyYmKGU9K2UudG9GaXhlZCh0aGlzLl9wcmVjaXNpb24pLGQ9TWF0aC5mbG9vcihNYXRoLmxvZzEwKGUpKSsxKSxkPD10aGlzLl9zaWduaWZpY2FudERpZ2l0cylsPXRoaXMuX2Zvcm1hdE51bWJlcihlLGEsdGhpcy5fZm9ybWF0dGVyKTtlbHNle2xldCB0PWMoZCx0aGlzLl9zaWduaWZpY2FudERpZ2l0cyk7Y29uc3Qgbj1NYXRoLnBvdygxMCx0LnZhbHVlKTtlPSsoZS9uKS50b0ZpeGVkKHRoaXMuX2RpbWVuc2lvblByZWNpc2lvbikqbix0PWMoTWF0aC5mbG9vcihNYXRoLmxvZzEwKGUpKSsxLHRoaXMuX3NpZ25pZmljYW50RGlnaXRzKSxsPXRoaXMuX2Zvcm1hdE51bWJlcihlL01hdGgucG93KDEwLHQudmFsdWUpLGEsdGhpcy5fZGltZW5zaW9uRm9ybWF0dGVyKSx1PXQubGV0dGVyfXJldHVybiB1P2Ake299JHtsfSR7dGhpcy5fc3BhY2VCZWZvcmVEaW1lbnNpb259JHt1fWA6YCR7b30ke2x9YH1wYXJzZShlLHQpe2lmKGU9PT1zKXJldHVybntlcnJvcjoibm90IGEgbnVtYmVyIixyZXM6ITEsdmFsdWU6TmFOfTtjb25zdCBuPXtLOjFlMyxNOjFlNixCOjFlOSxUOjFlMTJ9LHI9KGU9ZS5yZXBsYWNlKCLiiJIiLCItIikpLnNsaWNlKC0xKTtpZihuLmhhc093blByb3BlcnR5KHIpKXtjb25zdCBvPXRoaXMuX2Zvcm1hdHRlci5wYXJzZShlLnNsaWNlKDAsLTEpLnRyaW0oKSx0KSxzPW8ucmVzP28udmFsdWU6TmFOO3JldHVybigwLGkuaXNOdW1iZXIpKHMpP3tyZXM6ITAsdmFsdWU6cypuW3JdfTp7ZXJyb3I6Im5vdCBhIG51bWJlciIscmVzOiExLHZhbHVlOk5hTn19e2NvbnN0IG49dGhpcy5fZm9ybWF0dGVyLnBhcnNlKGUudHJpbSgpLHQpO2xldCByPW4ucmVzP24udmFsdWU6TmFOO3JldHVybi0wPT09ciYmKHI9MCksKDAsaS5pc051bWJlcikocik/e3JlczohMCx2YWx1ZTpyfTp7ZXJyb3I6Im5vdCBhIG51bWJlciIscmVzOiExLHZhbHVlOk5hTn19fXN0YXRpYyBzZXJpYWxpemUoZSl7cmV0dXJuIGUuc3RhdGUoKX1zdGF0aWMgZGVzZXJpYWxpemUoZSl7cmV0dXJuIG5ldyBsKGUpfV9mb3JtYXROdW1iZXIoZSx0LG4pe2lmKHRoaXMuX2ZyYWN0aW9uYWxWYWx1ZXMmJjAhPT1lKXtjb25zdCB0PTE0LU1hdGguY2VpbChNYXRoLmxvZzEwKGUpKSxuPU1hdGgucG93KDEwLHQpO2U9TWF0aC5yb3VuZChlKm4pL259cmV0dXJuIG4uZm9ybWF0KGUse2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDp0fSl9fX0sOTAxMDIyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1NFUEFSQVRPUl9QUkVGSVg6KCk9PnIsaXNTZXBhcmF0b3JJdGVtOigpPT5pfSk7Y29uc3Qgcj0iIyMjIjtmdW5jdGlvbiBpKGUpe3JldHVybiBlLnN0YXJ0c1dpdGgocil9fSw2NDE1OTMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Y2FwaXRhbGl6ZUZpcnN0TGV0dGVySW5Xb3JkOigpPT5kLGRlY29kZUhUTUxFbnRpdGllczooKT0+YyxnZXRGaXJzdFNlZ21lbnRPckNvZGVQb2ludFN0cmluZzooKT0+cCxodG1sRXNjYXBlOigpPT5sLHJlbW92ZVRhZ3M6KCk9PnV9KTtjb25zdCByPS9bPCInJj5dL2csaT1lPT5gJiMke2UuY2hhckNvZGVBdCgwKX07YCxvPXsiJmx0OyI6IjwiLCImZ3Q7IjoiPiIsIiZxdW90OyI6JyInLCImYXBvczsiOiInIiwiJmFtcDsiOiImIiwiJiM2MDsiOiI8IiwiJiM2MjsiOiI+IiwiJiMzNDsiOiciJywiJiMzOTsiOiInIiwiJiMwMzk7IjoiJyIsIiYjMzg7IjoiJiJ9LHM9T2JqZWN0LmFzc2lnbih7fSwuLi5PYmplY3QuZW50cmllcyhvKS5tYXAoKChbZSx0XSk9Pih7W3RdOmV9KSkpKSxhPW5ldyBSZWdFeHAoT2JqZWN0LmtleXMobykuam9pbigifCIpLCJnIik7bmV3IFJlZ0V4cChPYmplY3Qua2V5cyhzKS5qb2luKCJ8IiksImciKTtmdW5jdGlvbiBjKGUpewpyZXR1cm4gZS5yZXBsYWNlKGEsKGU9Pm9bZV18fGUpKX1mdW5jdGlvbiBsKGUpe3JldHVybiBlLnJlcGxhY2UocixpKX1mdW5jdGlvbiB1KGU9IiIpe3JldHVybiBlLnJlcGxhY2UoLyg8KFtePl0rKT4pL2dpLCIiKX1mdW5jdGlvbiBkKGU9IiIpe3JldHVybiBlLnJlcGxhY2UoL1xiXHcvZywoZT0+ZS50b1VwcGVyQ2FzZSgpKSl9ZnVuY3Rpb24gcChlKXtjb25zdCB0PUludGwuU2VnbWVudGVyO2lmKHQpe2NvbnN0IG49bmV3IHQodm9pZCAwLHtncmFudWxhcml0eToiZ3JhcGhlbWUifSksW3tzZWdtZW50OnJ9PXtzZWdtZW50Om51bGx9XT1uLnNlZ21lbnQoZSk7cmV0dXJuIHI/LnRvVXBwZXJDYXNlKCk/P251bGx9e2NvbnN0IHQ9ZS5jb2RlUG9pbnRBdCgwKTtyZXR1cm4gdD9TdHJpbmcuZnJvbUNvZGVQb2ludCh0KS50b1VwcGVyQ2FzZSgpOm51bGx9fX0sMTM2OTkxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NvcHlyaWdodFBvc2l0aW9uOigpPT5yLGNvcHlyaWdodExhYmVsOigpPT51fSk7dmFyIHIsaT1uKDE4NTI3MSksbz1uKDkxNDQ4Nykscz1uLm4obyksYT1uKDYwMTg0MSksYz1uKDM4NzIzMSksbD1uKDM5OTA5Mik7ZnVuY3Rpb24gdSh7c3ZnVGV4dDplLGljb246dCx0aGVtZTpvLHVybDp1LG1vZGU6ZCx2ZXJ0aWNhbFBvc2l0aW9uOnA9ci5WZXJ0aWNhbC5Cb3R0b20saG9yaXpvbnRhbFBvc2l0aW9uOmc9ci5Ib3Jpem9udGFsLkVuZCxzbmFwVG9FZGdlOmY9ITAsaXNFeHBhbmRlZDptPSExLGNsYXNzTmFtZTpofSl7bGV0IHk7c3dpdGNoKGQpe2Nhc2UibmV3IjpjYXNlIndpdGhfYm9yZGVyIjpjYXNlImxhcmdlX3RyYWRlIjp5PSgwLGEuY2xvbmUpKG8pO2JyZWFrO2RlZmF1bHQ6eT0oMCxjLm1lcmdlVGhlbWVzKSgoMCxhLmNsb25lKShsKSxvKX1jb25zdCB2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtsZXQgdzt1JiYodz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIiksdy5jbGFzc0xpc3QuYWRkKC4uLnkubGFiZWxfX2xpbmsuc3BsaXQoL1xzLykpLHcuaHJlZj11LHcudGFyZ2V0PSJfYmxhbmsiLHcucmVsPSJub29wZW5lciBub3JlZmVycmVyIix3LnNldEF0dHJpYnV0ZSgiZGF0YS10YXJnZXQtdHlwZSIsImNvcHlyaWdodCIpLHcuYXJpYUxhYmVsPWkudChudWxsLHZvaWQgMCxuKDUxNzg1OSkpLHYuYXBwZW5kKHcpKSx2LmNsYXNzTmFtZT1zKCkoeS5sYWJlbCxnPT09ci5Ib3Jpem9udGFsLlN0YXJ0JiZ5LnN0YXJ0LGc9PT1yLkhvcml6b250YWwuRW5kJiZ5LmVuZCxwPT09ci5WZXJ0aWNhbC5Ub3AmJnkudG9wLHA9PT1yLlZlcnRpY2FsLkJvdHRvbSYmeS5ib3R0b20sZiYmImxhcmdlX3RyYWRlIiE9PWQmJnkuc25hcCwibGFyZ2Vfb2xkIj09PWQmJnkubGFyZ2UsKG18fCJsYXJnZV90cmFkZSI9PT1kKSYmeS5leHBhbmRlZCxoLCJqcy1jb3B5cmlnaHQtbGFiZWwiKSx2LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKCk9PntmdW5jdGlvbiBlKCl7di5jbGFzc0xpc3QucmVtb3ZlKHkuZXhwYW5kZWRCeUNsaWNrKSx2LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGUpfXYuY2xhc3NMaXN0LmNvbnRhaW5zKHkuZXhwYW5kZWRXaXRoVHJhbnNpdGlvbil8fHYuY2xhc3NMaXN0LmNvbnRhaW5zKHkuZXhwYW5kZWQpfHwodi5jbGFzc0xpc3QuY29udGFpbnMoeS5leHBhbmRlZEJ5Q2xpY2spP3V8fGUoKToodi5jbGFzc0xpc3QuYWRkKHkuZXhwYW5kZWRCeUNsaWNrKSx2LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGUpKSl9KSk7Y29uc3QgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7Yi5jbGFzc05hbWU9eS5sb2dvV3JhcCxiLmlubmVySFRNTD10O2NvbnN0IF89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO3JldHVybiBfLmNsYXNzTmFtZT15LnN2Z1RleHRXcmFwLF8uaW5uZXJIVE1MPWUsdi5hcHBlbmQoYixfKSxbdix5XX0hZnVuY3Rpb24oZSl7bGV0IHQsbjshZnVuY3Rpb24oZSl7ZVtlLkJvdHRvbT0wXT0iQm90dG9tIixlW2UuVG9wPTFdPSJUb3AifSh0PWUuVmVydGljYWx8fChlLlZlcnRpY2FsPXt9KSksZnVuY3Rpb24oZSl7ZVtlLlN0YXJ0PTBdPSJTdGFydCIsZVtlLkVuZD0xXT0iRW5kIn0obj1lLkhvcml6b250YWx8fChlLkhvcml6b250YWw9e30pKX0ocnx8KHI9e30pKX0sNjUzODE3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NvcHlyaWdodFBvc2l0aW9uOigpPT5vLkNvcHlyaWdodFBvc2l0aW9uLGNyZWF0ZUNvcHlyaWdodExhYmVsOigpPT5hfSk7dmFyIHI9big5MTQ0ODcpLGk9bi5uKHIpLG89bigxMzY5OTEpLHM9big1Mjg4NjQpO2Z1bmN0aW9uIGEoe3NoZXJpZmZPcHRpb25zOmUsLi4udH0pe2NvbnN0W24scl09KDAsby5jb3B5cmlnaHRMYWJlbCkodCksYT1lJiZlLmluY2x1ZGVzKHMuS25vd25BY3Rpb24uRXhwYW5kKSxjPWUmJmUuaW5jbHVkZXMocy5Lbm93bkFjdGlvbi5MYXJnZVRyYWRlTG9nbyk7cmV0dXJuIG4uY2xhc3NOYW1lPWkoKShuLmNsYXNzTmFtZSwoYXx8YykmJnIuZXhwYW5kZWRXaXRoVHJhbnNpdGlvbiksbn19LDc0MjU3NyhlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSx0KXtyZXR1cm4gZSYmZS51dG1fY2FtcGFpZ24mJihlLnV0bV9jYW1wYWlnbis9YC0ke3R9YCksZX1hc3luYyBmdW5jdGlvbiBpKGUsdCxyLGkpe2lmKCJsZW50YXJ1Ij09PWUpe2NvbnN0e2dldExlbnRhQ29weXJpZ2h0RGF0YTplfT1hd2FpdCBQcm9taXNlLmFsbChbbi5lKDQ0MjUzKSxuLmUoODUwMzgpXSkudGhlbihuLmJpbmQobiwyODQwNDEpKTtyZXR1cm4gZSgpfWlmKCJjbW9uZXljb210dyI9PT1lKXtjb25zdHtnZXRDbW9uZXljb210d0NvcHlyaWdodERhdGE6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW24uZSg1OTk0MSksbi5lKDY0NDUpLG4uZSg3MTM5NCldKS50aGVuKG4uYmluZChuLDc3Nzc2OSkpO3JldHVybiBlKHQscil9aWYoIm5ldyI9PT1pKXtjb25zdHtnZXRUcmFkaW5nVmlld0NvcHlyaWdodERhdGE6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW24uZSg5Nzc5Nyksbi5lKDc2MDQwKV0pLnRoZW4obi5iaW5kKG4sOTgxMTU3KSk7cmV0dXJuIGUodCxyKX1pZigid2l0aF9ib3JkZXIiPT09aSl7CmNvbnN0e2dldFRyYWRpbmdWaWV3Q29weXJpZ2h0RGF0YTplfT1hd2FpdCBQcm9taXNlLmFsbChbbi5lKDUzNTIxKSxuLmUoMTY4MTMpXSkudGhlbihuLmJpbmQobiw4NTI2NjkpKTtyZXR1cm4gZSh0LHIpfWlmKCJsYXJnZV90cmFkZSI9PT1pKXtjb25zdHtnZXRUcmFkaW5nVmlld0NvcHlyaWdodERhdGE6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW24uZSg3NDAxMSksbi5lKDc5MDQxKV0pLnRoZW4obi5iaW5kKG4sNDkzNTU5KSk7cmV0dXJuIGUodCxyKX17Y29uc3R7Z2V0VHJhZGluZ1ZpZXdDb3B5cmlnaHREYXRhOmV9PWF3YWl0IFByb21pc2UuYWxsKFtuLmUoNTk5NDEpLG4uZSg5NzUwOSldKS50aGVuKG4uYmluZChuLDcwNTc5MCkpO3JldHVybiBlKHQscil9fW4uZCh0LHthZGRVdG1DYW1wYWlnblNvdXJjZTooKT0+cixnZXRDdXN0b21lckNvcHlyaWdodERhdGE6KCk9Pml9KX0sNzQ4MDAyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2dldFdpZGdldFNoZXJpZmZBY3Rpb25zOigpPT5sfSk7dmFyIHI9bigyMjEwNjEpLGk9bigzODQwMTcpLG89big1Mjg4NjQpO2NvbnN0IHM9d2luZG93LldJREdFVF9TSEVSSUZGX0hPU1R8fCJodHRwczovL3dpZGdldC1zaGVyaWZmLnhzdGFnaW5nLXdpZGdldC50diIsYT0oMCxyLmdldExvZ2dlcikoIldpZGdldFNoZXJpZmYuV2lkZ2V0Iik7bGV0IGM9bnVsbDthc3luYyBmdW5jdGlvbiBsKCl7cmV0dXJuIG51bGw9PT1jJiYoYz1hd2FpdCBhc3luYyBmdW5jdGlvbigpe2NvbnN0IGU9ZnVuY3Rpb24oKXtpZihkb2N1bWVudC5sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnMmJmRvY3VtZW50LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucy5sZW5ndGgpcmV0dXJuIGRvY3VtZW50LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2luc1tkb2N1bWVudC5sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnMubGVuZ3RoLTFdO3RyeXtyZXR1cm4gbmV3IFVSTChkb2N1bWVudC5yZWZlcnJlcikub3JpZ2lufWNhdGNoKGUpe3JldHVybiBkb2N1bWVudC5sb2NhdGlvbi5vcmlnaW58fG51bGx9fSgpO2lmKG51bGw9PT1lKXJldHVybiBhLmxvZ1dhcm4oImFuY2VzdG9yT3JpZ2luIGlzIHVuZGVmaW5lZCIpLFByb21pc2UucmVzb2x2ZShbXSk7Y29uc3QgdD1uZXcgVVJMKCIvc2hlcmlmZi9hcGkvdjEvcnVsZXMvc2VhcmNoIixzKTt0LnNlYXJjaFBhcmFtcy5hcHBlbmQoIm9yaWdpbiIsZSk7cmV0dXJuKGF3YWl0KDAsaS5mZXRjaCkodC50b0pTT04oKSkudGhlbigoZT0+e2lmKCFlLm9rKXRocm93IG5ldyBFcnJvcigiR3VhcmQgcmVxdWVzdCBlcnJvciBvY2N1cmVkIik7cmV0dXJuIDIwND09PWUuc3RhdHVzP1Byb21pc2UucmVzb2x2ZSh7YWN0aW9uczpbXX0pOmUuanNvbigpfSkpLmNhdGNoKChlPT4oYS5sb2dXYXJuKGUubWVzc2FnZSksUHJvbWlzZS5yZXNvbHZlKHthY3Rpb25zOltdfSkpKSkpLmFjdGlvbnMuZmlsdGVyKChlPT5vLndpZGdldFNoZXJpZmZBY3Rpb25zLmhhcyhlKSkpfSgpKSxQcm9taXNlLnJlc29sdmUoYyl9fSw1Mjg4NjQoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcjtuLmQodCx7S25vd25BY3Rpb246KCk9PnIsd2lkZ2V0U2hlcmlmZkFjdGlvbnM6KCk9Pml9KSxmdW5jdGlvbihlKXtlLkV4cGFuZD0iZXhwYW5kLWxvZ28iLGUuTGFyZ2VUcmFkZUxvZ289ImxhcmdlLXRyYWRlLWxvZ28ifShyfHwocj17fSkpO2NvbnN0IGk9bmV3IFNldChbci5FeHBhbmQsci5MYXJnZVRyYWRlTG9nb10pfSw0NzkzNChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtlbmFibGVkOigpPT5jLGdldENvbmZpZzooKT0+dSxnZXRQcm9kdWN0SWQ6KCk9PmF9KTt2YXIgcj1uKDUwMjU4NyksaT1uKDEyNzcxMSksbz1uKDMxODk3NCkscz1uKDIxMjIyOSk7ZnVuY3Rpb24gYShlKXtsZXQgdD13aW5kb3cudXNlcjsidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmd2luZG93LnVzZXImJih0PXdpbmRvdy51c2VyKSxlJiYodD1lKTtsZXQgbj10Py5wcm9fcGxhbnx8ImZyZWUiO3JldHVybiJmcmVlIiE9PW4mJiEoMCxzLmlzVHJpYWxQcm9kdWN0KShuKXx8KG49KDAscy5nZXRQcm9kdWN0Rm9yVHJpYWwpKG4pKSxufWZ1bmN0aW9uIGMoZSx0LG4pe2xldCByPXdpbmRvdy51c2VyO24mJihyPW4pO2NvbnN0IGk9dShlLHQscik7aWYoIWkpcmV0dXJuITE7aWYoaS5kaXNhYmxlX29uX3RyaWFsJiYoIXJ8fHIuaXNfdHJpYWwpKXJldHVybiExO2NvbnN0IHM9aS5kaXNhYmxlX29uX2xpdGVfcGxhbjtpZihzJiZyLmlzX2xpdGVfcGxhbil7aWYoImFsbCI9PT1zKXJldHVybiExO2lmKCJleGNsdWRlX21vYmlsZSI9PT1zJiYhby5DaGVja01vYmlsZS5hbnkoKSlyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiBsKGUpe2NvbnN0IHQ9cltlXTtyZXR1cm4gdD90LmV4dGVuZHM/T2JqZWN0LmFzc2lnbih7fSxsKHQuZXh0ZW5kcyksdCk6dDpudWxsfWZ1bmN0aW9uIHUoZSx0LG4pe2xldCByPWwodHx8KGEobik/PyIiKSk7aWYoIXIpcmV0dXJuIG51bGw7Y29uc3Qgbz13aW5kb3cuVHJhZGluZ1ZpZXc/LndpZGdldEN1c3RvbWVyO3JldHVybiBvJiZpW29dJiYocj1PYmplY3QuYXNzaWduKHt9LHIsaVtvXSkpLHImJnJbZV18fG51bGx9fSw0Mjk2NihlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KTt2YXIgcj1uKDg1NjMyNCksaT1uKDk2MzA5OCk7KDAsci5yZWdpc3Rlckxhbmd1YWdlR2V0dGVyKSgoKCk9PndpbmRvdy5sYW5ndWFnZXx8IiIpKSwoMCxyLnJlZ2lzdGVyTGFuZ3VhZ2VDb2RlTWFwcGVyKShpLmdldElzb0xhbmd1YWdlQ29kZUZyb21MYW5ndWFnZSl9LDYzMTYzNChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnZXRGcmVzaEluaXREYXRhOigpPT5zLGdldEluaXREYXRhOigpPT5vLHVwZGF0ZUluaXREYXRhOigpPT5pfSk7dmFyIHI9big3OTI2MTIpO2Z1bmN0aW9uIGkoKXsoMCxyLnVwZGF0ZUluaXREYXRhKSgpfWZ1bmN0aW9uIG8oKXtyZXR1cm4oMCxyLmdldEluaXREYXRhKSgpfWZ1bmN0aW9uIHMoKXtyZXR1cm4oMCxyLmdldEZyZXNoSW5pdERhdGEpKCl9fSw4NjIyMTMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7TG9nb1NpemU6KCk9PnIuTG9nb1NpemUsZ2V0TG9nb1VybFJlc29sdmVyOigpPT51fSkKO3ZhciByPW4oNjIwMzU0KSxpPW4oMTM4NjM4KSxvPW4oNjMxNjM0KSxzPW4oODEwNDEpO2NvbnN0IGE9KDAsbigyMjEwNjEpLmdldExvZ2dlcikoIkxvZ29VcmxSZXNvbHZlciIpO2NsYXNzIGN7Y29uc3RydWN0b3IoZSl7KDAsaS5hc3NlcnQpKCIiIT09ZSwiUzMgYmFzZSB1cmwgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmciKSx0aGlzLl9iYXNlVXJsPWV9Z2V0U3ltYm9sTG9nb1VybChlLHQpe2lmKCIiPT09ZSlyZXR1cm4gYS5sb2dXYXJuKCJsb2dvIGlkIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nIiksIiI7c3dpdGNoKHQpe2Nhc2Ugci5Mb2dvU2l6ZS5NZWRpdW06cmV0dXJuIHRoaXMuX2Jhc2VVcmwrYCR7ZX0uc3ZnYDtjYXNlIHIuTG9nb1NpemUuTGFyZ2U6cmV0dXJuIHRoaXMuX2Jhc2VVcmwrYCR7ZX0tLWJpZy5zdmdgfX1nZXRDb3VudHJ5RmxhZ1VybChlLHQpe3JldHVybiB0aGlzLmdldFN5bWJvbExvZ29VcmwoImNvdW50cnkvIitlLHQpfWdldFByb3ZpZGVyTG9nb1VybChlLHQpe3JldHVybiB0aGlzLmdldFN5bWJvbExvZ29VcmwoInByb3ZpZGVyLyIrZSx0KX1nZXRTb3VyY2VMb2dvVXJsKGUsdCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybCgic291cmNlLyIrZSx0KX1nZXRCbG9ja2NoYWluQ29udHJhY3RMb2dvVXJsKGUsdCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybCgiYmxvY2tjaGFpbi8iK2UsdCl9Z2V0Q2FuZGxlc3RpY2tQYXR0ZXJuTG9nb1VybChlLHQ9cy5TdGRUaGVtZS5MaWdodCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybChgY2FuZGxlcGF0dGVybi8ke2V9LSR7dH1gLHIuTG9nb1NpemUuTWVkaXVtKX19bGV0IGw7ZnVuY3Rpb24gdSgpe3JldHVybiBmdW5jdGlvbigpe2lmKCFsKXtjb25zdCBlPSgwLG8uZ2V0SW5pdERhdGEpKCksdD1lLnNldHRpbmdzP2Uuc2V0dGluZ3MuUzNfTE9HT19TRVJWSUNFX0JBU0VfVVJMOiIiO2w9bmV3IGModCl9cmV0dXJuIGx9KCl9fSw0MDAxODEoZSx0LG4peyJ1c2Ugc3RyaWN0Ijthc3luYyBmdW5jdGlvbiByKCl7Y29uc3R7Z2V0VHJhY2tlckluc3RhbmNlOmV9PWF3YWl0IFByb21pc2UuYWxsKFtuLmUoNzA2NDQpLG4uZSg5NTIwNyldKS50aGVuKG4uYmluZChuLDQ3NzE1MCkpO3JldHVybiBlKCl9bi5kKHQse2dldFRyYWNrZXI6KCk9PnJ9KX0sMTU2ODI5KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlKXtyZXR1cm4gdm9pZCAwIT09ZSYmZS5pbmNsdWRlcygiY3J5cHRvIil9ZnVuY3Rpb24gaShlKXtyZXR1cm4iYm9uZCI9PT1lfWZ1bmN0aW9uIG8oZSl7cmV0dXJuImVjb25vbWljIj09PWV9ZnVuY3Rpb24gcyhlKXtyZXR1cm4iZnV0dXJlcyI9PT1lfW4uZCh0LHtoYXNDcnlwdG9UeXBlc3BlYzooKT0+cixpc0JvbmQ6KCk9PmksaXNFY29ub21pY1N5bWJvbDooKT0+byxpc0Z1dHVyZXM6KCk9PnN9KX0sODUxNDU4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3Rva2VuaXplOigpPT5jfSk7dmFyIHIsaT1uKDkwMTAyMiksbz1uKDU2OTM5OCk7IWZ1bmN0aW9uKGUpe2UuU3ltYm9sPSJzeW1ib2wiLGUuSW5jb21wbGV0ZVN5bWJvbD0iaW5jb21wbGV0ZVN5bWJvbCIsZS5OdW1iZXI9Im51bWJlciIsZS5JbmNvbXBsZXRlTnVtYmVyPSJpbmNvbXBsZXRlTnVtYmVyIixlLlNlcGFyYXRvclByZWZpeD0ic2VwYXJhdG9yUHJlZml4IixlLk9wZW5CcmFjZT0ib3BlbkJyYWNlIixlLkNsb3NlQnJhY2U9ImNsb3NlQnJhY2UiLGUuUGx1cz0icGx1cyIsZS5NaW51cz0ibWludXMiLGUuTXVsdGlwbHk9Im11bHRpcGx5IixlLkRpdmlkZT0iZGl2aWRlIixlLlBvd2VyPSJwb3dlciIsZS5XaGl0ZXNwYWNlPSJ3aGl0ZXNwYWNlIixlLlVucGFyc2VkPSJ1bnBhcnNlZCJ9KHJ8fChyPXt9KSk7Y29uc3Qgcz0vKD86W14tK1wvKl5cc10nfFthLXpBLVowLTlfXHUwMzcwLVx1MUZGRl9cdTJFODAtXHVGRkZGXSkoPzpbXi0rXC8qXlxzXSd8W2EtekEtWjAtOV9cdTAwMjBcdTAzNzAtXHUxRkZGX1x1MkU4MC1cdUZGRkZfIXw6LiZdKSp8Jy4rPycvLGE9KGU9KDAsby5pc0ZlYXR1cmVFbmFibGVkKSgiYWxsb3dfdHJhaWxpbmdfd2hpdGVzcGFjZV9pbl9udW1iZXJfdG9rZW4iKSk9Pih7bnVtYmVyOmU/L1xkKyg/OlwuXGQqfCg/IVthLXpBLVowLTlfITouJl0pKSg/OlxzKig/PVxzKiQpKT98XC5cZCsoPzpccyooPz1ccyokKSk/LzovXGQrKD86XC5cZCp8KD8hW2EtekEtWjAtOV8hOi4mXSkpfFwuXGQrLyxpbmNvbXBsZXRlTnVtYmVyOi9cLi8sc3ltYm9sOnMsaW5jb21wbGV0ZVN5bWJvbDovJ1teJ10qLyxzZXBhcmF0b3JQcmVmaXg6aS5TRVBBUkFUT1JfUFJFRklYLG9wZW5CcmFjZToiKCIsY2xvc2VCcmFjZToiKSIscGx1czoiKyIsbWludXM6Ii0iLG11bHRpcGx5OiIqIixkaXZpZGU6Ii8iLHBvd2VyOiJeIix3aGl0ZXNwYWNlOi9bXDAtXHgyMFxzXSsvLHVucGFyc2VkOm51bGx9KTtmdW5jdGlvbiBjKGUsdD1hKCkpe2lmKCFlKXJldHVybltdO2NvbnN0IG49W10scj1PYmplY3Qua2V5cyh0KTtsZXQgaTtjb25zdCBvPSgoZT1hKCkpPT5uZXcgUmVnRXhwKE9iamVjdC52YWx1ZXMoZSkubWFwKChlPT57cmV0dXJuIG51bGw9PT1lPyIiOmAoJHsic3RyaW5nIj09dHlwZW9mIGU/KHQ9ZSx0LnJlcGxhY2UoL1tcXiQoKVtcXXt9Kis/fFxcXS9nLCJcXCQmIikpOmUuc291cmNlfSlgO3ZhciB0fSkpLmZpbHRlcigoZT0+IiIhPT1lKSkuY29uY2F0KCIuIikuam9pbigifCIpLCJnIikpKHQpO2Zvcig7aT1vLmV4ZWMoZSk7KXtsZXQgZT0hMTtmb3IobGV0IHQ9ci5sZW5ndGg7dC0tOylpZihpW3QrMV0pe3JbdF0mJm4ucHVzaCh7dmFsdWU6aVt0KzFdLHR5cGU6clt0XSxwcmVjZWRlbmNlOjAsb2Zmc2V0OmkuaW5kZXh9KSxlPSEwO2JyZWFrfWV8fG4ucHVzaCh7dmFsdWU6aVswXSx0eXBlOiJ1bnBhcnNlZCIscHJlY2VkZW5jZTowLG9mZnNldDppLmluZGV4fSl9cmV0dXJuIG59fSw3OTUzODMoZSx0LG4pe24oMzYzMjY5KS5zZXRDbGFzc2VzKCksbig0Mjk2Niksbig2MTAyNjgpO3ZhciByPW4oNzQ5NjQ4KS53aGVuRG9jdW1lbnRSZWFkeSxpPW4oOTMxMTk4KS5oYW5kbGVUVkxpbmtzQ2xpY2s7cigoKCk9PntpKCl9KSl9LAo3OTgzOChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtTVFlMRV9TSE9SVF9OQU1FUzooKT0+cyxTWU1CT0xfU1RSSU5HX0RBVEE6KCk9PmwsaXNDaGFydFN0eWxlU3R1ZHlJbmZvQ29tcGxleDooKT0+YX0pO24oNTgwMzcpO3ZhciByPW4oNzI4NDM2KSxpPW4oNzc3NjYxKSxvPW4oNTUwMzkzKTtuZXcgU2V0KFszLDYsNyw4LDksMTFdKSxuZXcgU2V0KFsxLDJdKTtjb25zdCBzPXswOiJiYXIiLDE6ImNhbmRsZSIsOToiaG9sbG93Q2FuZGxlIiwyOiJsaW5lIiwxNDoibGluZVdpdGhNYXJrZXJzIiwxNToic3RlcGxpbmUiLDM6ImFyZWEiLDE2OiJobGNBcmVhIiw0OiJyZW5rbyIsNzoicGIiLDU6ImthZ2kiLDY6InBuZiIsODoiaGEiLDEwOiJiYXNlbGluZSIsMTE6InJhbmdlIiwxMjoiaGlsbyIsMTM6ImNvbHVtbiIsMTc6InZvbEZvb3RwcmludCIsMTg6InRwbyIsMTk6InZvbENhbmRsZXMiLDIwOiJzdnAiLDIxOiJobGNCYXJzIn07ZnVuY3Rpb24gYShlKXtyZXR1cm4idmFyaWFudHMiaW4gZX1jb25zdCBjPVt7dHlwZTppLnN0dWR5VHBvUHJlcmlvZGljSWQsYmFzaWNTdHVkeVZlcnNpb246MTA0fSx7dHlwZTppLnN0dWR5VHBvU2Vzc2lvbnNJZCxiYXNpY1N0dWR5VmVyc2lvbjoxMDR9XSxsPXs0Ont0eXBlOiJCYXJTZXRSZW5rb0B0di1wcm9zdHVkaWVzIixiYXNpY1N0dWR5VmVyc2lvbjo3M30sNzp7dHlwZToiQmFyU2V0UHJpY2VCcmVha0B0di1wcm9zdHVkaWVzIixiYXNpY1N0dWR5VmVyc2lvbjozNH0sNTp7dHlwZToiQmFyU2V0S2FnaUB0di1wcm9zdHVkaWVzIixiYXNpY1N0dWR5VmVyc2lvbjo3M30sNjp7dHlwZToiQmFyU2V0UG5GQHR2LXByb3N0dWRpZXMiLGJhc2ljU3R1ZHlWZXJzaW9uOjczfSw4Ont0eXBlOiJCYXJTZXRIZWlrZW5Bc2hpQHR2LWJhc2ljc3R1ZGllcyIsYmFzaWNTdHVkeVZlcnNpb246NjB9LDExOnt0eXBlOiJCYXJTZXRSYW5nZUB0di1iYXNpY3N0dWRpZXMiLGJhc2ljU3R1ZHlWZXJzaW9uOjcyfSwxNzp7dHlwZTpyLnN0dWR5Vm9sRm9vdHByaW50SWQsYmFzaWNTdHVkeVZlcnNpb246MTA0fSwxODp7dmFyaWFudHM6YyxzZWxlY3RvcjplPT57Y29uc3QgdD1lO3JldHVybiJEYXkiPT09dC5wZXJpb2QmJjE9PT10LnBlcmlvZHNOdW0/Y1sxXTpjWzBdfX0sMjA6e3R5cGU6by5zdHVkeVZiUFNlc3Npb25zSWQsYmFzaWNTdHVkeVZlcnNpb246MTI2fX19LDYxMDI2OChlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KSwoMCxuKDExNTI5Mykuc2V0RG9jdW1lbnREaXJHZXR0ZXIpKCgoKT0+d2luZG93LmRvY3VtZW50LmRpcikpfSw5NjM5MDAoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcjshZnVuY3Rpb24oZSl7ZS5FbXB0eT0iIixlLlRlY2huaWNhbHNQYXRoPSJ0ZWNobmljYWxzLyIsZS5GaW5hbmNpYWxzT3ZlcnZpZXdQYXRoPSJmaW5hbmNpYWxzLW92ZXJ2aWV3LyIsZS5UaW1lbGluZVBhdGg9Imhpc3RvcnktdGltZWxpbmUvIixlLk5ld3NQYXRoPSJuZXdzLyIsZS5PcHRpb25zUGF0aD0ib3B0aW9ucy8iLGUuUHJvZmlsZVBhdGg9InByb2ZpbGUvIixlLkhvbGRpbmdzUGF0aD0iaG9sZGluZ3MvIn0ocnx8KHI9e30pKX0sMjEyMjI5KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NVU1RPTV9TVUZGSVg6KCk9PmEsRUFfU1VGRklYOigpPT5zLFRSSUFMX1NVRkZJWDooKT0+byxiaWxsaW5nQ3ljbGVUb01vbnRoOigpPT52LGJpbGxpbmdDeWNsZVRvVGltZVVuaXQ6KCk9PmMsY291bnREaXNjb3VudEJ5QmlsbGluZ0N5Y2xlOigpPT55LGdldERpc2NvdW50UHJvZHVjdElkOigpPT5nLGdldFBsYW5OYW1lOigpPT54LGdldFByb2R1Y3RGb3JUcmlhbDooKT0+cCxnZXRSZWFkYWJsZUN5Y2xlOigpPT5sLGdldFJlYWRhYmxlTnVtZXJpY0N5Y2xlOigpPT51LGdldFJlbGF0aXZlQW1vdW50T2ZEYXlzRnJvbUJpbGxpbmdDeWNsZTooKT0+aCxodW1hbml6ZUNhcmRQbGFuOigpPT5tLGh1bWFuaXplUHJvUGxhbjooKT0+Zixpc1RyaWFsUHJvZHVjdDooKT0+ZCxyb3VuZDA6KCk9PmIscm91bmQyOigpPT53LHJvdW5kMm9yMDooKT0+X30pO24oODI5MTgwKTt2YXIgcj1uKDE4NTI3MSksaT1uKDg2NDAzNCk7Y29uc3Qgbz0iX3RyaWFsIixzPSJfZGlzY291bnQiLGE9Il9jdXN0b20iO2Z1bmN0aW9uIGMoZSl7cmV0dXJue3k6ci50KG51bGwse3BsdXJhbDoieWVhcnMiLGNvdW50OjF9LG4oNDQyNjY2KSksbTpyLnQobnVsbCx7cGx1cmFsOiJtb250aHMiLGNvdW50OjF9LG4oMzIzNDg1KSksIjNtIjpyLnQobnVsbCx2b2lkIDAsbig4NjM4NTIpKX1bZV18fCIifWZ1bmN0aW9uIGwoZSl7cmV0dXJue206ci50KG51bGwsdm9pZCAwLG4oNTU2NTY4KSkseTpyLnQobnVsbCx2b2lkIDAsbig3MjExMTgpKSwiM20iOnIudChudWxsLHZvaWQgMCxuKDMyODAzMCkpfVtlXXx8IiJ9ZnVuY3Rpb24gdShlKXtyZXR1cm57W2kuQmlsbGluZ0N5Y2xlLk1vbnRobHldOnIudChudWxsLHZvaWQgMCxuKDU1NjU2OCkpLFtpLkJpbGxpbmdDeWNsZS5PbmVZZWFyXTpyLnQobnVsbCx2b2lkIDAsbigxMTE5NzYpKSxbaS5CaWxsaW5nQ3ljbGUuVGhyZWVNb250aHNdOnIudChudWxsLHZvaWQgMCxuKDMyODAzMCkpfVtlXXx8IiJ9ZnVuY3Rpb24gZChlKXtyZXR1cm4gbmV3IFJlZ0V4cChvKyIkIikudGVzdChlKX1mdW5jdGlvbiBwKGUpe3JldHVybiBlLnNwbGl0KG8pWzBdfWZ1bmN0aW9uIGcoZSx0LG4pe3JldHVybmAke2V9XyR7dH0ke259YH1mdW5jdGlvbiBmKGUsdCl7bGV0IGk9ZTtzd2l0Y2goZSl7Y2FzZSJmcmVlIjppPSJCYXNpYyI7YnJlYWs7Y2FzZSJwcm8iOmk9IkVzc2VudGlhbCI7YnJlYWs7Y2FzZSJwcm9fcmVhbHRpbWUiOmk9IlBsdXMiO2JyZWFrO2Nhc2UicHJvX3ByZW1pdW0iOmk9IlByZW1pdW0iO2JyZWFrO2Nhc2UicHJvX2V4cGVydCI6aT0iRXhwZXJ0IjticmVhaztjYXNlInByb19wcmVtaXVtX2V4cGVydCI6aT0iVWx0aW1hdGUifXJldHVybiB0JiYoaSs9IiAiK3IudChudWxsLHZvaWQgMCxuKDgzNTgpKSksaX1mdW5jdGlvbiBtKGUpe2xldCB0PWU7c3dpdGNoKGUpe2Nhc2UicHJvIjp0PSJFc3NlbnRpYWwiO2JyZWFrO2Nhc2UicHJvX3JlYWx0aW1lIjp0PSJQbHVzIjticmVhawo7Y2FzZSJwcm9fcHJlbWl1bSI6dD0iUHJlbWl1bSI7YnJlYWs7Y2FzZSJwcm9fZXhwZXJ0Ijp0PSJFeHBlcnQiO2JyZWFrO2Nhc2UicHJvX3ByZW1pdW1fZXhwZXJ0Ijp0PSJVbHRpbWF0ZSI7YnJlYWs7Y2FzZSJmcmVlIjp0PSJCYXNpYyJ9cmV0dXJuIHR9ZnVuY3Rpb24gaChlLHQpe2NvbnN0IG49dHx8bmV3IERhdGUscj12KGUpLGk9bi5nZXRNb250aCgpK3Isbz1uZXcgRGF0ZShuZXcgRGF0ZShuKS5zZXRNb250aChpKSk7cmV0dXJuIG8uZ2V0TW9udGgoKT5pJTEyJiZvLnNldERhdGUoMCksZnVuY3Rpb24oZSx0KXtjb25zdCBuPXQuZ2V0VGltZSgpLWUuZ2V0VGltZSgpO3JldHVybiBNYXRoLnJvdW5kKG4vMWUzLzYwLzYwLzI0KX0obixvKX1mdW5jdGlvbiB5KGUsdCxuKXtyZXR1cm4gTWF0aC5yb3VuZCgodC1lKSp2KG4pKX1mdW5jdGlvbiB2KGUpe3N3aXRjaChlKXtjYXNlIGkuQmlsbGluZ0N5Y2xlLk9uZVllYXI6cmV0dXJuIDEyO2Nhc2UgaS5CaWxsaW5nQ3ljbGUuVGhyZWVNb250aHM6cmV0dXJuIDM7ZGVmYXVsdDpyZXR1cm4gMX19ZnVuY3Rpb24gdyhlKXtyZXR1cm4oTWF0aC5yb3VuZCgxMDAqZSkvMTAwKS50b0ZpeGVkKDIpfWZ1bmN0aW9uIGIoZSl7Y29uc3QgdD1NYXRoLnJvdW5kKDEwMCplKS8xMDA7cmV0dXJuIE1hdGgucm91bmQodCkudG9GaXhlZCgwKX1mdW5jdGlvbiBfKGUpe2NvbnN0IHQ9TWF0aC5yb3VuZCgxMDAqZSkvMTAwLG49TWF0aC5yb3VuZCh0KTtyZXR1cm4gTWF0aC5hYnModC1uKT4wP3QudG9GaXhlZCgyKTpuLnRvRml4ZWQoMCl9ZnVuY3Rpb24geChlKXtjb25zdCB0PXIudChudWxsLHZvaWQgMCxuKDE1Mzc2NikpO2lmKGQoZSkpe2NvbnN0IG49ZihwKGUpKTtyZXR1cm4gdC5mb3JtYXQoe3Byb1BsYW5OYW1lOm59KX1yZXR1cm4gZihlKX19LDQ0MzU1NyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtwYXJzZUh0bWw6KCk9Pm8scGFyc2VIdG1sRWxlbWVudDooKT0+c30pO2NvbnN0IHI9bmV3IFdlYWtNYXA7dmFyIGk7ZnVuY3Rpb24gbyhlLHQpe2xldCBuLGk7cmV0dXJuIG49bnVsbD09dD9kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ6OT09PXQubm9kZVR5cGU/dC5kb2N1bWVudEVsZW1lbnQ6dCxyJiYoaT1yLmdldChuKSksaXx8KGk9bi5vd25lckRvY3VtZW50LmNyZWF0ZVJhbmdlKCksaS5zZWxlY3ROb2RlQ29udGVudHMobiksciYmci5zZXQobixpKSksaS5jcmVhdGVDb250ZXh0dWFsRnJhZ21lbnQoZSl9ZnVuY3Rpb24gcyhlLHQpe2NvbnN0IG49byhlLHQpLHI9bi5maXJzdEVsZW1lbnRDaGlsZDtyZXR1cm4gbnVsbCE9PXImJm4ucmVtb3ZlQ2hpbGQocikscn0hZnVuY3Rpb24oZSl7ZVtlLkVsZW1lbnQ9MV09IkVsZW1lbnQiLGVbZS5Eb2N1bWVudD05XT0iRG9jdW1lbnQifShpfHwoaT17fSkpfSw5MzExOTgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7aGFuZGxlVFZMaW5rc0NsaWNrOigpPT5hfSk7dmFyIHI9big0MDAxODEpLGk9big2MDE1ODcpLG89big3MzA2NDUpO2NvbnN0IHM9ImlnbHU6Y29tLnRyYWRpbmd2aWV3L3dpZGdldF90dl9saW5rX2NsaWNrL2pzb25zY2hlbWEvMS0wLTAiO2Z1bmN0aW9uIGEoKXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKGU9Pntjb25zdCB0PWUudGFyZ2V0LmNsb3Nlc3QoIjpsaW5rIik7dD8uaG9zdG5hbWUmJigwLG8uaXNJbnRlcm5hbEhvc3QpKHQuaG9zdG5hbWUsInRyYWRpbmd2aWV3LmNvbSIpJiZhc3luYyBmdW5jdGlvbihlLHQpe2NvbnN0IG49ZnVuY3Rpb24oKXtjb25zdCBlPXdpbmRvdy5pbml0RGF0YS5oYXNoU2V0dGluZ3M7aWYoT2JqZWN0LmtleXMoZSkubGVuZ3RoPjApcmV0dXJuKDAsaS5maWx0ZXJVdG1JbmZvKShlKTtjb25zdCB0PW5ldyBVUkxTZWFyY2hQYXJhbXMobG9jYXRpb24uaHJlZik7cmV0dXJue3V0bV9jYW1wYWlnbjp0LmdldCgidXRtX2NhbXBhaWduIil8fHZvaWQgMCx1dG1fc291cmNlOnQuZ2V0KCJ1dG1fc291cmNlIil8fHZvaWQgMH19KCk7KGF3YWl0KDAsci5nZXRUcmFja2VyKSgpKT8udHJhY2tTZWxmRGVzYyhzLHt3aWRnZXRfdHlwZTpsKG4pLGRvbWFpbjpjKG4pLGxpbms6ZSx0YXJnZXRfdHlwZTp0fSl9KHQuaHJlZix0LmRhdGFzZXQudGFyZ2V0VHlwZXx8bnVsbCl9KSl9ZnVuY3Rpb24gYyhlKXtjb25zdCB0PWxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucz8uWzBdfHxkb2N1bWVudC5yZWZlcnJlcjtyZXR1cm4gZS51dG1fc291cmNlfHxmdW5jdGlvbihlKXt0cnl7cmV0dXJuIG5ldyBVUkwoZSkuaG9zdH1jYXRjaChlKXtyZXR1cm4iIn19KHQpfWZ1bmN0aW9uIGwoZSl7aWYoZS51dG1fY2FtcGFpZ24pcmV0dXJuIGUudXRtX2NhbXBhaWduO2NvbnN0IHQ9bG9jYXRpb24ucGF0aG5hbWU7cmV0dXJuIHQuaW5jbHVkZXMoImVtYmVkLXdpZGdldCIpP3Quc3BsaXQoIi8iKVsyXTp0fX0sMzg5Mjk4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3RyYWNrV2lkZ2V0TG9hZE1ldGFJbmZvOigpPT5pfSk7dmFyIHI9big0MDAxODEpO2FzeW5jIGZ1bmN0aW9uIGkoZSl7TWF0aC5yYW5kb20oKT4uMDA1fHwoYXdhaXQoMCxyLmdldFRyYWNrZXIpKCkpPy50cmFja1NlbGZEZXNjKCJpZ2x1OmNvbS50cmFkaW5ndmlldy93aWRnZXRfbG9hZF9tZXRhX2luZm8vanNvbnNjaGVtYS8xLTAtMCIsZSl9fSw5MDIxMDAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZXh0cmFjdFdpZGdldFNldHRpbmdzOigpPT5pfSk7Y29uc3Qgcj17d2hpdGVsYWJlbDohMCxwZXJtaXNzaW9uT3ZlcnJpZGVzOiEwLGxpbmtDYXB0dXJpbmdBbGxvd2VkOiEwLHN5bWJvbF9zZWFyY2hfZGVmYXVsdF9leGNoYW5nZTohMCxzeW1ib2xfc2VhcmNoX2FsbG93ZWRfZXhjaGFuZ2VzOiEwfTtmdW5jdGlvbiBpKGUsdD1bXSxuKXtyZXR1cm4gZnVuY3Rpb24oZSx0LG4saT1bXSxvKXtjb25zdCBzPW4uc2xpY2UoMSksYT1kZWNvZGVVUklDb21wb25lbnQocyk7bGV0IGM9e307dHJ5eyIiIT09YSYmKGM9SlNPTi5wYXJzZShhKSx2b2lkIDAhPT1vJiZvKGUsYyksT2JqZWN0LmtleXMoYykuZm9yRWFjaCgoZT0+eyhyW2VdfHxpLmluY2x1ZGVzKGUpKSYmZGVsZXRlIGNbZV19KSkpfWNhdGNoKGUpe2M9e30sCmNvbnNvbGUud2FybigiSGFzaCBwYXJhbXMgcGFyc2luZyBlcnJvciEgSGFzaCBwYXJhbXMgaWdub3JlZC4iKX1jb25zdCBsPXQuc2xpY2UoMSksdT10LmluY2x1ZGVzKCIlIik/ZGVjb2RlVVJJQ29tcG9uZW50KGwpOnQsZD1uZXcgVVJMU2VhcmNoUGFyYW1zKHUpO2xldCBwPXt9O3RyeXtkLmZvckVhY2goKChlLHQpPT57aS5pbmNsdWRlcyh0KXx8KHBbdF09ZSl9KSksdm9pZCAwIT09byYmbyhlLHApfWNhdGNoKGUpe3A9e30sY29uc29sZS53YXJuKCJTZWFyY2ggcXVlcnkgcGFyYW1zIHBhcnNpbmcgZXJyb3IhIFNlYXJjaCBxdWVyeSBwYXJhbXMgaWdub3JlZC4iKX1yZXR1cm4gT2JqZWN0LmFzc2lnbih7fSxlLGMscCl9KGUsbG9jYXRpb24uc2VhcmNoLGxvY2F0aW9uLmhhc2gsdCxuKX19LDI1NDY3MyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtJbnRlcnZhbDooKT0+dSxSZXNvbHV0aW9uS2luZDooKT0+byxTcGVjaWFsUmVzb2x1dGlvbktpbmQ6KCk9PnN9KTtjb25zdCByPS9eKFxkKikoW1RTSERXTVJdKSQvLGk9L14oXGQrKSQvO3ZhciBvLHM7IWZ1bmN0aW9uKGUpe2UuVGlja3M9InRpY2tzIixlLlNlY29uZHM9InNlY29uZHMiLGUuTWludXRlcz0ibWludXRlcyIsZS5EYXlzPSJkYXlzIixlLldlZWtzPSJ3ZWVrcyIsZS5Nb250aHM9Im1vbnRocyIsZS5SYW5nZT0icmFuZ2UiLGUuSW52YWxpZD0iaW52YWxpZCJ9KG98fChvPXt9KSksZnVuY3Rpb24oZSl7ZS5Ib3Vycz0iaG91cnMifShzfHwocz17fSkpO2NvbnN0IGE9e307YVtvLlRpY2tzXT0xZTMsYVtvLlNlY29uZHNdPTFlMyxhW28uTWludXRlc109NjAqYVtvLlNlY29uZHNdLGFbby5EYXlzXT0xNDQwKmFbby5NaW51dGVzXSxhW28uV2Vla3NdPTcqYVtvLkRheXNdO2NvbnN0IGM9e1Q6by5UaWNrcyxTOm8uU2Vjb25kcyxEOm8uRGF5cyxXOm8uV2Vla3MsTTpvLk1vbnRocyxSOm8uUmFuZ2V9LGw9bmV3IFNldChbby5UaWNrcyxvLlNlY29uZHMsby5NaW51dGVzXSk7Y2xhc3MgdXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2tpbmQ9by5JbnZhbGlkLHRoaXMuX211bHRpcGxpZXI9MCxlIT09by5JbnZhbGlkJiZ0PjAmJih0aGlzLl9raW5kPWUsdGhpcy5fbXVsdGlwbGllcj10KX1raW5kKCl7cmV0dXJuIHRoaXMuX2tpbmR9Z3VpS2luZCgpe3JldHVybiB0aGlzLmlzTWludXRlSG91cnMoKT9zLkhvdXJzOnRoaXMuX2tpbmR9bXVsdGlwbGllcigpe3JldHVybiB0aGlzLl9tdWx0aXBsaWVyfWlzVmFsaWQoKXtyZXR1cm4gdGhpcy5raW5kKCkhPT1vLkludmFsaWQmJnRoaXMubXVsdGlwbGllcigpPjB9aXNEV00oKXtyZXR1cm4gdGhpcy5pc1ZhbGlkKCkmJiF0aGlzLmlzUmFuZ2UoKSYmIXRoaXMuaXNJbnRyYWRheSgpJiYhdGhpcy5pc1RpY2tzKCl9aXNJbnRyYWRheSgpe2NvbnN0IGU9bC5oYXModGhpcy5raW5kKCkpO3JldHVybiB0aGlzLmlzVmFsaWQoKSYmZX1pc1NlY29uZHMoKXtyZXR1cm4gdGhpcy5raW5kKCk9PT1vLlNlY29uZHN9aXNNaW51dGVzKCl7cmV0dXJuIHRoaXMua2luZCgpPT09by5NaW51dGVzfWlzTWludXRlSG91cnMoKXtyZXR1cm4gdGhpcy5raW5kKCk9PT1vLk1pbnV0ZXMmJigoZT10aGlzLm11bHRpcGxpZXIoKSk+PTYwJiYhKGUlNjApKTt2YXIgZX1pc0RheXMoKXtyZXR1cm4gdGhpcy5raW5kKCk9PT1vLkRheXN9aXNXZWVrcygpe3JldHVybiB0aGlzLmtpbmQoKT09PW8uV2Vla3N9aXNNb250aHMoKXtyZXR1cm4gdGhpcy5raW5kKCk9PT1vLk1vbnRoc31pc1JhbmdlKCl7cmV0dXJuIHRoaXMua2luZCgpPT09by5SYW5nZX1pc1RpY2tzKCl7cmV0dXJuIHRoaXMua2luZCgpPT09by5UaWNrc31pczFUaWNrKCl7cmV0dXJuIHRoaXMuaXNUaWNrcygpJiYxPT09dGhpcy5tdWx0aXBsaWVyKCl9aXNUaW1lQmFzZWQoKXtyZXR1cm4hdGhpcy5pc1JhbmdlKCl9bGV0dGVyKCl7cmV0dXJuIHRoaXMuaXNWYWxpZCgpJiZ0aGlzLmtpbmQoKSE9PW8uTWludXRlcz90aGlzLmtpbmQoKVswXS50b1VwcGVyQ2FzZSgpOiIifXZhbHVlKCl7cmV0dXJuIHRoaXMuaXNWYWxpZCgpP3RoaXMua2luZCgpPT09by5NaW51dGVzP3RoaXMubXVsdGlwbGllcigpKyIiOnRoaXMubXVsdGlwbGllcigpK3RoaXMubGV0dGVyKCk6IiJ9aXNFcXVhbFRvKGUpe2lmKCEoZSBpbnN0YW5jZW9mIHUpKXRocm93IG5ldyBFcnJvcigiQXJndW1lbnQgaXMgbm90IGFuIEludGVydmFsIik7cmV0dXJuISghdGhpcy5pc1ZhbGlkKCl8fCFlLmlzVmFsaWQoKSkmJih0aGlzLmtpbmQoKT09PWUua2luZCgpJiZ0aGlzLm11bHRpcGxpZXIoKT09PWUubXVsdGlwbGllcigpKX1pbk1pbGxpc2Vjb25kcyhlPURhdGUubm93KCkpe2lmKCF0aGlzLmlzVmFsaWQoKXx8dGhpcy5pc1JhbmdlKCkpcmV0dXJuIE5hTjtpZih0aGlzLmlzTW9udGhzKCkpe2NvbnN0IHQ9bmV3IERhdGUoZSk7dC5zZXRVVENNb250aCh0LmdldFVUQ01vbnRoKCkrKHRoaXMubXVsdGlwbGllcigpfHwxKSk7cmV0dXJuK3QtZX1jb25zdCB0PXRoaXMubXVsdGlwbGllcigpO3JldHVybiBhW3RoaXMua2luZCgpXSp0fXN0YXRpYyBpc0VxdWFsKGUsdCl7cmV0dXJuIGU9PT10fHx1LnBhcnNlKGUpLmlzRXF1YWxUbyh1LnBhcnNlKHQpKX1zdGF0aWMgcGFyc2VFeHQoZSl7ZT0oZSsiIikudG9VcHBlckNhc2UoKS5zcGxpdCgiLCIpWzBdO2xldCB0PXIuZXhlYyhlKTtyZXR1cm4gbnVsbCE9PXQ/IkgiPT09dFsyXT97aW50ZXJ2YWw6bmV3IHUoby5NaW51dGVzLDYwKmQodFsxXSkpLGd1aVJlc29sdXRpb25LaW5kOnMuSG91cnN9OntpbnRlcnZhbDpuZXcgdShjW3RbMl1dLGQodFsxXSkpLGd1aVJlc29sdXRpb25LaW5kOmNbdFsyXV19Oih0PWkuZXhlYyhlKSxudWxsIT09dD97aW50ZXJ2YWw6bmV3IHUoby5NaW51dGVzLGQodFsxXSkpLGd1aVJlc29sdXRpb25LaW5kOm8uTWludXRlc306e2ludGVydmFsOm5ldyB1KG8uSW52YWxpZCwwKSxndWlSZXNvbHV0aW9uS2luZDpvLkludmFsaWR9KX1zdGF0aWMgcGFyc2UoZSl7cmV0dXJuIHUucGFyc2VFeHQoZSkuaW50ZXJ2YWx9c3RhdGljIGtpbmQoZSl7cmV0dXJuIHUucGFyc2UoZSkua2luZCgpfXN0YXRpYyBpc1ZhbGlkKGUpe3JldHVybiB1LnBhcnNlKGUpLmlzVmFsaWQoKQp9c3RhdGljIGlzRFdNKGUpe3JldHVybiB1LnBhcnNlKGUpLmlzRFdNKCl9c3RhdGljIGlzSW50cmFkYXkoZSl7cmV0dXJuIHUucGFyc2UoZSkuaXNJbnRyYWRheSgpfXN0YXRpYyBpc1NlY29uZHMoZSl7cmV0dXJuIHUucGFyc2UoZSkuaXNTZWNvbmRzKCl9c3RhdGljIGlzTWludXRlcyhlKXtyZXR1cm4gdS5wYXJzZShlKS5pc01pbnV0ZXMoKX1zdGF0aWMgaXNNaW51dGVIb3VycyhlKXtyZXR1cm4gdS5wYXJzZShlKS5pc01pbnV0ZUhvdXJzKCl9c3RhdGljIGlzRGF5cyhlKXtyZXR1cm4gdS5wYXJzZShlKS5pc0RheXMoKX1zdGF0aWMgaXNXZWVrcyhlKXtyZXR1cm4gdS5wYXJzZShlKS5pc1dlZWtzKCl9c3RhdGljIGlzTW9udGhzKGUpe3JldHVybiB1LnBhcnNlKGUpLmlzTW9udGhzKCl9c3RhdGljIGlzUmFuZ2UoZSl7cmV0dXJuIHUucGFyc2UoZSkuaXNSYW5nZSgpfXN0YXRpYyBpc1RpY2tzKGUpe3JldHVybiB1LnBhcnNlKGUpLmlzVGlja3MoKX1zdGF0aWMgaXNUaW1lQmFzZWQoZSl7cmV0dXJuIHUucGFyc2UoZSkuaXNUaW1lQmFzZWQoKX1zdGF0aWMgbm9ybWFsaXplKGUpe2NvbnN0IHQ9dS5wYXJzZShlKTtyZXR1cm4gdC5pc1ZhbGlkKCk/dC52YWx1ZSgpOm51bGx9fWZ1bmN0aW9uIGQoZSl7cmV0dXJuIDA9PT1lLmxlbmd0aD8xOnBhcnNlSW50KGUsMTApfX0sNzM4NDU4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2lzQW5kcm9pZDooKT0+Zyxpc0FueU1vYmlsZTooKT0+dixpc0JsYWNrQmVycnk6KCk9PmYsaXNDaHJvbWU6KCk9PmEsaXNFZGdlOigpPT5sLGlzRkY6KCk9PmMsaXNJT1M6KCk9Pm0saXNJUGFkOigpPT55LGlzTGludXg6KCk9PnAsaXNNYWM6KCk9PmQsaXNPcGVyYU1pbmk6KCk9PmgsaXNTYWZhcmk6KCk9PnUsbW9iaWxldG91Y2g6KCk9Pm8sdG91Y2g6KCk9PnN9KTtjb25zdCByPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiYidW5kZWZpbmVkIiE9dHlwZW9mIG5hdmlnYXRvcixpPXImJiJvbnRvdWNoc3RhcnQiaW4gd2luZG93LG89ciYmaSYmIm9ub3JpZW50YXRpb25jaGFuZ2UiaW4gd2luZG93LHM9ciYmKGl8fCEhbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzKSxhPXImJndpbmRvdy5jaHJvbWUmJndpbmRvdy5jaHJvbWUucnVudGltZSxjPXImJndpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkuaW5kZXhPZigiZmlyZWZveCIpPi0xLGw9ciYmL1xzRWRnZVwvXGRcZFxiLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLHU9ciYmQm9vbGVhbihuYXZpZ2F0b3IudmVuZG9yKSYmbmF2aWdhdG9yLnZlbmRvci5pbmRleE9mKCJBcHBsZSIpPi0xJiYtMT09PW5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiQ3JpT1MiKSYmLTE9PT1uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIkZ4aU9TIiksZD1yJiYvbWFjL2kudGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pLHA9KHImJi9XaW4zMnxXaW42NC9pLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSxyJiYvTGludXgvaS50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSkpLGc9ciYmL0FuZHJvaWQvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGY9ciYmL0JsYWNrQmVycnkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLG09ciYmL2lQaG9uZXxpUGFkfGlQb2QvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSxoPXImJi9PcGVyYSBNaW5pL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSx5PXImJigiTWFjSW50ZWwiPT09bmF2aWdhdG9yLnBsYXRmb3JtJiZuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHM+MXx8L2lQYWQvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSksdj1nfHxmfHxtfHxofX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"tvc-invdn-cf-com.investing.com/tool/1.12.10/static/bundles/vendors.a94ef44ed5c201cefcf6ad7460788c1a.css","fqdn":"tvc-invdn-cf-com.investing.com","domain":"investing.com","tld":"com"},"ip":{"addr":"172.64.155.105","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://tvc-invdn-cf-com.investing.com/tool/1.12.10/static/tv-chart.e816a7a6edc9de3ed709.html#localserver=1\u0026symbol=945629\u0026interval=5\u0026studiesAccess=%7B%22type%22%3A%22black%22%2C%22tools%22%3A%5B%7B%22name%22%3A%22Correlation%20Coeff%22%2C%22grayed%22%3Afalse%7D%5D%7D\u0026widgetbar=%7B%22details%22%3Afalse%2C%22watchlist%22%3Afalse%2C%22watchlist_settings%22%3A%7B%22default_symbols%22%3A%5B%5D%7D%7D\u0026drawingsAccess=%7B%22type%22%3A%22black%22%2C%22tools%22%3A%5B%7B%22name%22%3A%22Regression%20Trend%22%2C%22grayed%22%3Afalse%7D%5D%7D\u0026timeFrames=%5B%7B%22text%22%3A%2210y%22%2C%22resolution%22%3A%22M%22%7D%2C%7B%22text%22%3A%223y%22%2C%22resolution%22%3A%22W%22%7D%2C%7B%22text%22%3A%221y%22%2C%22resolution%22%3A%22W%22%7D%2C%7B%22text%22%3A%223m%22%2C%22resolution%22%3A%22D%22%7D%2C%7B%22text%22%3A%221m%22%2C%22resolution%22%3A%22300%22%7D%2C%7B%22text%22%3A%227d%22%2C%22resolution%22%3A%2260%22%7D%2C%7B%22text%22%3A%221d%22%2C%22resolution%22%3A%2215%22%7D%5D\u0026locale=ru\u0026uid=tradingview_52714\u0026clientId=0\u0026userId=0\u0026chartsStorageVer=1.0\u0026customCSS=https%3A%2F%2Ftvc-invdn-cf-com.investing.com%2Ftool%2F1.12.10%2Fcustom.css\u0026debug=false\u0026snapshotUrl=https%3A%2F%2Fssltvc.forexprostools.com%2Fcc6698fccca44e51b088d9ddbbcf8ec8%2F1785120633%2F7%2F7%2F17%2Fsnapshot\u0026timezone=Europe%2FMoscow","date":"2026-07-27T02:50:34.629Z","timestamp":1785120634629,"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":"tvc-invdn-cf-com.investing.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 31 May 2026 06:59:21 GMT","end":"Sat, 29 Aug 2026 07:59:19 GMT"},"fingerprint":{"sha1":"90:A7:5D:5C:7F:22:D6:92:72:4C:85:3E:E7:2D:28:D1:42:20:B1:F8","sha256":"4C:97:98:34:DB:36:63:81:85:8D:5B:E0:91:75:21:94:B9:1D:97:17:07:3D:61:14:3E:02:DB:0F:73:40:E7:84"}}},"request":{"raw":"GET /tool/1.12.10/static/bundles/vendors.a94ef44ed5c201cefcf6ad7460788c1a.css HTTP/1.1\r\nHost: tvc-invdn-cf-com.investing.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://tvc-invdn-cf-com.investing.com/tool/1.12.10/static/tv-chart.e816a7a6edc9de3ed709.html\r\nCookie: __cf_bm=h6SAR28kd_QbNop_COMOHghDdlytG1dix_NDRXPGmD4-1785120634.5691435-1.0.1.1-s4ne_iKLzdjYKinGlFUaklT6ynKOQcbwbTfQ9Ee2VWc6HnktRWLJU5i.P2cm15_MZLMVhgoXFqglYOYqP14NW3ukSx7P6pAGRd3O_Fc9rU3d7y1GygnJGLidPsQIZp.Yom6Jb8b5KK1yqn7xaAW3WA\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\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: text/css\r\nx-guploader-uploadid: AAVLpEh1DLBOqKdZ-P-Hu2cPMJwzi5_wpMbHA-IZkTjojBp1z8eIZGM8fqaoiwgW4LJd6XbANGzbEQ\r\nx-goog-generation: 1707308613381316\r\nx-goog-metageneration: 1\r\nx-goog-stored-content-encoding: identity\r\nx-goog-stored-content-length: 171\r\nx-goog-hash: crc32c=w6WIdg==, md5=qU70TtXCAc789q10YHiMGg==\r\nx-goog-storage-class: STANDARD\r\nserver: cloudflare\r\nvia: 1.1 google\r\nexpires: Mon, 27 Jul 2026 03:50:34 GMT\r\ncache-control: public, max-age=3600\r\nlast-modified: Wed, 07 Feb 2024 12:23:33 GMT\r\nvary: accept-encoding\r\nalt-svc: h3=\":443\"; ma=86400\r\npriority: u=2,i=?0\r\nage: 973\r\ncf-cache-status: HIT\r\netag: W/\"a94ef44ed5c201cefcf6ad7460788c1a\"\r\ncontent-encoding: br\r\ncf-ray: a218565e6d240daa-OSL\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":"Google Cloud Storage","description":"Google Cloud Storage allows world-wide storage and retrieval of any amount of data at any time.","website":"https://cloud.google.com/storage","common_platform_enumeration":"","icon":"google-cloud-storage.svg","categories":["Miscellaneous"]},{"name":"Google Cloud CDN","description":"Cloud CDN uses Google's global edge network to serve content closer to users.","website":"https://cloud.google.com/cdn","common_platform_enumeration":"","icon":"google-cloud-cdn.svg","categories":["CDN"]},{"name":"Google Cloud","description":"Google Cloud is a suite of cloud computing services.","website":"https://cloud.google.com","common_platform_enumeration":"cpe:2.3:a:google:cloud_platform:*:*:*:*:*:*:*:*","icon":"Google Cloud.svg","categories":["IaaS"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-07-27T05:14:11.3544Z","times_seen":17556491,"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":"247optiontradefx.com/fonts/stylesheet.css","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:32.879Z","timestamp":1785120632879,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /fonts/stylesheet.css HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:32 GMT\r\nContent-Type: text/css\r\nLast-Modified: Tue, 14 Apr 2026 04:20:06 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc076-c90\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":3216,"size_decoded":671,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"1854fa7bade5f714d39a76af888f4709","sha1":"9d78560ef3ebe6d0edda256a919342cc1f821ed3","sha256":"48c40f103e2900e86a168d98e1b22b6f1d362c27dbe335abf888de7341bc8298","sha512":"00928e823edf067109ae658ceca5082f5ed851928b804cd0f1adbc9add534fa949a50ac223885cdd64e03ef74b2442a06017bcaa5caf9ce97326808ce29b003f","ssdeep":"","tlshash":"b261bc947cea75426030184ca3e64f64ed5e21aba034d25bb37d6e0caffba145670b7c","first_seen":"2026-07-27T02:45:25.207753Z","last_seen":"2026-07-27T02:59:54.63955Z","times_seen":4,"resource_available":false,"data":"QGZvbnQtZmFjZSB7DQogICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JzsNCiAgICBzcmM6IHVybCgnTW9udHNlcnJhdC1NZWRpdW1JdGFsaWMuZW90Jyk7DQogICAgc3JjOiB1cmwoJ01vbnRzZXJyYXQtTWVkaXVtSXRhbGljZDQxZGQ0MWRkNDFkLmVvdCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwNCiAgICAgICAgdXJsKCdNb250c2VycmF0LU1lZGl1bUl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwNCiAgICAgICAgdXJsKCdNb250c2VycmF0LU1lZGl1bUl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyksDQogICAgICAgIHVybCgnTW9udHNlcnJhdC1NZWRpdW1JdGFsaWMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLA0KICAgICAgICB1cmwoJ01vbnRzZXJyYXQtTWVkaXVtSXRhbGljLnN2ZycpIGZvcm1hdCgnc3ZnJyk7DQogICAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgICBmb250LXN0eWxlOiBpdGFsaWM7DQp9DQoNCkBmb250LWZhY2Ugew0KICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7DQogICAgc3JjOiB1cmwoJ01vbnRzZXJyYXQtRXh0cmFCb2xkSXRhbGljLmVvdCcpOw0KICAgIHNyYzogdXJsKCdNb250c2VycmF0LUV4dHJhQm9sZEl0YWxpY2Q0MWRkNDFkZDQxZC5lb3QnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksDQogICAgICAgIHVybCgnTW9udHNlcnJhdC1FeHRyYUJvbGRJdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksDQogICAgICAgIHVybCgnTW9udHNlcnJhdC1FeHRyYUJvbGRJdGFsaWMud29mZicpIGZvcm1hdCgnd29mZicpLA0KICAgICAgICB1cmwoJ01vbnRzZXJyYXQtRXh0cmFCb2xkSXRhbGljLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSwNCiAgICAgICAgdXJsKCdNb250c2VycmF0LUV4dHJhQm9sZEl0YWxpYy5zdmcnKSBmb3JtYXQoJ3N2ZycpOw0KICAgIGZvbnQtd2VpZ2h0OiA4MDA7DQogICAgZm9udC1zdHlsZTogaXRhbGljOw0KfQ0KDQpAZm9udC1mYWNlIHsNCiAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnOw0KICAgIHNyYzogdXJsKCdNb250c2VycmF0LUV4dHJhQm9sZC5lb3QnKTsNCiAgICBzcmM6IHVybCgnTW9udHNlcnJhdC1FeHRyYUJvbGRkNDFkZDQxZGQ0MWQuZW90JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLA0KICAgICAgICB1cmwoJ01vbnRzZXJyYXQtRXh0cmFCb2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLA0KICAgICAgICB1cmwoJ01vbnRzZXJyYXQtRXh0cmFCb2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwNCiAgICAgICAgdXJsKCdNb250c2VycmF0LUV4dHJhQm9sZC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksDQogICAgICAgIHVybCgnTW9udHNlcnJhdC1FeHRyYUJvbGQuc3ZnJykgZm9ybWF0KCdzdmcnKTsNCiAgICBmb250LXdlaWdodDogODAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCn0NCg0KQGZvbnQtZmFjZSB7DQogICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JzsNCiAgICBzcmM6IHVybCgnTW9udHNlcnJhdC1NZWRpdW0uZW90Jyk7DQogICAgc3JjOiB1cmwoJ01vbnRzZXJyYXQtTWVkaXVtZDQxZGQ0MWRkNDFkLmVvdCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwNCiAgICAgICAgdXJsKCdNb250c2VycmF0LU1lZGl1bS53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwNCiAgICAgICAgdXJsKCdNb250c2VycmF0LU1lZGl1bS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksDQogICAgICAgIHVybCgnTW9udHNlcnJhdC1NZWRpdW0udHRmJykgZm9ybWF0KCd0cnVldHlwZScpLA0KICAgICAgICB1cmwoJ01vbnRzZXJyYXQtTWVkaXVtLnN2ZycpIGZvcm1hdCgnc3ZnJyk7DQogICAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQp9DQoNCkBmb250LWZhY2Ugew0KICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7DQogICAgc3JjOiB1cmwoJ01vbnRzZXJyYXQtQm9sZC5lb3QnKTsNCiAgICBzcmM6IHVybCgnTW9udHNlcnJhdC1Cb2xkZDQxZGQ0MWRkNDFkLmVvdCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwNCiAgICAgICAgdXJsKCdNb250c2VycmF0LUJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksDQogICAgICAgIHVybCgnTW9udHNlcnJhdC1Cb2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwNCiAgICAgICAgdXJsKCdNb250c2VycmF0LUJvbGQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLA0KICAgICAgICB1cmwoJ01vbnRzZXJyYXQtQm9sZC5zdmcnKSBmb3JtYXQoJ3N2ZycpOw0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCn0NCg0KQGZvbnQtZmFjZSB7DQogICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JzsNCiAgICBzcmM6IHVybCgnTW9udHNlcnJhdC1SZWd1bGFyLmVvdCcpOw0KICAgIHNyYzogdXJsKCdNb250c2VycmF0LVJlZ3VsYXJkNDFkZDQxZGQ0MWQuZW90JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLA0KICAgICAgICB1cmwoJ01vbnRzZXJyYXQtUmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwNCiAgICAgICAgdXJsKCdNb250c2VycmF0LVJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpLA0KICAgICAgICB1cmwoJ01vbnRzZXJyYXQtUmVndWxhci50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksDQogICAgICAgIHVybCgnTW9udHNlcnJhdC1SZWd1bGFyLnN2ZycpIGZvcm1hdCgnc3ZnJyk7DQogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQp9DQoNCkBmb250LWZhY2Ugew0KICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7DQogICAgc3JjOiB1cmwoJ01vbnRzZXJyYXQtU2VtaUJvbGQuZW90Jyk7DQogICAgc3JjOiB1cmwoJ01vbnRzZXJyYXQtU2VtaUJvbGRkNDFkZDQxZGQ0MWQuZW90JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLA0KICAgICAgICB1cmwoJ01vbnRzZXJyYXQtU2VtaUJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksDQogICAgICAgIHVybCgnTW9udHNlcnJhdC1TZW1pQm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksDQogICAgICAgIHVybCgnTW9udHNlcnJhdC1TZW1pQm9sZC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksDQogICAgICAgIHVybCgnTW9udHNlcnJhdC1TZW1pQm9sZC5zdmcnKSBmb3JtYXQoJ3N2ZycpOw0KICAgIGZvbnQtd2VpZ2h0OiA2MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KfQ0KDQoNCg0K"}},"time_used":28,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":28,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/css/jquery-ui.css","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:32.882Z","timestamp":1785120632882,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /css/jquery-ui.css HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:32 GMT\r\nContent-Type: text/css\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-8c87\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":35975,"size_decoded":9914,"mime_type":"text/css","magic":"ASCII text, with very long lines (2363), with CRLF line terminators","md5":"39fd1bb56bc9ddb781a32e65998811ed","sha1":"d339b49ae96a2dcfd403b76dadee1acddbd3b8fa","sha256":"ffe366357f8dc00bf2d818b1d40254a0ccc2da9b2b044dfc57a6f557e31e090d","sha512":"6135cc52689ad5dd0313b8ef4e9a23c23372e2c6943ed107b3fefa0ad34625f34652769a14342504a1f3e7ce6209a356074f377ce1233f3af757f51553cd5662","ssdeep":"768:pUtWWAVPQ0l5z1EEBv79V9PBB0sFdHwfGES/fba:4Sbfba","tlshash":"ecf2fdb49b43300d7b17d360f2b26bf3da2e1392ee57d96f609a214993d54a1807f6b0","first_seen":"2026-06-08T11:55:33.847044Z","last_seen":"2026-07-27T02:59:54.538011Z","times_seen":5,"resource_available":false,"data":"LyohIGpRdWVyeSBVSSAtIHYxLjExLjQgLSAyMDE1LTA1LTEwDQoqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiogSW5jbHVkZXM6IGNvcmUuY3NzLCBkcmFnZ2FibGUuY3NzLCByZXNpemFibGUuY3NzLCBzZWxlY3RhYmxlLmNzcywgc29ydGFibGUuY3NzLCBhY2NvcmRpb24uY3NzLCBhdXRvY29tcGxldGUuY3NzLCBidXR0b24uY3NzLCBkYXRlcGlja2VyLmNzcywgZGlhbG9nLmNzcywgbWVudS5jc3MsIHByb2dyZXNzYmFyLmNzcywgc2VsZWN0bWVudS5jc3MsIHNsaWRlci5jc3MsIHNwaW5uZXIuY3NzLCB0YWJzLmNzcywgdG9vbHRpcC5jc3MsIHRoZW1lLmNzcw0KKiBUbyB2aWV3IGFuZCBtb2RpZnkgdGhpcyB0aGVtZSwgdmlzaXQgaHR0cDovL2pxdWVyeXVpLmNvbS90aGVtZXJvbGxlci8/ZmZEZWZhdWx0PVRyZWJ1Y2hldCUyME1TJTJDVGFob21hJTJDVmVyZGFuYSUyQ0FyaWFsJTJDc2Fucy1zZXJpZiZmd0RlZmF1bHQ9Ym9sZCZmc0RlZmF1bHQ9MS4xZW0mY29ybmVyUmFkaXVzPTRweCZiZ0NvbG9ySGVhZGVyPWY2YTgyOCZiZ1RleHR1cmVIZWFkZXI9Z2xvc3Nfd2F2ZSZiZ0ltZ09wYWNpdHlIZWFkZXI9MzUmYm9yZGVyQ29sb3JIZWFkZXI9ZTc4ZjA4JmZjSGVhZGVyPWZmZmZmZiZpY29uQ29sb3JIZWFkZXI9ZmZmZmZmJmJnQ29sb3JDb250ZW50PWVlZWVlZSZiZ1RleHR1cmVDb250ZW50PWhpZ2hsaWdodF9zb2Z0JmJnSW1nT3BhY2l0eUNvbnRlbnQ9MTAwJmJvcmRlckNvbG9yQ29udGVudD1kZGRkZGQmZmNDb250ZW50PTMzMzMzMyZpY29uQ29sb3JDb250ZW50PTIyMjIyMiZiZ0NvbG9yRGVmYXVsdD1mNmY2ZjYmYmdUZXh0dXJlRGVmYXVsdD1nbGFzcyZiZ0ltZ09wYWNpdHlEZWZhdWx0PTEwMCZib3JkZXJDb2xvckRlZmF1bHQ9Y2NjY2NjJmZjRGVmYXVsdD0xYzk0YzQmaWNvbkNvbG9yRGVmYXVsdD1lZjhjMDgmYmdDb2xvckhvdmVyPWZkZjVjZSZiZ1RleHR1cmVIb3Zlcj1nbGFzcyZiZ0ltZ09wYWNpdHlIb3Zlcj0xMDAmYm9yZGVyQ29sb3JIb3Zlcj1mYmNiMDkmZmNIb3Zlcj1jNzc0MDUmaWNvbkNvbG9ySG92ZXI9ZWY4YzA4JmJnQ29sb3JBY3RpdmU9ZmZmZmZmJmJnVGV4dHVyZUFjdGl2ZT1nbGFzcyZiZ0ltZ09wYWNpdHlBY3RpdmU9NjUmYm9yZGVyQ29sb3JBY3RpdmU9ZmJkODUwJmZjQWN0aXZlPWViOGYwMCZpY29uQ29sb3JBY3RpdmU9ZWY4YzA4JmJnQ29sb3JIaWdobGlnaHQ9ZmZlNDVjJmJnVGV4dHVyZUhpZ2hsaWdodD1oaWdobGlnaHRfc29mdCZiZ0ltZ09wYWNpdHlIaWdobGlnaHQ9NzUmYm9yZGVyQ29sb3JIaWdobGlnaHQ9ZmVkMjJmJmZjSGlnaGxpZ2h0PTM2MzYzNiZpY29uQ29sb3JIaWdobGlnaHQ9MjI4ZWYxJmJnQ29sb3JFcnJvcj1iODE5MDAmYmdUZXh0dXJlRXJyb3I9ZGlhZ29uYWxzX3RoaWNrJmJnSW1nT3BhY2l0eUVycm9yPTE4JmJvcmRlckNvbG9yRXJyb3I9Y2QwYTBhJmZjRXJyb3I9ZmZmZmZmJmljb25Db2xvckVycm9yPWZmZDI3YSZiZ0NvbG9yT3ZlcmxheT02NjY2NjYmYmdUZXh0dXJlT3ZlcmxheT1kaWFnb25hbHNfdGhpY2smYmdJbWdPcGFjaXR5T3ZlcmxheT0yMCZvcGFjaXR5T3ZlcmxheT01MCZiZ0NvbG9yU2hhZG93PTAwMDAwMCZiZ1RleHR1cmVTaGFkb3c9ZmxhdCZiZ0ltZ09wYWNpdHlTaGFkb3c9MTAmb3BhY2l0eVNoYWRvdz0yMCZ0aGlja25lc3NTaGFkb3c9NXB4Jm9mZnNldFRvcFNoYWRvdz0tNXB4Jm9mZnNldExlZnRTaGFkb3c9LTVweCZjb3JuZXJSYWRpdXNTaGFkb3c9NXB4DQoqIENvcHlyaWdodCAyMDE1IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnM7IExpY2Vuc2VkIE1JVCAqLw0KDQovKiBMYXlvdXQgaGVscGVycw0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoudWktaGVscGVyLWhpZGRlbiB7DQoJZGlzcGxheTogbm9uZTsNCn0NCi51aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUgew0KCWJvcmRlcjogMDsNCgljbGlwOiByZWN0KDAgMCAwIDApOw0KCWhlaWdodDogMXB4Ow0KCW1hcmdpbjogLTFweDsNCglvdmVyZmxvdzogaGlkZGVuOw0KCXBhZGRpbmc6IDA7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXdpZHRoOiAxcHg7DQp9DQoudWktaGVscGVyLXJlc2V0IHsNCgltYXJnaW46IDA7DQoJcGFkZGluZzogMDsNCglib3JkZXI6IDA7DQoJb3V0bGluZTogMDsNCglsaW5lLWhlaWdodDogMS4zOw0KCXRleHQtZGVjb3JhdGlvbjogbm9uZTsNCglmb250LXNpemU6IDEwMCU7DQoJbGlzdC1zdHlsZTogbm9uZTsNCn0NCi51aS1oZWxwZXItY2xlYXJmaXg6YmVmb3JlLA0KLnVpLWhlbHBlci1jbGVhcmZpeDphZnRlciB7DQoJY29udGVudDogIiI7DQoJZGlzcGxheTogdGFibGU7DQoJYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsNCn0NCi51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXIgew0KCWNsZWFyOiBib3RoOw0KfQ0KLnVpLWhlbHBlci1jbGVhcmZpeCB7DQoJbWluLWhlaWdodDogMDsgLyogc3VwcG9ydDogSUU3ICovDQp9DQoudWktaGVscGVyLXpmaXggew0KCXdpZHRoOiAxMDAlOw0KCWhlaWdodDogMTAwJTsNCgl0b3A6IDA7DQoJbGVmdDogMDsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJb3BhY2l0eTogMDsNCglmaWx0ZXI6QWxwaGEoT3BhY2l0eT0wKTsgLyogc3VwcG9ydDogSUU4ICovDQp9DQoNCi51aS1mcm9udCB7DQoJei1pbmRleDogMTAwOw0KfQ0KDQoNCi8qIEludGVyYWN0aW9uIEN1ZXMNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLnVpLXN0YXRlLWRpc2FibGVkIHsNCgljdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDsNCn0NCg0KDQovKiBJY29ucw0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoNCi8qIHN0YXRlcyBhbmQgaW1hZ2VzICovDQoudWktaWNvbiB7DQoJZGlzcGxheTogYmxvY2s7DQoJdGV4dC1pbmRlbnQ6IC05OTk5OXB4Ow0KCW92ZXJmbG93OiBoaWRkZW47DQoJYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsNCn0NCg0KDQovKiBNaXNjIHZpc3VhbHMNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KDQovKiBPdmVybGF5cyAqLw0KLnVpLXdpZGdldC1vdmVybGF5IHsNCglwb3NpdGlvbjogZml4ZWQ7DQoJdG9wOiAwOw0KCWxlZnQ6IDA7DQoJd2lkdGg6IDEwMCU7DQoJaGVpZ2h0OiAxMDAlOw0KfQ0KLnVpLWRyYWdnYWJsZS1oYW5kbGUgew0KCS1tcy10b3VjaC1hY3Rpb246IG5vbmU7DQoJdG91Y2gtYWN0aW9uOiBub25lOw0KfQ0KLnVpLXJlc2l6YWJsZSB7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KLnVpLXJlc2l6YWJsZS1oYW5kbGUgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCglmb250LXNpemU6IDAuMXB4Ow0KCWRpc3BsYXk6IGJsb2NrOw0KCS1tcy10b3VjaC1hY3Rpb246IG5vbmU7DQoJdG91Y2gtYWN0aW9uOiBub25lOw0KfQ0KLnVpLXJlc2l6YWJsZS1kaXNhYmxlZCAudWktcmVzaXphYmxlLWhhbmRsZSwNCi51aS1yZXNpemFibGUtYXV0b2hpZGUgLnVpLXJlc2l6YWJsZS1oYW5kbGUgew0KCWRpc3BsYXk6IG5vbmU7DQp9DQoudWktcmVzaXphYmxlLW4gew0KCWN1cnNvcjogbi1yZXNpemU7DQoJaGVpZ2h0OiA3cHg7DQoJd2lkdGg6IDEwMCU7DQoJdG9wOiAtNXB4Ow0KCWxlZnQ6IDA7DQp9DQoudWktcmVzaXphYmxlLXMgew0KCWN1cnNvcjogcy1yZXNpemU7DQoJaGVpZ2h0OiA3cHg7DQoJd2lkdGg6IDEwMCU7DQoJYm90dG9tOiAtNXB4Ow0KCWxlZnQ6IDA7DQp9DQoudWktcmVzaXphYmxlLWUgew0KCWN1cnNvcjogZS1yZXNpemU7DQoJd2lkdGg6IDdweDsNCglyaWdodDogLTVweDsNCgl0b3A6IDA7DQoJaGVpZ2h0OiAxMDAlOw0KfQ0KLnVpLXJlc2l6YWJsZS13IHsNCgljdXJzb3I6IHctcmVzaXplOw0KCXdpZHRoOiA3cHg7DQoJbGVmdDogLTVweDsNCgl0b3A6IDA7DQoJaGVpZ2h0OiAxMDAlOw0KfQ0KLnVpLXJlc2l6YWJsZS1zZSB7DQoJY3Vyc29yOiBzZS1yZXNpemU7DQoJd2lkdGg6IDEycHg7DQoJaGVpZ2h0OiAxMnB4Ow0KCXJpZ2h0OiAxcHg7DQoJYm90dG9tOiAxcHg7DQp9DQoudWktcmVzaXphYmxlLXN3IHsNCgljdXJzb3I6IHN3LXJlc2l6ZTsNCgl3aWR0aDogOXB4Ow0KCWhlaWdodDogOXB4Ow0KCWxlZnQ6IC01cHg7DQoJYm90dG9tOiAtNXB4Ow0KfQ0KLnVpLXJlc2l6YWJsZS1udyB7DQoJY3Vyc29yOiBudy1yZXNpemU7DQoJd2lkdGg6IDlweDsNCgloZWlnaHQ6IDlweDsNCglsZWZ0OiAtNXB4Ow0KCXRvcDogLTVweDsNCn0NCi51aS1yZXNpemFibGUtbmUgew0KCWN1cnNvcjogbmUtcmVzaXplOw0KCXdpZHRoOiA5cHg7DQoJaGVpZ2h0OiA5cHg7DQoJcmlnaHQ6IC01cHg7DQoJdG9wOiAtNXB4Ow0KfQ0KLnVpLXNlbGVjdGFibGUgew0KCS1tcy10b3VjaC1hY3Rpb246IG5vbmU7DQoJdG91Y2gtYWN0aW9uOiBub25lOw0KfQ0KLnVpLXNlbGVjdGFibGUtaGVscGVyIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJei1pbmRleDogMTAwOw0KCWJvcmRlcjogMXB4IGRvdHRlZCBibGFjazsNCn0NCi51aS1zb3J0YWJsZS1oYW5kbGUgew0KCS1tcy10b3VjaC1hY3Rpb246IG5vbmU7DQoJdG91Y2gtYWN0aW9uOiBub25lOw0KfQ0KLnVpLWFjY29yZGlvbiAudWktYWNjb3JkaW9uLWhlYWRlciB7DQoJZGlzcGxheTogYmxvY2s7DQoJY3Vyc29yOiBwb2ludGVyOw0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCgltYXJnaW46IDJweCAwIDAgMDsNCglwYWRkaW5nOiAuNWVtIC41ZW0gLjVlbSAuN2VtOw0KCW1pbi1oZWlnaHQ6IDA7IC8qIHN1cHBvcnQ6IElFNyAqLw0KCWZvbnQtc2l6ZTogMTAwJTsNCn0NCi51aS1hY2NvcmRpb24gLnVpLWFjY29yZGlvbi1pY29ucyB7DQoJcGFkZGluZy1sZWZ0OiAyLjJlbTsNCn0NCi51aS1hY2NvcmRpb24gLnVpLWFjY29yZGlvbi1pY29ucyAudWktYWNjb3JkaW9uLWljb25zIHsNCglwYWRkaW5nLWxlZnQ6IDIuMmVtOw0KfQ0KLnVpLWFjY29yZGlvbiAudWktYWNjb3JkaW9uLWhlYWRlciAudWktYWNjb3JkaW9uLWhlYWRlci1pY29uIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJbGVmdDogLjVlbTsNCgl0b3A6IDUwJTsNCgltYXJnaW4tdG9wOiAtOHB4Ow0KfQ0KLnVpLWFjY29yZGlvbiAudWktYWNjb3JkaW9uLWNvbnRlbnQgew0KCXBhZGRpbmc6IDFlbSAyLjJlbTsNCglib3JkZXItdG9wOiAwOw0KCW92ZXJmbG93OiBhdXRvOw0KfQ0KLnVpLWF1dG9jb21wbGV0ZSB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDogMDsNCglsZWZ0OiAwOw0KCWN1cnNvcjogZGVmYXVsdDsNCn0NCi51aS1idXR0b24gew0KCWRpc3BsYXk6IGlubGluZS1ibG9jazsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJcGFkZGluZzogMDsNCglsaW5lLWhlaWdodDogbm9ybWFsOw0KCW1hcmdpbi1yaWdodDogLjFlbTsNCgljdXJzb3I6IHBvaW50ZXI7DQoJdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCgl0ZXh0LWFsaWduOiBjZW50ZXI7DQoJb3ZlcmZsb3c6IHZpc2libGU7IC8qIHJlbW92ZXMgZXh0cmEgd2lkdGggaW4gSUUgKi8NCn0NCi51aS1idXR0b24sDQoudWktYnV0dG9uOmxpbmssDQoudWktYnV0dG9uOnZpc2l0ZWQsDQoudWktYnV0dG9uOmhvdmVyLA0KLnVpLWJ1dHRvbjphY3RpdmUgew0KCXRleHQtZGVjb3JhdGlvbjogbm9uZTsNCn0NCi8qIHRvIG1ha2Ugcm9vbSBmb3IgdGhlIGljb24sIGEgd2lkdGggbmVlZHMgdG8gYmUgc2V0IGhlcmUgKi8NCi51aS1idXR0b24taWNvbi1vbmx5IHsNCgl3aWR0aDogMi4yZW07DQp9DQovKiBidXR0b24gZWxlbWVudHMgc2VlbSB0byBuZWVkIGEgbGl0dGxlIG1vcmUgd2lkdGggKi8NCmJ1dHRvbi51aS1idXR0b24taWNvbi1vbmx5IHsNCgl3aWR0aDogMi40ZW07DQp9DQoudWktYnV0dG9uLWljb25zLW9ubHkgew0KCXdpZHRoOiAzLjRlbTsNCn0NCmJ1dHRvbi51aS1idXR0b24taWNvbnMtb25seSB7DQoJd2lkdGg6IDMuN2VtOw0KfQ0KDQovKiBidXR0b24gdGV4dCBlbGVtZW50ICovDQoudWktYnV0dG9uIC51aS1idXR0b24tdGV4dCB7DQoJZGlzcGxheTogYmxvY2s7DQoJbGluZS1oZWlnaHQ6IG5vcm1hbDsNCn0NCi51aS1idXR0b24tdGV4dC1vbmx5IC51aS1idXR0b24tdGV4dCB7DQoJcGFkZGluZzogLjRlbSAxZW07DQp9DQoudWktYnV0dG9uLWljb24tb25seSAudWktYnV0dG9uLXRleHQsDQoudWktYnV0dG9uLWljb25zLW9ubHkgLnVpLWJ1dHRvbi10ZXh0IHsNCglwYWRkaW5nOiAuNGVtOw0KCXRleHQtaW5kZW50OiAtOTk5OTk5OXB4Ow0KfQ0KLnVpLWJ1dHRvbi10ZXh0LWljb24tcHJpbWFyeSAudWktYnV0dG9uLXRleHQsDQoudWktYnV0dG9uLXRleHQtaWNvbnMgLnVpLWJ1dHRvbi10ZXh0IHsNCglwYWRkaW5nOiAuNGVtIDFlbSAuNGVtIDIuMWVtOw0KfQ0KLnVpLWJ1dHRvbi10ZXh0LWljb24tc2Vjb25kYXJ5IC51aS1idXR0b24tdGV4dCwNCi51aS1idXR0b24tdGV4dC1pY29ucyAudWktYnV0dG9uLXRleHQgew0KCXBhZGRpbmc6IC40ZW0gMi4xZW0gLjRlbSAxZW07DQp9DQoudWktYnV0dG9uLXRleHQtaWNvbnMgLnVpLWJ1dHRvbi10ZXh0IHsNCglwYWRkaW5nLWxlZnQ6IDIuMWVtOw0KCXBhZGRpbmctcmlnaHQ6IDIuMWVtOw0KfQ0KLyogbm8gaWNvbiBzdXBwb3J0IGZvciBpbnB1dCBlbGVtZW50cywgcHJvdmlkZSBwYWRkaW5nIGJ5IGRlZmF1bHQgKi8NCmlucHV0LnVpLWJ1dHRvbiB7DQoJcGFkZGluZzogLjRlbSAxZW07DQp9DQoNCi8qIGJ1dHRvbiBpY29uIGVsZW1lbnQocykgKi8NCi51aS1idXR0b24taWNvbi1vbmx5IC51aS1pY29uLA0KLnVpLWJ1dHRvbi10ZXh0LWljb24tcHJpbWFyeSAudWktaWNvbiwNCi51aS1idXR0b24tdGV4dC1pY29uLXNlY29uZGFyeSAudWktaWNvbiwNCi51aS1idXR0b24tdGV4dC1pY29ucyAudWktaWNvbiwNCi51aS1idXR0b24taWNvbnMtb25seSAudWktaWNvbiB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDogNTAlOw0KCW1hcmdpbi10b3A6IC04cHg7DQp9DQoudWktYnV0dG9uLWljb24tb25seSAudWktaWNvbiB7DQoJbGVmdDogNTAlOw0KCW1hcmdpbi1sZWZ0OiAtOHB4Ow0KfQ0KLnVpLWJ1dHRvbi10ZXh0LWljb24tcHJpbWFyeSAudWktYnV0dG9uLWljb24tcHJpbWFyeSwNCi51aS1idXR0b24tdGV4dC1pY29ucyAudWktYnV0dG9uLWljb24tcHJpbWFyeSwNCi51aS1idXR0b24taWNvbnMtb25seSAudWktYnV0dG9uLWljb24tcHJpbWFyeSB7DQoJbGVmdDogLjVlbTsNCn0NCi51aS1idXR0b24tdGV4dC1pY29uLXNlY29uZGFyeSAudWktYnV0dG9uLWljb24tc2Vjb25kYXJ5LA0KLnVpLWJ1dHRvbi10ZXh0LWljb25zIC51aS1idXR0b24taWNvbi1zZWNvbmRhcnksDQoudWktYnV0dG9uLWljb25zLW9ubHkgLnVpLWJ1dHRvbi1pY29uLXNlY29uZGFyeSB7DQoJcmlnaHQ6IC41ZW07DQp9DQoNCi8qIGJ1dHRvbiBzZXRzICovDQoudWktYnV0dG9uc2V0IHsNCgltYXJnaW4tcmlnaHQ6IDdweDsNCn0NCi51aS1idXR0b25zZXQgLnVpLWJ1dHRvbiB7DQoJbWFyZ2luLWxlZnQ6IDA7DQoJbWFyZ2luLXJpZ2h0OiAtLjNlbTsNCn0NCg0KLyogd29ya2Fyb3VuZHMgKi8NCi8qIHJlc2V0IGV4dHJhIHBhZGRpbmcgaW4gRmlyZWZveCwgc2VlIGg1YnAuY29tL2wgKi8NCmlucHV0LnVpLWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwNCmJ1dHRvbi51aS1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIgew0KCWJvcmRlcjogMDsNCglwYWRkaW5nOiAwOw0KfQ0KLnVpLWRhdGVwaWNrZXIgew0KCXdpZHRoOiAxN2VtOw0KCXBhZGRpbmc6IC4yZW0gLjJlbSAwOw0KCWRpc3BsYXk6IG5vbmU7DQp9DQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1oZWFkZXIgew0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCglwYWRkaW5nOiAuMmVtIDA7DQp9DQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LA0KLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDogMnB4Ow0KCXdpZHRoOiAxLjhlbTsNCgloZWlnaHQ6IDEuOGVtOw0KfQ0KLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldi1ob3ZlciwNCi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQtaG92ZXIgew0KCXRvcDogMXB4Ow0KfQ0KLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldiB7DQoJbGVmdDogMnB4Ow0KfQ0KLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCB7DQoJcmlnaHQ6IDJweDsNCn0NCi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYtaG92ZXIgew0KCWxlZnQ6IDFweDsNCn0NCi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQtaG92ZXIgew0KCXJpZ2h0OiAxcHg7DQp9DQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2IHNwYW4sDQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0IHNwYW4gew0KCWRpc3BsYXk6IGJsb2NrOw0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCglsZWZ0OiA1MCU7DQoJbWFyZ2luLWxlZnQ6IC04cHg7DQoJdG9wOiA1MCU7DQoJbWFyZ2luLXRvcDogLThweDsNCn0NCi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXRpdGxlIHsNCgltYXJnaW46IDAgMi4zZW07DQoJbGluZS1oZWlnaHQ6IDEuOGVtOw0KCXRleHQtYWxpZ246IGNlbnRlcjsNCn0NCi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXRpdGxlIHNlbGVjdCB7DQoJZm9udC1zaXplOiAxZW07DQoJbWFyZ2luOiAxcHggMDsNCn0NCi51aS1kYXRlcGlja2VyIHNlbGVjdC51aS1kYXRlcGlja2VyLW1vbnRoLA0KLnVpLWRhdGVwaWNrZXIgc2VsZWN0LnVpLWRhdGVwaWNrZXIteWVhciB7DQoJd2lkdGg6IDQ1JTsNCn0NCi51aS1kYXRlcGlja2VyIHRhYmxlIHsNCgl3aWR0aDogMTAwJTsNCglmb250LXNpemU6IC45ZW07DQoJYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsNCgltYXJnaW46IDAgMCAuNGVtOw0KfQ0KLnVpLWRhdGVwaWNrZXIgdGggew0KCXBhZGRpbmc6IC43ZW0gLjNlbTsNCgl0ZXh0LWFsaWduOiBjZW50ZXI7DQoJZm9udC13ZWlnaHQ6IGJvbGQ7DQoJYm9yZGVyOiAwOw0KfQ0KLnVpLWRhdGVwaWNrZXIgdGQgew0KCWJvcmRlcjogMDsNCglwYWRkaW5nOiAxcHg7DQp9DQoudWktZGF0ZXBpY2tlciB0ZCBzcGFuLA0KLnVpLWRhdGVwaWNrZXIgdGQgYSB7DQoJZGlzcGxheTogYmxvY2s7DQoJcGFkZGluZzogLjJlbTsNCgl0ZXh0LWFsaWduOiByaWdodDsNCgl0ZXh0LWRlY29yYXRpb246IG5vbmU7DQp9DQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHsNCgliYWNrZ3JvdW5kLWltYWdlOiBub25lOw0KCW1hcmdpbjogLjdlbSAwIDAgMDsNCglwYWRkaW5nOiAwIC4yZW07DQoJYm9yZGVyLWxlZnQ6IDA7DQoJYm9yZGVyLXJpZ2h0OiAwOw0KCWJvcmRlci1ib3R0b206IDA7DQp9DQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbiB7DQoJZmxvYXQ6IHJpZ2h0Ow0KCW1hcmdpbjogLjVlbSAuMmVtIC40ZW07DQoJY3Vyc29yOiBwb2ludGVyOw0KCXBhZGRpbmc6IC4yZW0gLjZlbSAuM2VtIC42ZW07DQoJd2lkdGg6IGF1dG87DQoJb3ZlcmZsb3c6IHZpc2libGU7DQp9DQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbi51aS1kYXRlcGlja2VyLWN1cnJlbnQgew0KCWZsb2F0OiBsZWZ0Ow0KfQ0KDQovKiB3aXRoIG11bHRpcGxlIGNhbGVuZGFycyAqLw0KLnVpLWRhdGVwaWNrZXIudWktZGF0ZXBpY2tlci1tdWx0aSB7DQoJd2lkdGg6IGF1dG87DQp9DQoudWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cCB7DQoJZmxvYXQ6IGxlZnQ7DQp9DQoudWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cCB0YWJsZSB7DQoJd2lkdGg6IDk1JTsNCgltYXJnaW46IDAgYXV0byAuNGVtOw0KfQ0KLnVpLWRhdGVwaWNrZXItbXVsdGktMiAudWktZGF0ZXBpY2tlci1ncm91cCB7DQoJd2lkdGg6IDUwJTsNCn0NCi51aS1kYXRlcGlja2VyLW11bHRpLTMgLnVpLWRhdGVwaWNrZXItZ3JvdXAgew0KCXdpZHRoOiAzMy4zJTsNCn0NCi51aS1kYXRlcGlja2VyLW11bHRpLTQgLnVpLWRhdGVwaWNrZXItZ3JvdXAgew0KCXdpZHRoOiAyNSU7DQp9DQoudWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cC1sYXN0IC51aS1kYXRlcGlja2VyLWhlYWRlciwNCi51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwLW1pZGRsZSAudWktZGF0ZXBpY2tlci1oZWFkZXIgew0KCWJvcmRlci1sZWZ0LXdpZHRoOiAwOw0KfQ0KLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSB7DQoJY2xlYXI6IGxlZnQ7DQp9DQoudWktZGF0ZXBpY2tlci1yb3ctYnJlYWsgew0KCWNsZWFyOiBib3RoOw0KCXdpZHRoOiAxMDAlOw0KCWZvbnQtc2l6ZTogMDsNCn0NCg0KLyogUlRMIHN1cHBvcnQgKi8NCi51aS1kYXRlcGlja2VyLXJ0bCB7DQoJZGlyZWN0aW9uOiBydGw7DQp9DQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItcHJldiB7DQoJcmlnaHQ6IDJweDsNCglsZWZ0OiBhdXRvOw0KfQ0KLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLW5leHQgew0KCWxlZnQ6IDJweDsNCglyaWdodDogYXV0bzsNCn0NCi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1wcmV2OmhvdmVyIHsNCglyaWdodDogMXB4Ow0KCWxlZnQ6IGF1dG87DQp9DQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItbmV4dDpob3ZlciB7DQoJbGVmdDogMXB4Ow0KCXJpZ2h0OiBhdXRvOw0KfQ0KLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgew0KCWNsZWFyOiByaWdodDsNCn0NCi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbiB7DQoJZmxvYXQ6IGxlZnQ7DQp9DQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b24udWktZGF0ZXBpY2tlci1jdXJyZW50LA0KLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwIHsNCglmbG9hdDogcmlnaHQ7DQp9DQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbGFzdCAudWktZGF0ZXBpY2tlci1oZWFkZXIsDQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbWlkZGxlIC51aS1kYXRlcGlja2VyLWhlYWRlciB7DQoJYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOw0KCWJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7DQp9DQoudWktZGlhbG9nIHsNCglvdmVyZmxvdzogaGlkZGVuOw0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDA7DQoJbGVmdDogMDsNCglwYWRkaW5nOiAuMmVtOw0KCW91dGxpbmU6IDA7DQp9DQoudWktZGlhbG9nIC51aS1kaWFsb2ctdGl0bGViYXIgew0KCXBhZGRpbmc6IC40ZW0gMWVtOw0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCn0NCi51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZSB7DQoJZmxvYXQ6IGxlZnQ7DQoJbWFyZ2luOiAuMWVtIDA7DQoJd2hpdGUtc3BhY2U6IG5vd3JhcDsNCgl3aWR0aDogOTAlOw0KCW92ZXJmbG93OiBoaWRkZW47DQoJdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7DQp9DQoudWktZGlhbG9nIC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2Ugew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCglyaWdodDogLjNlbTsNCgl0b3A6IDUwJTsNCgl3aWR0aDogMjBweDsNCgltYXJnaW46IC0xMHB4IDAgMCAwOw0KCXBhZGRpbmc6IDFweDsNCgloZWlnaHQ6IDIwcHg7DQp9DQoudWktZGlhbG9nIC51aS1kaWFsb2ctY29udGVudCB7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCWJvcmRlcjogMDsNCglwYWRkaW5nOiAuNWVtIDFlbTsNCgliYWNrZ3JvdW5kOiBub25lOw0KCW92ZXJmbG93OiBhdXRvOw0KfQ0KLnVpLWRpYWxvZyAudWktZGlhbG9nLWJ1dHRvbnBhbmUgew0KCXRleHQtYWxpZ246IGxlZnQ7DQoJYm9yZGVyLXdpZHRoOiAxcHggMCAwIDA7DQoJYmFja2dyb3VuZC1pbWFnZTogbm9uZTsNCgltYXJnaW4tdG9wOiAuNWVtOw0KCXBhZGRpbmc6IC4zZW0gMWVtIC41ZW0gLjRlbTsNCn0NCi51aS1kaWFsb2cgLnVpLWRpYWxvZy1idXR0b25wYW5lIC51aS1kaWFsb2ctYnV0dG9uc2V0IHsNCglmbG9hdDogcmlnaHQ7DQp9DQoudWktZGlhbG9nIC51aS1kaWFsb2ctYnV0dG9ucGFuZSBidXR0b24gew0KCW1hcmdpbjogLjVlbSAuNGVtIC41ZW0gMDsNCgljdXJzb3I6IHBvaW50ZXI7DQp9DQoudWktZGlhbG9nIC51aS1yZXNpemFibGUtc2Ugew0KCXdpZHRoOiAxMnB4Ow0KCWhlaWdodDogMTJweDsNCglyaWdodDogLTVweDsNCglib3R0b206IC01cHg7DQoJYmFja2dyb3VuZC1wb3NpdGlvbjogMTZweCAxNnB4Ow0KfQ0KLnVpLWRyYWdnYWJsZSAudWktZGlhbG9nLXRpdGxlYmFyIHsNCgljdXJzb3I6IG1vdmU7DQp9DQoudWktbWVudSB7DQoJbGlzdC1zdHlsZTogbm9uZTsNCglwYWRkaW5nOiAwOw0KCW1hcmdpbjogMDsNCglkaXNwbGF5OiBibG9jazsNCglvdXRsaW5lOiBub25lOw0KfQ0KLnVpLW1lbnUgLnVpLW1lbnUgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCn0NCi51aS1tZW51IC51aS1tZW51LWl0ZW0gew0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCgltYXJnaW46IDA7DQoJcGFkZGluZzogM3B4IDFlbSAzcHggLjRlbTsNCgljdXJzb3I6IHBvaW50ZXI7DQoJbWluLWhlaWdodDogMDsgLyogc3VwcG9ydDogSUU3ICovDQoJLyogc3VwcG9ydDogSUUxMCwgc2VlICM4ODQ0ICovDQoJbGlzdC1zdHlsZS1pbWFnZTogdXJsKCJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBQUFBUC8vL3lINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQlJBQTciKTsNCn0NCi51aS1tZW51IC51aS1tZW51LWRpdmlkZXIgew0KCW1hcmdpbjogNXB4IDA7DQoJaGVpZ2h0OiAwOw0KCWZvbnQtc2l6ZTogMDsNCglsaW5lLWhlaWdodDogMDsNCglib3JkZXItd2lkdGg6IDFweCAwIDAgMDsNCn0NCi51aS1tZW51IC51aS1zdGF0ZS1mb2N1cywNCi51aS1tZW51IC51aS1zdGF0ZS1hY3RpdmUgew0KCW1hcmdpbjogLTFweDsNCn0NCg0KLyogaWNvbiBzdXBwb3J0ICovDQoudWktbWVudS1pY29ucyB7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KLnVpLW1lbnUtaWNvbnMgLnVpLW1lbnUtaXRlbSB7DQoJcGFkZGluZy1sZWZ0OiAyZW07DQp9DQoNCi8qIGxlZnQtYWxpZ25lZCAqLw0KLnVpLW1lbnUgLnVpLWljb24gew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDA7DQoJYm90dG9tOiAwOw0KCWxlZnQ6IC4yZW07DQoJbWFyZ2luOiBhdXRvIDA7DQp9DQoNCi8qIHJpZ2h0LWFsaWduZWQgKi8NCi51aS1tZW51IC51aS1tZW51LWljb24gew0KCWxlZnQ6IGF1dG87DQoJcmlnaHQ6IDA7DQp9DQoudWktcHJvZ3Jlc3NiYXIgew0KCWhlaWdodDogMmVtOw0KCXRleHQtYWxpZ246IGxlZnQ7DQoJb3ZlcmZsb3c6IGhpZGRlbjsNCn0NCi51aS1wcm9ncmVzc2JhciAudWktcHJvZ3Jlc3NiYXItdmFsdWUgew0KCW1hcmdpbjogLTFweDsNCgloZWlnaHQ6IDEwMCU7DQp9DQoudWktcHJvZ3Jlc3NiYXIgLnVpLXByb2dyZXNzYmFyLW92ZXJsYXkgew0KCWJhY2tncm91bmQ6IHVybCgiZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoS0FBb0FJQUJBQUFBQVAvLy95SC9DMDVGVkZORFFWQkZNaTR3QXdFQUFBQWgrUVFKQVFBQkFDd0FBQUFBS0FBb0FBQUNrWXdOcVhyZEM1MkRTMDZhN01GWkkrNEZIQkNLb0RlV0tYcXltUHFHcXh2SnJYWmJNeDdUdGMrdzlYZ1UyRkIzbE95UVJXRVQySUZHaVU5bTFmckRWcHhaWmM2YmZId3Y0YzFZWFA2azFWZHkyOTJGYjZVa3V2RnRYcHZXU3pBK0h5Y1hKSFVYaUdZSWlNZzJSNlc0NTlnbldHZkhOZGpJcURXVnFlbUgyZWtwT2JrcE9scHBXVXFaaXFyNmVkcXFXUUFBSWZrRUNRRUFBUUFzQUFBQUFDZ0FLQUFBQXBTTWdabkdmYXFjZzFFMnV1ekRtbUhVQlI4UWlsOTVoaVBLcVduM2FxdExzUzE4eTdHMVN6TmVvd1dCRU50UWQrVDFKa3RQMDVuelBUZEpabFI2dlV4TldXalYrdlVXaFdOa1dGd3hsOVZwWlJlZFljZmxJT0xhZmFhMjhYZHNIL3lubGNjMXVQVkRaeFFJUjBLMjUrY0lDQ21vcUNlNW1HaFpPZmVZU1VoNXlKY0p5cmtaV1dwYVI4ZG9KMm80TllxNjJsQUFBQ0g1QkFrQkFBRUFMQUFBQUFBb0FDZ0FBQUtWREk0WXkyMlpuSU5STnFvc3cwQnY3aTFneUhVa0ZqN29TYVdsdTNvdkM4R3hOc281Zmx1ejNxTFZoQlZlVC9MejdaVEh5eEw1ZERhbFFXUFZPc1FXdFJudXdYYUZUajlqVlZoOHBtYTlKalo0ellTajVaT3ltYTd1dW9sZmZoK0lSNWFXOTdjSHVCVVhLR0tYbEtqbitEaUhXTWNZSmFoNE4wbFlDTWxKT1hpcEdScjVxZGdvU1RycVdTcTZXRmwyeXBvYVVBQUFJZmtFQ1FFQUFRQXNBQUFBQUNnQUtBQUFBcGFFYjZITGdkL2lPN0ZOV3RjRldlK3VmT0RHalJmb2lKMmFrU2hidWViMHd0STUwem0wMnBidndmV0VNV0JRMXpLR2xMSWhza2lFUG05UjZ2Ulh4VjRaeldUMnlIT0dwV015b3JibEtsTnA4SG1IRWIvbENYamNXN2JtdFhQOFh0MjI5T1ZXUjFmb2QyZVdxTmZIdU1qWENQa0lHTmlsZU9pSW1WbUNPRW1vU2ZuM3lYbEpXbW9IR2hxcDZpbFl1V1lwbVRxS1VnQUFJZmtFQ1FFQUFRQXNBQUFBQUNnQUtBQUFBcGlFSDZrYjU4YmlRM0ZOV3RNRldXM2VOVmNvanVGR2ZxblpxU2VidVMwNnc1VjgwL1gwMnBLZTh6RndQNkVGV09UMWxERms4ckdFUmgxVFROT29jUTYxSG00WG0yVmV4VUhwemp5bVZpSHJGYmlFTHNlZlZybjZYS2ZudDJROUcvK1hkaWU0OTlYSGQyZzRoN2lvT0doWEdKYm9HQW5YU0Jub0J3S1l5ZmlvdWJaSjJIbjBSdVJaYWZsWk9pbDU2WnA2aWlvS1NYcFVBQUFoK1FRSkFRQUJBQ3dBQUFBQUtBQW9BQUFDa29RUnFSdm54dUk3a1UxYTFVVTViZDV0blNlT1pYaG1uNWxXSzNxTlRXdlJkUXhQOHF2YUMrL3lhWVF6WE83Qk12YVVFbUpSZDNUc2lNQWdzd21OWXJTZ1pkWXJUWDZ0U0hHWk83M2V6dUF3MnV4dVErQmJlWmZNeHNleFkzNSsvUWU0SjFpblYwZzR4M1dIdU1oSWwyalhPS1QyUStWVTVmZ29TVUk1MlZmWnlma0pHa2hhNmptWSthYVlkaXJxK2xRQUFDSDVCQWtCQUFFQUxBQUFBQUFvQUNnQUFBS1dCSUtwWWUwTDNZTktUb3Fzd1VsdnpuaWdkNHdpUjRLaFpyS3Q5VXBxaXA2MWk5RTN2TXZ4UmRIbGJFRmlFWGZrOVlBUll4T1paRDZWUTJwVXVuQm10UlhvMUxmOGhNVlZjTmw4SmFmVjM4YU0yL0Z1NVYxNkJuNjNyNnh0OTdqMDkrTVhTRmk0Qm5pR0ZhZTNoemJIOStoWUJ6a3B1VWg1YVptSHVhblpPWmdJdXZiR2lOZW9tQ25heHhhcDJ1cGFDWnNxKzFrQUFDSDVCQWtCQUFFQUxBQUFBQUFvQUNnQUFBS1hqSThCeTV6ZjRrT3hUVnJYTlZsdjFYMGQ4SUdaR0tMbk5wWXRtOExyOWNxVmV1T1N2Zk9XNzlEOWFESGl6TmhESmlkRlpoTnlkRWFoT2FESDZub210SmpwMXR1dEtvTldrdkE2SnFmUlZMSFUvUVVmYXU5bDJ4N0c1NGQxZmw5OTV4Y0lHQWRYcU1mQk5hZG9ZcmhIK01nMktCbHBWcGJsdUNpWG1NbloyU2g0R0JxSitja0lPcXFKNkxtS1NsbFptc29xNndwUUFBQWgrUVFKQVFBQkFDd0FBQUFBS0FBb0FBQUNsWXgvb0x2b3h1SkRrVTFhMVlVWmJKNTluU2QyWlhoV3FiUmEyL2dGOEd1MkRZM2lxczd5cnEreEJZRWtZdkZTTThhU1NPYkUrWmdSbDFCSEZaTnI3cFJDYXZaNUJXMjE0MmhZM0FOL3pXdHNtZjEycDlYeHhGbDJscExuMXJzZXp0ZlhaamRJV0lmMnM1ZEl0d2pZS0Jnbzl5ZzVwSGd6SlhURWVHbFp1ZW5weVBtcEdRb0tPV2tZbVNwYVNucUtpbGVJMkZBQUFDSDVCQWtCQUFFQUxBQUFBQUFvQUNnQUFBS1ZqQitndStqRzRrT1JUVnJWaFJsc25uMmRKM1psZUZhcHRGcmIrQ1htTzlPb3plTDVWZlA5OUh2QVdocGlVZGN3a3BCSDM4MjVBd1lkVTh4VHFsTEdodENvc0FyS01wdmZhMW1NUmFlOVZ2V1pmZUIyWGZQa2VMbW0xOGxVY0JqK3A1ZG5OOGpYWjNZSUdFaFl1T1VuNDVhb0NEa3AxNmhsNUlqWUp2aldLY25vR1FwcXlQbHBPaHIzYUVsYXFycTU2QnE3VkFBQU93PT0iKTsNCgloZWlnaHQ6IDEwMCU7DQoJZmlsdGVyOiBhbHBoYShvcGFjaXR5PTI1KTsgLyogc3VwcG9ydDogSUU4ICovDQoJb3BhY2l0eTogMC4yNTsNCn0NCi51aS1wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlIC51aS1wcm9ncmVzc2Jhci12YWx1ZSB7DQoJYmFja2dyb3VuZC1pbWFnZTogbm9uZTsNCn0NCi51aS1zZWxlY3RtZW51LW1lbnUgew0KCXBhZGRpbmc6IDA7DQoJbWFyZ2luOiAwOw0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDA7DQoJbGVmdDogMDsNCglkaXNwbGF5OiBub25lOw0KfQ0KLnVpLXNlbGVjdG1lbnUtbWVudSAudWktbWVudSB7DQoJb3ZlcmZsb3c6IGF1dG87DQoJLyogU3VwcG9ydDogSUU3ICovDQoJb3ZlcmZsb3cteDogaGlkZGVuOw0KCXBhZGRpbmctYm90dG9tOiAxcHg7DQp9DQoudWktc2VsZWN0bWVudS1tZW51IC51aS1tZW51IC51aS1zZWxlY3RtZW51LW9wdGdyb3VwIHsNCglmb250LXNpemU6IDFlbTsNCglmb250LXdlaWdodDogYm9sZDsNCglsaW5lLWhlaWdodDogMS41Ow0KCXBhZGRpbmc6IDJweCAwLjRlbTsNCgltYXJnaW46IDAuNWVtIDAgMCAwOw0KCWhlaWdodDogYXV0bzsNCglib3JkZXI6IDA7DQp9DQoudWktc2VsZWN0bWVudS1vcGVuIHsNCglkaXNwbGF5OiBibG9jazsNCn0NCi51aS1zZWxlY3RtZW51LWJ1dHRvbiB7DQoJZGlzcGxheTogaW5saW5lLWJsb2NrOw0KCW92ZXJmbG93OiBoaWRkZW47DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCXRleHQtZGVjb3JhdGlvbjogbm9uZTsNCgljdXJzb3I6IHBvaW50ZXI7DQp9DQoudWktc2VsZWN0bWVudS1idXR0b24gc3Bhbi51aS1pY29uIHsNCglyaWdodDogMC41ZW07DQoJbGVmdDogYXV0bzsNCgltYXJnaW4tdG9wOiAtOHB4Ow0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDUwJTsNCn0NCi51aS1zZWxlY3RtZW51LWJ1dHRvbiBzcGFuLnVpLXNlbGVjdG1lbnUtdGV4dCB7DQoJdGV4dC1hbGlnbjogbGVmdDsNCglwYWRkaW5nOiAwLjRlbSAyLjFlbSAwLjRlbSAxZW07DQoJZGlzcGxheTogYmxvY2s7DQoJbGluZS1oZWlnaHQ6IDEuNDsNCglvdmVyZmxvdzogaGlkZGVuOw0KCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOw0KCXdoaXRlLXNwYWNlOiBub3dyYXA7DQp9DQoudWktc2xpZGVyIHsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJdGV4dC1hbGlnbjogbGVmdDsNCn0NCi51aS1zbGlkZXIgLnVpLXNsaWRlci1oYW5kbGUgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl6LWluZGV4OiAyOw0KCXdpZHRoOiAxLjJlbTsNCgloZWlnaHQ6IDEuMmVtOw0KCWN1cnNvcjogZGVmYXVsdDsNCgktbXMtdG91Y2gtYWN0aW9uOiBub25lOw0KCXRvdWNoLWFjdGlvbjogbm9uZTsNCn0NCi51aS1zbGlkZXIgLnVpLXNsaWRlci1yYW5nZSB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXotaW5kZXg6IDE7DQoJZm9udC1zaXplOiAuN2VtOw0KCWRpc3BsYXk6IGJsb2NrOw0KCWJvcmRlcjogMDsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7DQp9DQoNCi8qIHN1cHBvcnQ6IElFOCAtIFNlZSAjNjcyNyAqLw0KLnVpLXNsaWRlci51aS1zdGF0ZS1kaXNhYmxlZCAudWktc2xpZGVyLWhhbmRsZSwNCi51aS1zbGlkZXIudWktc3RhdGUtZGlzYWJsZWQgLnVpLXNsaWRlci1yYW5nZSB7DQoJZmlsdGVyOiBpbmhlcml0Ow0KfQ0KDQoudWktc2xpZGVyLWhvcml6b250YWwgew0KCWhlaWdodDogLjhlbTsNCn0NCi51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLWhhbmRsZSB7DQoJdG9wOiAtLjNlbTsNCgltYXJnaW4tbGVmdDogLS42ZW07DQp9DQoudWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1yYW5nZSB7DQoJdG9wOiAwOw0KCWhlaWdodDogMTAwJTsNCn0NCi51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLXJhbmdlLW1pbiB7DQoJbGVmdDogMDsNCn0NCi51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLXJhbmdlLW1heCB7DQoJcmlnaHQ6IDA7DQp9DQoNCi51aS1zbGlkZXItdmVydGljYWwgew0KCXdpZHRoOiAuOGVtOw0KCWhlaWdodDogMTAwcHg7DQp9DQoudWktc2xpZGVyLXZlcnRpY2FsIC51aS1zbGlkZXItaGFuZGxlIHsNCglsZWZ0OiAtLjNlbTsNCgltYXJnaW4tbGVmdDogMDsNCgltYXJnaW4tYm90dG9tOiAtLjZlbTsNCn0NCi51aS1zbGlkZXItdmVydGljYWwgLnVpLXNsaWRlci1yYW5nZSB7DQoJbGVmdDogMDsNCgl3aWR0aDogMTAwJTsNCn0NCi51aS1zbGlkZXItdmVydGljYWwgLnVpLXNsaWRlci1yYW5nZS1taW4gew0KCWJvdHRvbTogMDsNCn0NCi51aS1zbGlkZXItdmVydGljYWwgLnVpLXNsaWRlci1yYW5nZS1tYXggew0KCXRvcDogMDsNCn0NCi51aS1zcGlubmVyIHsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJZGlzcGxheTogaW5saW5lLWJsb2NrOw0KCW92ZXJmbG93OiBoaWRkZW47DQoJcGFkZGluZzogMDsNCgl2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KfQ0KLnVpLXNwaW5uZXItaW5wdXQgew0KCWJvcmRlcjogbm9uZTsNCgliYWNrZ3JvdW5kOiBub25lOw0KCWNvbG9yOiBpbmhlcml0Ow0KCXBhZGRpbmc6IDA7DQoJbWFyZ2luOiAuMmVtIDA7DQoJdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCgltYXJnaW4tbGVmdDogLjRlbTsNCgltYXJnaW4tcmlnaHQ6IDIycHg7DQp9DQoudWktc3Bpbm5lci1idXR0b24gew0KCXdpZHRoOiAxNnB4Ow0KCWhlaWdodDogNTAlOw0KCWZvbnQtc2l6ZTogLjVlbTsNCglwYWRkaW5nOiAwOw0KCW1hcmdpbjogMDsNCgl0ZXh0LWFsaWduOiBjZW50ZXI7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCWN1cnNvcjogZGVmYXVsdDsNCglkaXNwbGF5OiBibG9jazsNCglvdmVyZmxvdzogaGlkZGVuOw0KCXJpZ2h0OiAwOw0KfQ0KLyogbW9yZSBzcGVjaWZpY2l0eSByZXF1aXJlZCBoZXJlIHRvIG92ZXJyaWRlIGRlZmF1bHQgYm9yZGVycyAqLw0KLnVpLXNwaW5uZXIgYS51aS1zcGlubmVyLWJ1dHRvbiB7DQoJYm9yZGVyLXRvcDogbm9uZTsNCglib3JkZXItYm90dG9tOiBub25lOw0KCWJvcmRlci1yaWdodDogbm9uZTsNCn0NCi8qIHZlcnRpY2FsbHkgY2VudGVyIGljb24gKi8NCi51aS1zcGlubmVyIC51aS1pY29uIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJbWFyZ2luLXRvcDogLThweDsNCgl0b3A6IDUwJTsNCglsZWZ0OiAwOw0KfQ0KLnVpLXNwaW5uZXItdXAgew0KCXRvcDogMDsNCn0NCi51aS1zcGlubmVyLWRvd24gew0KCWJvdHRvbTogMDsNCn0NCg0KLyogVFIgb3ZlcnJpZGVzICovDQoudWktc3Bpbm5lciAudWktaWNvbi10cmlhbmdsZS0xLXMgew0KCS8qIG5lZWQgdG8gZml4IGljb25zIHNwcml0ZSAqLw0KCWJhY2tncm91bmQtcG9zaXRpb246IC02NXB4IC0xNnB4Ow0KfQ0KLnVpLXRhYnMgew0KCXBvc2l0aW9uOiByZWxhdGl2ZTsvKiBwb3NpdGlvbjogcmVsYXRpdmUgcHJldmVudHMgSUUgc2Nyb2xsIGJ1ZyAoZWxlbWVudCB3aXRoIHBvc2l0aW9uOiByZWxhdGl2ZSBpbnNpZGUgY29udGFpbmVyIHdpdGggb3ZlcmZsb3c6IGF1dG8gYXBwZWFyIGFzICJmaXhlZCIpICovDQoJcGFkZGluZzogLjJlbTsNCn0NCi51aS10YWJzIC51aS10YWJzLW5hdiB7DQoJbWFyZ2luOiAwOw0KCXBhZGRpbmc6IC4yZW0gLjJlbSAwOw0KfQ0KLnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpIHsNCglsaXN0LXN0eWxlOiBub25lOw0KCWZsb2F0OiBsZWZ0Ow0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCgl0b3A6IDA7DQoJbWFyZ2luOiAxcHggLjJlbSAwIDA7DQoJYm9yZGVyLWJvdHRvbS13aWR0aDogMDsNCglwYWRkaW5nOiAwOw0KCXdoaXRlLXNwYWNlOiBub3dyYXA7DQp9DQoudWktdGFicyAudWktdGFicy1uYXYgLnVpLXRhYnMtYW5jaG9yIHsNCglmbG9hdDogbGVmdDsNCglwYWRkaW5nOiAuNWVtIDFlbTsNCgl0ZXh0LWRlY29yYXRpb246IG5vbmU7DQp9DQoudWktdGFicyAudWktdGFicy1uYXYgbGkudWktdGFicy1hY3RpdmUgew0KCW1hcmdpbi1ib3R0b206IC0xcHg7DQoJcGFkZGluZy1ib3R0b206IDFweDsNCn0NCi51aS10YWJzIC51aS10YWJzLW5hdiBsaS51aS10YWJzLWFjdGl2ZSAudWktdGFicy1hbmNob3IsDQoudWktdGFicyAudWktdGFicy1uYXYgbGkudWktc3RhdGUtZGlzYWJsZWQgLnVpLXRhYnMtYW5jaG9yLA0KLnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpLnVpLXRhYnMtbG9hZGluZyAudWktdGFicy1hbmNob3Igew0KCWN1cnNvcjogdGV4dDsNCn0NCi51aS10YWJzLWNvbGxhcHNpYmxlIC51aS10YWJzLW5hdiBsaS51aS10YWJzLWFjdGl2ZSAudWktdGFicy1hbmNob3Igew0KCWN1cnNvcjogcG9pbnRlcjsNCn0NCi51aS10YWJzIC51aS10YWJzLXBhbmVsIHsNCglkaXNwbGF5OiBibG9jazsNCglib3JkZXItd2lkdGg6IDA7DQoJcGFkZGluZzogMWVtIDEuNGVtOw0KCWJhY2tncm91bmQ6IG5vbmU7DQp9DQoudWktdG9vbHRpcCB7DQoJcGFkZGluZzogOHB4Ow0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl6LWluZGV4OiA5OTk5Ow0KCW1heC13aWR0aDogMzAwcHg7DQoJLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgNXB4ICNhYWE7DQoJYm94LXNoYWRvdzogMCAwIDVweCAjYWFhOw0KfQ0KYm9keSAudWktdG9vbHRpcCB7DQoJYm9yZGVyLXdpZHRoOiAycHg7DQp9DQoNCi8qIENvbXBvbmVudCBjb250YWluZXJzDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi51aS13aWRnZXQgew0KCWZvbnQtZmFtaWx5OiBUcmVidWNoZXQgTVMsVGFob21hLFZlcmRhbmEsQXJpYWwsc2Fucy1zZXJpZjsNCglmb250LXNpemU6IDEuMWVtOw0KfQ0KLnVpLXdpZGdldCAudWktd2lkZ2V0IHsNCglmb250LXNpemU6IDFlbTsNCn0NCi51aS13aWRnZXQgaW5wdXQsDQoudWktd2lkZ2V0IHNlbGVjdCwNCi51aS13aWRnZXQgdGV4dGFyZWEsDQoudWktd2lkZ2V0IGJ1dHRvbiB7DQoJZm9udC1mYW1pbHk6IFRyZWJ1Y2hldCBNUyxUYWhvbWEsVmVyZGFuYSxBcmlhbCxzYW5zLXNlcmlmOw0KCWZvbnQtc2l6ZTogMWVtOw0KfQ0KLnVpLXdpZGdldC1jb250ZW50IHsNCglib3JkZXI6IDFweCBzb2xpZCAjZGRkZGRkOw0KCWJhY2tncm91bmQ6ICNlZWVlZWUgOw0KCWNvbG9yOiAjMzMzMzMzOw0KfQ0KLnVpLXdpZGdldC1jb250ZW50IGEgew0KCWNvbG9yOiAjMzMzMzMzOw0KfQ0KLnVpLXdpZGdldC1oZWFkZXIgew0KCWJvcmRlcjogMXB4IHNvbGlkICNlNzhmMDg7DQoJYmFja2dyb3VuZDogI2Y2YTgyOCA7DQoJY29sb3I6ICNmZmZmZmY7DQoJZm9udC13ZWlnaHQ6IGJvbGQ7DQp9DQoudWktd2lkZ2V0LWhlYWRlciBhIHsNCgljb2xvcjogI2ZmZmZmZjsNCn0NCg0KLyogSW50ZXJhY3Rpb24gc3RhdGVzDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi51aS1zdGF0ZS1kZWZhdWx0LA0KLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1kZWZhdWx0LA0KLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWRlZmF1bHQgew0KCWJvcmRlcjogMXB4IHNvbGlkICNjY2NjY2M7DQoJYmFja2dyb3VuZDogI2Y2ZjZmNiA7DQoJZm9udC13ZWlnaHQ6IGJvbGQ7DQoJY29sb3I6ICMxYzk0YzQ7DQp9DQoudWktc3RhdGUtZGVmYXVsdCBhLA0KLnVpLXN0YXRlLWRlZmF1bHQgYTpsaW5rLA0KLnVpLXN0YXRlLWRlZmF1bHQgYTp2aXNpdGVkIHsNCgljb2xvcjogIzFjOTRjNDsNCgl0ZXh0LWRlY29yYXRpb246IG5vbmU7DQp9DQoudWktc3RhdGUtaG92ZXIsDQoudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhvdmVyLA0KLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhvdmVyLA0KLnVpLXN0YXRlLWZvY3VzLA0KLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1mb2N1cywNCi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1mb2N1cyB7DQoJYm9yZGVyOiAxcHggc29saWQgI2ZiY2IwOTsNCgliYWNrZ3JvdW5kOiAjZmRmNWNlIDsNCglmb250LXdlaWdodDogYm9sZDsNCgljb2xvcjogI2M3NzQwNTsNCn0NCi51aS1zdGF0ZS1ob3ZlciBhLA0KLnVpLXN0YXRlLWhvdmVyIGE6aG92ZXIsDQoudWktc3RhdGUtaG92ZXIgYTpsaW5rLA0KLnVpLXN0YXRlLWhvdmVyIGE6dmlzaXRlZCwNCi51aS1zdGF0ZS1mb2N1cyBhLA0KLnVpLXN0YXRlLWZvY3VzIGE6aG92ZXIsDQoudWktc3RhdGUtZm9jdXMgYTpsaW5rLA0KLnVpLXN0YXRlLWZvY3VzIGE6dmlzaXRlZCB7DQoJY29sb3I6ICNjNzc0MDU7DQoJdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KfQ0KLnVpLXN0YXRlLWFjdGl2ZSwNCi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtYWN0aXZlLA0KLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWFjdGl2ZSB7DQoJYm9yZGVyOiAxcHggc29saWQgI2ZiZDg1MDsNCgliYWNrZ3JvdW5kOiAjZmZmZmZmIDsNCglmb250LXdlaWdodDogYm9sZDsNCgljb2xvcjogI2ViOGYwMDsNCn0NCi51aS1zdGF0ZS1hY3RpdmUgYSwNCi51aS1zdGF0ZS1hY3RpdmUgYTpsaW5rLA0KLnVpLXN0YXRlLWFjdGl2ZSBhOnZpc2l0ZWQgew0KCWNvbG9yOiAjZWI4ZjAwOw0KCXRleHQtZGVjb3JhdGlvbjogbm9uZTsNCn0NCg0KLyogSW50ZXJhY3Rpb24gQ3Vlcw0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoudWktc3RhdGUtaGlnaGxpZ2h0LA0KLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1oaWdobGlnaHQsDQoudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaGlnaGxpZ2h0IHsNCglib3JkZXI6IDFweCBzb2xpZCAjZmVkMjJmOw0KCWJhY2tncm91bmQ6ICNmZmU0NWMgOw0KCWNvbG9yOiAjMzYzNjM2Ow0KfQ0KLnVpLXN0YXRlLWhpZ2hsaWdodCBhLA0KLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1oaWdobGlnaHQgYSwNCi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1oaWdobGlnaHQgYSB7DQoJY29sb3I6ICMzNjM2MzY7DQp9DQoudWktc3RhdGUtZXJyb3IsDQoudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yLA0KLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9yIHsNCglib3JkZXI6IDFweCBzb2xpZCAjY2QwYTBhOw0KCWJhY2tncm91bmQ6ICNiODE5MDAgOw0KCWNvbG9yOiAjZmZmZmZmOw0KfQ0KLnVpLXN0YXRlLWVycm9yIGEsDQoudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yIGEsDQoudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3IgYSB7DQoJY29sb3I6ICNmZmZmZmY7DQp9DQoudWktc3RhdGUtZXJyb3ItdGV4dCwNCi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3ItdGV4dCwNCi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1lcnJvci10ZXh0IHsNCgljb2xvcjogI2ZmZmZmZjsNCn0NCi51aS1wcmlvcml0eS1wcmltYXJ5LA0KLnVpLXdpZGdldC1jb250ZW50IC51aS1wcmlvcml0eS1wcmltYXJ5LA0KLnVpLXdpZGdldC1oZWFkZXIgLnVpLXByaW9yaXR5LXByaW1hcnkgew0KCWZvbnQtd2VpZ2h0OiBib2xkOw0KfQ0KLnVpLXByaW9yaXR5LXNlY29uZGFyeSwNCi51aS13aWRnZXQtY29udGVudCAudWktcHJpb3JpdHktc2Vjb25kYXJ5LA0KLnVpLXdpZGdldC1oZWFkZXIgLnVpLXByaW9yaXR5LXNlY29uZGFyeSB7DQoJb3BhY2l0eTogLjc7DQoJZmlsdGVyOkFscGhhKE9wYWNpdHk9NzApOyAvKiBzdXBwb3J0OiBJRTggKi8NCglmb250LXdlaWdodDogbm9ybWFsOw0KfQ0KLnVpLXN0YXRlLWRpc2FibGVkLA0KLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1kaXNhYmxlZCwNCi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1kaXNhYmxlZCB7DQoJb3BhY2l0eTogLjM1Ow0KCWZpbHRlcjpBbHBoYShPcGFjaXR5PTM1KTsgLyogc3VwcG9ydDogSUU4ICovDQoJYmFja2dyb3VuZC1pbWFnZTogbm9uZTsNCn0NCi51aS1zdGF0ZS1kaXNhYmxlZCAudWktaWNvbiB7DQoJZmlsdGVyOkFscGhhKE9wYWNpdHk9MzUpOyAvKiBzdXBwb3J0OiBJRTggLSBTZWUgIzYwNTkgKi8NCn0NCg0KLyogSWNvbnMNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KDQovKiBzdGF0ZXMgYW5kIGltYWdlcyAqLw0KLnVpLWljb24gew0KCXdpZHRoOiAxNnB4Ow0KCWhlaWdodDogMTZweDsNCn0NCi51aS1pY29uLC8qDQoudWktd2lkZ2V0LWNvbnRlbnQgLnVpLWljb24gew0KCWJhY2tncm91bmQtaW1hZ2U6IHVybCgiaW1hZ2VzL3VpLWljb25zXzIyMjIyMl8yNTZ4MjQwLnBuZyIpOw0KfQ0KLnVpLXdpZGdldC1oZWFkZXIgLnVpLWljb24gew0KCWJhY2tncm91bmQtaW1hZ2U6IHVybCgiaW1hZ2VzL3VpLWljb25zX2ZmZmZmZl8yNTZ4MjQwLnBuZyIpOw0KfQ0KLnVpLXN0YXRlLWRlZmF1bHQgLnVpLWljb24gew0KCWJhY2tncm91bmQtaW1hZ2U6IHVybCgiaW1hZ2VzL3VpLWljb25zX2VmOGMwOF8yNTZ4MjQwLnBuZyIpOw0KfQ0KLnVpLXN0YXRlLWhvdmVyIC51aS1pY29uLA0KLnVpLXN0YXRlLWZvY3VzIC51aS1pY29uIHsNCgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoImltYWdlcy91aS1pY29uc19lZjhjMDhfMjU2eDI0MC5wbmciKTsNCn0NCi51aS1zdGF0ZS1hY3RpdmUgLnVpLWljb24gew0KCWJhY2tncm91bmQtaW1hZ2U6IHVybCgiaW1hZ2VzL3VpLWljb25zX2VmOGMwOF8yNTZ4MjQwLnBuZyIpOw0KfQ0KLnVpLXN0YXRlLWhpZ2hsaWdodCAudWktaWNvbiB7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCJpbWFnZXMvdWktaWNvbnNfMjI4ZWYxXzI1NngyNDAucG5nIik7DQp9DQoudWktc3RhdGUtZXJyb3IgLnVpLWljb24sDQoudWktc3RhdGUtZXJyb3ItdGV4dCAudWktaWNvbiB7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCJpbWFnZXMvdWktaWNvbnNfZmZkMjdhXzI1NngyNDAucG5nIik7DQp9Ki8NCg0KLyogcG9zaXRpb25pbmcgKi8NCi51aS1pY29uLWJsYW5rIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTZweCAxNnB4OyB9DQoudWktaWNvbi1jYXJhdC0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH0NCi51aS1pY29uLWNhcmF0LTEtbmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAwOyB9DQoudWktaWNvbi1jYXJhdC0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAwOyB9DQoudWktaWNvbi1jYXJhdC0xLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggMDsgfQ0KLnVpLWljb24tY2FyYXQtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggMDsgfQ0KLnVpLWljb24tY2FyYXQtMS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IDA7IH0NCi51aS1pY29uLWNhcmF0LTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IDA7IH0NCi51aS1pY29uLWNhcmF0LTEtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggMDsgfQ0KLnVpLWljb24tY2FyYXQtMi1uLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggMDsgfQ0KLnVpLWljb24tY2FyYXQtMi1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggMDsgfQ0KLnVpLWljb24tdHJpYW5nbGUtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTZweDsgfQ0KLnVpLWljb24tdHJpYW5nbGUtMS1uZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNnB4OyB9DQoudWktaWNvbi10cmlhbmdsZS0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTZweDsgfQ0KLnVpLWljb24tdHJpYW5nbGUtMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xNnB4OyB9DQoudWktaWNvbi10cmlhbmdsZS0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTZweDsgfQ0KLnVpLWljb24tdHJpYW5nbGUtMS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNnB4OyB9DQoudWktaWNvbi10cmlhbmdsZS0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTZweDsgfQ0KLnVpLWljb24tdHJpYW5nbGUtMS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTZweDsgfQ0KLnVpLWljb24tdHJpYW5nbGUtMi1uLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE2cHg7IH0NCi51aS1pY29uLXRyaWFuZ2xlLTItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xNnB4OyB9DQoudWktaWNvbi1hcnJvdy0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zMnB4OyB9DQoudWktaWNvbi1hcnJvdy0xLW5lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTMycHg7IH0NCi51aS1pY29uLWFycm93LTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0zMnB4OyB9DQoudWktaWNvbi1hcnJvdy0xLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTMycHg7IH0NCi51aS1pY29uLWFycm93LTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0zMnB4OyB9DQoudWktaWNvbi1hcnJvdy0xLXN3IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTMycHg7IH0NCi51aS1pY29uLWFycm93LTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0zMnB4OyB9DQoudWktaWNvbi1hcnJvdy0xLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0zMnB4OyB9DQoudWktaWNvbi1hcnJvdy0yLW4tcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMzJweDsgfQ0KLnVpLWljb24tYXJyb3ctMi1uZS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMzJweDsgfQ0KLnVpLWljb24tYXJyb3ctMi1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTMycHg7IH0NCi51aS1pY29uLWFycm93LTItc2UtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTMycHg7IH0NCi51aS1pY29uLWFycm93c3RvcC0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTMycHg7IH0NCi51aS1pY29uLWFycm93c3RvcC0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTMycHg7IH0NCi51aS1pY29uLWFycm93c3RvcC0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTMycHg7IH0NCi51aS1pY29uLWFycm93c3RvcC0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTMycHg7IH0NCi51aS1pY29uLWFycm93dGhpY2stMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDhweDsgfQ0KLnVpLWljb24tYXJyb3d0aGljay0xLW5lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTQ4cHg7IH0NCi51aS1pY29uLWFycm93dGhpY2stMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTQ4cHg7IH0NCi51aS1pY29uLWFycm93dGhpY2stMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC00OHB4OyB9DQoudWktaWNvbi1hcnJvd3RoaWNrLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC00OHB4OyB9DQoudWktaWNvbi1hcnJvd3RoaWNrLTEtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNDhweDsgfQ0KLnVpLWljb24tYXJyb3d0aGljay0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtNDhweDsgfQ0KLnVpLWljb24tYXJyb3d0aGljay0xLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC00OHB4OyB9DQoudWktaWNvbi1hcnJvd3RoaWNrLTItbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC00OHB4OyB9DQoudWktaWNvbi1hcnJvd3RoaWNrLTItbmUtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTQ4cHg7IH0NCi51aS1pY29uLWFycm93dGhpY2stMi1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTQ4cHg7IH0NCi51aS1pY29uLWFycm93dGhpY2stMi1zZS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtNDhweDsgfQ0KLnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC00OHB4OyB9DQoudWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTQ4cHg7IH0NCi51aS1pY29uLWFycm93dGhpY2tzdG9wLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtNDhweDsgfQ0KLnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC00OHB4OyB9DQoudWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTY0cHg7IH0NCi51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTY0cHg7IH0NCi51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTY0cHg7IH0NCi51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTY0cHg7IH0NCi51aS1pY29uLWFycm93cmV0dXJuLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC02NHB4OyB9DQoudWktaWNvbi1hcnJvd3JldHVybi0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNjRweDsgfQ0KLnVpLWljb24tYXJyb3dyZXR1cm4tMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTY0cHg7IH0NCi51aS1pY29uLWFycm93cmV0dXJuLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtNjRweDsgfQ0KLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtNjRweDsgfQ0KLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtNjRweDsgfQ0KLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtNjRweDsgfQ0KLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtNjRweDsgfQ0KLnVpLWljb24tYXJyb3ctNCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTgwcHg7IH0NCi51aS1pY29uLWFycm93LTQtZGlhZyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC04MHB4OyB9DQoudWktaWNvbi1leHRsaW5rIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTgwcHg7IH0NCi51aS1pY29uLW5ld3dpbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC04MHB4OyB9DQoudWktaWNvbi1yZWZyZXNoIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTgwcHg7IH0NCi51aS1pY29uLXNodWZmbGUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtODBweDsgfQ0KLnVpLWljb24tdHJhbnNmZXItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTgwcHg7IH0NCi51aS1pY29uLXRyYW5zZmVydGhpY2stZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC04MHB4OyB9DQoudWktaWNvbi1mb2xkZXItY29sbGFwc2VkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtOTZweDsgfQ0KLnVpLWljb24tZm9sZGVyLW9wZW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtOTZweDsgfQ0KLnVpLWljb24tZG9jdW1lbnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtOTZweDsgfQ0KLnVpLWljb24tZG9jdW1lbnQtYiB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC05NnB4OyB9DQoudWktaWNvbi1ub3RlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTk2cHg7IH0NCi51aS1pY29uLW1haWwtY2xvc2VkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTk2cHg7IH0NCi51aS1pY29uLW1haWwtb3BlbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC05NnB4OyB9DQoudWktaWNvbi1zdWl0Y2FzZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtOTZweDsgfQ0KLnVpLWljb24tY29tbWVudCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtOTZweDsgfQ0KLnVpLWljb24tcGVyc29uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC05NnB4OyB9DQoudWktaWNvbi1wcmludCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtOTZweDsgfQ0KLnVpLWljb24tdHJhc2ggeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTk2cHg7IH0NCi51aS1pY29uLWxvY2tlZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtOTZweDsgfQ0KLnVpLWljb24tdW5sb2NrZWQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTk2cHg7IH0NCi51aS1pY29uLWJvb2ttYXJrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC05NnB4OyB9DQoudWktaWNvbi10YWcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTk2cHg7IH0NCi51aS1pY29uLWhvbWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMTJweDsgfQ0KLnVpLWljb24tZmxhZyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xMTJweDsgfQ0KLnVpLWljb24tY2FsZW5kYXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTEycHg7IH0NCi51aS1pY29uLWNhcnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTEycHg7IH0NCi51aS1pY29uLXBlbmNpbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xMTJweDsgfQ0KLnVpLWljb24tY2xvY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTEycHg7IH0NCi51aS1pY29uLWRpc2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTEycHg7IH0NCi51aS1pY29uLWNhbGN1bGF0b3IgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTExMnB4OyB9DQoudWktaWNvbi16b29taW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTExMnB4OyB9DQoudWktaWNvbi16b29tb3V0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xMTJweDsgfQ0KLnVpLWljb24tc2VhcmNoIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0xMTJweDsgfQ0KLnVpLWljb24td3JlbmNoIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC0xMTJweDsgfQ0KLnVpLWljb24tZ2VhciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMTEycHg7IH0NCi51aS1pY29uLWhlYXJ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0xMTJweDsgfQ0KLnVpLWljb24tc3RhciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtMTEycHg7IH0NCi51aS1pY29uLWxpbmsgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTExMnB4OyB9DQoudWktaWNvbi1jYW5jZWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMjhweDsgfQ0KLnVpLWljb24tcGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xMjhweDsgfQ0KLnVpLWljb24tcGx1c3RoaWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTEyOHB4OyB9DQoudWktaWNvbi1taW51cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xMjhweDsgfQ0KLnVpLWljb24tbWludXN0aGljayB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xMjhweDsgfQ0KLnVpLWljb24tY2xvc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTI4cHg7IH0NCi51aS1pY29uLWNsb3NldGhpY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTI4cHg7IH0NCi51aS1pY29uLWtleSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTI4cHg7IH0NCi51aS1pY29uLWxpZ2h0YnVsYiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTI4cHg7IH0NCi51aS1pY29uLXNjaXNzb3JzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xMjhweDsgfQ0KLnVpLWljb24tY2xpcGJvYXJkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0xMjhweDsgfQ0KLnVpLWljb24tY29weSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMTI4cHg7IH0NCi51aS1pY29uLWNvbnRhY3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTEyOHB4OyB9DQoudWktaWNvbi1pbWFnZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtMTI4cHg7IH0NCi51aS1pY29uLXZpZGVvIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC0xMjhweDsgfQ0KLnVpLWljb24tc2NyaXB0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC0xMjhweDsgfQ0KLnVpLWljb24tYWxlcnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNDRweDsgfQ0KLnVpLWljb24taW5mbyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNDRweDsgfQ0KLnVpLWljb24tbm90aWNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE0NHB4OyB9DQoudWktaWNvbi1oZWxwIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE0NHB4OyB9DQoudWktaWNvbi1jaGVjayB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xNDRweDsgfQ0KLnVpLWljb24tYnVsbGV0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE0NHB4OyB9DQoudWktaWNvbi1yYWRpby1vbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xNDRweDsgfQ0KLnVpLWljb24tcmFkaW8tb2ZmIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xNDRweDsgfQ0KLnVpLWljb24tcGluLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE0NHB4OyB9DQoudWktaWNvbi1waW4tcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTQ0cHg7IH0NCi51aS1pY29uLXBsYXkgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNjBweDsgfQ0KLnVpLWljb24tcGF1c2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTYwcHg7IH0NCi51aS1pY29uLXNlZWstbmV4dCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xNjBweDsgfQ0KLnVpLWljb24tc2Vlay1wcmV2IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE2MHB4OyB9DQoudWktaWNvbi1zZWVrLWVuZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xNjBweDsgfQ0KLnVpLWljb24tc2Vlay1zdGFydCB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNjBweDsgfQ0KLyogdWktaWNvbi1zZWVrLWZpcnN0IGlzIGRlcHJlY2F0ZWQsIHVzZSB1aS1pY29uLXNlZWstc3RhcnQgaW5zdGVhZCAqLw0KLnVpLWljb24tc2Vlay1maXJzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNjBweDsgfQ0KLnVpLWljb24tc3RvcCB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xNjBweDsgfQ0KLnVpLWljb24tZWplY3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTE2MHB4OyB9DQoudWktaWNvbi12b2x1bWUtb2ZmIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xNjBweDsgfQ0KLnVpLWljb24tdm9sdW1lLW9uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xNjBweDsgfQ0KLnVpLWljb24tcG93ZXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNzZweDsgfQ0KLnVpLWljb24tc2lnbmFsLWRpYWcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTc2cHg7IH0NCi51aS1pY29uLXNpZ25hbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xNzZweDsgfQ0KLnVpLWljb24tYmF0dGVyeS0wIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE3NnB4OyB9DQoudWktaWNvbi1iYXR0ZXJ5LTEgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTc2cHg7IH0NCi51aS1pY29uLWJhdHRlcnktMiB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNzZweDsgfQ0KLnVpLWljb24tYmF0dGVyeS0zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE3NnB4OyB9DQoudWktaWNvbi1jaXJjbGUtcGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE5MnB4OyB9DQoudWktaWNvbi1jaXJjbGUtbWludXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTkycHg7IH0NCi51aS1pY29uLWNpcmNsZS1jbG9zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xOTJweDsgfQ0KLnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTkycHg7IH0NCi51aS1pY29uLWNpcmNsZS10cmlhbmdsZS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTE5MnB4OyB9DQoudWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xOTJweDsgfQ0KLnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTkycHg7IH0NCi51aS1pY29uLWNpcmNsZS1hcnJvdy1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xOTJweDsgfQ0KLnVpLWljb24tY2lyY2xlLWFycm93LXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE5MnB4OyB9DQoudWktaWNvbi1jaXJjbGUtYXJyb3ctdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTkycHg7IH0NCi51aS1pY29uLWNpcmNsZS1hcnJvdy1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0xOTJweDsgfQ0KLnVpLWljb24tY2lyY2xlLXpvb21pbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMTkycHg7IH0NCi51aS1pY29uLWNpcmNsZS16b29tb3V0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC0xOTJweDsgfQ0KLnVpLWljb24tY2lyY2xlLWNoZWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0xOTJweDsgfQ0KLnVpLWljb24tY2lyY2xlc21hbGwtcGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIwOHB4OyB9DQoudWktaWNvbi1jaXJjbGVzbWFsbC1taW51cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0yMDhweDsgfQ0KLnVpLWljb24tY2lyY2xlc21hbGwtY2xvc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMjA4cHg7IH0NCi51aS1pY29uLXNxdWFyZXNtYWxsLXBsdXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMjA4cHg7IH0NCi51aS1pY29uLXNxdWFyZXNtYWxsLW1pbnVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTIwOHB4OyB9DQoudWktaWNvbi1zcXVhcmVzbWFsbC1jbG9zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0yMDhweDsgfQ0KLnVpLWljb24tZ3JpcC1kb3R0ZWQtdmVydGljYWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMjRweDsgfQ0KLnVpLWljb24tZ3JpcC1kb3R0ZWQtaG9yaXpvbnRhbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0yMjRweDsgfQ0KLnVpLWljb24tZ3JpcC1zb2xpZC12ZXJ0aWNhbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0yMjRweDsgfQ0KLnVpLWljb24tZ3JpcC1zb2xpZC1ob3Jpem9udGFsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTIyNHB4OyB9DQoudWktaWNvbi1ncmlwc21hbGwtZGlhZ29uYWwtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMjI0cHg7IH0NCi51aS1pY29uLWdyaXAtZGlhZ29uYWwtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMjI0cHg7IH0NCg0KDQovKiBNaXNjIHZpc3VhbHMNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KDQovKiBDb3JuZXIgcmFkaXVzICovDQoudWktY29ybmVyLWFsbCwNCi51aS1jb3JuZXItdG9wLA0KLnVpLWNvcm5lci1sZWZ0LA0KLnVpLWNvcm5lci10bCB7DQoJYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4Ow0KfQ0KLnVpLWNvcm5lci1hbGwsDQoudWktY29ybmVyLXRvcCwNCi51aS1jb3JuZXItcmlnaHQsDQoudWktY29ybmVyLXRyIHsNCglib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4Ow0KfQ0KLnVpLWNvcm5lci1hbGwsDQoudWktY29ybmVyLWJvdHRvbSwNCi51aS1jb3JuZXItbGVmdCwNCi51aS1jb3JuZXItYmwgew0KCWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDsNCn0NCi51aS1jb3JuZXItYWxsLA0KLnVpLWNvcm5lci1ib3R0b20sDQoudWktY29ybmVyLXJpZ2h0LA0KLnVpLWNvcm5lci1iciB7DQoJYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDsNCn0NCg0KLyogT3ZlcmxheXMgKi8NCi51aS13aWRnZXQtb3ZlcmxheSB7DQoJYmFja2dyb3VuZDogIzY2NjY2NiA7DQoJb3BhY2l0eTogLjU7DQoJZmlsdGVyOiBBbHBoYShPcGFjaXR5PTUwKTsgLyogc3VwcG9ydDogSUU4ICovDQp9DQoudWktd2lkZ2V0LXNoYWRvdyB7DQoJbWFyZ2luOiAtNXB4IDAgMCAtNXB4Ow0KCXBhZGRpbmc6IDVweDsNCgliYWNrZ3JvdW5kOiAjMDAwMDAwIDsNCglvcGFjaXR5OiAuMjsNCglmaWx0ZXI6IEFscGhhKE9wYWNpdHk9MjApOyAvKiBzdXBwb3J0OiBJRTggKi8NCglib3JkZXItcmFkaXVzOiA1cHg7DQp9DQo="}},"time_used":54,"timings":{"blocked":-1,"dns":0,"connect":27,"send":0,"wait":28,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/img/card_bg_1.png","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.449Z","timestamp":1785120633449,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /img/card_bg_1.png HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: image/png\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-fa2\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":4002,"size_decoded":3430,"mime_type":"image/png","magic":"PNG image data, 276 x 413, 8-bit/color RGBA, non-interlaced","md5":"00c9e5c2558a6a0cb513ee1282796558","sha1":"8a2776ab2265d18805f4b4d60750134c581492e8","sha256":"3b7110af8b3ba7691945f06d4f2d278d4d01e30352f5b44ac3ea7d34d605a218","sha512":"8061a2ba0fb9cca838360829a20e943d73bfb71c7722ef542d1a6cce9a59b34f06d411aabd8fcbca6a9579293d979a5d848d81383824020d306a29adc7860307","ssdeep":"","tlshash":"5981b37a7b9b0d559e0adf632c630d814cf807f3995cd8b121bbe41a26065f28ea41f9","first_seen":"2026-07-27T02:45:25.23658Z","last_seen":"2026-07-27T02:59:54.559131Z","times_seen":4,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAARQAAAGdCAYAAADTz4xpAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjU4REE0QjM2OTZENzExRTg4REJDQkM3NzMxNUFEODc5IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjU4REE0QjM3OTZENzExRTg4REJDQkM3NzMxNUFEODc5Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NThEQTRCMzQ5NkQ3MTFFODhEQkNCQzc3MzE1QUQ4NzkiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NThEQTRCMzU5NkQ3MTFFODhEQkNCQzc3MzE1QUQ4NzkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6jawxKAAAMEklEQVR42uzd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"}},"time_used":133,"timings":{"blocked":105,"dns":0,"connect":0,"send":0,"wait":28,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"tvc-invdn-cf-com.investing.com/tool/1.12.10/tool-prod-2-ssl.html?carrier=cc6698fccca44e51b088d9ddbbcf8ec8\u0026time=1785120633\u0026domain_ID=7\u0026lang_ID=7\u0026timezone_ID=17\u0026version=1.12.10\u0026locale=ru\u0026timezone=Europe/Moscow\u0026pair_ID=945629\u0026interval=5\u0026session=24x7\u0026prefix=ru\u0026suffix=\u0026client=0\u0026user=\u0026plotStyle=area\u0026geoc=NO\u0026styleOverride=","fqdn":"tvc-invdn-cf-com.investing.com","domain":"investing.com","tld":"com"},"ip":{"addr":"172.64.155.105","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://ssltvc.forexprostools.com/?pair_ID=945629\u0026height=398\u0026width=618\u0026interval=300\u0026plotStyle=area\u0026domain_ID=7\u0026lang_ID=7\u0026timezone_ID=17","date":"2026-07-27T02:50:33.680Z","timestamp":1785120633680,"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":"tvc-invdn-cf-com.investing.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 31 May 2026 06:59:21 GMT","end":"Sat, 29 Aug 2026 07:59:19 GMT"},"fingerprint":{"sha1":"90:A7:5D:5C:7F:22:D6:92:72:4C:85:3E:E7:2D:28:D1:42:20:B1:F8","sha256":"4C:97:98:34:DB:36:63:81:85:8D:5B:E0:91:75:21:94:B9:1D:97:17:07:3D:61:14:3E:02:DB:0F:73:40:E7:84"}}},"request":{"raw":"GET /tool/1.12.10/tool-prod-2-ssl.html?carrier=cc6698fccca44e51b088d9ddbbcf8ec8\u0026time=1785120633\u0026domain_ID=7\u0026lang_ID=7\u0026timezone_ID=17\u0026version=1.12.10\u0026locale=ru\u0026timezone=Europe/Moscow\u0026pair_ID=945629\u0026interval=5\u0026session=24x7\u0026prefix=ru\u0026suffix=\u0026client=0\u0026user=\u0026plotStyle=area\u0026geoc=NO\u0026styleOverride= HTTP/1.1\r\nHost: tvc-invdn-cf-com.investing.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://ssltvc.forexprostools.com/\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\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 02:50:33 GMT\r\ncontent-type: text/html\r\nx-guploader-uploadid: AKhXX7ICdXdCrbFvSrNTrj94NZB0mDDzPeqx4b06xnurj_jNa8Q9_11SuagW7jXwNQ-kHYjulH3BfA\r\nexpires: Mon, 27 Jul 2026 03:50:33 GMT\r\ncache-control: public, max-age=3600\r\nlast-modified: Wed, 07 Feb 2024 12:23:28 GMT\r\nx-goog-generation: 1707308608921180\r\nx-goog-metageneration: 1\r\nx-goog-stored-content-encoding: identity\r\nx-goog-stored-content-length: 22789\r\nx-goog-hash: crc32c=o3bZwQ==, md5=d49lcusMCQNO28jbssWh/g==\r\nx-goog-storage-class: STANDARD\r\nset-cookie: __cf_bm=mn1PVnpxBsLEicPCDwE_Pe4gHkvTYye6Tx_zgzNLo.k-1785120633.699759-1.0.1.1-lB_db9Ov1aU8Fd3phu4.zXI.0INMPk8u0VotUI0k5.d8tcJf9MPZ8.4bNw0k2UZ4hoLBefzQWLGi7ZW06ZZmMXWweiLPcAzMaI0v_RVdZq.Z_fjpI5Y5UZbmopumxELp1CKoKFuB0JWJV4cWCH7O8Q; HttpOnly; SameSite=None; Secure; Path=/; Domain=investing.com; Expires=Mon, 27 Jul 2026 03:20:33 GMT\r\nserver: cloudflare\r\nvia: 1.1 google\r\nalt-svc: h3=\":443\"; ma=86400\r\npriority: u=4,i=?0\r\ncf-cache-status: MISS\r\nvary: accept-encoding\r\ncontent-encoding: br\r\ncf-ray: a21856589e2e0daa-OSL\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":"Google Cloud Storage","description":"Google Cloud Storage allows world-wide storage and retrieval of any amount of data at any time.","website":"https://cloud.google.com/storage","common_platform_enumeration":"","icon":"google-cloud-storage.svg","categories":["Miscellaneous"]},{"name":"Cloudflare Bot Management","description":"Cloudflare bot management solution identifies and mitigates automated traffic to protect websites from bad bots.","website":"https://www.cloudflare.com/en-gb/products/bot-management/","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["Security"]},{"name":"jQuery","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":"Google Cloud CDN","description":"Cloud CDN uses Google's global edge network to serve content closer to users.","website":"https://cloud.google.com/cdn","common_platform_enumeration":"","icon":"google-cloud-cdn.svg","categories":["CDN"]},{"name":"Google Cloud","description":"Google Cloud is a suite of cloud computing services.","website":"https://cloud.google.com","common_platform_enumeration":"cpe:2.3:a:google:cloud_platform:*:*:*:*:*:*:*:*","icon":"Google Cloud.svg","categories":["IaaS"]}],"data":{"size":23727,"size_decoded":8311,"mime_type":"text/html","magic":"HTML document, ASCII text, with very long lines (1729), with CRLF line terminators","md5":"bd059cd7559190ac82868b9ec7ac06a0","sha1":"fa5decae89be193d79071da016ade0006a2f3b25","sha256":"59f0df4deb4b78542d2d3516596fba9518ac65a44a36681afc1c563dbbf8c66f","sha512":"fc7e1dcac08dd88a6359ab0d79f200c1760776b2d3e0abdbf3fc82da965b43d8ab2f583ad68e07ad5f686924cb5183ddf30619117d1e629da496b85273c472e3","ssdeep":"384:1d/DVvW/DVYebi7/D/JqRjV/D0jUwARrEQHT8VRmXJs8AAAAuwQWrDiKBN7FUUnE:1/qYeb2JqRijUw6IQzOmXSY3z37qKx/q","tlshash":"54b2f826f22f28294193231ca03b5e99bd3ef535f9128536b06e667553ccb880379f79","first_seen":"2026-07-27T02:51:26.602655Z","last_seen":"2026-07-27T02:51:26.602655Z","times_seen":1,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+DQo8aHRtbD4NCgk8aGVhZD4NCgkJPHRpdGxlPlRyYWRpbmdWaWV3IENoYXJ0PC90aXRsZT4NCgkJPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiLz4NCgkJPG1ldGEgbmFtZT0iYXBwbGUtbW9iaWxlLXdlYi1hcHAtY2FwYWJsZSIgY29udGVudD0ieWVzIiAvPg0KCQk8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLGluaXRpYWwtc2NhbGU9MS4wLG1heGltdW0tc2NhbGU9MS4wLG1pbmltdW0tc2NhbGU9MS4wIj4NCgkJDQoJCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpxdWVyeS0yLjEuMC5taW4uanMiPjwvc2NyaXB0Pg0KCQk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJjaGFydGluZ19saWJyYXJ5Lm1pbi5qcyI+PC9zY3JpcHQ+DQoJCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImRhdGFmZWVkL3VkZi9kYXRhZmVlZC5qcyI+PC9zY3JpcHQ+DQoJCQ0KCQk8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCQkJYm9keXttYXJnaW46MDsgcGFkZGluZzowfQ0KCQkJI3R2X3NzX2hvbGRlcntkaXNwbGF5Om5vbmU7fQ0KCQkJI3R2X2NoYXJ0X2NvbnRhaW5lcnt6LWluZGV4OjI7fQ0KCQkJLnR2X3NzX3JlYWR5e3Bvc2l0aW9uOmFic29sdXRlOyB6LWluZGV4Ojk5MDt9DQoJCQkudHZfY2hhcnRfcG9wdXB7IHBvc2l0aW9uOnJlbGF0aXZlOy8qIHRvcDoyOTBweDsgbGVmdDoxMDZweDsqL3RvcDoyNSU7bWFyZ2luOiAwIGF1dG87IHdpZHRoOjM4MnB4OyBmb250LWZhbWlseTpBcmlhbDsgaGVpZ2h0OjExN3B4OyBib3JkZXI6MXB4IHNvbGlkICNjOWNiY2Q7IHBhZGRpbmc6MjBweDsgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDNweCA1cHggI2MzYzNjMzsgLW1vei1ib3gtc2hhZG93OiAwIDNweCA1cHggI2MzYzNjMzsgYm94LXNoYWRvdzogMCAzcHggNXB4ICNjM2MzYzM7IGJhY2tncm91bmQ6d2hpdGU7IHotaW5kZXg6OTkyICFpbXBvcnRhbnQ7IH0NCgkJCS5wb3B1cEhlYWRlcnsgbWFyZ2luLWJvdHRvbToxMnB4OyB9DQoJCQkuaGVhZGVyVGV4dHsgcG9zaXRpb246cmVsYXRpdmU7IHRvcDotM3B4OyBmb250LXNpemU6MThweDsgZm9udC13ZWlnaHQ6Ym9sZDsgY29sb3I6IzMzMzsgfQ0KCQkJLnR2X3BvcHVwX2Nsb3Nlcnsgd2lkdGg6OXB4OyBoZWlnaHQ6OXB4OyBjdXJzb3I6cG9pbnRlcjsgZmxvYXQ6cmlnaHQ7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBa0FBQUFKQ0FJQUFBQnY4NUZIQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5QnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU1DMWpNRFl3SURZeExqRXpORGMzTnl3Z01qQXhNQzh3TWk4eE1pMHhOem96TWpvd01DQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTlROU0JYYVc1a2IzZHpJaUI0YlhCTlRUcEpibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPalUzTURNMlFrVXhSa1ExTURFeFJUUTVSakV5UVVZMVJFUkNOME01UWpSQ0lpQjRiWEJOVFRwRWIyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09qVTNNRE0yUWtVeVJrUTFNREV4UlRRNVJqRXlRVVkxUkVSQ04wTTVRalJDSWo0Z1BIaHRjRTFOT2tSbGNtbDJaV1JHY205dElITjBVbVZtT21sdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNk5UY3dNelpDUkVaR1JEVXdNVEZGTkRsR01USkJSalZFUkVJM1F6bENORUlpSUhOMFVtVm1PbVJ2WTNWdFpXNTBTVVE5SW5odGNDNWthV1E2TlRjd016WkNSVEJHUkRVd01URkZORGxHTVRKQlJqVkVSRUkzUXpsQ05FSWlMejRnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrSUR3dmNtUm1PbEpFUmo0Z1BDOTRPbmh0Y0cxbGRHRStJRHcvZUhCaFkydGxkQ0JsYm1ROUluSWlQejZpK3c4SEFBQUFYVWxFUVZSNDJtTDQvLy8vbkFYTC9xTUNpQWl6cktJNkF3UEQrWXRYakF4MEdjQmc3c0xsRUJHbTVQaElaQ0VJQ1FSQWNVYWdYbVFodUFTUVpFTG1vTEdaa0ExRVl6T2gyWUVzRFhVblhBTG9XcUFMSWU1a3dPTS9nQUFEQUlMdlZ3aGNpcE1lQUFBQUFFbEZUa1N1UW1DQycpOyB9DQoJCQkuaWNvbnN7IG1hcmdpbi1ib3R0b206MTZweDsgfQ0KCQkJLmljb257IGN1cnNvcjpwb2ludGVyOyB3aWR0aDozMXB4OyBoZWlnaHQ6MzFweDsgYm9yZGVyOjA7IGRpc3BsYXk6aW5saW5lLWJsb2NrOyBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7IGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjsgbWFyZ2luLXJpZ2h0OjEwcHg7IH0NCgkJCS50d2l0dGVyeyBiYWNrZ3JvdW5kLWNvbG9yOiMwMGFjZWQ7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCUUFBQUFVQ0FZQUFBQ05pUjBOQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5QnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU1DMWpNRFl3SURZeExqRXpORGMzTnl3Z01qQXhNQzh3TWk4eE1pMHhOem96TWpvd01DQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTlROU0JYYVc1a2IzZHpJaUI0YlhCTlRUcEpibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPalk0TlRFNU56ZEJSa1ExTWpFeFJUUTRNRUpFT1VSRVJUa3pSVVUyT0RNMElpQjRiWEJOVFRwRWIyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09qWTROVEU1TnpkQ1JrUTFNakV4UlRRNE1FSkVPVVJFUlRrelJVVTJPRE0wSWo0Z1BIaHRjRTFOT2tSbGNtbDJaV1JHY205dElITjBVbVZtT21sdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNk5qZzFNVGszTnpoR1JEVXlNVEZGTkRnd1FrUTVSRVJGT1RORlJUWTRNelFpSUhOMFVtVm1PbVJ2WTNWdFpXNTBTVVE5SW5odGNDNWthV1E2TmpnMU1UazNOemxHUkRVeU1URkZORGd3UWtRNVJFUkZPVE5GUlRZNE16UWlMejRnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrSUR3dmNtUm1PbEpFUmo0Z1BDOTRPbmh0Y0cxbGRHRStJRHcvZUhCaFkydGxkQ0JsYm1ROUluSWlQejdQVG1iMUFBQUJRMGxFUVZSNDJtTDgvLzgvQXpVQkV3T1ZBYktCekVTb053YmlPVUI4RW9nbkE3RTZWSndIaU9YQUxKQ1hnVmdDaUE4RE1RK1VqdzBIQXZIUC82amdHeEJ2QWVJYlFDd0VEajZvWWxlb0FwQ2hjbGdNWXdQaTUvK3hBNUFsNjRDNEdxUVc1dVdQVU5vR2lLOENjVDRROHlONVZSZUlKWEFFQXhzUXZ3RGliaENIRVJyTG9QQzdEY1NLU0FxL0EvRldJTDRBTmJ3VVQ5anFBZkZsNURCVUJPSzYvK1FEQ1Zqd3dGeW9BblVoT1FEa0UxNGcvb3VjYk80QThRSXlEZHdITXd3OUhhWUQ4WFFnL2tXaWdYTnhKZXkvME1CL1FZSmhaNEY0UFlvSVdub3pneVpXWWdBby9SbWdwMW4wdkh3S2lBMkJ1QStJMytGeDJWOW9FRjFBbDJEQm9wZ2Zta2VGOE1ScUloQ3Z4Q29MZGFvS0VLOEE0b2NFdkxrRm1tWng1WGQ0T2dRQlRpQ09BbUl6YUZiamdjYjRJMmpnTDRheThRTEdJVlhBVWdVQUJCZ0FXZkNUUG1zTVk0QUFBQUFBU1VWT1JLNUNZSUk9Jyk7IH0NCgkJCS50d2l0dGVyOmhvdmVyeyBiYWNrZ3JvdW5kLWNvbG9yOmxpZ2h0Ymx1ZTsgfQ0KCQkJLnN0eyBiYWNrZ3JvdW5kLWNvbG9yOiM0MDU3NmY7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCUUFBQUFVQ0FZQUFBQ05pUjBOQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5QnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU1DMWpNRFl3SURZeExqRXpORGMzTnl3Z01qQXhNQzh3TWk4eE1pMHhOem96TWpvd01DQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTlROU0JYYVc1a2IzZHpJaUI0YlhCTlRUcEpibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPa0V4UkRsRVJVVkZSa1ExTWpFeFJUUTROVEUwUlRkRlJqVTNOa00wUWprd0lpQjRiWEJOVFRwRWIyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09rRXhSRGxFUlVWR1JrUTFNakV4UlRRNE5URTBSVGRGUmpVM05rTTBRamt3SWo0Z1BIaHRjRTFOT2tSbGNtbDJaV1JHY205dElITjBVbVZtT21sdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNlFURkVPVVJGUlVOR1JEVXlNVEZGTkRnMU1UUkZOMFZHTlRjMlF6UkNPVEFpSUhOMFVtVm1PbVJ2WTNWdFpXNTBTVVE5SW5odGNDNWthV1E2UVRGRU9VUkZSVVJHUkRVeU1URkZORGcxTVRSRk4wVkdOVGMyUXpSQ09UQWlMejRnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrSUR3dmNtUm1PbEpFUmo0Z1BDOTRPbmh0Y0cxbGRHRStJRHcvZUhCaFkydGxkQ0JsYm1ROUluSWlQejZ4MFVUN0FBQUJDa2xFUVZSNDJtTDgvLzgvQXpVQkV3T1ZBUXNTMnhpSU00SFlBSWlsZ2ZncEVIOEU0azFBUEIySU9ZSDRBMEVUZ1Y1bUJ1S1ovM0dEdDFBMS9QK0pBQ0FYSmdOeEdwSWRyNEg0T05TVktrQzhBNGovRXUxbm9LRUhrQ3dBdVpRQkNmTUFzUnlhR0F3akE3ZzR5SVVTU09iL1FyUHZDeFF6a09MQ1JXaTJyUUJpTXh5dUl1aENCcWlYUG1BSlgxQlEySkJqSUFpckFQRXhIQkZYVFk2Qk1Hd1B4TnV4R0dwRHJvRXdiQXpFcjVBMHpDSFdRRnhaN3l3MGg4QUFQeWxaTHcyYWlMY0M4VFVnWmdaaUp5RDJRN09BNkdTemhVQnVBbmxkaUJRdkcrT3g3eVlRdXdIeE8ySWR5QWpLOUZBdnFrQXhDRndHNGtkbzRZamhPV1J6a0EwYzNBVXMxUTBFQ0RBQUFvQktYbzl4eWJrQUFBQUFTVVZPUks1Q1lJST0nKTsgfQ0KCQkJLnN0OmhvdmVyeyBiYWNrZ3JvdW5kLWNvbG9yOiM1ZTc0OGE7IH0NCgkJCS5kb3dueyBiYWNrZ3JvdW5kLWNvbG9yOiM1MTUwNTA7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCVUFBQUFVQ0FZQUFBQmlTM1l6QUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5QnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU1DMWpNRFl3SURZeExqRXpORGMzTnl3Z01qQXhNQzh3TWk4eE1pMHhOem96TWpvd01DQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTlROU0JYYVc1a2IzZHpJaUI0YlhCTlRUcEpibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPa1JGTnpZek1EWkRSa1ZETlRFeFJUUTRRelUzT1RWR09EZzNNelJDTWpFMUlpQjRiWEJOVFRwRWIyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09rUkZOell6TURaRVJrVkROVEV4UlRRNFF6VTNPVFZHT0RnM016UkNNakUxSWo0Z1BIaHRjRTFOT2tSbGNtbDJaV1JHY205dElITjBVbVZtT21sdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNlJFVTNOak13TmtGR1JVTTFNVEZGTkRoRE5UYzVOVVk0T0Rjek5FSXlNVFVpSUhOMFVtVm1PbVJ2WTNWdFpXNTBTVVE5SW5odGNDNWthV1E2UkVVM05qTXdOa0pHUlVNMU1URkZORGhETlRjNU5VWTRPRGN6TkVJeU1UVWlMejRnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrSUR3dmNtUm1PbEpFUmo0Z1BDOTRPbmh0Y0cxbGRHRStJRHcvZUhCaFkydGxkQ0JsYm1ROUluSWlQejRPMDMrTkFBQUFpVWxFUVZSNDJtTDgvLzgvQTdVQkV3TU5BRTBNWlNGU0hYSVlNUTRmNzQ4YWloVmtBdkVmYUt6L3g1SVNZSGdGRUxOaHBoVmdqc0tCdzRINDUzL2NZQm91dmZnTUJXRlhJUDZHeGNBNmZQb0lHUXJDWmtEOEZtcllIeURPSktTSEdFTkJXQXVJNzBHRGhLQjZSaEpLS1dZZy9rdnRKUFdYM0NURmo1WmtpTVVvZ0hGa0Y5SUFBUVlBZ3VvdHNwMWo4YjhBQUFBQVNVVk9SSzVDWUlJPScpOyB9DQoJCQkuZG93bjpob3ZlcnsgYmFja2dyb3VuZC1jb2xvcjojODY4Njg2OyB9DQoJCQkuY29weUxpbmt7IHdpZHRoOjg2cHg7IGhlaWdodDoyMXB4OyBmb250LXNpemU6MTJweDsgZm9udC13ZWlnaHQ6Ym9sZDsgY29sb3I6IzljYTBhNjsgYm9yZGVyOjFweCBzb2xpZCAjZGNkY2RjOyBkaXNwbGF5OmlubGluZS1ibG9jazsgZmxvYXQ6cmlnaHQ7IHRleHQtYWxpZ246Y2VudGVyOyB2ZXJ0aWNhbC1hbGlnbjpjZW50ZXI7IHBhZGRpbmctdG9wOjhweDsgY3Vyc29yOnBvaW50ZXI7IH0NCgkJCS5jb3B5TGluazpob3ZlcnsgYm9yZGVyOjFweCBzb2xpZCAjNTE1MDUwOyBjb2xvcjojMzMzOyB9DQoJCQkudXJsQ29udHsgYm9yZGVyOjFweCBzb2xpZCAjZTRlNWU2OyB3aWR0aDozNjBweDsgcGFkZGluZzo5cHggMTBweCA4cHggMTBweDsgZm9udC1zaXplOjEycHg7IGNvbG9yOiM5OTk7IG91dGxpbmU6bm9uZTsgfQ0KCQkJLnNoYWRvd3sgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQtY29sb3I6ICMwMDA7IG9wYWNpdHk6IDAuMzsgd2lkdGg6MTAwJTsgaGVpZ2h0OjEwMCU7IHRvcDowOyBsZWZ0OjA7IH0NCgkJPC9zdHlsZT4NCgk8L2hlYWQ+DQoNCgk8Ym9keT4NCgkJPGRpdiBpZD0idHZfc3NfaG9sZGVyIj4NCgkJCTxkaXYgY2xhc3M9InR2X3NzX3JlYWR5Ij4NCgkJCQk8ZGl2IGNsYXNzPSJ0dl9jaGFydF9wb3B1cCI+DQoJCQkJCTxkaXYgY2xhc3M9InBvcHVwSGVhZGVyIj4NCgkJCQkJCTxzcGFuIGNsYXNzPSJoZWFkZXJUZXh0Ij5TaGFyZSBjaGFydDwvc3Bhbj4NCgkJCQkJCTxzcGFuIGNsYXNzPSJ0dl9wb3B1cF9jbG9zZXIiIGlkPSJ0dl9wb3B1cF9jbG9zZXIiPjwvc3Bhbj4NCgkJCQkJPC9kaXY+DQoJCQkJCTxkaXYgY2xhc3M9Imljb25zIj4NCgkJCQkJCTxzcGFuIHJlbD0iIiBjbGFzcz0iaWNvbiB0d2l0dGVyIj48L3NwYW4+DQoJCQkJCQk8c3BhbiBjbGFzcz0iaWNvbiBzdCI+PC9zcGFuPg0KCQkJCQkJPGEgY2xhc3M9Imljb24gZG93biIgaHJlZj0iIiBkb3dubG9hZD0iWW91ciBuZXcgVFZDIj48L2E+DQoJCQkJCQk8YSBjbGFzcz0iY29weUxpbmsiPkNvcHkgTGluazwvYT4NCgkJCQkJPC9kaXY+DQoJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBwbGFjZWhvbGRlcj0iZ2VuZXJhdGluZyBpbWFnZS4uLiIgY2xhc3M9InVybENvbnQgc2hvcnRfdXJsX2lucHV0Ij4NCgkJCQk8L2Rpdj4NCgkJCQk8ZGl2IGNsYXNzPSJzaGFkb3ciPjwvZGl2Pg0KCQkJPC9kaXY+DQoJCTwvZGl2Pg0KCQk8ZGl2IGlkPSJ0dl9jaGFydF9jb250YWluZXIiPjwvZGl2Pg0KCQk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQoJCQkNCgkJCSQoIGRvY3VtZW50ICkucmVhZHkoIGZ1bmN0aW9uKCl7DQogICAgICAgICAgICAgICAgdmFyIF9wYXJhbXMgPSBnZXRQYXJhbXMoKTsNCgkJCQlpZihfcGFyYW1zWydnZW9jJ10gPT0gJ0NOJykgew0KCQkJCQljZG5QYXRoID0gJ3R2Yy1jbmNkbi1jZi5pbnZlc3RpbmcuY29tJzsNCgkJCQl9IGVsc2Ugew0KCQkJCQljZG5QYXRoID0gJ3R2Yy1pbnZkbi1jZi1jb20uaW52ZXN0aW5nLmNvbSc7DQoJCQkJfQ0KDQogICAgICAgICAgICAgICAgaWYobG9jYXRpb24ucHJvdG9jb2wgPT0gImh0dHBzOiIpew0KICAgICAgICAgICAgICAgICAgICBjZG5QYXRoID0gJ2h0dHBzOi8vJyArIGNkblBhdGg7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgY2RuUGF0aCA9ICdodHRwOi8vJyArIGNkblBhdGg7DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgdmFyIHdpZGdldDsNCiAgICAgICAgICAgICAgICB2YXIgdGltZWZyYW1lc0FycmF5U3RyOw0KDQoJCQkJdmFyIHVwQ29sb3I7DQoJCQkJdmFyIHVwQm9yZGVyQ29sb3I7DQoJCQkJdmFyIHVwVm9sdW1lQ29sb3I7DQoJCQkJDQoJCQkJdmFyIGRvd25Db2xvcjsNCgkJCQl2YXIgZG93bkJvcmRlckNvbG9yOw0KCQkJCXZhciBkb3duVm9sdW1lQ29sb3I7DQoJCQkJDQoJCQkJdmFyIHByZWZpeCA9IF9wYXJhbXNbJ3ByZWZpeCddIHx8ICd3d3cnOw0KCQkJCXZhciBzaXRlVXJsID0gJ2h0dHBzOi8vc3NsdHZjLmZvcmV4cHJvc3Rvb2xzLmNvbS8nOw0KCQkJCXZhciBiYXNlRG9tYWluID0gbG9jYXRpb24uaG9zdC5yZXBsYWNlKCAic3RhdGljIiwgInRvb2wiICk7DQoJCQkJdmFyIGJhc2VVcmwgPSAnaHR0cHM6Ly9zc2x0dmMuZm9yZXhwcm9zdG9vbHMuY29tLycgKyBfcGFyYW1zWyAnY2FycmllcicgXSArICcvJyArIF9wYXJhbXNbICd0aW1lJyBdICsgJy8nICsgX3BhcmFtc1sgJ2RvbWFpbl9JRCcgXSArICcvJyArIF9wYXJhbXNbICdsYW5nX0lEJyBdICsgJy8nICsgX3BhcmFtc1sgJ3RpbWV6b25lX0lEJyBdOw0KCQkJCXZhciBzdG9yYWdlVXJsID0gX3BhcmFtc1sndXNlciddID8gJyInICsgYmFzZVVybCArICciJyA6ICdudWxsJzsNCgkJCQkvL3ZhciBzdG9yYWdlVXJsID0gX3BhcmFtc1sndXNlciddID8gJyJodHRwOi8vc2F2ZWxvYWQudHJhZGluZ3ZpZXcuY29tIicgOiAnbnVsbCc7DQogICAgICAgICAgICAgICAgdmFyIGJhY2tncm91bmRDb2xvciA9ICJmZmZmZmYiOw0KICAgICAgICAgICAgICAgIHZhciBsaW5lQ29sb3IgPSAiM0M3OEQ4IjsNCiAgICAgICAgICAgICAgICB2YXIgZ3JpZExpbmVzQ29sb3IgPSAiRTFFQ0YyIjsNCgkJCQkNCgkJCQlpZiggX3BhcmFtc1sgJ3Nlc3Npb24nIF0gPT0gJzI0eDcnICkgew0KCQkJCQkNCgkJCQkJc3R5bGUgPSAnIm1haW5TZXJpZXNQcm9wZXJ0aWVzLnN0eWxlIjogMSwnOw0KCQkJCQl0aW1lZnJhbWVzQXJyYXlTdHIgPSAneyB0ZXh0OiIxMHkiLCByZXNvbHV0aW9uOiAiTSIgfSwgeyB0ZXh0OiAiM3kiLCByZXNvbHV0aW9uOiAiVyIgfSwgeyB0ZXh0OiAiMXkiLCByZXNvbHV0aW9uOiAiVyIgfSx7IHRleHQ6ICIzbSIsIHJlc29sdXRpb246ICJEIiB9LHsgdGV4dDogIjFtIiwgcmVzb2x1dGlvbjogIjMwMCIgfSx7IHRleHQ6ICI3ZCIsIHJlc29sdXRpb246ICI2MCIgfSx7IHRleHQ6ICIxZCIsIHJlc29sdXRpb246ICIxNSIgfSwnOw0KCQkJCX0NCgkJCQllbHNlIHsNCgkJCQkJDQoJCQkJCXN0eWxlID0gJyJtYWluU2VyaWVzUHJvcGVydGllcy5zdHlsZSI6IDMsJzsNCgkJCQkJdGltZWZyYW1lc0FycmF5U3RyID0gJ3sgdGV4dDoiMTB5IiwgcmVzb2x1dGlvbjogIk0iIH0sIHsgdGV4dDogIjN5IiwgcmVzb2x1dGlvbjogIlciIH0sIHsgdGV4dDogIjF5IiwgcmVzb2x1dGlvbjogIlciIH0seyB0ZXh0OiAiM20iLCByZXNvbHV0aW9uOiAiRCIgfSx7IHRleHQ6ICIxbSIsIHJlc29sdXRpb246ICIzMDAiIH0seyB0ZXh0OiAiN2QiLCByZXNvbHV0aW9uOiAiNjAiIH0seyB0ZXh0OiAiMWQiLCByZXNvbHV0aW9uOiAiMTUiIH0sJzsNCgkJCQl9DQoNCgkJCQlzd2l0Y2goX3BhcmFtc1sncGxvdFN0eWxlJ10pew0KCQkJCQkNCgkJCQkJY2FzZSAnYmFycyc6DQoJCQkJCQlzdHlsZSA9ICcibWFpblNlcmllc1Byb3BlcnRpZXMuc3R5bGUiOiAwLCc7DQoJCQkJCWJyZWFrOw0KCQkJCQljYXNlICdjYW5kbGVzJzoNCgkJCQkJCXN0eWxlID0gJyJtYWluU2VyaWVzUHJvcGVydGllcy5zdHlsZSI6IDEsJzsNCgkJCQkJYnJlYWs7DQoJCQkJCWNhc2UgJ2hvbGxvd19jYW5kbGVzJzoNCgkJCQkJCXN0eWxlID0gJyJtYWluU2VyaWVzUHJvcGVydGllcy5zdHlsZSI6IDksJzsNCgkJCQkJYnJlYWs7DQoJCQkJCWNhc2UgJ2xpbmUnOg0KCQkJCQkJc3R5bGUgPSAnIm1haW5TZXJpZXNQcm9wZXJ0aWVzLnN0eWxlIjogMiwnOw0KCQkJCQlicmVhazsNCgkJCQkJY2FzZSAnYXJlYSc6DQoJCQkJCQlzdHlsZSA9ICcibWFpblNlcmllc1Byb3BlcnRpZXMuc3R5bGUiOiAzLCc7DQoJCQkJCWJyZWFrOw0KCQkJCQljYXNlICdoZWlraW5fYXNoaSc6DQoJCQkJCQlzdHlsZSA9ICcibWFpblNlcmllc1Byb3BlcnRpZXMuc3R5bGUiOiA4LCc7DQoJCQkJCWJyZWFrOw0KCQkJCX0NCgkJCQkNCgkJCQlpZiggX3BhcmFtc1sgJ3N1ZmZpeCcgXSA9PSAnX2tyJyApIHsNCgkJCQkJDQoJCQkJCXVwQ29sb3IgCQk9ICciI2ZmMDAwMCInOw0KCQkJCQl1cEJvcmRlckNvbG9yCT0gJyIjNWIxYTEzIic7DQoJCQkJCXVwVm9sdW1lQ29sb3IJPSAnIiNCQjIyMjIiJzsNCgkJCQkJDQoJCQkJCWRvd25Db2xvciAJCT0gJyIjMDBBQUZGIic7DQoJCQkJCWRvd25Cb3JkZXJDb2xvciA9ICciIzIyMzc1NCInOw0KCQkJCQlkb3duVm9sdW1lQ29sb3IgPSAnIiMyMjIyQkIiJzsNCgkJCQl9DQoJCQkJZWxzZSBpZiggX3BhcmFtc1sgJ3N1ZmZpeCcgXSA9PSAnX2NuX2pwJyApIHsNCgkJCQkJDQoJCQkJCXVwQ29sb3IgCQk9ICciI2Q3NTQ0MiInOw0KCQkJCQl1cEJvcmRlckNvbG9yCT0gJyIjNWIxYTEzIic7DQoJCQkJCXVwVm9sdW1lQ29sb3IJPSAnIiNCQjIyMjIiJzsNCgkJCQkJDQoJCQkJCWRvd25Db2xvciAJCT0gJyIjNmJhNTgzIic7DQoJCQkJCWRvd25Cb3JkZXJDb2xvciA9ICciIzZiYTU4MyInOw0KCQkJCQlkb3duVm9sdW1lQ29sb3IgPSAnIiMyMkJCMjIiJzsNCgkJCQl9DQoJCQkJZWxzZSB7DQoJCQkJCQ0KCQkJCQl1cENvbG9yIAkJPSAnIiMwMGUxMDAiJzsNCgkJCQkJdXBCb3JkZXJDb2xvciAJPSAnIiMyMjU0MzciJzsNCgkJCQkJdXBWb2x1bWVDb2xvciAJPSAnIiMyMkJCMjIiJzsNCgkJCQkJDQoJCQkJCWRvd25Db2xvciAJCT0gJyIjZmYwMDAwIic7DQoJCQkJCWRvd25Cb3JkZXJDb2xvciA9ICciIzViMWExMyInOw0KCQkJCQlkb3duVm9sdW1lQ29sb3IgPSAnIiNCQjIyMjIiJzsNCgkJCQl9DQoJCQkJDQoJCQkJdmFyIHN0b3JhZ2UgPSAnJzsNCgkJCQlpZiggTnVtYmVyKCBfcGFyYW1zWyAndXNlcicgXSApICYmIE51bWJlciggX3BhcmFtc1sgJ2NsaWVudCcgXSApICkgew0KCQkJCQkNCgkJCQkJc3RvcmFnZSA9ICdjaGFydHNfc3RvcmFnZV91cmw6ICcgKyBzdG9yYWdlVXJsICsgJywgY2xpZW50X2lkOiAnICsgX3BhcmFtc1sgJ2NsaWVudCcgXSArICcsIHVzZXJfaWQ6ICInICsgX3BhcmFtc1sgJ3VzZXInIF0gKyAnIiwnOw0KCQkJCX0NCgkJCQkNCiAgICAgICAgICAgICAgICBpZihfcGFyYW1zWydzdHlsZU92ZXJyaWRlJ10gPT0gJ29rZGlhcmlvJyl7DQogICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvciA9ICJGRkU4RDgiOw0KICAgICAgICAgICAgICAgICAgICBsaW5lQ29sb3IgPSAiMDAwMDAwIjsNCiAgICAgICAgICAgICAgICAgICAgZ3JpZExpbmVzQ29sb3IgPSAiRkZFOEQ4IjsNCiAgICAgICAgICAgICAgICAgICAgc3R5bGUgPSAnIm1haW5TZXJpZXNQcm9wZXJ0aWVzLnN0eWxlIjogMiwnOw0KICAgICAgICAgICAgICAgIH0NCgkJCQkNCgkJCQl2YXIgdWJlclN0cmluZyA9ICcgXA0KCQkJCQlcDQoJCQkJCVRyYWRpbmdWaWV3Lm9ucmVhZHkoZnVuY3Rpb24oKXsgXA0KCQkJCQkJXA0KCQkJCQkJdmFyIHdpZGdldCA9IG5ldyBUcmFkaW5nVmlldy53aWRnZXQoeyBcDQoJCQkJCQkJc3ltYm9sOiAnICsgX3BhcmFtc1sgJ3BhaXJfSUQnIF0gKyAnLCBcDQoJCQkJCQkJaW50ZXJ2YWw6ICInICsgX3BhcmFtc1sgJ2ludGVydmFsJyBdICsgJyIsIFwNCgkJCQkJCQlmdWxsc2NyZWVuOiB0cnVlLCBcDQoJCQkJCQkJY29udGFpbmVyX2lkOiAidHZfY2hhcnRfY29udGFpbmVyIiwgXA0KCQkJCQkJCWxpYnJhcnlfcGF0aDogIicgKyBjZG5QYXRoICsgJy90b29sLycgKyBfcGFyYW1zWyAndmVyc2lvbicgXSArICcvIiwgXA0KCQkJCQkJCWVuYWJsZWRfZmVhdHVyZXM6IFsgInJpZ2h0X2Jhcl9zdGF5c19vbl9zY3JvbGwiLCAibWluaW1hbGlzdGljX2xvZ28iLCAibW92ZV9sb2dvX3RvX21haW5fcGFuZSIsICJuYXJyb3dfY2hhcnRfZW5hYmxlZCIsICJoZWFkZXJfc2F2ZWxvYWQiLCAiaGVhZGVyX3dpZGdldF9kb21fbm9kZSIsImhlYWRlcl9zY3JlZW5zaG90IiBdLCBcDQoJCQkJCQkJZGlzYWJsZWRfZmVhdHVyZXM6IFsgInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIiwgInZvbHVtZV9mb3JjZV9vdmVybGF5IiwgImxpbmtfdG9fdHJhZGluZ3ZpZXciLCAiaGVhZGVyX2ludGVydmFsX2RpYWxvZ19idXR0b24iLCAiaGVhZGVyX2Z1bGxzY3JlZW5fYnV0dG9uIiwgInNob3dfZGlhbG9nX29uX3NuYXBzaG90X3JlYWR5IiwgInN0dWR5X3RlbXBsYXRlcyIsICJoZWFkZXJfbGF5b3V0dG9nZ2xlIiAgXSwgXA0KCQkJCQkJCXN0dWRpZXNfYWNjZXNzOiB7IHR5cGU6ImJsYWNrIiwgdG9vbHM6WyB7IG5hbWU6IkNvcnJlbGF0aW9uIENvZWZmIiwgZ3JheWVkOmZhbHNlIH0gXSB9LCBcDQoJCQkJCQkJZHJhd2luZ3NfYWNjZXNzOiB7IHR5cGU6ImJsYWNrIiwgdG9vbHM6WyB7IG5hbWU6IlJlZ3Jlc3Npb24gVHJlbmQiLCBncmF5ZWQ6ZmFsc2UgfSBdIH0sIFwNCgkJCQkJCQlsb2NhbGU6ICInICsgX3BhcmFtc1sgJ2xvY2FsZScgXSArICciLCBcDQoJCQkJCQkJdGltZXpvbmU6ICInICsgX3BhcmFtc1sgJ3RpbWV6b25lJyBdICsgJyIsIFwNCgkJCQkJCQlzbmFwc2hvdF91cmw6ICInICsgYmFzZVVybCArICcvc25hcHNob3QiLCBcDQoJCQkJCQkJZGF0YWZlZWQ6IG5ldyBEYXRhZmVlZHMuVURGQ29tcGF0aWJsZURhdGFmZWVkKCInICsgYmFzZVVybCArICciLCA4MDAwICksIFwNCgkJCQkJCQknICsgc3RvcmFnZSArICcgXA0KCQkJCQkJCW92ZXJyaWRlczogeyBcDQoJCQkJCQkJCScgKyBzdHlsZSArICcgXA0KCQkJCQkJCQkidm9sdW1lUGFuZVNpemUiOiAibWVkaXVtIiwgXA0KCQkJCQkJCQkic3ltYm9sV2F0ZXJtYXJrUHJvcGVydGllcy5jb2xvciI6IiNmZmZmZmYiLCBcDQoJCQkJCQkJCSJzeW1ib2xXYXRlcm1hcmtQcm9wZXJ0aWVzLnRyYW5zcGFyZW5jeSI6IDEwMCwgXA0KCQkJCQkJCQkicGFuZVByb3BlcnRpZXMudG9wTWFyZ2luIjogMTAsIFwNCgkJCQkJCQkJInBhbmVQcm9wZXJ0aWVzLmJhY2tncm91bmQiOiAiIycrYmFja2dyb3VuZENvbG9yKyciLCBcDQoJCQkJCQkJCSJtYWluU2VyaWVzUHJvcGVydGllcy5jYW5kbGVTdHlsZS51cENvbG9yIjogJyArIHVwQ29sb3IgKyAnLCBcDQoJCQkJCQkJCSJtYWluU2VyaWVzUHJvcGVydGllcy5jYW5kbGVTdHlsZS5kb3duQ29sb3IiOiAnICsgZG93bkNvbG9yICsgJywgXA0KCQkJCQkJCQkibWFpblNlcmllc1Byb3BlcnRpZXMuY2FuZGxlU3R5bGUuZHJhd1dpY2siOiB0cnVlLCBcDQoJCQkJCQkJCSJtYWluU2VyaWVzUHJvcGVydGllcy5jYW5kbGVTdHlsZS5kcmF3Qm9yZGVyIjogdHJ1ZSwgXA0KCQkJCQkJCQkibWFpblNlcmllc1Byb3BlcnRpZXMuY2FuZGxlU3R5bGUuYm9yZGVyQ29sb3IiOiAiIzY2NjY2NiIsIFwNCgkJCQkJCQkJIm1haW5TZXJpZXNQcm9wZXJ0aWVzLmNhbmRsZVN0eWxlLmJvcmRlclVwQ29sb3IiOiAnICsgdXBCb3JkZXJDb2xvciArICcsIFwNCgkJCQkJCQkJIm1haW5TZXJpZXNQcm9wZXJ0aWVzLmNhbmRsZVN0eWxlLmJvcmRlckRvd25Db2xvciI6ICcgKyBkb3duQm9yZGVyQ29sb3IgKyAnLCBcDQoJCQkJCQkJCSJtYWluU2VyaWVzUHJvcGVydGllcy5jYW5kbGVTdHlsZS53aWNrQ29sb3IiOiAiIzczNzM3NSIsIFwNCgkJCQkJCQkJIm1haW5TZXJpZXNQcm9wZXJ0aWVzLmNhbmRsZVN0eWxlLmJhckNvbG9yc09uUHJldkNsb3NlIjogZmFsc2UsIFwNCgkJCQkJCQkJIm1haW5TZXJpZXNQcm9wZXJ0aWVzLmhvbGxvd0NhbmRsZVN0eWxlLnVwQ29sb3IiOiAnICsgdXBDb2xvciArICcsIFwNCgkJCQkJCQkJIm1haW5TZXJpZXNQcm9wZXJ0aWVzLmhvbGxvd0NhbmRsZVN0eWxlLmRvd25Db2xvciI6ICcgKyBkb3duQ29sb3IgKyAnLCBcDQoJCQkJCQkJCSJtYWluU2VyaWVzUHJvcGVydGllcy5ob2xsb3dDYW5kbGVTdHlsZS5kcmF3V2ljayI6IHRydWUsIFwNCgkJCQkJCQkJIm1haW5TZXJpZXNQcm9wZXJ0aWVzLmhvbGxvd0NhbmRsZVN0eWxlLmRyYXdCb3JkZXIiOiB0cnVlLCBcDQoJCQkJCQkJCSJtYWluU2VyaWVzUHJvcGVydGllcy5ob2xsb3dDYW5kbGVTdHlsZS5ib3JkZXJDb2xvciI6ICIjNjY2NjY2IiwgXA0KCQkJCQkJCQkibWFpblNlcmllc1Byb3BlcnRpZXMuaG9sbG93Q2FuZGxlU3R5bGUuYm9yZGVyVXBDb2xvciI6ICcgKyB1cEJvcmRlckNvbG9yICsgJywgXA0KCQkJCQkJCQkibWFpblNlcmllc1Byb3BlcnRpZXMuaG9sbG93Q2FuZGxlU3R5bGUuYm9yZGVyRG93bkNvbG9yIjogJyArIGRvd25Cb3JkZXJDb2xvciArICcsIFwNCgkJCQkJCQkJIm1haW5TZXJpZXNQcm9wZXJ0aWVzLmhvbGxvd0NhbmRsZVN0eWxlLndpY2tDb2xvciI6ICIjNzM3Mzc1IiwgXA0KCQkJCQkJCQkibWFpblNlcmllc1Byb3BlcnRpZXMuaGFTdHlsZS51cENvbG9yIjogJyArIHVwQ29sb3IgKyAnLCBcDQoJCQkJCQkJCSJtYWluU2VyaWVzUHJvcGVydGllcy5oYVN0eWxlLmRvd25Db2xvciI6ICcgKyBkb3duQ29sb3IgKyAnLCBcDQoJCQkJCQkJCSJtYWluU2VyaWVzUHJvcGVydGllcy5oYVN0eWxlLmRyYXdXaWNrIjogdHJ1ZSwgXA0KCQkJCQkJCQkibWFpblNlcmllc1Byb3BlcnRpZXMuaGFTdHlsZS5kcmF3Qm9yZGVyIjogdHJ1ZSwgXA0KCQkJCQkJCQkibWFpblNlcmllc1Byb3BlcnRpZXMuaGFTdHlsZS5ib3JkZXJDb2xvciI6ICIjNjY2NjY2IiwgXA0KCQkJCQkJCQkibWFpblNlcmllc1Byb3BlcnRpZXMuaGFTdHlsZS5ib3JkZXJVcENvbG9yIjogJyArIHVwQm9yZGVyQ29sb3IgKyAnLCBcDQoJCQkJCQkJCSJtYWluU2VyaWVzUHJvcGVydGllcy5oYVN0eWxlLmJvcmRlckRvd25Db2xvciI6ICcgKyBkb3duQm9yZGVyQ29sb3IgKyAnLCBcDQoJCQkJCQkJCSJtYWluU2VyaWVzUHJvcGVydGllcy5oYVN0eWxlLndpY2tDb2xvciI6ICIjNzM3Mzc1IiwgXA0KCQkJCQkJCQkibWFpblNlcmllc1Byb3BlcnRpZXMuaGFTdHlsZS5iYXJDb2xvcnNPblByZXZDbG9zZSI6IGZhbHNlLCBcDQoJCQkJCQkJCSJtYWluU2VyaWVzUHJvcGVydGllcy5saW5lU3R5bGUuY29sb3IiOiAiIycgKyBsaW5lQ29sb3IgKyAnIiwgXA0KCQkJCQkJCQkicGFuZVByb3BlcnRpZXMudmVydEdyaWRQcm9wZXJ0aWVzLmNvbG9yIjogIiMnICsgZ3JpZExpbmVzQ29sb3IgKyAnIiwgXA0KICAgICAgICAgICAgICAgIAkJCQkicGFuZVByb3BlcnRpZXMuaG9yekdyaWRQcm9wZXJ0aWVzLmNvbG9yIjogIiMnICsgZ3JpZExpbmVzQ29sb3IgKyAnIiBcDQoJCQkJCQkJfSwgXA0KCQkJCQkJCXRpbWVfZnJhbWVzOiBbJyArIHRpbWVmcmFtZXNBcnJheVN0ciArICddLCBcDQoJCQkJCQkJc3R1ZGllc19vdmVycmlkZXM6eyBcDQoJCQkJCQkJCSJ2b2x1bWUudm9sdW1lLmNvbG9yLjAiOiAnICsgZG93blZvbHVtZUNvbG9yICsgJywgXA0KCQkJCQkJCQkidm9sdW1lLnZvbHVtZS5jb2xvci4xIjogJyArIHVwVm9sdW1lQ29sb3IgKyAnLCBcDQoJCQkJCQkJCSJ2b2x1bWUudm9sdW1lLnRyYW5zcGFyZW5jeSI6IDUwLCBcDQoJCQkJCQkJCSJ2b2x1bWUudm9sdW1lIG1hLmNvbG9yIjogIiMwMDAwMDAiLCBcDQoJCQkJCQkJCSJ2b2x1bWUudm9sdW1lIG1hLnRyYW5zcGFyZW5jeSI6IDcwLCBcDQoJCQkJCQkJCSJ2b2x1bWUudm9sdW1lIG1hLmxpbmV3aWR0aCI6IDIsIFwNCgkJCQkJCQkJInZvbHVtZS5zaG93IG1hIjogdHJ1ZSwgXA0KCQkJCQkJCQkidm9sdW1lLnZvbHVtZSBtYS5wbG90dHlwZSI6ICJsaW5lIiwgXA0KCQkJCQkJCQkidm9sdW1lLm9wdGlvbnMuc2hvd1N0dWR5QXJndW1lbnRzIiA6IGZhbHNlIFwNCgkJCQkJCQl9LCBcDQoJCQkJCQkJbG9nbzogeyBcDQoJCQkJCQkJCWltYWdlOiAiJysgY2RuUGF0aCArICcvaW5jbHVkZXMvbG9nby9pbnZlc3RpbmdfbG9nb19uZXcucG5nIiwgXA0KCQkJCQkJCQlsaW5rOiAiJyArIHNpdGVVcmwgKyAnIiBcDQoJCQkJCQkJfSwgXA0KCQkJCQkJCWN1c3RvbV9jc3NfdXJsOiAiJyArIGNkblBhdGggKyAnL3Rvb2wvJyArIF9wYXJhbXNbICd2ZXJzaW9uJyBdICsgJy9jdXN0b20uY3NzIiwgXA0KCQkJCQkJCWZhdm9yaXRlczogeyBcDQoJCQkJCQkJCWludGVydmFsczogWyAiTSIsICJXIiwgIkQiLCAiMjQwIiwgIjYwIiwgIjMwIiwgIjUiXSwgXA0KCQkJCQkJCQljaGFydFR5cGVzOiBbIkNhbmRsZXMiLCAiQXJlYSIsIF0gfSBcDQoJCQkJCQkJfSk7IFwNCgkJCQkJCXdpZGdldC5vbkNoYXJ0UmVhZHkoZnVuY3Rpb24oKSB7XA0KCQkJCQkJCXJlcG9ydExvYWRlZFZlcnNpb24oKTsgXA0KCQkJCQkJCXdpZGdldC5zdWJzY3JpYmUoIm9uU2NyZWVuc2hvdFJlYWR5IixmdW5jdGlvbiggaW1hZ2VOYW1lICl7c2NyZWVuc2hvdFJlYWR5KCBpbWFnZU5hbWUgKTt9KTsgXA0KCQkJCQkJfSk7IFwNCgkJCQkJfSk7IFwNCgkJCQknOw0KCQkJCWV2YWwoIHViZXJTdHJpbmcgKTsNCgkJCX0pOw0KCQkJDQoJCQkNCgkJCQ0KCQkJY3JlYXRlQnV0dG9uID0gZnVuY3Rpb24oIF93aWRnZXQgKSB7DQoJCQkJDQoJCQkJX3dpZGdldC5jcmVhdGVCdXR0b24oeyBhbGlnbjoicmlnaHQiIH0pDQoJCQkJLmF0dHIoJ3RpdGxlJywgImZ1bGxzY3JlZW4iKQ0KCQkJCS5vbignY2xpY2snLCBmdW5jdGlvbiAoZSkgeyB2b2lkKDApOyB9KQ0KCQkJCS5hcHBlbmQoJCgnPHNwYW4gY2xhc3M9ImJ1dHRvbiBmdWxsc2NyZWVuIGljb25lZCIgdGl0bGU9IkZ1bGxzY3JlZW4gbW9kZSI+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTgiIHdpZHRoPSIxOCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgNTk1LjMgODQxLjkiIHZpZXdCb3g9IjAgMCA1ODYuMDk5OTkgNTg2LjA5OTk2Ij48cGF0aCBkPSJNMTcyLjYgMzY3LjlsLTk3LjcgOTcuN0wwIDM5MC43djE5NS40aDE5NS40bC03NC45LTc0LjkgOTcuNy05Ny43LTQ1LjYtNDUuNnpNMTk1LjQgMEgwdjE5NS40bDc0LjktNzQuOSA5Ny43IDk3LjcgNDUuNi00NS42LTk3LjctOTcuN0wxOTUuNCAwem0xOTUuMyAwbDc0LjkgNzQuOS05Ny43IDk3LjcgNDUuNiA0NS42IDk3LjctOTcuNyA3NC45IDc0LjlWMEgzOTAuN3ptMjIuOCAzNjcuOWwtNDUuNiA0NS42IDk3LjcgOTcuNy03NC45IDc0LjloMTk1LjRWMzkwLjdsLTc0LjkgNzQuOS05Ny43LTk3Ljd6Ij48L3BhdGg+PC9zdmc+PC9zcGFuPicpKTsNCgkJCX0NCgkJCQ0KCQkJDQoJCQlzY3JlZW5zaG90UmVhZHkgPSBmdW5jdGlvbiggX2ltYWdlTmFtZSApIHsNCgkJCQkNCgkJCQlfcGFyYW1zID0gZ2V0UGFyYW1zKCk7DQoJCQkJdmFyIGlmcmFtZV9pZCA9ICQoImlmcmFtZSIpLmF0dHIoJ2lkJyk7DQoJCQkJdmFyIGN1cnJlbnRfaW5zdHIgPSAkKCIjIitpZnJhbWVfaWQpLmNvbnRlbnRzKCkuZmluZCgiLnN5bWJvbC1lZGl0IikudmFsKCk7DQoNCgkJCQl2YXIgdz01MDA7DQoJCQkJdmFyIGg9NTAwOw0KCQkJCXZhciBsZWZ0ID0gKHNjcmVlbi53aWR0aC8yKSAtICh3LzIpOw0KCQkJCXZhciB0b3AgPSAoc2NyZWVuLmhlaWdodC8yKSAtIChoLzIpOw0KCQkJCXZhciBwcmVmaXggPSBfcGFyYW1zWydwcmVmaXgnXSB8fCAnd3d3JzsNCgkJCQl2YXIgc2l0ZVVybCA9ICdodHRwOi8vJyArIHByZWZpeCArICcuaW52ZXN0aW5nLmNvbS8nOw0KCQkJCXZhciBiYXNlVXJsID0gJ2h0dHBzOi8vdHZjLXRvb2wuaW52ZXN0aW5nLmNvbS8nICsgX3BhcmFtc1sgJ2NhcnJpZXInIF0gKyAnLycgKyBfcGFyYW1zWyAndGltZScgXSArICcvJyArIF9wYXJhbXNbICdkb21haW5fSUQnIF0gKyAnLycgKyBfcGFyYW1zWyAnbGFuZ19JRCcgXSArICcvJyArIF9wYXJhbXNbICd0aW1lem9uZV9JRCcgXTsNCgkJCQkNCgkJCQkkKCAnI3R2X2NoYXJ0X2NvbnRhaW5lcicgKS5kZWxlZ2F0ZSggJy50dl9wb3B1cF9jbG9zZXIsIC50dl9zc19yZWFkeV9jbG9uZSAuc2hhZG93JywgJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQoJCQkJCQ0KCQkJCQkkKCAnI3R2X2NoYXJ0X2NvbnRhaW5lciAudHZfc3NfcmVhZHlfY2xvbmUnICkucmVtb3ZlKCk7DQoJCQkJfSk7DQoJCQkJDQoJCQkJJCggJy50dl9zc19yZWFkeScgKS53aWR0aCggcGFyc2VJbnQoICQoICcjdHZfY2hhcnRfY29udGFpbmVyJyApLndpZHRoKCkpKTsNCgkJCQkkKCAnLnR2X3NzX3JlYWR5JyApLmhlaWdodCggcGFyc2VJbnQoICQoICcjdHZfY2hhcnRfY29udGFpbmVyJyApLmhlaWdodCgpKSk7DQoJCQkJDQoJCQkJJCggJyN0dl9jaGFydF9jb250YWluZXInICkucHJlcGVuZCggJCggJyN0dl9zc19ob2xkZXInICkuaHRtbCgpKTsNCgkJCQkkKCAnI3R2X2NoYXJ0X2NvbnRhaW5lciAudHZfc3NfcmVhZHknICkuYWRkQ2xhc3MoICd0dl9zc19yZWFkeV9jbG9uZScgKTsNCgkJCQkkKCAnI3R2X2NoYXJ0X2NvbnRhaW5lciAudHZfY2hhcnRfcG9wdXAnICkuYWRkQ2xhc3MoICd0dl9jaGFydF9wb3B1cF9jbG9uZScgKTsNCgkJCQkNCgkJCQkkKCAnI3R2X2NoYXJ0X2NvbnRhaW5lciAuc2hvcnRfdXJsX2lucHV0JyApLnZhbCggX2ltYWdlTmFtZSApOw0KDQoJCQkJJCgnLnR2X2NoYXJ0X3BvcHVwIC5pY29ucyAuZG93bicpLnByb3AoJ2hyZWYnLF9pbWFnZU5hbWUpOw0KDQoJCQkJJCgnLnR2X2NoYXJ0X3BvcHVwIC5pY29ucyAudHdpdHRlcicpLmNsaWNrKGZ1bmN0aW9uKCl7DQoJCQkJCXdpbmRvdy5vcGVuKCdodHRwczovL3R3aXR0ZXIuY29tL2ludGVudC90d2VldD91cmw9JytfaW1hZ2VOYW1lKycmdGV4dD0kJytjdXJyZW50X2luc3RyKycgY2hhcnQgdmlhIEBpbnZlc3Rpbmdjb20gLSBodHRwOi8vd3d3LmludmVzdGluZy5jb20vJywnJywnd2lkdGg9Jyt3KycsaGVpZ2h0PScraCsnLHRvcD0nK3RvcCsnLGxlZnQ9JytsZWZ0KTsNCgkJCQl9KTsNCg0KCQkJCSQoJy50dl9jaGFydF9wb3B1cCAuaWNvbnMgLnN0JykuY2xpY2soZnVuY3Rpb24oKXsNCgkJCQkJd2luZG93Lm9wZW4oJ2h0dHA6Ly9zdG9ja3R3aXRzLmNvbS93aWRnZXRzL3NoYXJlP2JvZHk9JCcrY3VycmVudF9pbnN0cisnIC0gaHR0cDovL3d3dy5pbnZlc3RpbmcuY29tLyAnK19pbWFnZU5hbWUsJycsJ3dpZHRoPScrdysnLGhlaWdodD0nK2grJyx0b3A9Jyt0b3ArJyxsZWZ0PScrbGVmdCk7DQoJCQkJfSk7DQoNCgkJCQkkKCcudHZfY2hhcnRfcG9wdXAgLmljb25zIC5jb3B5TGluaycpLmNsaWNrKGZ1bmN0aW9uKCl7DQoJCQkJCXZhciAkdGVtcCA9ICQoJzxpbnB1dCBpZD0idGVtcF9lbGVtIiBuYW1lPSJ0ZW1wX2VsZW0iIHZhbHVlPSIiPicpOw0KCQkJCQkkKCdib2R5JykuYXBwZW5kKCR0ZW1wKTsNCgkJCQkJJCgnYm9keSAjdGVtcF9lbGVtJykudmFsKF9pbWFnZU5hbWUpLnNlbGVjdCgpOw0KCQkJCQlkb2N1bWVudC5leGVjQ29tbWFuZCgiY29weSIpOw0KCQkJCQkkdGVtcC5yZW1vdmUoKTsNCgkJCQl9KTsNCg0KCQkJfTsNCg0KDQoJCQlqUXVlcnkuZm4uZXh0ZW5kKHsNCgkJCQkNCgkJCQlpZnJhbWU6IGZ1bmN0aW9uKCl7DQoJCQkJCQ0KCQkJCQl2YXIgaWZyYW1lRG9jID0gdGhpcy5jb250ZW50cygpWzBdOw0KCQkJCQkNCgkJCQkJaWZyYW1lRG9jLm9wZW4oKTsNCgkJCQkJaWZyYW1lRG9jLndyaXRlKCc8IWRvY3R5cGUgaHRtbD48aHRtbD48aGVhZD48L2hlYWQ+PGJvZHkgYmdjb2xvcj0ibWFyb29uIj48c3BhbiBpZD0idHdfdHJpZ2dlciI+PC9zcGFuPjwvYm9keT48L2h0bWw+Jyk7DQoJCQkJCWlmcmFtZURvYy5jbG9zZSgpOw0KCQkJCQkNCgkJCQkJcmV0dXJuIHRoaXM7DQoJCQkJfQ0KCQkJfSk7DQoJCQkNCgkJCQ0KCQkJDQoJCQlyZXBvcnRMb2FkZWRWZXJzaW9uID0gZnVuY3Rpb24oKSB7DQoJCQkJDQoJCQkJdmFyIF9wYXJhbXMgPSBnZXRQYXJhbXMoKTsNCgkJCQkNCgkJCQljb25zb2xlLmxvZyggIlxyXG4iICk7DQoJCQkJY29uc29sZS5sb2coICI9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSIgKTsNCgkJCQljb25zb2xlLmluZm8oICJMb2FkZWQgVFJBRElOR1ZJRVcsIHZlcnNpb246ICIgKyBUcmFkaW5nVmlldy52ZXJzaW9uKCkgKTsNCgkJCQljb25zb2xlLmluZm8oICJMb2FkZWQgSU5WRVNUSU5HLkNPTSAtIFRWQ19Db25uZWN0b3JcclxuIC0gVkVSU0lPTj0iICsgX3BhcmFtc1sgJ3ZlcnNpb24nIF0gKyAiXHJcbiAtIERPTUFJTl9JRD0iICsgX3BhcmFtc1sgJ2RvbWFpbl9JRCcgXSArICJcclxuIC0gTEFOR19JRD0iICsgX3BhcmFtc1sgJ2xhbmdfSUQnIF0gKyAiXHJcbiAtIFRJTUVaT05FX0lEPSIgKyBfcGFyYW1zWyAndGltZXpvbmVfSUQnIF0gKyAiXHJcbiAtIFNFU1NJT049IiArIF9wYXJhbXNbICdzZXNzaW9uJyBdICsgIlxyXG4gLSBDTElFTlQ9IiArIF9wYXJhbXNbICdjbGllbnQnIF0gKyAiXHJcbiAtIFVTRVI9IiArIF9wYXJhbXNbICd1c2VyJyBdICsgIiIgKTsNCgkJCQljb25zb2xlLmxvZyggIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IiApOw0KCQkJCWNvbnNvbGUubG9nKCAiXHJcbiIgKTsNCgkJCX07DQoJCQkNCgkJCQ0KCQkJDQoJCQlnZXRQYXJhbXMgPSBmdW5jdGlvbigpIHsNCgkJCQkNCgkJCQl2YXIgcGFyYW1zU3RyID0gd2luZG93LmxvY2F0aW9uLnNlYXJjaC5zdWJzdHIoIDEgKTsNCgkJCQlyZXR1cm4gKCgoIHBhcmFtc1N0ciAhPSBudWxsICkgJiYgKCBwYXJhbXNTdHIgIT0gJycgKSk/IHBhcnNlUGFyYW1zKCBwYXJhbXNTdHIgKSA6IHt9ICk7DQoJCQl9Ow0KCQkJDQoJCQkNCgkJCQ0KCQkJcGFyc2VQYXJhbXMgPSBmdW5jdGlvbiggX3BhcmFtc1N0ciApIHsNCgkJCQkNCgkJCQl2YXIgcGFyYW1zID0ge307DQoJCQkJdmFyIHBhcmFtQXJyID0gX3BhcmFtc1N0ci5zcGxpdCggJyYnICk7DQoJCQkJDQoJCQkJZm9yKCB2YXIgaSA9IDA7IGkgPCBwYXJhbUFyci5sZW5ndGg7IGkrKyApIHsNCgkJCQkJDQoJCQkJCXZhciB0bXBhcnIgPSBwYXJhbUFyclsgaSBdLnNwbGl0KCAnPScgKTsNCgkJCQkJcGFyYW1zWyB0bXBhcnJbIDAgXSBdID0gdG1wYXJyWyAxIF07DQoJCQkJfQ0KCQkJCQ0KCQkJCXJldHVybiBwYXJhbXM7DQoJCQl9Ow0KCQkJDQoJCTwvc2NyaXB0Pg0KCTxzY3JpcHQ+KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYygpe3ZhciBiPWEuY29udGVudERvY3VtZW50fHwoYS5jb250ZW50V2luZG93JiZhLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQpO2lmKGIpe3ZhciBkPWIuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7ZC5pbm5lckhUTUw9IndpbmRvdy5fX0NGJGN2JHBhcmFtcz17cjonYTIxODU2NTg5ZTJlMGRhYScsdDonTVRjNE5URXlNRFl6TXc9PSd9O3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO2Euc3JjPScvY2RuLWNnaS9jaGFsbGVuZ2UtcGxhdGZvcm0vc2NyaXB0cy9qc2QvbWFpbi5qcyc7ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXS5hcHBlbmRDaGlsZChhKTsiO2IuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXS5hcHBlbmRDaGlsZChkKX19aWYoZG9jdW1lbnQuYm9keSl7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7YS5oZWlnaHQ9MTthLndpZHRoPTE7YS5zdHlsZS5wb3NpdGlvbj0nYWJzb2x1dGUnO2Euc3R5bGUudG9wPTA7YS5zdHlsZS5sZWZ0PTA7YS5zdHlsZS5ib3JkZXI9J25vbmUnO2Euc3R5bGUudmlzaWJpbGl0eT0naGlkZGVuJztkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO2lmKCdsb2FkaW5nJyE9PWRvY3VtZW50LnJlYWR5U3RhdGUpYygpO2Vsc2UgaWYod2luZG93LmFkZEV2ZW50TGlzdGVuZXIpZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsYyk7ZWxzZXt2YXIgZT1kb2N1bWVudC5vbnJlYWR5c3RhdGVjaGFuZ2V8fGZ1bmN0aW9uKCl7fTtkb2N1bWVudC5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oYil7ZShiKTsnbG9hZGluZychPT1kb2N1bWVudC5yZWFkeVN0YXRlJiYoZG9jdW1lbnQub25yZWFkeXN0YXRlY2hhbmdlPWUsYygpKX19fX0pKCk7PC9zY3JpcHQ+PC9ib2R5Pg0KPC9odG1sPg0K"}},"time_used":109,"timings":{"blocked":-1,"dns":4,"connect":13,"send":0,"wait":89,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/83310.b995ac6804b2844d9f8b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.884Z","timestamp":1785120633884,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/83310.b995ac6804b2844d9f8b.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-2bb2b\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 535bf9bb8210eb44250da8a5e33101a5\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":178987,"size_decoded":64109,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3072)","md5":"93d9421cbd613c344fe0d2304fc3f56f","sha1":"488c1099e8abbd1bd652f70a4a61838d0b67e451","sha256":"1db5831972e58d8dc696e62def3b0343254ce1fb96a088ca6cba4ac88bb22420","sha512":"4b73865ddf6a1691c2f219c408f45ed06d53e6385e9d8bf060d94f31f9f2902cb68383199c313d520a2ad7f35b7088b94661ec4290f35392d1a06713ddb8a5b1","ssdeep":"3072:1tp9AP81XDnSSgpogm3i3G3qCd3lnxEB6s7KXzR96wB6:1trAPMzSBpU3i3G3qCd3lnxEB6s7KXKx","tlshash":"3104d6963296e02213f185f908760442f31a7989394b85acf5bd9cd73c9ac4e72bdf78","first_seen":"2026-07-23T22:46:45.81119Z","last_seen":"2026-07-27T06:01:16.237212Z","times_seen":25,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNjQ2NDQsNzgzMTIsODMzMTBdLHs4MjkxODAodCxpLHMpe3MucihpKTt2YXIgZT1zKDYwMTg0MSk7Y29uc3QgaD0veyhcdyspfS9nLG49L3soXGQrKX0vZztTdHJpbmcucHJvdG90eXBlLmZvcm1hdD1mdW5jdGlvbiguLi50KXtjb25zdCBpPSgwLGUuaXNPYmplY3QpKHRbMF0pLHM9aT9oOm4scj1pPyhpLHMpPT57Y29uc3QgZT10WzBdO3JldHVybiB2b2lkIDAhPT1lW3NdP2Vbc106aX06KGkscyk9Pntjb25zdCBlPXBhcnNlSW50KHMsMTApLGg9dFtlXTtyZXR1cm4gdm9pZCAwIT09aD9oOml9O3JldHVybiB0aGlzLnJlcGxhY2UocyxyKX19LDM2MzI2OSh0LGkscyl7cy5kKGkse21vYmlsZXRvdWNoOigpPT5oLHNldENsYXNzZXM6KCk9PnIsdG91Y2g6KCk9Pm59KTt2YXIgZT1zKDczODQ1OCk7Y29uc3QgaD1lLm1vYmlsZXRvdWNoLG49ZS50b3VjaDtmdW5jdGlvbiByKCl7ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoZS50b3VjaD8iZmVhdHVyZS10b3VjaCI6ImZlYXR1cmUtbm8tdG91Y2giLGUubW9iaWxldG91Y2g/ImZlYXR1cmUtbW9iaWxldG91Y2giOiJmZWF0dXJlLW5vLW1vYmlsZXRvdWNoIil9fSwzMTg5NzQodCxpLHMpe3MuZChpLHtDaGVja01vYmlsZTooKT0+dSxpc0Rlc2t0b3BBcHA6KCk9PmwsaXNMaW51eDooKT0+byxpc01hYzooKT0+cixpc1N5bXBob255RW1iZWQ6KCk9PmEsb25Hb1BybzooKT0+ZixvbldpZGdldDooKT0+aC5vbldpZGdldCxzdXBwb3J0VG91Y2g6KCk9PmN9KTt2YXIgZT1zKDczODQ1OCksaD1zKDM3NzIyNik7Y29uc3Qgbj13aW5kb3cuVHJhZGluZ1ZpZXc9d2luZG93LlRyYWRpbmdWaWV3fHx7fTtmdW5jdGlvbiByKCl7cmV0dXJuIGUuaXNNYWN9ZnVuY3Rpb24gbygpe3JldHVybiBlLmlzTGludXh9ZnVuY3Rpb24gbCgpe3JldHVybi9UVkRlc2t0b3AvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpfWZ1bmN0aW9uIGEoKXtyZXR1cm4gbi5pc1N5bXBob255fHwhMX1jb25zdCB1PXtBbmRyb2lkOigpPT5lLmlzQW5kcm9pZCxCbGFja0JlcnJ5OigpPT5lLmlzQmxhY2tCZXJyeSxpT1M6KCk9PmUuaXNJT1MsT3BlcmE6KCk9PmUuaXNPcGVyYU1pbmksaXNJUGFkOigpPT5lLmlzSVBhZCxhbnk6KCk9PmUuaXNBbnlNb2JpbGV9O2Z1bmN0aW9uIGMoKXtyZXR1cm4gZS5tb2JpbGV0b3VjaHx8ZS50b3VjaHx8ZS5pc0FueU1vYmlsZX1uLmlzTW9iaWxlPXUsbi5vbldpZGdldD1oLm9uV2lkZ2V0O2UuaXNDaHJvbWUsZS5pc0ZGLGUuaXNFZGdlLGUuaXNTYWZhcmk7ZnVuY3Rpb24gZigpe3JldHVybiIvcHJpY2luZy8iPT09d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lfX0sMTg1MjcxKHQsaSxzKXtzLnIoaSkscy5kKGkse3Q6KCk9PmUudCx3aXRoVHJhbnNsYXRpb25Db250ZXh0OigpPT5ofSk7cyg4MjkxODApO3ZhciBlPXMoNzgzMjU0KTtmdW5jdGlvbiBoKHQpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9fSwxMjI3NDkodCxpKXt2YXIgcz1TeW1ib2wuZm9yKCJyZWFjdC5lbGVtZW50IiksZT1TeW1ib2wuZm9yKCJyZWFjdC5wb3J0YWwiKSxoPVN5bWJvbC5mb3IoInJlYWN0LmZyYWdtZW50Iiksbj1TeW1ib2wuZm9yKCJyZWFjdC5zdHJpY3RfbW9kZSIpLHI9U3ltYm9sLmZvcigicmVhY3QucHJvZmlsZXIiKSxvPVN5bWJvbC5mb3IoInJlYWN0LnByb3ZpZGVyIiksbD1TeW1ib2wuZm9yKCJyZWFjdC5jb250ZXh0IiksYT1TeW1ib2wuZm9yKCJyZWFjdC5mb3J3YXJkX3JlZiIpLHU9U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2UiKSxjPVN5bWJvbC5mb3IoInJlYWN0Lm1lbW8iKSxmPVN5bWJvbC5mb3IoInJlYWN0LmxhenkiKSxkPVN5bWJvbC5pdGVyYXRvcjt2YXIgbT17aXNNb3VudGVkOmZ1bmN0aW9uKCl7cmV0dXJuITF9LGVucXVldWVGb3JjZVVwZGF0ZTpmdW5jdGlvbigpe30sZW5xdWV1ZVJlcGxhY2VTdGF0ZTpmdW5jdGlvbigpe30sZW5xdWV1ZVNldFN0YXRlOmZ1bmN0aW9uKCl7fX0scD1PYmplY3QuYXNzaWduLGc9e307ZnVuY3Rpb24gdih0LGkscyl7dGhpcy5wcm9wcz10LHRoaXMuY29udGV4dD1pLHRoaXMucmVmcz1nLHRoaXMudXBkYXRlcj1zfHxtfWZ1bmN0aW9uIGIoKXt9ZnVuY3Rpb24gdyh0LGkscyl7dGhpcy5wcm9wcz10LHRoaXMuY29udGV4dD1pLHRoaXMucmVmcz1nLHRoaXMudXBkYXRlcj1zfHxtfXYucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9e30sdi5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24odCxpKXtpZigib2JqZWN0IiE9dHlwZW9mIHQmJiJmdW5jdGlvbiIhPXR5cGVvZiB0JiZudWxsIT10KXRocm93IEVycm9yKCJzZXRTdGF0ZSguLi4pOiB0YWtlcyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzIHRvIHVwZGF0ZSBvciBhIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcy4iKTt0aGlzLnVwZGF0ZXIuZW5xdWV1ZVNldFN0YXRlKHRoaXMsdCxpLCJzZXRTdGF0ZSIpfSx2LnByb3RvdHlwZS5mb3JjZVVwZGF0ZT1mdW5jdGlvbih0KXt0aGlzLnVwZGF0ZXIuZW5xdWV1ZUZvcmNlVXBkYXRlKHRoaXMsdCwiZm9yY2VVcGRhdGUiKX0sYi5wcm90b3R5cGU9di5wcm90b3R5cGU7dmFyIE09dy5wcm90b3R5cGU9bmV3IGI7TS5jb25zdHJ1Y3Rvcj13LHAoTSx2LnByb3RvdHlwZSksTS5pc1B1cmVSZWFjdENvbXBvbmVudD0hMDt2YXIgeT1BcnJheS5pc0FycmF5LFM9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSx4PXtjdXJyZW50Om51bGx9LF89e2tleTohMCxyZWY6ITAsX19zZWxmOiEwLF9fc291cmNlOiEwfTtmdW5jdGlvbiBDKHQsaSxlKXt2YXIgaCxuPXt9LHI9bnVsbCxvPW51bGw7aWYobnVsbCE9aSlmb3IoaCBpbiB2b2lkIDAhPT1pLnJlZiYmKG89aS5yZWYpLHZvaWQgMCE9PWkua2V5JiYocj0iIitpLmtleSksaSlTLmNhbGwoaSxoKSYmIV8uaGFzT3duUHJvcGVydHkoaCkmJihuW2hdPWlbaF0pO3ZhciBsPWFyZ3VtZW50cy5sZW5ndGgtMgo7aWYoMT09PWwpbi5jaGlsZHJlbj1lO2Vsc2UgaWYoMTxsKXtmb3IodmFyIGE9QXJyYXkobCksdT0wO3U8bDt1KyspYVt1XT1hcmd1bWVudHNbdSsyXTtuLmNoaWxkcmVuPWF9aWYodCYmdC5kZWZhdWx0UHJvcHMpZm9yKGggaW4gbD10LmRlZmF1bHRQcm9wcyl2b2lkIDA9PT1uW2hdJiYobltoXT1sW2hdKTtyZXR1cm57JCR0eXBlb2Y6cyx0eXBlOnQsa2V5OnIscmVmOm8scHJvcHM6bixfb3duZXI6eC5jdXJyZW50fX1mdW5jdGlvbiBrKHQpe3JldHVybiJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXQmJnQuJCR0eXBlb2Y9PT1zfXZhciBFPS9cLysvZztmdW5jdGlvbiBOKHQsaSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiB0JiZudWxsIT09dCYmbnVsbCE9dC5rZXk/ZnVuY3Rpb24odCl7dmFyIGk9eyI9IjoiPTAiLCI6IjoiPTIifTtyZXR1cm4iJCIrdC5yZXBsYWNlKC9bPTpdL2csKGZ1bmN0aW9uKHQpe3JldHVybiBpW3RdfSkpfSgiIit0LmtleSk6aS50b1N0cmluZygzNil9ZnVuY3Rpb24gVCh0LGksaCxuLHIpe3ZhciBvPXR5cGVvZiB0OyJ1bmRlZmluZWQiIT09byYmImJvb2xlYW4iIT09b3x8KHQ9bnVsbCk7dmFyIGw9ITE7aWYobnVsbD09PXQpbD0hMDtlbHNlIHN3aXRjaChvKXtjYXNlInN0cmluZyI6Y2FzZSJudW1iZXIiOmw9ITA7YnJlYWs7Y2FzZSJvYmplY3QiOnN3aXRjaCh0LiQkdHlwZW9mKXtjYXNlIHM6Y2FzZSBlOmw9ITB9fWlmKGwpcmV0dXJuIHI9cihsPXQpLHQ9IiI9PT1uPyIuIitOKGwsMCk6bix5KHIpPyhoPSIiLG51bGwhPXQmJihoPXQucmVwbGFjZShFLCIkJi8iKSsiLyIpLFQocixpLGgsIiIsKGZ1bmN0aW9uKHQpe3JldHVybiB0fSkpKTpudWxsIT1yJiYoayhyKSYmKHI9ZnVuY3Rpb24odCxpKXtyZXR1cm57JCR0eXBlb2Y6cyx0eXBlOnQudHlwZSxrZXk6aSxyZWY6dC5yZWYscHJvcHM6dC5wcm9wcyxfb3duZXI6dC5fb3duZXJ9fShyLGgrKCFyLmtleXx8bCYmbC5rZXk9PT1yLmtleT8iIjooIiIrci5rZXkpLnJlcGxhY2UoRSwiJCYvIikrIi8iKSt0KSksaS5wdXNoKHIpKSwxO2lmKGw9MCxuPSIiPT09bj8iLiI6bisiOiIseSh0KSlmb3IodmFyIGE9MDthPHQubGVuZ3RoO2ErKyl7dmFyIHU9bitOKG89dFthXSxhKTtsKz1UKG8saSxoLHUscil9ZWxzZSBpZih1PWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT09dHx8Im9iamVjdCIhPXR5cGVvZiB0P251bGw6ImZ1bmN0aW9uIj09dHlwZW9mKHQ9ZCYmdFtkXXx8dFsiQEBpdGVyYXRvciJdKT90Om51bGx9KHQpLCJmdW5jdGlvbiI9PXR5cGVvZiB1KWZvcih0PXUuY2FsbCh0KSxhPTA7IShvPXQubmV4dCgpKS5kb25lOylsKz1UKG89by52YWx1ZSxpLGgsdT1uK04obyxhKyspLHIpO2Vsc2UgaWYoIm9iamVjdCI9PT1vKXRocm93IGk9U3RyaW5nKHQpLEVycm9yKCJPYmplY3RzIGFyZSBub3QgdmFsaWQgYXMgYSBSZWFjdCBjaGlsZCAoZm91bmQ6ICIrKCJbb2JqZWN0IE9iamVjdF0iPT09aT8ib2JqZWN0IHdpdGgga2V5cyB7IitPYmplY3Qua2V5cyh0KS5qb2luKCIsICIpKyJ9IjppKSsiKS4gSWYgeW91IG1lYW50IHRvIHJlbmRlciBhIGNvbGxlY3Rpb24gb2YgY2hpbGRyZW4sIHVzZSBhbiBhcnJheSBpbnN0ZWFkLiIpO3JldHVybiBsfWZ1bmN0aW9uIFIodCxpLHMpe2lmKG51bGw9PXQpcmV0dXJuIHQ7dmFyIGU9W10saD0wO3JldHVybiBUKHQsZSwiIiwiIiwoZnVuY3Rpb24odCl7cmV0dXJuIGkuY2FsbChzLHQsaCsrKX0pKSxlfWZ1bmN0aW9uIFAodCl7aWYoLTE9PT10Ll9zdGF0dXMpe3ZhciBpPXQuX3Jlc3VsdDsoaT1pKCkpLnRoZW4oKGZ1bmN0aW9uKGkpezAhPT10Ll9zdGF0dXMmJi0xIT09dC5fc3RhdHVzfHwodC5fc3RhdHVzPTEsdC5fcmVzdWx0PWkpfSksKGZ1bmN0aW9uKGkpezAhPT10Ll9zdGF0dXMmJi0xIT09dC5fc3RhdHVzfHwodC5fc3RhdHVzPTIsdC5fcmVzdWx0PWkpfSkpLC0xPT09dC5fc3RhdHVzJiYodC5fc3RhdHVzPTAsdC5fcmVzdWx0PWkpfWlmKDE9PT10Ll9zdGF0dXMpcmV0dXJuIHQuX3Jlc3VsdC5kZWZhdWx0O3Rocm93IHQuX3Jlc3VsdH12YXIgej17Y3VycmVudDpudWxsfSxJPXt0cmFuc2l0aW9uOm51bGx9LEw9e1JlYWN0Q3VycmVudERpc3BhdGNoZXI6eixSZWFjdEN1cnJlbnRCYXRjaENvbmZpZzpJLFJlYWN0Q3VycmVudE93bmVyOnh9O2kuQ2hpbGRyZW49e21hcDpSLGZvckVhY2g6ZnVuY3Rpb24odCxpLHMpe1IodCwoZnVuY3Rpb24oKXtpLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pLHMpfSxjb3VudDpmdW5jdGlvbih0KXt2YXIgaT0wO3JldHVybiBSKHQsKGZ1bmN0aW9uKCl7aSsrfSkpLGl9LHRvQXJyYXk6ZnVuY3Rpb24odCl7cmV0dXJuIFIodCwoZnVuY3Rpb24odCl7cmV0dXJuIHR9KSl8fFtdfSxvbmx5OmZ1bmN0aW9uKHQpe2lmKCFrKHQpKXRocm93IEVycm9yKCJSZWFjdC5DaGlsZHJlbi5vbmx5IGV4cGVjdGVkIHRvIHJlY2VpdmUgYSBzaW5nbGUgUmVhY3QgZWxlbWVudCBjaGlsZC4iKTtyZXR1cm4gdH19LGkuQ29tcG9uZW50PXYsaS5GcmFnbWVudD1oLGkuUHJvZmlsZXI9cixpLlB1cmVDb21wb25lbnQ9dyxpLlN0cmljdE1vZGU9bixpLlN1c3BlbnNlPXUsaS5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRD1MLGkuY2xvbmVFbGVtZW50PWZ1bmN0aW9uKHQsaSxlKXtpZihudWxsPT10KXRocm93IEVycm9yKCJSZWFjdC5jbG9uZUVsZW1lbnQoLi4uKTogVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBSZWFjdCBlbGVtZW50LCBidXQgeW91IHBhc3NlZCAiK3QrIi4iKTt2YXIgaD1wKHt9LHQucHJvcHMpLG49dC5rZXkscj10LnJlZixvPXQuX293bmVyO2lmKG51bGwhPWkpe2lmKHZvaWQgMCE9PWkucmVmJiYocj1pLnJlZixvPXguY3VycmVudCksdm9pZCAwIT09aS5rZXkmJihuPSIiK2kua2V5KSx0LnR5cGUmJnQudHlwZS5kZWZhdWx0UHJvcHMpdmFyIGw9dC50eXBlLmRlZmF1bHRQcm9wcztmb3IoYSBpbiBpKVMuY2FsbChpLGEpJiYhXy5oYXNPd25Qcm9wZXJ0eShhKSYmKGhbYV09dm9pZCAwPT09aVthXSYmdm9pZCAwIT09bD9sW2FdOmlbYV0pfXZhciBhPWFyZ3VtZW50cy5sZW5ndGgtMgo7aWYoMT09PWEpaC5jaGlsZHJlbj1lO2Vsc2UgaWYoMTxhKXtsPUFycmF5KGEpO2Zvcih2YXIgdT0wO3U8YTt1KyspbFt1XT1hcmd1bWVudHNbdSsyXTtoLmNoaWxkcmVuPWx9cmV0dXJueyQkdHlwZW9mOnMsdHlwZTp0LnR5cGUsa2V5Om4scmVmOnIscHJvcHM6aCxfb3duZXI6b319LGkuY3JlYXRlQ29udGV4dD1mdW5jdGlvbih0KXtyZXR1cm4odD17JCR0eXBlb2Y6bCxfY3VycmVudFZhbHVlOnQsX2N1cnJlbnRWYWx1ZTI6dCxfdGhyZWFkQ291bnQ6MCxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2RlZmF1bHRWYWx1ZTpudWxsLF9nbG9iYWxOYW1lOm51bGx9KS5Qcm92aWRlcj17JCR0eXBlb2Y6byxfY29udGV4dDp0fSx0LkNvbnN1bWVyPXR9LGkuY3JlYXRlRWxlbWVudD1DLGkuY3JlYXRlRmFjdG9yeT1mdW5jdGlvbih0KXt2YXIgaT1DLmJpbmQobnVsbCx0KTtyZXR1cm4gaS50eXBlPXQsaX0saS5jcmVhdGVSZWY9ZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpudWxsfX0saS5mb3J3YXJkUmVmPWZ1bmN0aW9uKHQpe3JldHVybnskJHR5cGVvZjphLHJlbmRlcjp0fX0saS5pc1ZhbGlkRWxlbWVudD1rLGkubGF6eT1mdW5jdGlvbih0KXtyZXR1cm57JCR0eXBlb2Y6ZixfcGF5bG9hZDp7X3N0YXR1czotMSxfcmVzdWx0OnR9LF9pbml0OlB9fSxpLm1lbW89ZnVuY3Rpb24odCxpKXtyZXR1cm57JCR0eXBlb2Y6Yyx0eXBlOnQsY29tcGFyZTp2b2lkIDA9PT1pP251bGw6aX19LGkuc3RhcnRUcmFuc2l0aW9uPWZ1bmN0aW9uKHQpe3ZhciBpPUkudHJhbnNpdGlvbjtJLnRyYW5zaXRpb249e307dHJ5e3QoKX1maW5hbGx5e0kudHJhbnNpdGlvbj1pfX0saS51bnN0YWJsZV9hY3Q9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiYWN0KC4uLikgaXMgbm90IHN1cHBvcnRlZCBpbiBwcm9kdWN0aW9uIGJ1aWxkcyBvZiBSZWFjdC4iKX0saS51c2VDYWxsYmFjaz1mdW5jdGlvbih0LGkpe3JldHVybiB6LmN1cnJlbnQudXNlQ2FsbGJhY2sodCxpKX0saS51c2VDb250ZXh0PWZ1bmN0aW9uKHQpe3JldHVybiB6LmN1cnJlbnQudXNlQ29udGV4dCh0KX0saS51c2VEZWJ1Z1ZhbHVlPWZ1bmN0aW9uKCl7fSxpLnVzZURlZmVycmVkVmFsdWU9ZnVuY3Rpb24odCl7cmV0dXJuIHouY3VycmVudC51c2VEZWZlcnJlZFZhbHVlKHQpfSxpLnVzZUVmZmVjdD1mdW5jdGlvbih0LGkpe3JldHVybiB6LmN1cnJlbnQudXNlRWZmZWN0KHQsaSl9LGkudXNlSWQ9ZnVuY3Rpb24oKXtyZXR1cm4gei5jdXJyZW50LnVzZUlkKCl9LGkudXNlSW1wZXJhdGl2ZUhhbmRsZT1mdW5jdGlvbih0LGkscyl7cmV0dXJuIHouY3VycmVudC51c2VJbXBlcmF0aXZlSGFuZGxlKHQsaSxzKX0saS51c2VJbnNlcnRpb25FZmZlY3Q9ZnVuY3Rpb24odCxpKXtyZXR1cm4gei5jdXJyZW50LnVzZUluc2VydGlvbkVmZmVjdCh0LGkpfSxpLnVzZUxheW91dEVmZmVjdD1mdW5jdGlvbih0LGkpe3JldHVybiB6LmN1cnJlbnQudXNlTGF5b3V0RWZmZWN0KHQsaSl9LGkudXNlTWVtbz1mdW5jdGlvbih0LGkpe3JldHVybiB6LmN1cnJlbnQudXNlTWVtbyh0LGkpfSxpLnVzZVJlZHVjZXI9ZnVuY3Rpb24odCxpLHMpe3JldHVybiB6LmN1cnJlbnQudXNlUmVkdWNlcih0LGkscyl9LGkudXNlUmVmPWZ1bmN0aW9uKHQpe3JldHVybiB6LmN1cnJlbnQudXNlUmVmKHQpfSxpLnVzZVN0YXRlPWZ1bmN0aW9uKHQpe3JldHVybiB6LmN1cnJlbnQudXNlU3RhdGUodCl9LGkudXNlU3luY0V4dGVybmFsU3RvcmU9ZnVuY3Rpb24odCxpLHMpe3JldHVybiB6LmN1cnJlbnQudXNlU3luY0V4dGVybmFsU3RvcmUodCxpLHMpfSxpLnVzZVRyYW5zaXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gei5jdXJyZW50LnVzZVRyYW5zaXRpb24oKX0saS52ZXJzaW9uPSIxOC4yLjAifSw3Nzk0NzQodCxpLHMpe3QuZXhwb3J0cz1zKDEyMjc0OSl9LDY3ODMxMih0LGkscyl7cy5kKGkse0FyZWFTZXJpZXM6KCk9PmtoLEJhclNlcmllczooKT0+UmgsQmFzZWxpbmVTZXJpZXM6KCk9PnhoLENhbmRsZXN0aWNrU2VyaWVzOigpPT5JaCxDb2xvclR5cGU6KCk9PlZpLENyb3NzaGFpck1vZGU6KCk9PlUsSGlzdG9ncmFtU2VyaWVzOigpPT5xaCxMYXN0UHJpY2VBbmltYXRpb25Nb2RlOigpPT5PaSxMaW5lU2VyaWVzOigpPT5naCxMaW5lU3R5bGU6KCk9PnIsTGluZVR5cGU6KCk9Pm4sTWlzbWF0Y2hEaXJlY3Rpb246KCk9PlJ0LFByaWNlU2NhbGVNb2RlOigpPT53aSxUaWNrTWFya1R5cGU6KCk9PiRpLGNyZWF0ZUNoYXJ0RXg6KCk9PnRoLGNyZWF0ZVRleHRXYXRlcm1hcms6KCk9PkhoLGN1c3RvbVNlcmllc0RlZmF1bHRPcHRpb25zOigpPT5HaCxkZWZhdWx0SG9yelNjYWxlQmVoYXZpb3I6KCk9PmlofSk7dmFyIGU9cyg5MTg3NzkpO2NvbnN0IGg9e3RpdGxlOiIiLHZpc2libGU6ITAsaGl0VGVzdFRvbGVyYW5jZTozLGxhc3RWYWx1ZVZpc2libGU6ITAscHJpY2VMaW5lVmlzaWJsZTohMCxwcmljZUxpbmVTb3VyY2U6MCxwcmljZUxpbmVXaWR0aDoxLHByaWNlTGluZUNvbG9yOiIiLHByaWNlTGluZVN0eWxlOjIsYmFzZUxpbmVWaXNpYmxlOiEwLGJhc2VMaW5lV2lkdGg6MSxiYXNlTGluZUNvbG9yOiIjQjJCNUJFIixiYXNlTGluZVN0eWxlOjAscHJpY2VGb3JtYXQ6e3R5cGU6InByaWNlIixwcmVjaXNpb246MixtaW5Nb3ZlOi4wMX19O3ZhciBuLHIsbztmdW5jdGlvbiBsKHQsaSl7Y29uc3Qgcz1mdW5jdGlvbih0LGkpe3N3aXRjaCh0KXtjYXNlIDA6ZGVmYXVsdDpyZXR1cm5bXTtjYXNlIDE6cmV0dXJuW2ksaV07Y2FzZSAyOnJldHVyblsyKmksMippXTtjYXNlIDM6cmV0dXJuWzYqaSw2KmldO2Nhc2UgNDpyZXR1cm5baSw0KmldfX0oaSx0LmxpbmVXaWR0aCk7cmV0dXJuIHQuc2V0TGluZURhc2gocyksc31mdW5jdGlvbiBhKHQsaSxzLGUpe3QuYmVnaW5QYXRoKCk7Y29uc3QgaD10LmxpbmVXaWR0aCUyPy41OjA7dC5tb3ZlVG8ocyxpK2gpLHQubGluZVRvKGUsaStoKSx0LnN0cm9rZSgpfWZ1bmN0aW9uIHUodCxpKXtpZighdCl0aHJvdyBuZXcgRXJyb3IoIkFzc2VydGlvbiBmYWlsZWQiKyhpPyI6ICIraToiIikpfWZ1bmN0aW9uIGModCl7CmlmKHZvaWQgMD09PXQpdGhyb3cgbmV3IEVycm9yKCJWYWx1ZSBpcyB1bmRlZmluZWQiKTtyZXR1cm4gdH1mdW5jdGlvbiBmKHQpe2lmKG51bGw9PT10KXRocm93IG5ldyBFcnJvcigiVmFsdWUgaXMgbnVsbCIpO3JldHVybiB0fWZ1bmN0aW9uIGQodCl7cmV0dXJuIGYoYyh0KSl9KG89bnx8KG49e30pKVtvLlNpbXBsZT0wXT0iU2ltcGxlIixvW28uV2l0aFN0ZXBzPTFdPSJXaXRoU3RlcHMiLG9bby5DdXJ2ZWQ9Ml09IkN1cnZlZCIsZnVuY3Rpb24odCl7dFt0LlNvbGlkPTBdPSJTb2xpZCIsdFt0LkRvdHRlZD0xXT0iRG90dGVkIix0W3QuRGFzaGVkPTJdPSJEYXNoZWQiLHRbdC5MYXJnZURhc2hlZD0zXT0iTGFyZ2VEYXNoZWQiLHRbdC5TcGFyc2VEb3R0ZWQ9NF09IlNwYXJzZURvdHRlZCJ9KHJ8fChyPXt9KSk7Y2xhc3MgbXtjb25zdHJ1Y3Rvcigpe3RoaXMudD1bXX1pKHQsaSxzKXtjb25zdCBlPXtoOnQsbDppLG86ITA9PT1zfTt0aGlzLnQucHVzaChlKX1fKHQpe2NvbnN0IGk9dGhpcy50LmZpbmRJbmRleCgoaT0+dD09PWkuaCkpO2k+LTEmJnRoaXMudC5zcGxpY2UoaSwxKX11KHQpe3RoaXMudD10aGlzLnQuZmlsdGVyKChpPT5pLmwhPT10KSl9cCh0LGkscyl7Y29uc3QgZT1bLi4udGhpcy50XTt0aGlzLnQ9dGhpcy50LmZpbHRlcigodD0+IXQubykpLGUuZm9yRWFjaCgoZT0+ZS5oKHQsaSxzKSkpfXYoKXtyZXR1cm4gdGhpcy50Lmxlbmd0aD4wfW0oKXt0aGlzLnQ9W119fWZ1bmN0aW9uIHAodCwuLi5pKXtmb3IoY29uc3QgcyBvZiBpKWZvcihjb25zdCBpIGluIHMpdm9pZCAwIT09c1tpXSYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsaSkmJiFbIl9fcHJvdG9fXyIsImNvbnN0cnVjdG9yIiwicHJvdG90eXBlIl0uaW5jbHVkZXMoaSkmJigib2JqZWN0IiE9dHlwZW9mIHNbaV18fHZvaWQgMD09PXRbaV18fEFycmF5LmlzQXJyYXkoc1tpXSk/dFtpXT1zW2ldOnAodFtpXSxzW2ldKSk7cmV0dXJuIHR9ZnVuY3Rpb24gZyh0KXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHQmJmlzRmluaXRlKHQpfWZ1bmN0aW9uIHYodCl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0JiZ0JTE9PTB9ZnVuY3Rpb24gYih0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHR9ZnVuY3Rpb24gdyh0KXtyZXR1cm4iYm9vbGVhbiI9PXR5cGVvZiB0fWZ1bmN0aW9uIE0odCl7Y29uc3QgaT10O2lmKCFpfHwib2JqZWN0IiE9dHlwZW9mIGkpcmV0dXJuIGk7bGV0IHMsZSxoO2ZvcihlIGluIHM9QXJyYXkuaXNBcnJheShpKT9bXTp7fSxpKWkuaGFzT3duUHJvcGVydHkoZSkmJihoPWlbZV0sc1tlXT1oJiYib2JqZWN0Ij09dHlwZW9mIGg/TShoKTpoKTtyZXR1cm4gc31mdW5jdGlvbiB5KHQpe3JldHVybiBudWxsIT09dH1mdW5jdGlvbiBTKHQpe3JldHVybiBudWxsPT09dD92b2lkIDA6dH1jb25zdCB4PSItYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdUcmVidWNoZXQgTVMnLCBSb2JvdG8sIFVidW50dSwgc2Fucy1zZXJpZiI7ZnVuY3Rpb24gXyh0LGkscyl7cmV0dXJuIHZvaWQgMD09PWkmJihpPXgpLGAke3M9dm9pZCAwIT09cz9gJHtzfSBgOiIifSR7dH1weCAke2l9YH1jbGFzcyBDe2NvbnN0cnVjdG9yKHQpe3RoaXMuTT17UzoxLEM6NSxrOk5hTixQOiIiLFQ6IiIsUjoiIixEOiIiLEk6MCxWOjAsQjowLEE6MCxMOjB9LHRoaXMuTz10fU4oKXtjb25zdCB0PXRoaXMuTSxpPXRoaXMuRigpLHM9dGhpcy5XKCk7cmV0dXJuIHQuaz09PWkmJnQuVD09PXN8fCh0Lms9aSx0LlQ9cyx0LlA9XyhpLHMpLHQuQT0yLjUvMTIqaSx0Lkk9dC5BLHQuVj1pLzEyKnQuQyx0LkI9aS8xMip0LkMsdC5MPTApLHQuUj10aGlzLkgoKSx0LkQ9dGhpcy5VKCksdGhpcy5NfUgoKXtyZXR1cm4gdGhpcy5PLk4oKS5sYXlvdXQudGV4dENvbG9yfVUoKXtyZXR1cm4gdGhpcy5PLiQoKX1GKCl7cmV0dXJuIHRoaXMuTy5OKCkubGF5b3V0LmZvbnRTaXplfVcoKXtyZXR1cm4gdGhpcy5PLk4oKS5sYXlvdXQuZm9udEZhbWlseX19ZnVuY3Rpb24gayh0KXtyZXR1cm4gdDwwPzA6dD4yNTU/MjU1Ok1hdGgucm91bmQodCl8fDB9ZnVuY3Rpb24gRSh0KXtyZXR1cm4uMTk5KnRbMF0rLjY4Nyp0WzFdKy4xMTQqdFsyXX1jbGFzcyBOe2NvbnN0cnVjdG9yKHQsaSl7dGhpcy5qPW5ldyBNYXAsdGhpcy5xPXQsaSYmKHRoaXMuaj1pKX1ZKHQsaSl7aWYoInRyYW5zcGFyZW50Ij09PXQpcmV0dXJuIHQ7Y29uc3Qgcz10aGlzLksodCksZT1zWzNdO3JldHVybmByZ2JhKCR7c1swXX0sICR7c1sxXX0sICR7c1syXX0sICR7aSplfSlgfVoodCl7Y29uc3QgaT10aGlzLksodCk7cmV0dXJue0c6YHJnYigke2lbMF19LCAke2lbMV19LCAke2lbMl19KWAsWDpFKGkpPjE2MD8iYmxhY2siOiJ3aGl0ZSJ9fUoodCl7cmV0dXJuIEUodGhpcy5LKHQpKX10dCh0LGkscyl7Y29uc3RbZSxoLG4scl09dGhpcy5LKHQpLFtvLGwsYSx1XT10aGlzLksoaSksYz1bayhlK3MqKG8tZSkpLGsoaCtzKihsLWgpKSxrKG4rcyooYS1uKSksKGY9citzKih1LXIpLGY8PTB8fGY+MT9NYXRoLm1pbihNYXRoLm1heChmLDApLDEpOk1hdGgucm91bmQoMWU0KmYpLzFlNCldO3ZhciBmO3JldHVybmByZ2JhKCR7Y1swXX0sICR7Y1sxXX0sICR7Y1syXX0sICR7Y1szXX0pYH1LKHQpe2NvbnN0IGk9dGhpcy5qLmdldCh0KTtpZihpKXJldHVybiBpO2NvbnN0IHM9ZnVuY3Rpb24odCl7Y29uc3QgaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtpLnN0eWxlLmRpc3BsYXk9Im5vbmUiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaSksaS5zdHlsZS5jb2xvcj10O2NvbnN0IHM9d2luZG93LmdldENvbXB1dGVkU3R5bGUoaSkuY29sb3I7cmV0dXJuIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoaSksc30odCksZT1zLm1hdGNoKC9ecmdiYT9ccypcKChcZCspLFxzKihcZCspLFxzKihcZCspKD86LFxzKihcZCpcLj9cZCspKT9cKSQvKTtpZighZSl7aWYodGhpcy5xLmxlbmd0aClmb3IoY29uc3QgaSBvZiB0aGlzLnEpe2NvbnN0IHM9aSh0KTtpZihzKXJldHVybiB0aGlzLmouc2V0KHQscyksc310aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBwYXJzZSBjb2xvcjogJHt0fWApfQpjb25zdCBoPVtwYXJzZUludChlWzFdLDEwKSxwYXJzZUludChlWzJdLDEwKSxwYXJzZUludChlWzNdLDEwKSxlWzRdP3BhcnNlRmxvYXQoZVs0XSk6MV07cmV0dXJuIHRoaXMuai5zZXQodCxoKSxofX1jbGFzcyBUe2NvbnN0cnVjdG9yKCl7dGhpcy5pdD1bXX1udCh0KXt0aGlzLml0PXR9c3QodCxpLHMpe3RoaXMuaXQuZm9yRWFjaCgoZT0+e2Uuc3QodCxpLHMpfSkpfX1jbGFzcyBSe3N0KHQsaSxzKXt0LnVzZUJpdG1hcENvb3JkaW5hdGVTcGFjZSgodD0+dGhpcy5ldCh0LGkscykpKX19Y2xhc3MgUCBleHRlbmRzIFJ7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMucnQ9bnVsbH1odCh0KXt0aGlzLnJ0PXR9ZXQoe2NvbnRleHQ6dCxob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzpzfSl7aWYobnVsbD09PXRoaXMucnR8fG51bGw9PT10aGlzLnJ0Lmx0KXJldHVybjtjb25zdCBlPXRoaXMucnQubHQsaD10aGlzLnJ0LG49TWF0aC5tYXgoMSxNYXRoLmZsb29yKGkpKSUyLzIscj1yPT57dC5iZWdpblBhdGgoKTtmb3IobGV0IG89ZS50by0xO28+PWUuZnJvbTstLW8pe2NvbnN0IGU9aC5vdFtvXSxsPU1hdGgucm91bmQoZS5fdCppKStuLGE9ZS51dCpzLHU9cipzK247dC5tb3ZlVG8obCxhKSx0LmFyYyhsLGEsdSwwLDIqTWF0aC5QSSl9dC5maWxsKCl9O2guY3Q+MCYmKHQuZmlsbFN0eWxlPWguZHQscihoLmZ0K2guY3QpKSx0LmZpbGxTdHlsZT1oLnZ0LHIoaC5mdCl9fWZ1bmN0aW9uIHooKXtyZXR1cm57b3Q6W3tfdDowLHV0OjAsd3Q6MCxNdDowfV0sdnQ6IiIsZHQ6IiIsZnQ6MCxjdDowLGx0Om51bGx9fWNvbnN0IEk9e2Zyb206MCx0bzoxfTtjbGFzcyBMe2NvbnN0cnVjdG9yKHQsaSxzKXt0aGlzLmd0PW5ldyBULHRoaXMuYnQ9W10sdGhpcy5TdD1bXSx0aGlzLnh0PSEwLHRoaXMuTz10LHRoaXMuQ3Q9aSx0aGlzLnl0PXMsdGhpcy5ndC5udCh0aGlzLmJ0KX1rdCh0KXt0aGlzLlB0KCksdGhpcy54dD0hMH1UdCgpe3JldHVybiB0aGlzLnh0JiYodGhpcy5SdCgpLHRoaXMueHQ9ITEpLHRoaXMuZ3R9UHQoKXtjb25zdCB0PXRoaXMueXQuRHQoKTt0Lmxlbmd0aCE9PXRoaXMuYnQubGVuZ3RoJiYodGhpcy5TdD10Lm1hcCh6KSx0aGlzLmJ0PXRoaXMuU3QubWFwKCh0PT57Y29uc3QgaT1uZXcgUDtyZXR1cm4gaS5odCh0KSxpfSkpLHRoaXMuZ3QubnQodGhpcy5idCkpfVJ0KCl7Y29uc3QgdD0yPT09dGhpcy5DdC5OKCkubW9kZXx8IXRoaXMuQ3QuSXQoKSxpPXRoaXMueXQuVnQoKSxzPXRoaXMuQ3QuQnQoKSxlPXRoaXMuTy5FdCgpO3RoaXMuUHQoKSxpLmZvckVhY2goKChpLGgpPT57Y29uc3Qgbj10aGlzLlN0W2hdLHI9aS5BdChzKSxvPWkuTHQoKTshdCYmbnVsbCE9PXImJmkuSXQoKSYmbnVsbCE9PW8/KG4udnQ9ci56dCxuLmZ0PXIuZnQsbi5jdD1yLk90LG4ub3RbMF0uTXQ9ci5NdCxuLm90WzBdLnV0PWkuRnQoKS5OdChyLk10LG8uV3QpLG4uZHQ9ci5IdD8/dGhpcy5PLlV0KG4ub3RbMF0udXQvaS5GdCgpLiR0KCkpLG4ub3RbMF0ud3Q9cyxuLm90WzBdLl90PWUuanQocyksbi5sdD1JKTpuLmx0PW51bGx9KSl9fWNsYXNzIEYgZXh0ZW5kcyBSe2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5xdD10fWV0KHtjb250ZXh0OnQsYml0bWFwU2l6ZTppLGhvcml6b250YWxQaXhlbFJhdGlvOnMsdmVydGljYWxQaXhlbFJhdGlvOmV9KXtpZihudWxsPT09dGhpcy5xdClyZXR1cm47Y29uc3QgaD10aGlzLnF0Lll0Lkl0LG49dGhpcy5xdC5LdC5JdDtpZighaCYmIW4pcmV0dXJuO2NvbnN0IHI9TWF0aC5yb3VuZCh0aGlzLnF0Ll90KnMpLG89TWF0aC5yb3VuZCh0aGlzLnF0LnV0KmUpO3QubGluZUNhcD0iYnV0dCIsaCYmcj49MCYmKHQubGluZVdpZHRoPU1hdGguZmxvb3IodGhpcy5xdC5ZdC5jdCpzKSx0LnN0cm9rZVN0eWxlPXRoaXMucXQuWXQuUix0LmZpbGxTdHlsZT10aGlzLnF0Lll0LlIsbCh0LHRoaXMucXQuWXQuWnQpLGZ1bmN0aW9uKHQsaSxzLGUpe3QuYmVnaW5QYXRoKCk7Y29uc3QgaD10LmxpbmVXaWR0aCUyPy41OjA7dC5tb3ZlVG8oaStoLDApLHQubGluZVRvKGkraCxlKSx0LnN0cm9rZSgpfSh0LHIsMCxpLmhlaWdodCkpLG4mJm8+PTAmJih0LmxpbmVXaWR0aD1NYXRoLmZsb29yKHRoaXMucXQuS3QuY3QqZSksdC5zdHJva2VTdHlsZT10aGlzLnF0Lkt0LlIsdC5maWxsU3R5bGU9dGhpcy5xdC5LdC5SLGwodCx0aGlzLnF0Lkt0Llp0KSxhKHQsbywwLGkud2lkdGgpKX19Y2xhc3MgcXtjb25zdHJ1Y3Rvcih0LGkpe3RoaXMueHQ9ITAsdGhpcy5HdD17WXQ6e2N0OjEsWnQ6MCxSOiIiLEl0OiExfSxLdDp7Y3Q6MSxadDowLFI6IiIsSXQ6ITF9LF90OjAsdXQ6MH0sdGhpcy5YdD1uZXcgRih0aGlzLkd0KSx0aGlzLkp0PXQsdGhpcy55dD1pfWt0KCl7dGhpcy54dD0hMH1UdCh0KXtyZXR1cm4gdGhpcy54dCYmKHRoaXMuUnQoKSx0aGlzLnh0PSExKSx0aGlzLlh0fVJ0KCl7Y29uc3QgdD10aGlzLkp0Lkl0KCksaT10aGlzLnl0LlF0KCkuTigpLmNyb3NzaGFpcixzPXRoaXMuR3Q7aWYoMj09PWkubW9kZSlyZXR1cm4gcy5LdC5JdD0hMSx2b2lkKHMuWXQuSXQ9ITEpO3MuS3QuSXQ9dCYmdGhpcy5KdC50aSh0aGlzLnl0KSxzLll0Lkl0PXQmJnRoaXMuSnQuaWkoKSxzLkt0LmN0PWkuaG9yekxpbmUud2lkdGgscy5LdC5adD1pLmhvcnpMaW5lLnN0eWxlLHMuS3QuUj1pLmhvcnpMaW5lLmNvbG9yLHMuWXQuY3Q9aS52ZXJ0TGluZS53aWR0aCxzLll0Llp0PWkudmVydExpbmUuc3R5bGUscy5ZdC5SPWkudmVydExpbmUuY29sb3Iscy5fdD10aGlzLkp0Lm5pKCkscy51dD10aGlzLkp0LnNpKCl9fWZ1bmN0aW9uIFcodCxpLHMsZSxoLG4pe3QuZmlsbFJlY3QoaStuLHMsZS0yKm4sbiksdC5maWxsUmVjdChpK24scytoLW4sZS0yKm4sbiksdC5maWxsUmVjdChpLHMsbixoKSx0LmZpbGxSZWN0KGkrZS1uLHMsbixoKX1mdW5jdGlvbiBRKHQsaSxzLGUsaCxuKXt0LnNhdmUoKSx0Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbj0iY29weSIsdC5maWxsU3R5bGU9bix0LmZpbGxSZWN0KGkscyxlLGgpLHQucmVzdG9yZSgpfWZ1bmN0aW9uIEQodCxpLHMsZSxoLG4pewp0LmJlZ2luUGF0aCgpLHQucm91bmRSZWN0P3Qucm91bmRSZWN0KGkscyxlLGgsbik6KHQubGluZVRvKGkrZS1uWzFdLHMpLDAhPT1uWzFdJiZ0LmFyY1RvKGkrZSxzLGkrZSxzK25bMV0sblsxXSksdC5saW5lVG8oaStlLHMraC1uWzJdKSwwIT09blsyXSYmdC5hcmNUbyhpK2UscytoLGkrZS1uWzJdLHMraCxuWzJdKSx0LmxpbmVUbyhpK25bM10scytoKSwwIT09blszXSYmdC5hcmNUbyhpLHMraCxpLHMraC1uWzNdLG5bM10pLHQubGluZVRvKGkscytuWzBdKSwwIT09blswXSYmdC5hcmNUbyhpLHMsaStuWzBdLHMsblswXSkpfWZ1bmN0aW9uIE8odCxpLHMsZSxoLG4scj0wLG89WzAsMCwwLDBdLGw9IiIpe2lmKHQuc2F2ZSgpLCFyfHwhbHx8bD09PW4pcmV0dXJuIEQodCxpLHMsZSxoLG8pLHQuZmlsbFN0eWxlPW4sdC5maWxsKCksdm9pZCB0LnJlc3RvcmUoKTtjb25zdCBhPXIvMjt2YXIgdTtEKHQsaSthLHMrYSxlLXIsaC1yLCh1PS1hLG8ubWFwKCh0PT4wPT09dD90OnQrdSkpKSksInRyYW5zcGFyZW50IiE9PW4mJih0LmZpbGxTdHlsZT1uLHQuZmlsbCgpKSwidHJhbnNwYXJlbnQiIT09bCYmKHQubGluZVdpZHRoPXIsdC5zdHJva2VTdHlsZT1sLHQuY2xvc2VQYXRoKCksdC5zdHJva2UoKSksdC5yZXN0b3JlKCl9ZnVuY3Rpb24gSyh0LGkscyxlLGgsbixyKXt0LnNhdmUoKSx0Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbj0iY29weSI7Y29uc3Qgbz10LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsMCwwLGgpO28uYWRkQ29sb3JTdG9wKDAsbiksby5hZGRDb2xvclN0b3AoMSxyKSx0LmZpbGxTdHlsZT1vLHQuZmlsbFJlY3QoaSxzLGUsaCksdC5yZXN0b3JlKCl9Y2xhc3MgVntjb25zdHJ1Y3Rvcih0LGkpe3RoaXMuaHQodCxpKX1odCh0LGkpe3RoaXMucXQ9dCx0aGlzLmVpPWl9JHQodCxpKXtyZXR1cm4gdGhpcy5xdC5JdD90LmsrdC5BK3QuSTowfXN0KHQsaSxzLGUpe2lmKCF0aGlzLnF0Lkl0fHwwPT09dGhpcy5xdC5yaS5sZW5ndGgpcmV0dXJuO2NvbnN0IGg9dGhpcy5xdC5SLG49dGhpcy5laS5HLHI9dC51c2VCaXRtYXBDb29yZGluYXRlU3BhY2UoKHQ9Pntjb25zdCByPXQuY29udGV4dDtyLmZvbnQ9aS5QO2NvbnN0IG89dGhpcy5oaSh0LGkscyxlKSxsPW8uYWk7cmV0dXJuIG8ubGk/TyhyLGwub2ksbC5faSxsLnVpLGwuY2ksbixsLmRpLFtsLmZ0LDAsMCxsLmZ0XSxuKTpPKHIsbC5maSxsLl9pLGwudWksbC5jaSxuLGwuZGksWzAsbC5mdCxsLmZ0LDBdLG4pLHRoaXMucXQucGkmJihyLmZpbGxTdHlsZT1oLHIuZmlsbFJlY3QobC5maSxsLm1pLGwud2ktbC5maSxsLk1pKSksdGhpcy5xdC5naSYmKHIuZmlsbFN0eWxlPWkuRCxyLmZpbGxSZWN0KG8ubGk/bC5iaS1sLmRpOjAsbC5faSxsLmRpLGwuU2ktbC5faSkpLG99KSk7dC51c2VNZWRpYUNvb3JkaW5hdGVTcGFjZSgoKHtjb250ZXh0OnR9KT0+e2NvbnN0IHM9ci54aTt0LmZvbnQ9aS5QLHQudGV4dEFsaWduPXIubGk/InJpZ2h0IjoibGVmdCIsdC50ZXh0QmFzZWxpbmU9Im1pZGRsZSIsdC5maWxsU3R5bGU9aCx0LmZpbGxUZXh0KHRoaXMucXQucmkscy5DaSwocy5faStzLlNpKS8yK3MueWkpfSkpfWhpKHQsaSxzLGUpe2NvbnN0e2NvbnRleHQ6aCxiaXRtYXBTaXplOm4sbWVkaWFTaXplOnIsaG9yaXpvbnRhbFBpeGVsUmF0aW86byx2ZXJ0aWNhbFBpeGVsUmF0aW86bH09dCxhPXRoaXMucXQucGl8fCF0aGlzLnF0LmtpP2kuQzowLHU9dGhpcy5xdC5QaT9pLlM6MCxjPWkuQSt0aGlzLmVpLlRpLGY9aS5JK3RoaXMuZWkuUmksZD1pLlYsbT1pLkIscD10aGlzLnF0LnJpLGc9aS5rLHY9cy5EaShoLHApLGI9TWF0aC5jZWlsKHMuSWkoaCxwKSksdz1nK2MrZixNPWkuUytkK20rYithLHk9TWF0aC5tYXgoMSxNYXRoLmZsb29yKGwpKTtsZXQgUz1NYXRoLnJvdW5kKHcqbCk7UyUyIT15JTImJihTKz0xKTtjb25zdCB4PXU+MD9NYXRoLm1heCgxLE1hdGguZmxvb3IodSpvKSk6MCxfPU1hdGgucm91bmQoTSpvKSxDPU1hdGgucm91bmQoYSpvKSxrPXRoaXMuZWkuVmk/P3RoaXMuZWkuQmk/P3RoaXMuZWkuRWksRT1NYXRoLnJvdW5kKGsqbCktTWF0aC5mbG9vciguNSpsKSxOPU1hdGguZmxvb3IoRSt5LzItUy8yKSxUPU4rUyxSPSJyaWdodCI9PT1lLFA9Uj9yLndpZHRoLXU6dSx6PVI/bi53aWR0aC14Ong7bGV0IEksTCxGO3JldHVybiBSPyhJPXotXyxMPXotQyxGPVAtYS1kLXUpOihJPXorXyxMPXorQyxGPVArYStkKSx7bGk6UixhaTp7X2k6TixtaTpFLFNpOlQsdWk6XyxjaTpTLGZ0OjIqbyxkaTp4LG9pOkksZmk6eix3aTpMLE1pOnksYmk6bi53aWR0aH0seGk6e19pOk4vbCxTaTpUL2wsQ2k6Rix5aTp2fX19fWNsYXNzICR7Y29uc3RydWN0b3IodCl7dGhpcy5BaT17RWk6MCxHOiIjMDAwIixSaTowLFRpOjB9LHRoaXMuTGk9e3JpOiIiLEl0OiExLHBpOiEwLGtpOiExLEh0OiIiLFI6IiNGRkYiLGdpOiExLFBpOiExfSx0aGlzLnppPXtyaToiIixJdDohMSxwaTohMSxraTohMCxIdDoiIixSOiIjRkZGIixnaTohMCxQaTohMH0sdGhpcy54dD0hMCx0aGlzLk9pPW5ldyh0fHxWKSh0aGlzLkxpLHRoaXMuQWkpLHRoaXMuTmk9bmV3KHR8fFYpKHRoaXMuemksdGhpcy5BaSl9cmkoKXtyZXR1cm4gdGhpcy5GaSgpLHRoaXMuTGkucml9RWkoKXtyZXR1cm4gdGhpcy5GaSgpLHRoaXMuQWkuRWl9a3QoKXt0aGlzLnh0PSEwfSR0KHQsaT0hMSl7cmV0dXJuIE1hdGgubWF4KHRoaXMuT2kuJHQodCxpKSx0aGlzLk5pLiR0KHQsaSkpfVdpKCl7cmV0dXJuIHRoaXMuQWkuVmk/P251bGx9SGkoKXtyZXR1cm4gdGhpcy5BaS5WaT8/dGhpcy5BaS5CaT8/dGhpcy5FaSgpfVVpKHQpe3RoaXMuQWkuQmk9dD8/dm9pZCAwfSRpKCl7cmV0dXJuIHRoaXMuRmkoKSx0aGlzLkxpLkl0fHx0aGlzLnppLkl0fWppKCl7cmV0dXJuIHRoaXMuRmkoKSx0aGlzLkxpLkl0fVR0KHQpe3JldHVybiB0aGlzLkZpKCksdGhpcy5MaS5waT10aGlzLkxpLnBpJiZ0Lk4oKS50aWNrc1Zpc2libGUsdGhpcy56aS5waT10aGlzLnppLnBpJiZ0Lk4oKS50aWNrc1Zpc2libGUsdGhpcy5PaS5odCh0aGlzLkxpLHRoaXMuQWkpLHRoaXMuTmkuaHQodGhpcy56aSx0aGlzLkFpKSx0aGlzLk9pfXFpKCl7CnJldHVybiB0aGlzLkZpKCksdGhpcy5PaS5odCh0aGlzLkxpLHRoaXMuQWkpLHRoaXMuTmkuaHQodGhpcy56aSx0aGlzLkFpKSx0aGlzLk5pfUZpKCl7dGhpcy54dCYmKHRoaXMuTGkucGk9ITAsdGhpcy56aS5waT0hMSx0aGlzLllpKHRoaXMuTGksdGhpcy56aSx0aGlzLkFpKSl9fWNsYXNzIEIgZXh0ZW5kcyAke2NvbnN0cnVjdG9yKHQsaSxzKXtzdXBlcigpLHRoaXMuSnQ9dCx0aGlzLktpPWksdGhpcy5aaT1zfVlpKHQsaSxzKXtpZih0Lkl0PSExLDI9PT10aGlzLkp0Lk4oKS5tb2RlKXJldHVybjtjb25zdCBlPXRoaXMuSnQuTigpLmhvcnpMaW5lO2lmKCFlLmxhYmVsVmlzaWJsZSlyZXR1cm47Y29uc3QgaD10aGlzLktpLkx0KCk7aWYoIXRoaXMuSnQuSXQoKXx8dGhpcy5LaS5HaSgpfHxudWxsPT09aClyZXR1cm47Y29uc3Qgbj10aGlzLktpLlhpKCkuWihlLmxhYmVsQmFja2dyb3VuZENvbG9yKTtzLkc9bi5HLHQuUj1uLlg7Y29uc3Qgcj0yLzEyKnRoaXMuS2kuaygpO3MuVGk9cixzLlJpPXI7Y29uc3Qgbz10aGlzLlppKHRoaXMuS2kpO3MuRWk9by5FaSx0LnJpPXRoaXMuS2kuSmkoby5NdCxoKSx0Lkl0PSEwfX1jb25zdCBBPS9bMS05XS9nO2NsYXNzIFp7Y29uc3RydWN0b3IoKXt0aGlzLnF0PW51bGx9aHQodCl7dGhpcy5xdD10fXN0KHQsaSl7aWYobnVsbD09PXRoaXMucXR8fCExPT09dGhpcy5xdC5JdHx8MD09PXRoaXMucXQucmkubGVuZ3RoKXJldHVybjtjb25zdCBzPXQudXNlTWVkaWFDb29yZGluYXRlU3BhY2UoKCh7Y29udGV4dDp0fSk9Pih0LmZvbnQ9aS5QLE1hdGgucm91bmQoaS5RaS5JaSh0LGYodGhpcy5xdCkucmksQSkpKSkpO2lmKHM8PTApcmV0dXJuO2NvbnN0IGU9aS50bixoPXMrMiplLG49aC8yLHI9dGhpcy5xdC5ubjtsZXQgbz10aGlzLnF0LkVpLGw9TWF0aC5mbG9vcihvLW4pKy41O2w8MD8obys9TWF0aC5hYnMoMC1sKSxsPU1hdGguZmxvb3Ioby1uKSsuNSk6bCtoPnImJihvLT1NYXRoLmFicyhyLShsK2gpKSxsPU1hdGguZmxvb3Ioby1uKSsuNSk7Y29uc3QgYT1sK2gsdT1NYXRoLmNlaWwoMCtpLlMraS5DK2kuQStpLmsraS5JKTt0LnVzZUJpdG1hcENvb3JkaW5hdGVTcGFjZSgoKHtjb250ZXh0OnQsaG9yaXpvbnRhbFBpeGVsUmF0aW86cyx2ZXJ0aWNhbFBpeGVsUmF0aW86ZX0pPT57Y29uc3QgaD1mKHRoaXMucXQpO3QuZmlsbFN0eWxlPWguRztjb25zdCBuPU1hdGgucm91bmQobCpzKSxyPU1hdGgucm91bmQoMCplKSxvPU1hdGgucm91bmQoYSpzKSxjPU1hdGgucm91bmQodSplKSxkPU1hdGgucm91bmQoMipzKTtpZih0LmJlZ2luUGF0aCgpLHQubW92ZVRvKG4sciksdC5saW5lVG8obixjLWQpLHQuYXJjVG8obixjLG4rZCxjLGQpLHQubGluZVRvKG8tZCxjKSx0LmFyY1RvKG8sYyxvLGMtZCxkKSx0LmxpbmVUbyhvLHIpLHQuZmlsbCgpLGgucGkpe2NvbnN0IG49TWF0aC5yb3VuZChoLkVpKnMpLG89cixsPU1hdGgucm91bmQoKG8raS5DKSplKTt0LmZpbGxTdHlsZT1oLlI7Y29uc3QgYT1NYXRoLm1heCgxLE1hdGguZmxvb3IocykpLHU9TWF0aC5mbG9vciguNSpzKTt0LmZpbGxSZWN0KG4tdSxvLGEsbC1vKX19KSksdC51c2VNZWRpYUNvb3JkaW5hdGVTcGFjZSgoKHtjb250ZXh0OnR9KT0+e2NvbnN0IHM9Zih0aGlzLnF0KSxoPTAraS5TK2kuQytpLkEraS5rLzI7dC5mb250PWkuUCx0LnRleHRBbGlnbj0ibGVmdCIsdC50ZXh0QmFzZWxpbmU9Im1pZGRsZSIsdC5maWxsU3R5bGU9cy5SO2NvbnN0IG49aS5RaS5EaSh0LCJBcHIwIik7dC50cmFuc2xhdGUobCtlLGgrbiksdC5maWxsVGV4dChzLnJpLDAsMCl9KSl9fWNsYXNzIEh7Y29uc3RydWN0b3IodCxpLHMpe3RoaXMueHQ9ITAsdGhpcy5YdD1uZXcgWix0aGlzLkd0PXtJdDohMSxHOiIjNGM1MjVlIixSOiJ3aGl0ZSIscmk6IiIsbm46MCxFaTpOYU4scGk6ITB9LHRoaXMuQ3Q9dCx0aGlzLnNuPWksdGhpcy5aaT1zfWt0KCl7dGhpcy54dD0hMH1UdCgpe3JldHVybiB0aGlzLnh0JiYodGhpcy5SdCgpLHRoaXMueHQ9ITEpLHRoaXMuWHQuaHQodGhpcy5HdCksdGhpcy5YdH1SdCgpe2NvbnN0IHQ9dGhpcy5HdDtpZih0Lkl0PSExLDI9PT10aGlzLkN0Lk4oKS5tb2RlKXJldHVybjtjb25zdCBpPXRoaXMuQ3QuTigpLnZlcnRMaW5lO2lmKCFpLmxhYmVsVmlzaWJsZSlyZXR1cm47Y29uc3Qgcz10aGlzLnNuLkV0KCk7aWYocy5HaSgpKXJldHVybjt0Lm5uPXMubm4oKTtjb25zdCBlPXRoaXMuWmkoKTtpZihudWxsPT09ZSlyZXR1cm47dC5FaT1lLkVpO2NvbnN0IGg9cy5lbih0aGlzLkN0LkJ0KCkpO3Qucmk9cy5ybihmKGgpKSx0Lkl0PSEwO2NvbnN0IG49dGhpcy5zbi5YaSgpLlooaS5sYWJlbEJhY2tncm91bmRDb2xvcik7dC5HPW4uRyx0LlI9bi5YLHQucGk9cy5OKCkudGlja3NWaXNpYmxlfX1jbGFzcyBHe2NvbnN0cnVjdG9yKCl7dGhpcy5obj1udWxsLHRoaXMuYW49MH1sbigpe3JldHVybiB0aGlzLmFufV9uKHQpe3RoaXMuYW49dH1GdCgpe3JldHVybiB0aGlzLmhufXVuKHQpe3RoaXMuaG49dH1jbih0KXtyZXR1cm5bXX1kbigpe3JldHVybltdfUl0KCl7cmV0dXJuITB9fXZhciBVOyFmdW5jdGlvbih0KXt0W3QuTm9ybWFsPTBdPSJOb3JtYWwiLHRbdC5NYWduZXQ9MV09Ik1hZ25ldCIsdFt0LkhpZGRlbj0yXT0iSGlkZGVuIix0W3QuTWFnbmV0T0hMQz0zXT0iTWFnbmV0T0hMQyJ9KFV8fChVPXt9KSk7Y2xhc3MgWSBleHRlbmRzIEd7Y29uc3RydWN0b3IodCxpKXtzdXBlcigpLHRoaXMueXQ9bnVsbCx0aGlzLmZuPU5hTix0aGlzLnBuPTAsdGhpcy52bj0hMSx0aGlzLm1uPW5ldyBNYXAsdGhpcy53bj0hMSx0aGlzLk1uPW5ldyBXZWFrTWFwLHRoaXMuZ249bmV3IFdlYWtNYXAsdGhpcy5ibj1OYU4sdGhpcy5Tbj1OYU4sdGhpcy54bj1OYU4sdGhpcy5Dbj1OYU4sdGhpcy5zbj10LHRoaXMueW49aSx0aGlzLmtuPSgodCxpKT0+cz0+e2NvbnN0IGU9aSgpLGg9dCgpO2lmKHM9PT1mKHRoaXMueXQpLlBuKCkpcmV0dXJue010OmgsRWk6ZX07e2NvbnN0IHQ9ZihzLkx0KCkpO3JldHVybntNdDpzLlRuKGUsdCksRWk6ZX19fSkoKCgpPT50aGlzLmZuKSwoKCk9PnRoaXMuU24pKTtjb25zdCBzPSgodCxpKT0+KCk9PnsKY29uc3Qgcz10aGlzLnNuLkV0KCkuUm4odCgpKSxlPWkoKTtyZXR1cm4gcyYmTnVtYmVyLmlzRmluaXRlKGUpP3t3dDpzLEVpOmV9Om51bGx9KSgoKCk9PnRoaXMucG4pLCgoKT0+dGhpcy5uaSgpKSk7dGhpcy5Ebj1uZXcgSCh0aGlzLHQscyl9Tigpe3JldHVybiB0aGlzLnlufUluKHQsaSl7dGhpcy54bj10LHRoaXMuQ249aX1Wbigpe3RoaXMueG49TmFOLHRoaXMuQ249TmFOfUJuKCl7cmV0dXJuIHRoaXMueG59RW4oKXtyZXR1cm4gdGhpcy5Dbn1Bbih0LGkscyl7dGhpcy53bnx8KHRoaXMud249ITApLHRoaXMudm49ITAsdGhpcy5Mbih0LGkscyl9QnQoKXtyZXR1cm4gdGhpcy5wbn1uaSgpe3JldHVybiB0aGlzLmJufXNpKCl7cmV0dXJuIHRoaXMuU259SXQoKXtyZXR1cm4gdGhpcy52bn16bigpe3RoaXMudm49ITEsdGhpcy5PbigpLHRoaXMuZm49TmFOLHRoaXMuYm49TmFOLHRoaXMuU249TmFOLHRoaXMueXQ9bnVsbCx0aGlzLlZuKCksdGhpcy5ObigpfUZuKHQpe2lmKCF0aGlzLnluLmRvTm90U25hcFRvSGlkZGVuU2VyaWVzSW5kaWNlcylyZXR1cm4gdDtjb25zdCBpPXRoaXMuc24scz1pLkV0KCk7bGV0IGU9bnVsbCxoPW51bGw7Zm9yKGNvbnN0IHMgb2YgaS5XbigpKXtjb25zdCBpPXMuVW4oKS5Ibih0LC0xKTtpZihpKXtpZihpLiRuPT09dClyZXR1cm4gdDsobnVsbD09PWV8fGkuJG4+ZSkmJihlPWkuJG4pfWNvbnN0IG49cy5VbigpLkhuKHQsMSk7aWYobil7aWYobi4kbj09PXQpcmV0dXJuIHQ7KG51bGw9PT1ofHxuLiRuPGgpJiYoaD1uLiRuKX19Y29uc3Qgbj1bZSxoXS5maWx0ZXIoeSk7aWYoMD09PW4ubGVuZ3RoKXJldHVybiB0O2NvbnN0IHI9cy5qdCh0KSxvPW4ubWFwKCh0PT5NYXRoLmFicyhyLXMuanQodCkpKSk7cmV0dXJuIG5bby5pbmRleE9mKE1hdGgubWluKC4uLm8pKV19am4odCl7bGV0IGk9dGhpcy5Nbi5nZXQodCk7aXx8KGk9bmV3IHEodGhpcyx0KSx0aGlzLk1uLnNldCh0LGkpKTtsZXQgcz10aGlzLmduLmdldCh0KTtyZXR1cm4gc3x8KHM9bmV3IEwodGhpcy5zbix0aGlzLHQpLHRoaXMuZ24uc2V0KHQscykpLFtpLHNdfXRpKHQpe3JldHVybiB0PT09dGhpcy55dCYmdGhpcy55bi5ob3J6TGluZS52aXNpYmxlfWlpKCl7cmV0dXJuIHRoaXMueW4udmVydExpbmUudmlzaWJsZX1xbih0LGkpe3RoaXMudm4mJnRoaXMueXQ9PT10fHx0aGlzLm1uLmNsZWFyKCk7Y29uc3Qgcz1bXTtyZXR1cm4gdGhpcy55dD09PXQmJnMucHVzaCh0aGlzLlluKHRoaXMubW4saSx0aGlzLmtuKSksc31kbigpe3JldHVybiB0aGlzLnZuP1t0aGlzLkRuXTpbXX1Lbigpe3JldHVybiB0aGlzLnl0fU5uKCl7dGhpcy5zbi5abigpLmZvckVhY2goKHQ9Pnt0aGlzLk1uLmdldCh0KT8ua3QoKSx0aGlzLmduLmdldCh0KT8ua3QoKX0pKSx0aGlzLm1uLmZvckVhY2goKHQ9PnQua3QoKSkpLHRoaXMuRG4ua3QoKX1Hbih0KXtyZXR1cm4gdCYmIXQuUG4oKS5HaSgpP3QuUG4oKTpudWxsfUxuKHQsaSxzKXt0aGlzLlhuKHQsaSxzKSYmdGhpcy5ObigpfVhuKHQsaSxzKXtjb25zdCBlPXRoaXMuYm4saD10aGlzLlNuLG49dGhpcy5mbixyPXRoaXMucG4sbz10aGlzLnl0LGw9dGhpcy5HbihzKTt0aGlzLnBuPXQsdGhpcy5ibj1pc05hTih0KT9OYU46dGhpcy5zbi5FdCgpLmp0KHQpLHRoaXMueXQ9cztjb25zdCBhPW51bGwhPT1sP2wuTHQoKTpudWxsO3JldHVybiBudWxsIT09bCYmbnVsbCE9PWE/KHRoaXMuZm49aSx0aGlzLlNuPWwuTnQoaSxhKSk6KHRoaXMuZm49TmFOLHRoaXMuU249TmFOKSxlIT09dGhpcy5ibnx8aCE9PXRoaXMuU258fHIhPT10aGlzLnBufHxuIT09dGhpcy5mbnx8byE9PXRoaXMueXR9T24oKXtjb25zdCB0PXRoaXMuc24uSm4oKS5tYXAoKHQ9PnQuVW4oKS5RbigpKSkuZmlsdGVyKHkpLGk9MD09PXQubGVuZ3RoP251bGw6TWF0aC5tYXgoLi4udCk7dGhpcy5wbj1udWxsIT09aT9pOk5hTn1Zbih0LGkscyl7bGV0IGU9dC5nZXQoaSk7cmV0dXJuIHZvaWQgMD09PWUmJihlPW5ldyBCKHRoaXMsaSxzKSx0LnNldChpLGUpKSxlfX1mdW5jdGlvbiBqKHQpe3JldHVybiJsZWZ0Ij09PXR8fCJyaWdodCI9PT10fWNsYXNzIFh7Y29uc3RydWN0b3IodCl7dGhpcy50cz1uZXcgTWFwLHRoaXMubnM9W10sdGhpcy5zcz10fWVzKHQsaSl7Y29uc3Qgcz1mdW5jdGlvbih0LGkpe3JldHVybiB2b2lkIDA9PT10P2k6e3JzOk1hdGgubWF4KHQucnMsaS5ycyksaHM6dC5oc3x8aS5oc319KHRoaXMudHMuZ2V0KHQpLGkpO3RoaXMudHMuc2V0KHQscyl9bHMoKXtyZXR1cm4gdGhpcy5zc31fcyh0KXtjb25zdCBpPXRoaXMudHMuZ2V0KHQpO3JldHVybiB2b2lkIDA9PT1pP3tyczp0aGlzLnNzfTp7cnM6TWF0aC5tYXgodGhpcy5zcyxpLnJzKSxoczppLmhzfX11cygpe3RoaXMuY3MoKSx0aGlzLm5zPVt7ZHM6MH1dfWZzKHQpe3RoaXMuY3MoKSx0aGlzLm5zPVt7ZHM6MSxXdDp0fV19cHModCl7dGhpcy52cygpLHRoaXMubnMucHVzaCh7ZHM6NSxXdDp0fSl9Y3MoKXt0aGlzLnZzKCksdGhpcy5ucy5wdXNoKHtkczo2fSl9d3MoKXt0aGlzLmNzKCksdGhpcy5ucz1be2RzOjR9XX1Ncyh0KXt0aGlzLmNzKCksdGhpcy5ucy5wdXNoKHtkczoyLFd0OnR9KX1ncyh0KXt0aGlzLmNzKCksdGhpcy5ucy5wdXNoKHtkczozLFd0OnR9KX1icygpe3JldHVybiB0aGlzLm5zfVNzKHQpe2Zvcihjb25zdCBpIG9mIHQubnMpdGhpcy54cyhpKTt0aGlzLnNzPU1hdGgubWF4KHRoaXMuc3MsdC5zcyksdC50cy5mb3JFYWNoKCgodCxpKT0+e3RoaXMuZXMoaSx0KX0pKX1zdGF0aWMgQ3MoKXtyZXR1cm4gbmV3IFgoMil9c3RhdGljIHlzKCl7cmV0dXJuIG5ldyBYKDMpfXhzKHQpe3N3aXRjaCh0LmRzKXtjYXNlIDA6dGhpcy51cygpO2JyZWFrO2Nhc2UgMTp0aGlzLmZzKHQuV3QpO2JyZWFrO2Nhc2UgMjp0aGlzLk1zKHQuV3QpO2JyZWFrO2Nhc2UgMzp0aGlzLmdzKHQuV3QpO2JyZWFrO2Nhc2UgNDp0aGlzLndzKCk7YnJlYWs7Y2FzZSA1OnRoaXMucHModC5XdCk7YnJlYWs7Y2FzZSA2OnRoaXMudnMoKX19dnMoKXtjb25zdCB0PXRoaXMubnMuZmluZEluZGV4KCh0PT41PT09dC5kcykpOy0xIT09dCYmdGhpcy5ucy5zcGxpY2UodCwxKX19CmNsYXNzIEp7Zm9ybWF0VGlja21hcmtzKHQpe3JldHVybiB0Lm1hcCgodD0+dGhpcy5mb3JtYXQodCkpKX19ZnVuY3Rpb24gdHQodCxpKXtpZighZyh0KSlyZXR1cm4ibi9hIjtpZighdihpKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGxlbmd0aCIpO2lmKGk8MHx8aT4xNil0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGxlbmd0aCIpO3JldHVybiAwPT09aT90LnRvU3RyaW5nKCk6KCIwMDAwMDAwMDAwMDAwMDAwIit0LnRvU3RyaW5nKCkpLnNsaWNlKC1pKX1jbGFzcyBpdCBleHRlbmRzIEp7Y29uc3RydWN0b3IodCxpKXtpZihzdXBlcigpLGl8fChpPTEpLGcodCkmJnYodCl8fCh0PTEwMCksdDwwKXRocm93IG5ldyBUeXBlRXJyb3IoImludmFsaWQgYmFzZSIpO3RoaXMuS2k9dCx0aGlzLmtzPWksdGhpcy5QcygpfWZvcm1hdCh0KXtjb25zdCBpPXQ8MD8i4oiSIjoiIjtyZXR1cm4gdD1NYXRoLmFicyh0KSxpK3RoaXMuVHModCl9UHMoKXtpZih0aGlzLlJzPTAsdGhpcy5LaT4wJiZ0aGlzLmtzPjApe2xldCB0PXRoaXMuS2k7Zm9yKDt0PjE7KXQvPTEwLHRoaXMuUnMrK319VHModCl7Y29uc3QgaT10aGlzLktpL3RoaXMua3M7bGV0IHM9TWF0aC5mbG9vcih0KSxlPSIiO2NvbnN0IGg9dm9pZCAwIT09dGhpcy5Scz90aGlzLlJzOk5hTjtpZihpPjEpe2xldCBuPSsoTWF0aC5yb3VuZCh0KmkpLXMqaSkudG9GaXhlZCh0aGlzLlJzKTtuPj1pJiYobi09aSxzKz0xKSxlPSIuIit0dCgrbi50b0ZpeGVkKHRoaXMuUnMpKnRoaXMua3MsaCl9ZWxzZSBzPU1hdGgucm91bmQocyppKS9pLGg+MCYmKGU9Ii4iK3R0KDAsaCkpO3JldHVybiBzLnRvRml4ZWQoMCkrZX19Y2xhc3Mgc3QgZXh0ZW5kcyBpdHtjb25zdHJ1Y3Rvcih0PTEwMCl7c3VwZXIodCl9Zm9ybWF0KHQpe3JldHVybmAke3N1cGVyLmZvcm1hdCh0KX0lYH19Y2xhc3MgZXQgZXh0ZW5kcyBKe2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5Ecz10fWZvcm1hdCh0KXtsZXQgaT0iIjtyZXR1cm4gdDwwJiYoaT0iLSIsdD0tdCksdDw5OTU/aSt0aGlzLklzKHQpOnQ8OTk5OTk1P2krdGhpcy5Jcyh0LzFlMykrIksiOnQ8OTk5OTk5OTk1Pyh0PTFlMypNYXRoLnJvdW5kKHQvMWUzKSxpK3RoaXMuSXModC8xZTYpKyJNIik6KHQ9MWU2Kk1hdGgucm91bmQodC8xZTYpLGkrdGhpcy5Jcyh0LzFlOSkrIkIiKX1Jcyh0KXtsZXQgaTtjb25zdCBzPU1hdGgucG93KDEwLHRoaXMuRHMpO3JldHVybiBpPSh0PU1hdGgucm91bmQodCpzKS9zKT49MWUtMTUmJnQ8MT90LnRvRml4ZWQodGhpcy5EcykucmVwbGFjZSgvXC4/MCskLywiIik6U3RyaW5nKHQpLGkucmVwbGFjZSgvKFwuWzEtOV0qKTArJC8sKCh0LGkpPT5pKSl9fWNvbnN0IGh0PS9bMi05XS9nO2NsYXNzIG50e2NvbnN0cnVjdG9yKHQ9NTApe3RoaXMuVnM9MCx0aGlzLkJzPTEsdGhpcy5Fcz0xLHRoaXMuQXM9e30sdGhpcy5Mcz1uZXcgTWFwLHRoaXMuenM9dH1Pcygpe3RoaXMuVnM9MCx0aGlzLkxzLmNsZWFyKCksdGhpcy5Ccz0xLHRoaXMuRXM9MSx0aGlzLkFzPXt9fUlpKHQsaSxzKXtyZXR1cm4gdGhpcy5Ocyh0LGkscykud2lkdGh9RGkodCxpLHMpe2NvbnN0IGU9dGhpcy5Ocyh0LGkscyk7cmV0dXJuKChlLmFjdHVhbEJvdW5kaW5nQm94QXNjZW50fHwwKS0oZS5hY3R1YWxCb3VuZGluZ0JveERlc2NlbnR8fDApKS8yfU5zKHQsaSxzKXtjb25zdCBlPXN8fGh0LGg9U3RyaW5nKGkpLnJlcGxhY2UoZSwiMCIpO2lmKHRoaXMuTHMuaGFzKGgpKXJldHVybiBjKHRoaXMuTHMuZ2V0KGgpKS5GcztpZih0aGlzLlZzPT09dGhpcy56cyl7Y29uc3QgdD10aGlzLkFzW3RoaXMuRXNdO2RlbGV0ZSB0aGlzLkFzW3RoaXMuRXNdLHRoaXMuTHMuZGVsZXRlKHQpLHRoaXMuRXMrKyx0aGlzLlZzLS19dC5zYXZlKCksdC50ZXh0QmFzZWxpbmU9Im1pZGRsZSI7Y29uc3Qgbj10Lm1lYXN1cmVUZXh0KGgpO3JldHVybiB0LnJlc3RvcmUoKSwwPT09bi53aWR0aCYmaS5sZW5ndGh8fCh0aGlzLkxzLnNldChoLHtGczpuLFdzOnRoaXMuQnN9KSx0aGlzLkFzW3RoaXMuQnNdPWgsdGhpcy5WcysrLHRoaXMuQnMrKyksbn19Y2xhc3MgcnR7Y29uc3RydWN0b3IodCl7dGhpcy5Icz1udWxsLHRoaXMuTT1udWxsLHRoaXMuVXM9InJpZ2h0Iix0aGlzLiRzPXR9anModCxpLHMpe3RoaXMuSHM9dCx0aGlzLk09aSx0aGlzLlVzPXN9c3QodCl7bnVsbCE9PXRoaXMuTSYmbnVsbCE9PXRoaXMuSHMmJnRoaXMuSHMuc3QodCx0aGlzLk0sdGhpcy4kcyx0aGlzLlVzKX19Y2xhc3Mgb3R7Y29uc3RydWN0b3IodCxpLHMpe3RoaXMucXM9dCx0aGlzLiRzPW5ldyBudCg1MCksdGhpcy5Zcz1pLHRoaXMuTz1zLHRoaXMuRj0tMSx0aGlzLlh0PW5ldyBydCh0aGlzLiRzKX1UdCgpe2NvbnN0IHQ9dGhpcy5PLktzKHRoaXMuWXMpO2lmKG51bGw9PT10KXJldHVybiBudWxsO2NvbnN0IGk9dC5acyh0aGlzLllzKT90LkdzKCk6dGhpcy5Zcy5GdCgpO2lmKG51bGw9PT1pKXJldHVybiBudWxsO2NvbnN0IHM9dC5YcyhpKTtpZigib3ZlcmxheSI9PT1zKXJldHVybiBudWxsO2NvbnN0IGU9dGhpcy5PLkpzKCk7cmV0dXJuIGUuayE9PXRoaXMuRiYmKHRoaXMuRj1lLmssdGhpcy4kcy5PcygpKSx0aGlzLlh0LmpzKHRoaXMucXMucWkoKSxlLHMpLHRoaXMuWHR9fWNsYXNzIGx0IGV4dGVuZHMgUntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5xdD1udWxsfWh0KHQpe3RoaXMucXQ9dH1Rcyh0LGkpe2lmKCF0aGlzLnF0Py5JdClyZXR1cm4gbnVsbDtjb25zdHt1dDpzLGN0OmUsdGU6aH09dGhpcy5xdDtyZXR1cm4gaT49cy1lLTcmJmk8PXMrZSs3P3tpZTp0aGlzLnF0LG5lOk1hdGguYWJzKGktcyksc2U6MixlZToicHJpY2UtbGluZSIsdGU6aH06bnVsbH1ldCh7Y29udGV4dDp0LGJpdG1hcFNpemU6aSxob3Jpem9udGFsUGl4ZWxSYXRpbzpzLHZlcnRpY2FsUGl4ZWxSYXRpbzplfSl7aWYobnVsbD09PXRoaXMucXQpcmV0dXJuO2lmKCExPT09dGhpcy5xdC5JdClyZXR1cm47Y29uc3QgaD1NYXRoLnJvdW5kKHRoaXMucXQudXQqZSk7aDwwfHxoPmkuaGVpZ2h0fHwodC5saW5lQ2FwPSJidXR0Iix0LnN0cm9rZVN0eWxlPXRoaXMucXQuUiwKdC5saW5lV2lkdGg9TWF0aC5mbG9vcih0aGlzLnF0LmN0KnMpLGwodCx0aGlzLnF0Llp0KSxhKHQsaCwwLGkud2lkdGgpKX19Y2xhc3MgYXR7Y29uc3RydWN0b3IodCl7dGhpcy5yZT17dXQ6MCxSOiJyZ2JhKDAsIDAsIDAsIDApIixjdDoxLFp0OjAsSXQ6ITF9LHRoaXMuaGU9bmV3IGx0LHRoaXMueHQ9ITAsdGhpcy5hZT10LHRoaXMubGU9dC5RdCgpLHRoaXMuaGUuaHQodGhpcy5yZSl9a3QoKXt0aGlzLnh0PSEwfVR0KCl7cmV0dXJuIHRoaXMuYWUuSXQoKT8odGhpcy54dCYmKHRoaXMub2UoKSx0aGlzLnh0PSExKSx0aGlzLmhlKTpudWxsfX1jbGFzcyB1dCBleHRlbmRzIGF0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpfW9lKCl7dGhpcy5yZS5JdD0hMTtjb25zdCB0PXRoaXMuYWUuRnQoKSxpPXQuX2UoKS5fZTtpZigyIT09aSYmMyE9PWkpcmV0dXJuO2NvbnN0IHM9dGhpcy5hZS5OKCk7aWYoIXMuYmFzZUxpbmVWaXNpYmxlfHwhdGhpcy5hZS5JdCgpKXJldHVybjtjb25zdCBlPXRoaXMuYWUuTHQoKTtudWxsIT09ZSYmKHRoaXMucmUuSXQ9ITAsdGhpcy5yZS51dD10Lk50KGUuV3QsZS5XdCksdGhpcy5yZS5SPXMuYmFzZUxpbmVDb2xvcix0aGlzLnJlLmN0PXMuYmFzZUxpbmVXaWR0aCx0aGlzLnJlLlp0PXMuYmFzZUxpbmVTdHlsZSl9fWNsYXNzIGN0IGV4dGVuZHMgUntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5xdD1udWxsfWh0KHQpe3RoaXMucXQ9dH11ZSgpe3JldHVybiB0aGlzLnF0fWV0KHtjb250ZXh0OnQsaG9yaXpvbnRhbFBpeGVsUmF0aW86aSx2ZXJ0aWNhbFBpeGVsUmF0aW86c30pe2NvbnN0IGU9dGhpcy5xdDtpZihudWxsPT09ZSlyZXR1cm47Y29uc3QgaD1NYXRoLm1heCgxLE1hdGguZmxvb3IoaSkpLG49aCUyLzIscj1NYXRoLnJvdW5kKGUuY2UueCppKStuLG89ZS5jZS55KnM7dC5maWxsU3R5bGU9ZS5kZSx0LmJlZ2luUGF0aCgpO2NvbnN0IGw9TWF0aC5tYXgoMiwxLjUqZS5mZSkqaTt0LmFyYyhyLG8sbCwwLDIqTWF0aC5QSSwhMSksdC5maWxsKCksdC5maWxsU3R5bGU9ZS5wZSx0LmJlZ2luUGF0aCgpLHQuYXJjKHIsbyxlLmZ0KmksMCwyKk1hdGguUEksITEpLHQuZmlsbCgpLHQubGluZVdpZHRoPWgsdC5zdHJva2VTdHlsZT1lLnZlLHQuYmVnaW5QYXRoKCksdC5hcmMocixvLGUuZnQqaStoLzIsMCwyKk1hdGguUEksITEpLHQuc3Ryb2tlKCl9fWNvbnN0IGZ0PVt7bWU6MCx3ZTouMjUsTWU6NCxnZToxMCxiZTouMjUsU2U6MCx4ZTouNCxDZTouOH0se21lOi4yNSx3ZTouNTI1LE1lOjEwLGdlOjE0LGJlOjAsU2U6MCx4ZTouOCxDZTowfSx7bWU6LjUyNSx3ZToxLE1lOjE0LGdlOjE0LGJlOjAsU2U6MCx4ZTowLENlOjB9XTtjbGFzcyBkdHtjb25zdHJ1Y3Rvcih0KXt0aGlzLlh0PW5ldyBjdCx0aGlzLnh0PSEwLHRoaXMueWU9ITAsdGhpcy5rZT1wZXJmb3JtYW5jZS5ub3coKSx0aGlzLlBlPXRoaXMua2UtMSx0aGlzLlRlPXR9UmUoKXt0aGlzLlBlPXRoaXMua2UtMSx0aGlzLmt0KCl9RGUoKXtpZih0aGlzLmt0KCksMj09PXRoaXMuVGUuTigpLmxhc3RQcmljZUFuaW1hdGlvbil7Y29uc3QgdD1wZXJmb3JtYW5jZS5ub3coKSxpPXRoaXMuUGUtdDtpZihpPjApcmV0dXJuIHZvaWQoaTw2NTAmJih0aGlzLlBlKz0yNjAwKSk7dGhpcy5rZT10LHRoaXMuUGU9dCsyNjAwfX1rdCgpe3RoaXMueHQ9ITB9SWUoKXt0aGlzLnllPSEwfUl0KCl7cmV0dXJuIDAhPT10aGlzLlRlLk4oKS5sYXN0UHJpY2VBbmltYXRpb259VmUoKXtzd2l0Y2godGhpcy5UZS5OKCkubGFzdFByaWNlQW5pbWF0aW9uKXtjYXNlIDA6cmV0dXJuITE7Y2FzZSAxOnJldHVybiEwO2Nhc2UgMjpyZXR1cm4gcGVyZm9ybWFuY2Uubm93KCk8PXRoaXMuUGV9fVR0KCl7cmV0dXJuIHRoaXMueHQ/KHRoaXMuUnQoKSx0aGlzLnh0PSExLHRoaXMueWU9ITEpOnRoaXMueWUmJih0aGlzLkJlKCksdGhpcy55ZT0hMSksdGhpcy5YdH1SdCgpe3RoaXMuWHQuaHQobnVsbCk7Y29uc3QgdD10aGlzLlRlLlF0KCkuRXQoKSxpPXQuRWUoKSxzPXRoaXMuVGUuTHQoKTtpZihudWxsPT09aXx8bnVsbD09PXMpcmV0dXJuO2NvbnN0IGU9dGhpcy5UZS5BZSghMCk7aWYoZS5MZXx8IWkuemUoZS4kbikpcmV0dXJuO2NvbnN0IGg9e3g6dC5qdChlLiRuKSx5OnRoaXMuVGUuRnQoKS5OdChlLk10LHMuV3QpfSxuPWUuUixyPXRoaXMuVGUuTigpLmxpbmVXaWR0aCxvPXRoaXMuT2UodGhpcy5OZSgpLG4pO3RoaXMuWHQuaHQoe2RlOm4sZmU6cixwZTpvLnBlLHZlOm8udmUsZnQ6by5mdCxjZTpofSl9QmUoKXtjb25zdCB0PXRoaXMuWHQudWUoKTtpZihudWxsIT09dCl7Y29uc3QgaT10aGlzLk9lKHRoaXMuTmUoKSx0LmRlKTt0LnBlPWkucGUsdC52ZT1pLnZlLHQuZnQ9aS5mdH19TmUoKXtyZXR1cm4gdGhpcy5WZSgpP3BlcmZvcm1hbmNlLm5vdygpLXRoaXMua2U6MjU5OX1GZSh0LGkscyxlKXtjb25zdCBoPXMrKGUtcykqaTtyZXR1cm4gdGhpcy5UZS5RdCgpLlhpKCkuWSh0LGgpfU9lKHQsaSl7Y29uc3Qgcz10JTI2MDAvMjYwMDtsZXQgZTtmb3IoY29uc3QgdCBvZiBmdClpZihzPj10Lm1lJiZzPD10LndlKXtlPXQ7YnJlYWt9dSh2b2lkIDAhPT1lLCJMYXN0IHByaWNlIGFuaW1hdGlvbiBpbnRlcm5hbCBsb2dpYyBlcnJvciIpO2NvbnN0IGg9KHMtZS5tZSkvKGUud2UtZS5tZSk7cmV0dXJue3BlOnRoaXMuRmUoaSxoLGUuYmUsZS5TZSksdmU6dGhpcy5GZShpLGgsZS54ZSxlLkNlKSxmdDoobj1oLHI9ZS5NZSxvPWUuZ2Uscisoby1yKSpuKX07dmFyIG4scixvfX1jbGFzcyBtdCBleHRlbmRzIGF0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpfW9lKCl7Y29uc3QgdD10aGlzLnJlO3QuSXQ9ITE7Y29uc3QgaT10aGlzLmFlLk4oKTtpZighaS5wcmljZUxpbmVWaXNpYmxlfHwhdGhpcy5hZS5JdCgpKXJldHVybjtjb25zdCBzPXRoaXMuYWUuQWUoMD09PWkucHJpY2VMaW5lU291cmNlKTtzLkxlfHwodC5JdD0hMCx0LnV0PXMuRWksdC5SPXRoaXMuYWUuV2Uocy5SKSx0LmN0PWkucHJpY2VMaW5lV2lkdGgsdC5adD1pLnByaWNlTGluZVN0eWxlKX19Y2xhc3MgcHQgZXh0ZW5kcyAke2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5KdD10fQpZaSh0LGkscyl7dC5JdD0hMSxpLkl0PSExO2NvbnN0IGU9dGhpcy5KdDtpZighZS5JdCgpKXJldHVybjtjb25zdCBoPWUuTigpLG49aC5sYXN0VmFsdWVWaXNpYmxlLHI9IiIhPT1lLkhlKCksbz0wPT09aC5zZXJpZXNMYXN0VmFsdWVNb2RlLGw9ZS5BZSghMSk7aWYobC5MZSlyZXR1cm47biYmKHQucmk9dGhpcy5VZShsLG4sbyksdC5JdD0wIT09dC5yaS5sZW5ndGgpLChyfHxvKSYmKGkucmk9dGhpcy4kZShsLG4scixvKSxpLkl0PWkucmkubGVuZ3RoPjApO2NvbnN0IGE9ZS5XZShsLlIpLHU9dGhpcy5KdC5RdCgpLlhpKCkuWihhKTtzLkc9dS5HLHMuRWk9bC5FaSxpLkh0PWUuUXQoKS5VdChsLkVpL2UuRnQoKS4kdCgpKSx0Lkh0PWEsdC5SPXUuWCxpLlI9dS5YfSRlKHQsaSxzLGUpe2xldCBoPSIiO2NvbnN0IG49dGhpcy5KdC5IZSgpO3JldHVybiBzJiYwIT09bi5sZW5ndGgmJihoKz1gJHtufSBgKSxpJiZlJiYoaCs9dGhpcy5KdC5GdCgpLmplKCk/dC5xZTp0LlllKSxoLnRyaW0oKX1VZSh0LGkscyl7cmV0dXJuIGk/cz90aGlzLkp0LkZ0KCkuamUoKT90LlllOnQucWU6dC5yaToiIn19ZnVuY3Rpb24gZ3QodCxpLHMsZSl7Y29uc3QgaD1OdW1iZXIuaXNGaW5pdGUoaSksbj1OdW1iZXIuaXNGaW5pdGUocyk7cmV0dXJuIGgmJm4/dChpLHMpOmh8fG4/aD9pOnM6ZX1jbGFzcyB2dHtjb25zdHJ1Y3Rvcih0LGkpe3RoaXMuS2U9dCx0aGlzLlplPWl9R2UodCl7cmV0dXJuIG51bGwhPT10JiZ0aGlzLktlPT09dC5LZSYmdGhpcy5aZT09PXQuWmV9WGUoKXtyZXR1cm4gbmV3IHZ0KHRoaXMuS2UsdGhpcy5aZSl9SmUoKXtyZXR1cm4gdGhpcy5LZX1RZSgpe3JldHVybiB0aGlzLlplfXRyKCl7cmV0dXJuIHRoaXMuWmUtdGhpcy5LZX1HaSgpe3JldHVybiB0aGlzLlplPT09dGhpcy5LZXx8TnVtYmVyLmlzTmFOKHRoaXMuWmUpfHxOdW1iZXIuaXNOYU4odGhpcy5LZSl9U3ModCl7cmV0dXJuIG51bGw9PT10P3RoaXM6bmV3IHZ0KGd0KE1hdGgubWluLHRoaXMuSmUoKSx0LkplKCksLTEvMCksZ3QoTWF0aC5tYXgsdGhpcy5RZSgpLHQuUWUoKSwxLzApKX1pcih0KXtpZighZyh0KSlyZXR1cm47aWYoMD09dGhpcy5aZS10aGlzLktlKXJldHVybjtjb25zdCBpPS41Kih0aGlzLlplK3RoaXMuS2UpO2xldCBzPXRoaXMuWmUtaSxlPXRoaXMuS2UtaTtzKj10LGUqPXQsdGhpcy5aZT1pK3MsdGhpcy5LZT1pK2V9bnIodCl7Zyh0KSYmKHRoaXMuWmUrPXQsdGhpcy5LZSs9dCl9c3IoKXtyZXR1cm57bWluVmFsdWU6dGhpcy5LZSxtYXhWYWx1ZTp0aGlzLlplfX1zdGF0aWMgZXIodCl7cmV0dXJuIG51bGw9PT10P251bGw6bmV3IHZ0KHQubWluVmFsdWUsdC5tYXhWYWx1ZSl9fWNsYXNzIGJ0e2NvbnN0cnVjdG9yKHQsaSl7dGhpcy5ycj10LHRoaXMuaHI9aXx8bnVsbH1hcigpe3JldHVybiB0aGlzLnJyfWxyKCl7cmV0dXJuIHRoaXMuaHJ9c3IoKXtyZXR1cm57cHJpY2VSYW5nZTpudWxsPT09dGhpcy5ycj9udWxsOnRoaXMucnIuc3IoKSxtYXJnaW5zOnRoaXMuaHJ8fHZvaWQgMH19c3RhdGljIGVyKHQpe3JldHVybiBudWxsPT09dD9udWxsOm5ldyBidCh2dC5lcih0LnByaWNlUmFuZ2UpLHQubWFyZ2lucyl9fWNvbnN0IHd0PVsyLDQsOCwxNiwzMiw2NCwxMjgsMjU2LDUxMl07Y2xhc3MgTXQgZXh0ZW5kcyBhdHtjb25zdHJ1Y3Rvcih0LGkpe3N1cGVyKHQpLHRoaXMuX3I9aX1vZSgpe2NvbnN0IHQ9dGhpcy5yZTt0Lkl0PSExO2NvbnN0IGk9dGhpcy5fci5OKCk7aWYoIXRoaXMuYWUuSXQoKXx8IWkubGluZVZpc2libGUpcmV0dXJuO2NvbnN0IHM9dGhpcy5fci51cigpO251bGwhPT1zJiYodC5JdD0hMCx0LnV0PXMsdC5SPWkuY29sb3IsdC5jdD1pLmxpbmVXaWR0aCx0Llp0PWkubGluZVN0eWxlLHQudGU9dGhpcy5fci5OKCkuaWQpfX1jbGFzcyB5dCBleHRlbmRzICR7Y29uc3RydWN0b3IodCxpKXtzdXBlcigpLHRoaXMuVGU9dCx0aGlzLl9yPWl9WWkodCxpLHMpe3QuSXQ9ITEsaS5JdD0hMTtjb25zdCBlPXRoaXMuX3IuTigpLGg9ZS5heGlzTGFiZWxWaXNpYmxlLG49IiIhPT1lLnRpdGxlLHI9dGhpcy5UZTtpZighaHx8IXIuSXQoKSlyZXR1cm47Y29uc3Qgbz10aGlzLl9yLnVyKCk7aWYobnVsbD09PW8pcmV0dXJuO24mJihpLnJpPWUudGl0bGUsaS5JdD0hMCksaS5IdD1yLlF0KCkuVXQoby9yLkZ0KCkuJHQoKSksdC5yaT10aGlzLmNyKGUucHJpY2UpLHQuSXQ9ITA7Y29uc3QgbD10aGlzLlRlLlF0KCkuWGkoKS5aKGUuYXhpc0xhYmVsQ29sb3J8fGUuY29sb3IpO3MuRz1sLkc7Y29uc3QgYT1lLmF4aXNMYWJlbFRleHRDb2xvcnx8bC5YO3QuUj1hLGkuUj1hLHMuRWk9b31jcih0KXtjb25zdCBpPXRoaXMuVGUuTHQoKTtyZXR1cm4gbnVsbD09PWk/IiI6dGhpcy5UZS5GdCgpLkppKHQsaS5XdCl9fWNsYXNzIFN0e2NvbnN0cnVjdG9yKHQsaSl7dGhpcy5UZT10LHRoaXMueW49aSx0aGlzLmRyPW5ldyBNdCh0LHRoaXMpLHRoaXMucXM9bmV3IHl0KHQsdGhpcyksdGhpcy5wcj1uZXcgb3QodGhpcy5xcyx0LHQuUXQoKSl9dnIodCl7cCh0aGlzLnluLHQpLHRoaXMua3QoKSx0aGlzLlRlLlF0KCkubXIoKX1OKCl7cmV0dXJuIHRoaXMueW59d3IoKXtyZXR1cm4gdGhpcy5kcn1Ncigpe3JldHVybiB0aGlzLnByfWdyKCl7cmV0dXJuIHRoaXMucXN9a3QoKXt0aGlzLmRyLmt0KCksdGhpcy5xcy5rdCgpfXVyKCl7Y29uc3QgdD10aGlzLlRlLGk9dC5GdCgpO2lmKHQuUXQoKS5FdCgpLkdpKCl8fGkuR2koKSlyZXR1cm4gbnVsbDtjb25zdCBzPXQuTHQoKTtyZXR1cm4gbnVsbD09PXM/bnVsbDppLk50KHRoaXMueW4ucHJpY2Uscy5XdCl9fWNsYXNzIHh0e2NvbnN0cnVjdG9yKCl7dGhpcy5icj1uZXcgV2Vha01hcH1Tcih0LGkscyl7Y29uc3QgZT0xL2kqcztpZih0Pj1lKXJldHVybiAxO2NvbnN0IGg9ZS90LG49TWF0aC5wb3coMixNYXRoLmZsb29yKE1hdGgubG9nMihoKSkpO3JldHVybiBNYXRoLm1pbihuLDUxMil9Q3IodCxpLHMsZT0hMSxoKXtpZigwPT09dC5sZW5ndGh8fGk8PTEpcmV0dXJuIHQ7Y29uc3Qgbj10aGlzLnlyKGkpO2lmKG48PTEpcmV0dXJuIHQ7Y29uc3Qgcj10aGlzLmtyKHQpO2xldCBvPXIuUHIuZ2V0KG4pCjtyZXR1cm4gdm9pZCAwIT09b3x8KG89dGhpcy5Ucih0LG4scyxlLGgsci5Qciksci5Qci5zZXQobixvKSksb31Scih0LGkscyxlLGg9ITEsbil7aWYoczwxfHwwPT09dC5sZW5ndGgpcmV0dXJuIHQ7Y29uc3Qgcj10aGlzLmtyKHQpLG89ci5Qci5nZXQocyk7aWYoIW8pcmV0dXJuIHRoaXMuQ3IodCxzLGUsaCxuKTtjb25zdCBsPXRoaXMuRHIodCxpLHMsbyxoLGUsbik7cmV0dXJuIHIuUHIuc2V0KHMsbCksbH15cih0KXtpZih0PD0yKXJldHVybiAyO2Zvcihjb25zdCBpIG9mIHd0KWlmKHQ8PWkpcmV0dXJuIGk7cmV0dXJuIDUxMn1Jcih0KXtpZigwPT09dC5sZW5ndGgpcmV0dXJuIDA7Y29uc3QgaT10WzBdLHM9dFt0Lmxlbmd0aC0xXTtyZXR1cm4gMzEqdC5sZW5ndGgrMTcqaS4kbisxMypzLiRufVRyKHQsaSxzLGU9ITEsaCxuPW5ldyBNYXApe2lmKDI9PT1pKXJldHVybiB0aGlzLlZyKHQsMixzLGUsaCk7Y29uc3Qgcj1pLzI7bGV0IG89bi5nZXQocik7cmV0dXJuIG98fChvPXRoaXMuVHIodCxyLHMsZSxoLG4pLG4uc2V0KHIsbykpLHRoaXMuQnIobyxzLGUsaCl9VnIodCxpLHMsZT0hMSxoKXtjb25zdCBuPXRoaXMuRXIodCxpLHMsZSxoKTtyZXR1cm4gdGhpcy5BcihuLGUpfUJyKHQsaSxzPSExLGUpe2NvbnN0IGg9dGhpcy5Fcih0LDIsaSxzLGUpO3JldHVybiB0aGlzLkFyKGgscyl9RXIodCxpLHMsZT0hMSxoKXtjb25zdCBuPVtdO2ZvcihsZXQgcj0wO3I8dC5sZW5ndGg7cis9aSlpZih0Lmxlbmd0aC1yPj1pKXtjb25zdCBpPXRoaXMuTHIodFtyXSx0W3IrMV0scyxlLGgpO2kuenI9ITEsbi5wdXNoKGkpfWVsc2UgaWYoMD09PW4ubGVuZ3RoKW4ucHVzaCh0aGlzLk9yKHRbcl0sITApKTtlbHNle2NvbnN0IGk9bltuLmxlbmd0aC0xXTtuW24ubGVuZ3RoLTFdPXRoaXMuTnIoaSx0W3JdLHMsZSxoKX1yZXR1cm4gbn1Gcih0LGkpe3JldHVybih0Pz8xKSsoaT8/MSl9THIodCxpLHMsZT0hMSxoKXtpZighZXx8IXN8fCFoKXtjb25zdCBzPXQuV3RbMV0+aS5XdFsxXT90Lld0WzFdOmkuV3RbMV0sZT10Lld0WzJdPGkuV3RbMl0/dC5XdFsyXTppLld0WzJdO3JldHVybntXcjp0LiRuLEhyOmkuJG4sVXI6dC53dCwkcjppLnd0LGpyOnQuV3RbMF0scXI6cyxZcjplLEtyOmkuV3RbM10sWnI6dGhpcy5Gcih0LlpyLGkuWnIpLEdyOnZvaWQgMCx6cjohMX19Y29uc3Qgbj1zKHRoaXMuWHIodCxoKSx0aGlzLlhyKGksaCkpLHI9aChuKSxvPXIubGVuZ3RoP3Jbci5sZW5ndGgtMV06MDtyZXR1cm57V3I6dC4kbixIcjppLiRuLFVyOnQud3QsJHI6aS53dCxqcjp0Lld0WzBdLHFyOk1hdGgubWF4KHQuV3RbMV0sbyksWXI6TWF0aC5taW4odC5XdFsyXSxvKSxLcjpvLFpyOnRoaXMuRnIodC5acixpLlpyKSxHcjpuLHpyOiExfX1Ocih0LGkscyxlPSExLGgpe2lmKCFlfHwhc3x8IWgpcmV0dXJue1dyOnQuV3IsSHI6aS4kbixVcjp0LlVyLCRyOmkud3QsanI6dC5qcixxcjp0LnFyPmkuV3RbMV0/dC5xcjppLld0WzFdLFlyOnQuWXI8aS5XdFsyXT90LllyOmkuV3RbMl0sS3I6aS5XdFszXSxacjp0LlpyKyhpLlpyPz8xKSxHcjp0LkdyLHpyOiExfTtjb25zdCBuPXQuR3Iscj10aGlzLlhyKGksaCksbz1uP3tkYXRhOm4saW5kZXg6dC5XcixvcmlnaW5hbFRpbWU6dC5Vcix0aW1lOnQuVXIscHJpY2VWYWx1ZXM6aChuKX06bnVsbCxsPW8/cyhvLHIpOnIuZGF0YSxhPW8/aChsKTpyLnByaWNlVmFsdWVzLHU9YS5sZW5ndGg/YVthLmxlbmd0aC0xXTowO3JldHVybntXcjp0LldyLEhyOmkuJG4sVXI6dC5VciwkcjppLnd0LGpyOnQuanIscXI6TWF0aC5tYXgodC5xcix1KSxZcjpNYXRoLm1pbih0LllyLHUpLEtyOnUsWnI6dC5acisoaS5acj8/MSksR3I6bCx6cjohMX19SnIodCxpLHMsZSxoLG4scj0hMSxvKXtjb25zdCBsPWk9PT1lP2g6dFtpXTtpZihzLWk9PTEpcmV0dXJuIHRoaXMuT3IobCwhMCk7Y29uc3QgYT1pKzE9PT1lP2g6dFtpKzFdO2xldCB1PXRoaXMuTHIobCxhLG4scixvKTtmb3IobGV0IGw9aSsyO2w8cztsKyspe2NvbnN0IGk9bD09PWU/aDp0W2xdO3U9dGhpcy5Ocih1LGksbixyLG8pfXJldHVybiB1fVhyKHQsaSl7Y29uc3Qgcz10LnVlPz97fTtyZXR1cm57ZGF0YTp0LnVlLGluZGV4OnQuJG4sb3JpZ2luYWxUaW1lOnQuUXIsdGltZTp0Lnd0LHByaWNlVmFsdWVzOmkocyl9fXRoKHQsaT0hMSl7Y29uc3Qgcz0hMD09PWksZT0hIXQuR3I7cmV0dXJueyRuOnQuV3Isd3Q6dC5VcixRcjp0LlVyLFd0OltzP3QuS3I6dC5qcix0LnFyLHQuWXIsdC5Lcl0sWnI6dC5acix1ZTpzP2U/dC5Hcjp7d3Q6dC5Vcn06dm9pZCAwfX1Bcih0LGk9ITEpe3JldHVybiB0Lm1hcCgodD0+dGhpcy50aCh0LGkpKSl9RHIodCxpLHMsZSxoPSExLG4scil7aWYoMD09PWUubGVuZ3RoKXJldHVybiBlO2NvbnN0IG89dC5sZW5ndGgtMSxsPU1hdGguZmxvb3Ioby9zKSpzO2lmKE1hdGgubWluKGwrcyx0Lmxlbmd0aCktbDxzJiZ0Lmxlbmd0aD5zKXtjb25zdCBlPXQuc2xpY2UoKTtyZXR1cm4gZVtlLmxlbmd0aC0xXT1pLHRoaXMuQ3IoZSxzLG4saCxyKX1pZihNYXRoLmZsb29yKChvLTEpL3MpPT09TWF0aC5mbG9vcihvL3MpfHwxPT09ZS5sZW5ndGgpe2NvbnN0IGE9TWF0aC5taW4obCtzLHQubGVuZ3RoKSx1PWEtbDtpZih1PD0wKXJldHVybiBlO2NvbnN0IGM9MT09PXU/dGhpcy5PcihsPT09bz9pOnRbbF0sITApOnRoaXMuSnIodCxsLGEsbyxpLG4saCxyKTtyZXR1cm4gZVtlLmxlbmd0aC0xXT10aGlzLnRoKGMsaCksZX17Y29uc3QgZT10LnNsaWNlKCk7cmV0dXJuIGVbZS5sZW5ndGgtMV09aSx0aGlzLkNyKGUscyxuLGgscil9fU9yKHQsaT0hMSl7cmV0dXJue1dyOnQuJG4sSHI6dC4kbixVcjp0Lnd0LCRyOnQud3QsanI6dC5XdFswXSxxcjp0Lld0WzFdLFlyOnQuV3RbMl0sS3I6dC5XdFszXSxacjp0LlpyPz8xLEdyOnQudWUsenI6aX19a3IodCl7Y29uc3QgaT10aGlzLmloKHQpLHM9dGhpcy5Jcih0KTtyZXR1cm4gaS5uaCE9PXMmJihpLlByLmNsZWFyKCksaS5uaD1zKSxpfWloKHQpe2xldCBpPXRoaXMuYnIuZ2V0KHQpO3JldHVybiB2b2lkIDA9PT1pJiYoaT17bmg6dGhpcy5Jcih0KSxQcjpuZXcgTWFwfSx0aGlzLmJyLnNldCh0LGkpKSxpfQp9Y2xhc3MgX3QgZXh0ZW5kcyBHe2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5zbj10fVF0KCl7cmV0dXJuIHRoaXMuc259fWNvbnN0IEN0PXtCYXI6KHQsaSxzLGUpPT57Y29uc3QgaD1pLnVwQ29sb3Isbj1pLmRvd25Db2xvcixyPWYodChzLGUpKSxvPWQoci5XdFswXSk8PWQoci5XdFszXSk7cmV0dXJue3NoOnIuUj8/KG8/aDpuKX19LENhbmRsZXN0aWNrOih0LGkscyxlKT0+e2NvbnN0IGg9aS51cENvbG9yLG49aS5kb3duQ29sb3Iscj1pLmJvcmRlclVwQ29sb3Isbz1pLmJvcmRlckRvd25Db2xvcixsPWkud2lja1VwQ29sb3IsYT1pLndpY2tEb3duQ29sb3IsdT1mKHQocyxlKSksYz1kKHUuV3RbMF0pPD1kKHUuV3RbM10pO3JldHVybntzaDp1LlI/PyhjP2g6biksZWg6dS5IdD8/KGM/cjpvKSxyaDp1LmhoPz8oYz9sOmEpfX0sQ3VzdG9tOih0LGkscyxlKT0+KHtzaDpmKHQocyxlKSkuUj8/aS5jb2xvcn0pLEFyZWE6KHQsaSxzLGUpPT57Y29uc3QgaD1mKHQocyxlKSk7cmV0dXJue3NoOmgudnQ/P2kubGluZUNvbG9yLHZ0OmgudnQ/P2kubGluZUNvbG9yLGFoOmguYWg/P2kudG9wQ29sb3Isb2g6aC5vaD8/aS5ib3R0b21Db2xvcn19LEJhc2VsaW5lOih0LGkscyxlKT0+e2NvbnN0IGg9Zih0KHMsZSkpO3JldHVybntzaDpoLld0WzNdPj1pLmJhc2VWYWx1ZS5wcmljZT9pLnRvcExpbmVDb2xvcjppLmJvdHRvbUxpbmVDb2xvcixfaDpoLl9oPz9pLnRvcExpbmVDb2xvcix1aDpoLnVoPz9pLmJvdHRvbUxpbmVDb2xvcixkaDpoLmRoPz9pLnRvcEZpbGxDb2xvcjEsZmg6aC5maD8/aS50b3BGaWxsQ29sb3IyLHBoOmgucGg/P2kuYm90dG9tRmlsbENvbG9yMSxtaDpoLm1oPz9pLmJvdHRvbUZpbGxDb2xvcjJ9fSxMaW5lOih0LGkscyxlKT0+e2NvbnN0IGg9Zih0KHMsZSkpO3JldHVybntzaDpoLlI/P2kuY29sb3IsdnQ6aC5SPz9pLmNvbG9yfX0sSGlzdG9ncmFtOih0LGkscyxlKT0+KHtzaDpmKHQocyxlKSkuUj8/aS5jb2xvcn0pfTtjbGFzcyBrdHtjb25zdHJ1Y3Rvcih0KXt0aGlzLndoPSh0LGkpPT52b2lkIDAhPT1pP2kuV3Q6dGhpcy5UZS5VbigpLk1oKHQpLHRoaXMuVGU9dCx0aGlzLmdoPUN0W3QuYmgoKV19U2godCxpKXtyZXR1cm4gdGhpcy5naCh0aGlzLndoLHRoaXMuVGUuTigpLHQsaSl9fWZ1bmN0aW9uIEV0KHQsaSxzLGUsaD0wLG49aS5sZW5ndGgpe2xldCByPW4taDtmb3IoOzA8cjspe2NvbnN0IG49cj4+MSxvPWgrbjtlKGlbb10scyk9PT10PyhoPW8rMSxyLT1uKzEpOnI9bn1yZXR1cm4gaH1jb25zdCBOdD1FdC5iaW5kKG51bGwsITApLFR0PUV0LmJpbmQobnVsbCwhMSk7dmFyIFJ0OyFmdW5jdGlvbih0KXt0W3QuTmVhcmVzdExlZnQ9LTFdPSJOZWFyZXN0TGVmdCIsdFt0Lk5vbmU9MF09Ik5vbmUiLHRbdC5OZWFyZXN0UmlnaHQ9MV09Ik5lYXJlc3RSaWdodCJ9KFJ0fHwoUnQ9e30pKTtjb25zdCBQdD0zMDtjbGFzcyB6dHtjb25zdHJ1Y3Rvcigpe3RoaXMueGg9W10sdGhpcy5DaD1uZXcgTWFwLHRoaXMueWg9bmV3IE1hcCx0aGlzLmtoPVtdfVBoKCl7cmV0dXJuIHRoaXMuVGgoKT4wP3RoaXMueGhbdGhpcy54aC5sZW5ndGgtMV06bnVsbH1SaCgpe3JldHVybiB0aGlzLlRoKCk+MD90aGlzLkRoKDApOm51bGx9UW4oKXtyZXR1cm4gdGhpcy5UaCgpPjA/dGhpcy5EaCh0aGlzLnhoLmxlbmd0aC0xKTpudWxsfVRoKCl7cmV0dXJuIHRoaXMueGgubGVuZ3RofUdpKCl7cmV0dXJuIDA9PT10aGlzLlRoKCl9emUodCl7cmV0dXJuIG51bGwhPT10aGlzLkloKHQsMCl9TWgodCl7cmV0dXJuIHRoaXMuSG4odCl9SG4odCxpPTApe2NvbnN0IHM9dGhpcy5JaCh0LGkpO3JldHVybiBudWxsPT09cz9udWxsOnsuLi50aGlzLlZoKHMpLCRuOnRoaXMuRGgocyl9fUJoKCl7cmV0dXJuIHRoaXMueGh9RWgodCxpLHMpe2lmKHRoaXMuR2koKSlyZXR1cm4gbnVsbDtsZXQgZT1udWxsO2Zvcihjb25zdCBoIG9mIHMpZT1JdChlLHRoaXMuQWgodCxpLGgpKTtyZXR1cm4gZX1odCh0KXt0aGlzLnloLmNsZWFyKCksdGhpcy5DaC5jbGVhcigpLHRoaXMueGg9dCx0aGlzLmtoPXQubWFwKCh0PT50LiRuKSl9TGgoKXtyZXR1cm4gdGhpcy5raH1EaCh0KXtyZXR1cm4gdGhpcy54aFt0XS4kbn1WaCh0KXtyZXR1cm4gdGhpcy54aFt0XX1JaCh0LGkpe2NvbnN0IHM9dGhpcy56aCh0KTtpZihudWxsPT09cyYmMCE9PWkpc3dpdGNoKGkpe2Nhc2UtMTpyZXR1cm4gdGhpcy5PaCh0KTtjYXNlIDE6cmV0dXJuIHRoaXMuTmgodCk7ZGVmYXVsdDp0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmtub3duIHNlYXJjaCBtb2RlIil9cmV0dXJuIHN9T2godCl7bGV0IGk9dGhpcy5GaCh0KTtyZXR1cm4gaT4wJiYoaS09MSksaSE9PXRoaXMueGgubGVuZ3RoJiZ0aGlzLkRoKGkpPHQ/aTpudWxsfU5oKHQpe2NvbnN0IGk9dGhpcy5XaCh0KTtyZXR1cm4gaSE9PXRoaXMueGgubGVuZ3RoJiZ0PHRoaXMuRGgoaSk/aTpudWxsfXpoKHQpe2NvbnN0IGk9dGhpcy5GaCh0KTtyZXR1cm4gaT09PXRoaXMueGgubGVuZ3RofHx0PHRoaXMueGhbaV0uJG4/bnVsbDppfUZoKHQpe3JldHVybiBOdCh0aGlzLnhoLHQsKCh0LGkpPT50LiRuPGkpKX1XaCh0KXtyZXR1cm4gVHQodGhpcy54aCx0LCgodCxpKT0+dC4kbj5pKSl9SGgodCxpLHMpe2xldCBlPW51bGw7Zm9yKGxldCBoPXQ7aDxpO2grKyl7Y29uc3QgdD10aGlzLnhoW2hdLld0W3NdO051bWJlci5pc05hTih0KXx8KG51bGw9PT1lP2U9e1VoOnQsJGg6dH06KHQ8ZS5VaCYmKGUuVWg9dCksdD5lLiRoJiYoZS4kaD10KSkpfXJldHVybiBlfUFoKHQsaSxzKXtpZih0aGlzLkdpKCkpcmV0dXJuIG51bGw7bGV0IGU9bnVsbDtjb25zdCBoPWYodGhpcy5SaCgpKSxuPWYodGhpcy5RbigpKSxyPU1hdGgubWF4KHQsaCksbz1NYXRoLm1pbihpLG4pLGw9TWF0aC5jZWlsKHIvUHQpKlB0LGE9TWF0aC5tYXgobCxNYXRoLmZsb29yKG8vUHQpKlB0KTt7Y29uc3QgdD10aGlzLkZoKHIpLGg9dGhpcy5XaChNYXRoLm1pbihvLGwsaSkpO2U9SXQoZSx0aGlzLkhoKHQsaCxzKSl9bGV0IHU9dGhpcy5DaC5nZXQocyk7dm9pZCAwPT09dSYmKHU9bmV3IE1hcCx0aGlzLkNoLnNldChzLHUpKQo7Zm9yKGxldCB0PU1hdGgubWF4KGwrMSxyKTt0PGE7dCs9UHQpe2NvbnN0IGk9TWF0aC5mbG9vcih0L1B0KTtsZXQgaD11LmdldChpKTtpZih2b2lkIDA9PT1oKXtjb25zdCB0PXRoaXMuRmgoaSpQdCksZT10aGlzLldoKChpKzEpKlB0LTEpO2g9dGhpcy5IaCh0LGUscyksdS5zZXQoaSxoKX1lPUl0KGUsaCl9e2NvbnN0IHQ9dGhpcy5GaChhKSxpPXRoaXMuV2gobyk7ZT1JdChlLHRoaXMuSGgodCxpLHMpKX1yZXR1cm4gZX19ZnVuY3Rpb24gSXQodCxpKXtyZXR1cm4gbnVsbD09PXQ/aTpudWxsPT09aT90OntVaDpNYXRoLm1pbih0LlVoLGkuVWgpLCRoOk1hdGgubWF4KHQuJGgsaS4kaCl9fWZ1bmN0aW9uIEx0KCl7cmV0dXJuIG5ldyB6dH1jb25zdCBGdD17c2V0TGluZVN0eWxlOmx9O2NsYXNzIHF0e2NvbnN0cnVjdG9yKHQpe3RoaXMuamg9dH1zdCh0LGkscyl7dGhpcy5qaC5kcmF3KHQsRnQpfXFoKHQsaSxzKXt0aGlzLmpoLmRyYXdCYWNrZ3JvdW5kPy4odCxGdCl9fWNsYXNzIFd0e2NvbnN0cnVjdG9yKHQpe3RoaXMuTHM9bnVsbCx0aGlzLlloPXR9VHQoKXtjb25zdCB0PXRoaXMuWWgucmVuZGVyZXIoKTtpZihudWxsPT09dClyZXR1cm4gbnVsbDtpZih0aGlzLkxzPy5LaD09PXQpcmV0dXJuIHRoaXMuTHMuWmg7Y29uc3QgaT1uZXcgcXQodCk7cmV0dXJuIHRoaXMuTHM9e0toOnQsWmg6aX0saX1HaCgpe3JldHVybiB0aGlzLlloLnpPcmRlcj8uKCk/PyJub3JtYWwifX1jbGFzcyBRdHtjb25zdHJ1Y3Rvcih0KXt0aGlzLlhoPW51bGwsdGhpcy5KaD10fVFoKCl7cmV0dXJuIHRoaXMuSmh9Tm4oKXt0aGlzLkpoLnVwZGF0ZUFsbFZpZXdzPy4oKX1qbigpe2NvbnN0IHQ9dGhpcy5KaC5wYW5lVmlld3M/LigpPz9bXTtpZih0aGlzLlhoPy5LaD09PXQpcmV0dXJuIHRoaXMuWGguWmg7Y29uc3QgaT10Lm1hcCgodD0+bmV3IFd0KHQpKSk7cmV0dXJuIHRoaXMuWGg9e0toOnQsWmg6aX0saX1Rcyh0LGkpe3JldHVybiB0aGlzLkpoLmhpdFRlc3Q/Lih0LGkpPz9udWxsfX1sZXQgRHQ9Y2xhc3MgZXh0ZW5kcyBRdHtjbigpe3JldHVybltdfX07Y2xhc3MgT3R7Y29uc3RydWN0b3IodCl7dGhpcy5qaD10fXN0KHQsaSxzKXt0aGlzLmpoLmRyYXcodCxGdCl9cWgodCxpLHMpe3RoaXMuamguZHJhd0JhY2tncm91bmQ/Lih0LEZ0KX19Y2xhc3MgS3R7Y29uc3RydWN0b3IodCl7dGhpcy5Mcz1udWxsLHRoaXMuWWg9dH1UdCgpe2NvbnN0IHQ9dGhpcy5ZaC5yZW5kZXJlcigpO2lmKG51bGw9PT10KXJldHVybiBudWxsO2lmKHRoaXMuTHM/LktoPT09dClyZXR1cm4gdGhpcy5Mcy5aaDtjb25zdCBpPW5ldyBPdCh0KTtyZXR1cm4gdGhpcy5Mcz17S2g6dCxaaDppfSxpfUdoKCl7cmV0dXJuIHRoaXMuWWguek9yZGVyPy4oKT8/Im5vcm1hbCJ9fWZ1bmN0aW9uIFZ0KHQpe3JldHVybntyaTp0LnRleHQoKSxFaTp0LmNvb3JkaW5hdGUoKSxWaTp0LmZpeGVkQ29vcmRpbmF0ZT8uKCksUjp0LnRleHRDb2xvcigpLEc6dC5iYWNrQ29sb3IoKSxJdDp0LnZpc2libGU/LigpPz8hMCxwaTp0LnRpY2tWaXNpYmxlPy4oKT8/ITB9fWNsYXNzICR0e2NvbnN0cnVjdG9yKHQsaSl7dGhpcy5YdD1uZXcgWix0aGlzLnRhPXQsdGhpcy5pYT1pfVR0KCl7cmV0dXJuIHRoaXMuWHQuaHQoe25uOnRoaXMuaWEubm4oKSwuLi5WdCh0aGlzLnRhKX0pLHRoaXMuWHR9fWNsYXNzIEJ0IGV4dGVuZHMgJHtjb25zdHJ1Y3Rvcih0LGkpe3N1cGVyKCksdGhpcy50YT10LHRoaXMuS2k9aX1ZaSh0LGkscyl7Y29uc3QgZT1WdCh0aGlzLnRhKTtzLkc9ZS5HLHQuUj1lLlI7Y29uc3QgaD0yLzEyKnRoaXMuS2kuaygpO3MuVGk9aCxzLlJpPWgscy5FaT1lLkVpLHMuVmk9ZS5WaSx0LnJpPWUucmksdC5JdD1lLkl0LHQucGk9ZS5waX19Y2xhc3MgQXQgZXh0ZW5kcyBRdHtjb25zdHJ1Y3Rvcih0LGkpe3N1cGVyKHQpLHRoaXMubmE9bnVsbCx0aGlzLnNhPW51bGwsdGhpcy5lYT1udWxsLHRoaXMucmE9bnVsbCx0aGlzLlRlPWl9ZG4oKXtjb25zdCB0PXRoaXMuSmgudGltZUF4aXNWaWV3cz8uKCk/P1tdO2lmKHRoaXMubmE/LktoPT09dClyZXR1cm4gdGhpcy5uYS5aaDtjb25zdCBpPXRoaXMuVGUuUXQoKS5FdCgpLHM9dC5tYXAoKHQ9Pm5ldyAkdCh0LGkpKSk7cmV0dXJuIHRoaXMubmE9e0toOnQsWmg6c30sc31xbigpe2NvbnN0IHQ9dGhpcy5KaC5wcmljZUF4aXNWaWV3cz8uKCk/P1tdO2lmKHRoaXMuc2E/LktoPT09dClyZXR1cm4gdGhpcy5zYS5aaDtjb25zdCBpPXRoaXMuVGUuRnQoKSxzPXQubWFwKCh0PT5uZXcgQnQodCxpKSkpO3JldHVybiB0aGlzLnNhPXtLaDp0LFpoOnN9LHN9aGEoKXtjb25zdCB0PXRoaXMuSmgucHJpY2VBeGlzUGFuZVZpZXdzPy4oKT8/W107aWYodGhpcy5lYT8uS2g9PT10KXJldHVybiB0aGlzLmVhLlpoO2NvbnN0IGk9dC5tYXAoKHQ9Pm5ldyBLdCh0KSkpO3JldHVybiB0aGlzLmVhPXtLaDp0LFpoOml9LGl9YWEoKXtjb25zdCB0PXRoaXMuSmgudGltZUF4aXNQYW5lVmlld3M/LigpPz9bXTtpZih0aGlzLnJhPy5LaD09PXQpcmV0dXJuIHRoaXMucmEuWmg7Y29uc3QgaT10Lm1hcCgodD0+bmV3IEt0KHQpKSk7cmV0dXJuIHRoaXMucmE9e0toOnQsWmg6aX0saX1sYSh0LGkpe3JldHVybiB0aGlzLkpoLmF1dG9zY2FsZUluZm8/Lih0LGkpPz9udWxsfX1mdW5jdGlvbiBadCh0LGkscyxlKXt0LmZvckVhY2goKHQ9PntpKHQpLmZvckVhY2goKHQ9Pnt0LkdoKCk9PT1zJiZlLnB1c2godCl9KSl9KSl9ZnVuY3Rpb24gSHQodCl7cmV0dXJuIHQuam4oKX1mdW5jdGlvbiBHdCh0KXtyZXR1cm4gdC5oYSgpfWZ1bmN0aW9uIFV0KHQpe3JldHVybiB0LmFhKCl9Y29uc3QgWXQ9WyJBcmVhIiwiTGluZSIsIkJhc2VsaW5lIl07Y2xhc3MganQgZXh0ZW5kcyBfdHtjb25zdHJ1Y3Rvcih0LGkscyxlLGgpe3N1cGVyKHQpLHRoaXMucXQ9THQoKSx0aGlzLmRyPW5ldyBtdCh0aGlzKSx0aGlzLm9hPVtdLHRoaXMuX2E9bmV3IHV0KHRoaXMpLHRoaXMudWE9bnVsbCx0aGlzLmNhPW51bGwsdGhpcy5kYT1udWxsLHRoaXMuZmE9W10sdGhpcy5wYT1uZXcgeHQsdGhpcy52YT1uZXcgTWFwLHRoaXMubWE9bnVsbCx0aGlzLnluPXMsdGhpcy53YT1pCjtjb25zdCBuPW5ldyBwdCh0aGlzKTtpZih0aGlzLm1uPVtuXSx0aGlzLnByPW5ldyBvdChuLHRoaXMsdCksWXQuaW5jbHVkZXModGhpcy53YSkmJih0aGlzLnVhPW5ldyBkdCh0aGlzKSksdGhpcy5NYSgpLHRoaXMuWWg9ZSh0aGlzLHRoaXMuUXQoKSxoKSwiQ3VzdG9tIj09PXRoaXMud2Epe2NvbnN0IHQ9dGhpcy5ZaDt0LmdhJiZ0aGlzLmJhKHQuZ2EpfX1tKCl7bnVsbCE9PXRoaXMuZGEmJmNsZWFyVGltZW91dCh0aGlzLmRhKX1XZSh0KXtyZXR1cm4gdGhpcy55bi5wcmljZUxpbmVDb2xvcnx8dH1BZSh0KXtjb25zdCBpPXtMZTohMH0scz10aGlzLkZ0KCk7aWYodGhpcy5RdCgpLkV0KCkuR2koKXx8cy5HaSgpfHx0aGlzLnF0LkdpKCkpcmV0dXJuIGk7Y29uc3QgZT10aGlzLlF0KCkuRXQoKS5FZSgpLGg9dGhpcy5MdCgpO2lmKG51bGw9PT1lfHxudWxsPT09aClyZXR1cm4gaTtsZXQgbixyO2lmKHQpe2NvbnN0IHQ9dGhpcy5xdC5QaCgpO2lmKG51bGw9PT10KXJldHVybiBpO249dCxyPXQuJG59ZWxzZXtjb25zdCB0PXRoaXMucXQuSG4oZS5iaSgpLC0xKTtpZihudWxsPT09dClyZXR1cm4gaTtpZihuPXRoaXMucXQuTWgodC4kbiksbnVsbD09PW4pcmV0dXJuIGk7cj10LiRufWNvbnN0IG89bi5XdFszXSxsPXRoaXMuU2EoKS5TaChyLHtXdDpufSksYT1zLk50KG8saC5XdCk7cmV0dXJue0xlOiExLE10Om8scmk6cy5KaShvLGguV3QpLHFlOnMueGEobyksWWU6cy5DYShvLGguV3QpLFI6bC5zaCxFaTphLCRuOnJ9fVNhKCl7cmV0dXJuIG51bGwhPT10aGlzLmNhfHwodGhpcy5jYT1uZXcga3QodGhpcykpLHRoaXMuY2F9Tigpe3JldHVybiB0aGlzLnlufXZyKHQpe2NvbnN0IGk9dGhpcy5RdCgpLHtwcmljZVNjYWxlSWQ6cyx2aXNpYmxlOmUscHJpY2VGb3JtYXQ6aH09dDt2b2lkIDAhPT1zJiZzIT09dGhpcy55bi5wcmljZVNjYWxlSWQmJmkueWEodGhpcyxzKSx2b2lkIDAhPT1lJiZlIT09dGhpcy55bi52aXNpYmxlJiZpLmthKCk7Y29uc3Qgbj12b2lkIDAhPT10LmNvbmZsYXRpb25UaHJlc2hvbGRGYWN0b3I7cCh0aGlzLnluLHQpLG4mJih0aGlzLnZhLmNsZWFyKCksdGhpcy5RdCgpLm1yKCkpLHZvaWQgMCE9PWgmJih0aGlzLk1hKCksaS5QYSgpKSxpLlRhKHRoaXMpLGkuUmEoKSx0aGlzLlloLmt0KCJvcHRpb25zIil9aHQodCxpKXt0aGlzLnF0Lmh0KHQpLHRoaXMudmEuY2xlYXIoKTtjb25zdCBzPXRoaXMuUXQoKS5FdCgpLk4oKTtzLmVuYWJsZUNvbmZsYXRpb24mJnMucHJlY29tcHV0ZUNvbmZsYXRpb25PbkluaXQmJnRoaXMuRGEocy5wcmVjb21wdXRlQ29uZmxhdGlvblByaW9yaXR5KSx0aGlzLlloLmt0KCJkYXRhIiksbnVsbCE9PXRoaXMudWEmJihpJiZpLklhP3RoaXMudWEuRGUoKTowPT09dC5sZW5ndGgmJnRoaXMudWEuUmUoKSk7Y29uc3QgZT10aGlzLlF0KCkuS3ModGhpcyk7dGhpcy5RdCgpLlZhKGUpLHRoaXMuUXQoKS5UYSh0aGlzKSx0aGlzLlF0KCkuUmEoKSx0aGlzLlF0KCkubXIoKX1CYSh0KXtjb25zdCBpPW5ldyBTdCh0aGlzLHQpO3JldHVybiB0aGlzLm9hLnB1c2goaSksdGhpcy5RdCgpLlRhKHRoaXMpLGl9RWEodCl7Y29uc3QgaT10aGlzLm9hLmluZGV4T2YodCk7LTEhPT1pJiZ0aGlzLm9hLnNwbGljZShpLDEpLHRoaXMuUXQoKS5UYSh0aGlzKX1BYSgpe3JldHVybiB0aGlzLm9hfWJoKCl7cmV0dXJuIHRoaXMud2F9THQoKXtjb25zdCB0PXRoaXMuTGEoKTtyZXR1cm4gbnVsbD09PXQ/bnVsbDp7V3Q6dC5XdFszXSx6YTp0Lnd0fX1MYSgpe2NvbnN0IHQ9dGhpcy5RdCgpLkV0KCkuRWUoKTtpZihudWxsPT09dClyZXR1cm4gbnVsbDtjb25zdCBpPXQuT2EoKTtyZXR1cm4gdGhpcy5xdC5IbihpLDEpfVVuKCl7cmV0dXJuIHRoaXMucXR9YmEodCl7dGhpcy5tYT10LHRoaXMudmEuY2xlYXIoKX1OYSgpe3JldHVybiEhdGhpcy5RdCgpLkV0KCkuTigpLmVuYWJsZUNvbmZsYXRpb24mJnRoaXMuRmEoKT4xfVJyKHQpe2lmKCF0aGlzLk5hKCkpcmV0dXJuO2NvbnN0IGk9dGhpcy5GYSgpO2lmKCF0aGlzLnZhLmhhcyhpKSlyZXR1cm47Y29uc3Qgcz0iQ3VzdG9tIj09PXRoaXMud2EsZT1zJiZ0aGlzLm1hfHx2b2lkIDAsaD1zJiZ0aGlzLlloLldhP3Q9Pntjb25zdCBpPXQscz10aGlzLlloLldhKGkpO3JldHVybiBBcnJheS5pc0FycmF5KHMpP3M6WyJudW1iZXIiPT10eXBlb2Ygcz9zOjBdfTp2b2lkIDAsbj10aGlzLnBhLlJyKHRoaXMucXQuQmgoKSx0LGksZSxzLGgpLHI9THQoKTtyLmh0KG4pLHRoaXMudmEuc2V0KGkscil9SGEoKXtjb25zdCB0PXRoaXMuUXQoKS5FdCgpLk4oKS5lbmFibGVDb25mbGF0aW9uO2lmKCJDdXN0b20iPT09dGhpcy53YSYmbnVsbD09PXRoaXMubWEpcmV0dXJuIHRoaXMucXQ7aWYoIXQpcmV0dXJuIHRoaXMucXQ7Y29uc3QgaT10aGlzLkZhKCkscz10aGlzLnZhLmdldChpKTtyZXR1cm4gc3x8KHRoaXMuVWEoaSksdGhpcy52YS5nZXQoaSk/P3RoaXMucXQpfSRhKHQpe2NvbnN0IGk9dGhpcy5xdC5NaCh0KTtyZXR1cm4gbnVsbD09PWk/bnVsbDoiQmFyIj09PXRoaXMud2F8fCJDYW5kbGVzdGljayI9PT10aGlzLndhfHwiQ3VzdG9tIj09PXRoaXMud2E/e2pyOmkuV3RbMF0scXI6aS5XdFsxXSxZcjppLld0WzJdLEtyOmkuV3RbM119OmkuV3RbM119amEodCl7Y29uc3QgaT1bXTtadCh0aGlzLmZhLEh0LCJ0b3AiLGkpO2NvbnN0IHM9dGhpcy51YTtyZXR1cm4gbnVsbCE9PXMmJnMuSXQoKT8obnVsbD09PXRoaXMuZGEmJnMuVmUoKSYmKHRoaXMuZGE9c2V0VGltZW91dCgoKCk9Pnt0aGlzLmRhPW51bGwsdGhpcy5RdCgpLnFhKCl9KSwwKSkscy5JZSgpLGkudW5zaGlmdChzKSxpKTppfWpuKCl7Y29uc3QgdD1bXTt0aGlzLllhKCl8fHQucHVzaCh0aGlzLl9hKSx0LnB1c2godGhpcy5ZaCx0aGlzLmRyKTtjb25zdCBpPXRoaXMub2EubWFwKCh0PT50LndyKCkpKTtyZXR1cm4gdC5wdXNoKC4uLmkpLFp0KHRoaXMuZmEsSHQsIm5vcm1hbCIsdCksdH1LYSgpe3JldHVybiB0aGlzLlphKEh0LCJib3R0b20iKX1HYSh0KXtyZXR1cm4gdGhpcy5aYShHdCx0KX1YYSh0KXtyZXR1cm4gdGhpcy5aYShVdCx0KX1KYSh0LGkpewpyZXR1cm4gdGhpcy5mYS5tYXAoKHM9PnMuUXModCxpKSkpLmZpbHRlcigodD0+bnVsbCE9PXQpKX1jbigpe3JldHVyblt0aGlzLnByLC4uLnRoaXMub2EubWFwKCh0PT50Lk1yKCkpKV19cW4odCxpKXtpZihpIT09dGhpcy5obiYmIXRoaXMuWWEoKSlyZXR1cm5bXTtjb25zdCBzPVsuLi50aGlzLm1uXTtmb3IoY29uc3QgdCBvZiB0aGlzLm9hKXMucHVzaCh0LmdyKCkpO3JldHVybiB0aGlzLmZhLmZvckVhY2goKHQ9PntzLnB1c2goLi4udC5xbigpKX0pKSxzfWRuKCl7Y29uc3QgdD1bXTtyZXR1cm4gdGhpcy5mYS5mb3JFYWNoKChpPT57dC5wdXNoKC4uLmkuZG4oKSl9KSksdH1sYSh0LGkpe2lmKHZvaWQgMCE9PXRoaXMueW4uYXV0b3NjYWxlSW5mb1Byb3ZpZGVyKXtjb25zdCBzPXRoaXMueW4uYXV0b3NjYWxlSW5mb1Byb3ZpZGVyKCgoKT0+e2NvbnN0IHM9dGhpcy5RYSh0LGkpO3JldHVybiBudWxsPT09cz9udWxsOnMuc3IoKX0pKTtyZXR1cm4gYnQuZXIocyl9cmV0dXJuIHRoaXMuUWEodCxpKX1LaCgpe2NvbnN0IHQ9dGhpcy55bi5wcmljZUZvcm1hdDtyZXR1cm4gdC5iYXNlPz8xL3QubWluTW92ZX10bCgpe3JldHVybiB0aGlzLmlsfU5uKCl7dGhpcy5ZaC5rdCgpO2Zvcihjb25zdCB0IG9mIHRoaXMubW4pdC5rdCgpO2Zvcihjb25zdCB0IG9mIHRoaXMub2EpdC5rdCgpO3RoaXMuZHIua3QoKSx0aGlzLl9hLmt0KCksdGhpcy51YT8ua3QoKSx0aGlzLmZhLmZvckVhY2goKHQ9PnQuTm4oKSkpfUZ0KCl7cmV0dXJuIGYoc3VwZXIuRnQoKSl9QXQodCl7aWYoIkxpbmUiIT09dGhpcy53YSYmIkFyZWEiIT09dGhpcy53YSYmIkJhc2VsaW5lIiE9PXRoaXMud2F8fCF0aGlzLnluLmNyb3NzaGFpck1hcmtlclZpc2libGUpcmV0dXJuIG51bGw7Y29uc3QgaT10aGlzLnF0Lk1oKHQpO3JldHVybiBudWxsPT09aT9udWxsOntNdDppLld0WzNdLGZ0OnRoaXMubmwoKSxIdDp0aGlzLnNsKCksT3Q6dGhpcy5lbCgpLHp0OnRoaXMucmwodCl9fUhlKCl7cmV0dXJuIHRoaXMueW4udGl0bGV9SXQoKXtyZXR1cm4gdGhpcy55bi52aXNpYmxlfWhsKHQpe3RoaXMuZmEucHVzaChuZXcgQXQodCx0aGlzKSl9YWwodCl7dGhpcy5mYT10aGlzLmZhLmZpbHRlcigoaT0+aS5RaCgpIT09dCkpfWxsKCl7aWYoIkN1c3RvbSI9PT10aGlzLndhKXJldHVybiB0PT50aGlzLlloLldhKHQpfW9sKCl7aWYoIkN1c3RvbSI9PT10aGlzLndhKXJldHVybiB0PT50aGlzLlloLl9sKHQpfXVsKCl7cmV0dXJuIHRoaXMucXQuTGgoKX1ZYSgpe3JldHVybiFqKHRoaXMuRnQoKS5jbCgpKX1RYSh0LGkpe2lmKCF2KHQpfHwhdihpKXx8dGhpcy5xdC5HaSgpKXJldHVybiBudWxsO2NvbnN0IHM9IkxpbmUiPT09dGhpcy53YXx8IkFyZWEiPT09dGhpcy53YXx8IkJhc2VsaW5lIj09PXRoaXMud2F8fCJIaXN0b2dyYW0iPT09dGhpcy53YT9bM106WzIsMV0sZT10aGlzLnF0LkVoKHQsaSxzKTtsZXQgaD1udWxsIT09ZT9uZXcgdnQoZS5VaCxlLiRoKTpudWxsLG49bnVsbDtpZigiSGlzdG9ncmFtIj09PXRoaXMuYmgoKSl7Y29uc3QgdD10aGlzLnluLmJhc2UsaT1uZXcgdnQodCx0KTtoPW51bGwhPT1oP2guU3MoaSk6aX1yZXR1cm4gdGhpcy5mYS5mb3JFYWNoKChzPT57Y29uc3QgZT1zLmxhKHQsaSk7aWYoZT8ucHJpY2VSYW5nZSl7Y29uc3QgdD1uZXcgdnQoZS5wcmljZVJhbmdlLm1pblZhbHVlLGUucHJpY2VSYW5nZS5tYXhWYWx1ZSk7aD1udWxsIT09aD9oLlNzKHQpOnR9ZT8ubWFyZ2lucyYmKG49ZS5tYXJnaW5zKX0pKSxuZXcgYnQoaCxuKX1ubCgpe3N3aXRjaCh0aGlzLndhKXtjYXNlIkxpbmUiOmNhc2UiQXJlYSI6Y2FzZSJCYXNlbGluZSI6cmV0dXJuIHRoaXMueW4uY3Jvc3NoYWlyTWFya2VyUmFkaXVzfXJldHVybiAwfXNsKCl7c3dpdGNoKHRoaXMud2Epe2Nhc2UiTGluZSI6Y2FzZSJBcmVhIjpjYXNlIkJhc2VsaW5lIjp7Y29uc3QgdD10aGlzLnluLmNyb3NzaGFpck1hcmtlckJvcmRlckNvbG9yO2lmKDAhPT10Lmxlbmd0aClyZXR1cm4gdH19cmV0dXJuIG51bGx9ZWwoKXtzd2l0Y2godGhpcy53YSl7Y2FzZSJMaW5lIjpjYXNlIkFyZWEiOmNhc2UiQmFzZWxpbmUiOnJldHVybiB0aGlzLnluLmNyb3NzaGFpck1hcmtlckJvcmRlcldpZHRofXJldHVybiAwfXJsKHQpe3N3aXRjaCh0aGlzLndhKXtjYXNlIkxpbmUiOmNhc2UiQXJlYSI6Y2FzZSJCYXNlbGluZSI6e2NvbnN0IHQ9dGhpcy55bi5jcm9zc2hhaXJNYXJrZXJCYWNrZ3JvdW5kQ29sb3I7aWYoMCE9PXQubGVuZ3RoKXJldHVybiB0fX1yZXR1cm4gdGhpcy5TYSgpLlNoKHQpLnNofU1hKCl7c3dpdGNoKHRoaXMueW4ucHJpY2VGb3JtYXQudHlwZSl7Y2FzZSJjdXN0b20iOntjb25zdCB0PXRoaXMueW4ucHJpY2VGb3JtYXQuZm9ybWF0dGVyO3RoaXMuaWw9e2Zvcm1hdDp0LGZvcm1hdFRpY2ttYXJrczp0aGlzLnluLnByaWNlRm9ybWF0LnRpY2ttYXJrc0Zvcm1hdHRlcj8/KGk9PmkubWFwKHQpKX07YnJlYWt9Y2FzZSJ2b2x1bWUiOnRoaXMuaWw9bmV3IGV0KHRoaXMueW4ucHJpY2VGb3JtYXQucHJlY2lzaW9uKTticmVhaztjYXNlInBlcmNlbnQiOnRoaXMuaWw9bmV3IHN0KHRoaXMueW4ucHJpY2VGb3JtYXQucHJlY2lzaW9uKTticmVhaztkZWZhdWx0Ontjb25zdCB0PU1hdGgucG93KDEwLHRoaXMueW4ucHJpY2VGb3JtYXQucHJlY2lzaW9uKTt0aGlzLmlsPW5ldyBpdCh0LHRoaXMueW4ucHJpY2VGb3JtYXQubWluTW92ZSp0KX19bnVsbCE9PXRoaXMuaG4mJnRoaXMuaG4uZGwoKX1aYSh0LGkpe2NvbnN0IHM9W107cmV0dXJuIFp0KHRoaXMuZmEsdCxpLHMpLHN9RmEoKXtjb25zdHtmbDp0LHBsOmksdmw6c309dGhpcy5tbCgpO3JldHVybiB0aGlzLnBhLlNyKHQsaSxzKX1tbCgpe2NvbnN0IHQ9dGhpcy5RdCgpLkV0KCksaT10LmZsKCkscz13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MSxlPXQuTigpLmNvbmZsYXRpb25UaHJlc2hvbGRGYWN0b3I7cmV0dXJue2ZsOmkscGw6cyx2bDp0aGlzLnluLmNvbmZsYXRpb25UaHJlc2hvbGRGYWN0b3I/P2U/PzF9fXdsKHQpe2NvbnN0IGk9dGhpcy5xdC5CaCgpO2xldCBzO2lmKCJDdXN0b20iPT09dGhpcy53YSYmbnVsbCE9PXRoaXMubWEpewpjb25zdCBlPXRoaXMubGwoKTtpZighZSl0aHJvdyBuZXcgRXJyb3IoIkN1c3RvbSBzZXJpZXMgd2l0aCBjb25mbGF0aW9uIHJlZHVjZXIgbXVzdCBoYXZlIGEgcHJpY2VWYWx1ZUJ1aWxkZXIgbWV0aG9kIik7cz10aGlzLnBhLkNyKGksdCx0aGlzLm1hLCEwLCh0PT5lKHQpKSl9ZWxzZSBzPXRoaXMucGEuQ3IoaSx0KTtjb25zdCBlPUx0KCk7cmV0dXJuIGUuaHQocyksZX1VYSh0KXtjb25zdCBpPXRoaXMud2wodCk7dGhpcy52YS5zZXQodCxpKX1EYSh0KXtpZigiQ3VzdG9tIj09PXRoaXMud2EmJihudWxsPT09dGhpcy5tYXx8IXRoaXMubGwoKSkpcmV0dXJuO3RoaXMudmEuY2xlYXIoKTtjb25zdCBpPXRoaXMuUXQoKS5FdCgpLk1sKCk7Zm9yKGNvbnN0IHMgb2YgaSl7Y29uc3QgaT0oKT0+e3RoaXMuZ2wocyl9LGU9Im9iamVjdCI9PXR5cGVvZiB3aW5kb3cmJndpbmRvd3x8Im9iamVjdCI9PXR5cGVvZiBzZWxmJiZzZWxmO2U/LlNsPy5ibD9lLlNsLmJsKCgoKT0+e2koKX0pLHtzZTp0fSk6UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKCk9PmkoKSkpfX1nbCh0KXtpZih0aGlzLnZhLmhhcyh0KSlyZXR1cm47aWYoMD09PXRoaXMucXQuQmgoKS5sZW5ndGgpcmV0dXJuO2NvbnN0IGk9dGhpcy53bCh0KTt0aGlzLnZhLnNldCh0LGkpfX1jb25zdCBYdD1bM10sSnQ9WzAsMSwyLDNdO2NsYXNzIHRpe2NvbnN0cnVjdG9yKHQpe3RoaXMueW49dH14bCh0LGkscyl7bGV0IGU9dDtpZigwPT09dGhpcy55bi5tb2RlKXJldHVybiBlO2NvbnN0IGg9cy5QbigpLG49aC5MdCgpO2lmKG51bGw9PT1uKXJldHVybiBlO2NvbnN0IHI9aC5OdCh0LG4pLG89cy5DbCgpLmZpbHRlcigodD0+dCBpbnN0YW5jZW9mIGp0KSkucmVkdWNlKCgodCxlKT0+e2lmKHMuWnMoZSl8fCFlLkl0KCkpcmV0dXJuIHQ7Y29uc3QgaD1lLkZ0KCksbj1lLlVuKCk7aWYoaC5HaSgpfHwhbi56ZShpKSlyZXR1cm4gdDtjb25zdCByPW4uTWgoaSk7aWYobnVsbD09PXIpcmV0dXJuIHQ7Y29uc3Qgbz1kKGUuTHQoKSksbD0zPT09dGhpcy55bi5tb2RlP0p0Olh0O3JldHVybiB0LmNvbmNhdChsLm1hcCgodD0+aC5OdChyLld0W3RdLG8uV3QpKSkpfSksW10pO2lmKDA9PT1vLmxlbmd0aClyZXR1cm4gZTtvLnNvcnQoKCh0LGkpPT5NYXRoLmFicyh0LXIpLU1hdGguYWJzKGktcikpKTtjb25zdCBsPW9bMF07cmV0dXJuIGU9aC5UbihsLG4pLGV9fWZ1bmN0aW9uIGlpKHQsaSxzKXtyZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgodCxpKSxzKX1mdW5jdGlvbiBzaSh0LGkscyl7cmV0dXJuIGktdDw9c31jbGFzcyBlaSBleHRlbmRzIFJ7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMucXQ9bnVsbH1odCh0KXt0aGlzLnF0PXR9ZXQoe2NvbnRleHQ6dCxiaXRtYXBTaXplOmksaG9yaXpvbnRhbFBpeGVsUmF0aW86cyx2ZXJ0aWNhbFBpeGVsUmF0aW86ZX0pe2lmKG51bGw9PT10aGlzLnF0KXJldHVybjtjb25zdCBoPU1hdGgubWF4KDEsTWF0aC5mbG9vcihzKSk7dC5saW5lV2lkdGg9aCxmdW5jdGlvbih0LGkpe3Quc2F2ZSgpLHQubGluZVdpZHRoJTImJnQudHJhbnNsYXRlKC41LC41KSxpKCksdC5yZXN0b3JlKCl9KHQsKCgpPT57Y29uc3Qgbj1mKHRoaXMucXQpO2lmKG4ueWwpe3Quc3Ryb2tlU3R5bGU9bi5rbCxsKHQsbi5QbCksdC5iZWdpblBhdGgoKTtmb3IoY29uc3QgZSBvZiBuLlRsKXtjb25zdCBuPU1hdGgucm91bmQoZS5SbCpzKTt0Lm1vdmVUbyhuLC1oKSx0LmxpbmVUbyhuLGkuaGVpZ2h0K2gpfXQuc3Ryb2tlKCl9aWYobi5EbCl7dC5zdHJva2VTdHlsZT1uLklsLGwodCxuLlZsKSx0LmJlZ2luUGF0aCgpO2Zvcihjb25zdCBzIG9mIG4uQmwpe2NvbnN0IG49TWF0aC5yb3VuZChzLlJsKmUpO3QubW92ZVRvKC1oLG4pLHQubGluZVRvKGkud2lkdGgraCxuKX10LnN0cm9rZSgpfX0pKX19Y2xhc3MgaGl7Y29uc3RydWN0b3IodCl7dGhpcy5YdD1uZXcgZWksdGhpcy54dD0hMCx0aGlzLnl0PXR9a3QoKXt0aGlzLnh0PSEwfVR0KCl7aWYodGhpcy54dCl7Y29uc3QgdD10aGlzLnl0LlF0KCkuTigpLmdyaWQsaT17RGw6dC5ob3J6TGluZXMudmlzaWJsZSx5bDp0LnZlcnRMaW5lcy52aXNpYmxlLElsOnQuaG9yekxpbmVzLmNvbG9yLGtsOnQudmVydExpbmVzLmNvbG9yLFZsOnQuaG9yekxpbmVzLnN0eWxlLFBsOnQudmVydExpbmVzLnN0eWxlLEJsOnRoaXMueXQuUG4oKS5FbCgpLFRsOih0aGlzLnl0LlF0KCkuRXQoKS5FbCgpfHxbXSkubWFwKCh0PT4oe1JsOnQuY29vcmR9KSkpfTt0aGlzLlh0Lmh0KGkpLHRoaXMueHQ9ITF9cmV0dXJuIHRoaXMuWHR9fWNsYXNzIG5pe2NvbnN0cnVjdG9yKHQpe3RoaXMuWWg9bmV3IGhpKHQpfXdyKCl7cmV0dXJuIHRoaXMuWWh9fWNvbnN0IHJpPXtBbDo0LExsOjFlLTR9O2Z1bmN0aW9uIG9pKHQsaSl7Y29uc3Qgcz0xMDAqKHQtaSkvaTtyZXR1cm4gaTwwPy1zOnN9ZnVuY3Rpb24gbGkodCxpKXtjb25zdCBzPW9pKHQuSmUoKSxpKSxlPW9pKHQuUWUoKSxpKTtyZXR1cm4gbmV3IHZ0KHMsZSl9ZnVuY3Rpb24gYWkodCxpKXtjb25zdCBzPTEwMCoodC1pKS9pKzEwMDtyZXR1cm4gaTwwPy1zOnN9ZnVuY3Rpb24gdWkodCxpKXtjb25zdCBzPWFpKHQuSmUoKSxpKSxlPWFpKHQuUWUoKSxpKTtyZXR1cm4gbmV3IHZ0KHMsZSl9ZnVuY3Rpb24gY2kodCxpKXtjb25zdCBzPU1hdGguYWJzKHQpO2lmKHM8MWUtMTUpcmV0dXJuIDA7Y29uc3QgZT1NYXRoLmxvZzEwKHMraS5MbCkraS5BbDtyZXR1cm4gdDwwPy1lOmV9ZnVuY3Rpb24gZmkodCxpKXtjb25zdCBzPU1hdGguYWJzKHQpO2lmKHM8MWUtMTUpcmV0dXJuIDA7Y29uc3QgZT1NYXRoLnBvdygxMCxzLWkuQWwpLWkuTGw7cmV0dXJuIHQ8MD8tZTplfWZ1bmN0aW9uIGRpKHQsaSl7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3Qgcz1jaSh0LkplKCksaSksZT1jaSh0LlFlKCksaSk7cmV0dXJuIG5ldyB2dChzLGUpfWZ1bmN0aW9uIG1pKHQsaSl7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3Qgcz1maSh0LkplKCksaSksZT1maSh0LlFlKCksaSk7cmV0dXJuIG5ldyB2dChzLGUpfWZ1bmN0aW9uIHBpKHQpe2lmKG51bGw9PT10KXJldHVybiByaQo7Y29uc3QgaT1NYXRoLmFicyh0LlFlKCktdC5KZSgpKTtpZihpPj0xfHxpPDFlLTE1KXJldHVybiByaTtjb25zdCBzPU1hdGguY2VpbChNYXRoLmFicyhNYXRoLmxvZzEwKGkpKSksZT1yaS5BbCtzO3JldHVybntBbDplLExsOjEvTWF0aC5wb3coMTAsZSl9fWNsYXNzIGdpe2NvbnN0cnVjdG9yKHQsaSl7aWYodGhpcy56bD10LHRoaXMuT2w9aSxmdW5jdGlvbih0KXtpZih0PDApcmV0dXJuITE7aWYodD4xZTE4KXJldHVybiEwO2ZvcihsZXQgaT10O2k+MTtpLz0xMClpZihpJTEwIT0wKXJldHVybiExO3JldHVybiEwfSh0aGlzLnpsKSl0aGlzLk5sPVsyLDIuNSwyXTtlbHNle3RoaXMuTmw9W107Zm9yKGxldCB0PXRoaXMuemw7MSE9PXQ7KXtpZih0JTI9PTApdGhpcy5ObC5wdXNoKDIpLHQvPTI7ZWxzZXtpZih0JTUhPTApdGhyb3cgbmV3IEVycm9yKCJ1bmV4cGVjdGVkIGJhc2UiKTt0aGlzLk5sLnB1c2goMiwyLjUpLHQvPTV9aWYodGhpcy5ObC5sZW5ndGg+MTAwKXRocm93IG5ldyBFcnJvcigic29tZXRoaW5nIHdyb25nIHdpdGggYmFzZSIpfX19RmwodCxpLHMpe2NvbnN0IGU9MD09PXRoaXMuemw/MDoxL3RoaXMuemw7bGV0IGg9TWF0aC5wb3coMTAsTWF0aC5tYXgoMCxNYXRoLmNlaWwoTWF0aC5sb2cxMCh0LWkpKSkpLG49MCxyPXRoaXMuT2xbMF07Zm9yKDs7KXtjb25zdCB0PXNpKGgsZSwxZS0xNCkmJmg+ZSsxZS0xNCxpPXNpKGgscypyLDFlLTE0KSxvPXNpKGgsMSwxZS0xNCk7aWYoISh0JiZpJiZvKSlicmVhaztoLz1yLHI9dGhpcy5PbFsrK24ldGhpcy5PbC5sZW5ndGhdfWlmKGg8PWUrMWUtMTQmJihoPWUpLGg9TWF0aC5tYXgoMSxoKSx0aGlzLk5sLmxlbmd0aD4wJiYobz1oLE1hdGguYWJzKG8tMSk8MWUtMTQpKWZvcihuPTAscj10aGlzLk5sWzBdO3NpKGgscypyLDFlLTE0KSYmaD5lKzFlLTE0OyloLz1yLHI9dGhpcy5ObFsrK24ldGhpcy5ObC5sZW5ndGhdO3ZhciBvO3JldHVybiBofX1jbGFzcyB2aXtjb25zdHJ1Y3Rvcih0LGkscyxlKXt0aGlzLldsPVtdLHRoaXMuS2k9dCx0aGlzLnpsPWksdGhpcy5IbD1zLHRoaXMuVWw9ZX1GbCh0LGkpe2lmKHQ8aSl0aHJvdyBuZXcgRXJyb3IoImhpZ2ggPCBsb3ciKTtjb25zdCBzPXRoaXMuS2kuJHQoKSxlPSh0LWkpKnRoaXMuJGwoKS9zLGg9bmV3IGdpKHRoaXMuemwsWzIsMi41LDJdKSxuPW5ldyBnaSh0aGlzLnpsLFsyLDIsMi41XSkscj1uZXcgZ2kodGhpcy56bCxbMi41LDIsMl0pLG89W107cmV0dXJuIG8ucHVzaChoLkZsKHQsaSxlKSxuLkZsKHQsaSxlKSxyLkZsKHQsaSxlKSksZnVuY3Rpb24odCl7aWYodC5sZW5ndGg8MSl0aHJvdyBFcnJvcigiYXJyYXkgaXMgZW1wdHkiKTtsZXQgaT10WzBdO2ZvcihsZXQgcz0xO3M8dC5sZW5ndGg7KytzKXRbc108aSYmKGk9dFtzXSk7cmV0dXJuIGl9KG8pfWpsKCl7Y29uc3QgdD10aGlzLktpLGk9dC5MdCgpO2lmKG51bGw9PT1pKXJldHVybiB2b2lkKHRoaXMuV2w9W10pO2NvbnN0IHM9dC4kdCgpLGU9dGhpcy5IbChzLTEsaSksaD10aGlzLkhsKDAsaSksbj10aGlzLktpLk4oKS5lbnRpcmVUZXh0T25seT90aGlzLnFsKCkvMjowLHI9bixvPXMtMS1uLGw9TWF0aC5tYXgoZSxoKSxhPU1hdGgubWluKGUsaCk7aWYobD09PWEpcmV0dXJuIHZvaWQodGhpcy5XbD1bXSk7Y29uc3QgdT10aGlzLkZsKGwsYSk7aWYodGhpcy5ZbChpLHUsbCxhLHIsbyksdC5LbCgpJiZ0aGlzLlpsKHUsYSxsKSl7Y29uc3QgdD10aGlzLktpLkdsKCk7dGhpcy5YbChpLHUscixvLHQsMip0KX1jb25zdCBjPXRoaXMuV2wubWFwKCh0PT50LkpsKSksZj10aGlzLktpLlFsKGMpO2ZvcihsZXQgdD0wO3Q8dGhpcy5XbC5sZW5ndGg7dCsrKXRoaXMuV2xbdF0uaW89Zlt0XX1FbCgpe3JldHVybiB0aGlzLldsfXFsKCl7cmV0dXJuIHRoaXMuS2kuaygpfSRsKCl7cmV0dXJuIE1hdGguY2VpbCh0aGlzLnFsKCkqdGhpcy5LaS5OKCkudGlja01hcmtEZW5zaXR5KX1ZbCh0LGkscyxlLGgsbil7Y29uc3Qgcj10aGlzLldsLG89dGhpcy5LaTtsZXQgbD1zJWk7bCs9bDwwP2k6MDtjb25zdCBhPXM+PWU/MTotMTtsZXQgdT1udWxsLGM9MDtmb3IobGV0IGY9cy1sO2Y+ZTtmLT1pKXtjb25zdCBzPXRoaXMuVWwoZix0LCEwKTtudWxsIT09dSYmTWF0aC5hYnMocy11KTx0aGlzLiRsKCl8fHM8aHx8cz5ufHwoYzxyLmxlbmd0aD8ocltjXS5SbD1zLHJbY10uaW89by5ubyhmKSxyW2NdLkpsPWYpOnIucHVzaCh7Umw6cyxpbzpvLm5vKGYpLEpsOmZ9KSxjKyssdT1zLG8uc28oKSYmKGk9dGhpcy5GbChmKmEsZSkpKX1yLmxlbmd0aD1jfVhsKHQsaSxzLGUsaCxuKXtjb25zdCByPXRoaXMuV2wsbz10aGlzLmVvKHQscyxoLG4pLGw9dGhpcy5lbyh0LGUsLW4sLWgpLGE9dGhpcy5VbCgwLHQsITApLXRoaXMuVWwoaSx0LCEwKTtyLmxlbmd0aD4wJiZyWzBdLlJsLW8uUmw8YS8yJiZyLnNoaWZ0KCksci5sZW5ndGg+MCYmbC5SbC1yW3IubGVuZ3RoLTFdLlJsPGEvMiYmci5wb3AoKSxyLnVuc2hpZnQobyksci5wdXNoKGwpfWVvKHQsaSxzLGUpe2NvbnN0IGg9KHMrZSkvMixuPXRoaXMuSGwoaStzLHQpLHI9dGhpcy5IbChpK2UsdCksbz1NYXRoLm1pbihuLHIpLGw9TWF0aC5tYXgobixyKSxhPU1hdGgubWF4KC4xLHRoaXMuRmwobCxvKSksdT10aGlzLkhsKGkraCx0KSxjPXUtdSVhLGY9dGhpcy5VbChjLHQsITApO3JldHVybntpbzp0aGlzLktpLm5vKGMpLFJsOmYsSmw6Y319WmwodCxpLHMpe2xldCBlPWQodGhpcy5LaS5hcigpKTtyZXR1cm4gdGhpcy5LaS5zbygpJiYoZT1taShlLHRoaXMuS2kucm8oKSkpLGUuSmUoKS1pPHQmJnMtZS5RZSgpPHR9fWZ1bmN0aW9uIGJpKHQpe3JldHVybiB0LnNsaWNlKCkuc29ydCgoKHQsaSk9PmYodC5sbigpKS1mKGkubG4oKSkpKX12YXIgd2k7IWZ1bmN0aW9uKHQpe3RbdC5Ob3JtYWw9MF09Ik5vcm1hbCIsdFt0LkxvZ2FyaXRobWljPTFdPSJMb2dhcml0aG1pYyIsdFt0LlBlcmNlbnRhZ2U9Ml09IlBlcmNlbnRhZ2UiLHRbdC5JbmRleGVkVG8xMDA9M109IkluZGV4ZWRUbzEwMCJ9KHdpfHwod2k9e30pKTtjb25zdCBNaT1uZXcgc3QseWk9bmV3IGl0KDEwMCwxKTtjbGFzcyBTaXtjb25zdHJ1Y3Rvcih0LGkscyxlLGgpewp0aGlzLmhvPTAsdGhpcy5hbz1udWxsLHRoaXMucnI9bnVsbCx0aGlzLmxvPW51bGwsdGhpcy5vbz17X286ITEsdW86bnVsbH0sdGhpcy5jbz0hMSx0aGlzLmRvPTAsdGhpcy5mbz0wLHRoaXMucG89bmV3IG0sdGhpcy52bz1uZXcgbSx0aGlzLm1vPVtdLHRoaXMud289bnVsbCx0aGlzLk1vPW51bGwsdGhpcy5ibz1udWxsLHRoaXMuU289bnVsbCx0aGlzLnhvPW51bGwsdGhpcy5pbD15aSx0aGlzLkNvPXBpKG51bGwpLHRoaXMueW89dCx0aGlzLnluPWksdGhpcy5rbz1zLHRoaXMuUG89ZSx0aGlzLlRvPWgsdGhpcy5Sbz1uZXcgdmkodGhpcywxMDAsdGhpcy5Eby5iaW5kKHRoaXMpLHRoaXMuSW8uYmluZCh0aGlzKSl9Y2woKXtyZXR1cm4gdGhpcy55b31OKCl7cmV0dXJuIHRoaXMueW59dnIodCl7aWYocCh0aGlzLnluLHQpLHRoaXMuZGwoKSx2b2lkIDAhPT10Lm1vZGUmJnRoaXMuVm8oe19lOnQubW9kZX0pLHZvaWQgMCE9PXQuc2NhbGVNYXJnaW5zKXtjb25zdCBpPWModC5zY2FsZU1hcmdpbnMudG9wKSxzPWModC5zY2FsZU1hcmdpbnMuYm90dG9tKTtpZihpPDB8fGk+MSl0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdG9wIG1hcmdpbiAtIGV4cGVjdCB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDEsIGdpdmVuPSR7aX1gKTtpZihzPDB8fHM+MSl0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYm90dG9tIG1hcmdpbiAtIGV4cGVjdCB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDEsIGdpdmVuPSR7c31gKTtpZihpK3M+MSl0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbWFyZ2lucyAtIHN1bSBvZiBtYXJnaW5zIG11c3QgYmUgbGVzcyB0aGFuIDEsIGdpdmVuPSR7aStzfWApO3RoaXMuQm8oKSx0aGlzLmJvPW51bGx9fUVvKCl7cmV0dXJuIHRoaXMueW4uYXV0b1NjYWxlfUFvKCl7cmV0dXJuIHRoaXMuY299c28oKXtyZXR1cm4gMT09PXRoaXMueW4ubW9kZX1qZSgpe3JldHVybiAyPT09dGhpcy55bi5tb2RlfUxvKCl7cmV0dXJuIDM9PT10aGlzLnluLm1vZGV9cm8oKXtyZXR1cm4gdGhpcy5Db31fZSgpe3JldHVybntoczp0aGlzLnluLmF1dG9TY2FsZSx6bzp0aGlzLnluLmludmVydFNjYWxlLF9lOnRoaXMueW4ubW9kZX19Vm8odCl7Y29uc3QgaT10aGlzLl9lKCk7bGV0IHM9bnVsbDt2b2lkIDAhPT10LmhzJiYodGhpcy55bi5hdXRvU2NhbGU9dC5ocyksdm9pZCAwIT09dC5fZSYmKHRoaXMueW4ubW9kZT10Ll9lLDIhPT10Ll9lJiYzIT09dC5fZXx8KHRoaXMueW4uYXV0b1NjYWxlPSEwKSx0aGlzLm9vLl9vPSExKSwxPT09aS5fZSYmdC5fZSE9PWkuX2UmJihmdW5jdGlvbih0LGkpe2lmKG51bGw9PT10KXJldHVybiExO2NvbnN0IHM9ZmkodC5KZSgpLGkpLGU9ZmkodC5RZSgpLGkpO3JldHVybiBpc0Zpbml0ZShzKSYmaXNGaW5pdGUoZSl9KHRoaXMucnIsdGhpcy5Dbyk/KHM9bWkodGhpcy5ycix0aGlzLkNvKSxudWxsIT09cyYmdGhpcy5PbyhzKSk6dGhpcy55bi5hdXRvU2NhbGU9ITApLDE9PT10Ll9lJiZ0Ll9lIT09aS5fZSYmKHM9ZGkodGhpcy5ycix0aGlzLkNvKSxudWxsIT09cyYmdGhpcy5PbyhzKSk7Y29uc3QgZT1pLl9lIT09dGhpcy55bi5tb2RlO2UmJigyPT09aS5fZXx8dGhpcy5qZSgpKSYmdGhpcy5kbCgpLGUmJigzPT09aS5fZXx8dGhpcy5MbygpKSYmdGhpcy5kbCgpLHZvaWQgMCE9PXQuem8mJmkuem8hPT10LnpvJiYodGhpcy55bi5pbnZlcnRTY2FsZT10LnpvLHRoaXMuTm8oKSksdGhpcy52by5wKGksdGhpcy5fZSgpKX1Gbygpe3JldHVybiB0aGlzLnZvfWsoKXtyZXR1cm4gdGhpcy5rby5mb250U2l6ZX0kdCgpe3JldHVybiB0aGlzLmhvfVdvKHQpe3RoaXMuaG8hPT10JiYodGhpcy5obz10LHRoaXMuQm8oKSx0aGlzLmJvPW51bGwpfUhvKCl7aWYodGhpcy5hbylyZXR1cm4gdGhpcy5hbztjb25zdCB0PXRoaXMuJHQoKS10aGlzLlVvKCktdGhpcy4kbygpO3JldHVybiB0aGlzLmFvPXQsdH1hcigpe3JldHVybiB0aGlzLmpvKCksdGhpcy5ycn1Pbyh0LGkpe2NvbnN0IHM9dGhpcy5ycjsoaXx8bnVsbD09PXMmJm51bGwhPT10fHxudWxsIT09cyYmIXMuR2UodCkpJiYodGhpcy5ibz1udWxsLHRoaXMucnI9dCl9cW8odCl7dGhpcy5Pbyh0KSx0aGlzLllvKG51bGwhPT10KX1HaSgpe3JldHVybiB0aGlzLmpvKCksMD09PXRoaXMuaG98fCF0aGlzLnJyfHx0aGlzLnJyLkdpKCl9S28odCl7cmV0dXJuIHRoaXMuem8oKT90OnRoaXMuJHQoKS0xLXR9TnQodCxpKXtyZXR1cm4gdGhpcy5qZSgpP3Q9b2kodCxpKTp0aGlzLkxvKCkmJih0PWFpKHQsaSkpLHRoaXMuSW8odCxpKX1abyh0LGkscyl7dGhpcy5qbygpO2NvbnN0IGU9dGhpcy4kbygpLGg9Zih0aGlzLmFyKCkpLG49aC5KZSgpLHI9aC5RZSgpLG89dGhpcy5IbygpLTEsbD10aGlzLnpvKCksYT1vLyhyLW4pLHU9dm9pZCAwPT09cz8wOnMuZnJvbSxjPXZvaWQgMD09PXM/dC5sZW5ndGg6cy50byxkPXRoaXMuR28oKTtmb3IobGV0IHM9dTtzPGM7cysrKXtjb25zdCBoPXRbc10scj1oLk10O2lmKGlzTmFOKHIpKWNvbnRpbnVlO2xldCBvPXI7bnVsbCE9PWQmJihvPWQoaC5NdCxpKSk7Y29uc3QgdT1lK2EqKG8tbiksYz1sP3U6dGhpcy5oby0xLXU7aC51dD1jfX1Ybyh0LGkscyl7dGhpcy5qbygpO2NvbnN0IGU9dGhpcy4kbygpLGg9Zih0aGlzLmFyKCkpLG49aC5KZSgpLHI9aC5RZSgpLG89dGhpcy5IbygpLTEsbD10aGlzLnpvKCksYT1vLyhyLW4pLHU9dm9pZCAwPT09cz8wOnMuZnJvbSxjPXZvaWQgMD09PXM/dC5sZW5ndGg6cy50byxkPXRoaXMuR28oKTtmb3IobGV0IHM9dTtzPGM7cysrKXtjb25zdCBoPXRbc107bGV0IHI9aC5qcixvPWgucXIsdT1oLllyLGM9aC5LcjtudWxsIT09ZCYmKHI9ZChoLmpyLGkpLG89ZChoLnFyLGkpLHU9ZChoLllyLGkpLGM9ZChoLktyLGkpKTtsZXQgZj1lK2EqKHItbiksbT1sP2Y6dGhpcy5oby0xLWY7aC5Kbz1tLGY9ZSthKihvLW4pLG09bD9mOnRoaXMuaG8tMS1mLGguUW89bSxmPWUrYSoodS1uKSxtPWw/Zjp0aGlzLmhvLTEtZixoLnRfPW0sZj1lK2EqKGMtbiksbT1sP2Y6dGhpcy5oby0xLWYsaC5pXz1tfX1Ubih0LGkpe2NvbnN0IHM9dGhpcy5Ebyh0LGkpO3JldHVybiB0aGlzLm5fKHMsaSl9bl8odCxpKXtsZXQgcz10CjtyZXR1cm4gdGhpcy5qZSgpP3M9ZnVuY3Rpb24odCxpKXtyZXR1cm4gaTwwJiYodD0tdCksdC8xMDAqaStpfShzLGkpOnRoaXMuTG8oKSYmKHM9ZnVuY3Rpb24odCxpKXtyZXR1cm4gdC09MTAwLGk8MCYmKHQ9LXQpLHQvMTAwKmkraX0ocyxpKSksc31DbCgpe3JldHVybiB0aGlzLm1vfUR0KCl7cmV0dXJuIHRoaXMuTW98fCh0aGlzLk1vPWJpKHRoaXMubW8pKSx0aGlzLk1vfXNfKHQpey0xPT09dGhpcy5tby5pbmRleE9mKHQpJiYodGhpcy5tby5wdXNoKHQpLHRoaXMuZGwoKSx0aGlzLmVfKCkpfXJfKHQpe2NvbnN0IGk9dGhpcy5tby5pbmRleE9mKHQpO2lmKC0xPT09aSl0aHJvdyBuZXcgRXJyb3IoInNvdXJjZSBpcyBub3QgYXR0YWNoZWQgdG8gc2NhbGUiKTt0aGlzLm1vLnNwbGljZShpLDEpLDA9PT10aGlzLm1vLmxlbmd0aCYmKHRoaXMuVm8oe2hzOiEwfSksdGhpcy5PbyhudWxsKSksdGhpcy5kbCgpLHRoaXMuZV8oKX1MdCgpe2xldCB0PW51bGw7Zm9yKGNvbnN0IGkgb2YgdGhpcy5tbyl7Y29uc3Qgcz1pLkx0KCk7bnVsbCE9PXMmJihudWxsPT09dHx8cy56YTx0LnphKSYmKHQ9cyl9cmV0dXJuIG51bGw9PT10P251bGw6dC5XdH16bygpe3JldHVybiB0aGlzLnluLmludmVydFNjYWxlfUVsKCl7Y29uc3QgdD1udWxsPT09dGhpcy5MdCgpO2lmKG51bGwhPT10aGlzLmJvJiYodHx8dGhpcy5iby5oXz09PXQpKXJldHVybiB0aGlzLmJvLkVsO3RoaXMuUm8uamwoKTtjb25zdCBpPXRoaXMuUm8uRWwoKTtyZXR1cm4gdGhpcy5ibz17RWw6aSxoXzp0fSx0aGlzLnBvLnAoKSxpfWFfKCl7cmV0dXJuIHRoaXMucG99bF8odCl7dGhpcy5qZSgpfHx0aGlzLkxvKCl8fG51bGw9PT10aGlzLlNvJiZudWxsPT09dGhpcy5sbyYmKHRoaXMuR2koKXx8KHRoaXMuU289dGhpcy5oby10LHRoaXMubG89Zih0aGlzLmFyKCkpLlhlKCkpKX1vXyh0KXtpZih0aGlzLmplKCl8fHRoaXMuTG8oKSlyZXR1cm47aWYobnVsbD09PXRoaXMuU28pcmV0dXJuO3RoaXMuVm8oe2hzOiExfSksKHQ9dGhpcy5oby10KTwwJiYodD0wKTtsZXQgaT0odGhpcy5TbysuMioodGhpcy5oby0xKSkvKHQrLjIqKHRoaXMuaG8tMSkpO2NvbnN0IHM9Zih0aGlzLmxvKS5YZSgpO2k9TWF0aC5tYXgoaSwuMSkscy5pcihpKSx0aGlzLk9vKHMpfV9fKCl7dGhpcy5qZSgpfHx0aGlzLkxvKCl8fCh0aGlzLlNvPW51bGwsdGhpcy5sbz1udWxsKX11Xyh0KXt0aGlzLkVvKCl8fG51bGw9PT10aGlzLnhvJiZudWxsPT09dGhpcy5sbyYmKHRoaXMuR2koKXx8KHRoaXMueG89dCx0aGlzLmxvPWYodGhpcy5hcigpKS5YZSgpKSl9Y18odCl7aWYodGhpcy5FbygpKXJldHVybjtpZihudWxsPT09dGhpcy54bylyZXR1cm47Y29uc3QgaT1mKHRoaXMuYXIoKSkudHIoKS8odGhpcy5IbygpLTEpO2xldCBzPXQtdGhpcy54bzt0aGlzLnpvKCkmJihzKj0tMSk7Y29uc3QgZT1zKmksaD1mKHRoaXMubG8pLlhlKCk7aC5ucihlKSx0aGlzLk9vKGgsITApLHRoaXMuYm89bnVsbH1kXygpe3RoaXMuRW8oKXx8bnVsbCE9PXRoaXMueG8mJih0aGlzLnhvPW51bGwsdGhpcy5sbz1udWxsKX10bCgpe3JldHVybiB0aGlzLmlsfHx0aGlzLmRsKCksdGhpcy5pbH1KaSh0LGkpe3N3aXRjaCh0aGlzLnluLm1vZGUpe2Nhc2UgMjpyZXR1cm4gdGhpcy5mXyhvaSh0LGkpKTtjYXNlIDM6cmV0dXJuIHRoaXMudGwoKS5mb3JtYXQoYWkodCxpKSk7ZGVmYXVsdDpyZXR1cm4gdGhpcy5jcih0KX19bm8odCl7c3dpdGNoKHRoaXMueW4ubW9kZSl7Y2FzZSAyOnJldHVybiB0aGlzLmZfKHQpO2Nhc2UgMzpyZXR1cm4gdGhpcy50bCgpLmZvcm1hdCh0KTtkZWZhdWx0OnJldHVybiB0aGlzLmNyKHQpfX1RbCh0KXtzd2l0Y2godGhpcy55bi5tb2RlKXtjYXNlIDI6cmV0dXJuIHRoaXMucF8odCk7Y2FzZSAzOnJldHVybiB0aGlzLnRsKCkuZm9ybWF0VGlja21hcmtzKHQpO2RlZmF1bHQ6cmV0dXJuIHRoaXMudl8odCl9fXhhKHQpe3JldHVybiB0aGlzLmNyKHQsZih0aGlzLndvKS50bCgpKX1DYSh0LGkpe3JldHVybiB0PW9pKHQsaSksdGhpcy5mXyh0LE1pKX1tXygpe3JldHVybiB0aGlzLm1vfXdfKHQpe3RoaXMub289e3VvOnQsX286ITF9fU5uKCl7dGhpcy5tby5mb3JFYWNoKCh0PT50Lk5uKCkpKX1LbCgpe3JldHVybiB0aGlzLnluLmVuc3VyZUVkZ2VUaWNrTWFya3NWaXNpYmxlJiZ0aGlzLkVvKCl9R2woKXtyZXR1cm4gdGhpcy5rKCkvMn1kbCgpe3RoaXMuYm89bnVsbDtsZXQgdD0xLzA7dGhpcy53bz1udWxsO2Zvcihjb25zdCBpIG9mIHRoaXMubW8paS5sbigpPHQmJih0PWkubG4oKSx0aGlzLndvPWkpO2xldCBpPTEwMDtudWxsIT09dGhpcy53byYmKGk9TWF0aC5yb3VuZCh0aGlzLndvLktoKCkpKSx0aGlzLmlsPXlpLHRoaXMuamUoKT8odGhpcy5pbD1NaSxpPTEwMCk6dGhpcy5MbygpPyh0aGlzLmlsPW5ldyBpdCgxMDAsMSksaT0xMDApOm51bGwhPT10aGlzLndvJiYodGhpcy5pbD10aGlzLndvLnRsKCkpLHRoaXMuUm89bmV3IHZpKHRoaXMsaSx0aGlzLkRvLmJpbmQodGhpcyksdGhpcy5Jby5iaW5kKHRoaXMpKSx0aGlzLlJvLmpsKCl9ZV8oKXt0aGlzLk1vPW51bGx9TV8oKXtyZXR1cm4gbnVsbD09PXRoaXMud298fHRoaXMuamUoKXx8dGhpcy5MbygpPzE6MS90aGlzLndvLktoKCl9WGkoKXtyZXR1cm4gdGhpcy5Ub31Zbyh0KXt0aGlzLmNvPXR9VW8oKXtyZXR1cm4gdGhpcy56bygpP3RoaXMueW4uc2NhbGVNYXJnaW5zLmJvdHRvbSp0aGlzLiR0KCkrdGhpcy5mbzp0aGlzLnluLnNjYWxlTWFyZ2lucy50b3AqdGhpcy4kdCgpK3RoaXMuZG99JG8oKXtyZXR1cm4gdGhpcy56bygpP3RoaXMueW4uc2NhbGVNYXJnaW5zLnRvcCp0aGlzLiR0KCkrdGhpcy5kbzp0aGlzLnluLnNjYWxlTWFyZ2lucy5ib3R0b20qdGhpcy4kdCgpK3RoaXMuZm99am8oKXt0aGlzLm9vLl9vfHwodGhpcy5vby5fbz0hMCx0aGlzLmdfKCkpfUJvKCl7dGhpcy5hbz1udWxsfUlvKHQsaSl7aWYodGhpcy5qbygpLHRoaXMuR2koKSlyZXR1cm4gMDt0PXRoaXMuc28oKSYmdD9jaSh0LHRoaXMuQ28pOnQ7Y29uc3Qgcz1mKHRoaXMuYXIoKSksZT10aGlzLiRvKCkrKHRoaXMuSG8oKS0xKSoodC1zLkplKCkpL3MudHIoKQo7cmV0dXJuIHRoaXMuS28oZSl9RG8odCxpKXtpZih0aGlzLmpvKCksdGhpcy5HaSgpKXJldHVybiAwO2NvbnN0IHM9dGhpcy5Lbyh0KSxlPWYodGhpcy5hcigpKSxoPWUuSmUoKStlLnRyKCkqKChzLXRoaXMuJG8oKSkvKHRoaXMuSG8oKS0xKSk7cmV0dXJuIHRoaXMuc28oKT9maShoLHRoaXMuQ28pOmh9Tm8oKXt0aGlzLmJvPW51bGwsdGhpcy5Sby5qbCgpfWdfKCl7aWYodGhpcy5BbygpJiYhdGhpcy5FbygpKXJldHVybjtjb25zdCB0PXRoaXMub28udW87aWYobnVsbD09PXQpcmV0dXJuO2xldCBpPW51bGw7Y29uc3Qgcz10aGlzLm1fKCk7bGV0IGU9MCxoPTA7Zm9yKGNvbnN0IG4gb2Ygcyl7aWYoIW4uSXQoKSljb250aW51ZTtjb25zdCBzPW4uTHQoKTtpZihudWxsPT09cyljb250aW51ZTtjb25zdCByPW4ubGEodC5PYSgpLHQuYmkoKSk7bGV0IG89ciYmci5hcigpO2lmKG51bGwhPT1vKXtzd2l0Y2godGhpcy55bi5tb2RlKXtjYXNlIDE6bz1kaShvLHRoaXMuQ28pO2JyZWFrO2Nhc2UgMjpvPWxpKG8scy5XdCk7YnJlYWs7Y2FzZSAzOm89dWkobyxzLld0KX1pZihpPW51bGw9PT1pP286aS5TcyhmKG8pKSxudWxsIT09cil7Y29uc3QgdD1yLmxyKCk7bnVsbCE9PXQmJihlPU1hdGgubWF4KGUsdC5hYm92ZSksaD1NYXRoLm1heChoLHQuYmVsb3cpKX19fWlmKHRoaXMuS2woKSYmKGU9TWF0aC5tYXgoZSx0aGlzLkdsKCkpLGg9TWF0aC5tYXgoaCx0aGlzLkdsKCkpKSxlPT09dGhpcy5kbyYmaD09PXRoaXMuZm98fCh0aGlzLmRvPWUsdGhpcy5mbz1oLHRoaXMuYm89bnVsbCx0aGlzLkJvKCkpLG51bGwhPT1pKXtpZihpLkplKCk9PT1pLlFlKCkpe2NvbnN0IHQ9NSp0aGlzLk1fKCk7dGhpcy5zbygpJiYoaT1taShpLHRoaXMuQ28pKSxpPW5ldyB2dChpLkplKCktdCxpLlFlKCkrdCksdGhpcy5zbygpJiYoaT1kaShpLHRoaXMuQ28pKX1pZih0aGlzLnNvKCkpe2NvbnN0IHQ9bWkoaSx0aGlzLkNvKSxzPXBpKHQpO2lmKG49cyxyPXRoaXMuQ28sbi5BbCE9PXIuQWx8fG4uTGwhPT1yLkxsKXtjb25zdCBlPW51bGwhPT10aGlzLmxvP21pKHRoaXMubG8sdGhpcy5Dbyk6bnVsbDt0aGlzLkNvPXMsaT1kaSh0LHMpLG51bGwhPT1lJiYodGhpcy5sbz1kaShlLHMpKX19dGhpcy5PbyhpKX1lbHNlIG51bGw9PT10aGlzLnJyJiYodGhpcy5PbyhuZXcgdnQoLS41LC41KSksdGhpcy5Dbz1waShudWxsKSk7dmFyIG4scn1Hbygpe3JldHVybiB0aGlzLmplKCk/b2k6dGhpcy5MbygpP2FpOnRoaXMuc28oKT90PT5jaSh0LHRoaXMuQ28pOm51bGx9Yl8odCxpLHMpe3JldHVybiB2b2lkIDA9PT1pPyh2b2lkIDA9PT1zJiYocz10aGlzLnRsKCkpLHMuZm9ybWF0KHQpKTppKHQpfVNfKHQsaSxzKXtyZXR1cm4gdm9pZCAwPT09aT8odm9pZCAwPT09cyYmKHM9dGhpcy50bCgpKSxzLmZvcm1hdFRpY2ttYXJrcyh0KSk6aSh0KX1jcih0LGkpe3JldHVybiB0aGlzLmJfKHQsdGhpcy5Qby5wcmljZUZvcm1hdHRlcixpKX12Xyh0LGkpe2NvbnN0IHM9dGhpcy5Qby5wcmljZUZvcm1hdHRlcjtyZXR1cm4gdGhpcy5TXyh0LHRoaXMuUG8udGlja21hcmtzUHJpY2VGb3JtYXR0ZXI/PyhzP3Q9PnQubWFwKHMpOnZvaWQgMCksaSl9Zl8odCxpKXtyZXR1cm4gdGhpcy5iXyh0LHRoaXMuUG8ucGVyY2VudGFnZUZvcm1hdHRlcixpKX1wXyh0LGkpe2NvbnN0IHM9dGhpcy5Qby5wZXJjZW50YWdlRm9ybWF0dGVyO3JldHVybiB0aGlzLlNfKHQsdGhpcy5Qby50aWNrbWFya3NQZXJjZW50YWdlRm9ybWF0dGVyPz8ocz90PT50Lm1hcChzKTp2b2lkIDApLGkpfX1mdW5jdGlvbiB4aSh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIGp0fWNsYXNzIF9pe2NvbnN0cnVjdG9yKHQsaSl7dGhpcy5tbz1bXSx0aGlzLnhfPW5ldyBNYXAsdGhpcy5obz0wLHRoaXMuQ189MCx0aGlzLnlfPTEsdGhpcy5Nbz1udWxsLHRoaXMua189bnVsbCx0aGlzLlBfPSExLHRoaXMuVF89bmV3IG0sdGhpcy5mYT1bXSx0aGlzLmlhPXQsdGhpcy5zbj1pLHRoaXMuUl89bmV3IG5pKHRoaXMpO2NvbnN0IHM9aS5OKCk7dGhpcy5EXz10aGlzLklfKCJsZWZ0IixzLmxlZnRQcmljZVNjYWxlKSx0aGlzLlZfPXRoaXMuSV8oInJpZ2h0IixzLnJpZ2h0UHJpY2VTY2FsZSksdGhpcy5EXy5GbygpLmkodGhpcy5CXy5iaW5kKHRoaXMsdGhpcy5EXyksdGhpcyksdGhpcy5WXy5GbygpLmkodGhpcy5CXy5iaW5kKHRoaXMsdGhpcy5WXyksdGhpcyksdGhpcy5FXyhzKX1FXyh0KXtpZih0LmxlZnRQcmljZVNjYWxlJiZ0aGlzLkRfLnZyKHQubGVmdFByaWNlU2NhbGUpLHQucmlnaHRQcmljZVNjYWxlJiZ0aGlzLlZfLnZyKHQucmlnaHRQcmljZVNjYWxlKSx0LmxvY2FsaXphdGlvbiYmKHRoaXMuRF8uZGwoKSx0aGlzLlZfLmRsKCkpLHQub3ZlcmxheVByaWNlU2NhbGVzKXtjb25zdCBpPUFycmF5LmZyb20odGhpcy54Xy52YWx1ZXMoKSk7Zm9yKGNvbnN0IHMgb2YgaSl7Y29uc3QgaT1mKHNbMF0uRnQoKSk7aS52cih0Lm92ZXJsYXlQcmljZVNjYWxlcyksdC5sb2NhbGl6YXRpb24mJmkuZGwoKX19fUFfKHQpe3N3aXRjaCh0KXtjYXNlImxlZnQiOnJldHVybiB0aGlzLkRfO2Nhc2UicmlnaHQiOnJldHVybiB0aGlzLlZffXJldHVybiB0aGlzLnhfLmhhcyh0KT9jKHRoaXMueF8uZ2V0KHQpKVswXS5GdCgpOm51bGx9bSgpe3RoaXMuUXQoKS5MXygpLnUodGhpcyksdGhpcy5EXy5GbygpLnUodGhpcyksdGhpcy5WXy5GbygpLnUodGhpcyksdGhpcy5tby5mb3JFYWNoKCh0PT57dC5tJiZ0Lm0oKX0pKSx0aGlzLmZhPXRoaXMuZmEuZmlsdGVyKCh0PT57Y29uc3QgaT10LlFoKCk7cmV0dXJuIGkuZGV0YWNoZWQmJmkuZGV0YWNoZWQoKSwhMX0pKSx0aGlzLlRfLnAoKX16Xygpe3JldHVybiB0aGlzLnlffU9fKHQpe3RoaXMueV89dH1RdCgpe3JldHVybiB0aGlzLnNufW5uKCl7cmV0dXJuIHRoaXMuQ199JHQoKXtyZXR1cm4gdGhpcy5ob31OXyh0KXt0aGlzLkNfPXQsdGhpcy5GXygpfVdvKHQpe3RoaXMuaG89dCx0aGlzLkRfLldvKHQpLHRoaXMuVl8uV28odCksdGhpcy5tby5mb3JFYWNoKChpPT57aWYodGhpcy5acyhpKSl7Y29uc3Qgcz1pLkZ0KCk7bnVsbCE9PXMmJnMuV28odCl9fSkpLHRoaXMuRl8oKX1XXyh0KXsKdGhpcy5QXz10fUhfKCl7cmV0dXJuIHRoaXMuUF99VV8oKXtyZXR1cm4gdGhpcy5tby5maWx0ZXIoeGkpfUNsKCl7cmV0dXJuIHRoaXMubW99WnModCl7Y29uc3QgaT10LkZ0KCk7cmV0dXJuIG51bGw9PT1pfHx0aGlzLkRfIT09aSYmdGhpcy5WXyE9PWl9c18odCxpLHMpe3RoaXMual8odCxpLHM/dC5sbigpOnRoaXMubW8ubGVuZ3RoKX1yXyh0LGkpe2NvbnN0IHM9dGhpcy5tby5pbmRleE9mKHQpO3UoLTEhPT1zLCJyZW1vdmVEYXRhU291cmNlOiBpbnZhbGlkIGRhdGEgc291cmNlIiksdGhpcy5tby5zcGxpY2UocywxKSxpfHx0aGlzLm1vLmZvckVhY2goKCh0LGkpPT50Ll9uKGkpKSk7Y29uc3QgZT1mKHQuRnQoKSkuY2woKTtpZih0aGlzLnhfLmhhcyhlKSl7Y29uc3QgaT1jKHRoaXMueF8uZ2V0KGUpKSxzPWkuaW5kZXhPZih0KTstMSE9PXMmJihpLnNwbGljZShzLDEpLDA9PT1pLmxlbmd0aCYmdGhpcy54Xy5kZWxldGUoZSkpfWNvbnN0IGg9dC5GdCgpO2gmJmguQ2woKS5pbmRleE9mKHQpPj0wJiYoaC5yXyh0KSx0aGlzLnFfKGgpKSx0aGlzLllfKCl9WHModCl7cmV0dXJuIHQ9PT10aGlzLkRfPyJsZWZ0Ijp0PT09dGhpcy5WXz8icmlnaHQiOiJvdmVybGF5In1LXygpe3JldHVybiB0aGlzLkRffVpfKCl7cmV0dXJuIHRoaXMuVl99R18odCxpKXt0LmxfKGkpfVhfKHQsaSl7dC5vXyhpKSx0aGlzLkZfKCl9Sl8odCl7dC5fXygpfVFfKHQsaSl7dC51XyhpKX10dSh0LGkpe3QuY18oaSksdGhpcy5GXygpfWl1KHQpe3QuZF8oKX1GXygpe3RoaXMubW8uZm9yRWFjaCgodD0+e3QuTm4oKX0pKX1Qbigpe2NvbnN0W3QsaV09dGhpcy5udSgpO2xldCBzPW51bGw7cmV0dXJuIHQuTigpLnZpc2libGUmJjAhPT10LkNsKCkubGVuZ3RoP3M9dDppLk4oKS52aXNpYmxlJiYwIT09aS5DbCgpLmxlbmd0aD9zPWk6MCE9PXRoaXMubW8ubGVuZ3RoJiYocz10aGlzLm1vWzBdLkZ0KCkpLG51bGw9PT1zJiYocz10aGlzLkdzKCk/P3QpLHN9R3MoKXtjb25zdFt0LGldPXRoaXMubnUoKTtyZXR1cm4gdC5OKCkudmlzaWJsZT90OmkuTigpLnZpc2libGU/aTpudWxsfXFfKHQpe251bGwhPT10JiZ0LkVvKCkmJnRoaXMuc3UodCl9ZXUodCl7Y29uc3QgaT10aGlzLmlhLkVlKCk7dC5Wbyh7aHM6ITB9KSxudWxsIT09aSYmdC53XyhpKSx0aGlzLkZfKCl9cnUoKXt0aGlzLnN1KHRoaXMuRF8pLHRoaXMuc3UodGhpcy5WXyl9aHUoKXt0aGlzLnFfKHRoaXMuRF8pLHRoaXMucV8odGhpcy5WXyksdGhpcy5tby5mb3JFYWNoKCh0PT57dGhpcy5acyh0KSYmdGhpcy5xXyh0LkZ0KCkpfSkpLHRoaXMuRl8oKSx0aGlzLnNuLm1yKCl9RHQoKXtyZXR1cm4gbnVsbD09PXRoaXMuTW8mJih0aGlzLk1vPWJpKHRoaXMubW8pKSx0aGlzLk1vfWF1KCl7Y29uc3QgdD10aGlzLkR0KCksaT10aGlzLnNuLm91KCk/Lmx1LHM9dGhpcy5zbi5OKCkuaG92ZXJlZFNlcmllc09uVG9wLGU9dGhpcy5rXztpZihudWxsIT09ZSYmZS5LaD09PXQmJmUuX3U9PT1pJiZlLnV1PT09cylyZXR1cm4gZS5jdTtjb25zdCBoPWZ1bmN0aW9uKHQsaSxzKXtpZighcylyZXR1cm4gdDtjb25zdCBlPXQuaW5kZXhPZihpKTtpZigtMT09PWV8fGU9PT10Lmxlbmd0aC0xKXJldHVybiB0O2NvbnN0IGg9W107Zm9yKGxldCBpPTA7aTx0Lmxlbmd0aDtpKyspaSE9PWUmJmgucHVzaCh0W2ldKTtyZXR1cm4gaC5wdXNoKHRbZV0pLGh9KHQsaSxzKTtyZXR1cm4gdGhpcy5rXz17S2g6dCxfdTppLHV1OnMsY3U6aH0saH1kdSh0LGkpe2k9aWkoaSwwLHRoaXMubW8ubGVuZ3RoLTEpO2NvbnN0IHM9dGhpcy5tby5pbmRleE9mKHQpO3UoLTEhPT1zLCJzZXRTZXJpZXNPcmRlcjogaW52YWxpZCBkYXRhIHNvdXJjZSIpLHRoaXMubW8uc3BsaWNlKHMsMSksdGhpcy5tby5zcGxpY2UoaSwwLHQpLHRoaXMubW8uZm9yRWFjaCgoKHQsaSk9PnQuX24oaSkpKSx0aGlzLllfKCk7Zm9yKGNvbnN0IHQgb2ZbdGhpcy5EXyx0aGlzLlZfXSl0LmVfKCksdC5kbCgpO3RoaXMuc24ubXIoKX1WdCgpe3JldHVybiB0aGlzLkR0KCkuZmlsdGVyKHhpKX1mdSgpe3JldHVybiB0aGlzLlRffXB1KCl7cmV0dXJuIHRoaXMuUl99aGwodCl7dGhpcy5mYS5wdXNoKG5ldyBEdCh0KSl9YWwodCl7dGhpcy5mYT10aGlzLmZhLmZpbHRlcigoaT0+aS5RaCgpIT09dCkpLHQuZGV0YWNoZWQmJnQuZGV0YWNoZWQoKSx0aGlzLnNuLm1yKCl9dnUoKXtyZXR1cm4gdGhpcy5mYX1KYSh0LGkpe3JldHVybiB0aGlzLmZhLm1hcCgocz0+cy5Rcyh0LGkpKSkuZmlsdGVyKCh0PT5udWxsIT09dCkpfXN1KHQpe2NvbnN0IGk9dC5tXygpO2lmKGkmJmkubGVuZ3RoPjAmJiF0aGlzLmlhLkdpKCkpe2NvbnN0IGk9dGhpcy5pYS5FZSgpO251bGwhPT1pJiZ0LndfKGkpfXQuTm4oKX1qXyh0LGkscyl7bGV0IGU9dGhpcy5BXyhpKTtpZihudWxsPT09ZSYmKGU9dGhpcy5JXyhpLHRoaXMuc24uTigpLm92ZXJsYXlQcmljZVNjYWxlcykpLHRoaXMubW8uc3BsaWNlKHMsMCx0KSwhaihpKSl7Y29uc3Qgcz10aGlzLnhfLmdldChpKXx8W107cy5wdXNoKHQpLHRoaXMueF8uc2V0KGkscyl9dC5fbihzKSxlLnNfKHQpLHQudW4oZSksdGhpcy5xXyhlKSx0aGlzLllfKCl9WV8oKXt0aGlzLk1vPW51bGwsdGhpcy5rXz1udWxsfW51KCl7cmV0dXJuImxlZnQiPT09dGhpcy5zbi5OKCkuZGVmYXVsdFZpc2libGVQcmljZVNjYWxlSWQ/W3RoaXMuRF8sdGhpcy5WX106W3RoaXMuVl8sdGhpcy5EX119Ql8odCxpLHMpe2kuX2UhPT1zLl9lJiZ0aGlzLnN1KHQpfUlfKHQsaSl7Y29uc3Qgcz17dmlzaWJsZTohMCxhdXRvU2NhbGU6ITAsLi4uTShpKX0sZT1uZXcgU2kodCxzLHRoaXMuc24uTigpLmxheW91dCx0aGlzLnNuLk4oKS5sb2NhbGl6YXRpb24sdGhpcy5zbi5YaSgpKTtyZXR1cm4gZS5Xbyh0aGlzLiR0KCkpLGV9fWZ1bmN0aW9uIENpKHQsaSl7cmV0dXJuIG51bGw9PT1pfHwyPT09dC5zZSYmMiE9PWkuc2V8fCgyIT09aS5zZXx8Mj09PXQuc2UpJiZ0Lm5lIT09aS5uZSYmdC5uZTxpLm5lfWZ1bmN0aW9uIGtpKHQpe3JldHVybnt0ZTp0LnRlLGllOnQuaWV9fWZ1bmN0aW9uIEVpKHQpe3JldHVybntuZTp0LmRpc3RhbmNlPz8wLApzZTp0LmhpdFRlc3RQcmlvcml0eT8/KCJtYXJrZXIiPT09dC5pdGVtVHlwZT8yOjApLGVlOnQuaXRlbVR5cGU/PyJwcmltaXRpdmUiLG11OnQuY3Vyc29yU3R5bGUsdGU6dC5leHRlcm5hbElkfX1mdW5jdGlvbiBOaSh0KXtyZXR1cm57bHU6dC5sdSx3dTpraSh0Lk11KSxtdTp0Lk11Lm11LGVlOnQuTXUuZWU/PyJwcmltaXRpdmUifX1mdW5jdGlvbiBUaSh0LGkscyxlKXtsZXQgaD1udWxsO2Zvcihjb25zdCBuIG9mIHQpe2xldCB0PW4uUXM/LihpLHMsZSk/P251bGw7aWYobnVsbD09PXQpe2NvbnN0IGg9bi5UdChlKTt0PW51bGwhPT1oJiZoLlFzP2guUXMoaSxzKTpudWxsfWlmKG51bGwhPT10KXtjb25zdCBpPXtndTpuLE11OnR9OyhudWxsPT09aHx8Q2koaS5NdSxoLk11KSkmJihoPWkpfX1yZXR1cm4gaH1mdW5jdGlvbiBSaSh0KXtyZXR1cm4gdm9pZCAwIT09dC5qbn1mdW5jdGlvbiBQaSh0LGkscyl7Y29uc3QgZT1bdCwuLi50LkR0KCldLnJldmVyc2UoKSxoPWZ1bmN0aW9uKHQsaSxzKXtsZXQgZSxoLG47Zm9yKGNvbnN0IGwgb2YgdCl7Y29uc3QgdD1sLkphPy4oaSxzKT8/W107Zm9yKGNvbnN0IGkgb2YgdCl7Y29uc3QgdD1FaShpKTtyPWkuek9yZGVyLG89ZT8uek9yZGVyLCghb3x8InRvcCI9PT1yJiYidG9wIiE9PW98fCJub3JtYWwiPT09ciYmImJvdHRvbSI9PT1vfHxpLnpPcmRlcj09PWU/LnpPcmRlciYmdm9pZCAwIT09aCYmQ2kodCxoKXx8aS56T3JkZXI9PT1lPy56T3JkZXImJnZvaWQgMD09PWgpJiYoZT1pLGg9dCxuPWwpfX12YXIgcixvO3JldHVybiBlJiZuJiZoP3tNdTpoLGJ1OmUsbHU6bn06bnVsbH0oZSxpLHMpO2lmKCJ0b3AiPT09aD8uYnUuek9yZGVyKXJldHVybiBOaShoKTtsZXQgbj1udWxsLHI9bnVsbDtmb3IoY29uc3QgbyBvZiBlKXtpZihoJiZoLmx1PT09byYmImJvdHRvbSIhPT1oLmJ1LnpPcmRlciYmIWguYnUuaXNCYWNrZ3JvdW5kKXJldHVybiBuPz9OaShoKTtpZihSaShvKSl7Y29uc3QgZT1UaShvLmpuKHQpLGkscyx0KTtpZihudWxsIT09ZSl7Y29uc3QgdD17bHU6byxndTplLmd1LHd1OmtpKGUuTXUpLG11OmUuTXUubXUsZWU6ZS5NdS5lZT8/InByaW1pdGl2ZSJ9OyhudWxsPT09bnx8Q2koZS5NdSxyKSkmJihuPXQscj1lLk11KX19aWYoaCYmaC5sdT09PW8mJiJib3R0b20iIT09aC5idS56T3JkZXImJmguYnUuaXNCYWNrZ3JvdW5kKXJldHVybiBuPz9OaShoKX1yZXR1cm4gbnVsbCE9PW4/bjpoPy5idT9OaShoKTpudWxsfWNsYXNzIHppe2NvbnN0cnVjdG9yKHQsaSxzPTUwKXt0aGlzLlZzPTAsdGhpcy5Ccz0xLHRoaXMuRXM9MSx0aGlzLkxzPW5ldyBNYXAsdGhpcy5Bcz1uZXcgTWFwLHRoaXMuU3U9dCx0aGlzLnh1PWksdGhpcy56cz1zfUN1KHQpe2NvbnN0IGk9dC50aW1lLHM9dGhpcy54dS5jYWNoZUtleShpKSxlPXRoaXMuTHMuZ2V0KHMpO2lmKHZvaWQgMCE9PWUpcmV0dXJuIGUueXU7aWYodGhpcy5Wcz09PXRoaXMuenMpe2NvbnN0IHQ9dGhpcy5Bcy5nZXQodGhpcy5Fcyk7dGhpcy5Bcy5kZWxldGUodGhpcy5FcyksdGhpcy5Mcy5kZWxldGUoYyh0KSksdGhpcy5FcysrLHRoaXMuVnMtLX1jb25zdCBoPXRoaXMuU3UodCk7cmV0dXJuIHRoaXMuTHMuc2V0KHMse3l1OmgsV3M6dGhpcy5Cc30pLHRoaXMuQXMuc2V0KHRoaXMuQnMscyksdGhpcy5WcysrLHRoaXMuQnMrKyxofX1jbGFzcyBJaXtjb25zdHJ1Y3Rvcih0LGkpe3UodDw9aSwicmlnaHQgc2hvdWxkIGJlID49IGxlZnQiKSx0aGlzLmt1PXQsdGhpcy5QdT1pfU9hKCl7cmV0dXJuIHRoaXMua3V9YmkoKXtyZXR1cm4gdGhpcy5QdX1UdSgpe3JldHVybiB0aGlzLlB1LXRoaXMua3UrMX16ZSh0KXtyZXR1cm4gdGhpcy5rdTw9dCYmdDw9dGhpcy5QdX1HZSh0KXtyZXR1cm4gdGhpcy5rdT09PXQuT2EoKSYmdGhpcy5QdT09PXQuYmkoKX19ZnVuY3Rpb24gTGkodCxpKXtyZXR1cm4gbnVsbD09PXR8fG51bGw9PT1pP3Q9PT1pOnQuR2UoaSl9Y2xhc3MgRml7Y29uc3RydWN0b3IoKXt0aGlzLlJ1PW5ldyBNYXAsdGhpcy5Mcz1udWxsLHRoaXMuRHU9ITF9SXUodCl7dGhpcy5EdT10LHRoaXMuTHM9bnVsbH1WdSh0LGkpe3RoaXMuQnUoaSksdGhpcy5Mcz1udWxsO2ZvcihsZXQgcz1pO3M8dC5sZW5ndGg7KytzKXtjb25zdCBpPXRbc107bGV0IGU9dGhpcy5SdS5nZXQoaS50aW1lV2VpZ2h0KTt2b2lkIDA9PT1lJiYoZT1bXSx0aGlzLlJ1LnNldChpLnRpbWVXZWlnaHQsZSkpLGUucHVzaCh7aW5kZXg6cyx0aW1lOmkudGltZSx3ZWlnaHQ6aS50aW1lV2VpZ2h0LG9yaWdpbmFsVGltZTppLm9yaWdpbmFsVGltZX0pfX1FdSh0LGkscyxlLGgpe2NvbnN0IG49TWF0aC5jZWlsKGkvdCk7cmV0dXJuIG51bGwhPT10aGlzLkxzJiZ0aGlzLkxzLkF1PT09biYmaD09PXRoaXMuTHMuTHUmJnM9PT10aGlzLkxzLnp1fHwodGhpcy5Mcz17THU6aCx6dTpzLEVsOnRoaXMuT3UobixzLGUpLEF1Om59KSx0aGlzLkxzLkVsfUJ1KHQpe2lmKDA9PT10KXJldHVybiB2b2lkIHRoaXMuUnUuY2xlYXIoKTtjb25zdCBpPVtdO3RoaXMuUnUuZm9yRWFjaCgoKHMsZSk9Pnt0PD1zWzBdLmluZGV4P2kucHVzaChlKTpzLnNwbGljZShOdChzLHQsKGk9PmkuaW5kZXg8dCkpLDEvMCl9KSk7Zm9yKGNvbnN0IHQgb2YgaSl0aGlzLlJ1LmRlbGV0ZSh0KX1PdSh0LGkscyl7bGV0IGU9W107Y29uc3QgaD10PT4haXx8cy5oYXModC5pbmRleCk7Zm9yKGNvbnN0IGkgb2YgQXJyYXkuZnJvbSh0aGlzLlJ1LmtleXMoKSkuc29ydCgoKHQsaSk9PmktdCkpKXtpZighdGhpcy5SdS5nZXQoaSkpY29udGludWU7Y29uc3Qgcz1lO2U9W107Y29uc3Qgbj1zLmxlbmd0aDtsZXQgcj0wO2NvbnN0IG89Yyh0aGlzLlJ1LmdldChpKSksbD1vLmxlbmd0aDtsZXQgYT0xLzAsdT0tMS8wO2ZvcihsZXQgaT0wO2k8bDtpKyspe2NvbnN0IGw9b1tpXSxjPWwuaW5kZXg7Zm9yKDtyPG47KXtjb25zdCB0PXNbcl0saT10LmluZGV4O2lmKCEoaTxjJiZoKHQpKSl7YT1pO2JyZWFrfXIrKyxlLnB1c2godCksdT1pLGE9MS8wfWlmKGEtYz49dCYmYy11Pj10JiZoKGwpKWUucHVzaChsKSx1PWM7ZWxzZSBpZih0aGlzLkR1KXJldHVybiBzfQpmb3IoO3I8bjtyKyspaChzW3JdKSYmZS5wdXNoKHNbcl0pfXJldHVybiBlfX1jbGFzcyBxaXtjb25zdHJ1Y3Rvcih0KXt0aGlzLk51PXR9RnUoKXtyZXR1cm4gbnVsbD09PXRoaXMuTnU/bnVsbDpuZXcgSWkoTWF0aC5mbG9vcih0aGlzLk51Lk9hKCkpLE1hdGguY2VpbCh0aGlzLk51LmJpKCkpKX1XdSgpe3JldHVybiB0aGlzLk51fXN0YXRpYyBIdSgpe3JldHVybiBuZXcgcWkobnVsbCl9fWZ1bmN0aW9uIFdpKHQsaSl7cmV0dXJuIHQud2VpZ2h0Pmkud2VpZ2h0P3Q6aX1jbGFzcyBRaXtjb25zdHJ1Y3Rvcih0LGkscyxlKXt0aGlzLkNfPTAsdGhpcy5VdT1udWxsLHRoaXMuJHU9W10sdGhpcy54bz1udWxsLHRoaXMuU289bnVsbCx0aGlzLmp1PW5ldyBGaSx0aGlzLnF1PW5ldyBNYXAsdGhpcy5ZdT1xaS5IdSgpLHRoaXMuS3U9ITAsdGhpcy5adT1uZXcgbSx0aGlzLkd1PW5ldyBtLHRoaXMuWHU9bmV3IG0sdGhpcy5KdT1udWxsLHRoaXMuUXU9bnVsbCx0aGlzLnRjPW5ldyBNYXAsdGhpcy5uYz0tMSx0aGlzLnNjPVtdLHRoaXMuZWM9MSx0aGlzLnluPWksdGhpcy5Qbz1zLHRoaXMucmM9aS5yaWdodE9mZnNldCx0aGlzLmhjPWkuYmFyU3BhY2luZyx0aGlzLnNuPXQsdGhpcy5hYyhpKSx0aGlzLnh1PWUsdGhpcy5sYygpLHRoaXMuanUuSXUoaS51bmlmb3JtRGlzdHJpYnV0aW9uKSx0aGlzLm9jKCksdGhpcy5fYygpfU4oKXtyZXR1cm4gdGhpcy55bn11Yyh0KXtwKHRoaXMuUG8sdCksdGhpcy5jYygpLHRoaXMubGMoKX12cih0LGkpe3AodGhpcy55bix0KSx0aGlzLnluLmZpeExlZnRFZGdlJiZ0aGlzLmRjKCksdGhpcy55bi5maXhSaWdodEVkZ2UmJnRoaXMuZmMoKSx2b2lkIDAhPT10LmJhclNwYWNpbmcmJnRoaXMuc24uTXModC5iYXJTcGFjaW5nKSx2b2lkIDAhPT10LnJpZ2h0T2Zmc2V0JiZ0aGlzLnNuLmdzKHQucmlnaHRPZmZzZXQpLHRoaXMuYWModCksdm9pZCAwPT09dC5taW5CYXJTcGFjaW5nJiZ2b2lkIDA9PT10Lm1heEJhclNwYWNpbmd8fHRoaXMuc24uTXModC5iYXJTcGFjaW5nPz90aGlzLmhjKSx2b2lkIDAhPT10Lmlnbm9yZVdoaXRlc3BhY2VJbmRpY2VzJiZ0Lmlnbm9yZVdoaXRlc3BhY2VJbmRpY2VzIT09dGhpcy55bi5pZ25vcmVXaGl0ZXNwYWNlSW5kaWNlcyYmdGhpcy5fYygpLHRoaXMuY2MoKSx0aGlzLmxjKCksdm9pZCAwPT09dC5lbmFibGVDb25mbGF0aW9uJiZ2b2lkIDA9PT10LmNvbmZsYXRpb25UaHJlc2hvbGRGYWN0b3J8fHRoaXMub2MoKSx0aGlzLlh1LnAoKX1Sbih0KXtyZXR1cm4gdGhpcy4kdVt0XT8udGltZT8/bnVsbH1lbih0KXtyZXR1cm4gdGhpcy4kdVt0XT8/bnVsbH12Yyh0LGkpe2lmKHRoaXMuJHUubGVuZ3RoPDEpcmV0dXJuIG51bGw7aWYodGhpcy54dS5rZXkodCk+dGhpcy54dS5rZXkodGhpcy4kdVt0aGlzLiR1Lmxlbmd0aC0xXS50aW1lKSlyZXR1cm4gaT90aGlzLiR1Lmxlbmd0aC0xOm51bGw7Y29uc3Qgcz1OdCh0aGlzLiR1LHRoaXMueHUua2V5KHQpLCgodCxpKT0+dGhpcy54dS5rZXkodC50aW1lKTxpKSk7cmV0dXJuIHRoaXMueHUua2V5KHQpPHRoaXMueHUua2V5KHRoaXMuJHVbc10udGltZSk/aT9zOm51bGw6c31HaSgpe3JldHVybiAwPT09dGhpcy5DX3x8MD09PXRoaXMuJHUubGVuZ3RofHxudWxsPT09dGhpcy5VdX1tYygpe3JldHVybiB0aGlzLiR1Lmxlbmd0aD4wfUVlKCl7cmV0dXJuIHRoaXMud2MoKSx0aGlzLll1LkZ1KCl9TWMoKXtyZXR1cm4gdGhpcy53YygpLHRoaXMuWXUuV3UoKX1nYygpe2NvbnN0IHQ9dGhpcy5FZSgpO2lmKG51bGw9PT10KXJldHVybiBudWxsO2NvbnN0IGk9e2Zyb206dC5PYSgpLHRvOnQuYmkoKX07cmV0dXJuIHRoaXMuYmMoaSl9YmModCl7Y29uc3QgaT1NYXRoLnJvdW5kKHQuZnJvbSkscz1NYXRoLnJvdW5kKHQudG8pLGU9Zih0aGlzLlNjKCkpLGg9Zih0aGlzLnhjKCkpO3JldHVybntmcm9tOmYodGhpcy5lbihNYXRoLm1heChlLGkpKSksdG86Zih0aGlzLmVuKE1hdGgubWluKGgscykpKX19Q2ModCl7cmV0dXJue2Zyb206Zih0aGlzLnZjKHQuZnJvbSwhMCkpLHRvOmYodGhpcy52Yyh0LnRvLCEwKSl9fW5uKCl7cmV0dXJuIHRoaXMuQ199Tl8odCl7aWYoIWlzRmluaXRlKHQpfHx0PD0wKXJldHVybjtpZih0aGlzLkNfPT09dClyZXR1cm47Y29uc3QgaT10aGlzLk1jKCkscz10aGlzLkNfO2lmKHRoaXMuQ189dCx0aGlzLkt1PSEwLHRoaXMueW4ubG9ja1Zpc2libGVUaW1lUmFuZ2VPblJlc2l6ZSYmMCE9PXMpe2NvbnN0IGk9dGhpcy5oYyp0L3M7dGhpcy5oYz1pfWlmKHRoaXMueW4uZml4TGVmdEVkZ2UmJm51bGwhPT1pJiZpLk9hKCk8PTApe2NvbnN0IGk9cy10O3RoaXMucmMtPU1hdGgucm91bmQoaS90aGlzLmhjKSsxLHRoaXMuS3U9ITB9dGhpcy55YygpLHRoaXMua2MoKX1qdCh0KXtpZih0aGlzLkdpKCl8fCF2KHQpKXJldHVybiAwO2NvbnN0IGk9dGhpcy5QYygpK3RoaXMucmMtdDtyZXR1cm4gdGhpcy5DXy0oaSsuNSkqdGhpcy5oYy0xfVRjKHQsaSl7Y29uc3Qgcz10aGlzLlBjKCksZT12b2lkIDA9PT1pPzA6aS5mcm9tLGg9dm9pZCAwPT09aT90Lmxlbmd0aDppLnRvO2ZvcihsZXQgaT1lO2k8aDtpKyspe2NvbnN0IGU9dFtpXS53dCxoPXMrdGhpcy5yYy1lLG49dGhpcy5DXy0oaCsuNSkqdGhpcy5oYy0xO3RbaV0uX3Q9bn19UmModCxpKXtjb25zdCBzPU1hdGguY2VpbCh0aGlzLkRjKHQpKTtyZXR1cm4gaSYmdGhpcy55bi5pZ25vcmVXaGl0ZXNwYWNlSW5kaWNlcyYmIXRoaXMuSWMocyk/dGhpcy5WYyhzKTpzfWdzKHQpe3RoaXMuS3U9ITAsdGhpcy5yYz10LHRoaXMua2MoKSx0aGlzLnNuLkJjKCksdGhpcy5zbi5tcigpfWZsKCl7cmV0dXJuIHRoaXMuaGN9TXModCl7Y29uc3QgaT10aGlzLmhjO2lmKHRoaXMuRWModCksdm9pZCAwIT09dGhpcy55bi5yaWdodE9mZnNldFBpeGVscyYmMCE9PWkpe2NvbnN0IHQ9dGhpcy5yYyppL3RoaXMuaGM7dGhpcy5yYz10fXRoaXMua2MoKSx0aGlzLnNuLkJjKCksdGhpcy5zbi5tcigpfUFjKCl7cmV0dXJuIHRoaXMucmN9RWwoKXtpZih0aGlzLkdpKCkpcmV0dXJuIG51bGw7aWYobnVsbCE9PXRoaXMuUXUpcmV0dXJuIHRoaXMuUXUKO2NvbnN0IHQ9dGhpcy5oYyxpPTUqKHRoaXMuc24uTigpLmxheW91dC5mb250U2l6ZSs0KS84Kih0aGlzLnluLnRpY2tNYXJrTWF4Q2hhcmFjdGVyTGVuZ3RofHw4KSxzPU1hdGgucm91bmQoaS90KSxlPWYodGhpcy5FZSgpKSxoPU1hdGgubWF4KGUuT2EoKSxlLk9hKCktcyksbj1NYXRoLm1heChlLmJpKCksZS5iaSgpLXMpLHI9dGhpcy5qdS5FdSh0LGksdGhpcy55bi5pZ25vcmVXaGl0ZXNwYWNlSW5kaWNlcyx0aGlzLnRjLHRoaXMubmMpLG89dGhpcy5TYygpK3MsbD10aGlzLnhjKCktcyxhPXRoaXMuTGMoKSx1PXRoaXMueW4uZml4TGVmdEVkZ2V8fGEsYz10aGlzLnluLmZpeFJpZ2h0RWRnZXx8YTtsZXQgZD0wO2Zvcihjb25zdCB0IG9mIHIpe2lmKCEoaDw9dC5pbmRleCYmdC5pbmRleDw9bikpY29udGludWU7bGV0IHM7ZDx0aGlzLnNjLmxlbmd0aD8ocz10aGlzLnNjW2RdLHMuY29vcmQ9dGhpcy5qdCh0LmluZGV4KSxzLmxhYmVsPXRoaXMuemModCkscy53ZWlnaHQ9dC53ZWlnaHQpOihzPXtuZWVkQWxpZ25Db29yZGluYXRlOiExLGNvb3JkOnRoaXMuanQodC5pbmRleCksbGFiZWw6dGhpcy56Yyh0KSx3ZWlnaHQ6dC53ZWlnaHR9LHRoaXMuc2MucHVzaChzKSksdGhpcy5oYz5pLzImJiFhP3MubmVlZEFsaWduQ29vcmRpbmF0ZT0hMTpzLm5lZWRBbGlnbkNvb3JkaW5hdGU9dSYmdC5pbmRleDw9b3x8YyYmdC5pbmRleD49bCxkKyt9cmV0dXJuIHRoaXMuc2MubGVuZ3RoPWQsdGhpcy5RdT10aGlzLnNjLHRoaXMuc2N9T2MoKXtsZXQgdDt0aGlzLkt1PSEwLHRoaXMuTXModGhpcy55bi5iYXJTcGFjaW5nKSx0PXZvaWQgMCE9PXRoaXMueW4ucmlnaHRPZmZzZXRQaXhlbHM/dGhpcy55bi5yaWdodE9mZnNldFBpeGVscy90aGlzLmZsKCk6dGhpcy55bi5yaWdodE9mZnNldCx0aGlzLmdzKHQpfU5jKHQpe3RoaXMuS3U9ITAsdGhpcy5VdT10LHRoaXMua2MoKSx0aGlzLmRjKCl9RmModCxpKXtjb25zdCBzPXRoaXMuRGModCksZT10aGlzLmZsKCksaD1lK2kqKGUvMTApO3RoaXMuTXMoaCksdGhpcy55bi5yaWdodEJhclN0YXlzT25TY3JvbGx8fHRoaXMuZ3ModGhpcy5BYygpKyhzLXRoaXMuRGModCkpKX1sXyh0KXt0aGlzLnhvJiZ0aGlzLmRfKCksbnVsbD09PXRoaXMuU28mJm51bGw9PT10aGlzLkp1JiYodGhpcy5HaSgpfHwodGhpcy5Tbz10LHRoaXMuV2MoKSkpfW9fKHQpe2lmKG51bGw9PT10aGlzLkp1KXJldHVybjtjb25zdCBpPWlpKHRoaXMuQ18tdCwwLHRoaXMuQ18pLHM9aWkodGhpcy5DXy1mKHRoaXMuU28pLDAsdGhpcy5DXyk7MCE9PWkmJjAhPT1zJiZ0aGlzLk1zKHRoaXMuSnUuZmwqaS9zKX1fXygpe251bGwhPT10aGlzLlNvJiYodGhpcy5Tbz1udWxsLHRoaXMuSGMoKSl9dV8odCl7bnVsbD09PXRoaXMueG8mJm51bGw9PT10aGlzLkp1JiYodGhpcy5HaSgpfHwodGhpcy54bz10LHRoaXMuV2MoKSkpfWNfKHQpe2lmKG51bGw9PT10aGlzLnhvKXJldHVybjtjb25zdCBpPSh0aGlzLnhvLXQpL3RoaXMuZmwoKTt0aGlzLnJjPWYodGhpcy5KdSkuQWMraSx0aGlzLkt1PSEwLHRoaXMua2MoKX1kXygpe251bGwhPT10aGlzLnhvJiYodGhpcy54bz1udWxsLHRoaXMuSGMoKSl9VWMoKXt0aGlzLiRjKHRoaXMueW4ucmlnaHRPZmZzZXQpfSRjKHQsaT00MDApe2lmKCFpc0Zpbml0ZSh0KSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigib2Zmc2V0IGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGZpbml0ZSBudW1iZXIiKTtpZighaXNGaW5pdGUoaSl8fGk8PTApdGhyb3cgbmV3IFJhbmdlRXJyb3IoImFuaW1hdGlvbkR1cmF0aW9uIChvcHRpb25hbCkgbXVzdCBiZSBmaW5pdGUgcG9zaXRpdmUgbnVtYmVyIik7Y29uc3Qgcz10aGlzLnJjLGU9cGVyZm9ybWFuY2Uubm93KCk7dGhpcy5zbi5wcyh7amM6dD0+KHQtZSkvaT49MSxxYzpoPT57Y29uc3Qgbj0oaC1lKS9pO3JldHVybiBuPj0xP3Q6cysodC1zKSpufX0pfWt0KHQsaSl7dGhpcy5LdT0hMCx0aGlzLiR1PXQsdGhpcy5qdS5WdSh0LGkpLHRoaXMua2MoKX1ZYygpe3JldHVybiB0aGlzLlp1fUtjKCl7cmV0dXJuIHRoaXMuR3V9WmMoKXtyZXR1cm4gdGhpcy5YdX1QYygpe3JldHVybiB0aGlzLlV1fHwwfUdjKHQsaSl7Y29uc3Qgcz10LlR1KCksZT1pJiZ0aGlzLnluLnJpZ2h0T2Zmc2V0UGl4ZWxzfHwwO3RoaXMuRWMoKHRoaXMuQ18tZSkvcyksdGhpcy5yYz10LmJpKCktdGhpcy5QYygpLGkmJih0aGlzLnJjPWU/ZS90aGlzLmZsKCk6dGhpcy55bi5yaWdodE9mZnNldCksdGhpcy5rYygpLHRoaXMuS3U9ITAsdGhpcy5zbi5CYygpLHRoaXMuc24ubXIoKX1YYygpe2NvbnN0IHQ9dGhpcy5TYygpLGk9dGhpcy54YygpO2lmKG51bGw9PT10fHxudWxsPT09aSlyZXR1cm47Y29uc3Qgcz0hdGhpcy55bi5yaWdodE9mZnNldFBpeGVscyYmdGhpcy55bi5yaWdodE9mZnNldHx8MDt0aGlzLkdjKG5ldyBJaSh0LGkrcyksITApfUpjKHQpe2NvbnN0IGk9bmV3IElpKHQuZnJvbSx0LnRvKTt0aGlzLkdjKGkpfXJuKHQpe3JldHVybiB2b2lkIDAhPT10aGlzLlBvLnRpbWVGb3JtYXR0ZXI/dGhpcy5Qby50aW1lRm9ybWF0dGVyKHQub3JpZ2luYWxUaW1lKTp0aGlzLnh1LmZvcm1hdEhvcnpJdGVtKHQudGltZSl9X2MoKXtpZighdGhpcy55bi5pZ25vcmVXaGl0ZXNwYWNlSW5kaWNlcylyZXR1cm47dGhpcy50Yy5jbGVhcigpO2NvbnN0IHQ9dGhpcy5zbi5KbigpO2Zvcihjb25zdCBpIG9mIHQpZm9yKGNvbnN0IHQgb2YgaS51bCgpKXRoaXMudGMuc2V0KHQsITApO3RoaXMubmMrK31RYygpe3JldHVybiB0aGlzLmVjfU1sKCl7Y29uc3QgdD0xLyh3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MSksaT10aGlzLnluLm1pbkJhclNwYWNpbmc7aWYoaT49dClyZXR1cm5bMV07Y29uc3Qgcz1bMV07bGV0IGU9Mjtmb3IoO2U8PTUxMjspaTx0L2UmJnMucHVzaChlKSxlKj0yO3JldHVybiBzfUxjKCl7Y29uc3QgdD10aGlzLnNuLk4oKS5oYW5kbGVTY3JvbGwsaT10aGlzLnNuLk4oKS5oYW5kbGVTY2FsZQo7cmV0dXJuISh0LmhvcnpUb3VjaERyYWd8fHQubW91c2VXaGVlbHx8dC5wcmVzc2VkTW91c2VNb3ZlfHx0LnZlcnRUb3VjaERyYWd8fGkuYXhpc0RvdWJsZUNsaWNrUmVzZXQudGltZXx8aS5heGlzUHJlc3NlZE1vdXNlTW92ZS50aW1lfHxpLm1vdXNlV2hlZWx8fGkucGluY2gpfVNjKCl7cmV0dXJuIDA9PT10aGlzLiR1Lmxlbmd0aD9udWxsOjB9eGMoKXtyZXR1cm4gMD09PXRoaXMuJHUubGVuZ3RoP251bGw6dGhpcy4kdS5sZW5ndGgtMX10ZCh0KXtyZXR1cm4odGhpcy5DXy0xLXQpL3RoaXMuaGN9RGModCl7Y29uc3QgaT10aGlzLnRkKHQpLHM9dGhpcy5QYygpK3RoaXMucmMtaTtyZXR1cm4gTWF0aC5yb3VuZCgxZTYqcykvMWU2fUVjKHQpe2NvbnN0IGk9dGhpcy5oYzt0aGlzLmhjPXQsdGhpcy55YygpLGkhPT10aGlzLmhjJiYodGhpcy5LdT0hMCx0aGlzLm5kKCksdGhpcy5vYygpKX13Yygpe2lmKCF0aGlzLkt1KXJldHVybjtpZih0aGlzLkt1PSExLHRoaXMuR2koKSlyZXR1cm4gdm9pZCB0aGlzLnNkKHFpLkh1KCkpO2NvbnN0IHQ9dGhpcy5QYygpLGk9dGhpcy5DXy90aGlzLmhjLHM9dGhpcy5yYyt0LGU9bmV3IElpKHMtaSsxLHMpO3RoaXMuc2QobmV3IHFpKGUpKX15Yygpe2NvbnN0IHQ9aWkodGhpcy5oYyx0aGlzLmVkKCksdGhpcy5yZCgpKTt0aGlzLmhjIT09dCYmKHRoaXMuaGM9dCx0aGlzLkt1PSEwKX1yZCgpe3JldHVybiB0aGlzLnluLm1heEJhclNwYWNpbmc+MD90aGlzLnluLm1heEJhclNwYWNpbmc6LjUqdGhpcy5DX31lZCgpe3JldHVybiB0aGlzLnluLmZpeExlZnRFZGdlJiZ0aGlzLnluLmZpeFJpZ2h0RWRnZSYmMCE9PXRoaXMuJHUubGVuZ3RoP3RoaXMuQ18vdGhpcy4kdS5sZW5ndGg6dGhpcy55bi5taW5CYXJTcGFjaW5nfW9jKCl7aWYoIXRoaXMueW4uZW5hYmxlQ29uZmxhdGlvbilyZXR1cm4gdm9pZCh0aGlzLmVjPTEpO2NvbnN0IHQ9MS8od2luZG93LmRldmljZVBpeGVsUmF0aW98fDEpKih0aGlzLnluLmNvbmZsYXRpb25UaHJlc2hvbGRGYWN0b3I/PzEpO2lmKHRoaXMuaGM+PXQpcmV0dXJuIHZvaWQodGhpcy5lYz0xKTtjb25zdCBpPXQvdGhpcy5oYyxzPU1hdGgucG93KDIsTWF0aC5mbG9vcihNYXRoLmxvZzIoaSkpKTt0aGlzLmVjPU1hdGgubWluKHMsNTEyKX1rYygpe2NvbnN0IHQ9dGhpcy5oZCgpO251bGwhPT10JiZ0aGlzLnJjPHQmJih0aGlzLnJjPXQsdGhpcy5LdT0hMCk7Y29uc3QgaT10aGlzLmFkKCk7dGhpcy5yYz5pJiYodGhpcy5yYz1pLHRoaXMuS3U9ITApfWhkKCl7Y29uc3QgdD10aGlzLlNjKCksaT10aGlzLlV1O3JldHVybiBudWxsPT09dHx8bnVsbD09PWk/bnVsbDp0LWktMSsodGhpcy55bi5maXhMZWZ0RWRnZT90aGlzLkNfL3RoaXMuaGM6TWF0aC5taW4oMix0aGlzLiR1Lmxlbmd0aCkpfWFkKCl7cmV0dXJuIHRoaXMueW4uZml4UmlnaHRFZGdlPzA6dGhpcy5DXy90aGlzLmhjLU1hdGgubWluKDIsdGhpcy4kdS5sZW5ndGgpfVdjKCl7dGhpcy5KdT17Zmw6dGhpcy5mbCgpLEFjOnRoaXMuQWMoKX19SGMoKXt0aGlzLkp1PW51bGx9emModCl7bGV0IGk9dGhpcy5xdS5nZXQodC53ZWlnaHQpO3JldHVybiB2b2lkIDA9PT1pJiYoaT1uZXcgemkoKHQ9PnRoaXMubGQodCkpLHRoaXMueHUpLHRoaXMucXUuc2V0KHQud2VpZ2h0LGkpKSxpLkN1KHQpfWxkKHQpe3JldHVybiB0aGlzLnh1LmZvcm1hdFRpY2ttYXJrKHQsdGhpcy5Qbyl9c2QodCl7Y29uc3QgaT10aGlzLll1O3RoaXMuWXU9dCxMaShpLkZ1KCksdGhpcy5ZdS5GdSgpKXx8dGhpcy5adS5wKCksTGkoaS5XdSgpLHRoaXMuWXUuV3UoKSl8fHRoaXMuR3UucCgpLHRoaXMubmQoKX1uZCgpe3RoaXMuUXU9bnVsbH1jYygpe3RoaXMubmQoKSx0aGlzLnF1LmNsZWFyKCl9bGMoKXt0aGlzLnh1LnVwZGF0ZUZvcm1hdHRlcih0aGlzLlBvKX1kYygpe2lmKCF0aGlzLnluLmZpeExlZnRFZGdlKXJldHVybjtjb25zdCB0PXRoaXMuU2MoKTtpZihudWxsPT09dClyZXR1cm47Y29uc3QgaT10aGlzLkVlKCk7aWYobnVsbD09PWkpcmV0dXJuO2NvbnN0IHM9aS5PYSgpLXQ7aWYoczwwKXtjb25zdCB0PXRoaXMucmMtcy0xO3RoaXMuZ3ModCl9dGhpcy55YygpfWZjKCl7dGhpcy5rYygpLHRoaXMueWMoKX1JYyh0KXtyZXR1cm4hdGhpcy55bi5pZ25vcmVXaGl0ZXNwYWNlSW5kaWNlc3x8dGhpcy50Yy5nZXQodCl8fCExfVZjKHQpe2NvbnN0IGk9ZnVuY3Rpb24qKHQpe2NvbnN0IGk9TWF0aC5yb3VuZCh0KSxzPWk8dDtsZXQgZT0xO2Zvcig7OylzPyh5aWVsZCBpK2UseWllbGQgaS1lKTooeWllbGQgaS1lLHlpZWxkIGkrZSksZSsrfSh0KSxzPXRoaXMueGMoKTtmb3IoO3M7KXtjb25zdCB0PWkubmV4dCgpLnZhbHVlO2lmKHRoaXMudGMuZ2V0KHQpKXJldHVybiB0O2lmKHQ8MHx8dD5zKWJyZWFrfXJldHVybiB0fWFjKHQpe2lmKHZvaWQgMCE9PXQucmlnaHRPZmZzZXRQaXhlbHMpe2NvbnN0IGk9dC5yaWdodE9mZnNldFBpeGVscy8odC5iYXJTcGFjaW5nfHx0aGlzLmhjKTt0aGlzLnNuLmdzKGkpfX19dmFyIERpLE9pLEtpLFZpLCRpOyFmdW5jdGlvbih0KXt0W3QuT25Ub3VjaEVuZD0wXT0iT25Ub3VjaEVuZCIsdFt0Lk9uTmV4dFRhcD0xXT0iT25OZXh0VGFwIn0oRGl8fChEaT17fSkpO2NsYXNzIEJpe2NvbnN0cnVjdG9yKHQsaSxzKXt0aGlzLm9kPVtdLHRoaXMuX2Q9W10sdGhpcy51ZD1udWxsLHRoaXMuQ189MCx0aGlzLmRkPW51bGwsdGhpcy5mZD1uZXcgbSx0aGlzLnBkPW5ldyBtLHRoaXMudmQ9bnVsbCx0aGlzLm1kPXQsdGhpcy55bj1pLHRoaXMueHU9cyx0aGlzLlRvPW5ldyBOKHRoaXMueW4ubGF5b3V0LmNvbG9yUGFyc2VycyksdGhpcy53ZD1uZXcgQyh0aGlzKSx0aGlzLmlhPW5ldyBRaSh0aGlzLGkudGltZVNjYWxlLHRoaXMueW4ubG9jYWxpemF0aW9uLHMpLHRoaXMuQ3Q9bmV3IFkodGhpcyxpLmNyb3NzaGFpciksdGhpcy5NZD1uZXcgdGkoaS5jcm9zc2hhaXIpLGkuYWRkRGVmYXVsdFBhbmUmJih0aGlzLmdkKDApLHRoaXMub2RbMF0uT18oMikpLHRoaXMuYmQ9dGhpcy5TZCgwKSx0aGlzLnhkPXRoaXMuU2QoMSl9UGEoKXt0aGlzLkNkKFgueXMoKSl9bXIoKXt0aGlzLkNkKFguQ3MoKSl9cWEoKXsKdGhpcy5DZChuZXcgWCgxKSl9VGEodCl7Y29uc3QgaT10aGlzLnlkKHQpO3RoaXMuQ2QoaSl9b3UoKXtyZXR1cm4gdGhpcy5kZH1rZCh0KXtpZih0aGlzLmRkPy5sdT09PXQ/Lmx1JiZ0aGlzLmRkPy53dT8udGU9PT10Py53dT8udGUmJnRoaXMuZGQ/Lnd1Py5pZT09PXQ/Lnd1Py5pZSYmdGhpcy5kZD8ubXU9PT10Py5tdSYmdGhpcy5kZD8uZWU9PT10Py5lZSlyZXR1cm47Y29uc3QgaT10aGlzLmRkO3RoaXMuZGQ9dCxudWxsIT09aSYmdGhpcy5UYShpLmx1KSxudWxsIT09dCYmdC5sdSE9PWk/Lmx1JiZ0aGlzLlRhKHQubHUpfU4oKXtyZXR1cm4gdGhpcy55bn12cih0KXtwKHRoaXMueW4sdCksdGhpcy5vZC5mb3JFYWNoKChpPT5pLkVfKHQpKSksdm9pZCAwIT09dC50aW1lU2NhbGUmJnRoaXMuaWEudnIodC50aW1lU2NhbGUpLHZvaWQgMCE9PXQubG9jYWxpemF0aW9uJiZ0aGlzLmlhLnVjKHQubG9jYWxpemF0aW9uKSwodC5sZWZ0UHJpY2VTY2FsZXx8dC5yaWdodFByaWNlU2NhbGUpJiZ0aGlzLmZkLnAoKSx0aGlzLmJkPXRoaXMuU2QoMCksdGhpcy54ZD10aGlzLlNkKDEpLHRoaXMuUGEoKX1QZCh0LGkscz0wKXtjb25zdCBlPXRoaXMub2Rbc107aWYodm9pZCAwPT09ZSlyZXR1cm47aWYoImxlZnQiPT09dClyZXR1cm4gcCh0aGlzLnluLHtsZWZ0UHJpY2VTY2FsZTppfSksZS5FXyh7bGVmdFByaWNlU2NhbGU6aX0pLHRoaXMuZmQucCgpLHZvaWQgdGhpcy5QYSgpO2lmKCJyaWdodCI9PT10KXJldHVybiBwKHRoaXMueW4se3JpZ2h0UHJpY2VTY2FsZTppfSksZS5FXyh7cmlnaHRQcmljZVNjYWxlOml9KSx0aGlzLmZkLnAoKSx2b2lkIHRoaXMuUGEoKTtjb25zdCBoPXRoaXMuVGQodCxzKTtudWxsIT09aCYmKGguRnQudnIoaSksdGhpcy5mZC5wKCkpfVRkKHQsaSl7Y29uc3Qgcz10aGlzLm9kW2ldO2lmKHZvaWQgMD09PXMpcmV0dXJuIG51bGw7Y29uc3QgZT1zLkFfKHQpO3JldHVybiBudWxsIT09ZT97S246cyxGdDplfTpudWxsfUV0KCl7cmV0dXJuIHRoaXMuaWF9Wm4oKXtyZXR1cm4gdGhpcy5vZH1SZCgpe3JldHVybiB0aGlzLkN0fURkKCl7cmV0dXJuIHRoaXMucGR9SWQodCxpKXt0LldvKGkpLHRoaXMuQmMoKX1OXyh0KXt0aGlzLkNfPXQsdGhpcy5pYS5OXyh0aGlzLkNfKSx0aGlzLm9kLmZvckVhY2goKGk9PmkuTl8odCkpKSx0aGlzLkJjKCl9VmQodCl7MSE9PXRoaXMub2QubGVuZ3RoJiYodSh0Pj0wJiZ0PHRoaXMub2QubGVuZ3RoLCJJbnZhbGlkIHBhbmUgaW5kZXgiKSx0aGlzLm9kLnNwbGljZSh0LDEpLHRoaXMuUGEoKSl9QmQodCxpKXtpZih0aGlzLm9kLmxlbmd0aDwyKXJldHVybjt1KHQ+PTAmJnQ8dGhpcy5vZC5sZW5ndGgsIkludmFsaWQgcGFuZSBpbmRleCIpO2NvbnN0IHM9dGhpcy5vZFt0XSxlPXRoaXMub2QucmVkdWNlKCgodCxpKT0+dCtpLnpfKCkpLDApLGg9dGhpcy5vZC5yZWR1Y2UoKCh0LGkpPT50K2kuJHQoKSksMCksbj1oLTMwKih0aGlzLm9kLmxlbmd0aC0xKTtpPU1hdGgubWluKG4sTWF0aC5tYXgoMzAsaSkpO2NvbnN0IHI9ZS9oLG89cy4kdCgpO3MuT18oaSpyKTtsZXQgbD1pLW8sYT10aGlzLm9kLmxlbmd0aC0xO2Zvcihjb25zdCB0IG9mIHRoaXMub2QpaWYodCE9PXMpe2NvbnN0IGk9TWF0aC5taW4obixNYXRoLm1heCgzMCx0LiR0KCktbC9hKSk7bC09dC4kdCgpLWksYS09MTtjb25zdCBzPWkqcjt0Lk9fKHMpfXRoaXMuUGEoKX1FZCh0LGkpe3UodD49MCYmdDx0aGlzLm9kLmxlbmd0aCYmaT49MCYmaTx0aGlzLm9kLmxlbmd0aCwiSW52YWxpZCBwYW5lIGluZGV4Iik7Y29uc3Qgcz10aGlzLm9kW3RdLGU9dGhpcy5vZFtpXTt0aGlzLm9kW3RdPWUsdGhpcy5vZFtpXT1zLHRoaXMuUGEoKX1BZCh0LGkpe2lmKHUodD49MCYmdDx0aGlzLm9kLmxlbmd0aCYmaT49MCYmaTx0aGlzLm9kLmxlbmd0aCwiSW52YWxpZCBwYW5lIGluZGV4IiksdD09PWkpcmV0dXJuO2NvbnN0W3NdPXRoaXMub2Quc3BsaWNlKHQsMSk7dGhpcy5vZC5zcGxpY2UoaSwwLHMpLHRoaXMuUGEoKX1HXyh0LGkscyl7dC5HXyhpLHMpfVhfKHQsaSxzKXt0LlhfKGkscyksdGhpcy5SYSgpLHRoaXMuQ2QodGhpcy5MZCh0LDIpKX1KXyh0LGkpe3QuSl8oaSksdGhpcy5DZCh0aGlzLkxkKHQsMikpfVFfKHQsaSxzKXtpLkVvKCl8fHQuUV8oaSxzKX10dSh0LGkscyl7aS5FbygpfHwodC50dShpLHMpLHRoaXMuUmEoKSx0aGlzLkNkKHRoaXMuTGQodCwyKSkpfWl1KHQsaSl7aS5FbygpfHwodC5pdShpKSx0aGlzLkNkKHRoaXMuTGQodCwyKSkpfWV1KHQsaSl7dC5ldShpKSx0aGlzLkNkKHRoaXMuTGQodCwyKSl9emQodCl7dGhpcy5pYS5sXyh0KX1PZCh0LGkpe2NvbnN0IHM9dGhpcy5FdCgpO2lmKHMuR2koKXx8MD09PWkpcmV0dXJuO2NvbnN0IGU9cy5ubigpO3Q9TWF0aC5tYXgoMSxNYXRoLm1pbih0LGUpKSxzLkZjKHQsaSksdGhpcy5CYygpfU5kKHQpe3RoaXMuRmQoMCksdGhpcy5XZCh0KSx0aGlzLkhkKCl9VWQodCl7dGhpcy5pYS5vXyh0KSx0aGlzLkJjKCl9JGQoKXt0aGlzLmlhLl9fKCksdGhpcy5tcigpfUZkKHQpe3RoaXMuaWEudV8odCl9V2QodCl7dGhpcy5pYS5jXyh0KSx0aGlzLkJjKCl9SGQoKXt0aGlzLmlhLmRfKCksdGhpcy5tcigpfUpuKCl7cmV0dXJuIHRoaXMuX2R9V24oKXtyZXR1cm4gbnVsbD09PXRoaXMudWQmJih0aGlzLnVkPXRoaXMuX2QuZmlsdGVyKCh0PT50Lkl0KCkpKSksdGhpcy51ZH1rYSgpe3RoaXMudWQ9bnVsbH1qZCh0LGkscyxlLGgpe3RoaXMuQ3QuSW4odCxpKTtsZXQgbj1OYU4scj10aGlzLmlhLlJjKHQsITApO2NvbnN0IG89dGhpcy5pYS5FZSgpO251bGwhPT1vJiYocj1NYXRoLm1pbihNYXRoLm1heChvLk9hKCksciksby5iaSgpKSkscj10aGlzLkN0LkZuKHIpO2NvbnN0IGw9ZS5QbigpLGE9bC5MdCgpO2lmKG51bGwhPT1hJiYobj1sLlRuKGksYSkpLG49dGhpcy5NZC54bChuLHIsZSksdGhpcy5DdC5BbihyLG4sZSksdGhpcy5xYSgpLCFoKXtjb25zdCBoPVBpKGUsdCxpKTt0aGlzLmtkKGgmJntsdTpoLmx1LHd1Omgud3UsbXU6aC5tdXx8bnVsbCxlZTpoLmVlfSksdGhpcy5wZC5wKHRoaXMuQ3QuQnQoKSx7eDp0LHk6aX0scyl9fXFkKHQsaSxzKXsKY29uc3QgZT1zLlBuKCksaD1lLkx0KCksbj1lLk50KHQsZihoKSkscj10aGlzLmlhLnZjKGksITApLG89dGhpcy5pYS5qdChmKHIpKTt0aGlzLmpkKG8sbixudWxsLHMsITApfVlkKHQpe3RoaXMuUmQoKS56bigpLHRoaXMucWEoKSx0fHx0aGlzLnBkLnAobnVsbCxudWxsLG51bGwpfVJhKCl7Y29uc3QgdD10aGlzLkN0LktuKCk7aWYobnVsbCE9PXQpe2NvbnN0IGk9dGhpcy5DdC5CbigpLHM9dGhpcy5DdC5FbigpO3RoaXMuamQoaSxzLG51bGwsdCl9dGhpcy5DdC5ObigpfUtkKHQsaSxzKXtjb25zdCBlPXRoaXMuaWEuUm4oMCk7dm9pZCAwIT09aSYmdm9pZCAwIT09cyYmdGhpcy5pYS5rdChpLHMpO2NvbnN0IGg9dGhpcy5pYS5SbigwKSxuPXRoaXMuaWEuUGMoKSxyPXRoaXMuaWEuRWUoKTtpZihudWxsIT09ciYmbnVsbCE9PWUmJm51bGwhPT1oKXtjb25zdCBpPXIuemUobiksbz10aGlzLnh1LmtleShlKT50aGlzLnh1LmtleShoKSxsPW51bGwhPT10JiZ0Pm4mJiFvLGE9dGhpcy5pYS5OKCkuYWxsb3dTaGlmdFZpc2libGVSYW5nZU9uV2hpdGVzcGFjZVJlcGxhY2VtZW50LHU9aSYmKCEodm9pZCAwPT09cyl8fGEpJiZ0aGlzLmlhLk4oKS5zaGlmdFZpc2libGVSYW5nZU9uTmV3QmFyO2lmKGwmJiF1KXtjb25zdCBpPXQtbjt0aGlzLmlhLmdzKHRoaXMuaWEuQWMoKS1pKX19dGhpcy5pYS5OYyh0KX1WYSh0KXtudWxsIT09dCYmdC5odSgpfUtzKHQpe2lmKGZ1bmN0aW9uKHQpe3JldHVybiB0IGluc3RhbmNlb2YgX2l9KHQpKXJldHVybiB0O2NvbnN0IGk9dGhpcy5vZC5maW5kKChpPT5pLkR0KCkuaW5jbHVkZXModCkpKTtyZXR1cm4gdm9pZCAwPT09aT9udWxsOml9QmMoKXt0aGlzLm9kLmZvckVhY2goKHQ9PnQuaHUoKSkpLHRoaXMuUmEoKX1tKCl7dGhpcy5vZC5mb3JFYWNoKCh0PT50Lm0oKSkpLHRoaXMub2QubGVuZ3RoPTAsdGhpcy55bi5sb2NhbGl6YXRpb24ucHJpY2VGb3JtYXR0ZXI9dm9pZCAwLHRoaXMueW4ubG9jYWxpemF0aW9uLnBlcmNlbnRhZ2VGb3JtYXR0ZXI9dm9pZCAwLHRoaXMueW4ubG9jYWxpemF0aW9uLnRpbWVGb3JtYXR0ZXI9dm9pZCAwfVpkKCl7cmV0dXJuIHRoaXMud2R9SnMoKXtyZXR1cm4gdGhpcy53ZC5OKCl9TF8oKXtyZXR1cm4gdGhpcy5mZH1HZCh0LGkpe2NvbnN0IHM9dGhpcy5nZChpKTt0aGlzLlhkKHQscyksdGhpcy5fZC5wdXNoKHQpLHRoaXMua2EoKSwxPT09dGhpcy5fZC5sZW5ndGg/dGhpcy5QYSgpOnRoaXMubXIoKX1KZCh0KXtjb25zdCBpPXRoaXMuS3ModCkscz10aGlzLl9kLmluZGV4T2YodCk7dSgtMSE9PXMsIlNlcmllcyBub3QgZm91bmQiKTtjb25zdCBlPWYoaSk7dGhpcy5fZC5zcGxpY2UocywxKSxlLnJfKHQpLHQubSYmdC5tKCksdGhpcy5rYSgpLHRoaXMuaWEuX2MoKSx0aGlzLlFkKGUpfXlhKHQsaSl7Y29uc3Qgcz1mKHRoaXMuS3ModCkpO3Mucl8odCwhMCkscy5zXyh0LGksITApfVhjKCl7Y29uc3QgdD1YLkNzKCk7dC51cygpLHRoaXMuQ2QodCl9dGYodCl7Y29uc3QgaT1YLkNzKCk7aS5mcyh0KSx0aGlzLkNkKGkpfXdzKCl7Y29uc3QgdD1YLkNzKCk7dC53cygpLHRoaXMuQ2QodCl9TXModCl7Y29uc3QgaT1YLkNzKCk7aS5Ncyh0KSx0aGlzLkNkKGkpfWdzKHQpe2NvbnN0IGk9WC5DcygpO2kuZ3ModCksdGhpcy5DZChpKX1wcyh0KXtjb25zdCBpPVguQ3MoKTtpLnBzKHQpLHRoaXMuQ2QoaSl9Y3MoKXtjb25zdCB0PVguQ3MoKTt0LmNzKCksdGhpcy5DZCh0KX1pZigpe2NvbnN0IHQ9dGhpcy55bi5kZWZhdWx0VmlzaWJsZVByaWNlU2NhbGVJZCxpPXRoaXMueW4ubGVmdFByaWNlU2NhbGUudmlzaWJsZTtyZXR1cm4gaSE9PXRoaXMueW4ucmlnaHRQcmljZVNjYWxlLnZpc2libGU/aT8ibGVmdCI6InJpZ2h0Ijp0fW5mKHQsaSl7aWYodShpPj0wLCJJbmRleCBzaG91bGQgYmUgZ3JlYXRlciBvciBlcXVhbCB0byAwIiksaT09PXRoaXMuc2YodCkpcmV0dXJuO2NvbnN0IHM9Zih0aGlzLktzKHQpKTtzLnJfKHQpO2NvbnN0IGU9dGhpcy5nZChpKTt0aGlzLlhkKHQsZSk7bGV0IGg9ITE7MD09PXMuQ2woKS5sZW5ndGgmJihoPXRoaXMuUWQocykpLGh8fHRoaXMuUGEoKX1lZigpe3JldHVybiB0aGlzLnhkfSQoKXtyZXR1cm4gdGhpcy5iZH1VdCh0KXtjb25zdCBpPXRoaXMueGQscz10aGlzLmJkO2lmKGk9PT1zKXJldHVybiBpO2lmKHQ9TWF0aC5tYXgoMCxNYXRoLm1pbigxMDAsTWF0aC5yb3VuZCgxMDAqdCkpKSxudWxsPT09dGhpcy52ZHx8dGhpcy52ZC5haCE9PXN8fHRoaXMudmQub2ghPT1pKXRoaXMudmQ9e2FoOnMsb2g6aSxyZjpuZXcgTWFwfTtlbHNle2NvbnN0IGk9dGhpcy52ZC5yZi5nZXQodCk7aWYodm9pZCAwIT09aSlyZXR1cm4gaX1jb25zdCBlPXRoaXMuVG8udHQocyxpLHQvMTAwKTtyZXR1cm4gdGhpcy52ZC5yZi5zZXQodCxlKSxlfWhmKHQpe3JldHVybiB0aGlzLm9kLmluZGV4T2YodCl9WGkoKXtyZXR1cm4gdGhpcy5Ub31hZigpe3JldHVybiB0aGlzLmxmKCl9bGYodCl7Y29uc3QgaT1uZXcgX2kodGhpcy5pYSx0aGlzKTt0aGlzLm9kLnB1c2goaSk7Y29uc3Qgcz10Pz90aGlzLm9kLmxlbmd0aC0xLGU9WC55cygpO3JldHVybiBlLmVzKHMse3JzOjAsaHM6ITB9KSx0aGlzLkNkKGUpLGl9Z2QodCl7cmV0dXJuIHUodD49MCwiSW5kZXggc2hvdWxkIGJlIGdyZWF0ZXIgb3IgZXF1YWwgdG8gMCIpLCh0PU1hdGgubWluKHRoaXMub2QubGVuZ3RoLHQpKTx0aGlzLm9kLmxlbmd0aD90aGlzLm9kW3RdOnRoaXMubGYodCl9c2YodCl7cmV0dXJuIHRoaXMub2QuZmluZEluZGV4KChpPT5pLlVfKCkuaW5jbHVkZXModCkpKX1MZCh0LGkpe2NvbnN0IHM9bmV3IFgoaSk7aWYobnVsbCE9PXQpe2NvbnN0IGU9dGhpcy5vZC5pbmRleE9mKHQpO3MuZXMoZSx7cnM6aX0pfXJldHVybiBzfXlkKHQsaSl7cmV0dXJuIHZvaWQgMD09PWkmJihpPTIpLHRoaXMuTGQodGhpcy5Lcyh0KSxpKX1DZCh0KXt0aGlzLm1kJiZ0aGlzLm1kKHQpLHRoaXMub2QuZm9yRWFjaCgodD0+dC5wdSgpLndyKCkua3QoKSkpfVhkKHQsaSl7Y29uc3Qgcz10Lk4oKS5wcmljZVNjYWxlSWQsZT12b2lkIDAhPT1zP3M6dGhpcy5pZigpO2kuc18odCxlKSxqKGUpfHx0LnZyKHQuTigpKX0KU2QodCl7Y29uc3QgaT10aGlzLnluLmxheW91dDtyZXR1cm4iZ3JhZGllbnQiPT09aS5iYWNrZ3JvdW5kLnR5cGU/MD09PXQ/aS5iYWNrZ3JvdW5kLnRvcENvbG9yOmkuYmFja2dyb3VuZC5ib3R0b21Db2xvcjppLmJhY2tncm91bmQuY29sb3J9UWQodCl7cmV0dXJuIXQuSF8oKSYmMD09PXQuQ2woKS5sZW5ndGgmJnRoaXMub2QubGVuZ3RoPjEmJih0aGlzLm9kLnNwbGljZSh0aGlzLmhmKHQpLDEpLHRoaXMuUGEoKSwhMCl9fWZ1bmN0aW9uIEFpKHQpe2lmKHQ+PTEpcmV0dXJuIDA7bGV0IGk9MDtmb3IoO2k8ODtpKyspe2NvbnN0IHM9TWF0aC5yb3VuZCh0KTtpZihNYXRoLmFicyhzLXQpPDFlLTgpcmV0dXJuIGk7dCo9MTB9cmV0dXJuIGl9ZnVuY3Rpb24gWmkodCl7cmV0dXJuIWcodCkmJiFiKHQpfWZ1bmN0aW9uIEhpKHQpe3JldHVybiBnKHQpfSFmdW5jdGlvbih0KXt0W3QuRGlzYWJsZWQ9MF09IkRpc2FibGVkIix0W3QuQ29udGludW91cz0xXT0iQ29udGludW91cyIsdFt0Lk9uRGF0YVVwZGF0ZT0yXT0iT25EYXRhVXBkYXRlIn0oT2l8fChPaT17fSkpLGZ1bmN0aW9uKHQpe3RbdC5MYXN0QmFyPTBdPSJMYXN0QmFyIix0W3QuTGFzdFZpc2libGU9MV09Ikxhc3RWaXNpYmxlIn0oS2l8fChLaT17fSkpLGZ1bmN0aW9uKHQpe3QuU29saWQ9InNvbGlkIix0LlZlcnRpY2FsR3JhZGllbnQ9ImdyYWRpZW50In0oVml8fChWaT17fSkpLGZ1bmN0aW9uKHQpe3RbdC5ZZWFyPTBdPSJZZWFyIix0W3QuTW9udGg9MV09Ik1vbnRoIix0W3QuRGF5T2ZNb250aD0yXT0iRGF5T2ZNb250aCIsdFt0LlRpbWU9M109IlRpbWUiLHRbdC5UaW1lV2l0aFNlY29uZHM9NF09IlRpbWVXaXRoU2Vjb25kcyJ9KCRpfHwoJGk9e30pKTtjb25zdCBHaT10PT50LmdldFVUQ0Z1bGxZZWFyKCk7Y2xhc3MgVWl7Y29uc3RydWN0b3IodD0ieXl5eS1NTS1kZCIsaT0iZGVmYXVsdCIpe3RoaXMuX2Y9dCx0aGlzLnVmPWl9Q3UodCl7cmV0dXJuIGZ1bmN0aW9uKHQsaSxzKXtyZXR1cm4gaS5yZXBsYWNlKC95eXl5L2csKHQ9PnR0KEdpKHQpLDQpKSh0KSkucmVwbGFjZSgveXkvZywodD0+dHQoR2kodCklMTAwLDIpKSh0KSkucmVwbGFjZSgvTU1NTS9nLCgodCxpKT0+bmV3IERhdGUodC5nZXRVVENGdWxsWWVhcigpLHQuZ2V0VVRDTW9udGgoKSwxKS50b0xvY2FsZVN0cmluZyhpLHttb250aDoibG9uZyJ9KSkodCxzKSkucmVwbGFjZSgvTU1NL2csKCh0LGkpPT5uZXcgRGF0ZSh0LmdldFVUQ0Z1bGxZZWFyKCksdC5nZXRVVENNb250aCgpLDEpLnRvTG9jYWxlU3RyaW5nKGkse21vbnRoOiJzaG9ydCJ9KSkodCxzKSkucmVwbGFjZSgvTU0vZywodD0+dHQoKHQ9PnQuZ2V0VVRDTW9udGgoKSsxKSh0KSwyKSkodCkpLnJlcGxhY2UoL2RkL2csKHQ9PnR0KCh0PT50LmdldFVUQ0RhdGUoKSkodCksMikpKHQpKX0odCx0aGlzLl9mLHRoaXMudWYpfX1jbGFzcyBZaXtjb25zdHJ1Y3Rvcih0KXt0aGlzLmNmPXR8fCIlaDolbTolcyJ9Q3UodCl7cmV0dXJuIHRoaXMuY2YucmVwbGFjZSgiJWgiLHR0KHQuZ2V0VVRDSG91cnMoKSwyKSkucmVwbGFjZSgiJW0iLHR0KHQuZ2V0VVRDTWludXRlcygpLDIpKS5yZXBsYWNlKCIlcyIsdHQodC5nZXRVVENTZWNvbmRzKCksMikpfX1jb25zdCBqaT17ZGY6Inl5eXktTU0tZGQiLGZmOiIlaDolbTolcyIscGY6IiAiLHZmOiJkZWZhdWx0In07Y2xhc3MgWGl7Y29uc3RydWN0b3IodD17fSl7Y29uc3QgaT17Li4uamksLi4udH07dGhpcy5tZj1uZXcgVWkoaS5kZixpLnZmKSx0aGlzLndmPW5ldyBZaShpLmZmKSx0aGlzLk1mPWkucGZ9Q3UodCl7cmV0dXJuYCR7dGhpcy5tZi5DdSh0KX0ke3RoaXMuTWZ9JHt0aGlzLndmLkN1KHQpfWB9fWZ1bmN0aW9uIEppKHQpe3JldHVybiA2MCp0KjYwKjFlM31mdW5jdGlvbiB0cyh0KXtyZXR1cm4gNjAqdCoxZTN9Y29uc3QgaXM9W3tnZjoxZTMsYmY6MTB9LHtnZjp0cygxKSxiZjoyMH0se2dmOnRzKDUpLGJmOjIxfSx7Z2Y6dHMoMzApLGJmOjIyfSx7Z2Y6SmkoMSksYmY6MzB9LHtnZjpKaSgzKSxiZjozMX0se2dmOkppKDYpLGJmOjMyfSx7Z2Y6SmkoMTIpLGJmOjMzfV07ZnVuY3Rpb24gc3ModCxpKXtpZih0LmdldFVUQ0Z1bGxZZWFyKCkhPT1pLmdldFVUQ0Z1bGxZZWFyKCkpcmV0dXJuIDcwO2lmKHQuZ2V0VVRDTW9udGgoKSE9PWkuZ2V0VVRDTW9udGgoKSlyZXR1cm4gNjA7aWYodC5nZXRVVENEYXRlKCkhPT1pLmdldFVUQ0RhdGUoKSlyZXR1cm4gNTA7Zm9yKGxldCBzPWlzLmxlbmd0aC0xO3M+PTA7LS1zKWlmKE1hdGguZmxvb3IoaS5nZXRUaW1lKCkvaXNbc10uZ2YpIT09TWF0aC5mbG9vcih0LmdldFRpbWUoKS9pc1tzXS5nZikpcmV0dXJuIGlzW3NdLmJmO3JldHVybiAwfWZ1bmN0aW9uIGVzKHQpe2xldCBpPXQ7aWYoYih0KSYmKGk9bnModCkpLCFaaShpKSl0aHJvdyBuZXcgRXJyb3IoInRpbWUgbXVzdCBiZSBvZiB0eXBlIEJ1c2luZXNzRGF5Iik7Y29uc3Qgcz1uZXcgRGF0ZShEYXRlLlVUQyhpLnllYXIsaS5tb250aC0xLGkuZGF5LDAsMCwwLDApKTtyZXR1cm57U2Y6TWF0aC5yb3VuZChzLmdldFRpbWUoKS8xZTMpLHhmOml9fWZ1bmN0aW9uIGhzKHQpe2lmKCFIaSh0KSl0aHJvdyBuZXcgRXJyb3IoInRpbWUgbXVzdCBiZSBvZiB0eXBlIGlzVVRDVGltZXN0YW1wIik7cmV0dXJue1NmOnR9fWZ1bmN0aW9uIG5zKHQpe2NvbnN0IGk9bmV3IERhdGUodCk7aWYoaXNOYU4oaS5nZXRUaW1lKCkpKXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkYXRlIHN0cmluZz0ke3R9LCBleHBlY3RlZCBmb3JtYXQ9eXl5eS1tbS1kZGApO3JldHVybntkYXk6aS5nZXRVVENEYXRlKCksbW9udGg6aS5nZXRVVENNb250aCgpKzEseWVhcjppLmdldFVUQ0Z1bGxZZWFyKCl9fWZ1bmN0aW9uIHJzKHQpe2IodC50aW1lKSYmKHQudGltZT1ucyh0LnRpbWUpKX1jbGFzcyBvc3tvcHRpb25zKCl7cmV0dXJuIHRoaXMueW59c2V0T3B0aW9ucyh0KXt0aGlzLnluPXQsdGhpcy51cGRhdGVGb3JtYXR0ZXIodC5sb2NhbGl6YXRpb24pfXByZXByb2Nlc3NEYXRhKHQpe0FycmF5LmlzQXJyYXkodCk/ZnVuY3Rpb24odCl7dC5mb3JFYWNoKHJzKX0odCk6cnModCl9CmNyZWF0ZUNvbnZlcnRlclRvSW50ZXJuYWxPYmoodCl7cmV0dXJuIGYoZnVuY3Rpb24odCl7cmV0dXJuIDA9PT10Lmxlbmd0aD9udWxsOlppKHRbMF0udGltZSl8fGIodFswXS50aW1lKT9lczpoc30odCkpfWtleSh0KXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIHQmJiJTZiJpbiB0P3QuU2Y6dGhpcy5rZXkodGhpcy5jb252ZXJ0SG9yekl0ZW1Ub0ludGVybmFsKHQpKX1jYWNoZUtleSh0KXtjb25zdCBpPXQ7cmV0dXJuIHZvaWQgMD09PWkueGY/bmV3IERhdGUoMWUzKmkuU2YpLmdldFRpbWUoKTpuZXcgRGF0ZShEYXRlLlVUQyhpLnhmLnllYXIsaS54Zi5tb250aC0xLGkueGYuZGF5KSkuZ2V0VGltZSgpfWNvbnZlcnRIb3J6SXRlbVRvSW50ZXJuYWwodCl7cmV0dXJuIEhpKGk9dCk/aHMoaSk6WmkoaSk/ZXMoaSk6ZXMobnMoaSkpO3ZhciBpfXVwZGF0ZUZvcm1hdHRlcih0KXtpZighdGhpcy55bilyZXR1cm47Y29uc3QgaT10LmRhdGVGb3JtYXQ7dGhpcy55bi50aW1lU2NhbGUudGltZVZpc2libGU/dGhpcy5DZj1uZXcgWGkoe2RmOmksZmY6dGhpcy55bi50aW1lU2NhbGUuc2Vjb25kc1Zpc2libGU/IiVoOiVtOiVzIjoiJWg6JW0iLHBmOiIgICAiLHZmOnQubG9jYWxlfSk6dGhpcy5DZj1uZXcgVWkoaSx0LmxvY2FsZSl9Zm9ybWF0SG9yekl0ZW0odCl7Y29uc3QgaT10O3JldHVybiB0aGlzLkNmLkN1KG5ldyBEYXRlKDFlMyppLlNmKSl9Zm9ybWF0VGlja21hcmsodCxpKXtjb25zdCBzPWZ1bmN0aW9uKHQsaSxzKXtzd2l0Y2godCl7Y2FzZSAwOmNhc2UgMTA6cmV0dXJuIGk/cz80OjM6MjtjYXNlIDIwOmNhc2UgMjE6Y2FzZSAyMjpjYXNlIDMwOmNhc2UgMzE6Y2FzZSAzMjpjYXNlIDMzOnJldHVybiBpPzM6MjtjYXNlIDUwOnJldHVybiAyO2Nhc2UgNjA6cmV0dXJuIDE7Y2FzZSA3MDpyZXR1cm4gMH19KHQud2VpZ2h0LHRoaXMueW4udGltZVNjYWxlLnRpbWVWaXNpYmxlLHRoaXMueW4udGltZVNjYWxlLnNlY29uZHNWaXNpYmxlKSxlPXRoaXMueW4udGltZVNjYWxlO2lmKHZvaWQgMCE9PWUudGlja01hcmtGb3JtYXR0ZXIpe2NvbnN0IGg9ZS50aWNrTWFya0Zvcm1hdHRlcih0Lm9yaWdpbmFsVGltZSxzLGkubG9jYWxlKTtpZihudWxsIT09aClyZXR1cm4gaH1yZXR1cm4gZnVuY3Rpb24odCxpLHMpe2NvbnN0IGU9e307c3dpdGNoKGkpe2Nhc2UgMDplLnllYXI9Im51bWVyaWMiO2JyZWFrO2Nhc2UgMTplLm1vbnRoPSJzaG9ydCI7YnJlYWs7Y2FzZSAyOmUuZGF5PSJudW1lcmljIjticmVhaztjYXNlIDM6ZS5ob3VyMTI9ITEsZS5ob3VyPSIyLWRpZ2l0IixlLm1pbnV0ZT0iMi1kaWdpdCI7YnJlYWs7Y2FzZSA0OmUuaG91cjEyPSExLGUuaG91cj0iMi1kaWdpdCIsZS5taW51dGU9IjItZGlnaXQiLGUuc2Vjb25kPSIyLWRpZ2l0In1jb25zdCBoPXZvaWQgMD09PXQueGY/bmV3IERhdGUoMWUzKnQuU2YpOm5ldyBEYXRlKERhdGUuVVRDKHQueGYueWVhcix0LnhmLm1vbnRoLTEsdC54Zi5kYXkpKTtyZXR1cm4gbmV3IERhdGUoaC5nZXRVVENGdWxsWWVhcigpLGguZ2V0VVRDTW9udGgoKSxoLmdldFVUQ0RhdGUoKSxoLmdldFVUQ0hvdXJzKCksaC5nZXRVVENNaW51dGVzKCksaC5nZXRVVENTZWNvbmRzKCksaC5nZXRVVENNaWxsaXNlY29uZHMoKSkudG9Mb2NhbGVTdHJpbmcocyxlKX0odC50aW1lLHMsaS5sb2NhbGUpfW1heFRpY2tNYXJrV2VpZ2h0KHQpe2xldCBpPXQucmVkdWNlKFdpLHRbMF0pLndlaWdodDtyZXR1cm4gaT4zMCYmaTw1MCYmKGk9MzApLGl9ZmlsbFdlaWdodHNGb3JQb2ludHModCxpKXshZnVuY3Rpb24odCxpPTApe2lmKDA9PT10Lmxlbmd0aClyZXR1cm47bGV0IHM9MD09PWk/bnVsbDp0W2ktMV0udGltZS5TZixlPW51bGwhPT1zP25ldyBEYXRlKDFlMypzKTpudWxsLGg9MDtmb3IobGV0IG49aTtuPHQubGVuZ3RoOysrbil7Y29uc3QgaT10W25dLHI9bmV3IERhdGUoMWUzKmkudGltZS5TZik7bnVsbCE9PWUmJihpLnRpbWVXZWlnaHQ9c3MocixlKSksaCs9aS50aW1lLlNmLShzfHxpLnRpbWUuU2YpLHM9aS50aW1lLlNmLGU9cn1pZigwPT09aSYmdC5sZW5ndGg+MSl7Y29uc3QgaT1NYXRoLmNlaWwoaC8odC5sZW5ndGgtMSkpLHM9bmV3IERhdGUoMWUzKih0WzBdLnRpbWUuU2YtaSkpO3RbMF0udGltZVdlaWdodD1zcyhuZXcgRGF0ZSgxZTMqdFswXS50aW1lLlNmKSxzKX19KHQsaSl9c3RhdGljIHlmKHQpe3JldHVybiBwKHtsb2NhbGl6YXRpb246e2RhdGVGb3JtYXQ6ImRkIE1NTSAneXkifX0sdD8/e30pfX1jb25zdCBscz0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdztmdW5jdGlvbiBhcygpe3JldHVybiEhbHMmJndpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkuaW5kZXhPZigiZmlyZWZveCIpPi0xfWZ1bmN0aW9uIHVzKCl7cmV0dXJuISFscyYmL2lQaG9uZXxpUGFkfGlQb2QvLnRlc3Qod2luZG93Lm5hdmlnYXRvci5wbGF0Zm9ybSl9ZnVuY3Rpb24gY3ModCxpKXtzd2l0Y2godCl7Y2FzZSJjdXN0b20iOnJldHVybiB2b2lkIDAhPT1pPyJjdXN0b20tb2JqZWN0Ijoic2VyaWVzIjtjYXNlInByaWNlLWxpbmUiOnJldHVybiJjdXN0b20tcHJpY2UtbGluZSI7Y2FzZSJtYXJrZXIiOnJldHVybiJzZXJpZXMtbWFya2VyIjtjYXNlInByaW1pdGl2ZSI6cmV0dXJuInByaW1pdGl2ZSI7ZGVmYXVsdDpyZXR1cm4ic2VyaWVzIn19ZnVuY3Rpb24gZnModCl7cmV0dXJuIHQrdCUyfWNsYXNzIGRze2NvbnN0cnVjdG9yKHQsaSxzKXt0aGlzLmtmPTAsdGhpcy5QZj1udWxsLHRoaXMuVGY9e190Ok51bWJlci5ORUdBVElWRV9JTkZJTklUWSx1dDpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFl9LHRoaXMuUmY9MCx0aGlzLkRmPW51bGwsdGhpcy5JZj17X3Q6TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLHV0Ok51bWJlci5QT1NJVElWRV9JTkZJTklUWX0sdGhpcy5WZj1udWxsLHRoaXMuQmY9ITEsdGhpcy5FZj1udWxsLHRoaXMuQWY9bnVsbCx0aGlzLkxmPSExLHRoaXMuemY9ITEsdGhpcy5PZj0hMSx0aGlzLk5mPW51bGwsdGhpcy5GZj1udWxsLHRoaXMuV2Y9bnVsbCx0aGlzLkhmPW51bGwsdGhpcy5VZj1udWxsLHRoaXMuJGY9bnVsbCx0aGlzLmpmPW51bGwsdGhpcy5xZj0wLAp0aGlzLllmPSExLHRoaXMuS2Y9ITEsdGhpcy5aZj0hMSx0aGlzLkdmPTAsdGhpcy5YZj1udWxsLHRoaXMuSmY9IXVzKCksdGhpcy5RZj10PT57dGhpcy50cCh0KX0sdGhpcy5pcD10PT57aWYodGhpcy5ucCh0KSl7Y29uc3QgaT10aGlzLnNwKHQpO2lmKCsrdGhpcy5SZix0aGlzLkRmJiZ0aGlzLlJmPjEpe2NvbnN0e2VwOnN9PXRoaXMucnAoZ3ModCksdGhpcy5JZik7czwzMCYmIXRoaXMuT2YmJnRoaXMuaHAoaSx0aGlzLmxwLmFwKSx0aGlzLm9wKCl9fWVsc2V7Y29uc3QgaT10aGlzLnNwKHQpO2lmKCsrdGhpcy5rZix0aGlzLlBmJiZ0aGlzLmtmPjEpe2NvbnN0e2VwOnN9PXRoaXMucnAoZ3ModCksdGhpcy5UZik7czw1JiYhdGhpcy56ZiYmdGhpcy5fcChpLHRoaXMubHAudXApLHRoaXMuY3AoKX19fSx0aGlzLmRwPXQsdGhpcy5scD1pLHRoaXMueW49cyx0aGlzLmZwKCl9bSgpe251bGwhPT10aGlzLk5mJiYodGhpcy5OZigpLHRoaXMuTmY9bnVsbCksbnVsbCE9PXRoaXMuRmYmJih0aGlzLkZmKCksdGhpcy5GZj1udWxsKSxudWxsIT09dGhpcy5IZiYmKHRoaXMuSGYoKSx0aGlzLkhmPW51bGwpLG51bGwhPT10aGlzLlVmJiYodGhpcy5VZigpLHRoaXMuVWY9bnVsbCksbnVsbCE9PXRoaXMuJGYmJih0aGlzLiRmKCksdGhpcy4kZj1udWxsKSxudWxsIT09dGhpcy5XZiYmKHRoaXMuV2YoKSx0aGlzLldmPW51bGwpLHRoaXMucHAoKSx0aGlzLmNwKCl9dnAodCl7dGhpcy5IZiYmdGhpcy5IZigpO2NvbnN0IGk9dGhpcy5tcC5iaW5kKHRoaXMpO2lmKHRoaXMuSGY9KCk9Pnt0aGlzLmRwLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsaSl9LHRoaXMuZHAuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixpKSx0aGlzLm5wKHQpKXJldHVybjtjb25zdCBzPXRoaXMuc3AodCk7dGhpcy5fcChzLHRoaXMubHAud3ApLHRoaXMuSmY9ITB9Y3AoKXtudWxsIT09dGhpcy5QZiYmY2xlYXJUaW1lb3V0KHRoaXMuUGYpLHRoaXMua2Y9MCx0aGlzLlBmPW51bGwsdGhpcy5UZj17X3Q6TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLHV0Ok51bWJlci5QT1NJVElWRV9JTkZJTklUWX19b3AoKXtudWxsIT09dGhpcy5EZiYmY2xlYXJUaW1lb3V0KHRoaXMuRGYpLHRoaXMuUmY9MCx0aGlzLkRmPW51bGwsdGhpcy5JZj17X3Q6TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLHV0Ok51bWJlci5QT1NJVElWRV9JTkZJTklUWX19bXAodCl7aWYodGhpcy5aZnx8bnVsbCE9PXRoaXMuQWYpcmV0dXJuO2lmKHRoaXMubnAodCkpcmV0dXJuO2NvbnN0IGk9dGhpcy5zcCh0KTt0aGlzLl9wKGksdGhpcy5scC5NcCksdGhpcy5KZj0hMH1ncCh0KXtjb25zdCBpPWJzKHQuY2hhbmdlZFRvdWNoZXMsZih0aGlzLlhmKSk7aWYobnVsbD09PWkpcmV0dXJuO2lmKHRoaXMuR2Y9dnModCksbnVsbCE9PXRoaXMuamYpcmV0dXJuO2lmKHRoaXMuS2YpcmV0dXJuO3RoaXMuWWY9ITA7Y29uc3Qgcz10aGlzLnJwKGdzKGkpLGYodGhpcy5BZikpLHticDplLFNwOmgsZXA6bn09cztpZih0aGlzLkxmfHwhKG48NSkpe2lmKCF0aGlzLkxmKXtjb25zdCB0PS41KmUsaT1oPj10JiYhdGhpcy55bi54cCgpLHM9dD5oJiYhdGhpcy55bi5DcCgpO2l8fHN8fCh0aGlzLktmPSEwKSx0aGlzLkxmPSEwLHRoaXMuT2Y9ITAsdGhpcy5wcCgpLHRoaXMub3AoKX1pZighdGhpcy5LZil7Y29uc3Qgcz10aGlzLnNwKHQsaSk7dGhpcy5ocChzLHRoaXMubHAueXApLHBzKHQpfX19a3AodCl7aWYoMCE9PXQuYnV0dG9uKXJldHVybjtjb25zdCBpPXRoaXMucnAoZ3ModCksZih0aGlzLkVmKSkse2VwOnN9PWk7aWYocz49NSYmKHRoaXMuemY9ITAsdGhpcy5jcCgpKSx0aGlzLnpmKXtjb25zdCBpPXRoaXMuc3AodCk7dGhpcy5fcChpLHRoaXMubHAuUHApfX1ycCh0LGkpe2NvbnN0IHM9TWF0aC5hYnMoaS5fdC10Ll90KSxlPU1hdGguYWJzKGkudXQtdC51dCk7cmV0dXJue2JwOnMsU3A6ZSxlcDpzK2V9fVRwKHQpe2xldCBpPWJzKHQuY2hhbmdlZFRvdWNoZXMsZih0aGlzLlhmKSk7aWYobnVsbD09PWkmJjA9PT10LnRvdWNoZXMubGVuZ3RoJiYoaT10LmNoYW5nZWRUb3VjaGVzWzBdKSxudWxsPT09aSlyZXR1cm47dGhpcy5YZj1udWxsLHRoaXMuR2Y9dnModCksdGhpcy5wcCgpLHRoaXMuQWY9bnVsbCx0aGlzLiRmJiYodGhpcy4kZigpLHRoaXMuJGY9bnVsbCk7Y29uc3Qgcz10aGlzLnNwKHQsaSk7aWYodGhpcy5ocChzLHRoaXMubHAuUnApLCsrdGhpcy5SZix0aGlzLkRmJiZ0aGlzLlJmPjEpe2NvbnN0e2VwOnR9PXRoaXMucnAoZ3MoaSksdGhpcy5JZik7dDwzMCYmIXRoaXMuT2YmJnRoaXMuaHAocyx0aGlzLmxwLmFwKSx0aGlzLm9wKCl9ZWxzZSB0aGlzLk9mfHwodGhpcy5ocChzLHRoaXMubHAuRHApLHRoaXMubHAuRHAmJnBzKHQpKTswPT09dGhpcy5SZiYmcHModCksMD09PXQudG91Y2hlcy5sZW5ndGgmJnRoaXMuQmYmJih0aGlzLkJmPSExLHBzKHQpKX10cCh0KXtpZigwIT09dC5idXR0b24pcmV0dXJuO2NvbnN0IGk9dGhpcy5zcCh0KTtpZih0aGlzLkVmPW51bGwsdGhpcy5aZj0hMSx0aGlzLlVmJiYodGhpcy5VZigpLHRoaXMuVWY9bnVsbCksYXMoKSYmdGhpcy5kcC5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIix0aGlzLlFmKSwhdGhpcy5ucCh0KSlpZih0aGlzLl9wKGksdGhpcy5scC5JcCksKyt0aGlzLmtmLHRoaXMuUGYmJnRoaXMua2Y+MSl7Y29uc3R7ZXA6c309dGhpcy5ycChncyh0KSx0aGlzLlRmKTtzPDUmJiF0aGlzLnpmJiZ0aGlzLl9wKGksdGhpcy5scC51cCksdGhpcy5jcCgpfWVsc2UgdGhpcy56Znx8dGhpcy5fcChpLHRoaXMubHAuVnApfXBwKCl7bnVsbCE9PXRoaXMuVmYmJihjbGVhclRpbWVvdXQodGhpcy5WZiksdGhpcy5WZj1udWxsKX1CcCh0KXtpZihudWxsIT09dGhpcy5YZilyZXR1cm47Y29uc3QgaT10LmNoYW5nZWRUb3VjaGVzWzBdO3RoaXMuWGY9aS5pZGVudGlmaWVyLHRoaXMuR2Y9dnModCk7Y29uc3Qgcz10aGlzLmRwLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O3RoaXMuT2Y9ITEsdGhpcy5MZj0hMSx0aGlzLktmPSExLHRoaXMuQWY9Z3MoaSksCnRoaXMuJGYmJih0aGlzLiRmKCksdGhpcy4kZj1udWxsKTt7Y29uc3QgaT10aGlzLmdwLmJpbmQodGhpcyksZT10aGlzLlRwLmJpbmQodGhpcyk7dGhpcy4kZj0oKT0+e3MucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixpKSxzLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixlKX0scy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGkse3Bhc3NpdmU6ITF9KSxzLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixlLHtwYXNzaXZlOiExfSksdGhpcy5wcCgpLHRoaXMuVmY9c2V0VGltZW91dCh0aGlzLkVwLmJpbmQodGhpcyx0KSwyNDApfWNvbnN0IGU9dGhpcy5zcCh0LGkpO3RoaXMuaHAoZSx0aGlzLmxwLkFwKSx0aGlzLkRmfHwodGhpcy5SZj0wLHRoaXMuRGY9c2V0VGltZW91dCh0aGlzLm9wLmJpbmQodGhpcyksNTAwKSx0aGlzLklmPWdzKGkpKX1McCh0KXtpZigwIT09dC5idXR0b24pcmV0dXJuO2NvbnN0IGk9dGhpcy5kcC5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudDthcygpJiZpLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuUWYpLHRoaXMuemY9ITEsdGhpcy5FZj1ncyh0KSx0aGlzLlVmJiYodGhpcy5VZigpLHRoaXMuVWY9bnVsbCk7e2NvbnN0IHQ9dGhpcy5rcC5iaW5kKHRoaXMpLHM9dGhpcy50cC5iaW5kKHRoaXMpO3RoaXMuVWY9KCk9PntpLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdCksaS5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIixzKX0saS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHQpLGkuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIscyl9aWYodGhpcy5aZj0hMCx0aGlzLm5wKHQpKXJldHVybjtjb25zdCBzPXRoaXMuc3AodCk7dGhpcy5fcChzLHRoaXMubHAuenApLHRoaXMuUGZ8fCh0aGlzLmtmPTAsdGhpcy5QZj1zZXRUaW1lb3V0KHRoaXMuY3AuYmluZCh0aGlzKSw1MDApLHRoaXMuVGY9Z3ModCkpfWZwKCl7dGhpcy5kcC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIix0aGlzLnZwLmJpbmQodGhpcykpLHRoaXMuZHAuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hjYW5jZWwiLHRoaXMucHAuYmluZCh0aGlzKSk7e2NvbnN0IHQ9dGhpcy5kcC5vd25lckRvY3VtZW50LGk9dD0+e3RoaXMubHAuT3AmJih0LmNvbXBvc2VkJiZ0aGlzLmRwLmNvbnRhaW5zKHQuY29tcG9zZWRQYXRoKClbMF0pfHx0LnRhcmdldCYmdGhpcy5kcC5jb250YWlucyh0LnRhcmdldCl8fHRoaXMubHAuT3AoKSl9O3RoaXMuRmY9KCk9Pnt0LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGkpfSx0aGlzLk5mPSgpPT57dC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLGkpfSx0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsaSksdC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixpLHtwYXNzaXZlOiEwfSl9dXMoKSYmKHRoaXMuV2Y9KCk9Pnt0aGlzLmRwLnJlbW92ZUV2ZW50TGlzdGVuZXIoImRibGNsaWNrIix0aGlzLmlwKX0sdGhpcy5kcC5hZGRFdmVudExpc3RlbmVyKCJkYmxjbGljayIsdGhpcy5pcCkpLHRoaXMuZHAuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdGhpcy5OcC5iaW5kKHRoaXMpKSx0aGlzLmRwLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHRoaXMuQnAuYmluZCh0aGlzKSx7cGFzc2l2ZTohMH0pLGZ1bmN0aW9uKHQpe2xzJiZ2b2lkIDAhPT13aW5kb3cuY2hyb21lJiZ0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsKHQ9PntpZigxPT09dC5idXR0b24pcmV0dXJuIHQucHJldmVudERlZmF1bHQoKSwhMX0pKX0odGhpcy5kcCksdGhpcy5kcC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLHRoaXMuTHAuYmluZCh0aGlzKSksdGhpcy5GcCgpLHRoaXMuZHAuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIiwoKCk9Pnt9KSx7cGFzc2l2ZTohMX0pfUZwKCl7dm9pZCAwPT09dGhpcy5scC5XcCYmdm9pZCAwPT09dGhpcy5scC5IcCYmdm9pZCAwPT09dGhpcy5scC5VcHx8KHRoaXMuZHAuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsKHQ9PnRoaXMuJHAodC50b3VjaGVzKSkse3Bhc3NpdmU6ITB9KSx0aGlzLmRwLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsKHQ9PntpZigyPT09dC50b3VjaGVzLmxlbmd0aCYmbnVsbCE9PXRoaXMuamYmJnZvaWQgMCE9PXRoaXMubHAuSHApe2NvbnN0IGk9bXModC50b3VjaGVzWzBdLHQudG91Y2hlc1sxXSkvdGhpcy5xZjt0aGlzLmxwLkhwKHRoaXMuamYsaSkscHModCl9fSkse3Bhc3NpdmU6ITF9KSx0aGlzLmRwLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIiwodD0+e3RoaXMuJHAodC50b3VjaGVzKX0pKSl9JHAodCl7MT09PXQubGVuZ3RoJiYodGhpcy5ZZj0hMSksMiE9PXQubGVuZ3RofHx0aGlzLllmfHx0aGlzLkJmP3RoaXMuanAoKTp0aGlzLnFwKHQpfXFwKHQpe2NvbnN0IGk9dGhpcy5kcC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKXx8e2xlZnQ6MCx0b3A6MH07dGhpcy5qZj17X3Q6KHRbMF0uY2xpZW50WC1pLmxlZnQrKHRbMV0uY2xpZW50WC1pLmxlZnQpKS8yLHV0Oih0WzBdLmNsaWVudFktaS50b3ArKHRbMV0uY2xpZW50WS1pLnRvcCkpLzJ9LHRoaXMucWY9bXModFswXSx0WzFdKSx2b2lkIDAhPT10aGlzLmxwLldwJiZ0aGlzLmxwLldwKCksdGhpcy5wcCgpfWpwKCl7bnVsbCE9PXRoaXMuamYmJih0aGlzLmpmPW51bGwsdm9pZCAwIT09dGhpcy5scC5VcCYmdGhpcy5scC5VcCgpKX1OcCh0KXtpZih0aGlzLkhmJiZ0aGlzLkhmKCksdGhpcy5ucCh0KSlyZXR1cm47aWYoIXRoaXMuSmYpcmV0dXJuO2NvbnN0IGk9dGhpcy5zcCh0KTt0aGlzLl9wKGksdGhpcy5scC5ZcCksdGhpcy5KZj0hdXMoKX1FcCh0KXtjb25zdCBpPWJzKHQudG91Y2hlcyxmKHRoaXMuWGYpKTtpZihudWxsPT09aSlyZXR1cm47Y29uc3Qgcz10aGlzLnNwKHQsaSk7dGhpcy5ocChzLHRoaXMubHAuS3ApLHRoaXMuT2Y9ITAsdGhpcy5CZj0hMH1ucCh0KXsKcmV0dXJuIHQuc291cmNlQ2FwYWJpbGl0aWVzJiZ2b2lkIDAhPT10LnNvdXJjZUNhcGFiaWxpdGllcy5maXJlc1RvdWNoRXZlbnRzP3Quc291cmNlQ2FwYWJpbGl0aWVzLmZpcmVzVG91Y2hFdmVudHM6dnModCk8dGhpcy5HZis1MDB9aHAodCxpKXtpJiZpLmNhbGwodGhpcy5scCx0KX1fcCh0LGkpe2kmJmkuY2FsbCh0aGlzLmxwLHQpfXNwKHQsaSl7Y29uc3Qgcz1pfHx0LGU9dGhpcy5kcC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKXx8e2xlZnQ6MCx0b3A6MH07cmV0dXJue2NsaWVudFg6cy5jbGllbnRYLGNsaWVudFk6cy5jbGllbnRZLHBhZ2VYOnMucGFnZVgscGFnZVk6cy5wYWdlWSxzY3JlZW5YOnMuc2NyZWVuWCxzY3JlZW5ZOnMuc2NyZWVuWSxsb2NhbFg6cy5jbGllbnRYLWUubGVmdCxsb2NhbFk6cy5jbGllbnRZLWUudG9wLGN0cmxLZXk6dC5jdHJsS2V5LGFsdEtleTp0LmFsdEtleSxzaGlmdEtleTp0LnNoaWZ0S2V5LG1ldGFLZXk6dC5tZXRhS2V5LFpwOiF0LnR5cGUuc3RhcnRzV2l0aCgibW91c2UiKSYmImNvbnRleHRtZW51IiE9PXQudHlwZSYmImNsaWNrIiE9PXQudHlwZSxHcDp0LnR5cGUsWHA6cy50YXJnZXQsZ3U6dC52aWV3LEpwOigpPT57InRvdWNoc3RhcnQiIT09dC50eXBlJiZwcyh0KX19fX1mdW5jdGlvbiBtcyh0LGkpe2NvbnN0IHM9dC5jbGllbnRYLWkuY2xpZW50WCxlPXQuY2xpZW50WS1pLmNsaWVudFk7cmV0dXJuIE1hdGguc3FydChzKnMrZSplKX1mdW5jdGlvbiBwcyh0KXt0LmNhbmNlbGFibGUmJnQucHJldmVudERlZmF1bHQoKX1mdW5jdGlvbiBncyh0KXtyZXR1cm57X3Q6dC5wYWdlWCx1dDp0LnBhZ2VZfX1mdW5jdGlvbiB2cyh0KXtyZXR1cm4gdC50aW1lU3RhbXB8fHBlcmZvcm1hbmNlLm5vdygpfWZ1bmN0aW9uIGJzKHQsaSl7Zm9yKGxldCBzPTA7czx0Lmxlbmd0aDsrK3MpaWYodFtzXS5pZGVudGlmaWVyPT09aSlyZXR1cm4gdFtzXTtyZXR1cm4gbnVsbH1jbGFzcyB3c3tjb25zdHJ1Y3Rvcih0LGkscyl7dGhpcy5RcD1udWxsLHRoaXMudHY9bnVsbCx0aGlzLml2PSEwLHRoaXMubnY9bnVsbCx0aGlzLnN2PXQsdGhpcy5ldj10LnJ2KClbaV0sdGhpcy5odj10LnJ2KClbc10sdGhpcy5hdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ciIpLHRoaXMuYXYuc3R5bGUuaGVpZ2h0PSIxcHgiLHRoaXMubHY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKSx0aGlzLmx2LnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSIsdGhpcy5sdi5zdHlsZS5wYWRkaW5nPSIwIix0aGlzLmx2LnN0eWxlLm1hcmdpbj0iMCIsdGhpcy5sdi5zZXRBdHRyaWJ1dGUoImNvbHNwYW4iLCIzIiksdGhpcy5vdigpLHRoaXMuYXYuYXBwZW5kQ2hpbGQodGhpcy5sdiksdGhpcy5pdj10aGlzLnN2Lk4oKS5sYXlvdXQucGFuZXMuZW5hYmxlUmVzaXplLHRoaXMuaXY/dGhpcy5fdigpOih0aGlzLlFwPW51bGwsdGhpcy50dj1udWxsKX1tKCl7bnVsbCE9PXRoaXMudHYmJnRoaXMudHYubSgpfXV2KCl7cmV0dXJuIHRoaXMuYXZ9Y3YoKXtyZXR1cm4gZS5zaXplKHt3aWR0aDp0aGlzLmV2LmN2KCkud2lkdGgsaGVpZ2h0OjF9KX1kdigpe3JldHVybiBlLnNpemUoe3dpZHRoOnRoaXMuZXYuZHYoKS53aWR0aCxoZWlnaHQ6MSp3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb30pfWZ2KHQsaSxzKXtjb25zdCBlPXRoaXMuZHYoKTt0LmZpbGxTdHlsZT10aGlzLnN2Lk4oKS5sYXlvdXQucGFuZXMuc2VwYXJhdG9yQ29sb3IsdC5maWxsUmVjdChpLHMsZS53aWR0aCxlLmhlaWdodCl9a3QoKXt0aGlzLm92KCksdGhpcy5zdi5OKCkubGF5b3V0LnBhbmVzLmVuYWJsZVJlc2l6ZSE9PXRoaXMuaXYmJih0aGlzLml2PXRoaXMuc3YuTigpLmxheW91dC5wYW5lcy5lbmFibGVSZXNpemUsdGhpcy5pdj90aGlzLl92KCk6KG51bGwhPT10aGlzLlFwJiYodGhpcy5sdi5yZW1vdmVDaGlsZCh0aGlzLlFwLnB2KSx0aGlzLmx2LnJlbW92ZUNoaWxkKHRoaXMuUXAudnYpLHRoaXMuUXA9bnVsbCksbnVsbCE9PXRoaXMudHYmJih0aGlzLnR2Lm0oKSx0aGlzLnR2PW51bGwpKSl9X3YoKXtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGk9dC5zdHlsZTtpLnBvc2l0aW9uPSJmaXhlZCIsaS5kaXNwbGF5PSJub25lIixpLnpJbmRleD0iNDkiLGkudG9wPSIwIixpLmxlZnQ9IjAiLGkud2lkdGg9IjEwMCUiLGkuaGVpZ2h0PSIxMDAlIixpLmN1cnNvcj0icm93LXJlc2l6ZSIsdGhpcy5sdi5hcHBlbmRDaGlsZCh0KTtjb25zdCBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGU9cy5zdHlsZTtlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsZS56SW5kZXg9IjUwIixlLnRvcD0iLTRweCIsZS5oZWlnaHQ9IjlweCIsZS53aWR0aD0iMTAwJSIsZS5iYWNrZ3JvdW5kQ29sb3I9IiIsZS5jdXJzb3I9InJvdy1yZXNpemUiLHRoaXMubHYuYXBwZW5kQ2hpbGQocyk7Y29uc3QgaD17d3A6dGhpcy5tdi5iaW5kKHRoaXMpLFlwOnRoaXMud3YuYmluZCh0aGlzKSx6cDp0aGlzLk12LmJpbmQodGhpcyksQXA6dGhpcy5Ndi5iaW5kKHRoaXMpLFBwOnRoaXMuZ3YuYmluZCh0aGlzKSx5cDp0aGlzLmd2LmJpbmQodGhpcyksSXA6dGhpcy5idi5iaW5kKHRoaXMpLFJwOnRoaXMuYnYuYmluZCh0aGlzKX07dGhpcy50dj1uZXcgZHMocyxoLHt4cDooKT0+ITEsQ3A6KCk9PiEwfSksdGhpcy5RcD17dnY6cyxwdjp0fX1vdigpe3RoaXMubHYuc3R5bGUuYmFja2dyb3VuZD10aGlzLnN2Lk4oKS5sYXlvdXQucGFuZXMuc2VwYXJhdG9yQ29sb3J9bXYodCl7bnVsbCE9PXRoaXMuUXAmJih0aGlzLlFwLnZ2LnN0eWxlLmJhY2tncm91bmRDb2xvcj10aGlzLnN2Lk4oKS5sYXlvdXQucGFuZXMuc2VwYXJhdG9ySG92ZXJDb2xvcil9d3YodCl7bnVsbCE9PXRoaXMuUXAmJm51bGw9PT10aGlzLm52JiYodGhpcy5RcC52di5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I9IiIpfU12KHQpe2lmKG51bGw9PT10aGlzLlFwKXJldHVybjtjb25zdCBpPXRoaXMuZXYuU3YoKS56XygpK3RoaXMuaHYuU3YoKS56XygpLHM9aS8odGhpcy5ldi5jdigpLmhlaWdodCt0aGlzLmh2LmN2KCkuaGVpZ2h0KSxlPTMwKnM7aTw9MiplfHwodGhpcy5udj17eHY6dC5wYWdlWSwKQ3Y6dGhpcy5ldi5TdigpLnpfKCkseXY6aS1lLGt2OmksUHY6cyxUdjplfSx0aGlzLlFwLnB2LnN0eWxlLmRpc3BsYXk9ImJsb2NrIil9Z3YodCl7Y29uc3QgaT10aGlzLm52O2lmKG51bGw9PT1pKXJldHVybjtjb25zdCBzPSh0LnBhZ2VZLWkueHYpKmkuUHYsZT1paShpLkN2K3MsaS5UdixpLnl2KTt0aGlzLmV2LlN2KCkuT18oZSksdGhpcy5odi5TdigpLk9fKGkua3YtZSksdGhpcy5zdi5RdCgpLlBhKCl9YnYodCl7bnVsbCE9PXRoaXMubnYmJm51bGwhPT10aGlzLlFwJiYodGhpcy5udj1udWxsLHRoaXMuUXAucHYuc3R5bGUuZGlzcGxheT0ibm9uZSIpfX1mdW5jdGlvbiBNcyh0LGkpe3JldHVybiB0LlJ2LWkuUnZ9ZnVuY3Rpb24geXModCxpLHMpe2NvbnN0IGU9KHQuUnYtaS5SdikvKHQud3QtaS53dCk7cmV0dXJuIE1hdGguc2lnbihlKSpNYXRoLm1pbihNYXRoLmFicyhlKSxzKX1jbGFzcyBTc3tjb25zdHJ1Y3Rvcih0LGkscyxlKXt0aGlzLkR2PW51bGwsdGhpcy5Jdj1udWxsLHRoaXMuVnY9bnVsbCx0aGlzLkJ2PW51bGwsdGhpcy5Fdj1udWxsLHRoaXMuQXY9MCx0aGlzLkx2PTAsdGhpcy56dj10LHRoaXMuT3Y9aSx0aGlzLk52PXMsdGhpcy5rcz1lfUZ2KHQsaSl7aWYobnVsbCE9PXRoaXMuRHYpe2lmKHRoaXMuRHYud3Q9PT1pKXJldHVybiB2b2lkKHRoaXMuRHYuUnY9dCk7aWYoTWF0aC5hYnModGhpcy5Edi5Sdi10KTx0aGlzLmtzKXJldHVybn10aGlzLkJ2PXRoaXMuVnYsdGhpcy5Wdj10aGlzLkl2LHRoaXMuSXY9dGhpcy5Edix0aGlzLkR2PXt3dDppLFJ2OnR9fW1lKHQsaSl7aWYobnVsbD09PXRoaXMuRHZ8fG51bGw9PT10aGlzLkl2KXJldHVybjtpZihpLXRoaXMuRHYud3Q+NTApcmV0dXJuO2xldCBzPTA7Y29uc3QgZT15cyh0aGlzLkR2LHRoaXMuSXYsdGhpcy5PdiksaD1Ncyh0aGlzLkR2LHRoaXMuSXYpLG49W2VdLHI9W2hdO2lmKHMrPWgsbnVsbCE9PXRoaXMuVnYpe2NvbnN0IHQ9eXModGhpcy5Jdix0aGlzLlZ2LHRoaXMuT3YpO2lmKE1hdGguc2lnbih0KT09PU1hdGguc2lnbihlKSl7Y29uc3QgaT1Ncyh0aGlzLkl2LHRoaXMuVnYpO2lmKG4ucHVzaCh0KSxyLnB1c2goaSkscys9aSxudWxsIT09dGhpcy5Cdil7Y29uc3QgdD15cyh0aGlzLlZ2LHRoaXMuQnYsdGhpcy5Pdik7aWYoTWF0aC5zaWduKHQpPT09TWF0aC5zaWduKGUpKXtjb25zdCBpPU1zKHRoaXMuVnYsdGhpcy5Cdik7bi5wdXNoKHQpLHIucHVzaChpKSxzKz1pfX19fWxldCBvPTA7Zm9yKGxldCB0PTA7dDxuLmxlbmd0aDsrK3Qpbys9clt0XS9zKm5bdF07TWF0aC5hYnMobyk8dGhpcy56dnx8KHRoaXMuRXY9e1J2OnQsd3Q6aX0sdGhpcy5Mdj1vLHRoaXMuQXY9ZnVuY3Rpb24odCxpKXtjb25zdCBzPU1hdGgubG9nKGkpO3JldHVybiBNYXRoLmxvZygxKnMvLXQpL3N9KE1hdGguYWJzKG8pLHRoaXMuTnYpKX1xYyh0KXtjb25zdCBpPWYodGhpcy5Fdikscz10LWkud3Q7cmV0dXJuIGkuUnYrdGhpcy5MdiooTWF0aC5wb3codGhpcy5OdixzKS0xKS9NYXRoLmxvZyh0aGlzLk52KX1qYyh0KXtyZXR1cm4gbnVsbD09PXRoaXMuRXZ8fHRoaXMuV3YodCk9PT10aGlzLkF2fVd2KHQpe2NvbnN0IGk9dC1mKHRoaXMuRXYpLnd0O3JldHVybiBNYXRoLm1pbihpLHRoaXMuQXYpfX1jbGFzcyB4c3tjb25zdHJ1Y3Rvcih0LGkpe3RoaXMuSHY9dm9pZCAwLHRoaXMuVXY9dm9pZCAwLHRoaXMuJHY9dm9pZCAwLHRoaXMudm49ITEsdGhpcy5qdj10LHRoaXMucXY9aSx0aGlzLll2KCl9a3QoKXt0aGlzLll2KCl9S3YoKXt0aGlzLkh2JiZ0aGlzLmp2LnJlbW92ZUNoaWxkKHRoaXMuSHYpLHRoaXMuVXYmJnRoaXMuanYucmVtb3ZlQ2hpbGQodGhpcy5VdiksdGhpcy5Idj12b2lkIDAsdGhpcy5Vdj12b2lkIDB9WnYoKXtyZXR1cm4gdGhpcy52biE9PXRoaXMuR3YoKXx8dGhpcy4kdiE9PXRoaXMuWHYoKX1Ydigpe3JldHVybiB0aGlzLnF2LlF0KCkuWGkoKS5KKHRoaXMucXYuTigpLmxheW91dC50ZXh0Q29sb3IpPjE2MD8iZGFyayI6ImxpZ2h0In1Hdigpe3JldHVybiB0aGlzLnF2Lk4oKS5sYXlvdXQuYXR0cmlidXRpb25Mb2dvfUp2KCl7Y29uc3QgdD1uZXcgVVJMKGxvY2F0aW9uLmhyZWYpO3JldHVybiB0Lmhvc3RuYW1lPyImdXRtX3NvdXJjZT0iK3QuaG9zdG5hbWUrdC5wYXRobmFtZToiIn1Zdigpe3RoaXMuWnYoKSYmKHRoaXMuS3YoKSx0aGlzLnZuPXRoaXMuR3YoKSx0aGlzLnZuJiYodGhpcy4kdj10aGlzLlh2KCksdGhpcy5Vdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpLHRoaXMuVXYuaW5uZXJUZXh0PSJhI3R2LWF0dHItbG9nb3stLWZpbGw6IzEzMTcyMjstLXN0cm9rZTojZmZmO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MTBweDtib3R0b206MTBweDtoZWlnaHQ6MTlweDt3aWR0aDozNXB4O21hcmdpbjowO3BhZGRpbmc6MDtib3JkZXI6MDt6LWluZGV4OjM7fWEjdHYtYXR0ci1sb2dvW2RhdGEtZGFya117LS1maWxsOiNEMUQ0REM7LS1zdHJva2U6IzEzMTcyMjt9Iix0aGlzLkh2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKSx0aGlzLkh2LmhyZWY9YGh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LmNvbS8/dXRtX21lZGl1bT1sd2MtbGluayZ1dG1fY2FtcGFpZ249bHdjLWNoYXJ0JHt0aGlzLkp2KCl9YCx0aGlzLkh2LnRpdGxlPSJDaGFydGluZyBieSBUcmFkaW5nVmlldyIsdGhpcy5Idi5pZD0idHYtYXR0ci1sb2dvIix0aGlzLkh2LnRhcmdldD0iX2JsYW5rIiwKdGhpcy5Idi5pbm5lckhUTUw9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzUiIGhlaWdodD0iMTkiIGZpbGw9Im5vbmUiPjxnIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2EpIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGZpbGw9InZhcigtLXN0cm9rZSkiIGQ9Ik0yIDBIMHYxMGg2djloMjEuNGwuNS0xLjMgNi0xNSAxLTIuN0gyMy43bC0uNSAxLjMtLjIuNmE1IDUgMCAwIDAtNy0uOVYwSDJabTIwIDE3aDRsNS4yLTEzIC44LTJoLTdsLTEgMi41LS4yLjUtMS41IDMuOC0uMy43VjE3Wm0tLjgtMTBhMyAzIDAgMCAwIC43LTIuN0EzIDMgMCAxIDAgMTYuOCA3aDQuNFpNMTQgN1YySDJ2Nmg2djloNFY3aDJaIi8+PHBhdGggZmlsbD0idmFyKC0tZmlsbCkiIGQ9Ik0xNCAySDJ2Nmg2djloNlYyWm0xMiAxNWgtN2w2LTE1aDdsLTYgMTVabS03LTlhMyAzIDAgMSAwIDAtNiAzIDMgMCAwIDAgMCA2WiIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGZpbGw9InZhcigtLXN0cm9rZSkiIGQ9Ik0wIDBoMzV2MTlIMHoiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4nLHRoaXMuSHYudG9nZ2xlQXR0cmlidXRlKCJkYXRhLWRhcmsiLCJkYXJrIj09PXRoaXMuJHYpLHRoaXMuanYuYXBwZW5kQ2hpbGQodGhpcy5VdiksdGhpcy5qdi5hcHBlbmRDaGlsZCh0aGlzLkh2KSkpfX1mdW5jdGlvbiBfcyh0LGkpe2NvbnN0IHM9Zih0Lm93bmVyRG9jdW1lbnQpLmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpO3QuYXBwZW5kQ2hpbGQocyk7Y29uc3QgaD0oMCxlLmJpbmRDYW52YXNFbGVtZW50Qml0bWFwU2l6ZVRvKShzLHt0eXBlOiJkZXZpY2UtcGl4ZWwtY29udGVudC1ib3giLG9wdGlvbnM6e2FsbG93UmVzaXplT2JzZXJ2ZXI6ITB9LHRyYW5zZm9ybToodCxpKT0+KHt3aWR0aDpNYXRoLm1heCh0LndpZHRoLGkud2lkdGgpLGhlaWdodDpNYXRoLm1heCh0LmhlaWdodCxpLmhlaWdodCl9KX0pO3JldHVybiBoLnJlc2l6ZUNhbnZhc0VsZW1lbnQoaSksaH1mdW5jdGlvbiBDcyh0KXt0LndpZHRoPTEsdC5oZWlnaHQ9MSx0LmdldENvbnRleHQoIjJkIik/LmNsZWFyUmVjdCgwLDAsMSwxKX1mdW5jdGlvbiBrcyh0LGkscyxlKXt0LnFoJiZ0LnFoKGkscyxlKX1mdW5jdGlvbiBFcyh0LGkscyxlKXt0LnN0KGkscyxlKX1mdW5jdGlvbiBOcyh0LGkscyxlKXtjb25zdCBoPXQocyxlKTtmb3IoY29uc3QgdCBvZiBoKXtjb25zdCBzPXQuVHQoZSk7bnVsbCE9PXMmJmkocyl9fWZ1bmN0aW9uIFRzKHQsaSl7cmV0dXJuIHM9PmZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDAhPT10LkZ0fShzKT8ocy5GdCgpPy5jbCgpPz8iIikhPT1pP1tdOnMuR2E/Lih0KT8/W106W119ZnVuY3Rpb24gUnModCxpLHMsZSl7aWYoIXQubGVuZ3RoKXJldHVybjtsZXQgaD0wO2NvbnN0IG49dFswXS4kdChlLCEwKTtsZXQgcj0xPT09aT9zLzItKHRbMF0uSGkoKS1uLzIpOnRbMF0uSGkoKS1uLzItcy8yO3I9TWF0aC5tYXgoMCxyKTtmb3IobGV0IG49MTtuPHQubGVuZ3RoO24rKyl7Y29uc3Qgbz10W25dLGw9dFtuLTFdLGE9bC4kdChlLCExKSx1PW8uSGkoKSxjPWwuSGkoKTtpZigxPT09aT91PmMtYTp1PGMrYSl7Y29uc3QgZT1jLWEqaTtvLlVpKGUpO2NvbnN0IG49ZS1pKmEvMjtpZigoMT09PWk/bjwwOm4+cykmJnI+MCl7Y29uc3QgZT0xPT09aT8tMS1uOm4tcyxvPU1hdGgubWluKGUscik7Zm9yKGxldCBzPWg7czx0Lmxlbmd0aDtzKyspdFtzXS5VaSh0W3NdLkhpKCkraSpvKTtyLT1vfX1lbHNlIGg9bixyPTE9PT1pP2MtYS11OnUtKGMrYSl9fWNsYXNzIFBze2NvbnN0cnVjdG9yKHQsaSxzLGgpe3RoaXMuS2k9bnVsbCx0aGlzLlF2PW51bGwsdGhpcy50bT0hMSx0aGlzLmltPW5ldyBudCgyMDApLHRoaXMubm09bnVsbCx0aGlzLnNtPTAsdGhpcy5ybT0hMSx0aGlzLmhtPSgpPT57dGhpcy5ybXx8dGhpcy55dC5hbSgpLlF0KCkubXIoKX0sdGhpcy5sbT0oKT0+e3RoaXMucm18fHRoaXMueXQuYW0oKS5RdCgpLm1yKCl9LHRoaXMueXQ9dCx0aGlzLnluPWksdGhpcy5rbz1pLmxheW91dCx0aGlzLndkPXMsdGhpcy5vbT0ibGVmdCI9PT1oLHRoaXMuX209VHMoIm5vcm1hbCIsaCksdGhpcy51bT1UcygidG9wIixoKSx0aGlzLmRtPVRzKCJib3R0b20iLGgpLHRoaXMubHY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5sdi5zdHlsZS5oZWlnaHQ9IjEwMCUiLHRoaXMubHYuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIsdGhpcy5sdi5zdHlsZS53aWR0aD0iMjVweCIsdGhpcy5sdi5zdHlsZS5sZWZ0PSIwIix0aGlzLmx2LnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSIsdGhpcy5mbT1fcyh0aGlzLmx2LGUuc2l6ZSh7d2lkdGg6MTYsaGVpZ2h0OjE2fSkpLHRoaXMuZm0uc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5obSk7Y29uc3Qgbj10aGlzLmZtLmNhbnZhc0VsZW1lbnQ7bi5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLG4uc3R5bGUuekluZGV4PSIxIixuLnN0eWxlLmxlZnQ9IjAiLG4uc3R5bGUudG9wPSIwIix0aGlzLnBtPV9zKHRoaXMubHYsZS5zaXplKHt3aWR0aDoxNixoZWlnaHQ6MTZ9KSksdGhpcy5wbS5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0aGlzLmxtKTtjb25zdCByPXRoaXMucG0uY2FudmFzRWxlbWVudDtyLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsci5zdHlsZS56SW5kZXg9IjIiLHIuc3R5bGUubGVmdD0iMCIsci5zdHlsZS50b3A9IjAiO2NvbnN0IG89e3pwOnRoaXMuTXYuYmluZCh0aGlzKSxBcDp0aGlzLk12LmJpbmQodGhpcyksUHA6dGhpcy5ndi5iaW5kKHRoaXMpLHlwOnRoaXMuZ3YuYmluZCh0aGlzKSxPcDp0aGlzLnZtLmJpbmQodGhpcyksSXA6dGhpcy5idi5iaW5kKHRoaXMpLFJwOnRoaXMuYnYuYmluZCh0aGlzKSx1cDp0aGlzLndtLmJpbmQodGhpcyksYXA6dGhpcy53bS5iaW5kKHRoaXMpLHdwOnRoaXMuTW0uYmluZCh0aGlzKSxZcDp0aGlzLnd2LmJpbmQodGhpcyl9O3RoaXMudHY9bmV3IGRzKHRoaXMucG0uY2FudmFzRWxlbWVudCxvLHsKeHA6KCk9PiF0aGlzLnluLmhhbmRsZVNjcm9sbC52ZXJ0VG91Y2hEcmFnLENwOigpPT4hMH0pfW0oKXt0aGlzLnR2Lm0oKSx0aGlzLnBtLnVuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5sbSksQ3ModGhpcy5wbS5jYW52YXNFbGVtZW50KSx0aGlzLnBtLmRpc3Bvc2UoKSx0aGlzLmZtLnVuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5obSksQ3ModGhpcy5mbS5jYW52YXNFbGVtZW50KSx0aGlzLmZtLmRpc3Bvc2UoKSxudWxsIT09dGhpcy5LaSYmdGhpcy5LaS5hXygpLnUodGhpcyksdGhpcy5LaT1udWxsfXV2KCl7cmV0dXJuIHRoaXMubHZ9aygpe3JldHVybiB0aGlzLmtvLmZvbnRTaXplfWdtKCl7Y29uc3QgdD10aGlzLndkLk4oKTtyZXR1cm4gdGhpcy5ubSE9PXQuUCYmKHRoaXMuaW0uT3MoKSx0aGlzLm5tPXQuUCksdH1ibSgpe2lmKG51bGw9PT10aGlzLktpKXJldHVybiAwO2xldCB0PTA7Y29uc3QgaT10aGlzLmdtKCkscz1mKHRoaXMuZm0uY2FudmFzRWxlbWVudC5nZXRDb250ZXh0KCIyZCIse2NvbG9yU3BhY2U6dGhpcy55dC5hbSgpLk4oKS5sYXlvdXQuY29sb3JTcGFjZX0pKTtzLnNhdmUoKTtjb25zdCBlPXRoaXMuS2kuRWwoKTtzLmZvbnQ9dGhpcy5TbSgpLGUubGVuZ3RoPjAmJih0PU1hdGgubWF4KHRoaXMuaW0uSWkocyxlWzBdLmlvKSx0aGlzLmltLklpKHMsZVtlLmxlbmd0aC0xXS5pbykpKTtjb25zdCBoPXRoaXMueG0oKTtmb3IobGV0IGk9aC5sZW5ndGg7aS0tOyl7Y29uc3QgZT10aGlzLmltLklpKHMsaFtpXS5yaSgpKTtlPnQmJih0PWUpfWNvbnN0IG49dGhpcy5LaS5MdCgpO2lmKG51bGwhPT1uJiZudWxsIT09dGhpcy5RdiYmMiE9PShyPXRoaXMueW4uY3Jvc3NoYWlyKS5tb2RlJiZyLmhvcnpMaW5lLnZpc2libGUmJnIuaG9yekxpbmUubGFiZWxWaXNpYmxlKXtjb25zdCBpPXRoaXMuS2kuVG4oMSxuKSxlPXRoaXMuS2kuVG4odGhpcy5Rdi5oZWlnaHQtMixuKTt0PU1hdGgubWF4KHQsdGhpcy5pbS5JaShzLHRoaXMuS2kuSmkoTWF0aC5mbG9vcihNYXRoLm1pbihpLGUpKSsuMTExMTExMTExMTExMTEsbikpLHRoaXMuaW0uSWkocyx0aGlzLktpLkppKE1hdGguY2VpbChNYXRoLm1heChpLGUpKS0uMTExMTExMTExMTExMTEsbikpKX12YXIgcjtzLnJlc3RvcmUoKTtjb25zdCBvPXR8fDM0O3JldHVybiBmcyhNYXRoLmNlaWwoaS5TK2kuQytpLlYraS5CKzUrbykpfUNtKHQpe251bGwhPT10aGlzLlF2JiYoMCxlLmVxdWFsU2l6ZXMpKHRoaXMuUXYsdCl8fCh0aGlzLlF2PXQsdGhpcy5ybT0hMCx0aGlzLmZtLnJlc2l6ZUNhbnZhc0VsZW1lbnQodCksdGhpcy5wbS5yZXNpemVDYW52YXNFbGVtZW50KHQpLHRoaXMucm09ITEsdGhpcy5sdi5zdHlsZS53aWR0aD1gJHt0LndpZHRofXB4YCx0aGlzLmx2LnN0eWxlLmhlaWdodD1gJHt0LmhlaWdodH1weGApfXltKCl7cmV0dXJuIGYodGhpcy5Rdikud2lkdGh9dW4odCl7dGhpcy5LaSE9PXQmJihudWxsIT09dGhpcy5LaSYmdGhpcy5LaS5hXygpLnUodGhpcyksdGhpcy5LaT10LHQuYV8oKS5pKHRoaXMucG8uYmluZCh0aGlzKSx0aGlzKSl9RnQoKXtyZXR1cm4gdGhpcy5LaX1Pcygpe2NvbnN0IHQ9dGhpcy55dC5TdigpO3RoaXMueXQuYW0oKS5RdCgpLmV1KHQsZih0aGlzLkZ0KCkpKX1rbSh0KXtpZihudWxsPT09dGhpcy5RdilyZXR1cm47Y29uc3QgaT17Y29sb3JTcGFjZTp0aGlzLnl0LmFtKCkuTigpLmxheW91dC5jb2xvclNwYWNlfTtpZigxIT09dCl7dGhpcy5QbSgpLHRoaXMuZm0uYXBwbHlTdWdnZXN0ZWRCaXRtYXBTaXplKCk7Y29uc3QgdD0oMCxlLnRyeUNyZWF0ZUNhbnZhc1JlbmRlcmluZ1RhcmdldDJEKSh0aGlzLmZtLGkpO251bGwhPT10JiYodC51c2VCaXRtYXBDb29yZGluYXRlU3BhY2UoKHQ9Pnt0aGlzLlRtKHQpLHRoaXMuUm0odCl9KSksdGhpcy55dC5EbSh0LHRoaXMuZG0pLHRoaXMuSW0odCksdGhpcy55dC5EbSh0LHRoaXMuX20pLHRoaXMuVm0odCkpfXRoaXMucG0uYXBwbHlTdWdnZXN0ZWRCaXRtYXBTaXplKCk7Y29uc3Qgcz0oMCxlLnRyeUNyZWF0ZUNhbnZhc1JlbmRlcmluZ1RhcmdldDJEKSh0aGlzLnBtLGkpO251bGwhPT1zJiYocy51c2VCaXRtYXBDb29yZGluYXRlU3BhY2UoKCh7Y29udGV4dDp0LGJpdG1hcFNpemU6aX0pPT57dC5jbGVhclJlY3QoMCwwLGkud2lkdGgsaS5oZWlnaHQpfSkpLHRoaXMuQm0ocyksdGhpcy55dC5EbShzLHRoaXMudW0pKX1kdigpe3JldHVybiB0aGlzLmZtLmJpdG1hcFNpemV9ZnYodCxpLHMsZSl7Y29uc3QgaD10aGlzLmR2KCk7aWYoaC53aWR0aD4wJiZoLmhlaWdodD4wJiYodC5kcmF3SW1hZ2UodGhpcy5mbS5jYW52YXNFbGVtZW50LGkscyksZSkpe2NvbnN0IGU9dGhpcy5wbS5jYW52YXNFbGVtZW50O3QuZHJhd0ltYWdlKGUsaSxzKX19a3QoKXt0aGlzLktpPy5FbCgpfU12KHQpe2lmKG51bGw9PT10aGlzLktpfHx0aGlzLktpLkdpKCl8fCF0aGlzLnluLmhhbmRsZVNjYWxlLmF4aXNQcmVzc2VkTW91c2VNb3ZlLnByaWNlKXJldHVybjtjb25zdCBpPXRoaXMueXQuYW0oKS5RdCgpLHM9dGhpcy55dC5TdigpO3RoaXMudG09ITAsaS5HXyhzLHRoaXMuS2ksdC5sb2NhbFkpfWd2KHQpe2lmKG51bGw9PT10aGlzLktpfHwhdGhpcy55bi5oYW5kbGVTY2FsZS5heGlzUHJlc3NlZE1vdXNlTW92ZS5wcmljZSlyZXR1cm47Y29uc3QgaT10aGlzLnl0LmFtKCkuUXQoKSxzPXRoaXMueXQuU3YoKSxlPXRoaXMuS2k7aS5YXyhzLGUsdC5sb2NhbFkpfXZtKCl7aWYobnVsbD09PXRoaXMuS2l8fCF0aGlzLnluLmhhbmRsZVNjYWxlLmF4aXNQcmVzc2VkTW91c2VNb3ZlLnByaWNlKXJldHVybjtjb25zdCB0PXRoaXMueXQuYW0oKS5RdCgpLGk9dGhpcy55dC5TdigpLHM9dGhpcy5LaTt0aGlzLnRtJiYodGhpcy50bT0hMSx0LkpfKGkscykpfWJ2KHQpe2lmKG51bGw9PT10aGlzLktpfHwhdGhpcy55bi5oYW5kbGVTY2FsZS5heGlzUHJlc3NlZE1vdXNlTW92ZS5wcmljZSlyZXR1cm47Y29uc3QgaT10aGlzLnl0LmFtKCkuUXQoKSxzPXRoaXMueXQuU3YoKTt0aGlzLnRtPSExLGkuSl8ocyx0aGlzLktpKX13bSh0KXsKdGhpcy55bi5oYW5kbGVTY2FsZS5heGlzRG91YmxlQ2xpY2tSZXNldC5wcmljZSYmdGhpcy5PcygpfU1tKHQpe251bGwhPT10aGlzLktpJiYoIXRoaXMueXQuYW0oKS5RdCgpLk4oKS5oYW5kbGVTY2FsZS5heGlzUHJlc3NlZE1vdXNlTW92ZS5wcmljZXx8dGhpcy5LaS5qZSgpfHx0aGlzLktpLkxvKCl8fHRoaXMuRW0oMSkpfXd2KHQpe3RoaXMuRW0oMCl9eG0oKXtjb25zdCB0PVtdLGk9bnVsbD09PXRoaXMuS2k/dm9pZCAwOnRoaXMuS2k7cmV0dXJuKHM9Pntmb3IobGV0IGU9MDtlPHMubGVuZ3RoOysrZSl7Y29uc3QgaD1zW2VdLnFuKHRoaXMueXQuU3YoKSxpKTtmb3IobGV0IGk9MDtpPGgubGVuZ3RoO2krKyl0LnB1c2goaFtpXSl9fSkodGhpcy55dC5TdigpLkR0KCkpLHR9VG0oe2NvbnRleHQ6dCxiaXRtYXBTaXplOml9KXtjb25zdHt3aWR0aDpzLGhlaWdodDplfT1pLGg9dGhpcy55dC5TdigpLlF0KCksbj1oLiQoKSxyPWguZWYoKTtuPT09cj9RKHQsMCwwLHMsZSxuKTpLKHQsMCwwLHMsZSxuLHIpfVJtKHtjb250ZXh0OnQsYml0bWFwU2l6ZTppLGhvcml6b250YWxQaXhlbFJhdGlvOnN9KXtpZihudWxsPT09dGhpcy5Rdnx8bnVsbD09PXRoaXMuS2l8fCF0aGlzLktpLk4oKS5ib3JkZXJWaXNpYmxlKXJldHVybjt0LmZpbGxTdHlsZT10aGlzLktpLk4oKS5ib3JkZXJDb2xvcjtjb25zdCBlPU1hdGgubWF4KDEsTWF0aC5mbG9vcih0aGlzLmdtKCkuUypzKSk7bGV0IGg7aD10aGlzLm9tP2kud2lkdGgtZTowLHQuZmlsbFJlY3QoaCwwLGUsaS5oZWlnaHQpfUltKHQpe2lmKG51bGw9PT10aGlzLlF2fHxudWxsPT09dGhpcy5LaSlyZXR1cm47Y29uc3QgaT10aGlzLktpLkVsKCkscz10aGlzLktpLk4oKSxlPXRoaXMuZ20oKSxoPXRoaXMub20/dGhpcy5Rdi53aWR0aC1lLkM6MDtzLmJvcmRlclZpc2libGUmJnMudGlja3NWaXNpYmxlJiZ0LnVzZUJpdG1hcENvb3JkaW5hdGVTcGFjZSgoKHtjb250ZXh0OnQsaG9yaXpvbnRhbFBpeGVsUmF0aW86bix2ZXJ0aWNhbFBpeGVsUmF0aW86cn0pPT57dC5maWxsU3R5bGU9cy5ib3JkZXJDb2xvcjtjb25zdCBvPU1hdGgubWF4KDEsTWF0aC5mbG9vcihyKSksbD1NYXRoLmZsb29yKC41KnIpLGE9TWF0aC5yb3VuZChlLkMqbik7dC5iZWdpblBhdGgoKTtmb3IoY29uc3QgcyBvZiBpKXQucmVjdChNYXRoLmZsb29yKGgqbiksTWF0aC5yb3VuZChzLlJsKnIpLWwsYSxvKTt0LmZpbGwoKX0pKSx0LnVzZU1lZGlhQ29vcmRpbmF0ZVNwYWNlKCgoe2NvbnRleHQ6dH0pPT57dC5mb250PXRoaXMuU20oKSx0LmZpbGxTdHlsZT1zLnRleHRDb2xvcj8/dGhpcy5rby50ZXh0Q29sb3IsdC50ZXh0QWxpZ249dGhpcy5vbT8icmlnaHQiOiJsZWZ0Iix0LnRleHRCYXNlbGluZT0ibWlkZGxlIjtjb25zdCBuPXRoaXMub20/TWF0aC5yb3VuZChoLWUuVik6TWF0aC5yb3VuZChoK2UuQytlLlYpLHI9aS5tYXAoKGk9PnRoaXMuaW0uRGkodCxpLmlvKSkpO2ZvcihsZXQgcz1pLmxlbmd0aDtzLS07KXtjb25zdCBlPWlbc107dC5maWxsVGV4dChlLmlvLG4sZS5SbCtyW3NdKX19KSl9UG0oKXtpZihudWxsPT09dGhpcy5Rdnx8bnVsbD09PXRoaXMuS2kpcmV0dXJuO2xldCB0PXRoaXMuUXYuaGVpZ2h0LzI7Y29uc3QgaT1bXSxzPXRoaXMuS2kuRHQoKS5zbGljZSgpLGU9dGhpcy55dC5TdigpLGg9dGhpcy5nbSgpO3RoaXMuS2k9PT1lLkdzKCkmJnRoaXMueXQuU3YoKS5EdCgpLmZvckVhY2goKHQ9PntlLlpzKHQpJiZzLnB1c2godCl9KSk7Y29uc3Qgbj10aGlzLktpLkNsKClbMF0scj10aGlzLktpO3MuZm9yRWFjaCgocz0+e2NvbnN0IGg9cy5xbihlLHIpO2guZm9yRWFjaCgodD0+e3QuJGkoKSYmbnVsbD09PXQuV2koKSYmKHQuVWkobnVsbCksaS5wdXNoKHQpKX0pKSxuPT09cyYmaC5sZW5ndGg+MCYmKHQ9aFswXS5FaSgpKX0pKSx0aGlzLktpLk4oKS5hbGlnbkxhYmVscyYmdGhpcy5BbShpLGgsdCl9QW0odCxpLHMpe2lmKG51bGw9PT10aGlzLlF2KXJldHVybjtjb25zdCBlPXQuZmlsdGVyKCh0PT50LkVpKCk8PXMpKSxoPXQuZmlsdGVyKCh0PT50LkVpKCk+cykpO2Uuc29ydCgoKHQsaSk9PmkuRWkoKS10LkVpKCkpKSxlLmxlbmd0aCYmaC5sZW5ndGgmJmgucHVzaChlWzBdKSxoLnNvcnQoKCh0LGkpPT50LkVpKCktaS5FaSgpKSk7Zm9yKGNvbnN0IHMgb2YgdCl7Y29uc3QgdD1NYXRoLmZsb29yKHMuJHQoaSkvMiksZT1zLkVpKCk7ZT4tdCYmZTx0JiZzLlVpKHQpLGU+dGhpcy5Rdi5oZWlnaHQtdCYmZTx0aGlzLlF2LmhlaWdodCt0JiZzLlVpKHRoaXMuUXYuaGVpZ2h0LXQpfVJzKGUsMSx0aGlzLlF2LmhlaWdodCxpKSxScyhoLC0xLHRoaXMuUXYuaGVpZ2h0LGkpfVZtKHQpe2lmKG51bGw9PT10aGlzLlF2KXJldHVybjtjb25zdCBpPXRoaXMueG0oKSxzPXRoaXMuZ20oKSxlPXRoaXMub20/InJpZ2h0IjoibGVmdCI7aS5mb3JFYWNoKChpPT57aS5qaSgpJiZpLlR0KGYodGhpcy5LaSkpLnN0KHQscyx0aGlzLmltLGUpfSkpfUJtKHQpe2lmKG51bGw9PT10aGlzLlF2fHxudWxsPT09dGhpcy5LaSlyZXR1cm47Y29uc3QgaT10aGlzLnl0LmFtKCkuUXQoKSxzPVtdLGU9dGhpcy55dC5TdigpLGg9aS5SZCgpLnFuKGUsdGhpcy5LaSk7aC5sZW5ndGgmJnMucHVzaChoKTtjb25zdCBuPXRoaXMuZ20oKSxyPXRoaXMub20/InJpZ2h0IjoibGVmdCI7cy5mb3JFYWNoKChpPT57aS5mb3JFYWNoKChpPT57aS5UdChmKHRoaXMuS2kpKS5zdCh0LG4sdGhpcy5pbSxyKX0pKX0pKX1FbSh0KXt0aGlzLmx2LnN0eWxlLmN1cnNvcj0xPT09dD8ibnMtcmVzaXplIjoiZGVmYXVsdCJ9cG8oKXtjb25zdCB0PXRoaXMuYm0oKTt0aGlzLnNtPHQmJnRoaXMueXQuYW0oKS5RdCgpLlBhKCksdGhpcy5zbT10fVNtKCl7cmV0dXJuIF8odGhpcy5rby5mb250U2l6ZSx0aGlzLmtvLmZvbnRGYW1pbHkpfX1mdW5jdGlvbiB6cyh0LGkpe3JldHVybiB0LkthPy4oaSk/P1tdfWZ1bmN0aW9uIElzKHQsaSl7cmV0dXJuIHQuam4/LihpKT8/W119ZnVuY3Rpb24gTHModCxpKXtyZXR1cm4gdC5jbj8uKGkpPz9bXX1mdW5jdGlvbiBGcyh0LGkpe3JldHVybiB0LmphPy4oaSk/P1tdfWNsYXNzIHFze2NvbnN0cnVjdG9yKHQsaSl7CnRoaXMuUXY9ZS5zaXplKHt3aWR0aDowLGhlaWdodDowfSksdGhpcy5MbT1udWxsLHRoaXMuem09bnVsbCx0aGlzLk9tPW51bGwsdGhpcy5ObT1udWxsLHRoaXMuRm09ITEsdGhpcy5XbT1uZXcgbSx0aGlzLkhtPW5ldyBtLHRoaXMuVW09MCx0aGlzLiRtPSExLHRoaXMuam09bnVsbCx0aGlzLnFtPSExLHRoaXMuWW09bnVsbCx0aGlzLkttPW51bGwsdGhpcy5ybT0hMSx0aGlzLmhtPSgpPT57dGhpcy5ybXx8bnVsbD09PXRoaXMuWm18fHRoaXMuc24oKS5tcigpfSx0aGlzLmxtPSgpPT57dGhpcy5ybXx8bnVsbD09PXRoaXMuWm18fHRoaXMuc24oKS5tcigpfSx0aGlzLnF2PXQsdGhpcy5abT1pLHRoaXMuWm0uZnUoKS5pKHRoaXMuR20uYmluZCh0aGlzKSx0aGlzLCEwKSx0aGlzLlhtPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIiksdGhpcy5YbS5zdHlsZS5wYWRkaW5nPSIwIix0aGlzLlhtLnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSI7Y29uc3Qgcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtzLnN0eWxlLndpZHRoPSIxMDAlIixzLnN0eWxlLmhlaWdodD0iMTAwJSIscy5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiLHMuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIsdGhpcy5KbT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpLHRoaXMuSm0uc3R5bGUucGFkZGluZz0iMCIsdGhpcy5RbT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpLHRoaXMuUW0uc3R5bGUucGFkZGluZz0iMCIsdGhpcy5YbS5hcHBlbmRDaGlsZChzKSx0aGlzLmZtPV9zKHMsZS5zaXplKHt3aWR0aDoxNixoZWlnaHQ6MTZ9KSksdGhpcy5mbS5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0aGlzLmhtKTtjb25zdCBoPXRoaXMuZm0uY2FudmFzRWxlbWVudDtoLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsaC5zdHlsZS56SW5kZXg9IjEiLGguc3R5bGUubGVmdD0iMCIsaC5zdHlsZS50b3A9IjAiLHRoaXMucG09X3MocyxlLnNpemUoe3dpZHRoOjE2LGhlaWdodDoxNn0pKSx0aGlzLnBtLnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMubG0pO2NvbnN0IG49dGhpcy5wbS5jYW52YXNFbGVtZW50O24uc3R5bGUucG9zaXRpb249ImFic29sdXRlIixuLnN0eWxlLnpJbmRleD0iMiIsbi5zdHlsZS5sZWZ0PSIwIixuLnN0eWxlLnRvcD0iMCIsdGhpcy5hdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ciIpLHRoaXMuYXYuYXBwZW5kQ2hpbGQodGhpcy5KbSksdGhpcy5hdi5hcHBlbmRDaGlsZCh0aGlzLlhtKSx0aGlzLmF2LmFwcGVuZENoaWxkKHRoaXMuUW0pLHRoaXMudHcoKSx0aGlzLnR2PW5ldyBkcyh0aGlzLnBtLmNhbnZhc0VsZW1lbnQsdGhpcyx7eHA6KCk9Pm51bGw9PT10aGlzLmptJiYhdGhpcy5xdi5OKCkuaGFuZGxlU2Nyb2xsLnZlcnRUb3VjaERyYWcsQ3A6KCk9Pm51bGw9PT10aGlzLmptJiYhdGhpcy5xdi5OKCkuaGFuZGxlU2Nyb2xsLmhvcnpUb3VjaERyYWd9KX1tKCl7bnVsbCE9PXRoaXMuTG0mJnRoaXMuTG0ubSgpLG51bGwhPT10aGlzLnptJiZ0aGlzLnptLm0oKSx0aGlzLk9tPW51bGwsdGhpcy5wbS51bnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMubG0pLENzKHRoaXMucG0uY2FudmFzRWxlbWVudCksdGhpcy5wbS5kaXNwb3NlKCksdGhpcy5mbS51bnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMuaG0pLENzKHRoaXMuZm0uY2FudmFzRWxlbWVudCksdGhpcy5mbS5kaXNwb3NlKCksbnVsbCE9PXRoaXMuWm0mJih0aGlzLlptLmZ1KCkudSh0aGlzKSx0aGlzLlptLm0oKSksdGhpcy50di5tKCl9U3YoKXtyZXR1cm4gZih0aGlzLlptKX1pdyh0KXtudWxsIT09dGhpcy5abSYmdGhpcy5abS5mdSgpLnUodGhpcyksdGhpcy5abT10LG51bGwhPT10aGlzLlptJiZ0aGlzLlptLmZ1KCkuaShxcy5wcm90b3R5cGUuR20uYmluZCh0aGlzKSx0aGlzLCEwKSx0aGlzLnR3KCksdGhpcy5xdi5ydigpLmluZGV4T2YodGhpcyk9PT10aGlzLnF2LnJ2KCkubGVuZ3RoLTE/KHRoaXMuT209dGhpcy5PbT8/bmV3IHhzKHRoaXMuWG0sdGhpcy5xdiksdGhpcy5PbS5rdCgpKToodGhpcy5PbT8uS3YoKSx0aGlzLk9tPW51bGwpfWFtKCl7cmV0dXJuIHRoaXMucXZ9dXYoKXtyZXR1cm4gdGhpcy5hdn10dygpe2lmKG51bGwhPT10aGlzLlptJiYodGhpcy5udygpLDAhPT10aGlzLnNuKCkuSm4oKS5sZW5ndGgpKXtpZihudWxsIT09dGhpcy5MbSl7Y29uc3QgdD10aGlzLlptLktfKCk7dGhpcy5MbS51bihmKHQpKX1pZihudWxsIT09dGhpcy56bSl7Y29uc3QgdD10aGlzLlptLlpfKCk7dGhpcy56bS51bihmKHQpKX19fXN3KCl7bnVsbCE9PXRoaXMuTG0mJnRoaXMuTG0ua3QoKSxudWxsIT09dGhpcy56bSYmdGhpcy56bS5rdCgpfXpfKCl7cmV0dXJuIG51bGwhPT10aGlzLlptP3RoaXMuWm0uel8oKTowfU9fKHQpe3RoaXMuWm0mJnRoaXMuWm0uT18odCl9d3AodCl7aWYoIXRoaXMuWm0pcmV0dXJuO3RoaXMuZXcoKTtjb25zdCBpPXQubG9jYWxYLHM9dC5sb2NhbFk7dGhpcy5ydyhpLHMsdCl9enAodCl7dGhpcy5ldygpLHRoaXMuaHcoKSx0aGlzLnJ3KHQubG9jYWxYLHQubG9jYWxZLHQpfU1wKHQpe2lmKCF0aGlzLlptKXJldHVybjt0aGlzLmV3KCk7Y29uc3QgaT10LmxvY2FsWCxzPXQubG9jYWxZO3RoaXMucncoaSxzLHQpfVZwKHQpe251bGwhPT10aGlzLlptJiYodGhpcy5ldygpLHRoaXMucncodC5sb2NhbFgsdC5sb2NhbFksdCksdGhpcy5hdyh0KSl9dXAodCl7bnVsbCE9PXRoaXMuWm0mJnRoaXMubHcodGhpcy5IbSx0KX1hcCh0KXt0aGlzLnVwKHQpfVBwKHQpe3RoaXMuZXcoKSx0aGlzLm93KHQpLHRoaXMucncodC5sb2NhbFgsdC5sb2NhbFksdCl9SXAodCl7bnVsbCE9PXRoaXMuWm0mJih0aGlzLmV3KCksdGhpcy4kbT0hMSx0aGlzLl93KHQpKX1EcCh0KXtudWxsIT09dGhpcy5abSYmdGhpcy5hdyh0KX1LcCh0KXtpZih0aGlzLiRtPSEwLG51bGw9PT10aGlzLmptKXtjb25zdCBpPXt4OnQubG9jYWxYLHk6dC5sb2NhbFl9O3RoaXMudXcoaSxpLHQpfX1ZcCh0KXtudWxsIT09dGhpcy5abSYmKHRoaXMuZXcoKSwKdGhpcy5abS5RdCgpLmtkKG51bGwpLHRoaXMuY3coKSl9ZHcoKXtyZXR1cm4gdGhpcy5XbX1mdygpe3JldHVybiB0aGlzLkhtfVdwKCl7dGhpcy5VbT0xLHRoaXMuc24oKS5jcygpfUhwKHQsaSl7aWYoIXRoaXMucXYuTigpLmhhbmRsZVNjYWxlLnBpbmNoKXJldHVybjtjb25zdCBzPTUqKGktdGhpcy5VbSk7dGhpcy5VbT1pLHRoaXMuc24oKS5PZCh0Ll90LHMpfUFwKHQpe3RoaXMuJG09ITEsdGhpcy5xbT1udWxsIT09dGhpcy5qbSx0aGlzLmh3KCk7Y29uc3QgaT10aGlzLnNuKCkuUmQoKTtudWxsIT09dGhpcy5qbSYmaS5JdCgpJiYodGhpcy5ZbT17eDppLm5pKCkseTppLnNpKCl9LHRoaXMuam09e3g6dC5sb2NhbFgseTp0LmxvY2FsWX0pfXlwKHQpe2lmKG51bGw9PT10aGlzLlptKXJldHVybjtjb25zdCBpPXQubG9jYWxYLHM9dC5sb2NhbFk7aWYobnVsbD09PXRoaXMuam0pdGhpcy5vdyh0KTtlbHNle3RoaXMucW09ITE7Y29uc3QgZT1mKHRoaXMuWW0pLGg9ZS54KyhpLXRoaXMuam0ueCksbj1lLnkrKHMtdGhpcy5qbS55KTt0aGlzLnJ3KGgsbix0KX19UnAodCl7MD09PXRoaXMuYW0oKS5OKCkudHJhY2tpbmdNb2RlLmV4aXRNb2RlJiYodGhpcy5xbT0hMCksdGhpcy5wdygpLHRoaXMuX3codCl9UXModCxpKXtjb25zdCBzPXRoaXMuWm07cmV0dXJuIG51bGw9PT1zP251bGw6UGkocyx0LGkpfW13KHQsaSl7ZigibGVmdCI9PT1pP3RoaXMuTG06dGhpcy56bSkuQ20oZS5zaXplKHt3aWR0aDp0LGhlaWdodDp0aGlzLlF2LmhlaWdodH0pKX1jdigpe3JldHVybiB0aGlzLlF2fUNtKHQpeygwLGUuZXF1YWxTaXplcykodGhpcy5Rdix0KXx8KHRoaXMuUXY9dCx0aGlzLnJtPSEwLHRoaXMuZm0ucmVzaXplQ2FudmFzRWxlbWVudCh0KSx0aGlzLnBtLnJlc2l6ZUNhbnZhc0VsZW1lbnQodCksdGhpcy5ybT0hMSx0aGlzLlhtLnN0eWxlLndpZHRoPXQud2lkdGgrInB4Iix0aGlzLlhtLnN0eWxlLmhlaWdodD10LmhlaWdodCsicHgiKX13dygpe2NvbnN0IHQ9Zih0aGlzLlptKTt0LnFfKHQuS18oKSksdC5xXyh0LlpfKCkpO2Zvcihjb25zdCBpIG9mIHQuQ2woKSlpZih0LlpzKGkpKXtjb25zdCBzPWkuRnQoKTtudWxsIT09cyYmdC5xXyhzKSxpLk5uKCl9Zm9yKGNvbnN0IGkgb2YgdC52dSgpKWkuTm4oKX1kdigpe3JldHVybiB0aGlzLmZtLmJpdG1hcFNpemV9ZnYodCxpLHMsZSl7Y29uc3QgaD10aGlzLmR2KCk7aWYoaC53aWR0aD4wJiZoLmhlaWdodD4wJiYodC5kcmF3SW1hZ2UodGhpcy5mbS5jYW52YXNFbGVtZW50LGkscyksZSkpe2NvbnN0IGU9dGhpcy5wbS5jYW52YXNFbGVtZW50O251bGwhPT10JiZ0LmRyYXdJbWFnZShlLGkscyl9fWttKHQpe2lmKDA9PT10KXJldHVybjtpZihudWxsPT09dGhpcy5abSlyZXR1cm47dD4xJiZ0aGlzLnd3KCksbnVsbCE9PXRoaXMuTG0mJnRoaXMuTG0ua20odCksbnVsbCE9PXRoaXMuem0mJnRoaXMuem0ua20odCk7Y29uc3QgaT17Y29sb3JTcGFjZTp0aGlzLnF2Lk4oKS5sYXlvdXQuY29sb3JTcGFjZX07aWYoMSE9PXQpe3RoaXMuZm0uYXBwbHlTdWdnZXN0ZWRCaXRtYXBTaXplKCk7Y29uc3QgdD0oMCxlLnRyeUNyZWF0ZUNhbnZhc1JlbmRlcmluZ1RhcmdldDJEKSh0aGlzLmZtLGkpO251bGwhPT10JiYodC51c2VCaXRtYXBDb29yZGluYXRlU3BhY2UoKHQ9Pnt0aGlzLlRtKHQpfSkpLHRoaXMuWm0mJih0aGlzLk13KHQsenMpLHRoaXMuZ3codCksdGhpcy5Ndyh0LElzKSx0aGlzLk13KHQsTHMpKSl9dGhpcy5wbS5hcHBseVN1Z2dlc3RlZEJpdG1hcFNpemUoKTtjb25zdCBzPSgwLGUudHJ5Q3JlYXRlQ2FudmFzUmVuZGVyaW5nVGFyZ2V0MkQpKHRoaXMucG0saSk7bnVsbCE9PXMmJihzLnVzZUJpdG1hcENvb3JkaW5hdGVTcGFjZSgoKHtjb250ZXh0OnQsYml0bWFwU2l6ZTppfSk9Pnt0LmNsZWFyUmVjdCgwLDAsaS53aWR0aCxpLmhlaWdodCl9KSksdGhpcy5idyhzKSx0aGlzLk13KHMsRnMpLHRoaXMuTXcocyxMcykpfVN3KCl7cmV0dXJuIHRoaXMuTG19eHcoKXtyZXR1cm4gdGhpcy56bX1EbSh0LGkpe3RoaXMuTXcodCxpKX1HbSgpe251bGwhPT10aGlzLlptJiZ0aGlzLlptLmZ1KCkudSh0aGlzKSx0aGlzLlptPW51bGx9YXcodCl7dGhpcy5sdyh0aGlzLldtLHQpfWx3KHQsaSl7Y29uc3Qgcz1pLmxvY2FsWCxlPWkubG9jYWxZO3QudigpJiZ0LnAodGhpcy5zbigpLkV0KCkuUmMocykse3g6cyx5OmV9LGkpfVRtKHtjb250ZXh0OnQsYml0bWFwU2l6ZTppfSl7Y29uc3R7d2lkdGg6cyxoZWlnaHQ6ZX09aSxoPXRoaXMuc24oKSxuPWguJCgpLHI9aC5lZigpO249PT1yP1EodCwwLDAscyxlLHIpOksodCwwLDAscyxlLG4scil9Z3codCl7Y29uc3QgaT1mKHRoaXMuWm0pLHM9aS5wdSgpLndyKCkuVHQoaSk7bnVsbCE9PXMmJnMuc3QodCwhMSl9YncodCl7dGhpcy5Ddyh0LElzLEVzLHRoaXMuc24oKS5SZCgpKX1Ndyh0LGkpe2NvbnN0IHM9Zih0aGlzLlptKSxlPXMuYXUoKSxoPXMudnUoKTtmb3IoY29uc3QgcyBvZiBoKXRoaXMuQ3codCxpLGtzLHMpO2Zvcihjb25zdCBzIG9mIGUpdGhpcy5Ddyh0LGksa3Mscyk7Zm9yKGNvbnN0IHMgb2YgaCl0aGlzLkN3KHQsaSxFcyxzKTtmb3IoY29uc3QgcyBvZiBlKXRoaXMuQ3codCxpLEVzLHMpfUN3KHQsaSxzLGUpe2NvbnN0IGg9Zih0aGlzLlptKSxuPWguUXQoKS5vdSgpLHI9bnVsbCE9PW4mJm4ubHU9PT1lLG89bnVsbCE9PW4mJnImJnZvaWQgMCE9PW4ud3U/bi53dS5pZTp2b2lkIDA7TnMoaSwoaT0+cyhpLHQscixvKSksZSxoKX1udygpe2lmKG51bGw9PT10aGlzLlptKXJldHVybjtjb25zdCB0PXRoaXMucXYsaT10aGlzLlptLktfKCkuTigpLnZpc2libGUscz10aGlzLlptLlpfKCkuTigpLnZpc2libGU7aXx8bnVsbD09PXRoaXMuTG18fCh0aGlzLkptLnJlbW92ZUNoaWxkKHRoaXMuTG0udXYoKSksdGhpcy5MbS5tKCksdGhpcy5MbT1udWxsKSxzfHxudWxsPT09dGhpcy56bXx8KHRoaXMuUW0ucmVtb3ZlQ2hpbGQodGhpcy56bS51digpKSx0aGlzLnptLm0oKSx0aGlzLnptPW51bGwpO2NvbnN0IGU9dC5RdCgpLlpkKCk7aSYmbnVsbD09PXRoaXMuTG0mJih0aGlzLkxtPW5ldyBQcyh0aGlzLHQuTigpLGUsImxlZnQiKSwKdGhpcy5KbS5hcHBlbmRDaGlsZCh0aGlzLkxtLnV2KCkpKSxzJiZudWxsPT09dGhpcy56bSYmKHRoaXMuem09bmV3IFBzKHRoaXMsdC5OKCksZSwicmlnaHQiKSx0aGlzLlFtLmFwcGVuZENoaWxkKHRoaXMuem0udXYoKSkpfXl3KHQpe3JldHVybiB0LlpwJiZ0aGlzLiRtfHxudWxsIT09dGhpcy5qbX1ydyh0LGkscyl7dD1NYXRoLm1heCgwLE1hdGgubWluKHQsdGhpcy5Rdi53aWR0aC0xKSksaT1NYXRoLm1heCgwLE1hdGgubWluKGksdGhpcy5Rdi5oZWlnaHQtMSkpLHRoaXMuc24oKS5qZCh0LGkscyxmKHRoaXMuWm0pKX1jdygpe3RoaXMuc24oKS5ZZCgpfXB3KCl7dGhpcy5xbSYmKHRoaXMuam09bnVsbCx0aGlzLmN3KCkpfXV3KHQsaSxzKXt0aGlzLmptPXQsdGhpcy5xbT0hMSx0aGlzLnJ3KGkueCxpLnkscyk7Y29uc3QgZT10aGlzLnNuKCkuUmQoKTt0aGlzLlltPXt4OmUubmkoKSx5OmUuc2koKX19c24oKXtyZXR1cm4gdGhpcy5xdi5RdCgpfV93KHQpe2lmKCF0aGlzLkZtKXJldHVybjtjb25zdCBpPXRoaXMuc24oKSxzPXRoaXMuU3YoKTtpZihpLml1KHMscy5QbigpKSx0aGlzLk5tPW51bGwsdGhpcy5GbT0hMSxpLkhkKCksbnVsbCE9PXRoaXMuS20pe2NvbnN0IHQ9cGVyZm9ybWFuY2Uubm93KCkscz1pLkV0KCk7dGhpcy5LbS5tZShzLkFjKCksdCksdGhpcy5LbS5qYyh0KXx8aS5wcyh0aGlzLkttKX19ZXcoKXt0aGlzLmptPW51bGx9aHcoKXtpZih0aGlzLlptKXtpZih0aGlzLnNuKCkuY3MoKSxkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09ZG9jdW1lbnQuYm9keSYmZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudClmKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpLmJsdXIoKTtlbHNle2NvbnN0IHQ9ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7bnVsbCE9PXQmJnQucmVtb3ZlQWxsUmFuZ2VzKCl9IXRoaXMuWm0uUG4oKS5HaSgpJiZ0aGlzLnNuKCkuRXQoKS5HaSgpfX1vdyh0KXtpZihudWxsPT09dGhpcy5abSlyZXR1cm47Y29uc3QgaT10aGlzLnNuKCkscz1pLkV0KCk7aWYocy5HaSgpKXJldHVybjtjb25zdCBlPXRoaXMucXYuTigpLGg9ZS5oYW5kbGVTY3JvbGwsbj1lLmtpbmV0aWNTY3JvbGw7aWYoKCFoLnByZXNzZWRNb3VzZU1vdmV8fHQuWnApJiYoIWguaG9yelRvdWNoRHJhZyYmIWgudmVydFRvdWNoRHJhZ3x8IXQuWnApKXJldHVybjtjb25zdCByPXRoaXMuWm0uUG4oKSxvPXBlcmZvcm1hbmNlLm5vdygpO2lmKG51bGwhPT10aGlzLk5tfHx0aGlzLnl3KHQpfHwodGhpcy5ObT17eDp0LmNsaWVudFgseTp0LmNsaWVudFksU2Y6byxrdzp0LmxvY2FsWCxQdzp0LmxvY2FsWX0pLG51bGwhPT10aGlzLk5tJiYhdGhpcy5GbSYmKHRoaXMuTm0ueCE9PXQuY2xpZW50WHx8dGhpcy5ObS55IT09dC5jbGllbnRZKSl7aWYodC5acCYmbi50b3VjaHx8IXQuWnAmJm4ubW91c2Upe2NvbnN0IHQ9cy5mbCgpO3RoaXMuS209bmV3IFNzKC4yL3QsNy90LC45OTcsMTUvdCksdGhpcy5LbS5GdihzLkFjKCksdGhpcy5ObS5TZil9ZWxzZSB0aGlzLkttPW51bGw7ci5HaSgpfHxpLlFfKHRoaXMuWm0scix0LmxvY2FsWSksaS5GZCh0LmxvY2FsWCksdGhpcy5GbT0hMH10aGlzLkZtJiYoci5HaSgpfHxpLnR1KHRoaXMuWm0scix0LmxvY2FsWSksaS5XZCh0LmxvY2FsWCksbnVsbCE9PXRoaXMuS20mJnRoaXMuS20uRnYocy5BYygpLG8pKX19Y2xhc3MgV3N7Y29uc3RydWN0b3IodCxpLHMsaCxuKXt0aGlzLnh0PSEwLHRoaXMuUXY9ZS5zaXplKHt3aWR0aDowLGhlaWdodDowfSksdGhpcy5obT0oKT0+dGhpcy5rbSgzKSx0aGlzLm9tPSJsZWZ0Ij09PXQsdGhpcy53ZD1zLlpkLHRoaXMueW49aSx0aGlzLlR3PWgsdGhpcy5Sdz1uLHRoaXMubHY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5sdi5zdHlsZS53aWR0aD0iMjVweCIsdGhpcy5sdi5zdHlsZS5oZWlnaHQ9IjEwMCUiLHRoaXMubHYuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIsdGhpcy5mbT1fcyh0aGlzLmx2LGUuc2l6ZSh7d2lkdGg6MTYsaGVpZ2h0OjE2fSkpLHRoaXMuZm0uc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5obSl9bSgpe3RoaXMuZm0udW5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0aGlzLmhtKSxDcyh0aGlzLmZtLmNhbnZhc0VsZW1lbnQpLHRoaXMuZm0uZGlzcG9zZSgpfXV2KCl7cmV0dXJuIHRoaXMubHZ9Y3YoKXtyZXR1cm4gdGhpcy5Rdn1DbSh0KXsoMCxlLmVxdWFsU2l6ZXMpKHRoaXMuUXYsdCl8fCh0aGlzLlF2PXQsdGhpcy5mbS5yZXNpemVDYW52YXNFbGVtZW50KHQpLHRoaXMubHYuc3R5bGUud2lkdGg9YCR7dC53aWR0aH1weGAsdGhpcy5sdi5zdHlsZS5oZWlnaHQ9YCR7dC5oZWlnaHR9cHhgLHRoaXMueHQ9ITApfWttKHQpe2lmKHQ8MyYmIXRoaXMueHQpcmV0dXJuO2lmKDA9PT10aGlzLlF2LndpZHRofHwwPT09dGhpcy5Rdi5oZWlnaHQpcmV0dXJuO3RoaXMueHQ9ITEsdGhpcy5mbS5hcHBseVN1Z2dlc3RlZEJpdG1hcFNpemUoKTtjb25zdCBpPSgwLGUudHJ5Q3JlYXRlQ2FudmFzUmVuZGVyaW5nVGFyZ2V0MkQpKHRoaXMuZm0se2NvbG9yU3BhY2U6dGhpcy55bi5sYXlvdXQuY29sb3JTcGFjZX0pO251bGwhPT1pJiZpLnVzZUJpdG1hcENvb3JkaW5hdGVTcGFjZSgodD0+e3RoaXMuVG0odCksdGhpcy5SbSh0KX0pKX1kdigpe3JldHVybiB0aGlzLmZtLmJpdG1hcFNpemV9ZnYodCxpLHMpe2NvbnN0IGU9dGhpcy5kdigpO2Uud2lkdGg+MCYmZS5oZWlnaHQ+MCYmdC5kcmF3SW1hZ2UodGhpcy5mbS5jYW52YXNFbGVtZW50LGkscyl9Um0oe2NvbnRleHQ6dCxiaXRtYXBTaXplOmksaG9yaXpvbnRhbFBpeGVsUmF0aW86cyx2ZXJ0aWNhbFBpeGVsUmF0aW86ZX0pe2lmKCF0aGlzLlR3KCkpcmV0dXJuO3QuZmlsbFN0eWxlPXRoaXMueW4udGltZVNjYWxlLmJvcmRlckNvbG9yO2NvbnN0IGg9TWF0aC5mbG9vcih0aGlzLndkLk4oKS5TKnMpLG49TWF0aC5mbG9vcih0aGlzLndkLk4oKS5TKmUpLHI9dGhpcy5vbT9pLndpZHRoLWg6MDt0LmZpbGxSZWN0KHIsMCxoLG4pfVRtKHtjb250ZXh0OnQsYml0bWFwU2l6ZTppfSl7ClEodCwwLDAsaS53aWR0aCxpLmhlaWdodCx0aGlzLlJ3KCkpfX1mdW5jdGlvbiBRcyh0KXtyZXR1cm4gaT0+aS5YYT8uKHQpPz9bXX1jb25zdCBEcz1Rcygibm9ybWFsIiksT3M9UXMoInRvcCIpLEtzPVFzKCJib3R0b20iKTtjbGFzcyBWc3tjb25zdHJ1Y3Rvcih0LGkpe3RoaXMuRHc9bnVsbCx0aGlzLkl3PW51bGwsdGhpcy5NPW51bGwsdGhpcy5Wdz0hMSx0aGlzLlF2PWUuc2l6ZSh7d2lkdGg6MCxoZWlnaHQ6MH0pLHRoaXMuQnc9bmV3IG0sdGhpcy5pbT1uZXcgbnQoNSksdGhpcy5ybT0hMSx0aGlzLmhtPSgpPT57dGhpcy5ybXx8dGhpcy5xdi5RdCgpLm1yKCl9LHRoaXMubG09KCk9Pnt0aGlzLnJtfHx0aGlzLnF2LlF0KCkubXIoKX0sdGhpcy5xdj10LHRoaXMueHU9aSx0aGlzLnluPXQuTigpLmxheW91dCx0aGlzLkh2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRyIiksdGhpcy5Fdz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpLHRoaXMuRXcuc3R5bGUucGFkZGluZz0iMCIsdGhpcy5Bdz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpLHRoaXMuQXcuc3R5bGUucGFkZGluZz0iMCIsdGhpcy5sdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpLHRoaXMubHYuc3R5bGUuaGVpZ2h0PSIyNXB4Iix0aGlzLmx2LnN0eWxlLnBhZGRpbmc9IjAiLHRoaXMuTHc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5Mdy5zdHlsZS53aWR0aD0iMTAwJSIsdGhpcy5Mdy5zdHlsZS5oZWlnaHQ9IjEwMCUiLHRoaXMuTHcuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIix0aGlzLkx3LnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iLHRoaXMubHYuYXBwZW5kQ2hpbGQodGhpcy5MdyksdGhpcy5mbT1fcyh0aGlzLkx3LGUuc2l6ZSh7d2lkdGg6MTYsaGVpZ2h0OjE2fSkpLHRoaXMuZm0uc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5obSk7Y29uc3Qgcz10aGlzLmZtLmNhbnZhc0VsZW1lbnQ7cy5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLHMuc3R5bGUuekluZGV4PSIxIixzLnN0eWxlLmxlZnQ9IjAiLHMuc3R5bGUudG9wPSIwIix0aGlzLnBtPV9zKHRoaXMuTHcsZS5zaXplKHt3aWR0aDoxNixoZWlnaHQ6MTZ9KSksdGhpcy5wbS5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0aGlzLmxtKTtjb25zdCBoPXRoaXMucG0uY2FudmFzRWxlbWVudDtoLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsaC5zdHlsZS56SW5kZXg9IjIiLGguc3R5bGUubGVmdD0iMCIsaC5zdHlsZS50b3A9IjAiLHRoaXMuSHYuYXBwZW5kQ2hpbGQodGhpcy5FdyksdGhpcy5Idi5hcHBlbmRDaGlsZCh0aGlzLmx2KSx0aGlzLkh2LmFwcGVuZENoaWxkKHRoaXMuQXcpLHRoaXMuencoKSx0aGlzLnF2LlF0KCkuTF8oKS5pKHRoaXMuencuYmluZCh0aGlzKSx0aGlzKSx0aGlzLnR2PW5ldyBkcyh0aGlzLnBtLmNhbnZhc0VsZW1lbnQsdGhpcyx7eHA6KCk9PiEwLENwOigpPT4hdGhpcy5xdi5OKCkuaGFuZGxlU2Nyb2xsLmhvcnpUb3VjaERyYWd9KX1tKCl7dGhpcy50di5tKCksbnVsbCE9PXRoaXMuRHcmJnRoaXMuRHcubSgpLG51bGwhPT10aGlzLkl3JiZ0aGlzLkl3Lm0oKSx0aGlzLnBtLnVuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5sbSksQ3ModGhpcy5wbS5jYW52YXNFbGVtZW50KSx0aGlzLnBtLmRpc3Bvc2UoKSx0aGlzLmZtLnVuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5obSksQ3ModGhpcy5mbS5jYW52YXNFbGVtZW50KSx0aGlzLmZtLmRpc3Bvc2UoKX11digpe3JldHVybiB0aGlzLkh2fU93KCl7cmV0dXJuIHRoaXMuRHd9TncoKXtyZXR1cm4gdGhpcy5Jd316cCh0KXtpZih0aGlzLlZ3KXJldHVybjt0aGlzLlZ3PSEwO2NvbnN0IGk9dGhpcy5xdi5RdCgpOyFpLkV0KCkuR2koKSYmdGhpcy5xdi5OKCkuaGFuZGxlU2NhbGUuYXhpc1ByZXNzZWRNb3VzZU1vdmUudGltZSYmaS56ZCh0LmxvY2FsWCl9QXAodCl7dGhpcy56cCh0KX1PcCgpe2NvbnN0IHQ9dGhpcy5xdi5RdCgpOyF0LkV0KCkuR2koKSYmdGhpcy5WdyYmKHRoaXMuVnc9ITEsdGhpcy5xdi5OKCkuaGFuZGxlU2NhbGUuYXhpc1ByZXNzZWRNb3VzZU1vdmUudGltZSYmdC4kZCgpKX1QcCh0KXtjb25zdCBpPXRoaXMucXYuUXQoKTshaS5FdCgpLkdpKCkmJnRoaXMucXYuTigpLmhhbmRsZVNjYWxlLmF4aXNQcmVzc2VkTW91c2VNb3ZlLnRpbWUmJmkuVWQodC5sb2NhbFgpfXlwKHQpe3RoaXMuUHAodCl9SXAoKXt0aGlzLlZ3PSExO2NvbnN0IHQ9dGhpcy5xdi5RdCgpO3QuRXQoKS5HaSgpJiYhdGhpcy5xdi5OKCkuaGFuZGxlU2NhbGUuYXhpc1ByZXNzZWRNb3VzZU1vdmUudGltZXx8dC4kZCgpfVJwKCl7dGhpcy5JcCgpfXVwKCl7dGhpcy5xdi5OKCkuaGFuZGxlU2NhbGUuYXhpc0RvdWJsZUNsaWNrUmVzZXQudGltZSYmdGhpcy5xdi5RdCgpLndzKCl9YXAoKXt0aGlzLnVwKCl9d3AoKXt0aGlzLnF2LlF0KCkuTigpLmhhbmRsZVNjYWxlLmF4aXNQcmVzc2VkTW91c2VNb3ZlLnRpbWUmJnRoaXMuRW0oMSl9WXAoKXt0aGlzLkVtKDApfWN2KCl7cmV0dXJuIHRoaXMuUXZ9RncoKXtyZXR1cm4gdGhpcy5Cd31Xdyh0LGkscyl7KDAsZS5lcXVhbFNpemVzKSh0aGlzLlF2LHQpfHwodGhpcy5Rdj10LHRoaXMucm09ITAsdGhpcy5mbS5yZXNpemVDYW52YXNFbGVtZW50KHQpLHRoaXMucG0ucmVzaXplQ2FudmFzRWxlbWVudCh0KSx0aGlzLnJtPSExLHRoaXMubHYuc3R5bGUud2lkdGg9YCR7dC53aWR0aH1weGAsdGhpcy5sdi5zdHlsZS5oZWlnaHQ9YCR7dC5oZWlnaHR9cHhgLHRoaXMuQncucCh0KSksbnVsbCE9PXRoaXMuRHcmJnRoaXMuRHcuQ20oZS5zaXplKHt3aWR0aDppLGhlaWdodDp0LmhlaWdodH0pKSxudWxsIT09dGhpcy5JdyYmdGhpcy5Jdy5DbShlLnNpemUoe3dpZHRoOnMsaGVpZ2h0OnQuaGVpZ2h0fSkpfUh3KCl7Y29uc3QgdD10aGlzLlV3KCk7cmV0dXJuIE1hdGguY2VpbCh0LlMrdC5DK3Quayt0LkErdC5JK3QuJHcpfWt0KCl7dGhpcy5xdi5RdCgpLkV0KCkuRWwoKX1kdigpe3JldHVybiB0aGlzLmZtLmJpdG1hcFNpemV9ZnYodCxpLHMsZSl7CmNvbnN0IGg9dGhpcy5kdigpO2lmKGgud2lkdGg+MCYmaC5oZWlnaHQ+MCYmKHQuZHJhd0ltYWdlKHRoaXMuZm0uY2FudmFzRWxlbWVudCxpLHMpLGUpKXtjb25zdCBlPXRoaXMucG0uY2FudmFzRWxlbWVudDt0LmRyYXdJbWFnZShlLGkscyl9fWttKHQpe2lmKDA9PT10KXJldHVybjtjb25zdCBpPXtjb2xvclNwYWNlOnRoaXMueW4uY29sb3JTcGFjZX07aWYoMSE9PXQpe3RoaXMuZm0uYXBwbHlTdWdnZXN0ZWRCaXRtYXBTaXplKCk7Y29uc3Qgcz0oMCxlLnRyeUNyZWF0ZUNhbnZhc1JlbmRlcmluZ1RhcmdldDJEKSh0aGlzLmZtLGkpO251bGwhPT1zJiYocy51c2VCaXRtYXBDb29yZGluYXRlU3BhY2UoKHQ9Pnt0aGlzLlRtKHQpLHRoaXMuUm0odCksdGhpcy5qdyhzLEtzKX0pKSx0aGlzLkltKHMpLHRoaXMuancocyxEcykpLG51bGwhPT10aGlzLkR3JiZ0aGlzLkR3LmttKHQpLG51bGwhPT10aGlzLkl3JiZ0aGlzLkl3LmttKHQpfXRoaXMucG0uYXBwbHlTdWdnZXN0ZWRCaXRtYXBTaXplKCk7Y29uc3Qgcz0oMCxlLnRyeUNyZWF0ZUNhbnZhc1JlbmRlcmluZ1RhcmdldDJEKSh0aGlzLnBtLGkpO251bGwhPT1zJiYocy51c2VCaXRtYXBDb29yZGluYXRlU3BhY2UoKCh7Y29udGV4dDp0LGJpdG1hcFNpemU6aX0pPT57dC5jbGVhclJlY3QoMCwwLGkud2lkdGgsaS5oZWlnaHQpfSkpLHRoaXMucXcoWy4uLnRoaXMucXYuUXQoKS5KbigpLHRoaXMucXYuUXQoKS5SZCgpXSxzKSx0aGlzLmp3KHMsT3MpKX1qdyh0LGkpe2NvbnN0IHM9dGhpcy5xdi5RdCgpLkpuKCk7Zm9yKGNvbnN0IGUgb2YgcylOcyhpLChpPT5rcyhpLHQsITEsdm9pZCAwKSksZSx2b2lkIDApO2Zvcihjb25zdCBlIG9mIHMpTnMoaSwoaT0+RXMoaSx0LCExLHZvaWQgMCkpLGUsdm9pZCAwKX1UbSh7Y29udGV4dDp0LGJpdG1hcFNpemU6aX0pe1EodCwwLDAsaS53aWR0aCxpLmhlaWdodCx0aGlzLnF2LlF0KCkuZWYoKSl9Um0oe2NvbnRleHQ6dCxiaXRtYXBTaXplOmksdmVydGljYWxQaXhlbFJhdGlvOnN9KXtpZih0aGlzLnF2Lk4oKS50aW1lU2NhbGUuYm9yZGVyVmlzaWJsZSl7dC5maWxsU3R5bGU9dGhpcy5ZdygpO2NvbnN0IGU9TWF0aC5tYXgoMSxNYXRoLmZsb29yKHRoaXMuVXcoKS5TKnMpKTt0LmZpbGxSZWN0KDAsMCxpLndpZHRoLGUpfX1JbSh0KXtjb25zdCBpPXRoaXMucXYuUXQoKS5FdCgpLHM9aS5FbCgpO2lmKCFzfHwwPT09cy5sZW5ndGgpcmV0dXJuO2NvbnN0IGU9dGhpcy54dS5tYXhUaWNrTWFya1dlaWdodChzKSxoPXRoaXMuVXcoKSxuPWkuTigpO24uYm9yZGVyVmlzaWJsZSYmbi50aWNrc1Zpc2libGUmJnQudXNlQml0bWFwQ29vcmRpbmF0ZVNwYWNlKCgoe2NvbnRleHQ6dCxob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzplfSk9Pnt0LnN0cm9rZVN0eWxlPXRoaXMuWXcoKSx0LmZpbGxTdHlsZT10aGlzLll3KCk7Y29uc3Qgbj1NYXRoLm1heCgxLE1hdGguZmxvb3IoaSkpLHI9TWF0aC5mbG9vciguNSppKTt0LmJlZ2luUGF0aCgpO2NvbnN0IG89TWF0aC5yb3VuZChoLkMqZSk7Zm9yKGxldCBlPXMubGVuZ3RoO2UtLTspe2NvbnN0IGg9TWF0aC5yb3VuZChzW2VdLmNvb3JkKmkpO3QucmVjdChoLXIsMCxuLG8pfXQuZmlsbCgpfSkpLHQudXNlTWVkaWFDb29yZGluYXRlU3BhY2UoKCh7Y29udGV4dDp0fSk9Pntjb25zdCBpPWguUytoLkMraC5BK2guay8yO3QudGV4dEFsaWduPSJjZW50ZXIiLHQudGV4dEJhc2VsaW5lPSJtaWRkbGUiLHQuZmlsbFN0eWxlPXRoaXMuSCgpLHQuZm9udD10aGlzLlNtKCk7Zm9yKGNvbnN0IGggb2YgcylpZihoLndlaWdodDxlKXtjb25zdCBzPWgubmVlZEFsaWduQ29vcmRpbmF0ZT90aGlzLkt3KHQsaC5jb29yZCxoLmxhYmVsKTpoLmNvb3JkO3QuZmlsbFRleHQoaC5sYWJlbCxzLGkpfXRoaXMucXYuTigpLnRpbWVTY2FsZS5hbGxvd0JvbGRMYWJlbHMmJih0LmZvbnQ9dGhpcy5adygpKTtmb3IoY29uc3QgaCBvZiBzKWlmKGgud2VpZ2h0Pj1lKXtjb25zdCBzPWgubmVlZEFsaWduQ29vcmRpbmF0ZT90aGlzLkt3KHQsaC5jb29yZCxoLmxhYmVsKTpoLmNvb3JkO3QuZmlsbFRleHQoaC5sYWJlbCxzLGkpfX0pKX1Ldyh0LGkscyl7Y29uc3QgZT10aGlzLmltLklpKHQscyksaD1lLzIsbj1NYXRoLmZsb29yKGktaCkrLjU7cmV0dXJuIG48MD9pKz1NYXRoLmFicygwLW4pOm4rZT50aGlzLlF2LndpZHRoJiYoaS09TWF0aC5hYnModGhpcy5Rdi53aWR0aC0obitlKSkpLGl9cXcodCxpKXtjb25zdCBzPXRoaXMuVXcoKTtmb3IoY29uc3QgZSBvZiB0KWZvcihjb25zdCB0IG9mIGUuZG4oKSl0LlR0KCkuc3QoaSxzKX1Zdygpe3JldHVybiB0aGlzLnF2Lk4oKS50aW1lU2NhbGUuYm9yZGVyQ29sb3J9SCgpe3JldHVybiB0aGlzLnluLnRleHRDb2xvcn1GKCl7cmV0dXJuIHRoaXMueW4uZm9udFNpemV9U20oKXtyZXR1cm4gXyh0aGlzLkYoKSx0aGlzLnluLmZvbnRGYW1pbHkpfVp3KCl7cmV0dXJuIF8odGhpcy5GKCksdGhpcy55bi5mb250RmFtaWx5LCJib2xkIil9VXcoKXtudWxsPT09dGhpcy5NJiYodGhpcy5NPXtTOjEsTDpOYU4sQTpOYU4sSTpOYU4sdG46TmFOLEM6NSxrOk5hTixQOiIiLFFpOm5ldyBudCwkdzowfSk7Y29uc3QgdD10aGlzLk0saT10aGlzLlNtKCk7aWYodC5QIT09aSl7Y29uc3Qgcz10aGlzLkYoKTt0Lms9cyx0LlA9aSx0LkE9MypzLzEyLHQuST0zKnMvMTIsdC50bj05KnMvMTIsdC5MPTAsdC4kdz00KnMvMTIsdC5RaS5PcygpfXJldHVybiB0aGlzLk19RW0odCl7dGhpcy5sdi5zdHlsZS5jdXJzb3I9MT09PXQ/ImV3LXJlc2l6ZSI6ImRlZmF1bHQifXp3KCl7Y29uc3QgdD10aGlzLnF2LlF0KCksaT10Lk4oKTtpLmxlZnRQcmljZVNjYWxlLnZpc2libGV8fG51bGw9PT10aGlzLkR3fHwodGhpcy5Fdy5yZW1vdmVDaGlsZCh0aGlzLkR3LnV2KCkpLHRoaXMuRHcubSgpLHRoaXMuRHc9bnVsbCksaS5yaWdodFByaWNlU2NhbGUudmlzaWJsZXx8bnVsbD09PXRoaXMuSXd8fCh0aGlzLkF3LnJlbW92ZUNoaWxkKHRoaXMuSXcudXYoKSksdGhpcy5Jdy5tKCksdGhpcy5Jdz1udWxsKTtjb25zdCBzPXtaZDp0aGlzLnF2LlF0KCkuWmQoKQp9LGU9KCk9PmkubGVmdFByaWNlU2NhbGUuYm9yZGVyVmlzaWJsZSYmdC5FdCgpLk4oKS5ib3JkZXJWaXNpYmxlLGg9KCk9PnQuZWYoKTtpLmxlZnRQcmljZVNjYWxlLnZpc2libGUmJm51bGw9PT10aGlzLkR3JiYodGhpcy5Edz1uZXcgV3MoImxlZnQiLGkscyxlLGgpLHRoaXMuRXcuYXBwZW5kQ2hpbGQodGhpcy5Edy51digpKSksaS5yaWdodFByaWNlU2NhbGUudmlzaWJsZSYmbnVsbD09PXRoaXMuSXcmJih0aGlzLkl3PW5ldyBXcygicmlnaHQiLGkscyxlLGgpLHRoaXMuQXcuYXBwZW5kQ2hpbGQodGhpcy5Jdy51digpKSl9fWNvbnN0ICRzPSEhbHMmJiEhbmF2aWdhdG9yLnVzZXJBZ2VudERhdGEmJm5hdmlnYXRvci51c2VyQWdlbnREYXRhLmJyYW5kcy5zb21lKCh0PT50LmJyYW5kLmluY2x1ZGVzKCJDaHJvbWl1bSIpKSkmJiEhbHMmJihuYXZpZ2F0b3I/LnVzZXJBZ2VudERhdGE/LnBsYXRmb3JtPyJXaW5kb3dzIj09PW5hdmlnYXRvci51c2VyQWdlbnREYXRhLnBsYXRmb3JtOm5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ3aW4iKT49MCk7Y2xhc3MgQnN7Y29uc3RydWN0b3IodCxpLHMpe3ZhciBlO3RoaXMuR3c9W10sdGhpcy5Ydz1bXSx0aGlzLkp3PTAsdGhpcy5obz0wLHRoaXMuQ189MCx0aGlzLlF3PTAsdGhpcy50TT0wLHRoaXMuaU09bnVsbCx0aGlzLm5NPSExLHRoaXMuV209bmV3IG0sdGhpcy5IbT1uZXcgbSx0aGlzLnBkPW5ldyBtLHRoaXMuc009bnVsbCx0aGlzLmVNPW51bGwsdGhpcy5qdj10LHRoaXMueW49aSx0aGlzLnh1PXMsdGhpcy5Idj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLkh2LmNsYXNzTGlzdC5hZGQoInR2LWxpZ2h0d2VpZ2h0LWNoYXJ0cyIpLHRoaXMuSHYuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIsdGhpcy5Idi5zdHlsZS5kaXJlY3Rpb249Imx0ciIsdGhpcy5Idi5zdHlsZS53aWR0aD0iMTAwJSIsdGhpcy5Idi5zdHlsZS5oZWlnaHQ9IjEwMCUiLChlPXRoaXMuSHYpLnN0eWxlLnVzZXJTZWxlY3Q9Im5vbmUiLGUuc3R5bGUud2Via2l0VXNlclNlbGVjdD0ibm9uZSIsZS5zdHlsZS5tc1VzZXJTZWxlY3Q9Im5vbmUiLGUuc3R5bGUuTW96VXNlclNlbGVjdD0ibm9uZSIsZS5zdHlsZS53ZWJraXRUYXBIaWdobGlnaHRDb2xvcj0idHJhbnNwYXJlbnQiLHRoaXMuck09ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGFibGUiKSx0aGlzLnJNLnNldEF0dHJpYnV0ZSgiY2VsbHNwYWNpbmciLCIwIiksdGhpcy5Idi5hcHBlbmRDaGlsZCh0aGlzLnJNKSx0aGlzLmhNPXRoaXMuYU0uYmluZCh0aGlzKSxBcyh0aGlzLnluKSYmdGhpcy5sTSghMCksdGhpcy5zbj1uZXcgQmkodGhpcy5tZC5iaW5kKHRoaXMpLHRoaXMueW4scyksdGhpcy5RdCgpLkRkKCkuaSh0aGlzLm9NLmJpbmQodGhpcyksdGhpcyksdGhpcy5fTT1uZXcgVnModGhpcyx0aGlzLnh1KSx0aGlzLnJNLmFwcGVuZENoaWxkKHRoaXMuX00udXYoKSk7Y29uc3QgaD1pLmF1dG9TaXplJiZ0aGlzLnVNKCk7bGV0IG49dGhpcy55bi53aWR0aCxyPXRoaXMueW4uaGVpZ2h0O2lmKGh8fDA9PT1ufHwwPT09cil7Y29uc3QgaT10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO249bnx8aS53aWR0aCxyPXJ8fGkuaGVpZ2h0fXRoaXMuY00obixyKSx0aGlzLmRNKCksdC5hcHBlbmRDaGlsZCh0aGlzLkh2KSx0aGlzLmZNKCksdGhpcy5zbi5FdCgpLlpjKCkuaSh0aGlzLnNuLlBhLmJpbmQodGhpcy5zbiksdGhpcyksdGhpcy5zbi5MXygpLmkodGhpcy5zbi5QYS5iaW5kKHRoaXMuc24pLHRoaXMpfVF0KCl7cmV0dXJuIHRoaXMuc259Tigpe3JldHVybiB0aGlzLnlufXJ2KCl7cmV0dXJuIHRoaXMuR3d9cE0oKXtyZXR1cm4gdGhpcy5fTX1tKCl7dGhpcy5sTSghMSksMCE9PXRoaXMuSncmJndpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLkp3KSx0aGlzLnNuLkRkKCkudSh0aGlzKSx0aGlzLnNuLkV0KCkuWmMoKS51KHRoaXMpLHRoaXMuc24uTF8oKS51KHRoaXMpLHRoaXMuc24ubSgpO2Zvcihjb25zdCB0IG9mIHRoaXMuR3cpdGhpcy5yTS5yZW1vdmVDaGlsZCh0LnV2KCkpLHQuZHcoKS51KHRoaXMpLHQuZncoKS51KHRoaXMpLHQubSgpO3RoaXMuR3c9W107Zm9yKGNvbnN0IHQgb2YgdGhpcy5Ydyl0aGlzLnZNKHQpO3RoaXMuWHc9W10sZih0aGlzLl9NKS5tKCksbnVsbCE9PXRoaXMuSHYucGFyZW50RWxlbWVudCYmdGhpcy5Idi5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuSHYpLHRoaXMucGQubSgpLHRoaXMuV20ubSgpLHRoaXMuSG0ubSgpLHRoaXMubU0oKX1jTSh0LGkscz0hMSl7aWYodGhpcy5obz09PWkmJnRoaXMuQ189PT10KXJldHVybjtjb25zdCBoPWZ1bmN0aW9uKHQpe2NvbnN0IGk9TWF0aC5mbG9vcih0LndpZHRoKSxzPU1hdGguZmxvb3IodC5oZWlnaHQpO3JldHVybiBlLnNpemUoe3dpZHRoOmktaSUyLGhlaWdodDpzLXMlMn0pfShlLnNpemUoe3dpZHRoOnQsaGVpZ2h0Oml9KSk7dGhpcy5obz1oLmhlaWdodCx0aGlzLkNfPWgud2lkdGg7Y29uc3Qgbj10aGlzLmhvKyJweCIscj10aGlzLkNfKyJweCI7aWYodGhpcy53TSgpfHwoZih0aGlzLkh2KS5zdHlsZS5oZWlnaHQ9bixmKHRoaXMuSHYpLnN0eWxlLndpZHRoPXIpLHRoaXMuck0uc3R5bGUuaGVpZ2h0PW4sdGhpcy5yTS5zdHlsZS53aWR0aD1yLHMpezAhPT10aGlzLkp3JiYod2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuSncpLHRoaXMuSnc9MCksdGhpcy5uTT0hMTtjb25zdCB0PVgueXMoKTtudWxsIT09dGhpcy5pTSYmKHQuU3ModGhpcy5pTSksdGhpcy5pTT1udWxsKSx0aGlzLk1NKHQscGVyZm9ybWFuY2Uubm93KCkpfWVsc2UgdGhpcy5zbi5QYSgpfWttKHQpe3ZvaWQgMD09PXQmJih0PVgueXMoKSk7Zm9yKGxldCBpPTA7aTx0aGlzLkd3Lmxlbmd0aDtpKyspdGhpcy5Hd1tpXS5rbSh0Ll9zKGkpLnJzKTt0aGlzLnluLnRpbWVTY2FsZS52aXNpYmxlJiZ0aGlzLl9NLmttKHQubHMoKSl9dnIodCl7Y29uc3QgaT1Bcyh0aGlzLnluKTt0aGlzLnNuLnZyKHQpO2NvbnN0IHM9QXModGhpcy55bik7cyE9PWkmJnRoaXMubE0ocyksdC5sYXlvdXQ/LnBhbmVzJiZ0aGlzLmdNKCksdGhpcy5mTSgpLAp0aGlzLmJNKHQpfWR3KCl7cmV0dXJuIHRoaXMuV219ZncoKXtyZXR1cm4gdGhpcy5IbX1EZCgpe3JldHVybiB0aGlzLnBkfVNNKHQ9ITEpe251bGwhPT10aGlzLmlNJiYodGhpcy5NTSh0aGlzLmlNLHBlcmZvcm1hbmNlLm5vdygpKSx0aGlzLmlNPW51bGwpO2NvbnN0IGk9dGhpcy54TShudWxsKSxzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpO3Mud2lkdGg9aS53aWR0aCxzLmhlaWdodD1pLmhlaWdodDtjb25zdCBlPWYocy5nZXRDb250ZXh0KCIyZCIpKTtyZXR1cm4gdGhpcy54TShlLHQpLHN9Q00odCl7cmV0dXJuKCJsZWZ0IiE9PXR8fHRoaXMueU0oKSkmJigicmlnaHQiIT09dHx8dGhpcy5rTSgpKT8wPT09dGhpcy5Hdy5sZW5ndGg/MDpmKCJsZWZ0Ij09PXQ/dGhpcy5Hd1swXS5TdygpOnRoaXMuR3dbMF0ueHcoKSkueW0oKTowfXdNKCl7cmV0dXJuIHRoaXMueW4uYXV0b1NpemUmJm51bGwhPT10aGlzLnNNfXZ2KCl7cmV0dXJuIHRoaXMuSHZ9UE0odCl7dGhpcy5lTT10LHRoaXMuZU0/dGhpcy52digpLnN0eWxlLnNldFByb3BlcnR5KCJjdXJzb3IiLHQpOnRoaXMudnYoKS5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgiY3Vyc29yIil9VE0oKXtyZXR1cm4gdGhpcy5lTX1STSh0KXtyZXR1cm4gYyh0aGlzLkd3W3RdKS5jdigpfWdNKCl7dGhpcy5Ydy5mb3JFYWNoKCh0PT57dC5rdCgpfSkpfWJNKHQpeyh2b2lkIDAhPT10LmF1dG9TaXplfHwhdGhpcy5zTXx8dm9pZCAwPT09dC53aWR0aCYmdm9pZCAwPT09dC5oZWlnaHQpJiYodC5hdXRvU2l6ZSYmIXRoaXMuc00mJnRoaXMudU0oKSwhMT09PXQuYXV0b1NpemUmJm51bGwhPT10aGlzLnNNJiZ0aGlzLm1NKCksdC5hdXRvU2l6ZXx8dm9pZCAwPT09dC53aWR0aCYmdm9pZCAwPT09dC5oZWlnaHR8fHRoaXMuY00odC53aWR0aHx8dGhpcy5DXyx0LmhlaWdodHx8dGhpcy5obykpfXhNKHQsaSl7bGV0IHM9MCxoPTA7Y29uc3Qgbj10aGlzLkd3WzBdLHI9KHMsZSk9PntsZXQgaD0wO2ZvcihsZXQgbj0wO248dGhpcy5Hdy5sZW5ndGg7bisrKXtjb25zdCByPXRoaXMuR3dbbl0sbz1mKCJsZWZ0Ij09PXM/ci5TdygpOnIueHcoKSksbD1vLmR2KCk7aWYobnVsbCE9PXQmJm8uZnYodCxlLGgsaSksaCs9bC5oZWlnaHQsbjx0aGlzLkd3Lmxlbmd0aC0xKXtjb25zdCBpPXRoaXMuWHdbbl0scz1pLmR2KCk7bnVsbCE9PXQmJmkuZnYodCxlLGgpLGgrPXMuaGVpZ2h0fX19O3RoaXMueU0oKSYmKHIoImxlZnQiLDApLHMrPWYobi5TdygpKS5kdigpLndpZHRoKTtmb3IobGV0IGU9MDtlPHRoaXMuR3cubGVuZ3RoO2UrKyl7Y29uc3Qgbj10aGlzLkd3W2VdLHI9bi5kdigpO2lmKG51bGwhPT10JiZuLmZ2KHQscyxoLGkpLGgrPXIuaGVpZ2h0LGU8dGhpcy5Hdy5sZW5ndGgtMSl7Y29uc3QgaT10aGlzLlh3W2VdLG49aS5kdigpO251bGwhPT10JiZpLmZ2KHQscyxoKSxoKz1uLmhlaWdodH19cys9bi5kdigpLndpZHRoLHRoaXMua00oKSYmKHIoInJpZ2h0IixzKSxzKz1mKG4ueHcoKSkuZHYoKS53aWR0aCk7Y29uc3Qgbz0oaSxzLGUpPT57ZigibGVmdCI9PT1pP3RoaXMuX00uT3coKTp0aGlzLl9NLk53KCkpLmZ2KGYodCkscyxlKX07aWYodGhpcy55bi50aW1lU2NhbGUudmlzaWJsZSl7Y29uc3Qgcz10aGlzLl9NLmR2KCk7aWYobnVsbCE9PXQpe2xldCBlPTA7dGhpcy55TSgpJiYobygibGVmdCIsZSxoKSxlPWYobi5TdygpKS5kdigpLndpZHRoKSx0aGlzLl9NLmZ2KHQsZSxoLGkpLGUrPXMud2lkdGgsdGhpcy5rTSgpJiZvKCJyaWdodCIsZSxoKX1oKz1zLmhlaWdodH1yZXR1cm4gZS5zaXplKHt3aWR0aDpzLGhlaWdodDpofSl9RE0oKXtsZXQgdD0wLGk9MCxzPTA7Zm9yKGNvbnN0IGUgb2YgdGhpcy5Hdyl0aGlzLnlNKCkmJihpPU1hdGgubWF4KGksZihlLlN3KCkpLmJtKCksdGhpcy55bi5sZWZ0UHJpY2VTY2FsZS5taW5pbXVtV2lkdGgpKSx0aGlzLmtNKCkmJihzPU1hdGgubWF4KHMsZihlLnh3KCkpLmJtKCksdGhpcy55bi5yaWdodFByaWNlU2NhbGUubWluaW11bVdpZHRoKSksdCs9ZS56XygpO2k9ZnMoaSkscz1mcyhzKTtjb25zdCBoPXRoaXMuQ18sbj10aGlzLmhvLHI9TWF0aC5tYXgoaC1pLXMsMCksbz0xKnRoaXMuWHcubGVuZ3RoLGw9dGhpcy55bi50aW1lU2NhbGUudmlzaWJsZTtsZXQgYT1sP01hdGgubWF4KHRoaXMuX00uSHcoKSx0aGlzLnluLnRpbWVTY2FsZS5taW5pbXVtSGVpZ2h0KTowO3ZhciB1O2E9KHU9YSkrdSUyO2NvbnN0IGM9bythLGQ9bjxjPzA6bi1jLG09ZC90O2xldCBwPTA7Y29uc3QgZz13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MTtmb3IobGV0IHQ9MDt0PHRoaXMuR3cubGVuZ3RoOysrdCl7Y29uc3QgaD10aGlzLkd3W3RdO2guaXcodGhpcy5zbi5abigpW3RdKTtsZXQgbj0wLG89MDtvPXQ9PT10aGlzLkd3Lmxlbmd0aC0xP01hdGguY2VpbCgoZC1wKSpnKS9nOk1hdGgucm91bmQoaC56XygpKm0qZykvZyxuPU1hdGgubWF4KG8sMikscCs9bixoLkNtKGUuc2l6ZSh7d2lkdGg6cixoZWlnaHQ6bn0pKSx0aGlzLnlNKCkmJmgubXcoaSwibGVmdCIpLHRoaXMua00oKSYmaC5tdyhzLCJyaWdodCIpLGguU3YoKSYmdGhpcy5zbi5JZChoLlN2KCksbil9dGhpcy5fTS5XdyhlLnNpemUoe3dpZHRoOmw/cjowLGhlaWdodDphfSksbD9pOjAsbD9zOjApLHRoaXMuc24uTl8ociksdGhpcy5RdyE9PWkmJih0aGlzLlF3PWkpLHRoaXMudE0hPT1zJiYodGhpcy50TT1zKX1sTSh0KXt0P3RoaXMuSHYuYWRkRXZlbnRMaXN0ZW5lcigid2hlZWwiLHRoaXMuaE0se3Bhc3NpdmU6ITF9KTp0aGlzLkh2LnJlbW92ZUV2ZW50TGlzdGVuZXIoIndoZWVsIix0aGlzLmhNKX1JTSh0KXtzd2l0Y2godC5kZWx0YU1vZGUpe2Nhc2UgdC5ET01fREVMVEFfUEFHRTpyZXR1cm4gMTIwO2Nhc2UgdC5ET01fREVMVEFfTElORTpyZXR1cm4gMzJ9cmV0dXJuICRzPzEvd2luZG93LmRldmljZVBpeGVsUmF0aW86MX1hTSh0KXtpZighKDAhPT10LmRlbHRhWCYmdGhpcy55bi5oYW5kbGVTY3JvbGwubW91c2VXaGVlbHx8MCE9PXQuZGVsdGFZJiZ0aGlzLnluLmhhbmRsZVNjYWxlLm1vdXNlV2hlZWwpKXJldHVybgo7Y29uc3QgaT10aGlzLklNKHQpLHM9aSp0LmRlbHRhWC8xMDAsZT0taSp0LmRlbHRhWS8xMDA7aWYodC5jYW5jZWxhYmxlJiZ0LnByZXZlbnREZWZhdWx0KCksMCE9PWUmJnRoaXMueW4uaGFuZGxlU2NhbGUubW91c2VXaGVlbCl7Y29uc3QgaT1NYXRoLnNpZ24oZSkqTWF0aC5taW4oMSxNYXRoLmFicyhlKSkscz10LmNsaWVudFgtdGhpcy5Idi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0O3RoaXMuUXQoKS5PZChzLGkpfTAhPT1zJiZ0aGlzLnluLmhhbmRsZVNjcm9sbC5tb3VzZVdoZWVsJiZ0aGlzLlF0KCkuTmQoLTgwKnMpfU1NKHQsaSl7Y29uc3Qgcz10LmxzKCk7Mz09PXMmJnRoaXMuVk0oKSwzIT09cyYmMiE9PXN8fCh0aGlzLkJNKHQpLHRoaXMuRU0odCxpKSx0aGlzLl9NLmt0KCksdGhpcy5Hdy5mb3JFYWNoKCh0PT57dC5zdygpfSkpLDM9PT10aGlzLmlNPy5scygpJiYodGhpcy5pTS5Tcyh0KSx0aGlzLlZNKCksdGhpcy5CTSh0aGlzLmlNKSx0aGlzLkVNKHRoaXMuaU0saSksdD10aGlzLmlNLHRoaXMuaU09bnVsbCkpLHRoaXMua20odCl9RU0odCxpKXtmb3IoY29uc3QgcyBvZiB0LmJzKCkpdGhpcy54cyhzLGkpfUJNKHQpe2NvbnN0IGk9dGhpcy5zbi5abigpO2ZvcihsZXQgcz0wO3M8aS5sZW5ndGg7cysrKXQuX3MocykuaHMmJmlbc10ucnUoKX14cyh0LGkpe2NvbnN0IHM9dGhpcy5zbi5FdCgpO3N3aXRjaCh0LmRzKXtjYXNlIDA6cy5YYygpO2JyZWFrO2Nhc2UgMTpzLkpjKHQuV3QpO2JyZWFrO2Nhc2UgMjpzLk1zKHQuV3QpO2JyZWFrO2Nhc2UgMzpzLmdzKHQuV3QpO2JyZWFrO2Nhc2UgNDpzLk9jKCk7YnJlYWs7Y2FzZSA1OnQuV3QuamMoaSl8fHMuZ3ModC5XdC5xYyhpKSl9fW1kKHQpe251bGwhPT10aGlzLmlNP3RoaXMuaU0uU3ModCk6dGhpcy5pTT10LHRoaXMubk18fCh0aGlzLm5NPSEwLHRoaXMuSnc9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgodD0+e2lmKHRoaXMubk09ITEsdGhpcy5Kdz0wLG51bGwhPT10aGlzLmlNKXtjb25zdCBpPXRoaXMuaU07dGhpcy5pTT1udWxsLHRoaXMuTU0oaSx0KTtmb3IoY29uc3QgcyBvZiBpLmJzKCkpaWYoNT09PXMuZHMmJiFzLld0LmpjKHQpKXt0aGlzLlF0KCkucHMocy5XdCk7YnJlYWt9fX0pKSl9Vk0oKXt0aGlzLmRNKCl9dk0odCl7dGhpcy5yTS5yZW1vdmVDaGlsZCh0LnV2KCkpLHQubSgpfWRNKCl7Y29uc3QgdD10aGlzLnNuLlpuKCksaT10Lmxlbmd0aCxzPXRoaXMuR3cubGVuZ3RoO2ZvcihsZXQgdD1pO3Q8czt0Kyspe2NvbnN0IHQ9Yyh0aGlzLkd3LnBvcCgpKTt0aGlzLnJNLnJlbW92ZUNoaWxkKHQudXYoKSksdC5kdygpLnUodGhpcyksdC5mdygpLnUodGhpcyksdC5tKCk7Y29uc3QgaT10aGlzLlh3LnBvcCgpO3ZvaWQgMCE9PWkmJnRoaXMudk0oaSl9Zm9yKGxldCBlPXM7ZTxpO2UrKyl7Y29uc3QgaT1uZXcgcXModGhpcyx0W2VdKTtpZihpLmR3KCkuaSh0aGlzLkFNLmJpbmQodGhpcyxpKSx0aGlzKSxpLmZ3KCkuaSh0aGlzLkxNLmJpbmQodGhpcyxpKSx0aGlzKSx0aGlzLkd3LnB1c2goaSksZT4wKXtjb25zdCB0PW5ldyB3cyh0aGlzLGUtMSxlKTt0aGlzLlh3LnB1c2godCksdGhpcy5yTS5pbnNlcnRCZWZvcmUodC51digpLHRoaXMuX00udXYoKSl9dGhpcy5yTS5pbnNlcnRCZWZvcmUoaS51digpLHRoaXMuX00udXYoKSl9Zm9yKGxldCBzPTA7czxpO3MrKyl7Y29uc3QgaT10W3NdLGU9dGhpcy5Hd1tzXTtlLlN2KCkhPT1pP2UuaXcoaSk6ZS50dygpfXRoaXMuZk0oKSx0aGlzLkRNKCl9ek0odCxpLHMsZSl7Y29uc3QgaD1uZXcgTWFwO2xldCBuO2lmKG51bGwhPT10JiZ0aGlzLnNuLkpuKCkuZm9yRWFjaCgoaT0+e2NvbnN0IHM9aS5VbigpLkhuKHQpO251bGwhPT1zJiZoLnNldChpLHMpfSkpLG51bGwhPT10KXtjb25zdCBpPXRoaXMuc24uRXQoKS5lbih0KT8ub3JpZ2luYWxUaW1lO3ZvaWQgMCE9PWkmJihuPWkpfWNvbnN0IHI9dGhpcy5RdCgpLm91KCksbz10aGlzLk9NKGUpLGw9ZnVuY3Rpb24odCxpKXtjb25zdCBzPW51bGwhPT10JiZ0Lmx1IGluc3RhbmNlb2YganQ/dC5sdTp2b2lkIDAsZT10Py53dT8udGUsaD12b2lkIDAhPT1pJiYtMSE9PWk/aTp2b2lkIDA7cmV0dXJuIG51bGw9PT10fHx2b2lkIDA9PT10LmVlP3tOTTpzLEZNOmV9OntOTTpzLEZNOmUsV006e2RzOnQuZWUsSE06KG49dC5sdSxyPXQuZWUsbiBpbnN0YW5jZW9mIF9pPyJwYW5lLXByaW1pdGl2ZSI6Im1hcmtlciI9PT1yfHwicHJpbWl0aXZlIj09PXI/InNlcmllcy1wcmltaXRpdmUiOiJzZXJpZXMiKSxVTTpjcyh0LmVlLGUpLFVfOnMsJE06ZSxqTTpofX07dmFyIG4scn0ocixvKTtyZXR1cm57UXI6biwkbjp0Pz92b2lkIDAscU06aT8/dm9pZCAwLGpNOi0xIT09bz9vOnZvaWQgMCxOTTpsLk5NLFlNOmgsRk06bC5GTSxXTTpsLldNLEtNOnM/P3ZvaWQgMH19T00odCl7bGV0IGk9LTE7aWYodClpPXRoaXMuR3cuaW5kZXhPZih0KTtlbHNle2NvbnN0IHQ9dGhpcy5RdCgpLlJkKCkuS24oKTtudWxsIT09dCYmKGk9dGhpcy5RdCgpLlpuKCkuaW5kZXhPZih0KSl9cmV0dXJuIGl9QU0odCxpLHMsZSl7dGhpcy5XbS5wKCgoKT0+dGhpcy56TShpLHMsZSx0KSkpfUxNKHQsaSxzLGUpe3RoaXMuSG0ucCgoKCk9PnRoaXMuek0oaSxzLGUsdCkpKX1vTSh0LGkscyl7dGhpcy5QTSh0aGlzLlF0KCkub3UoKT8ubXU/P251bGwpLHRoaXMucGQucCgoKCk9PnRoaXMuek0odCxpLHMpKSl9Zk0oKXtjb25zdCB0PXRoaXMueW4udGltZVNjYWxlLnZpc2libGU/IiI6Im5vbmUiO3RoaXMuX00udXYoKS5zdHlsZS5kaXNwbGF5PXR9eU0oKXtyZXR1cm4gdGhpcy5Hd1swXS5TdigpLktfKCkuTigpLnZpc2libGV9a00oKXtyZXR1cm4gdGhpcy5Hd1swXS5TdigpLlpfKCkuTigpLnZpc2libGV9dU0oKXtyZXR1cm4iUmVzaXplT2JzZXJ2ZXIiaW4gd2luZG93JiYodGhpcy5zTT1uZXcgUmVzaXplT2JzZXJ2ZXIoKHQ9Pntjb25zdCBpPXRbdC5sZW5ndGgtMV07aWYoIWkpcmV0dXJuO2NvbnN0IHM9aS5jb250ZW50UmVjdC53aWR0aCxlPWkuY29udGVudFJlY3QuaGVpZ2h0O3RoaXMuY00ocyxlLCEwKX0pKSx0aGlzLnNNLm9ic2VydmUodGhpcy5qdix7CmJveDoiYm9yZGVyLWJveCJ9KSwhMCl9bU0oKXtudWxsIT09dGhpcy5zTSYmdGhpcy5zTS5kaXNjb25uZWN0KCksdGhpcy5zTT1udWxsfX1mdW5jdGlvbiBBcyh0KXtyZXR1cm4gQm9vbGVhbih0LmhhbmRsZVNjcm9sbC5tb3VzZVdoZWVsfHx0LmhhbmRsZVNjYWxlLm1vdXNlV2hlZWwpfWZ1bmN0aW9uIFpzKHQpe3JldHVybiB2b2lkIDA9PT10Lm9wZW4mJnZvaWQgMD09PXQudmFsdWV9ZnVuY3Rpb24gSHModCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDAhPT10Lm9wZW59KHQpfHxmdW5jdGlvbih0KXtyZXR1cm4gdm9pZCAwIT09dC52YWx1ZX0odCl9ZnVuY3Rpb24gR3ModCxpLHMsZSl7Y29uc3QgaD1zLnZhbHVlLG49eyRuOmksd3Q6dCxXdDpbaCxoLGgsaF0sUXI6ZX07cmV0dXJuIHZvaWQgMCE9PXMuY29sb3ImJihuLlI9cy5jb2xvciksbn1mdW5jdGlvbiBVcyh0LGkscyxlKXtjb25zdCBoPXMudmFsdWUsbj17JG46aSx3dDp0LFd0OltoLGgsaCxoXSxRcjplfTtyZXR1cm4gdm9pZCAwIT09cy5saW5lQ29sb3ImJihuLnZ0PXMubGluZUNvbG9yKSx2b2lkIDAhPT1zLnRvcENvbG9yJiYobi5haD1zLnRvcENvbG9yKSx2b2lkIDAhPT1zLmJvdHRvbUNvbG9yJiYobi5vaD1zLmJvdHRvbUNvbG9yKSxufWZ1bmN0aW9uIFlzKHQsaSxzLGUpe2NvbnN0IGg9cy52YWx1ZSxuPXskbjppLHd0OnQsV3Q6W2gsaCxoLGhdLFFyOmV9O3JldHVybiB2b2lkIDAhPT1zLnRvcExpbmVDb2xvciYmKG4uX2g9cy50b3BMaW5lQ29sb3IpLHZvaWQgMCE9PXMuYm90dG9tTGluZUNvbG9yJiYobi51aD1zLmJvdHRvbUxpbmVDb2xvciksdm9pZCAwIT09cy50b3BGaWxsQ29sb3IxJiYobi5kaD1zLnRvcEZpbGxDb2xvcjEpLHZvaWQgMCE9PXMudG9wRmlsbENvbG9yMiYmKG4uZmg9cy50b3BGaWxsQ29sb3IyKSx2b2lkIDAhPT1zLmJvdHRvbUZpbGxDb2xvcjEmJihuLnBoPXMuYm90dG9tRmlsbENvbG9yMSksdm9pZCAwIT09cy5ib3R0b21GaWxsQ29sb3IyJiYobi5taD1zLmJvdHRvbUZpbGxDb2xvcjIpLG59ZnVuY3Rpb24ganModCxpLHMsZSl7Y29uc3QgaD17JG46aSx3dDp0LFd0OltzLm9wZW4scy5oaWdoLHMubG93LHMuY2xvc2VdLFFyOmV9O3JldHVybiB2b2lkIDAhPT1zLmNvbG9yJiYoaC5SPXMuY29sb3IpLGh9ZnVuY3Rpb24gWHModCxpLHMsZSl7Y29uc3QgaD17JG46aSx3dDp0LFd0OltzLm9wZW4scy5oaWdoLHMubG93LHMuY2xvc2VdLFFyOmV9O3JldHVybiB2b2lkIDAhPT1zLmNvbG9yJiYoaC5SPXMuY29sb3IpLHZvaWQgMCE9PXMuYm9yZGVyQ29sb3ImJihoLkh0PXMuYm9yZGVyQ29sb3IpLHZvaWQgMCE9PXMud2lja0NvbG9yJiYoaC5oaD1zLndpY2tDb2xvciksaH1mdW5jdGlvbiBKcyh0LGkscyxlLGgpe2NvbnN0IG49YyhoKShzKSxyPU1hdGgubWF4KC4uLm4pLG89TWF0aC5taW4oLi4ubiksbD1uW24ubGVuZ3RoLTFdLGE9W2wscixvLGxdLHt0aW1lOnUsY29sb3I6ZiwuLi5kfT1zO3JldHVybnskbjppLHd0OnQsV3Q6YSxRcjplLHVlOmQsUjpmfX1mdW5jdGlvbiB0ZSh0KXtyZXR1cm4gdm9pZCAwIT09dC5XdH1mdW5jdGlvbiBpZSh0LGkpe3JldHVybiB2b2lkIDAhPT1pLmN1c3RvbVZhbHVlcyYmKHQuWk09aS5jdXN0b21WYWx1ZXMpLHR9ZnVuY3Rpb24gc2UodCl7cmV0dXJuKGkscyxlLGgsbixyKT0+ZnVuY3Rpb24odCxpKXtyZXR1cm4gaT9pKHQpOlpzKHQpfShlLHIpP2llKHt3dDppLCRuOnMsUXI6aH0sZSk6aWUodChpLHMsZSxoLG4pLGUpfWZ1bmN0aW9uIGVlKHQpe3JldHVybntDYW5kbGVzdGljazpzZShYcyksQmFyOnNlKGpzKSxBcmVhOnNlKFVzKSxCYXNlbGluZTpzZShZcyksSGlzdG9ncmFtOnNlKEdzKSxMaW5lOnNlKEdzKSxDdXN0b206c2UoSnMpfVt0XX1mdW5jdGlvbiBoZSh0KXtyZXR1cm57JG46MCxHTTpuZXcgTWFwLHphOnR9fWZ1bmN0aW9uIG5lKHQsaSl7aWYodm9pZCAwIT09dCYmMCE9PXQubGVuZ3RoKXJldHVybntYTTppLmtleSh0WzBdLnd0KSxKTTppLmtleSh0W3QubGVuZ3RoLTFdLnd0KX19ZnVuY3Rpb24gcmUodCl7bGV0IGk7cmV0dXJuIHQuZm9yRWFjaCgodD0+e3ZvaWQgMD09PWkmJihpPXQuUXIpfSkpLGMoaSl9Y2xhc3Mgb2V7Y29uc3RydWN0b3IodCl7dGhpcy5RTT1uZXcgTWFwLHRoaXMudGc9bmV3IE1hcCx0aGlzLmlnPW5ldyBNYXAsdGhpcy5uZz1bXSx0aGlzLnh1PXR9bSgpe3RoaXMuUU0uY2xlYXIoKSx0aGlzLnRnLmNsZWFyKCksdGhpcy5pZy5jbGVhcigpLHRoaXMubmc9W119c2codCxpKXtsZXQgcz0wIT09dGhpcy5RTS5zaXplLGU9ITE7Y29uc3QgaD10aGlzLnRnLmdldCh0KTtpZih2b2lkIDAhPT1oKWlmKDE9PT10aGlzLnRnLnNpemUpcz0hMSxlPSEwLHRoaXMuUU0uY2xlYXIoKTtlbHNlIGZvcihjb25zdCBpIG9mIHRoaXMubmcpaS5wb2ludERhdGEuR00uZGVsZXRlKHQpJiYoZT0hMCk7bGV0IG49W107aWYoMCE9PWkubGVuZ3RoKXtjb25zdCBzPWkubWFwKCh0PT50LnRpbWUpKSxoPXRoaXMueHUuY3JlYXRlQ29udmVydGVyVG9JbnRlcm5hbE9iaihpKSxyPWVlKHQuYmgoKSksbz10LmxsKCksbD10Lm9sKCk7bj1pLm1hcCgoKGksbik9Pntjb25zdCBhPWgoaS50aW1lKSx1PXRoaXMueHUua2V5KGEpO2xldCBjPXRoaXMuUU0uZ2V0KHUpO3ZvaWQgMD09PWMmJihjPWhlKGEpLHRoaXMuUU0uc2V0KHUsYyksZT0hMCk7Y29uc3QgZj1yKGEsYy4kbixpLHNbbl0sbyxsKTtyZXR1cm4gYy5HTS5zZXQodCxmKSxmfSkpfXMmJnRoaXMuZWcoKSx0aGlzLnJnKHQsbik7bGV0IHI9LTE7aWYoZSl7Y29uc3QgdD1bXTt0aGlzLlFNLmZvckVhY2goKGk9Pnt0LnB1c2goe3RpbWVXZWlnaHQ6MCx0aW1lOmkuemEscG9pbnREYXRhOmksb3JpZ2luYWxUaW1lOnJlKGkuR00pfSl9KSksdC5zb3J0KCgodCxpKT0+dGhpcy54dS5rZXkodC50aW1lKS10aGlzLnh1LmtleShpLnRpbWUpKSkscj10aGlzLmhnKHQpfXJldHVybiB0aGlzLmFnKHQscixmdW5jdGlvbih0LGkscyl7Y29uc3QgZT1uZSh0LHMpLGg9bmUoaSxzKTtpZih2b2lkIDAhPT1lJiZ2b2lkIDAhPT1oKXJldHVybntsZzohMSxJYTplLkpNPj1oLkpNJiZlLlhNPj1oLlhNfQp9KHRoaXMudGcuZ2V0KHQpLGgsdGhpcy54dSkpfUpkKHQpe3JldHVybiB0aGlzLnNnKHQsW10pfW9nKHQsaSxzKXtpZihzJiZ0Lk5hKCkpdGhyb3cgbmV3IEVycm9yKCJIaXN0b3JpY2FsIHVwZGF0ZXMgYXJlIG5vdCBzdXBwb3J0ZWQgd2hlbiBjb25mbGF0aW9uIGlzIGVuYWJsZWQuIENvbmZsYXRpb24gcmVxdWlyZXMgZGF0YSB0byBiZSBwcm9jZXNzZWQgaW4gb3JkZXIuIik7Y29uc3QgZT1pOyFmdW5jdGlvbih0KXt2b2lkIDA9PT10LlFyJiYodC5Rcj10LnRpbWUpfShlKSx0aGlzLnh1LnByZXByb2Nlc3NEYXRhKGkpO2NvbnN0IGg9dGhpcy54dS5jcmVhdGVDb252ZXJ0ZXJUb0ludGVybmFsT2JqKFtpXSkoaS50aW1lKSxuPXRoaXMuaWcuZ2V0KHQpO2lmKCFzJiZ2b2lkIDAhPT1uJiZ0aGlzLnh1LmtleShoKTx0aGlzLnh1LmtleShuKSl0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCB1cGRhdGUgb2xkZXN0IGRhdGEsIGxhc3QgdGltZT0ke259LCBuZXcgdGltZT0ke2h9YCk7bGV0IHI9dGhpcy5RTS5nZXQodGhpcy54dS5rZXkoaCkpO2lmKHMmJnZvaWQgMD09PXIpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgdXBkYXRlIG5vbi1leGlzdGluZyBkYXRhIHBvaW50IHdoZW4gaGlzdG9yaWNhbFVwZGF0ZSBpcyB0cnVlIik7Y29uc3Qgbz12b2lkIDA9PT1yO3ZvaWQgMD09PXImJihyPWhlKGgpLHRoaXMuUU0uc2V0KHRoaXMueHUua2V5KGgpLHIpKTtjb25zdCBsPWVlKHQuYmgoKSksYT10LmxsKCksdT10Lm9sKCksYz1sKGgsci4kbixpLGUuUXIsYSx1KSxmPSFzJiYhbyYmdm9pZCAwIT09biYmdGhpcy54dS5rZXkoaCk9PT10aGlzLnh1LmtleShuKTtyLkdNLnNldCh0LGMpLHM/dGhpcy5fZyh0LGMsci4kbik6ZiYmdC5OYSgpJiZ0ZShjKT8odC5ScihjKSx0aGlzLnVnKHQsYykpOnRoaXMudWcodCxjKTtjb25zdCBkPXtJYTp0ZShjKSxsZzpzfTtpZighbylyZXR1cm4gdGhpcy5hZyh0LC0xLGQpO2NvbnN0IG09e3RpbWVXZWlnaHQ6MCx0aW1lOnIuemEscG9pbnREYXRhOnIsb3JpZ2luYWxUaW1lOnJlKHIuR00pfSxwPU50KHRoaXMubmcsdGhpcy54dS5rZXkobS50aW1lKSwoKHQsaSk9PnRoaXMueHUua2V5KHQudGltZSk8aSkpO3RoaXMubmcuc3BsaWNlKHAsMCxtKTtmb3IobGV0IHQ9cDt0PHRoaXMubmcubGVuZ3RoOysrdClsZSh0aGlzLm5nW3RdLnBvaW50RGF0YSx0KTtyZXR1cm4gdGhpcy54dS5maWxsV2VpZ2h0c0ZvclBvaW50cyh0aGlzLm5nLHApLHRoaXMuYWcodCxwLGQpfWNnKHQsaSl7Y29uc3Qgcz10aGlzLnRnLmdldCh0KTtpZih2b2lkIDA9PT1zfHxpPD0wKXJldHVybltbXSx0aGlzLmRnKCldO2k9TWF0aC5taW4oaSxzLmxlbmd0aCk7Y29uc3QgZT1zLnNwbGljZSgtaSkucmV2ZXJzZSgpOzA9PT1zLmxlbmd0aD90aGlzLmlnLmRlbGV0ZSh0KTp0aGlzLmlnLnNldCh0LHNbcy5sZW5ndGgtMV0ud3QpO2Zvcihjb25zdCBpIG9mIGUpe2NvbnN0IHM9dGhpcy5RTS5nZXQodGhpcy54dS5rZXkoaS53dCkpO2lmKHMmJihzLkdNLmRlbGV0ZSh0KSwwPT09cy5HTS5zaXplKSl7dGhpcy5RTS5kZWxldGUodGhpcy54dS5rZXkocy56YSkpLHRoaXMubmcuc3BsaWNlKHMuJG4sMSk7Zm9yKGxldCB0PXMuJG47dDx0aGlzLm5nLmxlbmd0aDsrK3QpbGUodGhpcy5uZ1t0XS5wb2ludERhdGEsdCl9fXJldHVybltlLHRoaXMuYWcodCx0aGlzLm5nLmxlbmd0aC0xLHtsZzohMSxJYTohMX0pXX11Zyh0LGkpe2xldCBzPXRoaXMudGcuZ2V0KHQpO3ZvaWQgMD09PXMmJihzPVtdLHRoaXMudGcuc2V0KHQscykpO2NvbnN0IGU9MCE9PXMubGVuZ3RoP3Nbcy5sZW5ndGgtMV06bnVsbDtudWxsPT09ZXx8dGhpcy54dS5rZXkoaS53dCk+dGhpcy54dS5rZXkoZS53dCk/dGUoaSkmJnMucHVzaChpKTp0ZShpKT9zW3MubGVuZ3RoLTFdPWk6cy5zcGxpY2UoLTEsMSksdGhpcy5pZy5zZXQodCxpLnd0KX1fZyh0LGkscyl7Y29uc3QgZT10aGlzLnRnLmdldCh0KTtpZih2b2lkIDA9PT1lKXJldHVybjtjb25zdCBoPU50KGUscywoKHQsaSk9PnQuJG48aSkpO3RlKGkpP2VbaF09aTplLnNwbGljZShoLDEpfXJnKHQsaSl7MCE9PWkubGVuZ3RoPyh0aGlzLnRnLnNldCh0LGkuZmlsdGVyKHRlKSksdGhpcy5pZy5zZXQodCxpW2kubGVuZ3RoLTFdLnd0KSk6KHRoaXMudGcuZGVsZXRlKHQpLHRoaXMuaWcuZGVsZXRlKHQpKX1lZygpe2Zvcihjb25zdCB0IG9mIHRoaXMubmcpMD09PXQucG9pbnREYXRhLkdNLnNpemUmJnRoaXMuUU0uZGVsZXRlKHRoaXMueHUua2V5KHQudGltZSkpfWhnKHQpe2xldCBpPS0xO2ZvcihsZXQgcz0wO3M8dGhpcy5uZy5sZW5ndGgmJnM8dC5sZW5ndGg7KytzKXtjb25zdCBlPXRoaXMubmdbc10saD10W3NdO2lmKHRoaXMueHUua2V5KGUudGltZSkhPT10aGlzLnh1LmtleShoLnRpbWUpKXtpPXM7YnJlYWt9aC50aW1lV2VpZ2h0PWUudGltZVdlaWdodCxsZShoLnBvaW50RGF0YSxzKX1pZigtMT09PWkmJnRoaXMubmcubGVuZ3RoIT09dC5sZW5ndGgmJihpPU1hdGgubWluKHRoaXMubmcubGVuZ3RoLHQubGVuZ3RoKSksLTE9PT1pKXJldHVybi0xO2ZvcihsZXQgcz1pO3M8dC5sZW5ndGg7KytzKWxlKHRbc10ucG9pbnREYXRhLHMpO3JldHVybiB0aGlzLnh1LmZpbGxXZWlnaHRzRm9yUG9pbnRzKHQsaSksdGhpcy5uZz10LGl9ZmcoKXtpZigwPT09dGhpcy50Zy5zaXplKXJldHVybiBudWxsO2xldCB0PTA7cmV0dXJuIHRoaXMudGcuZm9yRWFjaCgoaT0+ezAhPT1pLmxlbmd0aCYmKHQ9TWF0aC5tYXgodCxpW2kubGVuZ3RoLTFdLiRuKSl9KSksdH1hZyh0LGkscyl7Y29uc3QgZT10aGlzLmRnKCk7aWYoLTEhPT1pKXRoaXMudGcuZm9yRWFjaCgoKGksaCk9PntlLlVfLnNldChoLHt1ZTppLHBnOmg9PT10P3M6dm9pZCAwfSl9KSksdGhpcy50Zy5oYXModCl8fGUuVV8uc2V0KHQse3VlOltdLHBnOnN9KSxlLkV0LnZnPXRoaXMubmcsZS5FdC5tZz1pO2Vsc2V7Y29uc3QgaT10aGlzLnRnLmdldCh0KTtlLlVfLnNldCh0LHt1ZTppfHxbXSxwZzpzfSl9cmV0dXJuIGV9ZGcoKXtyZXR1cm57VV86bmV3IE1hcCxFdDp7UGM6dGhpcy5mZygpfX19fWZ1bmN0aW9uIGxlKHQsaSl7dC4kbj1pLHQuR00uZm9yRWFjaCgodD0+e3QuJG49aQp9KSl9ZnVuY3Rpb24gYWUodCxpKXtyZXR1cm4gdC5fdDxpfWZ1bmN0aW9uIHVlKHQsaSl7cmV0dXJuIGk8dC5fdH1mdW5jdGlvbiBjZSh0LGkscyxlKXtyZXR1cm4gTnQodCxpLGFlLHMsZSl9ZnVuY3Rpb24gZmUodCxpLHMsZSl7cmV0dXJuIFR0KHQsaSx1ZSxzLGUpfWZ1bmN0aW9uIGRlKHQsaSxzKXtyZXR1cm57bmU6dCxzZTppLGVlOnN9fWZ1bmN0aW9uIG1lKHQsaSxzLGUpe3JldHVybiB0Pj1pLWUmJnQ8PXMrZX1mdW5jdGlvbiBwZSh0LGkscyxlLGgsbil7Y29uc3Qgcj1oLXMsbz1uLWU7aWYoMD09PXImJjA9PT1vKXJldHVybiBNYXRoLmh5cG90KHQtcyxpLWUpO2NvbnN0IGw9KCh0LXMpKnIrKGktZSkqbykvKHIqcitvKm8pLGE9TWF0aC5tYXgoMCxNYXRoLm1pbigxLGwpKSx1PXMrciphLGM9ZStvKmE7cmV0dXJuIE1hdGguaHlwb3QodC11LGktYyl9Y29uc3QgZ2U9WzAsMF07ZnVuY3Rpb24gdmUodCxpLHMpe3JldHVybiB2b2lkIDA9PT1pfHxpLnd0IT09dC53dC0xP3QuX3Qtcy8yOihpLl90K3QuX3QpLzJ9ZnVuY3Rpb24gYmUodCxpLHMpe3JldHVybiB2b2lkIDA9PT1pfHxpLnd0IT09dC53dCsxP3QuX3Qrcy8yOih0Ll90K2kuX3QpLzJ9ZnVuY3Rpb24gd2UodCxpLHMsZSxoLG4scil7aWYobnVsbD09PWl8fGkuZnJvbT49aS50b3x8MD09PXQubGVuZ3RoKXJldHVybiBudWxsO2NvbnN0IG89aC8yK24sbD1jZSh0LHMtbyxpLmZyb20saS50byksYT1mZSh0LHMrbyxsLGkudG8pO2lmKGw+PWEpcmV0dXJuIG51bGw7bGV0IHU9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZO2ZvcihsZXQgbz1sO288YTtvKyspe2NvbnN0IGw9dFtvXSxhPW8+aS5mcm9tP3Rbby0xXTp2b2lkIDAsYz1vPGkudG8tMT90W28rMV06dm9pZCAwLGY9dmUobCxhLGgpLW4sZD1iZShsLGMsaCkrbjtpZihzPGZ8fHM+ZCljb250aW51ZTtyKGwsZ2UpO2NvbnN0IG09Z2VbMF0scD1nZVsxXSxnPU1hdGgubWluKG0scCksdj1NYXRoLm1heChtLHApLGI9Zy1uLHc9dituO2lmKGU+PWcmJmU8PXYpdT1NYXRoLm1pbih1LDApO2Vsc2UgaWYoZT49YiYmZTw9dyl7Y29uc3QgdD1NYXRoLm1pbihNYXRoLmFicyhlLWcpLE1hdGguYWJzKHYtZSkpO3U9TWF0aC5taW4odSx0KX19cmV0dXJuIE51bWJlci5pc0Zpbml0ZSh1KT9kZSh1LDAsInNlcmllcy1yYW5nZSIpOm51bGx9ZnVuY3Rpb24gTWUodCxpKXtyZXR1cm4gdC53dDxpfWZ1bmN0aW9uIHllKHQsaSl7cmV0dXJuIGk8dC53dH1mdW5jdGlvbiBTZSh0LGkscyl7Y29uc3QgZT1pLk9hKCksaD1pLmJpKCksbj1OdCh0LGUsTWUpLHI9VHQodCxoLHllKTtpZighcylyZXR1cm57ZnJvbTpuLHRvOnJ9O2xldCBvPW4sbD1yO3JldHVybiBuPjAmJm48dC5sZW5ndGgmJnRbbl0ud3Q+PWUmJihvPW4tMSkscj4wJiZyPHQubGVuZ3RoJiZ0W3ItMV0ud3Q8PWgmJihsPXIrMSkse2Zyb206byx0bzpsfX1jbGFzcyB4ZXtjb25zdHJ1Y3Rvcih0LGkscyl7dGhpcy53Zz0hMCx0aGlzLk1nPSEwLHRoaXMuZ2c9ITAsdGhpcy5iZz1bXSx0aGlzLlNnPW51bGwsdGhpcy54Zz0tMSx0aGlzLmFlPXQsdGhpcy5sZT1pLHRoaXMuQ2c9c31rdCh0KXt0aGlzLndnPSEwLCJkYXRhIj09PXQmJih0aGlzLk1nPSEwKSwib3B0aW9ucyI9PT10JiYodGhpcy5nZz0hMCl9VHQoKXtyZXR1cm4gdGhpcy5hZS5JdCgpPyh0aGlzLnlnKCksbnVsbD09PXRoaXMuU2c/bnVsbDp0aGlzLmtnKTpudWxsfVFzKHQsaSl7cmV0dXJuIHRoaXMuYWUuSXQoKT8odGhpcy55ZygpLG51bGw9PT10aGlzLlNnP251bGw6dGhpcy5QZyh0LGkpKTpudWxsfVBnKHQsaSl7cmV0dXJuIG51bGx9VGcoKXt0aGlzLmJnPXRoaXMuYmcubWFwKCh0PT4oey4uLnQsLi4udGhpcy5hZS5TYSgpLlNoKHQud3QpfSkpKX1SZygpe3RoaXMuU2c9bnVsbH15Zygpe2NvbnN0IHQ9dGhpcy5sZS5FdCgpLGk9dC5OKCkuZW5hYmxlQ29uZmxhdGlvbj90LlFjKCk6MDtpIT09dGhpcy54ZyYmKHRoaXMuTWc9ITAsdGhpcy54Zz1pKSx0aGlzLk1nJiYodGhpcy5EZygpLHRoaXMuTWc9ITEpLHRoaXMuZ2cmJih0aGlzLlRnKCksdGhpcy5nZz0hMSksdGhpcy53ZyYmKHRoaXMuSWcoKSx0aGlzLndnPSExKX1JZygpe2NvbnN0IHQ9dGhpcy5hZS5GdCgpLGk9dGhpcy5sZS5FdCgpO2lmKHRoaXMuUmcoKSxpLkdpKCl8fHQuR2koKSlyZXR1cm47Y29uc3Qgcz1pLkVlKCk7aWYobnVsbD09PXMpcmV0dXJuO2lmKDA9PT10aGlzLmFlLlVuKCkuVGgoKSlyZXR1cm47Y29uc3QgZT10aGlzLmFlLkx0KCk7bnVsbCE9PWUmJih0aGlzLlNnPVNlKHRoaXMuYmcscyx0aGlzLkNnKSx0aGlzLlZnKHQsaSxlLld0KSx0aGlzLkJnKCkpfX1jbGFzcyBfZXtjb25zdHJ1Y3Rvcih0LGkpe3RoaXMuRWc9dCx0aGlzLktpPWl9c3QodCxpLHMpe3RoaXMuRWcuZHJhdyh0LHRoaXMuS2ksaSxzKX19ZnVuY3Rpb24gQ2UodCl7c3dpdGNoKHQpe2Nhc2UicG9pbnQiOnJldHVybiAyO2Nhc2UicmFuZ2UiOnJldHVybiAwO2RlZmF1bHQ6cmV0dXJuIDF9fWNsYXNzIGtlIGV4dGVuZHMgeGV7Y29uc3RydWN0b3IodCxpLHMpe3N1cGVyKHQsaSwhMSksdGhpcy5ZaD1zLHRoaXMuRWc9dGhpcy5ZaC5yZW5kZXJlcigpLHRoaXMua2c9bmV3IF9lKHRoaXMuRWcsKHQ9PnRoaXMuQWcodCkpKX1nZXQgZ2EoKXtyZXR1cm4gdGhpcy5ZaC5jb25mbGF0aW9uUmVkdWNlcn1XYSh0KXtyZXR1cm4gdGhpcy5ZaC5wcmljZVZhbHVlQnVpbGRlcih0KX1fbCh0KXtyZXR1cm4gdGhpcy5ZaC5pc1doaXRlc3BhY2UodCl9UGcodCxpKXtjb25zdCBzPXRoaXMuRWcuaGl0VGVzdD8uKHQsaSwodD0+dGhpcy5BZyh0KSkpO2lmKG51bGwhPXMpcmV0dXJue25lOihlPXMpLmRpc3RhbmNlLHNlOkNlKGUudHlwZSksZWU6ImN1c3RvbSIsbXU6ZS5jdXJzb3JTdHlsZSx0ZTplLm9iamVjdElkLGllOmUuaGl0VGVzdERhdGF9O3ZhciBlO2NvbnN0IGg9d2UodGhpcy5iZyx0aGlzLlNnLHQsaSx0aGlzLmxlLkV0KCkuZmwoKSx0aGlzLmFlLk4oKS5oaXRUZXN0VG9sZXJhbmNlLCgodCxpKT0+e2NvbnN0IHM9dC5MZztsZXQgZT1OYU4saD1OYU4KO2lmKHZvaWQgMCE9PXMmJiF0aGlzLlloLmlzV2hpdGVzcGFjZShzKSlmb3IoY29uc3QgdCBvZiB0aGlzLlloLnByaWNlVmFsdWVCdWlsZGVyKHMpKXtjb25zdCBpPXRoaXMuQWcodCk7bnVsbCE9PWkmJihlPU51bWJlci5pc05hTihlKT9pOk1hdGgubWluKGUsaSksaD1OdW1iZXIuaXNOYU4oaCk/aTpNYXRoLm1heChoLGkpKX1pWzBdPWUsaVsxXT1ofSkpO3JldHVybiBudWxsPT09aD9udWxsOnsuLi5oLGVlOiJjdXN0b20ifX1EZygpe2NvbnN0IHQ9dGhpcy5hZS5TYSgpO3RoaXMuYmc9dGhpcy5hZS5IYSgpLkJoKCkubWFwKChpPT4oe3d0OmkuJG4sX3Q6TmFOLC4uLnQuU2goaS4kbiksTGc6aS51ZX0pKSl9VmcodCxpKXtpLlRjKHRoaXMuYmcsUyh0aGlzLlNnKSl9QmcoKXt0aGlzLlloLnVwZGF0ZSh7YmFyczp0aGlzLmJnLm1hcChFZSksYmFyU3BhY2luZzp0aGlzLmxlLkV0KCkuZmwoKSx2aXNpYmxlUmFuZ2U6dGhpcy5TZyxjb25mbGF0aW9uRmFjdG9yOnRoaXMubGUuRXQoKS5RYygpfSx0aGlzLmFlLk4oKSl9QWcodCl7Y29uc3QgaT10aGlzLmFlLkx0KCk7cmV0dXJuIG51bGw9PT1pP251bGw6dGhpcy5hZS5GdCgpLk50KHQsaS5XdCl9fWZ1bmN0aW9uIEVlKHQpe3JldHVybnt4OnQuX3QsdGltZTp0Lnd0LG9yaWdpbmFsRGF0YTp0LkxnLGJhckNvbG9yOnQuc2h9fWNvbnN0IE5lPXtjb2xvcjoiIzIxOTZmMyJ9LFRlPSh0LGkscyk9Pntjb25zdCBlPWQocyk7cmV0dXJuIG5ldyBrZSh0LGksZSl9O2Z1bmN0aW9uIFJlKHQpe2NvbnN0IGk9e3ZhbHVlOnQuV3RbM10sdGltZTp0LlFyfTtyZXR1cm4gdm9pZCAwIT09dC5aTSYmKGkuY3VzdG9tVmFsdWVzPXQuWk0pLGl9ZnVuY3Rpb24gUGUodCl7Y29uc3QgaT1SZSh0KTtyZXR1cm4gdm9pZCAwIT09dC5SJiYoaS5jb2xvcj10LlIpLGl9ZnVuY3Rpb24gemUodCl7Y29uc3QgaT1SZSh0KTtyZXR1cm4gdm9pZCAwIT09dC52dCYmKGkubGluZUNvbG9yPXQudnQpLHZvaWQgMCE9PXQuYWgmJihpLnRvcENvbG9yPXQuYWgpLHZvaWQgMCE9PXQub2gmJihpLmJvdHRvbUNvbG9yPXQub2gpLGl9ZnVuY3Rpb24gSWUodCl7Y29uc3QgaT1SZSh0KTtyZXR1cm4gdm9pZCAwIT09dC5faCYmKGkudG9wTGluZUNvbG9yPXQuX2gpLHZvaWQgMCE9PXQudWgmJihpLmJvdHRvbUxpbmVDb2xvcj10LnVoKSx2b2lkIDAhPT10LmRoJiYoaS50b3BGaWxsQ29sb3IxPXQuZGgpLHZvaWQgMCE9PXQuZmgmJihpLnRvcEZpbGxDb2xvcjI9dC5maCksdm9pZCAwIT09dC5waCYmKGkuYm90dG9tRmlsbENvbG9yMT10LnBoKSx2b2lkIDAhPT10Lm1oJiYoaS5ib3R0b21GaWxsQ29sb3IyPXQubWgpLGl9ZnVuY3Rpb24gTGUodCl7Y29uc3QgaT17b3Blbjp0Lld0WzBdLGhpZ2g6dC5XdFsxXSxsb3c6dC5XdFsyXSxjbG9zZTp0Lld0WzNdLHRpbWU6dC5Rcn07cmV0dXJuIHZvaWQgMCE9PXQuWk0mJihpLmN1c3RvbVZhbHVlcz10LlpNKSxpfWZ1bmN0aW9uIEZlKHQpe2NvbnN0IGk9TGUodCk7cmV0dXJuIHZvaWQgMCE9PXQuUiYmKGkuY29sb3I9dC5SKSxpfWZ1bmN0aW9uIHFlKHQpe2NvbnN0IGk9TGUodCkse1I6cyxIdDplLGhoOmh9PXQ7cmV0dXJuIHZvaWQgMCE9PXMmJihpLmNvbG9yPXMpLHZvaWQgMCE9PWUmJihpLmJvcmRlckNvbG9yPWUpLHZvaWQgMCE9PWgmJihpLndpY2tDb2xvcj1oKSxpfWZ1bmN0aW9uIFdlKHQpe3JldHVybntBcmVhOnplLExpbmU6UGUsQmFzZWxpbmU6SWUsSGlzdG9ncmFtOlBlLEJhcjpGZSxDYW5kbGVzdGljazpxZSxDdXN0b206UWV9W3RdfWZ1bmN0aW9uIFFlKHQpe2NvbnN0IGk9dC5RcjtyZXR1cm57Li4udC51ZSx0aW1lOml9fWNvbnN0IERlPXt2ZXJ0TGluZTp7Y29sb3I6IiM5NTk4QTEiLHdpZHRoOjEsc3R5bGU6Myx2aXNpYmxlOiEwLGxhYmVsVmlzaWJsZTohMCxsYWJlbEJhY2tncm91bmRDb2xvcjoiIzEzMTcyMiJ9LGhvcnpMaW5lOntjb2xvcjoiIzk1OThBMSIsd2lkdGg6MSxzdHlsZTozLHZpc2libGU6ITAsbGFiZWxWaXNpYmxlOiEwLGxhYmVsQmFja2dyb3VuZENvbG9yOiIjMTMxNzIyIn0sbW9kZToxLGRvTm90U25hcFRvSGlkZGVuU2VyaWVzSW5kaWNlczohMX0sT2U9e3ZlcnRMaW5lczp7Y29sb3I6IiNENkRDREUiLHN0eWxlOjAsdmlzaWJsZTohMH0saG9yekxpbmVzOntjb2xvcjoiI0Q2RENERSIsc3R5bGU6MCx2aXNpYmxlOiEwfX0sS2U9e2JhY2tncm91bmQ6e3R5cGU6InNvbGlkIixjb2xvcjoiI0ZGRkZGRiJ9LHRleHRDb2xvcjoiIzE5MTkxOSIsZm9udFNpemU6MTIsZm9udEZhbWlseTp4LHBhbmVzOntlbmFibGVSZXNpemU6ITAsc2VwYXJhdG9yQ29sb3I6IiNFMEUzRUIiLHNlcGFyYXRvckhvdmVyQ29sb3I6InJnYmEoMTc4LCAxODEsIDE4OSwgMC4yKSJ9LGF0dHJpYnV0aW9uTG9nbzohMCxjb2xvclNwYWNlOiJzcmdiIixjb2xvclBhcnNlcnM6W119LFZlPXthdXRvU2NhbGU6ITAsbW9kZTowLGludmVydFNjYWxlOiExLGFsaWduTGFiZWxzOiEwLGJvcmRlclZpc2libGU6ITAsYm9yZGVyQ29sb3I6IiMyQjJCNDMiLGVudGlyZVRleHRPbmx5OiExLHZpc2libGU6ITEsdGlja3NWaXNpYmxlOiExLHNjYWxlTWFyZ2luczp7Ym90dG9tOi4xLHRvcDouMn0sbWluaW11bVdpZHRoOjAsZW5zdXJlRWRnZVRpY2tNYXJrc1Zpc2libGU6ITEsdGlja01hcmtEZW5zaXR5OjIuNX0sJGU9e3JpZ2h0T2Zmc2V0OjAsYmFyU3BhY2luZzo2LG1pbkJhclNwYWNpbmc6LjUsbWF4QmFyU3BhY2luZzowLGZpeExlZnRFZGdlOiExLGZpeFJpZ2h0RWRnZTohMSxsb2NrVmlzaWJsZVRpbWVSYW5nZU9uUmVzaXplOiExLHJpZ2h0QmFyU3RheXNPblNjcm9sbDohMSxib3JkZXJWaXNpYmxlOiEwLGJvcmRlckNvbG9yOiIjMkIyQjQzIix2aXNpYmxlOiEwLHRpbWVWaXNpYmxlOiExLHNlY29uZHNWaXNpYmxlOiEwLHNoaWZ0VmlzaWJsZVJhbmdlT25OZXdCYXI6ITAsYWxsb3dTaGlmdFZpc2libGVSYW5nZU9uV2hpdGVzcGFjZVJlcGxhY2VtZW50OiExLHRpY2tzVmlzaWJsZTohMSx1bmlmb3JtRGlzdHJpYnV0aW9uOiExLG1pbmltdW1IZWlnaHQ6MCxhbGxvd0JvbGRMYWJlbHM6ITAsaWdub3JlV2hpdGVzcGFjZUluZGljZXM6ITEsZW5hYmxlQ29uZmxhdGlvbjohMSwKY29uZmxhdGlvblRocmVzaG9sZEZhY3RvcjoxLHByZWNvbXB1dGVDb25mbGF0aW9uT25Jbml0OiExLHByZWNvbXB1dGVDb25mbGF0aW9uUHJpb3JpdHk6ImJhY2tncm91bmQifTtmdW5jdGlvbiBCZSgpe3JldHVybnthZGREZWZhdWx0UGFuZTohMCxob3ZlcmVkU2VyaWVzT25Ub3A6ITAsd2lkdGg6MCxoZWlnaHQ6MCxhdXRvU2l6ZTohMSxsYXlvdXQ6S2UsY3Jvc3NoYWlyOkRlLGdyaWQ6T2Usb3ZlcmxheVByaWNlU2NhbGVzOnsuLi5WZX0sbGVmdFByaWNlU2NhbGU6ey4uLlZlLHZpc2libGU6ITF9LHJpZ2h0UHJpY2VTY2FsZTp7Li4uVmUsdmlzaWJsZTohMH0sZGVmYXVsdFZpc2libGVQcmljZVNjYWxlSWQ6InJpZ2h0Iix0aW1lU2NhbGU6JGUsbG9jYWxpemF0aW9uOntsb2NhbGU6bHM/bmF2aWdhdG9yLmxhbmd1YWdlOiIiLGRhdGVGb3JtYXQ6ImRkIE1NTSAneXkifSxoYW5kbGVTY3JvbGw6e21vdXNlV2hlZWw6ITAscHJlc3NlZE1vdXNlTW92ZTohMCxob3J6VG91Y2hEcmFnOiEwLHZlcnRUb3VjaERyYWc6ITB9LGhhbmRsZVNjYWxlOntheGlzUHJlc3NlZE1vdXNlTW92ZTp7dGltZTohMCxwcmljZTohMH0sYXhpc0RvdWJsZUNsaWNrUmVzZXQ6e3RpbWU6ITAscHJpY2U6ITB9LG1vdXNlV2hlZWw6ITAscGluY2g6ITB9LGtpbmV0aWNTY3JvbGw6e21vdXNlOiExLHRvdWNoOiEwfSx0cmFja2luZ01vZGU6e2V4aXRNb2RlOjF9fX1jbGFzcyBBZXtjb25zdHJ1Y3Rvcih0LGkscyl7dGhpcy5zdj10LHRoaXMuemc9aSx0aGlzLk9nPXM/PzB9YXBwbHlPcHRpb25zKHQpe3RoaXMuc3YuUXQoKS5QZCh0aGlzLnpnLHQsdGhpcy5PZyl9b3B0aW9ucygpe3JldHVybiB0aGlzLktpKCkuTigpfXdpZHRoKCl7cmV0dXJuIGoodGhpcy56Zyk/dGhpcy5zdi5DTSh0aGlzLnpnKTowfXNldFZpc2libGVSYW5nZSh0KXt0aGlzLnNldEF1dG9TY2FsZSghMSksdGhpcy5LaSgpLnFvKG5ldyB2dCh0LmZyb20sdC50bykpfWdldFZpc2libGVSYW5nZSgpe2xldCB0LGkscz10aGlzLktpKCkuYXIoKTtpZihudWxsPT09cylyZXR1cm4gbnVsbDtpZih0aGlzLktpKCkuc28oKSl7Y29uc3QgZT10aGlzLktpKCkuTV8oKSxoPUFpKGUpO3M9bWkocyx0aGlzLktpKCkucm8oKSksdD1OdW1iZXIoKE1hdGgucm91bmQocy5KZSgpL2UpKmUpLnRvRml4ZWQoaCkpLGk9TnVtYmVyKChNYXRoLnJvdW5kKHMuUWUoKS9lKSplKS50b0ZpeGVkKGgpKX1lbHNlIHQ9cy5KZSgpLGk9cy5RZSgpO3JldHVybntmcm9tOnQsdG86aX19c2V0QXV0b1NjYWxlKHQpe3RoaXMuYXBwbHlPcHRpb25zKHthdXRvU2NhbGU6dH0pfUtpKCl7cmV0dXJuIGYodGhpcy5zdi5RdCgpLlRkKHRoaXMuemcsdGhpcy5PZykpLkZ0fX1jbGFzcyBaZXtjb25zdHJ1Y3Rvcih0LGkscyxlKXt0aGlzLnN2PXQsdGhpcy55dD1zLHRoaXMuTmc9aSx0aGlzLkZnPWV9Z2V0SGVpZ2h0KCl7cmV0dXJuIHRoaXMueXQuJHQoKX1zZXRIZWlnaHQodCl7Y29uc3QgaT10aGlzLnN2LlF0KCkscz1pLmhmKHRoaXMueXQpO2kuQmQocyx0KX1nZXRTdHJldGNoRmFjdG9yKCl7cmV0dXJuIHRoaXMueXQuel8oKX1zZXRTdHJldGNoRmFjdG9yKHQpe3RoaXMueXQuT18odCksdGhpcy5zdi5RdCgpLlBhKCl9cGFuZUluZGV4KCl7cmV0dXJuIHRoaXMuc3YuUXQoKS5oZih0aGlzLnl0KX1tb3ZlVG8odCl7Y29uc3QgaT10aGlzLnBhbmVJbmRleCgpO2khPT10JiYodSh0Pj0wJiZ0PHRoaXMuc3YucnYoKS5sZW5ndGgsIkludmFsaWQgcGFuZSBpbmRleCIpLHRoaXMuc3YuUXQoKS5BZChpLHQpKX1nZXRTZXJpZXMoKXtyZXR1cm4gdGhpcy55dC5VXygpLm1hcCgodD0+dGhpcy5OZyh0KSkpPz9bXX1nZXRIVE1MRWxlbWVudCgpe2NvbnN0IHQ9dGhpcy5zdi5ydigpO3JldHVybiB0JiYwIT09dC5sZW5ndGgmJnRbdGhpcy5wYW5lSW5kZXgoKV0/dFt0aGlzLnBhbmVJbmRleCgpXS51digpOm51bGx9YXR0YWNoUHJpbWl0aXZlKHQpe3RoaXMueXQuaGwodCksdC5hdHRhY2hlZCYmdC5hdHRhY2hlZCh7Y2hhcnQ6dGhpcy5GZyxyZXF1ZXN0VXBkYXRlOigpPT50aGlzLnl0LlF0KCkuUGEoKX0pfWRldGFjaFByaW1pdGl2ZSh0KXt0aGlzLnl0LmFsKHQpfXByaWNlU2NhbGUodCl7aWYobnVsbD09PXRoaXMueXQuQV8odCkpdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgZmluZCBwcmljZSBzY2FsZSB3aXRoIGlkOiAke3R9YCk7cmV0dXJuIG5ldyBBZSh0aGlzLnN2LHQsdGhpcy5wYW5lSW5kZXgoKSl9c2V0UHJlc2VydmVFbXB0eVBhbmUodCl7dGhpcy55dC5XXyh0KX1wcmVzZXJ2ZUVtcHR5UGFuZSgpe3JldHVybiB0aGlzLnl0LkhfKCl9YWRkQ3VzdG9tU2VyaWVzKHQsaT17fSxzPTApe3JldHVybiB0aGlzLkZnLmFkZEN1c3RvbVNlcmllcyh0LGkscyl9YWRkU2VyaWVzKHQsaT17fSl7cmV0dXJuIHRoaXMuRmcuYWRkU2VyaWVzKHQsaSx0aGlzLnBhbmVJbmRleCgpKX19Y29uc3QgSGU9e2NvbG9yOiIjRkYwMDAwIixwcmljZTowLGxpbmVTdHlsZToyLGxpbmVXaWR0aDoxLGxpbmVWaXNpYmxlOiEwLGF4aXNMYWJlbFZpc2libGU6ITAsdGl0bGU6IiIsYXhpc0xhYmVsQ29sb3I6IiIsYXhpc0xhYmVsVGV4dENvbG9yOiIifTtjbGFzcyBHZXtjb25zdHJ1Y3Rvcih0KXt0aGlzLl9yPXR9YXBwbHlPcHRpb25zKHQpe3RoaXMuX3IudnIodCl9b3B0aW9ucygpe3JldHVybiB0aGlzLl9yLk4oKX1XZygpe3JldHVybiB0aGlzLl9yfX1jbGFzcyBVZXtjb25zdHJ1Y3Rvcih0LGkscyxlLGgsbil7dGhpcy5IZz1uZXcgbSx0aGlzLmFlPXQsdGhpcy5VZz1pLHRoaXMuJGc9cyx0aGlzLnh1PWgsdGhpcy5GZz1lLHRoaXMuamc9bn1tKCl7dGhpcy5IZy5tKCl9cHJpY2VGb3JtYXR0ZXIoKXtyZXR1cm4gdGhpcy5hZS50bCgpfXByaWNlVG9Db29yZGluYXRlKHQpe2NvbnN0IGk9dGhpcy5hZS5MdCgpO3JldHVybiBudWxsPT09aT9udWxsOnRoaXMuYWUuRnQoKS5OdCh0LGkuV3QpfWNvb3JkaW5hdGVUb1ByaWNlKHQpe2NvbnN0IGk9dGhpcy5hZS5MdCgpO3JldHVybiBudWxsPT09aT9udWxsOnRoaXMuYWUuRnQoKS5Ubih0LGkuV3QpfWJhcnNJbkxvZ2ljYWxSYW5nZSh0KXtpZihudWxsPT09dClyZXR1cm4gbnVsbAo7Y29uc3QgaT1uZXcgcWkobmV3IElpKHQuZnJvbSx0LnRvKSkuRnUoKSxzPXRoaXMuYWUuVW4oKTtpZihzLkdpKCkpcmV0dXJuIG51bGw7Y29uc3QgZT1zLkhuKGkuT2EoKSwxKSxoPXMuSG4oaS5iaSgpLC0xKSxuPWYocy5SaCgpKSxyPWYocy5RbigpKTtpZihudWxsIT09ZSYmbnVsbCE9PWgmJmUuJG4+aC4kbilyZXR1cm57YmFyc0JlZm9yZTp0LmZyb20tbixiYXJzQWZ0ZXI6ci10LnRvfTtjb25zdCBvPXtiYXJzQmVmb3JlOm51bGw9PT1lfHxlLiRuPT09bj90LmZyb20tbjplLiRuLW4sYmFyc0FmdGVyOm51bGw9PT1ofHxoLiRuPT09cj9yLXQudG86ci1oLiRufTtyZXR1cm4gbnVsbCE9PWUmJm51bGwhPT1oJiYoby5mcm9tPWUuUXIsby50bz1oLlFyKSxvfXNldERhdGEodCl7dGhpcy54dSx0aGlzLmFlLmJoKCksdGhpcy5VZy5xZyh0aGlzLmFlLHQpLHRoaXMuWWcoImZ1bGwiKX11cGRhdGUodCxpPSExKXt0aGlzLmFlLmJoKCksdGhpcy5VZy5LZyh0aGlzLmFlLHQsaSksdGhpcy5ZZygidXBkYXRlIil9cG9wKHQ9MSl7Y29uc3QgaT10aGlzLlVnLlpnKHRoaXMuYWUsdCk7MCE9PWkubGVuZ3RoJiZ0aGlzLllnKCJ1cGRhdGUiKTtjb25zdCBzPVdlKHRoaXMuc2VyaWVzVHlwZSgpKTtyZXR1cm4gaS5tYXAoKHQ9PnModCkpKX1kYXRhQnlJbmRleCh0LGkpe2NvbnN0IHM9dGhpcy5hZS5VbigpLkhuKHQsaSk7cmV0dXJuIG51bGw9PT1zP251bGw6V2UodGhpcy5zZXJpZXNUeXBlKCkpKHMpfWRhdGEoKXtjb25zdCB0PVdlKHRoaXMuc2VyaWVzVHlwZSgpKTtyZXR1cm4gdGhpcy5hZS5VbigpLkJoKCkubWFwKChpPT50KGkpKSl9c3Vic2NyaWJlRGF0YUNoYW5nZWQodCl7dGhpcy5IZy5pKHQpfXVuc3Vic2NyaWJlRGF0YUNoYW5nZWQodCl7dGhpcy5IZy5fKHQpfWFwcGx5T3B0aW9ucyh0KXt0aGlzLmFlLnZyKHQpfW9wdGlvbnMoKXtyZXR1cm4gTSh0aGlzLmFlLk4oKSl9cHJpY2VTY2FsZSgpe3JldHVybiB0aGlzLiRnLnByaWNlU2NhbGUodGhpcy5hZS5GdCgpLmNsKCksdGhpcy5nZXRQYW5lKCkucGFuZUluZGV4KCkpfWNyZWF0ZVByaWNlTGluZSh0KXtjb25zdCBpPXAoTShIZSksdCkscz10aGlzLmFlLkJhKGkpO3JldHVybiBuZXcgR2Uocyl9cmVtb3ZlUHJpY2VMaW5lKHQpe3RoaXMuYWUuRWEodC5XZygpKX1wcmljZUxpbmVzKCl7cmV0dXJuIHRoaXMuYWUuQWEoKS5tYXAoKHQ9Pm5ldyBHZSh0KSkpfXNlcmllc1R5cGUoKXtyZXR1cm4gdGhpcy5hZS5iaCgpfWxhc3RWYWx1ZURhdGEodCl7Y29uc3QgaT10aGlzLmFlLkFlKHQpO3JldHVybiBpLkxlP3tub0RhdGE6ITB9Ontub0RhdGE6ITEscHJpY2U6aS5NdCxjb2xvcjppLlJ9fWF0dGFjaFByaW1pdGl2ZSh0KXt0aGlzLmFlLmhsKHQpLHQuYXR0YWNoZWQmJnQuYXR0YWNoZWQoe2NoYXJ0OnRoaXMuRmcsc2VyaWVzOnRoaXMscmVxdWVzdFVwZGF0ZTooKT0+dGhpcy5hZS5RdCgpLlBhKCksaG9yelNjYWxlQmVoYXZpb3I6dGhpcy54dX0pfWRldGFjaFByaW1pdGl2ZSh0KXt0aGlzLmFlLmFsKHQpLHQuZGV0YWNoZWQmJnQuZGV0YWNoZWQoKSx0aGlzLmFlLlF0KCkuUGEoKX1nZXRQYW5lKCl7Y29uc3QgdD10aGlzLmFlLGk9Zih0aGlzLmFlLlF0KCkuS3ModCkpO3JldHVybiB0aGlzLmpnKGkpfW1vdmVUb1BhbmUodCl7dGhpcy5hZS5RdCgpLm5mKHRoaXMuYWUsdCl9c2VyaWVzT3JkZXIoKXtjb25zdCB0PXRoaXMuYWUuUXQoKS5Lcyh0aGlzLmFlKTtyZXR1cm4gbnVsbD09PXQ/LTE6dC5VXygpLmluZGV4T2YodGhpcy5hZSl9c2V0U2VyaWVzT3JkZXIodCl7Y29uc3QgaT10aGlzLmFlLlF0KCkuS3ModGhpcy5hZSk7bnVsbCE9PWkmJmkuZHUodGhpcy5hZSx0KX1ZZyh0KXt0aGlzLkhnLnYoKSYmdGhpcy5IZy5wKHQpfX1jbGFzcyBZZXtjb25zdHJ1Y3Rvcih0LGkscyl7dGhpcy5HZz1uZXcgbSx0aGlzLkd1PW5ldyBtLHRoaXMuQnc9bmV3IG0sdGhpcy5zbj10LHRoaXMuaWE9dC5FdCgpLHRoaXMuX009aSx0aGlzLmlhLlljKCkuaSh0aGlzLlhnLmJpbmQodGhpcykpLHRoaXMuaWEuS2MoKS5pKHRoaXMuSmcuYmluZCh0aGlzKSksdGhpcy5fTS5GdygpLmkodGhpcy5RZy5iaW5kKHRoaXMpKSx0aGlzLnh1PXN9bSgpe3RoaXMuaWEuWWMoKS51KHRoaXMpLHRoaXMuaWEuS2MoKS51KHRoaXMpLHRoaXMuX00uRncoKS51KHRoaXMpLHRoaXMuR2cubSgpLHRoaXMuR3UubSgpLHRoaXMuQncubSgpfXNjcm9sbFBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuaWEuQWMoKX1zY3JvbGxUb1Bvc2l0aW9uKHQsaSl7aT90aGlzLmlhLiRjKHQsMWUzKTp0aGlzLnNuLmdzKHQpfXNjcm9sbFRvUmVhbFRpbWUoKXt0aGlzLmlhLlVjKCl9Z2V0VmlzaWJsZVJhbmdlKCl7Y29uc3QgdD10aGlzLmlhLmdjKCk7cmV0dXJuIG51bGw9PT10P251bGw6e2Zyb206dC5mcm9tLm9yaWdpbmFsVGltZSx0bzp0LnRvLm9yaWdpbmFsVGltZX19c2V0VmlzaWJsZVJhbmdlKHQpe2NvbnN0IGk9e2Zyb206dGhpcy54dS5jb252ZXJ0SG9yekl0ZW1Ub0ludGVybmFsKHQuZnJvbSksdG86dGhpcy54dS5jb252ZXJ0SG9yekl0ZW1Ub0ludGVybmFsKHQudG8pfSxzPXRoaXMuaWEuQ2MoaSk7dGhpcy5zbi50ZihzKX1nZXRWaXNpYmxlTG9naWNhbFJhbmdlKCl7Y29uc3QgdD10aGlzLmlhLk1jKCk7cmV0dXJuIG51bGw9PT10P251bGw6e2Zyb206dC5PYSgpLHRvOnQuYmkoKX19c2V0VmlzaWJsZUxvZ2ljYWxSYW5nZSh0KXt1KHQuZnJvbTw9dC50bywiVGhlIGZyb20gaW5kZXggY2Fubm90IGJlIGFmdGVyIHRoZSB0byBpbmRleC4iKSx0aGlzLnNuLnRmKHQpfXJlc2V0VGltZVNjYWxlKCl7dGhpcy5zbi53cygpfWZpdENvbnRlbnQoKXt0aGlzLnNuLlhjKCl9bG9naWNhbFRvQ29vcmRpbmF0ZSh0KXtjb25zdCBpPXRoaXMuc24uRXQoKTtyZXR1cm4gaS5HaSgpP251bGw6aS5qdCh0KX1jb29yZGluYXRlVG9Mb2dpY2FsKHQpe3JldHVybiB0aGlzLmlhLkdpKCk/bnVsbDp0aGlzLmlhLlJjKHQpfXRpbWVUb0luZGV4KHQsaSl7Y29uc3Qgcz10aGlzLnh1LmNvbnZlcnRIb3J6SXRlbVRvSW50ZXJuYWwodCk7cmV0dXJuIHRoaXMuaWEudmMocyxpKX10aW1lVG9Db29yZGluYXRlKHQpewpjb25zdCBpPXRoaXMudGltZVRvSW5kZXgodCwhMSk7cmV0dXJuIG51bGw9PT1pP251bGw6dGhpcy5pYS5qdChpKX1jb29yZGluYXRlVG9UaW1lKHQpe2NvbnN0IGk9dGhpcy5zbi5FdCgpLHM9aS5SYyh0KSxlPWkuZW4ocyk7cmV0dXJuIG51bGw9PT1lP251bGw6ZS5vcmlnaW5hbFRpbWV9d2lkdGgoKXtyZXR1cm4gdGhpcy5fTS5jdigpLndpZHRofWhlaWdodCgpe3JldHVybiB0aGlzLl9NLmN2KCkuaGVpZ2h0fXN1YnNjcmliZVZpc2libGVUaW1lUmFuZ2VDaGFuZ2UodCl7dGhpcy5HZy5pKHQpfXVuc3Vic2NyaWJlVmlzaWJsZVRpbWVSYW5nZUNoYW5nZSh0KXt0aGlzLkdnLl8odCl9c3Vic2NyaWJlVmlzaWJsZUxvZ2ljYWxSYW5nZUNoYW5nZSh0KXt0aGlzLkd1LmkodCl9dW5zdWJzY3JpYmVWaXNpYmxlTG9naWNhbFJhbmdlQ2hhbmdlKHQpe3RoaXMuR3UuXyh0KX1zdWJzY3JpYmVTaXplQ2hhbmdlKHQpe3RoaXMuQncuaSh0KX11bnN1YnNjcmliZVNpemVDaGFuZ2UodCl7dGhpcy5Cdy5fKHQpfWFwcGx5T3B0aW9ucyh0KXt0aGlzLmlhLnZyKHQpfW9wdGlvbnMoKXtyZXR1cm57Li4uTSh0aGlzLmlhLk4oKSksYmFyU3BhY2luZzp0aGlzLmlhLmZsKCl9fVhnKCl7dGhpcy5HZy52KCkmJnRoaXMuR2cucCh0aGlzLmdldFZpc2libGVSYW5nZSgpKX1KZygpe3RoaXMuR3UudigpJiZ0aGlzLkd1LnAodGhpcy5nZXRWaXNpYmxlTG9naWNhbFJhbmdlKCkpfVFnKHQpe3RoaXMuQncucCh0LndpZHRoLHQuaGVpZ2h0KX19ZnVuY3Rpb24gamUodCl7cmV0dXJuIGZ1bmN0aW9uKHQpe2lmKHcodC5oYW5kbGVTY2FsZSkpe2NvbnN0IGk9dC5oYW5kbGVTY2FsZTt0LmhhbmRsZVNjYWxlPXtheGlzRG91YmxlQ2xpY2tSZXNldDp7dGltZTppLHByaWNlOml9LGF4aXNQcmVzc2VkTW91c2VNb3ZlOnt0aW1lOmkscHJpY2U6aX0sbW91c2VXaGVlbDppLHBpbmNoOml9fWVsc2UgaWYodm9pZCAwIT09dC5oYW5kbGVTY2FsZSl7Y29uc3R7YXhpc1ByZXNzZWRNb3VzZU1vdmU6aSxheGlzRG91YmxlQ2xpY2tSZXNldDpzfT10LmhhbmRsZVNjYWxlO3coaSkmJih0LmhhbmRsZVNjYWxlLmF4aXNQcmVzc2VkTW91c2VNb3ZlPXt0aW1lOmkscHJpY2U6aX0pLHcocykmJih0LmhhbmRsZVNjYWxlLmF4aXNEb3VibGVDbGlja1Jlc2V0PXt0aW1lOnMscHJpY2U6c30pfWNvbnN0IGk9dC5oYW5kbGVTY3JvbGw7dyhpKSYmKHQuaGFuZGxlU2Nyb2xsPXtob3J6VG91Y2hEcmFnOmksdmVydFRvdWNoRHJhZzppLG1vdXNlV2hlZWw6aSxwcmVzc2VkTW91c2VNb3ZlOml9KX0odCksdH1jbGFzcyBYZXtjb25zdHJ1Y3Rvcih0LGkscyl7dGhpcy50Yj1uZXcgTWFwLHRoaXMuaWI9bmV3IE1hcCx0aGlzLm5iPW5ldyBtLHRoaXMuc2I9bmV3IG0sdGhpcy5lYj1uZXcgbSx0aGlzLm9kPW5ldyBXZWFrTWFwLHRoaXMucmI9bmV3IG9lKGkpO2NvbnN0IGU9dm9pZCAwPT09cz9NKEJlKCkpOnAoTShCZSgpKSxqZShzKSk7dGhpcy5oYj1pLHRoaXMuc3Y9bmV3IEJzKHQsZSxpKSx0aGlzLnN2LmR3KCkuaSgodD0+e3RoaXMubmIudigpJiZ0aGlzLm5iLnAodGhpcy5hYih0KCkpKX0pLHRoaXMpLHRoaXMuc3YuZncoKS5pKCh0PT57dGhpcy5zYi52KCkmJnRoaXMuc2IucCh0aGlzLmFiKHQoKSkpfSksdGhpcyksdGhpcy5zdi5EZCgpLmkoKHQ9Pnt0aGlzLmViLnYoKSYmdGhpcy5lYi5wKHRoaXMuYWIodCgpKSl9KSx0aGlzKTtjb25zdCBoPXRoaXMuc3YuUXQoKTt0aGlzLmxiPW5ldyBZZShoLHRoaXMuc3YucE0oKSx0aGlzLmhiKX1yZW1vdmUoKXt0aGlzLnN2LmR3KCkudSh0aGlzKSx0aGlzLnN2LmZ3KCkudSh0aGlzKSx0aGlzLnN2LkRkKCkudSh0aGlzKSx0aGlzLmxiLm0oKSx0aGlzLnN2Lm0oKSx0aGlzLnRiLmNsZWFyKCksdGhpcy5pYi5jbGVhcigpLHRoaXMubmIubSgpLHRoaXMuc2IubSgpLHRoaXMuZWIubSgpLHRoaXMucmIubSgpfXJlc2l6ZSh0LGkscyl7dGhpcy5hdXRvU2l6ZUFjdGl2ZSgpfHx0aGlzLnN2LmNNKHQsaSxzKX1hZGRDdXN0b21TZXJpZXModCxpPXt9LHM9MCl7Y29uc3QgZT0odD0+KHt0eXBlOiJDdXN0b20iLGlzQnVpbHRJbjohMSxkZWZhdWx0T3B0aW9uczp7Li4uTmUsLi4udC5kZWZhdWx0T3B0aW9ucygpfSxvYjpUZSxfYjp0fSkpKGQodCkpO3JldHVybiB0aGlzLnViKGUsaSxzKX1hZGRTZXJpZXModCxpPXt9LHM9MCl7cmV0dXJuIHRoaXMudWIodCxpLHMpfXJlbW92ZVNlcmllcyh0KXtjb25zdCBpPWModGhpcy50Yi5nZXQodCkpLHM9dGhpcy5yYi5KZChpKTt0aGlzLnN2LlF0KCkuSmQoaSksdGhpcy5jYihzKSx0aGlzLnRiLmRlbGV0ZSh0KSx0aGlzLmliLmRlbGV0ZShpKX1xZyh0LGkpe3RoaXMuY2IodGhpcy5yYi5zZyh0LGkpKX1LZyh0LGkscyl7dGhpcy5jYih0aGlzLnJiLm9nKHQsaSxzKSl9WmcodCxpKXtjb25zdFtzLGVdPXRoaXMucmIuY2codCxpKTtyZXR1cm4gMCE9PXMubGVuZ3RoJiZ0aGlzLmNiKGUpLHN9c3Vic2NyaWJlQ2xpY2sodCl7dGhpcy5uYi5pKHQpfXVuc3Vic2NyaWJlQ2xpY2sodCl7dGhpcy5uYi5fKHQpfXN1YnNjcmliZUNyb3NzaGFpck1vdmUodCl7dGhpcy5lYi5pKHQpfXVuc3Vic2NyaWJlQ3Jvc3NoYWlyTW92ZSh0KXt0aGlzLmViLl8odCl9c3Vic2NyaWJlRGJsQ2xpY2sodCl7dGhpcy5zYi5pKHQpfXVuc3Vic2NyaWJlRGJsQ2xpY2sodCl7dGhpcy5zYi5fKHQpfXByaWNlU2NhbGUodCxpPTApe3JldHVybiBuZXcgQWUodGhpcy5zdix0LGkpfXRpbWVTY2FsZSgpe3JldHVybiB0aGlzLmxifWFwcGx5T3B0aW9ucyh0KXt0aGlzLnN2LnZyKGplKHQpKX1vcHRpb25zKCl7cmV0dXJuIHRoaXMuc3YuTigpfXRha2VTY3JlZW5zaG90KHQ9ITEsaT0hMSl7bGV0IHMsZTt0cnl7aXx8KHM9dGhpcy5zdi5RdCgpLk4oKS5jcm9zc2hhaXIubW9kZSx0aGlzLnN2LnZyKHtjcm9zc2hhaXI6e21vZGU6Mn19KSksZT10aGlzLnN2LlNNKHQpfWZpbmFsbHl7aXx8dm9pZCAwPT09c3x8dGhpcy5zdi5RdCgpLnZyKHtjcm9zc2hhaXI6e21vZGU6c319KX1yZXR1cm4gZX1hZGRQYW5lKHQ9ITEpe2NvbnN0IGk9dGhpcy5zdi5RdCgpLmFmKCk7cmV0dXJuIGkuV18odCksdGhpcy5mYihpKX1yZW1vdmVQYW5lKHQpewp0aGlzLnN2LlF0KCkuVmQodCl9c3dhcFBhbmVzKHQsaSl7dGhpcy5zdi5RdCgpLkVkKHQsaSl9YXV0b1NpemVBY3RpdmUoKXtyZXR1cm4gdGhpcy5zdi53TSgpfWNoYXJ0RWxlbWVudCgpe3JldHVybiB0aGlzLnN2LnZ2KCl9cGFuZXMoKXtyZXR1cm4gdGhpcy5zdi5RdCgpLlpuKCkubWFwKCh0PT50aGlzLmZiKHQpKSl9cGFuZVNpemUodD0wKXtjb25zdCBpPXRoaXMuc3YuUk0odCk7cmV0dXJue2hlaWdodDppLmhlaWdodCx3aWR0aDppLndpZHRofX1zZXRDcm9zc2hhaXJQb3NpdGlvbih0LGkscyl7Y29uc3QgZT10aGlzLnRiLmdldChzKTtpZih2b2lkIDA9PT1lKXJldHVybjtjb25zdCBoPXRoaXMuc3YuUXQoKS5LcyhlKTtudWxsIT09aCYmdGhpcy5zdi5RdCgpLnFkKHQsaSxoKX1jbGVhckNyb3NzaGFpclBvc2l0aW9uKCl7dGhpcy5zdi5RdCgpLllkKCEwKX1ob3J6QmVoYXZpb3VyKCl7cmV0dXJuIHRoaXMuaGJ9dWIodCxpPXt9LHM9MCl7dSh2b2lkIDAhPT10Lm9iKSxmdW5jdGlvbih0KXtpZih2b2lkIDA9PT10fHwiY3VzdG9tIj09PXQudHlwZSlyZXR1cm47Y29uc3QgaT10O3ZvaWQgMCE9PWkubWluTW92ZSYmdm9pZCAwPT09aS5wcmVjaXNpb24mJihpLnByZWNpc2lvbj1BaShpLm1pbk1vdmUpKX0oaS5wcmljZUZvcm1hdCksIkNhbmRsZXN0aWNrIj09PXQudHlwZSYmZnVuY3Rpb24odCl7dm9pZCAwIT09dC5ib3JkZXJDb2xvciYmKHQuYm9yZGVyVXBDb2xvcj10LmJvcmRlckNvbG9yLHQuYm9yZGVyRG93bkNvbG9yPXQuYm9yZGVyQ29sb3IpLHZvaWQgMCE9PXQud2lja0NvbG9yJiYodC53aWNrVXBDb2xvcj10LndpY2tDb2xvcix0LndpY2tEb3duQ29sb3I9dC53aWNrQ29sb3IpfShpKTtjb25zdCBlPXAoTShoKSxNKHQuZGVmYXVsdE9wdGlvbnMpLGkpLG49dC5vYixyPW5ldyBqdCh0aGlzLnN2LlF0KCksdC50eXBlLGUsbix0Ll9iKTt0aGlzLnN2LlF0KCkuR2QocixzKTtjb25zdCBvPW5ldyBVZShyLHRoaXMsdGhpcyx0aGlzLHRoaXMuaGIsKHQ9PnRoaXMuZmIodCkpKTtyZXR1cm4gdGhpcy50Yi5zZXQobyxyKSx0aGlzLmliLnNldChyLG8pLG99Y2IodCl7Y29uc3QgaT10aGlzLnN2LlF0KCk7aS5LZCh0LkV0LlBjLHQuRXQudmcsdC5FdC5tZyksdC5VXy5mb3JFYWNoKCgodCxpKT0+aS5odCh0LnVlLHQucGcpKSksaS5FdCgpLl9jKCksaS5CYygpfXBiKHQpe3JldHVybiBjKHRoaXMuaWIuZ2V0KHQpKX1tYih0KXtyZXR1cm4gdm9pZCAwIT09dCYmdGhpcy5pYi5oYXModCk/dGhpcy5wYih0KTp2b2lkIDB9YWIodCl7Y29uc3QgaT1uZXcgTWFwO3QuWU0uZm9yRWFjaCgoKHQscyk9Pntjb25zdCBlPXMuYmgoKSxoPVdlKGUpKHQpO2lmKCJDdXN0b20iIT09ZSl1KEhzKGgpKTtlbHNle2NvbnN0IHQ9cy5vbCgpO3UoIXR8fCExPT09dChoKSl9aS5zZXQodGhpcy5wYihzKSxoKX0pKTtjb25zdCBzPXRoaXMubWIodC5OTSksZT12b2lkIDA9PT10LldNP3ZvaWQgMDp7dHlwZTp0LldNLmRzLHNvdXJjZUtpbmQ6dC5XTS5ITSxvYmplY3RLaW5kOnQuV00uVU0sc2VyaWVzOnRoaXMubWIodC5XTS5VXyksb2JqZWN0SWQ6dC5XTS4kTSxwYW5lSW5kZXg6dC5XTS5qTX07cmV0dXJue3RpbWU6dC5Rcixsb2dpY2FsOnQuJG4scG9pbnQ6dC5xTSxwYW5lSW5kZXg6dC5qTSxob3ZlcmVkSW5mbzplLGhvdmVyZWRTZXJpZXM6cyxob3ZlcmVkT2JqZWN0SWQ6dC5GTSxzZXJpZXNEYXRhOmksc291cmNlRXZlbnQ6dC5LTX19ZmIodCl7bGV0IGk9dGhpcy5vZC5nZXQodCk7cmV0dXJuIGl8fChpPW5ldyBaZSh0aGlzLnN2LCh0PT50aGlzLnBiKHQpKSx0LHRoaXMpLHRoaXMub2Quc2V0KHQsaSkpLGl9fWZ1bmN0aW9uIEplKHQpe2lmKGIodCkpe2NvbnN0IGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodCk7cmV0dXJuIHUobnVsbCE9PWksYENhbm5vdCBmaW5kIGVsZW1lbnQgaW4gRE9NIHdpdGggaWQ9JHt0fWApLGl9cmV0dXJuIHR9ZnVuY3Rpb24gdGgodCxpLHMpe2NvbnN0IGU9SmUodCksaD1uZXcgWGUoZSxpLHMpO3JldHVybiBpLnNldE9wdGlvbnMoaC5vcHRpb25zKCkpLGh9ZnVuY3Rpb24gaWgoKXtyZXR1cm4gb3N9ZnVuY3Rpb24gc2godCxpLHMsZSl7cmV0dXJuIE1hdGguaHlwb3Qocy10LGUtaSl9ZnVuY3Rpb24gZWgodCxpLHMsZSxoLG4scixvPTApe2lmKDA9PT1pLmxlbmd0aHx8ZS5mcm9tPj1pLmxlbmd0aHx8ZS50bzw9MClyZXR1cm47Y29uc3R7Y29udGV4dDpsLGhvcml6b250YWxQaXhlbFJhdGlvOmEsdmVydGljYWxQaXhlbFJhdGlvOnV9PXQsYz1pW2UuZnJvbV07bGV0IGY9bih0LGMpLGQ9YztpZihlLnRvLWUuZnJvbTwyKXtjb25zdCBpPWgvMjtsLmJlZ2luUGF0aCgpO2NvbnN0IHM9e190OmMuX3QtaSx1dDpjLnV0fSxlPXtfdDpjLl90K2ksdXQ6Yy51dH07bC5tb3ZlVG8ocy5fdCphLHMudXQqdSksbC5saW5lVG8oZS5fdCphLGUudXQqdSkscih0LGYscyxlKX1lbHNle2NvbnN0IGg9bz4wO2xldCBtPTA7Y29uc3QgcD0oaSxzKT0+e2lmKHIodCxmLGQscyksbC5iZWdpblBhdGgoKSxmPWksZD1zLGgpe2NvbnN0IHQ9bSVvO2wubGluZURhc2hPZmZzZXQ9dCxtPXR9fTtsZXQgZz1kO2wuYmVnaW5QYXRoKCksbC5tb3ZlVG8oYy5fdCphLGMudXQqdSk7Zm9yKGxldCByPWUuZnJvbSsxO3I8ZS50bzsrK3Ipe2c9aVtyXTtjb25zdCBlPWcuX3QqYSxvPWcudXQqdSxjPW4odCxnKTtzd2l0Y2gocyl7Y2FzZSAwOmlmKGwubGluZVRvKGUsbyksaCl7Y29uc3QgdD1pW3ItMV0scz10Ll90KmEsaD10LnV0KnU7bSs9c2gocyxoLGUsbyl9YnJlYWs7Y2FzZSAxOntjb25zdCB0PWlbci0xXSxzPXQudXQqdTtsLmxpbmVUbyhlLHMpLGgmJihtKz1NYXRoLmFicyhnLl90LXQuX3QpKmEpLGMhPT1mJiYocChjLGcpLGwubGluZVRvKGUscykpLGwubGluZVRvKGUsbyksaCYmKG0rPU1hdGguYWJzKGcudXQtdC51dCkqdSk7YnJlYWt9Y2FzZSAyOntjb25zdFt0LHNdPXJoKGksci0xLHIpLG49dC5fdCphLGM9dC51dCp1LGY9cy5fdCphLGQ9cy51dCp1O2lmKGwuYmV6aWVyQ3VydmVUbyhuLGMsZixkLGUsbyksaCl7CmNvbnN0IHQ9aVtyLTFdLHM9dC5fdCphLGg9dC51dCp1LGw9c2gocyxoLGUsbykscD1zaChzLGgsbixjKStzaChuLGMsZixkKStzaChmLGQsZSxvKTttKz0obCtwKS8yfWJyZWFrfX0xIT09cyYmYyE9PWYmJihwKGMsZyksbC5tb3ZlVG8oZSxvKSl9KGQhPT1nfHxkPT09ZyYmMT09PXMpJiZyKHQsZixkLGcpLGgmJihsLmxpbmVEYXNoT2Zmc2V0PTApfX1mdW5jdGlvbiBoaCh0LGkpe3JldHVybntfdDp0Ll90LWkuX3QsdXQ6dC51dC1pLnV0fX1mdW5jdGlvbiBuaCh0LGkpe3JldHVybntfdDp0Ll90L2ksdXQ6dC51dC9pfX1mdW5jdGlvbiByaCh0LGkscyl7Y29uc3QgZT1NYXRoLm1heCgwLGktMSksaD1NYXRoLm1pbih0Lmxlbmd0aC0xLHMrMSk7dmFyIG4scjtyZXR1cm5bKG49dFtpXSxyPW5oKGhoKHRbc10sdFtlXSksNikse190Om4uX3Qrci5fdCx1dDpuLnV0K3IudXR9KSxoaCh0W3NdLG5oKGhoKHRbaF0sdFtpXSksNikpXX1mdW5jdGlvbiBvaCh0LGkpe2NvbnN0IHM9dC5jb250ZXh0O3Muc3Ryb2tlU3R5bGU9aSxzLnN0cm9rZSgpfWNsYXNzIGxoIGV4dGVuZHMgUntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5ydD1udWxsfWh0KHQpe3RoaXMucnQ9dH1ldCh0KXtpZihudWxsPT09dGhpcy5ydClyZXR1cm47Y29uc3R7b3Q6aSxsdDpzLHdiOmUsTWI6aCxjdDpuLFp0OnIsZ2I6b309dGhpcy5ydDtpZihudWxsPT09cylyZXR1cm47Y29uc3QgYT10LmNvbnRleHQ7YS5saW5lQ2FwPSJidXR0IixhLmxpbmVXaWR0aD1uKnQudmVydGljYWxQaXhlbFJhdGlvO2NvbnN0IHU9bChhLHIpO2EubGluZUpvaW49InJvdW5kIjtjb25zdCBjPXRoaXMuYmIuYmluZCh0aGlzKSxmPWZ1bmN0aW9uKHQpe3JldHVybiB0LnJlZHVjZSgoKHQsaSk9PnQraSksMCl9KHUpO3ZvaWQgMCE9PWgmJmVoKHQsaSxoLHMsZSxjLG9oLGYpLG8mJmZ1bmN0aW9uKHQsaSxzLGUsaCl7aWYoZS50by1lLmZyb208PTApcmV0dXJuO2NvbnN0e2hvcml6b250YWxQaXhlbFJhdGlvOm4sdmVydGljYWxQaXhlbFJhdGlvOnIsY29udGV4dDpvfT10O2xldCBsPW51bGw7Y29uc3QgYT1NYXRoLm1heCgxLE1hdGguZmxvb3IobikpJTIvMix1PXMqcithO2ZvcihsZXQgcz1lLnRvLTE7cz49ZS5mcm9tOy0tcyl7Y29uc3QgZT1pW3NdO2lmKGUpe2NvbnN0IGk9aCh0LGUpO2khPT1sJiYobnVsbCE9PWwmJm8uZmlsbCgpLG8uYmVnaW5QYXRoKCksby5maWxsU3R5bGU9aSxsPWkpO2NvbnN0IHM9TWF0aC5yb3VuZChlLl90Km4pK2EsYz1lLnV0KnI7by5tb3ZlVG8ocyxjKSxvLmFyYyhzLGMsdSwwLDIqTWF0aC5QSSl9fW8uZmlsbCgpfSh0LGksbyxzLGMpfX1jbGFzcyBhaCBleHRlbmRzIGxoe2JiKHQsaSl7cmV0dXJuIGkudnR9fWZ1bmN0aW9uIHVoKHQsaSxzLGUsaCl7Y29uc3Qgbj0xLWg7cmV0dXJuIG4qbipuKnQrMypuKm4qaCppKzMqbipoKmgqcytoKmgqaCplfWZ1bmN0aW9uIGNoKHQsaSxzLGUsaCl7aWYoMj09PXMpe2NvbnN0W3Msbl09cmgoZSxoLTEsaCk7cmV0dXJuW01hdGgubWluKHQuX3QsaS5fdCxzLl90LG4uX3QpLE1hdGgubWF4KHQuX3QsaS5fdCxzLl90LG4uX3QpXX1yZXR1cm5bTWF0aC5taW4odC5fdCxpLl90KSxNYXRoLm1heCh0Ll90LGkuX3QpXX1mdW5jdGlvbiBmaCh0LGkscyxlLGgsbixyLG8pe3N3aXRjaChoKXtjYXNlIDE6e2NvbnN0IGg9cGUodCxpLHMuX3Qscy51dCxlLl90LHMudXQpLG49cGUodCxpLGUuX3Qscy51dCxlLl90LGUudXQpLHI9TWF0aC5taW4oaCxuKTtyZXR1cm4gcjw9bz9yOm51bGx9Y2FzZSAyOntjb25zdFtoLGxdPXJoKG4sci0xLHIpLGE9ZnVuY3Rpb24odCxpLHMpe2xldCBlPU51bWJlci5QT1NJVElWRV9JTkZJTklUWSxoPXNbMF07Zm9yKGxldCBuPTE7bjw9MTI7bisrKXtjb25zdCByPW4vMTIsbz17X3Q6dWgoc1swXS5fdCxzWzFdLl90LHNbMl0uX3Qsc1szXS5fdCxyKSx1dDp1aChzWzBdLnV0LHNbMV0udXQsc1syXS51dCxzWzNdLnV0LHIpfTtlPU1hdGgubWluKGUscGUodCxpLGguX3QsaC51dCxvLl90LG8udXQpKSxoPW99cmV0dXJuIGV9KHQsaSxbcyxoLGwsZV0pO3JldHVybiBhPD1vP2E6bnVsbH1kZWZhdWx0Ontjb25zdCBoPXBlKHQsaSxzLl90LHMudXQsZS5fdCxlLnV0KTtyZXR1cm4gaDw9bz9oOm51bGx9fX1jbGFzcyBkaCBleHRlbmRzIHhle2NvbnN0cnVjdG9yKHQsaSl7c3VwZXIodCxpLCEwKX1WZyh0LGkscyl7aS5UYyh0aGlzLmJnLFModGhpcy5TZykpLHQuWm8odGhpcy5iZyxzLFModGhpcy5TZykpfVNiKHQsaSl7cmV0dXJue3d0OnQsTXQ6aSxfdDpOYU4sdXQ6TmFOfX1EZygpe2NvbnN0IHQ9dGhpcy5hZS5TYSgpO3RoaXMuYmc9dGhpcy5hZS5IYSgpLkJoKCkubWFwKChpPT57bGV0IHM7aWYoKGkuWnI/PzEpPjEpe2NvbnN0IHQ9aS5XdFsxXSxlPWkuV3RbMl0saD1pLld0WzNdO3M9TWF0aC5hYnModC1oKT5NYXRoLmFicyhlLWgpP3Q6ZX1lbHNlIHM9aS5XdFszXTtyZXR1cm4gdGhpcy54YihpLiRuLHMsdCl9KSl9fWNsYXNzIG1oIGV4dGVuZHMgZGh7UGcodCxpKXtjb25zdCBzPXRoaXMuYWUuTigpO3JldHVybiBmdW5jdGlvbih0LGkscyxlLGgsbixyLG89MCxsPTApe2lmKG51bGw9PT1pfHxpLmZyb20+PWkudG98fDA9PT10Lmxlbmd0aClyZXR1cm4gbnVsbDtjb25zdCBhPU1hdGgubWF4KG4vMixyPz8wKStsO2xldCB1PU51bWJlci5QT1NJVElWRV9JTkZJTklUWTtpZih2b2lkIDAhPT1yKXtjb25zdCBoPXIrbCxuPWNlKHQscy1oLGkuZnJvbSxpLnRvKSxvPWZlKHQscytoLG4saS50byk7Zm9yKGxldCBpPW47aTxvO2krKyl7Y29uc3QgaD10W2ldO2lmKCFtZShzLGguX3QsaC5fdCxyK2wpKWNvbnRpbnVlO2NvbnN0IG49TWF0aC5oeXBvdChzLWguX3QsZS1oLnV0KTtuPD1yK2wmJih1PU1hdGgubWluKHUsbikpfX1pZihpLnRvLWkuZnJvbTwyKXtjb25zdCBoPXRbaS5mcm9tXSxuPU1hdGgubWF4KG8vMixhKSxyPXBlKHMsZSxoLl90LW4saC51dCxoLl90K24saC51dCk7cmV0dXJuIHI8PWEmJih1PU1hdGgubWluKHUscikpLE51bWJlci5pc0Zpbml0ZSh1KT9kZSh1LDIsInNlcmllcy1wb2ludCIpOm51bGx9bGV0IGM9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZCjtjb25zdCBmPWNlKHQscy1hLGkuZnJvbSxpLnRvKSxkPWZlKHQscythLGYsaS50byksbT1NYXRoLm1heChpLmZyb20rMSxmKSxwPU1hdGgubWluKGkudG8sZCsxKTtmb3IobGV0IGk9bTtpPHA7aSsrKXtjb25zdCBuPXRbaS0xXSxyPXRbaV0sW28sbF09Y2gobixyLGgsdCxpKTtpZighbWUocyxvLGwsYSkpY29udGludWU7Y29uc3QgdT1maChzLGUsbixyLGgsdCxpLGEpO251bGwhPT11JiYoYz1NYXRoLm1pbihjLHUpKX1yZXR1cm4gTnVtYmVyLmlzRmluaXRlKHUpP2RlKHUsMiwic2VyaWVzLXBvaW50Iik6TnVtYmVyLmlzRmluaXRlKGMpP2RlKGMsMSwic2VyaWVzLWxpbmUiKTpudWxsfSh0aGlzLmJnLHRoaXMuU2csdCxpLHMubGluZVR5cGUscy5saW5lVmlzaWJsZT9zLmxpbmVXaWR0aDoxLHMucG9pbnRNYXJrZXJzVmlzaWJsZT9zLnBvaW50TWFya2Vyc1JhZGl1c3x8cy5saW5lV2lkdGgvMisyOnZvaWQgMCx0aGlzLmxlLkV0KCkuZmwoKSxzLmhpdFRlc3RUb2xlcmFuY2UpfX1jbGFzcyBwaCBleHRlbmRzIG1oe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLmtnPW5ldyBhaH14Yih0LGkscyl7cmV0dXJuey4uLnRoaXMuU2IodCxpKSwuLi5zLlNoKHQpfX1CZygpe2NvbnN0IHQ9dGhpcy5hZS5OKCksaT17b3Q6dGhpcy5iZyxadDp0LmxpbmVTdHlsZSxNYjp0LmxpbmVWaXNpYmxlP3QubGluZVR5cGU6dm9pZCAwLGN0OnQubGluZVdpZHRoLGdiOnQucG9pbnRNYXJrZXJzVmlzaWJsZT90LnBvaW50TWFya2Vyc1JhZGl1c3x8dC5saW5lV2lkdGgvMisyOnZvaWQgMCxsdDp0aGlzLlNnLHdiOnRoaXMubGUuRXQoKS5mbCgpfTt0aGlzLmtnLmh0KGkpfX1jb25zdCBnaD17dHlwZToiTGluZSIsaXNCdWlsdEluOiEwLGRlZmF1bHRPcHRpb25zOntjb2xvcjoiIzIxOTZmMyIsbGluZVN0eWxlOjAsbGluZVdpZHRoOjMsbGluZVR5cGU6MCxsaW5lVmlzaWJsZTohMCxjcm9zc2hhaXJNYXJrZXJWaXNpYmxlOiEwLGNyb3NzaGFpck1hcmtlclJhZGl1czo0LGNyb3NzaGFpck1hcmtlckJvcmRlckNvbG9yOiIiLGNyb3NzaGFpck1hcmtlckJvcmRlcldpZHRoOjIsY3Jvc3NoYWlyTWFya2VyQmFja2dyb3VuZENvbG9yOiIiLGxhc3RQcmljZUFuaW1hdGlvbjowLHBvaW50TWFya2Vyc1Zpc2libGU6ITF9LG9iOih0LGkpPT5uZXcgcGgodCxpKX07ZnVuY3Rpb24gdmgodCxpLHMsZSxoKXtjb25zdHtjb250ZXh0Om4saG9yaXpvbnRhbFBpeGVsUmF0aW86cix2ZXJ0aWNhbFBpeGVsUmF0aW86b309aTtuLmxpbmVUbyhoLl90KnIsdCpvKSxuLmxpbmVUbyhlLl90KnIsdCpvKSxuLmNsb3NlUGF0aCgpLG4uZmlsbFN0eWxlPXMsbi5maWxsKCl9Y2xhc3MgYmggZXh0ZW5kcyBSe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnJ0PW51bGx9aHQodCl7dGhpcy5ydD10fWV0KHQpe2lmKG51bGw9PT10aGlzLnJ0KXJldHVybjtjb25zdHtvdDppLGx0OnMsd2I6ZSxjdDpoLFp0Om4sTWI6cn09dGhpcy5ydCxvPXRoaXMucnQuRGI/Pyh0aGlzLnJ0LkliPzA6dC5tZWRpYVNpemUuaGVpZ2h0KTtpZihudWxsPT09cylyZXR1cm47Y29uc3QgYT10LmNvbnRleHQ7YS5saW5lQ2FwPSJidXR0IixhLmxpbmVKb2luPSJyb3VuZCIsYS5saW5lV2lkdGg9aCxsKGEsbiksYS5saW5lV2lkdGg9MSxlaCh0LGkscixzLGUsdGhpcy5WYi5iaW5kKHRoaXMpLHZoLmJpbmQobnVsbCxvKSl9fWNsYXNzIHdoe0JiKHQsaSl7Y29uc3Qgcz10aGlzLkViLHtBYjplLExiOmgsemI6bixPYjpyLERiOm8sTmI6bCxGYjphfT1pO2lmKHZvaWQgMD09PXRoaXMuV2J8fHZvaWQgMD09PXN8fHMuQWIhPT1lfHxzLkxiIT09aHx8cy56YiE9PW58fHMuT2IhPT1yfHxzLkRiIT09b3x8cy5OYiE9PWx8fHMuRmIhPT1hKXtjb25zdHt2ZXJ0aWNhbFBpeGVsUmF0aW86c309dCx1PW98fGw+MD9zOjEsYz1sKnUsZj1hPT09dC5iaXRtYXBTaXplLmhlaWdodD9hOmEqdSxkPShvPz8wKSp1LG09dC5jb250ZXh0LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsYywwLGYpO2lmKG0uYWRkQ29sb3JTdG9wKDAsZSksbnVsbCE9byl7Y29uc3QgdD1paSgoZC1jKS8oZi1jKSwwLDEpO20uYWRkQ29sb3JTdG9wKHQsaCksbS5hZGRDb2xvclN0b3AodCxuKX1tLmFkZENvbG9yU3RvcCgxLHIpLHRoaXMuV2I9bSx0aGlzLkViPWl9cmV0dXJuIHRoaXMuV2J9fWNsYXNzIE1oIGV4dGVuZHMgYmh7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuSGI9bmV3IHdofVZiKHQsaSl7Y29uc3Qgcz10aGlzLnJ0O3JldHVybiB0aGlzLkhiLkJiKHQse0FiOmkuZGgsTGI6aS5maCx6YjppLnBoLE9iOmkubWgsRGI6cy5EYixOYjpzLk5iPz8wLEZiOnMuRmI/P3QuYml0bWFwU2l6ZS5oZWlnaHR9KX19Y2xhc3MgeWggZXh0ZW5kcyBsaHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5VYj1uZXcgd2h9YmIodCxpKXtjb25zdCBzPXRoaXMucnQ7cmV0dXJuIHRoaXMuVWIuQmIodCx7QWI6aS5faCxMYjppLl9oLHpiOmkudWgsT2I6aS51aCxEYjpzLkRiLE5iOnMuTmI/PzAsRmI6cy5GYj8/dC5iaXRtYXBTaXplLmhlaWdodH0pfX1jbGFzcyBTaCBleHRlbmRzIG1oe2NvbnN0cnVjdG9yKHQsaSl7c3VwZXIodCxpKSx0aGlzLmtnPW5ldyBULHRoaXMuJGI9bmV3IE1oLHRoaXMuamI9bmV3IHloLHRoaXMua2cubnQoW3RoaXMuJGIsdGhpcy5qYl0pfXhiKHQsaSxzKXtyZXR1cm57Li4udGhpcy5TYih0LGkpLC4uLnMuU2godCl9fUJnKCl7Y29uc3QgdD10aGlzLmFlLkx0KCk7aWYobnVsbD09PXQpcmV0dXJuO2NvbnN0IGk9dGhpcy5hZS5OKCkscz10aGlzLmFlLkZ0KCkuTnQoaS5iYXNlVmFsdWUucHJpY2UsdC5XdCksZT10aGlzLmxlLkV0KCkuZmwoKTtpZihudWxsPT09dGhpcy5TZ3x8MD09PXRoaXMuYmcubGVuZ3RoKXJldHVybjtsZXQgaCxuO2lmKGkucmVsYXRpdmVHcmFkaWVudCl7aD10aGlzLmJnW3RoaXMuU2cuZnJvbV0udXQsbj10aGlzLmJnW3RoaXMuU2cuZnJvbV0udXQ7Zm9yKGxldCB0PXRoaXMuU2cuZnJvbTt0PHRoaXMuU2cudG87dCsrKXtjb25zdCBpPXRoaXMuYmdbdF07aS51dDxoJiYoaD1pLnV0KSxpLnV0Pm4mJihuPWkudXQpfX0KdGhpcy4kYi5odCh7b3Q6dGhpcy5iZyxjdDppLmxpbmVXaWR0aCxadDppLmxpbmVTdHlsZSxNYjppLmxpbmVUeXBlLERiOnMsTmI6aCxGYjpuLEliOiExLGx0OnRoaXMuU2csd2I6ZX0pLHRoaXMuamIuaHQoe290OnRoaXMuYmcsY3Q6aS5saW5lV2lkdGgsWnQ6aS5saW5lU3R5bGUsTWI6aS5saW5lVmlzaWJsZT9pLmxpbmVUeXBlOnZvaWQgMCxnYjppLnBvaW50TWFya2Vyc1Zpc2libGU/aS5wb2ludE1hcmtlcnNSYWRpdXN8fGkubGluZVdpZHRoLzIrMjp2b2lkIDAsRGI6cyxOYjpoLEZiOm4sbHQ6dGhpcy5TZyx3YjplfSl9fWNvbnN0IHhoPXt0eXBlOiJCYXNlbGluZSIsaXNCdWlsdEluOiEwLGRlZmF1bHRPcHRpb25zOntiYXNlVmFsdWU6e3R5cGU6InByaWNlIixwcmljZTowfSxyZWxhdGl2ZUdyYWRpZW50OiExLHRvcEZpbGxDb2xvcjE6InJnYmEoMzgsIDE2NiwgMTU0LCAwLjI4KSIsdG9wRmlsbENvbG9yMjoicmdiYSgzOCwgMTY2LCAxNTQsIDAuMDUpIix0b3BMaW5lQ29sb3I6InJnYmEoMzgsIDE2NiwgMTU0LCAxKSIsYm90dG9tRmlsbENvbG9yMToicmdiYSgyMzksIDgzLCA4MCwgMC4wNSkiLGJvdHRvbUZpbGxDb2xvcjI6InJnYmEoMjM5LCA4MywgODAsIDAuMjgpIixib3R0b21MaW5lQ29sb3I6InJnYmEoMjM5LCA4MywgODAsIDEpIixsaW5lV2lkdGg6MyxsaW5lU3R5bGU6MCxsaW5lVHlwZTowLGxpbmVWaXNpYmxlOiEwLGNyb3NzaGFpck1hcmtlclZpc2libGU6ITAsY3Jvc3NoYWlyTWFya2VyUmFkaXVzOjQsY3Jvc3NoYWlyTWFya2VyQm9yZGVyQ29sb3I6IiIsY3Jvc3NoYWlyTWFya2VyQm9yZGVyV2lkdGg6Mixjcm9zc2hhaXJNYXJrZXJCYWNrZ3JvdW5kQ29sb3I6IiIsbGFzdFByaWNlQW5pbWF0aW9uOjAscG9pbnRNYXJrZXJzVmlzaWJsZTohMX0sb2I6KHQsaSk9Pm5ldyBTaCh0LGkpfTtjbGFzcyBfaCBleHRlbmRzIGJoe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLkhiPW5ldyB3aH1WYih0LGkpe3JldHVybiB0aGlzLkhiLkJiKHQse0FiOmkuYWgsTGI6IiIsemI6IiIsT2I6aS5vaCxOYjp0aGlzLnJ0Py5OYj8/MCxGYjp0LmJpdG1hcFNpemUuaGVpZ2h0fSl9fWNsYXNzIENoIGV4dGVuZHMgbWh7Y29uc3RydWN0b3IodCxpKXtzdXBlcih0LGkpLHRoaXMua2c9bmV3IFQsdGhpcy5xYj1uZXcgX2gsdGhpcy5ZYj1uZXcgYWgsdGhpcy5rZy5udChbdGhpcy5xYix0aGlzLlliXSl9eGIodCxpLHMpe3JldHVybnsuLi50aGlzLlNiKHQsaSksLi4ucy5TaCh0KX19QmcoKXtjb25zdCB0PXRoaXMuYWUuTigpO2lmKG51bGw9PT10aGlzLlNnfHwwPT09dGhpcy5iZy5sZW5ndGgpcmV0dXJuO2xldCBpO2lmKHQucmVsYXRpdmVHcmFkaWVudCl7aT10aGlzLmJnW3RoaXMuU2cuZnJvbV0udXQ7Zm9yKGxldCB0PXRoaXMuU2cuZnJvbTt0PHRoaXMuU2cudG87dCsrKXtjb25zdCBzPXRoaXMuYmdbdF07cy51dDxpJiYoaT1zLnV0KX19dGhpcy5xYi5odCh7TWI6dC5saW5lVHlwZSxvdDp0aGlzLmJnLFp0OnQubGluZVN0eWxlLGN0OnQubGluZVdpZHRoLERiOm51bGwsTmI6aSxJYjp0LmludmVydEZpbGxlZEFyZWEsbHQ6dGhpcy5TZyx3Yjp0aGlzLmxlLkV0KCkuZmwoKX0pLHRoaXMuWWIuaHQoe01iOnQubGluZVZpc2libGU/dC5saW5lVHlwZTp2b2lkIDAsb3Q6dGhpcy5iZyxadDp0LmxpbmVTdHlsZSxjdDp0LmxpbmVXaWR0aCxsdDp0aGlzLlNnLHdiOnRoaXMubGUuRXQoKS5mbCgpLGdiOnQucG9pbnRNYXJrZXJzVmlzaWJsZT90LnBvaW50TWFya2Vyc1JhZGl1c3x8dC5saW5lV2lkdGgvMisyOnZvaWQgMH0pfX1jb25zdCBraD17dHlwZToiQXJlYSIsaXNCdWlsdEluOiEwLGRlZmF1bHRPcHRpb25zOnt0b3BDb2xvcjoicmdiYSggNDYsIDIyMCwgMTM1LCAwLjQpIixib3R0b21Db2xvcjoicmdiYSggNDAsIDIyMSwgMTAwLCAwKSIsaW52ZXJ0RmlsbGVkQXJlYTohMSxyZWxhdGl2ZUdyYWRpZW50OiExLGxpbmVDb2xvcjoiIzMzRDc3OCIsbGluZVN0eWxlOjAsbGluZVdpZHRoOjMsbGluZVR5cGU6MCxsaW5lVmlzaWJsZTohMCxjcm9zc2hhaXJNYXJrZXJWaXNpYmxlOiEwLGNyb3NzaGFpck1hcmtlclJhZGl1czo0LGNyb3NzaGFpck1hcmtlckJvcmRlckNvbG9yOiIiLGNyb3NzaGFpck1hcmtlckJvcmRlcldpZHRoOjIsY3Jvc3NoYWlyTWFya2VyQmFja2dyb3VuZENvbG9yOiIiLGxhc3RQcmljZUFuaW1hdGlvbjowLHBvaW50TWFya2Vyc1Zpc2libGU6ITF9LG9iOih0LGkpPT5uZXcgQ2godCxpKX07Y2xhc3MgRWggZXh0ZW5kcyBSe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnF0PW51bGwsdGhpcy5LYj0wLHRoaXMuWmI9MH1odCh0KXt0aGlzLnF0PXR9ZXQoe2NvbnRleHQ6dCxob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzpzfSl7aWYobnVsbD09PXRoaXMucXR8fDA9PT10aGlzLnF0LlVuLmxlbmd0aHx8bnVsbD09PXRoaXMucXQubHQpcmV0dXJuO3RoaXMuS2I9dGhpcy5HYihpKSx0aGlzLktiPj0yJiZNYXRoLm1heCgxLE1hdGguZmxvb3IoaSkpJTIhPXRoaXMuS2IlMiYmdGhpcy5LYi0tLHRoaXMuWmI9dGhpcy5xdC5YYj9NYXRoLm1pbih0aGlzLktiLE1hdGguZmxvb3IoaSkpOnRoaXMuS2I7bGV0IGU9bnVsbDtjb25zdCBoPXRoaXMuWmI8PXRoaXMuS2ImJnRoaXMucXQuZmw+PU1hdGguZmxvb3IoMS41KmkpO2ZvcihsZXQgbj10aGlzLnF0Lmx0LmZyb207bjx0aGlzLnF0Lmx0LnRvOysrbil7Y29uc3Qgcj10aGlzLnF0LlVuW25dO2UhPT1yLnNoJiYodC5maWxsU3R5bGU9ci5zaCxlPXIuc2gpO2NvbnN0IG89TWF0aC5mbG9vciguNSp0aGlzLlpiKSxsPU1hdGgucm91bmQoci5fdCppKSxhPWwtbyx1PXRoaXMuWmIsYz1hK3UtMSxmPU1hdGgubWluKHIuUW8sci50XyksZD1NYXRoLm1heChyLlFvLHIudF8pLG09TWF0aC5yb3VuZChmKnMpLW8scD1NYXRoLnJvdW5kKGQqcykrbyxnPU1hdGgubWF4KHAtbSx0aGlzLlpiKTt0LmZpbGxSZWN0KGEsbSx1LGcpO2NvbnN0IHY9TWF0aC5jZWlsKDEuNSp0aGlzLktiKTtpZihoKXtpZih0aGlzLnF0LkpiKXtjb25zdCBpPWwtdgo7bGV0IGU9TWF0aC5tYXgobSxNYXRoLnJvdW5kKHIuSm8qcyktbyksaD1lK3UtMTtoPm0rZy0xJiYoaD1tK2ctMSxlPWgtdSsxKSx0LmZpbGxSZWN0KGksZSxhLWksaC1lKzEpfWNvbnN0IGk9bCt2O2xldCBlPU1hdGgubWF4KG0sTWF0aC5yb3VuZChyLmlfKnMpLW8pLGg9ZSt1LTE7aD5tK2ctMSYmKGg9bStnLTEsZT1oLXUrMSksdC5maWxsUmVjdChjKzEsZSxpLWMsaC1lKzEpfX19R2IodCl7Y29uc3QgaT1NYXRoLmZsb29yKHQpO3JldHVybiBNYXRoLm1heChpLE1hdGguZmxvb3IoZnVuY3Rpb24odCxpKXtyZXR1cm4gTWF0aC5mbG9vciguMyp0KmkpfShmKHRoaXMucXQpLmZsLHQpKSl9fWNsYXNzIE5oIGV4dGVuZHMgeGV7Y29uc3RydWN0b3IodCxpKXtzdXBlcih0LGksITEpfVBnKHQsaSl7cmV0dXJuIHdlKHRoaXMuYmcsdGhpcy5TZyx0LGksdGhpcy5sZS5FdCgpLmZsKCksdGhpcy5hZS5OKCkuaGl0VGVzdFRvbGVyYW5jZSwoKHQsaSk9PntpWzBdPXQuUW8saVsxXT10LnRffSkpfVZnKHQsaSxzKXtpLlRjKHRoaXMuYmcsUyh0aGlzLlNnKSksdC5Ybyh0aGlzLmJnLHMsUyh0aGlzLlNnKSl9UWIodCxpLHMpe3JldHVybnt3dDp0LGpyOmkuV3RbMF0scXI6aS5XdFsxXSxZcjppLld0WzJdLEtyOmkuV3RbM10sX3Q6TmFOLEpvOk5hTixRbzpOYU4sdF86TmFOLGlfOk5hTn19RGcoKXtjb25zdCB0PXRoaXMuYWUuU2EoKTt0aGlzLmJnPXRoaXMuYWUuSGEoKS5CaCgpLm1hcCgoaT0+dGhpcy54YihpLiRuLGksdCkpKX19Y2xhc3MgVGggZXh0ZW5kcyBOaHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5rZz1uZXcgRWh9eGIodCxpLHMpe3JldHVybnsuLi50aGlzLlFiKHQsaSxzKSwuLi5zLlNoKHQpfX1CZygpe2NvbnN0IHQ9dGhpcy5hZS5OKCk7dGhpcy5rZy5odCh7VW46dGhpcy5iZyxmbDp0aGlzLmxlLkV0KCkuZmwoKSxKYjp0Lm9wZW5WaXNpYmxlLFhiOnQudGhpbkJhcnMsbHQ6dGhpcy5TZ30pfX1jb25zdCBSaD17dHlwZToiQmFyIixpc0J1aWx0SW46ITAsZGVmYXVsdE9wdGlvbnM6e3VwQ29sb3I6IiMyNmE2OWEiLGRvd25Db2xvcjoiI2VmNTM1MCIsb3BlblZpc2libGU6ITAsdGhpbkJhcnM6ITB9LG9iOih0LGkpPT5uZXcgVGgodCxpKX07Y2xhc3MgUGggZXh0ZW5kcyBSe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnF0PW51bGwsdGhpcy5LYj0wfWh0KHQpe3RoaXMucXQ9dH1ldCh0KXtpZihudWxsPT09dGhpcy5xdHx8MD09PXRoaXMucXQuVW4ubGVuZ3RofHxudWxsPT09dGhpcy5xdC5sdClyZXR1cm47Y29uc3R7aG9yaXpvbnRhbFBpeGVsUmF0aW86aX09dDt0aGlzLktiPWZ1bmN0aW9uKHQsaSl7aWYodD49Mi41JiZ0PD00KXJldHVybiBNYXRoLmZsb29yKDMqaSk7Y29uc3Qgcz0xLS4yKk1hdGguYXRhbihNYXRoLm1heCg0LHQpLTQpLyguNSpNYXRoLlBJKSxlPU1hdGguZmxvb3IodCpzKmkpLGg9TWF0aC5mbG9vcih0KmkpLG49TWF0aC5taW4oZSxoKTtyZXR1cm4gTWF0aC5tYXgoTWF0aC5mbG9vcihpKSxuKX0odGhpcy5xdC5mbCxpKSx0aGlzLktiPj0yJiZNYXRoLmZsb29yKGkpJTIhPXRoaXMuS2IlMiYmdGhpcy5LYi0tO2NvbnN0IHM9dGhpcy5xdC5Vbjt0aGlzLnF0LnRTJiZ0aGlzLmlTKHQscyx0aGlzLnF0Lmx0KSx0aGlzLnF0LmdpJiZ0aGlzLlJtKHQscyx0aGlzLnF0Lmx0KTtjb25zdCBlPXRoaXMublMoaSk7KCF0aGlzLnF0LmdpfHx0aGlzLktiPjIqZSkmJnRoaXMuc1ModCxzLHRoaXMucXQubHQpfWlTKHQsaSxzKXtpZihudWxsPT09dGhpcy5xdClyZXR1cm47Y29uc3R7Y29udGV4dDplLGhvcml6b250YWxQaXhlbFJhdGlvOmgsdmVydGljYWxQaXhlbFJhdGlvOm59PXQ7bGV0IHI9IiIsbz1NYXRoLm1pbihNYXRoLmZsb29yKGgpLE1hdGguZmxvb3IodGhpcy5xdC5mbCpoKSk7bz1NYXRoLm1heChNYXRoLmZsb29yKGgpLE1hdGgubWluKG8sdGhpcy5LYikpO2NvbnN0IGw9TWF0aC5mbG9vciguNSpvKTtsZXQgYT1udWxsO2ZvcihsZXQgdD1zLmZyb207dDxzLnRvO3QrKyl7Y29uc3Qgcz1pW3RdO3MucmghPT1yJiYoZS5maWxsU3R5bGU9cy5yaCxyPXMucmgpO2NvbnN0IHU9TWF0aC5yb3VuZChNYXRoLm1pbihzLkpvLHMuaV8pKm4pLGM9TWF0aC5yb3VuZChNYXRoLm1heChzLkpvLHMuaV8pKm4pLGY9TWF0aC5yb3VuZChzLlFvKm4pLGQ9TWF0aC5yb3VuZChzLnRfKm4pO2xldCBtPU1hdGgucm91bmQoaCpzLl90KS1sO2NvbnN0IHA9bStvLTE7bnVsbCE9PWEmJihtPU1hdGgubWF4KGErMSxtKSxtPU1hdGgubWluKG0scCkpO2NvbnN0IGc9cC1tKzE7ZS5maWxsUmVjdChtLGYsZyx1LWYpLGUuZmlsbFJlY3QobSxjKzEsZyxkLWMpLGE9cH19blModCl7bGV0IGk9TWF0aC5mbG9vcigxKnQpO3RoaXMuS2I8PTIqaSYmKGk9TWF0aC5mbG9vciguNSoodGhpcy5LYi0xKSkpO2NvbnN0IHM9TWF0aC5tYXgoTWF0aC5mbG9vcih0KSxpKTtyZXR1cm4gdGhpcy5LYjw9MipzP01hdGgubWF4KE1hdGguZmxvb3IodCksTWF0aC5mbG9vcigxKnQpKTpzfVJtKHQsaSxzKXtpZihudWxsPT09dGhpcy5xdClyZXR1cm47Y29uc3R7Y29udGV4dDplLGhvcml6b250YWxQaXhlbFJhdGlvOmgsdmVydGljYWxQaXhlbFJhdGlvOm59PXQ7bGV0IHI9IiI7Y29uc3Qgbz10aGlzLm5TKGgpO2xldCBsPW51bGw7Zm9yKGxldCB0PXMuZnJvbTt0PHMudG87dCsrKXtjb25zdCBzPWlbdF07cy5laCE9PXImJihlLmZpbGxTdHlsZT1zLmVoLHI9cy5laCk7bGV0IGE9TWF0aC5yb3VuZChzLl90KmgpLU1hdGguZmxvb3IoLjUqdGhpcy5LYik7Y29uc3QgdT1hK3RoaXMuS2ItMSxjPU1hdGgucm91bmQoTWF0aC5taW4ocy5KbyxzLmlfKSpuKSxmPU1hdGgucm91bmQoTWF0aC5tYXgocy5KbyxzLmlfKSpuKTtpZihudWxsIT09bCYmKGE9TWF0aC5tYXgobCsxLGEpLGE9TWF0aC5taW4oYSx1KSksdGhpcy5xdC5mbCpoPjIqbylXKGUsYSxjLHUtYSsxLGYtYysxLG8pO2Vsc2V7Y29uc3QgdD11LWErMTtlLmZpbGxSZWN0KGEsYyx0LGYtYysxKX1sPXV9fXNTKHQsaSxzKXtpZihudWxsPT09dGhpcy5xdClyZXR1cm4KO2NvbnN0e2NvbnRleHQ6ZSxob3Jpem9udGFsUGl4ZWxSYXRpbzpoLHZlcnRpY2FsUGl4ZWxSYXRpbzpufT10O2xldCByPSIiO2NvbnN0IG89dGhpcy5uUyhoKTtmb3IobGV0IHQ9cy5mcm9tO3Q8cy50bzt0Kyspe2NvbnN0IHM9aVt0XTtsZXQgbD1NYXRoLnJvdW5kKE1hdGgubWluKHMuSm8scy5pXykqbiksYT1NYXRoLnJvdW5kKE1hdGgubWF4KHMuSm8scy5pXykqbiksdT1NYXRoLnJvdW5kKHMuX3QqaCktTWF0aC5mbG9vciguNSp0aGlzLktiKSxjPXUrdGhpcy5LYi0xO2lmKHMuc2ghPT1yKXtjb25zdCB0PXMuc2g7ZS5maWxsU3R5bGU9dCxyPXR9dGhpcy5xdC5naSYmKHUrPW8sbCs9byxjLT1vLGEtPW8pLGw+YXx8ZS5maWxsUmVjdCh1LGwsYy11KzEsYS1sKzEpfX19Y2xhc3MgemggZXh0ZW5kcyBOaHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5rZz1uZXcgUGh9eGIodCxpLHMpe3JldHVybnsuLi50aGlzLlFiKHQsaSxzKSwuLi5zLlNoKHQpfX1CZygpe2NvbnN0IHQ9dGhpcy5hZS5OKCk7dGhpcy5rZy5odCh7VW46dGhpcy5iZyxmbDp0aGlzLmxlLkV0KCkuZmwoKSx0Uzp0LndpY2tWaXNpYmxlLGdpOnQuYm9yZGVyVmlzaWJsZSxsdDp0aGlzLlNnfSl9fWNvbnN0IEloPXt0eXBlOiJDYW5kbGVzdGljayIsaXNCdWlsdEluOiEwLGRlZmF1bHRPcHRpb25zOnt1cENvbG9yOiIjMjZhNjlhIixkb3duQ29sb3I6IiNlZjUzNTAiLHdpY2tWaXNpYmxlOiEwLGJvcmRlclZpc2libGU6ITAsYm9yZGVyQ29sb3I6IiMzNzg2NTgiLGJvcmRlclVwQ29sb3I6IiMyNmE2OWEiLGJvcmRlckRvd25Db2xvcjoiI2VmNTM1MCIsd2lja0NvbG9yOiIjNzM3Mzc1Iix3aWNrVXBDb2xvcjoiIzI2YTY5YSIsd2lja0Rvd25Db2xvcjoiI2VmNTM1MCJ9LG9iOih0LGkpPT5uZXcgemgodCxpKX07Y2xhc3MgTGggZXh0ZW5kcyBSe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnF0PW51bGwsdGhpcy5lUz1bXX1odCh0KXt0aGlzLnF0PXQsdGhpcy5lUz1bXX1ldCh7Y29udGV4dDp0LGhvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOnN9KXtpZihudWxsPT09dGhpcy5xdHx8MD09PXRoaXMucXQub3QubGVuZ3RofHxudWxsPT09dGhpcy5xdC5sdClyZXR1cm47dGhpcy5lUy5sZW5ndGh8fHRoaXMuclMoaSk7Y29uc3QgZT1NYXRoLm1heCgxLE1hdGguZmxvb3IocykpLGg9TWF0aC5yb3VuZCh0aGlzLnF0LmhTKnMpLU1hdGguZmxvb3IoZS8yKSxuPWgrZTtmb3IobGV0IGk9dGhpcy5xdC5sdC5mcm9tO2k8dGhpcy5xdC5sdC50bztpKyspe2NvbnN0IHI9dGhpcy5xdC5vdFtpXSxvPXRoaXMuZVNbaS10aGlzLnF0Lmx0LmZyb21dLGw9TWF0aC5yb3VuZChyLnV0KnMpO2xldCBhLHU7dC5maWxsU3R5bGU9ci5zaCxsPD1oPyhhPWwsdT1uKTooYT1oLHU9bC1NYXRoLmZsb29yKGUvMikrZSksdC5maWxsUmVjdChvLk9hLGEsby5iaS1vLk9hKzEsdS1hKX19clModCl7aWYobnVsbD09PXRoaXMucXR8fDA9PT10aGlzLnF0Lm90Lmxlbmd0aHx8bnVsbD09PXRoaXMucXQubHQpcmV0dXJuIHZvaWQodGhpcy5lUz1bXSk7Y29uc3QgaT1NYXRoLmNlaWwodGhpcy5xdC5mbCp0KTw9MT8wOk1hdGgubWF4KDEsTWF0aC5mbG9vcih0KSkscz1NYXRoLnJvdW5kKHRoaXMucXQuZmwqdCktaTt0aGlzLmVTPW5ldyBBcnJheSh0aGlzLnF0Lmx0LnRvLXRoaXMucXQubHQuZnJvbSk7Zm9yKGxldCBpPXRoaXMucXQubHQuZnJvbTtpPHRoaXMucXQubHQudG87aSsrKXtjb25zdCBlPXRoaXMucXQub3RbaV0saD1NYXRoLnJvdW5kKGUuX3QqdCk7bGV0IG4scjtpZihzJTIpe2NvbnN0IHQ9KHMtMSkvMjtuPWgtdCxyPWgrdH1lbHNle2NvbnN0IHQ9cy8yO249aC10LHI9aCt0LTF9dGhpcy5lU1tpLXRoaXMucXQubHQuZnJvbV09e09hOm4sYmk6cixhUzpoLGNlOmUuX3QqdCx3dDplLnd0fX1mb3IobGV0IHQ9dGhpcy5xdC5sdC5mcm9tKzE7dDx0aGlzLnF0Lmx0LnRvO3QrKyl7Y29uc3Qgcz10aGlzLmVTW3QtdGhpcy5xdC5sdC5mcm9tXSxlPXRoaXMuZVNbdC10aGlzLnF0Lmx0LmZyb20tMV07cy53dD09PWUud3QrMSYmcy5PYS1lLmJpIT09aSsxJiYoZS5hUz5lLmNlP2UuYmk9cy5PYS1pLTE6cy5PYT1lLmJpK2krMSl9bGV0IGU9TWF0aC5jZWlsKHRoaXMucXQuZmwqdCk7Zm9yKGxldCB0PXRoaXMucXQubHQuZnJvbTt0PHRoaXMucXQubHQudG87dCsrKXtjb25zdCBpPXRoaXMuZVNbdC10aGlzLnF0Lmx0LmZyb21dO2kuYmk8aS5PYSYmKGkuYmk9aS5PYSk7Y29uc3Qgcz1pLmJpLWkuT2ErMTtlPU1hdGgubWluKHMsZSl9aWYoaT4wJiZlPDQpZm9yKGxldCB0PXRoaXMucXQubHQuZnJvbTt0PHRoaXMucXQubHQudG87dCsrKXtjb25zdCBpPXRoaXMuZVNbdC10aGlzLnF0Lmx0LmZyb21dO2kuYmktaS5PYSsxPmUmJihpLmFTPmkuY2U/aS5iaS09MTppLk9hKz0xKX19fWNsYXNzIEZoIGV4dGVuZHMgZGh7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMua2c9bmV3IExofVBnKHQsaSl7Y29uc3Qgcz10aGlzLmFlLkZ0KCkuTnQodGhpcy5hZS5OKCkuYmFzZSxmKHRoaXMuYWUuTHQoKSkuV3QpO3JldHVybiBudWxsPT09cz9udWxsOndlKHRoaXMuYmcsdGhpcy5TZyx0LGksdGhpcy5sZS5FdCgpLmZsKCksdGhpcy5hZS5OKCkuaGl0VGVzdFRvbGVyYW5jZSwoKHQsaSk9PntpWzBdPXQudXQsaVsxXT1zfSkpfXhiKHQsaSxzKXtyZXR1cm57Li4udGhpcy5TYih0LGkpLC4uLnMuU2godCl9fUJnKCl7Y29uc3QgdD17b3Q6dGhpcy5iZyxmbDp0aGlzLmxlLkV0KCkuZmwoKSxsdDp0aGlzLlNnLGhTOnRoaXMuYWUuRnQoKS5OdCh0aGlzLmFlLk4oKS5iYXNlLGYodGhpcy5hZS5MdCgpKS5XdCl9O3RoaXMua2cuaHQodCl9fWNvbnN0IHFoPXt0eXBlOiJIaXN0b2dyYW0iLGlzQnVpbHRJbjohMCxkZWZhdWx0T3B0aW9uczp7Y29sb3I6IiMyNmE2OWEiLGJhc2U6MH0sb2I6KHQsaSk9Pm5ldyBGaCh0LGkpfTtjbGFzcyBXaHtjb25zdHJ1Y3Rvcih0LGkpe3RoaXMueXQ9dCx0aGlzLmxTPWksdGhpcy5vUygpfWRldGFjaCgpe3RoaXMueXQuZGV0YWNoUHJpbWl0aXZlKHRoaXMubFMpfWdldFBhbmUoKXsKcmV0dXJuIHRoaXMueXR9YXBwbHlPcHRpb25zKHQpe3RoaXMubFMudnI/Lih0KX1vUygpe3RoaXMueXQuYXR0YWNoUHJpbWl0aXZlKHRoaXMubFMpfX1jb25zdCBRaD17dmlzaWJsZTohMCxob3J6QWxpZ246ImNlbnRlciIsdmVydEFsaWduOiJjZW50ZXIiLGxpbmVzOltdfSxEaD17Y29sb3I6InJnYmEoMCwgMCwgMCwgMC41KSIsZm9udFNpemU6NDgsZm9udEZhbWlseTp4LGZvbnRTdHlsZToiIix0ZXh0OiIifTtjbGFzcyBPaHtjb25zdHJ1Y3Rvcih0KXt0aGlzLl9TPW5ldyBNYXAsdGhpcy5xdD10fWRyYXcodCl7dC51c2VNZWRpYUNvb3JkaW5hdGVTcGFjZSgodD0+e2lmKCF0aGlzLnF0LnZpc2libGUpcmV0dXJuO2NvbnN0e2NvbnRleHQ6aSxtZWRpYVNpemU6c309dDtsZXQgZT0wO2Zvcihjb25zdCB0IG9mIHRoaXMucXQubGluZXMpe2lmKDA9PT10LnRleHQubGVuZ3RoKWNvbnRpbnVlO2kuZm9udD10LlA7Y29uc3QgaD10aGlzLnVTKGksdC50ZXh0KTtoPnMud2lkdGg/dC5GYz1zLndpZHRoL2g6dC5GYz0xLGUrPXQubGluZUhlaWdodCp0LkZjfWxldCBoPTA7c3dpdGNoKHRoaXMucXQudmVydEFsaWduKXtjYXNlInRvcCI6aD0wO2JyZWFrO2Nhc2UiY2VudGVyIjpoPU1hdGgubWF4KChzLmhlaWdodC1lKS8yLDApO2JyZWFrO2Nhc2UiYm90dG9tIjpoPU1hdGgubWF4KHMuaGVpZ2h0LWUsMCl9Zm9yKGNvbnN0IHQgb2YgdGhpcy5xdC5saW5lcyl7aS5zYXZlKCksaS5maWxsU3R5bGU9dC5jb2xvcjtsZXQgZT0wO3N3aXRjaCh0aGlzLnF0LmhvcnpBbGlnbil7Y2FzZSJsZWZ0IjppLnRleHRBbGlnbj0ibGVmdCIsZT10LmxpbmVIZWlnaHQvMjticmVhaztjYXNlImNlbnRlciI6aS50ZXh0QWxpZ249ImNlbnRlciIsZT1zLndpZHRoLzI7YnJlYWs7Y2FzZSJyaWdodCI6aS50ZXh0QWxpZ249InJpZ2h0IixlPXMud2lkdGgtMS10LmxpbmVIZWlnaHQvMn1pLnRyYW5zbGF0ZShlLGgpLGkudGV4dEJhc2VsaW5lPSJ0b3AiLGkuZm9udD10LlAsaS5zY2FsZSh0LkZjLHQuRmMpLGkuZmlsbFRleHQodC50ZXh0LDAsdC5jUyksaS5yZXN0b3JlKCksaCs9dC5saW5lSGVpZ2h0KnQuRmN9fSkpfXVTKHQsaSl7Y29uc3Qgcz10aGlzLmRTKHQuZm9udCk7bGV0IGU9cy5nZXQoaSk7cmV0dXJuIHZvaWQgMD09PWUmJihlPXQubWVhc3VyZVRleHQoaSkud2lkdGgscy5zZXQoaSxlKSksZX1kUyh0KXtsZXQgaT10aGlzLl9TLmdldCh0KTtyZXR1cm4gdm9pZCAwPT09aSYmKGk9bmV3IE1hcCx0aGlzLl9TLnNldCh0LGkpKSxpfX1jbGFzcyBLaHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnluPSRoKHQpfWt0KHQpe3RoaXMueW49JGgodCl9cmVuZGVyZXIoKXtyZXR1cm4gbmV3IE9oKHRoaXMueW4pfX1mdW5jdGlvbiBWaCh0KXtyZXR1cm57Li4udCxQOl8odC5mb250U2l6ZSx0LmZvbnRGYW1pbHksdC5mb250U3R5bGUpLGxpbmVIZWlnaHQ6dC5saW5lSGVpZ2h0fHwxLjIqdC5mb250U2l6ZSxjUzowLEZjOjB9fWZ1bmN0aW9uICRoKHQpe3JldHVybnsuLi50LGxpbmVzOnQubGluZXMubWFwKFZoKX19ZnVuY3Rpb24gQmgodCl7cmV0dXJuey4uLkRoLC4uLnR9fWZ1bmN0aW9uIEFoKHQpe3JldHVybnsuLi5RaCwuLi50LGxpbmVzOnQubGluZXM/Lm1hcChCaCk/P1tdfX1jbGFzcyBaaHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnluPUFoKHQpLHRoaXMuZlM9W25ldyBLaCh0aGlzLnluKV19dXBkYXRlQWxsVmlld3MoKXt0aGlzLmZTLmZvckVhY2goKHQ9PnQua3QodGhpcy55bikpKX1wYW5lVmlld3MoKXtyZXR1cm4gdGhpcy5mU31hdHRhY2hlZCh7cmVxdWVzdFVwZGF0ZTp0fSl7dGhpcy5wUz10fWRldGFjaGVkKCl7dGhpcy5wUz12b2lkIDB9dnIodCl7dGhpcy55bj1BaCh7Li4udGhpcy55biwuLi50fSksdGhpcy5wUyYmdGhpcy5wUygpfX1mdW5jdGlvbiBIaCh0LGkpe3JldHVybiBuZXcgV2godCxuZXcgWmgoaSkpfWNvbnN0IEdoPXsuLi5oLGNvbG9yOiIjMjE5NmYzIn19LDY3MTk0OSh0LGkscyl7cy5kKGkse2RlZmF1bHQ6KCk9PnV9KTt2YXIgZT1zKDE2ODUzMyksaD1zKDYxODU3KSxuPXMoNTc0NjY5KSxyPXMoMzkyOTA4KSxvPXMoNjkzOTQxKSxsPXMoMzA5MDgwKSxhPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7Y29uc3QgdT0oMCxuLmRlZmF1bHQpKChmdW5jdGlvbih0LGkpe2lmKCgwLG8uZGVmYXVsdCkoaSl8fCgwLHIuZGVmYXVsdCkoaSkpKDAsaC5kZWZhdWx0KShpLCgwLGwuZGVmYXVsdCkoaSksdCk7ZWxzZSBmb3IodmFyIHMgaW4gaSlhLmNhbGwoaSxzKSYmKDAsZS5kZWZhdWx0KSh0LHMsaVtzXSl9KSl9fV0pOw=="}},"time_used":1,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.46024.97176aa48fe9d9a0d127.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.005Z","timestamp":1785120634005,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.46024.97176aa48fe9d9a0d127.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632876-1c38c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:18 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:53:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 3ff2678e4ae42c16b8a9ef289d2b5006\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":115596,"size_decoded":32391,"mime_type":"application/javascript; charset=utf-8","magic":"Unicode text, UTF-8 text, with very long lines (3072)","md5":"07d126f5f997c2ed316e3742d5b45af1","sha1":"826dfb648f32acec5e5699cc15a08026e137e6a3","sha256":"fb0cd50a605d7edce14affef79a6dfae9404ba2f7d7818008345363e9e26a988","sha512":"c7114acc89392a1469487feb62b74be0cd3a585a3b5d7a4bb38f30575f557f59860a020911d77ff07f283945810bbfe3bd8586e314442a21ea0c2e1e3625bfc6","ssdeep":"3072:WFM91hHo+AyVKC+wNBsx4A5b0jp4mMGOlyIhVh4dt//9:WFM91hHo+Ay/NNBM4A5bsp4mMGOlVp4d","tlshash":"69b3fe03c901d0ea9fb2d6063ba5dcc878f0774541f0e6c27b998f29c5a3da6593a778","first_seen":"2026-07-25T03:24:57.378453Z","last_seen":"2026-07-27T05:29:38.731107Z","times_seen":96,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxNzg1OSwyMDg2NiwyNDkyOSw0MDI0MCw0NjAyNCw1MjMyNCw1NzE4NCw1ODY2Nyw5NDM4OF0sezE2MDU2MihlKXtlLmV4cG9ydHM9WyJDTUYiXX0sNjE3MzQwKGUpe2UuZXhwb3J0cz1bIkNvbHVtbnMiXX0sMTE4NDkxKGUpe2UuZXhwb3J0cz1bIkNhbmRsZXMiXX0sNzk2MDkzKGUpe2UuZXhwb3J0cz1bIkFyZWEiXX0sOTQxNjI5KGUpe2UuZXhwb3J0cz1bIkJhcnMiXX0sNTI1MzMxKGUpe2UuZXhwb3J0cz1bIkJhc2VsaW5lIl19LDQxMzQzKGUpe2UuZXhwb3J0cz1bIkthZ2kiXX0sOTY3ODQxKGUpe2UuZXhwb3J0cz1bIkhMQyBhcmVhIl19LDY4MzAwKGUpe2UuZXhwb3J0cz1bIkhMQyBiYXJzIl19LDMzMTgyNChlKXtlLmV4cG9ydHM9WyJIb2xsb3cgY2FuZGxlcyJdfSw4MzU1NDMoZSl7ZS5leHBvcnRzPVsiSGVpa2luIEFzaGkiXX0sOTUyODEwKGUpe2UuZXhwb3J0cz1bIkhpZ2gtbG93Il19LDIxMDQ5OShlKXtlLmV4cG9ydHM9WyJMaW5lIl19LDE4NjE0NyhlKXtlLmV4cG9ydHM9WyJMaW5lIHdpdGggbWFya2VycyJdfSwzMDc0MzYoZSl7ZS5leHBvcnRzPVsiTGluZSBicmVhayJdfSw2ODc5NTEoZSl7ZS5leHBvcnRzPVsiU2Vzc2lvbiB2b2x1bWUgcHJvZmlsZSJdfSw5MTYxNDgoZSl7ZS5leHBvcnRzPVsiU3RlcCBsaW5lIl19LDg2NzAyMShlKXtlLmV4cG9ydHM9WyJQb2ludCAmIGZpZ3VyZSJdfSwxODgzNTIoZSl7ZS5leHBvcnRzPVsiUmFuZ2UiXX0sNDYxNzM4KGUpe2UuZXhwb3J0cz1bIlJlbmtvIl19LDExNzk4NChlKXtlLmV4cG9ydHM9WyJUaW1lIHByaWNlIG9wcG9ydHVuaXR5Il19LDg5MjM3NShlKXtlLmV4cG9ydHM9WyJWb2x1bWUgY2FuZGxlcyJdfSwyMDEwNzMoZSl7ZS5leHBvcnRzPVsiVm9sdW1lIGZvb3RwcmludCJdfSw2NDE1OTgoZSl7ZS5leHBvcnRzPVsiUHJpY2VzIl19LDc1NDYoZSl7ZS5leHBvcnRzPVsiWWllbGQiXX0sNzUxMDMzKGUpe2UuZXhwb3J0cz1bIllpZWxkcyJdfSw5NDk3MDQoZSl7ZS5leHBvcnRzPVsiTUZJIl19LDI3NDg3NChlKXtlLmV4cG9ydHM9WyItREkiXX0sODE5MDQyKGUpe2UuZXhwb3J0cz1bIitESSJdfSwzNjIwMDQoZSl7ZS5leHBvcnRzPVsiQWxsIGl0ZW1zIl19LDMzMzM1KGUpe2UuZXhwb3J0cz1bIk5vdGhpbmcgc2VsZWN0ZWQiXX0sNzU0OTI1KGUpe2UuZXhwb3J0cz1bIlBhdHRlcm4iXX0sNjgzNjI3KGUpe2UuZXhwb3J0cz1bIlNvbWV0aGluZyB3ZW50IHdyb25nIl19LDg1OTk5NChlKXtlLmV4cG9ydHM9WyJDIl19LDg5MjM2MyhlKXtlLmV4cG9ydHM9WyJEIl19LDM5NDUwMShlKXtlLmV4cG9ydHM9WyJEIl19LDU3MDkzOShlKXtlLmV4cG9ydHM9WyJFIl19LDM5NDkyMShlKXtlLmV4cG9ydHM9WyJGIl19LDg2NjQ0KGUpe2UuZXhwb3J0cz1bIlIiXX0sNzU2NDU3KGUpe2UuZXhwb3J0cz1bIlIiXX0sMjU3MzI2KGUpe2UuZXhwb3J0cz1bIlMiXX0sMTg1NDk5KGUpe2UuZXhwb3J0cz1bIkFsbCBQYWlycyJdfSwyMTc3ODgoZSl7ZS5leHBvcnRzPVsiTiJdfSw0MTM1MzcoZSl7ZS5leHBvcnRzPVsiQiJdfSw5OTE2OTcoZSl7ZS5leHBvcnRzPVsiUyJdfSwxOTE0MzIoZSl7ZS5leHBvcnRzPVsiRCJdfSw4ODkxMChlKXtlLmV4cG9ydHM9WyJNIl19LDMyMzU3MChlKXtlLmV4cG9ydHM9WyJXIl19LDI0MDczKGUpe2UuZXhwb3J0cz1bImgiXX0sNjE4NChlKXtlLmV4cG9ydHM9WyJtIl19LDIwNTkoZSl7ZS5leHBvcnRzPVsiTWFyZ2lucyJdfSw1NjU5NjIoZSl7ZS5leHBvcnRzPVsiQnV5Il19LDQ1OTQ2MyhlKXtlLmV4cG9ydHM9WyJOZXV0cmFsIl19LDI1NzY0MyhlKXtlLmV4cG9ydHM9WyJTZWxsIl19LDQ4OTg2OShlKXtlLmV4cG9ydHM9WyJTdHJvbmcgQnV5Il19LDY5MTU0MyhlKXtlLmV4cG9ydHM9WyJTdHJvbmcgU2VsbCJdfSw3MzQ3NTAoZSl7ZS5leHBvcnRzPVsiTWF5Il19LDI0ODc4NShlKXtlLmV4cG9ydHM9WyJCdWxsIEJlYXIgUG93ZXIiXX0sOTMwMDk4KGUpe2UuZXhwb3J0cz1bIkRvamkiXX0sNzYzMjI2KGUpe2UuZXhwb3J0cz1bIlNwaW5uaW5nIFRvcCBCbGFjayJdfSwzMzM5MTQoZSl7ZS5leHBvcnRzPVsiU3Bpbm5pbmcgVG9wIFdoaXRlIl19LDQ3NzQ3NShlKXtlLmV4cG9ydHM9WyJUZWNobmljYWxzIl19LDU5NjE2OChlKXtlLmV4cG9ydHM9WyJWb2wiXX0sODY4NDE5KGUpe2UuZXhwb3J0cz1bIlZvbHVtZSBXZWlnaHRlZCBBdmVyYWdlIFByaWNlIl19LDU3MDYyKGUpe2UuZXhwb3J0cz1bIk4vQSJdfSw1MzkyMzgoZSl7ZS5leHBvcnRzPVsiJVIiXX0sMTYxNTgzKGUpe2UuZXhwb3J0cz1bIjEtTW9udGggSGlnaCJdfSwyMDA5MjAoZSl7ZS5leHBvcnRzPVsiMS1Nb250aCBMb3ciXX0sMTgxMjI4KGUpe2UuZXhwb3J0cz1bIjEtWSBCZXRhIl19LDE4NjcyNihlKXtlLmV4cG9ydHM9WyIxLVllYXIgQmV0YSJdfSwxMTE5NzYoZSl7ZS5leHBvcnRzPVsiMSB5ZWFyIl19LDgxODAwMihlKXtlLmV4cG9ydHM9WyIxIHllYXIgcHJpY2UgdGFyZ2V0Il19LDE3MzI0MChlKXtlLmV4cG9ydHM9WyIxNW0iXX0sODMyNzMzKGUpe2UuZXhwb3J0cz1bIjFNIl19LDQ5MjEzNShlKXtlLmV4cG9ydHM9WyIxVyJdfSw0MTU3NTEoZSl7ZS5leHBvcnRzPVsiMW0iXX0sMjg5NDY0KGUpe2UuZXhwb3J0cz1bIjFoIl19LDk5MDc3KGUpe2UuZXhwb3J0cz1bIjMtTW9udGggSGlnaCJdfSw4ODY5MTgoZSl7ZS5leHBvcnRzPVsiMy1Nb250aCBMb3ciXX0sNzc5MDgzKGUpe2UuZXhwb3J0cz1bIjMtTW9udGggUGVyZiJdfSw2NjQyNDIoZSl7ZS5leHBvcnRzPVsiMy1Nb250aCBQZXJmb3JtYW5jZSJdfSwzMjgwMzAoZSl7ZS5leHBvcnRzPVsiMyBtb250aHMiXX0sNTUyNzQzKGUpe2UuZXhwb3J0cz1bIjRoIl19LDE5MzI1OShlKXtlLmV4cG9ydHM9WyI1MiBXZWVrIEhpZ2giXX0sNjY5MzA4KGUpe2UuZXhwb3J0cz1bIjUyIFdlZWsgTG93Il19LDQ5MDU3NyhlKXtlLmV4cG9ydHM9WyI1WSBQZXJmIl19LDkzNTgxOShlKXtlLmV4cG9ydHM9WyI1WSBQZXJmb3JtYW5jZSJdfSw4MDE0ODAoZSl7ZS5leHBvcnRzPVsiNW0iXX0sCjk3ODc2MChlKXtlLmV4cG9ydHM9WyI2LU1vbnRoIEhpZ2giXX0sNjAzNTA5KGUpe2UuZXhwb3J0cz1bIjYtTW9udGggTG93Il19LDc2ODc4NihlKXtlLmV4cG9ydHM9WyI2LU1vbnRoIFBlcmYiXX0sOTYwNjYzKGUpe2UuZXhwb3J0cz1bIjYtTW9udGggUGVyZm9ybWFuY2UiXX0sNzUzMTYoZSl7ZS5leHBvcnRzPVsiQ0NJMjAiXX0sNzk2ODkxKGUpe2UuZXhwb3J0cz1bIkNFRiJdfSw0NDM2MjcoZSl7ZS5leHBvcnRzPVsiQ291bnRyeSJdfSwyMjU3MDYoZSl7ZS5leHBvcnRzPVsiQ291cG9uIl19LDgyNTE3OChlKXtlLmV4cG9ydHM9WyJDb3VyaWVyIFNlcnZpY2VzIl19LDY4Mzc0MChlKXtlLmV4cG9ydHM9WyJDb2FsIl19LDMxMDQoZSl7ZS5leHBvcnRzPVsiQ29hbCBNaW5pbmcgU3VwcG9ydCJdfSw4MzU4OTQoZSl7ZS5leHBvcnRzPVsiQ29hbCBXaG9sZXNhbGUiXX0sMzI1NzMyKGUpe2UuZXhwb3J0cz1bIkNvY29zIChLZWVsaW5nKSBJc2xhbmRzIl19LDMyNzA4NChlKXtlLmV4cG9ydHM9WyJDb2ZmZWUgJiBUZWEiXX0sMzU1MDIoZSl7ZS5leHBvcnRzPVsiQ29mZmVlLCBUZWEgJiBDb2NvYSBGYXJtaW5nIl19LDU0NTgoZSl7ZS5leHBvcnRzPVsiQ29pbiJdfSw2MjM4MDkoZSl7ZS5leHBvcnRzPVsiQ29rZSBDb2FsIE1pbmluZyJdfSwxMzU4NjcoZSl7ZS5leHBvcnRzPVsiQ29sb21iaWEiXX0sNDkyNjc5KGUpe2UuZXhwb3J0cz1bIkNvbG9yaW5nIEFnZW50Il19LDcxODY3MyhlKXtlLmV4cG9ydHM9WyJDb2xsZWN0aXZlIEludmVzdG1lbnQgRnVuZCBPcGVyYXRvcnMiXX0sMzMyNjA5KGUpe2UuZXhwb3J0cz1bIkNvbHVtbiBzZXRzIl19LDU3OTA2NShlKXtlLmV4cG9ydHM9WyJDb2x1bW4gc2V0dXAiXX0sNDg0MTM2KGUpe2UuZXhwb3J0cz1bIkNvbW9yb3MiXX0sNjE3NDI3KGUpe2UuZXhwb3J0cz1bIkNvbW1vZGl0eSBDaGFubmVsIEluZGV4ICgyMCkiXX0sMTUyOTEzKGUpe2UuZXhwb3J0cz1bIkNvbW1vZGl0eSBDaGVtaWNhbHMiXX0sMTU4MDg1KGUpe2UuZXhwb3J0cz1bIkNvbW1vZGl0eSBDaGVtaWNhbHMgV2hvbGVzYWxlIl19LDk4MTI4MyhlKXtlLmV4cG9ydHM9WyJDb21tb24gU3RvY2siXX0sNDE1NjkoZSl7ZS5leHBvcnRzPVsiQ29tbWVyY2lhbCBBaXJjcmFmdCBNYW51ZmFjdHVyaW5nIl19LDM2NzU4MyhlKXtlLmV4cG9ydHM9WyJDb21tZXJjaWFsIEJhbmtzIl19LDg4OTIzOChlKXtlLmV4cG9ydHM9WyJDb21tZXJjaWFsIEJ1aWxkaW5ncyJdfSw4MDI1MTkoZSl7ZS5leHBvcnRzPVsiQ29tbWVyY2lhbCBEb2N1bWVudCBNYW5hZ2VtZW50Il19LDY5MjUxNihlKXtlLmV4cG9ydHM9WyJDb21tZXJjaWFsIEVxdWlwbWVudCBSZW50YWwiXX0sNTc5ODM1KGUpe2UuZXhwb3J0cz1bIkNvbW1lcmNpYWwgRmlzaGluZyJdfSw1MzUwNyhlKXtlLmV4cG9ydHM9WyJDb21tZXJjaWFsIEZvb2QgU2VydmljZXMiXX0sNjQ5NTEwKGUpe2UuZXhwb3J0cz1bIkNvbW1lcmNpYWwgTGVhc2luZyJdfSw0NTg5NzkoZSl7ZS5leHBvcnRzPVsiQ29tbWVyY2lhbCBMb2FucyJdfSw1MjUxNjMoZSl7ZS5leHBvcnRzPVsiQ29tbWVyY2lhbCBOdXJzZXJpZXMiXX0sOTU3OTM1KGUpe2UuZXhwb3J0cz1bIkNvbW1lcmNpYWwgUHJpbnRpbmcvRm9ybXMiXX0sNzY2NDAyKGUpe2UuZXhwb3J0cz1bIkNvbW1lcmNpYWwgUHJpbnRpbmcgU2VydmljZXMiXX0sNTQ3MjMyKGUpe2UuZXhwb3J0cz1bIkNvbW1lcmNpYWwgUkVJVHMiXX0sNDM3NzAxKGUpe2UuZXhwb3J0cz1bIkNvbW1lcmNpYWwgU2VydmljZXMiXX0sNTA1MjA5KGUpe2UuZXhwb3J0cz1bIkNvbW11dGVyIEZlcnJ5Il19LDM1NjY2MShlKXtlLmV4cG9ydHM9WyJDb21tdXRpbmcgU2VydmljZXMiXX0sNjg3NTIoZSl7ZS5leHBvcnRzPVsiQ29tbXVuaWNhdGlvbiAmIFNhdGVsbGl0ZSBFcXVpcG1lbnQiXX0sODU4MTgoZSl7ZS5leHBvcnRzPVsiQ29tbXVuaWNhdGlvbnMiXX0sODg1Njg4KGUpe2UuZXhwb3J0cz1bIkNvbW11bmljYXRpb25zICYgTmV0d29ya2luZyJdfSwyMjUwMjgoZSl7ZS5leHBvcnRzPVsiQ29tcHV0ZXIgJiBFbGVjdHJvbmljcyBSZXRhaWxlcnMiXX0sNjE3MjYzKGUpe2UuZXhwb3J0cz1bIkNvbXB1dGVyIENvbW11bmljYXRpb25zIl19LDY2NTQyMihlKXtlLmV4cG9ydHM9WyJDb21wdXRlciBIYXJkd2FyZSJdfSw0MTI2NjUoZSl7ZS5leHBvcnRzPVsiQ29tcHV0ZXIgSGFyZHdhcmUgJiBTb2Z0d2FyZSBSZXRhaWxlcnMiXX0sMjgyMjE3KGUpe2UuZXhwb3J0cz1bIkNvbXB1dGVyIEhhcmR3YXJlIENvbXBvbmVudCBBc3NlbWJseSJdfSwzOTQ5NChlKXtlLmV4cG9ydHM9WyJDb21wdXRlciBQZXJpcGhlcmFscyJdfSw3MjU4MzAoZSl7ZS5leHBvcnRzPVsiQ29tcHV0ZXIgUHJvY2Vzc2luZyBIYXJkd2FyZSJdfSw1NzA3NChlKXtlLmV4cG9ydHM9WyJDb21wdXRlciBQcm9ncmFtbWluZyJdfSw4OTY0NShlKXtlLmV4cG9ydHM9WyJDb21wdXRlciBUcmFpbmluZyJdfSw5NjQ4NTgoZSl7ZS5leHBvcnRzPVsiQ29uZ28iXX0sMjcxNTU4KGUpe2UuZXhwb3J0cz1bIkNvbmdvICh0aGUgRGVtb2NyYXRpYyBSZXB1YmxpYyBvZiB0aGUpIl19LDcyMTMzMyhlKXtlLmV4cG9ydHM9WyJDb25nbG9tZXJhdGVzIl19LDEzMDgzMyhlKXtlLmV4cG9ydHM9WyJDb25mZXJlbmNpbmcgVG9vbHMgJiBTeXN0ZW1zIl19LDE5NDE5NChlKXtlLmV4cG9ydHM9WyJDb25uZWN0aW5nIl19LDgzNTk0NyhlKXtlLmV4cG9ydHM9WyJDb25zdHJ1Y3Rpb24gJiBFbmdpbmVlcmluZyJdfSw2NjI4MTQoZSl7ZS5leHBvcnRzPVsiQ29uc3RydWN0aW9uIE1hY2hpbmVyeSJdfSwxNzg1OTQoZSl7ZS5leHBvcnRzPVsiQ29uc3RydWN0aW9uIE1hdGVyaWFsIFByb2Nlc3NpbmciXX0sOTk2NyhlKXtlLmV4cG9ydHM9WyJDb25zdHJ1Y3Rpb24gTWF0ZXJpYWwgV2hvbGVzYWxlIl19LDUwMTQ4MihlKXtlLmV4cG9ydHM9WyJDb25zdHJ1Y3Rpb24gTWF0ZXJpYWxzIl19LDI3NzQ1NChlKXtlLmV4cG9ydHM9WyJDb25zdHJ1Y3Rpb24gU3VwcGxpZXMiXX0sODI0MjczKGUpe2UuZXhwb3J0cz1bIkNvbnN0cnVjdGlvbiBTdXBwbGllcyAmIEZpeHR1cmVzIl19LDEyNjgzOShlKXsKZS5leHBvcnRzPVsiQ29uc3RydWN0aW9uIFN1cHBsaWVzICYgRml4dHVyZXMgV2hvbGVzYWxlIl19LDM5NzkwOChlKXtlLmV4cG9ydHM9WyJDb25zdW1lciBDcmVkaXQgQ2FyZHMgU2VydmljZXMiXX0sOTU5MjUyKGUpe2UuZXhwb3J0cz1bIkNvbnN1bWVyIEN5Y2xpY2FsIl19LDU0NTM5NShlKXtlLmV4cG9ydHM9WyJDb25zdW1lciBDeWNsaWNhbHMiXX0sNzkwNzE2KGUpe2UuZXhwb3J0cz1bIkNvbnN1bWVyIEdvb2RzIFJlbnRhbCJdfSw3MzE5ODMoZSl7ZS5leHBvcnRzPVsiQ29uc3VtZXIgRG9jdW1lbnQgTWFuYWdlbWVudCJdfSw3NTQ4NDMoZSl7ZS5leHBvcnRzPVsiQ29uc3VtZXIgRHVyYWJsZXMiXX0sNTU1MDg4KGUpe2UuZXhwb3J0cz1bIkNvbnN1bWVyIEVsZWN0cm9uaWNzIFJldGFpbGVycyJdfSwyMjg0KGUpe2UuZXhwb3J0cz1bIkNvbnN1bWVyIEVsZWN0cm9uaWNzL0FwcGxpYW5jZXMiXX0sOTI0MzkzKGUpe2UuZXhwb3J0cz1bIkNvbnN1bWVyIEVsZWN0cm9uaWMgV2hvbGVzYWxlIl19LDM5NDY2NihlKXtlLmV4cG9ydHM9WyJDb25zdW1lciBMZWFzaW5nIl19LDMxOTM5MyhlKXtlLmV4cG9ydHM9WyJDb25zdW1lciBMZW5kaW5nIl19LDgzMTg4MihlKXtlLmV4cG9ydHM9WyJDb25zdW1lciBOb24tQ3ljbGljYWxzIl19LDU1NjQ3NShlKXtlLmV4cG9ydHM9WyJDb25zdW1lciBOb24tRHVyYWJsZXMiXX0sMTUyODA4KGUpe2UuZXhwb3J0cz1bIkNvbnN1bWVyIFNlcnZpY2VzIl19LDg0NzM5OChlKXtlLmV4cG9ydHM9WyJDb25zdW1lciBTdW5kcmllcyJdfSwxNjkyOTEoZSl7ZS5leHBvcnRzPVsiQ29uc3VtZXIgUHVibGlzaGluZyJdfSwzMjI1MjkoZSl7ZS5leHBvcnRzPVsiQ29uc3VtZXIgUmVwYWlyIFNlcnZpY2VzIl19LDI2NDkoZSl7ZS5leHBvcnRzPVsiQ29uc3VtZXIvTm9uLUN5Y2xpY2FsIl19LDM2OTQzNihlKXtlLmV4cG9ydHM9WyJDb250YWluZXIgJiBQYWNrYWdpbmcgTWF0ZXJpYWwgV2hvbGVzYWxlIl19LDQ4NTM0OShlKXtlLmV4cG9ydHM9WyJDb250YWluZXJzL1BhY2thZ2luZyJdfSw2OTc5MzQoZSl7ZS5leHBvcnRzPVsiQ29udGVudCAmIFNpdGUgTWFuYWdlbWVudCBTZXJ2aWNlcyJdfSwyOTY1MjUoZSl7ZS5leHBvcnRzPVsiQ29udHJhY3QgRHJpbGxpbmciXX0sNzIzMjgyKGUpe2UuZXhwb3J0cz1bIkNvb2tpZSwgQ3JhY2tlciAmIFBhc3RhIE1hbnVmYWN0dXJpbmciXX0sNzA4ODU5KGUpe2UuZXhwb3J0cz1bIkNvb2sgSXNsYW5kcyJdfSwyMjI3NTkoZSl7ZS5leHBvcnRzPVsiQ29wcGVyIE9yZSAgTWluaW5nIl19LDIyNDQwNihlKXtlLmV4cG9ydHM9WyJDb3B5cmlnaHQgTWFuYWdlbWVudCJdfSwyNzIyMzkoZSl7ZS5leHBvcnRzPVsiQ29ycG9yYXRlIEFjY291bnRpbmcgU2VydmljZXMiXX0sMzUwNzQzKGUpe2UuZXhwb3J0cz1bIkNvcnBvcmF0ZSBGaW5hbmNpYWwgU2VydmljZXMiXX0sNzQzNzc4KGUpe2UuZXhwb3J0cz1bIkNvc21ldGljcyAmIFBlcmZ1bWVzIl19LDI2ODg0NChlKXtlLmV4cG9ydHM9WyJDb3N0YSBSaWNhIl19LDkxNTcwNShlKXtlLmV4cG9ydHM9WyJDYXRhbG9nL1NwZWNpYWx0eSBEaXN0cmlidXRpb24iXX0sNjQxMDI2KGUpe2UuZXhwb3J0cz1bIkNheW1hbiBJc2xhbmRzIl19LDkxMjgyNihlKXtlLmV4cG9ydHM9WyJDYWJsZSBTZXJ2aWNlIFByb3ZpZGVycyJdfSwzMTI4ODcoZSl7ZS5leHBvcnRzPVsiQ2FibGUvU2F0ZWxsaXRlIFRWIl19LDYwMTA5NyhlKXtlLmV4cG9ydHM9WyJDYWJvIFZlcmRlIl19LDMyOTgzMChlKXtlLmV4cG9ydHM9WyJDYWZlcyJdfSw5NjQ4MzQoZSl7ZS5leHBvcnRzPVsiQ2FsbCBDZW50ZXIgU2VydmljZXMiXX0sNTU1NDg5KGUpe2UuZXhwb3J0cz1bIkNhbWJvZGlhIl19LDk3NzAyOChlKXtlLmV4cG9ydHM9WyJDYW1lcm9vbiJdfSwxNTE4OShlKXtlLmV4cG9ydHM9WyJDYW5hZGEiXX0sNTM1MTMyKGUpe2UuZXhwb3J0cz1bIkNhcEV4ICh7cGVyaW9kfSkiXX0sMTQ5NTAzKGUpe2UuZXhwb3J0cz1bIkNhcGl0YWwiXX0sOTg2NTg5KGUpe2UuZXhwb3J0cz1bIkNhcGl0YWwgR29vZHMiXX0sNTQ4MzUyKGUpe2UuZXhwb3J0cz1bIkNhcGl0YWwgTG9uZyBUZXJtIl19LDI3NTEyMShlKXtlLmV4cG9ydHM9WyJDYXJib24gQ2FwdHVyZSAmIFN0b3JhZ2UiXX0sMzMwNTczKGUpe2UuZXhwb3J0cz1bIkNhcmJvbmF0ZWQgU29mdCBEcmlua3MiXX0sMzkxNzYoZSl7ZS5leHBvcnRzPVsiQ2FycGV0cyAmIEN1cnRhaW5zIl19LDQ3NjgzNyhlKXtlLmV4cG9ydHM9WyJDYXNoICYgRXF1aXZhbGVudHMgKEZZKSJdfSw3NjUwMTcoZSl7ZS5leHBvcnRzPVsiQ2FzaCAmIEVxdWl2YWxlbnRzIChNUlEpIl19LDI1NDk0NyhlKXtlLmV4cG9ydHM9WyJDYXNoIGFuZCBzaG9ydCB0ZXJtIGludmVzdG1lbnRzIChGWSkiXX0sNzg4ODM4KGUpe2UuZXhwb3J0cz1bIkNhc2ggYW5kIHNob3J0IHRlcm0gaW52ZXN0bWVudHMgKE1SUSkiXX0sOTE1MTU0KGUpe2UuZXhwb3J0cz1bIkNhc2ggb24gaGFuZCAoRlkpIl19LDI0NzM2MChlKXtlLmV4cG9ydHM9WyJDYXNoIG9uIGhhbmQgKE1SUSkiXX0sNjA2MjA3KGUpe2UuZXhwb3J0cz1bIkNhc2lub3MiXX0sODU3MzQ1KGUpe2UuZXhwb3J0cz1bIkNhc2lub3MvR2FtaW5nIl19LDY1ODI1NihlKXtlLmV4cG9ydHM9WyJDYXNpbm9zICYgR2FtaW5nIl19LDkxMDQ2OChlKXtlLmV4cG9ydHM9WyJDYXN1YWx0eSBJbnN1cmFuY2UiXX0sMTQzNTE4KGUpe2UuZXhwb3J0cz1bIkNlbGx1bGFyIEZpYmVyIl19LDkwODQ1NihlKXtlLmV4cG9ydHM9WyJDZW1lbnQgJiBDb25jcmV0ZSBNYW51ZmFjdHVyaW5nIl19LDc3NDc4KGUpe2UuZXhwb3J0cz1bIkNlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYyJdfSw0ODM1NShlKXtlLmV4cG9ydHM9WyJDaGFkIl19LDI1ODE0MyhlKXtlLmV4cG9ydHM9WyJDaGFpa2luIE1vbmV5IEZsb3cgKDIwKSJdfSw2NzM0ODcoZSl7ZS5leHBvcnRzPVsiQ2hhbmdlIl19LDk2OTQ3MihlKXtlLmV4cG9ydHM9WyJDaGFuZ2UgJSJdfSw2ODEwNDMoZSl7ZS5leHBvcnRzPVsiQ2hhbmdlIGZpbHRlciJdfSwzODI3NTEoZSl7ZS5leHBvcnRzPVsiQ2hhbmdlIGZyb20gT3BlbiJdfSw5MzYwMzQoZSl7CmUuZXhwb3J0cz1bIkNoYW5nZSBmcm9tIE9wZW4gJSJdfSw2NTcxMTQoZSl7ZS5leHBvcnRzPVsiQ2hhbmdlIHtyZXNvbHV0aW9ufSJdfSw3OTA5NDkoZSl7ZS5leHBvcnRzPVsiQ2hhbmdlIHtyZXNvbHV0aW9ufSwgJSJdfSw1OTU0NDEoZSl7ZS5leHBvcnRzPVsiQ2hhcnRlciAmIFByaXZhdGUgQWlyIFNlcnZpY2VzIl19LDgxODQ5NihlKXtlLmV4cG9ydHM9WyJDaGFydGVyIEJ1cyBTZXJ2aWNlcyJdfSwyNDAxOTEoZSl7ZS5leHBvcnRzPVsiQ2hlbWljYWxzOiBBZ3JpY3VsdHVyYWwiXX0sMjMzNzIoZSl7ZS5leHBvcnRzPVsiQ2hlbWljYWxzOiBNYWpvciBEaXZlcnNpZmllZCJdfSw5NjMwNTUoZSl7ZS5leHBvcnRzPVsiQ2hlbWljYWxzOiBTcGVjaWFsdHkiXX0sMjA1ODM0KGUpe2UuZXhwb3J0cz1bIkNoZyJdfSwyMTA4MTUoZSl7ZS5leHBvcnRzPVsiQ2hnICUiXX0sNjMzNDU0KGUpe2UuZXhwb3J0cz1bIkNoZyBmcm9tIE9wZW4iXX0sODUzODk1KGUpe2UuZXhwb3J0cz1bIkNoZyBmcm9tIE9wZW4gJSJdfSw0NDE1MjYoZSl7ZS5leHBvcnRzPVsiQ2hpbGQgQ2FyZSAmIEZhbWlseSBTZXJ2aWNlcyJdfSw3Mzg0MzIoZSl7ZS5leHBvcnRzPVsiQ2hpbGRyZW4gJiBJbmZhbnRzIENsb3RoaW5nIl19LDc4Njg1OChlKXtlLmV4cG9ydHM9WyJDaGlsZHJlbiAmIEluZmFudHMgQ2xvdGhpbmcgUmV0YWlsZXJzIl19LDkwNDMzOChlKXtlLmV4cG9ydHM9WyJDaGlsZSJdfSwzOTA2NTIoZSl7ZS5leHBvcnRzPVsiQ2huZyA0VyJdfSwyMzY3OTgoZSl7ZS5leHBvcnRzPVsiQ2huZyA1MlciXX0sNTI3NDI4KGUpe2UuZXhwb3J0cz1bIkNobmcgMVciXX0sMTQ4OTA5KGUpe2UuZXhwb3J0cz1bIkNob2NvbGF0ZSAmIENvbmZlY3Rpb25lcnkiXX0sMzk0MDM5KGUpe2UuZXhwb3J0cz1bIkNob3NlbiBtYXJrZXRzIGNvdW50Il19LDk1NjQ2NChlKXtlLmV4cG9ydHM9WyJDaHJpc3RtYXMgSXNsYW5kIl19LDU3NDg5NShlKXtlLmV4cG9ydHM9WyJDaXZpbCBFbmdpbmVlcnMgJiBBcmNoaXRlY3RzIl19LDI0MzY4NyhlKXtlLmV4cG9ydHM9WyJDaWdhcnMgJiBDaWdhcmV0dGUgTWFudWZhY3R1cmluZyJdfSwxNjUxOTgoZSl7ZS5leHBvcnRzPVsiQ2xlYW5pbmcgU2VydmljZXMiXX0sMjA0NDM3KGUpe2UuZXhwb3J0cz1bIkNsZWFyaW5nLCBTZXR0bGVtZW50ICYgQ3VzdG9kaWFsIFNlcnZpY2UiXX0sODIwODY2KGUpe2UuZXhwb3J0cz1bIkNsb3NlIl19LDY4OTg0KGUpe2UuZXhwb3J0cz1bIkNsb3NlZCBFbmQgRnVuZHMiXX0sNjM2MDAxKGUpe2UuZXhwb3J0cz1bIkNsb3NlZC1lbmQgZnVuZCJdfSw2OTc1MzQoZSl7ZS5leHBvcnRzPVsiQ2xvdWQgQ29tcHV0aW5nIFNlcnZpY2VzIl19LDM1OTUzMChlKXtlLmV4cG9ydHM9WyJDcnVpc2UgTGluZXMiXX0sMjg0MDA0KGUpe2UuZXhwb3J0cz1bIkNyeXB0b2N1cnJlbmNpZXMiXX0sNTA5OTgyKGUpe2UuZXhwb3J0cz1bIkNyYWZ0ICYgTWljcm8gQnJld2VycyJdfSw0NzQ3MjgoZSl7ZS5leHBvcnRzPVsiQ3JlZGl0IFVuaW9ucyJdfSw0MDc0KGUpe2UuZXhwb3J0cz1bIkNyb2F0aWEiXX0sOTU0ODM5KGUpe2UuZXhwb3J0cz1bIkNyb3NzZXMiXX0sNTYzNjY2KGUpe2UuZXhwb3J0cz1bIkNyb3NzZXMgRG93biJdfSwxNjc2MTMoZSl7ZS5leHBvcnRzPVsiQ3Jvc3NlcyBVcCJdfSw5NjU4ODMoZSl7ZS5leHBvcnRzPVsiQ3V0bGVyeSAmIEZsYXR3YXJlIl19LDc2OTE0MChlKXtlLmV4cG9ydHM9WyJDdWJhIl19LDU4OTQxNyhlKXtlLmV4cG9ydHM9WyJDdXJhY2FvIl19LDk0NTE3MShlKXtlLmV4cG9ydHM9WyJDdXJhw6dhbyJdfSwzODczNTIoZSl7ZS5leHBvcnRzPVsiQ3VycmVuY3kgb2YgdGhlIGxvY2FsIG1hcmtldCJdfSw0NDkwNjAoZSl7ZS5leHBvcnRzPVsiQ3VycmVudCB0cmFkaW5nIGRheSJdfSw4ODQxMjMoZSl7ZS5leHBvcnRzPVsiQ3VycmVudCBBc3NldHMiXX0sMjQzNTA3KGUpe2UuZXhwb3J0cz1bIkN1cnJlbnQgUmF0aW8iXX0sNDYwMTM5KGUpe2UuZXhwb3J0cz1bIkN1cnJlbnQgUmF0aW8gKE1SUSkiXX0sNDk5MjY1KGUpe2UuZXhwb3J0cz1bIkN1cnJlbnQgcmF0aW8gKHtwZXJpb2R9KSJdfSw2MzQ3MzcoZSl7ZS5leHBvcnRzPVsiQ3lwcnVzIl19LDEyOTgwOChlKXtlLmV4cG9ydHM9WyJDemVjaCBSZXB1YmxpYyJdfSwyNjE5OTAoZSl7ZS5leHBvcnRzPVsiQ3plY2hpYSJdfSw0OTg3NjIoZSl7ZS5leHBvcnRzPVsiQ8O0dGUgZCdJdm9pcmUiXX0sNzk5NTUzKGUpe2UuZXhwb3J0cz1bIkFPIl19LDE1MDQ3NChlKXtlLmV4cG9ydHM9WyJBRFIiXX0sODAzMDI0KGUpe2UuZXhwb3J0cz1bIkFEWCJdfSw5NjAwNjkoZSl7ZS5leHBvcnRzPVsiQVRSIl19LDQxOTUzKGUpe2UuZXhwb3J0cz1bIkFtdXNlbWVudCBQYXJrcyBhbmQgWm9vcyJdfSw3ODEwODgoZSl7ZS5leHBvcnRzPVsiQW1idWxhbmNlICYgRW1lcmdlbmN5IFNlcnZpY2VzIl19LDEwNDU1MyhlKXtlLmV4cG9ydHM9WyJBbWVyaWNhbiBTYW1vYSJdfSw5OTE0NjQoZSl7ZS5leHBvcnRzPVsiQW1lcmljYXMiXX0sMjk3NTcwKGUpe2UuZXhwb3J0cz1bIkFudGFyY3RpY2EiXX0sNzQ1ODkoZSl7ZS5leHBvcnRzPVsiQW50aWd1YSBhbmQgQmFyYnVkYSJdfSwzODAzNTAoZSl7ZS5leHBvcnRzPVsiQW50aXF1ZSBEZWFsZXJzIl19LDkyMTg0NyhlKXtlLmV4cG9ydHM9WyJBbnkiXX0sOTY1MjEzKGUpe2UuZXhwb3J0cz1bIkFuZG9ycmEiXX0sNzc3MjAoZSl7ZS5leHBvcnRzPVsiQW5nb2xhIl19LDg1NDkwMihlKXtlLmV4cG9ydHM9WyJBbmd1aWxsYSJdfSw0NzM4MzQoZSl7ZS5leHBvcnRzPVsiQW5pbWFsIEJyZWVkaW5nIl19LDY2MDY4NChlKXtlLmV4cG9ydHM9WyJBbmltYWwgRmVlZCJdfSw1NDM4NjYoZSl7ZS5leHBvcnRzPVsiQW5pbWFsIFNsYXVnaHRlcmluZyAmIFByb2Nlc3NpbmciXX0sODMxNzgxKGUpe2UuZXhwb3J0cz1bIkFubnVhbCBSZXYiXX0sMTU2OTY5KGUpe2UuZXhwb3J0cz1bIkFiYW5kb25lZCBCYWJ5IEJlYXJpc2giXX0sNzY0MTM2KGUpe2UuZXhwb3J0cz1bIkFiYW5kb25lZCBCYWJ5IEJ1bGxpc2giXX0sOTg2NTA1KGUpe2UuZXhwb3J0cz1bIkFib3ZlIl19LDY4NzQ3OShlKXsKZS5leHBvcnRzPVsiQWJvdmUgb3IgRXF1YWwiXX0sMjM5MDI3KGUpe2UuZXhwb3J0cz1bIkFjY2Vzc29yaWVzIl19LDYwMzI5MihlKXtlLmV4cG9ydHM9WyJBY2NvdW50aW5nICYgVGF4IFByZXBhcmF0aW9uIl19LDE4NzA3NShlKXtlLmV4cG9ydHM9WyJBZHVsdCBFbnRlcnRhaW5tZW50IFByb2R1Y3Rpb24gJiBCcm9hZGNhc3RpbmciXX0sMjkwNzg0KGUpe2UuZXhwb3J0cz1bIkFkdWx0IFByb2R1Y3RzIFJldGFpbGVycyJdfSw3MDk5MyhlKXtlLmV4cG9ydHM9WyJBZHZhbmNlZCBFbGVjdHJvbmljIEVxdWlwbWVudCJdfSw2Mjk2NDAoZSl7ZS5leHBvcnRzPVsiQWR2YW5jZWQgTWVkaWNhbCBFcXVpcG1lbnQgJiBUZWNobm9sb2d5Il19LDI5NDAzMyhlKXtlLmV4cG9ydHM9WyJBZHZhbmNlZCBNZWRpY2FsIEVxdWlwbWVudCBXaG9sZXNhbGUiXX0sNTgwMzQwKGUpe2UuZXhwb3J0cz1bIkFkdmFuY2VkIFBvbHltZXIiXX0sMzc1ODc2KGUpe2UuZXhwb3J0cz1bIkFkdmVudHVyZSBTcG9ydHMgRmFjaWxpdGllcyAmIFNraSBSZXNvcnRzIl19LDI2ODM2OShlKXtlLmV4cG9ydHM9WyJBZHZlcnRpc2luZyAmIE1hcmtldGluZyJdfSwxMjY4NjkoZSl7ZS5leHBvcnRzPVsiQWR2ZXJ0aXNpbmcgQWdlbmN5Il19LDI4NTY3NyhlKXtlLmV4cG9ydHM9WyJBZHZlcnRpc2luZy9NYXJrZXRpbmcgU2VydmljZXMiXX0sMjM5MDc3KGUpe2UuZXhwb3J0cz1bIkFkZCBub3RlIGZvciB7c3ltYm9sfSJdfSw4MTU3MTIoZSl7ZS5leHBvcnRzPVsiQWRkIGFsbCBzZWxlY3RlZCB0byB3YXRjaGxpc3QiXX0sNzIwNTQ2KGUpe2UuZXhwb3J0cz1bIkFkZCBhbGwgc2VsZWN0ZWQgdG8gY29tcGFyZSJdfSw5OTUyOShlKXtlLmV4cG9ydHM9WyJBZGQgdG8gZmF2b3JpdGVzIl19LDU2MDQ3MChlKXtlLmV4cG9ydHM9WyJBZGQge3N5bWJvbH0gdG8gY29tcGFyZSJdfSwyMjQwNTYoZSl7ZS5leHBvcnRzPVsiQWRkIHtzeW1ib2xOYW1lfSB0byB3YXRjaGxpc3QiXX0sOTE4MzEwKGUpe2UuZXhwb3J0cz1bIkFkaGVzaXZlIl19LDEwMzQ4NihlKXtlLmV4cG9ydHM9WyJBZGp1c3QgZmlsdGVycyJdfSwxMzA5NjkoZSl7ZS5leHBvcnRzPVsiQWVyb3NwYWNlICYgRGVmZW5zZSJdfSw1NzI5NjIoZSl7ZS5leHBvcnRzPVsiQWZ0ZXIgQ2xvc2UiXX0sNTMyMDI4KGUpe2UuZXhwb3J0cz1bIkFmdGVyIGhvdXJzIGdhaW5lcnMiXX0sOTkzMTAxKGUpe2UuZXhwb3J0cz1bIkFmZ2hhbmlzdGFuIl19LDY1MDM0NChlKXtlLmV4cG9ydHM9WyJBZnJpY2EiXX0sNDgyMTAxKGUpe2UuZXhwb3J0cz1bIkFncmljdWx0dXJhbCBNYWNoaW5lcnkiXX0sNjg1MTUwKGUpe2UuZXhwb3J0cz1bIkFncmljdWx0dXJhbCBCaW90ZWNobm9sb2d5Il19LDM5MTY3MihlKXtlLmV4cG9ydHM9WyJBZ3JpY3VsdHVyYWwgQ2hlbWljYWxzIl19LDM2Mjg3OChlKXtlLmV4cG9ydHM9WyJBZ3JpY3VsdHVyYWwgQ2hlbWljYWxzIFdob2xlc2FsZSJdfSw2MDI2ODAoZSl7ZS5leHBvcnRzPVsiQWdyaWN1bHR1cmFsIENvbW1vZGl0aWVzL01pbGxpbmciXX0sODg3MzkyKGUpe2UuZXhwb3J0cz1bIkFncmljdWx0dXJlIFN1cHBvcnQgU2VydmljZXMiXX0sMjA4OTY0KGUpe2UuZXhwb3J0cz1bIkFpciAmIEdhcyBDb21wcmVzc29ycyJdfSw3MDQ4NDYoZSl7ZS5leHBvcnRzPVsiQWlyIEZyZWlnaHQiXX0sODA3MDQyKGUpe2UuZXhwb3J0cz1bIkFpciBGcmVpZ2h0ICYgQ291cmllciBTZXJ2aWNlcyJdfSw5NjQ4MTAoZSl7ZS5leHBvcnRzPVsiQWlyIEZyZWlnaHQgJiBMb2dpc3RpY3MiXX0sNzkwNDkzKGUpe2UuZXhwb3J0cz1bIkFpciBGcmVpZ2h0L0NvdXJpZXJzIl19LDU2ODMzNihlKXtlLmV4cG9ydHM9WyJBaXIgRnJlaWdodC9EZWxpdmVyeSBTZXJ2aWNlcyJdfSw2NDgwOTEoZSl7ZS5leHBvcnRzPVsiQWlyY3JhZnQgRXF1aXBtZW50IFdob2xlc2FsZSJdfSw3MDIxNzEoZSl7ZS5leHBvcnRzPVsiQWlyY3JhZnQgUGFydHMgTWFudWZhY3R1cmluZyJdfSw2MDgyNzYoZSl7ZS5leHBvcnRzPVsiQWlybGluZSBDYXRlcmluZyBTZXJ2aWNlcyJdfSwzNTA0MDMoZSl7ZS5leHBvcnRzPVsiQWlybGluZXMiXX0sNzg2NDcwKGUpe2UuZXhwb3J0cz1bIkFpcnBvcnQgT3BlcmF0b3JzIl19LDMwMjMwMyhlKXtlLmV4cG9ydHM9WyJBaXJwb3J0IFNlcnZpY2VzIl19LDcxNDUwMChlKXtlLmV4cG9ydHM9WyJBbHRlcm5hdGl2ZSBNZWRpY2luZSJdfSwyMTAwODEoZSl7ZS5leHBvcnRzPVsiQWx0ZXJuYXRpdmUgTWVkaWNpbmUgRmFjaWxpdGllcyJdfSwxOTU3NDUoZSl7ZS5leHBvcnRzPVsiQWx0ZXJuYXRpdmUgUG93ZXIgR2VuZXJhdGlvbiJdfSw2Njc5OTMoZSl7ZS5leHBvcnRzPVsiQWx1bWludW0iXX0sMjA3NzcxKGUpe2UuZXhwb3J0cz1bIkFsdW1pbnVtIFJvbGxpbmciXX0sMjgwMDI1KGUpe2UuZXhwb3J0cz1bIkFsYmFuaWEiXX0sMjk2MTgxKGUpe2UuZXhwb3J0cz1bIkFsZ2VyaWEiXX0sMjMzNjkwKGUpe2UuZXhwb3J0cz1bIkFsbCJdfSw5NjIwMTYoZSl7ZS5leHBvcnRzPVsiQWxsIE90aGVyIEZvb2QgTWFudWZhY3R1cmluZyJdfSw5MzA1NzgoZSl7ZS5leHBvcnRzPVsiQWxsIFRpbWUgSGlnaCJdfSwyNTM0NzEoZSl7ZS5leHBvcnRzPVsiQWxsIFRpbWUgTG93Il19LDgxNTQoZSl7ZS5leHBvcnRzPVsiQWxsIFRpbWUgUGVyZiJdfSw0ODYzMDIoZSl7ZS5leHBvcnRzPVsiQWxsIFRpbWUgUGVyZm9ybWFuY2UiXX0sMzIyOTg2KGUpe2UuZXhwb3J0cz1bIkFsbCBhYm91dCBuZXcgc2NyZWVuZXIiXX0sMjQxMzE3KGUpe2UuZXhwb3J0cz1bIkFsbC10aW1lIGhpZ2giXX0sNjI1NDg4KGUpe2UuZXhwb3J0cz1bIkFsbC10aW1lIGxvdyJdfSw1MjY3MzQoZSl7ZS5leHBvcnRzPVsiQXBwYXJlbC9Gb290d2VhciJdfSw5MDI5ODQoZSl7ZS5leHBvcnRzPVsiQXBwYXJlbC9Gb290d2VhciBSZXRhaWwiXX0sMjQxNzg3KGUpe2UuZXhwb3J0cz1bIkFwcGFyZWwgJiBBY2Nlc3NvcmllcyJdfSwzOTU3MjUoZSl7ZS5leHBvcnRzPVsiQXBwYXJlbCAmIEFjY2Vzc29yaWVzIFJldGFpbGVycyJdfSw5MjgwOShlKXtlLmV4cG9ydHM9WyJBcHBhcmVsIFdob2xlc2FsZSJdfSwzMDI0NDcoZSl7CmUuZXhwb3J0cz1bIkFwcGxpYW5jZSAmIEhvdXNld2FyZSBXaG9sZXNhbGUiXX0sMTE4NDAoZSl7ZS5leHBvcnRzPVsiQXBwbGlhbmNlcywgVG9vbHMgJiBIb3VzZXdhcmVzIl19LDg0MjE1NChlKXtlLmV4cG9ydHM9WyJBcHBsaWNhdGlvbiBTb2Z0d2FyZSJdfSwxNTc1MzgoZSl7ZS5leHBvcnRzPVsiQXBwbGllZCBmaWx0ZXJzIGNvdW50Il19LDUyNjc4NShlKXtlLmV4cG9ydHM9WyJBcHIiXX0sNTgxMjYwKGUpe2UuZXhwb3J0cz1bIkFxdWFjdWx0dXJlIl19LDExNDc1NihlKXtlLmV4cG9ydHM9WyJBcnViYSJdfSw4NTc1ODcoZSl7ZS5leHBvcnRzPVsiQXJnZW50aW5hIl19LDc3OTk1MihlKXtlLmV4cG9ydHM9WyJBcm1lbmlhIl19LDg4NjQ2NShlKXtlLmV4cG9ydHM9WyJBcm1zICYgQW1tdW5pdGlvbnMgTWFudWZhY3R1cmluZyJdfSw3NjU3NjUoZSl7ZS5leHBvcnRzPVsiQXJvb24gRG93biJdfSwyMTM3MDMoZSl7ZS5leHBvcnRzPVsiQXJvb24gRG93biAoMTQpIl19LDE1ODM5NihlKXtlLmV4cG9ydHM9WyJBcm9vbiBVcCJdfSw0NzM4NShlKXtlLmV4cG9ydHM9WyJBcm9vbiBVcCAoMTQpIl19LDY4OTE4MihlKXtlLmV4cG9ydHM9WyJBc2lhIl19LDc2NDE3MShlKXtlLmV4cG9ydHM9WyJBc2lhIC8gUGFjaWZpYyJdfSw2NzI3MTAoZSl7ZS5leHBvcnRzPVsiQXNrIl19LDc0ODI5MChlKXtlLmV4cG9ydHM9WyJBc3NldCB0dXJub3ZlciAoe3BlcmlvZH0pIl19LDY2Mzg2MChlKXtlLmV4cG9ydHM9WyJBc3NldHMiXX0sNDY1MjIyKGUpe2UuZXhwb3J0cz1bIkF1dG9tYXRpYyBWZW5kaW5nIE1hY2hpbmVzIl19LDI5ODY2MihlKXtlLmV4cG9ydHM9WyJBdXRvbW9iaWxlcyAmIE11bHRpIFV0aWxpdHkgVmVoaWNsZXMiXX0sMzY5NjQ2KGUpe2UuZXhwb3J0cz1bIkF1dG9tb3RpdmUgQWNjZXNzb3JpZXMiXX0sNTQzMTU3KGUpe2UuZXhwb3J0cz1bIkF1dG9tb3RpdmUgQWZ0ZXJtYXJrZXQiXX0sMTc1NzQ0KGUpe2UuZXhwb3J0cz1bIkF1dG9tb3RpdmUgQmF0dGVyaWVzIl19LDM4NTU5MShlKXtlLmV4cG9ydHM9WyJBdXRvbW90aXZlIEJvZHkgUGFydHMiXX0sOTU3MDg5KGUpe2UuZXhwb3J0cz1bIkF1dG9tb3RpdmUgUGFydHMgJiBBY2Nlc3NvcmllcyBSZXRhaWxlcnMiXX0sMTU3MjU0KGUpe2UuZXhwb3J0cz1bIkF1dG9tb3RpdmUgU3lzdGVtcyJdfSwxMjU2NjIoZSl7ZS5leHBvcnRzPVsiQXV0byAmIFRydWNrIE1hbnVmYWN0dXJlcnMiXX0sODc1NTc5KGUpe2UuZXhwb3J0cz1bIkF1dG8gJiBUcnVjayBQYXJ0cyBXaG9sZXNhbGUiXX0sODc4NzIzKGUpe2UuZXhwb3J0cz1bIkF1dG8gJiBUcnVjayBXaG9sZXNhbGUiXX0sOTU4MjM1KGUpe2UuZXhwb3J0cz1bIkF1dG8gQ2xlYW5pbmcgUHJvZHVjdHMiXX0sMzcwMTIoZSl7ZS5leHBvcnRzPVsiQXV0byBQYXJ0czogT0VNIl19LDg5ODk4NyhlKXtlLmV4cG9ydHM9WyJBdXRvIFJlZnJlc2giXX0sOTk2OTcyKGUpe2UuZXhwb3J0cz1bIkF1dG8gVmVoaWNsZXMsIFBhcnRzICYgU2VydmljZSBSZXRhaWxlcnMiXX0sNjYxOTgzKGUpe2UuZXhwb3J0cz1bIkF1dG8sIFRydWNrICYgTW90b3JjeWNsZSBQYXJ0cyJdfSw5Mzc2MihlKXtlLmV4cG9ydHM9WyJBdWciXX0sMjc5MjMzKGUpe2UuZXhwb3J0cz1bIkF1c3RyYWxpYSJdfSwyMzgyNzgoZSl7ZS5leHBvcnRzPVsiQXVzdHJpYSJdfSw4MTMwNzcoZSl7ZS5leHBvcnRzPVsiQXZhaWwgQ29pbnMiXX0sODM1OTYxKGUpe2UuZXhwb3J0cz1bIkF2YWlsYWJsZSBDb2lucyJdfSwzMjMzOTIoZSl7ZS5leHBvcnRzPVsiQXZlcmFnZSBEYXkgUmFuZ2UgKDE0KSJdfSw1NzgxOTgoZSl7ZS5leHBvcnRzPVsiQXZlcmFnZSBEaXJlY3Rpb25hbCBJbmRleCAoMTQpIl19LDMxNTQ2MihlKXtlLmV4cG9ydHM9WyJBdmVyYWdlIFRydWUgUmFuZ2UgKDE0KSJdfSwyOTc5MzAoZSl7ZS5leHBvcnRzPVsiQXZlcmFnZSBWb2x1bWUgKDEwIGRheSkiXX0sNTY2NDM0KGUpe2UuZXhwb3J0cz1bIkF2ZXJhZ2UgVm9sdW1lICgzMCBkYXkpIl19LDk3NzA2MihlKXtlLmV4cG9ydHM9WyJBdmVyYWdlIFZvbHVtZSAoNjAgZGF5KSJdfSw1NzI1ODQoZSl7ZS5leHBvcnRzPVsiQXZlcmFnZSBWb2x1bWUgKDkwIGRheSkiXX0sMjUyNzc4KGUpe2UuZXhwb3J0cz1bIkF2ZyBWb2wgKDEwKSJdfSw0OTU2MzIoZSl7ZS5leHBvcnRzPVsiQXZnIFZvbCAoMzApIl19LDI2OTE4MShlKXtlLmV4cG9ydHM9WyJBdmcgVm9sICg2MCkiXX0sNzk3NjA0KGUpe2UuZXhwb3J0cz1bIkF2ZyBWb2wgKDkwKSJdfSwzNDQ1NTIoZSl7ZS5leHBvcnRzPVsiQXdlc29tZSBPc2NpbGxhdG9yIl19LDQ2ODE3KGUpe2UuZXhwb3J0cz1bIkF6ZXJiYWlqYW4iXX0sNDMwNTMwKGUpe2UuZXhwb3J0cz1bIkJCIExvdyJdfSw5MTM5OTIoZSl7ZS5leHBvcnRzPVsiQkIgVXAiXX0sOTQ5ODI1KGUpe2UuZXhwb3J0cz1bIkJCUG93ZXIiXX0sNDI1Mzc4KGUpe2UuZXhwb3J0cz1bIkJvdHN3YW5hIl19LDE5NjcwMChlKXtlLmV4cG9ydHM9WyJCb3R0bGVkIFdhdGVyICYgSWNlIl19LDczMDc2MyhlKXtlLmV4cG9ydHM9WyJCb3V2ZXQgSXNsYW5kIl19LDkzMTMwNChlKXtlLmV4cG9ydHM9WyJCb2xpdmlhIl19LDE5NjY5MShlKXtlLmV4cG9ydHM9WyJCb2xsaW5nZXIgTG93ZXIgQmFuZCAoMjApIl19LDk5NTYzMShlKXtlLmV4cG9ydHM9WyJCb2xsaW5nZXIgVXBwZXIgQmFuZCAoMjApIl19LDU1NzIzNShlKXtlLmV4cG9ydHM9WyJCb25haXJlLCBTaW50IEV1c3RhdGl1cyBhbmQgU2FiYSJdfSw5NzYzNDYoZSl7ZS5leHBvcnRzPVsiQm9vayAmIE1hZ2F6aW5lIFJldGFpbGVycyJdfSwyNDUzMTcoZSl7ZS5leHBvcnRzPVsiQm9vayB2YWx1ZSBwZXIgc2hhcmUgKHtwZXJpb2R9KSJdfSw0NDYyNDcoZSl7ZS5leHBvcnRzPVsiQm9vayBQcmludGluZyBTZXJ2aWNlcyJdfSw3NTAxODIoZSl7ZS5leHBvcnRzPVsiQm9vayBQdWJsaXNoaW5nIl19LDk3MDY5MShlKXtlLmV4cG9ydHM9WyJCb3NuaWEgYW5kIEhlcnplZ292aW5hIl19LDUzNTkwOChlKXtlLmV4cG9ydHM9WyJCYXRocm9vbSBGaXh0dXJlcyJdfSw2ODg1NTIoZSl7CmUuZXhwb3J0cz1bIkJhdHRlcmllcyAmIFVuaW50ZXJydXB0aWJsZSBQb3dlciBzdXBwbGllcyJdfSw0OTgyODgoZSl7ZS5leHBvcnRzPVsiQmF1eGl0ZSBNaW5pbmciXX0sNTA4NTQ5KGUpe2UuZXhwb3J0cz1bIkJhYnkgRm9vZCJdfSwzMzUyNTkoZSl7ZS5leHBvcnRzPVsiQmFoYW1hcyJdfSw1Nzg2NjUoZSl7ZS5leHBvcnRzPVsiQmFocmFpbiJdfSw5NDQxNTUoZSl7ZS5leHBvcnRzPVsiQmFsYW5jZSBTaGVldCJdfSw2ODg5NjkoZSl7ZS5leHBvcnRzPVsiQmFsbCAmIFJvbGxlciBCZWFyaW5ncyJdfSw0NTIwMTUoZSl7ZS5leHBvcnRzPVsiQmFuZ2xhZGVzaCJdfSw0OTc4MzcoZSl7ZS5leHBvcnRzPVsiQmFua3MiXX0sODI0NTk1KGUpe2UuZXhwb3J0cz1bIkJhbnF1ZXQgSGFsbHMgJiBDYXRlcmluZyJdfSw4MjkzODcoZSl7ZS5leHBvcnRzPVsiQmFyYmFkb3MiXX0sNzE2MTEoZSl7ZS5leHBvcnRzPVsiQmFzaWMgRVBTIChGWSkiXX0sMTAzNzkxKGUpe2UuZXhwb3J0cz1bIkJhc2ljIEVQUyAoVFRNKSJdfSw0MDExNjgoZSl7ZS5leHBvcnRzPVsiQmFzaWMgTWF0ZXJpYWxzIl19LDMwMzU3NShlKXtlLmV4cG9ydHM9WyJCZXRhIDVZIl19LDg5NzAwNyhlKXtlLmV4cG9ydHM9WyJCZXRhIC0gMyBZZWFyIl19LDEyODc5MShlKXtlLmV4cG9ydHM9WyJCZXRhIC0gNSBZZWFyIl19LDg2NzA0MChlKXtlLmV4cG9ydHM9WyJCZXRhIDNZIl19LDM2NTY2MChlKXtlLmV4cG9ydHM9WyJCZXR3ZWVuIl19LDc5Mjg2NihlKXtlLmV4cG9ydHM9WyJCZXZlcmFnZXMgKFByb2R1Y3Rpb24vRGlzdHJpYnV0aW9uKSJdfSw2NTc0NzEoZSl7ZS5leHBvcnRzPVsiQmV2ZXJhZ2VzOiBBbGNvaG9saWMiXX0sODkzODg1KGUpe2UuZXhwb3J0cz1bIkJldmVyYWdlczogTm9uLUFsY29ob2xpYyJdfSw0NjI4OTYoZSl7ZS5leHBvcnRzPVsiQmVhcmlzaCBFbmd1bGZpbmciXX0sNDUwOTA3KGUpe2UuZXhwb3J0cz1bIkJlYXJpc2ggSGFyYW1pIl19LDI3MzE0MihlKXtlLmV4cG9ydHM9WyJCZWF1dHkgU3VwcGx5IFNob3AiXX0sNTAxMTYoZSl7ZS5leHBvcnRzPVsiQmVlZiAmIFZlYWwgRmFybWluZyJdfSw5NDk2MzYoZSl7ZS5leHBvcnRzPVsiQmVlciwgV2luZSAmIExpcXVvciBTdG9yZXMiXX0sNzAwNTA4KGUpe2UuZXhwb3J0cz1bIkJlZm9yZSBPcGVuIl19LDUyMzU1MihlKXtlLmV4cG9ydHM9WyJCZWxhcnVzIl19LDgzMzI0KGUpe2UuZXhwb3J0cz1bIkJlbGdpdW0iXX0sNzg3NzAxKGUpe2UuZXhwb3J0cz1bIkJlbGl6ZSJdfSwxNzc1MDYoZSl7ZS5leHBvcnRzPVsiQmVsb3ciXX0sMjA0ODA0KGUpe2UuZXhwb3J0cz1bIkJlbG93IG9yIEVxdWFsIl19LDU4ODg0OChlKXtlLmV4cG9ydHM9WyJCZW5pbiJdfSwzMTQ3MzcoZSl7ZS5leHBvcnRzPVsiQmVybXVkYSJdfSwyODQ0NDIoZSl7ZS5leHBvcnRzPVsiQmh1dGFuIl19LDg5NDczOChlKXtlLmV4cG9ydHM9WyJCaWN5Y2xlIE1hbnVmYWN0dXJpbmciXX0sNDI5NTA4KGUpe2UuZXhwb3J0cz1bIkJpZCJdfSw4Njg4MTAoZSl7ZS5leHBvcnRzPVsiQmlsbGVkIGV2ZXJ5IG1vbnRoLiJdfSw5MTM5NTUoZSl7ZS5leHBvcnRzPVsiQmlsbGVkIGV2ZXJ5IHllYXIuIl19LDUzMjMxNihlKXtlLmV4cG9ydHM9WyJCaW8gTWVkaWNhbCBEZXZpY2VzIl19LDYzNTE1NyhlKXtlLmV4cG9ydHM9WyJCaW8gRGlhZ25vc3RpY3MgJiBUZXN0aW5nIl19LDY0ODI0OShlKXtlLmV4cG9ydHM9WyJCaW8gVGhlcmFwZXV0aWMgRHJ1Z3MiXX0sNzk2MjYoZSl7ZS5leHBvcnRzPVsiQmlvZGllc2VsIl19LDU1NzIzOShlKXtlLmV4cG9ydHM9WyJCaW9tYXNzICYgQmlvZ2FzIEZ1ZWxzIl19LDYzNzQwOShlKXtlLmV4cG9ydHM9WyJCaW9tZXRyaWMgUHJvZHVjdHMiXX0sMzQ1NzUzKGUpe2UuZXhwb3J0cz1bIkJpb3BoYXJtYWNldXRpY2FscyJdfSwxNzk0MTMoZSl7ZS5leHBvcnRzPVsiQmlvdGVjaG5vbG9neSJdfSw4OTIxNDMoZSl7ZS5leHBvcnRzPVsiQmlvdGVjaG5vbG9neSAmIE1lZGljYWwgUmVzZWFyY2giXX0sOTA0NzU3KGUpe2UuZXhwb3J0cz1bIkJpcnRoIENvbnRyb2wgUHJvZHVjdHMiXX0sMzkxOTA2KGUpe2UuZXhwb3J0cz1bIkJydW5laSJdfSw4MjEzOTkoZSl7ZS5leHBvcnRzPVsiQnJhbmRpbmcgJiBOYW1pbmciXX0sNjEyOTY3KGUpe2UuZXhwb3J0cz1bIkJyYXppbCJdfSw3ODkxODAoZSl7ZS5leHBvcnRzPVsiQnJlYWQgJiBCYWtlcnkgUHJvZHVjdCBNYW51ZmFjdHVyaW5nIl19LDI0MzA0MihlKXtlLmV4cG9ydHM9WyJCcmVha2Zhc3QgQ2VyZWFsIE1hbnVmYWN0dXJpbmciXX0sNDgwNDEzKGUpe2UuZXhwb3J0cz1bIkJyZXdlcnMiXX0sNzQ0MjQ2KGUpe2UuZXhwb3J0cz1bIkJyaXRpc2ggSW5kaWFuIE9jZWFuIFRlcnJpdG9yeSJdfSw2NTMzNDAoZSl7ZS5leHBvcnRzPVsiQnJpdGlzaCBWaXJnaW4gSXNsYW5kcyJdfSw4MTg2MTYoZSl7ZS5leHBvcnRzPVsiQnJvYWRjYXN0aW5nIl19LDk1MTk2MyhlKXtlLmV4cG9ydHM9WyJCcm9hZGNhc3RpbmcgRXF1aXBtZW50Il19LDYyODQ4MShlKXtlLmV4cG9ydHM9WyJCcm9rZXJhZ2UgU2VydmljZXMiXX0sNjU1MDc3KGUpe2UuZXhwb3J0cz1bIkJyb29tcywgQnJ1c2hlcyAmIER1c3RwYW5zIl19LDE2MTcxNyhlKXtlLmV4cG9ydHM9WyJCdWlsZGVyIE1lcmNoYW50cyJdfSwzODY3MTkoZSl7ZS5leHBvcnRzPVsiQnVpbGRpbmcgQ29udHJhY3RvcnMiXX0sMjU3MjM0KGUpe2UuZXhwb3J0cz1bIkJ1aWxkaW5nIFByb2R1Y3RzIl19LDcxNDAzMShlKXtlLmV4cG9ydHM9WyJCdWxnYXJpYSJdfSwzMzk1MjcoZSl7ZS5leHBvcnRzPVsiQnVsbGlzaCBFbmd1bGZpbmciXX0sNDYzODk2KGUpe2UuZXhwb3J0cz1bIkJ1bGxpc2ggSGFyYW1pIl19LDE5ODI5NyhlKXtlLmV4cG9ydHM9WyJCdXJraW5hIEZhc28iXX0sNzU4MjIoZSl7ZS5leHBvcnRzPVsiQnVydW5kaSJdfSwzNzI2NDcoZSl7ZS5leHBvcnRzPVsiQnVzaW5lc3MgU2VydmljZXMiXX0sOTczNShlKXtlLmV4cG9ydHM9WyJCdXNpbmVzcyBTdXBwb3J0IFNlcnZpY2VzIl19LDg3MDI5OShlKXtlLmV4cG9ydHM9WyJCdXNpbmVzcyBTdXBwb3J0IFN1cHBsaWVzIl19LDc4MzMxOChlKXsKZS5leHBvcnRzPVsiR292ZXJubWVudCJdfSw1NjUyOTQoZSl7ZS5leHBvcnRzPVsiR29sZCJdfSw2ODM1KGUpe2UuZXhwb3J0cz1bIkdvbGQgTWluaW5nIl19LDY5ODMyNShlKXtlLmV4cG9ydHM9WyJHb2xmIENvdXJzZXMiXX0sNzczOTI2KGUpe2UuZXhwb3J0cz1bIkdvb2R3aWxsIl19LDM2NzY5MChlKXtlLmV4cG9ydHM9WyJHYWJvbiJdfSw3MDg3ODUoZSl7ZS5leHBvcnRzPVsiR2FtYmlhIl19LDIyMDE1NihlKXtlLmV4cG9ydHM9WyJHYW1ibGluZyAmIEdhbWluZyBNYWNoaW5lIE1hbnVmYWN0dXJlcnMiXX0sNTg0ODQxKGUpe2UuZXhwb3J0cz1bIkdhbWVzLCBUb3lzICYgQ2hpbGRyZW4gVmVoaWNsZXMiXX0sNDg1OTM1KGUpe2UuZXhwb3J0cz1bIkdhbWluZyBNYWNoaW5lIE9wZXJhdG9ycyJdfSw5MzAwNjkoZSl7ZS5leHBvcnRzPVsiR2FwICUiXX0sMjM3OTk2KGUpe2UuZXhwb3J0cz1bIkdhcyBEaXN0cmlidXRvcnMiXX0sNTI1MTExKGUpe2UuZXhwb3J0cz1bIkdhcyBEcmlsbGluZyAtIE9uc2hvcmUiXX0sNjY3MzE2KGUpe2UuZXhwb3J0cz1bIkdhc29saW5lIHN0YXRpb25zIl19LDU2MzUzMChlKXtlLmV4cG9ydHM9WyJHZXQgcmVhZHkgdG8gc3dpdGNoIHRvIHRoZSBuZXcgU3RvY2sgU2NyZWVuZXIiXX0sOTEwODIxKGUpe2UuZXhwb3J0cz1bIkdlbmVyYWwiXX0sODU1MTc3KGUpe2UuZXhwb3J0cz1bIkdlbmVyYWwgRWR1Y2F0aW9uIFNlcnZpY2VzIl19LDI0MTk5NShlKXtlLmV4cG9ydHM9WyJHZW5lcmFsIEdvdmVybm1lbnQiXX0sMzQ2MTQ2KGUpe2UuZXhwb3J0cz1bIkdlbmVyaWMgUGhhcm1hY2V1dGljYWxzIl19LDgyNDEyMyhlKXtlLmV4cG9ydHM9WyJHZW9waHlzaWNhbCBTdXJ2ZXlpbmcgJiBNYXBwaW5nIFNlcnZpY2VzIl19LDc5NTk1MShlKXtlLmV4cG9ydHM9WyJHZW9yZ2lhIl19LDQ2NjY5OChlKXtlLmV4cG9ydHM9WyJHZXJtYW55Il19LDQ5ODY3OShlKXtlLmV4cG9ydHM9WyJHaGFuYSJdfSw3NzEwMTcoZSl7ZS5leHBvcnRzPVsiR2licmFsdGFyIl19LDE1MzI0MShlKXtlLmV4cG9ydHM9WyJHaWZ0LCBOb3ZlbHR5ICYgU291dmVuaXIgU3RvcmVzIl19LDIzNjIyMShlKXtlLmV4cG9ydHM9WyJHbGFzcyBDb250YWluZXJzICYgUGFja2FnaW5nIl19LDYwOTQ2MShlKXtlLmV4cG9ydHM9WyJHbGFzc2VzLCBTcGVjdGFjbGVzICYgQ29udGFjdCBsZW5zZXMiXX0sNjA1Njc0KGUpe2UuZXhwb3J0cz1bIkdsb2JhbCBjdXJyZW5jeSJdfSw3NTAyNzcoZSl7ZS5leHBvcnRzPVsiR3JhaW4gKENyb3ApIFByb2R1Y3Rpb24iXX0sMTIzNzM2KGUpe2UuZXhwb3J0cz1bIkdyYXZlc3RvbmUgRG9qaSJdfSwzMTgzOTkoZSl7ZS5leHBvcnRzPVsiR3JlZW5sYW5kIl19LDc5MzI4OShlKXtlLmV4cG9ydHM9WyJHcmVlY2UiXX0sOTMyMDg2KGUpe2UuZXhwb3J0cz1bIkdyZW5hZGEiXX0sMzc4Mzk5KGUpe2UuZXhwb3J0cz1bIkdyb3NzIE1hcmdpbiJdfSw5MDA5NDUoZSl7ZS5leHBvcnRzPVsiR3Jvc3MgTWFyZ2luIChGWSkiXX0sNjYxODkzKGUpe2UuZXhwb3J0cz1bIkdyb3NzIE1hcmdpbiAoVFRNKSJdfSwzNTYxMjUoZSl7ZS5leHBvcnRzPVsiR3Jvc3MgUHJvZml0IChBbm51YWwgWW9ZIEdyb3d0aCkiXX0sODcwMjYyKGUpe2UuZXhwb3J0cz1bIkdyb3NzIFByb2ZpdCAoRlkpIl19LDQyNjY1MihlKXtlLmV4cG9ydHM9WyJHcm9zcyBQcm9maXQgKE1SUSkiXX0sMTkxNTc0KGUpe2UuZXhwb3J0cz1bIkdyb3NzIFByb2ZpdCAoUXVhcnRlcmx5IFFvUSBHcm93dGgpIl19LDEwNzkwNChlKXtlLmV4cG9ydHM9WyJHcm9zcyBQcm9maXQgKFF1YXJ0ZXJseSBZb1kgR3Jvd3RoKSJdfSw3NjEzMDUoZSl7ZS5leHBvcnRzPVsiR3Jvc3MgUHJvZml0IChUVE0gWW9ZIEdyb3d0aCkiXX0sOTY2NTA1KGUpe2UuZXhwb3J0cz1bIkdyb3NzIG1hcmdpbiAoe3BlcmlvZH0pIl19LDM5NzYwMihlKXtlLmV4cG9ydHM9WyJHcm9zcyBwcm9maXQgKHtwZXJpb2R9KSJdfSwzMjkyOTEoZSl7ZS5leHBvcnRzPVsiR3JvdW5kIEZyZWlnaHQgJiBMb2dpc3RpY3MiXX0sODYyOTQ5KGUpe2UuZXhwb3J0cz1bIkdyb3VwIl19LDc5MDY1NihlKXtlLmV4cG9ydHM9WyJHcm91cHMiXX0sMjQyMTE2KGUpe2UuZXhwb3J0cz1bIkd1eWFuYSJdfSwxNjQ4NzcoZSl7ZS5leHBvcnRzPVsiR3VhZGVsb3VwZSJdfSw1NDQzMjUoZSl7ZS5leHBvcnRzPVsiR3VhbSJdfSw4Nzc0ODcoZSl7ZS5leHBvcnRzPVsiR3VhdGVtYWxhIl19LDQwODkxNihlKXtlLmV4cG9ydHM9WyJHdWVybnNleSJdfSw1ODQzMyhlKXtlLmV4cG9ydHM9WyJHdWlkZWQgVG91ciBPcGVyYXRvcnMiXX0sNDM2NDU1KGUpe2UuZXhwb3J0cz1bIkd1aW5lYSJdfSwzMDgyMjkoZSl7ZS5leHBvcnRzPVsiR3VpbmVhLUJpc3NhdSJdfSw3MTc3ODEoZSl7ZS5leHBvcnRzPVsiR3ltcywgRml0bmVzcyBhbmQgU3BhIENlbnRlcnMiXX0sMjM3MjQxKGUpe2UuZXhwb3J0cz1bIkRFQlQvRVFVSVRZIl19LDI4Nzk5OChlKXtlLmV4cG9ydHM9WyJEUiJdfSw5ODUyNTkoZSl7ZS5leHBvcnRzPVsiRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSBDb2x1bW4gU2V0ICd7bmFtZX0nID8iXX0sMjc3MDExKGUpe2UuZXhwb3J0cz1bIkRvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgU2NyZWVuICd7bmFtZX0nID8iXX0sODMyNTYyKGUpe2UuZXhwb3J0cz1bIkRvY3RvcidzIE9mZmljZSJdfSw1MjQ1NyhlKXtlLmV4cG9ydHM9WyJEb2xscyAmIFN0dWZmZWQgVG95cyJdfSwxOTQzMjYoZSl7ZS5leHBvcnRzPVsiRG9taW5pY2EiXX0sODE4NjA0KGUpe2UuZXhwb3J0cz1bIkRvbWluaWNhbiBSZXB1YmxpYyJdfSwzNTE5NjMoZSl7ZS5leHBvcnRzPVsiRG9uY2hDaDIwIExvdyJdfSw2MTc0NjgoZSl7ZS5leHBvcnRzPVsiRG9uY2hDaDIwIFVwIl19LDYwODY1NihlKXtlLmV4cG9ydHM9WyJEb25jaGlhbiBDaGFubmVscyBMb3dlciBCYW5kICgyMCkiXX0sMzc4MDI0KGUpe2UuZXhwb3J0cz1bIkRvbmNoaWFuIENoYW5uZWxzIFVwcGVyIEJhbmQgKDIwKSJdfSwxODIxNDMoZSl7ZS5leHBvcnRzPVsiRG9vcnMgJiBXaW5kb3cgRnJhbWVzIl19LDg4NDc4MChlKXsKZS5leHBvcnRzPVsiRGF0YSBQcm9jZXNzaW5nIFNlcnZpY2VzIl19LDUwNzcyOShlKXtlLmV4cG9ydHM9WyJEYXRlIl19LDc4OTAxNShlKXtlLmV4cG9ydHM9WyJEYWlyeSBQcm9kdWN0cyJdfSw0OTUyMTAoZSl7ZS5leHBvcnRzPVsiRGVidCJdfSwyNTk2NShlKXtlLmV4cG9ydHM9WyJEZWJ0L0VxIl19LDMxNTA5MihlKXtlLmV4cG9ydHM9WyJEZWJ0L0VxdWl0eSwgTVJRIl19LDU0NzM2MihlKXtlLmV4cG9ydHM9WyJEZWJ0IHRvIEFzc2V0cyJdfSwzMDY5NjYoZSl7ZS5leHBvcnRzPVsiRGVidCB0byBFcXVpdHkgUmF0aW8gKE1SUSkiXX0sNzY5MDM2KGUpe2UuZXhwb3J0cz1bIkRlYyJdfSw4MjQ0MDMoZSl7ZS5leHBvcnRzPVsiRGVlcCBTZWEgRnJlaWdodCJdfSwyMjk1MjUoZSl7ZS5leHBvcnRzPVsiRGVsYXllZCJdfSw0MzE0NDEoZSl7ZS5leHBvcnRzPVsiRGVsZXRlIl19LDg1MjUwMShlKXtlLmV4cG9ydHM9WyJEZW5tYXJrIl19LDQzNjk3MChlKXtlLmV4cG9ydHM9WyJEZXBhcnRtZW50L1NwZWNpYWx0eSBSZXRhaWwgU3RvcmVzIl19LDQxNTEwNShlKXtlLmV4cG9ydHM9WyJEZXBhcnRtZW50IFN0b3JlcyJdfSw3MTQ3NDUoZSl7ZS5leHBvcnRzPVsiRGVwb3NpdGFyeSBSZWNlaXB0Il19LDM5Nzk4NyhlKXtlLmV4cG9ydHM9WyJEZXNjcmlwdGlvbiJdfSw5OTQwMjUoZSl7ZS5leHBvcnRzPVsiRGVzY3JpcHRpdmUiXX0sNzAyMjA2KGUpe2UuZXhwb3J0cz1bIkRlc2lnbiBTZXJ2aWNlcyJdfSwxODgzNjIoZSl7ZS5leHBvcnRzPVsiRGl2IFBhaWQiXX0sOTIyNzE0KGUpe2UuZXhwb3J0cz1bIkRpdiBQcmVmIl19LDQzODgxMChlKXtlLmV4cG9ydHM9WyJEaXYgWWllbGQgRldEIl19LDExNTMwNChlKXtlLmV4cG9ydHM9WyJEaXYgcGVyIFNoYXJlIChGWSkiXX0sMTExODI5KGUpe2UuZXhwb3J0cz1bIkRpdiBwZXIgU2hhcmUgKE1SUSkiXX0sODgyOTE5KGUpe2UuZXhwb3J0cz1bIkRpdmVyc2lmaWVkIENoZW1pY2FscyJdfSw2NjkxODUoZSl7ZS5leHBvcnRzPVsiRGl2ZXJzaWZpZWQgSW52ZXN0bWVudCBTZXJ2aWNlcyJdfSwzNjAwNihlKXtlLmV4cG9ydHM9WyJEaXZlcnNpZmllZCBSRUlUcyJdfSw5MDM3MzEoZSl7ZS5leHBvcnRzPVsiRGl2ZXJzaWZpZWQgVHJhZGluZyAmIERpc3RyaWJ1dGluZyJdfSw5NzY2MDcoZSl7ZS5leHBvcnRzPVsiRGl2aWRlbmQgWWllbGQgRm9yd2FyZCJdfSw0NTc1MDUoZSl7ZS5leHBvcnRzPVsiRGl2aWRlbmQgcGF5b3V0IHJhdGlvICh7cGVyaW9kfSkiXX0sNjU5MjY3KGUpe2UuZXhwb3J0cz1bIkRpdmlkZW5kcyJdfSw1NTAyMTYoZSl7ZS5leHBvcnRzPVsiRGl2aWRlbmRzIFBhaWQgKEZZKSJdfSw0OTMyMDAoZSl7ZS5leHBvcnRzPVsiRGl2aWRlbmRzIFByZWZlcnJlZCJdfSwyNzQ3MjkoZSl7ZS5leHBvcnRzPVsiRGl2aWRlbmRzIHBlciBTaGFyZSAoRlkpIl19LDI5MjIyMChlKXtlLmV4cG9ydHM9WyJEaXZpZGVuZHMgcGVyIFNoYXJlIChNUlEpIl19LDU1Nzk0MShlKXtlLmV4cG9ydHM9WyJEaXZpZGVuZHMgcGVyIHNoYXJlIChBbm51YWwgWW9ZIEdyb3d0aCkiXX0sNTc4NTcxKGUpe2UuZXhwb3J0cz1bIkRpYWdub3N0aWMgJiBUZXN0aW5nIFN1YnN0YW5jZXMiXX0sMTg4MTIxKGUpe2UuZXhwb3J0cz1bIkRpYWdub3N0aWMgJiBUZXN0aW5nIFN1YnN0YW5jZXMgTWFudWZhY3R1cmVycyJdfSw5NTIwODkoZSl7ZS5leHBvcnRzPVsiRGlhbW9uZCBNaW5pbmciXX0sMTM3Mzc3KGUpe2UuZXhwb3J0cz1bIkRpZ2l0YWwgTWVkaWEgQWdlbmNpZXMiXX0sNDM2NDgwKGUpe2UuZXhwb3J0cz1bIkRpZ2l0YWwgUHVibGlzaGluZyJdfSwyNTE0OTYoZSl7ZS5leHBvcnRzPVsiRGlyZWN0IE1hcmtldGluZyJdfSw4NjUwMzEoZSl7ZS5leHBvcnRzPVsiRGlyZWN0b3J5IFB1Ymxpc2hpbmciXX0sNTE4MTE3KGUpe2UuZXhwb3J0cz1bIkRpc2NvdW50IFN0b3JlcyJdfSw2MzcxODQoZSl7ZS5leHBvcnRzPVsiRGlzY291bnQgU3RvcmVzIHdpdGggZ3JvY2VyaWVzIl19LDc5NTEyNChlKXtlLmV4cG9ydHM9WyJEaXNjb3VudCBTdG9yZXMgd2l0aG91dCBncm9jZXJpZXMiXX0sMjk5ODI0KGUpe2UuZXhwb3J0cz1bIkRpc3BsYXkgU2NyZWVucyJdfSwxMzAyMChlKXtlLmV4cG9ydHM9WyJEaXN0aWxsZXJpZXMiXX0sNTU4MDk1KGUpe2UuZXhwb3J0cz1bIkRpc3RpbGxlcnMgJiBXaW5lcmllcyJdfSwxNzEzNDIoZSl7ZS5leHBvcnRzPVsiRGlzdHJpYnV0aW9uIFNlcnZpY2VzIl19LDUwNzc5OChlKXtlLmV4cG9ydHM9WyJEamlib3V0aSJdfSw4OTY3NzIoZSl7ZS5leHBvcnRzPVsiRHJ1Z3N0b3JlIENoYWlucyJdfSw1NjEwNjAoZSl7ZS5leHBvcnRzPVsiRHJ1ZyBEZWxpdmVyeSBTeXN0ZW1zIl19LDU1OTIwNihlKXtlLmV4cG9ydHM9WyJEcnVnIFJldGFpbGVycyJdfSwzNzU0NChlKXtlLmV4cG9ydHM9WyJEcmFnb25mbHkgRG9qaSJdfSw0NzAxMDUoZSl7ZS5leHBvcnRzPVsiRS1jb21tZXJjZSAmIEF1Y3Rpb24gU2VydmljZXMiXX0sMTA3OTA1KGUpe2UuZXhwb3J0cz1bIkVNQTEwIl19LDY0OTY0NChlKXtlLmV4cG9ydHM9WyJFTUExMDAiXX0sMTQzNjMoZSl7ZS5leHBvcnRzPVsiRU1BMjAiXX0sNjA1NDM4KGUpe2UuZXhwb3J0cz1bIkVNQTIwMCJdfSw5NTQ4NTkoZSl7ZS5leHBvcnRzPVsiRU1BMzAiXX0sNTExODQ0KGUpe2UuZXhwb3J0cz1bIkVNQTUiXX0sNTM4MDE4KGUpe2UuZXhwb3J0cz1bIkVNQTUwIl19LDY3NzgxMyhlKXtlLmV4cG9ydHM9WyJFTVBMT1lFRVMiXX0sNjk5NyhlKXtlLmV4cG9ydHM9WyJFQklUREEiXX0sOTg2MjkyKGUpe2UuZXhwb3J0cz1bIkVCSVREQSAoQW5udWFsIFlvWSBHcm93dGgpIl19LDc0NjIzKGUpe2UuZXhwb3J0cz1bIkVCSVREQSAoUXVhcnRlcmx5IFFvUSBHcm93dGgpIl19LDUzOTcwNShlKXtlLmV4cG9ydHM9WyJFQklUREEgKFF1YXJ0ZXJseSBZb1kgR3Jvd3RoKSJdfSw4MzQ2NjgoZSl7ZS5leHBvcnRzPVsiRUJJVERBIChUVE0gWW9ZIEdyb3d0aCkiXX0sNTQwOTkoZSl7ZS5leHBvcnRzPVsiRUJJVERBIChUVE0pIl19LDMyNzE0OShlKXtlLmV4cG9ydHM9WyJFUFMgKEZZKSJdfSwyNTU4NTcoZSl7ZS5leHBvcnRzPVsiRVBTIChUVE0pIl19LAo5MzEwOTMoZSl7ZS5leHBvcnRzPVsiRVBTIERpbHV0ZWQgKE1SUSkiXX0sNTI4OTcyKGUpe2UuZXhwb3J0cz1bIkVQUyBEaWx1dGVkIChBbm51YWwgWW9ZIEdyb3d0aCkiXX0sMTEyMjc4KGUpe2UuZXhwb3J0cz1bIkVQUyBEaWx1dGVkIChGWSkiXX0sOTY2MjU2KGUpe2UuZXhwb3J0cz1bIkVQUyBEaWx1dGVkIChRdWFydGVybHkgUW9RIEdyb3d0aCkiXX0sODIyNzgyKGUpe2UuZXhwb3J0cz1bIkVQUyBEaWx1dGVkIChRdWFydGVybHkgWW9ZIEdyb3d0aCkiXX0sNDA2ODYzKGUpe2UuZXhwb3J0cz1bIkVQUyBEaWx1dGVkIChUVE0gWW9ZIEdyb3d0aCkiXX0sOTg2NTE2KGUpe2UuZXhwb3J0cz1bIkVQUyBEaWx1dGVkIChUVE0pIl19LDc4OTE1NShlKXtlLmV4cG9ydHM9WyJFUFMgRXN0aW1hdGUiXX0sMjA1NTQ4KGUpe2UuZXhwb3J0cz1bIkVQUyBGb3JlY2FzdCJdfSw4MDI1OTAoZSl7ZS5leHBvcnRzPVsiRVBTIEZvcmVjYXN0IChNUlEpIl19LDcyODU0NShlKXtlLmV4cG9ydHM9WyJFUFMgZGlsdXRlZCAoe3BlcmlvZH0pIl19LDMwMDI3NShlKXtlLmV4cG9ydHM9WyJFVEMiXX0sNjk0MDcyKGUpe2UuZXhwb3J0cz1bIkVURiJdfSw5NzIyNDAoZSl7ZS5leHBvcnRzPVsiRVROIl19LDI2MzIzMChlKXtlLmV4cG9ydHM9WyJFViJdfSw3NzY0NjQoZSl7ZS5leHBvcnRzPVsiRVYvRUJJVERBIl19LDQ4NTc5MChlKXtlLmV4cG9ydHM9WyJFbXBsb3ltZW50IFNlcnZpY2VzIl19LDI0OTk3OChlKXtlLmV4cG9ydHM9WyJFbnRlciBhIG5ldyBjb2x1bW4gc2V0IG5hbWU6Il19LDg5MDk5KGUpe2UuZXhwb3J0cz1bIkVudGVyIGEgbmV3IHNjcmVlbiBuYW1lOiJdfSw0NTgwMTEoZSl7ZS5leHBvcnRzPVsiRW50ZXJ0YWlubWVudCBQcm9kdWN0aW9uIl19LDIxODc2NyhlKXtlLmV4cG9ydHM9WyJFbnRlcnRhaW5tZW50IFByb2R1Y3Rpb24gRXF1aXBtZW50ICYgU2VydmljZXMiXX0sNjczMTYxKGUpe2UuZXhwb3J0cz1bIkVudGVycHJpc2UgdmFsdWUiXX0sNjc0NDgxKGUpe2UuZXhwb3J0cz1bIkVudGVycHJpc2UgU29mdHdhcmUiXX0sMTExMTI1KGUpe2UuZXhwb3J0cz1bIkVudGVycHJpc2UgVmFsdWUvRUJJVERBIChUVE0pIl19LDUzMTI4OChlKXtlLmV4cG9ydHM9WyJFbnRlcnByaXNlIFZhbHVlIChNUlEpIl19LDkxNTEyNChlKXtlLmV4cG9ydHM9WyJFbnRpcmUgd29ybGQiXX0sMjA1MjA5KGUpe2UuZXhwb3J0cz1bIkVudmlyb25tZW50YWwgQmlvdGVjaG5vbG9neSJdfSw1ODA2NzIoZSl7ZS5leHBvcnRzPVsiRW52aXJvbm1lbnRhbCBDb25zdWx0YW5jeSBTZXJ2aWNlcyJdfSwzMDcwMTcoZSl7ZS5leHBvcnRzPVsiRW52aXJvbm1lbnRhbCBTZXJ2aWNlcyJdfSw2OTAwOTAoZSl7ZS5leHBvcnRzPVsiRW52aXJvbm1lbnRhbCBTZXJ2aWNlcyAmIEVxdWlwbWVudCJdfSw2MDE3NjQoZSl7ZS5leHBvcnRzPVsiRW5kIG9mIERheSJdfSw4MjU1NDIoZSl7ZS5leHBvcnRzPVsiRW5lcmd5Il19LDU2MDM4OShlKXtlLmV4cG9ydHM9WyJFbmVyZ3kgTWluZXJhbHMiXX0sMzY3NzYwKGUpe2UuZXhwb3J0cz1bIkVuZXJneSBEcmlua3MiXX0sMjk3MzA0KGUpe2UuZXhwb3J0cz1bIkVuZ2luZSAmIFBvd2VydHJhaW4gU3lzdGVtcyJdfSwyMjMyNjIoZSl7ZS5leHBvcnRzPVsiRW5naW5lZXJpbmcgJiBDb25zdHJ1Y3Rpb24iXX0sMTM0MDU5KGUpe2UuZXhwb3J0cz1bIkVhcm5pbmdzIHRoaXMgd2VlayJdfSw0MTMzOTcoZSl7ZS5leHBvcnRzPVsiRWN1YWRvciJdfSwyNDMwODIoZSl7ZS5leHBvcnRzPVsiRWR1Y2F0aW9uICYgVHJhaW5pbmcgSW5mb3JtYXRpb24gUHJvdmlkZXJzIl19LDE0NDI2MChlKXtlLmV4cG9ydHM9WyJFZHVjYXRpb25hbCBTZXJ2aWNlcyJdfSwzMzc0MzcoZSl7ZS5leHBvcnRzPVsiRWd5cHQiXX0sODgwODcyKGUpe2UuZXhwb3J0cz1bIkVsIFNhbHZhZG9yIl19LDI3NDc4MihlKXtlLmV4cG9ydHM9WyJFbGVjdHJpYyBDb25zdHJ1Y3Rpb24iXX0sNzg3MTcwKGUpe2UuZXhwb3J0cz1bIkVsZWN0cmljIEVxdWlwbWVudCBXaG9sZXNhbGUiXX0sODExODcwKGUpe2UuZXhwb3J0cz1bIkVsZWN0cmljIFV0aWxpdGllcyJdfSwzNDY3MTEoZSl7ZS5leHBvcnRzPVsiRWxlY3RyaWMgVXRpbGl0aWVzOiBDZW50cmFsIl19LDk5OTAxNChlKXtlLmV4cG9ydHM9WyJFbGVjdHJpY2FsIChBbHRlcm5hdGl2ZSkgVmVoaWNsZXMiXX0sNDYxMjI3KGUpe2UuZXhwb3J0cz1bIkVsZWN0cmljYWwgQ29tcG9uZW50cyAmIEVxdWlwbWVudCJdfSw0MTY1MzcoZSl7ZS5leHBvcnRzPVsiRWxlY3RyaWNhbCBNZWFzdXJpbmcgJiBUZXN0aW5nIEluc3RydW1lbnRzIl19LDYxNDQ0MChlKXtlLmV4cG9ydHM9WyJFbGVjdHJpY2FsIFByb2R1Y3RzIl19LDMyMTQ2NShlKXtlLmV4cG9ydHM9WyJFbGVjdHJvbiBUdWJlcyAmIEluc3VsYXRvcnMiXX0sMTAyMjQ3KGUpe2UuZXhwb3J0cz1bIkVsZWN0cm9uaWNzIERpc3RyaWJ1dG9ycyJdfSw5NzcwMDkoZSl7ZS5leHBvcnRzPVsiRWxlY3Ryb25pY3MvQXBwbGlhbmNlIFN0b3JlcyJdfSwyNjAwMzcoZSl7ZS5leHBvcnRzPVsiRWxlY3Ryb25pY3MvQXBwbGlhbmNlcyJdfSwzNjg1NjAoZSl7ZS5leHBvcnRzPVsiRWxlY3Ryb25pYyBDb21wb25lbnQiXX0sNDQ5NDE5KGUpe2UuZXhwb3J0cz1bIkVsZWN0cm9uaWMgQ29tcG9uZW50cyJdfSwxNTQwNDcoZSl7ZS5leHBvcnRzPVsiRWxlY3Ryb25pYyBFcXVpcG1lbnQgJiBQYXJ0cyJdfSwzOTYzMTYoZSl7ZS5leHBvcnRzPVsiRWxlY3Ryb25pYyBFcXVpcG1lbnQvSW5zdHJ1bWVudHMiXX0sNzczMTQ0KGUpe2UuZXhwb3J0cz1bIkVsZWN0cm9uaWMgRXF1aXBtZW50cyAmIFBhcnRzIl19LDg5NDczNyhlKXtlLmV4cG9ydHM9WyJFbGVjdHJvbmljIFByb2R1Y3Rpb24gRXF1aXBtZW50Il19LDY1NDMyKGUpe2UuZXhwb3J0cz1bIkVsZWN0cm9uaWMgUmVwYWlyIFNlcnZpY2VzIl19LDc1OTYxNShlKXtlLmV4cG9ydHM9WyJFbGVjdHJvbmljIFRlY2hub2xvZ3kiXX0sOTIyNDU5KGUpe2UuZXhwb3J0cz1bIkVsZXZhdG9yICYgQ29udmV5aW5nIEVxdWlwbWVudCJdfSw4NzM0MDMoZSl7ZS5leHBvcnRzPVsiRXBveHkiXX0sMzQwMjM5KGUpe2UuZXhwb3J0cz1bIkVxdWFsIl0KfSw3NDY1MjQoZSl7ZS5leHBvcnRzPVsiRXF1YXRvcmlhbCBHdWluZWEiXX0sNzMwODczKGUpe2UuZXhwb3J0cz1bIkVyaXRyZWEiXX0sOTQxMjAoZSl7ZS5leHBvcnRzPVsiRXN0b25pYSJdfSw4OTgzMDMoZSl7ZS5leHBvcnRzPVsiRXN3YXRpbmkiXX0sNDUwNjIzKGUpe2UuZXhwb3J0cz1bIkV0aGFub2wgRnVlbHMiXX0sMzMxOTEoZSl7ZS5leHBvcnRzPVsiRXRoaW9waWEiXX0sOTUyMzY3KGUpe2UuZXhwb3J0cz1bIkV1cm9wZSJdfSw1MzUxNDYoZSl7ZS5leHBvcnRzPVsiRXVyb3BlYW4gVW5pb24iXX0sMzQ5NjcwKGUpe2UuZXhwb3J0cz1bIkV2ZW5pbmcgU3RhciJdfSw3MjE0NDEoZSl7ZS5leHBvcnRzPVsiRXh0ZW5kZWQgSG91cnMiXX0sODI2NjA3KGUpe2UuZXhwb3J0cz1bIkV4Y2hhbmdlIl19LDU0ODc1MyhlKXtlLmV4cG9ydHM9WyJFeGNoYW5nZSBUcmFkZWQgRnVuZCJdfSwyMjI1MzIoZSl7ZS5leHBvcnRzPVsiRXhjaGFuZ2UgVHJhZGVkIEZ1bmRzIl19LDYxMTExOChlKXtlLmV4cG9ydHM9WyJFeGNoYW5nZSB0eXBlIl19LDI5OTMxNihlKXtlLmV4cG9ydHM9WyJFeGVjdXRpdmUgU2VhcmNoIFNlcnZpY2VzIl19LDkxOTE3NyhlKXtlLmV4cG9ydHM9WyJFeGhpYml0aW9uICYgQ29uZmVyZW5jZSBTZXJ2aWNlcyJdfSw1ODA4MzIoZSl7ZS5leHBvcnRzPVsiRXhvdGljIl19LDM2NTU4OShlKXtlLmV4cG9ydHM9WyJFeHBpcmF0aW9uIl19LDYzNDUwNihlKXtlLmV4cG9ydHM9WyJFeHBvbmVudGlhbCBNb3ZpbmcgQXZlcmFnZSAoe251bWJlcn0pIl19LDM5MTI1MShlKXtlLmV4cG9ydHM9WyJFeHBsb3NpdmVzIl19LDIxNDI3OShlKXtlLmV4cG9ydHM9WyJGRCBNa3QgQ2FwIl19LDI5ODU3NihlKXtlLmV4cG9ydHM9WyJGUSJdfSwyODc5MTgoZSl7ZS5leHBvcnRzPVsiRlkiXX0sNjMyODQ3KGUpe2UuZXhwb3J0cz1bIkZvb2QgRGlzdHJpYnV0b3JzIl19LDQwMzk0MyhlKXtlLmV4cG9ydHM9WyJGb29kIEluZ3JlZGllbnRzIl19LDUxNDM4NyhlKXtlLmV4cG9ydHM9WyJGb29kIE1hcmtldHMiXX0sMTQ2MDQzKGUpe2UuZXhwb3J0cz1bIkZvb2QgUHJvY2Vzc2luZyJdfSwyMzE0MzQoZSl7ZS5leHBvcnRzPVsiRm9vZCBSZXRhaWwiXX0sODYzNjYxKGUpe2UuZXhwb3J0cz1bIkZvb2QgUmV0YWlsICYgRGlzdHJpYnV0aW9uIl19LDk3NjgyMihlKXtlLmV4cG9ydHM9WyJGb29kIFdob2xlc2FsZSJdfSwyNTc3MDkoZSl7ZS5leHBvcnRzPVsiRm9vZDogTWFqb3IgRGl2ZXJzaWZpZWQiXX0sNDI0Njg1KGUpe2UuZXhwb3J0cz1bIkZvb2Q6IE1lYXQvRmlzaC9EYWlyeSJdfSw5MzE4ODMoZSl7ZS5leHBvcnRzPVsiRm9vZDogU3BlY2lhbHR5L0NhbmR5Il19LDY5ODA1NyhlKXtlLmV4cG9ydHM9WyJGb290d2VhciJdfSw5MTUwMzcoZSl7ZS5leHBvcnRzPVsiRm9vdHdlYXIgUmV0YWlsZXJzIl19LDk3MzI5NShlKXtlLmV4cG9ydHM9WyJGb290d2VhciBXaG9sZXNhbGUiXX0sODA4MDA4KGUpe2UuZXhwb3J0cz1bIkZvcmVzdCAmIFdvb2QgUHJvZHVjdHMiXX0sNDY0MjM5KGUpe2UuZXhwb3J0cz1bIkZvcmVzdCBOdXJzZXJpZXMgJiBHYXRoZXJpbmcgb2YgRm9yZXN0IFByb2R1Y3RzIl19LDM0NDY1MyhlKXtlLmV4cG9ydHM9WyJGb3Jlc3QgUHJvZHVjdHMiXX0sODMxODc1KGUpe2UuZXhwb3J0cz1bIkZvcmVzdCBTdXBwb3J0ICYgU2VydmljZXMiXX0sMjU1MDkzKGUpe2UuZXhwb3J0cz1bIkZvcmV4Il19LDI0OTgyKGUpe2UuZXhwb3J0cz1bIkZvc3NpbCBGdWVsIEVsZWN0cmljIFV0aWxpdGllcyJdfSwxOTM3MTEoZSl7ZS5leHBvcnRzPVsiRm9zc2lsIEZ1ZWwgSVBQcyJdfSwyNjA2MDUoZSl7ZS5leHBvcnRzPVsiRmF2b3JpdGUgc2V0cyJdfSw1ODA2NTgoZSl7ZS5leHBvcnRzPVsiRmFicmljIER5ZWluZyAmIEZpbmlzaGluZyJdfSw3NTI0MzAoZSl7ZS5leHBvcnRzPVsiRmFjdG9yaW5nIl19LDk5MzQ3NShlKXtlLmV4cG9ydHM9WyJGYWxrbGFuZCBJc2xhbmRzIl19LDYwNzcyMyhlKXtlLmV4cG9ydHM9WyJGYWxrbGFuZCBJc2xhbmRzIChNYWx2aW5hcykiXX0sNDI4OTc4KGUpe2UuZXhwb3J0cz1bIkZhbGxpbmcgcGFpcnMiXX0sNDUyNDg3KGUpe2UuZXhwb3J0cz1bIkZhcm9lIElzbGFuZHMiXX0sNzQ1NTE2KGUpe2UuZXhwb3J0cz1bIkZhc2hpb24gRXlld2VhciJdfSw2MTczNDEoZSl7ZS5leHBvcnRzPVsiRmViIl19LDYzNjA2NChlKXtlLmV4cG9ydHM9WyJGZXJ0aWxpemVyIl19LDIxNDg1KGUpe2UuZXhwb3J0cz1bIkZpYmVyIE9wdGljIENhYmxlIE1hbnVmYWN0dXJpbmciXX0sMTUyNDA5KGUpe2UuZXhwb3J0cz1bIkZpamkiXX0sMTQxNzI3KGUpe2UuZXhwb3J0cz1bIkZpbHRlcnMiXX0sNDYyMTkzKGUpe2UuZXhwb3J0cz1bIkZpbmFuY2UiXX0sOTkyMjk2KGUpe2UuZXhwb3J0cz1bIkZpbmFuY2UvUmVudGFsL0xlYXNpbmciXX0sNjY1OTA1KGUpe2UuZXhwb3J0cz1bIkZpbmFuY2U6IENvbnN1bWVyIFNlcnZpY2VzIl19LDc2OTg3NChlKXtlLmV4cG9ydHM9WyJGaW5hbmNpbmcgY2FzaCBmbG93ICh7cGVyaW9kfSkiXX0sMTI4NDc5KGUpe2UuZXhwb3J0cz1bIkZpbmFuY2lhbCJdfSw5MjA2NDIoZSl7ZS5leHBvcnRzPVsiRmluYW5jaWFsICYgQ29tbW9kaXR5IE1hcmtldCBPcGVyYXRvcnMiXX0sNTAwMjQ3KGUpe2UuZXhwb3J0cz1bIkZpbmFuY2lhbCBDb25nbG9tZXJhdGVzIl19LDYxNDQzMyhlKXtlLmV4cG9ydHM9WyJGaW5hbmNpYWwgSW5mb3JtYXRpb24gUHJvdmlkZXJzIl19LDkzNzI2NChlKXtlLmV4cG9ydHM9WyJGaW5hbmNpYWwgUHVibGlzaGluZy9TZXJ2aWNlcyJdfSw0NDM0OTYoZSl7ZS5leHBvcnRzPVsiRmluYW5jaWFsIFRlY2hub2xvZ3kgJiBJbmZyYXN0cnVjdHVyZSJdfSwzNjkzMjUoZSl7ZS5leHBvcnRzPVsiRmluYW5jaWFscyJdfSw2MTMxNChlKXtlLmV4cG9ydHM9WyJGaW5hbmNpYWxzIGN1cnJlbmN5Il19LDM0MTI0NChlKXtlLmV4cG9ydHM9WyJGaW5hbmNpYWxzIGluIl19LDk3NjQ1NChlKXtlLmV4cG9ydHM9WyJGaW5sYW5kIl19LDMxNDUyMShlKXtlLmV4cG9ydHM9WyJGaXNjYWwgeWVhciBlbmQiXX0sMzAxNjk1KGUpe2UuZXhwb3J0cz1bIkZpc2hpbmcgJiBGYXJtaW5nIl19LAoyMTYxODkoZSl7ZS5leHBvcnRzPVsiRmlzaGluZyAmIEZhcm1pbmcgV2hvbGVzYWxlIl19LDQ3NTIyNShlKXtlLmV4cG9ydHM9WyJGbHVpZCBQb3dlciBDeWxpbmRlciAmIEFjdHVhdG9ycyJdfSw3MjMwODgoZSl7ZS5leHBvcnRzPVsiRmxvYXQiXX0sNDg1NDI5KGUpe2UuZXhwb3J0cz1bIkZsb29yIENvdmVyaW5nIFJldGFpbGVycyJdfSw4MTg2MjgoZSl7ZS5leHBvcnRzPVsiRmxvb3JpbmcgJiBJbnRlcmlvciBUaWxlIE1hbnVmYWN0dXJlcnMiXX0sMzg5NDg3KGUpe2UuZXhwb3J0cz1bIkZsb3Jpc3RzIl19LDM5ODIzNyhlKXtlLmV4cG9ydHM9WyJGbG91ciBNaWxsaW5nIl19LDkxNjYyKGUpe2UuZXhwb3J0cz1bIkZydWl0ICYgVmVnZXRhYmxlIFByb2Nlc3NpbmciXX0sNzc0MjE2KGUpe2UuZXhwb3J0cz1bIkZydWl0IERyaW5rcyJdfSw5Njg4MTUoZSl7ZS5leHBvcnRzPVsiRnJhY3Rpb24gcGFydCBpcyBpbnZhbGlkLiJdfSwxMzYyMzgoZSl7ZS5leHBvcnRzPVsiRnJhbmNlIl19LDE0NDYzKGUpe2UuZXhwb3J0cz1bIkZyZWUgQ2FzaCBGbG93Il19LDYwNzU2MChlKXtlLmV4cG9ydHM9WyJGcmVlIENhc2ggRmxvdyAoQW5udWFsIFlvWSBHcm93dGgpIl19LDM0NDM2KGUpe2UuZXhwb3J0cz1bIkZyZWUgQ2FzaCBGbG93IChRdWFydGVybHkgUW9RIEdyb3d0aCkiXX0sMjY1MDYoZSl7ZS5leHBvcnRzPVsiRnJlZSBDYXNoIEZsb3cgKFF1YXJ0ZXJseSBZb1kgR3Jvd3RoKSJdfSw3ODU3MShlKXtlLmV4cG9ydHM9WyJGcmVlIENhc2ggRmxvdyAoVFRNIFlvWSBHcm93dGgpIl19LDE2NzY4OChlKXtlLmV4cG9ydHM9WyJGcmVlIENhc2ggRmxvdyAoVFRNKSJdfSw1MzExNzMoZSl7ZS5leHBvcnRzPVsiRnJlZSBDYXNoIEZsb3cgTWFyZ2luIChGWSkiXX0sOTI0NTUzKGUpe2UuZXhwb3J0cz1bIkZyZWUgQ2FzaCBGbG93IE1hcmdpbiAoVFRNKSJdfSw2MjI1NTkoZSl7ZS5leHBvcnRzPVsiRnJlZSBjYXNoIGZsb3cgKHtwZXJpb2R9KSJdfSw5NjkyMzcoZSl7ZS5leHBvcnRzPVsiRnJlaWdodCBMb2dpc3RpY3MiXX0sMzQyNzA2KGUpe2UuZXhwb3J0cz1bIkZyZWlnaHQgVHJ1Y2tpbmciXX0sOTc2MDc5KGUpe2UuZXhwb3J0cz1bIkZyZW5jaCBHdWlhbmEiXX0sODYzODI1KGUpe2UuZXhwb3J0cz1bIkZyZW5jaCBQb2x5bmVzaWEiXX0sMzI4NjA3KGUpe2UuZXhwb3J0cz1bIkZyZW5jaCBTb3V0aGVybiBUZXJyaXRvcmllcyJdfSw3ODI5NjQoZSl7ZS5leHBvcnRzPVsiRnJvemVuIEZvb2QgTWFudWZhY3R1cmluZyJdfSw5NDM5MDMoZSl7ZS5leHBvcnRzPVsiRnV0dXJlcyJdfSw2ODczMzIoZSl7ZS5leHBvcnRzPVsiRnVsbHkgRGlsdXRlZCBNYXJrZXQgQ2FwIl19LDg4MTkxOShlKXtlLmV4cG9ydHM9WyJGdW5lcmFsIFNlcnZpY2VzIl19LDI2NjY3MShlKXtlLmV4cG9ydHM9WyJGdXJuaXR1cmUiXX0sODM4NShlKXtlLmV4cG9ydHM9WyJGdXJuaXR1cmUgUmV0YWlsZXJzIl19LDk3ODU2MShlKXtlLmV4cG9ydHM9WyJHMjAiXX0sNTgxNjc5KGUpe2UuZXhwb3J0cz1bIktuaXR3ZWFyIl19LDY3Njg2KGUpe2UuZXhwb3J0cz1bIktvc292byJdfSwyNzc1NjAoZSl7ZS5leHBvcnRzPVsiS2F6YWtoc3RhbiJdfSw2Nzk1NDYoZSl7ZS5leHBvcnRzPVsiS2VsdG5lciBDaGFubmVscyBMb3dlciBCYW5kICgyMCkiXX0sMzA1ODg1KGUpe2UuZXhwb3J0cz1bIktlbHRuZXIgQ2hhbm5lbHMgVXBwZXIgQmFuZCAoMjApIl19LDgxNDk2NihlKXtlLmV4cG9ydHM9WyJLZW55YSJdfSw0NTcyNDIoZSl7ZS5leHBvcnRzPVsiS2l0Y2hlbiBBcHBsaWFuY2VzIl19LDQyMjYxOShlKXtlLmV4cG9ydHM9WyJLaXRjaGVuIENhYmluZXRzIl19LDQ1NzY5NChlKXtlLmV4cG9ydHM9WyJLaWNraW5nIEJlYXJpc2giXX0sNjE4NDkyKGUpe2UuZXhwb3J0cz1bIktpY2tpbmcgQnVsbGlzaCJdfSw0NDYyOTMoZSl7ZS5leHBvcnRzPVsiS2lyaWJhdGkiXX0sMjU3NzYwKGUpe2UuZXhwb3J0cz1bIktsdENoMjAgTG93Il19LDI0MDcxNShlKXtlLmV4cG9ydHM9WyJLbHRDaDIwIFVwIl19LDM5NTEzMChlKXtlLmV4cG9ydHM9WyJLdXdhaXQiXX0sNDU4NjYwKGUpe2UuZXhwb3J0cz1bIkt5cmd5enN0YW4iXX0sODgzNjIwKGUpe2UuZXhwb3J0cz1bIkhvdGVscyAmIE1vdGVscyJdfSwxNjQyNzcoZSl7ZS5leHBvcnRzPVsiSG90ZWxzL1Jlc29ydHMvQ3J1aXNlIGxpbmVzIl19LDM5OTc5MShlKXtlLmV4cG9ydHM9WyJIb3RlbHMsIE1vdGVscyAmIENydWlzZSBMaW5lcyJdfSw3MTg2MDcoZSl7ZS5leHBvcnRzPVsiSG91c2Vob2xkIEFwcGxpYW5jZXMiXX0sMjc1NDk4KGUpe2UuZXhwb3J0cz1bIkhvdXNlaG9sZCBFbGVjdHJvbmljcyJdfSw2OTkyODkoZSl7ZS5leHBvcnRzPVsiSG91c2Vob2xkIFByb2R1Y3RzIl19LDI5MzcwNyhlKXtlLmV4cG9ydHM9WyJIb3VzZWhvbGQvUGVyc29uYWwgQ2FyZSJdfSw3MzA0OTYoZSl7ZS5leHBvcnRzPVsiSG9sZGluZyBDb21wYW5pZXMiXX0sMTI3NDkoZSl7ZS5leHBvcnRzPVsiSG9seSBTZWUiXX0sNjc0MTA1KGUpe2UuZXhwb3J0cz1bIkhvbWUgQXVkaW8iXX0sMjY1NDIoZSl7ZS5leHBvcnRzPVsiSG9tZSBEZWNvciBSZXRhaWxlcnMiXX0sNzk3ODYoZSl7ZS5leHBvcnRzPVsiSG9tZSBGdXJuaXNoaW5ncyJdfSwyOTEyMDMoZSl7ZS5leHBvcnRzPVsiSG9tZSBGdXJuaXNoaW5ncyBSZXRhaWxlcnMiXX0sNDYxNDUyKGUpe2UuZXhwb3J0cz1bIkhvbWUgRnVybmlzaGluZ3MgV2hvbGVzYWxlIl19LDI5Njc4MShlKXtlLmV4cG9ydHM9WyJIb21lIEhlYWx0aGNhcmUgU2VydmljZXMiXX0sMTE2Mjg3KGUpe2UuZXhwb3J0cz1bIkhvbWUgSW1wcm92ZW1lbnQgQ2hhaW5zIl19LDY2MTE0NyhlKXtlLmV4cG9ydHM9WyJIb21lIEltcHJvdmVtZW50IFByb2R1Y3RzICYgU2VydmljZXMgUmV0YWlsZXJzIl19LDg1MjcyNChlKXtlLmV4cG9ydHM9WyJIb21lYnVpbGRpbmciXX0sMjAyODE2KGUpe2UuZXhwb3J0cz1bIkhvbmR1cmFzIl19LDQ2Mzc3OShlKXtlLmV4cG9ydHM9WyJIb25nIEtvbmcsIENoaW5hIl19LDU0NTkyNShlKXtlLmV4cG9ydHM9WyJIb3JzZSAmIERvZyBSYWNlIFRyYWNrcyJdfSwxMjQ0MDIoZSl7CmUuZXhwb3J0cz1bIkhvc2llcnkgJiBTb2NrIl19LDM4MDk0NChlKXtlLmV4cG9ydHM9WyJIb3NwaXRhbC9OdXJzaW5nIE1hbmFnZW1lbnQiXX0sNTQ5MTM3KGUpe2UuZXhwb3J0cz1bIkhvc3BpdGFsaXR5IFJFSVRzIl19LDc3MjU0OChlKXtlLmV4cG9ydHM9WyJIb3NwaXRhbHMsIENsaW5pY3MgJiBQcmltYXJ5IENhcmUgU2VydmljZXMiXX0sMTM2OTQ2KGUpe2UuZXhwb3J0cz1bIkhhaXIgQWNjZXNzb3JpZXMiXX0sODk0NzA5KGUpe2UuZXhwb3J0cz1bIkhhaXRpIl19LDgyODY0MShlKXtlLmV4cG9ydHM9WyJIYWxhbCBBbmltYWwgU2xhdWdodGVyaW5nICYgUHJvY2Vzc2luZyJdfSw4NjU5MDcoZSl7ZS5leHBvcnRzPVsiSGFtbWVyIl19LDM0ODMzMChlKXtlLmV4cG9ydHM9WyJIYW5naW5nIE1hbiJdfSw0NjY0NzkoZSl7ZS5leHBvcnRzPVsiSGFuZGJhZ3MgJiBMdWdnYWdlIl19LDE0NDAxKGUpe2UuZXhwb3J0cz1bIkhhbmRiYWdzICYgTHVnZ2FnZSBSZXRhaWxlcnMiXX0sMTAwOTU2KGUpe2UuZXhwb3J0cz1bIkhlYWx0aCBGb29kIFN0b3JlcyJdfSwzNTAwOTAoZSl7ZS5leHBvcnRzPVsiSGVhbHRoIEluc3VyYW5jZSJdfSw2MjA2MDEoZSl7ZS5leHBvcnRzPVsiSGVhbHRoIFNlcnZpY2VzIl19LDQxODQ1NyhlKXtlLmV4cG9ydHM9WyJIZWFsdGggVGVjaG5vbG9neSJdfSw4MDY4NjcoZSl7ZS5leHBvcnRzPVsiSGVhbHRoY2FyZSJdfSw2OTMxODUoZSl7ZS5leHBvcnRzPVsiSGVhbHRoY2FyZSBGYWNpbGl0aWVzICYgU2VydmljZXMiXX0sMTY4NzI4KGUpe2UuZXhwb3J0cz1bIkhlYWx0aGNhcmUgUkVJVHMiXX0sMjM2MTIzKGUpe2UuZXhwb3J0cz1bIkhlYXJkIElzbGFuZCBhbmQgTWNEb25hbGQgSXNsYW5kcyJdfSw1Mzk5MjIoZSl7ZS5leHBvcnRzPVsiSGVhdGluZywgVmVudGlsYXRpb24gJiBBaXIgQ29uZGl0aW9uaW5nIFN5c3RlbXMiXX0sMjYyOTgzKGUpe2UuZXhwb3J0cz1bIkhlYXZ5IEJ1c2VzICYgQ29hY2hlcyJdfSw0NTgxMjcoZSl7ZS5leHBvcnRzPVsiSGVhdnkgRWxlY3RyaWNhbCBFcXVpcG1lbnQiXX0sMjUwNTIoZSl7ZS5leHBvcnRzPVsiSGVhdnkgTW90b3JzICYgR2VuZXJhdG9ycyJdfSwzODE2MDQoZSl7ZS5leHBvcnRzPVsiSGVhdnkgTWFjaGluZXJ5ICYgVmVoaWNsZXMiXX0sNTE4MDQ0KGUpe2UuZXhwb3J0cz1bIkhlYXZ5IE1hY2hpbmVyeSAmIFZlaGljbGVzIFdob2xlc2FsZSJdfSw5OTgwNjcoZSl7ZS5leHBvcnRzPVsiSGVhdnkgVHJ1Y2tzIl19LDg5ODMzNihlKXtlLmV4cG9ydHM9WyJIZWRnZSBGdW5kcyJdfSwxMjI3NjQoZSl7ZS5leHBvcnRzPVsiSGlkZSBjdXJyZW5jeSJdfSw3MjEwMDEoZSl7ZS5leHBvcnRzPVsiSGlkZSBkZXNjcmlwdGlvbiJdfSw3NTcyMzEoZSl7ZS5leHBvcnRzPVsiSGlkZSByYXRpbmciXX0sOTI2ODI1KGUpe2UuZXhwb3J0cz1bIkhpZGUgc3ltYm9sIHR5cGUiXX0sODQ1NTYzKGUpe2UuZXhwb3J0cz1bIkhpZ2giXX0sODg1OTMoZSl7ZS5leHBvcnRzPVsiSGlnaC1kaXZpZGVuZCJdfSw5MDAzNzUoZSl7ZS5leHBvcnRzPVsiSGlnaCA1MlciXX0sNDczNzYyKGUpe2UuZXhwb3J0cz1bIkhpZ2h3YXkgJiBCcmlkZ2UgQ29uc3RydWN0aW9uIl19LDc3Mjg4NihlKXtlLmV4cG9ydHM9WyJIaWdod2F5IE9wZXJhdG9ycyJdfSw1MTM3NzYoZSl7ZS5leHBvcnRzPVsiSGlnaHdheXMgJiBSYWlsIFRyYWNrcyJdfSw3NjA3MTkoZSl7ZS5leHBvcnRzPVsiSHVsbCBNb3ZpbmcgQXZlcmFnZSAoOSkiXX0sNzM5MjAzKGUpe2UuZXhwb3J0cz1bIkh1bGxNQTkiXX0sNTk1OTk2KGUpe2UuZXhwb3J0cz1bIkh1bWFuIFJlc291cmNlcyBDb25zdWx0aW5nIFNlcnZpY2VzIl19LDY2MTM2NihlKXtlLmV4cG9ydHM9WyJIdW5nYXJ5Il19LDM0NzI0OShlKXtlLmV4cG9ydHM9WyJIeWRyb2dlbiBGdWVsIl19LDg4NzgzNyhlKXtlLmV4cG9ydHM9WyJIeWRyb3Bvd2VyIEVxdWlwbWVudCJdfSw1NzQ1NDMoZSl7ZS5leHBvcnRzPVsiSVQgU2VydmljZXMgJiBDb25zdWx0aW5nIl19LDcxNTEwNyhlKXtlLmV4cG9ydHM9WyJJbnRlZ3JhdGVkICBNaW5pbmciXX0sODg2ZTMoZSl7ZS5leHBvcnRzPVsiSW50ZWdyYXRlZCBDaXJjdWl0cyJdfSw0MTQ4NzMoZSl7ZS5leHBvcnRzPVsiSW50ZWdyYXRlZCBMb2dpc3RpY3MgT3BlcmF0b3JzIl19LDI2MjA0NShlKXtlLmV4cG9ydHM9WyJJbnRlZ3JhdGVkIE9pbCJdfSw5OTkxMzEoZSl7ZS5leHBvcnRzPVsiSW50ZWdyYXRlZCBPaWwgJiBHYXMiXX0sNzQ1NTkwKGUpe2UuZXhwb3J0cz1bIkludGVncmF0ZWQgVGVsZWNvbW11bmljYXRpb25zIFNlcnZpY2VzIl19LDU5ODA4MyhlKXtlLmV4cG9ydHM9WyJJbnRlci1kZWFsZXIgQnJva2VyIl19LDI2NzcyMihlKXtlLmV4cG9ydHM9WyJJbnRlcmlvciBEZXNpZ24gU2VydmljZXMiXX0sODI3NDU2KGUpe2UuZXhwb3J0cz1bIkludGVybmF0aW9uYWwgVHJhZGUgRmluYW5jaW5nIl19LDgyMDQ2NChlKXtlLmV4cG9ydHM9WyJJbnRlcm5ldCAmIE1haWwgT3JkZXIgRGVwYXJ0bWVudCBTdG9yZXMiXX0sNzcxMjkyKGUpe2UuZXhwb3J0cz1bIkludGVybmV0ICYgTWFpbCBPcmRlciBEaXNjb3VudCBTdG9yZXMiXX0sMzA2OChlKXtlLmV4cG9ydHM9WyJJbnRlcm5ldCBHYW1pbmciXX0sNDYzNTIzKGUpe2UuZXhwb3J0cz1bIkludGVybmV0IFNvZnR3YXJlL1NlcnZpY2VzIl19LDc5Nzk5NyhlKXtlLmV4cG9ydHM9WyJJbnRlcm5ldCBTZWN1cml0eSAmIFRyYW5zYWN0aW9ucyBTZXJ2aWNlcyJdfSw5MDU1OTMoZSl7ZS5leHBvcnRzPVsiSW50ZXJuZXQgU2VydmljZSBQcm92aWRlcnMiXX0sNjc0NzI5KGUpe2UuZXhwb3J0cz1bIkludGVybmV0IFNlcnZpY2VzIl19LDI3NTAxMihlKXtlLmV4cG9ydHM9WyJJbnRlcm5ldCBSZXRhaWwiXX0sMjcyMTYxKGUpe2UuZXhwb3J0cz1bIkludmVydGVkIEhhbW1lciJdfSw2Mzg0OTgoZSl7ZS5leHBvcnRzPVsiSW52ZXN0aW5nIGNhc2ggZmxvdyAoe3BlcmlvZH0pIl19LDk4NjkxNChlKXtlLmV4cG9ydHM9WyJJbnZlc3RtZW50IEJhbmtlcnMvQnJva2Vycy9TZXJ2aWNlIl19LDQ3NTE3NChlKXtlLmV4cG9ydHM9WyJJbnZlc3RtZW50IEJhbmtpbmciXX0sOTEyNjU4KGUpewplLmV4cG9ydHM9WyJJbnZlc3RtZW50IEJhbmtpbmcgJiBCcm9rZXJhZ2UgU2VydmljZXMiXX0sOTczNzI0KGUpe2UuZXhwb3J0cz1bIkludmVzdG1lbnQgQmFua3MvQnJva2VycyJdfSw0MDkyNzIoZSl7ZS5leHBvcnRzPVsiSW52ZXN0bWVudCBNYW5hZ2VtZW50Il19LDU5MTk2MihlKXtlLmV4cG9ydHM9WyJJbnZlc3RtZW50IE1hbmFnZW1lbnQgJiBGdW5kIE9wZXJhdG9ycyJdfSwzNzkwNjUoZSl7ZS5leHBvcnRzPVsiSW52ZXN0bWVudCBNYW5hZ2VycyJdfSw3NTYxMzYoZSl7ZS5leHBvcnRzPVsiSW52ZXN0bWVudCBTdXBwb3J0IFRvb2xzIl19LDc4NDMzMihlKXtlLmV4cG9ydHM9WyJJbnZlc3RtZW50IFRydXN0cyJdfSwyOTU5NzIoZSl7ZS5leHBvcnRzPVsiSW52ZXN0bWVudCBUcnVzdHMvTXV0dWFsIEZ1bmRzIl19LDE4MjQzNyhlKXtlLmV4cG9ydHM9WyJJbmNvbWUiXX0sODQ3NTQ0KGUpe2UuZXhwb3J0cz1bIkluY29tZSBTdGF0ZW1lbnQiXX0sMTcyMjk1KGUpe2UuZXhwb3J0cz1bIkluZGVwZW5kZW50IFBvd2VyIFByb2R1Y2VycyJdfSwxMjI5MDAoZSl7ZS5leHBvcnRzPVsiSW5kZXgiXX0sMzcyNTIwKGUpe2UuZXhwb3J0cz1bIkluZGlhIl19LDgwMjk3NShlKXtlLmV4cG9ydHM9WyJJbmRvbmVzaWEiXX0sMTk1ODc4KGUpe2UuZXhwb3J0cz1bIkluZHVzdHJpYWwgIFJlYWwgRXN0YXRlIERldmVsb3BtZW50Il19LDY1MDEwMyhlKXtlLmV4cG9ydHM9WyJJbmR1c3RyaWFsIEJpb3RlY2hub2xvZ3kgQ2hlbWljYWxzIl19LDk0ODMxMChlKXtlLmV4cG9ydHM9WyJJbmR1c3RyaWFsIENvbmdsb21lcmF0ZXMiXX0sODE3OTUxKGUpe2UuZXhwb3J0cz1bIkluZHVzdHJpYWwgQ2xvdGhpbmcgJiBVbmlmb3JtcyJdfSw2NjI2NjgoZSl7ZS5leHBvcnRzPVsiSW5kdXN0cmlhbCBFbGVjdHJpY2FsIFN3aXRjaGdlYXIiXX0sMjI2NjcwKGUpe2UuZXhwb3J0cz1bIkluZHVzdHJpYWwgR2FzIl19LDQ5NDU4OChlKXtlLmV4cG9ydHM9WyJJbmR1c3RyaWFsIE1hY2hpbmVyeSJdfSw2NTczNzEoZSl7ZS5leHBvcnRzPVsiSW5kdXN0cmlhbCBNYWNoaW5lcnkgJiBFcXVpcG1lbnQiXX0sNzY2Nzc3KGUpe2UuZXhwb3J0cz1bIkluZHVzdHJpYWwgTWFjaGluZXJ5ICYgRXF1aXBtZW50IFdob2xlc2FsZSJdfSwyNzYyNDcoZSl7ZS5leHBvcnRzPVsiSW5kdXN0cmlhbCBNb3VsZHMiXX0sNjQxNjkoZSl7ZS5leHBvcnRzPVsiSW5kdXN0cmlhbCBQYXJ0cyAmIENvbXBvbmVudHMiXX0sNTE3MjY0KGUpe2UuZXhwb3J0cz1bIkluZHVzdHJpYWwgUGxhbnQiXX0sMzIyMDgyKGUpe2UuZXhwb3J0cz1bIkluZHVzdHJpYWwgUHJvY2VzcyBGdXJuYWNlICYgT3ZlbnMiXX0sMTA4MzYxKGUpe2UuZXhwb3J0cz1bIkluZHVzdHJpYWwgUkVJVHMiXX0sNzM1NzIzKGUpe2UuZXhwb3J0cz1bIkluZHVzdHJpYWwgUnViYmVyIFByb2R1Y3RzIl19LDk5OTU2MChlKXtlLmV4cG9ydHM9WyJJbmR1c3RyaWFsIFNlcnZpY2VzIl19LDIxNDM5NihlKXtlLmV4cG9ydHM9WyJJbmR1c3RyaWFsIFNwZWNpYWx0aWVzIl19LDI0OTI0OShlKXtlLmV4cG9ydHM9WyJJbmR1c3RyaWFsIFZhbHZlIE1hbnVmYWN0dXJpbmciXX0sOTc4NTcyKGUpe2UuZXhwb3J0cz1bIkluZHVzdHJpYWxzIl19LDkwNTgzNShlKXtlLmV4cG9ydHM9WyJJbmR1c3RyaWVzIl19LDg3NzYxKGUpe2UuZXhwb3J0cz1bIkluZHVzdHJ5Il19LDg5OTA4MChlKXtlLmV4cG9ydHM9WyJJbmZvcm1hdGlvbiBUZWNobm9sb2d5IFNlcnZpY2VzIl19LDQyMDg0KGUpe2UuZXhwb3J0cz1bIklubGFuZCBXYXRlciBGcmVpZ2h0Il19LDQwMzQ3NChlKXtlLmV4cG9ydHM9WyJJbnB1dCBEZXZpY2VzIl19LDcwOTQ5NyhlKXtlLmV4cG9ydHM9WyJJbnN0cnVtZW50IGN1cnJlbmN5Il19LDMyODMxMyhlKXtlLmV4cG9ydHM9WyJJbnN0cnVtZW50IGlzIG5vdCBhbGxvd2VkIl19LDQ2NzU1MihlKXtlLmV4cG9ydHM9WyJJbnN1cmFuY2UgLSBBdXRvbW9iaWxlIl19LDg3MTE1NihlKXtlLmV4cG9ydHM9WyJJbnN1cmFuY2UgQnJva2VycyJdfSw2NjQ2NzAoZSl7ZS5leHBvcnRzPVsiSW5zdXJhbmNlIEJyb2tlcnMvU2VydmljZXMiXX0sNDQwMTg4KGUpe2UuZXhwb3J0cz1bIkljZWxhbmQiXX0sNzAyOTQ2KGUpe2UuZXhwb3J0cz1bIkljaGltb2t1IENvbnZlcnNpb24iXX0sOTI2NChlKXtlLmV4cG9ydHM9WyJJY2hpbW9rdSBDb252ZXJzaW9uIExpbmUgKDksIDI2LCA1MiwgMjYpIl19LDc1MjkzNChlKXtlLmV4cG9ydHM9WyJJY2hpbW9rdSBCYXNlIl19LDQ5MDcyOChlKXtlLmV4cG9ydHM9WyJJY2hpbW9rdSBCYXNlIExpbmUgKDksIDI2LCA1MiwgMjYpIl19LDMxMDE3NyhlKXtlLmV4cG9ydHM9WyJJY2hpbW9rdSBMZWFkaW5nIFNwYW4gQSJdfSwyOTczMTAoZSl7ZS5leHBvcnRzPVsiSWNoaW1va3UgTGVhZGluZyBTcGFuIEEgKDksIDI2LCA1MiwgMjYpIl19LDgzOTU4MShlKXtlLmV4cG9ydHM9WyJJY2hpbW9rdSBMZWFkaW5nIFNwYW4gQiJdfSw3MDY1NjIoZSl7ZS5leHBvcnRzPVsiSWNoaW1va3UgTGVhZGluZyBTcGFuIEIgKDksIDI2LCA1MiwgMjYpIl19LDM3MTc0NihlKXtlLmV4cG9ydHM9WyJJcmFxIl19LDcxMTUyNyhlKXtlLmV4cG9ydHM9WyJJcmVsYW5kIl19LDcwOTc5NChlKXtlLmV4cG9ydHM9WyJJcm9uIE9yZSBNaW5pbmciXX0sMjYzNDIxKGUpe2UuZXhwb3J0cz1bIklyb24sIFN0ZWVsIE1pbGxzICYgRm91bmRyaWVzIl19LDIwNzgyNShlKXtlLmV4cG9ydHM9WyJJc2xlIG9mIE1hbiJdfSw4MDMzNTQoZSl7ZS5leHBvcnRzPVsiSXNyYWVsIl19LDg5ODE2MyhlKXtlLmV4cG9ydHM9WyJJdGFseSJdfSw3MjQ5MTIoZSl7ZS5leHBvcnRzPVsiSeKAmW0gbm90IHJlYWR5Il19LDU4MzAwOShlKXtlLmV4cG9ydHM9WyJKb3JkYW4iXX0sMTYzNShlKXtlLmV4cG9ydHM9WyJKYW1haWNhIl19LDY1NzM3NChlKXtlLmV4cG9ydHM9WyJKYW4iXX0sMjAwMDY4KGUpe2UuZXhwb3J0cz1bIkphcGFuIl19LDY2MDI5NChlKXtlLmV4cG9ydHM9WyJKZXdlbHJ5Il19LDQ1NDk4MyhlKXtlLmV4cG9ydHM9WyJKZXdlbHJ5ICYgV2F0Y2ggUmV0YWlsZXJzIl19LDE2MTg0MChlKXtlLmV4cG9ydHM9WyJKZWFucyJdfSwKMTE4NTk4KGUpe2UuZXhwb3J0cz1bIkplcnNleSJdfSw2Njk2OTEoZSl7ZS5leHBvcnRzPVsiSnV2ZW5pbGUgRnVybml0dXJlIl19LDE4Mzk1OShlKXtlLmV4cG9ydHM9WyJKdWwiXX0sODc3NDUoZSl7ZS5leHBvcnRzPVsiSnVuIl19LDI4NTI5MyhlKXtlLmV4cG9ydHM9WyJPbWFuIl19LDI0MDIyKGUpe2UuZXhwb3J0cz1bIk9ubGluZSBKb2IgcG9ydGFscyJdfSw3MjgzMzcoZSl7ZS5leHBvcnRzPVsiT2N0Il19LDEyODc0KGUpe2UuZXhwb3J0cz1bIk9mZmljZSBFcXVpcG1lbnQiXX0sODQ5MTE4KGUpe2UuZXhwb3J0cz1bIk9mZmljZSBFcXVpcG1lbnQvU3VwcGxpZXMiXX0sNDI0ODYxKGUpe2UuZXhwb3J0cz1bIk9mZmljZSBFcXVpcG1lbnQgJiBTdXBwbGllcyBSZW50YWwiXX0sMTM3NTI1KGUpe2UuZXhwb3J0cz1bIk9mZmljZSBFcXVpcG1lbnQgV2hvbGVzYWxlIl19LDc5Nzc0OChlKXtlLmV4cG9ydHM9WyJPZmZpY2UgRnVybml0dXJlIl19LDkyNzcxMihlKXtlLmV4cG9ydHM9WyJPZmZpY2UgUkVJVHMiXX0sNDMzOTExKGUpe2UuZXhwb3J0cz1bIk9mZmljZSBSZWFsIEVzdGF0ZSBEZXZlbG9wbWVudCJdfSw3MDYzNDkoZSl7ZS5leHBvcnRzPVsiT2ZmaWNlIFJlYWwgRXN0YXRlIFNlcnZpY2VzIl19LDg1NjMyKGUpe2UuZXhwb3J0cz1bIk9mZmljZSBTdXBwbGllcyJdfSw5NDAxMTUoZSl7ZS5leHBvcnRzPVsiT2ZmaWNlIFN1cHBsaWVzICYgU3RhdGlvbmVyeSBTdG9yZXMiXX0sMzc5NTA3KGUpe2UuZXhwb3J0cz1bIk9mZmljZSBTdXBwbGllcyBXaG9sZXNhbGUiXX0sMjkwMzcwKGUpe2UuZXhwb3J0cz1bIk9mZmljZSBUZWNobm9sb2d5IEVxdWlwbWVudCJdfSw2NDc0MzkoZSl7ZS5leHBvcnRzPVsiT2lsICYgR2FzIERyaWxsaW5nIl19LDE5NDQ1MChlKXtlLmV4cG9ydHM9WyJPaWwgJiBHYXMgRXhwbG9yYXRpb24gYW5kIFByb2R1Y3Rpb24iXX0sMjgzODg1KGUpe2UuZXhwb3J0cz1bIk9pbCAmIEdhcyBQaXBlbGluZXMiXX0sMzkxNyhlKXtlLmV4cG9ydHM9WyJPaWwgJiBHYXMgUHJvZHVjdGlvbiJdfSw1MDMzMTcoZSl7ZS5leHBvcnRzPVsiT2lsICYgR2FzIFJlZmluaW5nIGFuZCBNYXJrZXRpbmciXX0sOTIyNDkzKGUpe2UuZXhwb3J0cz1bIk9pbCAmIEdhcyBTdG9yYWdlIl19LDg5NjgxOShlKXtlLmV4cG9ydHM9WyJPaWwgJiBHYXMgVHJhbnNwb3J0YXRpb24gU2VydmljZXMiXX0sMjk4MDUwKGUpe2UuZXhwb3J0cz1bIk9pbCBEcmlsbGluZyAtIE9uc2hvcmUiXX0sMTc5NDk3KGUpe2UuZXhwb3J0cz1bIk9pbCBEcmlsbGluZyAtIE9mZnNob3JlIl19LDg1NzkxOChlKXtlLmV4cG9ydHM9WyJPaWwgRXhwbG9yYXRpb24gJiBQcm9kdWN0aW9uIC0gT2Zmc2hvcmUiXX0sNzM3MjMwKGUpe2UuZXhwb3J0cz1bIk9pbCBFeHBsb3JhdGlvbiAmIFByb2R1Y3Rpb24gLSBPbnNob3JlIl19LDEyODg3OShlKXtlLmV4cG9ydHM9WyJPaWwgUGlwZWxpbmUiXX0sNzkyMDMyKGUpe2UuZXhwb3J0cz1bIk9pbCBSZWZpbmluZy9NYXJrZXRpbmciXX0sNjY5MTU2KGUpe2UuZXhwb3J0cz1bIk9pbCBSZWxhdGVkIC0gU3VydmV5aW5nICYgTWFwcGluZyBTZXJ2aWNlcyJdfSw1NjE2MTUoZSl7ZS5leHBvcnRzPVsiT2lsIFJlbGF0ZWQgRXF1aXBtZW50Il19LDU3MzE2NyhlKXtlLmV4cG9ydHM9WyJPaWwgUmVsYXRlZCBTZXJ2aWNlcyJdfSwyMjA1MyhlKXtlLmV4cG9ydHM9WyJPaWwgUmVsYXRlZCBTZXJ2aWNlcyBhbmQgRXF1aXBtZW50Il19LDg4NTU0NihlKXtlLmV4cG9ydHM9WyJPaWxmaWVsZCBTZXJ2aWNlcy9FcXVpcG1lbnQiXX0sMjA4MDc4KGUpe2UuZXhwb3J0cz1bIk9rIl19LDc2ODQwMShlKXtlLmV4cG9ydHM9WyJPcHRpY2FsIEdvb2RzIFN0b3JlcyJdfSw5Nzc4MShlKXtlLmV4cG9ydHM9WyJPcGVuIl19LDkzNjEzNShlKXtlLmV4cG9ydHM9WyJPcGVuIHtzeW1ib2x9IENoYXJ0Li4uIl19LDcwNjQwMChlKXtlLmV4cG9ydHM9WyJPcGVuIHtzeW1ib2x9IFBhZ2UuLi4iXX0sMzIxMDI5KGUpe2UuZXhwb3J0cz1bIk9wZW4gUHJpY2UiXX0sMzMyOTkoZSl7ZS5leHBvcnRzPVsiT3BlcmF0aW5nIE1hcmdpbiJdfSw0MzUwNzAoZSl7ZS5leHBvcnRzPVsiT3BlcmF0aW5nIE1hcmdpbiAoRlkpIl19LDgwMDQzMyhlKXtlLmV4cG9ydHM9WyJPcGVyYXRpbmcgTWFyZ2luIChUVE0pIl19LDQ3MjY2OShlKXtlLmV4cG9ydHM9WyJPcGVyYXRpbmcgbWFyZ2luICh7cGVyaW9kfSkiXX0sMzU3Nzc0KGUpe2UuZXhwb3J0cz1bIk9wZXJhdGluZyBjYXNoIGZsb3cgKHtwZXJpb2R9KSJdfSw4NTAyMTEoZSl7ZS5leHBvcnRzPVsiT3BlcmF0aW5nIGluY29tZSAoe3BlcmlvZH0pIl19LDgxMzIxOChlKXtlLmV4cG9ydHM9WyJPcmdhbmljICYgRWNvbG9naWNhbGx5IFByb2R1Y2VkIEZhYnJpYyJdfSwzMDE3MzEoZSl7ZS5leHBvcnRzPVsiT3JnYW5pYyBGZXJ0aWxpemVyIl19LDM1OTE1MChlKXtlLmV4cG9ydHM9WyJPc2NpbGxhdG9ycyJdfSw1NDA0NDAoZSl7ZS5leHBvcnRzPVsiT3NjaWxsYXRvcnMgUmF0aW5nIl19LDQ2MzgwKGUpe2UuZXhwb3J0cz1bIk90aGVyIENvbnN1bWVyIFNlcnZpY2VzIl19LDkwNzc1MChlKXtlLmV4cG9ydHM9WyJPdGhlciBDb25zdW1lciBTcGVjaWFsdGllcyJdfSwxMDU4NzEoZSl7ZS5leHBvcnRzPVsiT3RoZXIgTWV0YWxzL01pbmVyYWxzIl19LDM2Njc4OShlKXtlLmV4cG9ydHM9WyJPdGhlciBTcGVjaWFsdHkgUmV0YWlsZXJzIl19LDUxMTU4NihlKXtlLmV4cG9ydHM9WyJPdGhlciBUcmFuc3BvcnRhdGlvbiJdfSw0MzA3OTgoZSl7ZS5leHBvcnRzPVsiT3V0ZG9vciBBZHZlcnRpc2luZyJdfSwyNzc5NDIoZSl7ZS5leHBvcnRzPVsiT3V0c291cmNpbmcgJiBTdGFmZmluZyBTZXJ2aWNlcyJdfSwxNzI1NDMoZSl7ZS5leHBvcnRzPVsiT3V0c2lkZSJdfSwzNzY1MzIoZSl7ZS5leHBvcnRzPVsiT3V0cGVyZm9ybWluZyBTTUE1MCJdfSwyMjI1OTcoZSl7ZS5leHBvcnRzPVsiT3ZlcmJvdWdodCJdfSw4MTEyMDMoZSl7ZS5leHBvcnRzPVsiT3ZlcnNvbGQiXX0sNTY4MzQ2KGUpe2UuZXhwb3J0cz1bIk92ZXJ2aWV3Il19LDg2MzkxNihlKXsKZS5leHBvcnRzPVsiTE5HIFRyYW5zcG9ydGF0aW9uICYgU3RvcmFnZSJdfSw3Mzg0MDcoZSl7ZS5leHBvcnRzPVsiTG90dGVyeSBPcGVyYXRvcnMiXX0sODg4Njc4KGUpe2UuZXhwb3J0cz1bIkxvdyJdfSw5NjI2NTQoZSl7ZS5leHBvcnRzPVsiTG93IDUyVyJdfSw0NDM0MyhlKXtlLmV4cG9ydHM9WyJMb2NhbCBBZ2VuY2llcyJdfSwyOTkxNzUoZSl7ZS5leHBvcnRzPVsiTG9jb21vdGl2ZSBFbmdpbmVzICYgUm9sbGluZyBTdG9jayJdfSw5ODAyNDYoZSl7ZS5leHBvcnRzPVsiTG9nZ2luZyAmIFNhd21pbGxzIl19LDc0ODAxNChlKXtlLmV4cG9ydHM9WyJMb25nIExvd2VyIFNoYWRvdyJdfSw4MTA4MTcoZSl7ZS5leHBvcnRzPVsiTG9uZyBVcHBlciBTaGFkb3ciXX0sMTYwODIoZSl7ZS5leHBvcnRzPVsiTG9va3MgbGlrZSB5b3UgYXJlIHRyeWluZyB0byBzZXQgdXAgYSBzY3JlZW5lciBhbGVydCB3aXRoIG5vIHNhdmVkIGZpbHRlcnMuIFBsZWFzZSBzZWxlY3QgeW91ciBwcmVmZXJyZWQgZmlsdGVyICYgc2F2ZSB5b3VyIHNjcmVlbiB0byBjcmVhdGUgYW4gYWxlcnQuIl19LDI4Mjc3MyhlKXtlLmV4cG9ydHM9WyJMYXR2aWEiXX0sNDcxOTgxKGUpe2UuZXhwb3J0cz1bIkxhdW5kcnkgU3VwcGxpZXMiXX0sNDU2NTM3KGUpe2UuZXhwb3J0cz1bIkxhbmQgRGl2aXNpb24gJiBTdWJkaXZpc2lvbiJdfSw1OTExODAoZSl7ZS5leHBvcnRzPVsiTGFvcyJdfSw1NTIyNzMoZSl7ZS5leHBvcnRzPVsiTGFwdG9wICYgRGVza3RvcCBDb21wdXRlcnMiXX0sNjA5NjY2KGUpe2UuZXhwb3J0cz1bIkxhc2VyIEVxdWlwbWVudCJdfSwyODUzMzMoZSl7ZS5leHBvcnRzPVsiTGFzdCBZZWFyIFJldmVudWUgKEZZKSJdfSw5NTA4MDIoZSl7ZS5leHBvcnRzPVsiTGFzdCBmaXNjYWwgcGVyaW9kIl19LDUzMDQ0NChlKXtlLmV4cG9ydHM9WyJMYXN0IGZpc2NhbCBwZXJpb2QgZW5kIGRhdGUiXX0sNzkyMjYwKGUpe2UuZXhwb3J0cz1bIkxhc3QgcGF5bWVudCBhbW91bnQiXX0sNTY0MDg5KGUpe2UuZXhwb3J0cz1bIkxhc3QgcGF5bWVudCBkYXRlIl19LDI5MjAzOChlKXtlLmV4cG9ydHM9WyJMZXTigJlzIGRvIHRoaXMiXX0sNDU4ODg4KGUpe2UuZXhwb3J0cz1bIkxlYWQgT3JlIE1pbmluZyJdfSw5MDgwNDMoZSl7ZS5leHBvcnRzPVsiTGVhdGhlciBHb29kcyJdfSw5NDU2MTMoZSl7ZS5leHBvcnRzPVsiTGViYW5vbiJdfSw4NjYxNzYoZSl7ZS5leHBvcnRzPVsiTGVnYWwgU2VydmljZXMiXX0sNzUyMjYoZSl7ZS5leHBvcnRzPVsiTGVpc3VyZSAmIFJlY3JlYXRpb24iXX0sNjE0MzMwKGUpe2UuZXhwb3J0cz1bIkxlaXN1cmUgUHJvZHVjdHMgV2hvbGVzYWxlIl19LDY1MzM5NShlKXtlLmV4cG9ydHM9WyJMZXNvdGhvIl19LDg5MjEwMChlKXtlLmV4cG9ydHM9WyJMaXRodWFuaWEiXX0sMTk0MDkxKGUpe2UuZXhwb3J0cz1bIkxpYWJpbGl0aWVzIChNUlEpIl19LDgyOTY1NihlKXtlLmV4cG9ydHM9WyJMaWFiaWxpdGllcyAoRlkpIl19LDY2MjEoZSl7ZS5leHBvcnRzPVsiTGliZXJpYSJdfSw1NTUzNTIoZSl7ZS5leHBvcnRzPVsiTGlieWEiXX0sMzg2NjY3KGUpe2UuZXhwb3J0cz1bIkxpZWNodGVuc3RlaW4iXX0sNjQzMzY1KGUpe2UuZXhwb3J0cz1bIkxpZmUvSGVhbHRoIEluc3VyYW5jZSJdfSw0ODc2NjAoZSl7ZS5leHBvcnRzPVsiTGlmZSAmIEhlYWx0aCBJbnN1cmFuY2UiXX0sNDkzMjY4KGUpe2UuZXhwb3J0cz1bIkxpZmUgJiBIZWFsdGggUmVpbnN1cmFuY2UiXX0sOTk0MTkyKGUpe2UuZXhwb3J0cz1bIkxpZmUgSW5zdXJhbmNlIl19LDcyODY0OShlKXtlLmV4cG9ydHM9WyJMaWdodCBUcnVja3MiXX0sMTkxNjMwKGUpe2UuZXhwb3J0cz1bIkxpZ2h0aW5nIEVxdWlwbWVudCJdfSw0NzkwOTEoZSl7ZS5leHBvcnRzPVsiTGlnaHRpbmcgRml4dHVyZXMiXX0sNjg0OTAxKGUpe2UuZXhwb3J0cz1bIkxpbmdlcmllIl19LDk3NTQ0NyhlKXtlLmV4cG9ydHM9WyJMdXhlbWJvdXJnIl19LDY3NTEwKGUpe2UuZXhwb3J0cz1bIkx1eHVyeSBBY2Nlc3NvcmllcyJdfSw0MDkzNTcoZSl7ZS5leHBvcnRzPVsiTHV4dXJ5IENhciBEZWFsZXJzIl19LDQyNTMwMShlKXtlLmV4cG9ydHM9WyJNT00iXX0sOTQwOTQzKGUpe2UuZXhwb3J0cz1bIk1BQ0QgTGV2ZWwiXX0sMjQ3NTYwKGUpe2UuZXhwb3J0cz1bIk1BQ0QgTGV2ZWwgKDEyLCAyNikiXX0sMzI3OTExKGUpe2UuZXhwb3J0cz1bIk1BQ0QgU2lnbmFsIl19LDk1MDY2MihlKXtlLmV4cG9ydHM9WyJNQUNEIFNpZ25hbCAoMTIsIDI2KSJdfSw1MTgwNDEoZSl7ZS5leHBvcnRzPVsiTUYiXX0sMzIwMDU4KGUpe2UuZXhwb3J0cz1bIk1vdG9yIFZlaGljbGVzIl19LDQ4MDA0NShlKXtlLmV4cG9ydHM9WyJNb3RvcmN5Y2xlIERlYWxlcnMiXX0sOTIyNjIoZSl7ZS5leHBvcnRzPVsiTW90b3JjeWNsZSBQYXJ0cyAmIEFjY2Vzc29yaWVzIl19LDU0MjY4KGUpe2UuZXhwb3J0cz1bIk1vdG9yY3ljbGVzICYgU2Nvb3RlcnMiXX0sMjAwNDUyKGUpe2UuZXhwb3J0cz1bIk1vdmluZyBBdmVyYWdlcyBSYXRpbmciXX0sNTg1ODQ1KGUpe2UuZXhwb3J0cz1bIk1vdmllIFRoZWF0ZXJzICYgTW92aWUgUHJvZHVjdHMiXX0sMTkyOTMxKGUpe2UuZXhwb3J0cz1bIk1vdmllLCBUViBQcm9kdWN0aW9uICYgRGlzdHJpYnV0aW9uIl19LDM3MDEwKGUpe2UuZXhwb3J0cz1bIk1vdmllcy9FbnRlcnRhaW5tZW50Il19LDEwMDAyNihlKXtlLmV4cG9ydHM9WyJNb3phbWJpcXVlIl19LDY4MjU1NyhlKXtlLmV4cG9ydHM9WyJNb2JpbGUgQXBwbGljYXRpb24gU29mdHdhcmUiXX0sNjI1NDUzKGUpe2UuZXhwb3J0cz1bIk1vYmlsZSBQaG9uZSBSZXRhaWxlcnMiXX0sNzUwMDMzKGUpe2UuZXhwb3J0cz1bIk1vYmlsZSBTeXN0ZW0gU29mdHdhcmUiXX0sMzIxMzM2KGUpe2UuZXhwb3J0cz1bIk1vbGRvdmEiXX0sNTMxNTAyKGUpe2UuZXhwb3J0cz1bIk1vbWVudHVtICgxMCkiXX0sMjA4OTA0KGUpe2UuZXhwb3J0cz1bIk1vbmFjbyJdfSw5MTM3MDkoZSl7ZS5leHBvcnRzPVsiTW9uZ29saWEiXX0sMTc4MDk2KGUpe2UuZXhwb3J0cz1bIk1vbmV5IEZsb3cgKDE0KSJdfSw3MzkzNjUoZSl7ZS5leHBvcnRzPVsiTW9udGVuZWdybyJdfSwKNDY3OTgyKGUpe2UuZXhwb3J0cz1bIk1vbnRobHkgUGVyZiJdfSw4MjI4NzUoZSl7ZS5leHBvcnRzPVsiTW9udGhseSBQZXJmb3JtYW5jZSJdfSwzMzMyNjIoZSl7ZS5leHBvcnRzPVsiTW9udHNlcnJhdCJdfSw3MjE0MzMoZSl7ZS5leHBvcnRzPVsiTW9yb2NjbyJdfSw3MTQ0NjMoZSl7ZS5leHBvcnRzPVsiTW9ybmluZyBTdGFyIl19LDQ5ODE1NChlKXtlLmV4cG9ydHM9WyJNb3J0Z2FnZSBSRUlUcyJdfSw2NTY2MDMoZSl7ZS5leHBvcnRzPVsiTW9zdCB2b2xhdGlsZSJdfSw1NTQxNTEoZSl7ZS5leHBvcnRzPVsiTW9zdCBjYXBpdGFsaXplZCJdfSwyNzc5ODQoZSl7ZS5leHBvcnRzPVsiTWF0dXJpdHkgRGF0ZSJdfSw2Njc5OTYoZSl7ZS5leHBvcnRzPVsiTWF1cml0YW5pYSJdfSwxNTAwNTQoZSl7ZS5leHBvcnRzPVsiTWF1cml0aXVzIl19LDQ4MzE0OShlKXtlLmV4cG9ydHM9WyJNYXlvdHRlIl19LDMwNzA2MihlKXtlLmV4cG9ydHM9WyJNYWNhbyJdfSw1MzIyNjkoZSl7ZS5leHBvcnRzPVsiTWFjYXUsIENoaW5hIl19LDQ1OTEwOChlKXtlLmV4cG9ydHM9WyJNYWNlZG9uaWEiXX0sNzQ1MDAzKGUpe2UuZXhwb3J0cz1bIk1hY2hpbmUgVG9vbHMiXX0sNjYwMTg4KGUpe2UuZXhwb3J0cz1bIk1hZGFnYXNjYXIiXX0sMTI3NjMzKGUpe2UuZXhwb3J0cz1bIk1hZ2F6aW5lIFB1Ymxpc2hpbmciXX0sNjAyNTE5KGUpe2UuZXhwb3J0cz1bIk1haW5sYW5kIENoaW5hIl19LDk4MDc4NihlKXtlLmV4cG9ydHM9WyJNYWludGVuYW5jZSAmIFJlcGFpciBTZXJ2aWNlcyJdfSw0NDc3NTMoZSl7ZS5leHBvcnRzPVsiTWFqb3IiXX0sMTQzNzc0KGUpe2UuZXhwb3J0cz1bIk1ham9yIEJhbmtzIl19LDkxNzU3OChlKXtlLmV4cG9ydHM9WyJNYWpvciBQaGFybWFjZXV0aWNhbHMiXX0sMjczMTAzKGUpe2UuZXhwb3J0cz1bIk1ham9yIFRlbGVjb21tdW5pY2F0aW9ucyJdfSwyNDU5NDgoZSl7ZS5leHBvcnRzPVsiTWFsYXdpIl19LDYyNzk2NyhlKXtlLmV4cG9ydHM9WyJNYWxheXNpYSJdfSwzMzE2MTUoZSl7ZS5leHBvcnRzPVsiTWFsZGl2ZXMiXX0sNjIzNDY1KGUpe2UuZXhwb3J0cz1bIk1hbGkiXX0sODQyMzEyKGUpe2UuZXhwb3J0cz1bIk1hbHQgcHJvZHVjZXJzIl19LDU2MzIzNyhlKXtlLmV4cG9ydHM9WyJNYWx0YSJdfSw4MTE0ODMoZSl7ZS5leHBvcnRzPVsiTWFuYWdlZCBIZWFsdGggQ2FyZSJdfSw1MjkzNDcoZSl7ZS5leHBvcnRzPVsiTWFuYWdlZCBIZWFsdGggY2FyZSJdfSwxMjIxMDIoZSl7ZS5leHBvcnRzPVsiTWFuYWdlbWVudCBDb25zdWx0aW5nIFNlcnZpY2VzIl19LDk5ODYxNihlKXtlLmV4cG9ydHM9WyJNYW51YWwgUmVmcmVzaCJdfSwxMDMzMDUoZSl7ZS5leHBvcnRzPVsiTWFyIl19LDI3ODYxNChlKXtlLmV4cG9ydHM9WyJNYXJrZXQgQ2FwaXRhbGl6YXRpb24iXX0sODQxNzYxKGUpe2UuZXhwb3J0cz1bIk1hcmtldCBSZXNlYXJjaCJdfSw5MzkxMzYoZSl7ZS5leHBvcnRzPVsiTWFya2V0IGN1cnJlbmN5Il19LDg5NzM5MyhlKXtlLmV4cG9ydHM9WyJNYXJrZXRpbmcgQ29uc3VsdGluZyBTZXJ2aWNlcyJdfSw1NTMxNjQoZSl7ZS5leHBvcnRzPVsiTWFya2V0cyJdfSwyMzcxNTIoZSl7ZS5leHBvcnRzPVsiTWFyaW5hcyJdfSwyMzU5OTQoZSl7ZS5leHBvcnRzPVsiTWFyaW5lIENhcmdvIEhhbmRsaW5nIFNlcnZpY2VzIl19LDY5MDM4OChlKXtlLmV4cG9ydHM9WyJNYXJpbmUgRnJlaWdodCAmIExvZ2lzdGljcyJdfSw3NjQwOTkoZSl7ZS5leHBvcnRzPVsiTWFyaW5lIExvZ2lzdGljcyJdfSw2OTQ4NDkoZSl7ZS5leHBvcnRzPVsiTWFyaW5lIFBhc3NlbmdlciBUcmFuc3BvcnRhdGlvbiJdfSw1MTE0NTIoZSl7ZS5leHBvcnRzPVsiTWFyaW5lIFBvcnQgU2VydmljZXMiXX0sODA3NTYxKGUpe2UuZXhwb3J0cz1bIk1hcmluZSBTaGlwcGluZyJdfSw0Nzc4NDMoZSl7ZS5leHBvcnRzPVsiTWFyc2hhbGwgSXNsYW5kcyJdfSwxMzUxNTIoZSl7ZS5leHBvcnRzPVsiTWFydGluaXF1ZSJdfSw1MzU3ODMoZSl7ZS5leHBvcnRzPVsiTWFydWJvenUgQmxhY2siXX0sOTUyNTY1KGUpe2UuZXhwb3J0cz1bIk1hcnVib3p1IFdoaXRlIl19LDEwOTM3MihlKXtlLmV4cG9ydHM9WyJNZXRhbCBDb250YWluZXJzICYgUGFja2FnaW5nIl19LDUzNjc5NShlKXtlLmV4cG9ydHM9WyJNZXRhbCBGYWJyaWNhdGlvbiJdfSw1NTk3NjAoZSl7ZS5leHBvcnRzPVsiTWV0YWwgTWVyY2hhbnQgV2hvbGVzYWxlcnMiXX0sMjI5NTQwKGUpe2UuZXhwb3J0cz1bIk1ldGFsIFNlcnZpY2UgQ2VudGVycyJdfSw5NjI0MjcoZSl7ZS5leHBvcnRzPVsiTWV0YWxsaWMgUm9sbGluZyAmIERyYXdpbmcgUHJvZHVjdHMiXX0sODY1NzAwKGUpe2UuZXhwb3J0cz1bIk1leGljbyJdfSw1OTgyNDcoZSl7ZS5leHBvcnRzPVsiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIl19LDI1MjIwMyhlKXtlLmV4cG9ydHM9WyJNZWRpYSBDb25nbG9tZXJhdGVzIl19LDI2NjAyMChlKXtlLmV4cG9ydHM9WyJNZWRpYSBCdXlpbmcgQWdlbmN5Il19LDU5OTE1MChlKXtlLmV4cG9ydHM9WyJNZWRpY2FsL051cnNpbmcgU2VydmljZXMiXX0sNDMyNjYyKGUpe2UuZXhwb3J0cz1bIk1lZGljYWwgJiBEaWFnbm9zdGljIExhYm9yYXRvcmllcyJdfSw4NzA1NTkoZSl7ZS5leHBvcnRzPVsiTWVkaWNhbCBEZXZpY2VzICYgSW1wbGFudHMiXX0sNjU5OTcxKGUpe2UuZXhwb3J0cz1bIk1lZGljYWwgRGlhZ25vc3RpYyAmIFRlc3RpbmcgRXF1aXBtZW50Il19LDUwNzg1KGUpe2UuZXhwb3J0cz1bIk1lZGljYWwgRGlzdHJpYnV0b3JzIl19LDc5MjIwMChlKXtlLmV4cG9ydHM9WyJNZWRpY2FsIEVxdWlwbWVudCJdfSw1MzI4NTcoZSl7ZS5leHBvcnRzPVsiTWVkaWNhbCBFcXVpcG1lbnQgV2hvbGVzYWxlIl19LDcyMjU1NihlKXtlLmV4cG9ydHM9WyJNZWRpY2FsIEVxdWlwbWVudCwgU3VwcGxpZXMgJiBEaXN0cmlidXRpb24iXX0sNzcxNDU3KGUpe2UuZXhwb3J0cz1bIk1lZGljYWwgSW1hZ2luZyBTeXN0ZW1zIl19LDQ2Njc0OChlKXtlLmV4cG9ydHM9WyJNZWRpY2FsIE1vbml0b3JpbmcgU3lzdGVtcyJdfSw3Nzc3OChlKXtlLmV4cG9ydHM9WyJNZWRpY2FsIFByb3N0aGV0aWNzIl19LAo0MzMyNjQoZSl7ZS5leHBvcnRzPVsiTWVkaWNhbCBTb2Z0d2FyZSAmIFRlY2hub2xvZ3kgU2VydmljZXMiXX0sMzc2MzE2KGUpe2UuZXhwb3J0cz1bIk1lZGljYWwgU3BlY2lhbHRpZXMiXX0sMjYwNDMyKGUpe2UuZXhwb3J0cz1bIk1lZGljYWwgU3VwcGxpZXMiXX0sNjAzODMoZSl7ZS5leHBvcnRzPVsiTWVtb3J5IENoaXBzIChSQU0pIl19LDc5NjEwKGUpe2UuZXhwb3J0cz1bIk1lbidzIENsb3RoaW5nIl19LDk5NjY0OShlKXtlLmV4cG9ydHM9WyJNZW4ncyBBcHBhcmVsIFJldGFpbGVycyJdfSw3OTYwODIoZSl7ZS5leHBvcnRzPVsiTWVuJ3MgRm9vdHdlYXIiXX0sNzA2NjYoZSl7ZS5leHBvcnRzPVsiTWVyY2hhbnQgQmFua3MiXX0sNjA2MjY2KGUpe2UuZXhwb3J0cz1bIk1pY3JvZmluYW5jaW5nIl19LDI5MTA5OChlKXtlLmV4cG9ydHM9WyJNaWNyb25lc2lhIChGZWRlcmF0ZWQgU3RhdGVzIG9mKSJdfSw2ODU3NTEoZSl7ZS5leHBvcnRzPVsiTWlkZGxlIEVhc3QiXX0sNjAzMDY1KGUpe2UuZXhwb3J0cz1bIk1pZGRsZSBFYXN0IC8gQWZyaWNhIl19LDgzODMzMChlKXtlLmV4cG9ydHM9WyJNaW5pbmcgTWFjaGluZXJ5ICYgRXF1aXBtZW50IE1hbnVmYWN0dXJpbmciXX0sNDA0ODU2KGUpe2UuZXhwb3J0cz1bIk1pbmluZyBTdXBwb3J0IEFjdGl2aXRpZXMiXX0sODE2ODQ1KGUpe2UuZXhwb3J0cz1bIk1pbmluZyBTdXBwb3J0IFNlcnZpY2VzICYgRXF1aXBtZW50Il19LDIwNjk4MyhlKXtlLmV4cG9ydHM9WyJNaW5vciJdfSwxNTcwMjMoZSl7ZS5leHBvcnRzPVsiTWlzY2VsbGFuZW91cyJdfSwxMzI5ODQoZSl7ZS5leHBvcnRzPVsiTWlzY2VsbGFuZW91cyBDb21tZXJjaWFsIFNlcnZpY2VzIl19LDk0NzcxNChlKXtlLmV4cG9ydHM9WyJNaXNjZWxsYW5lb3VzIE1hbnVmYWN0dXJpbmciXX0sMjY1NjIoZSl7ZS5leHBvcnRzPVsiTWt0IENhcCJdfSwxMDAwMyhlKXtlLmV4cG9ydHM9WyJNdXR1YWwgRnVuZHMiXX0sOTQwOTg2KGUpe2UuZXhwb3J0cz1bIk11dHVhbCBmdW5kIl19LDkxMzU2MShlKXtlLmV4cG9ydHM9WyJNdWx0aS1MaW5lIEluc3VyYW5jZSJdfSw2NzY1MTgoZSl7ZS5leHBvcnRzPVsiTXVsdGlsaW5lIEluc3VyYW5jZSAmIEJyb2tlcnMiXX0sMTczMDczKGUpe2UuZXhwb3J0cz1bIk11bHRpbGluZSBVdGlsaXRpZXMiXX0sNDQ3NjUxKGUpe2UuZXhwb3J0cz1bIk11bmljaXBhbGl0eSJdfSwyNDQ1NDUoZSl7ZS5leHBvcnRzPVsiTXVzZXVtcyAmIEhpc3RvcmljIFBsYWNlcyJdfSw2MjczNDAoZSl7ZS5leHBvcnRzPVsiTXVzaWMsIE11c2ljIFZpZGVvIFByb2R1Y3Rpb24gJiBEaXN0cmlidXRpb24iXX0sOTA4NzY5KGUpe2UuZXhwb3J0cz1bIk11c2ljYWwgSW5zdHJ1bWVudCBSZXRhaWxlcnMiXX0sNzE2NjY5KGUpe2UuZXhwb3J0cz1bIk11c2ljYWwgSW5zdHJ1bWVudHMiXX0sMjM5NDMoZSl7ZS5leHBvcnRzPVsiTXlhbm1hciJdfSwyMjgyOTEoZSl7ZS5leHBvcnRzPVsiTm8gbWF0Y2hlcyJdfSw0MTc3NyhlKXtlLmV4cG9ydHM9WyJObyBzeW1ib2xzIG1hdGNoIHlvdXIgY3JpdGVyaWEiXX0sMzQ5ODg5KGUpe2UuZXhwb3J0cz1bIk5vdCBFcXVhbCJdfSw1NjE2MDAoZSl7ZS5leHBvcnRzPVsiTm90aWZpY2F0aW9uIl19LDY0NjU0NShlKXtlLmV4cG9ydHM9WyJOb3YiXX0sOTg3NzE1KGUpe2UuZXhwb3J0cz1bIk5vbi1BbGNvaG9saWMgQmV2ZXJhZ2VzIl19LDU5MjUzOChlKXtlLmV4cG9ydHM9WyJOb24tRW5lcmd5IE1pbmVyYWxzIl19LDU0MjIzNShlKXtlLmV4cG9ydHM9WyJOb24tUGFwZXIgQ29udGFpbmVycyAmIFBhY2thZ2luZyJdfSw5ODk5NDAoZSl7ZS5leHBvcnRzPVsiTm9uLWZlcnJvdXMgTWV0YWwgTWluaW5nIl19LDgxOTU2NihlKXtlLmV4cG9ydHM9WyJOb24tZmVycm91cyBNZXRhbCBQcm9jZXNzaW5nIl19LDk2NzQxMihlKXtlLmV4cG9ydHM9WyJOb3Jmb2xrIElzbGFuZCJdfSw4NDU1MjMoZSl7ZS5leHBvcnRzPVsiTm9yd2F5Il19LDY4OTcxNihlKXtlLmV4cG9ydHM9WyJOb3J0aCBBbWVyaWNhIl19LDcyOTc4MihlKXtlLmV4cG9ydHM9WyJOb3J0aCBNYWNlZG9uaWEiXX0sNjEyNTU3KGUpe2UuZXhwb3J0cz1bIk5vcnRoZXJuIE1hcmlhbmEgSXNsYW5kcyJdfSw5NTY0NjIoZSl7ZS5leHBvcnRzPVsiTmF0aW9uYWwgQWdlbmN5Il19LDIzMTMzNChlKXtlLmV4cG9ydHM9WyJOYXRpb25hbCBBZ2VuY2llcyJdfSwyMjgyMTEoZSl7ZS5leHBvcnRzPVsiTmF0dXJhbCBGYWJyaWNzIl19LDEwNTUzMihlKXtlLmV4cG9ydHM9WyJOYXR1cmFsIEdhcyBEaXN0cmlidXRpb24iXX0sNjUzMDMwKGUpe2UuZXhwb3J0cz1bIk5hdHVyYWwgR2FzIEV4cGxvcmF0aW9uICYgUHJvZHVjdGlvbiAtIE9uc2hvcmUiXX0sMjM3MzQ5KGUpe2UuZXhwb3J0cz1bIk5hdHVyYWwgR2FzIEV4cGxvcmF0aW9uICYgUHJvZHVjdGlvbiAtIE9mZnNob3JlIl19LDEyNDk5OChlKXtlLmV4cG9ydHM9WyJOYXR1cmFsIEdhcyBQaXBlbGluZSJdfSwyNTg3ODUoZSl7ZS5leHBvcnRzPVsiTmF0dXJhbCBHYXMgVXRpbGl0aWVzIl19LDQ3MzQzNyhlKXtlLmV4cG9ydHM9WyJOYXVydSJdfSw3MzQ5OTMoZSl7ZS5leHBvcnRzPVsiTmFtZSJdfSw1NzA2MTgoZSl7ZS5leHBvcnRzPVsiTmFtaWJpYSJdfSwxNzgxMTQoZSl7ZS5leHBvcnRzPVsiTmV0IE1hcmdpbiJdfSw5NDA3MTEoZSl7ZS5leHBvcnRzPVsiTmV0IE1hcmdpbiAoRlkpIl19LDE3NTE0MChlKXtlLmV4cG9ydHM9WyJOZXQgTWFyZ2luIChUVE0pIl19LDg0NTQ5NihlKXtlLmV4cG9ydHM9WyJOZXQgRGVidCJdfSw1MjY2OTgoZSl7ZS5leHBvcnRzPVsiTmV0IERlYnQgKE1SUSkiXX0sOTgzNjcxKGUpe2UuZXhwb3J0cz1bIk5ldCBJbmNvbWUgKEFubnVhbCBZb1kgR3Jvd3RoKSJdfSwxMzE2MzMoZSl7ZS5leHBvcnRzPVsiTmV0IEluY29tZSAoRlkpIl19LDE0ODU3MChlKXtlLmV4cG9ydHM9WyJOZXQgSW5jb21lIChRdWFydGVybHkgUW9RIEdyb3d0aCkiXX0sODUzMzQ2KGUpe2UuZXhwb3J0cz1bIk5ldCBJbmNvbWUgKFF1YXJ0ZXJseSBZb1kgR3Jvd3RoKSJdfSw3ODkwNyhlKXtlLmV4cG9ydHM9WyJOZXQgSW5jb21lIChUVE0gWW9ZIEdyb3d0aCkiXX0sCjg5MDU0OChlKXtlLmV4cG9ydHM9WyJOZXQgbWFyZ2luICh7cGVyaW9kfSkiXX0sNTEwNzI2KGUpe2UuZXhwb3J0cz1bIk5ldCBpbmNvbWUgKHtwZXJpb2R9KSJdfSwyMzc1ODUoZSl7ZS5leHBvcnRzPVsiTmV0IGluY29tZSBwZXIgZW1wbG95ZWUgKHtwZXJpb2R9KSJdfSw2MTY4NjIoZSl7ZS5leHBvcnRzPVsiTmV0aGVybGFuZHMiXX0sMzYzMDgzKGUpe2UuZXhwb3J0cz1bIk5ldHdvcmsgRXF1aXBtZW50Il19LDQ1NzE5NShlKXtlLmV4cG9ydHM9WyJOZXcgNTItd2VlayBoaWdoIl19LDgzODY5MChlKXtlLmV4cG9ydHM9WyJOZXcgNTItd2VlayBsb3ciXX0sMjQ5NTg4KGUpe2UuZXhwb3J0cz1bIk5ldyBDYWxlZG9uaWEiXX0sMjI5NTU2KGUpe2UuZXhwb3J0cz1bIk5ldyBDYXIgRGVhbGVycyJdfSwzMDU0MDYoZSl7ZS5leHBvcnRzPVsiTmV3IEhpZ2giXX0sNTM4MjU0KGUpe2UuZXhwb3J0cz1bIk5ldyBMb3ciXX0sNDIxNihlKXtlLmV4cG9ydHM9WyJOZXcgWmVhbGFuZCJdfSw3NTk4NDEoZSl7ZS5leHBvcnRzPVsiTmV3IG1vbnRobHkgaGlnaCJdfSw5OTY1NzIoZSl7ZS5leHBvcnRzPVsiTmV3IG1vbnRobHkgbG93Il19LDE1OTkxMChlKXtlLmV4cG9ydHM9WyJOZXcge3RpdGxlfSJdfSwyMjEzNzEoZSl7ZS5leHBvcnRzPVsiTmV3c3BhcGVyICYgTWFnYXppbmUgUHJpbnRpbmcgU2VydmljZXMiXX0sMTg2NyhlKXtlLmV4cG9ydHM9WyJOZXdzcGFwZXIgUHVibGlzaGluZyJdfSw4MTk0NzMoZSl7ZS5leHBvcnRzPVsiTmV3c3ByaW50IE1pbGxzIl19LDM1MjI4NShlKXtlLmV4cG9ydHM9WyJOZXdzIEFnZW5jaWVzIl19LDU2MTE2MShlKXtlLmV4cG9ydHM9WyJOZXh0IDUgRGF5cyJdfSw0ODU0NTQoZSl7ZS5leHBvcnRzPVsiTmV4dCBXZWVrIl19LDk0MjUwNChlKXtlLmV4cG9ydHM9WyJOZXh0IHBheW1lbnQgYW1vdW50Il19LDc1MDA1MyhlKXtlLmV4cG9ydHM9WyJOZXh0IHBheW1lbnQgZGF0ZSJdfSwxNzQzMDkoZSl7ZS5leHBvcnRzPVsiTmVnYXRpdmUgRGlyZWN0aW9uYWwgSW5kaWNhdG9yICgxNCkiXX0sNDcxMjg4KGUpe2UuZXhwb3J0cz1bIk5lcGFsIl19LDkwNzQ3MChlKXtlLmV4cG9ydHM9WyJOaXVlIl19LDYyMzQ0MChlKXtlLmV4cG9ydHM9WyJOaWNhcmFndWEiXX0sNjA2ODU0KGUpe2UuZXhwb3J0cz1bIk5pY2tlbCBPcmUgTWluaW5nIl19LDU5MjE4OShlKXtlLmV4cG9ydHM9WyJOaWdlciJdfSw4NDk4NjgoZSl7ZS5leHBvcnRzPVsiTmlnZXJpYSJdfSw0NDI0MTMoZSl7ZS5leHBvcnRzPVsiTnVjbGVhciBJUFBzIl19LDY0NDg1NihlKXtlLmV4cG9ydHM9WyJOdWNsZWFyIFV0aWxpdGllcyJdfSwxNjQwNDIoZSl7ZS5leHBvcnRzPVsiTnVtYmVyIG9mIEVtcGxveWVlcyJdfSw1Nzk0MDMoZSl7ZS5leHBvcnRzPVsiTnVtYmVyIG9mIFNoYXJlaG9sZGVycyJdfSw3MDY2NzEoZSl7ZS5leHBvcnRzPVsiTnVyc2VyeSAmIEdhcmRlbiBDZW50ZXJzIl19LDEzNDA4NShlKXtlLmV4cG9ydHM9WyJTTUExMCJdfSwzMjg3ODQoZSl7ZS5leHBvcnRzPVsiU01BMTAwIl19LDM5ODAzOShlKXtlLmV4cG9ydHM9WyJTTUEyMCJdfSw2ODA3NChlKXtlLmV4cG9ydHM9WyJTTUEyMDAiXX0sNDU3NTQzKGUpe2UuZXhwb3J0cz1bIlNNQTMwIl19LDY1OTU2MChlKXtlLmV4cG9ydHM9WyJTTUE1Il19LDU1NjQ4NihlKXtlLmV4cG9ydHM9WyJTTUE1MCJdfSwxMTQwOTkoZSl7ZS5leHBvcnRzPVsiU0FSIl19LDkzMDc1NChlKXtlLmV4cG9ydHM9WyJTRyZBIFJhdGlvIChGWSkiXX0sMjQyNTMzKGUpe2UuZXhwb3J0cz1bIlNHJkEgUmF0aW8gKFRUTSkiXX0sNzk1MDIxKGUpe2UuZXhwb3J0cz1bIlNJTlQgTUFBUlRFTiAoRFVUQ0ggUEFSVCkiXX0sNTczMzExKGUpe2UuZXhwb3J0cz1bIlNtYXJ0IEdyaWQgJiBFbGVjdHJpY2FsIFRyYW5zbWlzc2lvbiJdfSwxODQyNzAoZSl7ZS5leHBvcnRzPVsiU21hcnQgR3JpZCAmIFBvd2VyIERpc3RyaWJ1dGlvbiBDb25zdHJ1Y3Rpb24iXX0sOTA4NDUoZSl7ZS5leHBvcnRzPVsiU25hY2sgRm9vZCAmIE5vbi1jaG9jb2xhdGUgQ29uZmVjdGlvbmFyeSJdfSw1NjIzOTUoZSl7ZS5leHBvcnRzPVsiU25hcHNob3QiXX0sMzEwMDgyKGUpe2UuZXhwb3J0cz1bIlNvdXRoIEFmcmljYSJdfSw0NDc4NTQoZSl7ZS5leHBvcnRzPVsiU291dGggR2VvcmdpYSBhbmQgdGhlIFNvdXRoIFNhbmR3aWNoIElzbGFuZHMiXX0sNTg3NzUyKGUpe2UuZXhwb3J0cz1bIlNvdXRoIEtvcmVhIl19LDQ1NzE4NihlKXtlLmV4cG9ydHM9WyJTb3V0aCBTdWRhbiJdfSw3ODE5MzIoZSl7ZS5leHBvcnRzPVsiU292ZXJlaWduIl19LDgxODIyMihlKXtlLmV4cG9ydHM9WyJTb2NpYWwgTWVkaWEgJiBOZXR3b3JraW5nIl19LDgyNDU3OChlKXtlLmV4cG9ydHM9WyJTb2Z0IEZ1cm5pc2hpbmcgUmV0YWlsZXJzIl19LDU5NzEwMyhlKXtlLmV4cG9ydHM9WyJTb2Z0d2FyZSJdfSwxODE3OChlKXtlLmV4cG9ydHM9WyJTb2xvbW9uIElzbGFuZHMiXX0sNjAwNTcoZSl7ZS5leHBvcnRzPVsiU29tYWxpYSJdfSw3MzQwNzQoZSl7ZS5leHBvcnRzPVsiU2F0ZWxsaXRlICBTeXN0ZW1zICYgQWNjZXNzb3JpZXMiXX0sODU5MTE2KGUpe2UuZXhwb3J0cz1bIlNhdGVsbGl0ZSBTZXJ2aWNlIE9wZXJhdG9ycyJdfSw3NjE1MjMoZSl7ZS5leHBvcnRzPVsiU2F1ZGkgQXJhYmlhIl19LDYxMjY1NShlKXtlLmV4cG9ydHM9WyJTYXZlIl19LDMwMzY4NChlKXtlLmV4cG9ydHM9WyJTYXZlIENvbHVtbnMgQXMiXX0sMzk0MTMxKGUpe2UuZXhwb3J0cz1bIlNhdmUgU2NyZWVucyBBcyJdfSwzMzQ1MDcoZSl7ZS5leHBvcnRzPVsiU2F2aW5ncyBCYW5rcyJdfSwyMjc4NjEoZSl7ZS5leHBvcnRzPVsiU2FpbGluZyBZYWNodHMgJiBNb3RvcmJvYXRzIl19LDE5OTQ4MyhlKXtlLmV4cG9ydHM9WyJTYWludCBCYXJ0aMOpbGVteSJdfSw1NzY5NzUoZSl7ZS5leHBvcnRzPVsiU2FpbnQgS2l0dHMgYW5kIE5ldmlzIl19LDk1NTgzNShlKXtlLmV4cG9ydHM9WyJTYWludCBIZWxlbmEsIEFzY2Vuc2lvbiBhbmQgVHJpc3RhbiBkYSBDdW5oYSJdfSwyNTgzMTEoZSl7ZS5leHBvcnRzPVsiU2FpbnQgTHVjaWEiXX0sNDI1MDY0KGUpewplLmV4cG9ydHM9WyJTYWludCBNYXJ0aW4gKEZyZW5jaCBwYXJ0KSJdfSw3OTcwMzUoZSl7ZS5leHBvcnRzPVsiU2FpbnQgUGllcnJlIGFuZCBNaXF1ZWxvbiJdfSw2MjI2MTMoZSl7ZS5leHBvcnRzPVsiU2FpbnQgVmluY2VudCBhbmQgdGhlIEdyZW5hZGluZXMiXX0sMjE5NzE3KGUpe2UuZXhwb3J0cz1bIlNhbGVzIFByb21vdGlvbnMgJiBFdmVudHMgTWFuYWdlbWVudCJdfSw1OTg5NjMoZSl7ZS5leHBvcnRzPVsiU2Ftb2EiXX0sOTk5NzYyKGUpe2UuZXhwb3J0cz1bIlNhbiBNYXJpbm8iXX0sNjI3MzU1KGUpe2UuZXhwb3J0cz1bIlNhbml0YXJ5IFByb2R1Y3RzIl19LDI3OTM4MihlKXtlLmV4cG9ydHM9WyJTYW8gVG9tZSBhbmQgUHJpbmNpcGUiXX0sMTk4NjI4KGUpe2UuZXhwb3J0cz1bIlNjaWVudGlmaWMgJiBQcmVjaXNpb24gRXF1aXBtZW50Il19LDc2NjcwNChlKXtlLmV4cG9ydHM9WyJTY2llbnRpZmljICYgU3VwZXIgQ29tcHV0ZXJzIl19LDE1NDY0KGUpe2UuZXhwb3J0cz1bIlNjcmVlbmVyIG1haW50ZW5hbmNlIl19LDU3MDM0MyhlKXtlLmV4cG9ydHM9WyJTY3JlZW5zIl19LDUwNjkxNShlKXtlLmV4cG9ydHM9WyJTZXQge2NvbG9yfSBmbGFnIl19LDkwNDEzOShlKXtlLmV4cG9ydHM9WyJTZXdhZ2UgVHJlYXRtZW50IEZhY2lsaXRpZXMiXX0sNDIwODIxKGUpe2UuZXhwb3J0cz1bIlNleWNoZWxsZXMiXX0sNDA0NDEyKGUpe2UuZXhwb3J0cz1bIlNlYS1Cb3JuZSBUYW5rZXJzIl19LDIzMjY2OShlKXtlLmV4cG9ydHM9WyJTZWFmb29kIFByb2R1Y3QgUHJlcGFyYXRpb24gJiBQYWNrYWdpbmciXX0sMzUyMTI3KGUpe2UuZXhwb3J0cz1bIlNlYXJjaCJdfSw4OTIxNjIoZSl7ZS5leHBvcnRzPVsiU2VhcmNoIEVuZ2luZXMiXX0sODcxMTEwKGUpe2UuZXhwb3J0cz1bIlNlYXJjaCBjb2x1bW4iXX0sNTk4NyhlKXtlLmV4cG9ydHM9WyJTZWFyY2ggZmlsdGVyIl19LDg1MDI5OChlKXtlLmV4cG9ydHM9WyJTZWNvbmQgZnJhY3Rpb24gcGFydCBpcyBpbnZhbGlkLiJdfSw5Nzg3MzgoZSl7ZS5leHBvcnRzPVsiU2Vjb25kYXJ5IFNtZWx0aW5nICYgQWxsb3lpbmcgb2YgQWx1bWludW0iXX0sMjc4NzI5KGUpe2UuZXhwb3J0cz1bIlNlY3RvciJdfSw3ODYwMTUoZSl7ZS5leHBvcnRzPVsiU2VjdXJpdGllcyAmIENvbW1vZGl0eSBFeGNoYW5nZXMiXX0sOTQ5MjY1KGUpe2UuZXhwb3J0cz1bIlNlY3VyaXR5ICYgU3VydmVpbGxhbmNlIl19LDEyNzI1MihlKXtlLmV4cG9ydHM9WyJTZWN1cml0eSBTZXJ2aWNlcyJdfSw5ODQ3OTAoZSl7ZS5leHBvcnRzPVsiU2VsZWN0IG1hcmtldHMiXX0sMTkyMjYoZSl7ZS5leHBvcnRzPVsiU2VsZi1TdG9yYWdlIFJFSVRzIl19LDk5MjQ3MChlKXtlLmV4cG9ydHM9WyJTZWxsaW5nIEdlbmVyYWwgJiBBZG1pbiBleHBlbnNlcyBSYXRpbyAoRlkpIl19LDU5MzgxMihlKXtlLmV4cG9ydHM9WyJTZWxsaW5nIEdlbmVyYWwgJiBBZG1pbiBleHBlbnNlcyBSYXRpbyAoVFRNKSJdfSwzOTIzODEoZSl7ZS5leHBvcnRzPVsiU2VtaWNvbmR1Y3RvciBFcXVpcG1lbnQgJiBUZXN0aW5nIl19LDE4MzIwOShlKXtlLmV4cG9ydHM9WyJTZW1pY29uZHVjdG9yIEVxdWlwbWVudCBXaG9sZXNhbGVycyJdfSw1NDk0NTkoZSl7ZS5leHBvcnRzPVsiU2VtaWNvbmR1Y3RvciBNYWNoaW5lcnkgTWFudWZhY3R1cmluZyJdfSwzMTY4NDUoZSl7ZS5leHBvcnRzPVsiU2VtaWNvbmR1Y3RvciBUZXN0aW5nIEVxdWlwbWVudCAmIFNlcnZpY2UiXX0sOTUxMzQ2KGUpe2UuZXhwb3J0cz1bIlNlbWljb25kdWN0b3IgV2hvbGVzYWxlIl19LDg1NTI4MihlKXtlLmV4cG9ydHM9WyJTZW1pY29uZHVjdG9ycyJdfSw3NzA3NzUoZSl7ZS5leHBvcnRzPVsiU2VtaXByZWNpb3VzIEdlbSBTdG9uZXMiXX0sMjI0Mjg5KGUpe2UuZXhwb3J0cz1bIlNlbmVnYWwiXX0sMTc4NDY5KGUpe2UuZXhwb3J0cz1bIlNlcCJdfSw3MTg1MjkoZSl7ZS5leHBvcnRzPVsiU2VyYmlhIl19LDI4NjM4NShlKXtlLmV4cG9ydHM9WyJTZXJ2ZXIgJiBEYXRhYmFzZSBTb2Z0d2FyZSJdfSwxNTUwOTYoZSl7ZS5leHBvcnRzPVsiU2VydmVycyAmIFN5c3RlbXMiXX0sNTM3MDU5KGUpe2UuZXhwb3J0cz1bIlNlcnZpY2VzIl19LDY1NDQwOChlKXtlLmV4cG9ydHM9WyJTZXJ2aWNlcyB0byB0aGUgSGVhbHRoIEluZHVzdHJ5Il19LDE2MTE1MihlKXtlLmV4cG9ydHM9WyJTaGFyZWhvbGRlcnMiXX0sMzc5OTMyKGUpe2UuZXhwb3J0cz1bIlNoYXJlcyJdfSw2MDUxNTkoZSl7ZS5leHBvcnRzPVsiU2hhcmVzIE91dHN0YW5kaW5nIl19LDE4ODU3NyhlKXtlLmV4cG9ydHM9WyJTaGFyZXMgRmxvYXQiXX0sOTgxNjQzKGUpe2UuZXhwb3J0cz1bIlNoYXJlcyBmbG9hdCJdfSw0MTg2OChlKXtlLmV4cG9ydHM9WyJTaGVsbCBDb21wYW5pZXMiXX0sNTExODM2KGUpe2UuZXhwb3J0cz1bIlNoaXAgUGFydCBNYW51ZmFjdHVyZXIiXX0sODk0ODkxKGUpe2UuZXhwb3J0cz1bIlNoaXAgUmVwYWlyaW5nICYgTWFpbnRhbmFuY2UiXX0sMzk5ODMxKGUpe2UuZXhwb3J0cz1bIlNoaXBidWlsZGluZyJdfSw3NzgwNChlKXtlLmV4cG9ydHM9WyJTaG9vdGluZyBTdGFyIl19LDY3NzQyNihlKXtlLmV4cG9ydHM9WyJTaG93IGN1cnJlbmN5Il19LDgyNTkyKGUpe2UuZXhwb3J0cz1bIlNob3cgZGVzY3JpcHRpb24iXX0sMjczNjgxKGUpe2UuZXhwb3J0cz1bIlNob3cgcmF0aW5nIl19LDYwMzUwNyhlKXtlLmV4cG9ydHM9WyJTaG93IHN5bWJvbCB0eXBlIl19LDE2NDk5MihlKXtlLmV4cG9ydHM9WyJTaWVycmEgTGVvbmUiXX0sMzI1MDc3KGUpe2UuZXhwb3J0cz1bIlNpZ25zICYgQWR2ZXJ0aXNpbmcgU3BlY2lhbHR5IFByb2R1Y2VycyJdfSwyNTYxMDMoZSl7ZS5leHBvcnRzPVsiU2lsdmVyIE1pbmluZyJdfSw0ODY1NzIoZSl7ZS5leHBvcnRzPVsiU2ltcGxlIE1vdmluZyBBdmVyYWdlICh7bnVtYmVyfSkiXX0sNjQzNzk1KGUpe2UuZXhwb3J0cz1bIlNpbmdhcG9yZSJdfSw3MzY0MChlKXtlLmV4cG9ydHM9WyJTaW50IE1hYXJ0ZW4gKER1dGNoIHBhcnQpIl19LDI2MzQzMihlKXtlLmV4cG9ydHM9WyJTbG92YWtpYSJdfSw3MjE4MjEoZSl7ZS5leHBvcnRzPVsiU2xvdmVuaWEiXX0sCjM1OTc2MShlKXtlLmV4cG9ydHM9WyJTcGFjZWNyYWZ0IE1hbnVmYWN0dXJpbmciXX0sNzg4MzIxKGUpe2UuZXhwb3J0cz1bIlNwYWluIl19LDgyNjU3MChlKXtlLmV4cG9ydHM9WyJTcGVjaWFsIEZvb2RzICYgV2VsYmVpbmcgUHJvZHVjdHMiXX0sNzA5NjEwKGUpe2UuZXhwb3J0cz1bIlNwZWNpYWwgRm9vZHMgJiBXZWxsYmVpbmcgUHJvZHVjdHMiXX0sMjE3NjI5KGUpe2UuZXhwb3J0cz1bIlNwZWNpYWxpemVkIEF2aWF0aW9uIFNlcnZpY2VzIl19LDY3ODEyNihlKXtlLmV4cG9ydHM9WyJTcGVjaWFsaXplZCBQcmludGluZyBTZXJ2aWNlcyJdfSw3MjQ1MTEoZSl7ZS5leHBvcnRzPVsiU3BlY2lhbGl6ZWQgUkVJVHMiXX0sNDM2NTQ5KGUpe2UuZXhwb3J0cz1bIlNwZWNpYWx0eSAmIEFkdmFuY2VkIFBoYXJtYWNldXRpY2FscyJdfSw4MTg3MDgoZSl7ZS5leHBvcnRzPVsiU3BlY2lhbHR5IE1pbmluZyAmIE1ldGFscyJdfSwzMDU1NDYoZSl7ZS5leHBvcnRzPVsiU3BlY2lhbHR5IE1pbmluZyAmIE1ldGFscyBXaG9sZXNhbGUiXX0sMzkwOTY0KGUpe2UuZXhwb3J0cz1bIlNwZWNpYWx0eSBDaGVtaWNhbHMiXX0sNjcxNzg2KGUpe2UuZXhwb3J0cz1bIlNwZWNpYWx0eSBDaGVtaWNhbHMgV2hvbGVzYWxlIl19LDIxMTI4NyhlKXtlLmV4cG9ydHM9WyJTcGVjaWFsdHkgSW5zdXJhbmNlIl19LDU1NTk3OShlKXtlLmV4cG9ydHM9WyJTcGVjaWFsdHkgSW5zdXJlcnMiXX0sMzU1MjgxKGUpe2UuZXhwb3J0cz1bIlNwZWNpYWx0eSBTdG9yZXMiXX0sMzQ1NjUzKGUpe2UuZXhwb3J0cz1bIlNwZWNpYWx0eSBUZWxlY29tbXVuaWNhdGlvbnMiXX0sOTg1ODk5KGUpe2UuZXhwb3J0cz1bIlNwb3J0aW5nICYgT3V0ZG9vciBHb29kcyJdfSw1NDQ0OTQoZSl7ZS5leHBvcnRzPVsiU3BvcnRpbmcgR29vZHMgU3RvcmVzIl19LDIxMzk4NyhlKXtlLmV4cG9ydHM9WyJTcG9ydHMgJiBPdXRkb29yIEZvb3R3ZWFyIl19LDM3MjE3MyhlKXtlLmV4cG9ydHM9WyJTcG9ydHMgJiBPdXRkb29ycyBSZXRhaWxlcnMiXX0sNjQ2MTQ0KGUpe2UuZXhwb3J0cz1bIlNwb3J0c3dlYXIgJiBPdXRkb29ycyBDbG90aGluZyJdfSwyODM0MTYoZSl7ZS5leHBvcnRzPVsiU3BvdCJdfSw4MDQ3NjYoZSl7ZS5leHBvcnRzPVsiU3JpIExhbmthIl19LDI5MTQ1NihlKXtlLmV4cG9ydHM9WyJTdGFyY2gsIFZlZ2V0YWJsZSBGYXQgJiBPaWwgTWFudWZhY3R1cmluZyJdfSwxNDIxODgoZSl7ZS5leHBvcnRzPVsiU3RhdGUgQWdlbmN5Il19LDc1MTA3NChlKXtlLmV4cG9ydHM9WyJTdGF0aW9uYXJ5IEZ1ZWwgQ2VsbHMiXX0sNDk4NjM4KGUpe2UuZXhwb3J0cz1bIlN0ZWFtICYgQWlyLUNvbmRpdGlvbmluZyBTdXBwbHkiXX0sNTcyNzUzKGUpe2UuZXhwb3J0cz1bIlN0ZWVsIl19LDQwNjI5OChlKXtlLmV4cG9ydHM9WyJTdG9jaCAlRCJdfSw1NTc4MDAoZSl7ZS5leHBvcnRzPVsiU3RvY2ggJUsiXX0sNzAwNjA4KGUpe2UuZXhwb3J0cz1bIlN0b2NoIFJTSSBGYXN0Il19LDYzOTU5NShlKXtlLmV4cG9ydHM9WyJTdG9jaCBSU0kgU2xvdyJdfSwzMTc4MzIoZSl7ZS5leHBvcnRzPVsiU3RvY2hhc3RpYyAlRCAoMTQsIDMsIDMpIl19LDIyMDcyNShlKXtlLmV4cG9ydHM9WyJTdG9jaGFzdGljICVLICgxNCwgMywgMykiXX0sNTg1Njg5KGUpe2UuZXhwb3J0cz1bIlN0b2NoYXN0aWMgUlNJIEZhc3QgKDMsIDMsIDE0LCAxNCkiXX0sMTEzNzMxKGUpe2UuZXhwb3J0cz1bIlN0b2NoYXN0aWMgUlNJIFNsb3cgKDMsIDMsIDE0LCAxNCkiXX0sNTIyMDE0KGUpe2UuZXhwb3J0cz1bIlN0b2NrcyJdfSw3NDYzMzAoZSl7ZS5leHBvcnRzPVsiU3RvcmFnZSBEZXZpY2VzIl19LDI1NTYyMihlKXtlLmV4cG9ydHM9WyJTdHJ1Y3R1cmVkIl19LDM3MDY4NyhlKXtlLmV4cG9ydHM9WyJTdWJtYXJrZXQiXX0sOTc0NDA0KGUpe2UuZXhwb3J0cz1bIlN1ZGFuIl19LDgyNjEwNyhlKXtlLmV4cG9ydHM9WyJTdWdhciAmIEFydGlmaWNpYWwgU3dlZXRlbmVycyJdfSwzMzY5ODgoZSl7ZS5leHBvcnRzPVsiU3VnYXJjYW5lIEZhcm1pbmciXX0sNzgwMjIoZSl7ZS5leHBvcnRzPVsiU3VwZXJtYXJrZXRzICYgQ29udmVuaWVuY2UgU3RvcmVzIl19LDc3NDM4NihlKXtlLmV4cG9ydHM9WyJTdXByYW5hdGlvbmFsIl19LDgxODgzNyhlKXtlLmV4cG9ydHM9WyJTdXJpbmFtZSJdfSwyNjk5NTUoZSl7ZS5leHBvcnRzPVsiU3VycHJpc2UiXX0sNTI0ODE3KGUpe2UuZXhwb3J0cz1bIlN1cnByaXNlICUiXX0sOTczOTE1KGUpe2UuZXhwb3J0cz1bIlN2YWxiYXJkIGFuZCBKYW4gTWF5ZW4iXX0sMzY5OTYzKGUpe2UuZXhwb3J0cz1bIlN3ZWRlbiJdfSw1MzIxMDkoZSl7ZS5leHBvcnRzPVsiU3dpdGNoIG5vdyJdfSw3OTYzMDcoZSl7ZS5leHBvcnRzPVsiU3dpdGNoZ2VhciJdfSw3MzM5NzEoZSl7ZS5leHBvcnRzPVsiU3dpdHplcmxhbmQiXX0sMjg3MjQ0KGUpe2UuZXhwb3J0cz1bIlN5bWJvbCBUeXBlIl19LDQ1NTU1MChlKXtlLmV4cG9ydHM9WyJTeW50aGV0aWMgRmFicmljcyJdfSwyNzQ0ODUoZSl7ZS5leHBvcnRzPVsiU3lyaWEiXX0sNTcxNzI3KGUpe2UuZXhwb3J0cz1bIlN5c3RlbSBTb2Z0d2FyZSJdfSw3MzY2MjcoZSl7ZS5leHBvcnRzPVsiUCJdfSw2MjIxNShlKXtlLmV4cG9ydHM9WyJQL0IgKEZZKSJdfSw2MTE0NTkoZSl7ZS5leHBvcnRzPVsiUC9CIChNUlEpIl19LDU5MDIwNShlKXtlLmV4cG9ydHM9WyJQL0IgcmF0aW8iXX0sMzMyMjE0KGUpe2UuZXhwb3J0cz1bIlAvQ0YgcmF0aW8iXX0sMjEzMjQ4KGUpe2UuZXhwb3J0cz1bIlAvRSJdfSw1NTczMzYoZSl7ZS5leHBvcnRzPVsiUC9FIHJhdGlvIl19LDg2NDY0OChlKXtlLmV4cG9ydHM9WyJQL0ZDRiByYXRpbyJdfSwyNzkwMTAoZSl7ZS5leHBvcnRzPVsiUC9TIl19LDc4MjYxNChlKXtlLmV4cG9ydHM9WyJQL1MgcmF0aW8iXX0sMTIxOTY5KGUpe2UuZXhwb3J0cz1bIlBFRyJdfSw2MzU0MTUoZSl7ZS5leHBvcnRzPVsiUG91bHRyeSBGYXJtaW5nIl19LDgwOTIoZSl7ZS5leHBvcnRzPVsiUG9pbnQgb2YgU2FsZSBTeXN0ZW1zIl19LDk2ODYwOShlKXtlLmV4cG9ydHM9WyJQb2xhbmQiXX0sMjk1MTYwKGUpewplLmV4cG9ydHM9WyJQb3J0IE9wZXJhdG9ycyJdfSw3NTcwNjAoZSl7ZS5leHBvcnRzPVsiUG9ydCBXYXJlaG91c2luZyBTZXJ2aWNlcyJdfSwyNzc0NDMoZSl7ZS5leHBvcnRzPVsiUG9ydGFibGUgTW90b3JzICYgR2VuZXJhdG9ycyJdfSwyNjIyNDMoZSl7ZS5leHBvcnRzPVsiUG9ydGFibGUgU2F0ZWxsaXRlIE5hdmlnYXRpb24iXX0sMzk4OTQoZSl7ZS5leHBvcnRzPVsiUG9ydHVnYWwiXX0sNzY3ODI1KGUpe2UuZXhwb3J0cz1bIlBvc2l0aXZlIERpcmVjdGlvbmFsIEluZGljYXRvciAoMTQpIl19LDMwMDY1NShlKXtlLmV4cG9ydHM9WyJQb3N0LW1hcmtldCBDaGFuZ2UiXX0sMzk5OTY4KGUpe2UuZXhwb3J0cz1bIlBvc3QtbWFya2V0IENoYW5nZSAlIl19LDc4ODAwMihlKXtlLmV4cG9ydHM9WyJQb3N0LW1hcmtldCBDbG9zZSJdfSw3NDIyOTkoZSl7ZS5leHBvcnRzPVsiUG9zdC1tYXJrZXQgSGlnaCJdfSwzOTczMzMoZSl7ZS5leHBvcnRzPVsiUG9zdC1tYXJrZXQgT3BlbiJdfSwxMzY5MDIoZSl7ZS5leHBvcnRzPVsiUG9zdC1tYXJrZXQgTG93Il19LDc5OTI2KGUpe2UuZXhwb3J0cz1bIlBvc3QtbWFya2V0IFZvbHVtZSJdfSw0NTI3MjIoZSl7ZS5leHBvcnRzPVsiUG9zdC1tYXJrZXQgY2hnIl19LDY3MzcwMyhlKXtlLmV4cG9ydHM9WyJQb3N0LW1hcmtldCBjaGcgJSJdfSw3OTEyNzEoZSl7ZS5leHBvcnRzPVsiUGFja2FnZWQgU29mdHdhcmUiXX0sOTkwNTc1KGUpe2UuZXhwb3J0cz1bIlBhY2lmaWMiXX0sMTYzODE3KGUpe2UuZXhwb3J0cz1bIlBhaW50ICYgQ29hdGluZyJdfSw0MDY2NzcoZSl7ZS5leHBvcnRzPVsiUGFpcnMiXX0sODQ0NDM2KGUpe2UuZXhwb3J0cz1bIlBha2lzdGFuIl19LDc5ODQ3NihlKXtlLmV4cG9ydHM9WyJQYWxhdSJdfSw2OTgwODMoZSl7ZS5leHBvcnRzPVsiUGFsZXN0aW5lLCBTdGF0ZSBvZiJdfSwxMDA3MjkoZSl7ZS5leHBvcnRzPVsiUGFuYW1hIl19LDM4OTIzNShlKXtlLmV4cG9ydHM9WyJQYXBlciBNaWxscyAmIFByb2R1Y3RzIl19LDgwMzQ0NihlKXtlLmV4cG9ydHM9WyJQYXBlciBQYWNrYWdpbmciXX0sMzI2NDc3KGUpe2UuZXhwb3J0cz1bIlBhcGVyIFBhY2thZ2luZyBXaG9sZXNhbGUiXX0sNTkyODQoZSl7ZS5leHBvcnRzPVsiUGFwZXIgUHJvZHVjdCBXaG9sZXNhbGUiXX0sOTQ5OTYwKGUpe2UuZXhwb3J0cz1bIlBhcGVyIFByb2R1Y3RzIl19LDcyNTY5NyhlKXtlLmV4cG9ydHM9WyJQYXB1YSBOZXcgR3VpbmVhIl19LDk0MTAyOChlKXtlLmV4cG9ydHM9WyJQYXJhYm9saWMgU0FSIl19LDQyMDEzNShlKXtlLmV4cG9ydHM9WyJQYXJhZ3VheSJdfSwyMTgzNTcoZSl7ZS5leHBvcnRzPVsiUGFya2luZyBMb3QgT3BlcmF0b3JzIl19LDg4NDMzOChlKXtlLmV4cG9ydHM9WyJQYXNzZW5nZXIgQ2FyIHJlbnRhbCJdfSw2MDc0MjcoZSl7ZS5leHBvcnRzPVsiUGFzc2VuZ2VyIFRyYW5zcG9ydGF0aW9uLCBHcm91bmQgJiBTZWEiXX0sMTQyMDEzKGUpe2UuZXhwb3J0cz1bIlBldCAmIFBldCBTdXBwbGllcyBSZXRhaWxlcnMiXX0sNTU5MDMxKGUpe2UuZXhwb3J0cz1bIlBldCBGb29kIE1hbnVmYWN0dXJpbmciXX0sNjcxOTIxKGUpe2UuZXhwb3J0cz1bIlBldHJvbGV1bSBQcm9kdWN0IFdob2xlc2FsZSJdfSwyODY3ODcoZSl7ZS5leHBvcnRzPVsiUGV0cm9sZXVtIFJlZmluaW5nIl19LDg4ODU2OChlKXtlLmV4cG9ydHM9WyJQZW5zaW9uIEZ1bmRzIl19LDExMTM0MShlKXtlLmV4cG9ydHM9WyJQZXJmb3JtYW5jZSJdfSwxNTY4NzQoZSl7ZS5leHBvcnRzPVsiUGVyaW9kIEVuZGluZyJdfSwxODczNTIoZSl7ZS5leHBvcnRzPVsiUGVyc29uYWwgJiBDYXIgTG9hbnMiXX0sOTU5MzM4KGUpe2UuZXhwb3J0cz1bIlBlcnNvbmFsIENhcmUgU2VydmljZXMiXX0sMzA1NjA0KGUpe2UuZXhwb3J0cz1bIlBlcnNvbmFsIExlZ2FsIFNlcnZpY2VzIl19LDk1NjA2MChlKXtlLmV4cG9ydHM9WyJQZXJzb25hbCBNdXNpYyBQbGF5ZXJzIl19LDY3MjM5OShlKXtlLmV4cG9ydHM9WyJQZXJzb25hbCBTZXJ2aWNlcyJdfSw2NTI2NzMoZSl7ZS5leHBvcnRzPVsiUGVyc29uYWwgUHJvZHVjdHMiXX0sOTI3MjYoZSl7ZS5leHBvcnRzPVsiUGVyc29ubmVsIFNlcnZpY2VzIl19LDU1Njg3NihlKXtlLmV4cG9ydHM9WyJQZXJwZXR1YWwiXX0sODUxMTExKGUpe2UuZXhwb3J0cz1bIlBlcnUiXX0sMjc2OTAwKGUpe2UuZXhwb3J0cz1bIlBlc3QgQ29udHJvbCBTZXJ2aWNlcyJdfSw1ODc2MDIoZSl7ZS5leHBvcnRzPVsiUGVzdGljaWRlIl19LDY5OTcyMyhlKXtlLmV4cG9ydHM9WyJQaGFybWFjZXV0aWNhbHMiXX0sMzYxODQ5KGUpe2UuZXhwb3J0cz1bIlBoYXJtYWNldXRpY2FsczogR2VuZXJpYyJdfSwxODI2NDMoZSl7ZS5leHBvcnRzPVsiUGhhcm1hY2V1dGljYWxzOiBNYWpvciJdfSw3NDUxODAoZSl7ZS5leHBvcnRzPVsiUGhhcm1hY2V1dGljYWxzOiBPdGhlciJdfSw2MTM2NDcoZSl7ZS5leHBvcnRzPVsiUGhpbGlwcGluZXMiXX0sMTMzMzMyKGUpe2UuZXhwb3J0cz1bIlBob25lcyAmIEhhbmRoZWxkIERldmljZXMiXX0sNTIzNzY0KGUpe2UuZXhwb3J0cz1bIlBob25lcyAmIFNtYXJ0IFBob25lcyJdfSwxNDU3NjIoZSl7ZS5leHBvcnRzPVsiUGhvdG92b2x0YWljIFNvbGFyIFN5c3RlbXMgJiBFcXVpcG1lbnQiXX0sODMwNzk3KGUpe2UuZXhwb3J0cz1bIlBob3RvZ3JhcGhpYyBFcXVpcG1lbnQiXX0sMzg0MzgyKGUpe2UuZXhwb3J0cz1bIlBpdGNhaXJuIl19LDg3NDQ2OShlKXtlLmV4cG9ydHM9WyJQaXZvdCBDYW1hcmlsbGEgUCJdfSw5Mzk4ODcoZSl7ZS5leHBvcnRzPVsiUGl2b3QgQ2FtYXJpbGxhIFIxIl19LDc1NDk0KGUpe2UuZXhwb3J0cz1bIlBpdm90IENhbWFyaWxsYSBSMiJdfSwxNDY0OTMoZSl7ZS5leHBvcnRzPVsiUGl2b3QgQ2FtYXJpbGxhIFIzIl19LDczNjM3MShlKXtlLmV4cG9ydHM9WyJQaXZvdCBDYW1hcmlsbGEgUzEiXX0sNzU1Nzg2KGUpe2UuZXhwb3J0cz1bIlBpdm90IENhbWFyaWxsYSBTMiJdfSw5NDI5NzcoZSl7ZS5leHBvcnRzPVsiUGl2b3QgQ2FtYXJpbGxhIFMzIl19LDU2NTUyNihlKXtlLmV4cG9ydHM9WyJQaXZvdCBDbGFzc2ljIFAiXX0sNjIyODM0KGUpewplLmV4cG9ydHM9WyJQaXZvdCBDbGFzc2ljIFIxIl19LDUxNzMwMChlKXtlLmV4cG9ydHM9WyJQaXZvdCBDbGFzc2ljIFIyIl19LDc3MTU2KGUpe2UuZXhwb3J0cz1bIlBpdm90IENsYXNzaWMgUjMiXX0sNDk1MzE3KGUpe2UuZXhwb3J0cz1bIlBpdm90IENsYXNzaWMgUzEiXX0sNTE5MDI3KGUpe2UuZXhwb3J0cz1bIlBpdm90IENsYXNzaWMgUzIiXX0sMTMwNDY3KGUpe2UuZXhwb3J0cz1bIlBpdm90IENsYXNzaWMgUzMiXX0sNDkxNTQwKGUpe2UuZXhwb3J0cz1bIlBpdm90IERNIFAiXX0sOTQxMjI0KGUpe2UuZXhwb3J0cz1bIlBpdm90IERNIFIxIl19LDg4MTcyMChlKXtlLmV4cG9ydHM9WyJQaXZvdCBETSBTMSJdfSw4ODU2MzQoZSl7ZS5leHBvcnRzPVsiUGl2b3QgRmlib25hY2NpIFAiXX0sMzc0NDA2KGUpe2UuZXhwb3J0cz1bIlBpdm90IEZpYm9uYWNjaSBSMSJdfSwxODcyMTUoZSl7ZS5leHBvcnRzPVsiUGl2b3QgRmlib25hY2NpIFIyIl19LDU4MTAxMihlKXtlLmV4cG9ydHM9WyJQaXZvdCBGaWJvbmFjY2kgUjMiXX0sMzg5Nzc4KGUpe2UuZXhwb3J0cz1bIlBpdm90IEZpYm9uYWNjaSBTMSJdfSwyMDI1ODcoZSl7ZS5leHBvcnRzPVsiUGl2b3QgRmlib25hY2NpIFMyIl19LDcxMjU3NihlKXtlLmV4cG9ydHM9WyJQaXZvdCBGaWJvbmFjY2kgUzMiXX0sMTU5MDkyKGUpe2UuZXhwb3J0cz1bIlBpdm90IFdvb2RpZSBQIl19LDI2ODcxNihlKXtlLmV4cG9ydHM9WyJQaXZvdCBXb29kaWUgUjEiXX0sODE1MjUoZSl7ZS5leHBvcnRzPVsiUGl2b3QgV29vZGllIFIyIl19LDg5NDMzNChlKXtlLmV4cG9ydHM9WyJQaXZvdCBXb29kaWUgUjMiXX0sMTI1NTUyKGUpe2UuZXhwb3J0cz1bIlBpdm90IFdvb2RpZSBTMSJdfSw5MzgzNjEoZSl7ZS5leHBvcnRzPVsiUGl2b3QgV29vZGllIFMyIl19LDMxOTEwNihlKXtlLmV4cG9ydHM9WyJQaXZvdCBXb29kaWUgUzMiXX0sMzg2NTYoZSl7ZS5leHBvcnRzPVsiUGx1bWJpbmcgRml4dHVyZXMgJiBGaXR0aW5ncyJdfSw5MDU5MzQoZSl7ZS5leHBvcnRzPVsiUGxhc3RpY3MiXX0sNjg5MzkzKGUpe2UuZXhwb3J0cz1bIlBsYXN0aWMgQ29udGFpbmVyICYgUGFja2FnaW5nIl19LDkzNjI2MChlKXtlLmV4cG9ydHM9WyJQbGF0aW51bSBNaW5pbmciXX0sNzQwMDMoZSl7ZS5leHBvcnRzPVsiUGxheXMgJiBDb25jZXJ0IFByb2R1Y3Rpb24iXX0sNTk3NzYzKGUpe2UuZXhwb3J0cz1bIlByZS1tYXJrZXQgQ2hhbmdlIl19LDMyNTcxMyhlKXtlLmV4cG9ydHM9WyJQcmUtbWFya2V0IENoYW5nZSAlIl19LDUwODI3NihlKXtlLmV4cG9ydHM9WyJQcmUtbWFya2V0IENoYW5nZSBmcm9tIE9wZW4iXX0sMzg2OTY5KGUpe2UuZXhwb3J0cz1bIlByZS1tYXJrZXQgQ2hhbmdlIGZyb20gT3BlbiAlIl19LDM4NjQ3NChlKXtlLmV4cG9ydHM9WyJQcmUtbWFya2V0IENsb3NlIl19LDUxMTMxMyhlKXtlLmV4cG9ydHM9WyJQcmUtbWFya2V0IEdhcCAlIl19LDI0NTgxMihlKXtlLmV4cG9ydHM9WyJQcmUtbWFya2V0IEhpZ2giXX0sNDI1MjAwKGUpe2UuZXhwb3J0cz1bIlByZS1tYXJrZXQgTG93Il19LDIxNjc2NChlKXtlLmV4cG9ydHM9WyJQcmUtbWFya2V0IE9wZW4iXX0sMTcxNDE1KGUpe2UuZXhwb3J0cz1bIlByZS1tYXJrZXQgVm9sdW1lIl19LDQ2NTU3NChlKXtlLmV4cG9ydHM9WyJQcmUtbWFya2V0IGNoZyJdfSwyMDg4NDYoZSl7ZS5leHBvcnRzPVsiUHJlLW1hcmtldCBjaGcgJSJdfSw0OTk0OTUoZSl7ZS5leHBvcnRzPVsiUHJlLW1hcmtldCBjaGcgZnJvbSBPcGVuIl19LDY0MjMyOChlKXtlLmV4cG9ydHM9WyJQcmUtbWFya2V0IGNoZyBmcm9tIE9wZW4gJSJdfSwzMjk2NDgoZSl7ZS5leHBvcnRzPVsiUHJlLW1hcmtldCBnYWluZXJzIl19LDg2NDIxMihlKXtlLmV4cG9ydHM9WyJQcmVjaW91cyBNZXRhbHMiXX0sMTc2MDg5KGUpe2UuZXhwb3J0cz1bIlByZWNpb3VzIE1ldGFscyAmIE1pbmVyYWxzIl19LDg3MTA4OChlKXtlLmV4cG9ydHM9WyJQcmVmYWJyaWNhdGVkIEhvbWVzIl19LDI3NTY2MihlKXtlLmV4cG9ydHM9WyJQcmVmZXJyZWQgU3RvY2siXX0sNDIzMDUoZSl7ZS5leHBvcnRzPVsiUHJldGF4IE1hcmdpbiJdfSw4MjYxMTUoZSl7ZS5leHBvcnRzPVsiUHJldGF4IE1hcmdpbiAoVFRNKSJdfSw2NTY5NzEoZSl7ZS5leHBvcnRzPVsiUHJldGF4IG1hcmdpbiAoe3BlcmlvZH0pIl19LDgzMjEyMyhlKXtlLmV4cG9ydHM9WyJQcmV2Il19LDEzNzIwKGUpe2UuZXhwb3J0cz1bIlByZXZpb3VzIDUgRGF5cyJdfSwzNjYyNDgoZSl7ZS5leHBvcnRzPVsiUHJldmlvdXMgQ2xvc2UgUHJpY2UiXX0sNTY0NTYxKGUpe2UuZXhwb3J0cz1bIlByZXZpb3VzIFdlZWsiXX0sODM0OTAoZSl7ZS5leHBvcnRzPVsiUHJpY2UiXX0sOTg0MTQoZSl7ZS5leHBvcnRzPVsiUHJpY2UgJSBDaGFuZ2UgMSBXZWVrIl19LDYzNjM1MShlKXtlLmV4cG9ydHM9WyJQcmljZSAlIENoYW5nZSA0IFdlZWsiXX0sODM0MTIxKGUpe2UuZXhwb3J0cz1bIlByaWNlICUgQ2hhbmdlIDUyIFdlZWsiXX0sNjE2MTgoZSl7ZS5leHBvcnRzPVsiUHJpY2UgZm9ybWF0IGlzIGludmFsaWQuIl19LDE3MTM5MShlKXtlLmV4cG9ydHM9WyJQcmljZSB0byBCb29rIChGWSkiXX0sNzk3NDUwKGUpe2UuZXhwb3J0cz1bIlByaWNlIHRvIEJvb2sgKE1SUSkiXX0sOTE3NzE1KGUpe2UuZXhwb3J0cz1bIlByaWNlIHRvIEVhcm5pbmdzIFJhdGlvIChUVE0pIl19LDMwNjM1NihlKXtlLmV4cG9ydHM9WyJQcmljZSB0byBGcmVlIENhc2ggRmxvdyAoVFRNKSJdfSw4MTkzNzEoZSl7ZS5leHBvcnRzPVsiUHJpY2UgdG8gU2FsZXMgKEZZKSJdfSwzMTMyNDYoZSl7ZS5leHBvcnRzPVsiUHJpY2UgdG8gUmV2ZW51ZSBSYXRpbyAoVFRNKSJdfSw0MjQ1NDUoZSl7ZS5leHBvcnRzPVsiUHJpY2UvRWFybmluZ3MvR3Jvd3RoIChUVE0pIl19LDgxNjk0NChlKXtlLmV4cG9ydHM9WyJQcmljZS9GcmVlIENhc2ggRmxvdyJdfSwyNjMzMzUoZSl7ZS5leHBvcnRzPVsiUHJpY2UvU2FsZXMiXX0sNjMxNDEwKGUpe2UuZXhwb3J0cz1bIlByaWNlL1JldiJdfSwyNTUzNyhlKXtlLmV4cG9ydHM9WyJQcmltYXJ5IEFsdW1pbnVtIFByb2R1Y3Rpb24iXX0sODE4MjczKGUpewplLmV4cG9ydHM9WyJQcmltYXJ5IExpc3RpbmciXX0sMjQzNzU2KGUpe2UuZXhwb3J0cz1bIlByaXZhdGUgQmFua3MiXX0sOTc5NTMyKGUpe2UuZXhwb3J0cz1bIlByaXZhdGUgRXF1aXR5Il19LDU0ODM2KGUpe2UuZXhwb3J0cz1bIlByb2Nlc3NvcnMiXX0sODIwNjk4KGUpe2UuZXhwb3J0cz1bIlByb2Nlc3MgSW5kdXN0cmllcyJdfSw1MzQzOShlKXtlLmV4cG9ydHM9WyJQcm9ncmFtbWluZyBTb2Z0d2FyZSAmIFRlc3RpbmcgVG9vbHMiXX0sNTI3NjQwKGUpe2UuZXhwb3J0cz1bIlByb2R1Y2VyIE1hbnVmYWN0dXJpbmciXX0sNTUzMzMwKGUpe2UuZXhwb3J0cz1bIlByb2Zlc3Npb25hbCBJbmZvcm1hdGlvbiBTZXJ2aWNlcyJdfSwxMDQwMTQoZSl7ZS5leHBvcnRzPVsiUHJvZmVzc2lvbmFsIFNwb3J0cyBWZW51ZXMiXX0sNzM2MDY2KGUpe2UuZXhwb3J0cz1bIlByb3BlcnR5ICYgQ2FzdWFsdHkgSW5zdXJhbmNlIl19LDg5NjIzMChlKXtlLmV4cG9ydHM9WyJQcm9wZXJ0eSAmIENhc3VhbHR5IFJlaW5zdXJhbmNlIl19LDM2NDg3NyhlKXtlLmV4cG9ydHM9WyJQcm9wZXJ0eSBJbnN1cmFuY2UiXX0sMzUxNjE0KGUpe2UuZXhwb3J0cz1bIlByb3BlcnR5LUNhc3VhbHR5IEluc3VyZXJzIl19LDY5NjQ3NyhlKXtlLmV4cG9ydHM9WyJQcm9wZXJ0eS9DYXN1YWx0eSBJbnN1cmFuY2UiXX0sNzY2OTIoZSl7ZS5leHBvcnRzPVsiUHJvdmluY2UvU3RhdGUiXX0sNTY4MzAoZSl7ZS5leHBvcnRzPVsiUHVibGljIFJlbGF0aW9ucyJdfSwxODIwOTcoZSl7ZS5leHBvcnRzPVsiUHVibGljIFNwb3J0IEZhY2lsaXRpZXMiXX0sMzEzMDU2KGUpe2UuZXhwb3J0cz1bIlB1Ymxpc2hpbmc6IEJvb2tzL01hZ2F6aW5lcyJdfSw3MDA0NDIoZSl7ZS5leHBvcnRzPVsiUHVibGlzaGluZzogTmV3c3BhcGVycyJdfSw5MzM0NjEoZSl7ZS5leHBvcnRzPVsiUHVicywgQmFycyAmIE5pZ2h0IENsdWJzIl19LDg0MzMyNyhlKXtlLmV4cG9ydHM9WyJQdWVydG8gUmljbyJdfSwzNjczNjEoZSl7ZS5leHBvcnRzPVsiUHVscCAmIFBhcGVyIl19LDM1Mjg1NihlKXtlLmV4cG9ydHM9WyJQdWxwIE1pbGxzIl19LDMyMTE3KGUpe2UuZXhwb3J0cz1bIlB1bXAgJiBQdW1waW5nIEVxdWlwbWVudCJdfSw4NDAzODYoZSl7ZS5leHBvcnRzPVsiUHVyaWZpY2F0aW9uICYgVHJlYXRtZW50IEVxdWlwbWVudCJdfSw4OTc2NyhlKXtlLmV4cG9ydHM9WyJRMSJdfSw5NDg5MjMoZSl7ZS5leHBvcnRzPVsiUTIiXX0sMzY3OTM1KGUpe2UuZXhwb3J0cz1bIlEzIl19LDE3NTUwNyhlKXtlLmV4cG9ydHM9WyJRNCJdfSw5MzM3NTMoZSl7ZS5leHBvcnRzPVsiUWF0YXIiXX0sOTQ3Mjk5KGUpe2UuZXhwb3J0cz1bIlF1aWNrIFNlcnZpY2UgUmVzdGF1cmFudHMiXX0sNTkyOTgxKGUpe2UuZXhwb3J0cz1bIlF1aWNrIFJhdGlvIl19LDQwMzEzMShlKXtlLmV4cG9ydHM9WyJRdWljayBSYXRpbyAoTVJRKSJdfSwxOTA2OTYoZSl7ZS5leHBvcnRzPVsiUXVvdGUgY3VycmVuY3kiXX0sODE0NjEoZSl7ZS5leHBvcnRzPVsiUXVvdGVzIGFyZSBkZWxheWVkIGJ5IHtudW1iZXJ9IG1pbiJdfSw3OTA1MjQoZSl7ZS5leHBvcnRzPVsiUXVvdGVzIGFyZSBkZWxheWVkIGJ5IHtudW1iZXJ9IG1pbiBhbmQgdXBkYXRlZCBldmVyeSAzMCBzZWNvbmRzIl19LDMzNDEwMihlKXtlLmV4cG9ydHM9WyJSJkQgUmF0aW8gKEZZKSJdfSw1MDIwODgoZSl7ZS5leHBvcnRzPVsiUiZEIFJhdGlvIChUVE0pIl19LDEyMzgwNShlKXtlLmV4cG9ydHM9WyJSMSJdfSw1OTQ0MDEoZSl7ZS5leHBvcnRzPVsiUjIiXX0sMTM0MTMoZSl7ZS5leHBvcnRzPVsiUjMiXX0sNTg5OTY0KGUpe2UuZXhwb3J0cz1bIlJPQSJdfSw4NDgxNTQoZSl7ZS5leHBvcnRzPVsiUk9DIl19LDE3MDk1MihlKXtlLmV4cG9ydHM9WyJST0UiXX0sMzg5NTI1KGUpe2UuZXhwb3J0cz1bIlJPSUMgJSJdfSw4MTAyMDIoZSl7ZS5leHBvcnRzPVsiUkVJVCJdfSw5NjcwMjMoZSl7ZS5leHBvcnRzPVsiUkZJRCBTeXN0ZW1zIl19LDQ5NjY3NChlKXtlLmV4cG9ydHM9WyJSU0kxNCJdfSw1Mjg2NTkoZSl7ZS5leHBvcnRzPVsiUlNJNyJdfSw4OTEzOTkoZSl7ZS5leHBvcnRzPVsiUm9jayBNaW5pbmciXX0sOTA1OTQ1KGUpe2UuZXhwb3J0cz1bIlJvbWFuaWEiXX0sMjkyMTM1KGUpe2UuZXhwb3J0cz1bIlJvb2ZpbmcgU3VwcGxpZXMiXX0sODAyMDg4KGUpe2UuZXhwb3J0cz1bIlJhdGUgT2YgQ2hhbmdlICg5KSJdfSwyMjc3NTQoZSl7ZS5leHBvcnRzPVsiUmF0aW5nIEFnZW5jaWVzIl19LDExOTg5MihlKXtlLmV4cG9ydHM9WyJSYWRpbyBCcm9hZGNhc3RpbmciXX0sNjAwNTc2KGUpe2UuZXhwb3J0cz1bIlJhaWwgU2VydmljZXMiXX0sNzY3MTQ3KGUpe2UuZXhwb3J0cz1bIlJhaWxyb2FkcyJdfSw2NjY1NDcoZSl7ZS5leHBvcnRzPVsiUmFpbHdheSBDb25zdHJ1Y3Rpb24iXX0sMzE5NzEzKGUpe2UuZXhwb3J0cz1bIlJhaWx3YXkgRnJlaWdodCBPcGVyYXRvcnMiXX0sOTE4NChlKXtlLmV4cG9ydHM9WyJSYXJlIEVhcnRoIE1pbmVyYWxzIl19LDk2MTIwNShlKXtlLmV4cG9ydHM9WyJSZXRhaWwgLSBEZXBhcnRtZW50IFN0b3JlcyJdfSw2NTk3NjEoZSl7ZS5leHBvcnRzPVsiUmV0YWlsIC0gRHJ1Z3Mgd2l0aCBHcm9jZXJ5Il19LDYwOTcyOChlKXtlLmV4cG9ydHM9WyJSZXRhaWwgLSBEcnVncyB3aXRob3V0IEdyb2NlcnkiXX0sNDEyNjIwKGUpe2UuZXhwb3J0cz1bIlJldGFpbCAgUmVhbCBFc3RhdGUgRGV2ZWxvcG1lbnQiXX0sNzkyOTI2KGUpe2UuZXhwb3J0cz1bIlJldGFpbCAmIE1vcnRnYWdlIEJhbmtzIl19LDEwMTE0MChlKXtlLmV4cG9ydHM9WyJSZXRhaWwgUkVJVHMiXX0sNzA5NjI1KGUpe2UuZXhwb3J0cz1bIlJldGFpbCBSZWFsIEVzdGF0ZSBTZXJ2aWNlcyJdfSw1OTAwNjYoZSl7ZS5leHBvcnRzPVsiUmV0YWlsIFRyYWRlIl19LDkxODg5KGUpe2UuZXhwb3J0cz1bIlJldGlyZW1lbnQgSG9tZSBCdWlsZGVycyJdfSwxODUxMDMoZSl7ZS5leHBvcnRzPVsiUmV0dXJuIG9uIEFzc2V0cyAoVFRNKSJdfSwxMTk1MjMoZSl7ZS5leHBvcnRzPVsiUmV0dXJuIG9uIEVxdWl0eSAoVFRNKSJdfSwxNzg1MTMoZSl7CmUuZXhwb3J0cz1bIlJldHVybiBvbiBJbnZlc3RlZCBDYXBpdGFsICUgKFRUTSkiXX0sODA5NzI2KGUpe2UuZXhwb3J0cz1bIlJldHVybiBvbiBJbnZlc3RlZCBDYXBpdGFsIChUVE0pIl19LDgxODExMShlKXtlLmV4cG9ydHM9WyJSZXR1cm4gb24gYXNzZXRzICh7cGVyaW9kfSkiXX0sNDgxMDg3KGUpe2UuZXhwb3J0cz1bIlJldHVybiBvbiBlcXVpdHkgKHtwZXJpb2R9KSJdfSwyMzE3MyhlKXtlLmV4cG9ydHM9WyJSZXR1cm4gb24gaW52ZXN0ZWQgY2FwaXRhbCAoe3BlcmlvZH0pIl19LDU2ODA5MShlKXtlLmV4cG9ydHM9WyJSZXZlbnVlIl19LDEyODM3NihlKXtlLmV4cG9ydHM9WyJSZXZlbnVlIChBbm51YWwgWW9ZIEdyb3d0aCkiXX0sNDgyNTUzKGUpe2UuZXhwb3J0cz1bIlJldmVudWUgKFF1YXJ0ZXJseSBRb1EgR3Jvd3RoKSJdfSw4MDMyODEoZSl7ZS5leHBvcnRzPVsiUmV2ZW51ZSAoUXVhcnRlcmx5IFlvWSBHcm93dGgpIl19LDc0MDkyOChlKXtlLmV4cG9ydHM9WyJSZXZlbnVlIChUVE0gWW9ZIEdyb3d0aCkiXX0sNTg4MzczKGUpe2UuZXhwb3J0cz1bIlJldmVudWUgQWN0dWFsIl19LDQ1OTU4NyhlKXtlLmV4cG9ydHM9WyJSZXZlbnVlIEZvcmVjYXN0Il19LDc5Mzc1MChlKXtlLmV4cG9ydHM9WyJSZXZlbnVlIHBlciBFbXBsb3llZSJdfSw5NDIwMjUoZSl7ZS5leHBvcnRzPVsiUmV2ZW51ZSBwZXIgRW1wbG95ZWUgKEZZKSJdfSw2MzA2NzYoZSl7ZS5leHBvcnRzPVsiUmV2ZW51ZSBwZXIgZW1wbG95ZWUgKHtwZXJpb2R9KSJdfSwxMzI1NDgoZSl7ZS5leHBvcnRzPVsiUmV2ZW51ZSBwZXIgc2hhcmUgKHtwZXJpb2R9KSJdfSw2MTM5NTEoZSl7ZS5leHBvcnRzPVsiUmVhZHktTWFkZSBNZWFscyJdfSw4ODM5MjgoZSl7ZS5leHBvcnRzPVsiUmVhbC10aW1lIl19LDQ0MTA0NShlKXtlLmV4cG9ydHM9WyJSZWFsIEVzdGF0ZSBEZXZlbG9wbWVudCJdfSw3MTIwMDQoZSl7ZS5leHBvcnRzPVsiUmVhbCBFc3RhdGUgRGV2ZWxvcG1lbnQgJiBPcGVyYXRpb25zIl19LDE0MjA4NihlKXtlLmV4cG9ydHM9WyJSZWFsIEVzdGF0ZSBJbnZlc3RtZW50IFRydXN0cyJdfSwzNzYzNjUoZSl7ZS5leHBvcnRzPVsiUmVhbCBFc3RhdGUgU2VydmljZXMiXX0sNTAyMTI5KGUpe2UuZXhwb3J0cz1bIlJlY2VudCBFYXJuaW5ncyBEYXRlIl19LDEwNTcxKGUpe2UuZXhwb3J0cz1bIlJlY3JlYXRpb25hbCBQcm9kdWN0cyJdfSwzNzM3MjIoZSl7ZS5leHBvcnRzPVsiUmVmcmVzaCJdfSw4Njk3NTYoZSl7ZS5leHBvcnRzPVsiUmVmcmVzaCBldmVyeSBtaW51dGUiXX0sNzgyNjM0KGUpe2UuZXhwb3J0cz1bIlJlZnJlc2ggaW50ZXJ2YWwiXX0sMjI0ODIxKGUpe2UuZXhwb3J0cz1bIlJlZ2lvbiJdfSw3NjYxNjUoZSl7ZS5leHBvcnRzPVsiUmVnaW9uYWwgQWlybGluZXMiXX0sMzU4NjIzKGUpe2UuZXhwb3J0cz1bIlJlZ2lvbmFsIEJhbmtzIl19LDczNDQ3NyhlKXtlLmV4cG9ydHM9WyJSZWluc3VyYW5jZSJdfSw4MTM0MzIoZSl7ZS5leHBvcnRzPVsiUmVsYXRpdmUgU3RyZW5ndGggSW5kZXggKDE0KSJdfSw0MjM0NihlKXtlLmV4cG9ydHM9WyJSZWxhdGl2ZSBTdHJlbmd0aCBJbmRleCAoNykiXX0sMjUwNjU0KGUpe2UuZXhwb3J0cz1bIlJlbGF0aXZlIFZvbCJdfSw2OTkwOTAoZSl7ZS5leHBvcnRzPVsiUmVsYXRpdmUgVm9sIGF0IFRpbWUiXX0sNzgzMTkzKGUpe2UuZXhwb3J0cz1bIlJlbGF0aXZlIFZvbHVtZSJdfSwxOTMwNjYoZSl7ZS5leHBvcnRzPVsiUmVsYXRpdmUgVm9sdW1lIGF0IFRpbWUiXX0sNTkxMjI3KGUpe2UuZXhwb3J0cz1bIlJlbW92ZSBjb2x1bW4iXX0sNjk0MjA5KGUpe2UuZXhwb3J0cz1bIlJlbW92ZSBmcm9tIGZhdm9yaXRlcyJdfSw5MjQ4MjMoZSl7ZS5leHBvcnRzPVsiUmVuYW1lIl19LDY3MTIzKGUpe2UuZXhwb3J0cz1bIlJlbmFtZSBDb2x1bW4gU2V0Il19LDk0MTI1NyhlKXtlLmV4cG9ydHM9WyJSZW5hbWUgU2NyZWVucyJdfSw1Nzg5MzAoZSl7ZS5leHBvcnRzPVsiUmVuZXdhYmxlIEVuZXJneSBFcXVpcG1lbnQgJiBTZXJ2aWNlcyJdfSw5MTk2MzkoZSl7ZS5leHBvcnRzPVsiUmVuZXdhYmxlIEVuZXJneSBTZXJ2aWNlcyJdfSwzOTQxNzQoZSl7ZS5leHBvcnRzPVsiUmVuZXdhYmxlIEZ1ZWxzIl19LDk4NDk5MyhlKXtlLmV4cG9ydHM9WyJSZW5ld2FibGUgSVBQcyJdfSwxODAwOTAoZSl7ZS5leHBvcnRzPVsiUmVuZXdhYmxlIFV0aWxpdGllcyJdfSw4NTc4OTgoZSl7ZS5leHBvcnRzPVsiUmVwb3J0ZWQgRVBTIl19LDk3NzI3KGUpe2UuZXhwb3J0cz1bIlJlcGxheSBNb2RlIl19LDg3MDMxNihlKXtlLmV4cG9ydHM9WyJSZXNlYXJjaCAmIGRldmVsb3BtZW50IFJhdGlvIChGWSkiXX0sNzAxMDM1KGUpe2UuZXhwb3J0cz1bIlJlc2VhcmNoICYgZGV2ZWxvcG1lbnQgUmF0aW8gKFRUTSkiXX0sNDI1NjUwKGUpe2UuZXhwb3J0cz1bIlJlc2V0Il19LDgyNjMxNChlKXtlLmV4cG9ydHM9WyJSZXNldCBhbGwiXX0sMzExNzM3KGUpe2UuZXhwb3J0cz1bIlJlc2V0IGZpbHRlciJdfSwyMDYxNDQoZSl7ZS5leHBvcnRzPVsiUmVzaWRlbnRpYWwgIFJlYWwgRXN0YXRlIERldmVsb3BtZW50Il19LDEyMjE4OShlKXtlLmV4cG9ydHM9WyJSZXNpZGVudGlhbCAmIExvbmcgVGVybSBDYXJlIl19LDEwOTAwNyhlKXtlLmV4cG9ydHM9WyJSZXNpZGVudGlhbCBBcmNoaXRlY3R1cmFsICYgSW50ZXJpb3IgRGVzaWduIFNlcnZpY2VzIl19LDU3ODgxMihlKXtlLmV4cG9ydHM9WyJSZXNpZGVudGlhbCBCdWlsZGVycyAtIE11bHRpZmFtaWx5IEhvbWVzIl19LDE4Mjc5NyhlKXtlLmV4cG9ydHM9WyJSZXNpZGVudGlhbCBCdWlsZGVycyAtIFNpbmdsZSBIb21lcyJdfSwyMjAyNjQoZSl7ZS5leHBvcnRzPVsiUmVzaWRlbnRpYWwgUkVJVHMiXX0sMTQ1MjgxKGUpe2UuZXhwb3J0cz1bIlJlc2lkZW50aWFsIFJlYWwgRXN0YXRlIFNlcnZpY2VzIl19LDg0MzE4MShlKXtlLmV4cG9ydHM9WyJSZXNvcnQgT3BlcmF0b3JzIl19LDMyMzg4OShlKXtlLmV4cG9ydHM9WyJSZXN0YXVyYW50cyJdfSwzMTUyMTMoZSl7ZS5leHBvcnRzPVsiUmVzdGF1cmFudHMgJiBCYXJzIl19LDQwNzQzOChlKXtlLmV4cG9ydHM9WyJSaXNpbmcgcGFpcnMiXX0sCjQ2MTk3MihlKXtlLmV4cG9ydHM9WyJSdWJiZXIgUGxhbnRhdGlvbiJdfSw5MzQ4ODMoZSl7ZS5leHBvcnRzPVsiUnVzc2lhIl19LDM5MDU5OChlKXtlLmV4cG9ydHM9WyJSdXNzaWFuIEZlZGVyYXRpb24iXX0sNzU4Mjk3KGUpe2UuZXhwb3J0cz1bIlJ3YW5kYSJdfSw4NzI2ODAoZSl7ZS5leHBvcnRzPVsiUsOpdW5pb24iXX0sMjI4MjkoZSl7ZS5leHBvcnRzPVsiUzEiXX0sNDQxODQxKGUpe2UuZXhwb3J0cz1bIlMyIl19LDg2MDg1MyhlKXtlLmV4cG9ydHM9WyJTMyJdfSw1NDE0MDUoZSl7ZS5leHBvcnRzPVsiV29tZW4ncyBBcHBhcmVsIFJldGFpbGVycyJdfSw1MDM3MTMoZSl7ZS5leHBvcnRzPVsiV29tZW4ncyBDbG90aGluZyJdfSw0MzQwNzcoZSl7ZS5leHBvcnRzPVsiV29tZW4ncyBGb290d2VhciJdfSw1MjQ1MzkoZSl7ZS5leHBvcnRzPVsiV29vZCBDb250YWluZXIgJiBQYWNrYWdpbmciXX0sMTAzNjQwKGUpe2UuZXhwb3J0cz1bIldvb2QgUHJvZHVjdCBXaG9sZXNhbGUiXX0sNzA2MDY1KGUpe2UuZXhwb3J0cz1bIldvb2QgUHJvZHVjdHMiXX0sNjQzMDc1KGUpe2UuZXhwb3J0cz1bIldvcmxkIl19LDYzMTA1MihlKXtlLmV4cG9ydHM9WyJXYXRjaGVzIl19LDg2MTY1NShlKXtlLmV4cG9ydHM9WyJXYXRlciAmIFNld2FnZSBDb25zdHJ1Y3Rpb24iXX0sNDM1OTgwKGUpe2UuZXhwb3J0cz1bIldhdGVyIFN1cHBseSAmIElycmlnYXRpb24gU3lzdGVtcyJdfSwzNjk5NDQoZSl7ZS5leHBvcnRzPVsiV2F0ZXIgVXRpbGl0aWVzIl19LDQwNTc3OShlKXtlLmV4cG9ydHM9WyJXYXZlIFBvd2VyIEVuZXJneSBFcXVpcG1lbnQiXX0sNTkwNTA1KGUpe2UuZXhwb3J0cz1bIldhbGxpcyBhbmQgRnV0dW5hIl19LDU1NDE3MyhlKXtlLmV4cG9ydHM9WyJXYWxscGFwZXIiXX0sOTA2Mzc5KGUpe2UuZXhwb3J0cz1bIldhcmVob3VzaW5nIl19LDQ5MzMzMyhlKXtlLmV4cG9ydHM9WyJXYXN0ZSBNYW5hZ2VtZW50LCBEaXNwb3NhbCAmIFJlY3ljbGluZyBTZXJ2aWNlcyJdfSwxMjEzMDEoZSl7ZS5leHBvcnRzPVsiV2FzdGUgdG8gRW5lcmd5IFN5c3RlbXMgJiBFcXVpcG1lbnQiXX0sMzMyODU1KGUpe2UuZXhwb3J0cz1bIldlIGFyZSBkb2luZyBzb21lIGJyaWVmIGRhaWx5IG1haW50ZW5hbmNlLiBTY3JlZW5lciB3aWxsIGJlIGJhY2sgcmVhbGx5IHNvb24sIHRoYW5rcyBmb3IgeW91ciBwYXRpZW5jZSEiXX0sNTI5MTYwKGUpe2UuZXhwb3J0cz1bIldlJ3ZlIGxhdW5jaGVkIG5ldyBhbmQgbW9yZSBwb3dlcmZ1bCBzY3JlZW5lcnMgZm9yIHtjcnlwdG9Db2luc1NjcmVlbmVyTGlua1N0YXJ0fWNyeXB0byBjb2luc3tsaW5rRW5kfSwge2NleFNjcmVlbmVyTGlua1N0YXJ0fUNFWCBwYWlyc3tsaW5rRW5kfSwgYW5kIHtkZXhTY3JlZW5lckxpbmtTdGFydH1ERVggcGFpcnN7bGlua0VuZH0uIFRoZXkncmUgcGFja2VkIHdpdGggZXZlcnl0aGluZyB5b3UgbG92ZWQgZnJvbSB0aGUgb2xkIHZlcnNpb24sIHBsdXMgbW9yZSBkYXRhLCBzbWFydGVyIGZpbHRlcnMsIGFuZCBleGNpdGluZyBmZWF0dXJlcyBhbmQgbWV0cmljcy5cblRvIHN0cmVhbWxpbmUgeW91ciBleHBlcmllbmNlLCB3ZSdsbCBiZSByZW1vdmluZyB0aGlzIG9sZCB2ZXJzaW9uIHNvb24uIEV4cGxvcmUgdGhlIG5ldyBzY3JlZW5lcnMgbm93LiJdfSw3OTU3NyhlKXtlLmV4cG9ydHM9WyJXZWFsdGggTWFuYWdlbWVudCJdfSw3ODE5OTMoZSl7ZS5leHBvcnRzPVsiV2Vla2x5IFBlcmYiXX0sODQ2NjE0KGUpe2UuZXhwb3J0cz1bIldlZWtseSBQZXJmb3JtYW5jZSJdfSw5MTQ4MTYoZSl7ZS5leHBvcnRzPVsiV2VsZGluZyAmIFNvbGRlcmluZyBFcXVpcG1lbnQiXX0sODgxMjc3KGUpe2UuZXhwb3J0cz1bIldlc3Rlcm4gU2FoYXJhIl19LDYwOTQ1NShlKXtlLmV4cG9ydHM9WyJXaG9sZXNhbGUgRGlzdHJpYnV0b3JzIl19LDYyODk1KGUpe2UuZXhwb3J0cz1bIldpLUZpICYgV2ktTWF4IFByb3ZpZGVycyJdfSwyNjA5MTAoZSl7ZS5leHBvcnRzPVsiV2lsbGlhbXMgUGVyY2VudCBSYW5nZSAoMTQpIl19LDE5OTc4OChlKXtlLmV4cG9ydHM9WyJXaW5kIFN5c3RlbXMgJiBFcXVpcG1lbnQiXX0sNjEzNjc1KGUpe2UuZXhwb3J0cz1bIldpbmVyaWVzIl19LDI0NzE2NShlKXtlLmV4cG9ydHM9WyJXaXJlZCBUZWxlY29tbXVuaWNhdGlvbnMgQ2FycmllcnMiXX0sMTc4MzA1KGUpe2UuZXhwb3J0cz1bIldpcmVsZXNzIFRlbGVjb20iXX0sODUzMTY0KGUpe2UuZXhwb3J0cz1bIldpcmVsZXNzIFRlbGVjb21tdW5pY2F0aW9ucyJdfSwxMjU3NDMoZSl7ZS5leHBvcnRzPVsiV2lyZWxlc3MgVGVsZWNvbW11bmljYXRpb25zIFNlcnZpY2VzIl19LDgwMDg0NShlKXtlLmV4cG9ydHM9WyJXaXJlcyAmIENhYmxlcyJdfSwzNDQzNzUoZSl7ZS5leHBvcnRzPVsiVEYiXX0sODQ3MTQxKGUpe2UuZXhwb3J0cz1bIlRUTSJdfSwyMzc3NDgoZSl7ZS5leHBvcnRzPVsiVFYgJiBWaWRlbyJdfSw1NDM1MzIoZSl7ZS5leHBvcnRzPVsiVG90YWwgQ29pbnMiXX0sODEyMzM1KGUpe2UuZXhwb3J0cz1bIlRvdGFsIENhcGl0YWwiXX0sNTc5MTA5KGUpe2UuZXhwb3J0cz1bIlRvdGFsIEN1cnJlbnQgQXNzZXRzIChNUlEpIl19LDQwMzY0NyhlKXtlLmV4cG9ydHM9WyJUb3RhbCBBc3NldHMgKEFubnVhbCBZb1kgR3Jvd3RoKSJdfSw0MDIyKGUpe2UuZXhwb3J0cz1bIlRvdGFsIEFzc2V0cyAoTVJRKSJdfSw5NzM2MChlKXtlLmV4cG9ydHM9WyJUb3RhbCBBc3NldHMgKFF1YXJ0ZXJseSBRb1EgR3Jvd3RoKSJdfSw1NDgzNDIoZSl7ZS5leHBvcnRzPVsiVG90YWwgQXNzZXRzIChRdWFydGVybHkgWW9ZIEdyb3d0aCkiXX0sNjIzODM3KGUpe2UuZXhwb3J0cz1bIlRvdGFsIERlYnQgKEFubnVhbCBZb1kgR3Jvd3RoKSJdfSw1Njg5MzQoZSl7ZS5leHBvcnRzPVsiVG90YWwgRGVidCAoTVJRKSJdfSw3OTMwMzYoZSl7ZS5leHBvcnRzPVsiVG90YWwgRGVidCAoUXVhcnRlcmx5IFFvUSBHcm93dGgpIl19LDY3NTEwOChlKXtlLmV4cG9ydHM9WyJUb3RhbCBEZWJ0IChRdWFydGVybHkgWW9ZIEdyb3d0aCkiXX0sMzM0MTcxKGUpe2UuZXhwb3J0cz1bIlRvdGFsIExpYWJpbGl0aWVzIChNUlEpIl19LDYwNjkyMChlKXsKZS5leHBvcnRzPVsiVG90YWwgTGlhYmlsaXRpZXMgKEZZKSJdfSw1NDMwOTUoZSl7ZS5leHBvcnRzPVsiVG90YWwgU2hhcmVzIE91dHN0YW5kaW5nIl19LDQzNjQ3NChlKXtlLmV4cG9ydHM9WyJUb3RhbCBSZXZlbnVlIChGWSkiXX0sNDE0MjU4KGUpe2UuZXhwb3J0cz1bIlRvdGFsIGFzc2V0cyAoe3BlcmlvZH0pIl19LDQ2OTU1OChlKXtlLmV4cG9ydHM9WyJUb3RhbCBkZWJ0ICh7cGVyaW9kfSkiXX0sNzMzMjYoZSl7ZS5leHBvcnRzPVsiVG90YWwgZXF1aXR5ICh7cGVyaW9kfSkiXX0sMzM2MzAzKGUpe2UuZXhwb3J0cz1bIlRvdGFsIHNoYXJlcyBvdXRzdGFuZGluZyJdfSwzMDIxNjUoZSl7ZS5leHBvcnRzPVsiVG90YWwgcmV2ZW51ZSAoe3BlcmlvZH0pIl19LDE1MjgzMyhlKXtlLmV4cG9ydHM9WyJUb3lzICYgR2FtZXMgUmV0YWlsZXJzIl19LDM1NzgwNChlKXtlLmV4cG9ydHM9WyJUb3lzICYgSnV2ZW5pbGUgUHJvZHVjdHMiXX0sNjIyMzI3KGUpe2UuZXhwb3J0cz1bIlRveXMgJiBKdXZlbmlsZSBQcm9kdWN0cyBXaG9sZXNhbGUiXX0sNDcyOTcxKGUpe2UuZXhwb3J0cz1bIlRvYmFjY28iXX0sNjE0NDUwKGUpe2UuZXhwb3J0cz1bIlRvZGF5Il19LDgzMjQ0OChlKXtlLmV4cG9ydHM9WyJUb2dvIl19LDEwNDE3NyhlKXtlLmV4cG9ydHM9WyJUb2tlbGF1Il19LDk0MDQ4MyhlKXtlLmV4cG9ydHM9WyJUb21vcnJvdyJdfSwyNTA1NTUoZSl7ZS5leHBvcnRzPVsiVG9uZ2EiXX0sNjQ3MDgzKGUpe2UuZXhwb3J0cz1bIlRvb2xzICYgSGFyZHdhcmUiXX0sMTE4MDkyKGUpe2UuZXhwb3J0cz1bIlRvb2xzICYgSG91c2V3YXJlcyJdfSw1NDk0MzcoZSl7ZS5leHBvcnRzPVsiVG9wIDIwIGVjb25vbWllcyJdfSw4MTQwMjEoZSl7ZS5leHBvcnRzPVsiVG9wIGdhaW5lcnMiXX0sMzg0NTQwKGUpe2UuZXhwb3J0cz1bIlRvcCBsb3NlcnMiXX0sMTg5NDgoZSl7ZS5leHBvcnRzPVsiVGF4aSAmIExpbW91c2luZSJdfSw2OTkxMjIoZSl7ZS5leHBvcnRzPVsiVGFibGV0ICYgTmV0Ym9vayBDb21wdXRlcnMiXX0sMjczMTU3KGUpe2UuZXhwb3J0cz1bIlRhaXdhbiwgQ2hpbmEiXX0sOTY4NDU4KGUpe2UuZXhwb3J0cz1bIlRhamlraXN0YW4iXX0sNTk3MzQ4KGUpe2UuZXhwb3J0cz1bIlRhbm5pbmcgJiBTb2Z0ZW5pbmcgYWdlbnRzIl19LDQ5ODE4MyhlKXtlLmV4cG9ydHM9WyJUYW56YW5pYSJdfSw4NTE5OTMoZSl7ZS5leHBvcnRzPVsiVGV4dGlsZXMiXX0sMjIzNjQ0KGUpe2UuZXhwb3J0cz1bIlRleHRpbGVzICYgTGVhdGhlciBHb29kcyJdfSw4MjA2NDcoZSl7ZS5leHBvcnRzPVsiVGV4dGlsZXMgJiBMZWF0aGVyIEdvb2RzIFdob2xlc2FsZSJdfSw1Njk1OTUoZSl7ZS5leHBvcnRzPVsiVGVjaG5pY2FsIFJhdGluZyJdfSwyNzEwNzkoZSl7ZS5leHBvcnRzPVsiVGVjaG5vbG9neSJdfSw3NjA1MTMoZSl7ZS5leHBvcnRzPVsiVGVjaG5vbG9neSBDb25zdWx0aW5nICYgT3V0c291cmNpbmcgU2VydmljZXMiXX0sNjQwOTUzKGUpe2UuZXhwb3J0cz1bIlRlY2hub2xvZ3kgU2VydmljZXMiXX0sMjU1ODIwKGUpe2UuZXhwb3J0cz1bIlRlbGVtZWRpY2luZSBTZXJ2aWNlcyJdfSw5MTYxODUoZSl7ZS5leHBvcnRzPVsiVGVsZWNvbW11bmljYXRpb24gQ29uc3RydWN0aW9uIl19LDE4NTE2NChlKXtlLmV4cG9ydHM9WyJUZWxlY29tbXVuaWNhdGlvbnMgTmV0d29yayBJbmZyYXN0cnVjdHVyZSJdfSwzODk2ODkoZSl7ZS5leHBvcnRzPVsiVGVsZWNvbW11bmljYXRpb25zIEVxdWlwbWVudCJdfSw1NzMyNjcoZSl7ZS5leHBvcnRzPVsiVGVsZWNvbW11bmljYXRpb25zIFJlc2VsbGVycyJdfSw4NTI1ODUoZSl7ZS5leHBvcnRzPVsiVGVsZWNvbW11bmljYXRpb25zIFNlcnZpY2VzIl19LDgyNzk4MChlKXtlLmV4cG9ydHM9WyJUZWxldmlzaW9uIEJyb2FkY2FzdGluZyJdfSwyMjEzNTUoZSl7ZS5leHBvcnRzPVsiVGVzdGluZyAmIE1lYXN1cmluZyBFcXVpcG1lbnQiXX0sOTIxNzg2KGUpe2UuZXhwb3J0cz1bIlRlc3RpbmcgTGFib3JhdG9yaWVzIl19LDQ5MjU3NyhlKXtlLmV4cG9ydHM9WyJUZXN0aW5nIFNlcnZpY2VzIl19LDU1MzA0NChlKXtlLmV4cG9ydHM9WyJUaGFpbGFuZCJdfSw1MTk0NzQoZSl7ZS5leHBvcnRzPVsiVGhlIGFsZXJ0IGNhbid0IGJlIGVuYWJsZWQiXX0sMTk0NjAwKGUpe2UuZXhwb3J0cz1bIlRoZSBjdXJyZW5jeSBzZXQgZm9yIHRoZSB0cmFkZWQgaW5zdHJ1bWVudCBieSB0aGUgcmVsZXZhbnQgY29tcGFueSJdfSw0MTU0MShlKXtlLmV4cG9ydHM9WyJUaGVhdHJlcyAmIFBlcmZvcm1pbmcgQXJ0cyJdfSwzNTg0MjEoZSl7ZS5leHBvcnRzPVsiVGhlcm1hbCBTb2xhciBTeXN0ZW1zICYgRXF1aXBtZW50Il19LDE3MDgwOShlKXtlLmV4cG9ydHM9WyJUaGlzIE1vbnRoIl19LDEyNzQ4MyhlKXtlLmV4cG9ydHM9WyJUaGlzIFdlZWsiXX0sNjc2NDQyKGUpe2UuZXhwb3J0cz1bIlRoaXMgZGF0YSBpcyBvbmx5IGF2YWlsYWJsZSBkaXJlY3RseSBvbiB7b3Blbkxpbmt9VHJhZGluZ1ZpZXd7Y2xvc2VMaW5rfSJdfSw3NDg1NDQoZSl7ZS5leHBvcnRzPVsiVGhpcyBsZWdhY3kgdmVyc2lvbiBvZiBDcnlwdG8gUGFpcnMgU2NyZWVuZXIgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZCJdfSw4OTAzODcoZSl7ZS5leHBvcnRzPVsiVGhyZWUgQmxhY2sgQ3Jvd3MiXX0sMjc3MDk3KGUpe2UuZXhwb3J0cz1bIlRocmVlIFdoaXRlIFNvbGRpZXJzIl19LDgyODQyMChlKXtlLmV4cG9ydHM9WyJUaWNrZXIiXX0sNTgxNTEoZSl7ZS5leHBvcnRzPVsiVGlsZSAmIFBhdmluZyBNYXRlcmlhbCBNYW51ZmFjdHVyaW5nIl19LDc3NTc1NShlKXtlLmV4cG9ydHM9WyJUaW1iZXIgUkVJVHMiXX0sMzIwNyhlKXtlLmV4cG9ydHM9WyJUaW1iZXIgVHJhY3QgT3BlcmF0aW9ucyJdfSw4NjIxMTkoZSl7ZS5leHBvcnRzPVsiVGltZSJdfSw3NjUzKGUpe2UuZXhwb3J0cz1bIlRpbWUgSW50ZXJ2YWwiXX0sODAzMDUxKGUpe2UuZXhwb3J0cz1bIlRpbW9yLUxlc3RlIl19LDk2MDA1MyhlKXtlLmV4cG9ydHM9WyJUaXJlICYgVHViZSBNYW51ZmFjdHVyZXJzIl19LDEzNTAzMyhlKXtlLmV4cG9ydHM9WyJUaXJlIERlYWxlcnMiXX0sNTI2MDAxKGUpewplLmV4cG9ydHM9WyJUaXJlIFJldHJlYWRpbmciXX0sMjQyNzc1KGUpe2UuZXhwb3J0cz1bIlRpcmVzICYgUnViYmVyIFByb2R1Y3RzIl19LDE2MjEzMyhlKXtlLmV4cG9ydHM9WyJUaXJlcyAmIFJ1YmJlciBQcm9kdWN0cyBXaG9sZXNhbGUiXX0sNzIxMjI1KGUpe2UuZXhwb3J0cz1bIlRydWNraW5nIl19LDQyMTY0NyhlKXtlLmV4cG9ydHM9WyJUcnVja3MvQ29uc3RydWN0aW9uL0Zhcm0gTWFjaGluZXJ5Il19LDcyMTUyMihlKXtlLmV4cG9ydHM9WyJUcnVzdCBmdW5kIl19LDMzODg2NShlKXtlLmV4cG9ydHM9WyJUcmFkZSAmIEJ1c2luZXNzIFB1Ymxpc2hpbmciXX0sMjM0MDcxKGUpe2UuZXhwb3J0cz1bIlRyYWRlZCBWb2wiXX0sNTA5Njc5KGUpe2UuZXhwb3J0cz1bIlRyYWRlZCBWb2x1bWUiXX0sODE4NjAoZSl7ZS5leHBvcnRzPVsiVHJhbnNhY3Rpb24gJiBQYXltZW50IFNlcnZpY2VzIl19LDUzMzI2OShlKXtlLmV4cG9ydHM9WyJUcmFuc2xhdGlvbiAmIEludGVycHJldGF0aW9uIFNlcnZpY2VzIl19LDc2ODM5MChlKXtlLmV4cG9ydHM9WyJUcmFuc3BvcnRhdGlvbiJdfSw1MzM1OTEoZSl7ZS5leHBvcnRzPVsiVHJhdmVsIEFnZW50cyJdfSwxMTUyNzQoZSl7ZS5leHBvcnRzPVsiVHJlbmQtRm9sbG93aW5nIl19LDI5MTE3MyhlKXtlLmV4cG9ydHM9WyJUcmkgU3RhciBCZWFyaXNoIl19LDg2NzI2OChlKXtlLmV4cG9ydHM9WyJUcmkgU3RhciBCdWxsaXNoIl19LDMxNDg3KGUpe2UuZXhwb3J0cz1bIlRyaW5pZGFkIGFuZCBUb2JhZ28iXX0sNDMwMTM0KGUpe2UuZXhwb3J0cz1bIlR1dmFsdSJdfSw2Nzc1OShlKXtlLmV4cG9ydHM9WyJUdW5pc2lhIl19LDY4NzcyNShlKXtlLmV4cG9ydHM9WyJUdXJiaW5lIE1hbnVmYWN0dXJpbmciXX0sNzM1NjgzKGUpe2UuZXhwb3J0cz1bIlR1cmttZW5pc3RhbiJdfSw2MzE4MTAoZSl7ZS5leHBvcnRzPVsiVHVya2V5Il19LDk3MDYyNChlKXtlLmV4cG9ydHM9WyJUdXJrcyBhbmQgQ2FpY29zIElzbGFuZHMiXX0sNDMxMzc3KGUpe2UuZXhwb3J0cz1bIlUuUy4gVmlyZ2luIElzbGFuZHMiXX0sODk1Nzc0KGUpe2UuZXhwb3J0cz1bIlVPIl19LDE2MzExMChlKXtlLmV4cG9ydHM9WyJVQUUiXX0sNjIwMjExKGUpe2UuZXhwb3J0cz1bIlVJVCJdfSwzMDExMTcoZSl7ZS5leHBvcnRzPVsiVVNBIl19LDI1MDA3MihlKXtlLmV4cG9ydHM9WyJVbnVzdWFsIHZvbHVtZSJdfSwxMzc4ODgoZSl7ZS5leHBvcnRzPVsiVW5jb252ZW50aW9uYWwgT2lsICYgR2FzIERyaWxsaW5nIl19LDY2MTk3NihlKXtlLmV4cG9ydHM9WyJVbmNvbnZlbnRpb25hbCBPaWwgJiBHYXMgUHJvZHVjdGlvbiJdfSw3NDIzMzgoZSl7ZS5leHBvcnRzPVsiVW5kZXJwZXJmb3JtaW5nIFNNQTUwIl19LDI0OTA5MShlKXtlLmV4cG9ydHM9WyJVbml0ZWQgQXJhYiBFbWlyYXRlcyJdfSwyODI3MyhlKXtlLmV4cG9ydHM9WyJVbml0ZWQgS2luZ2RvbSJdfSw5Njc5NDEoZSl7ZS5leHBvcnRzPVsiVW5pdGVkIFN0YXRlcyJdfSw3MzY3OTkoZSl7ZS5leHBvcnRzPVsiVW5pdGVkIFN0YXRlcyBNaW5vciBPdXRseWluZyBJc2xhbmRzIl19LDU4ODY5MyhlKXtlLmV4cG9ydHM9WyJVZ2FuZGEiXX0sMzE3NDc1KGUpe2UuZXhwb3J0cz1bIlVrcmFpbmUiXX0sOTk5OTYxKGUpe2UuZXhwb3J0cz1bIlVsdGltYXRlIE9zY2lsbGF0b3IgKDcsIDE0LCAyOCkiXX0sNzcwNDI0KGUpe2UuZXhwb3J0cz1bIlVwY29taW5nIEVhcm5pbmdzIERhdGUiXX0sOTI4NTUzKGUpe2UuZXhwb3J0cz1bIlVydWd1YXkiXX0sMzIzMTMyKGUpe2UuZXhwb3J0cz1bIlVyYW5pdW0iXX0sMTA3NDA1KGUpe2UuZXhwb3J0cz1bIlVyYW5pdW0gTWluaW5nIl19LDQ4NzAwNihlKXtlLmV4cG9ydHM9WyJVc2VkIENhciBEZWFsZXJzIl19LDU5MjYyNyhlKXtlLmV4cG9ydHM9WyJVc2VkIE1lcmNoYW5kaXNlIFN0b3JlcyJdfSw4OTExMzYoZSl7ZS5leHBvcnRzPVsiVXRpbGl0aWVzIl19LDc4Mzk3MChlKXtlLmV4cG9ydHM9WyJVemJla2lzdGFuIl19LDM3MjUyMyhlKXtlLmV4cG9ydHM9WyJWT0lQIEVxdWlwbWVudCAmIFN5c3RlbXMiXX0sMjk4MTEzKGUpe2UuZXhwb3J0cz1bIlZPSVAgU2VydmljZXMiXX0sMjUxMTY3KGUpe2UuZXhwb3J0cz1bIlZXQVAiXX0sMzM5NDA3KGUpe2UuZXhwb3J0cz1bIlZXTUEiXX0sMzUyNDU3KGUpe2UuZXhwb3J0cz1bIlZvbCAyNGggQ2hnICUiXX0sMjM0MDc3KGUpe2UuZXhwb3J0cz1bIlZvbCAyNGggaW4gVVNEIl19LDMzODM5MihlKXtlLmV4cG9ydHM9WyJWb2xhdGlsaXR5Il19LDkyOTU5NChlKXtlLmV4cG9ydHM9WyJWb2xhdGlsaXR5IE0iXX0sNTYzMzYzKGUpe2UuZXhwb3J0cz1bIlZvbGF0aWxpdHkgTW9udGgiXX0sMTExNTQ4KGUpe2UuZXhwb3J0cz1bIlZvbGF0aWxpdHkgVyJdfSwxNjIyNjUoZSl7ZS5leHBvcnRzPVsiVm9sYXRpbGl0eSBXZWVrIl19LDI0NzA2MihlKXtlLmV4cG9ydHM9WyJWb2x1bWUiXX0sNzExMTg4KGUpe2UuZXhwb3J0cz1bIlZvbHVtZSAyNGggQ2hhbmdlICUiXX0sNTU3OTMzKGUpe2UuZXhwb3J0cz1bIlZvbHVtZSAyNGggaW4gVVNEIl19LDU0MzM5MShlKXtlLmV4cG9ydHM9WyJWb2x1bWUgV2VpZ2h0ZWQgTW92aW5nIEF2ZXJhZ2UgKDIwKSJdfSwxNTUyODAoZSl7ZS5leHBvcnRzPVsiVm9sdW1lIGxlYWRlcnMiXX0sNjkwMjA2KGUpe2UuZXhwb3J0cz1bIlZvbHVtZSpQcmljZSJdfSw3OTYyNTYoZSl7ZS5leHBvcnRzPVsiVmFsdWF0aW9uIl19LDMxMDg2OShlKXtlLmV4cG9ydHM9WyJWYWx1ZSJdfSw0MTYyNTcoZSl7ZS5leHBvcnRzPVsiVmFudWF0dSJdfSwxMjY3NChlKXtlLmV4cG9ydHM9WyJWZXRlcmluYXJ5IERydWdzIl19LDYxOTQ5MChlKXtlLmV4cG9ydHM9WyJWZXRlcmluYXJ5IE1lZGljYWwgRXF1aXBtZW50ICYgU3VwcGxpZXMiXX0sNzkxMzg0KGUpe2UuZXhwb3J0cz1bIlZldGVyaW5hcnkgU2VydmljZXMiXX0sNjEwNjgwKGUpe2UuZXhwb3J0cz1bIlZlZ2V0YWJsZSwgRnJ1aXQgJiBOdXQgRmFybWluZyJdfSwyNDk2ODUoZSl7ZS5leHBvcnRzPVsiVmVuZGluZyBNYWNoaW5lIFByb3ZpZGVycyJdfSw2NDM1MDMoZSl7ZS5leHBvcnRzPVsiVmVuZXp1ZWxhIl19LDM4NjU4NihlKXsKZS5leHBvcnRzPVsiVmVudHVyZSBDYXBpdGFsIl19LDg1MjIxKGUpe2UuZXhwb3J0cz1bIlZpZXRuYW0iXX0sNDIzMjA2KGUpe2UuZXhwb3J0cz1bIlZpcmdpbiBJc2xhbmRzIChCcml0aXNoKSJdfSwzMDEyMjkoZSl7ZS5leHBvcnRzPVsiVmlyZ2luIElzbGFuZHMgKFUuUy4pIl19LDUxNzg1OShlKXtlLmV4cG9ydHM9WyJWaXNpdCBUcmFkaW5nVmlldyDigJQgZmluYW5jaWFsIGNoYXJ0aW5nIHBsYXRmb3JtIGFuZCB0cmFkaW5nIGNvbW11bml0eSJdfSw2NDc0NzEoZSl7ZS5leHBvcnRzPVsiWVREIFBlcmYiXX0sODUzMTAwKGUpe2UuZXhwb3J0cz1bIllURCBQZXJmb3JtYW5jZSJdfSw3MjM2MyhlKXtlLmV4cG9ydHM9WyJZb3UgYXJlIG5vdGlmaWVkIl19LDcxNzM1MChlKXtlLmV4cG9ydHM9WyJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgaW4geW91ciBjdXJyZW50IGNvbHVtbiBzZXQuIFdvdWxkIHlvdSBsaWtlIHRvIHNhdmUgdGhlbT8iXX0sMjcwNjQ0KGUpe2UuZXhwb3J0cz1bIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBpbiB5b3VyIGN1cnJlbnQgZmlsdGVyIHNldC4gV291bGQgeW91IGxpa2UgdG8gc2F2ZSB0aGVtPyJdfSw5NjMzMTgoZSl7ZS5leHBvcnRzPVsiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGluIHlvdXIgY3VycmVudCBzY3JlZW4uIFdvdWxkIHlvdSBsaWtlIHRvIHNhdmUgdGhlbT8iXX0sMzI3MzA1KGUpe2UuZXhwb3J0cz1bIllvdSdyZSBjdXJyZW50bHkgdXNpbmcgb3VyIGxlZ2FjeSBTdG9jayBTY3JlZW5lci4gVGhpcyB2ZXJzaW9uIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQgYW5kIHdvbid0IHJlY2VpdmUgYW55IHVwZGF0ZXMgb3IgZml4ZXMgbW92aW5nIGZvcndhcmQuIFRvIGNvbnRpbnVlIHNjcmVlbmluZyB3aXRoIGZ1bGwgc3BlZWQsIHJlbGlhYmlsaXR5LCBhbmQgbmV3IGZlYXR1cmVzLCBwbGVhc2Ugc3dpdGNoIHRvIG91ciBuZXcgU3RvY2sgU2NyZWVuZXIg4oCUIGJ1aWx0IGJhc2VkIG9uIHlvdXIgZmVlZGJhY2sgYW5kIHJlYWR5IHRvIHN1cHBvcnQgeW91ciB0cmFkaW5nIG5lZWRzLiBUcnVzdCB1cywgdGhlIG5ldyBzY3JlZW5lciBpcyB3b3J0aCBpdC4iXX0sMzA5NTIzKGUpe2UuZXhwb3J0cz1bIllhcm4gR29vZHMiXX0sMTgzNTY0KGUpe2UuZXhwb3J0cz1bIlllYXJseSBQZXJmIl19LDEyOTgwOShlKXtlLmV4cG9ydHM9WyJZZWFybHkgUGVyZm9ybWFuY2UiXX0sNDA5Mzg0KGUpe2UuZXhwb3J0cz1bIlllbWVuIl19LDk2NTU3MyhlKXtlLmV4cG9ydHM9WyJZZXN0ZXJkYXkiXX0sODY3MzkzKGUpe2UuZXhwb3J0cz1bIlphbWJpYSJdfSw5NTkxNTUoZSl7ZS5leHBvcnRzPVsiWmltYmFid2UiXX0sOTUwMjA3KGUpe2UuZXhwb3J0cz1bIlppbmMgT3JlIE1pbmluZyJdfSw3MjExMTgoZSl7ZS5leHBvcnRzPVsiYW5udWFsbHkiXX0sNjUzNjkoZSl7ZS5leHBvcnRzPVsiYmlsbGVkIG1vbnRobHkiXX0sMjYwMTkzKGUpe2UuZXhwb3J0cz1bImJpbGxlZCBhbm51YWxseSJdfSw1NTY1NjgoZSl7ZS5leHBvcnRzPVsibW9udGhseSJdfSw4NjM4NTIoZSl7ZS5leHBvcnRzPVsidGhyZWUgbW9udGhzIl19LDgzNTgoZSl7ZS5leHBvcnRzPVsidHJpYWwiXX0sMTUzNzY2KGUpe2UuZXhwb3J0cz1bIntwcm9QbGFuTmFtZX0gVHJpYWwiXX0sMjk1NjIwKGUpe2UuZXhwb3J0cz1bIntyZXNvbHV0aW9ufSBDSEciXX0sNjAyNjAxKGUpe2UuZXhwb3J0cz1bIntyZXNvbHV0aW9ufSBDSEcgJSJdfSw5MDY1NTQoZSl7ZS5leHBvcnRzPVsiw4VsYW5kIElzbGFuZHMiXX0sNTU0NzIyKGUpe2UuZXhwb3J0cz1bIlJlZnJlc2ggZXZlcnkgbWludXRlcyIsIlJlZnJlc2ggZXZlcnkgezB9IG1pbnV0ZXMiXX0sNjMxNDQ3KGUpe2UuZXhwb3J0cz1bIlJlZnJlc2ggZXZlcnkgc2Vjb25kIiwiUmVmcmVzaCBldmVyeSB7MH0gc2Vjb25kcyJdfSwzMjM0ODUoZSl7ZS5leHBvcnRzPVsibW9udGgiLCJtb250aHMiXX0sMjQ1MjYyKGUpe2UuZXhwb3J0cz1bIntudW1iZXJ9IGRheSIsIntudW1iZXJ9IGRheXMiXX0sODI0MjE4KGUpe2UuZXhwb3J0cz1bIntudW1iZXJ9IGhvdXIiLCJ7bnVtYmVyfSBob3VycyJdfSw5ODM3NjQoZSl7ZS5leHBvcnRzPVsie251bWJlcn0gaXRlbSIsIntudW1iZXJ9IGl0ZW1zIl19LDcyMDg5MyhlKXtlLmV4cG9ydHM9WyJ7bnVtYmVyfSBtb250aCIsIntudW1iZXJ9IG1vbnRocyJdfSw1NDA1NjUoZSl7ZS5leHBvcnRzPVsie251bWJlcn0gbWF0Y2giLCJ7bnVtYmVyfSBtYXRjaGVzIl19LDcwNDk1OChlKXtlLmV4cG9ydHM9WyJ7bnVtYmVyfSBtaW51dGUiLCJ7bnVtYmVyfSBtaW51dGVzIl19LDgzMjcxNyhlKXtlLmV4cG9ydHM9WyJ7bnVtYmVyfSB3ZWVrIiwie251bWJlcn0gd2Vla3MiXX0sNDQyNjY2KGUpe2UuZXhwb3J0cz1bInllYXIiLCJ5ZWFycyJdfSwyNTg2NjcoZSl7ZS5leHBvcnRzPU9iamVjdC5jcmVhdGUobnVsbCksZS5leHBvcnRzWyIjQUFQTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkFwcGxlIEluYyJdLGUuZXhwb3J0c1siI0FNRVg6U0NITy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNjaHdhYiBTaG9ydC1UZXJtIFUuUy4gVHJlYXN1cnkgRVRGIl0sZS5leHBvcnRzWyIjQU1FWDpTSFlHLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2hhcmVzIDAtNSBZRUFSIEhpZ2ggWWllbGQgQ29ycG9yYXRlIEJvbmQgRVRGIl0sZS5leHBvcnRzWyIjQVNYOlhBRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUC9BU1ggQWxsIEF1c3RyYWxpYW4gNTAgSW5kZXgiXSxlLmV4cG9ydHNbIiNBU1g6WEFULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL0FTWCBBbGwgQXVzdHJhbGlhbiAyMDAgSW5kZXgiXSxlLmV4cG9ydHNbIiNBU1g6WEpPLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL0FTWCAyMDAgSW5kZXgiXSxlLmV4cG9ydHNbIiNBVURDQUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBdXN0cmFsaWFuIERvbGxhci9DYW5hZGlhbiBEb2xsYXIiXSxlLmV4cG9ydHNbIiNBVURDSEYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBdXN0cmFsaWFuIERvbGxhciAvIFN3aXNzIEZyYW5jIl0sCmUuZXhwb3J0c1siI0FVREpQWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYW4gRG9sbGFyIC8gSmFwYW5lc2UgWWVuIl0sZS5leHBvcnRzWyIjQVVETlpELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQXVzdHJhbGlhbiBEb2xsYXIgLyBOZXcgWmVhbGFuZCBEb2xsYXIiXSxlLmV4cG9ydHNbIiNBVURSVUItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBdXN0cmFsaWFuIERvbGxhciAvIFJ1c3NpYW4gUnVibGUiXSxlLmV4cG9ydHNbIiNBVURVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBdXN0cmFsaWFuIERvbGxhciAvIFUuUy4gRG9sbGFyIl0sZS5leHBvcnRzWyIjQkNCQTpJTVYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgTUVSVkFMIEluZGV4Il0sZS5leHBvcnRzWyIjQkNIRVVSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiBDYXNoIC8gRXVybyJdLGUuZXhwb3J0c1siI0JDSFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gQ2FzaCAvIFUuUy4gRG9sbGFyIl0sZS5leHBvcnRzWyIjQkVMRVg6QkVMRVgxNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJFTEVYIDE1IEluZGV4Il0sZS5leHBvcnRzWyIjQklTVDpYVTEwMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJJU1QgMTAwIEluZGV4Il0sZS5leHBvcnRzWyIjQklUTUVYOlhCVC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBVLlMuIERvbGxhciBJbmRleCJdLGUuZXhwb3J0c1siI0JNRTpJQkMtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJQkVYIDM1IEluZGV4Il0sZS5leHBvcnRzWyIjQk1GQk9WRVNQQTpJQk9WLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQm92ZXNwYSBJbmRleCJdLGUuZXhwb3J0c1siI0JNRkJPVkVTUEE6SUJSQS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklCcmFzaWwgSW5kZXgiXSxlLmV4cG9ydHNbIiNCTUZCT1ZFU1BBOklCWEwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcmF6aWwgNTAgSW5kZXgiXSxlLmV4cG9ydHNbIiNCTVY6Q1Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDaGluYSBTWDIwIFJUIl0sZS5leHBvcnRzWyIjQk1WOkYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJGb3JkIE1vdG9yIENvbXBhbnkiXSxlLmV4cG9ydHNbIiNCTVY6TUUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAvQk1WIElQQyBJbmRleCJdLGUuZXhwb3J0c1siI0JSTEpQWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyYXppbGlhbiBSZWFsIC8gSmFwYW5lc2UgWWVuIl0sZS5leHBvcnRzWyIjQlNFOklUSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklUSSBMdGQiXSxlLmV4cG9ydHNbIiNCU0U6U0VOU0VYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIEJTRSBTZW5zZXggSW5kZXgiXSxlLmV4cG9ydHNbIiNCVENCUkwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gQnJhemlsaWFuIFJlYWwiXSxlLmV4cG9ydHNbIiNCVENDQUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gQ2FuYWRpYW4gRG9sbGFyIl0sZS5leHBvcnRzWyIjQlRDQ05ZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIENoaW5lc2UgWXVhbiJdLGUuZXhwb3J0c1siI0JUQ0VVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBFdXJvIl0sZS5leHBvcnRzWyIjQlRDR0JQLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIEJyaXRpc2ggUG91bmQiXSxlLmV4cG9ydHNbIiNCVENKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gSmFwYW5lc2UgWWVuIl0sZS5leHBvcnRzWyIjQlRDS1JXLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIFNvdXRoIEtvcmVhbiBXb24iXSxlLmV4cG9ydHNbIiNCVENQTE4tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gUG9saXNoIFpsb3R5Il0sZS5leHBvcnRzWyIjQlRDUlVCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIFJ1c3NpYW4gUnVibGUiXSxlLmV4cG9ydHNbIiNCVENUSEItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gVGhhaSBCYWh0Il0sZS5leHBvcnRzWyIjQlRDVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIFUuUy4gRG9sbGFyIl0sZS5leHBvcnRzWyIjQlRHVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiBHb2xkIC8gVS5TLiBEb2xsYXIiXSxlLmV4cG9ydHNbIiNCVkw6U1BCTFBHUFQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgLyBCVkwgUGVydSBHZW5lcmFsIEluZGV4IChQRU4pIl0sZS5leHBvcnRzWyIjQlZTUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyYXppbCBCb3Zlc3BhIEluZGV4Il0sZS5leHBvcnRzWyIjQ0FESlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2FuYWRpYW4gRG9sbGFyIC8gSmFwYW5lc2UgWWVuIl0sZS5leHBvcnRzWyIjQ0FEVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2FuYWRpYW4gRG9sbGFyIC8gVS5TLiBEb2xsYXIiXSxlLmV4cG9ydHNbIiNDQk9FOk9FWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCAxMDAgSW5kZXgiXSxlLmV4cG9ydHNbIiNDQk9FOlZJWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlZvbGF0aWxpdHkgUyZQIDUwMCBJbmRleCJdLGUuZXhwb3J0c1siI0NCT1Q6WkIxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlQtQm9uZCBGdXR1cmVzIl0sZS5leHBvcnRzWyIjQ0JPVDpaQzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ29ybiBGdXR1cmVzIl0sZS5leHBvcnRzWyIjQ0JPVDpaTTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU295YmVhbiBNZWFsIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDQk9UOlpOMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyIxMCBZZWFyIFQtTm90ZSBGdXR1cmVzIl0sZS5leHBvcnRzWyIjQ0JPVDpaTzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT2F0IEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDQk9UOlpRMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyIzMCBEYXkgRmVkZXJhbCBGdW5kcyBJbnRlcmVzdCBSYXRlIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDQk9UOlpSMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJSaWNlIEZ1dHVyZXMiXSwKZS5leHBvcnRzWyIjQ0JPVDpaUzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU295YmVhbiBGdXR1cmVzIl0sZS5leHBvcnRzWyIjQ0JPVDpaVzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiV2hlYXQgRnV0dXJlcyJdLGUuZXhwb3J0c1siI0NCT1RfTUlOSTpYSzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU295YmVhbiBNaW5pIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDQk9UX01JTkk6WFcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIldoZWF0IE1pbmkgRnV0dXJlcyJdLGUuZXhwb3J0c1siI0NCT1RfTUlOSTpZTTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRS1taW5pIERvdyBKb25lcyAoJDUpIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDSEZKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTd2lzcyBGcmFuYyAvIEphcGFuZXNlIFllbiJdLGUuZXhwb3J0c1siI0NIRlVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlN3aXNzIEZyYW5jIC8gVS5TLiBEb2xsYXIiXSxlLmV4cG9ydHNbIiNDTUU6QlRDMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIENNRSBGdXR1cmVzIl0sZS5leHBvcnRzWyIjQ01FOkNCMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCdXR0ZXIgRnV0dXJlcy1DYXNoIChDb250aW51b3VzOiBDdXJyZW50IGNvbnRyYWN0IGluIGZyb250KSJdLGUuZXhwb3J0c1siI0NNRTpHRjEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRmVlZGVyIENhdHRsZSBGdXR1cmVzIl0sZS5leHBvcnRzWyIjQ01FOkhFMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJMZWFuIEhvZ3MgRnV0dXJlcyJdLGUuZXhwb3J0c1siI0NNRTpMRTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTGl2ZSBDYXR0bGUgRnV0dXJlcyJdLGUuZXhwb3J0c1siI0NNRV9NSU5JOkU3MSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIEUtbWluaSBGdXR1cmVzIl0sZS5leHBvcnRzWyIjQ01FX01JTkk6RVMxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCA1MDAgRS1taW5pIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDTUVfTUlOSTpKNzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW5lc2UgWWVuIEUtbWluaSBGdXR1cmVzIl0sZS5leHBvcnRzWyIjQ01FX01JTkk6TlExIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5BU0RBUSAxMDAgRS1taW5pIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDTUVfTUlOSTpSVFkxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkUtTWluaSBSdXNzZWxsIDIwMDAgSW5kZXggRnV0dXJlcyJdLGUuZXhwb3J0c1siI0NPTUVYOkFFUDEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQWx1bWluaXVtIEV1cm9wZWFuIFByZW1pdW0gRnV0dXJlcyJdLGUuZXhwb3J0c1siI0NPTUVYOkFVUDEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQWx1bWludW0gTVcgVS5TLiBUcmFuc2FjdGlvbiBQcmVtaXVtIFBsYXR0cyAoMjVNVCkgRnV0dXJlcyJdLGUuZXhwb3J0c1siI0NPTUVYOkdDMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJHb2xkIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDT01FWDpIRzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ29wcGVyIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDT01FWDpTSTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2lsdmVyIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDT01FWF9NSU5JOlFDMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFLW1pbmkgQ29wcGVyIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDT01FWF9NSU5JOlFJMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTaWx2ZXIgKE1pbmkpIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDT01FWF9NSU5JOlFPMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJHb2xkIChNaW5pKSBGdXR1cmVzIl0sZS5leHBvcnRzWyIjQ09QUEVSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBDb3BwZXIiXSxlLmV4cG9ydHNbIiNDT1JOVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBDb3JuIl0sZS5leHBvcnRzWyIjQ09UVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBDb3R0b24iXSxlLmV4cG9ydHNbIiNDUllQVE9DQVA6VE9UQUwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDcnlwdG8gVG90YWwgTWFya2V0IENhcCwgJCJdLGUuZXhwb3J0c1siI0RGTTpERk1HSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRGTSBJbmRleCJdLGUuZXhwb3J0c1siI0RKOkRKQS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21wb3NpdGUgQXZlcmFnZSBJbmRleCJdLGUuZXhwb3J0c1siI0RKOkRKQ0lBR0Mtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IEFncmljdWx0dXJlIENhcHBlZCBDb21wb25lbnQiXSxlLmV4cG9ydHNbIiNESjpESkNJQ0Mtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IENvY29hIl0sZS5leHBvcnRzWyIjREo6REpDSUVOLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRG93IEpvbmVzIENvbW1vZGl0eSBJbmRleCBFbmVyZ3kiXSxlLmV4cG9ydHNbIiNESjpESkNJR0Mtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IEdvbGQiXSxlLmV4cG9ydHNbIiNESjpESkNJR1Itc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IEdyYWlucyJdLGUuZXhwb3J0c1siI0RKOkRKQ0lJSy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggTmlja2VsIl0sZS5leHBvcnRzWyIjREo6REpDSUtDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRG93IEpvbmVzIENvbW1vZGl0eSBJbmRleCBDb2ZmZWUiXSxlLmV4cG9ydHNbIiNESjpESkNJU0Itc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IFN1Z2FyIl0sZS5leHBvcnRzWyIjREo6REpDSVNJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRG93IEpvbmVzIENvbW1vZGl0eSBJbmRleCBTaWx2ZXIiXSxlLmV4cG9ydHNbIiNESjpESkktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgSW5kdXN0cmlhbCBBdmVyYWdlIEluZGV4Il0sCmUuZXhwb3J0c1siI0RKOkRKVC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBUcmFuc3BvcnRhdGlvbiBBdmVyYWdlIEluZGV4Il0sZS5leHBvcnRzWyIjREo6REpVLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRG93IEpvbmVzIFV0aWxpdHkgQXZlcmFnZSBJbmRleCJdLGUuZXhwb3J0c1siI0RKOkRKVVNDTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBVLlMuIENvYWwgSW5kZXgiXSxlLmV4cG9ydHNbIiNFR1g6RUdYMzAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFR1ggMzAgSW5kZXgiXSxlLmV4cG9ydHNbIiNFVENCVEMtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdGhlcmV1bSBDbGFzc2ljIC8gQml0Y29pbiJdLGUuZXhwb3J0c1siI0VUQ0VVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIENsYXNzaWMgLyBFdXJvIl0sZS5leHBvcnRzWyIjRVRDVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gQ2xhc3NpYyAvIFUuUy4gRG9sbGFyIl0sZS5leHBvcnRzWyIjRVRIQlRDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gLyBCaXRjb2luIl0sZS5leHBvcnRzWyIjRVRIRVVSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gLyBFdXJvIl0sZS5leHBvcnRzWyIjRVRIR0JQLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gLyBCcml0aXNoIFBvdW5kIl0sZS5leHBvcnRzWyIjRVRISlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gLyBKYXBhbmVzZSBZZW4iXSxlLmV4cG9ydHNbIiNFVEhLUlctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdGhlcmV1bSAvIFNvdXRoIEtvcmVhbiBXb24iXSxlLmV4cG9ydHNbIiNFVEhUSEItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdGhlcmV1bSAvIFRoYWkgQmFodCJdLGUuZXhwb3J0c1siI0VUSFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIC8gVS5TLiBEb2xsYXIiXSxlLmV4cG9ydHNbIiNFVUJVTkQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIEJ1bmQiXSxlLmV4cG9ydHNbIiNFVVJBVUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gQXVzdHJhbGlhbiBEb2xsYXIiXSxlLmV4cG9ydHNbIiNFVVJCUkwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gQnJhemlsaWFuIFJlYWwiXSxlLmV4cG9ydHNbIiNFVVJDQUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gQ2FuYWRpYW4gRG9sbGFyIl0sZS5leHBvcnRzWyIjRVVSQ0hGLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIFN3aXNzIEZyYW5jIl0sZS5leHBvcnRzWyIjRVVSR0JQLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIEJyaXRpc2ggUG91bmQiXSxlLmV4cG9ydHNbIiNFVVJKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gSmFwYW5lc2UgWWVuIl0sZS5leHBvcnRzWyIjRVVSTk9LLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIE5vcndlZ2lhbiBLcm9uZSJdLGUuZXhwb3J0c1siI0VVUk5aRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBOZXcgWmVhbGFuZCBEb2xsYXIiXSxlLmV4cG9ydHNbIiNFVVJPTkVYVDpBRVgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBRVggSW5kZXgiXSxlLmV4cG9ydHNbIiNFVVJPTkVYVDpCRUwyMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJFTCAyMCBJbmRleCJdLGUuZXhwb3J0c1siI0VVUk9ORVhUOlBYMS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNBQyA0MCBJbmRleCJdLGUuZXhwb3J0c1siI0VVUlJVQi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBSdXNzaWFuIFJ1YmxlIl0sZS5leHBvcnRzWyIjRVVSUlVCX1RPTS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBSdXNzaWFuIFJ1YmxlIFRPTSJdLGUuZXhwb3J0c1siI0VVUlNFSy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBTd2VkaXNoIEtyb25hIl0sZS5leHBvcnRzWyIjRVVSVFJZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIFR1cmtpc2ggTGlyYSJdLGUuZXhwb3J0c1siI0VVUlVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBVLlMuIERvbGxhciJdLGUuZXhwb3J0c1siI0VVU1RYNTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIFN0b3h4IDUwIEluZGV4Il0sZS5leHBvcnRzWyIjRk9SRVhDT006VVMyMDAwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVVMgU21hbGwgQ2FwIDIwMDAiXSxlLmV4cG9ydHNbIiNGUkE0MC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNBQyA0MCBJbmRleCJdLGUuZXhwb3J0c1siI0ZSRUQ6R0RQLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR3Jvc3MgRG9tZXN0aWMgUHJvZHVjdCwgMSBEZWNpbWFsIl0sZS5leHBvcnRzWyIjRlJFRDpQT1Atc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJUb3RhbCBQb3B1bGF0aW9uOiBBbGwgQWdlcyBJbmNsdWRpbmcgQXJtZWQgRm9yY2VzIE92ZXJzZWFzIl0sZS5leHBvcnRzWyIjRlJFRDpVTlJBVEUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDaXZpbGlhbiBVbmVtcGxveW1lbnQgUmF0ZSJdLGUuZXhwb3J0c1siI0ZUU0VNWVg6RkJNS0xDSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkZUU0UgQnVyc2EgTWFsYXlzaWEgS0xDSSBJbmRleCJdLGUuZXhwb3J0c1siI0ZXQjpLVDEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJLZXkgVHJvbmljIENvctGALiJdLGUuZXhwb3J0c1siI0ZYOkFVUzIwMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUC9BU1ggSW5kZXgiXSxlLmV4cG9ydHNbIiNGWDpVUzMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRG93IEpvbmVzIEluZHVzdHJpYWwgQXZlcmFnZSBJbmRleCJdLGUuZXhwb3J0c1siI0dCUEFVRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBBdXN0cmFsaWFuIERvbGxhciJdLGUuZXhwb3J0c1siI0dCUENBRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBDYW5hZGlhbiBEb2xsYXIiXSxlLmV4cG9ydHNbIiNHQlBDSEYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcml0aXNoIFBvdW5kIC8gU3dpc3MgRnJhbmMiXSwKZS5leHBvcnRzWyIjR0JQRVVSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIEV1cm8iXSxlLmV4cG9ydHNbIiNHQlBKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcml0aXNoIFBvdW5kIC8gSmFwYW5lc2UgWWVuIl0sZS5leHBvcnRzWyIjR0JQTlpELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIE5ldyBaZWFsYW5kIERvbGxhciJdLGUuZXhwb3J0c1siI0dCUFBMTi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBQb2xpc2ggWmxvdHkiXSxlLmV4cG9ydHNbIiNHQlBSVUItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcml0aXNoIFBvdW5kIC8gUnVzc2lhbiBSdWJsZSJdLGUuZXhwb3J0c1siI0dCUFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBVLlMuIERvbGxhciJdLGUuZXhwb3J0c1siI0dFUjMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiREFYIEluZGV4Il0sZS5leHBvcnRzWyIjR09PRy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkFscGhhYmV0IEluYyAoR29vZ2xlKSBDbGFzcyBDIl0sZS5leHBvcnRzWyIjR09PR0wtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBbHBoYWJldCBJbmMgKEdvb2dsZSkgQ2xhc3MgQSJdLGUuZXhwb3J0c1siI0dQVzpBQ0ctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBY2F1dG9nYXoiXSxlLmV4cG9ydHNbIiNHUFc6V0lHMjAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJXSUcyMCBJbmRleCJdLGUuZXhwb3J0c1siI0hTSTpIU0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJIYW5nIFNlbmcgSW5kZXgiXSxlLmV4cG9ydHNbIiNJQ0VVUzpEWDEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgSW5kZXggRnV0dXJlcyJdLGUuZXhwb3J0c1siI0lEWDpDT01QT1NJVEUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJRFggQ29tcG9zaXRlIEluZGV4Il0sZS5leHBvcnRzWyIjSU5ERVg6SFNDRS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkhhbmcgU2VuZyBDaGluYSBFbnRlcnByaXNlcyBJbmRleCJdLGUuZXhwb3J0c1siI0lOREVYOkpLU0Utc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJKYWthcnRhIENvbXBvc2l0ZSBJbmRleCJdLGUuZXhwb3J0c1siI0lOREVYOktMU0Utc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCdXJzYSBNYWxheXNpYSBLTENJIEluZGV4Il0sZS5leHBvcnRzWyIjSU5ERVg6TUlCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTUlCIEluZGV4Il0sZS5leHBvcnRzWyIjSU5ERVg6TU9ZMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gU3RveHggNTAgSW5kZXgiXSxlLmV4cG9ydHNbIiNJTkRFWDpTVEktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTVEkgSW5kZXgiXSxlLmV4cG9ydHNbIiNJTkRFWDpUV0lJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVGFpd2FuIFdlaWdodGVkIEluZGV4Il0sZS5leHBvcnRzWyIjSU5ERVg6WExZMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNoYW5naGFpIENvbXBvc2l0ZSBJbmRleCJdLGUuZXhwb3J0c1siI0lPVFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklPVEEgLyBVLlMuIERvbGxhciJdLGUuZXhwb3J0c1siI0pQTjIyNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuIDIyNSBJbmRleCJdLGUuZXhwb3J0c1siI0pQWUtSVy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuZXNlIFllbiAvIFNvdXRoIEtvcmVhbiBXb24iXSxlLmV4cG9ydHNbIiNKUFlSVUItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJKYXBhbmVzZSBZZW4gLyBSdXNzaWFuIFJ1YmxlIl0sZS5leHBvcnRzWyIjSlBZVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW5lc2UgWWVuIC8gVS5TLiBEb2xsYXIiXSxlLmV4cG9ydHNbIiNMS09ILXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTFVLT0lMIl0sZS5leHBvcnRzWyIjTFNFOlNDSE8tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTY2hvbGl1bSBHcm91cCBQbGMgT3JkIDFQIl0sZS5leHBvcnRzWyIjTFRDQlJMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTGl0ZWNvaW4gLyBCcmF6aWxpYW4gUmVhbCJdLGUuZXhwb3J0c1siI0xUQ0JUQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkxpdGVjb2luIC8gQml0Y29pbiJdLGUuZXhwb3J0c1siI0xUQ1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkxpdGVjb2luIC8gVS5TLiBEb2xsYXIiXSxlLmV4cG9ydHNbIiNMVU5BVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTHVuYSAvIFUuUy4gRG9sbGFyIl0sZS5leHBvcnRzWyIjTU9FWDpCUjEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJlbnQgT2lsIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNNT0VYOkdBWlAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJHQVpQUk9NIl0sZS5leHBvcnRzWyIjTU9FWDpJTU9FWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1PRVggUnVzc2lhIEluZGV4Il0sZS5leHBvcnRzWyIjTU9FWDpNR05ULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTUFHTklUIl0sZS5leHBvcnRzWyIjTU9FWDpNSUNFWElOREVYQ0Ytc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJNT0VYIFJ1c3NpYSBJbmRleCJdLGUuZXhwb3J0c1siI01PRVg6TVgxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1JQ0VYIEluZGV4IEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNNT0VYOk1YMiEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJNSUNFWCBJbmRleCBGdXR1cmVzIl0sZS5leHBvcnRzWyIjTU9FWDpSSTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUlRTIEluZGV4IEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNNT0VYOlJUU0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJSVFMgSW5kZXgiXSxlLmV4cG9ydHNbIiNNT0VYOlJVQUwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVbml0ZWQgQ29tcGFueSBSVVNBTCBQTEMiXSxlLmV4cG9ydHNbIiNNT0VYOlNCRVItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTQkVSQkFOSyJdLGUuZXhwb3J0c1siI01PRVg6VlRCUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlZUQiJdLGUuZXhwb3J0c1siI01TRlQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJNaWNyb3NvZnQgQ29ycC4iXSwKZS5leHBvcnRzWyIjTkFTMTAwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVVMgMTAwIENhc2ggQ0ZEIl0sZS5leHBvcnRzWyIjTkFTREFROkFNRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkFkdmFuY2VkIE1pY3JvIERldmljZXMgSW5jIl0sZS5leHBvcnRzWyIjTkFTREFROkdPT0ctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBbHBoYWJldCBJbmMgKEdvb2dsZSkgQ2xhc3MgQyJdLGUuZXhwb3J0c1siI05BU0RBUTpHT09HTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkFscGhhYmV0IEluYyAoR29vZ2xlKSBDbGFzcyBBIl0sZS5leHBvcnRzWyIjTkFTREFROkhHWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBITFggSG91c2luZyBTZWN0b3IgSW5kZXgiXSxlLmV4cG9ydHNbIiNOQVNEQVE6SUVGLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSXNoYXJlcyA3LTEwIFllYXIgVHJlYXN1cnkgQm9uZCBFVEYiXSxlLmV4cG9ydHNbIiNOQVNEQVE6SUVJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSXNoYXJlcyAzLTcgWWVhciBUcmVhc3VyeSBCb25kIEVURiJdLGUuZXhwb3J0c1siI05BU0RBUTpJVEktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJdGVyaXMgSW5jIl0sZS5leHBvcnRzWyIjTkFTREFROklYSUMtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOYXNkYXEgQ29tcG9zaXRlIEluZGV4Il0sZS5leHBvcnRzWyIjTkFTREFROkxDSUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJMdWNpZCBHcm91cCwgSW5jLiJdLGUuZXhwb3J0c1siI05BU0RBUTpMRS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkxhbmRzJyBFbmQgSW5jIl0sZS5leHBvcnRzWyIjTkFTREFROk5EWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5hc2RhcSAxMDAgSW5kZXgiXSxlLmV4cG9ydHNbIiNOQVNEQVE6T1NYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUEhMWCBPaWwgU2VydmljZSBTZWN0b3IgSW5kZXgiXSxlLmV4cG9ydHNbIiNOQVNEQVE6U0hZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSXNoYXJlcyAxLTMgWWVhciBUcmVhc3VyeSBCb25kIEVURiJdLGUuZXhwb3J0c1siI05BU0RBUTpTT1gtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQaGlsYWRlbHBoaWEgU2VtaWNvbmR1Y3RvciBJbmRleCJdLGUuZXhwb3J0c1siI05BU0RBUTpUTFQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJc2hhcmVzIDIwKyBZZWFyIFRyZWFzdXJ5IEJvbmQgRVRGIl0sZS5leHBvcnRzWyIjTkFTREFROlVUWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBITFggVXRpbGl0eSBTZWN0b3IgSW5kZXgiXSxlLmV4cG9ydHNbIiNOQVNEQVE6WEFVLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUEhMWCBHb2xkIGFuZCBTaWx2ZXIgU2VjdG9yIEluZGV4Il0sZS5leHBvcnRzWyIjTkFTREFROlpTLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiWnNjYWxlciBJbmMiXSxlLmV4cG9ydHNbIiNORU9VU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJORU8gLyBVLlMuIERvbGxhciJdLGUuZXhwb3J0c1siI05HQVMtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOYXR1cmFsIEdhcyAoSGVucnkgSHViKSJdLGUuZXhwb3J0c1siI05LWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuIDIyNSBJbmRleCJdLGUuZXhwb3J0c1siI05TRTpJVEktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJbmRpYW4gVGVsZXBob25lIEluZHVzdHJpZXMgTGltaXRlZCJdLGUuZXhwb3J0c1siI05TRTpOSUZUWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5pZnR5IDUwIEluZGV4Il0sZS5leHBvcnRzWyIjTllNRVg6QUVaMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOWSBFdGhhbm9sIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNOWU1FWDpDSjEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ29jb2EgRnV0dXJlcyJdLGUuZXhwb3J0c1siI05ZTUVYOkNMMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJMaWdodCBDcnVkZSBPaWwgRnV0dXJlcyJdLGUuZXhwb3J0c1siI05ZTUVYOkhPMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOWSBIYXJib3IgVUxTRCBGdXR1cmVzIl0sZS5leHBvcnRzWyIjTllNRVg6S1QxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNvZmZlZSBGdXR1cmVzIl0sZS5leHBvcnRzWyIjTllNRVg6TkcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5hdHVyYWwgR2FzIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNOWU1FWDpQQTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUGFsbGFkaXVtIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNOWU1FWDpQTDEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUGxhdGludW0gRnV0dXJlcyJdLGUuZXhwb3J0c1siI05ZTUVYOlJCMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJSQk9CIEdhc29saW5lIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNOWU1FWDpUVDEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ290dG9uIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNOWU1FWF9NSU5JOlFHMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFLW1pbmkgTmF0dXJhbCBHYXMgRnV0dXJlcyJdLGUuZXhwb3J0c1siI05ZTUVYX01JTkk6UU0xIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkUtbWluaSBMaWdodCBDcnVkZSBPaWwgRnV0dXJlcyJdLGUuZXhwb3J0c1siI05ZTUVYX01JTkk6UVUxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkUtbWluaSBHYXNvbGluZSBGdXR1cmVzIl0sZS5leHBvcnRzWyIjTllTRTpCQUJBLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQWxpYmFiYSBHcm91cCBIb2xkaW5ncyBMdGQuIl0sZS5leHBvcnRzWyIjTllTRTpGLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRk9SRCBNVFIgQ08gREVMIl0sZS5leHBvcnRzWyIjTllTRTpIRS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkhhd2FpaWFuIEVsZWN0cmljIEluZHVzdHJpZXMiXSxlLmV4cG9ydHNbIiNOWVNFOk5ZQS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ZU0UgQ29tcG9zaXRlIEluZGV4Il0sZS5leHBvcnRzWyIjTllTRTpQQlItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQRVRST0xFTyBCUkFTSUxFSVJPIFNBIFBFVFJPQlIiXSxlLmV4cG9ydHNbIiNOWVNFOlhBWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkFNRVggQ29tcG9zaXRlIEluZGV4Il0sCmUuZXhwb3J0c1siI05ZU0U6WE1JLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTllTRSBBUkNBIE1ham9yIE1hcmtldCBJbmRleCJdLGUuZXhwb3J0c1siI05aREpQWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ldyBaZWFsYW5kIERvbGxhciAvIEphcGFuZXNlIFllbiJdLGUuZXhwb3J0c1siI05aRFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ldyBaZWFsYW5kIERvbGxhciAvIFUuUy4gRG9sbGFyIl0sZS5leHBvcnRzWyIjTlpYOkFMTEMtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAvTlpYIEFsbCBJbmRleCAoQ2FwaXRhbCBJbmRleCkiXSxlLmV4cG9ydHNbIiNOWlg6Tlo1MEctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgLyBOWlggNTAgSW5kZXggR3Jvc3MiXSxlLmV4cG9ydHNbIiNPQU5EQTpOQVRHQVNVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIE5hdHVyYWwgR2FzIl0sZS5leHBvcnRzWyIjT0FOREE6U1BYNTAwVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIDUwMCBJbmRleCJdLGUuZXhwb3J0c1siI09BTkRBOlhDVVVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ29wcGVyIChVUyQgLyBsYikiXSxlLmV4cG9ydHNbIiNPTVhDT1A6T01YQzI1LXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT01YIENvcGVuaGFnZW4gMjUgSW5kZXgiXSxlLmV4cG9ydHNbIiNPTVhDT1A6U0NITy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNjaG91dyAmIENvIEEvUyJdLGUuZXhwb3J0c1siI09NWEhFWDpPTVhIMjUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJPTVggSGVsc2lua2kgMjUgSW5kZXgiXSxlLmV4cG9ydHNbIiNPTVhSU0U6T01YUkdJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT01YIFJpZ2EgR3Jvc3MgSW5kZXgiXSxlLmV4cG9ydHNbIiNPTVhTVE86T01YUzMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT01YIFN0b2NraG9sbSAzMCBJbmRleCJdLGUuZXhwb3J0c1siI09NWFRTRTpPTVhUR0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJPTVggVGFsbGlubiBHcm9zcyBJbmRleCJdLGUuZXhwb3J0c1siI09NWFZTRTpPTVhWR0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJPTVggVmlsbml1cyBHcm9zcyBJbmRleCJdLGUuZXhwb3J0c1siI09UQzpJSFJNRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklzaGFyZXMgTVNDSSBKYXBhbiBTSFMiXSxlLmV4cG9ydHNbIiNRU0U6R05SSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlFFIEluZGV4Il0sZS5leHBvcnRzWyIjUlRTLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUnVzc2lhbiBSVFMgSW5kZXgiXSxlLmV4cG9ydHNbIiNSVVNTRUxMOlJVQS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJ1c3NlbGwgMzAwMCBJbmRleCJdLGUuZXhwb3J0c1siI1JVU1NFTEw6UlVJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUnVzc2VsbCAxMDAwIEluZGV4Il0sZS5leHBvcnRzWyIjUlVTU0VMTDpSVVQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJSdXNzZWxsIDIwMDAgSW5kZXgiXSxlLmV4cG9ydHNbIiNTRVQ6R0Mtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJHbG9iYWwgQ29ubmVjdGlvbnMgUHVibGljIENvbXBhbnkiXSxlLmV4cG9ydHNbIiNTSVg6Ri1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkZvcmQgTW90b3IgQ29tcGFueSJdLGUuZXhwb3J0c1siI1NJWDpTTUktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTd2lzcyBNYXJrZXQgSW5kZXgiXSxlLmV4cG9ydHNbIiNTT0xVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTb2xhbmEgLyBVLlMuIERvbGxhciJdLGUuZXhwb3J0c1siI1NPWUJOVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBTb3liZWFucyJdLGUuZXhwb3J0c1siI1NQOk9FWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCAxMDAgSW5kZXgiXSxlLmV4cG9ydHNbIiNTUDpTUEdTQ0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgR29sZG1hbiBTYWNocyBDb21tb2RpdHkgSW5kZXgiXSxlLmV4cG9ydHNbIiNTUDpTUFgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgNTAwIEluZGV4Il0sZS5leHBvcnRzWyIjU1A6U1ZYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIDUwMCBWYWx1ZSBJbmRleCJdLGUuZXhwb3J0c1siI1NQWDUwMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCA1MDAgSW5kZXgiXSxlLmV4cG9ydHNbIiNTVUdBUlVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gU3VnYXIiXSxlLmV4cG9ydHNbIiNTWlNFOjM5OTAwMS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNoZW56aGVuIENvbXBvbmVudCBJbmRleCJdLGUuZXhwb3J0c1siI1RBREFXVUw6MjM3MC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1pZGRsZSBFYXN0IFNwZWNpYWxpemVkIENhYmxlcyBDby4iXSxlLmV4cG9ydHNbIiNUQURBV1VMOlRBU0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJUYWRhd3VsIEFsbCBTaGFyZXMgSW5kZXgiXSxlLmV4cG9ydHNbIiNUQVNFOlRBMzUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJUQS0zNSBJbmRleCJdLGUuZXhwb3J0c1siI1RTWDpUU1gtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAvVFNYIENvbXBvc2l0ZSBJbmRleCJdLGUuZXhwb3J0c1siI1RTWDpUWDYwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL1RTWCA2MCBJbmRleCJdLGUuZXhwb3J0c1siI1RWQzpBVTEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQXVzdHJhbGlhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxlLmV4cG9ydHNbIiNUVkM6QVUxMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBdXN0cmFsaWEgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLGUuZXhwb3J0c1siI1RWQzpBWFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBdXN0cmFsaWFuIERvbGxhciBDdXJyZW5jeSBJbmRleCJdLGUuZXhwb3J0c1siI1RWQzpCWFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcml0aXNoIFBvdW5kIEN1cnJlbmN5IEluZGV4Il0sZS5leHBvcnRzWyIjVFZDOkNBMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDYW5hZGlhbiBHb3Zlcm5tZW50IEJvbmRzLCAxMCBZUiJdLAplLmV4cG9ydHNbIiNUVkM6Q0ExMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDYW5hZGlhbiBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sZS5leHBvcnRzWyIjVFZDOkNBQzQwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0FDIDQwIEluZGV4Il0sZS5leHBvcnRzWyIjVFZDOkNOMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDaGluYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sZS5leHBvcnRzWyIjVFZDOkNOMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2hpbmEgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLGUuZXhwb3J0c1siI1RWQzpDWFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDYW5hZGlhbiBEb2xsYXIgQ3VycmVuY3kgSW5kZXgiXSxlLmV4cG9ydHNbIiNUVkM6REUxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkdlcm1hbiBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sZS5leHBvcnRzWyIjVFZDOkRFMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR2VybWFuIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxlLmV4cG9ydHNbIiNUVkM6REVVMzAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEQVggSW5kZXgiXSxlLmV4cG9ydHNbIiNUVkM6REpJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRG93IEpvbmVzIEluZHVzdHJpYWwgQXZlcmFnZSBJbmRleCJdLGUuZXhwb3J0c1siI1RWQzpEWFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciBJbmRleCJdLGUuZXhwb3J0c1siI1RWQzpFUzEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU3BhaW4gR292ZXJubWVudCBCb25kcyAxMCBZUiJdLGUuZXhwb3J0c1siI1RWQzpFUzEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNwYWluIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxlLmV4cG9ydHNbIiNUVkM6RVVCVU5ELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyBCdW5kIl0sZS5leHBvcnRzWyIjVFZDOkVYWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gQ3VycmVuY3kgSW5kZXgiXSxlLmV4cG9ydHNbIiNUVkM6RlIxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkZyYW5jZSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sZS5leHBvcnRzWyIjVFZDOkZSMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRnJhbmNlIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxlLmV4cG9ydHNbIiNUVkM6RlRNSUItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJNaWxhbm8gSXRhbGlhIEJvcnNhIEluZGV4Il0sZS5leHBvcnRzWyIjVFZDOkdCMDItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVSyBHb3Zlcm5tZW50IEJvbmRzIDIgWVIiXSxlLmV4cG9ydHNbIiNUVkM6R0IxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVLIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxlLmV4cG9ydHNbIiNUVkM6R0IxMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVSyBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sZS5leHBvcnRzWyIjVFZDOkdPTEQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIEdvbGQgKFVTJCAvIE9aKSJdLGUuZXhwb3J0c1siI1RWQzpIU0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJIYW5nIFNlbmcgSW5kZXgiXSxlLmV4cG9ydHNbIiNUVkM6SUJFWDM1LXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSUJFWCAzNSBJbmRleCJdLGUuZXhwb3J0c1siI1RWQzpJRDAzLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSW5kb25lc2lhIEdvdmVybm1lbnQgQm9uZHMgMyBZUiJdLGUuZXhwb3J0c1siI1RWQzpJRDEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSW5kb25lc2lhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxlLmV4cG9ydHNbIiNUVkM6SUQxMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJbmRvbmVzaWEgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLGUuZXhwb3J0c1siI1RWQzpJTjEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSW5kaWEgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLGUuZXhwb3J0c1siI1RWQzpJTjEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkluZGlhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxlLmV4cG9ydHNbIiNUVkM6SVQxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkl0YWx5IEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxlLmV4cG9ydHNbIiNUVkM6SVQxMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJdGFseSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sZS5leHBvcnRzWyIjVFZDOklYSUMtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVUyBDb21wb3NpdGUgSW5kZXgiXSxlLmV4cG9ydHNbIiNUVkM6SlAxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxlLmV4cG9ydHNbIiNUVkM6SlAxMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJKYXBhbiBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sZS5leHBvcnRzWyIjVFZDOkpYWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuZXNlIFllbiBDdXJyZW5jeSBJbmRleCJdLGUuZXhwb3J0c1siI1RWQzpLT1NQSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIktvcmVhIENvbXBvc2l0ZSBTdG9jayBQcmljZSBJbmRleCJdLGUuZXhwb3J0c1siI1RWQzpLUjEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiS29yZWEgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLGUuZXhwb3J0c1siI1RWQzpLUjEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIktvcmVhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxlLmV4cG9ydHNbIiNUVkM6TVkxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1hbGF5c2lhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxlLmV4cG9ydHNbIiNUVkM6TVkxMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJNYWxheXNpYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sZS5leHBvcnRzWyIjVFZDOk5EWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIDEwMCBJbmRleCJdLGUuZXhwb3J0c1siI1RWQzpOSTIyNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuIDIyNSBJbmRleCJdLAplLmV4cG9ydHNbIiNUVkM6TkwxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ldGhlcmxhbmRzIEdvdmVybm1lbnQgQm9uZHMsIDEwIFlSIl0sZS5leHBvcnRzWyIjVFZDOk5MMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTmV0aGVybGFuZHMgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLGUuZXhwb3J0c1siI1RWQzpOWUEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOWVNFIENvbXBvc2l0ZSBJbmRleCJdLGUuZXhwb3J0c1siI1RWQzpOWjEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTmV3IFplYWxhbmQgR292ZXJubWVudCBCb25kcywgMTAgWVIiXSxlLmV4cG9ydHNbIiNUVkM6TloxMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOZXcgWmVhbGFuZCBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sZS5leHBvcnRzWyIjVFZDOlBBTExBRElVTS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gUGFsbGFkaXVtIChVUyQgLyBPWikiXSxlLmV4cG9ydHNbIiNUVkM6UEwwNVktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQb2xhbmQgR292ZXJubWVudCBCb25kcyA1IFlSIFlpZWxkIl0sZS5leHBvcnRzWyIjVFZDOlBMMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUG9sYW5kIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxlLmV4cG9ydHNbIiNUVkM6UExBVElOVU0tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFBsYXRpbnVtIChVUyQgLyBPWikiXSxlLmV4cG9ydHNbIiNUVkM6UFQxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBvcnR1Z2FsIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxlLmV4cG9ydHNbIiNUVkM6UFQxMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQb3J0dWdhbCBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sZS5leHBvcnRzWyIjVFZDOlNBNDAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTb3V0aCBBZnJpY2EgVG9wIDQwIEluZGV4Il0sZS5leHBvcnRzWyIjVFZDOlNJTFZFUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gU2lsdmVyIChVUyQgLyBPWikiXSxlLmV4cG9ydHNbIiNUVkM6U1BYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIDUwMCBJbmRleCJdLGUuZXhwb3J0c1siI1RWQzpTU01JLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU3dpc3MgTWFya2V0IEluZGV4Il0sZS5leHBvcnRzWyIjVFZDOlNUSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlN0cmFpdHMgVGltZXMgSW5kZXgiXSxlLmV4cG9ydHNbIiNUVkM6U1g1RS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gU3RveHggNTAgSW5kZXgiXSxlLmV4cG9ydHNbIiNUVkM6U1hZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU3dpc3MgRnJhbmMgQ3VycmVuY3kgSW5kZXgiXSxlLmV4cG9ydHNbIiNUVkM6VFIxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlR1cmtleSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sZS5leHBvcnRzWyIjVFZDOlRSMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVHVya2V5IEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxlLmV4cG9ydHNbIiNUVkM6VUtPSUwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIEJyZW50IENydWRlIE9pbCJdLGUuZXhwb3J0c1siI1RWQzpVS1gtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVSyAxMDAgSW5kZXgiXSxlLmV4cG9ydHNbIiNUVkM6VVMwMi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgMiBZUiJdLGUuZXhwb3J0c1siI1RWQzpVUzAyWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgMiBZUiBZaWVsZCJdLGUuZXhwb3J0c1siI1RWQzpVUzA1LXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVVMgR292ZXJubWVudCBCb25kcyA1IFlSIl0sZS5leHBvcnRzWyIjVFZDOlVTMDVZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVVMgR292ZXJubWVudCBCb25kcyA1IFlSIFlpZWxkIl0sZS5leHBvcnRzWyIjVFZDOlVTMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVUyBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sZS5leHBvcnRzWyIjVFZDOlVTMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVVMgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLGUuZXhwb3J0c1siI1RWQzpVUzMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVVMgR292ZXJubWVudCBCb25kcyAzMCBZUiJdLGUuZXhwb3J0c1siI1RWQzpVU09JTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gV1RJIENydWRlIE9pbCJdLGUuZXhwb3J0c1siI1RWQzpWSVgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJWb2xhdGlsaXR5IFMmUCA1MDAgSW5kZXgiXSxlLmV4cG9ydHNbIiNUVkM6WlhZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTmV3IFplYWxhbmQgRG9sbGFyIEN1cnJlbmN5IEluZGV4Il0sZS5leHBvcnRzWyIjVFdJSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRhaXdhbiBXZWlnaHRlZCBJbmRleCJdLGUuZXhwb3J0c1siI1RXU0U6VEFJRVgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJUYWl3YW4gQ2FwaXRhbGl6YXRpb24gV2VpZ2h0ZWQgU3RvY2sgSW5kZXgiXSxlLmV4cG9ydHNbIiNUV1RSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVHdpdHRlciBJbmMiXSxlLmV4cG9ydHNbIiNVSzEwMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkZUU0UgMTAwIEluZGV4Il0sZS5leHBvcnRzWyIjVUtPSUwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIENydWRlIE9pbCAoQnJlbnQpIl0sZS5leHBvcnRzWyIjVU5JVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVW5pc3dhcCAvIFUuUy4gRG9sbGFyIl0sZS5leHBvcnRzWyIjVVMzMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBJbmR1c3RyaWFsIEF2ZXJhZ2UgSW5kZXgiXSxlLmV4cG9ydHNbIiNVU0RBVUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIEF1c3RyYWxpYW4gRG9sbGFyIl0sZS5leHBvcnRzWyIjVVNEQlJMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBCcmF6aWxpYW4gUmVhbCJdLAplLmV4cG9ydHNbIiNVU0RDQUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIENhbmFkaWFuIERvbGxhciJdLGUuZXhwb3J0c1siI1VTRENIRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gU3dpc3MgRnJhbmMiXSxlLmV4cG9ydHNbIiNVU0RDTlktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIENoaW5lc2UgWXVhbiJdLGUuZXhwb3J0c1siI1VTRERLSy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gRGFuaXNoIEtyb25lIl0sZS5leHBvcnRzWyIjVVNERVVSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBFdXJvIl0sZS5leHBvcnRzWyIjVVNER0JQLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBQb3VuZCBTdGVybGluZyJdLGUuZXhwb3J0c1siI1VTREhLRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gSG9uZyBLb25nIERvbGxhciJdLGUuZXhwb3J0c1siI1VTREhVRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gSHVuZ2FyaWFuIEZvcmludCJdLGUuZXhwb3J0c1siI1VTRElEUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gUnVwaWFoIl0sZS5leHBvcnRzWyIjVVNESUxTLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBJc3JhZWxpIFNoZWtlbCJdLGUuZXhwb3J0c1siI1VTRElOUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gSW5kaWFuIFJ1cGVlIl0sZS5leHBvcnRzWyIjVVNESlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBKYXBhbmVzZSBZZW4iXSxlLmV4cG9ydHNbIiNVU0RLUlctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFNvdXRoIEtvcmVhbiJdLGUuZXhwb3J0c1siI1VTRE1YTi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gTWV4aWNhbiBQZXNvIl0sZS5leHBvcnRzWyIjVVNETlpELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBOZXcgWmVhbGFuZCBEb2xsYXIiXSxlLmV4cG9ydHNbIiNVU0RQSFAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFBoaWxpcHBpbmUgcGVzbyJdLGUuZXhwb3J0c1siI1VTRFBMTi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gUG9saXNoIFpsb3R5Il0sZS5leHBvcnRzWyIjVVNEUlVCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBSdXNzaWFuIFJ1YmxlIl0sZS5leHBvcnRzWyIjVVNEUlVCX1RPTS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gUnVzc2lhbiBSdWJsZSBUT00iXSxlLmV4cG9ydHNbIiNVU0RTRUstc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFN3ZWRpc2ggS3JvbmEiXSxlLmV4cG9ydHNbIiNVU0RTR0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFNpbmdhcG9yZSBEb2xsYXIiXSxlLmV4cG9ydHNbIiNVU0RUSEItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFRoYWkgQmFodCJdLGUuZXhwb3J0c1siI1VTRFRSWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gVHVya2lzaCBMaXJhIl0sZS5leHBvcnRzWyIjVVNEWkFSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBTb3V0aCBBZnJpY2FuIFJhbmQiXSxlLmV4cG9ydHNbIiNVU09JTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ3J1ZGUgT2lsIChXVEkpIl0sZS5leHBvcnRzWyIjV0hFQVRVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFdoZWF0Il0sZS5leHBvcnRzWyIjWEFHVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2lsdmVyIC8gVS5TLiBEb2xsYXIiXSxlLmV4cG9ydHNbIiNYQVVVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJHb2xkIFNwb3QgLyBVLlMuIERvbGxhciJdLGUuZXhwb3J0c1siI1hCVENBRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBDYW5hZGlhbiBEb2xsYXIiXSxlLmV4cG9ydHNbIiNYRVRSOkRBWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRBWCBJbmRleCJdLGUuZXhwb3J0c1siI1hNUlVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1vbmVybyAvIFUuUy4gRG9sbGFyIl0sZS5leHBvcnRzWyIjWFBEVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBQYWxsYWRpdW0iXSxlLmV4cG9ydHNbIiNYUFRVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQbGF0aW51bSAvIFUuUy4gRG9sbGFyIl0sZS5leHBvcnRzWyIjWFJQQlRDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiWFJQIC8gQml0Y29pbiJdLGUuZXhwb3J0c1siI1hSUEVVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlhSUCAvIEV1cm8iXSxlLmV4cG9ydHNbIiNYUlBVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJYUlAgLyBVLlMuIERvbGxhciJdLGUuZXhwb3J0c1siI1pFQ1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlpjYXNoIC8gVS5TLiBEb2xsYXIiXX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/49265.c208ef8379e073f94d16.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.010Z","timestamp":1785120634010,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/49265.c208ef8379e073f94d16.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a435fcb-4ddf\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:18:51 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:09\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 4c05c87423aaa132277826196a43055b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":19935,"size_decoded":7323,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"7b82078f584e6803982971fd98e254ad","sha1":"68381b82a3c15fb84e25d74f902a92fd1de3a245","sha256":"e79b56277f3ab3f995df2d44c612a393858265d70e8d4151a858384901aaa5ae","sha512":"856120280da4d842117fb927a8dbab94215dfb803172d5217ef06b3e3160c27bfbc9fda244b20ac94ce02cebb4356d25c92927cb9292b29f658e377fca579fec","ssdeep":"384:j9PRJCURbRGehSowQ7pJIdRW5TejB6ScRTtDe1efLBHxe+Wl2XaKKTV28fRJmRDM:RPTCURbwehStQ7pJIdk5TejB6ScZtDeb","tlshash":"7e92de8679c2f0e962d55cd4c07b4846f01a0d3c704db8e9e7e6c8d2da7a14ed436bba","first_seen":"2026-06-30T14:35:40.41523Z","last_seen":"2026-07-27T05:15:36.955954Z","times_seen":2158,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0OTI2NV0sezc1Njg1MSh0KXsidXNlIHN0cmljdCI7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxyPXQubGVuZ3RoLG49MDtuPHI7bisrKXt2YXIgdT10LmNoYXJDb2RlQXQobik7aWYodT49NTUyOTYmJnU8PTU2MzE5JiZyPm4rMSl7dmFyIGE9dC5jaGFyQ29kZUF0KG4rMSk7YT49NTYzMjAmJmE8PTU3MzQzJiYodT0xMDI0Kih1LTU1Mjk2KSthLTU2MzIwKzY1NTM2LG4rPTEpfXU8MTI4P2UucHVzaCh1KTp1PDIwNDg/KGUucHVzaCh1Pj42fDE5MiksZS5wdXNoKDYzJnV8MTI4KSk6dTw1NTI5Nnx8dT49NTczNDQmJnU8NjU1MzY/KGUucHVzaCh1Pj4xMnwyMjQpLGUucHVzaCh1Pj42JjYzfDEyOCksZS5wdXNoKDYzJnV8MTI4KSk6dT49NjU1MzYmJnU8PTExMTQxMTE/KGUucHVzaCh1Pj4xOHwyNDApLGUucHVzaCh1Pj4xMiY2M3wxMjgpLGUucHVzaCh1Pj42JjYzfDEyOCksZS5wdXNoKDYzJnV8MTI4KSk6ZS5wdXNoKDIzOSwxOTEsMTg5KX1yZXR1cm4gbmV3IFVpbnQ4QXJyYXkoZSkuYnVmZmVyfX0sNTA0NDAyKHQsZSxyKXt2YXIgbj1yKDYzODIyMSk7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiB0PW4odF49dD4+PjE2LDIyNDY4MjI1MDcpLHQ9bih0Xj10Pj4+MTMsMzI2NjQ4OTkwOSksKHRePXQ+Pj4xNik+Pj4wfX0sNjM4MjIxKHQpeyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9TWF0aC5pbXVsfHxmdW5jdGlvbih0LGUpe3ZhciByPTY1NTM1JnQsbj02NTUzNSZlO3JldHVybiByKm4rKCh0Pj4+MTYmNjU1MzUpKm4rciooZT4+PjE2JjY1NTM1KTw8MTY+Pj4wKXwwfX0sMTAwNTk1KHQsZSxyKXt2YXIgbj1yKDYzODIyMSksdT1yKDUwNDQwMiksYT1yKDc1Njg1MSksbz1uZXcgVWludDMyQXJyYXkoWzM0MzI5MTgzNTMsNDYxODQ1OTA3XSk7ZnVuY3Rpb24gYyh0LGUpe3JldHVybiB0PDxlfHQ+Pj4zMi1lfXQuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2lmKGU9ZT8wfGU6MCwic3RyaW5nIj09dHlwZW9mIHQmJih0PWEodCkpLCEodCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBrZXkgdG8gYmUgQXJyYXlCdWZmZXIgb3Igc3RyaW5nIik7dmFyIHI9bmV3IFVpbnQzMkFycmF5KFtlXSk7cmV0dXJuIGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXQuYnl0ZUxlbmd0aC80fDAsdT1uZXcgVWludDMyQXJyYXkodCwwLHIpLGE9MDthPHI7YSsrKXVbYV09bih1W2FdLG9bMF0pLHVbYV09Yyh1W2FdLDE1KSx1W2FdPW4odVthXSxvWzFdKSxlWzBdPWVbMF1edVthXSxlWzBdPWMoZVswXSwxMyksZVswXT1uKGVbMF0sNSkrMzg2NDI5MjE5Nn0odCxyKSxmdW5jdGlvbih0LGUpe3ZhciByPXQuYnl0ZUxlbmd0aC80fDAsdT10LmJ5dGVMZW5ndGglNCxhPTAsZj1uZXcgVWludDhBcnJheSh0LDQqcix1KTtzd2l0Y2godSl7Y2FzZSAzOmFePWZbMl08PDE2O2Nhc2UgMjphXj1mWzFdPDw4O2Nhc2UgMTphXj1mWzBdLGE9YyhhPW4oYSxvWzBdKSwxNSksYT1uKGEsb1sxXSksZVswXT1lWzBdXmF9fSh0LHIpLGZ1bmN0aW9uKHQsZSl7ZVswXT1lWzBdXnQuYnl0ZUxlbmd0aCxlWzBdPXUoZVswXSl9KHQsciksci5idWZmZXJ9fSw0MTQxMjModCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBuPXIoMTYyMzE2KSx1PXIoOTgxNTIzKTtjb25zdCBhPSgwLG4uZGVmYXVsdCkodS5kZWZhdWx0LCJTZXQiKX0sMjY5MzY2KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PmN9KTt2YXIgbj1yKDcxMzE0OCk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5zZXQodCwiX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyIpLHRoaXN9O2NvbnN0IGE9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX19kYXRhX18uaGFzKHQpfTtmdW5jdGlvbiBvKHQpe3ZhciBlPS0xLHI9bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLl9fZGF0YV9fPW5ldyBuLmRlZmF1bHQ7KytlPHI7KXRoaXMuYWRkKHRbZV0pfW8ucHJvdG90eXBlLmFkZD1vLnByb3RvdHlwZS5wdXNoPXUsby5wcm90b3R5cGUuaGFzPWE7Y29uc3QgYz1vfSw4ODY1MTQodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+ZH0pO3ZhciBuPXIoNzM1OTgzKTtjb25zdCB1PWZ1bmN0aW9uKCl7dGhpcy5fX2RhdGFfXz1uZXcgbi5kZWZhdWx0LHRoaXMuc2l6ZT0wfTtjb25zdCBhPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX18scj1lLmRlbGV0ZSh0KTtyZXR1cm4gdGhpcy5zaXplPWUuc2l6ZSxyfTtjb25zdCBvPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9fZGF0YV9fLmdldCh0KX07Y29uc3QgYz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5oYXModCl9O3ZhciBmPXIoNjk0MjEpLHM9cig3MTMxNDgpO2NvbnN0IGk9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLl9fZGF0YV9fO2lmKHIgaW5zdGFuY2VvZiBuLmRlZmF1bHQpe3ZhciB1PXIuX19kYXRhX187aWYoIWYuZGVmYXVsdHx8dS5sZW5ndGg8MTk5KXJldHVybiB1LnB1c2goW3QsZV0pLHRoaXMuc2l6ZT0rK3Iuc2l6ZSx0aGlzO3I9dGhpcy5fX2RhdGFfXz1uZXcgcy5kZWZhdWx0KHUpfXJldHVybiByLnNldCh0LGUpLHRoaXMuc2l6ZT1yLnNpemUsdGhpc307ZnVuY3Rpb24gbCh0KXt2YXIgZT10aGlzLl9fZGF0YV9fPW5ldyBuLmRlZmF1bHQodCk7dGhpcy5zaXplPWUuc2l6ZX1sLnByb3RvdHlwZS5jbGVhcj11LGwucHJvdG90eXBlLmRlbGV0ZT1hLGwucHJvdG90eXBlLmdldD1vLGwucHJvdG90eXBlLmhhcz1jLGwucHJvdG90eXBlLnNldD1pO2NvbnN0IGQ9bH0sODY1MzMwKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPXIoOTgxNTIzKS5kZWZhdWx0LlVpbnQ4QXJyYXl9LDkyODQ1Myh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cigxNjIzMTYpLHU9cig5ODE1MjMpO2NvbnN0IGE9KDAsbi5kZWZhdWx0KSh1LmRlZmF1bHQsIldlYWtNYXAiKX0sCjk4NDEzOSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0tMSxuPW51bGw9PXQ/MDp0Lmxlbmd0aDsrK3I8biYmITEhPT1lKHRbcl0scix0KTspO3JldHVybiB0fX0sMjI0NDE2KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PmN9KTt2YXIgbj1yKDY4ODk2NSk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4gdCE9dH07Y29uc3QgYT1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBuPXItMSx1PXQubGVuZ3RoOysrbjx1OylpZih0W25dPT09ZSlyZXR1cm4gbjtyZXR1cm4tMX07Y29uc3Qgbz1mdW5jdGlvbih0LGUscil7cmV0dXJuIGU9PWU/YSh0LGUscik6KDAsbi5kZWZhdWx0KSh0LHUscil9O2NvbnN0IGM9ZnVuY3Rpb24odCxlKXtyZXR1cm4hIShudWxsPT10PzA6dC5sZW5ndGgpJiZvKHQsZSwwKT4tMX19LDgyNTAzOSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBuPS0xLHU9bnVsbD09dD8wOnQubGVuZ3RoOysrbjx1OylpZihyKGUsdFtuXSkpcmV0dXJuITA7cmV0dXJuITF9fSw4MjA5NzUodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+aX0pO2NvbnN0IG49ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9LTEsbj1BcnJheSh0KTsrK3I8dDspbltyXT1lKHIpO3JldHVybiBufTt2YXIgdT1yKDUzMTU1NyksYT1yKDI5NTYzNSksbz1yKDY1OTAxOCksYz1yKDkyMTE0MyksZj1yKDE2NTI2Nykscz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2NvbnN0IGk9ZnVuY3Rpb24odCxlKXt2YXIgcj0oMCxhLmRlZmF1bHQpKHQpLGk9IXImJigwLHUuZGVmYXVsdCkodCksbD0hciYmIWkmJigwLG8uZGVmYXVsdCkodCksZD0hciYmIWkmJiFsJiYoMCxmLmRlZmF1bHQpKHQpLHY9cnx8aXx8bHx8ZCxwPXY/bih0Lmxlbmd0aCxTdHJpbmcpOltdLGI9cC5sZW5ndGg7Zm9yKHZhciB5IGluIHQpIWUmJiFzLmNhbGwodCx5KXx8diYmKCJsZW5ndGgiPT15fHxsJiYoIm9mZnNldCI9PXl8fCJwYXJlbnQiPT15KXx8ZCYmKCJidWZmZXIiPT15fHwiYnl0ZUxlbmd0aCI9PXl8fCJieXRlT2Zmc2V0Ij09eSl8fCgwLGMuZGVmYXVsdCkoeSxiKSl8fHAucHVzaCh5KTtyZXR1cm4gcH19LDQ0ODYyNih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0tMSxuPWUubGVuZ3RoLHU9dC5sZW5ndGg7KytyPG47KXRbdStyXT1lW3JdO3JldHVybiB0fX0sMTY4NTMzKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm99KTt2YXIgbj1yKDI1NDczOCksdT1yKDkxMDc3OCksYT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2NvbnN0IG89ZnVuY3Rpb24odCxlLHIpe3ZhciBvPXRbZV07YS5jYWxsKHQsZSkmJigwLHUuZGVmYXVsdCkobyxyKSYmKHZvaWQgMCE9PXJ8fGUgaW4gdCl8fCgwLG4uZGVmYXVsdCkodCxlLHIpfX0sMjU0NzM4KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgbj1yKDM2MDQ5KTtjb25zdCB1PWZ1bmN0aW9uKHQsZSxyKXsiX19wcm90b19fIj09ZSYmbi5kZWZhdWx0PygwLG4uZGVmYXVsdCkodCxlLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCx2YWx1ZTpyLHdyaXRhYmxlOiEwfSk6dFtlXT1yfX0sNDkzMDE4KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pkh9KTt2YXIgbj1yKDg4NjUxNCksdT1yKDk4NDEzOSksYT1yKDE2ODUzMyksbz1yKDYxODU3KSxjPXIoMzA5MDgwKTtjb25zdCBmPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQmJigwLG8uZGVmYXVsdCkoZSwoMCxjLmRlZmF1bHQpKGUpLHQpfTt2YXIgcz1yKDIxNzQ1Nyk7Y29uc3QgaT1mdW5jdGlvbih0LGUpe3JldHVybiB0JiYoMCxvLmRlZmF1bHQpKGUsKDAscy5kZWZhdWx0KShlKSx0KX07dmFyIGw9cig0ODcwNjApLGQ9cig3MDU3NDkpLHY9cigyMzA5NTEpO2NvbnN0IHA9ZnVuY3Rpb24odCxlKXtyZXR1cm4oMCxvLmRlZmF1bHQpKHQsKDAsdi5kZWZhdWx0KSh0KSxlKX07dmFyIGI9cigxMTY2NDEpO2NvbnN0IHk9ZnVuY3Rpb24odCxlKXtyZXR1cm4oMCxvLmRlZmF1bHQpKHQsKDAsYi5kZWZhdWx0KSh0KSxlKX07dmFyIGg9cig4MDYyNDApLGo9cig5OTE1OTkpLGc9cig5Njk3ODUpLHc9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBfPWZ1bmN0aW9uKHQpe3ZhciBlPXQubGVuZ3RoLHI9bmV3IHQuY29uc3RydWN0b3IoZSk7cmV0dXJuIGUmJiJzdHJpbmciPT10eXBlb2YgdFswXSYmdy5jYWxsKHQsImluZGV4IikmJihyLmluZGV4PXQuaW5kZXgsci5pbnB1dD10LmlucHV0KSxyfTt2YXIgQT1yKDM3NzI1MSk7Y29uc3QgbT1mdW5jdGlvbih0LGUpe3ZhciByPWU/KDAsQS5kZWZhdWx0KSh0LmJ1ZmZlcik6dC5idWZmZXI7cmV0dXJuIG5ldyB0LmNvbnN0cnVjdG9yKHIsdC5ieXRlT2Zmc2V0LHQuYnl0ZUxlbmd0aCl9O3ZhciBPPS9cdyokLztjb25zdCB4PWZ1bmN0aW9uKHQpe3ZhciBlPW5ldyB0LmNvbnN0cnVjdG9yKHQuc291cmNlLE8uZXhlYyh0KSk7cmV0dXJuIGUubGFzdEluZGV4PXQubGFzdEluZGV4LGV9O3ZhciBVPXIoODcyOTk5KSxFPVUuZGVmYXVsdD9VLmRlZmF1bHQucHJvdG90eXBlOnZvaWQgMCxUPUU/RS52YWx1ZU9mOnZvaWQgMDtjb25zdCBTPWZ1bmN0aW9uKHQpe3JldHVybiBUP09iamVjdChULmNhbGwodCkpOnt9fTt2YXIgST1yKDEzOTA3KTtjb25zdCBNPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10LmNvbnN0cnVjdG9yO3N3aXRjaChlKXtjYXNlIltvYmplY3QgQXJyYXlCdWZmZXJdIjpyZXR1cm4oMCxBLmRlZmF1bHQpKHQpO2Nhc2UiW29iamVjdCBCb29sZWFuXSI6Y2FzZSJbb2JqZWN0IERhdGVdIjpyZXR1cm4gbmV3IG4oK3QpO2Nhc2UiW29iamVjdCBEYXRhVmlld10iOnJldHVybiBtKHQscik7Y2FzZSJbb2JqZWN0IEZsb2F0MzJBcnJheV0iOmNhc2UiW29iamVjdCBGbG9hdDY0QXJyYXldIjoKY2FzZSJbb2JqZWN0IEludDhBcnJheV0iOmNhc2UiW29iamVjdCBJbnQxNkFycmF5XSI6Y2FzZSJbb2JqZWN0IEludDMyQXJyYXldIjpjYXNlIltvYmplY3QgVWludDhBcnJheV0iOmNhc2UiW29iamVjdCBVaW50OENsYW1wZWRBcnJheV0iOmNhc2UiW29iamVjdCBVaW50MTZBcnJheV0iOmNhc2UiW29iamVjdCBVaW50MzJBcnJheV0iOnJldHVybigwLEkuZGVmYXVsdCkodCxyKTtjYXNlIltvYmplY3QgTWFwXSI6Y2FzZSJbb2JqZWN0IFNldF0iOnJldHVybiBuZXcgbjtjYXNlIltvYmplY3QgTnVtYmVyXSI6Y2FzZSJbb2JqZWN0IFN0cmluZ10iOnJldHVybiBuZXcgbih0KTtjYXNlIltvYmplY3QgUmVnRXhwXSI6cmV0dXJuIHgodCk7Y2FzZSJbb2JqZWN0IFN5bWJvbF0iOnJldHVybiBTKHQpfX07dmFyIEI9cig4MDc1NzUpLFA9cigyOTU2MzUpLGs9cig2NTkwMTgpLHo9cig2NzI1MTEpLEM9cig4ODAxMTUpLEQ9cigzNjA2MjApO2NvbnN0IEY9ZnVuY3Rpb24odCl7cmV0dXJuKDAsRC5kZWZhdWx0KSh0KSYmIltvYmplY3QgU2V0XSI9PSgwLGcuZGVmYXVsdCkodCl9O3ZhciBMPXIoODk5MzM5KSxOPXIoMzY5ODk5KSxXPU4uZGVmYXVsdCYmTi5kZWZhdWx0LmlzU2V0O2NvbnN0IFY9Vz8oMCxMLmRlZmF1bHQpKFcpOkY7dmFyICQ9IltvYmplY3QgQXJndW1lbnRzXSIsUj0iW29iamVjdCBGdW5jdGlvbl0iLHE9IltvYmplY3QgT2JqZWN0XSIsRz17fTtHWyRdPUdbIltvYmplY3QgQXJyYXldIl09R1siW29iamVjdCBBcnJheUJ1ZmZlcl0iXT1HWyJbb2JqZWN0IERhdGFWaWV3XSJdPUdbIltvYmplY3QgQm9vbGVhbl0iXT1HWyJbb2JqZWN0IERhdGVdIl09R1siW29iamVjdCBGbG9hdDMyQXJyYXldIl09R1siW29iamVjdCBGbG9hdDY0QXJyYXldIl09R1siW29iamVjdCBJbnQ4QXJyYXldIl09R1siW29iamVjdCBJbnQxNkFycmF5XSJdPUdbIltvYmplY3QgSW50MzJBcnJheV0iXT1HWyJbb2JqZWN0IE1hcF0iXT1HWyJbb2JqZWN0IE51bWJlcl0iXT1HW3FdPUdbIltvYmplY3QgUmVnRXhwXSJdPUdbIltvYmplY3QgU2V0XSJdPUdbIltvYmplY3QgU3RyaW5nXSJdPUdbIltvYmplY3QgU3ltYm9sXSJdPUdbIltvYmplY3QgVWludDhBcnJheV0iXT1HWyJbb2JqZWN0IFVpbnQ4Q2xhbXBlZEFycmF5XSJdPUdbIltvYmplY3QgVWludDE2QXJyYXldIl09R1siW29iamVjdCBVaW50MzJBcnJheV0iXT0hMCxHWyJbb2JqZWN0IEVycm9yXSJdPUdbUl09R1siW29iamVjdCBXZWFrTWFwXSJdPSExO2NvbnN0IEg9ZnVuY3Rpb24gdChlLHIsbyx2LGIsdyl7dmFyIEEsbT0xJnIsTz0yJnIseD00JnI7aWYobyYmKEE9Yj9vKGUsdixiLHcpOm8oZSkpLHZvaWQgMCE9PUEpcmV0dXJuIEE7aWYoISgwLEMuZGVmYXVsdCkoZSkpcmV0dXJuIGU7dmFyIFU9KDAsUC5kZWZhdWx0KShlKTtpZihVKXtpZihBPV8oZSksIW0pcmV0dXJuKDAsZC5kZWZhdWx0KShlLEEpfWVsc2V7dmFyIEU9KDAsZy5kZWZhdWx0KShlKSxUPUU9PVJ8fCJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSI9PUU7aWYoKDAsay5kZWZhdWx0KShlKSlyZXR1cm4oMCxsLmRlZmF1bHQpKGUsbSk7aWYoRT09cXx8RT09JHx8VCYmIWIpe2lmKEE9T3x8VD97fTooMCxCLmRlZmF1bHQpKGUpLCFtKXJldHVybiBPP3koZSxpKEEsZSkpOnAoZSxmKEEsZSkpfWVsc2V7aWYoIUdbRV0pcmV0dXJuIGI/ZTp7fTtBPU0oZSxFLG0pfX13fHwodz1uZXcgbi5kZWZhdWx0KTt2YXIgUz13LmdldChlKTtpZihTKXJldHVybiBTO3cuc2V0KGUsQSksVihlKT9lLmZvckVhY2goKGZ1bmN0aW9uKG4pe0EuYWRkKHQobixyLG8sbixlLHcpKX0pKTooMCx6LmRlZmF1bHQpKGUpJiZlLmZvckVhY2goKGZ1bmN0aW9uKG4sdSl7QS5zZXQodSx0KG4scixvLHUsZSx3KSl9KSk7dmFyIEk9eD9PP2ouZGVmYXVsdDpoLmRlZmF1bHQ6Tz9zLmRlZmF1bHQ6Yy5kZWZhdWx0LEQ9VT92b2lkIDA6SShlKTtyZXR1cm4oMCx1LmRlZmF1bHQpKER8fGUsKGZ1bmN0aW9uKG4sdSl7RCYmKG49ZVt1PW5dKSwoMCxhLmRlZmF1bHQpKEEsdSx0KG4scixvLHUsZSx3KSl9KSksQX19LDg1MTA4Mih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cig4ODAxMTUpLHU9T2JqZWN0LmNyZWF0ZTtjb25zdCBhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe31yZXR1cm4gZnVuY3Rpb24oZSl7aWYoISgwLG4uZGVmYXVsdCkoZSkpcmV0dXJue307aWYodSlyZXR1cm4gdShlKTt0LnByb3RvdHlwZT1lO3ZhciByPW5ldyB0O3JldHVybiB0LnByb3RvdHlwZT12b2lkIDAscn19KCl9LDY4ODk2NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUscixuKXtmb3IodmFyIHU9dC5sZW5ndGgsYT1yKyhuPzE6LTEpO24/YS0tOisrYTx1OylpZihlKHRbYV0sYSx0KSlyZXR1cm4gYTtyZXR1cm4tMX19LDkxNjA4NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cig0NDg2MjYpLHU9cigyOTU2MzUpO2NvbnN0IGE9ZnVuY3Rpb24odCxlLHIpe3ZhciBhPWUodCk7cmV0dXJuKDAsdS5kZWZhdWx0KSh0KT9hOigwLG4uZGVmYXVsdCkoYSxyKHQpKX19LDgzMDg3NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig2OTM5NDEpO2NvbnN0IHU9KDAscigxMzk4NDkpLmRlZmF1bHQpKE9iamVjdC5rZXlzLE9iamVjdCk7dmFyIGE9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBvPWZ1bmN0aW9uKHQpe2lmKCEoMCxuLmRlZmF1bHQpKHQpKXJldHVybiB1KHQpO3ZhciBlPVtdO2Zvcih2YXIgciBpbiBPYmplY3QodCkpYS5jYWxsKHQscikmJiJjb25zdHJ1Y3RvciIhPXImJmUucHVzaChyKTtyZXR1cm4gZX19LDg5OTMzOSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQoZSl9fX0sNzEyODAxKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuaGFzKGUpfX0sCjM3NzI1MSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT51fSk7dmFyIG49cig4NjUzMzApO2NvbnN0IHU9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IHQuY29uc3RydWN0b3IodC5ieXRlTGVuZ3RoKTtyZXR1cm4gbmV3IG4uZGVmYXVsdChlKS5zZXQobmV3IG4uZGVmYXVsdCh0KSksZX19LDQ4NzA2MCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5mfSk7dmFyIG49cig5ODE1MjMpLHU9Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiZleHBvcnRzJiYhZXhwb3J0cy5ub2RlVHlwZSYmZXhwb3J0cyxhPXUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUmJiFtb2R1bGUubm9kZVR5cGUmJm1vZHVsZSxvPWEmJmEuZXhwb3J0cz09PXU/bi5kZWZhdWx0LkJ1ZmZlcjp2b2lkIDAsYz1vP28uYWxsb2NVbnNhZmU6dm9pZCAwO2NvbnN0IGY9ZnVuY3Rpb24odCxlKXtpZihlKXJldHVybiB0LnNsaWNlKCk7dmFyIHI9dC5sZW5ndGgsbj1jP2Mocik6bmV3IHQuY29uc3RydWN0b3Iocik7cmV0dXJuIHQuY29weShuKSxufX0sMTM5MDcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+dX0pO3ZhciBuPXIoMzc3MjUxKTtjb25zdCB1PWZ1bmN0aW9uKHQsZSl7dmFyIHI9ZT8oMCxuLmRlZmF1bHQpKHQuYnVmZmVyKTp0LmJ1ZmZlcjtyZXR1cm4gbmV3IHQuY29uc3RydWN0b3Iocix0LmJ5dGVPZmZzZXQsdC5sZW5ndGgpfX0sNzA1NzQ5KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKHQsZSl7dmFyIHI9LTEsbj10Lmxlbmd0aDtmb3IoZXx8KGU9QXJyYXkobikpOysrcjxuOyllW3JdPXRbcl07cmV0dXJuIGV9fSw2MTg1Nyh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cigxNjg1MzMpLHU9cigyNTQ3MzgpO2NvbnN0IGE9ZnVuY3Rpb24odCxlLHIsYSl7dmFyIG89IXI7cnx8KHI9e30pO2Zvcih2YXIgYz0tMSxmPWUubGVuZ3RoOysrYzxmOyl7dmFyIHM9ZVtjXSxpPWE/YShyW3NdLHRbc10scyxyLHQpOnZvaWQgMDt2b2lkIDA9PT1pJiYoaT10W3NdKSxvPygwLHUuZGVmYXVsdCkocixzLGkpOigwLG4uZGVmYXVsdCkocixzLGkpfXJldHVybiByfX0sMzYwNDkodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+dX0pO3ZhciBuPXIoMTYyMzE2KTtjb25zdCB1PWZ1bmN0aW9uKCl7dHJ5e3ZhciB0PSgwLG4uZGVmYXVsdCkoT2JqZWN0LCJkZWZpbmVQcm9wZXJ0eSIpO3JldHVybiB0KHt9LCIiLHt9KSx0fWNhdGNoKHQpe319KCl9LDgwNjI0MCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig5MTYwODUpLHU9cigyMzA5NTEpLGE9cigzMDkwODApO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuKDAsbi5kZWZhdWx0KSh0LGEuZGVmYXVsdCx1LmRlZmF1bHQpfX0sOTkxNTk5KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm99KTt2YXIgbj1yKDkxNjA4NSksdT1yKDExNjY0MSksYT1yKDIxNzQ1Nyk7Y29uc3Qgbz1mdW5jdGlvbih0KXtyZXR1cm4oMCxuLmRlZmF1bHQpKHQsYS5kZWZhdWx0LHUuZGVmYXVsdCl9fSwzOTI1NDUodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49KDAscigxMzk4NDkpLmRlZmF1bHQpKE9iamVjdC5nZXRQcm90b3R5cGVPZixPYmplY3QpfSwyMzA5NTEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+Y30pO2NvbnN0IG49ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9LTEsbj1udWxsPT10PzA6dC5sZW5ndGgsdT0wLGE9W107KytyPG47KXt2YXIgbz10W3JdO2UobyxyLHQpJiYoYVt1KytdPW8pfXJldHVybiBhfTt2YXIgdT1yKDE3NzY1NSksYT1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLG89T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scztjb25zdCBjPW8/ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/W106KHQ9T2JqZWN0KHQpLG4obyh0KSwoZnVuY3Rpb24oZSl7cmV0dXJuIGEuY2FsbCh0LGUpfSkpKX06dS5kZWZhdWx0fSwxMTY2NDEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+Y30pO3ZhciBuPXIoNDQ4NjI2KSx1PXIoMzkyNTQ1KSxhPXIoMjMwOTUxKSxvPXIoMTc3NjU1KTtjb25zdCBjPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM/ZnVuY3Rpb24odCl7Zm9yKHZhciBlPVtdO3Q7KSgwLG4uZGVmYXVsdCkoZSwoMCxhLmRlZmF1bHQpKHQpKSx0PSgwLHUuZGVmYXVsdCkodCk7cmV0dXJuIGV9Om8uZGVmYXVsdH0sOTY5Nzg1KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm19KTt2YXIgbj1yKDE2MjMxNiksdT1yKDk4MTUyMyk7Y29uc3QgYT0oMCxuLmRlZmF1bHQpKHUuZGVmYXVsdCwiRGF0YVZpZXciKTt2YXIgbz1yKDY5NDIxKTtjb25zdCBjPSgwLG4uZGVmYXVsdCkodS5kZWZhdWx0LCJQcm9taXNlIik7dmFyIGY9cig0MTQxMjMpLHM9cig5Mjg0NTMpLGk9cigxNzg0OTcpLGw9cig3MzA1MDMpLGQ9IltvYmplY3QgTWFwXSIsdj0iW29iamVjdCBQcm9taXNlXSIscD0iW29iamVjdCBTZXRdIixiPSJbb2JqZWN0IFdlYWtNYXBdIix5PSJbb2JqZWN0IERhdGFWaWV3XSIsaD0oMCxsLmRlZmF1bHQpKGEpLGo9KDAsbC5kZWZhdWx0KShvLmRlZmF1bHQpLGc9KDAsbC5kZWZhdWx0KShjKSx3PSgwLGwuZGVmYXVsdCkoZi5kZWZhdWx0KSxfPSgwLGwuZGVmYXVsdCkocy5kZWZhdWx0KSxBPWkuZGVmYXVsdDsoYSYmQShuZXcgYShuZXcgQXJyYXlCdWZmZXIoMSkpKSE9eXx8by5kZWZhdWx0JiZBKG5ldyBvLmRlZmF1bHQpIT1kfHxjJiZBKGMucmVzb2x2ZSgpKSE9dnx8Zi5kZWZhdWx0JiZBKG5ldyBmLmRlZmF1bHQpIT1wfHxzLmRlZmF1bHQmJkEobmV3IHMuZGVmYXVsdCkhPWIpJiYoQT1mdW5jdGlvbih0KXt2YXIgZT0oMCxpLmRlZmF1bHQpKHQpLHI9IltvYmplY3QgT2JqZWN0XSI9PWU/dC5jb25zdHJ1Y3Rvcjp2b2lkIDAsbj1yPygwLGwuZGVmYXVsdCkocik6IiI7aWYobilzd2l0Y2gobil7Y2FzZSBoOgpyZXR1cm4geTtjYXNlIGo6cmV0dXJuIGQ7Y2FzZSBnOnJldHVybiB2O2Nhc2UgdzpyZXR1cm4gcDtjYXNlIF86cmV0dXJuIGJ9cmV0dXJuIGV9KTtjb25zdCBtPUF9LDgwNzU3NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig4NTEwODIpLHU9cigzOTI1NDUpLGE9cig2OTM5NDEpO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuImZ1bmN0aW9uIiE9dHlwZW9mIHQuY29uc3RydWN0b3J8fCgwLGEuZGVmYXVsdCkodCk/e306KDAsbi5kZWZhdWx0KSgoMCx1LmRlZmF1bHQpKHQpKX19LDkyMTE0Myh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT51fSk7dmFyIG49L14oPzowfFsxLTldXGQqKSQvO2NvbnN0IHU9ZnVuY3Rpb24odCxlKXt2YXIgcj10eXBlb2YgdDtyZXR1cm4hIShlPWU/PzkwMDcxOTkyNTQ3NDA5OTEpJiYoIm51bWJlciI9PXJ8fCJzeW1ib2wiIT1yJiZuLnRlc3QodCkpJiZ0Pi0xJiZ0JTE9PTAmJnQ8ZX19LDY5Mzk0MSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT51fSk7dmFyIG49T2JqZWN0LnByb3RvdHlwZTtjb25zdCB1PWZ1bmN0aW9uKHQpe3ZhciBlPXQmJnQuY29uc3RydWN0b3I7cmV0dXJuIHQ9PT0oImZ1bmN0aW9uIj09dHlwZW9mIGUmJmUucHJvdG90eXBlfHxuKX19LDM2OTg5OSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5jfSk7dmFyIG49cig2MDI5NDIpLHU9Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiZleHBvcnRzJiYhZXhwb3J0cy5ub2RlVHlwZSYmZXhwb3J0cyxhPXUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUmJiFtb2R1bGUubm9kZVR5cGUmJm1vZHVsZSxvPWEmJmEuZXhwb3J0cz09PXUmJm4uZGVmYXVsdC5wcm9jZXNzO2NvbnN0IGM9ZnVuY3Rpb24oKXt0cnl7dmFyIHQ9YSYmYS5yZXF1aXJlJiZhLnJlcXVpcmUoInV0aWwiKS50eXBlcztyZXR1cm4gdHx8byYmby5iaW5kaW5nJiZvLmJpbmRpbmcoInV0aWwiKX1jYXRjaCh0KXt9fSgpfSwxMzk4NDkodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49ZnVuY3Rpb24odCxlKXtyZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIHQoZShyKSl9fX0sOTcyMDE3KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKHQpe3ZhciBlPS0xLHI9QXJyYXkodC5zaXplKTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbih0KXtyWysrZV09dH0pKSxyfX0sMjAzNjgxKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgbj1yKDQ5MzAxOCk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4oMCxuLmRlZmF1bHQpKHQsNSl9fSw1NDc4NTEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+c30pO3ZhciBuPXIoODgwMTE1KSx1PXIoOTgxNTIzKTtjb25zdCBhPWZ1bmN0aW9uKCl7cmV0dXJuIHUuZGVmYXVsdC5EYXRlLm5vdygpfTt2YXIgbz1yKDQwNjQ0OSksYz1NYXRoLm1heCxmPU1hdGgubWluO2NvbnN0IHM9ZnVuY3Rpb24odCxlLHIpe3ZhciB1LHMsaSxsLGQsdixwPTAsYj0hMSx5PSExLGg9ITA7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhwZWN0ZWQgYSBmdW5jdGlvbiIpO2Z1bmN0aW9uIGooZSl7dmFyIHI9dSxuPXM7cmV0dXJuIHU9cz12b2lkIDAscD1lLGw9dC5hcHBseShuLHIpfWZ1bmN0aW9uIGcodCl7dmFyIHI9dC12O3JldHVybiB2b2lkIDA9PT12fHxyPj1lfHxyPDB8fHkmJnQtcD49aX1mdW5jdGlvbiB3KCl7dmFyIHQ9YSgpO2lmKGcodCkpcmV0dXJuIF8odCk7ZD1zZXRUaW1lb3V0KHcsZnVuY3Rpb24odCl7dmFyIHI9ZS0odC12KTtyZXR1cm4geT9mKHIsaS0odC1wKSk6cn0odCkpfWZ1bmN0aW9uIF8odCl7cmV0dXJuIGQ9dm9pZCAwLGgmJnU/aih0KToodT1zPXZvaWQgMCxsKX1mdW5jdGlvbiBBKCl7dmFyIHQ9YSgpLHI9Zyh0KTtpZih1PWFyZ3VtZW50cyxzPXRoaXMsdj10LHIpe2lmKHZvaWQgMD09PWQpcmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBwPXQsZD1zZXRUaW1lb3V0KHcsZSksYj9qKHQpOmx9KHYpO2lmKHkpcmV0dXJuIGNsZWFyVGltZW91dChkKSxkPXNldFRpbWVvdXQodyxlKSxqKHYpfXJldHVybiB2b2lkIDA9PT1kJiYoZD1zZXRUaW1lb3V0KHcsZSkpLGx9cmV0dXJuIGU9KDAsby5kZWZhdWx0KShlKXx8MCwoMCxuLmRlZmF1bHQpKHIpJiYoYj0hIXIubGVhZGluZyxpPSh5PSJtYXhXYWl0ImluIHIpP2MoKDAsby5kZWZhdWx0KShyLm1heFdhaXQpfHwwLGUpOmksaD0idHJhaWxpbmciaW4gcj8hIXIudHJhaWxpbmc6aCksQS5jYW5jZWw9ZnVuY3Rpb24oKXt2b2lkIDAhPT1kJiZjbGVhclRpbWVvdXQoZCkscD0wLHU9dj1zPWQ9dm9pZCAwfSxBLmZsdXNoPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMD09PWQ/bDpfKGEoKSl9LEF9fSw1MzE1NTcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+aX0pO3ZhciBuPXIoMTc4NDk3KSx1PXIoMzYwNjIwKTtjb25zdCBhPWZ1bmN0aW9uKHQpe3JldHVybigwLHUuZGVmYXVsdCkodCkmJiJbb2JqZWN0IEFyZ3VtZW50c10iPT0oMCxuLmRlZmF1bHQpKHQpfTt2YXIgbz1PYmplY3QucHJvdG90eXBlLGM9by5oYXNPd25Qcm9wZXJ0eSxmPW8ucHJvcGVydHlJc0VudW1lcmFibGUscz1hKGZ1bmN0aW9uKCl7cmV0dXJuIGFyZ3VtZW50c30oKSk/YTpmdW5jdGlvbih0KXtyZXR1cm4oMCx1LmRlZmF1bHQpKHQpJiZjLmNhbGwodCwiY2FsbGVlIikmJiFmLmNhbGwodCwiY2FsbGVlIil9O2NvbnN0IGk9c30sMjk1NjM1KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPUFycmF5LmlzQXJyYXl9LDM5MjkwOCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cig5MjgxMzIpLHU9cig5OTA2MDQpO2NvbnN0IGE9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGwhPXQmJigwLHUuZGVmYXVsdCkodC5sZW5ndGgpJiYhKDAsbi5kZWZhdWx0KSh0KX19LDY1OTAxOCh0LGUscil7CiJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+Zn0pO3ZhciBuPXIoOTgxNTIzKTtjb25zdCB1PWZ1bmN0aW9uKCl7cmV0dXJuITF9O3ZhciBhPSJvYmplY3QiPT10eXBlb2YgZXhwb3J0cyYmZXhwb3J0cyYmIWV4cG9ydHMubm9kZVR5cGUmJmV4cG9ydHMsbz1hJiYib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmbW9kdWxlJiYhbW9kdWxlLm5vZGVUeXBlJiZtb2R1bGUsYz1vJiZvLmV4cG9ydHM9PT1hP24uZGVmYXVsdC5CdWZmZXI6dm9pZCAwO2NvbnN0IGY9KGM/Yy5pc0J1ZmZlcjp2b2lkIDApfHx1fSw5OTA2MDQodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49ZnVuY3Rpb24odCl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0JiZ0Pi0xJiZ0JTE9PTAmJnQ8PTkwMDcxOTkyNTQ3NDA5OTF9fSw2NzI1MTEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+c30pO3ZhciBuPXIoOTY5Nzg1KSx1PXIoMzYwNjIwKTtjb25zdCBhPWZ1bmN0aW9uKHQpe3JldHVybigwLHUuZGVmYXVsdCkodCkmJiJbb2JqZWN0IE1hcF0iPT0oMCxuLmRlZmF1bHQpKHQpfTt2YXIgbz1yKDg5OTMzOSksYz1yKDM2OTg5OSksZj1jLmRlZmF1bHQmJmMuZGVmYXVsdC5pc01hcDtjb25zdCBzPWY/KDAsby5kZWZhdWx0KShmKTphfSwzNjA2MjAodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49ZnVuY3Rpb24odCl7cmV0dXJuIG51bGwhPXQmJiJvYmplY3QiPT10eXBlb2YgdH19LDcxNzMzMih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cigxNzg0OTcpLHU9cigzNjA2MjApO2NvbnN0IGE9ZnVuY3Rpb24odCl7cmV0dXJuInN5bWJvbCI9PXR5cGVvZiB0fHwoMCx1LmRlZmF1bHQpKHQpJiYiW29iamVjdCBTeW1ib2xdIj09KDAsbi5kZWZhdWx0KSh0KX19LDE2NTI2Nyh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5sfSk7dmFyIG49cigxNzg0OTcpLHU9cig5OTA2MDQpLGE9cigzNjA2MjApLG89e307b1siW29iamVjdCBGbG9hdDMyQXJyYXldIl09b1siW29iamVjdCBGbG9hdDY0QXJyYXldIl09b1siW29iamVjdCBJbnQ4QXJyYXldIl09b1siW29iamVjdCBJbnQxNkFycmF5XSJdPW9bIltvYmplY3QgSW50MzJBcnJheV0iXT1vWyJbb2JqZWN0IFVpbnQ4QXJyYXldIl09b1siW29iamVjdCBVaW50OENsYW1wZWRBcnJheV0iXT1vWyJbb2JqZWN0IFVpbnQxNkFycmF5XSJdPW9bIltvYmplY3QgVWludDMyQXJyYXldIl09ITAsb1siW29iamVjdCBBcmd1bWVudHNdIl09b1siW29iamVjdCBBcnJheV0iXT1vWyJbb2JqZWN0IEFycmF5QnVmZmVyXSJdPW9bIltvYmplY3QgQm9vbGVhbl0iXT1vWyJbb2JqZWN0IERhdGFWaWV3XSJdPW9bIltvYmplY3QgRGF0ZV0iXT1vWyJbb2JqZWN0IEVycm9yXSJdPW9bIltvYmplY3QgRnVuY3Rpb25dIl09b1siW29iamVjdCBNYXBdIl09b1siW29iamVjdCBOdW1iZXJdIl09b1siW29iamVjdCBPYmplY3RdIl09b1siW29iamVjdCBSZWdFeHBdIl09b1siW29iamVjdCBTZXRdIl09b1siW29iamVjdCBTdHJpbmddIl09b1siW29iamVjdCBXZWFrTWFwXSJdPSExO2NvbnN0IGM9ZnVuY3Rpb24odCl7cmV0dXJuKDAsYS5kZWZhdWx0KSh0KSYmKDAsdS5kZWZhdWx0KSh0Lmxlbmd0aCkmJiEhb1soMCxuLmRlZmF1bHQpKHQpXX07dmFyIGY9cig4OTkzMzkpLHM9cigzNjk4OTkpLGk9cy5kZWZhdWx0JiZzLmRlZmF1bHQuaXNUeXBlZEFycmF5O2NvbnN0IGw9aT8oMCxmLmRlZmF1bHQpKGkpOmN9LDMwOTA4MCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig4MjA5NzUpLHU9cig4MzA4NzUpLGE9cigzOTI5MDgpO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuKDAsYS5kZWZhdWx0KSh0KT8oMCxuLmRlZmF1bHQpKHQpOigwLHUuZGVmYXVsdCkodCl9fSwyMTc0NTcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+aX0pO3ZhciBuPXIoODIwOTc1KSx1PXIoODgwMTE1KSxhPXIoNjkzOTQxKTtjb25zdCBvPWZ1bmN0aW9uKHQpe3ZhciBlPVtdO2lmKG51bGwhPXQpZm9yKHZhciByIGluIE9iamVjdCh0KSllLnB1c2gocik7cmV0dXJuIGV9O3ZhciBjPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7Y29uc3QgZj1mdW5jdGlvbih0KXtpZighKDAsdS5kZWZhdWx0KSh0KSlyZXR1cm4gbyh0KTt2YXIgZT0oMCxhLmRlZmF1bHQpKHQpLHI9W107Zm9yKHZhciBuIGluIHQpKCJjb25zdHJ1Y3RvciIhPW58fCFlJiZjLmNhbGwodCxuKSkmJnIucHVzaChuKTtyZXR1cm4gcn07dmFyIHM9cigzOTI5MDgpO2NvbnN0IGk9ZnVuY3Rpb24odCl7cmV0dXJuKDAscy5kZWZhdWx0KSh0KT8oMCxuLmRlZmF1bHQpKHQsITApOmYodCl9fSw2NjMwNDYodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBuPXIoNzEzMTQ4KTtmdW5jdGlvbiB1KHQsZSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHR8fG51bGwhPWUmJiJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGEgZnVuY3Rpb24iKTt2YXIgcj1mdW5jdGlvbigpe3ZhciBuPWFyZ3VtZW50cyx1PWU/ZS5hcHBseSh0aGlzLG4pOm5bMF0sYT1yLmNhY2hlO2lmKGEuaGFzKHUpKXJldHVybiBhLmdldCh1KTt2YXIgbz10LmFwcGx5KHRoaXMsbik7cmV0dXJuIHIuY2FjaGU9YS5zZXQodSxvKXx8YSxvfTtyZXR1cm4gci5jYWNoZT1uZXcodS5DYWNoZXx8bi5kZWZhdWx0KSxyfXUuQ2FjaGU9bi5kZWZhdWx0O2NvbnN0IGE9dX0sODYyMzg4KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKCl7fX0sMTc3NjU1KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKCl7cmV0dXJuW119fSw1ODcxNjgodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBuPXIoNTQ3ODUxKSx1PXIoODgwMTE1KTtjb25zdCBhPWZ1bmN0aW9uKHQsZSxyKXsKdmFyIGE9ITAsbz0hMDtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBhIGZ1bmN0aW9uIik7cmV0dXJuKDAsdS5kZWZhdWx0KShyKSYmKGE9ImxlYWRpbmciaW4gcj8hIXIubGVhZGluZzphLG89InRyYWlsaW5nImluIHI/ISFyLnRyYWlsaW5nOm8pLCgwLG4uZGVmYXVsdCkodCxlLHtsZWFkaW5nOmEsbWF4V2FpdDplLHRyYWlsaW5nOm99KX19LDQwNjQ0OSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT52fSk7dmFyIG49L1xzLztjb25zdCB1PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10Lmxlbmd0aDtlLS0mJm4udGVzdCh0LmNoYXJBdChlKSk7KTtyZXR1cm4gZX07dmFyIGE9L15ccysvO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuIHQ/dC5zbGljZSgwLHUodCkrMSkucmVwbGFjZShhLCIiKTp0fTt2YXIgYz1yKDg4MDExNSksZj1yKDcxNzMzMikscz0vXlstK10weFswLTlhLWZdKyQvaSxpPS9eMGJbMDFdKyQvaSxsPS9eMG9bMC03XSskL2ksZD1wYXJzZUludDtjb25zdCB2PWZ1bmN0aW9uKHQpe2lmKCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gdDtpZigoMCxmLmRlZmF1bHQpKHQpKXJldHVybiBOYU47aWYoKDAsYy5kZWZhdWx0KSh0KSl7dmFyIGU9ImZ1bmN0aW9uIj09dHlwZW9mIHQudmFsdWVPZj90LnZhbHVlT2YoKTp0O3Q9KDAsYy5kZWZhdWx0KShlKT9lKyIiOmV9aWYoInN0cmluZyIhPXR5cGVvZiB0KXJldHVybiAwPT09dD90Oit0O3Q9byh0KTt2YXIgcj1pLnRlc3QodCk7cmV0dXJuIHJ8fGwudGVzdCh0KT9kKHQuc2xpY2UoMikscj8yOjgpOnMudGVzdCh0KT9OYU46K3R9fSwzNTI4MzcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+ZH0pO3ZhciBuPXIoMjY5MzY2KSx1PXIoMjI0NDE2KSxhPXIoODI1MDM5KSxvPXIoNzEyODAxKSxjPXIoNDE0MTIzKSxmPXIoODYyMzg4KSxzPXIoOTcyMDE3KTtjb25zdCBpPWMuZGVmYXVsdCYmMS8oMCxzLmRlZmF1bHQpKG5ldyBjLmRlZmF1bHQoWywtMF0pKVsxXT09MS8wP2Z1bmN0aW9uKHQpe3JldHVybiBuZXcgYy5kZWZhdWx0KHQpfTpmLmRlZmF1bHQ7Y29uc3QgbD1mdW5jdGlvbih0LGUscil7dmFyIGM9LTEsZj11LmRlZmF1bHQsbD10Lmxlbmd0aCxkPSEwLHY9W10scD12O2lmKHIpZD0hMSxmPWEuZGVmYXVsdDtlbHNlIGlmKGw+PTIwMCl7dmFyIGI9ZT9udWxsOmkodCk7aWYoYilyZXR1cm4oMCxzLmRlZmF1bHQpKGIpO2Q9ITEsZj1vLmRlZmF1bHQscD1uZXcgbi5kZWZhdWx0fWVsc2UgcD1lP1tdOnY7dDpmb3IoOysrYzxsOyl7dmFyIHk9dFtjXSxoPWU/ZSh5KTp5O2lmKHk9cnx8MCE9PXk/eTowLGQmJmg9PWgpe2Zvcih2YXIgaj1wLmxlbmd0aDtqLS07KWlmKHBbal09PT1oKWNvbnRpbnVlIHQ7ZSYmcC5wdXNoKGgpLHYucHVzaCh5KX1lbHNlIGYocCxoLHIpfHwocCE9PXYmJnAucHVzaChoKSx2LnB1c2goeSkpfXJldHVybiB2fTtjb25zdCBkPWZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0Lmxlbmd0aD9sKHQpOltdfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/img/payment_1.png","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.150Z","timestamp":1785120633150,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /img/payment_1.png HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: image/png\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-e5f\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":3679,"size_decoded":3679,"mime_type":"image/png","magic":"PNG image data, 131 x 28, 8-bit/color RGBA, non-interlaced","md5":"2bbdbacded77511540be8cf6a2e8c783","sha1":"d3e5c768fd9b49a02cd5df785be3a9e8b54f44c7","sha256":"581dc5b4bb7208a5915cd6beab45831cc32f87f34a410dce509b11204233fd9a","sha512":"da9b6b6e75eb6a6f8d526e4c6e706d4f21030585cd1ed11f1d35fa4917017213f95aea5c4d9762dfc4807ebcfa25013822e5c06c216bf9de544b3f702a145749","ssdeep":"","tlshash":"a1714d48e901b942f765d4c1b8e61056ed73c195cae584df3cdace3440794aec9474ef","first_seen":"2026-07-27T02:45:25.24795Z","last_seen":"2026-07-27T02:59:54.490407Z","times_seen":4,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAIMAAAAcCAYAAABCrQzwAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUI5NThGNzk5MTcyMTFFOEI2N0VBOUIzMkE5NkE3NzQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUI5NThGN0E5MTcyMTFFOEI2N0VBOUIzMkE5NkE3NzQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQjk1OEY3NzkxNzIxMUU4QjY3RUE5QjMyQTk2QTc3NCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQjk1OEY3ODkxNzIxMUU4QjY3RUE5QjMyQTk2QTc3NCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuA9WGoAAArTSURBVHja7JsJdFTl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"}},"time_used":29,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":29,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/img/payment_2.png","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.152Z","timestamp":1785120633152,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /img/payment_2.png HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: image/png\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-97f\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":2431,"size_decoded":2424,"mime_type":"image/png","magic":"PNG image data, 77 x 26, 8-bit/color RGBA, non-interlaced","md5":"592586c5437fb2d362d7066f578878d4","sha1":"bfdb9c75a6a33fdf7ec9cca355788d552ee8ce31","sha256":"a569205db5986eaa5360437906871d725caf09f507ecf10ac1109ffd084a7d52","sha512":"74a0a2ed78b84f07bb73689d247a4586cb15f6718892112bdb815da6f5cc1711ed992341d955b4e1b3bcbd2595556aa80424e7bdee3d9ea72056197c39745342","ssdeep":"","tlshash":"38413b47e8505943240958c66cf15d2665370f41dce0fdabb95bec5fe4110da88f98ea","first_seen":"2026-07-27T02:45:25.218705Z","last_seen":"2026-07-27T02:59:54.580757Z","times_seen":4,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAE0AAAAaCAYAAADygtH/AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QjMxNkI1RTE5MTcyMTFFOEFGMTFENzhDQTBDQ0RDREEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QjMxNkI1RTI5MTcyMTFFOEFGMTFENzhDQTBDQ0RDREEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpCMzE2QjVERjkxNzIxMUU4QUYxMUQ3OENBMENDRENEQSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpCMzE2QjVFMDkxNzIxMUU4QUYxMUQ3OENBMENDRENEQSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Ph41N/kAAAXzSURBVHja7JhpbFRV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"}},"time_used":29,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":29,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/fonts/Montserrat-Medium.woff2","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.496Z","timestamp":1785120633496,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /fonts/Montserrat-Medium.woff2 HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/fonts/stylesheet.css\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: font/woff2\r\nContent-Length: 91668\r\nLast-Modified: Tue, 14 Apr 2026 04:20:06 GMT\r\nConnection: keep-alive\r\nETag: \"69ddc076-16614\"\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":91668,"size_decoded":91911,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 91668, version 1.0","md5":"ce792ace742f8cf0c8c48b6eecc16a32","sha1":"e18821e8b6175e88e30d2f3c6e63fbceecbb0e38","sha256":"94c55c3117806a6efa05a07547567971911537a36cdda49f4d63b70917b3d7e1","sha512":"63952e4f11972c71431de1483337201490557110db625ae6a1a050b3f1a32f45622a8984260041d2e6a75d673070c5f5b25704d5a9719d297294095a066b53ea","ssdeep":"1536:Ga/aKr7fkVkiv/xuuA6GKDSqjCGbMCFkccdgedY7dR8kvqV/4skDcE20N:J/J7fk5uurGKDx+hCFkcjeY7kgqasIcm","tlshash":"8f9312c12550189e2207b59372b2f547b0bb98f3e9aca5843169efffb957247c2830c9","first_seen":"2023-04-19T00:11:12Z","last_seen":"2026-07-27T02:59:54.55143Z","times_seen":359,"resource_available":false,"data":"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"}},"time_used":31,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":30,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/runtime-embed_medium_widget.93759779765090741e99.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.913Z","timestamp":1785120633913,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/runtime-embed_medium_widget.93759779765090741e99.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-7d9a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:32:38\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ed9528f0753335961af83dd8938489b4\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":32154,"size_decoded":16553,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3769)","md5":"aacdfad6e0c3fa40302bddb34e43018c","sha1":"1142506ad9e4a57315e2ba4214ba1e71177a7a2c","sha256":"d8cc7c5391845edd563077448a35b9e0410f4593fdc20f33fd3fcc7d69693930","sha512":"632ac4a9de96a62e5b0ddcc0ea2c2056465ad238eaf82d343ba317c0ccfe1cf13fa498f8b76d209420b04075dd8d4ecfd04b2682de4f59737aa95a701228b6bb","ssdeep":"768:2Xo4Qv+wwrIm1jLIZk9PeFyVT1BuQ6KZUh9qWxZjI6myocSY:2Xo4mHwrLPeFqfuQQh9HrYyDF","tlshash":"68e27eec963c967336f12d686d3a9ca3f33c34137c1980d463a3b9650aa5ff49622953","first_seen":"2026-07-24T23:32:32.638488Z","last_seen":"2026-07-27T06:01:16.383092Z","times_seen":21,"resource_available":true,"data":"KCgpPT57InVzZSBzdHJpY3QiO3ZhciBlLGEsYyxkLGYsYix0PXt9LHI9e307ZnVuY3Rpb24gbihlKXt2YXIgYT1yW2VdO2lmKHZvaWQgMCE9PWEpcmV0dXJuIGEuZXhwb3J0czt2YXIgYz1yW2VdPXtpZDplLGxvYWRlZDohMSxleHBvcnRzOnt9fTtyZXR1cm4gdFtlXS5jYWxsKGMuZXhwb3J0cyxjLGMuZXhwb3J0cyxuKSxjLmxvYWRlZD0hMCxjLmV4cG9ydHN9bi5tPXQsbi5fcGx1cmFsPXthcjooZSxhPTYsYz0oMD09ZT8wOjE9PWU/MToyPT1lPzI6ZSUxMDA+PTMmJmUlMTAwPD0xMD8zOmUlMTAwPj0xMSYmZSUxMDA8PTk5PzQ6NSkpPT5udWxsPT1lPzA6K2MsY3M6KGUsYT0zLGM9KDE9PWU/MDplPj0yJiZlPD00PzE6MikpPT5udWxsPT1lPzA6K2MscnU6KGUsYT0zLGM9KGUlMTA9PTEmJmUlMTAwIT0xMT8wOmUlMTA+PTImJmUlMTA8PTQmJihlJTEwMDwxMHx8ZSUxMDA+PTIwKT8xOjIpKT0+bnVsbD09ZT8wOitjLHJvOihlLGE9MyxjPSgxPT1lPzA6ZSUxMDA+MTl8fGUlMTAwPT0wJiYwIT1lPzI6MSkpPT5udWxsPT1lPzA6K2MscGw6KGUsYT0zLGM9KDE9PWU/MDplJTEwPj0yJiZlJTEwPD00JiYoZSUxMDA8MTB8fGUlMTAwPj0yMCk/MToyKSk9Pm51bGw9PWU/MDorYyxwdDooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLGRlOihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsZW46KGUsYT0yLGM9MSE9ZSk9Pm51bGw9PWU/MDorYyxlczooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLHN2OihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsaXQ6KGUsYT0yLGM9MSE9ZSk9Pm51bGw9PWU/MDorYyx0cjooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLGVsOihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsZnI6KGUsYT0yLGM9ZT4xKT0+bnVsbD09ZT8wOitjLGZhOihlLGE9MSxjPTApPT5udWxsPT1lPzA6K2MsamE6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorYyxrbzooZSxhPTEsYz0wKT0+bnVsbD09ZT8wOitjLHRoOihlLGE9MSxjPTApPT5udWxsPT1lPzA6K2Msdmk6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorYyx6aDooZSxhPTEsYz0wKT0+bnVsbD09ZT8wOitjLGhlX0lMOihlLGE9NCxjPSgxPT1lPzA6Mj09ZT8xOmU+MTAmJmUlMTA9PTA/MjozKSk9Pm51bGw9PWU/MDorYyxjYV9FUzooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLG5sX05MOihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsaHVfSFU6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorYyxpZF9JRDooZSxhPTEsYz0wKT0+bnVsbD09ZT8wOitjLG1zX01ZOihlLGE9MSxjPTApPT5udWxsPT1lPzA6K2MsemhfVFc6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorY30sbi5hbWREPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJkZWZpbmUgY2Fubm90IGJlIHVzZWQgaW5kaXJlY3QiKX0sZT1bXSxuLk89KGEsYyxkLGYpPT57aWYoIWMpe3ZhciBiPTEvMDtmb3Iobz0wO288ZS5sZW5ndGg7bysrKXtmb3IodmFyW2MsZCxmXT1lW29dLHQ9ITAscj0wO3I8Yy5sZW5ndGg7cisrKSghMSZmfHxiPj1mKSYmT2JqZWN0LmtleXMobi5PKS5ldmVyeSgoZT0+bi5PW2VdKGNbcl0pKSk/Yy5zcGxpY2Uoci0tLDEpOih0PSExLGY8YiYmKGI9ZikpO2lmKHQpe2Uuc3BsaWNlKG8tLSwxKTt2YXIgcz1kKCk7dm9pZCAwIT09cyYmKGE9cyl9fXJldHVybiBhfWY9Znx8MDtmb3IodmFyIG89ZS5sZW5ndGg7bz4wJiZlW28tMV1bMl0+ZjtvLS0pZVtvXT1lW28tMV07ZVtvXT1bYyxkLGZdfSxuLkY9e30sbi5FPWU9PntPYmplY3Qua2V5cyhuLkYpLm1hcCgoYT0+e24uRlthXShlKX0pKX0sbi5uPWU9Pnt2YXIgYT1lJiZlLl9fZXNNb2R1bGU/KCk9PmUuZGVmYXVsdDooKT0+ZTtyZXR1cm4gbi5kKGEse2F9KSxhfSxjPU9iamVjdC5nZXRQcm90b3R5cGVPZj9lPT5PYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk6ZT0+ZS5fX3Byb3RvX18sbi50PWZ1bmN0aW9uKGUsZCl7aWYoMSZkJiYoZT10aGlzKGUpKSw4JmQpcmV0dXJuIGU7aWYoIm9iamVjdCI9PXR5cGVvZiBlJiZlKXtpZig0JmQmJmUuX19lc01vZHVsZSlyZXR1cm4gZTtpZigxNiZkJiYiZnVuY3Rpb24iPT10eXBlb2YgZS50aGVuKXJldHVybiBlfXZhciBmPU9iamVjdC5jcmVhdGUobnVsbCk7bi5yKGYpO3ZhciBiPXt9O2E9YXx8W251bGwsYyh7fSksYyhbXSksYyhjKV07Zm9yKHZhciB0PTImZCYmZTsoIm9iamVjdCI9PXR5cGVvZiB0fHwiZnVuY3Rpb24iPT10eXBlb2YgdCkmJiF+YS5pbmRleE9mKHQpO3Q9Yyh0KSlPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0KS5mb3JFYWNoKChhPT5iW2FdPSgpPT5lW2FdKSk7cmV0dXJuIGIuZGVmYXVsdD0oKT0+ZSxuLmQoZixiKSxmfSxuLmQ9KGUsYSk9Pntmb3IodmFyIGMgaW4gYSluLm8oYSxjKSYmIW4ubyhlLGMpJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxjLHtlbnVtZXJhYmxlOiEwLGdldDphW2NdfSl9LG4uZj17fSxuLmU9ZT0+UHJvbWlzZS5hbGwoT2JqZWN0LmtleXMobi5mKS5yZWR1Y2UoKChhLGMpPT4obi5mW2NdKGUsYSksYSkpLFtdKSksCm4udT1lPT4xMjg1OD09PWU/Il9fTEFOR19fLiIrZSsiLmFkNzJkNzZjNDFiYmQ0MTUyMzFlLmpzIjoyODgzMT09PWU/Il9fTEFOR19fLiIrZSsiLmY5ZTczNTZmZjkxZjgzN2Y0N2M3LmpzIjo5Mjk2ND09PWU/Il9fTEFOR19fLiIrZSsiLmFhNjcwZGRmZDE2NTk1OTY0YWViLmpzIjo5NDk0Nz09PWU/Il9fTEFOR19fLiIrZSsiLjc4MzUwYTk5MDMwNTZiOTkzYzI2LmpzIjo2NDEzMj09PWU/Il9fTEFOR19fLiIrZSsiLjIzYzczZmZlNjQ5YTY0NDlkZjNlLmpzIjo1NzE4ND09PWU/Il9fTEFOR19fLiIrZSsiLmRjNTc5YjA2OTllYWQ3YzRhZTVkLmpzIjo2NDIwMD09PWU/Il9fTEFOR19fLiIrZSsiLmFiNDQ4NzkyYTVmNTY1OWEyZDEyLmpzIjo1ODY2Nz09PWU/Il9fTEFOR19fLiIrZSsiLmQxNWZjNGI1YzYzMWJiNWVjZThkLmpzIjozNzg2NT09PWU/Il9fTEFOR19fLiIrZSsiLjIwYjlkNzQ0MTVkMGNiYzU1NWExLmpzIjo0NTg4Mz09PWU/Il9fTEFOR19fLiIrZSsiLjYxNDY2ZGRiNzZhZTc4ZTQ2OTQxLmpzIjoyNjk3Mz09PWU/Il9fTEFOR19fLiIrZSsiLjlhZTU2ZDYyMWE1ZjI5ODI3ZTAwLmpzIjoyMzU2Nz09PWU/Il9fTEFOR19fLiIrZSsiLjVmZGRjMTU5OTgxNDJjYmM2MWVmLmpzIjo4NTUzNz09PWU/Il9fTEFOR19fLiIrZSsiLjQ5ZmRhMTNlMTg3NjEyNDYzZjg0LmpzIjo5NjQ0OD09PWU/Il9fTEFOR19fLiIrZSsiLmEyMzA5M2IyMGMyZTQ4YWFjMTJiLmpzIjo2MDkzOT09PWU/Il9fTEFOR19fLiIrZSsiLmVlNmNiZWVmODZkZDhmZjEwOTY0LmpzIjo0OTIxNT09PWU/Il9fTEFOR19fLiIrZSsiLjJjMjE1NmZhMGU4NTQ1Y2JjYWFiLmpzIjoyMDg2Nj09PWU/Il9fTEFOR19fLiIrZSsiLjNkYjhlOGVlZWU2ODZhNTA5YjIwLmpzIjo0MTI4MD09PWU/Il9fTEFOR19fLiIrZSsiLjJhYTNjZDA3ZDYwMGViOTZjYmJjLmpzIjo4MTM5NT09PWU/Il9fTEFOR19fLiIrZSsiLmI2ZDgzYzc0ODhkZjQ5MDM5NGY4LmpzIjoyNjc3MT09PWU/Il9fTEFOR19fLiIrZSsiLmUzYjAzNTVjZmZkMDc3YmRlMjQyLmpzIjoxMDY3ND09PWU/Il9fTEFOR19fLiIrZSsiLjY1YWNkY2NmZWYwZjNmNDk4MmUwLmpzIjo0OTc0Nz09PWU/Il9fTEFOR19fLiIrZSsiLjlmZGRlOGRmYmQ0NTY2MzhmMzExLmpzIjozODUzNT09PWU/Il9fTEFOR19fLiIrZSsiLjI2OTE4OTI3NWFkZGQxZjc2N2I1LmpzIjo1OTMxPT09ZT8iX19MQU5HX18uNTkzMS4yZDAwYTEwNjc4ZTc4Y2Q2NmM5Mi5qcyI6ODYzMT09PWU/Il9fTEFOR19fLjg2MzEuN2FjZjJiYTQ0MjE2MzMyM2E2ZWMuanMiOjg0OTAwPT09ZT8iX19MQU5HX18uIitlKyIuMGQzNzYyZmQwY2U3MjNlNTQxZGIuanMiOjU0OTg9PT1lPyJfX0xBTkdfXy41NDk4LjhlNGNjYzdjZWY4YmZhZjM5Mzk5LmpzIjo3MzcyNT09PWU/Il9fTEFOR19fLiIrZSsiLmFiNzNlOTU0ZDJjZDFiZTM2ZGM0LmpzIjo0MDg5Mj09PWU/Il9fTEFOR19fLiIrZSsiLjc2ZWUzYzUyNDE3YTYwZmIwOTMxLmpzIjo0ODgzNz09PWU/Il9fTEFOR19fLiIrZSsiLmVkNjU2NzNlNTgzN2NkODY3MzdhLmpzIjoxODc4MT09PWU/Il9fTEFOR19fLiIrZSsiLjM4ZjEwM2NlYjM1MWQ2OGMyZjhmLmpzIjo4NDY5Mz09PWU/Il9fTEFOR19fLiIrZSsiLjcxNWNiN2IyNzMyZjIwYzRjOTYxLmpzIjo0OTY4ND09PWU/Il9fTEFOR19fLiIrZSsiLjQ5OWNmYmQ3MzQ3ZTk3NDcyMjI4LmpzIjo4ODQzMj09PWU/Il9fTEFOR19fLiIrZSsiLjQ0MDYwYWRkMjE2MjgwY2ZhMGQzLmpzIjoxMjY1Mz09PWU/Il9fTEFOR19fLiIrZSsiLjYzNTc2NjU5MmI0NmRlNzQ4ZThkLmpzIjoxNzEyMz09PWU/Il9fTEFOR19fLiIrZSsiLmFkNGQ4ZTc2ODNlMzQ2ZjEyZTEyLmpzIjoyNTc1Mz09PWU/Il9fTEFOR19fLiIrZSsiLjczN2Y2NTNhN2IxM2YwNmE5ZmNlLmpzIjozNDkwOD09PWU/Il9fTEFOR19fLiIrZSsiLjQ4OGNkMTQ3MzYwMTljZWYyN2JjLmpzIjo4ODk5Nz09PWU/Il9fTEFOR19fLiIrZSsiLjI1OTkxZGE1OWUyMGE3OTZlZGFhLmpzIjo0ODkxMj09PWU/Il9fTEFOR19fLiIrZSsiLjA3ZjEzZTY5NGRkZjU0YjRkZWViLmpzIjo2NDQ0MT09PWU/Il9fTEFOR19fLiIrZSsiLjZkM2EwN2I5YTgxNDA4NzMxY2M0LmpzIjozMzM5MT09PWU/Il9fTEFOR19fLiIrZSsiLmFlZGQxZDNjZWVmYmU0Y2U2ODAyLmpzIjoxMDg0MT09PWU/Il9fTEFOR19fLiIrZSsiLjc2NmY5NjY4NzhiN2Y4NzI2ZDc0LmpzIjoxOTkxNj09PWU/Il9fTEFOR19fLiIrZSsiLjQyZWUxZTk4ZDc1MzBhYTU2NTUzLmpzIjo2MzU1Mz09PWU/Il9fTEFOR19fLiIrZSsiLmQxZWU2MTk4YjcwMjg0NzhkZDYyLmpzIjo2MTA2Nj09PWU/Il9fTEFOR19fLiIrZSsiLjNjYjZjNjQyM2M2YjFmYTAxMGRmLmpzIjo3NjM4NT09PWU/Il9fTEFOR19fLiIrZSsiLmEzOGM4ZTkyMTk2MGNlYTQ0MDE5LmpzIjoyNjA1PT09ZT8iX19MQU5HX18uMjYwNS5mNzAwYWY2Y2I4MGIwNmU1NTRkZC5qcyI6OTk4NjU9PT1lPyJfX0xBTkdfXy4iK2UrIi41NTg4ZjJiZGYzNDkxMmVjMTQ0OC5qcyI6OTk3NjU9PT1lPyJfX0xBTkdfXy4iK2UrIi42ZGE2YmRiYjA4ZjZmN2I5YzFkZC5qcyI6MzA1OTc9PT1lPyJfX0xBTkdfXy4iK2UrIi44NGE0YjNlM2NjYjZkN2MyZjIyYS5qcyI6NDU1MjI9PT1lPyJfX0xBTkdfXy4iK2UrIi4zYTY2MGExNDIxMjRhZGY0NTA0My5qcyI6MTAzMz09PWU/Il9fTEFOR19fLjEwMzMuNzM0YmQ3ZGFmZTc3N2NmMmRmNjEuanMiOjg4ODkxPT09ZT8iX19MQU5HX18uIitlKyIuMmY2NjNiZDEyNWRiMjhmMWNiZGEuanMiOjg4NDI9PT1lPyJfX0xBTkdfXy44ODQyLmY0ODQ0YjQ0MDc4MWIxOWU0NTA4LmpzIjoxOTAzND09PWU/Il9fTEFOR19fLiIrZSsiLjMwNTE3MjA0N2U3ZmFiYjUzNDgxLmpzIjoxNjcyPT09ZT8iX19MQU5HX18uMTY3Mi5mY2Y2OTljNDJjYmY2ZGEwNTAzZC5qcyI6MjEzOTc9PT1lPyJfX0xBTkdfXy4iK2UrIi4zNDFmNmM3Yjc2NTdlNTU1NGRmMC5qcyI6MjkxNjk9PT1lPyJfX0xBTkdfXy4iK2UrIi5jMzU3M2RkMzNhYmVlZWViZWYwNC5qcyI6MTg4OTg9PT1lPyJfX0xBTkdfXy4iK2UrIi5kZjg2NzhmYjFmZWY3NzFiNTNhYS5qcyI6MTg2Mjg9PT1lPyJfX0xBTkdfXy4iK2UrIi4zMmIwYmMyMDhkNWUxOTBhMzczMy5qcyI6NzM2MzM9PT1lPyJfX0xBTkdfXy4iK2UrIi4wNWI1ZWZmNDZkNTkxNTcxNGZmYy5qcyI6Njc5NDk9PT1lPyJfX0xBTkdfXy4iK2UrIi45NDAxYWZjYjdiZDQ3N2UzMTlhMS5qcyI6Njg4NjA9PT1lPyJfX0xBTkdfXy4iK2UrIi4zNzY2ZDExMDc4ODEyZDdmMTQ1Ny5qcyI6ODIwMDM9PT1lPyJfX0xBTkdfXy4iK2UrIi5kNzQ4Yjg2ODgwMzhlNzI5ZWYwOS5qcyI6Mzk5ODg9PT1lPyJfX0xBTkdfXy4iK2UrIi4zYzlkNDZkNjlmNWFkNzIxMDlhMC5qcyI6NTg4MjA9PT1lPyJfX0xBTkdfXy4iK2UrIi4wOWI0MWQyZWQ4NGI3OWY0ZmUyNC5qcyI6MTcwOTI9PT1lPyJfX0xBTkdfXy4iK2UrIi44OWQ4ZTBiZjUxYTc3ZDZjZTczMS5qcyI6MTc4NTk9PT1lPyJfX0xBTkdfXy4iK2UrIi40YTU4MGFjZTQ5MTRmMTE1Y2QwNy5qcyI6Mjg4NzU9PT1lPyJfX0xBTkdfXy4iK2UrIi5lZGUxYjcyMTgxNjkzZDFhY2Y0Zi5qcyI6NDcwMzA9PT1lPyJfX0xBTkdfXy4iK2UrIi45YWE2ZTBmZjRlZGRhMTY4NzUzNi5qcyI6Mjk2MTg9PT1lPyJfX0xBTkdfXy4iK2UrIi5kZDIwOGZhOWQyNmU3MzI4MTA5Yy5qcyI6Mzk1MDQ9PT1lPyJfX0xBTkdfXy4iK2UrIi5lYjdjODU4YTIzMTA4YWNhN2ZlZS5qcyI6MTc2NjI9PT1lPyJfX0xBTkdfXy4iK2UrIi40N2Y1YzljYWY2NjBjNGQwZTgwNC5qcyI6KHsKNTc3OiJjb252ZXJzaW9uLWNvbnRleHQiLDE1MjE6Inp4Y3ZibkVuUGFja2FnZSIsMTY0NjoibGVnZW5kLXZpZXctcmVuZGVyZXIiLDIyODQ6InJlZ3dhbGxzLW1hbmFnZXIiLDM5NjE6InByb2ZpbGUtYXBpIiw3Mzk3OiJwZXJpb2QtZm9ybWF0dGVyIiw3NzE4OiJwaW5lLm1vbmFyY2gudjUiLDg2MDg6InN1cHBvcnQtZGlhbG9nLWltcGwiLDk1OTk6ImNvbnRhY3QtYWR2YW5jZWQtY2hhcnRzLWRpYWxvZyIsMTMxMjM6ImVhcmx5LWJpcmQtYmFubmVyIiwxMzcxOToicGhvbmUtY2hhbmdlLWZsb3ciLDEzNzMyOiJmdWxsc2NyZWVuLWltYWdlLWRpYWxvZy1pbXBsIiwxMzk5MzoicHVzaHN0cmVhbS1tdWx0aXBsZXhlciIsMTU3Njc6Inp4Y3ZibkNvbW1vblBhY2thZ2UiLDE2ODEzOiJ0cmFkaW5ndmlldy1jb3B5cmlnaHQtd2l0aC1ib3JkZXItZGF0YS1pbXBsIiwxOTAxMjoibW9uYXJjaC5jb2xvcml6ZXIiLDE5MzExOiJ0YWtlLXNjcmVlbnNob3QiLDE5NzY5OiJzdWJzY3JpcHRpb24taGFzLWNoYW5nZWQtZGlhbG9nIiwyMTI2MDoibnNkLXVucGFjay1pbXBsIiwyMzc2OToic3VwcG9ydC13aXphcmQtc2hvcnRjdXQtcGFnZSIsMjYwNjY6ImNvbnRhY3QtcHJpdmFjeS1wb2xpY2llcy1kaWFsb2ciLDI4NTA3OiJnZXQtZXJyb3ItY2FyZCIsMzAzMDQ6ImNvbnRhY3QtZWR1Y2F0aW9uYWwtZGlhbG9nIiwzMjEwMDoibWVkaXVtLXdpZGdldC1jcmVhdG9yIiwzMjYxMzoiY29udGFjdC1lbnRlcnByaXNlLXBsYW5zLWRpYWxvZyIsMzMzOTI6InN5bWJvbC1vdmVydmlldy10aWNrZXItcmVuZGVyZXIiLDM0ODc5OiJpbnRlcnJ1cHQtY29uZmlybS1tb2RhbCIsMzU1OTI6ImVycm9yLWxvdHRpZS1hbmltYXRpb24iLDM1OTgwOiJjbGVhci1vbGQtc2V0dGluZ3MiLDM4Nzg3OiJwYWdlLXNuYXBzaG90IiwzOTQ0MjoiY29udmVydC1tZWRpYXRvci1zdG9yeSIsNDAxMDE6InR2LWNvaW5zLWRpYWxvZyIsNDI3MDY6InNpbXBsZS1kaWFsb2ciLDQ0MTYyOiJ0aW1lLWZyYW1lLXZpZXctcmVuZGVyZXIiLDQ1MzIyOiJsaWdodHdlaWdodC1jaGFydC1wcmljZS10aW1lLXRvb2x0aXAiLDQ2MTY5OiJ1cGdyYWRlRGlhbG9nIiw0NjQ4Mjoic3ltYm9sLW92ZXJ2aWV3LWRhdGEtbW9kZSIsNDc5NjE6ImRlY2xhcmF0aW9uIiw0ODAwMjoiY29udGFjdC13aWRnZXRzLWRpYWxvZyIsNDgxNzg6InN1cHBvcnQtd2l6YXJkLXdhcm5pbmdzIiw0ODQxMzoic3VwcG9ydC13aXphcmQtaGlnaC12b2x1bWUtaW5mbyIsNDg1NTI6InZpZGVvLWJhbm5lci1kaWFsb2ciLDQ5ODM5OiJzb3VyY2UtdGFnLXBvcG92ZXIiLDUwMTgyOiJnbG9iYWwtbm90aWZpY2F0aW9uIiw1MjY5OToidGltZS1mcmFtZS10aGVtZS1sZW50YXJ1LXN0eWxlcyIsNTM3NzA6ImdldC1tZWRpYXRvci1hcGkiLDUzODgxOiJnby10by10cmFkaW5ndmlldy1yZWZlcnJhbC1kaWFsb2ciLDU0NDQ5OiJzeW1ib2wtb3ZlcnZpZXctbWFya2V0LXN0YXR1cyIsNTQ2MTU6InJlZmVycmFsLXdlbGNvbWUiLDU1MzU2OiJnbG9iYWwtbm90aWZpY2F0aW9uLXRvb2xzIiw1NTk2MDoiY29udGFjdC1zZWN1cml0eS1yZXBvcnQtZGlhbG9nIiw1NjAwODoibmV3cy1kZXNjcmlwdGlvbi1kaWFsb2ciLDU2MTU2OiJtaW5pLWNoYXJ0LW1hLXBsb3QiLDU3NjM5OiJtaW5pLWNoYXJ0LXN5bWJvbC1kYXRhIiw1NzcxNDoidXNlci1zdGF0dXMtZGVjbGFyYXRpb24iLDU4NjEzOiJjaGFuZ2UtcGxhbi1kaWFsb2ctaW1wbCIsNTg4MTc6InZhbGlkYXRlLWludGwtYWRkcmVzcy1kaWFsb2ciLDYxNDQxOiJtZWRpdW13aWRnZXRyZW5kZXJlci1ibGFua2V0Iiw2MTUzMzoic3RvcnktaXRlbS10cmFuc2Zvcm0iLDYyMjM0OiJuc2QtaW5mbGF0ZS1wYWtvIiw2MjU1Nzoic3VwcG9ydC13aXphcmQtd2hhdHMtbmV3LXBhZ2UiLDYyODExOiJ3YXJuaW5nLXBvcHVwLWltcGwiLDYzMDg4OiJwaW5lLm1vbmFyY2gudjMiLDY0NjQ0OiJyZWFjdCIsNjU2MjM6InBvcC1vdmVyIiw2NTk0NzoidmFsaWRhdGUtYWRkcmVzcy1kaWFsb2ciLDY2Mzk5OiJzbm93cGxvdy10cmFja2VyIiw2NjY4NzoicmVjYXB0Y2hhLXBvcHVwIiw2ODE1NToiaW1hZ2UtZGlhbG9nIiw2OTA4MzoibWVkaXVtd2lkZ2V0cmVuZGVyZXItdGFicy1sZW50YXJ1LXN0eWxlcyIsNjk0ODY6ImNsZWFyLWNvbnZlcnNhdGlvbi1tb2RhbCIsNjk4NzQ6ImxvdHRpZS53b3JrZXIiLDY5ODgxOiJ3cm9uZy1hY2NvdW50LWRpYWxvZyIsNzExODU6ImJhc2ljLXF1b3Rlcy1zbmFwc2hvdGVyIiw3MTE5MjoicXVvdGUtdGlja2VyIiw3MTMxOToiYWxlcnRzLWNvbGxlY3Rpb24iLDcxMzk0OiJjbW9uZXljb210dy1jb3B5cmlnaHQtZGF0YS1pbXBsIiw3MjExMToicGluZS5tb25hcmNoLnY0Iiw3MzMwMDoiY29udGFjdC1icm9rZXJhZ2UtaW50ZWdyYXRpb24tZGlhbG9nIiw3NjA0MDoidHJhZGluZ3ZpZXctY29weXJpZ2h0LW5ldy1kYXRhLWltcGwiLDc3NzY0OiJ3aWRnZXQtdGFicyIsNzg3MTc6InBpbmUubW9uYXJjaC52NiIsNzg4NDE6Im1hdGNoZXJQd25lZEZhY3RvcnkiLDc4ODc3OiJwYXltZW50LW9yZGVyLWRpYWxvZyIsNzkwNDE6InRyYWRpbmd2aWV3LWNvcHlyaWdodC10cmFkZS13aXRoLWRhdGEtaW1wbCIsODA5Mzk6InRyYW5zbGF0ZWQtc3ltYm9sLWRlc2NyaXB0aW9uIiw4NDA3MDoic2hvdy1lcnJvci1kaWFsb2ciLDg1MDM4OiJsZW50YXJ1LWNvcHlyaWdodC1kYXRhLWltcGwiLDg1OTc0OiJzaWduaW4tZGlhbG9nIiw4NjAwMToicGF5d2FsbC1tYW5hZ2VyIiw4NjY5NjoibWVkaXVtLXdpZGdldC12YWx1ZXMtaW4tbGVnZW5kLXJlbmRlcmVyIiw4NjkxNDoic3Bpbm5lciIsODcxOTY6ImxpZ2h0d2VpZ2h0LW1pbmljaGFydC1zdHVkeS1kYXRhLXNvdXJjZSIsODg1OTA6Im9wZW4tcHJpY2luZyIsODg2NDA6InN1cHBvcnQtd2l6YXJkLW1haW4tcHJvYmxlbSIsOTA0MTU6InN5bXBob255LWNvbW11bmljYXRpb24iLDkwODEwOiJhZGQtbWluaS1jaGFydC1jb3B5cmlnaHQtaW1wbCIsOTA4NjQ6InVzZS11c2VyLXRoZW1lIiw5MDg4MDoicmVuZGVyLXVuc3Vic2NyaWJlLWRpYWxvZyIsOTEyOTI6InBheXdhbGwtb3BlbiIsOTI5Njg6ImNoYXRib3QiLAo5MzI0ODoiYWxlcnRzLXJlc3BvbnNlLW1vY2tzIiw5MzI3OToibWluaS1jaGFydC1iYXItYnVpbGRlciIsOTUyMDc6InNub3dwbG93LXRyYWNrZXItYmFzZSIsOTU0ODY6Im1pbmktY2hhcnQtb3ZlcmxheS1wbG90Iiw5NTc1NjoidHYtY29pbnMiLDk2MzM3OiJjb250YWN0LXRyYWRpbmctZWRpdGlvbi1kaWFsb2ciLDk3MjAyOiJnb3Byby1vcmRlci1kaWFsb2ciLDk3NTA5OiJ0cmFkaW5ndmlldy1jb3B5cmlnaHQtZGF0YS1pbXBsIiw5ODgzMDoidHdvLWZhY3Rvci1hcGkiLDk5ODA1OiJjb250YWN0LWFkdmVydGlzaW5nLWRpYWxvZyJ9W2VdfHxlKSsiLiIrezU3NzoiOWEzOTYxYzE0ZjIyOTNmOTA5ZWMiLDE1MjE6IjcyNGI1MGIwYTA4NmE4YjFlZmMwIiwxNTM0OiI3NGZmZTFlNzI1YTQ2NWQ0MzQxZSIsMTY0NjoiOGM4MDAwNWFmMjE1OGJkMDgzZGMiLDIyODQ6ImM0NGFhOTI2N2JlOGRjMWM3MTc5IiwzNDY3OiI4OTU1MGMyYjkxZGRjNDgwMjkwOSIsMzU1MjoiNGM1NTM1MTgzYjdhMDMzMGE4OWQiLDM5NjE6ImYzYjBjZWYzYWM5Y2Q4ZDExMDBkIiw0ODc2OiIyNzRkNTVhMDJkMzI0MDg3Njg3NiIsNjkzNDoiOTBlZGZlZjZjZTk4MzY5YWUwNGEiLDcyMTE6IjJmOTM0YjMwY2YzODY1MTcxNDQ2Iiw3Mjg1OiI4YmM4MjkyNjY1MjhmYTc0YWY1YyIsNzM5NzoiMDU5ZTYyMjkyNDAyMzI3MDE2YzQiLDc1MDQ6IjEyODhkMWQyOGIyZjQ3ZjdhYzQzIiw3NjA4OiI5ZGQxNDY0OTIyYzFlNjUxNTZhOCIsNzcxODoiOWExZTRkODM4ZTIyMmEzYTI3M2UiLDg0Njc6IjA4M2RkN2E1MTNkNzdkYjNkMzQ0Iiw4NjA4OiJkYTRjNjljMmFmODRmYjhmYzYyNiIsOTU5OToiZTg2NmZjNzFhNGY2OWFmZWEwOWIiLDEyMTgxOiJiNjVhNTgzNTVmZjdjYzM0OTUwZiIsMTI5NjU6IjQwNmVlNTlmYTAwOWYwZTljMjZiIiwxMzEyMzoiMzNjMDFmOWQ1MGJhM2NmZTFkYWEiLDEzMTQ4OiIzMmNjMDFkYzAxNzUxYjkxNjgyYyIsMTM3MTk6IjMzMjA4YWQwOTVjZTI4MjQwYTY4IiwxMzczMjoiNWFmMWVlYTVlMjA0ODhlMjkyMDQiLDEzOTkzOiIzYjE5OWM2YWQ4YmY1YzNjYWM2NyIsMTUwNDk6IjA4ZTA4ODhlN2Q0NWYzNzE0MTdhIiwxNTM5NDoiZmFjZjc1M2U4Y2RmYjliOTA4MzEiLDE1NzY3OiI5OGY4ZmU5NmJiNzhmZTUwOGUwNyIsMTYwNzY6IjZhNjJhNjRhNWFiZjE1MjI0M2E0IiwxNjgxMzoiN2U0NTI3YmM1NTIxOWVhM2FkNzYiLDE3Nzk3OiJiMmYyOTQ1MDAwYWNhYWYyZDE2NSIsMTc5OTE6ImEzMDdiZmUwMDIzNGRjNDE5YmZkIiwxOTAxMjoiYjc2YzU5ZmRhY2JhYmFiYWYzNDgiLDE5MzExOiI2MjhjNmQzZjc2ZGFjODgyZTgyZCIsMTk0NjM6ImNiOWE4MjU3N2NlODFiNDY5MmQzIiwxOTc2OToiYmVlM2NhZjYyMTY4YTk5YjFkZTYiLDIxMjYwOiJkMDk1NWFhZTc1Zjg3ZDNiZDQyMSIsMjMzNjQ6IjgwMmNkYWRhNzQ4NDU3Y2JmZGQ5IiwyMzc0MzoiNDczMzEzN2FmMmYyMzJhNmEzNGEiLDIzNzY5OiI2NmNlZTY1YTJhODYwYTMwNmQ4OCIsMjQ2OTg6ImJkOTU3MDczMDk1YmFiN2RhNTk2IiwyNTg1NDoiYTY3YzZkNWNmMzBlYjJjOTFjOTkiLDI2MDY2OiIwZjFmMWNiMTlhZjlmZjNhZjhjYyIsMjYxNDU6IjcyMTFmZjU4MDhmMGExOGExZTlkIiwyNjQ3MzoiZTY5MmVjNGE1MzI5Y2NlNjFhYzMiLDI2NzIzOiI4YTY4MDcyYzc3ZWMwMDI2NzkwNSIsMjc5MTM6IjI5MTg2MTIyNzIyY2YwY2NiOWRjIiwyODE3NjoiMjEzNDI4NjVlNzRmZmJlZmZmNDQiLDI4NTA3OiJlOWU1ZWVkMTA4ZGM5YjBiYjRhNyIsMzAyODg6IjU5MjA3YWEyNjA3ZWExNTk3Mjg3IiwzMDMwNDoiODk2YmUyNWFhOTIxYTgyMTRlMjQiLDMwNDIxOiI0MTJjMzE5ZGRiYWRjYzk5NWM3MSIsMzA2OTk6IjEzODZkZmFhNzhlNmU1ZjZjODdjIiwzMjEwMDoiYWNhZTg0ZjQxMDFiNDJmNGM4M2EiLDMyMzg3OiI0N2FjZTgzYzYxYTg4NDM0MWNkNiIsMzI2MTM6IjcyMzBkNzNlZGE2NDk1ZjlhOTBkIiwzMzM5MjoiNDlkMmRmNTZjODNlYjk0YzZmMGIiLDM0NjQ1OiI4NDFlYTYxNjg4ZWViYmJkNjk2YSIsMzQ4Nzk6IjFlNmNmMWY1YTkzNTg4ODFkZTY3IiwzNTU5MjoiZTI3MTFmNjViNWU0ZTQyNmM5MGQiLDM1OTgwOiJjMzQwNDJhNGExMGNiNWZiMmUzZCIsMzY5Mzg6IjU4NDU2ZGEwY2RiNGJiOWJiNDg1IiwzODM5ODoiMDI1NTBjMWE0OGFjOTM2MGNhOWEiLDM4Nzg3OiJlZWZhYjFkM2FmYmIzMzI4ZmVkNiIsMzk0NDI6IjI3NDA5NjNiNzhlZTRhNGU5NjQwIiwzOTYwOToiOGNlMGQ3OTNiMmI2MGJlN2E0ZDUiLDQwMTAxOiI0YzFiZGEyYWJiZmFiODQ3MzgyZCIsNDIxNzE6IjFjMDVkODE0N2MyMzBkODZiNGZhIiw0MjI4ODoiNDdlY2FlY2ExMDEyZWUzZTFkOGMiLDQyNzA2OiI2YjExNWU3Mzc3MjU0M2Y0YmMzMCIsNDQxNjI6IjFlNjJiYzczZGVkODU4MTJmMzQzIiw0NDc4MDoiNzlkMjA1MWQzYjg0Y2FlYWI0ZTYiLDQ1MzIyOiI4ODUxYTJkMmUxNWRiOTIxZDQ4YSIsNDYxNjk6IjE5MDM4NzljMjIyMWZjYWRjYmE4Iiw0NjIxNzoiM2Q4NjRiYjRhNzBkNGQzZDg0MGYiLDQ2NDgyOiIyNzNjYzM1MGU1NmEwM2Q4OTQyYiIsNDY4MjM6ImFiYTUxYmQxMWQyM2Q5Y2Y2MWUyIiw0Nzk2MToiN2M2OTViZWZkZDAwNzcxZmM0ZWQiLDQ4MDAyOiJiYTUxZGQ4MzYyMWIwYTQwODMwNyIsNDgxNzg6IjUzOWQ1NDZkM2RkNDk2NWM3MmRkIiw0ODQxMzoiZjNmMWMxNzJlMTU0Mjk0ZDE3NjIiLDQ4NTUyOiI5MzRjZDE0N2JhMzJhNzVmYzQ3OSIsNDg4NTQ6ImIwNzNmNGY1OWNlOWRkYzA5ZGY0Iiw0OTI2NToiYzIwOGVmODM3OWUwNzNmOTRkMTYiLDQ5ODM5OiIyNmZmZGU2OTc1MDI1MmE0ZDIyZiIsNTAxODI6ImE3YTlkNDExYWUyNzNmMzA1MTMyIiw1MTAzMToiNTM1ZjI3Yjc3NmYzOTRjN2U0M2EiLDUyNjk5OiJlODFlMmQ4Nzk1MWE2MGQ1NGU2MyIsNTI4MTE6IjI4NzAwZDQxZjQ2ODdiZTgxNTk3Iiw1MzY1MzoiMDMwYWQ1NDk5NzAxNTM0MzBmOTAiLDUzNzcwOiJiY2NkZjI4OGNhMWYyMDU0ZTE0NSIsNTM4ODE6IjNiY2MyZTRmYmEzZGJlZWM2OTEwIiw1NDQ0OToiMTk5Y2Y1Mzg4YWE3NWEzMDE2M2UiLDU0NjE1OiJhNDZkMzkzY2VjZDUwYzAyNmY5OSIsCjU1MjI5OiIyNTcyMTg4MTlmYWE2NjM5YTM4OSIsNTUzNTY6IjY1ODU5MTlkOGU5ZDllOWM3ODVjIiw1NTk2MDoiMzBlNjRmMzYxNmJlMjI1NjBjYzIiLDU1OTY5OiI0M2MzNzQ4MDE0ZGUyY2QwYmQxYyIsNTYwMDg6IjY1MTljMTQ4NWVjYjlhNmU3OTliIiw1NjE1NjoiOWQxNTg2ODA1MjE1ZjIwNTlkMTciLDU2MjU4OiIyODJlNjE0MWZjMDJhYzg1ZDBkNSIsNTcwODI6IjZmY2M2YTU1YjVmMjg0YTljMmMxIiw1NzYzOToiMzQ5Y2JmYTc4ZDYxM2NkNGZiMzUiLDU3NzE0OiIzMjU0ZDkwMDY5MTNhMjY4ZjU2OCIsNTg2MTM6IjMyNzdkZGEwYjJlYTg5Mjk2NmJiIiw1ODgxNzoiN2U2NTQzNDExYjZjMTM1YzdhOGYiLDU5NjE5OiJlZTYxN2U5MWY1YmRhMTRjNmFkMiIsNjA0NTM6IjJmMzc2ODRjYTY4ZDgyM2JkNTdkIiw2MTE4MzoiN2NiZDE2ZmJjN2M1MTkxNTkzNGYiLDYxNDQxOiJiYzllMzQ2NzQ2NmJlM2ZmN2Q0NCIsNjE1MzM6ImFlZjE3MGE2NTM0MWM2OWQ2NmM2Iiw2MjIzNDoiMjIwYjAxYTQyMmQxZGRjOWE2ZTIiLDYyNTU3OiJjZDJhYjEzZGI5NGM0YjgzYzY5YiIsNjI4MTE6ImI0NGU3NTQxZmI2OTdjYjhhNzEzIiw2MzA4ODoiMTRlZDZhMWYzZjgwZGZhZGE5MTUiLDYzMTYwOiIyYTNhMjExODVmYmNjNzA3OWRhZSIsNjQ2NDQ6IjkwOTkyYzlkMGQ1ZGM5MmM4OWI3Iiw2NDcxNToiNWY0OTE0OWNjMzJlOWVmYTE5N2IiLDY1MTAwOiJmNDIyZTFhZDA2MDE2ZGIwZDQ3YSIsNjU2MjM6ImZmNGZiNzQ4NDI1ZDJjNWI5NmQ5Iiw2NTg2MjoiOTU3NjQ3NTJjMDlmM2YxOGY4OTAiLDY1OTQ3OiIyZWUwYTcyYzFmMjhiNDkyM2JiMiIsNjYzOTk6IjNmNjg2NTdkNWZmZTI5YjIxZjYyIiw2NjY4NzoiNjYxNzRhNmJhOWFiMjdhNGMxNWYiLDY2OTMzOiJjMWIxZWQ3Zjk3NWFiZGU1NjU5YyIsNjgxNTU6ImNmYTQwM2ZkMGRlYWVlN2Y2YzIzIiw2ODMwNDoiZjY2NTk2OTI0ZGY2ZTg5MTYzYmUiLDY4NzQxOiJjYjhjMjQ0YmZiNjE0MGNjMTNiZiIsNjkwODM6ImJjNWYxZDA4OGJjZTg4MTBlNWMxIiw2OTExMzoiNWY0NDA2YWM4YjQ0MzZhZmRjMjMiLDY5MTIwOiIzMjJhOGEzMTAzZDZmYzBiMTlkZSIsNjk0ODY6IjhmYzFjNzA4OWIyYTY4NDZiYzA5Iiw2OTg3NDoiMGEyMWU4MGI0NDE5Njk5YWU4MzIiLDY5ODgxOiIwNjc3ZTE1YzI4ZGFmNWQ1ZWFmZCIsNzA1OTA6IjAxNzgzYmQ5YjI0YjE1NWM4ZTFlIiw3MDY0NDoiNDQ4NzQzZGVmMzI1ZmViNjE5NjciLDcwNzEyOiI5MjgwMjhjNDNiYTliNzA3ZTgxMSIsNzExODU6ImI0ZDIxMjJmYmZjMzA3YTFmNzcyIiw3MTE5MjoiM2Y1YmZhNTYwZjNkODY3NmFhMGUiLDcxMzAwOiJiNjcwOTQzMzk0MDMzOWRjMWY2NiIsNzEzMTk6ImZlNjMxMWI4MjJlMDc4ZjNjYzJkIiw3MTMyODoiYTQ1MDQwNTEyYWM5ZDUxZmI5ZjIiLDcxMzk0OiJlNjM5NzViYTFkMzY3ZGY3YTlkOCIsNzE0MjQ6ImVhZWZhZjU2OGRjOGYxZDE2MjI4Iiw3MjExMToiNDRlNzk2NGFiMzgxYmNiNTRkYTUiLDczMzAwOiI2Mzk1NDI2MDFmN2RmNzgzY2MwNyIsNzM0MTI6IjRjMTAyODE4ZmZlZjczMTYxZmUxIiw3MzU3MzoiYzIwZWJmZGJkOTM3Njg5NmYzOGEiLDc1NDg5OiJkOWMwOTFlMWFlYzI0M2NhYjFhNyIsNzU5MzA6IjE0M2MzYjI0MTZhNTA5ODkzN2M5Iiw3NjAzMzoiNDU3ZmM2YTlkZWE5M2FiYzY0YTYiLDc2MDQwOiI4OWE1MWI5ODhlYzQzZWQwNGVlNyIsNzc1Nzg6ImY2ZGI0NjBlZDFlOGNlMzFlYTg2Iiw3Nzc2NDoiNWE4YWM2NGU0MjNjNWIyNjk4NWQiLDc4MTA5OiI0YWViZjNiN2FiYWYzYTQzMGUzNiIsNzgzMTI6IjA5MGQ4YTAwMmI5NDNkMjhhODI2Iiw3ODcxNzoiYzNjMGFhOTUwY2MyYWJkMTRkN2EiLDc4ODQxOiIyZGY5YzY4ZTJiMjdlODU5MjBiYiIsNzg4Nzc6ImQyMDAzYmI4YjMxM2M4YmU4NTg5Iiw3OTA0MToiYmI0ZjdjYjA2OGZmYmVlOGNiYmEiLDc5OTk2OiIxYTcxYWI1ZDI2M2NkYmFhOTQ4YiIsODA3MDY6ImE1OTEzYWE2YWQ2MmQ5ZGJmMDMxIiw4MDkxNToiNjk0MDRmZGE4YWFmYzI3NDJjNTUiLDgwOTM5OiJjZWM1ZTMyYjYwZGJjNDM3OWU3NiIsODE4Njg6Ijk2YmUxZDBhNzI4NjNkY2M0N2I5Iiw4MzMxMDoiYjk5NWFjNjgwNGIyODQ0ZDlmOGIiLDgzNzgxOiJhNDMyM2IwZjAxODFlOWRkZmE2MCIsODQwNzA6IjNmZmIwMDcwNjhlMGNjN2M1MDdjIiw4NDM3MToiMjU2NTQ1MmNhZWNhYjk5ODI1NWMiLDg1MDM4OiI0YzBkNmRmMzA0NWRlNDE3MzE3OCIsODU0MzQ6ImI4NWI3NWRmOTFiMjJiYWM4ZDM5Iiw4NTYwNzoiMjJiZDhkZTNjMzVlZThmYzVhNTgiLDg1OTc0OiJhZWU2MjQ0NDA2NTU4Y2MxNTdkMyIsODYwMDE6IjA4MzcwYWRkNWIwNzgxZjk1OTI4Iiw4NjY5NjoiN2UyYTEyYmI5M2UyNTBjZTExN2EiLDg2ODYwOiI0NzQ4NzdiZTBiMjM1ZGM4Y2I0YyIsODY5MTQ6ImY2MzE0NzFmYWIwMzgzNzFiYWQwIiw4NzE5NjoiYjA4ZjJhYTI4YmY0MDY5YThmNGMiLDg3ODU4OiI2OTEzN2U2MmJiZDVlMGE2M2FmNCIsODc5OTU6IjkxMWIyNjE4MTc3OGZlY2M0YjRlIiw4ODE3MjoiM2E4MTkwNGFlOTQxMjE5MDJmZmUiLDg4NTkwOiIyZjVlMjA0YzdlM2RkOTA2ODc4ZCIsODg2NDA6IjFiNTM5OTA0NDBiMjMxYjcwZjJlIiw5MDQxNToiOGUyYWMxZWMyMmEwYTMzNjI0NTIiLDkwODEwOiJkNWNkYTY0YzNiZTkyY2M1MzA1YSIsOTA4NjQ6ImUzMThkNDFlNjQxMzFhNmQ3ODI5Iiw5MDg4MDoiOTI1MGMwZjRjNjY5M2ZmMWM5NTAiLDkxMjkyOiI2NTE2YmFiYTNhNWQ5OGU1MGJhOSIsOTI5Njg6IjRjNDUzNmQwYzcxNjIyZTk3YWEzIiw5MzI0ODoiYWZkZTU0OGRmZTA5MTE5YjY5YjkiLDkzMjc5OiJmMzNiMDVkM2ZmYzI0YTYxNTEyNiIsOTQ3MDg6IjczZDJiY2EzNzIwN2M2N2E0MWY0Iiw5NDgyNToiOGE5MGMwYzNlYmQ0MTNlYjljODEiLDk1MjA3OiI0NjVmOGFmMWFhNzJhYzNhMWMzMiIsOTUyNDQ6IjlkYTg4OWMxMzZkMjUwNmEzZDgxIiw5NTQ4NjoiYzNhYjVkN2I0YmUxMzI3ZWQ0MDMiLDk1NzU2OiJlYTIzMzE0MzUyODNkMjUzMDRhNSIsOTYzMzc6Ijg2YzNjYzYxMmM5OGY3ZTc3NDhkIiw5NzIwMjoiMzIzYzExY2RhZmRjYTMyZDRhZDciLAo5NzQ3MjoiZTgxOTU0MDVmOTkwNTVhODNjNmYiLDk3NTA5OiIyN2YzNDlhMWQ1ODQ4M2YyN2VhYSIsOTg4MzA6IjQ5NmJlZGIzZTkwNzBlZGI1OTJiIiw5OTgwNToiOTk1NWE3NzQ1Zjg0OTc0MTcxODIiLDk5ODI3OiJkMzk3NmRjMGM1Y2ZhMmMyMTQwZSJ9W2VdKyIuanMiLG4ubWluaUNzc0Y9ZT0+NDY5MDc9PT1lP2UrIi5jNWFmOGFhN2I1MDgyYjE4NzVhNS5jc3MiOjEyMzg1PT09ZT9lKyIuNzg1NjFlYmRlZjA1Y2U2NDhiNWQuY3NzIjozMjgxNj09PWU/ZSsiLjM1NWQ3NWIyMWFlNGI1MzRhODQ5LmNzcyI6NDMzMjU9PT1lP2UrIi4yNTZmYTVhNTIxM2I5Y2I3MGY1Yy5jc3MiOjkxODU1PT09ZT9lKyIuMDA5NzY0ZGE2MWJkOGM4YzQ0YmUuY3NzIjozMjYzMj09PWU/ZSsiLjU5NmU1MzQ4YTE1MzhhMThmZDRlLmNzcyI6NjI2MzA9PT1lP2UrIi41MzczMmRhZWE4MTc4NDQ3MzkzZi5jc3MiOjk5NTI3PT09ZT9lKyIuMTVjNWMyNWQyN2E1NmEwZGY3NzIuY3NzIjp7NTI4NDI6MSw4NDMwNjoxfVtlXT9lKyIuMzFkNmNmZTBkMTZhZTkzMWI3M2MuY3NzIjo5Nzc5Nz09PWU/ZSsiLmQ5ODVlZWJlNjczOTdmMDJmYTY0LmNzcyI6NTIzOTY9PT1lP2UrIi5lZDc2Y2FmMmZmZTAxNDQ2MGJhNi5jc3MiOjIwMzU0PT09ZT9lKyIuMmRkZjkzNGY4ZWRjMjgwMmQ5MGEuY3NzIjoxMzQ5Mj09PWU/ZSsiLjJjNzc3MzBkMTEyNWE0OTg1YmRjLmNzcyI6Mzc3NDY9PT1lP2UrIi4zNDUyMjdiYjE2ZTBkOGJjOWJkNS5jc3MiOjgxMDcyPT09ZT9lKyIuMjkyN2ExNzcyMzFmZGQwZTI0YzEuY3NzIjo5NDIzMj09PWU/ZSsiLmFiNjczMWI2OThhOGMyODU0YTkwLmNzcyI6MTcwODc9PT1lP2UrIi5hNWVhZWIzMGY3ZDI2OWY5N2I0MS5jc3MiOjM2MjIyPT09ZT9lKyIuZTliZTlhNzMzZTExNDczMGE0ZWEuY3NzIjo5ODA4ND09PWU/ZSsiLjc2OTQ4NzY0MDE0YWUxZDRjY2ZiLmNzcyI6MjM2MjQ9PT1lP2UrIi5kMjM5MGQxN2IxNTA5YjAxODgyNi5jc3MiOjk1MDQ9PT1lPyI5NTA0LjkwMzc3ZjdkNTk0NmNmMzI1NGYwLmNzcyI6NDc2MzI9PT1lP2UrIi4zM2QyYTM3NDVhZjQ5N2UzZGE1ZC5jc3MiOjU4MDUxPT09ZT9lKyIuYzU0NDA2NjVjM2IzMmU2YzZkZTguY3NzIjozOTA1PT09ZT8iMzkwNS42ODJlODllZjJkYzRjNzA0MjNjNi5jc3MiOjUxNTA4PT09ZT9lKyIuNzY3MjE5MjgzYzY1ZjRkNGNhNmUuY3NzIjo1MTg0PT09ZT8iNTE4NC4wZmI0NTc0Y2FjZWMxNmY2MzY1ZC5jc3MiOjExNDYxPT09ZT9lKyIuZTI3Y2I0ZWNmMzA0OTJhYzExZjYuY3NzIjo5NjU4Nz09PWU/ZSsiLjk3ZmRkNjVmMjAxMjEwNmZmMTFlLmNzcyI6MTE0MDk9PT1lP2UrIi5mZjg0Y2U0ZDUyM2QzNTQwYzdiMi5jc3MiOjg0MDg9PT1lPyI4NDA4LmRlNTM0NjYzZTA1MjA3NWJhMTJmLmNzcyI6OTQ5NDg9PT1lP2UrIi4wZmM4OGZhNjNjMDU0YThkNzY4NC5jc3MiOjgzNDg4PT09ZT9lKyIuMmEzNTM3N2ZkNTRmMGFmNDA4NzQuY3NzIjo2Nzc5OT09PWU/ZSsiLmUyNDk1NjkxY2VhMTdiM2E4MWMyLmNzcyI6MTEyMTg9PT1lP2UrIi4xMWZlN2U4ZmRhMzAxOWFhYzFhZi5jc3MiOjg2NDIzPT09ZT9lKyIuNzk3ODNhYTcyYjZlMjkyNTJkMGMuY3NzIjozNzUxMz09PWU/ZSsiLmRlMTU3NGIzMzg5ODAwYzkzZWJjLmNzcyI6NDA4MzU9PT1lP2UrIi43NmExYzc5MjNhMmM5ODZiZTlhYy5jc3MiOjcyNjY2PT09ZT9lKyIuMjIyOTE3M2JmNGQ2NzQ0ODQ2MzcuY3NzIjo5MzQyMT09PWU/ZSsiLjk1MzgxZjhlMDA0ZDBkMmZhOGNmLmNzcyI6NTQ2ODE9PT1lP2UrIi5hNzE3MTEwZTY3NDlmMzA3ZWQ2ZC5jc3MiOjMxODM3PT09ZT9lKyIuZDM2OGNhYTY0ZDQ5NGE0MDg3Y2MuY3NzIjo0OTUxOD09PWU/ZSsiLjA4MWY5NjM3Yjk0ZWU2MmE2ZTZmLmNzcyI6NzY2NT09PWU/Ijc2NjUuOWYxZjMyYjE3NzNiMDU0ZmRmMDcuY3NzIjoyNDU4MT09PWU/ZSsiLjQ1ZGYwMjE4MWM0NTA5NzMyZDIwLmNzcyI6NDUzNjg9PT1lP2UrIi45ZmYwMGEzZTM4MjEyMDI5YmE1NS5jc3MiOjI2NTkyPT09ZT9lKyIuMWM2MTIzOTAyYmM4OGViYTlkNTcuY3NzIjo3ODY1Mj09PWU/ZSsiLjRiNGUwOTdhMzAzZDIxYmM5NzgxLmNzcyI6NTAyMjE9PT1lP2UrIi5mNDlkYTJhNzI3OTc3NGFhNWZlOC5jc3MiOjM3ODY3PT09ZT9lKyIuZWM3MzFhZDEwMmRiNjc2MmU0MGMuY3NzIjoyNzUxNz09PWU/ZSsiLjczNjEzNzRkZWUyYjUyZmQxZjhlLmNzcyI6NDM2NDQ9PT1lP2UrIi4wZjdjMTQwMDE5YTY3ZmQ1MGJlNi5jc3MiOjE4NDcyPT09ZT9lKyIuZDk0MTliNmRjYjY0Yzg4NTY0YzEuY3NzIjoyNTgwOT09PWU/ZSsiLjhkZjRlYTdiMDk5YWRjMTVkMDY2LmNzcyI6ZSsiLiIrezY0NjoiZWUyOGIyYjE5Y2M4ODMyNzY0YjUiLDY1NzoiMjlkZGQ0ZjA0ZTZlYzUwZGE3MGIiLDEyMTE6IjBlZjRkMTJkNzE4OWZjYTg5YzU0IiwxNTA5OiIyN2M0ZjAxMWMyNTk3YWRkNzI3NiIsMTY3ODoiOWU5OWM2YzdjMTQyNDRmYWU3NGUiLDIzMzE6ImE0MTczYWZhMTVjYTg1YWQyZjY1IiwzMzIzOiIzZGE3OThkYTM1ODA2Zjg2NzlhMCIsNDA0MjoiZmE5NDk2ODBhMmFkZjllMWFiODQiLDQ0Nzc6IjUxMmMwNDcwOWEzMjU5YmQxMTI0Iiw0OTI5OiI2ZGQ2MWQ1YmY5NmFiMjM0M2Q5OCIsNDk2OToiYzNhZGIxYTEwOGJmMmJhZjljYjMiLDU2ODk6IjA3ZDBkODUyNGJhNGI5YWY0YWRiIiw2MDI4OiJhNjM2ZTgyMDg4YTM5NDM1M2RmZSIsNjA4MjoiZTAyYjg4ZjU0ZjY4Y2JhNDI0NzEiLDY0NDU6ImFjNjM1YmExNTE5NGRmNDg0NjE2Iiw2NTgzOiJiY2M1NzQzZTIzNmZmYzViN2NjZiIsNjYwNToiMWU4OTQyMzE5YjQ4NWFmYzFmNzUiLDcxNjM6ImVjNGU3YmNjMGM3OWUyZTYwNzRkIiw3Mzg3OiIzZDdkODY0MDIyYzg0ZjkyOGFkYSIsNzQ0NToiN2RhOTY2YTQ0MDE2YWU3YTAyZjgiLDc4OTk6IjQ3YWFkMDVlYWEyMGJmMzAxMmY3Iiw4NTc5OiI2ZjY1MThiZTQyOTM4MjI3ODZlMCIsOWUzOiJmODZlMWZkMTA1ZDhjYzdhZWNmNCIsOTE0MDoiNTEyODM4ZDdlNmUxMDdmMDczOGQiLDk3NDQ6IjcwYjUxMjY0OTVmN2FkY2NhZjJmIiwxMDM2NjoiMDdlMjBlN2JiZWUyN2M5ZDVmYmMiLDEwMzg1OiI4NzQ0ZDRmODY3MGRhYzMxMGQxZiIsCjExMDA4OiI1MmFmYTVlZWQ0YTFjZjY2YmVkNiIsMTEyNTc6ImU3OWYwZjc5OTU4ODQwNDczZDMxIiwxMTQ4OToiNTQ3ZTMwM2UyOTJmNTQ4MTRkYjQiLDExNzI1OiIzMWU4MGIyM2QxNTE2MjIzMmM0OCIsMTIwNTE6ImI4NGJlNzgxYmI5MGQ0NTdmMWRmIiwxMjU2NToiMWQ0MDUzNjc5N2EyOTQxOWM2NmUiLDEzMzkyOiIwNzNiYTdlNzI1OTBkMDI5OTdjYyIsMTQxOTM6ImZmZTZmMWY3M2RjYjE4ZjI5YjU1IiwxNDYyNToiYWRhNjEyY2NlZmRlZjc3OWUyOTUiLDE1NTI2OiJjODI5YzUyZmVkMjU5ODU1YmI5NiIsMTY0MjE6IjMxZDZjZmUwZDE2YWU5MzFiNzNjIiwxNzY5MzoiYjUyOTMzNGM4Yzc2MGVlMzUxZGEiLDE4MTYyOiJkMDYxODRiYzk3MWVjYmRkYTNiMyIsMTg0MDA6IjRmMzFlN2Q5ODBiMDQ4ZTk1NzJjIiwxOTUxMzoiODc0OWVkY2U2NGE3ZTJkZTI1ODMiLDE5NTk1OiJkOTYyYWI3NWJkM2UxYmFhNWFhZSIsMTk1OTg6Ijc4ZTJkYjIxYjY5ZjE0NTNkNzBjIiwxOTc4NzoiYmJiNjZmYTBmZDJiZDA0ZDA4NzUiLDIwMjcxOiIwYzE0ZjEyNmUzOGY2YjQ2MDc3ZSIsMjA5NzE6ImQ0NmEzNzgwYjQwMDVkOTQ3ZDc0IiwyMDk4NjoiNDBlMzRlMjFiM2Q4MTlkZjQ5ZTUiLDI0NDA4OiI4NmU0NWVjZjA4ODRiZTZhNmVlMyIsMjU2OTg6Ijc2MDVhNTgyM2NhNmQyNWZlZTQ2IiwyNzU0OToiM2VhNjQ3NWM3OWFiOGUxMWU5MDUiLDI3NzM2OiIyOTNkOTQ3N2MxOTU0ZjE5NzdhNyIsMjgwMTc6ImZlNzk4ZjRkN2NjZjAyNGJiYjE1IiwyOTI5NjoiYjQwOGYyODIyZmE1Yjk1NjliYWMiLDI5MzI3OiI1YTYyM2ZlNDk4ODJiOWNmNTFlNyIsMjk1MzY6IjczNmY0NzFhOGQ2NGE4MTIyZmQ4IiwyOTk0MzoiMmYzMzczM2RkNjQ4YjgyYzQ2ZmIiLDMwMzczOiJkZTMyYTNjZGNhZTEyYjE1ZDZkZiIsMzA3NDU6ImU3OGQ4MWJmMjUwY2Q2ZTQzMDY4IiwzMDk2MDoiNTQ3MTA5OGJkMjdmOTBmMzExNWQiLDMxMjYyOiIyNjBiNjE4NzhlMDU5YTQyZTc5YSIsMzE1NTc6ImU2YWVmNTFmMTA5MzQyYjU5OTFjIiwzMjE3NjoiN2M1N2M5ODkzM2I4Y2ZkM2Y4ZTciLDMyNzQ4OiIyZGQxOGUyMDlhNzcyZWE0ZjFkNyIsMzMxMjA6IjNlNmQxYzMzZDZjNTI1YzA3NzFmIiwzMzIyMToiZjQyY2M1NWE5MGM5ODg0MTIxZTUiLDMzMzY4OiJmMTVkZmNiYzBmNzE5NmQ3ZDY3NiIsMzM1NTM6IjBkZjliMzUyY2JjNmZhMDNjY2E4IiwzNDc1ODoiODgwZDk3M2JmNmNiYmM0ODIxNzQiLDM1MTk4OiIyMmE1NjU1ZjUzZTA5MWEyZmI3MyIsMzU2MzA6IjhiOWVlMjVjNWUyZDIzNGQ5OTUxIiwzNjM1NjoiNjhlNjZiZjc0ZmRiMjQzZDQzMmEiLDM2NTQ1OiJmYzRlYjM3MTEyZTM1ZTA4ZDAyYyIsMzc3Njc6IjQ0MDI5NjA2YzczYTY4M2U3YjBjIiwzODI2MjoiYjQwZTdlNzgwNjQxNjNjZGMwZDIiLDM4NDExOiI1ZGI0NGViMzliZDBiZGM5YTA3OCIsMzg4Njg6IjVlZTc0MWZkNjM4NjY2ZDQ0NWRjIiwzOTc4NjoiMmIwMGRjMjFlZjk0NjAwZTA5NjgiLDQwMjIwOiJlMGJlMzc5NzM0NWM2ZTI0Y2VjYSIsNDA4Njc6IjQ5NTZjNjE1ZmRlYWQ4MWRjZDExIiw0MDkxNDoiYThkZDY5NmJlN2RkZTZjZTZkZGIiLDQxNTg4OiJhNGQxZmJiZmJjMTNiYWU3NjBkMCIsNDM0NDE6ImFjNjAzNTBjODZjNTc4MTFmMjIzIiw0NDI1MzoiODQwNWJhZjMzYzNlZmQwMTUyOGUiLDQ1OTQ1OiI1YzllY2NkMjgxY2E3ZjJkNzllMCIsNDYwMzQ6IjdmZTVkNjU1NWQzNTIzODg3MjE0Iiw0NjU5MToiOGQwMzMzOTRiODNiNjE2YmYwNjYiLDQ3MDIxOiJlZDExMzQ5N2VmMzJhNjUyNmU1MCIsNDc1NTE6IjhkMmNlNTI0YjM4ZTRhOTI1NDdmIiw0NzU3OToiZGMzODc5MTkxYzA0YjkzOGZkM2YiLDQ4ODY0OiJjN2IyYWY5OGQ5MTRlYmQ4MzI3YyIsNDk1MzY6ImNiYTIwN2E1YmFjZjdhMTUzYTNmIiw0OTU4ODoiMTU0MjZiMjIyNzk1NjFkOTg4MGIiLDUwMzI1OiI1NzdjZDExNDYxNjJiY2YwNWMyYiIsNTA2MjI6IjVmMDVlZjUxYWIwMjM4ZGFhMzZhIiw1MDgwMDoiODBmOTBlMDQ0OWVmMjBmMzg5ODYiLDUxMDMwOiJiN2Y1M2VkNjM1YjA5MmZkMTY5MSIsNTEyMTM6IjZkYjE4ZjU0NWU4ZmNhODU5MWQzIiw1MTMwOToiNmYwMmVhYzE0YmYwMjJkYzJhNDciLDUxNjgyOiIxNWQwMTM0NzJiODVjZDk4NTE3YSIsNTE4ODA6ImNmODA5NmFkOWNmNjY1ZThmM2JiIiw1MjA2NToiZGU5ZWRkYjMzOWFjNzdkMWRiZjgiLDUyMTc4OiI0ZDU2MmEyNWFkM2MxMzc5MjFlMSIsNTI2ODA6IjhlZmE2YjRkOTk4MTg2ZjM5Y2JhIiw1MzMyOToiMDNhNmQzNDAzNWMxNzY4ZmI3ZDUiLDUzNTIxOiJkYzliYzcwYTZhODBmMmM5NGY1NSIsNTM3MTM6IjQ5ZDg4M2M3N2IzZDc0ZjQ3YzEyIiw1NDA5MzoiZDgwYzBmZmIyMzQ1N2ZmODVlZjQiLDU0MzEwOiJjZGQwMjJmZGFmZTQ0ZmMyYzU4OSIsNTYyMTM6IjAwZDI1ZmU4YWQxNjllMzE4YjJlIiw1NjI1MjoiMmI4MmY1NzViYTFjZWI1NGZhMjkiLDU3MzAwOiJjMWY1ZmM0ZTE1OTkwNjg1ZmI3MyIsNTc1MDQ6ImM3Zjc1ZjYwMzlmN2NhNDc4YjJlIiw1ODM4NDoiNjZhNjBiNWViYjNlMDQ2ZjgyZDEiLDU4OTMzOiJiM2FlNTFiOWIzODNmM2FjOTU2NCIsNTkzNTA6ImI2NjM2M2QxOTk4NDFlYmY4Yjg2Iiw1OTQzNzoiYjcyYzUwYjUwNWYxMmM5OWM3MmUiLDU5OTQxOiJhZjIyZjNhYjgzY2RmY2MzOTM1YSIsNjAwNjI6IjQ5NTQ0NGE3ZmFjMTczZmIyOGNkIiw2MTgyMToiZjY0ZDFlMmM2YjFlMzBkZmQ1NGUiLDYyNjAwOiI2MTA2MzU2Y2I4MTZmYjc0YjE3YiIsNjI3OTA6IjBjZDJiOTE3ZjdhNzE2OTBlNzQ1Iiw2MjgwNjoiYWU3Yjk5MmJkNTMxZTc2ZjhlNzYiLDY0MTk1OiI3MjE1MWJhMmU2NzM0NzNmNzJhNCIsNjQ2NDM6IjVlZjNiZGJhYTBjNmM0ODg5ZjRlIiw2NDY3NDoiNjZkNWEzY2I1Zjg0MDYzMzQ0N2EiLDY1NTI4OiI5ZGNjMTkxYTRhYjQ4N2QwYjEwYyIsNjU4NTY6IjZjZjI3MzA2NDUxNmNkODEyOWMwIiw2NjI3MDoiMDBmN2UwMjczMGI0NTZhYmYyNmQiLDY2NDczOiIyMTgyMmViNWJhNmQ4YmQ1MGM2ZSIsNjcyMTI6IjdjYTEyYWI3ZWNjZjFjNDhhZWExIiw2NzU0MzoiZGNkYmE4OTk0OWMwMGJmNTc1ZDYiLAo2ODk2NDoiOTQyNWI1ODczMGRmMTM4MDZmZjYiLDY5ODA5OiI0MjQ1N2JmYjY1MTIyNTZiMmMwOCIsNzA4MTU6IjNjZTZkNmEyNjg2ZTg4OTA3YWIzIiw3MTQxNDoiZTM0NWVkNzUyZDNhMjBkMTk0NjciLDcxNDgyOiIxZjBhZGE5MTYwZjNmOWZjZWMwMyIsNzIyNDk6Ijg0YmM3ODY3ZjVmMTA0YmJhZDI2Iiw3MjY4MDoiZjc5YTU3MTYwY2Q3MjRhZGZkZmMiLDcyNzYxOiI3NWEzYjI5MzA0YzgxZDYyY2Y3YyIsNzI5MDI6Ijc3NmRiYjQ0NjlkMTk1NGY1YzZhIiw3MzQyNToiYWVhYjkxMjllOGRkMzliNWEyNDQiLDczNTUxOiIzMjgyZTA1MjVhOTM1ODIwYjRmNyIsNzQwMTE6ImUzMWQ4ZjkyNDEzZjBiZWNhOTg0Iiw3NDEyNjoiNzliNTYzYjM3NWZhZDcxMTIzYTQiLDc0MjMzOiIxZTc3NjFhODFjNGVjNWY5OTg3NiIsNzQzODE6ImZkNmI5MDE1M2M2YzE2YjJiYzlhIiw3NDQyMjoiM2Q3ODg1YjQxNDJjZjVmMDhiMDgiLDc0NjM2OiJiMGRlYTE2NWY0NDVmNDA5MDlmYSIsNzQ4MzA6IjRmNTBkMDBmYmY5NWMxZTI5Njk1Iiw3NTIxNzoiOGJmZDIzNDM1NDg2MzEzMGUyZTAiLDc2MzI5OiJjNTdkMTZkMzUwZGQ2ZjRhYTdhZCIsNzY5MTI6ImYwNTUzYzUyODNjOWRhMTI1YjQ5Iiw3ODIzNzoiZTg5NmE4YmVhOTI1ZDY1ZjZlZmYiLDc4NDcxOiIwNTJmOTYzMzAzNDYxOGIwMTU2MSIsNzg4OTk6ImJiNWY4MWQ5NGJlNWI1YTdiYmQxIiw4MDczMToiZjk2ODM4NWJlMmUyMDA2MmJlZGEiLDgwNzgyOiI5NzVmYjQxZDQyYWUyZDUxYzA4YiIsODEwMDE6ImFmZjg0YmMwNGEwM2IxN2I1NDZkIiw4MTUyOToiOTY1MjRiMDM5M2NmODY5NWQ5Y2YiLDgxOTAzOiIyY2E2NzZiYmU0NjM4MmU2YzFmZiIsODIyNzE6ImMwMjFiYWU0NDQ2NjVhMzQ4NTNmIiw4MjU4NjoiZGU5YTJlYTUxNWI5NjBlMDU0N2UiLDgzNTI5OiJkOTZlYTVjMWY5YzgzNzVmYmMxOCIsODQ5NDg6IjFmMDVkMmU2Mzg3NzkzMWE0YTExIiw4NzQ3NDoiYmUyOGY5ZTAwM2UwYzQ3M2I5MWQiLDg3NzQwOiI1ZTFhNzY3OTBlZTQ5YTM3OTVmYSIsODgzODU6IjA4NTUxZjIwMGZlYTBmZDAzY2Q1Iiw4OTU1ODoiOTgxYTM0YjE5YjQxZmFkOTJiODgiLDkwOTYwOiJlYzk0MWFjY2ZhYTNlZDJjZDZlMiIsOTEyMDA6IjlhNTJmOWY5MThmYzE5NmJhNDRhIiw5MTY3ODoiZTMwZDRjZGNkYzY4ODM3ZmY0ZDEiLDkzNDE2OiI5MDgxOGQ3M2UwZTNhOWE5ZmUyYSIsOTQwNTQ6ImQ1MGU5M2VmNDNjMTg0YTUxM2VmIiw5NTE1ODoiNTNiZTZlZTY2NGU1MDUxODQ1ZjgiLDk3NjYwOiJhZTlmM2Q0ZTU2OTZmNWQxMTlhNyIsOTk1OTM6ImI0ZjhhZTE3YzBmYjY4ZjJmYjAwIiw5OTkwODoiZjNmNzJmMmU5NzNmYmQ5ZGE5MWUifVtlXSsiLmNzcyIsbi5nPWZ1bmN0aW9uKCl7aWYoIm9iamVjdCI9PXR5cGVvZiBnbG9iYWxUaGlzKXJldHVybiBnbG9iYWxUaGlzO3RyeXtyZXR1cm4gdGhpc3x8bmV3IEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCl9Y2F0Y2goZSl7aWYoIm9iamVjdCI9PXR5cGVvZiB3aW5kb3cpcmV0dXJuIHdpbmRvd319KCksbi5vPShlLGEpPT5PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxhKSxkPXt9LGY9InRyYWRpbmd2aWV3OiIsbi5sPShlLGEsYyxiKT0+e2lmKGRbZV0pZFtlXS5wdXNoKGEpO2Vsc2V7dmFyIHQscjtpZih2b2lkIDAhPT1jKWZvcih2YXIgcz1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0Iiksbz0wO288cy5sZW5ndGg7bysrKXt2YXIgaT1zW29dO2lmKGkuZ2V0QXR0cmlidXRlKCJzcmMiKT09ZXx8aS5nZXRBdHRyaWJ1dGUoImRhdGEtd2VicGFjayIpPT1mK2Mpe3Q9aTticmVha319dHx8KHI9ITAsKHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0IikpLmNoYXJzZXQ9InV0Zi04IixuLm5jJiZ0LnNldEF0dHJpYnV0ZSgibm9uY2UiLG4ubmMpLHQuc2V0QXR0cmlidXRlKCJkYXRhLXdlYnBhY2siLGYrYyksdC5zcmM9ZSwwIT09dC5zcmMuaW5kZXhPZih3aW5kb3cubG9jYXRpb24ub3JpZ2luKyIvIikmJih0LmNyb3NzT3JpZ2luPSJhbm9ueW1vdXMiKSksZFtlXT1bYV07dmFyIF89KGEsYyk9Pnt0Lm9uZXJyb3I9dC5vbmxvYWQ9bnVsbCxjbGVhclRpbWVvdXQobCk7dmFyIGY9ZFtlXTtpZihkZWxldGUgZFtlXSx0LnBhcmVudE5vZGUmJnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KSxmJiZmLmZvckVhY2goKGU9PmUoYykpKSxhKXJldHVybiBhKGMpfSxsPXNldFRpbWVvdXQoXy5iaW5kKG51bGwsdm9pZCAwLHt0eXBlOiJ0aW1lb3V0Iix0YXJnZXQ6dH0pLDEyZTQpO3Qub25lcnJvcj1fLmJpbmQobnVsbCx0Lm9uZXJyb3IpLHQub25sb2FkPV8uYmluZChudWxsLHQub25sb2FkKSxyJiZkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHQpfX0sbi5yPWU9PnsidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLnRvU3RyaW5nVGFnJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxTeW1ib2wudG9TdHJpbmdUYWcse3ZhbHVlOiJNb2R1bGUifSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSxuLm5tZD1lPT4oZS5wYXRocz1bXSxlLmNoaWxkcmVufHwoZS5jaGlsZHJlbj1bXSksZSksbi5qPTE5NTA4LCgoKT0+e3ZhciBlO24uZy5pbXBvcnRTY3JpcHRzJiYoZT1uLmcubG9jYXRpb24rIiIpO3ZhciBhPW4uZy5kb2N1bWVudDtpZighZSYmYSYmKGEuY3VycmVudFNjcmlwdCYmIlNDUklQVCI9PT1hLmN1cnJlbnRTY3JpcHQudGFnTmFtZS50b1VwcGVyQ2FzZSgpJiYoZT1hLmN1cnJlbnRTY3JpcHQuc3JjKSwhZSkpe3ZhciBjPWEuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpO2lmKGMubGVuZ3RoKWZvcih2YXIgZD1jLmxlbmd0aC0xO2Q+LTEmJighZXx8IS9eaHR0cChzPyk6Ly50ZXN0KGUpKTspZT1jW2QtLV0uc3JjfWlmKCFlKXRocm93IG5ldyBFcnJvcigiQXV0b21hdGljIHB1YmxpY1BhdGggaXMgbm90IHN1cHBvcnRlZCBpbiB0aGlzIGJyb3dzZXIiKTtlPWUucmVwbGFjZSgvXmJsb2I6LywiIikucmVwbGFjZSgvIy4qJC8sIiIpLnJlcGxhY2UoL1w/LiokLywiIikucmVwbGFjZSgvXC9bXlwvXSskLywiLyIpLG4ucD1lfSkoKSwKbi5nLmxvY2F0aW9uJiZuLnAuc3RhcnRzV2l0aChuLmcubG9jYXRpb24ub3JpZ2luKSYmKG4ucD1uLnAuc2xpY2Uobi5nLmxvY2F0aW9uLm9yaWdpbi5sZW5ndGgpKSwoKCk9Pntjb25zdCBlPW4udTtuLnU9YT0+ZShhKS5yZXBsYWNlKCJfX0xBTkdfXyIsbi5nLmxhbmd1YWdlKX0pKCksKCgpPT57dmFyIGU9bi5lLGE9T2JqZWN0LmNyZWF0ZShudWxsKTtmdW5jdGlvbiBjKGEsZCl7cmV0dXJuIGUoYSkuY2F0Y2goKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihmKXt2YXIgYj1mdW5jdGlvbigpe3NlbGYucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25saW5lIixiLCExKSwhMT09PW5hdmlnYXRvci5vbkxpbmU/c2VsZi5hZGRFdmVudExpc3RlbmVyKCJvbmxpbmUiLGIsITEpOmYoZDwyP2MoYSxkKzEpOmUoYSkpfTtzZXRUaW1lb3V0KGIsZCpkKjFlMyl9KSl9KSl9bi5lPWZ1bmN0aW9uKGUpe2lmKCFhW2VdKXthW2VdPWMoZSwwKTt2YXIgZD1mdW5jdGlvbigpe2RlbGV0ZSBhW2VdfTthW2VdLnRoZW4oZCxkKX1yZXR1cm4gYVtlXX19KSgpLCgoKT0+e2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQpe3ZhciBlPWU9Pm5ldyBQcm9taXNlKCgoYSxjKT0+e3ZhciBkPW4ubWluaUNzc0YoZSksZj1uLnArZDtpZigoKGUsYSk9Pntmb3IodmFyIGM9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxpbmsiKSxkPTA7ZDxjLmxlbmd0aDtkKyspe3ZhciBmPSh0PWNbZF0pLmdldEF0dHJpYnV0ZSgiZGF0YS1ocmVmIil8fHQuZ2V0QXR0cmlidXRlKCJocmVmIik7aWYoInN0eWxlc2hlZXQiPT09dC5yZWwmJihmPT09ZXx8Zj09PWEpKXJldHVybiB0fXZhciBiPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzdHlsZSIpO2ZvcihkPTA7ZDxiLmxlbmd0aDtkKyspe3ZhciB0O2lmKChmPSh0PWJbZF0pLmdldEF0dHJpYnV0ZSgiZGF0YS1ocmVmIikpPT09ZXx8Zj09PWEpcmV0dXJuIHR9fSkoZCxmKSlyZXR1cm4gYSgpOygoZSxhLGMsZCxmKT0+e3ZhciBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtiLnJlbD0ic3R5bGVzaGVldCIsYi50eXBlPSJ0ZXh0L2NzcyIsYi5vbmVycm9yPWIub25sb2FkPWM9PntpZihiLm9uZXJyb3I9Yi5vbmxvYWQ9bnVsbCwibG9hZCI9PT1jLnR5cGUpZCgpO2Vsc2V7dmFyIHQ9YyYmKCJsb2FkIj09PWMudHlwZT8ibWlzc2luZyI6Yy50eXBlKSxyPWMmJmMudGFyZ2V0JiZjLnRhcmdldC5ocmVmfHxhLG49bmV3IEVycm9yKCJMb2FkaW5nIENTUyBjaHVuayAiK2UrIiBmYWlsZWQuXG4oIityKyIpIik7bi5jb2RlPSJDU1NfQ0hVTktfTE9BRF9GQUlMRUQiLG4udHlwZT10LG4ucmVxdWVzdD1yLGIucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpLGYobil9fSxiLmhyZWY9YSwwIT09Yi5ocmVmLmluZGV4T2Yod2luZG93LmxvY2F0aW9uLm9yaWdpbisiLyIpJiYoYi5jcm9zc09yaWdpbj0iYW5vbnltb3VzIiksYz9jLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGIsYy5uZXh0U2libGluZyk6ZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChiKX0pKGUsZixudWxsLGEsYyl9KSksYT17MTk1MDg6MH07bi5mLm1pbmlDc3M9KGMsZCk9PnthW2NdP2QucHVzaChhW2NdKTowIT09YVtjXSYmezY0NjoxLDY1NzoxLDEyMTE6MSwxNTA5OjEsMTY3ODoxLDIzMzE6MSwzMzIzOjEsMzkwNToxLDQwNDI6MSw0NDc3OjEsNDkyOToxLDQ5Njk6MSw1MTg0OjEsNTY4OToxLDYwMjg6MSw2MDgyOjEsNjQ0NToxLDY1ODM6MSw2NjA1OjEsNzE2MzoxLDczODc6MSw3NDQ1OjEsNzY2NToxLDc4OTk6MSw4NDA4OjEsODU3OToxLDllMzoxLDkxNDA6MSw5NTA0OjEsOTc0NDoxLDEwMzY2OjEsMTAzODU6MSwxMTAwODoxLDExMjE4OjEsMTEyNTc6MSwxMTQwOToxLDExNDYxOjEsMTE0ODk6MSwxMTcyNToxLDEyMDUxOjEsMTIzODU6MSwxMjU2NToxLDEzMzkyOjEsMTM0OTI6MSwxNDE5MzoxLDE0NjI1OjEsMTU1MjY6MSwxNjQyMToxLDE3MDg3OjEsMTc2OTM6MSwxODE2MjoxLDE4NDAwOjEsMTg0NzI6MSwxOTUxMzoxLDE5NTk1OjEsMTk1OTg6MSwxOTc4NzoxLDIwMjcxOjEsMjAzNTQ6MSwyMDk3MToxLDIwOTg2OjEsMjM2MjQ6MSwyNDQwODoxLDI0NTgxOjEsMjU2OTg6MSwyNTgwOToxLDI2NTkyOjEsMjc1MTc6MSwyNzU0OToxLDI3NzM2OjEsMjgwMTc6MSwyOTI5NjoxLDI5MzI3OjEsMjk1MzY6MSwyOTk0MzoxLDMwMzczOjEsMzA3NDU6MSwzMDk2MDoxLDMxMjYyOjEsMzE1NTc6MSwzMTgzNzoxLDMyMTc2OjEsMzI2MzI6MSwzMjc0ODoxLDMyODE2OjEsMzMxMjA6MSwzMzIyMToxLDMzMzY4OjEsMzM1NTM6MSwzNDc1ODoxLDM1MTk4OjEsMzU2MzA6MSwzNjIyMjoxLDM2MzU2OjEsMzY1NDU6MSwzNzUxMzoxLDM3NzQ2OjEsMzc3Njc6MSwzNzg2NzoxLDM4MjYyOjEsMzg0MTE6MSwzODg2ODoxLDM5Nzg2OjEsNDAyMjA6MSw0MDgzNToxLDQwODY3OjEsNDA5MTQ6MSw0MTU4ODoxLDQzMzI1OjEsNDM0NDE6MSw0MzY0NDoxLDQ0MjUzOjEsNDUzNjg6MSw0NTk0NToxLDQ2MDM0OjEsNDY1OTE6MSw0NjkwNzoxLDQ3MDIxOjEsNDc1NTE6MSw0NzU3OToxLDQ3NjMyOjEsNDg4NjQ6MSw0OTUxODoxLDQ5NTM2OjEsNDk1ODg6MSw1MDIyMToxLDUwMzI1OjEsNTA2MjI6MSw1MDgwMDoxLDUxMDMwOjEsNTEyMTM6MSw1MTMwOToxLDUxNTA4OjEsNTE2ODI6MSw1MTg4MDoxLDUyMDY1OjEsNTIxNzg6MSw1MjM5NjoxLDUyNjgwOjEsNTI4NDI6MSw1MzMyOToxLDUzNTIxOjEsNTM3MTM6MSw1NDA5MzoxLDU0MzEwOjEsNTQ2ODE6MSw1NjIxMzoxLDU2MjUyOjEsNTczMDA6MSw1NzUwNDoxLDU4MDUxOjEsNTgzODQ6MSw1ODkzMzoxLDU5MzUwOjEsNTk0Mzc6MSw1OTk0MToxLDYwMDYyOjEsNjE4MjE6MSw2MjYwMDoxLDYyNjMwOjEsNjI3OTA6MSw2MjgwNjoxLDY0MTk1OjEsNjQ2NDM6MSw2NDY3NDoxLDY1NTI4OjEsNjU4NTY6MSw2NjI3MDoxLDY2NDczOjEsNjcyMTI6MSw2NzU0MzoxLDY3Nzk5OjEsNjg5NjQ6MSw2OTgwOToxLDcwODE1OjEsNzE0MTQ6MSw3MTQ4MjoxLDcyMjQ5OjEsNzI2NjY6MSw3MjY4MDoxLDcyNzYxOjEsNzI5MDI6MSw3MzQyNToxLDczNTUxOjEsCjc0MDExOjEsNzQxMjY6MSw3NDIzMzoxLDc0MzgxOjEsNzQ0MjI6MSw3NDYzNjoxLDc0ODMwOjEsNzUyMTc6MSw3NjMyOToxLDc2OTEyOjEsNzgyMzc6MSw3ODQ3MToxLDc4NjUyOjEsNzg4OTk6MSw4MDczMToxLDgwNzgyOjEsODEwMDE6MSw4MTA3MjoxLDgxNTI5OjEsODE5MDM6MSw4MjI3MToxLDgyNTg2OjEsODM0ODg6MSw4MzUyOToxLDg0MzA2OjEsODQ5NDg6MSw4NjQyMzoxLDg3NDc0OjEsODc3NDA6MSw4ODM4NToxLDg5NTU4OjEsOTA5NjA6MSw5MTIwMDoxLDkxNjc4OjEsOTE4NTU6MSw5MzQxNjoxLDkzNDIxOjEsOTQwNTQ6MSw5NDIzMjoxLDk0OTQ4OjEsOTUxNTg6MSw5NjU4NzoxLDk3NjYwOjEsOTc3OTc6MSw5ODA4NDoxLDk5NTI3OjEsOTk1OTM6MSw5OTkwODoxfVtjXSYmZC5wdXNoKGFbY109ZShjKS50aGVuKCgoKT0+e2FbY109MH0pLChlPT57dGhyb3cgZGVsZXRlIGFbY10sZX0pKSl9fX0pKCksbi5pMThuZXh0PShlLGE9e30sYyxkPW4uZy5sYW5ndWFnZSk9PntpZihudWxsPT09ZSl7aWYoQXJyYXkuaXNBcnJheShjKSlyZXR1cm4gY1t2b2lkIDA9PT1hLmNvdW50PzA6bi5fcGx1cmFsW2RdKGEuY291bnQpXS5yZXBsYWNlKC97KFx3Kyl9L2csKChlLGMpPT52b2lkIDAhPT0oYS5yZXBsYWNlfHxhKVtjXT8oYS5yZXBsYWNlfHxhKVtjXTplKSk7aWYoIm9iamVjdCI9PXR5cGVvZiBjKXJldHVybiBjW24uZy5sYW5ndWFnZV0/bi5pMThuZXh0KG51bGwsYSxjW24uZy5sYW5ndWFnZV0pOm4uaTE4bmV4dChudWxsLGEsYy5lbiwiZW4iKX1lbHNlIGlmKGMmJmUpe2NvbnN0IGQ9YCR7ZX0ke2EuY29udGV4dD9gXyR7YS5jb250ZXh0fWA6IiJ9YDtpZihjW2RdKXJldHVybiBuLmkxOG5leHQobnVsbCxhLGNbZF0pfXJldHVybiJudW1iZXIiPT10eXBlb2YgZT9lLnRvU3RyaW5nKCk6InN0cmluZyIhPXR5cGVvZiBlPyIiOmV9LCgoKT0+e24uYj0idW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50JiZkb2N1bWVudC5iYXNlVVJJfHxzZWxmLmxvY2F0aW9uLmhyZWY7dmFyIGU9ezE5NTA4OjB9O24uZi5qPShhLGMpPT57dmFyIGQ9bi5vKGUsYSk/ZVthXTp2b2lkIDA7aWYoMCE9PWQpaWYoZCljLnB1c2goZFsyXSk7ZWxzZSBpZigvXigxKDAzKDY2fDg1KXwxKDQoMDl8NjF8ODkpfDAwOHwyMTh8MjU3fDcyNSl8MigwNTF8MTF8Mzg1fDU2NSl8OCgxNjJ8NDAwfDQ3Mil8OSg1KDA4fDEzfDk1fDk4KXw3ODcpfDNbMzRdOTJ8KDQxfDc2KTkzfDQ2MjV8NTA5fDU1MjZ8NjQyMXw2Nzh8NzA4Nyl8MigwKFsyOV03MXwzNTR8OTg2KXw3KDUxN3w1NDl8NzM2KXw5KDI5NnwzMjd8NTM2fDk0Myl8MzMxfDM2MjR8NDQwOHw0NTgxfDU2OTh8NTgwOXw2NTkyfDgwMTcpfDMoMCgzNzN8NzQ1fDk2MCl8MSgyNjJ8NTU3fDgzNyl8MigxNzZ8NjMyfDc0OHw4MTYpfDMoMTIwfDIyMXwyM3wzNjh8NTUzKXw2KDIyMnwzNTZ8NTQ1KXw3KFs3OF02N3w1MTN8NzQ2KXw4KDI2Mnw0MTF8ODY4KXw0NzU4fDUxOTh8NTYzMHw5MDV8OTc4Nil8NCgwKDIyMHw0Mnw4MzV8ODY3fDkxNCl8MygzMjV8NDQxfDY0NCl8NigwMzR8NTkxfDkwNyl8NygwMjF8NTUxfDU3OXw2MzIpfDkoNSgxOHwzNnw4OCl8Mjl8NjkpfDE1ODh8NDI1M3w0Nzd8NTM2OHw1OTQ1fDg4NjQpfDUoMCgyMjF8MzI1fDYyMnw4MDApfDEoMDMwfDIxM3wzMDl8NTA4fDY4Mnw4NHw4ODApfDIoMDY1fDE3OHwzOTZ8NjgwfDg0Mil8MygzMjl8NTIxfDcxMyl8NCgwOTN8MzEwfDY4MSl8NigyMTN8MjUyfDg5KXw4KDA1MXwzODR8OTMzKXw5KDM1MHw0Mzd8OTQxKXw3MzAwfDc1MDQpfDYoMCgwNjJ8Mjh8ODIpfDIoKDYwfDYzfDc5KTB8ODA2KXw0KDYofDQzfDc0KXwxOTV8NDUpfDUoNTI4fDd8ODN8ODU2KXw2KDA1fDI3MHw0NzMpfDcoMjEyfDU0M3w3OTkpfDE4MjF8ODk2NHw5ODA5KXw3KDEoNDE0fDQ4Mnw2Myl8MigyNDl8NjY2fDY4MHw3NjF8OTAyKXwzKDQyNXw1NTF8ODcpfDQoMDExfDEyNnwyMzN8MzgxfDQyMnw0NXw2MzZ8ODMwKXw2KDMyOXw2NXw5MTIpfDgoKHw4KTk5fDIzN3w0NzF8NjUyKXwwODE1fDUyMTcpfDgoMDcoMzF8ODIpfDEoMDAxfDA3Mnw1Mjl8OTAzKXw0KDA4fDMwNnw5NDgpfDIyNzF8MjU4NnwzNDg4fDM1Mjl8NTc5fDY0MjN8NzQ3NHw3NzQwfDgzODV8OTU1OCl8OSgxKDIwMHw0MHw2Nzh8ODU1KXwzNCgxNnwyMSl8NCgwNTR8MjMyfDk0OCl8Nyg0NHw2NjB8Nzk3KXw5KDUyN3w1OTN8OTA4KXwwMDB8MDk2MHw1MDR8NTE1OHw2NTg3fDgwODQpKSQvLnRlc3QoYSkpZVthXT0wO2Vsc2V7dmFyIGY9bmV3IFByb21pc2UoKChjLGYpPT5kPWVbYV09W2MsZl0pKTtjLnB1c2goZFsyXT1mKTt2YXIgYj1uLnArbi51KGEpLHQ9bmV3IEVycm9yO24ubChiLChjPT57aWYobi5vKGUsYSkmJigwIT09KGQ9ZVthXSkmJihlW2FdPXZvaWQgMCksZCkpe3ZhciBmPWMmJigibG9hZCI9PT1jLnR5cGU/Im1pc3NpbmciOmMudHlwZSksYj1jJiZjLnRhcmdldCYmYy50YXJnZXQuc3JjO3QubWVzc2FnZT0iTG9hZGluZyBjaHVuayAiK2ErIiBmYWlsZWQuXG4oIitmKyI6ICIrYisiKSIsdC5uYW1lPSJDaHVua0xvYWRFcnJvciIsdC50eXBlPWYsdC5yZXF1ZXN0PWIsZFsxXSh0KX19KSwiY2h1bmstIithLGEpfX0sbi5GLmo9YT0+ewppZighKG4ubyhlLGEpJiZ2b2lkIDAhPT1lW2FdfHwvXigxKDAzKDY2fDg1KXwxKDQoMDl8NjF8ODkpfDAwOHwyMTh8MjU3fDcyNSl8MigwNTF8MTF8Mzg1fDU2NSl8OCgxNjJ8NDAwfDQ3Mil8OSg1KDA4fDEzfDk1fDk4KXw3ODcpfDNbMzRdOTJ8KDQxfDc2KTkzfDQ2MjV8NTA5fDU1MjZ8NjQyMXw2Nzh8NzA4Nyl8MigwKFsyOV03MXwzNTR8OTg2KXw3KDUxN3w1NDl8NzM2KXw5KDI5NnwzMjd8NTM2fDk0Myl8MzMxfDM2MjR8NDQwOHw0NTgxfDU2OTh8NTgwOXw2NTkyfDgwMTcpfDMoMCgzNzN8NzQ1fDk2MCl8MSgyNjJ8NTU3fDgzNyl8MigxNzZ8NjMyfDc0OHw4MTYpfDMoMTIwfDIyMXwyM3wzNjh8NTUzKXw2KDIyMnwzNTZ8NTQ1KXw3KFs3OF02N3w1MTN8NzQ2KXw4KDI2Mnw0MTF8ODY4KXw0NzU4fDUxOTh8NTYzMHw5MDV8OTc4Nil8NCgwKDIyMHw0Mnw4MzV8ODY3fDkxNCl8MygzMjV8NDQxfDY0NCl8NigwMzR8NTkxfDkwNyl8NygwMjF8NTUxfDU3OXw2MzIpfDkoNSgxOHwzNnw4OCl8Mjl8NjkpfDE1ODh8NDI1M3w0Nzd8NTM2OHw1OTQ1fDg4NjQpfDUoMCgyMjF8MzI1fDYyMnw4MDApfDEoMDMwfDIxM3wzMDl8NTA4fDY4Mnw4NHw4ODApfDIoMDY1fDE3OHwzOTZ8NjgwfDg0Mil8MygzMjl8NTIxfDcxMyl8NCgwOTN8MzEwfDY4MSl8NigyMTN8MjUyfDg5KXw4KDA1MXwzODR8OTMzKXw5KDM1MHw0Mzd8OTQxKXw3MzAwfDc1MDQpfDYoMCgwNjJ8Mjh8ODIpfDIoKDYwfDYzfDc5KTB8ODA2KXw0KDYofDQzfDc0KXwxOTV8NDUpfDUoNTI4fDd8ODN8ODU2KXw2KDA1fDI3MHw0NzMpfDcoMjEyfDU0M3w3OTkpfDE4MjF8ODk2NHw5ODA5KXw3KDEoNDE0fDQ4Mnw2Myl8MigyNDl8NjY2fDY4MHw3NjF8OTAyKXwzKDQyNXw1NTF8ODcpfDQoMDExfDEyNnwyMzN8MzgxfDQyMnw0NXw2MzZ8ODMwKXw2KDMyOXw2NXw5MTIpfDgoKHw4KTk5fDIzN3w0NzF8NjUyKXwwODE1fDUyMTcpfDgoMDcoMzF8ODIpfDEoMDAxfDA3Mnw1Mjl8OTAzKXw0KDA4fDMwNnw5NDgpfDIyNzF8MjU4NnwzNDg4fDM1Mjl8NTc5fDY0MjN8NzQ3NHw3NzQwfDgzODV8OTU1OCl8OSgxKDIwMHw0MHw2Nzh8ODU1KXwzNCgxNnwyMSl8NCgwNTR8MjMyfDk0OCl8Nyg0NHw2NjB8Nzk3KXw5KDUyN3w1OTN8OTA4KXwwMDB8MDk2MHw1MDR8NTE1OHw2NTg3fDgwODQpKSQvLnRlc3QoYSkpKXtlW2FdPW51bGw7dmFyIGM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpO2MuY2hhcnNldD0idXRmLTgiLGMuY3Jvc3NPcmlnaW49ImFub255bW91cyIsbi5uYyYmYy5zZXRBdHRyaWJ1dGUoIm5vbmNlIixuLm5jKSxjLnJlbD0icHJlZmV0Y2giLGMuYXM9InNjcmlwdCIsYy5ocmVmPW4ucCtuLnUoYSksZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChjKX19LG4uTy5qPWE9PjA9PT1lW2FdO3ZhciBhPShhLGMpPT57dmFyIGQsZixbYix0LHJdPWMscz0wO2lmKGIuc29tZSgoYT0+MCE9PWVbYV0pKSl7Zm9yKGQgaW4gdCluLm8odCxkKSYmKG4ubVtkXT10W2RdKTtpZihyKXZhciBvPXIobil9Zm9yKGEmJmEoYyk7czxiLmxlbmd0aDtzKyspZj1iW3NdLG4ubyhlLGYpJiZlW2ZdJiZlW2ZdWzBdKCksZVtmXT0wO3JldHVybiBuLk8obyl9LGM9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlldz1zZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3fHxbXTtjLmZvckVhY2goYS5iaW5kKG51bGwsMCkpLGMucHVzaD1hLmJpbmQobnVsbCxjLnB1c2guYmluZChjKSl9KSgpLG4ucD1uLmcmJm4uZy5XRUJQQUNLX1BVQkxJQ19QQVRIfHxuLnAsYj17OTI5Njg6Wzg0NjkzLDg4OTk3LDMwNjk5LDQ2MjE3LDY2OTMzLDcxMzE5XX0sbi5mLnByZWZldGNoPShlLGEpPT5Qcm9taXNlLmFsbChhKS50aGVuKCgoKT0+e3ZhciBhPWJbZV07QXJyYXkuaXNBcnJheShhKSYmYS5tYXAobi5FKX0pKX0pKCk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/65862.95764752c09f3f18f890.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.019Z","timestamp":1785120634019,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/65862.95764752c09f3f18f890.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-8593\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e06f7359f8111447ac668d24f8138bab\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":34195,"size_decoded":11853,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (13834)","md5":"d5f37343643dde0b01c1d10dbbdb91df","sha1":"acf466d1f2aaa1c4e577a663cc0c197647ff1b0c","sha256":"ad4421c24189dacdd5b62aa07485176e838543c7e572a23a90b2e5d70b28c982","sha512":"b6fba60ec4a7056bdda7602c545749c4b49d93c597e471e20f312b470a5c949b390f959900f2267b02646d6ce1c6f9fcd1ebddb7b4fbc2383344305b5179923d","ssdeep":"768:8HXyKsaOA/R4POygg6FUOaovTBa81zNh3h6kIRdnNy84MnxbDE3xZwDZscCDjvFR:OWgDagTBa0zNhRIRdnNy84y4BZw1FCHz","tlshash":"41e2e892aa135c331ed5176ad87b3902d1d80679f5863c68bdf858de0d8dac070f355e","first_seen":"2026-07-24T11:36:47.857631Z","last_seen":"2026-07-27T05:19:37.070003Z","times_seen":815,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNjU4NjJdLHszNzcyMjYoZSx0LG8pe28uZCh0LHtvbldpZGdldDooKT0+c30pO2NvbnN0IHI9bmV3IE1hcDtmdW5jdGlvbiBzKCl7Y29uc3QgZT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsdD13aW5kb3cubG9jYXRpb24uaG9zdCxvPWAke3R9JHtlfWA7cmV0dXJuIHIuaGFzKG8pfHxyLnNldChvLGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbz1bIl53aWRnZXQtZG9jcyJdO2Zvcihjb25zdCBlIG9mIG8paWYobmV3IFJlZ0V4cChlKS50ZXN0KHQpKXJldHVybiEwO2NvbnN0IHI9WyJed2lkZ2V0ZW1iZWQvPyQiLCJeY21ld2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL3dpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS93aWRnZXRzdGF0aWMvPyQiLCJeKFswLTlhLXpBLVotXSspPy8/bWVkaXVtd2lkZ2V0ZW1iZWQvPyQiLCJedHdpdHRlci1jaGFydC8/JCIsIl50ZWxlZ3JhbS9jaGFydC8/JCIsIl5lbWJlZC8oWzAtOWEtekEtWl17OH0pLz8kIiwiXndpZGdldHBvcHVwLz8kIiwiXmV4dGVuc2lvbi8/JCIsIl5pZGVhLXBvcHVwLz8kIiwiXmhvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL2hvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvbWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl5ldmVudHN3aWRnZXRlbWJlZC8/JCIsIl50aWNrZXJzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhjcm9zc3JhdGVzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhoZWF0bWFwd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0cXVvdGVzd2lkZ2V0ZW1iZWQvPyQiLCJec2NyZWVuZXJ3aWRnZXQvPyQiLCJeY3J5cHRvbWt0c2NyZWVuZXJ3aWRnZXQvPyQiLCJeKFswLTlhLXpBLVotXSspL2NyeXB0b21rdHNjcmVlbmVyd2lkZ2V0Lz8kIiwiXihbMC05YS16QS1aLV0rKS9tYXJrZXRxdW90ZXN3aWRnZXRlbWJlZC8/JCIsIl50ZWNobmljYWwtYW5hbHlzaXMtd2lkZ2V0LWVtYmVkLyQiLCJec2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvc2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl5lbWJlZC13aWRnZXQvKFswLTlhLXpBLVotXSspLygoWzAtOWEtekEtWi1dKykvKT8kIiwiXndpZGdldC1kb2NzLyhbMC05YS16QS1aLV0rKS8oWzAtOWEtekEtWi0vXSspPyQiXSxzPWUucmVwbGFjZSgvXlwvLywiIik7bGV0IF87Zm9yKGxldCBlPXIubGVuZ3RoLTE7ZT49MDtlLS0paWYoXz1uZXcgUmVnRXhwKHJbZV0pLF8udGVzdChzKSlyZXR1cm4hMDtyZXR1cm4hMX0oZSx0KSksci5nZXQobyk/PyExfX0sMzAwMjg2KGUsdCxvKXsidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmbmV3IGNsYXNze2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fdGVzdD1lW3RdPXt9fXByb3ZpZGUoZSx0KXt0aGlzLl90ZXN0W2VdPXR9fSh3aW5kb3csInFhR2xvYmFscyIpfSw1ODc0MzYoZSx0LG8pe2Z1bmN0aW9uIHIoZSx0LG8scixzKXtsZXQgXz0iIjtpZihyPXI/IjsgcGF0aD0iK3I6IiIscz1zPyI7IGRvbWFpbj0iK3M6IiIsbyl7Y29uc3QgZT1uZXcgRGF0ZTtlLnNldFRpbWUoZS5nZXRUaW1lKCkrMjQqbyo2MCo2MCoxZTMpLF89IjsgZXhwaXJlcz0iK2UudG9VVENTdHJpbmcoKX1lbHNlIF89IiI7ZG9jdW1lbnQuY29va2llPWUrIj0iK3QrXytzK3J9ZnVuY3Rpb24gcyhlKXtjb25zdCB0PWUrIj0iLG89ZG9jdW1lbnQuY29va2llLnNwbGl0KCI7Iik7Zm9yKGxldCBlPTA7ZTxvLmxlbmd0aDtlKyspe2xldCByPW9bZV07Zm9yKDsiICI9PT1yLmNoYXJBdCgwKTspcj1yLnN1YnN0cmluZygxLHIubGVuZ3RoKTtpZigwPT09ci5pbmRleE9mKHQpKXJldHVybiByLnN1YnN0cmluZyh0Lmxlbmd0aCxyLmxlbmd0aCl9cmV0dXJuIG51bGx9by5kKHQse2dldDooKT0+cyxzZXQ6KCk9PnJ9KX0sOTQ4MzgwKGUsdCxvKXtvLmQodCx7RGVsZWdhdGU6KCk9Pl99KTtjb25zdCByPSgwLG8oMjIxMDYxKS5nZXRMb2dnZXIpKCJDb21tb24uRGVsZWdhdGUiKTtmdW5jdGlvbiBzKGUpe3JldHVybiFlLnNpbmdsZVNob3R9Y2xhc3MgX3tjb25zdHJ1Y3Rvcigpe3RoaXMuZmlyZT10aGlzLl9maXJlSW1wbC5iaW5kKHRoaXMpLHRoaXMuX2xpc3RlbmVycz1bXX1zdWJzY3JpYmUoZSx0LG8pe3RoaXMuX2xpc3RlbmVycy5wdXNoKHtvYmplY3Q6ZSxtZW1iZXI6dCxzaW5nbGVTaG90OiEhbyxza2lwOiExfSl9dW5zdWJzY3JpYmUoZSx0KXtmb3IobGV0IG89MDtvPHRoaXMuX2xpc3RlbmVycy5sZW5ndGg7KytvKXtjb25zdCByPXRoaXMuX2xpc3RlbmVyc1tvXTtpZihyLm9iamVjdD09PWUmJnIubWVtYmVyPT09dCl7ci5za2lwPSEwLHRoaXMuX2xpc3RlbmVycy5zcGxpY2UobywxKTticmVha319fXVuc3Vic2NyaWJlQWxsKGUpe2ZvcihsZXQgdD10aGlzLl9saXN0ZW5lcnMubGVuZ3RoLTE7dD49MDstLXQpe2NvbnN0IG89dGhpcy5fbGlzdGVuZXJzW3RdO28ub2JqZWN0PT09ZSYmKG8uc2tpcD0hMCx0aGlzLl9saXN0ZW5lcnMuc3BsaWNlKHQsMSkpfX1kZXN0cm95KCl7dGhpcy5fbGlzdGVuZXJzPVtdfV9maXJlSW1wbCguLi5lKXtjb25zdCB0PXRoaXMuX2xpc3RlbmVyczt0aGlzLl9saXN0ZW5lcnM9dGhpcy5fbGlzdGVuZXJzLmZpbHRlcihzKTtjb25zdCBvPXQubGVuZ3RoO2ZvcihsZXQgcz0wO3M8bzsrK3Mpe2NvbnN0IG89dFtzXTtpZighby5za2lwKXRyeXtvLm1lbWJlci5hcHBseShvLm9iamVjdHx8bnVsbCxlKX1jYXRjaChlKXtyLmxvZ0Vycm9yKGAke2UmJihlLnN0YWNrfHxlLm1lc3NhZ2UpfWApfX19fX0sNTM0NDQwKGUsdCxvKXtvLmQodCx7bnVtT2ZEZWNpbWFsUGxhY2VzOigpPT5ffSk7dmFyIHI9byg3MTI3NDUpLHM9by5uKHIpO2Z1bmN0aW9uIF8oZSl7cmV0dXJuKG5ldyhzKCkpKGUpLnRvRml4ZWQoKS5zcGxpdCgiLiIpWzFdfHwiIikubGVuZ3RofX0sMjMyMzY0KGUsdCxvKXtvLmQodCx7V2F0Y2hlZFZhbHVlOigpPT5ffSk7Y29uc3Qgcj0oMCwKbygyMjEwNjEpLmdldExvZ2dlcikoIkNvbW1vbi5XYXRjaGVkVmFsdWUiKTtmdW5jdGlvbiBzKGUpe3IubG9nRXJyb3IoYCR7ZSYmKGUuc3RhY2t8fGUubWVzc2FnZSl9YCl9Y2xhc3MgX3tjb25zdHJ1Y3RvciguLi5lKXt0aGlzLl9saXN0ZW5lcnM9W10sZS5sZW5ndGg+MD90aGlzLl92YWx1ZT1lWzBdOmRlbGV0ZSB0aGlzLl92YWx1ZX1kZXN0cm95KCl7dGhpcy51bnN1YnNjcmliZSgpfXZhbHVlKCl7cmV0dXJuIHRoaXMuX293bmVyP3RoaXMuX293bmVyLl92YWx1ZTp0aGlzLl92YWx1ZX1zZXRWYWx1ZShlLHQpe2NvbnN0IG89dGhpcy5fb3duZXI/dGhpcy5fb3duZXI6dGhpcztpZihvLndyaXRlTG9jaylyZXR1cm47Y29uc3Qgcj1vLl92YWx1ZT09PWV8fE51bWJlci5pc05hTihvLl92YWx1ZSkmJk51bWJlci5pc05hTihlKTtpZighdCYmciYmby5oYXNPd25Qcm9wZXJ0eSgiX3ZhbHVlIikpcmV0dXJuO28uX3ZhbHVlPWU7Y29uc3QgXz1vLl9saXN0ZW5lcnMuc2xpY2UoKTtsZXQgaT0wO2ZvcihsZXQgdD0wO3Q8Xy5sZW5ndGg7dCsrKXtfW3RdLm9uY2UmJihvLl9saXN0ZW5lcnMuc3BsaWNlKHQtaSwxKSxpKyspO3RyeXtfW3RdLmNiKGUpfWNhdGNoKGUpe3MoZSl9fX1kZWxldGVWYWx1ZSgpe3RoaXMuc2V0VmFsdWUodm9pZCAwKX1zdWJzY3JpYmUoZSx0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJjYWxsYmFjayBtdXN0IGJlIGEgZnVuY3Rpb24iKTtjb25zdCBvPSEhdCYmISF0Lm9uY2Uscj0hIXQmJiEhdC5jYWxsV2l0aExhc3QsXz10aGlzLl9vd25lcj90aGlzLl9vd25lcjp0aGlzO2lmKHImJl8uaGFzT3duUHJvcGVydHkoIl92YWx1ZSIpKXt0cnl7ZShfLl92YWx1ZSl9Y2F0Y2goZSl7cyhlKX1pZihvKXJldHVybn1fLl9saXN0ZW5lcnMucHVzaCh7Y2I6ZSxvd25lcjp0aGlzLG9uY2U6ISF0JiYhIXQub25jZX0pfXVuc3Vic2NyaWJlKGUpe2NvbnN0IHQ9dGhpcy5fb3duZXI/dGhpcy5fb3duZXI6dGhpczt2b2lkIDA9PT1lJiYoZT1udWxsKTtjb25zdCBvPXQuX2xpc3RlbmVycztmb3IobGV0IHI9by5sZW5ndGg7ci0tOylvW3JdLm93bmVyIT09dGhpcyYmdCE9PXRoaXN8fG9bcl0uY2IhPT1lJiZudWxsIT09ZXx8by5zcGxpY2UociwxKX1yZWFkb25seSgpe2lmKHRoaXMuX3JlYWRvbmx5SW5zdGFuY2UpcmV0dXJuIHRoaXMuX3JlYWRvbmx5SW5zdGFuY2U7Y29uc3QgZT17c3Vic2NyaWJlOnRoaXMuc3Vic2NyaWJlLmJpbmQodGhpcyksdW5zdWJzY3JpYmU6dGhpcy51bnN1YnNjcmliZS5iaW5kKHRoaXMpLHZhbHVlOnRoaXMudmFsdWUuYmluZCh0aGlzKSx3aGVuOnRoaXMud2hlbi5iaW5kKHRoaXMpLG93bmVyc2hpcDp0aGlzLm93bmVyc2hpcC5iaW5kKHRoaXMpLHNwYXduT3duZXJzaGlwOnRoaXMuc3Bhd25Pd25lcnNoaXAuYmluZCh0aGlzKSx3ZWFrUmVmZXJlbmNlOnRoaXMud2Vha1JlZmVyZW5jZS5iaW5kKHRoaXMpLHNwYXduOmU9PnRoaXMuc3Bhd24oZSkucmVhZG9ubHkoKSxkZXN0cm95OnRoaXMuZGVzdHJveS5iaW5kKHRoaXMpfTtyZXR1cm4gdGhpcy5fcmVhZG9ubHlJbnN0YW5jZT1lLGV9c3Bhd24oZSl7cmV0dXJuIHRoaXMuX3NwYXduKGUpfXdoZW4oZSl7IWZ1bmN0aW9uKGUsdCxvKXtpZih0KGUudmFsdWUoKSkpcmV0dXJuIHZvaWQgbygpO2NvbnN0IHI9cz0+e3QocykmJihlLnVuc3Vic2NyaWJlKHIpLG8oKSl9O2Uuc3Vic2NyaWJlKHIse2NhbGxXaXRoTGFzdDohMH0pfSh0aGlzLChlPT5Cb29sZWFuKGUpKSwoKCk9Pnt0cnl7ZSh0aGlzLnZhbHVlKCkpfWNhdGNoKGUpe3MoZSl9fSkpfWFzc2VydE5vU3Vic2NyaXB0aW9ucygpezB9b3duZXJzaGlwKCl7cmV0dXJuIHRoaXN9cmVsZWFzZSgpe3RoaXMuZGVzdHJveSgpfXNwYXduT3duZXJzaGlwKCl7cmV0dXJuIHRoaXMuX3NwYXduKCl9d2Vha1JlZmVyZW5jZSgpe3JldHVybiB0aGlzLl9zcGF3bih2b2lkIDAsITApfV9zcGF3bihlLHQpe3JldHVybiBuZXcgaSh0aGlzLl9vd25lcnx8dGhpcyxlLHQpfX1jbGFzcyBpIGV4dGVuZHMgX3tjb25zdHJ1Y3RvcihlLHQsbyl7c3VwZXIoKSxkZWxldGUgdGhpcy5fbGlzdGVuZXJzLHRoaXMuX293bmVyPWUsdGhpcy5fb25EZXN0cm95PXQsdGhpcy5fd2Vha1JlZmVyZW5jZT0hIW99ZGVzdHJveSgpe3RyeXt0aGlzLl9vbkRlc3Ryb3k/LigpfWNhdGNoKGUpe3MoZSl9c3VwZXIuZGVzdHJveSgpfXJlYWRvbmx5KCl7cmV0dXJuIHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZXx8KHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZT17Li4uc3VwZXIucmVhZG9ubHkoKSxkZXN0cm95OigpPT50aGlzLmRlc3Ryb3koKSxyZWFkb25seSgpe3JldHVybiB0aGlzfX0pLHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZX1yZWxlYXNlKCl7dGhpcy5fd2Vha1JlZmVyZW5jZXx8c3VwZXIucmVsZWFzZSgpfX19LDU5ODkyMihlLHQsbyl7by5kKHQse2Zvcm1hdE51bWJlcjooKT0+aSxwYXJzZU51bWJlcjooKT0+bn0pO3ZhciByPW8oNzEyNzQ1KSxzPW8oNjYzMDQ2KSxfPW8oMTE1MjkzKTtmdW5jdGlvbiBpKGUsdCxvLHMsXyl7aWYoIU51bWJlci5pc0Zpbml0ZShlKSlyZXR1cm5gJHtlfWA7Y29uc3QgaT0tMT09PU1hdGguc2lnbihlKT8iLSI6IiI7ZT1NYXRoLmFicyhlKTtsZXQgYT12b2lkIDA9PT1vP2UudG9TdHJpbmcoKTplLnRvRml4ZWQobyk7aWYoYS5pbmNsdWRlcygiZSIpKXtpZighcylyZXR1cm5gJHtpfSR7YS5yZXBsYWNlKCIuIix0LmRlY2ltYWxTaWduKX1gO3tjb25zdCBvPW5ldyByLkJpZyhlKTtpZihhPW8ubHQoMSk/by50b0ZpeGVkKCk6by50b1N0cmluZygpLGEuaW5jbHVkZXMoImUiKSlyZXR1cm5gJHtpfSR7YS5yZXBsYWNlKCIuIix0LmRlY2ltYWxTaWduKX1gfX1jb25zdCBuPWEuc3BsaXQoIi4iKSxsPW5bMF07bGV0IGM9blsxXTtjb25zdCBkPWZ1bmN0aW9uKGUsdCl7bGV0IG89ZS5sZW5ndGg7Y29uc3Qgcj1bXTtmb3IoO28+MDspci51bnNoaWZ0KGUuc2xpY2UoTWF0aC5tYXgoby0zLDApLG8pKSxvLT0zO3JldHVybiByLmpvaW4odCl9KGwsdC5ncm91cGluZ1NlcGFyYXRvcikKO3JldHVybiB2b2lkIDAhPT1vJiYoYz0wPT09bz92b2lkIDA6ZS50b0ZpeGVkKG8pLnNsaWNlKC1vKSksdm9pZCAwIT09XyYmdm9pZCAwIT09YyYmKGM9ZnVuY3Rpb24oZSx0KXtsZXQgbz1lLmxlbmd0aC0xO2ZvcihsZXQgcj1vO3I+PXQmJiIwIj09PWVbcl07ci09MSlvLT0xO3JldHVybiBlLnNsaWNlKDAsbysxKX0oYyxfKSksYz9gJHtpfSR7ZH0ke3QuZGVjaW1hbFNpZ259JHtjfWA6YCR7aX0ke2R9YH1jb25zdCBhPSgwLHMuZGVmYXVsdCkoKGU9Pntjb25zdCB0PWUucmVwbGFjZSgvWy1bXF17fSgpKis/LixcXF4kfCNcc10vZywiXFwkJiIpO3JldHVybiBuZXcgUmVnRXhwKHQsImdtIil9KSk7ZnVuY3Rpb24gbihlLHQpe2lmKC9eKE5hTnxbK3wtXT9JbmZpbml0eSkkLy50ZXN0KGUpKXJldHVybiBwYXJzZUZsb2F0KGUpO2U9KDAsXy5zdHJpcExUUk1hcmtzKShlKTtjb25zdCBvPWEodC5ncm91cGluZ1NlcGFyYXRvcik7cmV0dXJuIG8mJihlPWUucmVwbGFjZShvLCIiKSksZT1lLnJlcGxhY2UodC5kZWNpbWFsU2lnbiwiLiIpLC9eKFwrfC0pP1xkKyhcLlxkK3xcLik/KGUoXCt8LSk/XGQrKT8kLy50ZXN0KGUpP3BhcnNlRmxvYXQoZSk6TmFOfX0sNTQ2NDg1KGUsdCxvKXtvLmQodCx7Z2V0TnVtYmVyRm9ybWF0OigpPT5kfSk7bGV0IHI9bnVsbDt2YXIgcz1vKDg1NjMyNCk7ZnVuY3Rpb24gXyhlLHQpe3JldHVybntncm91cGluZ1NlcGFyYXRvcjplLGRlY2ltYWxTaWduOnR9fWNvbnN0IGk9XygiLCIsIi4iKSxhPV8oIi4iLCIsIiksbj1fKCLigK8iLCIsIiksbD1fKCIiLCIuIiksYz1uZXcgTWFwKFtbImVuIixpXSxbInRoIixpXSxbImphIixpXSxbImtvIixpXSxbInpoIixpXSxbInpoX1RXIixpXSxbImFyIixpXSxbImhlX0lMIixpXSxbIm1zX01ZIixpXSxbInZpIixpXSxbImRlIixhXSxbImVzIixhXSxbIml0IixhXSxbInRyIixhXSxbInB0IixhXSxbImlkX0lEIixhXSxbImZyIixuXSxbInBsIixuXSxbInJ1IixuXV0pO2Z1bmN0aW9uIGQoZSl7cmV0dXJuIGU/bDoodD1jLmdldCgoMCxzLmdldExhbmd1YWdlKSgpKXx8bCxyP3IodCk6dCk7dmFyIHR9fSw3NTU2MjcoZSx0LG8pe28uZCh0LHtQcmljZUZvcm1hdHRlcjooKT0+eX0pO3ZhciByPW8oNjAxODQxKTtmdW5jdGlvbiBzKGUsdCxvLHIpe2xldCBzPTA7aWYoZT4wJiZ0PjApe2xldCB0PWU7Zm9yKG8mJnImJih0Lz1yKTt0PjE7KXQvPTEwLHMrK31yZXR1cm4gc312YXIgXz1vKDcxMjc0NSksaT1vKDgyMjQzMSksYT1vKDU5ODkyMiksbj1vKDU0NjQ4NSksbD1vKDc4MzI1NCksYz1vKDEzODYzOCksZD1vKDExNTI5MyksdT1vKDUzNTMwKTtmdW5jdGlvbiBtKGUsdCxvKXtjb25zdCByPSgwLGMuZW5zdXJlTm90TnVsbCkoKDAsdS5nZXRNaW5UaWNrRGF0YSkoe3ByaWNlOm8sbWluVGljazpudWxsLHZhcmlhYmxlTWluVGlja0RhdGE6dCxzaG91bGRDaGVja0ZvckVxdWFsaXR5OiEwfSkpLHtwcmljZVNjYWxlOl8sbWluTW92ZTppLG1pbk1vdmUyOmF9PXI7cmV0dXJue3ByaWNlU2NhbGU6XyxtaW5Nb3ZlOmksZnJhY3Rpb25hbExlbmd0aDpzKF8saSxlLGEpfX1jbGFzcyBoe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2Zvcm1hdHRlckVycm9ycz17Y3VzdG9tOmwudChudWxsLHZvaWQgMCxvKDYxNjE4KSksZnJhY3Rpb246bC50KG51bGwsdm9pZCAwLG8oOTY4ODE1KSksc2Vjb25kRnJhY3Rpb246bC50KG51bGwsdm9pZCAwLG8oODUwMjk4KSl9O2NvbnN0e3ByaWNlU2NhbGU6dCxtaW5Nb3ZlOnIsbWluTW92ZTI6cyxpZ25vcmVNaW5Nb3ZlOl8sdmFyaWFibGVNaW5UaWNrOmksZnJhY3Rpb25hbExlbmd0aDphfT1lO3RoaXMuX3ByaWNlU2NhbGU9dCx0aGlzLl9taW5Nb3ZlPXIsdGhpcy5fbWluTW92ZTI9cyx0aGlzLl9pZ25vcmVNaW5Nb3ZlPV8sdGhpcy5fZnJhY3Rpb25hbExlbmd0aD1hLHRoaXMuX3ZhcmlhYmxlTWluVGlja0RhdGE9dm9pZCAwPT09aT92b2lkIDA6KDAsdS5tYWtlVmFyaWFibGVNaW5UaWNrRGF0YSkoe3ByaWNlU2NhbGU6dCxtaW5Nb3ZlOnIsbWluTW92ZTI6c30saSl9Zm9ybWF0SW1wbChlLHQ9e30pe2NvbnN0e3NpZ25Qb3NpdGl2ZTpvLHNpZ25OZWdhdGl2ZTpyPSEwLHRhaWxTaXplOnMsY3V0RnJhY3Rpb25hbEJ5UHJlY2lzaW9uOl89ITEsdXNlUnRsRm9ybWF0Omk9ITAsdmFyaWFibGVNaW5UaWNrRGF0YVByaWNlOmEsaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0Om4sbm9FeHBvbmVudGlhbEZvcm06bCxyZW1vdmVBbGxFbmRpbmdaZXJvczpjfT10O2xldCB1PSIiO2U8MD91PSExPT09cj8iIjoi4oiSIjplJiYhMD09PW8mJih1PSIrIik7Y29uc3QgbT10aGlzLl9mb3JtYXRVbnNpZ25lZChNYXRoLmFicyhlKSx7dGFpbFNpemU6cyxjdXRGcmFjdGlvbmFsQnlQcmVjaXNpb246Xyx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6YSxpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6bixub0V4cG9uZW50aWFsRm9ybTpsLHJlbW92ZUFsbEVuZGluZ1plcm9zOmN9KSxoPSIwIj09PW0/bTp1K207cmV0dXJuIGk/KDAsZC5mb3JjZUxUUlN0cikoaCk6aH1wYXJzZShlLHQpe3JldHVybiIrIj09PShlPShlPSgwLGQuc3RyaXBMVFJNYXJrcykoZSkpLnJlcGxhY2UoIuKIkiIsIi0iKSlbMF0mJihlPWUuc3Vic3RyaW5nKDEpKSx0aGlzLl9wYXJzZVVuc2lnbmVkKGUsdCl9X3JlbW92ZUVuZGluZ1plcm9zKGUsdCl7Zm9yKGxldCBvPTA7bzx0JiYiMCI9PT1lW2UubGVuZ3RoLTFdO28rKyllPWUuc3Vic3RyaW5nKDAsZS5sZW5ndGgtMSk7cmV0dXJuIGV9fWNsYXNzIGcgZXh0ZW5kcyBoe2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDp0LG5vRXhwb25lbnRpYWxGb3JtOm99PWU7dGhpcy5faWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0PXQsdGhpcy5fbm9FeHBvbmVudGlhbEZvcm09b31oYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKXtyZXR1cm4gMTA9PT10aGlzLl9taW5Nb3ZlMn1fcGFyc2VVbnNpZ25lZChlLHQpe3JldHVybiB0aGlzLl9wYXJzZUFzRGVjaW1hbChlLHQpfV9mb3JtYXRVbnNpZ25lZChlLHQpewpjb25zdHt0YWlsU2l6ZTpvLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpyPSExLHZhcmlhYmxlTWluVGlja0RhdGFQcmljZTpzLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpfLG5vRXhwb25lbnRpYWxGb3JtOmkscmVtb3ZlQWxsRW5kaW5nWmVyb3M6YT0hMX09dCxuPXtwcmljZTpNYXRoLmFicyhlKSxwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsbWluTW92ZTp0aGlzLl9taW5Nb3ZlLGZyYWN0aW9uYWxMZW5ndGg6dGhpcy5fZnJhY3Rpb25hbExlbmd0aCx0YWlsU2l6ZTpvLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpyLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpfLG5vRXhwb25lbnRpYWxGb3JtOmkscmVtb3ZlQWxsRW5kaW5nWmVyb3M6YX07cmV0dXJuIHZvaWQgMCE9PXRoaXMuX3ZhcmlhYmxlTWluVGlja0RhdGEmJihPYmplY3QuYXNzaWduKG4sbSghMSx0aGlzLl92YXJpYWJsZU1pblRpY2tEYXRhLHM/P24ucHJpY2UpKSx0aGlzLl9pZ25vcmVNaW5Nb3ZlJiYobi5taW5Nb3ZlPTEpKSx0aGlzLl9mb3JtYXRBc0RlY2ltYWwobil9X2Zvcm1hdEFzRGVjaW1hbChlKXtjb25zdHtwcmljZTp0LHByaWNlU2NhbGU6byxtaW5Nb3ZlOnIsZnJhY3Rpb25hbExlbmd0aDpzPTAsdGFpbFNpemU6bD0wLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpjLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpkPXRoaXMuX2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdCxub0V4cG9uZW50aWFsRm9ybTp1PXRoaXMuX25vRXhwb25lbnRpYWxGb3JtLHJlbW92ZUFsbEVuZGluZ1plcm9zOm19PWUsaD0oMCxuLmdldE51bWJlckZvcm1hdCkoZCk7aWYodD49MWUyMSYmIXUpcmV0dXJuIHQudG9TdHJpbmcoKS5yZXBsYWNlKCIuIixoLmRlY2ltYWxTaWduKTtjb25zdCBnPU1hdGgucG93KDEwLGwpKm8vKGM/MTpyKSxwPTEvZztsZXQgYjtpZihnPjEpYj1NYXRoLmZsb29yKHQpO2Vsc2V7Y29uc3QgZT1NYXRoLnJvdW5kKHQvcCkqcDtiPTA9PT1NYXRoLnJvdW5kKCh0LWUpL3ApP2U6ZStwfWxldCB3PSIiO2lmKGc+MSl7bGV0IGU9Yz9uZXcgXy5CaWcodCkubXVsKGcpLnJvdW5kKHZvaWQgMCwwKS5taW51cyhuZXcgXy5CaWcoYikubXVsKGcpKS50b051bWJlcigpOnBhcnNlRmxvYXQoKE1hdGgucm91bmQodCpnKS1iKmcpLnRvRml4ZWQocykpO2U+PWcmJihlLT1nLGIrPTEpLGU9Yz9uZXcgXy5CaWcoZSkucm91bmQocywwKS50b051bWJlcigpOnBhcnNlRmxvYXQoZS50b0ZpeGVkKHMpKSpyO2NvbnN0IG89KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoZSxzK2wpO2lmKCF1JiZ0PDEmJnM+PTEwJiZvLnN0YXJ0c1dpdGgoIjAwMDAiKSl7bGV0IGU9NDtmb3IobGV0IHQ9ZTt0PG8ubGVuZ3RoJiYiMCI9PT1vW3RdO3QrKyllKys7Y29uc3QgdD10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhvLnNsaWNlKGUpLHMpO3JldHVybiIiPT09dD8iMCI6YDAke2guZGVjaW1hbFNpZ259JHt0fWUtJHtlfWB9Y29uc3QgYT10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhvLG0/by5sZW5ndGg6bCk7dz1hP2guZGVjaW1hbFNpZ24rYTphfWNvbnN0IHk9KDAsYS5mb3JtYXROdW1iZXIpKGIsaCx2b2lkIDAsdSk7cmV0dXJuIHkuaW5jbHVkZXMoImUiKT95Onkrd31fcGFyc2VBc0RlY2ltYWwoZSx0PXt9KXtjb25zdHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6b309dCxyPSgwLG4uZ2V0TnVtYmVyRm9ybWF0KSh0aGlzLl9pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXR8fG8pLHM9KDAsYS5wYXJzZU51bWJlcikoZSxyKTtyZXR1cm4gTnVtYmVyLmlzRmluaXRlKHMpP3t2YWx1ZTpzLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChzKX06e2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX19Y29uc3QgcD0iJyIsYj1uZXcgUmVnRXhwKC9eKC0/KVswLTldKyQvKTtjbGFzcyB3IGV4dGVuZHMgaHtoYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKXtyZXR1cm4hMX1fcGFyc2VVbnNpZ25lZChlKXtyZXR1cm4gdGhpcy5fbWluTW92ZTI/dGhpcy5fcGFyc2VBc0RvdWJsZUZyYWN0aW9uYWwoZSk6dGhpcy5fcGFyc2VBc1NpbmdsZUZyYWN0aW9uYWwoZSl9X2Zvcm1hdFVuc2lnbmVkKGUsdCl7Y29uc3R7dGFpbFNpemU6byx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6cn09dCxzPXtwcmljZTpNYXRoLmFicyhlKSxwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsbWluTW92ZTp0aGlzLl9taW5Nb3ZlLG1pbk1vdmUyOnRoaXMuX21pbk1vdmUyLGZyYWN0aW9uYWxMZW5ndGg6KDAsYy5lbnN1cmVEZWZpbmVkKSh0aGlzLl9mcmFjdGlvbmFsTGVuZ3RoKSx0YWlsU2l6ZTpvfTtyZXR1cm4gdm9pZCAwIT09dGhpcy5fdmFyaWFibGVNaW5UaWNrRGF0YSYmT2JqZWN0LmFzc2lnbihzLG0oITAsdGhpcy5fdmFyaWFibGVNaW5UaWNrRGF0YSxyPz9zLnByaWNlKSksdGhpcy5fZm9ybWF0QXNGcmFjdGlvbmFsKHMpfV9wYXJzZUFzU2luZ2xlRnJhY3Rpb25hbChlKXtsZXQgdD1iLmV4ZWMoZSk7aWYodCl7Y29uc3QgdD1wYXJzZUZsb2F0KGUpO3JldHVybnt2YWx1ZTp0LHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbCh0KX19aWYodD1uZXcgUmVnRXhwKCJeKC0/KShbMC05XSspXFwnKFswLTldKykkIikuZXhlYyhlKSx0KXtjb25zdCBlPSEhdFsxXSxvPXBhcnNlSW50KHRbMl0pLHI9dGhpcy5fcHJpY2VTY2FsZSxzPXRoaXMuX3BhdGNoRnJhY3RQYXJ0KHBhcnNlSW50KHRbM10pLDEscik7aWYocz49cnx8czwwKXJldHVybntlcnJvcjp0aGlzLl9mb3JtYXR0ZXJFcnJvcnMuZnJhY3Rpb24scmVzOiExfTtsZXQgXz1vK3MvcjtyZXR1cm4gZSYmKF89LV8pLHt2YWx1ZTpfLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChfKX19cmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX1fcGFyc2VBc0RvdWJsZUZyYWN0aW9uYWwoZSl7bGV0IHQ9Yi5leGVjKGUpO2lmKHQpe2NvbnN0IHQ9cGFyc2VGbG9hdChlKTtyZXR1cm57dmFsdWU6dCxyZXM6ITAsc3VnZ2VzdDp0aGlzLmZvcm1hdEltcGwodCl9fQppZih0PW5ldyBSZWdFeHAoIl4oLT8pKFswLTldKylcXCcoWzAtOV0rKVxcJyhbMC05XSspJCIpLmV4ZWMoZSksdCl7Y29uc3QgZT0hIXRbMV0sbz1wYXJzZUludCh0WzJdKSxyPXZvaWQgMCE9PXRoaXMuX21pbk1vdmUyJiZudWxsIT09dGhpcy5fbWluTW92ZTI/dGhpcy5fbWluTW92ZTI6TmFOLHM9dGhpcy5fcHJpY2VTY2FsZS9yLF89dGhpcy5fbWluTW92ZTIsaT10aGlzLl9wYXRjaEZyYWN0UGFydChwYXJzZUludCh0WzNdKSwxLHMpLGE9dGhpcy5fcGF0Y2hGcmFjdFBhcnQocGFyc2VJbnQodFs0XSksMixfKTtpZihpPj1zfHxpPDApcmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5mcmFjdGlvbixyZXM6ITF9O2lmKG51bGwhPV8mJmE+PV98fGE8MClyZXR1cm57ZXJyb3I6dGhpcy5fZm9ybWF0dGVyRXJyb3JzLnNlY29uZEZyYWN0aW9uLHJlczohMX07bGV0IG49bnVsbCE9Xz9vK2kvcythLyhzKl8pOk5hTjtyZXR1cm4gZSYmKG49LW4pLHt2YWx1ZTpuLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChuKX19cmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX1fcGF0Y2hGcmFjdFBhcnQoZSx0LG8pe2NvbnN0IHI9ezA6MCw1OjF9LHM9ezA6MCwyOjEsNToyLDc6M30sXz17MDowLDE6MSwyOjIsMzozLDU6NCw2OjUsNzo2LDg6N307cmV0dXJuIDI9PT1vP3ZvaWQgMD09PXJbZV0/LTE6cltlXTo0PT09bz92b2lkIDA9PT1zW2VdPy0xOnNbZV06OD09PW8mJjI9PT10P3ZvaWQgMD09PV9bZV0/LTE6X1tlXTplfV9mb3JtYXRBc0ZyYWN0aW9uYWwoZSl7Y29uc3R7cHJpY2U6dCx0YWlsU2l6ZTpvLHByaWNlU2NhbGU6cixtaW5Nb3ZlOnMsbWluTW92ZTI6XyxmcmFjdGlvbmFsTGVuZ3RoOmF9PWUsbj1yL3M7bGV0IGw9TWF0aC5mbG9vcih0KSxjPW8/TWF0aC5mbG9vcih0Km4pLWwqbjpNYXRoLnJvdW5kKHQqbiktbCpuO2M9PT1uJiYoYz0wLGwrPTEpO2xldCBkPSIiO2lmKG8pe2xldCBlPSh0LWwtYy9uKSpuO2U9TWF0aC5yb3VuZChlKk1hdGgucG93KDEwLG8pKSxkPSgwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGUsbyksZD10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhkLG8pfWlmKCFhKXRocm93IG5ldyBFcnJvcigiX2ZyYWN0aW9uYWxMZW5ndGggaXMgbm90IGNhbGN1bGF0ZWQiKTtsZXQgdT0iIjtpZihfKXtjb25zdCBlPWMlXztjPShjLWUpL187Y29uc3QgdD0oMCxpLm51bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvKShjLGEpLG89dGhpcy5fZ2V0RnJhY3RQYXJ0KGUsMixfKTt1PXQrcCtvfWVsc2UgYz10aGlzLl9nZXRGcmFjdFBhcnQoYywxLHIpLHU9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoYypzLGEpO3JldHVybiBsLnRvU3RyaW5nKCkrcCt1K2R9X2dldEZyYWN0UGFydChlLHQsbyl7Y29uc3Qgcj1bMCw1XSxzPVswLDIsNSw3XSxfPVswLDEsMiwzLDUsNiw3LDhdO3JldHVybiAyPT09bz92b2lkIDA9PT1yW2VdPy0xOnJbZV06ND09PW8/dm9pZCAwPT09c1tlXT8tMTpzW2VdOjg9PT1vJiYyPT09dD92b2lkIDA9PT1fW2VdPy0xOl9bZV06ZX19Y2xhc3MgeXtjb25zdHJ1Y3RvcihlPXt9KXt0aGlzLnR5cGU9InByaWNlIjtjb25zdHttaW5Nb3ZlMjp0LGZyYWN0aW9uYWw6byx2YXJpYWJsZU1pblRpY2s6XyxpZ25vcmVNaW5Nb3ZlOmksaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmF9PWUsbj0oMCxyLmlzTnVtYmVyKShlLnByaWNlU2NhbGUpJiYoMCxyLmlzSW50ZWdlcikoZS5wcmljZVNjYWxlKT9lLnByaWNlU2NhbGU6MTAwO2lmKG48MCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGJhc2UiKTtjb25zdCBsPSFlLm1pbk1vdmV8fGk/MTplLm1pbk1vdmUsYz1zKG4sbCxvLHQpLGQ9ey4uLmUsbWluTW92ZTpsLHByaWNlU2NhbGU6bixmcmFjdGlvbmFsTGVuZ3RoOmN9O3RoaXMuX3ByaWNlU2NhbGU9bix0aGlzLl9taW5Nb3ZlPWwsdGhpcy5fbWluTW92ZTI9dCx0aGlzLl9mcmFjdGlvbmFsPW8sdGhpcy5fdmFyaWFibGVNaW5UaWNrPV8sdGhpcy5faWdub3JlTWluTW92ZT1pLHRoaXMuX2ZyYWN0aW9uYWxMZW5ndGg9Yyx0aGlzLl9pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ9YSx0aGlzLl9ub0V4cG9uZW50aWFsRm9ybT1lLm5vRXhwb25lbnRpYWxGb3JtLHRoaXMuX2ltcGxlbWVudGF0aW9uPW8/bmV3IHcoZCk6bmV3IGcoZCl9aXNGcmFjdGlvbmFsKCl7cmV0dXJuISF0aGlzLl9mcmFjdGlvbmFsfXN0YXRlKCl7cmV0dXJue21pbk1vdmU6dGhpcy5fbWluTW92ZSxtaW5Nb3ZlMjp0aGlzLl9taW5Nb3ZlMixwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsdmFyaWFibGVNaW5UaWNrOnRoaXMuX3ZhcmlhYmxlTWluVGljayxpZ25vcmVNaW5Nb3ZlOnRoaXMuX2lnbm9yZU1pbk1vdmUsZnJhY3Rpb25hbDp0aGlzLl9mcmFjdGlvbmFsLG5vRXhwb25lbnRpYWxGb3JtOnRoaXMuX25vRXhwb25lbnRpYWxGb3JtfX1mb3JtYXRDaGFuZ2UoZSx0LG8pe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5mb3JtYXRJbXBsKGUtdCx7Li4ubyx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6TWF0aC5taW4oTWF0aC5hYnMoZSksTWF0aC5hYnModCkpfSl9Zm9ybWF0KGUsdCl7cmV0dXJuIHRoaXMuX2ltcGxlbWVudGF0aW9uLmZvcm1hdEltcGwoZSx0KX1wYXJzZShlLHQpe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5wYXJzZShlLHQpfWhhc0ZvcmV4QWRkaXRpb25hbFByZWNpc2lvbigpe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5oYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKX1zdGF0aWMgc2VyaWFsaXplKGUpe3JldHVybiBlLnN0YXRlKCl9c3RhdGljIGRlc2VyaWFsaXplKGUpe3JldHVybiBuZXcgeShlKX19fSw3ODMyNTQoZSx0LG8pe28uZCh0LHt0OigpPT5yfSk7Y29uc3Qgcj1vLmkxOG5leHR9LDYyMDM1NChlLHQsbyl7dmFyIHI7by5kKHQse0xvZ29TaXplOigpPT5yfSksZnVuY3Rpb24oZSl7ZVtlLk1lZGl1bT0wXT0iTWVkaXVtIixlW2UuTGFyZ2U9MV09IkxhcmdlIn0ocnx8KHI9e30pKX0sNzQ5NjQ4KGUsdCxvKXtmdW5jdGlvbiByKGUsdD0hMSl7CiJsb2FkaW5nIiE9PWRvY3VtZW50LnJlYWR5U3RhdGU/dD9zZXRUaW1lb3V0KCgoKT0+ZSgpKSwxKTplKCk6ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsKCgpPT5lKCkpKX1vLmQodCx7d2hlbkRvY3VtZW50UmVhZHk6KCk9PnJ9KTtuZXcgUHJvbWlzZSgoZT0+e3IoZSl9KSl9LDYzNTE4KGUpewplLmV4cG9ydHM9SlNPTi5wYXJzZSgneyIxNDg1MSI6e30sImN1c3RvbV9pdGVtc19pbl9jb250ZXh0X21lbnUiOnt9LCJjb3VudGRvd24iOnt9LCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiI6e30sInBheV9hdHRlbnRpb25fdG9fdGlja2VyX25vdF9zeW1ib2wiOnt9LCJncmF5aW5nX2Rpc2FibGVkX3Rvb2xzX2VuYWJsZWQiOnt9LCJ1cGRhdGVfc3R1ZHlfZm9ybWF0dGVyX29uX3N5bWJvbF9yZXNvbHZlIjp7fSwiY29uc3RyYWludF9kaWFsb2dzX21vdmVtZW50Ijp7fSwicGhvbmVfdmVyaWZpY2F0aW9uIjp7fSwic2hvd190cmFkaW5nX25vdGlmaWNhdGlvbnNfaGlzdG9yeSI6e30sInNob3dfaW50ZXJ2YWxfZGlhbG9nX29uX2tleV9wcmVzcyI6e30sImhlYWRlcl9pbnRlcnZhbF9kaWFsb2dfYnV0dG9uIjp7InN1YnNldHMiOlsic2hvd19pbnRlcnZhbF9kaWFsb2dfb25fa2V5X3ByZXNzIl19LCJoZWFkZXJfZnVsbHNjcmVlbl9idXR0b24iOnt9LCJoZWFkZXJfc3ltYm9sX3NlYXJjaCI6e30sInN5bWJvbF9zZWFyY2hfaG90X2tleSI6e30sImhlYWRlcl9yZXNvbHV0aW9ucyI6eyJzdWJzZXRzIjpbImhlYWRlcl9pbnRlcnZhbF9kaWFsb2dfYnV0dG9uIl19LCJoZWFkZXJfY2hhcnRfdHlwZSI6e30sImhlYWRlcl9zZXR0aW5ncyI6e30sImhlYWRlcl9pbmRpY2F0b3JzIjp7fSwiaGVhZGVyX2NvbXBhcmUiOnt9LCJoZWFkZXJfdW5kb19yZWRvIjp7fSwiaGVhZGVyX3F1aWNrX3NlYXJjaCI6e30sImhlYWRlcl9zY3JlZW5zaG90Ijp7fSwiaGVhZGVyX3NhdmVsb2FkIjp7fSwic3R1ZHlfb25fc3R1ZHkiOnt9LCJzY2FsZXNfZGF0ZV9mb3JtYXQiOnt9LCJzY2FsZXNfdGltZV9ob3Vyc19mb3JtYXQiOnt9LCJoZWFkZXJfd2lkZ2V0Ijp7InN1YnNldHMiOlsiaGVhZGVyX3dpZGdldF9kb21fbm9kZSIsImhlYWRlcl9zeW1ib2xfc2VhcmNoIiwiaGVhZGVyX3Jlc29sdXRpb25zIiwiaGVhZGVyX2NoYXJ0X3R5cGUiLCJoZWFkZXJfc2V0dGluZ3MiLCJoZWFkZXJfaW5kaWNhdG9ycyIsImhlYWRlcl9jb21wYXJlIiwiaGVhZGVyX3VuZG9fcmVkbyIsImhlYWRlcl9xdWlja19zZWFyY2giLCJoZWFkZXJfZnVsbHNjcmVlbl9idXR0b24iLCJjb21wYXJlX3N5bWJvbCIsImhlYWRlcl9zY3JlZW5zaG90Il19LCJsZWdlbmRfd2lkZ2V0Ijp7fSwiY29tcGFyZV9zeW1ib2wiOnsic3Vic2V0cyI6WyJoZWFkZXJfY29tcGFyZSJdfSwicHJvcGVydHlfcGFnZXMiOnsic3Vic2V0cyI6WyJzaG93X2NoYXJ0X3Byb3BlcnR5X3BhZ2UiLCJjaGFydF9wcm9wZXJ0eV9wYWdlIl19LCJzaG93X2NoYXJ0X3Byb3BlcnR5X3BhZ2UiOnt9LCJjaGFydF9wcm9wZXJ0eV9wYWdlIjp7InN1YnNldHMiOlsiY2hhcnRfcHJvcGVydHlfcGFnZV9zY2FsZXMiLCJjaGFydF9wcm9wZXJ0eV9wYWdlX3RyYWRpbmciLCJjaGFydF9wcm9wZXJ0eV9wYWdlX3JpZ2h0X21hcmdpbl9lZGl0b3IiXX0sImxlZnRfdG9vbGJhciI6e30sInJpZ2h0X3Rvb2xiYXIiOnt9LCJoaWRlX2xlZnRfdG9vbGJhcl9ieV9kZWZhdWx0Ijp7fSwiY29udHJvbF9iYXIiOnt9LCJ3aWRnZXRfbG9nbyI6e30sInRpbWVmcmFtZXNfdG9vbGJhciI6e30sImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiOnsic3Vic2V0cyI6WyJzaG93X2hpZGVfYnV0dG9uX2luX2xlZ2VuZCIsImZvcm1hdF9idXR0b25faW5fbGVnZW5kIiwic3R1ZHlfYnV0dG9uc19pbl9sZWdlbmQiLCJkZWxldGVfYnV0dG9uX2luX2xlZ2VuZCIsImxlZ2VuZF9pbnBsYWNlX2VkaXQiXX0sInNob3dfaGlkZV9idXR0b25faW5fbGVnZW5kIjp7fSwib2JqZWN0X3RyZWVfbGVnZW5kX21vZGUiOnt9LCJmb3JtYXRfYnV0dG9uX2luX2xlZ2VuZCI6e30sInN0dWR5X2J1dHRvbnNfaW5fbGVnZW5kIjp7fSwiZGVsZXRlX2J1dHRvbl9pbl9sZWdlbmQiOnt9LCJsZWdlbmRfaW5wbGFjZV9lZGl0Ijp7fSwiYnJva2VyX2J1dHRvbiI6e30sImJ1eV9zZWxsX2J1dHRvbnMiOnsic3Vic2V0cyI6WyJicm9rZXJfYnV0dG9uIl19LCJzaG93X2J1eV9zZWxsX2J1dHRvbnNfb25fdW5zdXBwb3J0ZWRfcmVzb2x1dGlvbiI6e30sInBhbmVfY29udGV4dF9tZW51Ijp7fSwic2NhbGVzX2NvbnRleHRfbWVudSI6e30sImxlZ2VuZF9jb250ZXh0X21lbnUiOnt9LCJjb250ZXh0X21lbnVzIjp7InN1YnNldHMiOlsicGFuZV9jb250ZXh0X21lbnUiLCJzY2FsZXNfY29udGV4dF9tZW51IiwibGVnZW5kX2NvbnRleHRfbWVudSIsIm9iamVjdHNfdHJlZV9jb250ZXh0X21lbnUiXX0sIml0ZW1zX2Zhdm9yaXRpbmciOnt9LCJzYXZlX2NoYXJ0X3Byb3BlcnRpZXNfdG9fbG9jYWxfc3RvcmFnZSI6e30sInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIjp7InN1YnNldHMiOlsiaXRlbXNfZmF2b3JpdGluZyIsInNhdmVfY2hhcnRfcHJvcGVydGllc190b19sb2NhbF9zdG9yYWdlIl19LCJoYW5kbGVfc2NhbGUiOnsic3Vic2V0cyI6WyJtb3VzZV93aGVlbF9zY2FsZSIsInBpbmNoX3NjYWxlIiwiYXhpc19wcmVzc2VkX21vdXNlX21vdmVfc2NhbGUiXX0sImhhbmRsZV9zY3JvbGwiOnsic3Vic2V0cyI6WyJtb3VzZV93aGVlbF9zY3JvbGwiLCJwcmVzc2VkX21vdXNlX21vdmVfc2Nyb2xsIiwiaG9yel90b3VjaF9kcmFnX3Njcm9sbCIsInZlcnRfdG91Y2hfZHJhZ19zY3JvbGwiXX0sInBsYWluX3N0dWR5bWFya2V0Ijp7fSwiZGlzYWJsZV9yZXNvbHV0aW9uX3JlYnVpbGQiOnt9LCJib3JkZXJfYXJvdW5kX3RoZV9jaGFydCI6e30sImNoYXJ0aW5nX2xpYnJhcnlfZGVidWdfbW9kZSI6e30sInNhdmVsb2FkX3JlcXVpcmVzX2F1dGhlbnRpY2F0aW9uIjp7fSwic2F2ZWxvYWRfc3RvcmFnZV9jdXN0b21pemF0aW9uIjp7fSwidm9sdW1lX2ZvcmNlX292ZXJsYXkiOnt9LCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0Ijp7fSwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdF9vbmNlIjp7fSwic2F2ZWRfY2hhcnRzX2NvdW50X3Jlc3RyaWN0aW9uIjp7fSwibGVhbl9jaGFydF9sb2FkIjp7fSwic3RvcF9zdHVkeV9vbl9yZXN0YXJ0Ijp7fSwic3Rhcl9zb21lX2ludGVydmFsc19ieV9kZWZhdWx0Ijp7fSwibW92ZV9sb2dvX3RvX21haW5fcGFuZSI6e30sInNob3dfYW5pbWF0ZWRfbG9nbyI6e30sImxpbmtfdG9fdHJhZGluZ3ZpZXciOnt9LCJsb2dvX3dpdGhvdXRfbGluayI6e30sImxvZ29fYWx3YXlzX21heGltaXplZCI6e30sInJpZ2h0X2Jhcl9zdGF5c19vbl9zY3JvbGwiOnt9LCJjaGFydF9jb250ZW50X292ZXJyaWRlc19ieV9kZWZhdWx0cyI6e30sInNuYXBzaG90X3RyYWRpbmdfZHJhd2luZ3MiOnt9LCJhbGxvd19zdXBwb3J0ZWRfcmVzb2x1dGlvbnNfc2V0X29ubHkiOnt9LCJ3aWRnZXRiYXJfdGFicyI6eyJzdWJzZXRzIjpbInJpZ2h0X3Rvb2xiYXIiXX0sInNob3dfb2JqZWN0X3RyZWUiOnsic3Vic2V0cyI6WyJyaWdodF90b29sYmFyIl19LCJkb21fd2lkZ2V0Ijp7InN1YnNldHMiOlsicmlnaHRfdG9vbGJhciJdfSwiY29sbGFwc2libGVfaGVhZGVyIjp7fSwic3R1ZHlfdGVtcGxhdGVzIjp7fSwia2VlcF9zZWxlY3RlZF9ncm91cF9vbl90b29sX2NyZWF0aW9uIjp7fSwic2lkZV90b29sYmFyX2luX2Z1bGxzY3JlZW5fbW9kZSI6e30sImhlYWRlcl9pbl9mdWxsc2NyZWVuX21vZGUiOnt9LCJyZW1vdmVfbGlicmFyeV9jb250YWluZXJfYm9yZGVyIjp7fSwid2hvdHJhZGVzX2F1dGhfb25seSI6e30sInN1cHBvcnRfbXVsdGljaGFydHMiOnt9LCJkaXNwbGF5X21hcmtldF9zdGF0dXMiOnt9LCJkaXNwbGF5X2RhdGFfbW9kZSI6e30sImRhdGFzb3VyY2VfY29weXBhc3RlIjp7fSwiZHJhd2luZ190ZW1wbGF0ZXMiOnsic3Vic2V0cyI6WyJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIl19LCJleHBhbmRfc3ltYm9sc2VhcmNoX2l0ZW1zIjp7fSwic3ltYm9sX3NlYXJjaF90aHJlZV9jb2x1bW5zX2V4Y2hhbmdlcyI6e30sInN5bWJvbF9zZWFyY2hfZmxhZ3MiOnt9LCJzeW1ib2xfc2VhcmNoX2xpbWl0ZWRfZXhjaGFuZ2VzIjp7fSwiYnVncmVwb3J0X2J1dHRvbiI6eyJzdWJzZXRzIjpbInJpZ2h0X3Rvb2xiYXIiXX0sImhlYWRlcl90cmFkZV9idXR0b24iOnt9LCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIjp7fSwiZm9vdGVyX3B1Ymxpc2hfaWRlYV9idXR0b24iOnt9LCJ0ZXh0X25vdGVzIjp7fSwic2hvd19zb3VyY2VfY29kZSI6e30sInN5bWJvbF9pbmZvIjp7fSwibm9fYmFyc19zdGF0dXMiOnt9LCJjbGVhcl9iYXJzX29uX3Nlcmllc19lcnJvciI6e30sImhpZGVfbG9hZGluZ19zY3JlZW5fb25fc2VyaWVzX2Vycm9yIjp7fSwic2Vjb25kc19yZXNvbHV0aW9uIjp7fSwiZG9udF9zaG93X2Jvb2xlYW5fc3R1ZHlfYXJndW1lbnRzIjp7fSwiaGlkZV9sYXN0X25hX3N0dWR5X291dHB1dCI6e30sInByaWNlX3NjYWxlX2Fsd2F5c19sYXN0X2Jhcl92YWx1ZSI6e30sInN0dWR5X2RpYWxvZ19mdW5kYW1lbnRhbHNfZWNvbm9teV9hZGRvbnMiOnt9LCJ1cHBlcmNhc2VfaW5zdHJ1bWVudF9uYW1lcyI6e30sInRyYWRpbmdfbm90aWZpY2F0aW9ucyI6e30sImNoYXJ0X2Nyb3NzaGFpcl9tZW51Ijp7fSwiamFwYW5lc2VfY2hhcnRfc3R5bGVzIjp7fSwiaGlkZV9zZXJpZXNfbGVnZW5kX2l0ZW0iOnt9LCJoaWRlX3N0dWR5X292ZXJsYXlfbGVnZW5kX2l0ZW0iOnt9LCJoaWRlX3N0dWR5X2NvbXBhcmVfbGVnZW5kX2l0ZW0iOnt9LCJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIjp7fSwidXNlX292ZXJyaWRlc19mb3Jfb3ZlcmxheSI6e30sInRpbWV6b25lX21lbnUiOnt9LCJtYWluX3Nlcmllc19zY2FsZV9tZW51Ijp7fSwic2hvd19sb2dpbl9kaWFsb2ciOnt9LCJyZW1vdmVfaW1nX2Zyb21fcnNzIjp7fSwiYmFyc19tYXJrcyI6e30sImNoYXJ0X3Njcm9sbCI6e30sImNoYXJ0X3pvb20iOnt9LCJzb3VyY2Vfc2VsZWN0aW9uX21hcmtlcnMiOnt9LCJsb3dfZGVuc2l0eV9iYXJzIjp7fSwiZW5kX29mX3BlcmlvZF90aW1lc2NhbGVfbWFya3MiOnt9LCJvcGVuX2FjY291bnRfbWFuYWdlciI6e30sInNob3dfb3JkZXJfcGFuZWxfb25fc3RhcnQiOnt9LCJvcmRlcl9wYW5lbCI6eyJzdWJzZXRzIjpbIm9yZGVyX3BhbmVsX2Nsb3NlX2J1dHRvbiIsIm9yZGVyX3BhbmVsX3VuZG9jayIsInJpZ2h0X3Rvb2xiYXIiLCJvcmRlcl9pbmZvIl19LCJtdWx0aXBsZV93YXRjaGxpc3RzIjp7fSwid2F0Y2hsaXN0X2ltcG9ydF9leHBvcnQiOnt9LCJzdHVkeV9vdmVybGF5X2NvbXBhcmVfbGVnZW5kX29wdGlvbiI6e30sIm1vYmlsZV9hcHBfYWN0aW9uX29wZW5fZGV0YWlsc193ZWJ2aWV3Ijp7fSwiY3VzdG9tX3Jlc29sdXRpb25zIjp7fSwicmVmZXJyYWxfcHJvZ3JhbV9mb3Jfd2lkZ2V0X293bmVycyI6e30sIm1vYmlsZV90cmFkaW5nIjp7fSwicmVhbF9icm9rZXJzIjp7fSwicXVpY2tfdHJhZGluZ19wYW5lbCI6e30sIm5hdGl2ZV9tb2JpbGVfYnJva2Vyc19saXN0Ijp7fSwibm9fbWluX2NoYXJ0X3dpZHRoIjp7fSwibG9ja192aXNpYmxlX3RpbWVfcmFuZ2Vfb25fcmVzaXplIjp7fSwicHJpY2VzY2FsZV9jdXJyZW5jeSI6e30sImNyb3BwZWRfdGlja19tYXJrcyI6e30sInRyYWRpbmdfYWNjb3VudF9tYW5hZ2VyIjp7fSwiZGlzYWJsZV9zYW1laW50ZXJ2YWxfYWxpZ25pbmciOnt9LCJkaXNwbGF5X2xlZ2VuZF9vbl9hbGxfY2hhcnRzIjp7fSwiY2hhcnRfc3R5bGVfaGlsbyI6e30sImNoYXJ0X3N0eWxlX2hpbG9fbGFzdF9wcmljZSI6e30sInByaWNlc2NhbGVfdW5pdCI6e30sInNob3dfc3ByZWFkX29wZXJhdG9ycyI6e30sImhpZGVfZXhwb25lbnRpYXRpb25fc3ByZWFkX29wZXJhdG9yIjp7fSwiaGlkZV9yZWNpcHJvY2FsX3NwcmVhZF9vcGVyYXRvciI6e30sImNvbXBhcmVfc3ltYm9sX3NlYXJjaF9zcHJlYWRfb3BlcmF0b3JzIjp7fSwic3R1ZGllc19zeW1ib2xfc2VhcmNoX3NwcmVhZF9vcGVyYXRvcnMiOnt9LCJoaWRlX3Jlc29sdXRpb25faW5fbGVnZW5kIjp7fSwiaGlkZV91bnJlc29sdmVkX3N5bWJvbHNfaW5fbGVnZW5kIjp7fSwiZml4X2xlZnRfZWRnZSI6e30sInN0dWR5X3N5bWJvbF90aWNrZXJfZGVzY3JpcHRpb24iOnt9LCJ0d29fY2hhcmFjdGVyX2Jhcl9tYXJrc19sYWJlbHMiOnt9LCJwaW5fYmFyX21hcmtfdG9vbHRpcHNfb25fY2xpY2siOnt9LCJ0aWNrX3Jlc29sdXRpb24iOnt9LCJzZWNvbmRhcnlfc2VyaWVzX2V4dGVuZF90aW1lX3NjYWxlIjp7fSwiaGlkZV92b2x1bWVfbWEiOnt9LCJzbWFsbF9ub19kaXNwbGF5Ijp7fSwiY2hhcnRpbmdfbGlicmFyeV9zaW5nbGVfc3ltYm9sX3JlcXVlc3QiOnt9LCJ1c2VfdGlja2VyX29uX3N5bWJvbF9pbmZvX3VwZGF0ZSI6e30sInNob3dfem9vbV9hbmRfbW92ZV9idXR0b25zX29uX3RvdWNoIjp7fSwiaGlkZV9tYWluX3Nlcmllc19zeW1ib2xfZnJvbV9pbmRpY2F0b3JfbGVnZW5kIjp7fSwiY2hhcnRfaGlkZV9jbG9zZV9wb3NpdGlvbl9idXR0b24iOnt9LCJjaGFydF9oaWRlX2Nsb3NlX29yZGVyX2J1dHRvbiI6e30sImhpZGVfcHJpY2Vfc2NhbGVfZ2xvYmFsX2xhc3RfYmFyX3ZhbHVlIjp7InN1YnNldHMiOlsidXNlX2xhc3RfdmlzaWJsZV9iYXJfdmFsdWVfaW5fbGVnZW5kIl19LCJrZWVwX29iamVjdF90cmVlX3dpZGdldF9pbl9yaWdodF90b29sYmFyIjp7fSwic2hvd19hdmVyYWdlX2Nsb3NlX3ByaWNlX2xpbmVfYW5kX2xhYmVsIjp7fSwiaGlkZV9pbWFnZV9pbnZhbGlkX3N5bWJvbCI6e30sImhpZGVfb2JqZWN0X3RyZWVfYW5kX3ByaWNlX3NjYWxlX2V4Y2hhbmdlX2xhYmVsIjp7fSwiY29uZmlybV9vdmVyd3JpdGVfaWZfY2hhcnRfbGF5b3V0X3dpdGhfbmFtZV9leGlzdHMiOnt9LCJkZXRlcm1pbmVfZmlyc3RfZGF0YV9yZXF1ZXN0X3NpemVfdXNpbmdfdmlzaWJsZV9yYW5nZSI6e30sInVzZV9uYV9zdHJpbmdfZm9yX25vdF9hdmFpbGFibGVfdmFsdWVzIjp7fSwic2hvd19sYXN0X3ByaWNlX2FuZF9jaGFuZ2Vfb25seV9pbl9zZXJpZXNfbGVnZW5kIjp7fSwibGVnZW5kX2xhc3RfZGF5X2NoYW5nZSI6e30sImlmcmFtZV9sb2FkaW5nX2NvbXBhdGliaWxpdHlfbW9kZSI6e30sInNob3dfcGVyY2VudF9vcHRpb25fZm9yX3JpZ2h0X21hcmdpbiI6e30sIndhdGNobGlzdF9jb250ZXh0X21lbnUiOnt9LCJhY2Nlc3NpYmxlX2tleWJvYXJkX3Nob3J0Y3V0cyI6e30sImFkdmFuY2VkX2Vtb2ppX2luX3RpdGxlcyI6e30sImFwcF9waG9uZSI6e30sImFwcF90YWJsZXQiOnt9LCJtb2JpbGVfYXBwX2hpZGVfcmVwbGF5X3Rvb2xiYXIiOnt9LCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciI6e30sInNob3dfbmF0aXZlX3N5bWJvbF9zZWFyY2hfb25fdGFwX2luX2xlZ2VuZCI6e30sInNob3dfbmF0aXZlX3N5bWJvbF9zZWFyY2hfb25fbm9uX3RyYWRhYmxlIjp7fSwic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyI6e30sInByZV9wb3N0X21hcmtldF9wcmljZV9saW5lIjp7fSwicHJlX3Bvc3RfbWFya2V0X3Nlc3Npb25zIjp7fSwic3R1ZGllc19leHRlbmRfdGltZV9zY2FsZSI6e30sImluYWN0aXZpdHlfZ2FwcyI6e30sImFsaWduX2R3bV9iYXJzX3RvX21haW5fc2VyaWVzIjp7fSwicmVxdWVzdF9vbmx5X3Zpc2libGVfcmFuZ2Vfb25fcmVzZXQiOnt9LCJleHRlbmRlZF9leHRyYXBvbGF0aW9uX2xpbWl0Ijp7fSwidHZfcHJvZHVjdGlvbiI6eyJzdWJzZXRzIjpbIndhdGNobGlzdF9zZWN0aW9ucyIsImFkdmFuY2VkX2Vtb2ppX2luX3RpdGxlcyIsImF1dG9fZW5hYmxlX3N5bWJvbF9sYWJlbHMiLCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiIsImhlYWRlcl9mdWxsc2NyZWVuX2J1dHRvbiIsImhlYWRlcl93aWRnZXQiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJsZWZ0X3Rvb2xiYXIiLCJyaWdodF90b29sYmFyIiwiYnV5X3NlbGxfYnV0dG9ucyIsImNvbnRyb2xfYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwiY29udGV4dF9tZW51cyIsImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiLCJvYmplY3RfdHJlZV9sZWdlbmRfbW9kZSIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwidXNlX2xvY2Fsc3RvcmFnZV9mb3Jfc2V0dGluZ3MiLCJzYXZlbG9hZF9yZXF1aXJlc19hdXRoZW50aWNhdGlvbiIsInZvbHVtZV9mb3JjZV9vdmVybGF5Iiwic2F2ZWRfY2hhcnRzX2NvdW50X3Jlc3RyaWN0aW9uIiwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdCIsImNyZWF0ZV92b2x1bWVfaW5kaWNhdG9yX2J5X2RlZmF1bHRfb25jZSIsImNoYXJ0c19hdXRvX3NhdmUiLCJzYXZlX29sZF9jaGFydF9iZWZvcmVfc2F2ZV9hcyIsImNoYXJ0X2NvbnRlbnRfb3ZlcnJpZGVzX2J5X2RlZmF1bHRzIiwiYWxlcnRzIiwiaGVhZGVyX3NhdmVsb2FkIiwiaGVhZGVyX2xheW91dHRvZ2dsZSIsImRhdGFzb3VyY2VfY29weXBhc3RlIiwic2hvd19zYXZlZF93YXRjaGxpc3RzIiwid2F0Y2hsaXN0c19mcm9tX3RvX2ZpbGUiLCJhZGRfdG9fd2F0Y2hsaXN0IiwicHJvcGVydHlfcGFnZXMiLCJzdXBwb3J0X211bHRpY2hhcnRzIiwiZGlzcGxheV9tYXJrZXRfc3RhdHVzIiwiZGlzcGxheV9kYXRhX21vZGUiLCJzaG93X2NoYXJ0X3dhcm5fbWVzc2FnZSIsInN1cHBvcnRfbWFuYWdlX2RyYXdpbmdzIiwid2lkZ2V0YmFyX3RhYnMiLCJzdHVkeV90ZW1wbGF0ZXMiLCJjb2xsYXBzaWJsZV9oZWFkZXIiLCJkcmF3aW5nX3RlbXBsYXRlcyIsImhlYWRlcl90cmFkZV9idXR0b24iLCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIiwiZm9vdGVyX3B1Ymxpc2hfaWRlYV9idXR0b24iLCJ0ZXh0X25vdGVzIiwic2hvd19zb3VyY2VfY29kZSIsInN5bWJvbF9pbmZvIiwibGluZXRvb2xwcm9wZXJ0aWVzd2lkZ2V0X3RlbXBsYXRlX2J1dHRvbiIsInRyYWRpbmdfbm90aWZpY2F0aW9ucyIsInN5bWJvbF9zZWFyY2hfdGhyZWVfY29sdW1uc19leGNoYW5nZXMiLCJzeW1ib2xfc2VhcmNoX2ZsYWdzIiwic3ltYm9sX3NlYXJjaF9saW1pdGVkX2V4Y2hhbmdlcyIsInBob25lX3ZlcmlmaWNhdGlvbiIsImN1c3RvbV9yZXNvbHV0aW9ucyIsImNvbXBhcmVfc3ltYm9sIiwic3R1ZHlfb25fc3R1ZHkiLCJqYXBhbmVzZV9jaGFydF9zdHlsZXMiLCJzaG93X2xvZ2luX2RpYWxvZyIsImRvbV93aWRnZXQiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNob3dfdHJhZGluZ19ub3RpZmljYXRpb25zX2hpc3RvcnkiLCJzb3VyY2Vfc2VsZWN0aW9uX21hcmtlcnMiLCJzdHVkeV9kaWFsb2dfZnVuZGFtZW50YWxzX2Vjb25vbXlfYWRkb25zIiwibXVsdGlwbGVfd2F0Y2hsaXN0cyIsIm1hcmtlZF9zeW1ib2xzIiwib3JkZXJfcGFuZWwiLCJwcmljZXNjYWxlX2N1cnJlbmN5Iiwic2hvd19hbmltYXRlZF9sb2dvIiwicHJpY2VzY2FsZV9jdXJyZW5jeSIsInNob3dfb2JqZWN0X3RyZWUiLCJ3YXRjaGxpc3RfaW1wb3J0X2V4cG9ydCIsInNjYWxlc19kYXRlX2Zvcm1hdCIsInNjYWxlc190aW1lX2hvdXJzX2Zvcm1hdCIsInBvcHVwX2hpbnRzIiwic2hvd19yaWdodF93aWRnZXRzX3BhbmVsX2J5X2RlZmF1bHQiLCJjb21wYXJlX3JlY2VudF9zeW1ib2xzX2VuYWJsZWQiLCJjaGFydF9zdHlsZV9oaWxvX2xhc3RfcHJpY2UiLCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIsInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiLCJrZWVwX3NlbGVjdGVkX2dyb3VwX29uX3Rvb2xfY3JlYXRpb24iXX0sIndpZGdldCI6eyJzdWJzZXRzIjpbImF1dG9fZW5hYmxlX3N5bWJvbF9sYWJlbHMiLCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwibGVmdF90b29sYmFyIiwicmlnaHRfdG9vbGJhciIsImNvbnRyb2xfYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwiY29udGV4dF9tZW51cyIsImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiLCJvYmplY3RfdHJlZV9sZWdlbmRfbW9kZSIsInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIiwic2F2ZWxvYWRfcmVxdWlyZXNfYXV0aGVudGljYXRpb24iLCJ2b2x1bWVfZm9yY2Vfb3ZlcmxheSIsImNyZWF0ZV92b2x1bWVfaW5kaWNhdG9yX2J5X2RlZmF1bHQiLCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0X29uY2UiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJoZWFkZXJfd2lkZ2V0X2RvbV9ub2RlIiwiaGVhZGVyX3N5bWJvbF9zZWFyY2giLCJoZWFkZXJfcmVzb2x1dGlvbnMiLCJoZWFkZXJfY2hhcnRfdHlwZSIsImhlYWRlcl9jb21wYXJlIiwiaGVhZGVyX2luZGljYXRvcnMiLCJzdGFyX3NvbWVfaW50ZXJ2YWxzX2J5X2RlZmF1bHQiLCJkaXNwbGF5X21hcmtldF9zdGF0dXMiLCJkaXNwbGF5X2RhdGFfbW9kZSIsInNob3dfY2hhcnRfd2Fybl9tZXNzYWdlIiwic3ltYm9sX2luZm8iLCJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIiwic3ltYm9sX3NlYXJjaF90aHJlZV9jb2x1bW5zX2V4Y2hhbmdlcyIsInN5bWJvbF9zZWFyY2hfZmxhZ3MiLCJzeW1ib2xfc2VhcmNoX2xpbWl0ZWRfZXhjaGFuZ2VzIiwid2lkZ2V0YmFyX3RhYnMiLCJjb21wYXJlX3N5bWJvbCIsInNob3dfbG9naW5fZGlhbG9nIiwicGxhaW5fc3R1ZHltYXJrZXQiLCJqYXBhbmVzZV9jaGFydF9zdHlsZXMiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNvdXJjZV9zZWxlY3Rpb25fbWFya2VycyIsInByb3BlcnR5X3BhZ2VzIiwic2hvd19yaWdodF93aWRnZXRzX3BhbmVsX2J5X2RlZmF1bHQiLCJjaGFydF9zdHlsZV9oaWxvX2xhc3RfcHJpY2UiLCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIl19LCJib3Zlc3BhX3dpZGdldCI6eyJzdWJzZXRzIjpbIndpZGdldCIsImhlYWRlcl9zZXR0aW5ncyIsImxpbmV0b29scHJvcGVydGllc3dpZGdldF90ZW1wbGF0ZV9idXR0b24iLCJjb21wYXJlX3JlY2VudF9zeW1ib2xzX2VuYWJsZWQiXX0sImNoYXJ0aW5nX2xpYnJhcnlfYmFzZSI6eyJzdWJzZXRzIjpbIjE0ODUxIiwiYWxsb3dfc3VwcG9ydGVkX3Jlc29sdXRpb25zX3NldF9vbmx5IiwiYXV0b19lbmFibGVfc3ltYm9sX2xhYmVscyIsImJvcmRlcl9hcm91bmRfdGhlX2NoYXJ0IiwiY29sbGFwc2libGVfaGVhZGVyIiwiY29uc3RyYWludF9kaWFsb2dzX21vdmVtZW50IiwiY29udGV4dF9tZW51cyIsImNvbnRyb2xfYmFyIiwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdCIsImN1c3RvbV9pdGVtc19pbl9jb250ZXh0X21lbnUiLCJkYXRhc291cmNlX2NvcHlwYXN0ZSIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwiZGlzcGxheV9tYXJrZXRfc3RhdHVzIiwiZWRpdF9idXR0b25zX2luX2xlZ2VuZCIsIm9iamVjdF90cmVlX2xlZ2VuZF9tb2RlIiwiZ3JheWluZ19kaXNhYmxlZF90b29sc19lbmFibGVkIiwiaGVhZGVyX3dpZGdldCIsImxlZ2VuZF93aWRnZXQiLCJoZWFkZXJfc2F2ZWxvYWQiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJsZWFuX2NoYXJ0X2xvYWQiLCJsZWZ0X3Rvb2xiYXIiLCJyaWdodF90b29sYmFyIiwibGlua190b190cmFkaW5ndmlldyIsInBheV9hdHRlbnRpb25fdG9fdGlja2VyX25vdF9zeW1ib2wiLCJwbGFpbl9zdHVkeW1hcmtldCIsInJlZnJlc2hfc2F2ZWRfY2hhcnRzX2xpc3Rfb25fZGlhbG9nX3Nob3ciLCJyaWdodF9iYXJfc3RheXNfb25fc2Nyb2xsIiwic2F2ZWxvYWRfc3RvcmFnZV9jdXN0b21pemF0aW9uIiwic3RvcF9zdHVkeV9vbl9yZXN0YXJ0IiwidGltZWZyYW1lc190b29sYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwidXBkYXRlX3N0dWR5X2Zvcm1hdHRlcl9vbl9zeW1ib2xfcmVzb2x2ZSIsInVwZGF0ZV90aW1lZnJhbWVzX3NldF9vbl9zeW1ib2xfcmVzb2x2ZSIsInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIiwidm9sdW1lX2ZvcmNlX292ZXJsYXkiLCJ3aWRnZXRfbG9nbyIsImNvdW50ZG93biIsInVzZV9vdmVycmlkZXNfZm9yX292ZXJsYXkiLCJ0cmFkaW5nX25vdGlmaWNhdGlvbnMiLCJjb21wYXJlX3N5bWJvbCIsInN5bWJvbF9pbmZvIiwidGltZXpvbmVfbWVudSIsIm1haW5fc2VyaWVzX3NjYWxlX21lbnUiLCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0X29uY2UiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNvdXJjZV9zZWxlY3Rpb25fbWFya2VycyIsInByb3BlcnR5X3BhZ2VzIiwiZ29fdG9fZGF0ZSIsImFkYXB0aXZlX2xvZ28iLCJzaG93X2FuaW1hdGVkX2xvZ28iLCJoYW5kbGVfc2NhbGUiLCJoYW5kbGVfc2Nyb2xsIiwic2hpZnRfdmlzaWJsZV9yYW5nZV9vbl9uZXdfYmFyIiwiY2hhcnRfY29udGVudF9vdmVycmlkZXNfYnlfZGVmYXVsdHMiLCJjcm9wcGVkX3RpY2tfbWFya3MiLCJzY2FsZXNfZGF0ZV9mb3JtYXQiLCJzY2FsZXNfdGltZV9ob3Vyc19mb3JtYXQiLCJwb3B1cF9oaW50cyIsInNhdmVfc2hvcnRjdXQiLCJzaG93X3JpZ2h0X3dpZGdldHNfcGFuZWxfYnlfZGVmYXVsdCIsInNob3dfb2JqZWN0X3RyZWUiLCJpbnNlcnRfaW5kaWNhdG9yX2RpYWxvZ19zaG9ydGN1dCIsImNvbXBhcmVfcmVjZW50X3N5bWJvbHNfZW5hYmxlZCIsImhpZGVfbWFpbl9zZXJpZXNfc3ltYm9sX2Zyb21faW5kaWNhdG9yX2xlZ2VuZCIsImNoYXJ0X3N0eWxlX2hpbG8iLCJyZXF1ZXN0X29ubHlfdmlzaWJsZV9yYW5nZV9vbl9yZXNldCIsImNsZWFyX3ByaWNlX3NjYWxlX29uX2Vycm9yX29yX2VtcHR5X2JhcnMiLCJzaG93X3N5bWJvbF9sb2dvX2luX2xlZ2VuZCIsInNob3dfc3ltYm9sX2xvZ29fZm9yX2NvbXBhcmVfc3R1ZGllcyIsImxpYnJhcnlfY3VzdG9tX2NvbG9yX3RoZW1lcyIsImxvbmdfcHJlc3NfZmxvYXRpbmdfdG9vbHRpcCIsInN5bWJvbF9zZWFyY2hfaGlnaGxpZ2h0X2FjdGl2ZV9zeW1ib2wiXX0sImNoYXJ0aW5nX2xpYnJhcnkiOnsic3Vic2V0cyI6WyJjaGFydGluZ19saWJyYXJ5X2Jhc2UiXX0sInN0YXRpY19jaGFydHNfc2VydmljZSI6eyJzdWJzZXRzIjpbImNoYXJ0aW5nX2xpYnJhcnkiLCJkaXNhYmxlX3Jlc29sdXRpb25fcmVidWlsZCJdfSwidHJhZGluZ190ZXJtaW5hbCI6eyJzdWJzZXRzIjpbImNoYXJ0aW5nX2xpYnJhcnlfYmFzZSIsInN1cHBvcnRfbXVsdGljaGFydHMiLCJoZWFkZXJfbGF5b3V0dG9nZ2xlIiwiamFwYW5lc2VfY2hhcnRfc3R5bGVzIiwiY2hhcnRfcHJvcGVydHlfcGFnZV90cmFkaW5nIiwiYWRkX3RvX3dhdGNobGlzdCIsIm9wZW5fYWNjb3VudF9tYW5hZ2VyIiwic2hvd19kb21fZmlyc3RfdGltZSIsIm9yZGVyX3BhbmVsIiwiYnV5X3NlbGxfYnV0dG9ucyIsIm11bHRpcGxlX3dhdGNobGlzdHMiLCJzaG93X3RyYWRpbmdfbm90aWZpY2F0aW9uc19oaXN0b3J5IiwiYWx3YXlzX3Bhc3NfY2FsbGVkX29yZGVyX3RvX21vZGlmeSIsInNob3dfb2JqZWN0X3RyZWUiLCJ3YXRjaGxpc3RfaW1wb3J0X2V4cG9ydCIsImRyYXdpbmdfdGVtcGxhdGVzIiwidHJhZGluZ19hY2NvdW50X21hbmFnZXIiLCJjaGFydF9jcm9zc2hhaXJfbWVudSIsImNvbXBhcmVfcmVjZW50X3N5bWJvbHNfZW5hYmxlZCIsIndhdGNobGlzdF9jb250ZXh0X21lbnUiLCJzaG93X3N5bWJvbF9sb2dvX2luX2FjY291bnRfbWFuYWdlciIsInNob3dfc3ltYm9sX2xvZ29faW5fY2xvc2VfcG9zaXRpb25fZGlhbG9nIiwic2hvd19zeW1ib2xfbG9nb19pbl9jYW5jZWxfb3JkZXJfZGlhbG9nIiwid2F0Y2hsaXN0X3NlY3Rpb25zIiwicHJlZmVyX3F1b3RlX3Nob3J0X25hbWUiLCJlbmFibGVfZG9tX2RhdGFfZm9yX3VudHJhZGFibGVfc3ltYm9scyIsInByZWZlcl9zeW1ib2xfbmFtZV9vdmVyX2Z1bGxuYW1lIiwid2F0Y2hsaXN0X2Nyb3NzX3RhYl9zeW5jIl19fScpCn0sNzQ2OTQ5KGUpewplLmV4cG9ydHM9SlNPTi5wYXJzZSgneyJhZHgiOiJ3aWRnZXRfdXNlcl90b2tlbi1hZHgiLCJhZHhEIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWR4RCIsImFnZW5jaWFsYm1jb21iciI6IndpZGdldF91c2VyX3Rva2VuLWFnZW5jaWFsYm1jb21iciIsImFsamF6aXJhY2FwaXRhbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbGphemlyYWNhcGl0YWxEIiwiYWxqYXppcmFjYXBpdGFsUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbGphemlyYWNhcGl0YWxSVCIsImFscmFqaGljYXBpdGFsY29tRCI6IndpZGdldF91c2VyX3Rva2VuLWFscmFqaGljYXBpdGFsY29tRCIsImFscmFqaGljYXBpdGFsY29tUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbHJhamhpY2FwaXRhbGNvbVJUIiwiYW1iaXRvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYW1iaXRvIiwiYXJlbmF4dHJvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYXJlbmF4dHJvIiwiYXJ0ZWNoZWNvbSI6IndpZGdldF91c2VyX3Rva2VuLUFydGVjaGVEIiwiYXRsY2FwaXRhbCI6IndpZGdldF91c2VyX3Rva2VuLWF0bGNhcGl0YWwiLCJiYW5raXJvc3J1Ijoid2lkZ2V0X3VzZXJfdG9rZW4tYmFua2lyb3NydSIsImJidmFjaCI6IndpZGdldF91c2VyX3Rva2VuLWJidmFjaCIsImJlZWtzZ3JvdXAiOiJ3aWRnZXRfdXNlcl90b2tlbi1iZWVrc2dyb3VwIiwiYmVsdWdhZ3JvdXBydSI6IndpZGdldF91c2VyX3Rva2VuLWJlbHVnYWdyb3VwcnUiLCJiaXZhY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tYml2YWNvbSIsImJsdWVmaWVsZCI6IndpZGdldF91c2VyX3Rva2VuLWJsdWVmaWVsZCIsImJsdWVsaW5lZnV0dXJlcyI6IndpZGdldF91c2VyX3Rva2VuLWJsdWVsaW5lZnV0dXJlcyIsImJvdmVzcGEiOiJ3aWRnZXRfdXNlcl90b2tlbi1ibWZib3Zlc3BhY29tYnIiLCJidmJybyI6IndpZGdldF91c2VyX3Rva2VuLWJ2YnJvIiwiYnl0ZXRyYXZlbCI6IndpZGdldF91c2VyX3Rva2VuLWJ5dGV0cmF2ZWwiLCJjYm9lY2FuYWRhIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2JvZWNhbmFkYSIsImNoYW1waW9ubmF0Ym91cnNlIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2hhbXBpb25uYXRib3Vyc2UiLCJjaW5jb2RpYXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jaW5jb2RpYXMiLCJjZW9jYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1jZW9jYUQiLCJjZW9jYVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2VvY2FSVCIsImNtY21hcmtldHMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jbWNtYXJrZXRzIiwiY29wZWVzIjoid2lkZ2V0X3VzZXJfdG9rZW4tY29wZWVzIiwiY3NlbGsiOiJ3aWRnZXRfdXNlcl90b2tlbi1jc2VsayIsImRhaWx5ZngiOiJ3aWRnZXRfdXNlcl90b2tlbi1kYWlseWZ4IiwiZGVlcHNlYXJjaCI6IndpZGdldF91c2VyX3Rva2VuLWRlZXBzZWFyY2giLCJkZXJheWFoY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGVyYXlhaGNvbSIsImRmbWFlRCI6IndpZGdldF91c2VyX3Rva2VuLWRmbWFlRCIsImRmbWFlUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kZm1hZVJUIiwiZGluYXJzYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kaW5hcnNhRCIsImRpbmFyc2FSVCI6IndpZGdldF91c2VyX3Rva2VuLWRpbmFyc2FSVCIsImRvbGFyaG95Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZG9sYXJob3kiLCJlYXN5bnZlc3Rjb21iciI6IndpZGdldF91c2VyX3Rva2VuLWVhc3ludmVzdGNvbWJyIiwiZWRhaWx5Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZWRhaWx5IiwiZWxlc3Bhbm9sY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxlc3Bhbm9sY29tIiwiZWxvYnJlcm9lcyI6IndpZGdldF91c2VyX3Rva2VuLWVsb2JyZXJvZXMiLCJlbG5hY2lvbmFsRCI6IndpZGdldF91c2VyX3Rva2VuLUVsTmFjaW9uYWxEIiwiZWxwYWlzZmluYW5jaWVybyI6IndpZGdldF91c2VyX3Rva2VuLWVscGFpc2ZpbmFuY2llcm8iLCJlbHBlcmlvZGljb2RlbGFlbmVyZ2lhIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxwZXJpb2RpY29kZWxhZW5lcmdpYSIsImV1cXVlcm9pbnZlc3RpciI6IndpZGdldF91c2VyX3Rva2VuLWV1cXVlcm9pbnZlc3RpcmNvbSIsImV1cmV4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZXVyZXgiLCJldXJvZmlucyI6IndpZGdldF91c2VyX3Rva2VuLWV1cm9maW5zIiwiZXBlIjoid2lkZ2V0X3VzZXJfdG9rZW4tZXBlIiwiZXVyb3BhcHJlc3NlcyI6IndpZGdldF91c2VyX3Rva2VuLWV1cm9wYXByZXNzZXMiLCJmaW5hbnphc0QiOiJ3aWRnZXRfdXNlcl90b2tlbi1GaW5hbnphc0QiLCJmb3JiZXNjb21iciI6IndpZGdldF91c2VyX3Rva2VuLWZvcmJlc2NvbWJyIiwiZ2VuaWFsaW52ZXN0aW1lbnRvcyI6IndpZGdldF91c2VyX3Rva2VuLWdlbmlhbGludmVzdGltZW50b3MiLCJoZWFsdGhpdGFsaWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1oZWFsdGhpdGFsaWEiLCJoZWduYXJubyI6IndpZGdldF91c2VyX3Rva2VuLWhlZ25hcm5vIiwiaGlwb3RlY2FyaW9jb21hciI6IndpZGdldF91c2VyX3Rva2VuLWhpcG90ZWNhcmlvY29tYXIiLCJpZ2NvbSI6IndpZGdldF91c2VyX3Rva2VuLWlnY29tIiwiaW52ZXN0ZWdhdGVjb3VrIjoid2lkZ2V0X3VzZXJfdG9rZW4taW52ZXN0ZWdhdGVjb3VrIiwiaW52ZXN0b3BlZGlhIjoid2lkZ2V0X3VzZXJfdG9rZW4taW52ZXN0b3BlZGlhIiwiaW50ZWdyYWx5YXRpcmltIjoid2lkZ2V0X3VzZXJfdG9rZW4taW50ZWdyYWx5YXRpcmltIiwiaXZzZ3JvdXAiOiJ3aWRnZXRfdXNlcl90b2tlbi1pdnNncm91cCIsImpzZWNvemEiOiJ3aWRnZXRfdXNlcl90b2tlbi1qc2Vjb3phIiwiYm9lcnNlbnplaXR1bmciOiJ3aWRnZXRfdXNlcl90b2tlbi1ib2Vyc2VuemVpdHVuZyIsImxhaW5mb3JtYWNpb25jb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1sYWluZm9ybWFjaW9uY29tIiwibWFyY29wb2xvY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1tYXJjb3BvbG9jb21iciIsIm1lcmNhZG9maW5hbmNpZXJvY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tbWVyY2Fkb2ZpbmFuY2llcm9jb20iLCJtb2V4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tbW9leCIsIm1vbmV5dGltZXNjb21iciI6IndpZGdldF91c2VyX3Rva2VuLW1vbmV5dGltZXNjb21iciIsIm1vbml0b3Jkb21lcmNhZG9EIjoid2lkZ2V0X3VzZXJfdG9rZW4tbW9uaXRvcmRvbWVyY2Fkb0QiLCJteW5ldGNvbSI6IndpZGdldF91c2VyX3Rva2VuLW15bmV0Y29tIiwibmVnb2Npb3MiOiJ3aWRnZXRfdXNlcl90b2tlbi1uZWdvY2lvcyIsIk5HWCI6IndpZGdldF91c2VyX3Rva2VuLU5HWCIsIk5vdGljaWFzYWdyaWNvbGFEIjoid2lkZ2V0X3VzZXJfdG9rZW4tbm90aWNpYXNhZ3JpY29sYUQiLCJub21tb21hIjoid2lkZ2V0X3VzZXJfdG9rZW4tbm9tbW9tYSIsIm5zZWNva3IiOiJ3aWRnZXRfdXNlcl90b2tlbi1uc2Vjb2tyIiwib2tkaWFyaW8iOiJ3aWRnZXRfdXNlcl90b2tlbi1va2RpYXJpbyIsInBhbmFmcmljYW5yZXNvdXJjZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1wYW5hZnJpY2FucmVzb3VyY2VzY29tIiwicHNlIjoid2lkZ2V0X3VzZXJfdG9rZW4tcHNlIiwicG9kZXIzNjAiOiJ3aWRnZXRfdXNlcl90b2tlbi1wb2RlcjM2MCIsInBzZUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1wc2VEIiwicml5YWRoY2FwaXRhbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1yaXlhZGhjYXBpdGFsRCIsInJpeWFkaGNhcGl0YWxSVCI6IndpZGdldF91c2VyX3Rva2VuLXJpeWFkaGNhcGl0YWxSVCIsInFlY29tcWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1xZWNvbXFhIiwic2Ftb2xldCI6IndpZGdldF91c2VyX3Rva2VuLXNhbW9sZXQiLCJzZWVpbmdtYWNoaW5lc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXNlZWluZ21hY2hpbmVzY29tIiwic2V1ZGluaGVpcm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1zZXVkaW5oZWlybyIsInNvZnR3YXJlYWciOiJ3aWRnZXRfdXNlcl90b2tlbi1zb2Z0d2FyZWFnIiwic29nZWNsYWlyIjoid2lkZ2V0X3VzZXJfdG9rZW4tc29nZWNsYWlyIiwic2djb21wYW55aXQiOiJ3aWRnZXRfdXNlcl90b2tlbi1zZ2NvbXBhbnlpdCIsInNoYXJlanVuY3Rpb24iOiJ3aWRnZXRfdXNlcl90b2tlbi1zaGFyZWp1bmN0aW9uIiwic21hcnRsYWItY3VzdG9tIjoid2lkZ2V0X3VzZXJfdG9rZW4tc21hcnRsYWIiLCJzbWFydGxhYiI6IndpZGdldF91c2VyX3Rva2VuLXNtYXJ0bGFiIiwic3BhY2Vtb25leWNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3BhY2Vtb25leWNvbWJyIiwic3RvbmV4d2RnIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3RvbmV4wqMtIXd3dy5zdG9uZXguY29tIiwic3RveGlvIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3RveGlvIiwic3RvbmV4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tc3RvbmV4IiwidG9yb2ludmVzdGltZW50b3Njb20iOiJ3aWRnZXRfdXNlcl90b2tlbi10b3JvaW52ZXN0aW1lbnRvc2NvbSIsInRoZWNzZWNvbSI6IndpZGdldF91c2VyX3Rva2VuLXRoZWNzZWNvbSIsInRyYWRlcnNjbHViYnJhc2lsIjoid2lkZ2V0X3VzZXJfdG9rZW4tdHJhZGVyc2NsdWJicmFzaWwiLCJ0cmFkZXJzY2x1YmJyYXNpbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi10cmFkZXJzY2x1YmJyYXNpbEQiLCJ0cmFkaW5ndmlldyI6IndpZGdldF91c2VyX3Rva2VuLXRyYWRpbmd2aWV3IiwieHRvb2xzIjoid2lkZ2V0X3VzZXJfdG9rZW4teHRvb2xzIiwidHdpdHRlciI6IndpZGdldF91c2VyX3Rva2VuLXR3aXR0ZXIiLCJ2ZWxvY2l0eWNvbXBvc2l0ZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi12ZWxvY2l0eWNvbXBvc2l0ZXNjb20iLCJ2b2Nlc2FhYnJpbGNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tdm9jZXNhYWJyaWxjb21iciIsIndlYWx0aHNpbXBsZSI6IndpZGdldF91c2VyX3Rva2VuLXdlYWx0aHNpbXBsZcKjLSFteS53ZWFsdGhzaW1wbGUuY29tIiwid29ybGRjaGVzc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXdvcmxkY2hlc3Njb20iLCJ4Q3J0eUprc3AiOiJ3aWRnZXRfdXNlcl90b2tlbi14Q3J0eUprc3AiLCJ4cGljb21iciI6IndpZGdldF91c2VyX3Rva2VuLXhwaWNvbWJyIn0nKQp9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/61495.37ee7d182cf84caa7681.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.026Z","timestamp":1785120634026,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/61495.37ee7d182cf84caa7681.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-7f91\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:20:17\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: f706c45451f6613eb9e80091f1a1ed14\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":32657,"size_decoded":11309,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"1101547aa0a5f1429817d5e491a4287b","sha1":"0bb8f75c93fe64e583a0bc2f0859ff602e1d94a7","sha256":"1f91a265530e9f4142c3b135c93094b7746dba4d3ff42b4ba49d8690c98c7597","sha512":"9f661d05439bbe5f87c7b8580707ce9d517a82a994773de68693c0ba9d653c3bf2565b248d08253aecfc1781e4706198fc30eab02cf96336de418992131d8497","ssdeep":"768:VbtJRlpt8ZUxC6nEFMQQE0rmtel4/0Q+xg23ba1Sj7Fk+1/1NB2VVR4m:VbtvCZLu/004/7+Gsba1SaU2F","tlshash":"cbe2e55632357a3601ef508b58fb0043e23a64486114992dfc7cdeec6ebdd8a623657f","first_seen":"2026-07-25T03:24:57.451516Z","last_seen":"2026-07-27T05:29:38.893388Z","times_seen":95,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s2MTQ5NSw2MzU5NV0sezgwMzI4NyhlKXtlLmV4cG9ydHM9eyJkZWZhdWx0LWRyYXdlci1taW4tdG9wLWRpc3RhbmNlIjoiMTAwcHgiLHdyYXA6IndyYXAtaWlpMTE4b04iLHBvc2l0aW9uQm90dG9tOiJwb3NpdGlvbkJvdHRvbS1paWkxMThvTiIsYmFja2Ryb3A6ImJhY2tkcm9wLWlpaTExOG9OIixkcmF3ZXI6ImRyYXdlci1paWkxMThvTiIscG9zaXRpb25MZWZ0OiJwb3NpdGlvbkxlZnQtaWlpMTE4b04ifX0sNzUxODYzKGUpe2UuZXhwb3J0cz17d3JhcDoid3JhcC1HaERqWHpCeCIsaW5wdXQ6ImlucHV0LUdoRGpYekJ4Iixib3g6ImJveC1HaERqWHpCeCIsaG92ZXJEb3Q6ImhvdmVyRG90LUdoRGpYekJ4IixyZWQ6InJlZC1HaERqWHpCeCIsYmx1ZToiYmx1ZS1HaERqWHpCeCIsZ3JlZW46ImdyZWVuLUdoRGpYekJ4IixvcmFuZ2U6Im9yYW5nZS1HaERqWHpCeCIscHVycGxlOiJwdXJwbGUtR2hEalh6QngiLGN5YW46ImN5YW4tR2hEalh6QngiLHBpbms6InBpbmstR2hEalh6QngiLGxhcmdlOiJsYXJnZS1HaERqWHpCeCIscGlja2VyRG90OiJwaWNrZXJEb3QtR2hEalh6QngifX0sNTU4OTcyKGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci1WbmVRVm9OdiIsc2VsZWN0b3I6InNlbGVjdG9yLVZuZVFWb052IixhcnJvd0xlZnQ6ImFycm93TGVmdC1WbmVRVm9OdiIsY29sb3JTZWxlY3RCdXR0b246ImNvbG9yU2VsZWN0QnV0dG9uLVZuZVFWb052Iixwb3B1cDoicG9wdXAtVm5lUVZvTnYifX0sOTE2MjYoZSl7ZS5leHBvcnRzPXtpdGVtOiJpdGVtLXZUbThPMExNIixpbnRlcmFjdGl2ZToiaW50ZXJhY3RpdmUtdlRtOE8wTE0iLGhvdmVyZWQ6ImhvdmVyZWQtdlRtOE8wTE0iLGRpc2FibGVkOiJkaXNhYmxlZC12VG04TzBMTSIsYWN0aXZlOiJhY3RpdmUtdlRtOE8wTE0iLHNob3J0Y3V0OiJzaG9ydGN1dC12VG04TzBMTSIsbm9ybWFsOiJub3JtYWwtdlRtOE8wTE0iLGJpZzoiYmlnLXZUbThPMExNIixpY29uQ2VsbDoiaWNvbkNlbGwtdlRtOE8wTE0iLGljb246Imljb24tdlRtOE8wTE0iLGNvbnRlbnQ6ImNvbnRlbnQtdlRtOE8wTE0iLGxhYmVsOiJsYWJlbC12VG04TzBMTSIsY2hlY2tlZDoiY2hlY2tlZC12VG04TzBMTSIsdG9vbGJveDoidG9vbGJveC12VG04TzBMTSIsc2hvd1Rvb2xib3hPbkhvdmVyOiJzaG93VG9vbGJveE9uSG92ZXItdlRtOE8wTE0iLGFycm93SWNvbjoiYXJyb3dJY29uLXZUbThPMExNIixzdWJNZW51OiJzdWJNZW51LXZUbThPMExNIixpbnZpc2libGVIb3RrZXk6ImludmlzaWJsZUhvdGtleS12VG04TzBMTSJ9fSwxMDc5NjYoZSl7ZS5leHBvcnRzPXtpdGVtOiJpdGVtLWQ5akxPTHJSIixlbXB0eUljb25zOiJlbXB0eUljb25zLWQ5akxPTHJSIixsb2FkaW5nOiJsb2FkaW5nLWQ5akxPTHJSIixkaXNhYmxlZDoiZGlzYWJsZWQtZDlqTE9MclIiLGludGVyYWN0aXZlOiJpbnRlcmFjdGl2ZS1kOWpMT0xyUiIsaG92ZXJlZDoiaG92ZXJlZC1kOWpMT0xyUiIsbm9ybWFsOiJub3JtYWwtZDlqTE9MclIiLGJpZzoiYmlnLWQ5akxPTHJSIixpY29uOiJpY29uLWQ5akxPTHJSIixsYWJlbDoibGFiZWwtZDlqTE9MclIiLHRpdGxlOiJ0aXRsZS1kOWpMT0xyUiIsbmVzdGVkOiJuZXN0ZWQtZDlqTE9MclIiLHNob3J0Y3V0OiJzaG9ydGN1dC1kOWpMT0xyUiIscmVtb3ZlOiJyZW1vdmUtZDlqTE9MclIifX0sOTU0NDc4KGUpe2UuZXhwb3J0cz17c2VwYXJhdG9yOiJzZXBhcmF0b3ItS0h0eU1UWUcifX0sMzEzNzcyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse0RyYXdlckNvbnRleHQ6KCk9PmMsRHJhd2VyTWFuYWdlcjooKT0+bn0pO3ZhciBvPXMoNzc5NDc0KSxpPXMoOTk1Njc4KTtjbGFzcyBuIGV4dGVuZHMgby5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMuX2lzQm9keUZpeGVkPSExLHRoaXMuX2FkZERyYXdlcj1lPT57dGhpcy5zZXRTdGF0ZSgodD0+KHtzdGFjazpbLi4udC5zdGFjayxlXX0pKSl9LHRoaXMuX3JlbW92ZURyYXdlcj1lPT57dGhpcy5zZXRTdGF0ZSgodD0+KHtzdGFjazp0LnN0YWNrLmZpbHRlcigodD0+dCE9PWUpKX0pKSl9LHRoaXMuc3RhdGU9e3N0YWNrOltdfX1jb21wb25lbnREaWRVcGRhdGUoZSx0KXshdC5zdGFjay5sZW5ndGgmJnRoaXMuc3RhdGUuc3RhY2subGVuZ3RoJiYoKDAsaS5yZXF1ZXN0TW9kYWxTY3JvbGxMb2NrKSh3aW5kb3cpLHRoaXMuX2lzQm9keUZpeGVkPSEwKSx0LnN0YWNrLmxlbmd0aCYmIXRoaXMuc3RhdGUuc3RhY2subGVuZ3RoJiZ0aGlzLl9pc0JvZHlGaXhlZCYmKCgwLGkucmVsZWFzZU1vZGFsU2Nyb2xsTG9jaykod2luZG93KSx0aGlzLl9pc0JvZHlGaXhlZD0hMSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXt0aGlzLnN0YXRlLnN0YWNrLmxlbmd0aCYmdGhpcy5faXNCb2R5Rml4ZWQmJigwLGkucmVsZWFzZU1vZGFsU2Nyb2xsTG9jaykod2luZG93KX1yZW5kZXIoKXtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGMuUHJvdmlkZXIse3ZhbHVlOnthZGREcmF3ZXI6dGhpcy5fYWRkRHJhd2VyLHJlbW92ZURyYXdlcjp0aGlzLl9yZW1vdmVEcmF3ZXIsY3VycmVudERyYXdlcjp0aGlzLnN0YXRlLnN0YWNrLmxlbmd0aD90aGlzLnN0YXRlLnN0YWNrW3RoaXMuc3RhdGUuc3RhY2subGVuZ3RoLTFdOm51bGx9fSx0aGlzLnByb3BzLmNoaWxkcmVuKX19Y29uc3QgYz1vLmNyZWF0ZUNvbnRleHQobnVsbCl9LDk2NDIxNChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtEcmF3ZXI6KCk9Pl99KTt2YXIgbz1zKDc3OTQ3NCksaT1zKDkxNDQ4Nyksbj1zLm4oaSksYz1zKDEzODYzOCksbD1zKDU4NTQ4KSxyPXMoMTUwMTUwKSxhPXMoMzEzNzcyKSxoPXMoNjMyOTkyKSxkPXMoNTU4MDMwKSx1PXMoODAzMjg3KTt2YXIgbTtmdW5jdGlvbiBfKGUpe2NvbnN0e3Bvc2l0aW9uOnQ9IkJvdHRvbSIsb25DbG9zZTpzLGNoaWxkcmVuOmkscmVmZXJlbmNlOmQsY2xhc3NOYW1lOm0sdGhlbWU6Xz11fT1lLHA9KDAsYy5lbnN1cmVOb3ROdWxsKSgoMCxvLnVzZUNvbnRleHQpKGEuRHJhd2VyQ29udGV4dCkpLFt2XT0oMCwKby51c2VTdGF0ZSkoKCgpPT4oMCxyLnJhbmRvbUhhc2gpKCkpKSxmPSgwLG8udXNlUmVmKShudWxsKSxiPSgwLG8udXNlQ29udGV4dCkoaC5DbG9zZURlbGVnYXRlQ29udGV4dCk7cmV0dXJuKDAsby51c2VMYXlvdXRFZmZlY3QpKCgoKT0+KCgwLGMuZW5zdXJlTm90TnVsbCkoZi5jdXJyZW50KS5mb2N1cyh7cHJldmVudFNjcm9sbDohMH0pLGIuc3Vic2NyaWJlKHAscykscC5hZGREcmF3ZXIodiksKCk9PntwLnJlbW92ZURyYXdlcih2KSxiLnVuc3Vic2NyaWJlKHAscyl9KSksW10pLG8uY3JlYXRlRWxlbWVudChsLlBvcnRhbCxudWxsLG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOmQsY2xhc3NOYW1lOm4oKSh1LndyYXAsdVtgcG9zaXRpb24ke3R9YF0pfSx2PT09cC5jdXJyZW50RHJhd2VyJiZvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp1LmJhY2tkcm9wLG9uQ2xpY2s6c30pLG8uY3JlYXRlRWxlbWVudChnLHtjbGFzc05hbWU6bigpKF8uZHJhd2VyLHVbYHBvc2l0aW9uJHt0fWBdLG0pLHJlZjpmLCJkYXRhLW5hbWUiOmVbImRhdGEtbmFtZSJdLCJkYXRhLXFhLWlkIjplWyJkYXRhLXFhLWlkIl19LGkpKSl9IWZ1bmN0aW9uKGUpe2UuTGVmdD0iTGVmdCIsZS5Cb3R0b209IkJvdHRvbSJ9KG18fChtPXt9KSk7Y29uc3QgZz0oMCxvLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e2NsYXNzTmFtZTpzLC4uLml9PWU7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChkLlRvdWNoU2Nyb2xsQ29udGFpbmVyLHtjbGFzc05hbWU6bigpKHUuZHJhd2VyLHMpLHRhYkluZGV4Oi0xLHJlZjp0LC4uLml9KX0pKX0sNjMyOTkyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse0Nsb3NlRGVsZWdhdGVDb250ZXh0OigpPT5ufSk7dmFyIG89cyg3Nzk0NzQpLGk9cygyNzYwMTkpO2NvbnN0IG49by5jcmVhdGVDb250ZXh0KGkuZ2xvYmFsQ2xvc2VEZWxlZ2F0ZSl9LDM4NzIzMShlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSx0LHM9e30pe3JldHVybiBPYmplY3QuYXNzaWduKHt9LGUsZnVuY3Rpb24oZSx0LHM9e30pe2NvbnN0IG89T2JqZWN0LmFzc2lnbih7fSx0KTtmb3IoY29uc3QgaSBvZiBPYmplY3Qua2V5cyh0KSl7Y29uc3Qgbj1zW2ldfHxpO24gaW4gZSYmKG9baV09W2Vbbl0sdFtpXV0uam9pbigiICIpKX1yZXR1cm4gb30oZSx0LHMpKX1zLmQodCx7bWVyZ2VUaGVtZXM6KCk9Pm99KX0sOTAwODQxKGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlLHQscyxvLGkpe2Z1bmN0aW9uIG4oaSl7aWYoZT5pLnRpbWVTdGFtcClyZXR1cm47Y29uc3Qgbj1pLnRhcmdldDt2b2lkIDAhPT1zJiZudWxsIT09dCYmbnVsbCE9PW4mJm4ub3duZXJEb2N1bWVudD09PW8mJih0LmNvbnRhaW5zKG4pfHxzKGkpKX1yZXR1cm4gaS5jbGljayYmby5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsbiwhMSksaS5tb3VzZURvd24mJm8uYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixuLCExKSxpLnRvdWNoRW5kJiZvLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixuLCExKSxpLnRvdWNoU3RhcnQmJm8uYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsbiwhMSksKCk9PntvLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIixuLCExKSxvLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsbiwhMSksby5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsbiwhMSksby5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixuLCExKX19cy5kKHQse2FkZE91dHNpZGVFdmVudExpc3RlbmVyOigpPT5vfSl9LDIzNjc2NShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHt1c2VPdXRzaWRlRXZlbnQ6KCk9PmN9KTt2YXIgbz1zKDc3OTQ3NCksaT1zKDYxNjMxMSksbj1zKDkwMDg0MSk7ZnVuY3Rpb24gYyhlKXtjb25zdHtjbGljazp0LG1vdXNlRG93bjpzLHRvdWNoRW5kOmMsdG91Y2hTdGFydDpsLGhhbmRsZXI6cixyZWZlcmVuY2U6YX09ZSxoPSgwLG8udXNlUmVmKShudWxsKSxkPSgwLG8udXNlUmVmKSgidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdz8wOm5ldyB3aW5kb3cuQ3VzdG9tRXZlbnQoInRpbWVzdGFtcCIpLnRpbWVTdGFtcCk7cmV0dXJuKDAsaS51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9Pntjb25zdCBlPXtjbGljazp0LG1vdXNlRG93bjpzLHRvdWNoRW5kOmMsdG91Y2hTdGFydDpsfSxvPWE/YS5jdXJyZW50OmguY3VycmVudDtyZXR1cm4oMCxuLmFkZE91dHNpZGVFdmVudExpc3RlbmVyKShkLmN1cnJlbnQsbyxyLGRvY3VtZW50LGUpfSksW3QscyxjLGwscl0pLGF8fGh9fSw4Njk4NDIoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7U3dpdGNoR3JvdXBDb250ZXh0OigpPT5ufSk7dmFyIG89cyg3Nzk0NzQpLGk9cyg4NjIzODgpO2NvbnN0IG49KDAsby5jcmVhdGVDb250ZXh0KSh7Z2V0TmFtZTooKT0+IiIsZ2V0VmFsdWVzOigpPT5bXSxnZXRPbkNoYW5nZTooKT0+aS5kZWZhdWx0LHN1YnNjcmliZTppLmRlZmF1bHQsdW5zdWJzY3JpYmU6aS5kZWZhdWx0fSl9LDY1ODQ2KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse21ha2VTd2l0Y2hHcm91cEl0ZW06KCk9Pm59KTt2YXIgbz1zKDc3OTQ3NCksaT1zKDg2OTg0Mik7ZnVuY3Rpb24gbihlKXt2YXIgdDtyZXR1cm4gdD1jbGFzcyBleHRlbmRzIG8uUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fb25DaGFuZ2U9ZT0+e3RoaXMuY29udGV4dC5nZXRPbkNoYW5nZSgpKGUudGFyZ2V0LnZhbHVlKX0sdGhpcy5fb25VcGRhdGU9ZT0+e2UuaW5jbHVkZXModGhpcy5wcm9wcy52YWx1ZSkmJnRoaXMuZm9yY2VVcGRhdGUoKX19Y29tcG9uZW50RGlkTW91bnQoKXt0aGlzLmNvbnRleHQuc3Vic2NyaWJlKHRoaXMuX29uVXBkYXRlKX1yZW5kZXIoKXtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGUsey4uLnRoaXMucHJvcHMsbmFtZTp0aGlzLl9nZXROYW1lKCksb25DaGFuZ2U6dGhpcy5fb25DaGFuZ2UsY2hlY2tlZDp0aGlzLl9pc0NoZWNrZWQoKX0pfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5jb250ZXh0LnVuc3Vic2NyaWJlKHRoaXMuX29uVXBkYXRlKX1fZ2V0TmFtZSgpewpyZXR1cm4gdGhpcy5jb250ZXh0LmdldE5hbWUoKX1faXNDaGVja2VkKCl7cmV0dXJuIHRoaXMuY29udGV4dC5nZXRWYWx1ZXMoKS5pbmNsdWRlcyh0aGlzLnByb3BzLnZhbHVlKX19LHQuY29udGV4dFR5cGU9aS5Td2l0Y2hHcm91cENvbnRleHQsdH19LDE0OTM2NChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtTd2l0Y2hHcm91cDooKT0+bn0pO3ZhciBvPXMoNzc5NDc0KSxpPXMoODY5ODQyKTtjbGFzcyBuIGV4dGVuZHMgby5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMuX3N1YnNjcmlwdGlvbnM9bmV3IFNldCx0aGlzLl9nZXROYW1lPSgpPT50aGlzLnByb3BzLm5hbWUsdGhpcy5fZ2V0VmFsdWVzPSgpPT50aGlzLnByb3BzLnZhbHVlcyx0aGlzLl9nZXRPbkNoYW5nZT0oKT0+dGhpcy5wcm9wcy5vbkNoYW5nZSx0aGlzLl9zdWJzY3JpYmU9ZT0+e3RoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKGUpfSx0aGlzLl91bnN1YnNjcmliZT1lPT57dGhpcy5fc3Vic2NyaXB0aW9ucy5kZWxldGUoZSl9LHRoaXMuc3RhdGU9e3N3aXRjaEdyb3VwQ29udGV4dDp7Z2V0TmFtZTp0aGlzLl9nZXROYW1lLGdldFZhbHVlczp0aGlzLl9nZXRWYWx1ZXMsZ2V0T25DaGFuZ2U6dGhpcy5fZ2V0T25DaGFuZ2Usc3Vic2NyaWJlOnRoaXMuX3N1YnNjcmliZSx1bnN1YnNjcmliZTp0aGlzLl91bnN1YnNjcmliZX19fXJlbmRlcigpe3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoaS5Td2l0Y2hHcm91cENvbnRleHQuUHJvdmlkZXIse3ZhbHVlOnRoaXMuc3RhdGUuc3dpdGNoR3JvdXBDb250ZXh0fSx0aGlzLnByb3BzLmNoaWxkcmVuKX1jb21wb25lbnREaWRVcGRhdGUoZSl7dGhpcy5fbm90aWZ5KHRoaXMuX2dldFVwZGF0ZXModGhpcy5wcm9wcy52YWx1ZXMsZS52YWx1ZXMpKX1fbm90aWZ5KGUpe3RoaXMuX3N1YnNjcmlwdGlvbnMuZm9yRWFjaCgodD0+dChlKSkpfV9nZXRVcGRhdGVzKGUsdCl7cmV0dXJuWy4uLnQsLi4uZV0uZmlsdGVyKChzPT50LmluY2x1ZGVzKHMpPyFlLmluY2x1ZGVzKHMpOmUuaW5jbHVkZXMocykpKX19fSwzMTQ3MjAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBvKGUpe2NvbnN0e3BhZGRpbmdUb3A6dCxwYWRkaW5nQm90dG9tOnN9PXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGUpO3JldHVyblt0LHNdLnJlZHVjZSgoKGUsdCk9PmUtTnVtYmVyKCh0fHwiIikucmVwbGFjZSgicHgiLCIiKSkpLGUuY2xpZW50SGVpZ2h0KX1mdW5jdGlvbiBpKGUsdD0hMSl7Y29uc3Qgcz1nZXRDb21wdXRlZFN0eWxlKGUpLG89W3MuaGVpZ2h0XTtyZXR1cm4iYm9yZGVyLWJveCIhPT1zLmJveFNpemluZyYmby5wdXNoKHMucGFkZGluZ1RvcCxzLnBhZGRpbmdCb3R0b20scy5ib3JkZXJUb3BXaWR0aCxzLmJvcmRlckJvdHRvbVdpZHRoKSx0JiZvLnB1c2gocy5tYXJnaW5Ub3Ascy5tYXJnaW5Cb3R0b20pLG8ucmVkdWNlKCgoZSx0KT0+ZSsocGFyc2VGbG9hdCh0KXx8MCkpLDApfWZ1bmN0aW9uIG4oZSx0PSExKXtjb25zdCBzPWdldENvbXB1dGVkU3R5bGUoZSksbz1bcy53aWR0aF07cmV0dXJuImJvcmRlci1ib3giIT09cy5ib3hTaXppbmcmJm8ucHVzaChzLnBhZGRpbmdMZWZ0LHMucGFkZGluZ1JpZ2h0LHMuYm9yZGVyTGVmdFdpZHRoLHMuYm9yZGVyUmlnaHRXaWR0aCksdCYmby5wdXNoKHMubWFyZ2luTGVmdCxzLm1hcmdpblJpZ2h0KSxvLnJlZHVjZSgoKGUsdCk9PmUrKHBhcnNlRmxvYXQodCl8fDApKSwwKX1zLmQodCx7Y29udGVudEhlaWdodDooKT0+byxvdXRlckhlaWdodDooKT0+aSxvdXRlcldpZHRoOigpPT5ufSl9LDQ0MDcxNShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtDb250ZXh0TWVudUNvbnRleHQ6KCk9Pm99KTtjb25zdCBvPXMoNzc5NDc0KS5jcmVhdGVDb250ZXh0KG51bGwpfSw1MjUxKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse0hpbnQ6KCk9Pmx9KTt2YXIgbz1zKDc3OTQ3NCksaT1zKDkxNDQ4Nyksbj1zLm4oaSksYz1zKDkxNjI2KTtmdW5jdGlvbiBsKGUpe2NvbnN0e3RleHQ6dD0iIixjbGFzc05hbWU6c309ZTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOm4oKShjLnNob3J0Y3V0LHMpfSx0KX19LDcyMTE2NyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtDb250ZXh0TWVudUl0ZW06KCk9Pl99KTt2YXIgbz1zKDc3OTQ3NCksaT1zKDkxNDQ4Nyksbj1zLm4oaSksYz1zKDI3MzMxMCksbD1zKDY0OTE2Nikscj1zKDc3OTEwOCksYT1zKDUyNTEpLGg9cygzODA1NiksZD1zKDU4MDU5NiksdT1zKDQ2MjcwNCksbT1zKDEwNzk2Nik7ZnVuY3Rpb24gXyhlKXtjb25zdHtjbGFzc05hbWU6dCxpc1RpdGxlOnMsaXNMb2FkaW5nOmksaXNIb3ZlcmVkOl8sYWN0aXZlOmcsY2hlY2thYmxlOnAsZGlzYWJsZWQ6dixjaGVja2VkOmYsaWNvbjpiLGljb25DaGVja2VkOkMsaGludDpJLHN1Ykl0ZW1zOkUsbGFiZWw6eSxzdHlsZWRMYWJlbDprLG9uQ2xpY2s6eCxjaGlsZHJlbjpMLHRvb2xib3g6dyxqc3hMYWJlbDpOLHNpemU6Uz0ibm9ybWFsIn09ZSxNPSgwLG8udXNlQ29udGV4dCkoci5FbXB0eUljb25zQ29udGV4dCksRD0hIUUubGVuZ3RoO3JldHVybiBpP28uY3JlYXRlRWxlbWVudCgibGkiLHtjbGFzc05hbWU6bigpKHQsbS5pdGVtLG0ubG9hZGluZyxtW1NdKX0sby5jcmVhdGVFbGVtZW50KGwuTG9hZGVyLG51bGwpKTpvLmNyZWF0ZUVsZW1lbnQoImxpIix7Y2xhc3NOYW1lOm4oKSh0LG0uaXRlbSxtLmludGVyYWN0aXZlLHMmJm0udGl0bGUsdiYmbS5kaXNhYmxlZCxfJiZtLmhvdmVyZWQsZyYmbS5hY3RpdmUsTSYmbS5lbXB0eUljb25zLG1bU10pLG9uQ2xpY2s6eH0sby5jcmVhdGVFbGVtZW50KGMuSWNvbix7Y2xhc3NOYW1lOm4oKShtLmljb24pLGljb246ZnVuY3Rpb24oKXtpZihwJiZmKXJldHVybiBDfHxifHxoO3JldHVybiBifSgpfSksby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOm4oKShtLmxhYmVsKX0sIU4mJms/ay5tYXAoKCh7dGV4dDplLC4uLnR9LHMpPT5vLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtrZXk6cyxzdHlsZTp0fSxlKSkpOk4/P3kpLCEhdyYmby5jcmVhdGVFbGVtZW50KGMuSWNvbix7Cm9uQ2xpY2s6ZnVuY3Rpb24oKXt3JiZ3LmFjdGlvbigpfSxjbGFzc05hbWU6bS5yZW1vdmUsaWNvbjp1fSksIUQmJkkmJm8uY3JlYXRlRWxlbWVudChhLkhpbnQse2NsYXNzTmFtZTptLnNob3J0Y3V0LHRleHQ6SX0pLEQmJm8uY3JlYXRlRWxlbWVudChjLkljb24se2NsYXNzTmFtZTptLm5lc3RlZCxpY29uOmR9KSxMKX19LDMyMzgzMChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtDb250ZXh0TWVudUxpc3Q6KCk9Pl99KTt2YXIgbz1zKDc3OTQ3NCksaT1zKDk1NDQ3OCk7ZnVuY3Rpb24gbihlKXtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJsaSIse2NsYXNzTmFtZTppLnNlcGFyYXRvcn0pfXZhciBjPXMoNzIxMTY3KSxsPXMoNTY5Mzk4KSxyPXMoOTY0MjE0KSxhPXMoMjc2MDE5KTtjb25zdCBoPSgwLGwuaXNGZWF0dXJlRW5hYmxlZCkoImZvcmNlX2Rpc2FibGVfanN4X21lbnVfaXRlbXNfcmVuZGVyaW5nIik7ZnVuY3Rpb24gZChlKXtjb25zdCB0PWg/ZS5hY3Rpb246ZS5hY3Rpb24uY3VzdG9tKCk/P2UuYWN0aW9uLFtzLGldPSgwLG8udXNlU3RhdGUpKCgoKT0+dC5nZXRTdGF0ZSgpKSksW24sbF09KDAsby51c2VTdGF0ZSkoITEpLGQ9ISFzLnN1Ykl0ZW1zLmxlbmd0aCx1PWQmJm47cmV0dXJuKDAsby51c2VFZmZlY3QpKCgoKT0+e2NvbnN0IGU9KCk9PmkodC5nZXRTdGF0ZSgpKTtyZXR1cm4gdC5vblVwZGF0ZSgpLnN1YnNjcmliZShudWxsLGUpLCgpPT57dC5vblVwZGF0ZSgpLnVuc3Vic2NyaWJlKG51bGwsZSl9fSksW10pLG8uY3JlYXRlRWxlbWVudChjLkNvbnRleHRNZW51SXRlbSx7Li4ucyxvbkNsaWNrOmZ1bmN0aW9uKGUpe2lmKHMuZGlzYWJsZWR8fGUuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47aWYoZClyZXR1cm4gdm9pZCBsKCEwKTtzLmRvTm90Q2xvc2VPbkNsaWNrfHwoMCxhLmdsb2JhbENsb3NlTWVudSkoKTt0LmV4ZWN1dGUoKX0saXNMb2FkaW5nOnMubG9hZGluZyxpc0hvdmVyZWQ6dX0sdSYmby5jcmVhdGVFbGVtZW50KHIuRHJhd2VyLHtvbkNsb3NlOm19LG8uY3JlYXRlRWxlbWVudChfLHtpdGVtczpzLnN1Ykl0ZW1zLHBhcmVudEFjdGlvbjp0LGNsb3NlTmVzdGVkOm19KSkpO2Z1bmN0aW9uIG0oZSl7ZSYmZS5wcmV2ZW50RGVmYXVsdCgpLGwoITEpfX12YXIgdT1zKDc3OTEwOCksbT1zKDMzNDU1MCk7ZnVuY3Rpb24gXyhlKXtjb25zdHtpdGVtczp0LHBhcmVudEFjdGlvbjpzLGNsb3NlTmVzdGVkOml9PWUsbD0hQm9vbGVhbihzKSYmdC5ldmVyeSgoZT0+IUJvb2xlYW4oInNlcGFyYXRvciIhPT1lLnR5cGUmJihlLmdldFN0YXRlKCkuaWNvbnx8ZS5nZXRTdGF0ZSgpLmNoZWNrYWJsZSkpKSk7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCh1LkVtcHR5SWNvbnNDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpsfSxvLmNyZWF0ZUVsZW1lbnQoInVsIixudWxsLHMmJm8uY3JlYXRlRWxlbWVudChvLkZyYWdtZW50LG51bGwsby5jcmVhdGVFbGVtZW50KGMuQ29udGV4dE1lbnVJdGVtLHtsYWJlbDpzLmdldFN0YXRlKCkubGFiZWwsaXNUaXRsZTohMCxhY3RpdmU6ITEsZGlzYWJsZWQ6ITEsc3ViSXRlbXM6W10sY2hlY2thYmxlOiExLGNoZWNrZWQ6ITEsZG9Ob3RDbG9zZU9uQ2xpY2s6ITEsaWNvbjptLG9uQ2xpY2s6aX0pLG8uY3JlYXRlRWxlbWVudChuLG51bGwpKSx0Lm1hcCgoZT0+e3N3aXRjaChlLnR5cGUpe2Nhc2UiYWN0aW9uIjpyZXR1cm4gby5jcmVhdGVFbGVtZW50KGQse2tleTplLmlkLGFjdGlvbjplfSk7Y2FzZSJzZXBhcmF0b3IiOnJldHVybiBvLmNyZWF0ZUVsZW1lbnQobix7a2V5OmUuaWR9KX19KSkpKX19LDc3OTEwOChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtFbXB0eUljb25zQ29udGV4dDooKT0+b30pO2NvbnN0IG89cyg3Nzk0NzQpLmNyZWF0ZUNvbnRleHQoITEpfSwzMjk2NjgoZSx0LHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgbztmdW5jdGlvbiBpKGUpe2UuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJvdmluZy10YWJpbmRleDptYWluLWVsZW1lbnQiKSl9ZnVuY3Rpb24gbihlKXtlLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyb3ZpbmctdGFiaW5kZXg6c2Vjb25kYXJ5LWVsZW1lbnQiKSl9cy5kKHQse2JlY29tZU1haW5FbGVtZW50OigpPT5pLGJlY29tZVNlY29uZGFyeUVsZW1lbnQ6KCk9Pm59KSxmdW5jdGlvbihlKXtlLk1haW5FbGVtZW50PSJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50IixlLlNlY29uZGFyeUVsZW1lbnQ9InJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCJ9KG98fChvPXt9KSl9LDMwNjYwMShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtDb2xvclNlbGVjdG9yOigpPT5JfSk7dmFyIG89cyg3Nzk0NzQpLGk9cyg3MTIxMzQpLG49cygyMzU3MjQpLGM9cygxNDkzNjQpLGw9cyg5ODM2MTYpLHI9cygzMjk2NjgpLGE9cyg5MTQ0ODcpLGg9cy5uKGEpLGQ9cyg2NTg0NiksdT1zKDI3MzMxMCksbT1zKDE4NTI3MSksXz1zKDQ0MDcxNSksZz1zKDE4MjMwOCkscD1zKDI3NDg1MSksdj1zKDIwMzMwOSksZj1zKDc1MTg2Myk7Y29uc3QgYj0oMCxkLm1ha2VTd2l0Y2hHcm91cEl0ZW0pKChmdW5jdGlvbihlKXtjb25zdHtjbGFzc05hbWU6dCx2YWx1ZTpuPWkuTGlzdENvbG9yLlJlZCxuYW1lOmMsY2hlY2tlZDpsfT1lLFtyLGFdPSgwLGcudXNlUm92aW5nVGFiaW5kZXhFbGVtZW50KShudWxsKSxkPSgwLG8udXNlQ29udGV4dCkoXy5Db250ZXh0TWVudUNvbnRleHQpLGI9ZD8udHlwZT8/Im1lbnUiLEM9bjtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJsYWJlbCIse3JlZjpyLHRhYkluZGV4OmEsY2xhc3NOYW1lOmgoKSh0LGYud3JhcCwiZHJhd2VyIj09PWImJmYubGFyZ2UpLCJkYXRhLWNvbG9yIjpDLHJvbGU6Im1lbnVpdGVtIiwiYXJpYS1sYWJlbCI6bS50KG51bGwse3JlcGxhY2U6e2NvbG9yOkN9fSxzKDUwNjkxNSkpLCJhcmlhLWNoZWNrZWQiOmx9LG8uY3JlYXRlRWxlbWVudCgiaW5wdXQiLHtjbGFzc05hbWU6Zi5pbnB1dCx0eXBlOiJyYWRpbyIsbmFtZTpjLHZhbHVlOm4sY2hlY2tlZDpsLG9uQ2hhbmdlOmUub25DaGFuZ2Usb25DbGljazpsP2Z1bmN0aW9uKCl7CmUub25DbGlja0lmQ2hlY2tlZCYmZS5vbkNsaWNrSWZDaGVja2VkKG4pfTp2b2lkIDB9KSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpoKCkoZi5ib3gsZltDXSwiZHJhd2VyIj09PWImJmYubGFyZ2UpfSxsP28uY3JlYXRlRWxlbWVudCh1Lkljb24se2ljb246cH0pOm8uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmYucGlja2VyRG90fSxvLmNyZWF0ZUVsZW1lbnQodS5JY29uLHtjbGFzc05hbWU6Zi5ob3ZlckRvdCxpY29uOnZ9KSkpKX0pKSxDPVszOSwzNywxMywzMiwyN107ZnVuY3Rpb24gSShlKXtjb25zdHtidXR0b25DbGFzc05hbWU6dCx2YWx1ZTpzLG9uU2VsZWN0ZWRDbGljazphLGZyb21LZXlib2FyZDpofT1lLGQ9KDAsby51c2VSZWYpKG51bGwpLHU9KDAsby51c2VDYWxsYmFjaykoKGU9PntpZighZC5jdXJyZW50fHxlLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2NvbnN0IHQ9KDAsbi5oYXNoRnJvbUV2ZW50KShlKTtpZighQy5pbmNsdWRlcyh0KSlyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IG89KDAsbC5xdWVyeUZvY3VzYWJsZUVsZW1lbnRzKShkLmN1cnJlbnQpLnNvcnQobC5uYXZpZ2F0aW9uT3JkZXJDb21wYXJhdG9yKSxjPW8uZmluZEluZGV4KChlPT5lPT09ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkpO2lmKC0xPT09YylyZXR1cm47Y29uc3QgYT1vW2NdO2xldCBoO3N3aXRjaCh0KXtjYXNlIDEzOmNhc2UgMzI6XyhhLmRhdGFzZXQuY29sb3J8fGkuTGlzdENvbG9yLlJlZCk7YnJlYWs7Y2FzZSAyNzpfKHMpfXN3aXRjaCgoMCxsLm1hcEtleUNvZGVUb0RpcmVjdGlvbikodCkpe2Nhc2UiaW5saW5lTmV4dCI6aD1vW2MrMV18fG9bMF07YnJlYWs7Y2FzZSJpbmxpbmVQcmV2IjpoPW9bYy0xXXx8b1tvLmxlbmd0aC0xXX1oIGluc3RhbmNlb2YgSFRNTExhYmVsRWxlbWVudCYmKCgwLHIuYmVjb21lU2Vjb25kYXJ5RWxlbWVudCkoYSksKDAsci5iZWNvbWVNYWluRWxlbWVudCkoaCksaC5mb2N1cygpKX0pLFtdKTsoMCxvLnVzZUxheW91dEVmZmVjdCkoKCgpPT57aWYoIWgpcmV0dXJuO2NvbnN0IGU9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCx0PWQuY3VycmVudDtpZighdClyZXR1cm47Y29uc3Rbc109KDAsbC5xdWVyeUZvY3VzYWJsZUVsZW1lbnRzKSh0KS5zb3J0KGwubmF2aWdhdGlvbk9yZGVyQ29tcGFyYXRvcik7cmV0dXJuIHM/KCgwLHIuYmVjb21lTWFpbkVsZW1lbnQpKHMpLHMuZm9jdXMoKSwoKT0+e2UgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmZS5mb2N1cygpfSk6dm9pZCAwfSksW10pO2NvbnN0IG09aS5MSVNUX0NPTE9SUy5tYXAoKChlLHMpPT5vLmNyZWF0ZUVsZW1lbnQoYix7a2V5OnMsY2xhc3NOYW1lOnQsb25DbGlja0lmQ2hlY2tlZDphLHZhbHVlOmV9KSkpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoIm1lbnUiLHtyZWY6ZCxvbktleURvd246dX0sby5jcmVhdGVFbGVtZW50KGMuU3dpdGNoR3JvdXAse25hbWU6ImNvbG9yLXNlbGVjdG9yIixvbkNoYW5nZTpfLHZhbHVlczp2b2lkIDAhPT1zP1tzXTpbXX0sbSkpO2Z1bmN0aW9uIF8odCl7ZS5vbkNoYW5nZSYmdm9pZCAwIT09dCYmZS5vbkNoYW5nZSh0KX19fSw4MzQxODgoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7UG9wdXBDb2xvclNlbGVjdG9yOigpPT5JfSk7dmFyIG89cyg3Nzk0NzQpLGk9cyg2MDc4MzIpLG49cyg2MDk1MjgpLGM9cyg0MDYxMTApLGw9cygzMTM3NzIpLHI9cyg5NjQyMTQpLGE9cygzMjM4MzApLGg9cyg0NDA3MTUpLGQ9cyg5NjkxNjgpLHU9cyg1ODU0OCksbT1zKDMwNjYwMSksXz1zKDM2MzI2OSksZz1zKDU1ODk3Mik7Y2xhc3MgcCBleHRlbmRzIG8uUHVyZUNvbXBvbmVudHtjb21wb25lbnREaWRNb3VudCgpe2RvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmKF8ubW9iaWxldG91Y2g/ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHRoaXMuX29uVG91Y2hTdGFydCk6KHRoaXMucHJvcHMuZWxlbS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIix0aGlzLl9vblRhcmdldE1vdXNlTGVhdmUpLGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLnByb3BzLmhpZGUpKSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJihfLm1vYmlsZXRvdWNoP2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0Iix0aGlzLl9vblRvdWNoU3RhcnQpOnRoaXMucHJvcHMuZWxlbSYmKHRoaXMucHJvcHMuZWxlbS5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIix0aGlzLl9vblRhcmdldE1vdXNlTGVhdmUpLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMucHJvcHMuaGlkZSkpKX1yZW5kZXIoKXtjb25zdCBlPXt0b3A6MH07aWYodGhpcy5wcm9wcy5lbGVtKXtjb25zdCB0PXRoaXMucHJvcHMuZWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtlLnRvcD10LnRvcCt0LmhlaWdodC8yLCgwLGQuaXNSdGwpKCk/ZS5yaWdodD13aW5kb3cuaW5uZXJXaWR0aC10LmxlZnQ6ZS5sZWZ0PXQubGVmdCt0LndpZHRofWVsc2UgZS5sZWZ0PTA7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCh1LlBvcnRhbCxudWxsLG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7c3R5bGU6ZSxjbGFzc05hbWU6Zy5wb3B1cCxyZWY6dGhpcy5fc2V0UG9wVXBFbGVtLG9uTW91c2VMZWF2ZTpfLm1vYmlsZXRvdWNoP3ZvaWQgMDp0aGlzLl9vblBvcFVwTW91c2VMZWF2ZX0sby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Zy53cmFwcGVyfSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpnLnNlbGVjdG9yfSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpnLmFycm93TGVmdH0pLG8uY3JlYXRlRWxlbWVudChtLkNvbG9yU2VsZWN0b3Ise2J1dHRvbkNsYXNzTmFtZTpnLmNvbG9yU2VsZWN0QnV0dG9uLHZhbHVlOnRoaXMucHJvcHMuY3VycmVudENvbG9yLGZyb21LZXlib2FyZDp0aGlzLnByb3BzLmZyb21LZXlib2FyZCxvbkNoYW5nZTp0aGlzLl9vbkNoYW5nZX0pKSkpKQp9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX3BvcFVwRWxlbT1udWxsLHRoaXMuX29uQ2hhbmdlPWU9Pnt0aGlzLnByb3BzLm9uU2VsZWN0Q29sb3IoZSksdGhpcy5wcm9wcy5oaWRlKCl9LHRoaXMuX29uVGFyZ2V0TW91c2VMZWF2ZT1lPT57Y29uc3QgdD0hIWUucmVsYXRlZFRhcmdldC5ub2RlTmFtZSxzPWUucmVsYXRlZFRhcmdldD09PXRoaXMuX3BvcFVwRWxlbSxvPXRoaXMuX3BvcFVwRWxlbSYmdCYmdGhpcy5fcG9wVXBFbGVtLmNvbnRhaW5zKGUucmVsYXRlZFRhcmdldCk7c3x8b3x8dGhpcy5wcm9wcy5oaWRlKCl9LHRoaXMuX29uUG9wVXBNb3VzZUxlYXZlPWU9Pntjb25zdCB0PSEhZS5uYXRpdmVFdmVudC5yZWxhdGVkVGFyZ2V0Lm5vZGVOYW1lLHM9ZS5uYXRpdmVFdmVudC5yZWxhdGVkVGFyZ2V0PT09dGhpcy5wcm9wcy5lbGVtLG89dCYmdGhpcy5wcm9wcy5lbGVtLmNvbnRhaW5zKGUubmF0aXZlRXZlbnQucmVsYXRlZFRhcmdldCk7c3x8b3x8dGhpcy5wcm9wcy5oaWRlKCl9LHRoaXMuX29uVG91Y2hTdGFydD1lPT57Y29uc3QgdD0hIWUudGFyZ2V0Lm5vZGVOYW1lLHM9ZS50YXJnZXQ9PT10aGlzLnByb3BzLmVsZW0sbz1lLnRhcmdldD09PXRoaXMuX3BvcFVwRWxlbSxpPXQmJnRoaXMucHJvcHMuZWxlbS5jb250YWlucyhlLnRhcmdldCksbj10aGlzLl9wb3BVcEVsZW0mJnQmJnRoaXMuX3BvcFVwRWxlbS5jb250YWlucyhlLnRhcmdldCk7c3x8aXx8b3x8bnx8dGhpcy5wcm9wcy5oaWRlKCl9LHRoaXMuX3NldFBvcFVwRWxlbT1lPT57dGhpcy5fcG9wVXBFbGVtPWV9fX1mdW5jdGlvbiB2KGUpe2NvbnN0e2FjdGlvbnM6dCwuLi5zfT1lO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoYy5NYXRjaE1lZGlhLHtydWxlOm4uRGlhbG9nQnJlYWtwb2ludHMuVGFibGV0U21hbGx9LChlPT5lJiZ0P28uY3JlYXRlRWxlbWVudChsLkRyYXdlck1hbmFnZXIsbnVsbCxvLmNyZWF0ZUVsZW1lbnQoaC5Db250ZXh0TWVudUNvbnRleHQuUHJvdmlkZXIse3ZhbHVlOnt0eXBlOiJkcmF3ZXIifX0sby5jcmVhdGVFbGVtZW50KHIuRHJhd2VyLHtvbkNsb3NlOnMuaGlkZSxwb3NpdGlvbjoiQm90dG9tIn0sby5jcmVhdGVFbGVtZW50KGEuQ29udGV4dE1lbnVMaXN0LHtpdGVtczp0fSkpKSk6by5jcmVhdGVFbGVtZW50KHAsey4uLnN9KSkpfXZhciBmPXMoNTcxMzAwKTtsZXQgYj1udWxsLEM9bnVsbDt2YXIgSTshZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdCgpe2ImJkM/LnVubW91bnQoKX1lLnNob3c9ZnVuY3Rpb24oZSl7Ynx8KGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpLHQoKSxDPSgwLGYuY3JlYXRlUmVhY3RSb290KShvLmNyZWF0ZUVsZW1lbnQoaS5TbG90Q29udGV4dC5Qcm92aWRlcix7dmFsdWU6ZS5tYW5hZ2VyfHxudWxsfSxvLmNyZWF0ZUVsZW1lbnQodix7Li4uZSxoaWRlOnR9KSksYil9LGUuaGlkZT10fShJfHwoST17fSkpfSw4NTU5ODkoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Y3JlYXRlU2VsZWN0YWJsZUxpc3Q6KCk9PnB9KTtjbGFzcyBve2NvbnN0cnVjdG9yKGUpe3RoaXMuX2NvbGw9ZX1nZXRJdGVtQnlJZHgoZSl7cmV0dXJuIHRoaXMuX2NvbGwuaXRlbShlKX1nZXRJdGVtcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMuX2NvbGwpfWdldEZpcnN0SXRlbSgpe3JldHVybiB0aGlzLmdldEl0ZW1CeUlkeCgwKX1nZXRMYXN0SXRlbSgpe2NvbnN0IGU9dGhpcy5fY29sbC5sZW5ndGg7cmV0dXJuIHRoaXMuZ2V0SXRlbUJ5SWR4KGUtMSl9Z2V0SXRlbUlkeChlKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmZpbmRJbmRleC5jYWxsKHRoaXMuX2NvbGwsKHQ9PnQ9PT1lKSl9Z2V0TGVuZ3RoKCl7cmV0dXJuIHRoaXMuX2NvbGwubGVuZ3RofWNvbnRhaW5zKGUpe3JldHVybi0xIT09dGhpcy5nZXRJdGVtSWR4KGUpfX12YXIgaSxuPXMoNzI3MDkpOyFmdW5jdGlvbihlKXtlW2UuUHJldj0tMV09IlByZXYiLGVbZS5OZXh0PTFdPSJOZXh0In0oaXx8KGk9e30pKTtjb25zdCBjPSJjdXJzb3IiO2NsYXNzIGx7Y29uc3RydWN0b3IoZSl7dGhpcy5fZW5hYmxlRm9jdXNET01FbGVtZW50PSExLHRoaXMuX2xpc3Q9ZS5saXN0LHRoaXMuX2l0ZW1zPW5ldyBvKHRoaXMuX2xpc3QuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShlLmxpc3RJdGVtQ2xhc3MpKSx0aGlzLl9mb2N1c2VkPW5ldyBvKHRoaXMuX2xpc3QuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShlLmZvY3VzZWRMaXN0SXRlbUNsYXNzKSksdGhpcy5fc2VsZWN0ZWQ9bmV3IG8odGhpcy5fbGlzdC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGUuc2VsZWN0ZWRMaXN0SXRlbUNsYXNzKSksdGhpcy5fY3Vyc29yPW5ldyBvKHRoaXMuX2xpc3QuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShjKSksdGhpcy5fc2VsZWN0ZWRMaXN0SXRlbUNsYXNzPWUuc2VsZWN0ZWRMaXN0SXRlbUNsYXNzLHRoaXMuX2ZvY3VzZWRMaXN0SXRlbUNsYXNzPWUuZm9jdXNlZExpc3RJdGVtQ2xhc3MsdGhpcy5fb25TZWxlY3Q9ZS5vblNlbGVjdCx0aGlzLl9vbk5hdmlnYXRlPWUub25OYXZpZ2F0ZSx0aGlzLl9vbkNvbmZpcm09ZS5vbkNvbmZpcm0sdGhpcy5fb25EZWxldGU9ZS5vbkRlbGV0ZSx0aGlzLl9tb3VzZUFjdGlvbnM9bmV3IE1hcCx0aGlzLl9jeWNsaWNOYXZpZ2F0aW9uRGlzYWJsZWQ9Qm9vbGVhbihlLmN5Y2xpY05hdmlnYXRpb25EaXNhYmxlZCksdGhpcy5fZW5hYmxlRm9jdXNET01FbGVtZW50PUJvb2xlYW4oZS5lbmFibGVGb2N1c0RPTUVsZW1lbnQpLHRoaXMuaG90a2V5cz0oMCxuLmNyZWF0ZUdyb3VwKSh7ZGVzYzoiU2VsZWN0YWJsZSBsaXN0In0pLGUubW9kZXMmJmUubW9kZXMuZm9yRWFjaCgodD0+bmV3IHQoe3NlbGVjdGlvbjp0aGlzLGxvY2FsSG90a2V5RWxlbWVudDp0aGlzLl9saXN0LGdsb2JhbEhvdGtleUVsZW1lbnQ6ZS5nbG9iYWxIb3RrZXlzP251bGw6dGhpcy5fbGlzdH0pKSl9c2VsZWN0SXRlbShlKXtlLmNsYXNzTGlzdC5hZGQodGhpcy5fc2VsZWN0ZWRMaXN0SXRlbUNsYXNzKX11bnNlbGVjdEl0ZW0oZSl7ZS5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuX3NlbGVjdGVkTGlzdEl0ZW1DbGFzcyl9dmlzdWFsbHlGb2N1c0l0ZW0oZSl7CnRoaXMucmVtb3ZlRm9jdXMoKSxlLmNsYXNzTGlzdC5hZGQodGhpcy5fZm9jdXNlZExpc3RJdGVtQ2xhc3MpLHRoaXMuc2V0Q3Vyc29yKGUpfWZvY3VzSXRlbShlKXt0aGlzLnZpc3VhbGx5Rm9jdXNJdGVtKGUpLHRoaXMuX2VuYWJsZUZvY3VzRE9NRWxlbWVudCYmZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZ0aGlzLl9mb2N1c0RPTUVsZW1lbnQoZSl9Z2V0Rm9jdXNlZEl0ZW1JZHgoKXtjb25zdCBlPXRoaXMuX2ZvY3VzZWQuZ2V0Rmlyc3RJdGVtKCk7cmV0dXJuIGU/dGhpcy5faXRlbXMuZ2V0SXRlbUlkeChlKTotMX1nZXRGb2N1c2VkSXRlbSgpe3JldHVybiB0aGlzLl9mb2N1c2VkLmdldEZpcnN0SXRlbSgpfWlzU2VsZWN0ZWQoZSl7cmV0dXJuIHRoaXMuX3NlbGVjdGVkLmNvbnRhaW5zKGUpfWlzRm9jdXNlZChlKXtyZXR1cm4gdGhpcy5fZm9jdXNlZC5jb250YWlucyhlKX1pc0xpc3RJdGVtKGUpe3JldHVybiB0aGlzLl9pdGVtcy5jb250YWlucyhlKX1yZW1vdmVTZWxlY3Rpb25zKCl7dGhpcy5fc2VsZWN0ZWQuZ2V0SXRlbXMoKS5mb3JFYWNoKChlPT5lLmNsYXNzTGlzdC5yZW1vdmUodGhpcy5fc2VsZWN0ZWRMaXN0SXRlbUNsYXNzKSkpfXJlbW92ZUZvY3VzKCl7dGhpcy5fZm9jdXNlZC5nZXRJdGVtcygpLmZvckVhY2goKGU9PmUuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLl9mb2N1c2VkTGlzdEl0ZW1DbGFzcykpKX1tb3ZlKGUsdCxzKXtjb25zdCBvPWU/dGhpcy5faXRlbXMuZ2V0SXRlbUlkeChlKTotMTtsZXQgaTtpPSJudW1iZXIiPT10eXBlb2YgdD90aGlzLl9pdGVtcy5nZXRJdGVtQnlJZHgodGhpcy5fY2FsY05leHRJdGVtSWR4KG8sdCkpOnQsaSYmKHMoaSxlKSx0aGlzLl9zY3JvbGxJZk5vdFZpc2libGUoaSkpfWdldFNlbGVjdGVkSXRlbXMoKXtyZXR1cm4gdGhpcy5fc2VsZWN0ZWQuZ2V0SXRlbXMoKX1nZXRMaXN0KCl7cmV0dXJuIHRoaXMuX2xpc3R9Z2V0SXRlbXNDb2xsZWN0aW9uKCl7cmV0dXJuIHRoaXMuX2l0ZW1zfWdldFNlbGVjdGVkQ29sbGVjdGlvbigpe3JldHVybiB0aGlzLl9zZWxlY3RlZH1zZXRDdXJzb3IoZSl7dGhpcy5yZW1vdmVDdXJzb3IoKSxlLmNsYXNzTGlzdC5hZGQoYyl9cmVtb3ZlQ3Vyc29yKCl7dGhpcy5fY3Vyc29yLmdldEl0ZW1zKCkuZm9yRWFjaCgoZT0+ZS5jbGFzc0xpc3QucmVtb3ZlKGMpKSl9Z2V0Q3Vyc29ySXRlbSgpe3JldHVybiB0aGlzLl9jdXJzb3IuZ2V0Rmlyc3RJdGVtKCl9Z2V0Q3Vyc29ySXRlbUlkeCgpe2NvbnN0IGU9dGhpcy5nZXRDdXJzb3JJdGVtKCk7cmV0dXJuIGU/dGhpcy5faXRlbXMuZ2V0SXRlbUlkeChlKTotMX1vblNlbGVjdChlLHQpe3RoaXMuX29uU2VsZWN0JiZ0aGlzLl9vblNlbGVjdCh7Y3Vyc29yOnQsaXRlbXM6dGhpcy5nZXRTZWxlY3RlZEl0ZW1zKCksYWN0aW9uOmV9KX1vbk5hdmlnYXRlKGUsdCl7dGhpcy5fb25OYXZpZ2F0ZSYmdGhpcy5fb25OYXZpZ2F0ZSh7Y3Vyc29yOmUsY3Vyc29ySWR4OnRoaXMuZ2V0Q3Vyc29ySXRlbUlkeCgpLGl0ZW1zOltlXSxhY3Rpb246dH0pfW9uQ29uZmlybShlLHQpe3RoaXMuX29uQ29uZmlybSYmdGhpcy5fb25Db25maXJtKHtjdXJzb3I6ZSxpdGVtczpbZV0sYWN0aW9uOnR9KX1vbkRlbGV0ZShlLHQscyl7dGhpcy5fb25EZWxldGUmJnRoaXMuX29uRGVsZXRlKHtjdXJzb3I6cyxpdGVtczplLGFjdGlvbjp0fSl9cmVnaXN0ZXJNb3VzZUFjdGlvbihlLHQpe3RoaXMuX21vdXNlQWN0aW9ucy5zZXQoZSx0KX1kaXNwYXRjaE1vdXNlRXZlbnQoZSx0KXtjb25zdCBzPXRoaXMuX21vdXNlQWN0aW9ucy5nZXQoZSk7cyYmcyh0KX1kZWxlZ2F0ZUNsaWNrKGUpe3JldHVybiB0PT57aWYoIXQuZGVmYXVsdFByZXZlbnRlZCl7Y29uc3Qgcz10aGlzLl9saXN0LmNvbnRhaW5zKHQudGFyZ2V0KTtsZXQgbz10LnRhcmdldDtmb3IoO3MmJm8hPT10aGlzLl9saXN0Oyl7aWYobyYmdGhpcy5pc0xpc3RJdGVtKG8pKXJldHVybiB2b2lkIGUobyk7bz1vJiZvLnBhcmVudEVsZW1lbnR9fX19Y2xlYXIoKXt0aGlzLnJlbW92ZVNlbGVjdGlvbnMoKSx0aGlzLnJlbW92ZUZvY3VzKCksdGhpcy5yZW1vdmVDdXJzb3IoKX1kZXN0cm95KCl7dGhpcy5ob3RrZXlzLmRlc3Ryb3koKSxkZWxldGUgdGhpcy5fbGlzdCxkZWxldGUgdGhpcy5faXRlbXMsZGVsZXRlIHRoaXMuX3NlbGVjdGVkLGRlbGV0ZSB0aGlzLl9mb2N1c2VkLGRlbGV0ZSB0aGlzLl9jdXJzb3IsZGVsZXRlIHRoaXMuX21vdXNlQWN0aW9uc31fc2Nyb2xsSWZOb3RWaXNpYmxlKGUpe2NvbnN0IHQ9dGhpcy5fbGlzdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxzPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbz10LnRvcCxpPXQuYm90dG9tLG49cy50b3AsYz1zLmJvdHRvbTtuPG8/dGhpcy5fbGlzdC5zY3JvbGxUb3AtPW8tbjpjPmkmJih0aGlzLl9saXN0LnNjcm9sbFRvcCs9Yy1pKX1fY2FsY05leHRJdGVtSWR4KGUsdCl7Y29uc3Qgcz10aGlzLl9pdGVtcy5nZXRMZW5ndGgoKS0xO2xldCBvPWUrdDtpZihvPDApe2lmKHRoaXMuX2N5Y2xpY05hdmlnYXRpb25EaXNhYmxlZClyZXR1cm4tMTtvPXN9aWYobz5zKXtpZih0aGlzLl9jeWNsaWNOYXZpZ2F0aW9uRGlzYWJsZWQpcmV0dXJuLTE7bz0wfXJldHVybiBvfV9mb2N1c0RPTUVsZW1lbnQoZSl7ZS5mb2N1cygpfX12YXIgcj1zKDIzNTcyNCk7Y2xhc3MgYXtjb25zdHJ1Y3RvcihlKXt0aGlzLl9mb2N1c05leHQ9KCk9PntpZighdGhpcy5faXNWYWxpZE5hdmlnYXRpb24oKSlyZXR1cm47Y29uc3QgZT10aGlzLl9zZWxlY3Rpb24uZ2V0Q3Vyc29ySXRlbSgpO3RoaXMuX3NlbGVjdGlvbi5tb3ZlKGUsaS5OZXh0LHRoaXMuX2ZvY3VzSXRlbS5iaW5kKHRoaXMsImRvd24iKSl9LHRoaXMuX2ZvY3VzUHJldj0oKT0+e2lmKCF0aGlzLl9pc1ZhbGlkTmF2aWdhdGlvbigpKXJldHVybjtjb25zdCBlPXRoaXMuX3NlbGVjdGlvbi5nZXRDdXJzb3JJdGVtKCk7dGhpcy5fc2VsZWN0aW9uLm1vdmUoZSxpLlByZXYsdGhpcy5fZm9jdXNJdGVtLmJpbmQodGhpcywidXAiKSl9LHRoaXMuX2ZvY3VzRmlyc3Q9KCk9PntpZighdGhpcy5faXNWYWxpZE5hdmlnYXRpb24oKSlyZXR1cm4KO2NvbnN0IGU9dGhpcy5fc2VsZWN0aW9uLmdldEl0ZW1zQ29sbGVjdGlvbigpLmdldEZpcnN0SXRlbSgpLHQ9dGhpcy5fc2VsZWN0aW9uLmdldEZvY3VzZWRJdGVtKCk7dGhpcy5fc2VsZWN0aW9uLm1vdmUodCxlLHRoaXMuX2ZvY3VzSXRlbS5iaW5kKHRoaXMsImhvbWUiKSl9LHRoaXMuX2ZvY3VzTGFzdD0oKT0+e2lmKCF0aGlzLl9pc1ZhbGlkTmF2aWdhdGlvbigpKXJldHVybjtjb25zdCBlPXRoaXMuX3NlbGVjdGlvbi5nZXRJdGVtc0NvbGxlY3Rpb24oKS5nZXRMYXN0SXRlbSgpLHQ9dGhpcy5fc2VsZWN0aW9uLmdldEZvY3VzZWRJdGVtKCk7dGhpcy5fc2VsZWN0aW9uLm1vdmUodCxlLHRoaXMuX2ZvY3VzSXRlbS5iaW5kKHRoaXMsImVuZCIpKX0sdGhpcy5fc2VsZWN0aW9uPWUuc2VsZWN0aW9uLHRoaXMuX3NlbGVjdGlvbi5yZWdpc3Rlck1vdXNlQWN0aW9uKCJjbGljayIsdGhpcy5fc2VsZWN0aW9uLmRlbGVnYXRlQ2xpY2sodGhpcy5fZm9jdXNJdGVtLmJpbmQodGhpcywiY2xpY2siKSkpLHRoaXMuX3NlbGVjdGlvbi5ob3RrZXlzLmFkZCh7ZGVzYzoiRm9jdXMgUHJldmlvdXMiLGhvdGtleTozOCxoYW5kbGVyOnRoaXMuX2ZvY3VzUHJldixlbGVtZW50OmUuZ2xvYmFsSG90a2V5RWxlbWVudCxpc1JlcGVhdEFjY2VwdGVkOiEwfSksdGhpcy5fc2VsZWN0aW9uLmhvdGtleXMuYWRkKHtkZXNjOiJGb2N1cyBOZXh0Iixob3RrZXk6NDAsaGFuZGxlcjp0aGlzLl9mb2N1c05leHQsZWxlbWVudDplLmdsb2JhbEhvdGtleUVsZW1lbnQsaXNSZXBlYXRBY2NlcHRlZDohMH0pLHRoaXMuX3NlbGVjdGlvbi5ob3RrZXlzLmFkZCh7ZGVzYzoiRm9jdXMgUHJldmlvdXMiLGhvdGtleTpyLk1vZGlmaWVycy5TaGlmdCszMixoYW5kbGVyOnRoaXMuX2ZvY3VzUHJldixlbGVtZW50OmUuZ2xvYmFsSG90a2V5RWxlbWVudCxpc1JlcGVhdEFjY2VwdGVkOiEwfSksdGhpcy5fc2VsZWN0aW9uLmhvdGtleXMuYWRkKHtkZXNjOiJGb2N1cyBOZXh0Iixob3RrZXk6MzIsaGFuZGxlcjp0aGlzLl9mb2N1c05leHQsZWxlbWVudDplLmdsb2JhbEhvdGtleUVsZW1lbnQsaXNSZXBlYXRBY2NlcHRlZDohMH0pLHRoaXMuX3NlbGVjdGlvbi5ob3RrZXlzLmFkZCh7ZGVzYzoiRm9jdXMgRmlyc3QiLGhvdGtleTozNixoYW5kbGVyOnRoaXMuX2ZvY3VzRmlyc3QsZWxlbWVudDplLmdsb2JhbEhvdGtleUVsZW1lbnR9KSx0aGlzLl9zZWxlY3Rpb24uaG90a2V5cy5hZGQoe2Rlc2M6IkZvY3VzIExhc3QiLGhvdGtleTozNSxoYW5kbGVyOnRoaXMuX2ZvY3VzTGFzdCxlbGVtZW50OmUuZ2xvYmFsSG90a2V5RWxlbWVudH0pfV9mb2N1c0l0ZW0oZSx0KXt0aGlzLl9zZWxlY3Rpb24ucmVtb3ZlU2VsZWN0aW9ucygpLHRoaXMuX3NlbGVjdGlvbi5mb2N1c0l0ZW0odCksdGhpcy5fc2VsZWN0aW9uLnNldEN1cnNvcih0KSx0aGlzLl9zZWxlY3Rpb24uc2VsZWN0SXRlbSh0KSx0aGlzLl9zZWxlY3Rpb24ub25OYXZpZ2F0ZSh0LGUpfV9pc1ZhbGlkTmF2aWdhdGlvbigpe3JldHVybiBkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09ZG9jdW1lbnQuYm9keXx8dGhpcy5fc2VsZWN0aW9uLmdldExpc3QoKS5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KX19Y2xhc3MgaHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9zZWxlY3Rpb249ZS5zZWxlY3Rpb24sdGhpcy5fc2VsZWN0aW9uLmhvdGtleXMuYWRkKHtob3RrZXk6ci5Nb2RpZmllcnMuQWx0KzEzLGhhbmRsZXI6dGhpcy5fb25JdGVtS2V5RG93bi5iaW5kKHRoaXMsImFsdCtyZXR1cm4iKSxlbGVtZW50OmUubG9jYWxIb3RrZXlFbGVtZW50fSksdGhpcy5fc2VsZWN0aW9uLmhvdGtleXMuYWRkKHtob3RrZXk6ci5Nb2RpZmllcnMuQWx0K3IuTW9kaWZpZXJzLlNoaWZ0KzEzLGhhbmRsZXI6dGhpcy5fb25JdGVtS2V5RG93bi5iaW5kKHRoaXMsImFsdCtyZXR1cm4iKSxlbGVtZW50OmUubG9jYWxIb3RrZXlFbGVtZW50fSl9X29uSXRlbUtleURvd24oZSx0KXtjb25zdCBzPXRoaXMuX3NlbGVjdGlvbi5nZXRDdXJzb3JJdGVtKCk7cyYmdGhpcy5fc2VsZWN0aW9uLm9uQ29uZmlybShzLGUpfX1jbGFzcyBke2NvbnN0cnVjdG9yKGUpe3RoaXMuX3NlbGVjdGlvbj1lLnNlbGVjdGlvbix0aGlzLl9zZWxlY3Rpb24ucmVnaXN0ZXJNb3VzZUFjdGlvbigic2hpZnQrY2xpY2siLHRoaXMuX3NlbGVjdGlvbi5kZWxlZ2F0ZUNsaWNrKHRoaXMuX29uSXRlbUNsaWNrLmJpbmQodGhpcywic2hpZnQrY2xpY2siKSkpLHRoaXMuX3NlbGVjdGlvbi5ob3RrZXlzLmFkZCh7ZGVzYzoiRXh0ZW5kIFNlbGVjdGlvbiBEb3duIixob3RrZXk6ci5Nb2RpZmllcnMuU2hpZnQrNDAsaGFuZGxlcjp0aGlzLl9uZXh0UmFuZ2VJdGVtLmJpbmQodGhpcywic2hpZnQrZG93biIpLGVsZW1lbnQ6ZS5sb2NhbEhvdGtleUVsZW1lbnR9KSx0aGlzLl9zZWxlY3Rpb24uaG90a2V5cy5hZGQoe2Rlc2M6IkV4dGVuZCBTZWxlY3Rpb24gVXAiLGhvdGtleTpyLk1vZGlmaWVycy5TaGlmdCszOCxoYW5kbGVyOnRoaXMuX3ByZXZSYW5nZUl0ZW0uYmluZCh0aGlzLCJzaGlmdCt1cCIpLGVsZW1lbnQ6ZS5sb2NhbEhvdGtleUVsZW1lbnR9KX1fbmV4dFJhbmdlSXRlbShlKXtjb25zdCB0PXRoaXMuX3NlbGVjdGlvbi5nZXRJdGVtc0NvbGxlY3Rpb24oKSxzPXRoaXMuX3NlbGVjdGlvbi5nZXRDdXJzb3JJdGVtKCk7dGhpcy5fc2VsZWN0aW9uLmdldEN1cnNvckl0ZW1JZHgoKSE9PXQuZ2V0TGVuZ3RoKCktMSYmdGhpcy5fc2VsZWN0aW9uLm1vdmUocyxpLk5leHQsdGhpcy5fYWRkSXRlbVRvUmFuZ2UoZSwoKGUsdCk9PmU8dCkpKX1fcHJldlJhbmdlSXRlbShlKXtjb25zdCB0PXRoaXMuX3NlbGVjdGlvbi5nZXRDdXJzb3JJdGVtKCk7MCE9PXRoaXMuX3NlbGVjdGlvbi5nZXRDdXJzb3JJdGVtSWR4KCkmJnRoaXMuX3NlbGVjdGlvbi5tb3ZlKHQsaS5QcmV2LHRoaXMuX2FkZEl0ZW1Ub1JhbmdlKGUsKChlLHQpPT5lPnQpKSl9X29uSXRlbUNsaWNrKGUsdCl7Y29uc3Qgcz10aGlzLl9zZWxlY3Rpb24uZ2V0SXRlbXNDb2xsZWN0aW9uKCkuZ2V0SXRlbXMoKSxvPXRoaXMuX2dldFJhbmdlSW5mbyh0KTt0aGlzLl9zZWxlY3Rpb24ucmVtb3ZlU2VsZWN0aW9ucygpCjtmb3IobGV0IGU9by5zdGFydDtlPD1vLmVuZDtlKyspdGhpcy5fc2VsZWN0aW9uLmlzU2VsZWN0ZWQoc1tlXSl8fHRoaXMuX3NlbGVjdGlvbi5zZWxlY3RJdGVtKHNbZV0pO3RoaXMuX3NlbGVjdGlvbi5zZXRDdXJzb3IodCksdGhpcy5fc2VsZWN0aW9uLm9uU2VsZWN0KGUsdCl9X2dldFJhbmdlSW5mbyhlKXtjb25zdCB0PXRoaXMuX3NlbGVjdGlvbi5nZXRJdGVtc0NvbGxlY3Rpb24oKS5nZXRJdGVtSWR4KGUpLHM9dGhpcy5fc2VsZWN0aW9uLmdldEZvY3VzZWRJdGVtSWR4KCksbz0tMSE9PXM/czowO3JldHVybiB0Pm8/e3N0YXJ0Om8sZW5kOnR9OntzdGFydDp0LGVuZDpvfX1fYWRkSXRlbVRvUmFuZ2UoZSx0KXtyZXR1cm4ocyxvKT0+e2NvbnN0IGk9dGhpcy5fc2VsZWN0aW9uLmdldEl0ZW1zQ29sbGVjdGlvbigpLmdldEl0ZW1JZHgocyksbj10aGlzLl9zZWxlY3Rpb24uZ2V0Rm9jdXNlZEl0ZW1JZHgoKTswPT09dGhpcy5fc2VsZWN0aW9uLmdldFNlbGVjdGVkQ29sbGVjdGlvbigpLmdldExlbmd0aCgpJiZvJiZ0aGlzLl9zZWxlY3Rpb24uc2VsZWN0SXRlbShvKSx0KG4saSk/dGhpcy5fc2VsZWN0aW9uLnNlbGVjdEl0ZW0ocyk6byYmdGhpcy5fc2VsZWN0aW9uLnVuc2VsZWN0SXRlbShvKSx0aGlzLl9zZWxlY3Rpb24uc2V0Q3Vyc29yKHMpLHRoaXMuX3NlbGVjdGlvbi5vblNlbGVjdChlLHMpfX19Y2xhc3MgdXtjb25zdHJ1Y3RvcihlKXt0aGlzLl9zZWxlY3Rpb249ZS5zZWxlY3Rpb24sdGhpcy5fc2VsZWN0aW9uLnJlZ2lzdGVyTW91c2VBY3Rpb24oImN0cmwrY2xpY2siLHRoaXMuX3NlbGVjdGlvbi5kZWxlZ2F0ZUNsaWNrKHRoaXMuX29uSXRlbUNsaWNrLmJpbmQodGhpcywiY3RybCtjbGljayIpKSksdGhpcy5fc2VsZWN0aW9uLnJlZ2lzdGVyTW91c2VBY3Rpb24oIm1ldGErY2xpY2siLHRoaXMuX3NlbGVjdGlvbi5kZWxlZ2F0ZUNsaWNrKHRoaXMuX29uSXRlbUNsaWNrLmJpbmQodGhpcywibWV0YStjbGljayIpKSksdGhpcy5fc2VsZWN0aW9uLmhvdGtleXMuYWRkKHtob3RrZXk6ci5Nb2RpZmllcnMuTW9kKzY1LGhhbmRsZXI6dGhpcy5fc2VsZWN0QWxsLmJpbmQodGhpcywiY3RybCthIiksZWxlbWVudDplLmxvY2FsSG90a2V5RWxlbWVudH0pLHRoaXMuX3NlbGVjdGlvbi5ob3RrZXlzLmFkZCh7aG90a2V5OjI3LGhhbmRsZXI6dGhpcy5fdW5zZWxlY3RBbGwuYmluZCh0aGlzLCJlc2MiKSxlbGVtZW50OmUubG9jYWxIb3RrZXlFbGVtZW50fSl9X29uSXRlbUNsaWNrKGUsdCl7Y29uc3Qgcz10aGlzLl9zZWxlY3Rpb24uZ2V0Rm9jdXNlZEl0ZW0oKSxvPXRoaXMuX3NlbGVjdGlvbi5nZXRTZWxlY3RlZENvbGxlY3Rpb24oKS5nZXRMZW5ndGgoKTtzJiYwPT09byYmdGhpcy5fc2VsZWN0aW9uLnNlbGVjdEl0ZW0ocyksdGhpcy5fdG9nZ2xlU2VsZWN0aW9uKHQpLHRoaXMuX3NlbGVjdGlvbi5vblNlbGVjdChlLHQpfV90b2dnbGVTZWxlY3Rpb24oZSl7dGhpcy5fc2VsZWN0aW9uLmlzU2VsZWN0ZWQoZSk/dGhpcy5fc2VsZWN0aW9uLnVuc2VsZWN0SXRlbShlKTp0aGlzLl9zZWxlY3Rpb24uc2VsZWN0SXRlbShlKSx0aGlzLl9zZWxlY3Rpb24uc2V0Q3Vyc29yKGUpfV9zZWxlY3RBbGwoZSl7dGhpcy5fc2VsZWN0aW9uLmdldEl0ZW1zQ29sbGVjdGlvbigpLmdldEl0ZW1zKCkuZm9yRWFjaCgoZT0+dGhpcy5fc2VsZWN0aW9uLnNlbGVjdEl0ZW0oZSkpKSx0aGlzLl9zZWxlY3Rpb24ub25TZWxlY3QoZSl9X3Vuc2VsZWN0QWxsKGUpe3RoaXMuX3NlbGVjdGlvbi5yZW1vdmVTZWxlY3Rpb25zKCk7Y29uc3QgdD10aGlzLl9zZWxlY3Rpb24uZ2V0Rm9jdXNlZEl0ZW0oKTt0JiZ0aGlzLl9zZWxlY3Rpb24uc2V0Q3Vyc29yKHQpLHRoaXMuX3NlbGVjdGlvbi5vblNlbGVjdChlKX19Y2xhc3MgbXtjb25zdHJ1Y3RvcihlKXt0aGlzLl9zZWxlY3Rpb249ZS5zZWxlY3Rpb24sdGhpcy5fc2VsZWN0aW9uLmhvdGtleXMuYWRkKHtkZXNjOiJEZWxldGUiLGhvdGtleTo0NixoYW5kbGVyOnRoaXMuX2RlbGV0ZS5iaW5kKHRoaXMsImRlbCIpLGVsZW1lbnQ6ZS5nbG9iYWxIb3RrZXlFbGVtZW50fSl9X2RlbGV0ZShlKXtjb25zdCB0PXRoaXMuX3NlbGVjdGlvbi5nZXRTZWxlY3RlZEl0ZW1zKCkscz10aGlzLl9zZWxlY3Rpb24uZ2V0Q3Vyc29ySXRlbSgpO3MmJnQubGVuZ3RoPjA/dGhpcy5fc2VsZWN0aW9uLm9uRGVsZXRlKHQsZSxzKTpzJiZ0aGlzLl9zZWxlY3Rpb24ub25EZWxldGUoW3NdLGUscyl9fXZhciBfPXMoMzE4OTc0KTtjbGFzcyBne2NvbnN0cnVjdG9yKGUpe3RoaXMuX2Rpc3BhdGNoQ2xpY2s9ZT0+e2UuY3RybEtleSYmISgwLF8uaXNNYWMpKCk/dGhpcy5fc2VsZWN0aW9uLmRpc3BhdGNoTW91c2VFdmVudCgiY3RybCtjbGljayIsZSk6ZS5zaGlmdEtleT90aGlzLl9zZWxlY3Rpb24uZGlzcGF0Y2hNb3VzZUV2ZW50KCJzaGlmdCtjbGljayIsZSk6ZS5tZXRhS2V5JiYoMCxfLmlzTWFjKSgpP3RoaXMuX3NlbGVjdGlvbi5kaXNwYXRjaE1vdXNlRXZlbnQoIm1ldGErY2xpY2siLGUpOnRoaXMuX3NlbGVjdGlvbi5kaXNwYXRjaE1vdXNlRXZlbnQoImNsaWNrIixlKX0sdGhpcy5fb25TZWxlY3Q9ZT0+e3RoaXMuX2NvbGxlY3RLZXlzKCksdGhpcy5fb3B0cy5vblNlbGVjdCYmdGhpcy5fb3B0cy5vblNlbGVjdChlKX0sdGhpcy5fb25OYXZpZ2F0ZT1lPT57dGhpcy5fY29sbGVjdEtleXMoKSx0aGlzLl9vcHRzLm9uTmF2aWdhdGUmJnRoaXMuX29wdHMub25OYXZpZ2F0ZShlKX0sdGhpcy5fZGlzYWJsZVNlbGVjdGlvbj0oKT0+e3RoaXMuX2xpc3Qub25zZWxlY3RzdGFydD0oKT0+ITF9LHRoaXMuX2VuYWJsZVNlbGVjdGlvbj0oKT0+e3RoaXMuX2xpc3Qub25zZWxlY3RzdGFydD0oKT0+bnVsbH0sdGhpcy5fb3B0cz1lLHRoaXMuX2xpc3Q9ZS5saXN0LHRoaXMuX3NlbGVjdGlvbj1uZXcgbCh7bGlzdDplLmxpc3QsbGlzdEl0ZW1DbGFzczplLmxpc3RJdGVtQ2xhc3Msc2VsZWN0ZWRMaXN0SXRlbUNsYXNzOmUuc2VsZWN0ZWRMaXN0SXRlbUNsYXNzLGZvY3VzZWRMaXN0SXRlbUNsYXNzOmUuZm9jdXNlZExpc3RJdGVtQ2xhc3Msb25TZWxlY3Q6dGhpcy5fb25TZWxlY3Qsb25OYXZpZ2F0ZTp0aGlzLl9vbk5hdmlnYXRlLApvbkNvbmZpcm06ZS5vbkNvbmZpcm0sb25EZWxldGU6ZS5vbkRlbGV0ZSxtb2RlczplLm1vZGVzLGdsb2JhbEhvdGtleXM6Qm9vbGVhbihlLmdsb2JhbEhvdGtleXMpLGN5Y2xpY05hdmlnYXRpb25EaXNhYmxlZDpCb29sZWFuKGUuY3ljbGljTmF2aWdhdGlvbkRpc2FibGVkKSxlbmFibGVGb2N1c0RPTUVsZW1lbnQ6Qm9vbGVhbihlLmVuYWJsZUZvY3VzRE9NRWxlbWVudCl9KSx0aGlzLl9zZWxlY3RlZEtleXM9W10sdGhpcy5fZm9jdXNlZEtleT1udWxsLHRoaXMuX2N1cnNvcktleT1udWxsLHRoaXMuYWN0aXZhdGUoKSx0aGlzLl9jb2xsZWN0S2V5cygpfWFjdGl2YXRlKCl7dGhpcy5fbGlzdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5fZGlzcGF0Y2hDbGljayksdGhpcy5fbGlzdC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLl9kaXNhYmxlU2VsZWN0aW9uKSx0aGlzLl9saXN0LmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIix0aGlzLl9lbmFibGVTZWxlY3Rpb24pLHRoaXMuX3NlbGVjdGlvbi5ob3RrZXlzLnByb21vdGUoKX1kZWFjdGl2YXRlKCl7dGhpcy5fbGlzdC5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5fZGlzcGF0Y2hDbGljayksdGhpcy5fbGlzdC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLl9kaXNhYmxlU2VsZWN0aW9uKSx0aGlzLl9saXN0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleXVwIix0aGlzLl9lbmFibGVTZWxlY3Rpb24pfWZvY3VzSXRlbShlKXt0aGlzLl9pc05vdEZvY3VzZWQoZSkmJih0aGlzLl9zZWxlY3Rpb24ucmVtb3ZlU2VsZWN0aW9ucygpLHRoaXMuX3NlbGVjdGlvbi5mb2N1c0l0ZW0oZSkpfXZpc3VhbGx5Rm9jdXNJdGVtKGUpe3RoaXMuX2lzTm90Rm9jdXNlZChlKSYmKHRoaXMuX3NlbGVjdGlvbi5yZW1vdmVTZWxlY3Rpb25zKCksdGhpcy5fc2VsZWN0aW9uLnZpc3VhbGx5Rm9jdXNJdGVtKGUpLHRoaXMuX3NlbGVjdGlvbi5zZWxlY3RJdGVtKGUpKX1yZW1vdmVGb2N1cygpe3RoaXMuX3NlbGVjdGlvbi5yZW1vdmVGb2N1cygpfXJlbW92ZVNlbGVjdGlvbnMoKXt0aGlzLl9zZWxlY3Rpb24ucmVtb3ZlU2VsZWN0aW9ucygpfXJlc3RvcmUoKXtpZih0aGlzLl9vcHRzLmdldE5vZGVLZXkpe2NvbnN0IGU9dGhpcy5fc2VsZWN0aW9uLmdldEl0ZW1zQ29sbGVjdGlvbigpLmdldEl0ZW1zKCksdD10aGlzLl9vcHRzLmdldE5vZGVLZXk7ZS5mb3JFYWNoKChlPT57Y29uc3Qgcz10KGUpO3RoaXMuX2ZvY3VzZWRLZXk9PT1zJiZ0aGlzLl9zZWxlY3Rpb24uZm9jdXNJdGVtKGUpLHRoaXMuX2N1cnNvcktleT09PXMmJnRoaXMuX3NlbGVjdGlvbi5zZXRDdXJzb3IoZSksdGhpcy5fc2VsZWN0ZWRLZXlzLmluY2x1ZGVzKHMpJiZ0aGlzLl9zZWxlY3Rpb24uc2VsZWN0SXRlbShlKX0pKX19Z2V0U2VsZWN0ZWRLZXlzKCl7cmV0dXJuIHRoaXMuX2NvbGxlY3RLZXlzKCksdGhpcy5fc2VsZWN0ZWRLZXlzfWdldEZvY3VzZWRLZXkoKXtyZXR1cm4gdGhpcy5fY29sbGVjdEtleXMoKSx0aGlzLl9mb2N1c2VkS2V5fHxudWxsfWNsZWFyKCl7dGhpcy5fc2VsZWN0aW9uLmNsZWFyKCl9ZGVzdHJveSgpe3RoaXMuZGVhY3RpdmF0ZSgpLHRoaXMuX3NlbGVjdGlvbi5kZXN0cm95KCksZGVsZXRlIHRoaXMuX3NlbGVjdGlvbixkZWxldGUgdGhpcy5fbGlzdCxkZWxldGUgdGhpcy5fb3B0c31fY29sbGVjdEtleXMoKXtpZih0aGlzLl9vcHRzLmdldE5vZGVLZXkpe2NvbnN0IGU9dGhpcy5fb3B0cy5nZXROb2RlS2V5LHQ9dGhpcy5fc2VsZWN0aW9uLmdldFNlbGVjdGVkSXRlbXMoKSxzPXRoaXMuX3NlbGVjdGlvbi5nZXRGb2N1c2VkSXRlbSgpLG89dGhpcy5fc2VsZWN0aW9uLmdldEN1cnNvckl0ZW0oKTt0aGlzLl9zZWxlY3RlZEtleXM9dC5tYXAoKHQ9PmUodCkpKSx0aGlzLl9mb2N1c2VkS2V5PXM/ZShzKTpudWxsLHRoaXMuX2N1cnNvcktleT1vP2Uobyk6bnVsbH19X2lzTm90Rm9jdXNlZChlKXtyZXR1cm4hdGhpcy5fc2VsZWN0aW9uLmlzU2VsZWN0ZWQoZSkmJiF0aGlzLl9zZWxlY3Rpb24uaXNGb2N1c2VkKGUpfX1mdW5jdGlvbiBwKGUpe3JldHVybiBuZXcgZyhPYmplY3QuYXNzaWduKHt9LHttb2RlczpbYSxoLG0sdSxkXX0sZSkpfX0sMTY4ODI0KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlKXtjb25zdFt0LHMsb109ZnVuY3Rpb24oZSl7Y29uc3QgdD1lLnRvU3RyaW5nKCk7cmV0dXJuW051bWJlcih0LnNsaWNlKDAsNCkpLE51bWJlcih0LnNsaWNlKDQsNikpLE51bWJlcih0LnNsaWNlKDYpKV19KGUpO3JldHVybiBuZXcgRGF0ZSh0LHMtMSxvKX1zLmQodCx7Z2V0RGF0ZUZyb21ZWVlZTU1ERDooKT0+b30pfSwxODIzMDgoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7dXNlUm92aW5nVGFiaW5kZXhFbGVtZW50OigpPT5jfSk7dmFyIG89cyg3Nzk0NzQpLGk9cyg3ODc4OTUpLG49cyg2MTYzMTEpO2Z1bmN0aW9uIGMoZSx0PVtdKXtjb25zdFtzLGNdPSgwLG8udXNlU3RhdGUpKCExKSxsPSgwLGkudXNlRnVuY3Rpb25hbFJlZk9iamVjdCkoZSk7cmV0dXJuKDAsbi51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9Pntjb25zdCBlPWwuY3VycmVudDtpZihudWxsPT09ZSlyZXR1cm47Y29uc3QgdD1lPT57c3dpdGNoKGUudHlwZSl7Y2FzZSJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50IjpjKCEwKTticmVhaztjYXNlInJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCI6YyghMSl9fTtyZXR1cm4gZS5hZGRFdmVudExpc3RlbmVyKCJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50Iix0KSxlLmFkZEV2ZW50TGlzdGVuZXIoInJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCIsdCksKCk9PntlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInJvdmluZy10YWJpbmRleDptYWluLWVsZW1lbnQiLHQpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigicm92aW5nLXRhYmluZGV4OnNlY29uZGFyeS1lbGVtZW50Iix0KX19KSx0KSxbbCxzPzA6LTFdfX0sMzA5ODM2KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2FkZFV0bVRvVXJsOigpPT5pfSk7dmFyIG89cyg2MDE1ODcpO2Z1bmN0aW9uIGkoZSx0KXsKaWYoIS8oW2EtekEtWjAtOS4tXSp0cmFkaW5ndmlldy5jb20pfGxvY2FsaG9zdC8udGVzdChlKSlyZXR1cm4gZTtjb25zdCBzPSgwLG8uYnVpbGRVdG1RdWVyeVN0cmluZykodCk7aWYoIiI9PT1zKXJldHVybiBlO2NvbnN0IGk9ZS5pbmRleE9mKCI/Iiksbj1lLmluZGV4T2YoIiMiKSxjPS0xIT09bjtpZigtMSE9PWkmJighY3x8aTxuKSl7cmV0dXJuYCR7ZS5zbGljZSgwLGkpfT8ke2M/ZS5zbGljZShpKzEsbik6ZS5zbGljZShpKzEpfSYke3N9JHtjP2Uuc2xpY2Uobik6IiJ9YH1pZihjKXtyZXR1cm5gJHtlLnNsaWNlKDAsbil9PyR7c30ke2Uuc2xpY2Uobil9YH1yZXR1cm5gJHtlfT8ke3N9YH19LDYwMTU4NyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtidWlsZFV0bVF1ZXJ5U3RyaW5nOigpPT5sLGJ1aWxkVXRtUXVlcnlTdHJpbmdGcm9tVXJsUGFyYW1zOigpPT5yLGZpbHRlclV0bUluZm86KCk9PmN9KTt2YXIgbz1zKDQ5MjY3NyksaT1zKDY0MTU5Myk7Y29uc3Qgbj1bInV0bV9zb3VyY2UiLCJ1dG1fbWVkaXVtIiwidXRtX2NhbXBhaWduIl07ZnVuY3Rpb24gYyhlKXtjb25zdCB0PXt9O3JldHVybiBuLmZvckVhY2goKHM9Pntjb25zdCBvPWVbc107InN0cmluZyI9PXR5cGVvZiBvJiYiIiE9PW8mJih0W3NdPSgwLGkuaHRtbEVzY2FwZSkobykpfSkpLHR9ZnVuY3Rpb24gbChlLHQ9ITEpe2NvbnN0IHM9KDAsby5jcmVhdGVVcmxQYXJhbXMpKGUpO3JldHVybiBzJiZ0PyI/IitzOnN9ZnVuY3Rpb24gcihlKXtyZXR1cm4gbChjKCgwLG8uZ2V0VXJsUGFyYW1zKSgpKSxlKX19LDQ2MjcwNChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTIgNGgzdjFoLTEuMDRsLS44OCA5LjY0YTEuNSAxLjUgMCAwIDEtMS41IDEuMzZINi40MmExLjUgMS41IDAgMCAxLTEuNS0xLjM2TDQuMDUgNUgzVjRoM3YtLjVDNiAyLjY3IDYuNjcgMiA3LjUgMmgzYy44MyAwIDEuNS42NyAxLjUgMS41VjRaTTcuNSAzYS41LjUgMCAwIDAtLjUuNVY0aDR2LS41YS41LjUgMCAwIDAtLjUtLjVoLTNaTTUuMDUgNWwuODcgOS41NWEuNS41IDAgMCAwIC41LjQ1aDUuMTdhLjUuNSAwIDAgMCAuNS0uNDVMMTIuOTQgNWgtNy45WiIvPjwvc3ZnPid9LDIwMzMwOShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTYgMTYiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTQgOGE0IDQgMCAxIDAgOCAwIDQgNCAwIDEgMC04IDAiLz48L3N2Zz4nfSwyNzQ4NTEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTAgOGE4IDggMCAxIDAgMTYgMEE4IDggMCAxIDAgMCA4em0yIDBhNiA2IDAgMSAwIDEyIDBBNiA2IDAgMSAwIDIgOHptMiAwYTQgNCAwIDEgMCA4IDAgNCA0IDAgMSAwLTggMCIvPjwvc3ZnPid9LDMzNDU1MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJNMTYuNSAyMEwxMSAxNC41IDE2LjUgOSIvPjwvc3ZnPid9LDM4MDU2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjEuNSIgZD0iTTcgMTVsNSA1TDIzIDkiLz48L3N2Zz4nfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/87995.911b26181778fecc4b4e.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.261Z","timestamp":1785120634261,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/87995.911b26181778fecc4b4e.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-7a23\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:32:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 118920b2da8649e22cd7536d3a7bf848\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":31267,"size_decoded":10843,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"6a05d8171572287378e38e6964e02fe8","sha1":"63d026c77be2140ec887f9ff6d3f073098c753d7","sha256":"6c8f663aeaed79d462dc53895df9b7870b0e620a0dfe1116cb122d17391b60ed","sha512":"a4076a5db83f1d9f5054f7bcbcbb078c8881c79fcd79ea086d710a4a25568695a0fb17213a40d0b396482e293c7d980d411e5f128a7a040a765286cf92d3595e","ssdeep":"768:72RxBdTMf+AnnZv7+SVxp9QYQ2UYfzvEB7DU0M/Zm8FNpVwLY8jnEM//i7XeBFK8:7SEnnZv7+S9Un78F/VwLY8jnEM//i7XM","tlshash":"97e2a642e342606702f381ed0c354503a339ebd5784649acb6a98defb56cd0cb5bab7d","first_seen":"2026-07-24T18:44:55.949977Z","last_seen":"2026-07-27T05:27:33.090756Z","times_seen":122,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s4Nzk5NV0sezEyNzE1Nyh0KXt0LmV4cG9ydHM9e2ZhZGU6ImZhZGUtTU9kVWlCWUQiLGhpZGRlbjoiaGlkZGVuLU1PZFVpQllEIn19LDQ3MDA5MCh0LGUsaSl7InVzZSBzdHJpY3QiO2kuZChlLHtNaW5pQ2hhcnQ6KCk9Pmp9KTt2YXIgcz1pKDY3ODMxMiksYT1pKDc0MDE2Miksbj1pKDc4MzI1NCkscj1pKDIzMjM2NCksbz1pKDQwMjA0NSksaD1pKDk0ODM4MCksbD1pKDEzODYzOCksYz1pKDYyNDY3OCksZD1pKDgyNjE1NiksbT1pKDIyMTA2MSksdT1pKDI1NDY3MyksXz1pKDUwNTU2KSxwPWkoNDU5OTk0KSxmPWkoNzczMDg4KSxiPWkoMTMxMjk0KSxnPWkoNTkxNzQxKSxTPWkoODAyNTg2KSx2PWkoMTg5ODYzKSx5PWkoMTQ2MDU4KSxDPWkoNjEwNTcxKTtjb25zdCBEPSgwLHMuZGVmYXVsdEhvcnpTY2FsZUJlaGF2aW9yKSgpO2NsYXNzIFQgZXh0ZW5kcyBEe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9sYXN0SGFzaD0iIn1zaG91bGRSZXNldFRpY2ttYXJrTGFiZWxzKHQpe2NvbnN0IGU9dGhpcy5jYWxjdWxhdGVJdGVtc0hhc2godCksaT1lIT09dGhpcy5fbGFzdEhhc2g7cmV0dXJuIHRoaXMuX2xhc3RIYXNoPWUsaX1jYWxjdWxhdGVJdGVtc0hhc2godCl7cmV0dXJuIHQucmVkdWNlKCgodCxlKT0+dCtlLmluZGV4KSwiIil9fXZhciBQPWkoNTg2MjQ3KSx3PWkoMTI3MTU3KTtjb25zdCBrPSgwLG0uZ2V0TG9nZ2VyKSgiQ2hhcnQuTWluaUNoYXJ0IiksTT17dmFsdWU6IjEyTSIsdHlwZToicGVyaW9kLWJhY2sifSxJPXt0b3A6LjAxLGJvdHRvbTouMDF9LHg9e2NoYXJ0VHlwZToiYXJlYSIsbGluZVdpZHRoOjIscHJpY2VMaW5lVmlzaWJsZTohMSxjcm9zc2hhaXJNYXJrZXJWaXNpYmxlOiExLGxhc3RWYWx1ZVZpc2libGU6ITEsc2NhbGVNYXJnaW5zOkl9LE89e2xpbmVXaWR0aDoyLHByaWNlTGluZVZpc2libGU6ITEsY3Jvc3NoYWlyTWFya2VyVmlzaWJsZTohMSxsYXN0VmFsdWVWaXNpYmxlOiExLHNjYWxlTWFyZ2luczpJfSxGPXtjaGFydFR5cGU6ImJhc2VsaW5lIn0sUj17cHJpY2VMaW5lVmlzaWJsZTohMSxsYXN0VmFsdWVWaXNpYmxlOiExLHNjYWxlTWFyZ2luczpJfSxWPXtwcmljZUxpbmVWaXNpYmxlOiExLGxhc3RWYWx1ZVZpc2libGU6ITEsc2NhbGVNYXJnaW5zOkl9LHo9e3NjYWxlTWFyZ2luczpJfSxFPXtjaGFydFR5cGU6InByZXR0eS1oaXN0b2dyYW0iLHNjYWxlTWFyZ2luczpJLHJhZGl1czoyLHdpZHRoUGVyY2VudDo1MH0sTD17dmlzaWJsZTohMSxjb2xvcjpfLmNvbG9yc1BhbGV0dGVbImNvbG9yLXR2LWJsdWUtNTAwIl0sbGluZVdpZHRoOjEsbGVuZ3RoOjksbGFzdFZhbHVlVmlzaWJsZTohMSxwcmljZUxpbmVWaXNpYmxlOiExfSxCPXtzcGlubmVyOnt2aXNpYmxlOiExLHdpZHRoOjQsY29sb3I6Xy5jb2xvcnNQYWxldHRlWyJjb2xvci1icmFuZCJdfSxmYWRlOnt2aXNpYmxlOiExLHdhaXRGb3JTdHVkeVBsb3RzOiJub25lIn0sY2xlYXJEYXRhT25TeW1ib2xDaGFuZ2U6ITAsY2xlYXJEYXRhT25UaW1lZnJhbWVDaGFuZ2U6ITB9LE49e29uRmlyc3REYXRhOm51bGwsZGVzY3JpcHRpb246IiIsc2hvd0Rlc2NyaXB0aW9uOiEwLG5vRGF0YVRpbWVvdXQ6MTVlMyx0aW1lZnJhbWU6e3Zpc2libGU6ITEsdmFsdWU6TX0sY2hhcnRPcHRpb25zOnttaW5XaWR0aDowLG1pbkhlaWdodDowLGNoYXJ0OntncmlkOntob3J6TGluZXM6e2NvbG9yOiJyZ2JhKDEyMCwgMTIzLCAxMzQsIDAuMSkiLHZpc2libGU6ITF9LHZlcnRMaW5lczp7Y29sb3I6IiNmZmZmZmYiLHZpc2libGU6ITF9fSxjcm9zc2hhaXI6e2hvcnpMaW5lOnt2aXNpYmxlOiExLHN0eWxlOjMsd2lkdGg6MSxsYWJlbFZpc2libGU6ITEsbGFiZWxCYWNrZ3JvdW5kQ29sb3I6IiMwZjBmMGYifSx2ZXJ0TGluZTp7dmlzaWJsZTohMSxzdHlsZTozLHdpZHRoOjEsbGFiZWxWaXNpYmxlOiExLGxhYmVsQmFja2dyb3VuZENvbG9yOiIjMGYwZjBmIn19LGxheW91dDp7Zm9udEZhbWlseToiVHJlYnVjaGV0IE1TIixmb250U2l6ZToxMCx0ZXh0Q29sb3I6IiM4Mzg4OEQiLGJhY2tncm91bmQ6e3R5cGU6cy5Db2xvclR5cGUuU29saWQsY29sb3I6InRyYW5zcGFyZW50In0sYXR0cmlidXRpb25Mb2dvOiExfSxyaWdodFByaWNlU2NhbGU6e3Zpc2libGU6ITAsYm9yZGVyVmlzaWJsZTohMSxlbnRpcmVUZXh0T25seTohMCxtb2RlOnMuUHJpY2VTY2FsZU1vZGUuTm9ybWFsfSxsZWZ0UHJpY2VTY2FsZTp7dmlzaWJsZTohMSxib3JkZXJWaXNpYmxlOiExLGVudGlyZVRleHRPbmx5OiEwLG1vZGU6cy5QcmljZVNjYWxlTW9kZS5Ob3JtYWx9LHRpbWVTY2FsZTp7Ym9yZGVyVmlzaWJsZTohMSx0aW1lVmlzaWJsZTohMCxzZWNvbmRzVmlzaWJsZTohMSxsb2NrVmlzaWJsZVRpbWVSYW5nZU9uUmVzaXplOiEwfSxoYW5kbGVTY2FsZTohMSxoYW5kbGVTY3JvbGw6ITF9LHNlcmllczp4LHZvbHVtZTpDLmRlZmF1bHRWb2x1bWVPcHRpb25zLG1hOkwsbG9hZGluZzpCfX0sVT17IjF5Ijp7dmFsdWU6IjEyTSIsdHlwZToicGVyaW9kLWJhY2sifSwiNXkiOnt2YWx1ZToiNjBNIix0eXBlOiJwZXJpb2QtYmFjayJ9LG1heDp7dmFsdWU6IkFMTCIsdHlwZToicGVyaW9kLWJhY2sifX07ZnVuY3Rpb24gVyh0LGUsaSxhLG4scil7cmV0dXJuISF0LmRheUFuZFRpbWVUaWNrTWFya0ZpeEVuYWJsZWQmJihhPT09cy5UaWNrTWFya1R5cGUuVGltZT9mdW5jdGlvbih0KXtyZXR1cm4idGltZS1yYW5nZSIhPT10LnR5cGUmJih0LnZhbHVlLmVuZHNXaXRoKCJNIil8fHQudmFsdWUuZW5kc1dpdGgoIlkiKXx8WyJZVEQiLCJBTEwiXS5pbmNsdWRlcyh0LnZhbHVlKSl9KGUpOiEoIW58fCFyfHxhPD1yKSYmKGE9PT1zLlRpY2tNYXJrVHlwZS5EYXlPZk1vbnRoJiYoaS5nZXRNb250aCgpIT09bi5nZXRNb250aCgpfHxpLmdldEZ1bGxZZWFyKCkhPT1uLmdldEZ1bGxZZWFyKCkpKSl9Y29uc3QgSD0oKCk9PntsZXQgdD1udWxsLGU9bnVsbCxpPW51bGw7cmV0dXJuKGEsbixyLG8saCxsKT0+e2NvbnN0IGM9e30sZD1uZXcgRGF0ZSgxZTMqbykKO2kmJigwLGYuYXJlRXF1YWxUaW1lRnJhbWVzKShpLHIpfHwodD1udWxsLGU9bnVsbCxpPXIpO2xldCBtPSExO2lmKG4pe209KG4uc3VwcHJlc3NGbj8/VykobixyLGQsaCx0LGUpfWlmKHQ9ZCxlPWgsbSlyZXR1cm4iIjtzd2l0Y2goaCl7Y2FzZSBzLlRpY2tNYXJrVHlwZS5ZZWFyOm4/LmhpZGVZZWFyc1RpY2tNYXJrcz9jLm1vbnRoPSJzaG9ydCI6Yy55ZWFyPSJudW1lcmljIjticmVhaztjYXNlIHMuVGlja01hcmtUeXBlLk1vbnRoOmMubW9udGg9InNob3J0IjticmVhaztjYXNlIHMuVGlja01hcmtUeXBlLkRheU9mTW9udGg6Yy5kYXk9Im51bWVyaWMiO2JyZWFrO2Nhc2Ugcy5UaWNrTWFya1R5cGUuVGltZTpjLmhvdXIxMj0iMTItaG91cnMiPT09YSxjLmhvdXI9IjItZGlnaXQiLGMubWludXRlPSIyLWRpZ2l0IjticmVhaztjYXNlIHMuVGlja01hcmtUeXBlLlRpbWVXaXRoU2Vjb25kczpjLmhvdXIxMj0iMTItaG91cnMiPT09YSxjLmhvdXI9IjItZGlnaXQiLGMubWludXRlPSIyLWRpZ2l0IixjLnNlY29uZD0iMi1kaWdpdCJ9Y29uc3QgdT1uZXcgRGF0ZShkLmdldFVUQ0Z1bGxZZWFyKCksZC5nZXRVVENNb250aCgpLGQuZ2V0VVRDRGF0ZSgpLGQuZ2V0VVRDSG91cnMoKSxkLmdldFVUQ01pbnV0ZXMoKSxkLmdldFVUQ1NlY29uZHMoKSxkLmdldFVUQ01pbGxpc2Vjb25kcygpKTtyZXR1cm4gdD1kLGU9aCx1LnRvTG9jYWxlU3RyaW5nKGwsYyl9fSkoKTtmdW5jdGlvbiBxKHQsZSl7cmV0dXJuIHQuc2VyaWVzKCkuc2VyaWVzT3JkZXIoKS1lLnNlcmllcygpLnNlcmllc09yZGVyKCl9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJih3aW5kb3cubWluaUNoYXJ0SW5zdGFuY2VzPXdpbmRvdy5taW5pQ2hhcnRJbnN0YW5jZXN8fHt9KTtjb25zdCBBPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdy5taW5pQ2hhcnRJbnN0YW5jZXM6e307bGV0IFk9MDtjb25zdCBHPXthY3F1aXJlOigpPT4oMCxiLm93bmVyc2hpcCkobmV3IHAuQ2hhcnRTZXNzaW9uKHdpbmRvdy5DaGFydEFwaUluc3RhbmNlLCEwKSl9O2NsYXNzIGp7Y29uc3RydWN0b3IodCxlLGksbil7dGhpcy5faXNEZXN0cm95ZWQ9ITEsdGhpcy5fc3R1ZHlQbG90c09yZGVySW52YWxpZGF0ZWQ9ITAsdGhpcy5fc3R1ZHlQbG90cz1bXSx0aGlzLl9lbFRpbWVmcmFtZT1udWxsLHRoaXMuX3RpbWVmcmFtZVZpZXc9bnVsbCx0aGlzLl90aWNrbWFya3M9bmV3IE1hcCx0aGlzLl9jYWNoZWRUaWNrbWFya3M9bmV3IE1hcCx0aGlzLl9jaGFydFNlc3Npb249bnVsbCx0aGlzLl9jaGFydFNlc3Npb25Db25uZWN0ZWQ9bnVsbCx0aGlzLl9jb25uZWN0Q2FsbGJhY2s9bnVsbCx0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5fbG9hZEVycm9yVGltZW91dD1udWxsLHRoaXMuX2lzTG9hZGluZz0hMSx0aGlzLl9zcGlubmVyPW51bGwsdGhpcy5fY3Jvc3NoYWlyTW92ZUhhbmRsZXJzPW5ldyBNYXAsdGhpcy5fYXRvbWljVXBkYXRlSXNHb2luZz0hMSx0aGlzLl9zZXJpZXNVcERvd25Db2xvcnM9e30sdGhpcy5faXNEV01SZXNvbHV0aW9uPSExLHRoaXMuX3VwZGF0ZVRpbWVySWQ9bnVsbCx0aGlzLl93aWR0aD1uZXcgci5XYXRjaGVkVmFsdWUoMCksdGhpcy5faGVpZ2h0PW5ldyByLldhdGNoZWRWYWx1ZSgwKSx0aGlzLl9zdGF0dXM9bmV3IHIuV2F0Y2hlZFZhbHVlKCJsb2FkaW5nIiksdGhpcy5fdGltZVNjYWxlU2l6ZUNoYW5nZWQ9bmV3IGguRGVsZWdhdGUsdGhpcy5fb25QbG90U3RhdHVzQ2hhbmdlZD0oKT0+e2NvbnN0IHQ9dGhpcy5fbWFpblBsb3Quc3RhdHVzKCkudmFsdWUoKSxlPXRoaXMuX3N0dWR5UGxvdHMuZXZlcnkoKHQ9PjAhPT10LnN0YXR1cygpLnZhbHVlKCkpKSxpPWV8fHRoaXMuX3N0dWR5UGxvdHMuc29tZSgodD0+MCE9PXQuc3RhdHVzKCkudmFsdWUoKSYmdC5pc1Zpc2libGUoKS52YWx1ZSgpKSk7c3dpdGNoKHQpe2Nhc2UgMzplJiZ0aGlzLl9vblBsb3RzRGF0YVJlYWR5KCk7YnJlYWs7Y2FzZSAyOnRoaXMuX29uTWFpblBsb3REYXRhRXJyb3IoKTticmVhaztjYXNlIDE6dGhpcy5fb25NYWluUGxvdFN5bWJvbFJlc29sdmluZ0Vycm9yKCl9Y29uc3Qgcz10aGlzLl9vcHRpb25zLmNoYXJ0T3B0aW9ucy5sb2FkaW5nLmZhZGU7aWYocy52aXNpYmxlKXN3aXRjaCh0aGlzLl9jYWNoZWRUaWNrbWFya3Muc2l6ZT4wfHx0KXtjYXNlIDA6dGhpcy5faW5uZXJDb250YWluZXIuY2xhc3NMaXN0LmFkZCh3LmZhZGUpO2JyZWFrO2Nhc2UgMjpjYXNlIDE6Y2FzZSEwOnRoaXMuX2lubmVyQ29udGFpbmVyLmNsYXNzTGlzdC5yZW1vdmUody5mYWRlKTticmVhaztjYXNlIDM6KCJub25lIj09PXMud2FpdEZvclN0dWR5UGxvdHN8fCJhbGwiPT09cy53YWl0Rm9yU3R1ZHlQbG90cyYmZXx8ImFueSI9PT1zLndhaXRGb3JTdHVkeVBsb3RzJiZpKSYmdGhpcy5faW5uZXJDb250YWluZXIuY2xhc3NMaXN0LnJlbW92ZSh3LmZhZGUpfXRoaXMuX3VwZGF0ZVN0YXR1cygpfSx0aGlzLl90aW1lRnJhbWVPcHRpb25zPWk/LnRpbWVmcmFtZT8ub3B0aW9ucz8/KDAsUy5nZXRNaW5pVGltZUZyYW1lT3B0aW9ucykoKSx0aGlzLl9vcHRpb25zPSgwLGEuZGVmYXVsdCkoe30sTixpKSx0aGlzLl9jaGFydFNlc3Npb25Qcm92aWRlcj1uPz9HLHRoaXMuX2NvbnRhaW5lcj1lLHRoaXMuX2lubmVyQ29udGFpbmVyPWUub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9pbm5lckNvbnRhaW5lci5zdHlsZS53aWR0aD0iMTAwJSIsdGhpcy5faW5uZXJDb250YWluZXIuc3R5bGUuaGVpZ2h0PSIxMDAlIix0aGlzLl9pbm5lckNvbnRhaW5lci5zdHlsZS5taW5IZWlnaHQ9ImluaGVyaXQiLHRoaXMuX2lubmVyQ29udGFpbmVyLnN0eWxlLm1pbldpZHRoPSJpbmhlcml0IixlLmFwcGVuZENoaWxkKHRoaXMuX2lubmVyQ29udGFpbmVyKSx0aGlzLl93aWRnZXQ9KDAscy5jcmVhdGVDaGFydEV4KSh0aGlzLl9pbm5lckNvbnRhaW5lcixuZXcgVCx7Li4udGhpcy5fb3B0aW9ucy5jaGFydE9wdGlvbnM/LmNoYXJ0LGF1dG9TaXplOiEwfSk7Y29uc3QgbD10aGlzLl93aWRnZXQucGFuZXMoKVswXTt0aGlzLl90ZXh0V2F0ZXJtYXJrPSgwLHMuY3JlYXRlVGV4dFdhdGVybWFyaykobCx7CnZpc2libGU6ITF9KSx0aGlzLl90aW1lZnJhbWU9bmV3IG8uV2F0Y2hlZE9iamVjdCh0aGlzLl9vcHRpb25zLnRpbWVmcmFtZS52YWx1ZSksdGhpcy5fbWFpblBsb3Q9dGhpcy5fY3JlYXRlTWFpblBsb3QodCksdGhpcy5zZXRUaW1lZnJhbWUodGhpcy5fdGltZWZyYW1lLnZhbHVlKCksITApO2NvbnN0IGM9KDAsZi5jb252ZXJ0VGltZUZyYW1lVG9TdHIpKHRoaXMuX3RpbWVmcmFtZS52YWx1ZSgpKSxkPXRoaXMuX29wdGlvbnMuY2FjaGU/LmxvYWREYXRhKGMpO2Q/KHRoaXMuX2NhY2hlZFRpY2ttYXJrcz1kLnRpY2ttYXJrcyx0aGlzLl90aWNrbWFya3M9bmV3IE1hcCh0aGlzLl9jYWNoZWRUaWNrbWFya3MpLHRoaXMuX2NyZWF0ZVRvb2x0aXBEYXRlRm9ybWF0dGVyKCkpOnRoaXMuY29ubmVjdCgpLHRoaXMuX3BhcmVudFJlc2l6ZU9ic2VydmVyPW5ldyBSZXNpemVPYnNlcnZlcigodD0+e3RoaXMuX21haW5QbG90LmZpdENvbnRlbnQoKTtmb3IoY29uc3QgZSBvZiB0KWlmKGUuY29udGVudEJveFNpemUpe2NvbnN0IHQ9ZS5jb250ZW50Qm94U2l6ZVswXTt0aGlzLl93aWR0aC5zZXRWYWx1ZSh0LmlubGluZVNpemUpLHRoaXMuX2hlaWdodC5zZXRWYWx1ZSh0LmJsb2NrU2l6ZSl9fSkpLHRoaXMuX3BhcmVudFJlc2l6ZU9ic2VydmVyLm9ic2VydmUoZSk7Y29uc3QgbT1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuX3dpZHRoLnNldFZhbHVlKG0ud2lkdGgpLHRoaXMuX2hlaWdodC5zZXRWYWx1ZShtLmhlaWdodCksdGhpcy5fY3JlYXRlTGVnZW5kKCksdGhpcy5fdXBkYXRlU2VyaWVzVXBEb3duQ29sb3JzKCksdGhpcy5fYm91bmRUaW1lU2NhbGVTaXplQ2hhbmdlZEhhbmRsZXI9dGhpcy5fdGltZVNjYWxlU2l6ZUNoYW5nZWRIYW5kbGVyLmJpbmQodGhpcyksdGhpcy5fd2lkZ2V0LnRpbWVTY2FsZSgpLnN1YnNjcmliZVNpemVDaGFuZ2UodGhpcy5fYm91bmRUaW1lU2NhbGVTaXplQ2hhbmdlZEhhbmRsZXIpLFkrPTEsdGhpcy5faW5uZXJDb250YWluZXIuZGF0YXNldC5taW5pQ2hhcnRJZD1gJHtZfWAsQVt0aGlzLl9pbm5lckNvbnRhaW5lci5kYXRhc2V0Lm1pbmlDaGFydElkXT10aGlzfWFzeW5jIHRha2VTY3JlZW5zaG90KCl7Y29uc3R7dGFrZVNjcmVlbnNob3Q6dH09YXdhaXQgUHJvbWlzZS5hbGwoW2kuZSg5Mjk2NCksaS5lKDEyMTgxKSxpLmUoMTkzMTEpXSkudGhlbihpLmJpbmQoaSwyMDE3ODEpKTtyZXR1cm4gdCh0aGlzLndpZGdldCgpLHRoaXMubWFpblBsb3QoKS5zeW1ib2xJbmZvKCkpfXNjcmVlbnNob3RTeW1ib2woKXtyZXR1cm4gdGhpcy5tYWluUGxvdCgpLnN5bWJvbCgpfWNvbnRhaW5lcigpe3JldHVybiB0aGlzLl9jb250YWluZXJ9aW5uZXJDb250YWluZXIoKXtyZXR1cm4gdGhpcy5faW5uZXJDb250YWluZXJ9Z2V0Q2hhcnRDb250YWluZXIoKXtyZXR1cm4gdGhpcy5fY29udGFpbmVyPygwLHkuZ2V0Q2hhcnRMYXlvdXRDb250YWluZXIpKHRoaXMuX2NvbnRhaW5lcik6bnVsbH13aWR0aCgpe3JldHVybiB0aGlzLl93aWR0aC5yZWFkb25seSgpfWhlaWdodCgpe3JldHVybiB0aGlzLl9oZWlnaHQucmVhZG9ubHkoKX1zdGF0dXMoKXtyZXR1cm4gdGhpcy5fc3RhdHVzLnJlYWRvbmx5KCl9c2VyaWVzRGF0YVNvdXJjZSgpe3JldHVybiB0aGlzLl9tYWluUGxvdC5zZXJpZXNEYXRhU291cmNlKCl9c3VwcG9ydFJlYWx0aW1lVXBkYXRlcygpe3JldHVybiBCb29sZWFuKHRoaXMuX29wdGlvbnMuZG9Ob3REaXNjb25uZWN0T25EYXRhUmVhZHkpfWNvbm5lY3QodCl7Y29uc3QgZT0oMCxmLmNvbnZlcnRUaW1lRnJhbWVUb1N0cikodGhpcy5fdGltZWZyYW1lLnZhbHVlKCkpOygwLGwuYXNzZXJ0KSghdGhpcy5fb3B0aW9ucy5jYWNoZT8ubG9hZERhdGEoZSksIkNoYXJ0IGNhbiBub3QgdG8gY29ubmVjdCBpZiB0aGVyZSBpcyBhbiBleGlzdGluZyBjYWNoZSBkYXRhIiksImZ1bmN0aW9uIj09dHlwZW9mIHQmJih0aGlzLl9jb25uZWN0Q2FsbGJhY2s9dCksdGhpcy5fY2xlYXJSZWNvbm5lY3Rpb25UaW1lb3V0KCksdGhpcy5jb25uZWN0ZWQoKXx8KHRoaXMuX3Nob3dMb2FkaW5nKCksdGhpcy5fbWFpblBsb3QuY2xlYXJEYXRhKCksdGhpcy5fc3R1ZHlQbG90cy5mb3JFYWNoKCh0PT50LmNsZWFyRGF0YSgpKSksdGhpcy5fY2hhcnRTZXNzaW9ufHwodGhpcy5fY2hhcnRTZXNzaW9uPXRoaXMuX2NoYXJ0U2Vzc2lvblByb3ZpZGVyLmFjcXVpcmUoKSx0aGlzLl9jaGFydFNlc3Npb24uY3JpdGljYWxFcnJvcigpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ2hhcnRTZXNzaW9uQ3JpdGljYWxFcnJvciksdGhpcy5fY2hhcnRTZXNzaW9uQ29ubmVjdGVkPXRoaXMuX2NoYXJ0U2Vzc2lvbi5pc0Nvbm5lY3RlZCgpLnNwYXduKCksdGhpcy5fY2hhcnRTZXNzaW9uQ29ubmVjdGVkLnN1YnNjcmliZSh0aGlzLl9vbkNoYXJ0U2Vzc2lvbklzQ29ubmVjdGVkQ2hhbmdlZC5iaW5kKHRoaXMpLHtjYWxsV2l0aExhc3Q6ITB9KSksdGhpcy5fY2hhcnRTZXNzaW9uLmNvbm5lY3QodGhpcy5fb25EYXRhLmJpbmQodGhpcykpLHRoaXMuX2NoYXJ0U2Vzc2lvbi5pc0Nvbm5lY3RlZCgpLnZhbHVlKCkmJnRoaXMuX3JlcXVlc3REYXRhKCksdGhpcy5fY2xlYXJOb0RhdGFUaW1lb3V0KCksdGhpcy5fY3JlYXRlTm9EYXRhVGltZW91dCgpKX1kaXNjb25uZWN0KCl7dGhpcy5fc3R1ZHlQbG90cy5mb3JFYWNoKCh0PT50LmRpc2Nvbm5lY3QoKSkpLHRoaXMuX21haW5QbG90LmRpc2Nvbm5lY3QoKSx0aGlzLl9jaGFydFNlc3Npb24/LmRpc2Nvbm5lY3QoKSx0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5fY2xlYXJOb0RhdGFUaW1lb3V0KCl9Y29ubmVjdGVkKCl7cmV0dXJuIEJvb2xlYW4odGhpcy5fY29ubmVjdGVkJiZ0aGlzLl9jaGFydFNlc3Npb24mJnRoaXMuX2NoYXJ0U2Vzc2lvbi5pc0Nvbm5lY3RlZCgpLnZhbHVlKCkpfXNldFRpbWVmcmFtZSh0LGUsaSl7Y29uc3Qgcz10aGlzLl90aW1lZnJhbWUudmFsdWUoKTtsZXQgYT10O2NvbnN0IG49InBlcmlvZC1iYWNrIj09PWEudHlwZT9VW2EudmFsdWVdOnZvaWQgMDt2b2lkIDAhPT1uJiYoYT1uKTtsZXQgcj1udWxsCjtpZihyPXRoaXMuX3RpbWVmcmFtZUlzQXZhaWxhYmxlKGEpP2E6dGhpcy5fdGltZWZyYW1lSXNBdmFpbGFibGUoTSk/TTp0aGlzLl90aW1lRnJhbWVPcHRpb25zLmZpbmQoKHQ9PnRoaXMuX3RpbWVmcmFtZUlzQXZhaWxhYmxlKHQudmFsdWUpKSk/LnZhbHVlPz9udWxsLG51bGw9PT1yKXJldHVybiB2b2lkIGsubG9nV2FybigiVGhlIGN1cnJlbnQgdGltZWZyYW1lIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggdGhlIHRpbWVmcmFtZXMgZnJvbSB0aW1lRnJhbWVPcHRpb25zIik7dGhpcy5fb3B0aW9ucy50aW1lZnJhbWUuY3VycmVudFRpbWVmcmFtZUNhbGxiYWNrJiZ0aGlzLl9vcHRpb25zLnRpbWVmcmFtZS5jdXJyZW50VGltZWZyYW1lQ2FsbGJhY2sociksdGhpcy5fdGltZWZyYW1lLnNldFZhbHVlKHIpO2NvbnN0IG89KDAsZi5jb252ZXJ0VGltZUZyYW1lVG9TdHIpKHRoaXMuX3RpbWVmcmFtZS52YWx1ZSgpKTt0aGlzLl9hY3RpdmVSYW5nZT1vLHRoaXMuX3RpbWVmcmFtZVZpZXcmJnRoaXMuX29wdGlvbnMudGltZWZyYW1lLnZpc2libGUmJnRoaXMuX3RpbWVmcmFtZVZpZXcudXBkYXRlKHthY3RpdmVSYW5nZTp0aGlzLl9hY3RpdmVSYW5nZX0pO2NvbnN0IGg9dGhpcy5fb3B0aW9ucy5jYWNoZT8ubG9hZERhdGEobyk7aWYoaClyZXR1cm4gdGhpcy5fY2FjaGVkVGlja21hcmtzPWgudGlja21hcmtzLHRoaXMuX3RpY2ttYXJrcz1uZXcgTWFwKHRoaXMuX2NhY2hlZFRpY2ttYXJrcyksdGhpcy5fY3JlYXRlVG9vbHRpcERhdGVGb3JtYXR0ZXIoKSx2b2lkIHRoaXMuX21haW5QbG90LnJlbG9hZENhY2hlKGgubWFpblBsb3QpO3RoaXMuX2NhY2hlZFRpY2ttYXJrcy5zaXplJiYodGhpcy5fY2FjaGVkVGlja21hcmtzPW5ldyBNYXAsdGhpcy5fdGlja21hcmtzPW5ldyBNYXAsdGhpcy5fbWFpblBsb3QucmVsb2FkQ2FjaGUoKSx0aGlzLl9tYWluUGxvdC5jbGVhckRhdGEoKSksKCFlJiZzIT09dGhpcy5fdGltZWZyYW1lLnZhbHVlKCl8fGkpJiZ0aGlzLl9yZXF1ZXN0RGF0YU9uVGltZWZyYW1lQ2hhbmdlKCl9Y2hhcnRTZXNzaW9uKCl7cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydFNlc3Npb24pfXdpZGdldCgpe3JldHVybiB0aGlzLl93aWRnZXR9dGltZWZyYW1lKCl7cmV0dXJuIHRoaXMuX3RpbWVmcmFtZS5yZWFkb25seSgpfXNldFRpbWVGcmFtZU9wdGlvbnModCxlKXtpZih0PT09dGhpcy5fdGltZUZyYW1lT3B0aW9ucylyZXR1cm47Y29uc3QgaT10aGlzLl90aW1lRnJhbWVPcHRpb25zLmZpbmQoKHQ9PigwLGYuYXJlRXF1YWxUaW1lRnJhbWVzKSh0LnZhbHVlLHRoaXMudGltZWZyYW1lKCkudmFsdWUoKSkpKSxzPWk/LnRhcmdldFJlc29sdXRpb24/P251bGw7dGhpcy5fdGltZUZyYW1lT3B0aW9ucz10LGU/dGhpcy5zZXRUaW1lZnJhbWUoZSk6dGhpcy5yZXNvbHV0aW9uKCkhPT1zJiZ0aGlzLl9yZXF1ZXN0RGF0YU9uVGltZWZyYW1lQ2hhbmdlKCksdGhpcy5faW5pdFRpbWVmcmFtZXNSZW5kZXJlcigpfXRpbWVGcmFtZU9wdGlvbnMoKXtyZXR1cm4gdGhpcy5fdGltZUZyYW1lT3B0aW9uc31yZXNvbHV0aW9uKCl7Y29uc3QgdD10aGlzLl90aW1lRnJhbWVPcHRpb25zLmZpbmQoKHQ9PigwLGYuYXJlRXF1YWxUaW1lRnJhbWVzKSh0LnZhbHVlLHRoaXMudGltZWZyYW1lKCkudmFsdWUoKSkpKTtyZXR1cm4oMCxsLmVuc3VyZURlZmluZWQpKHQ/LnRhcmdldFJlc29sdXRpb24pfWNoYW5nZVN5bWJvbCh0LGUpe3ZvaWQgMCE9PWUmJnRoaXMuX3VwZGF0ZVNlcmllc09wdGlvbnMoZSksdGhpcy5fb3B0aW9ucy5jaGFydE9wdGlvbnMubG9hZGluZy5jbGVhckRhdGFPblN5bWJvbENoYW5nZSYmKHRoaXMuX21haW5QbG90LmNsZWFyRGF0YSgpLHRoaXMuX21haW5QbG90LmRlbGV0ZVZpZXcoKSx0aGlzLl9zdHVkeVBsb3RzLmZvckVhY2goKHQ9PnQuY2xlYXJEYXRhKCkpKSx0aGlzLl9zdHVkeVBsb3RzLmZvckVhY2goKHQ9PnQuZGVsZXRlVmlldygpKSkpO3RoaXMuX21haW5QbG90LnNldFN5bWJvbCh0LHRoaXMuX29wdGlvbnMuY2hhcnRPcHRpb25zLnNlcmllcykmJih0aGlzLmNvbm5lY3RlZCgpJiYodGhpcy5fbWFpblBsb3QucmVxdWVzdERhdGEoKSx0aGlzLl9zdHVkeVBsb3RzLmZvckVhY2goKHQ9PnQucmVxdWVzdERhdGEoKSkpKSx0aGlzLmNvbm5lY3QoKSl9dXBkYXRlU2VyaWVzT3B0aW9ucyh0KXt0aGlzLl9hdG9taWNVcGRhdGVJc0dvaW5nPSEwLHRoaXMuX3VwZGF0ZVNlcmllc09wdGlvbnModCksdGhpcy5fbWFpblBsb3QudXBkYXRlU2VyaWVzT3B0aW9ucyh0KSx0aGlzLl91cGRhdGVTZXJpZXNVcERvd25Db2xvcnMoKSx0aGlzLl9hdG9taWNVcGRhdGVJc0dvaW5nPSExfWdldFNlcmllc09wdGlvbnMoKXtyZXR1cm4gdGhpcy5fbWFpblBsb3QuY3VycmVudFNlcmllc09wdGlvbnMoKX11cGRhdGVBZGRpdGlvbmFsU2VyaWVzT3B0aW9ucyh0LGUpe3RoaXMuX3N0dWR5UGxvdHNbZV0udXBkYXRlU2VyaWVzT3B0aW9ucyh0KX1zaG93TWVzc2FnZSh0KXt0aGlzLl9oaWRlTG9hZGluZygpLHRoaXMuX21haW5QbG90LmRlbGV0ZVZpZXcoKSx0aGlzLl9zdHVkeVBsb3RzLmZvckVhY2goKHQ9PnQuZGVsZXRlVmlldygpKSksdGhpcy5fdGV4dFdhdGVybWFyay5hcHBseU9wdGlvbnM/Lih7dmlzaWJsZTohMCxsaW5lczpbe2NvbG9yOiIjODM4ODhEIix0ZXh0OnQsZm9udFNpemU6MTJ9XX0pfWhpZGVNZXNzYWdlKCl7dGhpcy5fdGV4dFdhdGVybWFyay5hcHBseU9wdGlvbnM/Lih7dmlzaWJsZTohMSxsaW5lczpbXX0pfWZyb20oKXtjb25zdCB0PXRoaXMuX3RpbWVGcmFtZU9wdGlvbnMuZmluZCgodD0+KDAsZi5hcmVFcXVhbFRpbWVGcmFtZXMpKHQudmFsdWUsdGhpcy50aW1lZnJhbWUoKS52YWx1ZSgpKSkpO3JldHVyblt0Py5mcm9tXX1lbmFibGUodCl7dGhpcy5jb25uZWN0KHQpfWRpc2FibGUoKXt0aGlzLmRpc2Nvbm5lY3QoKX1kZXN0cm95KCl7dGhpcy5fYm91bmRUaW1lU2NhbGVTaXplQ2hhbmdlZEhhbmRsZXImJih0aGlzLl93aWRnZXQudGltZVNjYWxlKCkudW5zdWJzY3JpYmVTaXplQ2hhbmdlKHRoaXMuX2JvdW5kVGltZVNjYWxlU2l6ZUNoYW5nZWRIYW5kbGVyKSwKdGhpcy5fYm91bmRUaW1lU2NhbGVTaXplQ2hhbmdlZEhhbmRsZXI9dm9pZCAwKSx0aGlzLl9wYXJlbnRSZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCksdGhpcy5kaXNjb25uZWN0KCksdGhpcy5fd2lkZ2V0LnJlbW92ZSgpLHRoaXMuX21haW5QbG90LnN5bWJvbFJlc29sdmVkKCkudW5zdWJzY3JpYmVBbGwobnVsbCksdGhpcy5fbWFpblBsb3QudGltZUZyYW1lSW52YWxpZGF0ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9tYWluUGxvdC5kZXN0cm95KCksdGhpcy5fc3R1ZHlQbG90cy5mb3JFYWNoKCh0PT50LmRlc3Ryb3koKSkpLHRoaXMuX3RpbWVmcmFtZVZpZXc/LmRlc3Ryb3koKSx0aGlzLl9jaGFydFNlc3Npb25Db25uZWN0ZWQ/LmRlc3Ryb3koKSx0aGlzLl9jaGFydFNlc3Npb24/LmNyaXRpY2FsRXJyb3IoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9jaGFydFNlc3Npb24/LnJlbGVhc2UoKSxkZWxldGUgQVt0aGlzLl9pbm5lckNvbnRhaW5lci5kYXRhc2V0Lm1pbmlDaGFydElkXSx0aGlzLl9pbm5lckNvbnRhaW5lci5yZW1vdmUoKSx0aGlzLl9pc0Rlc3Ryb3llZD0hMH11cGRhdGVBdmFpbGFibGVUaW1lZnJhbWVzKCl7dGhpcy5fbWFpblBsb3Quc3ltYm9sSW5mbygpPyh0aGlzLl90aW1lZnJhbWVWaWV3JiZ0aGlzLl9vcHRpb25zLnRpbWVmcmFtZS52aXNpYmxlJiZ0aGlzLl90aW1lZnJhbWVWaWV3LnVwZGF0ZSh7cmFuZ2VzOnRoaXMuX2dldEF2YWlsYWJsZVRpbWVGcmFtZXMoKX0pLHRoaXMuc2V0VGltZWZyYW1lKHRoaXMuX3RpbWVmcmFtZS52YWx1ZSgpKSk6ay5sb2dXYXJuKCJVcGRhdGluZyBhdmFpbGFibGUgcmVzb2x1dGlvbnMgd2l0aG91dCBmdWxsIHN5bWJvbCBpbmZvIil9bWFpblBsb3QoKXtyZXR1cm4gdGhpcy5fbWFpblBsb3R9Zml0Q29udGVudCgpe3RoaXMuX21haW5QbG90LmZpdENvbnRlbnQoKX1oYXNTdHVkeVBsb3RzKCl7cmV0dXJuIHRoaXMuX3N0dWR5UGxvdHMubGVuZ3RoPjB9c3R1ZHlQbG90cygpe3JldHVybiB0aGlzLl9zdHVkeVBsb3RzT3JkZXJJbnZhbGlkYXRlZCYmKHRoaXMuX3N0dWR5UGxvdHMuc29ydChxKSx0aGlzLl9zdHVkeVBsb3RzT3JkZXJJbnZhbGlkYXRlZD0hMSksdGhpcy5fc3R1ZHlQbG90c31hZGRTdHVkeVBsb3QodCl7cmV0dXJuIHRoaXMuX2FkZFN0dWR5UGxvdCh0KSx7bm9EYXRhOnQubm9EYXRhKCksc3RhdHVzOnQuc3RhdHVzKCkscmVtb3ZlOigpPT57dGhpcy5fcmVtb3ZlU3R1ZHlQbG90KHQpfSxzeW1ib2w6KCk9PnQuc3ltYm9sKCksZXh0ZW5kZWRTeW1ib2w6KCk9PnQuZXh0ZW5kZWRTeW1ib2woKSxvcHRpb25zOigpPT50LmN1cnJlbnRTZXJpZXNPcHRpb25zKCl9fWluZGV4VG9UaW1lKHQpe2NvbnN0IGU9dGhpcy5fdGlja21hcmtzLnNpemU/dGhpcy5fdGlja21hcmtzOnRoaXMuX2NhY2hlZFRpY2ttYXJrcztyZXR1cm4gZS5nZXQodCk/LnRpbWU/P251bGx9c3Vic2NyaWJlQ3Jvc3NoYWlyTW92ZSh0KXtjb25zdCBlPWU9Pnt0aGlzLl9hdG9taWNVcGRhdGVJc0dvaW5nfHx0KGUpfTt0aGlzLl9jcm9zc2hhaXJNb3ZlSGFuZGxlcnMuc2V0KHQsZSksdGhpcy5fd2lkZ2V0LnN1YnNjcmliZUNyb3NzaGFpck1vdmUoZSl9dW5zdWJzY3JpYmVDcm9zc2hhaXJNb3ZlKHQpe2NvbnN0IGU9dGhpcy5fY3Jvc3NoYWlyTW92ZUhhbmRsZXJzLmdldCh0KTtlJiYodGhpcy5fY3Jvc3NoYWlyTW92ZUhhbmRsZXJzLmRlbGV0ZSh0KSx0aGlzLl93aWRnZXQudW5zdWJzY3JpYmVDcm9zc2hhaXJNb3ZlKGUpKX11cERvd25Db2xvcnModCl7cmV0dXJuIHRoaXMuX3Nlcmllc1VwRG93bkNvbG9yc1t0XXx8dGhpcy5fdXBkYXRlU2VyaWVzVXBEb3duQ29sb3JzSW1wbCgpLHRoaXMuX3Nlcmllc1VwRG93bkNvbG9yc1t0XT8/bnVsbH1kYXRlVGltZUZvcm1hdHRlcigpe3JldHVybiB0aGlzLl9kYXRlVGltZUZvcm1hdHRlcn1pc0RXTVJlc29sdXRpb24oKXtyZXR1cm4gdGhpcy5faXNEV01SZXNvbHV0aW9ufXVwZGF0ZUNoYXJ0UmlnaHRNYXJnaW5BY2NvcmRpbmdUb1RpdGxlcygpe2NvbnN0IHQ9dGhpcy5tYWluUGxvdCgpLmN1cnJlbnRTZXJpZXNPcHRpb25zKCkuaG9yek1hcmdpbnM/LnJpZ2h0UHg7aWYodCl0aGlzLm1haW5QbG90KCkudXBkYXRlSG9yek1hcmdpbnMoe3JpZ2h0UHg6dH0pO2Vsc2V7Y29uc3QgdD1bdGhpcy5tYWluUGxvdCgpLC4uLnRoaXMuX3N0dWR5UGxvdHNdO2xldCBlPTA7Zm9yKGNvbnN0IGkgb2YgdClmb3IoY29uc3QgdCBvZiBpLnRpdGxlcygpKWU9TWF0aC5tYXgoZSx0Lmxlbmd0aCk7dGhpcy5tYWluUGxvdCgpLnVwZGF0ZUhvcnpNYXJnaW5zKHtyaWdodFB4OjEyKmV9KX10aGlzLm1haW5QbG90KCkuZml0Q29udGVudCgpfWFjdGl2ZVJhbmdlKCl7cmV0dXJuIHRoaXMuX2FjdGl2ZVJhbmdlfXRpbWVTY2FsZVNpemVDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3RpbWVTY2FsZVNpemVDaGFuZ2VkfV9nZXRDaGFydFBsb3RDbGFzcygpe3JldHVybiBQLk1pbmlDaGFydFBsb3R9X2NyZWF0ZU1haW5QbG90KHQpe2NvbnN0IGU9KDAsZi5jb252ZXJ0VGltZUZyYW1lVG9TdHIpKHRoaXMuX3RpbWVmcmFtZS52YWx1ZSgpKSxpPW5ldyh0aGlzLl9nZXRDaGFydFBsb3RDbGFzcygpKSh0aGlzLHRoaXMuX29wdGlvbnMuY2hhcnRPcHRpb25zLnNlcmllcyx0aGlzLl9vcHRpb25zLmNoYXJ0T3B0aW9ucy52b2x1bWUsKCgpPT50aGlzLl9zdHVkeVBsb3RzKSx0aGlzLl9vcHRpb25zLm1haW5QbG90T3B0aW9ucyx0aGlzLl9vcHRpb25zLmNhY2hlPy5sb2FkRGF0YShlKT8ubWFpblBsb3QpO3JldHVybiBpLnNldFN5bWJvbCh0KSxpLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TeW1ib2xSZXNvbHZlZCksaS50aW1lRnJhbWVJbnZhbGlkYXRlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uVGltZUZyYW1lSW52YWxpZGF0ZWQpLGkuc3RhdHVzKCkuc3Vic2NyaWJlKHRoaXMuX29uUGxvdFN0YXR1c0NoYW5nZWQpLGl9X29uUGxvdHNEYXRhUmVhZHkoKXsiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5fb3B0aW9ucy5vbkZpcnN0RGF0YSYmKHRoaXMuX29wdGlvbnMub25GaXJzdERhdGEoKSwKdGhpcy5fb3B0aW9ucy5vbkZpcnN0RGF0YT1udWxsKSx0aGlzLl9oaWRlTG9hZGluZygpLHRoaXMuaGlkZU1lc3NhZ2UoKSx0aGlzLl9jbGVhck5vRGF0YVRpbWVvdXQoKSx0aGlzLl9vcHRpb25zLmRvTm90RGlzY29ubmVjdE9uRGF0YVJlYWR5fHx0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLl9jcmVhdGVSZWNvbm5lY3Rpb25UaW1lb3V0KCksdGhpcy5fc2F2ZUNhY2hlKCl9X2FkZFN0dWR5UGxvdCh0KXt0aGlzLl9zdHVkeVBsb3RzLnB1c2godCksdC5zdGF0dXMoKS5zdWJzY3JpYmUodGhpcy5fb25QbG90U3RhdHVzQ2hhbmdlZCksdGhpcy5jb25uZWN0ZWQoKT90LnJlcXVlc3REYXRhKCk6dGhpcy5jb25uZWN0KCksdC5mb3JjZVBlcmNlbnRhZ2VNb2RlKCkmJnRoaXMuX21haW5QbG90LnN3aXRjaFRvUGVyY2VudGFnZVNjYWxlTW9kZSgpLHRoaXMuX3VwZGF0ZVN0YXR1cygpLHRoaXMuX3N0dWR5UGxvdHNPcmRlckludmFsaWRhdGVkPSEwfV9yZW1vdmVTdHVkeVBsb3QodCl7Y29uc3QgZT10aGlzLl9zdHVkeVBsb3RzLmluZGV4T2YodCk7KDAsbC5hc3NlcnQpKC0xIT09ZSksdGhpcy5fc3R1ZHlQbG90cy5zcGxpY2UoZSwxKSx0LnN0YXR1cygpLnVuc3Vic2NyaWJlKHRoaXMuX29uUGxvdFN0YXR1c0NoYW5nZWQpLHQuZGVsZXRlVmlldygpLHQuY2xlYXJEYXRhKCksdC5kZXN0cm95KCksdGhpcy5fYXV0b1Jlc3RvcmVPcmlnaW5hbFNjYWxlTW9kZSgpJiZ0aGlzLl9zdHVkeVBsb3RzLmV2ZXJ5KCh0PT4hdC5mb3JjZVBlcmNlbnRhZ2VNb2RlKCkpKSYmdGhpcy5fbWFpblBsb3QucmVzdG9yZU9yaWdpbmFsU2NhbGVNb2RlKCksdGhpcy5fc3R1ZHlQbG90c09yZGVySW52YWxpZGF0ZWQ9ITAsdGhpcy5fdXBkYXRlU3RhdHVzKCl9X2F1dG9SZXN0b3JlT3JpZ2luYWxTY2FsZU1vZGUoKXtyZXR1cm4hMH1fdXBkYXRlU2VyaWVzVXBEb3duQ29sb3JzKCl7dGhpcy5fc2VyaWVzVXBEb3duQ29sb3JzPXt9fV91cGRhdGVTZXJpZXNVcERvd25Db2xvcnNJbXBsKCl7Y29uc3QgdD10aGlzLl9vcHRpb25zLmNoYXJ0T3B0aW9ucy5zZXJpZXMsZT10aGlzLl9tYWluUGxvdC5zZXJpZXMoKS5vcHRpb25zKCk7c3dpdGNoKHQuY2hhcnRUeXBlKXtjYXNlImNhbmRsZXN0aWNrcyI6Y29uc3QgaT1lO3RoaXMuX3Nlcmllc1VwRG93bkNvbG9ycy5DYW5kbGVzdGljaz17dXA6dC5ib3JkZXJVcENvbG9yPz90LnVwQ29sb3I/P2kuYm9yZGVyVXBDb2xvcj8/aS51cENvbG9yLGRvd246dC5ib3JkZXJEb3duQ29sb3I/P3QuZG93bkNvbG9yPz9pLmJvcmRlckRvd25Db2xvcj8/aS5kb3duQ29sb3J9O2JyZWFrO2Nhc2UiYmFycyI6Y29uc3Qgcz1lO3RoaXMuX3Nlcmllc1VwRG93bkNvbG9ycy5CYXI9e3VwOnQudXBDb2xvcj8/cy51cENvbG9yLGRvd246dC5kb3duQ29sb3I/P3MuZG93bkNvbG9yfTticmVhaztjYXNlImhpc3RvZ3JhbSI6Y29uc3QgYT1lO3RoaXMuX3Nlcmllc1VwRG93bkNvbG9ycy5IaXN0b2dyYW09e3VwOnQudXBDb2xvcj8/dC5jb2xvcj8/YS5jb2xvcixkb3duOnQuZG93bkNvbG9yPz90LmNvbG9yPz9hLmNvbG9yfX19X3VwZGF0ZVNlcmllc09wdGlvbnModCl7dGhpcy5fb3B0aW9ucy5jaGFydE9wdGlvbnMuc2VyaWVzPWZ1bmN0aW9uKHQpe2xldCBlO3N3aXRjaCh0LmNoYXJ0VHlwZT8/ImFyZWEiKXtjYXNlImJhcnMiOmU9UjticmVhaztjYXNlImNhbmRsZXN0aWNrcyI6ZT1WO2JyZWFrO2Nhc2UiYXJlYSI6ZT14O2JyZWFrO2Nhc2UibGluZSI6ZT1PO2JyZWFrO2Nhc2UiaGlzdG9ncmFtIjplPXo7YnJlYWs7Y2FzZSJwcmV0dHktaGlzdG9ncmFtIjplPUU7YnJlYWs7Y2FzZSJiYXNlbGluZSI6ZT1GfXJldHVybigwLGEuZGVmYXVsdCkoe30sZSx0KX0odCl9X3NhdmVDYWNoZSgpe2NvbnN0e2NhY2hlOnR9PXRoaXMuX29wdGlvbnM7aWYoIXQpcmV0dXJuO2NvbnN0IGU9dGhpcy5fcHJlcGFyZUNhY2hlRGF0YSgpLGk9KDAsZi5jb252ZXJ0VGltZUZyYW1lVG9TdHIpKHRoaXMuX3RpbWVmcmFtZS52YWx1ZSgpKTtlJiYodC5zYXZlRGF0YShpLGUpLHRoaXMuX2NhY2hlZFRpY2ttYXJrcz1lLnRpY2ttYXJrcyl9X3ByZXBhcmVDYWNoZURhdGEoKXtpZighdGhpcy5fdGlja21hcmtzLnNpemUpcmV0dXJuIG51bGw7Y29uc3QgdD10aGlzLl9tYWluUGxvdC5jYWNoZURhdGEoKTtyZXR1cm4gdD97bWFpblBsb3Q6dCx0aWNrbWFya3M6bmV3IE1hcCh0aGlzLl90aWNrbWFya3MpfTpudWxsfV9vbk1haW5QbG90RGF0YUVycm9yKCl7dGhpcy5faGlkZUxvYWRpbmcoKSx0aGlzLnNob3dNZXNzYWdlKG4udChudWxsLHZvaWQgMCxpKDg3MjM4KSkpLHRoaXMuX2NsZWFyTm9EYXRhVGltZW91dCgpLHRoaXMuZGlzY29ubmVjdCgpfV9vbk1haW5QbG90U3ltYm9sUmVzb2x2aW5nRXJyb3IoKXt0aGlzLl9oaWRlTG9hZGluZygpLHRoaXMuc2hvd01lc3NhZ2Uobi50KG51bGwsdm9pZCAwLGkoMTQ2ODA3KSkpLHRoaXMuX2NsZWFyTm9EYXRhVGltZW91dCgpLHRoaXMuZGlzY29ubmVjdCgpfV9jcmVhdGVSZWNvbm5lY3Rpb25UaW1lb3V0KCl7aWYodGhpcy5fb3B0aW9ucy5kb05vdERpc2Nvbm5lY3RPbkRhdGFSZWFkeSlyZXR1cm47Y29uc3QgdD10aGlzLl9vcHRpb25zLnVwZGF0ZVRpbWVvdXQ7dm9pZCAwIT09dCYmdD4wJiYodGhpcy5fdXBkYXRlVGltZXJJZD1zZXRUaW1lb3V0KCgoKT0+e3RoaXMuX3VwZGF0ZVRpbWVySWQ9bnVsbCx0aGlzLmNvbm5lY3RlZCgpP3RoaXMuX3JlcXVlc3REYXRhKCk6dGhpcy5jb25uZWN0KCl9KSx0KSl9X2NsZWFyUmVjb25uZWN0aW9uVGltZW91dCgpe251bGwhPT10aGlzLl91cGRhdGVUaW1lcklkJiYoY2xlYXJJbnRlcnZhbCh0aGlzLl91cGRhdGVUaW1lcklkKSx0aGlzLl91cGRhdGVUaW1lcklkPW51bGwpfV9jcmVhdGVOb0RhdGFUaW1lb3V0KCl7Y29uc3QgdD10aGlzLl9vcHRpb25zLm5vRGF0YVRpbWVvdXQ7dm9pZCAwIT09dCYmdD4wJiYodGhpcy5fbG9hZEVycm9yVGltZW91dD1zZXRUaW1lb3V0KCgoKT0+e3RoaXMuc2hvd01lc3NhZ2Uobi50KG51bGwsdm9pZCAwLGkoMTQ2ODA3KSkpLAoiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5fb3B0aW9ucy5vbkZpcnN0RGF0YSYmKHRoaXMuX29wdGlvbnMub25GaXJzdERhdGEoKSx0aGlzLl9vcHRpb25zLm9uRmlyc3REYXRhPW51bGwpfSksdCkpfV9jbGVhck5vRGF0YVRpbWVvdXQoKXt0aGlzLl9sb2FkRXJyb3JUaW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMuX2xvYWRFcnJvclRpbWVvdXQpLHRoaXMuX2xvYWRFcnJvclRpbWVvdXQ9bnVsbCl9X2luaXRUaW1lZnJhbWVzUmVuZGVyZXIoKXtpZighdGhpcy5fb3B0aW9ucy50aW1lZnJhbWUudmlzaWJsZSlyZXR1cm47e2NvbnN0IHQ9dGhpcy5fdGltZUZyYW1lT3B0aW9ucy5sZW5ndGg8MjtpZih0aGlzLl90aW1lZnJhbWVWaWV3Py51cGRhdGUoe2hpZGRlbjp0fSksKHRoaXMuX2VsVGltZWZyYW1lPz90aGlzLl9vcHRpb25zLnRpbWVmcmFtZS5jb250YWluZXIpPy5jbGFzc0xpc3QudG9nZ2xlKHcuaGlkZGVuLHQpLHQpcmV0dXJufWlmKHRoaXMuX2VsVGltZWZyYW1lKXJldHVybjt0aGlzLl9vcHRpb25zLnRpbWVmcmFtZS5jb250YWluZXI/dGhpcy5fZWxUaW1lZnJhbWU9dGhpcy5fb3B0aW9ucy50aW1lZnJhbWUuY29udGFpbmVyOih0aGlzLl9lbFRpbWVmcmFtZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9jb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5fZWxUaW1lZnJhbWUpKTtjb25zdCB0PSh0LGUpPT57Y29uc3QgaT10aGlzLl90aW1lRnJhbWVPcHRpb25zLmxlbmd0aDwyLHM9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9lbFRpbWVmcmFtZSk7cy5jbGFzc0xpc3QudG9nZ2xlKHcuaGlkZGVuLGkpLHRoaXMuX3RpbWVmcmFtZVZpZXc9bmV3IHQuVGltZUZyYW1lVmlld1JlbmRlcmVyKHMse25hbWU6Im1pbmljaGFydF90aW1lZnJhbWUiLGFjdGl2ZVJhbmdlOnRoaXMuX2FjdGl2ZVJhbmdlLHJhbmdlczp0aGlzLl9nZXRBdmFpbGFibGVUaW1lRnJhbWVzKCksb25TZWxlY3RSYW5nZTp0PT57dGhpcy5zZXRUaW1lZnJhbWUoe3ZhbHVlOnQsdHlwZToicGVyaW9kLWJhY2sifSl9LHNpemU6dGhpcy5fb3B0aW9ucy50aW1lZnJhbWUuc2l6ZSxoaWRkZW46aSx0aGVtZTplfSl9O1Byb21pc2UuYWxsKFtpLmUoMTIzODUpLGkuZSg4MDc4MiksaS5lKDMyMzg3KSxpLmUoNDQxNjIpXSkudGhlbihpLmJpbmQoaSwzOTU2MjUpKS50aGVuKChlPT57KHRoaXMuX29wdGlvbnMudGltZWZyYW1lLmdldFRoZW1lfHwoKCk9PlByb21pc2UucmVzb2x2ZSh2b2lkIDApKSkoKS50aGVuKChpPT50KGUsaSkpKX0pKX1fY3JlYXRlTGVnZW5kKCl7dGhpcy5fb3B0aW9ucy5sZWdlbmQmJnRoaXMuX29wdGlvbnMubGVnZW5kLnZpc2libGUmJlByb21pc2UuYWxsKFtpLmUoMzAzNzMpLGkuZSg1Njg5KSxpLmUoNjU4MyksaS5lKDMyMzg3KSxpLmUoMTY0NildKS50aGVuKGkuYmluZChpLDI5NzY1MCkpLnRoZW4oKHQ9PnQuY3JlYXRlTGVnZW5kKHRoaXMuX29wdGlvbnMubGVnZW5kLmNvbnRhaW5lcix0aGlzLl9vcHRpb25zLmxlZ2VuZC5pdGVtcykpKX1fZ2V0QXZhaWxhYmxlVGltZUZyYW1lcygpe2NvbnN0IHQ9W107Zm9yKGNvbnN0IGUgb2YgdGhpcy5fdGltZUZyYW1lT3B0aW9ucyl7aWYoIXRoaXMuX3RpbWVmcmFtZUlzQXZhaWxhYmxlKGUudmFsdWUpKWNvbnRpbnVlO2NvbnN0IGk9KDAsZi5jb252ZXJ0VGltZUZyYW1lVG9TdHIpKGUudmFsdWUpO3QucHVzaCh7dmFsdWU6aSx0ZXh0OmUudGV4dCxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9ufSl9cmV0dXJuIHR9X3RpbWVmcmFtZUlzQXZhaWxhYmxlKHQpe2NvbnN0IGU9dGhpcy5fdGltZUZyYW1lT3B0aW9ucy5maW5kKChlPT4oMCxmLmFyZUVxdWFsVGltZUZyYW1lcykoZS52YWx1ZSx0KSkpO2lmKCFlKXJldHVybiExO2NvbnN0IGk9dGhpcy5tYWluUGxvdCgpLnN5bWJvbEluZm8oKTtpZighaXx8aS5wcm9fbmFtZSE9PXRoaXMuX21haW5QbG90LnN5bWJvbCgpKXJldHVybiEwO2lmKGkuaGFzX2ludHJhZGF5KXJldHVybiEwO3JldHVybiF1LkludGVydmFsLnBhcnNlKGUudGFyZ2V0UmVzb2x1dGlvbikuaXNJbnRyYWRheSgpfV9vbkNoYXJ0U2Vzc2lvbklzQ29ubmVjdGVkQ2hhbmdlZCh0KXt0IT09dGhpcy5fY29ubmVjdGVkJiYodD8odGhpcy5fY29ubmVjdGVkPSEwLCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLl9jb25uZWN0Q2FsbGJhY2smJnRoaXMuX2Nvbm5lY3RDYWxsYmFjaygpLHRoaXMuX2NoYXJ0U2Vzc2lvbj8uc3dpdGNoVGltZXpvbmUoIkV0Yy9VVEMiKSx0aGlzLl9yZXF1ZXN0RGF0YSgpKToodGhpcy5fY29ubmVjdGVkPSExLHRoaXMuX21haW5QbG90LmRpc2Nvbm5lY3QoKSx0aGlzLl9zdHVkeVBsb3RzLmZvckVhY2goKHQ9PnQuZGlzY29ubmVjdCgpKSkpKX1fb25DaGFydFNlc3Npb25Dcml0aWNhbEVycm9yKCl7dGhpcy5fY29ubmVjdGVkPSExfV9jcmVhdGVUb29sdGlwRGF0ZUZvcm1hdHRlcigpe2NvbnN0IHQ9dS5JbnRlcnZhbC5wYXJzZSh0aGlzLnJlc29sdXRpb24oKSk7bGV0IGU7dGhpcy5faXNEV01SZXNvbHV0aW9uPXQuaXNEV00oKSx0aGlzLl93aWRnZXQudGltZVNjYWxlKCkuYXBwbHlPcHRpb25zKHt0aW1lVmlzaWJsZTohdGhpcy5faXNEV01SZXNvbHV0aW9uLHNlY29uZHNWaXNpYmxlOnQuaXNTZWNvbmRzKCl9KTtjb25zdHtkYXRlRm9ybWF0Omk9ImRkIE1NTSAneXkiLHRpbWVIb3Vyc0Zvcm1hdDpzPSIyNC1ob3VycyIsc3VwcHJlc3NUaWNrTWFya3M6YX09dGhpcy5fb3B0aW9ucy5jaGFydE9wdGlvbnM7ZT10aGlzLl9pc0RXTVJlc29sdXRpb24/bmV3IGMuRGF0ZUZvcm1hdHRlcihpKTpuZXcgZC5EYXRlVGltZUZvcm1hdHRlcih7ZGF0ZUZvcm1hdDppLHRpbWVGb3JtYXQ6KDAsZy5nZXRUaW1lRm9ybWF0Rm9ySW50ZXJ2YWwpKHQscyl9KSx0aGlzLl9kYXRlVGltZUZvcm1hdHRlcj1lLHRoaXMuX3dpZGdldC5hcHBseU9wdGlvbnMoe2xvY2FsaXphdGlvbjp7dGltZUZvcm1hdHRlcjp0PT5lLmZvcm1hdChuZXcgRGF0ZSgxZTMqdCkpfSx0aW1lU2NhbGU6e3RpY2tNYXJrRm9ybWF0dGVyOkguYmluZChudWxsLHMsYSx0aGlzLl90aW1lZnJhbWUudmFsdWUoKSl9fSksdGhpcy5fd2lkZ2V0LmFwcGx5T3B0aW9ucyh7dGltZVNjYWxlOnsKdGltZVZpc2libGU6IXUuSW50ZXJ2YWwucGFyc2UodGhpcy5fbWFpblBsb3QucmVzb2x1dGlvbigpKS5pc0RXTSgpfX0pfV9yZXF1ZXN0RGF0YSgpe3RoaXMuX2NyZWF0ZVRvb2x0aXBEYXRlRm9ybWF0dGVyKCksdGhpcy5fY2xlYXJSZWNvbm5lY3Rpb25UaW1lb3V0KCksdGhpcy5fbWFpblBsb3QucmVxdWVzdERhdGEoKSx0aGlzLl9zdHVkeVBsb3RzLmZvckVhY2goKHQ9PnQucmVxdWVzdERhdGEoKSkpfV9vbkRhdGEodCl7aWYodGhpcy5fbWFpblBsb3QuaXNDb25uZWN0ZWQoKSlzd2l0Y2godC5tZXRob2Qpe2Nhc2UidGltZXNjYWxlX3VwZGF0ZSI6e2NvbnN0IGU9dC5wYXJhbXM7aWYoZS5jbGVhcil7dGhpcy5fdGlja21hcmtzLmNsZWFyKCksdGhpcy5fbWFpblBsb3QuY2xlYXJTb3VyY2VEYXRhKCk7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fc3R1ZHlQbG90cyl0LmNsZWFyU291cmNlRGF0YSgpfWlmKGUuaW5kZXhfZGlmZi5sZW5ndGg+MCl7dGhpcy5fbWFpblBsb3QubW92ZVNvdXJjZURhdGEoZS5pbmRleF9kaWZmKTtmb3IoY29uc3QgdCBvZiB0aGlzLl9zdHVkeVBsb3RzKXQubW92ZVNvdXJjZURhdGEoZS5pbmRleF9kaWZmKX1jb25zdCBpPWUubWFya3M7bGV0IHM9MS8wLGE9LTEvMDtmb3IoY29uc3QgdCBvZiBpKXRoaXMuX3RpY2ttYXJrcy5oYXModC5pbmRleCl8fChzPU1hdGgubWluKHMsdC5pbmRleCksYT1NYXRoLm1heChhLHQuaW5kZXgpKSx0aGlzLl90aWNrbWFya3Muc2V0KHQuaW5kZXgsdCk7TnVtYmVyLmlzRmluaXRlKHMpJiZ0aGlzLl9tYWluUGxvdC5vblRpY2ttYXJrc0FkZGVkKHMsYSksdGhpcy5fc2F2ZUNhY2hlKCk7YnJlYWt9fX1fb25TeW1ib2xSZXNvbHZlZCgpe3RoaXMudXBkYXRlQXZhaWxhYmxlVGltZWZyYW1lcygpLHRoaXMuX2luaXRUaW1lZnJhbWVzUmVuZGVyZXIoKX1fb25UaW1lRnJhbWVJbnZhbGlkYXRlZCgpe3RoaXMuX2FjdGl2ZVJhbmdlPXZvaWQgMCx0aGlzLl90aW1lZnJhbWVWaWV3Py51cGRhdGUoe2FjdGl2ZVJhbmdlOnZvaWQgMH0pfV9zaG93TG9hZGluZygpe2lmKHRoaXMuX2lzTG9hZGluZylyZXR1cm47dGhpcy5oaWRlTWVzc2FnZSgpO2NvbnN0IHQ9dGhpcy5fb3B0aW9ucy5jaGFydE9wdGlvbnMubG9hZGluZzt0LnNwaW5uZXIudmlzaWJsZSYmKG51bGw9PT10aGlzLl9zcGlubmVyJiYodGhpcy5fc3Bpbm5lcj1uZXcgdi5TcGlubmVyKCJtaW5pIikuc2V0U3R5bGUoe2NvbG9yOnQuc3Bpbm5lci5jb2xvcix3aWR0aDp0LnNwaW5uZXIud2lkdGgudG9TdHJpbmcoKSx6SW5kZXg6IjEwIn0pKSx0aGlzLl9zcGlubmVyLnNwaW4odGhpcy5faW5uZXJDb250YWluZXIpKSx0LmZhZGUudmlzaWJsZSYmdGhpcy5faW5uZXJDb250YWluZXIuY2xhc3NMaXN0LmFkZCh3LmZhZGUpLHRoaXMuX2lzTG9hZGluZz0hMH1faGlkZUxvYWRpbmcoKXt0aGlzLl9pc0xvYWRpbmcmJih0aGlzLl9zcGlubmVyJiZ0aGlzLl9zcGlubmVyLnN0b3AoKSx0aGlzLl9pc0xvYWRpbmc9ITEpfV9yZXF1ZXN0RGF0YU9uVGltZWZyYW1lQ2hhbmdlKCl7dGhpcy5fb3B0aW9ucy5jaGFydE9wdGlvbnMubG9hZGluZy5jbGVhckRhdGFPblRpbWVmcmFtZUNoYW5nZSYmKHRoaXMuX3N0dWR5UGxvdHMuZm9yRWFjaCgodD0+dC5jbGVhckRhdGEoKSkpLHRoaXMuX3N0dWR5UGxvdHMuZm9yRWFjaCgodD0+dC5kZWxldGVWaWV3KCkpKSx0aGlzLm1haW5QbG90KCkuY2xlYXJEYXRhKCksdGhpcy5tYWluUGxvdCgpLmRlbGV0ZVZpZXcoKSksdGhpcy5jb25uZWN0ZWQoKT90aGlzLl9yZXF1ZXN0RGF0YSgpOnRoaXMuY29ubmVjdCgpfV91cGRhdGVTdGF0dXMoKXtjb25zdCB0PVt0aGlzLl9tYWluUGxvdC5zdGF0dXMoKS52YWx1ZSgpLC4uLnRoaXMuX3N0dWR5UGxvdHMubWFwKCh0PT50LnN0YXR1cygpLnZhbHVlKCkpKV0sZT10LmV2ZXJ5KCh0PT4wIT09dCkpPzM9PT10WzBdPyJyZWFkeSI6ImVycm9yIjoibG9hZGluZyI7dGhpcy5fc3RhdHVzLnNldFZhbHVlKGUpfV90aW1lU2NhbGVTaXplQ2hhbmdlZEhhbmRsZXIodCxlKXt0aGlzLl90aW1lU2NhbGVTaXplQ2hhbmdlZC5maXJlKHQsZSl9fX0sMTQ2MDU4KHQsZSxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyh0KXtyZXR1cm4gdC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiZGl2IikuaXRlbSgwKT8uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRhYmxlIikuaXRlbSgwKT8uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRyIikuaXRlbSgwKT8uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRkIikuaXRlbSgxKT8uZ2V0RWxlbWVudHNCeVRhZ05hbWUoImRpdiIpLml0ZW0oMCk/P251bGx9aS5kKGUse2dldENoYXJ0TGF5b3V0Q29udGFpbmVyOigpPT5zfSl9LDU4NjI0Nyh0LGUsaSl7InVzZSBzdHJpY3QiO2kuZChlLHtNaW5pQ2hhcnRQbG90OigpPT5jfSk7dmFyIHMsYT1pKDc0MDE2Mik7IWZ1bmN0aW9uKHQpe3QuRGVmYXVsdD0iZGVmYXVsdCIsdC5GdWxsU2luZ2xlU2Vzc2lvbj0iZnVsbF9zaW5nbGVfc2Vzc2lvbiJ9KHN8fChzPXt9KSk7dmFyIG49aSg5MzYzMjYpLHI9aSg4NTcxNTEpLG89aSgxMjE0NzkpLGg9aSg4MzcyMDMpLGw9aSgyNDIxNzEpO2NsYXNzIGMgZXh0ZW5kcyBsLk1pbmlDaGFydFBsb3RCYXNle2NvbnN0cnVjdG9yKHQsZSxpLHMsbixyKXtzdXBlcih0LGUsaSxuKSx0aGlzLl9zZXJpZXNEYXRhU291cmNlPW51bGwsdGhpcy5fY2FjaGVkRGF0YT1udWxsLHRoaXMuX3N0dWR5UGxvdHM9cyx0aGlzLl9vcHRpb25zPW4sdGhpcy5faG9yek1hcmdpbnM9KDAsYS5kZWZhdWx0KSh7fSxsLnNlcmllc0hvcnpNYXJnaW5zRGVmYXVsdHMsZS5ob3J6TWFyZ2lucyksciYmdGhpcy5fbG9hZENhY2hlKHIpfWRlc3Ryb3koKXt0aGlzLl9zZXJpZXNEYXRhU291cmNlPy5kZXN0cm95KCksc3VwZXIuZGVzdHJveSgpfXVwZGF0ZUhvcnpNYXJnaW5zKHQpe3RoaXMuX2hvcnpNYXJnaW5zPSgwLGEuZGVmYXVsdCkodGhpcy5faG9yek1hcmdpbnMsdCksdGhpcy5fbWluaUNoYXJ0LmZpdENvbnRlbnQoKX1yZWxvYWRDYWNoZSh0KXt0aGlzLl9jYWNoZT10LHQ/dGhpcy5fbG9hZENhY2hlKHQpOih0aGlzLl9taW5CYXJJbmRleD1udWxsLHRoaXMuX21heEJhckluZGV4PW51bGwsCnRoaXMuX2NhY2hlZERhdGE9bnVsbCx0aGlzLl9vbkRhdGEoKS50aGVuKCgoKT0+e3RoaXMuZml0Q29udGVudCgpfSkpKX1yZXF1ZXN0RGF0YSgpe2NvbnN0IHQ9dGhpcy5fZ2V0U2VyaWVzRGF0YVNvdXJjZSgpO3RoaXMuX3N0YXR1cy5zZXRWYWx1ZSgwKSx0aGlzLl9ub0RhdGEuc2V0VmFsdWUobnVsbCksdC5tb2RpZnlTZXJpZXModGhpcy5leHRlbmRlZFN5bWJvbCgpLCgwLG8uZ2V0U2VydmVySW50ZXJ2YWwpKHRoaXMucmVzb2x1dGlvbigpKSx0aGlzLl9taW5pQ2hhcnQudGltZWZyYW1lKCkudmFsdWUoKSksdC5pc1N0YXJ0ZWQoKXx8dC5zdGFydCgpfWNsZWFyU291cmNlRGF0YSgpe3RoaXMuX3Nlcmllc0RhdGFTb3VyY2U/LmNsZWFyRGF0YSgpLHRoaXMuX3N0dWR5UGxvdHMoKS5mb3JFYWNoKCh0PT50LmNsZWFyU291cmNlRGF0YSgpKSl9bW92ZVNvdXJjZURhdGEodCl7dGhpcy5fc2VyaWVzRGF0YVNvdXJjZT8ubW92ZURhdGEodCl9b25UaWNrbWFya3NBZGRlZCh0LGUpe2NvbnN0IGk9dGhpcy5tYXhCYXJJbmRleCgpO3RoaXMuX2lzTGFzdFNlc3Npb25JbnRlcnZhbC52YWx1ZSgpJiZudWxsIT09aSYmaT49dCYmaTw9ZSYmKHRoaXMudXBkYXRlRGF0YSghMSwhMCksdGhpcy5maXRDb250ZW50KCkpfWRpc2Nvbm5lY3QoKXt0aGlzLl9zZXJpZXNEYXRhU291cmNlPy5zdG9wKCl9aXNDb25uZWN0ZWQoKXtyZXR1cm4gQm9vbGVhbih0aGlzLl9zZXJpZXNEYXRhU291cmNlPy5pc1N0YXJ0ZWQoKSl9Y2xlYXJEYXRhKCl7aWYoc3VwZXIuY2xlYXJEYXRhKCksdGhpcy5fbWluQmFySW5kZXg9bnVsbCx0aGlzLl9tYXhCYXJJbmRleD1udWxsLG51bGwhPT10aGlzLl9zZXJpZXNEYXRhU291cmNlJiYodGhpcy5fc2VyaWVzRGF0YVNvdXJjZS5zdG9wKCksdGhpcy5jbGVhclNvdXJjZURhdGEoKSksdGhpcy5fY2FjaGUpe2NvbnN0e21pbkJhckluZGV4OnQsbWF4QmFySW5kZXg6ZSxzeW1ib2xJbmZvOml9PXRoaXMuX2NhY2hlO3RoaXMuX21pbkJhckluZGV4PXQsdGhpcy5fbWF4QmFySW5kZXg9ZSxpJiYodGhpcy5fc3ltYm9sSW5mbz1pLHRoaXMuX3N5bWJvbEluZm9XVi5zZXRWYWx1ZShpKSx0aGlzLl9pbml0QmFyQnVpbGRlcihpKS50aGVuKCgoKT0+e3RoaXMuX2lzRGVzdHJveWVkLnZhbHVlKCl8fHRoaXMuX29uRGF0YSgpLnRoZW4oKCgpPT57dGhpcy5maXRDb250ZW50KCl9KSl9KSkpfX1zZXJpZXNEYXRhU291cmNlKCl7cmV0dXJuIHRoaXMuX2dldFNlcmllc0RhdGFTb3VyY2UoKX1maXJzdEJhcigpe3JldHVybigwLGwuaXNUaW1lUG9pbnRJbmRleCkodGhpcy5fbWluQmFySW5kZXgpP3RoaXMuX2JhcnMoKS5zZWFyY2godGhpcy5fbWluQmFySW5kZXgpOnRoaXMuX2JhcnMoKS5maXJzdCgpfWxhc3RCYXIoKXtyZXR1cm4oMCxsLmlzVGltZVBvaW50SW5kZXgpKHRoaXMuX21heEJhckluZGV4KT90aGlzLl9iYXJzKCkuc2VhcmNoKHRoaXMuX21heEJhckluZGV4LG4uUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdExlZnQpOnRoaXMuX2JhcnMoKS5sYXN0KCl9Y2FjaGVEYXRhKCl7Y29uc3QgdD10aGlzLl9zZXJpZXNEYXRhU291cmNlPy5kYXRhKCk/LmNsb25lKCksZT10aGlzLl9zeW1ib2xJbmZvLGk9dGhpcy5fbWluQmFySW5kZXgscz10aGlzLl9tYXhCYXJJbmRleDtyZXR1cm4gdCYmbnVsbCE9PWUmJm51bGwhPT1pJiZudWxsIT09cz97ZGF0YTp0LHN5bWJvbEluZm86ZSxtaW5CYXJJbmRleDppLG1heEJhckluZGV4OnN9Om51bGx9Zml0Q29udGVudCgpe2lmKG51bGw9PT10aGlzLl9kYXRhTGVuZ3RoSW5mb3x8MD09PXRoaXMuX2RhdGFMZW5ndGhJbmZvLmhpc3RvcnkpcmV0dXJuO2NvbnN0e2hpc3Rvcnk6dCxyZWFsdGltZTplLHdoaXRlc3BhY2VzOmksbGFzdEJhclRpbWU6cyxmaXhMZWZ0RWRnZVVudGlsOmE9MH09dGhpcy5fZGF0YUxlbmd0aEluZm8sbj10aGlzLl9taW5pQ2hhcnQud2lkZ2V0KCkscj1uLnBhbmVTaXplKCkud2lkdGg7aWYoMD09PXIpcmV0dXJuO2NvbnN0e2xlZnRMb2dpY2FsOm8scmlnaHRMb2dpY2FsOmgsbGVmdFB4OmwscmlnaHRQeDpjfT10aGlzLl9ob3J6TWFyZ2lucztsZXQgZD10aGlzLl9maXRDb250ZW50TGVmdEluZGV4KCktby0obnVsbD09PXN8fGE+PXM/MDplKSxtPU1hdGgubWF4KGQsTWF0aC5tYXgoMCx0LTEpK2graStlKTtpZigwIT09bCl7ZC09bC8oKHItbCkvKG0tZCsxKSl9aWYoMCE9PWMpe20rPWMvKChyLWMpLyhtLWQrMSkpfWlmKG09TWF0aC5tYXgoZCxtKSxtLWQ8MSl7Y29uc3QgdD0oMS0obS1kKSkvMjtkLT10LG0rPXR9bi50aW1lU2NhbGUoKS5zZXRWaXNpYmxlTG9naWNhbFJhbmdlKHtmcm9tOmQsdG86bX0pLG4udGltZVNjYWxlKCkuYXBwbHlPcHRpb25zKHtsb2NrVmlzaWJsZVRpbWVSYW5nZU9uUmVzaXplOiEwfSl9X2ZpdENvbnRlbnRMZWZ0SW5kZXgoKXtyZXR1cm4gMH1fdXBkYXRlU2VyaWVzT3B0aW9ucyh0KXtzdXBlci5fdXBkYXRlU2VyaWVzT3B0aW9ucyh0KSx0LmhvcnpNYXJnaW5zJiZ0aGlzLnVwZGF0ZUhvcnpNYXJnaW5zKHQuaG9yek1hcmdpbnMpfV9pc01haW5QbG90KCl7cmV0dXJuITB9X2RhdGFVcGRhdGVkKHQsZSxpKXtpZihzdXBlci5fZGF0YVVwZGF0ZWQodCxlLGkpLCF0aGlzLl9pc0xhc3RTZXNzaW9uSW50ZXJ2YWwudmFsdWUoKXx8IXRoaXMuX21pbmlDaGFydC5zdXBwb3J0UmVhbHRpbWVVcGRhdGVzKCl8fCFpKXJldHVybjtjb25zdCBzPWkubGFzdEJhclNlc3Npb247MCE9PXMmJjEhPT1zJiYzIT09c3x8MiE9PWUubGFzdEJhclNlc3Npb258fFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCgpPT57dGhpcy5fbWluaUNoYXJ0LnNldFRpbWVmcmFtZSh0aGlzLl9taW5pQ2hhcnQudGltZWZyYW1lKCkudmFsdWUoKSwhMSwhMCl9KSl9X29uQ2hhcnRTdHlsZUNoYW5nZWQoKXtzdXBlci5fb25DaGFydFN0eWxlQ2hhbmdlZCgpLHRoaXMuX3N0dWR5UGxvdHMoKS5mb3JFYWNoKCh0PT50LnVwZGF0ZVNlcmllc09wdGlvbnMoe2NoYXJ0VHlwZTp0aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucy5jaGFydFR5cGV9KSkpfV9iZWZvcmVEYXRhUmVhZHkoKXtzdXBlci5fYmVmb3JlRGF0YVJlYWR5KCksCnRoaXMuX3N0dWR5UGxvdHMoKS5mb3JFYWNoKCh0PT50LmRlbGV0ZVZpZXcoKSkpfV9nZXRTZXJpZXNEYXRhU291cmNlKCl7aWYobnVsbD09PXRoaXMuX3Nlcmllc0RhdGFTb3VyY2Upe2NvbnN0IHQ9dGhpcy5fY3VycmVudFNlcmllc09wdGlvbnMuaW5pdGlhbFJlcXVlc3RPcHRpb25zLGU9dGhpcy5fc2VyaWVzRGF0YVNvdXJjZT1uZXcgaC5TZXJpZXNEYXRhU291cmNlKHRoaXMuY2hhcnRTZXNzaW9uKCksInMiLHQpLGk9ZS5kYXRhRXZlbnRzKCk7aS5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU3ltYm9sUmVzb2x2ZWQpLGkuc3ltYm9sTm90UGVybWl0dGVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TeW1ib2xOb3RQZXJtaXR0ZWQpLGkuc3ltYm9sR3JvdXBOb3RQZXJtaXR0ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblN5bWJvbEdyb3VwTm90UGVybWl0dGVkKSxpLmludHJhZGF5U3ByZWFkTm90UGVybWl0dGVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25JbnRyYWRheVNwcmVhZE5vdFBlcm1pdHRlZCksaS5zeW1ib2xJbnZhbGlkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TeW1ib2xJbnZhbGlkKSxpLnN5bWJvbEVycm9yKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TeW1ib2xFcnJvciksaS5pbnRyYWRheUV4Y2hhbmdlTm90UGVybWl0dGVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25SZXNvbHV0aW9uT3JFeGNoYW5nZU5vdFBlcm1pdHRlZEVycm9yKSxpLmN1c3RvbUludGVydmFsTm90UGVybWl0dGVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25SZXNvbHV0aW9uT3JFeGNoYW5nZU5vdFBlcm1pdHRlZEVycm9yKSxpLmNvbXBsZXRlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uRGF0YUNvbXBsZXRlZCksaS5zZXJpZXNFcnJvcigpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uRGF0YUVycm9yKSxpLnNlcmllc1RpbWVGcmFtZSgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uVGltZUZyYW1lKSxpLmRhdGFVcGRhdGVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25EYXRhSW50ZXJuYWwpLGkuY3JlYXRlZCgpLnN1YnNjcmliZShudWxsLCgoKT0+cGVyZm9ybWFuY2UubWFyaygiUkZEIix7ZGV0YWlsOiJSZXF1ZXN0IGZpcnN0IGRhdGEifSkpLCEwKSxpLmNyZWF0ZWQoKS5zdWJzY3JpYmUobnVsbCwoKCk9PmUuc2V0RnV0dXJlVGlja21hcmtzTW9kZShzLkZ1bGxTaW5nbGVTZXNzaW9uKSkpLGkuZGF0YVVwZGF0ZWQoKS5zdWJzY3JpYmUobnVsbCwoKCk9PntwZXJmb3JtYW5jZS5tYXJrKCJGRFIiLHtkZXRhaWw6IkZpcnN0IGRhdGEgcmVzcG9uc2UifSkscGVyZm9ybWFuY2UubWVhc3VyZSgiUmVzcG9uc2UgaWRsZSIsIlJGRCIsIkZEUiIpfSksITApfXJldHVybiB0aGlzLl9zZXJpZXNEYXRhU291cmNlfV9iYXJzKCl7cmV0dXJuIHRoaXMuX2NhY2hlZERhdGE/dGhpcy5fY2FjaGVkRGF0YS5zZXJpZXNEYXRhLmJhcnMoKTp0aGlzLl9zZXJpZXNEYXRhU291cmNlPy5kYXRhKCkuYmFycygpPz9uZXcgci5QbG90TGlzdH1fb25UaW1lRnJhbWUodCxlKXt0aGlzLl9jYWNoZWREYXRhfHwodGhpcy5fbWluQmFySW5kZXg9dCx0aGlzLl9tYXhCYXJJbmRleD1lKSx0aGlzLnVwZGF0ZURhdGEoITEpLHRoaXMuX3N0dWR5UGxvdHMoKS5mb3JFYWNoKCh0PT50LnVwZGF0ZURhdGEoITEsITApKSl9X29uRGF0YUNvbXBsZXRlZCgpe3RoaXMuX2NhY2hlZERhdGEmJih0aGlzLl9jYWNoZWREYXRhPW51bGwpLHRoaXMudXBkYXRlRGF0YSghMSwhMCksc3VwZXIuX29uRGF0YUNvbXBsZXRlZCgpLHRoaXMuZml0Q29udGVudCgpfV9vbkRhdGFJbnRlcm5hbCh0LGUsaSl7dGhpcy5fb25EYXRhKGU/dm9pZCAwOmk/LmluZGV4KX1hc3luYyBfbG9hZENhY2hlKHQpe2NvbnN0e2RhdGE6ZSxzeW1ib2xJbmZvOmksbWluQmFySW5kZXg6cyxtYXhCYXJJbmRleDphfT10O3RoaXMuX21pbkJhckluZGV4PXMsdGhpcy5fbWF4QmFySW5kZXg9YSx0aGlzLl9jYWNoZWREYXRhPXtzeW1ib2w6dGhpcy5leHRlbmRlZFN5bWJvbCgpLHJlc29sdXRpb246dGhpcy5yZXNvbHV0aW9uKCksdGltZUZyYW1lOnRoaXMuX21pbmlDaGFydC50aW1lZnJhbWUoKS52YWx1ZSgpLHNlcmllc0RhdGE6ZX0sdGhpcy5fc3ltYm9sSW5mbz1pLHRoaXMuX3N5bWJvbEluZm9XVi5zZXRWYWx1ZShpKTtjb25zdCBuPWF3YWl0IHRoaXMuX2luaXRCYXJCdWlsZGVyKGkpOyF0aGlzLl9pc0Rlc3Ryb3llZC52YWx1ZSgpJiZ0aGlzLl9zeW1ib2xJbmZvJiYodGhpcy5fc3ltYm9sSW5mbyE9PWkmJm4udXBkYXRlKHRoaXMuX3N5bWJvbEluZm8pLGF3YWl0IHRoaXMuX29uRGF0YSgpLHRoaXMuX3N0YXR1cy5zZXRWYWx1ZSgzKSx0aGlzLmZpdENvbnRlbnQoKSl9fX0sNjk1OTQ2KHQsZSxpKXsidXNlIHN0cmljdCI7aS5kKGUse1ByZXR0eUhpc3RvZ3JhbVNlcmllczooKT0+bn0pO2NvbnN0IHM9ey4uLmkoNjc4MzEyKS5jdXN0b21TZXJpZXNEZWZhdWx0T3B0aW9ucyxjb2xvcjoiI0Q2Mzg2NCIsd2lkdGhQZXJjZW50OjUwLHJhZGl1czo0fTtjbGFzcyBhe2NvbnN0cnVjdG9yKCl7dGhpcy5fZGF0YT1udWxsLHRoaXMuX29wdGlvbnM9bnVsbH1kcmF3KHQsZSl7dC51c2VCaXRtYXBDb29yZGluYXRlU3BhY2UoKHQ9PnRoaXMuX2RyYXdJbXBsKHQsZSkpKX11cGRhdGUodCxlKXt0aGlzLl9kYXRhPXQsdGhpcy5fb3B0aW9ucz1lfV9kcmF3SW1wbCh0LGUpe2lmKG51bGw9PT10aGlzLl9kYXRhfHwwPT09dGhpcy5fZGF0YS5iYXJzLmxlbmd0aHx8bnVsbD09PXRoaXMuX2RhdGEudmlzaWJsZVJhbmdlfHxudWxsPT09dGhpcy5fb3B0aW9ucylyZXR1cm47Y29uc3QgaT10aGlzLl9vcHRpb25zLHM9dGhpcy5fZGF0YS5iYXJzLm1hcCgocz0+KHt4OnMueCp0Lmhvcml6b250YWxQaXhlbFJhdGlvLHZhbHVlOmUocy5vcmlnaW5hbERhdGEudmFsdWUpPz9OYU4sY29sb3I6cy5iYXJDb2xvcj8/aS5jb2xvcn0pKSksYT1lKDApPz8wLG49dC5jb250ZXh0O2xldCByPW51bGw7bi5iZWdpblBhdGgoKQo7Y29uc3Qgbz1NYXRoLm1heCgxLE1hdGgucm91bmQoLjAxKmkud2lkdGhQZXJjZW50KnRoaXMuX2RhdGEuYmFyU3BhY2luZyp0Lmhvcml6b250YWxQaXhlbFJhdGlvKSksaD1NYXRoLmZsb29yKGkucmFkaXVzKnQuaG9yaXpvbnRhbFBpeGVsUmF0aW8pO3Muc2xpY2UodGhpcy5fZGF0YS52aXNpYmxlUmFuZ2UuZnJvbSx0aGlzLl9kYXRhLnZpc2libGVSYW5nZS50bysxKS5mb3JFYWNoKChlPT57Y29uc3QgaT1lLmNvbG9yO251bGwhPT1yJiZyIT09aSYmKG4uZmlsbCgpLG4uYmVnaW5QYXRoKCkpLG4uZmlsbFN0eWxlPWk7Y29uc3Qgcz1mdW5jdGlvbih0LGUsaSl7Y29uc3Qgcz1NYXRoLnJvdW5kKGkqdCksYT1NYXRoLnJvdW5kKGkqZSk7cmV0dXJue3Bvc2l0aW9uOk1hdGgubWluKHMsYSksbGVuZ3RoOk1hdGguYWJzKGEtcykrMX19KGEsZS52YWx1ZSx0LnZlcnRpY2FsUGl4ZWxSYXRpbyksbD1NYXRoLmZsb29yKE1hdGgubWluKGgsby8yLE1hdGguYWJzKHMubGVuZ3RoKSkpLGM9TWF0aC5yb3VuZChlLngtby8yKTtuLnJvdW5kUmVjdChjLHMucG9zaXRpb24sbyxzLmxlbmd0aCxlLnZhbHVlPGE/W2wsbCwwLDBdOlswLDAsbCxsXSkscj1pfSkpLG4uZmlsbCgpfX1jbGFzcyBue2NvbnN0cnVjdG9yKCl7dGhpcy5fcmVuZGVyZXI9bmV3IGF9cHJpY2VWYWx1ZUJ1aWxkZXIodCl7cmV0dXJuW3QudmFsdWVdfWlzV2hpdGVzcGFjZSh0KXtyZXR1cm4gdm9pZCAwPT09dC52YWx1ZX1yZW5kZXJlcigpe3JldHVybiB0aGlzLl9yZW5kZXJlcn11cGRhdGUodCxlKXt0aGlzLl9yZW5kZXJlci51cGRhdGUodCxlKX1kZWZhdWx0T3B0aW9ucygpe3JldHVybiBzfX19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/94708.73d2bca37207c67a41f4.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.932Z","timestamp":1785120633932,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/94708.73d2bca37207c67a41f4.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-8b98\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9c36b6ed3d34148030039af2fd479c88\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":35736,"size_decoded":12654,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3065)","md5":"eb8c592becd98b3361efe0b94719d5c6","sha1":"a0d1ee8521cfba7aa407ac50937aedd5f39bf878","sha256":"647fb8708ead9f5ba58a75d3b5e6d45f3df1f26a67f068d19a46752de40e327d","sha512":"27e850e1b55df1bfb523a33007db88c5bf3fca11c34b9f448fad508275031d48062410c7e49cd891d38f4058b2dad657828a8ce9f5a047b24a8804c477a90feb","ssdeep":"768:Qy2uEBDBP0oAifg+OMQjn3FMjhYVwPn9/meP+Tjwqcq8xGQKpb5dg+xU7wbwpEvK:k950TT3WOOP9AsqcK555x/dMDjcXRdH6","tlshash":"f4f2f917f1a7b46693db809ae4724213a33c18013d05486dbabc9ddd2a3f942b663f7d","first_seen":"2026-07-23T13:38:20.417189Z","last_seen":"2026-07-27T05:16:58.414957Z","times_seen":749,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTQ3MDhdLHs5MzAyMzEoZSx0LHMpe3MuZCh0LHtpc0ZlYXR1cmVzZXRFbmFibGVkOigpPT5hfSk7dmFyIG49cyg2MzUxOCk7Y29uc3QgaT1uZXcgTWFwLG89bmV3IE1hcCxyPW5ldyBTZXQ7ZnVuY3Rpb24gYShlKXtjb25zdCB0PWkuZ2V0KGUpO2lmKHZvaWQgMCE9PXQpcmV0dXJuIHQ7Y29uc3Qgcz1vLmdldChlKTtyZXR1cm4hIXMmJnMuc29tZShhKX1mdW5jdGlvbiBkKGUsdCl7aS5zZXQoU3RyaW5nKGUpLEJvb2xlYW4odCkpfSFmdW5jdGlvbigpe2Zvcihjb25zdFtlLHRdb2YgT2JqZWN0LmVudHJpZXMobikpaWYoci5hZGQoZSksInN1YnNldHMiaW4gdClmb3IoY29uc3QgcyBvZiB0LnN1YnNldHMpe3IuYWRkKHMpO2xldCB0PW8uZ2V0KHMpO3ZvaWQgMD09PXQmJih0PVtdLG8uc2V0KHMsdCkpLHQucHVzaChlKX19KCksIm9iamVjdCI9PXR5cGVvZiBfX2luaXRpYWxEaXNhYmxlZEZlYXR1cmVzZXRzJiZBcnJheS5pc0FycmF5KF9faW5pdGlhbERpc2FibGVkRmVhdHVyZXNldHMpJiZfX2luaXRpYWxEaXNhYmxlZEZlYXR1cmVzZXRzLmZvckVhY2goKGZ1bmN0aW9uKGUpe2QoZSwhMSl9KSksIm9iamVjdCI9PXR5cGVvZiBfX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMmJkFycmF5LmlzQXJyYXkoX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzKSYmX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzLmZvckVhY2goKGZ1bmN0aW9uKGUpe2QoZSwhMCl9KSl9LDg1NjE5NihlLHQscyl7cy5kKHQse3Nob3VsZEFmZmVjdFVzZXI6KCk9PmR9KTt2YXIgbj1zKDEwMDU5NSksaT1zLm4obiksbz1zKDkzMjM2NSk7Y29uc3Qgcj0iZmVhdHVyZXRvZ2dsZV9zZWVkIjtmdW5jdGlvbiBhKGUpe3RyeXtjb25zdCB0PWkoKShlK2Z1bmN0aW9uKCl7aWYod2luZG93LnVzZXImJndpbmRvdy51c2VyLmlkKXJldHVybiB3aW5kb3cudXNlci5pZDtjb25zdCBlPW8uVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShyKTtpZihudWxsIT09ZSlyZXR1cm4gZTtjb25zdCB0PU1hdGguZmxvb3IoMWU2Kk1hdGgucmFuZG9tKCkpO3JldHVybiBvLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0ocixgJHt0fWApLHR9KCkpLHM9bmV3IERhdGFWaWV3KHQpO3JldHVybiBzLmdldFVpbnQzMigwLCEwKS80Mjk0OTY3Mjk2fWNhdGNoKGUpe3JldHVybi41fX1mdW5jdGlvbiBkKGUsdCl7cmV0dXJuIGEoZSk8PXR9fSwxNTk1MTMoZSx0LHMpe3MuZCh0LHtnZXRRdW90ZVNlc3Npb25JbnN0YW5jZTooKT0+YX0pO3ZhciBuPXMoOTI3NTkzKSxpPXMoNzU1NjI3KSxvPXMoMTUwMTUwKTtjb25zdCByPXt9O2Z1bmN0aW9uIGEoZT0iZnVsbCIpe3JldHVybiByW2VdfHxmdW5jdGlvbihlPSJmdWxsIix0KXtyW2VdPXR9KGUsbmV3IG4uUXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXIoe25hbWU6ZSxhcGk6d2luZG93LkNoYXJ0QXBpSW5zdGFuY2UsZmllbGRzOmRbZV0sZXh0ZW5zaW9uczp7Zm9ybWF0dGVyOmU9Pm5ldyB1KGUpLmZvcm1hdHRlcixzbmFwc2hvdDplPT5uZXcgYyhlKS5zbmFwc2hvdH19KSkscltlXX1jb25zdCBkPXtzaW1wbGU6WyJiYXNlLWN1cnJlbmN5LWxvZ29pZCIsImxvZ28iLCJjaCIsImNocCIsImN1cnJlbmN5LWxvZ29pZCIsImN1cnJlbmN5X2NvZGUiLCJjdXJyZW5jeV9pZCIsImJhc2VfY3VycmVuY3lfaWQiLCJjdXJyZW50X3Nlc3Npb24iLCJkZXNjcmlwdGlvbiIsImV4Y2hhbmdlIiwiZm9ybWF0IiwiZnJhY3Rpb25hbCIsImlzX3RyYWRhYmxlIiwibGFuZ3VhZ2UiLCJsb2NhbF9kZXNjcmlwdGlvbiIsImxpc3RlZF9leGNoYW5nZSIsImxvZ29pZCIsImxwIiwibHBfdGltZSIsIm1pbm1vdiIsIm1pbm1vdmUyIiwib3JpZ2luYWxfbmFtZSIsInByaWNlc2NhbGUiLCJwcm9fbmFtZSIsInNob3J0X25hbWUiLCJ0eXBlIiwidHlwZXNwZWNzIiwidXBkYXRlX21vZGUiLCJ2b2x1bWUiLCJ2YXJpYWJsZV90aWNrX3NpemUiLCJ2YWx1ZV91bml0X2lkIiwidW5pdF9pZCIsIm1lYXN1cmUiXX07ZC5zaW1wbGVEZXRhaWxlZD1bLi4uZC5zaW1wbGUsImFzayIsImJpZCIsImZ1bmRhbWVudGFscyIsImhpZ2hfcHJpY2UiLCJpc190cmFkYWJsZSIsImxvd19wcmljZSIsIm9wZW5fcHJpY2UiLCJwcmV2X2Nsb3NlX3ByaWNlIiwicmNoIiwicmNocCIsInJ0YyIsInJ0Y190aW1lIiwic3RhdHVzIiwiYmFzaWNfZXBzX25ldF9pbmNvbWUiLCJiZXRhXzFfeWVhciIsImVhcm5pbmdzX3Blcl9zaGFyZV9iYXNpY190dG0iLCJpbmR1c3RyeSIsIm1hcmtldF9jYXBfYmFzaWMiLCJwcmljZV9lYXJuaW5nc190dG0iLCJzZWN0b3IiLCJ2b2x1bWUiLCJkaXZpZGVuZHNfeWllbGQiLCJ0aW1lem9uZSJdLGQuZnVsbD1bXSxkLndhdGNobGlzdD1bLi4uZC5zaW1wbGUsInJjaHAiLCJuY2hwIiwicnRjIiwiY291bnRyeV9jb2RlIiwicHJvdmlkZXJfaWQiLCJkaXZpZGVuZHNfYXZhaWxhYmlsaXR5IiwiZmluYW5jaWFsc19hdmFpbGFiaWxpdHkiLCJlYXJuaW5nc19hdmFpbGFiaWxpdHkiXSwKZC5wb3J0Zm9saW89WyJwcm9fbmFtZSIsInNob3J0X25hbWUiLCJleGNoYW5nZSIsImxpc3RlZF9leGNoYW5nZSIsImRlc2NyaXB0aW9uIiwibG9jYWxfZGVzY3JpcHRpb24iLCJsYW5ndWFnZSIsInNlY3RvciIsInR5cGUiLCJ0eXBlc3BlY3MiLCJpbmR1c3RyeSIsImN1cnJlbmN5X2NvZGUiLCJjdXJyZW5jeV9pZCIsImNoIiwiY2hwIiwibG9nbyIsImxvZ29pZCIsImN1cnJlbmN5LWxvZ29pZCIsImJhc2UtY3VycmVuY3ktbG9nb2lkIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnEiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZSIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcSIsImxwIiwiZnJhY3Rpb25hbCIsIm1pbm1vdiIsIm1pbm1vdmUyIiwicHJpY2VzY2FsZSIsInZvbHVtZSIsImF2ZXJhZ2Vfdm9sdW1lIiwibWFya2V0X2NhcF9jYWxjIiwibWFya2V0X2NhcF9iYXNpYyIsInRvdGFsX3JldmVudWUiLCJlYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtIiwicHJpY2VfZWFybmluZ3NfdHRtIiwiYmV0YV8xX3llYXIiLCJkcHNfY29tbW9uX3N0b2NrX3ByaW1faXNzdWVfZnkiLCJkaXZpZGVuZHNfeWllbGQiLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIiwicmF0ZXNfbWMiLCJyYXRlc19meSIsInJhdGVzX3R0bSIsImZvcm1hdCIsInZhbHVlX3VuaXRfaWQiLCJ1bml0X2lkIiwibWVhc3VyZSJdLGQubm90ZXM9WyJzaG9ydF9uYW1lIiwicHJvX25hbWUiLCJsb2dvaWQiLCJjdXJyZW5jeS1sb2dvaWQiLCJiYXNlLWN1cnJlbmN5LWxvZ29pZCIsImxvZ28iLCJzeW1ib2wtcHJpbWFyeW5hbWUiLCJ0eXBlIiwidHlwZXNwZWNzIl0sZC5lc3RpbWF0ZXM9WyJmdW5kYW1lbnRhbF9kYXRhIiwidHlwZSIsInR5cGVzcGVjcyIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X3N5bWJvbF9jdXJyZW5jeV9mcSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9hbGlnbmVkX2RhdGUiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfY2FsZW5kYXJfZGF0ZSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlIl0sZC5lY29ub21pYz1bInJlZmVyZW5jZS1sYXN0LXBlcmlvZCIsImxwIiwiY3VycmVuY3lfY29kZSIsInZhbHVlX3VuaXRfaWQiLCJ1bml0X2lkIiwibWVhc3VyZSJdLGQub3B0aW9ucz1bImFzayIsImJpZCIsImxwIiwidm9sdW1lIiwiY2giLCJjaHAiXTtjbGFzcyB1e2NvbnN0cnVjdG9yKGUpe3RoaXMuX2Zvcm1hdHRlclZhbHVlc0NhY2hlPXt9LHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzPXt9LHRoaXMuZm9ybWF0dGVyPShlLHQpPT57aWYodGhpcy5fd2FpdGluZ0ZvckZvcm1hdHRlcnNbZV0pcmV0dXJuIHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzW2VdO2Z1bmN0aW9uIHMoZSl7Y29uc3Qgcz10JiYhZS5mcmFjdGlvbmFsPzE6ZS5taW5tb3Y7cmV0dXJuIG5ldyBpLlByaWNlRm9ybWF0dGVyKHtwcmljZVNjYWxlOmUucHJpY2VzY2FsZSxtaW5Nb3ZlOnMsZnJhY3Rpb25hbDplLmZyYWN0aW9uYWwsbWluTW92ZTI6ZS5taW5tb3ZlMn0pfWNvbnN0IG49bmV3IFByb21pc2UoKCh0LG4pPT57aWYodGhpcy5fZm9ybWF0dGVyVmFsdWVzQ2FjaGVbZV0pdChzKHRoaXMuX2Zvcm1hdHRlclZhbHVlc0NhY2hlW2VdKSk7ZWxzZXtjb25zdCBpPSgwLG8uZ3VpZCkoKTt0aGlzLl9tdWx0aXBsZXhlci5zdWJzY3JpYmUoaSxbZV0sKG89PnsiZXJyb3IiPT09by5zdGF0dXMmJih0aGlzLl93YWl0aW5nRm9yRm9ybWF0dGVyc1tlXT1udWxsLG4oIlF1b3RlcyBzbmFwc2hvdCBpcyBub3QgcmVjZWl2ZWQiKSksZnVuY3Rpb24oZSl7cmV0dXJuIGUmJm51bGwhPWUucHJpY2VzY2FsZSYmbnVsbCE9ZS5taW5tb3Z9KG8udmFsdWVzKSYmKHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzW2VdPW51bGwsdGhpcy5fZm9ybWF0dGVyVmFsdWVzQ2FjaGVbZV09by52YWx1ZXMsdChzKG8udmFsdWVzKSksdGhpcy5fbXVsdGlwbGV4ZXIudW5zdWJzY3JpYmUoaSxlKSl9KSl9fSkpO3JldHVybiB0aGlzLl93YWl0aW5nRm9yRm9ybWF0dGVyc1tlXT1uLG59LHRoaXMuX211bHRpcGxleGVyPWV9fWNsYXNzIGN7Y29uc3RydWN0b3IoZSl7dGhpcy5fc25hcHNob3RWYWx1ZXNDYWNoZT17fSx0aGlzLl93YWl0aW5nRm9yU25hcHNob3Q9e30sdGhpcy5zbmFwc2hvdD1lPT57aWYodGhpcy5fd2FpdGluZ0ZvclNuYXBzaG90W2VdKXJldHVybiB0aGlzLl93YWl0aW5nRm9yU25hcHNob3RbZV07Y29uc3QgdD1uZXcgUHJvbWlzZSgoKHQscyk9PntpZih0aGlzLl9zbmFwc2hvdFZhbHVlc0NhY2hlW2VdKXQodGhpcy5fc25hcHNob3RWYWx1ZXNDYWNoZVtlXSk7ZWxzZXtjb25zdCBuPSgwLG8uZ3VpZCkoKTt0aGlzLl9tdWx0aXBsZXhlci5zdWJzY3JpYmUobixbZV0sKGk9PnsiZXJyb3IiPT09aS5zdGF0dXMmJih0aGlzLl93YWl0aW5nRm9yU25hcHNob3RbZV09bnVsbCxzKCJRdW90ZXMgc25hcHNob3QgaXMgbm90IHJlY2VpdmVkIikpO2NvbnN0IG89aS52YWx1ZXM7byYmby5taW5tb3YmJm8ucHJpY2VzY2FsZSYmby5kZXNjcmlwdGlvbiYmKHRoaXMuX3dhaXRpbmdGb3JTbmFwc2hvdFtlXT1udWxsLHRoaXMuX3NuYXBzaG90VmFsdWVzQ2FjaGVbZV09byx0KG8pLHRoaXMuX211bHRpcGxleGVyLnVuc3Vic2NyaWJlKG4sZSkpfSkpfX0pKTtyZXR1cm4gdGhpcy5fd2FpdGluZ0ZvclNuYXBzaG90W2VdPXQsdH0sdGhpcy5fbXVsdGlwbGV4ZXI9ZX19InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJih3aW5kb3cuZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2U9YSl9LDUzNTMwKGUsdCxzKXtzLmQodCx7Z2V0TWluVGlja0RhdGE6KCk9PmQsbWFrZVZhcmlhYmxlTWluVGlja0RhdGE6KCk9PmN9KTt2YXIgbj1zKDcxMjc0NSksaT1zKDYwMTg0MSksbz1zKDUzNDQ0MCkscj1zKDY0MDc0NCk7ZnVuY3Rpb24gYShlKXtyZXR1cm4gZT8oMCxuLkJpZykoZS5taW5Nb3ZlKS5kaXYoZS5wcmljZVNjYWxlKS50b051bWJlcigpOk5hTn1mdW5jdGlvbiBkKGUpe2NvbnN0e21pblRpY2s6dCxwcmljZTpzLHZhcmlhYmxlTWluVGlja0RhdGE6bixzaG91bGRDaGVja0ZvckVxdWFsaXR5Om99PWUscj0oMCwKaS5pc051bWJlcikodCk/dSh0KTp0O3JldHVybiB2b2lkIDA9PT1uP3I6ZnVuY3Rpb24oZSx0LHM9ITEpe2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKXtpZihlPHRbbl0ucHJpY2UpcmV0dXJuIHRbbl0ubWluVGljaztpZihzJiZlPT09dFtuXS5wcmljZSlyZXR1cm4gdFtuXS5taW5UaWNrfXJldHVybiB0W3QubGVuZ3RoLTFdLm1pblRpY2t9KHMsbixvKX1mdW5jdGlvbiB1KGUpe2NvbnN0IHQ9KDAsby5udW1PZkRlY2ltYWxQbGFjZXMpKGUpLHM9TWF0aC5wb3coMTAsdCk7cmV0dXJue3ByaWNlU2NhbGU6cyxtaW5Nb3ZlOigwLG4uQmlnKShlKS5tdWwocykudG9OdW1iZXIoKX19ZnVuY3Rpb24gYyhlLHQpe2NvbnN0IHM9W3ttaW5UaWNrOigwLGkuaXNOdW1iZXIpKGUpP3UoZSk6ZSxwcmljZToxLzAsbWF4SW5kZXg6MS8wfV07dHJ5e2NvbnN0IGU9dC5zcGxpdCgiICIpLm1hcCgoKGUsdCk9PigwLHIuaXNFdmVuKSh0KT9mdW5jdGlvbihlKXtjb25zdCB0PU51bWJlcihlKTtpZihOdW1iZXIuaXNGaW5pdGUodCkpcmV0dXJuIHUodCk7e2NvbnN0IHQ9ZS5zcGxpdCgiLyIpO2lmKHQubGVuZ3RoPDJ8fHQubGVuZ3RoPjMpdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIG1pbnRpY2s6ICR7ZX1gKTtjb25zdCBzPU51bWJlcih0WzFdKSxuPU51bWJlcih0WzBdKTtpZighTnVtYmVyLmlzRmluaXRlKHMpfHwhTnVtYmVyLmlzRmluaXRlKG4pKXRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBtaW50aWNrOiAke2V9YCk7Y29uc3QgaT0zPT09dC5sZW5ndGg/TnVtYmVyKHRbMl0pOnZvaWQgMDtpZih2b2lkIDAhPT1pJiYhTnVtYmVyLmlzRmluaXRlKGkpKXRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBtaW50aWNrOiAke2V9YCk7Y29uc3Qgbz17cHJpY2VTY2FsZTpzLG1pbk1vdmU6bn07cmV0dXJuIHZvaWQgMCE9PWkmJihvLm1pbk1vdmUyPWkpLG99fShlKTpmdW5jdGlvbihlKXtjb25zdCB0PU51bWJlcihlKTtpZihOdW1iZXIuaXNOYU4odCkpdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIHByaWNlIGxpbWl0OiAke2V9YCk7cmV0dXJuIHR9KGUpKSk7aWYoKDAsci5pc0V2ZW4pKGUubGVuZ3RoKSl0aHJvdyBuZXcgRXJyb3IoIlRoZW1lIG11c3Qgbm90IGJlIGV2ZW50IG51bWJlciBvZiBlbGVtZW50cyIpO2NvbnN0IHM9W107Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kz0yKXtjb25zdCBpPWVbdCsxXT8/MS8wLG89c1tzLmxlbmd0aC0xXT8ucHJpY2U/PzAscj1zW3MubGVuZ3RoLTFdPy5tYXhJbmRleD8/MCxkPWk9PT0xLzA/MS8wOm5ldyBuLkJpZyhpKS5taW51cyhvKS5kaXYoYShlW3RdKSkucGx1cyhyKS50b051bWJlcigpO3MucHVzaCh7bWluVGljazplW3RdLHByaWNlOmksbWF4SW5kZXg6ZH0pfXJldHVybiBzfWNhdGNoe3JldHVybiBzfX19LDgyMjQzMShlLHQscyl7cy5kKHQse251bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvOigpPT5pfSk7dmFyIG49cyg2MDE4NDEpO2Z1bmN0aW9uIGkoZSx0KXtpZighKDAsbi5pc051bWJlcikoZSkpcmV0dXJuIm4vYSI7aWYoISgwLG4uaXNJbnRlZ2VyKSh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGxlbmd0aCIpO2lmKHQ8MHx8dD4yNCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGxlbmd0aCIpO2lmKDA9PT10KXJldHVybiBlLnRvU3RyaW5nKCk7cmV0dXJuKCIwMDAwMDAwMDAwMDAwMDAwMDAwMCIrZS50b1N0cmluZygpKS5zbGljZSgtdCl9fSwzNjc5NDYoZSx0LHMpe2Z1bmN0aW9uIG4oZSl7Y29uc3QgdD1mdW5jdGlvbihlKXtpZih2b2lkIDA9PT1lKXJldHVybiBudWxsO2NvbnN0IHQ9ZS5tYXRjaCgvKGRlbGF5ZWRfc3RyZWFtaW5nKV8oXGQrKS8pO3JldHVybiBudWxsPT09dD9udWxsOnttb2RlOnRbMV0saW50ZXJ2YWw6cGFyc2VJbnQodFsyXSl9fShlLnVwZGF0ZV9tb2RlKTtyZXR1cm4gbnVsbD09PXR8fChlLnVwZGF0ZV9tb2RlPXQubW9kZSxlLnVwZGF0ZV9tb2RlX3NlY29uZHM9dC5pbnRlcnZhbCksZX1zLmQodCx7bm9ybWFsaXplVXBkYXRlTW9kZTooKT0+bn0pfSw3MjI1NzEoZSx0LHMpe3ZhciBuPXMoMjAzNjgxKSxpPXMoNTQ3ODUxKSxvPXMoMjA2NjczKSxyPXMoMzA0MjIxKSxhPXMoODE3MzUwKSxkPXMoMTM4NjM4KSx1PXMoNjAxODQxKSxjPXMoMjMyMzY0KSxsPXMoMjIxMDYxKSxoPXMoNzgwOTc1KSxfPXMoNzczMDg4KSxtPXMoOTMwMjMxKSxmPXMoNjA2MTApLHA9cyg0MDM2KSxnPXMoNTIxMzMzKSx5PXMoMjE3NTI3KSxiPXMoNzQ2OTQ5KSx3PXMoNjYxODU4KSxDPXMoMzg0MDE3KSxrPXMoODg5NTE1KSx2PXMoNzY4NzYwKSxTPXMoNTg5NzQ5KSxNPXMoMTE2MzEwKSxSPXMoNDc5MzQpLFQ9cyg1NjkzOTgpLHE9cyg4NjIyMTMpLE49cygxMTczMTMpLEQ9cygxNTY4NTApLEk9cyg2NDA3NDQpLFA9cyg3ODMzNDApLEU9cyg5MzAwNDUpLEY9cyg0NjM0NDcpO2NvbnN0IHg9KDAsbC5nZXRMb2dnZXIpKCJDaGFydC5TdHVkaWVzLlN0dWR5TWV0YUluZm9SZXBvc2l0b3J5Iix7Y29sb3I6IiM2MDYifSksSD0oMCxsLmdldExvZ2dlcikoIkNoYXJ0QXBpLlRyYWZmaWNNZXRlciIse21heENvdW50OjIwLGNvbG9yOiIjMjY4In0pLEE9KDAsbC5nZXRMb2dnZXIpKCJDaGFydEFwaS5Db3JlIix7Y29sb3I6IiM3MDYifSksQj0oMCxsLmdldExvZ2dlcikoIkNoYXJ0QXBpLkNoYXJ0U2Vzc2lvbiIse2NvbG9yOiIjNzA2In0pLEw9KDAsbC5nZXRMb2dnZXIpKCJDaGFydEFwaS5DaGFydFNlc3Npb24iLHtoaWdoUmF0ZTohMCxtYXhDb3VudDoxMDAsY29sb3I6IiM3MDYifSksTz0oMCxsLmdldExvZ2dlcikoIkNoYXJ0QXBpLkNoYXJ0U2Vzc2lvbiIse21heENvdW50OjAsY29sb3I6IiM3MDYifSksUT0oMCxsLmdldExvZ2dlcikoIkNoYXJ0QXBpLkNoYXJ0U2Vzc2lvbiIse21heENvdW50OjUwLGNvbG9yOiIjNzA2In0pLFY9KDAsbC5nZXRMb2dnZXIpKCJDaGFydEFwaS5RdW90ZVNlc3Npb24iLHttYXhDb3VudDo1MCxjb2xvcjoiIzY2MCJ9KSwkPSgwLGwuZ2V0TG9nZ2VyKSgiQ2hhcnRBcGkuUXVvdGVTZXNzaW9uIix7aGlnaFJhdGU6ITAsbWF4Q291bnQ6MTAsY29sb3I6IiM2NjAifSksVT0hKDAsCk4uaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKSxXPSgwLFQuaXNGZWF0dXJlRW5hYmxlZCkoImJyb2tlcl9pZF9zZXNzaW9uIiksaj0oMCxULmlzRmVhdHVyZUVuYWJsZWQpKCJjaGVja19hdXRoX3Rva2VuX2V4cGlyYXRpb25fb25fZXZlcnlfcmVxdWVzdCIpO2xldCB6PSExLEo9ITEsRz0hMTtjb25zdCBZPVsiIiwiS0IiLCJNQiIsIkdCIiwiVEIiXTtmdW5jdGlvbiBLKGUpe2lmKDA9PT1lKXJldHVybiIwIjtjb25zdCB0PSgwLEkudG9JbnQpKE1hdGguZmxvb3IoTWF0aC5sb2coZSkvTWF0aC5sb2coMTAyNCkpKTtyZXR1cm4oZS9NYXRoLnBvdygxMDI0LHQpKS50b0ZpeGVkKDIpK1lbdF19ZnVuY3Rpb24gWihlLHQpe3JldHVybmAke2V9X18ke3R9YH1mdW5jdGlvbiBYKGUsdCxzKXtjb25zdCBuPXRbc10/PzA7dFtzXT1uK2V9Y29uc3QgZWU9WC5iaW5kKG51bGwsMSksdGU9WC5iaW5kKG51bGwsLTEpLHNlPSgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpPyJzdHVkaWVzX21ldGFkYXRhX3dpZGdldCI6InN0dWRpZXNfbWV0YWRhdGEiLG5lPSIvY2hhcnQtYXBpL3Byb19oYXNoIixpZT0oMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKT8iL2NoYXJ0LWFwaS9zdHVkaWVzX21ldGFkYXRhX3dpZGdldCI6Ii9jaGFydC1hcGkvc3R1ZGllc19tZXRhZGF0YSI7bGV0IG9lPW51bGw7ZnVuY3Rpb24gcmUoKXtpZihudWxsPT09b2Upe2NvbnN0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignbGlua1tyZWx+PSJjb252ZXJzaW9ucy1jb25maWciXScpLHQ9bmV3IFVSTCgoMCxkLmVuc3VyZU5vdE51bGwpKGUpLmhyZWYpO29lPSgwLEMuZmV0Y2gpKHQudG9TdHJpbmcoKSx7bWV0aG9kOiJHRVQifSkudGhlbigoZT0+e2lmKCFlLm9rKXRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIGxvYWQgY29udmVyc2lvbnMgY29uZmlnIGZyb20gJHtlLnVybH0gd2l0aCBzdGF0dXMgJHtlLnN0YXR1c30gYW5kIHN0YXR1c1RleHQgJHtlLnN0YXR1c1RleHR9LmApO3JldHVybiBlLmpzb24oKX0pKS50aGVuKChlPT57Y29uc3QgdD0oMCxxLmdldExvZ29VcmxSZXNvbHZlcikoKTtyZXR1cm4gZS5jdXJyZW5jaWVzLmZvckVhY2goKGU9Pnt2b2lkIDAhPT1lLmxvZ29pZCYmKGUubG9nb1VybD10LmdldFN5bWJvbExvZ29VcmwoZS5sb2dvaWQscS5Mb2dvU2l6ZS5NZWRpdW0pKX0pKSxlfSkpfXJldHVybiBvZX1sZXQgYWU9bnVsbDtjbGFzcyBkZXtjb25zdHJ1Y3RvcihlKXt0aGlzLnNlc3Npb25pZD1udWxsLHRoaXMuX2JhbkluZm89bmV3IGMuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2lzQXV0aFRva2VuTG9hZGVkPSExLHRoaXMuX2F1dGhUb2tlbkRmZD1udWxsLHRoaXMuX3NlcnZlclRpbWVCYXNlUG9pbnQ9RGF0ZS5ub3coKS1wZXJmb3JtYW5jZS5ub3coKSx0aGlzLl9pbml0Q2FjaGVQcm9taXNlPSgwLE0uY3JlYXRlSnNvblNlcmlhbGl6YWJsZUNhY2hlKSgiVFZDaGFydEFwaSIpLHRoaXMuX3RyYWZmaWNTdGF0cz17dG90YWw6MCxzaW5jZUNvbm5lY3Q6MCxsYXN0Q2h1bms6MH0sdGhpcy5fbG93UXVhbGl0eUVuYWJsZWQ9ITEsdGhpcy5fYnJva2VySWQ9IiIsdGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnQ9MCx0aGlzLl9tb2RpZnlTdHVkeU1hcD1uZXcgTWFwLHRoaXMuX2Rpc2Nvbm5lY3RDb3VudD0wLHRoaXMuX2lzQ29ubmVjdGVkPSExLHRoaXMuX21ldGFkYXRhRGVmZXJyZWRQcm9taXNlPW51bGwsdGhpcy5fZGF0YUhhbmRsZU1vZHVsZT1uZXcgRS5KU09ORGF0YUhhbmRsZXIsdGhpcy5fc2Vzc2lvbnM9e30sdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnM9e30sdGhpcy5fcGVuZGluZ01lc3NhZ2VzUXVldWU9W10sdGhpcy5fbG9hZE5ld0JhcnM9ITEsdGhpcy5fbWV0YWRhdGFSZXF1ZXN0TmV4dE51bWJlcj0xLHRoaXMuX2Z1bmRhbWVudGFsQ291bnRlcj17fSx0aGlzLl9zdHVkeUNvdW50ZXI9e30sdGhpcy5fY2hpbGRTdHVkeUNvdW50ZXI9e30sdGhpcy5fc3R1ZHlTcGVjcz1uZXcgTWFwLHRoaXMuX2Nvbm5lY3Rpb25zTGltaXRSZWFjaGVkPW5ldyBjLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fc2VudE1ldGhvZHNDb3VudGVycz1uZXcgTWFwLHRoaXMuX3JlY2VpdmVkTWV0aG9kc0NvdW50ZXJzPW5ldyBNYXAsdGhpcy5fcmVxdWVzdERhdGFQcm9ibGVtc1Byb21pc2U9bnVsbCx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uPWUsdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5vblJlY29ubmVjdCh0aGlzLl9iaW5kU29ja2V0RXZlbnRzLmJpbmQodGhpcykpLHRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uc2V0TG9nZ2VyKEEsbC5nZXRMb2dIaXN0b3J5KSx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLnNldFRlbGVtZXRyeShELnRlbGVtZXRyeSksdGhpcy5fYmluZFNvY2tldEV2ZW50cygpLHRoaXMuX2lzTm9uQ291bnRlZFN0dWR5PSgpPT4hMCx3aW5kb3c/LlRyYWRpbmdWaWV3Py5vbkNoYXJ0UGFnZXx8dGhpcy5fZW5hYmxlTG93UXVhbGl0eU1vZGUoKSxzZXRJbnRlcnZhbCgoKCk9PntILmxvZ05vcm1hbCgiTGFzdCAzMCBzZWNvbmRzOiIrSyh0aGlzLl90cmFmZmljU3RhdHMubGFzdENodW5rKSsiIFNpbmNlIGxhc3QgY29ubmVjdDoiK0sodGhpcy5fdHJhZmZpY1N0YXRzLnNpbmNlQ29ubmVjdCkrIiBUb3RhbCB0cmFmZmljOiIrSyh0aGlzLl90cmFmZmljU3RhdHMudG90YWwpKSx0aGlzLl90cmFmZmljU3RhdHMubGFzdENodW5rPTB9KSwzZTQpLHRoaXMuX2Nvbm5lY3Rpb25zTGltaXRSZWFjaGVkLnN1YnNjcmliZSgoZT0+e2UmJnRoaXMuZGlzY29ubmVjdCgpfSkpfWNvbm5lY3QoZSl7dGhpcy5fY29ubmVjdE9ubHlPcHRpb25zPWUsdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5pc0Nvbm5lY3RlZCgpfHx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLmlzQ29ubmVjdGluZygpfHx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLmNvbm5lY3QoKX1kaXNjb25uZWN0KCl7dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5kaXNjb25uZWN0KCl9c2VudE1ldGhvZHNDb3VudGVycygpe3JldHVybiB0aGlzLl9zZW50TWV0aG9kc0NvdW50ZXJzfXJlY2VpdmVkTWV0aG9kc0NvdW50ZXJzKCl7CnJldHVybiB0aGlzLl9yZWNlaXZlZE1ldGhvZHNDb3VudGVyc31kZWZhdWx0UmVzb2x1dGlvbnMoKXtyZXR1cm4oMCxnLmdldERlZmF1bHRSZXNvbHV0aW9ucykoKX1hdmFpbGFibGVDdXJyZW5jaWVzKCl7cmV0dXJuIHJlKCkudGhlbigoZT0+ZS5jdXJyZW5jaWVzKSl9YXZhaWxhYmxlVW5pdHMoKXtyZXR1cm4gcmUoKS50aGVuKChlPT57Y29uc3QgdD17fTtmb3IoY29uc3QgcyBvZiBlLnVuaXRzKXRbcy50eXBlXXx8KHRbcy50eXBlXT1bXSksdFtzLnR5cGVdLnB1c2gocyk7cmV0dXJuIHR9KSl9YXN5bmMgYXZhaWxhYmxlTWV0cmljcygpe3JldHVybiBmdW5jdGlvbigpe2lmKG51bGw9PT1hZSl7Y29uc3QgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdsaW5rW3JlbH49Im1ldHJpY3MtY29uZmlnIl0nKSx0PW5ldyBVUkwoKDAsZC5lbnN1cmVOb3ROdWxsKShlKS5ocmVmKTthZT0oMCxDLmZldGNoKSh0LnRvU3RyaW5nKCkse21ldGhvZDoiR0VUIn0pLnRoZW4oKGFzeW5jIGU9PntpZighZS5vayl0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBsb2FkIG1ldHJpY3MgY29uZmlnIGZyb20gJHtlLnVybH0gd2l0aCBzdGF0dXMgJHtlLnN0YXR1c30gYW5kIHN0YXR1c1RleHQgJHtlLnN0YXR1c1RleHR9LmApO2NvbnN0IHQ9YXdhaXQgZS5qc29uKCk7cmV0dXJuIHQubWV0cmljc19mdWxsX25hbWU/LmZvckVhY2goKGU9Pntjb25zdCBzPXQubWV0cmljcy5maW5kKCh0PT50LmlkPT09ZS5pZCkpO3MmJihzLmRlc2NyaXB0aW9uPWUubmFtZSl9KSksdH0pKX1yZXR1cm4gYWV9KCkudGhlbigoZT0+ZS5tZXRyaWNzKSl9YXZhaWxhYmxlUHJpY2VTb3VyY2VzKCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSl9c3VwcG9ydGVkU3ltYm9sc1R5cGVzKCl7Y29uc3QgZT13aW5kb3cuVHJhZGluZ1ZpZXc/LndpZGdldEN1c3RvbWVyPz8iIjtyZXR1cm4iYm92ZXNwYSI9PT1lP3cuZmlsdGVyKChlPT5bIiIsInN0b2NrIiwiZnV0dXJlcyIsImluZGV4Il0uaW5jbHVkZXMoZS52YWx1ZSkpKToiY21lIj09PWU/dy5maWx0ZXIoKGU9PmUudmFsdWUhPT15LnR5cGVzLlFVQU5ETCkpOnd9c3ltYm9sc0dyb3VwaW5nKCl7cmV0dXJue2Z1dHVyZXM6L14oLis/KShbMTJdIXxcd1xkezR9KT8kL319Y29ubmVjdGVkKCl7cmV0dXJuISF0aGlzLl9pc0Nvbm5lY3RlZH1hdXRoVG9rZW5NYW5hZ2VyKCl7cmV0dXJuKDAsZC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9hdXRoVG9rZW5NYW5hZ2VyKX1jcmVhdGVTZXNzaW9uKGUsdCl7dGhpcy5fc2Vzc2lvbnNbZV09dCx0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXT17fSx0aGlzLmNvbm5lY3RlZCgpJiZ0aGlzLl9pc0F1dGhUb2tlbkxvYWRlZCYmdC5vbk1lc3NhZ2Uoe21ldGhvZDpoLkNoYXJ0QXBpTWVzc2FnZU1ldGhvZC5Db25uZWN0ZWQscGFyYW1zOltdfSl9cmVtb3ZlU2Vzc2lvbihlKXtkZWxldGUgdGhpcy5fc2Vzc2lvbnNbZV0sZGVsZXRlIHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdfWRpc2Nvbm5lY3RDb3VudCgpe3JldHVybiB0aGlzLl9kaXNjb25uZWN0Q291bnR8fDB9Z2V0UGluZ0luZm8oKXtyZXR1cm4gdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5nZXRQaW5nSW5mbygpfWNvbm5lY3Rpb25CYW5JbmZvKCl7cmV0dXJuIHRoaXMuX2JhbkluZm8ucmVhZG9ubHkoKX1jb25uZWN0aW9uc0xpbWl0UmVhY2hlZCgpe3JldHVybiB0aGlzLl9jb25uZWN0aW9uc0xpbWl0UmVhY2hlZC5yZWFkb25seSgpfXNlcnZlclRpbWUoKXtyZXR1cm4gTWF0aC5yb3VuZCh0aGlzLl9zZXJ2ZXJUaW1lQmFzZVBvaW50K3BlcmZvcm1hbmNlLm5vdygpKX1jb21wZW5zYXRlQ29ubmVjdGlvbkxhZyhlKXtjb25zdCB0PXRoaXMuc2VydmVyVGltZSgpLHM9TWF0aC5mbG9vcihlLXQpO3M+MCYmKHRoaXMuX3NlcnZlclRpbWVCYXNlUG9pbnQrPXMpfXNldEJyb2tlcihlKXtyZXR1cm4gZT09PXRoaXMuX2Jyb2tlcklkfHwodGhpcy5fYnJva2VySWQ9ZSx0aGlzLl9zZW5kQnJva2VySWRUb1Nlc3Npb24odGhpcy5fYnJva2VySWQpKX1jaGFydENyZWF0ZVNlc3Npb24oZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoImNoYXJ0X2NyZWF0ZV9zZXNzaW9uIixbZSx0XSl9Y2hhcnREZWxldGVTZXNzaW9uKGUpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiY2hhcnRfZGVsZXRlX3Nlc3Npb24iLFtlXSl9c3dpdGNoVGltZXpvbmUoZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInN3aXRjaF90aW1lem9uZSIsW2UsdF0pfXJlc29sdmVTeW1ib2woZSx0LHMsbil7cmV0dXJuIEQudGVsZW1ldHJ5LnRpbWVDb3VudGVycy5zZXJpZXNbInJlc29sdmVfc3ltYm9sXyIrZV09d2luZG93LnBlcmZvcm1hbmNlLm5vdygpLHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdPW5ldyBGLkhhbmRsZXJJbmZvKG4sdCwhMCksdGhpcy5fc2VuZFJlcXVlc3QoInJlc29sdmVfc3ltYm9sIixbZSx0LHNdKX1yZXF1ZXN0Rmlyc3RCYXJUaW1lKGUsdCxzLG4pe3JldHVybiB0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgRi5IYW5kbGVySW5mbyhuLHQsITApLHRoaXMuX3NlbmRSZXF1ZXN0KCJnZXRfZmlyc3RfYmFyX3RpbWUiLFtlLHQsc10pfWNyZWF0ZVNlcmllcyhlLHQscyxuLGksbyxyLGEpe0QudGVsZW1ldHJ5LnRpbWVDb3VudGVycy5zZXJpZXMubWFya3MucHVzaCgiY3JlYXRlX3Nlcmllc18iK2UpLHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdPW5ldyBGLkhhbmRsZXJJbmZvKGEsdCk7Y29uc3QgZD1udWxsPT09cj8iIjooMCxfLmNvbnZlcnRUaW1lRnJhbWVUb1N0cikociwhMCk7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJjcmVhdGVfc2VyaWVzIixbZSx0LHMsbixpLG8sZF0pfXJlbW92ZVNlcmllcyhlLHQpe3JldHVybiBkZWxldGUgdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF0sdGhpcy5fc2VuZFJlcXVlc3QoInJlbW92ZV9zZXJpZXMiLFtlLHRdKX1tb2RpZnlTZXJpZXMoZSx0LHMsbixpLG8scixhKXt0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgRi5IYW5kbGVySW5mbyhhLHQpO2NvbnN0IGQ9bnVsbD09PXI/IiI6KDAsCl8uY29udmVydFRpbWVGcmFtZVRvU3RyKShyLCEwKTtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoIm1vZGlmeV9zZXJpZXMiLFtlLHQscyxuLGksZF0pfWdldFN0dWR5Q291bnRlcihlKXtyZXR1cm4gdGhpcy5fc3R1ZHlDb3VudGVyW2VdPz8wfWdldEZ1bmRhbWVudGFsQ291bnRlcihlKXtyZXR1cm4gdGhpcy5fZnVuZGFtZW50YWxDb3VudGVyW2VdPz8wfWdldENoaWxkU3R1ZHlDb3VudGVyKGUpe3JldHVybiB0aGlzLl9jaGlsZFN0dWR5Q291bnRlcltlXT8/MH1yZXF1ZXN0TW9yZURhdGEoZSx0LHMsbil7aWYodm9pZCAwPT09c3x8dm9pZCAwPT09bil0aHJvdyBuZXcgRXJyb3IoInVuc3VwcG9ydGVkIHJlcXVlc3QgdG8gbG9hZCBtb3JlIGRhdGEsIGJhcnM9IitzKTtjb25zdCBpPXQ7cmV0dXJuIHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW2ldPW5ldyBGLkhhbmRsZXJJbmZvKG4saSksdGhpcy5fc2VuZFJlcXVlc3QoInJlcXVlc3RfbW9yZV9kYXRhIixbZSxpLHNdKX1yZXF1ZXN0TW9yZVRpY2ttYXJrcyhlLHQscyxuKXtyZXR1cm4gbiYmKHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdPW5ldyBGLkhhbmRsZXJJbmZvKG4sdCkpLHRoaXMuX3NlbmRSZXF1ZXN0KCJyZXF1ZXN0X21vcmVfdGlja21hcmtzIixbZSx0LHNdKX1zZXRGdXR1cmVUaWNrbWFya3NNb2RlKGUsdCl7dGhpcy5fc2VuZFJlcXVlc3QoInNldF9mdXR1cmVfdGlja21hcmtzX21vZGUiLFtlLHRdKX1yZXF1ZXN0RGF0YVByb2JsZW1zKCl7cmV0dXJuIHRoaXMuX3JlcXVlc3REYXRhUHJvYmxlbXNQcm9taXNlfHwodGhpcy5fcmVxdWVzdERhdGFQcm9ibGVtc1Byb21pc2U9dGhpcy5jb25uZWN0RGZkLnRoZW4oKCgpPT5uZXcgUHJvbWlzZSgoKGUsdCk9Pnt0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VFcnJiYWNrPXQsdGhpcy5fc2VuZFJlcXVlc3QoInJlcXVlc3RfZGF0YV9wcm9ibGVtcyIsW10pP3RoaXMuX29uRGF0YVByb2JsZW1zUHJvbWlzZUNiPWU6dCgpfSkpKSkuZmluYWxseSgoKCk9Pnt0aGlzLl9yZXF1ZXN0RGF0YVByb2JsZW1zUHJvbWlzZT1udWxsfSkpKSx0aGlzLl9yZXF1ZXN0RGF0YVByb2JsZW1zUHJvbWlzZX1hc3luYyByZXF1ZXN0TWV0YWRhdGEoKXtyZXR1cm4gbnVsbD09PXRoaXMuX21ldGFkYXRhRGVmZXJyZWRQcm9taXNlJiYodGhpcy5fbWV0YWRhdGFEZWZlcnJlZFByb21pc2U9KDAsdi5jcmVhdGVEZWZlcnJlZFByb21pc2UpKCksdGhpcy5fbWV0YWRhdGFEZWZlcnJlZFByb21pc2UucHJvbWlzZS5maW5hbGx5KCgoKT0+e3RoaXMuX21ldGFkYXRhRGVmZXJyZWRQcm9taXNlPW51bGx9KSksdGhpcy5fcmVxdWVzdE1ldGFkYXRhKCkpLHRoaXMuX21ldGFkYXRhRGVmZXJyZWRQcm9taXNlLnByb21pc2V9YWxsU3R1ZGllc01ldGFkYXRhKCl7dGhyb3cgbmV3IEVycm9yKCJUaGlzIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQiKX1zZXRMb2FkTmV3KGUpe3RoaXMuX2xvYWROZXdCYXJzPSEhZX1zZXRJc05vbkNvdW50ZWRTdHVkeUZuKGUpe3RoaXMuX2lzTm9uQ291bnRlZFN0dWR5PWV9Y2FuQ3JlYXRlU3R1ZHkoZSx0LHMpe2NvbnN0e2lkOm4sY2hpbGQ6aSxmdW5kYW1lbnRhbDpvLGZvcmVjYXN0OnIsc3R1YlRpdGxlOmF9PXQsdT0oMCxkLmVuc3VyZU5vdE51bGwpKCgwLFIuZ2V0Q29uZmlnKSgiU1RVRFlfT05fU1RVRFkiKSkuY2hpbGRfbGltaXQ7aWYoaSYmKCEoMCxSLmVuYWJsZWQpKCJTVFVEWV9PTl9TVFVEWSIpfHwodGhpcy5fY2hpbGRTdHVkeUNvdW50ZXJbZV0/PzApPj11KSlyZXR1cm57c3VjY2VzczohMSxyZWFzb246ImNoaWxkIixsaW1pdFZhbHVlOnV9O2lmKHMpcmV0dXJue3N1Y2Nlc3M6ITB9O2lmKHImJiEoMCxSLmVuYWJsZWQpKCJGVU5EQU1FTlRBTFNfRk9SRUNBU1QiKSlyZXR1cm57c3VjY2VzczohMSxyZWFzb246ImZvcmVjYXN0IixzY3JpcHROYW1lOmF9O2NvbnN0IGM9KDAsZC5lbnN1cmVOb3ROdWxsKSgoMCxSLmdldENvbmZpZykoIkZVTkRBTUVOVEFMU19PTl9DSEFSVCIpKS5saW1pdDtpZihvJiYoISgwLFIuZW5hYmxlZCkoIkZVTkRBTUVOVEFMU19PTl9DSEFSVCIpfHx0aGlzLmdldEZ1bmRhbWVudGFsQ291bnRlcihlKT49YykpcmV0dXJue3N1Y2Nlc3M6ITEscmVhc29uOiJmdW5kYW1lbnRhbCIsbGltaXRWYWx1ZTpjfTtjb25zdCBsPSgwLGQuZW5zdXJlTm90TnVsbCkoKDAsUi5nZXRDb25maWcpKCJJTkRJQ0FUT1JTX09OX0NIQVJUIikpLmxpbWl0O3JldHVybiBvfHx0aGlzLl9pc05vbkNvdW50ZWRTdHVkeShuKXx8KDAsUi5lbmFibGVkKSgiSU5ESUNBVE9SU19PTl9DSEFSVCIpJiYhKHRoaXMuZ2V0U3R1ZHlDb3VudGVyKGUpPj1sKT97c3VjY2VzczohMH06e3N1Y2Nlc3M6ITEscmVhc29uOiJnZW5lcmFsIixsaW1pdFZhbHVlOmx9fWNyZWF0ZVN0dWR5KGUsdCxzLG4saSxvLHIsYSl7Y29uc3QgZD10aGlzLmNhbkNyZWF0ZVN0dWR5KGUsYSk7cmV0dXJuIGQuc3VjY2Vzc3x8ImNoaWxkIiE9PWQucmVhc29uPyh0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgRi5IYW5kbGVySW5mbyhyLHQpLHRoaXMuX3NlbmRSZXF1ZXN0KCJjcmVhdGVfc3R1ZHkiLFtlLHQscyxuLGksb10pLGEuZnVuZGFtZW50YWw/ZWUodGhpcy5fZnVuZGFtZW50YWxDb3VudGVyLGUpOnRoaXMuX2lzTm9uQ291bnRlZFN0dWR5KGEuaWQpfHxlZSh0aGlzLl9zdHVkeUNvdW50ZXIsZSksYS5jaGlsZCYmZWUodGhpcy5fY2hpbGRTdHVkeUNvdW50ZXIsZSksdGhpcy5fc3R1ZHlTcGVjcy5zZXQoWihlLHQpLGEpLCEwKTooKDAsay5zaG93VG9vTWFueVN0dWRpZXNOb3RpY2UpKGQubGltaXRWYWx1ZSksITEpfW1vZGlmeVN0dWR5KGUsdCxzLG4sbyxyKXtYKHI9cj8/MCx0aGlzLl9jaGlsZFN0dWR5Q291bnRlcixlKSwwIT09ciYmKCgwLGQuZW5zdXJlRGVmaW5lZCkodGhpcy5fc3R1ZHlTcGVjcy5nZXQoWihlLHQpKSkuY2hpbGQ9cj4wKSx0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgRi5IYW5kbGVySW5mbyhvLHQpO2NvbnN0IGE9ZSt0O2lmKHRoaXMuX21vZGlmeVN0dWR5TWFwLmhhcyhhKSl7cmV0dXJuKDAsCmQuZW5zdXJlRGVmaW5lZCkodGhpcy5fbW9kaWZ5U3R1ZHlNYXAuZ2V0KGEpKShlLHQscyxuKT8/ITB9e2NvbnN0IG89KDAsaS5kZWZhdWx0KSgoKGUsdCxzLG4pPT50aGlzLl9zZW5kUmVxdWVzdCgibW9kaWZ5X3N0dWR5IixbZSx0LHMsbl0pKSw1MDAse21heFdhaXQ6NTUwfSk7cmV0dXJuIHRoaXMuX21vZGlmeVN0dWR5TWFwLnNldChhLG8pLG8oZSx0LHMsbik/PyEwfX1ub3RpZnlTdHVkeShlLHQscyxuKXtyZXR1cm4gQS5sb2dOb3JtYWwoYFNlbmQgbm90aWZ5X3N0dWR5LCBbJHtlfSwgJHt0fSwgJHtzfSwgJHtKU09OLnN0cmluZ2lmeShuKX1dYCksdGhpcy5fc2VuZFJlcXVlc3QoIm5vdGlmeV9zdHVkeSIsW2UsdCxzLEpTT04uc3RyaW5naWZ5KG4pXSl9cmVtb3ZlU3R1ZHkoZSx0KXtjb25zdCBzPWUrdDtkZWxldGUgdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF0sdGhpcy5fbW9kaWZ5U3R1ZHlNYXAuZ2V0KHMpPy5mbHVzaCgpO2NvbnN0IG49dGhpcy5fc2VuZFJlcXVlc3QoInJlbW92ZV9zdHVkeSIsW2UsdF0pO2lmKCExPT09bilyZXR1cm4hMTt0aGlzLl9tb2RpZnlTdHVkeU1hcC5kZWxldGUocyk7Y29uc3QgaT1aKGUsdCksbz0oMCxkLmVuc3VyZURlZmluZWQpKHRoaXMuX3N0dWR5U3BlY3MuZ2V0KGkpKTtyZXR1cm4gdGhpcy5fc3R1ZHlTcGVjcy5kZWxldGUoaSksby5mdW5kYW1lbnRhbD90ZSh0aGlzLl9mdW5kYW1lbnRhbENvdW50ZXIsZSk6dGhpcy5faXNOb25Db3VudGVkU3R1ZHkoby5pZCl8fHRlKHRoaXMuX3N0dWR5Q291bnRlcixlKSxvLmNoaWxkJiZ0ZSh0aGlzLl9jaGlsZFN0dWR5Q291bnRlcixlKSxufWNyZWF0ZVBvaW50c2V0KGUsdCxzLG4saSxvLHIpe3JldHVybiB0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgRi5IYW5kbGVySW5mbyhyLHQpLHRoaXMuX3NlbmRSZXF1ZXN0KCJjcmVhdGVfcG9pbnRzZXQiLFtlLHQscyxuLGksb10pfW1vZGlmeVBvaW50c2V0KGUsdCxzLG4saSl7cmV0dXJuIHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdPW5ldyBGLkhhbmRsZXJJbmZvKGksdCksdGhpcy5fc2VuZFJlcXVlc3QoIm1vZGlmeV9wb2ludHNldCIsW2UsdCxzLG5dKX1yZW1vdmVQb2ludHNldChlLHQpe3JldHVybiBkZWxldGUgdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF0sdGhpcy5fc2VuZFJlcXVlc3QoInJlbW92ZV9wb2ludHNldCIsW2UsdF0pfWdldE1hcmtzKGUsdCxzLG4saSl7dGhyb3cgRXJyb3IoIlRoaXMgbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZCIpfWdldFRpbWVzY2FsZU1hcmtzKGUsdCxzLG4saSl7dGhyb3cgRXJyb3IoIlRoaXMgbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZCIpfXF1b3RlQ3JlYXRlU2Vzc2lvbihlKXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX2NyZWF0ZV9zZXNzaW9uIixbZV0pfXF1b3RlRGVsZXRlU2Vzc2lvbihlKXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX2RlbGV0ZV9zZXNzaW9uIixbZV0pfXF1b3RlQWRkU3ltYm9scyhlLHQpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgicXVvdGVfYWRkX3N5bWJvbHMiLFtlLHRdKX1xdW90ZVJlbW92ZVN5bWJvbHMoZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX3JlbW92ZV9zeW1ib2xzIixbZSx0XSl9cXVvdGVGYXN0U3ltYm9scyhlLHQpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgicXVvdGVfZmFzdF9zeW1ib2xzIixbZSx0XSl9cXVvdGVTZXRGaWVsZHMoZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX3NldF9maWVsZHMiLFtlLHRdKX1xdW90ZUhpYmVybmF0ZUFsbChlKXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX2hpYmVybmF0ZV9hbGwiLFtlXSl9ZGVwdGhDcmVhdGVTZXNzaW9uKGUsdCxzKXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoImRlcHRoX2NyZWF0ZV9zZXNzaW9uIixbZSx0LHNdKX1kZXB0aERlbGV0ZVNlc3Npb24oZSl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJkZXB0aF9kZWxldGVfc2Vzc2lvbiIsW2VdKX1kZXB0aFNldFN5bWJvbChlLHQpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiZGVwdGhfc2V0X3N5bWJvbCIsW2UsdF0pfWRlcHRoQ2xlYXJTeW1ib2woZSl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJkZXB0aF9jbGVhcl9zeW1ib2wiLFtlXSl9ZGVwdGhTZXRTY2FsZShlLHQpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiZGVwdGhfc2V0X3NjYWxlIixbZSx0XSl9dW5wYWNrKGUpe3JldHVybiB0aGlzLl9kYXRhSGFuZGxlTW9kdWxlLnVucGFjayhlKX1zZW5kUmVxdWVzdChlLHQpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdChlLHQpfXNldFZpc2libGVUaW1lUmFuZ2UoKXt0aHJvdyBuZXcgRXJyb3IoInNldFZpc2libGVUaW1lUmFuZ2UgaXMgZGVwcmVjYXRlZCBhbmQgc2hvdWxkIG5vdCBiZSB1c2VkIil9X2luaXQoKXt0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVycz17fSx0aGlzLl9zdHVkeUNvdW50ZXI9e30sdGhpcy5fY2hpbGRTdHVkeUNvdW50ZXI9e30sdGhpcy5fZnVuZGFtZW50YWxDb3VudGVyPXt9LHRoaXMuX21vZGlmeVN0dWR5TWFwPW5ldyBNYXB9X2NoZWNrQXV0aFRva2VuRXhwaXJhdGlvbihlKXswPT09dGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnQmJnRoaXMuX2F1dGhUb2tlbk1hbmFnZXImJiF0aGlzLl9hdXRoVG9rZW5NYW5hZ2VyLmN1cnJlbnRUb2tlbklzVmFsaWQoKSYmKEEubG9nSW5mbyhlKSx0aGlzLl9hdXRoVG9rZW5NYW5hZ2VyLnJlc2V0KCkpfV9zZW5kUmVxdWVzdChlLHQpe3JldHVybiBqJiZ0aGlzLl9jaGVja0F1dGhUb2tlbkV4cGlyYXRpb24oIkF1dGhUb2tlbiBpbnZhbGlkYXRpb24gZGV0ZWN0ZWQgb24gc2VuZGluZyBhIG1lc3NhZ2UsIHJlcXVlc3RpbmcgbmV3IHRva2VuIiksMCE9PXRoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50Pyh0aGlzLl9wZW5kaW5nTWVzc2FnZXNRdWV1ZS5wdXNoKHttZXRob2Q6ZSxhcmdzOnR9KSwhMCk6dGhpcy5fc2VuZFJlcXVlc3RJbXBsKGUsdCl9X3NlbmRSZXF1ZXN0SW1wbChlLHQpewpjb25zdCBzPXRoaXMuX3NlbnRNZXRob2RzQ291bnRlcnMuZ2V0KGUpPz8wO3RoaXMuX3NlbnRNZXRob2RzQ291bnRlcnMuc2V0KGUscysxKTtjb25zdCBpPXRoaXMuX2RhdGFIYW5kbGVNb2R1bGVbZV0uYXBwbHkodGhpcy5fZGF0YUhhbmRsZU1vZHVsZSx0KSxkPXttOmUscDooMCxuLmRlZmF1bHQpKGkpfSxjPWQubS5pbmNsdWRlcygic3R1ZHkiKSYmZC5wWzVdO2MmJmZ1bmN0aW9uKGUpe2lmKCEoMCx1LmlzT2JqZWN0KShlKSlyZXR1cm4hMTtmb3IoY29uc3QgdCBvZiBPYmplY3Qua2V5cyhlKSl7Y29uc3Qgcz1lW3RdO2lmKCEoKDAsdS5pc09iamVjdCkocyl8fCgwLHIuZGVmYXVsdCkocyl8fCgwLG8uZGVmYXVsdCkocyl8fCgwLGEuZGVmYXVsdCkocykpKXJldHVybiExfXJldHVybiEwfShjKSYmInRleHQiaW4gYyYmKGMudGV4dD1jLnRleHQuc2xpY2UoMCwxMCkpO2NvbnN0IGw9SlNPTi5zdHJpbmdpZnkoZCk7aWYoaS5sZW5ndGg+MCl7Y29uc3QgZT1pWzBdO2Uuc3RhcnRzV2l0aCgicXNfIik/Vi5sb2dOb3JtYWwoInNlbmQ6ICIrbCk6ZS5zdGFydHNXaXRoKCJjc18iKSYmQi5sb2dOb3JtYWwoInNlbmQ6ICIrbCw0MDk2KX1lbHNlIEEubG9nTm9ybWFsKCJzZW5kOiAiK2wpO2NvbnN0IGg9dGhpcy5fZGF0YUhhbmRsZU1vZHVsZS5wcmVwYXJlRW5jb2RlTWVzc2FnZShlLGkpO3JldHVybiB0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLnNlbmQoaCl9X29uQ29ubmVjdCgpe2lmKHRoaXMuY29ubmVjdGVkKCkpcmV0dXJuO2lmKHRoaXMuX3RyYWZmaWNTdGF0cy5zaW5jZUNvbm5lY3Q9MCx0aGlzLl9pc0F1dGhUb2tlbkxvYWRlZD0hMSx0aGlzLl9jb25uZWN0T25seU9wdGlvbnM9dGhpcy5fY29ubmVjdE9ubHlPcHRpb25zfHx7fSx0aGlzLl9hdXRoVG9rZW5EZmQ9dGhpcy5fZ2V0QXV0aFRva2VuRGZkKHRoaXMuX2Nvbm5lY3RPbmx5T3B0aW9ucy50b2tlbkdyYWJTZXNzaW9uKSx0aGlzLl9jb25uZWN0T25seU9wdGlvbnM9e30sdGhpcy5zZXNzaW9uaWQ9dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5nZXRTZXNzaW9uSWQoKSwhdGhpcy5zZXNzaW9uaWR8fHRoaXMuX2lzQ29ubmVjdGVkKXJldHVybjt0aGlzLl9wZW5kaW5nTWVzc2FnZXNRdWV1ZT1bXSx0aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudD0wLHRoaXMuX3N0dWR5Q291bnRlcj17fSx0aGlzLl9jaGlsZFN0dWR5Q291bnRlcj17fSx0aGlzLl9mdW5kYW1lbnRhbENvdW50ZXI9e30sdGhpcy5fc3R1ZHlTcGVjcy5jbGVhcigpLHRoaXMuX2lzQ29ubmVjdGVkPSEwLHRoaXMuX2JhbkluZm8uc2V0VmFsdWUobnVsbCksdGhpcy5fY29ubmVjdGlvbnNMaW1pdFJlYWNoZWQuc2V0VmFsdWUoITEpO2NvbnN0IGU9SlNPTi5wYXJzZSh0aGlzLnNlc3Npb25pZCk7dGhpcy5fc2VuZExvd1F1YWxpdHlNb2RlSWZFbmFibGVkKCksdGhpcy5fbWV0YWRhdGFTZXJ2ZXJIYXNoPWUuc3R1ZGllc19tZXRhZGF0YV9oYXNofHxudWxsO2NvbnN0IHQ9dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5nZXRDb25uZWN0aW9uRXN0YWJsaXNoZWQoKTt0cnl7dGhpcy5fc2VydmVyVGltZUJhc2VQb2ludD1NYXRoLnJvdW5kKGUudGltZXN0YW1wTXMtdCl9Y2F0Y2goZSl7dGhpcy5fc2VydmVyVGltZUJhc2VQb2ludD1EYXRlLm5vdygpLXBlcmZvcm1hbmNlLm5vdygpfWlmKEEubG9nSW5mbygiVGltZSBzaGlmdCB3aXRoIHNlcnZlcjogIit0aGlzLl9mb3JtYXRUaW1lKHRoaXMuc2VydmVyVGltZSgpLURhdGUubm93KCkpKSx0aGlzLl9hdXRoVG9rZW5EZmQpe3RoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50Kz0xLEEubG9nSW5mbygiV2FpdCBmb3IgYXV0aCB0b2tlbiBiZWZvcmUgc2VuZCBtZXNzYWdlcyIpO2NvbnN0IGU9dGhpcy5fYXV0aFRva2VuRGZkO2UudGhlbigodD0+e2lmKG51bGwhPT10aGlzLl9hdXRoVG9rZW5EZmQmJnRoaXMuX2F1dGhUb2tlbkRmZD09PWUpe2lmKEEubG9nTm9ybWFsKCJBdXRoIHRva2VuIHJlcXVlc3QgaXMgZmluaXNoZWQsIHRva2VuOiAiK0Jvb2xlYW4odCkpLHRoaXMuX2F1dGhUb2tlbkRmZD1udWxsLHQpe2NvbnN0IGU9W3ttZXRob2Q6InNldF9hdXRoX3Rva2VuIixhcmdzOlt0XX1dO2lmKFUpe2NvbnN0IHQ9d2luZG93LmluaXREYXRhJiZ3aW5kb3cuaW5pdERhdGEuY3VycmVudExvY2FsZUluZm87dCYmZS5wdXNoKHttZXRob2Q6InNldF9sb2NhbGUiLGFyZ3M6W3QuaXNvLHQuZmxhZy50b1VwcGVyQ2FzZSgpXX0pfXRoaXMuX3BlbmRpbmdNZXNzYWdlc1F1ZXVlLnVuc2hpZnQoLi4uZSl9dGhpcy5fb25TZW5kaW5nUXVldWVSZXF1ZXN0RmluaXNoZWQoKSx0aGlzLl9pc0F1dGhUb2tlbkxvYWRlZD0hMCx0aGlzLl9ub3RpZnlTZXNzaW9ucyh7bWV0aG9kOmguQ2hhcnRBcGlNZXNzYWdlTWV0aG9kLkNvbm5lY3RlZCxwYXJhbXM6W119KX1lbHNlIEEubG9nTm9ybWFsKCJDb21lcyBhdXRoIHRva2VuIGFmdGVyIHJlcXVlc3RpbmcgbmV3IHRva2VuIG9yIGFmdGVyIHNvY2tldCBkaXNjb25uZWN0ZWQiKX0pKS5jYXRjaCgoZT0+e0EubG9nTm9ybWFsKCgwLFMuZXJyb3JUb1N0cmluZykoZSkpfSkpfWVsc2UgQS5sb2dXYXJuKCJEZWZlcnJlZCBhdXRoIHRva2VuIG9iamVjdCBpcyBub3QgdmFsaWQiKSx0aGlzLl9pc0F1dGhUb2tlbkxvYWRlZD0hMDsiIiE9PXRoaXMuX2Jyb2tlcklkJiZ0aGlzLl9zZW5kQnJva2VySWRUb1Nlc3Npb24odGhpcy5fYnJva2VySWQpO2NvbnN0IHM9dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5nZXRDb25uZWN0aW9uU3RhcnQoKTtELnRlbGVtZXRyeS5zZXRTZXNzaW9uSW5mbyh0aGlzLnNlc3Npb25pZCksRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJ3ZWJzb2NrZXRfY29ubmVjdGVkIiksRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJ3ZWJzb2NrZXRfY29ubmVjdGlvbl90aW1lX2ZyYW1lIix7dmFsdWU6dC1zfSksRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJyZWNvbm5lY3RfY291bnRfZnJhbWUiLHt2YWx1ZTp0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLmdldFJlY29ubmVjdENvdW50KCl9KSwKRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJyZWRpcmVjdF9jb3VudF9mcmFtZSIse3ZhbHVlOnRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uZ2V0UmVkaXJlY3RDb3VudCgpfSksenx8KHo9ITAsRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJiZWZvcmVfd2Vic29ja2V0X2Nvbm5lY3Rpb25fdGltZV9mcmFtZSIse3ZhbHVlOnN9KSksdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5yZXNldENvdW50ZXJzKCksY2xlYXJUaW1lb3V0KHRoaXMuX3RlbGVtZXRyeURpc2Nvbm5lY3RUaW1lb3V0KX1fZm9ybWF0VGltZShlKXtyZXR1cm5gJHsoZS8xZTMpLnRvRml4ZWQoMil9IHNlY29uZHMuYH1fZGlzcGF0Y2hOb3RpZmljYXRpb24oZSx0KXtpZigicmVxdWVzdF9kYXRhX3Byb2JsZW1zIj09PWUubWV0aG9kJiZ0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VDYilyZXR1cm4gdm9pZCB0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VDYihlLnBhcmFtcyk7aWYoZS5tZXRob2Q9PT1QLldlYmNoYXJ0Q2hhcnRTZXNzaW9uUmVzcG9uc2VNZXRob2QuU3R1ZGllc01ldGFkYXRhJiZudWxsIT09dGhpcy5fbWV0YWRhdGFEZWZlcnJlZFByb21pc2UpcmV0dXJuIHZvaWQgdGhpcy5fcHJvY2Vzc2VkTWV0YWRhdGEoZSk7Y29uc3Qgcz1lLnBhcmFtcy5zaGlmdCgpO2lmKCF0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tzXSlyZXR1cm47aWYoInN5bWJvbF9yZXNvbHZlZCI9PT1lLm1ldGhvZCl7Y29uc3QgdD1lLnBhcmFtc1sxXS5mdWxsX25hbWU7RC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJzeW1ib2xfcmVzb2x2ZWQiLHtjb3VudDoxLGFkZGl0aW9uYWw6e3N5bWJvbDp0fX0pO2NvbnN0IG49RC50ZWxlbWV0cnkudGltZUNvdW50ZXJzLnNlcmllc1sicmVzb2x2ZV9zeW1ib2xfIitzXTsibnVtYmVyIj09dHlwZW9mIG4mJkQudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgic3ltYm9sX3Jlc29sdmVfdGltZV9mcmFtZSIse3ZhbHVlOndpbmRvdy5wZXJmb3JtYW5jZS5ub3coKS1uLGFkZGl0aW9uYWw6e3N5bWJvbDp0fX0pfWlmKFsic2VyaWVzX2Vycm9yIiwic2VyaWVzX2NvbXBsZXRlZCJdLmluY2x1ZGVzKGUubWV0aG9kKSYmRC50ZWxlbWV0cnkudGltZUNvdW50ZXJzLnNlcmllcy5tYXJrcy5sZW5ndGg+MCl7Y29uc3QgZT0iY3JlYXRlX3Nlcmllc18iK3MsdD1ELnRlbGVtZXRyeS50aW1lQ291bnRlcnMuc2VyaWVzLm1hcmtzLmluZGV4T2YoZSk7dD49MCYmRC50ZWxlbWV0cnkudGltZUNvdW50ZXJzLnNlcmllcy5tYXJrcy5zcGxpY2UodCwxKX1HfHwic2VyaWVzX2Vycm9yIiE9PWUubWV0aG9kfHwoRz0hMCk7Y29uc3Qgbj10aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLmdldENvbm5lY3Rpb25Fc3RhYmxpc2hlZCgpO2lmKG51bGwhPT1uJiYic2VyaWVzX2NvbXBsZXRlZCI9PT1lLm1ldGhvZCYmKEd8fChHPSEwLEQudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgiZmlyc3Rfc2VyaWVzX2Z1bGxfdGltZV9mcmFtZSIse3ZhbHVlOndpbmRvdy5wZXJmb3JtYW5jZS5ub3coKS1ufSksRC50ZWxlbWV0cnkudGltZUNvdW50ZXJzLnNlcmllcy5tYXJrcz1bXSksSnx8KEo9ITAsRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJwYWdlX2Z1bGxfbG9hZF90aW1lX2ZyYW1lIix7dmFsdWU6d2luZG93LnBlcmZvcm1hbmNlLm5vdygpfSkpKSxzLnN0YXJ0c1dpdGgoImNzXyIpKXtsZXQgcz0icmVjdjogIit0OyJkYXRhX3VwZGF0ZSI9PT1lLm1ldGhvZD8ocz0oMCxsLmlzSGlnaFJhdGVFbmFibGVkKSgpP3M6cy5zbGljZSgwLDUwMCksTC5sb2dOb3JtYWwodGhpcy5fYXBwZW5kRHVyYXRpb24ocyxlLnRpbWUpKSk6InN0dWR5X2xvYWRpbmciPT09ZS5tZXRob2Q/Ty5sb2dOb3JtYWwodGhpcy5fYXBwZW5kRHVyYXRpb24ocyxlLnRpbWUpKToidGlja21hcmtfdXBkYXRlIj09PWUubWV0aG9kP1EubG9nTm9ybWFsKHRoaXMuX2FwcGVuZER1cmF0aW9uKHMsZS50aW1lKSk6Qi5sb2dOb3JtYWwodGhpcy5fYXBwZW5kRHVyYXRpb24ocyxlLnRpbWUpKX1pZihzLnN0YXJ0c1dpdGgoInFzXyIpKXsoInF1b3RlX3N5bWJvbF9kYXRhIj09PWUubWV0aG9kPyQubG9nTm9ybWFsOlYubG9nTm9ybWFsKSgicmVjdjogIit0KX1zd2l0Y2goZS5tZXRob2Qpe2Nhc2UgUC5XZWJjaGFydENoYXJ0U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlRpbWVTY2FsZVVwZGF0ZTp7Y29uc3QgdD10aGlzLl9kYXRhSGFuZGxlTW9kdWxlLmdldFRpbWVzY2FsZU9iamVjdHMoZSksbj10aGlzLl9kYXRhSGFuZGxlTW9kdWxlLmdldFRpbWVzY2FsZUNoYW5nZXNldChlKSxpPXRoaXMuX2NvbnZlcnRUaW1lc2NhbGVSZXNwb25zZShuKTt0aGlzLl9zZXNzaW9uc1tzXS5vbk1lc3NhZ2Uoe21ldGhvZDpQLldlYmNoYXJ0Q2hhcnRTZXNzaW9uUmVzcG9uc2VNZXRob2QuVGltZVNjYWxlVXBkYXRlLHBhcmFtczppfSksdGhpcy5fZGF0YUhhbmRsZU1vZHVsZS5wcmVwYXJlRGF0YVVwZGF0ZU9iamVjdHMocyx0LCgoZSx0LHMpPT57dGhpcy5faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihlLHQscyl9KSk7YnJlYWt9Y2FzZSJ0aWNrbWFya191cGRhdGUiOmNvbnN0IHQ9ey4uLnRoaXMuX2NvbnZlcnRUaW1lc2NhbGVSZXNwb25zZShlLnBhcmFtc1swXSksY2hhbmdlczpbXX07dGhpcy5fc2Vzc2lvbnNbc10ub25NZXNzYWdlKHttZXRob2Q6UC5XZWJjaGFydENoYXJ0U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlRpbWVTY2FsZVVwZGF0ZSxwYXJhbXM6dH0pO2JyZWFrO2Nhc2UgUC5XZWJjaGFydENoYXJ0U2Vzc2lvblJlc3BvbnNlTWV0aG9kLkRhdGFVcGRhdGU6e2NvbnN0IHQ9dGhpcy5fZGF0YUhhbmRsZU1vZHVsZS5nZXREYXRhVXBkYXRlT2JqZWN0cyhlKTt0aGlzLl9kYXRhSGFuZGxlTW9kdWxlLnByZXBhcmVEYXRhVXBkYXRlT2JqZWN0cyhzLHQsKChlLHQscyk9Pnt0aGlzLl9pbnZva2VOb3RpZmljYXRpb25IYW5kbGVyKGUsdCxzKX0pKTticmVha31jYXNlImluZGV4X3VwZGF0ZSI6Zm9yKGNvbnN0IHQgaW4gZS5wYXJhbXNbMF0paWYoZS5wYXJhbXNbMF0uaGFzT3duUHJvcGVydHkodCkpe2NvbnN0IG49e21ldGhvZDoiaW5kZXhfdXBkYXRlIiwKcGFyYW1zOmUucGFyYW1zWzBdW3RdfTt0aGlzLl9pbnZva2VOb3RpZmljYXRpb25IYW5kbGVyKHMsdCxuKX1icmVhaztjYXNlIFAuV2ViY2hhcnRSZXNwb25zZU1ldGhvZC5Dcml0aWNhbEVycm9yOkEubG9nSW5mbyhuZXcgRGF0ZSsiIGNyaXRpY2FsX2Vycm9yIHNlc3Npb246Iit0aGlzLnNlc3Npb25pZCsiIHJlYXNvbjoiK2UucGFyYW1zWzBdKSxELnRlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoImNyaXRpY2FsX2Vycm9yIiksdGhpcy5fc2Vzc2lvbnNbc10ub25NZXNzYWdlKHttZXRob2Q6UC5XZWJjaGFydFJlc3BvbnNlTWV0aG9kLkNyaXRpY2FsRXJyb3IscGFyYW1zOmUucGFyYW1zfSk7YnJlYWs7Y2FzZSJ0aW1lc2NhbGVfY29tcGxldGVkIjpjYXNlInF1b3RlX3N5bWJvbF9kYXRhIjpjYXNlInF1b3RlX2xpc3RfZmllbGRzIjpjYXNlInF1b3RlX2NvbXBsZXRlZCI6Y2FzZSJkZXB0aF9zeW1ib2xfZXJyb3IiOmNhc2UiZGVwdGhfc3ltYm9sX3N1Y2Nlc3MiOmNhc2UiZGQiOmNhc2UiZHB1IjpjYXNlImRlcHRoX2Jhcl9sYXN0X3ZhbHVlIjp0aGlzLl9zZXNzaW9uc1tzXS5vbk1lc3NhZ2Uoe21ldGhvZDplLm1ldGhvZCxwYXJhbXM6ZS5wYXJhbXN9KTticmVhaztjYXNlImNsZWFyX2RhdGEiOmZvcihjb25zdCB0IGluIGUucGFyYW1zWzBdKWUucGFyYW1zWzBdLmhhc093blByb3BlcnR5KHQpJiZ0aGlzLl9pbnZva2VOb3RpZmljYXRpb25IYW5kbGVyKHMsdCx7bWV0aG9kOlAuV2ViY2hhcnRDaGFydFNlc3Npb25SZXNwb25zZU1ldGhvZC5DbGVhckRhdGEscGFyYW1zOmUucGFyYW1zWzBdW3RdfSk7YnJlYWs7Y2FzZSBQLldlYmNoYXJ0UmVwbGF5U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlJlcGxheVBvaW50OmNhc2UgUC5XZWJjaGFydFJlcGxheVNlc3Npb25SZXNwb25zZU1ldGhvZC5SZXBsYXlSZXNvbHV0aW9uczpjYXNlIFAuV2ViY2hhcnRSZXBsYXlTZXNzaW9uUmVzcG9uc2VNZXRob2QuUmVwbGF5RGF0YUVuZDpjYXNlIFAuV2ViY2hhcnRSZXBsYXlTZXNzaW9uUmVzcG9uc2VNZXRob2QuUmVwbGF5SW5zdGFuY2VJZDpjYXNlIFAuV2ViY2hhcnRSZXBsYXlTZXNzaW9uUmVzcG9uc2VNZXRob2QuUmVwbGF5RGVwdGg6Y2FzZSBQLldlYmNoYXJ0UmVwbGF5U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlJlcGxheUVycm9yOmNhc2UgUC5XZWJjaGFydFJlcGxheVNlc3Npb25SZXNwb25zZU1ldGhvZC5SZXBsYXlPazp0aGlzLl9zZXNzaW9uc1tzXS5vbk1lc3NhZ2UoZSk7YnJlYWs7Y2FzZSJzZXJpZXNfdGltZWZyYW1lIjpjb25zdCBuPWUucGFyYW1zWzRdO2UucGFyYW1zWzRdPW51bGw9PW4/bnVsbDooMCxfLmNvbnZlcnRTdHJUb1RpbWVGcmFtZSkobiksdGhpcy5faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihzLGUucGFyYW1zWzBdLGUpO2JyZWFrO2Nhc2Uic3ltYm9sX3Jlc29sdmVkIjohZnVuY3Rpb24oZSl7aWYodm9pZCAwPT09ZS5jb3JyZWN0aW9ucyl7Y29uc3QgdD0oZS5zdWJzZXNzaW9ucz8/W10pLmZpbmQoKHQ9PnQuaWQ9PT1lLnN1YnNlc3Npb25faWQpKTt2b2lkIDAhPT10JiYoZS5jb3JyZWN0aW9ucz10WyJzZXNzaW9uLWNvcnJlY3Rpb24iXSl9fShlLnBhcmFtc1sxXSksdGhpcy5faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihzLGUucGFyYW1zWzBdLGUpO2JyZWFrO2RlZmF1bHQ6dGhpcy5faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihzLGUucGFyYW1zWzBdLGUpfX1fbm90aWZ5U2Vzc2lvbnMoZSl7Zm9yKGNvbnN0IHQgaW4gdGhpcy5fc2Vzc2lvbnMpaWYodGhpcy5fc2Vzc2lvbnMuaGFzT3duUHJvcGVydHkodCkpe2NvbnN0IHM9dGhpcy5fc2Vzc2lvbnNbdF07ImZ1bmN0aW9uIj09dHlwZW9mIHMub25NZXNzYWdlJiZzLm9uTWVzc2FnZShlKX19X29uTWVzc2FnZShlKXtqJiZ0aGlzLl9jaGVja0F1dGhUb2tlbkV4cGlyYXRpb24oIkF1dGhUb2tlbiBpbnZhbGlkYXRpb24gZGV0ZWN0ZWQgb24gcmVjZWl2aW5nIGEgbWVzc2FnZSwgcmVxdWVzdGluZyBuZXcgdG9rZW4iKSx0aGlzLl9jYWxjVHJhZmZpY1N0YXRzKGUpO2NvbnN0IHQ9dGhpcy51bnBhY2soZSk7dGhpcy5fcmVjZWl2ZWRNZXRob2RzQ291bnRlcnMuc2V0KHQubWV0aG9kLCh0aGlzLl9yZWNlaXZlZE1ldGhvZHNDb3VudGVycy5nZXQodC5tZXRob2QpPz8wKSsxKSwidF9tcyJpbiB0JiYoMCxvLmRlZmF1bHQpKHQudF9tcykmJndpbmRvdy5DaGFydEFwaUluc3RhbmNlLmNvbXBlbnNhdGVDb25uZWN0aW9uTGFnKHQudF9tcyksInByb3RvY29sX3N3aXRjaGVkIiE9PXQubWV0aG9kPyJwcm90b2NvbF9lcnJvciIhPT10Lm1ldGhvZD90aGlzLl9kaXNwYXRjaE5vdGlmaWNhdGlvbih0LGUpOnRoaXMuX3Byb2Nlc3NQcm90b2NvbEVycm9yKHQpOkEubG9nRXJyb3IoIlVuZXhwZWN0ZWQgcHJvdG9jb2wgY2hhbmdpbmcgcmVxdWVzdCwgdHJ5IHNraXBwaW5nLiBSZXF1ZXN0ZWQgcHJvdG9jb2w6Iit0LnBhcmFtc1swXSl9YXN5bmMgX3Byb2Nlc3NlZE1ldGFkYXRhKGUpe2NvbnN0IHQ9KDAsZC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZSkscz1hd2FpdCB0aGlzLl9pbml0Q2FjaGVQcm9taXNlLGk9d2luZG93LnByby5oYXNoKCksbz0oMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKTt0cnl7YXdhaXQgcy5zZXRWYWx1ZShpZSwoMCxuLmRlZmF1bHQpKGUpKTtjb25zdCByPUFycmF5LmZyb20obmV3IFNldChlLnBhcmFtc1sxXS5tZXRhaW5mby5tYXAoKGU9PntyZXR1cm5gJHsodD0oMCxwLnBhcnNlSWRTdHJpbmcpKGUuaWQpKS5wYWNrYWdlSWR9LSR7dC52ZXJzaW9ufWA7dmFyIHR9KSkpKTtpZihBLmxvZ05vcm1hbChgVXBkYXRlZCBzdHVkaWVzX21ldGFkYXRhIGNhY2hlLCB1bmlxdWUgcGFja2FnZSBpZHM6ICR7ci5qb2luKCIsICIpfWApLCFvKXRyeXthd2FpdCBzLnNldFZhbHVlKG5lLCgwLG4uZGVmYXVsdCkoaSkpLEEubG9nTm9ybWFsKCJVcGRhdGVkIHByb19oYXNoIGNhY2hlIil9Y2F0Y2goZSl7dC5yZWplY3QoKSxBLmxvZ0Vycm9yKCJDYW5ub3QgdXBkYXRlIHByb19oYXNoIGNhY2hlLCByZWFzb246ICIrZSl9fWNhdGNoKGUpe3QucmVqZWN0KCksCkEubG9nRXJyb3IoIkNhbm5vdCB1cGRhdGUgc3R1ZGllc19tZXRhZGF0YSBjYWNoZSwgcmVhc29uOiAiK2UpfXQucmVzb2x2ZSgoMCxuLmRlZmF1bHQpKGUpKX1faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihlLHQscyl7aWYodm9pZCAwPT09dClyZXR1cm47Y29uc3Qgbj10aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XTt2b2lkIDAhPT1uJiYobi5zaW5nbGVTaG90JiZkZWxldGUgdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF0sbi5oYW5kbGVyPy4ocykpfV9jb252ZXJ0VGltZXNjYWxlUmVzcG9uc2UoZSl7cmV0dXJuIHRoaXMuX2RhdGFIYW5kbGVNb2R1bGUuY29udmVydFRpbWVzY2FsZVJlc3BvbnNlKGUpfV9hcHBlbmREdXJhdGlvbihlLHQpe3JldHVybiB0P2Ake2V9LCBkdXJhdGlvbjogJHt0aGlzLl9mb3JtYXRUaW1lKHRoaXMuc2VydmVyVGltZSgpLTFlMyp0KX1gOmV9YXN5bmMgX3JlcXVlc3RNZXRhZGF0YSgpe2NvbnN0IGU9dGhpcy5fbWFrZU5leHRSZXF1ZXN0SWQoKTt4LmxvZ05vcm1hbChgUmVxdWVzdGluZyBtZXRhaW5mbyAjJHtlfWApO2NvbnN0IHQ9KDAsZC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZSkscz13aW5kb3cucHJvLGk9cy5oYXNoKCksbz0oMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKTtBLmxvZ05vcm1hbCgiUmVxdWVzdGluZyBwcm8gaGFzaCIpO3RyeXtjb25zdCByPWF3YWl0IHRoaXMuX2luaXRDYWNoZVByb21pc2U7YXdhaXQgci5taWdyYXRlVmFsdWUoInByb19oYXNoIixuZSksYXdhaXQgci5taWdyYXRlVmFsdWUoc2UsaWUpO2NvbnN0IGE9YXdhaXQgci5nZXRWYWx1ZShuZSk7aWYobnVsbCE9PWEmJmE9PT1pfHxvKXtBLmxvZ05vcm1hbCgiUHJvIGhhc2ggaGFzIG5vdCBjaGFuZ2VkLCByZXF1ZXN0aW5nIGZyb20gbG9jYWwiKTtjb25zdCBvPWF3YWl0IHIuZ2V0VmFsdWUoaWUpLGE9bnVsbCE9PW8mJm8ucGFyYW1zWzFdLmhhc2h8fG51bGw7aWYobnVsbD09PWF8fG51bGw9PT10aGlzLl9tZXRhZGF0YVNlcnZlckhhc2h8fHRoaXMuX21ldGFkYXRhU2VydmVySGFzaCE9PWEpQS5sb2dOb3JtYWwoYE1ldGFkYXRhIGhhc2ggaGFzIGNoYW5nZWQgKGNhY2hlZDogJyR7YX0nLCBzZXJ2ZXI6ICcke3RoaXMuX21ldGFkYXRhU2VydmVySGFzaH0nKWApLHRoaXMuX3JlcXVlc3RNZXRhZGF0YUZyb21TZXJ2ZXIoZSk7ZWxzZXtpZighcy5oYXNQYWNrYWdlKCJ0di12b2x1bWVieXByaWNlIil8fHZvaWQgMCE9PW8ucGFyYW1zWzFdLm1ldGFpbmZvLmZpbmQoKGU9PmUuaWQuaW5jbHVkZXMoIkB0di12b2x1bWVieXByaWNlIikpKSlyZXR1cm4gQS5sb2dOb3JtYWwoIlVzaW5nIHN0dWRpZXNfbWV0YWRhdGEgZnJvbSBicm93c2VyIGNhY2hlIiksdm9pZCB0LnJlc29sdmUoKDAsbi5kZWZhdWx0KShvKSk7QS5sb2dOb3JtYWwoYERlLXN5bmMgZGV0ZWN0ZWQhIHByby5oYXNoIGNvbnRhaW5zIFZiUFIgc3R1ZGllcywgYnV0IGRhdGEgZnJvbSBjYWNoZSBkb2Vzbid0IGFuZCBwcm8uaGFzaCBpc24ndCBjaGFuZ2VkLCBwcm8uaGFzaD0ke2l9YCksdGhpcy5fcmVxdWVzdE1ldGFkYXRhRnJvbVNlcnZlcihlKX19ZWxzZSBBLmxvZ05vcm1hbChgUHJvIGhhc2ggaGFzIGNoYW5nZWQgKGNhY2hlZDogJyR7YX0nLCBjdXJyZW50OiAnJHtpfScpYCksdGhpcy5fcmVxdWVzdE1ldGFkYXRhRnJvbVNlcnZlcihlKX1jYXRjaCh0KXtBLmxvZ0Vycm9yKCJDYW5ub3QgZ2V0IHN0dWRpZXNfbWV0YWRhdGEsIHJlYXNvbjogIit0KSx0aGlzLl9yZXF1ZXN0TWV0YWRhdGFGcm9tU2VydmVyKGUpfWZpbmFsbHl7eC5sb2dOb3JtYWwoYFJlcXVlc3Rpbmcgc3R1ZGllcyBtZXRhZGF0YSAjJHtlfSBmaW5pc2hlZGApfX1fbWFrZU5leHRSZXF1ZXN0SWQoKXtyZXR1cm4ibWV0YWRhdGFfIit0aGlzLl9tZXRhZGF0YVJlcXVlc3ROZXh0TnVtYmVyKyt9X3Byb2Nlc3NQcm90b2NvbEVycm9yKGUpe2NvbnN0IHQ9ZS5wYXJhbXNbMF07QS5sb2dFcnJvcihgUHJvdG9jb2wgZXJyb3IuIFJlYXNvbj0ke3R9LmApLCJiYW5uZWQiIT09dCYmImJhbm5lZCBieSB1c2VyX2lkIiE9PXQmJiJiYW5uZWQgYnkgaXAiIT09dHx8KHRoaXMuX2JhbkluZm8uc2V0VmFsdWUoe3JlYXNvbjp0fSksdGhpcy5kaXNjb25uZWN0KCkpLHRoaXMuX2Nvbm5lY3Rpb25zTGltaXRSZWFjaGVkLnNldFZhbHVlKCJ1c2VyIGNvbm5lY3Rpb25zIGxpbWl0IHJlYWNoZWQiPT09dCl9X3JlcXVlc3RNZXRhZGF0YUZyb21TZXJ2ZXIoZSl7cmV0dXJuIEEubG9nTm9ybWFsKCJSZXF1ZXN0IHN0dWRpZXNfbWV0YWRhdGEgZnJvbSBzZXJ2ZXIiKSx0aGlzLl9zZW5kUmVxdWVzdCgicmVxdWVzdF9zdHVkaWVzX21ldGFkYXRhIixbZV0pfV9iaW5kU29ja2V0RXZlbnRzKCl7dGhpcy5jb25uZWN0RGZkPW5ldyBQcm9taXNlKCgoZSx0KT0+e3RoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24ub24oImNvbm5lY3QiLCgoKT0+e3RoaXMuX29uQ29ubmVjdCgpLGUoKX0pKSx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLm9uKCJtZXNzYWdlIix0aGlzLl9vbk1lc3NhZ2UuYmluZCh0aGlzKSksdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5vbigiZGlzY29ubmVjdCIsKCgpPT57dGhpcy5fYXV0aFRva2VuRGZkJiYodGhpcy5fYXV0aFRva2VuRGZkPW51bGwpLHRoaXMuX29uRGF0YVByb2JsZW1zUHJvbWlzZUVycmJhY2smJnRoaXMuX29uRGF0YVByb2JsZW1zUHJvbWlzZUVycmJhY2soKSx0aGlzLl9pc0Nvbm5lY3RlZD0hMSx0aGlzLl9ub3RpZnlTZXNzaW9ucyh7bWV0aG9kOmguQ2hhcnRBcGlNZXNzYWdlTWV0aG9kLkRpc2Nvbm5lY3RlZCxwYXJhbXM6W119KSx0aGlzLl9iYW5JbmZvLnZhbHVlKCl8fCh0aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZT1udWxsKSx0aGlzLl9kaXNjb25uZWN0Q291bnQ9KHRoaXMuX2Rpc2Nvbm5lY3RDb3VudHx8MCkrMSx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLmlzQ29ubmVjdGVkKCkmJih0aGlzLl90ZWxlbWV0cnlEaXNjb25uZWN0VGltZW91dD1zZXRUaW1lb3V0KCgoKT0+e0QudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgiZGlzY29ubmVjdCIpfSksNWUzKSwKdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5pc01heFJlY29ubmVjdHMoKSYmKHRoaXMuX25vdGlmeVNlc3Npb25zKHttZXRob2Q6aC5DaGFydEFwaU1lc3NhZ2VNZXRob2QuUmVjb25uZWN0QmFpbG91dCxwYXJhbXM6W119KSx0KCksRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJyZWNvbm5lY3RfYmFpbG91dCIpKSl9KSl9KSl9X2NhbGNUcmFmZmljU3RhdHMoZSl7Y29uc3QgdD1lLmxlbmd0aDt0aGlzLl90cmFmZmljU3RhdHMudG90YWwrPXQsdGhpcy5fdHJhZmZpY1N0YXRzLnNpbmNlQ29ubmVjdCs9dCx0aGlzLl90cmFmZmljU3RhdHMubGFzdENodW5rKz10fV9zZW5kQnJva2VySWRUb1Nlc3Npb24oZSl7cmV0dXJuIVd8fHRoaXMuX3NlbmRSZXF1ZXN0KCJzZXRfYnJva2VyIixbZV0pfV9lbmFibGVMb3dRdWFsaXR5TW9kZSgpe0EubG9nTm9ybWFsKCJsb3cgcXVhbGl0eSBtb2RlIGlzIGVuYWJsZWQiKSx0aGlzLl9sb3dRdWFsaXR5RW5hYmxlZD0hMCx0aGlzLl9zZW5kTG93UXVhbGl0eU1vZGVJZkVuYWJsZWQoKX1fc2VuZExvd1F1YWxpdHlNb2RlSWZFbmFibGVkKCl7dGhpcy5fbG93UXVhbGl0eUVuYWJsZWQmJnRoaXMuY29ubmVjdGVkKCkmJnRoaXMuX3NlbmRSZXF1ZXN0KCJzZXRfZGF0YV9xdWFsaXR5IixbXSl9X2dldEF1dGhUb2tlbkRmZChlKXtpZih0aGlzLl9sb2FkTmV3QmFycylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCJsb2FkX25ld190b2tlbiIpO2lmKCgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpfHwtMSE9PXdpbmRvdy5sb2NhdGlvbi5zZWFyY2guaW5kZXhPZigid2lkZ2V0X3Rva2VuIil8fC0xIT09d2luZG93LmxvY2F0aW9uLmhhc2guaW5kZXhPZigid2lkZ2V0X3Rva2VuIikpe2NvbnN0IGU9d2luZG93LlRyYWRpbmdWaWV3JiZ3aW5kb3cuVHJhZGluZ1ZpZXcud2lkZ2V0Q3VzdG9tZXJ8fCIiO3JldHVybiBQcm9taXNlLnJlc29sdmUoYltlXXx8IndpZGdldF91c2VyX3Rva2VuIil9aWYoIXdpbmRvdy5pc19hdXRoZW50aWNhdGVkKXJldHVybiBQcm9taXNlLnJlc29sdmUoInVuYXV0aG9yaXplZF91c2VyX3Rva2VuIik7aWYoIXRoaXMuX2F1dGhUb2tlbk1hbmFnZXIpe2NvbnN0IGU9dGhpcy5fYXV0aFRva2VuTWFuYWdlcj1uZXcgZi5BdXRoVG9rZW47ZS5pbnZhbGlkYXRlZC5zdWJzY3JpYmUobnVsbCwoYXN5bmMoKT0+e3RyeXt0aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudCs9MTtjb25zdCB0PWF3YWl0IGUuZ2V0KCk7aWYoIXQpcmV0dXJuIHZvaWQgQS5sb2dJbmZvKCJBdXRoVG9rZW4gaW52YWxpZGF0ZWQsIGJ1dCBuZXcgdG9rZW4gaXMgZW1wdHkiKTtpZighdGhpcy5jb25uZWN0ZWQoKSlyZXR1cm4gdm9pZCBBLmxvZ0luZm8oYEF1dGhUb2tlbiBpbnZhbGlkYXRlZCwgYnV0IHNvY2tldCBpcyBub3QgY29ubmVjdGVkLiBUb2tlbjogJHt0fWApO0EubG9nSW5mbygiQXV0aFRva2VuIGludmFsaWRhdGVkLCByZWZyZXNoaW5nIHRva2VuIGFuZCByZXNlbmRpbmcgdG8gc2Vzc2lvbiIpLHRoaXMuX3NlbmRSZXF1ZXN0SW1wbCgic2V0X2F1dGhfdG9rZW4iLFt0XSl9Y2F0Y2goZSl7dGhyb3cgQS5sb2dFcnJvcihgRmFpbGVkIHRvIHJlZnJlc2ggYXV0aCB0b2tlbiBhZnRlciBpbnZhbGlkYXRpb246ICR7KDAsUy5lcnJvclRvU3RyaW5nKShlKX1gKSxlfWZpbmFsbHl7dGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnQtPTEsMD09PXRoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50JiZlLmN1cnJlbnRUb2tlbklzVmFsaWQoKSYmdGhpcy5fZmx1c2hQZW5kaW5nTWVzc2FnZXMoKX19KSl9cmV0dXJuIHRoaXMuX2F1dGhUb2tlbk1hbmFnZXIuZ2V0KGUpfV9vblNlbmRpbmdRdWV1ZVJlcXVlc3RGaW5pc2hlZCgpe3RoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50LT0xLEEubG9nSW5mbyhgU2VuZGluZyBxdWV1ZSByZXF1ZXN0IGZpbmlzaGVkLiBSZW1haW5pbmcgcGVuZGluZyByZXF1ZXN0cz0ke3RoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50fWApLHRoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50PDAmJkEubG9nRXJyb3IoYEludmFsaWQgcXVldWUgc3RhdGU9JHt0aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudH1gKSwwPT09dGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnQmJnRoaXMuX2ZsdXNoUGVuZGluZ01lc3NhZ2VzKCl9X2ZsdXNoUGVuZGluZ01lc3NhZ2VzKCl7QS5sb2dJbmZvKGBGbHVzaCBwZW5kaW5nIG1lc3NhZ2VzLiBDb3VudD0ke3RoaXMuX3BlbmRpbmdNZXNzYWdlc1F1ZXVlLmxlbmd0aH1gKSx0aGlzLl9wZW5kaW5nTWVzc2FnZXNRdWV1ZS5mb3JFYWNoKChlPT50aGlzLl9zZW5kUmVxdWVzdChlLm1ldGhvZCxlLmFyZ3MpKSksdGhpcy5fcGVuZGluZ01lc3NhZ2VzUXVldWU9W119fSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiYod2luZG93LkNoYXJ0QXBpSW5zdGFuY2U9bmV3IGRlKHdpbmRvdy5XU0JhY2tlbmRDb25uZWN0aW9uKSl9LDg4OTUxNShlLHQscyl7cy5kKHQse3Nob3dUb29NYW55U3R1ZGllc05vdGljZTooKT0+b30pO3ZhciBuPXMoMTg1MjcxKSxpPXMoMjM0OTY0KTtmdW5jdGlvbiBvKGUpeygwLGkuc2hvd1dhcm5pbmcpKHt0aXRsZTpuLnQobnVsbCx2b2lkIDAscyg5MzcwMTcpKSx0ZXh0Om4udChudWxsLHtyZXBsYWNlOntudW1iZXI6YCR7ZX1gfX0scyg5OTIzNjIpKX0pfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/30200.71da076fb0197e4d5953.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.002Z","timestamp":1785120634002,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/30200.71da076fb0197e4d5953.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 86\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"69f98b73-56\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:23 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 7dd66f011c73ae638bacaff01dc1471d\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":86,"size_decoded":870,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"b02278d29b4e6fb9286fa4e3d93d2ce5","sha1":"0e3940c360032f59c0eb14248728f6b6d0c99cae","sha256":"6373ee883ff860f1955a9c73438e96ed35056eacf0fadb1c6ae58a57e31a5e34","sha512":"cf3ba4d72f48389a359a141bea634d0369e9ba9b4e796f108b6c71cd23e57123b60f7b390b1edba4debfc2e84ebd9bc8cefa9ab0ef5f5d70274f73ef0be4ac8c","ssdeep":"","tlshash":"ada012d2b4410450000501481120733bcab721c426940d0804c0bf2203464a19c78150","first_seen":"2026-01-13T13:30:16.848169Z","last_seen":"2026-07-27T05:29:38.636475Z","times_seen":1804,"resource_available":false,"data":"LmpzLWhpZGRlbntkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5qcy1uby1wb2ludGVyLWV2ZW50c3twb2ludGVyLWV2ZW50czpub25lIWltcG9ydGFudH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/runtime-embed_screener_v1_widget.9dbe1b28214d7a1471ba.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.004Z","timestamp":1785120634004,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/runtime-embed_screener_v1_widget.9dbe1b28214d7a1471ba.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-7cb6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:53:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 6b26d7e98a63b07b6380cbdff8a84e9c\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":31926,"size_decoded":16555,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3765)","md5":"078c641a9165940f92f650670dcfe56c","sha1":"588a588b3de873254a2ca6be4975e9a456d154af","sha256":"bf1232ee83f71f223d4d69f4ec7b7ffc474385b0bf3e2ea817a41a51de2fdffc","sha512":"d70d6ac8dc2d5315cae23b5ad2102e5968136636834d12b08553280efe2990f9bb1ca243bb1cc9bcee0f291f1db4af42d8ef1716326c2ca0de1643e12bdfe1ff","ssdeep":"768:2O2u/W/ww+vFmk6+uoYOgJV3MDbos8ZJh9qWxZjcLY8Z4NqSY:2O2u/WIw49gJV3ebo9h9HrD+7F","tlshash":"35e27ded923cd6b336f12da96d7a9863f33c24237c5980d49393b56409a6ff4a232513","first_seen":"2026-07-25T03:24:57.413219Z","last_seen":"2026-07-27T05:29:38.812713Z","times_seen":96,"resource_available":true,"data":"KCgpPT57InVzZSBzdHJpY3QiO3ZhciBlLGEsYyxkLGYsYix0PXt9LHI9e307ZnVuY3Rpb24gbihlKXt2YXIgYT1yW2VdO2lmKHZvaWQgMCE9PWEpcmV0dXJuIGEuZXhwb3J0czt2YXIgYz1yW2VdPXtpZDplLGxvYWRlZDohMSxleHBvcnRzOnt9fTtyZXR1cm4gdFtlXS5jYWxsKGMuZXhwb3J0cyxjLGMuZXhwb3J0cyxuKSxjLmxvYWRlZD0hMCxjLmV4cG9ydHN9bi5tPXQsbi5fcGx1cmFsPXthcjooZSxhPTYsYz0oMD09ZT8wOjE9PWU/MToyPT1lPzI6ZSUxMDA+PTMmJmUlMTAwPD0xMD8zOmUlMTAwPj0xMSYmZSUxMDA8PTk5PzQ6NSkpPT5udWxsPT1lPzA6K2MsY3M6KGUsYT0zLGM9KDE9PWU/MDplPj0yJiZlPD00PzE6MikpPT5udWxsPT1lPzA6K2MscnU6KGUsYT0zLGM9KGUlMTA9PTEmJmUlMTAwIT0xMT8wOmUlMTA+PTImJmUlMTA8PTQmJihlJTEwMDwxMHx8ZSUxMDA+PTIwKT8xOjIpKT0+bnVsbD09ZT8wOitjLHJvOihlLGE9MyxjPSgxPT1lPzA6ZSUxMDA+MTl8fGUlMTAwPT0wJiYwIT1lPzI6MSkpPT5udWxsPT1lPzA6K2MscGw6KGUsYT0zLGM9KDE9PWU/MDplJTEwPj0yJiZlJTEwPD00JiYoZSUxMDA8MTB8fGUlMTAwPj0yMCk/MToyKSk9Pm51bGw9PWU/MDorYyxwdDooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLGRlOihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsZW46KGUsYT0yLGM9MSE9ZSk9Pm51bGw9PWU/MDorYyxlczooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLHN2OihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsaXQ6KGUsYT0yLGM9MSE9ZSk9Pm51bGw9PWU/MDorYyx0cjooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLGVsOihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsZnI6KGUsYT0yLGM9ZT4xKT0+bnVsbD09ZT8wOitjLGZhOihlLGE9MSxjPTApPT5udWxsPT1lPzA6K2MsamE6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorYyxrbzooZSxhPTEsYz0wKT0+bnVsbD09ZT8wOitjLHRoOihlLGE9MSxjPTApPT5udWxsPT1lPzA6K2Msdmk6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorYyx6aDooZSxhPTEsYz0wKT0+bnVsbD09ZT8wOitjLGhlX0lMOihlLGE9NCxjPSgxPT1lPzA6Mj09ZT8xOmU+MTAmJmUlMTA9PTA/MjozKSk9Pm51bGw9PWU/MDorYyxjYV9FUzooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLG5sX05MOihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsaHVfSFU6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorYyxpZF9JRDooZSxhPTEsYz0wKT0+bnVsbD09ZT8wOitjLG1zX01ZOihlLGE9MSxjPTApPT5udWxsPT1lPzA6K2MsemhfVFc6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorY30sbi5hbWREPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJkZWZpbmUgY2Fubm90IGJlIHVzZWQgaW5kaXJlY3QiKX0sZT1bXSxuLk89KGEsYyxkLGYpPT57aWYoIWMpe3ZhciBiPTEvMDtmb3IoaT0wO2k8ZS5sZW5ndGg7aSsrKXtmb3IodmFyW2MsZCxmXT1lW2ldLHQ9ITAscj0wO3I8Yy5sZW5ndGg7cisrKSghMSZmfHxiPj1mKSYmT2JqZWN0LmtleXMobi5PKS5ldmVyeSgoZT0+bi5PW2VdKGNbcl0pKSk/Yy5zcGxpY2Uoci0tLDEpOih0PSExLGY8YiYmKGI9ZikpO2lmKHQpe2Uuc3BsaWNlKGktLSwxKTt2YXIgbz1kKCk7dm9pZCAwIT09byYmKGE9byl9fXJldHVybiBhfWY9Znx8MDtmb3IodmFyIGk9ZS5sZW5ndGg7aT4wJiZlW2ktMV1bMl0+ZjtpLS0pZVtpXT1lW2ktMV07ZVtpXT1bYyxkLGZdfSxuLkY9e30sbi5FPWU9PntPYmplY3Qua2V5cyhuLkYpLm1hcCgoYT0+e24uRlthXShlKX0pKX0sbi5uPWU9Pnt2YXIgYT1lJiZlLl9fZXNNb2R1bGU/KCk9PmUuZGVmYXVsdDooKT0+ZTtyZXR1cm4gbi5kKGEse2F9KSxhfSxjPU9iamVjdC5nZXRQcm90b3R5cGVPZj9lPT5PYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk6ZT0+ZS5fX3Byb3RvX18sbi50PWZ1bmN0aW9uKGUsZCl7aWYoMSZkJiYoZT10aGlzKGUpKSw4JmQpcmV0dXJuIGU7aWYoIm9iamVjdCI9PXR5cGVvZiBlJiZlKXtpZig0JmQmJmUuX19lc01vZHVsZSlyZXR1cm4gZTtpZigxNiZkJiYiZnVuY3Rpb24iPT10eXBlb2YgZS50aGVuKXJldHVybiBlfXZhciBmPU9iamVjdC5jcmVhdGUobnVsbCk7bi5yKGYpO3ZhciBiPXt9O2E9YXx8W251bGwsYyh7fSksYyhbXSksYyhjKV07Zm9yKHZhciB0PTImZCYmZTsoIm9iamVjdCI9PXR5cGVvZiB0fHwiZnVuY3Rpb24iPT10eXBlb2YgdCkmJiF+YS5pbmRleE9mKHQpO3Q9Yyh0KSlPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0KS5mb3JFYWNoKChhPT5iW2FdPSgpPT5lW2FdKSk7cmV0dXJuIGIuZGVmYXVsdD0oKT0+ZSxuLmQoZixiKSxmfSxuLmQ9KGUsYSk9Pntmb3IodmFyIGMgaW4gYSluLm8oYSxjKSYmIW4ubyhlLGMpJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxjLHtlbnVtZXJhYmxlOiEwLGdldDphW2NdfSl9LG4uZj17fSxuLmU9ZT0+UHJvbWlzZS5hbGwoT2JqZWN0LmtleXMobi5mKS5yZWR1Y2UoKChhLGMpPT4obi5mW2NdKGUsYSksYSkpLFtdKSksCm4udT1lPT4yODgzMT09PWU/Il9fTEFOR19fLiIrZSsiLmY5ZTczNTZmZjkxZjgzN2Y0N2M3LmpzIjo4NDY5Mz09PWU/Il9fTEFOR19fLiIrZSsiLjcxNWNiN2IyNzMyZjIwYzRjOTYxLmpzIjo0OTY4ND09PWU/Il9fTEFOR19fLiIrZSsiLjQ5OWNmYmQ3MzQ3ZTk3NDcyMjI4LmpzIjo1NDk4PT09ZT8iX19MQU5HX18uNTQ5OC44ZTRjY2M3Y2VmOGJmYWYzOTM5OS5qcyI6ODU1Mzc9PT1lPyJfX0xBTkdfXy4iK2UrIi40OWZkYTEzZTE4NzYxMjQ2M2Y4NC5qcyI6MjY5NzM9PT1lPyJfX0xBTkdfXy4iK2UrIi45YWU1NmQ2MjFhNWYyOTgyN2UwMC5qcyI6MTc2NjI9PT1lPyJfX0xBTkdfXy4iK2UrIi40N2Y1YzljYWY2NjBjNGQwZTgwNC5qcyI6ODcyMzg9PT1lPyJfX0xBTkdfXy4iK2UrIi43ZTc3MzA5NzMzN2EzNGJlNjY1Mi5qcyI6MjE4NzA9PT1lPyJfX0xBTkdfXy4iK2UrIi43ZDM3ZmZhNTNkZmJiYzE4NDA4OC5qcyI6ODQyNjk9PT1lPyJfX0xBTkdfXy4iK2UrIi5hZDM1MWEyYjM5ZTQ5MzI0YjQxYy5qcyI6OTIyOTM9PT1lPyJfX0xBTkdfXy4iK2UrIi5hNmFmNjI2ZTg5NGVjOTAwN2Q1OC5qcyI6MTA4NDE9PT1lPyJfX0xBTkdfXy4iK2UrIi43NjZmOTY2ODc4YjdmODcyNmQ3NC5qcyI6ODg0MzI9PT1lPyJfX0xBTkdfXy4iK2UrIi40NDA2MGFkZDIxNjI4MGNmYTBkMy5qcyI6MTI2NTM9PT1lPyJfX0xBTkdfXy4iK2UrIi42MzU3NjY1OTJiNDZkZTc0OGU4ZC5qcyI6MTcxMjM9PT1lPyJfX0xBTkdfXy4iK2UrIi5hZDRkOGU3NjgzZTM0NmYxMmUxMi5qcyI6MjU3NTM9PT1lPyJfX0xBTkdfXy4iK2UrIi43MzdmNjUzYTdiMTNmMDZhOWZjZS5qcyI6MzQ5MDg9PT1lPyJfX0xBTkdfXy4iK2UrIi40ODhjZDE0NzM2MDE5Y2VmMjdiYy5qcyI6NzM3MjU9PT1lPyJfX0xBTkdfXy4iK2UrIi5hYjczZTk1NGQyY2QxYmUzNmRjNC5qcyI6NDA4OTI9PT1lPyJfX0xBTkdfXy4iK2UrIi43NmVlM2M1MjQxN2E2MGZiMDkzMS5qcyI6NDg4Mzc9PT1lPyJfX0xBTkdfXy4iK2UrIi5lZDY1NjczZTU4MzdjZDg2NzM3YS5qcyI6OTY0NDg9PT1lPyJfX0xBTkdfXy4iK2UrIi5hMjMwOTNiMjBjMmU0OGFhYzEyYi5qcyI6NjA5Mzk9PT1lPyJfX0xBTkdfXy4iK2UrIi5lZTZjYmVlZjg2ZGQ4ZmYxMDk2NC5qcyI6NDkyMTU9PT1lPyJfX0xBTkdfXy4iK2UrIi4yYzIxNTZmYTBlODU0NWNiY2FhYi5qcyI6MjA4NjY9PT1lPyJfX0xBTkdfXy4iK2UrIi4zZGI4ZThlZWVlNjg2YTUwOWIyMC5qcyI6NDEyODA9PT1lPyJfX0xBTkdfXy4iK2UrIi4yYWEzY2QwN2Q2MDBlYjk2Y2JiYy5qcyI6ODEzOTU9PT1lPyJfX0xBTkdfXy4iK2UrIi5iNmQ4M2M3NDg4ZGY0OTAzOTRmOC5qcyI6MjY3NzE9PT1lPyJfX0xBTkdfXy4iK2UrIi5lM2IwMzU1Y2ZmZDA3N2JkZTI0Mi5qcyI6MTA2NzQ9PT1lPyJfX0xBTkdfXy4iK2UrIi42NWFjZGNjZmVmMGYzZjQ5ODJlMC5qcyI6NDk3NDc9PT1lPyJfX0xBTkdfXy4iK2UrIi45ZmRkZThkZmJkNDU2NjM4ZjMxMS5qcyI6Mzg1MzU9PT1lPyJfX0xBTkdfXy4iK2UrIi4yNjkxODkyNzVhZGRkMWY3NjdiNS5qcyI6NTkzMT09PWU/Il9fTEFOR19fLjU5MzEuMmQwMGExMDY3OGU3OGNkNjZjOTIuanMiOjg2MzE9PT1lPyJfX0xBTkdfXy44NjMxLjdhY2YyYmE0NDIxNjMzMjNhNmVjLmpzIjo4NDkwMD09PWU/Il9fTEFOR19fLiIrZSsiLjBkMzc2MmZkMGNlNzIzZTU0MWRiLmpzIjo3NTUyPT09ZT8iX19MQU5HX18uNzU1Mi5iYzAwMjAxOTI5Nzc3NzFkNzExOS5qcyI6MTg5MTE9PT1lPyJfX0xBTkdfXy4iK2UrIi42OTgxOTM4YjExNDNhYWE2MTU3Ny5qcyI6MTcwOTI9PT1lPyJfX0xBTkdfXy4iK2UrIi44OWQ4ZTBiZjUxYTc3ZDZjZTczMS5qcyI6NzM3Nz09PWU/Il9fTEFOR19fLjczNzcuZGMxMDMxMjUyYmY5MmNmYjQxZmIuanMiOjE5OTE2PT09ZT8iX19MQU5HX18uIitlKyIuNDJlZTFlOThkNzUzMGFhNTY1NTMuanMiOjgyMDAzPT09ZT8iX19MQU5HX18uIitlKyIuZDc0OGI4Njg4MDM4ZTcyOWVmMDkuanMiOjYzNTUzPT09ZT8iX19MQU5HX18uIitlKyIuZDFlZTYxOThiNzAyODQ3OGRkNjIuanMiOjYxMDY2PT09ZT8iX19MQU5HX18uIitlKyIuM2NiNmM2NDIzYzZiMWZhMDEwZGYuanMiOjc2Mzg1PT09ZT8iX19MQU5HX18uIitlKyIuYTM4YzhlOTIxOTYwY2VhNDQwMTkuanMiOjI2MDU9PT1lPyJfX0xBTkdfXy4yNjA1LmY3MDBhZjZjYjgwYjA2ZTU1NGRkLmpzIjo5OTg2NT09PWU/Il9fTEFOR19fLiIrZSsiLjU1ODhmMmJkZjM0OTEyZWMxNDQ4LmpzIjo5OTc2NT09PWU/Il9fTEFOR19fLiIrZSsiLjZkYTZiZGJiMDhmNmY3YjljMWRkLmpzIjozMDU5Nz09PWU/Il9fTEFOR19fLiIrZSsiLjg0YTRiM2UzY2NiNmQ3YzJmMjJhLmpzIjo0NTUyMj09PWU/Il9fTEFOR19fLiIrZSsiLjNhNjYwYTE0MjEyNGFkZjQ1MDQzLmpzIjoxMDMzPT09ZT8iX19MQU5HX18uMTAzMy43MzRiZDdkYWZlNzc3Y2YyZGY2MS5qcyI6ODg4OTE9PT1lPyJfX0xBTkdfXy4iK2UrIi4yZjY2M2JkMTI1ZGIyOGYxY2JkYS5qcyI6ODg0Mj09PWU/Il9fTEFOR19fLjg4NDIuZjQ4NDRiNDQwNzgxYjE5ZTQ1MDguanMiOjE5MDM0PT09ZT8iX19MQU5HX18uIitlKyIuMzA1MTcyMDQ3ZTdmYWJiNTM0ODEuanMiOjE2NzI9PT1lPyJfX0xBTkdfXy4xNjcyLmZjZjY5OWM0MmNiZjZkYTA1MDNkLmpzIjoyMTM5Nz09PWU/Il9fTEFOR19fLiIrZSsiLjM0MWY2YzdiNzY1N2U1NTU0ZGYwLmpzIjoyOTE2OT09PWU/Il9fTEFOR19fLiIrZSsiLmMzNTczZGQzM2FiZWVlZWJlZjA0LmpzIjoxODg5OD09PWU/Il9fTEFOR19fLiIrZSsiLmRmODY3OGZiMWZlZjc3MWI1M2FhLmpzIjoxODYyOD09PWU/Il9fTEFOR19fLiIrZSsiLjMyYjBiYzIwOGQ1ZTE5MGEzNzMzLmpzIjo3MzYzMz09PWU/Il9fTEFOR19fLiIrZSsiLjA1YjVlZmY0NmQ1OTE1NzE0ZmZjLmpzIjo2Nzk0OT09PWU/Il9fTEFOR19fLiIrZSsiLjk0MDFhZmNiN2JkNDc3ZTMxOWExLmpzIjo2ODg2MD09PWU/Il9fTEFOR19fLiIrZSsiLjM3NjZkMTEwNzg4MTJkN2YxNDU3LmpzIjoxODc4MT09PWU/Il9fTEFOR19fLiIrZSsiLjM4ZjEwM2NlYjM1MWQ2OGMyZjhmLmpzIjo4ODk5Nz09PWU/Il9fTEFOR19fLiIrZSsiLjI1OTkxZGE1OWUyMGE3OTZlZGFhLmpzIjo0ODkxMj09PWU/Il9fTEFOR19fLiIrZSsiLjA3ZjEzZTY5NGRkZjU0YjRkZWViLmpzIjo2NDQ0MT09PWU/Il9fTEFOR19fLiIrZSsiLjZkM2EwN2I5YTgxNDA4NzMxY2M0LmpzIjozMzM5MT09PWU/Il9fTEFOR19fLiIrZSsiLmFlZGQxZDNjZWVmYmU0Y2U2ODAyLmpzIjoxNzg1OT09PWU/Il9fTEFOR19fLiIrZSsiLjRhNTgwYWNlNDkxNGYxMTVjZDA3LmpzIjoyODg3NT09PWU/Il9fTEFOR19fLiIrZSsiLmVkZTFiNzIxODE2OTNkMWFjZjRmLmpzIjo1ODY2Nz09PWU/Il9fTEFOR19fLiIrZSsiLmQxNWZjNGI1YzYzMWJiNWVjZThkLmpzIjo0NzAzMD09PWU/Il9fTEFOR19fLiIrZSsiLjlhYTZlMGZmNGVkZGExNjg3NTM2LmpzIjoyOTYxOD09PWU/Il9fTEFOR19fLiIrZSsiLmRkMjA4ZmE5ZDI2ZTczMjgxMDljLmpzIjozOTUwND09PWU/Il9fTEFOR19fLiIrZSsiLmViN2M4NThhMjMxMDhhY2E3ZmVlLmpzIjozOTk4OD09PWU/Il9fTEFOR19fLiIrZSsiLjNjOWQ0NmQ2OWY1YWQ3MjEwOWEwLmpzIjo1ODgyMD09PWU/Il9fTEFOR19fLiIrZSsiLjA5YjQxZDJlZDg0Yjc5ZjRmZTI0LmpzIjo5Mjk2ND09PWU/Il9fTEFOR19fLiIrZSsiLmFhNjcwZGRmZDE2NTk1OTY0YWViLmpzIjoyMzU2Nz09PWU/Il9fTEFOR19fLiIrZSsiLjVmZGRjMTU5OTgxNDJjYmM2MWVmLmpzIjooewozNDc6Im1hcmtlZC1zeW1ib2xzIiw1Nzc6ImNvbnZlcnNpb24tY29udGV4dCIsMTUyMToienhjdmJuRW5QYWNrYWdlIiwxNjQ2OiJsZWdlbmQtdmlldy1yZW5kZXJlciIsMTc4NzoiYWRkLXRvLXdhdGNobGlzdC1hY3Rpb24iLDIyODQ6InJlZ3dhbGxzLW1hbmFnZXIiLDM5NjE6InByb2ZpbGUtYXBpIiw3Mzk3OiJwZXJpb2QtZm9ybWF0dGVyIiw3NzE4OiJwaW5lLm1vbmFyY2gudjUiLDg2MDg6InN1cHBvcnQtZGlhbG9nLWltcGwiLDk1OTk6ImNvbnRhY3QtYWR2YW5jZWQtY2hhcnRzLWRpYWxvZyIsMTA3MDQ6ImNyZWF0ZS1kaWFsb2ciLDExNDM1OiJub3Rlcy1kaWFsb2ciLDEzMTIzOiJlYXJseS1iaXJkLWJhbm5lciIsMTM3MTk6InBob25lLWNoYW5nZS1mbG93IiwxMzczMjoiZnVsbHNjcmVlbi1pbWFnZS1kaWFsb2ctaW1wbCIsMTM5OTM6InB1c2hzdHJlYW0tbXVsdGlwbGV4ZXIiLDE1NzY3OiJ6eGN2Ym5Db21tb25QYWNrYWdlIiwxNjgxMzoidHJhZGluZ3ZpZXctY29weXJpZ2h0LXdpdGgtYm9yZGVyLWRhdGEtaW1wbCIsMTkwMTI6Im1vbmFyY2guY29sb3JpemVyIiwxOTMxMToidGFrZS1zY3JlZW5zaG90IiwxOTc2OToic3Vic2NyaXB0aW9uLWhhcy1jaGFuZ2VkLWRpYWxvZyIsMTk5Mzg6InN5bWJvbC1saXN0LXNlcnZpY2UiLDIxMjYwOiJuc2QtdW5wYWNrLWltcGwiLDIzNzY5OiJzdXBwb3J0LXdpemFyZC1zaG9ydGN1dC1wYWdlIiwyNjA2NjoiY29udGFjdC1wcml2YWN5LXBvbGljaWVzLWRpYWxvZyIsMjg1MDc6ImdldC1lcnJvci1jYXJkIiwzMDMwNDoiY29udGFjdC1lZHVjYXRpb25hbC1kaWFsb2ciLDMyNjEzOiJjb250YWN0LWVudGVycHJpc2UtcGxhbnMtZGlhbG9nIiwzNDE4OToiYnVnLWRpYWxvZy1jcmVhdGlvbi1oYW5kbGVyIiwzNDg3OToiaW50ZXJydXB0LWNvbmZpcm0tbW9kYWwiLDM1NTkyOiJlcnJvci1sb3R0aWUtYW5pbWF0aW9uIiwzNTk4MDoiY2xlYXItb2xkLXNldHRpbmdzIiwzODc4NzoicGFnZS1zbmFwc2hvdCIsMzk0NDI6ImNvbnZlcnQtbWVkaWF0b3Itc3RvcnkiLDQwMTAxOiJ0di1jb2lucy1kaWFsb2ciLDQyNzA2OiJzaW1wbGUtZGlhbG9nIiw0Mzk4MDoiY29udGV4dC1tZW51Iiw0NDE2MjoidGltZS1mcmFtZS12aWV3LXJlbmRlcmVyIiw0NTMyMjoibGlnaHR3ZWlnaHQtY2hhcnQtcHJpY2UtdGltZS10b29sdGlwIiw0NjE2OToidXBncmFkZURpYWxvZyIsNDYzODM6ImNyZWF0ZS1lcnJvci1kaWFsb2ciLDQ3OTYxOiJkZWNsYXJhdGlvbiIsNDgwMDI6ImNvbnRhY3Qtd2lkZ2V0cy1kaWFsb2ciLDQ4MTc4OiJzdXBwb3J0LXdpemFyZC13YXJuaW5ncyIsNDg0MTM6InN1cHBvcnQtd2l6YXJkLWhpZ2gtdm9sdW1lLWluZm8iLDQ4NTUyOiJ2aWRlby1iYW5uZXItZGlhbG9nIiw0OTgzOToic291cmNlLXRhZy1wb3BvdmVyIiw1MDE4MjoiZ2xvYmFsLW5vdGlmaWNhdGlvbiIsNTI0NTM6InNjcmVlbmVyLW5ldy1zdGFuZGFsb25lLWRpYWxvZy1pbXBsIiw1Mzc3MDoiZ2V0LW1lZGlhdG9yLWFwaSIsNTM4ODE6ImdvLXRvLXRyYWRpbmd2aWV3LXJlZmVycmFsLWRpYWxvZyIsNTQ2MTU6InJlZmVycmFsLXdlbGNvbWUiLDU1MzU2OiJnbG9iYWwtbm90aWZpY2F0aW9uLXRvb2xzIiw1NTk2MDoiY29udGFjdC1zZWN1cml0eS1yZXBvcnQtZGlhbG9nIiw1NjAwODoibmV3cy1kZXNjcmlwdGlvbi1kaWFsb2ciLDU3NjM5OiJtaW5pLWNoYXJ0LXN5bWJvbC1kYXRhIiw1NzcxNDoidXNlci1zdGF0dXMtZGVjbGFyYXRpb24iLDU4NjEzOiJjaGFuZ2UtcGxhbi1kaWFsb2ctaW1wbCIsNTg4MTc6InZhbGlkYXRlLWludGwtYWRkcmVzcy1kaWFsb2ciLDYxNTMzOiJzdG9yeS1pdGVtLXRyYW5zZm9ybSIsNjIyMzQ6Im5zZC1pbmZsYXRlLXBha28iLDYyNTU3OiJzdXBwb3J0LXdpemFyZC13aGF0cy1uZXctcGFnZSIsNjI4MTE6Indhcm5pbmctcG9wdXAtaW1wbCIsNjMwODg6InBpbmUubW9uYXJjaC52MyIsNjQ2NDQ6InJlYWN0Iiw2NDk5NzoidGFiYmVkZGlhbG9nIiw2NTYyMzoicG9wLW92ZXIiLDY1OTQ3OiJ2YWxpZGF0ZS1hZGRyZXNzLWRpYWxvZyIsNjYzOTk6InNub3dwbG93LXRyYWNrZXIiLDY2Njg3OiJyZWNhcHRjaGEtcG9wdXAiLDY3MzAzOiJzY3JlZW5lci1tYXJrZXQtZGlhbG9nLWltcGwiLDY4MTU1OiJpbWFnZS1kaWFsb2ciLDY5NDg2OiJjbGVhci1jb252ZXJzYXRpb24tbW9kYWwiLDY5ODc0OiJsb3R0aWUud29ya2VyIiw2OTg4MToid3JvbmctYWNjb3VudC1kaWFsb2ciLDcxMTg1OiJiYXNpYy1xdW90ZXMtc25hcHNob3RlciIsNzExOTI6InF1b3RlLXRpY2tlciIsNzEzMTk6ImFsZXJ0cy1jb2xsZWN0aW9uIiw3MTM5NDoiY21vbmV5Y29tdHctY29weXJpZ2h0LWRhdGEtaW1wbCIsNzIxMTE6InBpbmUubW9uYXJjaC52NCIsNzMzMDA6ImNvbnRhY3QtYnJva2VyYWdlLWludGVncmF0aW9uLWRpYWxvZyIsNzQzNjQ6ImNvbnRleHQtbWVudS1yZW5kZXJlciIsNzYwNDA6InRyYWRpbmd2aWV3LWNvcHlyaWdodC1uZXctZGF0YS1pbXBsIiw3ODcxNzoicGluZS5tb25hcmNoLnY2Iiw3ODg0MToibWF0Y2hlclB3bmVkRmFjdG9yeSIsNzg4Nzc6InBheW1lbnQtb3JkZXItZGlhbG9nIiw3OTA0MToidHJhZGluZ3ZpZXctY29weXJpZ2h0LXRyYWRlLXdpdGgtZGF0YS1pbXBsIiw4MDkzOToidHJhbnNsYXRlZC1zeW1ib2wtZGVzY3JpcHRpb24iLDg0MDcwOiJzaG93LWVycm9yLWRpYWxvZyIsODUwMzg6ImxlbnRhcnUtY29weXJpZ2h0LWRhdGEtaW1wbCIsODU2NTI6ImhhbW1lcmpzIiw4NTk3NDoic2lnbmluLWRpYWxvZyIsODYwMDE6InBheXdhbGwtbWFuYWdlciIsODY5MTQ6InNwaW5uZXIiLDg3MTk2OiJsaWdodHdlaWdodC1taW5pY2hhcnQtc3R1ZHktZGF0YS1zb3VyY2UiLDg4NTkwOiJvcGVuLXByaWNpbmciLDg4NjQwOiJzdXBwb3J0LXdpemFyZC1tYWluLXByb2JsZW0iLDkwNDE1OiJzeW1waG9ueS1jb21tdW5pY2F0aW9uIiw5MDgxMDoiYWRkLW1pbmktY2hhcnQtY29weXJpZ2h0LWltcGwiLDkwODY0OiJ1c2UtdXNlci10aGVtZSIsOTA4ODA6InJlbmRlci11bnN1YnNjcmliZS1kaWFsb2ciLDkxMjkyOiJwYXl3YWxsLW9wZW4iLDkyOTY4OiJjaGF0Ym90IiwKOTMyNDg6ImFsZXJ0cy1yZXNwb25zZS1tb2NrcyIsOTMyNzk6Im1pbmktY2hhcnQtYmFyLWJ1aWxkZXIiLDk1MjA3OiJzbm93cGxvdy10cmFja2VyLWJhc2UiLDk1NzU2OiJ0di1jb2lucyIsOTYzMzc6ImNvbnRhY3QtdHJhZGluZy1lZGl0aW9uLWRpYWxvZyIsOTcyMDI6ImdvcHJvLW9yZGVyLWRpYWxvZyIsOTc1MDk6InRyYWRpbmd2aWV3LWNvcHlyaWdodC1kYXRhLWltcGwiLDk4ODMwOiJ0d28tZmFjdG9yLWFwaSIsOTk4MDU6ImNvbnRhY3QtYWR2ZXJ0aXNpbmctZGlhbG9nIn1bZV18fGUpKyIuIit7MzQ3OiIxZjdkNjczN2UxOGQ1ZThjMWQzYSIsNTc3OiI5YTM5NjFjMTRmMjI5M2Y5MDllYyIsMTUyMToiNzI0YjUwYjBhMDg2YThiMWVmYzAiLDE1MzQ6Ijc0ZmZlMWU3MjVhNDY1ZDQzNDFlIiwxNjQ2OiI4YzgwMDA1YWYyMTU4YmQwODNkYyIsMTc4NzoiZGVlODBiMWQ1Y2M5MGQwMGQ3OGYiLDIyODQ6ImM0NGFhOTI2N2JlOGRjMWM3MTc5IiwyODUxOiJlNmJmMjAwMGQ0ZmI0YzgxMDAxMiIsMzQ2NzoiODk1NTBjMmI5MWRkYzQ4MDI5MDkiLDM1NTI6IjRjNTUzNTE4M2I3YTAzMzBhODlkIiwzOTYxOiJmM2IwY2VmM2FjOWNkOGQxMTAwZCIsNDg3NjoiMjc0ZDU1YTAyZDMyNDA4NzY4NzYiLDY5MzQ6IjkwZWRmZWY2Y2U5ODM2OWFlMDRhIiw3MjExOiIyZjkzNGIzMGNmMzg2NTE3MTQ0NiIsNzI4NToiOGJjODI5MjY2NTI4ZmE3NGFmNWMiLDczOTc6IjA1OWU2MjI5MjQwMjMyNzAxNmM0Iiw3NjA4OiI5ZGQxNDY0OTIyYzFlNjUxNTZhOCIsNzY3NjoiMGFmMTY3NzMxOWRiNzBhNzFjZGQiLDc3MTg6IjlhMWU0ZDgzOGUyMjJhM2EyNzNlIiw4NDY3OiIwODNkZDdhNTEzZDc3ZGIzZDM0NCIsODYwODoiZGE0YzY5YzJhZjg0ZmI4ZmM2MjYiLDk1OTk6ImU4NjZmYzcxYTRmNjlhZmVhMDliIiwxMDcwNDoiN2ExYThhZDc0NzNkMWVkN2RlODYiLDExNDM1OiIzNTM1OWU3NDU4YjgyMTI0NWY0NiIsMTI5NjU6IjQwNmVlNTlmYTAwOWYwZTljMjZiIiwxMzEyMzoiMzNjMDFmOWQ1MGJhM2NmZTFkYWEiLDEzNzE5OiIzMzIwOGFkMDk1Y2UyODI0MGE2OCIsMTM3MzI6IjVhZjFlZWE1ZTIwNDg4ZTI5MjA0IiwxMzk5MzoiM2IxOTljNmFkOGJmNWMzY2FjNjciLDE0ODg5OiI2MjEwYjFjNTZkYzNiMjBjOGZmYiIsMTUzOTQ6ImZhY2Y3NTNlOGNkZmI5YjkwODMxIiwxNTc2NzoiOThmOGZlOTZiYjc4ZmU1MDhlMDciLDE2MDc2OiI2YTYyYTY0YTVhYmYxNTIyNDNhNCIsMTY4MTM6IjdlNDUyN2JjNTUyMTllYTNhZDc2IiwxNzc5NzoiYjJmMjk0NTAwMGFjYWFmMmQxNjUiLDE3OTkxOiJhMzA3YmZlMDAyMzRkYzQxOWJmZCIsMTg1MTI6ImEzYmNkYzcxYzY4NjAxYjdkYmZjIiwxOTAxMjoiYjc2YzU5ZmRhY2JhYmFiYWYzNDgiLDE5MzExOiI2MjhjNmQzZjc2ZGFjODgyZTgyZCIsMTk0NjM6ImNiOWE4MjU3N2NlODFiNDY5MmQzIiwxOTc2OToiYmVlM2NhZjYyMTY4YTk5YjFkZTYiLDE5OTM4OiI1ZTU0MWY5MGJjZWIxYTdhNzU1YiIsMjAzMzE6Ijc0MDM1ZmU5Mjk3MTgxYTEyN2RiIiwyMTI2MDoiZDA5NTVhYWU3NWY4N2QzYmQ0MjEiLDIzMzY0OiI4MDJjZGFkYTc0ODQ1N2NiZmRkOSIsMjM3NDM6IjQ3MzMxMzdhZjJmMjMyYTZhMzRhIiwyMzc2OToiNjZjZWU2NWEyYTg2MGEzMDZkODgiLDI0Njk4OiJiZDk1NzA3MzA5NWJhYjdkYTU5NiIsMjU4NTQ6ImE2N2M2ZDVjZjMwZWIyYzkxYzk5IiwyNjA2NjoiMGYxZjFjYjE5YWY5ZmYzYWY4Y2MiLDI2MTQ1OiI3MjExZmY1ODA4ZjBhMThhMWU5ZCIsMjY0NzM6ImU2OTJlYzRhNTMyOWNjZTYxYWMzIiwyNjcyMzoiOGE2ODA3MmM3N2VjMDAyNjc5MDUiLDI3OTEzOiIyOTE4NjEyMjcyMmNmMGNjYjlkYyIsMjgxNzY6IjIxMzQyODY1ZTc0ZmZiZWZmZjQ0IiwyODUwNzoiZTllNWVlZDEwOGRjOWIwYmI0YTciLDMwMzA0OiI4OTZiZTI1YWE5MjFhODIxNGUyNCIsMzA0MjE6IjQxMmMzMTlkZGJhZGNjOTk1YzcxIiwzMDY5OToiMTM4NmRmYWE3OGU2ZTVmNmM4N2MiLDMyNjEzOiI3MjMwZDczZWRhNjQ5NWY5YTkwZCIsMzQxODk6IjAxNmJjODQ5ZjQ2MGI2ZGNjZjQzIiwzNDY0NToiODQxZWE2MTY4OGVlYmJiZDY5NmEiLDM0ODc5OiIxZTZjZjFmNWE5MzU4ODgxZGU2NyIsMzU1OTI6ImUyNzExZjY1YjVlNGU0MjZjOTBkIiwzNTk4MDoiYzM0MDQyYTRhMTBjYjVmYjJlM2QiLDM4Mzk4OiIwMjU1MGMxYTQ4YWM5MzYwY2E5YSIsMzg3ODc6ImVlZmFiMWQzYWZiYjMzMjhmZWQ2IiwzOTQ0MjoiMjc0MDk2M2I3OGVlNGE0ZTk2NDAiLDM5NjA5OiI4Y2UwZDc5M2IyYjYwYmU3YTRkNSIsNDAxMDE6IjRjMWJkYTJhYmJmYWI4NDczODJkIiw0MjE3MToiMWMwNWQ4MTQ3YzIzMGQ4NmI0ZmEiLDQyMjEyOiI0NzU0YzI4MDRhYjlhOTc5Nzc2YiIsNDIyODg6IjQ3ZWNhZWNhMTAxMmVlM2UxZDhjIiw0MjQ1NzoiMzI4YTg1MjM3N2Q2NDQ1NzBiMGMiLDQyNzA2OiI2YjExNWU3Mzc3MjU0M2Y0YmMzMCIsNDM5ODA6IjdlMDM3Y2ZjN2IwMTJhOTcwMzM2Iiw0NDE2MjoiMWU2MmJjNzNkZWQ4NTgxMmYzNDMiLDQ0NzgwOiI3OWQyMDUxZDNiODRjYWVhYjRlNiIsNDUzMjI6Ijg4NTFhMmQyZTE1ZGI5MjFkNDhhIiw0NjE2OToiMTkwMzg3OWMyMjIxZmNhZGNiYTgiLDQ2MjE3OiIzZDg2NGJiNGE3MGQ0ZDNkODQwZiIsNDYzODM6IjZkMGJlYTAxNGUyNDZhOWUwZjJkIiw0NjYwMDoiMjQzMmE4NTNlZjg1YjM1ZDRlMmYiLDQ2ODIzOiJhYmE1MWJkMTFkMjNkOWNmNjFlMiIsNDc5NjE6IjdjNjk1YmVmZGQwMDc3MWZjNGVkIiw0ODAwMjoiYmE1MWRkODM2MjFiMGE0MDgzMDciLDQ4MTc4OiI1MzlkNTQ2ZDNkZDQ5NjVjNzJkZCIsNDg0MTM6ImYzZjFjMTcyZTE1NDI5NGQxNzYyIiw0ODU1MjoiOTM0Y2QxNDdiYTMyYTc1ZmM0NzkiLDQ4ODU0OiJiMDczZjRmNTljZTlkZGMwOWRmNCIsNDk4Mzk6IjI2ZmZkZTY5NzUwMjUyYTRkMjJmIiw1MDE4MjoiYTdhOWQ0MTFhZTI3M2YzMDUxMzIiLDUyNDUzOiI2NDczNzExMmU1NzZlZGFjMzQ1ZSIsNTI1MDk6IjQwNjU5NDcwZTUxYjA2NWQ1MTM5Iiw1MjgxMToiMjg3MDBkNDFmNDY4N2JlODE1OTciLDUzNjUzOiIwMzBhZDU0OTk3MDE1MzQzMGY5MCIsCjUzNzcwOiJiY2NkZjI4OGNhMWYyMDU0ZTE0NSIsNTM4ODE6IjNiY2MyZTRmYmEzZGJlZWM2OTEwIiw1NDYxNToiYTQ2ZDM5M2NlY2Q1MGMwMjZmOTkiLDU1MjI5OiIyNTcyMTg4MTlmYWE2NjM5YTM4OSIsNTUzNTY6IjY1ODU5MTlkOGU5ZDllOWM3ODVjIiw1NTk2MDoiMzBlNjRmMzYxNmJlMjI1NjBjYzIiLDU1OTY5OiI0M2MzNzQ4MDE0ZGUyY2QwYmQxYyIsNTYwMDg6IjY1MTljMTQ4NWVjYjlhNmU3OTliIiw1NzA4MjoiNmZjYzZhNTViNWYyODRhOWMyYzEiLDU3NjM5OiIzNDljYmZhNzhkNjEzY2Q0ZmIzNSIsNTc3MTQ6IjMyNTRkOTAwNjkxM2EyNjhmNTY4Iiw1ODYxMzoiMzI3N2RkYTBiMmVhODkyOTY2YmIiLDU4ODE3OiI3ZTY1NDM0MTFiNmMxMzVjN2E4ZiIsNTk2MTk6ImVlNjE3ZTkxZjViZGExNGM2YWQyIiw2MDQ1MzoiMmYzNzY4NGNhNjhkODIzYmQ1N2QiLDYxMTgzOiI3Y2JkMTZmYmM3YzUxOTE1OTM0ZiIsNjE1MzM6ImFlZjE3MGE2NTM0MWM2OWQ2NmM2Iiw2MjIzNDoiMjIwYjAxYTQyMmQxZGRjOWE2ZTIiLDYyNTU3OiJjZDJhYjEzZGI5NGM0YjgzYzY5YiIsNjI4MTE6ImI0NGU3NTQxZmI2OTdjYjhhNzEzIiw2MzA4ODoiMTRlZDZhMWYzZjgwZGZhZGE5MTUiLDYzMTYwOiIyYTNhMjExODVmYmNjNzA3OWRhZSIsNjQ2NDQ6IjkwOTkyYzlkMGQ1ZGM5MmM4OWI3Iiw2NDcxNToiNWY0OTE0OWNjMzJlOWVmYTE5N2IiLDY0OTk3OiJiOWJmNjAyOGFkZmMyZDAzZTY2ZiIsNjUxMDA6ImY0MjJlMWFkMDYwMTZkYjBkNDdhIiw2NTYyMzoiZmY0ZmI3NDg0MjVkMmM1Yjk2ZDkiLDY1OTQ3OiIyZWUwYTcyYzFmMjhiNDkyM2JiMiIsNjYzOTk6IjNmNjg2NTdkNWZmZTI5YjIxZjYyIiw2NjY4NzoiNjYxNzRhNmJhOWFiMjdhNGMxNWYiLDY2OTMzOiJjMWIxZWQ3Zjk3NWFiZGU1NjU5YyIsNjczMDM6IjViYTJiYmQ5YWY4OGVjMzQxNDRiIiw2ODE1NToiY2ZhNDAzZmQwZGVhZWU3ZjZjMjMiLDY4MzA0OiJmNjY1OTY5MjRkZjZlODkxNjNiZSIsNjg3NDE6ImNiOGMyNDRiZmI2MTQwY2MxM2JmIiw2OTEyMDoiMzIyYThhMzEwM2Q2ZmMwYjE5ZGUiLDY5NDg2OiI4ZmMxYzcwODliMmE2ODQ2YmMwOSIsNjk4NzQ6IjBhMjFlODBiNDQxOTY5OWFlODMyIiw2OTg4MToiMDY3N2UxNWMyOGRhZjVkNWVhZmQiLDcwNTkwOiIwMTc4M2JkOWIyNGIxNTVjOGUxZSIsNzA2NDQ6IjQ0ODc0M2RlZjMyNWZlYjYxOTY3Iiw3MDcxMjoiOTI4MDI4YzQzYmE5YjcwN2U4MTEiLDcxMTg1OiJiNGQyMTIyZmJmYzMwN2ExZjc3MiIsNzExOTI6IjNmNWJmYTU2MGYzZDg2NzZhYTBlIiw3MTMwMDoiYjY3MDk0MzM5NDAzMzlkYzFmNjYiLDcxMzE5OiJmZTYzMTFiODIyZTA3OGYzY2MyZCIsNzEzOTQ6ImU2Mzk3NWJhMWQzNjdkZjdhOWQ4Iiw3MjExMToiNDRlNzk2NGFiMzgxYmNiNTRkYTUiLDcyMTQxOiJkODE3ZjRiZTNiMTE4NWQwZWY0ZSIsNzI2NzQ6ImRjYzE3NTI1NGUwYzY2NjJkZDE0Iiw3MzMwMDoiNjM5NTQyNjAxZjdkZjc4M2NjMDciLDczNTczOiJjMjBlYmZkYmQ5Mzc2ODk2ZjM4YSIsNzQzNjQ6ImQ1MWNlYjhkMTA2YTQ5NTFjY2YzIiw3NTQ4OToiZDljMDkxZTFhZWMyNDNjYWIxYTciLDc1OTMwOiIxNDNjM2IyNDE2YTUwOTg5MzdjOSIsNzYwMzM6IjQ1N2ZjNmE5ZGVhOTNhYmM2NGE2Iiw3NjA0MDoiODlhNTFiOTg4ZWM0M2VkMDRlZTciLDc3NTc4OiJmNmRiNDYwZWQxZThjZTMxZWE4NiIsNzgxMDk6IjRhZWJmM2I3YWJhZjNhNDMwZTM2Iiw3ODMxMjoiMDkwZDhhMDAyYjk0M2QyOGE4MjYiLDc4NzE3OiJjM2MwYWE5NTBjYzJhYmQxNGQ3YSIsNzg4NDE6IjJkZjljNjhlMmIyN2U4NTkyMGJiIiw3ODg3NzoiZDIwMDNiYjhiMzEzYzhiZTg1ODkiLDc5MDQxOiJiYjRmN2NiMDY4ZmZiZWU4Y2JiYSIsNzk5OTY6IjFhNzFhYjVkMjYzY2RiYWE5NDhiIiw4MDkxNToiNjk0MDRmZGE4YWFmYzI3NDJjNTUiLDgwOTM5OiJjZWM1ZTMyYjYwZGJjNDM3OWU3NiIsODE4Njg6Ijk2YmUxZDBhNzI4NjNkY2M0N2I5Iiw4MjIzNzoiZGVhODI4NTkxMWQwM2ZiMDZjNWIiLDgzNzgxOiJhNDMyM2IwZjAxODFlOWRkZmE2MCIsODQwNzA6IjNmZmIwMDcwNjhlMGNjN2M1MDdjIiw4NDM3MToiMjU2NTQ1MmNhZWNhYjk5ODI1NWMiLDg1MDM4OiI0YzBkNmRmMzA0NWRlNDE3MzE3OCIsODU0MzQ6ImI4NWI3NWRmOTFiMjJiYWM4ZDM5Iiw4NTY1MjoiOGYyZmY0M2I2OGJmZTZlYTEyZmQiLDg1OTc0OiJhZWU2MjQ0NDA2NTU4Y2MxNTdkMyIsODYwMDE6IjA4MzcwYWRkNWIwNzgxZjk1OTI4Iiw4Njg2MDoiNDc0ODc3YmUwYjIzNWRjOGNiNGMiLDg2OTE0OiJmNjMxNDcxZmFiMDM4MzcxYmFkMCIsODcxOTY6ImIwOGYyYWEyOGJmNDA2OWE4ZjRjIiw4Nzg1ODoiNjkxMzdlNjJiYmQ1ZTBhNjNhZjQiLDg3OTk1OiI5MTFiMjYxODE3NzhmZWNjNGI0ZSIsODgxNzI6IjNhODE5MDRhZTk0MTIxOTAyZmZlIiw4ODU5MDoiMmY1ZTIwNGM3ZTNkZDkwNjg3OGQiLDg4NjQwOiIxYjUzOTkwNDQwYjIzMWI3MGYyZSIsOTA0MTU6IjhlMmFjMWVjMjJhMGEzMzYyNDUyIiw5MDgxMDoiZDVjZGE2NGMzYmU5MmNjNTMwNWEiLDkwODY0OiJlMzE4ZDQxZTY0MTMxYTZkNzgyOSIsOTA4ODA6IjkyNTBjMGY0YzY2OTNmZjFjOTUwIiw5MTI5MjoiNjUxNmJhYmEzYTVkOThlNTBiYTkiLDkyOTY4OiI0YzQ1MzZkMGM3MTYyMmU5N2FhMyIsOTMyNDg6ImFmZGU1NDhkZmUwOTExOWI2OWI5Iiw5MzI3OToiZjMzYjA1ZDNmZmMyNGE2MTUxMjYiLDk0MTgyOiIyMGRjYzc4YzBlODQ4MWQ0MzQ3MCIsOTQ4MjU6IjhhOTBjMGMzZWJkNDEzZWI5YzgxIiw5NTIwNzoiNDY1ZjhhZjFhYTcyYWMzYTFjMzIiLDk1MjQ0OiI5ZGE4ODljMTM2ZDI1MDZhM2Q4MSIsOTU3NTY6ImVhMjMzMTQzNTI4M2QyNTMwNGE1Iiw5NjMzNzoiODZjM2NjNjEyYzk4ZjdlNzc0OGQiLDk3MjAyOiIzMjNjMTFjZGFmZGNhMzJkNGFkNyIsOTc0NzI6ImU4MTk1NDA1Zjk5MDU1YTgzYzZmIiw5NzUwOToiMjdmMzQ5YTFkNTg0ODNmMjdlYWEiLDk4ODMwOiI0OTZiZWRiM2U5MDcwZWRiNTkyYiIsOTk4MDU6Ijk5NTVhNzc0NWY4NDk3NDE3MTgyIn1bZV0rIi5qcyIsCm4ubWluaUNzc0Y9ZT0+OTc3OTc9PT1lP2UrIi5kOTg1ZWViZTY3Mzk3ZjAyZmE2NC5jc3MiOjUyMzk2PT09ZT9lKyIuZWQ3NmNhZjJmZmUwMTQ0NjBiYTYuY3NzIjoyMDM1ND09PWU/ZSsiLjJkZGY5MzRmOGVkYzI4MDJkOTBhLmNzcyI6MTM0OTI9PT1lP2UrIi4yYzc3NzMwZDExMjVhNDk4NWJkYy5jc3MiOjM3NzQ2PT09ZT9lKyIuMzQ1MjI3YmIxNmUwZDhiYzliZDUuY3NzIjoxMjM4NT09PWU/ZSsiLjc4NTYxZWJkZWYwNWNlNjQ4YjVkLmNzcyI6ODEwNzI9PT1lP2UrIi4yOTI3YTE3NzIzMWZkZDBlMjRjMS5jc3MiOjUxODQ9PT1lPyI1MTg0LjBmYjQ1NzRjYWNlYzE2ZjYzNjVkLmNzcyI6MTEyMTg9PT1lP2UrIi4xMWZlN2U4ZmRhMzAxOWFhYzFhZi5jc3MiOjcyNjY2PT09ZT9lKyIuMjIyOTE3M2JmNGQ2NzQ0ODQ2MzcuY3NzIjo5NDk0OD09PWU/ZSsiLjBmYzg4ZmE2M2MwNTRhOGQ3Njg0LmNzcyI6MjQ1ODE9PT1lP2UrIi40NWRmMDIxODFjNDUwOTczMmQyMC5jc3MiOjIzNjI0PT09ZT9lKyIuZDIzOTBkMTdiMTUwOWIwMTg4MjYuY3NzIjozNjIyMj09PWU/ZSsiLmU5YmU5YTczM2UxMTQ3MzBhNGVhLmNzcyI6ODM0ODg9PT1lP2UrIi4yYTM1Mzc3ZmQ1NGYwYWY0MDg3NC5jc3MiOjY3Nzk5PT09ZT9lKyIuZTI0OTU2OTFjZWExN2IzYTgxYzIuY3NzIjoxMTQ2MT09PWU/ZSsiLmUyN2NiNGVjZjMwNDkyYWMxMWY2LmNzcyI6OTY1ODc9PT1lP2UrIi45N2ZkZDY1ZjIwMTIxMDZmZjExZS5jc3MiOjg2NDIzPT09ZT9lKyIuNzk3ODNhYTcyYjZlMjkyNTJkMGMuY3NzIjozNzUxMz09PWU/ZSsiLmRlMTU3NGIzMzg5ODAwYzkzZWJjLmNzcyI6OTUwND09PWU/Ijk1MDQuOTAzNzdmN2Q1OTQ2Y2YzMjU0ZjAuY3NzIjo0MDgzNT09PWU/ZSsiLjc2YTFjNzkyM2EyYzk4NmJlOWFjLmNzcyI6OTM0MjE9PT1lP2UrIi45NTM4MWY4ZTAwNGQwZDJmYThjZi5jc3MiOjQ3NjMyPT09ZT9lKyIuMzNkMmEzNzQ1YWY0OTdlM2RhNWQuY3NzIjozMTgzNz09PWU/ZSsiLmQzNjhjYWE2NGQ0OTRhNDA4N2NjLmNzcyI6NzY2NT09PWU/Ijc2NjUuOWYxZjMyYjE3NzNiMDU0ZmRmMDcuY3NzIjo1NTAxMT09PWU/ZSsiLmY5YzBhM2MwOWY3Yjg3NzlhYTM3LmNzcyI6NTAwMzU9PT1lP2UrIi4wMjI3YzA5ZThkZTNiNDAwODM5NS5jc3MiOjc4NjUyPT09ZT9lKyIuNGI0ZTA5N2EzMDNkMjFiYzk3ODEuY3NzIjo1MDIyMT09PWU/ZSsiLmY0OWRhMmE3Mjc5Nzc0YWE1ZmU4LmNzcyI6NDUzNjg9PT1lP2UrIi45ZmYwMGEzZTM4MjEyMDI5YmE1NS5jc3MiOjI2NTkyPT09ZT9lKyIuMWM2MTIzOTAyYmM4OGViYTlkNTcuY3NzIjo2MjYzMD09PWU/ZSsiLjUzNzMyZGFlYTgxNzg0NDczOTNmLmNzcyI6ODQwOD09PWU/Ijg0MDguZGU1MzQ2NjNlMDUyMDc1YmExMmYuY3NzIjoyNzUxNz09PWU/ZSsiLjczNjEzNzRkZWUyYjUyZmQxZjhlLmNzcyI6NDM2NDQ9PT1lP2UrIi4wZjdjMTQwMDE5YTY3ZmQ1MGJlNi5jc3MiOjE4NDcyPT09ZT9lKyIuZDk0MTliNmRjYjY0Yzg4NTY0YzEuY3NzIjoyNTgwOT09PWU/ZSsiLjhkZjRlYTdiMDk5YWRjMTVkMDY2LmNzcyI6OTgwODQ9PT1lP2UrIi43Njk0ODc2NDAxNGFlMWQ0Y2NmYi5jc3MiOmUrIi4iK3s2NDU6ImZiMzUwZDlhYzljNzgyZTVlNDM5Iiw2NDY6ImVlMjhiMmIxOWNjODgzMjc2NGI1Iiw2NTc6IjI5ZGRkNGYwNGU2ZWM1MGRhNzBiIiwxNTA5OiIyN2M0ZjAxMWMyNTk3YWRkNzI3NiIsMTY3ODoiOWU5OWM2YzdjMTQyNDRmYWU3NGUiLDIzMzE6ImE0MTczYWZhMTVjYTg1YWQyZjY1IiwzMzIzOiIzZGE3OThkYTM1ODA2Zjg2NzlhMCIsNDA0MjoiZmE5NDk2ODBhMmFkZjllMWFiODQiLDQ0Nzc6IjUxMmMwNDcwOWEzMjU5YmQxMTI0Iiw0OTI5OiI2ZGQ2MWQ1YmY5NmFiMjM0M2Q5OCIsNDk2OToiYzNhZGIxYTEwOGJmMmJhZjljYjMiLDU2ODk6IjA3ZDBkODUyNGJhNGI5YWY0YWRiIiw2MDgyOiJlMDJiODhmNTRmNjhjYmE0MjQ3MSIsNjQ0NToiYWM2MzViYTE1MTk0ZGY0ODQ2MTYiLDY1ODM6ImJjYzU3NDNlMjM2ZmZjNWI3Y2NmIiw2NjA1OiIxZTg5NDIzMTliNDg1YWZjMWY3NSIsNzE2MzoiZWM0ZTdiY2MwYzc5ZTJlNjA3NGQiLDczODc6IjNkN2Q4NjQwMjJjODRmOTI4YWRhIiw3NDQ1OiI3ZGE5NjZhNDQwMTZhZTdhMDJmOCIsNzg5OToiNDdhYWQwNWVhYTIwYmYzMDEyZjciLDg1Nzk6IjZmNjUxOGJlNDI5MzgyMjc4NmUwIiw5ZTM6ImY4NmUxZmQxMDVkOGNjN2FlY2Y0Iiw5MTQwOiI1MTI4MzhkN2U2ZTEwN2YwNzM4ZCIsOTc0NDoiNzBiNTEyNjQ5NWY3YWRjY2FmMmYiLDEwMzY2OiIwN2UyMGU3YmJlZTI3YzlkNWZiYyIsMTAzODU6Ijg3NDRkNGY4NjcwZGFjMzEwZDFmIiwxMTAwODoiNTJhZmE1ZWVkNGExY2Y2NmJlZDYiLDExMjU3OiJlNzlmMGY3OTk1ODg0MDQ3M2QzMSIsMTE0ODk6IjU0N2UzMDNlMjkyZjU0ODE0ZGI0IiwxMTcyNToiMzFlODBiMjNkMTUxNjIyMzJjNDgiLDEyMDUxOiJiODRiZTc4MWJiOTBkNDU3ZjFkZiIsMTI1NjU6IjFkNDA1MzY3OTdhMjk0MTljNjZlIiwxNDE5MzoiZmZlNmYxZjczZGNiMThmMjliNTUiLDE0NjI1OiJhZGE2MTJjY2VmZGVmNzc5ZTI5NSIsMTU1MjY6ImM4MjljNTJmZWQyNTk4NTViYjk2IiwxNjQyMToiMzFkNmNmZTBkMTZhZTkzMWI3M2MiLDE3NjkzOiJiNTI5MzM0YzhjNzYwZWUzNTFkYSIsMTgxNjI6ImQwNjE4NGJjOTcxZWNiZGRhM2IzIiwxODQwMDoiNGYzMWU3ZDk4MGIwNDhlOTU3MmMiLDE5NTEzOiI4NzQ5ZWRjZTY0YTdlMmRlMjU4MyIsMTk1OTU6ImQ5NjJhYjc1YmQzZTFiYWE1YWFlIiwxOTU5ODoiNzhlMmRiMjFiNjlmMTQ1M2Q3MGMiLDE5Nzg3OiJiYmI2NmZhMGZkMmJkMDRkMDg3NSIsMTk4MzM6ImE5YjhmZjQ0YThjNjc2MzMwNzlhIiwyMDI3MToiMGMxNGYxMjZlMzhmNmI0NjA3N2UiLDIwOTcxOiJkNDZhMzc4MGI0MDA1ZDk0N2Q3NCIsMjA5ODY6IjQwZTM0ZTIxYjNkODE5ZGY0OWU1IiwyNDQwODoiODZlNDVlY2YwODg0YmU2YTZlZTMiLDI1NjQ3OiIzZDQzMDE5OGM0MjIyMzlhNWY5MSIsMjU2OTg6Ijc2MDVhNTgyM2NhNmQyNWZlZTQ2IiwyNzU0OToiM2VhNjQ3NWM3OWFiOGUxMWU5MDUiLDI3NzM2OiIyOTNkOTQ3N2MxOTU0ZjE5NzdhNyIsCjI4MDE3OiJmZTc5OGY0ZDdjY2YwMjRiYmIxNSIsMjg0MTM6ImQ5MTIxYmU2Y2QxMzcwNzNmZDNhIiwyOTEzMzoiYmRmYTE2NzA5M2YwNWRmYjI0ZDAiLDI5Mjk2OiJiNDA4ZjI4MjJmYTViOTU2OWJhYyIsMjkzMjc6IjVhNjIzZmU0OTg4MmI5Y2Y1MWU3IiwyOTUzNjoiNzM2ZjQ3MWE4ZDY0YTgxMjJmZDgiLDI5OTQzOiIyZjMzNzMzZGQ2NDhiODJjNDZmYiIsMzAzNzM6ImRlMzJhM2NkY2FlMTJiMTVkNmRmIiwzMDc0NToiZTc4ZDgxYmYyNTBjZDZlNDMwNjgiLDMwOTYwOiI1NDcxMDk4YmQyN2Y5MGYzMTE1ZCIsMzEyNjI6IjI2MGI2MTg3OGUwNTlhNDJlNzlhIiwzMTU1NzoiZTZhZWY1MWYxMDkzNDJiNTk5MWMiLDMyMTc2OiI3YzU3Yzk4OTMzYjhjZmQzZjhlNyIsMzI3NDg6IjJkZDE4ZTIwOWE3NzJlYTRmMWQ3IiwzMzEyMDoiM2U2ZDFjMzNkNmM1MjVjMDc3MWYiLDMzMjIxOiJmNDJjYzU1YTkwYzk4ODQxMjFlNSIsMzMzNjg6ImYxNWRmY2JjMGY3MTk2ZDdkNjc2IiwzMzU1MzoiMGRmOWIzNTJjYmM2ZmEwM2NjYTgiLDM0NzU4OiI4ODBkOTczYmY2Y2JiYzQ4MjE3NCIsMzUwNzM6ImI4NTYzMmVhYTIyY2YxOWU3Y2QyIiwzNTE5ODoiMjJhNTY1NWY1M2UwOTFhMmZiNzMiLDM1NjMwOiI4YjllZTI1YzVlMmQyMzRkOTk1MSIsMzYzNTY6IjY4ZTY2YmY3NGZkYjI0M2Q0MzJhIiwzNjU0NToiZmM0ZWIzNzExMmUzNWUwOGQwMmMiLDM3MzkwOiIzMmZlYzg3MDMzZTI4YTVkODY0ZiIsMzc3Njc6IjQ0MDI5NjA2YzczYTY4M2U3YjBjIiwzODI2MjoiYjQwZTdlNzgwNjQxNjNjZGMwZDIiLDM4ODY4OiI1ZWU3NDFmZDYzODY2NmQ0NDVkYyIsMzk3ODY6IjJiMDBkYzIxZWY5NDYwMGUwOTY4Iiw0MDIyMDoiZTBiZTM3OTczNDVjNmUyNGNlY2EiLDQwODY3OiI0OTU2YzYxNWZkZWFkODFkY2QxMSIsNDA5MTQ6ImE4ZGQ2OTZiZTdkZGU2Y2U2ZGRiIiw0MTU4ODoiYTRkMWZiYmZiYzEzYmFlNzYwZDAiLDQzNDQxOiJhYzYwMzUwYzg2YzU3ODExZjIyMyIsNDQyNTM6Ijg0MDViYWYzM2MzZWZkMDE1MjhlIiw0NTk0NToiNWM5ZWNjZDI4MWNhN2YyZDc5ZTAiLDQ2MDM0OiI3ZmU1ZDY1NTVkMzUyMzg4NzIxNCIsNDY1OTE6IjhkMDMzMzk0YjgzYjYxNmJmMDY2Iiw0NzAyMToiZWQxMTM0OTdlZjMyYTY1MjZlNTAiLDQ3NTUxOiI4ZDJjZTUyNGIzOGU0YTkyNTQ3ZiIsNDc1Nzk6ImRjMzg3OTE5MWMwNGI5MzhmZDNmIiw0ODg2NDoiYzdiMmFmOThkOTE0ZWJkODMyN2MiLDQ5NTM2OiJjYmEyMDdhNWJhY2Y3YTE1M2EzZiIsNDk1ODg6IjE1NDI2YjIyMjc5NTYxZDk4ODBiIiw1MDMyNToiNTc3Y2QxMTQ2MTYyYmNmMDVjMmIiLDUwNjIyOiI1ZjA1ZWY1MWFiMDIzOGRhYTM2YSIsNTA4MDA6IjgwZjkwZTA0NDllZjIwZjM4OTg2Iiw1MTAzMDoiYjdmNTNlZDYzNWIwOTJmZDE2OTEiLDUxMjEzOiI2ZGIxOGY1NDVlOGZjYTg1OTFkMyIsNTEzMDk6IjZmMDJlYWMxNGJmMDIyZGMyYTQ3Iiw1MTMxNToiNDUxOGM0MGM1OTRkN2M2YzczNDciLDUxNjgyOiIxNWQwMTM0NzJiODVjZDk4NTE3YSIsNTE4ODA6ImNmODA5NmFkOWNmNjY1ZThmM2JiIiw1MjA2NToiZGU5ZWRkYjMzOWFjNzdkMWRiZjgiLDUyMTc4OiI0ZDU2MmEyNWFkM2MxMzc5MjFlMSIsNTI2ODA6IjhlZmE2YjRkOTk4MTg2ZjM5Y2JhIiw1MzMyOToiMDNhNmQzNDAzNWMxNzY4ZmI3ZDUiLDUzNTIxOiJkYzliYzcwYTZhODBmMmM5NGY1NSIsNTM3MTM6IjQ5ZDg4M2M3N2IzZDc0ZjQ3YzEyIiw1NDA5MzoiZDgwYzBmZmIyMzQ1N2ZmODVlZjQiLDU0MzEwOiJjZGQwMjJmZGFmZTQ0ZmMyYzU4OSIsNTYyMTM6IjAwZDI1ZmU4YWQxNjllMzE4YjJlIiw1NjI1MjoiMmI4MmY1NzViYTFjZWI1NGZhMjkiLDU3MzAwOiJjMWY1ZmM0ZTE1OTkwNjg1ZmI3MyIsNTc1MDQ6ImM3Zjc1ZjYwMzlmN2NhNDc4YjJlIiw1ODM4NDoiNjZhNjBiNWViYjNlMDQ2ZjgyZDEiLDU4OTMzOiJiM2FlNTFiOWIzODNmM2FjOTU2NCIsNTkzNTA6ImI2NjM2M2QxOTk4NDFlYmY4Yjg2Iiw1OTQzNzoiYjcyYzUwYjUwNWYxMmM5OWM3MmUiLDU5OTQxOiJhZjIyZjNhYjgzY2RmY2MzOTM1YSIsNjAwNjI6IjQ5NTQ0NGE3ZmFjMTczZmIyOGNkIiw2MTgyMToiZjY0ZDFlMmM2YjFlMzBkZmQ1NGUiLDYyNzkwOiIwY2QyYjkxN2Y3YTcxNjkwZTc0NSIsNjI4MDY6ImFlN2I5OTJiZDUzMWU3NmY4ZTc2Iiw2NDE5NToiNzIxNTFiYTJlNjczNDczZjcyYTQiLDY0NjQzOiI1ZWYzYmRiYWEwYzZjNDg4OWY0ZSIsNjQ2NzQ6IjY2ZDVhM2NiNWY4NDA2MzM0NDdhIiw2NTUyODoiOWRjYzE5MWE0YWI0ODdkMGIxMGMiLDY1ODU2OiI2Y2YyNzMwNjQ1MTZjZDgxMjljMCIsNjYyNzA6IjAwZjdlMDI3MzBiNDU2YWJmMjZkIiw2NjQ3MzoiMjE4MjJlYjViYTZkOGJkNTBjNmUiLDY3MjEyOiI3Y2ExMmFiN2VjY2YxYzQ4YWVhMSIsNjc1NDM6ImRjZGJhODk5NDljMDBiZjU3NWQ2Iiw2ODk0MjoiNDljZTM1ZTA4ZGZiYjdiOThlNWEiLDY4OTY0OiI5NDI1YjU4NzMwZGYxMzgwNmZmNiIsNjk4MDk6IjQyNDU3YmZiNjUxMjI1NmIyYzA4Iiw3MDY1NjoiY2U0ZmI0ZGZkOTU5ZWVmYzg0YzciLDcwODE1OiIzY2U2ZDZhMjY4NmU4ODkwN2FiMyIsNzE0MTQ6ImUzNDVlZDc1MmQzYTIwZDE5NDY3Iiw3MTQ4MjoiMWYwYWRhOTE2MGYzZjlmY2VjMDMiLDcxOTAxOiI0M2Q1YjQ4ZDk2NDM2NTZiZmQyYyIsNzIyNDk6Ijg0YmM3ODY3ZjVmMTA0YmJhZDI2Iiw3MjUxMjoiNjE5MzEwMmUzMTUyODA2YjhiMGYiLDcyNjgwOiJmNzlhNTcxNjBjZDcyNGFkZmRmYyIsNzI5MDI6Ijc3NmRiYjQ0NjlkMTk1NGY1YzZhIiw3MzQyNToiYWVhYjkxMjllOGRkMzliNWEyNDQiLDczNTUxOiIzMjgyZTA1MjVhOTM1ODIwYjRmNyIsNzQwMTE6ImUzMWQ4ZjkyNDEzZjBiZWNhOTg0Iiw3NDIzMzoiMWU3NzYxYTgxYzRlYzVmOTk4NzYiLDc0MzgxOiJmZDZiOTAxNTNjNmMxNmIyYmM5YSIsNzQ0MjI6IjNkNzg4NWI0MTQyY2Y1ZjA4YjA4Iiw3NDYzNjoiYjBkZWExNjVmNDQ1ZjQwOTA5ZmEiLDc0ODMwOiI0ZjUwZDAwZmJmOTVjMWUyOTY5NSIsNzYzMjk6ImM1N2QxNmQzNTBkZDZmNGFhN2FkIiw3NjkxMjoiZjA1NTNjNTI4M2M5ZGExMjViNDkiLAo3ODIzNzoiZTg5NmE4YmVhOTI1ZDY1ZjZlZmYiLDc4NDA0OiJiNWVjZDZkYzY1ZjEzZGVmNWVhYiIsNzg0NzE6IjA1MmY5NjMzMDM0NjE4YjAxNTYxIiw3ODg5OToiYmI1ZjgxZDk0YmU1YjVhN2JiZDEiLDgwNzMxOiJmOTY4Mzg1YmUyZTIwMDYyYmVkYSIsODA3ODI6Ijk3NWZiNDFkNDJhZTJkNTFjMDhiIiw4MTAwMToiYWZmODRiYzA0YTAzYjE3YjU0NmQiLDgxNTI5OiI5NjUyNGIwMzkzY2Y4Njk1ZDljZiIsODE5MDM6IjJjYTY3NmJiZTQ2MzgyZTZjMWZmIiw4MjI3MToiYzAyMWJhZTQ0NDY2NWEzNDg1M2YiLDgyNTg2OiJkZTlhMmVhNTE1Yjk2MGUwNTQ3ZSIsODM1Mjk6ImQ5NmVhNWMxZjljODM3NWZiYzE4Iiw4NDk0ODoiMWYwNWQyZTYzODc3OTMxYTRhMTEiLDg3NDc0OiJiZTI4ZjllMDAzZTBjNDczYjkxZCIsODc3NDA6IjVlMWE3Njc5MGVlNDlhMzc5NWZhIiw4ODM4NToiMDg1NTFmMjAwZmVhMGZkMDNjZDUiLDg4NjQxOiIwNDE0MzhkMTFjNDZmY2U5ZDA4OSIsODkwNDQ6IjEyMjg4NjU5MWRiM2ZhNmZkYzAzIiw4OTE5NToiZjFlYmMyNGEwZGQ2YzllMDQ1NTIiLDg5NTU4OiI5ODFhMzRiMTliNDFmYWQ5MmI4OCIsOTA5NjA6ImVjOTQxYWNjZmFhM2VkMmNkNmUyIiw5MTIwMDoiOWE1MmY5ZjkxOGZjMTk2YmE0NGEiLDkxNjc4OiJlMzBkNGNkY2RjNjg4MzdmZjRkMSIsOTM0MTY6IjkwODE4ZDczZTBlM2E5YTlmZTJhIiw5NDA1NDoiZDUwZTkzZWY0M2MxODRhNTEzZWYiLDk1MTU4OiI1M2JlNmVlNjY0ZTUwNTE4NDVmOCIsOTc2NjA6ImFlOWYzZDRlNTY5NmY1ZDExOWE3Iiw5OTU5MzoiYjRmOGFlMTdjMGZiNjhmMmZiMDAiLDk5OTA4OiJmM2Y3MmYyZTk3M2ZiZDlkYTkxZSJ9W2VdKyIuY3NzIixuLmc9ZnVuY3Rpb24oKXtpZigib2JqZWN0Ij09dHlwZW9mIGdsb2JhbFRoaXMpcmV0dXJuIGdsb2JhbFRoaXM7dHJ5e3JldHVybiB0aGlzfHxuZXcgRnVuY3Rpb24oInJldHVybiB0aGlzIikoKX1jYXRjaChlKXtpZigib2JqZWN0Ij09dHlwZW9mIHdpbmRvdylyZXR1cm4gd2luZG93fX0oKSxuLm89KGUsYSk9Pk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLGEpLGQ9e30sZj0idHJhZGluZ3ZpZXc6IixuLmw9KGUsYSxjLGIpPT57aWYoZFtlXSlkW2VdLnB1c2goYSk7ZWxzZXt2YXIgdCxyO2lmKHZvaWQgMCE9PWMpZm9yKHZhciBvPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKSxpPTA7aTxvLmxlbmd0aDtpKyspe3ZhciBzPW9baV07aWYocy5nZXRBdHRyaWJ1dGUoInNyYyIpPT1lfHxzLmdldEF0dHJpYnV0ZSgiZGF0YS13ZWJwYWNrIik9PWYrYyl7dD1zO2JyZWFrfX10fHwocj0hMCwodD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSkuY2hhcnNldD0idXRmLTgiLG4ubmMmJnQuc2V0QXR0cmlidXRlKCJub25jZSIsbi5uYyksdC5zZXRBdHRyaWJ1dGUoImRhdGEtd2VicGFjayIsZitjKSx0LnNyYz1lLDAhPT10LnNyYy5pbmRleE9mKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4rIi8iKSYmKHQuY3Jvc3NPcmlnaW49ImFub255bW91cyIpKSxkW2VdPVthXTt2YXIgXz0oYSxjKT0+e3Qub25lcnJvcj10Lm9ubG9hZD1udWxsLGNsZWFyVGltZW91dChsKTt2YXIgZj1kW2VdO2lmKGRlbGV0ZSBkW2VdLHQucGFyZW50Tm9kZSYmdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpLGYmJmYuZm9yRWFjaCgoZT0+ZShjKSkpLGEpcmV0dXJuIGEoYyl9LGw9c2V0VGltZW91dChfLmJpbmQobnVsbCx2b2lkIDAse3R5cGU6InRpbWVvdXQiLHRhcmdldDp0fSksMTJlNCk7dC5vbmVycm9yPV8uYmluZChudWxsLHQub25lcnJvciksdC5vbmxvYWQ9Xy5iaW5kKG51bGwsdC5vbmxvYWQpLHImJmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQodCl9fSxuLnI9ZT0+eyJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZTeW1ib2wudG9TdHJpbmdUYWcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFN5bWJvbC50b1N0cmluZ1RhZyx7dmFsdWU6Ik1vZHVsZSJ9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LG4ubm1kPWU9PihlLnBhdGhzPVtdLGUuY2hpbGRyZW58fChlLmNoaWxkcmVuPVtdKSxlKSxuLmo9MjExOCwoKCk9Pnt2YXIgZTtuLmcuaW1wb3J0U2NyaXB0cyYmKGU9bi5nLmxvY2F0aW9uKyIiKTt2YXIgYT1uLmcuZG9jdW1lbnQ7aWYoIWUmJmEmJihhLmN1cnJlbnRTY3JpcHQmJiJTQ1JJUFQiPT09YS5jdXJyZW50U2NyaXB0LnRhZ05hbWUudG9VcHBlckNhc2UoKSYmKGU9YS5jdXJyZW50U2NyaXB0LnNyYyksIWUpKXt2YXIgYz1hLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKTtpZihjLmxlbmd0aClmb3IodmFyIGQ9Yy5sZW5ndGgtMTtkPi0xJiYoIWV8fCEvXmh0dHAocz8pOi8udGVzdChlKSk7KWU9Y1tkLS1dLnNyY31pZighZSl0aHJvdyBuZXcgRXJyb3IoIkF1dG9tYXRpYyBwdWJsaWNQYXRoIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhpcyBicm93c2VyIik7ZT1lLnJlcGxhY2UoL15ibG9iOi8sIiIpLnJlcGxhY2UoLyMuKiQvLCIiKS5yZXBsYWNlKC9cPy4qJC8sIiIpLnJlcGxhY2UoL1wvW15cL10rJC8sIi8iKSxuLnA9ZX0pKCksbi5nLmxvY2F0aW9uJiZuLnAuc3RhcnRzV2l0aChuLmcubG9jYXRpb24ub3JpZ2luKSYmKG4ucD1uLnAuc2xpY2Uobi5nLmxvY2F0aW9uLm9yaWdpbi5sZW5ndGgpKSwoKCk9Pntjb25zdCBlPW4udTtuLnU9YT0+ZShhKS5yZXBsYWNlKCJfX0xBTkdfXyIsbi5nLmxhbmd1YWdlKX0pKCksKCgpPT57dmFyIGU9bi5lLGE9T2JqZWN0LmNyZWF0ZShudWxsKTtmdW5jdGlvbiBjKGEsZCl7cmV0dXJuIGUoYSkuY2F0Y2goKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihmKXt2YXIgYj1mdW5jdGlvbigpe3NlbGYucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25saW5lIixiLCExKSwhMT09PW5hdmlnYXRvci5vbkxpbmU/c2VsZi5hZGRFdmVudExpc3RlbmVyKCJvbmxpbmUiLGIsITEpOmYoZDwyP2MoYSxkKzEpOmUoYSkpfTtzZXRUaW1lb3V0KGIsZCpkKjFlMyl9KSl9KSl9bi5lPWZ1bmN0aW9uKGUpe2lmKCFhW2VdKXthW2VdPWMoZSwwKTt2YXIgZD1mdW5jdGlvbigpewpkZWxldGUgYVtlXX07YVtlXS50aGVuKGQsZCl9cmV0dXJuIGFbZV19fSkoKSwoKCk9PntpZigidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50KXt2YXIgZT1lPT5uZXcgUHJvbWlzZSgoKGEsYyk9Pnt2YXIgZD1uLm1pbmlDc3NGKGUpLGY9bi5wK2Q7aWYoKChlLGEpPT57Zm9yKHZhciBjPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsaW5rIiksZD0wO2Q8Yy5sZW5ndGg7ZCsrKXt2YXIgZj0odD1jW2RdKS5nZXRBdHRyaWJ1dGUoImRhdGEtaHJlZiIpfHx0LmdldEF0dHJpYnV0ZSgiaHJlZiIpO2lmKCJzdHlsZXNoZWV0Ij09PXQucmVsJiYoZj09PWV8fGY9PT1hKSlyZXR1cm4gdH12YXIgYj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic3R5bGUiKTtmb3IoZD0wO2Q8Yi5sZW5ndGg7ZCsrKXt2YXIgdDtpZigoZj0odD1iW2RdKS5nZXRBdHRyaWJ1dGUoImRhdGEtaHJlZiIpKT09PWV8fGY9PT1hKXJldHVybiB0fX0pKGQsZikpcmV0dXJuIGEoKTsoKGUsYSxjLGQsZik9Pnt2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7Yi5yZWw9InN0eWxlc2hlZXQiLGIudHlwZT0idGV4dC9jc3MiLGIub25lcnJvcj1iLm9ubG9hZD1jPT57aWYoYi5vbmVycm9yPWIub25sb2FkPW51bGwsImxvYWQiPT09Yy50eXBlKWQoKTtlbHNle3ZhciB0PWMmJigibG9hZCI9PT1jLnR5cGU/Im1pc3NpbmciOmMudHlwZSkscj1jJiZjLnRhcmdldCYmYy50YXJnZXQuaHJlZnx8YSxuPW5ldyBFcnJvcigiTG9hZGluZyBDU1MgY2h1bmsgIitlKyIgZmFpbGVkLlxuKCIrcisiKSIpO24uY29kZT0iQ1NTX0NIVU5LX0xPQURfRkFJTEVEIixuLnR5cGU9dCxuLnJlcXVlc3Q9cixiLnBhcmVudE5vZGUmJmIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChiKSxmKG4pfX0sYi5ocmVmPWEsMCE9PWIuaHJlZi5pbmRleE9mKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4rIi8iKSYmKGIuY3Jvc3NPcmlnaW49ImFub255bW91cyIpLGM/Yy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShiLGMubmV4dFNpYmxpbmcpOmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoYil9KShlLGYsbnVsbCxhLGMpfSkpLGE9ezIxMTg6MH07bi5mLm1pbmlDc3M9KGMsZCk9PnthW2NdP2QucHVzaChhW2NdKTowIT09YVtjXSYmezY0NToxLDY0NjoxLDY1NzoxLDE1MDk6MSwxNjc4OjEsMjMzMToxLDMzMjM6MSw0MDQyOjEsNDQ3NzoxLDQ5Mjk6MSw0OTY5OjEsNTE4NDoxLDU2ODk6MSw2MDgyOjEsNjQ0NToxLDY1ODM6MSw2NjA1OjEsNzE2MzoxLDczODc6MSw3NDQ1OjEsNzY2NToxLDc4OTk6MSw4NDA4OjEsODU3OToxLDllMzoxLDkxNDA6MSw5NTA0OjEsOTc0NDoxLDEwMzY2OjEsMTAzODU6MSwxMTAwODoxLDExMjE4OjEsMTEyNTc6MSwxMTQ2MToxLDExNDg5OjEsMTE3MjU6MSwxMjA1MToxLDEyMzg1OjEsMTI1NjU6MSwxMzQ5MjoxLDE0MTkzOjEsMTQ2MjU6MSwxNTUyNjoxLDE2NDIxOjEsMTc2OTM6MSwxODE2MjoxLDE4NDAwOjEsMTg0NzI6MSwxOTUxMzoxLDE5NTk1OjEsMTk1OTg6MSwxOTc4NzoxLDE5ODMzOjEsMjAyNzE6MSwyMDM1NDoxLDIwOTcxOjEsMjA5ODY6MSwyMzYyNDoxLDI0NDA4OjEsMjQ1ODE6MSwyNTY0NzoxLDI1Njk4OjEsMjU4MDk6MSwyNjU5MjoxLDI3NTE3OjEsMjc1NDk6MSwyNzczNjoxLDI4MDE3OjEsMjg0MTM6MSwyOTEzMzoxLDI5Mjk2OjEsMjkzMjc6MSwyOTUzNjoxLDI5OTQzOjEsMzAzNzM6MSwzMDc0NToxLDMwOTYwOjEsMzEyNjI6MSwzMTU1NzoxLDMxODM3OjEsMzIxNzY6MSwzMjc0ODoxLDMzMTIwOjEsMzMyMjE6MSwzMzM2ODoxLDMzNTUzOjEsMzQ3NTg6MSwzNTA3MzoxLDM1MTk4OjEsMzU2MzA6MSwzNjIyMjoxLDM2MzU2OjEsMzY1NDU6MSwzNzM5MDoxLDM3NTEzOjEsMzc3NDY6MSwzNzc2NzoxLDM4MjYyOjEsMzg4Njg6MSwzOTc4NjoxLDQwMjIwOjEsNDA4MzU6MSw0MDg2NzoxLDQwOTE0OjEsNDE1ODg6MSw0MzQ0MToxLDQzNjQ0OjEsNDQyNTM6MSw0NTM2ODoxLDQ1OTQ1OjEsNDYwMzQ6MSw0NjU5MToxLDQ3MDIxOjEsNDc1NTE6MSw0NzU3OToxLDQ3NjMyOjEsNDg4NjQ6MSw0OTUzNjoxLDQ5NTg4OjEsNTAwMzU6MSw1MDIyMToxLDUwMzI1OjEsNTA2MjI6MSw1MDgwMDoxLDUxMDMwOjEsNTEyMTM6MSw1MTMwOToxLDUxMzE1OjEsNTE2ODI6MSw1MTg4MDoxLDUyMDY1OjEsNTIxNzg6MSw1MjM5NjoxLDUyNjgwOjEsNTMzMjk6MSw1MzUyMToxLDUzNzEzOjEsNTQwOTM6MSw1NDMxMDoxLDU1MDExOjEsNTYyMTM6MSw1NjI1MjoxLDU3MzAwOjEsNTc1MDQ6MSw1ODM4NDoxLDU4OTMzOjEsNTkzNTA6MSw1OTQzNzoxLDU5OTQxOjEsNjAwNjI6MSw2MTgyMToxLDYyNjMwOjEsNjI3OTA6MSw2MjgwNjoxLDY0MTk1OjEsNjQ2NDM6MSw2NDY3NDoxLDY1NTI4OjEsNjU4NTY6MSw2NjI3MDoxLDY2NDczOjEsNjcyMTI6MSw2NzU0MzoxLDY3Nzk5OjEsNjg5NDI6MSw2ODk2NDoxLDY5ODA5OjEsNzA2NTY6MSw3MDgxNToxLDcxNDE0OjEsNzE0ODI6MSw3MTkwMToxLDcyMjQ5OjEsNzI1MTI6MSw3MjY2NjoxLDcyNjgwOjEsNzI5MDI6MSw3MzQyNToxLDczNTUxOjEsNzQwMTE6MSw3NDIzMzoxLDc0MzgxOjEsNzQ0MjI6MSw3NDYzNjoxLDc0ODMwOjEsNzYzMjk6MSw3NjkxMjoxLDc4MjM3OjEsNzg0MDQ6MSw3ODQ3MToxLDc4NjUyOjEsNzg4OTk6MSw4MDczMToxLDgwNzgyOjEsODEwMDE6MSw4MTA3MjoxLDgxNTI5OjEsODE5MDM6MSw4MjI3MToxLDgyNTg2OjEsODM0ODg6MSw4MzUyOToxLDg0OTQ4OjEsODY0MjM6MSw4NzQ3NDoxLDg3NzQwOjEsODgzODU6MSw4ODY0MToxLDg5MDQ0OjEsODkxOTU6MSw4OTU1ODoxLDkwOTYwOjEsOTEyMDA6MSw5MTY3ODoxLDkzNDE2OjEsOTM0MjE6MSw5NDA1NDoxLDk0OTQ4OjEsOTUxNTg6MSw5NjU4NzoxLDk3NjYwOjEsOTc3OTc6MSw5ODA4NDoxLDk5NTkzOjEsOTk5MDg6MX1bY10mJmQucHVzaChhW2NdPWUoYykudGhlbigoKCk9PnthW2NdPTB9KSwoZT0+e3Rocm93IGRlbGV0ZSBhW2NdLGV9KSkpfX19KSgpLG4uaTE4bmV4dD0oZSxhPXt9LGMsZD1uLmcubGFuZ3VhZ2UpPT57aWYobnVsbD09PWUpewppZihBcnJheS5pc0FycmF5KGMpKXJldHVybiBjW3ZvaWQgMD09PWEuY291bnQ/MDpuLl9wbHVyYWxbZF0oYS5jb3VudCldLnJlcGxhY2UoL3soXHcrKX0vZywoKGUsYyk9PnZvaWQgMCE9PShhLnJlcGxhY2V8fGEpW2NdPyhhLnJlcGxhY2V8fGEpW2NdOmUpKTtpZigib2JqZWN0Ij09dHlwZW9mIGMpcmV0dXJuIGNbbi5nLmxhbmd1YWdlXT9uLmkxOG5leHQobnVsbCxhLGNbbi5nLmxhbmd1YWdlXSk6bi5pMThuZXh0KG51bGwsYSxjLmVuLCJlbiIpfWVsc2UgaWYoYyYmZSl7Y29uc3QgZD1gJHtlfSR7YS5jb250ZXh0P2BfJHthLmNvbnRleHR9YDoiIn1gO2lmKGNbZF0pcmV0dXJuIG4uaTE4bmV4dChudWxsLGEsY1tkXSl9cmV0dXJuIm51bWJlciI9PXR5cGVvZiBlP2UudG9TdHJpbmcoKToic3RyaW5nIiE9dHlwZW9mIGU/IiI6ZX0sKCgpPT57bi5iPSJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQmJmRvY3VtZW50LmJhc2VVUkl8fHNlbGYubG9jYXRpb24uaHJlZjt2YXIgZT17MjExODowLDg0MzA2OjAsNDY5MDc6MCw5NDIzMjowLDMyODE2OjAsMTcwODc6MCw0MzMyNTowLDM5MDU6MCwzNTc5NDowLDE1OTMyOjAsNTQ2ODE6MCw1MTUwODowLDQ5NTE4OjAsMzI2MzI6MCwxNTYzNDowLDc1MzA0OjAsNTIwOTU6MCwzODAwMjowLDQ0MDMxOjAsNDM3OTI6MCw3MDM2NDowLDk0ODg6MCwzNzg2NzowLDYyNjgxOjAsMzAyMDA6MCwzMTM5NjowfTtuLmYuaj0oYSxjKT0+e3ZhciBkPW4ubyhlLGEpP2VbYV06dm9pZCAwO2lmKDAhPT1kKWlmKGQpYy5wdXNoKGRbMl0pO2Vsc2UgaWYoL14oMSgwMyg2Nnw4NSl8MSgwMDh8MjE4fDI1N3w0NjF8NDg5fDcyNSl8MigwNTF8Mzg1fDU2NSl8NSgwOXw1MjZ8NjM0fDkzMil8OCgxNjJ8NDAwfDQ3Mil8OSg1KDEzfDk1fDk4KXw3ODd8ODMzKXwoNDF8NzYpOTN8MzQ5Mnw0NjI1fDY0MjF8Njc4fDcwODcpfDIoMChbMjldNzF8MzU0fDk4Nil8NSg2NDd8Njk4fDgwOSl8Nyg1MTd8NTQ5fDczNil8OSgxMzN8Mjk2fDMyN3w1MzZ8OTQzKXwxMTh8MzMxfDM2MjR8NDQwOHw0NTgxfDY1OTJ8ODAxN3w4NDEzKXwzKDAoMjAwfDM3M3w3NDV8OTYwKXwxKDI2MnwzOTZ8NTU3fDgzNyl8MigxNzZ8NjMyfDc0OHw4MTYpfDMoMTIwfDIyMXwyM3wzNjh8NTUzKXw1KDA3M3wxOTh8NjMwfDc5NCl8NigyMjJ8MzU2fDU0NSl8NyhbNzhdNjd8MzkwfDUxM3w3NDYpfDgoMDAyfDI2Mnw4NjgpfDQ3NTh8OTA1fDk3ODYpfDQoMCgyMjB8NDJ8ODM1fDg2N3w5MTQpfDMoMzI1fDQ0MXw2NDR8NzkyKXw0KDAzMXwyNTN8NzcpfDYoMDM0fDU5MXw5MDcpfDcoMDIxfDU1MXw1Nzl8NjMyKXw5KDUoMTh8MzZ8ODgpfDI5fDY5KXwxNTg4fDUzNjh8NTk0NXw4ODY0KXw1KDAoMDM1fDIyMXwzMjV8NjIyfDgwMCl8MSgwMzB8MjEzfDMwOXwzMTV8NTA4fDY4Mnw4NHw4ODApfDIoMDY1fDA5NXwxNzh8Mzk2fDY4MCl8MygzMjl8NTIxfDcxMyl8NCgwOTN8MzEwfDY4MSl8NigyMTN8MjUyfDg5KXw5KDM1MHw0Mzd8OTQxKXw1MDExfDczMDB8NzUwNHw4Mzg0fDg5MzMpfDYoMig2MzB8NjgxfDc5MHw4MDYpfDQoNih8NDN8NzQpfCh8MTl8NCk1KXw1KDUyOHw3fDgzfDg1Nil8NigwNXwyNzB8NDczKXw3KDIxMnw1NDN8Nzk5KXw4OSg0Mnw2NCl8MDA2MnwwODJ8MTgyMXw5ODA5KXw3KDAoMzY0fDY1Nnw4MTUpfDEoNDE0fDQ4Mnw2M3w5MDEpfDIoMjQ5fDUxMnw2NjZ8NjgwfDkwMil8Myg0MjV8NTUxfDg3KXw0KDAxMXwyMzN8MzgxfDQyMnw0NXw2MzZ8ODMwKXw2KDMyOXw2NXw5MTIpfDgoKHw4KTk5fDIzN3w0MDR8NDcxfDY1Mil8NTMwNCl8OCgwNygzMXw4Mil8MSgwMDF8MDcyfDUyOXw5MDMpfDQoMDh8MzA2fDk0OCl8OSgwNDR8MTk1fDU1OCl8MjI3MXwyNTg2fDM0ODh8MzUyOXw1Nzl8NjQyM3w3NDc0fDc3NDB8ODM4NXw4NjQxKXw5KDEoMjAwfDQwfDY3OCl8MzQoMTZ8MjEpfDQoMDU0fDIzMnw4OHw5NDgpfDcoNDR8NjYwfDc5Nyl8MDAwfDA5NjB8NTA0fDUxNTh8NjU4N3w4MDg0fDk1OTN8OTkwOCkpJC8udGVzdChhKSllW2FdPTA7ZWxzZXt2YXIgZj1uZXcgUHJvbWlzZSgoKGMsZik9PmQ9ZVthXT1bYyxmXSkpO2MucHVzaChkWzJdPWYpO3ZhciBiPW4ucCtuLnUoYSksdD1uZXcgRXJyb3I7bi5sKGIsKGM9PntpZihuLm8oZSxhKSYmKDAhPT0oZD1lW2FdKSYmKGVbYV09dm9pZCAwKSxkKSl7dmFyIGY9YyYmKCJsb2FkIj09PWMudHlwZT8ibWlzc2luZyI6Yy50eXBlKSxiPWMmJmMudGFyZ2V0JiZjLnRhcmdldC5zcmM7dC5tZXNzYWdlPSJMb2FkaW5nIGNodW5rICIrYSsiIGZhaWxlZC5cbigiK2YrIjogIitiKyIpIix0Lm5hbWU9IkNodW5rTG9hZEVycm9yIix0LnR5cGU9Zix0LnJlcXVlc3Q9YixkWzFdKHQpfX0pLCJjaHVuay0iK2EsYSl9fSxuLkYuaj1hPT57CmlmKCEobi5vKGUsYSkmJnZvaWQgMCE9PWVbYV18fC9eKDEoMDMoNjZ8ODUpfDEoMDA4fDIxOHwyNTd8NDYxfDQ4OXw3MjUpfDIoMDUxfDM4NXw1NjUpfDUoMDl8NTI2fDYzNHw5MzIpfDgoMTYyfDQwMHw0NzIpfDkoNSgxM3w5NXw5OCl8Nzg3fDgzMyl8KDQxfDc2KTkzfDM0OTJ8NDYyNXw2NDIxfDY3OHw3MDg3KXwyKDAoWzI5XTcxfDM1NHw5ODYpfDUoNjQ3fDY5OHw4MDkpfDcoNTE3fDU0OXw3MzYpfDkoMTMzfDI5NnwzMjd8NTM2fDk0Myl8MTE4fDMzMXwzNjI0fDQ0MDh8NDU4MXw2NTkyfDgwMTd8ODQxMyl8MygwKDIwMHwzNzN8NzQ1fDk2MCl8MSgyNjJ8Mzk2fDU1N3w4MzcpfDIoMTc2fDYzMnw3NDh8ODE2KXwzKDEyMHwyMjF8MjN8MzY4fDU1Myl8NSgwNzN8MTk4fDYzMHw3OTQpfDYoMjIyfDM1Nnw1NDUpfDcoWzc4XTY3fDM5MHw1MTN8NzQ2KXw4KDAwMnwyNjJ8ODY4KXw0NzU4fDkwNXw5Nzg2KXw0KDAoMjIwfDQyfDgzNXw4Njd8OTE0KXwzKDMyNXw0NDF8NjQ0fDc5Mil8NCgwMzF8MjUzfDc3KXw2KDAzNHw1OTF8OTA3KXw3KDAyMXw1NTF8NTc5fDYzMil8OSg1KDE4fDM2fDg4KXwyOXw2OSl8MTU4OHw1MzY4fDU5NDV8ODg2NCl8NSgwKDAzNXwyMjF8MzI1fDYyMnw4MDApfDEoMDMwfDIxM3wzMDl8MzE1fDUwOHw2ODJ8ODR8ODgwKXwyKDA2NXwwOTV8MTc4fDM5Nnw2ODApfDMoMzI5fDUyMXw3MTMpfDQoMDkzfDMxMHw2ODEpfDYoMjEzfDI1Mnw4OSl8OSgzNTB8NDM3fDk0MSl8NTAxMXw3MzAwfDc1MDR8ODM4NHw4OTMzKXw2KDIoNjMwfDY4MXw3OTB8ODA2KXw0KDYofDQzfDc0KXwofDE5fDQpNSl8NSg1Mjh8N3w4M3w4NTYpfDYoMDV8MjcwfDQ3Myl8NygyMTJ8NTQzfDc5OSl8ODkoNDJ8NjQpfDAwNjJ8MDgyfDE4MjF8OTgwOSl8NygwKDM2NHw2NTZ8ODE1KXwxKDQxNHw0ODJ8NjN8OTAxKXwyKDI0OXw1MTJ8NjY2fDY4MHw5MDIpfDMoNDI1fDU1MXw4Nyl8NCgwMTF8MjMzfDM4MXw0MjJ8NDV8NjM2fDgzMCl8NigzMjl8NjV8OTEyKXw4KCh8OCk5OXwyMzd8NDA0fDQ3MXw2NTIpfDUzMDQpfDgoMDcoMzF8ODIpfDEoMDAxfDA3Mnw1Mjl8OTAzKXw0KDA4fDMwNnw5NDgpfDkoMDQ0fDE5NXw1NTgpfDIyNzF8MjU4NnwzNDg4fDM1Mjl8NTc5fDY0MjN8NzQ3NHw3NzQwfDgzODV8ODY0MSl8OSgxKDIwMHw0MHw2NzgpfDM0KDE2fDIxKXw0KDA1NHwyMzJ8ODh8OTQ4KXw3KDQ0fDY2MHw3OTcpfDAwMHwwOTYwfDUwNHw1MTU4fDY1ODd8ODA4NHw5NTkzfDk5MDgpKSQvLnRlc3QoYSkpKXtlW2FdPW51bGw7dmFyIGM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpO2MuY2hhcnNldD0idXRmLTgiLGMuY3Jvc3NPcmlnaW49ImFub255bW91cyIsbi5uYyYmYy5zZXRBdHRyaWJ1dGUoIm5vbmNlIixuLm5jKSxjLnJlbD0icHJlZmV0Y2giLGMuYXM9InNjcmlwdCIsYy5ocmVmPW4ucCtuLnUoYSksZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChjKX19LG4uTy5qPWE9PjA9PT1lW2FdO3ZhciBhPShhLGMpPT57dmFyIGQsZixbYix0LHJdPWMsbz0wO2lmKGIuc29tZSgoYT0+MCE9PWVbYV0pKSl7Zm9yKGQgaW4gdCluLm8odCxkKSYmKG4ubVtkXT10W2RdKTtpZihyKXZhciBpPXIobil9Zm9yKGEmJmEoYyk7bzxiLmxlbmd0aDtvKyspZj1iW29dLG4ubyhlLGYpJiZlW2ZdJiZlW2ZdWzBdKCksZVtmXT0wO3JldHVybiBuLk8oaSl9LGM9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlldz1zZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3fHxbXTtjLmZvckVhY2goYS5iaW5kKG51bGwsMCkpLGMucHVzaD1hLmJpbmQobnVsbCxjLnB1c2guYmluZChjKSl9KSgpLG4ucD1uLmcmJm4uZy5XRUJQQUNLX1BVQkxJQ19QQVRIfHxuLnAsYj17OTI5Njg6Wzg0NjkzLDg4OTk3LDMwNjk5LDQ2MjE3LDY2OTMzLDcxMzE5XX0sbi5mLnByZWZldGNoPShlLGEpPT5Qcm9taXNlLmFsbChhKS50aGVuKCgoKT0+e3ZhciBhPWJbZV07QXJyYXkuaXNBcnJheShhKSYmYS5tYXAobi5FKX0pKX0pKCk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/13148.32cc01dc01751b91682c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.007Z","timestamp":1785120634007,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/13148.32cc01dc01751b91682c.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"6a06d56c-12cc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 15 May 2026 08:12:28 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.53\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/15/2026 10:19:05\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: f15f2a01d098188a6d1f8ea784b8be8f\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4812,"size_decoded":2619,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3061)","md5":"9eb8a2729659cd900aee823198b62b43","sha1":"27c53602ca760b97d71eef345b01c1d537900aad","sha256":"3ac4b66b0a6823b837035a5dfdf7fe41b01ccf2a2ac115b143c12356080ebdac","sha512":"6c86fb2c2378e589f4353d32a048ae866196581fc0a8a7ed13c379eb47eab41fcbfc0ee44f3ffe77ff3800136be1da4fbfecfe3456524b96712a1e5cef42945f","ssdeep":"96:FRi/jMMHFeHojARuZi0DWss7UebYiWWD+WRdiaEBymSM0qRIv0nrWvW1HN6Fb0so:rEjMMlIeARmLWss77bJWWD+WRd8ymSM9","tlshash":"66a1e987b9c2f0a063d9aca5953b054ae23d6c1c711bf0e8e2e9d5d19c7b10b9112f36","first_seen":"2026-05-15T11:49:16.287975Z","last_seen":"2026-07-27T05:15:36.991702Z","times_seen":3715,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMTMxNDhdLHs3MzU5ODModCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5kfSk7Y29uc3Qgbz1mdW5jdGlvbigpe3RoaXMuX19kYXRhX189W10sdGhpcy5zaXplPTB9O3ZhciByPW4oOTEwNzc4KTtjb25zdCBhPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXQubGVuZ3RoO24tLTspaWYoKDAsci5kZWZhdWx0KSh0W25dWzBdLGUpKXJldHVybiBuO3JldHVybi0xfTt2YXIgcz1BcnJheS5wcm90b3R5cGUuc3BsaWNlO2NvbnN0IGM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fX2RhdGFfXyxuPWEoZSx0KTtyZXR1cm4hKG48MCkmJihuPT1lLmxlbmd0aC0xP2UucG9wKCk6cy5jYWxsKGUsbiwxKSwtLXRoaXMuc2l6ZSwhMCl9O2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fX2RhdGFfXyxuPWEoZSx0KTtyZXR1cm4gbjwwP3ZvaWQgMDplW25dWzFdfTtjb25zdCB1PWZ1bmN0aW9uKHQpe3JldHVybiBhKHRoaXMuX19kYXRhX18sdCk+LTF9O2NvbnN0IGw9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLl9fZGF0YV9fLG89YShuLHQpO3JldHVybiBvPDA/KCsrdGhpcy5zaXplLG4ucHVzaChbdCxlXSkpOm5bb11bMV09ZSx0aGlzfTtmdW5jdGlvbiBmKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgbz10W2VdO3RoaXMuc2V0KG9bMF0sb1sxXSl9fWYucHJvdG90eXBlLmNsZWFyPW8sZi5wcm90b3R5cGUuZGVsZXRlPWMsZi5wcm90b3R5cGUuZ2V0PWksZi5wcm90b3R5cGUuaGFzPXUsZi5wcm90b3R5cGUuc2V0PWw7Y29uc3QgZD1mfSw2OTQyMSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbz1uKDE2MjMxNikscj1uKDk4MTUyMyk7Y29uc3QgYT0oMCxvLmRlZmF1bHQpKHIuZGVmYXVsdCwiTWFwIil9LDcxMzE0OCh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pnp9KTtjb25zdCBvPSgwLG4oMTYyMzE2KS5kZWZhdWx0KShPYmplY3QsImNyZWF0ZSIpO2NvbnN0IHI9ZnVuY3Rpb24oKXt0aGlzLl9fZGF0YV9fPW8/byhudWxsKTp7fSx0aGlzLnNpemU9MH07Y29uc3QgYT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmhhcyh0KSYmZGVsZXRlIHRoaXMuX19kYXRhX19bdF07cmV0dXJuIHRoaXMuc2l6ZS09ZT8xOjAsZX07dmFyIHM9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBjPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX187aWYobyl7dmFyIG49ZVt0XTtyZXR1cm4iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI9PT1uP3ZvaWQgMDpufXJldHVybiBzLmNhbGwoZSx0KT9lW3RdOnZvaWQgMH07dmFyIGk9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCB1PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX187cmV0dXJuIG8/dm9pZCAwIT09ZVt0XTppLmNhbGwoZSx0KX07Y29uc3QgbD1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuX19kYXRhX187cmV0dXJuIHRoaXMuc2l6ZSs9dGhpcy5oYXModCk/MDoxLG5bdF09byYmdm9pZCAwPT09ZT8iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI6ZSx0aGlzfTtmdW5jdGlvbiBmKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgbz10W2VdO3RoaXMuc2V0KG9bMF0sb1sxXSl9fWYucHJvdG90eXBlLmNsZWFyPXIsZi5wcm90b3R5cGUuZGVsZXRlPWEsZi5wcm90b3R5cGUuZ2V0PWMsZi5wcm90b3R5cGUuaGFzPXUsZi5wcm90b3R5cGUuc2V0PWw7Y29uc3QgZD1mO3ZhciBfPW4oNzM1OTgzKSxoPW4oNjk0MjEpO2NvbnN0IHA9ZnVuY3Rpb24oKXt0aGlzLnNpemU9MCx0aGlzLl9fZGF0YV9fPXtoYXNoOm5ldyBkLG1hcDpuZXcoaC5kZWZhdWx0fHxfLmRlZmF1bHQpLHN0cmluZzpuZXcgZH19O2NvbnN0IHY9ZnVuY3Rpb24odCl7dmFyIGU9dHlwZW9mIHQ7cmV0dXJuInN0cmluZyI9PWV8fCJudW1iZXIiPT1lfHwic3ltYm9sIj09ZXx8ImJvb2xlYW4iPT1lPyJfX3Byb3RvX18iIT09dDpudWxsPT09dH07Y29uc3QgeT1mdW5jdGlvbih0LGUpe3ZhciBuPXQuX19kYXRhX187cmV0dXJuIHYoZSk/blsic3RyaW5nIj09dHlwZW9mIGU/InN0cmluZyI6Imhhc2giXTpuLm1hcH07Y29uc3QgZz1mdW5jdGlvbih0KXt2YXIgZT15KHRoaXMsdCkuZGVsZXRlKHQpO3JldHVybiB0aGlzLnNpemUtPWU/MTowLGV9O2NvbnN0IGI9ZnVuY3Rpb24odCl7cmV0dXJuIHkodGhpcyx0KS5nZXQodCl9O2NvbnN0IGo9ZnVuY3Rpb24odCl7cmV0dXJuIHkodGhpcyx0KS5oYXModCl9O2NvbnN0IE89ZnVuY3Rpb24odCxlKXt2YXIgbj15KHRoaXMsdCksbz1uLnNpemU7cmV0dXJuIG4uc2V0KHQsZSksdGhpcy5zaXplKz1uLnNpemU9PW8/MDoxLHRoaXN9O2Z1bmN0aW9uIHcodCl7dmFyIGU9LTEsbj1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK2U8bjspe3ZhciBvPXRbZV07dGhpcy5zZXQob1swXSxvWzFdKX19dy5wcm90b3R5cGUuY2xlYXI9cCx3LnByb3RvdHlwZS5kZWxldGU9Zyx3LnByb3RvdHlwZS5nZXQ9Yix3LnByb3RvdHlwZS5oYXM9aix3LnByb3RvdHlwZS5zZXQ9Tztjb25zdCB6PXd9LDg3Mjk5OSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTtjb25zdCBvPW4oOTgxNTIzKS5kZWZhdWx0LlN5bWJvbH0sMTc4NDk3KHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+ZH0pO3ZhciBvPW4oODcyOTk5KSxyPU9iamVjdC5wcm90b3R5cGUsYT1yLmhhc093blByb3BlcnR5LHM9ci50b1N0cmluZyxjPW8uZGVmYXVsdD9vLmRlZmF1bHQudG9TdHJpbmdUYWc6dm9pZCAwO2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9YS5jYWxsKHQsYyksbj10W2NdO3RyeXt0W2NdPXZvaWQgMDt2YXIgbz0hMH1jYXRjaCh0KXt9dmFyIHI9cy5jYWxsKHQpO3JldHVybiBvJiYoZT90W2NdPW46ZGVsZXRlIHRbY10pLHJ9O3ZhciB1PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7Y29uc3QgbD1mdW5jdGlvbih0KXtyZXR1cm4gdS5jYWxsKHQpfQo7dmFyIGY9by5kZWZhdWx0P28uZGVmYXVsdC50b1N0cmluZ1RhZzp2b2lkIDA7Y29uc3QgZD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD92b2lkIDA9PT10PyJbb2JqZWN0IFVuZGVmaW5lZF0iOiJbb2JqZWN0IE51bGxdIjpmJiZmIGluIE9iamVjdCh0KT9pKHQpOmwodCl9fSw2MDI5NDIodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5vfSk7Y29uc3Qgbz0ib2JqZWN0Ij09dHlwZW9mIG4uZyYmbi5nJiZuLmcuT2JqZWN0PT09T2JqZWN0JiZuLmd9LDE2MjMxNih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pmd9KTt2YXIgbz1uKDkyODEzMik7Y29uc3Qgcj1uKDk4MTUyMykuZGVmYXVsdFsiX19jb3JlLWpzX3NoYXJlZF9fIl07dmFyIGEscz0oYT0vW14uXSskLy5leGVjKHImJnIua2V5cyYmci5rZXlzLklFX1BST1RPfHwiIikpPyJTeW1ib2woc3JjKV8xLiIrYToiIjtjb25zdCBjPWZ1bmN0aW9uKHQpe3JldHVybiEhcyYmcyBpbiB0fTt2YXIgaT1uKDg4MDExNSksdT1uKDczMDUwMyksbD0vXlxbb2JqZWN0IC4rP0NvbnN0cnVjdG9yXF0kLyxmPUZ1bmN0aW9uLnByb3RvdHlwZSxkPU9iamVjdC5wcm90b3R5cGUsXz1mLnRvU3RyaW5nLGg9ZC5oYXNPd25Qcm9wZXJ0eSxwPVJlZ0V4cCgiXiIrXy5jYWxsKGgpLnJlcGxhY2UoL1tcXF4kLiorPygpW1xde318XS9nLCJcXCQmIikucmVwbGFjZSgvaGFzT3duUHJvcGVydHl8KGZ1bmN0aW9uKS4qPyg/PVxcXCgpfCBmb3IgLis/KD89XFxcXSkvZywiJDEuKj8iKSsiJCIpO2NvbnN0IHY9ZnVuY3Rpb24odCl7cmV0dXJuISghKDAsaS5kZWZhdWx0KSh0KXx8Yyh0KSkmJigoMCxvLmRlZmF1bHQpKHQpP3A6bCkudGVzdCgoMCx1LmRlZmF1bHQpKHQpKX07Y29uc3QgeT1mdW5jdGlvbih0LGUpe3JldHVybiBudWxsPT10P3ZvaWQgMDp0W2VdfTtjb25zdCBnPWZ1bmN0aW9uKHQsZSl7dmFyIG49eSh0LGUpO3JldHVybiB2KG4pP246dm9pZCAwfX0sOTgxNTIzKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBvPW4oNjAyOTQyKSxyPSJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZiYmc2VsZi5PYmplY3Q9PT1PYmplY3QmJnNlbGY7Y29uc3QgYT1vLmRlZmF1bHR8fHJ8fEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCl9LDczMDUwMyh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgbz1GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmc7Y29uc3Qgcj1mdW5jdGlvbih0KXtpZihudWxsIT10KXt0cnl7cmV0dXJuIG8uY2FsbCh0KX1jYXRjaCh0KXt9dHJ5e3JldHVybiB0KyIifWNhdGNoKHQpe319cmV0dXJuIiJ9fSw5MTA3NzgodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5vfSk7Y29uc3Qgbz1mdW5jdGlvbih0LGUpe3JldHVybiB0PT09ZXx8dCE9dCYmZSE9ZX19LDkyODEzMih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbz1uKDE3ODQ5Nykscj1uKDg4MDExNSk7Y29uc3QgYT1mdW5jdGlvbih0KXtpZighKDAsci5kZWZhdWx0KSh0KSlyZXR1cm4hMTt2YXIgZT0oMCxvLmRlZmF1bHQpKHQpO3JldHVybiJbb2JqZWN0IEZ1bmN0aW9uXSI9PWV8fCJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSI9PWV8fCJbb2JqZWN0IEFzeW5jRnVuY3Rpb25dIj09ZXx8IltvYmplY3QgUHJveHldIj09ZX19LDg4MDExNSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTtjb25zdCBvPWZ1bmN0aW9uKHQpe3ZhciBlPXR5cGVvZiB0O3JldHVybiBudWxsIT10JiYoIm9iamVjdCI9PWV8fCJmdW5jdGlvbiI9PWUpfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/87995.911b26181778fecc4b4e.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.200Z","timestamp":1785120634200,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/87995.911b26181778fecc4b4e.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-7a23\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:32:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ad903bf9ac9d0ee29e98fda7ae11b37a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":31267,"size_decoded":10843,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"6a05d8171572287378e38e6964e02fe8","sha1":"63d026c77be2140ec887f9ff6d3f073098c753d7","sha256":"6c8f663aeaed79d462dc53895df9b7870b0e620a0dfe1116cb122d17391b60ed","sha512":"a4076a5db83f1d9f5054f7bcbcbb078c8881c79fcd79ea086d710a4a25568695a0fb17213a40d0b396482e293c7d980d411e5f128a7a040a765286cf92d3595e","ssdeep":"768:72RxBdTMf+AnnZv7+SVxp9QYQ2UYfzvEB7DU0M/Zm8FNpVwLY8jnEM//i7XeBFK8:7SEnnZv7+S9Un78F/VwLY8jnEM//i7XM","tlshash":"97e2a642e342606702f381ed0c354503a339ebd5784649acb6a98defb56cd0cb5bab7d","first_seen":"2026-07-24T18:44:55.949977Z","last_seen":"2026-07-27T05:27:33.090756Z","times_seen":122,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s4Nzk5NV0sezEyNzE1Nyh0KXt0LmV4cG9ydHM9e2ZhZGU6ImZhZGUtTU9kVWlCWUQiLGhpZGRlbjoiaGlkZGVuLU1PZFVpQllEIn19LDQ3MDA5MCh0LGUsaSl7InVzZSBzdHJpY3QiO2kuZChlLHtNaW5pQ2hhcnQ6KCk9Pmp9KTt2YXIgcz1pKDY3ODMxMiksYT1pKDc0MDE2Miksbj1pKDc4MzI1NCkscj1pKDIzMjM2NCksbz1pKDQwMjA0NSksaD1pKDk0ODM4MCksbD1pKDEzODYzOCksYz1pKDYyNDY3OCksZD1pKDgyNjE1NiksbT1pKDIyMTA2MSksdT1pKDI1NDY3MyksXz1pKDUwNTU2KSxwPWkoNDU5OTk0KSxmPWkoNzczMDg4KSxiPWkoMTMxMjk0KSxnPWkoNTkxNzQxKSxTPWkoODAyNTg2KSx2PWkoMTg5ODYzKSx5PWkoMTQ2MDU4KSxDPWkoNjEwNTcxKTtjb25zdCBEPSgwLHMuZGVmYXVsdEhvcnpTY2FsZUJlaGF2aW9yKSgpO2NsYXNzIFQgZXh0ZW5kcyBEe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9sYXN0SGFzaD0iIn1zaG91bGRSZXNldFRpY2ttYXJrTGFiZWxzKHQpe2NvbnN0IGU9dGhpcy5jYWxjdWxhdGVJdGVtc0hhc2godCksaT1lIT09dGhpcy5fbGFzdEhhc2g7cmV0dXJuIHRoaXMuX2xhc3RIYXNoPWUsaX1jYWxjdWxhdGVJdGVtc0hhc2godCl7cmV0dXJuIHQucmVkdWNlKCgodCxlKT0+dCtlLmluZGV4KSwiIil9fXZhciBQPWkoNTg2MjQ3KSx3PWkoMTI3MTU3KTtjb25zdCBrPSgwLG0uZ2V0TG9nZ2VyKSgiQ2hhcnQuTWluaUNoYXJ0IiksTT17dmFsdWU6IjEyTSIsdHlwZToicGVyaW9kLWJhY2sifSxJPXt0b3A6LjAxLGJvdHRvbTouMDF9LHg9e2NoYXJ0VHlwZToiYXJlYSIsbGluZVdpZHRoOjIscHJpY2VMaW5lVmlzaWJsZTohMSxjcm9zc2hhaXJNYXJrZXJWaXNpYmxlOiExLGxhc3RWYWx1ZVZpc2libGU6ITEsc2NhbGVNYXJnaW5zOkl9LE89e2xpbmVXaWR0aDoyLHByaWNlTGluZVZpc2libGU6ITEsY3Jvc3NoYWlyTWFya2VyVmlzaWJsZTohMSxsYXN0VmFsdWVWaXNpYmxlOiExLHNjYWxlTWFyZ2luczpJfSxGPXtjaGFydFR5cGU6ImJhc2VsaW5lIn0sUj17cHJpY2VMaW5lVmlzaWJsZTohMSxsYXN0VmFsdWVWaXNpYmxlOiExLHNjYWxlTWFyZ2luczpJfSxWPXtwcmljZUxpbmVWaXNpYmxlOiExLGxhc3RWYWx1ZVZpc2libGU6ITEsc2NhbGVNYXJnaW5zOkl9LHo9e3NjYWxlTWFyZ2luczpJfSxFPXtjaGFydFR5cGU6InByZXR0eS1oaXN0b2dyYW0iLHNjYWxlTWFyZ2luczpJLHJhZGl1czoyLHdpZHRoUGVyY2VudDo1MH0sTD17dmlzaWJsZTohMSxjb2xvcjpfLmNvbG9yc1BhbGV0dGVbImNvbG9yLXR2LWJsdWUtNTAwIl0sbGluZVdpZHRoOjEsbGVuZ3RoOjksbGFzdFZhbHVlVmlzaWJsZTohMSxwcmljZUxpbmVWaXNpYmxlOiExfSxCPXtzcGlubmVyOnt2aXNpYmxlOiExLHdpZHRoOjQsY29sb3I6Xy5jb2xvcnNQYWxldHRlWyJjb2xvci1icmFuZCJdfSxmYWRlOnt2aXNpYmxlOiExLHdhaXRGb3JTdHVkeVBsb3RzOiJub25lIn0sY2xlYXJEYXRhT25TeW1ib2xDaGFuZ2U6ITAsY2xlYXJEYXRhT25UaW1lZnJhbWVDaGFuZ2U6ITB9LE49e29uRmlyc3REYXRhOm51bGwsZGVzY3JpcHRpb246IiIsc2hvd0Rlc2NyaXB0aW9uOiEwLG5vRGF0YVRpbWVvdXQ6MTVlMyx0aW1lZnJhbWU6e3Zpc2libGU6ITEsdmFsdWU6TX0sY2hhcnRPcHRpb25zOnttaW5XaWR0aDowLG1pbkhlaWdodDowLGNoYXJ0OntncmlkOntob3J6TGluZXM6e2NvbG9yOiJyZ2JhKDEyMCwgMTIzLCAxMzQsIDAuMSkiLHZpc2libGU6ITF9LHZlcnRMaW5lczp7Y29sb3I6IiNmZmZmZmYiLHZpc2libGU6ITF9fSxjcm9zc2hhaXI6e2hvcnpMaW5lOnt2aXNpYmxlOiExLHN0eWxlOjMsd2lkdGg6MSxsYWJlbFZpc2libGU6ITEsbGFiZWxCYWNrZ3JvdW5kQ29sb3I6IiMwZjBmMGYifSx2ZXJ0TGluZTp7dmlzaWJsZTohMSxzdHlsZTozLHdpZHRoOjEsbGFiZWxWaXNpYmxlOiExLGxhYmVsQmFja2dyb3VuZENvbG9yOiIjMGYwZjBmIn19LGxheW91dDp7Zm9udEZhbWlseToiVHJlYnVjaGV0IE1TIixmb250U2l6ZToxMCx0ZXh0Q29sb3I6IiM4Mzg4OEQiLGJhY2tncm91bmQ6e3R5cGU6cy5Db2xvclR5cGUuU29saWQsY29sb3I6InRyYW5zcGFyZW50In0sYXR0cmlidXRpb25Mb2dvOiExfSxyaWdodFByaWNlU2NhbGU6e3Zpc2libGU6ITAsYm9yZGVyVmlzaWJsZTohMSxlbnRpcmVUZXh0T25seTohMCxtb2RlOnMuUHJpY2VTY2FsZU1vZGUuTm9ybWFsfSxsZWZ0UHJpY2VTY2FsZTp7dmlzaWJsZTohMSxib3JkZXJWaXNpYmxlOiExLGVudGlyZVRleHRPbmx5OiEwLG1vZGU6cy5QcmljZVNjYWxlTW9kZS5Ob3JtYWx9LHRpbWVTY2FsZTp7Ym9yZGVyVmlzaWJsZTohMSx0aW1lVmlzaWJsZTohMCxzZWNvbmRzVmlzaWJsZTohMSxsb2NrVmlzaWJsZVRpbWVSYW5nZU9uUmVzaXplOiEwfSxoYW5kbGVTY2FsZTohMSxoYW5kbGVTY3JvbGw6ITF9LHNlcmllczp4LHZvbHVtZTpDLmRlZmF1bHRWb2x1bWVPcHRpb25zLG1hOkwsbG9hZGluZzpCfX0sVT17IjF5Ijp7dmFsdWU6IjEyTSIsdHlwZToicGVyaW9kLWJhY2sifSwiNXkiOnt2YWx1ZToiNjBNIix0eXBlOiJwZXJpb2QtYmFjayJ9LG1heDp7dmFsdWU6IkFMTCIsdHlwZToicGVyaW9kLWJhY2sifX07ZnVuY3Rpb24gVyh0LGUsaSxhLG4scil7cmV0dXJuISF0LmRheUFuZFRpbWVUaWNrTWFya0ZpeEVuYWJsZWQmJihhPT09cy5UaWNrTWFya1R5cGUuVGltZT9mdW5jdGlvbih0KXtyZXR1cm4idGltZS1yYW5nZSIhPT10LnR5cGUmJih0LnZhbHVlLmVuZHNXaXRoKCJNIil8fHQudmFsdWUuZW5kc1dpdGgoIlkiKXx8WyJZVEQiLCJBTEwiXS5pbmNsdWRlcyh0LnZhbHVlKSl9KGUpOiEoIW58fCFyfHxhPD1yKSYmKGE9PT1zLlRpY2tNYXJrVHlwZS5EYXlPZk1vbnRoJiYoaS5nZXRNb250aCgpIT09bi5nZXRNb250aCgpfHxpLmdldEZ1bGxZZWFyKCkhPT1uLmdldEZ1bGxZZWFyKCkpKSl9Y29uc3QgSD0oKCk9PntsZXQgdD1udWxsLGU9bnVsbCxpPW51bGw7cmV0dXJuKGEsbixyLG8saCxsKT0+e2NvbnN0IGM9e30sZD1uZXcgRGF0ZSgxZTMqbykKO2kmJigwLGYuYXJlRXF1YWxUaW1lRnJhbWVzKShpLHIpfHwodD1udWxsLGU9bnVsbCxpPXIpO2xldCBtPSExO2lmKG4pe209KG4uc3VwcHJlc3NGbj8/VykobixyLGQsaCx0LGUpfWlmKHQ9ZCxlPWgsbSlyZXR1cm4iIjtzd2l0Y2goaCl7Y2FzZSBzLlRpY2tNYXJrVHlwZS5ZZWFyOm4/LmhpZGVZZWFyc1RpY2tNYXJrcz9jLm1vbnRoPSJzaG9ydCI6Yy55ZWFyPSJudW1lcmljIjticmVhaztjYXNlIHMuVGlja01hcmtUeXBlLk1vbnRoOmMubW9udGg9InNob3J0IjticmVhaztjYXNlIHMuVGlja01hcmtUeXBlLkRheU9mTW9udGg6Yy5kYXk9Im51bWVyaWMiO2JyZWFrO2Nhc2Ugcy5UaWNrTWFya1R5cGUuVGltZTpjLmhvdXIxMj0iMTItaG91cnMiPT09YSxjLmhvdXI9IjItZGlnaXQiLGMubWludXRlPSIyLWRpZ2l0IjticmVhaztjYXNlIHMuVGlja01hcmtUeXBlLlRpbWVXaXRoU2Vjb25kczpjLmhvdXIxMj0iMTItaG91cnMiPT09YSxjLmhvdXI9IjItZGlnaXQiLGMubWludXRlPSIyLWRpZ2l0IixjLnNlY29uZD0iMi1kaWdpdCJ9Y29uc3QgdT1uZXcgRGF0ZShkLmdldFVUQ0Z1bGxZZWFyKCksZC5nZXRVVENNb250aCgpLGQuZ2V0VVRDRGF0ZSgpLGQuZ2V0VVRDSG91cnMoKSxkLmdldFVUQ01pbnV0ZXMoKSxkLmdldFVUQ1NlY29uZHMoKSxkLmdldFVUQ01pbGxpc2Vjb25kcygpKTtyZXR1cm4gdD1kLGU9aCx1LnRvTG9jYWxlU3RyaW5nKGwsYyl9fSkoKTtmdW5jdGlvbiBxKHQsZSl7cmV0dXJuIHQuc2VyaWVzKCkuc2VyaWVzT3JkZXIoKS1lLnNlcmllcygpLnNlcmllc09yZGVyKCl9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJih3aW5kb3cubWluaUNoYXJ0SW5zdGFuY2VzPXdpbmRvdy5taW5pQ2hhcnRJbnN0YW5jZXN8fHt9KTtjb25zdCBBPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdy5taW5pQ2hhcnRJbnN0YW5jZXM6e307bGV0IFk9MDtjb25zdCBHPXthY3F1aXJlOigpPT4oMCxiLm93bmVyc2hpcCkobmV3IHAuQ2hhcnRTZXNzaW9uKHdpbmRvdy5DaGFydEFwaUluc3RhbmNlLCEwKSl9O2NsYXNzIGp7Y29uc3RydWN0b3IodCxlLGksbil7dGhpcy5faXNEZXN0cm95ZWQ9ITEsdGhpcy5fc3R1ZHlQbG90c09yZGVySW52YWxpZGF0ZWQ9ITAsdGhpcy5fc3R1ZHlQbG90cz1bXSx0aGlzLl9lbFRpbWVmcmFtZT1udWxsLHRoaXMuX3RpbWVmcmFtZVZpZXc9bnVsbCx0aGlzLl90aWNrbWFya3M9bmV3IE1hcCx0aGlzLl9jYWNoZWRUaWNrbWFya3M9bmV3IE1hcCx0aGlzLl9jaGFydFNlc3Npb249bnVsbCx0aGlzLl9jaGFydFNlc3Npb25Db25uZWN0ZWQ9bnVsbCx0aGlzLl9jb25uZWN0Q2FsbGJhY2s9bnVsbCx0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5fbG9hZEVycm9yVGltZW91dD1udWxsLHRoaXMuX2lzTG9hZGluZz0hMSx0aGlzLl9zcGlubmVyPW51bGwsdGhpcy5fY3Jvc3NoYWlyTW92ZUhhbmRsZXJzPW5ldyBNYXAsdGhpcy5fYXRvbWljVXBkYXRlSXNHb2luZz0hMSx0aGlzLl9zZXJpZXNVcERvd25Db2xvcnM9e30sdGhpcy5faXNEV01SZXNvbHV0aW9uPSExLHRoaXMuX3VwZGF0ZVRpbWVySWQ9bnVsbCx0aGlzLl93aWR0aD1uZXcgci5XYXRjaGVkVmFsdWUoMCksdGhpcy5faGVpZ2h0PW5ldyByLldhdGNoZWRWYWx1ZSgwKSx0aGlzLl9zdGF0dXM9bmV3IHIuV2F0Y2hlZFZhbHVlKCJsb2FkaW5nIiksdGhpcy5fdGltZVNjYWxlU2l6ZUNoYW5nZWQ9bmV3IGguRGVsZWdhdGUsdGhpcy5fb25QbG90U3RhdHVzQ2hhbmdlZD0oKT0+e2NvbnN0IHQ9dGhpcy5fbWFpblBsb3Quc3RhdHVzKCkudmFsdWUoKSxlPXRoaXMuX3N0dWR5UGxvdHMuZXZlcnkoKHQ9PjAhPT10LnN0YXR1cygpLnZhbHVlKCkpKSxpPWV8fHRoaXMuX3N0dWR5UGxvdHMuc29tZSgodD0+MCE9PXQuc3RhdHVzKCkudmFsdWUoKSYmdC5pc1Zpc2libGUoKS52YWx1ZSgpKSk7c3dpdGNoKHQpe2Nhc2UgMzplJiZ0aGlzLl9vblBsb3RzRGF0YVJlYWR5KCk7YnJlYWs7Y2FzZSAyOnRoaXMuX29uTWFpblBsb3REYXRhRXJyb3IoKTticmVhaztjYXNlIDE6dGhpcy5fb25NYWluUGxvdFN5bWJvbFJlc29sdmluZ0Vycm9yKCl9Y29uc3Qgcz10aGlzLl9vcHRpb25zLmNoYXJ0T3B0aW9ucy5sb2FkaW5nLmZhZGU7aWYocy52aXNpYmxlKXN3aXRjaCh0aGlzLl9jYWNoZWRUaWNrbWFya3Muc2l6ZT4wfHx0KXtjYXNlIDA6dGhpcy5faW5uZXJDb250YWluZXIuY2xhc3NMaXN0LmFkZCh3LmZhZGUpO2JyZWFrO2Nhc2UgMjpjYXNlIDE6Y2FzZSEwOnRoaXMuX2lubmVyQ29udGFpbmVyLmNsYXNzTGlzdC5yZW1vdmUody5mYWRlKTticmVhaztjYXNlIDM6KCJub25lIj09PXMud2FpdEZvclN0dWR5UGxvdHN8fCJhbGwiPT09cy53YWl0Rm9yU3R1ZHlQbG90cyYmZXx8ImFueSI9PT1zLndhaXRGb3JTdHVkeVBsb3RzJiZpKSYmdGhpcy5faW5uZXJDb250YWluZXIuY2xhc3NMaXN0LnJlbW92ZSh3LmZhZGUpfXRoaXMuX3VwZGF0ZVN0YXR1cygpfSx0aGlzLl90aW1lRnJhbWVPcHRpb25zPWk/LnRpbWVmcmFtZT8ub3B0aW9ucz8/KDAsUy5nZXRNaW5pVGltZUZyYW1lT3B0aW9ucykoKSx0aGlzLl9vcHRpb25zPSgwLGEuZGVmYXVsdCkoe30sTixpKSx0aGlzLl9jaGFydFNlc3Npb25Qcm92aWRlcj1uPz9HLHRoaXMuX2NvbnRhaW5lcj1lLHRoaXMuX2lubmVyQ29udGFpbmVyPWUub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9pbm5lckNvbnRhaW5lci5zdHlsZS53aWR0aD0iMTAwJSIsdGhpcy5faW5uZXJDb250YWluZXIuc3R5bGUuaGVpZ2h0PSIxMDAlIix0aGlzLl9pbm5lckNvbnRhaW5lci5zdHlsZS5taW5IZWlnaHQ9ImluaGVyaXQiLHRoaXMuX2lubmVyQ29udGFpbmVyLnN0eWxlLm1pbldpZHRoPSJpbmhlcml0IixlLmFwcGVuZENoaWxkKHRoaXMuX2lubmVyQ29udGFpbmVyKSx0aGlzLl93aWRnZXQ9KDAscy5jcmVhdGVDaGFydEV4KSh0aGlzLl9pbm5lckNvbnRhaW5lcixuZXcgVCx7Li4udGhpcy5fb3B0aW9ucy5jaGFydE9wdGlvbnM/LmNoYXJ0LGF1dG9TaXplOiEwfSk7Y29uc3QgbD10aGlzLl93aWRnZXQucGFuZXMoKVswXTt0aGlzLl90ZXh0V2F0ZXJtYXJrPSgwLHMuY3JlYXRlVGV4dFdhdGVybWFyaykobCx7CnZpc2libGU6ITF9KSx0aGlzLl90aW1lZnJhbWU9bmV3IG8uV2F0Y2hlZE9iamVjdCh0aGlzLl9vcHRpb25zLnRpbWVmcmFtZS52YWx1ZSksdGhpcy5fbWFpblBsb3Q9dGhpcy5fY3JlYXRlTWFpblBsb3QodCksdGhpcy5zZXRUaW1lZnJhbWUodGhpcy5fdGltZWZyYW1lLnZhbHVlKCksITApO2NvbnN0IGM9KDAsZi5jb252ZXJ0VGltZUZyYW1lVG9TdHIpKHRoaXMuX3RpbWVmcmFtZS52YWx1ZSgpKSxkPXRoaXMuX29wdGlvbnMuY2FjaGU/LmxvYWREYXRhKGMpO2Q/KHRoaXMuX2NhY2hlZFRpY2ttYXJrcz1kLnRpY2ttYXJrcyx0aGlzLl90aWNrbWFya3M9bmV3IE1hcCh0aGlzLl9jYWNoZWRUaWNrbWFya3MpLHRoaXMuX2NyZWF0ZVRvb2x0aXBEYXRlRm9ybWF0dGVyKCkpOnRoaXMuY29ubmVjdCgpLHRoaXMuX3BhcmVudFJlc2l6ZU9ic2VydmVyPW5ldyBSZXNpemVPYnNlcnZlcigodD0+e3RoaXMuX21haW5QbG90LmZpdENvbnRlbnQoKTtmb3IoY29uc3QgZSBvZiB0KWlmKGUuY29udGVudEJveFNpemUpe2NvbnN0IHQ9ZS5jb250ZW50Qm94U2l6ZVswXTt0aGlzLl93aWR0aC5zZXRWYWx1ZSh0LmlubGluZVNpemUpLHRoaXMuX2hlaWdodC5zZXRWYWx1ZSh0LmJsb2NrU2l6ZSl9fSkpLHRoaXMuX3BhcmVudFJlc2l6ZU9ic2VydmVyLm9ic2VydmUoZSk7Y29uc3QgbT1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuX3dpZHRoLnNldFZhbHVlKG0ud2lkdGgpLHRoaXMuX2hlaWdodC5zZXRWYWx1ZShtLmhlaWdodCksdGhpcy5fY3JlYXRlTGVnZW5kKCksdGhpcy5fdXBkYXRlU2VyaWVzVXBEb3duQ29sb3JzKCksdGhpcy5fYm91bmRUaW1lU2NhbGVTaXplQ2hhbmdlZEhhbmRsZXI9dGhpcy5fdGltZVNjYWxlU2l6ZUNoYW5nZWRIYW5kbGVyLmJpbmQodGhpcyksdGhpcy5fd2lkZ2V0LnRpbWVTY2FsZSgpLnN1YnNjcmliZVNpemVDaGFuZ2UodGhpcy5fYm91bmRUaW1lU2NhbGVTaXplQ2hhbmdlZEhhbmRsZXIpLFkrPTEsdGhpcy5faW5uZXJDb250YWluZXIuZGF0YXNldC5taW5pQ2hhcnRJZD1gJHtZfWAsQVt0aGlzLl9pbm5lckNvbnRhaW5lci5kYXRhc2V0Lm1pbmlDaGFydElkXT10aGlzfWFzeW5jIHRha2VTY3JlZW5zaG90KCl7Y29uc3R7dGFrZVNjcmVlbnNob3Q6dH09YXdhaXQgUHJvbWlzZS5hbGwoW2kuZSg5Mjk2NCksaS5lKDEyMTgxKSxpLmUoMTkzMTEpXSkudGhlbihpLmJpbmQoaSwyMDE3ODEpKTtyZXR1cm4gdCh0aGlzLndpZGdldCgpLHRoaXMubWFpblBsb3QoKS5zeW1ib2xJbmZvKCkpfXNjcmVlbnNob3RTeW1ib2woKXtyZXR1cm4gdGhpcy5tYWluUGxvdCgpLnN5bWJvbCgpfWNvbnRhaW5lcigpe3JldHVybiB0aGlzLl9jb250YWluZXJ9aW5uZXJDb250YWluZXIoKXtyZXR1cm4gdGhpcy5faW5uZXJDb250YWluZXJ9Z2V0Q2hhcnRDb250YWluZXIoKXtyZXR1cm4gdGhpcy5fY29udGFpbmVyPygwLHkuZ2V0Q2hhcnRMYXlvdXRDb250YWluZXIpKHRoaXMuX2NvbnRhaW5lcik6bnVsbH13aWR0aCgpe3JldHVybiB0aGlzLl93aWR0aC5yZWFkb25seSgpfWhlaWdodCgpe3JldHVybiB0aGlzLl9oZWlnaHQucmVhZG9ubHkoKX1zdGF0dXMoKXtyZXR1cm4gdGhpcy5fc3RhdHVzLnJlYWRvbmx5KCl9c2VyaWVzRGF0YVNvdXJjZSgpe3JldHVybiB0aGlzLl9tYWluUGxvdC5zZXJpZXNEYXRhU291cmNlKCl9c3VwcG9ydFJlYWx0aW1lVXBkYXRlcygpe3JldHVybiBCb29sZWFuKHRoaXMuX29wdGlvbnMuZG9Ob3REaXNjb25uZWN0T25EYXRhUmVhZHkpfWNvbm5lY3QodCl7Y29uc3QgZT0oMCxmLmNvbnZlcnRUaW1lRnJhbWVUb1N0cikodGhpcy5fdGltZWZyYW1lLnZhbHVlKCkpOygwLGwuYXNzZXJ0KSghdGhpcy5fb3B0aW9ucy5jYWNoZT8ubG9hZERhdGEoZSksIkNoYXJ0IGNhbiBub3QgdG8gY29ubmVjdCBpZiB0aGVyZSBpcyBhbiBleGlzdGluZyBjYWNoZSBkYXRhIiksImZ1bmN0aW9uIj09dHlwZW9mIHQmJih0aGlzLl9jb25uZWN0Q2FsbGJhY2s9dCksdGhpcy5fY2xlYXJSZWNvbm5lY3Rpb25UaW1lb3V0KCksdGhpcy5jb25uZWN0ZWQoKXx8KHRoaXMuX3Nob3dMb2FkaW5nKCksdGhpcy5fbWFpblBsb3QuY2xlYXJEYXRhKCksdGhpcy5fc3R1ZHlQbG90cy5mb3JFYWNoKCh0PT50LmNsZWFyRGF0YSgpKSksdGhpcy5fY2hhcnRTZXNzaW9ufHwodGhpcy5fY2hhcnRTZXNzaW9uPXRoaXMuX2NoYXJ0U2Vzc2lvblByb3ZpZGVyLmFjcXVpcmUoKSx0aGlzLl9jaGFydFNlc3Npb24uY3JpdGljYWxFcnJvcigpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ2hhcnRTZXNzaW9uQ3JpdGljYWxFcnJvciksdGhpcy5fY2hhcnRTZXNzaW9uQ29ubmVjdGVkPXRoaXMuX2NoYXJ0U2Vzc2lvbi5pc0Nvbm5lY3RlZCgpLnNwYXduKCksdGhpcy5fY2hhcnRTZXNzaW9uQ29ubmVjdGVkLnN1YnNjcmliZSh0aGlzLl9vbkNoYXJ0U2Vzc2lvbklzQ29ubmVjdGVkQ2hhbmdlZC5iaW5kKHRoaXMpLHtjYWxsV2l0aExhc3Q6ITB9KSksdGhpcy5fY2hhcnRTZXNzaW9uLmNvbm5lY3QodGhpcy5fb25EYXRhLmJpbmQodGhpcykpLHRoaXMuX2NoYXJ0U2Vzc2lvbi5pc0Nvbm5lY3RlZCgpLnZhbHVlKCkmJnRoaXMuX3JlcXVlc3REYXRhKCksdGhpcy5fY2xlYXJOb0RhdGFUaW1lb3V0KCksdGhpcy5fY3JlYXRlTm9EYXRhVGltZW91dCgpKX1kaXNjb25uZWN0KCl7dGhpcy5fc3R1ZHlQbG90cy5mb3JFYWNoKCh0PT50LmRpc2Nvbm5lY3QoKSkpLHRoaXMuX21haW5QbG90LmRpc2Nvbm5lY3QoKSx0aGlzLl9jaGFydFNlc3Npb24/LmRpc2Nvbm5lY3QoKSx0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5fY2xlYXJOb0RhdGFUaW1lb3V0KCl9Y29ubmVjdGVkKCl7cmV0dXJuIEJvb2xlYW4odGhpcy5fY29ubmVjdGVkJiZ0aGlzLl9jaGFydFNlc3Npb24mJnRoaXMuX2NoYXJ0U2Vzc2lvbi5pc0Nvbm5lY3RlZCgpLnZhbHVlKCkpfXNldFRpbWVmcmFtZSh0LGUsaSl7Y29uc3Qgcz10aGlzLl90aW1lZnJhbWUudmFsdWUoKTtsZXQgYT10O2NvbnN0IG49InBlcmlvZC1iYWNrIj09PWEudHlwZT9VW2EudmFsdWVdOnZvaWQgMDt2b2lkIDAhPT1uJiYoYT1uKTtsZXQgcj1udWxsCjtpZihyPXRoaXMuX3RpbWVmcmFtZUlzQXZhaWxhYmxlKGEpP2E6dGhpcy5fdGltZWZyYW1lSXNBdmFpbGFibGUoTSk/TTp0aGlzLl90aW1lRnJhbWVPcHRpb25zLmZpbmQoKHQ9PnRoaXMuX3RpbWVmcmFtZUlzQXZhaWxhYmxlKHQudmFsdWUpKSk/LnZhbHVlPz9udWxsLG51bGw9PT1yKXJldHVybiB2b2lkIGsubG9nV2FybigiVGhlIGN1cnJlbnQgdGltZWZyYW1lIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggdGhlIHRpbWVmcmFtZXMgZnJvbSB0aW1lRnJhbWVPcHRpb25zIik7dGhpcy5fb3B0aW9ucy50aW1lZnJhbWUuY3VycmVudFRpbWVmcmFtZUNhbGxiYWNrJiZ0aGlzLl9vcHRpb25zLnRpbWVmcmFtZS5jdXJyZW50VGltZWZyYW1lQ2FsbGJhY2sociksdGhpcy5fdGltZWZyYW1lLnNldFZhbHVlKHIpO2NvbnN0IG89KDAsZi5jb252ZXJ0VGltZUZyYW1lVG9TdHIpKHRoaXMuX3RpbWVmcmFtZS52YWx1ZSgpKTt0aGlzLl9hY3RpdmVSYW5nZT1vLHRoaXMuX3RpbWVmcmFtZVZpZXcmJnRoaXMuX29wdGlvbnMudGltZWZyYW1lLnZpc2libGUmJnRoaXMuX3RpbWVmcmFtZVZpZXcudXBkYXRlKHthY3RpdmVSYW5nZTp0aGlzLl9hY3RpdmVSYW5nZX0pO2NvbnN0IGg9dGhpcy5fb3B0aW9ucy5jYWNoZT8ubG9hZERhdGEobyk7aWYoaClyZXR1cm4gdGhpcy5fY2FjaGVkVGlja21hcmtzPWgudGlja21hcmtzLHRoaXMuX3RpY2ttYXJrcz1uZXcgTWFwKHRoaXMuX2NhY2hlZFRpY2ttYXJrcyksdGhpcy5fY3JlYXRlVG9vbHRpcERhdGVGb3JtYXR0ZXIoKSx2b2lkIHRoaXMuX21haW5QbG90LnJlbG9hZENhY2hlKGgubWFpblBsb3QpO3RoaXMuX2NhY2hlZFRpY2ttYXJrcy5zaXplJiYodGhpcy5fY2FjaGVkVGlja21hcmtzPW5ldyBNYXAsdGhpcy5fdGlja21hcmtzPW5ldyBNYXAsdGhpcy5fbWFpblBsb3QucmVsb2FkQ2FjaGUoKSx0aGlzLl9tYWluUGxvdC5jbGVhckRhdGEoKSksKCFlJiZzIT09dGhpcy5fdGltZWZyYW1lLnZhbHVlKCl8fGkpJiZ0aGlzLl9yZXF1ZXN0RGF0YU9uVGltZWZyYW1lQ2hhbmdlKCl9Y2hhcnRTZXNzaW9uKCl7cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydFNlc3Npb24pfXdpZGdldCgpe3JldHVybiB0aGlzLl93aWRnZXR9dGltZWZyYW1lKCl7cmV0dXJuIHRoaXMuX3RpbWVmcmFtZS5yZWFkb25seSgpfXNldFRpbWVGcmFtZU9wdGlvbnModCxlKXtpZih0PT09dGhpcy5fdGltZUZyYW1lT3B0aW9ucylyZXR1cm47Y29uc3QgaT10aGlzLl90aW1lRnJhbWVPcHRpb25zLmZpbmQoKHQ9PigwLGYuYXJlRXF1YWxUaW1lRnJhbWVzKSh0LnZhbHVlLHRoaXMudGltZWZyYW1lKCkudmFsdWUoKSkpKSxzPWk/LnRhcmdldFJlc29sdXRpb24/P251bGw7dGhpcy5fdGltZUZyYW1lT3B0aW9ucz10LGU/dGhpcy5zZXRUaW1lZnJhbWUoZSk6dGhpcy5yZXNvbHV0aW9uKCkhPT1zJiZ0aGlzLl9yZXF1ZXN0RGF0YU9uVGltZWZyYW1lQ2hhbmdlKCksdGhpcy5faW5pdFRpbWVmcmFtZXNSZW5kZXJlcigpfXRpbWVGcmFtZU9wdGlvbnMoKXtyZXR1cm4gdGhpcy5fdGltZUZyYW1lT3B0aW9uc31yZXNvbHV0aW9uKCl7Y29uc3QgdD10aGlzLl90aW1lRnJhbWVPcHRpb25zLmZpbmQoKHQ9PigwLGYuYXJlRXF1YWxUaW1lRnJhbWVzKSh0LnZhbHVlLHRoaXMudGltZWZyYW1lKCkudmFsdWUoKSkpKTtyZXR1cm4oMCxsLmVuc3VyZURlZmluZWQpKHQ/LnRhcmdldFJlc29sdXRpb24pfWNoYW5nZVN5bWJvbCh0LGUpe3ZvaWQgMCE9PWUmJnRoaXMuX3VwZGF0ZVNlcmllc09wdGlvbnMoZSksdGhpcy5fb3B0aW9ucy5jaGFydE9wdGlvbnMubG9hZGluZy5jbGVhckRhdGFPblN5bWJvbENoYW5nZSYmKHRoaXMuX21haW5QbG90LmNsZWFyRGF0YSgpLHRoaXMuX21haW5QbG90LmRlbGV0ZVZpZXcoKSx0aGlzLl9zdHVkeVBsb3RzLmZvckVhY2goKHQ9PnQuY2xlYXJEYXRhKCkpKSx0aGlzLl9zdHVkeVBsb3RzLmZvckVhY2goKHQ9PnQuZGVsZXRlVmlldygpKSkpO3RoaXMuX21haW5QbG90LnNldFN5bWJvbCh0LHRoaXMuX29wdGlvbnMuY2hhcnRPcHRpb25zLnNlcmllcykmJih0aGlzLmNvbm5lY3RlZCgpJiYodGhpcy5fbWFpblBsb3QucmVxdWVzdERhdGEoKSx0aGlzLl9zdHVkeVBsb3RzLmZvckVhY2goKHQ9PnQucmVxdWVzdERhdGEoKSkpKSx0aGlzLmNvbm5lY3QoKSl9dXBkYXRlU2VyaWVzT3B0aW9ucyh0KXt0aGlzLl9hdG9taWNVcGRhdGVJc0dvaW5nPSEwLHRoaXMuX3VwZGF0ZVNlcmllc09wdGlvbnModCksdGhpcy5fbWFpblBsb3QudXBkYXRlU2VyaWVzT3B0aW9ucyh0KSx0aGlzLl91cGRhdGVTZXJpZXNVcERvd25Db2xvcnMoKSx0aGlzLl9hdG9taWNVcGRhdGVJc0dvaW5nPSExfWdldFNlcmllc09wdGlvbnMoKXtyZXR1cm4gdGhpcy5fbWFpblBsb3QuY3VycmVudFNlcmllc09wdGlvbnMoKX11cGRhdGVBZGRpdGlvbmFsU2VyaWVzT3B0aW9ucyh0LGUpe3RoaXMuX3N0dWR5UGxvdHNbZV0udXBkYXRlU2VyaWVzT3B0aW9ucyh0KX1zaG93TWVzc2FnZSh0KXt0aGlzLl9oaWRlTG9hZGluZygpLHRoaXMuX21haW5QbG90LmRlbGV0ZVZpZXcoKSx0aGlzLl9zdHVkeVBsb3RzLmZvckVhY2goKHQ9PnQuZGVsZXRlVmlldygpKSksdGhpcy5fdGV4dFdhdGVybWFyay5hcHBseU9wdGlvbnM/Lih7dmlzaWJsZTohMCxsaW5lczpbe2NvbG9yOiIjODM4ODhEIix0ZXh0OnQsZm9udFNpemU6MTJ9XX0pfWhpZGVNZXNzYWdlKCl7dGhpcy5fdGV4dFdhdGVybWFyay5hcHBseU9wdGlvbnM/Lih7dmlzaWJsZTohMSxsaW5lczpbXX0pfWZyb20oKXtjb25zdCB0PXRoaXMuX3RpbWVGcmFtZU9wdGlvbnMuZmluZCgodD0+KDAsZi5hcmVFcXVhbFRpbWVGcmFtZXMpKHQudmFsdWUsdGhpcy50aW1lZnJhbWUoKS52YWx1ZSgpKSkpO3JldHVyblt0Py5mcm9tXX1lbmFibGUodCl7dGhpcy5jb25uZWN0KHQpfWRpc2FibGUoKXt0aGlzLmRpc2Nvbm5lY3QoKX1kZXN0cm95KCl7dGhpcy5fYm91bmRUaW1lU2NhbGVTaXplQ2hhbmdlZEhhbmRsZXImJih0aGlzLl93aWRnZXQudGltZVNjYWxlKCkudW5zdWJzY3JpYmVTaXplQ2hhbmdlKHRoaXMuX2JvdW5kVGltZVNjYWxlU2l6ZUNoYW5nZWRIYW5kbGVyKSwKdGhpcy5fYm91bmRUaW1lU2NhbGVTaXplQ2hhbmdlZEhhbmRsZXI9dm9pZCAwKSx0aGlzLl9wYXJlbnRSZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCksdGhpcy5kaXNjb25uZWN0KCksdGhpcy5fd2lkZ2V0LnJlbW92ZSgpLHRoaXMuX21haW5QbG90LnN5bWJvbFJlc29sdmVkKCkudW5zdWJzY3JpYmVBbGwobnVsbCksdGhpcy5fbWFpblBsb3QudGltZUZyYW1lSW52YWxpZGF0ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9tYWluUGxvdC5kZXN0cm95KCksdGhpcy5fc3R1ZHlQbG90cy5mb3JFYWNoKCh0PT50LmRlc3Ryb3koKSkpLHRoaXMuX3RpbWVmcmFtZVZpZXc/LmRlc3Ryb3koKSx0aGlzLl9jaGFydFNlc3Npb25Db25uZWN0ZWQ/LmRlc3Ryb3koKSx0aGlzLl9jaGFydFNlc3Npb24/LmNyaXRpY2FsRXJyb3IoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9jaGFydFNlc3Npb24/LnJlbGVhc2UoKSxkZWxldGUgQVt0aGlzLl9pbm5lckNvbnRhaW5lci5kYXRhc2V0Lm1pbmlDaGFydElkXSx0aGlzLl9pbm5lckNvbnRhaW5lci5yZW1vdmUoKSx0aGlzLl9pc0Rlc3Ryb3llZD0hMH11cGRhdGVBdmFpbGFibGVUaW1lZnJhbWVzKCl7dGhpcy5fbWFpblBsb3Quc3ltYm9sSW5mbygpPyh0aGlzLl90aW1lZnJhbWVWaWV3JiZ0aGlzLl9vcHRpb25zLnRpbWVmcmFtZS52aXNpYmxlJiZ0aGlzLl90aW1lZnJhbWVWaWV3LnVwZGF0ZSh7cmFuZ2VzOnRoaXMuX2dldEF2YWlsYWJsZVRpbWVGcmFtZXMoKX0pLHRoaXMuc2V0VGltZWZyYW1lKHRoaXMuX3RpbWVmcmFtZS52YWx1ZSgpKSk6ay5sb2dXYXJuKCJVcGRhdGluZyBhdmFpbGFibGUgcmVzb2x1dGlvbnMgd2l0aG91dCBmdWxsIHN5bWJvbCBpbmZvIil9bWFpblBsb3QoKXtyZXR1cm4gdGhpcy5fbWFpblBsb3R9Zml0Q29udGVudCgpe3RoaXMuX21haW5QbG90LmZpdENvbnRlbnQoKX1oYXNTdHVkeVBsb3RzKCl7cmV0dXJuIHRoaXMuX3N0dWR5UGxvdHMubGVuZ3RoPjB9c3R1ZHlQbG90cygpe3JldHVybiB0aGlzLl9zdHVkeVBsb3RzT3JkZXJJbnZhbGlkYXRlZCYmKHRoaXMuX3N0dWR5UGxvdHMuc29ydChxKSx0aGlzLl9zdHVkeVBsb3RzT3JkZXJJbnZhbGlkYXRlZD0hMSksdGhpcy5fc3R1ZHlQbG90c31hZGRTdHVkeVBsb3QodCl7cmV0dXJuIHRoaXMuX2FkZFN0dWR5UGxvdCh0KSx7bm9EYXRhOnQubm9EYXRhKCksc3RhdHVzOnQuc3RhdHVzKCkscmVtb3ZlOigpPT57dGhpcy5fcmVtb3ZlU3R1ZHlQbG90KHQpfSxzeW1ib2w6KCk9PnQuc3ltYm9sKCksZXh0ZW5kZWRTeW1ib2w6KCk9PnQuZXh0ZW5kZWRTeW1ib2woKSxvcHRpb25zOigpPT50LmN1cnJlbnRTZXJpZXNPcHRpb25zKCl9fWluZGV4VG9UaW1lKHQpe2NvbnN0IGU9dGhpcy5fdGlja21hcmtzLnNpemU/dGhpcy5fdGlja21hcmtzOnRoaXMuX2NhY2hlZFRpY2ttYXJrcztyZXR1cm4gZS5nZXQodCk/LnRpbWU/P251bGx9c3Vic2NyaWJlQ3Jvc3NoYWlyTW92ZSh0KXtjb25zdCBlPWU9Pnt0aGlzLl9hdG9taWNVcGRhdGVJc0dvaW5nfHx0KGUpfTt0aGlzLl9jcm9zc2hhaXJNb3ZlSGFuZGxlcnMuc2V0KHQsZSksdGhpcy5fd2lkZ2V0LnN1YnNjcmliZUNyb3NzaGFpck1vdmUoZSl9dW5zdWJzY3JpYmVDcm9zc2hhaXJNb3ZlKHQpe2NvbnN0IGU9dGhpcy5fY3Jvc3NoYWlyTW92ZUhhbmRsZXJzLmdldCh0KTtlJiYodGhpcy5fY3Jvc3NoYWlyTW92ZUhhbmRsZXJzLmRlbGV0ZSh0KSx0aGlzLl93aWRnZXQudW5zdWJzY3JpYmVDcm9zc2hhaXJNb3ZlKGUpKX11cERvd25Db2xvcnModCl7cmV0dXJuIHRoaXMuX3Nlcmllc1VwRG93bkNvbG9yc1t0XXx8dGhpcy5fdXBkYXRlU2VyaWVzVXBEb3duQ29sb3JzSW1wbCgpLHRoaXMuX3Nlcmllc1VwRG93bkNvbG9yc1t0XT8/bnVsbH1kYXRlVGltZUZvcm1hdHRlcigpe3JldHVybiB0aGlzLl9kYXRlVGltZUZvcm1hdHRlcn1pc0RXTVJlc29sdXRpb24oKXtyZXR1cm4gdGhpcy5faXNEV01SZXNvbHV0aW9ufXVwZGF0ZUNoYXJ0UmlnaHRNYXJnaW5BY2NvcmRpbmdUb1RpdGxlcygpe2NvbnN0IHQ9dGhpcy5tYWluUGxvdCgpLmN1cnJlbnRTZXJpZXNPcHRpb25zKCkuaG9yek1hcmdpbnM/LnJpZ2h0UHg7aWYodCl0aGlzLm1haW5QbG90KCkudXBkYXRlSG9yek1hcmdpbnMoe3JpZ2h0UHg6dH0pO2Vsc2V7Y29uc3QgdD1bdGhpcy5tYWluUGxvdCgpLC4uLnRoaXMuX3N0dWR5UGxvdHNdO2xldCBlPTA7Zm9yKGNvbnN0IGkgb2YgdClmb3IoY29uc3QgdCBvZiBpLnRpdGxlcygpKWU9TWF0aC5tYXgoZSx0Lmxlbmd0aCk7dGhpcy5tYWluUGxvdCgpLnVwZGF0ZUhvcnpNYXJnaW5zKHtyaWdodFB4OjEyKmV9KX10aGlzLm1haW5QbG90KCkuZml0Q29udGVudCgpfWFjdGl2ZVJhbmdlKCl7cmV0dXJuIHRoaXMuX2FjdGl2ZVJhbmdlfXRpbWVTY2FsZVNpemVDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3RpbWVTY2FsZVNpemVDaGFuZ2VkfV9nZXRDaGFydFBsb3RDbGFzcygpe3JldHVybiBQLk1pbmlDaGFydFBsb3R9X2NyZWF0ZU1haW5QbG90KHQpe2NvbnN0IGU9KDAsZi5jb252ZXJ0VGltZUZyYW1lVG9TdHIpKHRoaXMuX3RpbWVmcmFtZS52YWx1ZSgpKSxpPW5ldyh0aGlzLl9nZXRDaGFydFBsb3RDbGFzcygpKSh0aGlzLHRoaXMuX29wdGlvbnMuY2hhcnRPcHRpb25zLnNlcmllcyx0aGlzLl9vcHRpb25zLmNoYXJ0T3B0aW9ucy52b2x1bWUsKCgpPT50aGlzLl9zdHVkeVBsb3RzKSx0aGlzLl9vcHRpb25zLm1haW5QbG90T3B0aW9ucyx0aGlzLl9vcHRpb25zLmNhY2hlPy5sb2FkRGF0YShlKT8ubWFpblBsb3QpO3JldHVybiBpLnNldFN5bWJvbCh0KSxpLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TeW1ib2xSZXNvbHZlZCksaS50aW1lRnJhbWVJbnZhbGlkYXRlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uVGltZUZyYW1lSW52YWxpZGF0ZWQpLGkuc3RhdHVzKCkuc3Vic2NyaWJlKHRoaXMuX29uUGxvdFN0YXR1c0NoYW5nZWQpLGl9X29uUGxvdHNEYXRhUmVhZHkoKXsiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5fb3B0aW9ucy5vbkZpcnN0RGF0YSYmKHRoaXMuX29wdGlvbnMub25GaXJzdERhdGEoKSwKdGhpcy5fb3B0aW9ucy5vbkZpcnN0RGF0YT1udWxsKSx0aGlzLl9oaWRlTG9hZGluZygpLHRoaXMuaGlkZU1lc3NhZ2UoKSx0aGlzLl9jbGVhck5vRGF0YVRpbWVvdXQoKSx0aGlzLl9vcHRpb25zLmRvTm90RGlzY29ubmVjdE9uRGF0YVJlYWR5fHx0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLl9jcmVhdGVSZWNvbm5lY3Rpb25UaW1lb3V0KCksdGhpcy5fc2F2ZUNhY2hlKCl9X2FkZFN0dWR5UGxvdCh0KXt0aGlzLl9zdHVkeVBsb3RzLnB1c2godCksdC5zdGF0dXMoKS5zdWJzY3JpYmUodGhpcy5fb25QbG90U3RhdHVzQ2hhbmdlZCksdGhpcy5jb25uZWN0ZWQoKT90LnJlcXVlc3REYXRhKCk6dGhpcy5jb25uZWN0KCksdC5mb3JjZVBlcmNlbnRhZ2VNb2RlKCkmJnRoaXMuX21haW5QbG90LnN3aXRjaFRvUGVyY2VudGFnZVNjYWxlTW9kZSgpLHRoaXMuX3VwZGF0ZVN0YXR1cygpLHRoaXMuX3N0dWR5UGxvdHNPcmRlckludmFsaWRhdGVkPSEwfV9yZW1vdmVTdHVkeVBsb3QodCl7Y29uc3QgZT10aGlzLl9zdHVkeVBsb3RzLmluZGV4T2YodCk7KDAsbC5hc3NlcnQpKC0xIT09ZSksdGhpcy5fc3R1ZHlQbG90cy5zcGxpY2UoZSwxKSx0LnN0YXR1cygpLnVuc3Vic2NyaWJlKHRoaXMuX29uUGxvdFN0YXR1c0NoYW5nZWQpLHQuZGVsZXRlVmlldygpLHQuY2xlYXJEYXRhKCksdC5kZXN0cm95KCksdGhpcy5fYXV0b1Jlc3RvcmVPcmlnaW5hbFNjYWxlTW9kZSgpJiZ0aGlzLl9zdHVkeVBsb3RzLmV2ZXJ5KCh0PT4hdC5mb3JjZVBlcmNlbnRhZ2VNb2RlKCkpKSYmdGhpcy5fbWFpblBsb3QucmVzdG9yZU9yaWdpbmFsU2NhbGVNb2RlKCksdGhpcy5fc3R1ZHlQbG90c09yZGVySW52YWxpZGF0ZWQ9ITAsdGhpcy5fdXBkYXRlU3RhdHVzKCl9X2F1dG9SZXN0b3JlT3JpZ2luYWxTY2FsZU1vZGUoKXtyZXR1cm4hMH1fdXBkYXRlU2VyaWVzVXBEb3duQ29sb3JzKCl7dGhpcy5fc2VyaWVzVXBEb3duQ29sb3JzPXt9fV91cGRhdGVTZXJpZXNVcERvd25Db2xvcnNJbXBsKCl7Y29uc3QgdD10aGlzLl9vcHRpb25zLmNoYXJ0T3B0aW9ucy5zZXJpZXMsZT10aGlzLl9tYWluUGxvdC5zZXJpZXMoKS5vcHRpb25zKCk7c3dpdGNoKHQuY2hhcnRUeXBlKXtjYXNlImNhbmRsZXN0aWNrcyI6Y29uc3QgaT1lO3RoaXMuX3Nlcmllc1VwRG93bkNvbG9ycy5DYW5kbGVzdGljaz17dXA6dC5ib3JkZXJVcENvbG9yPz90LnVwQ29sb3I/P2kuYm9yZGVyVXBDb2xvcj8/aS51cENvbG9yLGRvd246dC5ib3JkZXJEb3duQ29sb3I/P3QuZG93bkNvbG9yPz9pLmJvcmRlckRvd25Db2xvcj8/aS5kb3duQ29sb3J9O2JyZWFrO2Nhc2UiYmFycyI6Y29uc3Qgcz1lO3RoaXMuX3Nlcmllc1VwRG93bkNvbG9ycy5CYXI9e3VwOnQudXBDb2xvcj8/cy51cENvbG9yLGRvd246dC5kb3duQ29sb3I/P3MuZG93bkNvbG9yfTticmVhaztjYXNlImhpc3RvZ3JhbSI6Y29uc3QgYT1lO3RoaXMuX3Nlcmllc1VwRG93bkNvbG9ycy5IaXN0b2dyYW09e3VwOnQudXBDb2xvcj8/dC5jb2xvcj8/YS5jb2xvcixkb3duOnQuZG93bkNvbG9yPz90LmNvbG9yPz9hLmNvbG9yfX19X3VwZGF0ZVNlcmllc09wdGlvbnModCl7dGhpcy5fb3B0aW9ucy5jaGFydE9wdGlvbnMuc2VyaWVzPWZ1bmN0aW9uKHQpe2xldCBlO3N3aXRjaCh0LmNoYXJ0VHlwZT8/ImFyZWEiKXtjYXNlImJhcnMiOmU9UjticmVhaztjYXNlImNhbmRsZXN0aWNrcyI6ZT1WO2JyZWFrO2Nhc2UiYXJlYSI6ZT14O2JyZWFrO2Nhc2UibGluZSI6ZT1PO2JyZWFrO2Nhc2UiaGlzdG9ncmFtIjplPXo7YnJlYWs7Y2FzZSJwcmV0dHktaGlzdG9ncmFtIjplPUU7YnJlYWs7Y2FzZSJiYXNlbGluZSI6ZT1GfXJldHVybigwLGEuZGVmYXVsdCkoe30sZSx0KX0odCl9X3NhdmVDYWNoZSgpe2NvbnN0e2NhY2hlOnR9PXRoaXMuX29wdGlvbnM7aWYoIXQpcmV0dXJuO2NvbnN0IGU9dGhpcy5fcHJlcGFyZUNhY2hlRGF0YSgpLGk9KDAsZi5jb252ZXJ0VGltZUZyYW1lVG9TdHIpKHRoaXMuX3RpbWVmcmFtZS52YWx1ZSgpKTtlJiYodC5zYXZlRGF0YShpLGUpLHRoaXMuX2NhY2hlZFRpY2ttYXJrcz1lLnRpY2ttYXJrcyl9X3ByZXBhcmVDYWNoZURhdGEoKXtpZighdGhpcy5fdGlja21hcmtzLnNpemUpcmV0dXJuIG51bGw7Y29uc3QgdD10aGlzLl9tYWluUGxvdC5jYWNoZURhdGEoKTtyZXR1cm4gdD97bWFpblBsb3Q6dCx0aWNrbWFya3M6bmV3IE1hcCh0aGlzLl90aWNrbWFya3MpfTpudWxsfV9vbk1haW5QbG90RGF0YUVycm9yKCl7dGhpcy5faGlkZUxvYWRpbmcoKSx0aGlzLnNob3dNZXNzYWdlKG4udChudWxsLHZvaWQgMCxpKDg3MjM4KSkpLHRoaXMuX2NsZWFyTm9EYXRhVGltZW91dCgpLHRoaXMuZGlzY29ubmVjdCgpfV9vbk1haW5QbG90U3ltYm9sUmVzb2x2aW5nRXJyb3IoKXt0aGlzLl9oaWRlTG9hZGluZygpLHRoaXMuc2hvd01lc3NhZ2Uobi50KG51bGwsdm9pZCAwLGkoMTQ2ODA3KSkpLHRoaXMuX2NsZWFyTm9EYXRhVGltZW91dCgpLHRoaXMuZGlzY29ubmVjdCgpfV9jcmVhdGVSZWNvbm5lY3Rpb25UaW1lb3V0KCl7aWYodGhpcy5fb3B0aW9ucy5kb05vdERpc2Nvbm5lY3RPbkRhdGFSZWFkeSlyZXR1cm47Y29uc3QgdD10aGlzLl9vcHRpb25zLnVwZGF0ZVRpbWVvdXQ7dm9pZCAwIT09dCYmdD4wJiYodGhpcy5fdXBkYXRlVGltZXJJZD1zZXRUaW1lb3V0KCgoKT0+e3RoaXMuX3VwZGF0ZVRpbWVySWQ9bnVsbCx0aGlzLmNvbm5lY3RlZCgpP3RoaXMuX3JlcXVlc3REYXRhKCk6dGhpcy5jb25uZWN0KCl9KSx0KSl9X2NsZWFyUmVjb25uZWN0aW9uVGltZW91dCgpe251bGwhPT10aGlzLl91cGRhdGVUaW1lcklkJiYoY2xlYXJJbnRlcnZhbCh0aGlzLl91cGRhdGVUaW1lcklkKSx0aGlzLl91cGRhdGVUaW1lcklkPW51bGwpfV9jcmVhdGVOb0RhdGFUaW1lb3V0KCl7Y29uc3QgdD10aGlzLl9vcHRpb25zLm5vRGF0YVRpbWVvdXQ7dm9pZCAwIT09dCYmdD4wJiYodGhpcy5fbG9hZEVycm9yVGltZW91dD1zZXRUaW1lb3V0KCgoKT0+e3RoaXMuc2hvd01lc3NhZ2Uobi50KG51bGwsdm9pZCAwLGkoMTQ2ODA3KSkpLAoiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5fb3B0aW9ucy5vbkZpcnN0RGF0YSYmKHRoaXMuX29wdGlvbnMub25GaXJzdERhdGEoKSx0aGlzLl9vcHRpb25zLm9uRmlyc3REYXRhPW51bGwpfSksdCkpfV9jbGVhck5vRGF0YVRpbWVvdXQoKXt0aGlzLl9sb2FkRXJyb3JUaW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMuX2xvYWRFcnJvclRpbWVvdXQpLHRoaXMuX2xvYWRFcnJvclRpbWVvdXQ9bnVsbCl9X2luaXRUaW1lZnJhbWVzUmVuZGVyZXIoKXtpZighdGhpcy5fb3B0aW9ucy50aW1lZnJhbWUudmlzaWJsZSlyZXR1cm47e2NvbnN0IHQ9dGhpcy5fdGltZUZyYW1lT3B0aW9ucy5sZW5ndGg8MjtpZih0aGlzLl90aW1lZnJhbWVWaWV3Py51cGRhdGUoe2hpZGRlbjp0fSksKHRoaXMuX2VsVGltZWZyYW1lPz90aGlzLl9vcHRpb25zLnRpbWVmcmFtZS5jb250YWluZXIpPy5jbGFzc0xpc3QudG9nZ2xlKHcuaGlkZGVuLHQpLHQpcmV0dXJufWlmKHRoaXMuX2VsVGltZWZyYW1lKXJldHVybjt0aGlzLl9vcHRpb25zLnRpbWVmcmFtZS5jb250YWluZXI/dGhpcy5fZWxUaW1lZnJhbWU9dGhpcy5fb3B0aW9ucy50aW1lZnJhbWUuY29udGFpbmVyOih0aGlzLl9lbFRpbWVmcmFtZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9jb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5fZWxUaW1lZnJhbWUpKTtjb25zdCB0PSh0LGUpPT57Y29uc3QgaT10aGlzLl90aW1lRnJhbWVPcHRpb25zLmxlbmd0aDwyLHM9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9lbFRpbWVmcmFtZSk7cy5jbGFzc0xpc3QudG9nZ2xlKHcuaGlkZGVuLGkpLHRoaXMuX3RpbWVmcmFtZVZpZXc9bmV3IHQuVGltZUZyYW1lVmlld1JlbmRlcmVyKHMse25hbWU6Im1pbmljaGFydF90aW1lZnJhbWUiLGFjdGl2ZVJhbmdlOnRoaXMuX2FjdGl2ZVJhbmdlLHJhbmdlczp0aGlzLl9nZXRBdmFpbGFibGVUaW1lRnJhbWVzKCksb25TZWxlY3RSYW5nZTp0PT57dGhpcy5zZXRUaW1lZnJhbWUoe3ZhbHVlOnQsdHlwZToicGVyaW9kLWJhY2sifSl9LHNpemU6dGhpcy5fb3B0aW9ucy50aW1lZnJhbWUuc2l6ZSxoaWRkZW46aSx0aGVtZTplfSl9O1Byb21pc2UuYWxsKFtpLmUoMTIzODUpLGkuZSg4MDc4MiksaS5lKDMyMzg3KSxpLmUoNDQxNjIpXSkudGhlbihpLmJpbmQoaSwzOTU2MjUpKS50aGVuKChlPT57KHRoaXMuX29wdGlvbnMudGltZWZyYW1lLmdldFRoZW1lfHwoKCk9PlByb21pc2UucmVzb2x2ZSh2b2lkIDApKSkoKS50aGVuKChpPT50KGUsaSkpKX0pKX1fY3JlYXRlTGVnZW5kKCl7dGhpcy5fb3B0aW9ucy5sZWdlbmQmJnRoaXMuX29wdGlvbnMubGVnZW5kLnZpc2libGUmJlByb21pc2UuYWxsKFtpLmUoMzAzNzMpLGkuZSg1Njg5KSxpLmUoNjU4MyksaS5lKDMyMzg3KSxpLmUoMTY0NildKS50aGVuKGkuYmluZChpLDI5NzY1MCkpLnRoZW4oKHQ9PnQuY3JlYXRlTGVnZW5kKHRoaXMuX29wdGlvbnMubGVnZW5kLmNvbnRhaW5lcix0aGlzLl9vcHRpb25zLmxlZ2VuZC5pdGVtcykpKX1fZ2V0QXZhaWxhYmxlVGltZUZyYW1lcygpe2NvbnN0IHQ9W107Zm9yKGNvbnN0IGUgb2YgdGhpcy5fdGltZUZyYW1lT3B0aW9ucyl7aWYoIXRoaXMuX3RpbWVmcmFtZUlzQXZhaWxhYmxlKGUudmFsdWUpKWNvbnRpbnVlO2NvbnN0IGk9KDAsZi5jb252ZXJ0VGltZUZyYW1lVG9TdHIpKGUudmFsdWUpO3QucHVzaCh7dmFsdWU6aSx0ZXh0OmUudGV4dCxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9ufSl9cmV0dXJuIHR9X3RpbWVmcmFtZUlzQXZhaWxhYmxlKHQpe2NvbnN0IGU9dGhpcy5fdGltZUZyYW1lT3B0aW9ucy5maW5kKChlPT4oMCxmLmFyZUVxdWFsVGltZUZyYW1lcykoZS52YWx1ZSx0KSkpO2lmKCFlKXJldHVybiExO2NvbnN0IGk9dGhpcy5tYWluUGxvdCgpLnN5bWJvbEluZm8oKTtpZighaXx8aS5wcm9fbmFtZSE9PXRoaXMuX21haW5QbG90LnN5bWJvbCgpKXJldHVybiEwO2lmKGkuaGFzX2ludHJhZGF5KXJldHVybiEwO3JldHVybiF1LkludGVydmFsLnBhcnNlKGUudGFyZ2V0UmVzb2x1dGlvbikuaXNJbnRyYWRheSgpfV9vbkNoYXJ0U2Vzc2lvbklzQ29ubmVjdGVkQ2hhbmdlZCh0KXt0IT09dGhpcy5fY29ubmVjdGVkJiYodD8odGhpcy5fY29ubmVjdGVkPSEwLCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLl9jb25uZWN0Q2FsbGJhY2smJnRoaXMuX2Nvbm5lY3RDYWxsYmFjaygpLHRoaXMuX2NoYXJ0U2Vzc2lvbj8uc3dpdGNoVGltZXpvbmUoIkV0Yy9VVEMiKSx0aGlzLl9yZXF1ZXN0RGF0YSgpKToodGhpcy5fY29ubmVjdGVkPSExLHRoaXMuX21haW5QbG90LmRpc2Nvbm5lY3QoKSx0aGlzLl9zdHVkeVBsb3RzLmZvckVhY2goKHQ9PnQuZGlzY29ubmVjdCgpKSkpKX1fb25DaGFydFNlc3Npb25Dcml0aWNhbEVycm9yKCl7dGhpcy5fY29ubmVjdGVkPSExfV9jcmVhdGVUb29sdGlwRGF0ZUZvcm1hdHRlcigpe2NvbnN0IHQ9dS5JbnRlcnZhbC5wYXJzZSh0aGlzLnJlc29sdXRpb24oKSk7bGV0IGU7dGhpcy5faXNEV01SZXNvbHV0aW9uPXQuaXNEV00oKSx0aGlzLl93aWRnZXQudGltZVNjYWxlKCkuYXBwbHlPcHRpb25zKHt0aW1lVmlzaWJsZTohdGhpcy5faXNEV01SZXNvbHV0aW9uLHNlY29uZHNWaXNpYmxlOnQuaXNTZWNvbmRzKCl9KTtjb25zdHtkYXRlRm9ybWF0Omk9ImRkIE1NTSAneXkiLHRpbWVIb3Vyc0Zvcm1hdDpzPSIyNC1ob3VycyIsc3VwcHJlc3NUaWNrTWFya3M6YX09dGhpcy5fb3B0aW9ucy5jaGFydE9wdGlvbnM7ZT10aGlzLl9pc0RXTVJlc29sdXRpb24/bmV3IGMuRGF0ZUZvcm1hdHRlcihpKTpuZXcgZC5EYXRlVGltZUZvcm1hdHRlcih7ZGF0ZUZvcm1hdDppLHRpbWVGb3JtYXQ6KDAsZy5nZXRUaW1lRm9ybWF0Rm9ySW50ZXJ2YWwpKHQscyl9KSx0aGlzLl9kYXRlVGltZUZvcm1hdHRlcj1lLHRoaXMuX3dpZGdldC5hcHBseU9wdGlvbnMoe2xvY2FsaXphdGlvbjp7dGltZUZvcm1hdHRlcjp0PT5lLmZvcm1hdChuZXcgRGF0ZSgxZTMqdCkpfSx0aW1lU2NhbGU6e3RpY2tNYXJrRm9ybWF0dGVyOkguYmluZChudWxsLHMsYSx0aGlzLl90aW1lZnJhbWUudmFsdWUoKSl9fSksdGhpcy5fd2lkZ2V0LmFwcGx5T3B0aW9ucyh7dGltZVNjYWxlOnsKdGltZVZpc2libGU6IXUuSW50ZXJ2YWwucGFyc2UodGhpcy5fbWFpblBsb3QucmVzb2x1dGlvbigpKS5pc0RXTSgpfX0pfV9yZXF1ZXN0RGF0YSgpe3RoaXMuX2NyZWF0ZVRvb2x0aXBEYXRlRm9ybWF0dGVyKCksdGhpcy5fY2xlYXJSZWNvbm5lY3Rpb25UaW1lb3V0KCksdGhpcy5fbWFpblBsb3QucmVxdWVzdERhdGEoKSx0aGlzLl9zdHVkeVBsb3RzLmZvckVhY2goKHQ9PnQucmVxdWVzdERhdGEoKSkpfV9vbkRhdGEodCl7aWYodGhpcy5fbWFpblBsb3QuaXNDb25uZWN0ZWQoKSlzd2l0Y2godC5tZXRob2Qpe2Nhc2UidGltZXNjYWxlX3VwZGF0ZSI6e2NvbnN0IGU9dC5wYXJhbXM7aWYoZS5jbGVhcil7dGhpcy5fdGlja21hcmtzLmNsZWFyKCksdGhpcy5fbWFpblBsb3QuY2xlYXJTb3VyY2VEYXRhKCk7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fc3R1ZHlQbG90cyl0LmNsZWFyU291cmNlRGF0YSgpfWlmKGUuaW5kZXhfZGlmZi5sZW5ndGg+MCl7dGhpcy5fbWFpblBsb3QubW92ZVNvdXJjZURhdGEoZS5pbmRleF9kaWZmKTtmb3IoY29uc3QgdCBvZiB0aGlzLl9zdHVkeVBsb3RzKXQubW92ZVNvdXJjZURhdGEoZS5pbmRleF9kaWZmKX1jb25zdCBpPWUubWFya3M7bGV0IHM9MS8wLGE9LTEvMDtmb3IoY29uc3QgdCBvZiBpKXRoaXMuX3RpY2ttYXJrcy5oYXModC5pbmRleCl8fChzPU1hdGgubWluKHMsdC5pbmRleCksYT1NYXRoLm1heChhLHQuaW5kZXgpKSx0aGlzLl90aWNrbWFya3Muc2V0KHQuaW5kZXgsdCk7TnVtYmVyLmlzRmluaXRlKHMpJiZ0aGlzLl9tYWluUGxvdC5vblRpY2ttYXJrc0FkZGVkKHMsYSksdGhpcy5fc2F2ZUNhY2hlKCk7YnJlYWt9fX1fb25TeW1ib2xSZXNvbHZlZCgpe3RoaXMudXBkYXRlQXZhaWxhYmxlVGltZWZyYW1lcygpLHRoaXMuX2luaXRUaW1lZnJhbWVzUmVuZGVyZXIoKX1fb25UaW1lRnJhbWVJbnZhbGlkYXRlZCgpe3RoaXMuX2FjdGl2ZVJhbmdlPXZvaWQgMCx0aGlzLl90aW1lZnJhbWVWaWV3Py51cGRhdGUoe2FjdGl2ZVJhbmdlOnZvaWQgMH0pfV9zaG93TG9hZGluZygpe2lmKHRoaXMuX2lzTG9hZGluZylyZXR1cm47dGhpcy5oaWRlTWVzc2FnZSgpO2NvbnN0IHQ9dGhpcy5fb3B0aW9ucy5jaGFydE9wdGlvbnMubG9hZGluZzt0LnNwaW5uZXIudmlzaWJsZSYmKG51bGw9PT10aGlzLl9zcGlubmVyJiYodGhpcy5fc3Bpbm5lcj1uZXcgdi5TcGlubmVyKCJtaW5pIikuc2V0U3R5bGUoe2NvbG9yOnQuc3Bpbm5lci5jb2xvcix3aWR0aDp0LnNwaW5uZXIud2lkdGgudG9TdHJpbmcoKSx6SW5kZXg6IjEwIn0pKSx0aGlzLl9zcGlubmVyLnNwaW4odGhpcy5faW5uZXJDb250YWluZXIpKSx0LmZhZGUudmlzaWJsZSYmdGhpcy5faW5uZXJDb250YWluZXIuY2xhc3NMaXN0LmFkZCh3LmZhZGUpLHRoaXMuX2lzTG9hZGluZz0hMH1faGlkZUxvYWRpbmcoKXt0aGlzLl9pc0xvYWRpbmcmJih0aGlzLl9zcGlubmVyJiZ0aGlzLl9zcGlubmVyLnN0b3AoKSx0aGlzLl9pc0xvYWRpbmc9ITEpfV9yZXF1ZXN0RGF0YU9uVGltZWZyYW1lQ2hhbmdlKCl7dGhpcy5fb3B0aW9ucy5jaGFydE9wdGlvbnMubG9hZGluZy5jbGVhckRhdGFPblRpbWVmcmFtZUNoYW5nZSYmKHRoaXMuX3N0dWR5UGxvdHMuZm9yRWFjaCgodD0+dC5jbGVhckRhdGEoKSkpLHRoaXMuX3N0dWR5UGxvdHMuZm9yRWFjaCgodD0+dC5kZWxldGVWaWV3KCkpKSx0aGlzLm1haW5QbG90KCkuY2xlYXJEYXRhKCksdGhpcy5tYWluUGxvdCgpLmRlbGV0ZVZpZXcoKSksdGhpcy5jb25uZWN0ZWQoKT90aGlzLl9yZXF1ZXN0RGF0YSgpOnRoaXMuY29ubmVjdCgpfV91cGRhdGVTdGF0dXMoKXtjb25zdCB0PVt0aGlzLl9tYWluUGxvdC5zdGF0dXMoKS52YWx1ZSgpLC4uLnRoaXMuX3N0dWR5UGxvdHMubWFwKCh0PT50LnN0YXR1cygpLnZhbHVlKCkpKV0sZT10LmV2ZXJ5KCh0PT4wIT09dCkpPzM9PT10WzBdPyJyZWFkeSI6ImVycm9yIjoibG9hZGluZyI7dGhpcy5fc3RhdHVzLnNldFZhbHVlKGUpfV90aW1lU2NhbGVTaXplQ2hhbmdlZEhhbmRsZXIodCxlKXt0aGlzLl90aW1lU2NhbGVTaXplQ2hhbmdlZC5maXJlKHQsZSl9fX0sMTQ2MDU4KHQsZSxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyh0KXtyZXR1cm4gdC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiZGl2IikuaXRlbSgwKT8uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRhYmxlIikuaXRlbSgwKT8uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRyIikuaXRlbSgwKT8uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRkIikuaXRlbSgxKT8uZ2V0RWxlbWVudHNCeVRhZ05hbWUoImRpdiIpLml0ZW0oMCk/P251bGx9aS5kKGUse2dldENoYXJ0TGF5b3V0Q29udGFpbmVyOigpPT5zfSl9LDU4NjI0Nyh0LGUsaSl7InVzZSBzdHJpY3QiO2kuZChlLHtNaW5pQ2hhcnRQbG90OigpPT5jfSk7dmFyIHMsYT1pKDc0MDE2Mik7IWZ1bmN0aW9uKHQpe3QuRGVmYXVsdD0iZGVmYXVsdCIsdC5GdWxsU2luZ2xlU2Vzc2lvbj0iZnVsbF9zaW5nbGVfc2Vzc2lvbiJ9KHN8fChzPXt9KSk7dmFyIG49aSg5MzYzMjYpLHI9aSg4NTcxNTEpLG89aSgxMjE0NzkpLGg9aSg4MzcyMDMpLGw9aSgyNDIxNzEpO2NsYXNzIGMgZXh0ZW5kcyBsLk1pbmlDaGFydFBsb3RCYXNle2NvbnN0cnVjdG9yKHQsZSxpLHMsbixyKXtzdXBlcih0LGUsaSxuKSx0aGlzLl9zZXJpZXNEYXRhU291cmNlPW51bGwsdGhpcy5fY2FjaGVkRGF0YT1udWxsLHRoaXMuX3N0dWR5UGxvdHM9cyx0aGlzLl9vcHRpb25zPW4sdGhpcy5faG9yek1hcmdpbnM9KDAsYS5kZWZhdWx0KSh7fSxsLnNlcmllc0hvcnpNYXJnaW5zRGVmYXVsdHMsZS5ob3J6TWFyZ2lucyksciYmdGhpcy5fbG9hZENhY2hlKHIpfWRlc3Ryb3koKXt0aGlzLl9zZXJpZXNEYXRhU291cmNlPy5kZXN0cm95KCksc3VwZXIuZGVzdHJveSgpfXVwZGF0ZUhvcnpNYXJnaW5zKHQpe3RoaXMuX2hvcnpNYXJnaW5zPSgwLGEuZGVmYXVsdCkodGhpcy5faG9yek1hcmdpbnMsdCksdGhpcy5fbWluaUNoYXJ0LmZpdENvbnRlbnQoKX1yZWxvYWRDYWNoZSh0KXt0aGlzLl9jYWNoZT10LHQ/dGhpcy5fbG9hZENhY2hlKHQpOih0aGlzLl9taW5CYXJJbmRleD1udWxsLHRoaXMuX21heEJhckluZGV4PW51bGwsCnRoaXMuX2NhY2hlZERhdGE9bnVsbCx0aGlzLl9vbkRhdGEoKS50aGVuKCgoKT0+e3RoaXMuZml0Q29udGVudCgpfSkpKX1yZXF1ZXN0RGF0YSgpe2NvbnN0IHQ9dGhpcy5fZ2V0U2VyaWVzRGF0YVNvdXJjZSgpO3RoaXMuX3N0YXR1cy5zZXRWYWx1ZSgwKSx0aGlzLl9ub0RhdGEuc2V0VmFsdWUobnVsbCksdC5tb2RpZnlTZXJpZXModGhpcy5leHRlbmRlZFN5bWJvbCgpLCgwLG8uZ2V0U2VydmVySW50ZXJ2YWwpKHRoaXMucmVzb2x1dGlvbigpKSx0aGlzLl9taW5pQ2hhcnQudGltZWZyYW1lKCkudmFsdWUoKSksdC5pc1N0YXJ0ZWQoKXx8dC5zdGFydCgpfWNsZWFyU291cmNlRGF0YSgpe3RoaXMuX3Nlcmllc0RhdGFTb3VyY2U/LmNsZWFyRGF0YSgpLHRoaXMuX3N0dWR5UGxvdHMoKS5mb3JFYWNoKCh0PT50LmNsZWFyU291cmNlRGF0YSgpKSl9bW92ZVNvdXJjZURhdGEodCl7dGhpcy5fc2VyaWVzRGF0YVNvdXJjZT8ubW92ZURhdGEodCl9b25UaWNrbWFya3NBZGRlZCh0LGUpe2NvbnN0IGk9dGhpcy5tYXhCYXJJbmRleCgpO3RoaXMuX2lzTGFzdFNlc3Npb25JbnRlcnZhbC52YWx1ZSgpJiZudWxsIT09aSYmaT49dCYmaTw9ZSYmKHRoaXMudXBkYXRlRGF0YSghMSwhMCksdGhpcy5maXRDb250ZW50KCkpfWRpc2Nvbm5lY3QoKXt0aGlzLl9zZXJpZXNEYXRhU291cmNlPy5zdG9wKCl9aXNDb25uZWN0ZWQoKXtyZXR1cm4gQm9vbGVhbih0aGlzLl9zZXJpZXNEYXRhU291cmNlPy5pc1N0YXJ0ZWQoKSl9Y2xlYXJEYXRhKCl7aWYoc3VwZXIuY2xlYXJEYXRhKCksdGhpcy5fbWluQmFySW5kZXg9bnVsbCx0aGlzLl9tYXhCYXJJbmRleD1udWxsLG51bGwhPT10aGlzLl9zZXJpZXNEYXRhU291cmNlJiYodGhpcy5fc2VyaWVzRGF0YVNvdXJjZS5zdG9wKCksdGhpcy5jbGVhclNvdXJjZURhdGEoKSksdGhpcy5fY2FjaGUpe2NvbnN0e21pbkJhckluZGV4OnQsbWF4QmFySW5kZXg6ZSxzeW1ib2xJbmZvOml9PXRoaXMuX2NhY2hlO3RoaXMuX21pbkJhckluZGV4PXQsdGhpcy5fbWF4QmFySW5kZXg9ZSxpJiYodGhpcy5fc3ltYm9sSW5mbz1pLHRoaXMuX3N5bWJvbEluZm9XVi5zZXRWYWx1ZShpKSx0aGlzLl9pbml0QmFyQnVpbGRlcihpKS50aGVuKCgoKT0+e3RoaXMuX2lzRGVzdHJveWVkLnZhbHVlKCl8fHRoaXMuX29uRGF0YSgpLnRoZW4oKCgpPT57dGhpcy5maXRDb250ZW50KCl9KSl9KSkpfX1zZXJpZXNEYXRhU291cmNlKCl7cmV0dXJuIHRoaXMuX2dldFNlcmllc0RhdGFTb3VyY2UoKX1maXJzdEJhcigpe3JldHVybigwLGwuaXNUaW1lUG9pbnRJbmRleCkodGhpcy5fbWluQmFySW5kZXgpP3RoaXMuX2JhcnMoKS5zZWFyY2godGhpcy5fbWluQmFySW5kZXgpOnRoaXMuX2JhcnMoKS5maXJzdCgpfWxhc3RCYXIoKXtyZXR1cm4oMCxsLmlzVGltZVBvaW50SW5kZXgpKHRoaXMuX21heEJhckluZGV4KT90aGlzLl9iYXJzKCkuc2VhcmNoKHRoaXMuX21heEJhckluZGV4LG4uUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdExlZnQpOnRoaXMuX2JhcnMoKS5sYXN0KCl9Y2FjaGVEYXRhKCl7Y29uc3QgdD10aGlzLl9zZXJpZXNEYXRhU291cmNlPy5kYXRhKCk/LmNsb25lKCksZT10aGlzLl9zeW1ib2xJbmZvLGk9dGhpcy5fbWluQmFySW5kZXgscz10aGlzLl9tYXhCYXJJbmRleDtyZXR1cm4gdCYmbnVsbCE9PWUmJm51bGwhPT1pJiZudWxsIT09cz97ZGF0YTp0LHN5bWJvbEluZm86ZSxtaW5CYXJJbmRleDppLG1heEJhckluZGV4OnN9Om51bGx9Zml0Q29udGVudCgpe2lmKG51bGw9PT10aGlzLl9kYXRhTGVuZ3RoSW5mb3x8MD09PXRoaXMuX2RhdGFMZW5ndGhJbmZvLmhpc3RvcnkpcmV0dXJuO2NvbnN0e2hpc3Rvcnk6dCxyZWFsdGltZTplLHdoaXRlc3BhY2VzOmksbGFzdEJhclRpbWU6cyxmaXhMZWZ0RWRnZVVudGlsOmE9MH09dGhpcy5fZGF0YUxlbmd0aEluZm8sbj10aGlzLl9taW5pQ2hhcnQud2lkZ2V0KCkscj1uLnBhbmVTaXplKCkud2lkdGg7aWYoMD09PXIpcmV0dXJuO2NvbnN0e2xlZnRMb2dpY2FsOm8scmlnaHRMb2dpY2FsOmgsbGVmdFB4OmwscmlnaHRQeDpjfT10aGlzLl9ob3J6TWFyZ2lucztsZXQgZD10aGlzLl9maXRDb250ZW50TGVmdEluZGV4KCktby0obnVsbD09PXN8fGE+PXM/MDplKSxtPU1hdGgubWF4KGQsTWF0aC5tYXgoMCx0LTEpK2graStlKTtpZigwIT09bCl7ZC09bC8oKHItbCkvKG0tZCsxKSl9aWYoMCE9PWMpe20rPWMvKChyLWMpLyhtLWQrMSkpfWlmKG09TWF0aC5tYXgoZCxtKSxtLWQ8MSl7Y29uc3QgdD0oMS0obS1kKSkvMjtkLT10LG0rPXR9bi50aW1lU2NhbGUoKS5zZXRWaXNpYmxlTG9naWNhbFJhbmdlKHtmcm9tOmQsdG86bX0pLG4udGltZVNjYWxlKCkuYXBwbHlPcHRpb25zKHtsb2NrVmlzaWJsZVRpbWVSYW5nZU9uUmVzaXplOiEwfSl9X2ZpdENvbnRlbnRMZWZ0SW5kZXgoKXtyZXR1cm4gMH1fdXBkYXRlU2VyaWVzT3B0aW9ucyh0KXtzdXBlci5fdXBkYXRlU2VyaWVzT3B0aW9ucyh0KSx0LmhvcnpNYXJnaW5zJiZ0aGlzLnVwZGF0ZUhvcnpNYXJnaW5zKHQuaG9yek1hcmdpbnMpfV9pc01haW5QbG90KCl7cmV0dXJuITB9X2RhdGFVcGRhdGVkKHQsZSxpKXtpZihzdXBlci5fZGF0YVVwZGF0ZWQodCxlLGkpLCF0aGlzLl9pc0xhc3RTZXNzaW9uSW50ZXJ2YWwudmFsdWUoKXx8IXRoaXMuX21pbmlDaGFydC5zdXBwb3J0UmVhbHRpbWVVcGRhdGVzKCl8fCFpKXJldHVybjtjb25zdCBzPWkubGFzdEJhclNlc3Npb247MCE9PXMmJjEhPT1zJiYzIT09c3x8MiE9PWUubGFzdEJhclNlc3Npb258fFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCgpPT57dGhpcy5fbWluaUNoYXJ0LnNldFRpbWVmcmFtZSh0aGlzLl9taW5pQ2hhcnQudGltZWZyYW1lKCkudmFsdWUoKSwhMSwhMCl9KSl9X29uQ2hhcnRTdHlsZUNoYW5nZWQoKXtzdXBlci5fb25DaGFydFN0eWxlQ2hhbmdlZCgpLHRoaXMuX3N0dWR5UGxvdHMoKS5mb3JFYWNoKCh0PT50LnVwZGF0ZVNlcmllc09wdGlvbnMoe2NoYXJ0VHlwZTp0aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucy5jaGFydFR5cGV9KSkpfV9iZWZvcmVEYXRhUmVhZHkoKXtzdXBlci5fYmVmb3JlRGF0YVJlYWR5KCksCnRoaXMuX3N0dWR5UGxvdHMoKS5mb3JFYWNoKCh0PT50LmRlbGV0ZVZpZXcoKSkpfV9nZXRTZXJpZXNEYXRhU291cmNlKCl7aWYobnVsbD09PXRoaXMuX3Nlcmllc0RhdGFTb3VyY2Upe2NvbnN0IHQ9dGhpcy5fY3VycmVudFNlcmllc09wdGlvbnMuaW5pdGlhbFJlcXVlc3RPcHRpb25zLGU9dGhpcy5fc2VyaWVzRGF0YVNvdXJjZT1uZXcgaC5TZXJpZXNEYXRhU291cmNlKHRoaXMuY2hhcnRTZXNzaW9uKCksInMiLHQpLGk9ZS5kYXRhRXZlbnRzKCk7aS5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU3ltYm9sUmVzb2x2ZWQpLGkuc3ltYm9sTm90UGVybWl0dGVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TeW1ib2xOb3RQZXJtaXR0ZWQpLGkuc3ltYm9sR3JvdXBOb3RQZXJtaXR0ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblN5bWJvbEdyb3VwTm90UGVybWl0dGVkKSxpLmludHJhZGF5U3ByZWFkTm90UGVybWl0dGVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25JbnRyYWRheVNwcmVhZE5vdFBlcm1pdHRlZCksaS5zeW1ib2xJbnZhbGlkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TeW1ib2xJbnZhbGlkKSxpLnN5bWJvbEVycm9yKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TeW1ib2xFcnJvciksaS5pbnRyYWRheUV4Y2hhbmdlTm90UGVybWl0dGVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25SZXNvbHV0aW9uT3JFeGNoYW5nZU5vdFBlcm1pdHRlZEVycm9yKSxpLmN1c3RvbUludGVydmFsTm90UGVybWl0dGVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25SZXNvbHV0aW9uT3JFeGNoYW5nZU5vdFBlcm1pdHRlZEVycm9yKSxpLmNvbXBsZXRlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uRGF0YUNvbXBsZXRlZCksaS5zZXJpZXNFcnJvcigpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uRGF0YUVycm9yKSxpLnNlcmllc1RpbWVGcmFtZSgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uVGltZUZyYW1lKSxpLmRhdGFVcGRhdGVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25EYXRhSW50ZXJuYWwpLGkuY3JlYXRlZCgpLnN1YnNjcmliZShudWxsLCgoKT0+cGVyZm9ybWFuY2UubWFyaygiUkZEIix7ZGV0YWlsOiJSZXF1ZXN0IGZpcnN0IGRhdGEifSkpLCEwKSxpLmNyZWF0ZWQoKS5zdWJzY3JpYmUobnVsbCwoKCk9PmUuc2V0RnV0dXJlVGlja21hcmtzTW9kZShzLkZ1bGxTaW5nbGVTZXNzaW9uKSkpLGkuZGF0YVVwZGF0ZWQoKS5zdWJzY3JpYmUobnVsbCwoKCk9PntwZXJmb3JtYW5jZS5tYXJrKCJGRFIiLHtkZXRhaWw6IkZpcnN0IGRhdGEgcmVzcG9uc2UifSkscGVyZm9ybWFuY2UubWVhc3VyZSgiUmVzcG9uc2UgaWRsZSIsIlJGRCIsIkZEUiIpfSksITApfXJldHVybiB0aGlzLl9zZXJpZXNEYXRhU291cmNlfV9iYXJzKCl7cmV0dXJuIHRoaXMuX2NhY2hlZERhdGE/dGhpcy5fY2FjaGVkRGF0YS5zZXJpZXNEYXRhLmJhcnMoKTp0aGlzLl9zZXJpZXNEYXRhU291cmNlPy5kYXRhKCkuYmFycygpPz9uZXcgci5QbG90TGlzdH1fb25UaW1lRnJhbWUodCxlKXt0aGlzLl9jYWNoZWREYXRhfHwodGhpcy5fbWluQmFySW5kZXg9dCx0aGlzLl9tYXhCYXJJbmRleD1lKSx0aGlzLnVwZGF0ZURhdGEoITEpLHRoaXMuX3N0dWR5UGxvdHMoKS5mb3JFYWNoKCh0PT50LnVwZGF0ZURhdGEoITEsITApKSl9X29uRGF0YUNvbXBsZXRlZCgpe3RoaXMuX2NhY2hlZERhdGEmJih0aGlzLl9jYWNoZWREYXRhPW51bGwpLHRoaXMudXBkYXRlRGF0YSghMSwhMCksc3VwZXIuX29uRGF0YUNvbXBsZXRlZCgpLHRoaXMuZml0Q29udGVudCgpfV9vbkRhdGFJbnRlcm5hbCh0LGUsaSl7dGhpcy5fb25EYXRhKGU/dm9pZCAwOmk/LmluZGV4KX1hc3luYyBfbG9hZENhY2hlKHQpe2NvbnN0e2RhdGE6ZSxzeW1ib2xJbmZvOmksbWluQmFySW5kZXg6cyxtYXhCYXJJbmRleDphfT10O3RoaXMuX21pbkJhckluZGV4PXMsdGhpcy5fbWF4QmFySW5kZXg9YSx0aGlzLl9jYWNoZWREYXRhPXtzeW1ib2w6dGhpcy5leHRlbmRlZFN5bWJvbCgpLHJlc29sdXRpb246dGhpcy5yZXNvbHV0aW9uKCksdGltZUZyYW1lOnRoaXMuX21pbmlDaGFydC50aW1lZnJhbWUoKS52YWx1ZSgpLHNlcmllc0RhdGE6ZX0sdGhpcy5fc3ltYm9sSW5mbz1pLHRoaXMuX3N5bWJvbEluZm9XVi5zZXRWYWx1ZShpKTtjb25zdCBuPWF3YWl0IHRoaXMuX2luaXRCYXJCdWlsZGVyKGkpOyF0aGlzLl9pc0Rlc3Ryb3llZC52YWx1ZSgpJiZ0aGlzLl9zeW1ib2xJbmZvJiYodGhpcy5fc3ltYm9sSW5mbyE9PWkmJm4udXBkYXRlKHRoaXMuX3N5bWJvbEluZm8pLGF3YWl0IHRoaXMuX29uRGF0YSgpLHRoaXMuX3N0YXR1cy5zZXRWYWx1ZSgzKSx0aGlzLmZpdENvbnRlbnQoKSl9fX0sNjk1OTQ2KHQsZSxpKXsidXNlIHN0cmljdCI7aS5kKGUse1ByZXR0eUhpc3RvZ3JhbVNlcmllczooKT0+bn0pO2NvbnN0IHM9ey4uLmkoNjc4MzEyKS5jdXN0b21TZXJpZXNEZWZhdWx0T3B0aW9ucyxjb2xvcjoiI0Q2Mzg2NCIsd2lkdGhQZXJjZW50OjUwLHJhZGl1czo0fTtjbGFzcyBhe2NvbnN0cnVjdG9yKCl7dGhpcy5fZGF0YT1udWxsLHRoaXMuX29wdGlvbnM9bnVsbH1kcmF3KHQsZSl7dC51c2VCaXRtYXBDb29yZGluYXRlU3BhY2UoKHQ9PnRoaXMuX2RyYXdJbXBsKHQsZSkpKX11cGRhdGUodCxlKXt0aGlzLl9kYXRhPXQsdGhpcy5fb3B0aW9ucz1lfV9kcmF3SW1wbCh0LGUpe2lmKG51bGw9PT10aGlzLl9kYXRhfHwwPT09dGhpcy5fZGF0YS5iYXJzLmxlbmd0aHx8bnVsbD09PXRoaXMuX2RhdGEudmlzaWJsZVJhbmdlfHxudWxsPT09dGhpcy5fb3B0aW9ucylyZXR1cm47Y29uc3QgaT10aGlzLl9vcHRpb25zLHM9dGhpcy5fZGF0YS5iYXJzLm1hcCgocz0+KHt4OnMueCp0Lmhvcml6b250YWxQaXhlbFJhdGlvLHZhbHVlOmUocy5vcmlnaW5hbERhdGEudmFsdWUpPz9OYU4sY29sb3I6cy5iYXJDb2xvcj8/aS5jb2xvcn0pKSksYT1lKDApPz8wLG49dC5jb250ZXh0O2xldCByPW51bGw7bi5iZWdpblBhdGgoKQo7Y29uc3Qgbz1NYXRoLm1heCgxLE1hdGgucm91bmQoLjAxKmkud2lkdGhQZXJjZW50KnRoaXMuX2RhdGEuYmFyU3BhY2luZyp0Lmhvcml6b250YWxQaXhlbFJhdGlvKSksaD1NYXRoLmZsb29yKGkucmFkaXVzKnQuaG9yaXpvbnRhbFBpeGVsUmF0aW8pO3Muc2xpY2UodGhpcy5fZGF0YS52aXNpYmxlUmFuZ2UuZnJvbSx0aGlzLl9kYXRhLnZpc2libGVSYW5nZS50bysxKS5mb3JFYWNoKChlPT57Y29uc3QgaT1lLmNvbG9yO251bGwhPT1yJiZyIT09aSYmKG4uZmlsbCgpLG4uYmVnaW5QYXRoKCkpLG4uZmlsbFN0eWxlPWk7Y29uc3Qgcz1mdW5jdGlvbih0LGUsaSl7Y29uc3Qgcz1NYXRoLnJvdW5kKGkqdCksYT1NYXRoLnJvdW5kKGkqZSk7cmV0dXJue3Bvc2l0aW9uOk1hdGgubWluKHMsYSksbGVuZ3RoOk1hdGguYWJzKGEtcykrMX19KGEsZS52YWx1ZSx0LnZlcnRpY2FsUGl4ZWxSYXRpbyksbD1NYXRoLmZsb29yKE1hdGgubWluKGgsby8yLE1hdGguYWJzKHMubGVuZ3RoKSkpLGM9TWF0aC5yb3VuZChlLngtby8yKTtuLnJvdW5kUmVjdChjLHMucG9zaXRpb24sbyxzLmxlbmd0aCxlLnZhbHVlPGE/W2wsbCwwLDBdOlswLDAsbCxsXSkscj1pfSkpLG4uZmlsbCgpfX1jbGFzcyBue2NvbnN0cnVjdG9yKCl7dGhpcy5fcmVuZGVyZXI9bmV3IGF9cHJpY2VWYWx1ZUJ1aWxkZXIodCl7cmV0dXJuW3QudmFsdWVdfWlzV2hpdGVzcGFjZSh0KXtyZXR1cm4gdm9pZCAwPT09dC52YWx1ZX1yZW5kZXJlcigpe3JldHVybiB0aGlzLl9yZW5kZXJlcn11cGRhdGUodCxlKXt0aGlzLl9yZW5kZXJlci51cGRhdGUodCxlKX1kZWZhdWx0T3B0aW9ucygpe3JldHVybiBzfX19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/69113.5f4406ac8b4436afdc23.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.599Z","timestamp":1785120634599,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/69113.5f4406ac8b4436afdc23.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-757e\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:54\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 6e4aaea5733f2a906d5dfa58a1f72bed\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":30078,"size_decoded":11743,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3068)","md5":"8c88ce407a538a14bff85954f6fb23f2","sha1":"20cc9856f0669e2b47804f5898e16e5049528f64","sha256":"2c1f8c23670876104ee7d980e9114d9cb2c088968d87b10cbd878f00397dcb46","sha512":"3c195cec522d44f6c2dce76aa4afbb00d51848a0663a1ce0b5adf73bcc1e9e1a733fd2a8885aa1ef621f486bd2a97b16e178ed33670f73bde3c4cc86bd8c0fc9","ssdeep":"768:Gtv5X/myZwOFu9JgkOrK7fkWXRqQqmAdNqeoNbs8Cj5D2gjK8YIRcOrSu9:GdB/IgkOFTlpQVA8kC3ISuH9","tlshash":"4bd219503021a0aad2f792efd03b464eb333325d78064e69f0689ced55cde993174bba","first_seen":"2026-07-23T13:38:20.459952Z","last_seen":"2026-07-27T06:07:34.475472Z","times_seen":64,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szNTk2NCw2MzU5NSw2OTExM10sezk1ODYzOShlKXtlLmV4cG9ydHM9e21lbnVXcmFwOiJtZW51V3JhcC1sQkl4SXd0eiIsaXNNZWFzdXJpbmc6ImlzTWVhc3VyaW5nLWxCSXhJd3R6IixzY3JvbGxXcmFwOiJzY3JvbGxXcmFwLWxCSXhJd3R6Iixtb21lbnR1bUJhc2VkOiJtb21lbnR1bUJhc2VkLWxCSXhJd3R6IixtZW51Qm94OiJtZW51Qm94LWxCSXhJd3R6Iixpc0hpZGRlbjoiaXNIaWRkZW4tbEJJeEl3dHoifX0sNDcwMjk1KGUpe2UuZXhwb3J0cz17InRhYmxldC1zbWFsbC1icmVha3BvaW50IjoiKG1heC13aWR0aDogNDQwcHgpIixpdGVtOiJpdGVtLU1pMF90NXVOIixob3ZlcmVkOiJob3ZlcmVkLU1pMF90NXVOIixpc0Rpc2FibGVkOiJpc0Rpc2FibGVkLU1pMF90NXVOIixpc0FjdGl2ZToiaXNBY3RpdmUtTWkwX3Q1dU4iLHNob3J0Y3V0OiJzaG9ydGN1dC1NaTBfdDV1TiIsdG9vbGJveDoidG9vbGJveC1NaTBfdDV1TiIsd2l0aEljb246IndpdGhJY29uLU1pMF90NXVOIiwicm91bmQtaWNvbiI6InJvdW5kLWljb24tTWkwX3Q1dU4iLGljb246Imljb24tTWkwX3Q1dU4iLHN0YXJ0U2xvdDoic3RhcnRTbG90LU1pMF90NXVOIixsYWJlbFJvdzoibGFiZWxSb3ctTWkwX3Q1dU4iLGxhYmVsOiJsYWJlbC1NaTBfdDV1TiIsc2hvd09uSG92ZXI6InNob3dPbkhvdmVyLU1pMF90NXVOIiwiZGlzY2xvc3VyZS1pdGVtLWNpcmNsZS1sb2dvIjoiZGlzY2xvc3VyZS1pdGVtLWNpcmNsZS1sb2dvLU1pMF90NXVOIixzaG93T25Gb2N1czoic2hvd09uRm9jdXMtTWkwX3Q1dU4ifX0sMTI5NjYxKGUpe2UuZXhwb3J0cz17c3F1YXJlVGFiQnV0dG9uOiJzcXVhcmVUYWJCdXR0b24tVTdHWXU4QW0iLHhsYXJnZToieGxhcmdlLVU3R1l1OEFtIixzZWxlY3RlZDoic2VsZWN0ZWQtVTdHWXU4QW0iLG1lZGl1bToibWVkaXVtLVU3R1l1OEFtIixzbWFsbDoic21hbGwtVTdHWXU4QW0iLHhzbWFsbDoieHNtYWxsLVU3R1l1OEFtIixtZWRpdW1XaXRoU21hbGxGb250OiJtZWRpdW1XaXRoU21hbGxGb250LVU3R1l1OEFtIn19LDczODgyNihlKXtlLmV4cG9ydHM9e2Fycm93SWNvbjoiYXJyb3dJY29uLVlUanp1eTh5Iixkcm9wcGVkOiJkcm9wcGVkLVlUanp1eTh5In19LDMzNjg1MShlKXtlLmV4cG9ydHM9eyJjc3MtdmFsdWUtc3F1YXJlLXRhYnMteHNtYWxsLWdhcCI6IjRweCIsImNzcy12YWx1ZS1zcXVhcmUtdGFicy1zbWFsbC1nYXAiOiI4cHgiLCJjc3MtdmFsdWUtc3F1YXJlLXRhYnMtbWVkaXVtLWdhcCI6IjEycHgiLCJjc3MtdmFsdWUtc3F1YXJlLXRhYnMteGxhcmdlLWdhcCI6IjEycHgifX0sMzYyNzkzKGUpe2UuZXhwb3J0cz17eHh4c21hbGw6Inh4eHNtYWxsLUFmZDZ0NFpqIix4eHNtYWxsOiJ4eHNtYWxsLUFmZDZ0NFpqIix4c21hbGw6InhzbWFsbC1BZmQ2dDRaaiIsc21hbGw6InNtYWxsLUFmZDZ0NFpqIixtZWRpdW06Im1lZGl1bS1BZmQ2dDRaaiIsbGFyZ2U6ImxhcmdlLUFmZDZ0NFpqIix4bGFyZ2U6InhsYXJnZS1BZmQ2dDRaaiIsY291bnRlcjoiY291bnRlci1BZmQ2dDRaaiIsImNvbG9yLWRhbmdlciI6ImNvbG9yLWRhbmdlci1BZmQ2dDRaaiIsImNvbG9yLWFjY2VudCI6ImNvbG9yLWFjY2VudC1BZmQ2dDRaaiIsImNvbG9yLWFjY2VudC1saWdodCI6ImNvbG9yLWFjY2VudC1saWdodC1BZmQ2dDRaaiIsImNvbG9yLW5ldXRyYWwtYm9sZCI6ImNvbG9yLW5ldXRyYWwtYm9sZC1BZmQ2dDRaaiIsImNvbG9yLW5ldXRyYWwiOiJjb2xvci1uZXV0cmFsLUFmZDZ0NFpqIiwiYm9yZGVyQ29sb3ItcHJpbWFyeSI6ImJvcmRlckNvbG9yLXByaW1hcnktQWZkNnQ0WmoiLCJib3JkZXJDb2xvci1zZWNvbmRhcnkiOiJib3JkZXJDb2xvci1zZWNvbmRhcnktQWZkNnQ0WmoiLCJib3JkZXJDb2xvci10ZXJ0aWFyeSI6ImJvcmRlckNvbG9yLXRlcnRpYXJ5LUFmZDZ0NFpqIixkaXNhYmxlZDoiZGlzYWJsZWQtQWZkNnQ0WmoifX0sMTkzODQ3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1BvcHVwTWVudURpc2Nsb3N1cmVWaWV3OigpPT51fSk7dmFyIG89big3Nzk0NzQpLHI9big4MDk0MzYpLHM9big4MzU5NjQpLGk9bigxMzg2MzgpO2NvbnN0IGE9e3g6MCx5OjB9O2Z1bmN0aW9uIGwoZSx0LG4pe3JldHVybigwLG8udXNlQ2FsbGJhY2spKCgoKT0+ZnVuY3Rpb24oZSx0LHt4Om49YS54LHk6bz1hLnl9PWEpe2NvbnN0IHI9KDAsaS5lbnN1cmVOb3ROdWxsKShlKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxzPXt4OnIubGVmdCtuLHk6ci50b3Arci5oZWlnaHQrbyxpbmRlbnRGcm9tV2luZG93Ont0b3A6NCxib3R0b206NCxsZWZ0OjQscmlnaHQ6NH19O3JldHVybiB0JiYocy5vdmVycmlkZVdpZHRoPXIud2lkdGgpLHN9KGUuY3VycmVudCx0LG4pKSxbZSx0XSl9Y29uc3QgYz1wYXJzZUludChyWyJzaXplLWhlYWRlci1oZWlnaHQiXSk7ZnVuY3Rpb24gdShlKXtjb25zdHtidXR0b246dCxwb3B1cENoaWxkcmVuOm4sYnV0dG9uUmVmOnIsbGlzdGJveElkOmksbGlzdGJveENsYXNzTmFtZTphLGxpc3Rib3hUYWJJbmRleDp1LG1hdGNoQnV0dG9uQW5kTGlzdGJveFdpZHRoczpkLGlzT3BlbmVkOmgsc2Nyb2xsV3JhcFJlZmVyZW5jZTpwLGxpc3Rib3hSZWZlcmVuY2U6bSxvbkNsb3NlOmYsb25PcGVuOmIsb25MaXN0Ym94Rm9jdXM6Zyxvbkxpc3Rib3hCbHVyOnYsb25MaXN0Ym94S2V5RG93bjp4LGxpc3Rib3hBcmlhOkMscmVwb3NpdGlvbk9uU2Nyb2xsOl89ITAsY2xvc2VPbkhlYWRlck92ZXJsYXA6Uz0hMSxwb3B1cFBvc2l0aW9uQ29ycmVjdGlvbjp3PXt4OjAseTowfSxwb3B1cFBvc2l0aW9uOnksZGF0YVFhSWQ6RX09ZSxNPWwocixkLHcpLFQ9Uz9jOjA7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChvLkZyYWdtZW50LG51bGwsdCxvLmNyZWF0ZUVsZW1lbnQocy5Qb3B1cE1lbnUsey4uLkMsZGF0YVFhSWQ6RSxpZDppLGNsYXNzTmFtZTphLHRhYkluZGV4OnUsaXNPcGVuZWQ6aCxwb3NpdGlvbjp5fHxNLHJlcG9zaXRpb25PblNjcm9sbDpfLG9uQ2xvc2U6Zixvbk9wZW46YiwKZG9Ob3RDbG9zZU9uOnIuY3VycmVudCxyZWZlcmVuY2U6bSxzY3JvbGxXcmFwUmVmZXJlbmNlOnAsb25Gb2N1czpnLG9uQmx1cjp2LG9uS2V5RG93bjp4LGNsb3NlT25TY3JvbGxPdXRzaWRlT2Zmc2V0OlR9LG4pKX19LDI3NjAxOShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnbG9iYWxDbG9zZURlbGVnYXRlOigpPT5vLGdsb2JhbENsb3NlTWVudTooKT0+cn0pO2NvbnN0IG89bmV3KG4oOTQ4MzgwKS5EZWxlZ2F0ZSk7ZnVuY3Rpb24gcigpe28uZmlyZSgpfX0sNjgxMjI0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse01lbnVDb250ZXh0OigpPT5vfSk7Y29uc3Qgbz1uKDc3OTQ3NCkuY3JlYXRlQ29udGV4dChudWxsKX0sMTQ1MTUwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0RFRkFVTFRfTUVOVV9USEVNRTooKT0+YixNZW51OigpPT52fSk7dmFyIG89big3Nzk0NzQpLHI9big5MTQ0ODcpLHM9bi5uKHIpLGk9bigxMzg2MzgpLGE9big2MDc4MzIpLGw9big5MDM0MiksYz1uKDg5MTIwOSksdT1uKDY0MDc0NCksZD1uKDUxODc1KSxoPW4oNzI3MDkpLHA9bigyNzYwMTkpLG09big2ODEyMjQpLGY9big5NTg2MzkpO2NvbnN0IGI9Zjt2YXIgZzshZnVuY3Rpb24oZSl7ZVtlLkluZGVudEZyb21XaW5kb3c9MF09IkluZGVudEZyb21XaW5kb3cifShnfHwoZz17fSkpO2NsYXNzIHYgZXh0ZW5kcyBvLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5fY29udGFpbmVyUmVmPW51bGwsdGhpcy5fc2Nyb2xsV3JhcFJlZj1udWxsLHRoaXMuX3JhZj1udWxsLHRoaXMuX3Njcm9sbFJhZj1udWxsLHRoaXMuX3Njcm9sbFRpbWVvdXQ9dm9pZCAwLHRoaXMuX21hbmFnZXI9bmV3IGwuT3ZlcmxhcE1hbmFnZXIsdGhpcy5faG90a2V5cz1udWxsLHRoaXMuX3Njcm9sbD0wLHRoaXMuX2hhbmRsZUNvbnRhaW5lclJlZj1lPT57dGhpcy5fY29udGFpbmVyUmVmPWUsdGhpcy5wcm9wcy5yZWZlcmVuY2UmJigiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5wcm9wcy5yZWZlcmVuY2UmJnRoaXMucHJvcHMucmVmZXJlbmNlKGUpLCJvYmplY3QiPT10eXBlb2YgdGhpcy5wcm9wcy5yZWZlcmVuY2UmJih0aGlzLnByb3BzLnJlZmVyZW5jZS5jdXJyZW50PWUpKX0sdGhpcy5faGFuZGxlU2Nyb2xsV3JhcFJlZj1lPT57dGhpcy5fc2Nyb2xsV3JhcFJlZj1lLCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLnByb3BzLnNjcm9sbFdyYXBSZWZlcmVuY2UmJnRoaXMucHJvcHMuc2Nyb2xsV3JhcFJlZmVyZW5jZShlKSwib2JqZWN0Ij09dHlwZW9mIHRoaXMucHJvcHMuc2Nyb2xsV3JhcFJlZmVyZW5jZSYmKHRoaXMucHJvcHMuc2Nyb2xsV3JhcFJlZmVyZW5jZS5jdXJyZW50PWUpfSx0aGlzLl9oYW5kbGVDdXN0b21SZW1lYXN1cmVEZWxlZ2F0ZT0oKT0+e3RoaXMuX3Jlc2l6ZUZvcmNlZCgpLHRoaXMuX2hhbmRsZU1lYXN1cmUoKX0sdGhpcy5faGFuZGxlTWVhc3VyZT0oe2NhbGxiYWNrOmUsZm9yY2VSZWNhbGNQb3NpdGlvbjp0fT17fSk9PntpZih0aGlzLnN0YXRlLmlzTWVhc3VyZVZhbGlkJiYhdClyZXR1cm47Y29uc3R7cG9zaXRpb246bn09dGhpcy5wcm9wcyxvPSgwLGkuZW5zdXJlTm90TnVsbCkodGhpcy5fY29udGFpbmVyUmVmKTtsZXQgcj1vLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2NvbnN0IHM9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCxhPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCxsPXRoaXMucHJvcHMuY2xvc2VPblNjcm9sbE91dHNpZGVPZmZzZXQ/PzA7bGV0IGM9cy0wLWw7Y29uc3QgZD1yLmhlaWdodD5jO2lmKGQpeygwLGkuZW5zdXJlTm90TnVsbCkodGhpcy5fc2Nyb2xsV3JhcFJlZikuc3R5bGUub3ZlcmZsb3dZPSJzY3JvbGwiLHI9by5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX1jb25zdHt3aWR0aDpoLGhlaWdodDpwfT1yLG09ImZ1bmN0aW9uIj09dHlwZW9mIG4/bih7Y29udGVudFdpZHRoOmgsY29udGVudEhlaWdodDpwLGF2YWlsYWJsZVdpZHRoOmEsYXZhaWxhYmxlSGVpZ2h0OnN9KTpuLGY9bT8uaW5kZW50RnJvbVdpbmRvdz8ubGVmdD8/MCxiPWEtKG0ub3ZlcnJpZGVXaWR0aD8/aCktKG0/LmluZGVudEZyb21XaW5kb3c/LnJpZ2h0Pz8wKSxnPSgwLHUuY2xhbXApKG0ueCxmLE1hdGgubWF4KGYsYikpLHY9KG0/LmluZGVudEZyb21XaW5kb3c/LnRvcD8/MCkrbCx4PXMtKG0ub3ZlcnJpZGVIZWlnaHQ/P3ApLShtPy5pbmRlbnRGcm9tV2luZG93Py5ib3R0b20/PzApO2xldCBDPSgwLHUuY2xhbXApKG0ueSx2LE1hdGgubWF4KHYseCkpO2lmKG0uZm9yYmlkQ29ycmVjdFlDb29yZCYmQzxtLnkmJihjLT1tLnktQyxDPW0ueSksdCYmdm9pZCAwIT09dGhpcy5wcm9wcy5jbG9zZU9uU2Nyb2xsT3V0c2lkZU9mZnNldCYmbS55PD10aGlzLnByb3BzLmNsb3NlT25TY3JvbGxPdXRzaWRlT2Zmc2V0KXJldHVybiB2b2lkIHRoaXMuX2hhbmRsZUdsb2JhbENsb3NlKCEwKTtjb25zdCBfPW0ub3ZlcnJpZGVIZWlnaHQ/PyhkP2M6dm9pZCAwKTt0aGlzLnNldFN0YXRlKHthcHBlYXJpbmdNZW51SGVpZ2h0OnQ/dGhpcy5zdGF0ZS5hcHBlYXJpbmdNZW51SGVpZ2h0Ol8sYXBwZWFyaW5nTWVudVdpZHRoOnQ/dGhpcy5zdGF0ZS5hcHBlYXJpbmdNZW51V2lkdGg6bS5vdmVycmlkZVdpZHRoLGFwcGVhcmluZ1Bvc2l0aW9uOnt4OmcseTpDfSxpc01lYXN1cmVWYWxpZDohMH0sKCgpPT57dGhpcy5wcm9wcy5kb05vdFJlc3RvcmVQb3NpdGlvbnx8dGhpcy5fcmVzdG9yZVNjcm9sbFBvc2l0aW9uKCksZSYmZSgpfSkpfSx0aGlzLl9yZXN0b3JlU2Nyb2xsUG9zaXRpb249KCk9Pntjb25zdCBlPSgwLGkuZW5zdXJlTm90TnVsbCkodGhpcy5fc2Nyb2xsV3JhcFJlZik7ZS5zY3JvbGxUb3A9dGhpcy5fc2Nyb2xsO2NvbnN0IHQ9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCxuPSgwLGkuZW5zdXJlTm90TnVsbCkodGhpcy5fY29udGFpbmVyUmVmKTtpZih0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJm4uY29udGFpbnModCkmJiF0aGlzLl9pc0VsZW1lbnRGdWxseVZpc2libGUodCxlKSl0cnl7dC5zY3JvbGxJbnRvVmlldygpfWNhdGNoKGUpe319LAp0aGlzLl9pc0VsZW1lbnRGdWxseVZpc2libGU9KGUsdCk9Pntjb25zdCBuPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbz10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybiBuLnRvcD49by50b3AmJm4uYm90dG9tPD1vLmJvdHRvbX0sdGhpcy5fcmVzaXplRm9yY2VkPSgpPT57dGhpcy5zZXRTdGF0ZSh7YXBwZWFyaW5nTWVudUhlaWdodDp2b2lkIDAsYXBwZWFyaW5nTWVudVdpZHRoOnZvaWQgMCxhcHBlYXJpbmdQb3NpdGlvbjp2b2lkIDAsaXNNZWFzdXJlVmFsaWQ6dm9pZCAwfSl9LHRoaXMuX3Jlc2l6ZT0oKT0+e251bGw9PT10aGlzLl9yYWYmJih0aGlzLl9yYWY9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3RoaXMuc2V0U3RhdGUoe2FwcGVhcmluZ01lbnVIZWlnaHQ6dm9pZCAwLGFwcGVhcmluZ01lbnVXaWR0aDp2b2lkIDAsYXBwZWFyaW5nUG9zaXRpb246dm9pZCAwLGlzTWVhc3VyZVZhbGlkOnZvaWQgMH0pLHRoaXMuX3JhZj1udWxsfSkpKX0sdGhpcy5faGFuZGxlR2xvYmFsQ2xvc2U9ZT0+e3RoaXMucHJvcHMub25DbG9zZShlKX0sdGhpcy5faGFuZGxlU2xvdD1lPT57dGhpcy5fbWFuYWdlci5zZXRDb250YWluZXIoZSl9LHRoaXMuX2hhbmRsZVNjcm9sbD0oKT0+e3RoaXMuX3Njcm9sbD0oMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Njcm9sbFdyYXBSZWYpLnNjcm9sbFRvcH0sdGhpcy5faGFuZGxlU2Nyb2xsT3V0c2lkZUVuZD0oKT0+e2NsZWFyVGltZW91dCh0aGlzLl9zY3JvbGxUaW1lb3V0KSx0aGlzLl9zY3JvbGxUaW1lb3V0PXNldFRpbWVvdXQoKCgpPT57dGhpcy5faGFuZGxlTWVhc3VyZSh7Zm9yY2VSZWNhbGNQb3NpdGlvbjohMH0pfSksODApfSx0aGlzLl9oYW5kbGVTY3JvbGxPdXRzaWRlPWU9PntlLnRhcmdldCE9PXRoaXMuX3Njcm9sbFdyYXBSZWYmJih0aGlzLl9oYW5kbGVTY3JvbGxPdXRzaWRlRW5kKCksbnVsbD09PXRoaXMuX3Njcm9sbFJhZiYmKHRoaXMuX3Njcm9sbFJhZj1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT57dGhpcy5faGFuZGxlTWVhc3VyZSh7Zm9yY2VSZWNhbGNQb3NpdGlvbjohMH0pLHRoaXMuX3Njcm9sbFJhZj1udWxsfSkpKSl9LHRoaXMuc3RhdGU9e319Y29tcG9uZW50RGlkTW91bnQoKXt0aGlzLl9oYW5kbGVNZWFzdXJlKHtjYWxsYmFjazp0aGlzLnByb3BzLm9uT3Blbn0pO2NvbnN0e2N1c3RvbUNsb3NlRGVsZWdhdGU6ZT1wLmdsb2JhbENsb3NlRGVsZWdhdGUsY3VzdG9tUmVtZWFzdXJlRGVsZWdhdGU6dH09dGhpcy5wcm9wcztlLnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUdsb2JhbENsb3NlKSx0Py5zdWJzY3JpYmUobnVsbCx0aGlzLl9oYW5kbGVDdXN0b21SZW1lYXN1cmVEZWxlZ2F0ZSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5fcmVzaXplKTtjb25zdCBuPW51bGwhPT10aGlzLmNvbnRleHQ7dGhpcy5faG90a2V5c3x8bnx8KHRoaXMuX2hvdGtleXM9aC5jcmVhdGVHcm91cCh7ZGVzYzoiUG9wdXAgbWVudSJ9KSx0aGlzLl9ob3RrZXlzLmFkZCh7ZGVzYzoiQ2xvc2UiLGhvdGtleToyNyxoYW5kbGVyOigpPT57dGhpcy5wcm9wcy5vbktleWJvYXJkQ2xvc2UmJnRoaXMucHJvcHMub25LZXlib2FyZENsb3NlKCksdGhpcy5faGFuZGxlR2xvYmFsQ2xvc2UoKX19KSksdGhpcy5wcm9wcy5yZXBvc2l0aW9uT25TY3JvbGwmJndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMuX2hhbmRsZVNjcm9sbE91dHNpZGUse2NhcHR1cmU6ITB9KX1jb21wb25lbnREaWRVcGRhdGUoKXt0aGlzLl9oYW5kbGVNZWFzdXJlKCl9Y29tcG9uZW50V2lsbFVubW91bnQoKXtjb25zdHtjdXN0b21DbG9zZURlbGVnYXRlOmU9cC5nbG9iYWxDbG9zZURlbGVnYXRlLGN1c3RvbVJlbWVhc3VyZURlbGVnYXRlOnR9PXRoaXMucHJvcHM7ZS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUdsb2JhbENsb3NlKSx0Py51bnN1YnNjcmliZShudWxsLHRoaXMuX2hhbmRsZUN1c3RvbVJlbWVhc3VyZURlbGVnYXRlKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9yZXNpemUpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMuX2hhbmRsZVNjcm9sbE91dHNpZGUse2NhcHR1cmU6ITB9KSx0aGlzLl9ob3RrZXlzJiYodGhpcy5faG90a2V5cy5kZXN0cm95KCksdGhpcy5faG90a2V5cz1udWxsKSxudWxsIT09dGhpcy5fcmFmJiYoY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fcmFmKSx0aGlzLl9yYWY9bnVsbCksbnVsbCE9PXRoaXMuX3Njcm9sbFJhZiYmKGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX3Njcm9sbFJhZiksdGhpcy5fc2Nyb2xsUmFmPW51bGwpLHRoaXMuX3Njcm9sbFRpbWVvdXQmJmNsZWFyVGltZW91dCh0aGlzLl9zY3JvbGxUaW1lb3V0KX1yZW5kZXIoKXtjb25zdHtpZDplLHJvbGU6dCwiYXJpYS1sYWJlbCI6biwiYXJpYS1sYWJlbGxlZGJ5IjpyLCJhcmlhLWFjdGl2ZWRlc2NlbmRhbnQiOmksImFyaWEtaGlkZGVuIjpsLCJhcmlhLWRlc2NyaWJlZGJ5Ijp1LCJhcmlhLWludmFsaWQiOmgsY2hpbGRyZW46cCxtaW5XaWR0aDpiLHRoZW1lOmc9ZixjbGFzc05hbWU6dixtYXhIZWlnaHQ6Qyxvbk1vdXNlT3ZlcjpfLG9uTW91c2VPdXQ6UyxvbktleURvd246dyxvbkZvY3VzOnksb25CbHVyOkV9PXRoaXMucHJvcHMse2FwcGVhcmluZ01lbnVIZWlnaHQ6TSxhcHBlYXJpbmdNZW51V2lkdGg6VCxhcHBlYXJpbmdQb3NpdGlvbjpSLGlzTWVhc3VyZVZhbGlkOk59PXRoaXMuc3RhdGUsTz17Ii0tdWkta2l0LW1lbnUtbWF4LXdpZHRoIjpgJHtSJiZSLnh9cHhgLG1heFdpZHRoOiJjYWxjKDEwMHZ3IC0gdmFyKC0tdWkta2l0LW1lbnUtbWF4LXdpZHRoKSAtIDZweCkifTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KG0uTWVudUNvbnRleHQuUHJvdmlkZXIse3ZhbHVlOnRoaXN9LG8uY3JlYXRlRWxlbWVudChjLlN1Ym1lbnVIYW5kbGVyLG51bGwsby5jcmVhdGVFbGVtZW50KGEuU2xvdENvbnRleHQuUHJvdmlkZXIse3ZhbHVlOnRoaXMuX21hbmFnZXJ9LG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7aWQ6ZSxyb2xlOnQsImFyaWEtbGFiZWwiOm4sCiJhcmlhLWxhYmVsbGVkYnkiOnIsImFyaWEtYWN0aXZlZGVzY2VuZGFudCI6aSwiYXJpYS1oaWRkZW4iOmwsImFyaWEtZGVzY3JpYmVkYnkiOnUsImFyaWEtaW52YWxpZCI6aCxjbGFzc05hbWU6cygpKHYsZy5tZW51V3JhcCwhTiYmZy5pc01lYXN1cmluZyksc3R5bGU6e2hlaWdodDpNLGxlZnQ6UiYmUi54LG1pbldpZHRoOmIscG9zaXRpb246ImZpeGVkIix0b3A6UiYmUi55LHdpZHRoOlQsLi4udGhpcy5wcm9wcy5saW1pdE1heFdpZHRoJiZPfSwiZGF0YS1uYW1lIjp0aGlzLnByb3BzWyJkYXRhLW5hbWUiXSwiZGF0YS1xYS1pZCI6dGhpcy5wcm9wcy5kYXRhUWFJZCwiZGF0YS10b29sdGlwLXNob3ctb24tZm9jdXMiOnRoaXMucHJvcHNbImRhdGEtdG9vbHRpcC1zaG93LW9uLWZvY3VzIl0scmVmOnRoaXMuX2hhbmRsZUNvbnRhaW5lclJlZixvblNjcm9sbENhcHR1cmU6dGhpcy5wcm9wcy5vblNjcm9sbCxvbkNvbnRleHRNZW51OmQucHJldmVudERlZmF1bHRGb3JDb250ZXh0TWVudSx0YWJJbmRleDp0aGlzLnByb3BzLnRhYkluZGV4LG9uTW91c2VPdmVyOl8sb25Nb3VzZU91dDpTLG9uS2V5RG93bjp3LG9uRm9jdXM6eSxvbkJsdXI6RX0sby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6cygpKGcuc2Nyb2xsV3JhcCwhdGhpcy5wcm9wcy5ub01vbWVudHVtQmFzZWRTY3JvbGwmJmcubW9tZW50dW1CYXNlZCksc3R5bGU6e292ZXJmbG93WTp2b2lkIDAhPT1NPyJzY3JvbGwiOiJhdXRvIixtYXhIZWlnaHQ6Q30sb25TY3JvbGxDYXB0dXJlOnRoaXMuX2hhbmRsZVNjcm9sbCxyZWY6dGhpcy5faGFuZGxlU2Nyb2xsV3JhcFJlZn0sby5jcmVhdGVFbGVtZW50KHgse2NsYXNzTmFtZTpnLm1lbnVCb3h9LHApKSkpLG8uY3JlYXRlRWxlbWVudChhLlNsb3Qse3JlZmVyZW5jZTp0aGlzLl9oYW5kbGVTbG90fSkpKX11cGRhdGUoZSl7ZT90aGlzLl9yZXNpemVGb3JjZWQoKTp0aGlzLl9yZXNpemUoKX1mb2N1cyhlKXt0aGlzLl9jb250YWluZXJSZWY/LmZvY3VzKGUpfWJsdXIoKXt0aGlzLl9jb250YWluZXJSZWY/LmJsdXIoKX19ZnVuY3Rpb24geChlKXtjb25zdCB0PSgwLGkuZW5zdXJlTm90TnVsbCkoKDAsby51c2VDb250ZXh0KShjLlN1Ym1lbnVDb250ZXh0KSksbj1vLnVzZVJlZihudWxsKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJkaXYiLHtyZWY6bixjbGFzc05hbWU6ZS5jbGFzc05hbWUsb25Nb3VzZU92ZXI6ZnVuY3Rpb24oZSl7aWYoIShudWxsIT09dC5jdXJyZW50JiZlLnRhcmdldCBpbnN0YW5jZW9mIE5vZGUmJihvPWUudGFyZ2V0LG4uY3VycmVudD8uY29udGFpbnMobykpKSlyZXR1cm47dmFyIG87dC5pc1N1Ym1lbnVOb2RlKGUudGFyZ2V0KXx8dC5zZXRDdXJyZW50KG51bGwpfSwiZGF0YS1xYS1pZCI6Im1lbnUtaW5uZXIifSxlLmNoaWxkcmVuKX12LmNvbnRleHRUeXBlPWMuU3VibWVudUNvbnRleHR9LDE1MzczNChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtQb3B1cE1lbnVJdGVtOigpPT5kfSk7dmFyIG89big3Nzk0NzQpLHI9big5MTQ0ODcpLHM9bi5uKHIpLGk9bigzODc3NzQpLGE9big4NDg5ODgpLGw9bigyNzYwMTkpLGM9big0NzAyOTUpO2Z1bmN0aW9uIHUoZSl7ZS5zdG9wUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBkKGUpe2NvbnN0e2lkOnQscm9sZTpuLGNsYXNzTmFtZTpyLHRpdGxlOmQsbGFiZWxSb3dDbGFzc05hbWU6aCxsYWJlbENsYXNzTmFtZTpwLHRvb2xib3hDbGFzc05hbWU6bSxzaG9ydGN1dDpmLGZvcmNlU2hvd1Nob3J0Y3V0czpiLGljb246ZyxpY29uQ2xhc3NuYW1lOnYsaXNBY3RpdmU6eCxpc0Rpc2FibGVkOkMsaXNIb3ZlcmVkOl8sYXBwZWFyQXNEaXNhYmxlZDpTLGxhYmVsOncsbGluazp5LHNob3dUb29sYm94T25Ib3ZlcjpFLHNob3dUb29sYm94T25Gb2N1czpNLHRhcmdldDpULHJlbDpSLHRvb2xib3g6Tix0b29sYm94Um9sZTpPLHJlZmVyZW5jZTpBLG9uTW91c2VPdXQ6SSxvbk1vdXNlT3ZlcjpXLG9uS2V5RG93bjprLHN1cHByZXNzVG9vbGJveENsaWNrOkI9ITAsdGhlbWU6RD1jLHRhYkluZGV4OkYsdGFnTmFtZTpMLHJlbmRlckNvbXBvbmVudDpQLHJvdW5kZWRJY29uOnosaWNvbkFyaWFQcm9wczpxLGNpcmNsZUxvZ286VSxkb250Q2xvc2VQb3B1cDpILG9uQ2xpY2s6aixvbkNsaWNrQXJnOlosb25Db250ZXh0TWVudTpHLG9uTW91c2VVcDpWLHN0YXJ0U2xvdDpLLGRhdGFRYUlkOlksLi4uWH09ZSwkPSgwLG8udXNlUmVmKShudWxsKSxRPSgwLG8udXNlTWVtbykoKCgpPT5mdW5jdGlvbihlKXtmdW5jdGlvbiB0KHQpe2NvbnN0e3JlZmVyZW5jZTpuLC4uLnJ9PXQscz1lPz8oci5ocmVmPyJhIjoiZGl2IiksaT0iYSI9PT1zP3I6ZnVuY3Rpb24oZSl7Y29uc3R7ZG93bmxvYWQ6dCxocmVmOm4saHJlZkxhbmc6byxtZWRpYTpyLHBpbmc6cyxyZWw6aSx0YXJnZXQ6YSx0eXBlOmwscmVmZXJyZXJQb2xpY3k6YywuLi51fT1lO3JldHVybiB1fShyKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KHMsey4uLmkscmVmOm59KX1yZXR1cm4gdC5kaXNwbGF5TmFtZT1gRGVmYXVsdENvbXBvbmVudCgke2V9KWAsdH0oTCkpLFtMXSksSj1QPz9RO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoSix7Li4uWCxpZDp0LHJvbGU6bixjbGFzc05hbWU6cygpKHIsRC5pdGVtLGcmJkQud2l0aEljb24se1tELmlzQWN0aXZlXTp4LFtELmlzRGlzYWJsZWRdOkN8fFMsW0QuaG92ZXJlZF06X30pLHRpdGxlOmQsaHJlZjp5LHRhcmdldDpULHJlbDpSLHJlZmVyZW5jZTpmdW5jdGlvbihlKXskLmN1cnJlbnQ9ZSwiZnVuY3Rpb24iPT10eXBlb2YgQSYmQShlKTsib2JqZWN0Ij09dHlwZW9mIEEmJihBLmN1cnJlbnQ9ZSl9LG9uQ2xpY2s6ZnVuY3Rpb24oZSl7aWYoQylyZXR1cm47aiYmaihaLGUpO0h8fChlLmN1cnJlbnRUYXJnZXQuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInBvcHVwLW1lbnUtY2xvc2UtZXZlbnQiLHtidWJibGVzOiEwLGRldGFpbDp7Y2xpY2tUeXBlOigwLGEuaXNLZXlib2FyZENsaWNrKShlKT8ia2V5Ym9hcmQiOiJtb3VzZSJ9fSkpLCgwLGwuZ2xvYmFsQ2xvc2VNZW51KSgpKX0sb25Db250ZXh0TWVudTpHLG9uTW91c2VVcDpWLG9uTW91c2VPdmVyOlcsCm9uTW91c2VPdXQ6SSxvbktleURvd246ayx0YWJJbmRleDpGLCJkYXRhLXFhLWlkIjpZfSxVJiZvLmNyZWF0ZUVsZW1lbnQoaS5DaXJjbGVMb2dvLHsuLi5xLGNsYXNzTmFtZTpjWyJkaXNjbG9zdXJlLWl0ZW0tY2lyY2xlLWxvZ28iXSxzaXplOiJ4eHhzbWFsbCIsbG9nb1VybDpVLmxvZ29VcmwscGxhY2Vob2xkZXJMZXR0ZXI6InBsYWNlaG9sZGVyTGV0dGVyImluIFU/VS5wbGFjZWhvbGRlckxldHRlcjp2b2lkIDB9KSxLJiZvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6RC5zdGFydFNsb3R9LEspLGcmJm8uY3JlYXRlRWxlbWVudCgic3BhbiIseyJhcmlhLWxhYmVsIjpxJiZxWyJhcmlhLWxhYmVsIl0sImFyaWEtaGlkZGVuIjpxJiZCb29sZWFuKHFbImFyaWEtaGlkZGVuIl0pLGNsYXNzTmFtZTpzKCkoRC5pY29uLHomJmNbInJvdW5kLWljb24iXSx2KSxkYW5nZXJvdXNseVNldElubmVySFRNTDp7X19odG1sOmd9fSksby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKShELmxhYmVsUm93LGgpfSxvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cygpKEQubGFiZWwscCl9LHcpKSwodm9pZCAwIT09Znx8YikmJm8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpELnNob3J0Y3V0fSwoZWU9ZikmJmVlLnNwbGl0KCIrIikuam9pbigiICsgIikpLHZvaWQgMCE9PU4mJm8uY3JlYXRlRWxlbWVudCgic3BhbiIse3JvbGU6TyxvbkNsaWNrOkI/dTp2b2lkIDAsY2xhc3NOYW1lOnMoKShtLEQudG9vbGJveCx7W0Quc2hvd09uSG92ZXJdOkUsW0Quc2hvd09uRm9jdXNdOk19KX0sTikpO3ZhciBlZX19LDYzMjk5MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtDbG9zZURlbGVnYXRlQ29udGV4dDooKT0+c30pO3ZhciBvPW4oNzc5NDc0KSxyPW4oMjc2MDE5KTtjb25zdCBzPW8uY3JlYXRlQ29udGV4dChyLmdsb2JhbENsb3NlRGVsZWdhdGUpfSw4MzU5NjQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UG9wdXBNZW51OigpPT5ofSk7dmFyIG89big3Nzk0NzQpLHI9bigxMjkzNjUpLHM9big5MjgxMzIpLGk9big1ODU0OCksYT1uKDIzNjc2NSksbD1uKDIyNzk0OSksYz1uKDE0NTE1MCksdT1uKDYzMjk5MiksZD1uKDMwMTkzNyk7ZnVuY3Rpb24gaChlKXtjb25zdHtjb250cm9sbGVyOnQsY2hpbGRyZW46bixpc09wZW5lZDpoLGNsb3NlT25DbGlja091dHNpZGU6cD0hMCxkb05vdENsb3NlT246bSxvbkNsaWNrT3V0c2lkZTpmLG9uQ2xvc2U6YixvbktleWJvYXJkQ2xvc2U6ZyxkYXRhUWFJZDp2PSJwb3B1cC1tZW51LWNvbnRhaW5lciIsY2xvc2VPblNjcm9sbE91dHNpZGVPZmZzZXQ6eCwuLi5DfT1lLF89KDAsby51c2VDb250ZXh0KSh1LkNsb3NlRGVsZWdhdGVDb250ZXh0KSxTPW8udXNlQ29udGV4dChsLk1lbnVXaWR0aENvbnRleHQpLHc9KDAsby51c2VDb250ZXh0KShkLlJlbWVhc3VyZURlbGVnYXRlQ29udGV4dCkseT0oMCxhLnVzZU91dHNpZGVFdmVudCkoe2hhbmRsZXI6ZnVuY3Rpb24oZSl7ZiYmZihlKTtpZighcClyZXR1cm47Y29uc3QgdD0oMCxzLmRlZmF1bHQpKG0pP20oKTpudWxsPT1tP1tdOlttXTtpZih0Lmxlbmd0aD4wJiZlLnRhcmdldCBpbnN0YW5jZW9mIE5vZGUpZm9yKGNvbnN0IG4gb2YgdCl7Y29uc3QgdD1yLmZpbmRET01Ob2RlKG4pO2lmKHQgaW5zdGFuY2VvZiBOb2RlJiZ0LmNvbnRhaW5zKGUudGFyZ2V0KSlyZXR1cm59YigpfSxtb3VzZURvd246ITAsdG91Y2hTdGFydDohMH0pO3JldHVybiBoP28uY3JlYXRlRWxlbWVudChpLlBvcnRhbCx7dG9wOiIwIixsZWZ0OiIwIixyaWdodDoiMCIsYm90dG9tOiIwIixwb2ludGVyRXZlbnRzOiJub25lIn0sby5jcmVhdGVFbGVtZW50KCJzcGFuIix7cmVmOnksc3R5bGU6e3BvaW50ZXJFdmVudHM6ImF1dG8ifX0sby5jcmVhdGVFbGVtZW50KGMuTWVudSx7Li4uQyxvbkNsb3NlOmIsb25LZXlib2FyZENsb3NlOmcsb25TY3JvbGw6ZnVuY3Rpb24odCl7Y29uc3R7b25TY3JvbGw6bn09ZTtuJiZuKHQpfSxjdXN0b21DbG9zZURlbGVnYXRlOl8sY3VzdG9tUmVtZWFzdXJlRGVsZWdhdGU6dyxyZWY6dCxkYXRhUWFJZDp2LGxpbWl0TWF4V2lkdGg6Uy5zZXRNZW51TWF4V2lkdGgsImRhdGEtdG9vbHRpcC1zaG93LW9uLWZvY3VzIjoidHJ1ZSIsY2xvc2VPblNjcm9sbE91dHNpZGVPZmZzZXQ6eH0sbikpKTpudWxsfX0sMzAxOTM3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1JlbWVhc3VyZURlbGVnYXRlQ29udGV4dDooKT0+b30pO2NvbnN0IG89big3Nzk0NzQpLmNyZWF0ZUNvbnRleHQodm9pZCAwKX0sODU1MzkxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1NxdWFyZVRhYnNTaXplQ29udGV4dDooKT0+b30pO2NvbnN0IG89KDAsbig3Nzk0NzQpLmNyZWF0ZUNvbnRleHQpKCJzbWFsbCIpfSw5ODY4ODgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U3F1YXJlVGFiQnV0dG9uOigpPT5wfSk7dmFyIG89big3Nzk0NzQpLHI9big5MTQ0ODcpLHM9bi5uKHIpLGk9bigzMDk5MjApLGE9big4MDk0MzYpLGw9big3NzAxNDMpLGM9big3MTc5MzIpLHU9big4NTUzOTEpLGQ9big2NjkyNjUpLGg9bigzNDg4NDkpO2NvbnN0IHA9KDAsby5mb3J3YXJkUmVmKSgoKGUsdCk9Pntjb25zdCBuPW8udXNlQ29udGV4dCh1LlNxdWFyZVRhYnNTaXplQ29udGV4dCkscj0oMCxvLnVzZUNvbnRleHQpKGkuQ3VzdG9tQmVoYXZpb3VyQ29udGV4dCkse2lkOnAsYWN0aXZlOm0sZmFrZTpmLHRoZW1lOmI9aCxlbmFibGVBY3RpdmVTdGF0ZVN0eWxlczpnPXIuZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXMsaGlkZUZvY3VzT3V0bGluZTp2PSExLGVuZFNsb3Q6eCxzdGFydFNsb3Q6QyxjaGlsZHJlbjpfLGlzVmVydGljYWw6UyxkaXNhYmxlZDp3LGhpZ2hsaWdodGVkOnksZW5kVXBwZXJTbG90OkUsaWNvbk9ubHlPbkFkYXB0aXZlOk0sb3ZlcmZsb3dBZGFwdGl2ZTpUPSJtZWRpYS1tZi1waG9uZS1sYW5kc2NhcGUiLC4uLlJ9PWUsTj0oMCxsLmdldFRleHRGb3JUb29sdGlwKShfKSxPPSEoMCxjLnVzZVNhZmVNYXRjaE1lZGlhKShhW1RdKSYmTSxBPWU9Pm8uY3JlYXRlRWxlbWVudChkLlNxdWFyZVRhYkNvbnRlbnQsewoiYXJpYS1oaWRkZW4iOmUsZW5kU2xvdDp4LHN0YXJ0U2xvdDpDLGVuZFVwcGVyU2xvdDpFLGNsYXNzTmFtZTplP2gudGFiSGlkZGVuQ29udGVudDpoLnRhYkNvbnRlbnQsaXNWZXJ0aWNhbDpTLGRpc2FibGVkOncsc2l6ZTpuLGljb25Pbmx5Ok99LF8pO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIsey4uLlIsaWQ6cCxyZWY6dCxjbGFzc05hbWU6cygpKCJhcHBseS1jb21tb24tdG9vbHRpcCIsImFwcGx5LW92ZXJmbG93LXRvb2x0aXAiLCJhcHBseS1vdmVyZmxvdy10b29sdGlwLS1jaGVjay1jaGlsZHJlbi1yZWN1cnNpdmVseSIsImFwcGx5LW92ZXJmbG93LXRvb2x0aXAtLWFsbG93LXRleHQiLGIuc3F1YXJlVGFiQnV0dG9uLG0mJmIuc2VsZWN0ZWQsYltuXSxmJiZiLmZha2UsIWcmJmIuZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLHYmJmIuZGlzYWJsZUZvY3VzT3V0bGluZSxTJiZiLnZlcnRpY2FsQnV0dG9uLHcmJmIuZGlzYWJsZWQpLCJkYXRhLW92ZXJmbG93LXRvb2x0aXAtdGV4dCI6TiwiZGF0YS10b29sdGlwLXNob3ctb24tZm9jdXMiOiJ0cnVlIix0aXRsZTpPP046dm9pZCAwfSxBKCExKSxBKCEwKSl9KSk7cC5kaXNwbGF5TmFtZT0iU3F1YXJlVGFiQnV0dG9uIn0sMzUzOTcxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1NxdWFyZVRhYjooKT0+aX0pO3ZhciBvPW4oNzc5NDc0KSxyPW4oOTY0NTk0KSxzPW4oOTg2ODg4KTtjb25zdCBpPSgwLG8uZm9yd2FyZFJlZikoKChlLHQpPT57Y29uc3R7aXRlbTpuLGhhbmRsZUl0ZW1SZWY6aSxvbkNsaWNrOmEsLi4ubH09ZSxjPSgwLG8udXNlQ2FsbGJhY2spKCgoKT0+e2EmJmEobil9KSxbYSxuXSksdT0oMCxvLnVzZUNhbGxiYWNrKSgoZT0+e2kmJmkobixlKSwoMCxyLmlzb21vcnBoaWNSZWYpKHQpKGUpfSksW24saSx0XSk7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChzLlNxdWFyZVRhYkJ1dHRvbix7Li4ubCxpZDpuLmlkLCJkYXRhLXFhLWlkIjpuLmlkLG9uQ2xpY2s6YyxyZWY6dSxlbmRTbG90Om4uZW5kU2xvdCxzdGFydFNsb3Q6bi5zdGFydFNsb3QsZW5kVXBwZXJTbG90Om4uZW5kVXBwZXJTbG90LCJhcmlhLWxhYmVsIjoicmFkaW8iPT09bC5yb2xlP24ubGFiZWw6dm9pZCAwfSxuLmxhYmVsKX0pKTtpLmRpc3BsYXlOYW1lPSJTcXVhcmVUYWIifSw2NjkyNjUoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U3F1YXJlVGFiQ29udGVudDooKT0+bCxnZXRTcXVhcmVUYWJzU2Nyb2xsV3JhcENsYXNzTmFtZXM6KCk9PmN9KTt2YXIgbz1uKDc3OTQ3NCkscj1uKDkxNDQ4Nykscz1uLm4ociksaT1uKDM5NjQzMSksYT1uKDEzNTI4Nyk7ZnVuY3Rpb24gbCh7c3RhcnRTbG90OmUsZW5kU2xvdDp0LGNoaWxkcmVuOm4sY2xhc3NOYW1lOnIsImFyaWEtaGlkZGVuIjpsLGlzVmVydGljYWw6YyxlbmRVcHBlclNsb3Q6dSxpY29uT25seTpkLHNpemU6aH0pe2NvbnN0IHA9ZSYmby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKShhLnN0YXJ0U2xvdFdyYXAsZCYmYS5zdGFydFNsb3RXcmFwSWNvbk9ubHkpfSxlKSxtPW4mJiEoYyYmZCkmJm8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpzKCkoYS5jb250ZW50LGMmJmEudmVydGljYWxDb250ZW50KX0sbiksZj0oMCxvLnVzZU1lbW8pKCgoKT0+e2lmKGMmJmQmJm8uaXNWYWxpZEVsZW1lbnQodCkpe2NvbnN0IGU9dC5wcm9wcz8uY291bnQ7cmV0dXJuIGU/by5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmEuZW5kVXBwZXJTbG90fSwoMCxpLmdldFRhYkNvdW50ZXIpKHtjb3VudDplLHNpemU6KDAsaS5jb3VudGVyU2l6ZUZyb21TcXVhcmVUYWJzU2l6ZSkoaCl9KSk6bnVsbH1yZXR1cm4gby5jcmVhdGVFbGVtZW50KG8uRnJhZ21lbnQsbnVsbCx0JiZvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6YS5lbmRTbG90V3JhcH0sdCksdSYmby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmEuZW5kVXBwZXJTbG90fSx1KSl9KSxbYyxkLHQsdSxoXSk7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgic3BhbiIseyJhcmlhLWhpZGRlbiI6bCxjbGFzc05hbWU6cn0scCxtLGYpfWZ1bmN0aW9uIGMoZSl7Y29uc3R7b3ZlcmZsb3dCZWhhdmlvdXI6dH09ZTtyZXR1cm4gcygpKGEuc2Nyb2xsV3JhcCwic2Nyb2xsIj09PXQmJmEub3ZlcmZsb3dTY3JvbGwsIndyYXAiPT09dCYmYS5vdmVyZmxvd1dyYXApfX0sMzczNTc0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1NxdWFyZVRhYnM6KCk9PlR9KTt2YXIgbz1uKDc3OTQ3NCkscj1uKDkxNDQ4Nykscz1uLm4ociksaT1uKDc4MzI1NCksYT1uKDIxMjEyNSksbD1uKDg0Njg1OCksYz1uKDM1Mzk3MSksdT1uKDMxOTY5KSxkPW4oMzg3MjMxKSxoPW4oMTkzODQ3KSxwPW4oMTUzNzM0KSxtPW4oOTg2ODg4KSxmPW4oMjczMzEwKSxiPW4oOTM1MSksZz1uKDczODgyNik7ZnVuY3Rpb24gdihlKXtjb25zdHtpc0Ryb3BwZWQ6dD0hMX09ZTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGYuSWNvbix7aWNvbjpiLGNsYXNzTmFtZTpzKCkoZy5hcnJvd0ljb24sdCYmZy5kcm9wcGVkKX0pfXZhciB4PW4oMTI5NjYxKTtmdW5jdGlvbiBDKGUpe2NvbnN0e2Rpc2FibGVkOnQsaXNPcGVuZWQ6bixoaWRlRm9jdXNPdXRsaW5lOnIsZmFrZTpzLGl0ZW1zOmksYnV0dG9uQ29udGVudDphLGJ1dHRvblJlZjpsLGJ1dHRvblRoZW1lOmMsaXNIaWdobGlnaHRlZDpmLG9uQnV0dG9uQ2xpY2s6Yixvbkl0ZW1DbGljazpnLG9uQ2xvc2U6Q309ZSxfPSgwLG8udXNlUmVmKShudWxsKSxTPSgwLHUudXNlTWVyZ2VkUmVmcykoW2wsX10pO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoaC5Qb3B1cE1lbnVEaXNjbG9zdXJlVmlldyx7YnV0dG9uUmVmOl8sbGlzdGJveFRhYkluZGV4Oi0xLGlzT3BlbmVkOm4sb25DbG9zZTpDLGxpc3Rib3hBcmlhOnsiYXJpYS1oaWRkZW4iOiEwfSxidXR0b246by5jcmVhdGVFbGVtZW50KG0uU3F1YXJlVGFiQnV0dG9uLHsiYXJpYS1oaWRkZW4iOiEwLGRpc2FibGVkOnQsYWN0aXZlOm4sb25DbGljazpiLHJlZjpTLHRhYkluZGV4Oi0xLHRoZW1lOigwLGQubWVyZ2VUaGVtZXMpKGMseCksaGlkZUZvY3VzT3V0bGluZTpyLApmYWtlOnN9LGEsby5jcmVhdGVFbGVtZW50KHYse2lzRHJvcHBlZDpufSkpLHBvcHVwQ2hpbGRyZW46aS5tYXAoKGU9Pm8uY3JlYXRlRWxlbWVudChwLlBvcHVwTWVudUl0ZW0se2tleTplLmlkLG9uQ2xpY2s6ZyxvbkNsaWNrQXJnOmUsaXNBY3RpdmU6ZihlKSxsYWJlbDplLmxhYmVsLGlzRGlzYWJsZWQ6ZS5kaXNhYmxlZHx8dCxzdGFydFNsb3Q6ZS5zdGFydFNsb3QsdG9vbGJveDplLmVuZFVwcGVyU2xvdD9vLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6Yy5lbmRTbG90SW5EaXNjbG9zdXJlfSxlLmVuZFVwcGVyU2xvdCk6ZS5lbmRTbG90LGRvbnRDbG9zZVBvcHVwOiEwfSkpKX0pfXZhciBfPW4oODU1MzkxKSxTPW4oNjkwMDk3KSx3PW4oMTE1MjkzKSx5PW4oNjY5MjY1KSxFPW4oMzM2ODUxKTtmdW5jdGlvbiBNKGUpe2NvbnN0e2Rpc2FibGVkOnQsbW9yZUJ1dHRvbkNvbnRlbnQ6cj0oKT0+aS50KG51bGwsdm9pZCAwLG4oMzk0OTQ3KSksc2l6ZTp1PSJzbWFsbCIsdGhlbWU6ZD1TLmRlZmF1bHRUaGVtZSxjbGFzc05hbWU6aCxzdHlsZTpwLCJkYXRhLW5hbWUiOm0sImFyaWEtY29udHJvbHMiOmYsaXNSYWRpb0dyb3VwOmJ9PWUsZz1wYXJzZUludChFW2Bjc3MtdmFsdWUtc3F1YXJlLXRhYnMtJHt1fS1nYXBgXSkse2VuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOnYsbW9yZUJ1dHRvblJlZjp4LHNldEl0ZW1SZWY6TSxnZXRCaW5kaW5nczpULGhhbmRsZU1vcmVCdXR0b25DbGljazpSLGhhbmRsZUNvbGxhcHNlZEl0ZW1DbGljazpOLHNjcm9sbFdyYXBCaW5kaW5nOk8sb3ZlcmZsb3dCZWhhdmlvdXI6QSx0YWJsaXN0QmluZGluZzpJLHZpc2libGVUYWJzOlcsaGlkZGVuVGFiczprLGhhbmRsZUFjdGl2YXRlOkIsaXNNb2JpbGVUb3VjaDpELGdldEl0ZW1JZDpGLGlzRGlzY2xvc3VyZU9wZW5lZDpMLGlzSGlnaGxpZ2h0ZWQ6UCxjbG9zZURpc2Nsb3N1cmU6en09KDAsbC51c2VUYWJzTWFpbkhhbmRsZXJzKShhLlRhYk5hbWVzLlNxdWFyZUJ1dHRvblRhYnMsZSx7aXNSdGw6dy5pc1J0bCxzY3JvbGxJbnRvVmlld09wdGlvbnM6e2FkZGl0aW9uYWxTY3JvbGw6Z30saXNSYWRpb0dyb3VwOmIsZ2FwOmd9KTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KF8uU3F1YXJlVGFic1NpemVDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp1fSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIsey4uLk8sY2xhc3NOYW1lOnMoKSgoMCx5LmdldFNxdWFyZVRhYnNTY3JvbGxXcmFwQ2xhc3NOYW1lcykoe292ZXJmbG93QmVoYXZpb3VyOkF9KSxoKSxzdHlsZTp7Li4ucCwiLS11aS1saWItcHJpdmF0ZS1zcXVhcmVUYWJzLWdhcCI6YCR7Z31weGB9LCJkYXRhLW5hbWUiOm19LG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7Li4uSSxjbGFzc05hbWU6cygpKGQuc3F1YXJlVGFicyxkW3VdKX0sVy5tYXAoKGU9Pm8uY3JlYXRlRWxlbWVudChjLlNxdWFyZVRhYix7Li4uVChlKT8/e30sa2V5OmUuaWQsaXRlbTplLG9uQ2xpY2s6KCk9PkIoZSksdGhlbWU6ZCxlbmFibGVBY3RpdmVTdGF0ZVN0eWxlczp2LGhpZGVGb2N1c091dGxpbmU6RCxyZWY6TShGKGUpKSwuLi5lLmRhdGFJZCYmeyJkYXRhLWlkIjplLmRhdGFJZH0sImFyaWEtY29udHJvbHMiOmZ9KSkpLGsubWFwKChlPT5vLmNyZWF0ZUVsZW1lbnQoYy5TcXVhcmVUYWIsey4uLlQoZSk/P3t9LGtleTplLmlkLGl0ZW06ZSx0aGVtZTpkLGVuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOnYsZmFrZTohMCwiYXJpYS1jb250cm9scyI6Zn0pKSksby5jcmVhdGVFbGVtZW50KEMse2Rpc2FibGVkOnQsaXNPcGVuZWQ6TCxpdGVtczprLGJ1dHRvbkNvbnRlbnQ6cih7aGlkZGVuVGFiczprfSksYnV0dG9uUmVmOngsYnV0dG9uVGhlbWU6ZCxpc0hpZ2hsaWdodGVkOlAsb25CdXR0b25DbGljazpSLG9uSXRlbUNsaWNrOk4sb25DbG9zZTp6LGhpZGVGb2N1c091dGxpbmU6RCxmYWtlOjA9PT1rLmxlbmd0aH0pKSkpfWZ1bmN0aW9uIFQoZSl7Y29uc3R7ImRhdGEtbmFtZSI6dD0ic3F1YXJlLXRhYnMtYnV0dG9ucyIsLi4ubn09ZTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KE0sey4uLm4sImRhdGEtbmFtZSI6dH0pfX0sNzIxOTEwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NvdW50ZXI6KCk9PmR9KTt2YXIgbyxyLHMsaT1uKDkxNDQ4NyksYT1uLm4oaSksbD1uKDc3OTQ3NCksYz1uKDM2Mjc5MyksdT1uLm4oYyk7ZnVuY3Rpb24gZChlKXtjb25zdHtjbGFzc05hbWU6dCxjb3VudDpuLGNvbXBhY3Q6bz0hMCxzaXplOnI9InhsYXJnZSIsY29sb3I6cz0iZGFuZ2VyIixzaWduOmksYm9yZGVyQ29sb3I6Yz0ibm9uZSIsImFyaWEtbGFiZWwiOmQsImFyaWEtaGlkZGVuIjpoLGRpc2FibGVkOnAsLi4ubX09ZSxmPW07bGV0IGI7Yj0hKCJ4eHNtYWxsIj09PXJ8fCJ4eHhzbWFsbCI9PT1yKSYmbj9vJiZuPj0xMDA/Ijk5KyI6aSYmbj4wP2ArJHtufWA6bjoiIjtjb25zdCBnPWEoKSh0LHUoKS5jb3VudGVyLHUoKVtyXSx1KClbYGNvbG9yLSR7c31gXSwibm9uZSIhPT1jJiZ1KClbYGJvcmRlckNvbG9yLSR7Y31gXSxwJiZ1KCkuZGlzYWJsZWQpO3JldHVybiBsLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHsuLi5mLGNsYXNzTmFtZTpnLHJvbGU6dm9pZCAwIT09ZD8iaW1nIjp2b2lkIDAsImFyaWEtbGFiZWwiOmQsImFyaWEtaGlkZGVuIjpofSxiKX0hZnVuY3Rpb24oZSl7ZS5YWFhTbWFsbD0ieHh4c21hbGwiLGUuWFhTbWFsbD0ieHhzbWFsbCIsZS5YU21hbGw9InhzbWFsbCIsZS5TbWFsbD0ic21hbGwiLGUuTWVkaXVtPSJtZWRpdW0iLGUuTGFyZ2U9ImxhcmdlIixlLlhMYXJnZT0ieGxhcmdlIn0ob3x8KG89e30pKSxmdW5jdGlvbihlKXtlLkRhbmdlcj0iZGFuZ2VyIixlLkFjY2VudD0iYWNjZW50IixlLkFjY2VudExpZ2h0PSJhY2NlbnQtbGlnaHQiLGUuTmV1dHJhbEJvbGQ9Im5ldXRyYWwtYm9sZCIsZS5OZXV0cmFsPSJuZXV0cmFsIn0ocnx8KHI9e30pKSxmdW5jdGlvbihlKXtlLlByaW1hcnk9InByaW1hcnkiLGUuU2Vjb25kYXJ5PSJzZWNvbmRhcnkiLGUuVGVydGlhcnk9InRlcnRpYXJ5IixlLk5vbmU9Im5vbmUifShzfHwocz17fSkpfSw1Mjk0MTEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7CnVzZUlzTm9uRmlyc3RSZW5kZXI6KCk9PnJ9KTt2YXIgbz1uKDc3OTQ3NCk7ZnVuY3Rpb24gcigpe3JldHVybiFmdW5jdGlvbigpe2NvbnN0W2UsdF09KDAsby51c2VTdGF0ZSkoITApO3JldHVybigwLG8udXNlRWZmZWN0KSgoKCk9Pnt0KCExKX0pLFtdKSxlfSgpfX0sMTQ1OTg0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZUZvY3VzOigpPT5yfSk7dmFyIG89big3Nzk0NzQpO2Z1bmN0aW9uIHIoZSx0KXtjb25zdFtuLHJdPSgwLG8udXNlU3RhdGUpKCExKTsoMCxvLnVzZUVmZmVjdCkoKCgpPT57dCYmbiYmcighMSl9KSxbdCxuXSk7Y29uc3Qgcz17b25Gb2N1czooMCxvLnVzZUNhbGxiYWNrKSgoZnVuY3Rpb24odCl7dm9pZCAwIT09ZSYmZS5jdXJyZW50IT09dC50YXJnZXR8fHIoITApfSksW2VdKSxvbkJsdXI6KDAsby51c2VDYWxsYmFjaykoKGZ1bmN0aW9uKHQpe3ZvaWQgMCE9PWUmJmUuY3VycmVudCE9PXQudGFyZ2V0fHxyKCExKX0pLFtlXSl9O3JldHVybltuLHNdfX0sNzg3ODk1KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZUZ1bmN0aW9uYWxSZWZPYmplY3Q6KCk9PnN9KTt2YXIgbz1uKDc3OTQ3NCkscj1uKDYxNjMxMSk7ZnVuY3Rpb24gcyhlKXtjb25zdCB0PSgwLG8udXNlTWVtbykoKCgpPT5mdW5jdGlvbihlKXtjb25zdCB0PW49PntlKG4pLHQuY3VycmVudD1ufTtyZXR1cm4gdC5jdXJyZW50PW51bGwsdH0oKGU9PnthLmN1cnJlbnQoZSl9KSkpLFtdKSxuPSgwLG8udXNlUmVmKShudWxsKSxzPXQ9PntpZihudWxsPT09dClyZXR1cm4gaShuLmN1cnJlbnQsdCksdm9pZChuLmN1cnJlbnQ9bnVsbCk7bi5jdXJyZW50IT09ZSYmKG4uY3VycmVudD1lLGkobi5jdXJyZW50LHQpKX0sYT0oMCxvLnVzZVJlZikocyk7cmV0dXJuIGEuY3VycmVudD1zLCgwLHIudXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCkoKCgpPT57aWYobnVsbCE9PXQuY3VycmVudClyZXR1cm4gYS5jdXJyZW50KHQuY3VycmVudCksKCk9PmEuY3VycmVudChudWxsKX0pLFtlXSksdH1mdW5jdGlvbiBpKGUsdCl7bnVsbCE9PWUmJigiZnVuY3Rpb24iPT10eXBlb2YgZT9lKHQpOmUuY3VycmVudD10KX19LDMxOTY5KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZU1lcmdlZFJlZnM6KCk9PnN9KTt2YXIgbz1uKDc3OTQ3NCkscj1uKDk2NDU5NCk7ZnVuY3Rpb24gcyhlKXtyZXR1cm4oMCxvLnVzZUNhbGxiYWNrKSgoMCxyLm1lcmdlUmVmcykoZSksZSl9fSw5MDA4NDEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBvKGUsdCxuLG8scil7ZnVuY3Rpb24gcyhyKXtpZihlPnIudGltZVN0YW1wKXJldHVybjtjb25zdCBzPXIudGFyZ2V0O3ZvaWQgMCE9PW4mJm51bGwhPT10JiZudWxsIT09cyYmcy5vd25lckRvY3VtZW50PT09byYmKHQuY29udGFpbnMocyl8fG4ocikpfXJldHVybiByLmNsaWNrJiZvLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixzLCExKSxyLm1vdXNlRG93biYmby5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLHMsITEpLHIudG91Y2hFbmQmJm8uYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLHMsITEpLHIudG91Y2hTdGFydCYmby5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixzLCExKSwoKT0+e28ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLHMsITEpLG8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixzLCExKSxvLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixzLCExKSxvLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHMsITEpfX1uLmQodCx7YWRkT3V0c2lkZUV2ZW50TGlzdGVuZXI6KCk9Pm99KX0sMjM2NzY1KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZU91dHNpZGVFdmVudDooKT0+aX0pO3ZhciBvPW4oNzc5NDc0KSxyPW4oNjE2MzExKSxzPW4oOTAwODQxKTtmdW5jdGlvbiBpKGUpe2NvbnN0e2NsaWNrOnQsbW91c2VEb3duOm4sdG91Y2hFbmQ6aSx0b3VjaFN0YXJ0OmEsaGFuZGxlcjpsLHJlZmVyZW5jZTpjfT1lLHU9KDAsby51c2VSZWYpKG51bGwpLGQ9KDAsby51c2VSZWYpKCJ1bmRlZmluZWQiPT10eXBlb2Ygd2luZG93PzA6bmV3IHdpbmRvdy5DdXN0b21FdmVudCgidGltZXN0YW1wIikudGltZVN0YW1wKTtyZXR1cm4oMCxyLnVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QpKCgoKT0+e2NvbnN0IGU9e2NsaWNrOnQsbW91c2VEb3duOm4sdG91Y2hFbmQ6aSx0b3VjaFN0YXJ0OmF9LG89Yz9jLmN1cnJlbnQ6dS5jdXJyZW50O3JldHVybigwLHMuYWRkT3V0c2lkZUV2ZW50TGlzdGVuZXIpKGQuY3VycmVudCxvLGwsZG9jdW1lbnQsZSl9KSxbdCxuLGksYSxsXSksY3x8dX19LDcxOTQyNShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VSZXNpemVPYnNlcnZlcjooKT0+aX0pO3ZhciBvPW4oNzc5NDc0KSxyPW4oNjE2MzExKSxzPW4oNzg3ODk1KTtmdW5jdGlvbiBpKGUsdD1bXSl7Y29uc3R7Y2FsbGJhY2s6bixyZWY6aT1udWxsfT1mdW5jdGlvbihlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZT97Y2FsbGJhY2s6ZX06ZX0oZSksYT0oMCxvLnVzZVJlZikobnVsbCksbD0oMCxvLnVzZVJlZikobik7bC5jdXJyZW50PW47Y29uc3QgYz0oMCxzLnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKGkpLHU9KDAsby51c2VDYWxsYmFjaykoKGU9PntjKGUpLG51bGwhPT1hLmN1cnJlbnQmJihhLmN1cnJlbnQuZGlzY29ubmVjdCgpLG51bGwhPT1lJiZhLmN1cnJlbnQub2JzZXJ2ZShlKSl9KSxbYyxhXSk7cmV0dXJuKDAsci51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9PihhLmN1cnJlbnQ9bmV3IFJlc2l6ZU9ic2VydmVyKCgoZSx0KT0+e2wuY3VycmVudChlLHQpfSkpLGMuY3VycmVudCYmdShjLmN1cnJlbnQpLCgpPT57YS5jdXJyZW50Py5kaXNjb25uZWN0KCl9KSksW2MsLi4udF0pLHV9fSwyMjc5NDkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7TWVudVdpZHRoQ29udGV4dDooKT0+b30pO2NvbnN0IG89big3Nzk0NzQpLmNyZWF0ZUNvbnRleHQoe3NldE1lbnVNYXhXaWR0aDohMX0pfSw4OTEyMDkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U3VibWVudUNvbnRleHQ6KCk9PnIsClN1Ym1lbnVIYW5kbGVyOigpPT5zfSk7dmFyIG89big3Nzk0NzQpO2NvbnN0IHI9by5jcmVhdGVDb250ZXh0KG51bGwpO2Z1bmN0aW9uIHMoZSl7Y29uc3RbdCxuXT0oMCxvLnVzZVN0YXRlKShudWxsKSxzPSgwLG8udXNlUmVmKShudWxsKSxpPSgwLG8udXNlUmVmKShuZXcgTWFwKTtyZXR1cm4oMCxvLnVzZUVmZmVjdCkoKCgpPT4oKT0+e251bGwhPT1zLmN1cnJlbnQmJmNsZWFyVGltZW91dChzLmN1cnJlbnQpfSksW10pLG8uY3JlYXRlRWxlbWVudChyLlByb3ZpZGVyLHt2YWx1ZTp7Y3VycmVudDp0LHNldEN1cnJlbnQ6ZnVuY3Rpb24oZSl7bnVsbCE9PXMuY3VycmVudCYmKGNsZWFyVGltZW91dChzLmN1cnJlbnQpLHMuY3VycmVudD1udWxsKTtudWxsPT09dD9uKGUpOnMuY3VycmVudD1zZXRUaW1lb3V0KCgoKT0+e3MuY3VycmVudD1udWxsLG4oZSl9KSwxMDApfSxyZWdpc3RlclN1Ym1lbnU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gaS5jdXJyZW50LnNldChlLHQpLCgpPT57aS5jdXJyZW50LmRlbGV0ZShlKX19LGlzU3VibWVudU5vZGU6ZnVuY3Rpb24oZSl7cmV0dXJuIEFycmF5LmZyb20oaS5jdXJyZW50LnZhbHVlcygpKS5zb21lKCh0PT50KGUpKSl9fX0sZS5jaGlsZHJlbil9fSw1ODU0OChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtQb3J0YWw6KCk9PmMsUG9ydGFsQ29udGV4dDooKT0+dX0pO3ZhciBvPW4oNzc5NDc0KSxyPW4oMTI5MzY1KSxzPW4oODU2NzcwKSxpPW4oOTAzNDIpLGE9big1NzAxOTMpLGw9big2MDc4MzIpO2NsYXNzIGMgZXh0ZW5kcyBvLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX3V1aWQ9KDAscy5uYW5vaWQpKCl9Y29tcG9uZW50V2lsbFVubW91bnQoKXt0aGlzLl9tYW5hZ2VyKCkucmVtb3ZlV2luZG93KHRoaXMuX3V1aWQpfXJlbmRlcigpe2NvbnN0IGU9dGhpcy5fbWFuYWdlcigpLmVuc3VyZVdpbmRvdyh0aGlzLl91dWlkLHRoaXMucHJvcHMubGF5ZXJPcHRpb25zKTtlLnN0eWxlLnRvcD10aGlzLnByb3BzLnRvcHx8IiIsZS5zdHlsZS5ib3R0b209dGhpcy5wcm9wcy5ib3R0b218fCIiLGUuc3R5bGUubGVmdD10aGlzLnByb3BzLmxlZnR8fCIiLGUuc3R5bGUucmlnaHQ9dGhpcy5wcm9wcy5yaWdodHx8IiIsZS5zdHlsZS5wb2ludGVyRXZlbnRzPXRoaXMucHJvcHMucG9pbnRlckV2ZW50c3x8IiI7Y29uc3QgdD10aGlzLnByb3BzLmNsYXNzTmFtZTtyZXR1cm4gdCYmKCJzdHJpbmciPT10eXBlb2YgdD9lLmNsYXNzTGlzdC5hZGQodCk6ZS5jbGFzc0xpc3QuYWRkKC4uLnQpKSx0aGlzLnByb3BzLnNob3VsZFRyYXBGb2N1cyYmIWUuaGFzQXR0cmlidXRlKGEuRk9DVVNfVFJBUF9EQVRBX0FUVFJJQlVURSkmJmUuc2V0QXR0cmlidXRlKGEuRk9DVVNfVFJBUF9EQVRBX0FUVFJJQlVURSwidHJ1ZSIpLHRoaXMucHJvcHNbImFyaWEtaGlkZGVuIl0mJmUuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKSxyLmNyZWF0ZVBvcnRhbChvLmNyZWF0ZUVsZW1lbnQodS5Qcm92aWRlcix7dmFsdWU6dGhpc30sdGhpcy5wcm9wcy5jaGlsZHJlbiksZSl9bW92ZVRvVG9wKCl7dGhpcy5fbWFuYWdlcigpLm1vdmVUb1RvcCh0aGlzLl91dWlkKX1fbWFuYWdlcigpe3JldHVybiBudWxsPT09dGhpcy5jb250ZXh0PygwLGkuZ2V0Um9vdE92ZXJsYXBNYW5hZ2VyKSgpOnRoaXMuY29udGV4dH19Yy5jb250ZXh0VHlwZT1sLlNsb3RDb250ZXh0O2NvbnN0IHU9by5jcmVhdGVDb250ZXh0KG51bGwpfSw2MDc4MzIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U2xvdDooKT0+cixTbG90Q29udGV4dDooKT0+c30pO3ZhciBvPW4oNzc5NDc0KTtjbGFzcyByIGV4dGVuZHMgby5Db21wb25lbnR7c2hvdWxkQ29tcG9uZW50VXBkYXRlKCl7cmV0dXJuITF9cmVuZGVyKCl7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7c3R5bGU6e3Bvc2l0aW9uOiJmaXhlZCIsekluZGV4OjE1MCxsZWZ0OjAsdG9wOjB9LHJlZjp0aGlzLnByb3BzLnJlZmVyZW5jZX0pfX1jb25zdCBzPW8uY3JlYXRlQ29udGV4dChudWxsKX0sMzE0NzIwKGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlLHQ9ITEpe2NvbnN0IG49Z2V0Q29tcHV0ZWRTdHlsZShlKSxvPVtuLndpZHRoXTtyZXR1cm4iYm9yZGVyLWJveCIhPT1uLmJveFNpemluZyYmby5wdXNoKG4ucGFkZGluZ0xlZnQsbi5wYWRkaW5nUmlnaHQsbi5ib3JkZXJMZWZ0V2lkdGgsbi5ib3JkZXJSaWdodFdpZHRoKSx0JiZvLnB1c2gobi5tYXJnaW5MZWZ0LG4ubWFyZ2luUmlnaHQpLG8ucmVkdWNlKCgoZSx0KT0+ZSsocGFyc2VGbG9hdCh0KXx8MCkpLDApfW4uZCh0LHtvdXRlcldpZHRoOigpPT5vfSl9LDU3MDE5MyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtGT0NVU19UUkFQX0RBVEFfQVRUUklCVVRFOigpPT5vfSk7Y29uc3Qgbz0iZGF0YS1mb2N1cy10cmFwIn0sODQ4OTg4KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gMD09PWUuZGV0YWlsfW4uZCh0LHtpc0tleWJvYXJkQ2xpY2s6KCk9Pm99KX0sOTY0NTk0KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gdD0+e2UuZm9yRWFjaCgoZT0+eyJmdW5jdGlvbiI9PXR5cGVvZiBlP2UodCk6bnVsbCE9ZSYmKGUuY3VycmVudD10KX0pKX19ZnVuY3Rpb24gcihlKXtyZXR1cm4gbyhbZV0pfW4uZCh0LHtpc29tb3JwaGljUmVmOigpPT5yLG1lcmdlUmVmczooKT0+b30pfSw5MDM0MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtPdmVybGFwTWFuYWdlcjooKT0+aSxnZXRSb290T3ZlcmxhcE1hbmFnZXI6KCk9Pmx9KTt2YXIgbz1uKDEzODYzOCkscj1uKDU3MDE5Myk7Y2xhc3Mgc3tjb25zdHJ1Y3Rvcigpe3RoaXMuX3N0b3JhZ2U9W119YWRkKGUpe3RoaXMuX3N0b3JhZ2UucHVzaChlKX1yZW1vdmUoZSl7dGhpcy5fc3RvcmFnZT10aGlzLl9zdG9yYWdlLmZpbHRlcigodD0+ZSE9PXQpKX1oYXMoZSl7cmV0dXJuIHRoaXMuX3N0b3JhZ2UuaW5jbHVkZXMoZSl9Z2V0SXRlbXMoKXtyZXR1cm4gdGhpcy5fc3RvcmFnZX19Y2xhc3MgaXtjb25zdHJ1Y3RvcihlPWRvY3VtZW50KXsKdGhpcy5fc3RvcmFnZT1uZXcgcyx0aGlzLl93aW5kb3dzPW5ldyBNYXAsdGhpcy5faW5kZXg9MCx0aGlzLl9kb2N1bWVudD1lLHRoaXMuX2NvbnRhaW5lcj1lLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKX1zZXRDb250YWluZXIoZSl7Y29uc3QgdD10aGlzLl9jb250YWluZXIsbj1udWxsPT09ZT90aGlzLl9kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk6ZTshZnVuY3Rpb24oZSx0KXtBcnJheS5mcm9tKGUuY2hpbGROb2RlcykuZm9yRWFjaCgoZT0+e2Uubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmdC5hcHBlbmRDaGlsZChlKX0pKX0odCxuKSx0aGlzLl9jb250YWluZXI9bn1yZWdpc3RlcldpbmRvdyhlKXt0aGlzLl9zdG9yYWdlLmhhcyhlKXx8dGhpcy5fc3RvcmFnZS5hZGQoZSl9ZW5zdXJlV2luZG93KGUsdD17cG9zaXRpb246ImZpeGVkIixkaXJlY3Rpb246Im5vcm1hbCJ9KXtjb25zdCBuPXRoaXMuX3dpbmRvd3MuZ2V0KGUpO2lmKHZvaWQgMCE9PW4pcmV0dXJuIG47dGhpcy5yZWdpc3RlcldpbmRvdyhlKTtjb25zdCBvPXRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKG8uc3R5bGUucG9zaXRpb249dC5wb3NpdGlvbixvLnN0eWxlLnpJbmRleD10aGlzLl9pbmRleC50b1N0cmluZygpLG8uZGF0YXNldC5pZD1lLHZvaWQgMCE9PXQuaW5kZXgpe2NvbnN0IGU9dGhpcy5fY29udGFpbmVyLmNoaWxkTm9kZXMubGVuZ3RoO2lmKHQuaW5kZXg+PWUpdGhpcy5fY29udGFpbmVyLmFwcGVuZENoaWxkKG8pO2Vsc2UgaWYodC5pbmRleDw9MCl0aGlzLl9jb250YWluZXIuaW5zZXJ0QmVmb3JlKG8sdGhpcy5fY29udGFpbmVyLmZpcnN0Q2hpbGQpO2Vsc2V7Y29uc3QgZT10aGlzLl9jb250YWluZXIuY2hpbGROb2Rlc1t0LmluZGV4XTt0aGlzLl9jb250YWluZXIuaW5zZXJ0QmVmb3JlKG8sZSl9fWVsc2UicmV2ZXJzZSI9PT10LmRpcmVjdGlvbj90aGlzLl9jb250YWluZXIuaW5zZXJ0QmVmb3JlKG8sdGhpcy5fY29udGFpbmVyLmZpcnN0Q2hpbGQpOnRoaXMuX2NvbnRhaW5lci5hcHBlbmRDaGlsZChvKTtyZXR1cm4gdGhpcy5fd2luZG93cy5zZXQoZSxvKSwrK3RoaXMuX2luZGV4LG99dW5yZWdpc3RlcldpbmRvdyhlKXt0aGlzLl9zdG9yYWdlLnJlbW92ZShlKTtjb25zdCB0PXRoaXMuX3dpbmRvd3MuZ2V0KGUpO3ZvaWQgMCE9PXQmJihudWxsIT09dC5wYXJlbnRFbGVtZW50JiZ0LnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQodCksdGhpcy5fd2luZG93cy5kZWxldGUoZSkpfWdldFppbmRleChlKXtjb25zdCB0PXRoaXMuZW5zdXJlV2luZG93KGUpO3JldHVybiBwYXJzZUludCh0LnN0eWxlLnpJbmRleHx8IjAiKX1tb3ZlTGFzdFdpbmRvd1RvVG9wKCl7Y29uc3QgZT10aGlzLl9zdG9yYWdlLmdldEl0ZW1zKCksdD1lW2UubGVuZ3RoLTFdO3QmJnRoaXMubW92ZVRvVG9wKHQpfW1vdmVUb1RvcChlKXtpZih0aGlzLmdldFppbmRleChlKSE9PXRoaXMuX2luZGV4KXtjb25zdCB0PXRoaXMuZW5zdXJlV2luZG93KGUpO3RoaXMuX3dpbmRvd3MuZm9yRWFjaCgoKGUsbik9PntlLmhhc0F0dHJpYnV0ZShyLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUpJiZlLnNldEF0dHJpYnV0ZShyLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUsZT09PXQ/InRydWUiOiJmYWxzZSIpfSkpLHQuc3R5bGUuekluZGV4PSgrK3RoaXMuX2luZGV4KS50b1N0cmluZygpfX1yZW1vdmVXaW5kb3coZSl7dGhpcy51bnJlZ2lzdGVyV2luZG93KGUpfX1jb25zdCBhPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIGwoZT1kb2N1bWVudCl7Y29uc3QgdD1lLmdldEVsZW1lbnRCeUlkKCJvdmVybGFwLW1hbmFnZXItcm9vdCIpO2lmKG51bGwhPT10KXJldHVybigwLG8uZW5zdXJlRGVmaW5lZCkoYS5nZXQodCkpO3tjb25zdCB0PW5ldyBpKGUpLG49ZnVuY3Rpb24oZSl7Y29uc3QgdD1lLmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiB0LnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsdC5zdHlsZS56SW5kZXg9MTUwLi50b1N0cmluZygpLHQuc3R5bGUudG9wPSIwcHgiLHQuc3R5bGUubGVmdD0iMHB4Iix0LmlkPSJvdmVybGFwLW1hbmFnZXItcm9vdCIsdC5kYXRhc2V0LnFhSWQ9Im92ZXJsYXAtbWFuYWdlci1yb290Iix0fShlKTtyZXR1cm4gYS5zZXQobix0KSx0LnNldENvbnRhaW5lcihuKSxlLmJvZHkuYXBwZW5kQ2hpbGQobiksdH19dmFyIGM7IWZ1bmN0aW9uKGUpe2VbZS5CYXNlWmluZGV4PTE1MF09IkJhc2VaaW5kZXgifShjfHwoYz17fSkpfSw4MzM5MDMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBvKC4uLmUpe3JldHVybiB0PT57Zm9yKGNvbnN0IG4gb2YgZSl2b2lkIDAhPT1uJiZuKHQpfX1uLmQodCx7Y3JlYXRlU2FmZU11bHRpY2FzdEV2ZW50SGFuZGxlcjooKT0+b30pfSw2MTYzMTEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdDooKT0+cn0pO3ZhciBvPW4oNzc5NDc0KTtmdW5jdGlvbiByKGUsdCl7KCJ1bmRlZmluZWQiPT10eXBlb2Ygd2luZG93P28udXNlRWZmZWN0Om8udXNlTGF5b3V0RWZmZWN0KShlLHQpfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/97797.d985eebe67397f02fa64.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.754Z","timestamp":1785120634754,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/97797.d985eebe67397f02fa64.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"coin-images.coingecko.com/coins/images/279/large/ethereum.png?1696501628","fqdn":"coin-images.coingecko.com","domain":"coingecko.com","tld":"com"},"ip":{"addr":"104.21.63.32","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.684Z","timestamp":1785120633684,"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://247optiontradefx.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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 200 \r\nx-amz-id-2: AfuKWJd+EqcwweT0VgEm6+/c0BTGHR9A2laflJDnhk0QvXATj/+WqhfB5XSuG2MDc8uRZHMi04g=\r\nx-amz-request-id: 5ZK48BRCW41ZWPT6\r\ndate: Mon, 27 Jul 2026 02:50:33 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=FqHPiV0ICWzTuhvYlQE7QC6sJxhJOJlneUXSyY5nHIy3L739PTBvRkjCp82hKecUMngniNWaXViH29foMPMfMBT685cmhzkMnjRRUaHc3ffGCMjVXOA5kFIyqw6kQ6Sq1EaUJ6JABNkRjon0\"}]}\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: 1475\r\ncf-ray: a21856589ac78be6-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":10525,"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-07-27T05:21:09.058018Z","times_seen":894,"resource_available":false,"data":"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"}},"time_used":22,"timings":{"blocked":-1,"dns":3,"connect":0,"send":0,"wait":6,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"binarymate.com/assets/landing/platform-tiny/images/clock-spinner.svg","fqdn":"binarymate.com","domain":"binarymate.com","tld":"com"},"ip":{"addr":"172.67.160.195","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://binarymate.com/en/tyni-platform?r=https://247optiontradefx.live/dashboard/register","date":"2026-07-27T02:50:33.783Z","timestamp":1785120633783,"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":"binarymate.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 14 Jun 2026 17:48:17 GMT","end":"Sat, 12 Sep 2026 18:48:16 GMT"},"fingerprint":{"sha1":"26:CD:F2:69:FE:7F:C6:01:56:78:36:8F:A3:D6:FB:30:04:43:72:C0","sha256":"84:94:E9:41:71:FF:C7:FC:0D:D1:FE:9F:61:E9:EB:27:62:B3:01:D9:AA:F6:35:FB:C6:FA:4A:CE:9B:16:0B:7E"}}},"request":{"raw":"GET /assets/landing/platform-tiny/images/clock-spinner.svg HTTP/1.1\r\nHost: binarymate.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://binarymate.com/en/tyni-platform?r=https://247optiontradefx.live/dashboard/register\r\nCookie: laravel_session=UYESX7wELN8BSPz4LvfUKeGrrWO22l12CaQ7FWII\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\npriority: u=5,i\r\ncontent-type: image/svg+xml\r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nlast-modified: Thu, 12 May 2016 06:50:27 GMT\r\nserver: cloudflare\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=BYcBeyr53j4eZj7lxqVVaY8nBDyK7%2BbkP4YEIPzv%2F7X2FA2JfF%2B6tpipp7eryDLZUBtl6%2FW5ATDV0UVKkYI2tMQaRp0Rgn5iV1hcThWsaEdyKG9hDYKVGoy7SwrAjb8XcA%3D%3D\"}]}\r\nage: 373\r\ncache-control: max-age=14400\r\ncf-cache-status: HIT\r\ncontent-encoding: zstd\r\netag: W/\"573427b3-343\"\r\ncf-ray: a21856592ada8be6-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"]}],"data":{"size":835,"size_decoded":1159,"mime_type":"image/svg+xml","magic":"SVG Scalable Vector Graphics image","md5":"9c23baf504d110fc41d18841f927623c","sha1":"bdad4d5128bbd039fc7157b74f0b2803154599ee","sha256":"ec8053cd20a2ee992bdb86913133a9abc044ffa23c7c9827cf02bd1c4a9bd965","sha512":"86ebc66de5a358a64bd68196a04d01fb4cb6a8703438f019fecfd082ae52b29b77b662991d3f74d71911893ef3fd97128d9f0f15e0b0bd670cdec70c8bde0be9","ssdeep":"","tlshash":"3c018e7a0355469d7501df780764538d73b2c1e5786490d4f74f04a56f40eb7217af92","first_seen":"2023-05-30T11:35:28Z","last_seen":"2026-07-27T05:25:19.122987Z","times_seen":94,"resource_available":false,"data":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDE4IDIwIj4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjN0Y5Q0E3OwogICAgICAgIGZpbGwtcnVsZTogZXZlbm9kZDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTAuMTU5LDIuNlYxLjhoMC42NjhhMC41MjYsMC41MjYsMCwwLDAsLjUzMy0wLjUxN1YwLjUxOEEwLjUyNywwLjUyNywwLDAsMCwxMC44MjcsMEg2LjkwNmEwLjUyOCwwLjUyOCwwLDAsMC0uNTMzLjUxOFYxLjI4MWEwLjUyNywwLjUyNywwLDAsMCwuNTMzLjUxN0g3LjU3NFYyLjYzQTguODIzLDguODIzLDAsMCwwLS4wMDcsMTEuMjZhOC44NzMsOC44NzMsMCwwLDAsOSw4Ljc0LDguODc0LDguODc0LDAsMCwwLDktOC43NEE4LjgzMiw4LjgzMiwwLDAsMCwxMC4xNTksMi42Wk04Ljk5NCwxNy43MzdBNi41NzUsNi41NzUsMCwwLDEsMi4zMjUsMTEuMjYsNi41NzQsNi41NzQsMCwwLDEsOC45OTQsNC43ODRhNi41NzQsNi41NzQsMCwwLDEsNi42NjksNi40NzZBNi41NzQsNi41NzQsMCwwLDEsOC45OTQsMTcuNzM3Wk04LjkzNSw3LjIzYTAuODE4LDAuODE4LDAsMSwwLS44NDItMC44MTdBMC44MzEsMC44MzEsMCwwLDAsOC45MzUsNy4yM1ptNC4zNDUtLjI2OUw5Ljc4OCwxMC4zNTJhMS4yNDMsMS4yNDMsMCwwLDAtLjc5NC0wLjI4MywxLjE5MiwxLjE5MiwwLDEsMCwxLjIyOCwxLjE5MSwxLjE2NiwxLjE2NiwwLDAsMC0uMjkyLTAuNzdMMTMuNDIzLDcuMVoiLz4KPC9zdmc+Cg=="}},"time_used":5,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/38002.86d280feeabab698360b.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.989Z","timestamp":1785120633989,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/38002.86d280feeabab698360b.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a323c19-493\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 17 Jun 2026 06:18:01 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/17/2026 11:16:00\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 12a38d2fc17c0215e99ef99634a784e4\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1171,"size_decoded":1246,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1171), with no line terminators","md5":"c5625ab18e2e939c0e7a1aaf8335d885","sha1":"476f700790695056f483a7540cca9876b7ec9b44","sha256":"109dfa81449a46405b7bbad3bb1fe38d13168125084d9486a17269580fa11d1e","sha512":"b0d0814df65da6664845b9aa6212db20c3810f795432ea14ecfb6d89b44ed9dea6826d34c2c7d74e8042a33898c9eb1e143d41e0f9534c42b5a733a1bf91139d","ssdeep":"","tlshash":"ff21df02d15010d8a0ffb368edd1976e8329e0c7e52f09dda1692f75d2817782b6df41","first_seen":"2026-03-24T19:47:05.239918Z","last_seen":"2026-07-27T05:24:15.733687Z","times_seen":1461,"resource_available":false,"data":"LnNiLWlubmVyLXNoYWRvd3tiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWJnLXByaW1hcnkpO2JvdHRvbTotMTBweDtib3gtc2hhZG93OjAgMCA1cHggIzAwMDAwMDI2O2hlaWdodDoxMHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xMTY2NjY2N3MgZWFzZSx0cmFuc2Zvcm0gLjExNjY2NjY3cyBlYXNlO3dpZHRoOjEwMCU7ei1pbmRleDo1fS5zYi1pbm5lci1zaGFkb3cudG9we2JveC1zaGFkb3c6MCAwIDVweCAjMDAwMDAwMjY7dG9wOi0xMHB4fS5zYi1pbm5lci1zaGFkb3cuaS1pbnZpc2libGV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNXB4KX0uc2ItaW5uZXItc2hhZG93LmktaW52aXNpYmxlLnRvcHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNXB4KX0uc2ItaW5uZXItc2hhZG93LmktaW52aXNpYmxle29wYWNpdHk6MH0uc2Itc2Nyb2xsYmFye2luc2V0LWlubGluZS1lbmQ6MXB4O29wYWNpdHk6MDtwb3NpdGlvbjphYnNvbHV0ZSFpbXBvcnRhbnQ7dG9wOjczcHg7dHJhbnNpdGlvbjpvcGFjaXR5IC4zczt3aWR0aDo3cHg7ei1pbmRleDoxfS5zYi1zY3JvbGxiYXIuYWN0aXZlLC5zYi1zY3JvbGxiYXIuYWN0aXZlLWFsd2F5c3tvcGFjaXR5OjF9LnNiLXNjcm9sbGJhcl9fY29udGVudC13cmFwcGVyLS1zY3JvbGwtaW5pdGVke3Bvc2l0aW9uOnJlbGF0aXZlfS5zYi1zY3JvbGxiYXJfX2NvbnRlbnQtLXNjcm9sbC1pbml0ZWR7cG9zaXRpb246YWJzb2x1dGV9LnNiLXNjcm9sbGJhci13cmFwe2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1lbmQ6MXB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjZweDt6LWluZGV4OjF9LnNiLXNjcm9sbGJhci13cmFwIC5zYi1zY3JvbGxiYXJ7aW5zZXQtaW5saW5lLWVuZDowfS5zYi1zY3JvbGxiYXItYm9keXtiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLXNiLXNjcm9sbGJhci1ib2R5LWJnKTtib3JkZXI6MDt3aWR0aDo2cHh9LmdyYXkgLnNiLXNjcm9sbGJhci1ib2R5e2JhY2tncm91bmQ6Izc1NzU3YTtib3JkZXItY29sb3I6Izc1NzU3YTtib3JkZXItcmFkaXVzOjNweH0uc2Itc2Nyb2xsYmFyLWJvdHRvbSwuc2Itc2Nyb2xsYmFyLXRvcHtkaXNwbGF5Om5vbmV9LmFjdGl2ZS1hbHdheXMuZ3JheSwuZ3JheXtvcGFjaXR5Oi41fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"tvc-invdn-cf-com.investing.com/tool/1.12.10/custom.css","fqdn":"tvc-invdn-cf-com.investing.com","domain":"investing.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://tvc-invdn-cf-com.investing.com/tool/1.12.10/static/tv-chart.e816a7a6edc9de3ed709.html#localserver=1\u0026symbol=945629\u0026interval=5\u0026studiesAccess=%7B%22type%22%3A%22black%22%2C%22tools%22%3A%5B%7B%22name%22%3A%22Correlation%20Coeff%22%2C%22grayed%22%3Afalse%7D%5D%7D\u0026widgetbar=%7B%22details%22%3Afalse%2C%22watchlist%22%3Afalse%2C%22watchlist_settings%22%3A%7B%22default_symbols%22%3A%5B%5D%7D%7D\u0026drawingsAccess=%7B%22type%22%3A%22black%22%2C%22tools%22%3A%5B%7B%22name%22%3A%22Regression%20Trend%22%2C%22grayed%22%3Afalse%7D%5D%7D\u0026timeFrames=%5B%7B%22text%22%3A%2210y%22%2C%22resolution%22%3A%22M%22%7D%2C%7B%22text%22%3A%223y%22%2C%22resolution%22%3A%22W%22%7D%2C%7B%22text%22%3A%221y%22%2C%22resolution%22%3A%22W%22%7D%2C%7B%22text%22%3A%223m%22%2C%22resolution%22%3A%22D%22%7D%2C%7B%22text%22%3A%221m%22%2C%22resolution%22%3A%22300%22%7D%2C%7B%22text%22%3A%227d%22%2C%22resolution%22%3A%2260%22%7D%2C%7B%22text%22%3A%221d%22%2C%22resolution%22%3A%2215%22%7D%5D\u0026locale=ru\u0026uid=tradingview_52714\u0026clientId=0\u0026userId=0\u0026chartsStorageVer=1.0\u0026customCSS=https%3A%2F%2Ftvc-invdn-cf-com.investing.com%2Ftool%2F1.12.10%2Fcustom.css\u0026debug=false\u0026snapshotUrl=https%3A%2F%2Fssltvc.forexprostools.com%2Fcc6698fccca44e51b088d9ddbbcf8ec8%2F1785120633%2F7%2F7%2F17%2Fsnapshot\u0026timezone=Europe%2FMoscow","date":"2026-07-27T02:50:34.752Z","timestamp":1785120634752,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /tool/1.12.10/custom.css HTTP/1.1\r\nHost: tvc-invdn-cf-com.investing.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://tvc-invdn-cf-com.investing.com/tool/1.12.10/static/tv-chart.e816a7a6edc9de3ed709.html\r\nCookie: __cf_bm=_ITmCi.o0sIQL5NcO3Sb26g4xoc5VW31qzZhbiSViRw-1785120634.7126572-1.0.1.1-O9eAXoVV.5w9AFSZ2XPFXn.wog26VHBSVZd1S7nC.gUfa8abM8KGtA4ukiFWyvl.lMs5M8SgHyWnaujwAwcuzg17QG.YLab2asbSI3tAtsAozHsjJlyFeaeXJl9_RoSjHJXtoPZD9IuM.DqwAr7MeA; cf_clearance=F3ZT9zIKVTxIG0dakw_1deLgSLh8K2RLHxelIyv3bzI-1785120634-1.2.1.1-Dnjh3TJurdQRv.5KBgIwWodgCDsMeIO2rVhIWw64L9YCtQ8AC1ZEKCDud.CdqN5fHjyOQSH2OCNqS_bxwnJ03iNaadSDLQb6esPgEiPjo1GiPDeG_Z7fEJHRLDW4SWPGL2q0zfrxD5t.IbqlovJ8jZ0PiQ5waDODK3Q8Kg6MxDBLnVlTAKPb6zKfKOF8VH6jpjBiIAwVrghMEOEuW.PTnnv9nFgH2CxB8W3Q_dcO4XgqCp6a3utXEAwzHSaFe9tSNn7Lx13l4Qg.rvHu2TGBTc3rB574BYonNlUIfNkr6jn1BibUpp5bsL3TdmzMSSb5MnumBjT7JNGct2jt8rxPV0T_obsxfeJm5ptdYhHB1IQ\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"www.tradingview-widget.com/static/bundles/embed/62600.6106356cb816fb74b17b.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.848Z","timestamp":1785120634848,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/62600.6106356cb816fb74b17b.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"bootstrap.smartsuppchat.com/widget/4f71bdbaaa893851c011f3d477bdb0b580568250.json","fqdn":"bootstrap.smartsuppchat.com","domain":"smartsuppchat.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:36.779Z","timestamp":1785120636779,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /widget/4f71bdbaaa893851c011f3d477bdb0b580568250.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://247optiontradefx.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://247optiontradefx.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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"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://247optiontradefx.com/","date":"2026-07-27T02:50:48.466Z","timestamp":1785120648466,"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://247optiontradefx.com\r\nSec-WebSocket-Protocol: actioncable-v1-json, actioncable-unsupported\r\nSec-WebSocket-Extensions: permessage-deflate\r\nSec-WebSocket-Key: +MQDhSIKrLT3XLS2xVNZ8g==\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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"www.tradingview-widget.com/static/bundles/embed/43325.256fa5a5213b9cb70f5c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.174Z","timestamp":1785120634174,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/43325.256fa5a5213b9cb70f5c.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b74-b07\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:24 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:17:08\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b47e95037d962b9d1ff175b546161465\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2823,"size_decoded":1643,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2823), with no line terminators","md5":"9117f5417af5435afba6f7700053a6fc","sha1":"28521c103a762e72c133892f41ee2fb550e20888","sha256":"e121896dc20723795767320cb9facd147ce5ba20427b67b47b47eb2f85d85b67","sha512":"7e71e1b26466a549b6496d8e84f2581eff4877ff30f1d0deaa365a3c6729bf545e9672f4a4c8417b5dfe1c7d61cfd349b3c6d476823a50b074c4a6423cb09a67","ssdeep":"","tlshash":"275188abfbcb1e2de71bcea1e7a712ff91a405c1be584138e5b3ad71064ca741724184","first_seen":"2026-04-15T09:47:56.523899Z","last_seen":"2026-07-27T05:15:36.958933Z","times_seen":4148,"resource_available":false,"data":"LmxhYmVsLWR6YmQ3bHlWe2JvcmRlci1yYWRpdXM6MTJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6dmFyKC0tY29sb3Itd2hpdGUpO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjRweDttYXgtd2lkdGg6MjhweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowIDZweDtwb3NpdGlvbjphYnNvbHV0ZTt0cmFuc2l0aW9uOm1heC13aWR0aCAuNnMgY3ViaWMtYmV6aWVyKC40LC4wMSwuMjIsMSkgMHMsYmFja2dyb3VuZCAuM3MgY3ViaWMtYmV6aWVyKC40LC4wMSwuMjIsMSkgMHM7ei1pbmRleDozfS5sYWJlbC1kemJkN2x5ViAubG9nb1dyYXAtZHpiZDdseVZ7cGFkZGluZy1pbmxpbmUtZW5kOjVweH0ubGFiZWwtZHpiZDdseVYuZXhwYW5kZWRCeUNsaWNrLWR6YmQ3bHlWLC5sYWJlbC1kemJkN2x5Vi5leHBhbmRlZFdpdGhUcmFuc2l0aW9uLWR6YmQ3bHlWe21heC13aWR0aDoxMDVweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmxhYmVsLWR6YmQ3bHlWOmhvdmVye21heC13aWR0aDoxMDVweH19LmxhYmVsLWR6YmQ3bHlWOm5vdChhKXtjdXJzb3I6ZGVmYXVsdH0ubGFiZWwtZHpiZDdseVY6Zm9jdXN7b3V0bGluZTphdXRvO291dGxpbmUtY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApO291dGxpbmUtb2Zmc2V0Oi0ycHg7b3V0bGluZS13aWR0aDoycHh9LmxhYmVsLWR6YmQ3bHlWLnN0YXJ0LWR6YmQ3bHlWe2luc2V0LWlubGluZS1zdGFydDo4cHh9LmxhYmVsLWR6YmQ3bHlWLmVuZC1kemJkN2x5ViwubGFiZWwtZHpiZDdseVYuc3RhcnQtZHpiZDdseVZ7Ym94LXNoYWRvdzowIDJweCA0cHggMCB2YXIoLS1jb2xvci1vdGhlci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5KX0ubGFiZWwtZHpiZDdseVYuZW5kLWR6YmQ3bHlWe2luc2V0LWlubGluZS1lbmQ6OHB4fS5sYWJlbC1kemJkN2x5Vi5zbmFwLWR6YmQ3bHlWLnN0YXJ0LWR6YmQ3bHlWe2JvcmRlci1yYWRpdXM6MDtib3JkZXItZW5kLWVuZC1yYWRpdXM6MTJweDtib3JkZXItc3RhcnQtZW5kLXJhZGl1czoxMnB4O2luc2V0LWlubGluZS1zdGFydDowfS5sYWJlbC1kemJkN2x5Vi5zbmFwLWR6YmQ3bHlWLmVuZC1kemJkN2x5Vntib3JkZXItcmFkaXVzOjA7Ym9yZGVyLWVuZC1zdGFydC1yYWRpdXM6MTJweDtib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjEycHg7aW5zZXQtaW5saW5lLWVuZDowfS5sYWJlbC1kemJkN2x5Vi50b3AtZHpiZDdseVZ7dG9wOjhweH1AbWVkaWEgKG1heC1oZWlnaHQ6NTBweCl7LmxhYmVsLWR6YmQ3bHlWLnRvcC1kemJkN2x5Vnt0b3A6YXV0bzt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpfX0ubGFiZWwtZHpiZDdseVYuYm90dG9tLWR6YmQ3bHlWe2JvdHRvbTo4cHh9LmxhYmVsLWR6YmQ3bHlWLmxhcmdlLWR6YmQ3bHlWe2JvcmRlcjoxcHggc29saWQgdmFyKC0tY29sb3ItY29sZC1ncmF5LTUwKTtib3JkZXItcmFkaXVzOjE3cHg7aGVpZ2h0OjM0cHg7bWF4LXdpZHRoOjM0cHg7cGFkZGluZzowIDZweH0ubGFiZWwtZHpiZDdseVYubGFyZ2UtZHpiZDdseVYgLmxvZ29XcmFwLWR6YmQ3bHlWe3BhZGRpbmctaW5saW5lLWVuZDo1cHh9LmxhYmVsLWR6YmQ3bHlWLmxhcmdlLWR6YmQ3bHlWLmVuZC1kemJkN2x5ViwubGFiZWwtZHpiZDdseVYubGFyZ2UtZHpiZDdseVYuc3RhcnQtZHpiZDdseVZ7Ym94LXNoYWRvdzpub25lfS5sYWJlbC1kemJkN2x5Vi5sYXJnZS1kemJkN2x5Vi5zbmFwLWR6YmQ3bHlWLnN0YXJ0LWR6YmQ3bHlWe2JvcmRlci1yYWRpdXM6MCAxN3B4IDE3cHggMH0ubGFiZWwtZHpiZDdseVYubGFyZ2UtZHpiZDdseVYuc25hcC1kemJkN2x5Vi5zdGFydC1kemJkN2x5VjpkaXIocnRsKXtib3JkZXItcmFkaXVzOjE3cHggMCAwIDE3cHh9LmxhYmVsLWR6YmQ3bHlWLmxhcmdlLWR6YmQ3bHlWLnNuYXAtZHpiZDdseVYuZW5kLWR6YmQ3bHlWe2JvcmRlci1yYWRpdXM6MTdweCAwIDAgMTdweH0ubGFiZWwtZHpiZDdseVYubGFyZ2UtZHpiZDdseVYuc25hcC1kemJkN2x5Vi5lbmQtZHpiZDdseVY6ZGlyKHJ0bCl7Ym9yZGVyLXJhZGl1czowIDE3cHggMTdweCAwfS5sYWJlbC1kemJkN2x5Vi5sYXJnZS1kemJkN2x5Vi5leHBhbmRlZEJ5Q2xpY2stZHpiZDdseVYsLmxhYmVsLWR6YmQ3bHlWLmxhcmdlLWR6YmQ3bHlWLmV4cGFuZGVkV2l0aFRyYW5zaXRpb24tZHpiZDdseVZ7bWF4LXdpZHRoOjExMXB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsubGFiZWwtZHpiZDdseVYubGFyZ2UtZHpiZDdseVY6aG92ZXJ7bWF4LXdpZHRoOjExMXB4fX0ubGFiZWwtZHpiZDdseVYuZXhwYW5kZWQtZHpiZDdseVZ7bWF4LXdpZHRoOm5vbmU7dHJhbnNpdGlvbjpub25lfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsubGFiZWwtZHpiZDdseVYuZXhwYW5kZWQtZHpiZDdseVY6aG92ZXJ7bWF4LXdpZHRoOm5vbmV9fS5sYWJlbF9fbGluay1kemJkN2x5Vntib3JkZXItcmFkaXVzOmluaGVyaXQ7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfS5sYWJlbC1kemJkN2x5Vi5leHBhbmRlZC1kemJkN2x5ViAubGFiZWxfX2xpbmstZHpiZDdseVYsLmxhYmVsLWR6YmQ3bHlWLmV4cGFuZGVkQnlDbGljay1kemJkN2x5ViAubGFiZWxfX2xpbmstZHpiZDdseVYsLmxhYmVsLWR6YmQ3bHlWLmV4cGFuZGVkV2l0aFRyYW5zaXRpb24tZHpiZDdseVYgLmxhYmVsX19saW5rLWR6YmQ3bHlWe3BvaW50ZXItZXZlbnRzOmF1dG99QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5sYWJlbC1kemJkN2x5Vjpob3ZlciAubGFiZWxfX2xpbmstZHpiZDdseVZ7cG9pbnRlci1ldmVudHM6YXV0b319"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"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://247optiontradefx.com/","date":"2026-07-27T02:50:42.919Z","timestamp":1785120642919,"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://247optiontradefx.com\r\nSec-WebSocket-Protocol: actioncable-v1-json, actioncable-unsupported\r\nSec-WebSocket-Extensions: permessage-deflate\r\nSec-WebSocket-Key: UFzRlECExd0xWbSiq5Q0Qg==\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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"247optiontradefx.com/#","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.110Z","timestamp":1785120633110,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: text/html; charset=UTF-8\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nX-Powered-By: PHP/8.4.12\r\nExpires: Thu, 19 Nov 1981 08:52:00 GMT\r\nCache-Control: no-store, no-cache, must-revalidate\r\nPragma: no-cache\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"PHP:8.4.12","description":"PHP is a general-purpose scripting language used for web development.","website":"https://php.net","common_platform_enumeration":"cpe:2.3:a:php:php:*:*:*:*:*:*:*:*","icon":"PHP.svg","categories":["Programming languages"]},{"name":"Bootstrap:5.1.3","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:3.3.1","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":"Clipboard.js","description":"","website":"https://clipboardjs.com/","common_platform_enumeration":"","icon":"Clipboard.js.svg","categories":["JavaScript libraries"]},{"name":"Tidio","description":"Tidio is a customer communication product. It provides multi-channel support so users can communicate with customers on the go. Live chat, messenger, or email are all supported.","website":"https://www.tidio.com","common_platform_enumeration":"","icon":"Tidio.svg","categories":["Live chat"]},{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":66860,"size_decoded":13214,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (437), with CRLF line terminators","md5":"5df2d9811111ae6b366d3c4701b47ca5","sha1":"92679f5518bf5ffae54f71ee3f9d3cb21583f2e6","sha256":"064f1fb54119462bcae4cdcf10e4d7abba8777b9a2807631c4294d75681ea69d","sha512":"aeafbdfe0ecb70e674b996186b2a9f17501a7ea9c2348a456a3fa419593cda072b560634f652112f848f77904d5ef2f28384d648116bd33dbdd013e4abd7a4e4","ssdeep":"768:hZOMrpGN5nUpGQPgJKSkCr5t1+LQeSlHb5nbnwLprI:VEN53J1+TSt5nj+FI","tlshash":"b0635124a8c2852300b7c1c69e755f69fee98207d64a894933fd67eb2ff2d14ec23558","first_seen":"2026-07-27T02:45:25.083026Z","last_seen":"2026-07-27T02:59:54.521866Z","times_seen":4,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+DQo8aHRtbD4NCjxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sO2NoYXJzZXQ9VVRGLTgiPg0KPG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7Y2hhcnNldD1VVEYtOCI+DQoNCjxoZWFkPg0KICAgIDxtZXRhIGNoYXJzZXQ9J1VURi04Jz4NCiAgICA8IS0tICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4tLT4NCiAgICA8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPWVkZ2UsY2hyb21lPTEiPg0KICAgIDx0aXRsZT4yNDdvcHRpb250cmFkZWZ4PC90aXRsZT4NCiAgPCEtLXN0YXJ0IGhlcmUtLT4NCiAgPG1ldGEgcHJvcGVydHk9Im9nOnRpdGxlIiBjb250ZW50PSIyNDdvcHRpb250cmFkZWZ4IHwgVHJhZGluZyBkaWdpdGFsIEZvcmV4LCBTdG9jaywgQmluYXJ5IG9wdGlvbiB0cmFkZSwgQ3J5cHRvY3VycmVuY3kgdHJhZGUiPg0KICA8bWV0YSBwcm9wZXJ0eT0ib2c6c2l0ZV9uYW1lIiBjb250ZW50PSIyNDdvcHRpb250cmFkZWZ4Ij4NCiAgPG1ldGEgcHJvcGVydHk9Im9nOmRlc2NyaXB0aW9uIiBjb250ZW50PSIyNDdvcHRpb250cmFkZWZ4IHwgVHJhZGluZyBkaWdpdGFsIEZvcmV4LCBTdG9jaywgQmluYXJ5IG9wdGlvbiB0cmFkZSwgQ3J5cHRvY3VycmVuY3kgdHJhZGUiPg0KICA8bWV0YSBwcm9wZXJ0eT0ib2c6dHlwZSIgY29udGVudD0id2Vic2l0ZSI+DQogIDxtZXRhIHByb3BlcnR5PSJvZzppbWFnZSIgY29udGVudD0iaHR0cDovLzI0N29wdGlvbnRyYWRlZnguY29tL2ltZy9mYi5wbmciPg0KICA8bWV0YSBwcm9wZXJ0eT0ib2c6dXJsIiBjb250ZW50PSJodHRwOi8vd3d3LjI0N29wdGlvbnRyYWRlZnguY29tIj4NCiAgPG1ldGEgcHJvcGVydHk9Im9nOmltYWdlOmFsdCIgbmFtZT0iaW1hZ2U6YWx0IiBjb250ZW50PSIyNDdvcHRpb250cmFkZWZ4Ij4NCiAgPCEtLSA8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9ImZhdmljb24ucG5nIiB0eXBlPSJpbWFnZS94LWljb24iPiAtLT4NCg0KICAgIDxsaW5rIHJlbD0nc2hvcnRjdXQgaWNvbicgaHJlZj0nRXJyb3IuaHRtbCcgdHlwZT0naW1hZ2UveC1pY29uJz4NCiAgICA8bGluayByZWw9J2ljb24nIGhyZWY9J0Vycm9yLmh0bWwnIHR5cGU9J2ltYWdlL3gtaWNvbic+DQoNCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIHR5cGU9J3RleHQvY3NzJyBocmVmPSdmb250cy9zdHlsZXNoZWV0LmNzcyc+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgaHJlZj0nZm9udHMvaWNvbW9vbi9zdHlsZS5jc3MnPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgdHlwZT0ndGV4dC9jc3MnIGhyZWY9J2Nzcy9qcXVlcnktdWkuY3NzJz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIHR5cGU9J3RleHQvY3NzJyBocmVmPSdjc3MvaW9uLnJhbmdlU2xpZGVyLmNzcyc+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgaHJlZj0nY3NzL2lvbi5yYW5nZVNsaWRlci5za2luU2ltcGxlLmNzcyc+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgaHJlZj0nY3NzL3NlbGVjdHJpYy5jc3MnPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgdHlwZT0ndGV4dC9jc3MnIGhyZWY9J2Nzcy9zdHlsZS5jc3MnPg0KDQogICAgPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0nanMvanF1ZXJ5LTMuMy4xLmpzJz48L3NjcmlwdD4NCiAgICA8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdqcy9qcXVlcnktdWkuanMnPjwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2pzL2NsaXBib2FyZC5qcyc+PC9zY3JpcHQ+DQogICAgPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0nanMvZGV0ZWN0LmpzJz48L3NjcmlwdD4NCiAgICA8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdqcy9pb24ucmFuZ2VTbGlkZXIuanMnPjwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2pzL2pxdWVyeS5zZWxlY3RyaWMuanMnPjwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2pzL3NjcmlwdC5qcyc+PC9zY3JpcHQ+DQogICAgDQogICAgDQogICAgPCEtLSA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vYm9vdHN0cmFwQDUuMS4zL2Rpc3QvY3NzL2Jvb3RzdHJhcC5taW4uY3NzIi8+IC0tPg0KICAgIA0KICAgIDwhLS0tLUFBMzIwLS0tLT4NCg0KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iYWpheC9saWJzL2FuaW1hdGUuY3NzLzQuMS4xL2FuaW1hdGUubWluLmNzcyI+DQogICAgPHNjcmlwdCBzcmM9Im5wbS9zd2VldGFsZXJ0MiU0MDEwIj48L3NjcmlwdD4NCg0KICAgIDxzdHlsZT4NCiAgICAgICAgLnNibXQgew0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOENCQTsNCiAgICAgICAgICAgIHdpZHRoOiAzMDBweDsNCiAgICAgICAgICAgIGJvcmRlcjogbm9uZTsNCiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTsNCiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMzJweDsNCiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5zYm10OmhvdmVyIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZmEwNzY7DQogICAgICAgICAgICB3aWR0aDogMzAwcHg7DQogICAgICAgICAgICBib3JkZXI6IG5vbmU7DQogICAgICAgICAgICBjb2xvcjogd2hpdGU7DQogICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDMycHg7DQogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgICAgICAgICBmb250LXNpemU6IDE2cHg7DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KDQoNCjwhLS0gZy1oaWRlIC0tPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj5pZnJhbWUuZ29vZy10ZS1iYW5uZXItZnJhbWV7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDt9PC9zdHlsZT4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Ym9keSB7cG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50OyB0b3A6MHB4ICFpbXBvcnRhbnQ7fTwvc3R5bGU+DQo8IS0tIGVuZC1nLWhpZGUgLS0+DQoNCg0KDQoNCg0KPC9oZWFkPg0KDQo8Ym9keSBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoI2JiYiAsIzAwOTBkYiwjMDA4MGRiKTtoZWlnaHQ6MTAwJSI+PGRpdiBjbGFzcz0iYm9keVdyYXAiPg0KICAgIDxoZWFkZXI+DQogICAgICAgIDxkaXYgY2xhc3M9InRvcExpbmUiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZSBmdWxsIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9nb1dyYXAgdENlbGwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9nbyBpbnZpc0xpbmsiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InR4dCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+Qzwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5MaW1pdGVkPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+LS0+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImltZy9sb2dvLnBuZyIgc3R5bGU9IndpZHRoOiAxMjBweDsgaGVpZ2h0OiA4MHB4OyIgYWx0PSJsb2dvIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjLiI+bWFpbjwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9nUmVnIHRDZWxsIHJpZ2h0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJkYXNoYm9hcmQvbG9naW4ucGhwIiBjbGFzcz0iYnRuRmlsbENvbG9yMUxnIj4gTG9naW48L2E+DQogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJkYXNoYm9hcmQvcmVnaXN0ZXIucGhwIiBjbGFzcz0iYnRuRmlsbENvbG9yMkxnIj5zaWduIHVwPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxhbmcgdENlbGwgcmlnaHQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8YSBocmVmPSIjLiIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybChpbWcvbGFuZ18xLmpwZyk7Ij48L2E+DQogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjLiIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybChpbWcvbGFuZ18yLmpwZyk7Ij48L2E+IC0tPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KDQoNCg0KDQogICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzb2NDb250SGVhZCB0Q2VsbCByaWdodCI+DQogICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICA8IS0tIDxzcGFuPkxhbmd1YWdlOjwvc3Bhbj4gLS0+DQogICAgICAgICAgPHNlbGVjdCBjbGFzcz0iY3VzdG9tLXNlbGVjdCBsYW5nLXNlbCIgaWQ9Imxhbmd1YWdlIiBvbmNoYW5nZT0iY2hhbmdlTGFuZ3VhZ2VCeUJ1dHRvbkNsaWNrKCkiPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZW4iIHNlbGVjdGVkPSIiPlNlbGVjdCBMYW5ndWFnZTwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iYWYiPkFmcmlrYW5uczwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ic3EiPkFsYmFuaWFuPC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJhciI+QXJhYmljPC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJoeSI+QXJtZW5pYW48L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImV1Ij5CYXNxdWU8L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImJuIj5CZW5nYWxpPC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJiZyI+QnVsZ2FyaWFuPC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJjYSI+Q2F0YWxhbjwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ia20iPkNhbWJvZGlhbjwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iemgtQ04iPkNoaW5lc2UgKE1hbmRhcmluKTwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iaHIiPkNyb2F0aW9uPC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJjcyI+Q3plY2g8L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImRhIj5EYW5pc2g8L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Im5sIj5EdXRjaDwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZXQiPkVzdG9uaWFuPC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJmaiI+RmlqaTwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZmkiPkZpbm5pc2g8L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImZyIj5GcmVuY2g8L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImthIj5HZW9yZ2lhbjwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZGUiPkdlcm1hbjwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZWwiPkdyZWVrPC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJndSI+R3VqYXJhdGk8L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImhlIj5IZWJyZXc8L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImhpIj5IaW5kaTwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iaHUiPkh1bmdhcmlhbjwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iaXMiPkljZWxhbmRpYzwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iaWQiPkluZG9uZXNpYW48L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImdhIj5JcmlzaDwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iaXQiPkl0YWxpYW48L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImphIj5KYXBhbmVzZTwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ianciPkphdmFuZXNlPC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJrbyI+S29yZWFuPC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJsYSI+TGF0aW48L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Imx2Ij5MYXR2aWFuPC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJsdCI+TGl0aHVhbmlhbjwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ibWsiPk1hY2Vkb25pYW48L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Im1zIj5NYWxheTwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ibWwiPk1hbGF5YWxhbTwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ibXQiPk1hbHRlc2U8L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Im1pIj5NYW9yaTwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ibXIiPk1hcmF0aGk8L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Im1uIj5Nb25nb2xpYW48L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Im5lIj5OZXBhbGk8L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Im5vIj5Ob3J3ZWdpYW48L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImZhIj5QZXJzaWFuPC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJwbCI+UG9saXNoPC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJwdCI+UG9ydHVndWVzZTwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0icGEiPlB1bmphYmk8L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9InF1Ij5RdWVjaHVhPC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJybyI+Um9tYW5pYW48L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9InJ1Ij5SdXNzaWFuPC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJzbSI+U2Ftb2FuPC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJzciI+U2VyYmlhbjwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ic2siPlNsb3Zhazwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ic2wiPlNsb3Zlbmlhbjwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZXMiPlNwYW5pc2g8L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9InN3Ij5Td2FoaWxpPC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJzdiI+U3dlZGlzaCA8L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9InRhIj5UYW1pbDwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0idHQiPlRhdGFyPC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJ0ZSI+VGVsdWd1PC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJ0aCI+VGhhaTwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iYm8iPlRpYmV0YW48L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9InRvIj5Ub25nYTwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0idHIiPlR1cmtpc2g8L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9InVrIj5Va3Jhbmlhbjwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0idXIiPlVyZHU8L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9InV6Ij5VemJlazwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0idmkiPlZpZXRuYW1lc2U8L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImN5Ij5XZWxzaDwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ieGgiPlhob3NhPC9vcHRpb24+DQogICAgICAgICAgPC9zZWxlY3Q+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHNwYW4gY2xhc3M9Imljb24tc29jMSBpbnZpc0xpbmsiPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS8iIHRhcmdldD0iX2JsYW5rIj5mYWNlYm9vazwvYT48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLXNvYzYgaW52aXNMaW5rIj48YSBocmVmPSJodHRwczovL3R3aXR0ZXIuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPnR3aXR0ZXI8L2E+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1zb2M3IGludmlzTGluayI+PGEgaHJlZj0iaHR0cHM6Ly90Lm1lLyIgdGFyZ2V0PSJfYmxhbmsiPnRlbGVncmFtPC9hPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tc29jNCBpbnZpc0xpbmsiPjxhIGhyZWY9InNreXBlOmxpdmU6P2NoYXQiIHRhcmdldD0iX2JsYW5rIj5za3lwZTwvYT48L3NwYW4+IC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQoNCg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbG9jayB0Q2VsbCByaWdodCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGltZSBncmFkVHh0IiBpZD0idGltZSI+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRhdGUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkYXkiIGlkPSJkYXkiPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ieWVhciIgaWQ9InllYXIiPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCg0KDQoNCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8c2NyaXB0IHNyYz0iY29pbmdlY2tvLWNvaW4tcHJpY2UtbWFycXVlZS13aWRnZXQuanMiPjwvc2NyaXB0Pg0KICAgICAgICA8Y29pbmdlY2tvLWNvaW4tcHJpY2UtbWFycXVlZS13aWRnZXQgY29pbi1pZHM9ImJpdGNvaW4sZXRoZXJldW0sZW9zLHJpcHBsZSxsaXRlY29pbiIgY3VycmVuY3k9InVzZCIgYmFja2dyb3VuZC1jb2xvcj0iI2ZmZmZmZiIgbG9jYWxlPSJlbiI+PC9jb2luZ2Vja28tY29pbi1wcmljZS1tYXJxdWVlLXdpZGdldD4NCg0KICAgICAgICA8ZGl2IGNsYXNzPSJtZW51Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogICAgICAgICAgICAgICAgPGNlbnRlcj4NCiAgICAgICAgICAgICAgICAgICAgPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9ImluZGV4Ij5IT01FPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iYWJvdXQiPkFCT1VUIFVTPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iYWZmaWxpYXRlIj5BRkZJTElBVEU8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJwbGFucyI+UExBTlM8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJuZXdzIj5ORVdTPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iZmFxIj5GQVE8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJyYXRldXMiPlJBVEUgVVM8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJydWxlcyI+UlVMRVM8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJjb250YWN0Ij5DT05UQUNUIFVTPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgPC9jZW50ZXI+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgPC9oZWFkZXI+DQo8ZGl2IGNsYXNzPSJtYWluQmFubmVyIGdyYWRJbWciIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1nL2hlYWRlcl9iZy5qcGcpOyI+DQogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgPGRpdiBjbGFzcz0iY29udGVudCI+DQogICAgICAgICAgICA8c3BhbiBjbGFzcz0iaGVhZGluZyI+V2VsY29tZSB0byAyNDdvcHRpb250cmFkZWZ4PC9zcGFuPg0KICAgICAgICAgICAgPHNwYW4+RGVwZW5kYWJpbGl0eSBhbmQgaW5ub3ZhdGlvbiBpbiB0cmFkaW5nPC9zcGFuPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dEJsb2NrIj4NCiAgICAgICAgICAgICAgICA8cD5BIGRpc3Rpbmd1aXNoZWQgcmVwdXRhdGlvbiwgaW5ub3ZhdGl2ZSBhcHByb2FjaCBhbmQgcHJvZml0YWJsZSB3b3JraW5nIGNvbmRpdGlvbnMgYXJlIG91cg0KICAgICAgICAgICAgICAgICAgICBtYWluIGFkdmFudGFnZXMgYW5kIHRoaXMgaXMgd2h5IHdlJ3JlIHRoZSBjaG9pY2Ugb2Ygb3ZlciAxMDAuMDAwIGNsaWVudHMuPC9wPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8YSBocmVmPSJkYXNoYm9hcmQvcmVnaXN0ZXIucGhwIiBjbGFzcz0iYnRuRmlsbEdyYWRMZyI+R2V0IHN0YXJ0ZWQgbm93PC9hPg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPGRpdiBjbGFzcz0iY2ZpeCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjdXJSYXRlIj4NCjwhLS0gVHJhZGluZ1ZpZXcgV2lkZ2V0IEJFR0lOIC0tPg0KPGRpdiBjbGFzcz0idHJhZGluZ3ZpZXctd2lkZ2V0LWNvbnRhaW5lciI+DQogIDxkaXYgY2xhc3M9InRyYWRpbmd2aWV3LXdpZGdldC1jb250YWluZXJfX3dpZGdldCI+PC9kaXY+DQogIDxkaXYgY2xhc3M9InRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQiPjxhIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LmNvbS8iIHJlbD0ibm9vcGVuZXIgbm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIj48c3BhbiBjbGFzcz0iYmx1ZS10ZXh0Ij5UcmFjayBhbGwgbWFya2V0cyBvbiBUcmFkaW5nVmlldzwvc3Bhbj48L2E+PC9kaXY+DQogIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vczMudHJhZGluZ3ZpZXcuY29tL2V4dGVybmFsLWVtYmVkZGluZy9lbWJlZC13aWRnZXQtc3ltYm9sLW92ZXJ2aWV3LmpzIiBhc3luYz4NCiAgew0KICAic3ltYm9scyI6IFsNCiAgICBbDQogICAgICAiQXBwbGUiLA0KICAgICAgIkFBUEx8MUQiDQogICAgXSwNCiAgICBbDQogICAgICAiR29vZ2xlIiwNCiAgICAgICJHT09HTHwxRCINCiAgICBdLA0KICAgIFsNCiAgICAgICJNaWNyb3NvZnQiLA0KICAgICAgIk1TRlR8MUQiDQogICAgXQ0KICBdLA0KICAiY2hhcnRPbmx5IjogZmFsc2UsDQogICJ3aWR0aCI6IDI2MCwNCiAgImhlaWdodCI6IDI0MCwNCiAgImxvY2FsZSI6ICJlbiIsDQogICJjb2xvclRoZW1lIjogImxpZ2h0IiwNCiAgImF1dG9zaXplIjogZmFsc2UsDQogICJzaG93Vm9sdW1lIjogZmFsc2UsDQogICJzaG93TUEiOiBmYWxzZSwNCiAgImhpZGVEYXRlUmFuZ2VzIjogZmFsc2UsDQogICJoaWRlTWFya2V0U3RhdHVzIjogZmFsc2UsDQogICJoaWRlU3ltYm9sTG9nbyI6IGZhbHNlLA0KICAic2NhbGVQb3NpdGlvbiI6ICJyaWdodCIsDQogICJzY2FsZU1vZGUiOiAiTm9ybWFsIiwNCiAgImZvbnRGYW1pbHkiOiAiLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBUcmVidWNoZXQgTVMsIFJvYm90bywgVWJ1bnR1LCBzYW5zLXNlcmlmIiwNCiAgImZvbnRTaXplIjogIjEwIiwNCiAgIm5vVGltZVNjYWxlIjogZmFsc2UsDQogICJ2YWx1ZXNUcmFja2luZyI6ICIxIiwNCiAgImNoYW5nZU1vZGUiOiAicHJpY2UtYW5kLXBlcmNlbnQiLA0KICAiY2hhcnRUeXBlIjogImFyZWEiLA0KICAibWFMaW5lQ29sb3IiOiAiIzI5NjJGRiIsDQogICJtYUxpbmVXaWR0aCI6IDEsDQogICJtYUxlbmd0aCI6IDksDQogICJsaW5lV2lkdGgiOiAyLA0KICAibGluZVR5cGUiOiAwLA0KICAiZGF0ZVJhbmdlcyI6IFsNCiAgICAiMWR8MSIsDQogICAgIjFtfDMwIiwNCiAgICAiM218NjAiLA0KICAgICIxMm18MUQiLA0KICAgICI2MG18MVciLA0KICAgICJhbGx8MU0iDQogIF0NCn0NCiAgPC9zY3JpcHQ+DQo8L2Rpdj4NCjwhLS0gVHJhZGluZ1ZpZXcgV2lkZ2V0IEVORCAtLT4NCg0KICAgICAgICAgICAgICANCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZEFkdiI+DQogICAgICAgICAgICA8dWw+DQogICAgICAgICAgICAgICAgPGxpPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpY29uTGVmdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1hZHYxIj48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGF0YSI+T2ZmaWNpYWxseSByZWdpc3RlcmVkIGNvbXBhbnk8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgPGxpPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpY29uTGVmdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1hZHYzIj48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGF0YSI+SW5ub3ZhdGl2ZTxicj5hcHByb2FjaDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICA8bGk+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imljb25MZWZ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWFkdjIiPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkYXRhIj5Qcm9maXRhYmxlIHdvcmtpbmcgY29uZGl0aW9uczwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICA8cD5BbGwgdGhpcyBpcyBvbmx5IHRoZSB0aXAgb2YgdGhlIGljZWJlcmcsIHJlZ2lzdGVyIG9uIG91ciB3ZWJzaXRlIGluIG9yZGVyIHRvIGV4cGVyaWVuY2UgYWxsIHRoZQ0KICAgICAgICAgICAgICAgIHByaXZpbGVnZXMgb2Ygd29ya2luZyB3aXRoIDI0N29wdGlvbnRyYWRlZng8L3A+DQogICAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9ImNpcmNsZUJnIj4NCiAgICAgICAgPGRpdiBjbGFzcz0iY2lyY2xlIj48L2Rpdj4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJjaGFydCI+DQogICAgICAgIDxpZnJhbWUgaGVpZ2h0PSIzOTgiIHdpZHRoPSI2MTgiIHNyYz0iaHR0cHM6Ly9zc2x0dmMuZm9yZXhwcm9zdG9vbHMuY29tLz9wYWlyX0lEPTk0NTYyOSZoZWlnaHQ9Mzk4JndpZHRoPTYxOCZpbnRlcnZhbD0zMDAmcGxvdFN0eWxlPWFyZWEmZG9tYWluX0lEPTcmbGFuZ19JRD03JnRpbWV6b25lX0lEPTE3Ij48L2lmcmFtZT4NCiAgICA8L2Rpdj4NCjwvZGl2Pg0KDQo8ZGl2IGNsYXNzPSJhYm91dCIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybChpbWcvYWJvdXRfYmcuaHRtbCk7Ij4NCiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KICAgICAgICA8ZGl2IGNsYXNzPSJjZml4Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxlZnQiPg0KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXB0aW9uTGlnaHQiIHN0eWxlPSJjb2xvcjpibGFjazsiPkFib3V0IGNvbXBhbnk8L3NwYW4+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGljZW5zZSI+DQogICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz0iaW1nIGludmlzTGluayIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybChpbWcvZmIucG5nKTsiPjxhIGhyZWY9ImltZy9mYi5wbmciIHRhcmdldD0iX2JsYW5rIj48L2E+PC9kaXY+IC0tPg0KICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1nL2ZiLnBuZyIgYWx0PSIiPg0KICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9ImltZyBpbnZpc0xpbmsiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoY2VydC8yLmpwZyk7Ij48YSBocmVmPSJjZXJ0LzIuanBnIiB0YXJnZXQ9Il9ibGFuayI+bGljZW5zZTwvYT48L2Rpdj4gLS0+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWRkcmVzcyI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imljb25MZWZ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWxvY2F0aW9uIGdyYWRUeHQiPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkYXRhIiBzdHlsZT0iY29sb3I6YmxhY2s7Ij41NTUtNTgxIE1hdGVvIFN0cmVldCwgTG9zIEFuZ2VsZXMsIDkwMDEzLCBDYWxpZm9ybmlhKENBKTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJpZ2h0Ij4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0QmxvY2siPg0KICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT0iY29sb3I6YmxhY2s7Ij5UaGUgY29tcGFueSAyNDdvcHRpb250cmFkZWZ4IHdhcyBmb3VuZGVkIGluIDIwMTYgYnkgYSBncm91cCBvZg0KICAgICAgICAgICAgICAgICAgICAgICAgcHJvZmVzc2lvbmFsIEZPUkVYIHRyYWRlcnMgd2l0aCB0aGUgYWltIG9mIGFjY3VtdWxhdGluZyBhc3NldHMgb2Ygc2V2ZXJhbCBsYXJnZQ0KICAgICAgICAgICAgICAgICAgICAgICAgaW52ZXN0b3JzIGZvciB0aGUgbW9zdCBlZmZpY2llbnQgdHJhZGluZyBvbiB0aGUgY3VycmVuY3kgYW5kIHN0b2NrIG1hcmtldHMuIFNpbmNlIHRoZQ0KICAgICAgICAgICAgICAgICAgICAgICAgZm91bmRpbmcgb2YgMjQ3b3B0aW9udHJhZGVmeCwgb3VyIHByaW5jaXBsZXMgaGF2ZSBiZWVuIGFic29sdXRlIHRyYW5zcGFyZW50LA0KICAgICAgICAgICAgICAgICAgICAgICAgZGVkaWNhdGlvbiB0byBvdXIgY2xpZW50cywgYXMgd2VsbCBhcyBhIGNvbXBsZXRlIHVuZGVyc3RhbmRpbmcgb2YgdGhlIGZlYXR1cmVzIG9mIG91cg0KICAgICAgICAgICAgICAgICAgICAgICAgcHJvZmlsZSBtYXJrZXQgYW5kIHRoZSBleHBlY3RhdGlvbnMgb2YgZGlmZmVyZW50IHR5cGVzIG9mIGludmVzdG9ycy48L3A+DQogICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPSJjb2xvcjpibGFjazsiPlVzaW5nIGEgdW5pcXVlIHN0cmF0ZWd5IG9mIHRoZSBnYW1lIGluIHRoZSBzdG9jayBtYXJrZXRzLCBvdXINCiAgICAgICAgICAgICAgICAgICAgICAgIHNwZWNpYWxpc3RzIGFyZSBndWFyYW50ZWVkIHRvIGJyaW5nIHByb2ZpdCB0byBhbGwgb3VyIHBhcnRuZXJzLCBzbyB5b3UgY2FuIG5vdCB3b3JyeQ0KICAgICAgICAgICAgICAgICAgICAgICAgYWJvdXQgdGhlIHNhZmV0eSBvZiB0aGVpciBmdW5kcywgZGVzcGl0ZSB0aGUgcG90ZW50aWFsIGxldmVsIG9mIHJpc2sgb2YgdGhpcyB0eXBlIG9mDQogICAgICAgICAgICAgICAgICAgICAgICBpbnZlc3RtZW50LjwvcD4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidG5zV3JhcCI+DQogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImFib3V0LnBocCIgY2xhc3M9ImJ0bkZpbGxDb2xvcjFMZyI+TGVhcm4gbW9yZTwvYT4NCiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iZGFzaGJvYXJkL3JlZ2lzdGVyLnBocA0KICAgICIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJidG5GaWxsQ29sb3IyTGciPlJlZ2lzdGVyIEFuIEFjY291bnQ8L2E+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQo8L2Rpdj4NCg0KDQoNCg0KPGRpdiBjbGFzcz0icGxhbiBwYWdlIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKGltZy9jaGFydF9iZy5wbmcpLCB1cmwoaW1nL2dyZXlfYmcucG5nKTttYXJnaW4tdG9wOi0xNTBweCI+DQogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgPHNwYW4gY2xhc3M9ImNhcHRpb25EYXJrIGNlbnRlciI+REVNTyBUUkFESU5HPC9zcGFuPg0KICAgICAgICA8YnI+DQogICAgICAgIA0KICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPg0KICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPSJjb2wtbWQtOCBjb2wtc20tMyI+IC0tPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSBjb2w3Ij4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyaWdodCI+DQoNCg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzY3JvbGxtZW51Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxpZnJhbWUgc3JjPSJodHRwczovL2JpbmFyeW1hdGUuY29tL2VuL3R5bmktcGxhdGZvcm0/cj1odHRwczovLzI0N29wdGlvbnRyYWRlZngubGl2ZS9kYXNoYm9hcmQvcmVnaXN0ZXIiIGNsYXNzPSJtaW5pLXBsYXRmb3JtIiB3aWR0aD0iNzA0cHgiIGZyYW1lYm9yZGVyPSIwIiBoZWlnaHQ9IjQwOHB4Ij48L2lmcmFtZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGltZyBzdHlsZT0id2lkdGg6MzAlIiBzcmM9Im1lZGlhL2RlbW8ucG5nIiBhbHQ9IiIgLz4gLS0+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtIGNvbDUiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxlZnQiPg0KICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1nL2ZhcXMucG5nIiBhbHQ9IiIgY2xhc3M9ImltZy1yZXNwb25zaXZlIj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPSJjb2wtc20tNCI+IC0tPg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCjwvZGl2Pg0KDQoNCg0KDQoNCg0KPGRpdiBjbGFzcz0icGxhbiBwYWdlIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKGltZy9jaGFydF9iZy5wbmcpLCB1cmwoaW1nL2dyZXlfYmcucG5nKTsiPg0KICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogICAgICAgIDxkaXYgY2xhc3M9InRleHRCbG9jayI+DQogICAgICAgICAgICA8cD4yNDdvcHRpb250cmFkZWZ4IGlzIGEgZGlzdGluY3RpdmUgaW52ZXN0bWVudCBzZXJ2aWNlcyBjb21wYW55IG9mZmVyaW5nIG91ciBpbnZlc3RvcnMgYWNjZXNzIHRvDQogICAgICAgICAgICAgICAgaGlnaC1ncm93dGggaW52ZXN0bWVudCBvcHBvcnR1bml0aWVzIGluIHRyYWRpbmcgb24gdGhlIHN0b2NrIGFuZCBjdXJyZW5jeSBtYXJrZXRzLiBXZSBpbXBsZW1lbnQNCiAgICAgICAgICAgICAgICB0aGUgbGF0ZXN0IGRldmVsb3BtZW50cyBpbiB0cmFkaW5nIGFuZCBmaW5hbmNpYWwgbWFya2V0IGFuYWx5c2lzIGFuZCBvZmZlciBvdXIgcGFydGljaXBhbnRzIGENCiAgICAgICAgICAgICAgICBjaG9pY2Ugb2YgNCBpbnZlc3RtZW50IHBsYW5zLiBPdXIgY29tcGFueSBiZW5lZml0cyBmcm9tIGFuIGV4dGVuc2l2ZSBuZXR3b3JrIG9mIGdsb2JhbCBjbGllbnRzLg0KICAgICAgICAgICAgPC9wPiA8YnI+PGJyPg0KDQoNCjwhLS0gVHJhZGluZ1ZpZXcgV2lkZ2V0IEJFR0lOIC0tPg0KPGRpdiBjbGFzcz0idHJhZGluZ3ZpZXctd2lkZ2V0LWNvbnRhaW5lciI+DQogIDxkaXYgY2xhc3M9InRyYWRpbmd2aWV3LXdpZGdldC1jb250YWluZXJfX3dpZGdldCI+PC9kaXY+DQogIDxkaXYgY2xhc3M9InRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQiPjxhIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LmNvbS8iIHJlbD0ibm9vcGVuZXIgbm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIj48c3BhbiBjbGFzcz0iYmx1ZS10ZXh0Ij5UcmFjayBhbGwgbWFya2V0cyBvbiBUcmFkaW5nVmlldzwvc3Bhbj48L2E+PC9kaXY+DQogIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vczMudHJhZGluZ3ZpZXcuY29tL2V4dGVybmFsLWVtYmVkZGluZy9lbWJlZC13aWRnZXQtc3ltYm9sLW92ZXJ2aWV3LmpzIiBhc3luYz4NCiAgew0KICAic3ltYm9scyI6IFsNCiAgICBbDQogICAgICAiQXBwbGUiLA0KICAgICAgIkFBUEx8MUQiDQogICAgXSwNCiAgICBbDQogICAgICAiR29vZ2xlIiwNCiAgICAgICJHT09HTHwxRCINCiAgICBdLA0KICAgIFsNCiAgICAgICJNaWNyb3NvZnQiLA0KICAgICAgIk1TRlR8MUQiDQogICAgXQ0KICBdLA0KICAiY2hhcnRPbmx5IjogZmFsc2UsDQogICJ3aWR0aCI6IDExNTAsDQogICJoZWlnaHQiOiA1NjksDQogICJsb2NhbGUiOiAiZW4iLA0KICAiY29sb3JUaGVtZSI6ICJsaWdodCIsDQogICJhdXRvc2l6ZSI6IGZhbHNlLA0KICAic2hvd1ZvbHVtZSI6IGZhbHNlLA0KICAic2hvd01BIjogZmFsc2UsDQogICJoaWRlRGF0ZVJhbmdlcyI6IGZhbHNlLA0KICAiaGlkZU1hcmtldFN0YXR1cyI6IGZhbHNlLA0KICAiaGlkZVN5bWJvbExvZ28iOiBmYWxzZSwNCiAgInNjYWxlUG9zaXRpb24iOiAicmlnaHQiLA0KICAic2NhbGVNb2RlIjogIk5vcm1hbCIsDQogICJmb250RmFtaWx5IjogIi1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgVHJlYnVjaGV0IE1TLCBSb2JvdG8sIFVidW50dSwgc2Fucy1zZXJpZiIsDQogICJmb250U2l6ZSI6ICIxMCIsDQogICJub1RpbWVTY2FsZSI6IGZhbHNlLA0KICAidmFsdWVzVHJhY2tpbmciOiAiMSIsDQogICJjaGFuZ2VNb2RlIjogInByaWNlLWFuZC1wZXJjZW50IiwNCiAgImNoYXJ0VHlwZSI6ICJhcmVhIiwNCiAgIm1hTGluZUNvbG9yIjogIiMyOTYyRkYiLA0KICAibWFMaW5lV2lkdGgiOiAxLA0KICAibWFMZW5ndGgiOiA5LA0KICAibGluZVdpZHRoIjogMiwNCiAgImxpbmVUeXBlIjogMCwNCiAgImRhdGVSYW5nZXMiOiBbDQogICAgIjFkfDEiLA0KICAgICIxbXwzMCIsDQogICAgIjNtfDYwIiwNCiAgICAiMTJtfDFEIiwNCiAgICAiNjBtfDFXIiwNCiAgICAiYWxsfDFNIg0KICBdDQp9DQogIDwvc2NyaXB0Pg0KPC9kaXY+DQoNCg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPHNwYW4gY2xhc3M9ImNhcHRpb25EYXJrIGNlbnRlciI+QUNDT1VOVCBQQUNLQUdFUzwvc3Bhbj4NCjxkaXYgY2xhc3M9IndyYXAiPg0KICAgIDxkaXYgY2xhc3M9InJvdyI+DQogICAgICAgIDxkaXYgY2xhc3M9InJvdyI+DQogICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0gY29sNiI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGFuQ2FyZEZpcnN0Ij4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsZWZ0IiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKGltZy9jYXJkX2JnXzEucG5nKTsiPg0KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2FwIj5CUk9OWkU8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgIDxwPlBheW91dHMgd29uJ3RiZSBhdmFpbGFiZSB0aWxsIGVuZCBvZiBwbGFuIGR1cmF0aW9uIDwvcD4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGVzY3IiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPCEtLQ0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBjdCI+NDAlPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+MzYgSE9VUlM8L3NwYW4+LS0+DQogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJkYXNoYm9hcmQvcmVnaXN0ZXIucGhwDQogICAgICAgICIgY2xhc3M9ImJ0bkZpbGxDb2xvcjFNZCI+Q2hvb3NlIFRoaXMgUGxhbjwvYT4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJpbmZvIj4NCiAgICAgICAgICAgICAgICAgICAgPGxpPk1pbiBEZXBvc2l0IDxzcGFuPjUwMCBVU0Q8L3NwYW4+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgPGxpPk1pbiBXaXRoZHJhdyBBbW91bnQgPHNwYW4+MzAwIFVTRDwvc3Bhbj48L2xpPg0KICAgICAgICAgICAgICAgICAgICA8bGk+TWluIFdpdGhkcmF3IENyeXB0byBBbW91bnQgPHNwYW4+MzAwIFVTRDwvc3Bhbj48L2xpPg0KICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJub3RlcyI+DQogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJoYXZlIj5Gb3IgN2RheShzKTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImhhdmUiPjIuMiBkYWlseSBwZXJjZW50PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iaGF2ZSI+JDEsNDk5IG1heCBwcmljZTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImhhdmUiPk9yZGVyIE5vdGlmaWNhdGlvbnM8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJoYXZlIj4yJSBSZWZlcnJhbCBwZXJjZW50PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iaGF2ZSI+U3VwcG9ydCAyNC83PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iaGF2ZSI+VXBkYXRlczwvbGk+DQogICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSBjb2w2Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InBsYW5DYXJkU2Vjb25kIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsZWZ0IiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKGltZy9jYXJkX2JnXzIucG5nKTsiPg0KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2FwIj5TSUxWRVI8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgIDxwPlBheW91dHMgd29uJ3RiZSBhdmFpbGFiZSB0aWxsIGVuZCBvZiBwbGFuIGR1cmF0aW9uIDwvcD4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGVzY3IiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPCEtLQ0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBjdCI+MjAlPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+MjQgSE9VUlM8L3NwYW4+LS0+DQogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJkYXNoYm9hcmQvcmVnaXN0ZXIucGhwDQogICAgICAgICIgY2xhc3M9ImJ0bkZpbGxDb2xvcjJNZCI+Q2hvb3NlIFRoaXMgUGxhbjwvYT4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJpbmZvIj4NCiAgICAgICAgICAgICAgICAgICAgPGxpPk1pbiBEZXBvc2l0IDxzcGFuPjEsNTAwIFVTRDwvc3Bhbj48L2xpPg0KICAgICAgICAgICAgICAgICAgICA8bGk+TWluIFdpdGhkcmF3IEFtb3VudCA8c3Bhbj4xLDAwMCBVU0Q8L3NwYW4+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgPGxpPk1pbiBXaXRoZHJhdyBDcnlwdG8gQW1vdW50IDxzcGFuPjEsMDAwIFVTRDwvc3Bhbj48L2xpPg0KICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJub3RlcyI+DQogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJoYXZlIj5Gb3IgN2RheShzKTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImhhdmUiPjIuNSBkYWlseSBwZXJjZW50PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iaGF2ZSI+JDMsNDk5IG1heCBwcmljZTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImhhdmUiPk9yZGVyIE5vdGlmaWNhdGlvbnM8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJoYXZlIj4yJSBSZWZlcnJhbCBwZXJjZW50PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iaGF2ZSI+U3VwcG9ydCAyNC83PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iaGF2ZSI+VXBkYXRlczwvbGk+DQogICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCjxocj4NCiAgICA8ZGl2IGNsYXNzPSJyb3ciPg0KICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtIGNvbDYiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0icGxhbkNhcmRGaXJzdCI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGVmdCIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybChpbWcvY2FyZF9iZ18xLnBuZyk7Ij4NCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhcCI+R09MRCBQTEFOPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICA8cD5QYXlvdXRzIHdvbid0YmUgYXZhaWxhYmUgdGlsbCBlbmQgb2YgcGxhbiBkdXJhdGlvbiA8L3A+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRlc2NyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwY3QiPjQwJTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjM2IEhPVVJTPC9zcGFuPi0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iZGFzaGJvYXJkL3JlZ2lzdGVyLnBocA0KICAgICAgICAiIGNsYXNzPSJidG5GaWxsQ29sb3IxTWQiPkNob29zZSBUaGlzIFBsYW48L2E+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iaW5mbyI+DQogICAgICAgICAgICAgICAgICAgIDxsaT5NaW4gRGVwb3NpdCA8c3Bhbj4zLDUwMCBVU0Q8L3NwYW4+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgPGxpPk1pbiBXaXRoZHJhdyBBbW91bnQgPHNwYW4+MywwMDAgVVNEPC9zcGFuPjwvbGk+DQogICAgICAgICAgICAgICAgICAgIDxsaT5NaW4gV2l0aGRyYXcgQ3J5cHRvIEFtb3VudCA8c3Bhbj4zLDAwMCBVU0Q8L3NwYW4+PC9saT4NCiAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibm90ZXMiPg0KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iaGF2ZSI+Rm9yIDdkYXkocyk8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJoYXZlIj4yLjc1IGRhaWx5IHBlcmNlbnQ8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJoYXZlIj4kNiw0OTkgbWF4IHByaWNlPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iaGF2ZSI+T3JkZXIgTm90aWZpY2F0aW9uczwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImhhdmUiPjMlIFJlZmVycmFsIHBlcmNlbnQ8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJoYXZlIj5TdXBwb3J0IDI0Lzc8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJoYXZlIj5VcGRhdGVzPC9saT4NCiAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtIGNvbDYiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0icGxhbkNhcmRTZWNvbmQiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxlZnQiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1nL2NhcmRfYmdfMi5wbmcpOyI+DQogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXAiPlBSRU1JVU0gUExBTjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgPHA+UGF5b3V0cyB3b24ndGJlIGF2YWlsYWJlIHRpbGwgZW5kIG9mIHBsYW4gZHVyYXRpb24gPC9wPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXNjciI+DQogICAgICAgICAgICAgICAgICAgICAgICA8IS0tDQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icGN0Ij41MCU8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj40OCBIT1VSUzwvc3Bhbj4tLT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImRhc2hib2FyZC9yZWdpc3Rlci5waHANCiAgICAgICAgIiBjbGFzcz0iYnRuRmlsbENvbG9yMk1kIj5DaG9vc2UgVGhpcyBQbGFuPC9hPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImluZm8iPg0KICAgICAgICAgICAgICAgICAgICA8bGk+TWluIERlcG9zaXQgPHNwYW4+NSwwMDAgVVNEPC9zcGFuPjwvbGk+DQogICAgICAgICAgICAgICAgICAgIDxsaT5NaW4gV2l0aGRyYXcgRUMgQW1vdW50IDxzcGFuPjQsNTAwIFVTRDwvc3Bhbj48L2xpPg0KICAgICAgICAgICAgICAgICAgICA8bGk+TWluIFdpdGhkcmF3IENyeXB0byBBbW91bnQgPHNwYW4+NSwwMDAgVVNEPC9zcGFuPjwvbGk+DQogICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5vdGVzIj4NCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImhhdmUiPkZvciA3ZGF5KHMpPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iaGF2ZSI+My41IGRhaWx5IHBlcmNlbnQ8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJoYXZlIj4kOSw5OTkgbWF4IHByaWNlPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iaGF2ZSI+T3JkZXIgTm90aWZpY2F0aW9uczwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImhhdmUiPjMuMiUgUmVmZXJyYWwgcGVyY2VudDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImhhdmUiPlN1cHBvcnQgMjQvNzwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImhhdmUiPlVwZGF0ZXM8L2xpPg0KICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQo8aHI+DQogICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0gY29sNiI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGFuQ2FyZFNlY29uZCI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGVmdCIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybChpbWcvY2FyZF9iZ18yLnBuZyk7Ij4NCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhcCI+RU1FUkFMRCBQTEFOPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICA8cD5QYXlvdXRzIHdvbid0YmUgYXZhaWxhYmUgdGlsbCBlbmQgb2YgcGxhbiBkdXJhdGlvbiA8L3A+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRlc2NyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwY3QiPjUwJTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjQ4IEhPVVJTPC9zcGFuPi0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iZGFzaGJvYXJkL3JlZ2lzdGVyLnBocA0KICAgICAgICAiIGNsYXNzPSJidG5GaWxsQ29sb3IyTWQiPkNob29zZSBUaGlzIFBsYW48L2E+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iaW5mbyI+DQogICAgICAgICAgICAgICAgICAgIDxsaT5NaW4gRGVwb3NpdCA8c3Bhbj4xMCwwMDAgVVNEPC9zcGFuPjwvbGk+DQogICAgICAgICAgICAgICAgICAgIDxsaT5NaW4gV2l0aGRyYXcgRUMgQW1vdW50IDxzcGFuPjksNTAwIFVTRDwvc3Bhbj48L2xpPg0KICAgICAgICAgICAgICAgICAgICA8bGk+TWluIFdpdGhkcmF3IENyeXB0byBBbW91bnQgPHNwYW4+OSw1MDAgVVNEPC9zcGFuPjwvbGk+DQogICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5vdGVzIj4NCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImhhdmUiPkZvciA3ZGF5KHMpPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iaGF2ZSI+My43NSBkYWlseSBwZXJjZW50PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iaGF2ZSI+JDIwLDAwMCBtYXggcHJpY2U8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJoYXZlIj5PcmRlciBOb3RpZmljYXRpb25zPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iaGF2ZSI+NCUgUmVmZXJyYWwgcGVyY2VudDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImhhdmUiPlN1cHBvcnQgMjQvNzwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImhhdmUiPlVwZGF0ZXM8L2xpPg0KICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgDQoNCiAgICAgICAgPHN0eWxlPg0KICAgICAgICAgICAgLmJvcmRlcmZvci10ZXh0ZmllbGQgew0KICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICFpbXBvcnRhbnQ7DQogICAgICAgICAgICB9DQogICAgICAgIDwvc3R5bGU+DQogICAgICAgIDxzdHlsZT4NCiAgICAgICAgICAgIC5mb250IHsNCiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgPC9zdHlsZT4NCg0KDQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dEJsb2NrIj4NCg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHRCbG9jayBjb250YWluZXIiPg0KICAgICAgICAgICAgICAgICAgICA8cD4tPGJyPjxicj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjZW50ZXI+PGI+Rk9SRVggVFJBRElORyBQTEFOPC9iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjZW50ZXI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxicj48YnI+IDxiPklOIDI0N29wdGlvbnRyYWRlZngsIFdFIEhBVkUgRUFSTkVEIFRIRSBSSUdIVCBUTyBIRUxQIFBFT1BMRQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJBREUgRk9SRUlHTiBFWENIQU5HRVMgV0hJQ0ggRU5BQkxFUyBUSEVNIEdFVCBBIEdPT0QgUFJPRklUIFJFVFVSTjwvYj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyPjxicj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJdCdzIGFsbCBhYm91dCBtYWtpbmcgdGhlIHJpZ2h0IHZhbHVhdGlvbiBhbmQgcHJlZGljdGlvbiBvbiB0aGUgc3RvY2sgbWFya2V0DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsaW5nIHlvdSB0byBlYXJuIGEgc3VmZmljaWVudCBhbW91bnQgb2YgbW9uZXkgd2hlbiB0aGUgdHJhZGUgaXMgZ29vZCwgaXQncw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3QgbWFnaWMgdGhhdCdzIHRoZSBiYXNpcyBvZiB3aGF0IEZPUkVYIGlzIGFsbCBhYm91dA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNvIGVzc2VudGlhbGx5IHdlIGhlbHAgeW91IG1ha2UgbW9uZXkgdGhyb3VnaCBvdXIgZXhwZXJ0IHRyYWRlcnMgd29ya2luZyB3aXRoDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSB3b3JsZCBiZXN0IGJyb2tlcnMgd2hvIGhlbHBzIHRvIGFuYWx5emUgdGhlIG1hcmtldCBhbmQgd2hhdCBwb3NzaWJseSB3aWxsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhcHBlbiBpbiB0aGUgbWFya2V0DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxicj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb3IgaW5zdGFuY2UsIHlvdSBjYW4gZ2VuZXJhdGUgYXMgbXVjaCBhcyA0MDAwJCBieSB0cmFkaW5nIHdpdGggNTAwJCBpbiBhIHdlZWsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiB5b3UgYXJlIHRyb3VibGVkIGFib3V0IHlvdXIgaW5leHBlcmllbmNlIGFuZCBhbGwsIHRoYXQncyB3aGVyZSB3ZSBjb21lIGluLg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaHJvdWdoIG91ciBleHBlcnRzIHdlIGhlbHAgeW91IGRvIHRoZSB0cmFkaW5nIHdoaWNoIGluY2x1ZGVzPGJyPjxicj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4gV2F0Y2hpbmcsIG1vbml0b3JpbmcgYW5kIGFuYWx5emluZyB0aGUgbWFya2V0IHZlcnkgd2VsbDxicj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMi4gY2hvb3NpbmcgYSB3ZWxsIGJhbGFuY2VkIGxvdCBzaXplIHdoaWNoIG1hdGNoZXMgeW91ciBhY2NvdW50IHRvIHByZXZlbnQgbG9zcw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMuIERlY2lkaW5nIHRoZSBwaXAgdGhhdCB3aWxsIHlpZWxkIGEgcHJvZml0YWJsZSBkYWlseSByZXR1cm48YnI+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC4gUGxhY2luZyBhbmQgbW9uaXRvcmluZyB0aGUgb3JkZXINCg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCB3ZSBjcmVhdGUgYW4gYXZlbnVlIHdoaWNoIGVuYWJsZXMgeW91IGNoZWNrIHlvdXIgcHJvZ3Jlc3MgYXQgdGhlIGVuZCBvZg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVyeSBkYXkgdG8gc2VlIGhvdyBpdCdzIG1vdmluZywgUXVpdGUgZmFpciBpc24ndCBpdC48YnI+PGJyPjxiPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUkFESU5HIFBMQU5TIElOQ0xVREVTDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdFRUtMWSBUUkFESU5HIFBMQU4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW0gJDEwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW11bSBVTkxJTUlURUQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnI+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTk9URTogWU9VUiBQUk9GSVQgSVMgTk9UIENPTlNUQU5UIElOIFRIRSBTRU5TRSBUSEFUIFRIRSBJTlZFU1RNRU5UIFBMQU4gWU9VDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENIT09TRSBXSUxMIERFVEVSTUlORSBIT1cgTVVDSCBQUk9GSVQgSU4gUkVUVVJOIFlPVSBXSUxMIEdFVA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElOIEVTU0VOQ0UsIFRIRSBCSUdHRVIgWU9VUiBJTlZFU1RNRU5UIE9OIEVBQ0ggUExBTiBZT1UgT1BURUQgRk9SIFRIRSBCSUdHRVINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWU9VUiBJTkNPTUUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPkhPVyBXRSAoMjQ3b3B0aW9udHJhZGVmeCkgTFREIEVBUk48L2I+PGJyPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdFIEVBUk4gQVMgV0UgSEVMUCBZT1UgRUFSTiwgRE9OJ1QgR0VUIElUIFRXSVNURUQuIFdFIE9OTFkgVEFLRSAxMCUgT0YgWU9VUg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUVLTFkgUFJPRklUIEFGVEVSIEFTU0lTVElORyBZT1UgTUFLRSBBIEdPT0QgQUNDVU1VTEFURUQgV0VFS0xZIFBST0ZJVC4NCiAgICAgICAgICAgICAgICAgICAgPC9jZW50ZXI+PC9jZW50ZXI+PC9wPjxicj48YnI+DQogICAgICAgICAgICAgICAgPC9kaXY+DQoNCg0KICAgICAgICAgICAgICAgIDwhLS08ZGl2IGNsYXNzPSJpdGVtIGNvbDYiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGFuQ2FyZEZpcnN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxlZnQiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1nL2NhcmRfYmdfMi5wbmcpOyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhcCI+UFJPRkVTU0lPTkFMIFBMQU48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGVzY3IiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJkYXNoYm9hcmQvcmVnaXN0ZXIiIGNsYXNzPSJidG5GaWxsQ29sb3IyTWQiPk1ha2UgZGVwb3NpdDwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJpbmZvIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+TWluIERlcG9zaXQgPHNwYW4+MjAwMDAgVVNEPC9zcGFuPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPk1heCBEZXBvc2l0IDxzcGFuPjQ5MDAwIFVTRDwvc3Bhbj48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5NaW4gV2l0aGRyYXcgRUMgQW1vdW50IDxzcGFuPjUwMDAwIFVTRDwvc3Bhbj48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5NaW4gV2l0aGRyYXcgQ3J5cHRvIEFtb3VudCA8c3Bhbj41MDAwMCBVU0Q8L3NwYW4+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5vdGVzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+MjQvNyBzdXBwb3J0PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+UmlzayBNYW5hZ2VtZW50PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+RnJlZSBTaWduYWw8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5VbmxpbWl0ZWQgU3VwcG9ydDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtIGNvbDYiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGFuQ2FyZFNlY29uZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsZWZ0IiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKGltZy9jYXJkX2JnXzIucG5nKTsiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXAiPk1BWCBQTEFOPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRlc2NyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iZGFzaGJvYXJkL3JlZ2lzdGVyIiBjbGFzcz0iYnRuRmlsbENvbG9yMk1kIj5NYWtlIGRlcG9zaXQ8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iaW5mbyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPk1pbiBEZXBvc2l0IDxzcGFuPjUwMDAwIFVTRDwvc3Bhbj48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5NYXggRGVwb3NpdCA8c3Bhbj5VTkxJTUlURUQgVVNEPC9zcGFuPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPk1pbiBXaXRoZHJhdyBFQyBBbW91bnQgPHNwYW4+MTAwMDAwIFVTRDwvc3Bhbj48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5NaW4gV2l0aGRyYXcgQ3J5cHRvIEFtb3VudCA8c3Bhbj4xMDAwMDAgVVNEPC9zcGFuPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJub3RlcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjI0Lzcgc3VwcG9ydDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlJpc2sgTWFuYWdlbWVudDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPkZyZWUgU2lnbmFsPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+VW5saW1pdGVkIFN1cHBvcnQ8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+LS0+DQogICAgICAgICAgICA8L2Rpdj4NCg0KDQoNCiAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQo8L2Rpdj4NCg0KPGRpdiBjbGFzcz0icGxhblByb2ZpdCBncmFkQmFjayI+DQogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgPGRpdiBjbGFzcz0iY2ZpeCI+DQogICAgICAgICAgICA8Zm9ybSBvbnN1Ym1pdD0icmV0dXJuIGNhbGMoKSI+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZm9ybV9pZCIgdmFsdWU9IjE1ODQwMjcyODUzNTU2Ij4NCiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImZvcm1fdG9rZW4iIHZhbHVlPSIiPg0KICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZm9ybV9pZCIgdmFsdWU9IiI+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZm9ybV90b2tlbiIgdmFsdWU9IiI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybUJsb2NrTGlnaHQiPg0KICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJjYWxjX2Ftb3VudCI+QW1vdW50OjwvbGFiZWw+DQogICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZW50ZXJOdW0iIHR5cGU9Im51bWJlciIgbWluPSIyMCIgbWF4PSIxOTkiIHZhbHVlPSIiIGlkPSJjYWxjX2Ftb3VudCI+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybUJsb2NrTGlnaHQiPg0KICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJjYWxjX3BsYW4iPkNob29zaW5nIG9mIHBsYW46PC9sYWJlbD4NCiAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBuYW1lPSJjaG9vc2VQbGFuIiBpZD0iY2FsY19wbGFuIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjEiIGRhdGEtbWluPSI1MDAiIGRhdGEtbWF4PSI0OTk5IiBkYXRhLXBlcmM9IjUwIiBkYXRhLXBlcj0iMSIgY2hlY2tlZD0iIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVEFSVEVSPC9vcHRpb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSIyIiBkYXRhLW1pbj0iNTAwMCIgZGF0YS1tYXg9Ijk5OTkiIGRhdGEtcGVyYz0iNzAiIGRhdGEtcGVyPSIxIj5QUkVNSVVNDQogICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjMiIGRhdGEtbWluPSIyMDAwMCIgZGF0YS1tYXg9IjQ5OTk5IiBkYXRhLXBlcmM9IjgwIiBkYXRhLXBlcj0iMSI+RUxJVEUNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iNCIgZGF0YS1taW49IjUwMDAwIiBkYXRhLW1heD0iNTAwMDAwIiBkYXRhLXBlcmM9IjEyMCIgZGF0YS1wZXI9IjEiPlZJUA0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxvcHRpb24gdmFsdWU9IjQiIGRhdGEtbWluPSIyMDAwMCIgZGF0YS1tYXg9IjQ5MDAwIiBkYXRhLXBlcmM9IjE1MCIgZGF0YS1wZXI9IjEiPlBST0ZFU1NJT05BTA0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSI0IiBkYXRhLW1pbj0iNTAwMDAiIGRhdGEtbWF4PSIxMDAwMDAwMCIgZGF0YS1wZXJjPSIxNTAiIGRhdGEtcGVyPSIxIj5NQVgNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPiAtLT4NCiAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VtIj4NCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aXRsZSI+RXhwZWN0ZWQgWW91ciBwcm9maXQ6PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibnVtIj48YiBpZD0icHJvZml0Ij4wLjAwPC9iPiBVU0Q8L3NwYW4+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgaWQ9ImNhbGNfYnRuIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPg0KICAgICAgICAgICAgPC9mb3JtPg0KICAgICAgICAgICAgPGEgaHJlZj0iZGFzaGJvYXJkL3JlZ2lzdGVyLnBocCIgY2xhc3M9ImJ0bkZpbGxEYXJrTWQiPkdldCBtb25leTwvYT4NCiAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQo8L2Rpdj4NCg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIGZ1bmN0aW9uIGNhbGMoKSB7DQogICAgICAgIHBlcmNlbnQgPSBqUXVlcnkoJyNjYWxjX3BsYW4gb3B0aW9uOmNoZWNrZWQnKS5kYXRhKCdwZXJjJyk7DQogICAgICAgIHBlcmlvZCA9IGpRdWVyeSgnI2NhbGNfcGxhbiBvcHRpb246Y2hlY2tlZCcpLmRhdGEoJ3BlcicpOw0KICAgICAgICBhbW91bnQgPSBqUXVlcnkoJyNjYWxjX2Ftb3VudCcpLnZhbCgpOw0KICAgICAgICBqUXVlcnkoJyNwcm9maXQnKS5odG1sKChwZXJpb2QgKiBhbW91bnQgKiBwZXJjZW50IC8gMTAwKS50b0ZpeGVkKDIpKTsNCiAgICB9DQoNCiAgICBqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkgew0KICAgICAgICBjYWxjKCk7DQoNCiAgICAgICAgalF1ZXJ5KCcjY2FsY19hbW91bnQnKS5vbignY2hhbmdlIGtleXVwJywgZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBjYWxjKCk7DQogICAgICAgIH0pOw0KDQogICAgICAgIGpRdWVyeSgnI2NhbGNfcGxhbicpLm9uKCdjaGFuZ2UnLCBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIGpRdWVyeSgnI2NhbGNfYW1vdW50JykudmFsKGpRdWVyeSgnI2NhbGNfcGxhbiBvcHRpb246Y2hlY2tlZCcpLmRhdGEoJ21pbicpKTsNCiAgICAgICAgICAgIGpRdWVyeSgnI2NhbGNfYW1vdW50JykuYXR0cignbWluJywgalF1ZXJ5KCcjY2FsY19wbGFuIG9wdGlvbjpjaGVja2VkJykuZGF0YSgnbWluJykpOw0KICAgICAgICAgICAgalF1ZXJ5KCcjY2FsY19hbW91bnQnKS5hdHRyKCdtYXgnLCBqUXVlcnkoJyNjYWxjX3BsYW4gb3B0aW9uOmNoZWNrZWQnKS5kYXRhKCdtYXgnKSk7DQoNCiAgICAgICAgICAgIGNhbGMoKTsNCiAgICAgICAgfSk7DQogICAgfSkNCjwvc2NyaXB0Pg0KDQo8ZGl2IGNsYXNzPSJwcm9ncmFtIGdyYWRCYWNrIGdyZXlJbWdSZXYiPg0KICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogICAgICAgIDxzcGFuIGNsYXNzPSJjYXB0aW9uRGFyayBjZW50ZXIiPkFmZmlsaWF0ZSBwcm9ncmFtPC9zcGFuPg0KICAgICAgICA8ZGl2IGNsYXNzPSJ3cmFwIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSBjb2w2Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3JJbmZvRmlyc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5uZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJudW0iPjY8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+MVNUIDxicj5MRVZFTDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icGN0Ij4lPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0gY29sNiI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dySW5mb1NlY29uZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbm5lciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im51bSI+MTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4yTkQgPGJyPkxFVkVMPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwY3QiPiU8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhbXAiPiY8L3NwYW4+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0QmxvY2siPg0KICAgICAgICAgICAgPHA+MjQ3b3B0aW9udHJhZGVmeCBhcHByZWNpYXRlcyB0aGVpciBhY3RpdmUgcGFydG5lcnMgdGhhdCBoZWxwIHVzIGRldmVsb3AgYW5kDQogICAgICAgICAgICAgICAgYWR2YW5jZSBvdXIgY29tcGFueS4gQXMgYSB0aGFuayB5b3UgZm9yIGVhY2ggbmV3bHkgaW52aXRlZCBwYXJ0aWNpcGFudCBpbiB0aGUgcHJvamVjdCwgd2UgY2hhcmdlDQogICAgICAgICAgICAgICAgcmVmZXJyYWwgY29tbWlzc2lvbnMgdG8gdGhlaXIgc3BvbnNvcnMuIEluIGFkZGl0aW9uLCBpZiB5b3VyIGludml0ZWVzIHdpbGwgYWxzbyBkZXZlbG9wIG91cg0KICAgICAgICAgICAgICAgIGNvbXBhbnksIHlvdSB3aWxsIGFsc28gZ2V0IGV2ZW4gbW9yZSBib251c2VzIGZvciBpdCE8L3A+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8YSBocmVmPSJhZmZpbGlhdGUucGhwIiBjbGFzcz0iYnRuRmlsbEdyYWRMZyBjZW50ZXIiPkxlYXJuIE1vcmU8L2E+DQoNCiAgICAgICAgPGRpdiBjbGFzcz0iY2ZpeCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0aXN0aWMiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW1nIj48c3BhbiBjbGFzcz0iaWNvbi1kYXRlIj48L3NwYW4+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGl0bGUiPk9ubGluZSBEYXlzOjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJudW0iPjcwPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbWciPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLXByb2ZpbGUiPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpdGxlIj5PbmxpbmUgVXNlcnM6PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im51bSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbWluID0gNjIyNzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1heCA9IDIwMjczOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmFuZG9tID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKCttYXggLSArbWluKSkgKyArbWluOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC53cml0ZSgiIiArIHJhbmRvbSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zY3JpcHQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbWciPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLXBheV9pbiI+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGl0bGUiPnRvdGFsIHdpdGhkcmF3YWxzOjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJudW0iPjk5NzI3OTM4PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbWciPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLXBheV9vdXQiPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpdGxlIj50b3RhbCBkZXBvc2l0czo8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibnVtIj40NTQ3NjEwPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbWciPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLXBhcnRuZXIiPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpdGxlIj50b3RhbCB1c2Vyczo8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibnVtIj41MTAwPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdFRibCI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSBjb2w2Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPmxhc3QgZGVwb3NpdDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRhYmxlIGZ1bGwgaW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRSb3ciPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRDZWxsIG1pZGRsZSBuYW1lIj5nYXJ5PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRDZWxsIG1pZGRsZSBkYXRlIj5GcmlkYXkgMTB0aCBvZiBPY3QgMjAyNTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Q2VsbCBtaWRkbGUgc3VtIj4kDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbWluID0gOTI3Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbWF4ID0gNjI3MzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJhbmRvbSA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqICgrbWF4IC0gK21pbikpICsgK21pbjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQud3JpdGUoIiIgKyByYW5kb20pOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2NyaXB0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Q2VsbCBib3R0b20gcmlnaHQgcGF5Ij48aW1nIHNyYz0iaW1nL3BzX2IvMTAwMC5wbmciIGFsdD0icGF5Ij48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idFJvdyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idENlbGwgbWlkZGxlIG5hbWUiPkFtZTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Q2VsbCBtaWRkbGUgZGF0ZSI+RnJpZGF5IDEwdGggb2YgT2N0IDIwMjU8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idENlbGwgbWlkZGxlIHN1bSI+JA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1pbiA9IDUzNDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1heCA9IDExNDMwOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmFuZG9tID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKCttYXggLSArbWluKSkgKyArbWluOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC53cml0ZSgiIiArIHJhbmRvbSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zY3JpcHQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRDZWxsIGJvdHRvbSByaWdodCBwYXkiPjxpbWcgc3JjPSJpbWcvcHNfYi8xMDAwLnBuZyIgYWx0PSJwYXkiPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0Um93Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Q2VsbCBtaWRkbGUgbmFtZSI+amVycnkyMTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Q2VsbCBtaWRkbGUgZGF0ZSI+RnJpZGF5IDEwdGggb2YgT2N0IDIwMjU8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idENlbGwgbWlkZGxlIHN1bSI+JA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1pbiA9IDg0NzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1heCA9IDI2NDU7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByYW5kb20gPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAoK21heCAtICttaW4pKSArICttaW47DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LndyaXRlKCIiICsgcmFuZG9tKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NjcmlwdD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idENlbGwgYm90dG9tIHJpZ2h0IHBheSI+PGltZyBzcmM9ImltZy9wc19iLzEwMDAucG5nIiBhbHQ9InBheSI+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRSb3ciPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRDZWxsIG1pZGRsZSBuYW1lIj5Sa3VtYmhhcjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Q2VsbCBtaWRkbGUgZGF0ZSI+RnJpZGF5IDEwdGggb2YgT2N0IDIwMjU8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idENlbGwgbWlkZGxlIHN1bSI+JA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1pbiA9IDI3Mjc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBtYXggPSAxMDI3MzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJhbmRvbSA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqICgrbWF4IC0gK21pbikpICsgK21pbjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQud3JpdGUoIiIgKyByYW5kb20pOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2NyaXB0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Q2VsbCBib3R0b20gcmlnaHQgcGF5Ij48aW1nIHNyYz0iaW1nL3BzX2IvMTAwMC5wbmciIGFsdD0icGF5Ij48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idFJvdyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idENlbGwgbWlkZGxlIG5hbWUiPkphenpfOTk8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idENlbGwgbWlkZGxlIGRhdGUiPkZyaWRheSAxMHRoIG9mIE9jdCAyMDI1PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRDZWxsIG1pZGRsZSBzdW0iPiQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBtaW4gPSA0Mjc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBtYXggPSA2MjczOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmFuZG9tID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKCttYXggLSArbWluKSkgKyArbWluOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC53cml0ZSgiIiArIHJhbmRvbSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zY3JpcHQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRDZWxsIGJvdHRvbSByaWdodCBwYXkiPjxpbWcgc3JjPSJpbWcvcHNfYi8xMDAwLnBuZyIgYWx0PSJwYXkiPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KDQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0gY29sNiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbm5lciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5sYXN0IFdJVEhEUkFXQUxTPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0idGFibGUgZnVsbCBvdXQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tLS0NCiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0Um93Ij4NCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idENlbGwgbWlkZGxlIG5hbWUiPlRFU1Q8L3NwYW4+DQogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRDZWxsIG1pZGRsZSBkYXRlIj5URVNUPC9zcGFuPg0KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Q2VsbCBtaWRkbGUgc3VtIj5URVNUPC9zcGFuPg0KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Q2VsbCBib3R0b20gcmlnaHQgcGF5Ij5URVNUPC9zcGFuPg0KICAgICAgICAgICAgPC9saT4tLS0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRSb3ciPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRDZWxsIG1pZGRsZSBuYW1lIj5KYW5lPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRDZWxsIG1pZGRsZSBkYXRlIj5GcmlkYXkgMTB0aCBvZiBPY3QgMjAyNTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Q2VsbCBtaWRkbGUgc3VtIj4kDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbWluID0gMjQ4Mjc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBtYXggPSA3MDI3MzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJhbmRvbSA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqICgrbWF4IC0gK21pbikpICsgK21pbjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQud3JpdGUoIiIgKyByYW5kb20pOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2NyaXB0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Q2VsbCBib3R0b20gcmlnaHQgcGF5Ij48aW1nIHNyYz0iaW1nL3BzX2IvMTAwMC5wbmciIGFsdD0icGF5Ij48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idFJvdyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idENlbGwgbWlkZGxlIG5hbWUiPkRvbGFwbzwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Q2VsbCBtaWRkbGUgZGF0ZSI+RnJpZGF5IDEwdGggb2YgT2N0IDIwMjU8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idENlbGwgbWlkZGxlIHN1bSI+JA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1pbiA9IDQyODI3Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbWF4ID0gNjMyNzM7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByYW5kb20gPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAoK21heCAtICttaW4pKSArICttaW47DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LndyaXRlKCIiICsgcmFuZG9tKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NjcmlwdD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idENlbGwgYm90dG9tIHJpZ2h0IHBheSI+PGltZyBzcmM9ImltZy9wc19iLzEwMDAucG5nIiBhbHQ9InBheSI+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRSb3ciPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRDZWxsIG1pZGRsZSBuYW1lIj5JY2hraTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Q2VsbCBtaWRkbGUgZGF0ZSI+RnJpZGF5IDEwdGggb2YgT2N0IDIwMjU8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idENlbGwgbWlkZGxlIHN1bSI+JA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1pbiA9IDczNDUyOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbWF4ID0gOTQ3NjM7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByYW5kb20gPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAoK21heCAtICttaW4pKSArICttaW47DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LndyaXRlKCIiICsgcmFuZG9tKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NjcmlwdD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idENlbGwgYm90dG9tIHJpZ2h0IHBheSI+PGltZyBzcmM9ImltZy9wc19iLzEwMDAucG5nIiBhbHQ9InBheSI+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRSb3ciPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRDZWxsIG1pZGRsZSBuYW1lIj5DbGludG9uPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRDZWxsIG1pZGRsZSBkYXRlIj5GcmlkYXkgMTB0aCBvZiBPY3QgMjAyNTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Q2VsbCBtaWRkbGUgc3VtIj4kDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbWluID0gMTA4Mjc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBtYXggPSA5MDI3MzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJhbmRvbSA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqICgrbWF4IC0gK21pbikpICsgK21pbjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQud3JpdGUoIiIgKyByYW5kb20pOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2NyaXB0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Q2VsbCBib3R0b20gcmlnaHQgcGF5Ij48aW1nIHNyYz0iaW1nL3BzX2IvMTAwMC5wbmciIGFsdD0icGF5Ij48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idFJvdyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idENlbGwgbWlkZGxlIG5hbWUiPkFubjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Q2VsbCBtaWRkbGUgZGF0ZSI+RnJpZGF5IDEwdGggb2YgT2N0IDIwMjU8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idENlbGwgbWlkZGxlIHN1bSI+JA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1pbiA9IDQyODI3Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbWF4ID0gNjMyNzM7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByYW5kb20gPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAoK21heCAtICttaW4pKSArICttaW47DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LndyaXRlKCIiICsgcmFuZG9tKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NjcmlwdD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idENlbGwgYm90dG9tIHJpZ2h0IHBheSI+PGltZyBzcmM9ImltZy9wc19iLzEwMDAucG5nIiBhbHQ9InBheSI+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJjaXJjbGVCZyI+DQogICAgICAgIDxkaXYgY2xhc3M9ImNpcmNsZSI+PC9kaXY+DQogICAgPC9kaXY+DQo8L2Rpdj4NCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQo8YnI+PGJyPjxicj4NCjxicj4NCjxzdHlsZT4NCiAgICAqew0KICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3gNCiAgICB9DQogICAgLmJvZHkxew0KICAgIG1hcmdpbjogMDsNCiAgICBwYWRkaW5nOiAwOw0KICAgIGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7DQogICAgZm9udC13ZWlnaHQ6IDEwMDsNCiAgICBjb2xvcjogIzc3NzsNCiAgICB9DQogICAgLmNvbnRhaW5lcjF7DQogICAgYmFja2dyb3VuZDogcmdiKDIzNywgMjM5LCAyNDApOw0KICAgIC8qIGhlaWdodDogMTAwdmg7ICovDQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KICAgIH0NCg0KICAgIC50ZXN0aW1vbmlhbC1jYXJkMXsNCiAgICBtaW4taGVpZ2h0OiA0MDBweDsNCiAgICB3aWR0aDogMzUwcHg7DQogICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7DQogICAgYm9yZGVyLXJhZGl1czogMTBweDsNCiAgICBib3gtc2hhZG93OiAwIDhweCAzMHB4IHJnYmEoMCwwLDAsLjMpOw0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgZmxleC1mbG93OiBjb2x1bW47DQogICAgbWFyZ2luOjdweCAxNHB4Ow0KICAgIGp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOw0KICAgIA0KICAgIH0NCiAgICAudGV4dDF7DQogICAgICAgIGNvbG9yOmJsYWNrOw0KICAgICAgICBmb250LXdlaWdodDpib2xkOw0KICAgIHBhZGRpbmc6IDIuMmVtOw0KICAgIGxpbmUtaGVpZ2h0OiAxLjdlbTsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgZm9udC1zaXplOiAxOHB4Ow0KICAgIH0NCiAgICAuaW1hZ2Uxew0KICAgIGJhY2tncm91bmQtY29sb3I6dG9tYXRvOw0KICAgIGhlaWdodDogMTIwcHg7DQogICAgd2lkdGg6IDEyMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDUwJTsNCiAgICBib3JkZXI6IDVweCBzb2xpZCB3aGl0ZTsNCiAgICBiYWNrZ3JvdW5kOm5vLXJlcGVhdCBjZW50ZXIvY292ZXIgdXJsKGZhdmljb24ucG5nKTsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdG9wOiAtNTAlOw0KICAgIGxlZnQ6IDUwJTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7DQogICAgZGlzcGxheTpmbGV4Ow0KICAgIGp1c3RpZnktY29udGVudDpjZW50ZXI7DQogICAgDQogICAgfQ0KDQogICAgLmZvb3RlcjF7DQogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjMWEyQjk2IDAlLCAjZDIyQjk2IDEwMCUpOw0KICAgIGhlaWdodDogMTQwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDEwcHggMTBweDsNCiAgICBwb3NpdGlvbjpyZWxhdGl2ZTsNCiAgICANCiAgICB9DQoNCiAgICAucXVvdGUxew0KICAgIGZvbnQtc2l6ZTogNDAwJTsNCiAgICBmbG9hdDogcmlnaHQ7DQogICAgb3BhY2l0eTogLjE7DQogICAgdHJhbnNmb3JtOiByb3RhdGUoMTBkZWcpIHRyYW5zbGF0ZSgtMTBweCwgLTQwcHgpOw0KICAgIGNvbG9yOiM0RDNGQTM7DQogICAgfQ0KDQogICAgLnBlcnNvbjF7DQogICAgY29sb3I6d2hpdGU7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRvcDogNTAlOw0KICAgIGxlZnQ6IDUwJTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMTAwJSk7DQogICAgZm9udC1zaXplOjEuM3JlbTsNCiAgICBmb250LXdlaWdodDogNTAwOw0KICAgIH0NCjwvc3R5bGU+DQoNCg0KDQo8ZGl2IGNsYXNzPSJib2R5MSBwbGFuIHBhZ2UiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1nL2NoYXJ0X2JnLnBuZyksIHVybChpbWcvZ3JleV9iZy5wbmcpOyI+DQoNCjxzcGFuIGNsYXNzPSJjYXB0aW9uRGFyayBjZW50ZXIiPlRvcCBUZXN0aW1vbmllczwvc3Bhbj4NCjxicj48YnI+PGJyPg0KPCEtLSA8Ym9keTE+IC0tPg0KPGRpdiBjbGFzcz0iY29udGFpbmVyMSI+DQogIDxkaXYgY2xhc3M9InRlc3RpbW9uaWFsLWNhcmQxIj4NCiAgICA8ZGl2IGNsYXNzPSJ0ZXh0MSI+SSBnb3QgbXkgaW52ZXN0bWVudCByaWdodCBvbiB0aW1lIHdpbGwgYmUgaW52ZXN0aW5nIG1vcmUgbmV4dCB0aW1lPGkgY2xhc3M9ImZhcyBmYS1xdW90ZS1yaWdodCBxdW90ZSI+PC9pPjwvZGl2Pg0KICAgIA0KICAgIA0KICAgIA0KICAgIDxkaXYgY2xhc3M9ImZvb3RlcjEiPg0KICAgICAgPGRpdiBjbGFzcz0iaW1hZ2UxIj4NCiAgICAgICANCiAgICAgIDwvZGl2Pg0KICAgICAgIDxoMyBjbGFzcz0ncGVyc29uMSc+SmFtZXMgTGFua2EgPC9oMz4NCiAgICAgIA0KICAgICAgDQogICAgPC9kaXY+DQogIDwvZGl2Pg0KICA8ZGl2IGNsYXNzPSJ0ZXN0aW1vbmlhbC1jYXJkMSI+DQogICAgPGRpdiBjbGFzcz0idGV4dDEiPkkganVzdCBnb3QgbXkgcHJvZml0IEkgd2lsbCBpbnZpdGUgbW9yZSBmcmllbmRzIGFuZCBmYW1pbHkgPGkgY2xhc3M9ImZhcyBmYS1xdW90ZS1yaWdodCBxdW90ZSI+PC9pPjwvZGl2Pg0KICAgIA0KICAgIA0KICAgIA0KICAgIDxkaXYgY2xhc3M9ImZvb3RlcjEiPg0KICAgICAgPGRpdiBjbGFzcz0iaW1hZ2UxIj4NCiAgICAgICANCiAgICAgIDwvZGl2Pg0KICAgICAgIDxoMyBjbGFzcz0ncGVyc29uMSc+TWFyaWEgYW1vcjwvaDM+DQogICAgICANCiAgICAgIA0KICAgIDwvZGl2Pg0KICA8L2Rpdj4NCiAgPGRpdiBjbGFzcz0idGVzdGltb25pYWwtY2FyZDEiPg0KICAgIDxkaXYgY2xhc3M9InRleHQxIj5TbyBIYXBweSBUcmFkaW5nIHdpdGggdGhpcyBwbGF0Zm9ybTxpIGNsYXNzPSJmYXMgZmEtcXVvdGUtcmlnaHQgcXVvdGUiPjwvaT48L2Rpdj4NCiAgICANCiAgICANCiAgICANCiAgICA8ZGl2IGNsYXNzPSJmb290ZXIxIj4NCiAgICAgIDxkaXYgY2xhc3M9ImltYWdlMSI+DQogICAgICAgDQogICAgICA8L2Rpdj4NCiAgICAgICA8aDMgY2xhc3M9J3BlcnNvbjEnPkhhcnJpc29uIEtlbHZpbiA8L2gzPg0KICAgICAgDQogICAgICANCiAgICA8L2Rpdj4NCiAgPC9kaXY+DQo8L2Rpdj4NCg0KPCEtLSA8L2JvZHkxPiAtLT4NCg0KPC9kaXY+DQoNCg0KPGJyPjxicj4NCg0KDQoNCg0KDQoNCg0KDQo8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0QmxvY2siPg0KICAgICAgICAgICAgPCEtLSA8aDQ+TGl2ZSBNYXJrZXQgQ2hhcnQ8L2g0PiA8YnI+PGJyPiAtLT4NCjwhLS0gVHJhZGluZ1ZpZXcgV2lkZ2V0IEJFR0lOIC0tPg0KPGRpdiBjbGFzcz0idHJhZGluZ3ZpZXctd2lkZ2V0LWNvbnRhaW5lciI+DQogIDxkaXYgY2xhc3M9InRyYWRpbmd2aWV3LXdpZGdldC1jb250YWluZXJfX3dpZGdldCI+PC9kaXY+DQogIDxkaXYgY2xhc3M9InRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQiPjxhIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LmNvbS8iIHJlbD0ibm9vcGVuZXIgbm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIj48c3BhbiBjbGFzcz0iYmx1ZS10ZXh0Ij5UcmFjayBhbGwgbWFya2V0cyBvbiBUcmFkaW5nVmlldzwvc3Bhbj48L2E+PC9kaXY+DQogIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vczMudHJhZGluZ3ZpZXcuY29tL2V4dGVybmFsLWVtYmVkZGluZy9lbWJlZC13aWRnZXQtc2NyZWVuZXIuanMiIGFzeW5jPg0KICB7DQogICJ3aWR0aCI6IDExMDAsDQogICJoZWlnaHQiOiA1MTIsDQogICJkZWZhdWx0Q29sdW1uIjogIm92ZXJ2aWV3IiwNCiAgImRlZmF1bHRTY3JlZW4iOiAiZ2VuZXJhbCIsDQogICJtYXJrZXQiOiAiZm9yZXgiLA0KICAic2hvd1Rvb2xiYXIiOiB0cnVlLA0KICAiY29sb3JUaGVtZSI6ICJkYXJrIiwNCiAgImxvY2FsZSI6ICJlbiINCn0NCiAgPC9zY3JpcHQ+DQo8L2Rpdj4NCjwhLS0gVHJhZGluZ1ZpZXcgV2lkZ2V0IEVORCAtLT4NCg0KICAgDQo8YnI+DQoNCiAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQo8L2Rpdj4NCg0KDQo8ZGl2IGNsYXNzPSJhZHZUZW1wbCIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybChpbWcvYWR2X2JnLmpwZyk7Ij4NCiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KICAgICAgICA8YnI+DQogICAgICAgIDxzcGFuIGNsYXNzPSJjYXB0aW9uTGlnaHQgY2VudGVyIj5XaHkgY2hvb3NlIHVzPzwvc3Bhbj4NCiAgICAgICAgPGRpdiBjbGFzcz0iYWR2V3JhcCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtIGNvbDQiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1waG9uZSBncmFkVHh0Ij48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGl0bGUiPlJvdW5kIHRoZSBjbG9jayB0ZWNobmljYWwgc3VwcG9ydDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxwPk91ciBzcGVjaWFsaXN0cyBhcmUgYXZhaWxhYmxlIDI0IGhvdXJzIDcgZGF5cyBhIHdlZWsgYW5kIGFyZSByZWFkeSB0byBhbnN3ZXIgYW55IG9mDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgeW91ciBxdWVzdGlvbnMgYXQgYW55IHRpbWUgY29udmVuaWVudCBmb3IgeW91ITwvcD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSBjb2w0Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tY2hhcnQgZ3JhZFR4dCI+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpdGxlIj5DYXJlZnVsIGFzc2V0IHNlbGVjdGlvbjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxwPldlIGtub3cgdGhlIHByaWNlIG9mIHZpY3RvcmllcyBhbmQgdGhlIGJpdHRlcm5lc3Mgb2YgZGVmZWF0cywgc28gd2UgY2FyZWZ1bGx5IHNlbGVjdA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludmVzdG1lbnQgYXNzZXRzLjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSBjb2w0Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tdGVhbSBncmFkVHh0Ij48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGl0bGUiPkNsb3NlLWtuaXQgdGVhbSBvZiBwcm9mZXNzaW9uYWxzPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHA+T3ZlciB0aGUgeWVhcnMgb2Ygc3VjY2Vzc2Z1bCB3b3JrIGluIHRoZSBmaW5hbmNpYWwgbWFya2V0cywgd2UgaGF2ZSBnYXRoZXJlZCBhIHRlYW0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiB0aGUgYmVzdCBzcGVjaWFsaXN0cyBpbiB0aGVpciBhcmVhcywgd2l0aCBleHRlbnNpdmUgZXhwZXJpZW5jZSBpbiBhbGwgbmVjZXNzYXJ5DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRzLjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSBjb2w0Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tZG9jcyBncmFkVHh0Ij48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGl0bGUiPk9mZmljaWFsbHkgcmVnaXN0ZXJlZCBjb21wYW55PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHA+T3VyIGNvbXBhbnkgaGFzIGFsbCB0aGUgbmVjZXNzYXJ5IGxpY2Vuc2VzIGFuZCBjZXJ0aWZpY2F0ZXMgdG8gY29uZHVjdCBpdHMNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpdml0aWVzLCBhbmQgaGFzIGFuIG9mZmljZSBpbiBVU0EuPC9wPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtIGNvbDQiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1jYXNoIGdyYWRUeHQiPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aXRsZSI+R3VhcmFudGVlIG9mIHNhZmV0eSBvZiB5b3VyIGZ1bmRzPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHA+VGhhbmtzIHRvIHRoZSBzZWxlY3Rpb24gb2YgZXh0cmVtZWx5IHJlbGlhYmxlIGludmVzdG1lbnQgYXNzZXRzLCBhcyB3ZWxsIGFzIGR1ZSB0bw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBhY3RpdmUgYXJiaXRyYXRpb24gcG9saWN5LCB3ZSBnaXZlIGdvb2QgcmVzdWx0IGZvciBlYWNoIG9mIG91ciBpbnZlc3RvcnMhDQogICAgICAgICAgICAgICAgICAgICAgICA8L3A+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0gY29sNCI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImluIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLXBhc3MgZ3JhZFR4dCI+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpdGxlIj5IaWdoIHNlY3VyaXR5PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHA+QWxsIHRyYW5zYWN0aW9ucyBhbmQgcGVyc29uYWwgZGF0YSBvZiBvdXIgaW52ZXN0b3JzIGFyZSBzZWN1cmVseSBwcm90ZWN0ZWQgZnJvbSBhbnkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWFrcyBhbmQgdGhpcmQtcGFydHkgaW50ZXJ2ZW50aW9ucyE8L3A+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KPC9kaXY+DQoNCjwhLS0NCiAgICAgPGRpdiBjbGFzcz0ibWFpbk5ld3MiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1nL2dyZXlfYmdfMi5wbmcpIj4NCiAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogICAgICAgIDxzcGFuIGNsYXNzPSJjYXB0aW9uRGFyayBjZW50ZXIiPm91ciBsYXRlc3QgbmV3czwvc3Bhbj4NCiAgICAgICAgPGRpdiBjbGFzcz0id3JhcCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgPC9kaXY+DQogICAgIDwvZGl2Pi0tPg0KDQo8ZGl2IGNsYXNzPSJwYXltZW50cyI+DQogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgPHVsIGNsYXNzPSJ0YWJsZSBmdWxsIj4NCiAgICAgICAgICAgIDxsaSBjbGFzcz0idENlbGwgYm90dG9tIGxlZnQiPjxpbWcgc3JjPSJpbWcvcGF5bWVudF8xLnBuZyIgYWx0PSJwYXltZW50Ij48L2xpPg0KICAgICAgICAgICAgPGxpIGNsYXNzPSJ0Q2VsbCBtaWRkbGUgbGVmdCI+PGltZyBzcmM9ImltZy9wYXltZW50XzIucG5nIiBhbHQ9InBheW1lbnQiPjwvbGk+DQogICAgICAgICAgICA8bGkgY2xhc3M9InRDZWxsIG1pZGRsZSByaWdodCI+PGltZyBzcmM9ImltZy9wYXltZW50XzQucG5nIiBhbHQ9InBheW1lbnQiPjwvbGk+DQogICAgICAgICAgICA8bGkgY2xhc3M9InRDZWxsIG1pZGRsZSByaWdodCI+PGltZyBzcmM9ImltZy9wYXltZW50XzUucG5nIiBhbHQ9InBheW1lbnQiPjwvbGk+DQogICAgICAgICAgICA8bGkgY2xhc3M9InRDZWxsIG1pZGRsZSByaWdodCI+PGltZyBzcmM9ImltZy9wYXltZW50XzYucG5nIiBhbHQ9InBheW1lbnQiPjwvbGk+DQogICAgICAgICAgICA8bGkgY2xhc3M9InRDZWxsIG1pZGRsZSByaWdodCI+PGltZyBzcmM9ImltZy9wYXltZW50XzgucG5nIiBhbHQ9InBheW1lbnQiPjwvbGk+DQogICAgICAgIDwvdWw+DQogICAgPC9kaXY+DQo8L2Rpdj4NCjwhLS0tLVZpc3VhbEh5aXAubGl2ZSBGb290ZXItLS0tPg0KPGZvb3Rlcj4NCiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KICAgICAgICA8ZGl2IGNsYXNzPSJjZml4Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3RDb2wiPg0KICAgICAgICAgICAgICAgIDxpbWcgc3R5bGU9IndpZHRoOiAzMDBweDsgaGVpZ2h0OiA3MHB4OyIgc3JjPSJpbWcvbG9nb193LnBuZyIgYWx0PSIiPjxicj48YnI+PGJyPjxicj4NCg0KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJjb3B5cmlnaHQiPkNvcHlyaWdodMKpIDIwMjYgMjQ3b3B0aW9udHJhZGVmeDwvcD4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290TWVudSI+DQogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjb2wiPg0KICAgICAgICAgICAgICAgICAgICA8dWw+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaW5kZXgucGhwIj5IT01FPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iYWJvdXQucGhwIj5BQk9VVCBVUzwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9ImFmZmlsaWF0ZS5waHAiPkFGRklMSUFURTwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Im5ld3MucGhwIj5ORVdTPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iZGFzaGJvYXJkL2xvZ2luLnBocCI+TG9naW48L2E+PC9saT4gDQogICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNvbCI+DQogICAgICAgICAgICAgICAgICAgIDx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJmYXEucGhwIj5GQVE8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJyYXRldXMucGhwIj5SQVRFIFVTPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0icnVsZXMucGhwIj5SVUxFUzwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9ImNvbnRhY3QucGhwIj5DT05UQUNUIFVTPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iZGFzaGJvYXJkL3JlZ2lzdGVyLnBocCI+U2lnbiB1cDwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KDQogICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290Q29sIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250Ij4NCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpdGxlIj5BZGRyZXNzOjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgPHA+MzE1MSBaaW5mYW5kZWwgRHJpdmUgVW5pdCA1IFJhbmNobyBDb3Jkb3ZhIENBIDk1NjcwPC9wPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnQiPg0KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGl0bGUiPkUtbWFpbDo8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJsaW5rIiBocmVmPSJtYWlsdG86c3VwcG9ydEAyNDdvcHRpb250cmFkZWZ4LmNvbSI+Q29udGFjdCBVczwvYT4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250Ij4NCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpdGxlIj5XZWJTaXRlOjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxpbmsiIGhyZWY9ImluZGV4LnBocCI+MjQ3b3B0aW9udHJhZGVmeC5jb208L2E+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQo8L2Zvb3Rlcj4NCg0KDQoNCg0KPHN0eWxlPg0KCQkJCQkJI2ZyYW5rbHlud2ViIHsNCgkJCQkJCQlkaXNwbGF5OiBibG9jazsNCgkJCQkJCQlwb3NpdGlvbjogZml4ZWQ7DQoJCQkJCQkJYm90dG9tOiAtNzBweDsNCgkJCQkJCQlsZWZ0OiAwcHg7DQoJCQkJCQkJei1pbmRleDogOTk5Ow0KCQkJCQkJCWZvbnQtc2l6ZTogMThweDsNCgkJCQkJCQlib3JkZXI6IG5vbmU7DQoJCQkJCQkJb3V0bGluZTogbm9uZTsNCgkJCQkJCQliYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCgkJCQkJCQljb2xvcjogd2hpdGU7DQoJCQkJCQkJY3Vyc29yOiBwb2ludGVyOw0KCQkJCQkJCXBhZGRpbmc6IDE1cHg7DQoJCQkJCQkJYm9yZGVyLXJhZGl1czogNHB4Ow0KCQkJCQkJfQ0KDQoJCQkJCQkjZnJhbmtseW53ZWI6aG92ZXIgew0KCQkJCQkJCWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KCQkJCQkJfQ0KDQoJCQkJCQkuY2lyY2xlcyB7DQoJCQkJCQkJd2lkdGg6IDQyMHB4Ow0KCQkJCQkJCWhlaWdodDogMzIwcHg7DQoJCQkJCQkJLW1vei1ib3JkZXItcmFkaXVzOiA1MCU7DQoJCQkJCQkJLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7DQoJCQkJCQkJYm9yZGVyLXJhZGl1czogNTAlOw0KCQkJCQkJCW92ZXJmbG93OiBoaWRkZW47DQoJCQkJCQkJcG9zaXRpb246IHJlbGF0aXZlOw0KCQkJCQkJfQ0KCQkJCQk8L3N0eWxlPg0KCQkJCQk8ZGl2IGlkPSJmcmFua2x5bndlYiIgY2xhc3M9ImNpcmNsZXMiPg0KDQo8c3R5bGU+DQoubWdtIHsNCiAgICBib3JkZXItcmFkaXVzOiA3cHg7DQogICAgcG9zaXRpb246IGZpeGVkOw0KICAgIHotaW5kZXg6IDkwOw0KICAgIGJvdHRvbTogODBweDsNCiAgICByaWdodDogNTBweDsNCiAgICBiYWNrZ3JvdW5kOiAjZmZmOw0KICAgIGJvcmRlcjo0cHggc29saWQgIzAwODBkYjsNCiAgICBwYWRkaW5nOiAxMHB4IDI3cHg7DQogICAgYm94LXNoYWRvdzogMHB4IDVweCAxM3B4IDBweCByZ2JhKDAsIDAsIDAsIC4zKTsNCn0NCg0KLm1nbSBhIHsNCiAgICBmb250LXdlaWdodDogNzAwOw0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIGNvbG9yOiAjMDA4MGRiOw0KfQ0KDQoubWdtIGEsDQoubWdtIGE6YWN0aXZlIHsNCiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2U7DQogICAgY29sb3I6ICMwMDgwZGI7DQp9DQo8L3N0eWxlPg0KPGRpdiBjbGFzcz0ibWdtIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPg0KPGRpdiBjbGFzcz0idHh0IiBzdHlsZT0iY29sb3I6YmxhY2s7Ij48L2Rpdj4NCjwvZGl2Pg0KDQo8c2NyaXB0IGRhdGEtY2Zhc3luYz0iZmFsc2UiIHNyYz0iIyI+PC9zY3JpcHQ+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQogICAgdmFyIGxpc3RDb3VudHJpZXMgPSBbJ1VTQScsICdQb3J0dWdhbCcsICdHZXJtYW55JywgJ0ZyYW5jZScsICdJdGFseScsICdOYW1pYmlhJywgJ0F1c3RyYWxpYScsICdTb3V0aCBBZnJpY2EnLCAnQ2FuYWRhJywgJ0FyZ2VudGluYScsICdTYXVkaSBBcmFiaWEnLCAnTWV4aWNvJywgJ1BvcnR1Z2FsJywgJ0JyYXppbCcsICdWZW5lenVlbGEnLCAnSXNyZWFsJywgJ1N3ZWRlbicsICdVU0EnLCAnQ29sb21iaWEnLCAnSXRhbHknLCAnQ2FuYWRhJywgJ1VuaXRlZCBLaW5nZG9tJywgJ1VTQScsICdHcmVlY2UnLCAnQ3ViYScsICdHZXJtYW55JywgJ1BvcnR1Z2FsJywgJ0F1c3RyaWEnLCAnTWV4aWNvJywgJ1BhbmFtYScsICdTb3V0aCBBZnJpY2EnLCAnVVNBJywgJ05ldGhlcmxhbmRzJywgJ1N3aXR6ZXJsYW5kJywgJ0JlbGdpdW0nLCAnSXNyYWVsJywgJ0N5cHJ1cyddOw0KICAgIHZhciBsaXN0UGxhbnMgPSBbJyQ1MSwwMDAnLCAnJDE0LDUwMCcsICckNDAsMDAwJywgJyQxLDAwMCcsICckMTAsMDAwJywgJyQ1MCwwMDAnLCAnJDUyLDMwMCcsICckOSw3MDAnLCAnJDEwLDAwMCcsICckNCw1MDAnLCAnJDksNTAwJywgJyQzNCwwMDAnLCAnJDQyLDAwMCcsICckNCw2MDAnLCAnJDMsNzAwJywgJyQyNyw1MDAnLCckNTgsNjIzJywnJDMxLDYwMCddOw0KICAgIHZhciB0cmFuc2FycmF5ID0gWydqdXN0IDxiPmludmVzdGVkPC9iPicsICdoYXMgPGI+d2l0aGRyYXduPC9iPicsICdpcyA8Yj50cmFkaW5nIHdpdGg8L2I+J107DQogICAgaW50ZXJ2YWwgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAoNDAwMDAgLSA4MDAwICsgMSkgKyA4MDAwKTsNCiAgICB2YXIgcnVuID0gc2V0SW50ZXJ2YWwocmVxdWVzdCwgaW50ZXJ2YWwpOw0KDQogICAgZnVuY3Rpb24gcmVxdWVzdCgpIHsNCiAgICAgICAgY2xlYXJJbnRlcnZhbChydW4pOw0KICAgICAgICBpbnRlcnZhbCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqICg0MDAwMCAtIDgwMDAgKyAxKSArIDgwMDApOw0KICAgICAgICB2YXIgY291bnRyeSA9IGxpc3RDb3VudHJpZXNbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogbGlzdENvdW50cmllcy5sZW5ndGgpXTsNCiAgICAgICAgdmFyIHRyYW5zdHlwZSA9IHRyYW5zYXJyYXlbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogdHJhbnNhcnJheS5sZW5ndGgpXTsNCiAgICAgICAgdmFyIHBsYW4gPSBsaXN0UGxhbnNbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogbGlzdFBsYW5zLmxlbmd0aCldOw0KICAgICAgICB2YXIgbXNnID0gJ1NvbWVvbmUgZnJvbSA8Yj4nICsgY291bnRyeSArICc8L2I+ICcgKyB0cmFuc3R5cGUgKyAnIDxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKTsiIG9uY2xpY2s9ImphdmFzY3JpcHQ6dm9pZCgwKTsiPicgKyBwbGFuICsgJzwvYT4nOw0KICAgICAgICAkKCIubWdtIC50eHQiKS5odG1sKG1zZyk7DQogICAgICAgICQoIi5tZ20iKS5zdG9wKHRydWUpLmZhZGVJbigzMDApOw0KICAgICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICQoIi5tZ20iKS5zdG9wKHRydWUpLmZhZGVPdXQoMzAwKTsNCiAgICAgICAgfSwgMTAwMDApOw0KICAgICAgICBydW4gPSBzZXRJbnRlcnZhbChyZXF1ZXN0LCBpbnRlcnZhbCk7DQogICAgfQ0KPC9zY3JpcHQ+DQoNCgkJCQkJICAgIDxicj48YnI+IA0KCQkJCQkJDQogDQoJCQkJCTwvZGl2Pg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KPGRpdiBpZD0iZ29vZ2xlX3RyYW5zbGF0ZV9lbGVtZW50IiBzdHlsZT0idmlzaWJpbGl0eTp2aXNpYmxlO2Rpc3BsYXk6bm9uZSI+PC9kaXY+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQogIGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3NraXB0cmFuc2xhdGUnKVswXS5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbic7DQogIGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2dvb2ctdGUtYmFubmVyLWZyYW1lJylbMF0uc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nOw0KDQogIGZ1bmN0aW9uIGdvb2dsZVRyYW5zbGF0ZUVsZW1lbnRJbml0KCkgew0KICAgIG5ldyBnb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZUVsZW1lbnQoew0KICAgICAgcGFnZUxhbmd1YWdlOiAiZW4iDQogICAgfSwgJ2dvb2dsZV90cmFuc2xhdGVfZWxlbWVudCcpOw0KICB9DQoNCiAgZnVuY3Rpb24gY2hhbmdlTGFuZ3VhZ2VCeUJ1dHRvbkNsaWNrKCkgew0KDQoNCiAgICB2YXIgbGFuZ3VhZ2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGFuZ3VhZ2UiKS52YWx1ZTsNCiAgICB2YXIgc2VsZWN0RmllbGQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjZ29vZ2xlX3RyYW5zbGF0ZV9lbGVtZW50IHNlbGVjdCIpOw0KICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2VsZWN0RmllbGQuY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHsNCiAgICAgIHZhciBvcHRpb24gPSBzZWxlY3RGaWVsZC5jaGlsZHJlbltpXTsNCiAgICAgIC8vIGZpbmQgZGVzaXJlZCBsYW5nYXVnZSBhbmQgY2hhbmdlIHRoZSBmb3JtZXIgbGFuZ3VhZ2Ugb2YgdGhlIGhpZGRlbiBzZWxlY3Rpb24tZmllbGQgDQogICAgICBpZiAob3B0aW9uLnZhbHVlID09IGxhbmd1YWdlKSB7DQogICAgICAgIHNlbGVjdEZpZWxkLnNlbGVjdGVkSW5kZXggPSBpOw0KICAgICAgICAvLyB0cmlnZ2VyIGNoYW5nZSBldmVudCBhZnRlcndhcmRzIHRvIG1ha2UgZ29vZ2xlLWxpYiB0cmFuc2xhdGUgdGhpcyBzaWRlDQogICAgICAgIHNlbGVjdEZpZWxkLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdjaGFuZ2UnKSk7DQogICAgICAgIGJyZWFrOw0KICAgICAgfQ0KICAgIH0NCiAgfQ0KPC9zY3JpcHQ+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJ0cmFuc2xhdGVfYS9lbGVtZW50LmpzP2NiPWdvb2dsZVRyYW5zbGF0ZUVsZW1lbnRJbml0Ij48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSIvL2NvZGUudGlkaW8uY28vdjVrbTZ0dHdjY2Z4ajNqbmVkcXhqZXRraHY1c3JvZ20uanMiIGFzeW5jPjwvc2NyaXB0Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIChmdW5jdGlvbigpIHsNCiAgICAgICAgdmFyIG9wdGlvbnMgPSB7DQogICAgICAgICAgICB3aGF0c2FwcDogIisxOTQ3MjkxMzIzNSIsIC8vIFdoYXRzQXBwIG51bWJlcg0KICAgICAgICAgICAgY2FsbF90b19hY3Rpb246ICJDb250YWN0IHVzISIsIC8vIENhbGwgdG8gYWN0aW9uDQogICAgICAgICAgICBwb3NpdGlvbjogImxlZnQiLCAvLyBQb3NpdGlvbiBtYXkgYmUgInJpZ2h0IiBvciAibGVmdCINCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHByb3RvID0gZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2wsDQogICAgICAgICAgICBob3N0ID0gImdldGJ1dHRvbi5pbyIsDQogICAgICAgICAgICB1cmwgPSBwcm90byArICIvL3N0YXRpYy4iICsgaG9zdDsNCiAgICAgICAgdmFyIHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsNCiAgICAgICAgcy50eXBlID0gInRleHQvamF2YXNjcmlwdCI7DQogICAgICAgIHMuYXN5bmMgPSB0cnVlOw0KICAgICAgICBzLnNyYyA9IHVybCArICIvd2lkZ2V0LXNlbmQtYnV0dG9uL2pzL2luaXQuanMiOw0KICAgICAgICBzLm9ubG9hZCA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgV2hXaWRnZXRTZW5kQnV0dG9uLmluaXQoaG9zdCwgcHJvdG8sIG9wdGlvbnMpOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgeCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXTsNCiAgICAgICAgeC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzLCB4KTsNCiAgICB9KSgpOw0KPC9zY3JpcHQ+DQo8IS0tIFNtYXJ0c3VwcCBMaXZlIENoYXQgc2NyaXB0IC0tPg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KdmFyIF9zbWFydHN1cHAgPSBfc21hcnRzdXBwIHx8IHt9Ow0KX3NtYXJ0c3VwcC5rZXkgPSAnNGY3MWJkYmFhYTg5Mzg1MWMwMTFmM2Q0NzdiZGIwYjU4MDU2ODI1MCc7DQp3aW5kb3cuc21hcnRzdXBwfHwoZnVuY3Rpb24oZCkgew0KICB2YXIgcyxjLG89c21hcnRzdXBwPWZ1bmN0aW9uKCl7IG8uXy5wdXNoKGFyZ3VtZW50cyl9O28uXz1bXTsNCiAgcz1kLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKVswXTtjPWQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7DQogIGMudHlwZT0ndGV4dC9qYXZhc2NyaXB0JztjLmNoYXJzZXQ9J3V0Zi04JztjLmFzeW5jPXRydWU7DQogIGMuc3JjPSdodHRwczovL3d3dy5zbWFydHN1cHBjaGF0LmNvbS9sb2FkZXIuanM/JztzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGMscyk7DQp9KShkb2N1bWVudCk7DQo8L3NjcmlwdD4NCg0KDQo8L2JvZHk+DQoNCjwvaHRtbD4="}},"time_used":38,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":38,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/img/card_bg_2.png","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.450Z","timestamp":1785120633450,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /img/card_bg_2.png HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: image/png\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-fda\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":4058,"size_decoded":3453,"mime_type":"image/png","magic":"PNG image data, 277 x 413, 8-bit/color RGBA, non-interlaced","md5":"a18ebc20b236609259f8d006f794df99","sha1":"0c1dae3e62843ee070f7e4ece110d31ca52080c0","sha256":"b775c92ebc05282a188af6e27763a1e1c8dd36464523e91b420c24d29234f8a8","sha512":"0c8d52e6a647cff5ccff2ef0fc4a92880bd81878ee1541791f160d2b8475effabd72df4c870086280240e718a19492da9bb174c9588f44db324e10ee2fa37586","ssdeep":"","tlshash":"54818215b3e35b6a4015d28dd8a442ce29834110379d73edf57e267ebdec2e802f539a","first_seen":"2026-07-27T02:45:25.23772Z","last_seen":"2026-07-27T02:59:54.564746Z","times_seen":4,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAARUAAAGdCAYAAAA8DedXAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkNDQ0FGNzIzOTZENzExRTg5MjhERjUzNjJENjU1MTI0IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkNDQ0FGNzI0OTZENzExRTg5MjhERjUzNjJENjU1MTI0Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Q0NDQUY3MjE5NkQ3MTFFODkyOERGNTM2MkQ2NTUxMjQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Q0NDQUY3MjI5NkQ3MTFFODkyOERGNTM2MkQ2NTUxMjQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5BOURoAAAMSklEQVR42uzd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RAUQFQBRAUQFEBUAUQFEBRAVQFQARAUQFUBUAEQFEBVAVABEBRAVQFQAUQEQFUBUAFEBEBVAVABRARAVQFQAUQFEBUBUAFEBRAVAVABRAUQFQFQAUQFEBRAVAFEBRAUQFQBRAUQFEBUAUQFEBRAVQFQARAUQFUBUAEQFEBVAVABEBRAVQFQAUQEQFUBUAFEBEBVAVABRAUQFQFQAUQFEBUBUAFEBRAVAVABRAUQFEBUAUQFEBRAVAFEBRAUQFQBRAUQFEBVAVABEBRAVQFQARAUQFUBUAEQFEBVAVABRARAVQFQAUQEQFUBUAFEBEBVAVABRAUQFQFQAUQFEBUBUAFEBRAVAVABRAUQFEBUAUQFEBRAVAFEBRAUQFQBRAUQFEBVAVABEBRAVQFQARAUQFUBUAFEBEBVAVABRARAVQFQAUQEQFUBUAFEBRAVAVABRAUQFQFQAUQFEBUBUAFEBRAUQFQBRAUQFEBUAUQFEBRAVAFEBRAUQFUBUAEQFEBVAVABEBRAVQFQARAUQFUBUAFEBEBVAVABRARAVQFQAUQEQFUBUAFEBRAVAVABRAUQFYAj/FWAA5u4CHeUV+P0AAAAASUVORK5CYII="}},"time_used":132,"timings":{"blocked":103,"dns":0,"connect":0,"send":0,"wait":29,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"tvc-invdn-cf-com.investing.com/tool/1.12.10/charting_library.min.js","fqdn":"tvc-invdn-cf-com.investing.com","domain":"investing.com","tld":"com"},"ip":{"addr":"172.64.155.105","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://tvc-invdn-cf-com.investing.com/tool/1.12.10/tool-prod-2-ssl.html?carrier=cc6698fccca44e51b088d9ddbbcf8ec8\u0026time=1785120633\u0026domain_ID=7\u0026lang_ID=7\u0026timezone_ID=17\u0026version=1.12.10\u0026locale=ru\u0026timezone=Europe/Moscow\u0026pair_ID=945629\u0026interval=5\u0026session=24x7\u0026prefix=ru\u0026suffix=\u0026client=0\u0026user=\u0026plotStyle=area\u0026geoc=NO\u0026styleOverride=","date":"2026-07-27T02:50:34.338Z","timestamp":1785120634338,"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":"tvc-invdn-cf-com.investing.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 31 May 2026 06:59:21 GMT","end":"Sat, 29 Aug 2026 07:59:19 GMT"},"fingerprint":{"sha1":"90:A7:5D:5C:7F:22:D6:92:72:4C:85:3E:E7:2D:28:D1:42:20:B1:F8","sha256":"4C:97:98:34:DB:36:63:81:85:8D:5B:E0:91:75:21:94:B9:1D:97:17:07:3D:61:14:3E:02:DB:0F:73:40:E7:84"}}},"request":{"raw":"GET /tool/1.12.10/charting_library.min.js HTTP/1.1\r\nHost: tvc-invdn-cf-com.investing.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://tvc-invdn-cf-com.investing.com/tool/1.12.10/tool-prod-2-ssl.html?carrier=cc6698fccca44e51b088d9ddbbcf8ec8\u0026time=1785120633\u0026domain_ID=7\u0026lang_ID=7\u0026timezone_ID=17\u0026version=1.12.10\u0026locale=ru\u0026timezone=Europe/Moscow\u0026pair_ID=945629\u0026interval=5\u0026session=24x7\u0026prefix=ru\u0026suffix=\u0026client=0\u0026user=\u0026plotStyle=area\u0026geoc=NO\u0026styleOverride=\r\nCookie: __cf_bm=mn1PVnpxBsLEicPCDwE_Pe4gHkvTYye6Tx_zgzNLo.k-1785120633.699759-1.0.1.1-lB_db9Ov1aU8Fd3phu4.zXI.0INMPk8u0VotUI0k5.d8tcJf9MPZ8.4bNw0k2UZ4hoLBefzQWLGi7ZW06ZZmMXWweiLPcAzMaI0v_RVdZq.Z_fjpI5Y5UZbmopumxELp1CKoKFuB0JWJV4cWCH7O8Q\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\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript\r\nx-guploader-uploadid: AAVLpEg4O8O8BkuitW6UViVnGuPDCFFjPwJDybnl-hutPJXDTPindzwzvT5fit4uWcWuaO555_Td3GDfAWHC\r\nexpires: Mon, 27 Jul 2026 03:50:34 GMT\r\ncache-control: public, max-age=3600\r\nlast-modified: Wed, 07 Feb 2024 12:23:28 GMT\r\nvary: accept-encoding\r\nx-goog-generation: 1707308608569563\r\nx-goog-metageneration: 1\r\nx-goog-stored-content-encoding: identity\r\nx-goog-stored-content-length: 9902\r\nx-goog-hash: crc32c=Ep/YXQ==, md5=jCdrXJaMcCxoi4P4C2EQng==\r\nx-goog-storage-class: STANDARD\r\nserver: cloudflare\r\nvia: 1.1 google\r\nalt-svc: h3=\":443\"; ma=86400\r\npriority: u=2,i=?0\r\nage: 3330\r\ncf-cache-status: HIT\r\netag: W/\"8c276b5c968c702c688b83f80b61109e\"\r\ncontent-encoding: br\r\ncf-ray: a218565c9b490daa-OSL\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":"Google Cloud Storage","description":"Google Cloud Storage allows world-wide storage and retrieval of any amount of data at any time.","website":"https://cloud.google.com/storage","common_platform_enumeration":"","icon":"google-cloud-storage.svg","categories":["Miscellaneous"]},{"name":"Google Cloud","description":"Google Cloud is a suite of cloud computing services.","website":"https://cloud.google.com","common_platform_enumeration":"cpe:2.3:a:google:cloud_platform:*:*:*:*:*:*:*:*","icon":"Google Cloud.svg","categories":["IaaS"]},{"name":"Google Cloud CDN","description":"Cloud CDN uses Google's global edge network to serve content closer to users.","website":"https://cloud.google.com/cdn","common_platform_enumeration":"","icon":"google-cloud-cdn.svg","categories":["CDN"]}],"data":{"size":9902,"size_decoded":3802,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (9900), with CRLF line terminators","md5":"8c276b5c968c702c688b83f80b61109e","sha1":"cddddf03b5900393d9f62db6883fb1155f7be285","sha256":"5aa7a7d6a9532424033e81092518d33b4be4a251f9cd7e1cfd2d9ca8e4064c5e","sha512":"b1d85657c5e504e1b79275d861685af3e897c76428e5e5d53406b7553e93b79b4744eec16fae8165142732ee336640c26b0a9d54f6efa92203d8cc04999fe904","ssdeep":"192:9337kYFUdQ+lr6lw2rfnJ8NRLP6tyPPv1idCKuv/ISJhv+HIhJPh3F6R:VkYFUG+lD2rfnaNRLP6ty9isKQ/ISJhm","tlshash":"c2123358ed2479320acb40f4427f290f9235d278d84a44ed3d84e6ec59fd84ba96fbb4","first_seen":"2025-06-28T04:54:50.174655Z","last_seen":"2026-07-27T02:59:54.569529Z","times_seen":9,"resource_available":true,"data":"IWZ1bmN0aW9uKHQsZSl7Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiYidW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZT9lKGV4cG9ydHMpOiJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFsiZXhwb3J0cyJdLGUpOmUodC5UcmFkaW5nVmlldz10LlRyYWRpbmdWaWV3fHx7fSl9KHRoaXMsZnVuY3Rpb24odCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGUodCxvKXt2YXIgaT1uKHt9LHQpO2Zvcih2YXIgcyBpbiBvKSJvYmplY3QiIT10eXBlb2YgdFtzXXx8bnVsbD09PXRbc118fEFycmF5LmlzQXJyYXkodFtzXSk/dm9pZCAwIT09b1tzXSYmKGlbc109b1tzXSk6aVtzXT1lKHRbc10sb1tzXSk7cmV0dXJuIGl9ZnVuY3Rpb24gbygpe3JldHVybiIxLjEyIChpbnRlcm5hbCBpZCBlODE2YTdhNiBAIDIwMTgtMDMtMjYgMDg6MjE6MTEuODM3NTMwKSJ9ZnVuY3Rpb24gaSh0KXt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsdCwhMSl9dmFyIG49T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24odCl7Zm9yKHZhciBlLG89YXJndW1lbnRzLGk9MSxuPWFyZ3VtZW50cy5sZW5ndGg7aTxuO2krKyl7ZT1vW2ldO2Zvcih2YXIgcyBpbiBlKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLHMpJiYodFtzXT1lW3NdKX1yZXR1cm4gdH0scz17bW9iaWxlOntkaXNhYmxlZF9mZWF0dXJlczpbImxlZnRfdG9vbGJhciIsImhlYWRlcl93aWRnZXQiLCJ0aW1lZnJhbWVzX3Rvb2xiYXIiLCJlZGl0X2J1dHRvbnNfaW5fbGVnZW5kIiwiY29udGV4dF9tZW51cyIsImNvbnRyb2xfYmFyIiwiYm9yZGVyX2Fyb3VuZF90aGVfY2hhcnQiXSxlbmFibGVkX2ZlYXR1cmVzOltdfX0scj17d2lkdGg6ODAwLGhlaWdodDo1MDAsc3ltYm9sOiJBQSIsaW50ZXJ2YWw6IkQiLHRpbWV6b25lOiJVVEMiLGNvbnRhaW5lcl9pZDoiIixsaWJyYXJ5X3BhdGg6IiIsbG9jYWxlOiJlbiIsd2lkZ2V0YmFyOntkZXRhaWxzOiExLHdhdGNobGlzdDohMSx3YXRjaGxpc3Rfc2V0dGluZ3M6e2RlZmF1bHRfc3ltYm9sczpbXX19LG92ZXJyaWRlczp7Im1haW5TZXJpZXNQcm9wZXJ0aWVzLnNob3dDb3VudGRvd24iOiExfSxzdHVkaWVzX292ZXJyaWRlczp7fSxicm9rZXJDb25maWc6e2NvbmZpZ0ZsYWdzOnt9fSxmdWxsc2NyZWVuOiExLGF1dG9zaXplOiExLGRpc2FibGVkX2ZlYXR1cmVzOltdLGVuYWJsZWRfZmVhdHVyZXM6W10sZGVidWc6ITEsbG9nbzp7fSx0aW1lX2ZyYW1lczpbe3RleHQ6IjV5IixyZXNvbHV0aW9uOiJXIn0se3RleHQ6IjF5IixyZXNvbHV0aW9uOiJXIn0se3RleHQ6IjZtIixyZXNvbHV0aW9uOiIxMjAifSx7dGV4dDoiM20iLHJlc29sdXRpb246IjYwIn0se3RleHQ6IjFtIixyZXNvbHV0aW9uOiIzMCJ9LHt0ZXh0OiI1ZCIscmVzb2x1dGlvbjoiNSJ9LHt0ZXh0OiIxZCIscmVzb2x1dGlvbjoiMSJ9XSxjbGllbnRfaWQ6IjAiLHVzZXJfaWQ6IjAiLGNoYXJ0c19zdG9yYWdlX2FwaV92ZXJzaW9uOiIxLjAiLGZhdm9yaXRlczp7aW50ZXJ2YWxzOltdLGNoYXJ0VHlwZXM6W119fSxhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0KXtpZih0aGlzLl9pZD0idHJhZGluZ3ZpZXdfIisoMTA0ODU3NiooMStNYXRoLnJhbmRvbSgpKXwwKS50b1N0cmluZygxNikuc3Vic3RyaW5nKDEpLHRoaXMuX3JlYWR5PSExLHRoaXMuX3JlYWR5SGFuZGxlcnM9W10sdGhpcy5fb25XaW5kb3dSZXNpemU9dGhpcy5fYXV0b1Jlc2l6ZUNoYXJ0LmJpbmQodGhpcyksIXQuZGF0YWZlZWQpdGhyb3cgbmV3IEVycm9yKCJEYXRhZmVlZCBpcyBub3QgZGVmaW5lZCIpO2lmKHRoaXMuX29wdGlvbnM9ZShyLHQpLHQucHJlc2V0KXt2YXIgbz1zW3QucHJlc2V0XTtvPyh2b2lkIDAhPT10aGlzLl9vcHRpb25zLmRpc2FibGVkX2ZlYXR1cmVzP3RoaXMuX29wdGlvbnMuZGlzYWJsZWRfZmVhdHVyZXM9dGhpcy5fb3B0aW9ucy5kaXNhYmxlZF9mZWF0dXJlcy5jb25jYXQoby5kaXNhYmxlZF9mZWF0dXJlcyk6dGhpcy5fb3B0aW9ucy5kaXNhYmxlZF9mZWF0dXJlcz1vLmRpc2FibGVkX2ZlYXR1cmVzLHZvaWQgMCE9PXRoaXMuX29wdGlvbnMuZW5hYmxlZF9mZWF0dXJlcz90aGlzLl9vcHRpb25zLmVuYWJsZWRfZmVhdHVyZXM9dGhpcy5fb3B0aW9ucy5lbmFibGVkX2ZlYXR1cmVzLmNvbmNhdChvLmVuYWJsZWRfZmVhdHVyZXMpOnRoaXMuX29wdGlvbnMuZW5hYmxlZF9mZWF0dXJlcz1vLmVuYWJsZWRfZmVhdHVyZXMpOmNvbnNvbGUud2FybigiVW5rbm93biBwcmVzZXQ6IGAiK3QucHJlc2V0KyJgIil9dGhpcy5fY3JlYXRlKCl9cmV0dXJuIHQucHJvdG90eXBlLm9uQ2hhcnRSZWFkeT1mdW5jdGlvbih0KXt0aGlzLl9yZWFkeT90LmNhbGwodGhpcyk6dGhpcy5fcmVhZHlIYW5kbGVycy5wdXNoKHQpfSx0LnByb3RvdHlwZS5vbkdyYXllZE9iamVjdENsaWNrZWQ9ZnVuY3Rpb24odCl7dGhpcy5faW5uZXJBUEkoKS5vbkdyYXllZE9iamVjdENsaWNrZWQodCl9LHQucHJvdG90eXBlLm9uU2hvcnRjdXQ9ZnVuY3Rpb24odCxlKXt0aGlzLl9pbm5lcldpbmRvdygpLmNyZWF0ZVNob3J0Y3V0QWN0aW9uKHQsZSl9LHQucHJvdG90eXBlLnN1YnNjcmliZT1mdW5jdGlvbih0LGUpe3RoaXMuX2lubmVyQVBJKCkuc3Vic2NyaWJlKHQsZSl9LHQucHJvdG90eXBlLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKHQsZSl7dGhpcy5faW5uZXJBUEkoKS51bnN1YnNjcmliZSh0LGUpfSx0LnByb3RvdHlwZS5jaGFydD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5faW5uZXJBUEkoKS5jaGFydCh0KX0sdC5wcm90b3R5cGUuc2V0TGFuZ3VhZ2U9ZnVuY3Rpb24odCl7dGhpcy5yZW1vdmUoKSx0aGlzLl9vcHRpb25zLmxvY2FsZT10LHRoaXMuX2NyZWF0ZSgpfSx0LnByb3RvdHlwZS5zZXRTeW1ib2w9ZnVuY3Rpb24odCxlLG8pe3RoaXMuX2lubmVyQVBJKCkuY2hhbmdlU3ltYm9sKHQsZSsiIixvKX0sdC5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKCl7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5fb25XaW5kb3dSZXNpemUpLHRoaXMuX3JlYWR5SGFuZGxlcnMuc3BsaWNlKDAsdGhpcy5fcmVhZHlIYW5kbGVycy5sZW5ndGgpLGRlbGV0ZSB3aW5kb3dbdGhpcy5faWRdO3ZhciB0PXRoaXMuX2dldElGcmFtZUVsZW1lbnQoKTt0LmNvbnRlbnRXaW5kb3cuZGVzdHJveUNoYXJ0KCksdC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCl9LHQucHJvdG90eXBlLmNsb3NlUG9wdXBzQW5kRGlhbG9ncz1mdW5jdGlvbigpe3RoaXMuX2lubmVyQVBJKCkuY2xvc2VQb3B1cHNBbmREaWFsb2dzKCl9LHQucHJvdG90eXBlLnNlbGVjdExpbmVUb29sPWZ1bmN0aW9uKHQpe3RoaXMuX2lubmVyQVBJKCkuc2VsZWN0TGluZVRvb2wodCl9LHQucHJvdG90eXBlLnNlbGVjdGVkTGluZVRvb2w9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faW5uZXJBUEkoKS5zZWxlY3RlZExpbmVUb29sKCl9LHQucHJvdG90eXBlLnNhdmU9ZnVuY3Rpb24odCl7dGhpcy5faW5uZXJBUEkoKS5zYXZlQ2hhcnQodCl9LHQucHJvdG90eXBlLmxvYWQ9ZnVuY3Rpb24odCxlKXt0aGlzLl9pbm5lckFQSSgpLmxvYWRDaGFydCh7anNvbjp0LGV4dGVuZGVkRGF0YTplfSl9LHQucHJvdG90eXBlLmdldFNhdmVkQ2hhcnRzPWZ1bmN0aW9uKHQpe3RoaXMuX2lubmVyQVBJKCkuZ2V0U2F2ZWRDaGFydHModCl9LHQucHJvdG90eXBlLmxvYWRDaGFydEZyb21TZXJ2ZXI9ZnVuY3Rpb24odCl7dGhpcy5faW5uZXJBUEkoKS5sb2FkQ2hhcnRGcm9tU2VydmVyKHQpfSx0LnByb3RvdHlwZS5zYXZlQ2hhcnRUb1NlcnZlcj1mdW5jdGlvbih0LGUsbyxpKXt0aGlzLl9pbm5lckFQSSgpLnNhdmVDaGFydFRvU2VydmVyKHQsZSxvLGkpfSx0LnByb3RvdHlwZS5yZW1vdmVDaGFydEZyb21TZXJ2ZXI9ZnVuY3Rpb24odCxlKXt0aGlzLl9pbm5lckFQSSgpLnJlbW92ZUNoYXJ0RnJvbVNlcnZlcih0LGUpfSx0LnByb3RvdHlwZS5vbkNvbnRleHRNZW51PWZ1bmN0aW9uKHQpe3RoaXMuX2lubmVyQVBJKCkub25Db250ZXh0TWVudSh0KX0sdC5wcm90b3R5cGUuY3JlYXRlQnV0dG9uPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9pbm5lcldpbmRvdygpLmNyZWF0ZUJ1dHRvbih0KX0sdC5wcm90b3R5cGUuc2hvd05vdGljZURpYWxvZz1mdW5jdGlvbih0KXt0aGlzLl9pbm5lckFQSSgpLnNob3dOb3RpY2VEaWFsb2codCl9LHQucHJvdG90eXBlLnNob3dDb25maXJtRGlhbG9nPWZ1bmN0aW9uKHQpe3RoaXMuX2lubmVyQVBJKCkuc2hvd0NvbmZpcm1EaWFsb2codCl9LHQucHJvdG90eXBlLnNob3dMb2FkQ2hhcnREaWFsb2c9ZnVuY3Rpb24oKXt0aGlzLl9pbm5lckFQSSgpLnNob3dMb2FkQ2hhcnREaWFsb2coKX0sdC5wcm90b3R5cGUuc2hvd1NhdmVBc0NoYXJ0RGlhbG9nPWZ1bmN0aW9uKCl7dGhpcy5faW5uZXJBUEkoKS5zaG93U2F2ZUFzQ2hhcnREaWFsb2coKX0sdC5wcm90b3R5cGUuc3ltYm9sSW50ZXJ2YWw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faW5uZXJBUEkoKS5nZXRTeW1ib2xJbnRlcnZhbCgpfSx0LnByb3RvdHlwZS5tYWluU2VyaWVzUHJpY2VGb3JtYXR0ZXI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faW5uZXJBUEkoKS5tYWluU2VyaWVzUHJpY2VGb3JtYXR0ZXIoKX0sdC5wcm90b3R5cGUuZ2V0SW50ZXJ2YWxzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2lubmVyQVBJKCkuZ2V0SW50ZXJ2YWxzKCl9LHQucHJvdG90eXBlLmdldFN0dWRpZXNMaXN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2lubmVyQVBJKCkuZ2V0U3R1ZGllc0xpc3QoKX0sdC5wcm90b3R5cGUuYWRkQ3VzdG9tQ1NTRmlsZT1mdW5jdGlvbih0KXt0aGlzLl9pbm5lcldpbmRvdygpLmFkZEN1c3RvbUNTU0ZpbGUodCl9LHQucHJvdG90eXBlLmFwcGx5T3ZlcnJpZGVzPWZ1bmN0aW9uKHQpe3RoaXMuX29wdGlvbnM9ZSh0aGlzLl9vcHRpb25zLHtvdmVycmlkZXM6dH0pLHRoaXMuX2lubmVyV2luZG93KCkuYXBwbHlPdmVycmlkZXModCl9LHQucHJvdG90eXBlLmFwcGx5U3R1ZGllc092ZXJyaWRlcz1mdW5jdGlvbih0KXt0aGlzLl9pbm5lcldpbmRvdygpLmFwcGx5U3R1ZGllc092ZXJyaWRlcyh0KX0sdC5wcm90b3R5cGUud2F0Y2hMaXN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2lubmVyQVBJKCkud2F0Y2hsaXN0KCl9LHQucHJvdG90eXBlLmFjdGl2ZUNoYXJ0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2lubmVyQVBJKCkuYWN0aXZlQ2hhcnQoKX0sdC5wcm90b3R5cGUuY2hhcnRzQ291bnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faW5uZXJBUEkoKS5jaGFydHNDb3VudCgpfSx0LnByb3RvdHlwZS5sYXlvdXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faW5uZXJBUEkoKS5sYXlvdXQoKX0sdC5wcm90b3R5cGUuc2V0TGF5b3V0PWZ1bmN0aW9uKHQpe3RoaXMuX2lubmVyQVBJKCkuc2V0TGF5b3V0KHQpfSx0LnByb3RvdHlwZS5fZ2V0SUZyYW1lRWxlbWVudD1mdW5jdGlvbigpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuX2lkKTtpZihudWxsPT09dCl0aHJvdyBuZXcgRXJyb3IoIlRoZXJlIGlzIG5vIHN1Y2ggaWZyYW1lIik7cmV0dXJuIHR9LHQucHJvdG90eXBlLl9pbm5lckFQST1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9nZXRJRnJhbWVFbGVtZW50KCkuY29udGVudFdpbmRvdy50cmFkaW5nVmlld0FwaX0sdC5wcm90b3R5cGUuX2lubmVyV2luZG93PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2dldElGcmFtZUVsZW1lbnQoKS5jb250ZW50V2luZG93fSx0LnByb3RvdHlwZS5fYXV0b1Jlc2l6ZUNoYXJ0PWZ1bmN0aW9uKCl7dGhpcy5fb3B0aW9ucy5mdWxsc2NyZWVuJiYodGhpcy5fZ2V0SUZyYW1lRWxlbWVudCgpLnN0eWxlLmhlaWdodD13aW5kb3cuaW5uZXJIZWlnaHQrInB4Iil9LHQucHJvdG90eXBlLl9jcmVhdGU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dGhpcy5fcmVuZGVyKCksbz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLl9vcHRpb25zLmNvbnRhaW5lcl9pZCk7aWYobnVsbD09PW8pdGhyb3cgbmV3IEVycm9yKCJUaGVyZSBpcyBubyBzdWNoIGVsZW1lbnQgLSAjIit0aGlzLl9vcHRpb25zLmNvbnRhaW5lcl9pZCk7by5pbm5lckhUTUw9ZTt2YXIgaT10aGlzLl9nZXRJRnJhbWVFbGVtZW50KCk7KHRoaXMuX29wdGlvbnMuYXV0b3NpemV8fHRoaXMuX29wdGlvbnMuZnVsbHNjcmVlbikmJihpLnN0eWxlLndpZHRoPSIxMDAlIix0aGlzLl9vcHRpb25zLmZ1bGxzY3JlZW58fChpLnN0eWxlLmhlaWdodD0iMTAwJSIpKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9vbldpbmRvd1Jlc2l6ZSksdGhpcy5fb25XaW5kb3dSZXNpemUoKTt2YXIgbj1mdW5jdGlvbigpe2kucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsbiwhMSksaS5jb250ZW50V2luZG93LndpZGdldFJlYWR5KGZ1bmN0aW9uKCl7dC5fcmVhZHk9ITA7Zm9yKHZhciBlPTAsbz10Ll9yZWFkeUhhbmRsZXJzO2U8by5sZW5ndGg7ZSsrKXtvW2VdLmNhbGwodCl9aS5jb250ZW50V2luZG93LmluaXRpYWxpemF0aW9uRmluaXNoZWQoKX0pfTtpLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLG4sITEpfSx0LnByb3RvdHlwZS5fcmVuZGVyPWZ1bmN0aW9uKCl7dmFyIHQ9d2luZG93O3RbdGhpcy5faWRdPXtkYXRhZmVlZDp0aGlzLl9vcHRpb25zLmRhdGFmZWVkLGN1c3RvbUZvcm1hdHRlcnM6dGhpcy5fb3B0aW9ucy5jdXN0b21Gb3JtYXR0ZXJzLGJyb2tlckZhY3Rvcnk6dGhpcy5fb3B0aW9ucy5icm9rZXJGYWN0b3J5LG92ZXJyaWRlczp0aGlzLl9vcHRpb25zLm92ZXJyaWRlcyxzdHVkaWVzT3ZlcnJpZGVzOnRoaXMuX29wdGlvbnMuc3R1ZGllc19vdmVycmlkZXMsZGlzYWJsZWRGZWF0dXJlczp0aGlzLl9vcHRpb25zLmRpc2FibGVkX2ZlYXR1cmVzLGVuYWJsZWRGZWF0dXJlczp0aGlzLl9vcHRpb25zLmVuYWJsZWRfZmVhdHVyZXMsYnJva2VyQ29uZmlnOnRoaXMuX29wdGlvbnMuYnJva2VyQ29uZmlnLHJlc3RDb25maWc6dGhpcy5fb3B0aW9ucy5yZXN0Q29uZmlnLGZhdm9yaXRlczp0aGlzLl9vcHRpb25zLmZhdm9yaXRlcyxsb2dvOnRoaXMuX29wdGlvbnMubG9nbyxudW1lcmljX2Zvcm1hdHRpbmc6dGhpcy5fb3B0aW9ucy5udW1lcmljX2Zvcm1hdHRpbmcscnNzX25ld3NfZmVlZDp0aGlzLl9vcHRpb25zLnJzc19uZXdzX2ZlZWQsbmV3c1Byb3ZpZGVyOnRoaXMuX29wdGlvbnMubmV3c19wcm92aWRlcixsb2FkTGFzdENoYXJ0OnRoaXMuX29wdGlvbnMubG9hZF9sYXN0X2NoYXJ0LHNhdmVMb2FkQWRhcHRlcjp0aGlzLl9vcHRpb25zLnNhdmVfbG9hZF9hZGFwdGVyLGxvYWRpbmdfc2NyZWVuOnRoaXMuX29wdGlvbnMubG9hZGluZ19zY3JlZW4sc2V0dGluZ3NBZGFwdGVyOnRoaXMuX29wdGlvbnMuc2V0dGluZ3NfYWRhcHRlcn0sdGhpcy5fb3B0aW9ucy5zYXZlZF9kYXRhJiYodFt0aGlzLl9pZF0uY2hhcnRDb250ZW50PXtqc29uOnRoaXMuX29wdGlvbnMuc2F2ZWRfZGF0YX0pO3ZhciBlPSh0aGlzLl9vcHRpb25zLmxpYnJhcnlfcGF0aHx8IiIpKyJzdGF0aWMvdHYtY2hhcnQuZTgxNmE3YTZlZGM5ZGUzZWQ3MDkuaHRtbCNsb2NhbHNlcnZlcj0xJnN5bWJvbD0iK2VuY29kZVVSSUNvbXBvbmVudCh0aGlzLl9vcHRpb25zLnN5bWJvbCkrIiZpbnRlcnZhbD0iK2VuY29kZVVSSUNvbXBvbmVudCh0aGlzLl9vcHRpb25zLmludGVydmFsKSsodGhpcy5fb3B0aW9ucy50aW1lZnJhbWU/IiZ0aW1lZnJhbWU9IitlbmNvZGVVUklDb21wb25lbnQodGhpcy5fb3B0aW9ucy50aW1lZnJhbWUpOiIiKSsodGhpcy5fb3B0aW9ucy50b29sYmFyX2JnPyImdG9vbGJhcmJnPSIrdGhpcy5fb3B0aW9ucy50b29sYmFyX2JnLnJlcGxhY2UoIiMiLCIiKToiIikrKHRoaXMuX29wdGlvbnMuc3R1ZGllc19hY2Nlc3M/IiZzdHVkaWVzQWNjZXNzPSIrZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHRoaXMuX29wdGlvbnMuc3R1ZGllc19hY2Nlc3MpKToiIikrIiZ3aWRnZXRiYXI9IitlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkodGhpcy5fb3B0aW9ucy53aWRnZXRiYXIpKSsodGhpcy5fb3B0aW9ucy5kcmF3aW5nc19hY2Nlc3M/IiZkcmF3aW5nc0FjY2Vzcz0iK2VuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeSh0aGlzLl9vcHRpb25zLmRyYXdpbmdzX2FjY2VzcykpOiIiKSsiJnRpbWVGcmFtZXM9IitlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkodGhpcy5fb3B0aW9ucy50aW1lX2ZyYW1lcykpKyImbG9jYWxlPSIrZW5jb2RlVVJJQ29tcG9uZW50KHRoaXMuX29wdGlvbnMubG9jYWxlKSsiJnVpZD0iK2VuY29kZVVSSUNvbXBvbmVudCh0aGlzLl9pZCkrIiZjbGllbnRJZD0iK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcodGhpcy5fb3B0aW9ucy5jbGllbnRfaWQpKSsiJnVzZXJJZD0iK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcodGhpcy5fb3B0aW9ucy51c2VyX2lkKSkrKHRoaXMuX29wdGlvbnMuY2hhcnRzX3N0b3JhZ2VfdXJsPyImY2hhcnRzU3RvcmFnZVVybD0iK2VuY29kZVVSSUNvbXBvbmVudCh0aGlzLl9vcHRpb25zLmNoYXJ0c19zdG9yYWdlX3VybCk6IiIpKyh0aGlzLl9vcHRpb25zLmNoYXJ0c19zdG9yYWdlX2FwaV92ZXJzaW9uPyImY2hhcnRzU3RvcmFnZVZlcj0iK2VuY29kZVVSSUNvbXBvbmVudCh0aGlzLl9vcHRpb25zLmNoYXJ0c19zdG9yYWdlX2FwaV92ZXJzaW9uKToiIikrKHRoaXMuX29wdGlvbnMuaW5kaWNhdG9yc19maWxlX25hbWU/IiZpbmRpY2F0b3JzRmlsZT0iK2VuY29kZVVSSUNvbXBvbmVudCh0aGlzLl9vcHRpb25zLmluZGljYXRvcnNfZmlsZV9uYW1lKToiIikrKHRoaXMuX29wdGlvbnMuY3VzdG9tX2Nzc191cmw/IiZjdXN0b21DU1M9IitlbmNvZGVVUklDb21wb25lbnQodGhpcy5fb3B0aW9ucy5jdXN0b21fY3NzX3VybCk6IiIpKyh0aGlzLl9vcHRpb25zLmF1dG9fc2F2ZV9kZWxheT8iJmF1dG9TYXZlRGVsYXk9IitlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKHRoaXMuX29wdGlvbnMuYXV0b19zYXZlX2RlbGF5KSk6IiIpKyImZGVidWc9Iit0aGlzLl9vcHRpb25zLmRlYnVnKyh0aGlzLl9vcHRpb25zLnNuYXBzaG90X3VybD8iJnNuYXBzaG90VXJsPSIrZW5jb2RlVVJJQ29tcG9uZW50KHRoaXMuX29wdGlvbnMuc25hcHNob3RfdXJsKToiIikrKHRoaXMuX29wdGlvbnMudGltZXpvbmU/IiZ0aW1lem9uZT0iK2VuY29kZVVSSUNvbXBvbmVudCh0aGlzLl9vcHRpb25zLnRpbWV6b25lKToiIikrKHRoaXMuX29wdGlvbnMuc3R1ZHlfY291bnRfbGltaXQ/IiZzdHVkeUNvdW50TGltaXQ9IitlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKHRoaXMuX29wdGlvbnMuc3R1ZHlfY291bnRfbGltaXQpKToiIikrKHRoaXMuX29wdGlvbnMuc3ltYm9sX3NlYXJjaF9yZXF1ZXN0X2RlbGF5PyImc3NyZXFkZWxheT0iK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcodGhpcy5fb3B0aW9ucy5zeW1ib2xfc2VhcmNoX3JlcXVlc3RfZGVsYXkpKToiIik7cmV0dXJuJzxpZnJhbWUgaWQ9IicrdGhpcy5faWQrJyIgbmFtZT0iJyt0aGlzLl9pZCsnIiAgc3JjPSInK2UrJyInKyh0aGlzLl9vcHRpb25zLmF1dG9zaXplfHx0aGlzLl9vcHRpb25zLmZ1bGxzY3JlZW4/IiI6JyB3aWR0aD0iJyt0aGlzLl9vcHRpb25zLndpZHRoKyciIGhlaWdodD0iJyt0aGlzLl9vcHRpb25zLmhlaWdodCsnIicpKycgZnJhbWVib3JkZXI9IjAiIGFsbG93VHJhbnNwYXJlbmN5PSJ0cnVlIiBzY3JvbGxpbmc9Im5vIiBhbGxvd2Z1bGxzY3JlZW4gc3R5bGU9ImRpc3BsYXk6YmxvY2s7Ij48L2lmcmFtZT4nfSx0fSgpLGQ9YTt3aW5kb3cuVHJhZGluZ1ZpZXc9d2luZG93LlRyYWRpbmdWaWV3fHx7fSx3aW5kb3cuVHJhZGluZ1ZpZXcudmVyc2lvbj1vLHQudmVyc2lvbj1vLHQub25yZWFkeT1pLHQud2lkZ2V0PWQsT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSk7DQo="}},"time_used":10,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":10,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/snowplow-tracker-base.465f8af1aa72ac3a1c32.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.416Z","timestamp":1785120634416,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/snowplow-tracker-base.465f8af1aa72ac3a1c32.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-396d\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:18:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 03400c589ae342ff038f410e8cec311b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":14701,"size_decoded":6832,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3068)","md5":"1edb2832b292eaf1f490fd35fadf61ec","sha1":"40184dc94dd19e2bb7b906af7cc99c694efae8d5","sha256":"68c5b31fb26ad1af6d37dc872285b1e5c9837fed11bba1414d053e93e3728567","sha512":"a575cef153e42834c4fe933e7ec67a2a5442aec23dcf472bb585c8da5b858bfac30b279e03691938a35400b286055406e5a9f34bd3d5e5c8b51f1dbccd902df0","ssdeep":"384:rNtq6SWGLOzCHMJY+Uhb7773Y6cR39CF0msq2k70wcWKd:PjSWGLOuHM4hb7773X3F0msq2k7jcWI","tlshash":"ea62d7887043b09a42d925ef986b5149f7380898740d84b5b651f8d23caed9f63f3ebc","first_seen":"2026-07-24T05:39:08.468159Z","last_seen":"2026-07-27T05:29:38.916714Z","times_seen":158,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s5NTIwN10sezc1Njg1MShlKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1bXSxuPWUubGVuZ3RoLGk9MDtpPG47aSsrKXt2YXIgbz1lLmNoYXJDb2RlQXQoaSk7aWYobz49NTUyOTYmJm88PTU2MzE5JiZuPmkrMSl7dmFyIHI9ZS5jaGFyQ29kZUF0KGkrMSk7cj49NTYzMjAmJnI8PTU3MzQzJiYobz0xMDI0KihvLTU1Mjk2KStyLTU2MzIwKzY1NTM2LGkrPTEpfW88MTI4P3QucHVzaChvKTpvPDIwNDg/KHQucHVzaChvPj42fDE5MiksdC5wdXNoKDYzJm98MTI4KSk6bzw1NTI5Nnx8bz49NTczNDQmJm88NjU1MzY/KHQucHVzaChvPj4xMnwyMjQpLHQucHVzaChvPj42JjYzfDEyOCksdC5wdXNoKDYzJm98MTI4KSk6bz49NjU1MzYmJm88PTExMTQxMTE/KHQucHVzaChvPj4xOHwyNDApLHQucHVzaChvPj4xMiY2M3wxMjgpLHQucHVzaChvPj42JjYzfDEyOCksdC5wdXNoKDYzJm98MTI4KSk6dC5wdXNoKDIzOSwxOTEsMTg5KX1yZXR1cm4gbmV3IFVpbnQ4QXJyYXkodCkuYnVmZmVyfX0sNTA0NDAyKGUsdCxuKXt2YXIgaT1uKDYzODIyMSk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiBlPWkoZV49ZT4+PjE2LDIyNDY4MjI1MDcpLGU9aShlXj1lPj4+MTMsMzI2NjQ4OTkwOSksKGVePWU+Pj4xNik+Pj4wfX0sNjM4MjIxKGUpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9TWF0aC5pbXVsfHxmdW5jdGlvbihlLHQpe3ZhciBuPTY1NTM1JmUsaT02NTUzNSZ0O3JldHVybiBuKmkrKChlPj4+MTYmNjU1MzUpKmkrbioodD4+PjE2JjY1NTM1KTw8MTY+Pj4wKXwwfX0sMTAwNTk1KGUsdCxuKXt2YXIgaT1uKDYzODIyMSksbz1uKDUwNDQwMikscj1uKDc1Njg1MSkscz1uZXcgVWludDMyQXJyYXkoWzM0MzI5MTgzNTMsNDYxODQ1OTA3XSk7ZnVuY3Rpb24gYShlLHQpe3JldHVybiBlPDx0fGU+Pj4zMi10fWUuZXhwb3J0cz1mdW5jdGlvbihlLHQpe2lmKHQ9dD8wfHQ6MCwic3RyaW5nIj09dHlwZW9mIGUmJihlPXIoZSkpLCEoZSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBrZXkgdG8gYmUgQXJyYXlCdWZmZXIgb3Igc3RyaW5nIik7dmFyIG49bmV3IFVpbnQzMkFycmF5KFt0XSk7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPWUuYnl0ZUxlbmd0aC80fDAsbz1uZXcgVWludDMyQXJyYXkoZSwwLG4pLHI9MDtyPG47cisrKW9bcl09aShvW3JdLHNbMF0pLG9bcl09YShvW3JdLDE1KSxvW3JdPWkob1tyXSxzWzFdKSx0WzBdPXRbMF1eb1tyXSx0WzBdPWEodFswXSwxMyksdFswXT1pKHRbMF0sNSkrMzg2NDI5MjE5Nn0oZSxuKSxmdW5jdGlvbihlLHQpe3ZhciBuPWUuYnl0ZUxlbmd0aC80fDAsbz1lLmJ5dGVMZW5ndGglNCxyPTAsYz1uZXcgVWludDhBcnJheShlLDQqbixvKTtzd2l0Y2gobyl7Y2FzZSAzOnJePWNbMl08PDE2O2Nhc2UgMjpyXj1jWzFdPDw4O2Nhc2UgMTpyXj1jWzBdLHI9YShyPWkocixzWzBdKSwxNSkscj1pKHIsc1sxXSksdFswXT10WzBdXnJ9fShlLG4pLGZ1bmN0aW9uKGUsdCl7dFswXT10WzBdXmUuYnl0ZUxlbmd0aCx0WzBdPW8odFswXSl9KGUsbiksbi5idWZmZXJ9fSwzNzcyMjYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7b25XaWRnZXQ6KCk9Pm99KTtjb25zdCBpPW5ldyBNYXA7ZnVuY3Rpb24gbygpe2NvbnN0IGU9d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLHQ9d2luZG93LmxvY2F0aW9uLmhvc3Qsbj1gJHt0fSR7ZX1gO3JldHVybiBpLmhhcyhuKXx8aS5zZXQobixmdW5jdGlvbihlLHQpe2NvbnN0IG49WyJed2lkZ2V0LWRvY3MiXTtmb3IoY29uc3QgZSBvZiBuKWlmKG5ldyBSZWdFeHAoZSkudGVzdCh0KSlyZXR1cm4hMDtjb25zdCBpPVsiXndpZGdldGVtYmVkLz8kIiwiXmNtZXdpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS93aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvd2lkZ2V0c3RhdGljLz8kIiwiXihbMC05YS16QS1aLV0rKT8vP21lZGl1bXdpZGdldGVtYmVkLz8kIiwiXnR3aXR0ZXItY2hhcnQvPyQiLCJedGVsZWdyYW0vY2hhcnQvPyQiLCJeZW1iZWQvKFswLTlhLXpBLVpdezh9KS8/JCIsIl53aWRnZXRwb3B1cC8/JCIsIl5leHRlbnNpb24vPyQiLCJeaWRlYS1wb3B1cC8/JCIsIl5ob3RsaXN0c3dpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS9ob3RsaXN0c3dpZGdldGVtYmVkLz8kIiwiXm1hcmtldG92ZXJ2aWV3d2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL21hcmtldG92ZXJ2aWV3d2lkZ2V0ZW1iZWQvPyQiLCJeZXZlbnRzd2lkZ2V0ZW1iZWQvPyQiLCJedGlja2Vyc3dpZGdldGVtYmVkLz8kIiwiXmZvcmV4Y3Jvc3NyYXRlc3dpZGdldGVtYmVkLz8kIiwiXmZvcmV4aGVhdG1hcHdpZGdldGVtYmVkLz8kIiwiXm1hcmtldHF1b3Rlc3dpZGdldGVtYmVkLz8kIiwiXnNjcmVlbmVyd2lkZ2V0Lz8kIiwiXmNyeXB0b21rdHNjcmVlbmVyd2lkZ2V0Lz8kIiwiXihbMC05YS16QS1aLV0rKS9jcnlwdG9ta3RzY3JlZW5lcndpZGdldC8/JCIsIl4oWzAtOWEtekEtWi1dKykvbWFya2V0cXVvdGVzd2lkZ2V0ZW1iZWQvPyQiLCJedGVjaG5pY2FsLWFuYWx5c2lzLXdpZGdldC1lbWJlZC8kIiwiXnNpbmdsZXF1b3Rld2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL3NpbmdsZXF1b3Rld2lkZ2V0ZW1iZWQvPyQiLCJeZW1iZWQtd2lkZ2V0LyhbMC05YS16QS1aLV0rKS8oKFswLTlhLXpBLVotXSspLyk/JCIsIl53aWRnZXQtZG9jcy8oWzAtOWEtekEtWi1dKykvKFswLTlhLXpBLVotL10rKT8kIl0sbz1lLnJlcGxhY2UoL15cLy8sIiIpO2xldCByO2ZvcihsZXQgZT1pLmxlbmd0aC0xO2U+PTA7ZS0tKWlmKHI9bmV3IFJlZ0V4cChpW2VdKSxyLnRlc3QobykpcmV0dXJuITA7cmV0dXJuITF9KGUsdCkpLGkuZ2V0KG4pPz8hMX19LDU2OTM5OChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtpc0ZlYXR1cmVFbmFibGVkOigpPT5kLG9uRmVhdHVyZXNTdGF0ZUNoYW5nZWQ6KCk9PmN9KQo7dmFyIGk9big5NDgzODApLG89bigzNzcyMjYpLHI9big4NTYxOTYpLHM9big5MzIzNjUpO2NvbnN0IGE9bmV3IGkuRGVsZWdhdGUsYz0oKT0+YSxsPSJmb3JjZWZlYXR1cmV0b2dnbGUuIjtjb25zdCBnPW5ldyBjbGFzc3tlbmFibGVGZWF0dXJlKGUpe3MuVFZMb2NhbFN0b3JhZ2Uuc2V0SXRlbShsK2UsInRydWUiKSxhLmZpcmUoZSl9ZGlzYWJsZUZlYXR1cmUoZSl7cy5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKGwrZSwiZmFsc2UiKSxhLmZpcmUoZSl9cmVzZXRGZWF0dXJlKGUpe3MuVFZMb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShsK2UpLGEuZmlyZShlKX1vbkZlYXR1cmVzU3RhdGVDaGFuZ2VkKCl7cmV0dXJuIGF9fTtmdW5jdGlvbiB1KGUsdCl7cmV0dXJuKCFlW3RdfHwtMSE9PWVbdF0pJiYoISEoInRydWUiPT09cy5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKGwrdCl8fHdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiYidHJ1ZSI9PT13aW5kb3cudXNlcj8uc2V0dGluZ3M/LltsK3RdKXx8ISgiZmFsc2UiPT09cy5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKGwrdCl8fHdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiYiZmFsc2UiPT09d2luZG93LnVzZXI/LnNldHRpbmdzPy5bbCt0XSkmJighIWVbdF0mJigxPT09ZVt0XXx8KDAsci5zaG91bGRBZmZlY3RVc2VyKSh0LGVbdF0pKSkpfXdpbmRvdy5UcmFkaW5nVmlldz13aW5kb3cuVHJhZGluZ1ZpZXd8fHt9LHdpbmRvdy5UcmFkaW5nVmlldy5GZWF0dXJlVG9nZ2xlPWc7Y29uc3QgZD0oaD13aW5kb3cuZmVhdHVyZVRvZ2dsZVN0YXRlfHx7fSwoMCxvLm9uV2lkZ2V0KSgpfHxQcm9taXNlLmFsbChbbi5lKDg1NDM0KSxuLmUoNzI4NSksbi5lKDEzOTkzKV0pLnRoZW4obi5iaW5kKG4sNTA3Mjg1KSkudGhlbigoZT0+e2UucHVzaFN0cmVhbU11bHRpcGxleGVyLm9uKCJmZWF0dXJldG9nZ2xlIiwoZT0+e2NvbnN0IHQ9dShoLGUubmFtZSk7aFtlLm5hbWVdPWUuc3RhdGUsdCE9PXUoaCxlLm5hbWUpJiZhLmZpcmUoZS5uYW1lKX0pKX0pKSx1LmJpbmQobnVsbCxoKSk7dmFyIGg7d2luZG93LlRyYWRpbmdWaWV3LmlzRmVhdHVyZUVuYWJsZWQ9ZH0sMTc5NzcxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2VtaXQ6KCk9PmcsZW1pdE9uY2U6KCk9PnUsb246KCk9PmMsc3Vic2NyaWJlOigpPT5sLHVuc3Vic2NyaWJlOigpPT5hfSk7dmFyIGk9big5NDgzODApO2NvbnN0IG89e30scj1bXSxzPXt9O2Z1bmN0aW9uIGEoZSx0LG4pe29bZV0udW5zdWJzY3JpYmUobix0KX1mdW5jdGlvbiBjKGUsdCxuKXtsKGUsdCxuKX1mdW5jdGlvbiBsKGUsdCxuLHIpe28uaGFzT3duUHJvcGVydHkoZSl8fChvW2VdPW5ldyBpLkRlbGVnYXRlKSxzW2VdP3QuY2FsbChuKTpvW2VdLnN1YnNjcmliZShuLHQscil9ZnVuY3Rpb24gZyhlLC4uLnQpe2NvbnN0IG49W2VdLmNvbmNhdCh0KTtyLmZvckVhY2goKGU9PntlLmFwcGx5KG51bGwsbil9KSksby5oYXNPd25Qcm9wZXJ0eShlKSYmb1tlXS5maXJlLmFwcGx5KG9bZV0sdCl9ZnVuY3Rpb24gdShlKXtzW2VdJiZjb25zb2xlLndhcm4oYFNvbWV0aGluZyB3ZW50IHdyb25nOiBlbWl0T25jZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMgd2l0aCBzYW1lIGV2ZW50ICgke2V9KWApLHNbZV09ITAsZy5hcHBseShudWxsLGFyZ3VtZW50cyl9fSw5MzIzNjUoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7VFZMb2NhbFN0b3JhZ2U6KCk9PnJ9KTtjb25zdCBpPSgwLG4oMjIxMDYxKS5nZXRMb2dnZXIpKCJUVkxvY2FsU3RvcmFnZSIpO3ZhciBvPWZ1bmN0aW9uKCl7dHJ5e3RoaXMuaXNBdmFpbGFibGU9ITAsdGhpcy5sb2NhbFN0b3JhZ2U9d2luZG93LmxvY2FsU3RvcmFnZSx0aGlzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKCJ0dmxvY2Fsc3RvcmFnZS5hdmFpbGFibGUiLCJ0cnVlIil9Y2F0Y2goZSl7ZGVsZXRlIHRoaXMuaXNBdmFpbGFibGUsZGVsZXRlIHRoaXMubG9jYWxTdG9yYWdlfXRoaXMuX3VwZGF0ZUxlbmd0aCgpO3RyeXt0aGlzLl9yZXBvcnQoKX1jYXRjaChlKXt9fTtvLnByb3RvdHlwZS5fcmVwb3J0PWZ1bmN0aW9uKCl7aWYodGhpcy5pc0F2YWlsYWJsZSl7Y29uc3QgZT0xMCx0PVtdO2ZvcihsZXQgZT0wO2U8dGhpcy5sb2NhbFN0b3JhZ2UubGVuZ3RoO2UrKyl7Y29uc3Qgbj10aGlzLmtleShlKTt0LnB1c2goe2tleTpuLGxlbmd0aDpTdHJpbmcodGhpcy5nZXRJdGVtKG4pKS5sZW5ndGh9KX10LnNvcnQoKChlLHQpPT50Lmxlbmd0aC1lLmxlbmd0aCkpO2NvbnN0IG49dC5zbGljZSgwLGUpO3Quc29ydCgoKGUsdCk9PnQua2V5Lmxlbmd0aC1lLmtleS5sZW5ndGgpKTtjb25zdCBvPXQuc2xpY2UoMCxlKTtpLmxvZ05vcm1hbChgVG90YWwgYW1vdW50IG9mIGtleXMgaW4gTG9jYWwgU3RvcmFnZTogJHt0aGlzLmxlbmd0aH1gKSxpLmxvZ05vcm1hbChgVG9wICR7ZX0ga2V5cyB3aXRoIGxvbmdlc3QgdmFsdWVzOiAke0pTT04uc3RyaW5naWZ5KG4pfWApLGkubG9nTm9ybWFsKGBUb3AgJHtlfSBsb25nZXN0IGtleSBuYW1lczogJHtKU09OLnN0cmluZ2lmeShvKX1gKTt0cnl7bmF2aWdhdG9yLnN0b3JhZ2UuZXN0aW1hdGUoKS50aGVuKChlPT57aS5sb2dOb3JtYWwoYFN0b3JhZ2UgZXN0aW1hdGU6ICR7SlNPTi5zdHJpbmdpZnkoZSl9YCl9KSl9Y2F0Y2goZSl7fX19LG8ucHJvdG90eXBlLmxlbmd0aD0wLG8ucHJvdG90eXBlLmlzQXZhaWxhYmxlPSExLG8ucHJvdG90eXBlLmxvY2FsU3RvcmFnZT17InR2bG9jYWxzdG9yYWdlLmF2YWlsYWJsZSI6ImZhbHNlIn0sby5wcm90b3R5cGUuX3VwZGF0ZUxlbmd0aD1mdW5jdGlvbigpe2lmKHRoaXMuaXNBdmFpbGFibGUpdGhpcy5sZW5ndGg9dGhpcy5sb2NhbFN0b3JhZ2UubGVuZ3RoO2Vsc2V7dmFyIGUsdD0wO2ZvcihlIGluIHRoaXMubG9jYWxTdG9yYWdlKXRoaXMubG9jYWxTdG9yYWdlLmhhc093blByb3BlcnR5KGUpJiZ0Kys7dGhpcy5sZW5ndGg9dH19LG8ucHJvdG90eXBlLmtleT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5pc0F2YWlsYWJsZT90aGlzLmxvY2FsU3RvcmFnZS5rZXkoZSk6T2JqZWN0LmtleXModGhpcy5sb2NhbFN0b3JhZ2UpW2VdfSxvLnByb3RvdHlwZS5nZXRJdGVtPWZ1bmN0aW9uKGUpewpyZXR1cm4gdGhpcy5pc0F2YWlsYWJsZT90aGlzLmxvY2FsU3RvcmFnZS5nZXRJdGVtKGUpOnZvaWQgMD09PXRoaXMubG9jYWxTdG9yYWdlW2VdP251bGw6dGhpcy5sb2NhbFN0b3JhZ2VbZV19LG8ucHJvdG90eXBlLnNldEl0ZW09ZnVuY3Rpb24oZSx0KXt0aGlzLmlzQXZhaWxhYmxlP3RoaXMubG9jYWxTdG9yYWdlLnNldEl0ZW0oZSx0KTp0aGlzLmxvY2FsU3RvcmFnZVtlXT10LHRoaXMuX3VwZGF0ZUxlbmd0aCgpfSxvLnByb3RvdHlwZS5yZW1vdmVJdGVtPWZ1bmN0aW9uKGUpe3RoaXMuaXNBdmFpbGFibGU/dGhpcy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShlKTpkZWxldGUgdGhpcy5sb2NhbFN0b3JhZ2VbZV0sdGhpcy5fdXBkYXRlTGVuZ3RoKCl9LG8ucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5pc0F2YWlsYWJsZT90aGlzLmxvY2FsU3RvcmFnZS5jbGVhcigpOnRoaXMubG9jYWxTdG9yYWdlPXt9LHRoaXMuX3VwZGF0ZUxlbmd0aCgpfTtjb25zdCByPW5ldyBvO3dpbmRvdy5UVkxvY2FsU3RvcmFnZT1yfSwxMTczMTMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7aXNPbk1vYmlsZUFwcFBhZ2U6KCk9Pm8sdXJsV2l0aE1vYmlsZUFwcFBhcmFtczooKT0+cn0pO3ZhciBpPW4oNTg3NDM2KTtmdW5jdGlvbiBvKGUsdD0hMSl7Y29uc3R7c2VhcmNoUGFyYW1zOm59PW5ldyBVUkwoU3RyaW5nKGxvY2F0aW9uKSk7bGV0IG89InRydWUiPT09bi5nZXQoIm1vYmlsZWFwcF9uZXciKSxyPSJ0cnVlIj09PW4uZ2V0KCJtb2JpbGVhcHAiKTtpZighdCl7Y29uc3QgZT1pLmdldCgidHZfYXBwIil8fCIiO298fD1bImFuZHJvaWQiLCJhbmRyb2lkX25wcyJdLmluY2x1ZGVzKGUpLHJ8fD0iaW9zIj09PWV9cmV0dXJuISgibmV3IiE9PWUmJiJhbnkiIT09ZXx8IW8pfHwhKCJuZXciPT09ZXx8IXIpfWZ1bmN0aW9uIHIoZSx0PSExKXtpZihvKCJuZXciLHQpKXtjb25zdCB0PW5ldyBVUkwoZSxsb2NhdGlvbi5ocmVmKTt0LnNlYXJjaFBhcmFtcy5zZXQoIm1vYmlsZWFwcF9uZXciLCJ0cnVlIiksZT10LnRvU3RyaW5nKCl9aWYobygib2xkIix0KSl7Y29uc3QgdD1uZXcgVVJMKGUsbG9jYXRpb24uaHJlZik7dC5zZWFyY2hQYXJhbXMuc2V0KCJtb2JpbGVhcHAiLCJ0cnVlIiksZT10LnRvU3RyaW5nKCl9cmV0dXJuIGV9fSw4NTYxOTYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7c2hvdWxkQWZmZWN0VXNlcjooKT0+Y30pO3ZhciBpPW4oMTAwNTk1KSxvPW4ubihpKSxyPW4oOTMyMzY1KTtjb25zdCBzPSJmZWF0dXJldG9nZ2xlX3NlZWQiO2Z1bmN0aW9uIGEoZSl7dHJ5e2NvbnN0IHQ9bygpKGUrZnVuY3Rpb24oKXtpZih3aW5kb3cudXNlciYmd2luZG93LnVzZXIuaWQpcmV0dXJuIHdpbmRvdy51c2VyLmlkO2NvbnN0IGU9ci5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKHMpO2lmKG51bGwhPT1lKXJldHVybiBlO2NvbnN0IHQ9TWF0aC5mbG9vcigxZTYqTWF0aC5yYW5kb20oKSk7cmV0dXJuIHIuVFZMb2NhbFN0b3JhZ2Uuc2V0SXRlbShzLGAke3R9YCksdH0oKSksbj1uZXcgRGF0YVZpZXcodCk7cmV0dXJuIG4uZ2V0VWludDMyKDAsITApLzQyOTQ5NjcyOTZ9Y2F0Y2goZSl7cmV0dXJuLjV9fWZ1bmN0aW9uIGMoZSx0KXtyZXR1cm4gYShlKTw9dH19LDU4NzQzNihlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0LG4saSxvKXtsZXQgcj0iIjtpZihpPWk/IjsgcGF0aD0iK2k6IiIsbz1vPyI7IGRvbWFpbj0iK286IiIsbil7Y29uc3QgZT1uZXcgRGF0ZTtlLnNldFRpbWUoZS5nZXRUaW1lKCkrMjQqbio2MCo2MCoxZTMpLHI9IjsgZXhwaXJlcz0iK2UudG9VVENTdHJpbmcoKX1lbHNlIHI9IiI7ZG9jdW1lbnQuY29va2llPWUrIj0iK3QrcitvK2l9ZnVuY3Rpb24gbyhlKXtjb25zdCB0PWUrIj0iLG49ZG9jdW1lbnQuY29va2llLnNwbGl0KCI7Iik7Zm9yKGxldCBlPTA7ZTxuLmxlbmd0aDtlKyspe2xldCBpPW5bZV07Zm9yKDsiICI9PT1pLmNoYXJBdCgwKTspaT1pLnN1YnN0cmluZygxLGkubGVuZ3RoKTtpZigwPT09aS5pbmRleE9mKHQpKXJldHVybiBpLnN1YnN0cmluZyh0Lmxlbmd0aCxpLmxlbmd0aCl9cmV0dXJuIG51bGx9bi5kKHQse2dldDooKT0+byxzZXQ6KCk9Pml9KX0sNzY4NzYwKGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaSgpe2xldCBlLHQ7cmV0dXJue3Byb21pc2U6bmV3IFByb21pc2UoKChuLGkpPT57ZT1uLHQ9aX0pKSxyZWplY3Q6dCxyZXNvbHZlOmV9fW4uZCh0LHtjcmVhdGVEZWZlcnJlZFByb21pc2U6KCk9Pml9KX0sOTQ4MzgwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0RlbGVnYXRlOigpPT5yfSk7Y29uc3QgaT0oMCxuKDIyMTA2MSkuZ2V0TG9nZ2VyKSgiQ29tbW9uLkRlbGVnYXRlIik7ZnVuY3Rpb24gbyhlKXtyZXR1cm4hZS5zaW5nbGVTaG90fWNsYXNzIHJ7Y29uc3RydWN0b3IoKXt0aGlzLmZpcmU9dGhpcy5fZmlyZUltcGwuYmluZCh0aGlzKSx0aGlzLl9saXN0ZW5lcnM9W119c3Vic2NyaWJlKGUsdCxuKXt0aGlzLl9saXN0ZW5lcnMucHVzaCh7b2JqZWN0OmUsbWVtYmVyOnQsc2luZ2xlU2hvdDohIW4sc2tpcDohMX0pfXVuc3Vic2NyaWJlKGUsdCl7Zm9yKGxldCBuPTA7bjx0aGlzLl9saXN0ZW5lcnMubGVuZ3RoOysrbil7Y29uc3QgaT10aGlzLl9saXN0ZW5lcnNbbl07aWYoaS5vYmplY3Q9PT1lJiZpLm1lbWJlcj09PXQpe2kuc2tpcD0hMCx0aGlzLl9saXN0ZW5lcnMuc3BsaWNlKG4sMSk7YnJlYWt9fX11bnN1YnNjcmliZUFsbChlKXtmb3IobGV0IHQ9dGhpcy5fbGlzdGVuZXJzLmxlbmd0aC0xO3Q+PTA7LS10KXtjb25zdCBuPXRoaXMuX2xpc3RlbmVyc1t0XTtuLm9iamVjdD09PWUmJihuLnNraXA9ITAsdGhpcy5fbGlzdGVuZXJzLnNwbGljZSh0LDEpKX19ZGVzdHJveSgpe3RoaXMuX2xpc3RlbmVycz1bXX1fZmlyZUltcGwoLi4uZSl7Y29uc3QgdD10aGlzLl9saXN0ZW5lcnM7dGhpcy5fbGlzdGVuZXJzPXRoaXMuX2xpc3RlbmVycy5maWx0ZXIobyk7Y29uc3Qgbj10Lmxlbmd0aDtmb3IobGV0IG89MDtvPG47KytvKXtjb25zdCBuPXRbb107aWYoIW4uc2tpcCl0cnl7bi5tZW1iZXIuYXBwbHkobi5vYmplY3R8fG51bGwsZSl9Y2F0Y2goZSl7CmkubG9nRXJyb3IoYCR7ZSYmKGUuc3RhY2t8fGUubWVzc2FnZSl9YCl9fX19fSw2ODA4NDIoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgaTtuLmQodCx7Q29va2llU2V0dGluZ3M6KCk9PmksYmFubmVyUHJpdmFjeVByZWZlcmVuY2VLZXk6KCk9PmgsY2hlY2tCYW5uZXJQcml2YWN5UHJlZmVyZW5jZUtleTooKT0+QSxjb29raWVTZXR0aW5nc0NoYW5nZUV2ZW50OigpPT5sLGdldENvb2tpZVNldHRpbmc6KCk9PiQsaGlkZUJhbm5lcjooKT0+VCxyZWplY3RCYW5uZXI6KCk9Pl8sc2V0Q29va2llU2V0dGluZzooKT0+TH0pLGZ1bmN0aW9uKGUpe2UuQW5hbHl0aWNzPSJhbmFseXRpY3MiLGUuQWR2ZXJ0aXNpbmc9ImFkdmVydGlzaW5nIn0oaXx8KGk9e30pKTt2YXIgbz1uKDE3OTc3MSkscj1uKDc2ODc2MCkscz1uKDkzMjM2NSksYT1uKDE2MDI5NiksYz1uKDU4NzQzNik7Y29uc3QgbD0iY29va2llX3NldHRpbmdzX2NoYW5nZWQiLGc9KCgwLHIuY3JlYXRlRGVmZXJyZWRQcm9taXNlKSgpLHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZS5zcGxpdCgiLiIpKSx1PSgwLGEuaXNMb2NhbCkoKT8iIjoiLiIrZy5zbGljZSgxLGcubGVuZ3RoKS5qb2luKCIuIiksZD0iY29va2llQmFubmVyIixoPSgwLGEuaXNQcm9kKSgpPyJjb29raWVQcml2YWN5UHJlZmVyZW5jZUJhbm5lclByb2R1Y3Rpb24iOiJjb29raWVQcml2YWN5UHJlZmVyZW5jZUJhbm5lckxvY2FsIixwPSJhY2NlcHRlZCIsZj0ibm90QXBwbGljYWJsZSIsbT0icmVqZWN0Iix3PSJjb29raWVzU2V0dGluZ3MiLGI9ImxvY2FsQ29va2llc1NldHRpbmdzIix5PSJjb29raWVQcml2YWN5UHJlZmVyZW5jZUJhbm5lciIsdj17W2kuQW5hbHl0aWNzXTohMSxbaS5BZHZlcnRpc2luZ106ITF9O2Z1bmN0aW9uIFMoKXtyZXR1cm4gcy5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGQpfWZ1bmN0aW9uIGsoZSl7cmV0dXJuW3AsZixtXS5pbmNsdWRlcyhzLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0oZSk/PyIiKX1mdW5jdGlvbiBBKCl7cmV0dXJuIGU9aCxbcCxmLG1dLmluY2x1ZGVzKGMuZ2V0KGUpPz8iIik7dmFyIGV9ZnVuY3Rpb24gVCgpe0kocCl9ZnVuY3Rpb24gXygpe0kobSl9ZnVuY3Rpb24gSShlKXtjLnNldChoLGUsMzY1MywiLyIsdSl9ZnVuY3Rpb24gTChlLHQpe3ZbZV09dCxjLnNldCgoMCxhLmlzUHJvZCkoKT93OmIsSlNPTi5zdHJpbmdpZnkodiksMzY1MywiLyIsdSksby5lbWl0KGwsZSx0KX1mdW5jdGlvbiAkKGUpe3JldHVybiB2W2VdfWZ1bmN0aW9uIFAoKXtyZXR1cm4gcy5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHkpfSFmdW5jdGlvbigpe2NvbnN0IGU9Yy5nZXQoKDAsYS5pc1Byb2QpKCk/dzpiKSx0PXMuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbSh5KSxuPXMuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbSh3KTtpZihlKXt0JiZuJiYoUCgpLHMuVFZMb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh3KSksayhkKSYmUygpO3RyeXtjb25zdCB0PUpTT04ucGFyc2UoZSk7dltpLkFuYWx5dGljc109dD8uW2kuQW5hbHl0aWNzXXx8ITEsdltpLkFkdmVydGlzaW5nXT10Py5baS5BZHZlcnRpc2luZ118fCExfWNhdGNoe319ZWxzZSBpZihrKGQpJiYoTChpLkFuYWx5dGljcywhMCksTChpLkFkdmVydGlzaW5nLCEwKSxUKCksUygpKSx0JiZuKXtjb25zdCBlPUpTT04ucGFyc2Uobik7SSh0KSxMKGkuQW5hbHl0aWNzLGU/LltpLkFuYWx5dGljc10pLEwoaS5BZHZlcnRpc2luZyxlPy5baS5BZHZlcnRpc2luZ10pLFAoKSxzLlRWTG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0odyl9fSgpfSwxNjAyOTYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLnIodCksbi5kKHQse2Vudmlyb25tZW50OigpPT5vLGlzRGVidWc6KCk9PmEsaXNMb2NhbDooKT0+cixpc1Byb2Q6KCk9PnN9KTtjb25zdCBpPW5ldyBTZXQoWyJiYXR0bGUiLCJzdGFnaW5nIiwidGVzdCIsImxvY2FsIl0pO2Z1bmN0aW9uIG8oKXtjb25zdCBlPXNlbGYuZW52aXJvbm1lbnQ7cmV0dXJuIGZ1bmN0aW9uKGUpe2kuaGFzKGUpfHxjb25zb2xlLndhcm4oIkludmFsaWQgZW52aXJvbm1lbnQgIitlKX0oZSksZX1mdW5jdGlvbiByKCl7cmV0dXJuImxvY2FsIj09PW8oKX1mdW5jdGlvbiBzKCl7cmV0dXJuImJhdHRsZSI9PT1vKCl9ZnVuY3Rpb24gYSgpe3JldHVybiFzKCl9fSwzMTg5NzQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Q2hlY2tNb2JpbGU6KCk9PmQsYXBwVmVyc2lvbjooKT0+dSxjaGVja1BhZ2VUeXBlOigpPT5wLGRlc2t0b3BBcHBWZXJzaW9uOigpPT5nLGlzQ2hyb21lOigpPT5mLGlzRGVza3RvcEFwcDooKT0+Yyxpc0VkZ2U6KCk9PncsaXNGRjooKT0+bSxpc0xpbnV4OigpPT5hLGlzTWFjOigpPT5zLGlzU2FmYXJpOigpPT5iLGlzU3ltcGhvbnlFbWJlZDooKT0+bCxvbkdvUHJvOigpPT55LG9uV2lkZ2V0OigpPT5vLm9uV2lkZ2V0LHN1cHBvcnRUb3VjaDooKT0+aH0pO3ZhciBpPW4oNzM4NDU4KSxvPW4oMzc3MjI2KTtjb25zdCByPXdpbmRvdy5UcmFkaW5nVmlldz13aW5kb3cuVHJhZGluZ1ZpZXd8fHt9O2Z1bmN0aW9uIHMoKXtyZXR1cm4gaS5pc01hY31mdW5jdGlvbiBhKCl7cmV0dXJuIGkuaXNMaW51eH1mdW5jdGlvbiBjKCl7cmV0dXJuL1RWRGVza3RvcC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCl9ZnVuY3Rpb24gbCgpe3JldHVybiByLmlzU3ltcGhvbnl8fCExfWZ1bmN0aW9uIGcoKXtjb25zdCBlPW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL1RWRGVza3RvcFwvKFteXHNdKykvKTtyZXR1cm4gZSYmZVsxXX1mdW5jdGlvbiB1KCl7Y29uc3QgZT1uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9UcmFkaW5nVmlld1wvKFteXHNdKykvKTtyZXR1cm4gZSYmZVsxXX1jb25zdCBkPXtBbmRyb2lkOigpPT5pLmlzQW5kcm9pZCxCbGFja0JlcnJ5OigpPT5pLmlzQmxhY2tCZXJyeSxpT1M6KCk9PmkuaXNJT1MsT3BlcmE6KCk9PmkuaXNPcGVyYU1pbmksaXNJUGFkOigpPT5pLmlzSVBhZCxhbnk6KCk9PmkuaXNBbnlNb2JpbGV9O2Z1bmN0aW9uIGgoKXtyZXR1cm4gaS5tb2JpbGV0b3VjaHx8aS50b3VjaHx8aS5pc0FueU1vYmlsZX1mdW5jdGlvbiBwKGUpewpyZXR1cm4gbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKS5nZXQoInBhZ2VfdHlwZSIpPT09ZX1yLmlzTW9iaWxlPWQsci5vbldpZGdldD1vLm9uV2lkZ2V0O2NvbnN0IGY9aS5pc0Nocm9tZSxtPWkuaXNGRix3PWkuaXNFZGdlLGI9aS5pc1NhZmFyaTtmdW5jdGlvbiB5KCl7cmV0dXJuIi9wcmljaW5nLyI9PT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWV9fSw5MjA3MDYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Z2V0U2V0dGluZ3M6KCk9Pmh9KTt2YXIgaT1uKDU2OTM5OCksbz1uKDE3OTc3MSkscj1uKDg3MDY0NCkscz1uKDMxODk3NCksYT1uKDExNzMxMyksYz1uKDY4MDg0Mik7Y29uc3QgbD13aW5kb3cuaW5pdERhdGEuc25vd3Bsb3dTZXR0aW5ncztsZXQgZyx1PSJ3ZWIiLGQ9IiI7aWYoKDAscy5pc0Rlc2t0b3BBcHApKCkmJih1PSJwYyIsZD0iX2Rlc2t0b3AiKSwoMCxhLmlzT25Nb2JpbGVBcHBQYWdlKSgib2xkIik/KHU9Im1vYiIsZD0iX2lvcyIpOigwLGEuaXNPbk1vYmlsZUFwcFBhZ2UpKCJuZXciKSYmKHU9Im1vYiIsZD0iX2FuZHJvaWQiKSxsJiZsLnBhcmFtcyYmbC5lbmFibGVkKXtjb25zdCBlPSEoMCxhLmlzT25Nb2JpbGVBcHBQYWdlKSgiYW55IikmJiEoMCxjLmdldENvb2tpZVNldHRpbmcpKGMuQ29va2llU2V0dGluZ3MuQW5hbHl0aWNzKSYme3dpdGhTZXNzaW9uVHJhY2tpbmc6ITB9O2c9e2NvbGxlY3RvcklkOmwuY29sbGVjdG9ySWQsdXJsOmwudXJsLHBhcmFtczp7YXBwSWQ6bC5wYXJhbXMuYXBwSWQrZCxwbGF0Zm9ybTp1LGRpc2NvdmVyUm9vdERvbWFpbjohMCxjb250ZXh0czp7d2ViUGFnZTohMH0sZXZlbnRNZXRob2Q6ImdldCIsbWF4TG9jYWxTdG9yYWdlUXVldWVTaXplOjMwLGFub255bW91c1RyYWNraW5nOmUsc2Vzc2lvbkNvb2tpZVRpbWVvdXQ6KDAsYy5nZXRDb29raWVTZXR0aW5nKShjLkNvb2tpZVNldHRpbmdzLkFuYWx5dGljcyk/MTgwMDo3Nzc2ZTN9fSwoMCxpLmlzRmVhdHVyZUVuYWJsZWQpKCJzbm93cGxvd19iZWFjb25fZmVhdHVyZSIpJiYoZy5wYXJhbXMuZXZlbnRNZXRob2Q9ImJlYWNvbiIsZy5wYXJhbXMucG9zdFBhdGg9bC5wYXJhbXMucG9zdFBhdGgpfWZ1bmN0aW9uIGgoKXtpZihnKXJldHVybiBnfW8uc3Vic2NyaWJlKGMuY29va2llU2V0dGluZ3NDaGFuZ2VFdmVudCwoKGUsdCk9PntlPT09Yy5Db29raWVTZXR0aW5ncy5BbmFseXRpY3MmJih0PygwLHIuZGlzYWJsZUFub255bW91c1RyYWNraW5nKSgpOigwLHIuZW5hYmxlQW5vbnltb3VzVHJhY2tpbmcpKHtvcHRpb25zOnt3aXRoU2Vzc2lvblRyYWNraW5nOiEwfX0pKX0pLG51bGwpfSw0NzcxNTAoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgaSxvO24uZCh0LHtTbm93cGxvd1RyYWNrZXJCYXNlOigpPT51LGdldFRyYWNrZXJJbnN0YW5jZTooKT0+Z30pLGZ1bmN0aW9uKGUpe2UuV2ViPSJ3ZWIiLGUuTW9iaWxlPSJtb2IiLGUuRGVza3RvcD0icGMifShpfHwoaT17fSkpLGZ1bmN0aW9uKGUpe2UuQW5kcm9pZD0iX2FuZHJvaWQiLGUuSU9TPSJfaW9zIixlLkRlc2t0b3A9Il9kZXNrdG9wIn0ob3x8KG89e30pKTt2YXIgcj1uKDMxODk3NCkscz1uKDg3MDY0NCksYT1uKDkyMDcwNik7bGV0IGM9ITE7bGV0IGw9bnVsbDtmdW5jdGlvbiBnKCl7aWYobnVsbD09PWwpe2NvbnN0IGU9KDAsYS5nZXRTZXR0aW5ncykoKTt2b2lkIDAhPT1lJiYobD1uZXcgdShlKSl9cmV0dXJuIGx9Y2xhc3MgdXtjb25zdHJ1Y3RvcihlKXsoMCxzLm5ld1RyYWNrZXIpKGUuY29sbGVjdG9ySWQsZS51cmwsZS5wYXJhbXMpLHRoaXMuX2NvbGxlY3RvcklkPWUuY29sbGVjdG9ySWQsdGhpcy5fc2V0RGlzY2FyZEJyYWNlKCEwKX10cmFja1BhZ2VWaWV3KCl7KDAscy50cmFja1BhZ2VWaWV3KSh2b2lkIDAsW3RoaXMuX2NvbGxlY3RvcklkXSl9c2V0VXNlcklkKGUpe2NvbnN0IHQ9IWV8fCgwLHIuaXNTeW1waG9ueUVtYmVkKSgpP251bGw6YCR7ZX1gOygwLHMuc2V0VXNlcklkKSh0LFt0aGlzLl9jb2xsZWN0b3JJZF0pfXRyYWNrU2VsZkRlc2MoZSx0KXtjfHwoMCxzLnRyYWNrU2VsZkRlc2NyaWJpbmdFdmVudCkoe2V2ZW50OntzY2hlbWE6ZSxkYXRhOnR9fSxbdGhpcy5fY29sbGVjdG9ySWRdKX1fc2V0RGlzY2FyZEJyYWNlKGUpeygwLHMuZGlzY2FyZEJyYWNlKShlLFt0aGlzLl9jb2xsZWN0b3JJZF0pfV9zdGFydEFjdGl2aXR5V2F0Y2hlcihlKXtsZXQgdD0wO3JldHVybigwLHMuZW5hYmxlQWN0aXZpdHlUcmFja2luZ0NhbGxiYWNrKSh7bWluaW11bVZpc2l0TGVuZ3RoOmUubWluaW11bVZpc2l0TGVuZ3RoLGhlYXJ0YmVhdERlbGF5OmUuaGVhcnRiZWF0RGVsYXksY2FsbGJhY2s6KCk9Pnt0Kyt9fSxbdGhpcy5fY29sbGVjdG9ySWRdKSx7ZGlzYWJsZVRyYWNraW5nOnMuZGlzYWJsZUFjdGl2aXR5VHJhY2tpbmcsZmx1c2hUcmFja2luZ1Jlc3VsdDooKT0+e2NvbnN0IG49dCplLmhlYXJ0YmVhdERlbGF5O3JldHVybiB0PTAsbn19fX19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/symbol-overview-ticker-renderer.49d2df56c83eb94c6f0b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.803Z","timestamp":1785120634803,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/symbol-overview-ticker-renderer.49d2df56c83eb94c6f0b.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"ssltvc.forexprostools.com/cc6698fccca44e51b088d9ddbbcf8ec8/1785120633/7/7/17/marks?symbol=945629\u0026from=1785030900\u0026to=2114380800\u0026resolution=5","fqdn":"ssltvc.forexprostools.com","domain":"forexprostools.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://tvc-invdn-cf-com.investing.com/tool/1.12.10/tool-prod-2-ssl.html?carrier=cc6698fccca44e51b088d9ddbbcf8ec8\u0026time=1785120633\u0026domain_ID=7\u0026lang_ID=7\u0026timezone_ID=17\u0026version=1.12.10\u0026locale=ru\u0026timezone=Europe/Moscow\u0026pair_ID=945629\u0026interval=5\u0026session=24x7\u0026prefix=ru\u0026suffix=\u0026client=0\u0026user=\u0026plotStyle=area\u0026geoc=NO\u0026styleOverride=","date":"2026-07-27T02:50:35.804Z","timestamp":1785120635804,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /cc6698fccca44e51b088d9ddbbcf8ec8/1785120633/7/7/17/marks?symbol=945629\u0026from=1785030900\u0026to=2114380800\u0026resolution=5 HTTP/1.1\r\nHost: ssltvc.forexprostools.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://tvc-invdn-cf-com.investing.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://tvc-invdn-cf-com.investing.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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"247optiontradefx.com/fonts/Montserrat-Regular.woff2","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.265Z","timestamp":1785120633265,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /fonts/Montserrat-Regular.woff2 HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/fonts/stylesheet.css\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: font/woff2\r\nContent-Length: 91812\r\nLast-Modified: Tue, 14 Apr 2026 04:20:06 GMT\r\nConnection: keep-alive\r\nETag: \"69ddc076-166a4\"\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":91812,"size_decoded":92055,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 91812, version 1.0","md5":"c7b975f3e8445b8b780e6e2ddc8fdaaa","sha1":"c841ce9cf891a73112de2f119e8dbdd817469d58","sha256":"fa88ed6dcc00cf660ae6cb9c4bf4fa279d3ce55549ac439f18a87af2f03f1579","sha512":"f2fd70bd2f3688da0362c16a8f7f0679d6c4846a74c7728757502c58dc501f26999392755961a37abbcea10c22278dc4bec2deee7173be87f4b1af3900bc593f","ssdeep":"1536:41boh7FtUAh6+DMtiZAxHLZFQjrQgAYbWKpyI3HEjGeHZT:46h/h6+AtiZwF0Qi6nvG8ZT","tlshash":"549302116c52be2fbeffca035ff9c1a047f4f8699a18f07e275a969b150019c2664bd0","first_seen":"2023-04-19T00:11:12Z","last_seen":"2026-07-27T02:59:54.682049Z","times_seen":563,"resource_available":false,"data":"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"}},"time_used":30,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":29,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/55969.43c3748014de2cd0bd1c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.942Z","timestamp":1785120633942,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/55969.43c3748014de2cd0bd1c.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-79ea\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 6fa7de6274230cb17ce89822a910d070\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":31210,"size_decoded":10275,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"2ffe3f8909cfa5c00f9356969ce56989","sha1":"25fb185c3e390ae4bd33c6395913b100e0a4f6d9","sha256":"7d1513778a61b869e05173da3d33c80b937eaf583aeb370b947947ddcdce4c84","sha512":"2022abb3649827fd1f39c901fc168d99ac273164699e1ca00d77e017ee71f51fb199aac7cb5eb214ba12fe7bfb88a65a777fee03d3f0318dbaa768e188f74d6d","ssdeep":"768:YmdyerAdxxaVWiG7s8trffJtzTrcSWJMAchHTdv5UC1gMgFwMA+Mv60F00rFLfLL:5dyHaZG73TAVFd+60S0RuGpriakk","tlshash":"62e296ca3286733693d1c7850c750903f339a1743c0a55acf6ac6acfbe1a942617ab7d","first_seen":"2026-07-16T13:40:49.785089Z","last_seen":"2026-07-27T05:19:37.163595Z","times_seen":466,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNTU5NjldLHszMDgyMShlLHQscyl7cy5kKHQse0J1c2luZXNzRGF5OigpPT5pfSk7dmFyIG49cyg3MDA4MDkpLHI9cyg5MDI4NDIpO2NsYXNzIGl7Y29uc3RydWN0b3IoZSx0LHMpe3RoaXMuX2RheU9mV2Vlaz1udWxsLHRoaXMueWVhcj1lLHRoaXMubW9udGg9dCx0aGlzLmRheT1zfXRvU3RyaW5nKCl7cmV0dXJuYCR7KDAsci5hZGRMZWFkaW5nWmVyb3MpKHRoaXMueWVhciw0KX0tJHsoMCxyLmFkZExlYWRpbmdaZXJvKSh0aGlzLm1vbnRoKX0tJHsoMCxyLmFkZExlYWRpbmdaZXJvKSh0aGlzLmRheSl9YH10b3l5eXltbWRkKCl7cmV0dXJuYCR7KDAsci5hZGRMZWFkaW5nWmVyb3MpKHRoaXMueWVhciw0KX0keygwLHIuYWRkTGVhZGluZ1plcm8pKHRoaXMubW9udGgpfSR7KDAsci5hZGRMZWFkaW5nWmVybykodGhpcy5kYXkpfWB9Y29tcGFyZVRvKGUpe3JldHVybiB0aGlzLnllYXI+ZS55ZWFyfHx0aGlzLnllYXI9PT1lLnllYXImJnRoaXMubW9udGg+ZS5tb250aHx8dGhpcy55ZWFyPT09ZS55ZWFyJiZ0aGlzLm1vbnRoPT09ZS5tb250aCYmdGhpcy5kYXk+ZS5kYXk/MTp0aGlzLnllYXI9PT1lLnllYXImJnRoaXMubW9udGg9PT1lLm1vbnRoJiZ0aGlzLmRheT09PWUuZGF5PzA6LTF9YmVmb3JlKGUpe3JldHVybi0xPT09dGhpcy5jb21wYXJlVG8oZSl9dG9DYWxlbmRhcihlKXtyZXR1cm4oMCxuLmdldF9jYWwpKGU/PygwLG4uZ2V0X3RpbWV6b25lKSgiRXRjL1VUQyIpLHRoaXMueWVhcix0aGlzLm1vbnRoLTEsdGhpcy5kYXkpfWFkZERheXMoZSl7Y29uc3QgdD10aGlzLnRvQ2FsZW5kYXIoKDAsbi5nZXRfdGltZXpvbmUpKCJFdGMvVVRDIikpO3JldHVybigwLG4uYWRkX2RhdGUpKHQsZSksaS5mcm9tQ2FsZW5kYXIodCl9Zmlyc3REYXlPZlllYXIoKXtyZXR1cm4gbmV3IGkodGhpcy55ZWFyLDEsMSl9Z2V0RGF5T2ZXZWVrKCl7cmV0dXJuIG51bGw9PT10aGlzLl9kYXlPZldlZWsmJih0aGlzLl9kYXlPZldlZWs9KDAsbi5nZXRfZGF5X29mX3dlZWspKHRoaXMudG9DYWxlbmRhcigpKSksdGhpcy5fZGF5T2ZXZWVrfXN0YXRpYyBmcm9tQ2FsZW5kYXIoZSl7cmV0dXJuIG5ldyBpKCgwLG4uZ2V0X3llYXIpKGUpLCgwLG4uZ2V0X21vbnRoKShlKSsxLCgwLG4uZ2V0X2RheV9vZl9tb250aCkoZSkpfX19LDM0MTAzNihlLHQscyl7cy5kKHQse0V4dGVuZGVkRW50cnlEZWNvcmF0b3I6KCk9PkUsT2Zmc2V0RW50cnlEZWNvcmF0b3I6KCk9PnUsU0VTU0lPTl9TUEVDX1NZTUJPTF9CQVJTX09GRlNFVDooKT0+byxTRVNTSU9OX1NQRUNfU1lNQk9MX0VYVEVOREVEOigpPT5oLFNFU1NJT05fU1BFQ19TWU1CT0xfVU5JRklFRDooKT0+YSxTRVNTSU9OX1NQRUNfU1lNQk9MX1VOSUZJRURfU0hJRlRFRDooKT0+ZCxTZXNzaW9uc1NwZWNFbnRyaWVzOigpPT5tLFNlc3Npb25zU3BlY0VudHJ5OigpPT5fLFNlc3Npb25zU3BlY0VudHJ5SW5kZXg6KCk9Pk8sU2Vzc2lvbnNTcGVjSGlzdG9yeUVudHJ5OigpPT5XLFVuaWZpZWRFbnRyeURlY29yYXRvcjooKT0+ayxVbmlmaWVkU2hpZnRlZEVudHJ5RGVjb3JhdG9yOigpPT5wLGNvbXBhcmVTZXNzaW9uRW50cmllczooKT0+eSxpc0V4dGVuZGVkRW50cnk6KCk9PmcsaXNPZmZzZXRFbnRyeTooKT0+bCxpc1VuaWZpZWRFbnRyeTooKT0+Uyxpc1VuaWZpZWRTaGlmdGVkRW50cnk6KCk9PkR9KTt2YXIgbixyPXMoMTM4NjM4KSxpPXMoNzAwODA5KTshZnVuY3Rpb24oZSl7ZVtlLkxlZnRGaXJzdD0tMV09IkxlZnRGaXJzdCIsZVtlLlVuY2hhbmdlZD0wXT0iVW5jaGFuZ2VkIixlW2UuUmlnaHRGaXJzdD0xXT0iUmlnaHRGaXJzdCJ9KG58fChuPXt9KSk7Y29uc3Qgbz0iQSIsYT0iVSIsZD0iUyIsaD0iRSI7ZnVuY3Rpb24gZihlKXtyZXR1cm4gZT49MD8wOmUlaS5taW51dGVzUGVyRGF5PT0wPy1lL2kubWludXRlc1BlckRheToxLU1hdGgudHJ1bmMoZS9pLm1pbnV0ZXNQZXJEYXkpfWZ1bmN0aW9uIHkoZSx0KXtyZXR1cm4gZS5jb21wYXJlVG8odCl9dmFyIGM7IWZ1bmN0aW9uKGUpe2VbZS5Ob25lPTBdPSJOb25lIixlW2UuRXh0ZW5kZWRFbnRyeT0xXT0iRXh0ZW5kZWRFbnRyeSIsZVtlLk9mZnNldEVudHJ5PTJdPSJPZmZzZXRFbnRyeSIsZVtlLlVuaWZpZWRFbnRyeT0zXT0iVW5pZmllZEVudHJ5IixlW2UuVW5pZmllZFNoaWZ0ZWRFbnRyeT00XT0iVW5pZmllZFNoaWZ0ZWRFbnRyeSJ9KGN8fChjPXt9KSk7Y2xhc3MgX3tjb25zdHJ1Y3RvcihlLHQscyl7dGhpcy5kZWNvcmF0b3JUeXBlPTAsKDAsci5hc3NlcnQpKE51bWJlci5pc0Zpbml0ZShlKSYmTnVtYmVyLmlzRmluaXRlKHQpJiZOdW1iZXIuaXNGaW5pdGUocyksIkludmFsaWQgYXJndW1lbnRzIiksdGhpcy5fZGF5T2ZXZWVrPWUsdGhpcy5fc3RhcnQ9dCx0aGlzLl9sZW5ndGg9c31zdGFydCgpe3JldHVybiB0aGlzLl9zdGFydCtpLm1pbnV0ZXNQZXJEYXkqdGhpcy5zZXNzaW9uU3RhcnREYXlzT2Zmc2V0KCl9c3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fc3RhcnR9ZW5kT2Zmc2V0KCl7cmV0dXJuIHRoaXMuX3N0YXJ0K3RoaXMuX2xlbmd0aH1zZXNzaW9uU3RhcnREYXlzT2Zmc2V0KCl7cmV0dXJuIGYodGhpcy5fc3RhcnQpfWlzT3Zlcm5pZ2h0KCl7cmV0dXJuIHRoaXMuX3N0YXJ0PDB9ZGF5T2ZXZWVrKCl7cmV0dXJuIHRoaXMuX2RheU9mV2Vla31zZXNzaW9uU3RhcnREYXlPZldlZWsoKXtsZXQgZT10aGlzLl9kYXlPZldlZWstdGhpcy5zZXNzaW9uU3RhcnREYXlzT2Zmc2V0KCk7cmV0dXJuIGU8aS5TVU5EQVkmJihlKz03KSxlfWxlbmd0aCgpe3JldHVybiB0aGlzLl9sZW5ndGh9aXNFeHRlbmRlZCgpe3JldHVybiExfWV4dGVuZGVkU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5zdGFydE9mZnNldCgpfWV4dGVuZGVkRW5kT2Zmc2V0KCl7cmV0dXJuIHRoaXMuZW5kT2Zmc2V0KCl9Y29tcGFyZVRvKGUpe2NvbnN0IHQ9dGhpcy5fd2VpZ2h0KCkscz10K3RoaXMuX2xlbmd0aCxuPWUuX3dlaWdodCgpLHI9bitlLl9sZW5ndGgKO3JldHVybiB0PD1uJiZuPHN8fG48PXQmJnQ8cj8wOnQ+bj8xOi0xfWNvbnRhaW5zKGUpe3JldHVybiB0aGlzLl9jb250YWlucygoMCxpLmdldF9taW51dGVzX3dpdGhfaG91cnMpKGUpLCgwLGkuZ2V0X2RheV9vZl93ZWVrKShlKSl9X3dlaWdodCgpe3JldHVybiB0aGlzLl9kYXlPZldlZWsqaS5taW51dGVzUGVyRGF5K3RoaXMuX3N0YXJ0fV9jb250YWlucyhlLHQpe2xldCBzPXQtdGhpcy5fZGF5T2ZXZWVrO3M+MCYmKHMtPTcpO2NvbnN0IG49cyppLm1pbnV0ZXNQZXJEYXkrZTtyZXR1cm4gbj49dGhpcy5fc3RhcnQmJm48dGhpcy5fc3RhcnQrdGhpcy5fbGVuZ3RofX1mdW5jdGlvbiBsKGUpe3JldHVybiAyPT09ZS5kZWNvcmF0b3JUeXBlfWNsYXNzIHUgZXh0ZW5kcyBfe2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZS5kYXlPZldlZWsoKSxlLnN0YXJ0T2Zmc2V0KCksZS5sZW5ndGgoKSksdGhpcy5kZWNvcmF0b3JUeXBlPTIsdGhpcy5fZW50cnk9ZSx0aGlzLl9iYXJzT2Zmc2V0PXR9Z2V0RW50cnkoKXtyZXR1cm4gdGhpcy5fZW50cnl9YmFyc09mZnNldCgpe3JldHVybiB0aGlzLl9iYXJzT2Zmc2V0fWlzRXh0ZW5kZWQoKXtyZXR1cm4gdGhpcy5fZW50cnkuaXNFeHRlbmRlZCgpfWV4dGVuZGVkU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fZW50cnkuZXh0ZW5kZWRTdGFydE9mZnNldCgpfWV4dGVuZGVkRW5kT2Zmc2V0KCl7cmV0dXJuIHRoaXMuX2VudHJ5LmV4dGVuZGVkRW5kT2Zmc2V0KCl9fWZ1bmN0aW9uIGcoZSl7cmV0dXJuIDE9PT1lLmRlY29yYXRvclR5cGV9Y2xhc3MgRSBleHRlbmRzIF97Y29uc3RydWN0b3IoZSx0LHMpe3N1cGVyKGUuZGF5T2ZXZWVrKCksZS5zdGFydE9mZnNldCgpLGUubGVuZ3RoKCkpLHRoaXMuZGVjb3JhdG9yVHlwZT0xLHRoaXMuX2VudHJ5PWUsdGhpcy5fZXh0ZW5kZWRTdGFydE9mZnNldD10LHRoaXMuX2V4dGVuZGVkRW5kT2Zmc2V0PXN9Z2V0RW50cnkoKXtyZXR1cm4gdGhpcy5fZW50cnl9aXNFeHRlbmRlZCgpe3JldHVybiEwfWV4dGVuZGVkU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fZXh0ZW5kZWRTdGFydE9mZnNldH1leHRlbmRlZEVuZE9mZnNldCgpe3JldHVybiB0aGlzLl9leHRlbmRlZEVuZE9mZnNldH1leHRlbmRlZFN0YXJ0RGF5c09mZnNldCgpe3JldHVybiBmKHRoaXMuX2V4dGVuZGVkU3RhcnRPZmZzZXQpfWV4dGVuZGVkRW5kRGF5c09mZnNldCgpe3JldHVybiBmKHRoaXMuX2V4dGVuZGVkRW5kT2Zmc2V0KX19ZnVuY3Rpb24gUyhlKXtyZXR1cm4gMz09PWUuZGVjb3JhdG9yVHlwZX1jbGFzcyBrIGV4dGVuZHMgX3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUuZGF5T2ZXZWVrKCksZS5zdGFydE9mZnNldCgpLGUubGVuZ3RoKCkpLHRoaXMuZGVjb3JhdG9yVHlwZT0zLHRoaXMuX2VudHJ5PWUsdGhpcy5fdW5pZmllZEVudHJpZXM9dCx0LnB1c2godGhpcyl9Z2V0RW50cnkoKXtyZXR1cm4gdGhpcy5fZW50cnl9Z2V0VW5pZmllZEVudHJpZXMoKXtyZXR1cm4gdGhpcy5fdW5pZmllZEVudHJpZXN9aGFzRXh0ZW5kZWRFbnRyeSgpe3JldHVybiB0aGlzLl91bmlmaWVkRW50cmllcy5zb21lKChlPT5lLmlzRXh0ZW5kZWQoKSkpfWlzRXh0ZW5kZWQoKXtyZXR1cm4gdGhpcy5fZW50cnkuaXNFeHRlbmRlZCgpfWV4dGVuZGVkU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fZW50cnkuZXh0ZW5kZWRTdGFydE9mZnNldCgpfWV4dGVuZGVkRW5kT2Zmc2V0KCl7cmV0dXJuIHRoaXMuX2VudHJ5LmV4dGVuZGVkRW5kT2Zmc2V0KCl9fWZ1bmN0aW9uIEQoZSl7cmV0dXJuIDQ9PT1lLmRlY29yYXRvclR5cGV9Y2xhc3MgcCBleHRlbmRzIF97Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLmRheU9mV2VlaygpLGUuc3RhcnRPZmZzZXQoKSxlLmxlbmd0aCgpKSx0aGlzLmRlY29yYXRvclR5cGU9NCx0aGlzLl9lbnRyeT1lLHRoaXMuX3VuaWZpZWRFbnRyaWVzPXQsdC5wdXNoKHRoaXMpfWdldEVudHJ5KCl7cmV0dXJuIHRoaXMuX2VudHJ5fWdldFVuaWZpZWRFbnRyaWVzKCl7cmV0dXJuIHRoaXMuX3VuaWZpZWRFbnRyaWVzfWhhc0V4dGVuZGVkRW50cnkoKXtyZXR1cm4gdGhpcy5fdW5pZmllZEVudHJpZXMuc29tZSgoZT0+ZS5pc0V4dGVuZGVkKCkpKX1pc0V4dGVuZGVkKCl7cmV0dXJuIHRoaXMuX2VudHJ5LmlzRXh0ZW5kZWQoKX1leHRlbmRlZFN0YXJ0T2Zmc2V0KCl7cmV0dXJuIHRoaXMuX2VudHJ5LmV4dGVuZGVkU3RhcnRPZmZzZXQoKX1leHRlbmRlZEVuZE9mZnNldCgpe3JldHVybiB0aGlzLl9lbnRyeS5leHRlbmRlZEVuZE9mZnNldCgpfX1jbGFzcyBPe2NvbnN0cnVjdG9yKGUsdCxzKXt0aGlzLndlZWtJbmRleD1lLHRoaXMuZW50cnlJbmRleD10LHRoaXMuZW50cmllcz1zfWdldEVudHJ5KCl7cmV0dXJuIHRoaXMuZW50cmllc1t0aGlzLmVudHJ5SW5kZXhdfX1jbGFzcyBte2NvbnN0cnVjdG9yKGUsdCxzLG4pe3RoaXMuX21heFRyYWRpbmdEYXlMZW5ndGg9bnVsbCx0aGlzLl9saXN0PWUsdGhpcy5fZW50cmllc0J5RGF5PXQsdGhpcy5fZmlyc3REYXlPZldlZWs9cyx0aGlzLl93ZWVrRW5kc0NvdW50PW59Zmlyc3REYXlPZldlZWsoKXtyZXR1cm4gdGhpcy5fZmlyc3REYXlPZldlZWt9ZW50cmllc0J5RGF5KCl7cmV0dXJuIHRoaXMuX2VudHJpZXNCeURheX1saXN0KCl7cmV0dXJuIHRoaXMuX2xpc3R9aXNXZWVrRW5kKGUpe3JldHVybiF0aGlzLl9lbnRyaWVzQnlEYXkuaGFzKGUpfXdlZWtFbmRzQ291bnQoKXtyZXR1cm4gdGhpcy5fd2Vla0VuZHNDb3VudH1sb25nZXN0U2Vzc2lvbkxlbmd0aCgpe3JldHVybiAwPT09dGhpcy5fbGlzdC5sZW5ndGg/MDpNYXRoLm1heCguLi50aGlzLl9saXN0Lm1hcCgoZT0+ZS5sZW5ndGgoKSkpKX1tYXhUcmFkaW5nRGF5TGVuZ3RoKCl7aWYobnVsbD09dGhpcy5fbWF4VHJhZGluZ0RheUxlbmd0aCl7Y29uc3QgZT1uZXcgTWFwO2Zvcihjb25zdCB0IG9mIHRoaXMuX2xpc3Qpe2NvbnN0IHM9dC5kYXlPZldlZWsoKTtlLnNldChzLHQubGVuZ3RoKCkrKGUuZ2V0KHMpPz8wKSl9bGV0IHQ9MDtlLmZvckVhY2goKGU9Pnt0PU1hdGgubWF4KHQsZSl9KSksdGhpcy5fbWF4VHJhZGluZ0RheUxlbmd0aD10fQpyZXR1cm4gdGhpcy5fbWF4VHJhZGluZ0RheUxlbmd0aH19Y2xhc3MgV3tjb25zdHJ1Y3RvcihlLHQscyl7dGhpcy5fc3RhcnREYXk9ZSx0aGlzLl9lbnRyaWVzPXMsdGhpcy5fc3BlY0VuZERheT10fWdldEVudHJpZXMoKXtyZXR1cm4gdGhpcy5fZW50cmllc31nZXRTdGFydERheSgpe3JldHVybiB0aGlzLl9zdGFydERheX1nZXRTcGVjRW5kRGF5KCl7cmV0dXJuIHRoaXMuX3NwZWNFbmREYXl9aXNPcGVuRW5kZWQoKXtyZXR1cm4gbnVsbD09dGhpcy5fc3BlY0VuZERheX19fSwzMjkwNDEoZSx0LHMpe3MuZCh0LHtTZXNzaW9uc1NwZWNQYXJzZXI6KCk9Pmcsd29ya2luZ0RheXNBbmRXZWVrRW5kczooKT0+ZH0pO3ZhciBuPXMoMTM4NjM4KSxyPXMoNzAwODA5KSxpPXMoMzA4MjEpLG89cygzNDEwMzYpO2NvbnN0IGE9W3IuTU9OREFZLHIuVFVFU0RBWSxyLldFRE5FU0RBWSxyLlRIVVJTREFZLHIuRlJJREFZXSxkPVtyLlNVTkRBWSxyLk1PTkRBWSxyLlRVRVNEQVksci5XRURORVNEQVksci5USFVSU0RBWSxyLkZSSURBWSxyLlNBVFVSREFZXTtmdW5jdGlvbiBoKGUpe3JldHVybiBlPj00OCYmZTw9NTd9Y29uc3QgZj1bMCwzMSwyOCwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV07Y2xhc3MgeSBleHRlbmRzIE1hcHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fa2V5U3RyaW5nc1RvS2V5PW5ldyBNYXB9Z2V0KGUpe2NvbnN0IHQ9dGhpcy5fa2V5U3RyaW5nc1RvS2V5LmdldChlLnRvU3RyaW5nKCkpO3JldHVybiB0JiZzdXBlci5nZXQodCl9c2V0KGUsdCl7Y29uc3Qgcz1lLnRvU3RyaW5nKCksbj10aGlzLl9rZXlTdHJpbmdzVG9LZXkuZ2V0KHMpO3JldHVybiB2b2lkIDAhPT1uJiZzdXBlci5kZWxldGUobiksdGhpcy5fa2V5U3RyaW5nc1RvS2V5LnNldChzLGUpLHN1cGVyLnNldChlLHQpfWhhcyhlKXtyZXR1cm4gdGhpcy5fa2V5U3RyaW5nc1RvS2V5LmhhcyhlLnRvU3RyaW5nKCkpfX1mdW5jdGlvbiBjKGUpe3JldHVybiBlLmxlbmd0aD4wfWZ1bmN0aW9uIF8oZSl7cmV0dXJuIDA9PT1lP3IubWludXRlc1BlckRheTplfWZ1bmN0aW9uIGwoZSx0LHMsbil7cmV0dXJuIHM9PT1uJiZ0PD1lP3MrMTpzfWZ1bmN0aW9uIHUoZSx0KXtpZihlPDB8fGU+PTcpdGhyb3cgbmV3IEVycm9yKGBlcnJvciBwYXJzaW5nIHNlc3Npb24sICR7dH0gY2Fubm90IGJlIG91dHNpZGUgWzAsNyksICR7dH09JHtlfWApfWNsYXNzIGd7Y29uc3RydWN0b3IoKXt0aGlzLmhpc3RvcnlFbnRyaWVzPVtdLHRoaXMudGltZXpvbmU9IiIsdGhpcy5hZGp1c3RTZXNzaW9uc0luZGV4ZXM9bnVsbH1wYXJzZVNlc3Npb25zKGUsdCl7dGhpcy5fcGFyc2VIaXN0b3J5RW50cmllcyhlLHQsITEpfXBhcnNlU2Vzc2lvbnNBbmRWYWxpZGF0ZURhdGVUaW1lKGUsdCl7dGhpcy5fcGFyc2VIaXN0b3J5RW50cmllcyhlLHQsITApfXN0YXRpYyBwYXJzZUhvbGlkYXlzQW5kQ29ycmVjdGlvbnMoZSx0LHMsbil7cmV0dXJuIHRoaXMuX3BhcnNlSG9saWRheXNBbmRDb3JyZWN0aW9uc0ltcGwoZSx0LHMsbil9c3RhdGljIHBhcnNlSG9saWRheXNBbmRDb3JyZWN0aW9uc0FuZFZhbGlkYXRlRGF0ZVRpbWUoZSx0LHMpe3JldHVybiB0aGlzLl9wYXJzZUhvbGlkYXlzQW5kQ29ycmVjdGlvbnNJbXBsKGUsdCxzLCEwKX1fY2xlYXJBbGwoKXt0aGlzLnRpbWV6b25lPSIiLHRoaXMuaGlzdG9yeUVudHJpZXM9W10sdGhpcy5hZGp1c3RTZXNzaW9uc0luZGV4ZXM9W119X3BhcnNlSGlzdG9yeUVudHJpZXMoZSx0LHMpe3RoaXMuX2NsZWFyQWxsKCk7Y29uc3Qgbj10LnNwbGl0KCIvIik7bGV0IHI9bnVsbCxpPW51bGw7dGhpcy5oYXNIaXN0b3J5Q29ycmVjdGlvbnM9bi5sZW5ndGg+MTtmb3IobGV0IHQ9MDt0PG4ubGVuZ3RoO3QrKyl7Y29uc3QgYT1uW3RdLnNwbGl0KCIjIik7bGV0IGQ9bnVsbDtpZih0IT09bi5sZW5ndGgtMSl7aWYoMiE9PWEubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb24gaGlzdG9yeSBlbnRyeSBkZWZpbml0aW9uOiAke25bdF19YCk7ZD1nLl9wYXJzZURheShhWzFdLCJzZXNzaW9uIGhpc3RvcnkgZW50cnkgZW5kIixzKS50b0NhbGVuZGFyKCl9ZWxzZXtpZigxIT09YS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKGBiYWQgc2Vzc2lvbiBoaXN0b3J5IGVudHJ5IGRlZmluaXRpb246ICR7blt0XX1gKTtkPW51bGx9aWYobnVsbCE9PWkmJm51bGwhPT1kJiZkLmdldFRpbWUoKTxpLmdldFRpbWUoKSl0aHJvdyBuZXcgRXJyb3IoYGhpc3Rvcnkgc2Vzc2lvbnMgYXJlIG5vdCBsaXN0ZWQgaW4gYXNjZW5kaW5nIG9yZGVyICgke2l9IC0+ICR7ZH1gKTtjb25zdCBoPXRoaXMuX3BhcnNlU2Vzc2lvbnNJbXBsKGUsYVswXSxzKTtyPXRoaXMuX2FkanVzdFN0YXJ0VG9QcmV2aW91c1Nlc3Npb24oaC5maXJzdERheU9mV2VlaygpKTtjb25zdCBmPW5ldyBvLlNlc3Npb25zU3BlY0hpc3RvcnlFbnRyeShyLGQsaCk7dGhpcy5oaXN0b3J5RW50cmllcy5wdXNoKGYpLGk9ZH19X3BhcnNlU2Vzc2lvbnNJbXBsKGUsdCxzKXt0aGlzLnRpbWV6b25lPWUsdD10aGlzLl9wYXJzZUZpcnN0RGF5T2ZXZWVrKHQpO2NvbnN0IG49bmV3IE1hcCxyPVtdO2lmKCIyNHg3Ij09PXQudG9Mb3dlckNhc2UoKSlmb3IoY29uc3QgZSBvZiBkKXtjb25zdCB0PWcuX2NyZWF0ZVNlc3Npb25FbnRyeShlLDAsMCwwLDApO3IucHVzaCh0KTtjb25zdCBzPVtdO3MucHVzaCh0KSxuLnNldChlLHMpfWVsc2V7bGV0IGU9ITE7Y29uc3QgaT1uZXcgTWFwO2Zvcihjb25zdCBzIG9mIHQuc3BsaXQoInwiKSl7Y29uc3QgdD1zLnNwbGl0KCI6IikuZmlsdGVyKGMpO2lmKDEhPT10Lmxlbmd0aCYmMiE9PXQubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb24gc2VjdGlvbjogJHtzfWApO2NvbnN0IG49MT09PXQubGVuZ3RoO2lmKG4pe2lmKGUpdGhyb3cgbmV3IEVycm9yKGBkdXBsaWNhdGVkIGRlZmF1bHQgc2VjdGlvbjogJHtzfWApO2U9ITB9Y29uc3Qgcj1uP2E6Zy5fcGFyc2VXb3JraW5nRGF5cyh0WzFdKTtmb3IoY29uc3QgZSBvZiByKW4mJmkuaGFzKGUpfHxpLnNldChlLHRbMF0pfWZvcihjb25zdCBlIG9mIGQpe2NvbnN0IHQ9aS5nZXQoZSkKO2lmKHZvaWQgMD09PXQpY29udGludWU7Y29uc3Qgbz1nLl9wYXJzZVNlc3Npb25EYXkoZSx0LHMpO2xldCBhPW4uZ2V0KGUpO3ZvaWQgMD09PWEmJihhPVtdLG4uc2V0KGUsYSkpO2Zvcihjb25zdCBlIG9mIG8pYS5wdXNoKGUpLHIucHVzaChlKX19ci5zb3J0KG8uY29tcGFyZVNlc3Npb25FbnRyaWVzKTtjb25zdCBpPW5ldyBTZXQ7Zm9yKGNvbnN0IGUgb2YgcilpLmFkZChlLmRheU9mV2VlaygpKTtjb25zdCBoPTctaS5zaXplO3JldHVybiBuZXcgby5TZXNzaW9uc1NwZWNFbnRyaWVzKHIsbix0aGlzLl9maXJzdERheU9mV2VlayxoKX1fcGFyc2VGaXJzdERheU9mV2VlayhlKXtjb25zdCB0PWUuc3BsaXQoIjsiKTtpZih0aGlzLl9maXJzdERheU9mV2Vlaz1yLk1PTkRBWSx0Lmxlbmd0aD4yKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb25zIHNwZWM6ICR7ZX1gKTtpZigxPT09dC5sZW5ndGgpcmV0dXJuIGU7bGV0IHM9MTtsZXQgbj10WzBdLmluZGV4T2YoIi0iKT49MD9OYU46cGFyc2VJbnQodFswXSk7aWYoaXNOYU4obikmJihzPTAsbj1wYXJzZUludCh0WzFdKSksbjxyLlNVTkRBWXx8bj5yLlNBVFVSREFZKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb25zIHNwZWM6ICR7ZX1gKTtyZXR1cm4gdGhpcy5fZmlyc3REYXlPZldlZWs9bix0W3NdfV9hZGp1c3RTdGFydFRvUHJldmlvdXNTZXNzaW9uKGUpe2lmKDA9PT10aGlzLmhpc3RvcnlFbnRyaWVzLmxlbmd0aClyZXR1cm4gbnVsbDtjb25zdCB0PSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5oaXN0b3J5RW50cmllc1t0aGlzLmhpc3RvcnlFbnRyaWVzLmxlbmd0aC0xXS5nZXRTcGVjRW5kRGF5KCkpLHM9ZS0oMCxyLmdldF9kYXlfb2Zfd2VlaykodCk7aWYoMD09PXMpcmV0dXJuIHQ7Y29uc3QgaT0oMCxyLmNsb25lKSh0KTtyZXR1cm4oMCxyLmFkZF9kYXRlKShpLHMpLHQuZ2V0VGltZSgpPGkuZ2V0VGltZSgpfHwoMCxyLmFkZF9kYXRlKShpLDcpLGl9c3RhdGljIF9wYXJzZVNlc3Npb25EYXkoZSx0LHMpe2NvbnN0IG49W107Zm9yKGNvbnN0IHIgb2YgdC5zcGxpdCgiLCIpLmZpbHRlcihjKSlpZihyLmluY2x1ZGVzKG8uU0VTU0lPTl9TUEVDX1NZTUJPTF9VTklGSUVEKSl7Y29uc3QgaT1yLnNwbGl0KG8uU0VTU0lPTl9TUEVDX1NZTUJPTF9VTklGSUVEKSxhPVtdO2ZvcihsZXQgcj0wO3I8aS5sZW5ndGg7cisrKXtjb25zdCBkPXRoaXMuX3BhcnNlVW5pZmllZEludGVydmFsKGUsdCxpW3JdLDA9PT1yLHMpO24ucHVzaChuZXcgby5VbmlmaWVkRW50cnlEZWNvcmF0b3IoZCxhKSl9YS5zb3J0KG8uY29tcGFyZVNlc3Npb25FbnRyaWVzKX1lbHNlIGlmKHIuaW5jbHVkZXMoby5TRVNTSU9OX1NQRUNfU1lNQk9MX1VOSUZJRURfU0hJRlRFRCkpe2NvbnN0IGk9ci5zcGxpdChvLlNFU1NJT05fU1BFQ19TWU1CT0xfVU5JRklFRF9TSElGVEVEKSxhPVtdO2ZvcihsZXQgcj0wO3I8aS5sZW5ndGg7cisrKXtjb25zdCBkPXRoaXMuX3BhcnNlVW5pZmllZEludGVydmFsKGUsdCxpW3JdLDA9PT1yLHMpO24ucHVzaChuZXcgby5VbmlmaWVkU2hpZnRlZEVudHJ5RGVjb3JhdG9yKGQsYSkpfWEuc29ydChvLmNvbXBhcmVTZXNzaW9uRW50cmllcyl9ZWxzZSBuLnB1c2godGhpcy5fcGFyc2VTZXNzaW9uRW50cnkoZSxyLHMpKTtyZXR1cm4gbn1zdGF0aWMgX3BhcnNlVW5pZmllZEludGVydmFsKGUsdCxzLG4scil7aWYoIW4mJnMuaW5jbHVkZXMoby5TRVNTSU9OX1NQRUNfU1lNQk9MX0JBUlNfT0ZGU0VUKSl0aHJvdyBuZXcgRXJyb3IoYGJhZCBzZXNzaW9uOiAke3R9LiBVbmlmaWVkIGludGVydmFscyBjYW4gY29udGFpbiBvbmx5IG9uZSAnJHtvLlNFU1NJT05fU1BFQ19TWU1CT0xfQkFSU19PRkZTRVR9Jy4gU3BlY2lmeSAnJHtvLlNFU1NJT05fU1BFQ19TWU1CT0xfQkFSU19PRkZTRVR9JyBvbmx5IGZvciB0aGUgZmlyc3QgaW50ZXJ2YWxgKTtyZXR1cm4gdGhpcy5fcGFyc2VTZXNzaW9uRW50cnkoZSxzLHIpfXN0YXRpYyBfcGFyc2VTZXNzaW9uRW50cnkoZSx0LHMpe2NvbnN0IG49dC5zcGxpdChvLlNFU1NJT05fU1BFQ19TWU1CT0xfRVhURU5ERUQpO2lmKG4ubGVuZ3RoPjIpdGhyb3cgbmV3IEVycm9yKGBiYWQgc2Vzc2lvbjogJHt0fS4gT25seSBvbmUgJyR7by5TRVNTSU9OX1NQRUNfU1lNQk9MX0VYVEVOREVEfScgaXMgYWxsb3dlZCBwZXIgc2Vzc2lvbiBpbnRlcnZhbGApO2NvbnN0IHI9blswXS5zcGxpdChvLlNFU1NJT05fU1BFQ19TWU1CT0xfQkFSU19PRkZTRVQpO2lmKHIubGVuZ3RoPjIpdGhyb3cgbmV3IEVycm9yKGBiYWQgc2Vzc2lvbjogJHt0fS4gT25seSBvbmUgJyR7by5TRVNTSU9OX1NQRUNfU1lNQk9MX0JBUlNfT0ZGU0VUfScgaXMgYWxsb3dlZCBwZXIgc2Vzc2lvbiBpbnRlcnZhbGApO2NvbnN0IGk9clswXS5zcGxpdCgiLSIpO2lmKDIhPT1pLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoYGJhZCBzZXNzaW9uOiAke3R9YCk7bGV0IGE9MCxkPWlbMF07aWYoZC5pbmNsdWRlcygiRiIpKXtjb25zdCBlPWQuc3BsaXQoIkYiKTtkPWVbMF0sYT0iIiE9PWVbMV0/cGFyc2VJbnQoZVsxXSk6MX1sZXQgaD0wLGY9aVsxXTtpZihmLmluY2x1ZGVzKCJGIikpe2NvbnN0IGU9Zi5zcGxpdCgiRiIpO2Y9ZVswXSxoPSIiIT09ZVsxXT9wYXJzZUludChlWzFdKToxfWNvbnN0IHk9dGhpcy5fbWludXRlc0Zyb21ISE1NKGQsdCxzKSxjPXRoaXMuX21pbnV0ZXNGcm9tSEhNTShmLHQscyk7bGV0IF89dGhpcy5fY3JlYXRlU2Vzc2lvbkVudHJ5KGUseSxjLGEsaCk7aWYoMj09PXIubGVuZ3RoKXtjb25zdCBlPXRoaXMuX21pbnV0ZXNGcm9tSEhNTShyWzFdLHQscyk7Xz10aGlzLl9kZWNvcmF0ZVdpdGhPZmZzZXQoXyxlLHksYyxhLGgpfWlmKDI9PT1uLmxlbmd0aCl7Y29uc3QgZT1uWzFdLnNwbGl0KCItIik7aWYoMiE9PWUubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb246ICR7dH0uIEluY29ycmVjdCBleHRlbmRlZCBpbnRlcnZhbGApO2xldCByPTAsaT1lWzBdO2lmKGkuaW5jbHVkZXMoIkYiKSl7Y29uc3QgZT1pLnNwbGl0KCJGIik7aT1lWzBdLHI9IiIhPT1lWzFdP3BhcnNlSW50KGVbMV0pOjF9bGV0IG89MCxhPWVbMV0KO2lmKGEuaW5jbHVkZXMoIkYiKSl7Y29uc3QgZT1hLnNwbGl0KCJGIik7YT1lWzBdLG89IiIhPT1lWzFdP3BhcnNlSW50KGVbMV0pOjF9Y29uc3QgZD10aGlzLl9taW51dGVzRnJvbUhITU0oaSx0LHMpLGg9dGhpcy5fbWludXRlc0Zyb21ISE1NKGEsdCxzKTtfPXRoaXMuX2RlY29yYXRlV2l0aEV4dGVuc2lvbihfLGQsaCxyLG8pfXJldHVybiBffXN0YXRpYyBfbWludXRlc0Zyb21ISE1NKGUsdCxzKXtpZig0PT09ZS5sZW5ndGgmJmgoZS5jaGFyQ29kZUF0KDApKSYmaChlLmNoYXJDb2RlQXQoMSkpJiZoKGUuY2hhckNvZGVBdCgyKSkmJmgoZS5jaGFyQ29kZUF0KDMpKSl7Y29uc3QgdD1wYXJzZUludChlKSxuPU1hdGgudHJ1bmModC8xMDApLHI9dCUxMDA7aWYoIXN8fG48MjQmJnI8NjApcmV0dXJuIHIrNjAqbn10aHJvdyBuZXcgRXJyb3IoYGluY29ycmVjdCBlbnRyeSBzeW50YXg6ICR7dH1gKX1zdGF0aWMgX3BhcnNlRGF5KGUsdCxzKXtpZig4PT09ZS5sZW5ndGgmJmgoZS5jaGFyQ29kZUF0KDApKSYmaChlLmNoYXJDb2RlQXQoMSkpJiZoKGUuY2hhckNvZGVBdCgyKSkmJmgoZS5jaGFyQ29kZUF0KDMpKSYmaChlLmNoYXJDb2RlQXQoNCkpJiZoKGUuY2hhckNvZGVBdCg1KSkmJmgoZS5jaGFyQ29kZUF0KDYpKSYmaChlLmNoYXJDb2RlQXQoNykpKXtjb25zdCB0PXBhcnNlSW50KGUuc3Vic3RyaW5nKDAsNCkpLG49cGFyc2VJbnQoZS5zdWJzdHJpbmcoNCw2KSkscj1wYXJzZUludChlLnN1YnN0cmluZyg2LDgpKTtpZighc3x8dGhpcy5faXNWYWxpZERheU9mTW9udGgocixuLHQpKXJldHVybiBuZXcgaS5CdXNpbmVzc0RheSh0LG4scil9dGhyb3cgbmV3IEVycm9yKGBiYWQgJHt0fSBkYXRlOiAke2V9YCl9c3RhdGljIF9pc1ZhbGlkRGF5T2ZNb250aChlLHQscyl7cmV0dXJuISh0PDF8fHQ+MTIpJiYoIShlPDF8fGU+Zlt0XSl8fCEoMiE9PXR8fDI5IT09ZXx8ISgwLHIuaXNfbGVhcF95ZWFyKShzKSkpfXN0YXRpYyBfcGFyc2VXb3JraW5nRGF5cyhlKXtjb25zdCB0PVtdO2ZvcihsZXQgcz0wO3M8ZS5sZW5ndGg7cysrKXtjb25zdCBuPWUuY2hhckNvZGVBdChzKS00ODtpZihuPDF8fG4+Nyl0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGF5cyBzcGVjaWZpY2F0aW9uOiAke2V9YCk7dC5pbmNsdWRlcyhuKXx8dC5wdXNoKG4pfXJldHVybiB0fXN0YXRpYyBfY3JlYXRlU2Vzc2lvbkVudHJ5KGUsdCxzLG4saSl7aWYodShuLCJzdGFydERheXNBZ28iKSx1KGksImVuZERheXNBZ28iKSwobj1sKHQscz1fKHMpLG4saSkpPGkpdGhyb3cgbmV3IEVycm9yKGBlcnJvciBwYXJzaW5nIHNlc3Npb24sIHZpb2xhdGlvbiBzdGFydERheXNBZ28gPj0gZW5kRGF5c0Fnbywgc3RhcnREYXlzQWdvPSR7bn0sIGVuZERheXNBZ289JHtpfWApO24+MCYmKHQtPW4qci5taW51dGVzUGVyRGF5KSxpPjAmJihzLT1pKnIubWludXRlc1BlckRheSk7Y29uc3QgYT1zLXQ7aWYoIShlPj1yLlNVTkRBWSYmZTw9ci5TQVRVUkRBWSYmdDxyLm1pbnV0ZXNQZXJEYXkmJmE+MCkpdGhyb3cgbmV3IEVycm9yKCJlcnJvciBwYXJzaW5nIHNlc3Npb24sIGludmFsaWQgZGF0YSIpO3JldHVybiBuZXcgby5TZXNzaW9uc1NwZWNFbnRyeShlLHQsYSl9c3RhdGljIF9kZWNvcmF0ZVdpdGhFeHRlbnNpb24oZSx0LHMsbixpKXtpZih1KG4sImV4dGVuZGVkLnN0YXJ0RGF5c0FnbyIpLHUoaSwiZXh0ZW5kZWQuZW5kRGF5c0FnbyIpLChuPWwodCxzPV8ocyksbixpKSk+MCYmKHQtPW4qci5taW51dGVzUGVyRGF5KSxpPjAmJihzLT1pKnIubWludXRlc1BlckRheSksdD09PWUuc3RhcnRPZmZzZXQoKSYmcz09PWUuZW5kT2Zmc2V0KCkpcmV0dXJuIGU7aWYodD5lLnN0YXJ0T2Zmc2V0KCl8fHM8ZS5lbmRPZmZzZXQoKSl0aHJvdyBuZXcgRXJyb3IoImVycm9yIHBhcnNpbmcgc2Vzc2lvbiwgZXh0ZW5kZWQgaW50ZXJ2YWwgbXVzdCBiZSB3aWRlciB0aGFuIG9yIGVxdWFsIHRvIHRoZSBiYXNlIGludGVydmFsIik7cmV0dXJuIG5ldyBvLkV4dGVuZGVkRW50cnlEZWNvcmF0b3IoZSx0LHMpfXN0YXRpYyBfZGVjb3JhdGVXaXRoT2Zmc2V0KGUsdCxzLG4saSxhKXtyZXR1cm4gdD09PXM/ZTooaT1sKHMsbj1fKG4pLGksYSksdD5zJiYodC09ci5taW51dGVzUGVyRGF5KSxpPjAmJih0LT1pKnIubWludXRlc1BlckRheSksbmV3IG8uT2Zmc2V0RW50cnlEZWNvcmF0b3IoZSx0KSl9c3RhdGljIF9wYXJzZUhvbGlkYXlzQW5kQ29ycmVjdGlvbnNJbXBsKGUsdCxzLG4pe2NvbnN0IGk9bmV3IHk7aWYoIiIhPT10KXtjb25zdCBlPVtdO2Zvcihjb25zdCBzIG9mIHQuc3BsaXQoIiwiKSl7Y29uc3QgdD10aGlzLl9wYXJzZURheShzLCJob2xpZGF5IixuKTtpLnNldCh0LGUpfX1pZigiIj09PXMpcmV0dXJuIGk7Zm9yKGNvbnN0IGUgb2Ygcy5zcGxpdCgiOyIpKXtjb25zdCB0PWUuc3BsaXQoIjoiKTtpZigyIT09dC5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKGBiYWQgY29ycmVjdGlvbiBzZWN0aW9uOiAke2V9YCk7aWYoImRheW9mZiI9PT10WzBdKWZvcihjb25zdCBlIG9mIHRbMV0uc3BsaXQoIiwiKSl7Y29uc3QgdD10aGlzLl9wYXJzZURheShlLCJjb3JyZWN0aW9uIixuKTtpLnNldCh0LFtdKX1lbHNlIGZvcihjb25zdCBlIG9mIHRbMV0uc3BsaXQoIiwiKSl7Y29uc3Qgcz10aGlzLl9wYXJzZURheShlLCJjb3JyZWN0aW9uIixuKSxvPSgwLHIuZ2V0X2RheV9vZl93ZWVrKShzLnRvQ2FsZW5kYXIoKSksYT10aGlzLl9wYXJzZVNlc3Npb25EYXkobyx0WzBdLG4pO2kuc2V0KHMsYSl9fXJldHVybiBpfX19LDU1OTY5KGUsdCxzKXtzLmQodCx7U2Vzc2lvbnNTcGVjOigpPT5nfSk7dmFyIG49cygxMzg2MzgpLHI9cyg3MDA4MDkpLGk9cygxOTg5MDEpLG89cygzMDgyMSksYT1zKDM0MTAzNiksZD1zKDMyOTA0MSk7ZnVuY3Rpb24gaChlLHQpe3JldHVybiBlLmNvbXBhcmVUbyh0KTwwfWZ1bmN0aW9uIGYoZSx0KXsKY29uc3Qgcz1lLmRheU9mV2VlaygpKnIubWludXRlc1BlckRheSxuPXMrZS5leHRlbmRlZFN0YXJ0T2Zmc2V0KCksaT1zK2UuZXh0ZW5kZWRFbmRPZmZzZXQoKSxvPXQuZGF5T2ZXZWVrKCkqci5taW51dGVzUGVyRGF5LGE9byt0LmV4dGVuZGVkU3RhcnRPZmZzZXQoKSxkPW8rdC5leHRlbmRlZEVuZE9mZnNldCgpO3JldHVybiEobjw9YSYmYTxpfHxhPD1uJiZuPGQpJiZuPGF9ZnVuY3Rpb24geShlLHQpe2NvbnN0IHM9ZS5kYXlPZldlZWsoKSpyLm1pbnV0ZXNQZXJEYXksbj1zK2UuZXh0ZW5kZWRTdGFydE9mZnNldCgpLGk9cytlLmV4dGVuZGVkRW5kT2Zmc2V0KCksbz10LmRheU9mV2VlaygpKnIubWludXRlc1BlckRheSxhPW8rdC5leHRlbmRlZFN0YXJ0T2Zmc2V0KCksZD1vK3QuZXh0ZW5kZWRFbmRPZmZzZXQoKTtyZXR1cm4gbjw9YSYmYTxpfHxhPD1uJiZuPGQ/MDpuPmE/MTotMX1jb25zdCBjPSgwLHIuZ2V0X3RpbWV6b25lKSgiRXRjL1VUQyIpO2Z1bmN0aW9uIF8oZSl7cmV0dXJuIDFlNCplLnllYXIrMTAwKmUubW9udGgrZS5kYXl9dmFyIGw7IWZ1bmN0aW9uKGUpe2VbZS5DbG9zZXN0PTBdPSJDbG9zZXN0IixlW2UuRmlyc3RJbkRheT0tMV09IkZpcnN0SW5EYXkiLGVbZS5MYXN0SW5EYXk9MV09Ikxhc3RJbkRheSJ9KGx8fChsPXt9KSk7Y2xhc3MgdXtjb25zdHJ1Y3RvcihlKXt0aGlzLl92YWx1ZT1lfWdldCgpe3JldHVybiB0aGlzLl92YWx1ZX1zZXQoZSl7dGhpcy5fdmFsdWU9ZX19Y2xhc3MgZ3tjb25zdHJ1Y3RvcihlPSJFdGMvVVRDIix0PSIwMDAwLTAwMDAiLHM9IiIsbj0iIixpPSExKXtjb25zdCBvPW5ldyBkLlNlc3Npb25zU3BlY1BhcnNlcjtpP28ucGFyc2VTZXNzaW9uc0FuZFZhbGlkYXRlRGF0ZVRpbWUoZSx0KTpvLnBhcnNlU2Vzc2lvbnMoZSx0KSx0aGlzLl9lbnRyaWVzPW8uaGlzdG9yeUVudHJpZXMsdGhpcy5faGFzSGlzdG9yeUNvcnJlY3Rpb25zPW8uaGFzSGlzdG9yeUNvcnJlY3Rpb25zLHRoaXMuX3ByZXNlbnRIaXN0b3J5RW50cnk9by5oaXN0b3J5RW50cmllc1tvLmhpc3RvcnlFbnRyaWVzLmxlbmd0aC0xXSx0aGlzLl90aW1lem9uZT1vLnRpbWV6b25lLHRoaXMuX3RpbWV6b25lT2JqPSgwLHIuZ2V0X3RpbWV6b25lKShvLnRpbWV6b25lKSx0aGlzLl9ob2xpZGF5QW5kQ29ycmVjdGlvbk1hcD1pP2QuU2Vzc2lvbnNTcGVjUGFyc2VyLnBhcnNlSG9saWRheXNBbmRDb3JyZWN0aW9uc0FuZFZhbGlkYXRlRGF0ZVRpbWUoZSxzLG4pOmQuU2Vzc2lvbnNTcGVjUGFyc2VyLnBhcnNlSG9saWRheXNBbmRDb3JyZWN0aW9ucyhlLHMsbixpKTtjb25zdCBhPXRoaXMuX2hvbGlkYXlBbmRDb3JyZWN0aW9uTWFwLmtleXMoKTt0aGlzLl9lbnRyaWVzSGFzaD1uZXcgTWFwO2NvbnN0IGg9dGhpcy5fcHJlcGFyZVNlc3Npb25zQm9yZGVyUGFyYW1zKCk7dGhpcy5fYm9yZGVyV2Vla3NJbmRpY2VzSGFzaD1oLmJvcmRlcldlZWtzSW5kaWNlc0hhc2gsdGhpcy5feWVhclRvV2Vla3NJbmRpY2VzSGFzaD1oLnllYXJUb1dlZWtzSW5kaWNlc0hhc2gsdGhpcy5fd2Vla0luZGljZXNPZkxhc3RIaXN0b3J5V2Vlaz1oLndlZWtJbmRpY2VzT2ZMYXN0SGlzdG9yeVdlZWssdGhpcy5fcHJlc2VudFN0YXJ0V2Vla0luZGV4PWguc3RhcnRQcmVzZW50U2Vzc2lvbldlZWtJbmRleCx0aGlzLl95ZWFyVG9DYWxjdWxhdGVkQWRkZWRXZWVrSW5kaWNlc0hhc2g9bmV3IE1hcCwiIj09PXMmJiIiPT09biYmbnVsbD09PXRoaXMuX3dlZWtJbmRpY2VzT2ZMYXN0SGlzdG9yeVdlZWs/dGhpcy5faXNUaGVyZUNvcnJlY3Rpb25zPSExOnRoaXMuX2lzVGhlcmVDb3JyZWN0aW9ucz0hMDtmb3IoY29uc3QgZSBvZiBhKXtjb25zdCB0PXRoaXMuZ2V0V2Vla0luZGV4KGUudG9DYWxlbmRhcigpKTt0aGlzLl9lbnRyaWVzSGFzaC5zZXQodCxuZXcgdShudWxsKSl9dGhpcy5fc29ydGVkSG9saWRheXM9Wy4uLnRoaXMuX2hvbGlkYXlBbmRDb3JyZWN0aW9uTWFwLmVudHJpZXMoKV0ubWFwKCgoW2UsdF0pPT4oe2tleTpfKGUpLGRheTplLHNlc3Npb25zOnR9KSkpLnNvcnQoKChlLHQpPT5lLmtleS10LmtleSkpLHRoaXMuX2hvbGlkYXlDb3VudFByZWZpeFN1bXM9dGhpcy5faGFzSGlzdG9yeUNvcnJlY3Rpb25zP251bGw6dGhpcy5fYnVpbGRIb2xpZGF5Q291bnRQcmVmaXhTdW1zKCl9aGFzSGlzdG9yeUNvcnJlY3Rpb25zKCl7cmV0dXJuIHRoaXMuX2hhc0hpc3RvcnlDb3JyZWN0aW9uc31maXJzdERheU9mV2Vlaygpe3JldHVybiB0aGlzLl9wcmVzZW50SGlzdG9yeUVudHJ5LmdldEVudHJpZXMoKS5maXJzdERheU9mV2VlaygpfWluY2x1ZGVzRGF5KGUpe3JldHVybiB0aGlzLl9nZXRFbnRyaWVzRm9yRGF5KGUpLmxlbmd0aD4wfWdldEVudHJpZXNGb3JXZWVrKGUpe2lmKCF0aGlzLl9pc1RoZXJlQ29ycmVjdGlvbnMpcmV0dXJuIHRoaXMuX3ByZXNlbnRIaXN0b3J5RW50cnkuZ2V0RW50cmllcygpOygwLG4uYXNzZXJ0KShlPj0wKTtjb25zdCB0PWUscz10aGlzLl9lbnRyaWVzSGFzaC5nZXQodCk7aWYodm9pZCAwPT09cyl7cmV0dXJuIHRoaXMuX2dldEhpc3RvcnlBbmRJbmRleEZvcldlZWsodCkuZ2V0RW50cmllcygpfWxldCByPXMuZ2V0KCk7aWYobnVsbCE9PXIpcmV0dXJuIHI7bGV0IGk9bnVsbDtjb25zdCBoPXRoaXMuX2JvcmRlcldlZWtzSW5kaWNlc0hhc2guZ2V0KHQpO2k9dm9pZCAwPT09aD90aGlzLl9nZXRIaXN0b3J5QW5kSW5kZXhGb3JXZWVrKHQpLmdldEVudHJpZXMoKTp0aGlzLl9wcmVwYXJlQm9yZGVyV2Vla0hpc3RvcnkoaCk7Y29uc3QgZj1uZXcgTWFwKGkuZW50cmllc0J5RGF5KCkpO2xldCB5PVsuLi5pLmxpc3QoKV07Y29uc3QgYz10aGlzLl93ZWVrSW5kZXhUb0xvY2FsRGF0ZVRpbWUoZSksXz10aGlzLl93ZWVrSW5kZXhUb0xvY2FsRGF0ZVRpbWUoZSsxKSxsPW8uQnVzaW5lc3NEYXkuZnJvbUNhbGVuZGFyKGMpLHU9by5CdXNpbmVzc0RheS5mcm9tQ2FsZW5kYXIoXyk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fc2VsZWN0SG9saWRheXMobCx1KSl7Y29uc3QgdD1lLmRheS5nZXREYXlPZldlZWsoKTt5PXkuZmlsdGVyKChlPT5lLmRheU9mV2VlaygpIT09dCkpLHkucHVzaCguLi5lLnNlc3Npb25zKSwKMD09PWUuc2Vzc2lvbnMubGVuZ3RoP2YuZGVsZXRlKHQpOmYuc2V0KHQsZS5zZXNzaW9ucyl9eS5zb3J0KGEuY29tcGFyZVNlc3Npb25FbnRyaWVzKTtjb25zdCBnPWQud29ya2luZ0RheXNBbmRXZWVrRW5kcy5sZW5ndGgtZi5zaXplO3JldHVybiByPW5ldyBhLlNlc3Npb25zU3BlY0VudHJpZXMoeSxmLGkuZmlyc3REYXlPZldlZWsoKSxnKSxzLnNldChyKSxyfWdldEhpc3RvcnlCeUluZGV4KGUpe3JldHVybiB0aGlzLl9lbnRyaWVzW2VdfXRpbWV6b25lKCl7cmV0dXJuIHRoaXMuX3RpbWV6b25lfXRpbWV6b25lT2JqKCl7cmV0dXJuIHRoaXMuX3RpbWV6b25lT2JqfWxvbmdlc3RTZXNzaW9uTGVuZ3RoKCl7bGV0IGU9dGhpcy5fcHJlc2VudEhpc3RvcnlFbnRyeS5nZXRFbnRyaWVzKCkubG9uZ2VzdFNlc3Npb25MZW5ndGgoKTtmb3IobGV0IHQ9MDt0PHRoaXMuX2VudHJpZXMubGVuZ3RoLTE7dCsrKXtjb25zdCBzPXRoaXMuX2VudHJpZXNbdF0uZ2V0RW50cmllcygpLmxvbmdlc3RTZXNzaW9uTGVuZ3RoKCk7ZT1NYXRoLm1heChlLHMpfWxldCB0PS0xLzA7Zm9yKGNvbnN0IGUgb2YgdGhpcy5faG9saWRheUFuZENvcnJlY3Rpb25NYXAudmFsdWVzKCkpdD1NYXRoLm1heCh0LC4uLmUubWFwKChlPT5lLmxlbmd0aCgpKSkpO3JldHVybiBNYXRoLm1heCh0LGUpfWlzV2Vla0VuZChlKXtjb25zdCB0PXRoaXMuZ2V0V2Vla0luZGV4KGUpO2xldCBzO3JldHVybiBzPXZvaWQgMD09PXRoaXMuX2JvcmRlcldlZWtzSW5kaWNlc0hhc2guZ2V0KHQpP3RoaXMuX2dldEhpc3RvcnlBbmRJbmRleEZvcldlZWsodCkuZ2V0RW50cmllcygpOnRoaXMuZ2V0RW50cmllc0ZvcldlZWsodCkscy5pc1dlZWtFbmQoKDAsci5nZXRfZGF5X29mX3dlZWspKGUpKX1pc0NhbFdlZWtFbmQoZSl7Y29uc3QgdD0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSk7aWYoIXRoaXMuX2lzVGhlcmVDb3JyZWN0aW9ucylyZXR1cm4gdGhpcy5fcHJlc2VudEhpc3RvcnlFbnRyeS5nZXRFbnRyaWVzKCkuaXNXZWVrRW5kKHQpO2NvbnN0IHM9dGhpcy5nZXRXZWVrSW5kZXgoZSksbj10aGlzLmdldEVudHJpZXNGb3JXZWVrKHMpLGk9by5CdXNpbmVzc0RheS5mcm9tQ2FsZW5kYXIoZSksYT10aGlzLl9ob2xpZGF5QW5kQ29ycmVjdGlvbk1hcC5nZXQoaSk7cmV0dXJuIHZvaWQgMD09PWE/bi5pc1dlZWtFbmQodCk6MD09PWEubGVuZ3RofWhvbGlkYXlzRnJvbVllYXJTdGFydChlKXtjb25zdCB0PWUgaW5zdGFuY2VvZiBvLkJ1c2luZXNzRGF5P2U6by5CdXNpbmVzc0RheS5mcm9tQ2FsZW5kYXIoZSk7cmV0dXJuIHRoaXMuX2hvbGlkYXlzRnJvbVllYXJTdGFydCh0KX1kYXlzT2ZmRnJvbVllYXJTdGFydChlKXtjb25zdCB0PSgwLHIuZ2V0X2NhbCkoYywoMCxyLmdldF95ZWFyKShlKSxyLkpBTlVBUlksMSkscz10aGlzLmdldFdlZWtJbmRleCh0KSxuPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KSxpPSgwLHIuZ2V0X2RheV9vZl93ZWVrKShlKS0xO2lmKCgwLHIuZ2V0X2RheV9vZl95ZWFyKShlKStuPD1yLkxBU1RfREFZX09GX1dFRUsrci5GSVJTVF9EQVlfT0ZfV0VFSylyZXR1cm4gdGhpcy5fZ2V0RGF5c09mZkZvcldlZWtJbkJvcmRlcnMocyxuLGkpO2NvbnN0IG89dGhpcy5nZXRXZWVrSW5kZXgoZSk7bGV0IGE9dGhpcy5fZ2V0RGF5c09mZkZvcldlZWtJbkJvcmRlcnMocyxuLHIuTEFTVF9EQVlfT0ZfV0VFSyk7Zm9yKGxldCBlPXMrMTtlPG87ZSsrKXthKz10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpLndlZWtFbmRzQ291bnQoKX1yZXR1cm4gYSs9dGhpcy5fZ2V0RGF5c09mZkZvcldlZWtJbkJvcmRlcnMobyxyLkZJUlNUX0RBWV9PRl9XRUVLLGkpLGF9d2Vla0VuZHNDb3VudEZvclNpbmdsZVNlc3Npb24oKXtyZXR1cm4oMCxuLmFzc2VydCkoIXRoaXMuaGFzSGlzdG9yeUNvcnJlY3Rpb25zKCkpLHRoaXMuX3ByZXNlbnRIaXN0b3J5RW50cnkuZ2V0RW50cmllcygpLndlZWtFbmRzQ291bnQoKX1pbnRyYWRheUNhbkJlQnVpbHRGcm9tMjR4NyhlKXtmb3IoY29uc3QgdCBvZiB0aGlzLl9lbnRyaWVzKWlmKCF0LmdldEVudHJpZXMoKS5saXN0KCkuZXZlcnkoKHQ9PnQuc3RhcnQoKSVlPT0wJiZ0Lmxlbmd0aCgpJWU9PTApKSlyZXR1cm4hMTtyZXR1cm4hMH1pbnRyYWRheUNhbkJlQnVpbHRGcm9tMjR4N1NlY29uZHMoZSl7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fZW50cmllcylpZighdC5nZXRFbnRyaWVzKCkubGlzdCgpLmV2ZXJ5KCh0PT42MCp0LnN0YXJ0KCklZT09MCYmNjAqdC5sZW5ndGgoKSVlPT0wKSkpcmV0dXJuITE7cmV0dXJuITB9aW5kZXhPZlNlc3Npb24oZSx0LHMsbz1oKXsoMCxuLmFzc2VydCkodD49ci5TVU5EQVkmJnQ8PXIuU0FUVVJEQVkpLCgwLG4uYXNzZXJ0KShzPj0wJiZzPHIubWludXRlc1BlckRheSk7Y29uc3QgZD10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpLGY9ZC5saXN0KCk7bGV0IHk9KDAsaS5sb3dlcmJvdW5kKShmLG5ldyBhLlNlc3Npb25zU3BlY0VudHJ5KHQscywwKSxvKTtpZih5PGYubGVuZ3RoKXJldHVybiBuZXcgYS5TZXNzaW9uc1NwZWNFbnRyeUluZGV4KGUseSxbLi4uZl0pO2xldCBjPWUrMSxfPXRoaXMuZ2V0RW50cmllc0ZvcldlZWsoYyk7aWYoMCE9PV8ubGlzdCgpLmxlbmd0aCl7Y29uc3QgZT03LXQrXy5maXJzdERheU9mV2VlaygpLTE7aWYocz0tKHIubWludXRlc1BlckRheS1zK2Uqci5taW51dGVzUGVyRGF5KSx5PSgwLGkubG93ZXJib3VuZCkoXy5saXN0KCksbmV3IGEuU2Vzc2lvbnNTcGVjRW50cnkoXy5maXJzdERheU9mV2VlaygpLHMsMCksbykseTxfLmxpc3QoKS5sZW5ndGgpcmV0dXJuIG5ldyBhLlNlc3Npb25zU3BlY0VudHJ5SW5kZXgoYyx5LFsuLi5fLmxpc3QoKV0pfWZvcig7OylpZihjKysscy09ci5taW51dGVzUGVyV2VlayxfPXRoaXMuZ2V0RW50cmllc0ZvcldlZWsoYyksMCE9PV8ubGlzdCgpLmxlbmd0aCYmKHk9KDAsaS5sb3dlcmJvdW5kKShfLmxpc3QoKSxuZXcgYS5TZXNzaW9uc1NwZWNFbnRyeShkLmZpcnN0RGF5T2ZXZWVrKCkscywwKSxvKSwhKHk+PV8ubGlzdCgpLmxlbmd0aCkpKXJldHVybiBuZXcgYS5TZXNzaW9uc1NwZWNFbnRyeUluZGV4KGMseSxbLi4uXy5saXN0KCldKX0KZmluZFNlc3Npb24oZSx0LHMsbj0wLHI9aCl7Y29uc3QgaT10aGlzLmluZGV4T2ZTZXNzaW9uKGUsdCxzLHIpLG89aS5lbnRyaWVzO2xldCBkPWkuZW50cnlJbmRleDtpZigwIT09bil7Y29uc3QgZT1vW2RdLmRheU9mV2VlaygpLHQ9bj4wPzE6LTE7Zm9yKDs7KXtjb25zdCBzPWQrdDtpZihzPDB8fHM+PW8ubGVuZ3RofHxvW3NdLmRheU9mV2VlaygpIT09ZSlicmVhaztkPXN9fXJldHVybiBuZXcgYS5TZXNzaW9uc1NwZWNFbnRyeUluZGV4KGkud2Vla0luZGV4LGQsbyl9Z2V0V2Vla0luZGV4KGUpe3JldHVybiB0aGlzLl9pc1RoZXJlQ29ycmVjdGlvbnM/Zy5fZ2V0V2Vla0luZGV4SW1wbChlKTowfWNvcnJlY3RUcmFkaW5nRGF5KGUpe2NvbnN0IHQ9dGhpcy5fY29ycmVjdFRyYWRpbmdEYXkodGhpcy5nZXRXZWVrSW5kZXgoZSksKDAsci5nZXRfZGF5X29mX3dlZWspKGUpLCgwLHIuZ2V0X21pbnV0ZXNfd2l0aF9ob3VycykoZSkpLHM9KDAsci5jbG9uZSkoZSk7cmV0dXJuKDAsci5hZGRfZGF0ZSkocyx0KSxzfWFsaWduVG9TZXNzaW9uU3RhcnQoZSx0PTApe2NvbnN0IHM9KDAsci5nZXRfZGF5X29mX3dlZWspKGUpLG49KDAsci5nZXRfbWludXRlc19mcm9tX21pZG5pZ2h0KShlKSxpPXRoaXMuZ2V0V2Vla0luZGV4KGUpLG89dGhpcy5maW5kU2Vzc2lvbihpLHMsbix0KSxhPW8uZ2V0RW50cnkoKSxkPWEuZGF5T2ZXZWVrKCktcys3Kk1hdGgudHJ1bmMoby53ZWVrSW5kZXgtaSk7MCE9PWQmJigwLHIuYWRkX2RhdGUpKGUsZCk7Y29uc3QgaD1hLnN0YXJ0T2Zmc2V0KCk7cmV0dXJuKDAsci5zZXRfaG1zKShlLE1hdGgudHJ1bmMoaC82MCksaCU2MCwwLDApLGEubGVuZ3RoKCl9YWxpZ25Ub0VudHJ5U3RhcnQoZSx0PTApe3JldHVybiB0aGlzLl9kb0FsaWduVG9FbnRyeVN0YXJ0KGUsdCxoKX1hbGlnblRvRW50cnlTdGFydEV4dGVuZGVkKGUsdD0wKXtyZXR1cm4gdGhpcy5fZG9BbGlnblRvRW50cnlTdGFydChlLHQsZil9YnVzaW5lc3NEYXlzVG9DYWxlbmRhckRheXMoZSx0KXtyZXR1cm4gdGhpcy5fYnVzaW5lc3NEYXlzVG9DYWxlbmRhckRheXModGhpcy5nZXRXZWVrSW5kZXgoZSksKDAsci5nZXRfZGF5X29mX3dlZWspKGUpLHQpfWNhbGVuZGFyRGF5c1RvQnVzaW5lc3NEYXlzKGUsdCl7cmV0dXJuIHRoaXMuX2NhbGVuZGFyRGF5c1RvQnVzaW5lc3NEYXlzKHRoaXMuZ2V0V2Vla0luZGV4KGUpLCgwLHIuZ2V0X2RheV9vZl93ZWVrKShlKSx0KX1hbGlnblRvTmVhcmVzdFNlc3Npb25TdGFydChlLHQpe3JldHVybiB0aGlzLl9hbGlnblRvTmVhcmVzdFNlc3Npb25WYWx1ZShlLHQsdGhpcy5fZW50cnlTZXNzaW9uU3RhcnQuYmluZCh0aGlzKSl9YWxpZ25Ub05lYXJlc3RTZXNzaW9uRW5kKGUsdCl7cmV0dXJuIHRoaXMuX2FsaWduVG9OZWFyZXN0U2Vzc2lvblZhbHVlKGUsdCx0aGlzLl9lbnRyeVNlc3Npb25FbmQuYmluZCh0aGlzKSl9Ym9yZGVyc09mRGFpbHlCYXIoZSl7Y29uc3QgdD10aGlzLl9nZXRFbnRyaWVzRm9yRGF5KGUpO2lmKDA9PT10Lmxlbmd0aClyZXR1cm4gbnVsbDtjb25zdCBzPXQuc2xpY2UoKTtzLnNvcnQoYS5jb21wYXJlU2Vzc2lvbkVudHJpZXMpO2NvbnN0IG49dGhpcy5fZ2V0TGVmdEVudHJ5Qm9yZGVyKGUsc1swXSksaT1zW3MubGVuZ3RoLTFdLG89NjAqKGkuc3RhcnRPZmZzZXQoKStpLmxlbmd0aCgpKS0xLGQ9KDAsci5jbG9uZSkoZSk7cmV0dXJuKDAsci5zZXRfc2Vjb25kcykoZCxvKSx7ZnJvbTpuLHRvOmR9fWxlZnRCb3JkZXJPZkRhaWx5QmFyKGUpe2NvbnN0IHQ9dGhpcy5fZ2V0RW50cmllc0ZvckRheShlKTtpZigwPT09dC5sZW5ndGgpcmV0dXJuIG51bGw7Y29uc3Qgcz10LnNsaWNlKCk7cmV0dXJuIHMuc29ydChhLmNvbXBhcmVTZXNzaW9uRW50cmllcyksdGhpcy5fZ2V0TGVmdEVudHJ5Qm9yZGVyKGUsc1swXSl9Y2hlY2tTZXNzaW9uKCl7cmV0dXJuIHRoaXMuX2NoZWNrRWFjaEhpc3RvcnlTZXNzaW9uKCkmJnRoaXMuX2NoZWNrU3BlY2lhbEVudHJpZXMoKSYmdGhpcy5fY2hlY2tUb29NYW55Q29ycmVjdGlvbnNPbldlZWsoKX1pblNlc3Npb24oZSl7ZT1uZXcgRGF0ZSgxZTMqTWF0aC5mbG9vcihlLmdldFRpbWUoKS8xZTMpKTtjb25zdCB0PXRoaXMuYWxpZ25Ub05lYXJlc3RTZXNzaW9uU3RhcnQoZSwtMSkscz10aGlzLmFsaWduVG9OZWFyZXN0U2Vzc2lvbkVuZCh0LDEpO3JldHVybiEoZS5nZXRUaW1lKCk+cy5nZXRUaW1lKCkpfWhhc1dlZWtFbmRzKCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fZW50cmllcylpZigwIT09ZS5nZXRFbnRyaWVzKCkud2Vla0VuZHNDb3VudCgpKXJldHVybiEwO3JldHVybiExfWdldFdlZWtJbmRpY2VzV2l0aEFkZGl0aW9uYWxXZWVrQmFycyhlKXtsZXQgdD10aGlzLl95ZWFyVG9DYWxjdWxhdGVkQWRkZWRXZWVrSW5kaWNlc0hhc2guZ2V0KGUpO3JldHVybiB2b2lkIDA9PT10JiYodD10aGlzLl9jYWxjdWxhdGVBZGRlZEluZGljZXMoZSksdGhpcy5feWVhclRvQ2FsY3VsYXRlZEFkZGVkV2Vla0luZGljZXNIYXNoLnNldChlLHQpKSx0fV9kb0FsaWduVG9FbnRyeVN0YXJ0KGUsdCxzKXtjb25zdCBuPSgwLHIuZ2V0X2RheV9vZl93ZWVrKShlKSxpPSgwLHIuZ2V0X21pbnV0ZXNfZnJvbV9taWRuaWdodCkoZSksbz10aGlzLmdldFdlZWtJbmRleChlKSxhPXRoaXMuZmluZFNlc3Npb24obyxuLGksdCxzKSxkPWEuZ2V0RW50cnkoKSxoPWQuZGF5T2ZXZWVrKCktbis3Kk1hdGgudHJ1bmMoYS53ZWVrSW5kZXgtbyk7MCE9PWgmJigwLHIuYWRkX2RhdGUpKGUsaCk7Y29uc3QgZj1kLnN0YXJ0T2Zmc2V0KCk7cmV0dXJuKDAsci5zZXRfaG1zKShlLE1hdGgudHJ1bmMoZi82MCksZiU2MCwwLDApLHtsZW5ndGg6ZC5sZW5ndGgoKSxlbnRyeTpkfX1fcHJlcGFyZVNlc3Npb25zQm9yZGVyUGFyYW1zKCl7Y29uc3QgZT1uZXcgTWFwLHQ9bmV3IE1hcDtsZXQgcz1udWxsO3RoaXMuX2VudHJpZXMubGVuZ3RoPjEmJihzPUFycmF5LmZyb20oe2xlbmd0aDp0aGlzLl9lbnRyaWVzLmxlbmd0aC0xfSwoKCk9PjApKSk7bGV0IHI9MDtmb3IobGV0IGk9MDtpPHRoaXMuX2VudHJpZXMubGVuZ3RoLTE7aSsrKXtjb25zdCBvPXRoaXMuX2VudHJpZXNbaSsxXSxhPSgwLApuLmVuc3VyZU5vdE51bGwpKG8uZ2V0U3RhcnREYXkoKSk7cj1nLl9nZXRXZWVrSW5kZXhJbXBsKGEpLGUuc2V0KHIsaSsxKSx0aGlzLl9hZGRUb1llYXJIYXNoKHQsYSxyKSx0aGlzLl9lbnRyaWVzSGFzaC5zZXQocixuZXcgdShudWxsKSksKDAsbi5lbnN1cmVOb3ROdWxsKShzKVtpXT1yfXJldHVybntib3JkZXJXZWVrc0luZGljZXNIYXNoOmUseWVhclRvV2Vla3NJbmRpY2VzSGFzaDp0LHN0YXJ0UHJlc2VudFNlc3Npb25XZWVrSW5kZXg6cix3ZWVrSW5kaWNlc09mTGFzdEhpc3RvcnlXZWVrOnN9fV9hZGRUb1llYXJIYXNoKGUsdCxzKXtjb25zdCBuPSgwLHIuZ2V0X3llYXIpKHQpO2xldCBpPWUuZ2V0KG4pO3ZvaWQgMD09PWkmJihpPVtdLGUuc2V0KG4saSkpLGkucHVzaChzKX1fZ2V0SGlzdG9yeUFuZEluZGV4Rm9yV2VlayhlKXtpZih0aGlzLl9wcmVzZW50U3RhcnRXZWVrSW5kZXg8PWUpcmV0dXJuIHRoaXMuX3ByZXNlbnRIaXN0b3J5RW50cnk7Y29uc3QgdD10aGlzLl9nZXRJbmRleE9mSGlzdG9yeUVudHJ5KGUpO3JldHVybiB0aGlzLl9lbnRyaWVzW3RdfV9nZXRJbmRleE9mSGlzdG9yeUVudHJ5KGUpe2xldCB0PTAscz10aGlzLl9lbnRyaWVzLmxlbmd0aC0xLHI9TWF0aC5mbG9vcigodCtzKS8yKTtmb3IoKDAsbi5hc3NlcnQpKG51bGwhPT10aGlzLl93ZWVrSW5kaWNlc09mTGFzdEhpc3RvcnlXZWVrKTs7KXtpZih0aGlzLl93ZWVrSW5kaWNlc09mTGFzdEhpc3RvcnlXZWVrW3JdPj1lKXtpZihzPXItMSxzPHQpcmV0dXJuIHJ9ZWxzZSBpZih0PXIrMSxzPHQpcmV0dXJuIHIrMTtyPU1hdGguZmxvb3IoKHQrcykvMil9fV9zZWxlY3RIb2xpZGF5cyhlLHQpe2NvbnN0IHM9dGhpcy5fbG93ZXJCb3VuZEhvbGlkYXlJbmRleChfKGUpKSxuPXRoaXMuX2xvd2VyQm91bmRIb2xpZGF5SW5kZXgoXyh0KSk7cmV0dXJuIHRoaXMuX3NvcnRlZEhvbGlkYXlzLnNsaWNlKHMsbil9X2xvd2VyQm91bmRIb2xpZGF5SW5kZXgoZSl7cmV0dXJuKDAsaS5sb3dlcmJvdW5kKSh0aGlzLl9zb3J0ZWRIb2xpZGF5cyxlLCgoZSx0KT0+ZS5rZXk8dCkpfV9wcmVwYXJlQm9yZGVyV2Vla0hpc3RvcnkoZSl7Y29uc3QgdD10aGlzLl9lbnRyaWVzW2UtMV0scz10aGlzLl9lbnRyaWVzW2VdLGk9bmV3IE1hcCxvPVtdLGg9KDAsci5nZXRfZGF5X29mX3dlZWspKCgwLG4uZW5zdXJlTm90TnVsbCkocy5nZXRTdGFydERheSgpKSk7Zm9yKGxldCBlPTA7ZTxkLndvcmtpbmdEYXlzQW5kV2Vla0VuZHMubGVuZ3RoO2UrKyl7Y29uc3Qgbj1kLndvcmtpbmdEYXlzQW5kV2Vla0VuZHNbZV07aWYobjxoKXtjb25zdCBlPXQuZ2V0RW50cmllcygpLmVudHJpZXNCeURheSgpLmdldChuKTt2b2lkIDAhPT1lJiYoby5wdXNoKC4uLmUpLGkuc2V0KG4sZSkpfWVsc2V7Y29uc3QgZT1zLmdldEVudHJpZXMoKS5lbnRyaWVzQnlEYXkoKS5nZXQobik7dm9pZCAwIT09ZSYmKG8ucHVzaCguLi5lKSxpLnNldChuLGUpKX19cmV0dXJuIG5ldyBhLlNlc3Npb25zU3BlY0VudHJpZXMobyxpLHMuZ2V0RW50cmllcygpLmZpcnN0RGF5T2ZXZWVrKCksMCl9X2hvbGlkYXlzRnJvbVllYXJTdGFydChlKXtpZighdGhpcy5faXNUaGVyZUNvcnJlY3Rpb25zKXJldHVybiAwOygwLG4uYXNzZXJ0KSghdGhpcy5oYXNIaXN0b3J5Q29ycmVjdGlvbnMoKSk7Y29uc3QgdD0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2hvbGlkYXlDb3VudFByZWZpeFN1bXMpLHM9dGhpcy5fbG93ZXJCb3VuZEhvbGlkYXlJbmRleChfKGUuZmlyc3REYXlPZlllYXIoKSkpO3JldHVybiB0W3RoaXMuX2xvd2VyQm91bmRIb2xpZGF5SW5kZXgoXyhlKSldLXRbc119X2J1aWxkSG9saWRheUNvdW50UHJlZml4U3Vtcygpe2NvbnN0IGU9dGhpcy5fcHJlc2VudEhpc3RvcnlFbnRyeS5nZXRFbnRyaWVzKCksdD1uZXcgQXJyYXkodGhpcy5fc29ydGVkSG9saWRheXMubGVuZ3RoKzEpO3RbMF09MDtmb3IobGV0IHM9MDtzPHRoaXMuX3NvcnRlZEhvbGlkYXlzLmxlbmd0aDtzKyspe2NvbnN0IG49dGhpcy5fc29ydGVkSG9saWRheXNbc10scj0wPT09bi5zZXNzaW9ucy5sZW5ndGg7bGV0IGk9MDtpPWUuaXNXZWVrRW5kKG4uZGF5LmdldERheU9mV2VlaygpKT9yPzA6LTE6cj8xOjAsdFtzKzFdPXRbc10raX1yZXR1cm4gdH1fZ2V0RGF5c09mZkZvcldlZWtJbkJvcmRlcnMoZSx0LHMpe2xldCBuPTA7Y29uc3Qgcj10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpO2ZvcihsZXQgZT10O2U8PXM7ZSsrKXIuZW50cmllc0J5RGF5KCkuaGFzKGUpfHxuKys7cmV0dXJuIG59X3dlZWtJbmRleFRvTG9jYWxEYXRlVGltZShlKXtjb25zdCB0PU1hdGguZmxvb3IoODY0MDAqZSo3Kzg2NDAwLTYyMTY3MjE5MjAwKSxzPSgwLHIuZ2V0X2NhbF9mcm9tX3VuaXhfdGltZXN0YW1wX21zKShjLDFlMyp0KTtyZXR1cm4oMCxyLnNldF9obXMpKHMsMCwwLDAsMCksc31fY29ycmVjdFRyYWRpbmdEYXkoZSx0LHMpe2NvbnN0IG49dGhpcy5maW5kU2Vzc2lvbihlLHQscywwKTtyZXR1cm4gbi5nZXRFbnRyeSgpLmRheU9mV2VlaygpLXQrNypNYXRoLnRydW5jKG4ud2Vla0luZGV4LWUpfV9lbnRyeVNlc3Npb25WYWx1ZShlLHQscyxuKXt0PSgwLHIuY2xvbmUpKHQpO2xldCBpPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KTtjb25zdCBvPWUuZ2V0RW50cnkoKTtsZXQgYT1vLmRheU9mV2VlaygpLW8uc2Vzc2lvblN0YXJ0RGF5c09mZnNldCgpO2NvbnN0IGQ9dGhpcy5nZXRXZWVrSW5kZXgodCk7bGV0IGg9TWF0aC50cnVuYyhlLndlZWtJbmRleC1kKSxmPSExO2lmKGE8ci5TVU5EQVkmJihoPD0wP2Y9ITA6aC0tLGErPTcpLChoPjAmJnM+PTB8fGg8MCYmczwwKSYmKDAsci5hZGRfZGF0ZSkodCw3KmgpLCFvLmNvbnRhaW5zKHQpKXtsZXQgZT1hLWk7ZiYmczwwJiYoZT0tKDctYStpKSksKDAsci5hZGRfZGF0ZSkodCxlKSxpPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KX1pZihvLmlzT3Zlcm5pZ2h0KCkpe2NvbnN0IGU9by5zZXNzaW9uU3RhcnREYXlzT2Zmc2V0KCkscz0oaS0oby5kYXlPZldlZWsoKS1lKSs3KSU3OzAhPT1zJiYoMCxyLmFkZF9kYXRlKSh0LC1zKX1jb25zdCB5PW4obyk7cmV0dXJuKDAsci5zZXRfc2Vjb25kcykodCx5KSx0fQpfYnVzaW5lc3NEYXlzVG9DYWxlbmRhckRheXMoZSx0LHMpe2xldCBuPTAsaT0wO2Zvcig7aTxzOyl7Y29uc3Qgbz10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpO2ZvcihsZXQgZT10O2U8PXIuU0FUVVJEQVk7ZSsrKWlmKG4rKyx2b2lkIDAhPT1vLmVudHJpZXNCeURheSgpLmdldChlKSYmaSsrLGk+PXMpcmV0dXJuIG47ZSsrLHQ9ci5TVU5EQVl9cmV0dXJuIG59X2NhbGVuZGFyRGF5c1RvQnVzaW5lc3NEYXlzKGUsdCxzKXtsZXQgbj0wLGk9MDtmb3IoO248czspe2NvbnN0IG89dGhpcy5nZXRFbnRyaWVzRm9yV2VlayhlKTtmb3IobGV0IGU9dDtlPD1yLlNBVFVSREFZO2UrKylpZihuKyssdm9pZCAwIT09by5lbnRyaWVzQnlEYXkoKS5nZXQoZSkmJmkrKyxuPj1zKXJldHVybiBpO2UrKyx0PXIuU1VOREFZfXJldHVybiBpfV9lbnRyeVNlc3Npb25TdGFydChlLHQscyl7cmV0dXJuIHRoaXMuX2VudHJ5U2Vzc2lvblZhbHVlKGUsdCxzLChlPT42MCplLnN0YXJ0KCkpKX1fZW50cnlTZXNzaW9uRW5kKGUsdCxzKXtyZXR1cm4gdGhpcy5fZW50cnlTZXNzaW9uVmFsdWUoZSx0LHMsKGU9PjYwKihlLnN0YXJ0KCkrZS5sZW5ndGgoKSktMSkpfV9hbGlnblRvTmVhcmVzdFNlc3Npb25WYWx1ZShlLHQscyl7Y29uc3Qgbj0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSksaT0oMCxyLmdldF9taW51dGVzX3dpdGhfaG91cnMpKGUpLG89dGhpcy5nZXRXZWVrSW5kZXgoZSk7bGV0IGQ9dGhpcy5maW5kU2Vzc2lvbihvLG4saSk7aWYoMT09PXQpcmV0dXJuIHMoZCxlLHQpO2NvbnN0IGg9ZC5nZXRFbnRyeSgpLGY9aC5jb250YWlucyhlKSx5PW89PT1kLndlZWtJbmRleCxjPWguc2Vzc2lvblN0YXJ0RGF5c09mZnNldCgpLWguZGF5T2ZXZWVrKCk+PTA7aWYoZiYmKHl8fGMpKXJldHVybiBzKGQsZSx0KTtsZXQgXz1kLmVudHJ5SW5kZXgtMTtpZihfPDApe2xldCBlPWQud2Vla0luZGV4LHQ9ZC5lbnRyaWVzO2lmKDA9PT1lKWUtLSxfKz10Lmxlbmd0aDtlbHNlIGZvcig7XzwwOyllLS0sdD10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpLmxpc3QoKSxfKz10Lmxlbmd0aDtkPW5ldyBhLlNlc3Npb25zU3BlY0VudHJ5SW5kZXgoZSxfLHQpfWVsc2UgZD1uZXcgYS5TZXNzaW9uc1NwZWNFbnRyeUluZGV4KGQud2Vla0luZGV4LF8sZC5lbnRyaWVzKTtyZXR1cm4gcyhkLGUsdCl9X2dldEVudHJpZXNGb3JEYXkoZSl7Y29uc3QgdD0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSkscz10aGlzLmdldEVudHJpZXNGb3JXZWVrKHRoaXMuZ2V0V2Vla0luZGV4KGUpKS5lbnRyaWVzQnlEYXkoKS5nZXQodCk7cmV0dXJuIHZvaWQgMCE9PXM/czpbXX1fZ2V0TGVmdEVudHJ5Qm9yZGVyKGUsdCl7bGV0IHM9dC5zdGFydE9mZnNldCgpO2NvbnN0IG49LU1hdGgudHJ1bmMoKHMtMTQzOSkvMTQ0MCk7cys9MTQ0MCpuO2NvbnN0IGk9KDAsci5nZXRfY2FsKShjLCgwLHIuZ2V0X3llYXIpKGUpLCgwLHIuZ2V0X21vbnRoKShlKSwoMCxyLmdldF9kYXlfb2ZfbW9udGgpKGUpLE1hdGgudHJ1bmMocy82MCkscyU2MCwwKTtyZXR1cm4oMCxyLmFkZF9kYXRlKShpLC1uKSxpfV9jaGVja0VhY2hIaXN0b3J5U2Vzc2lvbigpe2Zvcihjb25zdCBlIG9mIHRoaXMuX2VudHJpZXMpe2NvbnN0IHQ9ZS5nZXRFbnRyaWVzKCkubGlzdCgpO2lmKCF0aGlzLl9jaGVja0VudHJpZXNGb3JJbnRlcnNlY3Rpb25zKHQsdCx0KSlyZXR1cm4hMX1yZXR1cm4hMH1fY2hlY2tFbnRyaWVzRm9ySW50ZXJzZWN0aW9ucyhlLHQscyl7Y29uc3Qgbj10aGlzLl9idWlsZFRlc3RFbnRyaWVzKGUsdCxzKTtmb3IobGV0IGU9MDtlPG4ubGVuZ3RoLTE7ZSsrKWZvcihsZXQgdD1lKzE7dDxuLmxlbmd0aDt0KyspaWYoMD09PXkobltlXSxuW3RdKSlyZXR1cm4hMTtyZXR1cm4hMH1fYnVpbGRUZXN0RW50cmllcyhlLHQscyl7Y29uc3Qgbj1bXTtmb3IoY29uc3QgdCBvZiBlKW4ucHVzaChnLl9jbG9uZUVudHJ5V2l0aERheSh0LHQuZGF5T2ZXZWVrKCkpKTtmb3IoY29uc3QgZSBvZiB0KW4ucHVzaChnLl9jbG9uZUVudHJ5V2l0aERheShlLGUuZGF5T2ZXZWVrKCkrNykpO2Zvcihjb25zdCBlIG9mIHMpbi5wdXNoKGcuX2Nsb25lRW50cnlXaXRoRGF5KGUsZS5kYXlPZldlZWsoKSsxNCkpO3JldHVybiBufV9jaGVja1NwZWNpYWxFbnRyaWVzKCl7Zm9yKGNvbnN0W2Vdb2YgdGhpcy5fZW50cmllc0hhc2gpe2NvbnN0IHQ9dGhpcy5nZXRFbnRyaWVzRm9yV2VlayhlKS5saXN0KCkscz10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUtMSkubGlzdCgpLG49dGhpcy5nZXRFbnRyaWVzRm9yV2VlayhlKzEpLmxpc3QoKTtpZighdGhpcy5fY2hlY2tFbnRyaWVzRm9ySW50ZXJzZWN0aW9ucyhzLHQsbikpcmV0dXJuITF9cmV0dXJuITB9X2NoZWNrVG9vTWFueUNvcnJlY3Rpb25zT25XZWVrKCl7aWYodGhpcy5fZW50cmllcy5sZW5ndGg8MilyZXR1cm4hMDtmb3IobGV0IGU9MDtlPHRoaXMuX2VudHJpZXMubGVuZ3RoLTI7ZSsrKXtjb25zdCB0PXRoaXMuX2VudHJpZXNbZV0scz10aGlzLl9lbnRyaWVzW2UrMV07aWYodGhpcy5nZXRXZWVrSW5kZXgoKDAsbi5lbnN1cmVOb3ROdWxsKSh0LmdldFNwZWNFbmREYXkoKSkpPT09dGhpcy5nZXRXZWVrSW5kZXgoKDAsbi5lbnN1cmVOb3ROdWxsKShzLmdldFNwZWNFbmREYXkoKSkpKXJldHVybiExfXJldHVybiEwfV9jYWxjdWxhdGVBZGRlZEluZGljZXMoZSl7Y29uc3QgdD1bXSxzPXRoaXMuX3llYXJUb1dlZWtzSW5kaWNlc0hhc2guZ2V0KGUpO2lmKHZvaWQgMD09PXMpcmV0dXJuIHQ7Zm9yKGNvbnN0IGUgb2Ygcyl7Y29uc3Qgcz0oMCxuLmVuc3VyZURlZmluZWQpKHRoaXMuX2JvcmRlcldlZWtzSW5kaWNlc0hhc2guZ2V0KGUpKSxpPXRoaXMuX2VudHJpZXNbc10sbz10aGlzLl9lbnRyaWVzW3MtMV07bGV0IGE9aS5nZXRFbnRyaWVzKCkuZmlyc3REYXlPZldlZWsoKS1vLmdldEVudHJpZXMoKS5maXJzdERheU9mV2VlaygpO2Zvcig7YT4wOyl7Y29uc3Qgbz0oMCxyLmNsb25lKSgoMCxuLmVuc3VyZU5vdE51bGwpKGkuZ2V0U3RhcnREYXkoKSkpO2lmKCgwLHIuYWRkX2RhdGUpKG8sLWEpLCF0aGlzLmlzQ2FsV2Vla0VuZChvKSl7Y29uc3Qgbj17ZW50cnlJbmRleDpzLAp3ZWVrSW5kZXg6ZX07dC5wdXNoKG4pO2JyZWFrfWEtLX19cmV0dXJuIHR9c3RhdGljIF9jbG9uZUVudHJ5V2l0aERheShlLHQpe2lmKGUuaXNFeHRlbmRlZCgpKXtjb25zdCBzPW5ldyBhLlNlc3Npb25zU3BlY0VudHJ5KHQsZS5zdGFydE9mZnNldCgpLGUubGVuZ3RoKCkpO3JldHVybiBuZXcgYS5FeHRlbmRlZEVudHJ5RGVjb3JhdG9yKHMsZS5leHRlbmRlZFN0YXJ0T2Zmc2V0KCksZS5leHRlbmRlZEVuZE9mZnNldCgpKX1yZXR1cm4gbmV3IGEuU2Vzc2lvbnNTcGVjRW50cnkodCxlLnN0YXJ0T2Zmc2V0KCksZS5sZW5ndGgoKSl9c3RhdGljIF9nZXRXZWVrSW5kZXhJbXBsKGUpe2NvbnN0IHQ9KDAsci5nZXRfY2FsX3V0YykoKDAsci5nZXRfeWVhcikoZSksKDAsci5nZXRfbW9udGgpKGUpLDEpOygwLHIuYWRkX2RhdGUpKHQsKDAsci5nZXRfZGF5X29mX21vbnRoKShlKS0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSkpO2NvbnN0IHM9dC5nZXRUaW1lKCkvMWUzO3JldHVybigwLG4uYXNzZXJ0KSgocys2MjE2NzIxOTIwMCklODY0MDA9PTApLE1hdGgudHJ1bmMoKHMrNjIxNjcyMTkyMDApLzg2NDAwLzcpfX19LDkwMjg0MihlLHQscyl7ZnVuY3Rpb24gbihlKXtyZXR1cm4gcihlLDIpfWZ1bmN0aW9uIHIoZSx0PTIpe2NvbnN0IHM9ZS50b1N0cmluZygpO3JldHVybiIwIi5yZXBlYXQoTWF0aC5tYXgoMCx0LXMubGVuZ3RoKSkrc31zLmQodCx7YWRkTGVhZGluZ1plcm86KCk9Pm4sYWRkTGVhZGluZ1plcm9zOigpPT5yfSl9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/15634.9ff500f40c3ec2496a9d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.986Z","timestamp":1785120633986,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/15634.9ff500f40c3ec2496a9d.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608300-7a6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:44:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 62966c97ecfde9b3863b14b9f62c5038\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1958,"size_decoded":1433,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1958), with no line terminators","md5":"1fe59f1cabe116d4c360e360391910cf","sha1":"6005a9d280a7661b640624f5309d0059e00f57a4","sha256":"4cac2a96f86db5b5ea7cc505de00925b8dff9a9b88157d33fa0832d728ab2d06","sha512":"4ce34a33edf60063dc9b5a69446b4f0f5b1870f1fa2980b7306e02ea292d73a9f2773611581f28e96d6bbf7d8c35367b6e71c21cc38b5073b921728dc3ced4b9","ssdeep":"","tlshash":"ef41545553f6b277e6b3453c6eaeb6944fb4403fab31168cb990e13847ef5500344d40","first_seen":"2026-07-22T16:00:00.46556Z","last_seen":"2026-07-27T05:29:38.801702Z","times_seen":139,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtdzFiMzp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hNjAwKTstLV8xLXcxYjM6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLXcxYjM6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLV8xLXcxYjM6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNzAwKX0uc3dpdGNoZXItbDNEdEtMc0x7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxleDowIDAgYXV0bztwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7ei1pbmRleDowOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0uaW5wdXQtbDNEdEtMc0x7Y3Vyc29yOmRlZmF1bHQ7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCU7ei1pbmRleDoxfS5pbnB1dC1sM0R0S0xzTDpjaGVja2VkLC5pbnB1dC1sM0R0S0xzTDpkaXNhYmxlZCwuaW5wdXQtbDNEdEtMc0w6Zm9jdXN7Ym9yZGVyOjA7b3V0bGluZTowfS5pbnB1dC1sM0R0S0xzTDpmb2N1cysudGh1bWJXcmFwcGVyLWwzRHRLTHNMOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmlucHV0LWwzRHRLTHNMOmZvY3VzLXZpc2libGUrLnRodW1iV3JhcHBlci1sM0R0S0xzTDphZnRlcntkaXNwbGF5OmJsb2NrfS5pbnB1dC1sM0R0S0xzTDpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpKy50aHVtYldyYXBwZXItbDNEdEtMc0w6YWZ0ZXJ7ZGlzcGxheTpub25lfS50aHVtYldyYXBwZXItbDNEdEtMc0x7ZGlzcGxheTpibG9jaztoZWlnaHQ6Zml0LWNvbnRlbnQ7b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6Zml0LWNvbnRlbnR9LnRodW1iV3JhcHBlci1sM0R0S0xzTDpmb2N1c3tvdXRsaW5lOm5vbmV9LnRodW1iV3JhcHBlci1sM0R0S0xzTDpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0udGh1bWJXcmFwcGVyLWwzRHRLTHNMOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpO2JvcmRlci1yYWRpdXM6MjRweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDhweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi00cHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTRweDt3aWR0aDpjYWxjKDEwMCUgKyA4cHgpO3otaW5kZXg6MX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmlucHV0LWwzRHRLTHNMOm5vdCguZGlzYWJsZWQtbDNEdEtMc0wpOmhvdmVyKy50aHVtYldyYXBwZXItbDNEdEtMc0x7LS11aS1saWItc3dpdGNoVmlldy1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1uZXV0cmFsKX19LmlucHV0LWwzRHRLTHNMOm5vdCguZGlzYWJsZWQtbDNEdEtMc0wpOmFjdGl2ZSsudGh1bWJXcmFwcGVyLWwzRHRLTHNMey0tdWktbGliLXN3aXRjaFZpZXctY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtbm9ybWFsKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmlucHV0LWwzRHRLTHNMOm5vdCguZGlzYWJsZWQtbDNEdEtMc0wpLmNoZWNrZWQtbDNEdEtMc0w6aG92ZXIrLnRodW1iV3JhcHBlci1sM0R0S0xzTHstLXVpLWxpYi1zd2l0Y2hWaWV3LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkKX19LmlucHV0LWwzRHRLTHNMOm5vdCguZGlzYWJsZWQtbDNEdEtMc0wpLmNoZWNrZWQtbDNEdEtMc0w6YWN0aXZlKy50aHVtYldyYXBwZXItbDNEdEtMc0x7LS11aS1saWItc3dpdGNoVmlldy1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbWVkaXVtKX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/71424.eaefaf568dc8f1d16228.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.254Z","timestamp":1785120634254,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/71424.eaefaf568dc8f1d16228.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-2389\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c2947368c306c875e9c96c04f2b8a254\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":9097,"size_decoded":3504,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3069)","md5":"d28b49d04557c0480cdbf81791cd43e4","sha1":"5e3a933096e33a38573e6f19d421af3adced7eb3","sha256":"21caef4db64aefa7c30365f0531a6b960cb10fa95ec42c10a6fa7de721bddee9","sha512":"087a004245d3199dec5b9b58bec642b846508dc967ba639a6b7eaa4289fe4a7bcca4cccaff9c3453cdc12b02032d564596001b3d891d12aaf21df4603b27a819","ssdeep":"96:BkL7dHrG9n2UbPK2Fv7927Erv8mYNWNPoHJuocGImcU8aG3y/J4Pphe8JxEpUOPs:BM7kNIAeyTmcu8VC8nIeCwIiT0BEF","tlshash":"16124324fb93b2b351cb619a583f080bf33a14d9132510a8735189dd1dfc99ab6afb74","first_seen":"2026-07-23T13:38:20.56175Z","last_seen":"2026-07-27T05:27:33.155812Z","times_seen":149,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s3MTQyNF0sezkxNDQ4NyhlLHQpe3ZhciBpOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj17fS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBzKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgaT1hcmd1bWVudHNbdF07aWYoaSl7dmFyIGE9dHlwZW9mIGk7aWYoInN0cmluZyI9PT1hfHwibnVtYmVyIj09PWEpZS5wdXNoKGkpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShpKSYmaS5sZW5ndGgpe3ZhciByPXMuYXBwbHkobnVsbCxpKTtyJiZlLnB1c2gocil9ZWxzZSBpZigib2JqZWN0Ij09PWEpZm9yKHZhciBvIGluIGkpbi5jYWxsKGksbykmJmlbb10mJmUucHVzaChvKX19cmV0dXJuIGUuam9pbigiICIpfWUuZXhwb3J0cz8ocy5kZWZhdWx0PXMsZS5leHBvcnRzPXMpOnZvaWQgMD09PShpPWZ1bmN0aW9uKCl7cmV0dXJuIHN9LmFwcGx5KHQsW10pKXx8KGUuZXhwb3J0cz1pKX0oKX0sMzIwNDAzKGUsdCl7InVzZSBzdHJpY3QiO3ZhciBpLG49ISgidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvd3x8IXdpbmRvdy5kb2N1bWVudHx8IXdpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KTtmdW5jdGlvbiBzKCl7aWYoaSlyZXR1cm4gaTtpZighbnx8IXdpbmRvdy5kb2N1bWVudC5ib2R5KXJldHVybiJpbmRldGVybWluYXRlIjt2YXIgZT13aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIkFCQ0QiKSksZS5kaXI9InJ0bCIsZS5zdHlsZS5mb250U2l6ZT0iMTRweCIsZS5zdHlsZS53aWR0aD0iNHB4IixlLnN0eWxlLmhlaWdodD0iMXB4IixlLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsZS5zdHlsZS50b3A9Ii0xMDAwcHgiLGUuc3R5bGUub3ZlcmZsb3c9InNjcm9sbCIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlKSxpPSJyZXZlcnNlIixlLnNjcm9sbExlZnQ+MD9pPSJkZWZhdWx0IjooZS5zY3JvbGxMZWZ0PTEsMD09PWUuc2Nyb2xsTGVmdCYmKGk9Im5lZ2F0aXZlIikpLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZSksaX19LDkxODc3OShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtiaW5kQ2FudmFzRWxlbWVudEJpdG1hcFNpemVUbzooKT0+cixlcXVhbFNpemVzOigpPT5uLmVxdWFsU2l6ZXMsc2l6ZTooKT0+bi5zaXplLHRyeUNyZWF0ZUNhbnZhc1JlbmRlcmluZ1RhcmdldDJEOigpPT5ofSk7dmFyIG49aSg3NDI3OSkscz1pKDc0MzQ1MSksYT1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSx0LGkpe3ZhciBzO3RoaXMuX2NhbnZhc0VsZW1lbnQ9bnVsbCx0aGlzLl9iaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycz1bXSx0aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplPW51bGwsdGhpcy5fc3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnM9W10sdGhpcy5fZGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGU9bnVsbCx0aGlzLl9jYW52YXNFbGVtZW50UmVzaXplT2JzZXJ2ZXI9bnVsbCx0aGlzLl9jYW52YXNFbGVtZW50PWUsdGhpcy5fY2FudmFzRWxlbWVudENsaWVudFNpemU9KDAsbi5zaXplKSh7d2lkdGg6dGhpcy5fY2FudmFzRWxlbWVudC5jbGllbnRXaWR0aCxoZWlnaHQ6dGhpcy5fY2FudmFzRWxlbWVudC5jbGllbnRIZWlnaHR9KSx0aGlzLl90cmFuc2Zvcm1CaXRtYXBTaXplPW51bGwhPXQ/dDpmdW5jdGlvbihlKXtyZXR1cm4gZX0sdGhpcy5fYWxsb3dSZXNpemVPYnNlcnZlcj1udWxsPT09KHM9bnVsbD09aT92b2lkIDA6aS5hbGxvd1Jlc2l6ZU9ic2VydmVyKXx8dm9pZCAwPT09c3x8cyx0aGlzLl9jaG9vc2VBbmRJbml0T2JzZXJ2ZXIoKX1yZXR1cm4gZS5wcm90b3R5cGUuZGlzcG9zZT1mdW5jdGlvbigpe3ZhciBlLHQ7aWYobnVsbD09PXRoaXMuX2NhbnZhc0VsZW1lbnQpdGhyb3cgbmV3IEVycm9yKCJPYmplY3QgaXMgZGlzcG9zZWQiKTtudWxsPT09KGU9dGhpcy5fY2FudmFzRWxlbWVudFJlc2l6ZU9ic2VydmVyKXx8dm9pZCAwPT09ZXx8ZS5kaXNjb25uZWN0KCksdGhpcy5fY2FudmFzRWxlbWVudFJlc2l6ZU9ic2VydmVyPW51bGwsbnVsbD09PSh0PXRoaXMuX2RldmljZVBpeGVsUmF0aW9PYnNlcnZhYmxlKXx8dm9pZCAwPT09dHx8dC5kaXNwb3NlKCksdGhpcy5fZGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGU9bnVsbCx0aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycy5sZW5ndGg9MCx0aGlzLl9iaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycy5sZW5ndGg9MCx0aGlzLl9jYW52YXNFbGVtZW50PW51bGx9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwiY2FudmFzRWxlbWVudCIse2dldDpmdW5jdGlvbigpe2lmKG51bGw9PT10aGlzLl9jYW52YXNFbGVtZW50KXRocm93IG5ldyBFcnJvcigiT2JqZWN0IGlzIGRpc3Bvc2VkIik7cmV0dXJuIHRoaXMuX2NhbnZhc0VsZW1lbnR9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJjYW52YXNFbGVtZW50Q2xpZW50U2l6ZSIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9jYW52YXNFbGVtZW50Q2xpZW50U2l6ZX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsImJpdG1hcFNpemUiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4oMCxuLnNpemUpKHt3aWR0aDp0aGlzLmNhbnZhc0VsZW1lbnQud2lkdGgsaGVpZ2h0OnRoaXMuY2FudmFzRWxlbWVudC5oZWlnaHR9KX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxlLnByb3RvdHlwZS5yZXNpemVDYW52YXNFbGVtZW50PWZ1bmN0aW9uKGUpe3RoaXMuX2NhbnZhc0VsZW1lbnRDbGllbnRTaXplPSgwLG4uc2l6ZSkoZSksdGhpcy5jYW52YXNFbGVtZW50LnN0eWxlLndpZHRoPSIiLmNvbmNhdCh0aGlzLl9jYW52YXNFbGVtZW50Q2xpZW50U2l6ZS53aWR0aCwicHgiKSwKdGhpcy5jYW52YXNFbGVtZW50LnN0eWxlLmhlaWdodD0iIi5jb25jYXQodGhpcy5fY2FudmFzRWxlbWVudENsaWVudFNpemUuaGVpZ2h0LCJweCIpLHRoaXMuX2ludmFsaWRhdGVCaXRtYXBTaXplKCl9LGUucHJvdG90eXBlLnN1YnNjcmliZUJpdG1hcFNpemVDaGFuZ2VkPWZ1bmN0aW9uKGUpe3RoaXMuX2JpdG1hcFNpemVDaGFuZ2VkTGlzdGVuZXJzLnB1c2goZSl9LGUucHJvdG90eXBlLnVuc3Vic2NyaWJlQml0bWFwU2l6ZUNoYW5nZWQ9ZnVuY3Rpb24oZSl7dGhpcy5fYml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnM9dGhpcy5fYml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnMuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdCE9PWV9KSl9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwic3VnZ2VzdGVkQml0bWFwU2l6ZSIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLGUucHJvdG90eXBlLnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkPWZ1bmN0aW9uKGUpe3RoaXMuX3N1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkTGlzdGVuZXJzLnB1c2goZSl9LGUucHJvdG90eXBlLnVuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQ9ZnVuY3Rpb24oZSl7dGhpcy5fc3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnM9dGhpcy5fc3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnMuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdCE9PWV9KSl9LGUucHJvdG90eXBlLmFwcGx5U3VnZ2VzdGVkQml0bWFwU2l6ZT1mdW5jdGlvbigpe2lmKG51bGwhPT10aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplKXt2YXIgZT10aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplO3RoaXMuX3N1Z2dlc3RlZEJpdG1hcFNpemU9bnVsbCx0aGlzLl9yZXNpemVCaXRtYXAoZSksdGhpcy5fZW1pdFN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKGUsdGhpcy5fc3VnZ2VzdGVkQml0bWFwU2l6ZSl9fSxlLnByb3RvdHlwZS5fcmVzaXplQml0bWFwPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuYml0bWFwU2l6ZTsoMCxuLmVxdWFsU2l6ZXMpKHQsZSl8fCh0aGlzLmNhbnZhc0VsZW1lbnQud2lkdGg9ZS53aWR0aCx0aGlzLmNhbnZhc0VsZW1lbnQuaGVpZ2h0PWUuaGVpZ2h0LHRoaXMuX2VtaXRCaXRtYXBTaXplQ2hhbmdlZCh0LGUpKX0sZS5wcm90b3R5cGUuX2VtaXRCaXRtYXBTaXplQ2hhbmdlZD1mdW5jdGlvbihlLHQpe3ZhciBpPXRoaXM7dGhpcy5fYml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnMuZm9yRWFjaCgoZnVuY3Rpb24obil7cmV0dXJuIG4uY2FsbChpLGUsdCl9KSl9LGUucHJvdG90eXBlLl9zdWdnZXN0TmV3Qml0bWFwU2l6ZT1mdW5jdGlvbihlKXt2YXIgdD10aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplLGk9KDAsbi5zaXplKSh0aGlzLl90cmFuc2Zvcm1CaXRtYXBTaXplKGUsdGhpcy5fY2FudmFzRWxlbWVudENsaWVudFNpemUpKSxzPSgwLG4uZXF1YWxTaXplcykodGhpcy5iaXRtYXBTaXplLGkpP251bGw6aTtudWxsPT09dCYmbnVsbD09PXN8fG51bGwhPT10JiZudWxsIT09cyYmKDAsbi5lcXVhbFNpemVzKSh0LHMpfHwodGhpcy5fc3VnZ2VzdGVkQml0bWFwU2l6ZT1zLHRoaXMuX2VtaXRTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0LHMpKX0sZS5wcm90b3R5cGUuX2VtaXRTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZD1mdW5jdGlvbihlLHQpe3ZhciBpPXRoaXM7dGhpcy5fc3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnMuZm9yRWFjaCgoZnVuY3Rpb24obil7cmV0dXJuIG4uY2FsbChpLGUsdCl9KSl9LGUucHJvdG90eXBlLl9jaG9vc2VBbmRJbml0T2JzZXJ2ZXI9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3RoaXMuX2FsbG93UmVzaXplT2JzZXJ2ZXI/bmV3IFByb21pc2UoKGZ1bmN0aW9uKGUpe3ZhciB0PW5ldyBSZXNpemVPYnNlcnZlcigoZnVuY3Rpb24oaSl7ZShpLmV2ZXJ5KChmdW5jdGlvbihlKXtyZXR1cm4iZGV2aWNlUGl4ZWxDb250ZW50Qm94U2l6ZSJpbiBlfSkpKSx0LmRpc2Nvbm5lY3QoKX0pKTt0Lm9ic2VydmUoZG9jdW1lbnQuYm9keSx7Ym94OiJkZXZpY2UtcGl4ZWwtY29udGVudC1ib3gifSl9KSkuY2F0Y2goKGZ1bmN0aW9uKCl7cmV0dXJuITF9KSkudGhlbigoZnVuY3Rpb24odCl7cmV0dXJuIHQ/ZS5faW5pdFJlc2l6ZU9ic2VydmVyKCk6ZS5faW5pdERldmljZVBpeGVsUmF0aW9PYnNlcnZhYmxlKCl9KSk6dGhpcy5faW5pdERldmljZVBpeGVsUmF0aW9PYnNlcnZhYmxlKCl9LGUucHJvdG90eXBlLl9pbml0RGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO2lmKG51bGwhPT10aGlzLl9jYW52YXNFbGVtZW50KXt2YXIgdD1vKHRoaXMuX2NhbnZhc0VsZW1lbnQpO2lmKG51bGw9PT10KXRocm93IG5ldyBFcnJvcigiTm8gd2luZG93IGlzIGFzc29jaWF0ZWQgd2l0aCB0aGUgY2FudmFzIik7dGhpcy5fZGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGU9KDAscy5jcmVhdGVPYnNlcnZhYmxlKSh0KSx0aGlzLl9kZXZpY2VQaXhlbFJhdGlvT2JzZXJ2YWJsZS5zdWJzY3JpYmUoKGZ1bmN0aW9uKCl7cmV0dXJuIGUuX2ludmFsaWRhdGVCaXRtYXBTaXplKCl9KSksdGhpcy5faW52YWxpZGF0ZUJpdG1hcFNpemUoKX19LGUucHJvdG90eXBlLl9pbnZhbGlkYXRlQml0bWFwU2l6ZT1mdW5jdGlvbigpe3ZhciBlLHQ7aWYobnVsbCE9PXRoaXMuX2NhbnZhc0VsZW1lbnQpe3ZhciBpPW8odGhpcy5fY2FudmFzRWxlbWVudCk7aWYobnVsbCE9PWkpe3ZhciBzPW51bGwhPT0odD1udWxsPT09KGU9dGhpcy5fZGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGUpfHx2b2lkIDA9PT1lP3ZvaWQgMDplLnZhbHVlKSYmdm9pZCAwIT09dD90OmkuZGV2aWNlUGl4ZWxSYXRpbyxhPXRoaXMuX2NhbnZhc0VsZW1lbnQuZ2V0Q2xpZW50UmVjdHMoKSxyPXZvaWQgMCE9PWFbMF0/ZnVuY3Rpb24oZSx0KXtyZXR1cm4oMCxuLnNpemUpKHt3aWR0aDpNYXRoLnJvdW5kKGUubGVmdCp0K2Uud2lkdGgqdCktTWF0aC5yb3VuZChlLmxlZnQqdCksCmhlaWdodDpNYXRoLnJvdW5kKGUudG9wKnQrZS5oZWlnaHQqdCktTWF0aC5yb3VuZChlLnRvcCp0KX0pfShhWzBdLHMpOigwLG4uc2l6ZSkoe3dpZHRoOnRoaXMuX2NhbnZhc0VsZW1lbnRDbGllbnRTaXplLndpZHRoKnMsaGVpZ2h0OnRoaXMuX2NhbnZhc0VsZW1lbnRDbGllbnRTaXplLmhlaWdodCpzfSk7dGhpcy5fc3VnZ2VzdE5ld0JpdG1hcFNpemUocil9fX0sZS5wcm90b3R5cGUuX2luaXRSZXNpemVPYnNlcnZlcj1mdW5jdGlvbigpe3ZhciBlPXRoaXM7bnVsbCE9PXRoaXMuX2NhbnZhc0VsZW1lbnQmJih0aGlzLl9jYW52YXNFbGVtZW50UmVzaXplT2JzZXJ2ZXI9bmV3IFJlc2l6ZU9ic2VydmVyKChmdW5jdGlvbih0KXt2YXIgaT10LmZpbmQoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnRhcmdldD09PWUuX2NhbnZhc0VsZW1lbnR9KSk7aWYoaSYmaS5kZXZpY2VQaXhlbENvbnRlbnRCb3hTaXplJiZpLmRldmljZVBpeGVsQ29udGVudEJveFNpemVbMF0pe3ZhciBzPWkuZGV2aWNlUGl4ZWxDb250ZW50Qm94U2l6ZVswXSxhPSgwLG4uc2l6ZSkoe3dpZHRoOnMuaW5saW5lU2l6ZSxoZWlnaHQ6cy5ibG9ja1NpemV9KTtlLl9zdWdnZXN0TmV3Qml0bWFwU2l6ZShhKX19KSksdGhpcy5fY2FudmFzRWxlbWVudFJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5fY2FudmFzRWxlbWVudCx7Ym94OiJkZXZpY2UtcGl4ZWwtY29udGVudC1ib3gifSkpfSxlfSgpO2Z1bmN0aW9uIHIoZSx0KXtpZigiZGV2aWNlLXBpeGVsLWNvbnRlbnQtYm94Ij09PXQudHlwZSlyZXR1cm4gbmV3IGEoZSx0LnRyYW5zZm9ybSx0Lm9wdGlvbnMpO3Rocm93IG5ldyBFcnJvcigiVW5zdXBwb3J0ZWQgYmluZGluZyB0YXJnZXQiKX1mdW5jdGlvbiBvKGUpe3JldHVybiBlLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXd9dmFyIGw9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUsdCxpKXtpZigwPT09dC53aWR0aHx8MD09PXQuaGVpZ2h0KXRocm93IG5ldyBUeXBlRXJyb3IoIlJlbmRlcmluZyB0YXJnZXQgY291bGQgb25seSBiZSBjcmVhdGVkIG9uIGEgbWVkaWEgd2l0aCBwb3NpdGl2ZSB3aWR0aCBhbmQgaGVpZ2h0Iik7aWYodGhpcy5fbWVkaWFTaXplPXQsMD09PWkud2lkdGh8fDA9PT1pLmhlaWdodCl0aHJvdyBuZXcgVHlwZUVycm9yKCJSZW5kZXJpbmcgdGFyZ2V0IGNvdWxkIG9ubHkgYmUgY3JlYXRlZCB1c2luZyBhIGJpdG1hcCB3aXRoIHBvc2l0aXZlIGludGVnZXIgd2lkdGggYW5kIGhlaWdodCIpO3RoaXMuX2JpdG1hcFNpemU9aSx0aGlzLl9jb250ZXh0PWV9cmV0dXJuIGUucHJvdG90eXBlLnVzZU1lZGlhQ29vcmRpbmF0ZVNwYWNlPWZ1bmN0aW9uKGUpe3RyeXtyZXR1cm4gdGhpcy5fY29udGV4dC5zYXZlKCksdGhpcy5fY29udGV4dC5zZXRUcmFuc2Zvcm0oMSwwLDAsMSwwLDApLHRoaXMuX2NvbnRleHQuc2NhbGUodGhpcy5faG9yaXpvbnRhbFBpeGVsUmF0aW8sdGhpcy5fdmVydGljYWxQaXhlbFJhdGlvKSxlKHtjb250ZXh0OnRoaXMuX2NvbnRleHQsbWVkaWFTaXplOnRoaXMuX21lZGlhU2l6ZX0pfWZpbmFsbHl7dGhpcy5fY29udGV4dC5yZXN0b3JlKCl9fSxlLnByb3RvdHlwZS51c2VCaXRtYXBDb29yZGluYXRlU3BhY2U9ZnVuY3Rpb24oZSl7dHJ5e3JldHVybiB0aGlzLl9jb250ZXh0LnNhdmUoKSx0aGlzLl9jb250ZXh0LnNldFRyYW5zZm9ybSgxLDAsMCwxLDAsMCksZSh7Y29udGV4dDp0aGlzLl9jb250ZXh0LG1lZGlhU2l6ZTp0aGlzLl9tZWRpYVNpemUsYml0bWFwU2l6ZTp0aGlzLl9iaXRtYXBTaXplLGhvcml6b250YWxQaXhlbFJhdGlvOnRoaXMuX2hvcml6b250YWxQaXhlbFJhdGlvLHZlcnRpY2FsUGl4ZWxSYXRpbzp0aGlzLl92ZXJ0aWNhbFBpeGVsUmF0aW99KX1maW5hbGx5e3RoaXMuX2NvbnRleHQucmVzdG9yZSgpfX0sT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJfaG9yaXpvbnRhbFBpeGVsUmF0aW8iLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYml0bWFwU2l6ZS53aWR0aC90aGlzLl9tZWRpYVNpemUud2lkdGh9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJfdmVydGljYWxQaXhlbFJhdGlvIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2JpdG1hcFNpemUuaGVpZ2h0L3RoaXMuX21lZGlhU2l6ZS5oZWlnaHR9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksZX0oKTtmdW5jdGlvbiBoKGUsdCl7dmFyIGk9ZS5jYW52YXNFbGVtZW50Q2xpZW50U2l6ZTtpZigwPT09aS53aWR0aHx8MD09PWkuaGVpZ2h0KXJldHVybiBudWxsO3ZhciBuPWUuYml0bWFwU2l6ZTtpZigwPT09bi53aWR0aHx8MD09PW4uaGVpZ2h0KXJldHVybiBudWxsO3ZhciBzPWUuY2FudmFzRWxlbWVudC5nZXRDb250ZXh0KCIyZCIsdCk7cmV0dXJuIG51bGw9PT1zP251bGw6bmV3IGwocyxpLG4pfX0sODE3MzUwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbj1pKDE3ODQ5Nykscz1pKDM2MDYyMCk7Y29uc3QgYT1mdW5jdGlvbihlKXtyZXR1cm4hMD09PWV8fCExPT09ZXx8KDAscy5kZWZhdWx0KShlKSYmIltvYmplY3QgQm9vbGVhbl0iPT0oMCxuLmRlZmF1bHQpKGUpfX0sMjA2NjczKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbj1pKDE3ODQ5Nykscz1pKDM2MDYyMCk7Y29uc3QgYT1mdW5jdGlvbihlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGV8fCgwLHMuZGVmYXVsdCkoZSkmJiJbb2JqZWN0IE51bWJlcl0iPT0oMCxuLmRlZmF1bHQpKGUpfX0sMzA0MjIxKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgbj1pKDE3ODQ5Nykscz1pKDI5NTYzNSksYT1pKDM2MDYyMCk7Y29uc3Qgcj1mdW5jdGlvbihlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGV8fCEoMCxzLmRlZmF1bHQpKGUpJiYoMCxhLmRlZmF1bHQpKGUpJiYiW29iamVjdCBTdHJpbmddIj09KDAsbi5kZWZhdWx0KShlKX19fV0pOw=="}},"time_used":1,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"tvc-invdn-cf-com.investing.com/cdn-cgi/challenge-platform/scripts/jsd/main.js","fqdn":"tvc-invdn-cf-com.investing.com","domain":"investing.com","tld":"com"},"ip":{"addr":"172.64.155.105","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://tvc-invdn-cf-com.investing.com/tool/1.12.10/tool-prod-2-ssl.html?carrier=cc6698fccca44e51b088d9ddbbcf8ec8\u0026time=1785120633\u0026domain_ID=7\u0026lang_ID=7\u0026timezone_ID=17\u0026version=1.12.10\u0026locale=ru\u0026timezone=Europe/Moscow\u0026pair_ID=945629\u0026interval=5\u0026session=24x7\u0026prefix=ru\u0026suffix=\u0026client=0\u0026user=\u0026plotStyle=area\u0026geoc=NO\u0026styleOverride=","date":"2026-07-27T02:50:34.462Z","timestamp":1785120634462,"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":"tvc-invdn-cf-com.investing.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 31 May 2026 06:59:21 GMT","end":"Sat, 29 Aug 2026 07:59:19 GMT"},"fingerprint":{"sha1":"90:A7:5D:5C:7F:22:D6:92:72:4C:85:3E:E7:2D:28:D1:42:20:B1:F8","sha256":"4C:97:98:34:DB:36:63:81:85:8D:5B:E0:91:75:21:94:B9:1D:97:17:07:3D:61:14:3E:02:DB:0F:73:40:E7:84"}}},"request":{"raw":"GET /cdn-cgi/challenge-platform/scripts/jsd/main.js HTTP/1.1\r\nHost: tvc-invdn-cf-com.investing.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\nCookie: __cf_bm=mn1PVnpxBsLEicPCDwE_Pe4gHkvTYye6Tx_zgzNLo.k-1785120633.699759-1.0.1.1-lB_db9Ov1aU8Fd3phu4.zXI.0INMPk8u0VotUI0k5.d8tcJf9MPZ8.4bNw0k2UZ4hoLBefzQWLGi7ZW06ZZmMXWweiLPcAzMaI0v_RVdZq.Z_fjpI5Y5UZbmopumxELp1CKoKFuB0JWJV4cWCH7O8Q\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 302 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-length: 0\r\nlocation: /cdn-cgi/challenge-platform/h/g/scripts/jsd/b0da9f4911ba/main.js?\r\ncache-control: max-age=300, stale-if-error=10800, stale-while-revalidate=10800, public\r\naccess-control-allow-origin: *\r\nset-cookie: __cf_bm=jtnAMF1jnA9eP877mzX9PWPftppZTYpVuXwx3Tmv6Zs-1785120634.463041-1.0.1.1-nLMDxl3BIa2GJ9QP57CAvrb7w4nvL3De9XlJe2dUyDOpGjRQHmjam_MeH_n1VnM52PTH4NDHln65n3wG30qRRCssJwmWLKnztxQPccjnnPIwfPmuaACWVZ_l94Q4IhgVA3t.bN5OBkX.nmzu5Bv0uA; HttpOnly; SameSite=None; Secure; Path=/; Domain=investing.com; Expires=Mon, 27 Jul 2026 03:20:34 GMT\r\npriority: u=3,i=?0\r\nserver: cloudflare\r\ncf-ray: a218565d6c180daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"302","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":"Cloudflare Bot Management","description":"Cloudflare bot management solution identifies and mitigates automated traffic to protect websites from bad bots.","website":"https://www.cloudflare.com/en-gb/products/bot-management/","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["Security"]}],"data":{"size":0,"size_decoded":0,"mime_type":"application/javascript; charset=UTF-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-07-27T05:14:11.3544Z","times_seen":17556491,"resource_available":true,"data":null}},"time_used":6,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/fonts/icomoon/style.css","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:32.880Z","timestamp":1785120632880,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /fonts/icomoon/style.css HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:32 GMT\r\nContent-Type: text/css\r\nLast-Modified: Tue, 14 Apr 2026 04:20:06 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc076-aab\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":2731,"size_decoded":949,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"f41778174523b01e752bb0d659f92108","sha1":"b85bb5e60c5b2b19d03dc3540e1a8a167dcd9dae","sha256":"bae60af09f0167fbcaf1e4c6d730843e53e78c561cdc6459652405a8ea35c772","sha512":"a3f0219fd220694a608a1f05a55ad5b122c4cefd848a94801ed891490c060d8d09735d6cbf41fe51d6210e327e31a8fbc8166bb251237ad16dc5a1777a97738b","ssdeep":"","tlshash":"ce517bf8d87c10854730daa0a3526a32bf1c9275ce832c96f657684cabeb7145196fec","first_seen":"2026-07-27T02:45:25.227431Z","last_seen":"2026-07-27T02:59:54.632681Z","times_seen":4,"resource_available":false,"data":"QGZvbnQtZmFjZSB7DQogIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7DQogIHNyYzogIHVybCgnZm9udHMvaWNvbW9vbjVjM2I1YzNiNWMzYi5lb3QnKTsNCiAgc3JjOiAgdXJsKCdmb250cy9pY29tb29uNWMzYjVjM2I1YzNiLmVvdCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwNCiAgICB1cmwoJ2ZvbnRzL2ljb21vb241YzNiNWMzYjVjM2IudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLA0KICAgIHVybCgnZm9udHMvaWNvbW9vbjVjM2I1YzNiNWMzYi53b2ZmJykgZm9ybWF0KCd3b2ZmJyksDQogICAgdXJsKCdmb250cy9pY29tb29uNWMzYjVjM2I1YzNiLnN2ZycpIGZvcm1hdCgnc3ZnJyk7DQogIGZvbnQtd2VpZ2h0OiBub3JtYWw7DQogIGZvbnQtc3R5bGU6IG5vcm1hbDsNCn0NCg0KW2NsYXNzXj0iaWNvbi0iXSwgW2NsYXNzKj0iIGljb24tIl0gew0KICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqLw0KICBmb250LWZhbWlseTogJ2ljb21vb24nICFpbXBvcnRhbnQ7DQogIHNwZWFrOiBub25lOw0KICBmb250LXN0eWxlOiBub3JtYWw7DQogIGZvbnQtd2VpZ2h0OiBub3JtYWw7DQogIGZvbnQtdmFyaWFudDogbm9ybWFsOw0KICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsNCiAgbGluZS1oZWlnaHQ6IDE7DQoNCiAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovDQogIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOw0KICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOw0KfQ0KDQouaWNvbi1zb2M3OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZTkyNCI7DQp9DQouaWNvbi1kYXRlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZTkwMCI7DQp9DQouaWNvbi1wcm9maWxlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZTkwMSI7DQp9DQouaWNvbi1wYXlfaW46YmVmb3JlIHsNCiAgY29udGVudDogIlxlOTAyIjsNCn0NCi5pY29uLXBheV9vdXQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxlOTAzIjsNCn0NCi5pY29uLWxvY2F0aW9uOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZTkwNCI7DQp9DQouaWNvbi1jdXIxOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZTkwNSI7DQp9DQouaWNvbi1jdXIyOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZTkwNiI7DQp9DQouaWNvbi1jdXIzOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZTkwNyI7DQp9DQouaWNvbi1waG9uZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGU5MDgiOw0KfQ0KLmljb24tY2hhcnQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxlOTA5IjsNCn0NCi5pY29uLXRlYW06YmVmb3JlIHsNCiAgY29udGVudDogIlxlOTBhIjsNCn0NCi5pY29uLWRvY3M6YmVmb3JlIHsNCiAgY29udGVudDogIlxlOTBiIjsNCn0NCi5pY29uLWNhc2g6YmVmb3JlIHsNCiAgY29udGVudDogIlxlOTBjIjsNCn0NCi5pY29uLXBhc3M6YmVmb3JlIHsNCiAgY29udGVudDogIlxlOTBkIjsNCn0NCi5pY29uLWFkdjE6YmVmb3JlIHsNCiAgY29udGVudDogIlxlOTBlIjsNCn0NCi5pY29uLWFkdjI6YmVmb3JlIHsNCiAgY29udGVudDogIlxlOTBmIjsNCn0NCi5pY29uLWFkdjM6YmVmb3JlIHsNCiAgY29udGVudDogIlxlOTEwIjsNCn0NCi5pY29uLXNvYzQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxlOTExIjsNCn0NCi5pY29uLXNvYzM6YmVmb3JlIHsNCiAgY29udGVudDogIlxlOTEyIjsNCn0NCi5pY29uLXNvYzI6YmVmb3JlIHsNCiAgY29udGVudDogIlxlOTEzIjsNCn0NCi5pY29uLXNvYzE6YmVmb3JlIHsNCiAgY29udGVudDogIlxlOTE0IjsNCn0NCi5pY29uLXJlZzpiZWZvcmUgew0KICBjb250ZW50OiAiXGU5MTUiOw0KfQ0KLmljb24tcGVyY2VudDpiZWZvcmUgew0KICBjb250ZW50OiAiXGU5MTYiOw0KfQ0KLmljb24tcGFydG5lcjpiZWZvcmUgew0KICBjb250ZW50OiAiXGU5MTciOw0KfQ0KLmljb24tc3VtMTpiZWZvcmUgew0KICBjb250ZW50OiAiXGU5MTgiOw0KfQ0KLmljb24tbWFpbDpiZWZvcmUgew0KICBjb250ZW50OiAiXGU5MTkiOw0KfQ0KLmljb24tc29jNTpiZWZvcmUgew0KICBjb250ZW50OiAiXGU5MWEiOw0KfQ0KLmljb24tc3RhdDpiZWZvcmUgew0KICBjb250ZW50OiAiXGU5MWIiOw0KfQ0KLmljb24tZWRpdDpiZWZvcmUgew0KICBjb250ZW50OiAiXGU5MWMiOw0KfQ0KLmljb24tZGVwb3NpdDpiZWZvcmUgew0KICBjb250ZW50OiAiXGU5MWQiOw0KfQ0KLmljb24taGlzdDpiZWZvcmUgew0KICBjb250ZW50OiAiXGU5MWUiOw0KfQ0KLmljb24tc2V0dGluZ3M6YmVmb3JlIHsNCiAgY29udGVudDogIlxlOTFmIjsNCn0NCi5pY29uLXN1bTI6YmVmb3JlIHsNCiAgY29udGVudDogIlxlOTIwIjsNCn0NCi5pY29uLWZhcTpiZWZvcmUgew0KICBjb250ZW50OiAiXGU5MjEiOw0KfQ0KLmljb24tbG9naW46YmVmb3JlIHsNCiAgY29udGVudDogIlxlOTIyIjsNCn0NCi5pY29uLWxpbms6YmVmb3JlIHsNCiAgY29udGVudDogIlxlOTIzIjsNCn0NCi5pY29uLXNob3c6YmVmb3JlIHsNCiAgY29udGVudDogIlxlOTU1IjsNCn0NCi5pY29uLWhpZGU6YmVmb3JlIHsNCiAgY29udGVudDogIlxlOTU2IjsNCn0NCi5pY29uLXByZXY6YmVmb3JlIHsNCiAgY29udGVudDogIlxlNDA4IjsNCn0NCi5pY29uLW5leHQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxlNDA5IjsNCn0NCi5pY29uLXNvYzY6YmVmb3JlIHsNCiAgY29udGVudDogIlxlYTk2IjsNCn0NCg=="}},"time_used":90,"timings":{"blocked":-1,"dns":0,"connect":27,"send":0,"wait":27,"receive":0,"ssl":35},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/img/grey_bg_rev.png","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.453Z","timestamp":1785120633453,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /img/grey_bg_rev.png HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/css/style.css\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: image/png\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-6b93\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":27539,"size_decoded":19793,"mime_type":"image/png","magic":"PNG image data, 1920 x 1071, 8-bit/color RGBA, non-interlaced","md5":"3843a3e2027f5a7255835237253b64b9","sha1":"7c406659b2cb297d553e3513d01a66ebd94ef21b","sha256":"17f2fbaafc2e215bcf0b0bbd045035050761e9a23fa0274a5701ad9d638bee14","sha512":"2860e785c6d81c2c08c391d0dff940fe86e7c12eb670eb3b538a2edc52bc9c8506ab0ae69a0591919fe663cac6a58b9f4a1b3262016d62f8317ed822a7098f06","ssdeep":"768:+b7MMMyyMMMMMMM1MMMOlzRHiwhb8wYJa9WLa4dQq:+/MMMyyMMMMMMM1MMMsFHiwGjJa954dB","tlshash":"59c2a30446f3bf40fe5617780ed6791a2fe02e1d9190472b5379e8317d379f9eaa8a02","first_seen":"2026-07-27T02:45:25.249878Z","last_seen":"2026-07-27T02:59:54.608546Z","times_seen":4,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAB4AAAAQvCAYAAAD2APNgAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODlCMTM4NTM5MTcwMTFFODlBRUJBQjEzREZEOEJFREIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODlCMTM4NTQ5MTcwMTFFODlBRUJBQjEzREZEOEJFREIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4OUIxMzg1MTkxNzAxMUU4OUFFQkFCMTNERkQ4QkVEQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4OUIxMzg1MjkxNzAxMUU4OUFFQkFCMTNERkQ4QkVEQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pi2APZsAAGgHSURBVHja7NkxEcAgAMDAUv862djYQQe5fwlZM+ba5wMAAAAAAADgeb8EAAAAAAAAAA0GMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAABEGMAAAAAAAAECEAQwAAAAAAAAQYQADAAAAAAAARBjAAAAAAAAAXPbuBMyuoswfcCEMKLvijKODCI4oKqAoKiAguCEoAjqiqDjgjuKGO26I4r6yiKAoqKgguCAKIvuOLGEX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"}},"time_used":131,"timings":{"blocked":101,"dns":0,"connect":0,"send":0,"wait":30,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/55969.43c3748014de2cd0bd1c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.206Z","timestamp":1785120634206,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/55969.43c3748014de2cd0bd1c.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-79ea\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a823a74cfd1a448a42b4c6c27db65d5a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":31210,"size_decoded":10275,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"2ffe3f8909cfa5c00f9356969ce56989","sha1":"25fb185c3e390ae4bd33c6395913b100e0a4f6d9","sha256":"7d1513778a61b869e05173da3d33c80b937eaf583aeb370b947947ddcdce4c84","sha512":"2022abb3649827fd1f39c901fc168d99ac273164699e1ca00d77e017ee71f51fb199aac7cb5eb214ba12fe7bfb88a65a777fee03d3f0318dbaa768e188f74d6d","ssdeep":"768:YmdyerAdxxaVWiG7s8trffJtzTrcSWJMAchHTdv5UC1gMgFwMA+Mv60F00rFLfLL:5dyHaZG73TAVFd+60S0RuGpriakk","tlshash":"62e296ca3286733693d1c7850c750903f339a1743c0a55acf6ac6acfbe1a942617ab7d","first_seen":"2026-07-16T13:40:49.785089Z","last_seen":"2026-07-27T05:19:37.163595Z","times_seen":466,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNTU5NjldLHszMDgyMShlLHQscyl7cy5kKHQse0J1c2luZXNzRGF5OigpPT5pfSk7dmFyIG49cyg3MDA4MDkpLHI9cyg5MDI4NDIpO2NsYXNzIGl7Y29uc3RydWN0b3IoZSx0LHMpe3RoaXMuX2RheU9mV2Vlaz1udWxsLHRoaXMueWVhcj1lLHRoaXMubW9udGg9dCx0aGlzLmRheT1zfXRvU3RyaW5nKCl7cmV0dXJuYCR7KDAsci5hZGRMZWFkaW5nWmVyb3MpKHRoaXMueWVhciw0KX0tJHsoMCxyLmFkZExlYWRpbmdaZXJvKSh0aGlzLm1vbnRoKX0tJHsoMCxyLmFkZExlYWRpbmdaZXJvKSh0aGlzLmRheSl9YH10b3l5eXltbWRkKCl7cmV0dXJuYCR7KDAsci5hZGRMZWFkaW5nWmVyb3MpKHRoaXMueWVhciw0KX0keygwLHIuYWRkTGVhZGluZ1plcm8pKHRoaXMubW9udGgpfSR7KDAsci5hZGRMZWFkaW5nWmVybykodGhpcy5kYXkpfWB9Y29tcGFyZVRvKGUpe3JldHVybiB0aGlzLnllYXI+ZS55ZWFyfHx0aGlzLnllYXI9PT1lLnllYXImJnRoaXMubW9udGg+ZS5tb250aHx8dGhpcy55ZWFyPT09ZS55ZWFyJiZ0aGlzLm1vbnRoPT09ZS5tb250aCYmdGhpcy5kYXk+ZS5kYXk/MTp0aGlzLnllYXI9PT1lLnllYXImJnRoaXMubW9udGg9PT1lLm1vbnRoJiZ0aGlzLmRheT09PWUuZGF5PzA6LTF9YmVmb3JlKGUpe3JldHVybi0xPT09dGhpcy5jb21wYXJlVG8oZSl9dG9DYWxlbmRhcihlKXtyZXR1cm4oMCxuLmdldF9jYWwpKGU/PygwLG4uZ2V0X3RpbWV6b25lKSgiRXRjL1VUQyIpLHRoaXMueWVhcix0aGlzLm1vbnRoLTEsdGhpcy5kYXkpfWFkZERheXMoZSl7Y29uc3QgdD10aGlzLnRvQ2FsZW5kYXIoKDAsbi5nZXRfdGltZXpvbmUpKCJFdGMvVVRDIikpO3JldHVybigwLG4uYWRkX2RhdGUpKHQsZSksaS5mcm9tQ2FsZW5kYXIodCl9Zmlyc3REYXlPZlllYXIoKXtyZXR1cm4gbmV3IGkodGhpcy55ZWFyLDEsMSl9Z2V0RGF5T2ZXZWVrKCl7cmV0dXJuIG51bGw9PT10aGlzLl9kYXlPZldlZWsmJih0aGlzLl9kYXlPZldlZWs9KDAsbi5nZXRfZGF5X29mX3dlZWspKHRoaXMudG9DYWxlbmRhcigpKSksdGhpcy5fZGF5T2ZXZWVrfXN0YXRpYyBmcm9tQ2FsZW5kYXIoZSl7cmV0dXJuIG5ldyBpKCgwLG4uZ2V0X3llYXIpKGUpLCgwLG4uZ2V0X21vbnRoKShlKSsxLCgwLG4uZ2V0X2RheV9vZl9tb250aCkoZSkpfX19LDM0MTAzNihlLHQscyl7cy5kKHQse0V4dGVuZGVkRW50cnlEZWNvcmF0b3I6KCk9PkUsT2Zmc2V0RW50cnlEZWNvcmF0b3I6KCk9PnUsU0VTU0lPTl9TUEVDX1NZTUJPTF9CQVJTX09GRlNFVDooKT0+byxTRVNTSU9OX1NQRUNfU1lNQk9MX0VYVEVOREVEOigpPT5oLFNFU1NJT05fU1BFQ19TWU1CT0xfVU5JRklFRDooKT0+YSxTRVNTSU9OX1NQRUNfU1lNQk9MX1VOSUZJRURfU0hJRlRFRDooKT0+ZCxTZXNzaW9uc1NwZWNFbnRyaWVzOigpPT5tLFNlc3Npb25zU3BlY0VudHJ5OigpPT5fLFNlc3Npb25zU3BlY0VudHJ5SW5kZXg6KCk9Pk8sU2Vzc2lvbnNTcGVjSGlzdG9yeUVudHJ5OigpPT5XLFVuaWZpZWRFbnRyeURlY29yYXRvcjooKT0+ayxVbmlmaWVkU2hpZnRlZEVudHJ5RGVjb3JhdG9yOigpPT5wLGNvbXBhcmVTZXNzaW9uRW50cmllczooKT0+eSxpc0V4dGVuZGVkRW50cnk6KCk9PmcsaXNPZmZzZXRFbnRyeTooKT0+bCxpc1VuaWZpZWRFbnRyeTooKT0+Uyxpc1VuaWZpZWRTaGlmdGVkRW50cnk6KCk9PkR9KTt2YXIgbixyPXMoMTM4NjM4KSxpPXMoNzAwODA5KTshZnVuY3Rpb24oZSl7ZVtlLkxlZnRGaXJzdD0tMV09IkxlZnRGaXJzdCIsZVtlLlVuY2hhbmdlZD0wXT0iVW5jaGFuZ2VkIixlW2UuUmlnaHRGaXJzdD0xXT0iUmlnaHRGaXJzdCJ9KG58fChuPXt9KSk7Y29uc3Qgbz0iQSIsYT0iVSIsZD0iUyIsaD0iRSI7ZnVuY3Rpb24gZihlKXtyZXR1cm4gZT49MD8wOmUlaS5taW51dGVzUGVyRGF5PT0wPy1lL2kubWludXRlc1BlckRheToxLU1hdGgudHJ1bmMoZS9pLm1pbnV0ZXNQZXJEYXkpfWZ1bmN0aW9uIHkoZSx0KXtyZXR1cm4gZS5jb21wYXJlVG8odCl9dmFyIGM7IWZ1bmN0aW9uKGUpe2VbZS5Ob25lPTBdPSJOb25lIixlW2UuRXh0ZW5kZWRFbnRyeT0xXT0iRXh0ZW5kZWRFbnRyeSIsZVtlLk9mZnNldEVudHJ5PTJdPSJPZmZzZXRFbnRyeSIsZVtlLlVuaWZpZWRFbnRyeT0zXT0iVW5pZmllZEVudHJ5IixlW2UuVW5pZmllZFNoaWZ0ZWRFbnRyeT00XT0iVW5pZmllZFNoaWZ0ZWRFbnRyeSJ9KGN8fChjPXt9KSk7Y2xhc3MgX3tjb25zdHJ1Y3RvcihlLHQscyl7dGhpcy5kZWNvcmF0b3JUeXBlPTAsKDAsci5hc3NlcnQpKE51bWJlci5pc0Zpbml0ZShlKSYmTnVtYmVyLmlzRmluaXRlKHQpJiZOdW1iZXIuaXNGaW5pdGUocyksIkludmFsaWQgYXJndW1lbnRzIiksdGhpcy5fZGF5T2ZXZWVrPWUsdGhpcy5fc3RhcnQ9dCx0aGlzLl9sZW5ndGg9c31zdGFydCgpe3JldHVybiB0aGlzLl9zdGFydCtpLm1pbnV0ZXNQZXJEYXkqdGhpcy5zZXNzaW9uU3RhcnREYXlzT2Zmc2V0KCl9c3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fc3RhcnR9ZW5kT2Zmc2V0KCl7cmV0dXJuIHRoaXMuX3N0YXJ0K3RoaXMuX2xlbmd0aH1zZXNzaW9uU3RhcnREYXlzT2Zmc2V0KCl7cmV0dXJuIGYodGhpcy5fc3RhcnQpfWlzT3Zlcm5pZ2h0KCl7cmV0dXJuIHRoaXMuX3N0YXJ0PDB9ZGF5T2ZXZWVrKCl7cmV0dXJuIHRoaXMuX2RheU9mV2Vla31zZXNzaW9uU3RhcnREYXlPZldlZWsoKXtsZXQgZT10aGlzLl9kYXlPZldlZWstdGhpcy5zZXNzaW9uU3RhcnREYXlzT2Zmc2V0KCk7cmV0dXJuIGU8aS5TVU5EQVkmJihlKz03KSxlfWxlbmd0aCgpe3JldHVybiB0aGlzLl9sZW5ndGh9aXNFeHRlbmRlZCgpe3JldHVybiExfWV4dGVuZGVkU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5zdGFydE9mZnNldCgpfWV4dGVuZGVkRW5kT2Zmc2V0KCl7cmV0dXJuIHRoaXMuZW5kT2Zmc2V0KCl9Y29tcGFyZVRvKGUpe2NvbnN0IHQ9dGhpcy5fd2VpZ2h0KCkscz10K3RoaXMuX2xlbmd0aCxuPWUuX3dlaWdodCgpLHI9bitlLl9sZW5ndGgKO3JldHVybiB0PD1uJiZuPHN8fG48PXQmJnQ8cj8wOnQ+bj8xOi0xfWNvbnRhaW5zKGUpe3JldHVybiB0aGlzLl9jb250YWlucygoMCxpLmdldF9taW51dGVzX3dpdGhfaG91cnMpKGUpLCgwLGkuZ2V0X2RheV9vZl93ZWVrKShlKSl9X3dlaWdodCgpe3JldHVybiB0aGlzLl9kYXlPZldlZWsqaS5taW51dGVzUGVyRGF5K3RoaXMuX3N0YXJ0fV9jb250YWlucyhlLHQpe2xldCBzPXQtdGhpcy5fZGF5T2ZXZWVrO3M+MCYmKHMtPTcpO2NvbnN0IG49cyppLm1pbnV0ZXNQZXJEYXkrZTtyZXR1cm4gbj49dGhpcy5fc3RhcnQmJm48dGhpcy5fc3RhcnQrdGhpcy5fbGVuZ3RofX1mdW5jdGlvbiBsKGUpe3JldHVybiAyPT09ZS5kZWNvcmF0b3JUeXBlfWNsYXNzIHUgZXh0ZW5kcyBfe2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZS5kYXlPZldlZWsoKSxlLnN0YXJ0T2Zmc2V0KCksZS5sZW5ndGgoKSksdGhpcy5kZWNvcmF0b3JUeXBlPTIsdGhpcy5fZW50cnk9ZSx0aGlzLl9iYXJzT2Zmc2V0PXR9Z2V0RW50cnkoKXtyZXR1cm4gdGhpcy5fZW50cnl9YmFyc09mZnNldCgpe3JldHVybiB0aGlzLl9iYXJzT2Zmc2V0fWlzRXh0ZW5kZWQoKXtyZXR1cm4gdGhpcy5fZW50cnkuaXNFeHRlbmRlZCgpfWV4dGVuZGVkU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fZW50cnkuZXh0ZW5kZWRTdGFydE9mZnNldCgpfWV4dGVuZGVkRW5kT2Zmc2V0KCl7cmV0dXJuIHRoaXMuX2VudHJ5LmV4dGVuZGVkRW5kT2Zmc2V0KCl9fWZ1bmN0aW9uIGcoZSl7cmV0dXJuIDE9PT1lLmRlY29yYXRvclR5cGV9Y2xhc3MgRSBleHRlbmRzIF97Y29uc3RydWN0b3IoZSx0LHMpe3N1cGVyKGUuZGF5T2ZXZWVrKCksZS5zdGFydE9mZnNldCgpLGUubGVuZ3RoKCkpLHRoaXMuZGVjb3JhdG9yVHlwZT0xLHRoaXMuX2VudHJ5PWUsdGhpcy5fZXh0ZW5kZWRTdGFydE9mZnNldD10LHRoaXMuX2V4dGVuZGVkRW5kT2Zmc2V0PXN9Z2V0RW50cnkoKXtyZXR1cm4gdGhpcy5fZW50cnl9aXNFeHRlbmRlZCgpe3JldHVybiEwfWV4dGVuZGVkU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fZXh0ZW5kZWRTdGFydE9mZnNldH1leHRlbmRlZEVuZE9mZnNldCgpe3JldHVybiB0aGlzLl9leHRlbmRlZEVuZE9mZnNldH1leHRlbmRlZFN0YXJ0RGF5c09mZnNldCgpe3JldHVybiBmKHRoaXMuX2V4dGVuZGVkU3RhcnRPZmZzZXQpfWV4dGVuZGVkRW5kRGF5c09mZnNldCgpe3JldHVybiBmKHRoaXMuX2V4dGVuZGVkRW5kT2Zmc2V0KX19ZnVuY3Rpb24gUyhlKXtyZXR1cm4gMz09PWUuZGVjb3JhdG9yVHlwZX1jbGFzcyBrIGV4dGVuZHMgX3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUuZGF5T2ZXZWVrKCksZS5zdGFydE9mZnNldCgpLGUubGVuZ3RoKCkpLHRoaXMuZGVjb3JhdG9yVHlwZT0zLHRoaXMuX2VudHJ5PWUsdGhpcy5fdW5pZmllZEVudHJpZXM9dCx0LnB1c2godGhpcyl9Z2V0RW50cnkoKXtyZXR1cm4gdGhpcy5fZW50cnl9Z2V0VW5pZmllZEVudHJpZXMoKXtyZXR1cm4gdGhpcy5fdW5pZmllZEVudHJpZXN9aGFzRXh0ZW5kZWRFbnRyeSgpe3JldHVybiB0aGlzLl91bmlmaWVkRW50cmllcy5zb21lKChlPT5lLmlzRXh0ZW5kZWQoKSkpfWlzRXh0ZW5kZWQoKXtyZXR1cm4gdGhpcy5fZW50cnkuaXNFeHRlbmRlZCgpfWV4dGVuZGVkU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fZW50cnkuZXh0ZW5kZWRTdGFydE9mZnNldCgpfWV4dGVuZGVkRW5kT2Zmc2V0KCl7cmV0dXJuIHRoaXMuX2VudHJ5LmV4dGVuZGVkRW5kT2Zmc2V0KCl9fWZ1bmN0aW9uIEQoZSl7cmV0dXJuIDQ9PT1lLmRlY29yYXRvclR5cGV9Y2xhc3MgcCBleHRlbmRzIF97Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLmRheU9mV2VlaygpLGUuc3RhcnRPZmZzZXQoKSxlLmxlbmd0aCgpKSx0aGlzLmRlY29yYXRvclR5cGU9NCx0aGlzLl9lbnRyeT1lLHRoaXMuX3VuaWZpZWRFbnRyaWVzPXQsdC5wdXNoKHRoaXMpfWdldEVudHJ5KCl7cmV0dXJuIHRoaXMuX2VudHJ5fWdldFVuaWZpZWRFbnRyaWVzKCl7cmV0dXJuIHRoaXMuX3VuaWZpZWRFbnRyaWVzfWhhc0V4dGVuZGVkRW50cnkoKXtyZXR1cm4gdGhpcy5fdW5pZmllZEVudHJpZXMuc29tZSgoZT0+ZS5pc0V4dGVuZGVkKCkpKX1pc0V4dGVuZGVkKCl7cmV0dXJuIHRoaXMuX2VudHJ5LmlzRXh0ZW5kZWQoKX1leHRlbmRlZFN0YXJ0T2Zmc2V0KCl7cmV0dXJuIHRoaXMuX2VudHJ5LmV4dGVuZGVkU3RhcnRPZmZzZXQoKX1leHRlbmRlZEVuZE9mZnNldCgpe3JldHVybiB0aGlzLl9lbnRyeS5leHRlbmRlZEVuZE9mZnNldCgpfX1jbGFzcyBPe2NvbnN0cnVjdG9yKGUsdCxzKXt0aGlzLndlZWtJbmRleD1lLHRoaXMuZW50cnlJbmRleD10LHRoaXMuZW50cmllcz1zfWdldEVudHJ5KCl7cmV0dXJuIHRoaXMuZW50cmllc1t0aGlzLmVudHJ5SW5kZXhdfX1jbGFzcyBte2NvbnN0cnVjdG9yKGUsdCxzLG4pe3RoaXMuX21heFRyYWRpbmdEYXlMZW5ndGg9bnVsbCx0aGlzLl9saXN0PWUsdGhpcy5fZW50cmllc0J5RGF5PXQsdGhpcy5fZmlyc3REYXlPZldlZWs9cyx0aGlzLl93ZWVrRW5kc0NvdW50PW59Zmlyc3REYXlPZldlZWsoKXtyZXR1cm4gdGhpcy5fZmlyc3REYXlPZldlZWt9ZW50cmllc0J5RGF5KCl7cmV0dXJuIHRoaXMuX2VudHJpZXNCeURheX1saXN0KCl7cmV0dXJuIHRoaXMuX2xpc3R9aXNXZWVrRW5kKGUpe3JldHVybiF0aGlzLl9lbnRyaWVzQnlEYXkuaGFzKGUpfXdlZWtFbmRzQ291bnQoKXtyZXR1cm4gdGhpcy5fd2Vla0VuZHNDb3VudH1sb25nZXN0U2Vzc2lvbkxlbmd0aCgpe3JldHVybiAwPT09dGhpcy5fbGlzdC5sZW5ndGg/MDpNYXRoLm1heCguLi50aGlzLl9saXN0Lm1hcCgoZT0+ZS5sZW5ndGgoKSkpKX1tYXhUcmFkaW5nRGF5TGVuZ3RoKCl7aWYobnVsbD09dGhpcy5fbWF4VHJhZGluZ0RheUxlbmd0aCl7Y29uc3QgZT1uZXcgTWFwO2Zvcihjb25zdCB0IG9mIHRoaXMuX2xpc3Qpe2NvbnN0IHM9dC5kYXlPZldlZWsoKTtlLnNldChzLHQubGVuZ3RoKCkrKGUuZ2V0KHMpPz8wKSl9bGV0IHQ9MDtlLmZvckVhY2goKGU9Pnt0PU1hdGgubWF4KHQsZSl9KSksdGhpcy5fbWF4VHJhZGluZ0RheUxlbmd0aD10fQpyZXR1cm4gdGhpcy5fbWF4VHJhZGluZ0RheUxlbmd0aH19Y2xhc3MgV3tjb25zdHJ1Y3RvcihlLHQscyl7dGhpcy5fc3RhcnREYXk9ZSx0aGlzLl9lbnRyaWVzPXMsdGhpcy5fc3BlY0VuZERheT10fWdldEVudHJpZXMoKXtyZXR1cm4gdGhpcy5fZW50cmllc31nZXRTdGFydERheSgpe3JldHVybiB0aGlzLl9zdGFydERheX1nZXRTcGVjRW5kRGF5KCl7cmV0dXJuIHRoaXMuX3NwZWNFbmREYXl9aXNPcGVuRW5kZWQoKXtyZXR1cm4gbnVsbD09dGhpcy5fc3BlY0VuZERheX19fSwzMjkwNDEoZSx0LHMpe3MuZCh0LHtTZXNzaW9uc1NwZWNQYXJzZXI6KCk9Pmcsd29ya2luZ0RheXNBbmRXZWVrRW5kczooKT0+ZH0pO3ZhciBuPXMoMTM4NjM4KSxyPXMoNzAwODA5KSxpPXMoMzA4MjEpLG89cygzNDEwMzYpO2NvbnN0IGE9W3IuTU9OREFZLHIuVFVFU0RBWSxyLldFRE5FU0RBWSxyLlRIVVJTREFZLHIuRlJJREFZXSxkPVtyLlNVTkRBWSxyLk1PTkRBWSxyLlRVRVNEQVksci5XRURORVNEQVksci5USFVSU0RBWSxyLkZSSURBWSxyLlNBVFVSREFZXTtmdW5jdGlvbiBoKGUpe3JldHVybiBlPj00OCYmZTw9NTd9Y29uc3QgZj1bMCwzMSwyOCwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV07Y2xhc3MgeSBleHRlbmRzIE1hcHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fa2V5U3RyaW5nc1RvS2V5PW5ldyBNYXB9Z2V0KGUpe2NvbnN0IHQ9dGhpcy5fa2V5U3RyaW5nc1RvS2V5LmdldChlLnRvU3RyaW5nKCkpO3JldHVybiB0JiZzdXBlci5nZXQodCl9c2V0KGUsdCl7Y29uc3Qgcz1lLnRvU3RyaW5nKCksbj10aGlzLl9rZXlTdHJpbmdzVG9LZXkuZ2V0KHMpO3JldHVybiB2b2lkIDAhPT1uJiZzdXBlci5kZWxldGUobiksdGhpcy5fa2V5U3RyaW5nc1RvS2V5LnNldChzLGUpLHN1cGVyLnNldChlLHQpfWhhcyhlKXtyZXR1cm4gdGhpcy5fa2V5U3RyaW5nc1RvS2V5LmhhcyhlLnRvU3RyaW5nKCkpfX1mdW5jdGlvbiBjKGUpe3JldHVybiBlLmxlbmd0aD4wfWZ1bmN0aW9uIF8oZSl7cmV0dXJuIDA9PT1lP3IubWludXRlc1BlckRheTplfWZ1bmN0aW9uIGwoZSx0LHMsbil7cmV0dXJuIHM9PT1uJiZ0PD1lP3MrMTpzfWZ1bmN0aW9uIHUoZSx0KXtpZihlPDB8fGU+PTcpdGhyb3cgbmV3IEVycm9yKGBlcnJvciBwYXJzaW5nIHNlc3Npb24sICR7dH0gY2Fubm90IGJlIG91dHNpZGUgWzAsNyksICR7dH09JHtlfWApfWNsYXNzIGd7Y29uc3RydWN0b3IoKXt0aGlzLmhpc3RvcnlFbnRyaWVzPVtdLHRoaXMudGltZXpvbmU9IiIsdGhpcy5hZGp1c3RTZXNzaW9uc0luZGV4ZXM9bnVsbH1wYXJzZVNlc3Npb25zKGUsdCl7dGhpcy5fcGFyc2VIaXN0b3J5RW50cmllcyhlLHQsITEpfXBhcnNlU2Vzc2lvbnNBbmRWYWxpZGF0ZURhdGVUaW1lKGUsdCl7dGhpcy5fcGFyc2VIaXN0b3J5RW50cmllcyhlLHQsITApfXN0YXRpYyBwYXJzZUhvbGlkYXlzQW5kQ29ycmVjdGlvbnMoZSx0LHMsbil7cmV0dXJuIHRoaXMuX3BhcnNlSG9saWRheXNBbmRDb3JyZWN0aW9uc0ltcGwoZSx0LHMsbil9c3RhdGljIHBhcnNlSG9saWRheXNBbmRDb3JyZWN0aW9uc0FuZFZhbGlkYXRlRGF0ZVRpbWUoZSx0LHMpe3JldHVybiB0aGlzLl9wYXJzZUhvbGlkYXlzQW5kQ29ycmVjdGlvbnNJbXBsKGUsdCxzLCEwKX1fY2xlYXJBbGwoKXt0aGlzLnRpbWV6b25lPSIiLHRoaXMuaGlzdG9yeUVudHJpZXM9W10sdGhpcy5hZGp1c3RTZXNzaW9uc0luZGV4ZXM9W119X3BhcnNlSGlzdG9yeUVudHJpZXMoZSx0LHMpe3RoaXMuX2NsZWFyQWxsKCk7Y29uc3Qgbj10LnNwbGl0KCIvIik7bGV0IHI9bnVsbCxpPW51bGw7dGhpcy5oYXNIaXN0b3J5Q29ycmVjdGlvbnM9bi5sZW5ndGg+MTtmb3IobGV0IHQ9MDt0PG4ubGVuZ3RoO3QrKyl7Y29uc3QgYT1uW3RdLnNwbGl0KCIjIik7bGV0IGQ9bnVsbDtpZih0IT09bi5sZW5ndGgtMSl7aWYoMiE9PWEubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb24gaGlzdG9yeSBlbnRyeSBkZWZpbml0aW9uOiAke25bdF19YCk7ZD1nLl9wYXJzZURheShhWzFdLCJzZXNzaW9uIGhpc3RvcnkgZW50cnkgZW5kIixzKS50b0NhbGVuZGFyKCl9ZWxzZXtpZigxIT09YS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKGBiYWQgc2Vzc2lvbiBoaXN0b3J5IGVudHJ5IGRlZmluaXRpb246ICR7blt0XX1gKTtkPW51bGx9aWYobnVsbCE9PWkmJm51bGwhPT1kJiZkLmdldFRpbWUoKTxpLmdldFRpbWUoKSl0aHJvdyBuZXcgRXJyb3IoYGhpc3Rvcnkgc2Vzc2lvbnMgYXJlIG5vdCBsaXN0ZWQgaW4gYXNjZW5kaW5nIG9yZGVyICgke2l9IC0+ICR7ZH1gKTtjb25zdCBoPXRoaXMuX3BhcnNlU2Vzc2lvbnNJbXBsKGUsYVswXSxzKTtyPXRoaXMuX2FkanVzdFN0YXJ0VG9QcmV2aW91c1Nlc3Npb24oaC5maXJzdERheU9mV2VlaygpKTtjb25zdCBmPW5ldyBvLlNlc3Npb25zU3BlY0hpc3RvcnlFbnRyeShyLGQsaCk7dGhpcy5oaXN0b3J5RW50cmllcy5wdXNoKGYpLGk9ZH19X3BhcnNlU2Vzc2lvbnNJbXBsKGUsdCxzKXt0aGlzLnRpbWV6b25lPWUsdD10aGlzLl9wYXJzZUZpcnN0RGF5T2ZXZWVrKHQpO2NvbnN0IG49bmV3IE1hcCxyPVtdO2lmKCIyNHg3Ij09PXQudG9Mb3dlckNhc2UoKSlmb3IoY29uc3QgZSBvZiBkKXtjb25zdCB0PWcuX2NyZWF0ZVNlc3Npb25FbnRyeShlLDAsMCwwLDApO3IucHVzaCh0KTtjb25zdCBzPVtdO3MucHVzaCh0KSxuLnNldChlLHMpfWVsc2V7bGV0IGU9ITE7Y29uc3QgaT1uZXcgTWFwO2Zvcihjb25zdCBzIG9mIHQuc3BsaXQoInwiKSl7Y29uc3QgdD1zLnNwbGl0KCI6IikuZmlsdGVyKGMpO2lmKDEhPT10Lmxlbmd0aCYmMiE9PXQubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb24gc2VjdGlvbjogJHtzfWApO2NvbnN0IG49MT09PXQubGVuZ3RoO2lmKG4pe2lmKGUpdGhyb3cgbmV3IEVycm9yKGBkdXBsaWNhdGVkIGRlZmF1bHQgc2VjdGlvbjogJHtzfWApO2U9ITB9Y29uc3Qgcj1uP2E6Zy5fcGFyc2VXb3JraW5nRGF5cyh0WzFdKTtmb3IoY29uc3QgZSBvZiByKW4mJmkuaGFzKGUpfHxpLnNldChlLHRbMF0pfWZvcihjb25zdCBlIG9mIGQpe2NvbnN0IHQ9aS5nZXQoZSkKO2lmKHZvaWQgMD09PXQpY29udGludWU7Y29uc3Qgbz1nLl9wYXJzZVNlc3Npb25EYXkoZSx0LHMpO2xldCBhPW4uZ2V0KGUpO3ZvaWQgMD09PWEmJihhPVtdLG4uc2V0KGUsYSkpO2Zvcihjb25zdCBlIG9mIG8pYS5wdXNoKGUpLHIucHVzaChlKX19ci5zb3J0KG8uY29tcGFyZVNlc3Npb25FbnRyaWVzKTtjb25zdCBpPW5ldyBTZXQ7Zm9yKGNvbnN0IGUgb2YgcilpLmFkZChlLmRheU9mV2VlaygpKTtjb25zdCBoPTctaS5zaXplO3JldHVybiBuZXcgby5TZXNzaW9uc1NwZWNFbnRyaWVzKHIsbix0aGlzLl9maXJzdERheU9mV2VlayxoKX1fcGFyc2VGaXJzdERheU9mV2VlayhlKXtjb25zdCB0PWUuc3BsaXQoIjsiKTtpZih0aGlzLl9maXJzdERheU9mV2Vlaz1yLk1PTkRBWSx0Lmxlbmd0aD4yKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb25zIHNwZWM6ICR7ZX1gKTtpZigxPT09dC5sZW5ndGgpcmV0dXJuIGU7bGV0IHM9MTtsZXQgbj10WzBdLmluZGV4T2YoIi0iKT49MD9OYU46cGFyc2VJbnQodFswXSk7aWYoaXNOYU4obikmJihzPTAsbj1wYXJzZUludCh0WzFdKSksbjxyLlNVTkRBWXx8bj5yLlNBVFVSREFZKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb25zIHNwZWM6ICR7ZX1gKTtyZXR1cm4gdGhpcy5fZmlyc3REYXlPZldlZWs9bix0W3NdfV9hZGp1c3RTdGFydFRvUHJldmlvdXNTZXNzaW9uKGUpe2lmKDA9PT10aGlzLmhpc3RvcnlFbnRyaWVzLmxlbmd0aClyZXR1cm4gbnVsbDtjb25zdCB0PSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5oaXN0b3J5RW50cmllc1t0aGlzLmhpc3RvcnlFbnRyaWVzLmxlbmd0aC0xXS5nZXRTcGVjRW5kRGF5KCkpLHM9ZS0oMCxyLmdldF9kYXlfb2Zfd2VlaykodCk7aWYoMD09PXMpcmV0dXJuIHQ7Y29uc3QgaT0oMCxyLmNsb25lKSh0KTtyZXR1cm4oMCxyLmFkZF9kYXRlKShpLHMpLHQuZ2V0VGltZSgpPGkuZ2V0VGltZSgpfHwoMCxyLmFkZF9kYXRlKShpLDcpLGl9c3RhdGljIF9wYXJzZVNlc3Npb25EYXkoZSx0LHMpe2NvbnN0IG49W107Zm9yKGNvbnN0IHIgb2YgdC5zcGxpdCgiLCIpLmZpbHRlcihjKSlpZihyLmluY2x1ZGVzKG8uU0VTU0lPTl9TUEVDX1NZTUJPTF9VTklGSUVEKSl7Y29uc3QgaT1yLnNwbGl0KG8uU0VTU0lPTl9TUEVDX1NZTUJPTF9VTklGSUVEKSxhPVtdO2ZvcihsZXQgcj0wO3I8aS5sZW5ndGg7cisrKXtjb25zdCBkPXRoaXMuX3BhcnNlVW5pZmllZEludGVydmFsKGUsdCxpW3JdLDA9PT1yLHMpO24ucHVzaChuZXcgby5VbmlmaWVkRW50cnlEZWNvcmF0b3IoZCxhKSl9YS5zb3J0KG8uY29tcGFyZVNlc3Npb25FbnRyaWVzKX1lbHNlIGlmKHIuaW5jbHVkZXMoby5TRVNTSU9OX1NQRUNfU1lNQk9MX1VOSUZJRURfU0hJRlRFRCkpe2NvbnN0IGk9ci5zcGxpdChvLlNFU1NJT05fU1BFQ19TWU1CT0xfVU5JRklFRF9TSElGVEVEKSxhPVtdO2ZvcihsZXQgcj0wO3I8aS5sZW5ndGg7cisrKXtjb25zdCBkPXRoaXMuX3BhcnNlVW5pZmllZEludGVydmFsKGUsdCxpW3JdLDA9PT1yLHMpO24ucHVzaChuZXcgby5VbmlmaWVkU2hpZnRlZEVudHJ5RGVjb3JhdG9yKGQsYSkpfWEuc29ydChvLmNvbXBhcmVTZXNzaW9uRW50cmllcyl9ZWxzZSBuLnB1c2godGhpcy5fcGFyc2VTZXNzaW9uRW50cnkoZSxyLHMpKTtyZXR1cm4gbn1zdGF0aWMgX3BhcnNlVW5pZmllZEludGVydmFsKGUsdCxzLG4scil7aWYoIW4mJnMuaW5jbHVkZXMoby5TRVNTSU9OX1NQRUNfU1lNQk9MX0JBUlNfT0ZGU0VUKSl0aHJvdyBuZXcgRXJyb3IoYGJhZCBzZXNzaW9uOiAke3R9LiBVbmlmaWVkIGludGVydmFscyBjYW4gY29udGFpbiBvbmx5IG9uZSAnJHtvLlNFU1NJT05fU1BFQ19TWU1CT0xfQkFSU19PRkZTRVR9Jy4gU3BlY2lmeSAnJHtvLlNFU1NJT05fU1BFQ19TWU1CT0xfQkFSU19PRkZTRVR9JyBvbmx5IGZvciB0aGUgZmlyc3QgaW50ZXJ2YWxgKTtyZXR1cm4gdGhpcy5fcGFyc2VTZXNzaW9uRW50cnkoZSxzLHIpfXN0YXRpYyBfcGFyc2VTZXNzaW9uRW50cnkoZSx0LHMpe2NvbnN0IG49dC5zcGxpdChvLlNFU1NJT05fU1BFQ19TWU1CT0xfRVhURU5ERUQpO2lmKG4ubGVuZ3RoPjIpdGhyb3cgbmV3IEVycm9yKGBiYWQgc2Vzc2lvbjogJHt0fS4gT25seSBvbmUgJyR7by5TRVNTSU9OX1NQRUNfU1lNQk9MX0VYVEVOREVEfScgaXMgYWxsb3dlZCBwZXIgc2Vzc2lvbiBpbnRlcnZhbGApO2NvbnN0IHI9blswXS5zcGxpdChvLlNFU1NJT05fU1BFQ19TWU1CT0xfQkFSU19PRkZTRVQpO2lmKHIubGVuZ3RoPjIpdGhyb3cgbmV3IEVycm9yKGBiYWQgc2Vzc2lvbjogJHt0fS4gT25seSBvbmUgJyR7by5TRVNTSU9OX1NQRUNfU1lNQk9MX0JBUlNfT0ZGU0VUfScgaXMgYWxsb3dlZCBwZXIgc2Vzc2lvbiBpbnRlcnZhbGApO2NvbnN0IGk9clswXS5zcGxpdCgiLSIpO2lmKDIhPT1pLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoYGJhZCBzZXNzaW9uOiAke3R9YCk7bGV0IGE9MCxkPWlbMF07aWYoZC5pbmNsdWRlcygiRiIpKXtjb25zdCBlPWQuc3BsaXQoIkYiKTtkPWVbMF0sYT0iIiE9PWVbMV0/cGFyc2VJbnQoZVsxXSk6MX1sZXQgaD0wLGY9aVsxXTtpZihmLmluY2x1ZGVzKCJGIikpe2NvbnN0IGU9Zi5zcGxpdCgiRiIpO2Y9ZVswXSxoPSIiIT09ZVsxXT9wYXJzZUludChlWzFdKToxfWNvbnN0IHk9dGhpcy5fbWludXRlc0Zyb21ISE1NKGQsdCxzKSxjPXRoaXMuX21pbnV0ZXNGcm9tSEhNTShmLHQscyk7bGV0IF89dGhpcy5fY3JlYXRlU2Vzc2lvbkVudHJ5KGUseSxjLGEsaCk7aWYoMj09PXIubGVuZ3RoKXtjb25zdCBlPXRoaXMuX21pbnV0ZXNGcm9tSEhNTShyWzFdLHQscyk7Xz10aGlzLl9kZWNvcmF0ZVdpdGhPZmZzZXQoXyxlLHksYyxhLGgpfWlmKDI9PT1uLmxlbmd0aCl7Y29uc3QgZT1uWzFdLnNwbGl0KCItIik7aWYoMiE9PWUubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb246ICR7dH0uIEluY29ycmVjdCBleHRlbmRlZCBpbnRlcnZhbGApO2xldCByPTAsaT1lWzBdO2lmKGkuaW5jbHVkZXMoIkYiKSl7Y29uc3QgZT1pLnNwbGl0KCJGIik7aT1lWzBdLHI9IiIhPT1lWzFdP3BhcnNlSW50KGVbMV0pOjF9bGV0IG89MCxhPWVbMV0KO2lmKGEuaW5jbHVkZXMoIkYiKSl7Y29uc3QgZT1hLnNwbGl0KCJGIik7YT1lWzBdLG89IiIhPT1lWzFdP3BhcnNlSW50KGVbMV0pOjF9Y29uc3QgZD10aGlzLl9taW51dGVzRnJvbUhITU0oaSx0LHMpLGg9dGhpcy5fbWludXRlc0Zyb21ISE1NKGEsdCxzKTtfPXRoaXMuX2RlY29yYXRlV2l0aEV4dGVuc2lvbihfLGQsaCxyLG8pfXJldHVybiBffXN0YXRpYyBfbWludXRlc0Zyb21ISE1NKGUsdCxzKXtpZig0PT09ZS5sZW5ndGgmJmgoZS5jaGFyQ29kZUF0KDApKSYmaChlLmNoYXJDb2RlQXQoMSkpJiZoKGUuY2hhckNvZGVBdCgyKSkmJmgoZS5jaGFyQ29kZUF0KDMpKSl7Y29uc3QgdD1wYXJzZUludChlKSxuPU1hdGgudHJ1bmModC8xMDApLHI9dCUxMDA7aWYoIXN8fG48MjQmJnI8NjApcmV0dXJuIHIrNjAqbn10aHJvdyBuZXcgRXJyb3IoYGluY29ycmVjdCBlbnRyeSBzeW50YXg6ICR7dH1gKX1zdGF0aWMgX3BhcnNlRGF5KGUsdCxzKXtpZig4PT09ZS5sZW5ndGgmJmgoZS5jaGFyQ29kZUF0KDApKSYmaChlLmNoYXJDb2RlQXQoMSkpJiZoKGUuY2hhckNvZGVBdCgyKSkmJmgoZS5jaGFyQ29kZUF0KDMpKSYmaChlLmNoYXJDb2RlQXQoNCkpJiZoKGUuY2hhckNvZGVBdCg1KSkmJmgoZS5jaGFyQ29kZUF0KDYpKSYmaChlLmNoYXJDb2RlQXQoNykpKXtjb25zdCB0PXBhcnNlSW50KGUuc3Vic3RyaW5nKDAsNCkpLG49cGFyc2VJbnQoZS5zdWJzdHJpbmcoNCw2KSkscj1wYXJzZUludChlLnN1YnN0cmluZyg2LDgpKTtpZighc3x8dGhpcy5faXNWYWxpZERheU9mTW9udGgocixuLHQpKXJldHVybiBuZXcgaS5CdXNpbmVzc0RheSh0LG4scil9dGhyb3cgbmV3IEVycm9yKGBiYWQgJHt0fSBkYXRlOiAke2V9YCl9c3RhdGljIF9pc1ZhbGlkRGF5T2ZNb250aChlLHQscyl7cmV0dXJuISh0PDF8fHQ+MTIpJiYoIShlPDF8fGU+Zlt0XSl8fCEoMiE9PXR8fDI5IT09ZXx8ISgwLHIuaXNfbGVhcF95ZWFyKShzKSkpfXN0YXRpYyBfcGFyc2VXb3JraW5nRGF5cyhlKXtjb25zdCB0PVtdO2ZvcihsZXQgcz0wO3M8ZS5sZW5ndGg7cysrKXtjb25zdCBuPWUuY2hhckNvZGVBdChzKS00ODtpZihuPDF8fG4+Nyl0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGF5cyBzcGVjaWZpY2F0aW9uOiAke2V9YCk7dC5pbmNsdWRlcyhuKXx8dC5wdXNoKG4pfXJldHVybiB0fXN0YXRpYyBfY3JlYXRlU2Vzc2lvbkVudHJ5KGUsdCxzLG4saSl7aWYodShuLCJzdGFydERheXNBZ28iKSx1KGksImVuZERheXNBZ28iKSwobj1sKHQscz1fKHMpLG4saSkpPGkpdGhyb3cgbmV3IEVycm9yKGBlcnJvciBwYXJzaW5nIHNlc3Npb24sIHZpb2xhdGlvbiBzdGFydERheXNBZ28gPj0gZW5kRGF5c0Fnbywgc3RhcnREYXlzQWdvPSR7bn0sIGVuZERheXNBZ289JHtpfWApO24+MCYmKHQtPW4qci5taW51dGVzUGVyRGF5KSxpPjAmJihzLT1pKnIubWludXRlc1BlckRheSk7Y29uc3QgYT1zLXQ7aWYoIShlPj1yLlNVTkRBWSYmZTw9ci5TQVRVUkRBWSYmdDxyLm1pbnV0ZXNQZXJEYXkmJmE+MCkpdGhyb3cgbmV3IEVycm9yKCJlcnJvciBwYXJzaW5nIHNlc3Npb24sIGludmFsaWQgZGF0YSIpO3JldHVybiBuZXcgby5TZXNzaW9uc1NwZWNFbnRyeShlLHQsYSl9c3RhdGljIF9kZWNvcmF0ZVdpdGhFeHRlbnNpb24oZSx0LHMsbixpKXtpZih1KG4sImV4dGVuZGVkLnN0YXJ0RGF5c0FnbyIpLHUoaSwiZXh0ZW5kZWQuZW5kRGF5c0FnbyIpLChuPWwodCxzPV8ocyksbixpKSk+MCYmKHQtPW4qci5taW51dGVzUGVyRGF5KSxpPjAmJihzLT1pKnIubWludXRlc1BlckRheSksdD09PWUuc3RhcnRPZmZzZXQoKSYmcz09PWUuZW5kT2Zmc2V0KCkpcmV0dXJuIGU7aWYodD5lLnN0YXJ0T2Zmc2V0KCl8fHM8ZS5lbmRPZmZzZXQoKSl0aHJvdyBuZXcgRXJyb3IoImVycm9yIHBhcnNpbmcgc2Vzc2lvbiwgZXh0ZW5kZWQgaW50ZXJ2YWwgbXVzdCBiZSB3aWRlciB0aGFuIG9yIGVxdWFsIHRvIHRoZSBiYXNlIGludGVydmFsIik7cmV0dXJuIG5ldyBvLkV4dGVuZGVkRW50cnlEZWNvcmF0b3IoZSx0LHMpfXN0YXRpYyBfZGVjb3JhdGVXaXRoT2Zmc2V0KGUsdCxzLG4saSxhKXtyZXR1cm4gdD09PXM/ZTooaT1sKHMsbj1fKG4pLGksYSksdD5zJiYodC09ci5taW51dGVzUGVyRGF5KSxpPjAmJih0LT1pKnIubWludXRlc1BlckRheSksbmV3IG8uT2Zmc2V0RW50cnlEZWNvcmF0b3IoZSx0KSl9c3RhdGljIF9wYXJzZUhvbGlkYXlzQW5kQ29ycmVjdGlvbnNJbXBsKGUsdCxzLG4pe2NvbnN0IGk9bmV3IHk7aWYoIiIhPT10KXtjb25zdCBlPVtdO2Zvcihjb25zdCBzIG9mIHQuc3BsaXQoIiwiKSl7Y29uc3QgdD10aGlzLl9wYXJzZURheShzLCJob2xpZGF5IixuKTtpLnNldCh0LGUpfX1pZigiIj09PXMpcmV0dXJuIGk7Zm9yKGNvbnN0IGUgb2Ygcy5zcGxpdCgiOyIpKXtjb25zdCB0PWUuc3BsaXQoIjoiKTtpZigyIT09dC5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKGBiYWQgY29ycmVjdGlvbiBzZWN0aW9uOiAke2V9YCk7aWYoImRheW9mZiI9PT10WzBdKWZvcihjb25zdCBlIG9mIHRbMV0uc3BsaXQoIiwiKSl7Y29uc3QgdD10aGlzLl9wYXJzZURheShlLCJjb3JyZWN0aW9uIixuKTtpLnNldCh0LFtdKX1lbHNlIGZvcihjb25zdCBlIG9mIHRbMV0uc3BsaXQoIiwiKSl7Y29uc3Qgcz10aGlzLl9wYXJzZURheShlLCJjb3JyZWN0aW9uIixuKSxvPSgwLHIuZ2V0X2RheV9vZl93ZWVrKShzLnRvQ2FsZW5kYXIoKSksYT10aGlzLl9wYXJzZVNlc3Npb25EYXkobyx0WzBdLG4pO2kuc2V0KHMsYSl9fXJldHVybiBpfX19LDU1OTY5KGUsdCxzKXtzLmQodCx7U2Vzc2lvbnNTcGVjOigpPT5nfSk7dmFyIG49cygxMzg2MzgpLHI9cyg3MDA4MDkpLGk9cygxOTg5MDEpLG89cygzMDgyMSksYT1zKDM0MTAzNiksZD1zKDMyOTA0MSk7ZnVuY3Rpb24gaChlLHQpe3JldHVybiBlLmNvbXBhcmVUbyh0KTwwfWZ1bmN0aW9uIGYoZSx0KXsKY29uc3Qgcz1lLmRheU9mV2VlaygpKnIubWludXRlc1BlckRheSxuPXMrZS5leHRlbmRlZFN0YXJ0T2Zmc2V0KCksaT1zK2UuZXh0ZW5kZWRFbmRPZmZzZXQoKSxvPXQuZGF5T2ZXZWVrKCkqci5taW51dGVzUGVyRGF5LGE9byt0LmV4dGVuZGVkU3RhcnRPZmZzZXQoKSxkPW8rdC5leHRlbmRlZEVuZE9mZnNldCgpO3JldHVybiEobjw9YSYmYTxpfHxhPD1uJiZuPGQpJiZuPGF9ZnVuY3Rpb24geShlLHQpe2NvbnN0IHM9ZS5kYXlPZldlZWsoKSpyLm1pbnV0ZXNQZXJEYXksbj1zK2UuZXh0ZW5kZWRTdGFydE9mZnNldCgpLGk9cytlLmV4dGVuZGVkRW5kT2Zmc2V0KCksbz10LmRheU9mV2VlaygpKnIubWludXRlc1BlckRheSxhPW8rdC5leHRlbmRlZFN0YXJ0T2Zmc2V0KCksZD1vK3QuZXh0ZW5kZWRFbmRPZmZzZXQoKTtyZXR1cm4gbjw9YSYmYTxpfHxhPD1uJiZuPGQ/MDpuPmE/MTotMX1jb25zdCBjPSgwLHIuZ2V0X3RpbWV6b25lKSgiRXRjL1VUQyIpO2Z1bmN0aW9uIF8oZSl7cmV0dXJuIDFlNCplLnllYXIrMTAwKmUubW9udGgrZS5kYXl9dmFyIGw7IWZ1bmN0aW9uKGUpe2VbZS5DbG9zZXN0PTBdPSJDbG9zZXN0IixlW2UuRmlyc3RJbkRheT0tMV09IkZpcnN0SW5EYXkiLGVbZS5MYXN0SW5EYXk9MV09Ikxhc3RJbkRheSJ9KGx8fChsPXt9KSk7Y2xhc3MgdXtjb25zdHJ1Y3RvcihlKXt0aGlzLl92YWx1ZT1lfWdldCgpe3JldHVybiB0aGlzLl92YWx1ZX1zZXQoZSl7dGhpcy5fdmFsdWU9ZX19Y2xhc3MgZ3tjb25zdHJ1Y3RvcihlPSJFdGMvVVRDIix0PSIwMDAwLTAwMDAiLHM9IiIsbj0iIixpPSExKXtjb25zdCBvPW5ldyBkLlNlc3Npb25zU3BlY1BhcnNlcjtpP28ucGFyc2VTZXNzaW9uc0FuZFZhbGlkYXRlRGF0ZVRpbWUoZSx0KTpvLnBhcnNlU2Vzc2lvbnMoZSx0KSx0aGlzLl9lbnRyaWVzPW8uaGlzdG9yeUVudHJpZXMsdGhpcy5faGFzSGlzdG9yeUNvcnJlY3Rpb25zPW8uaGFzSGlzdG9yeUNvcnJlY3Rpb25zLHRoaXMuX3ByZXNlbnRIaXN0b3J5RW50cnk9by5oaXN0b3J5RW50cmllc1tvLmhpc3RvcnlFbnRyaWVzLmxlbmd0aC0xXSx0aGlzLl90aW1lem9uZT1vLnRpbWV6b25lLHRoaXMuX3RpbWV6b25lT2JqPSgwLHIuZ2V0X3RpbWV6b25lKShvLnRpbWV6b25lKSx0aGlzLl9ob2xpZGF5QW5kQ29ycmVjdGlvbk1hcD1pP2QuU2Vzc2lvbnNTcGVjUGFyc2VyLnBhcnNlSG9saWRheXNBbmRDb3JyZWN0aW9uc0FuZFZhbGlkYXRlRGF0ZVRpbWUoZSxzLG4pOmQuU2Vzc2lvbnNTcGVjUGFyc2VyLnBhcnNlSG9saWRheXNBbmRDb3JyZWN0aW9ucyhlLHMsbixpKTtjb25zdCBhPXRoaXMuX2hvbGlkYXlBbmRDb3JyZWN0aW9uTWFwLmtleXMoKTt0aGlzLl9lbnRyaWVzSGFzaD1uZXcgTWFwO2NvbnN0IGg9dGhpcy5fcHJlcGFyZVNlc3Npb25zQm9yZGVyUGFyYW1zKCk7dGhpcy5fYm9yZGVyV2Vla3NJbmRpY2VzSGFzaD1oLmJvcmRlcldlZWtzSW5kaWNlc0hhc2gsdGhpcy5feWVhclRvV2Vla3NJbmRpY2VzSGFzaD1oLnllYXJUb1dlZWtzSW5kaWNlc0hhc2gsdGhpcy5fd2Vla0luZGljZXNPZkxhc3RIaXN0b3J5V2Vlaz1oLndlZWtJbmRpY2VzT2ZMYXN0SGlzdG9yeVdlZWssdGhpcy5fcHJlc2VudFN0YXJ0V2Vla0luZGV4PWguc3RhcnRQcmVzZW50U2Vzc2lvbldlZWtJbmRleCx0aGlzLl95ZWFyVG9DYWxjdWxhdGVkQWRkZWRXZWVrSW5kaWNlc0hhc2g9bmV3IE1hcCwiIj09PXMmJiIiPT09biYmbnVsbD09PXRoaXMuX3dlZWtJbmRpY2VzT2ZMYXN0SGlzdG9yeVdlZWs/dGhpcy5faXNUaGVyZUNvcnJlY3Rpb25zPSExOnRoaXMuX2lzVGhlcmVDb3JyZWN0aW9ucz0hMDtmb3IoY29uc3QgZSBvZiBhKXtjb25zdCB0PXRoaXMuZ2V0V2Vla0luZGV4KGUudG9DYWxlbmRhcigpKTt0aGlzLl9lbnRyaWVzSGFzaC5zZXQodCxuZXcgdShudWxsKSl9dGhpcy5fc29ydGVkSG9saWRheXM9Wy4uLnRoaXMuX2hvbGlkYXlBbmRDb3JyZWN0aW9uTWFwLmVudHJpZXMoKV0ubWFwKCgoW2UsdF0pPT4oe2tleTpfKGUpLGRheTplLHNlc3Npb25zOnR9KSkpLnNvcnQoKChlLHQpPT5lLmtleS10LmtleSkpLHRoaXMuX2hvbGlkYXlDb3VudFByZWZpeFN1bXM9dGhpcy5faGFzSGlzdG9yeUNvcnJlY3Rpb25zP251bGw6dGhpcy5fYnVpbGRIb2xpZGF5Q291bnRQcmVmaXhTdW1zKCl9aGFzSGlzdG9yeUNvcnJlY3Rpb25zKCl7cmV0dXJuIHRoaXMuX2hhc0hpc3RvcnlDb3JyZWN0aW9uc31maXJzdERheU9mV2Vlaygpe3JldHVybiB0aGlzLl9wcmVzZW50SGlzdG9yeUVudHJ5LmdldEVudHJpZXMoKS5maXJzdERheU9mV2VlaygpfWluY2x1ZGVzRGF5KGUpe3JldHVybiB0aGlzLl9nZXRFbnRyaWVzRm9yRGF5KGUpLmxlbmd0aD4wfWdldEVudHJpZXNGb3JXZWVrKGUpe2lmKCF0aGlzLl9pc1RoZXJlQ29ycmVjdGlvbnMpcmV0dXJuIHRoaXMuX3ByZXNlbnRIaXN0b3J5RW50cnkuZ2V0RW50cmllcygpOygwLG4uYXNzZXJ0KShlPj0wKTtjb25zdCB0PWUscz10aGlzLl9lbnRyaWVzSGFzaC5nZXQodCk7aWYodm9pZCAwPT09cyl7cmV0dXJuIHRoaXMuX2dldEhpc3RvcnlBbmRJbmRleEZvcldlZWsodCkuZ2V0RW50cmllcygpfWxldCByPXMuZ2V0KCk7aWYobnVsbCE9PXIpcmV0dXJuIHI7bGV0IGk9bnVsbDtjb25zdCBoPXRoaXMuX2JvcmRlcldlZWtzSW5kaWNlc0hhc2guZ2V0KHQpO2k9dm9pZCAwPT09aD90aGlzLl9nZXRIaXN0b3J5QW5kSW5kZXhGb3JXZWVrKHQpLmdldEVudHJpZXMoKTp0aGlzLl9wcmVwYXJlQm9yZGVyV2Vla0hpc3RvcnkoaCk7Y29uc3QgZj1uZXcgTWFwKGkuZW50cmllc0J5RGF5KCkpO2xldCB5PVsuLi5pLmxpc3QoKV07Y29uc3QgYz10aGlzLl93ZWVrSW5kZXhUb0xvY2FsRGF0ZVRpbWUoZSksXz10aGlzLl93ZWVrSW5kZXhUb0xvY2FsRGF0ZVRpbWUoZSsxKSxsPW8uQnVzaW5lc3NEYXkuZnJvbUNhbGVuZGFyKGMpLHU9by5CdXNpbmVzc0RheS5mcm9tQ2FsZW5kYXIoXyk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fc2VsZWN0SG9saWRheXMobCx1KSl7Y29uc3QgdD1lLmRheS5nZXREYXlPZldlZWsoKTt5PXkuZmlsdGVyKChlPT5lLmRheU9mV2VlaygpIT09dCkpLHkucHVzaCguLi5lLnNlc3Npb25zKSwKMD09PWUuc2Vzc2lvbnMubGVuZ3RoP2YuZGVsZXRlKHQpOmYuc2V0KHQsZS5zZXNzaW9ucyl9eS5zb3J0KGEuY29tcGFyZVNlc3Npb25FbnRyaWVzKTtjb25zdCBnPWQud29ya2luZ0RheXNBbmRXZWVrRW5kcy5sZW5ndGgtZi5zaXplO3JldHVybiByPW5ldyBhLlNlc3Npb25zU3BlY0VudHJpZXMoeSxmLGkuZmlyc3REYXlPZldlZWsoKSxnKSxzLnNldChyKSxyfWdldEhpc3RvcnlCeUluZGV4KGUpe3JldHVybiB0aGlzLl9lbnRyaWVzW2VdfXRpbWV6b25lKCl7cmV0dXJuIHRoaXMuX3RpbWV6b25lfXRpbWV6b25lT2JqKCl7cmV0dXJuIHRoaXMuX3RpbWV6b25lT2JqfWxvbmdlc3RTZXNzaW9uTGVuZ3RoKCl7bGV0IGU9dGhpcy5fcHJlc2VudEhpc3RvcnlFbnRyeS5nZXRFbnRyaWVzKCkubG9uZ2VzdFNlc3Npb25MZW5ndGgoKTtmb3IobGV0IHQ9MDt0PHRoaXMuX2VudHJpZXMubGVuZ3RoLTE7dCsrKXtjb25zdCBzPXRoaXMuX2VudHJpZXNbdF0uZ2V0RW50cmllcygpLmxvbmdlc3RTZXNzaW9uTGVuZ3RoKCk7ZT1NYXRoLm1heChlLHMpfWxldCB0PS0xLzA7Zm9yKGNvbnN0IGUgb2YgdGhpcy5faG9saWRheUFuZENvcnJlY3Rpb25NYXAudmFsdWVzKCkpdD1NYXRoLm1heCh0LC4uLmUubWFwKChlPT5lLmxlbmd0aCgpKSkpO3JldHVybiBNYXRoLm1heCh0LGUpfWlzV2Vla0VuZChlKXtjb25zdCB0PXRoaXMuZ2V0V2Vla0luZGV4KGUpO2xldCBzO3JldHVybiBzPXZvaWQgMD09PXRoaXMuX2JvcmRlcldlZWtzSW5kaWNlc0hhc2guZ2V0KHQpP3RoaXMuX2dldEhpc3RvcnlBbmRJbmRleEZvcldlZWsodCkuZ2V0RW50cmllcygpOnRoaXMuZ2V0RW50cmllc0ZvcldlZWsodCkscy5pc1dlZWtFbmQoKDAsci5nZXRfZGF5X29mX3dlZWspKGUpKX1pc0NhbFdlZWtFbmQoZSl7Y29uc3QgdD0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSk7aWYoIXRoaXMuX2lzVGhlcmVDb3JyZWN0aW9ucylyZXR1cm4gdGhpcy5fcHJlc2VudEhpc3RvcnlFbnRyeS5nZXRFbnRyaWVzKCkuaXNXZWVrRW5kKHQpO2NvbnN0IHM9dGhpcy5nZXRXZWVrSW5kZXgoZSksbj10aGlzLmdldEVudHJpZXNGb3JXZWVrKHMpLGk9by5CdXNpbmVzc0RheS5mcm9tQ2FsZW5kYXIoZSksYT10aGlzLl9ob2xpZGF5QW5kQ29ycmVjdGlvbk1hcC5nZXQoaSk7cmV0dXJuIHZvaWQgMD09PWE/bi5pc1dlZWtFbmQodCk6MD09PWEubGVuZ3RofWhvbGlkYXlzRnJvbVllYXJTdGFydChlKXtjb25zdCB0PWUgaW5zdGFuY2VvZiBvLkJ1c2luZXNzRGF5P2U6by5CdXNpbmVzc0RheS5mcm9tQ2FsZW5kYXIoZSk7cmV0dXJuIHRoaXMuX2hvbGlkYXlzRnJvbVllYXJTdGFydCh0KX1kYXlzT2ZmRnJvbVllYXJTdGFydChlKXtjb25zdCB0PSgwLHIuZ2V0X2NhbCkoYywoMCxyLmdldF95ZWFyKShlKSxyLkpBTlVBUlksMSkscz10aGlzLmdldFdlZWtJbmRleCh0KSxuPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KSxpPSgwLHIuZ2V0X2RheV9vZl93ZWVrKShlKS0xO2lmKCgwLHIuZ2V0X2RheV9vZl95ZWFyKShlKStuPD1yLkxBU1RfREFZX09GX1dFRUsrci5GSVJTVF9EQVlfT0ZfV0VFSylyZXR1cm4gdGhpcy5fZ2V0RGF5c09mZkZvcldlZWtJbkJvcmRlcnMocyxuLGkpO2NvbnN0IG89dGhpcy5nZXRXZWVrSW5kZXgoZSk7bGV0IGE9dGhpcy5fZ2V0RGF5c09mZkZvcldlZWtJbkJvcmRlcnMocyxuLHIuTEFTVF9EQVlfT0ZfV0VFSyk7Zm9yKGxldCBlPXMrMTtlPG87ZSsrKXthKz10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpLndlZWtFbmRzQ291bnQoKX1yZXR1cm4gYSs9dGhpcy5fZ2V0RGF5c09mZkZvcldlZWtJbkJvcmRlcnMobyxyLkZJUlNUX0RBWV9PRl9XRUVLLGkpLGF9d2Vla0VuZHNDb3VudEZvclNpbmdsZVNlc3Npb24oKXtyZXR1cm4oMCxuLmFzc2VydCkoIXRoaXMuaGFzSGlzdG9yeUNvcnJlY3Rpb25zKCkpLHRoaXMuX3ByZXNlbnRIaXN0b3J5RW50cnkuZ2V0RW50cmllcygpLndlZWtFbmRzQ291bnQoKX1pbnRyYWRheUNhbkJlQnVpbHRGcm9tMjR4NyhlKXtmb3IoY29uc3QgdCBvZiB0aGlzLl9lbnRyaWVzKWlmKCF0LmdldEVudHJpZXMoKS5saXN0KCkuZXZlcnkoKHQ9PnQuc3RhcnQoKSVlPT0wJiZ0Lmxlbmd0aCgpJWU9PTApKSlyZXR1cm4hMTtyZXR1cm4hMH1pbnRyYWRheUNhbkJlQnVpbHRGcm9tMjR4N1NlY29uZHMoZSl7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fZW50cmllcylpZighdC5nZXRFbnRyaWVzKCkubGlzdCgpLmV2ZXJ5KCh0PT42MCp0LnN0YXJ0KCklZT09MCYmNjAqdC5sZW5ndGgoKSVlPT0wKSkpcmV0dXJuITE7cmV0dXJuITB9aW5kZXhPZlNlc3Npb24oZSx0LHMsbz1oKXsoMCxuLmFzc2VydCkodD49ci5TVU5EQVkmJnQ8PXIuU0FUVVJEQVkpLCgwLG4uYXNzZXJ0KShzPj0wJiZzPHIubWludXRlc1BlckRheSk7Y29uc3QgZD10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpLGY9ZC5saXN0KCk7bGV0IHk9KDAsaS5sb3dlcmJvdW5kKShmLG5ldyBhLlNlc3Npb25zU3BlY0VudHJ5KHQscywwKSxvKTtpZih5PGYubGVuZ3RoKXJldHVybiBuZXcgYS5TZXNzaW9uc1NwZWNFbnRyeUluZGV4KGUseSxbLi4uZl0pO2xldCBjPWUrMSxfPXRoaXMuZ2V0RW50cmllc0ZvcldlZWsoYyk7aWYoMCE9PV8ubGlzdCgpLmxlbmd0aCl7Y29uc3QgZT03LXQrXy5maXJzdERheU9mV2VlaygpLTE7aWYocz0tKHIubWludXRlc1BlckRheS1zK2Uqci5taW51dGVzUGVyRGF5KSx5PSgwLGkubG93ZXJib3VuZCkoXy5saXN0KCksbmV3IGEuU2Vzc2lvbnNTcGVjRW50cnkoXy5maXJzdERheU9mV2VlaygpLHMsMCksbykseTxfLmxpc3QoKS5sZW5ndGgpcmV0dXJuIG5ldyBhLlNlc3Npb25zU3BlY0VudHJ5SW5kZXgoYyx5LFsuLi5fLmxpc3QoKV0pfWZvcig7OylpZihjKysscy09ci5taW51dGVzUGVyV2VlayxfPXRoaXMuZ2V0RW50cmllc0ZvcldlZWsoYyksMCE9PV8ubGlzdCgpLmxlbmd0aCYmKHk9KDAsaS5sb3dlcmJvdW5kKShfLmxpc3QoKSxuZXcgYS5TZXNzaW9uc1NwZWNFbnRyeShkLmZpcnN0RGF5T2ZXZWVrKCkscywwKSxvKSwhKHk+PV8ubGlzdCgpLmxlbmd0aCkpKXJldHVybiBuZXcgYS5TZXNzaW9uc1NwZWNFbnRyeUluZGV4KGMseSxbLi4uXy5saXN0KCldKX0KZmluZFNlc3Npb24oZSx0LHMsbj0wLHI9aCl7Y29uc3QgaT10aGlzLmluZGV4T2ZTZXNzaW9uKGUsdCxzLHIpLG89aS5lbnRyaWVzO2xldCBkPWkuZW50cnlJbmRleDtpZigwIT09bil7Y29uc3QgZT1vW2RdLmRheU9mV2VlaygpLHQ9bj4wPzE6LTE7Zm9yKDs7KXtjb25zdCBzPWQrdDtpZihzPDB8fHM+PW8ubGVuZ3RofHxvW3NdLmRheU9mV2VlaygpIT09ZSlicmVhaztkPXN9fXJldHVybiBuZXcgYS5TZXNzaW9uc1NwZWNFbnRyeUluZGV4KGkud2Vla0luZGV4LGQsbyl9Z2V0V2Vla0luZGV4KGUpe3JldHVybiB0aGlzLl9pc1RoZXJlQ29ycmVjdGlvbnM/Zy5fZ2V0V2Vla0luZGV4SW1wbChlKTowfWNvcnJlY3RUcmFkaW5nRGF5KGUpe2NvbnN0IHQ9dGhpcy5fY29ycmVjdFRyYWRpbmdEYXkodGhpcy5nZXRXZWVrSW5kZXgoZSksKDAsci5nZXRfZGF5X29mX3dlZWspKGUpLCgwLHIuZ2V0X21pbnV0ZXNfd2l0aF9ob3VycykoZSkpLHM9KDAsci5jbG9uZSkoZSk7cmV0dXJuKDAsci5hZGRfZGF0ZSkocyx0KSxzfWFsaWduVG9TZXNzaW9uU3RhcnQoZSx0PTApe2NvbnN0IHM9KDAsci5nZXRfZGF5X29mX3dlZWspKGUpLG49KDAsci5nZXRfbWludXRlc19mcm9tX21pZG5pZ2h0KShlKSxpPXRoaXMuZ2V0V2Vla0luZGV4KGUpLG89dGhpcy5maW5kU2Vzc2lvbihpLHMsbix0KSxhPW8uZ2V0RW50cnkoKSxkPWEuZGF5T2ZXZWVrKCktcys3Kk1hdGgudHJ1bmMoby53ZWVrSW5kZXgtaSk7MCE9PWQmJigwLHIuYWRkX2RhdGUpKGUsZCk7Y29uc3QgaD1hLnN0YXJ0T2Zmc2V0KCk7cmV0dXJuKDAsci5zZXRfaG1zKShlLE1hdGgudHJ1bmMoaC82MCksaCU2MCwwLDApLGEubGVuZ3RoKCl9YWxpZ25Ub0VudHJ5U3RhcnQoZSx0PTApe3JldHVybiB0aGlzLl9kb0FsaWduVG9FbnRyeVN0YXJ0KGUsdCxoKX1hbGlnblRvRW50cnlTdGFydEV4dGVuZGVkKGUsdD0wKXtyZXR1cm4gdGhpcy5fZG9BbGlnblRvRW50cnlTdGFydChlLHQsZil9YnVzaW5lc3NEYXlzVG9DYWxlbmRhckRheXMoZSx0KXtyZXR1cm4gdGhpcy5fYnVzaW5lc3NEYXlzVG9DYWxlbmRhckRheXModGhpcy5nZXRXZWVrSW5kZXgoZSksKDAsci5nZXRfZGF5X29mX3dlZWspKGUpLHQpfWNhbGVuZGFyRGF5c1RvQnVzaW5lc3NEYXlzKGUsdCl7cmV0dXJuIHRoaXMuX2NhbGVuZGFyRGF5c1RvQnVzaW5lc3NEYXlzKHRoaXMuZ2V0V2Vla0luZGV4KGUpLCgwLHIuZ2V0X2RheV9vZl93ZWVrKShlKSx0KX1hbGlnblRvTmVhcmVzdFNlc3Npb25TdGFydChlLHQpe3JldHVybiB0aGlzLl9hbGlnblRvTmVhcmVzdFNlc3Npb25WYWx1ZShlLHQsdGhpcy5fZW50cnlTZXNzaW9uU3RhcnQuYmluZCh0aGlzKSl9YWxpZ25Ub05lYXJlc3RTZXNzaW9uRW5kKGUsdCl7cmV0dXJuIHRoaXMuX2FsaWduVG9OZWFyZXN0U2Vzc2lvblZhbHVlKGUsdCx0aGlzLl9lbnRyeVNlc3Npb25FbmQuYmluZCh0aGlzKSl9Ym9yZGVyc09mRGFpbHlCYXIoZSl7Y29uc3QgdD10aGlzLl9nZXRFbnRyaWVzRm9yRGF5KGUpO2lmKDA9PT10Lmxlbmd0aClyZXR1cm4gbnVsbDtjb25zdCBzPXQuc2xpY2UoKTtzLnNvcnQoYS5jb21wYXJlU2Vzc2lvbkVudHJpZXMpO2NvbnN0IG49dGhpcy5fZ2V0TGVmdEVudHJ5Qm9yZGVyKGUsc1swXSksaT1zW3MubGVuZ3RoLTFdLG89NjAqKGkuc3RhcnRPZmZzZXQoKStpLmxlbmd0aCgpKS0xLGQ9KDAsci5jbG9uZSkoZSk7cmV0dXJuKDAsci5zZXRfc2Vjb25kcykoZCxvKSx7ZnJvbTpuLHRvOmR9fWxlZnRCb3JkZXJPZkRhaWx5QmFyKGUpe2NvbnN0IHQ9dGhpcy5fZ2V0RW50cmllc0ZvckRheShlKTtpZigwPT09dC5sZW5ndGgpcmV0dXJuIG51bGw7Y29uc3Qgcz10LnNsaWNlKCk7cmV0dXJuIHMuc29ydChhLmNvbXBhcmVTZXNzaW9uRW50cmllcyksdGhpcy5fZ2V0TGVmdEVudHJ5Qm9yZGVyKGUsc1swXSl9Y2hlY2tTZXNzaW9uKCl7cmV0dXJuIHRoaXMuX2NoZWNrRWFjaEhpc3RvcnlTZXNzaW9uKCkmJnRoaXMuX2NoZWNrU3BlY2lhbEVudHJpZXMoKSYmdGhpcy5fY2hlY2tUb29NYW55Q29ycmVjdGlvbnNPbldlZWsoKX1pblNlc3Npb24oZSl7ZT1uZXcgRGF0ZSgxZTMqTWF0aC5mbG9vcihlLmdldFRpbWUoKS8xZTMpKTtjb25zdCB0PXRoaXMuYWxpZ25Ub05lYXJlc3RTZXNzaW9uU3RhcnQoZSwtMSkscz10aGlzLmFsaWduVG9OZWFyZXN0U2Vzc2lvbkVuZCh0LDEpO3JldHVybiEoZS5nZXRUaW1lKCk+cy5nZXRUaW1lKCkpfWhhc1dlZWtFbmRzKCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fZW50cmllcylpZigwIT09ZS5nZXRFbnRyaWVzKCkud2Vla0VuZHNDb3VudCgpKXJldHVybiEwO3JldHVybiExfWdldFdlZWtJbmRpY2VzV2l0aEFkZGl0aW9uYWxXZWVrQmFycyhlKXtsZXQgdD10aGlzLl95ZWFyVG9DYWxjdWxhdGVkQWRkZWRXZWVrSW5kaWNlc0hhc2guZ2V0KGUpO3JldHVybiB2b2lkIDA9PT10JiYodD10aGlzLl9jYWxjdWxhdGVBZGRlZEluZGljZXMoZSksdGhpcy5feWVhclRvQ2FsY3VsYXRlZEFkZGVkV2Vla0luZGljZXNIYXNoLnNldChlLHQpKSx0fV9kb0FsaWduVG9FbnRyeVN0YXJ0KGUsdCxzKXtjb25zdCBuPSgwLHIuZ2V0X2RheV9vZl93ZWVrKShlKSxpPSgwLHIuZ2V0X21pbnV0ZXNfZnJvbV9taWRuaWdodCkoZSksbz10aGlzLmdldFdlZWtJbmRleChlKSxhPXRoaXMuZmluZFNlc3Npb24obyxuLGksdCxzKSxkPWEuZ2V0RW50cnkoKSxoPWQuZGF5T2ZXZWVrKCktbis3Kk1hdGgudHJ1bmMoYS53ZWVrSW5kZXgtbyk7MCE9PWgmJigwLHIuYWRkX2RhdGUpKGUsaCk7Y29uc3QgZj1kLnN0YXJ0T2Zmc2V0KCk7cmV0dXJuKDAsci5zZXRfaG1zKShlLE1hdGgudHJ1bmMoZi82MCksZiU2MCwwLDApLHtsZW5ndGg6ZC5sZW5ndGgoKSxlbnRyeTpkfX1fcHJlcGFyZVNlc3Npb25zQm9yZGVyUGFyYW1zKCl7Y29uc3QgZT1uZXcgTWFwLHQ9bmV3IE1hcDtsZXQgcz1udWxsO3RoaXMuX2VudHJpZXMubGVuZ3RoPjEmJihzPUFycmF5LmZyb20oe2xlbmd0aDp0aGlzLl9lbnRyaWVzLmxlbmd0aC0xfSwoKCk9PjApKSk7bGV0IHI9MDtmb3IobGV0IGk9MDtpPHRoaXMuX2VudHJpZXMubGVuZ3RoLTE7aSsrKXtjb25zdCBvPXRoaXMuX2VudHJpZXNbaSsxXSxhPSgwLApuLmVuc3VyZU5vdE51bGwpKG8uZ2V0U3RhcnREYXkoKSk7cj1nLl9nZXRXZWVrSW5kZXhJbXBsKGEpLGUuc2V0KHIsaSsxKSx0aGlzLl9hZGRUb1llYXJIYXNoKHQsYSxyKSx0aGlzLl9lbnRyaWVzSGFzaC5zZXQocixuZXcgdShudWxsKSksKDAsbi5lbnN1cmVOb3ROdWxsKShzKVtpXT1yfXJldHVybntib3JkZXJXZWVrc0luZGljZXNIYXNoOmUseWVhclRvV2Vla3NJbmRpY2VzSGFzaDp0LHN0YXJ0UHJlc2VudFNlc3Npb25XZWVrSW5kZXg6cix3ZWVrSW5kaWNlc09mTGFzdEhpc3RvcnlXZWVrOnN9fV9hZGRUb1llYXJIYXNoKGUsdCxzKXtjb25zdCBuPSgwLHIuZ2V0X3llYXIpKHQpO2xldCBpPWUuZ2V0KG4pO3ZvaWQgMD09PWkmJihpPVtdLGUuc2V0KG4saSkpLGkucHVzaChzKX1fZ2V0SGlzdG9yeUFuZEluZGV4Rm9yV2VlayhlKXtpZih0aGlzLl9wcmVzZW50U3RhcnRXZWVrSW5kZXg8PWUpcmV0dXJuIHRoaXMuX3ByZXNlbnRIaXN0b3J5RW50cnk7Y29uc3QgdD10aGlzLl9nZXRJbmRleE9mSGlzdG9yeUVudHJ5KGUpO3JldHVybiB0aGlzLl9lbnRyaWVzW3RdfV9nZXRJbmRleE9mSGlzdG9yeUVudHJ5KGUpe2xldCB0PTAscz10aGlzLl9lbnRyaWVzLmxlbmd0aC0xLHI9TWF0aC5mbG9vcigodCtzKS8yKTtmb3IoKDAsbi5hc3NlcnQpKG51bGwhPT10aGlzLl93ZWVrSW5kaWNlc09mTGFzdEhpc3RvcnlXZWVrKTs7KXtpZih0aGlzLl93ZWVrSW5kaWNlc09mTGFzdEhpc3RvcnlXZWVrW3JdPj1lKXtpZihzPXItMSxzPHQpcmV0dXJuIHJ9ZWxzZSBpZih0PXIrMSxzPHQpcmV0dXJuIHIrMTtyPU1hdGguZmxvb3IoKHQrcykvMil9fV9zZWxlY3RIb2xpZGF5cyhlLHQpe2NvbnN0IHM9dGhpcy5fbG93ZXJCb3VuZEhvbGlkYXlJbmRleChfKGUpKSxuPXRoaXMuX2xvd2VyQm91bmRIb2xpZGF5SW5kZXgoXyh0KSk7cmV0dXJuIHRoaXMuX3NvcnRlZEhvbGlkYXlzLnNsaWNlKHMsbil9X2xvd2VyQm91bmRIb2xpZGF5SW5kZXgoZSl7cmV0dXJuKDAsaS5sb3dlcmJvdW5kKSh0aGlzLl9zb3J0ZWRIb2xpZGF5cyxlLCgoZSx0KT0+ZS5rZXk8dCkpfV9wcmVwYXJlQm9yZGVyV2Vla0hpc3RvcnkoZSl7Y29uc3QgdD10aGlzLl9lbnRyaWVzW2UtMV0scz10aGlzLl9lbnRyaWVzW2VdLGk9bmV3IE1hcCxvPVtdLGg9KDAsci5nZXRfZGF5X29mX3dlZWspKCgwLG4uZW5zdXJlTm90TnVsbCkocy5nZXRTdGFydERheSgpKSk7Zm9yKGxldCBlPTA7ZTxkLndvcmtpbmdEYXlzQW5kV2Vla0VuZHMubGVuZ3RoO2UrKyl7Y29uc3Qgbj1kLndvcmtpbmdEYXlzQW5kV2Vla0VuZHNbZV07aWYobjxoKXtjb25zdCBlPXQuZ2V0RW50cmllcygpLmVudHJpZXNCeURheSgpLmdldChuKTt2b2lkIDAhPT1lJiYoby5wdXNoKC4uLmUpLGkuc2V0KG4sZSkpfWVsc2V7Y29uc3QgZT1zLmdldEVudHJpZXMoKS5lbnRyaWVzQnlEYXkoKS5nZXQobik7dm9pZCAwIT09ZSYmKG8ucHVzaCguLi5lKSxpLnNldChuLGUpKX19cmV0dXJuIG5ldyBhLlNlc3Npb25zU3BlY0VudHJpZXMobyxpLHMuZ2V0RW50cmllcygpLmZpcnN0RGF5T2ZXZWVrKCksMCl9X2hvbGlkYXlzRnJvbVllYXJTdGFydChlKXtpZighdGhpcy5faXNUaGVyZUNvcnJlY3Rpb25zKXJldHVybiAwOygwLG4uYXNzZXJ0KSghdGhpcy5oYXNIaXN0b3J5Q29ycmVjdGlvbnMoKSk7Y29uc3QgdD0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2hvbGlkYXlDb3VudFByZWZpeFN1bXMpLHM9dGhpcy5fbG93ZXJCb3VuZEhvbGlkYXlJbmRleChfKGUuZmlyc3REYXlPZlllYXIoKSkpO3JldHVybiB0W3RoaXMuX2xvd2VyQm91bmRIb2xpZGF5SW5kZXgoXyhlKSldLXRbc119X2J1aWxkSG9saWRheUNvdW50UHJlZml4U3Vtcygpe2NvbnN0IGU9dGhpcy5fcHJlc2VudEhpc3RvcnlFbnRyeS5nZXRFbnRyaWVzKCksdD1uZXcgQXJyYXkodGhpcy5fc29ydGVkSG9saWRheXMubGVuZ3RoKzEpO3RbMF09MDtmb3IobGV0IHM9MDtzPHRoaXMuX3NvcnRlZEhvbGlkYXlzLmxlbmd0aDtzKyspe2NvbnN0IG49dGhpcy5fc29ydGVkSG9saWRheXNbc10scj0wPT09bi5zZXNzaW9ucy5sZW5ndGg7bGV0IGk9MDtpPWUuaXNXZWVrRW5kKG4uZGF5LmdldERheU9mV2VlaygpKT9yPzA6LTE6cj8xOjAsdFtzKzFdPXRbc10raX1yZXR1cm4gdH1fZ2V0RGF5c09mZkZvcldlZWtJbkJvcmRlcnMoZSx0LHMpe2xldCBuPTA7Y29uc3Qgcj10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpO2ZvcihsZXQgZT10O2U8PXM7ZSsrKXIuZW50cmllc0J5RGF5KCkuaGFzKGUpfHxuKys7cmV0dXJuIG59X3dlZWtJbmRleFRvTG9jYWxEYXRlVGltZShlKXtjb25zdCB0PU1hdGguZmxvb3IoODY0MDAqZSo3Kzg2NDAwLTYyMTY3MjE5MjAwKSxzPSgwLHIuZ2V0X2NhbF9mcm9tX3VuaXhfdGltZXN0YW1wX21zKShjLDFlMyp0KTtyZXR1cm4oMCxyLnNldF9obXMpKHMsMCwwLDAsMCksc31fY29ycmVjdFRyYWRpbmdEYXkoZSx0LHMpe2NvbnN0IG49dGhpcy5maW5kU2Vzc2lvbihlLHQscywwKTtyZXR1cm4gbi5nZXRFbnRyeSgpLmRheU9mV2VlaygpLXQrNypNYXRoLnRydW5jKG4ud2Vla0luZGV4LWUpfV9lbnRyeVNlc3Npb25WYWx1ZShlLHQscyxuKXt0PSgwLHIuY2xvbmUpKHQpO2xldCBpPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KTtjb25zdCBvPWUuZ2V0RW50cnkoKTtsZXQgYT1vLmRheU9mV2VlaygpLW8uc2Vzc2lvblN0YXJ0RGF5c09mZnNldCgpO2NvbnN0IGQ9dGhpcy5nZXRXZWVrSW5kZXgodCk7bGV0IGg9TWF0aC50cnVuYyhlLndlZWtJbmRleC1kKSxmPSExO2lmKGE8ci5TVU5EQVkmJihoPD0wP2Y9ITA6aC0tLGErPTcpLChoPjAmJnM+PTB8fGg8MCYmczwwKSYmKDAsci5hZGRfZGF0ZSkodCw3KmgpLCFvLmNvbnRhaW5zKHQpKXtsZXQgZT1hLWk7ZiYmczwwJiYoZT0tKDctYStpKSksKDAsci5hZGRfZGF0ZSkodCxlKSxpPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KX1pZihvLmlzT3Zlcm5pZ2h0KCkpe2NvbnN0IGU9by5zZXNzaW9uU3RhcnREYXlzT2Zmc2V0KCkscz0oaS0oby5kYXlPZldlZWsoKS1lKSs3KSU3OzAhPT1zJiYoMCxyLmFkZF9kYXRlKSh0LC1zKX1jb25zdCB5PW4obyk7cmV0dXJuKDAsci5zZXRfc2Vjb25kcykodCx5KSx0fQpfYnVzaW5lc3NEYXlzVG9DYWxlbmRhckRheXMoZSx0LHMpe2xldCBuPTAsaT0wO2Zvcig7aTxzOyl7Y29uc3Qgbz10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpO2ZvcihsZXQgZT10O2U8PXIuU0FUVVJEQVk7ZSsrKWlmKG4rKyx2b2lkIDAhPT1vLmVudHJpZXNCeURheSgpLmdldChlKSYmaSsrLGk+PXMpcmV0dXJuIG47ZSsrLHQ9ci5TVU5EQVl9cmV0dXJuIG59X2NhbGVuZGFyRGF5c1RvQnVzaW5lc3NEYXlzKGUsdCxzKXtsZXQgbj0wLGk9MDtmb3IoO248czspe2NvbnN0IG89dGhpcy5nZXRFbnRyaWVzRm9yV2VlayhlKTtmb3IobGV0IGU9dDtlPD1yLlNBVFVSREFZO2UrKylpZihuKyssdm9pZCAwIT09by5lbnRyaWVzQnlEYXkoKS5nZXQoZSkmJmkrKyxuPj1zKXJldHVybiBpO2UrKyx0PXIuU1VOREFZfXJldHVybiBpfV9lbnRyeVNlc3Npb25TdGFydChlLHQscyl7cmV0dXJuIHRoaXMuX2VudHJ5U2Vzc2lvblZhbHVlKGUsdCxzLChlPT42MCplLnN0YXJ0KCkpKX1fZW50cnlTZXNzaW9uRW5kKGUsdCxzKXtyZXR1cm4gdGhpcy5fZW50cnlTZXNzaW9uVmFsdWUoZSx0LHMsKGU9PjYwKihlLnN0YXJ0KCkrZS5sZW5ndGgoKSktMSkpfV9hbGlnblRvTmVhcmVzdFNlc3Npb25WYWx1ZShlLHQscyl7Y29uc3Qgbj0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSksaT0oMCxyLmdldF9taW51dGVzX3dpdGhfaG91cnMpKGUpLG89dGhpcy5nZXRXZWVrSW5kZXgoZSk7bGV0IGQ9dGhpcy5maW5kU2Vzc2lvbihvLG4saSk7aWYoMT09PXQpcmV0dXJuIHMoZCxlLHQpO2NvbnN0IGg9ZC5nZXRFbnRyeSgpLGY9aC5jb250YWlucyhlKSx5PW89PT1kLndlZWtJbmRleCxjPWguc2Vzc2lvblN0YXJ0RGF5c09mZnNldCgpLWguZGF5T2ZXZWVrKCk+PTA7aWYoZiYmKHl8fGMpKXJldHVybiBzKGQsZSx0KTtsZXQgXz1kLmVudHJ5SW5kZXgtMTtpZihfPDApe2xldCBlPWQud2Vla0luZGV4LHQ9ZC5lbnRyaWVzO2lmKDA9PT1lKWUtLSxfKz10Lmxlbmd0aDtlbHNlIGZvcig7XzwwOyllLS0sdD10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpLmxpc3QoKSxfKz10Lmxlbmd0aDtkPW5ldyBhLlNlc3Npb25zU3BlY0VudHJ5SW5kZXgoZSxfLHQpfWVsc2UgZD1uZXcgYS5TZXNzaW9uc1NwZWNFbnRyeUluZGV4KGQud2Vla0luZGV4LF8sZC5lbnRyaWVzKTtyZXR1cm4gcyhkLGUsdCl9X2dldEVudHJpZXNGb3JEYXkoZSl7Y29uc3QgdD0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSkscz10aGlzLmdldEVudHJpZXNGb3JXZWVrKHRoaXMuZ2V0V2Vla0luZGV4KGUpKS5lbnRyaWVzQnlEYXkoKS5nZXQodCk7cmV0dXJuIHZvaWQgMCE9PXM/czpbXX1fZ2V0TGVmdEVudHJ5Qm9yZGVyKGUsdCl7bGV0IHM9dC5zdGFydE9mZnNldCgpO2NvbnN0IG49LU1hdGgudHJ1bmMoKHMtMTQzOSkvMTQ0MCk7cys9MTQ0MCpuO2NvbnN0IGk9KDAsci5nZXRfY2FsKShjLCgwLHIuZ2V0X3llYXIpKGUpLCgwLHIuZ2V0X21vbnRoKShlKSwoMCxyLmdldF9kYXlfb2ZfbW9udGgpKGUpLE1hdGgudHJ1bmMocy82MCkscyU2MCwwKTtyZXR1cm4oMCxyLmFkZF9kYXRlKShpLC1uKSxpfV9jaGVja0VhY2hIaXN0b3J5U2Vzc2lvbigpe2Zvcihjb25zdCBlIG9mIHRoaXMuX2VudHJpZXMpe2NvbnN0IHQ9ZS5nZXRFbnRyaWVzKCkubGlzdCgpO2lmKCF0aGlzLl9jaGVja0VudHJpZXNGb3JJbnRlcnNlY3Rpb25zKHQsdCx0KSlyZXR1cm4hMX1yZXR1cm4hMH1fY2hlY2tFbnRyaWVzRm9ySW50ZXJzZWN0aW9ucyhlLHQscyl7Y29uc3Qgbj10aGlzLl9idWlsZFRlc3RFbnRyaWVzKGUsdCxzKTtmb3IobGV0IGU9MDtlPG4ubGVuZ3RoLTE7ZSsrKWZvcihsZXQgdD1lKzE7dDxuLmxlbmd0aDt0KyspaWYoMD09PXkobltlXSxuW3RdKSlyZXR1cm4hMTtyZXR1cm4hMH1fYnVpbGRUZXN0RW50cmllcyhlLHQscyl7Y29uc3Qgbj1bXTtmb3IoY29uc3QgdCBvZiBlKW4ucHVzaChnLl9jbG9uZUVudHJ5V2l0aERheSh0LHQuZGF5T2ZXZWVrKCkpKTtmb3IoY29uc3QgZSBvZiB0KW4ucHVzaChnLl9jbG9uZUVudHJ5V2l0aERheShlLGUuZGF5T2ZXZWVrKCkrNykpO2Zvcihjb25zdCBlIG9mIHMpbi5wdXNoKGcuX2Nsb25lRW50cnlXaXRoRGF5KGUsZS5kYXlPZldlZWsoKSsxNCkpO3JldHVybiBufV9jaGVja1NwZWNpYWxFbnRyaWVzKCl7Zm9yKGNvbnN0W2Vdb2YgdGhpcy5fZW50cmllc0hhc2gpe2NvbnN0IHQ9dGhpcy5nZXRFbnRyaWVzRm9yV2VlayhlKS5saXN0KCkscz10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUtMSkubGlzdCgpLG49dGhpcy5nZXRFbnRyaWVzRm9yV2VlayhlKzEpLmxpc3QoKTtpZighdGhpcy5fY2hlY2tFbnRyaWVzRm9ySW50ZXJzZWN0aW9ucyhzLHQsbikpcmV0dXJuITF9cmV0dXJuITB9X2NoZWNrVG9vTWFueUNvcnJlY3Rpb25zT25XZWVrKCl7aWYodGhpcy5fZW50cmllcy5sZW5ndGg8MilyZXR1cm4hMDtmb3IobGV0IGU9MDtlPHRoaXMuX2VudHJpZXMubGVuZ3RoLTI7ZSsrKXtjb25zdCB0PXRoaXMuX2VudHJpZXNbZV0scz10aGlzLl9lbnRyaWVzW2UrMV07aWYodGhpcy5nZXRXZWVrSW5kZXgoKDAsbi5lbnN1cmVOb3ROdWxsKSh0LmdldFNwZWNFbmREYXkoKSkpPT09dGhpcy5nZXRXZWVrSW5kZXgoKDAsbi5lbnN1cmVOb3ROdWxsKShzLmdldFNwZWNFbmREYXkoKSkpKXJldHVybiExfXJldHVybiEwfV9jYWxjdWxhdGVBZGRlZEluZGljZXMoZSl7Y29uc3QgdD1bXSxzPXRoaXMuX3llYXJUb1dlZWtzSW5kaWNlc0hhc2guZ2V0KGUpO2lmKHZvaWQgMD09PXMpcmV0dXJuIHQ7Zm9yKGNvbnN0IGUgb2Ygcyl7Y29uc3Qgcz0oMCxuLmVuc3VyZURlZmluZWQpKHRoaXMuX2JvcmRlcldlZWtzSW5kaWNlc0hhc2guZ2V0KGUpKSxpPXRoaXMuX2VudHJpZXNbc10sbz10aGlzLl9lbnRyaWVzW3MtMV07bGV0IGE9aS5nZXRFbnRyaWVzKCkuZmlyc3REYXlPZldlZWsoKS1vLmdldEVudHJpZXMoKS5maXJzdERheU9mV2VlaygpO2Zvcig7YT4wOyl7Y29uc3Qgbz0oMCxyLmNsb25lKSgoMCxuLmVuc3VyZU5vdE51bGwpKGkuZ2V0U3RhcnREYXkoKSkpO2lmKCgwLHIuYWRkX2RhdGUpKG8sLWEpLCF0aGlzLmlzQ2FsV2Vla0VuZChvKSl7Y29uc3Qgbj17ZW50cnlJbmRleDpzLAp3ZWVrSW5kZXg6ZX07dC5wdXNoKG4pO2JyZWFrfWEtLX19cmV0dXJuIHR9c3RhdGljIF9jbG9uZUVudHJ5V2l0aERheShlLHQpe2lmKGUuaXNFeHRlbmRlZCgpKXtjb25zdCBzPW5ldyBhLlNlc3Npb25zU3BlY0VudHJ5KHQsZS5zdGFydE9mZnNldCgpLGUubGVuZ3RoKCkpO3JldHVybiBuZXcgYS5FeHRlbmRlZEVudHJ5RGVjb3JhdG9yKHMsZS5leHRlbmRlZFN0YXJ0T2Zmc2V0KCksZS5leHRlbmRlZEVuZE9mZnNldCgpKX1yZXR1cm4gbmV3IGEuU2Vzc2lvbnNTcGVjRW50cnkodCxlLnN0YXJ0T2Zmc2V0KCksZS5sZW5ndGgoKSl9c3RhdGljIF9nZXRXZWVrSW5kZXhJbXBsKGUpe2NvbnN0IHQ9KDAsci5nZXRfY2FsX3V0YykoKDAsci5nZXRfeWVhcikoZSksKDAsci5nZXRfbW9udGgpKGUpLDEpOygwLHIuYWRkX2RhdGUpKHQsKDAsci5nZXRfZGF5X29mX21vbnRoKShlKS0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSkpO2NvbnN0IHM9dC5nZXRUaW1lKCkvMWUzO3JldHVybigwLG4uYXNzZXJ0KSgocys2MjE2NzIxOTIwMCklODY0MDA9PTApLE1hdGgudHJ1bmMoKHMrNjIxNjcyMTkyMDApLzg2NDAwLzcpfX19LDkwMjg0MihlLHQscyl7ZnVuY3Rpb24gbihlKXtyZXR1cm4gcihlLDIpfWZ1bmN0aW9uIHIoZSx0PTIpe2NvbnN0IHM9ZS50b1N0cmluZygpO3JldHVybiIwIi5yZXBlYXQoTWF0aC5tYXgoMCx0LXMubGVuZ3RoKSkrc31zLmQodCx7YWRkTGVhZGluZ1plcm86KCk9Pm4sYWRkTGVhZGluZ1plcm9zOigpPT5yfSl9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.539Z","timestamp":1785120633539,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /embed-widget/symbol-overview/?locale=en HTTP/1.1\r\nHost: www.tradingview-widget.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://247optiontradefx.com/\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\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 02:50:33 GMT\r\ncontent-type: text/html; charset=utf-8\r\nvary: Accept-Encoding\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\ncache-control: max-age=120\r\nexpires: Mon, 27 Jul 2026 02:51:56 GMT\r\ncontent-security-policy: script-src https://static.tradingview.com/static/ blob: https://*.ampproject.org/ https://*.paypal.com/ https://platform.twitter.com https://platform.x.com https://songbird.cardinalcommerce.com/edge/v1/ https://checkout.razorpay.com/ https://cdn.razorpay.com/static/cx/ https://*.checkout.com/ https://*.revolut.com/ https://*.cardinaltrusted.com https://pay.google.com/gp/p/js/ https://applepay.cdn-apple.com/jsapi/ https://tradingview-gateway.com/ https://www.tradingview-widget.com/static/bundles/embed/ 'nonce-uJBxP75Xmltlo5euzugYGg=='; object-src 'none'; base-uri 'none'; default-src 'self' https: data: blob: wss: 'unsafe-inline'\r\ncross-origin-opener-policy: same-origin-allow-popups\r\nreferrer-policy: origin-when-cross-origin\r\nx-content-type-options: nosniff\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/27/2026 02:50:33\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e0ef28f6327797ebced3ee00493e764f\r\ncdn-cache: EXPIRED\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]},{"name":"PayPal","description":"PayPal is an online payments system that supports online money transfers and serves as an electronic alternative to traditional paper methods like checks and money orders.","website":"https://paypal.com","common_platform_enumeration":"cpe:2.3:a:paypal:paypal:*:*:*:*:*:*:*:*","icon":"PayPal.svg","categories":["Payment processors"]}],"data":{"size":50861,"size_decoded":17638,"mime_type":"text/html; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (17728)","md5":"7a0e959fb844f20dc292661963a0d730","sha1":"ed1eecb231d3fee7ae1eb927e08e285bbd83f1db","sha256":"666b51412be40544fc7785982f707be5725e54db68c89fa2c1a3dd1d68fae087","sha512":"aed5b602f5b4b37cf99442edf9131c047182c1897faf7e7d9a634dd13f47580696276cae0f091b91e377c68bb801335faeab344a6aec467a306a371f6ed539d9","ssdeep":"768:Yj6NogFbLr2P36MaTWvGDo+vHgzH6/8szcyzuvCSF56yMQzl:S6Nogdq3iWn+66ceuvRMu","tlshash":"cb33e65394098b05dad64b057c33b103fd2902a8855268987aacd8dc199ffc3f1a7bfe","first_seen":"2026-07-27T02:51:26.778397Z","last_seen":"2026-07-27T02:52:08.283792Z","times_seen":2,"resource_available":false,"data":"Cgo8IURPQ1RZUEUgaHRtbD4KPGh0bWwgbGFuZz0iZW4iIGRpcj0ibHRyIj4KPGhlYWQ+Cgk8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIG1pbmltdW0tc2NhbGU9MSwgbWF4aW11bS1zY2FsZT0xIj4KCTx0aXRsZT5UcmFkaW5nVmlldyBNZWRpdW0gQ2hhcnQgV2lkZ2V0PC90aXRsZT4KCgk8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vczMtc3ltYm9sLWxvZ28udHJhZGluZ3ZpZXcuY29tLyIgY3Jvc3NvcmlnaW4+CgoJPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80NjkwNy5jNWFmOGFhN2I1MDgyYjE4NzVhNS5jc3MiIHJlbD0icHJlbG9hZCIgYXM9InN0eWxlIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTIzODUuNzg1NjFlYmRlZjA1Y2U2NDhiNWQuY3NzIiByZWw9InByZWxvYWQiIGFzPSJzdHlsZSIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzMyODE2LjM1NWQ3NWIyMWFlNGI1MzRhODQ5LmNzcyIgcmVsPSJwcmVsb2FkIiBhcz0ic3R5bGUiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80MzMyNS4yNTZmYTVhNTIxM2I5Y2I3MGY1Yy5jc3MiIHJlbD0icHJlbG9hZCIgYXM9InN0eWxlIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvOTE4NTUuMDA5NzY0ZGE2MWJkOGM4YzQ0YmUuY3NzIiByZWw9InByZWxvYWQiIGFzPSJzdHlsZSIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzMyNjMyLjU5NmU1MzQ4YTE1MzhhMThmZDRlLmNzcyIgcmVsPSJwcmVsb2FkIiBhcz0ic3R5bGUiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82MjYzMC41MzczMmRhZWE4MTc4NDQ3MzkzZi5jc3MiIHJlbD0icHJlbG9hZCIgYXM9InN0eWxlIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvODA3ODIuOTc1ZmI0MWQ0MmFlMmQ1MWMwOGIuY3NzIiByZWw9InByZWxvYWQiIGFzPSJzdHlsZSIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk5NTI3LjE1YzVjMjVkMjdhNTZhMGRmNzcyLmNzcyIgcmVsPSJwcmVsb2FkIiBhcz0ic3R5bGUiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81Mjg0Mi4zMWQ2Y2ZlMGQxNmFlOTMxYjczYy5jc3MiIHJlbD0icHJlbG9hZCIgYXM9InN0eWxlIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNzQxMjYuNzliNTYzYjM3NWZhZDcxMTIzYTQuY3NzIiByZWw9InByZWxvYWQiIGFzPSJzdHlsZSIvPgoKPHNjcmlwdCBub25jZT0idUpCeFA3NVhtbHRsbzVldXp1Z1lHZz09Ij4KCXdpbmRvdy5sb2NhbGUgPSAnZW4nOwoJd2luZG93Lmxhbmd1YWdlID0gJ2VuJzsKPC9zY3JpcHQ+Cgk8c2NyaXB0IG5vbmNlPSJ1SkJ4UDc1WG1sdGxvNWV1enVnWUdnPT0iPnZhciBlbnZpcm9ubWVudCA9ICJiYXR0bGUiOzwvc2NyaXB0PgoKCTxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvcnVudGltZS1lbWJlZF9tZWRpdW1fd2lkZ2V0LjkzNzU5Nzc5NzY1MDkwNzQxZTk5LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9lbWJlZF9tZWRpdW1fd2lkZ2V0LmJmNjQ5ZGRiYTk4OWE1Y2I3ZDk4LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9lbi4xMjg1OC5hZDcyZDc2YzQxYmJkNDE1MjMxZS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTMxNDguMzJjYzAxZGMwMTc1MWI5MTY4MmMuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzQ5MjY1LmMyMDhlZjgzNzllMDczZjk0ZDE2LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC84MDcwNi5hNTkxM2FhNmFkNjJkOWRiZjAzMS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNTYyNTguMjgyZTYxNDFmYzAyYWM4NWQwZDUuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzcxNDI0LmVhZWZhZjU2OGRjOGYxZDE2MjI4LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC84MzMxMC5iOTk1YWM2ODA0YjI4NDRkOWY4Yi5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNjU4NjIuOTU3NjQ3NTJjMDlmM2YxOGY4OTAuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzUxMDMxLjUzNWYyN2I3NzZmMzk0YzdlNDNhLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85NDcwOC43M2QyYmNhMzcyMDdjNjdhNDFmNC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvODc5OTUuOTExYjI2MTgxNzc4ZmVjYzRiNGUuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk0ODI1LjhhOTBjMGMzZWJkNDEzZWI5YzgxLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8xMjE4MS5iNjVhNTgzNTVmZjdjYzM0OTUwZi5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNDIxNzEuMWMwNWQ4MTQ3YzIzMGQ4NmI0ZmEuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzE1MDQ5LjA4ZTA4ODhlN2Q0NWYzNzE0MTdhLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81NTk2OS40M2MzNzQ4MDE0ZGUyY2QwYmQxYy5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzAyODguNTkyMDdhYTI2MDdlYTE1OTcyODcuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzczNDEyLjRjMTAyODE4ZmZlZjczMTYxZmUxLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9tZWRpdW0td2lkZ2V0LWNyZWF0b3IuYWNhZTg0ZjQxMDFiNDJmNGM4M2EuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL3J1bnRpbWUtZW1iZWRfbWVkaXVtX3dpZGdldC45Mzc1OTc3OTc2NTA5MDc0MWU5OS5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VtYmVkX21lZGl1bV93aWRnZXQuYmY2NDlkZGJhOTg5YTVjYjdkOTguanMiIGRlZmVyPjwvc2NyaXB0PgoKCTxzY3JpcHQgbm9uY2U9InVKQnhQNzVYbWx0bG81ZXV6dWdZR2c9PSI+d2luZG93LmZlYXR1cmVUb2dnbGVTdGF0ZSA9IHsic2hvd19mZWF0dXJlZF9pcG8iOjEuMCwiYmxhY2tfZnJpZGF5X3BvcHVwIjoxLjAsImJsYWNrX2ZyaWRheV9tYWlucGFnZSI6MS4wLCJibGFja19mcmlkYXlfZXh0ZW5kX2xpbWl0YXRpb24iOjEuMCwiZW5hYmxlX3RyYWRpbmdfcmVwbGF5X2Zvcl9wb2ludF9pbmRleGVzIjoxLjAsImluY3JlYXNlX21ldGFpbmZvX3ZlcnNpb24iOjAuMywiY2hhcnRfYXV0b3NhdmVfNW1pbiI6MS4wLCJjaGFydF9hdXRvc2F2ZV8zMG1pbiI6MS4wLCJwZXJmb3JtYW5jZV90ZXN0X21vZGUiOjEuMCwiY2hlY2tfYXV0aF90b2tlbl9leHBpcmF0aW9uX29uX2V2ZXJ5X3JlcXVlc3QiOjEuMCwiY2hhcnRfc3RvcmFnZV9oaWJlcm5hdGlvbl9kZWxheV82MG1pbiI6MS4wLCJzdXBwb3J0X3BlcnNpc3RlbnRfbG9ncyI6MS4wLCJuZXdfc3RvcmFnZV9zdWJzY3JpcHRpb25fdXJsIjoxLjAsInJlbW92ZV9hbmNob3JlZF90ZXh0IjoxLjAsImVuYWJsZV9zdGVwX2J5X3N0ZXBfaGludHNfZm9yX2RyYXdpbmdzIjoxLjAsInB1c2hzdHJlYW1fYmFzaWNfdGVsZW1ldHJ5IjoxLjAsImFsbG93X2JyYWNrZXRzX3Byb2ZpdF9sb3NzIjoxLjAsImVuYWJsZV90cmFkZWRfY29udGV4dF9saW5raW5nIjoxLjAsIm9yZGVyX2NvbnRleHRfdmFsaWRhdGlvbl9pbl9pbnN0YW50X21vZGUiOjEuMCwiYWxlcnRzLW9uLWZ1bmRhbWVudGFsLW1ldHJpY3MiOjEuMCwiYWxlcnRzLW5vdGlmaWNhdGlvbi1zY2hlZHVsZSI6MS4wLCJhbGVydHMtd2F0Y2hsaXN0LWV4dGVuZGVkLWhvdXJzIjoxLjAsImVuYWJsZV9zeW1ib2xfY2hhbmdlX3Jlc3RyaWN0aW9uX29uX3dpZGdldHMiOjEuMCwiZW5hYmxlX2FzeF9zeW1ib2xfcmVzdHJpY3Rpb24iOjEuMCwic3ltcGhvbnlfYWxsb3dfbm9uX3BhcnRpdGlvbmVkX2Nvb2tpZV9vbl9vbGRfc3ltcGhvbnkiOjEuMCwic3ltcGhvbnlfbm90aWZpY2F0aW9uX2JhZGdlcyI6MS4wLCJzeW1waG9ueV91c2VfYWRrX2Zvcl91cGdyYWRlX3JlcXVlc3QiOjEuMCwic3ltcGhvbnlfZW5hYmxlX3RpbWVvdXRfdHJhY2tpbmciOjEuMCwic3ltcGhvbnlfZW5hYmxlX3RpbWVvdXRfc29mdF9saW1pdCI6MS4wLCJzeW1waG9ueV9lbmFibGVfdGltZW91dF9oYXJkX2xpbWl0IjoxLjAsInRlbGVncmFtX21pbmlfYXBwX3JlZHVjZV9zbmFwc2hvdF9xdWFsaXR5IjoxLjAsIm5ld3Nfc3ltYm9sX292ZXJ2aWV3X2tleV9mYWN0cyI6MS4wLCJ0aW1lb3V0X2RqYW5nb19kYiI6MC4xNSwidGltZW91dF9kamFuZ29fdXNlcnNldHRpbmdzX2RiIjowLjE1LCJ0aW1lb3V0X2RqYW5nb19jaGFydHNfZGIiOjAuMjUsInRpbWVvdXRfZGphbmdvX3N5bWJvbHNfbGlzdHNfZGIiOjAuMjUsInRpbWVvdXRfZGphbmdvX21pbmRzX2RiIjowLjA1LCJ0aW1lb3V0X2RqYW5nb19sb2dnaW5nX2RiIjowLjI1LCJkaXNhYmxlX3NlcnZpY2VzX21vbml0b3JfbWV0cmljcyI6MS4wLCJlbmFibGVfc2lnbmluX3JlY2FwdGNoYSI6MS4wLCJlbmFibGVfaWRlYV9zcGFtZGV0ZWN0b3JtbCI6MS4wLCJlbmFibGVfaWRlYV9zcGFtZGV0ZWN0b3JtbF9jb21tZW50cyI6MS4wLCJlbmFibGVfc3BhbWRldGVjdG9ybWxfY2hhdCI6MS4wLCJlbmFibGVfbWluZHNfc3BhbWRldGVjdG9ybWwiOjEuMCwiYmFja2VuZC1jb25uZWN0aW9ucy1pbi10b2tlbiI6MS4wLCJvbmVfY29ubmVjdGlvbl93aXRoX2V4Y2hhbmdlcyI6MS4wLCJtb2JpbGUtYWRzLWlvcyI6MS4wLCJtb2JpbGUtYWRzLWFuZHJvaWQiOjEuMCwiZ29vZ2xlLW9uZS10YXAtc2lnbmluIjoxLjAsImJyYWludHJlZS1nb3Byby1pbi1vcmRlci1kaWFsb2ciOjEuMCwiYnJhaW50cmVlLWFwcGxlLXBheSI6MS4wLCJicmFpbnRyZWUtZ29vZ2xlLXBheSI6MS4wLCJicmFpbnRyZWUtYXBwbGUtcGF5LWZyb20taW9zLWFwcCI6MS4wLCJicmFpbnRyZWUtYXBwbGUtcGF5LXRyaWFsIjoxLjAsInRyaXBsZWEtcGF5bWVudHMiOjEuMCwiYnJhaW50cmVlLWdvb2dsZS1wYXktdHJpYWwiOjEuMCwiYnJhaW50cmVlLW9uZS11c2QtdmVyaWZpY2F0aW9uIjoxLjAsImJyYWludHJlZS0zZHMtZW5hYmxlZCI6MS4wLCJicmFpbnRyZWUtM2RzLXN0YXR1cy1jaGVjayI6MS4wLCJicmFpbnRyZWUtYWRkaXRpb25hbC1jYXJkLWNoZWNrcy1mb3ItdHJpYWwiOjEuMCwiYnJhaW50cmVlLWluc3RhbnQtc2V0dGxlbWVudCI6MS4wLCJicmFpbnRyZWVfcmVjdXJyaW5nX2JpbGxpbmdfc2NoZWR1bGVyX3N1YnNjcmlwdGlvbiI6MS4wLCJjaGVja291dF9tYW51YWxfY2FwdHVyZV9yZXF1aXJlZCI6MS4wLCJjaGVja291dC1zdWJzY3JpcHRpb25zIjoxLjAsImNoZWNrb3V0X2FkZGl0aW9uYWxfY2FyZF9jaGVja3NfZm9yX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fZHVwbGljYXRlX3BheW1lbnRfbWV0aG9kc19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9iYW5uZWRfY291bnRyaWVzX2Zvcl90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2Jhbm5lZF9iYW5rX2Zvcl90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2Jhbm5lZF9iYW5rX2Zvcl9wcmVtaXVtX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fY2xvc2VfdG9fZXhwaXJhdGlvbl9jYXJkX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fcHJlcGFpZF9jYXJkX3RyaWFsIjoxLjAsInJldm9sdXRfYWRkaXRpb25hbF9jYXJkX2NoZWNrc19mb3JfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2R1cGxpY2F0ZV9wYXltZW50X21ldGhvZHNfZm9yX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9iYW5uZWRfY291bnRyaWVzX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fYmFubmVkX2JhbmtfZm9yX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfcHJlbWl1bV90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fY2xvc2VfdG9fZXhwaXJhdGlvbl9jYXJkX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9wcmVwYWlkX2NhcmRfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2NvbW1lcmNpYWxfY2FyZF90cmlhbCI6MS4wLCJlbmFibGVfcGF5bWVudHNfM2RzX29wdGltaXphdGlvbiI6MS4wLCJjb3VudHJ5X29mX2lzc3VhbmNlX3ZzX2JpbGxpbmdfY291bnRyeSI6MS4wLCJjaGVja291dF9zaG93X2luc3RlYWRfb2ZfYnJhaW50cmVlIjoxLjAsImNoZWNrb3V0LTNkcyI6MS4wLCJjaGVja291dC1wYXlwYWwiOjEuMCwiY2hlY2tvdXRfaW5jbHVkZV9hY2NvdW50X2hvbGRlciI6MS4wLCJjaGVja291dC1wYXlwYWwtdHJpYWwiOjEuMCwiYW5udWFsX3RvX21vbnRobHlfZG93bmdyYWRlX2F0dGVtcHQiOjEuMCwicmF6b3JwYXlfdHJpYWxfMTBfaW5yIjoxLjAsInJhem9ycGF5LWNhcmQtb3JkZXItdG9rZW4tc2VjdGlvbiI6MS4wLCJyYXpvcnBheS1jYXJkLXN1YnNjcmlwdGlvbnMiOjEuMCwicmF6b3JwYXktdXBpLXN1YnNjcmlwdGlvbnMiOjEuMCwicmF6b3JwYXktczMtaW52b2ljZS11cGxvYWQiOjEuMCwicmF6b3JwYXlfaW5jbHVkZV9kYXRlX29mX2JpcnRoIjoxLjAsImRsb2NhbC1wYXltZW50cyI6MS4wLCJyZXZvbHV0LXBheS1wYXltZW50cyI6MS4wLCJyZXZvbHV0LWNhcmQtcGF5bWVudHMiOjAuNSwiZGxvY2FsLXBpeC1hdXRvbWF0aWNvIjoxLjAsImJyYWludHJlZV90cmFuc2FjdGlvbl9zb3VyY2UiOjEuMCwidmVydGV4LXRheCI6MS4wLCJ2ZXJ0ZXgtdGF4LWZpeCI6MS4wLCJyZWNlaXB0X2luX2VtYWlscyI6MS4wLCJhZHdvcmRzLWFuYWx5dGljcyI6MS4wLCJjbTM2MC1hbmFseXRpY3MiOjEuMCwiZGlzYWJsZV9tb2JpbGVfdXBzZWxsX2lvcyI6MS4wLCJkaXNhYmxlX21vYmlsZV91cHNlbGxfYW5kcm9pZCI6MS4wLCJyZXF1aXJlZF9hZ3JlZW1lbnRfZm9yX3J0IjoxLjAsImNoZWNrX21hcmtldF9kYXRhX2xpbWl0cyI6MS4wLCJmb3JjZV90b19jb21wbGV0ZV9kYXRhIjoxLjAsImZvcmNlX3RvX3VwZ3JhZGVfdG9fZXhwZXJ0IjoxLjAsInNlbmRfdHJhZGV2YW5faW52b2ljZSI6MS4wLCJzaG93X3BlcGVfYW5pbWF0aW9uIjoxLjAsInNlbmRfbmV4dF9wYXltZW50X2luZm9fcmVjZWlwdCI6MS4wLCJzdXBwb3J0X292ZXJuaWdodF9zZXNzaW9uIjoxLjAsInNjcmVlbmVyLWFsZXJ0cy1yZWFkLW9ubHkiOjEuMCwic2NyZWVuZXJfYm9uZF9yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfc3RvY2tfYWlfZmlsdGVyc19lbmFibGVkIjoxLjAsInNjcmVlbmVyX2lzX2FsbG93ZWRfdG9fY3JlYXRlX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9yYXRpbmdfY29sdW1uc19yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9zb3J0aW5nX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX2dyb3VwX2J5X2lzaW5fcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfc3ltYm9sX3NlYXJjaF9yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9yZWdpc3RyYXRpb25fYmFubmVyX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzZXNfdHJhY2tpbmciOjEuMCwic2VuZF9maW5hbmNpYWxfbm90aWZpY2F0aW9ucyI6MS4wLCJzcGFya190cmFuc2xhdGlvbnMiOjEuMCwic3BhcmtfY2F0ZWdvcnlfdHJhbnNsYXRpb25zIjoxLjAsInNwYXJrX3RhZ3NfdHJhbnNsYXRpb25zIjoxLjAsInByb19wbGFuX2luaXRpYWxfcmVmdW5kc19kaXNhYmxlZCI6MS4wLCJwcmV2aW91c19tb25vcHJvZHVjdF9wdXJjaGFzZXNfcmVmdW5kc19lbmFibGVkIjoxLjAsImVuYWJsZV9pZGVhc19yZWNvbW1lbmRhdGlvbnMiOjEuMCwiZW5hYmxlX2lkZWFzX3JlY29tbWVuZGF0aW9uc19mZWVkIjoxLjAsImZhaWxfb25fZHVwbGljYXRlX3BheW1lbnRfbWV0aG9kc19mb3JfdHJpYWwiOjEuMCwiZXRob2NhX2FsZXJ0X25vdGlmaWNhdGlvbl93ZWJob29rIjoxLjAsImhpZGVfc3VzcGljaW91c191c2Vyc19pZGVhcyI6MS4wLCJkaXNhYmxlX3B1Ymxpc2hfc3RyYXRlZ3lfcmFuZ2VfYmFzZWRfY2hhcnQiOjEuMCwicmVzdHJpY3Rfc2ltdWx0YW5lb3VzX3JlcXVlc3RzIjoxLjAsImxvZ2luX2Zyb21fbmV3X2RldmljZV9lbWFpbCI6MS4wLCJzc3Jfd29ya2VyX25vd2FpdCI6MS4wLCJicm9rZXJfQTFDQVBJVEFMIjoxLjAsImJyb2tlcl9BQ1RJVlRSQURFUyI6MS4wLCJicm9rZXJfQUxDSEVNWU1BUktFVFMiOjEuMCwiYnJva2VyX0FMSUNFQkxVRSI6MS4wLCJoaWRlX0FMT1Jfb25faW9zIjoxLjAsImhpZGVfQUxPUl9vbl9hbmRyb2lkIjoxLjAsImhpZGVfQUxPUl9vbl9tb2JpbGVfd2ViIjoxLjAsImFsb3ItYnJva2Vycy1zaWRlLW1haW50ZW5hbmNlIjoxLjAsImJyb2tlcl9BTFBBQ0EiOjEuMCwiYnJva2VyX0FMUkFNWiI6MS4wLCJicm9rZXJfQU1QIjoxLjAsImJyb2tlcl9BTkdFTE9ORSI6MS4wLCJicm9rZXJfQVZBX0ZVVFVSRVMiOjEuMCwiQVZBX0ZVVFVSRVNfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJicm9rZXJfQjJQUklNRSI6MS4wLCJicm9rZXJfQkFKQUoiOjEuMCwiYnJva2VyX0JFWU9ORCI6MS4wLCJicm9rZXJfQklOQU5DRSI6MS4wLCJlbmFibGVfYmluYW5jZWFwaXNfYmFzZV91cmwiOjEuMCwiYnJva2VyX0JJTkdCT04iOjEuMCwiYnJva2VyX0JJVEFaWkEiOjEuMCwiYnJva2VyX0JJVEdFVCI6MS4wLCJicm9rZXJfQklUTUVYIjoxLjAsImJyb2tlcl9CSVRTVEFNUCI6MS4wLCJicm9rZXJfQkxBQ0tCVUxMIjoxLjAsImJyb2tlcl9CTFVFQkVSUllNQVJLRVRTIjoxLjAsImJyb2tlcl9CVENDIjoxLjAsImJyb2tlcl9CWUJJVCI6MS4wLCJicm9rZXJfQ0FQSVRBTENPTSI6MS4wLCJicm9rZXJfQ0FQVFJBREVSIjoxLjAsIkNBUFRSQURFUl9zZXBhcmF0ZV9pbnRlZ3JhdGlvbl9taWdyYXRpb25fd2FybmluZyI6MS4wLCJicm9rZXJfQ0ZJIjoxLjAsImJyb2tlcl9DR1NJIjoxLjAsImJyb2tlcl9DSVRZSU5ERVgiOjEuMCwiY2l0eWluZGV4X3NwcmVhZGJldHRpbmciOjEuMCwiQ0xFQVJTVFJFRVRfYmV0YSI6MS4wLCJicm9rZXJfQ01DTUFSS0VUUyI6MS4wLCJicm9rZXJfQ09CUkFUUkFESU5HIjoxLjAsImJyb2tlcl9DT0lOQkFTRSI6MS4wLCJjb2luYmFzZV9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwiY29pbmJhc2VfY2FuY2VsX3Bvc2l0aW9uX2JyYWNrZXRzIjoxLjAsImJyb2tlcl9DT0lOSkFSIjoxLjAsIkNPSU5KQVJfYmV0YSI6MS4wLCJicm9rZXJfQ09JTlNXSVRDSCI6MS4wLCJicm9rZXJfQ09JTlciOjEuMCwiYnJva2VyX0NPTE1FWCI6MS4wLCJoaWRlX0NRR19vbl9pb3MiOjEuMCwiaGlkZV9DUUdfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0NRR19vbl9tb2JpbGVfd2ViIjoxLjAsImNxZy1yZWFsdGltZS1iYW5kd2lkdGgtbGltaXQiOjEuMCwiYnJva2VyX0NSWVBUT0NPTSI6MS4wLCJoaWRlX0NVUlJFTkNZQ09NX29uX2lvcyI6MS4wLCJoaWRlX0NVUlJFTkNZQ09NX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9DVVJSRU5DWUNPTV9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9DWE0iOjEuMCwiYnJva2VyX0RBT0wiOjEuMCwiYnJva2VyX0RBUldJTkVYIjoxLjAsIkRBUldJTkVYX2JldGEiOjEuMCwiYnJva2VyX0RFTFRBIjoxLjAsImJyb2tlcl9ERVJBWUFIIjoxLjAsImJyb2tlcl9ERVJJViI6MS4wLCJicm9rZXJfREhBTiI6MS4wLCJicm9rZXJfRE5TRSI6MS4wLCJicm9rZXJfRE9STUFOIjoxLjAsImhpZGVfRFVNTVlfb25faW9zIjoxLjAsImhpZGVfRFVNTVlfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0RVTU1ZX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0VBU1lNQVJLRVRTIjoxLjAsImJyb2tlcl9FQ09WQUxPUkVTIjoxLjAsImJyb2tlcl9FREdFQ0xFQVIiOjEuMCwiZWRnZWNsZWFyX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX0VJR0hUQ0FQIjoxLjAsImJyb2tlcl9FUlJBTlRFIjoxLjAsImJyb2tlcl9FU0FGWCI6MS4wLCJGSURFTElUWV9iZXRhIjoxLjAsIkZJREVMSVRZX3VzX3JlbGVhc2UiOjAuMjUsImZpZGVsaXR5X3NlY3VyaXR5X3Rva2VuIjoxLjAsImJyb2tlcl9GT1JFWENPTSI6MS4wLCJmb3JleGNvbV9zZXNzaW9uX3YyIjoxLjAsImJyb2tlcl9GUE1BUktFVFMiOjEuMCwiaGlkZV9GVFhfb25faW9zIjoxLjAsImhpZGVfRlRYX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9GVFhfb25fbW9iaWxlX3dlYiI6MS4wLCJmdHhfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImJyb2tlcl9GVVNJT05NQVJLRVRTIjoxLjAsImZ4Y21fc2VydmVyX2xvZ2dlciI6MS4wLCJicm9rZXJfRlhDTSI6MS4wLCJoaWRlX0ZYT1BFTl9vbl9pb3MiOjEuMCwiaGlkZV9GWE9QRU5fb25fYW5kcm9pZCI6MS4wLCJoaWRlX0ZYT1BFTl9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9GWFBSTyI6MS4wLCJicm9rZXJfRlhURiI6MS4wLCJicm9rZXJfRllFUlMiOjEuMCwiYnJva2VyX0dBVEUiOjEuMCwiYnJva2VyX0dCRUJST0tFUlMiOjEuMCwiZ2VtaW5pLWJyb2tlcnMtc2lkZS1tYWludGVuYW5jZSI6MS4wLCJicm9rZXJfR0VOSUFMSU5WRVNUSU1FTlRPUyI6MS4wLCJoaWRlX0dMT0JBTFBSSU1FX29uX2lvcyI6MS4wLCJoaWRlX0dMT0JBTFBSSU1FX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9HTE9CQUxQUklNRV9vbl9tb2JpbGVfd2ViIjoxLjAsImdsb2JhbHByaW1lLWJyb2tlcnMtc2lkZS1tYWludGVuYW5jZSI6MS4wLCJicm9rZXJfR09NQVJLRVRTIjoxLjAsImJyb2tlcl9HT1RSQURFIjoxLjAsImdvdHJhZGVfZW5hYmxlX3N0cmVhbWluZ19lbmRwb2ludHMiOjEuMCwiYnJva2VyX0hFUkVOWUEiOjEuMCwiaGlkZV9IVFhfb25faW9zIjoxLjAsImhpZGVfSFRYX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9IVFhfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfSUJLUiI6MS4wLCJjaGVja19pYmtyX3NpZGVfbWFpbnRlbmFuY2UiOjEuMCwiaWJrcl9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwiaWJrcl9wYXJhbGxlbF9wcm92aWRlcl9pbml0aWFsaXphdGlvbiI6MS4wLCJpYmtyX3dzX2FjY291bnRfc3VtbWFyeSI6MS4wLCJpYmtyX3dzX3NlcnZlcl9sb2dnZXIiOjEuMCwiaWJrcl9zdWJzY3JpYmVfdG9fb3JkZXJfdXBkYXRlc19maXJzdCI6MS4wLCJpYmtyX3dzX2FjY291bnRfbGVkZ2VyIjoxLjAsImJyb2tlcl9JQlJPS0VSIjoxLjAsImJyb2tlcl9JQ01BUktFVFMiOjEuMCwiYnJva2VyX0lDTUFSS0VUU19BU0lDIjoxLjAsImJyb2tlcl9JQ01BUktFVFNfRVUiOjEuMCwiYnJva2VyX0lHIjoxLjAsImJyb2tlcl9JTkRTVE9DS1MiOjEuMCwiYnJva2VyX0lORk9ZQVRJUklNIjoxLjAsImJyb2tlcl9JTk5PVkVTVFgiOjEuMCwiYnJva2VyX0lOVEVSQUNUSVZFSUwiOjEuMCwiYnJva2VyX0lOVkVTVFJBREUiOjEuMCwiSU5WRVNUUkFERV9iZXRhIjoxLjAsImJyb2tlcl9JUk9OQkVBTSI6MS4wLCJoaWRlX0lST05CRUFNX0NRR19vbl9pb3MiOjEuMCwiaGlkZV9JUk9OQkVBTV9DUUdfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0lST05CRUFNX0NRR19vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9LSVdPT00iOjEuMCwia2l3b29tX3VzZV9zZXBhcmF0ZV9zdHJlYW1pbmdfdXJsIjoxLjAsImJyb2tlcl9LT1RBSyI6MS4wLCJoaWRlX0tPVEFLX29uX2lvcyI6MS4wLCJoaWRlX0tPVEFLX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9LT1RBS19vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9LUkFLRU4iOjEuMCwiaGlkZV9LUkFLRU5fb25faW9zIjoxLjAsImhpZGVfS1JBS0VOX29uX2FuZHJvaWQiOjEuMCwiS1JBS0VOX2JldGEiOjEuMCwia3Jha2VuX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJicm9rZXJfS1NFQ1VSSVRJRVMiOjEuMCwiYnJva2VyX0xJQkVSQVRPUiI6MS4wLCJicm9rZXJfTUVYQyI6MS4wLCJicm9rZXJfTUVYRU0iOjEuMCwiYnJva2VyX01JREFTIjoxLjAsImhpZGVfTU9DS0JST0tFUl9vbl9pb3MiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX29uX21vYmlsZV93ZWIiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0lNUExJQ0lUX29uX2lvcyI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfSU1QTElDSVRfb25fYW5kcm9pZCI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfSU1QTElDSVRfb25fbW9iaWxlX3dlYiI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfQ09ERV9vbl9pb3MiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0NPREVfb25fYW5kcm9pZCI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfQ09ERV9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9NT09NT08iOjEuMCwiYnJva2VyX01PVElMQUxPU1dBTCI6MS4wLCJicm9rZXJfTklOSkFUUkFERVIiOjEuMCwiYnJva2VyX09BTkRBIjoxLjAsIm9hbmRhX3NlcnZlcl9sb2dnaW5nIjoxLjAsIm9hbmRhX29hdXRoX211bHRpcGxleGluZyI6MS4wLCJicm9rZXJfT0tYIjoxLjAsImJyb2tlcl9PUE9GSU5BTkNFIjoxLjAsImJyb2tlcl9PUFRJTVVTIjoxLjAsImJyb2tlcl9PU01BTkxJIjoxLjAsImJyb2tlcl9PU01BTkxJRlgiOjEuMCwicGFwZXJfZm9yY2VfY29ubmVjdF9wdXNoc3RyZWFtIjoxLjAsInBhcGVyX3N1YmFjY291bnRfY3VzdG9tX2N1cnJlbmN5IjoxLjAsInBhcGVyX291dHNpZGVfcnRoIjoxLjAsImJyb2tlcl9QQVlUTSI6MS4wLCJicm9rZXJfUEVQUEVSU1RPTkUiOjEuMCwiYnJva2VyX1BIRU1FWCI6MS4wLCJicm9rZXJfUEhJTExJUENBUElUQUxfVFIiOjEuMCwiYnJva2VyX1BISUxMSVBOT1ZBIjoxLjAsImJyb2tlcl9QTFVTNTAwIjoxLjAsInBsdXM1MDBfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJQTFVTNTAwVVNfYmV0YSI6MS4wLCJicm9rZXJfUFVSUExFVFJBRElORyI6MS4wLCJicm9rZXJfUVVFU1RSQURFIjoxLjAsImJyb2tlcl9SQVZBQlVSU0FUSUwiOjEuMCwiUkFWQUJVUlNBVElMX2JldGEiOjEuMCwiYnJva2VyX1JJWUFEQ0FQSVRBTCI6MS4wLCJicm9rZXJfUk9CT01BUktFVFMiOjEuMCwiYnJva2VyX1JFUExBWUJST0tFUiI6MS4wLCJicm9rZXJfU0FNVUVMIjoxLjAsImJyb2tlcl9TQVhPQkFOSyI6MS4wLCJicm9rZXJfU0hBUkVNQVJLRVQiOjEuMCwiYnJva2VyX1NLSUxMSU5HIjoxLjAsImJyb2tlcl9TUFJFQURFWCI6MS4wLCJicm9rZXJfU1dJU1NRVU9URSI6MS4wLCJicm9rZXJfU1RPTkVYIjoxLjAsImJyb2tlcl9UQVNUWUZYIjoxLjAsImJyb2tlcl9UQVNUWVRSQURFIjoxLjAsImJyb2tlcl9USElOS01BUktFVFMiOjEuMCwidGhpbmttYXJrZXRzX2FjY291bnRfZGF0YV9zdHJlYW1pbmciOjEuMCwiYnJva2VyX1RJQ0tNSUxMIjoxLjAsImhpZGVfVElHRVJfb25faW9zIjoxLjAsImhpZGVfVElHRVJfb25fYW5kcm9pZCI6MS4wLCJoaWRlX1RJR0VSX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX1RSQURFTkFUSU9OIjoxLjAsImJyb2tlcl9UUkFERVNUQVRJT04iOjEuMCwidHJhZGVzdGF0aW9uX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJ0cmFkZXN0YXRpb25fYWNjb3VudF9kYXRhX3N0cmVhbWluZyI6MS4wLCJ0cmFkZXN0YXRpb25fc3RyZWFtaW5nX3NlcnZlcl9sb2dnaW5nIjoxLjAsImJyb2tlcl9UUkFERVpFUk8iOjEuMCwiYnJva2VyX1RSQURJRVIiOjEuMCwiYnJva2VyX1RSQURJRVJfRlVUVVJFUyI6MS4wLCJ0cmFkaWVyX2Z1dHVyZXNfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJicm9rZXJfVFJBRE9WQVRFIjoxLjAsImhpZGVfVFJBRFVfb25faW9zIjoxLjAsImhpZGVfVFJBRFVfb25fYW5kcm9pZCI6MS4wLCJoaWRlX1RSQURVX29uX21vYmlsZV93ZWIiOjEuMCwidHJhZHVfc3ByZWFkX2JldCI6MS4wLCJicm9rZXJfVFJJVkUiOjEuMCwiYnJva2VyX1ZBTlRBR0UiOjEuMCwiYnJva2VyX1ZFTE9DSVRZIjoxLjAsImJyb2tlcl9XRUJVTEwiOjEuMCwiYnJva2VyX1dFQlVMTEpBUEFOIjoxLjAsImJyb2tlcl9XRUJVTExQQVkiOjEuMCwiYnJva2VyX1dFQlVMTFVLIjoxLjAsImJyb2tlcl9XSElURUJJVCI6MS4wLCJicm9rZXJfV0hTRUxGSU5WRVNUIjoxLjAsImJyb2tlcl9XSFNFTEZJTlZFU1RfRlVUVVJFUyI6MS4wLCJXSFNFTEZJTlZFU1RfRlVUVVJFU19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJyb2tlcl9YQ1VCRSI6MS4wLCJicm9rZXJfWUxHIjoxLjAsImJyb2tlcl9pZF9zZXNzaW9uIjoxLjAsImRpc2FsbG93X2NvbmN1cnJlbnRfc2Vzc2lvbnMiOjEuMCwidXNlX2NvZGVfZmxvd192Ml9wcm92aWRlciI6MS4wLCJ1c2VfY29kZV9mbG93X3YyX3Byb3ZpZGVyX2Zvcl91bnRlc3RlZF9icm9rZXJzIjoxLjAsIm1vYmlsZV90cmFkaW5nX3dlYiI6MS4wLCJtb2JpbGVfdHJhZGluZ19pb3MiOjEuMCwibW9iaWxlX3RyYWRpbmdfYW5kcm9pZCI6MS4wLCJjb250aW51b3VzX2Zyb250X2NvbnRyYWN0X3RyYWRpbmciOjEuMCwidHJhZGluZ19yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwicmVzdF9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwib2F1dGgyX2NvZGVfZmxvd19wcm92aWRlcl9zZXJ2ZXJfbG9nZ2VyIjoxLjAsInJlc3Rfb2F1dGgyX2NvZGVfZmxvd19tdWx0aXBsZXhpbmciOjEuMCwicmVzdF9sb2dvdXRfb25fNDI5IjoxLjAsInJldmlld19wb3B1cF9vbl9jaGFydCI6MS4wLCJzaG93X2NvbmN1cnJlbnRfY29ubmVjdGlvbl93YXJuaW5nIjoxLjAsImVuYWJsZV90cmFkaW5nX3NlcnZlcl9sb2dnZXIiOjEuMCwib3JkZXJfcHJlc2V0cyI6MS4wLCJvcmRlcl90aWNrZXRfcmVzaXphYmxlX2RyYXdlcl9vbiI6MS4wLCJyZXN0X3VzZV9hc3luY19tYXBwZXIiOjEuMCwicGFwZXJfY29tcGV0aXRpb25fYmFubmVyX3Nob3dfcHJvIjoxLjAsInBhcGVyX2NvbXBldGl0aW9uX3N0YXJ0ZWRfZGlhbG9nIjoxLjAsInBhcGVyX2NvbXBldGl0aW9uX3N0YXJ0ZWRfZGlhbG9nX3Nob3dfcHJvIjoxLjAsInBhcGVyX2NvbXBldGl0aW9uX2xlYWRlcmJvYXJkIjoxLjAsInBhcGVyX2NvbXBldGl0aW9uX3ByZXZpb3VzX2NvbXBldGl0aW9ucyI6MS4wLCJhbXBfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJibHVlbGluZV9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImRvcm1hbl9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImlyb25iZWFtX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwib3B0aW11c19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsInN0b25leF9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsInlsZ19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsInRyYWRpbmdfZ2VuZXJhbF9ldmVudHNfZ2FfdHJhY2tpbmciOjEuMCwicmVwbGF5X3Jlc3VsdF9zaGFyaW5nIjoxLjAsInJlcGxheV90cmFkaW5nX2JyYWNrZXRzIjoxLjAsImhpZGVfYWxsX2Jyb2tlcnNfYnV0dG9uX2luX2lvc19hcHAiOjEuMCwiZm9yY2VfbWF4X2FsbG93ZWRfcHVsbGluZ19pbnRlcnZhbHMiOjEuMCwicGFwZXJfZGVsYXlfdHJhZGluZyI6MS4wLCJlbmFibGVfZmlyc3RfdG91Y2hfaXNfc2VsZWN0aW9uIjoxLjAsImNsZWFyX3Byb2plY3Rfb3JkZXJfb25fb3JkZXJfdGlja2V0X2Nsb3NlIjoxLjAsImVuYWJsZV9uZXdfYmVoYXZpb3Jfb2ZfY29uZmlybV9idXR0b25zX29uX21vYmlsZSI6MS4wLCJyZW5ld190b2tlbl9wcmVlbXB0aW9uXzMwIjoxLjAsImRvX25vdF9vcGVuX290X2Zyb21fcGx1c19idXR0b24iOjEuMCwiYnJva2VyX3NpZGVfcHJvbW90aW9uIjoxLjAsImVuYWJsZV9uZXdfdHJhZGluZ19tZW51X3N0cnVjdHVyZSI6MS4wLCJxdWlja190cmFkaW5nX3BhbmVsIjoxLjAsInBhcGVyX29yZGVyX2NvbmZpcm1hdGlvbl9kaWFsb2ciOjEuMCwicGFwZXJfbXVsdGlwbGVfbGV2ZWxzX2VuYWJsZWQiOjEuMCwicGFwZXJfbWFyZ2luX2NvbnRyb2wiOjEuMCwiZW5hYmxlX3NlZ21lbnRhdGlvbl9wYXBlcl90cmFkaW5nIjoxLjAsImVuYWJsZV9jaGFydF9hZGFwdGl2ZV90cHNsX2J1dHRvbnNfb25fbW9iaWxlIjoxLjAsImVuYWJsZV9tYXJrZXRfcHJvamVjdF9vcmRlciI6MS4wLCJlbmFibGVfc3ltYm9sc19wb3B1bGFyaXR5X3Nob3dpbmciOjEuMCwiZW5hYmxlX3RyYW5zbGF0aW9uc19zM191cGxvYWQiOjEuMCwiZXRmX2Z1bmRfZmxvd3Nfb25seV9kYXlzX3Jlc29sdXRpb25zIjoxLjAsImRpc2FibGVfc25vd3Bsb3dfcGxhdGZvcm1fZXZlbnRzIjoxLjAsIm5vdGlmeV9pZGVhX21vZHNfYWJvdXRfZmlyc3RfcHVibGljYXRpb24iOjEuMCwiZW5hYmxlX3dhZl90cmFja2luZyI6MS4wLCJuZXdfZXJyb3JzX2Zsb3ciOjEuMCwicXVvdGUtdG9rZW4tZmlsdGVyLW93bi1zY3JpcHRzLWJ5LWFjY2VzcyI6MS4wLCJrZWVwX2luZGljYXRvcnNfc2VhcmNoX3N0YXRlIjoxLjAsImtlZXBfaW5kaWNhdG9yc190YWJfc2Nyb2xsX3N0YXRlIjoxLjAsImNvbmZpZ3VyYWJsZV9zZWFyY2hfYW5kX2ZpbHRyYXRpb24iOjEuMCwicGluZV9lZGl0b3Jfd3JhcF9vbl9saW5lX3NwbGl0IjoxLjAsInN5bWJvbF9zZWFyY2hfY291bnRyeV9zb3VyY2VzIjoxLjAsIndhdGNobGlzdHNfZGlhbG9nX3Njcm9sbF90b19hY3RpdmUiOjEuMCwiYm90dG9tX3BhbmVsX3RyYWNrX2V2ZW50cyI6MS4wLCJzbm93cGxvd19iZWFjb25fZmVhdHVyZSI6MS4wLCJzaG93X2RhdGFfcHJvYmxlbXNfaW5faGVscF9jZW50ZXIiOjEuMCwiZW5hYmxlX2FwcGxlX2RldmljZV9jaGVjayI6MS4wLCJlbmFibGVfYXBwbGVfaW50cm9fb2ZmZXJfc2lnbmF0dXJlIjoxLjAsImVuYWJsZV9hcHBsZV9wcm9tb19vZmZlcl9zaWduYXR1cmVfdjIiOjEuMCwiZW5hYmxlX2FwcGxlX3Byb21vX3NpZ25hdHVyZSI6MS4wLCJlbmFibGVfcHVzaF9ub3RpZmljYXRpb25zX2FuZHJvaWQiOjEuMCwiZW5hYmxlX3B1c2hfbm90aWZpY2F0aW9uc19pb3MiOjEuMCwiZW5hYmxlX21hbnRpY29yZV9jbHVzdGVyIjoxLjAsImVuYWJsZV9wdXNoc3RyZWFtX2F1dGgiOjEuMCwiZW5hYmxlX2Vudm95X3Byb3h5IjoxLjAsImVuYWJsZV9lbnZveV9wcm94eV9wYXBlcnRyYWRpbmciOjEuMCwiZW5hYmxlX2Vudm95X3Byb3h5X3NjcmVlbmVyIjoxLjAsIm9wdGlvbnNfcmVkdWNlX3BvbGxpbmdfaW50ZXJ2YWwiOjEuMCwib3B0aW9uc19idWlsZGVyX2dyb3VwX2FjdGlvbnMiOjEuMCwib3B0aW9uc19jaGFpbl9zaWdtYV9maWx0ZXIiOjEuMCwib3B0aW9uc19icm9rZXJfc3RyYXRlZ2llcyI6MS4wLCJzaG93X3RvYXN0X2Fib3V0X3VucmVhZF9tZXNzYWdlIjoxLjAsImVuYWJsZV9wYXJ0bmVyX3BheW91dCI6MS4wLCJlbmFibGVfZW1haWxfY2hhbmdlX2xvZ2dpbmciOjEuMCwiZW5hYmxlX2VtYWlsX29uX3BhcnRuZXJfc3RhdHVzX2NoYW5nZSI6MS4wLCJlbmFibGVfcGFydG5lcl9wcm9ncmFtX2FwcGx5IjoxLjAsImVuYWJsZV9wYXJ0bmVyX3Byb2dyYW0iOjEuMCwiY29tcHJlc3NfY2FjaGVfZGF0YSI6MS4wLCJuZXdzX2VuYWJsZV9zdHJlYW1pbmciOjEuMCwibmV3c19zY3JlZW5lcl9wYWdlX2NsaWVudCI6MS4wLCJlbmFibGVfZGVjbGFyYXRpb25fcG9wdXBfb25fbG9hZCI6MS4wLCJzaG93X2RhdGFfYm9uZHNfZnJlZV91c2VycyI6MS4wLCJlbmFibGVfbW9kZXJuX3JlbmRlcl9tb2RlIjoxLjAsImVuYWJsZV9wcm9mX3BvcHVwX2ZyZWUiOjEuMCwiaW9zX2FwcF9uZXdzX2FuZF9taW5kcyI6MS4wLCJkb19ub3RfZGlzY2xvc2VfcGhvbmVfb2NjdXBhbmN5IjoxLjAsImVuYWJsZV9yZWRpcmVjdF90b193aWRnZXRfZG9jdW1lbnRhdGlvbl9vZl9hbnlfbG9jYWxpemF0aW9uIjoxLjAsIm5ld3NfZW5hYmxlX3N0cmVhbWluZ19oaWJlcm5hdGlvbiI6MS4wLCJuZXdzX3N0cmVhbWluZ19oaWJlcm5hdGlvbl9kZWxheV8xMG1pbiI6MS4wLCJwYXNzX3JlY292ZXJ5X3NlYXJjaF9oaWRlX2luZm8iOjEuMCwibmV3c19lbmFibGVfc3RyZWFtaW5nX29uX3NjcmVlbmVyIjoxLjAsImVuYWJsZV9mb3JjZWRfZW1haWxfY29uZmlybWF0aW9uIjoxLjAsInNob3dfZ2lmdF9idXR0b24iOjEuMCwiYWRkcmVzc192YWxpZGF0aW9uX2VuYWJsZWQiOjEuMCwiZGlzYWJsZV91bnZlcmlmaWVkX2FkZHJlc3MiOjEuMCwiZ2VuZXJhdGVfaW52b2ljZV9udW1iZXJfYnlfY291bnRyeSI6MS4wLCJzaG93X2Zhdm9yaXRlX2xheW91dHMiOjEuMCwiZW5hYmxlX3NvY2lhbF9hdXRoX2NvbmZpcm1hdGlvbiI6MS4wLCJlbmFibGVfYWRfYmxvY2tfZGV0ZWN0IjoxLjAsInR2ZF9uZXdfdGFiX2xpbmtpbmciOjEuMCwidHZkX3RpbWVfYW5kX2RhdGVfcmFuZ2VfbGlua2luZyI6MS4wLCJ1c2VfYnJvd3Nlcl9zZXNzaW9uX3N0b3JhZ2UiOjEuMCwidXNlX2Rlc2t0b3Bfc2Vzc2lvbl9zdG9yYWdlIjoxLjAsIndyb25nX2FjY291bnRfZGlhbG9nX3ByaW1hcnlfc3dpdGNoIjoxLjAsImVuYWJsZV9saW5ndWFfbGFuZ19jaGVjayI6MS4wLCJnZXRfc2F2ZWRfYWN0aXZlX2xpc3RfYmVmb3JlX2dldHRpbmdfYWxsX2xpc3RzIjoxLjAsIndhdGNobGlzdF9hZGRfc291cmNlX3BhcmFtIjoxLjAsInNob3dfcmVmZXJyYWxfbm90aWZpY2F0aW9uX2RpYWxvZyI6MS4wLCJzZXRfbmV3X2JsYWNrX2NvbG9yIjoxLjAsIm5ld3NfdXNlX25ld3NfbWVkaWF0b3IiOjEuMCwiYWxsb3dfdHJhaWxpbmdfd2hpdGVzcGFjZV9pbl9udW1iZXJfdG9rZW4iOjEuMCwicmVzdHJpY3RfcHduZWRfcGFzc3dvcmRfc2V0IjoxLjAsIm5vdGlmX3NldHRpbmdzX2VuYWJsZV9uZXdfc3RvcmUiOjEuMCwibm90aWZfc2V0dGluZ3NfZGlzYWJsZV9vbGRfc3RvcmVfd3JpdGUiOjEuMCwibm90aWZfc2V0dGluZ3NfZGlzYWJsZV9vbGRfc3RvcmVfcmVhZCI6MS4wLCJjaGVja291dC1lbmFibGUtcmlza3NkayI6MS4wLCJjaGVja291dC1lbmFibGUtcmlza3Nkay1mb3ItaW5pdGlhbC1wdXJjaGFzZSI6MS4wLCJlbmFibGVfbWV0YWRlZmVuZGVyX2NoZWNrX2Zvcl9hZ3JlZW1lbnQiOjEuMCwic2hvd19kb3dubG9hZF95aWVsZF9jdXJ2ZXNfZGF0YSI6MS4wLCJtb3ZlX2tleV90ZW5vcnNfdG9fc2V0dGluZ3MiOjEuMCwic2hvd195aWVsZF9jdXJ2ZXNfbWFwIjoxLjAsImRpc2FibGVfd2lkZ2V0YmFyX2luX2FwcHMiOjEuMCwiaGlkZV9wdWJsaWNhdGlvbnNfb2ZfYmFubmVkX3VzZXJzIjoxLjAsImVuYWJsZV9zdW1tYXJ5X3VwZGF0ZXNfZnJvbV9jaGFydF9zZXNzaW9uIjoxLjAsInNob3dfbmV3c19mbG93X3Rvb2xfcmlnaHRfYmFyIjoxLjAsImVuYWJsZV9jaGFydF9zYXZpbmdfc3RhdHMiOjEuMCwiZW5hYmxlX3NhdmluZ19zYW1lX2NoYXJ0X3JhdGVfbGltaXQiOjEuMCwibmV3c19hbGVydHNfZW5hYmxlZCI6MS4wLCJuZXdzX211bHRpcGxlX2FsZXJ0c19lbmFibGVkIjoxLjAsInJlZnVuZF91bnZvaWRhYmxlX2NvdXBvbnNfZW5hYmxlZCI6MS4wLCJlbmFibGVfc25vd3Bsb3dfZW1haWxfdHJhY2tpbmciOjEuMCwibmV3c19lbmFibGVfc2VudGltZW50IjoxLjAsInVzZV9pbl9zeW1ib2xfc2VhcmNoX29wdGlvbnNfbWN4X2V4Y2hhbmdlIjoxLjAsImVuYWJsZV91c2Vyc2V0dGluZ3Nfc3ltYm9sc19wZXJfcm93X3NvZnRfbGltaXQiOjAuMSwiZm9yYmlkX2xvZ2luX3dpdGhfcHduZWRfcGFzc3dvcmRzIjoxLjAsImRlYnVnX2dldF90ZXN0X2JhcnNfZGF0YSI6MS4wLCJuZXdzX3VzZV9tZWRpYXRvcl9zdG9yeSI6MS4wLCJuZXdzX2Zsb3dfcmVjb25maWd1cmVfZmlsdGVycyI6MS4wLCJibGFja19mcmlkYXlfZW5hYmxlX3NraXBfdG9fcGF5bWVudCI6MS4wLCJoaWRlX3RyYWRpbmdfYnV0dG9uX29uX2JvdHRvbV9wYW5lbF9hbmRfcmVwbGF5X3RhYiI6MS4wLCJoaWRlX3RyYWRlX2J1dHRvbl9oaW50X2luX2hlYWRlcl90b29sYmFyIjoxLjAsImhpZGVfc2VlX29uX3N1cGVyX2NoYXJ0c19idXR0b24iOjEuMCwiaGlkZV9zeW1ib2xfcGFnZV9jaGFydF90eXBlX3N3aXRjaGVyIjoxLjAsImRpc2FibGVfY2hhdF9zcGFtX3Byb3RlY3Rpb25fZm9yX3ByZW1pdW1fdXNlcnMiOjEuMCwiZGlzYWJsZV9wdWJsaWNfcGluZV9zY3JpcHRfcHVibGlzaF9saW1pdHMiOjEuMCwibWFrZV90cmFkaW5nX3BhbmVsX2NvbnRleHR1YWxfdGFiIjoxLjAsInJlY29ubmVjdF9nYWluX3Nlc3Npb25fb25fbHNfZXJyb3IiOjEuMCwiY2hlY2tvdXQtZmxvdy1wYXltZW50cyI6MS4wLCJmb3JjZV90b19jb21wbGV0ZV9reWMiOjEuMCwiaW5kaWFfZXhjbHVkZV9icmFpbnRyZWVfdGFiIjoxLjAsIm1hY3JvX21hcHNfaGlkZV90b29sdGlwX2NoYXJ0X2J1dHRvbiI6MS4wLCJmb3JjZV9reWNfZm9yX25vbnByb19wdXJjaGFzZV9ieV9jb21tZXJjaWFsIjoxLjAsInNob3dfc3BsaXRfcGFuZWxfZnVsbHNjcmVlbl9idXR0b24iOjEuMCwic2hvd19zcGxpdF9wYW5lbF9tb3ZlX2J1dHRvbl90b190aXRsZSI6MS4wLCJvcmRlcl9wcmVzZXRzX2NydWRfc3RvcmFnZSI6MS4wLCJvcmRlcl9wcmVzZXRzX3JlbW92ZV9mcm9tX3R2X3NldHRpbmdzIjoxLjAsImNoZWNrb3V0LWZsb3ctdHJpYWwiOjEuMCwiY2hlY2tvdXQtZmxvdy1nb29nbGVwYXkiOjEuMCwiY2hlY2tvdXQtZmxvdy1hcHBsZXBheSI6MS4wLCJjaGVja291dC1mbG93LXBheXBhbCI6MS4wLCJmb3JiaWRfc2lnbnVwX3dpdGhfZmFrZV9nbWFpbF9kb21haW5zIjoxLjAsInNob3dfaW1wb3J0X2Zyb21fcGFwZXJfdHJhZGluZ19idXR0b24iOjEuMCwic3ltYm9sX3NlYXJjaF9ncm91cGluZyI6MS4wLCJjaGVja291dC1mbG93LWdvb2dsZXBheS10cmlhbCI6MS4wLCJjaGVja291dC1mbG93LWFwcGxlcGF5LXRyaWFsIjoxLjAsImNoZWNrb3V0LWZsb3ctcGF5cGFsLXRyaWFsIjoxLjAsInZvaWRfbm90X2ZvdW5kX2Nrb19wYXltZW50X2luX2FwcHJvdmVkX3dlYmhvb2siOjEuMCwic2hvd19wYW5lbF9jb2xsYXBzZV9idXR0b24iOjEuMCwiZGVsYXlfc3RhdHVzX29uX2xhc3RfYmFyIjowLjN9Owp3aW5kb3cuaW5pdERhdGEgPSB7fTsKCQl3aW5kb3cuUzNfTE9HT19TRVJWSUNFX0JBU0VfVVJMID0gImh0dHBzOi8vczMtc3ltYm9sLWxvZ28udHJhZGluZ3ZpZXcuY29tLyI7Cgp3aW5kb3cuaW5pdERhdGEgPSB7IndpZGdldERlZmF1bHRzIjp7IndpZHRoIjoxMDAwLCJoZWlnaHQiOjUwMCwic3ltYm9scyI6W1siQXBwbGUiLCJBQVBMfDFEIl0sWyJHb29nbGUiLCJHT09HTHwxRCJdLFsiTWljcm9zb2Z0IiwiTVNGVHwxRCJdXSwiYXV0b3NpemUiOmZhbHNlLCJjaGFydE9ubHkiOmZhbHNlLCJoaWRlRGF0ZVJhbmdlcyI6ZmFsc2UsImhpZGVNYXJrZXRTdGF0dXMiOmZhbHNlLCJoaWRlU3ltYm9sTG9nbyI6ZmFsc2UsInNjYWxlUG9zaXRpb24iOiJyaWdodCIsInNjYWxlTW9kZSI6Ik5vcm1hbCIsImZvbnRGYW1pbHkiOiItYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFRyZWJ1Y2hldCBNUywgUm9ib3RvLCBVYnVudHUsIHNhbnMtc2VyaWYiLCJmb250U2l6ZSI6IjEwIiwibm9UaW1lU2NhbGUiOmZhbHNlLCJjaGFydFR5cGUiOiJhcmVhIiwidmFsdWVzVHJhY2tpbmciOiIwIiwiY2hhbmdlTW9kZSI6InByaWNlLWFuZC1wZXJjZW50IiwiZ3JpZExpbmVDb2xvciI6InJnYmEoNDIgLDQ2LCA1NywgMC4wNikiLCJmb250Q29sb3IiOiIjNzA3MDcwIiwiY29sb3JUaGVtZSI6ImxpZ2h0IiwibG9jYWxlIjoiZW4ifX07CgkJd2luZG93LmluaXREYXRhLmN1cnJlbnRMb2NhbGVJbmZvID0geyJsYW5ndWFnZSI6ImVuIiwibGFuZ3VhZ2VfbmFtZSI6IkVuZ2xpc2giLCJmbGFnIjoidXMiLCJnZW9pcF9jb2RlIjoidXMiLCJpc28iOiJlbiIsImlzb182MzlfMyI6ImVuZyIsImdsb2JhbF9uYW1lIjoiRW5nbGlzaCIsImlzX29ubHlfcmVjb21tZW5kZWRfdHdfYXV0b3JlcG9zdCI6dHJ1ZX07CgkJd2luZG93LmluaXREYXRhLnNldHRpbmdzID0geydTM19MT0dPX1NFUlZJQ0VfQkFTRV9VUkwnOiAnaHR0cHM6Ly9zMy1zeW1ib2wtbG9nby50cmFkaW5ndmlldy5jb20vJywgJ1MzX05FV1NfSU1BR0VfU0VSVklDRV9CQVNFX1VSTCc6ICdodHRwczovL3MzLnRyYWRpbmd2aWV3LmNvbS9uZXdzLycsICdXRUJQQUNLX1NUQVRJQ19QQVRIJzogJ2h0dHBzOi8vc3RhdGljLnRyYWRpbmd2aWV3LmNvbS9zdGF0aWMvYnVuZGxlcy8nLCAnVFJBRElOR19VUkxTJzogeydmcmVlJzogJ2h0dHBzOi8vcGFwZXJ0cmFkaW5nLWZyZWUudHJhZGluZ3ZpZXcuY29tJywgJ3Bybyc6ICdodHRwczovL3BhcGVydHJhZGluZy50cmFkaW5ndmlldy5jb20nfSwgJ0NPTlRFU1RTX1VSTCc6ICcvcGFwZXItdHJhZGluZycsICdDUlVEX1NUT1JBR0VfVVJMJzogJ2h0dHBzOi8vY3J1ZC1zdG9yYWdlLnRyYWRpbmd2aWV3LmNvbSd9Ozwvc2NyaXB0PgoKCTxzY3JpcHQgbm9uY2U9InVKQnhQNzVYbWx0bG81ZXV6dWdZR2c9PSI+CgkJKCgpPT57InVzZSBzdHJpY3QiO2NvbnN0IGU9e3doaXRlbGFiZWw6ITAscGVybWlzc2lvbk92ZXJyaWRlczohMCxsaW5rQ2FwdHVyaW5nQWxsb3dlZDohMCxzeW1ib2xfc2VhcmNoX2RlZmF1bHRfZXhjaGFuZ2U6ITAsc3ltYm9sX3NlYXJjaF9hbGxvd2VkX2V4Y2hhbmdlczohMH07Y29uc3QgdD13aW5kb3c7dC5pbml0RGF0YT10LmluaXREYXRhfHx7fTtjb25zdCBhPS9cKy9nLG49LzxcLz9bXj5dKyg+fCQpL2cscz1lPT5kZWNvZGVVUklDb21wb25lbnQoZS5yZXBsYWNlKGEsIiAiKSkucmVwbGFjZShuLCIiKSxvPXQubG9jYXRpb24uc2VhcmNoLnN1YnN0cmluZygxKSxjPS8oW14mPV0rKT0/KFteJl0qKS9nLGk9e307bGV0IGwscj1jLmV4ZWMobyk7Zm9yKDtudWxsIT09cjspaVtzKHJbMV0pXT1zKHJbMl0pLHI9Yy5leGVjKG8pO3RyeXtsPUpTT04ucGFyc2UoZGVjb2RlVVJJQ29tcG9uZW50KHQubG9jYXRpb24uaGFzaC5zdWJzdHJpbmcoMSkpKSwib2JqZWN0Ij09dHlwZW9mIGwmJm51bGwhPT1sfHwobD17fSl9Y2F0Y2goZSl7bD17fX12YXIgaDt0LmluaXREYXRhLnF1ZXJ5U2V0dGluZ3M9aSx0LmluaXREYXRhLmhhc2hTZXR0aW5ncz0oaD1sLE9iamVjdC5rZXlzKGgpLmZvckVhY2goKHQ9PntlW3RdJiZkZWxldGUgaFt0XX0pKSxoKX0pKCk7Cgk8L3NjcmlwdD4KCgk8c2NyaXB0IG5vbmNlPSJ1SkJ4UDc1WG1sdGxvNWV1enVnWUdnPT0iPndpbmRvdy5TU19IT1NUID0gInN5bWJvbC1zZWFyY2gudHJhZGluZ3ZpZXcuY29tIjsKCQl3aW5kb3cuV0lER0VUX1NIRVJJRkZfSE9TVCA9ICJodHRwczovL3dpZGdldC1zaGVyaWZmLnRyYWRpbmd2aWV3LXdpZGdldC5jb20iOwoJCXdpbmRvdy5pc19hdXRoZW50aWNhdGVkID0gZmFsc2U7CgoJd2luZG93LlBJTkVfVVJMID0gJ2h0dHBzOi8vcGluZS1mYWNhZGUudHJhZGluZ3ZpZXcuY29tL3BpbmUtZmFjYWRlJzsKCgkJd2luZG93LmxvY2FsZV9kb21haW5zID0geyJlbiI6Ind3dy50cmFkaW5ndmlldy5jb20iLCJhcl9BRSI6ImFyLnRyYWRpbmd2aWV3LmNvbSIsImJyIjoiYnIudHJhZGluZ3ZpZXcuY29tIiwiZGVfREUiOiJkZS50cmFkaW5ndmlldy5jb20iLCJlcyI6ImVzLnRyYWRpbmd2aWV3LmNvbSIsImZyIjoiZnIudHJhZGluZ3ZpZXcuY29tIiwiaGVfSUwiOiJpbC50cmFkaW5ndmlldy5jb20iLCJpZCI6ImlkLnRyYWRpbmd2aWV3LmNvbSIsImluIjoiaW4udHJhZGluZ3ZpZXcuY29tIiwiaXQiOiJpdC50cmFkaW5ndmlldy5jb20iLCJqYSI6ImpwLnRyYWRpbmd2aWV3LmNvbSIsImtyIjoia3IudHJhZGluZ3ZpZXcuY29tIiwibXNfTVkiOiJteS50cmFkaW5ndmlldy5jb20iLCJwbCI6InBsLnRyYWRpbmd2aWV3LmNvbSIsInJ1IjoicnUudHJhZGluZ3ZpZXcuY29tIiwidGhfVEgiOiJ0aC50cmFkaW5ndmlldy5jb20iLCJ0ciI6InRyLnRyYWRpbmd2aWV3LmNvbSIsInZpX1ZOIjoidm4udHJhZGluZ3ZpZXcuY29tIiwiemhfQ04iOiJjbi50cmFkaW5ndmlldy5jb20iLCJ6aF9UVyI6InR3LnRyYWRpbmd2aWV3LmNvbSIsImNhX0VTIjoiZXMudHJhZGluZ3ZpZXcuY29tIn07CgoJCQl3aW5kb3cuX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzID0gd2luZG93Ll9faW5pdGlhbEVuYWJsZWRGZWF0dXJlc2V0cyB8fCBbXTsKCQkJCXdpbmRvdy5fX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMucHVzaCgnd2lkZ2V0Jyk7CgoJCXdpbmRvdy5UcmFkaW5nVmlldyA9IHdpbmRvdy5UcmFkaW5nVmlldyB8fCB7fTsKPC9zY3JpcHQ+CgoJPHNjcmlwdCBub25jZT0idUpCeFA3NVhtbHRsbzVldXp1Z1lHZz09Ij52YXIgZW52aXJvbm1lbnQgPSAiYmF0dGxlIjsKCQl3aW5kb3cuQlVJTERfVElNRSA9ICIyMDI2LTA3LTI0VDExOjQwOjA4IjsKCQl3aW5kb3cuV0VCU09DS0VUX0hPU1QgPSAid2lkZ2V0ZGF0YS50cmFkaW5ndmlldy5jb20iOwoJCXdpbmRvdy5XRUJTT0NLRVRfSE9TVF9GT1JfUkVDT05ORUNUID0gIndpZGdldGRhdGEtYmFja3VwLnRyYWRpbmd2aWV3LmNvbSI7CgkJd2luZG93LnVzZXIgPSB7J3VzZXJuYW1lJzogJ0d1ZXN0JywgJ2ZvbGxvd2luZyc6ICcwJywgJ2ZvbGxvd2Vycyc6ICcwJywgJ2lnbm9yZV9saXN0Jzoge30sICdkb19ub3RfdHJhY2snOiB0cnVlfTs8L3NjcmlwdD4KCTxzY3JpcHQgbm9uY2U9InVKQnhQNzVYbWx0bG81ZXV6dWdZR2c9PSI+bGV0IHBhcmFtcyA9IHt9OwoJCQljb25zdCBodHRwUmVnID0gbmV3IFJlZ0V4cCgnXmh0dHAocyk/Oi8vJyk7CgoJCQl0cnkgewoJCQkJcGFyYW1zID0gSlNPTi5wYXJzZShkZWNvZGVVUklDb21wb25lbnQobG9jYXRpb24uaGFzaC5zdWJzdHJpbmcoMSkpKTsKCQkJfSBjYXRjaCAoZSkgewoJCQkJcGFyYW1zID0ge307CgkJCX0KCgkJCXdpbmRvdy5XRUJTT0NLRVRfUEFSQU1TX0FOQUxZVElDUyA9IHsKCQkJCSd3c19hbmNlc3Rvcl9vcmlnaW4nOiB3aW5kb3cubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zICYmIHdpbmRvdy5sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnMubGVuZ3RoID8gd2luZG93LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2luc1t3aW5kb3cubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zLmxlbmd0aCAtIDFdLnJlcGxhY2UoaHR0cFJlZywgJycpIDogbnVsbCwKCQkJCSd3c19wYWdlX3VyaSc6IHBhcmFtc1sncGFnZS11cmknXSwKCQkJfTsoKCk9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZShlLHQ9ITEpe2NvbnN0e3NlYXJjaFBhcmFtczpufT1uZXcgVVJMKFN0cmluZyhsb2NhdGlvbikpO2xldCBzPSJ0cnVlIj09PW4uZ2V0KCJtb2JpbGVhcHBfbmV3Iiksbz0idHJ1ZSI9PT1uLmdldCgibW9iaWxlYXBwIik7aWYoIXQpe2NvbnN0IGU9ZnVuY3Rpb24oZSl7Y29uc3QgdD1lKyI9IixuPWRvY3VtZW50LmNvb2tpZS5zcGxpdCgiOyIpO2ZvcihsZXQgZT0wO2U8bi5sZW5ndGg7ZSsrKXtsZXQgcz1uW2VdO2Zvcig7IiAiPT09cy5jaGFyQXQoMCk7KXM9cy5zdWJzdHJpbmcoMSxzLmxlbmd0aCk7aWYoMD09PXMuaW5kZXhPZih0KSlyZXR1cm4gcy5zdWJzdHJpbmcodC5sZW5ndGgscy5sZW5ndGgpfXJldHVybiBudWxsfSgidHZfYXBwIil8fCIiO3N8fD1bImFuZHJvaWQiLCJhbmRyb2lkX25wcyJdLmluY2x1ZGVzKGUpLG98fD0iaW9zIj09PWV9cmV0dXJuISgibmV3IiE9PWUmJiJhbnkiIT09ZXx8IXMpfHwhKCJuZXciPT09ZXx8IW8pfWNvbnN0IHQ9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJiJ1bmRlZmluZWQiIT10eXBlb2YgbmF2aWdhdG9yLG49dCYmIm9udG91Y2hzdGFydCJpbiB3aW5kb3cscz0odCYmbiYmd2luZG93LHQmJihufHxuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMpLHQmJndpbmRvdy5jaHJvbWUmJndpbmRvdy5jaHJvbWUucnVudGltZSx0JiZ3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoImZpcmVmb3giKSx0JiYvXHNFZGdlXC9cZFxkXGIvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksdCYmQm9vbGVhbihuYXZpZ2F0b3IudmVuZG9yKSYmbmF2aWdhdG9yLnZlbmRvci5pbmRleE9mKCJBcHBsZSIpPi0xJiYtMT09PW5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiQ3JpT1MiKSYmbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCJGeGlPUyIpLHQmJi9tYWMvaS50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSksdCYmL1dpbjMyfFdpbjY0L2kudGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pLHQmJi9MaW51eC9pLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSx0JiYvQW5kcm9pZC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkpLG89dCYmL0JsYWNrQmVycnkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGk9dCYmL2lQaG9uZXxpUGFkfGlQb2QvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSxyPXQmJi9PcGVyYSBNaW5pL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSxjPXQmJigiTWFjSW50ZWwiPT09bmF2aWdhdG9yLnBsYXRmb3JtJiZuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHM+MXx8L2lQYWQvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSksYT1zfHxvfHxpfHxyO2NvbnN0IF89bmV3IE1hcDtmdW5jdGlvbiBkKCl7Y29uc3QgZT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsdD13aW5kb3cubG9jYXRpb24uaG9zdCxuPWAke3R9JHtlfWA7cmV0dXJuIF8uaGFzKG4pfHxfLnNldChuLGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj1bIl53aWRnZXQtZG9jcyJdO2Zvcihjb25zdCBlIG9mIG4paWYobmV3IFJlZ0V4cChlKS50ZXN0KHQpKXJldHVybiEwO2NvbnN0IHM9WyJed2lkZ2V0ZW1iZWQvPyQiLCJeY21ld2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL3dpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS93aWRnZXRzdGF0aWMvPyQiLCJeKFswLTlhLXpBLVotXSspPy8/bWVkaXVtd2lkZ2V0ZW1iZWQvPyQiLCJedHdpdHRlci1jaGFydC8/JCIsIl50ZWxlZ3JhbS9jaGFydC8/JCIsIl5lbWJlZC8oWzAtOWEtekEtWl17OH0pLz8kIiwiXndpZGdldHBvcHVwLz8kIiwiXmV4dGVuc2lvbi8/JCIsIl5pZGVhLXBvcHVwLz8kIiwiXmhvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL2hvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvbWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl5ldmVudHN3aWRnZXRlbWJlZC8/JCIsIl50aWNrZXJzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhjcm9zc3JhdGVzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhoZWF0bWFwd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0cXVvdGVzd2lkZ2V0ZW1iZWQvPyQiLCJec2NyZWVuZXJ3aWRnZXQvPyQiLCJeY3J5cHRvbWt0c2NyZWVuZXJ3aWRnZXQvPyQiLCJeKFswLTlhLXpBLVotXSspL2NyeXB0b21rdHNjcmVlbmVyd2lkZ2V0Lz8kIiwiXihbMC05YS16QS1aLV0rKS9tYXJrZXRxdW90ZXN3aWRnZXRlbWJlZC8/JCIsIl50ZWNobmljYWwtYW5hbHlzaXMtd2lkZ2V0LWVtYmVkLyQiLCJec2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvc2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl5lbWJlZC13aWRnZXQvKFswLTlhLXpBLVotXSspLygoWzAtOWEtekEtWi1dKykvKT8kIiwiXndpZGdldC1kb2NzLyhbMC05YS16QS1aLV0rKS8oWzAtOWEtekEtWi0vXSspPyQiXSxvPWUucmVwbGFjZSgvXlwvLywiIik7bGV0IGk7Zm9yKGxldCBlPXMubGVuZ3RoLTE7ZT49MDtlLS0paWYoaT1uZXcgUmVnRXhwKHNbZV0pLGkudGVzdChvKSlyZXR1cm4hMDtyZXR1cm4hMX0oZSx0KSksXy5nZXQobik/PyExfWNvbnN0IGg9d2luZG93LlRyYWRpbmdWaWV3PXdpbmRvdy5UcmFkaW5nVmlld3x8e307Y29uc3QgbD17QW5kcm9pZDooKT0+cyxCbGFja0JlcnJ5OigpPT5vLGlPUzooKT0+aSxPcGVyYTooKT0+cixpc0lQYWQ6KCk9PmMsYW55OigpPT5hfTtoLmlzTW9iaWxlPWwsaC5vbldpZGdldD1kO2NvbnN0IHU9KCk9Pnt9LGc9In5tfiI7Y2xhc3MgbXtjb25zdHJ1Y3RvcihlLHQ9e30pe3RoaXMuc2Vzc2lvbmlkPW51bGwsdGhpcy5jb25uZWN0ZWQ9ITEsdGhpcy5fdGltZW91dD1udWxsLHRoaXMuX2Jhc2U9ZSx0aGlzLl9vcHRpb25zPXt0aW1lb3V0OnQudGltZW91dHx8MmU0LGNvbm5lY3Rpb25UeXBlOnQuY29ubmVjdGlvblR5cGUsYXBpS2V5OnQuYXBpS2V5fX1jb25uZWN0KCl7dGhpcy5fc29ja2V0PW5ldyBXZWJTb2NrZXQodGhpcy5fcHJlcGFyZVVybCgpKSwKdGhpcy5fc29ja2V0Lm9ubWVzc2FnZT1lPT57aWYoInN0cmluZyIhPXR5cGVvZiBlLmRhdGEpdGhyb3cgbmV3IFR5cGVFcnJvcihgVGhlIFdlYlNvY2tldCBtZXNzYWdlIHNob3VsZCBiZSBhIHN0cmluZy4gUmVjaWV2ZWQgJHtPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZS5kYXRhKX1gKTt0aGlzLl9vbkRhdGEoZS5kYXRhKX0sdGhpcy5fc29ja2V0Lm9uY2xvc2U9dGhpcy5fb25DbG9zZS5iaW5kKHRoaXMpLHRoaXMuX3NvY2tldC5vbmVycm9yPXRoaXMuX29uRXJyb3IuYmluZCh0aGlzKX1zZW5kKGUpe3RoaXMuX3NvY2tldCYmdGhpcy5fc29ja2V0LnNlbmQodGhpcy5fZW5jb2RlKGUpKX1kaXNjb25uZWN0KCl7dGhpcy5fY2xlYXJJZGxlVGltZW91dCgpLHRoaXMuX3NvY2tldCYmKHRoaXMuX3NvY2tldC5vbm1lc3NhZ2U9dSx0aGlzLl9zb2NrZXQub25jbG9zZT11LHRoaXMuX3NvY2tldC5vbmVycm9yPXUsdGhpcy5fc29ja2V0LmNsb3NlKCkpfV9jbGVhcklkbGVUaW1lb3V0KCl7bnVsbCE9PXRoaXMuX3RpbWVvdXQmJihjbGVhclRpbWVvdXQodGhpcy5fdGltZW91dCksdGhpcy5fdGltZW91dD1udWxsKX1fZW5jb2RlKGUpe2xldCB0LG49IiI7Y29uc3Qgcz1BcnJheS5pc0FycmF5KGUpP2U6W2VdLG89cy5sZW5ndGg7Zm9yKGxldCBlPTA7ZTxvO2UrKyl0PW51bGw9PT1zW2VdfHx2b2lkIDA9PT1zW2VdPyIiOm0uX3N0cmluZ2lmeShzW2VdKSxuKz1nK3QubGVuZ3RoK2crdDtyZXR1cm4gbn1fZGVjb2RlKGUpe2NvbnN0IHQ9W107bGV0IG4scztkb3tpZihlLnN1YnN0cmluZygwLDMpIT09ZylyZXR1cm4gdDtuPSIiLHM9IiI7Y29uc3Qgbz0oZT1lLnN1YnN0cmluZygzKSkubGVuZ3RoO2ZvcihsZXQgdD0wO3Q8bzt0Kyspe2lmKHM9TnVtYmVyKGUuc3Vic3RyaW5nKHQsdCsxKSksTnVtYmVyKGUuc3Vic3RyaW5nKHQsdCsxKSkhPT1zKXtlPWUuc3Vic3RyaW5nKG4ubGVuZ3RoKzMpLG49TnVtYmVyKG4pO2JyZWFrfW4rPXN9dC5wdXNoKGUuc3Vic3RyaW5nKDAsbikpLGU9ZS5zdWJzdHJpbmcobil9d2hpbGUoIiIhPT1lKTtyZXR1cm4gdH1fb25EYXRhKGUpe3RoaXMuX3NldFRpbWVvdXQoKTtjb25zdCB0PXRoaXMuX2RlY29kZShlKSxuPXQubGVuZ3RoO2ZvcihsZXQgZT0wO2U8bjtlKyspdGhpcy5fb25NZXNzYWdlKHRbZV0pfV9zZXRUaW1lb3V0KCl7dGhpcy5fY2xlYXJJZGxlVGltZW91dCgpLHRoaXMuX3RpbWVvdXQ9c2V0VGltZW91dCh0aGlzLl9vblRpbWVvdXQuYmluZCh0aGlzKSx0aGlzLl9vcHRpb25zLnRpbWVvdXQpfV9vblRpbWVvdXQoKXt0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLl9vbkRpc2Nvbm5lY3Qoe2NvZGU6NGUzLHJlYXNvbjoic29ja2V0LmlvIHRpbWVvdXQiLHdhc0NsZWFuOiExfSl9X29uTWVzc2FnZShlKXt0aGlzLnNlc3Npb25pZD90aGlzLl9jaGVja0lmSGVhcnRiZWF0KGUpP3RoaXMuX29uSGVhcnRiZWF0KGUuc2xpY2UoMykpOnRoaXMuX2NoZWNrSWZKc29uKGUpP3RoaXMuX2Jhc2Uub25NZXNzYWdlKEpTT04ucGFyc2UoZS5zbGljZSgzKSkpOnRoaXMuX2Jhc2Uub25NZXNzYWdlKGUpOih0aGlzLnNlc3Npb25pZD1lLHRoaXMuX29uQ29ubmVjdCgpKX1fY2hlY2tJZkhlYXJ0YmVhdChlKXtyZXR1cm4gdGhpcy5fY2hlY2tNZXNzYWdlVHlwZShlLCJoIil9X2NoZWNrSWZKc29uKGUpe3JldHVybiB0aGlzLl9jaGVja01lc3NhZ2VUeXBlKGUsImoiKX1fY2hlY2tNZXNzYWdlVHlwZShlLHQpe3JldHVybiBlLnN1YnN0cmluZygwLDMpPT09In4iK3QrIn4ifV9vbkhlYXJ0YmVhdChlKXt0aGlzLnNlbmQoIn5ofiIrZSl9X29uQ29ubmVjdCgpe3RoaXMuY29ubmVjdGVkPSEwLHRoaXMuX2Jhc2Uub25Db25uZWN0KCl9X29uRGlzY29ubmVjdChlKXt0aGlzLl9jbGVhcigpLHRoaXMuX2Jhc2Uub25EaXNjb25uZWN0KGUpLHRoaXMuc2Vzc2lvbmlkPW51bGx9X2NsZWFyKCl7dGhpcy5jb25uZWN0ZWQ9ITF9X3ByZXBhcmVVcmwoKXtjb25zdCB0PWsodGhpcy5fYmFzZS5ob3N0KTtpZih0LnBhdGhuYW1lKz0ic29ja2V0LmlvL3dlYnNvY2tldCIsdC5wcm90b2NvbD0id3NzOiIsdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJmcm9tIix3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc2xpY2UoMSw1MCkpLHQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiZGF0ZSIsd2luZG93LkJVSUxEX1RJTUV8fCIiKSxlKCJhbnkiKSYmdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJjbGllbnQiLCJtb2JpbGUiKSx0aGlzLl9vcHRpb25zLmNvbm5lY3Rpb25UeXBlJiZ0LnNlYXJjaFBhcmFtcy5hcHBlbmQoInR5cGUiLHRoaXMuX29wdGlvbnMuY29ubmVjdGlvblR5cGUpLHdpbmRvdy5XRUJTT0NLRVRfUEFSQU1TX0FOQUxZVElDUyl7Y29uc3R7d3NfcGFnZV91cmk6ZSx3c19hbmNlc3Rvcl9vcmlnaW46bn09d2luZG93LldFQlNPQ0tFVF9QQVJBTVNfQU5BTFlUSUNTO2UmJnQuc2VhcmNoUGFyYW1zLmFwcGVuZCgicGFnZS11cmkiLGUpLG4mJnQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiYW5jZXN0b3Itb3JpZ2luIixuKX1jb25zdCBuPXdpbmRvdy5sb2NhdGlvbi5zZWFyY2guaW5jbHVkZXMoIndpZGdldF90b2tlbiIpfHx3aW5kb3cubG9jYXRpb24uaGFzaC5pbmNsdWRlcygid2lkZ2V0X3Rva2VuIik7cmV0dXJuIGQoKXx8bnx8dC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJhdXRoIiwic2Vzc2lvbmlkIiksdm9pZCAwIT09dGhpcy5fb3B0aW9ucy5hcGlLZXkmJnQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiYXBpX2tleSIsdGhpcy5fb3B0aW9ucy5hcGlLZXkpLHQuaHJlZn1fb25DbG9zZShlKXt0aGlzLl9jbGVhcklkbGVUaW1lb3V0KCksdGhpcy5fb25EaXNjb25uZWN0KGUpfV9vbkVycm9yKGUpe3RoaXMuX2NsZWFySWRsZVRpbWVvdXQoKSx0aGlzLl9jbGVhcigpLHRoaXMuX2Jhc2UuZW1pdCgiZXJyb3IiLFtlXSksdGhpcy5zZXNzaW9uaWQ9bnVsbH1zdGF0aWMgX3N0cmluZ2lmeShlKXtyZXR1cm4iW29iamVjdCBPYmplY3RdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKT8ifmp+IitKU09OLnN0cmluZ2lmeShlKTpTdHJpbmcoZSl9fWNsYXNzIHd7Y29uc3RydWN0b3IoZSx0KXt0aGlzLmhvc3Q9ZSwKdGhpcy5fY29ubmVjdGluZz0hMSx0aGlzLl9ldmVudHM9e30sdGhpcy50cmFuc3BvcnQ9dGhpcy5fZ2V0VHJhbnNwb3J0KHQpfWlzQ29ubmVjdGVkKCl7cmV0dXJuISF0aGlzLnRyYW5zcG9ydCYmdGhpcy50cmFuc3BvcnQuY29ubmVjdGVkfWlzQ29ubmVjdGluZygpe3JldHVybiB0aGlzLl9jb25uZWN0aW5nfWNvbm5lY3QoKXt0aGlzLmlzQ29ubmVjdGVkKCl8fCh0aGlzLl9jb25uZWN0aW5nJiZ0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLl9jb25uZWN0aW5nPSEwLHRoaXMudHJhbnNwb3J0LmNvbm5lY3QoKSl9c2VuZChlKXt0aGlzLnRyYW5zcG9ydCYmdGhpcy50cmFuc3BvcnQuY29ubmVjdGVkJiZ0aGlzLnRyYW5zcG9ydC5zZW5kKGUpfWRpc2Nvbm5lY3QoKXt0aGlzLnRyYW5zcG9ydCYmdGhpcy50cmFuc3BvcnQuZGlzY29ubmVjdCgpfW9uKGUsdCl7ZSBpbiB0aGlzLl9ldmVudHN8fCh0aGlzLl9ldmVudHNbZV09W10pLHRoaXMuX2V2ZW50c1tlXS5wdXNoKHQpfW9mZkFsbCgpe3RoaXMuX2V2ZW50cz17fX1vbk1lc3NhZ2UoZSl7dGhpcy5lbWl0KCJtZXNzYWdlIixbZV0pfWVtaXQoZSx0PVtdKXtpZihlIGluIHRoaXMuX2V2ZW50cyl7Y29uc3Qgbj10aGlzLl9ldmVudHNbZV0uY29uY2F0KCkscz1uLmxlbmd0aDtmb3IobGV0IGU9MDtlPHM7ZSsrKW5bZV0uYXBwbHkodGhpcyx0KX19b25Db25uZWN0KCl7dGhpcy5jbGVhcigpLHRoaXMuZW1pdCgiY29ubmVjdCIpfW9uRGlzY29ubmVjdChlKXt0aGlzLmVtaXQoImRpc2Nvbm5lY3QiLFtlXSl9Y2xlYXIoKXt0aGlzLl9jb25uZWN0aW5nPSExfV9nZXRUcmFuc3BvcnQoZSl7cmV0dXJuIG5ldyBtKHRoaXMsZSl9fWZ1bmN0aW9uIGsoZSl7Y29uc3QgdD0tMSE9PWUuaW5kZXhPZigiLyIpP25ldyBVUkwoZSk6bmV3IFVSTCgid3NzOi8vIitlKTtpZigid3NzOiIhPT10LnByb3RvY29sJiYiaHR0cHM6IiE9PXQucHJvdG9jb2wpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHdlYnNvY2tldCBiYXNlICIrZSk7cmV0dXJuIHQucGF0aG5hbWUuZW5kc1dpdGgoIi8iKXx8KHQucGF0aG5hbWUrPSIvIiksdC5zZWFyY2g9IiIsdC51c2VybmFtZT0iIix0LnBhc3N3b3JkPSIiLHR9dmFyIHAsYjshZnVuY3Rpb24oZSl7ZVtlLk5vcm1hbD0zMDBdPSJOb3JtYWwiLGVbZS5BZnRlckNsb3NlRXZlbnQ9NWUzXT0iQWZ0ZXJDbG9zZUV2ZW50In0ocHx8KHA9e30pKSxmdW5jdGlvbihlKXtlW2UuSW5mbz0wXT0iSW5mbyIsZVtlLk5vcm1hbD0xXT0iTm9ybWFsIixlW2UuRGVidWc9Ml09IkRlYnVnIixlW2UuRXJyb3I9M109IkVycm9yIn0oYnx8KGI9e30pKTtjb25zdCBmPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZOdW1iZXIod2luZG93LlRFTEVNRVRSWV9XU19FUlJPUl9MT0dTX1RIUkVTSE9MRCl8fDA7dmFyIHk7IWZ1bmN0aW9uKGUpe2VbZS5QaW5nSW50ZXJ2YWw9MWU0XT0iUGluZ0ludGVydmFsIixlW2UuTWF4UGluZ3NDb3VudD0xMF09Ik1heFBpbmdzQ291bnQiLGVbZS5NYXhSZWRpcmVjdHM9MjBdPSJNYXhSZWRpcmVjdHMiLGVbZS5NYXhSZWNvbm5lY3RzPTIwXT0iTWF4UmVjb25uZWN0cyJ9KHl8fCh5PXt9KSk7Y2xhc3MgVHtjb25zdHJ1Y3RvcihlLHQ9e30pe3RoaXMuX3F1ZXVlU3RhY2s9W10sdGhpcy5fbG9nc1F1ZXVlPVtdLHRoaXMuX3RlbGVtZXRyeU9iamVjdHNRdWV1ZT1bXSx0aGlzLl9yZWNvbm5lY3RDb3VudD0wLHRoaXMuX3JlZGlyZWN0Q291bnQ9MCx0aGlzLl9lcnJvcnNDb3VudD0wLHRoaXMuX2Vycm9yc0luZm9TZW50PSExLHRoaXMuX2Nvbm5lY3Rpb25TdGFydD1udWxsLHRoaXMuX2Nvbm5lY3Rpb25Fc3RhYmxpc2hlZD1udWxsLHRoaXMuX3JlY29ubmVjdFRpbWVvdXQ9bnVsbCx0aGlzLl9vbmxpbmVDYW5jZWxsYXRpb25Ub2tlbj1udWxsLHRoaXMuX2lzQ29ubmVjdGlvbkZvcmJpZGRlbj0hMSx0aGlzLl9pbml0aWFsSG9zdD10LmluaXRpYWxIb3N0fHxudWxsLHRoaXMuX3N1Z2dlc3RlZEhvc3Q9ZSx0aGlzLl9wcm9Ib3N0PXQucHJvSG9zdCx0aGlzLl9yZWNvbm5lY3RIb3N0PXQucmVjb25uZWN0SG9zdCx0aGlzLl9ub1JlY29ubmVjdEFmdGVyVGltZW91dD0hMD09PXQubm9SZWNvbm5lY3RBZnRlclRpbWVvdXQsdGhpcy5fZGF0YVJlcXVlc3RUaW1lb3V0PXQuZGF0YVJlcXVlc3RUaW1lb3V0LHRoaXMuX2Nvbm5lY3Rpb25UeXBlPXQuY29ubmVjdGlvblR5cGUsdGhpcy5fYXBpS2V5PXQuYXBpS2V5LHRoaXMuX2RvQ29ubmVjdCgpLHQucGluZ1JlcXVpcmVkJiYtMT09PXdpbmRvdy5sb2NhdGlvbi5zZWFyY2guaW5kZXhPZigibm9waW5nIikmJnRoaXMuX3N0YXJ0UGluZygpfWNvbm5lY3QoKXt0aGlzLl90cnlDb25uZWN0KCl9cmVzZXRDb3VudGVycygpe3RoaXMuX3JlY29ubmVjdENvdW50PTAsdGhpcy5fcmVkaXJlY3RDb3VudD0wfXNldExvZ2dlcihlLHQpe3RoaXMuX2xvZ2dlcj1lLHRoaXMuX2dldExvZ0hpc3Rvcnk9dCx0aGlzLl9mbHVzaExvZ3MoKX1zZXRUZWxlbWV0cnkoZSl7dGhpcy5fdGVsZW1ldHJ5PWUsdGhpcy5fdGVsZW1ldHJ5LnJlcG9ydFNlbnQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25UZWxlbWV0cnlTZW50KSx0aGlzLl9mbHVzaFRlbGVtZXRyeSgpfW9uUmVjb25uZWN0KGUpe3RoaXMuX29uUmVjb25uZWN0PWV9aXNDb25uZWN0ZWQoKXtyZXR1cm4hIXRoaXMuX3NvY2tldCYmdGhpcy5fc29ja2V0LmlzQ29ubmVjdGVkKCl9aXNDb25uZWN0aW5nKCl7cmV0dXJuISF0aGlzLl9zb2NrZXQmJnRoaXMuX3NvY2tldC5pc0Nvbm5lY3RpbmcoKX1vbihlLHQpe3JldHVybiEhdGhpcy5fc29ja2V0JiYoImNvbm5lY3QiPT09ZSYmdGhpcy5fc29ja2V0LmlzQ29ubmVjdGVkKCk/dCgpOiJkaXNjb25uZWN0Ij09PWU/dGhpcy5fZGlzY29ubmVjdENhbGxiYWNrcy5wdXNoKHQpOnRoaXMuX3NvY2tldC5vbihlLHQpLCEwKX1nZXRTZXNzaW9uSWQoKXtyZXR1cm4gdGhpcy5fc29ja2V0JiZ0aGlzLl9zb2NrZXQudHJhbnNwb3J0P3RoaXMuX3NvY2tldC50cmFuc3BvcnQuc2Vzc2lvbmlkOm51bGx9c2VuZChlKXtyZXR1cm4gdGhpcy5pc0Nvbm5lY3RlZCgpPyh0aGlzLl9zb2NrZXQuc2VuZChlKSwhMCk6KHRoaXMuX3F1ZXVlTWVzc2FnZShlKSwhMSl9CmdldENvbm5lY3Rpb25Fc3RhYmxpc2hlZCgpe3JldHVybiB0aGlzLl9jb25uZWN0aW9uRXN0YWJsaXNoZWR9Z2V0SG9zdCgpe2NvbnN0IGU9dGhpcy5fdHJ5R2V0UHJvSG9zdCgpO3JldHVybiBudWxsIT09ZT9lOnRoaXMuX3JlY29ubmVjdEhvc3QmJnRoaXMuX3JlY29ubmVjdENvdW50PjM/dGhpcy5fcmVjb25uZWN0SG9zdDp0aGlzLl9zdWdnZXN0ZWRIb3N0fWdldFJlY29ubmVjdENvdW50KCl7cmV0dXJuIHRoaXMuX3JlY29ubmVjdENvdW50fWdldFJlZGlyZWN0Q291bnQoKXtyZXR1cm4gdGhpcy5fcmVkaXJlY3RDb3VudH1nZXRDb25uZWN0aW9uU3RhcnQoKXtyZXR1cm4gdGhpcy5fY29ubmVjdGlvblN0YXJ0fWRpc2Nvbm5lY3QoKXt0aGlzLl9jbGVhclJlY29ubmVjdFRpbWVvdXQoKSwodGhpcy5pc0Nvbm5lY3RlZCgpfHx0aGlzLmlzQ29ubmVjdGluZygpKSYmKHRoaXMuX3Byb3BhZ2F0ZURpc2Nvbm5lY3QoKSx0aGlzLl9kaXNjb25uZWN0Q2FsbGJhY2tzPVtdLHRoaXMuX2Nsb3NlU29ja2V0KCkpfWZvcmJpZENvbm5lY3Rpb24oKXt0aGlzLl9pc0Nvbm5lY3Rpb25Gb3JiaWRkZW49ITAsdGhpcy5kaXNjb25uZWN0KCl9YWxsb3dDb25uZWN0aW9uKCl7dGhpcy5faXNDb25uZWN0aW9uRm9yYmlkZGVuPSExLHRoaXMuY29ubmVjdCgpfWlzTWF4UmVkaXJlY3RzKCl7cmV0dXJuIHRoaXMuX3JlZGlyZWN0Q291bnQ+PTIwfWlzTWF4UmVjb25uZWN0cygpe3JldHVybiB0aGlzLl9yZWNvbm5lY3RDb3VudD49MjB9Z2V0UGluZ0luZm8oKXtyZXR1cm4gdGhpcy5fcGluZ0luZm98fG51bGx9Z2V0QXBpS2V5KCl7cmV0dXJuIHRoaXMuX2FwaUtleX1fdHJ5R2V0UHJvSG9zdCgpe3JldHVybiB3aW5kb3cuVHJhZGluZ1ZpZXcmJndpbmRvdy5UcmFkaW5nVmlldy5vbkNoYXJ0UGFnZSYmImJhdHRsZSI9PT13aW5kb3cuZW52aXJvbm1lbnQmJiF0aGlzLl9yZWRpcmVjdENvdW50JiYtMT09PXdpbmRvdy5sb2NhdGlvbi5ocmVmLmluZGV4T2YoIndzX2hvc3QiKT90aGlzLl9pbml0aWFsSG9zdD90aGlzLl9pbml0aWFsSG9zdDp2b2lkIDAhPT13aW5kb3cudXNlciYmd2luZG93LnVzZXIucHJvX3BsYW4/dGhpcy5fcHJvSG9zdHx8dGhpcy5fc3VnZ2VzdGVkSG9zdDpudWxsOm51bGx9X3F1ZXVlTWVzc2FnZShlKXswPT09dGhpcy5fcXVldWVTdGFjay5sZW5ndGgmJnRoaXMuX2xvZ01lc3NhZ2UoMCwiU29ja2V0IGlzIG5vdCBjb25uZWN0ZWQuIFF1ZXVlZCBhIG1lc3NhZ2UiKSx0aGlzLl9xdWV1ZVN0YWNrLnB1c2goZSl9X3Byb2Nlc3NNZXNzYWdlUXVldWUoKXswIT09dGhpcy5fcXVldWVTdGFjay5sZW5ndGgmJih0aGlzLl9sb2dNZXNzYWdlKDAsIlByb2Nlc3NpbmcgcXVldWVkIG1lc3NhZ2VzIiksdGhpcy5fcXVldWVTdGFjay5mb3JFYWNoKHRoaXMuc2VuZC5iaW5kKHRoaXMpKSx0aGlzLl9sb2dNZXNzYWdlKDAsIlByb2Nlc3NlZCAiK3RoaXMuX3F1ZXVlU3RhY2subGVuZ3RoKyIgbWVzc2FnZXMiKSx0aGlzLl9xdWV1ZVN0YWNrPVtdKX1fb25EaXNjb25uZWN0KGUpe3RoaXMuX25vUmVjb25uZWN0QWZ0ZXJUaW1lb3V0fHxudWxsIT09dGhpcy5fcmVjb25uZWN0VGltZW91dHx8KHRoaXMuX3JlY29ubmVjdFRpbWVvdXQ9c2V0VGltZW91dCh0aGlzLl90cnlSZWNvbm5lY3QuYmluZCh0aGlzKSw1ZTMpKSx0aGlzLl9jbGVhck9ubGluZUNhbmNlbGxhdGlvblRva2VuKCk7bGV0IHQ9ImRpc2Nvbm5lY3Qgc2Vzc2lvbjoiK3RoaXMuZ2V0U2Vzc2lvbklkKCk7ZSYmKHQrPSIsIGNvZGU6IitlLmNvZGUrIiwgcmVhc29uOiIrZS5yZWFzb24sMTAwNT09PWUuY29kZSYmdGhpcy5fc2VuZFRlbGVtZXRyeSgid2Vic29ja2V0X2NvZGVfMTAwNSIpKSx0aGlzLl9sb2dNZXNzYWdlKDAsdCksdGhpcy5fcHJvcGFnYXRlRGlzY29ubmVjdChlKSx0aGlzLl9jbG9zZVNvY2tldCgpLHRoaXMuX3F1ZXVlU3RhY2s9W119X2Nsb3NlU29ja2V0KCl7bnVsbCE9PXRoaXMuX3NvY2tldCYmKHRoaXMuX3NvY2tldC5vZmZBbGwoKSx0aGlzLl9zb2NrZXQuZGlzY29ubmVjdCgpLHRoaXMuX3NvY2tldD1udWxsKX1fbG9nTWVzc2FnZShlLHQpe2NvbnN0IG49e21ldGhvZDplLG1lc3NhZ2U6dH07dGhpcy5fbG9nZ2VyP3RoaXMuX2ZsdXNoTG9nTWVzc2FnZShuKToobi5tZXNzYWdlPWBbJHsobmV3IERhdGUpLnRvSVNPU3RyaW5nKCl9XSAke24ubWVzc2FnZX1gLHRoaXMuX2xvZ3NRdWV1ZS5wdXNoKG4pKX1fZmx1c2hMb2dNZXNzYWdlKGUpe3N3aXRjaChlLm1ldGhvZCl7Y2FzZSAyOnRoaXMuX2xvZ2dlci5sb2dEZWJ1ZyhlLm1lc3NhZ2UpO2JyZWFrO2Nhc2UgMzp0aGlzLl9sb2dnZXIubG9nRXJyb3IoZS5tZXNzYWdlKTticmVhaztjYXNlIDA6dGhpcy5fbG9nZ2VyLmxvZ0luZm8oZS5tZXNzYWdlKTticmVhaztjYXNlIDE6dGhpcy5fbG9nZ2VyLmxvZ05vcm1hbChlLm1lc3NhZ2UpfX1fZmx1c2hMb2dzKCl7dGhpcy5fZmx1c2hMb2dNZXNzYWdlKHttZXRob2Q6MSxtZXNzYWdlOiJtZXNzYWdlcyBmcm9tIHF1ZXVlLiBTdGFydC4ifSksdGhpcy5fbG9nc1F1ZXVlLmZvckVhY2goKGU9Pnt0aGlzLl9mbHVzaExvZ01lc3NhZ2UoZSl9KSksdGhpcy5fZmx1c2hMb2dNZXNzYWdlKHttZXRob2Q6MSxtZXNzYWdlOiJtZXNzYWdlcyBmcm9tIHF1ZXVlLiBFbmQuIn0pLHRoaXMuX2xvZ3NRdWV1ZT1bXX1fc2VuZFRlbGVtZXRyeShlLHQpe2NvbnN0IG49e2V2ZW50OmUscGFyYW1zOnR9O3RoaXMuX3RlbGVtZXRyeT90aGlzLl9mbHVzaFRlbGVtZXRyeU9iamVjdChuKTp0aGlzLl90ZWxlbWV0cnlPYmplY3RzUXVldWUucHVzaChuKX1fZmx1c2hUZWxlbWV0cnlPYmplY3QoZSl7dGhpcy5fdGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydChlLmV2ZW50LGUucGFyYW1zLCExKX1fZmx1c2hUZWxlbWV0cnkoKXt0aGlzLl90ZWxlbWV0cnlPYmplY3RzUXVldWUuZm9yRWFjaCgoZT0+e3RoaXMuX2ZsdXNoVGVsZW1ldHJ5T2JqZWN0KGUpfSkpLHRoaXMuX3RlbGVtZXRyeU9iamVjdHNRdWV1ZT1bXX1fZG9Db25uZWN0KCl7CnRoaXMuX3NvY2tldCYmKHRoaXMuX3NvY2tldC5pc0Nvbm5lY3RlZCgpfHx0aGlzLl9zb2NrZXQuaXNDb25uZWN0aW5nKCkpfHwodGhpcy5fY2xlYXJPbmxpbmVDYW5jZWxsYXRpb25Ub2tlbigpLHRoaXMuX2hvc3Q9dGhpcy5nZXRIb3N0KCksdGhpcy5fc29ja2V0PW5ldyB3KHRoaXMuX2hvc3Qse3RpbWVvdXQ6dGhpcy5fZGF0YVJlcXVlc3RUaW1lb3V0LGNvbm5lY3Rpb25UeXBlOnRoaXMuX2Nvbm5lY3Rpb25UeXBlLGFwaUtleTp0aGlzLl9hcGlLZXl9KSx0aGlzLl9sb2dNZXNzYWdlKDAsIkNvbm5lY3RpbmcgdG8gIit0aGlzLl9ob3N0KSx0aGlzLl9iaW5kRXZlbnRzKCksdGhpcy5fZGlzY29ubmVjdENhbGxiYWNrcz1bXSx0aGlzLl9jb25uZWN0aW9uU3RhcnQ9cGVyZm9ybWFuY2Uubm93KCksdGhpcy5fY29ubmVjdGlvbkVzdGFibGlzaGVkPW51bGwsdGhpcy5fc29ja2V0LmNvbm5lY3QoKSxwZXJmb3JtYW5jZS5tYXJrKCJTV1NDIix7ZGV0YWlsOiJTdGFydCBXZWJTb2NrZXQgY29ubmVjdGlvbiJ9KSx0aGlzLl9zb2NrZXQub24oImNvbm5lY3QiLCgoKT0+e3BlcmZvcm1hbmNlLm1hcmsoIkVXU0MiLHtkZXRhaWw6IkVuZCBXZWJTb2NrZXQgY29ubmVjdGlvbiJ9KSxwZXJmb3JtYW5jZS5tZWFzdXJlKCJXZWJTb2NrZXQgY29ubmVjdGlvbiBkZWxheSIsIlNXU0MiLCJFV1NDIil9KSkpfV9wcm9wYWdhdGVEaXNjb25uZWN0KGUpe2NvbnN0IHQ9dGhpcy5fZGlzY29ubmVjdENhbGxiYWNrcy5sZW5ndGg7Zm9yKGxldCBuPTA7bjx0O24rKyl0aGlzLl9kaXNjb25uZWN0Q2FsbGJhY2tzW25dKGV8fHt9KX1fYmluZEV2ZW50cygpe3RoaXMuX3NvY2tldCYmKHRoaXMuX3NvY2tldC5vbigiY29ubmVjdCIsKCgpPT57Y29uc3QgZT10aGlzLmdldFNlc3Npb25JZCgpO2lmKCJzdHJpbmciPT10eXBlb2YgZSl7Y29uc3QgdD1KU09OLnBhcnNlKGUpO2lmKHQucmVkaXJlY3QpcmV0dXJuIHRoaXMuX3JlZGlyZWN0Q291bnQrPTEsdGhpcy5fc3VnZ2VzdGVkSG9zdD10LnJlZGlyZWN0LHRoaXMuaXNNYXhSZWRpcmVjdHMoKSYmdGhpcy5fc2VuZFRlbGVtZXRyeSgicmVkaXJlY3RfYmFpbG91dCIpLHZvaWQgdGhpcy5fcmVkaXJlY3QoKX10aGlzLl9jb25uZWN0aW9uRXN0YWJsaXNoZWQ9cGVyZm9ybWFuY2Uubm93KCksdGhpcy5fcHJvY2Vzc01lc3NhZ2VRdWV1ZSgpLHRoaXMuX2xvZ01lc3NhZ2UoMCwiY29ubmVjdCBzZXNzaW9uOiIrZSl9KSksdGhpcy5fc29ja2V0Lm9uKCJkaXNjb25uZWN0Iix0aGlzLl9vbkRpc2Nvbm5lY3QuYmluZCh0aGlzKSksdGhpcy5fc29ja2V0Lm9uKCJjbG9zZSIsdGhpcy5fb25EaXNjb25uZWN0LmJpbmQodGhpcykpLHRoaXMuX3NvY2tldC5vbigiZXJyb3IiLChlPT57dGhpcy5fbG9nTWVzc2FnZSgwLG5ldyBEYXRlKyIgc2Vzc2lvbjoiK3RoaXMuZ2V0U2Vzc2lvbklkKCkrIiB3ZWJzb2NrZXQgZXJyb3I6IitKU09OLnN0cmluZ2lmeShlKSksdGhpcy5fc2VuZFRlbGVtZXRyeSgid2Vic29ja2V0X2Vycm9yIiksdGhpcy5fZXJyb3JzQ291bnQrKywhdGhpcy5fZXJyb3JzSW5mb1NlbnQmJnRoaXMuX2Vycm9yc0NvdW50Pj1mJiYodm9pZCAwIT09dGhpcy5fbGFzdENvbm5lY3RDYWxsU3RhY2smJih0aGlzLl9zZW5kVGVsZW1ldHJ5KCJ3ZWJzb2NrZXRfZXJyb3JfY29ubmVjdF9zdGFjayIse3RleHQ6dGhpcy5fbGFzdENvbm5lY3RDYWxsU3RhY2t9KSxkZWxldGUgdGhpcy5fbGFzdENvbm5lY3RDYWxsU3RhY2spLHZvaWQgMCE9PXRoaXMuX2dldExvZ0hpc3RvcnkmJnRoaXMuX3NlbmRUZWxlbWV0cnkoIndlYnNvY2tldF9lcnJvcl9sb2ciLHt0ZXh0OnRoaXMuX2dldExvZ0hpc3RvcnkoNTApLmpvaW4oIlxuIil9KSx0aGlzLl9lcnJvcnNJbmZvU2VudD0hMCl9KSkpfV9yZWRpcmVjdCgpe3RoaXMuZGlzY29ubmVjdCgpLHRoaXMuX3JlY29ubmVjdFdoZW5PbmxpbmUoKX1fdHJ5UmVjb25uZWN0KCl7dGhpcy5fdHJ5Q29ubmVjdCgpJiYodGhpcy5fcmVjb25uZWN0Q291bnQrPTEpfV90cnlDb25uZWN0KCl7cmV0dXJuIXRoaXMuX2lzQ29ubmVjdGlvbkZvcmJpZGRlbiYmKHRoaXMuX2NsZWFyUmVjb25uZWN0VGltZW91dCgpLHRoaXMuX2xhc3RDb25uZWN0Q2FsbFN0YWNrPW5ldyBFcnJvcihgV2ViU29ja2V0IGNvbm5lY3Qgc3RhY2suIElzIGNvbm5lY3RlZDogJHt0aGlzLmlzQ29ubmVjdGVkKCl9LmApLnN0YWNrfHwiIiwhdGhpcy5pc0Nvbm5lY3RlZCgpJiYodGhpcy5kaXNjb25uZWN0KCksdGhpcy5fcmVjb25uZWN0V2hlbk9ubGluZSgpLCEwKSl9X2NsZWFyT25saW5lQ2FuY2VsbGF0aW9uVG9rZW4oKXt0aGlzLl9vbmxpbmVDYW5jZWxsYXRpb25Ub2tlbiYmKHRoaXMuX29ubGluZUNhbmNlbGxhdGlvblRva2VuKCksdGhpcy5fb25saW5lQ2FuY2VsbGF0aW9uVG9rZW49bnVsbCl9X2NsZWFyUmVjb25uZWN0VGltZW91dCgpe251bGwhPT10aGlzLl9yZWNvbm5lY3RUaW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMuX3JlY29ubmVjdFRpbWVvdXQpLHRoaXMuX3JlY29ubmVjdFRpbWVvdXQ9bnVsbCl9X3JlY29ubmVjdFdoZW5PbmxpbmUoKXtpZihuYXZpZ2F0b3Iub25MaW5lKXJldHVybiB0aGlzLl9sb2dNZXNzYWdlKDAsIk5ldHdvcmsgc3RhdHVzOiBvbmxpbmUgLSB0cnlpbmcgdG8gY29ubmVjdCIpLHRoaXMuX2RvQ29ubmVjdCgpLHZvaWQodGhpcy5fb25SZWNvbm5lY3QmJnRoaXMuX29uUmVjb25uZWN0KCkpO3RoaXMuX2xvZ01lc3NhZ2UoMCwiTmV0d29yayBzdGF0dXM6IG9mZmxpbmUgLSB3YWl0IHVudGlsIG9ubGluZSIpLHRoaXMuX29ubGluZUNhbmNlbGxhdGlvblRva2VuPWZ1bmN0aW9uKGUpe2xldCB0PWU7Y29uc3Qgbj0oKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvbmxpbmUiLG4pLHQmJnQoKX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJvbmxpbmUiLG4pLCgpPT57dD1udWxsfX0oKCgpPT57dGhpcy5fbG9nTWVzc2FnZSgwLCJOZXR3b3JrIHN0YXR1cyBjaGFuZ2VkIHRvIG9ubGluZSAtIHRyeWluZyB0byBjb25uZWN0IiksdGhpcy5fZG9Db25uZWN0KCksdGhpcy5fb25SZWNvbm5lY3QmJnRoaXMuX29uUmVjb25uZWN0KCl9KSl9Cl9vblRlbGVtZXRyeVNlbnQoZSl7IndlYnNvY2tldF9lcnJvciJpbiBlJiYodGhpcy5fZXJyb3JzQ291bnQ9MCx0aGlzLl9lcnJvcnNJbmZvU2VudD0hMSl9X3N0YXJ0UGluZygpe2lmKHRoaXMuX3BpbmdJbnRlcnZhbElkKXJldHVybjtjb25zdCBlPWsodGhpcy5nZXRIb3N0KCkpO2UucGF0aG5hbWUrPSJwaW5nIixlLnByb3RvY29sPSJodHRwczoiO2xldCB0PTAsbj0wO2NvbnN0IHM9ZT0+e3RoaXMuX3BpbmdJbmZvPXRoaXMuX3BpbmdJbmZvfHx7bWF4OjAsbWluOjEvMCxhdmc6MH07Y29uc3Qgcz0obmV3IERhdGUpLmdldFRpbWUoKS1lO3M+dGhpcy5fcGluZ0luZm8ubWF4JiYodGhpcy5fcGluZ0luZm8ubWF4PXMpLHM8dGhpcy5fcGluZ0luZm8ubWluJiYodGhpcy5fcGluZ0luZm8ubWluPXMpLHQrPXMsbisrLHRoaXMuX3BpbmdJbmZvLmF2Zz10L24sbj49MTAmJnRoaXMuX3BpbmdJbnRlcnZhbElkJiYoY2xlYXJJbnRlcnZhbCh0aGlzLl9waW5nSW50ZXJ2YWxJZCksZGVsZXRlIHRoaXMuX3BpbmdJbnRlcnZhbElkKX07dGhpcy5fcGluZ0ludGVydmFsSWQ9c2V0SW50ZXJ2YWwoKCgpPT57Y29uc3QgdD0obmV3IERhdGUpLmdldFRpbWUoKSxuPW5ldyBYTUxIdHRwUmVxdWVzdDtuLm9wZW4oIkdFVCIsZSwhMCksbi5zZW5kKCksbi5vbnJlYWR5c3RhdGVjaGFuZ2U9KCk9PntuLnJlYWR5U3RhdGU9PT1YTUxIdHRwUmVxdWVzdC5ET05FJiYyMDA9PT1uLnN0YXR1cyYmcyh0KX19KSwxZTQpfX0KY29uc3QgQz0id2lkZ2V0X3VzZXJfdG9rZW4tIix2PUpTT04ucGFyc2UoJ3siYWR4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tYWR4IiwiYWR4RCI6IndpZGdldF91c2VyX3Rva2VuLWFkeEQiLCJhZ2VuY2lhbGJtY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1hZ2VuY2lhbGJtY29tYnIiLCJhbGphemlyYWNhcGl0YWxEIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWxqYXppcmFjYXBpdGFsRCIsImFsamF6aXJhY2FwaXRhbFJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWxqYXppcmFjYXBpdGFsUlQiLCJhbHJhamhpY2FwaXRhbGNvbUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbHJhamhpY2FwaXRhbGNvbUQiLCJhbHJhamhpY2FwaXRhbGNvbVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWxyYWpoaWNhcGl0YWxjb21SVCIsImFtYml0byI6IndpZGdldF91c2VyX3Rva2VuLWFtYml0byIsImFyZW5heHRybyI6IndpZGdldF91c2VyX3Rva2VuLWFyZW5heHRybyIsImFydGVjaGVjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1BcnRlY2hlRCIsImF0bGNhcGl0YWwiOiJ3aWRnZXRfdXNlcl90b2tlbi1hdGxjYXBpdGFsIiwiYmFua2lyb3NydSI6IndpZGdldF91c2VyX3Rva2VuLWJhbmtpcm9zcnUiLCJiYnZhY2giOiJ3aWRnZXRfdXNlcl90b2tlbi1iYnZhY2giLCJiZWVrc2dyb3VwIjoid2lkZ2V0X3VzZXJfdG9rZW4tYmVla3Nncm91cCIsImJlbHVnYWdyb3VwcnUiOiJ3aWRnZXRfdXNlcl90b2tlbi1iZWx1Z2Fncm91cHJ1IiwiYml2YWNvbSI6IndpZGdldF91c2VyX3Rva2VuLWJpdmFjb20iLCJibHVlZmllbGQiOiJ3aWRnZXRfdXNlcl90b2tlbi1ibHVlZmllbGQiLCJibHVlbGluZWZ1dHVyZXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1ibHVlbGluZWZ1dHVyZXMiLCJib3Zlc3BhIjoid2lkZ2V0X3VzZXJfdG9rZW4tYm1mYm92ZXNwYWNvbWJyIiwiYnZicm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1idmJybyIsImJ5dGV0cmF2ZWwiOiJ3aWRnZXRfdXNlcl90b2tlbi1ieXRldHJhdmVsIiwiY2JvZWNhbmFkYSI6IndpZGdldF91c2VyX3Rva2VuLWNib2VjYW5hZGEiLCJjaGFtcGlvbm5hdGJvdXJzZSI6IndpZGdldF91c2VyX3Rva2VuLWNoYW1waW9ubmF0Ym91cnNlIiwiY2luY29kaWFzIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2luY29kaWFzIiwiY2VvY2FEIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2VvY2FEIiwiY2VvY2FSVCI6IndpZGdldF91c2VyX3Rva2VuLWNlb2NhUlQiLCJjbWNtYXJrZXRzIjoid2lkZ2V0X3VzZXJfdG9rZW4tY21jbWFya2V0cyIsImNvcGVlcyI6IndpZGdldF91c2VyX3Rva2VuLWNvcGVlcyIsImNzZWxrIjoid2lkZ2V0X3VzZXJfdG9rZW4tY3NlbGsiLCJkYWlseWZ4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZGFpbHlmeCIsImRlZXBzZWFyY2giOiJ3aWRnZXRfdXNlcl90b2tlbi1kZWVwc2VhcmNoIiwiZGVyYXlhaGNvbSI6IndpZGdldF91c2VyX3Rva2VuLWRlcmF5YWhjb20iLCJkZm1hZUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kZm1hZUQiLCJkZm1hZVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGZtYWVSVCIsImRpbmFyc2FEIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGluYXJzYUQiLCJkaW5hcnNhUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kaW5hcnNhUlQiLCJkb2xhcmhveSI6IndpZGdldF91c2VyX3Rva2VuLWRvbGFyaG95IiwiZWFzeW52ZXN0Y29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1lYXN5bnZlc3Rjb21iciIsImVkYWlseSI6IndpZGdldF91c2VyX3Rva2VuLWVkYWlseSIsImVsZXNwYW5vbGNvbSI6IndpZGdldF91c2VyX3Rva2VuLWVsZXNwYW5vbGNvbSIsImVsb2JyZXJvZXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1lbG9icmVyb2VzIiwiZWxuYWNpb25hbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1FbE5hY2lvbmFsRCIsImVscGFpc2ZpbmFuY2llcm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1lbHBhaXNmaW5hbmNpZXJvIiwiZWxwZXJpb2RpY29kZWxhZW5lcmdpYSI6IndpZGdldF91c2VyX3Rva2VuLWVscGVyaW9kaWNvZGVsYWVuZXJnaWEiLCJldXF1ZXJvaW52ZXN0aXIiOiJ3aWRnZXRfdXNlcl90b2tlbi1ldXF1ZXJvaW52ZXN0aXJjb20iLCJldXJleCI6IndpZGdldF91c2VyX3Rva2VuLWV1cmV4IiwiZXVyb2ZpbnMiOiJ3aWRnZXRfdXNlcl90b2tlbi1ldXJvZmlucyIsImVwZSI6IndpZGdldF91c2VyX3Rva2VuLWVwZSIsImV1cm9wYXByZXNzZXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1ldXJvcGFwcmVzc2VzIiwiZmluYW56YXNEIjoid2lkZ2V0X3VzZXJfdG9rZW4tRmluYW56YXNEIiwiZm9yYmVzY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1mb3JiZXNjb21iciIsImdlbmlhbGludmVzdGltZW50b3MiOiJ3aWRnZXRfdXNlcl90b2tlbi1nZW5pYWxpbnZlc3RpbWVudG9zIiwiaGVhbHRoaXRhbGlhIjoid2lkZ2V0X3VzZXJfdG9rZW4taGVhbHRoaXRhbGlhIiwiaGVnbmFybm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1oZWduYXJubyIsImhpcG90ZWNhcmlvY29tYXIiOiJ3aWRnZXRfdXNlcl90b2tlbi1oaXBvdGVjYXJpb2NvbWFyIiwiaWdjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1pZ2NvbSIsImludmVzdGVnYXRlY291ayI6IndpZGdldF91c2VyX3Rva2VuLWludmVzdGVnYXRlY291ayIsImludmVzdG9wZWRpYSI6IndpZGdldF91c2VyX3Rva2VuLWludmVzdG9wZWRpYSIsImludGVncmFseWF0aXJpbSI6IndpZGdldF91c2VyX3Rva2VuLWludGVncmFseWF0aXJpbSIsIml2c2dyb3VwIjoid2lkZ2V0X3VzZXJfdG9rZW4taXZzZ3JvdXAiLCJqc2Vjb3phIjoid2lkZ2V0X3VzZXJfdG9rZW4tanNlY296YSIsImJvZXJzZW56ZWl0dW5nIjoid2lkZ2V0X3VzZXJfdG9rZW4tYm9lcnNlbnplaXR1bmciLCJsYWluZm9ybWFjaW9uY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tbGFpbmZvcm1hY2lvbmNvbSIsIm1hcmNvcG9sb2NvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tbWFyY29wb2xvY29tYnIiLCJtZXJjYWRvZmluYW5jaWVyb2NvbSI6IndpZGdldF91c2VyX3Rva2VuLW1lcmNhZG9maW5hbmNpZXJvY29tIiwibW9leCI6IndpZGdldF91c2VyX3Rva2VuLW1vZXgiLCJtb25leXRpbWVzY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1tb25leXRpbWVzY29tYnIiLCJtb25pdG9yZG9tZXJjYWRvRCI6IndpZGdldF91c2VyX3Rva2VuLW1vbml0b3Jkb21lcmNhZG9EIiwibXluZXRjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1teW5ldGNvbSIsIm5lZ29jaW9zIjoid2lkZ2V0X3VzZXJfdG9rZW4tbmVnb2Npb3MiLCJOR1giOiJ3aWRnZXRfdXNlcl90b2tlbi1OR1giLCJOb3RpY2lhc2Fncmljb2xhRCI6IndpZGdldF91c2VyX3Rva2VuLW5vdGljaWFzYWdyaWNvbGFEIiwibm9tbW9tYSI6IndpZGdldF91c2VyX3Rva2VuLW5vbW1vbWEiLCJuc2Vjb2tyIjoid2lkZ2V0X3VzZXJfdG9rZW4tbnNlY29rciIsIm9rZGlhcmlvIjoid2lkZ2V0X3VzZXJfdG9rZW4tb2tkaWFyaW8iLCJwYW5hZnJpY2FucmVzb3VyY2VzY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tcGFuYWZyaWNhbnJlc291cmNlc2NvbSIsInBzZSI6IndpZGdldF91c2VyX3Rva2VuLXBzZSIsInBvZGVyMzYwIjoid2lkZ2V0X3VzZXJfdG9rZW4tcG9kZXIzNjAiLCJwc2VEIjoid2lkZ2V0X3VzZXJfdG9rZW4tcHNlRCIsInJpeWFkaGNhcGl0YWxEIjoid2lkZ2V0X3VzZXJfdG9rZW4tcml5YWRoY2FwaXRhbEQiLCJyaXlhZGhjYXBpdGFsUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1yaXlhZGhjYXBpdGFsUlQiLCJxZWNvbXFhIjoid2lkZ2V0X3VzZXJfdG9rZW4tcWVjb21xYSIsInNhbW9sZXQiOiJ3aWRnZXRfdXNlcl90b2tlbi1zYW1vbGV0Iiwic2VlaW5nbWFjaGluZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1zZWVpbmdtYWNoaW5lc2NvbSIsInNldWRpbmhlaXJvIjoid2lkZ2V0X3VzZXJfdG9rZW4tc2V1ZGluaGVpcm8iLCJzb2Z0d2FyZWFnIjoid2lkZ2V0X3VzZXJfdG9rZW4tc29mdHdhcmVhZyIsInNvZ2VjbGFpciI6IndpZGdldF91c2VyX3Rva2VuLXNvZ2VjbGFpciIsInNnY29tcGFueWl0Ijoid2lkZ2V0X3VzZXJfdG9rZW4tc2djb21wYW55aXQiLCJzaGFyZWp1bmN0aW9uIjoid2lkZ2V0X3VzZXJfdG9rZW4tc2hhcmVqdW5jdGlvbiIsInNtYXJ0bGFiLWN1c3RvbSI6IndpZGdldF91c2VyX3Rva2VuLXNtYXJ0bGFiIiwic21hcnRsYWIiOiJ3aWRnZXRfdXNlcl90b2tlbi1zbWFydGxhYiIsInNwYWNlbW9uZXljb21iciI6IndpZGdldF91c2VyX3Rva2VuLXNwYWNlbW9uZXljb21iciIsInN0b25leHdkZyI6IndpZGdldF91c2VyX3Rva2VuLXN0b25leMKjLSF3d3cuc3RvbmV4LmNvbSIsInN0b3hpbyI6IndpZGdldF91c2VyX3Rva2VuLXN0b3hpbyIsInN0b25leCI6IndpZGdldF91c2VyX3Rva2VuLXN0b25leCIsInRvcm9pbnZlc3RpbWVudG9zY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tdG9yb2ludmVzdGltZW50b3Njb20iLCJ0aGVjc2Vjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi10aGVjc2Vjb20iLCJ0cmFkZXJzY2x1YmJyYXNpbCI6IndpZGdldF91c2VyX3Rva2VuLXRyYWRlcnNjbHViYnJhc2lsIiwidHJhZGVyc2NsdWJicmFzaWxEIjoid2lkZ2V0X3VzZXJfdG9rZW4tdHJhZGVyc2NsdWJicmFzaWxEIiwidHJhZGluZ3ZpZXciOiJ3aWRnZXRfdXNlcl90b2tlbi10cmFkaW5ndmlldyIsInh0b29scyI6IndpZGdldF91c2VyX3Rva2VuLXh0b29scyIsInR3aXR0ZXIiOiJ3aWRnZXRfdXNlcl90b2tlbi10d2l0dGVyIiwidmVsb2NpdHljb21wb3NpdGVzY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tdmVsb2NpdHljb21wb3NpdGVzY29tIiwidm9jZXNhYWJyaWxjb21iciI6IndpZGdldF91c2VyX3Rva2VuLXZvY2VzYWFicmlsY29tYnIiLCJ3ZWFsdGhzaW1wbGUiOiJ3aWRnZXRfdXNlcl90b2tlbi13ZWFsdGhzaW1wbGXCoy0hbXkud2VhbHRoc2ltcGxlLmNvbSIsIndvcmxkY2hlc3Njb20iOiJ3aWRnZXRfdXNlcl90b2tlbi13b3JsZGNoZXNzY29tIiwieENydHlKa3NwIjoid2lkZ2V0X3VzZXJfdG9rZW4teENydHlKa3NwIiwieHBpY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi14cGljb21iciJ9Jylbd2luZG93LlRyYWRpbmdWaWV3JiZ3aW5kb3cuVHJhZGluZ1ZpZXcud2lkZ2V0Q3VzdG9tZXJ8fCIiXXx8IiIsUz12LnN0YXJ0c1dpdGgoQyk/di5zdWJzdHJpbmcoMTgpOiJ0cmFkaW5ndmlldyIKO3dpbmRvdy5XU0JhY2tlbmRDb25uZWN0aW9uPW5ldyBUKHdpbmRvdy5XRUJTT0NLRVRfSE9TVCx7cGluZ1JlcXVpcmVkOndpbmRvdy5XU19IT1NUX1BJTkdfUkVRVUlSRUQscHJvSG9zdDp3aW5kb3cuV0VCU09DS0VUX1BST19IT1NULHJlY29ubmVjdEhvc3Q6d2luZG93LldFQlNPQ0tFVF9IT1NUX0ZPUl9SRUNPTk5FQ1QsaW5pdGlhbEhvc3Q6d2luZG93LldFQlNPQ0tFVF9JTklUSUFMX0hPU1QsY29ubmVjdGlvblR5cGU6d2luZG93LldFQlNPQ0tFVF9DT05ORUNUSU9OX1RZUEUsYXBpS2V5OlN9KSx3aW5kb3cuV1NCYWNrZW5kQ29ubmVjdGlvbkN0b3I9VH0pKCk7Cgk8L3NjcmlwdD4KPC9oZWFkPgo8Ym9keT4KCTxzY3JpcHQgbm9uY2U9InVKQnhQNzVYbWx0bG81ZXV6dWdZR2c9PSI+CgkJKCgpPT57InVzZSBzdHJpY3QiO2NvbnN0IHQ9MTAxOTt2YXIgZSxzLG8sYSxkOyFmdW5jdGlvbih0KXt0LkFkYXB0aXZlPSJhZGFwdGl2ZSIsdC5SZWd1bGFyPSJyZWd1bGFyIix0LkNvbXBhY3Q9ImNvbXBhY3QifShlfHwoZT17fSkpLGZ1bmN0aW9uKHQpe3QuQWxsU3ltYm9scz0iYWxsX3N5bWJvbHMiLHQuTWFya2V0PSJtYXJrZXQiLHQuU3ltYm9sPSJzeW1ib2wifShzfHwocz17fSkpLGZ1bmN0aW9uKHQpe3QuQ3J5cHRvY3VycmVuY2llcz0iY3J5cHRvIix0LkN1cnJlbmNpZXM9ImZvcmV4Iix0LlN0b2Nrcz0ic3RvY2siLHQuSW5kaWNlcz0iaW5kZXgiLHQuRnV0dXJlcz0iZnV0dXJlcyIsdC5Cb25kcz0iY2ZkIn0ob3x8KG89e30pKSxmdW5jdGlvbih0KXt0LkhUTUw9Imh0bWwiLHQuUmVhY3Q9InJlYWN0In0oYXx8KGE9e30pKSxmdW5jdGlvbih0KXt0LlRoZW1lQ2xhc3NQcmVmaXg9InRoZW1lLSJ9KGR8fChkPXt9KSk7Y29uc3QgYz13aW5kb3c7Yy5pbml0RGF0YT1jLmluaXREYXRhfHx7fTtsZXQgaT1jLmluaXREYXRhLmhhc2hTZXR0aW5ncztpZihjLmluaXREYXRhLndpZGdldERlZmF1bHRzJiYoaT17Li4uYy5pbml0RGF0YS53aWRnZXREZWZhdWx0cywuLi5pfSksdm9pZCAwIT09aSl7aWYodm9pZCAwIT09aS5jb2xvclRoZW1lJiZmdW5jdGlvbih0LGU9d2luZG93KXtjb25zdCBzPSJ0aGVtZS0iK3Qsbz1lLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3Q7Zm9yKGNvbnN0IHQgb2YgQXJyYXkuZnJvbShvKSl0LnN0YXJ0c1dpdGgoInRoZW1lLSIpJiZ0IT09cyYmby5yZW1vdmUodCk7by5hZGQocyksZS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZGF0YXNldC50aGVtZT10fShpLmNvbG9yVGhlbWUpLChpLmlzVHJhbnNwYXJlbnR8fGkudHJhbnNwYXJlbmN5KSYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoImlzLXRyYW5zcGFyZW50Iiksdm9pZCAwIT09aS5kaXNwbGF5TW9kZSYmZnVuY3Rpb24ocyxvKXtpZihvPT09ZS5BZGFwdGl2ZSl7Y29uc3QgZT13aW5kb3cubWF0Y2hNZWRpYShgKG1heC13aWR0aDogJHt0fXB4KWApLG89KCk9PntzLmNsYXNzTGlzdC50b2dnbGUoInR2LWRpc3BsYXktbW9kZS1yZWd1bGFyIiwhZS5tYXRjaGVzKSxzLmNsYXNzTGlzdC50b2dnbGUoInR2LWRpc3BsYXktbW9kZS1jb21wYWN0IixlLm1hdGNoZXMpfTtvKCksZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLG8pfWVsc2Ugcy5jbGFzc0xpc3QudG9nZ2xlKCJ0di1kaXNwbGF5LW1vZGUtcmVndWxhciIsbz09PWUuUmVndWxhcikscy5jbGFzc0xpc3QudG9nZ2xlKCJ0di1kaXNwbGF5LW1vZGUtY29tcGFjdCIsbz09PWUuQ29tcGFjdCl9KGRvY3VtZW50LmJvZHksaS5kaXNwbGF5TW9kZSksaS5ib2R5Q2xhc3Nlcylmb3IoY29uc3QgdCBvZiBpLmJvZHlDbGFzc2VzKWRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCh0KTtpLmJvZHlfY2xhc3MmJmRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZChpLmJvZHlfY2xhc3MpLGkuYm9keUlkJiYoZG9jdW1lbnQuYm9keS5pZD1pLmJvZHlJZCl9fSkoKTsKCTwvc2NyaXB0PgoKCTxkaXYgaWQ9Im1lZGl1bXdpZGdldGVtYmVkIiBzdHlsZT0id2lkdGg6MTAwJTsgaGVpZ2h0OiAxMDAlIj48L2Rpdj4KCjxzY3JpcHQgbm9uY2U9InVKQnhQNzVYbWx0bG81ZXV6dWdZR2c9PSI+Cgl3aW5kb3cuaW5pdERhdGEgPSB3aW5kb3cuaW5pdERhdGEgfHwge307CgoJd2luZG93LmluaXREYXRhLnNub3dwbG93U2V0dGluZ3MgPSB7CgkJY29sbGVjdG9ySWQ6ICd0dl9jZicsCgkJdXJsOiAnc25vd3Bsb3ctcGl4ZWwudHJhZGluZ3ZpZXcuY29tJywKCQlwYXJhbXM6IHsKCQkJYXBwSWQ6ICd0cmFkaW5ndmlldycsCgkJCXBvc3RQYXRoOiAnL2NvbS50cmFkaW5ndmlldy90cmFjaycsCgkJfSwKCQllbmFibGVkOiB0cnVlLAoJfQo8L3NjcmlwdD48L2JvZHk+CjwvaHRtbD4="}},"time_used":171,"timings":{"blocked":-1,"dns":28,"connect":1,"send":0,"wait":143,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/embed_medium_widget.bf649ddba989a5cb7d98.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.914Z","timestamp":1785120633914,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/embed_medium_widget.bf649ddba989a5cb7d98.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-21f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:32:38\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 67ed0cfc2ae3aa44fb87a954f2f7811e\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":543,"size_decoded":1113,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (543), with no line terminators","md5":"6f5f7d95f02d072e9149a4ca1a5ce7fd","sha1":"0735d3b1022ea706b80d1280c79d61d4929ae72b","sha256":"6aaa6641a61eaaa1ff1a70e5b5f7bff69977d97c9f91d99677dae8ac7e5422f7","sha512":"46505d08885ff429f44140fe54d9b5fffda4081f4977e84faef0f668368b4bbc2bf273b0aa4c6083e03b82e0b3c3e87bd8a36736c2becbbd954676686b90da6d","ssdeep":"","tlshash":"75f0dc012458e4463a6ea0c2f2f71cb6c4410191361a5befacb8dd9ad192dc4b7cfafc","first_seen":"2026-07-24T23:32:32.649332Z","last_seen":"2026-07-27T06:01:16.128211Z","times_seen":21,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNjQ4MTldLHs3OTczMyhlLGksdCl7UHJvbWlzZS5hbGwoW3QuZSgxMjg1OCksdC5lKDQ2OTA3KSx0LmUoMTIzODUpLHQuZSgzMjgxNiksdC5lKDQzMzI1KSx0LmUoOTE4NTUpLHQuZSgzMjYzMiksdC5lKDYyNjMwKSx0LmUoODA3ODIpLHQuZSg5OTUyNyksdC5lKDUyODQyKSx0LmUoNzQxMjYpLHQuZSgxMzE0OCksdC5lKDQ5MjY1KSx0LmUoODA3MDYpLHQuZSg1NjI1OCksdC5lKDcxNDI0KSx0LmUoODMzMTApLHQuZSg2NTg2MiksdC5lKDUxMDMxKSx0LmUoOTQ3MDgpLHQuZSg4Nzk5NSksdC5lKDk0ODI1KSx0LmUoMTIxODEpLHQuZSg0MjE3MSksdC5lKDE1MDQ5KSx0LmUoNTU5NjkpLHQuZSgzMDI4OCksdC5lKDczNDEyKSx0LmUoMzIxMDApXSkudGhlbih0LmJpbmQodCwyMjc2NTkpKS50aGVuKCgoe2NyZWF0ZU1lZGl1bVdpZGdldDplfSk9PmUoKSkpfX0sZT0+e3ZhciBpO2k9Nzk3MzMsZShlLnM9aSl9XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/15049.08e0888e7d45f371417a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.205Z","timestamp":1785120634205,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/15049.08e0888e7d45f371417a.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-7e05\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:32:38\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ab4b775774acedfac58bf2672b0d0234\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":32261,"size_decoded":11983,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3440)","md5":"db48995ff5f730ecb170f36e4e2cc18a","sha1":"044ce4f192cecbee308979fbae086c96bfb8db14","sha256":"c81b7b8904e0431a7b79c10f58c825619389b9b17ab64e096121d6f89e2dbe44","sha512":"b421809d047c58d7c47154fd7dd0c211a8727f97c41abc92cb643758b44cc1861e7dc1a4ebc141ba015e211d59dee2becc24789ebb814d22544421123442befa","ssdeep":"768:ffIIzV3q50QTARuL5BAPuQ8GYzHdnj2WyvbVLKdrPQg4xGCSHyezAYMfKngc/oze:nw7H1awIgJdAag7nwvsBKJ/n","tlshash":"a8e2f8c23285b8773bf350e618791542962e35627c0a48bcfa6d29cf3c1cd8a617fa75","first_seen":"2026-07-24T18:44:55.936981Z","last_seen":"2026-07-27T05:27:33.151992Z","times_seen":119,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxNTA0OV0sezg0NTU3NyhlKXtlLmV4cG9ydHM9eyJ0di1zcGlubmVyX19jb250YWluZXItcm90YXRlIjoidHYtc3Bpbm5lcl9fY29udGFpbmVyLXJvdGF0ZS1qNEpscllWSCIsInR2LXNwaW5uZXJfX2NvbnRhaW5lci1yb3RhdGUtcnRsIjoidHYtc3Bpbm5lcl9fY29udGFpbmVyLXJvdGF0ZS1ydGwtajRKbHJZVkgifX0sMzg0MDE3KGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse2ZldGNoOigpPT5zfSk7dmFyIG49cigyMjEwNjEpO3IoMzAwMjg2KTtjb25zdCBpPSgwLG4uZ2V0TG9nZ2VyKSgiRmV0Y2giKTtmdW5jdGlvbiBzKGUsdCxyPXt9KXt7Y29uc3R7bG9nT25FcnJvclN0YXR1czpuPSEwLGxvZ0JvZHlPbkVycm9yOnM9ITF9PXI7dD10fHx7fSxmdW5jdGlvbihlKXtyZXR1cm4gbmV3IFVSTChlLGRvY3VtZW50LmJhc2VVUkkpLm9yaWdpbj09PWxvY2F0aW9uLm9yaWdpbn0oZSkmJih0LmhlYWRlcnM/dC5oZWFkZXJzIGluc3RhbmNlb2YgSGVhZGVyc3x8KHQuaGVhZGVycz1uZXcgSGVhZGVycyh0LmhlYWRlcnMpKTp0LmhlYWRlcnM9bmV3IEhlYWRlcnMsd2luZG93LmxvY2FsZSYmdC5oZWFkZXJzLnNldCgiWC1MYW5ndWFnZSIsd2luZG93LmxvY2FsZSksdC5oZWFkZXJzLnNldCgiWC1SZXF1ZXN0ZWQtV2l0aCIsIlhNTEh0dHBSZXF1ZXN0IikpLHZvaWQgMD09PXQuY3JlZGVudGlhbHMmJih0LmNyZWRlbnRpYWxzPSJzYW1lLW9yaWdpbiIpO2NvbnN0IGE9d2luZG93LmZldGNoKGUsdCk7cmV0dXJuIGEudGhlbigocj0+e2lmKCFyLm9rJiZuKXtsZXQgbj0iIjt0Lm1ldGhvZCYmKG4rPWAke3QubWV0aG9kLnRvVXBwZXJDYXNlKCl9IGApLG4rPWUsbis9YC4gU3RhdHVzICR7ci5zdGF0dXN9YCxyLnN0YXR1c1RleHQmJihuKz1gLiAke3Iuc3RhdHVzVGV4dH1gKSxyLmhlYWRlcnMudmlhJiYobis9YC4gVmlhOiAke3IuaGVhZGVycy52aWF9YCkscyYmInN0cmluZyI9PXR5cGVvZiB0LmJvZHkmJihuKz1gLiBCb2R5OiAke3QuYm9keS5zbGljZSgwLDEwMjQpfWApLGkubG9nRXJyb3Iobil9cmV0dXJuIHJ9KSwocj0+e2lmKHImJiJBYm9ydEVycm9yIj09PXIubmFtZSlyZXR1cm47bGV0IG49IiI7dC5tZXRob2QmJihuKz1gJHt0Lm1ldGhvZC50b1VwcGVyQ2FzZSgpfSBgKSxuKz1lLG5hdmlnYXRvci5vbkxpbmU/bis9YC4gJHtTdHJpbmcocil9YDpuKz0iLiBVc2VyIGlzIG9mZmxpbmUuIixpLmxvZ0Vycm9yKG4pfSkpLGF9fX0sOTA5Nzk4KGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse2ZsdXNoRGVsZWdhdGU6KCk9Pm59KTtjb25zdCBuPW5ldyhyKDk0ODM4MCkuRGVsZWdhdGUpfSwyNDc5MDEoZSx0LHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbjtyLmQodCx7U3RkVGhlbWU6KCk9Pm59KSxmdW5jdGlvbihlKXtlLkxpZ2h0PSJsaWdodCIsZS5EYXJrPSJkYXJrIn0obnx8KG49e30pKX0sMTUyNjk5KGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse1RWWFdpbmRvd0V2ZW50czooKT0+YX0pO3ZhciBuPXIoMjIxMDYxKSxpPXIoOTMyMzY1KTtjb25zdCBzPSgwLG4uZ2V0TG9nZ2VyKSgiWFdpbmRvd0V2ZW50cyIpO3ZhciBhOyFmdW5jdGlvbihlKXtjb25zdCB0PSJ0dnh3ZXZlbnRzLiIscj17fTtsZXQgbjt3aW5kb3cuQnJvYWRjYXN0Q2hhbm5lbD8obj1uZXcgQnJvYWRjYXN0Q2hhbm5lbCgidHZ4d2V2ZW50cyIpLG4uYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsKGZ1bmN0aW9uKGUpe2NvbnN0e2RhdGE6e2V2ZW50OnQsdmFsdWU6bn19PWU7clt0XSYmclt0XS5mb3JFYWNoKChlPT57ZShuKX0pKX0pKSxmdW5jdGlvbigpe2NvbnN0IGU9W10scj1wZXJmb3JtYW5jZS5ub3coKTtmb3IobGV0IHI9MDtyPGkuVFZMb2NhbFN0b3JhZ2UubGVuZ3RoO3IrKyl7Y29uc3Qgbj1pLlRWTG9jYWxTdG9yYWdlLmtleShyKTtuLnN0YXJ0c1dpdGgodCkmJmUucHVzaChuKX1jb25zdCBuPWkuVFZMb2NhbFN0b3JhZ2UubGVuZ3RoO2Zvcihjb25zdCB0IG9mIGUpaS5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHQpO2NvbnN0IGE9cGVyZm9ybWFuY2Uubm93KCktcjtzLmxvZ05vcm1hbChgVG90YWwga2V5cyBhbW91bnQgaW4gbG9jYWwgc3RvcmFnZSBvbiBvcGVyYXRpb24gc3RhcnQ6ICR7bn1gKSxzLmxvZ05vcm1hbChgS2V5cyBhbW91bnQgaW4gbG9jYWwgc3RvcmFnZSB0byBiZSBkZWxldGVkOiAke2UubGVuZ3RofWApLHMubG9nTm9ybWFsKGBLZXlzIHRvIGJlIGRlbGV0ZWQgZnJvbSBsb2NhbCBzdG9yYWdlOiAke0pTT04uc3RyaW5naWZ5KGUpfWApLHMubG9nTm9ybWFsKGBSZW1vdmluZyBrZXlzIGZyb20gbG9jYWwgc3RvcmFnZSB0b29rICR7YX0gbXNgKX0oKSk6d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInN0b3JhZ2UiLChmdW5jdGlvbihlKXtjb25zdHtuZXdWYWx1ZTpuLGtleTpzfT1lO2lmKG51bGw9PT1ufHwhc3x8IXMuc3RhcnRzV2l0aCh0KSlyZXR1cm47Y29uc3QgYT1zLnN1YnN0cmluZygxMSk7clthXSYmclthXS5mb3JFYWNoKCh0PT57dChlLm5ld1ZhbHVlKX0pKTtpLlRWTG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0ocyl9KSksZS5vbj1mdW5jdGlvbihlLHQpe3JbZV18fChyW2VdPVtdKSxyW2VdLnB1c2godCl9LGUub2ZmPWZ1bmN0aW9uKGUsdCl7aWYoIXJbZV0pcmV0dXJuO2NvbnN0IG49cltlXS5pbmRleE9mKHQpOy0xIT09biYmKDE9PT1yW2VdLmxlbmd0aD9kZWxldGUgcltlXTpyW2VdLnNwbGljZShuLDEpKX0sZS5lbWl0PWZ1bmN0aW9uKGUscj1EYXRlLm5vdygpKXt0cnl7bj9uLnBvc3RNZXNzYWdlKHtldmVudDplLHZhbHVlOnJ9KTppLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0odCtlLHIudG9TdHJpbmcoKSl9Y2F0Y2goZSl7cy5sb2dFcnJvcihlLm1lc3NhZ2UpfX19KGF8fChhPXt9KSl9LDgzMDc4MyhlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHt0cnlQYXJzZU5hbWVkUmdiYTooKT0+aX0pCjtjb25zdCBuPW5ldyBNYXAoW1siYWxpY2VibHVlIiwiI2YwZjhmZiJdLFsiYW50aXF1ZXdoaXRlIiwiI2ZhZWJkNyJdLFsiYXF1YSIsIiMwMGZmZmYiXSxbImFxdWFtYXJpbmUiLCIjN2ZmZmQ0Il0sWyJhenVyZSIsIiNmMGZmZmYiXSxbImJlaWdlIiwiI2Y1ZjVkYyJdLFsiYmlzcXVlIiwiI2ZmZTRjNCJdLFsiYmxhY2siLCIjMDAwMDAwIl0sWyJibGFuY2hlZGFsbW9uZCIsIiNmZmViY2QiXSxbImJsdWUiLCIjMDAwMGZmIl0sWyJibHVldmlvbGV0IiwiIzhhMmJlMiJdLFsiYnJvd24iLCIjYTUyYTJhIl0sWyJidXJseXdvb2QiLCIjZGViODg3Il0sWyJjYWRldGJsdWUiLCIjNWY5ZWEwIl0sWyJjaGFydHJldXNlIiwiIzdmZmYwMCJdLFsiY2hvY29sYXRlIiwiI2QyNjkxZSJdLFsiY29yYWwiLCIjZmY3ZjUwIl0sWyJjb3JuZmxvd2VyYmx1ZSIsIiM2NDk1ZWQiXSxbImNvcm5zaWxrIiwiI2ZmZjhkYyJdLFsiY3JpbXNvbiIsIiNkYzE0M2MiXSxbImN5YW4iLCIjMDBmZmZmIl0sWyJkYXJrYmx1ZSIsIiMwMDAwOGIiXSxbImRhcmtjeWFuIiwiIzAwOGI4YiJdLFsiZGFya2dvbGRlbnJvZCIsIiNiODg2MGIiXSxbImRhcmtncmF5IiwiI2E5YTlhOSJdLFsiZGFya2dyZWVuIiwiIzAwNjQwMCJdLFsiZGFya2toYWtpIiwiI2JkYjc2YiJdLFsiZGFya21hZ2VudGEiLCIjOGIwMDhiIl0sWyJkYXJrb2xpdmVncmVlbiIsIiM1NTZiMmYiXSxbImRhcmtvcmFuZ2UiLCIjZmY4YzAwIl0sWyJkYXJrb3JjaGlkIiwiIzk5MzJjYyJdLFsiZGFya3JlZCIsIiM4YjAwMDAiXSxbImRhcmtzYWxtb24iLCIjZTk5NjdhIl0sWyJkYXJrc2VhZ3JlZW4iLCIjOGZiYzhmIl0sWyJkYXJrc2xhdGVibHVlIiwiIzQ4M2Q4YiJdLFsiZGFya3NsYXRlZ3JheSIsIiMyZjRmNGYiXSxbImRhcmt0dXJxdW9pc2UiLCIjMDBjZWQxIl0sWyJkYXJrdmlvbGV0IiwiIzk0MDBkMyJdLFsiZGVlcHBpbmsiLCIjZmYxNDkzIl0sWyJkZWVwc2t5Ymx1ZSIsIiMwMGJmZmYiXSxbImRpbWdyYXkiLCIjNjk2OTY5Il0sWyJkb2RnZXJibHVlIiwiIzFlOTBmZiJdLFsiZmVsZHNwYXIiLCIjZDE5Mjc1Il0sWyJmaXJlYnJpY2siLCIjYjIyMjIyIl0sWyJmbG9yYWx3aGl0ZSIsIiNmZmZhZjAiXSxbImZvcmVzdGdyZWVuIiwiIzIyOGIyMiJdLFsiZnVjaHNpYSIsIiNmZjAwZmYiXSxbImdhaW5zYm9ybyIsIiNkY2RjZGMiXSxbImdob3N0d2hpdGUiLCIjZjhmOGZmIl0sWyJnb2xkIiwiI2ZmZDcwMCJdLFsiZ29sZGVucm9kIiwiI2RhYTUyMCJdLFsiZ3JheSIsIiM4MDgwODAiXSxbImdyZWVuIiwiIzAwODAwMCJdLFsiZ3JlZW55ZWxsb3ciLCIjYWRmZjJmIl0sWyJob25leWRldyIsIiNmMGZmZjAiXSxbImhvdHBpbmsiLCIjZmY2OWI0Il0sWyJpbmRpYW5yZWQiLCIjY2Q1YzVjIl0sWyJpbmRpZ28iLCIjNGIwMDgyIl0sWyJpdm9yeSIsIiNmZmZmZjAiXSxbImtoYWtpIiwiI2YwZTY4YyJdLFsibGF2ZW5kZXIiLCIjZTZlNmZhIl0sWyJsYXZlbmRlcmJsdXNoIiwiI2ZmZjBmNSJdLFsibGF3bmdyZWVuIiwiIzdjZmMwMCJdLFsibGVtb25jaGlmZm9uIiwiI2ZmZmFjZCJdLFsibGlnaHRibHVlIiwiI2FkZDhlNiJdLFsibGlnaHRjb3JhbCIsIiNmMDgwODAiXSxbImxpZ2h0Y3lhbiIsIiNlMGZmZmYiXSxbImxpZ2h0Z29sZGVucm9keWVsbG93IiwiI2ZhZmFkMiJdLFsibGlnaHRncmVlbiIsIiM5MGVlOTAiXSxbImxpZ2h0Z3JleSIsIiNkM2QzZDMiXSxbImxpZ2h0cGluayIsIiNmZmI2YzEiXSxbImxpZ2h0c2FsbW9uIiwiI2ZmYTA3YSJdLFsibGlnaHRzZWFncmVlbiIsIiMyMGIyYWEiXSxbImxpZ2h0c2t5Ymx1ZSIsIiM4N2NlZmEiXSxbImxpZ2h0c2xhdGVibHVlIiwiIzg0NzBmZiJdLFsibGlnaHRzbGF0ZWdyYXkiLCIjNzc4ODk5Il0sWyJsaWdodHN0ZWVsYmx1ZSIsIiNiMGM0ZGUiXSxbImxpZ2h0eWVsbG93IiwiI2ZmZmZlMCJdLFsibGltZSIsIiMwMGZmMDAiXSxbImxpbWVncmVlbiIsIiMzMmNkMzIiXSxbImxpbmVuIiwiI2ZhZjBlNiJdLFsibWFnZW50YSIsIiNmZjAwZmYiXSxbIm1hcm9vbiIsIiM4MDAwMDAiXSxbIm1lZGl1bWFxdWFtYXJpbmUiLCIjNjZjZGFhIl0sWyJtZWRpdW1ibHVlIiwiIzAwMDBjZCJdLFsibWVkaXVtb3JjaGlkIiwiI2JhNTVkMyJdLFsibWVkaXVtcHVycGxlIiwiIzkzNzBkOCJdLFsibWVkaXVtc2VhZ3JlZW4iLCIjM2NiMzcxIl0sWyJtZWRpdW1zbGF0ZWJsdWUiLCIjN2I2OGVlIl0sWyJtZWRpdW1zcHJpbmdncmVlbiIsIiMwMGZhOWEiXSxbIm1lZGl1bXR1cnF1b2lzZSIsIiM0OGQxY2MiXSxbIm1lZGl1bXZpb2xldHJlZCIsIiNjNzE1ODUiXSxbIm1pZG5pZ2h0Ymx1ZSIsIiMxOTE5NzAiXSxbIm1pbnRjcmVhbSIsIiNmNWZmZmEiXSxbIm1pc3R5cm9zZSIsIiNmZmU0ZTEiXSxbIm1vY2Nhc2luIiwiI2ZmZTRiNSJdLFsibmF2YWpvd2hpdGUiLCIjZmZkZWFkIl0sWyJuYXZ5IiwiIzAwMDA4MCJdLFsib2xkbGFjZSIsIiNmZGY1ZTYiXSxbIm9saXZlIiwiIzgwODAwMCJdLFsib2xpdmVkcmFiIiwiIzZiOGUyMyJdLFsib3JhbmdlIiwiI2ZmYTUwMCJdLFsib3JhbmdlcmVkIiwiI2ZmNDUwMCJdLFsib3JjaGlkIiwiI2RhNzBkNiJdLFsicGFsZWdvbGRlbnJvZCIsIiNlZWU4YWEiXSxbInBhbGVncmVlbiIsIiM5OGZiOTgiXSxbInBhbGV0dXJxdW9pc2UiLCIjYWZlZWVlIl0sWyJwYWxldmlvbGV0cmVkIiwiI2Q4NzA5MyJdLFsicGFwYXlhd2hpcCIsIiNmZmVmZDUiXSxbInBlYWNocHVmZiIsIiNmZmRhYjkiXSxbInBlcnUiLCIjY2Q4NTNmIl0sWyJwaW5rIiwiI2ZmYzBjYiJdLFsicGx1bSIsIiNkZGEwZGQiXSxbInBvd2RlcmJsdWUiLCIjYjBlMGU2Il0sWyJwdXJwbGUiLCIjODAwMDgwIl0sWyJyZWQiLCIjZmYwMDAwIl0sWyJyb3N5YnJvd24iLCIjYmM4ZjhmIl0sWyJyb3lhbGJsdWUiLCIjNDE2OWUxIl0sWyJzYWRkbGVicm93biIsIiM4YjQ1MTMiXSxbInNhbG1vbiIsIiNmYTgwNzIiXSxbInNhbmR5YnJvd24iLCIjZjRhNDYwIl0sWyJzZWFncmVlbiIsIiMyZThiNTciXSxbInNlYXNoZWxsIiwiI2ZmZjVlZSJdLFsic2llbm5hIiwiI2EwNTIyZCJdLFsic2lsdmVyIiwiI2MwYzBjMCJdLFsic2t5Ymx1ZSIsIiM4N2NlZWIiXSxbInNsYXRlYmx1ZSIsIiM2YTVhY2QiXSxbInNsYXRlZ3JheSIsIiM3MDgwOTAiXSxbInNub3ciLCIjZmZmYWZhIl0sWyJzcHJpbmdncmVlbiIsIiMwMGZmN2YiXSxbInN0ZWVsYmx1ZSIsIiM0NjgyYjQiXSxbInRhbiIsIiNkMmI0OGMiXSxbInRlYWwiLCIjMDA4MDgwIl0sWyJ0aGlzdGxlIiwiI2Q4YmZkOCJdLFsidG9tYXRvIiwiI2ZmNjM0NyJdLFsidHVycXVvaXNlIiwiIzQwZTBkMCJdLFsidmlvbGV0IiwiI2VlODJlZSJdLFsidmlvbGV0cmVkIiwiI2QwMjA5MCJdLFsid2hlYXQiLCIjZjVkZWIzIl0sWyJ3aGl0ZSIsIiNmZmZmZmYiXSxbIndoaXRlc21va2UiLCIjZjVmNWY1Il0sWyJ5ZWxsb3ciLCIjZmZmZjAwIl0sWyJ5ZWxsb3dncmVlbiIsIiM5YWNkMzIiXV0pCjtmdW5jdGlvbiBpKGUpe2NvbnN0IHQ9bi5nZXQoZSk7aWYodm9pZCAwPT09dClyZXR1cm4gbnVsbDtyZXR1cm5bcGFyc2VJbnQodC5zbGljZSgxLDMpLDE2KSxwYXJzZUludCh0LnNsaWNlKDMsNSksMTYpLHBhcnNlSW50KHQuc2xpY2UoNSw3KSwxNiksMV19fSw2OTM1MDAoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7Z2V0VGltZUZyYW1lczooKT0+c30pO3ZhciBuPXIoNzgzMjU0KSxpPXIoMjE1NzMwKTtmdW5jdGlvbiBzKGUpe3JldHVybnsiMWQiOnt0ZXh0Om4udChudWxsLHZvaWQgMCxyKDkzODEwMCkpLHZhbHVlOnt2YWx1ZToiMUQiLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5bIjFEIl0/PygwLGkuc3RyaW5nQXNSZXNvbHV0aW9uKSgiMSIpLGRlc2NyaXB0aW9uOigwLGkuZGF5c1N0cmluZ0xpdGVyYWwpKDEpfSwiNWQiOnt0ZXh0Om4udChudWxsLHZvaWQgMCxyKDgyODU1KSksdmFsdWU6e3ZhbHVlOiI1RCIsdHlwZToicGVyaW9kLWJhY2sifSx0YXJnZXRSZXNvbHV0aW9uOmU/LlsiNUQiXT8/KDAsaS5zdHJpbmdBc1Jlc29sdXRpb24pKCI1IiksZGVzY3JpcHRpb246KDAsaS5kYXlzU3RyaW5nTGl0ZXJhbCkoNSl9LCIxdyI6e3RleHQ6bi50KG51bGwsdm9pZCAwLHIoNDkyMTM1KSksdmFsdWU6e3ZhbHVlOiI3RCIsdHlwZToicGVyaW9kLWJhY2sifSx0YXJnZXRSZXNvbHV0aW9uOmU/LlsiNVciXT8/KDAsaS5zdHJpbmdBc1Jlc29sdXRpb24pKCIxNSIpLGRlc2NyaXB0aW9uOigwLGkud2Vla3NTdHJpbmdMaXRlcmFsKSgxKX0sIjFtIjp7dGV4dDpuLnQobnVsbCx2b2lkIDAscig4MzI3MzMpKSx2YWx1ZTp7dmFsdWU6IjFNIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyIxTSJdPz8oMCxpLnN0cmluZ0FzUmVzb2x1dGlvbikoIjMwIiksZGVzY3JpcHRpb246KDAsaS5tb250aHNTdHJpbmdMaXRlcmFsKSgxKX0sIjNtIjp7dGV4dDpuLnQobnVsbCx2b2lkIDAscig4MTkwNzgpKSx2YWx1ZTp7dmFsdWU6IjNNIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyIzTSJdPz8oMCxpLnN0cmluZ0FzUmVzb2x1dGlvbikoIjYwIiksZGVzY3JpcHRpb246KDAsaS5tb250aHNTdHJpbmdMaXRlcmFsKSgzKX0sIjZtIjp7dGV4dDpuLnQobnVsbCx2b2lkIDAscig2ODA3NikpLHZhbHVlOnt2YWx1ZToiNk0iLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5bIjZNIl0/PygwLGkuc3RyaW5nQXNSZXNvbHV0aW9uKSgiMTIwIiksZGVzY3JpcHRpb246KDAsaS5tb250aHNTdHJpbmdMaXRlcmFsKSg2KX0sIjEybSI6e3RleHQ6bi50KG51bGwsdm9pZCAwLHIoNzcwMzAzKSksdmFsdWU6e3ZhbHVlOiIxMk0iLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5bIjEyTSJdPz8oMCxpLnN0cmluZ0FzUmVzb2x1dGlvbikoIjFEIiksZGVzY3JpcHRpb246KDAsaS55ZWFyc1N0cmluZ0xpdGVyYWwpKDEpfSwiMjRtIjp7dGV4dDpuLnQobnVsbCx2b2lkIDAscig5MzQ3NzcpKSx2YWx1ZTp7dmFsdWU6IjI0TSIsdHlwZToicGVyaW9kLWJhY2sifSx0YXJnZXRSZXNvbHV0aW9uOmU/LlsiMjRNIl0/PygwLGkuc3RyaW5nQXNSZXNvbHV0aW9uKSgiMVciKSxkZXNjcmlwdGlvbjooMCxpLnllYXJzU3RyaW5nTGl0ZXJhbCkoMil9LCIzNm0iOnt0ZXh0Om4udChudWxsLHZvaWQgMCxyKDI3MjA5OCkpLHZhbHVlOnt2YWx1ZToiMzZNIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyIzNk0iXT8/KDAsaS5zdHJpbmdBc1Jlc29sdXRpb24pKCIxVyIpLGRlc2NyaXB0aW9uOigwLGkueWVhcnNTdHJpbmdMaXRlcmFsKSgzKX0sIjYwbSI6e3RleHQ6bi50KG51bGwsdm9pZCAwLHIoNDQ2NTYwKSksdmFsdWU6e3ZhbHVlOiI2ME0iLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5bIjYwTSJdPz8oMCxpLnN0cmluZ0FzUmVzb2x1dGlvbikoIjFXIiksZGVzY3JpcHRpb246KDAsaS55ZWFyc1N0cmluZ0xpdGVyYWwpKDUpfSwiMTIwbSI6e3RleHQ6bi50KG51bGwsdm9pZCAwLHIoOTk1MDY2KSksdmFsdWU6e3ZhbHVlOiIxMjBNIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyIxMjBNIl0/PygwLGkuc3RyaW5nQXNSZXNvbHV0aW9uKSgiMU0iKSxkZXNjcmlwdGlvbjooMCxpLnllYXJzU3RyaW5nTGl0ZXJhbCkoMTApfSx5dGQ6e3RleHQ6bi50KG51bGwsdm9pZCAwLHIoNDIyMzY5KSksdmFsdWU6e3ZhbHVlOiJZVEQiLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5ZVEQ/PygwLGkuc3RyaW5nQXNSZXNvbHV0aW9uKSgiMUQiKSxkZXNjcmlwdGlvbjpuLnQobnVsbCx2b2lkIDAscig0ODU0MjApKX0sYWxsOnt0ZXh0Om4udChudWxsLHZvaWQgMCxyKDIzMzY5MCkpLHZhbHVlOnt2YWx1ZToiQUxMIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uQUxMPz8oMCxpLnN0cmluZ0FzUmVzb2x1dGlvbikoIjFNIil9LGxhc3RzZXNzaW9uOnt0ZXh0Om4udChudWxsLHZvaWQgMCxyKDkzODEwMCkpLHZhbHVlOnt2YWx1ZToiTEFTVFNFU1NJT04iLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5MQVNUU0VTU0lPTj8/KDAsaS5zdHJpbmdBc1Jlc29sdXRpb24pKCIxIiksZGVzY3JpcHRpb246KDAsaS5kYXlzU3RyaW5nTGl0ZXJhbCkoMSl9fX19LDIxNTczMChlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtkYXlzU3RyaW5nTGl0ZXJhbDooKT0+aSxtb250aHNTdHJpbmdMaXRlcmFsOigpPT5hLHN0cmluZ0FzUmVzb2x1dGlvbjooKT0+bCx3ZWVrc1N0cmluZ0xpdGVyYWw6KCk9PnMseWVhcnNTdHJpbmdMaXRlcmFsOigpPT5vfSk7dmFyIG49cig3ODMyNTQpO2NvbnN0IGk9ZT0+bi50KG51bGwse3BsdXJhbDoie3N0cn0gZGF5cyIsY291bnQ6ZSxyZXBsYWNlOntzdHI6YCR7ZX1gfX0scigxMDMwMzApKSxzPWU9Pm4udChudWxsLHtwbHVyYWw6IntzdHJ9IHdlZWtzIixjb3VudDplLHJlcGxhY2U6e3N0cjpgJHtlfWB9fSxyKDY0NDYyNSkpLGE9ZT0+bi50KG51bGwsewpwbHVyYWw6IntzdHJ9IG1vbnRocyIsY291bnQ6ZSxyZXBsYWNlOntzdHI6YCR7ZX1gfX0scig2OTQ2MTcpKSxvPWU9Pm4udChudWxsLHtwbHVyYWw6IntzdHJ9IHllYXJzIixjb3VudDplLHJlcGxhY2U6e3N0cjpgJHtlfWB9fSxyKDIxNjQwMikpLGw9ZT0+ZX0sNDI5NTQ5KGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse2dldEFjdHVhbFRpbWVGcmFtZTooKT0+aX0pO3ZhciBuPXIoNjkzNTAwKTtmdW5jdGlvbiBpKGUpe2NvbnN0IHQ9bmV3IFNldChPYmplY3QudmFsdWVzKCgwLG4uZ2V0VGltZUZyYW1lcykoKSkubWFwKChlPT5lLnZhbHVlLnZhbHVlKSkpO2lmKHQuaGFzKGUpKXJldHVybiBlO2NvbnN0IHI9ZS50b1VwcGVyQ2FzZSgpO3JldHVybiB0LmhhcyhyKT9yOiIxMk0ifX0sNTA1NTYoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7Y29sb3JzUGFsZXR0ZTooKT0+YyxnZXRIZXhDb2xvckJ5TmFtZTooKT0+aH0pO3ZhciBuPXIoMzE3NjYzKSxpPXIoODY3NTIyKSxzPXIoMTM4NjM4KTtjb25zdCBhPXsuLi5uLC4uLml9LG89e30sbD1PYmplY3Qua2V5cyhhKS5sZW5ndGgsdT0vXiMoKFthLWYwLTldezJ9KXsyLDR9fFthLWYwLTldezN9KSQvaTtmdW5jdGlvbiBkKGUsdD1bXSxyPWEpe2NvbnN0IG49cltlXTtpZighbilyZXR1cm4gbnVsbDtpZih1LnRlc3QobikpcmV0dXJuIG47Y29uc3QgaT1uO3JldHVybiB0LnB1c2goZSksLTEhPT10LmluZGV4T2YoaSk/KGNvbnNvbGUud2FybigiQ29sb3JzIGRlZmluaXRpb25zIGN5Y2xlZCIpLG4pOnQubGVuZ3RoPmw/KGNvbnNvbGUud2FybigiVG9vIG1hbnkgdmFyaWFibGVzLWxpbmsgaW4gSEVYLWNvbG9yIHNlYXJjaDogIit0WzBdKSxudWxsKTpkKGksdCxyKX1PYmplY3Qua2V5cyhhKS5mb3JFYWNoKChlPT57Y29uc3QgdD1kKGUpO29bZV09KDAscy5lbnN1cmVOb3ROdWxsKSh0KX0pKTtjb25zdCBjPW87ZnVuY3Rpb24gaChlLHQ9Yyl7Y29uc3Qgcj10W2VdO2lmKCFyKXtpZih1LnRlc3QoZSkpcmV0dXJuIGU7dGhyb3cgbmV3IEVycm9yKCJObyBzdWNoIGNvbG9yICIrZSl9cmV0dXJuIHJ9fSw1Njc0NzkoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7REVGQVVMVF9TSVpFOigpPT5uLHNwaW5uZXJTaXplTWFwOigpPT5pfSk7Y29uc3Qgbj0ibGFyZ2UiLGk9e21pbmk6InhzbWFsbCIseHhzbWFsbDoieHhzbWFsbCIseHNtYWxsOiJ4c21hbGwiLHNtYWxsOiJzbWFsbCIsbWVkaXVtOiJtZWRpdW0iLGxhcmdlOiJsYXJnZSJ9fSwxOTg5MDEoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGUsdCxyLG49MCxpPWUubGVuZ3RoKXtyZXR1cm4gZnVuY3Rpb24oZSx0LHIsbixpKXtsZXQgcz1pLW47Zm9yKDswPHM7KXtjb25zdCBpPXM+PjEsYT1uK2k7cihlKGEpLHQpPyhuPWErMSxzLT1pKzEpOnM9aX1yZXR1cm4gbn0oKHQ9PmVbdF0pLHQscixuLGkpfWZ1bmN0aW9uIGkoZSx0LHIsbj0wLGk9ZS5sZW5ndGgpe2xldCBzPWktbjtmb3IoOzA8czspe2NvbnN0IGk9cz4+MSxhPW4raTtyKHQsZVthXSk/cz1pOihuPWErMSxzLT1pKzEpfXJldHVybiBufXIuZCh0LHtsb3dlcmJvdW5kOigpPT5uLHVwcGVyYm91bmQ6KCk9Pml9KX0sNTQwNTc4KGUsdCxyKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlKXtyZXR1cm4gZS5yZXBsYWNlKC9bLS9cXF4kKis/LigpfFtcXXt9XS9nLCJcXCQmIil9ci5kKHQse3JlZ0V4cEVzY2FwZTooKT0+bn0pfSw0OTExNjUoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7ZGF0ZUZvcm1hdEZ1bmN0aW9uczooKT0+eSxnZXREYXRlRm9ybWF0V2l0aFdlZWtkYXk6KCk9PmJ9KTt2YXIgbj1yKDc4MzI1NCksaT1yKDgyMjQzMSkscz1yKDg1NjMyNCk7Y29uc3QgYT17MTooKT0+bi50KG51bGwsdm9pZCAwLHIoNjU3Mzc0KSksMjooKT0+bi50KG51bGwsdm9pZCAwLHIoNjE3MzQxKSksMzooKT0+bi50KG51bGwsdm9pZCAwLHIoMTAzMzA1KSksNDooKT0+bi50KG51bGwsdm9pZCAwLHIoNTI2Nzg1KSksNTooKT0+bi50KG51bGwse2NvbnRleHQ6InNob3J0In0scig3MzQ3NTApKSw2OigpPT5uLnQobnVsbCx2b2lkIDAscig4Nzc0NSkpLDc6KCk9Pm4udChudWxsLHZvaWQgMCxyKDE4Mzk1OSkpLDg6KCk9Pm4udChudWxsLHZvaWQgMCxyKDkzNzYyKSksOTooKT0+bi50KG51bGwsdm9pZCAwLHIoMTc4NDY5KSksMTA6KCk9Pm4udChudWxsLHZvaWQgMCxyKDcyODMzNykpLDExOigpPT5uLnQobnVsbCx2b2lkIDAscig2NDY1NDUpKSwxMjooKT0+bi50KG51bGwsdm9pZCAwLHIoNzY5MDM2KSl9LG89ezE6KCk9Pm4udChudWxsLHZvaWQgMCxyKDg5NzY3KSksMjooKT0+bi50KG51bGwsdm9pZCAwLHIoOTQ4OTIzKSksMzooKT0+bi50KG51bGwsdm9pZCAwLHIoMzY3OTM1KSksNDooKT0+bi50KG51bGwsdm9pZCAwLHIoMTc1NTA3KSl9LGw9KGUsdCk9Pih0P2UuZ2V0TW9udGgoKTplLmdldFVUQ01vbnRoKCkpKzEsdT0oZSx0KT0+dD9lLmdldERhdGUoKTplLmdldFVUQ0RhdGUoKSxkPShlLHQpPT50P2UuZ2V0RnVsbFllYXIoKTplLmdldFVUQ0Z1bGxZZWFyKCksYz0oZSx0KT0+ZS50b0xvY2FsZURhdGVTdHJpbmcoKDAscy5nZXRMYW5ndWFnZSkoKT8oMCxzLm1hcExhbmd1YWdlQ29kZSkoKDAscy5nZXRMYW5ndWFnZSkoKSk6dm9pZCAwLHt3ZWVrZGF5OiJzaG9ydCIsdGltZVpvbmU6ImxvY2FsIj09PXQ/dm9pZCAwOnR9KSxoPShlLHQpPT5vWygoZSx0KT0+TWF0aC5mbG9vcigobChlLHQpLTEpLzMpKzEpKGUsdCldKCksZj0oZSx0KT0+KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykodShlLHQpLDIpLG09KGUsdCk9PmFbbChlLHQpXSgpLGc9KGUsdCk9PigwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGwoZSx0KSwyKSxfPShlLHQpPT4oMCxpLm51bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvKShkKGUsdCklMTAwLDIpLHA9KGUsdCk9PigwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGQoZSx0KSw0KSx5PXsicXEgJ3l5IjooZSx0KT0+YCR7aChlLHQpfSAnJHtfKGUsdCl9YCwicXEgeXl5eSI6KGUsdCk9PmAke2goZSx0KX0gJHtwKGUsdCl9YCwKImRkIE1NTSAneXkiOihlLHQpPT5gJHtmKGUsdCl9ICR7bShlLHQpfSAnJHtfKGUsdCl9YCwiTU1NICd5eSI6KGUsdCk9PmAke20oZSx0KX0gJyR7XyhlLHQpfWAsIk1NTSBkZCwgeXl5eSI6KGUsdCk9PmAke20oZSx0KX0gJHtmKGUsdCl9LCAke3AoZSx0KX1gLCJNTU0gZCwgeXl5eSI6KGUsdCk9PmAke20oZSx0KX0gJHsoKGUsdCk9PigwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKHUoZSx0KSwwKSkoZSx0KX0sICR7cChlLHQpfWAsIk1NTSB5eXl5IjooZSx0KT0+YCR7bShlLHQpfSAke3AoZSx0KX1gLCJNTU0gZGQiOihlLHQpPT5gJHttKGUsdCl9ICR7ZihlLHQpfWAsImRkIE1NTSI6KGUsdCk9PmAke2YoZSx0KX0gJHttKGUsdCl9YCwieXl5eS1NTS1kZCI6KGUsdCk9PmAke3AoZSx0KX0tJHtnKGUsdCl9LSR7ZihlLHQpfWAsInl5LU1NLWRkIjooZSx0KT0+YCR7XyhlLHQpfS0ke2coZSx0KX0tJHtmKGUsdCl9YCwieXkvTU0vZGQiOihlLHQpPT5gJHtfKGUsdCl9LyR7ZyhlLHQpfS8ke2YoZSx0KX1gLCJ5eXl5L01NL2RkIjooZSx0KT0+YCR7cChlLHQpfS8ke2coZSx0KX0vJHtmKGUsdCl9YCwiZGQtTU0teXl5eSI6KGUsdCk9PmAke2YoZSx0KX0tJHtnKGUsdCl9LSR7cChlLHQpfWAsImRkLU1NLXl5IjooZSx0KT0+YCR7ZihlLHQpfS0ke2coZSx0KX0tJHtfKGUsdCl9YCwiZGQvTU0veXkiOihlLHQpPT5gJHtmKGUsdCl9LyR7ZyhlLHQpfS8ke18oZSx0KX1gLCJkZC9NTS95eXl5IjooZSx0KT0+YCR7ZihlLHQpfS8ke2coZSx0KX0vJHtwKGUsdCl9YCwiTU0vZGQveXkiOihlLHQpPT5gJHtnKGUsdCl9LyR7ZihlLHQpfS8ke18oZSx0KX1gLCJNTS9kZC95eXl5IjooZSx0KT0+YCR7ZyhlLHQpfS8ke2YoZSx0KX0vJHtwKGUsdCl9YH07ZnVuY3Rpb24gYihlLHQpe3JldHVybiJqYSI9PT0oMCxzLmdldExhbmd1YWdlKSgpPyhyLG4pPT5gJHt5W2VdKHIsbil9ICgke2Mocix0KX0pYDoocixuKT0+YCR7YyhyLHQpfSAke3lbZV0ocixuKX1gfU9iamVjdC5rZXlzKHkpfSw4NTYzMjQoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7Z2V0TGFuZ3VhZ2U6KCk9PnMsbWFwTGFuZ3VhZ2VDb2RlOigpPT5sLHJlZ2lzdGVyTGFuZ3VhZ2VDb2RlTWFwcGVyOigpPT5vLHJlZ2lzdGVyTGFuZ3VhZ2VHZXR0ZXI6KCk9Pml9KTtsZXQgbj1udWxsO2Z1bmN0aW9uIGkoZSl7bj1lfWZ1bmN0aW9uIHMoKXtpZighbil0aHJvdyBuZXcgRXJyb3IoIkxhbmd1YWdlIGdldHRlciBub3QgcmVnaXN0ZXJlZC4gQ2FsbCByZWdpc3Rlckxhbmd1YWdlR2V0dGVyKCkgZmlyc3QuIik7cmV0dXJuIG4oKX1sZXQgYT1lPT5lO2Z1bmN0aW9uIG8oZSl7YT1lfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIGEoZSl9fSw4NTI5ODAoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGUsdCxyLG4saSl7Y29uc3R7cGF5QXR0ZW50aW9uVG9UaWNrZXJOb3RTeW1ib2w6cyx1c2VUaWNrZXJPblN5bWJvbEluZm9VcGRhdGU6YSxjaGFydGluZ0xpYnJhcnlTaW5nbGVTeW1ib2xSZXF1ZXN0Om8sdXBwZXJjYXNlSW5zdHJ1bWVudE5hbWVzOmx9PWU7bGV0IHU9dCYmKG4mJnQucHJvX25hbWV8fHQuZnVsbF9uYW1lfHx0Lm5hbWUpO3JldHVybiBvJiZyP3U9cjooYXx8IWkmJnMpJiZ0JiZ0LnRpY2tlciYmKHU9dC50aWNrZXIpLGwmJnUmJih1PXUudG9VcHBlckNhc2UoKSksdX1yLmQodCx7ZXh0cmFjdFN5bWJvbE5hbWVGcm9tU3ltYm9sSW5mbzooKT0+bn0pfSw4NTcxNTEoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7UGxvdExpc3Q6KCk9Pmh9KTt2YXIgbj1yKDEzODYzOCksaT1yKDIyMTA2MSkscz1yKDE5ODkwMSksYT1yKDgxNDU4OSksbz1yKDkzNjMyNik7Y29uc3QgbD0oMCxpLmdldExvZ2dlcikoIkNoYXJ0LlBsb3RMaXN0IiksdT0zMDtmdW5jdGlvbiBkKGUpe3JldHVybiBlLmluZGV4fWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGUudmFsdWVbMF19Y2xhc3MgaHtjb25zdHJ1Y3RvcihlPW51bGwsdD1udWxsKXt0aGlzLl9pdGVtcz1bXSx0aGlzLl9zdGFydD0wLHRoaXMuX2VuZD0wLHRoaXMuX3NoYXJlUmVhZD0hMSx0aGlzLl9taW5NYXhDYWNoZT1uZXcgTWFwLHRoaXMuX3Jvd1NlYXJjaENhY2hlQnlJbmRleD1uZXcgTWFwLHRoaXMuX3Jvd1NlYXJjaENhY2hlQnlJbmRleFdpdGhvdXRFbXB0eVZhbHVlcz1uZXcgTWFwLHRoaXMuX3Jvd1NlYXJjaENhY2hlQnlUaW1lPW5ldyBNYXAsdGhpcy5fcm93U2VhcmNoQ2FjaGVCeVRpbWVXaXRob3V0RW1wdHlWYWx1ZXM9bmV3IE1hcCx0aGlzLl9wbG90RnVuY3Rpb25zPWV8fG5ldyBNYXAsdGhpcy5fZW1wdHlWYWx1ZVByZWRpY2F0ZT10fWNsZWFyKCl7dGhpcy5faXRlbXM9W10sdGhpcy5fc3RhcnQ9MCx0aGlzLl9lbmQ9MCx0aGlzLl9zaGFyZVJlYWQ9ITEsdGhpcy5fbWluTWF4Q2FjaGUuY2xlYXIoKSx0aGlzLl9pbnZhbGlkYXRlU2VhcmNoQ2FjaGVzKCl9Zmlyc3QoKXtyZXR1cm4gdGhpcy5zaXplKCk+MD90aGlzLl9pdGVtc1t0aGlzLl9zdGFydF06bnVsbH1sYXN0KCl7cmV0dXJuIHRoaXMuc2l6ZSgpPjA/dGhpcy5faXRlbXNbdGhpcy5fZW5kLTFdOm51bGx9Zmlyc3RJbmRleCgpe3JldHVybiB0aGlzLnNpemUoKT4wP3RoaXMuX2luZGV4QXQodGhpcy5fc3RhcnQpOm51bGx9Zmlyc3RQbG90dGFibGVJbmRleCgpe2lmKHRoaXMuaXNFbXB0eSgpKXJldHVybiBudWxsO2ZvcihsZXQgZT10aGlzLl9zdGFydDtlPHRoaXMuX2VuZDsrK2Upe2NvbnN0IHQ9dGhpcy5faW5kZXhBdChlKTtpZih0PmEuVU5QTE9UVEFCTEVfVElNRV9QT0lOVF9JTkRFWClyZXR1cm4gdH1yZXR1cm4gbnVsbH1sYXN0SW5kZXgoKXtyZXR1cm4gdGhpcy5zaXplKCk+MD90aGlzLl9pbmRleEF0KHRoaXMuX2VuZC0xKTpudWxsfWNsb25lKCl7Y29uc3QgZT10aGlzLmZpcnN0SW5kZXgoKSx0PXRoaXMubGFzdEluZGV4KCk7cmV0dXJuIG51bGw9PT1lfHxudWxsPT09dD9uZXcgaDp0aGlzLnJhbmdlKGUsdCl9c2l6ZSgpe3JldHVybiB0aGlzLl9lbmQtdGhpcy5fc3RhcnR9aXNFbXB0eSgpe3JldHVybiAwPT09dGhpcy5zaXplKCl9Y29udGFpbnMoZSl7CnJldHVybiBudWxsIT09dGhpcy5zZWFyY2goZSxvLlBsb3RSb3dTZWFyY2hNb2RlLkV4YWN0KX12YWx1ZUF0KGUpe2NvbnN0IHQ9dGhpcy5zZWFyY2goZSk7cmV0dXJuIG51bGwhPT10P3QudmFsdWU6bnVsbH1hZGQoZSx0KXtpZih0aGlzLl9zaGFyZVJlYWQpcmV0dXJuIGwubG9nRGVidWcoImFkZDogcmVhZG9ubHkgY29sbGVjdGlvbiBtb2RpZmljYXRpb24gYXR0ZW1wdCIpLCExO2NvbnN0IHI9e2luZGV4OmUsdmFsdWU6dH0sbj10aGlzLl9ub25DYWNoZWRTZWFyY2goZSxvLlBsb3RSb3dTZWFyY2hNb2RlLkV4YWN0LGQpO3JldHVybiB0aGlzLl9pbnZhbGlkYXRlU2VhcmNoQ2FjaGVzKCksbnVsbD09PW4/KHRoaXMuX2l0ZW1zLnNwbGljZSh0aGlzLl9sb3dlcmJvdW5kKGUsZCksMCxyKSx0aGlzLl9zdGFydD0wLHRoaXMuX2VuZD10aGlzLl9pdGVtcy5sZW5ndGgsITApOih0aGlzLl9pdGVtc1tuXT1yLCExKX1zZWFyY2goZSx0PW8uUGxvdFJvd1NlYXJjaE1vZGUuRXhhY3Qscil7cmV0dXJuIHRoaXMuX3NlYXJjaEltcGwoZSx0LHRoaXMuX3Jvd1NlYXJjaENhY2hlQnlJbmRleCx0aGlzLl9yb3dTZWFyY2hDYWNoZUJ5SW5kZXhXaXRob3V0RW1wdHlWYWx1ZXMsZCxyKX1zZWFyY2hCeVRpbWUoZSx0PW8uUGxvdFJvd1NlYXJjaE1vZGUuRXhhY3Qscil7cmV0dXJuIHRoaXMuX3NlYXJjaEltcGwoZSx0LHRoaXMuX3Jvd1NlYXJjaENhY2hlQnlUaW1lLHRoaXMuX3Jvd1NlYXJjaENhY2hlQnlUaW1lV2l0aG91dEVtcHR5VmFsdWVzLGMscil9Zm9sZChlLHQpe2xldCByPXQ7Zm9yKGxldCB0PXRoaXMuX3N0YXJ0O3Q8dGhpcy5fZW5kOysrdCl7cj1lKHRoaXMuX2luZGV4QXQodCksdGhpcy5fdmFsdWVBdCh0KSxyKX1yZXR1cm4gcn1maW5kRmlyc3QoZSx0KXtjb25zdCByPXZvaWQgMCE9PXQmJk1hdGgubWluKHRoaXMuX3N0YXJ0K3QsdGhpcy5fZW5kKXx8dGhpcy5fZW5kO2ZvcihsZXQgdD10aGlzLl9zdGFydDt0PHI7Kyt0KXtjb25zdCByPXRoaXMuX2luZGV4QXQodCksbj10aGlzLl92YWx1ZUF0KHQpO2lmKGUocixuKSlyZXR1cm57aW5kZXg6cix2YWx1ZTpufX1yZXR1cm4gbnVsbH1maW5kTGFzdChlLHQpe2NvbnN0IHI9dm9pZCAwIT09dCYmTWF0aC5tYXgodGhpcy5fZW5kLXQsdGhpcy5fc3RhcnQpfHx0aGlzLl9zdGFydDtmb3IobGV0IHQ9dGhpcy5fZW5kLTE7dD49cjstLXQpe2NvbnN0IHI9dGhpcy5faW5kZXhBdCh0KSxuPXRoaXMuX3ZhbHVlQXQodCk7aWYoZShyLG4pKXJldHVybntpbmRleDpyLHZhbHVlOm59fXJldHVybiBudWxsfWVhY2goZSl7Zm9yKGxldCB0PXRoaXMuX3N0YXJ0O3Q8dGhpcy5fZW5kOysrdCl7aWYoZSh0aGlzLl9pbmRleEF0KHQpLHRoaXMuX3ZhbHVlQXQodCkpKWJyZWFrfX1yZWR1Y2UoZSx0KXtsZXQgcj10O2ZvcihsZXQgdD10aGlzLl9zdGFydDt0PHRoaXMuX2VuZDsrK3Qpe3I9ZShyLHRoaXMuX2luZGV4QXQodCksdGhpcy5fdmFsdWVBdCh0KSl9cmV0dXJuIHJ9cmFuZ2UoZSx0KXtjb25zdCByPW5ldyBoKHRoaXMuX3Bsb3RGdW5jdGlvbnMsdGhpcy5fZW1wdHlWYWx1ZVByZWRpY2F0ZSk7cmV0dXJuIHIuX2l0ZW1zPXRoaXMuX2l0ZW1zLHIuX3N0YXJ0PXRoaXMuX2xvd2VyYm91bmQoZSxkKSxyLl9lbmQ9dGhpcy5fdXBwZXJib3VuZCh0KSxyLl9zaGFyZVJlYWQ9ITAscn1wbG90dGFibGVSYW5nZShlKXtjb25zdCB0PW5ldyBoKHRoaXMuX3Bsb3RGdW5jdGlvbnMsdGhpcy5fZW1wdHlWYWx1ZVByZWRpY2F0ZSk7cmV0dXJuIHQuX2l0ZW1zPXRoaXMuX2l0ZW1zLHQuX3N0YXJ0PXRoaXMuX3VwcGVyYm91bmQoYS5VTlBMT1RUQUJMRV9USU1FX1BPSU5UX0lOREVYKSx0Ll9lbmQ9dGhpcy5fZW5kLHQuX3NoYXJlUmVhZD0hMCwhMD09PWUmJnQuX3N0YXJ0PnRoaXMuX3N0YXJ0JiYodC5fc3RhcnQtPTEpLHR9cmFuZ2VDb3VudGJhY2soZSx0KXtpZihudWxsPT09dGhpcy5maXJzdEluZGV4KCkpcmV0dXJuIG5ldyBoO2NvbnN0IHI9bmV3IGgodGhpcy5fcGxvdEZ1bmN0aW9ucyx0aGlzLl9lbXB0eVZhbHVlUHJlZGljYXRlKTtyZXR1cm4gci5faXRlbXM9dGhpcy5faXRlbXMsci5fZW5kPXRoaXMuX3VwcGVyYm91bmQoZSksci5fc3RhcnQ9TWF0aC5tYXgodGhpcy5fc3RhcnQsci5fZW5kLXQpLHIuX3NoYXJlUmVhZD0hMCxyfXJhbmdlSXRlcmF0b3IoZSx0KXtjb25zdCByPXRoaXMuX2xvd2VyYm91bmQoZSxkKSxuPXRoaXMuX3VwcGVyYm91bmQodCk7cmV0dXJuIHRoaXMuX3JhbmdlSXRlcmF0b3JJbXBsKHIsbil9ZnVsbFJhbmdlSXRlcmF0b3IoKXtyZXR1cm4gdGhpcy5fcmFuZ2VJdGVyYXRvckltcGwodGhpcy5fc3RhcnQsdGhpcy5fZW5kKX1taW5NYXhPblJhbmdlQ2FjaGVkKGUsdCxyKXtpZih0aGlzLmlzRW1wdHkoKSlyZXR1cm4gbnVsbDtsZXQgbj1udWxsO2Zvcihjb25zdCBpIG9mIHIpe249ZihuLHRoaXMuX21pbk1heE9uUmFuZ2VDYWNoZWRJbXBsKGUtaS5vZmZzZXQsdC1pLm9mZnNldCxpLm5hbWUpKX1yZXR1cm4gbn1taW5NYXhPblJhbmdlKGUsdCxyKXtpZih0aGlzLmlzRW1wdHkoKSlyZXR1cm4gbnVsbDtsZXQgbj1udWxsO2Zvcihjb25zdCBpIG9mIHIpe249ZihuLHRoaXMuX21pbk1heE9uUmFuZ2UoZS1pLm9mZnNldCx0LWkub2Zmc2V0LGkubmFtZSkpfXJldHVybiBufW1lcmdlKGUpe3JldHVybiB0aGlzLl9zaGFyZVJlYWQ/KGwubG9nRGVidWcoIm1lcmdlOiByZWFkb25seSBjb2xsZWN0aW9uIG1vZGlmaWNhdGlvbiBhdHRlbXB0IiksbnVsbCk6MD09PWUubGVuZ3RoP251bGw6dGhpcy5pc0VtcHR5KCl8fGVbZS5sZW5ndGgtMV0uaW5kZXg8dGhpcy5faXRlbXNbMF0uaW5kZXg/dGhpcy5fcHJlcGVuZChlKTplWzBdLmluZGV4PnRoaXMuX2l0ZW1zW3RoaXMuX2l0ZW1zLmxlbmd0aC0xXS5pbmRleD90aGlzLl9hcHBlbmQoZSk6MT09PWUubGVuZ3RoJiZlWzBdLmluZGV4PT09dGhpcy5faXRlbXNbdGhpcy5faXRlbXMubGVuZ3RoLTFdLmluZGV4Pyh0aGlzLl91cGRhdGVMYXN0KGVbMF0pLGVbMF0pOnRoaXMuX21lcmdlKGUpfWFkZFRhaWwoZSx0PSExKXtpZigwPT09ZS5sZW5ndGgpcmV0dXJuO2xldCByPTA7dCYmdGhpcy5fZW5kLXRoaXMuX3N0YXJ0PjAmJihyPTEsCnRoaXMuX2l0ZW1zW3RoaXMuX2VuZC10aGlzLl9zdGFydC0xXS52YWx1ZT1lWzBdLnZhbHVlKTtmb3IobGV0IHQ9cjt0PGUubGVuZ3RoOysrdCl7Y29uc3Qgcj1lW3RdLG49dGhpcy5sYXN0SW5kZXgoKTtpZihudWxsPT09bil7bC5sb2dFcnJvcigiQ2FuJ3QgYWRkIHRhaWwgdG8gdGhlIGVtcHR5IHBsb3RsaXN0Iik7YnJlYWt9dGhpcy5hZGQobisxLHIudmFsdWUpfXRoaXMuX2ludmFsaWRhdGVTZWFyY2hDYWNoZXMoKX1tb3ZlKGUpe2lmKHRoaXMuX3NoYXJlUmVhZClyZXR1cm4gdm9pZCBsLmxvZ0RlYnVnKCJtb3ZlOiByZWFkb25seSBjb2xsZWN0aW9uIG1vZGlmaWNhdGlvbiBhdHRlbXB0Iik7aWYoMD09PWUubGVuZ3RoKXJldHVybjtjb25zdCB0PXRoaXMuX2l0ZW1zLnNsaWNlKCk7Zm9yKGNvbnN0IHIgb2YgZSl7Y29uc3QgZT10aGlzLl9ic2VhcmNoKHIub2xkLGQpO2lmKG51bGwhPT1lJiZ2b2lkIDAhPT10W2VdKWlmKHIubmV3PT09YS5JTlZBTElEX1RJTUVfUE9JTlRfSU5ERVgpdFtlXT12b2lkIDA7ZWxzZXt0W2VdPXtpbmRleDpyLm5ldyx2YWx1ZTp0W2VdLnZhbHVlfTtjb25zdCBuPXRoaXMuX2JzZWFyY2goci5uZXcsZCk7aWYobnVsbCE9PW4pe2NvbnN0IGU9dFtuXTt2b2lkIDAhPT1lJiZlLmluZGV4PT09ci5uZXcmJih0W25dPXZvaWQgMCl9fX10aGlzLl9pdGVtcz10LmZpbHRlcigoZT0+dm9pZCAwIT09ZSkpLnNvcnQoKChlLHQpPT5lLmluZGV4LXQuaW5kZXgpKSx0aGlzLl9pbnZhbGlkYXRlU2VhcmNoQ2FjaGVzKCksdGhpcy5fbWluTWF4Q2FjaGUuY2xlYXIoKSx0aGlzLl9zdGFydD0wLHRoaXMuX2VuZD10aGlzLl9pdGVtcy5sZW5ndGh9cmVtb3ZlKGUpe2lmKHRoaXMuX3NoYXJlUmVhZClyZXR1cm4gbC5sb2dEZWJ1ZygicmVtb3ZlOiByZWFkb25seSBjb2xsZWN0aW9uIG1vZGlmaWNhdGlvbiBhdHRlbXB0IiksbnVsbDtjb25zdCB0PXRoaXMuX25vbkNhY2hlZFNlYXJjaChlLG8uUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdFJpZ2h0LGQpO2lmKG51bGw9PT10KXJldHVybiBudWxsO2NvbnN0IHI9dGhpcy5faXRlbXMuc3BsaWNlKHQpO3JldHVybiB0aGlzLl9lbmQ9dGhpcy5faXRlbXMubGVuZ3RoLHRoaXMuX21pbk1heENhY2hlLmNsZWFyKCksdGhpcy5faW52YWxpZGF0ZVNlYXJjaENhY2hlcygpLHIubGVuZ3RoPjA/clswXTpudWxsfXN0YXRlKCl7Y29uc3QgZT10aGlzLl9pdGVtcy5zbGljZSh0aGlzLl9zdGFydCx0aGlzLl9lbmQpO3JldHVybntzdGFydDowLGVuZDplLmxlbmd0aCxkYXRhOmV9fXJlc3RvcmVTdGF0ZShlKXtlPyh0aGlzLl9zdGFydD1lLnN0YXJ0LHRoaXMuX2VuZD1lLmVuZCx0aGlzLl9zaGFyZVJlYWQ9ITEsdGhpcy5faXRlbXM9ZS5kYXRhLHRoaXMuX21pbk1heENhY2hlLmNsZWFyKCksdGhpcy5faW52YWxpZGF0ZVNlYXJjaENhY2hlcygpKTp0aGlzLmNsZWFyKCl9X2luZGV4QXQoZSl7cmV0dXJuIHRoaXMuX2l0ZW1zW2VdLmluZGV4fV92YWx1ZUF0KGUpe3JldHVybiB0aGlzLl9pdGVtc1tlXS52YWx1ZX1fbGVuZ3RoKCl7cmV0dXJuIHRoaXMuX2l0ZW1zLmxlbmd0aH1fc2VhcmNoSW1wbChlLHQscixuLGkscyl7Y29uc3QgYT12b2lkIDAhPT1zP3I6bixvPXZvaWQgMCE9PXM/MWU0Kih0KzEpK3M6dDtsZXQgbD1hLmdldChlKTtpZih2b2lkIDAhPT1sKXtjb25zdCBlPWwuZ2V0KG8pO2lmKHZvaWQgMCE9PWUpcmV0dXJuIGV9Y29uc3QgdT10aGlzLl9ub25DYWNoZWRTZWFyY2goZSx0LGkscyk7aWYobnVsbD09PXUpcmV0dXJuIG51bGw7Y29uc3QgZD17aW5kZXg6dGhpcy5faW5kZXhBdCh1KSx2YWx1ZTp0aGlzLl92YWx1ZUF0KHUpfTtyZXR1cm4gdm9pZCAwPT09bCYmKGw9bmV3IE1hcCxhLnNldChlLGwpKSxsLnNldChvLGQpLGR9X25vbkNhY2hlZFNlYXJjaChlLHQscixuKXtjb25zdCBpPXRoaXMuX2xvd2VyYm91bmQoZSxyKSxzPWk9PT10aGlzLl9lbmR8fGUhPT1yKHRoaXMuX2l0ZW1zW2ldKTtpZihzJiZ0IT09by5QbG90Um93U2VhcmNoTW9kZS5FeGFjdClzd2l0Y2godCl7Y2FzZSBvLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RMZWZ0OnJldHVybiB0aGlzLl9zZWFyY2hOZWFyZXN0TGVmdChpLG4pO2Nhc2Ugby5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0UmlnaHQ6cmV0dXJuIHRoaXMuX3NlYXJjaE5lYXJlc3RSaWdodChpLG4pO2RlZmF1bHQ6dGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biBzZWFyY2ggbW9kZSIpfWlmKHZvaWQgMD09PW58fHN8fHQ9PT1vLlBsb3RSb3dTZWFyY2hNb2RlLkV4YWN0KXJldHVybiBzP251bGw6aTtzd2l0Y2godCl7Y2FzZSBvLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RMZWZ0OnJldHVybiB0aGlzLl9ub25FbXB0eU5lYXJlc3RMZWZ0KGksbik7Y2FzZSBvLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RSaWdodDpyZXR1cm4gdGhpcy5fbm9uRW1wdHlOZWFyZXN0UmlnaHQoaSxuKTtkZWZhdWx0OnRocm93IG5ldyBUeXBlRXJyb3IoIlVua25vd24gc2VhcmNoIG1vZGUiKX19X25vbkVtcHR5TmVhcmVzdFJpZ2h0KGUsdCl7Y29uc3Qgcj0oMCxuLmVuc3VyZSkodGhpcy5fZW1wdHlWYWx1ZVByZWRpY2F0ZSksaT0oMCxuLmVuc3VyZSkodCk7Zm9yKDtlPHRoaXMuX2VuZCYmcih0aGlzLl92YWx1ZUF0KGUpLGkpOyllKz0xO3JldHVybiBlPT09dGhpcy5fZW5kP251bGw6ZX1fbm9uRW1wdHlOZWFyZXN0TGVmdChlLHQpe2NvbnN0IHI9KDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9lbXB0eVZhbHVlUHJlZGljYXRlKSxpPSgwLG4uZW5zdXJlKSh0KTtmb3IoO2U+PXRoaXMuX3N0YXJ0JiZyKHRoaXMuX3ZhbHVlQXQoZSksaSk7KWUtPTE7cmV0dXJuIGU8dGhpcy5fc3RhcnQ/bnVsbDplfV9zZWFyY2hOZWFyZXN0TGVmdChlLHQpe2lmKGU9PT10aGlzLl9zdGFydClyZXR1cm4gbnVsbDtjb25zdCByPWUtMSxuPXIhPT10aGlzLl9lbmQ/cjpudWxsO3JldHVybiB2b2lkIDAhPT10JiZudWxsIT09bj90aGlzLl9ub25FbXB0eU5lYXJlc3RMZWZ0KG4sdCk6bn1fc2VhcmNoTmVhcmVzdFJpZ2h0KGUsdCl7Y29uc3Qgcj1lLG49ciE9PXRoaXMuX2VuZD9yOm51bGwKO3JldHVybiB2b2lkIDAhPT10JiZudWxsIT09bj90aGlzLl9ub25FbXB0eU5lYXJlc3RSaWdodChuLHQpOm59X2JzZWFyY2goZSx0KXtjb25zdCByPXRoaXMuX2xvd2VyYm91bmQoZSx0KTtyZXR1cm4gciE9PXRoaXMuX2VuZCYmZT09PXQodGhpcy5faXRlbXNbcl0pP3I6bnVsbH1fbG93ZXJib3VuZChlLHQpe3JldHVybigwLHMubG93ZXJib3VuZCkodGhpcy5faXRlbXMsZSwoKGUscik9PnQoZSk8ciksdGhpcy5fc3RhcnQsdGhpcy5fZW5kKX1fdXBwZXJib3VuZChlKXtyZXR1cm4oMCxzLnVwcGVyYm91bmQpKHRoaXMuX2l0ZW1zLGUsKChlLHQpPT50LmluZGV4PmUpLHRoaXMuX3N0YXJ0LHRoaXMuX2VuZCl9X3Bsb3RNaW5NYXgoZSx0LHIpe2xldCBuPW51bGw7Y29uc3QgaT10aGlzLl9wbG90RnVuY3Rpb25zLmdldChyKTtpZih2b2lkIDA9PT1pKXRocm93IG5ldyBFcnJvcihgUGxvdCAiJHtyfSIgaXMgbm90IHJlZ2lzdGVyZWRgKTtmb3IobGV0IHI9ZTtyPHQ7cisrKXtjb25zdCBlPWkodGhpcy5faXRlbXNbcl0udmFsdWUpO251bGw9PWV8fE51bWJlci5pc05hTihlKXx8KG51bGw9PT1uP249e21pbjplLG1heDplfTooZTxuLm1pbiYmKG4ubWluPWUpLGU+bi5tYXgmJihuLm1heD1lKSkpfXJldHVybiBufV9pbnZhbGlkYXRlQ2FjaGVGb3JSb3coZSl7Y29uc3QgdD1NYXRoLmZsb29yKGUuaW5kZXgvdSk7dGhpcy5fbWluTWF4Q2FjaGUuZm9yRWFjaCgoZT0+ZS5kZWxldGUodCkpKX1fcHJlcGVuZChlKXtyZXR1cm4oMCxuLmFzc2VydCkoIXRoaXMuX3NoYXJlUmVhZCwiY29sbGVjdGlvbiBzaG91bGQgbm90IGJlIHJlYWRvbmx5IiksKDAsbi5hc3NlcnQpKDAhPT1lLmxlbmd0aCwicGxvdFJvd3Mgc2hvdWxkIG5vdCBiZSBlbXB0eSIpLHRoaXMuX2ludmFsaWRhdGVTZWFyY2hDYWNoZXMoKSx0aGlzLl9taW5NYXhDYWNoZS5jbGVhcigpLHRoaXMuX2l0ZW1zPWUuY29uY2F0KHRoaXMuX2l0ZW1zKSx0aGlzLl9zdGFydD0wLHRoaXMuX2VuZD10aGlzLl9pdGVtcy5sZW5ndGgsZVswXX1fYXBwZW5kKGUpe3JldHVybigwLG4uYXNzZXJ0KSghdGhpcy5fc2hhcmVSZWFkLCJjb2xsZWN0aW9uIHNob3VsZCBub3QgYmUgcmVhZG9ubHkiKSwoMCxuLmFzc2VydCkoMCE9PWUubGVuZ3RoLCJwbG90Um93cyBzaG91bGQgbm90IGJlIGVtcHR5IiksdGhpcy5faW52YWxpZGF0ZVNlYXJjaENhY2hlcygpLHRoaXMuX21pbk1heENhY2hlLmNsZWFyKCksdGhpcy5faXRlbXM9dGhpcy5faXRlbXMuY29uY2F0KGUpLHRoaXMuX3N0YXJ0PTAsdGhpcy5fZW5kPXRoaXMuX2l0ZW1zLmxlbmd0aCxlWzBdfV91cGRhdGVMYXN0KGUpeygwLG4uYXNzZXJ0KSghdGhpcy5pc0VtcHR5KCksInBsb3QgbGlzdCBzaG91bGQgbm90IGJlIGVtcHR5Iik7Y29uc3QgdD10aGlzLl9pdGVtc1t0aGlzLl9lbmQtMV07KDAsbi5hc3NlcnQpKHQuaW5kZXg9PT1lLmluZGV4LCJsYXN0IHJvdyBpbmRleCBzaG91bGQgbWF0Y2ggbmV3IHJvdyBpbmRleCIpLHRoaXMuX2ludmFsaWRhdGVDYWNoZUZvclJvdyhlKSx0aGlzLl9pbnZhbGlkYXRlU2VhcmNoQ2FjaGVzKCksdGhpcy5faXRlbXNbdGhpcy5fZW5kLTFdPWV9X21lcmdlKGUpe3JldHVybigwLG4uYXNzZXJ0KSgwIT09ZS5sZW5ndGgsInBsb3Qgcm93cyBzaG91bGQgbm90IGJlIGVtcHR5IiksdGhpcy5faW52YWxpZGF0ZVNlYXJjaENhY2hlcygpLHRoaXMuX21pbk1heENhY2hlLmNsZWFyKCksdGhpcy5faXRlbXM9ZnVuY3Rpb24oZSx0KXtjb25zdCByPWZ1bmN0aW9uKGUsdCl7Y29uc3Qgcj1lLmxlbmd0aCxuPXQubGVuZ3RoO2xldCBpPXIrbixzPTAsYT0wO2Zvcig7czxyJiZhPG47KWVbc10uaW5kZXg8dFthXS5pbmRleD9zKys6ZVtzXS5pbmRleD50W2FdLmluZGV4P2ErKzoocysrLGErKyxpLS0pO3JldHVybiBpfShlLHQpLG49bmV3IEFycmF5KHIpO2xldCBpPTAscz0wO2NvbnN0IGE9ZS5sZW5ndGgsbz10Lmxlbmd0aDtsZXQgbD0wO2Zvcig7aTxhJiZzPG87KWVbaV0uaW5kZXg8dFtzXS5pbmRleD8obltsXT1lW2ldLGkrKyk6ZVtpXS5pbmRleD50W3NdLmluZGV4PyhuW2xdPXRbc10scysrKToobltsXT10W3NdLGkrKyxzKyspLGwrKztmb3IoO2k8YTspbltsXT1lW2ldLGkrKyxsKys7Zm9yKDtzPG87KW5bbF09dFtzXSxzKyssbCsrO3JldHVybiBufSh0aGlzLl9pdGVtcyxlKSx0aGlzLl9zdGFydD0wLHRoaXMuX2VuZD10aGlzLl9pdGVtcy5sZW5ndGgsZVswXX1fbWluTWF4T25SYW5nZUNhY2hlZEltcGwoZSx0LHIpe2lmKHRoaXMuaXNFbXB0eSgpKXJldHVybiBudWxsO2xldCBpPW51bGw7Y29uc3Qgcz0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuZmlyc3RJbmRleCgpKSxhPSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5sYXN0SW5kZXgoKSksbz1NYXRoLm1heChlLHMpLGw9TWF0aC5taW4odCxhKSxkPU1hdGguY2VpbChvL3UpKnUsYz1NYXRoLm1heChkLE1hdGguZmxvb3IobC91KSp1KTtpPWYoaSx0aGlzLl9taW5NYXhPblJhbmdlKG8sTWF0aC5taW4oZCx0LGwpLHIpKTtsZXQgaD10aGlzLl9taW5NYXhDYWNoZS5nZXQocik7dm9pZCAwPT09aCYmKGg9bmV3IE1hcCx0aGlzLl9taW5NYXhDYWNoZS5zZXQocixoKSk7Zm9yKGxldCBlPU1hdGgubWF4KGQrMSxvKTtlPGM7ZSs9dSl7Y29uc3QgdD1NYXRoLmZsb29yKGUvdSk7bGV0IG49aC5nZXQodCk7aWYodm9pZCAwPT09bil7Y29uc3QgZT10KnUsaT0odCsxKSp1LTE7bj10aGlzLl9taW5NYXhPblJhbmdlKGUsaSxyKSxoLnNldCh0LG4pfWk9ZihpLG4pfWk9ZihpLHRoaXMuX21pbk1heE9uUmFuZ2UoYyxsLHIpKTtyZXR1cm4gaX1fbWluTWF4T25SYW5nZShlLHQscil7cmV0dXJuIHRoaXMuX3Bsb3RNaW5NYXgodGhpcy5fbG93ZXJib3VuZChlLGQpLHRoaXMuX3VwcGVyYm91bmQodCkscil9X3JhbmdlSXRlcmF0b3JJbXBsKGUsdCl7bGV0IHI9ZS0xO3JldHVybntbU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiB0aGlzfSxuZXh0OigpPT4ocis9MSxyPj10P3tkb25lOiEwLHZhbHVlOnZvaWQgMH06e2RvbmU6ITEsdmFsdWU6dGhpcy5faXRlbXNbcl19KX19X2ludmFsaWRhdGVTZWFyY2hDYWNoZXMoKXsKdGhpcy5fcm93U2VhcmNoQ2FjaGVCeUluZGV4LmNsZWFyKCksdGhpcy5fcm93U2VhcmNoQ2FjaGVCeUluZGV4V2l0aG91dEVtcHR5VmFsdWVzLmNsZWFyKCksdGhpcy5fcm93U2VhcmNoQ2FjaGVCeVRpbWUuY2xlYXIoKSx0aGlzLl9yb3dTZWFyY2hDYWNoZUJ5VGltZVdpdGhvdXRFbXB0eVZhbHVlcy5jbGVhcigpfX1mdW5jdGlvbiBmKGUsdCl7aWYobnVsbD09PWUpcmV0dXJuIHQ7aWYobnVsbD09PXQpcmV0dXJuIGU7cmV0dXJue21pbjpNYXRoLm1pbihlLm1pbix0Lm1pbiksbWF4Ok1hdGgubWF4KGUubWF4LHQubWF4KX19fSw2MTkxNjUoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7U2VyaWVzRGF0YTooKT0+Zn0pO3ZhciBuLGkscz1yKDEzODYzOCksYT1yKDg1NzE1MSksbz1yKDQ3NTQ3OCk7IWZ1bmN0aW9uKGUpe2VbZS5Gcm9tTGVmdD0tMV09IkZyb21MZWZ0IixlW2UuRnJvbVJpZ2h0PTFdPSJGcm9tUmlnaHQifShufHwobj17fSkpLGZ1bmN0aW9uKGUpe2VbZS5UaW1lPTBdPSJUaW1lIixlW2UuT3Blbj0xXT0iT3BlbiIsZVtlLkhpZ2g9Ml09IkhpZ2giLGVbZS5Mb3c9M109IkxvdyIsZVtlLkNsb3NlPTRdPSJDbG9zZSIsZVtlLlZvbHVtZT01XT0iVm9sdW1lIixlW2UuQWR0PTZdPSJBZHQifShpfHwoaT17fSkpO2NvbnN0IGw9WyJvcGVuIiwiaGlnaCIsImxvdyIsImNsb3NlIiwiaGwyIiwiaGxjMyIsIm9obGM0Il07dmFyIHU7IWZ1bmN0aW9uKGUpe2VbZS5GaXJzdFByaWNlPTBdPSJGaXJzdFByaWNlIixlW2UuTGFzdFByaWNlPTFdPSJMYXN0UHJpY2UiLGVbZS5MYXN0VmFsdWVQcmljZT0yXT0iTGFzdFZhbHVlUHJpY2UifSh1fHwodT17fSkpO2NvbnN0IGQ9e29wZW46ZT0+ZVsxXSxoaWdoOmU9PmVbMl0sbG93OmU9PmVbM10sY2xvc2U6ZT0+ZVs0XSxobDI6ZT0+KGVbMl0rZVszXSkvMixobGMzOmU9PihlWzJdK2VbM10rZVs0XSkvMyxvaGxjNDplPT4oZVsxXStlWzJdK2VbM10rZVs0XSkvNH07ZnVuY3Rpb24gYygpe2NvbnN0IGU9bmV3IE1hcDtyZXR1cm4gbC5mb3JFYWNoKCgodCxyKT0+e2Uuc2V0KHQsZnVuY3Rpb24oZSx0LHIpe2NvbnN0IG49ZFt0Pz9lXSxpPWRbZV0scz1kW3I/P2VdO3JldHVybihlLHQpPT57c3dpdGNoKHQpe2Nhc2UgMDpyZXR1cm4gbihlKTtjYXNlIDI6cmV0dXJuIHMoZSk7ZGVmYXVsdDpyZXR1cm4gaShlKX19fSh0KSl9KSksZX1mdW5jdGlvbiBoKGUsdCl7cmV0dXJuIG51bGw9PWVbdF19Y2xhc3MgZntjb25zdHJ1Y3Rvcigpe3RoaXMubV9iYXJzPW5ldyBhLlBsb3RMaXN0KGMoKSxoKSx0aGlzLm1fbnNCYXJzPW5ldyBhLlBsb3RMaXN0KGMoKSxoKSx0aGlzLl9jb25mbGF0ZWRDaHVua3NCdWlsZGVyPW5ldyBvLkNvbmZsYXRlZENodW5rc0J1aWxkZXIodGhpcy5tX2JhcnMsKGU9PmRbZV0pKX1iYXJzKCl7cmV0dXJuIHRoaXMubV9iYXJzfW5zQmFycygpe3JldHVybiB0aGlzLm1fbnNCYXJzfWNvbmZsYXRlZENodW5rcyhlLHQpe3JldHVybiB0aGlzLl9jb25mbGF0ZWRDaHVua3NCdWlsZGVyLmNvbmZsYXRlZENodW5rcyhlLHQpfW1lcmdlUmVndWxhckJhcnMoZSl7cmV0dXJuIHRoaXMuX2NvbmZsYXRlZENodW5rc0J1aWxkZXIubWVyZ2VEYXRhKGUpfXNpemUoKXtyZXR1cm4gdGhpcy5tX2JhcnMuc2l6ZSgpK3RoaXMubV9uc0JhcnMuc2l6ZSgpfWVhY2goZSl7dGhpcy5tX2JhcnMuZWFjaChlKSx0aGlzLm1fbnNCYXJzLmVhY2goZSl9Y2xlYXIoKXt0aGlzLm1fbnNCYXJzLmNsZWFyKCksdGhpcy5sYXN0UHJvamVjdGlvblByaWNlPXZvaWQgMCx0aGlzLl9jb25mbGF0ZWRDaHVua3NCdWlsZGVyLmNsZWFyRGF0YSgpfWNsb25lKCl7Y29uc3QgZT1uZXcgZjtyZXR1cm4gZS5sYXN0UHJvamVjdGlvblByaWNlPXRoaXMubGFzdFByb2plY3Rpb25QcmljZSxlLmJveFNpemU9dGhpcy5ib3hTaXplLGUucmV2ZXJzYWxBbW91bnQ9dGhpcy5yZXZlcnNhbEFtb3VudCxlLm1fYmFycz10aGlzLm1fYmFycy5jbG9uZSgpLGUubV9uc0JhcnM9dGhpcy5tX2JhcnMuY2xvbmUoKSxlfWlzRW1wdHkoKXtyZXR1cm4gdGhpcy5tX2JhcnMuaXNFbXB0eSgpJiZ0aGlzLm1fbnNCYXJzLmlzRW1wdHkoKX1maXJzdCgpe3JldHVybiB0aGlzLm1fYmFycy5pc0VtcHR5KCk/dGhpcy5tX25zQmFycy5maXJzdCgpOnRoaXMubV9iYXJzLmZpcnN0KCl9bGFzdCgpe3JldHVybiB0aGlzLm1fbnNCYXJzLmlzRW1wdHkoKT90aGlzLm1fYmFycy5sYXN0KCk6dGhpcy5tX25zQmFycy5sYXN0KCl9c2VhcmNoKGUsdCxyKXtyZXR1cm4gdGhpcy5uc0JhcnMoKS5pc0VtcHR5KCk/dGhpcy5iYXJzKCkuc2VhcmNoKGUsdCxyKTp0aGlzLmJhcnMoKS5pc0VtcHR5KCl8fCgwLHMuZW5zdXJlTm90TnVsbCkodGhpcy5uc0JhcnMoKS5maXJzdEluZGV4KCkpPD1lP3RoaXMubnNCYXJzKCkuc2VhcmNoKGUsdCxyKTp0aGlzLmJhcnMoKS5zZWFyY2goZSx0LHIpfXZhbHVlQXQoZSl7Y29uc3QgdD10aGlzLnNlYXJjaChlKTtyZXR1cm4gbnVsbCE9PXQ/dC52YWx1ZTpudWxsfXBsb3RWYWx1ZVRvVGltZVBvaW50SW5kZXgoZSx0LHIpe2lmKHI9PT1uLkZyb21SaWdodCl7Y29uc3Qgcj0ocixuKT0+e2NvbnN0IGk9blt0XTtyZXR1cm4gbnVsbCE9aSYmZT49aX0sbj10aGlzLm1fYmFycy5maW5kTGFzdChyKTtpZihudWxsIT09bilyZXR1cm4gbi5pbmRleDtjb25zdCBpPXRoaXMubV9uc0JhcnMuZmluZExhc3Qocik7cmV0dXJuIG51bGwhPT1pP2kuaW5kZXg6dGhpcy5tX2JhcnMuZmlyc3RJbmRleCgpfWlmKHI9PT1uLkZyb21MZWZ0KXtjb25zdCByPShyLG4pPT57Y29uc3QgaT1uW3RdO3JldHVybiBudWxsIT1pJiZlPD1pfSxuPXRoaXMubV9iYXJzLmZpbmRGaXJzdChyKTtpZihudWxsIT09bilyZXR1cm4gbi5pbmRleDtjb25zdCBpPXRoaXMubV9uc0JhcnMuZmluZEZpcnN0KHIpO3JldHVybiBudWxsIT09aT9pLmluZGV4OnRoaXMubV9iYXJzLmxhc3RJbmRleCgpfXRocm93IG5ldyBFcnJvcigicGxvdFZhbHVlVG9UaW1lUG9pbnRJbmRleDogdW5zdXBwb3J0ZWQgc2VhcmNoIG1vZGUiKX1tb3ZlRGF0YShlKXt0aGlzLl9jb25mbGF0ZWRDaHVua3NCdWlsZGVyLm1vdmVEYXRhKGUpLHRoaXMubV9uc0JhcnMubW92ZShlKX19fSwKNzczMDg4KGUsdCxyKXsidXNlIHN0cmljdCI7dmFyIG47ZnVuY3Rpb24gaShlLHQpe3JldHVybiJwZXJpb2QtYmFjayI9PT1lLnR5cGUmJiJwZXJpb2QtYmFjayI9PT10LnR5cGU/ZS52YWx1ZT09PXQudmFsdWU6InRpbWUtcmFuZ2UiPT09ZS50eXBlJiYidGltZS1yYW5nZSI9PT10LnR5cGUmJihlLmZyb209PT10LmZyb20mJmUudG89PT10LnRvKX1mdW5jdGlvbiBzKGUsdD0hMSl7aWYoInBlcmlvZC1iYWNrIj09PWUudHlwZSl7bGV0IHI9ZS52YWx1ZTtyZXR1cm4gdCYmIllURCIhPT1yJiYiRCI9PT1yLnNsaWNlKC0xKSYmKHI9ci5zbGljZSgwLC0xKSkscn1yZXR1cm4iciwiK2UuZnJvbSsiOiIrZS50b31mdW5jdGlvbiBhKGUpe2NvbnN0IHQ9L3IsKFxkKyk6KFxkKykvLmV4ZWMoZSk7cmV0dXJuIG51bGwhPT10P3tmcm9tOk51bWJlcih0WzFdKSx0bzpOdW1iZXIodFsyXSksdHlwZToidGltZS1yYW5nZSJ9Ont2YWx1ZTplLHR5cGU6InBlcmlvZC1iYWNrIn19ci5kKHQse2FyZUVxdWFsVGltZUZyYW1lczooKT0+aSxjb252ZXJ0U3RyVG9UaW1lRnJhbWU6KCk9PmEsY29udmVydFRpbWVGcmFtZVRvU3RyOigpPT5zfSksZnVuY3Rpb24oZSl7ZS5QZXJpb2RCYWNrPSJwZXJpb2QtYmFjayIsZS5UaW1lUmFuZ2U9InRpbWUtcmFuZ2UifShufHwobj17fSkpfSw4MTA0MShlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtTdGRUaGVtZTooKT0+bi5TdGRUaGVtZX0pO3ZhciBuPXIoMjQ3OTAxKX0sNDA3Nzk5KGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse2VuY29kZUV4dGVuZGVkU3ltYm9sT3JHZXRTaW1wbGVTeW1ib2xTdHJpbmc6KCk9Pml9KTt2YXIgbj1yKDExMTk1Myk7ZnVuY3Rpb24gaShlKXtyZXR1cm4oMCxuLmVuY29kZUV4dGVuZGVkU3ltYm9sU3RydWN0dXJhbCkoZSl9fSwzMTQ5MTQoZSx0LHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDg1Mjk4MCksaT1yKDkzMDIzMSk7Y29uc3Qgcz0oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJwYXlfYXR0ZW50aW9uX3RvX3RpY2tlcl9ub3Rfc3ltYm9sIiksYT0oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJjaGFydGluZ19saWJyYXJ5X3NpbmdsZV9zeW1ib2xfcmVxdWVzdCIpLG89KDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgidXNlX3RpY2tlcl9vbl9zeW1ib2xfaW5mb191cGRhdGUiKSxsPSgwLGkuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIik7bi5leHRyYWN0U3ltYm9sTmFtZUZyb21TeW1ib2xJbmZvLmJpbmQobnVsbCx7cGF5QXR0ZW50aW9uVG9UaWNrZXJOb3RTeW1ib2w6cyxjaGFydGluZ0xpYnJhcnlTaW5nbGVTeW1ib2xSZXF1ZXN0OmEsdXNlVGlja2VyT25TeW1ib2xJbmZvVXBkYXRlOm8sdXBwZXJjYXNlSW5zdHJ1bWVudE5hbWVzOmx9KX0sNTgwMzcoZSx0LHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbixpOyFmdW5jdGlvbihlKXtlW2UuT2ZmbGluZT0wXT0iT2ZmbGluZSIsZVtlLlJlc29sdmluZz0xXT0iUmVzb2x2aW5nIixlW2UuTG9hZGluZz0yXT0iTG9hZGluZyIsZVtlLlJlYWR5PTNdPSJSZWFkeSIsZVtlLkludmFsaWRTeW1ib2w9NF09IkludmFsaWRTeW1ib2wiLGVbZS5TbmFwc2hvdD01XT0iU25hcHNob3QiLGVbZS5FT0Q9Nl09IkVPRCIsZVtlLlB1bHNlPTddPSJQdWxzZSIsZVtlLkRlbGF5ZWQ9OF09IkRlbGF5ZWQiLGVbZS5EZWxheWVkU3RlYW1pbmc9OV09IkRlbGF5ZWRTdGVhbWluZyIsZVtlLk5vQmFycz0xMF09Ik5vQmFycyIsZVtlLlJlcGxheT0xMV09IlJlcGxheSIsZVtlLkVycm9yPTEyXT0iRXJyb3IiLGVbZS5DYWxjdWxhdGlvbkVycm9yPTEzXT0iQ2FsY3VsYXRpb25FcnJvciIsZVtlLlVuc3VwcG9ydGVkUmVzb2x1dGlvbj0xNF09IlVuc3VwcG9ydGVkUmVzb2x1dGlvbiJ9KG58fChuPXt9KSksZnVuY3Rpb24oZSl7ZVtlLk1hcmtlcnM9MF09Ik1hcmtlcnMiLGVbZS5TdGVwbGluZT0xXT0iU3RlcGxpbmUiLGVbZS5TaW1wbGU9Ml09IlNpbXBsZSJ9KGl8fChpPXt9KSl9LDgzNzIwMyhlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtTZXJpZXNEYXRhU291cmNlOigpPT5uLlNlcmllc0RhdGFTb3VyY2V9KTt2YXIgbj1yKDkzNTI0MCksaT1yKDExMTk1Mykscz1yKDg1NjU2KSxhPXIoOTMwMjMxKTtuLlNlcmllc0RhdGFTb3VyY2Uuc2V0Tm9uU2VyaWVzRGF0YVVucGFja2VyKHMudW5wYWNrTm9uU2VyaWVzRGF0YUNvbXByZXNzZWQpLG4uU2VyaWVzRGF0YVNvdXJjZS5zZXRTeW1ib2xFbmNvZGVyKGkuZW5jb2RlRXh0ZW5kZWRTeW1ib2xTdHJ1Y3R1cmFsKSxuLlNlcmllc0RhdGFTb3VyY2Uuc2V0RXh0cmFjdFN5bWJvbEZlYXR1cmVzZXRzKHtwYXlBdHRlbnRpb25Ub1RpY2tlck5vdFN5bWJvbDooMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJwYXlfYXR0ZW50aW9uX3RvX3RpY2tlcl9ub3Rfc3ltYm9sIiksY2hhcnRpbmdMaWJyYXJ5U2luZ2xlU3ltYm9sUmVxdWVzdDooMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJjaGFydGluZ19saWJyYXJ5X3NpbmdsZV9zeW1ib2xfcmVxdWVzdCIpLHVzZVRpY2tlck9uU3ltYm9sSW5mb1VwZGF0ZTooMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1c2VfdGlja2VyX29uX3N5bWJvbF9pbmZvX3VwZGF0ZSIpLHVwcGVyY2FzZUluc3RydW1lbnROYW1lczooMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1cHBlcmNhc2VfaW5zdHJ1bWVudF9uYW1lcyIpfSl9LDc3NzY2MShlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtzdHVkeVRwb1ByZXJpb2RpY0lkOigpPT5uLHN0dWR5VHBvU2Vzc2lvbnNJZDooKT0+aX0pO2NvbnN0IG49IlRQT1BlcmlvZGljQHR2LXZvbHVtZWJ5cHJpY2UiLGk9IlRQT1Nlc3Npb25zQHR2LXZvbHVtZWJ5cHJpY2UifSw3Mjg0MzYoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7c3R1ZHlWb2xGb290cHJpbnRJZDooKT0+bn0pO2NvbnN0IG49IkZvb3RwcmludEB0di12b2x1bWVieXByaWNlIn0sNTUwMzkzKGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse3N0dWR5VmJQU2Vzc2lvbnNJZDooKT0+bn0pO2NvbnN0IG49IlZiUFNlc3Npb25zQHR2LXZvbHVtZWJ5cHJpY2UifSw1OTE3NDEoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7CmdldFRpbWVGb3JtYXRGb3JJbnRlcnZhbDooKT0+aX0pO3ZhciBuPXIoMjM4MTAzKTtmdW5jdGlvbiBpKGUsdCl7aWYoZS5pc1JhbmdlKCkpcmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiIxMi1ob3VycyI9PT1lP24udHdlbHZlSG91ck1pbnV0ZU5vblplcm9TZWNvbmRGb3JtYXQ6bi5ob3VyTWludXRlTm9uWmVyb1NlY29uZEZvcm1hdH0odCk7aWYoZS5pc1RpY2tzKCkpcmV0dXJuIG4uaG91ck1pbnV0ZVNlY29uZE1pbGxpc2VjRm9ybWF0O3JldHVybiBlLmlzU2Vjb25kcygpfHxlLmlzVGlja3MoKT9mdW5jdGlvbihlKXtyZXR1cm4iMTItaG91cnMiPT09ZT9uLnR3ZWx2ZUhvdXJNaW51dGVTZWNvbmRGb3JtYXQ6bi5ob3VyTWludXRlU2Vjb25kRm9ybWF0fSh0KTpmdW5jdGlvbihlKXtyZXR1cm4iMTItaG91cnMiPT09ZT9uLnR3ZWx2ZUhvdXJNaW51dGVGb3JtYXQ6bi5ob3VyTWludXRlRm9ybWF0fSh0KX19LDg3MzU3MyhlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHthcHBseUFscGhhOigpPT5zLGFwcGx5VHJhbnNwYXJlbmN5OigpPT5vLGdlbmVyYXRlQ29sb3I6KCk9PmkscmVzZXRUcmFuc3BhcmVuY3k6KCk9Pmx9KTt2YXIgbj1yKDEzNDY3KTtmdW5jdGlvbiBpKGUsdCxyKXtpZih0PXR8fDAsIXUoZSkpcmV0dXJuIHI/KDAsbi5yZ2JhVG9TdHJpbmcpKCgwLG4ucmdiYSkoKDAsbi5wYXJzZVJnYikoZSksKDAsbi5ub3JtYWxpemVBbHBoYUNvbXBvbmVudCkoYSh0KSkpKTplO2NvbnN0W2kscyxvXT0oMCxuLnBhcnNlUmdiKShlKSxsPSgwLG4ubm9ybWFsaXplQWxwaGFDb21wb25lbnQpKGEodCkpO3JldHVybigwLG4ucmdiYVRvU3RyaW5nKShbaSxzLG8sbF0pfWZ1bmN0aW9uIHMoZSx0LHIpe2NvbnN0IGk9KDAsbi50cnlQYXJzZVJnYmEpKGUpO2lmKG51bGw9PT1pKXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb2xvcjogJHtlfWApO2NvbnN0W3MsYSxvLGxdPWksdT0oMCxuLm5vcm1hbGl6ZUFscGhhQ29tcG9uZW50KSh0KihyP2w6MSkpO3JldHVybigwLG4ucmdiYVRvU3RyaW5nKSgoMCxuLnJnYmEpKFtzLGEsb10sdSkpfWZ1bmN0aW9uIGEoZSl7aWYoZTwwfHxlPjEwMCl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgdHJhbnNwYXJlbmN5Iik7cmV0dXJuIDEtZS8xMDB9ZnVuY3Rpb24gbyhlLHQpe2lmKCJ0cmFuc3BhcmVudCI9PT1lKXJldHVybiBlO2NvbnN0IHI9KDAsbi5wYXJzZVJnYmEpKGUpLGk9clszXTtyZXR1cm4oMCxuLnJnYmFUb1N0cmluZykoKDAsbi5yZ2JhKShyWzBdLHJbMV0sclsyXSxhKHQpKmkpKX1mdW5jdGlvbiBsKGUpe3JldHVybiJ0cmFuc3BhcmVudCI9PT1lP2U6dShlKT9lLnNsaWNlKDAsNyk6KDAsbi5yZ2JhVG9TdHJpbmcpKCgwLG4ucmdiYSkoKDAsbi5wYXJzZVJnYikoZSksKDAsbi5ub3JtYWxpemVBbHBoYUNvbXBvbmVudCkoMSkpKX1mdW5jdGlvbiB1KGUpe3JldHVybiAwPT09ZS5pbmRleE9mKCIjIil9fX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/js/ion.rangeSlider.js","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:32.896Z","timestamp":1785120632896,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /js/ion.rangeSlider.js HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:32 GMT\r\nContent-Type: application/javascript; charset=utf-8\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-142ca\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":82634,"size_decoded":16508,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with CRLF line terminators","md5":"b609397f34127faae547ddb1a11fad93","sha1":"3ddb2bab4340c8ee2c62e62521d55a4b106c8b40","sha256":"cde4b7053bcabb9de37b2ad3448c6c6878d15b9de2f8dac9895345d485c140ff","sha512":"105515d791800f7b1f6021d7a788cb54b05a5540a2a2239320e215ac3119d519af95f4ec25143c50d95b2006869fb9ddaf2e35b1906f79b9045d4a25ff332f18","ssdeep":"1536:Snnr2ubhgdn1dsuvYTHmf3xxwdxv9xwd1Ls4V:Sbgd1dkvwLs4V","tlshash":"b883d05a1b9a2251c532a3a89f0d020eeb36922f560341ac7dbdd3d81fb673451b9f7c","first_seen":"2026-01-28T20:42:21.533326Z","last_seen":"2026-07-27T02:59:54.606612Z","times_seen":5,"resource_available":true,"data":"Ly8gSW9uLlJhbmdlU2xpZGVyDQovLyB2ZXJzaW9uIDIuMS40IEJ1aWxkOiAzNTUNCi8vIMKpIERlbmlzIEluZXNoaW4sIDIwMTYNCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Jb25EZW4NCi8vDQovLyBQcm9qZWN0IHBhZ2U6ICAgIGh0dHA6Ly9pb25kZW4uY29tL2EvcGx1Z2lucy9pb24ucmFuZ2VTbGlkZXIvZW4uaHRtbA0KLy8gR2l0SHViIHBhZ2U6ICAgICBodHRwczovL2dpdGh1Yi5jb20vSW9uRGVuL2lvbi5yYW5nZVNsaWRlcg0KLy8NCi8vIFJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbmNlOg0KLy8gaHR0cDovL2lvbmRlbi5jb20vYS9wbHVnaW5zL2xpY2VuY2UtZW4uaHRtbA0KLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoNCihmdW5jdGlvbiAoZmFjdG9yeSkgew0KICAgIGlmICh0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpIHsNCiAgICAgICAgZGVmaW5lKFsnanF1ZXJ5J10sIGZ1bmN0aW9uICgkKSB7DQogICAgICAgICAgICBmYWN0b3J5KCQsIGRvY3VtZW50LCB3aW5kb3csIG5hdmlnYXRvcik7DQogICAgICAgIH0pOw0KICAgIH0gZWxzZSB7DQogICAgICAgIGZhY3RvcnkoalF1ZXJ5LCBkb2N1bWVudCwgd2luZG93LCBuYXZpZ2F0b3IpOw0KICAgIH0NCn0gKGZ1bmN0aW9uICgkLCBkb2N1bWVudCwgd2luZG93LCBuYXZpZ2F0b3IsIHVuZGVmaW5lZCkgew0KICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogICAgLy8gU2VydmljZQ0KDQogICAgdmFyIHBsdWdpbl9jb3VudCA9IDA7DQoNCiAgICAvLyBJRTggZml4DQogICAgdmFyIGlzX29sZF9pZSAgKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgdmFyIG4gPSBuYXZpZ2F0b3IudXNlckFnZW50LA0KICAgICAgICAgICAgciA9IC9tc2llXHNcZCsvaSwNCiAgICAgICAgICAgIHY7DQogICAgICAgIGlmIChuLnNlYXJjaChyKSA+IDApIHsNCiAgICAgICAgICAgIHYgPSByLmV4ZWMobikudG9TdHJpbmcoKTsNCiAgICAgICAgICAgIHYgPSB2LnNwbGl0KCIgIilbMV07DQogICAgICAgICAgICBpZiAodiA8IDkpIHsNCiAgICAgICAgICAgICAgICAkKCJodG1sIikuYWRkQ2xhc3MoImx0LWllOSIpOw0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9ICgpKTsNCiAgICBpZiAoIUZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kKSB7DQogICAgICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kID0gZnVuY3Rpb24gYmluZCh0aGF0KSB7DQoNCiAgICAgICAgICAgIHZhciB0YXJnZXQgPSB0aGlzOw0KICAgICAgICAgICAgdmFyIHNsaWNlID0gW10uc2xpY2U7DQoNCiAgICAgICAgICAgIGlmICh0eXBlb2YgdGFyZ2V0ICE9ICJmdW5jdGlvbiIpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciBhcmdzID0gc2xpY2UuY2FsbChhcmd1bWVudHMsIDEpLA0KICAgICAgICAgICAgICAgIGJvdW5kID0gZnVuY3Rpb24gKCkgew0KDQogICAgICAgICAgICAgICAgICAgIGlmICh0aGlzIGluc3RhbmNlb2YgYm91bmQpIHsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIEYgPSBmdW5jdGlvbigpe307DQogICAgICAgICAgICAgICAgICAgICAgICBGLnByb3RvdHlwZSA9IHRhcmdldC5wcm90b3R5cGU7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgc2VsZiA9IG5ldyBGKCk7DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZXN1bHQgPSB0YXJnZXQuYXBwbHkoDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLmNvbmNhdChzbGljZS5jYWxsKGFyZ3VtZW50cykpDQogICAgICAgICAgICAgICAgICAgICAgICApOw0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKE9iamVjdChyZXN1bHQpID09PSByZXN1bHQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGY7DQoNCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRhcmdldC5hcHBseSgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3MuY29uY2F0KHNsaWNlLmNhbGwoYXJndW1lbnRzKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICk7DQoNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgcmV0dXJuIGJvdW5kOw0KICAgICAgICB9Ow0KICAgIH0NCiAgICBpZiAoIUFycmF5LnByb3RvdHlwZS5pbmRleE9mKSB7DQogICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mID0gZnVuY3Rpb24oc2VhcmNoRWxlbWVudCwgZnJvbUluZGV4KSB7DQogICAgICAgICAgICB2YXIgazsNCiAgICAgICAgICAgIGlmICh0aGlzID09IG51bGwpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcidGhpcyIgaXMgbnVsbCBvciBub3QgZGVmaW5lZCcpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgdmFyIE8gPSBPYmplY3QodGhpcyk7DQogICAgICAgICAgICB2YXIgbGVuID0gTy5sZW5ndGggPj4+IDA7DQogICAgICAgICAgICBpZiAobGVuID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIC0xOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgdmFyIG4gPSArZnJvbUluZGV4IHx8IDA7DQogICAgICAgICAgICBpZiAoTWF0aC5hYnMobikgPT09IEluZmluaXR5KSB7DQogICAgICAgICAgICAgICAgbiA9IDA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAobiA+PSBsZW4pIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gLTE7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBrID0gTWF0aC5tYXgobiA+PSAwID8gbiA6IGxlbiAtIE1hdGguYWJzKG4pLCAwKTsNCiAgICAgICAgICAgIHdoaWxlIChrIDwgbGVuKSB7DQogICAgICAgICAgICAgICAgaWYgKGsgaW4gTyAmJiBPW2tdID09PSBzZWFyY2hFbGVtZW50KSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBrOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBrKys7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gLTE7DQogICAgICAgIH07DQogICAgfQ0KDQoNCg0KICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogICAgLy8gVGVtcGxhdGUNCg0KICAgIHZhciBiYXNlX2h0bWwgPQ0KICAgICAgICAnPHNwYW4gY2xhc3M9ImlycyI+JyArDQogICAgICAgICc8c3BhbiBjbGFzcz0iaXJzLWxpbmUiIHRhYmluZGV4PSItMSI+PHNwYW4gY2xhc3M9Imlycy1saW5lLWxlZnQiPjwvc3Bhbj48c3BhbiBjbGFzcz0iaXJzLWxpbmUtbWlkIj48L3NwYW4+PHNwYW4gY2xhc3M9Imlycy1saW5lLXJpZ2h0Ij48L3NwYW4+PC9zcGFuPicgKw0KICAgICAgICAnPHNwYW4gY2xhc3M9Imlycy1taW4iPjA8L3NwYW4+PHNwYW4gY2xhc3M9Imlycy1tYXgiPjE8L3NwYW4+JyArDQogICAgICAgICc8c3BhbiBjbGFzcz0iaXJzLWZyb20iPjA8L3NwYW4+PHNwYW4gY2xhc3M9Imlycy10byI+MDwvc3Bhbj48c3BhbiBjbGFzcz0iaXJzLXNpbmdsZSI+MDwvc3Bhbj4nICsNCiAgICAgICAgJzwvc3Bhbj4nICsNCiAgICAgICAgJzxzcGFuIGNsYXNzPSJpcnMtZ3JpZCI+PC9zcGFuPicgKw0KICAgICAgICAnPHNwYW4gY2xhc3M9Imlycy1iYXIiPjwvc3Bhbj4nOw0KDQogICAgdmFyIHNpbmdsZV9odG1sID0NCiAgICAgICAgJzxzcGFuIGNsYXNzPSJpcnMtYmFyLWVkZ2UiPjwvc3Bhbj4nICsNCiAgICAgICAgJzxzcGFuIGNsYXNzPSJpcnMtc2hhZG93IHNoYWRvdy1zaW5nbGUiPjwvc3Bhbj4nICsNCiAgICAgICAgJzxzcGFuIGNsYXNzPSJpcnMtc2xpZGVyIHNpbmdsZSI+PC9zcGFuPic7DQoNCiAgICB2YXIgZG91YmxlX2h0bWwgPQ0KICAgICAgICAnPHNwYW4gY2xhc3M9Imlycy1zaGFkb3cgc2hhZG93LWZyb20iPjwvc3Bhbj4nICsNCiAgICAgICAgJzxzcGFuIGNsYXNzPSJpcnMtc2hhZG93IHNoYWRvdy10byI+PC9zcGFuPicgKw0KICAgICAgICAnPHNwYW4gY2xhc3M9Imlycy1zbGlkZXIgZnJvbSI+PC9zcGFuPicgKw0KICAgICAgICAnPHNwYW4gY2xhc3M9Imlycy1zbGlkZXIgdG8iPjwvc3Bhbj4nOw0KDQogICAgdmFyIGRpc2FibGVfaHRtbCA9DQogICAgICAgICc8c3BhbiBjbGFzcz0iaXJzLWRpc2FibGUtbWFzayI+PC9zcGFuPic7DQoNCg0KDQogICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiAgICAvLyBDb3JlDQoNCiAgICAvKioNCiAgICAgKiBNYWluIHBsdWdpbiBjb25zdHJ1Y3Rvcg0KICAgICAqDQogICAgICogQHBhcmFtIGlucHV0IHtPYmplY3R9IGxpbmsgdG8gYmFzZSBpbnB1dCBlbGVtZW50DQogICAgICogQHBhcmFtIG9wdGlvbnMge09iamVjdH0gc2xpZGVyIGNvbmZpZw0KICAgICAqIEBwYXJhbSBwbHVnaW5fY291bnQge051bWJlcn0NCiAgICAgKiBAY29uc3RydWN0b3INCiAgICAgKi8NCiAgICB2YXIgSW9uUmFuZ2VTbGlkZXIgPSBmdW5jdGlvbiAoaW5wdXQsIG9wdGlvbnMsIHBsdWdpbl9jb3VudCkgew0KICAgICAgICB0aGlzLlZFUlNJT04gPSAiMi4xLjQiOw0KICAgICAgICB0aGlzLmlucHV0ID0gaW5wdXQ7DQogICAgICAgIHRoaXMucGx1Z2luX2NvdW50ID0gcGx1Z2luX2NvdW50Ow0KICAgICAgICB0aGlzLmN1cnJlbnRfcGx1Z2luID0gMDsNCiAgICAgICAgdGhpcy5jYWxjX2NvdW50ID0gMDsNCiAgICAgICAgdGhpcy51cGRhdGVfdG0gPSAwOw0KICAgICAgICB0aGlzLm9sZF9mcm9tID0gMDsNCiAgICAgICAgdGhpcy5vbGRfdG8gPSAwOw0KICAgICAgICB0aGlzLm9sZF9taW5faW50ZXJ2YWwgPSBudWxsOw0KICAgICAgICB0aGlzLnJhZl9pZCA9IG51bGw7DQogICAgICAgIHRoaXMuZHJhZ2dpbmcgPSBmYWxzZTsNCiAgICAgICAgdGhpcy5mb3JjZV9yZWRyYXcgPSBmYWxzZTsNCiAgICAgICAgdGhpcy5ub19kaWFwYXNvbiA9IGZhbHNlOw0KICAgICAgICB0aGlzLmlzX2tleSA9IGZhbHNlOw0KICAgICAgICB0aGlzLmlzX3VwZGF0ZSA9IGZhbHNlOw0KICAgICAgICB0aGlzLmlzX3N0YXJ0ID0gdHJ1ZTsNCiAgICAgICAgdGhpcy5pc19maW5pc2ggPSBmYWxzZTsNCiAgICAgICAgdGhpcy5pc19hY3RpdmUgPSBmYWxzZTsNCiAgICAgICAgdGhpcy5pc19yZXNpemUgPSBmYWxzZTsNCiAgICAgICAgdGhpcy5pc19jbGljayA9IGZhbHNlOw0KDQogICAgICAgIC8vIGNhY2hlIGZvciBsaW5rcyB0byBhbGwgRE9NIGVsZW1lbnRzDQogICAgICAgIHRoaXMuJGNhY2hlID0gew0KICAgICAgICAgICAgd2luOiAkKHdpbmRvdyksDQogICAgICAgICAgICBib2R5OiAkKGRvY3VtZW50LmJvZHkpLA0KICAgICAgICAgICAgaW5wdXQ6ICQoaW5wdXQpLA0KICAgICAgICAgICAgY29udDogbnVsbCwNCiAgICAgICAgICAgIHJzOiBudWxsLA0KICAgICAgICAgICAgbWluOiBudWxsLA0KICAgICAgICAgICAgbWF4OiBudWxsLA0KICAgICAgICAgICAgZnJvbTogbnVsbCwNCiAgICAgICAgICAgIHRvOiBudWxsLA0KICAgICAgICAgICAgc2luZ2xlOiBudWxsLA0KICAgICAgICAgICAgYmFyOiBudWxsLA0KICAgICAgICAgICAgbGluZTogbnVsbCwNCiAgICAgICAgICAgIHNfc2luZ2xlOiBudWxsLA0KICAgICAgICAgICAgc19mcm9tOiBudWxsLA0KICAgICAgICAgICAgc190bzogbnVsbCwNCiAgICAgICAgICAgIHNoYWRfc2luZ2xlOiBudWxsLA0KICAgICAgICAgICAgc2hhZF9mcm9tOiBudWxsLA0KICAgICAgICAgICAgc2hhZF90bzogbnVsbCwNCiAgICAgICAgICAgIGVkZ2U6IG51bGwsDQogICAgICAgICAgICBncmlkOiBudWxsLA0KICAgICAgICAgICAgZ3JpZF9sYWJlbHM6IFtdDQogICAgICAgIH07DQoNCiAgICAgICAgLy8gc3RvcmFnZSBmb3IgbWVhc3VyZSB2YXJpYWJsZXMNCiAgICAgICAgdGhpcy5jb29yZHMgPSB7DQogICAgICAgICAgICAvLyBsZWZ0DQogICAgICAgICAgICB4X2dhcDogMCwNCiAgICAgICAgICAgIHhfcG9pbnRlcjogMCwNCg0KICAgICAgICAgICAgLy8gd2lkdGgNCiAgICAgICAgICAgIHdfcnM6IDAsDQogICAgICAgICAgICB3X3JzX29sZDogMCwNCiAgICAgICAgICAgIHdfaGFuZGxlOiAwLA0KDQogICAgICAgICAgICAvLyBwZXJjZW50cw0KICAgICAgICAgICAgcF9nYXA6IDAsDQogICAgICAgICAgICBwX2dhcF9sZWZ0OiAwLA0KICAgICAgICAgICAgcF9nYXBfcmlnaHQ6IDAsDQogICAgICAgICAgICBwX3N0ZXA6IDAsDQogICAgICAgICAgICBwX3BvaW50ZXI6IDAsDQogICAgICAgICAgICBwX2hhbmRsZTogMCwNCiAgICAgICAgICAgIHBfc2luZ2xlX2Zha2U6IDAsDQogICAgICAgICAgICBwX3NpbmdsZV9yZWFsOiAwLA0KICAgICAgICAgICAgcF9mcm9tX2Zha2U6IDAsDQogICAgICAgICAgICBwX2Zyb21fcmVhbDogMCwNCiAgICAgICAgICAgIHBfdG9fZmFrZTogMCwNCiAgICAgICAgICAgIHBfdG9fcmVhbDogMCwNCiAgICAgICAgICAgIHBfYmFyX3g6IDAsDQogICAgICAgICAgICBwX2Jhcl93OiAwLA0KDQogICAgICAgICAgICAvLyBncmlkDQogICAgICAgICAgICBncmlkX2dhcDogMCwNCiAgICAgICAgICAgIGJpZ19udW06IDAsDQogICAgICAgICAgICBiaWc6IFtdLA0KICAgICAgICAgICAgYmlnX3c6IFtdLA0KICAgICAgICAgICAgYmlnX3A6IFtdLA0KICAgICAgICAgICAgYmlnX3g6IFtdDQogICAgICAgIH07DQoNCiAgICAgICAgLy8gc3RvcmFnZSBmb3IgbGFiZWxzIG1lYXN1cmUgdmFyaWFibGVzDQogICAgICAgIHRoaXMubGFiZWxzID0gew0KICAgICAgICAgICAgLy8gd2lkdGgNCiAgICAgICAgICAgIHdfbWluOiAwLA0KICAgICAgICAgICAgd19tYXg6IDAsDQogICAgICAgICAgICB3X2Zyb206IDAsDQogICAgICAgICAgICB3X3RvOiAwLA0KICAgICAgICAgICAgd19zaW5nbGU6IDAsDQoNCiAgICAgICAgICAgIC8vIHBlcmNlbnRzDQogICAgICAgICAgICBwX21pbjogMCwNCiAgICAgICAgICAgIHBfbWF4OiAwLA0KICAgICAgICAgICAgcF9mcm9tX2Zha2U6IDAsDQogICAgICAgICAgICBwX2Zyb21fbGVmdDogMCwNCiAgICAgICAgICAgIHBfdG9fZmFrZTogMCwNCiAgICAgICAgICAgIHBfdG9fbGVmdDogMCwNCiAgICAgICAgICAgIHBfc2luZ2xlX2Zha2U6IDAsDQogICAgICAgICAgICBwX3NpbmdsZV9sZWZ0OiAwDQogICAgICAgIH07DQoNCg0KDQogICAgICAgIC8qKg0KICAgICAgICAgKiBnZXQgYW5kIHZhbGlkYXRlIGNvbmZpZw0KICAgICAgICAgKi8NCiAgICAgICAgdmFyICRpbnAgPSB0aGlzLiRjYWNoZS5pbnB1dCwNCiAgICAgICAgICAgIHZhbCA9ICRpbnAucHJvcCgidmFsdWUiKSwNCiAgICAgICAgICAgIGNvbmZpZywgY29uZmlnX2Zyb21fZGF0YSwgcHJvcDsNCg0KICAgICAgICAvLyBkZWZhdWx0IGNvbmZpZw0KICAgICAgICBjb25maWcgPSB7DQogICAgICAgICAgICB0eXBlOiAic2luZ2xlIiwNCg0KICAgICAgICAgICAgbWluOiAxMCwNCiAgICAgICAgICAgIG1heDogMTAwLA0KICAgICAgICAgICAgZnJvbTogbnVsbCwNCiAgICAgICAgICAgIHRvOiBudWxsLA0KICAgICAgICAgICAgc3RlcDogMSwNCg0KICAgICAgICAgICAgbWluX2ludGVydmFsOiAwLA0KICAgICAgICAgICAgbWF4X2ludGVydmFsOiAwLA0KICAgICAgICAgICAgZHJhZ19pbnRlcnZhbDogZmFsc2UsDQoNCiAgICAgICAgICAgIHZhbHVlczogW10sDQogICAgICAgICAgICBwX3ZhbHVlczogW10sDQoNCiAgICAgICAgICAgIGZyb21fZml4ZWQ6IGZhbHNlLA0KICAgICAgICAgICAgZnJvbV9taW46IG51bGwsDQogICAgICAgICAgICBmcm9tX21heDogbnVsbCwNCiAgICAgICAgICAgIGZyb21fc2hhZG93OiBmYWxzZSwNCg0KICAgICAgICAgICAgdG9fZml4ZWQ6IGZhbHNlLA0KICAgICAgICAgICAgdG9fbWluOiBudWxsLA0KICAgICAgICAgICAgdG9fbWF4OiBudWxsLA0KICAgICAgICAgICAgdG9fc2hhZG93OiBmYWxzZSwNCg0KICAgICAgICAgICAgcHJldHRpZnlfZW5hYmxlZDogdHJ1ZSwNCiAgICAgICAgICAgIHByZXR0aWZ5X3NlcGFyYXRvcjogIiAiLA0KICAgICAgICAgICAgcHJldHRpZnk6IG51bGwsDQoNCiAgICAgICAgICAgIGZvcmNlX2VkZ2VzOiBmYWxzZSwNCg0KICAgICAgICAgICAga2V5Ym9hcmQ6IGZhbHNlLA0KICAgICAgICAgICAga2V5Ym9hcmRfc3RlcDogNSwNCg0KICAgICAgICAgICAgZ3JpZDogZmFsc2UsDQogICAgICAgICAgICBncmlkX21hcmdpbjogdHJ1ZSwNCiAgICAgICAgICAgIGdyaWRfbnVtOiA0LA0KICAgICAgICAgICAgZ3JpZF9zbmFwOiBmYWxzZSwNCg0KICAgICAgICAgICAgaGlkZV9taW5fbWF4OiBmYWxzZSwNCiAgICAgICAgICAgIGhpZGVfZnJvbV90bzogZmFsc2UsDQoNCiAgICAgICAgICAgIHByZWZpeDogIiIsDQogICAgICAgICAgICBwb3N0Zml4OiAiIiwNCiAgICAgICAgICAgIG1heF9wb3N0Zml4OiAiIiwNCiAgICAgICAgICAgIGRlY29yYXRlX2JvdGg6IHRydWUsDQogICAgICAgICAgICB2YWx1ZXNfc2VwYXJhdG9yOiAiIOKAlCAiLA0KDQogICAgICAgICAgICBpbnB1dF92YWx1ZXNfc2VwYXJhdG9yOiAiOyIsDQoNCiAgICAgICAgICAgIGRpc2FibGU6IGZhbHNlLA0KDQogICAgICAgICAgICBvblN0YXJ0OiBudWxsLA0KICAgICAgICAgICAgb25DaGFuZ2U6IG51bGwsDQogICAgICAgICAgICBvbkZpbmlzaDogbnVsbCwNCiAgICAgICAgICAgIG9uVXBkYXRlOiBudWxsDQogICAgICAgIH07DQoNCg0KDQogICAgICAgIC8vIGNvbmZpZyBmcm9tIGRhdGEtYXR0cmlidXRlcyBleHRlbmRzIGpzIGNvbmZpZw0KICAgICAgICBjb25maWdfZnJvbV9kYXRhID0gew0KICAgICAgICAgICAgdHlwZTogJGlucC5kYXRhKCJ0eXBlIiksDQoNCiAgICAgICAgICAgIG1pbjogJGlucC5kYXRhKCJtaW4iKSwNCiAgICAgICAgICAgIG1heDogJGlucC5kYXRhKCJtYXgiKSwNCiAgICAgICAgICAgIGZyb206ICRpbnAuZGF0YSgiZnJvbSIpLA0KICAgICAgICAgICAgdG86ICRpbnAuZGF0YSgidG8iKSwNCiAgICAgICAgICAgIHN0ZXA6ICRpbnAuZGF0YSgic3RlcCIpLA0KDQogICAgICAgICAgICBtaW5faW50ZXJ2YWw6ICRpbnAuZGF0YSgibWluSW50ZXJ2YWwiKSwNCiAgICAgICAgICAgIG1heF9pbnRlcnZhbDogJGlucC5kYXRhKCJtYXhJbnRlcnZhbCIpLA0KICAgICAgICAgICAgZHJhZ19pbnRlcnZhbDogJGlucC5kYXRhKCJkcmFnSW50ZXJ2YWwiKSwNCg0KICAgICAgICAgICAgdmFsdWVzOiAkaW5wLmRhdGEoInZhbHVlcyIpLA0KDQogICAgICAgICAgICBmcm9tX2ZpeGVkOiAkaW5wLmRhdGEoImZyb21GaXhlZCIpLA0KICAgICAgICAgICAgZnJvbV9taW46ICRpbnAuZGF0YSgiZnJvbU1pbiIpLA0KICAgICAgICAgICAgZnJvbV9tYXg6ICRpbnAuZGF0YSgiZnJvbU1heCIpLA0KICAgICAgICAgICAgZnJvbV9zaGFkb3c6ICRpbnAuZGF0YSgiZnJvbVNoYWRvdyIpLA0KDQogICAgICAgICAgICB0b19maXhlZDogJGlucC5kYXRhKCJ0b0ZpeGVkIiksDQogICAgICAgICAgICB0b19taW46ICRpbnAuZGF0YSgidG9NaW4iKSwNCiAgICAgICAgICAgIHRvX21heDogJGlucC5kYXRhKCJ0b01heCIpLA0KICAgICAgICAgICAgdG9fc2hhZG93OiAkaW5wLmRhdGEoInRvU2hhZG93IiksDQoNCiAgICAgICAgICAgIHByZXR0aWZ5X2VuYWJsZWQ6ICRpbnAuZGF0YSgicHJldHRpZnlFbmFibGVkIiksDQogICAgICAgICAgICBwcmV0dGlmeV9zZXBhcmF0b3I6ICRpbnAuZGF0YSgicHJldHRpZnlTZXBhcmF0b3IiKSwNCg0KICAgICAgICAgICAgZm9yY2VfZWRnZXM6ICRpbnAuZGF0YSgiZm9yY2VFZGdlcyIpLA0KDQogICAgICAgICAgICBrZXlib2FyZDogJGlucC5kYXRhKCJrZXlib2FyZCIpLA0KICAgICAgICAgICAga2V5Ym9hcmRfc3RlcDogJGlucC5kYXRhKCJrZXlib2FyZFN0ZXAiKSwNCg0KICAgICAgICAgICAgZ3JpZDogJGlucC5kYXRhKCJncmlkIiksDQogICAgICAgICAgICBncmlkX21hcmdpbjogJGlucC5kYXRhKCJncmlkTWFyZ2luIiksDQogICAgICAgICAgICBncmlkX251bTogJGlucC5kYXRhKCJncmlkTnVtIiksDQogICAgICAgICAgICBncmlkX3NuYXA6ICRpbnAuZGF0YSgiZ3JpZFNuYXAiKSwNCg0KICAgICAgICAgICAgaGlkZV9taW5fbWF4OiAkaW5wLmRhdGEoImhpZGVNaW5NYXgiKSwNCiAgICAgICAgICAgIGhpZGVfZnJvbV90bzogJGlucC5kYXRhKCJoaWRlRnJvbVRvIiksDQoNCiAgICAgICAgICAgIHByZWZpeDogJGlucC5kYXRhKCJwcmVmaXgiKSwNCiAgICAgICAgICAgIHBvc3RmaXg6ICRpbnAuZGF0YSgicG9zdGZpeCIpLA0KICAgICAgICAgICAgbWF4X3Bvc3RmaXg6ICRpbnAuZGF0YSgibWF4UG9zdGZpeCIpLA0KICAgICAgICAgICAgZGVjb3JhdGVfYm90aDogJGlucC5kYXRhKCJkZWNvcmF0ZUJvdGgiKSwNCiAgICAgICAgICAgIHZhbHVlc19zZXBhcmF0b3I6ICRpbnAuZGF0YSgidmFsdWVzU2VwYXJhdG9yIiksDQoNCiAgICAgICAgICAgIGlucHV0X3ZhbHVlc19zZXBhcmF0b3I6ICRpbnAuZGF0YSgiaW5wdXRWYWx1ZXNTZXBhcmF0b3IiKSwNCg0KICAgICAgICAgICAgZGlzYWJsZTogJGlucC5kYXRhKCJkaXNhYmxlIikNCiAgICAgICAgfTsNCiAgICAgICAgY29uZmlnX2Zyb21fZGF0YS52YWx1ZXMgPSBjb25maWdfZnJvbV9kYXRhLnZhbHVlcyAmJiBjb25maWdfZnJvbV9kYXRhLnZhbHVlcy5zcGxpdCgiLCIpOw0KDQogICAgICAgIGZvciAocHJvcCBpbiBjb25maWdfZnJvbV9kYXRhKSB7DQogICAgICAgICAgICBpZiAoY29uZmlnX2Zyb21fZGF0YS5oYXNPd25Qcm9wZXJ0eShwcm9wKSkgew0KICAgICAgICAgICAgICAgIGlmICghY29uZmlnX2Zyb21fZGF0YVtwcm9wXSAmJiBjb25maWdfZnJvbV9kYXRhW3Byb3BdICE9PSAwKSB7DQogICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBjb25maWdfZnJvbV9kYXRhW3Byb3BdOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQoNCg0KICAgICAgICAvLyBpbnB1dCB2YWx1ZSBleHRlbmRzIGRlZmF1bHQgY29uZmlnDQogICAgICAgIGlmICh2YWwpIHsNCiAgICAgICAgICAgIHZhbCA9IHZhbC5zcGxpdChjb25maWdfZnJvbV9kYXRhLmlucHV0X3ZhbHVlc19zZXBhcmF0b3IgfHwgb3B0aW9ucy5pbnB1dF92YWx1ZXNfc2VwYXJhdG9yIHx8ICI7Iik7DQoNCiAgICAgICAgICAgIGlmICh2YWxbMF0gJiYgdmFsWzBdID09ICt2YWxbMF0pIHsNCiAgICAgICAgICAgICAgICB2YWxbMF0gPSArdmFsWzBdOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKHZhbFsxXSAmJiB2YWxbMV0gPT0gK3ZhbFsxXSkgew0KICAgICAgICAgICAgICAgIHZhbFsxXSA9ICt2YWxbMV07DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMudmFsdWVzICYmIG9wdGlvbnMudmFsdWVzLmxlbmd0aCkgew0KICAgICAgICAgICAgICAgIGNvbmZpZy5mcm9tID0gdmFsWzBdICYmIG9wdGlvbnMudmFsdWVzLmluZGV4T2YodmFsWzBdKTsNCiAgICAgICAgICAgICAgICBjb25maWcudG8gPSB2YWxbMV0gJiYgb3B0aW9ucy52YWx1ZXMuaW5kZXhPZih2YWxbMV0pOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBjb25maWcuZnJvbSA9IHZhbFswXSAmJiArdmFsWzBdOw0KICAgICAgICAgICAgICAgIGNvbmZpZy50byA9IHZhbFsxXSAmJiArdmFsWzFdOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCg0KDQogICAgICAgIC8vIGpzIGNvbmZpZyBleHRlbmRzIGRlZmF1bHQgY29uZmlnDQogICAgICAgICQuZXh0ZW5kKGNvbmZpZywgb3B0aW9ucyk7DQoNCg0KICAgICAgICAvLyBkYXRhIGNvbmZpZyBleHRlbmRzIGNvbmZpZw0KICAgICAgICAkLmV4dGVuZChjb25maWcsIGNvbmZpZ19mcm9tX2RhdGEpOw0KICAgICAgICB0aGlzLm9wdGlvbnMgPSBjb25maWc7DQoNCg0KDQogICAgICAgIC8vIHZhbGlkYXRlIGNvbmZpZywgdG8gYmUgc3VyZSB0aGF0IGFsbCBkYXRhIHR5cGVzIGFyZSBjb3JyZWN0DQogICAgICAgIHRoaXMudmFsaWRhdGUoKTsNCg0KDQoNCiAgICAgICAgLy8gZGVmYXVsdCByZXN1bHQgb2JqZWN0LCByZXR1cm5lZCB0byBjYWxsYmFja3MNCiAgICAgICAgdGhpcy5yZXN1bHQgPSB7DQogICAgICAgICAgICBpbnB1dDogdGhpcy4kY2FjaGUuaW5wdXQsDQogICAgICAgICAgICBzbGlkZXI6IG51bGwsDQoNCiAgICAgICAgICAgIG1pbjogdGhpcy5vcHRpb25zLm1pbiwNCiAgICAgICAgICAgIG1heDogdGhpcy5vcHRpb25zLm1heCwNCg0KICAgICAgICAgICAgZnJvbTogdGhpcy5vcHRpb25zLmZyb20sDQogICAgICAgICAgICBmcm9tX3BlcmNlbnQ6IDAsDQogICAgICAgICAgICBmcm9tX3ZhbHVlOiBudWxsLA0KDQogICAgICAgICAgICB0bzogdGhpcy5vcHRpb25zLnRvLA0KICAgICAgICAgICAgdG9fcGVyY2VudDogMCwNCiAgICAgICAgICAgIHRvX3ZhbHVlOiBudWxsDQogICAgICAgIH07DQoNCg0KDQogICAgICAgIHRoaXMuaW5pdCgpOw0KICAgIH07DQoNCiAgICBJb25SYW5nZVNsaWRlci5wcm90b3R5cGUgPSB7DQoNCiAgICAgICAgLyoqDQogICAgICAgICAqIFN0YXJ0cyBvciB1cGRhdGVzIHRoZSBwbHVnaW4gaW5zdGFuY2UNCiAgICAgICAgICoNCiAgICAgICAgICogQHBhcmFtIGlzX3VwZGF0ZSB7Ym9vbGVhbn0NCiAgICAgICAgICovDQogICAgICAgIGluaXQ6IGZ1bmN0aW9uIChpc191cGRhdGUpIHsNCiAgICAgICAgICAgIHRoaXMubm9fZGlhcGFzb24gPSBmYWxzZTsNCiAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfc3RlcCA9IHRoaXMuY29udmVydFRvUGVyY2VudCh0aGlzLm9wdGlvbnMuc3RlcCwgdHJ1ZSk7DQoNCiAgICAgICAgICAgIHRoaXMudGFyZ2V0ID0gImJhc2UiOw0KDQogICAgICAgICAgICB0aGlzLnRvZ2dsZUlucHV0KCk7DQogICAgICAgICAgICB0aGlzLmFwcGVuZCgpOw0KICAgICAgICAgICAgdGhpcy5zZXRNaW5NYXgoKTsNCg0KICAgICAgICAgICAgaWYgKGlzX3VwZGF0ZSkgew0KICAgICAgICAgICAgICAgIHRoaXMuZm9yY2VfcmVkcmF3ID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB0aGlzLmNhbGModHJ1ZSk7DQoNCiAgICAgICAgICAgICAgICAvLyBjYWxsYmFja3MgY2FsbGVkDQogICAgICAgICAgICAgICAgdGhpcy5jYWxsT25VcGRhdGUoKTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgdGhpcy5mb3JjZV9yZWRyYXcgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHRoaXMuY2FsYyh0cnVlKTsNCg0KICAgICAgICAgICAgICAgIC8vIGNhbGxiYWNrcyBjYWxsZWQNCiAgICAgICAgICAgICAgICB0aGlzLmNhbGxPblN0YXJ0KCk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHRoaXMudXBkYXRlU2NlbmUoKTsNCiAgICAgICAgfSwNCg0KICAgICAgICAvKioNCiAgICAgICAgICogQXBwZW5kcyBzbGlkZXIgdGVtcGxhdGUgdG8gYSBET00NCiAgICAgICAgICovDQogICAgICAgIGFwcGVuZDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdmFyIGNvbnRhaW5lcl9odG1sID0gJzxzcGFuIGNsYXNzPSJpcnMganMtaXJzLScgKyB0aGlzLnBsdWdpbl9jb3VudCArICciPjwvc3Bhbj4nOw0KICAgICAgICAgICAgdGhpcy4kY2FjaGUuaW5wdXQuYmVmb3JlKGNvbnRhaW5lcl9odG1sKTsNCiAgICAgICAgICAgIHRoaXMuJGNhY2hlLmlucHV0LnByb3AoInJlYWRvbmx5IiwgdHJ1ZSk7DQogICAgICAgICAgICB0aGlzLiRjYWNoZS5jb250ID0gdGhpcy4kY2FjaGUuaW5wdXQucHJldigpOw0KICAgICAgICAgICAgdGhpcy5yZXN1bHQuc2xpZGVyID0gdGhpcy4kY2FjaGUuY29udDsNCg0KICAgICAgICAgICAgdGhpcy4kY2FjaGUuY29udC5odG1sKGJhc2VfaHRtbCk7DQogICAgICAgICAgICB0aGlzLiRjYWNoZS5ycyA9IHRoaXMuJGNhY2hlLmNvbnQuZmluZCgiLmlycyIpOw0KICAgICAgICAgICAgdGhpcy4kY2FjaGUubWluID0gdGhpcy4kY2FjaGUuY29udC5maW5kKCIuaXJzLW1pbiIpOw0KICAgICAgICAgICAgdGhpcy4kY2FjaGUubWF4ID0gdGhpcy4kY2FjaGUuY29udC5maW5kKCIuaXJzLW1heCIpOw0KICAgICAgICAgICAgdGhpcy4kY2FjaGUuZnJvbSA9IHRoaXMuJGNhY2hlLmNvbnQuZmluZCgiLmlycy1mcm9tIik7DQogICAgICAgICAgICB0aGlzLiRjYWNoZS50byA9IHRoaXMuJGNhY2hlLmNvbnQuZmluZCgiLmlycy10byIpOw0KICAgICAgICAgICAgdGhpcy4kY2FjaGUuc2luZ2xlID0gdGhpcy4kY2FjaGUuY29udC5maW5kKCIuaXJzLXNpbmdsZSIpOw0KICAgICAgICAgICAgdGhpcy4kY2FjaGUuYmFyID0gdGhpcy4kY2FjaGUuY29udC5maW5kKCIuaXJzLWJhciIpOw0KICAgICAgICAgICAgdGhpcy4kY2FjaGUubGluZSA9IHRoaXMuJGNhY2hlLmNvbnQuZmluZCgiLmlycy1saW5lIik7DQogICAgICAgICAgICB0aGlzLiRjYWNoZS5ncmlkID0gdGhpcy4kY2FjaGUuY29udC5maW5kKCIuaXJzLWdyaWQiKTsNCg0KICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy50eXBlID09PSAic2luZ2xlIikgew0KICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLmNvbnQuYXBwZW5kKHNpbmdsZV9odG1sKTsNCiAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5lZGdlID0gdGhpcy4kY2FjaGUuY29udC5maW5kKCIuaXJzLWJhci1lZGdlIik7DQogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuc19zaW5nbGUgPSB0aGlzLiRjYWNoZS5jb250LmZpbmQoIi5zaW5nbGUiKTsNCiAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5mcm9tWzBdLnN0eWxlLnZpc2liaWxpdHkgPSAiaGlkZGVuIjsNCiAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS50b1swXS5zdHlsZS52aXNpYmlsaXR5ID0gImhpZGRlbiI7DQogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuc2hhZF9zaW5nbGUgPSB0aGlzLiRjYWNoZS5jb250LmZpbmQoIi5zaGFkb3ctc2luZ2xlIik7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLmNvbnQuYXBwZW5kKGRvdWJsZV9odG1sKTsNCiAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5zX2Zyb20gPSB0aGlzLiRjYWNoZS5jb250LmZpbmQoIi5mcm9tIik7DQogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuc190byA9IHRoaXMuJGNhY2hlLmNvbnQuZmluZCgiLnRvIik7DQogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuc2hhZF9mcm9tID0gdGhpcy4kY2FjaGUuY29udC5maW5kKCIuc2hhZG93LWZyb20iKTsNCiAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5zaGFkX3RvID0gdGhpcy4kY2FjaGUuY29udC5maW5kKCIuc2hhZG93LXRvIik7DQoNCiAgICAgICAgICAgICAgICB0aGlzLnNldFRvcEhhbmRsZXIoKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5oaWRlX2Zyb21fdG8pIHsNCiAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5mcm9tWzBdLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7DQogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUudG9bMF0uc3R5bGUuZGlzcGxheSA9ICJub25lIjsNCiAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5zaW5nbGVbMF0uc3R5bGUuZGlzcGxheSA9ICJub25lIjsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdGhpcy5hcHBlbmRHcmlkKCk7DQoNCiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuZGlzYWJsZSkgew0KICAgICAgICAgICAgICAgIHRoaXMuYXBwZW5kRGlzYWJsZU1hc2soKTsNCiAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5pbnB1dFswXS5kaXNhYmxlZCA9IHRydWU7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLmNvbnQucmVtb3ZlQ2xhc3MoImlycy1kaXNhYmxlZCIpOw0KICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLmlucHV0WzBdLmRpc2FibGVkID0gZmFsc2U7DQogICAgICAgICAgICAgICAgdGhpcy5iaW5kRXZlbnRzKCk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuZHJhZ19pbnRlcnZhbCkgew0KICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLmJhclswXS5zdHlsZS5jdXJzb3IgPSAiZXctcmVzaXplIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCg0KICAgICAgICAvKioNCiAgICAgICAgICogRGV0ZXJtaW5lIHdoaWNoIGhhbmRsZXIgaGFzIGEgcHJpb3JpdHkNCiAgICAgICAgICogd29ya3Mgb25seSBmb3IgZG91YmxlIHNsaWRlciB0eXBlDQogICAgICAgICAqLw0KICAgICAgICBzZXRUb3BIYW5kbGVyOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB2YXIgbWluID0gdGhpcy5vcHRpb25zLm1pbiwNCiAgICAgICAgICAgICAgICBtYXggPSB0aGlzLm9wdGlvbnMubWF4LA0KICAgICAgICAgICAgICAgIGZyb20gPSB0aGlzLm9wdGlvbnMuZnJvbSwNCiAgICAgICAgICAgICAgICB0byA9IHRoaXMub3B0aW9ucy50bzsNCg0KICAgICAgICAgICAgaWYgKGZyb20gPiBtaW4gJiYgdG8gPT09IG1heCkgew0KICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnNfZnJvbS5hZGRDbGFzcygidHlwZV9sYXN0Iik7DQogICAgICAgICAgICB9IGVsc2UgaWYgKHRvIDwgbWF4KSB7DQogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuc190by5hZGRDbGFzcygidHlwZV9sYXN0Iik7DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQoNCiAgICAgICAgLyoqDQogICAgICAgICAqIERldGVybWluZSB3aGljaCBoYW5kbGVzIHdhcyBjbGlja2VkIGxhc3QNCiAgICAgICAgICogYW5kIHdoaWNoIGhhbmRsZXIgc2hvdWxkIGhhdmUgaG92ZXIgZWZmZWN0DQogICAgICAgICAqDQogICAgICAgICAqIEBwYXJhbSB0YXJnZXQge1N0cmluZ30NCiAgICAgICAgICovDQogICAgICAgIGNoYW5nZUxldmVsOiBmdW5jdGlvbiAodGFyZ2V0KSB7DQogICAgICAgICAgICBzd2l0Y2ggKHRhcmdldCkgew0KICAgICAgICAgICAgICAgIGNhc2UgInNpbmdsZSI6DQogICAgICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfZ2FwID0gdGhpcy50b0ZpeGVkKHRoaXMuY29vcmRzLnBfcG9pbnRlciAtIHRoaXMuY29vcmRzLnBfc2luZ2xlX2Zha2UpOw0KICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICBjYXNlICJmcm9tIjoNCiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb29yZHMucF9nYXAgPSB0aGlzLnRvRml4ZWQodGhpcy5jb29yZHMucF9wb2ludGVyIC0gdGhpcy5jb29yZHMucF9mcm9tX2Zha2UpOw0KICAgICAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5zX2Zyb20uYWRkQ2xhc3MoInN0YXRlX2hvdmVyIik7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnNfZnJvbS5hZGRDbGFzcygidHlwZV9sYXN0Iik7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnNfdG8ucmVtb3ZlQ2xhc3MoInR5cGVfbGFzdCIpOw0KICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICBjYXNlICJ0byI6DQogICAgICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfZ2FwID0gdGhpcy50b0ZpeGVkKHRoaXMuY29vcmRzLnBfcG9pbnRlciAtIHRoaXMuY29vcmRzLnBfdG9fZmFrZSk7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnNfdG8uYWRkQ2xhc3MoInN0YXRlX2hvdmVyIik7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnNfdG8uYWRkQ2xhc3MoInR5cGVfbGFzdCIpOw0KICAgICAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5zX2Zyb20ucmVtb3ZlQ2xhc3MoInR5cGVfbGFzdCIpOw0KICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICBjYXNlICJib3RoIjoNCiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb29yZHMucF9nYXBfbGVmdCA9IHRoaXMudG9GaXhlZCh0aGlzLmNvb3Jkcy5wX3BvaW50ZXIgLSB0aGlzLmNvb3Jkcy5wX2Zyb21fZmFrZSk7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfZ2FwX3JpZ2h0ID0gdGhpcy50b0ZpeGVkKHRoaXMuY29vcmRzLnBfdG9fZmFrZSAtIHRoaXMuY29vcmRzLnBfcG9pbnRlcik7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnNfdG8ucmVtb3ZlQ2xhc3MoInR5cGVfbGFzdCIpOw0KICAgICAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5zX2Zyb20ucmVtb3ZlQ2xhc3MoInR5cGVfbGFzdCIpOw0KICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCg0KICAgICAgICAvKioNCiAgICAgICAgICogVGhlbiBzbGlkZXIgaXMgZGlzYWJsZWQNCiAgICAgICAgICogYXBwZW5kcyBleHRyYSBsYXllciB3aXRoIG9wYWNpdHkNCiAgICAgICAgICovDQogICAgICAgIGFwcGVuZERpc2FibGVNYXNrOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB0aGlzLiRjYWNoZS5jb250LmFwcGVuZChkaXNhYmxlX2h0bWwpOw0KICAgICAgICAgICAgdGhpcy4kY2FjaGUuY29udC5hZGRDbGFzcygiaXJzLWRpc2FibGVkIik7DQogICAgICAgIH0sDQoNCiAgICAgICAgLyoqDQogICAgICAgICAqIFJlbW92ZSBzbGlkZXIgaW5zdGFuY2UNCiAgICAgICAgICogYW5kIHViaW5kIGFsbCBldmVudHMNCiAgICAgICAgICovDQogICAgICAgIHJlbW92ZTogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdGhpcy4kY2FjaGUuY29udC5yZW1vdmUoKTsNCiAgICAgICAgICAgIHRoaXMuJGNhY2hlLmNvbnQgPSBudWxsOw0KDQogICAgICAgICAgICB0aGlzLiRjYWNoZS5saW5lLm9mZigia2V5ZG93bi5pcnNfIiArIHRoaXMucGx1Z2luX2NvdW50KTsNCg0KICAgICAgICAgICAgdGhpcy4kY2FjaGUuYm9keS5vZmYoInRvdWNobW92ZS5pcnNfIiArIHRoaXMucGx1Z2luX2NvdW50KTsNCiAgICAgICAgICAgIHRoaXMuJGNhY2hlLmJvZHkub2ZmKCJtb3VzZW1vdmUuaXJzXyIgKyB0aGlzLnBsdWdpbl9jb3VudCk7DQoNCiAgICAgICAgICAgIHRoaXMuJGNhY2hlLndpbi5vZmYoInRvdWNoZW5kLmlyc18iICsgdGhpcy5wbHVnaW5fY291bnQpOw0KICAgICAgICAgICAgdGhpcy4kY2FjaGUud2luLm9mZigibW91c2V1cC5pcnNfIiArIHRoaXMucGx1Z2luX2NvdW50KTsNCg0KICAgICAgICAgICAgaWYgKGlzX29sZF9pZSkgew0KICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLmJvZHkub2ZmKCJtb3VzZXVwLmlyc18iICsgdGhpcy5wbHVnaW5fY291bnQpOw0KICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLmJvZHkub2ZmKCJtb3VzZWxlYXZlLmlyc18iICsgdGhpcy5wbHVnaW5fY291bnQpOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB0aGlzLiRjYWNoZS5ncmlkX2xhYmVscyA9IFtdOw0KICAgICAgICAgICAgdGhpcy5jb29yZHMuYmlnID0gW107DQogICAgICAgICAgICB0aGlzLmNvb3Jkcy5iaWdfdyA9IFtdOw0KICAgICAgICAgICAgdGhpcy5jb29yZHMuYmlnX3AgPSBbXTsNCiAgICAgICAgICAgIHRoaXMuY29vcmRzLmJpZ194ID0gW107DQoNCiAgICAgICAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMucmFmX2lkKTsNCiAgICAgICAgfSwNCg0KICAgICAgICAvKioNCiAgICAgICAgICogYmluZCBhbGwgc2xpZGVyIGV2ZW50cw0KICAgICAgICAgKi8NCiAgICAgICAgYmluZEV2ZW50czogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgaWYgKHRoaXMubm9fZGlhcGFzb24pIHsNCiAgICAgICAgICAgICAgICByZXR1cm47DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHRoaXMuJGNhY2hlLmJvZHkub24oInRvdWNobW92ZS5pcnNfIiArIHRoaXMucGx1Z2luX2NvdW50LCB0aGlzLnBvaW50ZXJNb3ZlLmJpbmQodGhpcykpOw0KICAgICAgICAgICAgdGhpcy4kY2FjaGUuYm9keS5vbigibW91c2Vtb3ZlLmlyc18iICsgdGhpcy5wbHVnaW5fY291bnQsIHRoaXMucG9pbnRlck1vdmUuYmluZCh0aGlzKSk7DQoNCiAgICAgICAgICAgIHRoaXMuJGNhY2hlLndpbi5vbigidG91Y2hlbmQuaXJzXyIgKyB0aGlzLnBsdWdpbl9jb3VudCwgdGhpcy5wb2ludGVyVXAuYmluZCh0aGlzKSk7DQogICAgICAgICAgICB0aGlzLiRjYWNoZS53aW4ub24oIm1vdXNldXAuaXJzXyIgKyB0aGlzLnBsdWdpbl9jb3VudCwgdGhpcy5wb2ludGVyVXAuYmluZCh0aGlzKSk7DQoNCiAgICAgICAgICAgIHRoaXMuJGNhY2hlLmxpbmUub24oInRvdWNoc3RhcnQuaXJzXyIgKyB0aGlzLnBsdWdpbl9jb3VudCwgdGhpcy5wb2ludGVyQ2xpY2suYmluZCh0aGlzLCAiY2xpY2siKSk7DQogICAgICAgICAgICB0aGlzLiRjYWNoZS5saW5lLm9uKCJtb3VzZWRvd24uaXJzXyIgKyB0aGlzLnBsdWdpbl9jb3VudCwgdGhpcy5wb2ludGVyQ2xpY2suYmluZCh0aGlzLCAiY2xpY2siKSk7DQoNCiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuZHJhZ19pbnRlcnZhbCAmJiB0aGlzLm9wdGlvbnMudHlwZSA9PT0gImRvdWJsZSIpIHsNCiAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5iYXIub24oInRvdWNoc3RhcnQuaXJzXyIgKyB0aGlzLnBsdWdpbl9jb3VudCwgdGhpcy5wb2ludGVyRG93bi5iaW5kKHRoaXMsICJib3RoIikpOw0KICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLmJhci5vbigibW91c2Vkb3duLmlyc18iICsgdGhpcy5wbHVnaW5fY291bnQsIHRoaXMucG9pbnRlckRvd24uYmluZCh0aGlzLCAiYm90aCIpKTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuYmFyLm9uKCJ0b3VjaHN0YXJ0Lmlyc18iICsgdGhpcy5wbHVnaW5fY291bnQsIHRoaXMucG9pbnRlckNsaWNrLmJpbmQodGhpcywgImNsaWNrIikpOw0KICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLmJhci5vbigibW91c2Vkb3duLmlyc18iICsgdGhpcy5wbHVnaW5fY291bnQsIHRoaXMucG9pbnRlckNsaWNrLmJpbmQodGhpcywgImNsaWNrIikpOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLnR5cGUgPT09ICJzaW5nbGUiKSB7DQogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuc2luZ2xlLm9uKCJ0b3VjaHN0YXJ0Lmlyc18iICsgdGhpcy5wbHVnaW5fY291bnQsIHRoaXMucG9pbnRlckRvd24uYmluZCh0aGlzLCAic2luZ2xlIikpOw0KICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnNfc2luZ2xlLm9uKCJ0b3VjaHN0YXJ0Lmlyc18iICsgdGhpcy5wbHVnaW5fY291bnQsIHRoaXMucG9pbnRlckRvd24uYmluZCh0aGlzLCAic2luZ2xlIikpOw0KICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnNoYWRfc2luZ2xlLm9uKCJ0b3VjaHN0YXJ0Lmlyc18iICsgdGhpcy5wbHVnaW5fY291bnQsIHRoaXMucG9pbnRlckNsaWNrLmJpbmQodGhpcywgImNsaWNrIikpOw0KDQogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuc2luZ2xlLm9uKCJtb3VzZWRvd24uaXJzXyIgKyB0aGlzLnBsdWdpbl9jb3VudCwgdGhpcy5wb2ludGVyRG93bi5iaW5kKHRoaXMsICJzaW5nbGUiKSk7DQogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuc19zaW5nbGUub24oIm1vdXNlZG93bi5pcnNfIiArIHRoaXMucGx1Z2luX2NvdW50LCB0aGlzLnBvaW50ZXJEb3duLmJpbmQodGhpcywgInNpbmdsZSIpKTsNCiAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5lZGdlLm9uKCJtb3VzZWRvd24uaXJzXyIgKyB0aGlzLnBsdWdpbl9jb3VudCwgdGhpcy5wb2ludGVyQ2xpY2suYmluZCh0aGlzLCAiY2xpY2siKSk7DQogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuc2hhZF9zaW5nbGUub24oIm1vdXNlZG93bi5pcnNfIiArIHRoaXMucGx1Z2luX2NvdW50LCB0aGlzLnBvaW50ZXJDbGljay5iaW5kKHRoaXMsICJjbGljayIpKTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuc2luZ2xlLm9uKCJ0b3VjaHN0YXJ0Lmlyc18iICsgdGhpcy5wbHVnaW5fY291bnQsIHRoaXMucG9pbnRlckRvd24uYmluZCh0aGlzLCBudWxsKSk7DQogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuc2luZ2xlLm9uKCJtb3VzZWRvd24uaXJzXyIgKyB0aGlzLnBsdWdpbl9jb3VudCwgdGhpcy5wb2ludGVyRG93bi5iaW5kKHRoaXMsIG51bGwpKTsNCg0KICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLmZyb20ub24oInRvdWNoc3RhcnQuaXJzXyIgKyB0aGlzLnBsdWdpbl9jb3VudCwgdGhpcy5wb2ludGVyRG93bi5iaW5kKHRoaXMsICJmcm9tIikpOw0KICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnNfZnJvbS5vbigidG91Y2hzdGFydC5pcnNfIiArIHRoaXMucGx1Z2luX2NvdW50LCB0aGlzLnBvaW50ZXJEb3duLmJpbmQodGhpcywgImZyb20iKSk7DQogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUudG8ub24oInRvdWNoc3RhcnQuaXJzXyIgKyB0aGlzLnBsdWdpbl9jb3VudCwgdGhpcy5wb2ludGVyRG93bi5iaW5kKHRoaXMsICJ0byIpKTsNCiAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5zX3RvLm9uKCJ0b3VjaHN0YXJ0Lmlyc18iICsgdGhpcy5wbHVnaW5fY291bnQsIHRoaXMucG9pbnRlckRvd24uYmluZCh0aGlzLCAidG8iKSk7DQogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuc2hhZF9mcm9tLm9uKCJ0b3VjaHN0YXJ0Lmlyc18iICsgdGhpcy5wbHVnaW5fY291bnQsIHRoaXMucG9pbnRlckNsaWNrLmJpbmQodGhpcywgImNsaWNrIikpOw0KICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnNoYWRfdG8ub24oInRvdWNoc3RhcnQuaXJzXyIgKyB0aGlzLnBsdWdpbl9jb3VudCwgdGhpcy5wb2ludGVyQ2xpY2suYmluZCh0aGlzLCAiY2xpY2siKSk7DQoNCiAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5mcm9tLm9uKCJtb3VzZWRvd24uaXJzXyIgKyB0aGlzLnBsdWdpbl9jb3VudCwgdGhpcy5wb2ludGVyRG93bi5iaW5kKHRoaXMsICJmcm9tIikpOw0KICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnNfZnJvbS5vbigibW91c2Vkb3duLmlyc18iICsgdGhpcy5wbHVnaW5fY291bnQsIHRoaXMucG9pbnRlckRvd24uYmluZCh0aGlzLCAiZnJvbSIpKTsNCiAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS50by5vbigibW91c2Vkb3duLmlyc18iICsgdGhpcy5wbHVnaW5fY291bnQsIHRoaXMucG9pbnRlckRvd24uYmluZCh0aGlzLCAidG8iKSk7DQogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuc190by5vbigibW91c2Vkb3duLmlyc18iICsgdGhpcy5wbHVnaW5fY291bnQsIHRoaXMucG9pbnRlckRvd24uYmluZCh0aGlzLCAidG8iKSk7DQogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuc2hhZF9mcm9tLm9uKCJtb3VzZWRvd24uaXJzXyIgKyB0aGlzLnBsdWdpbl9jb3VudCwgdGhpcy5wb2ludGVyQ2xpY2suYmluZCh0aGlzLCAiY2xpY2siKSk7DQogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuc2hhZF90by5vbigibW91c2Vkb3duLmlyc18iICsgdGhpcy5wbHVnaW5fY291bnQsIHRoaXMucG9pbnRlckNsaWNrLmJpbmQodGhpcywgImNsaWNrIikpOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmtleWJvYXJkKSB7DQogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUubGluZS5vbigia2V5ZG93bi5pcnNfIiArIHRoaXMucGx1Z2luX2NvdW50LCB0aGlzLmtleS5iaW5kKHRoaXMsICJrZXlib2FyZCIpKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKGlzX29sZF9pZSkgew0KICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLmJvZHkub24oIm1vdXNldXAuaXJzXyIgKyB0aGlzLnBsdWdpbl9jb3VudCwgdGhpcy5wb2ludGVyVXAuYmluZCh0aGlzKSk7DQogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuYm9keS5vbigibW91c2VsZWF2ZS5pcnNfIiArIHRoaXMucGx1Z2luX2NvdW50LCB0aGlzLnBvaW50ZXJVcC5iaW5kKHRoaXMpKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCg0KICAgICAgICAvKioNCiAgICAgICAgICogTW91c2Vtb3ZlIG9yIHRvdWNobW92ZQ0KICAgICAgICAgKiBvbmx5IGZvciBoYW5kbGVycw0KICAgICAgICAgKg0KICAgICAgICAgKiBAcGFyYW0gZSB7T2JqZWN0fSBldmVudCBvYmplY3QNCiAgICAgICAgICovDQogICAgICAgIHBvaW50ZXJNb3ZlOiBmdW5jdGlvbiAoZSkgew0KICAgICAgICAgICAgaWYgKCF0aGlzLmRyYWdnaW5nKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB2YXIgeCA9IGUucGFnZVggfHwgZS5vcmlnaW5hbEV2ZW50LnRvdWNoZXMgJiYgZS5vcmlnaW5hbEV2ZW50LnRvdWNoZXNbMF0ucGFnZVg7DQogICAgICAgICAgICB0aGlzLmNvb3Jkcy54X3BvaW50ZXIgPSB4IC0gdGhpcy5jb29yZHMueF9nYXA7DQoNCiAgICAgICAgICAgIHRoaXMuY2FsYygpOw0KICAgICAgICB9LA0KDQogICAgICAgIC8qKg0KICAgICAgICAgKiBNb3VzZXVwIG9yIHRvdWNoZW5kDQogICAgICAgICAqIG9ubHkgZm9yIGhhbmRsZXJzDQogICAgICAgICAqDQogICAgICAgICAqIEBwYXJhbSBlIHtPYmplY3R9IGV2ZW50IG9iamVjdA0KICAgICAgICAgKi8NCiAgICAgICAgcG9pbnRlclVwOiBmdW5jdGlvbiAoZSkgew0KICAgICAgICAgICAgaWYgKHRoaXMuY3VycmVudF9wbHVnaW4gIT09IHRoaXMucGx1Z2luX2NvdW50KSB7DQogICAgICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAodGhpcy5pc19hY3RpdmUpIHsNCiAgICAgICAgICAgICAgICB0aGlzLmlzX2FjdGl2ZSA9IGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm47DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHRoaXMuJGNhY2hlLmNvbnQuZmluZCgiLnN0YXRlX2hvdmVyIikucmVtb3ZlQ2xhc3MoInN0YXRlX2hvdmVyIik7DQoNCiAgICAgICAgICAgIHRoaXMuZm9yY2VfcmVkcmF3ID0gdHJ1ZTsNCg0KICAgICAgICAgICAgaWYgKGlzX29sZF9pZSkgew0KICAgICAgICAgICAgICAgICQoIioiKS5wcm9wKCJ1bnNlbGVjdGFibGUiLCBmYWxzZSk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHRoaXMudXBkYXRlU2NlbmUoKTsNCiAgICAgICAgICAgIHRoaXMucmVzdG9yZU9yaWdpbmFsTWluSW50ZXJ2YWwoKTsNCg0KICAgICAgICAgICAgLy8gY2FsbGJhY2tzIGNhbGwNCiAgICAgICAgICAgIGlmICgkLmNvbnRhaW5zKHRoaXMuJGNhY2hlLmNvbnRbMF0sIGUudGFyZ2V0KSB8fCB0aGlzLmRyYWdnaW5nKSB7DQogICAgICAgICAgICAgICAgdGhpcy5pc19maW5pc2ggPSB0cnVlOw0KICAgICAgICAgICAgICAgIHRoaXMuY2FsbE9uRmluaXNoKCk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICANCiAgICAgICAgICAgIHRoaXMuZHJhZ2dpbmcgPSBmYWxzZTsNCiAgICAgICAgfSwNCg0KICAgICAgICAvKioNCiAgICAgICAgICogTW91c2Vkb3duIG9yIHRvdWNoc3RhcnQNCiAgICAgICAgICogb25seSBmb3IgaGFuZGxlcnMNCiAgICAgICAgICoNCiAgICAgICAgICogQHBhcmFtIHRhcmdldCB7U3RyaW5nfG51bGx9DQogICAgICAgICAqIEBwYXJhbSBlIHtPYmplY3R9IGV2ZW50IG9iamVjdA0KICAgICAgICAgKi8NCiAgICAgICAgcG9pbnRlckRvd246IGZ1bmN0aW9uICh0YXJnZXQsIGUpIHsNCiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsNCiAgICAgICAgICAgIHZhciB4ID0gZS5wYWdlWCB8fCBlLm9yaWdpbmFsRXZlbnQudG91Y2hlcyAmJiBlLm9yaWdpbmFsRXZlbnQudG91Y2hlc1swXS5wYWdlWDsNCiAgICAgICAgICAgIGlmIChlLmJ1dHRvbiA9PT0gMikgew0KICAgICAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKHRhcmdldCA9PT0gImJvdGgiKSB7DQogICAgICAgICAgICAgICAgdGhpcy5zZXRUZW1wTWluSW50ZXJ2YWwoKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKCF0YXJnZXQpIHsNCiAgICAgICAgICAgICAgICB0YXJnZXQgPSB0aGlzLnRhcmdldDsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdGhpcy5jdXJyZW50X3BsdWdpbiA9IHRoaXMucGx1Z2luX2NvdW50Ow0KICAgICAgICAgICAgdGhpcy50YXJnZXQgPSB0YXJnZXQ7DQoNCiAgICAgICAgICAgIHRoaXMuaXNfYWN0aXZlID0gdHJ1ZTsNCiAgICAgICAgICAgIHRoaXMuZHJhZ2dpbmcgPSB0cnVlOw0KDQogICAgICAgICAgICB0aGlzLmNvb3Jkcy54X2dhcCA9IHRoaXMuJGNhY2hlLnJzLm9mZnNldCgpLmxlZnQ7DQogICAgICAgICAgICB0aGlzLmNvb3Jkcy54X3BvaW50ZXIgPSB4IC0gdGhpcy5jb29yZHMueF9nYXA7DQoNCiAgICAgICAgICAgIHRoaXMuY2FsY1BvaW50ZXJQZXJjZW50KCk7DQogICAgICAgICAgICB0aGlzLmNoYW5nZUxldmVsKHRhcmdldCk7DQoNCiAgICAgICAgICAgIGlmIChpc19vbGRfaWUpIHsNCiAgICAgICAgICAgICAgICAkKCIqIikucHJvcCgidW5zZWxlY3RhYmxlIiwgdHJ1ZSk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHRoaXMuJGNhY2hlLmxpbmUudHJpZ2dlcigiZm9jdXMiKTsNCg0KICAgICAgICAgICAgdGhpcy51cGRhdGVTY2VuZSgpOw0KICAgICAgICB9LA0KDQogICAgICAgIC8qKg0KICAgICAgICAgKiBNb3VzZWRvd24gb3IgdG91Y2hzdGFydA0KICAgICAgICAgKiBmb3Igb3RoZXIgc2xpZGVyIGVsZW1lbnRzLCBsaWtlIGRpYXBhc29uIGxpbmUNCiAgICAgICAgICoNCiAgICAgICAgICogQHBhcmFtIHRhcmdldCB7U3RyaW5nfQ0KICAgICAgICAgKiBAcGFyYW0gZSB7T2JqZWN0fSBldmVudCBvYmplY3QNCiAgICAgICAgICovDQogICAgICAgIHBvaW50ZXJDbGljazogZnVuY3Rpb24gKHRhcmdldCwgZSkgew0KICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOw0KICAgICAgICAgICAgdmFyIHggPSBlLnBhZ2VYIHx8IGUub3JpZ2luYWxFdmVudC50b3VjaGVzICYmIGUub3JpZ2luYWxFdmVudC50b3VjaGVzWzBdLnBhZ2VYOw0KICAgICAgICAgICAgaWYgKGUuYnV0dG9uID09PSAyKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB0aGlzLmN1cnJlbnRfcGx1Z2luID0gdGhpcy5wbHVnaW5fY291bnQ7DQogICAgICAgICAgICB0aGlzLnRhcmdldCA9IHRhcmdldDsNCg0KICAgICAgICAgICAgdGhpcy5pc19jbGljayA9IHRydWU7DQogICAgICAgICAgICB0aGlzLmNvb3Jkcy54X2dhcCA9IHRoaXMuJGNhY2hlLnJzLm9mZnNldCgpLmxlZnQ7DQogICAgICAgICAgICB0aGlzLmNvb3Jkcy54X3BvaW50ZXIgPSArKHggLSB0aGlzLmNvb3Jkcy54X2dhcCkudG9GaXhlZCgpOw0KDQogICAgICAgICAgICB0aGlzLmZvcmNlX3JlZHJhdyA9IHRydWU7DQogICAgICAgICAgICB0aGlzLmNhbGMoKTsNCg0KICAgICAgICAgICAgdGhpcy4kY2FjaGUubGluZS50cmlnZ2VyKCJmb2N1cyIpOw0KICAgICAgICB9LA0KDQogICAgICAgIC8qKg0KICAgICAgICAgKiBLZXlib3JhcmQgY29udHJvbHMgZm9yIGZvY3VzZWQgc2xpZGVyDQogICAgICAgICAqDQogICAgICAgICAqIEBwYXJhbSB0YXJnZXQge1N0cmluZ30NCiAgICAgICAgICogQHBhcmFtIGUge09iamVjdH0gZXZlbnQgb2JqZWN0DQogICAgICAgICAqIEByZXR1cm5zIHtib29sZWFufHVuZGVmaW5lZH0NCiAgICAgICAgICovDQogICAgICAgIGtleTogZnVuY3Rpb24gKHRhcmdldCwgZSkgew0KICAgICAgICAgICAgaWYgKHRoaXMuY3VycmVudF9wbHVnaW4gIT09IHRoaXMucGx1Z2luX2NvdW50IHx8IGUuYWx0S2V5IHx8IGUuY3RybEtleSB8fCBlLnNoaWZ0S2V5IHx8IGUubWV0YUtleSkgew0KICAgICAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgc3dpdGNoIChlLndoaWNoKSB7DQogICAgICAgICAgICAgICAgY2FzZSA4MzogLy8gVw0KICAgICAgICAgICAgICAgIGNhc2UgNjU6IC8vIEENCiAgICAgICAgICAgICAgICBjYXNlIDQwOiAvLyBET1dODQogICAgICAgICAgICAgICAgY2FzZSAzNzogLy8gTEVGVA0KICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7DQogICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZUJ5S2V5KGZhbHNlKTsNCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQoNCiAgICAgICAgICAgICAgICBjYXNlIDg3OiAvLyBTDQogICAgICAgICAgICAgICAgY2FzZSA2ODogLy8gRA0KICAgICAgICAgICAgICAgIGNhc2UgMzg6IC8vIFVQDQogICAgICAgICAgICAgICAgY2FzZSAzOTogLy8gUklHSFQNCiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOw0KICAgICAgICAgICAgICAgICAgICB0aGlzLm1vdmVCeUtleSh0cnVlKTsNCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9LA0KDQogICAgICAgIC8qKg0KICAgICAgICAgKiBNb3ZlIGJ5IGtleS4gQmV0YQ0KICAgICAgICAgKiBAdG9kbyByZWZhY3RvciB0aGFuIGhhdmUgcGxlbnR5IG9mIHRpbWUNCiAgICAgICAgICoNCiAgICAgICAgICogQHBhcmFtIHJpZ2h0IHtib29sZWFufSBkaXJlY3Rpb24gdG8gbW92ZQ0KICAgICAgICAgKi8NCiAgICAgICAgbW92ZUJ5S2V5OiBmdW5jdGlvbiAocmlnaHQpIHsNCiAgICAgICAgICAgIHZhciBwID0gdGhpcy5jb29yZHMucF9wb2ludGVyOw0KDQogICAgICAgICAgICBpZiAocmlnaHQpIHsNCiAgICAgICAgICAgICAgICBwICs9IHRoaXMub3B0aW9ucy5rZXlib2FyZF9zdGVwOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBwIC09IHRoaXMub3B0aW9ucy5rZXlib2FyZF9zdGVwOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB0aGlzLmNvb3Jkcy54X3BvaW50ZXIgPSB0aGlzLnRvRml4ZWQodGhpcy5jb29yZHMud19ycyAvIDEwMCAqIHApOw0KICAgICAgICAgICAgdGhpcy5pc19rZXkgPSB0cnVlOw0KICAgICAgICAgICAgdGhpcy5jYWxjKCk7DQogICAgICAgIH0sDQoNCiAgICAgICAgLyoqDQogICAgICAgICAqIFNldCB2aXNpYmlsaXR5IGFuZCBjb250ZW50DQogICAgICAgICAqIG9mIE1pbiBhbmQgTWF4IGxhYmVscw0KICAgICAgICAgKi8NCiAgICAgICAgc2V0TWluTWF4OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBpZiAoIXRoaXMub3B0aW9ucykgew0KICAgICAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5oaWRlX21pbl9tYXgpIHsNCiAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5taW5bMF0uc3R5bGUuZGlzcGxheSA9ICJub25lIjsNCiAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5tYXhbMF0uc3R5bGUuZGlzcGxheSA9ICJub25lIjsNCiAgICAgICAgICAgICAgICByZXR1cm47DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aCkgew0KICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLm1pbi5odG1sKHRoaXMuZGVjb3JhdGUodGhpcy5vcHRpb25zLnBfdmFsdWVzW3RoaXMub3B0aW9ucy5taW5dKSk7DQogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUubWF4Lmh0bWwodGhpcy5kZWNvcmF0ZSh0aGlzLm9wdGlvbnMucF92YWx1ZXNbdGhpcy5vcHRpb25zLm1heF0pKTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUubWluLmh0bWwodGhpcy5kZWNvcmF0ZSh0aGlzLl9wcmV0dGlmeSh0aGlzLm9wdGlvbnMubWluKSwgdGhpcy5vcHRpb25zLm1pbikpOw0KICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLm1heC5odG1sKHRoaXMuZGVjb3JhdGUodGhpcy5fcHJldHRpZnkodGhpcy5vcHRpb25zLm1heCksIHRoaXMub3B0aW9ucy5tYXgpKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdGhpcy5sYWJlbHMud19taW4gPSB0aGlzLiRjYWNoZS5taW4ub3V0ZXJXaWR0aChmYWxzZSk7DQogICAgICAgICAgICB0aGlzLmxhYmVscy53X21heCA9IHRoaXMuJGNhY2hlLm1heC5vdXRlcldpZHRoKGZhbHNlKTsNCiAgICAgICAgfSwNCg0KICAgICAgICAvKioNCiAgICAgICAgICogVGhlbiBkcmFnZ2luZyBpbnRlcnZhbCwgcHJldmVudCBpbnRlcnZhbCBjb2xsYXBzaW5nDQogICAgICAgICAqIHVzaW5nIG1pbl9pbnRlcnZhbCBvcHRpb24NCiAgICAgICAgICovDQogICAgICAgIHNldFRlbXBNaW5JbnRlcnZhbDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdmFyIGludGVydmFsID0gdGhpcy5yZXN1bHQudG8gLSB0aGlzLnJlc3VsdC5mcm9tOw0KDQogICAgICAgICAgICBpZiAodGhpcy5vbGRfbWluX2ludGVydmFsID09PSBudWxsKSB7DQogICAgICAgICAgICAgICAgdGhpcy5vbGRfbWluX2ludGVydmFsID0gdGhpcy5vcHRpb25zLm1pbl9pbnRlcnZhbDsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdGhpcy5vcHRpb25zLm1pbl9pbnRlcnZhbCA9IGludGVydmFsOw0KICAgICAgICB9LA0KDQogICAgICAgIC8qKg0KICAgICAgICAgKiBSZXN0b3JlIG1pbl9pbnRlcnZhbCBvcHRpb24gdG8gb3JpZ2luYWwNCiAgICAgICAgICovDQogICAgICAgIHJlc3RvcmVPcmlnaW5hbE1pbkludGVydmFsOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBpZiAodGhpcy5vbGRfbWluX2ludGVydmFsICE9PSBudWxsKSB7DQogICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLm1pbl9pbnRlcnZhbCA9IHRoaXMub2xkX21pbl9pbnRlcnZhbDsNCiAgICAgICAgICAgICAgICB0aGlzLm9sZF9taW5faW50ZXJ2YWwgPSBudWxsOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KDQoNCg0KICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogICAgICAgIC8vIENhbGN1bGF0aW9ucw0KDQogICAgICAgIC8qKg0KICAgICAgICAgKiBBbGwgY2FsY3VsYXRpb25zIGFuZCBtZWFzdXJlcyBzdGFydCBoZXJlDQogICAgICAgICAqDQogICAgICAgICAqIEBwYXJhbSB1cGRhdGUge2Jvb2xlYW49fQ0KICAgICAgICAgKi8NCiAgICAgICAgY2FsYzogZnVuY3Rpb24gKHVwZGF0ZSkgew0KICAgICAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnMpIHsNCiAgICAgICAgICAgICAgICByZXR1cm47DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHRoaXMuY2FsY19jb3VudCsrOw0KDQogICAgICAgICAgICBpZiAodGhpcy5jYWxjX2NvdW50ID09PSAxMCB8fCB1cGRhdGUpIHsNCiAgICAgICAgICAgICAgICB0aGlzLmNhbGNfY291bnQgPSAwOw0KICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLndfcnMgPSB0aGlzLiRjYWNoZS5ycy5vdXRlcldpZHRoKGZhbHNlKTsNCg0KICAgICAgICAgICAgICAgIHRoaXMuY2FsY0hhbmRsZVBlcmNlbnQoKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKCF0aGlzLmNvb3Jkcy53X3JzKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB0aGlzLmNhbGNQb2ludGVyUGVyY2VudCgpOw0KICAgICAgICAgICAgdmFyIGhhbmRsZV94ID0gdGhpcy5nZXRIYW5kbGVYKCk7DQoNCiAgICAgICAgICAgIGlmICh0aGlzLnRhcmdldCA9PT0gImNsaWNrIikgew0KICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfZ2FwID0gdGhpcy5jb29yZHMucF9oYW5kbGUgLyAyOw0KICAgICAgICAgICAgICAgIGhhbmRsZV94ID0gdGhpcy5nZXRIYW5kbGVYKCk7DQoNCiAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmRyYWdfaW50ZXJ2YWwpIHsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy50YXJnZXQgPSAiYm90aF9vbmUiOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMudGFyZ2V0ID0gdGhpcy5jaG9vc2VIYW5kbGUoaGFuZGxlX3gpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgc3dpdGNoICh0aGlzLnRhcmdldCkgew0KICAgICAgICAgICAgICAgIGNhc2UgImJhc2UiOg0KICAgICAgICAgICAgICAgICAgICB2YXIgdyA9ICh0aGlzLm9wdGlvbnMubWF4IC0gdGhpcy5vcHRpb25zLm1pbikgLyAxMDAsDQogICAgICAgICAgICAgICAgICAgICAgICBmID0gKHRoaXMucmVzdWx0LmZyb20gLSB0aGlzLm9wdGlvbnMubWluKSAvIHcsDQogICAgICAgICAgICAgICAgICAgICAgICB0ID0gKHRoaXMucmVzdWx0LnRvIC0gdGhpcy5vcHRpb25zLm1pbikgLyB3Ow0KDQogICAgICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfc2luZ2xlX3JlYWwgPSB0aGlzLnRvRml4ZWQoZik7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfZnJvbV9yZWFsID0gdGhpcy50b0ZpeGVkKGYpOw0KICAgICAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX3RvX3JlYWwgPSB0aGlzLnRvRml4ZWQodCk7DQoNCiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb29yZHMucF9zaW5nbGVfcmVhbCA9IHRoaXMuY2hlY2tEaWFwYXNvbih0aGlzLmNvb3Jkcy5wX3NpbmdsZV9yZWFsLCB0aGlzLm9wdGlvbnMuZnJvbV9taW4sIHRoaXMub3B0aW9ucy5mcm9tX21heCk7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfZnJvbV9yZWFsID0gdGhpcy5jaGVja0RpYXBhc29uKHRoaXMuY29vcmRzLnBfZnJvbV9yZWFsLCB0aGlzLm9wdGlvbnMuZnJvbV9taW4sIHRoaXMub3B0aW9ucy5mcm9tX21heCk7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfdG9fcmVhbCA9IHRoaXMuY2hlY2tEaWFwYXNvbih0aGlzLmNvb3Jkcy5wX3RvX3JlYWwsIHRoaXMub3B0aW9ucy50b19taW4sIHRoaXMub3B0aW9ucy50b19tYXgpOw0KDQogICAgICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfc2luZ2xlX2Zha2UgPSB0aGlzLmNvbnZlcnRUb0Zha2VQZXJjZW50KHRoaXMuY29vcmRzLnBfc2luZ2xlX3JlYWwpOw0KICAgICAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX2Zyb21fZmFrZSA9IHRoaXMuY29udmVydFRvRmFrZVBlcmNlbnQodGhpcy5jb29yZHMucF9mcm9tX3JlYWwpOw0KICAgICAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX3RvX2Zha2UgPSB0aGlzLmNvbnZlcnRUb0Zha2VQZXJjZW50KHRoaXMuY29vcmRzLnBfdG9fcmVhbCk7DQoNCiAgICAgICAgICAgICAgICAgICAgdGhpcy50YXJnZXQgPSBudWxsOw0KDQogICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KDQogICAgICAgICAgICAgICAgY2FzZSAic2luZ2xlIjoNCiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5mcm9tX2ZpeGVkKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfc2luZ2xlX3JlYWwgPSB0aGlzLmNvbnZlcnRUb1JlYWxQZXJjZW50KGhhbmRsZV94KTsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb29yZHMucF9zaW5nbGVfcmVhbCA9IHRoaXMuY2FsY1dpdGhTdGVwKHRoaXMuY29vcmRzLnBfc2luZ2xlX3JlYWwpOw0KICAgICAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX3NpbmdsZV9yZWFsID0gdGhpcy5jaGVja0RpYXBhc29uKHRoaXMuY29vcmRzLnBfc2luZ2xlX3JlYWwsIHRoaXMub3B0aW9ucy5mcm9tX21pbiwgdGhpcy5vcHRpb25zLmZyb21fbWF4KTsNCg0KICAgICAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX3NpbmdsZV9mYWtlID0gdGhpcy5jb252ZXJ0VG9GYWtlUGVyY2VudCh0aGlzLmNvb3Jkcy5wX3NpbmdsZV9yZWFsKTsNCg0KICAgICAgICAgICAgICAgICAgICBicmVhazsNCg0KICAgICAgICAgICAgICAgIGNhc2UgImZyb20iOg0KICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmZyb21fZml4ZWQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb29yZHMucF9mcm9tX3JlYWwgPSB0aGlzLmNvbnZlcnRUb1JlYWxQZXJjZW50KGhhbmRsZV94KTsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb29yZHMucF9mcm9tX3JlYWwgPSB0aGlzLmNhbGNXaXRoU3RlcCh0aGlzLmNvb3Jkcy5wX2Zyb21fcmVhbCk7DQogICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvb3Jkcy5wX2Zyb21fcmVhbCA+IHRoaXMuY29vcmRzLnBfdG9fcmVhbCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb29yZHMucF9mcm9tX3JlYWwgPSB0aGlzLmNvb3Jkcy5wX3RvX3JlYWw7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb29yZHMucF9mcm9tX3JlYWwgPSB0aGlzLmNoZWNrRGlhcGFzb24odGhpcy5jb29yZHMucF9mcm9tX3JlYWwsIHRoaXMub3B0aW9ucy5mcm9tX21pbiwgdGhpcy5vcHRpb25zLmZyb21fbWF4KTsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb29yZHMucF9mcm9tX3JlYWwgPSB0aGlzLmNoZWNrTWluSW50ZXJ2YWwodGhpcy5jb29yZHMucF9mcm9tX3JlYWwsIHRoaXMuY29vcmRzLnBfdG9fcmVhbCwgImZyb20iKTsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb29yZHMucF9mcm9tX3JlYWwgPSB0aGlzLmNoZWNrTWF4SW50ZXJ2YWwodGhpcy5jb29yZHMucF9mcm9tX3JlYWwsIHRoaXMuY29vcmRzLnBfdG9fcmVhbCwgImZyb20iKTsNCg0KICAgICAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX2Zyb21fZmFrZSA9IHRoaXMuY29udmVydFRvRmFrZVBlcmNlbnQodGhpcy5jb29yZHMucF9mcm9tX3JlYWwpOw0KDQogICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KDQogICAgICAgICAgICAgICAgY2FzZSAidG8iOg0KICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLnRvX2ZpeGVkKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfdG9fcmVhbCA9IHRoaXMuY29udmVydFRvUmVhbFBlcmNlbnQoaGFuZGxlX3gpOw0KICAgICAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX3RvX3JlYWwgPSB0aGlzLmNhbGNXaXRoU3RlcCh0aGlzLmNvb3Jkcy5wX3RvX3JlYWwpOw0KICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5jb29yZHMucF90b19yZWFsIDwgdGhpcy5jb29yZHMucF9mcm9tX3JlYWwpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfdG9fcmVhbCA9IHRoaXMuY29vcmRzLnBfZnJvbV9yZWFsOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfdG9fcmVhbCA9IHRoaXMuY2hlY2tEaWFwYXNvbih0aGlzLmNvb3Jkcy5wX3RvX3JlYWwsIHRoaXMub3B0aW9ucy50b19taW4sIHRoaXMub3B0aW9ucy50b19tYXgpOw0KICAgICAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX3RvX3JlYWwgPSB0aGlzLmNoZWNrTWluSW50ZXJ2YWwodGhpcy5jb29yZHMucF90b19yZWFsLCB0aGlzLmNvb3Jkcy5wX2Zyb21fcmVhbCwgInRvIik7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfdG9fcmVhbCA9IHRoaXMuY2hlY2tNYXhJbnRlcnZhbCh0aGlzLmNvb3Jkcy5wX3RvX3JlYWwsIHRoaXMuY29vcmRzLnBfZnJvbV9yZWFsLCAidG8iKTsNCg0KICAgICAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX3RvX2Zha2UgPSB0aGlzLmNvbnZlcnRUb0Zha2VQZXJjZW50KHRoaXMuY29vcmRzLnBfdG9fcmVhbCk7DQoNCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQoNCiAgICAgICAgICAgICAgICBjYXNlICJib3RoIjoNCiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5mcm9tX2ZpeGVkIHx8IHRoaXMub3B0aW9ucy50b19maXhlZCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBoYW5kbGVfeCA9IHRoaXMudG9GaXhlZChoYW5kbGVfeCArICh0aGlzLmNvb3Jkcy5wX2hhbmRsZSAqIDAuMSkpOw0KDQogICAgICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfZnJvbV9yZWFsID0gdGhpcy5jb252ZXJ0VG9SZWFsUGVyY2VudChoYW5kbGVfeCkgLSB0aGlzLmNvb3Jkcy5wX2dhcF9sZWZ0Ow0KICAgICAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX2Zyb21fcmVhbCA9IHRoaXMuY2FsY1dpdGhTdGVwKHRoaXMuY29vcmRzLnBfZnJvbV9yZWFsKTsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb29yZHMucF9mcm9tX3JlYWwgPSB0aGlzLmNoZWNrRGlhcGFzb24odGhpcy5jb29yZHMucF9mcm9tX3JlYWwsIHRoaXMub3B0aW9ucy5mcm9tX21pbiwgdGhpcy5vcHRpb25zLmZyb21fbWF4KTsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb29yZHMucF9mcm9tX3JlYWwgPSB0aGlzLmNoZWNrTWluSW50ZXJ2YWwodGhpcy5jb29yZHMucF9mcm9tX3JlYWwsIHRoaXMuY29vcmRzLnBfdG9fcmVhbCwgImZyb20iKTsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb29yZHMucF9mcm9tX2Zha2UgPSB0aGlzLmNvbnZlcnRUb0Zha2VQZXJjZW50KHRoaXMuY29vcmRzLnBfZnJvbV9yZWFsKTsNCg0KICAgICAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX3RvX3JlYWwgPSB0aGlzLmNvbnZlcnRUb1JlYWxQZXJjZW50KGhhbmRsZV94KSArIHRoaXMuY29vcmRzLnBfZ2FwX3JpZ2h0Ow0KICAgICAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX3RvX3JlYWwgPSB0aGlzLmNhbGNXaXRoU3RlcCh0aGlzLmNvb3Jkcy5wX3RvX3JlYWwpOw0KICAgICAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX3RvX3JlYWwgPSB0aGlzLmNoZWNrRGlhcGFzb24odGhpcy5jb29yZHMucF90b19yZWFsLCB0aGlzLm9wdGlvbnMudG9fbWluLCB0aGlzLm9wdGlvbnMudG9fbWF4KTsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb29yZHMucF90b19yZWFsID0gdGhpcy5jaGVja01pbkludGVydmFsKHRoaXMuY29vcmRzLnBfdG9fcmVhbCwgdGhpcy5jb29yZHMucF9mcm9tX3JlYWwsICJ0byIpOw0KICAgICAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX3RvX2Zha2UgPSB0aGlzLmNvbnZlcnRUb0Zha2VQZXJjZW50KHRoaXMuY29vcmRzLnBfdG9fcmVhbCk7DQoNCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQoNCiAgICAgICAgICAgICAgICBjYXNlICJib3RoX29uZSI6DQogICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuZnJvbV9maXhlZCB8fCB0aGlzLm9wdGlvbnMudG9fZml4ZWQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgdmFyIHJlYWxfeCA9IHRoaXMuY29udmVydFRvUmVhbFBlcmNlbnQoaGFuZGxlX3gpLA0KICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSA9IHRoaXMucmVzdWx0LmZyb21fcGVyY2VudCwNCiAgICAgICAgICAgICAgICAgICAgICAgIHRvID0gdGhpcy5yZXN1bHQudG9fcGVyY2VudCwNCiAgICAgICAgICAgICAgICAgICAgICAgIGZ1bGwgPSB0byAtIGZyb20sDQogICAgICAgICAgICAgICAgICAgICAgICBoYWxmID0gZnVsbCAvIDIsDQogICAgICAgICAgICAgICAgICAgICAgICBuZXdfZnJvbSA9IHJlYWxfeCAtIGhhbGYsDQogICAgICAgICAgICAgICAgICAgICAgICBuZXdfdG8gPSByZWFsX3ggKyBoYWxmOw0KDQogICAgICAgICAgICAgICAgICAgIGlmIChuZXdfZnJvbSA8IDApIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIG5ld19mcm9tID0gMDsNCiAgICAgICAgICAgICAgICAgICAgICAgIG5ld190byA9IG5ld19mcm9tICsgZnVsbDsNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIGlmIChuZXdfdG8gPiAxMDApIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIG5ld190byA9IDEwMDsNCiAgICAgICAgICAgICAgICAgICAgICAgIG5ld19mcm9tID0gbmV3X3RvIC0gZnVsbDsNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfZnJvbV9yZWFsID0gdGhpcy5jYWxjV2l0aFN0ZXAobmV3X2Zyb20pOw0KICAgICAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX2Zyb21fcmVhbCA9IHRoaXMuY2hlY2tEaWFwYXNvbih0aGlzLmNvb3Jkcy5wX2Zyb21fcmVhbCwgdGhpcy5vcHRpb25zLmZyb21fbWluLCB0aGlzLm9wdGlvbnMuZnJvbV9tYXgpOw0KICAgICAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX2Zyb21fZmFrZSA9IHRoaXMuY29udmVydFRvRmFrZVBlcmNlbnQodGhpcy5jb29yZHMucF9mcm9tX3JlYWwpOw0KDQogICAgICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfdG9fcmVhbCA9IHRoaXMuY2FsY1dpdGhTdGVwKG5ld190byk7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfdG9fcmVhbCA9IHRoaXMuY2hlY2tEaWFwYXNvbih0aGlzLmNvb3Jkcy5wX3RvX3JlYWwsIHRoaXMub3B0aW9ucy50b19taW4sIHRoaXMub3B0aW9ucy50b19tYXgpOw0KICAgICAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX3RvX2Zha2UgPSB0aGlzLmNvbnZlcnRUb0Zha2VQZXJjZW50KHRoaXMuY29vcmRzLnBfdG9fcmVhbCk7DQoNCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMudHlwZSA9PT0gInNpbmdsZSIpIHsNCiAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX2Jhcl94ID0gKHRoaXMuY29vcmRzLnBfaGFuZGxlIC8gMik7DQogICAgICAgICAgICAgICAgdGhpcy5jb29yZHMucF9iYXJfdyA9IHRoaXMuY29vcmRzLnBfc2luZ2xlX2Zha2U7DQoNCiAgICAgICAgICAgICAgICB0aGlzLnJlc3VsdC5mcm9tX3BlcmNlbnQgPSB0aGlzLmNvb3Jkcy5wX3NpbmdsZV9yZWFsOw0KICAgICAgICAgICAgICAgIHRoaXMucmVzdWx0LmZyb20gPSB0aGlzLmNvbnZlcnRUb1ZhbHVlKHRoaXMuY29vcmRzLnBfc2luZ2xlX3JlYWwpOw0KDQogICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoKSB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMucmVzdWx0LmZyb21fdmFsdWUgPSB0aGlzLm9wdGlvbnMudmFsdWVzW3RoaXMucmVzdWx0LmZyb21dOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgdGhpcy5jb29yZHMucF9iYXJfeCA9IHRoaXMudG9GaXhlZCh0aGlzLmNvb3Jkcy5wX2Zyb21fZmFrZSArICh0aGlzLmNvb3Jkcy5wX2hhbmRsZSAvIDIpKTsNCiAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX2Jhcl93ID0gdGhpcy50b0ZpeGVkKHRoaXMuY29vcmRzLnBfdG9fZmFrZSAtIHRoaXMuY29vcmRzLnBfZnJvbV9mYWtlKTsNCg0KICAgICAgICAgICAgICAgIHRoaXMucmVzdWx0LmZyb21fcGVyY2VudCA9IHRoaXMuY29vcmRzLnBfZnJvbV9yZWFsOw0KICAgICAgICAgICAgICAgIHRoaXMucmVzdWx0LmZyb20gPSB0aGlzLmNvbnZlcnRUb1ZhbHVlKHRoaXMuY29vcmRzLnBfZnJvbV9yZWFsKTsNCiAgICAgICAgICAgICAgICB0aGlzLnJlc3VsdC50b19wZXJjZW50ID0gdGhpcy5jb29yZHMucF90b19yZWFsOw0KICAgICAgICAgICAgICAgIHRoaXMucmVzdWx0LnRvID0gdGhpcy5jb252ZXJ0VG9WYWx1ZSh0aGlzLmNvb3Jkcy5wX3RvX3JlYWwpOw0KDQogICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoKSB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMucmVzdWx0LmZyb21fdmFsdWUgPSB0aGlzLm9wdGlvbnMudmFsdWVzW3RoaXMucmVzdWx0LmZyb21dOw0KICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc3VsdC50b192YWx1ZSA9IHRoaXMub3B0aW9ucy52YWx1ZXNbdGhpcy5yZXN1bHQudG9dOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdGhpcy5jYWxjTWluTWF4KCk7DQogICAgICAgICAgICB0aGlzLmNhbGNMYWJlbHMoKTsNCiAgICAgICAgfSwNCg0KDQogICAgICAgIC8qKg0KICAgICAgICAgKiBjYWxjdWxhdGVzIHBvaW50ZXIgWCBpbiBwZXJjZW50DQogICAgICAgICAqLw0KICAgICAgICBjYWxjUG9pbnRlclBlcmNlbnQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIGlmICghdGhpcy5jb29yZHMud19ycykgew0KICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfcG9pbnRlciA9IDA7DQogICAgICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAodGhpcy5jb29yZHMueF9wb2ludGVyIDwgMCB8fCBpc05hTih0aGlzLmNvb3Jkcy54X3BvaW50ZXIpICApIHsNCiAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy54X3BvaW50ZXIgPSAwOw0KICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmNvb3Jkcy54X3BvaW50ZXIgPiB0aGlzLmNvb3Jkcy53X3JzKSB7DQogICAgICAgICAgICAgICAgdGhpcy5jb29yZHMueF9wb2ludGVyID0gdGhpcy5jb29yZHMud19yczsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdGhpcy5jb29yZHMucF9wb2ludGVyID0gdGhpcy50b0ZpeGVkKHRoaXMuY29vcmRzLnhfcG9pbnRlciAvIHRoaXMuY29vcmRzLndfcnMgKiAxMDApOw0KICAgICAgICB9LA0KDQogICAgICAgIGNvbnZlcnRUb1JlYWxQZXJjZW50OiBmdW5jdGlvbiAoZmFrZSkgew0KICAgICAgICAgICAgdmFyIGZ1bGwgPSAxMDAgLSB0aGlzLmNvb3Jkcy5wX2hhbmRsZTsNCiAgICAgICAgICAgIHJldHVybiBmYWtlIC8gZnVsbCAqIDEwMDsNCiAgICAgICAgfSwNCg0KICAgICAgICBjb252ZXJ0VG9GYWtlUGVyY2VudDogZnVuY3Rpb24gKHJlYWwpIHsNCiAgICAgICAgICAgIHZhciBmdWxsID0gMTAwIC0gdGhpcy5jb29yZHMucF9oYW5kbGU7DQogICAgICAgICAgICByZXR1cm4gcmVhbCAvIDEwMCAqIGZ1bGw7DQogICAgICAgIH0sDQoNCiAgICAgICAgZ2V0SGFuZGxlWDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdmFyIG1heCA9IDEwMCAtIHRoaXMuY29vcmRzLnBfaGFuZGxlLA0KICAgICAgICAgICAgICAgIHggPSB0aGlzLnRvRml4ZWQodGhpcy5jb29yZHMucF9wb2ludGVyIC0gdGhpcy5jb29yZHMucF9nYXApOw0KDQogICAgICAgICAgICBpZiAoeCA8IDApIHsNCiAgICAgICAgICAgICAgICB4ID0gMDsNCiAgICAgICAgICAgIH0gZWxzZSBpZiAoeCA+IG1heCkgew0KICAgICAgICAgICAgICAgIHggPSBtYXg7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiB4Ow0KICAgICAgICB9LA0KDQogICAgICAgIGNhbGNIYW5kbGVQZXJjZW50OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLnR5cGUgPT09ICJzaW5nbGUiKSB7DQogICAgICAgICAgICAgICAgdGhpcy5jb29yZHMud19oYW5kbGUgPSB0aGlzLiRjYWNoZS5zX3NpbmdsZS5vdXRlcldpZHRoKGZhbHNlKTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgdGhpcy5jb29yZHMud19oYW5kbGUgPSB0aGlzLiRjYWNoZS5zX2Zyb20ub3V0ZXJXaWR0aChmYWxzZSk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfaGFuZGxlID0gdGhpcy50b0ZpeGVkKHRoaXMuY29vcmRzLndfaGFuZGxlIC8gdGhpcy5jb29yZHMud19ycyAqIDEwMCk7DQogICAgICAgIH0sDQoNCiAgICAgICAgLyoqDQogICAgICAgICAqIEZpbmQgY2xvc2VzdCBoYW5kbGUgdG8gcG9pbnRlciBjbGljaw0KICAgICAgICAgKg0KICAgICAgICAgKiBAcGFyYW0gcmVhbF94IHtOdW1iZXJ9DQogICAgICAgICAqIEByZXR1cm5zIHtTdHJpbmd9DQogICAgICAgICAqLw0KICAgICAgICBjaG9vc2VIYW5kbGU6IGZ1bmN0aW9uIChyZWFsX3gpIHsNCiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMudHlwZSA9PT0gInNpbmdsZSIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gInNpbmdsZSI7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHZhciBtX3BvaW50ID0gdGhpcy5jb29yZHMucF9mcm9tX3JlYWwgKyAoKHRoaXMuY29vcmRzLnBfdG9fcmVhbCAtIHRoaXMuY29vcmRzLnBfZnJvbV9yZWFsKSAvIDIpOw0KICAgICAgICAgICAgICAgIGlmIChyZWFsX3ggPj0gbV9wb2ludCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLnRvX2ZpeGVkID8gImZyb20iIDogInRvIjsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmZyb21fZml4ZWQgPyAidG8iIDogImZyb20iOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCg0KICAgICAgICAvKioNCiAgICAgICAgICogTWVhc3VyZSBNaW4gYW5kIE1heCBsYWJlbHMgd2lkdGggaW4gcGVyY2VudA0KICAgICAgICAgKi8NCiAgICAgICAgY2FsY01pbk1heDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgaWYgKCF0aGlzLmNvb3Jkcy53X3JzKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB0aGlzLmxhYmVscy5wX21pbiA9IHRoaXMubGFiZWxzLndfbWluIC8gdGhpcy5jb29yZHMud19ycyAqIDEwMDsNCiAgICAgICAgICAgIHRoaXMubGFiZWxzLnBfbWF4ID0gdGhpcy5sYWJlbHMud19tYXggLyB0aGlzLmNvb3Jkcy53X3JzICogMTAwOw0KICAgICAgICB9LA0KDQogICAgICAgIC8qKg0KICAgICAgICAgKiBNZWFzdXJlIGxhYmVscyB3aWR0aCBhbmQgWCBpbiBwZXJjZW50DQogICAgICAgICAqLw0KICAgICAgICBjYWxjTGFiZWxzOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBpZiAoIXRoaXMuY29vcmRzLndfcnMgfHwgdGhpcy5vcHRpb25zLmhpZGVfZnJvbV90bykgew0KICAgICAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy50eXBlID09PSAic2luZ2xlIikgew0KDQogICAgICAgICAgICAgICAgdGhpcy5sYWJlbHMud19zaW5nbGUgPSB0aGlzLiRjYWNoZS5zaW5nbGUub3V0ZXJXaWR0aChmYWxzZSk7DQogICAgICAgICAgICAgICAgdGhpcy5sYWJlbHMucF9zaW5nbGVfZmFrZSA9IHRoaXMubGFiZWxzLndfc2luZ2xlIC8gdGhpcy5jb29yZHMud19ycyAqIDEwMDsNCiAgICAgICAgICAgICAgICB0aGlzLmxhYmVscy5wX3NpbmdsZV9sZWZ0ID0gdGhpcy5jb29yZHMucF9zaW5nbGVfZmFrZSArICh0aGlzLmNvb3Jkcy5wX2hhbmRsZSAvIDIpIC0gKHRoaXMubGFiZWxzLnBfc2luZ2xlX2Zha2UgLyAyKTsNCiAgICAgICAgICAgICAgICB0aGlzLmxhYmVscy5wX3NpbmdsZV9sZWZ0ID0gdGhpcy5jaGVja0VkZ2VzKHRoaXMubGFiZWxzLnBfc2luZ2xlX2xlZnQsIHRoaXMubGFiZWxzLnBfc2luZ2xlX2Zha2UpOw0KDQogICAgICAgICAgICB9IGVsc2Ugew0KDQogICAgICAgICAgICAgICAgdGhpcy5sYWJlbHMud19mcm9tID0gdGhpcy4kY2FjaGUuZnJvbS5vdXRlcldpZHRoKGZhbHNlKTsNCiAgICAgICAgICAgICAgICB0aGlzLmxhYmVscy5wX2Zyb21fZmFrZSA9IHRoaXMubGFiZWxzLndfZnJvbSAvIHRoaXMuY29vcmRzLndfcnMgKiAxMDA7DQogICAgICAgICAgICAgICAgdGhpcy5sYWJlbHMucF9mcm9tX2xlZnQgPSB0aGlzLmNvb3Jkcy5wX2Zyb21fZmFrZSArICh0aGlzLmNvb3Jkcy5wX2hhbmRsZSAvIDIpIC0gKHRoaXMubGFiZWxzLnBfZnJvbV9mYWtlIC8gMik7DQogICAgICAgICAgICAgICAgdGhpcy5sYWJlbHMucF9mcm9tX2xlZnQgPSB0aGlzLnRvRml4ZWQodGhpcy5sYWJlbHMucF9mcm9tX2xlZnQpOw0KICAgICAgICAgICAgICAgIHRoaXMubGFiZWxzLnBfZnJvbV9sZWZ0ID0gdGhpcy5jaGVja0VkZ2VzKHRoaXMubGFiZWxzLnBfZnJvbV9sZWZ0LCB0aGlzLmxhYmVscy5wX2Zyb21fZmFrZSk7DQoNCiAgICAgICAgICAgICAgICB0aGlzLmxhYmVscy53X3RvID0gdGhpcy4kY2FjaGUudG8ub3V0ZXJXaWR0aChmYWxzZSk7DQogICAgICAgICAgICAgICAgdGhpcy5sYWJlbHMucF90b19mYWtlID0gdGhpcy5sYWJlbHMud190byAvIHRoaXMuY29vcmRzLndfcnMgKiAxMDA7DQogICAgICAgICAgICAgICAgdGhpcy5sYWJlbHMucF90b19sZWZ0ID0gdGhpcy5jb29yZHMucF90b19mYWtlICsgKHRoaXMuY29vcmRzLnBfaGFuZGxlIC8gMikgLSAodGhpcy5sYWJlbHMucF90b19mYWtlIC8gMik7DQogICAgICAgICAgICAgICAgdGhpcy5sYWJlbHMucF90b19sZWZ0ID0gdGhpcy50b0ZpeGVkKHRoaXMubGFiZWxzLnBfdG9fbGVmdCk7DQogICAgICAgICAgICAgICAgdGhpcy5sYWJlbHMucF90b19sZWZ0ID0gdGhpcy5jaGVja0VkZ2VzKHRoaXMubGFiZWxzLnBfdG9fbGVmdCwgdGhpcy5sYWJlbHMucF90b19mYWtlKTsNCg0KICAgICAgICAgICAgICAgIHRoaXMubGFiZWxzLndfc2luZ2xlID0gdGhpcy4kY2FjaGUuc2luZ2xlLm91dGVyV2lkdGgoZmFsc2UpOw0KICAgICAgICAgICAgICAgIHRoaXMubGFiZWxzLnBfc2luZ2xlX2Zha2UgPSB0aGlzLmxhYmVscy53X3NpbmdsZSAvIHRoaXMuY29vcmRzLndfcnMgKiAxMDA7DQogICAgICAgICAgICAgICAgdGhpcy5sYWJlbHMucF9zaW5nbGVfbGVmdCA9ICgodGhpcy5sYWJlbHMucF9mcm9tX2xlZnQgKyB0aGlzLmxhYmVscy5wX3RvX2xlZnQgKyB0aGlzLmxhYmVscy5wX3RvX2Zha2UpIC8gMikgLSAodGhpcy5sYWJlbHMucF9zaW5nbGVfZmFrZSAvIDIpOw0KICAgICAgICAgICAgICAgIHRoaXMubGFiZWxzLnBfc2luZ2xlX2xlZnQgPSB0aGlzLnRvRml4ZWQodGhpcy5sYWJlbHMucF9zaW5nbGVfbGVmdCk7DQogICAgICAgICAgICAgICAgdGhpcy5sYWJlbHMucF9zaW5nbGVfbGVmdCA9IHRoaXMuY2hlY2tFZGdlcyh0aGlzLmxhYmVscy5wX3NpbmdsZV9sZWZ0LCB0aGlzLmxhYmVscy5wX3NpbmdsZV9mYWtlKTsNCg0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KDQoNCg0KICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogICAgICAgIC8vIERyYXdpbmdzDQoNCiAgICAgICAgLyoqDQogICAgICAgICAqIE1haW4gZnVuY3Rpb24gY2FsbGVkIGluIHJlcXVlc3QgYW5pbWF0aW9uIGZyYW1lDQogICAgICAgICAqIHRvIHVwZGF0ZSBldmVyeXRoaW5nDQogICAgICAgICAqLw0KICAgICAgICB1cGRhdGVTY2VuZTogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgaWYgKHRoaXMucmFmX2lkKSB7DQogICAgICAgICAgICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5yYWZfaWQpOw0KICAgICAgICAgICAgICAgIHRoaXMucmFmX2lkID0gbnVsbDsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudXBkYXRlX3RtKTsNCiAgICAgICAgICAgIHRoaXMudXBkYXRlX3RtID0gbnVsbDsNCg0KICAgICAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnMpIHsNCiAgICAgICAgICAgICAgICByZXR1cm47DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHRoaXMuZHJhd0hhbmRsZXMoKTsNCg0KICAgICAgICAgICAgaWYgKHRoaXMuaXNfYWN0aXZlKSB7DQogICAgICAgICAgICAgICAgdGhpcy5yYWZfaWQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy51cGRhdGVTY2VuZS5iaW5kKHRoaXMpKTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgdGhpcy51cGRhdGVfdG0gPSBzZXRUaW1lb3V0KHRoaXMudXBkYXRlU2NlbmUuYmluZCh0aGlzKSwgMzAwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCg0KICAgICAgICAvKioNCiAgICAgICAgICogRHJhdyBoYW5kbGVzDQogICAgICAgICAqLw0KICAgICAgICBkcmF3SGFuZGxlczogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdGhpcy5jb29yZHMud19ycyA9IHRoaXMuJGNhY2hlLnJzLm91dGVyV2lkdGgoZmFsc2UpOw0KDQogICAgICAgICAgICBpZiAoIXRoaXMuY29vcmRzLndfcnMpIHsNCiAgICAgICAgICAgICAgICByZXR1cm47DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmICh0aGlzLmNvb3Jkcy53X3JzICE9PSB0aGlzLmNvb3Jkcy53X3JzX29sZCkgew0KICAgICAgICAgICAgICAgIHRoaXMudGFyZ2V0ID0gImJhc2UiOw0KICAgICAgICAgICAgICAgIHRoaXMuaXNfcmVzaXplID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKHRoaXMuY29vcmRzLndfcnMgIT09IHRoaXMuY29vcmRzLndfcnNfb2xkIHx8IHRoaXMuZm9yY2VfcmVkcmF3KSB7DQogICAgICAgICAgICAgICAgdGhpcy5zZXRNaW5NYXgoKTsNCiAgICAgICAgICAgICAgICB0aGlzLmNhbGModHJ1ZSk7DQogICAgICAgICAgICAgICAgdGhpcy5kcmF3TGFiZWxzKCk7DQogICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5ncmlkKSB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuY2FsY0dyaWRNYXJnaW4oKTsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYWxjR3JpZExhYmVscygpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB0aGlzLmZvcmNlX3JlZHJhdyA9IHRydWU7DQogICAgICAgICAgICAgICAgdGhpcy5jb29yZHMud19yc19vbGQgPSB0aGlzLmNvb3Jkcy53X3JzOw0KICAgICAgICAgICAgICAgIHRoaXMuZHJhd1NoYWRvdygpOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAoIXRoaXMuY29vcmRzLndfcnMpIHsNCiAgICAgICAgICAgICAgICByZXR1cm47DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmICghdGhpcy5kcmFnZ2luZyAmJiAhdGhpcy5mb3JjZV9yZWRyYXcgJiYgIXRoaXMuaXNfa2V5KSB7DQogICAgICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAodGhpcy5vbGRfZnJvbSAhPT0gdGhpcy5yZXN1bHQuZnJvbSB8fCB0aGlzLm9sZF90byAhPT0gdGhpcy5yZXN1bHQudG8gfHwgdGhpcy5mb3JjZV9yZWRyYXcgfHwgdGhpcy5pc19rZXkpIHsNCg0KICAgICAgICAgICAgICAgIHRoaXMuZHJhd0xhYmVscygpOw0KDQogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuYmFyWzBdLnN0eWxlLmxlZnQgPSB0aGlzLmNvb3Jkcy5wX2Jhcl94ICsgIiUiOw0KICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLmJhclswXS5zdHlsZS53aWR0aCA9IHRoaXMuY29vcmRzLnBfYmFyX3cgKyAiJSI7DQoNCiAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLnR5cGUgPT09ICJzaW5nbGUiKSB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnNfc2luZ2xlWzBdLnN0eWxlLmxlZnQgPSB0aGlzLmNvb3Jkcy5wX3NpbmdsZV9mYWtlICsgIiUiOw0KDQogICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnNpbmdsZVswXS5zdHlsZS5sZWZ0ID0gdGhpcy5sYWJlbHMucF9zaW5nbGVfbGVmdCArICIlIjsNCg0KICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLnZhbHVlcy5sZW5ndGgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLmlucHV0LnByb3AoInZhbHVlIiwgdGhpcy5yZXN1bHQuZnJvbV92YWx1ZSk7DQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5pbnB1dC5wcm9wKCJ2YWx1ZSIsIHRoaXMucmVzdWx0LmZyb20pOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLmlucHV0LmRhdGEoImZyb20iLCB0aGlzLnJlc3VsdC5mcm9tKTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5zX2Zyb21bMF0uc3R5bGUubGVmdCA9IHRoaXMuY29vcmRzLnBfZnJvbV9mYWtlICsgIiUiOw0KICAgICAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5zX3RvWzBdLnN0eWxlLmxlZnQgPSB0aGlzLmNvb3Jkcy5wX3RvX2Zha2UgKyAiJSI7DQoNCiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMub2xkX2Zyb20gIT09IHRoaXMucmVzdWx0LmZyb20gfHwgdGhpcy5mb3JjZV9yZWRyYXcpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLmZyb21bMF0uc3R5bGUubGVmdCA9IHRoaXMubGFiZWxzLnBfZnJvbV9sZWZ0ICsgIiUiOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9sZF90byAhPT0gdGhpcy5yZXN1bHQudG8gfHwgdGhpcy5mb3JjZV9yZWRyYXcpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnRvWzBdLnN0eWxlLmxlZnQgPSB0aGlzLmxhYmVscy5wX3RvX2xlZnQgKyAiJSI7DQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5zaW5nbGVbMF0uc3R5bGUubGVmdCA9IHRoaXMubGFiZWxzLnBfc2luZ2xlX2xlZnQgKyAiJSI7DQoNCiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5pbnB1dC5wcm9wKCJ2YWx1ZSIsIHRoaXMucmVzdWx0LmZyb21fdmFsdWUgKyB0aGlzLm9wdGlvbnMuaW5wdXRfdmFsdWVzX3NlcGFyYXRvciArIHRoaXMucmVzdWx0LnRvX3ZhbHVlKTsNCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLmlucHV0LnByb3AoInZhbHVlIiwgdGhpcy5yZXN1bHQuZnJvbSArIHRoaXMub3B0aW9ucy5pbnB1dF92YWx1ZXNfc2VwYXJhdG9yICsgdGhpcy5yZXN1bHQudG8pOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLmlucHV0LmRhdGEoImZyb20iLCB0aGlzLnJlc3VsdC5mcm9tKTsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuaW5wdXQuZGF0YSgidG8iLCB0aGlzLnJlc3VsdC50byk7DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgaWYgKCh0aGlzLm9sZF9mcm9tICE9PSB0aGlzLnJlc3VsdC5mcm9tIHx8IHRoaXMub2xkX3RvICE9PSB0aGlzLnJlc3VsdC50bykgJiYgIXRoaXMuaXNfc3RhcnQpIHsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuaW5wdXQudHJpZ2dlcigiY2hhbmdlIik7DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgdGhpcy5vbGRfZnJvbSA9IHRoaXMucmVzdWx0LmZyb207DQogICAgICAgICAgICAgICAgdGhpcy5vbGRfdG8gPSB0aGlzLnJlc3VsdC50bzsNCg0KICAgICAgICAgICAgICAgIC8vIGNhbGxiYWNrcyBjYWxsDQogICAgICAgICAgICAgICAgaWYgKCF0aGlzLmlzX3Jlc2l6ZSAmJiAhdGhpcy5pc191cGRhdGUgJiYgIXRoaXMuaXNfc3RhcnQgJiYgIXRoaXMuaXNfZmluaXNoKSB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuY2FsbE9uQ2hhbmdlKCk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzX2tleSB8fCB0aGlzLmlzX2NsaWNrKSB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuaXNfa2V5ID0gZmFsc2U7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuaXNfY2xpY2sgPSBmYWxzZTsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYWxsT25GaW5pc2goKTsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICB0aGlzLmlzX3VwZGF0ZSA9IGZhbHNlOw0KICAgICAgICAgICAgICAgIHRoaXMuaXNfcmVzaXplID0gZmFsc2U7DQogICAgICAgICAgICAgICAgdGhpcy5pc19maW5pc2ggPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdGhpcy5pc19zdGFydCA9IGZhbHNlOw0KICAgICAgICAgICAgdGhpcy5pc19rZXkgPSBmYWxzZTsNCiAgICAgICAgICAgIHRoaXMuaXNfY2xpY2sgPSBmYWxzZTsNCiAgICAgICAgICAgIHRoaXMuZm9yY2VfcmVkcmF3ID0gZmFsc2U7DQogICAgICAgIH0sDQoNCiAgICAgICAgLyoqDQogICAgICAgICAqIERyYXcgbGFiZWxzDQogICAgICAgICAqIG1lYXN1cmUgbGFiZWxzIGNvbGxpc2lvbnMNCiAgICAgICAgICogY29sbGFwc2UgY2xvc2UgbGFiZWxzDQogICAgICAgICAqLw0KICAgICAgICBkcmF3TGFiZWxzOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBpZiAoIXRoaXMub3B0aW9ucykgew0KICAgICAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdmFyIHZhbHVlc19udW0gPSB0aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aCwNCiAgICAgICAgICAgICAgICBwX3ZhbHVlcyA9IHRoaXMub3B0aW9ucy5wX3ZhbHVlcywNCiAgICAgICAgICAgICAgICB0ZXh0X3NpbmdsZSwNCiAgICAgICAgICAgICAgICB0ZXh0X2Zyb20sDQogICAgICAgICAgICAgICAgdGV4dF90bzsNCg0KICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5oaWRlX2Zyb21fdG8pIHsNCiAgICAgICAgICAgICAgICByZXR1cm47DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMudHlwZSA9PT0gInNpbmdsZSIpIHsNCg0KICAgICAgICAgICAgICAgIGlmICh2YWx1ZXNfbnVtKSB7DQogICAgICAgICAgICAgICAgICAgIHRleHRfc2luZ2xlID0gdGhpcy5kZWNvcmF0ZShwX3ZhbHVlc1t0aGlzLnJlc3VsdC5mcm9tXSk7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnNpbmdsZS5odG1sKHRleHRfc2luZ2xlKTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICB0ZXh0X3NpbmdsZSA9IHRoaXMuZGVjb3JhdGUodGhpcy5fcHJldHRpZnkodGhpcy5yZXN1bHQuZnJvbSksIHRoaXMucmVzdWx0LmZyb20pOw0KICAgICAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5zaW5nbGUuaHRtbCh0ZXh0X3NpbmdsZSk7DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgdGhpcy5jYWxjTGFiZWxzKCk7DQoNCiAgICAgICAgICAgICAgICBpZiAodGhpcy5sYWJlbHMucF9zaW5nbGVfbGVmdCA8IHRoaXMubGFiZWxzLnBfbWluICsgMSkgew0KICAgICAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5taW5bMF0uc3R5bGUudmlzaWJpbGl0eSA9ICJoaWRkZW4iOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLm1pblswXS5zdHlsZS52aXNpYmlsaXR5ID0gInZpc2libGUiOw0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIGlmICh0aGlzLmxhYmVscy5wX3NpbmdsZV9sZWZ0ICsgdGhpcy5sYWJlbHMucF9zaW5nbGVfZmFrZSA+IDEwMCAtIHRoaXMubGFiZWxzLnBfbWF4IC0gMSkgew0KICAgICAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5tYXhbMF0uc3R5bGUudmlzaWJpbGl0eSA9ICJoaWRkZW4iOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLm1heFswXS5zdHlsZS52aXNpYmlsaXR5ID0gInZpc2libGUiOw0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgfSBlbHNlIHsNCg0KICAgICAgICAgICAgICAgIGlmICh2YWx1ZXNfbnVtKSB7DQoNCiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5kZWNvcmF0ZV9ib3RoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB0ZXh0X3NpbmdsZSA9IHRoaXMuZGVjb3JhdGUocF92YWx1ZXNbdGhpcy5yZXN1bHQuZnJvbV0pOw0KICAgICAgICAgICAgICAgICAgICAgICAgdGV4dF9zaW5nbGUgKz0gdGhpcy5vcHRpb25zLnZhbHVlc19zZXBhcmF0b3I7DQogICAgICAgICAgICAgICAgICAgICAgICB0ZXh0X3NpbmdsZSArPSB0aGlzLmRlY29yYXRlKHBfdmFsdWVzW3RoaXMucmVzdWx0LnRvXSk7DQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICB0ZXh0X3NpbmdsZSA9IHRoaXMuZGVjb3JhdGUocF92YWx1ZXNbdGhpcy5yZXN1bHQuZnJvbV0gKyB0aGlzLm9wdGlvbnMudmFsdWVzX3NlcGFyYXRvciArIHBfdmFsdWVzW3RoaXMucmVzdWx0LnRvXSk7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgdGV4dF9mcm9tID0gdGhpcy5kZWNvcmF0ZShwX3ZhbHVlc1t0aGlzLnJlc3VsdC5mcm9tXSk7DQogICAgICAgICAgICAgICAgICAgIHRleHRfdG8gPSB0aGlzLmRlY29yYXRlKHBfdmFsdWVzW3RoaXMucmVzdWx0LnRvXSk7DQoNCiAgICAgICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuc2luZ2xlLmh0bWwodGV4dF9zaW5nbGUpOw0KICAgICAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5mcm9tLmh0bWwodGV4dF9mcm9tKTsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUudG8uaHRtbCh0ZXh0X3RvKTsNCg0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQoNCiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5kZWNvcmF0ZV9ib3RoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB0ZXh0X3NpbmdsZSA9IHRoaXMuZGVjb3JhdGUodGhpcy5fcHJldHRpZnkodGhpcy5yZXN1bHQuZnJvbSksIHRoaXMucmVzdWx0LmZyb20pOw0KICAgICAgICAgICAgICAgICAgICAgICAgdGV4dF9zaW5nbGUgKz0gdGhpcy5vcHRpb25zLnZhbHVlc19zZXBhcmF0b3I7DQogICAgICAgICAgICAgICAgICAgICAgICB0ZXh0X3NpbmdsZSArPSB0aGlzLmRlY29yYXRlKHRoaXMuX3ByZXR0aWZ5KHRoaXMucmVzdWx0LnRvKSwgdGhpcy5yZXN1bHQudG8pOw0KICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgdGV4dF9zaW5nbGUgPSB0aGlzLmRlY29yYXRlKHRoaXMuX3ByZXR0aWZ5KHRoaXMucmVzdWx0LmZyb20pICsgdGhpcy5vcHRpb25zLnZhbHVlc19zZXBhcmF0b3IgKyB0aGlzLl9wcmV0dGlmeSh0aGlzLnJlc3VsdC50byksIHRoaXMucmVzdWx0LnRvKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB0ZXh0X2Zyb20gPSB0aGlzLmRlY29yYXRlKHRoaXMuX3ByZXR0aWZ5KHRoaXMucmVzdWx0LmZyb20pLCB0aGlzLnJlc3VsdC5mcm9tKTsNCiAgICAgICAgICAgICAgICAgICAgdGV4dF90byA9IHRoaXMuZGVjb3JhdGUodGhpcy5fcHJldHRpZnkodGhpcy5yZXN1bHQudG8pLCB0aGlzLnJlc3VsdC50byk7DQoNCiAgICAgICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuc2luZ2xlLmh0bWwodGV4dF9zaW5nbGUpOw0KICAgICAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5mcm9tLmh0bWwodGV4dF9mcm9tKTsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUudG8uaHRtbCh0ZXh0X3RvKTsNCg0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIHRoaXMuY2FsY0xhYmVscygpOw0KDQogICAgICAgICAgICAgICAgdmFyIG1pbiA9IE1hdGgubWluKHRoaXMubGFiZWxzLnBfc2luZ2xlX2xlZnQsIHRoaXMubGFiZWxzLnBfZnJvbV9sZWZ0KSwNCiAgICAgICAgICAgICAgICAgICAgc2luZ2xlX2xlZnQgPSB0aGlzLmxhYmVscy5wX3NpbmdsZV9sZWZ0ICsgdGhpcy5sYWJlbHMucF9zaW5nbGVfZmFrZSwNCiAgICAgICAgICAgICAgICAgICAgdG9fbGVmdCA9IHRoaXMubGFiZWxzLnBfdG9fbGVmdCArIHRoaXMubGFiZWxzLnBfdG9fZmFrZSwNCiAgICAgICAgICAgICAgICAgICAgbWF4ID0gTWF0aC5tYXgoc2luZ2xlX2xlZnQsIHRvX2xlZnQpOw0KDQogICAgICAgICAgICAgICAgaWYgKHRoaXMubGFiZWxzLnBfZnJvbV9sZWZ0ICsgdGhpcy5sYWJlbHMucF9mcm9tX2Zha2UgPj0gdGhpcy5sYWJlbHMucF90b19sZWZ0KSB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLmZyb21bMF0uc3R5bGUudmlzaWJpbGl0eSA9ICJoaWRkZW4iOw0KICAgICAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS50b1swXS5zdHlsZS52aXNpYmlsaXR5ID0gImhpZGRlbiI7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnNpbmdsZVswXS5zdHlsZS52aXNpYmlsaXR5ID0gInZpc2libGUiOw0KDQogICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnJlc3VsdC5mcm9tID09PSB0aGlzLnJlc3VsdC50bykgew0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudGFyZ2V0ID09PSAiZnJvbSIpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5mcm9tWzBdLnN0eWxlLnZpc2liaWxpdHkgPSAidmlzaWJsZSI7DQogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMudGFyZ2V0ID09PSAidG8iKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUudG9bMF0uc3R5bGUudmlzaWJpbGl0eSA9ICJ2aXNpYmxlIjsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIXRoaXMudGFyZ2V0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuZnJvbVswXS5zdHlsZS52aXNpYmlsaXR5ID0gInZpc2libGUiOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuc2luZ2xlWzBdLnN0eWxlLnZpc2liaWxpdHkgPSAiaGlkZGVuIjsNCiAgICAgICAgICAgICAgICAgICAgICAgIG1heCA9IHRvX2xlZnQ7DQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5mcm9tWzBdLnN0eWxlLnZpc2liaWxpdHkgPSAiaGlkZGVuIjsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnRvWzBdLnN0eWxlLnZpc2liaWxpdHkgPSAiaGlkZGVuIjsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnNpbmdsZVswXS5zdHlsZS52aXNpYmlsaXR5ID0gInZpc2libGUiOw0KICAgICAgICAgICAgICAgICAgICAgICAgbWF4ID0gTWF0aC5tYXgoc2luZ2xlX2xlZnQsIHRvX2xlZnQpOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuZnJvbVswXS5zdHlsZS52aXNpYmlsaXR5ID0gInZpc2libGUiOw0KICAgICAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS50b1swXS5zdHlsZS52aXNpYmlsaXR5ID0gInZpc2libGUiOw0KICAgICAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5zaW5nbGVbMF0uc3R5bGUudmlzaWJpbGl0eSA9ICJoaWRkZW4iOw0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIGlmIChtaW4gPCB0aGlzLmxhYmVscy5wX21pbiArIDEpIHsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUubWluWzBdLnN0eWxlLnZpc2liaWxpdHkgPSAiaGlkZGVuIjsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5taW5bMF0uc3R5bGUudmlzaWJpbGl0eSA9ICJ2aXNpYmxlIjsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBpZiAobWF4ID4gMTAwIC0gdGhpcy5sYWJlbHMucF9tYXggLSAxKSB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLm1heFswXS5zdHlsZS52aXNpYmlsaXR5ID0gImhpZGRlbiI7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUubWF4WzBdLnN0eWxlLnZpc2liaWxpdHkgPSAidmlzaWJsZSI7DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB9DQogICAgICAgIH0sDQoNCiAgICAgICAgLyoqDQogICAgICAgICAqIERyYXcgc2hhZG93IGludGVydmFscw0KICAgICAgICAgKi8NCiAgICAgICAgZHJhd1NoYWRvdzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdmFyIG8gPSB0aGlzLm9wdGlvbnMsDQogICAgICAgICAgICAgICAgYyA9IHRoaXMuJGNhY2hlLA0KDQogICAgICAgICAgICAgICAgaXNfZnJvbV9taW4gPSB0eXBlb2Ygby5mcm9tX21pbiA9PT0gIm51bWJlciIgJiYgIWlzTmFOKG8uZnJvbV9taW4pLA0KICAgICAgICAgICAgICAgIGlzX2Zyb21fbWF4ID0gdHlwZW9mIG8uZnJvbV9tYXggPT09ICJudW1iZXIiICYmICFpc05hTihvLmZyb21fbWF4KSwNCiAgICAgICAgICAgICAgICBpc190b19taW4gPSB0eXBlb2Ygby50b19taW4gPT09ICJudW1iZXIiICYmICFpc05hTihvLnRvX21pbiksDQogICAgICAgICAgICAgICAgaXNfdG9fbWF4ID0gdHlwZW9mIG8udG9fbWF4ID09PSAibnVtYmVyIiAmJiAhaXNOYU4oby50b19tYXgpLA0KDQogICAgICAgICAgICAgICAgZnJvbV9taW4sDQogICAgICAgICAgICAgICAgZnJvbV9tYXgsDQogICAgICAgICAgICAgICAgdG9fbWluLA0KICAgICAgICAgICAgICAgIHRvX21heDsNCg0KICAgICAgICAgICAgaWYgKG8udHlwZSA9PT0gInNpbmdsZSIpIHsNCiAgICAgICAgICAgICAgICBpZiAoby5mcm9tX3NoYWRvdyAmJiAoaXNfZnJvbV9taW4gfHwgaXNfZnJvbV9tYXgpKSB7DQogICAgICAgICAgICAgICAgICAgIGZyb21fbWluID0gdGhpcy5jb252ZXJ0VG9QZXJjZW50KGlzX2Zyb21fbWluID8gby5mcm9tX21pbiA6IG8ubWluKTsNCiAgICAgICAgICAgICAgICAgICAgZnJvbV9tYXggPSB0aGlzLmNvbnZlcnRUb1BlcmNlbnQoaXNfZnJvbV9tYXggPyBvLmZyb21fbWF4IDogby5tYXgpIC0gZnJvbV9taW47DQogICAgICAgICAgICAgICAgICAgIGZyb21fbWluID0gdGhpcy50b0ZpeGVkKGZyb21fbWluIC0gKHRoaXMuY29vcmRzLnBfaGFuZGxlIC8gMTAwICogZnJvbV9taW4pKTsNCiAgICAgICAgICAgICAgICAgICAgZnJvbV9tYXggPSB0aGlzLnRvRml4ZWQoZnJvbV9tYXggLSAodGhpcy5jb29yZHMucF9oYW5kbGUgLyAxMDAgKiBmcm9tX21heCkpOw0KICAgICAgICAgICAgICAgICAgICBmcm9tX21pbiA9IGZyb21fbWluICsgKHRoaXMuY29vcmRzLnBfaGFuZGxlIC8gMik7DQoNCiAgICAgICAgICAgICAgICAgICAgYy5zaGFkX3NpbmdsZVswXS5zdHlsZS5kaXNwbGF5ID0gImJsb2NrIjsNCiAgICAgICAgICAgICAgICAgICAgYy5zaGFkX3NpbmdsZVswXS5zdHlsZS5sZWZ0ID0gZnJvbV9taW4gKyAiJSI7DQogICAgICAgICAgICAgICAgICAgIGMuc2hhZF9zaW5nbGVbMF0uc3R5bGUud2lkdGggPSBmcm9tX21heCArICIlIjsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICBjLnNoYWRfc2luZ2xlWzBdLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBpZiAoby5mcm9tX3NoYWRvdyAmJiAoaXNfZnJvbV9taW4gfHwgaXNfZnJvbV9tYXgpKSB7DQogICAgICAgICAgICAgICAgICAgIGZyb21fbWluID0gdGhpcy5jb252ZXJ0VG9QZXJjZW50KGlzX2Zyb21fbWluID8gby5mcm9tX21pbiA6IG8ubWluKTsNCiAgICAgICAgICAgICAgICAgICAgZnJvbV9tYXggPSB0aGlzLmNvbnZlcnRUb1BlcmNlbnQoaXNfZnJvbV9tYXggPyBvLmZyb21fbWF4IDogby5tYXgpIC0gZnJvbV9taW47DQogICAgICAgICAgICAgICAgICAgIGZyb21fbWluID0gdGhpcy50b0ZpeGVkKGZyb21fbWluIC0gKHRoaXMuY29vcmRzLnBfaGFuZGxlIC8gMTAwICogZnJvbV9taW4pKTsNCiAgICAgICAgICAgICAgICAgICAgZnJvbV9tYXggPSB0aGlzLnRvRml4ZWQoZnJvbV9tYXggLSAodGhpcy5jb29yZHMucF9oYW5kbGUgLyAxMDAgKiBmcm9tX21heCkpOw0KICAgICAgICAgICAgICAgICAgICBmcm9tX21pbiA9IGZyb21fbWluICsgKHRoaXMuY29vcmRzLnBfaGFuZGxlIC8gMik7DQoNCiAgICAgICAgICAgICAgICAgICAgYy5zaGFkX2Zyb21bMF0uc3R5bGUuZGlzcGxheSA9ICJibG9jayI7DQogICAgICAgICAgICAgICAgICAgIGMuc2hhZF9mcm9tWzBdLnN0eWxlLmxlZnQgPSBmcm9tX21pbiArICIlIjsNCiAgICAgICAgICAgICAgICAgICAgYy5zaGFkX2Zyb21bMF0uc3R5bGUud2lkdGggPSBmcm9tX21heCArICIlIjsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICBjLnNoYWRfZnJvbVswXS5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOw0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIGlmIChvLnRvX3NoYWRvdyAmJiAoaXNfdG9fbWluIHx8IGlzX3RvX21heCkpIHsNCiAgICAgICAgICAgICAgICAgICAgdG9fbWluID0gdGhpcy5jb252ZXJ0VG9QZXJjZW50KGlzX3RvX21pbiA/IG8udG9fbWluIDogby5taW4pOw0KICAgICAgICAgICAgICAgICAgICB0b19tYXggPSB0aGlzLmNvbnZlcnRUb1BlcmNlbnQoaXNfdG9fbWF4ID8gby50b19tYXggOiBvLm1heCkgLSB0b19taW47DQogICAgICAgICAgICAgICAgICAgIHRvX21pbiA9IHRoaXMudG9GaXhlZCh0b19taW4gLSAodGhpcy5jb29yZHMucF9oYW5kbGUgLyAxMDAgKiB0b19taW4pKTsNCiAgICAgICAgICAgICAgICAgICAgdG9fbWF4ID0gdGhpcy50b0ZpeGVkKHRvX21heCAtICh0aGlzLmNvb3Jkcy5wX2hhbmRsZSAvIDEwMCAqIHRvX21heCkpOw0KICAgICAgICAgICAgICAgICAgICB0b19taW4gPSB0b19taW4gKyAodGhpcy5jb29yZHMucF9oYW5kbGUgLyAyKTsNCg0KICAgICAgICAgICAgICAgICAgICBjLnNoYWRfdG9bMF0uc3R5bGUuZGlzcGxheSA9ICJibG9jayI7DQogICAgICAgICAgICAgICAgICAgIGMuc2hhZF90b1swXS5zdHlsZS5sZWZ0ID0gdG9fbWluICsgIiUiOw0KICAgICAgICAgICAgICAgICAgICBjLnNoYWRfdG9bMF0uc3R5bGUud2lkdGggPSB0b19tYXggKyAiJSI7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgYy5zaGFkX3RvWzBdLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KDQoNCg0KICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogICAgICAgIC8vIENhbGxiYWNrcw0KDQogICAgICAgIGNhbGxPblN0YXJ0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLm9uU3RhcnQgJiYgdHlwZW9mIHRoaXMub3B0aW9ucy5vblN0YXJ0ID09PSAiZnVuY3Rpb24iKSB7DQogICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLm9uU3RhcnQodGhpcy5yZXN1bHQpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KICAgICAgICBjYWxsT25DaGFuZ2U6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMub25DaGFuZ2UgJiYgdHlwZW9mIHRoaXMub3B0aW9ucy5vbkNoYW5nZSA9PT0gImZ1bmN0aW9uIikgew0KICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucy5vbkNoYW5nZSh0aGlzLnJlc3VsdCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQogICAgICAgIGNhbGxPbkZpbmlzaDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5vbkZpbmlzaCAmJiB0eXBlb2YgdGhpcy5vcHRpb25zLm9uRmluaXNoID09PSAiZnVuY3Rpb24iKSB7DQogICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLm9uRmluaXNoKHRoaXMucmVzdWx0KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCiAgICAgICAgY2FsbE9uVXBkYXRlOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLm9uVXBkYXRlICYmIHR5cGVvZiB0aGlzLm9wdGlvbnMub25VcGRhdGUgPT09ICJmdW5jdGlvbiIpIHsNCiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMub25VcGRhdGUodGhpcy5yZXN1bHQpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KDQoNCg0KICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogICAgICAgIC8vIFNlcnZpY2UgbWV0aG9kcw0KDQogICAgICAgIHRvZ2dsZUlucHV0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB0aGlzLiRjYWNoZS5pbnB1dC50b2dnbGVDbGFzcygiaXJzLWhpZGRlbi1pbnB1dCIpOw0KICAgICAgICB9LA0KDQogICAgICAgIC8qKg0KICAgICAgICAgKiBDb252ZXJ0IHJlYWwgdmFsdWUgdG8gcGVyY2VudA0KICAgICAgICAgKg0KICAgICAgICAgKiBAcGFyYW0gdmFsdWUge051bWJlcn0gWCBpbiByZWFsDQogICAgICAgICAqIEBwYXJhbSBub19taW4ge2Jvb2xlYW49fSBkb24ndCB1c2UgbWluIHZhbHVlDQogICAgICAgICAqIEByZXR1cm5zIHtOdW1iZXJ9IFggaW4gcGVyY2VudA0KICAgICAgICAgKi8NCiAgICAgICAgY29udmVydFRvUGVyY2VudDogZnVuY3Rpb24gKHZhbHVlLCBub19taW4pIHsNCiAgICAgICAgICAgIHZhciBkaWFwYXNvbiA9IHRoaXMub3B0aW9ucy5tYXggLSB0aGlzLm9wdGlvbnMubWluLA0KICAgICAgICAgICAgICAgIG9uZV9wZXJjZW50ID0gZGlhcGFzb24gLyAxMDAsDQogICAgICAgICAgICAgICAgdmFsLCBwZXJjZW50Ow0KDQogICAgICAgICAgICBpZiAoIWRpYXBhc29uKSB7DQogICAgICAgICAgICAgICAgdGhpcy5ub19kaWFwYXNvbiA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChub19taW4pIHsNCiAgICAgICAgICAgICAgICB2YWwgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgdmFsID0gdmFsdWUgLSB0aGlzLm9wdGlvbnMubWluOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBwZXJjZW50ID0gdmFsIC8gb25lX3BlcmNlbnQ7DQoNCiAgICAgICAgICAgIHJldHVybiB0aGlzLnRvRml4ZWQocGVyY2VudCk7DQogICAgICAgIH0sDQoNCiAgICAgICAgLyoqDQogICAgICAgICAqIENvbnZlcnQgcGVyY2VudCB0byByZWFsIHZhbHVlcw0KICAgICAgICAgKg0KICAgICAgICAgKiBAcGFyYW0gcGVyY2VudCB7TnVtYmVyfSBYIGluIHBlcmNlbnQNCiAgICAgICAgICogQHJldHVybnMge051bWJlcn0gWCBpbiByZWFsDQogICAgICAgICAqLw0KICAgICAgICBjb252ZXJ0VG9WYWx1ZTogZnVuY3Rpb24gKHBlcmNlbnQpIHsNCiAgICAgICAgICAgIHZhciBtaW4gPSB0aGlzLm9wdGlvbnMubWluLA0KICAgICAgICAgICAgICAgIG1heCA9IHRoaXMub3B0aW9ucy5tYXgsDQogICAgICAgICAgICAgICAgbWluX2RlY2ltYWxzID0gbWluLnRvU3RyaW5nKCkuc3BsaXQoIi4iKVsxXSwNCiAgICAgICAgICAgICAgICBtYXhfZGVjaW1hbHMgPSBtYXgudG9TdHJpbmcoKS5zcGxpdCgiLiIpWzFdLA0KICAgICAgICAgICAgICAgIG1pbl9sZW5ndGgsIG1heF9sZW5ndGgsDQogICAgICAgICAgICAgICAgYXZnX2RlY2ltYWxzID0gMCwNCiAgICAgICAgICAgICAgICBhYnMgPSAwOw0KDQogICAgICAgICAgICBpZiAocGVyY2VudCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMubWluOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKHBlcmNlbnQgPT09IDEwMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMubWF4Ow0KICAgICAgICAgICAgfQ0KDQoNCiAgICAgICAgICAgIGlmIChtaW5fZGVjaW1hbHMpIHsNCiAgICAgICAgICAgICAgICBtaW5fbGVuZ3RoID0gbWluX2RlY2ltYWxzLmxlbmd0aDsNCiAgICAgICAgICAgICAgICBhdmdfZGVjaW1hbHMgPSBtaW5fbGVuZ3RoOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKG1heF9kZWNpbWFscykgew0KICAgICAgICAgICAgICAgIG1heF9sZW5ndGggPSBtYXhfZGVjaW1hbHMubGVuZ3RoOw0KICAgICAgICAgICAgICAgIGF2Z19kZWNpbWFscyA9IG1heF9sZW5ndGg7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAobWluX2xlbmd0aCAmJiBtYXhfbGVuZ3RoKSB7DQogICAgICAgICAgICAgICAgYXZnX2RlY2ltYWxzID0gKG1pbl9sZW5ndGggPj0gbWF4X2xlbmd0aCkgPyBtaW5fbGVuZ3RoIDogbWF4X2xlbmd0aDsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKG1pbiA8IDApIHsNCiAgICAgICAgICAgICAgICBhYnMgPSBNYXRoLmFicyhtaW4pOw0KICAgICAgICAgICAgICAgIG1pbiA9ICsobWluICsgYWJzKS50b0ZpeGVkKGF2Z19kZWNpbWFscyk7DQogICAgICAgICAgICAgICAgbWF4ID0gKyhtYXggKyBhYnMpLnRvRml4ZWQoYXZnX2RlY2ltYWxzKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdmFyIG51bWJlciA9ICgobWF4IC0gbWluKSAvIDEwMCAqIHBlcmNlbnQpICsgbWluLA0KICAgICAgICAgICAgICAgIHN0cmluZyA9IHRoaXMub3B0aW9ucy5zdGVwLnRvU3RyaW5nKCkuc3BsaXQoIi4iKVsxXSwNCiAgICAgICAgICAgICAgICByZXN1bHQ7DQoNCiAgICAgICAgICAgIGlmIChzdHJpbmcpIHsNCiAgICAgICAgICAgICAgICBudW1iZXIgPSArbnVtYmVyLnRvRml4ZWQoc3RyaW5nLmxlbmd0aCk7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIG51bWJlciA9IG51bWJlciAvIHRoaXMub3B0aW9ucy5zdGVwOw0KICAgICAgICAgICAgICAgIG51bWJlciA9IG51bWJlciAqIHRoaXMub3B0aW9ucy5zdGVwOw0KDQogICAgICAgICAgICAgICAgbnVtYmVyID0gK251bWJlci50b0ZpeGVkKDApOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAoYWJzKSB7DQogICAgICAgICAgICAgICAgbnVtYmVyIC09IGFiczsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKHN0cmluZykgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9ICtudW1iZXIudG9GaXhlZChzdHJpbmcubGVuZ3RoKTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gdGhpcy50b0ZpeGVkKG51bWJlcik7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChyZXN1bHQgPCB0aGlzLm9wdGlvbnMubWluKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gdGhpcy5vcHRpb25zLm1pbjsNCiAgICAgICAgICAgIH0gZWxzZSBpZiAocmVzdWx0ID4gdGhpcy5vcHRpb25zLm1heCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMub3B0aW9ucy5tYXg7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgICAgIH0sDQoNCiAgICAgICAgLyoqDQogICAgICAgICAqIFJvdW5kIHBlcmNlbnQgdmFsdWUgd2l0aCBzdGVwDQogICAgICAgICAqDQogICAgICAgICAqIEBwYXJhbSBwZXJjZW50IHtOdW1iZXJ9DQogICAgICAgICAqIEByZXR1cm5zIHBlcmNlbnQge051bWJlcn0gcm91bmRlZA0KICAgICAgICAgKi8NCiAgICAgICAgY2FsY1dpdGhTdGVwOiBmdW5jdGlvbiAocGVyY2VudCkgew0KICAgICAgICAgICAgdmFyIHJvdW5kZWQgPSBNYXRoLnJvdW5kKHBlcmNlbnQgLyB0aGlzLmNvb3Jkcy5wX3N0ZXApICogdGhpcy5jb29yZHMucF9zdGVwOw0KDQogICAgICAgICAgICBpZiAocm91bmRlZCA+IDEwMCkgew0KICAgICAgICAgICAgICAgIHJvdW5kZWQgPSAxMDA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAocGVyY2VudCA9PT0gMTAwKSB7DQogICAgICAgICAgICAgICAgcm91bmRlZCA9IDEwMDsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudG9GaXhlZChyb3VuZGVkKTsNCiAgICAgICAgfSwNCg0KICAgICAgICBjaGVja01pbkludGVydmFsOiBmdW5jdGlvbiAocF9jdXJyZW50LCBwX25leHQsIHR5cGUpIHsNCiAgICAgICAgICAgIHZhciBvID0gdGhpcy5vcHRpb25zLA0KICAgICAgICAgICAgICAgIGN1cnJlbnQsDQogICAgICAgICAgICAgICAgbmV4dDsNCg0KICAgICAgICAgICAgaWYgKCFvLm1pbl9pbnRlcnZhbCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBwX2N1cnJlbnQ7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGN1cnJlbnQgPSB0aGlzLmNvbnZlcnRUb1ZhbHVlKHBfY3VycmVudCk7DQogICAgICAgICAgICBuZXh0ID0gdGhpcy5jb252ZXJ0VG9WYWx1ZShwX25leHQpOw0KDQogICAgICAgICAgICBpZiAodHlwZSA9PT0gImZyb20iKSB7DQoNCiAgICAgICAgICAgICAgICBpZiAobmV4dCAtIGN1cnJlbnQgPCBvLm1pbl9pbnRlcnZhbCkgew0KICAgICAgICAgICAgICAgICAgICBjdXJyZW50ID0gbmV4dCAtIG8ubWluX2ludGVydmFsOw0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgfSBlbHNlIHsNCg0KICAgICAgICAgICAgICAgIGlmIChjdXJyZW50IC0gbmV4dCA8IG8ubWluX2ludGVydmFsKSB7DQogICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgPSBuZXh0ICsgby5taW5faW50ZXJ2YWw7DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbnZlcnRUb1BlcmNlbnQoY3VycmVudCk7DQogICAgICAgIH0sDQoNCiAgICAgICAgY2hlY2tNYXhJbnRlcnZhbDogZnVuY3Rpb24gKHBfY3VycmVudCwgcF9uZXh0LCB0eXBlKSB7DQogICAgICAgICAgICB2YXIgbyA9IHRoaXMub3B0aW9ucywNCiAgICAgICAgICAgICAgICBjdXJyZW50LA0KICAgICAgICAgICAgICAgIG5leHQ7DQoNCiAgICAgICAgICAgIGlmICghby5tYXhfaW50ZXJ2YWwpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gcF9jdXJyZW50Ow0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBjdXJyZW50ID0gdGhpcy5jb252ZXJ0VG9WYWx1ZShwX2N1cnJlbnQpOw0KICAgICAgICAgICAgbmV4dCA9IHRoaXMuY29udmVydFRvVmFsdWUocF9uZXh0KTsNCg0KICAgICAgICAgICAgaWYgKHR5cGUgPT09ICJmcm9tIikgew0KDQogICAgICAgICAgICAgICAgaWYgKG5leHQgLSBjdXJyZW50ID4gby5tYXhfaW50ZXJ2YWwpIHsNCiAgICAgICAgICAgICAgICAgICAgY3VycmVudCA9IG5leHQgLSBvLm1heF9pbnRlcnZhbDsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIH0gZWxzZSB7DQoNCiAgICAgICAgICAgICAgICBpZiAoY3VycmVudCAtIG5leHQgPiBvLm1heF9pbnRlcnZhbCkgew0KICAgICAgICAgICAgICAgICAgICBjdXJyZW50ID0gbmV4dCArIG8ubWF4X2ludGVydmFsOw0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gdGhpcy5jb252ZXJ0VG9QZXJjZW50KGN1cnJlbnQpOw0KICAgICAgICB9LA0KDQogICAgICAgIGNoZWNrRGlhcGFzb246IGZ1bmN0aW9uIChwX251bSwgbWluLCBtYXgpIHsNCiAgICAgICAgICAgIHZhciBudW0gPSB0aGlzLmNvbnZlcnRUb1ZhbHVlKHBfbnVtKSwNCiAgICAgICAgICAgICAgICBvID0gdGhpcy5vcHRpb25zOw0KDQogICAgICAgICAgICBpZiAodHlwZW9mIG1pbiAhPT0gIm51bWJlciIpIHsNCiAgICAgICAgICAgICAgICBtaW4gPSBvLm1pbjsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKHR5cGVvZiBtYXggIT09ICJudW1iZXIiKSB7DQogICAgICAgICAgICAgICAgbWF4ID0gby5tYXg7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChudW0gPCBtaW4pIHsNCiAgICAgICAgICAgICAgICBudW0gPSBtaW47DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChudW0gPiBtYXgpIHsNCiAgICAgICAgICAgICAgICBudW0gPSBtYXg7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbnZlcnRUb1BlcmNlbnQobnVtKTsNCiAgICAgICAgfSwNCg0KICAgICAgICB0b0ZpeGVkOiBmdW5jdGlvbiAobnVtKSB7DQogICAgICAgICAgICBudW0gPSBudW0udG9GaXhlZCg5KTsNCiAgICAgICAgICAgIHJldHVybiArbnVtOw0KICAgICAgICB9LA0KDQogICAgICAgIF9wcmV0dGlmeTogZnVuY3Rpb24gKG51bSkgew0KICAgICAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnMucHJldHRpZnlfZW5hYmxlZCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBudW07DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMucHJldHRpZnkgJiYgdHlwZW9mIHRoaXMub3B0aW9ucy5wcmV0dGlmeSA9PT0gImZ1bmN0aW9uIikgew0KICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMucHJldHRpZnkobnVtKTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJldHRpZnkobnVtKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCg0KICAgICAgICBwcmV0dGlmeTogZnVuY3Rpb24gKG51bSkgew0KICAgICAgICAgICAgdmFyIG4gPSBudW0udG9TdHJpbmcoKTsNCiAgICAgICAgICAgIHJldHVybiBuLnJlcGxhY2UoLyhcZHsxLDN9KD89KD86XGRcZFxkKSsoPyFcZCkpKS9nLCAiJDEiICsgdGhpcy5vcHRpb25zLnByZXR0aWZ5X3NlcGFyYXRvcik7DQogICAgICAgIH0sDQoNCiAgICAgICAgY2hlY2tFZGdlczogZnVuY3Rpb24gKGxlZnQsIHdpZHRoKSB7DQogICAgICAgICAgICBpZiAoIXRoaXMub3B0aW9ucy5mb3JjZV9lZGdlcykgew0KICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnRvRml4ZWQobGVmdCk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChsZWZ0IDwgMCkgew0KICAgICAgICAgICAgICAgIGxlZnQgPSAwOw0KICAgICAgICAgICAgfSBlbHNlIGlmIChsZWZ0ID4gMTAwIC0gd2lkdGgpIHsNCiAgICAgICAgICAgICAgICBsZWZ0ID0gMTAwIC0gd2lkdGg7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiB0aGlzLnRvRml4ZWQobGVmdCk7DQogICAgICAgIH0sDQoNCiAgICAgICAgdmFsaWRhdGU6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHZhciBvID0gdGhpcy5vcHRpb25zLA0KICAgICAgICAgICAgICAgIHIgPSB0aGlzLnJlc3VsdCwNCiAgICAgICAgICAgICAgICB2ID0gby52YWx1ZXMsDQogICAgICAgICAgICAgICAgdmwgPSB2Lmxlbmd0aCwNCiAgICAgICAgICAgICAgICB2YWx1ZSwNCiAgICAgICAgICAgICAgICBpOw0KDQogICAgICAgICAgICBpZiAodHlwZW9mIG8ubWluID09PSAic3RyaW5nIikgby5taW4gPSArby5taW47DQogICAgICAgICAgICBpZiAodHlwZW9mIG8ubWF4ID09PSAic3RyaW5nIikgby5tYXggPSArby5tYXg7DQogICAgICAgICAgICBpZiAodHlwZW9mIG8uZnJvbSA9PT0gInN0cmluZyIpIG8uZnJvbSA9ICtvLmZyb207DQogICAgICAgICAgICBpZiAodHlwZW9mIG8udG8gPT09ICJzdHJpbmciKSBvLnRvID0gK28udG87DQogICAgICAgICAgICBpZiAodHlwZW9mIG8uc3RlcCA9PT0gInN0cmluZyIpIG8uc3RlcCA9ICtvLnN0ZXA7DQoNCiAgICAgICAgICAgIGlmICh0eXBlb2Ygby5mcm9tX21pbiA9PT0gInN0cmluZyIpIG8uZnJvbV9taW4gPSArby5mcm9tX21pbjsNCiAgICAgICAgICAgIGlmICh0eXBlb2Ygby5mcm9tX21heCA9PT0gInN0cmluZyIpIG8uZnJvbV9tYXggPSArby5mcm9tX21heDsNCiAgICAgICAgICAgIGlmICh0eXBlb2Ygby50b19taW4gPT09ICJzdHJpbmciKSBvLnRvX21pbiA9ICtvLnRvX21pbjsNCiAgICAgICAgICAgIGlmICh0eXBlb2Ygby50b19tYXggPT09ICJzdHJpbmciKSBvLnRvX21heCA9ICtvLnRvX21heDsNCg0KICAgICAgICAgICAgaWYgKHR5cGVvZiBvLmtleWJvYXJkX3N0ZXAgPT09ICJzdHJpbmciKSBvLmtleWJvYXJkX3N0ZXAgPSArby5rZXlib2FyZF9zdGVwOw0KICAgICAgICAgICAgaWYgKHR5cGVvZiBvLmdyaWRfbnVtID09PSAic3RyaW5nIikgby5ncmlkX251bSA9ICtvLmdyaWRfbnVtOw0KDQogICAgICAgICAgICBpZiAoby5tYXggPCBvLm1pbikgew0KICAgICAgICAgICAgICAgIG8ubWF4ID0gby5taW47DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmICh2bCkgew0KICAgICAgICAgICAgICAgIG8ucF92YWx1ZXMgPSBbXTsNCiAgICAgICAgICAgICAgICBvLm1pbiA9IDA7DQogICAgICAgICAgICAgICAgby5tYXggPSB2bCAtIDE7DQogICAgICAgICAgICAgICAgby5zdGVwID0gMTsNCiAgICAgICAgICAgICAgICBvLmdyaWRfbnVtID0gby5tYXg7DQogICAgICAgICAgICAgICAgby5ncmlkX3NuYXAgPSB0cnVlOw0KDQoNCiAgICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgdmw7IGkrKykgew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9ICt2W2ldOw0KDQogICAgICAgICAgICAgICAgICAgIGlmICghaXNOYU4odmFsdWUpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB2W2ldID0gdmFsdWU7DQogICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IHRoaXMuX3ByZXR0aWZ5KHZhbHVlKTsNCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gdltpXTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIG8ucF92YWx1ZXMucHVzaCh2YWx1ZSk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAodHlwZW9mIG8uZnJvbSAhPT0gIm51bWJlciIgfHwgaXNOYU4oby5mcm9tKSkgew0KICAgICAgICAgICAgICAgIG8uZnJvbSA9IG8ubWluOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAodHlwZW9mIG8udG8gIT09ICJudW1iZXIiIHx8IGlzTmFOKG8uZnJvbSkpIHsNCiAgICAgICAgICAgICAgICBvLnRvID0gby5tYXg7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChvLnR5cGUgPT09ICJzaW5nbGUiKSB7DQoNCiAgICAgICAgICAgICAgICBpZiAoby5mcm9tIDwgby5taW4pIHsNCiAgICAgICAgICAgICAgICAgICAgby5mcm9tID0gby5taW47DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgaWYgKG8uZnJvbSA+IG8ubWF4KSB7DQogICAgICAgICAgICAgICAgICAgIG8uZnJvbSA9IG8ubWF4Ow0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgfSBlbHNlIHsNCg0KICAgICAgICAgICAgICAgIGlmIChvLmZyb20gPCBvLm1pbiB8fCBvLmZyb20gPiBvLm1heCkgew0KICAgICAgICAgICAgICAgICAgICBvLmZyb20gPSBvLm1pbjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgaWYgKG8udG8gPiBvLm1heCB8fCBvLnRvIDwgby5taW4pIHsNCiAgICAgICAgICAgICAgICAgICAgby50byA9IG8ubWF4Ow0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZiAoby5mcm9tID4gby50bykgew0KICAgICAgICAgICAgICAgICAgICBvLmZyb20gPSBvLnRvOw0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAodHlwZW9mIG8uc3RlcCAhPT0gIm51bWJlciIgfHwgaXNOYU4oby5zdGVwKSB8fCAhby5zdGVwIHx8IG8uc3RlcCA8IDApIHsNCiAgICAgICAgICAgICAgICBvLnN0ZXAgPSAxOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAodHlwZW9mIG8ua2V5Ym9hcmRfc3RlcCAhPT0gIm51bWJlciIgfHwgaXNOYU4oby5rZXlib2FyZF9zdGVwKSB8fCAhby5rZXlib2FyZF9zdGVwIHx8IG8ua2V5Ym9hcmRfc3RlcCA8IDApIHsNCiAgICAgICAgICAgICAgICBvLmtleWJvYXJkX3N0ZXAgPSA1Ow0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAodHlwZW9mIG8uZnJvbV9taW4gPT09ICJudW1iZXIiICYmIG8uZnJvbSA8IG8uZnJvbV9taW4pIHsNCiAgICAgICAgICAgICAgICBvLmZyb20gPSBvLmZyb21fbWluOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAodHlwZW9mIG8uZnJvbV9tYXggPT09ICJudW1iZXIiICYmIG8uZnJvbSA+IG8uZnJvbV9tYXgpIHsNCiAgICAgICAgICAgICAgICBvLmZyb20gPSBvLmZyb21fbWF4Ow0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAodHlwZW9mIG8udG9fbWluID09PSAibnVtYmVyIiAmJiBvLnRvIDwgby50b19taW4pIHsNCiAgICAgICAgICAgICAgICBvLnRvID0gby50b19taW47DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmICh0eXBlb2Ygby50b19tYXggPT09ICJudW1iZXIiICYmIG8uZnJvbSA+IG8udG9fbWF4KSB7DQogICAgICAgICAgICAgICAgby50byA9IG8udG9fbWF4Ow0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAocikgew0KICAgICAgICAgICAgICAgIGlmIChyLm1pbiAhPT0gby5taW4pIHsNCiAgICAgICAgICAgICAgICAgICAgci5taW4gPSBvLm1pbjsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBpZiAoci5tYXggIT09IG8ubWF4KSB7DQogICAgICAgICAgICAgICAgICAgIHIubWF4ID0gby5tYXg7DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgaWYgKHIuZnJvbSA8IHIubWluIHx8IHIuZnJvbSA+IHIubWF4KSB7DQogICAgICAgICAgICAgICAgICAgIHIuZnJvbSA9IG8uZnJvbTsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBpZiAoci50byA8IHIubWluIHx8IHIudG8gPiByLm1heCkgew0KICAgICAgICAgICAgICAgICAgICByLnRvID0gby50bzsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmICh0eXBlb2Ygby5taW5faW50ZXJ2YWwgIT09ICJudW1iZXIiIHx8IGlzTmFOKG8ubWluX2ludGVydmFsKSB8fCAhby5taW5faW50ZXJ2YWwgfHwgby5taW5faW50ZXJ2YWwgPCAwKSB7DQogICAgICAgICAgICAgICAgby5taW5faW50ZXJ2YWwgPSAwOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAodHlwZW9mIG8ubWF4X2ludGVydmFsICE9PSAibnVtYmVyIiB8fCBpc05hTihvLm1heF9pbnRlcnZhbCkgfHwgIW8ubWF4X2ludGVydmFsIHx8IG8ubWF4X2ludGVydmFsIDwgMCkgew0KICAgICAgICAgICAgICAgIG8ubWF4X2ludGVydmFsID0gMDsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKG8ubWluX2ludGVydmFsICYmIG8ubWluX2ludGVydmFsID4gby5tYXggLSBvLm1pbikgew0KICAgICAgICAgICAgICAgIG8ubWluX2ludGVydmFsID0gby5tYXggLSBvLm1pbjsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKG8ubWF4X2ludGVydmFsICYmIG8ubWF4X2ludGVydmFsID4gby5tYXggLSBvLm1pbikgew0KICAgICAgICAgICAgICAgIG8ubWF4X2ludGVydmFsID0gby5tYXggLSBvLm1pbjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCg0KICAgICAgICBkZWNvcmF0ZTogZnVuY3Rpb24gKG51bSwgb3JpZ2luYWwpIHsNCiAgICAgICAgICAgIHZhciBkZWNvcmF0ZWQgPSAiIiwNCiAgICAgICAgICAgICAgICBvID0gdGhpcy5vcHRpb25zOw0KDQogICAgICAgICAgICBpZiAoby5wcmVmaXgpIHsNCiAgICAgICAgICAgICAgICBkZWNvcmF0ZWQgKz0gby5wcmVmaXg7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGRlY29yYXRlZCArPSBudW07DQoNCiAgICAgICAgICAgIGlmIChvLm1heF9wb3N0Zml4KSB7DQogICAgICAgICAgICAgICAgaWYgKG8udmFsdWVzLmxlbmd0aCAmJiBudW0gPT09IG8ucF92YWx1ZXNbby5tYXhdKSB7DQogICAgICAgICAgICAgICAgICAgIGRlY29yYXRlZCArPSBvLm1heF9wb3N0Zml4Ow0KICAgICAgICAgICAgICAgICAgICBpZiAoby5wb3N0Zml4KSB7DQogICAgICAgICAgICAgICAgICAgICAgICBkZWNvcmF0ZWQgKz0gIiAiOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSBlbHNlIGlmIChvcmlnaW5hbCA9PT0gby5tYXgpIHsNCiAgICAgICAgICAgICAgICAgICAgZGVjb3JhdGVkICs9IG8ubWF4X3Bvc3RmaXg7DQogICAgICAgICAgICAgICAgICAgIGlmIChvLnBvc3RmaXgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGRlY29yYXRlZCArPSAiICI7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChvLnBvc3RmaXgpIHsNCiAgICAgICAgICAgICAgICBkZWNvcmF0ZWQgKz0gby5wb3N0Zml4Ow0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gZGVjb3JhdGVkOw0KICAgICAgICB9LA0KDQogICAgICAgIHVwZGF0ZUZyb206IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHRoaXMucmVzdWx0LmZyb20gPSB0aGlzLm9wdGlvbnMuZnJvbTsNCiAgICAgICAgICAgIHRoaXMucmVzdWx0LmZyb21fcGVyY2VudCA9IHRoaXMuY29udmVydFRvUGVyY2VudCh0aGlzLnJlc3VsdC5mcm9tKTsNCiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMudmFsdWVzKSB7DQogICAgICAgICAgICAgICAgdGhpcy5yZXN1bHQuZnJvbV92YWx1ZSA9IHRoaXMub3B0aW9ucy52YWx1ZXNbdGhpcy5yZXN1bHQuZnJvbV07DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQoNCiAgICAgICAgdXBkYXRlVG86IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHRoaXMucmVzdWx0LnRvID0gdGhpcy5vcHRpb25zLnRvOw0KICAgICAgICAgICAgdGhpcy5yZXN1bHQudG9fcGVyY2VudCA9IHRoaXMuY29udmVydFRvUGVyY2VudCh0aGlzLnJlc3VsdC50byk7DQogICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLnZhbHVlcykgew0KICAgICAgICAgICAgICAgIHRoaXMucmVzdWx0LnRvX3ZhbHVlID0gdGhpcy5vcHRpb25zLnZhbHVlc1t0aGlzLnJlc3VsdC50b107DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQoNCiAgICAgICAgdXBkYXRlUmVzdWx0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB0aGlzLnJlc3VsdC5taW4gPSB0aGlzLm9wdGlvbnMubWluOw0KICAgICAgICAgICAgdGhpcy5yZXN1bHQubWF4ID0gdGhpcy5vcHRpb25zLm1heDsNCiAgICAgICAgICAgIHRoaXMudXBkYXRlRnJvbSgpOw0KICAgICAgICAgICAgdGhpcy51cGRhdGVUbygpOw0KICAgICAgICB9LA0KDQoNCiAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICAgICAgICAvLyBHcmlkDQoNCiAgICAgICAgYXBwZW5kR3JpZDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnMuZ3JpZCkgew0KICAgICAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdmFyIG8gPSB0aGlzLm9wdGlvbnMsDQogICAgICAgICAgICAgICAgaSwgeiwNCg0KICAgICAgICAgICAgICAgIHRvdGFsID0gby5tYXggLSBvLm1pbiwNCiAgICAgICAgICAgICAgICBiaWdfbnVtID0gby5ncmlkX251bSwNCiAgICAgICAgICAgICAgICBiaWdfcCA9IDAsDQogICAgICAgICAgICAgICAgYmlnX3cgPSAwLA0KDQogICAgICAgICAgICAgICAgc21hbGxfbWF4ID0gNCwNCiAgICAgICAgICAgICAgICBsb2NhbF9zbWFsbF9tYXgsDQogICAgICAgICAgICAgICAgc21hbGxfcCwNCiAgICAgICAgICAgICAgICBzbWFsbF93ID0gMCwNCg0KICAgICAgICAgICAgICAgIHJlc3VsdCwNCiAgICAgICAgICAgICAgICBodG1sID0gJyc7DQoNCg0KDQogICAgICAgICAgICB0aGlzLmNhbGNHcmlkTWFyZ2luKCk7DQoNCiAgICAgICAgICAgIGlmIChvLmdyaWRfc25hcCkgew0KICAgICAgICAgICAgICAgIGJpZ19udW0gPSB0b3RhbCAvIG8uc3RlcDsNCiAgICAgICAgICAgICAgICBiaWdfcCA9IHRoaXMudG9GaXhlZChvLnN0ZXAgLyAodG90YWwgLyAxMDApKTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgYmlnX3AgPSB0aGlzLnRvRml4ZWQoMTAwIC8gYmlnX251bSk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChiaWdfbnVtID4gNCkgew0KICAgICAgICAgICAgICAgIHNtYWxsX21heCA9IDM7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoYmlnX251bSA+IDcpIHsNCiAgICAgICAgICAgICAgICBzbWFsbF9tYXggPSAyOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKGJpZ19udW0gPiAxNCkgew0KICAgICAgICAgICAgICAgIHNtYWxsX21heCA9IDE7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoYmlnX251bSA+IDI4KSB7DQogICAgICAgICAgICAgICAgc21hbGxfbWF4ID0gMDsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGJpZ19udW0gKyAxOyBpKyspIHsNCiAgICAgICAgICAgICAgICBsb2NhbF9zbWFsbF9tYXggPSBzbWFsbF9tYXg7DQoNCiAgICAgICAgICAgICAgICBiaWdfdyA9IHRoaXMudG9GaXhlZChiaWdfcCAqIGkpOw0KDQogICAgICAgICAgICAgICAgaWYgKGJpZ193ID4gMTAwKSB7DQogICAgICAgICAgICAgICAgICAgIGJpZ193ID0gMTAwOw0KDQogICAgICAgICAgICAgICAgICAgIGxvY2FsX3NtYWxsX21heCAtPSAyOw0KICAgICAgICAgICAgICAgICAgICBpZiAobG9jYWxfc21hbGxfbWF4IDwgMCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxfc21hbGxfbWF4ID0gMDsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5iaWdbaV0gPSBiaWdfdzsNCg0KICAgICAgICAgICAgICAgIHNtYWxsX3AgPSAoYmlnX3cgLSAoYmlnX3AgKiAoaSAtIDEpKSkgLyAobG9jYWxfc21hbGxfbWF4ICsgMSk7DQoNCiAgICAgICAgICAgICAgICBmb3IgKHogPSAxOyB6IDw9IGxvY2FsX3NtYWxsX21heDsgeisrKSB7DQogICAgICAgICAgICAgICAgICAgIGlmIChiaWdfdyA9PT0gMCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICBzbWFsbF93ID0gdGhpcy50b0ZpeGVkKGJpZ193IC0gKHNtYWxsX3AgKiB6KSk7DQoNCiAgICAgICAgICAgICAgICAgICAgaHRtbCArPSAnPHNwYW4gY2xhc3M9Imlycy1ncmlkLXBvbCBzbWFsbCIgc3R5bGU9ImxlZnQ6ICcgKyBzbWFsbF93ICsgJyUiPjwvc3Bhbj4nOw0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIGh0bWwgKz0gJzxzcGFuIGNsYXNzPSJpcnMtZ3JpZC1wb2wiIHN0eWxlPSJsZWZ0OiAnICsgYmlnX3cgKyAnJSI+PC9zcGFuPic7DQoNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzLmNvbnZlcnRUb1ZhbHVlKGJpZ193KTsNCiAgICAgICAgICAgICAgICBpZiAoby52YWx1ZXMubGVuZ3RoKSB7DQogICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IG8ucF92YWx1ZXNbcmVzdWx0XTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzLl9wcmV0dGlmeShyZXN1bHQpOw0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIGh0bWwgKz0gJzxzcGFuIGNsYXNzPSJpcnMtZ3JpZC10ZXh0IGpzLWdyaWQtdGV4dC0nICsgaSArICciIHN0eWxlPSJsZWZ0OiAnICsgYmlnX3cgKyAnJSI+JyArIHJlc3VsdCArICc8L3NwYW4+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHRoaXMuY29vcmRzLmJpZ19udW0gPSBNYXRoLmNlaWwoYmlnX251bSArIDEpOw0KDQoNCg0KICAgICAgICAgICAgdGhpcy4kY2FjaGUuY29udC5hZGRDbGFzcygiaXJzLXdpdGgtZ3JpZCIpOw0KICAgICAgICAgICAgdGhpcy4kY2FjaGUuZ3JpZC5odG1sKGh0bWwpOw0KICAgICAgICAgICAgdGhpcy5jYWNoZUdyaWRMYWJlbHMoKTsNCiAgICAgICAgfSwNCg0KICAgICAgICBjYWNoZUdyaWRMYWJlbHM6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHZhciAkbGFiZWwsIGksDQogICAgICAgICAgICAgICAgbnVtID0gdGhpcy5jb29yZHMuYmlnX251bTsNCg0KICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IG51bTsgaSsrKSB7DQogICAgICAgICAgICAgICAgJGxhYmVsID0gdGhpcy4kY2FjaGUuZ3JpZC5maW5kKCIuanMtZ3JpZC10ZXh0LSIgKyBpKTsNCiAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5ncmlkX2xhYmVscy5wdXNoKCRsYWJlbCk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHRoaXMuY2FsY0dyaWRMYWJlbHMoKTsNCiAgICAgICAgfSwNCg0KICAgICAgICBjYWxjR3JpZExhYmVsczogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdmFyIGksIGxhYmVsLCBzdGFydCA9IFtdLCBmaW5pc2ggPSBbXSwNCiAgICAgICAgICAgICAgICBudW0gPSB0aGlzLmNvb3Jkcy5iaWdfbnVtOw0KDQogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbnVtOyBpKyspIHsNCiAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5iaWdfd1tpXSA9IHRoaXMuJGNhY2hlLmdyaWRfbGFiZWxzW2ldLm91dGVyV2lkdGgoZmFsc2UpOw0KICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLmJpZ19wW2ldID0gdGhpcy50b0ZpeGVkKHRoaXMuY29vcmRzLmJpZ193W2ldIC8gdGhpcy5jb29yZHMud19ycyAqIDEwMCk7DQogICAgICAgICAgICAgICAgdGhpcy5jb29yZHMuYmlnX3hbaV0gPSB0aGlzLnRvRml4ZWQodGhpcy5jb29yZHMuYmlnX3BbaV0gLyAyKTsNCg0KICAgICAgICAgICAgICAgIHN0YXJ0W2ldID0gdGhpcy50b0ZpeGVkKHRoaXMuY29vcmRzLmJpZ1tpXSAtIHRoaXMuY29vcmRzLmJpZ194W2ldKTsNCiAgICAgICAgICAgICAgICBmaW5pc2hbaV0gPSB0aGlzLnRvRml4ZWQoc3RhcnRbaV0gKyB0aGlzLmNvb3Jkcy5iaWdfcFtpXSk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuZm9yY2VfZWRnZXMpIHsNCiAgICAgICAgICAgICAgICBpZiAoc3RhcnRbMF0gPCAtdGhpcy5jb29yZHMuZ3JpZF9nYXApIHsNCiAgICAgICAgICAgICAgICAgICAgc3RhcnRbMF0gPSAtdGhpcy5jb29yZHMuZ3JpZF9nYXA7DQogICAgICAgICAgICAgICAgICAgIGZpbmlzaFswXSA9IHRoaXMudG9GaXhlZChzdGFydFswXSArIHRoaXMuY29vcmRzLmJpZ19wWzBdKTsNCg0KICAgICAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5iaWdfeFswXSA9IHRoaXMuY29vcmRzLmdyaWRfZ2FwOw0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIGlmIChmaW5pc2hbbnVtIC0gMV0gPiAxMDAgKyB0aGlzLmNvb3Jkcy5ncmlkX2dhcCkgew0KICAgICAgICAgICAgICAgICAgICBmaW5pc2hbbnVtIC0gMV0gPSAxMDAgKyB0aGlzLmNvb3Jkcy5ncmlkX2dhcDsNCiAgICAgICAgICAgICAgICAgICAgc3RhcnRbbnVtIC0gMV0gPSB0aGlzLnRvRml4ZWQoZmluaXNoW251bSAtIDFdIC0gdGhpcy5jb29yZHMuYmlnX3BbbnVtIC0gMV0pOw0KDQogICAgICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLmJpZ194W251bSAtIDFdID0gdGhpcy50b0ZpeGVkKHRoaXMuY29vcmRzLmJpZ19wW251bSAtIDFdIC0gdGhpcy5jb29yZHMuZ3JpZF9nYXApOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdGhpcy5jYWxjR3JpZENvbGxpc2lvbigyLCBzdGFydCwgZmluaXNoKTsNCiAgICAgICAgICAgIHRoaXMuY2FsY0dyaWRDb2xsaXNpb24oNCwgc3RhcnQsIGZpbmlzaCk7DQoNCiAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBudW07IGkrKykgew0KICAgICAgICAgICAgICAgIGxhYmVsID0gdGhpcy4kY2FjaGUuZ3JpZF9sYWJlbHNbaV1bMF07DQogICAgICAgICAgICAgICAgbGFiZWwuc3R5bGUubWFyZ2luTGVmdCA9IC10aGlzLmNvb3Jkcy5iaWdfeFtpXSArICIlIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCg0KICAgICAgICAvLyBDb2xsaXNpb25zIENhbGMgQmV0YQ0KICAgICAgICAvLyBUT0RPOiBSZWZhY3RvciB0aGVuIGhhdmUgcGxlbnR5IG9mIHRpbWUNCiAgICAgICAgY2FsY0dyaWRDb2xsaXNpb246IGZ1bmN0aW9uIChzdGVwLCBzdGFydCwgZmluaXNoKSB7DQogICAgICAgICAgICB2YXIgaSwgbmV4dF9pLCBsYWJlbCwNCiAgICAgICAgICAgICAgICBudW0gPSB0aGlzLmNvb3Jkcy5iaWdfbnVtOw0KDQogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbnVtOyBpICs9IHN0ZXApIHsNCiAgICAgICAgICAgICAgICBuZXh0X2kgPSBpICsgKHN0ZXAgLyAyKTsNCiAgICAgICAgICAgICAgICBpZiAobmV4dF9pID49IG51bSkgew0KICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBsYWJlbCA9IHRoaXMuJGNhY2hlLmdyaWRfbGFiZWxzW25leHRfaV1bMF07DQoNCiAgICAgICAgICAgICAgICBpZiAoZmluaXNoW2ldIDw9IHN0YXJ0W25leHRfaV0pIHsNCiAgICAgICAgICAgICAgICAgICAgbGFiZWwuc3R5bGUudmlzaWJpbGl0eSA9ICJ2aXNpYmxlIjsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICBsYWJlbC5zdHlsZS52aXNpYmlsaXR5ID0gImhpZGRlbiI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KDQogICAgICAgIGNhbGNHcmlkTWFyZ2luOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBpZiAoIXRoaXMub3B0aW9ucy5ncmlkX21hcmdpbikgew0KICAgICAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdGhpcy5jb29yZHMud19ycyA9IHRoaXMuJGNhY2hlLnJzLm91dGVyV2lkdGgoZmFsc2UpOw0KICAgICAgICAgICAgaWYgKCF0aGlzLmNvb3Jkcy53X3JzKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLnR5cGUgPT09ICJzaW5nbGUiKSB7DQogICAgICAgICAgICAgICAgdGhpcy5jb29yZHMud19oYW5kbGUgPSB0aGlzLiRjYWNoZS5zX3NpbmdsZS5vdXRlcldpZHRoKGZhbHNlKTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgdGhpcy5jb29yZHMud19oYW5kbGUgPSB0aGlzLiRjYWNoZS5zX2Zyb20ub3V0ZXJXaWR0aChmYWxzZSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX2hhbmRsZSA9IHRoaXMudG9GaXhlZCh0aGlzLmNvb3Jkcy53X2hhbmRsZSAgLyB0aGlzLmNvb3Jkcy53X3JzICogMTAwKTsNCiAgICAgICAgICAgIHRoaXMuY29vcmRzLmdyaWRfZ2FwID0gdGhpcy50b0ZpeGVkKCh0aGlzLmNvb3Jkcy5wX2hhbmRsZSAvIDIpIC0gMC4xKTsNCg0KICAgICAgICAgICAgdGhpcy4kY2FjaGUuZ3JpZFswXS5zdHlsZS53aWR0aCA9IHRoaXMudG9GaXhlZCgxMDAgLSB0aGlzLmNvb3Jkcy5wX2hhbmRsZSkgKyAiJSI7DQogICAgICAgICAgICB0aGlzLiRjYWNoZS5ncmlkWzBdLnN0eWxlLmxlZnQgPSB0aGlzLmNvb3Jkcy5ncmlkX2dhcCArICIlIjsNCiAgICAgICAgfSwNCg0KDQoNCiAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICAgICAgICAvLyBQdWJsaWMgbWV0aG9kcw0KDQogICAgICAgIHVwZGF0ZTogZnVuY3Rpb24gKG9wdGlvbnMpIHsNCiAgICAgICAgICAgIGlmICghdGhpcy5pbnB1dCkgew0KICAgICAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdGhpcy5pc191cGRhdGUgPSB0cnVlOw0KDQogICAgICAgICAgICB0aGlzLm9wdGlvbnMuZnJvbSA9IHRoaXMucmVzdWx0LmZyb207DQogICAgICAgICAgICB0aGlzLm9wdGlvbnMudG8gPSB0aGlzLnJlc3VsdC50bzsNCg0KICAgICAgICAgICAgdGhpcy5vcHRpb25zID0gJC5leHRlbmQodGhpcy5vcHRpb25zLCBvcHRpb25zKTsNCiAgICAgICAgICAgIHRoaXMudmFsaWRhdGUoKTsNCiAgICAgICAgICAgIHRoaXMudXBkYXRlUmVzdWx0KG9wdGlvbnMpOw0KDQogICAgICAgICAgICB0aGlzLnRvZ2dsZUlucHV0KCk7DQogICAgICAgICAgICB0aGlzLnJlbW92ZSgpOw0KICAgICAgICAgICAgdGhpcy5pbml0KHRydWUpOw0KICAgICAgICB9LA0KDQogICAgICAgIHJlc2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBpZiAoIXRoaXMuaW5wdXQpIHsNCiAgICAgICAgICAgICAgICByZXR1cm47DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHRoaXMudXBkYXRlUmVzdWx0KCk7DQogICAgICAgICAgICB0aGlzLnVwZGF0ZSgpOw0KICAgICAgICB9LA0KDQogICAgICAgIGRlc3Ryb3k6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIGlmICghdGhpcy5pbnB1dCkgew0KICAgICAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdGhpcy50b2dnbGVJbnB1dCgpOw0KICAgICAgICAgICAgdGhpcy4kY2FjaGUuaW5wdXQucHJvcCgicmVhZG9ubHkiLCBmYWxzZSk7DQogICAgICAgICAgICAkLmRhdGEodGhpcy5pbnB1dCwgImlvblJhbmdlU2xpZGVyIiwgbnVsbCk7DQoNCiAgICAgICAgICAgIHRoaXMucmVtb3ZlKCk7DQogICAgICAgICAgICB0aGlzLmlucHV0ID0gbnVsbDsNCiAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IG51bGw7DQogICAgICAgIH0NCiAgICB9Ow0KDQogICAgJC5mbi5pb25SYW5nZVNsaWRlciA9IGZ1bmN0aW9uIChvcHRpb25zKSB7DQogICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBpZiAoISQuZGF0YSh0aGlzLCAiaW9uUmFuZ2VTbGlkZXIiKSkgew0KICAgICAgICAgICAgICAgICQuZGF0YSh0aGlzLCAiaW9uUmFuZ2VTbGlkZXIiLCBuZXcgSW9uUmFuZ2VTbGlkZXIodGhpcywgb3B0aW9ucywgcGx1Z2luX2NvdW50KyspKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgfTsNCg0KDQoNCiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICAgIC8vIGh0dHA6Ly9wYXVsaXJpc2guY29tLzIwMTEvcmVxdWVzdGFuaW1hdGlvbmZyYW1lLWZvci1zbWFydC1hbmltYXRpbmcvDQogICAgLy8gaHR0cDovL215Lm9wZXJhLmNvbS9lbW9sbGVyL2Jsb2cvMjAxMS8xMi8yMC9yZXF1ZXN0YW5pbWF0aW9uZnJhbWUtZm9yLXNtYXJ0LWVyLWFuaW1hdGluZw0KDQogICAgLy8gcmVxdWVzdEFuaW1hdGlvbkZyYW1lIHBvbHlmaWxsIGJ5IEVyaWsgTcO2bGxlci4gZml4ZXMgZnJvbSBQYXVsIElyaXNoIGFuZCBUaW5vIFppamRlbA0KDQogICAgLy8gTUlUIGxpY2Vuc2UNCg0KICAgIChmdW5jdGlvbigpIHsNCiAgICAgICAgdmFyIGxhc3RUaW1lID0gMDsNCiAgICAgICAgdmFyIHZlbmRvcnMgPSBbJ21zJywgJ21veicsICd3ZWJraXQnLCAnbyddOw0KICAgICAgICBmb3IodmFyIHggPSAwOyB4IDwgdmVuZG9ycy5sZW5ndGggJiYgIXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU7ICsreCkgew0KICAgICAgICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSA9IHdpbmRvd1t2ZW5kb3JzW3hdKydSZXF1ZXN0QW5pbWF0aW9uRnJhbWUnXTsNCiAgICAgICAgICAgIHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSA9IHdpbmRvd1t2ZW5kb3JzW3hdKydDYW5jZWxBbmltYXRpb25GcmFtZSddDQogICAgICAgICAgICAgICAgfHwgd2luZG93W3ZlbmRvcnNbeF0rJ0NhbmNlbFJlcXVlc3RBbmltYXRpb25GcmFtZSddOw0KICAgICAgICB9DQoNCiAgICAgICAgaWYgKCF3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKQ0KICAgICAgICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSA9IGZ1bmN0aW9uKGNhbGxiYWNrLCBlbGVtZW50KSB7DQogICAgICAgICAgICAgICAgdmFyIGN1cnJUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7DQogICAgICAgICAgICAgICAgdmFyIHRpbWVUb0NhbGwgPSBNYXRoLm1heCgwLCAxNiAtIChjdXJyVGltZSAtIGxhc3RUaW1lKSk7DQogICAgICAgICAgICAgICAgdmFyIGlkID0gd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IGNhbGxiYWNrKGN1cnJUaW1lICsgdGltZVRvQ2FsbCk7IH0sDQogICAgICAgICAgICAgICAgICAgIHRpbWVUb0NhbGwpOw0KICAgICAgICAgICAgICAgIGxhc3RUaW1lID0gY3VyclRpbWUgKyB0aW1lVG9DYWxsOw0KICAgICAgICAgICAgICAgIHJldHVybiBpZDsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgaWYgKCF3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUpDQogICAgICAgICAgICB3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUgPSBmdW5jdGlvbihpZCkgew0KICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dChpZCk7DQogICAgICAgICAgICB9Ow0KICAgIH0oKSk7DQoNCn0pKTsNCg=="}},"time_used":56,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":56,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/32632.596e5348a1538a18fd4e.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.838Z","timestamp":1785120633838,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/32632.596e5348a1538a18fd4e.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=0\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 02:50:33 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-4fc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:20\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 478e19850ff7d07989e5358b743189eb\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1276,"size_decoded":1216,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1276), with no line terminators","md5":"4dbd9186e797320373da6c5f9843030c","sha1":"23410205367378f1c6436025ba87050084b119a4","sha256":"7efe9b338dd4970e4b6ee84a711c1bb6cc65dad73322597e03c040abdb1fa38a","sha512":"a66b0365c81f21e82e8d510923718ce9c71b8aab5c59688e1d32283b9203b9d4b79e04b000fd34cc03234913be0c316407e1d1b9b4c6360478f73081d15595ef","ssdeep":"","tlshash":"3321dfe1e790187af8a38916a788de867158fa036713fd49f7daa80e4481d78113c34d","first_seen":"2026-07-16T13:40:49.72467Z","last_seen":"2026-07-27T05:24:15.755143Z","times_seen":760,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtdWdzMTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLXVnczE6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LnR2LXNwaW5uZXJ7YW5pbWF0aW9uOnR2LXNwaW5uZXJfX2NvbnRhaW5lci1yb3RhdGUtajRKbHJZVkggLjlzIGxpbmVhciBpbmZpbml0ZTtib3JkZXItaW5saW5lLWVuZC1jb2xvcjp2YXIoLS1fMC11Z3MxKTtib3JkZXI6MCBzb2xpZCB2YXIoLS10di1zcGlubmVyLWNvbG9yLHZhcigtLWNvbG9yLWJyYW5kKSk7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1fMC11Z3MxKTtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5Om5vbmU7bWFyZ2luOjAgYXV0bztwb3NpdGlvbjphYnNvbHV0ZX0udHYtc3Bpbm5lci0tc2hvd257ZGlzcGxheTpibG9ja30udHYtc3Bpbm5lci0tc2l6ZV94eHNtYWxse2JvcmRlci13aWR0aDoycHg7aGVpZ2h0OjEwcHg7aW5zZXQtaW5saW5lLXN0YXJ0OmNhbGMoNTAlIC0gN3B4KTt0b3A6Y2FsYyg1MCUgLSA3cHgpO3dpZHRoOjEwcHh9LnR2LXNwaW5uZXItLXNpemVfeHNtYWxse2JvcmRlci13aWR0aDoycHg7aGVpZ2h0OjE0cHg7aW5zZXQtaW5saW5lLXN0YXJ0OmNhbGMoNTAlIC0gOXB4KTt0b3A6Y2FsYyg1MCUgLSA5cHgpO3dpZHRoOjE0cHh9LnR2LXNwaW5uZXItLXNpemVfc21hbGx7Ym9yZGVyLXdpZHRoOjJweDtoZWlnaHQ6MjBweDtpbnNldC1pbmxpbmUtc3RhcnQ6Y2FsYyg1MCUgLSAxMnB4KTt0b3A6Y2FsYyg1MCUgLSAxMnB4KTt3aWR0aDoyMHB4fS50di1zcGlubmVyLS1zaXplX21lZGl1bXtib3JkZXItd2lkdGg6M3B4O2hlaWdodDoyOHB4O2luc2V0LWlubGluZS1zdGFydDpjYWxjKDUwJSAtIDE3cHgpO3RvcDpjYWxjKDUwJSAtIDE3cHgpO3dpZHRoOjI4cHh9LnR2LXNwaW5uZXItLXNpemVfbGFyZ2V7Ym9yZGVyLXdpZHRoOjRweDtoZWlnaHQ6NTZweDtpbnNldC1pbmxpbmUtc3RhcnQ6Y2FsYyg1MCUgLSAzMnB4KTt0b3A6Y2FsYyg1MCUgLSAzMnB4KTt3aWR0aDo1NnB4fS50di1zcGlubmVyOmRpcihydGwpe2FuaW1hdGlvbjp0di1zcGlubmVyX19jb250YWluZXItcm90YXRlLXJ0bC1qNEpscllWSCAuOXMgbGluZWFyIGluZmluaXRlfUBrZXlmcmFtZXMgdHYtc3Bpbm5lcl9fY29udGFpbmVyLXJvdGF0ZS1qNEpscllWSHt0b3t0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19QGtleWZyYW1lcyB0di1zcGlubmVyX19jb250YWluZXItcm90YXRlLXJ0bC1qNEpscllWSHt0b3t0cmFuc2Zvcm06cm90YXRlKC0xdHVybil9fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.12858.ad72d76c41bbd415231e.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.916Z","timestamp":1785120633916,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.12858.ad72d76c41bbd415231e.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a7-109c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:07 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:19:17\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ab63162590e43faf93be6650270d232f\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4252,"size_decoded":2387,"mime_type":"application/javascript; charset=utf-8","magic":"Unicode text, UTF-8 text, with very long lines (3068)","md5":"ba9edaf93bd6d486a36ba355f758cc90","sha1":"918531d0606317a1c90c9a7b9ae1722f6e14a166","sha256":"bc555cf8e54ac82ab294e301570531b051716b29c08dd9ca453d3cd4a0c32a27","sha512":"580c166e5196ae546cc97d7a4a16ac7deded6dea86b5fe31c01a4f004d915df4141f62287edda623a8bc419bf0750aa62303123824c69fcfb76e694095b86308","ssdeep":"96:6vhtKURB2ytA5YoHgm61Nmub4Zy3DaTJRr:shNRz+Hgm61Fb4ZyzaTJh","tlshash":"40911e27d000c1ea6fb6d9287796dcd0b9f4b1d101f1e8ca7785af56c21be6528392f8","first_seen":"2026-07-23T22:46:45.851981Z","last_seen":"2026-07-27T06:01:16.237981Z","times_seen":25,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxMjg1OCwxNzg1OSwyNDkyOSw0MDI0MCw4NzIzOCw5NDM4OCw5NDcwMl0sezYxNzM0MChlKXtlLmV4cG9ydHM9WyJDb2x1bW5zIl19LDExODQ5MShlKXtlLmV4cG9ydHM9WyJDYW5kbGVzIl19LDc5NjA5MyhlKXtlLmV4cG9ydHM9WyJBcmVhIl19LDk0MTYyOShlKXtlLmV4cG9ydHM9WyJCYXJzIl19LDUyNTMzMShlKXtlLmV4cG9ydHM9WyJCYXNlbGluZSJdfSw0MTM0MyhlKXtlLmV4cG9ydHM9WyJLYWdpIl19LDk2Nzg0MShlKXtlLmV4cG9ydHM9WyJITEMgYXJlYSJdfSw2ODMwMChlKXtlLmV4cG9ydHM9WyJITEMgYmFycyJdfSwzMzE4MjQoZSl7ZS5leHBvcnRzPVsiSG9sbG93IGNhbmRsZXMiXX0sODM1NTQzKGUpe2UuZXhwb3J0cz1bIkhlaWtpbiBBc2hpIl19LDk1MjgxMChlKXtlLmV4cG9ydHM9WyJIaWdoLWxvdyJdfSwyMTA0OTkoZSl7ZS5leHBvcnRzPVsiTGluZSJdfSwxODYxNDcoZSl7ZS5leHBvcnRzPVsiTGluZSB3aXRoIG1hcmtlcnMiXX0sMzA3NDM2KGUpe2UuZXhwb3J0cz1bIkxpbmUgYnJlYWsiXX0sNjg3OTUxKGUpe2UuZXhwb3J0cz1bIlNlc3Npb24gdm9sdW1lIHByb2ZpbGUiXX0sOTE2MTQ4KGUpe2UuZXhwb3J0cz1bIlN0ZXAgbGluZSJdfSw4NjcwMjEoZSl7ZS5leHBvcnRzPVsiUG9pbnQgJiBmaWd1cmUiXX0sMTg4MzUyKGUpe2UuZXhwb3J0cz1bIlJhbmdlIl19LDQ2MTczOChlKXtlLmV4cG9ydHM9WyJSZW5rbyJdfSwxMTc5ODQoZSl7ZS5leHBvcnRzPVsiVGltZSBwcmljZSBvcHBvcnR1bml0eSJdfSw4OTIzNzUoZSl7ZS5leHBvcnRzPVsiVm9sdW1lIGNhbmRsZXMiXX0sMjAxMDczKGUpe2UuZXhwb3J0cz1bIlZvbHVtZSBmb290cHJpbnQiXX0sNTU4NDEyKGUpe2UuZXhwb3J0cz1bIiUgb2YgR0RQIl19LDIyOTk5NChlKXtlLmV4cG9ydHM9WyJDIl19LDk1NDYxNChlKXtlLmV4cG9ydHM9WyJIIl19LDgzOTQ2MyhlKXtlLmV4cG9ydHM9WyJMIl19LDk2MDUxMyhlKXtlLmV4cG9ydHM9WyJPIl19LDU2NTMyMShlKXtlLmV4cG9ydHM9WyJWb2wiXX0sNTQ1MjI0KGUpe2UuZXhwb3J0cz1bIk92ZXJuaWdodCB2aWEgQk9BVFMiXX0sODI5MjczKGUpe2UuZXhwb3J0cz1bIkludHJhZGF5IHNwcmVhZCBkYXRhIGlzIG5vdCBhdmFpbGFibGUiXX0sMjk5MTUzKGUpe2UuZXhwb3J0cz1bIk5vIGRhdGEiXX0sMjg1ODkzKGUpe2UuZXhwb3J0cz1bIk5vIGRhdGEgZm9yIHRoaXMgcmVzb2x1dGlvbiJdfSw3MzQ3NTAoZSl7ZS5leHBvcnRzPVsiTWF5Il19LDM4NDU5NyhlKXtlLmV4cG9ydHM9WyJDRkQiXX0sNjU1MjM1KGUpe2UuZXhwb3J0cz1bIkNyeXB0byJdfSwzNTAxNDYoZSl7ZS5leHBvcnRzPVsiQWxsIl19LDc2NTQ0MChlKXtlLmV4cG9ydHM9WyJCb25kcyJdfSw1NDgzMjIoZSl7ZS5leHBvcnRzPVsiRWNvbm9teSJdfSw5Nzk5NyhlKXtlLmV4cG9ydHM9WyJGb3JleCJdfSw1MDUwNzkoZSl7ZS5leHBvcnRzPVsiRnV0dXJlcyJdfSw1NjQ5MTcoZSl7ZS5leHBvcnRzPVsiRnVuZHMiXX0sOTI3NDExKGUpe2UuZXhwb3J0cz1bIkluZGljZXMiXX0sNzk2MDAoZSl7ZS5leHBvcnRzPVsiT3B0aW9ucyJdfSw1NTU1MTAoZSl7ZS5leHBvcnRzPVsiU3RvY2tzIl19LDU3MDYyKGUpe2UuZXhwb3J0cz1bIk4vQSJdfSw4MTkwNzgoZSl7ZS5leHBvcnRzPVsiM00iXX0sMjcyMDk4KGUpe2UuZXhwb3J0cz1bIjNZIl19LDExMTk3NihlKXtlLmV4cG9ydHM9WyIxIHllYXIiXX0sNjcwNTY4KGUpe2UuZXhwb3J0cz1bIjEwIHllYXJzIl19LDk5NTA2NihlKXtlLmV4cG9ydHM9WyIxMFkiXX0sODMyNzMzKGUpe2UuZXhwb3J0cz1bIjFNIl19LDkzODEwMChlKXtlLmV4cG9ydHM9WyIxRCJdfSw0OTIxMzUoZSl7ZS5leHBvcnRzPVsiMVciXX0sNzcwMzAzKGUpe2UuZXhwb3J0cz1bIjFZIl19LDkzNDc3NyhlKXtlLmV4cG9ydHM9WyIyWSJdfSwzMjgwMzAoZSl7ZS5leHBvcnRzPVsiMyBtb250aHMiXX0sODI4NTUoZSl7ZS5leHBvcnRzPVsiNUQiXX0sNDQ2NTYwKGUpe2UuZXhwb3J0cz1bIjVZIl19LDY4MDc2KGUpe2UuZXhwb3J0cz1bIjZNIl19LDY3MzQ4NyhlKXtlLmV4cG9ydHM9WyJDaGFuZ2UiXX0sMjMzNjkwKGUpe2UuZXhwb3J0cz1bIkFsbCJdfSwyOTA3ODcoZSl7ZS5leHBvcnRzPVsiQWxsIHRpbWUiXX0sNTI2Nzg1KGUpe2UuZXhwb3J0cz1bIkFwciJdfSw5Mzc2MihlKXtlLmV4cG9ydHM9WyJBdWciXX0sODY4ODEwKGUpe2UuZXhwb3J0cz1bIkJpbGxlZCBldmVyeSBtb250aC4iXX0sOTEzOTU1KGUpe2UuZXhwb3J0cz1bIkJpbGxlZCBldmVyeSB5ZWFyLiJdfSw3NjkwMzYoZSl7ZS5leHBvcnRzPVsiRGVjIl19LDg3MjM4KGUpe2UuZXhwb3J0cz1bIkVycm9yIl19LDYxNzM0MShlKXtlLmV4cG9ydHM9WyJGZWIiXX0sOTY4ODE1KGUpe2UuZXhwb3J0cz1bIkZyYWN0aW9uIHBhcnQgaXMgaW52YWxpZC4iXX0sNzMyNzc2KGUpe2UuZXhwb3J0cz1bIkludmFsaWQgc3ltYm9sIl19LDY1NzM3NChlKXtlLmV4cG9ydHM9WyJKYW4iXX0sMTgzOTU5KGUpe2UuZXhwb3J0cz1bIkp1bCJdfSw4Nzc0NShlKXtlLmV4cG9ydHM9WyJKdW4iXX0sNzI4MzM3KGUpe2UuZXhwb3J0cz1bIk9jdCJdfSw0MzExNTcoZSl7ZS5leHBvcnRzPVsiTGFzdCBwcmljZSJdfSwxMDMzMDUoZSl7ZS5leHBvcnRzPVsiTWFyIl19LDUxOTcoZSl7ZS5leHBvcnRzPVsiTm8gZGF0YSBoZXJlIl19LDE0NjgwNyhlKXtlLmV4cG9ydHM9WyJObyBkYXRhIGhlcmUgeWV0Il19LDY0NjU0NShlKXtlLmV4cG9ydHM9WyJOb3YiXX0sODUwMjk4KGUpe2UuZXhwb3J0cz1bIlNlY29uZCBmcmFjdGlvbiBwYXJ0IGlzIGludmFsaWQuIl19LDE3ODQ2OShlKXtlLmV4cG9ydHM9WyJTZXAiXX0sOTkyMzYyKGUpe2UuZXhwb3J0cz1bIlN0dWRpZXMgbGltaXQgZXhjZWVkZWQ6IHtudW1iZXJ9IHN0dWRpZXMgcGVyIGxheW91dC5cblBsZWFzZSwgcmVtb3ZlIHNvbWUgc3R1ZGllcy4iXX0sNjczNTIzKGUpe2UuZXhwb3J0cz1bIlBhc3QgeWVhciJdfSw4Nzg3MDgoZSl7ZS5leHBvcnRzPVsiUGFzdCBmaXZlIHllYXJzIl19LDQzMDMzMyhlKXsKZS5leHBvcnRzPVsiUGFzdCBtb250aCJdfSw0NDY1NihlKXtlLmV4cG9ydHM9WyJQYXN0IHF1YXJ0ZXIiXX0sNjE2MTgoZSl7ZS5leHBvcnRzPVsiUHJpY2UgZm9ybWF0IGlzIGludmFsaWQuIl19LDg5NzY3KGUpe2UuZXhwb3J0cz1bIlExIl19LDk0ODkyMyhlKXtlLmV4cG9ydHM9WyJRMiJdfSwzNjc5MzUoZSl7ZS5leHBvcnRzPVsiUTMiXX0sMTc1NTA3KGUpe2UuZXhwb3J0cz1bIlE0Il19LDkzNzAxNyhlKXtlLmV4cG9ydHM9WyJXYXJuaW5nIl19LDYxNDQ1MChlKXtlLmV4cG9ydHM9WyJUb2RheSJdfSwxMTQzMzgoZSl7ZS5leHBvcnRzPVsiVGhpcyBzeW1ib2wgaXMgb25seSBhdmFpbGFibGUgb24ge2xpbmtTdGFydH1UcmFkaW5nVmlld3tsaW5rRW5kfSJdfSw1MTc4NTkoZSl7ZS5leHBvcnRzPVsiVmlzaXQgVHJhZGluZ1ZpZXcg4oCUIGZpbmFuY2lhbCBjaGFydGluZyBwbGF0Zm9ybSBhbmQgdHJhZGluZyBjb21tdW5pdHkiXX0sNDIyMzY5KGUpe2UuZXhwb3J0cz1bIllURCJdfSw0ODU0MjAoZSl7ZS5leHBvcnRzPVsiWWVhciB0byBkYXRlIl19LDcyMTExOChlKXtlLmV4cG9ydHM9WyJhbm51YWxseSJdfSw2NTM2OShlKXtlLmV4cG9ydHM9WyJiaWxsZWQgbW9udGhseSJdfSwyNjAxOTMoZSl7ZS5leHBvcnRzPVsiYmlsbGVkIGFubnVhbGx5Il19LDU1NjU2OChlKXtlLmV4cG9ydHM9WyJtb250aGx5Il19LDg2Mzg1MihlKXtlLmV4cG9ydHM9WyJ0aHJlZSBtb250aHMiXX0sODM1OChlKXtlLmV4cG9ydHM9WyJ0cmlhbCJdfSwxNTM3NjYoZSl7ZS5leHBvcnRzPVsie3Byb1BsYW5OYW1lfSBUcmlhbCJdfSwzMjM0ODUoZSl7ZS5leHBvcnRzPVsibW9udGgiLCJtb250aHMiXX0sMTAzMDMwKGUpe2UuZXhwb3J0cz1bIntzdHJ9IGRheSIsIntzdHJ9IGRheXMiXX0sMjEwNTc0KGUpe2UuZXhwb3J0cz1bIntzdHJ9IGhvdXIiLCJ7c3RyfSBob3VycyJdfSw2OTQ2MTcoZSl7ZS5leHBvcnRzPVsie3N0cn0gbW9udGgiLCJ7c3RyfSBtb250aHMiXX0sNDM5MChlKXtlLmV4cG9ydHM9WyJ7c3RyfSBtaW51dGUiLCJ7c3RyfSBtaW51dGVzIl19LDY0NDYyNShlKXtlLmV4cG9ydHM9WyJ7c3RyfSB3ZWVrIiwie3N0cn0gd2Vla3MiXX0sMjE2NDAyKGUpe2UuZXhwb3J0cz1bIntzdHJ9IHllYXIiLCJ7c3RyfSB5ZWFycyJdfSw0NDI2NjYoZSl7ZS5leHBvcnRzPVsieWVhciIsInllYXJzIl19fV0pOw=="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/62681.6883c4b17e6a89e4b87f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.001Z","timestamp":1785120634001,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/62681.6883c4b17e6a89e4b87f.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b74-26d5\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:24 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b8e89eb221ef7ae39d8de5e53eb52755\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":9941,"size_decoded":2934,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (9941), with no line terminators","md5":"96701d95e8d00efdc09eb9279b871453","sha1":"f12c6f203f7a76e20a0c25bccfbc5f43206b0eda","sha256":"88302743f0b5328d7e90f7e88b47561bc485ab5932193d4dc7755f1bf64cce3d","sha512":"046a3817646c8aca396aad13fdab96075c8699a9d511bc761475ed9e6337ee12877ed966bdd5a60f6361578d948dec9b2e08e3aed8fd78bda1cf8782568c89fa","ssdeep":"192:wCNtGzkUD/UlZ9wmjuMhT27zNJbg9spNHXRWgCWCoTwtsyYIOi7wYdg6YN:Ep89spNHXRWVWnTwtsyYVkwYdg6YN","tlshash":"5b22fab2d16265a76213f62de3e1fe09e337e3939a131fdee223845dc4c6ad94138049","first_seen":"2026-03-24T19:47:05.242316Z","last_seen":"2026-07-27T05:24:15.727713Z","times_seen":1440,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAteVR5eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLV8xLXlUeXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1fMi15VHl5OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLV8zLXlUeXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1fNC15VHl5OnZhcigtLWNvbG9yLXdoaXRlKTstLV81LXlUeXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1fNi15VHl5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tXzcteVR5eTp2YXIoLS1jb2xvci13aGl0ZSk7LS1fOC15VHl5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tXzkteVR5eTojMWUyMjJkZDk7LS1fMTAteVR5eTojMWUyMjJkMDA7LS1fMTEteVR5eTojZmZmZmZmZDk7LS1fMTIteVR5eTojZmZmMDstLV8xMy15VHl5OiNmZmYwOy0tXzE0LXlUeXk6I2YwZjNmYTAwfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAteVR5eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV8xLXlUeXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1fMi15VHl5OnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLV8zLXlUeXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1fNC15VHl5OnZhcigtLWNvbG9yLXdoaXRlKTstLV81LXlUeXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1fNi15VHl5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tXzcteVR5eTp2YXIoLS1jb2xvci13aGl0ZSk7LS1fOC15VHl5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tXzkteVR5eTojMWUyMjJkZDk7LS1fMTAteVR5eTojMWUyMjJkMDA7LS1fMTEteVR5eTojMDAwMDAwZDk7LS1fMTIteVR5eTojMDAwMDstLV8xMy15VHl5OiMwMDAwOy0tXzE0LXlUeXk6IzEzMTcyMjAwfS50di10YWJze2Rpc3BsYXk6ZmxleDtoZWlnaHQ6NTNweDtsaW5lLWhlaWdodDo1M3B4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjAgMTZweDtwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTt3aGl0ZS1zcGFjZTpub3dyYXA7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fS50di10YWJzOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJvcmRlcik7Ym90dG9tOjA7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxcHg7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO3Bvc2l0aW9uOmFic29sdXRlfS50di10YWJzOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmV9LnR2LXRhYnMuaS1sb2FkZWR7cGFkZGluZzowfS50di10YWJzLS1jYXRlZ29yeS1jb250ZW50e3BhZGRpbmc6MCA2cHh9LnR2LXRhYnNfX3Njcm9sbC13cmFwe2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7b3ZlcmZsb3cteDpzY3JvbGw7b3ZlcmZsb3cteTpoaWRkZW47cGFkZGluZy1ib3R0b206MTAwcHg7cG9zaXRpb246cmVsYXRpdmU7d2hpdGUtc3BhY2U6bm93cmFwO3dpZHRoOjEwMCU7LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9LnR2LXRhYnNfX3Njcm9sbC1ib3h7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlfS50di10YWJzLmktbG9hZGVkIC50di10YWJzX19zY3JvbGwtYm94e3BhZGRpbmc6MCAxNnB4fS50di10YWJzX19hZGRpdGlvbmFsLWluZm97Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7dHJhbnNpdGlvbjppbmhlcml0fS50di10YWJzX190YWJ7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxNHB4O2hlaWdodDo1M3B4O2xpbmUtaGVpZ2h0OjUzcHg7bWFyZ2luOjA7cGFkZGluZzowIDE2cHg7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O2JveC1zaXppbmc6Ym9yZGVyLWJveDt0cmFuc2l0aW9uOmNvbG9yIC4zNXMgZWFzZX0udHYtdGFic19fdGFiOmFjdGl2ZXt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di10YWJzX190YWI6aG92ZXJ7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfX0udHYtdGFic19fdGFiLmktYWN0aXZlLC50di10YWJzX190YWI6YWN0aXZle2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXRhYnNfX3RhYjpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1icmFuZCl9fS50di10YWJzX190YWIuaS1kaXNhYmxlZCwudHYtdGFic19fdGFiOmRpc2FibGVkLC50di10YWJzX190YWJbZGlzYWJsZWRde2NvbG9yOnZhcigtLWNvbG9yLWJvcmRlcik7Y3Vyc29yOmRlZmF1bHR9LnR2LXRhYnNfX3RhYi0tbm8tcGFkZGluZ3twYWRkaW5nOjB9LnR2LXRhYnNfX3RhYi0tcmlnaHQtc2hpZnRlcnttYXJnaW4taW5saW5lLXN0YXJ0OmF1dG99LnR2LXRhYnNfX3RhYi0taWNvbi10YWJ7cGFkZGluZzowfS50di10YWJzLS1jYXRlZ29yeS1oZWFkZXJ7aGVpZ2h0OjQ2cHh9LnR2LXRhYnMtLWNhdGVnb3J5LWhlYWRlciAudHYtdGFic19fdGFie2ZvbnQtc2l6ZToxNnB4O2hlaWdodDo0NnB4O2xpbmUtaGVpZ2h0OjQ2cHg7cGFkZGluZy1pbmxpbmUtZW5kOjE2cHg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MTZweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXRhYnMtLWNhdGVnb3J5LWhlYWRlciAudHYtdGFic19fdGFiOmhvdmVyLC50di10YWJzLS1jYXRlZ29yeS1oZWFkZXIgLnR2LXRhYnNfX3RhYjpob3ZlciAudHYtdGFic19fYWRkaXRpb25hbC1pbmZve2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKX19LnR2LXRhYnMtLWNhdGVnb3J5LWhlYWRlciAudHYtdGFic19fdGFiLmktYWN0aXZle2N1cnNvcjpkZWZhdWx0fS50di10YWJzLS1jYXRlZ29yeS1oZWFkZXIgLnR2LXRhYnNfX3RhYi5pLWFjdGl2ZSwudHYtdGFicy0tY2F0ZWdvcnktaGVhZGVyIC50di10YWJzX190YWIuaS1hY3RpdmUgLnR2LXRhYnNfX2FkZGl0aW9uYWwtaW5mb3tjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKX0udHYtdGFic19fc2xpZGVyLC50di10YWJzX190YWIuaS1hY3RpdmU6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKTtib3R0b206MDtkaXNwbGF5OmJsb2NrO2hlaWdodDozcHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZX0udHYtdGFicy0tY29tcGFjdCwudHYtdGFicy0tY29tcGFjdCAudHYtdGFic19fc2Nyb2xsLWJveCwudHYtdGFicy0tY29tcGFjdCAudHYtdGFic19fdGFie2hlaWdodDoyM3B4fS50di10YWJzLS1jb21wYWN0IC50di10YWJzX190YWJ7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MjNweH0udHYtdGFicy0tY2F0ZWdvcnktaGVhZGVyLmktbG9hZGVkLC50di10YWJzLS1jYXRlZ29yeS1oZWFkZXIuaS1sb2FkZWQgLnR2LXRhYnNfX3Njcm9sbC1ib3gsLnR2LXRhYnMtLWNvbXBhY3QsLnR2LXRhYnMtLWNvbXBhY3QuaS1sb2FkZWQgLnR2LXRhYnNfX3Njcm9sbC1ib3h7cGFkZGluZy1pbmxpbmUtZW5kOjA7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MH0udHYtdGFicy0tY2F0ZWdvcnktaGVhZGVyLC50di10YWJzLS1jYXRlZ29yeS1oZWFkZXIgLnR2LXRhYnNfX3Njcm9sbC1ib3gsLnR2LXRhYnMtLWNhdGVnb3J5LWhlYWRlci5pLWxvYWRlZCAudHYtdGFic19fc2Nyb2xsLWJveHtwYWRkaW5nLWlubGluZS1lbmQ6MjBweDtwYWRkaW5nLWlubGluZS1zdGFydDoyMHB4fS50di10YWJzLS1jYXRlZ29yeS1oZWFkZXI6YmVmb3JlLC50di10YWJzLS1jb21wYWN0OmJlZm9yZXtib3R0b206MH0udHYtdGFicy0tY29tcGFjdCAudHYtdGFic19fdGFiOmZpcnN0LWNoaWxke21hcmdpbi1pbmxpbmUtc3RhcnQ6LTE2cHh9LnR2LXRhYnMtLWNvbXBhY3QgLnR2LXRhYnNfX3RhYjpsYXN0LWNoaWxke21hcmdpbi1pbmxpbmUtZW5kOi0xNnB4fS50di10YWJzLS1jYXRlZ29yeS1oZWFkZXIgLnR2LXRhYnNfX3RhYjpmaXJzdC1jaGlsZHttYXJnaW4taW5saW5lLXN0YXJ0Oi0xNnB4fS50di10YWJzLS1jYXRlZ29yeS1oZWFkZXIgLnR2LXRhYnNfX3RhYjpsYXN0LWNoaWxke21hcmdpbi1pbmxpbmUtZW5kOi0xNnB4fS5wYWdlLXdpZGUgLnR2LXRhYnMtLWNhdGVnb3J5LWhlYWRlciAudHYtdGFic19fdGFie3BhZGRpbmctaW5saW5lLWVuZDoxNnB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjE2cHh9LnBhZ2Utd2lkZSAudHYtdGFicy0tY2F0ZWdvcnktaGVhZGVyIC50di10YWJzX190YWI6Zmlyc3QtY2hpbGR7bWFyZ2luLWlubGluZS1zdGFydDotMTZweH0ucGFnZS13aWRlIC50di10YWJzLS1jYXRlZ29yeS1oZWFkZXIgLnR2LXRhYnNfX3RhYjpsYXN0LWNoaWxke21hcmdpbi1pbmxpbmUtZW5kOi0xNnB4fS50di10YWJzLS1jb21wYWN0IC50di10YWJzX190YWIuaS1oaWRkZW46Zmlyc3QtY2hpbGQrLnR2LXRhYnNfX3RhYnttYXJnaW4taW5saW5lLXN0YXJ0Oi0xNnB4fS50di10YWJzLS1jb21wYWN0IC50di10YWJzX19zbGlkZXIsLnR2LXRhYnMtLWNvbXBhY3QgLnR2LXRhYnNfX3RhYi5pLWFjdGl2ZTphZnRlcntib3R0b206MDtoZWlnaHQ6MXB4fUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsudHYtdGFicy0td2l0aC13cmFwLXBhZGRpbmctbW9iaWxlIC50di10YWJzX190YWI6Zmlyc3QtY2hpbGR7bWFyZ2luLWlubGluZS1zdGFydDowO3BhZGRpbmctaW5saW5lLXN0YXJ0OjB9LnR2LXRhYnMtLXdpdGgtd3JhcC1wYWRkaW5nLW1vYmlsZSAudHYtdGFic19fdGFiOm50aC1sYXN0LWNoaWxkKDIpe21hcmdpbi1pbmxpbmUtZW5kOjA7cGFkZGluZy1pbmxpbmUtZW5kOjB9fS50di10YWJzLS1uby1tYXJnaW4gLnR2LXRhYnNfX3RhYjpmaXJzdC1jaGlsZHttYXJnaW4taW5saW5lLXN0YXJ0OjB9LnR2LXRhYnMtLW5vLW1hcmdpbiAudHYtdGFic19fdGFiOmxhc3QtY2hpbGR7bWFyZ2luLWlubGluZS1lbmQ6MH0udHYtdGFicy0tc2Vjb25kYXJ5LWFjdGl2ZSAudHYtdGFic19fd3JhcHthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC15VHl5KTtib3JkZXItcmFkaXVzOjI1cHg7ZGlzcGxheTpmbGV4O2hlaWdodDoyM3B4O3BhZGRpbmc6MCAxNHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtdGFicy0tc2Vjb25kYXJ5LWFjdGl2ZSAudHYtdGFic19fd3JhcDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xLXlUeXkpfX0udHYtdGFicy0tc2Vjb25kYXJ5LWFjdGl2ZSAudHYtdGFic19fdGFie2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7Zm9udC1zaXplOjEzcHg7cGFkZGluZzowIDZweH0udHYtdGFicy0tc2Vjb25kYXJ5LWFjdGl2ZSAudHYtdGFic19fdGFiLmktYWN0aXZlIC50di10YWJzX193cmFwe2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzIteVR5eSk7Y29sb3I6dmFyKC0tXzQteVR5eSl9LnR2LXRhYnMtLW5vLWJvcmRlcjpiZWZvcmV7ZGlzcGxheTpub25lfS50di10YWJzLS1uby1wYWRkaW5nLC50di10YWJzLS1uby1wYWRkaW5nLmktbG9hZGVkIC50di10YWJzX19zY3JvbGwtYm94e3BhZGRpbmc6MH0udHYtdGFicy0tbm8tcGFkZGluZyAudHYtdGFic19fdGFie3BhZGRpbmc6MCAxNnB4fS50di10YWJzLS1uby1wYWRkaW5nIC50di10YWJzX190YWIudHYtdGFic19fdGFiLS1uby1wYWRkaW5ne3BhZGRpbmc6MH0udHYtdGFicy5pLWxvYWRlZCAudHYtdGFic19fdGFiLmktYWN0aXZlOmFmdGVye2NvbnRlbnQ6bm9uZTtkaXNwbGF5Om5vbmV9LnR2LXRhYnNfX2xlZnQtYXJyb3csLnR2LXRhYnNfX3JpZ2h0LWFycm93e2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym90dG9tOjA7Ym94LXNpemluZzppbml0aWFsO2N1cnNvcjpwb2ludGVyO2RpcmVjdGlvbjpsdHI7ZGlzcGxheTpmbGV4O3BhZGRpbmc6MCA1cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7d2lkdGg6MzZweH0udHYtdGFic19fbGVmdC1hcnJvdzphZnRlciwudHYtdGFic19fcmlnaHQtYXJyb3c6YWZ0ZXJ7Y29udGVudDoiIjtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTAwJTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnR2LXRhYnNfX2xlZnQtYXJyb3cgc3ZnLC50di10YWJzX19yaWdodC1hcnJvdyBzdmd7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjEycHg7dHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zaXRpb246ZmlsbCAuMzVzIGVhc2U7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjEycHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di10YWJzX19sZWZ0LWFycm93OmhvdmVyIHN2ZywudHYtdGFic19fcmlnaHQtYXJyb3c6aG92ZXIgc3Zne2ZpbGw6dmFyKC0tXzUteVR5eSk7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfX0udHYtdGFic19fbGVmdC1hcnJvdzphY3RpdmUgc3ZnLC50di10YWJzX19yaWdodC1hcnJvdzphY3RpdmUgc3Zne2ZpbGw6dmFyKC0tXzYteVR5eSk7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfS50di10YWJzX19yaWdodC1hcnJvd3tqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9LnR2LXRhYnMtLWNhdGVnb3J5LWhlYWRlciAudHYtdGFic19fbGVmdC1hcnJvdywudHYtdGFicy0tY2F0ZWdvcnktaGVhZGVyIC50di10YWJzX19yaWdodC1hcnJvd3tib3R0b206M3B4O21hcmdpbi10b3A6LTFweH0udHYtdGFicy0tY2F0ZWdvcnktaGVhZGVyIC50di10YWJzX19sZWZ0LWFycm93IHN2ZywudHYtdGFicy0tY2F0ZWdvcnktaGVhZGVyIC50di10YWJzX19yaWdodC1hcnJvdyBzdmd7dmVydGljYWwtYWxpZ246dG9wfS50di10YWJzX19sZWZ0LWFycm93e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LHZhcigtLWNvbG9yLWJvZHktYmcpLHZhcigtLV8xMS15VHl5KSx2YXIoLS1fMTIteVR5eSkpO2xlZnQ6MDt0ZXh0LWFsaWduOmxlZnQ7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfS50di10YWJzX19sZWZ0LWFycm93Lmktc2xpZGVke3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKX0udHYtdGFic19fcmlnaHQtYXJyb3d7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gbGVmdCx2YXIoLS1jb2xvci1ib2R5LWJnKSx2YXIoLS1fMTEteVR5eSksdmFyKC0tXzEyLXlUeXkpKTtyaWdodDowO3RleHQtYWxpZ246cmlnaHQ7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfS50di10YWJzX19yaWdodC1hcnJvdy5pLXNsaWRlZHt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKX0udHYtdGFicy0tY29tcGFjdCAudHYtdGFic19fbGVmdC1hcnJvdywudHYtdGFicy0tY29tcGFjdCAudHYtdGFic19fcmlnaHQtYXJyb3d7d2lkdGg6MjNweH0udHYtdGFicy0tY2F0ZWdvcnktaGVhZGVyIC50di10YWJzX19sZWZ0LWFycm93LC50di10YWJzLS1jYXRlZ29yeS1oZWFkZXIgLnR2LXRhYnNfX3JpZ2h0LWFycm93e3dpZHRoOjQ1cHh9LnR2LXRhYnMtLXNlYXJjaGJhcjpiZWZvcmV7ZGlzcGxheTpub25lfS50di10YWJzLS1zZWFyY2hiYXIsLnR2LXRhYnMtLXNlYXJjaGJhciAudHYtdGFic19fc2Nyb2xsLWJveHtoZWlnaHQ6ODBweH1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di10YWJzLS1zZWFyY2hiYXIsLnR2LXRhYnMtLXNlYXJjaGJhciAudHYtdGFic19fc2Nyb2xsLWJveHtoZWlnaHQ6NTRweH19LnR2LXRhYnMtLXNlYXJjaGJhciAudHYtdGFic19fc2xpZGVyLC50di10YWJzLS1zZWFyY2hiYXIgLnR2LXRhYnNfX3RhYi5pLWFjdGl2ZTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV83LXlUeXkpO2JvdHRvbTowfS50di10YWJzLS1zZWFyY2hiYXItcHJvZmlsZSAudHYtdGFic19fc2xpZGVyLC50di10YWJzLS1zZWFyY2hiYXItcHJvZmlsZSAudHYtdGFic19fdGFiLmktYWN0aXZlOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7Ym90dG9tOjB9LnR2LXRhYnMtLXNlYXJjaGJhciAudHYtdGFic19fbGVmdC1hcnJvdyBzdmcsLnR2LXRhYnMtLXNlYXJjaGJhciAudHYtdGFic19fcmlnaHQtYXJyb3cgc3Zne2ZpbGw6dmFyKC0tY29sb3Itd2hpdGUpO29wYWNpdHk6LjY1fS50di10YWJzLS1zZWFyY2hiYXIgLnR2LXRhYnNfX2xlZnQtYXJyb3c6YWN0aXZlIHN2ZywudHYtdGFicy0tc2VhcmNoYmFyIC50di10YWJzX19yaWdodC1hcnJvdzphY3RpdmUgc3Zne2ZpbGw6dmFyKC0tY29sb3Itd2hpdGUpO29wYWNpdHk6MX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXRhYnMtLXNlYXJjaGJhciAudHYtdGFic19fbGVmdC1hcnJvdzpob3ZlciBzdmcsLnR2LXRhYnMtLXNlYXJjaGJhciAudHYtdGFic19fcmlnaHQtYXJyb3c6aG92ZXIgc3Zne2ZpbGw6dmFyKC0tY29sb3Itd2hpdGUpO29wYWNpdHk6MX19LnR2LXRhYnMtLXNlYXJjaGJhciAudHYtdGFic19fbGVmdC1hcnJvdywudHYtdGFicy0tc2VhcmNoYmFyIC50di10YWJzX19yaWdodC1hcnJvd3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCx2YXIoLS1fOC15VHl5KSx2YXIoLS1fOS15VHl5KSx2YXIoLS1fMTAteVR5eSkpfS50di10YWJzLS1zZWFyY2hiYXJfc3ViLC50di10YWJzLS1zZWFyY2hiYXJfc3ViIC50di10YWJzX19zY3JvbGwtYm94e2hlaWdodDo0MHB4O2xpbmUtaGVpZ2h0OjQwcHh9LnR2LXRhYnMtLXNlYXJjaGJhcl9zdWIgLnR2LXRhYnNfX2xlZnQtYXJyb3d7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsIzI2NWFlYiAwLCMyNjVhZWIgMTUlLCMyNjVhZWIwMCl9LnR2LXRhYnMtLXNlYXJjaGJhcl9zdWIgLnR2LXRhYnNfX3JpZ2h0LWFycm93e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCMyNjVhZWIwMCAwLCMyNjVhZWIgODUlLCMyNjVhZWIpfS50di10YWJzLS1zZWFyY2hiYXItcHJvZmlsZSAudHYtdGFic19fbGVmdC1hcnJvd3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCx2YXIoLS1jb2xvci1oZWFkZXItYmcpIDAsdmFyKC0tY29sb3ItaGVhZGVyLWJnKSA0NSUsdmFyKC0tXzEzLXlUeXkpIDEwMCUpfS50di10YWJzLS1zZWFyY2hiYXItcHJvZmlsZSAudHYtdGFic19fcmlnaHQtYXJyb3d7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsdmFyKC0tXzEzLXlUeXkpIDAsdmFyKC0tY29sb3ItaGVhZGVyLWJnKSA1NSUsdmFyKC0tY29sb3ItaGVhZGVyLWJnKSAxMDAlKX0udHYtdGFicy0tc2VhcmNoYmFyLXByb2ZpbGUgLnR2LXRhYnNfX2xlZnQtYXJyb3csLnR2LXRhYnMtLXNlYXJjaGJhci1wcm9maWxlIC50di10YWJzX19yaWdodC1hcnJvd3tjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXJlZ3VsYXIpfS50di10YWJzLS1zZWFyY2hiYXItcHJvZmlsZS50di10YWJzLS1zZWFyY2hiYXJfc3ViIC50di10YWJzX19sZWZ0LWFycm93e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LHZhcigtLWNvbG9yLWJvZHktc2Vjb25kYXJ5LWJnKSAwLHZhcigtLWNvbG9yLWJvZHktc2Vjb25kYXJ5LWJnKSA0NSUsdmFyKC0tXzE0LXlUeXkpIDEwMCUpfS50di10YWJzLS1zZWFyY2hiYXItcHJvZmlsZS50di10YWJzLS1zZWFyY2hiYXJfc3ViIC50di10YWJzX19yaWdodC1hcnJvd3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCx2YXIoLS1fMTQteVR5eSkgMCx2YXIoLS1jb2xvci1ib2R5LXNlY29uZGFyeS1iZykgNTUlLHZhcigtLWNvbG9yLWJvZHktc2Vjb25kYXJ5LWJnKSAxMDAlKX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/32816.355d75b21ae4b534a849.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.174Z","timestamp":1785120634174,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/32816.355d75b21ae4b534a849.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-102a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d41180db2740e9631b51ccf1bad15819\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4138,"size_decoded":1890,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (4138), with no line terminators","md5":"1769fde9875fdbb634439ca894f9dbe9","sha1":"44ac405e2cfa40ef07cbca4bf97d2226e51258d3","sha256":"8b2250108bfd0dcb2848b28cd1bf2fec55df68d3105b3bf87664cfd86cf2ff10","sha512":"b537406a03c65c8c9859d1e4cb17c37e062cc846b9e763763bbbfa0670ed74ffd1a3f571e5e7654a7b809c6810990a95babd6183fced394492ae1095b4193bcf","ssdeep":"48:D+GIP+GI2LrVLjVQqpz5Cw83JJMeFtQSphXivmRE0r/VC5WNHC5mNVd:DaRLBLpQqpVv0JKOTphXiuREIVweHwmZ","tlshash":"f5814858835c4dafbb2647826762fc582164e3feb2324b6c534924fd46b4d6d39332c5","first_seen":"2026-07-16T11:36:17.974176Z","last_seen":"2026-07-27T05:15:36.996208Z","times_seen":1055,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtODRvdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLTg0b3Q6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LnBhaXIteHdHc1NYUjB7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmV9LnBhaXIteHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwe2hlaWdodDoxNHB4O3dpZHRoOjE0cHh9LnBhaXIteHdHc1NYUjAueHh4eHNtYWxsLXh3R3NTWFIwe2hlaWdodDoyMHB4O3dpZHRoOjIwcHh9LnBhaXIteHdHc1NYUjAueHh4c21hbGwteHdHc1NYUjB7aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0ucGFpci14d0dzU1hSMC54eHNtYWxsLXh3R3NTWFIwe2hlaWdodDoyMHB4O3dpZHRoOjIwcHh9LnBhaXIteHdHc1NYUjAueHNtYWxsLXh3R3NTWFIwe2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9LnBhaXIteHdHc1NYUjAuc21hbGwteHdHc1NYUjB7aGVpZ2h0OjI4cHg7d2lkdGg6MjhweH0ucGFpci14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjB7aGVpZ2h0OjM2cHg7d2lkdGg6MzZweH0ucGFpci14d0dzU1hSMC5sYXJnZS14d0dzU1hSMHtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4fS5wYWlyLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMHtoZWlnaHQ6NTZweDt3aWR0aDo1NnB4fS5wYWlyLXh3R3NTWFIwLnh4bGFyZ2UteHdHc1NYUjB7aGVpZ2h0OjExMnB4O3dpZHRoOjExMnB4fS5wYWlyLXh3R3NTWFIwLnh4eGxhcmdlLXh3R3NTWFIwe2hlaWdodDoxNjhweDt3aWR0aDoxNjhweH0ucGFpci14d0dzU1hSMC54eHh4c21hbGwteHdHc1NYUjB7aGVpZ2h0OjEycHh9LnBhaXIteHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwe2hlaWdodDo4cHh9LmxvZ28teHdHc1NYUjB7Ym9yZGVyLXJhZGl1czo1MCV9LmxvZ28teHdHc1NYUjA6bm90KGltZyl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC04NG90KX0ubG9nby14d0dzU1hSMDpmaXJzdC1jaGlsZCwubG9nby14d0dzU1hSMDpsYXN0LWNoaWxke3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjB9LmxvZ28teHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwe2hlaWdodDo4cHg7d2lkdGg6OHB4fS5sb2dvLXh3R3NTWFIwLnh4Y2VwdGlvbmFsbHlzbWFsbGRvbm90dXNlYnJ2MTAyMy14d0dzU1hSMDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGUoLTZweCl9LmxvZ28teHdHc1NYUjAueHh4eHNtYWxsLXh3R3NTWFIwe2hlaWdodDoxMnB4O3dpZHRoOjEycHh9LmxvZ28teHdHc1NYUjAueHh4eHNtYWxsLXh3R3NTWFIwOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtOHB4KX0ubG9nby14d0dzU1hSMC54eHhzbWFsbC14d0dzU1hSMHtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS5sb2dvLXh3R3NTWFIwLnh4eHNtYWxsLXh3R3NTWFIwOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNnB4LDZweCl9LmxvZ28teHdHc1NYUjAueHhzbWFsbC14d0dzU1hSMHtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS5sb2dvLXh3R3NTWFIwLnh4c21hbGwteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC04cHgsOHB4KX0ubG9nby14d0dzU1hSMC54c21hbGwteHdHc1NYUjB7aGVpZ2h0OjE2cHg7d2lkdGg6MTZweH0ubG9nby14d0dzU1hSMC54c21hbGwteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC04cHgsOHB4KX0ubG9nby14d0dzU1hSMC5zbWFsbC14d0dzU1hSMHtoZWlnaHQ6MThweDt3aWR0aDoxOHB4fS5sb2dvLXh3R3NTWFIwLnNtYWxsLXh3R3NTWFIwOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTBweCwxMHB4KX0ubG9nby14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjB7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ubG9nby14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xMnB4LDEycHgpfS5sb2dvLXh3R3NTWFIwLmxhcmdlLXh3R3NTWFIwe2hlaWdodDozMnB4O3dpZHRoOjMycHh9LmxvZ28teHdHc1NYUjAubGFyZ2UteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xNnB4LDE2cHgpfS5sb2dvLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMHtoZWlnaHQ6MzhweDt3aWR0aDozOHB4fS5sb2dvLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGUoLTE4cHgsMThweCl9LmxvZ28teHdHc1NYUjAueHhsYXJnZS14d0dzU1hSMHtoZWlnaHQ6NzZweDt3aWR0aDo3NnB4fS5sb2dvLXh3R3NTWFIwLnh4bGFyZ2UteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC0zNnB4LDM2cHgpfS5sb2dvLXh3R3NTWFIwLnh4eGxhcmdlLXh3R3NTWFIwe2hlaWdodDoxMTRweDt3aWR0aDoxMTRweH0ubG9nby14d0dzU1hSMC54eHhsYXJnZS14d0dzU1hSMDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGUoLTU0cHgsNTRweCl9LmxvZ28teHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwOmxhc3QtY2hpbGR7b3V0bGluZToxcHggc29saWQgdmFyKC0tdWktbGliLWJhZGdlLWFjdHVhbC1iYWNrZ3JvdW5kKX0ubG9nby14d0dzU1hSMC54eHh4c21hbGwteHdHc1NYUjA6Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0zLjc0ODgyIDExLjU2MzRDNS4xNDIzOSAxMC4xMjM2IDYgOC4xNjE5OCA2IDZDNiAzLjgzODAyIDUuMTQyMzkgMS44NzYzNSAzLjc0ODgyIDAuNDM2NjE3QzQuNDQzOTYgMC4xNTUwNTYgNS4yMDM4NyAtNS45NDEzNmUtMDcgNiAtNS4yNDUzN2UtMDdDOS4zMTM3MSAtMi4zNDg0M2UtMDcgMTIgMi42ODYyOSAxMiA2QzEyIDkuMzEzNzEgOS4zMTM3MSAxMiA2IDEyQzUuMjAzODcgMTIgNC40NDM5NiAxMS44NDQ5IDMuNzQ4ODIgMTEuNTYzNFoiKX0ubG9nby14d0dzU1hSMC54eHhzbWFsbC14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTEyIDBIMHY0YTggOCAwIDAgMSA4IDhoNFYwWiIpfS5sb2dvLXh3R3NTWFIwLnh4c21hbGwteHdHc1NYUjA6Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0xMiAwSDB2Ni4yNTRBOCA4IDAgMCAxIDUuNzQ2IDEySDEyWiIpfS5sb2dvLXh3R3NTWFIwLnhzbWFsbC14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTE2IDhBOCA4IDAgMCAwIC4zIDZhMTAgMTAgMCAwIDEgOS43IDkuN0E4IDggMCAwIDAgMTYgOFoiKX0ubG9nby14d0dzU1hSMC5zbWFsbC14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTE4IDBIMHY4LjA0QTExIDExIDAgMCAxIDkuOTYgMThIMThWMFoiKX0ubG9nby14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjA6Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0yNCAwSDB2MTBjOCAwIDE0IDYgMTQgMTRoMTBWMFoiKX0ubG9nby14d0dzU1hSMC5sYXJnZS14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTMyIDBIMHYxNGExOCAxOCAwIDAgMSAxOCAxOGgxNFYwWiIpfS5sb2dvLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTM4IDBIMHYxNi4wMkwxIDE2YTIxIDIxIDAgMCAxIDIwLjk4IDIySDM4VjBaIil9LmxvZ28teHdHc1NYUjAueHhsYXJnZS14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTc2IDBIMHYzMi4wNUE0MiA0MiAwIDAgMSA0My45NSA3Nkg3NlYwWiIpfS5sb2dvLXh3R3NTWFIwLnh4eGxhcmdlLXh3R3NTWFIwOmZpcnN0LWNoaWxke2NsaXAtcGF0aDpwYXRoKCJNMTEzIDBIMFY0OGMzNS0xIDY2IDI2IDY2IDY2djBoNDhWMFoiKX0uc2tlbGV0b24teHdHc1NYUjB7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3J9LmVtcHR5LXh3R3NTWFIwe2JhY2tncm91bmQtaW1hZ2U6dXJsKGVtcHR5LWNvaW4tbGlnaHQuNmQwYjczMWFjNmY0ODlmMDZlNjUuc3ZnKTtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbn1odG1sLnRoZW1lLWRhcmsgLmVtcHR5LXh3R3NTWFIwe2JhY2tncm91bmQtaW1hZ2U6dXJsKGVtcHR5LWNvaW4tZGFyay5kNmQwN2JmZjkyZDdlNGRmZjVhZC5zdmcpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/99527.15c5c25d27a56a0df772.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.182Z","timestamp":1785120634182,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/99527.15c5c25d27a56a0df772.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58aaad-19360\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:55:57 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:20\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 6498e07ca506d509b793a9f037d9e657\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":103264,"size_decoded":14015,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (65536), with no line terminators","md5":"3ae28448cb02ee3491028f82c9e212b5","sha1":"840f868063e33818424634685f83f5dc9c54fd85","sha256":"6d8af262e85da3952f96074c40841361fe81de28292a6654a4b6a5c8c0d9a1b6","sha512":"615657ad93d0166da77c83a566e60f1d4002b7a4a1c811227c935f2a4ea91b16e01893aba5c708e2a1b40c39c6e773c08d99e62560bcc1c8df301a3b9f1b3821","ssdeep":"768:ywlwokCcAfM0x/2bcVtmUK6ogvY0FGhgiU4vWQs/WQ2das9:oIVtmUK6ouY0FGhgi1vjs/WQ2day","tlshash":"dea335bcf95192bb5e9b587f4398f6697648f943fd066f86bf00c00020c6ee710e5a5a","first_seen":"2026-04-20T12:30:34.890238Z","last_seen":"2026-07-27T05:15:36.987866Z","times_seen":4759,"resource_available":false,"data":"aHRtbHstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJX1ib2R5e2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7Zm9udC1zaXplOjE0cHg7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbn1odG1sW2xhbmc9dmldIGJvZHl7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZn1ib2R5LGh0bWx7Ym94LXNpemluZzpib3JkZXItYm94O2hlaWdodDoxMDAlfWJvZHksZGlyLGgxLGgyLGgzLGg0LGg1LGg2LGh0bWwsbGksbWVudSxvbCxwLHVse21hcmdpbjowO3BhZGRpbmc6MH1he3RleHQtZGVjb3JhdGlvbjpub25lfWE6YWN0aXZle291dGxpbmU6MH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7YTpob3ZlcntvdXRsaW5lOjB9fWgxe2ZvbnQtc2l6ZToyZW19c3ViLHN1cHtmb250LXNpemU6NzUlO2xpbmUtaGVpZ2h0OjA7cG9zaXRpb246cmVsYXRpdmU7dmVydGljYWwtYWxpZ246aW5pdGlhbH1zdXB7dG9wOi0uMjVlbX1zdWJ7Ym90dG9tOi0uMjVlbX1maWd1cmV7bWFyZ2luOjB9cHJle292ZXJmbG93OmF1dG99Y29kZSxrYmQscHJlLHNhbXB7Zm9udC1mYW1pbHk6bW9ub3NwYWNlLG1vbm9zcGFjZTtmb250LXNpemU6MWVtfWJ1dHRvbixpbnB1dCxvcHRncm91cCxzZWxlY3QsdGV4dGFyZWF7Y29sb3I6aW5oZXJpdDtmb250OmluaGVyaXQ7bWFyZ2luOjB9YnV0dG9uLHNlbGVjdHt0ZXh0LXRyYW5zZm9ybTpub25lfWJ1dHRvbixpbnB1dFt0eXBlPWJ1dHRvbl0saW5wdXRbdHlwZT1yZXNldF0saW5wdXRbdHlwZT1zdWJtaXRdey13ZWJraXQtYXBwZWFyYW5jZTpidXR0b247Y3Vyc29yOmRlZmF1bHR9aW5wdXRbZGlzYWJsZWRde2N1cnNvcjpkZWZhdWx0fWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixpbnB1dDo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MDtwYWRkaW5nOjB9aW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLGlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b31pbnB1dFt0eXBlPXNlYXJjaF17LXdlYmtpdC1hcHBlYXJhbmNlOnRleHRmaWVsZDtib3gtc2l6aW5nOmluaXRpYWx9aW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLGlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZX1maWVsZHNldHtib3JkZXI6bm9uZTttYXJnaW46MDtwYWRkaW5nOjB9dGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JvcmRlci1zcGFjaW5nOjB9dGQsdGh7cGFkZGluZzowfTpyb290ey0tY29sb3Itd2hpdGU6I2ZmZjstLWNvbG9yLWJsYWNrOiMwMDA7LS1jb2xvci10cmFuc3BhcmVudDojMDAwMDstLWNvbG9yLWNvbGQtZ3JheS01MDojZjlmOWY5Oy0tY29sb3ItY29sZC1ncmF5LTEwMDojZjJmMmYyOy0tY29sb3ItY29sZC1ncmF5LTE1MDojZWJlYmViOy0tY29sb3ItY29sZC1ncmF5LTIwMDojZGJkYmRiOy0tY29sb3ItY29sZC1ncmF5LTI1MDojYzljOWM5Oy0tY29sb3ItY29sZC1ncmF5LTMwMDojYjhiOGI4Oy0tY29sb3ItY29sZC1ncmF5LTM1MDojYThhOGE4Oy0tY29sb3ItY29sZC1ncmF5LTQwMDojOWM5YzljOy0tY29sb3ItY29sZC1ncmF5LTQ1MDojOGM4YzhjOy0tY29sb3ItY29sZC1ncmF5LTUwMDpncmV5Oy0tY29sb3ItY29sZC1ncmF5LTU1MDojNzA3MDcwOy0tY29sb3ItY29sZC1ncmF5LTYwMDojNjM2MzYzOy0tY29sb3ItY29sZC1ncmF5LTY1MDojNTc1NzU3Oy0tY29sb3ItY29sZC1ncmF5LTcwMDojNGE0YTRhOy0tY29sb3ItY29sZC1ncmF5LTc1MDojM2QzZDNkOy0tY29sb3ItY29sZC1ncmF5LTgwMDojMmUyZTJlOy0tY29sb3ItY29sZC1ncmF5LTg1MDojMWYxZjFmOy0tY29sb3ItY29sZC1ncmF5LTkwMDojMGYwZjBmOy0tY29sb3ItY29sZC1ncmF5LTk1MDojMDAwOy0tY29sb3ItcmlwZS1yZWQtNTA6I2ZmZWJlYzstLWNvbG9yLXJpcGUtcmVkLTEwMDojZmNjYmNkOy0tY29sb3ItcmlwZS1yZWQtMjAwOiNmYWExYTQ7LS1jb2xvci1yaXBlLXJlZC0zMDA6I2Y3N2M4MDstLWNvbG9yLXJpcGUtcmVkLTQwMDojZjc1MjVmOy0tY29sb3ItcmlwZS1yZWQtNTAwOiNmMjM2NDU7LS1jb2xvci1yaXBlLXJlZC02MDA6I2NjMmYzYzstLWNvbG9yLXJpcGUtcmVkLTcwMDojYjIyODMzOy0tY29sb3ItcmlwZS1yZWQtODAwOiM5OTFmMjk7LS1jb2xvci1yaXBlLXJlZC05MDA6IzgwMTkyMjstLWNvbG9yLXJpcGUtcmVkLWExMDA6I2ZmODA4MDstLWNvbG9yLXJpcGUtcmVkLWEyMDA6I2ZmNTI1MjstLWNvbG9yLXJpcGUtcmVkLWE0MDA6I2YzMzstLWNvbG9yLXJpcGUtcmVkLWE2MDA6I2NjMjkyOTstLWNvbG9yLXJpcGUtcmVkLWE3MDA6IzgwMjAyODstLWNvbG9yLXJpcGUtcmVkLWE4MDA6IzRkMTkxZDstLWNvbG9yLXJpcGUtcmVkLWE5MDA6IzMzMWYyMDstLWNvbG9yLXRhbi1vcmFuZ2UtNTA6I2ZmZjNlMDstLWNvbG9yLXRhbi1vcmFuZ2UtMTAwOiNmZmUwYjI7LS1jb2xvci10YW4tb3JhbmdlLTIwMDojZmZjYzgwOy0tY29sb3ItdGFuLW9yYW5nZS0zMDA6I2ZmYjc0ZDstLWNvbG9yLXRhbi1vcmFuZ2UtNDAwOiNmZmE3MjY7LS1jb2xvci10YW4tb3JhbmdlLTUwMDojZmY5ODAwOy0tY29sb3ItdGFuLW9yYW5nZS02MDA6I2ZiOGMwMDstLWNvbG9yLXRhbi1vcmFuZ2UtNzAwOiNmNTdjMDA7LS1jb2xvci10YW4tb3JhbmdlLTgwMDojZWY2YzAwOy0tY29sb3ItdGFuLW9yYW5nZS05MDA6I2U2NTEwMDstLWNvbG9yLXRhbi1vcmFuZ2UtYTEwMDojZmZkMTgwOy0tY29sb3ItdGFuLW9yYW5nZS1hMjAwOiNmZmFiNDA7LS1jb2xvci10YW4tb3JhbmdlLWE0MDA6I2ZmOTEwMDstLWNvbG9yLXRhbi1vcmFuZ2UtYTUwMDojZTU3ZTE3Oy0tY29sb3ItdGFuLW9yYW5nZS1hNjAwOiNjYzcwMTQ7LS1jb2xvci10YW4tb3JhbmdlLWE3MDA6IzhjNTQxYzstLWNvbG9yLXRhbi1vcmFuZ2UtYTgwMDojNTkzYTFiOy0tY29sb3ItdGFuLW9yYW5nZS1hOTAwOiMzMzI2MWE7LS1jb2xvci1pZ3VhbmEtZ3JlZW4tNTA6I2U4ZjVlOTstLWNvbG9yLWlndWFuYS1ncmVlbi0xMDA6I2M4ZTZjOTstLWNvbG9yLWlndWFuYS1ncmVlbi0yMDA6I2E1ZDZhNzstLWNvbG9yLWlndWFuYS1ncmVlbi0zMDA6IzgxYzc4NDstLWNvbG9yLWlndWFuYS1ncmVlbi00MDA6IzY2YmI2YTstLWNvbG9yLWlndWFuYS1ncmVlbi01MDA6IzRjYWY1MDstLWNvbG9yLWlndWFuYS1ncmVlbi02MDA6IzQzYTA0NzstLWNvbG9yLWlndWFuYS1ncmVlbi03MDA6IzM4OGUzYzstLWNvbG9yLWlndWFuYS1ncmVlbi04MDA6IzJlN2QzMjstLWNvbG9yLWlndWFuYS1ncmVlbi05MDA6IzFiNWUyMDstLWNvbG9yLWlndWFuYS1ncmVlbi1hMTAwOiNiOWY2Y2E7LS1jb2xvci1pZ3VhbmEtZ3JlZW4tYTIwMDojNjlmMGFlOy0tY29sb3ItaWd1YW5hLWdyZWVuLWE0MDA6IzAwZTY3NjstLWNvbG9yLWlndWFuYS1ncmVlbi1hNzAwOiMwMGM4NTM7LS1jb2xvci1iYW5hbmEteWVsbG93LTUwOiNmZmZkZTc7LS1jb2xvci1iYW5hbmEteWVsbG93LTEwMDojZmZmOWM0Oy0tY29sb3ItYmFuYW5hLXllbGxvdy0yMDA6I2ZmZjU5ZDstLWNvbG9yLWJhbmFuYS15ZWxsb3ctMzAwOiNmZmYxNzY7LS1jb2xvci1iYW5hbmEteWVsbG93LTQwMDojZmZlZTU4Oy0tY29sb3ItYmFuYW5hLXllbGxvdy01MDA6I2ZmZWIzYjstLWNvbG9yLWJhbmFuYS15ZWxsb3ctNjAwOiNmZGQ4MzU7LS1jb2xvci1iYW5hbmEteWVsbG93LTcwMDojZmJjMDJkOy0tY29sb3ItYmFuYW5hLXllbGxvdy04MDA6I2Y5YTgyNTstLWNvbG9yLWJhbmFuYS15ZWxsb3ctOTAwOiNmNTdmMTc7LS1jb2xvci1iYW5hbmEteWVsbG93LWExMDA6I2ZmZmY4ZDstLWNvbG9yLWJhbmFuYS15ZWxsb3ctYTIwMDojZmYwOy0tY29sb3ItYmFuYW5hLXllbGxvdy1hNDAwOiNmZmVhMDA7LS1jb2xvci1iYW5hbmEteWVsbG93LWE3MDA6I2VlZGEwMTstLWNvbG9yLXR2LWJsdWUtNTA6I2UzZWZmZDstLWNvbG9yLXR2LWJsdWUtMTAwOiNiYmQ5ZmI7LS1jb2xvci10di1ibHVlLTIwMDojOTBiZmY5Oy0tY29sb3ItdHYtYmx1ZS0zMDA6IzViOWNmNjstLWNvbG9yLXR2LWJsdWUtNDAwOiMzMTc5ZjU7LS1jb2xvci10di1ibHVlLTUwMDojMjk2MmZmOy0tY29sb3ItdHYtYmx1ZS02MDA6IzFlNTNlNTstLWNvbG9yLXR2LWJsdWUtNzAwOiMxODQ4Y2M7LS1jb2xvci10di1ibHVlLTgwMDojMTQzZWIyOy0tY29sb3ItdHYtYmx1ZS05MDA6IzBjMzI5OTstLWNvbG9yLXR2LWJsdWUtYTEwMDojODJiMWZmOy0tY29sb3ItdHYtYmx1ZS1hMjAwOiM0NDhhZmY7LS1jb2xvci10di1ibHVlLWE0MDA6IzI5NzlmZjstLWNvbG9yLXR2LWJsdWUtYTYwMDojMjk2MmZmOy0tY29sb3ItdHYtYmx1ZS1hNzAwOiMxNDNhODc7LS1jb2xvci10di1ibHVlLWE4MDA6IzE0MmU2MTstLWNvbG9yLXR2LWJsdWUtYTkwMDojMTMyMDQyOy0tY29sb3ItZGVlcC1ibHVlLTUwOiNlZGU3ZjY7LS1jb2xvci1kZWVwLWJsdWUtMTAwOiNkMWM0ZTk7LS1jb2xvci1kZWVwLWJsdWUtMjAwOiNiMzlkZGI7LS1jb2xvci1kZWVwLWJsdWUtMzAwOiM5NTc1Y2Q7LS1jb2xvci1kZWVwLWJsdWUtNDAwOiM3ZTU3YzI7LS1jb2xvci1kZWVwLWJsdWUtNTAwOiM2NzNhYjc7LS1jb2xvci1kZWVwLWJsdWUtNjAwOiM1ZTM1YjE7LS1jb2xvci1kZWVwLWJsdWUtNzAwOiM1MTJkYTg7LS1jb2xvci1kZWVwLWJsdWUtODAwOiM0NTI3YTA7LS1jb2xvci1kZWVwLWJsdWUtOTAwOiMzMTFiOTI7LS1jb2xvci1kZWVwLWJsdWUtYTEwMDojYjM4OGZmOy0tY29sb3ItZGVlcC1ibHVlLWEyMDA6IzdjNGRmZjstLWNvbG9yLWRlZXAtYmx1ZS1hNDAwOiM2NTFmZmY7LS1jb2xvci1kZWVwLWJsdWUtYTcwMDojNjIwMGVhOy0tY29sb3ItbWludHktZ3JlZW4tNTA6I2RhZjJlZTstLWNvbG9yLW1pbnR5LWdyZWVuLTEwMDojYWNlNWRjOy0tY29sb3ItbWludHktZ3JlZW4tMjAwOiM3MGNjYmQ7LS1jb2xvci1taW50eS1ncmVlbi0zMDA6IzQyYmRhODstLWNvbG9yLW1pbnR5LWdyZWVuLTQwMDojMjJhYjk0Oy0tY29sb3ItbWludHktZ3JlZW4tNTAwOiMwODk5ODE7LS1jb2xvci1taW50eS1ncmVlbi02MDA6IzA2ODA2YjstLWNvbG9yLW1pbnR5LWdyZWVuLTcwMDojMDU2NjU2Oy0tY29sb3ItbWludHktZ3JlZW4tODAwOiMwMDRkNDA7LS1jb2xvci1taW50eS1ncmVlbi05MDA6IzAwMzMyYTstLWNvbG9yLW1pbnR5LWdyZWVuLWExMDA6I2E3ZmZmMDstLWNvbG9yLW1pbnR5LWdyZWVuLWEyMDA6IzQ1ZTVjYjstLWNvbG9yLW1pbnR5LWdyZWVuLWE0MDA6IzJiZDliYzstLWNvbG9yLW1pbnR5LWdyZWVuLWE2MDA6IzI0YjI5YjstLWNvbG9yLW1pbnR5LWdyZWVuLWE3MDA6IzFiNzY2NzstLWNvbG9yLW1pbnR5LWdyZWVuLWE4MDA6IzEwNDQzYjstLWNvbG9yLW1pbnR5LWdyZWVuLWE5MDA6IzA4MjYyMTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtNTA6I2YzZTVmNTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtMTAwOiNlMWJlZTc7LS1jb2xvci1ncmFwZXMtcHVycGxlLTIwMDojY2U5M2Q4Oy0tY29sb3ItZ3JhcGVzLXB1cnBsZS0zMDA6I2JhNjhjODstLWNvbG9yLWdyYXBlcy1wdXJwbGUtNDAwOiNhYjQ3YmM7LS1jb2xvci1ncmFwZXMtcHVycGxlLTUwMDojOWMyN2IwOy0tY29sb3ItZ3JhcGVzLXB1cnBsZS02MDA6IzhlMjRhYTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwOiM3YjFmYTI7LS1jb2xvci1ncmFwZXMtcHVycGxlLTgwMDojNmExYjlhOy0tY29sb3ItZ3JhcGVzLXB1cnBsZS05MDA6IzRhMTQ4YzstLWNvbG9yLWdyYXBlcy1wdXJwbGUtYTEwMDojZWE4MGZjOy0tY29sb3ItZ3JhcGVzLXB1cnBsZS1hMjAwOiNlMDQwZmI7LS1jb2xvci1ncmFwZXMtcHVycGxlLWE0MDA6I2Q1MDBmOTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtYTcwMDojYTBmOy0tY29sb3ItYmVycnktcGluay01MDojZmNlNGVjOy0tY29sb3ItYmVycnktcGluay0xMDA6I2Y4YmJkMDstLWNvbG9yLWJlcnJ5LXBpbmstMjAwOiNmNDhmYjE7LS1jb2xvci1iZXJyeS1waW5rLTMwMDojZjA2MjkyOy0tY29sb3ItYmVycnktcGluay00MDA6I2VjNDA3YTstLWNvbG9yLWJlcnJ5LXBpbmstNTAwOiNlOTFlNjM7LS1jb2xvci1iZXJyeS1waW5rLTYwMDojZDgxYjYwOy0tY29sb3ItYmVycnktcGluay03MDA6I2MyMTg1YjstLWNvbG9yLWJlcnJ5LXBpbmstODAwOiNhZDE0NTc7LS1jb2xvci1iZXJyeS1waW5rLTkwMDojODgwZTRmOy0tY29sb3ItYmVycnktcGluay1hMTAwOiNmZjgwYWI7LS1jb2xvci1iZXJyeS1waW5rLWEyMDA6I2ZmNDA4MTstLWNvbG9yLWJlcnJ5LXBpbmstYTQwMDojZjUwMDU3Oy0tY29sb3ItYmVycnktcGluay1hNzAwOiNjNTExNjI7LS1jb2xvci1za3ktYmx1ZS01MDojZTBmN2ZhOy0tY29sb3Itc2t5LWJsdWUtMTAwOiNiMmViZjI7LS1jb2xvci1za3ktYmx1ZS0yMDA6IzgwZGVlYTstLWNvbG9yLXNreS1ibHVlLTMwMDojNGRkMGUxOy0tY29sb3Itc2t5LWJsdWUtNDAwOiMyNmM2ZGE7LS1jb2xvci1za3ktYmx1ZS01MDA6IzAwYmNkNDstLWNvbG9yLXNreS1ibHVlLTYwMDojMDBhY2MxOy0tY29sb3Itc2t5LWJsdWUtNzAwOiMwMDk3YTc7LS1jb2xvci1za3ktYmx1ZS04MDA6IzAwODM4ZjstLWNvbG9yLXNreS1ibHVlLTkwMDojMDA2MDY0Oy0tY29sb3Itc2t5LWJsdWUtYTEwMDojODRmZmZmOy0tY29sb3Itc2t5LWJsdWUtYTIwMDojMThmZmZmOy0tY29sb3Itc2t5LWJsdWUtYTQwMDojMDBlNWZmOy0tY29sb3Itc2t5LWJsdWUtYTcwMDojMDBiOGQ0Oy0tY29sb3ItZm9yZXN0LWdyZWVuLTUwOiNkYWYyZTY7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tMTAwOiNhY2U1Yzk7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tMjAwOiM3MGNjOWU7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tMzAwOiM0MmJkN2Y7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNDAwOiMyMmFiNjc7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwOiMwODk5NTA7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNjAwOiMwNjgwNDM7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNzAwOiMwNTY2MzY7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tODAwOiMwMDRkMjc7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tOTAwOiMxYTMzMjY7LS1jb2xvci1mYWNlYm9vazojMTg3N2YyOy0tY29sb3ItZGVlcC1mYWNlYm9vazojMTU2NGNhOy0tY29sb3ItdHdpdHRlcjojMWRhMWYyOy0tY29sb3ItZGVlcC10d2l0dGVyOiMxODhjZDM7LS1jb2xvci15b3V0dWJlOnJlZDstLWNvbG9yLWxpbmtlZGluOiMwMDdiYjU7LS1jb2xvci1zZWVraW5nLWFscGhhLWJyYW5kOiNmZjcyMDB9W2RhdGEtdGhlbWU9bGlnaHRdey0tY29sb3ItaGVhZGVyLWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJvZHktYmc6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYm9keS1zZWNvbmRhcnktYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1iZy1wcmltYXJ5OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJnLXByaW1hcnktaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1iZy1zZWNvbmRhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmctaGlnaGxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWxlZ2FjeS1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWxlZ2FjeS1iZy13aWRnZXQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItdGV4dC1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItdGV4dC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci10ZXh0LXRlcnRpYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00MDApOy0tY29sb3ItdGV4dC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWFjY2VudC1jb250ZW50OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYm94LXNoYWRvdzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWRpdmlkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1kaXZpZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItZGl2aWRlci1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1hY3RpdmUtaG92ZXItdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWFsZXJ0LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1ib3JkZXItdGFibGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1icmFuZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1icmFuZC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItYnJhbmQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItY2hhcnQtcGFnZS1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWNvbW1vbi10b29sdGlwLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCk7LS1jb2xvci1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWRlcHRocmVuZGVyZXItc3Ryb2tlLXN0eWxlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGlnaGxpZ2h0LW5ldzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwKTstLWNvbG9yLWlucHV0LWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWlucHV0LXB1Ymxpc2gtYmc6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItbGluazp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1saW5rLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWxpbmstYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWxpc3QtbnRoLWNoaWxkLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1wYW5lLWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLXBhbmUtc2Vjb25kYXJ5LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItcG9wdXAtbWVudS1pdGVtLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItcG9wdXAtbWVudS1zZXBhcmF0b3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1wcmltYXJ5LXN5bWJvbDp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3Itc2NyZWVuZXItZGVzY3JpcHRpb246dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1zZWNvbmRhcnktaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWljb246dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10b29sYmFyLWludGVyYWN0aXZlLWVsZW1lbnQtdGV4dC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci10b29sYmFyLW9wZW5lZC1lbGVtZW50LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItdG9vbGJhci1kaXZpZGVyLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtc2Vjb25kYXJ5LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LWhpbnQtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLXRvb2x0aXAtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10di1kaWFsb2ctY2FwdGlvbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXR2LWRyb3Bkb3duLWl0ZW0taG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci11bmRlcmxpbmVkLXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci13aWRnZXQtcGFnZXMtYmc6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3Itd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1ncm93aW5nOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1mYWxsaW5nOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1mb3JleC1pY29uOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItbGlzdC1pdGVtLWFjdGl2ZS1iZzp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1saXN0LWl0ZW0taG92ZXItYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1saXN0LWl0ZW0tdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXByaWNlLWF4aXMtbGFiZWwtYmFjazp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXByaWNlLWF4aXMtbGFiZWwtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXByaWNlLWF4aXMtZ2Vhcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXByaWNlLWF4aXMtZ2Vhci1ob3Zlcjp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1wcmljZS1heGlzLWhpZ2hsaWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJpZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1ib3JkZXItY2hhdC1maWVsZHM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1idXR0b24taG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1kZXB0aHJlbmRlcmVyLWZpbGwtc3R5bGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1kaXNhYmxlZC1ib3JkZXItYW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZGlzYWJsZWQtaW5wdXQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1lbXB0eS1jb250YWluZXItbWVzc2FnZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWljb25zOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItaW5wdXQtdGV4dGFyZWEtcmVhZG9ubHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1pbnB1dC1wbGFjZWhvbGRlci10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItaXRlbS1hY3RpdmUtYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWl0ZW0taG92ZXItYWN0aXZlLWJnOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWl0ZW0taG92ZXItYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItaXRlbS1ob3Zlci1ibHVlOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWl0ZW0tc2VsZWN0ZWQtYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWl0ZW0tYWN0aXZlLXRleHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItaXRlbS1hY3RpdmUtYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItbGlzdC1pdGVtOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItbmV3cy1oaWdobGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItcGxhY2Vob2xkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCk7LS1jb2xvci1yb3ctaG92ZXItYWN0aXZlLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3Itc2Itc2Nyb2xsYmFyLWJvZHktYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1zZWN0aW9uLXNlcGFyYXRvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1jb2xvci1zZXBhcmF0b3ItdGFibGUtY2hhdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXRhZy1hY3RpdmUtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10YWctaG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci10ZXh0LXJlZ3VsYXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci10di1idXR0b24tY2hlY2tlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXNjcm9sbC1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLXNjcm9sbC1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci13aWRnZXQtYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3Itc2Nyb2xsLWJ1dHRvbnMtYXJyb3c6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LXByaW1hcnk6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY29udHJvbC1pbnRlbnQtd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1jb250cm9sLWludGVudC1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWdvdG8tbGFiZWwtYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXByZS1tYXJrZXQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApOy0tY29sb3ItcG9zdC1tYXJrZXQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3Itbm90YWNjdXJhdGUtbW9kZTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTYwMCk7LS1jb2xvci1kZWxheS1tb2RlOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWRlbGF5LW1vZGUtYmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS00MDApOy0tY29sb3ItbGlzdC1pdGVtLWJnLWhpZ2hsaWdodGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3ItbGlzdC1pdGVtLWJnLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWxpc3QtaXRlbS1iZy1oaWdobGlnaHRlZC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1saXN0LWl0ZW0tYmctc2VsZWN0ZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3Itc2NyZWVuZXItaGVhZGVyLWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZy1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLW1hcmtlci1mbGFnZ2VkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCk7LS1jb2xvci1tYXJrZXItZmxhZ2dlZC1ob3ZlcmVkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1jb2xvci1hc2s6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLXNlbGw6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWJ1eTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItcHJvOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1wcm8taG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLXByby1wbHVzOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXByby1wbHVzLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLXByby1wcmVtaXVtOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLXByby1wcmVtaXVtLWhvdmVyOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLXRyaWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItdHJpYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1tb2Q6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLW1vZC1ob3Zlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItYWQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItYnJva2VyLWZlYXR1cmVkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1icm9rZXItZmVhdHVyZWQtaG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWFsZXJ0LXN0YXR1cy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWFsZXJ0LXN0YXR1cy1zdG9wcGVkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1hbGVydC1zdGF0dXMtdHJpZ2dlcmVkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLW92ZXJsYXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCk7LS1jb2xvci1zZWFyY2gtYnV0dG9uLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWNvbnRlbnQtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWNvbnRlbnQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1ib29zdC1idXR0b24tYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1ib29zdC1idXR0b24tYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWJvcmRlci1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29tbW9uLXRvb2x0aXAtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXJlcGxheS1kYXRhLW1vZGU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWxlZ2FjeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCk7LS1jb2xvci1jb2xsYXBzZS10YWJzLWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXNpdGUtd2lkZ2V0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1hdHRlbnRpb246dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tY29sb3IteC10d2l0dGVyLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jYXJkLWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWNhcmQtYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItYmFja2dyb3VuZC1zcGVjaWFsLXByaW1hcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3Itc3Ryb2tlLXNwZWNpYWwtcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXNlbGVjdGlvbi1iZzp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1kZWZhdWx0LWdyYXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtdGV4dDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwKTstLWNvbG9yLWJhY2tncm91bmQtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRhcmstcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJhY2tncm91bmQtZGFyay1zZWNvbmRhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJhY2tncm91bmQtc3BlY2lhbC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1iYWNrZ3JvdW5kLXNwZWNpYWwtdGVydGlhcnk6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYmFja2dyb3VuZC1wYWdlLXBsYXRmb3JtOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJhY2tncm91bmQtcGFnZS1wcm9tbzp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXBhZ2Utc29jaWFsOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJhY2tncm91bmQtZGlhbG9nLXNpbXBsZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1jb21wbGljYXRlZDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1wcm9tbzp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1mdWxsc2NyZWVuOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtaWNvbnMtcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRlbnQtaWNvbnMtc2Vjb25kYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGVudC1pY29ucy10ZXJ0aWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWNvbnRlbnQtdGV4dC1wcm9tby1wcmltYXJ5OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtdGV4dC1wcm9tby1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250ZW50LXRleHQtcHJvbW8tdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXRleHQtc29jaWFsLXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb250ZW50LXRleHQtc29jaWFsLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWNvbnRlbnQtdGV4dC1zb2NpYWwtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1jb2xvci1kaXZpZGVyLWxpbmUtcHJpbWFyeS1zcGVjaWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItZGl2aWRlci1saW5lLXNlY29uZGFyeS1zcGVjaWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWRpdmlkZXItbGluZS1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZGl2aWRlci1saW5lLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0zMDApOy0tY29sb3ItbGluay1zZWNvbmRhcnktaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApOy0tY29sb3ItbGluay1zZWNvbmRhcnktYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudDp2YXIoLS1jb2xvci10cmFuc3BhcmVudCk7LS1jb2xvci1zdGF0aWMtd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1zdGF0aWMtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1zdGF0aWMtaGlnaGxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3Itc3RhdGljLW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1zdGF0aWMtc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWJvbGQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LWFjY2VudC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktZGFuZ2VyLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWRlZmF1bHQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1saWdodC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWJvbGQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktZGFuZ2VyLWRlZmF1bHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktZGFuZ2VyLWFjdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LXN1Y2Nlc3MtaG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LXN1Y2Nlc3MtaG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktZGFuZ2VyLWFjdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZXJyb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLWZvY3VzLW5vdC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZm9jdXMtcmVhZC1vbmx5OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLXJlYWQtb25seTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItd2l0aC12YWx1ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtZGVzY3JpcHRpb24tZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXRleHQtZmllbGQtZGVzY3JpcHRpb24tZXJyb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtZGVzY3JpcHRpb24tc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtZmlsbC1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtZm9jdXMtcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLWVycm9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLWxpbms6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sZWZ0LXNsb3QtaWNvbi1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItdGV4dC1maWVsZC1sZWZ0LXNsb3QtaWNvbi1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzUwKTstLWNvbG9yLXRleHQtZmllbGQtcGxhY2Vob2xkZXItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXRleHQtZmllbGQtcGxhY2Vob2xkZXItZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtYXJyb3dzLWJnLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1hcnJvd3MtYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtYXJyb3dzLWJnLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWljb25zLWFuZC10ZXh0LWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWljb25zLWFuZC10ZXh0LWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWljb25zLWFuZC10ZXh0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItdGV4dC1maWVsZC12YWx1ZS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItdGV4dC1maWVsZC12YWx1ZS1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWNvdW50ZXItZmlsbC1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWNvdW50ZXItY29udGVudC1kYW5nZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY291bnRlci1maWxsLWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtYWNjZW50OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvdW50ZXItZmlsbC1hY2NlbnQtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvdW50ZXItZmlsbC1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItY291bnRlci1jb250ZW50LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb3VudGVyLWZpbGwtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWNvdW50ZXItY29udGVudC1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItY291bnRlci1ib3JkZXItcHJpbWFyeTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb3VudGVyLWJvcmRlci1zZWNvbmRhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY291bnRlci1ib3JkZXItdGVydGlhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1jaGVja2VkLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLWNoZWNrZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1jaGVja2VkLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLWNoZWNrZWQtaXNPcGVuZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtY29udGVudC1jaGVja2VkLWFjY2VudC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtY29udGVudC1jaGVja2VkLW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtZmlsbF9ib3JkZXItbm90LWNoZWNrZWQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1pc09wZW5lZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtY29udGVudC1ub3QtY2hlY2tlZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LW5vdC1jaGVja2VkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LW5vdC1jaGVja2VkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXN5bWJvbC1jaGFuZ2UtcG9zaXRpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLXN5bWJvbC1jaGFuZ2UtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXN5bWJvbC1jaGFuZ2UtbmVnYXRpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLXN5bWJvbC1yYXRpbmctcG9zaXRpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLXN5bWJvbC1yYXRpbmctbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXN5bWJvbC1yYXRpbmctbmVnYXRpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLW90aGVyLXRyYW5zcGFyZW50OiNmZmYwOy0tY29sb3Itb3RoZXItdHJhbnNwYXJlbnQtNjA6I2ZmZjk7LS1jb2xvci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OiMwMDAzOy0tY29sb3Itc2hhZG93LXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXNoYWRvdy1zZWNvbmRhcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLW90aGVyLW1vZGFsLWJhY2tncm91bmQ6I2QxZDFkMTRkOy0tY29sb3Itb3RoZXItc2hhZG93LXByaW1hcnktbmV1dHJhbC1leHRyYS1oZWF2eTojMDAwMzstLWNvbG9yLW90aGVyLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1vdGhlci1zaGFkb3ctc2Vjb25kYXJ5LW5ldXRyYWwtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1vdGhlci1ibGFjay1mcmlkYXktcHJpbWFyeTp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3Itb3RoZXItYmxhY2stZnJpZGF5LXNlY29uZGFyeTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itb3RoZXItYmxhY2stZnJpZGF5LXRlcnRpYXJ5OnZhcigtLWNvbG9yLXJpcGUtcmVkLTMwMCk7LS1jb2xvci1vdGhlci1jeWJlci1tb25kYXktcHJpbWFyeTp2YXIoLS1jb2xvci1za3ktYmx1ZS1hNDAwKTstLWNvbG9yLW90aGVyLWN5YmVyLW1vbmRheS1zZWNvbmRhcnk6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTIwMCk7LS1jb2xvci1vdGhlci1jeWJlci1tb25kYXktdGVydGlhcnk6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTEwMCk7LS1jb2xvci1zZWFyY2gtaGlnaGxpZ2h0LXByaW1hcnktbm9ybWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLXNlYXJjaC1oaWdobGlnaHQtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsYWNrOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3Itd2hpdGU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1hY2NlbnQtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LWludmVyc2U6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJhY2tncm91bmQtc2Vjb25kYXJ5LWludmVyc2U6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC10ZXJ0aWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1ub3JtYWw6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtc2VtaS1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWFsdDEtbm9ybWFsOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS1hNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWFsdDItYm9sZDp2YXIoLS1jb2xvci1za3ktYmx1ZS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWJvbGQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1ub3JtYWw6dmFyKC0tY29sb3ItcmlwZS1yZWQtMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWhlYXZ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC10aGluOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbWVkaXVtOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1saWdodDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0xMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLW5vcm1hbDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0yMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1leHRyYS1saWdodDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1saWdodDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXdhcm5pbmctbm9ybWFsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcXVhdGVybmFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQtbm9ybWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQtc2VtaS1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLXRoaW46dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC1oZWF2eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtbm9ybWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtc2VtaS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktZGFuZ2VyLWJvbGQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LXdhcm5pbmctc2VtaS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLWE2MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktbmV1dHJhbC1oZWF2eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXF1aW5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZW5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1oZWF2eTp2YXIoLS1jb2xvci1za3ktYmx1ZS05MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW5vcm1hbDp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLW5vcm1hbDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtYTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLWJvbGQ6dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hdHRlbnRpb246dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1ib2xkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1leHRyYS1ib2xkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTgwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmVnYXRpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1wb3NpdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmctYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTcwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZy1leHRyYS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTYwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTYwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTgwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1tZWRpdW06dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXdhcm5pbmctc2VtaS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXdhcm5pbmctYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE3MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItYmVycnktcGluay04MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktc3VjY2Vzcy1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tODAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tODAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2U6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udGVudC1xdWF0ZXJuYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLWE0MDApOy0tY29sb3ItY29udGVudC1xdWF0ZXJuYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItY29udGVudC1xdWluYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb250ZW50LXF1aW5hcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXF1aW5hcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1leHRyYS1oZWF2eTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItYm9yZGVyLXNlY29uZGFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1ib3JkZXItdGVydGlhcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMS1saWdodDojMjk2MmZmMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0xLW5vcm1hbDojMjk2MmZmNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWJvbGQ6IzI5NjJmZjY2Oy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMi1saWdodDojMDBhY2MxMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0yLW5vcm1hbDojMDBhY2MxNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC0yLWJvbGQ6IzAwYWNjMTY2Oy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMy1saWdodDojOWMyN2IwMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0zLW5vcm1hbDojOWMyN2IwNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWJvbGQ6IzljMjdiMDY2Oy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtNC1saWdodDojNWUzNWIxMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC00LW5vcm1hbDojNWUzNWIxNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC00LWJvbGQ6IzVlMzViMTY2Oy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWxpZ2h0OiNjYzJmM2MyNjstLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMS1ub3JtYWw6I2NjMmYzYzRkOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWJvbGQ6I2NjMmYzYzY2Oy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0yLWxpZ2h0OiNlOTFlNjMyNjstLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMi1ub3JtYWw6I2U5MWU2MzRkOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0yLWJvbGQ6I2U5MWU2MzY2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbGlnaHQ6IzYzNjM2MzI2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbm9ybWFsOiM2MzYzNjM0ZDstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWJvbGQ6IzYzNjM2MzY2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTItbGlnaHQ6IzAwMDAwMDI2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTItbm9ybWFsOiMwMDAwMDA0ZDstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0yLWJvbGQ6IzAwMDY7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtbGlnaHQ6IzA4OTk4MTI2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLW5vcm1hbDojMDg5OTgxNGQ7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtYm9sZDojMDg5OTgxNjY7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTItbGlnaHQ6IzA4OTk1MDI2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0yLW5vcm1hbDojMDg5OTUwNGQ7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTItYm9sZDojMDg5OTUwNjY7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTMtbGlnaHQ6IzQzYTA0NzI2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLW5vcm1hbDojNDNhMDQ3NGQ7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTMtYm9sZDojNDNhMDQ3NjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMS1saWdodDojZmY5ODAwMjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMS1ub3JtYWw6I2ZmOTgwMDRkOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtYm9sZDojZmY5ODAwNjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMi1saWdodDojZmRkODM1MjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMi1ub3JtYWw6I2ZkZDgzNTRkOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTItYm9sZDojZmRkODM1NjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMy1saWdodDojZmY5ODAwMjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMy1ub3JtYWw6I2ZmOTgwMDRkOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTMtYm9sZDojZmY5ODAwNjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMy1saWdodDojNjM2MzYzMjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMy1ub3JtYWw6IzYzNjM2MzRkOy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTMtYm9sZDojNjM2MzYzNjY7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtODAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1taW51czItZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLW1pbnVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTMwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtemVyby1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yNTApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLXBsdXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTMwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtcGx1czItZGVmYXVsdDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1wbHVzMy1kZWZhdWx0OnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi03MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LW5lZ2F0aXZlLXhsOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmVnYXRpdmUtbDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LW5lZ2F0aXZlLW06dmFyKC0tY29sb3ItcmlwZS1yZWQtMzAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1uZWdhdGl2ZS1zOnZhcigtLWNvbG9yLXJpcGUtcmVkLTEwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmV1dHJhbDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtcG9zaXRpdmUteGw6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1wb3NpdGl2ZS1tOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi0zMDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LXBvc2l0aXZlLXM6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTEwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtY29sb3JibGluZC1taW51czItZGVmYXVsdDojZGU4MTJmOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLW1pbnVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNDAwKTstLWNvbG9yLWhlYXRtYXAtY29sb3JibGluZC16ZXJvLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czEtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czItZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czMtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtbWludXMyLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtbWludXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtemVyby1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLXBsdXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtcGx1czItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWhlYXRtYXAtbW9ub2Nocm9tZS1wbHVzMy1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItaGVhdG1hcC1wb3NpdGl2ZS1vbmx5LXYxLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjItZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjMtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjUtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjYtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItaGVhdG1hcC1wb3NpdGl2ZS1vbmx5LXY3LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtbmVnYXRpdmUteGw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1uZWdhdGl2ZS1sOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNDAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtbmVnYXRpdmUtbTp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5lZ2F0aXZlLXM6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0xMDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1uZXV0cmFsOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtcG9zaXRpdmUteGw6dmFyKC0tY29sb3Itc2t5LWJsdWUtNjAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1za3ktYmx1ZS00MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1wb3NpdGl2ZS1tOnZhcigtLWNvbG9yLXNreS1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LXBvc2l0aXZlLXM6dmFyKC0tY29sb3Itc2t5LWJsdWUtMTAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXhzOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXM6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0xMDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLW06dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0zMDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLWw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXhsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS14eGw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS05MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLWJvcmRlcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTkwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLXhzOnZhcigtLWNvbG9yLXNreS1ibHVlLTUwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUtczp2YXIoLS1jb2xvci1za3ktYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS1tOnZhcigtLWNvbG9yLXNreS1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLWw6dmFyKC0tY29sb3Itc2t5LWJsdWUtNTAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUteGw6dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUteHhsOnZhcigtLWNvbG9yLXNreS1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS1ib3JkZXI6dmFyKC0tY29sb3Itc2t5LWJsdWUtOTAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLXhzOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS01MCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS1zOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtbTp2YXIoLS1jb2xvci1kZWVwLWJsdWUtMzAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWw6dmFyKC0tY29sb3ItZGVlcC1ibHVlLTQwMCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS14bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtNjAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLXh4bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtOTAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtYm9yZGVyOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS05MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXhzOnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXM6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLW06dmFyKC0tY29sb3ItdHYtYmx1ZS0zMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLWw6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXhsOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS14eGw6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLWJvcmRlcjp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmsteHM6dmFyKC0tY29sb3ItYmVycnktcGluay01MCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstczp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTEwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstbTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTMwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstbDp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTUwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmsteGw6dmFyKC0tY29sb3ItYmVycnktcGluay03MDApOy0tY29sb3ItaGVhdG1hcC1iZXJyeS1waW5rLXh4bDp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTkwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstYm9yZGVyOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstOTAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLXhzOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi01MCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi1zOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi0xMDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tbTp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tMzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWw6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi14bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLXh4bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tOTAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tYm9yZGVyOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi05MDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14czp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLXM6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMTAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tbTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi1sOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLXhsOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTcwMCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLXh4bDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi05MDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tYm9yZGVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTkwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUteHM6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS01MCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtczp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTEwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtbTp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtbDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTUwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUteGw6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS03MDApOy0tY29sb3ItaGVhdG1hcC1ncmFwZXMtcHVycGxlLXh4bDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTkwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtYm9yZGVyOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtOTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLWNvbG9yLWhlYWRlci1iZzp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1ib2R5LWJnOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJvZHktc2Vjb25kYXJ5LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYmctcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJnLXByaW1hcnktaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1iZy1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iZy1oaWdobGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWxlZ2FjeS1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWxlZ2FjeS1iZy13aWRnZXQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci10ZXh0LXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10ZXh0LXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXRleHQtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCk7LS1jb2xvci10ZXh0LWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItYWNjZW50LWNvbnRlbnQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZGl2aWRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWRpdmlkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1kaXZpZGVyLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJveC1zaGFkb3c6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1hY3RpdmUtaG92ZXItdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWFsZXJ0LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1ib3JkZXItY2hhdC1maWVsZHM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1ib3JkZXItdGFibGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1icmFuZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1icmFuZC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1icmFuZC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItYnV0dG9uLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItY2hhcnQtcGFnZS1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvbW1vbi10b29sdGlwLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1jb2xvci1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWRlcHRocmVuZGVyZXItZmlsbC1zdHlsZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWRlcHRocmVuZGVyZXItc3Ryb2tlLXN0eWxlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItZGlzYWJsZWQtYm9yZGVyLWFuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWRpc2FibGVkLWlucHV0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItZW1wdHktY29udGFpbmVyLW1lc3NhZ2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1oaWdobGlnaHQtbmV3OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1pY29uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWlucHV0LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaW5wdXQtdGV4dGFyZWEtcmVhZG9ubHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1pbnB1dC1wbGFjZWhvbGRlci10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItaW5wdXQtcHVibGlzaC1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWl0ZW0tYWN0aXZlLWJsdWU6dmFyKC0tY29sb3ItdHYtYmx1ZS1hOTAwKTstLWNvbG9yLWl0ZW0taG92ZXItYWN0aXZlLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaXRlbS1ob3Zlci1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWl0ZW0taG92ZXItYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItaXRlbS1zZWxlY3RlZC1ibHVlOnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1pdGVtLWFjdGl2ZS10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItaXRlbS1hY3RpdmUtYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItbGluazp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1saW5rLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWxpbmstYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWxpc3QtaXRlbTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWxpc3QtbnRoLWNoaWxkLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItbmV3cy1oaWdobGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1wYW5lLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItcGFuZS1zZWNvbmRhcnktYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1wbGFjZWhvbGRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXBvcHVwLW1lbnUtaXRlbS1ob3Zlci1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXBvcHVwLW1lbnUtc2VwYXJhdG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItcHJpbWFyeS1zeW1ib2w6dmFyKC0tY29sb3Itc2t5LWJsdWUtNTAwKTstLWNvbG9yLXJvdy1ob3Zlci1hY3RpdmUtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1zYi1zY3JvbGxiYXItYm9keS1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXNjcmVlbmVyLWRlc2NyaXB0aW9uOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3Itc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3Itc2VhcmNoLWJ1dHRvbi1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLXNlcGFyYXRvci10YWJsZS1jaGF0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3Itc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3Itc3VjY2Vzcy1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3Itc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLXRhZy1hY3RpdmUtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci10YWctaG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10ZXh0LXJlZ3VsYXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLXNlY29uZGFyeS1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24taWNvbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXRvb2xiYXItaW50ZXJhY3RpdmUtZWxlbWVudC10ZXh0LW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10b29sYmFyLWRpdmlkZXItYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLXBvcHVwLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXNlY29uZGFyeS10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC1oaW50LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLXRvb2x0aXAtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci10di1idXR0b24tY2hlY2tlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXR2LWRpYWxvZy1jYXB0aW9uOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci10di1kcm9wZG93bi1pdGVtLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItdW5kZXJsaW5lZC10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3Itd2lkZ2V0LXBhZ2VzLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3Itd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTcwMCk7LS1jb2xvci1mb3JleC1pY29uOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWxpc3QtaXRlbS1hY3RpdmUtYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItbGlzdC1pdGVtLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItbGlzdC1pdGVtLXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1wcmljZS1heGlzLWxhYmVsLWJhY2s6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1wcmljZS1heGlzLWxhYmVsLXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7LS1jb2xvci1wcmljZS1heGlzLWdlYXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1wcmljZS1heGlzLWdlYXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCk7LS1jb2xvci1wcmljZS1heGlzLWhpZ2hsaWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJpZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1zY3JvbGwtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1zY3JvbGwtYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3Itd2lkZ2V0LWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXNjcm9sbC1idXR0b25zLWFycm93OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1jb250cm9sLWludGVudC1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1jb250cm9sLWludGVudC1wcmltYXJ5OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItY29udHJvbC1pbnRlbnQtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1ncm93aW5nOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1mYWxsaW5nOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1nb3RvLWxhYmVsLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1wcmUtbWFya2V0OnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLXBvc3QtbWFya2V0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLW5vdGFjY3VyYXRlLW1vZGU6dmFyKC0tY29sb3ItYmVycnktcGluay1hMjAwKTstLWNvbG9yLWRlbGF5LW1vZGU6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS03MDApOy0tY29sb3ItZGVsYXktbW9kZS1iZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTQwMCk7LS1jb2xvci1saXN0LWl0ZW0tYmctaGlnaGxpZ2h0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hOTAwKTstLWNvbG9yLWxpc3QtaXRlbS1iZy1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItbGlzdC1pdGVtLWJnLWhpZ2hsaWdodGVkLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1saXN0LWl0ZW0tYmctc2VsZWN0ZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZy1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLW92ZXJsYXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTk1MCk7LS1jb2xvci1ib29zdC1idXR0b24tY29udGVudC1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1ib29zdC1idXR0b24tY29udGVudC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1ib29zdC1idXR0b24tYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1ib29zdC1idXR0b24tYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWJvcmRlci1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3IteC10d2l0dGVyLWNvbnRlbnQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY2FyZC1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1jYXJkLWJvcmRlci1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLWNvbG9yLWJhY2tncm91bmQtc3BlY2lhbC1wcmltYXJ5OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLXN0cm9rZS1zcGVjaWFsLXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1zZWxlY3Rpb24tYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWRlZmF1bHQtZ3JheTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWZlYXR1cmVkLWJyb2tlci1iYWRnZS1iZzp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJhY2tncm91bmQtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRhcmstcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJhY2tncm91bmQtZGFyay1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItYmFja2dyb3VuZC1zcGVjaWFsLXNlY29uZGFyeTp2YXIoLS1jb2xvci10di1ibHVlLWE5MDApOy0tY29sb3ItYmFja2dyb3VuZC1zcGVjaWFsLXRlcnRpYXJ5OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXBhZ2UtcGxhdGZvcm06dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXBhZ2UtcHJvbW86dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYmFja2dyb3VuZC1wYWdlLXNvY2lhbDp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1zaW1wbGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1jb21wbGljYXRlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJhY2tncm91bmQtZGlhbG9nLXByb21vOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItYmFja2dyb3VuZC1kaWFsb2ctZnVsbHNjcmVlbjp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1jb250ZW50LWljb25zLXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250ZW50LWljb25zLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWNvbnRlbnQtaWNvbnMtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1jb250ZW50LXRleHQtcHJvbW8tcHJpbWFyeTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250ZW50LXRleHQtcHJvbW8tc2Vjb25kYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGVudC10ZXh0LXByb21vLXRlcnRpYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItY29udGVudC10ZXh0LXNvY2lhbC1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGVudC10ZXh0LXNvY2lhbC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXRleHQtc29jaWFsLXRlcnRpYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItZGl2aWRlci1saW5lLXByaW1hcnktc3BlY2lhbDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1kaXZpZGVyLWxpbmUtc2Vjb25kYXJ5LXNwZWNpYWw6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWRpdmlkZXItbGluZS1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItZGl2aWRlci1saW5lLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtMzAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hMjAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1zdGF0aWMtd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1zdGF0aWMtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1zdGF0aWMtaGlnaGxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1zdGF0aWMtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXN0YXRpYy1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1ib2xkLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWFjY2VudC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtZGVmYXVsdDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1kYW5nZXItYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudDp2YXIoLS1jb2xvci10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtOTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWRhbmdlci1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1zdWNjZXNzLWRlZmF1bHQ6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktc3VjY2Vzcy1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1kZWZhdWx0OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LXN1Y2Nlc3MtZGVmYXVsdDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtOTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWRhbmdlci1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1kYW5nZXItYWN0aXZlOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZm9jdXMtbm90LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1mb2N1cy1yZWFkLW9ubHk6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci13aXRoLXZhbHVlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWRlc2NyaXB0aW9uLXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1maWxsLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLXRleHQtZmllbGQtZmlsbC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXRleHQtZmllbGQtZmlsbC1mb2N1cy1yZWFkLW9ubHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1saW5rOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtbGFiZWwtc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtbGVmdC1zbG90LWljb24tZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXRleHQtZmllbGQtbGVmdC1zbG90LWljb24tZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXBsYWNlaG9sZGVyLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXBsYWNlaG9sZGVyLWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWFycm93cy1iZy1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtYXJyb3dzLWJnLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWFycm93cy1iZy1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtaWNvbnMtYW5kLXRleHQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtaWNvbnMtYW5kLXRleHQtZXJyb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtdmFsdWUtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtdmFsdWUtZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb3VudGVyLWZpbGwtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtZGFuZ2VyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvdW50ZXItZmlsbC1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY291bnRlci1jb250ZW50LWFjY2VudDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb3VudGVyLWZpbGwtYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWNvdW50ZXItZmlsbC1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY291bnRlci1jb250ZW50LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1jb3VudGVyLWZpbGwtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvdW50ZXItY29udGVudC1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY291bnRlci1ib3JkZXItcHJpbWFyeTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1jb3VudGVyLWJvcmRlci1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb3VudGVyLWJvcmRlci10ZXJ0aWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtZmlsbF9ib3JkZXItY2hlY2tlZC1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLWNoZWNrZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtZmlsbF9ib3JkZXItY2hlY2tlZC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1jaGVja2VkLWlzT3BlbmVkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLW5vdC1jaGVja2VkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLW5vdC1jaGVja2VkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLW5vdC1jaGVja2VkLWlzT3BlbmVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LW5vdC1jaGVja2VkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtbm90LWNoZWNrZWQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtbm90LWNoZWNrZWQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3Itc3ltYm9sLWNoYW5nZS1wb3NpdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi00MDApOy0tY29sb3Itc3ltYm9sLWNoYW5nZS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3Itc3ltYm9sLWNoYW5nZS1uZWdhdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itc3ltYm9sLXJhdGluZy1wb3NpdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi00MDApOy0tY29sb3Itc3ltYm9sLXJhdGluZy1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3Itc3ltYm9sLXJhdGluZy1uZWdhdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itb3RoZXItdHJhbnNwYXJlbnQ6IzAwMDA7LS1jb2xvci1vdGhlci10cmFuc3BhcmVudC02MDojMDAwOTstLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6IzAwMDY7LS1jb2xvci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3Itc2hhZG93LXNlY29uZGFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3Itb3RoZXItbW9kYWwtYmFja2dyb3VuZDojMDAwMDAwNGQ7LS1jb2xvci1vdGhlci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OiMwMDA2Oy0tY29sb3Itb3RoZXItc2hhZG93LXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLW90aGVyLXNoYWRvdy1zZWNvbmRhcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLW90aGVyLWJsYWNrLWZyaWRheS1wcmltYXJ5OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1vdGhlci1ibGFjay1mcmlkYXktc2Vjb25kYXJ5OnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCk7LS1jb2xvci1vdGhlci1ibGFjay1mcmlkYXktdGVydGlhcnk6dmFyKC0tY29sb3ItcmlwZS1yZWQtMzAwKTstLWNvbG9yLW90aGVyLWN5YmVyLW1vbmRheS1wcmltYXJ5OnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tY29sb3Itb3RoZXItY3liZXItbW9uZGF5LXNlY29uZGFyeTp2YXIoLS1jb2xvci1za3ktYmx1ZS1hMjAwKTstLWNvbG9yLW90aGVyLWN5YmVyLW1vbmRheS10ZXJ0aWFyeTp2YXIoLS1jb2xvci1za3ktYmx1ZS1hMTAwKTstLWNvbG9yLXNlYXJjaC1oaWdobGlnaHQtcHJpbWFyeS1ub3JtYWw6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3Itc2VhcmNoLWhpZ2hsaWdodC1wcmltYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmxhY2s6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci13aGl0ZTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWJhY2tncm91bmQtc2Vjb25kYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXRlcnRpYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtbm9ybWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtYWx0MS1ub3JtYWw6dmFyKC0tY29sb3ItZGVlcC1ibHVlLWExMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtYWx0Mi1ib2xkOnZhcigtLWNvbG9yLXNreS1ibHVlLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1saWdodDp2YXIoLS1jb2xvci1yaXBlLXJlZC1hODAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLW5vcm1hbDp2YXIoLS1jb2xvci1yaXBlLXJlZC1hNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWhlYXZ5OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtdGhpbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1tZWRpdW06dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1ib2xkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtbGlnaHQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tYTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3Mtbm9ybWFsOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLWE3MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1leHRyYS1saWdodDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE5MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS13YXJuaW5nLWxpZ2h0OnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXdhcm5pbmctbm9ybWFsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXdhcm5pbmctc2VtaS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXF1YXRlcm5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LW5vcm1hbDp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtYTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLXRoaW46dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtaGVhdnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC1leHRyYS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LWRhbmdlci1ib2xkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktc3VjY2Vzcy1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hMTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1hY2NlbnQtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktbmV1dHJhbC1oZWF2eTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1xdWluYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZW5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLWExMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1oZWF2eTp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW5vcm1hbDp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLW5vcm1hbDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtYTEwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLWJvbGQ6dmFyKC0tY29sb3Itc2t5LWJsdWUtMzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtYTEwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYXR0ZW50aW9uOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC1hNDAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZWdhdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtc2VtaS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXBvc2l0aXZlOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3Mtc2VtaS1ib2xkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZy1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtMzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS13YXJuaW5nLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNDAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTQwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLWEyMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLWExMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtbWVkaXVtOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTMwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS13YXJuaW5nLWJvbGQ6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItYmVycnktcGluay1hMjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3Mtc2VtaS1ib2xkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1zdWNjZXNzLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtcXVhdGVybmFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hMTAwKTstLWNvbG9yLWNvbnRlbnQtcXVhdGVybmFyeS1hY2NlbnQtc2VtaS1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtMzAwKTstLWNvbG9yLWNvbnRlbnQtcXVpbmFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0zMDApOy0tY29sb3ItY29udGVudC1xdWluYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApOy0tY29sb3ItY29udGVudC1xdWluYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1ib3JkZXItdGVydGlhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWxpZ2h0OiM0NDhhZmYzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbm9ybWFsOiM0NDhhZmY0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtYm9sZDojNDQ4YWZmNjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0yLWxpZ2h0OiMwMGJjZDQzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTItbm9ybWFsOiMwMGJjZDQ0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTItYm9sZDojMDBiY2Q0NjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWxpZ2h0OiNlYTgwZmMzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtbm9ybWFsOiNlYTgwZmM0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtYm9sZDojZWE4MGZjNjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC00LWxpZ2h0OiNiMzg4ZmYzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTQtbm9ybWFsOiNiMzg4ZmY0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTQtYm9sZDojYjM4OGZmNjY7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtbGlnaHQ6I2YyMzY0NTMzOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLW5vcm1hbDojZjIzNjQ1NGQ7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtYm9sZDojZjIzNjQ1NjY7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTItbGlnaHQ6I2ZmNDA4MTMzOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0yLW5vcm1hbDojZmY0MDgxNGQ7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTItYm9sZDojZmY0MDgxNjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1saWdodDojYjhiOGI4MzM7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1ub3JtYWw6I2I4YjhiODRkOy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtYm9sZDojYjhiOGI4NjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMi1saWdodDojZmZmMzstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0yLW5vcm1hbDojZmZmZmZmNGQ7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMi1ib2xkOiNmZmY2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLWxpZ2h0OiMyMmFiOTQzMzstLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMS1ub3JtYWw6IzIyYWI5NDRkOy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLWJvbGQ6IzIyYWI5NDY2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0yLWxpZ2h0OiMyMmFiNjczMzstLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMi1ub3JtYWw6IzIyYWI2NzRkOy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0yLWJvbGQ6IzIyYWI2NzY2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLWxpZ2h0OiM0Y2FmNTAzMzstLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMy1ub3JtYWw6IzRjYWY1MDRkOy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLWJvbGQ6IzRjYWY1MDY2Oy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtbGlnaHQ6I2ZmOTgwMDMzOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtbm9ybWFsOiNmZjk4MDA0ZDstLWNvbG9yLW92ZXJsYXktd2FybmluZy0xLWJvbGQ6I2ZmOTgwMDY2Oy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTItbGlnaHQ6I2ZkZDgzNTMzOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTItbm9ybWFsOiNmZGQ4MzU0ZDstLWNvbG9yLW92ZXJsYXktd2FybmluZy0yLWJvbGQ6I2ZkZDgzNTY2Oy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTMtbGlnaHQ6I2ZmOTgwMDFhOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTMtbm9ybWFsOiNmZjk4MDAzMzstLWNvbG9yLW92ZXJsYXktd2FybmluZy0zLWJvbGQ6I2ZmOTgwMDRkOy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTMtbGlnaHQ6IzJlMmUyZTY2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTMtbm9ybWFsOiMyZTJlMmVjYzstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0zLWJvbGQ6IzJlMmUyZTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1taW51czMtZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLW1pbnVzMi1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbWludXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtOTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy16ZXJvLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtcGx1czEtZGVmYXVsdDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tOTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1wbHVzMi1kZWZhdWx0OnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi03MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLXBsdXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmVnYXRpdmUteGw6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1uZWdhdGl2ZS1sOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmVnYXRpdmUtbTp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LW5lZ2F0aXZlLXM6dmFyKC0tY29sb3ItcmlwZS1yZWQtOTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1uZXV0cmFsOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1wb3NpdGl2ZS1zOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi05MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LXBvc2l0aXZlLW06dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1wb3NpdGl2ZS14bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNDAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS03MDApOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLW1pbnVzMi1kZWZhdWx0OiNhYTYzMjQ7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtbWludXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hODAwKTstLWNvbG9yLWhlYXRtYXAtY29sb3JibGluZC16ZXJvLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czEtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLXBsdXMyLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLXBsdXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLW1pbnVzMy1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLW1pbnVzMi1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yNTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLW1pbnVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLXplcm8tZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWhlYXRtYXAtbW9ub2Nocm9tZS1wbHVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLXBsdXMyLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtcGx1czMtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtcG9zaXRpdmUtb25seS12MS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItaGVhdG1hcC1wb3NpdGl2ZS1vbmx5LXYyLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWhlYXRtYXAtcG9zaXRpdmUtb25seS12My1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjUtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjYtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjctZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5lZ2F0aXZlLXhsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTYwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5lZ2F0aXZlLWw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtbmVnYXRpdmUtbTp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE4MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1uZWdhdGl2ZS1zOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTkwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5ldXRyYWw6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1wb3NpdGl2ZS1zOnZhcigtLWNvbG9yLXNreS1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LXBvc2l0aXZlLW06dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1za3ktYmx1ZS02MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1wb3NpdGl2ZS14bDp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXhzOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTkwMCk7LS1jb2xvci1oZWF0bWFwLXRhbi1vcmFuZ2Utczp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE4MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLW06dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS1sOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS14bDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXRhbi1vcmFuZ2UteHhsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtMjAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS1ib3JkZXI6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0xMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS14czp2YXIoLS1jb2xvci1za3ktYmx1ZS05MDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS1zOnZhcigtLWNvbG9yLXNreS1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLW06dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUtbDp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS14bDp2YXIoLS1jb2xvci1za3ktYmx1ZS0zMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS14eGw6dmFyKC0tY29sb3Itc2t5LWJsdWUtMjAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLWJvcmRlcjp2YXIoLS1jb2xvci1za3ktYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUteHM6dmFyKC0tY29sb3ItZGVlcC1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS1zOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS03MDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtbTp2YXIoLS1jb2xvci1kZWVwLWJsdWUtNTAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWw6dmFyKC0tY29sb3ItZGVlcC1ibHVlLTQwMCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS14bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtMzAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLXh4bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtMjAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtYm9yZGVyOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXhzOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1oZWF0bWFwLXR2LWJsdWUtczp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLW06dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS1sOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS14bDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXR2LWJsdWUteHhsOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS1ib3JkZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1iZXJyeS1waW5rLXhzOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstOTAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1zOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstODAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1tOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstNzAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1sOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstNTAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay14bDp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTMwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmsteHhsOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstMjAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1ib3JkZXI6dmFyKC0tY29sb3ItYmVycnktcGluay0xMDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4teHM6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTkwMCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi1zOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi04MDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tbTp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWw6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi14bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tMzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLXh4bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tMjAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tYm9yZGVyOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi0xMDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14czp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hOTAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hODAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tbTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hNzAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tbDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14bDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14eGw6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMjAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLWJvcmRlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0xMDApOy0tY29sb3ItaGVhdG1hcC1ncmFwZXMtcHVycGxlLXhzOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtOTAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1zOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtODAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1tOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1sOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNTAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS14bDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUteHhsOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMjAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1ib3JkZXI6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS0xMDApOy0tY29sb3ItbWFya2VyLWZsYWdnZWQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLW1hcmtlci1mbGFnZ2VkLWhvdmVyZWQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWFzazp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itc2VsbDp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3ItYnV5OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1wcm86dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNDAwKTstLWNvbG9yLXByby1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItcHJvLXBsdXM6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItcHJvLXBsdXMtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItcHJvLXByZW1pdW06dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItcHJvLXByZW1pdW0taG92ZXI6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS03MDApOy0tY29sb3ItdHJpYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci10cmlhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLW1vZDp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3ItbW9kLWhvdmVyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1jb2xvci1hZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1icm9rZXItZmVhdHVyZWQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNDAwKTstLWNvbG9yLWJyb2tlci1mZWF0dXJlZC1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItYWxlcnQtc3RhdHVzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYWxlcnQtc3RhdHVzLXN0b3BwZWQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWFsZXJ0LXN0YXR1cy10cmlnZ2VyZWQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItY29tbW9uLXRvb2x0aXAtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXJlcGxheS1kYXRhLW1vZGU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWxlZ2FjeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCk7LS1jb2xvci1jb2xsYXBzZS10YWJzLWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXNpdGUtd2lkZ2V0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1hdHRlbnRpb246dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/80706.a5913aa6ad62d9dbf031.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.251Z","timestamp":1785120634251,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/80706.a5913aa6ad62d9dbf031.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-1be6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 47596b497bdb22311aa05e209641ec43\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":7142,"size_decoded":4236,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3068)","md5":"7d7a3ddeb844a1fdfe8b024f9df9f0b6","sha1":"b3afece36b14fafc7889e9b954f9736c892a2849","sha256":"0752584a0f2ad3bba4f44bbd6a44bf08a76726c524b79367996ab9b20e03bfba","sha512":"c0b04bf9ca52fee536a54ae9fcb3fcac9ee210f95be1205e4fe48f0cbb1f25a4db788a4ae10cd4b5ee13e1dc5159c2a4d48516d50bf1ee07d2da1a00fa95ac38","ssdeep":"96:VI23hKdh7P1lIbeWL9aqfMbFNriK6Vizc/MuomCA9P0LX4BYyCnsI6T:n3wT9lIbeWJaqfvXQcEA0LHxnf6T","tlshash":"c4e1c6c832b1f0eaa3e325e480ab5806e13a6d5a558e60b6e34557d37874fc540ffec5","first_seen":"2026-07-23T13:38:20.481503Z","last_seen":"2026-07-27T05:16:58.386461Z","times_seen":759,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s4MDcwNl0sezcxMjc0NShyLGUsdCl7dmFyIG47IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBpLG89MWU2LHM9MWU2LGM9IltiaWcuanNdICIsZj1jKyJJbnZhbGlkICIsdT1mKyJkZWNpbWFsIHBsYWNlcyIsaD1mKyJyb3VuZGluZyBtb2RlIixsPWMrIkRpdmlzaW9uIGJ5IHplcm8iLGE9e30sZz12b2lkIDAsdj0vXi0/KFxkKyhcLlxkKik/fFwuXGQrKShlWystXT9cZCspPyQvaTtmdW5jdGlvbiB3KHIsZSx0LG4pe3ZhciBpPXIuYztpZih0PT09ZyYmKHQ9ci5jb25zdHJ1Y3Rvci5STSksMCE9PXQmJjEhPT10JiYyIT09dCYmMyE9PXQpdGhyb3cgRXJyb3IoaCk7aWYoZTwxKW49Mz09PXQmJihufHwhIWlbMF0pfHwwPT09ZSYmKDE9PT10JiZpWzBdPj01fHwyPT09dCYmKGlbMF0+NXx8NT09PWlbMF0mJihufHxpWzFdIT09ZykpKSxpLmxlbmd0aD0xLG4/KHIuZT1yLmUtZSsxLGlbMF09MSk6aVswXT1yLmU9MDtlbHNlIGlmKGU8aS5sZW5ndGgpe2lmKG49MT09PXQmJmlbZV0+PTV8fDI9PT10JiYoaVtlXT41fHw1PT09aVtlXSYmKG58fGlbZSsxXSE9PWd8fDEmaVtlLTFdKSl8fDM9PT10JiYobnx8ISFpWzBdKSxpLmxlbmd0aD1lLS0sbilmb3IoOysraVtlXT45OylpW2VdPTAsZS0tfHwoKytyLmUsaS51bnNoaWZ0KDEpKTtmb3IoZT1pLmxlbmd0aDshaVstLWVdOylpLnBvcCgpfXJldHVybiByfWZ1bmN0aW9uIHAocixlLHQpe3ZhciBuPXIuZSxpPXIuYy5qb2luKCIiKSxvPWkubGVuZ3RoO2lmKGUpaT1pLmNoYXJBdCgwKSsobz4xPyIuIitpLnNsaWNlKDEpOiIiKSsobjwwPyJlIjoiZSsiKStuO2Vsc2UgaWYobjwwKXtmb3IoOysrbjspaT0iMCIraTtpPSIwLiIraX1lbHNlIGlmKG4+MClpZigrK24+bylmb3Iobi09bztuLS07KWkrPSIwIjtlbHNlIG48byYmKGk9aS5zbGljZSgwLG4pKyIuIitpLnNsaWNlKG4pKTtlbHNlIG8+MSYmKGk9aS5jaGFyQXQoMCkrIi4iK2kuc2xpY2UoMSkpO3JldHVybiByLnM8MCYmdD8iLSIraTppfWEuYWJzPWZ1bmN0aW9uKCl7dmFyIHI9bmV3IHRoaXMuY29uc3RydWN0b3IodGhpcyk7cmV0dXJuIHIucz0xLHJ9LGEuY21wPWZ1bmN0aW9uKHIpe3ZhciBlLHQ9dGhpcyxuPXQuYyxpPShyPW5ldyB0LmNvbnN0cnVjdG9yKHIpKS5jLG89dC5zLHM9ci5zLGM9dC5lLGY9ci5lO2lmKCFuWzBdfHwhaVswXSlyZXR1cm4gblswXT9vOmlbMF0/LXM6MDtpZihvIT1zKXJldHVybiBvO2lmKGU9bzwwLGMhPWYpcmV0dXJuIGM+Zl5lPzE6LTE7Zm9yKHM9KGM9bi5sZW5ndGgpPChmPWkubGVuZ3RoKT9jOmYsbz0tMTsrK288czspaWYobltvXSE9aVtvXSlyZXR1cm4gbltvXT5pW29dXmU/MTotMTtyZXR1cm4gYz09Zj8wOmM+Zl5lPzE6LTF9LGEuZGl2PWZ1bmN0aW9uKHIpe3ZhciBlPXRoaXMsdD1lLmNvbnN0cnVjdG9yLG49ZS5jLGk9KHI9bmV3IHQocikpLmMscz1lLnM9PXIucz8xOi0xLGM9dC5EUDtpZihjIT09fn5jfHxjPDB8fGM+byl0aHJvdyBFcnJvcih1KTtpZighaVswXSl0aHJvdyBFcnJvcihsKTtpZighblswXSlyZXR1cm4gci5zPXMsci5jPVtyLmU9MF0scjt2YXIgZixoLGEsdixwLGQ9aS5zbGljZSgpLEU9Zj1pLmxlbmd0aCxtPW4ubGVuZ3RoLGI9bi5zbGljZSgwLGYpLFA9Yi5sZW5ndGgsXz1yLEQ9Xy5jPVtdLGs9MCxNPWMrKF8uZT1lLmUtci5lKSsxO2ZvcihfLnM9cyxzPU08MD8wOk0sZC51bnNoaWZ0KDApO1ArKzxmOyliLnB1c2goMCk7ZG97Zm9yKGE9MDthPDEwO2ErKyl7aWYoZiE9KFA9Yi5sZW5ndGgpKXY9Zj5QPzE6LTE7ZWxzZSBmb3IocD0tMSx2PTA7KytwPGY7KWlmKGlbcF0hPWJbcF0pe3Y9aVtwXT5iW3BdPzE6LTE7YnJlYWt9aWYoISh2PDApKWJyZWFrO2ZvcihoPVA9PWY/aTpkO1A7KXtpZihiWy0tUF08aFtQXSl7Zm9yKHA9UDtwJiYhYlstLXBdOyliW3BdPTk7LS1iW3BdLGJbUF0rPTEwfWJbUF0tPWhbUF19Zm9yKDshYlswXTspYi5zaGlmdCgpfURbaysrXT12P2E6KythLGJbMF0mJnY/YltQXT1uW0VdfHwwOmI9W25bRV1dfXdoaWxlKChFKys8bXx8YlswXSE9PWcpJiZzLS0pO3JldHVybiBEWzBdfHwxPT1rfHwoRC5zaGlmdCgpLF8uZS0tLE0tLSksaz5NJiZ3KF8sTSx0LlJNLGJbMF0hPT1nKSxffSxhLmVxPWZ1bmN0aW9uKHIpe3JldHVybiAwPT09dGhpcy5jbXAocil9LGEuZ3Q9ZnVuY3Rpb24ocil7cmV0dXJuIHRoaXMuY21wKHIpPjB9LGEuZ3RlPWZ1bmN0aW9uKHIpe3JldHVybiB0aGlzLmNtcChyKT4tMX0sYS5sdD1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy5jbXAocik8MH0sYS5sdGU9ZnVuY3Rpb24ocil7cmV0dXJuIHRoaXMuY21wKHIpPDF9LGEubWludXM9YS5zdWI9ZnVuY3Rpb24ocil7dmFyIGUsdCxuLGksbz10aGlzLHM9by5jb25zdHJ1Y3RvcixjPW8ucyxmPShyPW5ldyBzKHIpKS5zO2lmKGMhPWYpcmV0dXJuIHIucz0tZixvLnBsdXMocik7dmFyIHU9by5jLnNsaWNlKCksaD1vLmUsbD1yLmMsYT1yLmU7aWYoIXVbMF18fCFsWzBdKXJldHVybiBsWzBdP3Iucz0tZjp1WzBdP3I9bmV3IHMobyk6ci5zPTEscjtpZihjPWgtYSl7Zm9yKChpPWM8MCk/KGM9LWMsbj11KTooYT1oLG49bCksbi5yZXZlcnNlKCksZj1jO2YtLTspbi5wdXNoKDApO24ucmV2ZXJzZSgpfWVsc2UgZm9yKHQ9KChpPXUubGVuZ3RoPGwubGVuZ3RoKT91OmwpLmxlbmd0aCxjPWY9MDtmPHQ7ZisrKWlmKHVbZl0hPWxbZl0pe2k9dVtmXTxsW2ZdO2JyZWFrfWlmKGkmJihuPXUsdT1sLGw9bixyLnM9LXIucyksKGY9KHQ9bC5sZW5ndGgpLShlPXUubGVuZ3RoKSk+MClmb3IoO2YtLTspdVtlKytdPTA7Zm9yKGY9ZTt0PmM7KXtpZih1Wy0tdF08bFt0XSl7Zm9yKGU9dDtlJiYhdVstLWVdOyl1W2VdPTk7LS11W2VdLHVbdF0rPTEwfXVbdF0tPWxbdF19Zm9yKDswPT09dVstLWZdOyl1LnBvcCgpO2Zvcig7MD09PXVbMF07KXUuc2hpZnQoKSwtLWE7cmV0dXJuIHVbMF18fChyLnM9MSx1PVthPTBdKSxyLmM9dSxyLmU9YSxyfSxhLm1vZD1mdW5jdGlvbihyKXt2YXIgZSx0PXRoaXMsbj10LmNvbnN0cnVjdG9yLGk9dC5zLG89KHI9bmV3IG4ocikpLnMKO2lmKCFyLmNbMF0pdGhyb3cgRXJyb3IobCk7cmV0dXJuIHQucz1yLnM9MSxlPTE9PXIuY21wKHQpLHQucz1pLHIucz1vLGU/bmV3IG4odCk6KGk9bi5EUCxvPW4uUk0sbi5EUD1uLlJNPTAsdD10LmRpdihyKSxuLkRQPWksbi5STT1vLHRoaXMubWludXModC50aW1lcyhyKSkpfSxhLnBsdXM9YS5hZGQ9ZnVuY3Rpb24ocil7dmFyIGUsdCxuLGk9dGhpcyxvPWkuY29uc3RydWN0b3I7aWYocj1uZXcgbyhyKSxpLnMhPXIucylyZXR1cm4gci5zPS1yLnMsaS5taW51cyhyKTt2YXIgcz1pLmUsYz1pLmMsZj1yLmUsdT1yLmM7aWYoIWNbMF18fCF1WzBdKXJldHVybiB1WzBdfHwoY1swXT9yPW5ldyBvKGkpOnIucz1pLnMpLHI7aWYoYz1jLnNsaWNlKCksZT1zLWYpe2ZvcihlPjA/KGY9cyxuPXUpOihlPS1lLG49Yyksbi5yZXZlcnNlKCk7ZS0tOyluLnB1c2goMCk7bi5yZXZlcnNlKCl9Zm9yKGMubGVuZ3RoLXUubGVuZ3RoPDAmJihuPXUsdT1jLGM9biksZT11Lmxlbmd0aCx0PTA7ZTtjW2VdJT0xMCl0PShjWy0tZV09Y1tlXSt1W2VdK3QpLzEwfDA7Zm9yKHQmJihjLnVuc2hpZnQodCksKytmKSxlPWMubGVuZ3RoOzA9PT1jWy0tZV07KWMucG9wKCk7cmV0dXJuIHIuYz1jLHIuZT1mLHJ9LGEucG93PWZ1bmN0aW9uKHIpe3ZhciBlPXRoaXMsdD1uZXcgZS5jb25zdHJ1Y3RvcigiMSIpLG49dCxpPXI8MDtpZihyIT09fn5yfHxyPC0xZTZ8fHI+cyl0aHJvdyBFcnJvcihmKyJleHBvbmVudCIpO2ZvcihpJiYocj0tcik7MSZyJiYobj1uLnRpbWVzKGUpKSxyPj49MTspZT1lLnRpbWVzKGUpO3JldHVybiBpP3QuZGl2KG4pOm59LGEucHJlYz1mdW5jdGlvbihyLGUpe2lmKHIhPT1+fnJ8fHI8MXx8cj5vKXRocm93IEVycm9yKGYrInByZWNpc2lvbiIpO3JldHVybiB3KG5ldyB0aGlzLmNvbnN0cnVjdG9yKHRoaXMpLHIsZSl9LGEucm91bmQ9ZnVuY3Rpb24ocixlKXtpZihyPT09ZylyPTA7ZWxzZSBpZihyIT09fn5yfHxyPC1vfHxyPm8pdGhyb3cgRXJyb3IodSk7cmV0dXJuIHcobmV3IHRoaXMuY29uc3RydWN0b3IodGhpcykscit0aGlzLmUrMSxlKX0sYS5zcXJ0PWZ1bmN0aW9uKCl7dmFyIHIsZSx0LG49dGhpcyxpPW4uY29uc3RydWN0b3Isbz1uLnMscz1uLmUsZj1uZXcgaSgiMC41Iik7aWYoIW4uY1swXSlyZXR1cm4gbmV3IGkobik7aWYobzwwKXRocm93IEVycm9yKGMrIk5vIHNxdWFyZSByb290Iik7MD09PShvPU1hdGguc3FydChuKyIiKSl8fG89PT0xLzA/KChlPW4uYy5qb2luKCIiKSkubGVuZ3RoK3MmMXx8KGUrPSIwIikscz0oKHMrMSkvMnwwKS0oczwwfHwxJnMpLHI9bmV3IGkoKChvPU1hdGguc3FydChlKSk9PTEvMD8iNWUiOihvPW8udG9FeHBvbmVudGlhbCgpKS5zbGljZSgwLG8uaW5kZXhPZigiZSIpKzEpKStzKSk6cj1uZXcgaShvKyIiKSxzPXIuZSsoaS5EUCs9NCk7ZG97dD1yLHI9Zi50aW1lcyh0LnBsdXMobi5kaXYodCkpKX13aGlsZSh0LmMuc2xpY2UoMCxzKS5qb2luKCIiKSE9PXIuYy5zbGljZSgwLHMpLmpvaW4oIiIpKTtyZXR1cm4gdyhyLChpLkRQLT00KStyLmUrMSxpLlJNKX0sYS50aW1lcz1hLm11bD1mdW5jdGlvbihyKXt2YXIgZSx0PXRoaXMsbj10LmNvbnN0cnVjdG9yLGk9dC5jLG89KHI9bmV3IG4ocikpLmMscz1pLmxlbmd0aCxjPW8ubGVuZ3RoLGY9dC5lLHU9ci5lO2lmKHIucz10LnM9PXIucz8xOi0xLCFpWzBdfHwhb1swXSlyZXR1cm4gci5jPVtyLmU9MF0scjtmb3Ioci5lPWYrdSxzPGMmJihlPWksaT1vLG89ZSx1PXMscz1jLGM9dSksZT1uZXcgQXJyYXkodT1zK2MpO3UtLTspZVt1XT0wO2ZvcihmPWM7Zi0tOyl7Zm9yKGM9MCx1PXMrZjt1PmY7KWM9ZVt1XStvW2ZdKmlbdS1mLTFdK2MsZVt1LS1dPWMlMTAsYz1jLzEwfDA7ZVt1XT1jfWZvcihjPysrci5lOmUuc2hpZnQoKSxmPWUubGVuZ3RoOyFlWy0tZl07KWUucG9wKCk7cmV0dXJuIHIuYz1lLHJ9LGEudG9FeHBvbmVudGlhbD1mdW5jdGlvbihyLGUpe3ZhciB0PXRoaXMsbj10LmNbMF07aWYociE9PWcpe2lmKHIhPT1+fnJ8fHI8MHx8cj5vKXRocm93IEVycm9yKHUpO2Zvcih0PXcobmV3IHQuY29uc3RydWN0b3IodCksKytyLGUpO3QuYy5sZW5ndGg8cjspdC5jLnB1c2goMCl9cmV0dXJuIHAodCwhMCwhIW4pfSxhLnRvRml4ZWQ9ZnVuY3Rpb24ocixlKXt2YXIgdD10aGlzLG49dC5jWzBdO2lmKHIhPT1nKXtpZihyIT09fn5yfHxyPDB8fHI+byl0aHJvdyBFcnJvcih1KTtmb3Iocj1yKyh0PXcobmV3IHQuY29uc3RydWN0b3IodCkscit0LmUrMSxlKSkuZSsxO3QuYy5sZW5ndGg8cjspdC5jLnB1c2goMCl9cmV0dXJuIHAodCwhMSwhIW4pfSxhLnRvSlNPTj1hLnRvU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIHI9dGhpcyxlPXIuY29uc3RydWN0b3I7cmV0dXJuIHAocixyLmU8PWUuTkV8fHIuZT49ZS5QRSwhIXIuY1swXSl9LGEudG9OdW1iZXI9ZnVuY3Rpb24oKXt2YXIgcj1OdW1iZXIocCh0aGlzLCEwLCEwKSk7aWYoITA9PT10aGlzLmNvbnN0cnVjdG9yLnN0cmljdCYmIXRoaXMuZXEoci50b1N0cmluZygpKSl0aHJvdyBFcnJvcihjKyJJbXByZWNpc2UgY29udmVyc2lvbiIpO3JldHVybiByfSxhLnRvUHJlY2lzaW9uPWZ1bmN0aW9uKHIsZSl7dmFyIHQ9dGhpcyxuPXQuY29uc3RydWN0b3IsaT10LmNbMF07aWYociE9PWcpe2lmKHIhPT1+fnJ8fHI8MXx8cj5vKXRocm93IEVycm9yKGYrInByZWNpc2lvbiIpO2Zvcih0PXcobmV3IG4odCkscixlKTt0LmMubGVuZ3RoPHI7KXQuYy5wdXNoKDApfXJldHVybiBwKHQscjw9dC5lfHx0LmU8PW4uTkV8fHQuZT49bi5QRSwhIWkpfSxhLnZhbHVlT2Y9ZnVuY3Rpb24oKXt2YXIgcj10aGlzLGU9ci5jb25zdHJ1Y3RvcjtpZighMD09PWUuc3RyaWN0KXRocm93IEVycm9yKGMrInZhbHVlT2YgZGlzYWxsb3dlZCIpO3JldHVybiBwKHIsci5lPD1lLk5FfHxyLmU+PWUuUEUsITApfSxpPWZ1bmN0aW9uIHIoKXtmdW5jdGlvbiBlKHQpe3ZhciBuPXRoaXM7aWYoIShuIGluc3RhbmNlb2YgZSkpcmV0dXJuIHQ9PT1nP3IoKTpuZXcgZSh0KTtpZih0IGluc3RhbmNlb2YgZSluLnM9dC5zLG4uZT10LmUsbi5jPXQuYy5zbGljZSgpO2Vsc2V7aWYoInN0cmluZyIhPXR5cGVvZiB0KXsKaWYoITA9PT1lLnN0cmljdCl0aHJvdyBUeXBlRXJyb3IoZisibnVtYmVyIik7dD0wPT09dCYmMS90PDA/Ii0wIjpTdHJpbmcodCl9IWZ1bmN0aW9uKHIsZSl7dmFyIHQsbixpO2lmKCF2LnRlc3QoZSkpdGhyb3cgRXJyb3IoZisibnVtYmVyIik7ci5zPSItIj09ZS5jaGFyQXQoMCk/KGU9ZS5zbGljZSgxKSwtMSk6MSwodD1lLmluZGV4T2YoIi4iKSk+LTEmJihlPWUucmVwbGFjZSgiLiIsIiIpKTsobj1lLnNlYXJjaCgvZS9pKSk+MD8odDwwJiYodD1uKSx0Kz0rZS5zbGljZShuKzEpLGU9ZS5zdWJzdHJpbmcoMCxuKSk6dDwwJiYodD1lLmxlbmd0aCk7Zm9yKGk9ZS5sZW5ndGgsbj0wO248aSYmIjAiPT1lLmNoYXJBdChuKTspKytuO2lmKG49PWkpci5jPVtyLmU9MF07ZWxzZXtmb3IoO2k+MCYmIjAiPT1lLmNoYXJBdCgtLWkpOyk7Zm9yKHIuZT10LW4tMSxyLmM9W10sdD0wO248PWk7KXIuY1t0KytdPStlLmNoYXJBdChuKyspfX0obix0KX1uLmNvbnN0cnVjdG9yPWV9cmV0dXJuIGUucHJvdG90eXBlPWEsZS5EUD0yMCxlLlJNPTEsZS5ORT0tNyxlLlBFPTIxLGUuc3RyaWN0PWZhbHNlLGUucm91bmREb3duPTAsZS5yb3VuZEhhbGZVcD0xLGUucm91bmRIYWxmRXZlbj0yLGUucm91bmRVcD0zLGV9KCksaS5kZWZhdWx0PWkuQmlnPWksdm9pZCAwPT09KG49ZnVuY3Rpb24oKXtyZXR1cm4gaX0uY2FsbChlLHQsZSxyKSl8fChyLmV4cG9ydHM9bil9KCl9LDk2MzA5OChyLGUsdCl7InVzZSBzdHJpY3QiO3QuZChlLHtnZXRJc29MYW5ndWFnZUNvZGVGcm9tTGFuZ3VhZ2U6KCk9Pml9KTtjb25zdCBuPXthcl9BRToiYXIiLGJyOiJwdCIsZGVfREU6ImRlIixjYV9FUzoiY2EiLGhlX0lMOiJoZSIsaWRfSUQ6ImlkIixpbjoiZW4iLGtyOiJrbyIsbXNfTVk6Im1zIixzdl9TRToic3YiLHRoX1RIOiJ0aCIsdWs6ImVuIix2aV9WTjoidmkiLHpoX0NOOiJ6aC1IYW5zIix6aF9UVzoiemgtSGFudCIsemg6InpoLUhhbnMiLGh1X0hVOiJodS1IVSJ9O2Z1bmN0aW9uIGkocil7cmV0dXJuIG5bcl18fHJ9fX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/widget-tabs.5a8ac64e423c5b26985d.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.542Z","timestamp":1785120634542,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/widget-tabs.5a8ac64e423c5b26985d.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-3fb5\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:19:03\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e97c550fec1e3dc8d4246266eade0f0f\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":16309,"size_decoded":6987,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3923)","md5":"9cd39d09353a875ceaf0a5a8cb667f0a","sha1":"7695884953c7f8d55a29525cf317f2477390cc3d","sha256":"8b7585fd982d016e655fe4c370af7a457061c4857694600b2792f696117917ec","sha512":"79aa6435a1e01e34a529ba662d983f478862064b20c593d860773ab5f2bfcbbbd3cf9c1c11f912edf6c9875505324ba9779f80932f62a8351da7bb476de4a747","ssdeep":"384:XDPyYcg6ylabvcNseI1tw7lOf20Rh4441484IVPN3NC3vkdOYmQlnN/b0Aw:XDKYcg6yALcNseIPw0yVPN3NCcdOYmQk","tlshash":"28722aa3368a767bb29241ff50720152971e1005f90d88d0fae4eedeaf4e518713ae6c","first_seen":"2026-07-23T22:46:45.796031Z","last_seen":"2026-07-27T06:01:16.300114Z","times_seen":22,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s3Nzc2NF0sezUwMzcxNihlKXtlLmV4cG9ydHM9e3NxdWFyZVRhYnM6InNxdWFyZVRhYnMtZHk2b05haTgiLHNxdWFyZVRhYkJ1dHRvbjoic3F1YXJlVGFiQnV0dG9uLWR5Nm9OYWk4In19LDc3OTM4OShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtBY3Rpb25Hcm91cDooKT0+c30pO3ZhciBuPWkoOTkyODAzKTtjbGFzcyBze2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fYWN0aW9ucz1uZXcgTWFwLHRoaXMuX21hbmFnZXI9ZSx0aGlzLm9yZGVyPXQ/Lm9yZGVyPz8wLHRoaXMubW9kYWw9ISghdHx8IXQubW9kYWwpLHQmJih0aGlzLmRlc2M9dC5kZXNjKSx0JiZ0LmlzRGlzYWJsZWQ/ImZ1bmN0aW9uIj09dHlwZW9mIHQuaXNEaXNhYmxlZD90aGlzLmlzRGlzYWJsZWQ9dC5pc0Rpc2FibGVkOnRoaXMuaXNEaXNhYmxlZD0oKT0+ITA6dGhpcy5pc0Rpc2FibGVkPSgpPT4hMSx0aGlzLl9tYW5hZ2VyLnJlZ2lzdGVyR3JvdXAodGhpcyl9YWRkKGUpe2xldCB0PXRoaXMuX2FjdGlvbnMuZ2V0KGUuaG90a2V5KTt0fHwodD1bXSx0aGlzLl9hY3Rpb25zLnNldChlLmhvdGtleSx0KSk7Y29uc3QgaT1uZXcgbi5BY3Rpb24odGhpcyxlKTtyZXR1cm4gdC5wdXNoKGkpLGl9cmVtb3ZlKGUpe2NvbnN0IHQ9dGhpcy5fYWN0aW9ucy5nZXQoZS5ob3RrZXkpO2lmKCF0KXJldHVybjtjb25zdCBpPXQuZmluZEluZGV4KCh0PT50PT09ZSkpO2k+PTAmJigxPT09dC5sZW5ndGg/dGhpcy5fYWN0aW9ucy5kZWxldGUoZS5ob3RrZXkpOnQuc3BsaWNlKGksMSkpfWhhbmRsZUhvdGtleShlLHQpe2NvbnN0IGk9dGhpcy5fYWN0aW9ucy5nZXQoZSk7aWYoIWkpcmV0dXJuITE7Zm9yKGNvbnN0IG4gb2YgaSlpZigoIW4uZWxlbWVudHx8dC50YXJnZXQmJm4uZWxlbWVudC5jb250YWlucyh0LnRhcmdldCkpJiYhbi5pc0Rpc2FibGVkKHQpKXJldHVybiB0LnJlcGVhdCYmIW4uaXNSZXBlYXRBY2NlcHRlZHx8KG4uaGFuZGxlcih0KSx0aGlzLl9jYWxsTWF0Y2hlZEhvdGtleUhhbmRsZXIoZSkpLHQucHJldmVudERlZmF1bHQoKSwhMDtyZXR1cm4hMX1wcm9tb3RlKCl7dGhpcy5fbWFuYWdlci5wcm9tb3RlR3JvdXAodGhpcyl9ZGVzdHJveSgpe2Zvcihjb25zdFssZV1vZiB0aGlzLl9hY3Rpb25zKWZvcihjb25zdCB0IG9mIGUpdC5kZXN0cm95KCk7dGhpcy5fYWN0aW9ucy5jbGVhcigpLHRoaXMuX21hbmFnZXIudW5yZWdpc3Rlckdyb3VwKHRoaXMpfXN0YXRpYyBzZXRNYXRjaGVkSG90a2V5SGFuZGxlcihlKXtzLl9tYXRjaGVkSG90a2V5SGFuZGxlcj1lfV9jYWxsTWF0Y2hlZEhvdGtleUhhbmRsZXIoZSl7cy5fbWF0Y2hlZEhvdGtleUhhbmRsZXImJnMuX21hdGNoZWRIb3RrZXlIYW5kbGVyKGUpfX19LDI5MTM0MShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtBY3Rpb25NYW5hZ2VyOigpPT5kfSk7dmFyIG49aSgyMzIzNjQpLHM9aSgyMzU3MjQpLGE9aSg3MjEzNjkpLHI9aSg2OTYyMDgpO2NsYXNzIG8gZXh0ZW5kcyBuLldhdGNoZWRWYWx1ZXtzZXRWYWx1ZShlLHQpe2NvbnN0IGk9dGhpcy52YWx1ZSgpOyh0fHx2b2lkIDA9PT1pfHxpLmNvZGUhPT1lLmNvZGV8fGkubW9kaWZpZXJzIT09ZS5tb2RpZmllcnMpJiZzdXBlci5zZXRWYWx1ZShlKX19Y2xhc3MgZHtjb25zdHJ1Y3Rvcigpe3RoaXMuX2dyb3Vwcz1bXSx0aGlzLl9wcmVzc2VkS2V5cz1uZXcgbi5XYXRjaGVkVmFsdWUoMCksdGhpcy5fa2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlPW5ldyBvKG5ldyByLktleWJvYXJkUHJlc3NlZEtleXNTdGF0ZSgwKSksdGhpcy5fa2V5RG93bkxpc3RlbmVyPWU9PntpZihlLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2NvbnN0IHQ9KDAscy5oYXNoRnJvbUV2ZW50KShlKTtpZih0aGlzLl9wcmVzc2VkS2V5cy5zZXRWYWx1ZSh0KSx0aGlzLl9rZXlib2FyZFByZXNzZWRLZXlzU3RhdGUuc2V0VmFsdWUobmV3IHIuS2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlKCgwLHMubW9kaWZpZXJzRnJvbUV2ZW50KShlKSxlLmNvZGUpKSwhKDAsYS5pc05hdGl2ZVVJSW50ZXJhY3Rpb24pKHQsZS50YXJnZXQpKWZvcihsZXQgaT10aGlzLl9ncm91cHMubGVuZ3RoO2ktLSA+MDspe2NvbnN0IG49dGhpcy5fZ3JvdXBzW2ldO2lmKCFuLmlzRGlzYWJsZWQoKSl7aWYobi5oYW5kbGVIb3RrZXkodCxlKSlyZXR1cm47aWYobi5tb2RhbClyZXR1cm59fX0sdGhpcy5fa2V5VXBMaXN0ZW5lcj1lPT57Y29uc3QgdD0oMCxzLmhhc2hGcm9tRXZlbnQpKGUpO3RoaXMuX3ByZXNzZWRLZXlzLnNldFZhbHVlKHQpLHRoaXMuX2tleWJvYXJkUHJlc3NlZEtleXNTdGF0ZS5zZXRWYWx1ZShuZXcgci5LZXlib2FyZFByZXNzZWRLZXlzU3RhdGUoKDAscy5tb2RpZmllcnNGcm9tRXZlbnQpKGUpLCIiKSl9LHRoaXMuX2JsdXJFdmVudD0oKT0+e3RoaXMuX3ByZXNzZWRLZXlzLnNldFZhbHVlKDApLHRoaXMuX2tleWJvYXJkUHJlc3NlZEtleXNTdGF0ZS5zZXRWYWx1ZShuZXcgci5LZXlib2FyZFByZXNzZWRLZXlzU3RhdGUoMCwiIikpfSx0aGlzLl9tb3VzZUV2ZW50PWU9Pntjb25zdCB0PSgwLHMubW9kaWZpZXJzRnJvbUV2ZW50KShlKSxpPTI1NSYodGhpcy5fcHJlc3NlZEtleXMudmFsdWUoKT8/MCk7dGhpcy5fcHJlc3NlZEtleXMuc2V0VmFsdWUodHxpKX19bGlzdGVuKGUpe2UuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5fa2V5RG93bkxpc3RlbmVyKSxlLmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIix0aGlzLl9rZXlVcExpc3RlbmVyKSxlLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLHRoaXMuX2JsdXJFdmVudCksZS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuX21vdXNlRXZlbnQpfXVubGlzdGVuKGUpe2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5fa2V5RG93bkxpc3RlbmVyKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleXVwIix0aGlzLl9rZXlVcExpc3RlbmVyKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImJsdXIiLHRoaXMuX2JsdXJFdmVudCksCmUucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0aGlzLl9tb3VzZUV2ZW50KX1yZWdpc3Rlckdyb3VwKGUpe3RoaXMuX2dyb3Vwcy5wdXNoKGUpLHRoaXMuc29ydEdyb3VwcygpfXVucmVnaXN0ZXJHcm91cChlKXtmb3IobGV0IHQ9dGhpcy5fZ3JvdXBzLmxlbmd0aDt0LS07KXRoaXMuX2dyb3Vwc1t0XT09PWUmJnRoaXMuX2dyb3Vwcy5zcGxpY2UodCwxKX1wcm9tb3RlR3JvdXAoZSl7Y29uc3QgdD10aGlzLl9nZXRNb2RhbE9yZGVyRXBvY2goKSxpPWMoZSx0KTtsZXQgbj10aGlzLl9ncm91cHMuZmluZEluZGV4KChlPT5jKGUsdCk9PT1pKSkscz0wO2Zvcig7bjx0aGlzLl9ncm91cHMubGVuZ3RoJiZjKHRoaXMuX2dyb3Vwc1tuXSx0KT09PWk7KXtjb25zdCBhPXRoaXMuX2dyb3Vwc1tuXTthPT09ZT9zPTE6YyhhLHQpPT09aSYmKHRoaXMuX2dyb3Vwc1tuLXNdPWEpLG4rK310aGlzLl9ncm91cHNbbi1zXT1lfXByZXNzZWRLZXlzKCl7cmV0dXJuIHRoaXMuX3ByZXNzZWRLZXlzLnJlYWRvbmx5KCl9a2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlKCl7cmV0dXJuIHRoaXMuX2tleWJvYXJkUHJlc3NlZEtleXNTdGF0ZS5yZWFkb25seSgpfXNvcnRHcm91cHMoKXtjb25zdCBlPXRoaXMuX2dldE1vZGFsT3JkZXJFcG9jaCgpO3RoaXMuX2dyb3Vwcy5zb3J0KCgodCxpKT0+YyhpLGUpLWModCxlKSkpfV9nZXRNaW5PcmRlcigpe3JldHVybiB0aGlzLl9ncm91cHMucmVkdWNlKCgoZSx0KT0+TWF0aC5taW4oZSx0Lm9yZGVyKSksMCl9X2dldE1vZGFsT3JkZXJFcG9jaCgpe3JldHVybi0yKihNYXRoLmFicyh0aGlzLl9nZXRNaW5PcmRlcigpKS0xKX19ZnVuY3Rpb24gYyhlLHQpe3JldHVybiBlLm9yZGVyKyhlLm1vZGFsP3Q6MCl9fSw5OTI4MDMoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7QWN0aW9uOigpPT5ufSk7Y2xhc3Mgbntjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2dyb3VwPWU7Y29uc3R7aG90a2V5OmksaGFuZGxlcjpuLGRlc2M6cyxpc0Rpc2FibGVkOmEsZWxlbWVudDpyPW51bGwsaXNSZXBlYXRBY2NlcHRlZDpvPSExfT10O3RoaXMuaG90a2V5PWksdGhpcy5oYW5kbGVyPW4sdGhpcy5kZXNjPXMsdGhpcy5lbGVtZW50PXIsdGhpcy5pc1JlcGVhdEFjY2VwdGVkPW8sdGhpcy5pc0Rpc2FibGVkPWE/ImZ1bmN0aW9uIj09dHlwZW9mIGE/YTooKT0+ITA6KCk9PiExfWRlc3Ryb3koKXt0aGlzLl9ncm91cCYmKHRoaXMuX2dyb3VwLnJlbW92ZSh0aGlzKSx0aGlzLl9ncm91cD1udWxsKX19fSw3MjcwOShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtjcmVhdGVHcm91cDooKT0+cn0pO3ZhciBuPWkoMjkxMzQxKSxzPWkoNzc5Mzg5KTtjb25zdCBhPW5ldyBuLkFjdGlvbk1hbmFnZXI7YS5wcmVzc2VkS2V5cygpLGEua2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlKCk7ZnVuY3Rpb24gcihlKXtyZXR1cm4gbmV3IHMuQWN0aW9uR3JvdXAoYSxlKX19LDIzNTcyNChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtNb2RpZmllcnM6KCk9PnIsaGFzaEZyb21FdmVudDooKT0+ZCxob3RrZXlIYXNoVG9BcmlhS2V5c2hvcnRjdXRzOigpPT5tLGh1bWFuUmVhZGFibGVIYXNoOigpPT5oLGh1bWFuUmVhZGFibGVNb2RpZmllcnM6KCk9PmMsaXNNYWNLZXlib2FyZDooKT0+YSxtb2RpZmllcnNGcm9tRXZlbnQ6KCk9Pm99KTt2YXIgbixzPWkoNzM4NDU4KTshZnVuY3Rpb24oZSl7ZVtlLktleUNvZGU9MjU1XT0iS2V5Q29kZSIsZVtlLkNvbnRyb2w9MjU2XT0iQ29udHJvbCIsZVtlLkFsdD01MTJdPSJBbHQiLGVbZS5TaGlmdD0xMDI0XT0iU2hpZnQiLGVbZS5NZXRhPTIwNDhdPSJNZXRhIn0obnx8KG49e30pKTtjb25zdCBhPXMuaXNNYWN8fHMuaXNJT1M7dmFyIHI7ZnVuY3Rpb24gbyhlKXtsZXQgdD0wO3JldHVybiBlLnNoaWZ0S2V5JiYodCs9MTAyNCksZS5hbHRLZXkmJih0Kz01MTIpLGUuY3RybEtleSYmKHQrPTI1NiksZS5tZXRhS2V5JiYodCs9MjA0OCksdH1mdW5jdGlvbiBkKGUpe3JldHVybiBvKGUpfGUua2V5Q29kZX0hZnVuY3Rpb24oZSl7ZVtlLk5vbmU9MF09Ik5vbmUiLGVbZS5BbHQ9NTEyXT0iQWx0IixlW2UuU2hpZnQ9MTAyNF09IlNoaWZ0IixlW2UuTW9kPWE/MjA0ODoyNTZdPSJNb2QiLGVbZS5Db250cm9sPTI1Nl09IkNvbnRyb2wiLGVbZS5NZXRhPTIwNDhdPSJNZXRhIn0ocnx8KHI9e30pKTtmdW5jdGlvbiBjKGUsdD0hYSl7bGV0IGk9IiI7cmV0dXJuIDI1NiZlJiYoaSs9cChhPyJeIjoiQ3RybCIsdCkpLDUxMiZlJiYoaSs9cChhPyLijKUiOiJBbHQiLHQpKSwxMDI0JmUmJihpKz1wKGE/IuKHpyI6IlNoaWZ0Iix0KSksMjA0OCZlJiYoaSs9cChhPyLijJgiOiJXaW4iLHQpKSxpfWNvbnN0IGw9ezk6IuKHpSIsMTM6IuKGtSIsMjc6IkVzYyIsODphPyLijKsiOiJCYWNrc3BhY2UiLDMyOiJTcGFjZSIsMzU6IkVuZCIsMzY6IkhvbWUiLDM3OiLihpAiLDM4OiLihpEiLDM5OiLihpIiLDQwOiLihpMiLDQ1OiJJbnMiLDQ2OiJEZWwiLDE4ODoiLCIsMTkwOiJEb3QiLDE5MToiLyJ9LHU9ezk6IlRhYiIsMTM6IkVudGVyIiwyNzoiRXNjIiw4OiJCYWNrc3BhY2UiLDMyOiJTcGFjZSIsMzU6IkVuZCIsMzY6IkhvbWUiLDM3OiJBcnJvd0xlZnQiLDM4OiJBcnJvd1VwIiwzOToiQXJyb3dSaWdodCIsNDA6IkFycm93RG93biIsNDU6IklucyIsNDY6IkRlbCIsMTg4OiIsIiwxOTA6Ii4iLDE5MToiLyJ9O2ZvcihsZXQgZT0xO2U8PTE2O2UrKylsW2UrMTExXT1gRiR7ZX1gLHVbZSsxMTFdPWBGJHtlfWA7ZnVuY3Rpb24gaChlKXtsZXQgdD1jKGUpO2NvbnN0IGk9MjU1JmU7cmV0dXJuIHQrPWkgaW4gbD9sW2ldOlN0cmluZy5mcm9tQ2hhckNvZGUoaSksdH1mdW5jdGlvbiBwKGUsdCl7cmV0dXJuYCR7ZX0ke3Q/IiArICI6YT8iICI6IiJ9YH1mdW5jdGlvbiBtKGUpe2NvbnN0IHQ9W107MjU2JmUmJnQucHVzaCgiQ3RybCIpLDUxMiZlJiZ0LnB1c2goIkFsdCIpLDEwMjQmZSYmdC5wdXNoKCJTaGlmdCIpLDIwNDgmZSYmdC5wdXNoKCJNZXRhIik7Y29uc3QgaT0yNTUmZTtyZXR1cm4gaSBpbiBsP3QucHVzaChsW2ldKTp0LnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShpKSksdC5qb2luKCIrIil9fSw2OTYyMDgoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7CktleWJvYXJkUHJlc3NlZEtleXNTdGF0ZTooKT0+c30pO3ZhciBuPWkoMjM1NzI0KTtjbGFzcyBze2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5tb2RpZmllcnM9ZSx0aGlzLmNvZGU9dH1hbHRPck9wdGlvbkNvZGUoKXtyZXR1cm4iQWx0TGVmdCI9PT10aGlzLmNvZGV8fCJBbHRSaWdodCI9PT10aGlzLmNvZGV9Y29udHJvbE9yTWV0YUNvZGUoKXtyZXR1cm4gbi5pc01hY0tleWJvYXJkPyJNZXRhTGVmdCI9PT10aGlzLmNvZGV8fCJNZXRhUmlnaHQiPT09dGhpcy5jb2RlfHwiT1NMZWZ0Ij09PXRoaXMuY29kZXx8Ik9TUmlnaHQiPT09dGhpcy5jb2RlOiJDb250cm9sTGVmdCI9PT10aGlzLmNvZGV8fCJDb250cm9sUmlnaHQiPT09dGhpcy5jb2RlfX19LDcyMTM2OShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtpc05hdGl2ZVVJSW50ZXJhY3Rpb246KCk9PmEsaXNUZXh0RWRpdGluZ0ZpZWxkOigpPT5zfSk7dmFyIG49aSgyMzU3MjQpO2Z1bmN0aW9uIHMoZSl7aWYoIklOUFVUIj09PWUudGFnTmFtZSl7Y29uc3QgdD1lLnR5cGU7cmV0dXJuInRleHQiPT09dHx8ImVtYWlsIj09PXR8fCJudW1iZXIiPT09dHx8InBhc3N3b3JkIj09PXR8fCJzZWFyY2giPT09dHx8InRlbCI9PT10fHwidXJsIj09PXR9cmV0dXJuIlRFWFRBUkVBIj09PWUudGFnTmFtZXx8ZS5pc0NvbnRlbnRFZGl0YWJsZX1mdW5jdGlvbiBhKGUsdCl7aWYoIXQpcmV0dXJuITE7Y29uc3QgaT0yNTUmZTtpZigyNz09PWl8fGk+Pj40PT03KXJldHVybiExO3N3aXRjaChlXmkpe2Nhc2Ugbi5Nb2RpZmllcnMuQWx0OnJldHVybigzOD09PWl8fDQwPT09aSkmJiJTRUxFQ1QiPT09dC50YWdOYW1lfHxzKHQpO2Nhc2Ugbi5Nb2RpZmllcnMuQWx0K24uTW9kaWZpZXJzLlNoaWZ0OnJldHVybiBzKHQpO2Nhc2Ugbi5Nb2RpZmllcnMuTW9kOmlmKDY3PT09aXx8IW4uaXNNYWNLZXlib2FyZCYmNDU9PT1pKXtjb25zdCBlPXQub3duZXJEb2N1bWVudCYmdC5vd25lckRvY3VtZW50LmdldFNlbGVjdGlvbigpO2lmKGUmJiFlLmlzQ29sbGFwc2VkKXJldHVybiEwfXJldHVybiBzKHQpO2Nhc2Ugbi5Nb2RpZmllcnMuTW9kK24uTW9kaWZpZXJzLlNoaWZ0OnJldHVybiBpPj0zMyYmaTw9NDAmJnModCk7Y2FzZSBuLk1vZGlmaWVycy5TaGlmdDpjYXNlIDA6cmV0dXJuIDk9PT1pPyEoIXQub3duZXJEb2N1bWVudHx8dD09PXQub3duZXJEb2N1bWVudC5ib2R5fHx0PT09dC5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCk6KCFmdW5jdGlvbihlKXtpZigiQlVUVE9OIj09PWUudGFnTmFtZSlyZXR1cm4hMDtpZigiSU5QVVQiPT09ZS50YWdOYW1lKXtjb25zdCB0PWUudHlwZTtpZigic3VibWl0Ij09PXR8fCJidXR0b24iPT09dHx8InJlc2V0Ij09PXR8fCJjaGVja2JveCI9PT10fHwicmFkaW8iPT09dClyZXR1cm4hMH1yZXR1cm4hMX0odCl8fDEzPT09aXx8MzI9PT1pfHw5PT09aSkmJigiZm9ybSJpbiB0fHx0LmlzQ29udGVudEVkaXRhYmxlKX1yZXR1cm4hMX19LDM4Nzc3NChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtDaXJjbGVMb2dvOigpPT5vLGhpZGRlbkNpcmNsZUxvZ29DbGFzczooKT0+cn0pO3ZhciBuPWkoNzc5NDc0KSxzPWkoNzk0MTg3KSxhPWkoMTQwMDE3KTtjb25zdCByPWkubihhKSgpLmhpZGRlbjtmdW5jdGlvbiBvKGUpe2NvbnN0IHQ9KDAscy5pc0NpcmNsZUxvZ29XaXRoVXJsUHJvcHMpKGUpLFtpLGFdPSgwLG4udXNlU3RhdGUpKDApLHI9KDAsbi51c2VSZWYpKG51bGwpLG89KDAscy5nZXRTdHlsZUNsYXNzZXMpKGUuc2l6ZSxpLGUuY2xhc3NOYW1lKSxkPWUuYWx0Pz9lLnRpdGxlPz8iIixjPXQ/ZFswXTplLnBsYWNlaG9sZGVyTGV0dGVyO3JldHVybigwLG4udXNlRWZmZWN0KSgoKCk9PmEoci5jdXJyZW50Py5jb21wbGV0ZT8/IXQ/MjoxKSksW3RdKSx0JiYzIT09aT9uLmNyZWF0ZUVsZW1lbnQoImltZyIse3JlZjpyLGNsYXNzTmFtZTpvLGNyb3NzT3JpZ2luOiIiLHNyYzplLmxvZ29VcmwsYWx0OmQsdGl0bGU6ZS50aXRsZSxsb2FkaW5nOmUubG9hZGluZyxvbkxvYWQ6KCk9PmEoMiksb25FcnJvcjooKT0+YSgzKSwiYXJpYS1sYWJlbCI6ZVsiYXJpYS1sYWJlbCJdLCJhcmlhLWhpZGRlbiI6ZVsiYXJpYS1oaWRkZW4iXX0pOm4uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpvLHRpdGxlOmUudGl0bGUsImFyaWEtbGFiZWwiOmVbImFyaWEtbGFiZWwiXSwiYXJpYS1oaWRkZW4iOmVbImFyaWEtaGlkZGVuIl19LGMpfX0sMjE4ODE0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2NvbG9yOigpPT5hLGR1cjooKT0+bixlYXNpbmdGdW5jOigpPT5zfSk7Y29uc3Qgbj0zNTAscz17bGluZWFyOmU9PmUsZWFzZUluUXVhZDplPT5lKmUsZWFzZU91dFF1YWQ6ZT0+ZSooMi1lKSxlYXNlSW5PdXRRdWFkOmU9PmU8LjU/MiplKmU6KDQtMiplKSplLTEsZWFzZUluQ3ViaWM6ZT0+ZSplKmUsZWFzZU91dEN1YmljOmU9Pi0tZSplKmUrMSxlYXNlSW5PdXRDdWJpYzplPT5lPC41PzQqZSplKmU6KGUtMSkqKDIqZS0yKSooMiplLTIpKzEsZWFzZUluUXVhcnQ6ZT0+ZSplKmUqZSxlYXNlT3V0UXVhcnQ6ZT0+MS0gLS1lKmUqZSplLGVhc2VJbk91dFF1YXJ0OmU9PmU8LjU/OCplKmUqZSplOjEtOCotLWUqZSplKmUsZWFzZUluUXVpbnQ6ZT0+ZSplKmUqZSplLGVhc2VPdXRRdWludDplPT4xKy0tZSplKmUqZSplLGVhc2VJbk91dFF1aW50OmU9PmU8LjU/MTYqZSplKmUqZSplOjErMTYqLS1lKmUqZSplKmV9O2NvbnN0IGE9e2JsYWNrNzA6IiM0QTRBNEEiLGJsYWNrODA6IiM1MzUzNTMifX0sNzYzNTQ5KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3VzZUNvbXBvc2VkS2V5Ym9hcmRBY3Rpb25IYW5kbGVyczooKT0+byx1c2VLZXlib2FyZEFjdGlvbkhhbmRsZXI6KCk9PnIsdXNlS2V5Ym9hcmRDbG9zZTooKT0+bCx1c2VLZXlib2FyZEV2ZW50SGFuZGxlcjooKT0+ZCx1c2VLZXlib2FyZE9wZW46KCk9PnUsdXNlS2V5Ym9hcmRUb2dnbGU6KCk9PmN9KTt2YXIgbj1pKDc3OTQ3NCkscz1pKDIzNTcyNCk7Y29uc3QgYT0oKT0+ITA7ZnVuY3Rpb24gcihlLHQsaT1hLHMpe3JldHVybigwLG4udXNlQ2FsbGJhY2spKChuPT57aWYocyl7CmlmKCJob3Jpem9udGFsIj09PXMmJig0MD09PW58fDM4PT09bikpcmV0dXJuO2lmKCJ2ZXJ0aWNhbCI9PT1zJiYoMzc9PT1ufHwzOT09PW4pKXJldHVybn1jb25zdCBhPWUubWFwKChlPT4iZnVuY3Rpb24iPT10eXBlb2YgZT9lKCk6ZSkpO3JldHVybiEoIWkobil8fCFhLmluY2x1ZGVzKG4pKSYmKHQobiksITApfSksWy4uLmUsdCxpXSl9ZnVuY3Rpb24gbyguLi5lKXtyZXR1cm4oMCxuLnVzZUNhbGxiYWNrKSgodD0+e2Zvcihjb25zdCBpIG9mIGUpaWYoaSh0KSlyZXR1cm4hMDtyZXR1cm4hMX0pLFsuLi5lXSl9ZnVuY3Rpb24gZChlLHQ9ITAsaT0hMSl7Y29uc3QgYT1vKC4uLmUpO3JldHVybigwLG4udXNlQ2FsbGJhY2spKChlPT57Y29uc3Qgbj1hKCgwLHMuaGFzaEZyb21FdmVudCkoZSkpO24mJnQmJmUucHJldmVudERlZmF1bHQoKSxuJiZpJiZlLnN0b3BQcm9wYWdhdGlvbigpfSksW2FdKX1mdW5jdGlvbiBjKGUsdD0hMCl7cmV0dXJuIHIoWzEzLDMyXSxlLChmdW5jdGlvbihlKXtpZigxMz09PWUpcmV0dXJuIHQ7cmV0dXJuITB9KSl9ZnVuY3Rpb24gbChlLHQpe3JldHVybiByKFs5LCgwLG4udXNlQ2FsbGJhY2spKCgoKT0+cy5Nb2RpZmllcnMuU2hpZnQrOSksW10pLDI3XSx0LCgwLG4udXNlQ2FsbGJhY2spKCgoKT0+ZSksW2VdKSl9ZnVuY3Rpb24gdShlLHQpe3JldHVybiByKFs0MCwzOF0sdCwoMCxuLnVzZUNhbGxiYWNrKSgoKCk9PiFlKSxbZV0pKX19LDcxNzkzMihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHt1c2VNYXRjaE1lZGlhOigpPT5hLHVzZVNhZmVNYXRjaE1lZGlhOigpPT5zfSk7dmFyIG49aSg3Nzk0NzQpO2Z1bmN0aW9uIHMoZSx0PSExKXtjb25zdFtpLHNdPSgwLG4udXNlU3RhdGUpKHQpO3JldHVybigwLG4udXNlRWZmZWN0KSgoKCk9Pntjb25zdCB0PXdpbmRvdy5tYXRjaE1lZGlhKGUpO2Z1bmN0aW9uIGkoKXtzKHQubWF0Y2hlcyl9cmV0dXJuIGkoKSx0LmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsaSksKCk9Pnt0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNoYW5nZSIsaSl9fSksW2VdKSxpfWZ1bmN0aW9uIGEoZSl7Y29uc3QgdD0oMCxuLnVzZU1lbW8pKCgoKT0+d2luZG93Lm1hdGNoTWVkaWEoZSkubWF0Y2hlcyksW10pO3JldHVybiBzKGUsdCl9fSw0MTkxODEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Y3JlYXRlRG9tSWQ6KCk9PmQsam9pbkRvbUlkczooKT0+Y30pO2NvbnN0IG49L1xzL2c7ZnVuY3Rpb24gcyhlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGV9ZnVuY3Rpb24gYShlKXtzd2l0Y2godHlwZW9mIGUpe2Nhc2Uic3RyaW5nIjpyZXR1cm4gZTtjYXNlIm51bWJlciI6Y2FzZSJiaWdpbnQiOnJldHVybiBlLnRvU3RyaW5nKDEwKTtjYXNlImJvb2xlYW4iOmNhc2Uic3ltYm9sIjpyZXR1cm4gZS50b1N0cmluZygpO2RlZmF1bHQ6cmV0dXJuIG51bGx9fWZ1bmN0aW9uIHIoZSl7cmV0dXJuIGUudHJpbSgpLmxlbmd0aD4wfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIGUucmVwbGFjZShuLCItIil9ZnVuY3Rpb24gZCguLi5lKXtjb25zdCB0PWUubWFwKGEpLmZpbHRlcihzKS5maWx0ZXIocikubWFwKG8pO3JldHVybih0Lmxlbmd0aD4wJiZ0WzBdLnN0YXJ0c1dpdGgoImlkXyIpP3Q6WyJpZCIsLi4udF0pLmpvaW4oIl8iKX1mdW5jdGlvbiBjKC4uLmUpe3JldHVybiBlLm1hcChhKS5maWx0ZXIocykuZmlsdGVyKHIpLmpvaW4oIiAiKX19LDUxODc1KGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlKXtlLnByZXZlbnREZWZhdWx0KCl9aS5kKHQse3ByZXZlbnREZWZhdWx0OigpPT5uLHByZXZlbnREZWZhdWx0Rm9yQ29udGV4dE1lbnU6KCk9PmF9KTtjb25zdCBzPVsiaW5wdXQ6bm90KFt0eXBlXSkiLCdpbnB1dFt0eXBlPSJ0ZXh0Il0nLCdpbnB1dFt0eXBlPSJlbWFpbCJdJywnaW5wdXRbdHlwZT0icGFzc3dvcmQiXScsJ2lucHV0W3R5cGU9InNlYXJjaCJdJywnaW5wdXRbdHlwZT0ibnVtYmVyIl0nLCdpbnB1dFt0eXBlPSJ1cmwiXScsInRleHRhcmVhIiwiYVtocmVmXSIsJypbY29udGVudGVkaXRhYmxlPSJ0cnVlIl0nLCJbZGF0YS1hbGxvdy1jb250ZXh0LW1lbnVdIl07ZnVuY3Rpb24gYShlKXtjb25zdCB0PWUudGFyZ2V0O3QmJiF0LmNsb3Nlc3Qocy5qb2luKCIsICIpKSYmZS5wcmV2ZW50RGVmYXVsdCgpfX0sMTI5MzY1KGUsdCxpKXsidXNlIHN0cmljdCI7IWZ1bmN0aW9uIGUoKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyYmImZ1bmN0aW9uIj09dHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRSl0cnl7X19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLmNoZWNrRENFKGUpfWNhdGNoKGUpe2NvbnNvbGUuZXJyb3IoZSl9fSgpLGUuZXhwb3J0cz1pKDUzMjM4Nyl9LDE4NzQ0NShlLHQsaSl7InVzZSBzdHJpY3QiO2kucih0KSxpLmQodCx7cmVuZGVyV2lkZ2V0VGFiczooKT0+bH0pO3ZhciBuPWkoNzc5NDc0KSxzPWkoMTI5MzY1KSxhPWkoMzg3MjMxKSxyPWkoMzczNTc0KSxvPWkoNjkwMDk3KSxkPWkoNTAzNzE2KTtmdW5jdGlvbiBjKGUpe2NvbnN0IHQ9ZS5pdGVtc1swXSxbaSxzXT1uLnVzZVN0YXRlKHQpLGM9KDAsYS5tZXJnZVRoZW1lcykoKDAsYS5tZXJnZVRoZW1lcykoby5kZWZhdWx0VGhlbWUsZS50aGVtZT8/e30pLGQpLGw9KDAsbi51c2VDYWxsYmFjaykoKGU9Pmk9PT1lKSxbaV0pLHU9KDAsbi51c2VDYWxsYmFjaykoKHQ9PntzKHQpLGUub25BY3RpdmF0ZSh0KX0pLFtzLGUub25BY3RpdmF0ZV0pO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoci5TcXVhcmVUYWJzLHsuLi5lLHRoZW1lOmMsaXNBY3RpdmU6bCxvbkFjdGl2YXRlOnV9KX1hc3luYyBmdW5jdGlvbiBsKGUsdCxpLGEscil7Y29uc3Qgbz1yJiZhd2FpdCByKCk7cy5yZW5kZXIobi5jcmVhdGVFbGVtZW50KGMse2lkOmUsaXRlbXM6dCxvbkFjdGl2YXRlOmU9PmkoZS5pZCksdGhlbWU6byxzaXplOiJ4c21hbGwifSksYSl9fSw4NTY3NzAoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7bmFub2lkOigpPT5ufSkKO2xldCBuPShlPTIxKT0+Y3J5cHRvLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheShlKSkucmVkdWNlKCgoZSx0KT0+ZSs9KHQmPTYzKTwzNj90LnRvU3RyaW5nKDM2KTp0PDYyPyh0LTI2KS50b1N0cmluZygzNikudG9VcHBlckNhc2UoKTp0PjYyPyItIjoiXyIpLCIiKX0sODA5NDM2KGUpeyJ1c2Ugc3RyaWN0Igo7ZS5leHBvcnRzPUpTT04ucGFyc2UoJ3siZHVyIjoiMzUwbXMiLCJkdXItZmFzdCI6IjYwbXMiLCJlYXNlLWluLWxpa2UiOiJjdWJpYy1iZXppZXIoMC4zMywgMCwgMC4xMSwgMSkiLCJlYXNlLW91dC1saWtlIjoiY3ViaWMtYmV6aWVyKDAuODksIDAsIDAuNjcsIDEpIiwic2l6ZS1mZWVkLWl0ZW0td2lkdGgiOiI0ODBweCIsInNpemUtZmVlZC1oaWRlbnQiOiIyMHB4Iiwic2l6ZS1mZWVkLXZpZGVudCI6IjIwcHgiLCJzaXplLWJhc2UtaW5kZW50IjoiNHB4Iiwic2l6ZS1sYXlvdXQtc21hbGwtaG9yenBhZGRpbmciOiIxMnB4Iiwic2l6ZS1sYXlvdXQtaG9yenBhZGRpbmciOiIyMHB4Iiwic2l6ZS1kcmF3aW5ncy10b29sYmFyLWl0ZW0taGVpZ2h0IjoiMzhweCIsInNpemUtaGVhZGVyLWxpbmtpbmRlbnQiOiIxNXB4Iiwic2l6ZS1oZWFkZXItaGVpZ2h0IjoiNjRweCIsInNpemUtbmF2LWhlYWRlci1oZWlnaHQiOiI1OHB4Iiwic2l6ZS1zdGlja3ktc3ltYm9sLWhlYWRlci1oZWlnaHQiOiI2NHB4Iiwic2l6ZS1kaWFsb2ctZml4ZWQtaGVhZGVyLWhlaWdodCI6IjcycHgiLCJzaXplLXNpdGUtd2lkZ2V0LXBhZGRpbmciOiIyMHB4Iiwic2l6ZS1zaXRlLXdpZGdldC1wYWRkaW5nLXRhYmxldCI6IjEycHgiLCJzaXplLWNvbGxhcHNlLXRhYnMtaGVpZ2h0IjoiNTZweCIsInNpemUtbm8tc2Nyb2xsLWNob2ljZXItaGVpZ2h0IjoiNTZweCIsInNpemUtbWFpbi1jaGFydC1hcmVhLWluZGVudCI6IjRweCIsInNpemUtbWFpbi1jaGFydC1hcmVhLXJhZGl1cyI6IjAiLCJzaXplLXNlYXJjaGJhci1oZWlnaHQiOiI4MHB4Iiwic2l6ZS1zZWFyY2hiYXItaGVpZ2h0LXRhYmxldCI6IjU0cHgiLCJzaXplLXNlYXJjaGJhci1idG4td2lkdGgtdGFibGV0IjoiNjZweCIsInNpemUtY29udGVudC10b3AtdmluZGVudCI6IjQ4cHgiLCJzaXplLWxheW91dC13aWR0aCI6IjEwMjBweCIsInNpemUtbGF5b3V0LXdpZHRoLXdpZGUiOiIxNTIwcHgiLCJzaXplLWNoZWNrYm94LXNpZGUiOiIxOHB4Iiwic2l6ZS1jaGVja2JveC1jbGljay1leHBhbmQiOiIxMHB4Iiwic2l6ZS1jb250cm9sLWlucHV0LWhlaWdodC0teHNtYWxsIjoiMTlweCIsInNpemUtY29udHJvbC1pbnB1dC1oZWlnaHQtLXNtYWxsIjoiMjdweCIsInNpemUtY29udHJvbC1pbnB1dC1oZWlnaHQiOiIzNHB4Iiwic2l6ZS1jb250cm9sLWlucHV0LWhlaWdodC0tbGFyZ2UiOiI0OHB4Iiwic2l6ZS1jb250cm9sLWlucHV0LXBhZGRpbmctaG9yeiI6IjEycHgiLCJzaXplLXRhYnMtaG9yei1pbmRlbnQiOiIxNnB4Iiwic2l6ZS1hdmF0YXItYm9yZGVyLXJhZGl1cyI6IjNweCIsInNpemUtY2hhcnQtdmlldy1zcGFjaW5nIjoiMjVweCIsInNpemUtY2hhcnQtdmlldy1zcGFjaW5nLXRhYmxldCI6IjIwcHgiLCJyYWRpdXMtZW1iZWQtd2lkZ2V0LXdyYXBwZXIiOiIzcHgiLCJ0eXBvZ3JhcGh5LXBsYXRmb3JtLXJlZ3VsYXItMTZweC1saW5lLWhlaWdodCI6IjI0cHgiLCJ0eXBvZ3JhcGh5LXBsYXRmb3JtLXJlZ3VsYXItMThweC1saW5lLWhlaWdodCI6IjI4cHgiLCJtZWRpYS1ub3RlYm9vayI6ImFsbCBhbmQgKG1heC13aWR0aDogMTUzMHB4KSIsIm1lZGlhLXRhYmxldCI6ImFsbCBhbmQgKG1heC13aWR0aDogMTAxOXB4KSIsIm1lZGlhLXBob25lIjoiYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkiLCJtZWRpYS1waG9uZS12ZXJ0aWNhbCI6ImFsbCBhbmQgKG1heC13aWR0aDogNDc5cHgpIiwibWVkaWEtZXh0cmVtZS10aGluIjoiYWxsIGFuZCAobWF4LXdpZHRoOiAzMjlweCkiLCJtZWRpYS1zaG93LWRyYXdlciI6ImFsbCBhbmQgKG1heC13aWR0aDogNTY3cHgpIiwibWVkaWEtbWYtbGVnYWN5LXBob25lLXZlcnRpY2FsIjoiYWxsIGFuZCAobWluLXdpZHRoOiAzMzBweCkiLCJtZWRpYS1tZi1sZWdhY3ktcGhvbmUiOiJhbGwgYW5kIChtaW4td2lkdGg6IDQ4MHB4KSIsIm1lZGlhLW1mLWxlZ2FjeS1ub3RlYm9vayI6ImFsbCBhbmQgKG1pbi13aWR0aDogMTAyMHB4KSIsIm1lZGlhLW1mLWxlZ2FjeS1kZXNrdG9wLW1lZGl1bSI6ImFsbCBhbmQgKG1pbi13aWR0aDogMTQ4MHB4KSIsIm1lZGlhLW1mLWxlZ2FjeS1kZXNrdG9wIjoiYWxsIGFuZCAobWluLXdpZHRoOiAxNTMxcHgpIiwibWVkaWEtbWYtcGhvbmUtdmVydGljYWwiOiJhbGwgYW5kIChtaW4td2lkdGg6IDMyMHB4KSIsIm1lZGlhLW1mLXBob25lLWxhbmRzY2FwZSI6ImFsbCBhbmQgKG1pbi13aWR0aDogNTY4cHgpIiwibWVkaWEtbWYtdGFibGV0LXZlcnRpY2FsIjoiYWxsIGFuZCAobWluLXdpZHRoOiA3NjhweCkiLCJtZWRpYS1tZi10YWJsZXQtbGFuZHNjYXBlIjoiYWxsIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIiwibWVkaWEtbWYtbGFwdG9wIjoiYWxsIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIiwibWVkaWEtbWYtZGVza3RvcC1tZWRpdW0iOiJhbGwgYW5kIChtaW4td2lkdGg6IDE0NDBweCkiLCJtZWRpYS1tZi1kZXNrdG9wLWxhcmdlIjoiYWxsIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIiwibWVkaWEtbWYtZGVza3RvcC1leHRyYS1sYXJnZSI6ImFsbCBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSIsImNvbnRhaW5lci10YWJsZXQiOiIobWF4LXdpZHRoOiAxMDE5cHgpIiwiY29udGFpbmVyLXBob25lIjoiKG1heC13aWR0aDogNzY3cHgpIiwiY29udGFpbmVyLXBob25lLXZlcnRpY2FsIjoiKG1heC13aWR0aDogNDc5cHgpIiwiY29udGFpbmVyLW1mLXBob25lLXZlcnRpY2FsIjoiKG1pbi13aWR0aDogMzAwcHgpIiwiY29udGFpbmVyLW1mLXBob25lLWxhbmRzY2FwZSI6IihtaW4td2lkdGg6IDU0OHB4KSIsImNvbnRhaW5lci1tZi10YWJsZXQtdmVydGljYWwiOiIobWluLXdpZHRoOiA3MDJweCkiLCJjb250YWluZXItbWYtdGFibGV0LWxhbmRzY2FwZSI6IihtaW4td2lkdGg6IDk1OHB4KSIsImNvbnRhaW5lci1tZi1sYXB0b3AiOiIobWluLXdpZHRoOiAxMjE0cHgpIiwiY29udGFpbmVyLW1mLWRlc2t0b3AtbWVkaXVtIjoiKG1pbi13aWR0aDogMTM3NHB4KSIsImNvbnRhaW5lci1tZi1kZXNrdG9wLWxhcmdlIjoiKG1pbi13aWR0aDogMTg1NHB4KSIsImNvbnRhaW5lci1tZi1kZXNrdG9wLWV4dHJhLWxhcmdlIjoiKG1pbi13aWR0aDogMjQ5NHB4KSIsIm1lZGlhLWxhcHRvcCI6ImFsbCBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTQzOXB4KSIsIm1lZGlhLWxhcHRvcC1hbmQtZGVza3RvcC1tZWRpdW0iOiJhbGwgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkiLCJtZWRpYS1sYW5kc2NhcGUiOiJhbGwgYW5kIChtaW4tZGV2aWNlLXdpZHRoOiAzNzVweCkgYW5kIChtYXgtZGV2aWNlLWhlaWdodDogODEycHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkiLCJtZWRpYS1waG9uZS1sYW5kc2NhcGUiOiJhbGwgYW5kIChtYXgtaGVpZ2h0OiA0NDBweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSIsIm1lZGlhLXdpZGdldGJhci1icmVha3BvaW50IjoiYWxsIGFuZCAobWF4LXdpZHRoOiAxMDY0cHgpIiwiei1pbmRleC1jb250ZW50LXBhZ2UiOjEsInotaW5kZXgtY2hhcnQtbGVnZW5kIjo2LCJ6LWluZGV4LWNoYXJ0LXJpZ2h0LWNvcm5lci1jb250cm9scyI6Nywiei1pbmRleC1sb2FkaW5nLXNjcmVlbiI6OCwiei1pbmRleC1kcm9wZG93biI6OTksInotaW5kZXgtdG9vbGJhci1wb3B1cC1tZW51IjoxMDAsInotaW5kZXgtdG9vbHRpcCI6MTAwMCwiei1pbmRleC11c2VyLWxpbmstcG9wdXAiOjkwMCwiei1pbmRleC1zdGlja3ktc2VhcmNoLWJhciI6MTAxLCJ6LWluZGV4LXJlc2l6YWJsZS1kcmF3ZXIiOjgwMCwiei1pbmRleC1mdWxsc2NyZWVuIjoxMDIsImRpc2FibGVkLXN0YXRlLW9wYWNpdHkiOjAuNSwic2l6ZS1nYXAtbWluaW11bSI6IjIwcHgiLCJzaXplLWdhcC1tZWRpdW0iOiI0MHB4Iiwic2l6ZS1nYXAtbWF4aW11bSI6IjEwMHB4In0nKQp9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"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":"104.21.63.32","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.686Z","timestamp":1785120633686,"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://247optiontradefx.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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 200 \r\nx-amz-id-2: LhtraOG7O4UusfqU2hQ4IeHSHd5E+50CaXu/khwf7tzERv9LBjLjPZMC3vkJWnsQMXox5GWSzdFtfdy5sDGIo5d7Zgu9A1rp\r\nx-amz-request-id: 5X2HY92B73H4G8W0\r\ndate: Mon, 27 Jul 2026 02:50:33 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: 4392\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=CSYWpXqbqA%2FOQEhOWW4NGjSvVdmrfThKuitcsBKUUdBkyIbEk%2BbrN3XfjGDhB%2BsCDj0bvr1uTI2uyCjZPzuqMYLiR9V%2B%2BAEjNXvWnPzuOTlCgvgIVnz0XMASae%2FKOp1pIauwmjtBH4csDqbq\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=4,i\r\ncf-ray: a21856589ac68be6-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":"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":12328,"size_decoded":13305,"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-07-27T05:21:09.106741Z","times_seen":1469,"resource_available":false,"data":"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"}},"time_used":23,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":8,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/13148.32cc01dc01751b91682c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.870Z","timestamp":1785120633870,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/13148.32cc01dc01751b91682c.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"6a06d56c-12cc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 15 May 2026 08:12:28 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.53\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/15/2026 10:19:05\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 0b1083d00f3f0e2e23c9d7f2bb5efb41\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4812,"size_decoded":2619,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3061)","md5":"9eb8a2729659cd900aee823198b62b43","sha1":"27c53602ca760b97d71eef345b01c1d537900aad","sha256":"3ac4b66b0a6823b837035a5dfdf7fe41b01ccf2a2ac115b143c12356080ebdac","sha512":"6c86fb2c2378e589f4353d32a048ae866196581fc0a8a7ed13c379eb47eab41fcbfc0ee44f3ffe77ff3800136be1da4fbfecfe3456524b96712a1e5cef42945f","ssdeep":"96:FRi/jMMHFeHojARuZi0DWss7UebYiWWD+WRdiaEBymSM0qRIv0nrWvW1HN6Fb0so:rEjMMlIeARmLWss77bJWWD+WRd8ymSM9","tlshash":"66a1e987b9c2f0a063d9aca5953b054ae23d6c1c711bf0e8e2e9d5d19c7b10b9112f36","first_seen":"2026-05-15T11:49:16.287975Z","last_seen":"2026-07-27T05:15:36.991702Z","times_seen":3715,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMTMxNDhdLHs3MzU5ODModCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5kfSk7Y29uc3Qgbz1mdW5jdGlvbigpe3RoaXMuX19kYXRhX189W10sdGhpcy5zaXplPTB9O3ZhciByPW4oOTEwNzc4KTtjb25zdCBhPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXQubGVuZ3RoO24tLTspaWYoKDAsci5kZWZhdWx0KSh0W25dWzBdLGUpKXJldHVybiBuO3JldHVybi0xfTt2YXIgcz1BcnJheS5wcm90b3R5cGUuc3BsaWNlO2NvbnN0IGM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fX2RhdGFfXyxuPWEoZSx0KTtyZXR1cm4hKG48MCkmJihuPT1lLmxlbmd0aC0xP2UucG9wKCk6cy5jYWxsKGUsbiwxKSwtLXRoaXMuc2l6ZSwhMCl9O2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fX2RhdGFfXyxuPWEoZSx0KTtyZXR1cm4gbjwwP3ZvaWQgMDplW25dWzFdfTtjb25zdCB1PWZ1bmN0aW9uKHQpe3JldHVybiBhKHRoaXMuX19kYXRhX18sdCk+LTF9O2NvbnN0IGw9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLl9fZGF0YV9fLG89YShuLHQpO3JldHVybiBvPDA/KCsrdGhpcy5zaXplLG4ucHVzaChbdCxlXSkpOm5bb11bMV09ZSx0aGlzfTtmdW5jdGlvbiBmKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgbz10W2VdO3RoaXMuc2V0KG9bMF0sb1sxXSl9fWYucHJvdG90eXBlLmNsZWFyPW8sZi5wcm90b3R5cGUuZGVsZXRlPWMsZi5wcm90b3R5cGUuZ2V0PWksZi5wcm90b3R5cGUuaGFzPXUsZi5wcm90b3R5cGUuc2V0PWw7Y29uc3QgZD1mfSw2OTQyMSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbz1uKDE2MjMxNikscj1uKDk4MTUyMyk7Y29uc3QgYT0oMCxvLmRlZmF1bHQpKHIuZGVmYXVsdCwiTWFwIil9LDcxMzE0OCh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pnp9KTtjb25zdCBvPSgwLG4oMTYyMzE2KS5kZWZhdWx0KShPYmplY3QsImNyZWF0ZSIpO2NvbnN0IHI9ZnVuY3Rpb24oKXt0aGlzLl9fZGF0YV9fPW8/byhudWxsKTp7fSx0aGlzLnNpemU9MH07Y29uc3QgYT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmhhcyh0KSYmZGVsZXRlIHRoaXMuX19kYXRhX19bdF07cmV0dXJuIHRoaXMuc2l6ZS09ZT8xOjAsZX07dmFyIHM9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBjPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX187aWYobyl7dmFyIG49ZVt0XTtyZXR1cm4iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI9PT1uP3ZvaWQgMDpufXJldHVybiBzLmNhbGwoZSx0KT9lW3RdOnZvaWQgMH07dmFyIGk9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCB1PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX187cmV0dXJuIG8/dm9pZCAwIT09ZVt0XTppLmNhbGwoZSx0KX07Y29uc3QgbD1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuX19kYXRhX187cmV0dXJuIHRoaXMuc2l6ZSs9dGhpcy5oYXModCk/MDoxLG5bdF09byYmdm9pZCAwPT09ZT8iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI6ZSx0aGlzfTtmdW5jdGlvbiBmKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgbz10W2VdO3RoaXMuc2V0KG9bMF0sb1sxXSl9fWYucHJvdG90eXBlLmNsZWFyPXIsZi5wcm90b3R5cGUuZGVsZXRlPWEsZi5wcm90b3R5cGUuZ2V0PWMsZi5wcm90b3R5cGUuaGFzPXUsZi5wcm90b3R5cGUuc2V0PWw7Y29uc3QgZD1mO3ZhciBfPW4oNzM1OTgzKSxoPW4oNjk0MjEpO2NvbnN0IHA9ZnVuY3Rpb24oKXt0aGlzLnNpemU9MCx0aGlzLl9fZGF0YV9fPXtoYXNoOm5ldyBkLG1hcDpuZXcoaC5kZWZhdWx0fHxfLmRlZmF1bHQpLHN0cmluZzpuZXcgZH19O2NvbnN0IHY9ZnVuY3Rpb24odCl7dmFyIGU9dHlwZW9mIHQ7cmV0dXJuInN0cmluZyI9PWV8fCJudW1iZXIiPT1lfHwic3ltYm9sIj09ZXx8ImJvb2xlYW4iPT1lPyJfX3Byb3RvX18iIT09dDpudWxsPT09dH07Y29uc3QgeT1mdW5jdGlvbih0LGUpe3ZhciBuPXQuX19kYXRhX187cmV0dXJuIHYoZSk/blsic3RyaW5nIj09dHlwZW9mIGU/InN0cmluZyI6Imhhc2giXTpuLm1hcH07Y29uc3QgZz1mdW5jdGlvbih0KXt2YXIgZT15KHRoaXMsdCkuZGVsZXRlKHQpO3JldHVybiB0aGlzLnNpemUtPWU/MTowLGV9O2NvbnN0IGI9ZnVuY3Rpb24odCl7cmV0dXJuIHkodGhpcyx0KS5nZXQodCl9O2NvbnN0IGo9ZnVuY3Rpb24odCl7cmV0dXJuIHkodGhpcyx0KS5oYXModCl9O2NvbnN0IE89ZnVuY3Rpb24odCxlKXt2YXIgbj15KHRoaXMsdCksbz1uLnNpemU7cmV0dXJuIG4uc2V0KHQsZSksdGhpcy5zaXplKz1uLnNpemU9PW8/MDoxLHRoaXN9O2Z1bmN0aW9uIHcodCl7dmFyIGU9LTEsbj1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK2U8bjspe3ZhciBvPXRbZV07dGhpcy5zZXQob1swXSxvWzFdKX19dy5wcm90b3R5cGUuY2xlYXI9cCx3LnByb3RvdHlwZS5kZWxldGU9Zyx3LnByb3RvdHlwZS5nZXQ9Yix3LnByb3RvdHlwZS5oYXM9aix3LnByb3RvdHlwZS5zZXQ9Tztjb25zdCB6PXd9LDg3Mjk5OSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTtjb25zdCBvPW4oOTgxNTIzKS5kZWZhdWx0LlN5bWJvbH0sMTc4NDk3KHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+ZH0pO3ZhciBvPW4oODcyOTk5KSxyPU9iamVjdC5wcm90b3R5cGUsYT1yLmhhc093blByb3BlcnR5LHM9ci50b1N0cmluZyxjPW8uZGVmYXVsdD9vLmRlZmF1bHQudG9TdHJpbmdUYWc6dm9pZCAwO2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9YS5jYWxsKHQsYyksbj10W2NdO3RyeXt0W2NdPXZvaWQgMDt2YXIgbz0hMH1jYXRjaCh0KXt9dmFyIHI9cy5jYWxsKHQpO3JldHVybiBvJiYoZT90W2NdPW46ZGVsZXRlIHRbY10pLHJ9O3ZhciB1PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7Y29uc3QgbD1mdW5jdGlvbih0KXtyZXR1cm4gdS5jYWxsKHQpfQo7dmFyIGY9by5kZWZhdWx0P28uZGVmYXVsdC50b1N0cmluZ1RhZzp2b2lkIDA7Y29uc3QgZD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD92b2lkIDA9PT10PyJbb2JqZWN0IFVuZGVmaW5lZF0iOiJbb2JqZWN0IE51bGxdIjpmJiZmIGluIE9iamVjdCh0KT9pKHQpOmwodCl9fSw2MDI5NDIodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5vfSk7Y29uc3Qgbz0ib2JqZWN0Ij09dHlwZW9mIG4uZyYmbi5nJiZuLmcuT2JqZWN0PT09T2JqZWN0JiZuLmd9LDE2MjMxNih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pmd9KTt2YXIgbz1uKDkyODEzMik7Y29uc3Qgcj1uKDk4MTUyMykuZGVmYXVsdFsiX19jb3JlLWpzX3NoYXJlZF9fIl07dmFyIGEscz0oYT0vW14uXSskLy5leGVjKHImJnIua2V5cyYmci5rZXlzLklFX1BST1RPfHwiIikpPyJTeW1ib2woc3JjKV8xLiIrYToiIjtjb25zdCBjPWZ1bmN0aW9uKHQpe3JldHVybiEhcyYmcyBpbiB0fTt2YXIgaT1uKDg4MDExNSksdT1uKDczMDUwMyksbD0vXlxbb2JqZWN0IC4rP0NvbnN0cnVjdG9yXF0kLyxmPUZ1bmN0aW9uLnByb3RvdHlwZSxkPU9iamVjdC5wcm90b3R5cGUsXz1mLnRvU3RyaW5nLGg9ZC5oYXNPd25Qcm9wZXJ0eSxwPVJlZ0V4cCgiXiIrXy5jYWxsKGgpLnJlcGxhY2UoL1tcXF4kLiorPygpW1xde318XS9nLCJcXCQmIikucmVwbGFjZSgvaGFzT3duUHJvcGVydHl8KGZ1bmN0aW9uKS4qPyg/PVxcXCgpfCBmb3IgLis/KD89XFxcXSkvZywiJDEuKj8iKSsiJCIpO2NvbnN0IHY9ZnVuY3Rpb24odCl7cmV0dXJuISghKDAsaS5kZWZhdWx0KSh0KXx8Yyh0KSkmJigoMCxvLmRlZmF1bHQpKHQpP3A6bCkudGVzdCgoMCx1LmRlZmF1bHQpKHQpKX07Y29uc3QgeT1mdW5jdGlvbih0LGUpe3JldHVybiBudWxsPT10P3ZvaWQgMDp0W2VdfTtjb25zdCBnPWZ1bmN0aW9uKHQsZSl7dmFyIG49eSh0LGUpO3JldHVybiB2KG4pP246dm9pZCAwfX0sOTgxNTIzKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBvPW4oNjAyOTQyKSxyPSJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZiYmc2VsZi5PYmplY3Q9PT1PYmplY3QmJnNlbGY7Y29uc3QgYT1vLmRlZmF1bHR8fHJ8fEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCl9LDczMDUwMyh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgbz1GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmc7Y29uc3Qgcj1mdW5jdGlvbih0KXtpZihudWxsIT10KXt0cnl7cmV0dXJuIG8uY2FsbCh0KX1jYXRjaCh0KXt9dHJ5e3JldHVybiB0KyIifWNhdGNoKHQpe319cmV0dXJuIiJ9fSw5MTA3NzgodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5vfSk7Y29uc3Qgbz1mdW5jdGlvbih0LGUpe3JldHVybiB0PT09ZXx8dCE9dCYmZSE9ZX19LDkyODEzMih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbz1uKDE3ODQ5Nykscj1uKDg4MDExNSk7Y29uc3QgYT1mdW5jdGlvbih0KXtpZighKDAsci5kZWZhdWx0KSh0KSlyZXR1cm4hMTt2YXIgZT0oMCxvLmRlZmF1bHQpKHQpO3JldHVybiJbb2JqZWN0IEZ1bmN0aW9uXSI9PWV8fCJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSI9PWV8fCJbb2JqZWN0IEFzeW5jRnVuY3Rpb25dIj09ZXx8IltvYmplY3QgUHJveHldIj09ZX19LDg4MDExNSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTtjb25zdCBvPWZ1bmN0aW9uKHQpe3ZhciBlPXR5cGVvZiB0O3JldHVybiBudWxsIT10JiYoIm9iamVjdCI9PWV8fCJmdW5jdGlvbiI9PWUpfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/94708.73d2bca37207c67a41f4.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.892Z","timestamp":1785120633892,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/94708.73d2bca37207c67a41f4.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-8b98\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: f60a828a5e7bb6e58171bda6ebd65a94\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":35736,"size_decoded":12654,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3065)","md5":"eb8c592becd98b3361efe0b94719d5c6","sha1":"a0d1ee8521cfba7aa407ac50937aedd5f39bf878","sha256":"647fb8708ead9f5ba58a75d3b5e6d45f3df1f26a67f068d19a46752de40e327d","sha512":"27e850e1b55df1bfb523a33007db88c5bf3fca11c34b9f448fad508275031d48062410c7e49cd891d38f4058b2dad657828a8ce9f5a047b24a8804c477a90feb","ssdeep":"768:Qy2uEBDBP0oAifg+OMQjn3FMjhYVwPn9/meP+Tjwqcq8xGQKpb5dg+xU7wbwpEvK:k950TT3WOOP9AsqcK555x/dMDjcXRdH6","tlshash":"f4f2f917f1a7b46693db809ae4724213a33c18013d05486dbabc9ddd2a3f942b663f7d","first_seen":"2026-07-23T13:38:20.417189Z","last_seen":"2026-07-27T05:16:58.414957Z","times_seen":749,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTQ3MDhdLHs5MzAyMzEoZSx0LHMpe3MuZCh0LHtpc0ZlYXR1cmVzZXRFbmFibGVkOigpPT5hfSk7dmFyIG49cyg2MzUxOCk7Y29uc3QgaT1uZXcgTWFwLG89bmV3IE1hcCxyPW5ldyBTZXQ7ZnVuY3Rpb24gYShlKXtjb25zdCB0PWkuZ2V0KGUpO2lmKHZvaWQgMCE9PXQpcmV0dXJuIHQ7Y29uc3Qgcz1vLmdldChlKTtyZXR1cm4hIXMmJnMuc29tZShhKX1mdW5jdGlvbiBkKGUsdCl7aS5zZXQoU3RyaW5nKGUpLEJvb2xlYW4odCkpfSFmdW5jdGlvbigpe2Zvcihjb25zdFtlLHRdb2YgT2JqZWN0LmVudHJpZXMobikpaWYoci5hZGQoZSksInN1YnNldHMiaW4gdClmb3IoY29uc3QgcyBvZiB0LnN1YnNldHMpe3IuYWRkKHMpO2xldCB0PW8uZ2V0KHMpO3ZvaWQgMD09PXQmJih0PVtdLG8uc2V0KHMsdCkpLHQucHVzaChlKX19KCksIm9iamVjdCI9PXR5cGVvZiBfX2luaXRpYWxEaXNhYmxlZEZlYXR1cmVzZXRzJiZBcnJheS5pc0FycmF5KF9faW5pdGlhbERpc2FibGVkRmVhdHVyZXNldHMpJiZfX2luaXRpYWxEaXNhYmxlZEZlYXR1cmVzZXRzLmZvckVhY2goKGZ1bmN0aW9uKGUpe2QoZSwhMSl9KSksIm9iamVjdCI9PXR5cGVvZiBfX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMmJkFycmF5LmlzQXJyYXkoX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzKSYmX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzLmZvckVhY2goKGZ1bmN0aW9uKGUpe2QoZSwhMCl9KSl9LDg1NjE5NihlLHQscyl7cy5kKHQse3Nob3VsZEFmZmVjdFVzZXI6KCk9PmR9KTt2YXIgbj1zKDEwMDU5NSksaT1zLm4obiksbz1zKDkzMjM2NSk7Y29uc3Qgcj0iZmVhdHVyZXRvZ2dsZV9zZWVkIjtmdW5jdGlvbiBhKGUpe3RyeXtjb25zdCB0PWkoKShlK2Z1bmN0aW9uKCl7aWYod2luZG93LnVzZXImJndpbmRvdy51c2VyLmlkKXJldHVybiB3aW5kb3cudXNlci5pZDtjb25zdCBlPW8uVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShyKTtpZihudWxsIT09ZSlyZXR1cm4gZTtjb25zdCB0PU1hdGguZmxvb3IoMWU2Kk1hdGgucmFuZG9tKCkpO3JldHVybiBvLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0ocixgJHt0fWApLHR9KCkpLHM9bmV3IERhdGFWaWV3KHQpO3JldHVybiBzLmdldFVpbnQzMigwLCEwKS80Mjk0OTY3Mjk2fWNhdGNoKGUpe3JldHVybi41fX1mdW5jdGlvbiBkKGUsdCl7cmV0dXJuIGEoZSk8PXR9fSwxNTk1MTMoZSx0LHMpe3MuZCh0LHtnZXRRdW90ZVNlc3Npb25JbnN0YW5jZTooKT0+YX0pO3ZhciBuPXMoOTI3NTkzKSxpPXMoNzU1NjI3KSxvPXMoMTUwMTUwKTtjb25zdCByPXt9O2Z1bmN0aW9uIGEoZT0iZnVsbCIpe3JldHVybiByW2VdfHxmdW5jdGlvbihlPSJmdWxsIix0KXtyW2VdPXR9KGUsbmV3IG4uUXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXIoe25hbWU6ZSxhcGk6d2luZG93LkNoYXJ0QXBpSW5zdGFuY2UsZmllbGRzOmRbZV0sZXh0ZW5zaW9uczp7Zm9ybWF0dGVyOmU9Pm5ldyB1KGUpLmZvcm1hdHRlcixzbmFwc2hvdDplPT5uZXcgYyhlKS5zbmFwc2hvdH19KSkscltlXX1jb25zdCBkPXtzaW1wbGU6WyJiYXNlLWN1cnJlbmN5LWxvZ29pZCIsImxvZ28iLCJjaCIsImNocCIsImN1cnJlbmN5LWxvZ29pZCIsImN1cnJlbmN5X2NvZGUiLCJjdXJyZW5jeV9pZCIsImJhc2VfY3VycmVuY3lfaWQiLCJjdXJyZW50X3Nlc3Npb24iLCJkZXNjcmlwdGlvbiIsImV4Y2hhbmdlIiwiZm9ybWF0IiwiZnJhY3Rpb25hbCIsImlzX3RyYWRhYmxlIiwibGFuZ3VhZ2UiLCJsb2NhbF9kZXNjcmlwdGlvbiIsImxpc3RlZF9leGNoYW5nZSIsImxvZ29pZCIsImxwIiwibHBfdGltZSIsIm1pbm1vdiIsIm1pbm1vdmUyIiwib3JpZ2luYWxfbmFtZSIsInByaWNlc2NhbGUiLCJwcm9fbmFtZSIsInNob3J0X25hbWUiLCJ0eXBlIiwidHlwZXNwZWNzIiwidXBkYXRlX21vZGUiLCJ2b2x1bWUiLCJ2YXJpYWJsZV90aWNrX3NpemUiLCJ2YWx1ZV91bml0X2lkIiwidW5pdF9pZCIsIm1lYXN1cmUiXX07ZC5zaW1wbGVEZXRhaWxlZD1bLi4uZC5zaW1wbGUsImFzayIsImJpZCIsImZ1bmRhbWVudGFscyIsImhpZ2hfcHJpY2UiLCJpc190cmFkYWJsZSIsImxvd19wcmljZSIsIm9wZW5fcHJpY2UiLCJwcmV2X2Nsb3NlX3ByaWNlIiwicmNoIiwicmNocCIsInJ0YyIsInJ0Y190aW1lIiwic3RhdHVzIiwiYmFzaWNfZXBzX25ldF9pbmNvbWUiLCJiZXRhXzFfeWVhciIsImVhcm5pbmdzX3Blcl9zaGFyZV9iYXNpY190dG0iLCJpbmR1c3RyeSIsIm1hcmtldF9jYXBfYmFzaWMiLCJwcmljZV9lYXJuaW5nc190dG0iLCJzZWN0b3IiLCJ2b2x1bWUiLCJkaXZpZGVuZHNfeWllbGQiLCJ0aW1lem9uZSJdLGQuZnVsbD1bXSxkLndhdGNobGlzdD1bLi4uZC5zaW1wbGUsInJjaHAiLCJuY2hwIiwicnRjIiwiY291bnRyeV9jb2RlIiwicHJvdmlkZXJfaWQiLCJkaXZpZGVuZHNfYXZhaWxhYmlsaXR5IiwiZmluYW5jaWFsc19hdmFpbGFiaWxpdHkiLCJlYXJuaW5nc19hdmFpbGFiaWxpdHkiXSwKZC5wb3J0Zm9saW89WyJwcm9fbmFtZSIsInNob3J0X25hbWUiLCJleGNoYW5nZSIsImxpc3RlZF9leGNoYW5nZSIsImRlc2NyaXB0aW9uIiwibG9jYWxfZGVzY3JpcHRpb24iLCJsYW5ndWFnZSIsInNlY3RvciIsInR5cGUiLCJ0eXBlc3BlY3MiLCJpbmR1c3RyeSIsImN1cnJlbmN5X2NvZGUiLCJjdXJyZW5jeV9pZCIsImNoIiwiY2hwIiwibG9nbyIsImxvZ29pZCIsImN1cnJlbmN5LWxvZ29pZCIsImJhc2UtY3VycmVuY3ktbG9nb2lkIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnEiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZSIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcSIsImxwIiwiZnJhY3Rpb25hbCIsIm1pbm1vdiIsIm1pbm1vdmUyIiwicHJpY2VzY2FsZSIsInZvbHVtZSIsImF2ZXJhZ2Vfdm9sdW1lIiwibWFya2V0X2NhcF9jYWxjIiwibWFya2V0X2NhcF9iYXNpYyIsInRvdGFsX3JldmVudWUiLCJlYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtIiwicHJpY2VfZWFybmluZ3NfdHRtIiwiYmV0YV8xX3llYXIiLCJkcHNfY29tbW9uX3N0b2NrX3ByaW1faXNzdWVfZnkiLCJkaXZpZGVuZHNfeWllbGQiLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIiwicmF0ZXNfbWMiLCJyYXRlc19meSIsInJhdGVzX3R0bSIsImZvcm1hdCIsInZhbHVlX3VuaXRfaWQiLCJ1bml0X2lkIiwibWVhc3VyZSJdLGQubm90ZXM9WyJzaG9ydF9uYW1lIiwicHJvX25hbWUiLCJsb2dvaWQiLCJjdXJyZW5jeS1sb2dvaWQiLCJiYXNlLWN1cnJlbmN5LWxvZ29pZCIsImxvZ28iLCJzeW1ib2wtcHJpbWFyeW5hbWUiLCJ0eXBlIiwidHlwZXNwZWNzIl0sZC5lc3RpbWF0ZXM9WyJmdW5kYW1lbnRhbF9kYXRhIiwidHlwZSIsInR5cGVzcGVjcyIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X3N5bWJvbF9jdXJyZW5jeV9mcSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9hbGlnbmVkX2RhdGUiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfY2FsZW5kYXJfZGF0ZSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlIl0sZC5lY29ub21pYz1bInJlZmVyZW5jZS1sYXN0LXBlcmlvZCIsImxwIiwiY3VycmVuY3lfY29kZSIsInZhbHVlX3VuaXRfaWQiLCJ1bml0X2lkIiwibWVhc3VyZSJdLGQub3B0aW9ucz1bImFzayIsImJpZCIsImxwIiwidm9sdW1lIiwiY2giLCJjaHAiXTtjbGFzcyB1e2NvbnN0cnVjdG9yKGUpe3RoaXMuX2Zvcm1hdHRlclZhbHVlc0NhY2hlPXt9LHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzPXt9LHRoaXMuZm9ybWF0dGVyPShlLHQpPT57aWYodGhpcy5fd2FpdGluZ0ZvckZvcm1hdHRlcnNbZV0pcmV0dXJuIHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzW2VdO2Z1bmN0aW9uIHMoZSl7Y29uc3Qgcz10JiYhZS5mcmFjdGlvbmFsPzE6ZS5taW5tb3Y7cmV0dXJuIG5ldyBpLlByaWNlRm9ybWF0dGVyKHtwcmljZVNjYWxlOmUucHJpY2VzY2FsZSxtaW5Nb3ZlOnMsZnJhY3Rpb25hbDplLmZyYWN0aW9uYWwsbWluTW92ZTI6ZS5taW5tb3ZlMn0pfWNvbnN0IG49bmV3IFByb21pc2UoKCh0LG4pPT57aWYodGhpcy5fZm9ybWF0dGVyVmFsdWVzQ2FjaGVbZV0pdChzKHRoaXMuX2Zvcm1hdHRlclZhbHVlc0NhY2hlW2VdKSk7ZWxzZXtjb25zdCBpPSgwLG8uZ3VpZCkoKTt0aGlzLl9tdWx0aXBsZXhlci5zdWJzY3JpYmUoaSxbZV0sKG89PnsiZXJyb3IiPT09by5zdGF0dXMmJih0aGlzLl93YWl0aW5nRm9yRm9ybWF0dGVyc1tlXT1udWxsLG4oIlF1b3RlcyBzbmFwc2hvdCBpcyBub3QgcmVjZWl2ZWQiKSksZnVuY3Rpb24oZSl7cmV0dXJuIGUmJm51bGwhPWUucHJpY2VzY2FsZSYmbnVsbCE9ZS5taW5tb3Z9KG8udmFsdWVzKSYmKHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzW2VdPW51bGwsdGhpcy5fZm9ybWF0dGVyVmFsdWVzQ2FjaGVbZV09by52YWx1ZXMsdChzKG8udmFsdWVzKSksdGhpcy5fbXVsdGlwbGV4ZXIudW5zdWJzY3JpYmUoaSxlKSl9KSl9fSkpO3JldHVybiB0aGlzLl93YWl0aW5nRm9yRm9ybWF0dGVyc1tlXT1uLG59LHRoaXMuX211bHRpcGxleGVyPWV9fWNsYXNzIGN7Y29uc3RydWN0b3IoZSl7dGhpcy5fc25hcHNob3RWYWx1ZXNDYWNoZT17fSx0aGlzLl93YWl0aW5nRm9yU25hcHNob3Q9e30sdGhpcy5zbmFwc2hvdD1lPT57aWYodGhpcy5fd2FpdGluZ0ZvclNuYXBzaG90W2VdKXJldHVybiB0aGlzLl93YWl0aW5nRm9yU25hcHNob3RbZV07Y29uc3QgdD1uZXcgUHJvbWlzZSgoKHQscyk9PntpZih0aGlzLl9zbmFwc2hvdFZhbHVlc0NhY2hlW2VdKXQodGhpcy5fc25hcHNob3RWYWx1ZXNDYWNoZVtlXSk7ZWxzZXtjb25zdCBuPSgwLG8uZ3VpZCkoKTt0aGlzLl9tdWx0aXBsZXhlci5zdWJzY3JpYmUobixbZV0sKGk9PnsiZXJyb3IiPT09aS5zdGF0dXMmJih0aGlzLl93YWl0aW5nRm9yU25hcHNob3RbZV09bnVsbCxzKCJRdW90ZXMgc25hcHNob3QgaXMgbm90IHJlY2VpdmVkIikpO2NvbnN0IG89aS52YWx1ZXM7byYmby5taW5tb3YmJm8ucHJpY2VzY2FsZSYmby5kZXNjcmlwdGlvbiYmKHRoaXMuX3dhaXRpbmdGb3JTbmFwc2hvdFtlXT1udWxsLHRoaXMuX3NuYXBzaG90VmFsdWVzQ2FjaGVbZV09byx0KG8pLHRoaXMuX211bHRpcGxleGVyLnVuc3Vic2NyaWJlKG4sZSkpfSkpfX0pKTtyZXR1cm4gdGhpcy5fd2FpdGluZ0ZvclNuYXBzaG90W2VdPXQsdH0sdGhpcy5fbXVsdGlwbGV4ZXI9ZX19InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJih3aW5kb3cuZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2U9YSl9LDUzNTMwKGUsdCxzKXtzLmQodCx7Z2V0TWluVGlja0RhdGE6KCk9PmQsbWFrZVZhcmlhYmxlTWluVGlja0RhdGE6KCk9PmN9KTt2YXIgbj1zKDcxMjc0NSksaT1zKDYwMTg0MSksbz1zKDUzNDQ0MCkscj1zKDY0MDc0NCk7ZnVuY3Rpb24gYShlKXtyZXR1cm4gZT8oMCxuLkJpZykoZS5taW5Nb3ZlKS5kaXYoZS5wcmljZVNjYWxlKS50b051bWJlcigpOk5hTn1mdW5jdGlvbiBkKGUpe2NvbnN0e21pblRpY2s6dCxwcmljZTpzLHZhcmlhYmxlTWluVGlja0RhdGE6bixzaG91bGRDaGVja0ZvckVxdWFsaXR5Om99PWUscj0oMCwKaS5pc051bWJlcikodCk/dSh0KTp0O3JldHVybiB2b2lkIDA9PT1uP3I6ZnVuY3Rpb24oZSx0LHM9ITEpe2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKXtpZihlPHRbbl0ucHJpY2UpcmV0dXJuIHRbbl0ubWluVGljaztpZihzJiZlPT09dFtuXS5wcmljZSlyZXR1cm4gdFtuXS5taW5UaWNrfXJldHVybiB0W3QubGVuZ3RoLTFdLm1pblRpY2t9KHMsbixvKX1mdW5jdGlvbiB1KGUpe2NvbnN0IHQ9KDAsby5udW1PZkRlY2ltYWxQbGFjZXMpKGUpLHM9TWF0aC5wb3coMTAsdCk7cmV0dXJue3ByaWNlU2NhbGU6cyxtaW5Nb3ZlOigwLG4uQmlnKShlKS5tdWwocykudG9OdW1iZXIoKX19ZnVuY3Rpb24gYyhlLHQpe2NvbnN0IHM9W3ttaW5UaWNrOigwLGkuaXNOdW1iZXIpKGUpP3UoZSk6ZSxwcmljZToxLzAsbWF4SW5kZXg6MS8wfV07dHJ5e2NvbnN0IGU9dC5zcGxpdCgiICIpLm1hcCgoKGUsdCk9PigwLHIuaXNFdmVuKSh0KT9mdW5jdGlvbihlKXtjb25zdCB0PU51bWJlcihlKTtpZihOdW1iZXIuaXNGaW5pdGUodCkpcmV0dXJuIHUodCk7e2NvbnN0IHQ9ZS5zcGxpdCgiLyIpO2lmKHQubGVuZ3RoPDJ8fHQubGVuZ3RoPjMpdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIG1pbnRpY2s6ICR7ZX1gKTtjb25zdCBzPU51bWJlcih0WzFdKSxuPU51bWJlcih0WzBdKTtpZighTnVtYmVyLmlzRmluaXRlKHMpfHwhTnVtYmVyLmlzRmluaXRlKG4pKXRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBtaW50aWNrOiAke2V9YCk7Y29uc3QgaT0zPT09dC5sZW5ndGg/TnVtYmVyKHRbMl0pOnZvaWQgMDtpZih2b2lkIDAhPT1pJiYhTnVtYmVyLmlzRmluaXRlKGkpKXRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBtaW50aWNrOiAke2V9YCk7Y29uc3Qgbz17cHJpY2VTY2FsZTpzLG1pbk1vdmU6bn07cmV0dXJuIHZvaWQgMCE9PWkmJihvLm1pbk1vdmUyPWkpLG99fShlKTpmdW5jdGlvbihlKXtjb25zdCB0PU51bWJlcihlKTtpZihOdW1iZXIuaXNOYU4odCkpdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIHByaWNlIGxpbWl0OiAke2V9YCk7cmV0dXJuIHR9KGUpKSk7aWYoKDAsci5pc0V2ZW4pKGUubGVuZ3RoKSl0aHJvdyBuZXcgRXJyb3IoIlRoZW1lIG11c3Qgbm90IGJlIGV2ZW50IG51bWJlciBvZiBlbGVtZW50cyIpO2NvbnN0IHM9W107Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kz0yKXtjb25zdCBpPWVbdCsxXT8/MS8wLG89c1tzLmxlbmd0aC0xXT8ucHJpY2U/PzAscj1zW3MubGVuZ3RoLTFdPy5tYXhJbmRleD8/MCxkPWk9PT0xLzA/MS8wOm5ldyBuLkJpZyhpKS5taW51cyhvKS5kaXYoYShlW3RdKSkucGx1cyhyKS50b051bWJlcigpO3MucHVzaCh7bWluVGljazplW3RdLHByaWNlOmksbWF4SW5kZXg6ZH0pfXJldHVybiBzfWNhdGNoe3JldHVybiBzfX19LDgyMjQzMShlLHQscyl7cy5kKHQse251bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvOigpPT5pfSk7dmFyIG49cyg2MDE4NDEpO2Z1bmN0aW9uIGkoZSx0KXtpZighKDAsbi5pc051bWJlcikoZSkpcmV0dXJuIm4vYSI7aWYoISgwLG4uaXNJbnRlZ2VyKSh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGxlbmd0aCIpO2lmKHQ8MHx8dD4yNCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGxlbmd0aCIpO2lmKDA9PT10KXJldHVybiBlLnRvU3RyaW5nKCk7cmV0dXJuKCIwMDAwMDAwMDAwMDAwMDAwMDAwMCIrZS50b1N0cmluZygpKS5zbGljZSgtdCl9fSwzNjc5NDYoZSx0LHMpe2Z1bmN0aW9uIG4oZSl7Y29uc3QgdD1mdW5jdGlvbihlKXtpZih2b2lkIDA9PT1lKXJldHVybiBudWxsO2NvbnN0IHQ9ZS5tYXRjaCgvKGRlbGF5ZWRfc3RyZWFtaW5nKV8oXGQrKS8pO3JldHVybiBudWxsPT09dD9udWxsOnttb2RlOnRbMV0saW50ZXJ2YWw6cGFyc2VJbnQodFsyXSl9fShlLnVwZGF0ZV9tb2RlKTtyZXR1cm4gbnVsbD09PXR8fChlLnVwZGF0ZV9tb2RlPXQubW9kZSxlLnVwZGF0ZV9tb2RlX3NlY29uZHM9dC5pbnRlcnZhbCksZX1zLmQodCx7bm9ybWFsaXplVXBkYXRlTW9kZTooKT0+bn0pfSw3MjI1NzEoZSx0LHMpe3ZhciBuPXMoMjAzNjgxKSxpPXMoNTQ3ODUxKSxvPXMoMjA2NjczKSxyPXMoMzA0MjIxKSxhPXMoODE3MzUwKSxkPXMoMTM4NjM4KSx1PXMoNjAxODQxKSxjPXMoMjMyMzY0KSxsPXMoMjIxMDYxKSxoPXMoNzgwOTc1KSxfPXMoNzczMDg4KSxtPXMoOTMwMjMxKSxmPXMoNjA2MTApLHA9cyg0MDM2KSxnPXMoNTIxMzMzKSx5PXMoMjE3NTI3KSxiPXMoNzQ2OTQ5KSx3PXMoNjYxODU4KSxDPXMoMzg0MDE3KSxrPXMoODg5NTE1KSx2PXMoNzY4NzYwKSxTPXMoNTg5NzQ5KSxNPXMoMTE2MzEwKSxSPXMoNDc5MzQpLFQ9cyg1NjkzOTgpLHE9cyg4NjIyMTMpLE49cygxMTczMTMpLEQ9cygxNTY4NTApLEk9cyg2NDA3NDQpLFA9cyg3ODMzNDApLEU9cyg5MzAwNDUpLEY9cyg0NjM0NDcpO2NvbnN0IHg9KDAsbC5nZXRMb2dnZXIpKCJDaGFydC5TdHVkaWVzLlN0dWR5TWV0YUluZm9SZXBvc2l0b3J5Iix7Y29sb3I6IiM2MDYifSksSD0oMCxsLmdldExvZ2dlcikoIkNoYXJ0QXBpLlRyYWZmaWNNZXRlciIse21heENvdW50OjIwLGNvbG9yOiIjMjY4In0pLEE9KDAsbC5nZXRMb2dnZXIpKCJDaGFydEFwaS5Db3JlIix7Y29sb3I6IiM3MDYifSksQj0oMCxsLmdldExvZ2dlcikoIkNoYXJ0QXBpLkNoYXJ0U2Vzc2lvbiIse2NvbG9yOiIjNzA2In0pLEw9KDAsbC5nZXRMb2dnZXIpKCJDaGFydEFwaS5DaGFydFNlc3Npb24iLHtoaWdoUmF0ZTohMCxtYXhDb3VudDoxMDAsY29sb3I6IiM3MDYifSksTz0oMCxsLmdldExvZ2dlcikoIkNoYXJ0QXBpLkNoYXJ0U2Vzc2lvbiIse21heENvdW50OjAsY29sb3I6IiM3MDYifSksUT0oMCxsLmdldExvZ2dlcikoIkNoYXJ0QXBpLkNoYXJ0U2Vzc2lvbiIse21heENvdW50OjUwLGNvbG9yOiIjNzA2In0pLFY9KDAsbC5nZXRMb2dnZXIpKCJDaGFydEFwaS5RdW90ZVNlc3Npb24iLHttYXhDb3VudDo1MCxjb2xvcjoiIzY2MCJ9KSwkPSgwLGwuZ2V0TG9nZ2VyKSgiQ2hhcnRBcGkuUXVvdGVTZXNzaW9uIix7aGlnaFJhdGU6ITAsbWF4Q291bnQ6MTAsY29sb3I6IiM2NjAifSksVT0hKDAsCk4uaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKSxXPSgwLFQuaXNGZWF0dXJlRW5hYmxlZCkoImJyb2tlcl9pZF9zZXNzaW9uIiksaj0oMCxULmlzRmVhdHVyZUVuYWJsZWQpKCJjaGVja19hdXRoX3Rva2VuX2V4cGlyYXRpb25fb25fZXZlcnlfcmVxdWVzdCIpO2xldCB6PSExLEo9ITEsRz0hMTtjb25zdCBZPVsiIiwiS0IiLCJNQiIsIkdCIiwiVEIiXTtmdW5jdGlvbiBLKGUpe2lmKDA9PT1lKXJldHVybiIwIjtjb25zdCB0PSgwLEkudG9JbnQpKE1hdGguZmxvb3IoTWF0aC5sb2coZSkvTWF0aC5sb2coMTAyNCkpKTtyZXR1cm4oZS9NYXRoLnBvdygxMDI0LHQpKS50b0ZpeGVkKDIpK1lbdF19ZnVuY3Rpb24gWihlLHQpe3JldHVybmAke2V9X18ke3R9YH1mdW5jdGlvbiBYKGUsdCxzKXtjb25zdCBuPXRbc10/PzA7dFtzXT1uK2V9Y29uc3QgZWU9WC5iaW5kKG51bGwsMSksdGU9WC5iaW5kKG51bGwsLTEpLHNlPSgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpPyJzdHVkaWVzX21ldGFkYXRhX3dpZGdldCI6InN0dWRpZXNfbWV0YWRhdGEiLG5lPSIvY2hhcnQtYXBpL3Byb19oYXNoIixpZT0oMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKT8iL2NoYXJ0LWFwaS9zdHVkaWVzX21ldGFkYXRhX3dpZGdldCI6Ii9jaGFydC1hcGkvc3R1ZGllc19tZXRhZGF0YSI7bGV0IG9lPW51bGw7ZnVuY3Rpb24gcmUoKXtpZihudWxsPT09b2Upe2NvbnN0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignbGlua1tyZWx+PSJjb252ZXJzaW9ucy1jb25maWciXScpLHQ9bmV3IFVSTCgoMCxkLmVuc3VyZU5vdE51bGwpKGUpLmhyZWYpO29lPSgwLEMuZmV0Y2gpKHQudG9TdHJpbmcoKSx7bWV0aG9kOiJHRVQifSkudGhlbigoZT0+e2lmKCFlLm9rKXRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIGxvYWQgY29udmVyc2lvbnMgY29uZmlnIGZyb20gJHtlLnVybH0gd2l0aCBzdGF0dXMgJHtlLnN0YXR1c30gYW5kIHN0YXR1c1RleHQgJHtlLnN0YXR1c1RleHR9LmApO3JldHVybiBlLmpzb24oKX0pKS50aGVuKChlPT57Y29uc3QgdD0oMCxxLmdldExvZ29VcmxSZXNvbHZlcikoKTtyZXR1cm4gZS5jdXJyZW5jaWVzLmZvckVhY2goKGU9Pnt2b2lkIDAhPT1lLmxvZ29pZCYmKGUubG9nb1VybD10LmdldFN5bWJvbExvZ29VcmwoZS5sb2dvaWQscS5Mb2dvU2l6ZS5NZWRpdW0pKX0pKSxlfSkpfXJldHVybiBvZX1sZXQgYWU9bnVsbDtjbGFzcyBkZXtjb25zdHJ1Y3RvcihlKXt0aGlzLnNlc3Npb25pZD1udWxsLHRoaXMuX2JhbkluZm89bmV3IGMuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2lzQXV0aFRva2VuTG9hZGVkPSExLHRoaXMuX2F1dGhUb2tlbkRmZD1udWxsLHRoaXMuX3NlcnZlclRpbWVCYXNlUG9pbnQ9RGF0ZS5ub3coKS1wZXJmb3JtYW5jZS5ub3coKSx0aGlzLl9pbml0Q2FjaGVQcm9taXNlPSgwLE0uY3JlYXRlSnNvblNlcmlhbGl6YWJsZUNhY2hlKSgiVFZDaGFydEFwaSIpLHRoaXMuX3RyYWZmaWNTdGF0cz17dG90YWw6MCxzaW5jZUNvbm5lY3Q6MCxsYXN0Q2h1bms6MH0sdGhpcy5fbG93UXVhbGl0eUVuYWJsZWQ9ITEsdGhpcy5fYnJva2VySWQ9IiIsdGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnQ9MCx0aGlzLl9tb2RpZnlTdHVkeU1hcD1uZXcgTWFwLHRoaXMuX2Rpc2Nvbm5lY3RDb3VudD0wLHRoaXMuX2lzQ29ubmVjdGVkPSExLHRoaXMuX21ldGFkYXRhRGVmZXJyZWRQcm9taXNlPW51bGwsdGhpcy5fZGF0YUhhbmRsZU1vZHVsZT1uZXcgRS5KU09ORGF0YUhhbmRsZXIsdGhpcy5fc2Vzc2lvbnM9e30sdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnM9e30sdGhpcy5fcGVuZGluZ01lc3NhZ2VzUXVldWU9W10sdGhpcy5fbG9hZE5ld0JhcnM9ITEsdGhpcy5fbWV0YWRhdGFSZXF1ZXN0TmV4dE51bWJlcj0xLHRoaXMuX2Z1bmRhbWVudGFsQ291bnRlcj17fSx0aGlzLl9zdHVkeUNvdW50ZXI9e30sdGhpcy5fY2hpbGRTdHVkeUNvdW50ZXI9e30sdGhpcy5fc3R1ZHlTcGVjcz1uZXcgTWFwLHRoaXMuX2Nvbm5lY3Rpb25zTGltaXRSZWFjaGVkPW5ldyBjLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fc2VudE1ldGhvZHNDb3VudGVycz1uZXcgTWFwLHRoaXMuX3JlY2VpdmVkTWV0aG9kc0NvdW50ZXJzPW5ldyBNYXAsdGhpcy5fcmVxdWVzdERhdGFQcm9ibGVtc1Byb21pc2U9bnVsbCx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uPWUsdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5vblJlY29ubmVjdCh0aGlzLl9iaW5kU29ja2V0RXZlbnRzLmJpbmQodGhpcykpLHRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uc2V0TG9nZ2VyKEEsbC5nZXRMb2dIaXN0b3J5KSx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLnNldFRlbGVtZXRyeShELnRlbGVtZXRyeSksdGhpcy5fYmluZFNvY2tldEV2ZW50cygpLHRoaXMuX2lzTm9uQ291bnRlZFN0dWR5PSgpPT4hMCx3aW5kb3c/LlRyYWRpbmdWaWV3Py5vbkNoYXJ0UGFnZXx8dGhpcy5fZW5hYmxlTG93UXVhbGl0eU1vZGUoKSxzZXRJbnRlcnZhbCgoKCk9PntILmxvZ05vcm1hbCgiTGFzdCAzMCBzZWNvbmRzOiIrSyh0aGlzLl90cmFmZmljU3RhdHMubGFzdENodW5rKSsiIFNpbmNlIGxhc3QgY29ubmVjdDoiK0sodGhpcy5fdHJhZmZpY1N0YXRzLnNpbmNlQ29ubmVjdCkrIiBUb3RhbCB0cmFmZmljOiIrSyh0aGlzLl90cmFmZmljU3RhdHMudG90YWwpKSx0aGlzLl90cmFmZmljU3RhdHMubGFzdENodW5rPTB9KSwzZTQpLHRoaXMuX2Nvbm5lY3Rpb25zTGltaXRSZWFjaGVkLnN1YnNjcmliZSgoZT0+e2UmJnRoaXMuZGlzY29ubmVjdCgpfSkpfWNvbm5lY3QoZSl7dGhpcy5fY29ubmVjdE9ubHlPcHRpb25zPWUsdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5pc0Nvbm5lY3RlZCgpfHx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLmlzQ29ubmVjdGluZygpfHx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLmNvbm5lY3QoKX1kaXNjb25uZWN0KCl7dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5kaXNjb25uZWN0KCl9c2VudE1ldGhvZHNDb3VudGVycygpe3JldHVybiB0aGlzLl9zZW50TWV0aG9kc0NvdW50ZXJzfXJlY2VpdmVkTWV0aG9kc0NvdW50ZXJzKCl7CnJldHVybiB0aGlzLl9yZWNlaXZlZE1ldGhvZHNDb3VudGVyc31kZWZhdWx0UmVzb2x1dGlvbnMoKXtyZXR1cm4oMCxnLmdldERlZmF1bHRSZXNvbHV0aW9ucykoKX1hdmFpbGFibGVDdXJyZW5jaWVzKCl7cmV0dXJuIHJlKCkudGhlbigoZT0+ZS5jdXJyZW5jaWVzKSl9YXZhaWxhYmxlVW5pdHMoKXtyZXR1cm4gcmUoKS50aGVuKChlPT57Y29uc3QgdD17fTtmb3IoY29uc3QgcyBvZiBlLnVuaXRzKXRbcy50eXBlXXx8KHRbcy50eXBlXT1bXSksdFtzLnR5cGVdLnB1c2gocyk7cmV0dXJuIHR9KSl9YXN5bmMgYXZhaWxhYmxlTWV0cmljcygpe3JldHVybiBmdW5jdGlvbigpe2lmKG51bGw9PT1hZSl7Y29uc3QgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdsaW5rW3JlbH49Im1ldHJpY3MtY29uZmlnIl0nKSx0PW5ldyBVUkwoKDAsZC5lbnN1cmVOb3ROdWxsKShlKS5ocmVmKTthZT0oMCxDLmZldGNoKSh0LnRvU3RyaW5nKCkse21ldGhvZDoiR0VUIn0pLnRoZW4oKGFzeW5jIGU9PntpZighZS5vayl0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBsb2FkIG1ldHJpY3MgY29uZmlnIGZyb20gJHtlLnVybH0gd2l0aCBzdGF0dXMgJHtlLnN0YXR1c30gYW5kIHN0YXR1c1RleHQgJHtlLnN0YXR1c1RleHR9LmApO2NvbnN0IHQ9YXdhaXQgZS5qc29uKCk7cmV0dXJuIHQubWV0cmljc19mdWxsX25hbWU/LmZvckVhY2goKGU9Pntjb25zdCBzPXQubWV0cmljcy5maW5kKCh0PT50LmlkPT09ZS5pZCkpO3MmJihzLmRlc2NyaXB0aW9uPWUubmFtZSl9KSksdH0pKX1yZXR1cm4gYWV9KCkudGhlbigoZT0+ZS5tZXRyaWNzKSl9YXZhaWxhYmxlUHJpY2VTb3VyY2VzKCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSl9c3VwcG9ydGVkU3ltYm9sc1R5cGVzKCl7Y29uc3QgZT13aW5kb3cuVHJhZGluZ1ZpZXc/LndpZGdldEN1c3RvbWVyPz8iIjtyZXR1cm4iYm92ZXNwYSI9PT1lP3cuZmlsdGVyKChlPT5bIiIsInN0b2NrIiwiZnV0dXJlcyIsImluZGV4Il0uaW5jbHVkZXMoZS52YWx1ZSkpKToiY21lIj09PWU/dy5maWx0ZXIoKGU9PmUudmFsdWUhPT15LnR5cGVzLlFVQU5ETCkpOnd9c3ltYm9sc0dyb3VwaW5nKCl7cmV0dXJue2Z1dHVyZXM6L14oLis/KShbMTJdIXxcd1xkezR9KT8kL319Y29ubmVjdGVkKCl7cmV0dXJuISF0aGlzLl9pc0Nvbm5lY3RlZH1hdXRoVG9rZW5NYW5hZ2VyKCl7cmV0dXJuKDAsZC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9hdXRoVG9rZW5NYW5hZ2VyKX1jcmVhdGVTZXNzaW9uKGUsdCl7dGhpcy5fc2Vzc2lvbnNbZV09dCx0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXT17fSx0aGlzLmNvbm5lY3RlZCgpJiZ0aGlzLl9pc0F1dGhUb2tlbkxvYWRlZCYmdC5vbk1lc3NhZ2Uoe21ldGhvZDpoLkNoYXJ0QXBpTWVzc2FnZU1ldGhvZC5Db25uZWN0ZWQscGFyYW1zOltdfSl9cmVtb3ZlU2Vzc2lvbihlKXtkZWxldGUgdGhpcy5fc2Vzc2lvbnNbZV0sZGVsZXRlIHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdfWRpc2Nvbm5lY3RDb3VudCgpe3JldHVybiB0aGlzLl9kaXNjb25uZWN0Q291bnR8fDB9Z2V0UGluZ0luZm8oKXtyZXR1cm4gdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5nZXRQaW5nSW5mbygpfWNvbm5lY3Rpb25CYW5JbmZvKCl7cmV0dXJuIHRoaXMuX2JhbkluZm8ucmVhZG9ubHkoKX1jb25uZWN0aW9uc0xpbWl0UmVhY2hlZCgpe3JldHVybiB0aGlzLl9jb25uZWN0aW9uc0xpbWl0UmVhY2hlZC5yZWFkb25seSgpfXNlcnZlclRpbWUoKXtyZXR1cm4gTWF0aC5yb3VuZCh0aGlzLl9zZXJ2ZXJUaW1lQmFzZVBvaW50K3BlcmZvcm1hbmNlLm5vdygpKX1jb21wZW5zYXRlQ29ubmVjdGlvbkxhZyhlKXtjb25zdCB0PXRoaXMuc2VydmVyVGltZSgpLHM9TWF0aC5mbG9vcihlLXQpO3M+MCYmKHRoaXMuX3NlcnZlclRpbWVCYXNlUG9pbnQrPXMpfXNldEJyb2tlcihlKXtyZXR1cm4gZT09PXRoaXMuX2Jyb2tlcklkfHwodGhpcy5fYnJva2VySWQ9ZSx0aGlzLl9zZW5kQnJva2VySWRUb1Nlc3Npb24odGhpcy5fYnJva2VySWQpKX1jaGFydENyZWF0ZVNlc3Npb24oZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoImNoYXJ0X2NyZWF0ZV9zZXNzaW9uIixbZSx0XSl9Y2hhcnREZWxldGVTZXNzaW9uKGUpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiY2hhcnRfZGVsZXRlX3Nlc3Npb24iLFtlXSl9c3dpdGNoVGltZXpvbmUoZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInN3aXRjaF90aW1lem9uZSIsW2UsdF0pfXJlc29sdmVTeW1ib2woZSx0LHMsbil7cmV0dXJuIEQudGVsZW1ldHJ5LnRpbWVDb3VudGVycy5zZXJpZXNbInJlc29sdmVfc3ltYm9sXyIrZV09d2luZG93LnBlcmZvcm1hbmNlLm5vdygpLHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdPW5ldyBGLkhhbmRsZXJJbmZvKG4sdCwhMCksdGhpcy5fc2VuZFJlcXVlc3QoInJlc29sdmVfc3ltYm9sIixbZSx0LHNdKX1yZXF1ZXN0Rmlyc3RCYXJUaW1lKGUsdCxzLG4pe3JldHVybiB0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgRi5IYW5kbGVySW5mbyhuLHQsITApLHRoaXMuX3NlbmRSZXF1ZXN0KCJnZXRfZmlyc3RfYmFyX3RpbWUiLFtlLHQsc10pfWNyZWF0ZVNlcmllcyhlLHQscyxuLGksbyxyLGEpe0QudGVsZW1ldHJ5LnRpbWVDb3VudGVycy5zZXJpZXMubWFya3MucHVzaCgiY3JlYXRlX3Nlcmllc18iK2UpLHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdPW5ldyBGLkhhbmRsZXJJbmZvKGEsdCk7Y29uc3QgZD1udWxsPT09cj8iIjooMCxfLmNvbnZlcnRUaW1lRnJhbWVUb1N0cikociwhMCk7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJjcmVhdGVfc2VyaWVzIixbZSx0LHMsbixpLG8sZF0pfXJlbW92ZVNlcmllcyhlLHQpe3JldHVybiBkZWxldGUgdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF0sdGhpcy5fc2VuZFJlcXVlc3QoInJlbW92ZV9zZXJpZXMiLFtlLHRdKX1tb2RpZnlTZXJpZXMoZSx0LHMsbixpLG8scixhKXt0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgRi5IYW5kbGVySW5mbyhhLHQpO2NvbnN0IGQ9bnVsbD09PXI/IiI6KDAsCl8uY29udmVydFRpbWVGcmFtZVRvU3RyKShyLCEwKTtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoIm1vZGlmeV9zZXJpZXMiLFtlLHQscyxuLGksZF0pfWdldFN0dWR5Q291bnRlcihlKXtyZXR1cm4gdGhpcy5fc3R1ZHlDb3VudGVyW2VdPz8wfWdldEZ1bmRhbWVudGFsQ291bnRlcihlKXtyZXR1cm4gdGhpcy5fZnVuZGFtZW50YWxDb3VudGVyW2VdPz8wfWdldENoaWxkU3R1ZHlDb3VudGVyKGUpe3JldHVybiB0aGlzLl9jaGlsZFN0dWR5Q291bnRlcltlXT8/MH1yZXF1ZXN0TW9yZURhdGEoZSx0LHMsbil7aWYodm9pZCAwPT09c3x8dm9pZCAwPT09bil0aHJvdyBuZXcgRXJyb3IoInVuc3VwcG9ydGVkIHJlcXVlc3QgdG8gbG9hZCBtb3JlIGRhdGEsIGJhcnM9IitzKTtjb25zdCBpPXQ7cmV0dXJuIHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW2ldPW5ldyBGLkhhbmRsZXJJbmZvKG4saSksdGhpcy5fc2VuZFJlcXVlc3QoInJlcXVlc3RfbW9yZV9kYXRhIixbZSxpLHNdKX1yZXF1ZXN0TW9yZVRpY2ttYXJrcyhlLHQscyxuKXtyZXR1cm4gbiYmKHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdPW5ldyBGLkhhbmRsZXJJbmZvKG4sdCkpLHRoaXMuX3NlbmRSZXF1ZXN0KCJyZXF1ZXN0X21vcmVfdGlja21hcmtzIixbZSx0LHNdKX1zZXRGdXR1cmVUaWNrbWFya3NNb2RlKGUsdCl7dGhpcy5fc2VuZFJlcXVlc3QoInNldF9mdXR1cmVfdGlja21hcmtzX21vZGUiLFtlLHRdKX1yZXF1ZXN0RGF0YVByb2JsZW1zKCl7cmV0dXJuIHRoaXMuX3JlcXVlc3REYXRhUHJvYmxlbXNQcm9taXNlfHwodGhpcy5fcmVxdWVzdERhdGFQcm9ibGVtc1Byb21pc2U9dGhpcy5jb25uZWN0RGZkLnRoZW4oKCgpPT5uZXcgUHJvbWlzZSgoKGUsdCk9Pnt0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VFcnJiYWNrPXQsdGhpcy5fc2VuZFJlcXVlc3QoInJlcXVlc3RfZGF0YV9wcm9ibGVtcyIsW10pP3RoaXMuX29uRGF0YVByb2JsZW1zUHJvbWlzZUNiPWU6dCgpfSkpKSkuZmluYWxseSgoKCk9Pnt0aGlzLl9yZXF1ZXN0RGF0YVByb2JsZW1zUHJvbWlzZT1udWxsfSkpKSx0aGlzLl9yZXF1ZXN0RGF0YVByb2JsZW1zUHJvbWlzZX1hc3luYyByZXF1ZXN0TWV0YWRhdGEoKXtyZXR1cm4gbnVsbD09PXRoaXMuX21ldGFkYXRhRGVmZXJyZWRQcm9taXNlJiYodGhpcy5fbWV0YWRhdGFEZWZlcnJlZFByb21pc2U9KDAsdi5jcmVhdGVEZWZlcnJlZFByb21pc2UpKCksdGhpcy5fbWV0YWRhdGFEZWZlcnJlZFByb21pc2UucHJvbWlzZS5maW5hbGx5KCgoKT0+e3RoaXMuX21ldGFkYXRhRGVmZXJyZWRQcm9taXNlPW51bGx9KSksdGhpcy5fcmVxdWVzdE1ldGFkYXRhKCkpLHRoaXMuX21ldGFkYXRhRGVmZXJyZWRQcm9taXNlLnByb21pc2V9YWxsU3R1ZGllc01ldGFkYXRhKCl7dGhyb3cgbmV3IEVycm9yKCJUaGlzIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQiKX1zZXRMb2FkTmV3KGUpe3RoaXMuX2xvYWROZXdCYXJzPSEhZX1zZXRJc05vbkNvdW50ZWRTdHVkeUZuKGUpe3RoaXMuX2lzTm9uQ291bnRlZFN0dWR5PWV9Y2FuQ3JlYXRlU3R1ZHkoZSx0LHMpe2NvbnN0e2lkOm4sY2hpbGQ6aSxmdW5kYW1lbnRhbDpvLGZvcmVjYXN0OnIsc3R1YlRpdGxlOmF9PXQsdT0oMCxkLmVuc3VyZU5vdE51bGwpKCgwLFIuZ2V0Q29uZmlnKSgiU1RVRFlfT05fU1RVRFkiKSkuY2hpbGRfbGltaXQ7aWYoaSYmKCEoMCxSLmVuYWJsZWQpKCJTVFVEWV9PTl9TVFVEWSIpfHwodGhpcy5fY2hpbGRTdHVkeUNvdW50ZXJbZV0/PzApPj11KSlyZXR1cm57c3VjY2VzczohMSxyZWFzb246ImNoaWxkIixsaW1pdFZhbHVlOnV9O2lmKHMpcmV0dXJue3N1Y2Nlc3M6ITB9O2lmKHImJiEoMCxSLmVuYWJsZWQpKCJGVU5EQU1FTlRBTFNfRk9SRUNBU1QiKSlyZXR1cm57c3VjY2VzczohMSxyZWFzb246ImZvcmVjYXN0IixzY3JpcHROYW1lOmF9O2NvbnN0IGM9KDAsZC5lbnN1cmVOb3ROdWxsKSgoMCxSLmdldENvbmZpZykoIkZVTkRBTUVOVEFMU19PTl9DSEFSVCIpKS5saW1pdDtpZihvJiYoISgwLFIuZW5hYmxlZCkoIkZVTkRBTUVOVEFMU19PTl9DSEFSVCIpfHx0aGlzLmdldEZ1bmRhbWVudGFsQ291bnRlcihlKT49YykpcmV0dXJue3N1Y2Nlc3M6ITEscmVhc29uOiJmdW5kYW1lbnRhbCIsbGltaXRWYWx1ZTpjfTtjb25zdCBsPSgwLGQuZW5zdXJlTm90TnVsbCkoKDAsUi5nZXRDb25maWcpKCJJTkRJQ0FUT1JTX09OX0NIQVJUIikpLmxpbWl0O3JldHVybiBvfHx0aGlzLl9pc05vbkNvdW50ZWRTdHVkeShuKXx8KDAsUi5lbmFibGVkKSgiSU5ESUNBVE9SU19PTl9DSEFSVCIpJiYhKHRoaXMuZ2V0U3R1ZHlDb3VudGVyKGUpPj1sKT97c3VjY2VzczohMH06e3N1Y2Nlc3M6ITEscmVhc29uOiJnZW5lcmFsIixsaW1pdFZhbHVlOmx9fWNyZWF0ZVN0dWR5KGUsdCxzLG4saSxvLHIsYSl7Y29uc3QgZD10aGlzLmNhbkNyZWF0ZVN0dWR5KGUsYSk7cmV0dXJuIGQuc3VjY2Vzc3x8ImNoaWxkIiE9PWQucmVhc29uPyh0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgRi5IYW5kbGVySW5mbyhyLHQpLHRoaXMuX3NlbmRSZXF1ZXN0KCJjcmVhdGVfc3R1ZHkiLFtlLHQscyxuLGksb10pLGEuZnVuZGFtZW50YWw/ZWUodGhpcy5fZnVuZGFtZW50YWxDb3VudGVyLGUpOnRoaXMuX2lzTm9uQ291bnRlZFN0dWR5KGEuaWQpfHxlZSh0aGlzLl9zdHVkeUNvdW50ZXIsZSksYS5jaGlsZCYmZWUodGhpcy5fY2hpbGRTdHVkeUNvdW50ZXIsZSksdGhpcy5fc3R1ZHlTcGVjcy5zZXQoWihlLHQpLGEpLCEwKTooKDAsay5zaG93VG9vTWFueVN0dWRpZXNOb3RpY2UpKGQubGltaXRWYWx1ZSksITEpfW1vZGlmeVN0dWR5KGUsdCxzLG4sbyxyKXtYKHI9cj8/MCx0aGlzLl9jaGlsZFN0dWR5Q291bnRlcixlKSwwIT09ciYmKCgwLGQuZW5zdXJlRGVmaW5lZCkodGhpcy5fc3R1ZHlTcGVjcy5nZXQoWihlLHQpKSkuY2hpbGQ9cj4wKSx0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgRi5IYW5kbGVySW5mbyhvLHQpO2NvbnN0IGE9ZSt0O2lmKHRoaXMuX21vZGlmeVN0dWR5TWFwLmhhcyhhKSl7cmV0dXJuKDAsCmQuZW5zdXJlRGVmaW5lZCkodGhpcy5fbW9kaWZ5U3R1ZHlNYXAuZ2V0KGEpKShlLHQscyxuKT8/ITB9e2NvbnN0IG89KDAsaS5kZWZhdWx0KSgoKGUsdCxzLG4pPT50aGlzLl9zZW5kUmVxdWVzdCgibW9kaWZ5X3N0dWR5IixbZSx0LHMsbl0pKSw1MDAse21heFdhaXQ6NTUwfSk7cmV0dXJuIHRoaXMuX21vZGlmeVN0dWR5TWFwLnNldChhLG8pLG8oZSx0LHMsbik/PyEwfX1ub3RpZnlTdHVkeShlLHQscyxuKXtyZXR1cm4gQS5sb2dOb3JtYWwoYFNlbmQgbm90aWZ5X3N0dWR5LCBbJHtlfSwgJHt0fSwgJHtzfSwgJHtKU09OLnN0cmluZ2lmeShuKX1dYCksdGhpcy5fc2VuZFJlcXVlc3QoIm5vdGlmeV9zdHVkeSIsW2UsdCxzLEpTT04uc3RyaW5naWZ5KG4pXSl9cmVtb3ZlU3R1ZHkoZSx0KXtjb25zdCBzPWUrdDtkZWxldGUgdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF0sdGhpcy5fbW9kaWZ5U3R1ZHlNYXAuZ2V0KHMpPy5mbHVzaCgpO2NvbnN0IG49dGhpcy5fc2VuZFJlcXVlc3QoInJlbW92ZV9zdHVkeSIsW2UsdF0pO2lmKCExPT09bilyZXR1cm4hMTt0aGlzLl9tb2RpZnlTdHVkeU1hcC5kZWxldGUocyk7Y29uc3QgaT1aKGUsdCksbz0oMCxkLmVuc3VyZURlZmluZWQpKHRoaXMuX3N0dWR5U3BlY3MuZ2V0KGkpKTtyZXR1cm4gdGhpcy5fc3R1ZHlTcGVjcy5kZWxldGUoaSksby5mdW5kYW1lbnRhbD90ZSh0aGlzLl9mdW5kYW1lbnRhbENvdW50ZXIsZSk6dGhpcy5faXNOb25Db3VudGVkU3R1ZHkoby5pZCl8fHRlKHRoaXMuX3N0dWR5Q291bnRlcixlKSxvLmNoaWxkJiZ0ZSh0aGlzLl9jaGlsZFN0dWR5Q291bnRlcixlKSxufWNyZWF0ZVBvaW50c2V0KGUsdCxzLG4saSxvLHIpe3JldHVybiB0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgRi5IYW5kbGVySW5mbyhyLHQpLHRoaXMuX3NlbmRSZXF1ZXN0KCJjcmVhdGVfcG9pbnRzZXQiLFtlLHQscyxuLGksb10pfW1vZGlmeVBvaW50c2V0KGUsdCxzLG4saSl7cmV0dXJuIHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdPW5ldyBGLkhhbmRsZXJJbmZvKGksdCksdGhpcy5fc2VuZFJlcXVlc3QoIm1vZGlmeV9wb2ludHNldCIsW2UsdCxzLG5dKX1yZW1vdmVQb2ludHNldChlLHQpe3JldHVybiBkZWxldGUgdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF0sdGhpcy5fc2VuZFJlcXVlc3QoInJlbW92ZV9wb2ludHNldCIsW2UsdF0pfWdldE1hcmtzKGUsdCxzLG4saSl7dGhyb3cgRXJyb3IoIlRoaXMgbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZCIpfWdldFRpbWVzY2FsZU1hcmtzKGUsdCxzLG4saSl7dGhyb3cgRXJyb3IoIlRoaXMgbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZCIpfXF1b3RlQ3JlYXRlU2Vzc2lvbihlKXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX2NyZWF0ZV9zZXNzaW9uIixbZV0pfXF1b3RlRGVsZXRlU2Vzc2lvbihlKXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX2RlbGV0ZV9zZXNzaW9uIixbZV0pfXF1b3RlQWRkU3ltYm9scyhlLHQpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgicXVvdGVfYWRkX3N5bWJvbHMiLFtlLHRdKX1xdW90ZVJlbW92ZVN5bWJvbHMoZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX3JlbW92ZV9zeW1ib2xzIixbZSx0XSl9cXVvdGVGYXN0U3ltYm9scyhlLHQpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgicXVvdGVfZmFzdF9zeW1ib2xzIixbZSx0XSl9cXVvdGVTZXRGaWVsZHMoZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX3NldF9maWVsZHMiLFtlLHRdKX1xdW90ZUhpYmVybmF0ZUFsbChlKXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX2hpYmVybmF0ZV9hbGwiLFtlXSl9ZGVwdGhDcmVhdGVTZXNzaW9uKGUsdCxzKXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoImRlcHRoX2NyZWF0ZV9zZXNzaW9uIixbZSx0LHNdKX1kZXB0aERlbGV0ZVNlc3Npb24oZSl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJkZXB0aF9kZWxldGVfc2Vzc2lvbiIsW2VdKX1kZXB0aFNldFN5bWJvbChlLHQpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiZGVwdGhfc2V0X3N5bWJvbCIsW2UsdF0pfWRlcHRoQ2xlYXJTeW1ib2woZSl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJkZXB0aF9jbGVhcl9zeW1ib2wiLFtlXSl9ZGVwdGhTZXRTY2FsZShlLHQpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiZGVwdGhfc2V0X3NjYWxlIixbZSx0XSl9dW5wYWNrKGUpe3JldHVybiB0aGlzLl9kYXRhSGFuZGxlTW9kdWxlLnVucGFjayhlKX1zZW5kUmVxdWVzdChlLHQpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdChlLHQpfXNldFZpc2libGVUaW1lUmFuZ2UoKXt0aHJvdyBuZXcgRXJyb3IoInNldFZpc2libGVUaW1lUmFuZ2UgaXMgZGVwcmVjYXRlZCBhbmQgc2hvdWxkIG5vdCBiZSB1c2VkIil9X2luaXQoKXt0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVycz17fSx0aGlzLl9zdHVkeUNvdW50ZXI9e30sdGhpcy5fY2hpbGRTdHVkeUNvdW50ZXI9e30sdGhpcy5fZnVuZGFtZW50YWxDb3VudGVyPXt9LHRoaXMuX21vZGlmeVN0dWR5TWFwPW5ldyBNYXB9X2NoZWNrQXV0aFRva2VuRXhwaXJhdGlvbihlKXswPT09dGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnQmJnRoaXMuX2F1dGhUb2tlbk1hbmFnZXImJiF0aGlzLl9hdXRoVG9rZW5NYW5hZ2VyLmN1cnJlbnRUb2tlbklzVmFsaWQoKSYmKEEubG9nSW5mbyhlKSx0aGlzLl9hdXRoVG9rZW5NYW5hZ2VyLnJlc2V0KCkpfV9zZW5kUmVxdWVzdChlLHQpe3JldHVybiBqJiZ0aGlzLl9jaGVja0F1dGhUb2tlbkV4cGlyYXRpb24oIkF1dGhUb2tlbiBpbnZhbGlkYXRpb24gZGV0ZWN0ZWQgb24gc2VuZGluZyBhIG1lc3NhZ2UsIHJlcXVlc3RpbmcgbmV3IHRva2VuIiksMCE9PXRoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50Pyh0aGlzLl9wZW5kaW5nTWVzc2FnZXNRdWV1ZS5wdXNoKHttZXRob2Q6ZSxhcmdzOnR9KSwhMCk6dGhpcy5fc2VuZFJlcXVlc3RJbXBsKGUsdCl9X3NlbmRSZXF1ZXN0SW1wbChlLHQpewpjb25zdCBzPXRoaXMuX3NlbnRNZXRob2RzQ291bnRlcnMuZ2V0KGUpPz8wO3RoaXMuX3NlbnRNZXRob2RzQ291bnRlcnMuc2V0KGUscysxKTtjb25zdCBpPXRoaXMuX2RhdGFIYW5kbGVNb2R1bGVbZV0uYXBwbHkodGhpcy5fZGF0YUhhbmRsZU1vZHVsZSx0KSxkPXttOmUscDooMCxuLmRlZmF1bHQpKGkpfSxjPWQubS5pbmNsdWRlcygic3R1ZHkiKSYmZC5wWzVdO2MmJmZ1bmN0aW9uKGUpe2lmKCEoMCx1LmlzT2JqZWN0KShlKSlyZXR1cm4hMTtmb3IoY29uc3QgdCBvZiBPYmplY3Qua2V5cyhlKSl7Y29uc3Qgcz1lW3RdO2lmKCEoKDAsdS5pc09iamVjdCkocyl8fCgwLHIuZGVmYXVsdCkocyl8fCgwLG8uZGVmYXVsdCkocyl8fCgwLGEuZGVmYXVsdCkocykpKXJldHVybiExfXJldHVybiEwfShjKSYmInRleHQiaW4gYyYmKGMudGV4dD1jLnRleHQuc2xpY2UoMCwxMCkpO2NvbnN0IGw9SlNPTi5zdHJpbmdpZnkoZCk7aWYoaS5sZW5ndGg+MCl7Y29uc3QgZT1pWzBdO2Uuc3RhcnRzV2l0aCgicXNfIik/Vi5sb2dOb3JtYWwoInNlbmQ6ICIrbCk6ZS5zdGFydHNXaXRoKCJjc18iKSYmQi5sb2dOb3JtYWwoInNlbmQ6ICIrbCw0MDk2KX1lbHNlIEEubG9nTm9ybWFsKCJzZW5kOiAiK2wpO2NvbnN0IGg9dGhpcy5fZGF0YUhhbmRsZU1vZHVsZS5wcmVwYXJlRW5jb2RlTWVzc2FnZShlLGkpO3JldHVybiB0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLnNlbmQoaCl9X29uQ29ubmVjdCgpe2lmKHRoaXMuY29ubmVjdGVkKCkpcmV0dXJuO2lmKHRoaXMuX3RyYWZmaWNTdGF0cy5zaW5jZUNvbm5lY3Q9MCx0aGlzLl9pc0F1dGhUb2tlbkxvYWRlZD0hMSx0aGlzLl9jb25uZWN0T25seU9wdGlvbnM9dGhpcy5fY29ubmVjdE9ubHlPcHRpb25zfHx7fSx0aGlzLl9hdXRoVG9rZW5EZmQ9dGhpcy5fZ2V0QXV0aFRva2VuRGZkKHRoaXMuX2Nvbm5lY3RPbmx5T3B0aW9ucy50b2tlbkdyYWJTZXNzaW9uKSx0aGlzLl9jb25uZWN0T25seU9wdGlvbnM9e30sdGhpcy5zZXNzaW9uaWQ9dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5nZXRTZXNzaW9uSWQoKSwhdGhpcy5zZXNzaW9uaWR8fHRoaXMuX2lzQ29ubmVjdGVkKXJldHVybjt0aGlzLl9wZW5kaW5nTWVzc2FnZXNRdWV1ZT1bXSx0aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudD0wLHRoaXMuX3N0dWR5Q291bnRlcj17fSx0aGlzLl9jaGlsZFN0dWR5Q291bnRlcj17fSx0aGlzLl9mdW5kYW1lbnRhbENvdW50ZXI9e30sdGhpcy5fc3R1ZHlTcGVjcy5jbGVhcigpLHRoaXMuX2lzQ29ubmVjdGVkPSEwLHRoaXMuX2JhbkluZm8uc2V0VmFsdWUobnVsbCksdGhpcy5fY29ubmVjdGlvbnNMaW1pdFJlYWNoZWQuc2V0VmFsdWUoITEpO2NvbnN0IGU9SlNPTi5wYXJzZSh0aGlzLnNlc3Npb25pZCk7dGhpcy5fc2VuZExvd1F1YWxpdHlNb2RlSWZFbmFibGVkKCksdGhpcy5fbWV0YWRhdGFTZXJ2ZXJIYXNoPWUuc3R1ZGllc19tZXRhZGF0YV9oYXNofHxudWxsO2NvbnN0IHQ9dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5nZXRDb25uZWN0aW9uRXN0YWJsaXNoZWQoKTt0cnl7dGhpcy5fc2VydmVyVGltZUJhc2VQb2ludD1NYXRoLnJvdW5kKGUudGltZXN0YW1wTXMtdCl9Y2F0Y2goZSl7dGhpcy5fc2VydmVyVGltZUJhc2VQb2ludD1EYXRlLm5vdygpLXBlcmZvcm1hbmNlLm5vdygpfWlmKEEubG9nSW5mbygiVGltZSBzaGlmdCB3aXRoIHNlcnZlcjogIit0aGlzLl9mb3JtYXRUaW1lKHRoaXMuc2VydmVyVGltZSgpLURhdGUubm93KCkpKSx0aGlzLl9hdXRoVG9rZW5EZmQpe3RoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50Kz0xLEEubG9nSW5mbygiV2FpdCBmb3IgYXV0aCB0b2tlbiBiZWZvcmUgc2VuZCBtZXNzYWdlcyIpO2NvbnN0IGU9dGhpcy5fYXV0aFRva2VuRGZkO2UudGhlbigodD0+e2lmKG51bGwhPT10aGlzLl9hdXRoVG9rZW5EZmQmJnRoaXMuX2F1dGhUb2tlbkRmZD09PWUpe2lmKEEubG9nTm9ybWFsKCJBdXRoIHRva2VuIHJlcXVlc3QgaXMgZmluaXNoZWQsIHRva2VuOiAiK0Jvb2xlYW4odCkpLHRoaXMuX2F1dGhUb2tlbkRmZD1udWxsLHQpe2NvbnN0IGU9W3ttZXRob2Q6InNldF9hdXRoX3Rva2VuIixhcmdzOlt0XX1dO2lmKFUpe2NvbnN0IHQ9d2luZG93LmluaXREYXRhJiZ3aW5kb3cuaW5pdERhdGEuY3VycmVudExvY2FsZUluZm87dCYmZS5wdXNoKHttZXRob2Q6InNldF9sb2NhbGUiLGFyZ3M6W3QuaXNvLHQuZmxhZy50b1VwcGVyQ2FzZSgpXX0pfXRoaXMuX3BlbmRpbmdNZXNzYWdlc1F1ZXVlLnVuc2hpZnQoLi4uZSl9dGhpcy5fb25TZW5kaW5nUXVldWVSZXF1ZXN0RmluaXNoZWQoKSx0aGlzLl9pc0F1dGhUb2tlbkxvYWRlZD0hMCx0aGlzLl9ub3RpZnlTZXNzaW9ucyh7bWV0aG9kOmguQ2hhcnRBcGlNZXNzYWdlTWV0aG9kLkNvbm5lY3RlZCxwYXJhbXM6W119KX1lbHNlIEEubG9nTm9ybWFsKCJDb21lcyBhdXRoIHRva2VuIGFmdGVyIHJlcXVlc3RpbmcgbmV3IHRva2VuIG9yIGFmdGVyIHNvY2tldCBkaXNjb25uZWN0ZWQiKX0pKS5jYXRjaCgoZT0+e0EubG9nTm9ybWFsKCgwLFMuZXJyb3JUb1N0cmluZykoZSkpfSkpfWVsc2UgQS5sb2dXYXJuKCJEZWZlcnJlZCBhdXRoIHRva2VuIG9iamVjdCBpcyBub3QgdmFsaWQiKSx0aGlzLl9pc0F1dGhUb2tlbkxvYWRlZD0hMDsiIiE9PXRoaXMuX2Jyb2tlcklkJiZ0aGlzLl9zZW5kQnJva2VySWRUb1Nlc3Npb24odGhpcy5fYnJva2VySWQpO2NvbnN0IHM9dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5nZXRDb25uZWN0aW9uU3RhcnQoKTtELnRlbGVtZXRyeS5zZXRTZXNzaW9uSW5mbyh0aGlzLnNlc3Npb25pZCksRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJ3ZWJzb2NrZXRfY29ubmVjdGVkIiksRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJ3ZWJzb2NrZXRfY29ubmVjdGlvbl90aW1lX2ZyYW1lIix7dmFsdWU6dC1zfSksRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJyZWNvbm5lY3RfY291bnRfZnJhbWUiLHt2YWx1ZTp0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLmdldFJlY29ubmVjdENvdW50KCl9KSwKRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJyZWRpcmVjdF9jb3VudF9mcmFtZSIse3ZhbHVlOnRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uZ2V0UmVkaXJlY3RDb3VudCgpfSksenx8KHo9ITAsRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJiZWZvcmVfd2Vic29ja2V0X2Nvbm5lY3Rpb25fdGltZV9mcmFtZSIse3ZhbHVlOnN9KSksdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5yZXNldENvdW50ZXJzKCksY2xlYXJUaW1lb3V0KHRoaXMuX3RlbGVtZXRyeURpc2Nvbm5lY3RUaW1lb3V0KX1fZm9ybWF0VGltZShlKXtyZXR1cm5gJHsoZS8xZTMpLnRvRml4ZWQoMil9IHNlY29uZHMuYH1fZGlzcGF0Y2hOb3RpZmljYXRpb24oZSx0KXtpZigicmVxdWVzdF9kYXRhX3Byb2JsZW1zIj09PWUubWV0aG9kJiZ0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VDYilyZXR1cm4gdm9pZCB0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VDYihlLnBhcmFtcyk7aWYoZS5tZXRob2Q9PT1QLldlYmNoYXJ0Q2hhcnRTZXNzaW9uUmVzcG9uc2VNZXRob2QuU3R1ZGllc01ldGFkYXRhJiZudWxsIT09dGhpcy5fbWV0YWRhdGFEZWZlcnJlZFByb21pc2UpcmV0dXJuIHZvaWQgdGhpcy5fcHJvY2Vzc2VkTWV0YWRhdGEoZSk7Y29uc3Qgcz1lLnBhcmFtcy5zaGlmdCgpO2lmKCF0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tzXSlyZXR1cm47aWYoInN5bWJvbF9yZXNvbHZlZCI9PT1lLm1ldGhvZCl7Y29uc3QgdD1lLnBhcmFtc1sxXS5mdWxsX25hbWU7RC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJzeW1ib2xfcmVzb2x2ZWQiLHtjb3VudDoxLGFkZGl0aW9uYWw6e3N5bWJvbDp0fX0pO2NvbnN0IG49RC50ZWxlbWV0cnkudGltZUNvdW50ZXJzLnNlcmllc1sicmVzb2x2ZV9zeW1ib2xfIitzXTsibnVtYmVyIj09dHlwZW9mIG4mJkQudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgic3ltYm9sX3Jlc29sdmVfdGltZV9mcmFtZSIse3ZhbHVlOndpbmRvdy5wZXJmb3JtYW5jZS5ub3coKS1uLGFkZGl0aW9uYWw6e3N5bWJvbDp0fX0pfWlmKFsic2VyaWVzX2Vycm9yIiwic2VyaWVzX2NvbXBsZXRlZCJdLmluY2x1ZGVzKGUubWV0aG9kKSYmRC50ZWxlbWV0cnkudGltZUNvdW50ZXJzLnNlcmllcy5tYXJrcy5sZW5ndGg+MCl7Y29uc3QgZT0iY3JlYXRlX3Nlcmllc18iK3MsdD1ELnRlbGVtZXRyeS50aW1lQ291bnRlcnMuc2VyaWVzLm1hcmtzLmluZGV4T2YoZSk7dD49MCYmRC50ZWxlbWV0cnkudGltZUNvdW50ZXJzLnNlcmllcy5tYXJrcy5zcGxpY2UodCwxKX1HfHwic2VyaWVzX2Vycm9yIiE9PWUubWV0aG9kfHwoRz0hMCk7Y29uc3Qgbj10aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLmdldENvbm5lY3Rpb25Fc3RhYmxpc2hlZCgpO2lmKG51bGwhPT1uJiYic2VyaWVzX2NvbXBsZXRlZCI9PT1lLm1ldGhvZCYmKEd8fChHPSEwLEQudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgiZmlyc3Rfc2VyaWVzX2Z1bGxfdGltZV9mcmFtZSIse3ZhbHVlOndpbmRvdy5wZXJmb3JtYW5jZS5ub3coKS1ufSksRC50ZWxlbWV0cnkudGltZUNvdW50ZXJzLnNlcmllcy5tYXJrcz1bXSksSnx8KEo9ITAsRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJwYWdlX2Z1bGxfbG9hZF90aW1lX2ZyYW1lIix7dmFsdWU6d2luZG93LnBlcmZvcm1hbmNlLm5vdygpfSkpKSxzLnN0YXJ0c1dpdGgoImNzXyIpKXtsZXQgcz0icmVjdjogIit0OyJkYXRhX3VwZGF0ZSI9PT1lLm1ldGhvZD8ocz0oMCxsLmlzSGlnaFJhdGVFbmFibGVkKSgpP3M6cy5zbGljZSgwLDUwMCksTC5sb2dOb3JtYWwodGhpcy5fYXBwZW5kRHVyYXRpb24ocyxlLnRpbWUpKSk6InN0dWR5X2xvYWRpbmciPT09ZS5tZXRob2Q/Ty5sb2dOb3JtYWwodGhpcy5fYXBwZW5kRHVyYXRpb24ocyxlLnRpbWUpKToidGlja21hcmtfdXBkYXRlIj09PWUubWV0aG9kP1EubG9nTm9ybWFsKHRoaXMuX2FwcGVuZER1cmF0aW9uKHMsZS50aW1lKSk6Qi5sb2dOb3JtYWwodGhpcy5fYXBwZW5kRHVyYXRpb24ocyxlLnRpbWUpKX1pZihzLnN0YXJ0c1dpdGgoInFzXyIpKXsoInF1b3RlX3N5bWJvbF9kYXRhIj09PWUubWV0aG9kPyQubG9nTm9ybWFsOlYubG9nTm9ybWFsKSgicmVjdjogIit0KX1zd2l0Y2goZS5tZXRob2Qpe2Nhc2UgUC5XZWJjaGFydENoYXJ0U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlRpbWVTY2FsZVVwZGF0ZTp7Y29uc3QgdD10aGlzLl9kYXRhSGFuZGxlTW9kdWxlLmdldFRpbWVzY2FsZU9iamVjdHMoZSksbj10aGlzLl9kYXRhSGFuZGxlTW9kdWxlLmdldFRpbWVzY2FsZUNoYW5nZXNldChlKSxpPXRoaXMuX2NvbnZlcnRUaW1lc2NhbGVSZXNwb25zZShuKTt0aGlzLl9zZXNzaW9uc1tzXS5vbk1lc3NhZ2Uoe21ldGhvZDpQLldlYmNoYXJ0Q2hhcnRTZXNzaW9uUmVzcG9uc2VNZXRob2QuVGltZVNjYWxlVXBkYXRlLHBhcmFtczppfSksdGhpcy5fZGF0YUhhbmRsZU1vZHVsZS5wcmVwYXJlRGF0YVVwZGF0ZU9iamVjdHMocyx0LCgoZSx0LHMpPT57dGhpcy5faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihlLHQscyl9KSk7YnJlYWt9Y2FzZSJ0aWNrbWFya191cGRhdGUiOmNvbnN0IHQ9ey4uLnRoaXMuX2NvbnZlcnRUaW1lc2NhbGVSZXNwb25zZShlLnBhcmFtc1swXSksY2hhbmdlczpbXX07dGhpcy5fc2Vzc2lvbnNbc10ub25NZXNzYWdlKHttZXRob2Q6UC5XZWJjaGFydENoYXJ0U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlRpbWVTY2FsZVVwZGF0ZSxwYXJhbXM6dH0pO2JyZWFrO2Nhc2UgUC5XZWJjaGFydENoYXJ0U2Vzc2lvblJlc3BvbnNlTWV0aG9kLkRhdGFVcGRhdGU6e2NvbnN0IHQ9dGhpcy5fZGF0YUhhbmRsZU1vZHVsZS5nZXREYXRhVXBkYXRlT2JqZWN0cyhlKTt0aGlzLl9kYXRhSGFuZGxlTW9kdWxlLnByZXBhcmVEYXRhVXBkYXRlT2JqZWN0cyhzLHQsKChlLHQscyk9Pnt0aGlzLl9pbnZva2VOb3RpZmljYXRpb25IYW5kbGVyKGUsdCxzKX0pKTticmVha31jYXNlImluZGV4X3VwZGF0ZSI6Zm9yKGNvbnN0IHQgaW4gZS5wYXJhbXNbMF0paWYoZS5wYXJhbXNbMF0uaGFzT3duUHJvcGVydHkodCkpe2NvbnN0IG49e21ldGhvZDoiaW5kZXhfdXBkYXRlIiwKcGFyYW1zOmUucGFyYW1zWzBdW3RdfTt0aGlzLl9pbnZva2VOb3RpZmljYXRpb25IYW5kbGVyKHMsdCxuKX1icmVhaztjYXNlIFAuV2ViY2hhcnRSZXNwb25zZU1ldGhvZC5Dcml0aWNhbEVycm9yOkEubG9nSW5mbyhuZXcgRGF0ZSsiIGNyaXRpY2FsX2Vycm9yIHNlc3Npb246Iit0aGlzLnNlc3Npb25pZCsiIHJlYXNvbjoiK2UucGFyYW1zWzBdKSxELnRlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoImNyaXRpY2FsX2Vycm9yIiksdGhpcy5fc2Vzc2lvbnNbc10ub25NZXNzYWdlKHttZXRob2Q6UC5XZWJjaGFydFJlc3BvbnNlTWV0aG9kLkNyaXRpY2FsRXJyb3IscGFyYW1zOmUucGFyYW1zfSk7YnJlYWs7Y2FzZSJ0aW1lc2NhbGVfY29tcGxldGVkIjpjYXNlInF1b3RlX3N5bWJvbF9kYXRhIjpjYXNlInF1b3RlX2xpc3RfZmllbGRzIjpjYXNlInF1b3RlX2NvbXBsZXRlZCI6Y2FzZSJkZXB0aF9zeW1ib2xfZXJyb3IiOmNhc2UiZGVwdGhfc3ltYm9sX3N1Y2Nlc3MiOmNhc2UiZGQiOmNhc2UiZHB1IjpjYXNlImRlcHRoX2Jhcl9sYXN0X3ZhbHVlIjp0aGlzLl9zZXNzaW9uc1tzXS5vbk1lc3NhZ2Uoe21ldGhvZDplLm1ldGhvZCxwYXJhbXM6ZS5wYXJhbXN9KTticmVhaztjYXNlImNsZWFyX2RhdGEiOmZvcihjb25zdCB0IGluIGUucGFyYW1zWzBdKWUucGFyYW1zWzBdLmhhc093blByb3BlcnR5KHQpJiZ0aGlzLl9pbnZva2VOb3RpZmljYXRpb25IYW5kbGVyKHMsdCx7bWV0aG9kOlAuV2ViY2hhcnRDaGFydFNlc3Npb25SZXNwb25zZU1ldGhvZC5DbGVhckRhdGEscGFyYW1zOmUucGFyYW1zWzBdW3RdfSk7YnJlYWs7Y2FzZSBQLldlYmNoYXJ0UmVwbGF5U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlJlcGxheVBvaW50OmNhc2UgUC5XZWJjaGFydFJlcGxheVNlc3Npb25SZXNwb25zZU1ldGhvZC5SZXBsYXlSZXNvbHV0aW9uczpjYXNlIFAuV2ViY2hhcnRSZXBsYXlTZXNzaW9uUmVzcG9uc2VNZXRob2QuUmVwbGF5RGF0YUVuZDpjYXNlIFAuV2ViY2hhcnRSZXBsYXlTZXNzaW9uUmVzcG9uc2VNZXRob2QuUmVwbGF5SW5zdGFuY2VJZDpjYXNlIFAuV2ViY2hhcnRSZXBsYXlTZXNzaW9uUmVzcG9uc2VNZXRob2QuUmVwbGF5RGVwdGg6Y2FzZSBQLldlYmNoYXJ0UmVwbGF5U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlJlcGxheUVycm9yOmNhc2UgUC5XZWJjaGFydFJlcGxheVNlc3Npb25SZXNwb25zZU1ldGhvZC5SZXBsYXlPazp0aGlzLl9zZXNzaW9uc1tzXS5vbk1lc3NhZ2UoZSk7YnJlYWs7Y2FzZSJzZXJpZXNfdGltZWZyYW1lIjpjb25zdCBuPWUucGFyYW1zWzRdO2UucGFyYW1zWzRdPW51bGw9PW4/bnVsbDooMCxfLmNvbnZlcnRTdHJUb1RpbWVGcmFtZSkobiksdGhpcy5faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihzLGUucGFyYW1zWzBdLGUpO2JyZWFrO2Nhc2Uic3ltYm9sX3Jlc29sdmVkIjohZnVuY3Rpb24oZSl7aWYodm9pZCAwPT09ZS5jb3JyZWN0aW9ucyl7Y29uc3QgdD0oZS5zdWJzZXNzaW9ucz8/W10pLmZpbmQoKHQ9PnQuaWQ9PT1lLnN1YnNlc3Npb25faWQpKTt2b2lkIDAhPT10JiYoZS5jb3JyZWN0aW9ucz10WyJzZXNzaW9uLWNvcnJlY3Rpb24iXSl9fShlLnBhcmFtc1sxXSksdGhpcy5faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihzLGUucGFyYW1zWzBdLGUpO2JyZWFrO2RlZmF1bHQ6dGhpcy5faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihzLGUucGFyYW1zWzBdLGUpfX1fbm90aWZ5U2Vzc2lvbnMoZSl7Zm9yKGNvbnN0IHQgaW4gdGhpcy5fc2Vzc2lvbnMpaWYodGhpcy5fc2Vzc2lvbnMuaGFzT3duUHJvcGVydHkodCkpe2NvbnN0IHM9dGhpcy5fc2Vzc2lvbnNbdF07ImZ1bmN0aW9uIj09dHlwZW9mIHMub25NZXNzYWdlJiZzLm9uTWVzc2FnZShlKX19X29uTWVzc2FnZShlKXtqJiZ0aGlzLl9jaGVja0F1dGhUb2tlbkV4cGlyYXRpb24oIkF1dGhUb2tlbiBpbnZhbGlkYXRpb24gZGV0ZWN0ZWQgb24gcmVjZWl2aW5nIGEgbWVzc2FnZSwgcmVxdWVzdGluZyBuZXcgdG9rZW4iKSx0aGlzLl9jYWxjVHJhZmZpY1N0YXRzKGUpO2NvbnN0IHQ9dGhpcy51bnBhY2soZSk7dGhpcy5fcmVjZWl2ZWRNZXRob2RzQ291bnRlcnMuc2V0KHQubWV0aG9kLCh0aGlzLl9yZWNlaXZlZE1ldGhvZHNDb3VudGVycy5nZXQodC5tZXRob2QpPz8wKSsxKSwidF9tcyJpbiB0JiYoMCxvLmRlZmF1bHQpKHQudF9tcykmJndpbmRvdy5DaGFydEFwaUluc3RhbmNlLmNvbXBlbnNhdGVDb25uZWN0aW9uTGFnKHQudF9tcyksInByb3RvY29sX3N3aXRjaGVkIiE9PXQubWV0aG9kPyJwcm90b2NvbF9lcnJvciIhPT10Lm1ldGhvZD90aGlzLl9kaXNwYXRjaE5vdGlmaWNhdGlvbih0LGUpOnRoaXMuX3Byb2Nlc3NQcm90b2NvbEVycm9yKHQpOkEubG9nRXJyb3IoIlVuZXhwZWN0ZWQgcHJvdG9jb2wgY2hhbmdpbmcgcmVxdWVzdCwgdHJ5IHNraXBwaW5nLiBSZXF1ZXN0ZWQgcHJvdG9jb2w6Iit0LnBhcmFtc1swXSl9YXN5bmMgX3Byb2Nlc3NlZE1ldGFkYXRhKGUpe2NvbnN0IHQ9KDAsZC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZSkscz1hd2FpdCB0aGlzLl9pbml0Q2FjaGVQcm9taXNlLGk9d2luZG93LnByby5oYXNoKCksbz0oMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKTt0cnl7YXdhaXQgcy5zZXRWYWx1ZShpZSwoMCxuLmRlZmF1bHQpKGUpKTtjb25zdCByPUFycmF5LmZyb20obmV3IFNldChlLnBhcmFtc1sxXS5tZXRhaW5mby5tYXAoKGU9PntyZXR1cm5gJHsodD0oMCxwLnBhcnNlSWRTdHJpbmcpKGUuaWQpKS5wYWNrYWdlSWR9LSR7dC52ZXJzaW9ufWA7dmFyIHR9KSkpKTtpZihBLmxvZ05vcm1hbChgVXBkYXRlZCBzdHVkaWVzX21ldGFkYXRhIGNhY2hlLCB1bmlxdWUgcGFja2FnZSBpZHM6ICR7ci5qb2luKCIsICIpfWApLCFvKXRyeXthd2FpdCBzLnNldFZhbHVlKG5lLCgwLG4uZGVmYXVsdCkoaSkpLEEubG9nTm9ybWFsKCJVcGRhdGVkIHByb19oYXNoIGNhY2hlIil9Y2F0Y2goZSl7dC5yZWplY3QoKSxBLmxvZ0Vycm9yKCJDYW5ub3QgdXBkYXRlIHByb19oYXNoIGNhY2hlLCByZWFzb246ICIrZSl9fWNhdGNoKGUpe3QucmVqZWN0KCksCkEubG9nRXJyb3IoIkNhbm5vdCB1cGRhdGUgc3R1ZGllc19tZXRhZGF0YSBjYWNoZSwgcmVhc29uOiAiK2UpfXQucmVzb2x2ZSgoMCxuLmRlZmF1bHQpKGUpKX1faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihlLHQscyl7aWYodm9pZCAwPT09dClyZXR1cm47Y29uc3Qgbj10aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XTt2b2lkIDAhPT1uJiYobi5zaW5nbGVTaG90JiZkZWxldGUgdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF0sbi5oYW5kbGVyPy4ocykpfV9jb252ZXJ0VGltZXNjYWxlUmVzcG9uc2UoZSl7cmV0dXJuIHRoaXMuX2RhdGFIYW5kbGVNb2R1bGUuY29udmVydFRpbWVzY2FsZVJlc3BvbnNlKGUpfV9hcHBlbmREdXJhdGlvbihlLHQpe3JldHVybiB0P2Ake2V9LCBkdXJhdGlvbjogJHt0aGlzLl9mb3JtYXRUaW1lKHRoaXMuc2VydmVyVGltZSgpLTFlMyp0KX1gOmV9YXN5bmMgX3JlcXVlc3RNZXRhZGF0YSgpe2NvbnN0IGU9dGhpcy5fbWFrZU5leHRSZXF1ZXN0SWQoKTt4LmxvZ05vcm1hbChgUmVxdWVzdGluZyBtZXRhaW5mbyAjJHtlfWApO2NvbnN0IHQ9KDAsZC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZSkscz13aW5kb3cucHJvLGk9cy5oYXNoKCksbz0oMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKTtBLmxvZ05vcm1hbCgiUmVxdWVzdGluZyBwcm8gaGFzaCIpO3RyeXtjb25zdCByPWF3YWl0IHRoaXMuX2luaXRDYWNoZVByb21pc2U7YXdhaXQgci5taWdyYXRlVmFsdWUoInByb19oYXNoIixuZSksYXdhaXQgci5taWdyYXRlVmFsdWUoc2UsaWUpO2NvbnN0IGE9YXdhaXQgci5nZXRWYWx1ZShuZSk7aWYobnVsbCE9PWEmJmE9PT1pfHxvKXtBLmxvZ05vcm1hbCgiUHJvIGhhc2ggaGFzIG5vdCBjaGFuZ2VkLCByZXF1ZXN0aW5nIGZyb20gbG9jYWwiKTtjb25zdCBvPWF3YWl0IHIuZ2V0VmFsdWUoaWUpLGE9bnVsbCE9PW8mJm8ucGFyYW1zWzFdLmhhc2h8fG51bGw7aWYobnVsbD09PWF8fG51bGw9PT10aGlzLl9tZXRhZGF0YVNlcnZlckhhc2h8fHRoaXMuX21ldGFkYXRhU2VydmVySGFzaCE9PWEpQS5sb2dOb3JtYWwoYE1ldGFkYXRhIGhhc2ggaGFzIGNoYW5nZWQgKGNhY2hlZDogJyR7YX0nLCBzZXJ2ZXI6ICcke3RoaXMuX21ldGFkYXRhU2VydmVySGFzaH0nKWApLHRoaXMuX3JlcXVlc3RNZXRhZGF0YUZyb21TZXJ2ZXIoZSk7ZWxzZXtpZighcy5oYXNQYWNrYWdlKCJ0di12b2x1bWVieXByaWNlIil8fHZvaWQgMCE9PW8ucGFyYW1zWzFdLm1ldGFpbmZvLmZpbmQoKGU9PmUuaWQuaW5jbHVkZXMoIkB0di12b2x1bWVieXByaWNlIikpKSlyZXR1cm4gQS5sb2dOb3JtYWwoIlVzaW5nIHN0dWRpZXNfbWV0YWRhdGEgZnJvbSBicm93c2VyIGNhY2hlIiksdm9pZCB0LnJlc29sdmUoKDAsbi5kZWZhdWx0KShvKSk7QS5sb2dOb3JtYWwoYERlLXN5bmMgZGV0ZWN0ZWQhIHByby5oYXNoIGNvbnRhaW5zIFZiUFIgc3R1ZGllcywgYnV0IGRhdGEgZnJvbSBjYWNoZSBkb2Vzbid0IGFuZCBwcm8uaGFzaCBpc24ndCBjaGFuZ2VkLCBwcm8uaGFzaD0ke2l9YCksdGhpcy5fcmVxdWVzdE1ldGFkYXRhRnJvbVNlcnZlcihlKX19ZWxzZSBBLmxvZ05vcm1hbChgUHJvIGhhc2ggaGFzIGNoYW5nZWQgKGNhY2hlZDogJyR7YX0nLCBjdXJyZW50OiAnJHtpfScpYCksdGhpcy5fcmVxdWVzdE1ldGFkYXRhRnJvbVNlcnZlcihlKX1jYXRjaCh0KXtBLmxvZ0Vycm9yKCJDYW5ub3QgZ2V0IHN0dWRpZXNfbWV0YWRhdGEsIHJlYXNvbjogIit0KSx0aGlzLl9yZXF1ZXN0TWV0YWRhdGFGcm9tU2VydmVyKGUpfWZpbmFsbHl7eC5sb2dOb3JtYWwoYFJlcXVlc3Rpbmcgc3R1ZGllcyBtZXRhZGF0YSAjJHtlfSBmaW5pc2hlZGApfX1fbWFrZU5leHRSZXF1ZXN0SWQoKXtyZXR1cm4ibWV0YWRhdGFfIit0aGlzLl9tZXRhZGF0YVJlcXVlc3ROZXh0TnVtYmVyKyt9X3Byb2Nlc3NQcm90b2NvbEVycm9yKGUpe2NvbnN0IHQ9ZS5wYXJhbXNbMF07QS5sb2dFcnJvcihgUHJvdG9jb2wgZXJyb3IuIFJlYXNvbj0ke3R9LmApLCJiYW5uZWQiIT09dCYmImJhbm5lZCBieSB1c2VyX2lkIiE9PXQmJiJiYW5uZWQgYnkgaXAiIT09dHx8KHRoaXMuX2JhbkluZm8uc2V0VmFsdWUoe3JlYXNvbjp0fSksdGhpcy5kaXNjb25uZWN0KCkpLHRoaXMuX2Nvbm5lY3Rpb25zTGltaXRSZWFjaGVkLnNldFZhbHVlKCJ1c2VyIGNvbm5lY3Rpb25zIGxpbWl0IHJlYWNoZWQiPT09dCl9X3JlcXVlc3RNZXRhZGF0YUZyb21TZXJ2ZXIoZSl7cmV0dXJuIEEubG9nTm9ybWFsKCJSZXF1ZXN0IHN0dWRpZXNfbWV0YWRhdGEgZnJvbSBzZXJ2ZXIiKSx0aGlzLl9zZW5kUmVxdWVzdCgicmVxdWVzdF9zdHVkaWVzX21ldGFkYXRhIixbZV0pfV9iaW5kU29ja2V0RXZlbnRzKCl7dGhpcy5jb25uZWN0RGZkPW5ldyBQcm9taXNlKCgoZSx0KT0+e3RoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24ub24oImNvbm5lY3QiLCgoKT0+e3RoaXMuX29uQ29ubmVjdCgpLGUoKX0pKSx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLm9uKCJtZXNzYWdlIix0aGlzLl9vbk1lc3NhZ2UuYmluZCh0aGlzKSksdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5vbigiZGlzY29ubmVjdCIsKCgpPT57dGhpcy5fYXV0aFRva2VuRGZkJiYodGhpcy5fYXV0aFRva2VuRGZkPW51bGwpLHRoaXMuX29uRGF0YVByb2JsZW1zUHJvbWlzZUVycmJhY2smJnRoaXMuX29uRGF0YVByb2JsZW1zUHJvbWlzZUVycmJhY2soKSx0aGlzLl9pc0Nvbm5lY3RlZD0hMSx0aGlzLl9ub3RpZnlTZXNzaW9ucyh7bWV0aG9kOmguQ2hhcnRBcGlNZXNzYWdlTWV0aG9kLkRpc2Nvbm5lY3RlZCxwYXJhbXM6W119KSx0aGlzLl9iYW5JbmZvLnZhbHVlKCl8fCh0aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZT1udWxsKSx0aGlzLl9kaXNjb25uZWN0Q291bnQ9KHRoaXMuX2Rpc2Nvbm5lY3RDb3VudHx8MCkrMSx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLmlzQ29ubmVjdGVkKCkmJih0aGlzLl90ZWxlbWV0cnlEaXNjb25uZWN0VGltZW91dD1zZXRUaW1lb3V0KCgoKT0+e0QudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgiZGlzY29ubmVjdCIpfSksNWUzKSwKdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5pc01heFJlY29ubmVjdHMoKSYmKHRoaXMuX25vdGlmeVNlc3Npb25zKHttZXRob2Q6aC5DaGFydEFwaU1lc3NhZ2VNZXRob2QuUmVjb25uZWN0QmFpbG91dCxwYXJhbXM6W119KSx0KCksRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJyZWNvbm5lY3RfYmFpbG91dCIpKSl9KSl9KSl9X2NhbGNUcmFmZmljU3RhdHMoZSl7Y29uc3QgdD1lLmxlbmd0aDt0aGlzLl90cmFmZmljU3RhdHMudG90YWwrPXQsdGhpcy5fdHJhZmZpY1N0YXRzLnNpbmNlQ29ubmVjdCs9dCx0aGlzLl90cmFmZmljU3RhdHMubGFzdENodW5rKz10fV9zZW5kQnJva2VySWRUb1Nlc3Npb24oZSl7cmV0dXJuIVd8fHRoaXMuX3NlbmRSZXF1ZXN0KCJzZXRfYnJva2VyIixbZV0pfV9lbmFibGVMb3dRdWFsaXR5TW9kZSgpe0EubG9nTm9ybWFsKCJsb3cgcXVhbGl0eSBtb2RlIGlzIGVuYWJsZWQiKSx0aGlzLl9sb3dRdWFsaXR5RW5hYmxlZD0hMCx0aGlzLl9zZW5kTG93UXVhbGl0eU1vZGVJZkVuYWJsZWQoKX1fc2VuZExvd1F1YWxpdHlNb2RlSWZFbmFibGVkKCl7dGhpcy5fbG93UXVhbGl0eUVuYWJsZWQmJnRoaXMuY29ubmVjdGVkKCkmJnRoaXMuX3NlbmRSZXF1ZXN0KCJzZXRfZGF0YV9xdWFsaXR5IixbXSl9X2dldEF1dGhUb2tlbkRmZChlKXtpZih0aGlzLl9sb2FkTmV3QmFycylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCJsb2FkX25ld190b2tlbiIpO2lmKCgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpfHwtMSE9PXdpbmRvdy5sb2NhdGlvbi5zZWFyY2guaW5kZXhPZigid2lkZ2V0X3Rva2VuIil8fC0xIT09d2luZG93LmxvY2F0aW9uLmhhc2guaW5kZXhPZigid2lkZ2V0X3Rva2VuIikpe2NvbnN0IGU9d2luZG93LlRyYWRpbmdWaWV3JiZ3aW5kb3cuVHJhZGluZ1ZpZXcud2lkZ2V0Q3VzdG9tZXJ8fCIiO3JldHVybiBQcm9taXNlLnJlc29sdmUoYltlXXx8IndpZGdldF91c2VyX3Rva2VuIil9aWYoIXdpbmRvdy5pc19hdXRoZW50aWNhdGVkKXJldHVybiBQcm9taXNlLnJlc29sdmUoInVuYXV0aG9yaXplZF91c2VyX3Rva2VuIik7aWYoIXRoaXMuX2F1dGhUb2tlbk1hbmFnZXIpe2NvbnN0IGU9dGhpcy5fYXV0aFRva2VuTWFuYWdlcj1uZXcgZi5BdXRoVG9rZW47ZS5pbnZhbGlkYXRlZC5zdWJzY3JpYmUobnVsbCwoYXN5bmMoKT0+e3RyeXt0aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudCs9MTtjb25zdCB0PWF3YWl0IGUuZ2V0KCk7aWYoIXQpcmV0dXJuIHZvaWQgQS5sb2dJbmZvKCJBdXRoVG9rZW4gaW52YWxpZGF0ZWQsIGJ1dCBuZXcgdG9rZW4gaXMgZW1wdHkiKTtpZighdGhpcy5jb25uZWN0ZWQoKSlyZXR1cm4gdm9pZCBBLmxvZ0luZm8oYEF1dGhUb2tlbiBpbnZhbGlkYXRlZCwgYnV0IHNvY2tldCBpcyBub3QgY29ubmVjdGVkLiBUb2tlbjogJHt0fWApO0EubG9nSW5mbygiQXV0aFRva2VuIGludmFsaWRhdGVkLCByZWZyZXNoaW5nIHRva2VuIGFuZCByZXNlbmRpbmcgdG8gc2Vzc2lvbiIpLHRoaXMuX3NlbmRSZXF1ZXN0SW1wbCgic2V0X2F1dGhfdG9rZW4iLFt0XSl9Y2F0Y2goZSl7dGhyb3cgQS5sb2dFcnJvcihgRmFpbGVkIHRvIHJlZnJlc2ggYXV0aCB0b2tlbiBhZnRlciBpbnZhbGlkYXRpb246ICR7KDAsUy5lcnJvclRvU3RyaW5nKShlKX1gKSxlfWZpbmFsbHl7dGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnQtPTEsMD09PXRoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50JiZlLmN1cnJlbnRUb2tlbklzVmFsaWQoKSYmdGhpcy5fZmx1c2hQZW5kaW5nTWVzc2FnZXMoKX19KSl9cmV0dXJuIHRoaXMuX2F1dGhUb2tlbk1hbmFnZXIuZ2V0KGUpfV9vblNlbmRpbmdRdWV1ZVJlcXVlc3RGaW5pc2hlZCgpe3RoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50LT0xLEEubG9nSW5mbyhgU2VuZGluZyBxdWV1ZSByZXF1ZXN0IGZpbmlzaGVkLiBSZW1haW5pbmcgcGVuZGluZyByZXF1ZXN0cz0ke3RoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50fWApLHRoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50PDAmJkEubG9nRXJyb3IoYEludmFsaWQgcXVldWUgc3RhdGU9JHt0aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudH1gKSwwPT09dGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnQmJnRoaXMuX2ZsdXNoUGVuZGluZ01lc3NhZ2VzKCl9X2ZsdXNoUGVuZGluZ01lc3NhZ2VzKCl7QS5sb2dJbmZvKGBGbHVzaCBwZW5kaW5nIG1lc3NhZ2VzLiBDb3VudD0ke3RoaXMuX3BlbmRpbmdNZXNzYWdlc1F1ZXVlLmxlbmd0aH1gKSx0aGlzLl9wZW5kaW5nTWVzc2FnZXNRdWV1ZS5mb3JFYWNoKChlPT50aGlzLl9zZW5kUmVxdWVzdChlLm1ldGhvZCxlLmFyZ3MpKSksdGhpcy5fcGVuZGluZ01lc3NhZ2VzUXVldWU9W119fSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiYod2luZG93LkNoYXJ0QXBpSW5zdGFuY2U9bmV3IGRlKHdpbmRvdy5XU0JhY2tlbmRDb25uZWN0aW9uKSl9LDg4OTUxNShlLHQscyl7cy5kKHQse3Nob3dUb29NYW55U3R1ZGllc05vdGljZTooKT0+b30pO3ZhciBuPXMoMTg1MjcxKSxpPXMoMjM0OTY0KTtmdW5jdGlvbiBvKGUpeygwLGkuc2hvd1dhcm5pbmcpKHt0aXRsZTpuLnQobnVsbCx2b2lkIDAscyg5MzcwMTcpKSx0ZXh0Om4udChudWxsLHtyZXBsYWNlOntudW1iZXI6YCR7ZX1gfX0scyg5OTIzNjIpKX0pfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/73412.4c102818ffef73161fe1.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.907Z","timestamp":1785120633907,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/73412.4c102818ffef73161fe1.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-487f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b1934862cd9c214e213f3f66018e4509\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":18559,"size_decoded":5748,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (8881)","md5":"422636023d55690609fce8127ace82e2","sha1":"f067bcdceb83c6ad56ea24a44d96a430265afe46","sha256":"0d6b57c0d510f7d333f8dd28d138512ba9e093cb8d2a857e94e4699f10896e61","sha512":"dbcae425b76e785d30b99b63a5bb3420cd65b99541f1cff59128488e74741414af26b0e8f212a6f2f21e52abe80011e4a9dd9d10f42a3af5125b6a2354e40975","ssdeep":"384:nhjXdYS4gnfR8o1Yys/z02D8EIomJHYIjVAUc:hjtYHmJxO","tlshash":"3d82873cf9d0e527b6eb99ff4f81e6524959a843b73b7fc27134d2c02419c4b2122a1a","first_seen":"2026-07-23T22:46:45.888096Z","last_seen":"2026-07-27T06:01:16.203799Z","times_seen":25,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNzM0MTJdLHsxMTUyOTMobyxyLGwpe2wuZChyLHtmb3JjZUxUUlN0cjooKT0+ZCxpc1J0bDooKT0+dCxzZXREb2N1bWVudERpckdldHRlcjooKT0+YyxzdHJpcExUUk1hcmtzOigpPT5pfSk7bCgzMjA0MDMpO2xldCBlPSgpPT5udWxsO2Z1bmN0aW9uIGMobyl7ZT1vfWNvbnN0IHQ9KCk9PiJydGwiPT09ZnVuY3Rpb24oKXtjb25zdCBvPWUoKTtpZihudWxsPT09byl0aHJvdyBuZXcgRXJyb3IoIkRvY3VtZW50IGRpcmVjdGlvbiBnZXR0ZXIgaXMgbm90IHNldCwgY2FsbCBzZXREb2N1bWVudERpckdldHRlciB0byBzZXQgaXQiKTtyZXR1cm4gb30oKSxhPSLigKoiLG49IuKArCIsZz1uZXcgUmVnRXhwKCLigI584oCPfOKAqnzigKt84oCsIiwiZyIpO2Z1bmN0aW9uIGkobyl7cmV0dXJuIiIhPT1vJiZ0KCkmJm51bGwhPW8/by5yZXBsYWNlKGcsIiIpOm99ZnVuY3Rpb24gZChvKXtyZXR1cm4iIiE9PW8mJnQoKSYmbnVsbCE9bz9hK28rbjpvfXZhciBiOyFmdW5jdGlvbihvKXtvLkxUUj0ibHRyIixvLlJUTD0icnRsIixvLlVOS05PV049IiJ9KGJ8fChiPXt9KSl9LDExMTk1MyhvLHIsbCl7bC5kKHIse2NvbXBhcmVTeW1ib2xzOigpPT52LGRlY29kZUV4dGVuZGVkU3ltYm9sOigpPT51LGVuY29kZUV4dGVuZGVkU3ltYm9sOigpPT5jLGVuY29kZUV4dGVuZGVkU3ltYm9sU3RydWN0dXJhbDooKT0+ZCxleHRyYWN0RXh0ZW5kZWRTeW1ib2w6KCk9PnAsaXNFbmNvZGVkRXh0ZW5kZWRTeW1ib2w6KCk9PmIsaXNTdHVkeVN5bWJvbDooKT0+bixyZXBsYWNlRXh0ZW5kZWRTeW1ib2w6KCk9Pm0sdW53cmFwU2ltcGxlU3ltYm9sOigpPT55fSk7dmFyIGU9bCg2MDE4NDEpO2Z1bmN0aW9uIGMobyl7cmV0dXJuIj0iK0pTT04uc3RyaW5naWZ5KHQobykpfWZ1bmN0aW9uIHQobyl7cmV0dXJuIE9iamVjdC5rZXlzKG8pLnNvcnQoKS5yZWR1Y2UoKChyLGwpPT4odF0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9bbF0pP3JbbF09dChvW2xdKTpyW2xdPW9bbF0scikpLHt9KX1mdW5jdGlvbiBhKG8pe3JldHVybigwLGUuaXNTdHJpbmcpKG8pfWZ1bmN0aW9uIG4obyl7cmV0dXJuIWEobykmJiJpbnB1dHMiaW4gb31mdW5jdGlvbiBnKG8pe3JldHVybiFhKG8pJiYicmVwbGF5ImluIG99ZnVuY3Rpb24gaShvKXtyZXR1cm4gZyhvKXx8ZnVuY3Rpb24obyl7cmV0dXJuIWEobykmJmcoby5zeW1ib2wpfShvKX1mdW5jdGlvbiBkKG8pe3JldHVybiBuKG8pfHxpKG8pfHxvLnNlc3Npb258fG8uYWRqdXN0bWVudHx8b1siY3VycmVuY3ktaWQiXXx8b1sidW5pdC1pZCJdfHxvLm1ldHJpYz9jKG8pOm8uc3ltYm9sfWZ1bmN0aW9uIGIobyl7cmV0dXJuIj0iPT09b1swXX1mdW5jdGlvbiB1KG8pe2lmKCFiKG8pKXJldHVybntzeW1ib2w6b307dHJ5e3JldHVybiBKU09OLnBhcnNlKG8uc2xpY2UoMSkpfWNhdGNoKHIpe3JldHVybntzeW1ib2w6b319fWZ1bmN0aW9uIHkobyl7cmV0dXJuIGEobyk/bzp5KG8uc3ltYm9sKX1mdW5jdGlvbiBwKG8pe2lmKGEobykpcmV0dXJue3N5bWJvbDpvfTtsZXQgcj1vO2Zvcig7IWEoci5zeW1ib2wpOylyPXIuc3ltYm9sO3JldHVybiByfWNvbnN0IHM9WyJzeW1ib2wiLCJzZXNzaW9uIiwidW5pdC1pZCIsImN1cnJlbmN5LWlkIiwibWV0cmljIiwiYWRqdXN0bWVudCIsImJhY2thZGp1c3RtZW50Iiwic2V0dGxlbWVudC1hcy1jbG9zZSJdO2Z1bmN0aW9uIHYobyxyKXtyZXR1cm4gcy5ldmVyeSgobD0+b1tsXT09PXJbbF0pKX1mdW5jdGlvbiBtKG8scil7bGV0IGw9bztmb3IoOyFhKGwuc3ltYm9sKTspbD1sLnN5bWJvbDtsLnN5bWJvbD1yfX0sMjM0OTY0KG8scixsKXthc3luYyBmdW5jdGlvbiBlKG8scil7Y29uc3QgZT1hd2FpdCBQcm9taXNlLmFsbChbbC5lKDI4ODMxKSxsLmUoODQzMDYpLGwuZSgyOTI5NiksbC5lKDUyMzk2KSxsLmUoNjAwNjIpLGwuZSgyMDM1NCksbC5lKDEzNDkyKSxsLmUoMzc3NDYpLGwuZSgxMjM4NSksbC5lKDgxMDcyKSxsLmUoOTQyMzIpLGwuZSgxOTU5NSksbC5lKDE5Nzg3KSxsLmUoODU3OSksbC5lKDE3MDg3KSxsLmUoNTczMDApLGwuZSgxMjA1MSksbC5lKDg5NTU4KSxsLmUoMTAzNjYpLGwuZSg0MDkxNCksbC5lKDkwOTYwKSxsLmUoODc3NDApLGwuZSg3ODg5OSksbC5lKDY3MjEyKSxsLmUoODA5MTUpLGwuZSgxNTM0KSxsLmUoMjgxNzYpLGwuZSgzOTYwOSksbC5lKDU1MjI5KSxsLmUoNjUxMDApLGwuZSg0MjcwNildKS50aGVuKGwuYmluZChsLDUwNjI3NSkpO3JldHVybiBlLnNob3dTaW1wbGVEaWFsb2cobyxlLmNvbmZpcm1Nb2R1bGUscil9YXN5bmMgZnVuY3Rpb24gYyhvLHIpe2NvbnN0IGU9YXdhaXQgUHJvbWlzZS5hbGwoW2wuZSgyODgzMSksbC5lKDg0MzA2KSxsLmUoMjkyOTYpLGwuZSg1MjM5NiksbC5lKDYwMDYyKSxsLmUoMjAzNTQpLGwuZSgxMzQ5MiksbC5lKDM3NzQ2KSxsLmUoMTIzODUpLGwuZSg4MTA3MiksbC5lKDk0MjMyKSxsLmUoMTk1OTUpLGwuZSgxOTc4NyksbC5lKDg1NzkpLGwuZSgxNzA4NyksbC5lKDU3MzAwKSxsLmUoMTIwNTEpLGwuZSg4OTU1OCksbC5lKDEwMzY2KSxsLmUoNDA5MTQpLGwuZSg5MDk2MCksbC5lKDg3NzQwKSxsLmUoNzg4OTkpLGwuZSg2NzIxMiksbC5lKDgwOTE1KSxsLmUoMTUzNCksbC5lKDI4MTc2KSxsLmUoMzk2MDkpLGwuZSg1NTIyOSksbC5lKDY1MTAwKSxsLmUoNDI3MDYpXSkudGhlbihsLmJpbmQobCw1MDYyNzUpKTtyZXR1cm4gZS5zaG93U2ltcGxlRGlhbG9nKG8sZS53YXJuaW5nTW9kdWxlLHIpfWwuZChyLHtzaG93Q29uZmlybTooKT0+ZSxzaG93V2FybmluZzooKT0+Y30pfSwxMTM1NjcobyxyLGwpe2wuZChyLHtwcmVwYXJlQ3VycmVuY3lWYWx1ZTooKT0+Y30pO3ZhciBlPWwoMTg1MjcxKTtmdW5jdGlvbiBjKG8pe2xldCByPVtdO2NvbnN0IGM9ZnVuY3Rpb24obyl7c3dpdGNoKG8pe2Nhc2UiUENUIjpjYXNlIlBDVFBBUiI6cmV0dXJuIiUiO2Nhc2UiUENUR0RQIjpyZXR1cm4gZS50KG51bGwse2NvbnRleHQ6Il9tYXhfbGVuXzkifSxsKDU1ODQxMikpCjtjYXNlIkRFR0MiOnJldHVybiLihIMiO2RlZmF1bHQ6cmV0dXJuIG99fShvLmN1cnJlbmN5X2NvZGV8fG8udmFsdWVfdW5pdF9pZHx8IiIpO3N3aXRjaChvLm1lYXN1cmUpe2Nhc2UicHJpY2UiOmNhc2UidW5pdCI6cj1bYyxvLnVuaXRfaWRdO2JyZWFrO2RlZmF1bHQ6cj1bY119cmV0dXJuIHIuZmlsdGVyKEJvb2xlYW4pLmpvaW4oIuKAiS/igIkiKX19LDMxNzY2MyhvKXsKby5leHBvcnRzPUpTT04ucGFyc2UoJ3siY29sb3Itd2hpdGUiOiIjZmZmZmZmIiwiY29sb3ItYmxhY2siOiIjMDAwMDAwIiwiY29sb3ItdHJhbnNwYXJlbnQiOiIjMDAwMDAwMDAiLCJjb2xvci1jb2xkLWdyYXktNTAiOiIjRjlGOUY5IiwiY29sb3ItY29sZC1ncmF5LTEwMCI6IiNGMkYyRjIiLCJjb2xvci1jb2xkLWdyYXktMTUwIjoiI0VCRUJFQiIsImNvbG9yLWNvbGQtZ3JheS0yMDAiOiIjREJEQkRCIiwiY29sb3ItY29sZC1ncmF5LTI1MCI6IiNDOUM5QzkiLCJjb2xvci1jb2xkLWdyYXktMzAwIjoiI0I4QjhCOCIsImNvbG9yLWNvbGQtZ3JheS0zNTAiOiIjQThBOEE4IiwiY29sb3ItY29sZC1ncmF5LTQwMCI6IiM5QzlDOUMiLCJjb2xvci1jb2xkLWdyYXktNDUwIjoiIzhDOEM4QyIsImNvbG9yLWNvbGQtZ3JheS01MDAiOiIjODA4MDgwIiwiY29sb3ItY29sZC1ncmF5LTU1MCI6IiM3MDcwNzAiLCJjb2xvci1jb2xkLWdyYXktNjAwIjoiIzYzNjM2MyIsImNvbG9yLWNvbGQtZ3JheS02NTAiOiIjNTc1NzU3IiwiY29sb3ItY29sZC1ncmF5LTcwMCI6IiM0QTRBNEEiLCJjb2xvci1jb2xkLWdyYXktNzUwIjoiIzNEM0QzRCIsImNvbG9yLWNvbGQtZ3JheS04MDAiOiIjMkUyRTJFIiwiY29sb3ItY29sZC1ncmF5LTg1MCI6IiMxRjFGMUYiLCJjb2xvci1jb2xkLWdyYXktOTAwIjoiIzBGMEYwRiIsImNvbG9yLWNvbGQtZ3JheS05NTAiOiIjMDAwMDAwIiwiY29sb3ItcmlwZS1yZWQtNTAiOiIjRkZFQkVDIiwiY29sb3ItcmlwZS1yZWQtMTAwIjoiI0ZDQ0JDRCIsImNvbG9yLXJpcGUtcmVkLTIwMCI6IiNGQUExQTQiLCJjb2xvci1yaXBlLXJlZC0zMDAiOiIjRjc3QzgwIiwiY29sb3ItcmlwZS1yZWQtNDAwIjoiI0Y3NTI1RiIsImNvbG9yLXJpcGUtcmVkLTUwMCI6IiNGMjM2NDUiLCJjb2xvci1yaXBlLXJlZC02MDAiOiIjQ0MyRjNDIiwiY29sb3ItcmlwZS1yZWQtNzAwIjoiI0IyMjgzMyIsImNvbG9yLXJpcGUtcmVkLTgwMCI6IiM5OTFGMjkiLCJjb2xvci1yaXBlLXJlZC05MDAiOiIjODAxOTIyIiwiY29sb3ItcmlwZS1yZWQtYTEwMCI6IiNGRjgwODAiLCJjb2xvci1yaXBlLXJlZC1hMjAwIjoiI0ZGNTI1MiIsImNvbG9yLXJpcGUtcmVkLWE0MDAiOiIjRkYzMzMzIiwiY29sb3ItcmlwZS1yZWQtYTYwMCI6IiNDQzI5MjkiLCJjb2xvci1yaXBlLXJlZC1hNzAwIjoiIzgwMjAyOCIsImNvbG9yLXJpcGUtcmVkLWE4MDAiOiIjNEQxOTFEIiwiY29sb3ItcmlwZS1yZWQtYTkwMCI6IiMzMzFGMjAiLCJjb2xvci10YW4tb3JhbmdlLTUwIjoiI0ZGRjNFMCIsImNvbG9yLXRhbi1vcmFuZ2UtMTAwIjoiI0ZGRTBCMiIsImNvbG9yLXRhbi1vcmFuZ2UtMjAwIjoiI0ZGQ0M4MCIsImNvbG9yLXRhbi1vcmFuZ2UtMzAwIjoiI2ZmYjc0ZCIsImNvbG9yLXRhbi1vcmFuZ2UtNDAwIjoiI0ZGQTcyNiIsImNvbG9yLXRhbi1vcmFuZ2UtNTAwIjoiI0ZGOTgwMCIsImNvbG9yLXRhbi1vcmFuZ2UtNjAwIjoiI0ZCOEMwMCIsImNvbG9yLXRhbi1vcmFuZ2UtNzAwIjoiI0Y1N0MwMCIsImNvbG9yLXRhbi1vcmFuZ2UtODAwIjoiI0VGNkMwMCIsImNvbG9yLXRhbi1vcmFuZ2UtOTAwIjoiI2U2NTEwMCIsImNvbG9yLXRhbi1vcmFuZ2UtYTEwMCI6IiNGRkQxODAiLCJjb2xvci10YW4tb3JhbmdlLWEyMDAiOiIjZmZhYjQwIiwiY29sb3ItdGFuLW9yYW5nZS1hNDAwIjoiI0ZGOTEwMCIsImNvbG9yLXRhbi1vcmFuZ2UtYTUwMCI6IiNFNTdFMTciLCJjb2xvci10YW4tb3JhbmdlLWE2MDAiOiIjQ0M3MDE0IiwiY29sb3ItdGFuLW9yYW5nZS1hNzAwIjoiIzhDNTQxQyIsImNvbG9yLXRhbi1vcmFuZ2UtYTgwMCI6IiM1OTNBMUIiLCJjb2xvci10YW4tb3JhbmdlLWE5MDAiOiIjMzMyNjFBIiwiY29sb3ItaWd1YW5hLWdyZWVuLTUwIjoiI0U4RjVFOSIsImNvbG9yLWlndWFuYS1ncmVlbi0xMDAiOiIjQzhFNkM5IiwiY29sb3ItaWd1YW5hLWdyZWVuLTIwMCI6IiNBNUQ2QTciLCJjb2xvci1pZ3VhbmEtZ3JlZW4tMzAwIjoiIzgxYzc4NCIsImNvbG9yLWlndWFuYS1ncmVlbi00MDAiOiIjNjZCQjZBIiwiY29sb3ItaWd1YW5hLWdyZWVuLTUwMCI6IiM0Y2FmNTAiLCJjb2xvci1pZ3VhbmEtZ3JlZW4tNjAwIjoiIzQzYTA0NyIsImNvbG9yLWlndWFuYS1ncmVlbi03MDAiOiIjMzg4ZTNjIiwiY29sb3ItaWd1YW5hLWdyZWVuLTgwMCI6IiMyRTdEMzIiLCJjb2xvci1pZ3VhbmEtZ3JlZW4tOTAwIjoiIzFCNUUyMCIsImNvbG9yLWlndWFuYS1ncmVlbi1hMTAwIjoiI0I5RjZDQSIsImNvbG9yLWlndWFuYS1ncmVlbi1hMjAwIjoiIzY5RjBBRSIsImNvbG9yLWlndWFuYS1ncmVlbi1hNDAwIjoiIzAwRTY3NiIsImNvbG9yLWlndWFuYS1ncmVlbi1hNzAwIjoiIzAwYzg1MyIsImNvbG9yLWJhbmFuYS15ZWxsb3ctNTAiOiIjRkZGREU3IiwiY29sb3ItYmFuYW5hLXllbGxvdy0xMDAiOiIjRkZGOUM0IiwiY29sb3ItYmFuYW5hLXllbGxvdy0yMDAiOiIjRkZGNTlEIiwiY29sb3ItYmFuYW5hLXllbGxvdy0zMDAiOiIjRkZGMTc2IiwiY29sb3ItYmFuYW5hLXllbGxvdy00MDAiOiIjZmZlZTU4IiwiY29sb3ItYmFuYW5hLXllbGxvdy01MDAiOiIjZmZlYjNiIiwiY29sb3ItYmFuYW5hLXllbGxvdy02MDAiOiIjZmRkODM1IiwiY29sb3ItYmFuYW5hLXllbGxvdy03MDAiOiIjZmJjMDJkIiwiY29sb3ItYmFuYW5hLXllbGxvdy04MDAiOiIjZjlhODI1IiwiY29sb3ItYmFuYW5hLXllbGxvdy05MDAiOiIjRjU3RjE3IiwiY29sb3ItYmFuYW5hLXllbGxvdy1hMTAwIjoiI0ZGRkY4RCIsImNvbG9yLWJhbmFuYS15ZWxsb3ctYTIwMCI6IiNGRkZGMDAiLCJjb2xvci1iYW5hbmEteWVsbG93LWE0MDAiOiIjZmZlYTAwIiwiY29sb3ItYmFuYW5hLXllbGxvdy1hNzAwIjoiI0VFREEwMSIsImNvbG9yLXR2LWJsdWUtNTAiOiIjRTNFRkZEIiwiY29sb3ItdHYtYmx1ZS0xMDAiOiIjQkJEOUZCIiwiY29sb3ItdHYtYmx1ZS0yMDAiOiIjOTBCRkY5IiwiY29sb3ItdHYtYmx1ZS0zMDAiOiIjNUI5Q0Y2IiwiY29sb3ItdHYtYmx1ZS00MDAiOiIjMzE3OUY1IiwiY29sb3ItdHYtYmx1ZS01MDAiOiIjMjk2MkZGIiwiY29sb3ItdHYtYmx1ZS02MDAiOiIjMUU1M0U1IiwiY29sb3ItdHYtYmx1ZS03MDAiOiIjMTg0OENDIiwiY29sb3ItdHYtYmx1ZS04MDAiOiIjMTQzRUIyIiwiY29sb3ItdHYtYmx1ZS05MDAiOiIjMEMzMjk5IiwiY29sb3ItdHYtYmx1ZS1hMTAwIjoiIzgyYjFmZiIsImNvbG9yLXR2LWJsdWUtYTIwMCI6IiM0NDhhZmYiLCJjb2xvci10di1ibHVlLWE0MDAiOiIjMjk3OWZmIiwiY29sb3ItdHYtYmx1ZS1hNjAwIjoiIzI5NjJGRiIsImNvbG9yLXR2LWJsdWUtYTcwMCI6IiMxNDNBODciLCJjb2xvci10di1ibHVlLWE4MDAiOiIjMTQyRTYxIiwiY29sb3ItdHYtYmx1ZS1hOTAwIjoiIzEzMjA0MiIsImNvbG9yLWRlZXAtYmx1ZS01MCI6IiNFREU3RjYiLCJjb2xvci1kZWVwLWJsdWUtMTAwIjoiI0QxQzRFOSIsImNvbG9yLWRlZXAtYmx1ZS0yMDAiOiIjQjM5RERCIiwiY29sb3ItZGVlcC1ibHVlLTMwMCI6IiM5NTc1Y2QiLCJjb2xvci1kZWVwLWJsdWUtNDAwIjoiIzdlNTdjMiIsImNvbG9yLWRlZXAtYmx1ZS01MDAiOiIjNjczYWI3IiwiY29sb3ItZGVlcC1ibHVlLTYwMCI6IiM1RTM1QjEiLCJjb2xvci1kZWVwLWJsdWUtNzAwIjoiIzUxMmRhOCIsImNvbG9yLWRlZXAtYmx1ZS04MDAiOiIjNDUyN0EwIiwiY29sb3ItZGVlcC1ibHVlLTkwMCI6IiMzMTFCOTIiLCJjb2xvci1kZWVwLWJsdWUtYTEwMCI6IiNiMzg4ZmYiLCJjb2xvci1kZWVwLWJsdWUtYTIwMCI6IiM3QzRERkYiLCJjb2xvci1kZWVwLWJsdWUtYTQwMCI6IiM2NTFGRkYiLCJjb2xvci1kZWVwLWJsdWUtYTcwMCI6IiM2MjAwRUEiLCJjb2xvci1taW50eS1ncmVlbi01MCI6IiNEQUYyRUUiLCJjb2xvci1taW50eS1ncmVlbi0xMDAiOiIjQUNFNURDIiwiY29sb3ItbWludHktZ3JlZW4tMjAwIjoiIzcwQ0NCRCIsImNvbG9yLW1pbnR5LWdyZWVuLTMwMCI6IiM0MkJEQTgiLCJjb2xvci1taW50eS1ncmVlbi00MDAiOiIjMjJBQjk0IiwiY29sb3ItbWludHktZ3JlZW4tNTAwIjoiIzA4OTk4MSIsImNvbG9yLW1pbnR5LWdyZWVuLTYwMCI6IiMwNjgwNkIiLCJjb2xvci1taW50eS1ncmVlbi03MDAiOiIjMDU2NjU2IiwiY29sb3ItbWludHktZ3JlZW4tODAwIjoiIzAwNEQ0MCIsImNvbG9yLW1pbnR5LWdyZWVuLTkwMCI6IiMwMDMzMkEiLCJjb2xvci1taW50eS1ncmVlbi1hMTAwIjoiI0E3RkZGMCIsImNvbG9yLW1pbnR5LWdyZWVuLWEyMDAiOiIjNDVFNUNCIiwiY29sb3ItbWludHktZ3JlZW4tYTQwMCI6IiMyQkQ5QkMiLCJjb2xvci1taW50eS1ncmVlbi1hNjAwIjoiIzI0QjI5QiIsImNvbG9yLW1pbnR5LWdyZWVuLWE3MDAiOiIjMUI3NjY3IiwiY29sb3ItbWludHktZ3JlZW4tYTgwMCI6IiMxMDQ0M0IiLCJjb2xvci1taW50eS1ncmVlbi1hOTAwIjoiIzA4MjYyMSIsImNvbG9yLWdyYXBlcy1wdXJwbGUtNTAiOiIjRjNFNUY1IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS0xMDAiOiIjRTFCRUU3IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS0yMDAiOiIjQ0U5M0Q4IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS0zMDAiOiIjYmE2OGM4IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS00MDAiOiIjYWI0N2JjIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS01MDAiOiIjOWMyN2IwIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS02MDAiOiIjOGUyNGFhIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS03MDAiOiIjN2IxZmEyIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS04MDAiOiIjNkExQjlBIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS05MDAiOiIjNEExNDhDIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS1hMTAwIjoiI0VBODBGQyIsImNvbG9yLWdyYXBlcy1wdXJwbGUtYTIwMCI6IiNFMDQwRkIiLCJjb2xvci1ncmFwZXMtcHVycGxlLWE0MDAiOiIjRDUwMEY5IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS1hNzAwIjoiI2FhMDBmZiIsImNvbG9yLWJlcnJ5LXBpbmstNTAiOiIjRkNFNEVDIiwiY29sb3ItYmVycnktcGluay0xMDAiOiIjRjhCQkQwIiwiY29sb3ItYmVycnktcGluay0yMDAiOiIjZjQ4ZmIxIiwiY29sb3ItYmVycnktcGluay0zMDAiOiIjZjA2MjkyIiwiY29sb3ItYmVycnktcGluay00MDAiOiIjZWM0MDdhIiwiY29sb3ItYmVycnktcGluay01MDAiOiIjZTkxZTYzIiwiY29sb3ItYmVycnktcGluay02MDAiOiIjRDgxQjYwIiwiY29sb3ItYmVycnktcGluay03MDAiOiIjQzIxODVCIiwiY29sb3ItYmVycnktcGluay04MDAiOiIjQUQxNDU3IiwiY29sb3ItYmVycnktcGluay05MDAiOiIjODgwRTRGIiwiY29sb3ItYmVycnktcGluay1hMTAwIjoiI2ZmODBhYiIsImNvbG9yLWJlcnJ5LXBpbmstYTIwMCI6IiNmZjQwODEiLCJjb2xvci1iZXJyeS1waW5rLWE0MDAiOiIjZjUwMDU3IiwiY29sb3ItYmVycnktcGluay1hNzAwIjoiI2M1MTE2MiIsImNvbG9yLXNreS1ibHVlLTUwIjoiI0UwRjdGQSIsImNvbG9yLXNreS1ibHVlLTEwMCI6IiNCMkVCRjIiLCJjb2xvci1za3ktYmx1ZS0yMDAiOiIjODBERUVBIiwiY29sb3Itc2t5LWJsdWUtMzAwIjoiIzRkZDBlMSIsImNvbG9yLXNreS1ibHVlLTQwMCI6IiMyNmM2ZGEiLCJjb2xvci1za3ktYmx1ZS01MDAiOiIjMDBiY2Q0IiwiY29sb3Itc2t5LWJsdWUtNjAwIjoiIzAwYWNjMSIsImNvbG9yLXNreS1ibHVlLTcwMCI6IiMwMDk3QTciLCJjb2xvci1za3ktYmx1ZS04MDAiOiIjMDA4MzhGIiwiY29sb3Itc2t5LWJsdWUtOTAwIjoiIzAwNjA2NCIsImNvbG9yLXNreS1ibHVlLWExMDAiOiIjODRGRkZGIiwiY29sb3Itc2t5LWJsdWUtYTIwMCI6IiMxOEZGRkYiLCJjb2xvci1za3ktYmx1ZS1hNDAwIjoiIzAwZTVmZiIsImNvbG9yLXNreS1ibHVlLWE3MDAiOiIjMDBCOEQ0IiwiY29sb3ItZm9yZXN0LWdyZWVuLTUwIjoiI0RBRjJFNiIsImNvbG9yLWZvcmVzdC1ncmVlbi0xMDAiOiIjQUNFNUM5IiwiY29sb3ItZm9yZXN0LWdyZWVuLTIwMCI6IiM3MENDOUUiLCJjb2xvci1mb3Jlc3QtZ3JlZW4tMzAwIjoiIzQyQkQ3RiIsImNvbG9yLWZvcmVzdC1ncmVlbi00MDAiOiIjMjJBQjY3IiwiY29sb3ItZm9yZXN0LWdyZWVuLTUwMCI6IiMwODk5NTAiLCJjb2xvci1mb3Jlc3QtZ3JlZW4tNjAwIjoiIzA2ODA0MyIsImNvbG9yLWZvcmVzdC1ncmVlbi03MDAiOiIjMDU2NjM2IiwiY29sb3ItZm9yZXN0LWdyZWVuLTgwMCI6IiMwMDREMjciLCJjb2xvci1mb3Jlc3QtZ3JlZW4tOTAwIjoiIzFBMzMyNiIsImNvbG9yLWZhY2Vib29rIjoiIzE4NzdGMiIsImNvbG9yLWRlZXAtZmFjZWJvb2siOiIjMTU2NENBIiwiY29sb3ItdHdpdHRlciI6IiMxREExRjIiLCJjb2xvci1kZWVwLXR3aXR0ZXIiOiIjMTg4Q0QzIiwiY29sb3IteW91dHViZSI6IiNGRjAwMDAiLCJjb2xvci1saW5rZWRpbiI6IiMwMDdCQjUiLCJjb2xvci1zZWVraW5nLWFscGhhLWJyYW5kIjoiI2ZmNzIwMCJ9JykKfSw4Njc1MjIobyl7Cm8uZXhwb3J0cz1KU09OLnBhcnNlKCd7ImNvbG9yLWhlYWRlci1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3ItYm9keS1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3ItYm9keS1zZWNvbmRhcnktYmciOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItYmctcHJpbWFyeSI6ImNvbG9yLXdoaXRlIiwiY29sb3ItYmctcHJpbWFyeS1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1iZy1zZWNvbmRhcnkiOiJjb2xvci13aGl0ZSIsImNvbG9yLWJnLWhpZ2hsaWdodCI6ImNvbG9yLWNvbGQtZ3JheS01MCIsImNvbG9yLWJnLXNjcm9sbC1idXR0b25zIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLWxlZ2FjeS1iZy1zY3JvbGwtYnV0dG9ucyI6ImNvbG9yLWNvbGQtZ3JheS04NTAiLCJjb2xvci1sZWdhY3ktYmctd2lkZ2V0IjoiY29sb3Itd2hpdGUiLCJjb2xvci10ZXh0LXByaW1hcnkiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItdGV4dC1zZWNvbmRhcnkiOiJjb2xvci1jb2xkLWdyYXktNTUwIiwiY29sb3ItdGV4dC10ZXJ0aWFyeSI6ImNvbG9yLWNvbGQtZ3JheS00MDAiLCJjb2xvci10ZXh0LWRpc2FibGVkIjoiY29sb3ItY29sZC1ncmF5LTMwMCIsImNvbG9yLWFjY2VudC1jb250ZW50IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWJveC1zaGFkb3ciOiJjb2xvci1jb2xkLWdyYXktMzAwIiwiY29sb3ItZGl2aWRlciI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1kaXZpZGVyLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLWRpdmlkZXItc2Vjb25kYXJ5IjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLWFjdGl2ZS1ob3Zlci10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWFsZXJ0LXRleHQiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItYm9yZGVyLXRhYmxlIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLWJyYW5kIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1icmFuZC1hY3RpdmUiOiJjb2xvci10di1ibHVlLTcwMCIsImNvbG9yLWJyYW5kLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS02MDAiLCJjb2xvci1jaGFydC1wYWdlLWJnIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWNvbW1vbi10b29sdGlwLWJnIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLWRhbmdlciI6ImNvbG9yLXJpcGUtcmVkLTQwMCIsImNvbG9yLWRhbmdlci1ob3ZlciI6ImNvbG9yLXJpcGUtcmVkLTUwMCIsImNvbG9yLWRhbmdlci1hY3RpdmUiOiJjb2xvci1yaXBlLXJlZC02MDAiLCJjb2xvci1kZXB0aHJlbmRlcmVyLXN0cm9rZS1zdHlsZSI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1oaWdobGlnaHQtbmV3IjoiY29sb3ItdGFuLW9yYW5nZS01MCIsImNvbG9yLWlucHV0LWJnIjoiY29sb3Itd2hpdGUiLCJjb2xvci1pbnB1dC1wdWJsaXNoLWJnIjoiY29sb3Itd2hpdGUiLCJjb2xvci1saW5rIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1saW5rLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS02MDAiLCJjb2xvci1saW5rLWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNzAwIiwiY29sb3ItbGlzdC1udGgtY2hpbGQtYmciOiJjb2xvci1jb2xkLWdyYXktNTAiLCJjb2xvci1wYW5lLWJnIjoiY29sb3Itd2hpdGUiLCJjb2xvci1wYW5lLXNlY29uZGFyeS1iZyI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1wb3B1cC1tZW51LWl0ZW0taG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItcG9wdXAtbWVudS1zZXBhcmF0b3IiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItcHJpbWFyeS1zeW1ib2wiOiJjb2xvci1za3ktYmx1ZS01MDAiLCJjb2xvci1zY3JlZW5lci1kZXNjcmlwdGlvbiI6ImNvbG9yLWNvbGQtZ3JheS02NTAiLCJjb2xvci1zdWNjZXNzIjoiY29sb3ItbWludHktZ3JlZW4tNTAwIiwiY29sb3Itc3VjY2Vzcy1ob3ZlciI6ImNvbG9yLW1pbnR5LWdyZWVuLTYwMCIsImNvbG9yLXN1Y2Nlc3MtYWN0aXZlIjoiY29sb3ItbWludHktZ3JlZW4tNzAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZS1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtNjAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLXNlY29uZGFyeS1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNTAiLCJjb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtMTAwIiwiY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUtaG92ZXIiOiJjb2xvci10di1ibHVlLTYwMCIsImNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1pY29uIjoiY29sb3ItY29sZC1ncmF5LTIwMCIsImNvbG9yLXRvb2xiYXItaW50ZXJhY3RpdmUtZWxlbWVudC10ZXh0LW5vcm1hbCI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci10b29sYmFyLW9wZW5lZC1lbGVtZW50LWJnIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXRvb2xiYXItZGl2aWRlci1iYWNrZ3JvdW5kIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLXBvcHVwLWJhY2tncm91bmQiOiJjb2xvci13aGl0ZSIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtc2Vjb25kYXJ5LXRleHQiOiJjb2xvci1jb2xkLWdyYXktNTAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC1oaW50LXRleHQiOiJjb2xvci1jb2xkLWdyYXktNDAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWFjdGl2ZSI6ImNvbG9yLXdoaXRlIiwiY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQiOiJjb2xvci1jb2xkLWdyYXktNTAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtYWN0aXZlLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS0yMDAiLCJjb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtYmFja2dyb3VuZC1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtYmFja2dyb3VuZC1hY3RpdmUtaG92ZXIiOiJjb2xvci10di1ibHVlLTcwMCIsImNvbG9yLXRvb2x0aXAtYmciOiJjb2xvci1jb2xkLWdyYXktODAwIiwiY29sb3ItdHYtZGlhbG9nLWNhcHRpb24iOiJjb2xvci1jb2xkLWdyYXktNjUwIiwiY29sb3ItdHYtZHJvcGRvd24taXRlbS1ob3Zlci1iZyI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci11bmRlcmxpbmVkLXRleHQiOiJjb2xvci1jb2xkLWdyYXktNTUwIiwiY29sb3Itd2lkZ2V0LXBhZ2VzLWJnIjoiY29sb3Itd2hpdGUiLCJjb2xvci13YXJuaW5nIjoiY29sb3ItdGFuLW9yYW5nZS01MDAiLCJjb2xvci1ncm93aW5nIjoiY29sb3ItbWludHktZ3JlZW4tNTAwIiwiY29sb3ItZmFsbGluZyI6ImNvbG9yLXJpcGUtcmVkLTUwMCIsImNvbG9yLWZvcmV4LWljb24iOiJjb2xvci1jb2xkLWdyYXktNzUwIiwiY29sb3ItbGlzdC1pdGVtLWFjdGl2ZS1iZyI6ImNvbG9yLXR2LWJsdWUtNDAwIiwiY29sb3ItbGlzdC1pdGVtLWhvdmVyLWJnIjoiY29sb3ItdHYtYmx1ZS01MCIsImNvbG9yLWxpc3QtaXRlbS10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLXByaWNlLWF4aXMtbGFiZWwtYmFjayI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1wcmljZS1heGlzLWxhYmVsLXRleHQiOiJjb2xvci1jb2xkLWdyYXktNjUwIiwiY29sb3ItcHJpY2UtYXhpcy1nZWFyIjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLXByaWNlLWF4aXMtZ2Vhci1ob3ZlciI6ImNvbG9yLWJsYWNrIiwiY29sb3ItcHJpY2UtYXhpcy1oaWdobGlnaHQiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItYmlkIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1ib3JkZXIiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItYm9yZGVyLWNoYXQtZmllbGRzIjoiY29sb3ItY29sZC1ncmF5LTI1MCIsImNvbG9yLWJvcmRlci1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0yNTAiLCJjb2xvci1idXR0b24taG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItZGVwdGhyZW5kZXJlci1maWxsLXN0eWxlIjoiY29sb3ItY29sZC1ncmF5LTY1MCIsImNvbG9yLWRpc2FibGVkLWJvcmRlci1hbmQtY29sb3IiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItZGlzYWJsZWQtaW5wdXQiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItZW1wdHktY29udGFpbmVyLW1lc3NhZ2UiOiJjb2xvci1jb2xkLWdyYXktNTUwIiwiY29sb3ItaWNvbnMiOiJjb2xvci1jb2xkLWdyYXktNTUwIiwiY29sb3ItaW5wdXQtdGV4dGFyZWEtcmVhZG9ubHkiOiJjb2xvci1jb2xkLWdyYXktNjUwIiwiY29sb3ItaW5wdXQtcGxhY2Vob2xkZXItdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS0zNTAiLCJjb2xvci1pdGVtLWFjdGl2ZS1ibHVlIjoiY29sb3ItdHYtYmx1ZS01MCIsImNvbG9yLWl0ZW0taG92ZXItYWN0aXZlLWJnIjoiY29sb3ItdHYtYmx1ZS0xMDAiLCJjb2xvci1pdGVtLWhvdmVyLWJnIjoiY29sb3ItdHYtYmx1ZS0xMDAiLCJjb2xvci1pdGVtLWhvdmVyLWJsdWUiOiJjb2xvci10di1ibHVlLTEwMCIsImNvbG9yLWl0ZW0tc2VsZWN0ZWQtYmx1ZSI6ImNvbG9yLXR2LWJsdWUtNTAiLCJjb2xvci1pdGVtLWFjdGl2ZS10ZXh0IjoiY29sb3Itd2hpdGUiLCJjb2xvci1pdGVtLWFjdGl2ZS1iZyI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItbGlzdC1pdGVtIjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLW5ld3MtaGlnaGxpZ2h0IjoiY29sb3ItdHYtYmx1ZS0xMDAiLCJjb2xvci1wbGFjZWhvbGRlciI6ImNvbG9yLWNvbGQtZ3JheS0zNTAiLCJjb2xvci1yb3ctaG92ZXItYWN0aXZlLWJnIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXNiLXNjcm9sbGJhci1ib2R5LWJnIjoiY29sb3ItY29sZC1ncmF5LTIwMCIsImNvbG9yLXNlY3Rpb24tc2VwYXJhdG9yLWJvcmRlciI6ImNvbG9yLWNvbGQtZ3JheS0zMDAiLCJjb2xvci1zZXBhcmF0b3ItdGFibGUtY2hhdCI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci10YWctYWN0aXZlLWJnIjoiY29sb3ItY29sZC1ncmF5LTIwMCIsImNvbG9yLXRhZy1ob3Zlci1iZyI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci10ZXh0LXJlZ3VsYXIiOiJjb2xvci1jb2xkLWdyYXktNzAwIiwiY29sb3ItdHYtYnV0dG9uLWNoZWNrZWQiOiJjb2xvci1jb2xkLWdyYXktNTUwIiwiY29sb3Itc2Nyb2xsLWJnIjoiY29sb3ItY29sZC1ncmF5LTQwMCIsImNvbG9yLXNjcm9sbC1ib3JkZXIiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3Itd2lkZ2V0LWJvcmRlciI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1zY3JvbGwtYnV0dG9ucy1hcnJvdyI6ImNvbG9yLXdoaXRlIiwiY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdCI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci1jb250cm9sLWludGVudC1zdWNjZXNzIjoiY29sb3ItbWludHktZ3JlZW4tNTAwIiwiY29sb3ItY29udHJvbC1pbnRlbnQtcHJpbWFyeSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItY29udHJvbC1pbnRlbnQtd2FybmluZyI6ImNvbG9yLXRhbi1vcmFuZ2UtNTAwIiwiY29sb3ItY29udHJvbC1pbnRlbnQtZGFuZ2VyIjoiY29sb3ItcmlwZS1yZWQtNTAwIiwiY29sb3ItZ290by1sYWJlbC1iYWNrZ3JvdW5kIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLXByZS1tYXJrZXQiOiJjb2xvci10YW4tb3JhbmdlLTYwMCIsImNvbG9yLXBvc3QtbWFya2V0IjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1ub3RhY2N1cmF0ZS1tb2RlIjoiY29sb3ItYmVycnktcGluay02MDAiLCJjb2xvci1kZWxheS1tb2RlIjoiY29sb3ItdGFuLW9yYW5nZS03MDAiLCJjb2xvci1kZWxheS1tb2RlLWJnIjoiY29sb3ItdGFuLW9yYW5nZS00MDAiLCJjb2xvci1saXN0LWl0ZW0tYmctaGlnaGxpZ2h0ZWQiOiJjb2xvci10di1ibHVlLTUwIiwiY29sb3ItbGlzdC1pdGVtLWJnLXNlbGVjdGVkIjoiY29sb3ItdHYtYmx1ZS0xMDAiLCJjb2xvci1saXN0LWl0ZW0tYmctaGlnaGxpZ2h0ZWQtaG92ZXIiOiJjb2xvci10di1ibHVlLTEwMCIsImNvbG9yLWxpc3QtaXRlbS1iZy1zZWxlY3RlZC1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtMjAwIiwiY29sb3Itc2NyZWVuZXItaGVhZGVyLWJnIjoiY29sb3Itd2hpdGUiLCJjb2xvci1zY3JlZW5lci1oZWFkZXItYmctaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItbWFya2VyLWZsYWdnZWQiOiJjb2xvci1yaXBlLXJlZC00MDAiLCJjb2xvci1tYXJrZXItZmxhZ2dlZC1ob3ZlcmVkIjoiY29sb3ItcmlwZS1yZWQtNjAwIiwiY29sb3ItYXNrIjoiY29sb3ItcmlwZS1yZWQtNDAwIiwiY29sb3Itc2VsbCI6ImNvbG9yLXJpcGUtcmVkLTQwMCIsImNvbG9yLWJ1eSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItbmV1dHJhbCI6ImNvbG9yLWNvbGQtZ3JheS01NTAiLCJjb2xvci1wcm8iOiJjb2xvci1taW50eS1ncmVlbi00MDAiLCJjb2xvci1wcm8taG92ZXIiOiJjb2xvci1taW50eS1ncmVlbi02MDAiLCJjb2xvci1wcm8tcGx1cyI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItcHJvLXBsdXMtaG92ZXIiOiJjb2xvci10di1ibHVlLTYwMCIsImNvbG9yLXByby1wcmVtaXVtIjoiY29sb3ItdGFuLW9yYW5nZS01MDAiLCJjb2xvci1wcm8tcHJlbWl1bS1ob3ZlciI6ImNvbG9yLXRhbi1vcmFuZ2UtNzAwIiwiY29sb3ItdHJpYWwiOiJjb2xvci1jb2xkLWdyYXktNTUwIiwiY29sb3ItdHJpYWwtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktNTUwIiwiY29sb3ItbW9kIjoiY29sb3ItcmlwZS1yZWQtNDAwIiwiY29sb3ItbW9kLWhvdmVyIjoiY29sb3ItcmlwZS1yZWQtNjAwIiwiY29sb3ItYWQiOiJjb2xvci10YW4tb3JhbmdlLTUwMCIsImNvbG9yLWJyb2tlci1mZWF0dXJlZCI6ImNvbG9yLW1pbnR5LWdyZWVuLTQwMCIsImNvbG9yLWJyb2tlci1mZWF0dXJlZC1ob3ZlciI6ImNvbG9yLW1pbnR5LWdyZWVuLTYwMCIsImNvbG9yLWFsZXJ0LXN0YXR1cy1hY3RpdmUiOiJjb2xvci1taW50eS1ncmVlbi01MDAiLCJjb2xvci1hbGVydC1zdGF0dXMtc3RvcHBlZCI6ImNvbG9yLXJpcGUtcmVkLTUwMCIsImNvbG9yLWFsZXJ0LXN0YXR1cy10cmlnZ2VyZWQiOiJjb2xvci10YW4tb3JhbmdlLTUwMCIsImNvbG9yLW92ZXJsYXkiOiJjb2xvci1jb2xkLWdyYXktNDAwIiwiY29sb3Itc2VhcmNoLWJ1dHRvbi1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1ib29zdC1idXR0b24tY29udGVudC1zZWxlY3RlZCI6ImNvbG9yLXR2LWJsdWUtNjAwIiwiY29sb3ItYm9vc3QtYnV0dG9uLWNvbnRlbnQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItYm9vc3QtYnV0dG9uLWJnLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWJvb3N0LWJ1dHRvbi1ib3JkZXItaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItYm9vc3QtYnV0dG9uLWJvcmRlci1kZWZhdWx0IjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWNvbW1vbi10b29sdGlwLXRleHQiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItcmVwbGF5LWRhdGEtbW9kZSI6ImNvbG9yLXJpcGUtcmVkLTQwMCIsImNvbG9yLWxlZ2FjeS1zdWNjZXNzIjoiY29sb3ItbWludHktZ3JlZW4tMzAwIiwiY29sb3ItY29sbGFwc2UtdGFicy1ib3JkZXIiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3Itc2l0ZS13aWRnZXQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktNTAiLCJjb2xvci1hdHRlbnRpb24iOiJjb2xvci1iYW5hbmEteWVsbG93LTcwMCIsImNvbG9yLXgtdHdpdHRlci1jb250ZW50IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWNhcmQtYm9yZGVyIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWNhcmQtYm9yZGVyLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTMwMCIsImNvbG9yLWJhY2tncm91bmQtc3BlY2lhbC1wcmltYXJ5IjoiY29sb3Itd2hpdGUiLCJjb2xvci1zdHJva2Utc3BlY2lhbC1wcmltYXJ5IjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLXNlbGVjdGlvbi1iZyI6ImNvbG9yLXR2LWJsdWUtMTAwIiwiY29sb3ItZGVmYXVsdC1ncmF5IjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLWZlYXR1cmVkLWJyb2tlci1iYWRnZS1iZyI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmctaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktODAwIiwiY29sb3ItZmVhdHVyZWQtYnJva2VyLWJhZGdlLXRleHQiOiJjb2xvci13aGl0ZSJ9JykKfX1dKTs="}},"time_used":1,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/12181.b65a58355ff7cc34950f.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.937Z","timestamp":1785120633937,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/12181.b65a58355ff7cc34950f.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a44af20-21c82\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 01 Jul 2026 06:09:36 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/01/2026 11:40:37\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 076c9e9913c460379b21b46cad8fd340\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":138370,"size_decoded":18187,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (3070)","md5":"90cd4a18a60bc908d0840ba4fec27dc6","sha1":"bb5de7eba54b0d9323f872960612df642a27716e","sha256":"ae043b44480c283e0e50b84e353fe3e98e560fb8f9bd14638f61a5dfadc231ba","sha512":"1ff83bc8bcac42839140d927da7b753dc51b3ab887327bf07fef3ca3b194425621ed7376ef404517f818a80b9f3d96955fd5c9239c1dc05e599503f7118edc99","ssdeep":"1536:U4ecrc2hMNlbPWqfxN+fUE44ld4e44IJmuJY7+fHfvWr05KNyhLcSbWd4+o:4CxdswjaWyn","tlshash":"10d345b217f406f473b80d5293f77e591b3c74a359882c52d2a4d9a0dd40fc2a96ba3e","first_seen":"2026-07-01T19:46:28.364877Z","last_seen":"2026-07-27T05:29:38.658636Z","times_seen":853,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxMjE4MV0sezcxMjE4MShlKXtlLmV4cG9ydHMudHpEYXRhPXsiQWZyaWNhL0NhaXJvIjp7dGltZTpbLTIxODU0MDE2MDAsLTkyOTgzNjgwMCwtOTIzMDk3NjAwLC05MDYxNjMyMDAsLTg5Mjg1NzYwMCwtODc1ODM2ODAwLC04NTc3NzkyMDAsLTg0NDMwMDgwMCwtODI1ODExMjAwLC04MTI2Nzg0MDAsLTc5NDE4ODgwMCwtNzc5ODQ2NDAwLC03NjI2NTI4MDAsLTM5OTA4MTYwMCwtMzg2NjRlNCwtMzY4MzIzMjAwLC0zNTUxMDRlMywtMzM2NzgzNjAwLC0zMjM2NDM2MDAsLTMwNTE2MTIwMCwtMjkyMDIxMjAwLC0yNzM2MjUyMDAsLTI2MDQ4NTIwMCwtMjQyMDg5MjAwLC0yMjg5NDkyMDAsLTIxMDU1MzIwMCwtMTk3NDEzMjAwLC0xNzg5MzA4MDAsLTE2NTc5MDgwMCwtMTQ3Mzk0ODAwLC0xMzQyNTQ4MDAsLTExNTg1ODgwMCwtMTAyNjMyNDAwLC04NDMyMjgwMCwtNzEwOTY0MDAsLTUyNzAwNDAwLC0zOTQ3NGUzLC0yMTE2NDQwMCwtNzkzOGUzLDEwMzcxNjAwLDIzNTk4ZTMsNDE5MDc2MDAsNTUxMzRlMyw3MzUzZTQsODY3NTY0MDAsMTA1MDY2ZTMsMTE4MjkyNDAwLDEzNjYwMmUzLDE0OTgyODQwMCwxNjgxMzhlMywxODEzNjQ0MDAsMTk5NzYwNDAwLDIxMjk4NjgwMCwyMzEyOTY0MDAsMjQ0NTIyODAwLDI2MjgzMjQwMCwyNzYwNTg4MDAsMjk0MzY4NDAwLDMwNzU5NDgwMCwzMjU5OTA4MDAsMzM5MjE3MjAwLDM1NzUyNjgwMCwzNzA3NTMyMDAsMzk2NDA2ODAwLDQwMjI4OTIwMCw0MjY4MTk2MDAsNDMzODI1MjAwLDQ1MjIyMTIwMCw0NjU0NDc2MDAsNDgzNzU3MjAwLDQ5Njk4MzYwMCw1MTUyOTMyMDAsNTI4NTE5NjAwLDU0NjgyOTIwMCw1NjAwNTU2MDAsNTc4NDUxNjAwLDU5MTY3OGUzLDYxMDQxOTYwMCw2MjMyMTRlMyw2NDE1MjM2MDAsNjU0NzVlNCw2NzMwNTk2MDAsNjg2Mjg2ZTMsNzA0NjgyZTMsNzE3OTA4NDAwLDczNjIxOGUzLDc0OTQ0NDQwMCw3Njc3NTRlMyw3ODA5ODA0MDAsNzk5MDI3MjAwLDgxMjMzMjgwMCw4MzA0NzY4MDAsODQzNzgyNDAwLDg2MTkyNjQwMCw4NzUyMzJlMyw4OTMzNzZlMyw5MDY2ODE2MDAsOTI1NDMwNDAwLDkzODczNmUzLDk1Njg4ZTQsOTcwMTg1NjAwLDk4ODMyOTYwMCwxMDAxNjM1MjAwLDEwMTk3NzkyMDAsMTAzMzA4NDgwMCwxMDUxMjI4ODAwLDEwNjQ1MzQ0MDAsMTA4MzI4MzIwMCwxMDk2NTg4ODAwLDExMTQ3MzI4MDAsMTEyODAzODQwMCwxMTQ2MTgyNDAwLDExNTg4ODMyMDAsMTE3NzYzMmUzLDExODkxMjMyMDAsMTIwOTA4MTYwMCwxMjE5OTY4ZTMsMTI0MDUzMTIwMCwxMjUwODEyODAwLDEyNzI1ODU2MDAsMTI4MTQ4NDgwMCwxMjg0MDc2ODAwLDEyODU4OTEyMDAsMTQwMDE5ODQwMCwxNDAzODI3MjAwLDE0MDY4NTEyMDAsMTQxMTY4OTYwMCwxNjgyNjRlNCwxNjk4MzY0ODAwLDE3MTQwODk2MDAsMTczMDQxOTIwMCwxNzQ1NTM5MjAwLDE3NjE4Njg4MDAsMTc3Njk4ODgwMCwxNzkzMzE4NDAwLDE4MDkwNDMyMDAsMTgyNDc2OGUzLDE4NDA0OTI4MDAsMTg1NjIxNzYwMCwxODcxOTQyNDAwLDE4ODc2NjcyMDAsMTkwMzM5MmUzLDE5MTk3MjE2MDAsMTkzNDg0MTYwMF0sb2Zmc2V0Ols3NTA5LDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwXX0sIkFmcmljYS9DYXNhYmxhbmNhIjp7CnRpbWU6Wy0xNzczMDE0NDAwLC05NTYzNjE2MDAsLTk1MDQ4NjQwMCwtOTQyMDE5MjAwLC03NjExODRlMywtNjE3MjQxNjAwLC02MDUxNDU2MDAsLTgxNDMyZTMsLTcxMTA3MjAwLDE0MTI2NGUzLDE0NzIyNTYwMCwxOTk3NTY4MDAsMjA3NzA1NjAwLDIzMTI5MjgwMCwyNDQyNTI4MDAsMjY1NTA3MjAwLDI3MTAzNjgwMCw0NDgyNDMyMDAsNTA0OTIxNjAwLDEyMTIyNzg0MDAsMTIyMDIyNzIwMCwxMjQzODE0NDAwLDEyNTA4MTI4MDAsMTI3Mjc1ODQwMCwxMjgxMjI1NjAwLDEzMDE3ODg4MDAsMTMxMjA3MDQwMCwxMzM1NjY0ODAwLDEzNDI3NTMyMDAsMTM0NTQyOGUzLDEzNDg5NzRlMywxMzY3MTE0NDAwLDEzNzMxNjZlMywxMzc2MWU1LDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDAzOTI0NDAwLDE0MDY5NDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0MzQyNTA4MDAsMTQzNzI3MTIwMCwxNDQ1NzQyZTMsMTQ1OTA0NGUzLDE0NjUwOTU2MDAsMTQ2ODExNmUzLDE0Nzc3OTY0MDAsMTQ5MDQ5MzYwMCwxNDk1MzM1NjAwLDE0OTg5NjA4MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTUyNjE4MDQwMCwxNTI5MjAwODAwLDE1NDA2OTU2MDAsMTU1NzAyNTIwMCwxNTYwMDQ1NjAwLDE1ODcyNjUyMDAsMTU5MDg5MDQwMCwxNjE4MTFlNCwxNjIxMTMwNDAwLDE2NDgzNWU0LDE2NTE5NzUyMDAsMTY3OTE5NDgwMCwxNjgyMjE1MjAwLDE3MTAwMzk2MDAsMTcxMzA2ZTQsMTc0MDI3OTYwMCwxNzQzOTA0ODAwLDE3NzExMjQ0MDAsMTc3NDE0NDgwMCwxODAxOTY5MjAwLDE4MDQ5ODk2MDAsMTgzMjIwOTIwMCwxODM1ODM0NDAwLDE4NjMwNTRlMywxODY2MDc0NDAwLDE4OTMyOTRlMywxODk2OTE5MjAwLDE5MjQxMzg4MDAsMTkyNzE1OTIwMF0sb2Zmc2V0OlstMTgyMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDBdfSwiQWZyaWNhL0pvaGFubmVzYnVyZyI6e3RpbWU6Wy0yNDU4MTY2NDAwLC0yMTA5MjgzMjAwLC04NjA5Njg4MDAsLTg0NTI0NGUzLC04Mjk1MTkyMDAsLTgxMzc5NDQwMCwxOTI0OTk5MjAwXSxvZmZzZXQ6WzY3MjAsNTQwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJBZnJpY2EvTGFnb3MiOnt0aW1lOlstMjAzNTU4NGUzLC0xOTQwODg5NjAwLC0xNzY3MjI1NjAwLC0xNTg4NDY0ZTMsMTkyNDk5NTYwMF0sb2Zmc2V0Ols4MTUsMCw4MTUsMTgwMCwzNjAwXX0sIkFmcmljYS9OYWlyb2JpIjp7dGltZTpbLTE5NDYxNmU0LC0xMzA5NzM3NjAwLC0xMjYxOTU4NDAwLC0xMDQxMzc5MjAwLC04NjUyOTZlMywxOTI1MDAyODAwXSxvZmZzZXQ6Wzg4MzYsOWUzLDEwODAwLDllMyw5OTAwLDEwODAwXX0sIkFmcmljYS9UdW5pcyI6e3RpbWU6Wy0yNzk3MmU1LC0xODU1OTU4NDAwLC05NjkyMzg4MDAsLTk1MDQ4NjQwMCwtOTQxOTM2NDAwLC04OTExMjk2MDAsLTg3NzgyNGUzLC04NTcyNWU0LC04NDQ1NTI4MDAsLTg0MjkxMTIwMCwtODQyMjJlNCwtODI4MjIzMjAwLC04MTI0OTg0MDAsLTc5NjI2MjQwMCwtNzgxMDQ4ODAwLC03NjY2MjcyMDAsMjMxMjA2NDAwLDI0MzkxMDgwMCwyNjI4Mjg4MDAsMjc2MDUxNjAwLDU4MTEyNjQwMCw1OTExNTI0MDAsNjA2ODczNjAwLDYyMjYwMmUzLDY0MTUyZTQsNjU0NjU2NDAwLDExMTQ5MDU2MDAsMTEyODA0NTYwMCwxMTQzMzM4NDAwLDExNjIwOTA4MDAsMTE3NDc4OGUzLDExOTM1NDA0MDAsMTIwNjg0MjQwMCwxMjI0OTllNCwxOTI0OTk1NjAwXSxvZmZzZXQ6WzI0NDQsNTYxLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkFtZXJpY2EvQW5jaG9yYWdlIjp7CnRpbWU6Wy0zMjI1MTczMzAzLC0yMTg4OTg3MjAwLC04ODAyMzZlMywtNzY5NDI4ZTMsLTc2NTQxMDQwMCwtODY5MTg0MDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDM4OTk4NDAwLDQ1MjA1MmUzLDQ2Nzc3NjgwMCw0ODM1MDE2MDAsNDk5MjI2NDAwLDUxNDk1MTIwMCw1MzA2NzZlMyw1NDQ1ODY0MDAsNTYyMTI1NjAwLDU3NjAzNmUzLDU5NDE4ZTQsNjA3NDg1NjAwLDYyNTYyOTYwMCw2Mzg5MzUyMDAsNjU3MDc5MjAwLDY3MDk4OTYwMCw2ODg1Mjg4MDAsNzAyNDM5MjAwLDcxOTk3ODQwMCw3MzM4ODg4MDAsNzUyMDMyODAwLDc2NTMzODQwMCw3ODM0ODI0MDAsNzk2Nzg4ZTMsODE0OTMyZTMsODI4ODQyNDAwLDg0NjM4MTYwMCw4NjAyOTJlMyw4Nzc4MzEyMDAsODkxNzQxNjAwLDkwOTI4MDgwMCw5MjMxOTEyMDAsOTQxMzM1MjAwLDk1NDY0MDgwMCw5NzI3ODQ4MDAsOTg2MDkwNDAwLDEwMDQyMzQ0MDAsMTAxODE0NDgwMCwxMDM1Njg0ZTMsMTA0OTU5NDQwMCwxMDY3MTMzNjAwLDEwODEwNDRlMywxMDk5MTg4ZTMsMTExMjQ5MzYwMCwxMTMwNjM3NjAwLDExNDM5NDMyMDAsMTE2MjA4NzIwMCwxMTczNTc4NDAwLDExOTQxNDE2MDAsMTIwNTAyOGUzLDEyMjU1OTEyMDAsMTIzNjQ3NzYwMCwxMjU3MDQwODAwLDEyNjg1MzJlMywxMjg5MDk1MjAwLDEyOTk5ODE2MDAsMTMyMDU0NDgwMCwxMzMxNDMxMjAwLDEzNTE5OTQ0MDAsMTM2Mjg4MDgwMCwxMzgzNDQ0ZTMsMTM5NDMzMDQwMCwxNDE0ODkzNjAwLDE0MjU3OGU0LDE0NDYzNDMyMDAsMTQ1NzgzNDQwMCwxNDc4Mzk3NjAwLDE0ODkyODRlMywxNTA5ODQ3MjAwLDE1MjA3MzM2MDAsMTU0MTI5NjgwMCwxNTUyMTgzMjAwLDE1NzI3NDY0MDAsMTU4MzYzMjgwMCwxNjA0MTk2ZTMsMTYxNTY4NzIwMCwxNjM2MjUwNDAwLDE2NDcxMzY4MDAsMTY2NzdlNSwxNjc4NTg2NDAwLDE2OTkxNDk2MDAsMTcxMDAzNmUzLDE3MzA1OTkyMDAsMTc0MTQ4NTYwMCwxNzYyMDQ4ODAwLDE3NzI5MzUyMDAsMTc5MzQ5ODQwMCwxODA0OTg5NjAwLDE4MjU1NTI4MDAsMTgzNjQzOTIwMCwxODU3MDAyNDAwLDE4Njc4ODg4MDAsMTg4ODQ1MmUzLDE4OTkzMzg0MDAsMTkxOTkwMTYwMCwxOTMwNzg4ZTNdLG9mZnNldDpbNTA0MjQsLTM1OTc2LC0zNmUzLC0zMjQwMCwtMzI0MDAsLTM2ZTMsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTMyNDAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDBdfSwiQW1lcmljYS9BcmdlbnRpbmEvQnVlbm9zX0FpcmVzIjp7dGltZTpbLTIzNzIxMTJlMywtMTU2NzQ2ODgwMCwtMTIzMzQ0NjQwMCwtMTIyMjk5MmUzLC0xMjA1OTcxMjAwLC0xMTk0MDQ4ZTMsLTExNzI4OGU0LC0xMTYyNTEyZTMsLTExNDEzNDRlMywtMTEzMDk3NmUzLC0xMTA5ODA4ZTMsLTEwOTk0NGU0LC0xMDc4MjcyZTMsLTEwNjc4MTc2MDAsLTEwNDY2NDk2MDAsLTEwMzYyODE2MDAsLTEwMTUxMTM2MDAsLTEwMDQ3NDU2MDAsLTk4MzU3NzYwMCwtOTczMjA5NjAwLC05NTIwNDE2MDAsLTk0MTU4NzIwMCwtOTMxMDQ2NDAwLC05MDA4OTI4MDAsLTg5MDM1MmUzLC04MzM3NmU0LC04MjcyOGU0LC03NTIyODQ4MDAsLTczMzc5NTIwMCwtMTk3MzM3NjAwLC0xOTA4NTc2MDAsLTE4NDIwNDgwMCwtMTY0NTA1NjAwLC0xNTI2Njg4MDAsLTEzMjk2OTYwMCwtMTIxMTMyODAwLC0xMDE0MzM2MDAsLTg2ODMyZTMsLTcxMTA3MjAwLC01NDc3NzYwMCwtMzkwNTI4MDAsLTIzMzI4ZTMsLTc2MDMyMDAsMTI4MTMxMjAwLDEzNjU5ODQwMCw1OTY5Mzc2MDAsNjA1MDU5MjAwLDYyNDQxMjgwMCw2MzY1MDg4MDAsNjU2NDY3MjAwLDY2Nzk1ODQwMCw2ODc5MTY4MDAsNjk5NDA4ZTMsNzE5MzY2NDAwLDczMTQ2MjQwMCw5Mzg5MDg4MDAsOTUyMDQxNjAwLDExOTg5NzI4MDAsMTIwNTYyNTYwMCwxMjI0Mzc0NDAwLDEyMzcwNzUyMDAsMTkyNDk4MTIwMF0sCm9mZnNldDpbLTE0MDI4LC0xNTQwOCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtMTA4MDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDBdfSwiQW1lcmljYS9Cb2dvdGEiOnt0aW1lOlstMjcwNzY4OTYwMCwtMTczOTA1OTIwMCw3MDQ4NTEyMDAsNzI5MDQzMjAwLDE5MjQ5NzRlM10sb2Zmc2V0OlstMTc3NzYsLTE3Nzc2LC0xOGUzLC0xNDQwMCwtMThlM119LCJBbWVyaWNhL0NhcmFjYXMiOnt0aW1lOlstMjUyNDUyMTYwMCwtMTgyNjc1NTIwMCwtMTU3NzY2NDAwLDExOTcxNjkyMDAsMTQ2MjA2OTgwMCwxOTI0OTc3NjAwXSxvZmZzZXQ6Wy0xNjA2NCwtMTYwNjAsLTE2MjAwLC0xNDQwMCwtMTYyMDAsLTE0NDAwXX0sIkFtZXJpY2EvQ2hpY2FnbyI6ewp0aW1lOlstMjcxNzY2ODIzNiwtMTYzMzI5ODQwMCwtMTYxNTE1NDQwMCwtMTYwMTg0ODgwMCwtMTU4MzcwNDgwMCwtMTU2Mzc0NjQwMCwtMTU1MTY1MDQwMCwtMTUzODk0OTYwMCwtMTUyMDIwMDgwMCwtMTUwNDQ3NmUzLC0xNDkxNzc1MjAwLC0xNDczMDI2NDAwLC0xNDU5NzIwODAwLC0xNDQxNTc2ODAwLC0xNDI4MjcxMjAwLC0xNDEwMTI3MjAwLC0xMzk2ODIxNjAwLC0xMzc4Njc3NjAwLC0xMzY1MzcyZTMsLTEzNDcyMjhlMywtMTMzMzkyMjQwMCwtMTMxNTE3MzYwMCwtMTMwMTg2OGUzLC0xMjgzNzI0ZTMsLTEyNzA0MTg0MDAsLTEyNTIyNzQ0MDAsLTEyMzg5Njg4MDAsLTEyMjA4MjQ4MDAsLTEyMDc1MTkyMDAsLTExODkzNzUyMDAsLTExNzYwNjk2MDAsLTExNTczMjA4MDAsLTExNDQ2MmU0LC0xMTI1ODcxMjAwLC0xMTEyNTY1NjAwLC0xMDk0NDIxNjAwLC0xMDgxMTE2ZTMsLTEwNjc4MTA0MDAsLTEwNDU0MzI4MDAsLTEwMzE1MjI0MDAsLTEwMTgyMTY4MDAsLTEwMDAwNzI4MDAsLTk4Njc2NzIwMCwtOTY4MDE4NDAwLC05NTUzMTc2MDAsLTkzNjU2ODgwMCwtOTIzMjYzMjAwLC05MDUxMTkyMDAsLTg5MTgxMzYwMCwtODgwMjM2ZTMsLTc2OTQxMzYwMCwtNzY1NDEwNDAwLC03NDcyNjY0MDAsLTczMzk2MDgwMCwtNzE1ODE2ODAwLC03MDI1MTEyMDAsLTY4NDM2NzIwMCwtNjcxMDYxNjAwLC02NTI5MTc2MDAsLTYzOTYxMmUzLC02MjA4NjMyMDAsLTYwODE2MjQwMCwtNTg5NDEzNjAwLC01NzYxMDhlMywtNTU3OTY0ZTMsLTU0NDY1ODQwMCwtNTI2NTE0NDAwLC01MTMyMDg4MDAsLTQ5NTA2NDgwMCwtNDgxNzU5MjAwLC00NjM2MTUyMDAsLTQ0NzI4NTYwMCwtNDMxNTYwODAwLC00MTU4MzZlMywtNDAwMTExMjAwLC0zODQzODY0MDAsLTM2ODY2MTYwMCwtMzUyOTM2ODAwLC0zMzcyMTJlMywtMzIxNDg3MjAwLC0zMDU3NjI0MDAsLTI4OTQzMjgwMCwtMjczNzA4ZTMsLTI1Nzk4MzIwMCwtMjQyMjU4NDAwLC0yMjY1MzM2MDAsLTIxMDgwODgwMCwtMTk1MDg0ZTMsLTE3OTM1OTIwMCwtMTYzNjM0NDAwLC0xNDc5MDk2MDAsLTEzMTU4ZTQsLTExNjQ2ZTQsLTEwMDEzMDQwMCwtODQ0MDU2MDAsLTY4NjgwODAwLC01Mjk1NmUzLC0zNzIzMTIwMCwtMjE1MDY0MDAsLTU3ODE2MDAsOTk0MzIwMCwyNTY2OGUzLDQxMzkyODAwLDU3NzIyNDAwLDczNDQ3MjAwLDg5MTcyZTMsMTA0ODk2ODAwLDEyMDYyMTYwMCwxMjY2Njk2MDAsMTUyMDcxMjAwLDE2MjM1MjgwMCwxODM1MjA4MDAsMTk5MjQ1NjAwLDIxNTU3NTIwMCwyMzA2OTUyMDAsMjQ3MDI0ODAwLDI2Mjc0OTYwMCwyNzg0NzQ0MDAsMjk0MTk5MjAwLDMwOTkyNGUzLDMyNTY0ODgwMCwzNDEzNzM2MDAsMzU3MDk4NDAwLDM3MjgyMzIwMCwzODg1NDhlMyw0MDQ4Nzc2MDAsNDE5OTk3NjAwLDQzNjMyNzIwMCw0NTIwNTJlMyw0Njc3NzY4MDAsNDgzNTAxNjAwLDQ5OTIyNjQwMCw1MTQ5NTEyMDAsNTMwNjc2ZTMsNTQ0NTg2NDAwLDU2MjEyNTYwMCw1NzYwMzZlMyw1OTQxOGU0LDYwNzQ4NTYwMCw2MjU2Mjk2MDAsNjM4OTM1MjAwLDY1NzA3OTIwMCw2NzA5ODk2MDAsNjg4NTI4ODAwLDcwMjQzOTIwMCw3MTk5Nzg0MDAsNzMzODg4ODAwLDc1MjAzMjgwMCw3NjUzMzg0MDAsNzgzNDgyNDAwLDc5Njc4OGUzLDgxNDkzMmUzLDgyODg0MjQwMCw4NDYzODE2MDAsODYwMjkyZTMsODc3ODMxMjAwLDg5MTc0MTYwMCw5MDkyODA4MDAsOTIzMTkxMjAwLDk0MTMzNTIwMCw5NTQ2NDA4MDAsOTcyNzg0ODAwLDk4NjA5MDQwMCwxMDA0MjM0NDAwLDEwMTgxNDQ4MDAsMTAzNTY4NGUzLDEwNDk1OTQ0MDAsMTA2NzEzMzYwMCwxMDgxMDQ0ZTMsMTA5OTE4OGUzLDExMTI0OTM2MDAsMTEzMDYzNzYwMCwxMTQzOTQzMjAwLDExNjIwODcyMDAsMTE3MzU3ODQwMCwxMTk0MTQxNjAwLDEyMDUwMjhlMywxMjI1NTkxMjAwLDEyMzY0Nzc2MDAsMTI1NzA0MDgwMCwxMjY4NTMyZTMsMTI4OTA5NTIwMCwxMjk5OTgxNjAwLDEzMjA1NDQ4MDAsMTMzMTQzMTIwMCwxMzUxOTk0NDAwLDEzNjI4ODA4MDAsMTM4MzQ0NGUzLDEzOTQzMzA0MDAsMTQxNDg5MzYwMCwxNDI1NzhlNCwxNDQ2MzQzMjAwLDE0NTc4MzQ0MDAsMTQ3ODM5NzYwMCwxNDg5Mjg0ZTMsMTUwOTg0NzIwMCwxNTIwNzMzNjAwLDE1NDEyOTY4MDAsMTU1MjE4MzIwMCwxNTcyNzQ2NDAwLDE1ODM2MzI4MDAsMTYwNDE5NmUzLDE2MTU2ODcyMDAsMTYzNjI1MDQwMCwxNjQ3MTM2ODAwLDE2Njc3ZTUsMTY3ODU4NjQwMCwxNjk5MTQ5NjAwLDE3MTAwMzZlMywxNzMwNTk5MjAwLDE3NDE0ODU2MDAsMTc2MjA0ODgwMCwxNzcyOTM1MjAwLDE3OTM0OTg0MDAsMTgwNDk4OTYwMCwxODI1NTUyODAwLDE4MzY0MzkyMDAsMTg1NzAwMjQwMCwxODY3ODg4ODAwLDE4ODg0NTJlMywxODk5MzM4NDAwLDE5MTk5MDE2MDAsMTkzMDc4OGUzXSwKb2Zmc2V0OlstMjEwMzYsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDBdfSwiQW1lcmljYS9FbF9TYWx2YWRvciI6e3RpbWU6Wy0xNTQ2MzAwODAwLDU0Njk5ODQwMCw1NTk2OTkyMDAsNTc4NDQ4ZTMsNTkxMTQ4ODAwLDE5MjQ5NzA0MDBdLG9mZnNldDpbLTIxNDA4LC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwXX0sIkFtZXJpY2EvSGFsaWZheCI6ewp0aW1lOlstMjEzMTY2MDgwMCwtMTY5NjI5MTIwMCwtMTY4MDQ4ZTQsLTE2MzIwODg4MDAsLTE2MTUxNTQ0MDAsLTE1NjY3Nzc2MDAsLTE1NTcxMDA4MDAsLTE1MzU1MDA4MDAsLTE1MjQ5NmU0LC0xNTA0NDgzMjAwLC0xNDkzNDI0ZTMsLTE0NzI0Mjg4MDAsLTE0NjE5NzQ0MDAsLTE0NDA5NzkyMDAsLTE0Mjk0MDE2MDAsLTE0MDk1Mjk2MDAsLTEzOTY3NDI0MDAsLTEzNzY4NzA0MDAsLTEzNjY1MDI0MDAsLTEzNDY2MzA0MDAsLTEzMzM4NDMyMDAsLTEzMTM5NzEyMDAsLTEzMDM2ODk2MDAsLTEyODI1MjE2MDAsLTEyNzI2NzJlMywtMTI1MTA3MmUzLC0xMjQwMDk5MjAwLC0xMjE5NjIyNDAwLC0xMjA3NDRlNCwtMTE4ODc3NzYwMCwtMTE3NTk5MDQwMCwtMTE1NzMyOGUzLC0xMTQzOTM2ZTMsLTExMjQwNjRlMywtMTExMzc4MjQwMCwtMTA5MTQwNDgwMCwtMTA4MTAzNjgwMCwtMTA1OTg2ODgwMCwtMTA1MDc5NjgwMCwtMTAzMDkyNDgwMCwtMTAxODEzNzYwMCwtOTk5NDc1MjAwLC05ODY2ODhlMywtOTY1NjA2NDAwLC05NTUyMzg0MDAsLTkzNTk3MTIwMCwtOTIzMTg0ZTMsLTkwNDUyMTYwMCwtODkxNzM0NDAwLC04ODAyMzZlMywtNzY5NDA2NDAwLC03NjU0MTA0MDAsLTc0NzI2NjQwMCwtNzMzOTYwODAwLC03MTU4MTY4MDAsLTcwMjUxMTIwMCwtNjg0MzY3MjAwLC02NzEwNjE2MDAsLTY1MjkxNzYwMCwtNjM5NjEyZTMsLTU4OTQxMzYwMCwtNTc2MTA4ZTMsLTU1Nzk2NGUzLC01NDQ2NTg0MDAsLTUyNjUxNDQwMCwtNTEzMjA4ODAwLC00OTUwNjQ4MDAsLTQ4MTc1OTIwMCwtNDMxNTYwODAwLC00MTgyNTUyMDAsLTQwMDExMTIwMCwtMzg2ODA1NjAwLC0zNjg2NjE2MDAsLTM1NTM1NmUzLC0zMzcyMTJlMywtMzIzOTA2NDAwLC0yNDIyNTg0MDAsLTIyNjUzMzYwMCwtMjEwODA4ODAwLC0xOTUwODRlMywtMTc5MzU5MjAwLC0xNjM2MzQ0MDAsLTE0NzkwOTYwMCwtMTMxNThlNCwtMTE2NDZlNCwtMTAwMTMwNDAwLC04NDQwNTYwMCwtNjg2ODA4MDAsLTUyOTU2ZTMsLTM3MjMxMjAwLC0yMTUwNjQwMCwtNTc4MTYwMCw5OTQzMjAwLDI1NjY4ZTMsNDEzOTI4MDAsNTc3MjI0MDAsNzM0NDcyMDAsODkxNzJlMywxMDQ4OTY4MDAsMTIwNjIxNjAwLDEzNjM0NjQwMCwxNTIwNzEyMDAsMTY3Nzk2ZTMsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sCm9mZnNldDpbLTE1MjY0LC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMF19LCJBbWVyaWNhL0p1bmVhdSI6e3RpbWU6Wy0zMjI1MTY5NTg4LC0yMTg4OTg3MjAwLC04ODAyMzZlMywtNzY5NDIwODAwLC03NjU0MTA0MDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDM4OTk4NDAwLDQ1MjA1MmUzLDQ2Nzc3NjgwMCw0ODM1MDE2MDAsNDk5MjI2NDAwLDUxNDk1MTIwMCw1MzA2NzZlMyw1NDQ1ODY0MDAsNTYyMTI1NjAwLDU3NjAzNmUzLDU5NDE4ZTQsNjA3NDg1NjAwLDYyNTYyOTYwMCw2Mzg5MzUyMDAsNjU3MDc5MjAwLDY3MDk4OTYwMCw2ODg1Mjg4MDAsNzAyNDM5MjAwLDcxOTk3ODQwMCw3MzM4ODg4MDAsNzUyMDMyODAwLDc2NTMzODQwMCw3ODM0ODI0MDAsNzk2Nzg4ZTMsODE0OTMyZTMsODI4ODQyNDAwLDg0NjM4MTYwMCw4NjAyOTJlMyw4Nzc4MzEyMDAsODkxNzQxNjAwLDkwOTI4MDgwMCw5MjMxOTEyMDAsOTQxMzM1MjAwLDk1NDY0MDgwMCw5NzI3ODQ4MDAsOTg2MDkwNDAwLDEwMDQyMzQ0MDAsMTAxODE0NDgwMCwxMDM1Njg0ZTMsMTA0OTU5NDQwMCwxMDY3MTMzNjAwLDEwODEwNDRlMywxMDk5MTg4ZTMsMTExMjQ5MzYwMCwxMTMwNjM3NjAwLDExNDM5NDMyMDAsMTE2MjA4NzIwMCwxMTczNTc4NDAwLDExOTQxNDE2MDAsMTIwNTAyOGUzLDEyMjU1OTEyMDAsMTIzNjQ3NzYwMCwxMjU3MDQwODAwLDEyNjg1MzJlMywxMjg5MDk1MjAwLDEyOTk5ODE2MDAsMTMyMDU0NDgwMCwxMzMxNDMxMjAwLDEzNTE5OTQ0MDAsMTM2Mjg4MDgwMCwxMzgzNDQ0ZTMsMTM5NDMzMDQwMCwxNDE0ODkzNjAwLDE0MjU3OGU0LDE0NDYzNDMyMDAsMTQ1NzgzNDQwMCwxNDc4Mzk3NjAwLDE0ODkyODRlMywxNTA5ODQ3MjAwLDE1MjA3MzM2MDAsMTU0MTI5NjgwMCwxNTUyMTgzMjAwLDE1NzI3NDY0MDAsMTU4MzYzMjgwMCwxNjA0MTk2ZTMsMTYxNTY4NzIwMCwxNjM2MjUwNDAwLDE2NDcxMzY4MDAsMTY2NzdlNSwxNjc4NTg2NDAwLDE2OTkxNDk2MDAsMTcxMDAzNmUzLDE3MzA1OTkyMDAsMTc0MTQ4NTYwMCwxNzYyMDQ4ODAwLDE3NzI5MzUyMDAsMTc5MzQ5ODQwMCwxODA0OTg5NjAwLDE4MjU1NTI4MDAsMTgzNjQzOTIwMCwxODU3MDAyNDAwLDE4Njc4ODg4MDAsMTg4ODQ1MmUzLDE4OTkzMzg0MDAsMTkxOTkwMTYwMCwxOTMwNzg4ZTNdLApvZmZzZXQ6WzU0MTM5LC0zMjI2MSwtMjg4MDAsLTI1MjAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yODgwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMzI0MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMF19LCJBbWVyaWNhL0xpbWEiOnt0aW1lOlstMjUyNDUyMTYwMCwtMTkzODU1NjgwMCwtMTAwOTg0MzIwMCwtMTAwMjA2NzIwMCwtOTg2Nzc0NDAwLC05NzEwNDk2MDAsLTk1NTMyNDgwMCwtOTM5NmU1LDUwNDkyMTYwMCw1MTI2OTc2MDAsNTM2NDU3NjAwLDU0NDIzMzYwMCw2MzExNTJlMyw2Mzg5MjhlMyw3NTczODI0MDAsNzY1MTU4NDAwLDE5MjQ5NzRlM10sb2Zmc2V0OlstMTg0OTIsLTE4NTE2LC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlM119LCJBbWVyaWNhL0xvc19BbmdlbGVzIjp7dGltZTpbLTI3MTc2NjgzNzgsLTE2MzMyOTg0MDAsLTE2MTUxNTQ0MDAsLTE2MDE4NDg4MDAsLTE1ODM3MDQ4MDAsLTg4MDIzNmUzLC03Njk0MjA4MDAsLTc2NTQxMDQwMCwtNjg3OTk1OTQwLC02NjI2ODA4MDAsLTYyMDg2NjgwMCwtNjA4MTYyNDAwLC01ODk0MTcyMDAsLTU3NjEwOGUzLC01NTc5Njc2MDAsLTU0NDY1ODQwMCwtNTI2NTE4ZTMsLTUxMzIwODgwMCwtNDk1MDY4NDAwLC00ODE3NTkyMDAsLTQ2MzYxODgwMCwtNDUwMzA5NjAwLC00MzE1NjQ0MDAsLTQxODI1NTIwMCwtNDAwMTE0ODAwLC0zODY4MDU2MDAsLTM2ODY2NTIwMCwtMzU1MzU2ZTMsLTMzNzIxNTYwMCwtMzIzOTA2NDAwLC0zMDU3NjZlMywtMjkyNDU2ODAwLC0yNzM3MTE2MDAsLTI2MTAwNzIwMCwtMjQyMjYyZTMsLTIyNjUzMzYwMCwtMjEwODEyNDAwLC0xOTUwODRlMywtMTc5MzYyODAwLC0xNjM2MzQ0MDAsLTE0NzkxMzIwMCwtMTMxNThlNCwtMTE2NDYzNjAwLC0xMDAxMzA0MDAsLTg0NDA1NjAwLC02ODY4MDgwMCwtNTI5NTZlMywtMzcyMzEyMDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sCm9mZnNldDpbLTI4Mzc4LC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMF19LCJBbWVyaWNhL01leGljb19DaXR5Ijp7dGltZTpbLTE1MTQ3NjMzOTYsLTEzNDMxNzQ0MDAsLTEyMzQ4Mjg4MDAsLTEyMjA0ODY0MDAsLTEyMDcxODA4MDAsLTExOTEzNjk2MDAsLTk3NTI4MzIwMCwtOTYzMTg3MjAwLC05MTcxMzZlMywtOTA3MzcyODAwLC04MjE5MjMyMDAsLTgxMDA4NjQwMCwtNjI3NTIzMjAwLC02MTMwMDhlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODkxMTQ0MDAsMTAwMTgxNTIwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzUzOTI4MDAsMTE5MzUzNjgwMCwxMjA3NDQ3MjAwLDEyMjQ5ODY0MDAsMTIzODg5NjgwMCwxMjU2NDM2ZTMsMTI3MDM0NjQwMCwxMjg4NDkwNDAwLDEzMDE3OTZlMywxMzE5OTRlNCwxMzMzMjQ1NjAwLDEzNTEzODk2MDAsMTM2NTNlNSwxMzgyODM5MjAwLDEzOTY3NDk2MDAsMTQxNDI4ODgwMCwxNDI4MTk5MjAwLDE0NDU3Mzg0MDAsMTQ1OTY0ODgwMCwxNDc3NzkyODAwLDE0OTEwOTg0MDAsMTUwOTI0MjQwMCwxNTIyNTQ4ZTMsMTU0MDY5MmUzLDE1NTQ2MDI0MDAsMTU3MjE0MTYwMCwxNTg2MDUyZTMsMTYwMzU5MTIwMCwxNjE3NTAxNjAwLDE2MzU2NDU2MDAsMTY0ODk1MTIwMCwxNjY3MDk1MjAwLDE5MjQ5NzA0MDBdLG9mZnNldDpbLTIzNzk2LC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMF19LCJBbWVyaWNhL05ld19Zb3JrIjp7CnRpbWU6Wy0yNzE3NjY4NTYyLC0xNjMzMjk4NDAwLC0xNjE1MTU0NDAwLC0xNjAxODQ4ODAwLC0xNTgzNzA0ODAwLC0xNTcwMzk5MjAwLC0xNTUxNjUwNDAwLC0xNTM2NTMwNDAwLC0xNTIzMjI0ODAwLC0xNTA0NDc2ZTMsLTE0OTE3NzUyMDAsLTE0NzMwMjY0MDAsLTE0NTk3MjA4MDAsLTE0NDE1NzY4MDAsLTE0MjgyNzEyMDAsLTE0MTAxMjcyMDAsLTEzOTY4MjE2MDAsLTEzNzg2Nzc2MDAsLTEzNjUzNzJlMywtMTM0NzIyOGUzLC0xMzMzOTIyNDAwLC0xMzE1MTczNjAwLC0xMzAxODY4ZTMsLTEyODM3MjRlMywtMTI3MDQxODQwMCwtMTI1MjI3NDQwMCwtMTIzODk2ODgwMCwtMTIyMDgyNDgwMCwtMTIwNzUxOTIwMCwtMTE4OTM3NTIwMCwtMTE3NjA2OTYwMCwtMTE1NzMyMDgwMCwtMTE0NDYyZTQsLTExMjU4NzEyMDAsLTExMTI1NjU2MDAsLTEwOTQ0MjE2MDAsLTEwODExMTZlMywtMTA2Mjk3MmUzLC0xMDQ5NjY2NDAwLC0xMDMxNTIyNDAwLC0xMDE4MjE2ODAwLC0xMDAwMDcyODAwLC05ODY3NjcyMDAsLTk2ODAxODQwMCwtOTU1MzE3NjAwLC05MzY1Njg4MDAsLTkyMzI2MzIwMCwtOTA1MTE5MjAwLC04OTE4MTM2MDAsLTg4MDIzNmUzLC03Njk0MWU0LC03NjU0MTA0MDAsLTc0NzI2NjQwMCwtNzMzOTYwODAwLC03MTU4MTY4MDAsLTcwMjUxMTIwMCwtNjg0MzY3MjAwLC02NzEwNjE2MDAsLTY1MjkxNzYwMCwtNjM5NjEyZTMsLTYyMDg2MzIwMCwtNjA4MTYyNDAwLC01ODk0MTM2MDAsLTU3NjEwOGUzLC01NTc5NjRlMywtNTQ0NjU4NDAwLC01MjY1MTQ0MDAsLTUxMzIwODgwMCwtNDk1MDY0ODAwLC00ODE3NTkyMDAsLTQ2MzYxNTIwMCwtNDQ3Mjg1NjAwLC00MzE1NjA4MDAsLTQxNTgzNmUzLC00MDAxMTEyMDAsLTM4NDM4NjQwMCwtMzY4NjYxNjAwLC0zNTI5MzY4MDAsLTMzNzIxMmUzLC0zMjE0ODcyMDAsLTMwNTc2MjQwMCwtMjg5NDMyODAwLC0yNzM3MDhlMywtMjU3OTgzMjAwLC0yNDIyNTg0MDAsLTIyNjUzMzYwMCwtMjEwODA4ODAwLC0xOTUwODRlMywtMTc5MzU5MjAwLC0xNjM2MzQ0MDAsLTE0NzkwOTYwMCwtMTMxNThlNCwtMTE2NDZlNCwtMTAwMTMwNDAwLC04NDQwNTYwMCwtNjg2ODA4MDAsLTUyOTU2ZTMsLTM3MjMxMjAwLC0yMTUwNjQwMCwtNTc4MTYwMCw5OTQzMjAwLDI1NjY4ZTMsNDEzOTI4MDAsNTc3MjI0MDAsNzM0NDcyMDAsODkxNzJlMywxMDQ4OTY4MDAsMTIwNjIxNjAwLDEyNjY2OTYwMCwxNTIwNzEyMDAsMTYyMzUyODAwLDE4MzUyMDgwMCwxOTkyNDU2MDAsMjE1NTc1MjAwLDIzMDY5NTIwMCwyNDcwMjQ4MDAsMjYyNzQ5NjAwLDI3ODQ3NDQwMCwyOTQxOTkyMDAsMzA5OTI0ZTMsMzI1NjQ4ODAwLDM0MTM3MzYwMCwzNTcwOTg0MDAsMzcyODIzMjAwLDM4ODU0OGUzLDQwNDg3NzYwMCw0MTk5OTc2MDAsNDM2MzI3MjAwLDQ1MjA1MmUzLDQ2Nzc3NjgwMCw0ODM1MDE2MDAsNDk5MjI2NDAwLDUxNDk1MTIwMCw1MzA2NzZlMyw1NDQ1ODY0MDAsNTYyMTI1NjAwLDU3NjAzNmUzLDU5NDE4ZTQsNjA3NDg1NjAwLDYyNTYyOTYwMCw2Mzg5MzUyMDAsNjU3MDc5MjAwLDY3MDk4OTYwMCw2ODg1Mjg4MDAsNzAyNDM5MjAwLDcxOTk3ODQwMCw3MzM4ODg4MDAsNzUyMDMyODAwLDc2NTMzODQwMCw3ODM0ODI0MDAsNzk2Nzg4ZTMsODE0OTMyZTMsODI4ODQyNDAwLDg0NjM4MTYwMCw4NjAyOTJlMyw4Nzc4MzEyMDAsODkxNzQxNjAwLDkwOTI4MDgwMCw5MjMxOTEyMDAsOTQxMzM1MjAwLDk1NDY0MDgwMCw5NzI3ODQ4MDAsOTg2MDkwNDAwLDEwMDQyMzQ0MDAsMTAxODE0NDgwMCwxMDM1Njg0ZTMsMTA0OTU5NDQwMCwxMDY3MTMzNjAwLDEwODEwNDRlMywxMDk5MTg4ZTMsMTExMjQ5MzYwMCwxMTMwNjM3NjAwLDExNDM5NDMyMDAsMTE2MjA4NzIwMCwxMTczNTc4NDAwLDExOTQxNDE2MDAsMTIwNTAyOGUzLDEyMjU1OTEyMDAsMTIzNjQ3NzYwMCwxMjU3MDQwODAwLDEyNjg1MzJlMywxMjg5MDk1MjAwLDEyOTk5ODE2MDAsMTMyMDU0NDgwMCwxMzMxNDMxMjAwLDEzNTE5OTQ0MDAsMTM2Mjg4MDgwMCwxMzgzNDQ0ZTMsMTM5NDMzMDQwMCwxNDE0ODkzNjAwLDE0MjU3OGU0LDE0NDYzNDMyMDAsMTQ1NzgzNDQwMCwxNDc4Mzk3NjAwLDE0ODkyODRlMywxNTA5ODQ3MjAwLDE1MjA3MzM2MDAsMTU0MTI5NjgwMCwxNTUyMTgzMjAwLDE1NzI3NDY0MDAsMTU4MzYzMjgwMCwxNjA0MTk2ZTMsMTYxNTY4NzIwMCwxNjM2MjUwNDAwLDE2NDcxMzY4MDAsMTY2NzdlNSwxNjc4NTg2NDAwLDE2OTkxNDk2MDAsMTcxMDAzNmUzLDE3MzA1OTkyMDAsMTc0MTQ4NTYwMCwxNzYyMDQ4ODAwLDE3NzI5MzUyMDAsMTc5MzQ5ODQwMCwxODA0OTg5NjAwLDE4MjU1NTI4MDAsMTgzNjQzOTIwMCwxODU3MDAyNDAwLDE4Njc4ODg4MDAsMTg4ODQ1MmUzLDE4OTkzMzg0MDAsMTkxOTkwMTYwMCwxOTMwNzg4ZTNdLApvZmZzZXQ6Wy0xNzc2MiwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlM119LCJBbWVyaWNhL1Bob2VuaXgiOnt0aW1lOlstMjcxNzY3MDQ5OCwtMTYzMzI5ODQwMCwtMTYxNTE1NDQwMCwtMTYwMTg0ODgwMCwtMTU4MzcwNDgwMCwtODgwMjM2ZTMsLTgyMDU0MDc0MCwtODEyNjc4MzQwLC03OTY4NjcxNDAsLTg0NDA1NjAwLC02ODY4MDgwMCwxOTI0OTY2ODAwXSxvZmZzZXQ6Wy0yNjg5OCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwXX0sIkFtZXJpY2EvU2FudGlhZ28iOnsKdGltZTpbLTI1MjQ1MjE2MDAsLTE4OTI2Nzg0MDAsLTE2ODg0Mjg4MDAsLTE2MTkyMjI0MDAsLTE1OTM4MjA4MDAsLTEzMzYwMDMyMDAsLTEzMTc2ZTUsLTEzMDQzODA4MDAsLTEyODYwNjRlMywtMTI3Mjg0NDgwMCwtMTI1NDUyOGUzLC0xMjQxMzA4ODAwLC0xMjIyOTkyZTMsLTEyMDk3NzI4MDAsLTExOTEzNjk2MDAsLTExNzgxNTA0MDAsLTg3MDU2NjQwMCwtODY1Mjk2ZTMsLTc0MDUzNDQwMCwtNzM2NjQ2NDAwLC03MTgwNzA0MDAsLTcxMzY2NzYwMCwtMzY2MzM2MDAsLTIzOTMyODAwLC0zMzY5NjAwLDc1MTY4MDAsMjQ0NTEyMDAsMzc3NTY4MDAsNTU5MDA4MDAsNjkyMDY0MDAsODc5NTUyMDAsMTAwNjU2ZTMsMTE4MTk1MjAwLDEzMjEwNTYwMCwxNTA4NTQ0MDAsMTYzNTU1MjAwLDE4MjMwNGUzLDE5NTYwOTYwMCwyMTM3NTM2MDAsMjI3MDU5MjAwLDI0NTIwMzIwMCwyNTg1MDg4MDAsMjc3MjU3NjAwLDI4OTk1ODQwMCwzMDg3MDcyMDAsMzIxNDA4ZTMsMzQwMTU2ODAwLDM1MzQ2MjQwMCwzNzE2MDY0MDAsMzg0OTEyZTMsNDAzMDU2ZTMsNDE2MzYxNjAwLDQzNDUwNTYwMCw0NDc4MTEyMDAsNDY2NTZlNCw0NzkyNjA4MDAsNDk4MDA5NjAwLDUxMDcxMDQwMCw1Mjk0NTkyMDAsNTQ1MTg0ZTMsNTYwOTA4ODAwLDU3NDIxNDQwMCw1OTIzNTg0MDAsNjA1NjY0ZTMsNjI0NDEyODAwLDYzNzExMzYwMCw2NTM0NDMyMDAsNjY4NTYzMjAwLDY4NzMxMmUzLDcwMDYxNzYwMCw3MTg3NjE2MDAsNzMyMDY3MjAwLDc1MDIxMTIwMCw3NjM1MTY4MDAsNzgxNjYwODAwLDc5NDk2NjQwMCw4MTM3MTUyMDAsODI2NDE2ZTMsODQ1MTY0ODAwLDg1OTY4ZTQsODc2NjE0NDAwLDg4OTkyZTQsOTA2ODU0NDAwLDkyMzE4NGUzLDkzOTUxMzYwMCw5NTI4MTkyMDAsOTcxNTY4ZTMsOTg0MjY4ODAwLDEwMDMwMTc2MDAsMTAxNTcxODQwMCwxMDM0NDY3MjAwLDEwNDcxNjhlMywxMDY1OTE2ODAwLDEwNzkyMjI0MDAsMTA5NzM2NjQwMCwxMTEwNjcyZTMsMTEyODgxNmUzLDExNDIxMjE2MDAsMTE2MDg3MDQwMCwxMTczNTcxMjAwLDExOTIzMmU0LDEyMDY4MzUyMDAsMTIyMzc2OTYwMCwxMjM3MDc1MjAwLDEyNTUyMTkyMDAsMTI3MDMzOTIwMCwxMjg2NjY4ODAwLDEzMDQ4MTI4MDAsMTMxMzg4NDgwMCwxMzM1NjU3NjAwLDEzNDY1NDRlMywxMzY3MTA3MjAwLDEzNzg1OTg0MDAsMTM5ODU1NjgwMCwxNDEwMDQ4ZTMsMTQ2MzI3MDQwMCwxNDcxMTMyODAwLDE0OTQ3MmU0LDE1MDI1ODI0MDAsMTUyNjE2OTYwMCwxNTM0MDMyZTMsMTU1NDU5NTIwMCwxNTY3OTAwODAwLDE1ODYwNDQ4MDAsMTU5OTM1MDQwMCwxNjE3NDk0NDAwLDE2MzA4ZTUsMTY0ODk0NGUzLDE2NjI4NTQ0MDAsMTY4MDM5MzYwMCwxNjkzNjk5MjAwLDE3MTI0NDhlMywxNzI1NzUzNjAwLDE3NDM4OTc2MDAsMTc1NzIwMzIwMCwxNzc1MzQ3MjAwLDE3ODg2NTI4MDAsMTgwNjc5NjgwMCwxODIwMTAyNDAwLDE4MzgyNDY0MDAsMTg1MTU1MmUzLDE4NzAzMDA4MDAsMTg4MzAwMTYwMCwxOTAxNzUwNDAwLDE5MTUwNTZlMywxOTMzMmU1XSxvZmZzZXQ6Wy0xNjk2NSwtMTY5NjUsLTE4ZTMsLTE2OTY1LC0xNDQwMCwtMTY5NjUsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwXX0sIkFtZXJpY2EvU2FvX1BhdWxvIjp7CnRpbWU6Wy0xNzY3MjI1NjAwLC0xMjA2OTY4NDAwLC0xMTkxMzY5NjAwLC0xMTc1Mzg1NjAwLC0xMTU5ODMzNjAwLC02MzM4MzA0MDAsLTYyMjA3NjQwMCwtNjAyMjk0NDAwLC01OTE4NGU0LC01NzA3NTg0MDAsLTU2MDIxNzYwMCwtNTM5MTM2ZTMsLTUzMTM2ZTQsLTE5NTQzNjgwMCwtMTg0MjA0ODAwLC0xNTUxNzQ0MDAsLTE1MDA3NjgwMCwtMTI4OTA4ODAwLC0xMjExMzI4MDAsLTk5OTY0ODAwLC04OTU5NjgwMCwtNjg0Mjg4MDAsLTU3OTc0NDAwLDQ5OTczNzYwMCw1MTEyMjg4MDAsNTMwNTgyNDAwLDU0MDI1OTIwMCw1NjIxMTg0MDAsNTcxMTkwNDAwLDU5Mjk2MzIwMCw2MDIwMzUyMDAsNjI0NDEyODAwLDYzNDY5NDQwMCw2NTY0NjcyMDAsNjY2NzQ4ODAwLDY4NzkxNjgwMCw2OTc1OTM2MDAsNzE5OTcxMjAwLDcyODQzODQwMCw3NTA4MTZlMyw3NjE3MDI0MDAsNzgyMjY1NjAwLDc5MzE1MmUzLDgxMzcxNTIwMCw4MjM5OTY4MDAsODQ0NTZlNCw4NTYwNTEyMDAsODc2MDk2ZTMsODg4NzEwNDAwLDkwODA2NGUzLDkxOTU1NTIwMCw5Mzg5MDg4MDAsOTUxNjA5NjAwLDk3MDk2MzIwMCw5ODI0NTQ0MDAsMTAwMzAxNzYwMCwxMDEzOTA0ZTMsMTAzNjI4MTYwMCwxMDQ1MzUzNjAwLDEwNjY1MjE2MDAsMTA3NjgwMzIwMCwxMDk5MzUzNjAwLDExMDg4NTc2MDAsMTEyOTQyMDgwMCwxMTQwMzA3MjAwLDExNjI2ODQ4MDAsMTE3MjM2MTYwMCwxMTkyMzJlNCwxMjAzMjA2NDAwLDEyMjQzNzQ0MDAsMTIzNDY1NmUzLDEyNTU4MjRlMywxMjY2NzEwNDAwLDEyODcyNzM2MDAsMTI5ODE2ZTQsMTMxODcyMzIwMCwxMzMwMjE0NDAwLDEzNTA3Nzc2MDAsMTM2MTA1OTIwMCwxMzgyMjI3MjAwLDEzOTI1MDg4MDAsMTQxMzY3NjgwMCwxNDI0NTYzMjAwLDE0NDUxMjY0MDAsMTQ1NjAxMjgwMCwxNDc2NTc2ZTMsMTQ4NzQ2MjQwMCwxNTA4MDI1NjAwLDE1MTg5MTJlMywxNTQxMjg5NjAwLDE1NTAzNjE2MDAsMTkyNDk4MTIwMF0sb2Zmc2V0OlstMTExODgsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwXX0sIkFtZXJpY2EvVG9yb250byI6ewp0aW1lOlstMjM2Njc1NTIwMCwtMTYzMjA4ODgwMCwtMTYxNTE1NDQwMCwtMTYwMTc3MTQwMCwtMTU4MzcxMmUzLC0xNTY3Mzc1MjAwLC0xNTU0NjgxNjAwLC0xNTM0NzE2ZTMsLTE1MjQwODg4MDAsLTE1MDMyNjY0MDAsLTE0OTIzOGU0LC0xNDcxODE2ODAwLC0xNDYwOTMwNDAwLC0xNDQwOTcyZTMsLTE0Mjg4NzZlMywtMTQwOTUyMjQwMCwtMTM5NzQyNjQwMCwtMTM3ODA3MjgwMCwtMTM2NTk3NjgwMCwtMTM0NjYyMzIwMCwtMTMzMzkyMjQwMCwtMTMxNTE3MzYwMCwtMTMwMTg2OGUzLC0xMjgzNzI0ZTMsLTEyNzA0MTg0MDAsLTEyNTIyNzQ0MDAsLTEyMzg5Njg4MDAsLTEyMjA4MjQ4MDAsLTEyMDc1MTkyMDAsLTExODg3NzA0MDAsLTExNzYwNjk2MDAsLTExNTczMjA4MDAsLTExNDQwMTUyMDAsLTExMjU4NzEyMDAsLTExMTI1NjU2MDAsLTEwOTQ0MjE2MDAsLTEwODExMTZlMywtMTA2Mjk3MmUzLC0xMDQ5NjY2NDAwLC0xMDMxNTIyNDAwLC0xMDE4MjE2ODAwLC0xMDAwMDcyODAwLC05ODY3NjcyMDAsLTk2ODAxODQwMCwtOTU1MzE3NjAwLC05MzY1Njg4MDAsLTg4MDIzMjQwMCwtNzY5NDFlNCwtNzY1NDEwNDAwLC03NDcyNjY0MDAsLTczMzk2MDgwMCwtNzE1ODE2ODAwLC03MDI1MTEyMDAsLTY4NDM2NzIwMCwtNjcxMDYxNjAwLC02NTI5MTc2MDAsLTYzNDE2ODgwMCwtNjIwODYzMjAwLC02MDI3MTkyMDAsLTU4OTQxMzYwMCwtNTc2MTA4ZTMsLTU1Nzk2NGUzLC01NDQ2NTg0MDAsLTUyNjUxNDQwMCwtNTEzMjA4ODAwLC00OTUwNjQ4MDAsLTQ4MTc1OTIwMCwtNDYzNjE1MjAwLC00NTAzMDk2MDAsLTQzMTU2MDgwMCwtNDE4MjU1MjAwLC00MDAxMTEyMDAsLTM4NDM4NjQwMCwtMzY4NjYxNjAwLC0zNTI5MzY4MDAsLTMzNzIxMmUzLC0zMjE0ODcyMDAsLTMwNTc2MjQwMCwtMjg5NDMyODAwLC0yNzM3MDhlMywtMjU3OTgzMjAwLC0yNDIyNTg0MDAsLTIyNjUzMzYwMCwtMjEwODA4ODAwLC0xOTUwODRlMywtMTc5MzU5MjAwLC0xNjM2MzQ0MDAsLTE0NzkwOTYwMCwtMTMxNThlNCwtMTE2NDZlNCwtMTAwMTMwNDAwLC04NDQwNTYwMCwtNjg2ODA4MDAsLTUyOTU2ZTMsLTM3MjMxMjAwLC0yMTUwNjQwMCwtNTc4MTYwMCw5OTQzMjAwLDI1NjY4ZTMsNDEzOTI4MDAsNTc3MjI0MDAsNzM0NDcyMDAsODkxNzJlMywxMDQ4OTY4MDAsMTIwNjIxNjAwLDEzNjM0NjQwMCwxNTIwNzEyMDAsMTY3Nzk2ZTMsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sCm9mZnNldDpbLTE5MDUyLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE0NDAwLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTNdfSwiQW1lcmljYS9WYW5jb3V2ZXIiOnsKdGltZTpbLTI3MTM5MTA0MDAsLTE2MzIwODg4MDAsLTE2MTUxNTQ0MDAsLTg4MDIzNmUzLC03Njk0MjA4MDAsLTc2NTQxMDQwMCwtNzQ3MjY2NDAwLC03MzM5NjA4MDAsLTcxNTgxNjgwMCwtNzAyNTExMjAwLC02ODQzNjcyMDAsLTY3MTA2MTYwMCwtNjUyOTE3NjAwLC02Mzk2MTJlMywtNjIwODYzMjAwLC02MDgxNjI0MDAsLTU4OTQxMzYwMCwtNTc2MTA4ZTMsLTU1Nzk2NGUzLC01NDQ2NTg0MDAsLTUyNjUxNDQwMCwtNTEzMjA4ODAwLC00OTUwNjQ4MDAsLTQ4MTc1OTIwMCwtNDYzNjE1MjAwLC00NTAzMDk2MDAsLTQzMTU2MDgwMCwtNDE4MjU1MjAwLC00MDAxMTEyMDAsLTM4NjgwNTYwMCwtMzY4NjYxNjAwLC0zNTUzNTZlMywtMzM3MjEyZTMsLTMyMzkwNjQwMCwtMzA1NzYyNDAwLC0yOTI0NTY4MDAsLTI3MzcwOGUzLC0yNjEwMDcyMDAsLTI0MjI1ODQwMCwtMjI2NTMzNjAwLC0yMTA4MDg4MDAsLTE5NTA4NGUzLC0xNzkzNTkyMDAsLTE2MzYzNDQwMCwtMTQ3OTA5NjAwLC0xMzE1OGU0LC0xMTY0NmU0LC0xMDAxMzA0MDAsLTg0NDA1NjAwLC02ODY4MDgwMCwtNTI5NTZlMywtMzcyMzEyMDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTM2MzQ2NDAwLDE1MjA3MTIwMCwxNjc3OTZlMywxODM1MjA4MDAsMTk5MjQ1NjAwLDIxNTU3NTIwMCwyMzA2OTUyMDAsMjQ3MDI0ODAwLDI2Mjc0OTYwMCwyNzg0NzQ0MDAsMjk0MTk5MjAwLDMwOTkyNGUzLDMyNTY0ODgwMCwzNDEzNzM2MDAsMzU3MDk4NDAwLDM3MjgyMzIwMCwzODg1NDhlMyw0MDQ4Nzc2MDAsNDE5OTk3NjAwLDQzNjMyNzIwMCw0NTIwNTJlMyw0Njc3NzY4MDAsNDgzNTAxNjAwLDQ5OTIyNjQwMCw1MTQ5NTEyMDAsNTMwNjc2ZTMsNTQ0NTg2NDAwLDU2MjEyNTYwMCw1NzYwMzZlMyw1OTQxOGU0LDYwNzQ4NTYwMCw2MjU2Mjk2MDAsNjM4OTM1MjAwLDY1NzA3OTIwMCw2NzA5ODk2MDAsNjg4NTI4ODAwLDcwMjQzOTIwMCw3MTk5Nzg0MDAsNzMzODg4ODAwLDc1MjAzMjgwMCw3NjUzMzg0MDAsNzgzNDgyNDAwLDc5Njc4OGUzLDgxNDkzMmUzLDgyODg0MjQwMCw4NDYzODE2MDAsODYwMjkyZTMsODc3ODMxMjAwLDg5MTc0MTYwMCw5MDkyODA4MDAsOTIzMTkxMjAwLDk0MTMzNTIwMCw5NTQ2NDA4MDAsOTcyNzg0ODAwLDk4NjA5MDQwMCwxMDA0MjM0NDAwLDEwMTgxNDQ4MDAsMTAzNTY4NGUzLDEwNDk1OTQ0MDAsMTA2NzEzMzYwMCwxMDgxMDQ0ZTMsMTA5OTE4OGUzLDExMTI0OTM2MDAsMTEzMDYzNzYwMCwxMTQzOTQzMjAwLDExNjIwODcyMDAsMTE3MzU3ODQwMCwxMTk0MTQxNjAwLDEyMDUwMjhlMywxMjI1NTkxMjAwLDEyMzY0Nzc2MDAsMTI1NzA0MDgwMCwxMjY4NTMyZTMsMTI4OTA5NTIwMCwxMjk5OTgxNjAwLDEzMjA1NDQ4MDAsMTMzMTQzMTIwMCwxMzUxOTk0NDAwLDEzNjI4ODA4MDAsMTM4MzQ0NGUzLDEzOTQzMzA0MDAsMTQxNDg5MzYwMCwxNDI1NzhlNCwxNDQ2MzQzMjAwLDE0NTc4MzQ0MDAsMTQ3ODM5NzYwMCwxNDg5Mjg0ZTMsMTUwOTg0NzIwMCwxNTIwNzMzNjAwLDE1NDEyOTY4MDAsMTU1MjE4MzIwMCwxNTcyNzQ2NDAwLDE1ODM2MzI4MDAsMTYwNDE5NmUzLDE2MTU2ODcyMDAsMTYzNjI1MDQwMCwxNjQ3MTM2ODAwLDE2Njc3ZTUsMTY3ODU4NjQwMCwxNjk5MTQ5NjAwLDE3MTAwMzZlMywxNzMwNTk5MjAwLDE3NDE0ODU2MDAsMTc2MjA0ODgwMCwxNzcyOTM1MjAwLDE3OTM0OTg0MDAsMTgwNDk4OTYwMCwxODI1NTUyODAwLDE4MzY0MzkyMDAsMTg1NzAwMjQwMCwxODY3ODg4ODAwLDE4ODg0NTJlMywxODk5MzM4NDAwLDE5MTk5MDE2MDAsMTkzMDc4OGUzXSwKb2Zmc2V0OlstMjk1NDgsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMF19LCJBc2lhL0FsbWF0eSI6e3RpbWU6Wy0xNDQxMTUyZTMsLTEyNDc1Mjk2MDAsMzU0OTMxMjAwLDM3MDc0MjQwMCwzODY0NjcyMDAsNDAyMjc4NDAwLDQxODAwMzIwMCw0MzM4MTQ0MDAsNDQ5NjI1NjAwLDQ2NTM2MTIwMCw0ODEwODI0MDAsNDk2ODEwODAwLDUxMjUzMmUzLDUyODI2MDQwMCw1NDM5ODE2MDAsNTU5NzFlNCw1NzU0MzEyMDAsNTkxMTU5NjAwLDYwNjg4MDgwMCw2MjI2MDkyMDAsNjM4MzMwNDAwLDY1NDY2MzYwMCw2NzAzODQ4MDAsNjg2MTEzMjAwLDY5NTc4NjQwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxNzA5MjUxMjAwLDE5MjUwMWU0XSxvZmZzZXQ6WzE4NDY4LDE4ZTMsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjE2MDAsMThlMywyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwxOGUzXX0sIkFzaWEvQXNoa2hhYmFkIjp7dGltZTpbLTE0NDExNTJlMywtMTI0NzUyOTYwMCwzNTQ5MzEyMDAsMzcwNzQyNDAwLDM4NjQ2NzIwMCw0MDIyNzg0MDAsNDE4MDAzMjAwLDQzMzgxNDQwMCw0NDk2MjU2MDAsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNjk1Nzg2NDAwLDE5MjUwMWU0XSxvZmZzZXQ6WzE0MDEyLDE0NDAwLDE4ZTMsMjE2MDAsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlMywxOGUzLDE0NDAwLDE4ZTNdfSwiQXNpYS9CYWhyYWluIjp7dGltZTpbLTg5Nzg2ODgwMCwtODIwNTQwODAwLDc2MjA0ODAwLDE5MjUwMDI4MDBdLG9mZnNldDpbMTIxNDAsMTI2MDAsMTQ0MDAsMTA4MDBdfSwiQXNpYS9CYW5na29rIjp7dGltZTpbLTI4NDAxNDA4MDAsLTE1NzAwNjA4MDAsMTkyNTAxNzIwMF0sb2Zmc2V0OlsyNDEyNCwyNDEyNCwyNTIwMF19LCJBc2lhL0Nob25ncWluZyI6ewp0aW1lOlstMjE3NzQ1MjgwMCwtMTYwMDY0NjQwMCwtMTU4NTg3MmUzLC05MzM2Mzg0MDAsLTkyMjA2MDgwMCwtOTA4ODQxNjAwLC04ODg3OTY4MDAsLTg4MTAyMDgwMCwtNzY3ODM2ODAwLC03NDU4MDQ4MDAsLTczMzc5NTIwMCwtNzE2ODYwODAwLC02OTk1ODA4MDAsLTY4Mzg1NmUzLC02NzA2MzY4MDAsLTY1MjMyZTQsLTY0OTk4NzIwMCw1MTU1NTZlMyw1MjcwNDcyMDAsNTQ1MTkxMjAwLDU1ODQ5NjgwMCw1NzcyNDU2MDAsNTg5OTQ2NDAwLDYwODY5NTIwMCw2MjIwMDA4MDAsNjQwMTQ0ODAwLDY1MzQ1MDQwMCw2NzE1OTQ0MDAsNjg0OWU1LDE5MjUwMjA4MDBdLG9mZnNldDpbMjkxNDMsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXNpYS9Db2xvbWJvIjp7dGltZTpbLTI4NDAxNDA4MDAsLTIwMTk2ODY0MDAsLTg4MzI2NzIwMCwtODYyNjE3NjAwLC03NjQwMjhlMyw4MzI5ODI0MDAsODQ2Mjg5ODAwLDExNDUwNjFlMywxOTI1MDExODAwXSxvZmZzZXQ6WzE5MTY0LDE5MTcyLDE5ODAwLDIxNjAwLDIzNDAwLDE5ODAwLDIzNDAwLDIxNjAwLDE5ODAwXX0sIkFzaWEvRGhha2EiOnt0aW1lOlstMjUyNDUyMTYwMCwtODkxNTYxNjAwLC04NzIwMzUyMDAsLTg2MjYxNzYwMCwtNTc2MTE1MjAwLDEyNDU0NTI0MDAsMTI2MjMwMzk5OSwxOTI1MDEzNjAwXSxvZmZzZXQ6WzIxNzAwLDIxMjAwLDIzNDAwLDE5ODAwLDIzNDAwLDIxNjAwLDI1MjAwLDIxNjAwXX0sIkFzaWEvRHViYWkiOnt0aW1lOlstMTU3NzkyMzIwMCwxOTI1MDA2NDAwXSxvZmZzZXQ6WzEzMjcyLDE0NDAwXX0sIkFzaWEvSG9fQ2hpX01pbmgiOnt0aW1lOlstMjAwNDA0OGUzLC0xODUxNTUyZTMsLTg1MjA4MDQwMCwtNzgyNjE0ODAwLC03Njc4MzY4MDAsLTcxODA3MDQwMCwtNDU3NzQzNjAwLC0zMTU2MjI4MDAsMTcxODQ5NjAwLDE5MjUwMTcyMDBdLG9mZnNldDpbMjU1OTAsMjU1OTAsMjUyMDAsMjg4MDAsMzI0MDAsMjUyMDAsMjg4MDAsMjUyMDAsMjg4MDAsMjUyMDBdfSwiQXNpYS9Ib25nX0tvbmciOnt0aW1lOlstMjA1NjY2MzM5OCwtOTAwODgyZTMsLTg5MTU0NzIwMCwtODg0MjE3NjAwLC03NjExNzY4MDAsLTc0Nzg3ODQwMCwtNzI4NTA4NjAwLC03MTcwMjFlMywtNjk3MDU5ZTMsLTY4Mzc1N2UzLC02NjgwMjg2MDAsLTY1NDcyNjYwMCwtNjM2NTc5ZTMsLTYyMzI3N2UzLC02MDUxMjk0MDAsLTU5MTgyNzQwMCwtNTczNjc5ODAwLC01NTk3NzNlMywtNTQxNjI1NDAwLC01MjgzMjM0MDAsLTUxMDE3OTQwMCwtNDk4MDgzNDAwLC00Nzg3Mjk4MDAsLTQ2NjYzMzgwMCwtNDQ2Njc1NDAwLC00MzUxODQyMDAsLTQxNTIyNTgwMCwtNDAzMTI5ODAwLC0zODM3NzYyMDAsLTM3MTY4MDIwMCwtMzUyMzI2NjAwLC0zNDAyMzA2MDAsLTMyMDg3N2UzLC0zMDg3ODFlMywtMjg4ODIyNjAwLC0yNzczMzE0MDAsLTI1NzM3M2UzLC0yNDU4ODE4MDAsLTIyNTkyMzQwMCwtMjEzODI3NDAwLC0xOTQ0NzM4MDAsLTE4MjM3NzgwMCwtMTYzMDI0MjAwLC0xNDg1MDllMywtMTMyNzg0MjAwLC0xMTcwNTk0MDAsLTEwMTMzNDYwMCwtODU2MDk4MDAsLTY5MjgwMjAwLC01MzU1NTQwMCwtMzc4MzA2MDAsLTIyMTA1ODAwLC02MzgxZTMsOTM0MzgwMCwyNTA2ODYwMCw0MDc5MzQwMCw1NjUxODIwMCw3MjI0M2UzLDg4NTcyNjAwLDEwNDI5NzQwMCwxMjAwMjIyMDAsMTI2MDcwMjAwLDE1MTQ3MTgwMCwxNjcxOTY2MDAsMTgyOTIxNDAwLDE5ODY0NjIwMCwyMTQzNzFlMywyOTU0MTQyMDAsMzA5MzI0NjAwLDE5MjUwMjA4MDBdLG9mZnNldDpbMjc0MDIsMjg4MDAsMzI0MDAsMzA2MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXNpYS9KYWthcnRhIjp7dGltZTpbLTMyMzEyNzM2MDAsLTE0NTE2OTM1NjgsLTExNzI4OGU0LC04NzY2MTQ0MDAsLTc2NjAyMjQwMCwtNjgzODU2ZTMsLTYyMDc4NGUzLC0xODkzODg4MDAsMTkyNTAxNzIwMF0sb2Zmc2V0OlsyNTYzMiwyNTYzMiwyNjQwMCwyN2UzLDMyNDAwLDI3ZTMsMjg4MDAsMjdlMywyNTIwMF19LCJBc2lhL0plcnVzYWxlbSI6ewp0aW1lOlstMjg0MDE0MDgwMCwtMTY0MDk5NTIwMCwtOTMzNjMxMjAwLC05MjMwODY4MDAsLTkxOTAyOTYwMCwtODU3MzM2NDAwLC04NDQyOTM2MDAsLTgyNTgwMDQwMCwtODEyNjcxMjAwLC03OTQxNzhlMywtNzc5ODM5MjAwLC03NjI2NDJlMywtNzQ4MzAzMjAwLC03MzExMDZlMywtNjgxOTQ4ZTMsLTY3MzIxNDQwMCwtNjY3OTQ3NjAwLC02NTIzMTI4MDAsLTYzNjQxMTYwMCwtNjIyMDcyODAwLC02MDg5MzY0MDAsLTU5MTgzMjgwMCwtNTcyNDc1NjAwLC01NTg1Njg4MDAsLTU0Mjg0MDQwMCwtNTI3NzI0ZTMsLTUxNDQxNDgwMCwtNDkwODMxMjAwLC00ODI5NjUyMDAsLTQ1OTM4MTYwMCwtNDUxNTE1NjAwLC00Mjg1MzY4MDAsLTQxODI1MTYwMCwtNDAwMTExMjAwLC0zODc0MDY4MDAsMTQyMzg3MjAwLDE1MDg1NDQwMCwxNjcxODRlMywxNzg2NzUyMDAsMzM0MTA4ODAwLDMzNzc0MTIwMCw0NTI2NDk2MDAsNDYyMzNlNCw0ODIyODQ4MDAsNDk0MzgwODAwLDUxNjc1ODQwMCw1MjY0MzUyMDAsNTQ1NDQzMjAwLDU1ODQ4OTYwMCw1NzY2MzM2MDAsNTg5MzM0NDAwLDYwOTg5NzYwMCw2MjA3ODRlMyw2MzgzMjMyMDAsNjUxNjI4ODAwLDY2OTc3MjgwMCw2ODM2ODMyMDAsNzAxODI3MjAwLDcxNTczNzYwMCw3MzM3MDg4MDAsNzQ3MTg3MjAwLDc2NTE1ODQwMCw3NzgwMzJlMyw3OTY2MDhlMyw4MTAwODY0MDAsODI2ODQ4ZTMsODQyODMyZTMsODU4OTAyNDAwLDg3NDE5NTIwMCw4OTAzNTJlMyw5MDUwNGU0LDkyMzAxODQwMCw5MzYzMjRlMyw5NTU2Nzc2MDAsOTcwNzk0ZTMsOTg2Nzc4ZTMsMTAwMTI5MzIwMCwxMDE3MzYzNjAwLDEwMzM5NTI0MDAsMTA0ODgxMzIwMCwxMDY1MTQyODAwLDEwODEyOTk2MDAsMTA5NTgxNDgwMCwxMTEyMzIwODAwLDExMjg4MjMyMDAsMTE0Mzc3MDQwMCwxMTU5NjY4ZTMsMTE3NTIyZTQsMTE4OTkwOGUzLDEyMDY2Njk2MDAsMTIyMzE3MmUzLDEyMzgxMTkyMDAsMTI1NDAxNjgwMCwxMjY5NTY4ODAwLDEyODQyNTY4MDAsMTMwMTYyMzIwMCwxMzE3NTIwODAwLDEzMzMwNzI4MDAsMTM0ODM2NTYwMCwxMzY0NTIyNDAwLDEzODI4MzkyMDAsMTM5NTk3MmUzLDE0MTQyODg4MDAsMTQyNzQyMTYwMCwxNDQ1NzM4NDAwLDE0NTg4NzEyMDAsMTQ3Nzc5MjgwMCwxNDkwMzIwODAwLDE1MDkyNDI0MDAsMTUyMTc3MDQwMCwxNTQwNjkyZTMsMTU1MzgyNDgwMCwxNTcyMTQxNjAwLDE1ODUyNzQ0MDAsMTYwMzU5MTIwMCwxNjE2NzI0ZTMsMTYzNTY0NTYwMCwxNjQ4MTczNjAwLDE2NjcwOTUyMDAsMTY3OTYyMzIwMCwxNjk4NTQ0ODAwLDE3MTE2Nzc2MDAsMTcyOTk5NDQwMCwxNzQzMTI3MjAwLDE3NjE0NDRlMywxNzc0NTc2ODAwLDE3OTI4OTM2MDAsMTgwNjAyNjQwMCwxODI0OTQ4ZTMsMTgzNzQ3NmUzLDE4NTYzOTc2MDAsMTg2ODkyNTYwMCwxODg3ODQ3MjAwLDE5MDA5OGU0LDE5MTkyOTY4MDAsMTkzMjQyOTYwMF0sb2Zmc2V0Ols4NDU0LDg0NDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxNDQwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJBc2lhL0thYnVsIjp7dGltZTpbLTI1MjQ1MjE2MDAsLTc4ODkxODQwMCwxOTI1MDA4MjAwXSxvZmZzZXQ6WzE2NjA4LDE0NDAwLDE2MjAwXX0sIkFzaWEvS2FyYWNoaSI6e3RpbWU6Wy0xOTg4MTUwNDAwLC04NjI2MTc2MDAsLTc2NDEyMTYwMCwtNTc2MTE1MjAwLDM4NzkzNjAwLDEwMTgxMzc2MDAsMTAzMzg2MjQwMCwxMjEyMjc4NDAwLDEyMjU0OTc2MDAsMTIzOTc1MzYwMCwxMjU3MDMzNjAwLDE5MjUwMWU0XSxvZmZzZXQ6WzE2MDkyLDE5ODAwLDIzNDAwLDE5ODAwLDE4ZTMsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlM119LCJBc2lhL0thdGhtYW5kdSI6e3RpbWU6Wy0xNTc3OTIzMjAwLDUwNDkyMTYwMCwxOTI1MDEyNzAwXSxvZmZzZXQ6WzIwNDc2LDE5ODAwLDIwNzAwXX0sIkFzaWEvS29sa2F0YSI6e3RpbWU6Wy0zNjQ1MjE2ZTMsLTMxNTU2NzM2MDAsLTIwMTk2ODY0MDAsLTg5MTU2MTYwMCwtODcyMDM1MjAwLC04NjI2MTc2MDAsLTc2NDEyMTYwMCwxOTI1MDExODAwXSxvZmZzZXQ6WzIxMjA4LDIxMjAwLDE5MjcwLDE5ODAwLDIzNDAwLDE5ODAwLDIzNDAwLDE5ODAwXX0sIkFzaWEvS3VhbGFfTHVtcHVyIjp7dGltZTpbLTIxNzc0NTI4MDAsLTIwMzgxNzZlMywtMTE2NzYwOTYwMCwtMTA3MzAwMTYwMCwtODk0MTUzNjAwLC04Nzk2Mzg0MDAsLTc2Njk3MjgwMCwzNzg2ODk0MDAsMTkyNTAyMDgwMF0sb2Zmc2V0OlsyNDQwNiwyNDkyNSwyNTIwMCwyNjQwMCwyNjQwMCwyN2UzLDMyNDAwLDI3ZTMsMjg4MDBdfSwiQXNpYS9LdXdhaXQiOnt0aW1lOlstNjMxMTUyZTMsMTkyNTAwMjgwMF0sb2Zmc2V0OlsxMTUxNiwxMDgwMF19LCJBc2lhL01hbmlsYSI6ewp0aW1lOlstMzk0NDY3ODQwMCwtMjIxOTA1NDE2OCwtMTA0NjY0OTYwMCwtMTA0MDA4MzIwMCwtODg0OTk1MjAwLC04Nzk5ODRlMywtNzgzNTYxNjAwLC03NjAwNjA4MDAsLTQ5NjE5NTIwMCwtNDkxNTI5NjAwLDIyODM1NTIwMCwyNDM3MzQ0MDAsNjQzMjQ4ZTMsNjQ5MjA5NjAwLDE5MjUwMjA4MDBdLG9mZnNldDpbLTU3MzY4LDI5MDMyLDI4ODAwLDMyNDAwLDI4ODAwLDMyNDAwLDMyNDAwLDMyNDAwLDI4ODAwLDMyNDAwLDI4ODAwLDMyNDAwLDI4ODAwLDMyNDAwLDI4ODAwXX0sIkFzaWEvTXVzY2F0Ijp7dGltZTpbLTE1Nzc5MjMyMDAsMTkyNTAwNjQwMF0sb2Zmc2V0OlsxNDA2NCwxNDQwMF19LCJBc2lhL05pY29zaWEiOnt0aW1lOlstMTUxODkxMmUzLDE2NjU3OTIwMCwxODIzMDRlMywyMDA5NjY0MDAsMjEzODRlNCwyMjg4NzM2MDAsMjQzOTkzNjAwLDI2MDMyMzIwMCwyNzYxMzQ0MDAsMjkxNzcyODAwLDMwNzQ5NzYwMCwzMjM4MjcyMDAsMzM4OTQ3MjAwLDM1NDY3MmUzLDM3MDM5NjgwMCwzODYxMjE2MDAsNDAxODQ2NDAwLDQxNzU3MTIwMCw0MzMyOTZlMyw0NDkwMjA4MDAsNDY1MzUwNDAwLDQ4MTA3NTIwMCw0OTY4ZTUsNTEyNTI0ODAwLDUyODI0OTYwMCw1NDM5NzQ0MDAsNTU5Njk5MjAwLDU3NTQyNGUzLDU5MTE0ODgwMCw2MDY4NzM2MDAsNjIyNTk4NDAwLDYzODMyMzIwMCw2NTQ2NTI4MDAsNjcwMzc3NjAwLDY4NjEwMjQwMCw3MDE4MjcyMDAsNzE3NTUyZTMsNzMzMjc2ODAwLDc0OTAwMTYwMCw3NjQ3MjY0MDAsNzgwNDUxMjAwLDc5NjE3NmUzLDgxMTkwMDgwMCw4MjgyMzA0MDAsODQzOTU1MjAwLDg1OTY4ZTQsODc1NDA0ODAwLDg5MTEyOTYwMCw5MDkyODhlMyw5MjI1OWU0LDk0MTM0MjQwMCw5NTQwMzk2MDAsOTcyNzkyZTMsOTg1NDg5MjAwLDEwMDQyNDE2MDAsMTAxNzU0MzYwMCwxMDM1NjkxMjAwLDEwNDg5OTMyMDAsMTA2NzE0MDgwMCwxMDgwNDQyODAwLDEwOTkxOTUyMDAsMTExMTg5MjQwMCwxMTMwNjQ0ODAwLDExNDMzNDJlMywxMTYyMDk0NDAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTE5NDgwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjE0ODQwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDU3NDU2MDAsMTQ1OTA0NzYwMCwxNDc3OGU1LDE0OTA0OTcyMDAsMTUwOTI0OTYwMCwxNTIxOTQ2ODAwLDE1NDA2OTkyMDAsMTU1NDAwMTIwMCwxNTcyMTQ4ODAwLDE1ODU0NTA4MDAsMTYwMzU5ODQwMCwxNjE2OTAwNDAwLDE2MzU2NTI4MDAsMTY0ODM1ZTQsMTY2NzEwMjQwMCwxNjc5Nzk5NjAwLDE2OTg1NTJlMywxNzExODU0ZTMsMTczMDAwMTYwMCwxNzQzMzAzNjAwLDE3NjE0NTEyMDAsMTc3NDc1MzIwMCwxNzkyOTAwODAwLDE4MDYyMDI4MDAsMTgyNDk1NTIwMCwxODM3NjUyNDAwLDE4NTY0MDQ4MDAsMTg2OTEwMmUzLDE4ODc4NTQ0MDAsMTkwMTE1NjQwMCwxOTE5MzA0ZTMsMTkzMjYwNmUzXSxvZmZzZXQ6WzgwMDgsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiQXNpYS9RYXRhciI6e3RpbWU6Wy0xNTc3OTIzMjAwLDc2MjA0ODAwLDE5MjUwMDI4MDBdLG9mZnNldDpbMTIzNjgsMTQ0MDAsMTA4MDBdfSwiQXNpYS9SaXlhZGgiOnt0aW1lOlstNzE5NjI1NjAwLDE5MjUwMDI4MDBdLG9mZnNldDpbMTEyMTIsMTA4MDBdfSwiQXNpYS9TZW91bCI6e3RpbWU6Wy0xOTQ4NzUyZTMsLTE4MzAzODRlMywtNzY3MzE4NDAwLC02ODExNzc2MDAsLTY3MjE5MmUzLC02NTQ3MzkyMDAsLTY0MDgyODgwMCwtNjIzMzc2ZTMsLTYwOTM3OTIwMCwtNTg4ODE2ZTMsLTU3NzkyOTYwMCwtNDk4MDk2ZTMsLTQ2MjY3MmUzLC00NTE2OTkyMDAsLTQyOTc1MzYwMCwtNDE4MjYyNDAwLC0zOTk1MTM2MDAsLTM4NzQxNzYwMCwtMzY4MDY0ZTMsLTM1NTk2OGUzLC0zMzY2MTQ0MDAsLTMyNDUxODQwMCwtMzA1MTY0ODAwLC0yOTMwNjg4MDAsLTI2NDkwMjQwMCw1NDc2MTA0MDAsNTYwOTE5NjAwLDU3OTA2ZTQsNTkyMzY5MjAwLDE5MjUwMjQ0MDBdLG9mZnNldDpbMzA0NzIsMzA2MDAsMzI0MDAsMzI0MDAsMzZlMywzMjQwMCwzNmUzLDMyNDAwLDM2ZTMsMzI0MDAsMzZlMywzMjQwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzMjQwMCwzNmUzLDMyNDAwLDM2ZTMsMzI0MDBdfSwiQXNpYS9TaGFuZ2hhaSI6ewp0aW1lOlstMjE3NzQ1MjgwMCwtMTYwMDY0NjQwMCwtMTU4NTg3MmUzLC05MzM2Mzg0MDAsLTkyMjA2MDgwMCwtOTA4ODQxNjAwLC04ODg3OTY4MDAsLTg4MTAyMDgwMCwtNzY3ODM2ODAwLC03NDU4MDQ4MDAsLTczMzc5NTIwMCwtNzE2ODYwODAwLC02OTk1ODA4MDAsLTY4Mzg1NmUzLC02NzA2MzY4MDAsLTY1MjMyZTQsLTY0OTk4NzIwMCw1MTU1NTZlMyw1MjcwNDcyMDAsNTQ1MTkxMjAwLDU1ODQ5NjgwMCw1NzcyNDU2MDAsNTg5OTQ2NDAwLDYwODY5NTIwMCw2MjIwMDA4MDAsNjQwMTQ0ODAwLDY1MzQ1MDQwMCw2NzE1OTQ0MDAsNjg0OWU1LDE5MjUwMjA4MDBdLG9mZnNldDpbMjkxNDMsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXNpYS9TaW5nYXBvcmUiOnt0aW1lOlstMjE3NzQ1MjgwMCwtMjAzODE3NmUzLC0xMTY3NjA5NjAwLC0xMDczMDAxNjAwLC04OTQxNTM2MDAsLTg3OTYzODQwMCwtNzY2OTcyODAwLDM3ODY4OTQwMCwxOTI1MDIwODAwXSxvZmZzZXQ6WzI0OTI1LDI0OTI1LDI1MjAwLDI2NDAwLDI2NDAwLDI3ZTMsMzI0MDAsMjdlMywyODgwMF19LCJBc2lhL1RhaXBlaSI6e3RpbWU6Wy0yMzM1MjE5MjAwLC0xMDE3NzkyZTMsLTc2NjE5MTYwMCwtNzQ1ODA0ODAwLC03MzM3OTUyMDAsLTcxNjg2MDgwMCwtNjk5NTgwODAwLC02ODM4NTZlMywtNjcwNjM2ODAwLC02NTIzMmU0LC02MzkxMDA4MDAsLTYyMDc4NGUzLC02MDc1NjQ4MDAsLTU4OTI0OGUzLC01NzYwMjg4MDAsLTU2Mjg5NmUzLC01NDE3MjhlMywtNTI4NjgxNjAwLC01MTAxOTJlMywtNDk3MTQ1NjAwLC00Nzg2NTZlMywtNDY1NjA5NjAwLC00NDk3OTg0MDAsLTQzMzk4NzIwMCwtNDE4MTc2ZTMsLTQwMjQ1MTIwMCwtMzg2NjRlNCwtMzcwOTE1MjAwLC0zNTUxMDRlMywtMzM5Mzc5MjAwLC0zMjM1NjhlMywtMzAyNDg2NDAwLC0yOTE5NDU2MDAsLTI3MDk1MDQwMCwtMjYwNDA5NjAwLDEzNDAwNjQwMCwxNDk4MTc2MDAsMTY1NTQyNDAwLDE4MTM1MzYwMCwyOTk2MzUyMDAsMzA3NTg0ZTMsMTkyNTAyMDgwMF0sb2Zmc2V0OlsyOTE2MCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMF19LCJBc2lhL1RlaHJhbiI6e3RpbWU6Wy0xNzA0MTUzNjAwLC0xMDkwNDU0NDAwLDIyNzgzMzIwMCwyNDYyNGU0LDI1OTYzMmUzLDI3MTEyNjgwMCwyNzk1OTA0MDAsMjk2NjExMjAwLDMwNjU0NzIwMCwzMjI0NDQ4MDAsMzM4NTE1MjAwLDY3MzIyODgwMCw2ODU0OTc2MDAsNzAxMjIyNDAwLDcxNzEyZTQsNzMyNzU4NDAwLDc0ODY1NmUzLDc2NDI5NDQwMCw3ODAxOTJlMyw3OTU4MzA0MDAsODExNzI4ZTMsODI3MzY2NDAwLDg0MzI2NGUzLDg1ODk4ODgwMCw4NzQ4ODY0MDAsODkwNTI0ODAwLDkwNjQyMjQwMCw5MjIwNjA4MDAsOTM3OTU4NDAwLDk1MzU5NjgwMCw5Njk0OTQ0MDAsOTg1MjE5MjAwLDEwMDExMTY4MDAsMTAxNjc1NTIwMCwxMDMyNjUyODAwLDEwNDgyOTEyMDAsMTA2NDE4ODgwMCwxMDc5ODI3MjAwLDEwOTU3MjQ4MDAsMTExMTQ0OTYwMCwxMTI3MzQ3MjAwLDEyMDYwNTc2MDAsMTIyMTk1NTIwMCwxMjM3NjhlNCwxMjUzNTc3NjAwLDEyNjkyMTZlMywxMjg1MTEzNjAwLDEzMDA3NTJlMywxMzE2NjQ5NjAwLDEzMzIyODhlMywxMzQ4MTg1NjAwLDEzNjM5MTA0MDAsMTM3OTgwOGUzLDEzOTU0NDY0MDAsMTQxMTM0NGUzLDE0MjY5ODI0MDAsMTQ0Mjg4ZTQsMTQ1ODUxODQwMCwxNDc0NDE2ZTMsMTQ5MDE0MDgwMCwxNTA2MDM4NDAwLDE1MjE2NzY4MDAsMTUzNzU3NDQwMCwxNTUzMjEyODAwLDE1NjkxMTA0MDAsMTU4NDc0ODgwMCwxNjAwNjQ2NDAwLDE2MTYzNzEyMDAsMTYzMjI2ODgwMCwxNjQ3OTA3MjAwLDE2NjM4MDQ4MDAsMTkyNTAwNDYwMF0sb2Zmc2V0OlsxMjM0NCwxMjM0NCwxMjYwMCwxNjIwMCwxNDQwMCwxOGUzLDE0NDAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwXX0sIkFzaWEvVG9reW8iOnt0aW1lOlstMjU4NzY3ODg2MSwtNjgzNzY5NjAwLC02NzIyNzQ4MDAsLTY1NDczOTIwMCwtNjQwODI1MjAwLC02MjAyNjU2MDAsLTYwOTM3NTYwMCwtNTg4ODE2ZTMsLTU3NzkyNmUzLDE5MjUwMjQ0MDBdLG9mZnNldDpbMzM1MzksMzI0MDAsMzZlMywzMjQwMCwzNmUzLDMyNDAwLDM2ZTMsMzI0MDAsMzZlMywzMjQwMF19LCJBc2lhL1lhbmdvbiI6e3RpbWU6Wy0yODQwMTQwODAwLC0xNTc3OTIzMjAwLC04NzMyNDQ4MDAsLTc3ODM3NzYwMCwxOTI1MDE1NDAwXSxvZmZzZXQ6WzIzMDg3LDIzMDg3LDIzNDAwLDMyNDAwLDIzNDAwXX0sIkF0bGFudGljL0F6b3JlcyI6ewp0aW1lOlstMjcxMzkxMDQwMCwtMTgzMDM4MzY3MiwtMTY4OTU1NTYwMCwtMTY3Nzc5OGUzLC0xNjY3NDMzNjAwLC0xNjQ3NzM0NDAwLC0xNjM1ODk3NjAwLC0xNjE2MTk4NDAwLC0xNjA0MzYxNjAwLC0xNTg0NjYyNDAwLC0xNTcyNzM5MjAwLC0xNTUzMDRlNCwtMTU0MTIwMzIwMCwtMTUyMTUwNGUzLC0xNDQyNDUxNjAwLC0xNDI3NjczNjAwLC0xMzc5MjkzMjAwLC0xMzY0Nzc0NDAwLC0xMzQ4NDQ4NDAwLC0xMzMzMzI0ODAwLC0xMzE2Mzk0ZTMsLTEzMDEyNzA0MDAsLTEyODQzMzk2MDAsLTEyNjk4MjA4MDAsLTEyMjE0NDA0MDAsLTEyMDY5MjE2MDAsLTExOTEyMDA0MDAsLTExNzU0NzJlMywtMTEyNzY5NjQwMCwtMTExMTk2OGUzLC0xMDk2ODUxNjAwLC0xMDgwNTE4NDAwLC0xMDYzNTg3NjAwLC0xMDQ5MDY4ODAwLC0xMDMzMzQ3NjAwLC0xMDE3NjE5MjAwLC0xMDAyNTAyODAwLC05ODYxNjk2MDAsLTk2OTIzODgwMCwtOTUwNDg2NDAwLC05NDIwMjI4MDAsLTkyMjQ5MjgwMCwtOTA2OTQ0NDAwLC04OTExMjk2MDAsLTg3NzMwOTIwMCwtODczNjgwNDAwLC04NjRlNiwtODU3OTUyZTMsLTg0NTg1OTYwMCwtODQyODM1NjAwLC04MzEzNDA4MDAsLTgyNTg5NzYwMCwtODE0NDFlNCwtODEwNzgxMjAwLC03OTk4OTEyMDAsLTc5NDQ0OGUzLC03ODI5NjA0MDAsLTc3OTMzMTYwMCwtNzY4NDQxNjAwLC03NjI5OTg0MDAsLTc0OTA5MTYwMCwtNzMzMzYzMjAwLC03MTc2MzEyMDAsLTcwMTkwMjgwMCwtNjg2MTgxNjAwLC02NzA0NTMyMDAsLTY1NDczMmUzLC02MzkwMDM2MDAsLTYyMzI4MjQwMCwtNjA3NTU0ZTMsLTU5MTgzMjgwMCwtNTc1NDk5NjAwLC01NTk3Nzg0MDAsLTU0NDA1ZTQsLTUyODMyODgwMCwtNTEyNjAwNDAwLC00OTY4NzkyMDAsLTQ4MTE1MDgwMCwtNDY1NDI5NjAwLC00NDk3MDEyMDAsLTQzMzk4ZTQsLTQxNzY0NjgwMCwtNDAxOTI1NjAwLC0zODYxOTcyMDAsLTM3MDQ3NmUzLC0zNTQ3NDc2MDAsLTMzOTAyNjQwMCwtMzIzMjk4ZTMsLTMwNzU3NjgwMCwtMjkxODQ4NDAwLC0yNzYxMjcyMDAsLTI2MDM5ODgwMCwtMjQ0Njc3NjAwLC0yMjgzNDQ0MDAsLTIxMjYyMzIwMCwtMTk2ODk0ODAwLC0xODExNzM2MDAsLTE2NTQ0NTIwMCwtMTQ5NzI0ZTMsLTEzMzk5NTYwMCwtMTE4Mjc0NDAwLC0xMDI1NDZlMywzODYxMjE2MDAsNDAxODVlNCw0MTc1NzEyMDAsNDMzMjk5NjAwLDQ0OTAyMDgwMCw0NjUzNTRlMyw0ODEwNzUyMDAsNDk2ODAzNjAwLDUxMjUyNDgwMCw1MjgyNTMyMDAsNTQzOTc0NDAwLDU1OTcwMjgwMCw1NzU0MjRlMyw1OTExNTI0MDAsNjA2ODczNjAwLDYyMjYwMmUzLDYzODMyMzIwMCw2NTQ2NTY0MDAsNjcwMzc3NjAwLDY4NjEwNmUzLDcwMTgyNzIwMCw3MTc1NTU2MDAsNzI1NDE4ZTMsNzMzMjgwNDAwLDc0MDI4MjQwMCw3NDkwMDUyMDAsNzY0NzI2NDAwLDc4MDQ1NDgwMCw3OTYxNzZlMyw4MTE5MDQ0MDAsODI4MjMwNDAwLDg0NjM3OGUzLDg1OTY4ZTQsODc3ODI3NjAwLDg5MTEyOTYwMCw5MDkyNzcyMDAsOTIyNTc5MjAwLDk0MTMzMTYwMCw5NTQwMjg4MDAsOTcyNzgxMjAwLDk4NTQ3ODQwMCwxMDA0MjMwODAwLDEwMTc1MzI4MDAsMTAzNTY4MDQwMCwxMDQ4OTgyNDAwLDEwNjcxM2U0LDEwODA0MzJlMywxMDk5MTg0NDAwLDExMTE4ODE2MDAsMTEzMDYzNGUzLDExNDMzMzEyMDAsMTE2MjA4MzYwMCwxMTc0NzgwODAwLDExOTM1MzMyMDAsMTIwNjgzNTIwMCwxMjI0OTgyODAwLDEyMzgyODQ4MDAsMTI1NjQzMjQwMCwxMjY5NzM0NDAwLDEyODg0ODY4MDAsMTMwMTE4NGUzLDEzMTk5MzY0MDAsMTMzMjYzMzYwMCwxMzUxMzg2ZTMsMTM2NDY4OGUzLDEzODI4MzU2MDAsMTM5NjEzNzYwMCwxNDE0Mjg1MjAwLDE0Mjc1ODcyMDAsMTQ0NTczNDgwMCwxNDU5MDM2ODAwLDE0Nzc3ODkyMDAsMTQ5MDQ4NjQwMCwxNTA5MjM4ODAwLDE1MjE5MzZlMywxNTQwNjg4NDAwLDE1NTM5OTA0MDAsMTU3MjEzOGUzLDE1ODU0NGU0LDE2MDM1ODc2MDAsMTYxNjg4OTYwMCwxNjM1NjQyZTMsMTY0ODMzOTIwMCwxNjY3MDkxNjAwLDE2Nzk3ODg4MDAsMTY5ODU0MTIwMCwxNzExODQzMjAwLDE3Mjk5OTA4MDAsMTc0MzI5MjgwMCwxNzYxNDQwNDAwLDE3NzQ3NDI0MDAsMTc5Mjg5ZTQsMTgwNjE5MmUzLDE4MjQ5NDQ0MDAsMTgzNzY0MTYwMCwxODU2Mzk0ZTMsMTg2OTA5MTIwMCwxODg3ODQzNjAwLDE5MDExNDU2MDAsMTkxOTI5MzIwMCwxOTMyNTk1MjAwXSwKb2Zmc2V0OlstNjE2MCwtNjg3MiwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwwLC0zNjAwLC03MjAwLC0zNjAwLDAsLTM2MDAsLTcyMDAsLTM2MDAsMCwtMzYwMCwtNzIwMCwtMzYwMCwwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLDM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwXX0sIkF0bGFudGljL1JleWtqYXZpayI6e3RpbWU6Wy0xOTU2NjE0NDAwLC0xNjY4MjE0ODAwLC0xNjQ3MjEyNDAwLC0xNjM2Njc4ODAwLC0xNjEzNDNlNCwtMTYwNTE0MjgwMCwtMTU4MTg5NGUzLC0xNTM5NTY1MjAwLC0xNTMxMzVlNCwtOTY4MDI5MjAwLC05NTIyOTM2MDAsLTk0MjAxMmUzLC05MjAyMzkyMDAsLTkwOTk2MTIwMCwtODg4Nzg5NjAwLC04Nzc5MDY4MDAsLTg1Nzk0NDgwMCwtODQ2NDU3MjAwLC04MjY0OTUyMDAsLTgxNTAwNzYwMCwtNzk1MDQ1NjAwLC03ODM1NThlMywtNzYyOTkxMjAwLC03NTIxMDg0MDAsLTczMTU0MTYwMCwtNzE3NjM0ODAwLC03MDAwOTJlMywtNjg2MTg1MjAwLC02Njg2NDI0MDAsLTY1NDczNTYwMCwtNjM2NTg4ZTMsLTYyMzI4NmUzLC02MDU3NDMyMDAsLTU5MTgzNjQwMCwtNTczNjg4ODAwLC01NTk3ODJlMywtNTQyMjM5MjAwLC01MjgzMzI0MDAsLTUxMDc4OTYwMCwtNDk2ODgyODAwLC00NzkzNGU0LC00NjU0MzMyMDAsLTQ0Nzg5MDQwMCwtNDMzOTgzNjAwLC00MTU4MzZlMywtNDAxOTI5MjAwLC0zODQzODY0MDAsLTM3MDQ3OTYwMCwtMzUyOTM2ODAwLC0zMzkwM2U0LC0zMjE0ODcyMDAsLTMwNzU4MDQwMCwtMjkwMDM3NjAwLC0yNzYxMzA4MDAsLTI1ODU4OGUzLC0yNDQ2ODEyMDAsLTIyNjUzMzYwMCwtMjEyNjI2ODAwLC0xOTUwODRlMywtMTgxMTc3MjAwLC0xNjM2MzQ0MDAsLTE0OTcyNzYwMCwtMTMyMTg0ODAwLC0xMTgyNzhlMywtMTAwNzM1MjAwLC04NjgyODQwMCwtNjg2ODA4MDAsLTU0Nzc0ZTMsMTkyNDk5MmUzXSxvZmZzZXQ6Wy01MjgwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDBdfSwiQXVzdHJhbGlhL0FDVCI6ewp0aW1lOlstMjM2NDA3NjgwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwtODI4MzA5NjAwLC04MTMxODZlMyw1NzcyMjQwMCw2ODAwNzYwMCw4OTE3MmUzLDEwMDA2MmUzLDEyMDYyMTYwMCwxMzE1MTE2MDAsMTUyMDcxMjAwLDE2Mjk2MTIwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NjczNzIwMCw0MDQ4Nzc2MDAsNDE1NzY3NjAwLDQzNjMyNzIwMCw0NDcyMTcyMDAsNDY3Nzc2ODAwLDQ3ODY2NjgwMCw0OTkyMjY0MDAsNTExMzI2ZTMsNTMwMDcxMjAwLDU0Mjc3NTYwMCw1NjIxMjU2MDAsNTc0ODNlNCw1OTQxOGU0LDYwNjI3OTYwMCw2MjU2Mjk2MDAsNjM2NTE5NjAwLDY1NzA3OTIwMCw2Njc5NjkyMDAsNjg4NTI4ODAwLDY5OTQxODgwMCw3MTk5Nzg0MDAsNzMxNDczMjAwLDc1MjAzMjgwMCw3NjI5MjI4MDAsNzgzNDgyNDAwLDc5NDM3MjQwMCw4MTQ5MzJlMyw4MjgyNDEyMDAsODQ2MzgxNjAwLDg1OTY5MDgwMCw4Nzc4MzEyMDAsODkxMTQwNDAwLDkwOTI4MDgwMCw5MjI1OWU0LDk0MTMzNTIwMCw5NTQwMzk2MDAsOTY3MzQxNjAwLDk4NTQ4OTIwMCwxMDA0MjM0NDAwLDEwMTc1NDM2MDAsMTAzNTY4NGUzLDEwNDg5OTMyMDAsMTA2NzEzMzYwMCwxMDgwNDQyODAwLDEwOTkxODhlMywxMTExODkyNDAwLDExMzA2Mzc2MDAsMTE0Mzk0NjgwMCwxMTYyMDg3MjAwLDExNzQ3OTE2MDAsMTE5MzUzNjgwMCwxMjA3NDUwODAwLDEyMjMxNzJlMywxMjM4OTAwNDAwLDEyNTQ2MjE2MDAsMTI3MDM1ZTQsMTI4NjA3MTIwMCwxMzAxNzk5NjAwLDEzMTc1MjA4MDAsMTMzMzI0OTIwMCwxMzQ5NTc1MjAwLDEzNjUzMDM2MDAsMTM4MTAyNDgwMCwxMzk2NzUzMjAwLDE0MTI0NzQ0MDAsMTQyODIwMjgwMCwxNDQzOTI0ZTMsMTQ1OTY1MjQwMCwxNDc1MzczNjAwLDE0OTExMDJlMywxNTA2ODIzMjAwLDE1MjI1NTE2MDAsMTUzODg3NzYwMCwxNTU0NjA2ZTMsMTU3MDMyNzIwMCwxNTg2MDU1NjAwLDE2MDE3NzY4MDAsMTYxNzUwNTIwMCwxNjMzMjI2NDAwLDE2NDg5NTQ4MDAsMTY2NDY3NmUzLDE2ODA0MDQ0MDAsMTY5NjEyNTYwMCwxNzEyNDU4ODAwLDE3MjgxOGU0LDE3NDM5MDg0MDAsMTc1OTYyOTYwMCwxNzc1MzU4ZTMsMTc5MTA3OTIwMCwxODA2ODA3NjAwLDE4MjI1Mjg4MDAsMTgzODI1NzIwMCwxODUzOTc4NDAwLDE4Njk3MDY4MDAsMTg4NjAzMjgwMCwxOTAxNzYxMjAwLDE5MTc0ODI0MDAsMTkzMzIxMDgwMF0sb2Zmc2V0OlszNjI5MiwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwXX0sIkF1c3RyYWxpYS9BZGVsYWlkZSI6ewp0aW1lOlstMjM2NDA3NjgwMCwtMjIzMDE1NjgwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwtODI4MzA5NjAwLC04MTMxODZlMyw1NzcyMjQwMCw2ODAwNzYwMCw4OTE3MmUzLDEwMDA2MmUzLDEyMDYyMTYwMCwxMzE1MTE2MDAsMTUyMDcxMjAwLDE2Mjk2MTIwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NDMxOGUzLDQwNDg3NzYwMCw0MTU3Njc2MDAsNDM2MzI3MjAwLDQ0NzIxNzIwMCw0Njc3NzY4MDAsNDc4NjY2ODAwLDQ5OTIyNjQwMCw1MTEzMjZlMyw1MzAwNzEyMDAsNTQyNzc1NjAwLDU2MjEyNTYwMCw1NzQ4M2U0LDU5NDE4ZTQsNjA2Mjc5NjAwLDYyNTYyOTYwMCw2Mzc3MjkyMDAsNjU3MDc5MjAwLDY2Nzk2OTIwMCw2ODg1Mjg4MDAsNzAxMjMzMjAwLDcxOTk3ODQwMCw3MzE0NzMyMDAsNzUyMDMyODAwLDc2NDEzMjQwMCw3ODM0ODI0MDAsNzk2MTg2ODAwLDgxNDkzMmUzLDgyODI0MTIwMCw4NDYzODE2MDAsODU5NjkwODAwLDg3NzgzMTIwMCw4OTExNDA0MDAsOTA5MjgwODAwLDkyMjU5ZTQsOTQxMzM1MjAwLDk1NDAzOTYwMCw5NzI3ODQ4MDAsOTg1NDg5MjAwLDEwMDQyMzQ0MDAsMTAxNzU0MzYwMCwxMDM1Njg0ZTMsMTA0ODk5MzIwMCwxMDY3MTMzNjAwLDEwODA0NDI4MDAsMTA5OTE4OGUzLDExMTE4OTI0MDAsMTEzMDYzNzYwMCwxMTQzOTQ2ODAwLDExNjIwODcyMDAsMTE3NDc5MTYwMCwxMTkzNTM2ODAwLDEyMDc0NTA4MDAsMTIyMzE3MmUzLDEyMzg5MDA0MDAsMTI1NDYyMTYwMCwxMjcwMzVlNCwxMjg2MDcxMjAwLDEzMDE3OTk2MDAsMTMxNzUyMDgwMCwxMzMzMjQ5MjAwLDEzNDk1NzUyMDAsMTM2NTMwMzYwMCwxMzgxMDI0ODAwLDEzOTY3NTMyMDAsMTQxMjQ3NDQwMCwxNDI4MjAyODAwLDE0NDM5MjRlMywxNDU5NjUyNDAwLDE0NzUzNzM2MDAsMTQ5MTEwMmUzLDE1MDY4MjMyMDAsMTUyMjU1MTYwMCwxNTM4ODc3NjAwLDE1NTQ2MDZlMywxNTcwMzI3MjAwLDE1ODYwNTU2MDAsMTYwMTc3NjgwMCwxNjE3NTA1MjAwLDE2MzMyMjY0MDAsMTY0ODk1NDgwMCwxNjY0Njc2ZTMsMTY4MDQwNDQwMCwxNjk2MTI1NjAwLDE3MTI0NTg4MDAsMTcyODE4ZTQsMTc0MzkwODQwMCwxNzU5NjI5NjAwLDE3NzUzNThlMywxNzkxMDc5MjAwLDE4MDY4MDc2MDAsMTgyMjUyODgwMCwxODM4MjU3MjAwLDE4NTM5Nzg0MDAsMTg2OTcwNjgwMCwxODg2MDMyODAwLDE5MDE3NjEyMDAsMTkxNzQ4MjQwMCwxOTMzMjEwODAwXSxvZmZzZXQ6WzMzMjYwLDMyNDAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwXX0sIkF1c3RyYWxpYS9CcmlzYmFuZSI6e3RpbWU6Wy0yMzY2NzU1MjAwLC0xNjcyNTI0ZTMsLTE2NjUzNDkyMDAsLTg4MzYwNTYwMCwtODc2MDg1MjAwLC04NjAzNjRlMywtODQ0NjM1NjAwLC04MjgzMDk2MDAsLTgxMzE4NmUzLDU3NzIyNDAwLDY4MDA3NjAwLDYyNTYyOTYwMCw2MzY1MTk2MDAsNjU3MDc5MjAwLDY2Nzk2OTIwMCw2ODg1Mjg4MDAsNjk5NDE4ODAwLDE5MjUwMjhlM10sb2Zmc2V0OlszNjcyOCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlM119LCJBdXN0cmFsaWEvUGVydGgiOnt0aW1lOlstMjMzNzg5NzYwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwxNTIwNzEyMDAsMTYyOTYxMjAwLDQzNjMyNzIwMCw0NDcyMTcyMDAsNjkwMzQzMjAwLDY5OTQxODgwMCwxMTY1MTExMjAwLDExNzQ3OTE2MDAsMTE5MzUzNjgwMCwxMjA2ODQ2ZTMsMTIyNDk4NjQwMCwxMjM4Mjk1NjAwLDE5MjUwMjA4MDBdLG9mZnNldDpbMjc4MDQsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXVzdHJhbGlhL1N5ZG5leSI6ewp0aW1lOlstMjM2NDA3NjgwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwtODI4MzA5NjAwLC04MTMxODZlMyw1NzcyMjQwMCw2ODAwNzYwMCw4OTE3MmUzLDEwMDA2MmUzLDEyMDYyMTYwMCwxMzE1MTE2MDAsMTUyMDcxMjAwLDE2Mjk2MTIwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NjczNzIwMCw0MDQ4Nzc2MDAsNDE1NzY3NjAwLDQzNjMyNzIwMCw0NDcyMTcyMDAsNDY3Nzc2ODAwLDQ3ODY2NjgwMCw0OTkyMjY0MDAsNTExMzI2ZTMsNTMwMDcxMjAwLDU0Mjc3NTYwMCw1NjIxMjU2MDAsNTc0ODNlNCw1OTQxOGU0LDYwNjI3OTYwMCw2MjU2Mjk2MDAsNjM2NTE5NjAwLDY1NzA3OTIwMCw2Njc5NjkyMDAsNjg4NTI4ODAwLDY5OTQxODgwMCw3MTk5Nzg0MDAsNzMxNDczMjAwLDc1MjAzMjgwMCw3NjI5MjI4MDAsNzgzNDgyNDAwLDc5NDM3MjQwMCw4MTQ5MzJlMyw4MjgyNDEyMDAsODQ2MzgxNjAwLDg1OTY5MDgwMCw4Nzc4MzEyMDAsODkxMTQwNDAwLDkwOTI4MDgwMCw5MjI1OWU0LDk0MTMzNTIwMCw5NTQwMzk2MDAsOTY3MzQxNjAwLDk4NTQ4OTIwMCwxMDA0MjM0NDAwLDEwMTc1NDM2MDAsMTAzNTY4NGUzLDEwNDg5OTMyMDAsMTA2NzEzMzYwMCwxMDgwNDQyODAwLDEwOTkxODhlMywxMTExODkyNDAwLDExMzA2Mzc2MDAsMTE0Mzk0NjgwMCwxMTYyMDg3MjAwLDExNzQ3OTE2MDAsMTE5MzUzNjgwMCwxMjA3NDUwODAwLDEyMjMxNzJlMywxMjM4OTAwNDAwLDEyNTQ2MjE2MDAsMTI3MDM1ZTQsMTI4NjA3MTIwMCwxMzAxNzk5NjAwLDEzMTc1MjA4MDAsMTMzMzI0OTIwMCwxMzQ5NTc1MjAwLDEzNjUzMDM2MDAsMTM4MTAyNDgwMCwxMzk2NzUzMjAwLDE0MTI0NzQ0MDAsMTQyODIwMjgwMCwxNDQzOTI0ZTMsMTQ1OTY1MjQwMCwxNDc1MzczNjAwLDE0OTExMDJlMywxNTA2ODIzMjAwLDE1MjI1NTE2MDAsMTUzODg3NzYwMCwxNTU0NjA2ZTMsMTU3MDMyNzIwMCwxNTg2MDU1NjAwLDE2MDE3NzY4MDAsMTYxNzUwNTIwMCwxNjMzMjI2NDAwLDE2NDg5NTQ4MDAsMTY2NDY3NmUzLDE2ODA0MDQ0MDAsMTY5NjEyNTYwMCwxNzEyNDU4ODAwLDE3MjgxOGU0LDE3NDM5MDg0MDAsMTc1OTYyOTYwMCwxNzc1MzU4ZTMsMTc5MTA3OTIwMCwxODA2ODA3NjAwLDE4MjI1Mjg4MDAsMTgzODI1NzIwMCwxODUzOTc4NDAwLDE4Njk3MDY4MDAsMTg4NjAzMjgwMCwxOTAxNzYxMjAwLDE5MTc0ODI0MDAsMTkzMzIxMDgwMF0sb2Zmc2V0OlszNjI5MiwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwXX0sIkV1cm9wZS9BbXN0ZXJkYW0iOnsKdGltZTpbLTQyNjAyMTEyMDAsLTE2OTM2OTkyMDAsLTE2ODA0OGU0LC0xNjYzNDUyZTMsLTE2NTAxNDI4MDAsLTE2MzMyMTJlMywtMTYxNzQ4MzYwMCwtMTYwMTE1NzYwMCwtMTU4NjAzNGUzLC0xNTY5NzA4ZTMsLTE1NTQ1ODQ0MDAsLTE1MzgyNTg0MDAsLTE1MjMxMzQ4MDAsLTE1MDc1ZTUsLTE0OTA1NjJlMywtMTQ3MDE3NTIwMCwtMTQ1OTExMjQwMCwtMTQ0Mzk5NmUzLC0xNDI3NjYyODAwLC0xNDA2NjcxMjAwLC0xMzk2MjEzMjAwLC0xMzc2OTQ5NjAwLC0xMzY0NzYzNjAwLC0xMzQ1NDEzNjAwLC0xMzMzMzE0ZTMsLTEzMTM3OTEyMDAsLTEzMDEyNTk2MDAsLTEyODIyNTUyMDAsLTEyNjk4MWU0LC0xMjUwNzE5MjAwLC0xMjM4MzYwNDAwLC0xMjE5MTgzMjAwLC0xMjA2OTEwODAwLC0xMTg2OTU2ZTMsLTExNzU0NjEyMDAsLTExNTYwMjQ4MDAsLTExNDM0MDY4MDAsLTExMjQ0ODg4MDAsLTExMTE5NTcyMDAsLTEwOTI5NTI4MDAsLTEwODA1MDc2MDAsLTEwNjEzMzA0MDAsLTEwNDkwNThlMywtMTAyOTE4OTYwMCwtMTAyNTc0MDgwMCwtMTAxNzYwODQwMCwtOTk4MjU4NDAwLC05ODYxNTg4MDAsLTk2NjcyMjQwMCwtOTU0MTA0NDAwLC05MzUwMjA4MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLDIyODg4MDgwMCwyNDQwMDQ0MDAsMjYwMzMwNDAwLDI3NjA1ODgwMCwyOTE3OGU0LDMwNzUwODQwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMTE3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsNDgwMCwxMjAwLDQ4MDAsMTIwMCw0ODAwLDEyMDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9BdGhlbnMiOnsKdGltZTpbLTIzNDQ2MzY4MDAsLTE2ODYwOTU5NDAsLTExODI5ODg4MDAsLTExNzgxNTA0MDAsLTkwNjg1NDQwMCwtOTA0ODY3MjAwLC04NTcyNWU0LC04NDQ0NzM2MDAsLTgyODIzMDQwMCwtODEyNDE5MjAwLC01NTIzNTUyMDAsLTU0MTY0MTYwMCwxNjY0OTI4MDAsMTg2MTk1NjAwLDE5ODAzNmUzLDIxMzc2NDQwMCwyMjg4ODA4MDAsMjQ0MDkwODAwLDI2MDMzMDQwMCwyNzU0NTc2MDAsMjkxODA1MjAwLDMwNzQxODQwMCwzMjMzOTUyMDAsMzM4OTQ3MjAwLDM1NDY4MjgwMCwzNzA0MTEyMDAsMzg2MTMyNDAwLDQwMTg2MDgwMCw0MTc1ODJlMyw0MzMzMTA0MDAsNDQ5MDMxNjAwLDQ2NTM2NDgwMCw0ODEwODZlMyw0OTY4MTQ0MDAsNTEyNTM1NjAwLDUyODI2NGUzLDU0Mzk4NTIwMCw1NTk3MTM2MDAsNTc1NDM0ODAwLDU5MTE2MzIwMCw2MDY4ODQ0MDAsNjIyNjEyODAwLDYzODMzNGUzLDY1NDY2NzIwMCw2NzAzODg0MDAsNjg2MTE2ODAwLDcwMTgzOGUzLDcxNzU2NjQwMCw3MzMyODc2MDAsNzQ5MDE2ZTMsNzY0NzM3MjAwLDc4MDQ2NTYwMCw3OTYxODY4MDAsODExOTE1MjAwLDgyODI0MTIwMCw4NDYzODg4MDAsODU5NjkwODAwLDg3NzgzODQwMCw4OTExNDA0MDAsOTA5Mjg4ZTMsOTIyNTllNCw5NDEzNDI0MDAsOTU0MDM5NjAwLDk3Mjc5MmUzLDk4NTQ4OTIwMCwxMDA0MjQxNjAwLDEwMTc1NDM2MDAsMTAzNTY5MTIwMCwxMDQ4OTkzMjAwLDEwNjcxNDA4MDAsMTA4MDQ0MjgwMCwxMDk5MTk1MjAwLDExMTE4OTI0MDAsMTEzMDY0NDgwMCwxMTQzMzQyZTMsMTE2MjA5NDQwMCwxMTc0NzkxNjAwLDExOTM1NDRlMywxMjA2ODQ2ZTMsMTIyNDk5MzYwMCwxMjM4Mjk1NjAwLDEyNTY0NDMyMDAsMTI2OTc0NTIwMCwxMjg4NDk3NjAwLDEzMDExOTQ4MDAsMTMxOTk0NzIwMCwxMzMyNjQ0NDAwLDEzNTEzOTY4MDAsMTM2NDY5ODgwMCwxMzgyODQ2NDAwLDEzOTYxNDg0MDAsMTQxNDI5NmUzLDE0Mjc1OThlMywxNDQ1NzQ1NjAwLDE0NTkwNDc2MDAsMTQ3NzhlNSwxNDkwNDk3MjAwLDE1MDkyNDk2MDAsMTUyMTk0NjgwMCwxNTQwNjk5MjAwLDE1NTQwMDEyMDAsMTU3MjE0ODgwMCwxNTg1NDUwODAwLDE2MDM1OTg0MDAsMTYxNjkwMDQwMCwxNjM1NjUyODAwLDE2NDgzNWU0LDE2NjcxMDI0MDAsMTY3OTc5OTYwMCwxNjk4NTUyZTMsMTcxMTg1NGUzLDE3MzAwMDE2MDAsMTc0MzMwMzYwMCwxNzYxNDUxMjAwLDE3NzQ3NTMyMDAsMTc5MjkwMDgwMCwxODA2MjAyODAwLDE4MjQ5NTUyMDAsMTgzNzY1MjQwMCwxODU2NDA0ODAwLDE4NjkxMDJlMywxODg3ODU0NDAwLDE5MDExNTY0MDAsMTkxOTMwNGUzLDE5MzI2MDZlM10sb2Zmc2V0Ols1NjkyLDU2OTIsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJFdXJvcGUvQmVsZ3JhZGUiOnsKdGltZTpbLTI3MTM5MTA0MDAsLTkwNTgyMTIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzc3OTM4NDAwLC03NjY2MTY0MDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0Ols0OTIwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9CZXJsaW4iOnt0aW1lOlstMjQyMjA1MTIwMCwtMTY5MzcwMjgwMCwtMTY4MDQ3NjQwMCwtMTY2MzQ1MmUzLC0xNjUwMTQyODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC05Mzg5MDE2MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc4MTA0ODgwMCwtNzc2NTU2ZTMsLTc2NTkyNTIwMCwtNzYxMTczMjAwLC03NDg0NzZlMywtNzMzMjY2ZTMsLTcxNzYyNzYwMCwtNzE0NjAzNjAwLC03MTAzN2U0LC03MDE5MDI4MDAsLTY4NDk3MmUzLC02NzA0NTMyMDAsLTY1NDEyNzIwMCwtNjM5MDAzNjAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbMzIwOCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMTA4MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9CcmF0aXNsYXZhIjp7dGltZTpbLTM3ODY4MjU2MDAsLTI0NjkzOTg0MDAsLTE2OTM3MDI4MDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtOTM4OTAxNjAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTY3N2U0LC03ODEwNDg4MDAsLTc2NTMyMDQwMCwtNzQ2NTc1MjAwLC03MzMzNTI0MDAsLTcyODUxNGUzLC03MjEyNmU0LC03MTY0MjE2MDAsLTcwMTkwMjgwMCwtNjg0OTcyZTMsLTY3MDQ1MzIwMCwtNjU0MjEzNjAwLC02MzkwMDM2MDAsMjkxNzhlNCwzMDc1MDg0MDAsMzIzODM0NDAwLDMzODk1OGUzLDM1NDY3OTIwMCwzNzA0MDc2MDAsMzg2MTI4ODAwLDQwMTg1NzIwMCw0MTc1Nzg0MDAsNDMzMzA2ODAwLDQ0OTAyOGUzLDQ2NTM2MTIwMCw0ODEwODI0MDAsNDk2ODEwODAwLDUxMjUzMmUzLDUyODI2MDQwMCw1NDM5ODE2MDAsNTU5NzFlNCw1NzU0MzEyMDAsNTkxMTU5NjAwLDYwNjg4MDgwMCw2MjI2MDkyMDAsNjM4MzMwNDAwLDY1NDY2MzYwMCw2NzAzODQ4MDAsNjg2MTEzMjAwLDcwMTgzNDQwMCw3MTc1NjI4MDAsNzMzMjg0ZTMsNzQ5MDEyNDAwLDc2NDczMzYwMCw3ODA0NjJlMyw3OTYxODMyMDAsODExOTExNjAwLDgyODIzNzYwMCw4NDYzODUyMDAsODU5Njg3MjAwLDg3NzgzNDgwMCw4OTExMzY4MDAsOTA5Mjg0NDAwLDkyMjU4NjQwMCw5NDEzMzg4MDAsOTU0MDM2ZTMsOTcyNzg4NDAwLDk4NTQ4NTYwMCwxMDA0MjM4ZTMsMTAxNzU0ZTQsMTAzNTY4NzYwMCwxMDQ4OTg5NjAwLDEwNjcxMzcyMDAsMTA4MDQzOTIwMCwxMDk5MTkxNjAwLDExMTE4ODg4MDAsMTEzMDY0MTIwMCwxMTQzMzM4NDAwLDExNjIwOTA4MDAsMTE3NDc4OGUzLDExOTM1NDA0MDAsMTIwNjg0MjQwMCwxMjI0OTllNCwxMjM4MjkyZTMsMTI1NjQzOTYwMCwxMjY5NzQxNjAwLDEyODg0OTRlMywxMzAxMTkxMjAwLDEzMTk5NDM2MDAsMTMzMjY0MDgwMCwxMzUxMzkzMjAwLDEzNjQ2OTUyMDAsMTM4Mjg0MjgwMCwxMzk2MTQ0ODAwLDE0MTQyOTI0MDAsMTQyNzU5NDQwMCwxNDQ1NzQyZTMsMTQ1OTA0NGUzLDE0Nzc3OTY0MDAsMTQ5MDQ5MzYwMCwxNTA5MjQ2ZTMsMTUyMTk0MzIwMCwxNTQwNjk1NjAwLDE1NTM5OTc2MDAsMTU3MjE0NTIwMCwxNTg1NDQ3MjAwLDE2MDM1OTQ4MDAsMTYxNjg5NjgwMCwxNjM1NjQ5MjAwLDE2NDgzNDY0MDAsMTY2NzA5ODgwMCwxNjc5Nzk2ZTMsMTY5ODU0ODQwMCwxNzExODUwNDAwLDE3Mjk5OThlMywxNzQzM2U1LDE3NjE0NDc2MDAsMTc3NDc0OTYwMCwxNzkyODk3MjAwLDE4MDYxOTkyMDAsMTgyNDk1MTYwMCwxODM3NjQ4ODAwLDE4NTY0MDEyMDAsMTg2OTA5ODQwMCwxODg3ODUwODAwLDE5MDExNTI4MDAsMTkxOTMwMDQwMCwxOTMyNjAyNDAwXSxvZmZzZXQ6WzM0NjQsMzQ2NCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvQnJ1c3NlbHMiOnsKdGltZTpbLTI4NDAxNDA4MDAsLTI0NTA5OTQxNTAsLTE3NDAzNTUyMDAsLTE2OTM2OTkyMDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTYxMzgyMjQwMCwtMTYwNDI3ODgwMCwtMTU4NTUyNjQwMCwtMTU3NDAzODgwMCwtMTU1MjI2MjQwMCwtMTUzOTk5NzIwMCwtMTUyMDU1MzYwMCwtMTUwNzUxMDgwMCwtMTQ5MDU3MjgwMCwtMTQ3MzY0MmUzLC0xNDU5MTIzMjAwLC0xNDQ0MDA2ODAwLC0xNDI3NjczNjAwLC0xNDExOTUyNDAwLC0xMzk2MjI0ZTMsLTEzNzkyOTMyMDAsLTEzNjQ3NzQ0MDAsLTEzNDg0NDg0MDAsLTEzMzMzMjQ4MDAsLTEzMTYzOTRlMywtMTMwMTI1OTYwMCwtMTI4NDMyODgwMCwtMTI2OTgxZTQsLTEyNTM0ODRlMywtMTIzODM2MDQwMCwtMTIyMTQyOTYwMCwtMTIwNjkxMDgwMCwtMTE5MTE4OTYwMCwtMTE3NTQ2MTIwMCwtMTE2MDM0NDgwMCwtMTE0MzQwNjgwMCwtMTEyNzY4NTYwMCwtMTExMTk1NzIwMCwtMTA5Njg0MDgwMCwtMTA4MDUwNzYwMCwtMTA2MzU3NjgwMCwtMTA0OTA1OGUzLC0xMDMzMzM2ODAwLC0xMDE3NjA4NDAwLC0xMDAyNDkyZTMsLTk4NjE1ODgwMCwtOTY5MjI4ZTMsLTk1MDQ3NTYwMCwtOTQyMDEyZTMsLTkzNDY2NDQwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk4MDY2ZTMsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLC03NDU0NTJlMywtNzMzMjY2ZTMsMjI4ODgwODAwLDI0NDAwNDQwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0OlsxMDUwLDEwNTAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9CdWNoYXJlc3QiOnsKdGltZTpbLTI0NjkzOTg0MDAsLTEyMTMxNDI0MDAsLTExODcwNDk2MDAsLTExNzU0Njg0MDAsLTExNTk3NDcyMDAsLTExNDQwMTg4MDAsLTExMjc2OTI4MDAsLTExMTE5NjQ0MDAsLTEwOTYyNDMyMDAsLTEwODA1MTQ4MDAsLTEwNjQ3OTM2MDAsLTEwNDkwNjUyMDAsLTEwMzMzNDRlMywtMTAxNzYxNTYwMCwtMTAwMTg5NDQwMCwtOTg2MTY2ZTMsLTk3MDQ0NDgwMCwtOTU0NzE2NDAwLDI5NjYxMTIwMCwzMDc0OTc2MDAsMzIzODIzNjAwLDMzODk1MDgwMCwzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzc3NjAwLDY4NjEwNmUzLDcwMTgyNzIwMCw3MTc1NTU2MDAsNzMzMjc2ODAwLDc0OTAwNTIwMCw3NjQ3MjY0MDAsNzgwNDUxMjAwLDc5NjE3NmUzLDgxMTkwMDgwMCw4MjgyMzA0MDAsODQ2Mzc0NDAwLDg1OTY5MDgwMCw4Nzc4Mzg0MDAsODkxMTQwNDAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDk1NDAzOTYwMCw5NzI3OTJlMyw5ODU0ODkyMDAsMTAwNDI0MTYwMCwxMDE3NTQzNjAwLDEwMzU2OTEyMDAsMTA0ODk5MzIwMCwxMDY3MTQwODAwLDEwODA0NDI4MDAsMTA5OTE5NTIwMCwxMTExODkyNDAwLDExMzA2NDQ4MDAsMTE0MzM0MmUzLDExNjIwOTQ0MDAsMTE3NDc5MTYwMCwxMTkzNTQ0ZTMsMTIwNjg0NmUzLDEyMjQ5OTM2MDAsMTIzODI5NTYwMCwxMjU2NDQzMjAwLDEyNjk3NDUyMDAsMTI4ODQ5NzYwMCwxMzAxMTk0ODAwLDEzMTk5NDcyMDAsMTMzMjY0NDQwMCwxMzUxMzk2ODAwLDEzNjQ2OTg4MDAsMTM4Mjg0NjQwMCwxMzk2MTQ4NDAwLDE0MTQyOTZlMywxNDI3NTk4ZTMsMTQ0NTc0NTYwMCwxNDU5MDQ3NjAwLDE0Nzc4ZTUsMTQ5MDQ5NzIwMCwxNTA5MjQ5NjAwLDE1MjE5NDY4MDAsMTU0MDY5OTIwMCwxNTU0MDAxMjAwLDE1NzIxNDg4MDAsMTU4NTQ1MDgwMCwxNjAzNTk4NDAwLDE2MTY5MDA0MDAsMTYzNTY1MjgwMCwxNjQ4MzVlNCwxNjY3MTAyNDAwLDE2Nzk3OTk2MDAsMTY5ODU1MmUzLDE3MTE4NTRlMywxNzMwMDAxNjAwLDE3NDMzMDM2MDAsMTc2MTQ1MTIwMCwxNzc0NzUzMjAwLDE3OTI5MDA4MDAsMTgwNjIwMjgwMCwxODI0OTU1MjAwLDE4Mzc2NTI0MDAsMTg1NjQwNDgwMCwxODY5MTAyZTMsMTg4Nzg1NDQwMCwxOTAxMTU2NDAwLDE5MTkzMDRlMywxOTMyNjA2ZTNdLG9mZnNldDpbNjI2NCw2MjY0LDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL0J1ZGFwZXN0Ijp7CnRpbWU6Wy0yNDk4MjU2ZTMsLTE2OTM3MDI4MDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTYwMDQ2NjQwMCwtMTU4NzI0MzYwMCwtMTU2OTcwOGUzLC0xNTU1MTg5MjAwLC05MDY3NzE2MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc3ODQ2NzYwMCwtNzYyNjQ5MjAwLC03NDk2ODU2MDAsLTczMzI2OTYwMCwtNzE3NjMxMjAwLC03MDE5MDI4MDAsLTY4NjE4MTYwMCwtNjcwNDUzMjAwLC02NTQxMjcyMDAsLTYzOTAwMzYwMCwtNDkyNjUyODAwLC00ODExNjE2MDAsLTQ2MTE5NmUzLC00NDk3MDEyMDAsLTQyODUzNjgwMCwtNDE4MjUxNjAwLC0zOTcwODcyMDAsLTM4NjgwMmUzLDMyMzgyNzIwMCwzMzg5NTA4MDAsMzU0NjcyZTMsMzcwNDAwNDAwLDM4NjEyMTYwMCw0MDE4NWU0LDQxNzU3MTIwMCw0MzMyOTk2MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbNDU4MCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDBdfSwiRXVyb3BlL0NvcGVuaGFnZW4iOnsKdGltZTpbLTI1MjQ1MjE2MDAsLTIzOTgyOTEyMDAsLTE2OTI0OTMyMDAsLTE2ODA0ODM2MDAsLTkzNTEwNzIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03NjkzODEyMDAsLTc0NzAwNzIwMCwtNzM2Mzc2NDAwLC03MTUyMTJlMywtNzA2NzQxMjAwLC02ODMxNTc2MDAsLTY3NTI5MTYwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMzAyMCwzMDIwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvRHVibGluIjp7CnRpbWU6Wy0yODIxNjUxMjAwLC0xNjkxOTY0ZTMsLTE2ODA0NjkyMDAsLTE2NjQxNDMyMDAsLTE2NTAxNDI4MDAsLTE2MzM5MDMyMDAsLTE2MTc0ODM2MDAsLTE2MDE4NDg4MDAsLTE1ODYwMzRlMywtMTU3MDM5OTIwMCwtMTU1MjE2NTIwMCwtMTUzODM0NDgwMCwtMTUyMjUzZTQsLTE1MDc1ZTUsLTE0OTA1NjJlMywtMTQ3MzYzMTIwMCwtMTQ2MDkyNjgwMCwtMTQ0Mjc4NjQwMCwtMTQyODg3MjQwMCwtMTQxMDczMmUzLC0xMzk2MjEzMjAwLC0xMzc5MjgyNDAwLC0xMzY0NzYzNjAwLC0xMzQ4NDM3NjAwLC0xMzMzMzE0ZTMsLTEzMTU3Nzg0MDAsLTEzMDEyNTk2MDAsLTEyODQzMjg4MDAsLTEyNjk4MWU0LC0xMjUzNDg0ZTMsLTEyMzgzNjA0MDAsLTEyMjE0Mjk2MDAsLTEyMDY5MTA4MDAsLTExODk5OGU0LC0xMTc1NDYxMjAwLC0xMTU5MTM1MjAwLC0xMTQzNDA2ODAwLC0xMTI2NDc2ZTMsLTExMTE5NTcyMDAsLTEwOTU2MzEyMDAsLTEwODA1MDc2MDAsLTEwNjM1NzY4MDAsLTEwNDkwNThlMywtMTAzMjEyNzIwMCwtMTAxNzYwODQwMCwtMTAwMTI4MjQwMCwtOTg2MTU4ODAwLC05NjkyMjhlMywtOTUwNDc1NjAwLC05NDIwMTJlMywtNzMzMzUyNDAwLC03MTk0NDU2MDAsLTY5OTQ4MzYwMCwtNjg0OTcyZTMsLTY2ODAzNGUzLC02NTQ3MzJlMywtNjM2NTg0NDAwLC02MjIwNzI4MDAsLTYwNTczOTYwMCwtNTkwNjIzMjAwLC01NzQyOWU0LC01NTg1Njg4MDAsLTU0MjIzNTYwMCwtNTI3MTE5MjAwLC01MTI2MDA0MDAsLTQ5NjI3NDQwMCwtNDgxMTUwODAwLC00NjQyMmU0LC00NDk3MDEyMDAsLTQzMjE2NTYwMCwtNDE3NjQ2ODAwLC00MDEzMjA4MDAsLTM4NjE5NzIwMCwtMzY5MjY2NDAwLC0zNTQ3NDc2MDAsLTMzNzgxNjgwMCwtMzIzMjk4ZTMsLTMwNjk3MmUzLC0yOTE4NDg0MDAsLTI3NjczMmUzLC0yNTc5Nzk2MDAsLTI0NTI4MjQwMCwtMjI2NTNlNCwtMjEzMjI4ZTMsLTE5NTA4MDQwMCwtMTgyMzgzMjAwLC0xNjM2MzA4MDAsLTE1MDkzMzYwMCwtMTMyMTgxMjAwLC0xMTk0ODRlMywtMTAwNzMxNjAwLC04ODAzNDQwMCwtNjg2NzcyMDAsLTU5MDA0ZTMsNTc3MjZlMyw2OTgxODQwMCw4OTE3NTYwMCwxMDEyNjhlMywxMjA2MjUyMDAsMTMyNzE3NjAwLDE1MjA3NDgwMCwxNjQxNjcyMDAsMTgzNTI0NDAwLDE5NjIyMTYwMCwyMTQ5NzRlMywyMjc2NzEyMDAsMjQ2NDIzNjAwLDI1OTEyMDgwMCwyNzg0NzhlMywyOTA1NzA0MDAsMzA5OTI3NjAwLDMyMjAyZTQsMzQxMzc3MjAwLDM1NDY3NTYwMCwzNzI4MjMyMDAsMzg2MTI1MjAwLDQwNDI3MjgwMCw0MTc1NzQ4MDAsNDM1NzIyNDAwLDQ0OTAyNDQwMCw0Njc3NzY4MDAsNDgxMDc4ODAwLDQ5OTIyNjQwMCw1MTI1Mjg0MDAsNTMwNjc2ZTMsNTQzOTc4ZTMsNTYyMTI1NjAwLDU3NTQyNzYwMCw1OTM1NzUyMDAsNjA2ODc3MjAwLDYyNTYyOTYwMCw2MzgzMjY4MDAsNjU3MDc5MjAwLDY3MDM4MTIwMCw2ODg1Mjg4MDAsNzAxODMwODAwLDcxOTk3ODQwMCw3MzMyODA0MDAsNzUxNDI4ZTMsNzY0NzNlNCw3ODI4Nzc2MDAsNzk2MTc5NjAwLDgxNDMyNzIwMCw4MjgyMzRlMyw4NDYzODE2MDAsODU5NjgzNjAwLDg3NzgzMTIwMCw4OTExMzMyMDAsOTA5MjgwODAwLDkyMjU4MjgwMCw5NDEzMzUyMDAsOTU0MDMyNDAwLDk3Mjc4NDgwMCw5ODU0ODJlMywxMDA0MjM0NDAwLDEwMTc1MzY0MDAsMTAzNTY4NGUzLDEwNDg5ODZlMywxMDY3MTMzNjAwLDEwODA0MzU2MDAsMTA5OTE4OGUzLDExMTE4ODUyMDAsMTEzMDYzNzYwMCwxMTQzMzM0ODAwLDExNjIwODcyMDAsMTE3NDc4NDQwMCwxMTkzNTM2ODAwLDEyMDY4Mzg4MDAsMTIyNDk4NjQwMCwxMjM4Mjg4NDAwLDEyNTY0MzZlMywxMjY5NzM4ZTMsMTI4ODQ5MDQwMCwxMzAxMTg3NjAwLDEzMTk5NGU0LDEzMzI2MzcyMDAsMTM1MTM4OTYwMCwxMzY0NjkxNjAwLDEzODI4MzkyMDAsMTM5NjE0MTIwMCwxNDE0Mjg4ODAwLDE0Mjc1OTA4MDAsMTQ0NTczODQwMCwxNDU5MDQwNDAwLDE0Nzc3OTI4MDAsMTQ5MDQ5ZTQsMTUwOTI0MjQwMCwxNTIxOTM5NjAwLDE1NDA2OTJlMywxNTUzOTk0ZTMsMTU3MjE0MTYwMCwxNTg1NDQzNjAwLDE2MDM1OTEyMDAsMTYxNjg5MzIwMCwxNjM1NjQ1NjAwLDE2NDgzNDI4MDAsMTY2NzA5NTIwMCwxNjc5NzkyNDAwLDE2OTg1NDQ4MDAsMTcxMTg0NjgwMCwxNzI5OTk0NDAwLDE3NDMyOTY0MDAsMTc2MTQ0NGUzLDE3NzQ3NDZlMywxNzkyODkzNjAwLDE4MDYxOTU2MDAsMTgyNDk0OGUzLDE4Mzc2NDUyMDAsMTg1NjM5NzYwMCwxODY5MDk0ODAwLDE4ODc4NDcyMDAsMTkwMTE0OTIwMCwxOTE5Mjk2ODAwLDE5MzI1OTg4MDBdLG9mZnNldDpbLTE1MjEsLTE1MjEsMjA3OSwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwXX0sIkV1cm9wZS9IZWxzaW5raSI6ewp0aW1lOlstMjg5MDI1MjgwMCwtMTUzNTkzMjgwMCwtODc1NjY0ZTMsLTg1OTc2MjgwMCwzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTgyZTMsNDMzMzEwNDAwLDQ0OTAzMTYwMCw0NjUzNjQ4MDAsNDgxMDg2ZTMsNDk2ODE0NDAwLDUxMjUzNTYwMCw1MjgyNjRlMyw1NDM5ODUyMDAsNTU5NzEzNjAwLDU3NTQzNDgwMCw1OTExNjMyMDAsNjA2ODg0NDAwLDYyMjYxMjgwMCw2MzgzMzRlMyw2NTQ2NjcyMDAsNjcwMzg4NDAwLDY4NjExNjgwMCw3MDE4MzhlMyw3MTc1NjY0MDAsNzMzMjg3NjAwLDc0OTAxNmUzLDc2NDczNzIwMCw3ODA0NjU2MDAsNzk2MTg2ODAwLDgxMTkxNTIwMCw4MjgyNDEyMDAsODQ2Mzg4ODAwLDg1OTY5MDgwMCw4Nzc4Mzg0MDAsODkxMTQwNDAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDk1NDAzOTYwMCw5NzI3OTJlMyw5ODU0ODkyMDAsMTAwNDI0MTYwMCwxMDE3NTQzNjAwLDEwMzU2OTEyMDAsMTA0ODk5MzIwMCwxMDY3MTQwODAwLDEwODA0NDI4MDAsMTA5OTE5NTIwMCwxMTExODkyNDAwLDExMzA2NDQ4MDAsMTE0MzM0MmUzLDExNjIwOTQ0MDAsMTE3NDc5MTYwMCwxMTkzNTQ0ZTMsMTIwNjg0NmUzLDEyMjQ5OTM2MDAsMTIzODI5NTYwMCwxMjU2NDQzMjAwLDEyNjk3NDUyMDAsMTI4ODQ5NzYwMCwxMzAxMTk0ODAwLDEzMTk5NDcyMDAsMTMzMjY0NDQwMCwxMzUxMzk2ODAwLDEzNjQ2OTg4MDAsMTM4Mjg0NjQwMCwxMzk2MTQ4NDAwLDE0MTQyOTZlMywxNDI3NTk4ZTMsMTQ0NTc0NTYwMCwxNDU5MDQ3NjAwLDE0Nzc4ZTUsMTQ5MDQ5NzIwMCwxNTA5MjQ5NjAwLDE1MjE5NDY4MDAsMTU0MDY5OTIwMCwxNTU0MDAxMjAwLDE1NzIxNDg4MDAsMTU4NTQ1MDgwMCwxNjAzNTk4NDAwLDE2MTY5MDA0MDAsMTYzNTY1MjgwMCwxNjQ4MzVlNCwxNjY3MTAyNDAwLDE2Nzk3OTk2MDAsMTY5ODU1MmUzLDE3MTE4NTRlMywxNzMwMDAxNjAwLDE3NDMzMDM2MDAsMTc2MTQ1MTIwMCwxNzc0NzUzMjAwLDE3OTI5MDA4MDAsMTgwNjIwMjgwMCwxODI0OTU1MjAwLDE4Mzc2NTI0MDAsMTg1NjQwNDgwMCwxODY5MTAyZTMsMTg4Nzg1NDQwMCwxOTAxMTU2NDAwLDE5MTkzMDRlMywxOTMyNjA2ZTNdLG9mZnNldDpbNTk4OSw1OTg5LDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL0lzdGFuYnVsIjp7dGltZTpbLTI4NDAxNDA4MDAsLTE4Njk4Njg4MDAsLTE2OTM2OTkyMDAsLTE2ODA0OGU0LC0xNTcwNDA2NDAwLC0xNTUyMTc2ZTMsLTE1MzgzNTJlMywtMTUyMjU0MDgwMCwtMTUwNzUwNzIwMCwtMTQ5MDU3MjgwMCwtMTQ0MDIwMTYwMCwtMTQyODAxOTIwMCwtMTQwOTcwMjQwMCwtMTM5NjQ4MzIwMCwtOTMxMDQ2NDAwLC05MjI2NjU2MDAsLTkxNzgyNzIwMCwtODkyNDI1NjAwLC04NzU4MzY4MDAsLTc2NDcyNjQwMCwtNzQ0MzM2ZTMsLTczMzc5NTIwMCwtNzE2NDI4ODAwLC03MDE5MTM2MDAsLTY4NDk3OTIwMCwtNjcwNDY0ZTMsLTY1NDEzNDQwMCwtNjM5MDE0NDAwLC02MjIwOGU0LC02MDY5NmU0LC01OTAwMjU2MDAsLTU3NTUxMDQwMCwtMjM1NjEyODAwLC0xOTQ4MzJlMywtMTc3NzI0ODAwLC0xNjU3MTUyMDAsMTA3OTE3MjAwLDEyMTIyNjQwMCwxMzM5MjcyMDAsMTUyNjc2ZTMsMTY0Njg1NjAwLDE4NDEyNTYwMCwxOTYyMjE2MDAsMjE1NTc1MjAwLDIyODg4MDgwMCwyNDU4MTUyMDAsMjYwMzMwNDAwLDI2NzkyNjQwMCw0Mjg0NjQ4MDAsNDMzOTA4ZTMsNDY4MTIyNDAwLDQ4MjgwNjgwMCw0OTY3MjA4MDAsNTEyNTI4NDAwLDUyODI1NjgwMCw1NDM5NzhlMyw1NTk3MDY0MDAsNTc1NDI3NjAwLDU5MTE1NmUzLDYwNjg3NzIwMCw2MjI2MDU2MDAsNjM4MzI2ODAwLDY1NDY2ZTQsNjcwMzgxMjAwLDY4NjEwOTYwMCw3MDE4MzA4MDAsNzE3NTU5MjAwLDczMzI4MDQwMCw3NDkwMDg4MDAsNzY0MTI1MjAwLDc4MDQ1ODQwMCw3OTYxNzk2MDAsODExOTA4ZTMsODI4MjM0ZTMsODQ2MzgxNjAwLDg1OTY4MzYwMCw4Nzc4MzEyMDAsODkxMTMzMjAwLDkwOTI4MDgwMCw5MjI1ODI4MDAsOTQxMzM1MjAwLDk1NDAzMjQwMCw5NzI3ODQ4MDAsOTg1NDgyZTMsMTAwNDIzNDQwMCwxMDE3NTM2NDAwLDEwMzU2ODRlMywxMDQ4OTg2ZTMsMTA2NzEzMzYwMCwxMDgwNDM1NjAwLDEwOTkxODhlMywxMTExODg1MjAwLDExMzA2Mzc2MDAsMTE0MzMzNDgwMCwxMTYyMDg3MjAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTI4MTIwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjIzNDgwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDY5NTUyMDAsMTQ1OTA0NzYwMCwxNDczMjA2NDAwLDE5MjUwMDI4MDBdLApvZmZzZXQ6WzY5NTIsNzAxNiw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsMTA4MDAsMTQ0MDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDEwODAwXX0sIkV1cm9wZS9MaXNib24iOnt0aW1lOlstMTgzMDM4NjIwNSwtMTY4OTU1NTYwMCwtMTY3Nzc5OGUzLC0xNjY3NDMzNjAwLC0xNjQ3NzM0NDAwLC0xNjM1ODk3NjAwLC0xNjE2MTk4NDAwLC0xNjA0MzYxNjAwLC0xNTg0NjYyNDAwLC0xNTcyNzM5MjAwLC0xNTUzMDRlNCwtMTU0MTIwMzIwMCwtMTUyMTUwNGUzLC0xNDQyNDUxNjAwLC0xNDI3NjczNjAwLC0xMzc5MjkzMjAwLC0xMzY0Nzc0NDAwLC0xMzQ4NDQ4NDAwLC0xMzMzMzI0ODAwLC0xMzE2Mzk0ZTMsLTEzMDEyNzA0MDAsLTEyODQzMzk2MDAsLTEyNjk4MjA4MDAsLTEyMjE0NDA0MDAsLTEyMDY5MjE2MDAsLTExOTEyMDA0MDAsLTExNzU0NzJlMywtMTEyNzY5NjQwMCwtMTExMTk2OGUzLC0xMDk2ODUxNjAwLC0xMDgwNTE4NDAwLC0xMDYzNTg3NjAwLC0xMDQ5MDY4ODAwLC0xMDMzMzQ3NjAwLC0xMDE3NjE5MjAwLC0xMDAyNTAyODAwLC05ODYxNjk2MDAsLTk2OTIzODgwMCwtOTUwNDg2NDAwLC05NDIwMjI4MDAsLTkyMjQ5MjgwMCwtOTA2OTQ0NDAwLC04OTExMjk2MDAsLTg3NzMwOTIwMCwtODczNjgwNDAwLC04NjRlNiwtODU3OTUyZTMsLTg0NTg1OTYwMCwtODQyODM1NjAwLC04MzEzNDA4MDAsLTgyNTg5NzYwMCwtODE0NDFlNCwtODEwNzgxMjAwLC03OTk4OTEyMDAsLTc5NDQ0OGUzLC03ODI5NjA0MDAsLTc3OTMzMTYwMCwtNzY4NDQxNjAwLC03NjI5OTg0MDAsLTc0OTA5MTYwMCwtNzMzMzYzMjAwLC03MTc2MzEyMDAsLTcwMTkwMjgwMCwtNjg2MTgxNjAwLC02NzA0NTMyMDAsLTY1NDczMmUzLC02MzkwMDM2MDAsLTYyMzI4MjQwMCwtNjA3NTU0ZTMsLTU5MTgzMjgwMCwtNTc1NDk5NjAwLC01NTk3Nzg0MDAsLTU0NDA1ZTQsLTUyODMyODgwMCwtNTEyNjAwNDAwLC00OTY4NzkyMDAsLTQ4MTE1MDgwMCwtNDY1NDI5NjAwLC00NDk3MDEyMDAsLTQzMzk4ZTQsLTQxNzY0NjgwMCwtNDAxOTI1NjAwLC0zODYxOTcyMDAsLTM3MDQ3NmUzLC0zNTQ3NDc2MDAsLTMzOTAyNjQwMCwtMzIzMjk4ZTMsLTMwNzU3NjgwMCwtMjkxODQ4NDAwLC0yNzYxMjcyMDAsLTI2MDM5ODgwMCwtMjQ0Njc3NjAwLC0yMjgzNDQ0MDAsLTIxMjYyMzIwMCwtMTk2ODk0ODAwLC0xODExNzM2MDAsLTE2NTQ0NTIwMCwtMTQ5NzI0ZTMsLTEzMzk5NTYwMCwtMTE4Mjc0NDAwLC0xMDI1NDZlMywyMTI1NDc2MDAsMjI4MjY4ODAwLDI0Mzk5NzIwMCwyNjAzMjY4MDAsMjc2MDU1MjAwLDI5MTc3NjQwMCwzMDc1MDQ4MDAsMzIzODMwODAwLDMzODk1NDQwMCwzNTQ2NzJlMywzNzA0MDA0MDAsMzg2MTIxNjAwLDQwMTg1ZTQsNDE3NTcxMjAwLDQzMzI5OTYwMCw0NDkwMjA4MDAsNDY1MzU0ZTMsNDgxMDc1MjAwLDQ5NjgwMzYwMCw1MTI1Mjg0MDAsNTI4MjU2ODAwLDU0Mzk3OGUzLDU1OTcwNjQwMCw1NzU0Mjc2MDAsNTkxMTU2ZTMsNjA2ODc3MjAwLDYyMjYwNTYwMCw2MzgzMjY4MDAsNjU0NjZlNCw2NzAzODEyMDAsNjg2MTA5NjAwLDcwMTgzMDgwMCw3MTc1NTkyMDAsNzMzMjg0ZTMsNzQ5MDEyNDAwLDc2NDczMzYwMCw3ODA0NjJlMyw3OTYxODMyMDAsODExOTExNjAwLDgyODIzNzYwMCw4NDYzODE2MDAsODU5NjgzNjAwLDg3NzgzMTIwMCw4OTExMzMyMDAsOTA5MjgwODAwLDkyMjU4MjgwMCw5NDEzMzUyMDAsOTU0MDMyNDAwLDk3Mjc4NDgwMCw5ODU0ODJlMywxMDA0MjM0NDAwLDEwMTc1MzY0MDAsMTAzNTY4NGUzLDEwNDg5ODZlMywxMDY3MTMzNjAwLDEwODA0MzU2MDAsMTA5OTE4OGUzLDExMTE4ODUyMDAsMTEzMDYzNzYwMCwxMTQzMzM0ODAwLDExNjIwODcyMDAsMTE3NDc4NDQwMCwxMTkzNTM2ODAwLDEyMDY4Mzg4MDAsMTIyNDk4NjQwMCwxMjM4Mjg4NDAwLDEyNTY0MzZlMywxMjY5NzM4ZTMsMTI4ODQ5MDQwMCwxMzAxMTg3NjAwLDEzMTk5NGU0LDEzMzI2MzcyMDAsMTM1MTM4OTYwMCwxMzY0NjkxNjAwLDEzODI4MzkyMDAsMTM5NjE0MTIwMCwxNDE0Mjg4ODAwLDE0Mjc1OTA4MDAsMTQ0NTczODQwMCwxNDU5MDQwNDAwLDE0Nzc3OTI4MDAsMTQ5MDQ5ZTQsMTUwOTI0MjQwMCwxNTIxOTM5NjAwLDE1NDA2OTJlMywxNTUzOTk0ZTMsMTU3MjE0MTYwMCwxNTg1NDQzNjAwLDE2MDM1OTEyMDAsMTYxNjg5MzIwMCwxNjM1NjQ1NjAwLDE2NDgzNDI4MDAsMTY2NzA5NTIwMCwxNjc5NzkyNDAwLDE2OTg1NDQ4MDAsMTcxMTg0NjgwMCwxNzI5OTk0NDAwLDE3NDMyOTY0MDAsMTc2MTQ0NGUzLDE3NzQ3NDZlMywxNzkyODkzNjAwLDE4MDYxOTU2MDAsMTgyNDk0OGUzLDE4Mzc2NDUyMDAsMTg1NjM5NzYwMCwxODY5MDk0ODAwLDE4ODc4NDcyMDAsMTkwMTE0OTIwMCwxOTE5Mjk2ODAwLDE5MzI1OTg4MDBdLApvZmZzZXQ6Wy0yMjA1LDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCwwLDM2MDAsNzIwMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwXX0sIkV1cm9wZS9ManVibGphbmEiOnt0aW1lOlstMjcxMzkxMDQwMCwtOTA1ODIxMjAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTY3N2U0LC03ODEwNDg4MDAsLTc2NjYxNjQwMCw0MTc1Nzg0MDAsNDMzMzA2ODAwLDQ0OTAyOGUzLDQ2NTM2MTIwMCw0ODEwODI0MDAsNDk2ODEwODAwLDUxMjUzMmUzLDUyODI2MDQwMCw1NDM5ODE2MDAsNTU5NzFlNCw1NzU0MzEyMDAsNTkxMTU5NjAwLDYwNjg4MDgwMCw2MjI2MDkyMDAsNjM4MzMwNDAwLDY1NDY2MzYwMCw2NzAzODQ4MDAsNjg2MTEzMjAwLDcwMTgzNDQwMCw3MTc1NjI4MDAsNzMzMjg0ZTMsNzQ5MDEyNDAwLDc2NDczMzYwMCw3ODA0NjJlMyw3OTYxODMyMDAsODExOTExNjAwLDgyODIzNzYwMCw4NDYzODUyMDAsODU5Njg3MjAwLDg3NzgzNDgwMCw4OTExMzY4MDAsOTA5Mjg0NDAwLDkyMjU4NjQwMCw5NDEzMzg4MDAsOTU0MDM2ZTMsOTcyNzg4NDAwLDk4NTQ4NTYwMCwxMDA0MjM4ZTMsMTAxNzU0ZTQsMTAzNTY4NzYwMCwxMDQ4OTg5NjAwLDEwNjcxMzcyMDAsMTA4MDQzOTIwMCwxMDk5MTkxNjAwLDExMTE4ODg4MDAsMTEzMDY0MTIwMCwxMTQzMzM4NDAwLDExNjIwOTA4MDAsMTE3NDc4OGUzLDExOTM1NDA0MDAsMTIwNjg0MjQwMCwxMjI0OTllNCwxMjM4MjkyZTMsMTI1NjQzOTYwMCwxMjY5NzQxNjAwLDEyODg0OTRlMywxMzAxMTkxMjAwLDEzMTk5NDM2MDAsMTMzMjY0MDgwMCwxMzUxMzkzMjAwLDEzNjQ2OTUyMDAsMTM4Mjg0MjgwMCwxMzk2MTQ0ODAwLDE0MTQyOTI0MDAsMTQyNzU5NDQwMCwxNDQ1NzQyZTMsMTQ1OTA0NGUzLDE0Nzc3OTY0MDAsMTQ5MDQ5MzYwMCwxNTA5MjQ2ZTMsMTUyMTk0MzIwMCwxNTQwNjk1NjAwLDE1NTM5OTc2MDAsMTU3MjE0NTIwMCwxNTg1NDQ3MjAwLDE2MDM1OTQ4MDAsMTYxNjg5NjgwMCwxNjM1NjQ5MjAwLDE2NDgzNDY0MDAsMTY2NzA5ODgwMCwxNjc5Nzk2ZTMsMTY5ODU0ODQwMCwxNzExODUwNDAwLDE3Mjk5OThlMywxNzQzM2U1LDE3NjE0NDc2MDAsMTc3NDc0OTYwMCwxNzkyODk3MjAwLDE4MDYxOTkyMDAsMTgyNDk1MTYwMCwxODM3NjQ4ODAwLDE4NTY0MDEyMDAsMTg2OTA5ODQwMCwxODg3ODUwODAwLDE5MDExNTI4MDAsMTkxOTMwMDQwMCwxOTMyNjAyNDAwXSxvZmZzZXQ6WzM0ODQsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDBdfSwiRXVyb3BlL0xvbmRvbiI6ewp0aW1lOlstMzg1MjY2MjQwMCwtMTY5MTk2NGUzLC0xNjgwNDY5MjAwLC0xNjY0MTQzMjAwLC0xNjUwMTQyODAwLC0xNjMzOTAzMjAwLC0xNjE3NDgzNjAwLC0xNjAxODQ4ODAwLC0xNTg2MDM0ZTMsLTE1NzAzOTkyMDAsLTE1NTIxNjUyMDAsLTE1MzgzNDQ4MDAsLTE1MjI1M2U0LC0xNTA3NWU1LC0xNDkwNTYyZTMsLTE0NzM2MzEyMDAsLTE0NjA5MjY4MDAsLTE0NDI3ODY0MDAsLTE0Mjg4NzI0MDAsLTE0MTA3MzJlMywtMTM5NjIxMzIwMCwtMTM3OTI4MjQwMCwtMTM2NDc2MzYwMCwtMTM0ODQzNzYwMCwtMTMzMzMxNGUzLC0xMzE1Nzc4NDAwLC0xMzAxMjU5NjAwLC0xMjg0MzI4ODAwLC0xMjY5ODFlNCwtMTI1MzQ4NGUzLC0xMjM4MzYwNDAwLC0xMjIxNDI5NjAwLC0xMjA2OTEwODAwLC0xMTg5OThlNCwtMTE3NTQ2MTIwMCwtMTE1OTEzNTIwMCwtMTE0MzQwNjgwMCwtMTEyNjQ3NmUzLC0xMTExOTU3MjAwLC0xMDk1NjMxMjAwLC0xMDgwNTA3NjAwLC0xMDYzNTc2ODAwLC0xMDQ5MDU4ZTMsLTEwMzIxMjcyMDAsLTEwMTc2MDg0MDAsLTEwMDEyODI0MDAsLTk4NjE1ODgwMCwtOTY5MjI4ZTMsLTk1MDQ3NTYwMCwtOTQyMDEyZTMsLTkwNDUxNDQwMCwtODk2MDQzNjAwLC04NzU0ODRlMywtODY0NTk0ZTMsLTg0NDAzNDQwMCwtODMyNTM5NjAwLC04MTI1ODQ4MDAsLTc5ODA2NmUzLC03ODEwNDg4MDAsLTc3MjA1OTYwMCwtNzY0ODAyZTMsLTc0ODQ3NmUzLC03MzMzNTI0MDAsLTcxOTQ0NTYwMCwtNzE3MDI2NDAwLC03MDY3NDEyMDAsLTY5OTQ4MzYwMCwtNjg3OTk2ZTMsLTY2ODAzNGUzLC02NTQ3MzJlMywtNjM2NTg0NDAwLC02MjIwNzI4MDAsLTYwNTczOTYwMCwtNTkwNjIzMjAwLC01NzQyOWU0LC01NTg1Njg4MDAsLTU0MjIzNTYwMCwtNTI3MTE5MjAwLC01MTI2MDA0MDAsLTQ5NjI3NDQwMCwtNDgxMTUwODAwLC00NjQyMmU0LC00NDk3MDEyMDAsLTQzMjE2NTYwMCwtNDE3NjQ2ODAwLC00MDEzMjA4MDAsLTM4NjE5NzIwMCwtMzY5MjY2NDAwLC0zNTQ3NDc2MDAsLTMzNzgxNjgwMCwtMzIzMjk4ZTMsLTMwNjk3MmUzLC0yOTE4NDg0MDAsLTI3NjczMmUzLC0yNTc5Nzk2MDAsLTI0NTI4MjQwMCwtMjI2NTNlNCwtMjEzMjI4ZTMsLTE5NTA4MDQwMCwtMTgyMzgzMjAwLC0xNjM2MzA4MDAsLTE1MDkzMzYwMCwtMTMyMTgxMjAwLC0xMTk0ODRlMywtMTAwNzMxNjAwLC04ODAzNDQwMCwtNjg2NzcyMDAsLTU5MDA0ZTMsLTM3MjM4NDAwLDU3NzI2ZTMsNjk4MTg0MDAsODkxNzU2MDAsMTAxMjY4ZTMsMTIwNjI1MjAwLDEzMjcxNzYwMCwxNTIwNzQ4MDAsMTY0MTY3MjAwLDE4MzUyNDQwMCwxOTYyMjE2MDAsMjE0OTc0ZTMsMjI3NjcxMjAwLDI0NjQyMzYwMCwyNTkxMjA4MDAsMjc4NDc4ZTMsMjkwNTcwNDAwLDMwOTkyNzYwMCwzMjIwMmU0LDM0MTM3NzIwMCwzNTQ2NzU2MDAsMzcyODIzMjAwLDM4NjEyNTIwMCw0MDQyNzI4MDAsNDE3NTc0ODAwLDQzNTcyMjQwMCw0NDkwMjQ0MDAsNDY3Nzc2ODAwLDQ4MTA3ODgwMCw0OTkyMjY0MDAsNTEyNTI4NDAwLDUzMDY3NmUzLDU0Mzk3OGUzLDU2MjEyNTYwMCw1NzU0Mjc2MDAsNTkzNTc1MjAwLDYwNjg3NzIwMCw2MjU2Mjk2MDAsNjM4MzI2ODAwLDY1NzA3OTIwMCw2NzAzODEyMDAsNjg4NTI4ODAwLDcwMTgzMDgwMCw3MTk5Nzg0MDAsNzMzMjgwNDAwLDc1MTQyOGUzLDc2NDczZTQsNzgyODc3NjAwLDc5NjE3OTYwMCw4MTQzMjcyMDAsODI4MjM0ZTMsODQ2MzgxNjAwLDg1OTY4MzYwMCw4Nzc4MzEyMDAsODkxMTMzMjAwLDkwOTI4MDgwMCw5MjI1ODI4MDAsOTQxMzM1MjAwLDk1NDAzMjQwMCw5NzI3ODQ4MDAsOTg1NDgyZTMsMTAwNDIzNDQwMCwxMDE3NTM2NDAwLDEwMzU2ODRlMywxMDQ4OTg2ZTMsMTA2NzEzMzYwMCwxMDgwNDM1NjAwLDEwOTkxODhlMywxMTExODg1MjAwLDExMzA2Mzc2MDAsMTE0MzMzNDgwMCwxMTYyMDg3MjAwLDExNzQ3ODQ0MDAsMTE5MzUzNjgwMCwxMjA2ODM4ODAwLDEyMjQ5ODY0MDAsMTIzODI4ODQwMCwxMjU2NDM2ZTMsMTI2OTczOGUzLDEyODg0OTA0MDAsMTMwMTE4NzYwMCwxMzE5OTRlNCwxMzMyNjM3MjAwLDEzNTEzODk2MDAsMTM2NDY5MTYwMCwxMzgyODM5MjAwLDEzOTYxNDEyMDAsMTQxNDI4ODgwMCwxNDI3NTkwODAwLDE0NDU3Mzg0MDAsMTQ1OTA0MDQwMCwxNDc3NzkyODAwLDE0OTA0OWU0LDE1MDkyNDI0MDAsMTUyMTkzOTYwMCwxNTQwNjkyZTMsMTU1Mzk5NGUzLDE1NzIxNDE2MDAsMTU4NTQ0MzYwMCwxNjAzNTkxMjAwLDE2MTY4OTMyMDAsMTYzNTY0NTYwMCwxNjQ4MzQyODAwLDE2NjcwOTUyMDAsMTY3OTc5MjQwMCwxNjk4NTQ0ODAwLDE3MTE4NDY4MDAsMTcyOTk5NDQwMCwxNzQzMjk2NDAwLDE3NjE0NDRlMywxNzc0NzQ2ZTMsMTc5Mjg5MzYwMCwxODA2MTk1NjAwLDE4MjQ5NDhlMywxODM3NjQ1MjAwLDE4NTYzOTc2MDAsMTg2OTA5NDgwMCwxODg3ODQ3MjAwLDE5MDExNDkyMDAsMTkxOTI5NjgwMCwxOTMyNTk4ODAwXSwKb2Zmc2V0OlstNzUsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDBdfSwiRXVyb3BlL0x1eGVtYm91cmciOnt0aW1lOlstMjA2OTcxMmUzLC0xNjkyNDkzMjAwLC0xNjgwNDc2NDAwLC0xNjYyMzM5NjAwLC0xNjUwMTVlNCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTYxMjY1NmUzLC0xNjA0Mjc4ODAwLC0xNTg1NTE1NjAwLC0xNTc0MDM4ODAwLC0xNTUyMjU1MjAwLC0xNTM5OTk3MjAwLC0xNTIwNTQ2NDAwLC0xNTA3NTEwODAwLC0xNDkwNTY5MjAwLC0xNDczNjQyZTMsLTE0NTkxMTZlMywtMTQ0NDAwNjgwMCwtMTQyNzY3ZTQsLTE0MTE4NjZlMywtMTM5NjIyMDQwMCwtMTM3OTI5MzIwMCwtMTM2NDc3MDgwMCwtMTM0ODQ0ODQwMCwtMTMzMzMyMTIwMCwtMTMxNjM5NGUzLC0xMzAxMjY2ODAwLC0xMjg0MzM5NjAwLC0xMjY5ODFlNCwtMTI1MzQ4NGUzLC0xMjM4MzYwNDAwLC0xMjIxNDI5NjAwLC0xMjA2OTEwODAwLC0xMTkxMTg5NjAwLC0xMTc1NDYxMjAwLC0xMTYwMzQ0ODAwLC0xMTQzNDA2ODAwLC0xMTI3Njg1NjAwLC0xMTExOTU3MjAwLC0xMDk2ODQwODAwLC0xMDgwNTA3NjAwLC0xMDYzNTc2ODAwLC0xMDQ5MDU4ZTMsLTEwMzMzMzY4MDAsLTEwMTc2MDg0MDAsLTEwMDI0OTJlMywtOTg2MTU4ODAwLC05NjkyMjhlMywtOTUwNDc1NjAwLC05NDIwMTJlMywtOTM1MTgyODAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTc5Nzk2MDAsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLC03NDU0NTJlMywtNzMzMjY2ZTMsMjI4ODgwODAwLDI0NDAwNDQwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbMTQ3NiwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9NYWRyaWQiOnt0aW1lOlstMjE3NzQ1MzY4NCwtMTYzMTkyNjgwMCwtMTYxNjg4NmUzLC0xNjAxMTY4NDAwLC0xNTg1MzVlNCwtMTQ0MjQ1MTYwMCwtMTQyNzY3ZTQsLTEzNzkyOTMyMDAsLTEzNjQ3NzA4MDAsLTEzNDg0NDg0MDAsLTEzMzMzMjEyMDAsLTEzMTYzOTA0MDAsLTEzMDEyNjY4MDAsLTEyODQzMzk2MDAsLTEyNjk4MTcyMDAsLTEwMjY5NTRlMywtMTAxNzYxNTYwMCwtMTAwMTg5OGUzLC05OTk0Nzg4MDAsLTk4NjA4MzIwMCwtOTU0MTExNjAwLC05NDAyMDg0MDAsLTg3MzA3NTYwMCwtODYyNjE0ZTMsLTg0MjgzNTYwMCwtODI4MzEzMjAwLC04MTEzODZlMywtNzk2ODYzNjAwLC03Nzk5MzY0MDAsLTc2NTQxNGUzLC03NDg0ODY4MDAsLTczMzk2NDQwMCwtNjUyMzIzNjAwLC02MzkwMTA4MDAsMTM1MTI2ZTMsMTUwMjUzMjAwLDE2NjU3NTYwMCwxODE3MDI4MDAsMTk2ODE1NjAwLDIxMjU0NzYwMCwyMjg4N2U0LDI0Mzk5NzIwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbLTg4NCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9NYWx0YSI6e3RpbWU6Wy0yNDAzNDc1MjAwLC0xNjkwNzYxNjAwLC0xNjgwNDhlNCwtMTY2NDc1NTIwMCwtMTY0ODk0NGUzLC0xNjM1MTJlNCwtMTYxNjg4OTYwMCwtMTYwNDI3NTIwMCwtMTU4NTUyNjQwMCwtMTU3MTAxMTIwMCwtMTU1NTI4NjQwMCwtOTMyNDI4ODAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNTg0ODAwLC03OTgwNjZlMywtNzgxMDQ4ODAwLC03NjY3MWU0LC03NTA4OTUyMDAsLTczMzM1MjQwMCwtNzE5NDUyODAwLC03MDE5MWU0LC02ODkyMDU2MDAsLTY3MDQ1MzIwMCwtMTE0MDQ4ZTMsLTEwMzE2MTYwMCwtODE5OTM2MDAsLTcxNzA4NDAwLC01MDU0NGUzLC00MDI1ODgwMCwtMTg0ODk2MDAsLTgyMDQ0MDAsMTI5NmU0LDIzMjQ1MjAwLDQzODA0ODAwLDU0Njk0ODAwLDc1ODU5MjAwLDg2NzQ5MjAwLDEwMjM4NGUzLDExODExMjQwMCwxMzU3MzQ0MDAsMTQ4NTI1MjAwLDE2NzE5MTIwMCwxODA0OTY4MDAsMTk4NjQwODAwLDIxMTk0NjQwMCwyMzAwOTA0MDAsMjQzMzk2ZTMsMjYxNTRlNCwyNzQ4NDU2MDAsMjkyOTg5NjAwLDMwNjI5NTIwMCwzMjMzMTZlMywzMzgzNDk2MDAsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLApvZmZzZXQ6WzM0ODQsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9Nb3Njb3ciOnt0aW1lOlstMjg0MDE0MDgwMCwtMTY4ODI1NmUzLC0xNjU2ODFlNCwtMTY0MTM0MDgwMCwtMTYyNzk1NmUzLC0xNjE4NzAwNDAwLC0xNTk2NDE2NDAwLC0xNTkzODA0NTIxLC0xNTg5ODQ2NDAwLC0xNTQyNDE2NDAwLC0xNTM5NDc4ODAwLC0xNTI1MzA1NjAwLC0xNTIyNzEzNjAwLC0xNDkxMTc3NjAwLC0xMjQ3NTI5NjAwLDM1NDkzMTIwMCwzNzA3NDI0MDAsMzg2NDY3MjAwLDQwMjI3ODQwMCw0MTgwMDMyMDAsNDMzODE0NDAwLDQ0OTYyNTYwMCw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw2OTU3ODY0MDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTQxNDI4ODgwMCwxOTI1MDAyODAwXSxvZmZzZXQ6WzkwMTcsOTAxNyw5MDc5LDEyNjc5LDkwNzksMTYyNzksMTI2NzksMTYyNzksMTQ0MDAsMTA4MDAsMTQ0MDAsMThlMywxNDQwMCwxMDgwMCw3MjAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDEwODAwLDcyMDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDBdfSwiRXVyb3BlL09zbG8iOnsKdGltZTpbLTIzNjY3NTUyMDAsLTE2OTE4ODEyMDAsLTE2ODA1NjY0MDAsLTkyNzUwNzYwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03NjUzMjA0MDAsLTM0MDg0MDgwMCwtMzI0NTA3NjAwLC0zMDg3ODY0MDAsLTI5MzA1OGUzLC0yNzczMzY4MDAsLTI2MTYwODQwMCwtMjQ1ODg3MjAwLC0yMzAxNTg4MDAsLTIxNDQzNzYwMCwtMTk4NzA5MjAwLC0xODI5ODhlMywtMTY2NjU0ODAwLC0xNDc5MDk2MDAsLTEzNTIwNTIwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMjU4MCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9QYXJpcyI6ewp0aW1lOlstMjQ4NjU5MmUzLC0xODU1OTU4NDAwLC0xNjg5ODE0ODAwLC0xNjgwMzkzNjAwLC0xNjY1MzYzNjAwLC0xNjQ4MzM5MjAwLC0xNjM1MTIzNjAwLC0xNjE2ODg5NjAwLC0xNjA0Mjc4ODAwLC0xNTg1NDRlNCwtMTU3NDAzODgwMCwtMTU1MjI2MjQwMCwtMTUzOTk5NzIwMCwtMTUyMDU1MzYwMCwtMTUwNzUxMDgwMCwtMTQ5MDU3MjgwMCwtMTQ3MDYxOGUzLC0xNDU5MTIzMjAwLC0xNDQ0MDA2ODAwLC0xNDI3NjczNjAwLC0xNDExOTUyNDAwLC0xMzk2MjI0ZTMsLTEzNzkyOTMyMDAsLTEzNjQ3NzQ0MDAsLTEzNDg0NDg0MDAsLTEzMzMzMjQ4MDAsLTEzMTYzOTRlMywtMTMwMTI3MDQwMCwtMTI4NDMzOTYwMCwtMTI2OTgyMDgwMCwtMTI1MzQ5NDgwMCwtMTIzODM3MTIwMCwtMTIyMTQ0MDQwMCwtMTIwNjkyMTYwMCwtMTE5MTIwMDQwMCwtMTE3NTQ3MmUzLC0xMTYwMzU1NjAwLC0xMTQzNDE3NjAwLC0xMTI3Njk2NDAwLC0xMTExOTY4ZTMsLTEwOTY4NTE2MDAsLTEwODA1MTg0MDAsLTEwNjM1ODc2MDAsLTEwNDkwNjg4MDAsLTEwMzMzNDc2MDAsLTEwMTc2MTkyMDAsLTEwMDI1MDI4MDAsLTk4NjE2OTYwMCwtOTY5MjM4ODAwLC05NTA0ODY0MDAsLTk0MjAxMmUzLC05MzI0MzI0MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTgwMDA2NGUzLC03OTYyNTg4MDAsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLDE5NjgyMjgwMCwyMTI1NDc2MDAsMjI4ODgwODAwLDI0NDAwNDQwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0Ols1NjEsNTYxLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDBdfSwiRXVyb3BlL1ByYWd1ZSI6ewp0aW1lOlstMzc4NjgyNTYwMCwtMjQ2OTM5ODQwMCwtMTY5MzcwMjgwMCwtMTY4MDQ3NjQwMCwtMTY2MzQ1MmUzLC0xNjUwMTQyODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC05Mzg5MDE2MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc4MTA0ODgwMCwtNzY1MzIwNDAwLC03NDY1NzUyMDAsLTczMzM1MjQwMCwtNzI4NTE0ZTMsLTcyMTI2ZTQsLTcxNjQyMTYwMCwtNzAxOTAyODAwLC02ODQ5NzJlMywtNjcwNDUzMjAwLC02NTQyMTM2MDAsLTYzOTAwMzYwMCwyOTE3OGU0LDMwNzUwODQwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMzQ2NCwzNDY0LDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCwwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9SaWdhIjp7CnRpbWU6Wy0yODQwMTQwODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC0xNjAxNjc2ZTMsLTE1OTcyNjZlMywtMTM3NzMwMjQwMCwtOTI4MDIyNDAwLC04OTk1MTA0MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc5NTgzMDQwMCwzNTQ5MzEyMDAsMzcwNzQyNDAwLDM4NjQ2NzIwMCw0MDIyNzg0MDAsNDE4MDAzMjAwLDQzMzgxNDQwMCw0NDk2MjU2MDAsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0Mzk2NmUzLDg1OTY5MDgwMCw4Nzc4Mzg0MDAsODkxMTQwNDAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDk4NTQ4OTIwMCwxMDA0MjQxNjAwLDEwMTc1NDM2MDAsMTAzNTY5MTIwMCwxMDQ4OTkzMjAwLDEwNjcxNDA4MDAsMTA4MDQ0MjgwMCwxMDk5MTk1MjAwLDExMTE4OTI0MDAsMTEzMDY0NDgwMCwxMTQzMzQyZTMsMTE2MjA5NDQwMCwxMTc0NzkxNjAwLDExOTM1NDRlMywxMjA2ODQ2ZTMsMTIyNDk5MzYwMCwxMjM4Mjk1NjAwLDEyNTY0NDMyMDAsMTI2OTc0NTIwMCwxMjg4NDk3NjAwLDEzMDExOTQ4MDAsMTMxOTk0NzIwMCwxMzMyNjQ0NDAwLDEzNTEzOTY4MDAsMTM2NDY5ODgwMCwxMzgyODQ2NDAwLDEzOTYxNDg0MDAsMTQxNDI5NmUzLDE0Mjc1OThlMywxNDQ1NzQ1NjAwLDE0NTkwNDc2MDAsMTQ3NzhlNSwxNDkwNDk3MjAwLDE1MDkyNDk2MDAsMTUyMTk0NjgwMCwxNTQwNjk5MjAwLDE1NTQwMDEyMDAsMTU3MjE0ODgwMCwxNTg1NDUwODAwLDE2MDM1OTg0MDAsMTYxNjkwMDQwMCwxNjM1NjUyODAwLDE2NDgzNWU0LDE2NjcxMDI0MDAsMTY3OTc5OTYwMCwxNjk4NTUyZTMsMTcxMTg1NGUzLDE3MzAwMDE2MDAsMTc0MzMwMzYwMCwxNzYxNDUxMjAwLDE3NzQ3NTMyMDAsMTc5MjkwMDgwMCwxODA2MjAyODAwLDE4MjQ5NTUyMDAsMTgzNzY1MjQwMCwxODU2NDA0ODAwLDE4NjkxMDJlMywxODg3ODU0NDAwLDE5MDExNTY0MDAsMTkxOTMwNGUzLDE5MzI2MDZlM10sb2Zmc2V0Ols1Nzk0LDU3OTQsOTM5NCw1Nzk0LDkzOTQsNTc5NCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJFdXJvcGUvUm9tZSI6ewp0aW1lOlstMzI1MjA5NmUzLC0yNDAzNTYyMjA0LC0xNjkwNzYxNjAwLC0xNjgwNDhlNCwtMTY2NDc1NTIwMCwtMTY0ODk0NGUzLC0xNjM1MTJlNCwtMTYxNjg4OTYwMCwtMTYwNDI3NTIwMCwtMTU4NTUyNjQwMCwtMTU3MTAxMTIwMCwtMTU1NTI4NjQwMCwtOTMyNDI4ODAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTgwNjZlMywtNzgxMDQ4ODAwLC03NjY3MWU0LC03NTA4OTUyMDAsLTczMzM1MjQwMCwtNzE5NDUyODAwLC03MDE5MWU0LC02ODkyMDU2MDAsLTY3MDQ1MzIwMCwtMTE0MDQ4ZTMsLTEwMzE2MTYwMCwtODE5OTM2MDAsLTcxNzA4NDAwLC01MDU0NGUzLC00MDI1ODgwMCwtMTg0ODk2MDAsLTgyMDQ0MDAsMTI5NmU0LDIzMjQ1MjAwLDQzODA0ODAwLDU0Njk0ODAwLDc1ODU5MjAwLDg2NzQ5MjAwLDEwNzkxMzYwMCwxMTgxOTg4MDAsMTM4NzU4NDAwLDE0OTY0ODQwMCwxNzA4MTI4MDAsMTgxMDk4ZTMsMjAyMjYyNDAwLDIxMjU0NzYwMCwyMzMxMDcyMDAsMjQzOTk3MjAwLDI2NTE2MTYwMCwyNzYwNTE2MDAsMjk2NjExMjAwLDMwNzUwMTIwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMjk5NiwyOTk2LDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvU29maWEiOnsKdGltZTpbLTI4NDAxNDA4MDAsLTIzNjk1MmU0LC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTY3N2U0LC03ODEwNDUyMDAsMjkxNzY5MjAwLDMwNzU4NzYwMCwzMjM4MjM2MDAsMzM5MDM3MjAwLDM1NTI3MzIwMCwzNzA0MDRlMywzODY3MjI4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM3NzYwMCw2ODYxMDI0MDAsNzAxODI3MjAwLDcxNzU1MmUzLDczMzI3NjgwMCw3NDkwMDE2MDAsNzY0NzI2NDAwLDc4MDQ1MTIwMCw3OTYxNzZlMyw4MTE5MDA4MDAsODI4MjMwNDAwLDg0NjM3NDQwMCw4NTk2OTA4MDAsODc3ODM4NDAwLDg5MTE0MDQwMCw5MDkyODhlMyw5MjI1OWU0LDk0MTM0MjQwMCw5NTQwMzk2MDAsOTcyNzkyZTMsOTg1NDg5MjAwLDEwMDQyNDE2MDAsMTAxNzU0MzYwMCwxMDM1NjkxMjAwLDEwNDg5OTMyMDAsMTA2NzE0MDgwMCwxMDgwNDQyODAwLDEwOTkxOTUyMDAsMTExMTg5MjQwMCwxMTMwNjQ0ODAwLDExNDMzNDJlMywxMTYyMDk0NDAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTE5NDgwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjE0ODQwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDU3NDU2MDAsMTQ1OTA0NzYwMCwxNDc3OGU1LDE0OTA0OTcyMDAsMTUwOTI0OTYwMCwxNTIxOTQ2ODAwLDE1NDA2OTkyMDAsMTU1NDAwMTIwMCwxNTcyMTQ4ODAwLDE1ODU0NTA4MDAsMTYwMzU5ODQwMCwxNjE2OTAwNDAwLDE2MzU2NTI4MDAsMTY0ODM1ZTQsMTY2NzEwMjQwMCwxNjc5Nzk5NjAwLDE2OTg1NTJlMywxNzExODU0ZTMsMTczMDAwMTYwMCwxNzQzMzAzNjAwLDE3NjE0NTEyMDAsMTc3NDc1MzIwMCwxNzkyOTAwODAwLDE4MDYyMDI4MDAsMTgyNDk1NTIwMCwxODM3NjUyNDAwLDE4NTY0MDQ4MDAsMTg2OTEwMmUzLDE4ODc4NTQ0MDAsMTkwMTE1NjQwMCwxOTE5MzA0ZTMsMTkzMjYwNmUzXSxvZmZzZXQ6WzU1OTYsNzAxNiw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL1N0b2NraG9sbSI6e3RpbWU6Wy0yODcxNjc2ODAwLC0yMjA4OTg4ODAwLC0xNjkyNDkzMjAwLC0xNjgwNDc2NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbNDMzMiwzNjE0LDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9UYWxsaW5uIjp7dGltZTpbLTI4NDAxNDA4MDAsLTE2MzgzMTY4MDAsLTE2MzIwMDI0MDAsLTE2MTg2OTMyMDAsLTE1OTM4MjA4MDAsLTE1MzU5MzI4MDAsLTkyNzkzNmUzLC04OTI5NDRlMywtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk3NjQ0ODAwLDM1NDkzMTIwMCwzNzA3NDI0MDAsMzg2NDY3MjAwLDQwMjI3ODQwMCw0MTgwMDMyMDAsNDMzODE0NDAwLDQ0OTYyNTYwMCw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDEwMTc1NDM2MDAsMTAzNTY5MTIwMCwxMDQ4OTkzMjAwLDEwNjcxNDA4MDAsMTA4MDQ0MjgwMCwxMDk5MTk1MjAwLDExMTE4OTI0MDAsMTEzMDY0NDgwMCwxMTQzMzQyZTMsMTE2MjA5NDQwMCwxMTc0NzkxNjAwLDExOTM1NDRlMywxMjA2ODQ2ZTMsMTIyNDk5MzYwMCwxMjM4Mjk1NjAwLDEyNTY0NDMyMDAsMTI2OTc0NTIwMCwxMjg4NDk3NjAwLDEzMDExOTQ4MDAsMTMxOTk0NzIwMCwxMzMyNjQ0NDAwLDEzNTEzOTY4MDAsMTM2NDY5ODgwMCwxMzgyODQ2NDAwLDEzOTYxNDg0MDAsMTQxNDI5NmUzLDE0Mjc1OThlMywxNDQ1NzQ1NjAwLDE0NTkwNDc2MDAsMTQ3NzhlNSwxNDkwNDk3MjAwLDE1MDkyNDk2MDAsMTUyMTk0NjgwMCwxNTQwNjk5MjAwLDE1NTQwMDEyMDAsMTU3MjE0ODgwMCwxNTg1NDUwODAwLDE2MDM1OTg0MDAsMTYxNjkwMDQwMCwxNjM1NjUyODAwLDE2NDgzNWU0LDE2NjcxMDI0MDAsMTY3OTc5OTYwMCwxNjk4NTUyZTMsMTcxMTg1NGUzLDE3MzAwMDE2MDAsMTc0MzMwMzYwMCwxNzYxNDUxMjAwLDE3NzQ3NTMyMDAsMTc5MjkwMDgwMCwxODA2MjAyODAwLDE4MjQ5NTUyMDAsMTgzNzY1MjQwMCwxODU2NDA0ODAwLDE4NjkxMDJlMywxODg3ODU0NDAwLDE5MDExNTY0MDAsMTkxOTMwNGUzLDE5MzI2MDZlM10sb2Zmc2V0Ols1OTQwLDU5NDAsMzYwMCw3MjAwLDM2MDAsNTk0MCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwXX0sIkV1cm9wZS9WaWVubmEiOnsKdGltZTpbLTI0MjIwNTEyMDAsLTE2OTM3MDI4MDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTU2OTcwOGUzLC0xNTU1Nzk0ZTMsLTkzODkwMTYwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03ODAxODEyMDAsLTc0ODQ3NmUzLC03MzMyNjZlMywtNzE3NjMxMjAwLC03MDE5MDI4MDAsLTY4NDk3MmUzLC02NzA0NTMyMDAsMzIzODI3MjAwLDMzODk0NzIwMCwzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0OlszOTIxLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvVmlsbml1cyI6ewp0aW1lOlstMjg0MDE0MDgwMCwtMTY3MjUzMTIwMCwtMTU4NTA5NDQwMCwtMTU2MTI0OGUzLC0xNTUzNTU4NDAwLC05MjgxOTUyMDAsLTkwMDExNTIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtODAyMTM3NjAwLDM1NDkzMTIwMCwzNzA3NDI0MDAsMzg2NDY3MjAwLDQwMjI3ODQwMCw0MTgwMDMyMDAsNDMzODE0NDAwLDQ0OTYyNTYwMCw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTQwNDAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDEwNDg5OTMyMDAsMTA2NzE0MDgwMCwxMDgwNDQyODAwLDEwOTkxOTUyMDAsMTExMTg5MjQwMCwxMTMwNjQ0ODAwLDExNDMzNDJlMywxMTYyMDk0NDAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTE5NDgwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjE0ODQwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDU3NDU2MDAsMTQ1OTA0NzYwMCwxNDc3OGU1LDE0OTA0OTcyMDAsMTUwOTI0OTYwMCwxNTIxOTQ2ODAwLDE1NDA2OTkyMDAsMTU1NDAwMTIwMCwxNTcyMTQ4ODAwLDE1ODU0NTA4MDAsMTYwMzU5ODQwMCwxNjE2OTAwNDAwLDE2MzU2NTI4MDAsMTY0ODM1ZTQsMTY2NzEwMjQwMCwxNjc5Nzk5NjAwLDE2OTg1NTJlMywxNzExODU0ZTMsMTczMDAwMTYwMCwxNzQzMzAzNjAwLDE3NjE0NTEyMDAsMTc3NDc1MzIwMCwxNzkyOTAwODAwLDE4MDYyMDI4MDAsMTgyNDk1NTIwMCwxODM3NjUyNDAwLDE4NTY0MDQ4MDAsMTg2OTEwMmUzLDE4ODc4NTQ0MDAsMTkwMTE1NjQwMCwxOTE5MzA0ZTMsMTkzMjYwNmUzXSxvZmZzZXQ6WzYwNzYsNTA0MCw1NzM2LDM2MDAsNzIwMCwzNjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCw3MjAwLDM2MDAsNzIwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL1dhcnNhdyI6ewp0aW1lOlstMjg0MDE0MDgwMCwtMTcxNzAyNzIwMCwtMTY5MzcwMjgwMCwtMTY4MDQ3NjQwMCwtMTY2MzQ1MmUzLC0xNjUwMTQyODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC0xNjAwNDY2NDAwLC0xNTg3MTU3MjAwLC0xNTAxNzE4NDAwLC05MzE3MzA0MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5NjYwMDgwMCwtNzc4NzIzMjAwLC03NjI2NTI4MDAsLTc0ODQ4MzIwMCwtNzMzMjY2ZTMsLTcxNTIxMmUzLC03MDE5MDI4MDAsLTY4NDk3MmUzLC02NzA0NTMyMDAsLTY1NDEyNzIwMCwtNjM5MDAzNjAwLC0zOTcwOTA4MDAsLTM4NjgwNTYwMCwtMzcxMDg0NDAwLC0zNTUzNTZlMywtMzM0MTkxNjAwLC0zMjMzMDE2MDAsLTMwNzU4MDQwMCwtMjkxODUyZTMsLTI3MTI5MjQwMCwtMjYwNDAyNDAwLC0yMzk4NDI4MDAsLTIyODk1MjgwMCwtMjA4MzkzMjAwLC0xOTc1MDMyMDAsLTE3NjMzODgwMCwtMTY2MDUzNjAwLDIyODg3NzIwMCwyNDQwMDA4MDAsMjYwMzI2ODAwLDI3NjA1NTIwMCwyOTE3NzY0MDAsMzA3NTA0ODAwLDMyMzgzMDgwMCwzMzg5NTQ0MDAsMzU0Njc1NjAwLDM3MDQwNGUzLDM4NjEyNTIwMCw0MDE4NTM2MDAsNDE3NTc0ODAwLDQzMzMwMzIwMCw0NDkwMjQ0MDAsNDY1MzU3NjAwLDQ4MTA3ODgwMCw0OTY4MDcyMDAsNTEyNTI4NDAwLDUyODI1NjgwMCw1NDM5NzhlMyw1NTk3MDY0MDAsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0Ols1MDQwLDUwNDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsNzIwMCwxMDgwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9aYWdyZWIiOnsKdGltZTpbLTI3MTM5MTA0MDAsLTkwNTgyMTIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03NjY2MTY0MDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0OlszODMyLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9adXJpY2giOnt0aW1lOlstMzY3NTE5NjgwMCwtMjM4NTI0NDgwMCwtOTA0NDMxNjAwLC04OTExMjI0MDAsLTg3Mjk4MmUzLC04NTk2NzI4MDAsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLApvZmZzZXQ6WzIwNDgsMTc4NiwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJQYWNpZmljL0F1Y2tsYW5kIjp7dGltZTpbLTMxOTIzOTM2MDAsLTEzMzAyOTM2MDAsLTEzMjAwMTJlMywtMTMwMDY1ODQwMCwtMTI4NzM1MjgwMCwtMTI2OTIwODgwMCwtMTI1NTkwMzIwMCwtMTIzNzc1OTIwMCwtMTIyNDQ1MzYwMCwtMTIwNjMwOTYwMCwtMTE5MjM5OTIwMCwtMTE3NDg2ZTQsLTExNjA5NDk2MDAsLTExNDM0MTA0MDAsLTExMjU4NzEyMDAsLTExMTI1NjU2MDAsLTEwOTQ0MjE2MDAsLTEwODExMTZlMywtMTA2Mjk3MmUzLC0xMDQ5NjY2NDAwLC0xMDMxNTIyNDAwLC0xMDE4MjE2ODAwLC0xMDAwMDcyODAwLC05ODY3NjcyMDAsLTk2ODAxODQwMCwtOTU1MzE3NjAwLC05MzY1Njg4MDAsLTkyMzI2MzIwMCwtNzU3MzgyNDAwLDE1MjY3NmUzLDE2MjM1NjQwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NDMxOGUzLDQwNDg3NzYwMCw0MTU3Njc2MDAsNDM2MzI3MjAwLDQ0NzIxNzIwMCw0Njc3NzY4MDAsNDc4NjY2ODAwLDQ5OTIyNjQwMCw1MTAxMTY0MDAsNTMwNjc2ZTMsNTQxNTY2ZTMsNTYyMTI1NjAwLDU3MzYyMDQwMCw1OTQxOGU0LDYwNTA3ZTQsNjIzODE1MjAwLDYzNzcyOTIwMCw2NTUyNjQ4MDAsNjY5MTc4ODAwLDY4NjcxNDQwMCw3MDA2Mjg0MDAsNzE4MTY0ZTMsNzMyNjgyODAwLDc0OTYxMzYwMCw3NjQxMzI0MDAsNzgxMDYzMjAwLDc5NTU4MmUzLDgxMjUxMjgwMCw4MjcwMzE2MDAsODQ0NTY3MjAwLDg1ODQ4MTIwMCw4NzYwMTY4MDAsODg5OTMwODAwLDkwNzQ2NjQwMCw5MjE5ODUyMDAsOTM4OTE2ZTMsOTUzNDM0ODAwLDk3MDM2NTYwMCw5ODQ4ODQ0MDAsMTAwMjQyZTQsMTAxNjMzNGUzLDEwMzM4Njk2MDAsMTA0Nzc4MzYwMCwxMDY1MzE5MjAwLDEwNzk4MzhlMywxMDk2NzY4ODAwLDExMTEyODc2MDAsMTEyODIxODQwMCwxMTQyNzM3MjAwLDExNTk2NjhlMywxMTc0MTg2ODAwLDExOTExMTc2MDAsMTIwNzQ1MDgwMCwxMjIyNTY3MjAwLDEyMzg5MDA0MDAsMTI1NDAxNjgwMCwxMjcwMzVlNCwxMjg1NDY2NDAwLDEzMDE3OTk2MDAsMTMxNjkxNmUzLDEzMzMyNDkyMDAsMTM0ODk3MDQwMCwxMzY1MzAzNjAwLDEzODA0MmU0LDEzOTY3NTMyMDAsMTQxMTg2OTYwMCwxNDI4MjAyODAwLDE0NDMzMTkyMDAsMTQ1OTY1MjQwMCwxNDc0NzY4ODAwLDE0OTExMDJlMywxNTA2MjE4NDAwLDE1MjI1NTE2MDAsMTUzODI3MjgwMCwxNTU0NjA2ZTMsMTU2OTcyMjQwMCwxNTg2MDU1NjAwLDE2MDExNzJlMywxNjE3NTA1MjAwLDE2MzI2MjE2MDAsMTY0ODk1NDgwMCwxNjY0MDcxMjAwLDE2ODA0MDQ0MDAsMTY5NTUyMDgwMCwxNzEyNDU4ODAwLDE3Mjc1NzUyMDAsMTc0MzkwODQwMCwxNzU5MDI0ODAwLDE3NzUzNThlMywxNzkwNDc0NDAwLDE4MDY4MDc2MDAsMTgyMTkyNGUzLDE4MzgyNTcyMDAsMTg1MzM3MzYwMCwxODY5NzA2ODAwLDE4ODU0MjhlMywxOTAxNzYxMjAwLDE5MTY4Nzc2MDAsMTkzMzIxMDgwMF0sb2Zmc2V0Ols0MTk0NCw0MTQwMCw0NWUzLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwXX0sIlBhY2lmaWMvQ2hhdGhhbSI6ewp0aW1lOlstMzE5MjM5MzYwMCwtNzU3MzgyNDAwLDE1MjY3ODcwMCwxNjIzNTkxMDAsMTgzNTIzNTAwLDE5NTAxODMwMCwyMTU1Nzc5MDAsMjI2NDY3OTAwLDI0NzAyNzUwMCwyNTc5MTc1MDAsMjc4NDc3MTAwLDI4OTM2NzEwMCwzMDk5MjY3MDAsMzIwODE2NzAwLDM0MTM3NjMwMCwzNTIyNjYzMDAsMzcyODI1OTAwLDM4NDMyMDcwMCw0MDQ4ODAzMDAsNDE1NzcwMzAwLDQzNjMyOTkwMCw0NDcyMTk5MDAsNDY3Nzc5NTAwLDQ3ODY2OTUwMCw0OTkyMjkxMDAsNTEwMTE5MTAwLDUzMDY3ODcwMCw1NDE1Njg3MDAsNTYyMTI4MzAwLDU3MzYyMzEwMCw1OTQxODI3MDAsNjA1MDcyNzAwLDYyMzgxNzkwMCw2Mzc3MzE5MDAsNjU1MjY3NTAwLDY2OTE4MTUwMCw2ODY3MTcxMDAsNzAwNjMxMTAwLDcxODE2NjcwMCw3MzI2ODU1MDAsNzQ5NjE2MzAwLDc2NDEzNTEwMCw3ODEwNjU5MDAsNzk1NTg0NzAwLDgxMjUxNTUwMCw4MjcwMzQzMDAsODQ0NTY5OTAwLDg1ODQ4MzkwMCw4NzYwMTk1MDAsODg5OTMzNTAwLDkwNzQ2OTEwMCw5MjE5ODc5MDAsOTM4OTE4NzAwLDk1MzQzNzUwMCw5NzAzNjgzMDAsOTg0ODg3MTAwLDEwMDI0MjI3MDAsMTAxNjMzNjcwMCwxMDMzODcyMzAwLDEwNDc3ODYzMDAsMTA2NTMyMTkwMCwxMDc5ODQwNzAwLDEwOTY3NzE1MDAsMTExMTI5MDMwMCwxMTI4MjIxMTAwLDExNDI3Mzk5MDAsMTE1OTY3MDcwMCwxMTc0MTg5NTAwLDExOTExMjAzMDAsMTIwNzQ1MzUwMCwxMjIyNTY5OTAwLDEyMzg5MDMxMDAsMTI1NDAxOTUwMCwxMjcwMzUyNzAwLDEyODU0NjkxMDAsMTMwMTgwMjMwMCwxMzE2OTE4NzAwLDEzMzMyNTE5MDAsMTM0ODk3MzEwMCwxMzY1MzA2MzAwLDEzODA0MjI3MDAsMTM5Njc1NTkwMCwxNDExODcyMzAwLDE0MjgyMDU1MDAsMTQ0MzMyMTkwMCwxNDU5NjU1MTAwLDE0NzQ3NzE1MDAsMTQ5MTEwNDcwMCwxNTA2MjIxMTAwLDE1MjI1NTQzMDAsMTUzODI3NTUwMCwxNTU0NjA4NzAwLDE1Njk3MjUxMDAsMTU4NjA1ODMwMCwxNjAxMTc0NzAwLDE2MTc1MDc5MDAsMTYzMjYyNDMwMCwxNjQ4OTU3NTAwLDE2NjQwNzM5MDAsMTY4MDQwNzEwMCwxNjk1NTIzNTAwLDE3MTI0NjE1MDAsMTcyNzU3NzkwMCwxNzQzOTExMTAwLDE3NTkwMjc1MDAsMTc3NTM2MDcwMCwxNzkwNDc3MTAwLDE4MDY4MTAzMDAsMTgyMTkyNjcwMCwxODM4MjU5OTAwLDE4NTMzNzYzMDAsMTg2OTcwOTUwMCwxODg1NDMwNzAwLDE5MDE3NjM5MDAsMTkxNjg4MDMwMCwxOTMzMjEzNTAwXSxvZmZzZXQ6WzQ0MDI4LDQ0MTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwXX0sIlBhY2lmaWMvRmFrYW9mbyI6e3RpbWU6Wy0yMTc3NDUyODAwLDEzMjUyMDMyMDAsMTkyNTAzODgwMF0sb2Zmc2V0OlstNDEwOTYsLTM5NjAwLDQ2ODAwXX0sIlBhY2lmaWMvSG9ub2x1bHUiOnt0aW1lOlstMjMzNDEzOTIwMCwtMTE1NzMyMDgwMCwtMTE1NTQ3MDQwMCwtODgwMjM2ZTMsLTc2OTQyOTgwMCwtNzY1NDEwNDAwLC03MTIxODhlMywxOTI0OTU2ZTNdLG9mZnNldDpbLTM3ODg2LC0zNzgwMCwtMzQyMDAsLTM3ODAwLC0zNDIwMCwtMzQyMDAsLTM3ODAwLC0zNmUzXX0sIlBhY2lmaWMvTm9yZm9sayI6e3RpbWU6Wy0yMTc3NDUyODAwLC01OTk2MTZlMywxNTIwNzEyMDAsMTYyOTYxMjAwLDE0NDM5MjRlMywxNTcwMzI3MjAwLDE1ODYwNTU2MDAsMTYwMTc3NjgwMCwxNjE3NTA1MjAwLDE2MzMyMjY0MDAsMTY0ODk1NDgwMCwxNjY0Njc2ZTMsMTY4MDQwNDQwMCwxNjk2MTI1NjAwLDE3MTI0NTg4MDAsMTcyODE4ZTQsMTc0MzkwODQwMCwxNzU5NjI5NjAwLDE3NzUzNThlMywxNzkxMDc5MjAwLDE4MDY4MDc2MDAsMTgyMjUyODgwMCwxODM4MjU3MjAwLDE4NTM5Nzg0MDAsMTg2OTcwNjgwMCwxODg2MDMyODAwLDE5MDE3NjEyMDAsMTkxNzQ4MjQwMCwxOTMzMjEwODAwXSxvZmZzZXQ6WzQwMzEyLDQwMzIwLDQxNDAwLDQ1ZTMsNDE0MDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDBdfSwiVVMvTW91bnRhaW4iOnsKdGltZTpbLTI3MTc2Njg3OTYsLTE2MzMyOTg0MDAsLTE2MTUxNTQ0MDAsLTE2MDE4NDg4MDAsLTE1ODM3MDQ4MDAsLTE1NzAzOTkyMDAsLTE1NTE2NTA0MDAsLTE1Mzg5NDk2MDAsLTE1MzQxMTEyMDAsLTg4MDIzNmUzLC03Njk0MTcyMDAsLTc2NTQxMDQwMCwtMTQ3OTA5NjAwLC0xMzE1OGU0LC0xMTY0NmU0LC0xMDAxMzA0MDAsLTg0NDA1NjAwLC02ODY4MDgwMCwtNTI5NTZlMywtMzcyMzEyMDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sb2Zmc2V0OlstMjUxOTYsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDBdfX19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/3905.682e89ef2dc4c70423c6.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.973Z","timestamp":1785120633973,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/3905.682e89ef2dc4c70423c6.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b71-23c4\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:21 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:40\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 90659d147d1b35629761f95d379de690\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":9156,"size_decoded":2695,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (9156), with no line terminators","md5":"585b0debea11681772c2af93fac32f6f","sha1":"239ef62778933c4ffbb2003ad1da3ab7f1c412e6","sha256":"7a6f9ce2286878bf4b28af0ff0922e443fe7fd6f6289968222d35cacb1fd8f85","sha512":"f37cf7f51a2fb42cf0f1822ddea62c13673cc6ac0dd4e9ec40de3f0387a5fc680d4eeec0d9d2b81cbc71136e743b6e8692b20d29e16cd72a6c83c741eea6239e","ssdeep":"192:aB56ZYifpWjOHpRSvoAyGGoCARk3NPmHHZ+DG4x8:ayXsh","tlshash":"6612cf5bf5e30baa2f63e1255a2d7b48516773062887a5f5ee42f3e045caec216036cc","first_seen":"2026-03-24T10:38:42.78469Z","last_seen":"2026-07-27T05:15:36.983636Z","times_seen":5779,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtd01EZjojMDAwMDstLV8xLXdNRGY6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tXzItd01EZjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLV8zLXdNRGY6IzAwMDB9W2RhdGEtdGhlbWU9ZGFya117LS1fMC13TURmOiMwMDAwOy0tXzEtd01EZjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1fMi13TURmOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tXzMtd01EZjojMDAwMH0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elh7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxM3B4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjQwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE4cHg7Y29sb3I6dmFyKC0tY29sb3ItY29tbW9uLXRvb2x0aXAtdGV4dCk7ZGlzcGxheTppbmxpbmUtZmxleDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCk7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246Zml4ZWQ7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMgbGluZWFyO3otaW5kZXg6MTAwMH0uY29tbW9uLXRvb2x0aXAtLWhpZGRlbi1FSkJEOTZ6WHtvcGFjaXR5OjB9LmNvbW1vbi10b29sdGlwLS1ob3Jpem9udGFsLUVKQkQ5NnpYe21hcmdpbjo0cHggMH0uY29tbW9uLXRvb2x0aXAtLWhvcml6b250YWwtRUpCRDk2elguY29tbW9uLXRvb2x0aXAtLWZhcnRoZXItRUpCRDk2elh7bWFyZ2luOjhweCAwfS5jb21tb24tdG9vbHRpcC0tdmVydGljYWwtRUpCRDk2elh7bWFyZ2luOjAgNHB4fS5jb21tb24tdG9vbHRpcC0tdmVydGljYWwtRUpCRDk2elguY29tbW9uLXRvb2x0aXAtZmFydGhlci1FSkJEOTZ6WHttYXJnaW46MCA4cHh9LmNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fbm9ybWFsLUVKQkQ5NnpYe2ZsZXgtZGlyZWN0aW9uOnJvd30uY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9ub3JtYWwtRUpCRDk2elggLmNvbW1vbi10b29sdGlwX19ib2R5LUVKQkQ5NnpYe2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOjJweDtib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjJweH0uY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9ub3JtYWwtRUpCRDk2elggLmNvbW1vbi10b29sdGlwX19ib2R5LS1uby1idXR0b25zLUVKQkQ5NnpYLC5jb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX25vcm1hbC1FSkJEOTZ6WCAuY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1jb250YWluZXItRUpCRDk2elh7Ym9yZGVyLWVuZC1lbmQtcmFkaXVzOjJweDtib3JkZXItc3RhcnQtZW5kLXJhZGl1czoycHh9LmNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fbm9ybWFsLUVKQkQ5NnpYIC5jb21tb24tdG9vbHRpcF9fYnV0dG9uLUVKQkQ5NnpYOm5vdCg6bGFzdC1jaGlsZCl7bWFyZ2luLWlubGluZS1lbmQ6MXB4fS5jb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX3JldmVyc2VkLUVKQkQ5NnpYe2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlfS5jb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX3JldmVyc2VkLUVKQkQ5NnpYIC5jb21tb24tdG9vbHRpcF9fYm9keS1FSkJEOTZ6WHtib3JkZXItZW5kLWVuZC1yYWRpdXM6MnB4O2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOjJweH0uY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9yZXZlcnNlZC1FSkJEOTZ6WCAuY29tbW9uLXRvb2x0aXBfX2JvZHktLW5vLWJ1dHRvbnMtRUpCRDk2elgsLmNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fcmV2ZXJzZWQtRUpCRDk2elggLmNvbW1vbi10b29sdGlwX19idXR0b24tY29udGFpbmVyLUVKQkQ5NnpYe2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOjJweDtib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjJweH0uY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9yZXZlcnNlZC1FSkJEOTZ6WCAuY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1FSkJEOTZ6WDpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4taW5saW5lLXN0YXJ0OjFweH0uY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItRUpCRDk2elh7cG9zaXRpb246cmVsYXRpdmV9LmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLUVKQkQ5NnpYOmFmdGVye2JvcmRlcjowIHNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb21tb24tdG9vbHRpcC1iZyk7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDowfS5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWJvdmUtRUpCRDk2elg6YWZ0ZXIsLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWxvdy1FSkJEOTZ6WDphZnRlcntib3JkZXItbGVmdDo2cHggc29saWQ7Ym9yZGVyLWxlZnQtY29sb3I6dmFyKC0tXzMtd01EZik7Ym9yZGVyLXJpZ2h0OjZweCBzb2xpZDtib3JkZXItcmlnaHQtY29sb3I6dmFyKC0tXzMtd01EZik7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTZweH0uY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlbG93LUVKQkQ5NnpYOmFmdGVye2JvcmRlci1ib3R0b20td2lkdGg6NHB4O2JvdHRvbToxMDAlfS5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWJvdmUtRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLXRvcC13aWR0aDo0cHg7dG9wOjEwMCV9LmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hZnRlci1FSkJEOTZ6WDphZnRlciwuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlZm9yZS1FSkJEOTZ6WDphZnRlcntib3JkZXItYm90dG9tOjZweCBzb2xpZDtib3JkZXItYm90dG9tLWNvbG9yOnZhcigtLV8zLXdNRGYpO2JvcmRlci10b3A6NnB4IHNvbGlkO2JvcmRlci10b3AtY29sb3I6dmFyKC0tXzMtd01EZik7bWFyZ2luLXRvcDotNnB4O3RvcDo1MCV9LmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWZvcmUtRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLXJpZ2h0LXdpZHRoOjRweDtyaWdodDoxMDAlfS5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWZ0ZXItRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWxlZnQtd2lkdGg6NHB4O2xlZnQ6MTAwJX0uY29tbW9uLXRvb2x0aXBfX2JvZHktRUpCRDk2elh7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb21tb24tdG9vbHRpcC1iZyk7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6YmxvY2s7bWF4LXdpZHRoOjMxMHB4O3BhZGRpbmc6M3B4IDhweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt3b3JkLXdyYXA6YnJlYWstd29yZDtvdmVyZmxvdzpoaWRkZW47dGV4dC1hbGlnbjpzdGFydH0uY29tbW9uLXRvb2x0aXBfX2JvZHktLXdpdGgtaG90a2V5LUVKQkQ5NnpYe2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6NDIwcHg7cGFkZGluZzowfS5jb21tb24tdG9vbHRpcF9fYm9keS0td2lkdGhfd2lkZS1FSkJEOTZ6WHttYXgtd2lkdGg6NjQwcHh9LmNvbW1vbi10b29sdGlwX19ib2R5LS13aWR0aF9uYXJyb3ctRUpCRDk2elh7bWF4LXdpZHRoOjIwMHB4fS5jb21tb24tdG9vbHRpcF9fYm9keS0tbm8tcGFkZGluZy1FSkJEOTZ6WHtwYWRkaW5nOjB9LmNvbW1vbi10b29sdGlwX19ob3RrZXktYmxvY2stRUpCRDk2elh7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApO2Rpc3BsYXk6aW5saW5lLWZsZXg7ZmxleDoxIDAgYXV0bztqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2xpbmUtaGVpZ2h0OjEycHg7bWFyZ2luOjNweCAwO3BhZGRpbmctaW5saW5lLWVuZDo4cHh9LmNvbW1vbi10b29sdGlwX19ob3RrZXktYmxvY2stLWRpdmlkZXItRUpCRDk2elg6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7Y29udGVudDoiIjtoZWlnaHQ6MTAwJTttYXJnaW4taW5saW5lLWVuZDo4cHg7d2lkdGg6MXB4fS5jb21tb24tdG9vbHRpcF9faG90a2V5LXRleHQtRUpCRDk2elh7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7bWFyZ2luOjNweCA4cHh9LmNvbW1vbi10b29sdGlwX19ob3RrZXktYnV0dG9uLUVKQkQ5NnpYe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtoZWlnaHQ6MThweDtwYWRkaW5nOjFweCA2cHg7d2lkdGg6YXV0bzstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE2cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjEycHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7Ym9yZGVyLXJhZGl1czo0cHg7Ym94LXNpemluZzpib3JkZXItYm94O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjYwMH0uY29tbW9uLXRvb2x0aXBfX3BsdXMtc2lnbi1FSkJEOTZ6WHtoZWlnaHQ6MTVweDtsaW5lLWhlaWdodDoxNHB4O3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjEzcHh9LmNvbW1vbi10b29sdGlwX19idXR0b24tY29udGFpbmVyLUVKQkQ5NnpYe2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9LmNvbW1vbi10b29sdGlwX19idXR0b24tRUpCRDk2elh7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnJhbmQpO2NvbG9yOiNmZmY7ZGlzcGxheTpmbGV4O3BhZGRpbmc6MCAxMHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1FSkJEOTZ6WDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKX19LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXdoaXRle2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSl9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXdoaXRlIC5jb21tb24tdG9vbHRpcF9fYm9keS1FSkJEOTZ6WHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJnLXByaW1hcnkpO2JvcmRlci1yYWRpdXM6MH0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLUVKQkQ5NnpYe2JvcmRlcjoxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKX0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLUVKQkQ5NnpYOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5KX0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZS1FSkJEOTZ6WDphZnRlciwuY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWxvdy1FSkJEOTZ6WDphZnRlcntib3JkZXItaW5saW5lLWVuZDo2cHggc29saWQ7Ym9yZGVyLWlubGluZS1lbmQtY29sb3I6dmFyKC0tXzAtd01EZik7Ym9yZGVyLWlubGluZS1zdGFydDo2cHggc29saWQ7Ym9yZGVyLWlubGluZS1zdGFydC1jb2xvcjp2YXIoLS1fMC13TURmKX0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hZnRlci1FSkJEOTZ6WDphZnRlciwuY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWZvcmUtRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbTo2cHggc29saWQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1fMC13TURmKTtib3JkZXItdG9wOjZweCBzb2xpZDtib3JkZXItdG9wLWNvbG9yOnZhcigtLV8wLXdNRGYpfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItRUpCRDk2elg6YmVmb3Jle2JvcmRlcjowIHNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXIpO2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDowO3otaW5kZXg6MTAwMH0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZS1FSkJEOTZ6WDpiZWZvcmUsLmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXdoaXRlIC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYmVsb3ctRUpCRDk2elg6YmVmb3Jle2JvcmRlci1pbmxpbmUtZW5kOjdweCBzb2xpZDtib3JkZXItaW5saW5lLWVuZC1jb2xvcjp2YXIoLS1fMC13TURmKTtib3JkZXItaW5saW5lLXN0YXJ0OjdweCBzb2xpZDtib3JkZXItaW5saW5lLXN0YXJ0LWNvbG9yOnZhcigtLV8wLXdNRGYpO2luc2V0LWlubGluZS1zdGFydDo1MCU7bWFyZ2luLWlubGluZS1zdGFydDotN3B4fS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlbG93LUVKQkQ5NnpYOmJlZm9yZXtib3JkZXItYm90dG9tLXdpZHRoOjZweDt0b3A6LTZweH0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZS1FSkJEOTZ6WDpiZWZvcmV7Ym9yZGVyLXRvcC13aWR0aDo2cHg7Ym90dG9tOi02cHh9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXdoaXRlIC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWZ0ZXItRUpCRDk2elg6YmVmb3JlLC5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlZm9yZS1FSkJEOTZ6WDpiZWZvcmV7Ym9yZGVyLWJvdHRvbTo3cHggc29saWQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1fMC13TURmKTtib3JkZXItdG9wOjdweCBzb2xpZDtib3JkZXItdG9wLWNvbG9yOnZhcigtLV8wLXdNRGYpO21hcmdpbi10b3A6LTdweDt0b3A6NTAlfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlZm9yZS1FSkJEOTZ6WDpiZWZvcmV7Ym9yZGVyLWlubGluZS1lbmQtd2lkdGg6NnB4O2luc2V0LWlubGluZS1zdGFydDotNnB4fS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWFmdGVyLUVKQkQ5NnpYOmJlZm9yZXtib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOjZweDtpbnNldC1pbmxpbmUtZW5kOi02cHh9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXJvdW5kLXNoYWRvd3tib3gtc2hhZG93OjAgMXB4IDNweCAwICMyYTJjMzk0YTtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1yb3VuZC1zaGFkb3cgLmNvbW1vbi10b29sdGlwX19ib2R5LUVKQkQ5NnpYe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeSl9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXJvdW5kLXNoYWRvdyAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJnLXByaW1hcnkpfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1yb3VuZC1zaGFkb3cgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZS1FSkJEOTZ6WDphZnRlciwuY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtcm91bmQtc2hhZG93IC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYmVsb3ctRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWlubGluZS1lbmQ6NnB4IHNvbGlkO2JvcmRlci1pbmxpbmUtZW5kLWNvbG9yOnZhcigtLV8wLXdNRGYpO2JvcmRlci1pbmxpbmUtc3RhcnQ6NnB4IHNvbGlkO2JvcmRlci1pbmxpbmUtc3RhcnQtY29sb3I6dmFyKC0tXzAtd01EZil9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXJvdW5kLXNoYWRvdyAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWFmdGVyLUVKQkQ5NnpYOmFmdGVyLC5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1yb3VuZC1zaGFkb3cgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWZvcmUtRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbTo2cHggc29saWQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1fMC13TURmKTtib3JkZXItdG9wOjZweCBzb2xpZDtib3JkZXItdG9wLWNvbG9yOnZhcigtLV8wLXdNRGYpfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1jaGFydCAuY29tbW9uLXRvb2x0aXBfX2JvZHktRUpCRDk2elh7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5KTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWNvbG9yLWRpdmlkZXIpO2JvcmRlci1yYWRpdXM6MTZweDtib3gtc2hhZG93OjAgMnB4IDRweCB2YXIoLS1jb2xvci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5KTttYXgtd2lkdGg6MzQycHh9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLWNoYXJ0IC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci1FSkJEOTZ6WDphZnRlcntjb250ZW50Om5vbmV9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLW5ld3MgLmNvbW1vbi10b29sdGlwX19ib2R5LUVKQkQ5NnpYe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeSk7Ym9yZGVyLXJhZGl1czo4cHg7Ym94LXNoYWRvdzowIDJweCA0cHggdmFyKC0tY29sb3Itc2hhZG93LXByaW1hcnktbmV1dHJhbC1leHRyYS1oZWF2eSk7bWF4LXdpZHRoOjMyMHB4fS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1uZXdzIC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci1FSkJEOTZ6WDphZnRlcntjb250ZW50Om5vbmV9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/74126.79b563b375fad71123a4.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.185Z","timestamp":1785120634185,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/74126.79b563b375fad71123a4.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a323c19-3290\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 17 Jun 2026 06:18:01 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/17/2026 11:15:29\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a269300139569f01a815a84b767a1cb2\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":12944,"size_decoded":3229,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (12944), with no line terminators","md5":"70de825604b40120b786cc257b109d53","sha1":"575e4385359392e4018b3beb9430342665a731ae","sha256":"e604106d7670121e6c3e3827e3e97fc653a40fa56371ab1ef837524183e0ebbb","sha512":"779a4e929367c89898c4f1f5ed27a9591b1a4c3eb712734d49dcdc324a1e8c11f1b2eaf5240b76012ce199744aff6a93714e3c6cbc661fc7b5b4bc4a7fd60e30","ssdeep":"96:BctRLaPyYa01SGtheUryLSJ4Mm2lIzeVZCvk6/n0gdiEQNhCrzC4FwdmN6pRNQGi:kRLwwFE+SnpJUn0gd4Nh8zERRi","tlshash":"ed42d454fb20e431b4720a56b5979858e304d45ef1518ceeddb0f6ac8dcb9ff1228b2a","first_seen":"2026-06-17T17:32:05.836591Z","last_seen":"2026-07-27T06:01:16.375558Z","times_seen":150,"resource_available":false,"data":"OnJvb3R7LS1zeW1ib2wtb3ZlcnZpZXctYmFja2dyb3VuZC1jb2xvcjojMDAwMH1ib2R5LGh0bWx7YmFja2dyb3VuZDpub25lO2hlaWdodDoxMDAlO21pbi1oZWlnaHQ6NTBweDttaW4td2lkdGg6NTBweDtvdmVyZmxvdzpoaWRkZW47d2lkdGg6MTAwJTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnR9aHRtbCxodG1sLnRoZW1lLWRhcmt7Y29sb3Itc2NoZW1lOm5vcm1hbH1odG1sIGJvZHksaHRtbC50aGVtZS1kYXJrIGJvZHl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zeW1ib2wtb3ZlcnZpZXctYmFja2dyb3VuZC1jb2xvcil9LmktaGlkZGVue2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LmNvbnRhaW5lci1WVjZWV0VTUnthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2JvdHRvbTowO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW46MjBweDtwb3NpdGlvbjphYnNvbHV0ZX0uY29udGFpbmVyLVZWNlZXRVNSIGltZ3twYWRkaW5nOjRweH0ucXVvdGVUaWNrZXJDb250YWluZXItVHY2M3FPN2ksLnZhbHVlc0luTGVnZW5kQ29udGFpbmVyLVR2NjNxTzdpe2Rpc3BsYXk6bm9uZX0ucXVvdGVUaWNrZXJDb250YWluZXJfc2hvdy1UdjYzcU83aSwudmFsdWVzSW5MZWdlbmRDb250YWluZXJfc2hvdy1UdjYzcU83aXtkaXNwbGF5OmZsZXh9LnF1b3RlVGlja2VyQ29udGFpbmVyLVR2NjNxTzdpe2hlaWdodDo0NHB4fS52YWx1ZXNJbkxlZ2VuZENvbnRhaW5lci1UdjYzcU83aXthbGlnbi1pdGVtczpmbGV4LWVuZDttYXJnaW4tYm90dG9tOjEycHg7bWluLWhlaWdodDozMnB4fS5nb1RvVHZMaW5rLVR2NjNxTzdpLC5nb1RvVHZMaW5rLVR2NjNxTzdpOnZpc2l0ZWR7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuZ29Ub1R2TGluay1UdjYzcU83aTpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktaG92ZXIpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWhvdmVyKX19LmdvVG9UdkxpbmstVHY2M3FPN2k6YWN0aXZle2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1hY3RpdmUpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWFjdGl2ZSl9LmdvVG9UdkxpbmstVHY2M3FPN2k6Zm9jdXN7b3V0bGluZTphdXRvO291dGxpbmUtb2Zmc2V0OjJweH0uZ29Ub1R2TGluay1UdjYzcU83aTpmb2N1cy12aXNpYmxle291dGxpbmU6YXV0bztvdXRsaW5lLW9mZnNldDoycHh9LmdvVG9UdkxpbmstVHY2M3FPN2k6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOm5vbmV9W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtNlByazp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLTZQcms6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCl9OnJvb3R7LS13aWRnZXQtZm9udC1jb2xvcjppbml0aWFsOy0td2lkZ2V0LWZvbnQtZmFtaWx5OmluaXRpYWx9LnR2LXdpZGdldC1jaGFydHtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O2ZsZXgtZmxvdzpjb2x1bW4gbm93cmFwO2ZvbnQtZmFtaWx5OnZhcigtLXdpZGdldC1mb250LWZhbWlseSxpbmhlcml0KTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjF9LnR2LXdpZGdldC1jaGFydF9fY29weXJpZ2h0aW5nQ29udGFpbmVye2JvdHRvbTowO2luc2V0LWlubGluZS1zdGFydDowO3Bvc2l0aW9uOmFic29sdXRlfS50di13aWRnZXQtY2hhcnRfX3BhZ2Vze2ZsZXgtZ3JvdzoxO2hlaWdodDowO3Bvc2l0aW9uOnJlbGF0aXZlfS50di13aWRnZXQtY2hhcnRfX3BhZ2V7ZGlzcGxheTpmbGV4O2ZsZXgtZmxvdzpjb2x1bW4gbm93cmFwO2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlfS50di13aWRnZXQtY2hhcnRfX25hdntwYWRkaW5nOjE2cHggMTZweCAwO3Bvc2l0aW9uOnJlbGF0aXZlfS50di13aWRnZXQtY2hhcnRfX2hlYWR7ZGlzcGxheTpmbGV4O21hcmdpbi1ib3R0b206OHB4fUBtZWRpYSAobWluLXdpZHRoOjU2OHB4KXsudHYtd2lkZ2V0LWNoYXJ0X19oZWFke2hlaWdodDo2NnB4O21hcmdpbi1ib3R0b206MTZweH19LnR2LXdpZGdldC1jaGFydF9faGVhZC1jb250YWluZXJ7d2lkdGg6Y2FsYygxMDAlIC0gNDhweCl9QG1lZGlhIChtaW4td2lkdGg6NTY4cHgpey50di13aWRnZXQtY2hhcnRfX2hlYWQtY29udGFpbmVye3dpZHRoOmNhbGMoMTAwJSAtIDY4cHgpfX0udHYtd2lkZ2V0LWNoYXJ0X19pbmZve2hlaWdodDo3NnB4O2luc2V0LWlubGluZS1zdGFydDotNDhweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDpjYWxjKDEwMCUgKyA0OHB4KX0udHYtd2lkZ2V0LWNoYXJ0X19oZWFkLS1zbWFsbCAudHYtd2lkZ2V0LWNoYXJ0X19pbmZve2hlaWdodDo1MHB4fUBtZWRpYSAobWluLXdpZHRoOjU2OHB4KXsudHYtd2lkZ2V0LWNoYXJ0X19pbmZve2hlaWdodDphdXRvO2luc2V0LWlubGluZS1zdGFydDowO3dpZHRoOjEwMCV9LnR2LXdpZGdldC1jaGFydF9faGVhZC0tc21hbGwgLnR2LXdpZGdldC1jaGFydF9faW5mb3toZWlnaHQ6YXV0b319LnR2LXdpZGdldC1jaGFydF9faGVhZC1uby1sb2dvIC50di13aWRnZXQtY2hhcnRfX2hlYWQtY29udGFpbmVye3dpZHRoOjEwMCV9LnR2LXdpZGdldC1jaGFydF9faGVhZC1uby1sb2dvIC50di13aWRnZXQtY2hhcnRfX2luZm97aW5zZXQtaW5saW5lLXN0YXJ0OjA7d2lkdGg6MTAwJX0udHYtd2lkZ2V0LWNoYXJ0X19oZWFkLW5vLWxvZ28gLnR2LXdpZGdldC1jaGFydF9fbG9nbywudHYtd2lkZ2V0LWNoYXJ0X19ub3QtZGF0YSAudHYtd2lkZ2V0LWNoYXJ0X19pbmRpY2F0b3JzLC50di13aWRnZXQtY2hhcnRfX25vdC1kYXRhIC50di13aWRnZXQtY2hhcnRfX2luZm8sLnR2LXdpZGdldC1jaGFydF9fbm90LWRhdGEgLnR2LXdpZGdldC1jaGFydF9fcHJpY2UsLnR2LXdpZGdldC1jaGFydF9fbm90LWRhdGEgLnR2LXdpZGdldC1jaGFydF9fdGltZWZyYW1lc3tkaXNwbGF5Om5vbmV9LnR2LXdpZGdldC1jaGFydF9fbm90LWRhdGEgLnR2LXdpZGdldC1jaGFydF9faGVhZHtoZWlnaHQ6YXV0bzttYXJnaW46MH0udHYtd2lkZ2V0LWNoYXJ0X19ub3QtZGF0YSAudHYtd2lkZ2V0LWNoYXJ0X19uYW1le21hcmdpbi1ib3R0b206MDttaW4taGVpZ2h0OmF1dG99LnR2LXdpZGdldC1jaGFydF9fbG9nb3ttYXJnaW4taW5saW5lLWVuZDoxMnB4O21pbi13aWR0aDozNnB4fUBtZWRpYSAobWluLXdpZHRoOjU2OHB4KXsudHYtd2lkZ2V0LWNoYXJ0X19sb2dve2FsaWduLXNlbGY6Y2VudGVyO21pbi13aWR0aDo1NnB4fX0udHYtd2lkZ2V0LWNoYXJ0X19uYW1le2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7bWFyZ2luLWJvdHRvbTo4cHg7bWluLWhlaWdodDozNnB4fUBtZWRpYSAobWluLXdpZHRoOjU2OHB4KXsudHYtd2lkZ2V0LWNoYXJ0X19uYW1le21hcmdpbi1ib3R0b206NHB4O21pbi1oZWlnaHQ6MjhweH19LnR2LXdpZGdldC1jaGFydF9faGVhZC0tc21hbGwgLnR2LXdpZGdldC1jaGFydF9fbmFtZXttYXJnaW4tYm90dG9tOjB9LnR2LXdpZGdldC1jaGFydF9faW5kaWNhdG9yc3tkaXNwbGF5OmZsZXg7bWFyZ2luLWlubGluZS1zdGFydDo4cHh9LnR2LXdpZGdldC1jaGFydF9fc3RhdHVze3otaW5kZXg6MX0udHYtd2lkZ2V0LWNoYXJ0X19wcmljZXtjb2xvcjp2YXIoLS13aWRnZXQtZm9udC1jb2xvcix2YXIoLS1fMC02UHJrKSk7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS50di13aWRnZXQtY2hhcnQgLnR2LXdpZGdldC1jaGFydF9fbGVnZW5kLC50di13aWRnZXQtY2hhcnQgLnR2LXdpZGdldC1jaGFydF9fcHJpY2V7YWxpZ24taXRlbXM6ZmxleC1zdGFydDttYXJnaW4tYm90dG9tOjB9QG1lZGlhIChtaW4td2lkdGg6NTY4cHgpey50di13aWRnZXQtY2hhcnQgLnR2LXdpZGdldC1jaGFydF9fbGVnZW5kLC50di13aWRnZXQtY2hhcnQgLnR2LXdpZGdldC1jaGFydF9fcHJpY2V7YWxpZ24taXRlbXM6YmFzZWxpbmU7ZmxleC1kaXJlY3Rpb246cm93fX0udHYtd2lkZ2V0LWNoYXJ0X19wcmljZS1jb250YWluZXJ7YWxpZ24taXRlbXM6Y2VudGVyO2RpcmVjdGlvbjpsdHI7ZGlzcGxheTpmbGV4fS50di13aWRnZXQtY2hhcnRfX3ByaWNlLXZhbHVle2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDozNnB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KTstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToyOHB4O2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NzAwfS50di13aWRnZXQtY2hhcnRfX2hlYWQtLWxhcmdlIC50di13aWRnZXQtY2hhcnRfX3ByaWNlLXZhbHVle2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6NDRweDtmb250LXNpemU6MzZweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo3MDB9LnR2LXdpZGdldC1jaGFydF9faGVhZC0tbGFyZ2UgLnR2LXdpZGdldC1jaGFydF9fcHJpY2UtdmFsdWUsLnR2LXdpZGdldC1jaGFydF9faGVhZC0tc21hbGwgLnR2LXdpZGdldC1jaGFydF9fcHJpY2UtdmFsdWV7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LnR2LXdpZGdldC1jaGFydF9faGVhZC0tc21hbGwgLnR2LXdpZGdldC1jaGFydF9fcHJpY2UtdmFsdWV7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MjBweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo2MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyNHB4fS50di13aWRnZXQtY2hhcnRfX3ByaWNlLXZhbHVlLWNoYW5nZXMtLWZhbGxpbmd7Y29sb3I6dmFyKC0tY29sb3ItZmFsbGluZyl9LnR2LXdpZGdldC1jaGFydF9fcHJpY2UtdmFsdWUtY2hhbmdlcy0tZ3Jvd2luZ3tjb2xvcjp2YXIoLS1jb2xvci1ncm93aW5nKX0udHYtd2lkZ2V0LWNoYXJ0X19wcmljZS1kZWx0YXthbGlnbi1pdGVtczpiYXNlbGluZTtkaXNwbGF5OmlubGluZS1mbGV4O2ZvbnQtc2l6ZToxOHB4fS50di13aWRnZXQtY2hhcnRfX2hlYWQtLWxhcmdlIC50di13aWRnZXQtY2hhcnRfX3ByaWNlLWRlbHRhe2ZvbnQtc2l6ZToyMnB4fS50di13aWRnZXQtY2hhcnRfX2hlYWQtLXNtYWxsIC50di13aWRnZXQtY2hhcnRfX3ByaWNlLWRlbHRhe2ZvbnQtc2l6ZToxNHB4fUBtZWRpYSAobWluLXdpZHRoOjU2OHB4KXsudHYtd2lkZ2V0LWNoYXJ0X19wcmljZS1kZWx0YXttYXJnaW4taW5saW5lLXN0YXJ0OjhweH19LnR2LXdpZGdldC1jaGFydF9fcHJpY2UtZGVsdGEtLXBvc2l0aXZlLC50di13aWRnZXQtY2hhcnRfX3ByaWNlLWRlbHRhLmdyb3dpbmd7Y29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcyl9LnR2LXdpZGdldC1jaGFydF9fcHJpY2UtZGVsdGEtLW5lZ2F0aXZlLC50di13aWRnZXQtY2hhcnRfX3ByaWNlLWRlbHRhLmZhbGxpbmd7Y29sb3I6dmFyKC0tY29sb3ItZGFuZ2VyKX0udHYtd2lkZ2V0LWNoYXJ0X19wcmljZS1kZWx0YS12YWx1ZXtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsO21hcmdpbi1pbmxpbmUtZW5kOjhweDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxOHB4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjYwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHg7Zm9udC1mYW1pbHk6aW5oZXJpdDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LnR2LXdpZGdldC1jaGFydF9faGVhZC0tbGFyZ2UgLnR2LXdpZGdldC1jaGFydF9fcHJpY2UtZGVsdGEtdmFsdWV7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MjBweDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHh9LnR2LXdpZGdldC1jaGFydF9faGVhZC0tbGFyZ2UgLnR2LXdpZGdldC1jaGFydF9fcHJpY2UtZGVsdGEtdmFsdWUsLnR2LXdpZGdldC1jaGFydF9faGVhZC0tc21hbGwgLnR2LXdpZGdldC1jaGFydF9fcHJpY2UtZGVsdGEtdmFsdWV7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo2MDA7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS50di13aWRnZXQtY2hhcnRfX2hlYWQtLXNtYWxsIC50di13aWRnZXQtY2hhcnRfX3ByaWNlLWRlbHRhLXZhbHVley0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MTZweDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxMnB4fS50di13aWRnZXQtY2hhcnRfX3ByaWNlLWRlbHRhLWRheXtmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NDAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweDtmb250LWZhbWlseTppbmhlcml0O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KTt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LXdpZGdldC1jaGFydF9faGVhZC0tbGFyZ2UgLnR2LXdpZGdldC1jaGFydF9fcHJpY2UtZGVsdGEtZGF5ey0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE2cHg7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyNHB4fS50di13aWRnZXQtY2hhcnRfX2hlYWQtLWxhcmdlIC50di13aWRnZXQtY2hhcnRfX3ByaWNlLWRlbHRhLWRheSwudHYtd2lkZ2V0LWNoYXJ0X19oZWFkLS1zbWFsbCAudHYtd2lkZ2V0LWNoYXJ0X19wcmljZS1kZWx0YS1kYXl7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS50di13aWRnZXQtY2hhcnRfX2hlYWQtLXNtYWxsIC50di13aWRnZXQtY2hhcnRfX3ByaWNlLWRlbHRhLWRheXstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxMnB4Oy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MTZweH0udHYtd2lkZ2V0LWNoYXJ0X190aW1lZnJhbWVze2hlaWdodDoyOHB4Oy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO3doaXRlLXNwYWNlOm5vd3JhcH0udHYtd2lkZ2V0LWNoYXJ0X19jb250YWluZXItd3JhcHBwZXJ7cGFkZGluZzo4cHggMTZweH1AbWVkaWEgKG1pbi13aWR0aDo1NjhweCl7LnR2LXdpZGdldC1jaGFydF9fY29udGFpbmVyLXdyYXBwcGVye3BhZGRpbmc6MThweCAxNnB4IDE2cHh9fS50di13aWRnZXQtY2hhcnRfX2NvbnRhaW5lci1zeW1ib2x7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtYXJlYXM6InNlbGVjdG9yIiAiY3VycmVuY3kiO21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4O21pbi1oZWlnaHQ6MzBweH0udHYtd2lkZ2V0LWNoYXJ0X19oZWFkLS1sYXJnZSAudHYtd2lkZ2V0LWNoYXJ0X19jb250YWluZXItc3ltYm9se21pbi1oZWlnaHQ6MzhweH0udHYtd2lkZ2V0LWNoYXJ0X19oZWFkLS1zbWFsbCAudHYtd2lkZ2V0LWNoYXJ0X19jb250YWluZXItc3ltYm9se21pbi1oZWlnaHQ6MjRweH0udHYtd2lkZ2V0LWNoYXJ0X19jb250YWluZXItc3ltYm9sIC50di13aWRnZXQtY2hhcnRfX2NvbnRhaW5lci1zeW1ib2wtc2VsZWN0b3J7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0O2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Z3JpZC1hcmVhOnNlbGVjdG9yOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MTZweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCk7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTFweDtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtsZXR0ZXItc3BhY2luZzouNHB4O2xpbmUtaGVpZ2h0OjE0cHg7bWFyZ2luLWlubGluZS1zdGFydDowO21pbi1oZWlnaHQ6MTRweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9LnR2LXdpZGdldC1jaGFydF9faGVhZC0tbGFyZ2UgLnR2LXdpZGdldC1jaGFydF9fY29udGFpbmVyLXN5bWJvbCAudHYtd2lkZ2V0LWNoYXJ0X19jb250YWluZXItc3ltYm9sLXNlbGVjdG9ye2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoxOHB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KTstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxNHB4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtsZXR0ZXItc3BhY2luZzouNHB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0udHYtd2lkZ2V0LWNoYXJ0X19oZWFkLS1zbWFsbCAudHYtd2lkZ2V0LWNoYXJ0X19jb250YWluZXItc3ltYm9sIC50di13aWRnZXQtY2hhcnRfX2NvbnRhaW5lci1zeW1ib2wtc2VsZWN0b3J7Zm9udC1zaXplOjlweDtsaW5lLWhlaWdodDoxMnB4O21pbi1oZWlnaHQ6MTJweH0udHYtd2lkZ2V0LWNoYXJ0X19jb250YWluZXItc3ltYm9sLWN1cnJlbmN5e2FsaWduLXNlbGY6ZmxleC1lbmQ7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtncmlkLWFyZWE6Y3VycmVuY3k7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoxNnB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KTstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxMXB4O2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xldHRlci1zcGFjaW5nOi40cHg7bWluLWhlaWdodDoxNnB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0udHYtd2lkZ2V0LWNoYXJ0X19oZWFkLS1sYXJnZSAudHYtd2lkZ2V0LWNoYXJ0X19jb250YWluZXItc3ltYm9sLWN1cnJlbmN5e2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoxOHB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KTstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxNHB4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtsZXR0ZXItc3BhY2luZzouNHB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0udHYtd2lkZ2V0LWNoYXJ0X19oZWFkLS1zbWFsbCAudHYtd2lkZ2V0LWNoYXJ0X19jb250YWluZXItc3ltYm9sLWN1cnJlbmN5e2ZvbnQtc2l6ZTo5cHg7bGluZS1oZWlnaHQ6MTJweDttaW4taGVpZ2h0OjEycHh9LnR2LXdpZGdldC1jaGFydF9fY2hhcnQtd3JhcHtmbGV4LWdyb3c6MTtoZWlnaHQ6MDtwb3NpdGlvbjpyZWxhdGl2ZX0udHYtd2lkZ2V0LWNoYXJ0X19pY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZsZXgtc2hyaW5rOjA7dmVydGljYWwtYWxpZ246dG9wfUBtZWRpYSAobWluLXdpZHRoOjU2OHB4KXsudHYtd2lkZ2V0LWNoYXJ0X19pY29uLS1tZWRpdW17ZGlzcGxheTpub25lfX0udHYtd2lkZ2V0LWNoYXJ0X19pY29uLS1sYXJnZXtkaXNwbGF5Om5vbmV9QG1lZGlhIChtaW4td2lkdGg6NTY4cHgpey50di13aWRnZXQtY2hhcnRfX2ljb24tLWxhcmdle2Rpc3BsYXk6aW5saW5lLWJsb2NrfX0udHYtd2lkZ2V0LWNoYXJ0X190aXRsZXtjb2xvcjp2YXIoLS13aWRnZXQtZm9udC1jb2xvcix2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpKTtmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsO21hcmdpbjowO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxOHB4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjYwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHg7Zm9udC1mYW1pbHk6aW5oZXJpdDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LnR2LXdpZGdldC1jaGFydF9faGVhZC0tbGFyZ2UgLnR2LXdpZGdldC1jaGFydF9fdGl0bGV7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MjBweDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHh9LnR2LXdpZGdldC1jaGFydF9faGVhZC0tbGFyZ2UgLnR2LXdpZGdldC1jaGFydF9fdGl0bGUsLnR2LXdpZGdldC1jaGFydF9faGVhZC0tc21hbGwgLnR2LXdpZGdldC1jaGFydF9fdGl0bGV7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo2MDA7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS50di13aWRnZXQtY2hhcnRfX2hlYWQtLXNtYWxsIC50di13aWRnZXQtY2hhcnRfX3RpdGxley0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE2cHg7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyNHB4fS50di13aWRnZXQtY2hhcnQtLXdpdGgtYm9yZGVye2JvcmRlcjoxcHggc29saWQgdmFyKC0tY29sb3ItZGl2aWRlcil9LmxhYmVsLXV6SUdJMjFBLnN0YXJ0LXV6SUdJMjFBe2luc2V0LWlubGluZS1zdGFydDo3cHh9W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtX0U4eTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1fRTh5OnZhcigtLWNvbG9yLXR2LWJsdWUtMzAwKX0uc3F1YXJlVGFiQnV0dG9uLWFUM05za3Nzey0tZGVmYXVsdC1mb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCwiVHJlYnVjaGV0IE1TIixSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Y29sb3I6dmFyKC0td2lkZ2V0LWZvbnQtY29sb3IsdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KSl9LnNxdWFyZVRhYkJ1dHRvbi1hVDNOc2tzcy5zZWxlY3RlZC1hVDNOc2tzcywuc3F1YXJlVGFiQnV0dG9uLWFUM05za3NzOmFjdGl2ZTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1hVDNOc2tzcyl7Y29sb3I6dmFyKC0td2lkZ2V0LWZvbnQtY29sb3IsdmFyKC0tXzAtX0U4eSkpfS5zcXVhcmVUYWJCdXR0b24tYVQzTnNrc3MueHNtYWxsLWFUM05za3Nze2ZvbnQtZmFtaWx5OnZhcigtLXdpZGdldC1mb250LWZhbWlseSx2YXIoLS1kZWZhdWx0LWZvbnQtZmFtaWx5LGluaGVyaXQpKX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/23624.d2390d17b1509b018826.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.480Z","timestamp":1785120634480,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/23624.d2390d17b1509b018826.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-1547\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 036b6b463c1bdf3bd291b1b33b65861c\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5447,"size_decoded":2078,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (5447), with no line terminators","md5":"2c33d31c563e23c31e00293508a0185a","sha1":"a5929dabb129340cfe8b787016b307911e1a3454","sha256":"4ce18d9026cee0619db0fe37daf10d2562a6a41648d0baaf2fbabedd6997ad8f","sha512":"f18b23e71681a5a8a3059d3ca0acc71b714119f95515c18cfb29123816bbf4e158126f7a947ff798c18080ee07ba20b1af9d063e587477bf46de561078ce9fc7","ssdeep":"96:DP5k+VoSKKEKgnKzKvKzKLKIKLKIKhK2nZjBCmVcKEKpVcKEKPK2XIKvmK2XIKv+:9kingKuiuWTWTw2ZXnrnCOtOTLK54WSS","tlshash":"ffb1df88e1cf773e2a3bb9295308e1dc97076780ea421be5bf61e25625cdbc651f5c08","first_seen":"2026-07-16T13:40:49.85665Z","last_seen":"2026-07-27T05:19:37.166822Z","times_seen":166,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtQU1UbDp2YXIoLS1jb2xvci13aGl0ZSl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1BTVRsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApfS5pdGVtLU1pMF90NXVOe2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWJhY2tncm91bmQsdmFyKC0tY29sb3ItcG9wdXAtYmFja2dyb3VuZCkpO2JvcmRlcjowO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSk7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXgtZmxvdzpyb3cgbm93cmFwO2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctYmxvY2s6MnB4IDJweDtwYWRkaW5nLWlubGluZTo4cHggMTBweDt0cmFuc2l0aW9uLXByb3BlcnR5Om5vbmU7d2hpdGUtc3BhY2U6bm93cmFwO3dpZHRoOjEwMCV9Lml0ZW0tTWkwX3Q1dU4uaG92ZXJlZC1NaTBfdDV1TiwuaXRlbS1NaTBfdDV1TjphY3RpdmV7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS1NaTBfdDV1Tjpob3Zlcntjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyKSl9fS5pdGVtLU1pMF90NXVOLmhvdmVyZWQtTWkwX3Q1dU57YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLU1pMF90NXVOOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlcikpfX0uaXRlbS1NaTBfdDV1TjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSl9Lml0ZW0tTWkwX3Q1dU57b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmV9Lml0ZW0tTWkwX3Q1dU46Zm9jdXN7b3V0bGluZTpub25lfS5pdGVtLU1pMF90NXVOOmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5pdGVtLU1pMF90NXVOOmFmdGVye2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIiO2Rpc3BsYXk6bm9uZTtoZWlnaHQ6Y2FsYygxMDAlIC0gNHB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6MnB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjJweDt3aWR0aDpjYWxjKDEwMCUgLSA0cHgpO3otaW5kZXg6MX0uaXRlbS1NaTBfdDV1Tjpmb2N1czphZnRlcntkaXNwbGF5OmJsb2NrfS5pdGVtLU1pMF90NXVOOmZvY3VzLXZpc2libGU6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uaXRlbS1NaTBfdDV1Tjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uaXRlbS1NaTBfdDV1TjphZnRlcntib3JkZXItcmFkaXVzOjlweH0uaXRlbS1NaTBfdDV1TjphZnRlcixodG1sLnRoZW1lLWRhcmsgLml0ZW0tTWkwX3Q1dU46YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmx1ZSl9Lml0ZW0tTWkwX3Q1dU4uaXNEaXNhYmxlZC1NaTBfdDV1TntjdXJzb3I6ZGVmYXVsdDtvcGFjaXR5Oi41fS5pdGVtLU1pMF90NXVOLmlzRGlzYWJsZWQtTWkwX3Q1dU4sLml0ZW0tTWkwX3Q1dU4uaXNEaXNhYmxlZC1NaTBfdDV1TjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLWJhY2tncm91bmQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLU1pMF90NXVOLmlzRGlzYWJsZWQtTWkwX3Q1dU46aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLWJhY2tncm91bmQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSl9fS5pdGVtLU1pMF90NXVOLmlzQWN0aXZlLU1pMF90NXVOOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1pbnZlcnNlKX0uaXRlbS1NaTBfdDV1Ti5pc0FjdGl2ZS1NaTBfdDV1TiwuaXRlbS1NaTBfdDV1Ti5pc0FjdGl2ZS1NaTBfdDV1TjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtYWN0aXZlLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKSk7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWFjdGl2ZSx2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktaW52ZXJzZSkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS1NaTBfdDV1Ti5pc0FjdGl2ZS1NaTBfdDV1Tjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1hY3RpdmUsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtYWN0aXZlLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlKSl9fS5pdGVtLU1pMF90NXVOLmlzQWN0aXZlLU1pMF90NXVOIC5zaG9ydGN1dC1NaTBfdDV1TiwuaXRlbS1NaTBfdDV1Ti5pc0FjdGl2ZS1NaTBfdDV1TjphY3RpdmUgLnNob3J0Y3V0LU1pMF90NXVOe2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS1NaTBfdDV1Ti5pc0FjdGl2ZS1NaTBfdDV1Tjpob3ZlciAuc2hvcnRjdXQtTWkwX3Q1dU57Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9fS5pdGVtLU1pMF90NXVOLmlzQWN0aXZlLU1pMF90NXVOIC50b29sYm94LU1pMF90NXVOLnRvb2xib3gtTWkwX3Q1dU4sLml0ZW0tTWkwX3Q1dU4uaXNBY3RpdmUtTWkwX3Q1dU46YWN0aXZlIC50b29sYm94LU1pMF90NXVOLnRvb2xib3gtTWkwX3Q1dU57Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLU1pMF90NXVOLmlzQWN0aXZlLU1pMF90NXVOOmhvdmVyIC50b29sYm94LU1pMF90NXVOLnRvb2xib3gtTWkwX3Q1dU57Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9fS5pdGVtLU1pMF90NXVOOmJlZm9yZXtjb250ZW50OiIgIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoyOHB4fS53aXRoSWNvbi1NaTBfdDV1TntwYWRkaW5nLWJvdHRvbTo2cHg7cGFkZGluZy10b3A6NnB4fS5yb3VuZC1pY29uLU1pMF90NXVOe2JvcmRlci1yYWRpdXM6NTAlO292ZXJmbG93OmhpZGRlbn0uaWNvbi1NaTBfdDV1Tiwuc3RhcnRTbG90LU1pMF90NXVOe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7ZmxleC1zaHJpbms6MDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1pbmxpbmUtZW5kOjZweDttYXgtaGVpZ2h0OjI4cHg7bWF4LXdpZHRoOjI4cHh9Lmljb24tTWkwX3Q1dU4gc3Zne2Rpc3BsYXk6YmxvY2t9LmxhYmVsUm93LU1pMF90NXVOe2FsaWduLWl0ZW1zOmJhc2VsaW5lO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7ZmxleDowIDEgMTAwJTtmbGV4LWRpcmVjdGlvbjpyb3c7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjA7cGFkZGluZy1pbmxpbmUtZW5kOjEycHh9LmxhYmVsUm93LU1pMF90NXVOOmZpcnN0LWNoaWxke3BhZGRpbmctaW5saW5lLXN0YXJ0OjRweH0ubGFiZWxSb3ctTWkwX3Q1dU46bGFzdC1jaGlsZHtwYWRkaW5nLWlubGluZS1lbmQ6NHB4fS5sYWJlbC1NaTBfdDV1TntkaXNwbGF5OmZsZXg7ZmxleDowIDAgYXV0bzttYXgtd2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW59LnNob3J0Y3V0LU1pMF90NXVOe2ZvbnQtc2l6ZToxMnB4O21hcmdpbi1pbmxpbmUtZW5kOjVweDttYXJnaW4taW5saW5lLXN0YXJ0OjU4cHg7dGV4dC1hbGlnbjplbmR9Lml0ZW0tTWkwX3Q1dU4uaXRlbS1NaTBfdDV1Tjpub3QoLmlzQWN0aXZlLU1pMF90NXVOKSAuc2hvcnRjdXQtTWkwX3Q1dU57Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1oaW50LXRleHQsdmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwpKX0uaXRlbS1NaTBfdDV1Ti5pdGVtLU1pMF90NXVOLmlzQWN0aXZlLU1pMF90NXVOIC5zaG9ydGN1dC1NaTBfdDV1Tntjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWhpbnQtdGV4dCx2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1pbnZlcnNlKSl9LnRvb2xib3gtTWkwX3Q1dU57YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlfS5mZWF0dXJlLW5vLXRvdWNoIC50b29sYm94LU1pMF90NXVOLnNob3dPbkhvdmVyLU1pMF90NXVOe29wYWNpdHk6MH0udG9vbGJveC1NaTBfdDV1Tj46bm90KDpsYXN0LWNoaWxkKXttYXJnaW4taW5saW5lLWVuZDo0cHh9QG1lZGlhIChtYXgtd2lkdGg6NDQwcHgpey50b29sYm94LU1pMF90NXVOPjpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1pbmxpbmUtZW5kOjhweH19LmRpc2Nsb3N1cmUtaXRlbS1jaXJjbGUtbG9nby1NaTBfdDV1TntmbGV4LXNocmluazowO21hcmdpbi1pbmxpbmUtZW5kOjZweH0uZmVhdHVyZS1uby10b3VjaCAuaXRlbS1NaTBfdDV1Tjpmb2N1cy12aXNpYmxlIC50b29sYm94LU1pMF90NXVOLnNob3dPbkZvY3VzLU1pMF90NXVOe29wYWNpdHk6MX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmZlYXR1cmUtbm8tdG91Y2ggLml0ZW0tTWkwX3Q1dU46aG92ZXIgLnRvb2xib3gtTWkwX3Q1dU4uc2hvd09uSG92ZXItTWkwX3Q1dU57b3BhY2l0eToxfX0uZmVhdHVyZS1uby10b3VjaCAuaXRlbS1NaTBfdDV1TjpoYXMoOmZvY3VzLXZpc2libGUpIC50b29sYm94LU1pMF90NXVOLnNob3dPbkZvY3VzLU1pMF90NXVOe29wYWNpdHk6MX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"code.tidio.co/v5km6ttwccfxj3jnedqxjetkhv5srogm.js","fqdn":"code.tidio.co","domain":"tidio.co","tld":"co"},"ip":{"addr":"104.26.1.115","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.433Z","timestamp":1785120633433,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"tidio.co","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 21 Jun 2026 20:02:32 GMT","end":"Sat, 19 Sep 2026 21:02:13 GMT"},"fingerprint":{"sha1":"B4:2F:9E:39:BF:54:A9:3D:84:9B:3D:A5:1E:C6:7A:DE:29:83:DC:D2","sha256":"CF:10:9D:C6:D1:72:BD:AB:36:BF:B0:F3:01:C9:0F:59:EA:1D:4A:4A:8A:18:0E:B4:82:77:9B:92:D7:AE:5E:4E"}}},"request":{"raw":"GET /v5km6ttwccfxj3jnedqxjetkhv5srogm.js HTTP/1.1\r\nHost: code.tidio.co\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://247optiontradefx.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 403 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: text/html; charset=UTF-8\r\ncache-control: public, s-maxage=600, max-age=0\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=%2FdCjoWF6dfQ6rAAoxrRp9J2kTiZ2blXCMjogiMZw43OG9dl0dQpWsppSL8IXczcZgkMVc9avATEpjxK0IDVBjrrg5zO0ArjU21celxtpZ4RAJsXlA%2FyievBBoHr3b9Y%3D\"}]}\r\nserver: cloudflare\r\nvary: Accept-Encoding\r\nage: 373\r\ncf-cache-status: HIT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncontent-encoding: br\r\ncf-ray: a2185656f8264c11-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"403","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"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/html; charset=UTF-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-07-27T05:14:11.3544Z","times_seen":17556491,"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":"247optiontradefx.com/img/case.png","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.445Z","timestamp":1785120633445,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /img/case.png HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/css/style.css\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: image/png\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-2fe3\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":12259,"size_decoded":10431,"mime_type":"image/png","magic":"PNG image data, 813 x 673, 8-bit/color RGBA, non-interlaced","md5":"adc33749b8b36ae7ee028e03c0335ba7","sha1":"9e2f5d8a3669aa5ce2600489b58367c07eb208d4","sha256":"8b95a7ab1d70bf2fa1eed15d852c2f96cf78d5b2db899d364441a1dc9f5a813c","sha512":"d613faf3d169a3bb0ea50170bec0df5f6d12e3fc979fa1fb8906be1a827ab5ed97491488f084e3b605003d37a03384e055de4b4c430d1d66ada9c9711bd76669","ssdeep":"192:8rPnSFcbHHkOC4OHD60RieXWXOMfZ0vUe8aRh+IUTF9k5tdPSPNTC438zPQRhfie:8bUc9RFs+IUT0tdPSlGdzQDlWIT","tlshash":"fc42c404fc1efadf062c4d592d68ee150270e8d13ef8a2706f9faa5924542cdecd4ea5","first_seen":"2026-07-27T02:45:25.214245Z","last_seen":"2026-07-27T02:59:54.60941Z","times_seen":4,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAy0AAAKhCAYAAABdFUERAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA8hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wUmlnaHRzPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvcmlnaHRzLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcFJpZ2h0czpNYXJrZWQ9IkZhbHNlIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InV1aWQ6MEMzMUQxMDk2Q0MzRTIxMUI1MDJCQkE3MjNFQTVDNUMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTVDNTUyQzM5MTcwMTFFOEJFN0FFRDUxOERBRTRFNkEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTVDNTUyQzI5MTcwMTFFOEJFN0FFRDUxOERBRTRFNkEiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxZDAwY2ZhNC0yNjE0LTRhMDQtOTU3Yi04ZWZiM2Q3MmI1NDYiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDozYjlhM2I2ZC05ZjdiLTRmNDgtOTYxNC02ZDA1NTA3OWZhM2YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7GWkHBAAArsUlEQVR42uzdW6wk950X8Pr3OXN1PB7fguNol13txXF2QRuBYFEeCNlN8hQERIq0IF5B2peAxG0FaIUQkAceQFqkiId9QAIhkDYSQooUbSTkRbnsEtZeQmyHOOvEiWMn4+vcPGdOd1F9pttTp6bul+7qrs/HKvWturu6pur4/+3f///vEMdxRGezZPnZZHkyWX4iWd6TLJftFgCASXojWa4ly4vJ8nyyvJAsGt0dHNoFrV1Ilr+2Wj6SLA/ZJQAA5PhxsnwpWX4nWf5bstyyS5oJKi2NvTdZ/l6y/K1kecDuAACggdeS5beS5d+GEN6o+6Spt9mFlvqWVam/kyy/Gd3p/gUAAG29mSy/kSz/PgkvC6FFaOnDTyfLf0mWP2tXAADQo6eS5deS4PKy0CK0dPGryfJfIwPrAQAYxivJ8leS4PI1oSXfzDFS6q8my38XWAAAGNBjSSj5UrL8il2RT6Wl2EeT5QvJctauAABgaEm7/GYI4S/lVVx0DxNa8jyR7JffTw6YS3YFAAAbDC5XkjboLyXLD4SWu3QPu9fZxWLxnwUWAAA2LWmDPpIElP+YLAf2htBSKAks/2g2m/2SPQEAwJaCy19M2qR/255I7RPdw075yWR/PJccKBfsCgAAtiVpk76VtEl/Lll+vLo96f2h0pIyn8//icACAMC2JW3SB46Pj/+BPbHaHyot71pONfdicoCcsysAANi2xWLx9mw2e3/SPr2m0sKJW7du/U2BBQCA0TTUZ7NLSXD56/aE0PKuJLD8DXsBAIAxuX37ttAS6R629kiy/Gi5P+wKAADGImmrH4UQHkquXp/yflBpSdy8efOjAgsAAGOTBJazx8fHvzz1/SC0JI6Ojv6MvQAAwBhdv379Q0ILy0FOP28vAAAwUh8UWogODg7eZy8AADBGIYTJt1WFluik0vIeewEAgJGGlsm3VYWWO87YBQAAjLLBPptdEFoAAACEFgAAAKEFAAAQWgAAAIQWAAAAoQUAABBaAAAAhBYAAEBoAQAAEFoAAACEFgAAQGgBAAAQWgAAAKEFAABAaAEAABBaAAAAoQUAAEBoAQAAhBYAAAChBQAAQGgBAACEFgAAAKEFAAAQWgAAAIQWAAAAoQUAABBaAAAAhBYAAAChBQAAEFoAAACEFgAAQGgBAAAQWgAAAIQWAABAaAEAABBaAAAAoQUAAEBoAQAAEFoAAAChBQAAQGgBAACEFgAAAKEFAABAaAEAAIQWAAAAoQUAABBaAAAAhBYAAAChBQAAEFoAAACEFgAAAKEFAAAQWgAAAIQWAABAaAEAABBaAAAAhBYAAEBoAQAAEFoAAAChBQAAQGgBAAAQWgAAAKEFAABAaAEAAIQWAAAAoQUAAEBoAQAAhBYAAAChBQAAEFoAAACEFgAAAKEFAAAQWgAAAIQWAAAAoQUAABBaAAAAhBYAAEBoAQAAEFoAAACEFgAAQGgBAAAQWgAAAKEFAABAaAEAABBaAAAAoQUAAEBoAQAAhBYAAAChBQAAQGgBAACEFgAAAKEFAAAQWgAAAIQWAAAAoQUAABBaAAAAhBYAAAChBQAAEFoAAACEFgAAQGgBAAAQWgAAAIQWAABAaAEAABBaAAAAoQUAAEBoAQAAEFoAAAChBQAAQGgBAACEFgAAAKEFAABAaAEAAIQWAAAAoQUAABBaAAAAhBYAAAChBQAAEFoAAACEFgAAAKEFAAAQWgAAAIQWAABAaAEAABBaAAAAhBYAAEBoAQAAEFoAAAChBQAAQGgBAAAQWgAAAKEFAABAaAEAAIQWAAAAoQUAAEBoAQAAhBYAAAChBQAAEFoAAACEFgAAAKEFAAAQWgAAAIQWAAAAoQUAABBaAAAAhBYAAEBoAQAAEFoAAACEFgAAQGgBAAAQWgAAAKEFAABAaAEAABBaAAAAoQUAAEBoAQAAhBYAAAChBQAAQGgBAACEFgAAAKEFAAAQWgAAAIQWAAAAoQUAABBaAAAAhBYAAAChBQAAEFoAAACEFgAAQGgBAAAQWgAAAIQWAABAaAEAABBaAAAAoQUAAEBoAQAAEFoAAAChBQAAQGgBAACEFgAAAKEFAABAaAEAAIQWAAAAoQUAABBaAAAAhBYAAAChBQAAEFoAAACEFgAAAKEFAAAQWgAAAIQWAABAaAEAABBaAAAAhBYAAEBoAQAAEFoAAAChBQAA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"}},"time_used":77,"timings":{"blocked":45,"dns":0,"connect":0,"send":0,"wait":32,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/42171.1c05d8147c230d86b4fa.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.899Z","timestamp":1785120633899,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/42171.1c05d8147c230d86b4fa.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-4ff4\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:02:18\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b05637f648b79a1ae26a45a827b62575\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":20468,"size_decoded":7449,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"edddce8d1d6f604a250bcfbe9d7eb025","sha1":"253ca6c52edbd8045f2d7582a4cbe1d58aa63fb7","sha256":"5ce8d2d6a4b23546f3ef7e86e56e51c0dd33a1ed0a3cef47794f49bbaf49fd90","sha512":"8bea5dd5042c7cbb2e5672e14ea2d4734a6fec646472748c7fc97e3549559befc114de998d38beab5c5097dccc1d9db856c75c8b482946bb7276dc6c44fffb43","ssdeep":"384:BrqTqqPiwUF5A2XlUggtc6TPlrtRH/hIRgvFoPVAAg0dUDs3nRCvO3Ja7m8t51hv:FqTLPinvA2uggtc6TPlrtRH/hImvFoP8","tlshash":"fd92b424f382216105eb91ed1c760913b63bb7963c87466db92c9ace675c918f372b3c","first_seen":"2026-07-22T16:00:00.324158Z","last_seen":"2026-07-27T06:01:16.155257Z","times_seen":31,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNDIxNzFdLHsyNDIxNzEoZSx0LGkpe2kuZCh0LHtNaW5pQ2hhcnRQbG90QmFzZTooKT0+VSxjdXN0b21QcmljZUZvcm1hdEJ5U3ltYm9sSW5mbzooKT0+Rixpc1RpbWVQb2ludEluZGV4OigpPT5QLHNlcmllc0hvcnpNYXJnaW5zRGVmYXVsdHM6KCk9PkV9KTt2YXIgcz1pKDY2MzA0Nikscj1pKDY3ODMxMiksYT1pKDc0MDE2Miksbz1pKDMwNDIyMSksbj1pKDEzODYzOCksbD1pKDEzNDY3KSxoPWkoMjIxMDYxKSx1PWkoNjAxODQxKSxkPWkoMjMyMzY0KSxfPWkoNDAyMDQ1KSxjPWkoOTUyOTAwKSxtPWkoMTUwMTUwKSxwPWkoOTQ4MzgwKSxnPWkoNzczMDg4KSxTPWkoODE0NTg5KSx5PWkoNzgzMjU0KSxmPWkoOTg0Mzc2KSxDPWkoNDA3Nzk5KSxiPWkoMTExOTUzKSx2PWkoMTI4OTk4KSx3PWkoMTEzNTY3KSxJPWkoODczNTczKSxWPWkoMjI2OTM3KSxEPWkoNjk1OTQ2KTtjb25zdCBCPSgwLGguZ2V0TG9nZ2VyKSgiQ2hhcnQuTWluaUNoYXJ0IiksTz1uZXcgZi5Wb2x1bWVGb3JtYXR0ZXI7ZnVuY3Rpb24gTChlLHQsaSxzKXtyZXR1cm57dGltZTp0LGNvbG9yOnMsdmFsdWU6aVtlXX19ZnVuY3Rpb24gVChlLHQpe3JldHVybnt0aW1lOmUsb3Blbjp0WzFdLGhpZ2g6dFsyXSxsb3c6dFszXSxjbG9zZTp0WzRdfX1mdW5jdGlvbiB4KGUsdCxpLHMscil7cmV0dXJue3RpbWU6ZSx0b3BDb2xvcjpzLGJvdHRvbUNvbG9yOnIsbGluZUNvbG9yOmksdmFsdWU6dFs0XX19ZnVuY3Rpb24gTShlKXtjb25zdCB0PW5ldyBEYXRlKGUpO3JldHVybiBEYXRlLlVUQyh0LmdldEZ1bGxZZWFyKCksdC5nZXRNb250aCgpLHQuZ2V0RGF0ZSgpLHQuZ2V0SG91cnMoKSx0LmdldE1pbnV0ZXMoKSx0LmdldFNlY29uZHMoKSkvMWUzfWZ1bmN0aW9uIFAoZSl7cmV0dXJuKDAsdS5pc0ludGVnZXIpKGUpfWNvbnN0IGs9KDAscy5kZWZhdWx0KShJLnJlc2V0VHJhbnNwYXJlbmN5KTtmdW5jdGlvbiBGKGUpe2NvbnN0IHQ9KDAsdi5jcmVhdGVTZXJpZXNGb3JtYXR0ZXIpKGUsImRlZmF1bHQiKTtyZXR1cm57dHlwZToiY3VzdG9tIixtaW5Nb3ZlOmUubWlubW92L2UucHJpY2VzY2FsZSxiYXNlOmUucHJpY2VzY2FsZS9lLm1pbm1vdixmb3JtYXR0ZXI6ZT0+dC5mb3JtYXQoZSl9fWNvbnN0IEU9e2xlZnRMb2dpY2FsOjAscmlnaHRMb2dpY2FsOjAsbGVmdFB4OjAscmlnaHRQeDo0fTtmdW5jdGlvbiBXKGUpe2lmKDA9PT1lLnNlcmllcy5sZW5ndGgpcmV0dXJuIG51bGw7Y29uc3QgdD1lLnNlcmllc1swXSxpPXQudmFsdWU/P3QuY2xvc2Uscz1lLnNlcmllc1tlLnNlcmllcy5sZW5ndGgtMV0scj1zLnZhbHVlPz9zLmNsb3NlO3JldHVybntmaXJzdDp7dmFsdWU6aSx0aW1lOnQudGltZX0sbGFzdDp7dmFsdWU6cix0aW1lOnMudGltZX19fWNsYXNzIFV7Y29uc3RydWN0b3IoZSx0LGkscyl7dGhpcy5fc3ltYm9sQ2hhbmdlZD1uZXcgcC5EZWxlZ2F0ZSx0aGlzLl9zZXJpZXNDaGFuZ2VkPW5ldyBwLkRlbGVnYXRlLHRoaXMuX3doaXRlc3BhY2VzPW51bGwsdGhpcy5fc3ltYm9sUmVzb2x2ZWQ9bmV3IHAuRGVsZWdhdGUsdGhpcy5fb3JpZ2luYWxTY2FsZU1vZGU9bnVsbCx0aGlzLl9jdXN0b21QcmljZUZvcm1hdHRlcj1udWxsLHRoaXMuX2lzRGVzdHJveWVkPW5ldyBkLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fc3RhdHVzPW5ldyBkLldhdGNoZWRWYWx1ZSgwKSx0aGlzLl9ub0RhdGE9bmV3IGQuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2NoYXJ0VHlwZT1uZXcgZC5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fZGlyZWN0aW9uQmFzZWRDb2xvcj1uZXcgZC5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fZGF0YUxlbmd0aEluZm89bnVsbCx0aGlzLl9zZXNzaW9uSWQ9bmV3IGQuV2F0Y2hlZFZhbHVlLHRoaXMuX2JhckJ1aWxkZXJMb2FkZXI9bnVsbCx0aGlzLl9zeW1ib2xJbmZvPW51bGwsdGhpcy5fc3ltYm9sSW5mb1dWPW5ldyBfLldhdGNoZWRPYmplY3QobnVsbCksdGhpcy5fc3ltYm9sPXtzeW1ib2w6IiJ9LHRoaXMuX21pbkJhckluZGV4PW51bGwsdGhpcy5fbWF4QmFySW5kZXg9bnVsbCx0aGlzLl9sYXN0VmFsdWU9bmV3IGQuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2lzVmlzaWJsZT1uZXcgZC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2lkPSgwLG0ucmFuZG9tSGFzaCkoKSx0aGlzLl90aW1lRnJhbWVJbnZhbGlkYXRlZD1uZXcgcC5EZWxlZ2F0ZSx0aGlzLl9maXJzdFZhbHVlQ2FjaGU9bnVsbCx0aGlzLl9maXJzdEJhclRpbWU9bmV3IGQuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2xlZ2VuZExhc3RCYXJEYXRhPW51bGwsdGhpcy5faGlzdG9yeVVwZGF0ZVJlY2VpdmVkPSExLHRoaXMuX21pbmlDaGFydD1lLHRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucz10LHRoaXMuX2N1cnJlbnRTZXJpZXNPcHRpb25zPSgwLGEuZGVmYXVsdCkoe30sdCksdGhpcy5fb3B0aW9ucz1zLHRoaXMuX3Nlcmllcz10aGlzLl9jcmVhdGVTZXJpZXMoKSx0aGlzLl9jaGFydFR5cGUuc2V0VmFsdWUodC5jaGFydFR5cGU/P251bGwpLHRoaXMuX29yaWdpbmFsVm9sdW1lT3B0aW9ucz1pLHRoaXMuX3ZvbHVtZT10aGlzLl9jcmVhdGVWb2x1bWUoKSx0aGlzLl90aW1lRnJhbWU9ZS50aW1lZnJhbWUoKS5zcGF3bigpLHRoaXMuX3RpbWVGcmFtZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU2Vzc2lvbklkLmJpbmQodGhpcykpLHRoaXMuX2N1cnJlbnRseVNob3duRGF0YURlc2NyaXB0aW9uPW5ldyBfLldhdGNoZWRPYmplY3Qoe3RpbWVmcmFtZTp0aGlzLl90aW1lRnJhbWUudmFsdWUoKSxzeW1ib2w6dGhpcy5zeW1ib2woKX0pLHRoaXMuX2lzTGFzdFNlc3Npb25JbnRlcnZhbD0oMCxjLmNvbWJpbmUpKChlPT4iTEFTVFNFU1NJT04iPT09KDAsZy5jb252ZXJ0VGltZUZyYW1lVG9TdHIpKGUpKSx0aGlzLl9taW5pQ2hhcnQudGltZWZyYW1lKCkud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9pc0xhc3RTZXNzaW9uSW50ZXJ2YWwuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVNlc3Npb25JZC5iaW5kKHRoaXMpKSwKdGhpcy5fbWluaUNoYXJ0LnRpbWVTY2FsZVNpemVDaGFuZ2VkKCkuc3Vic2NyaWJlKG51bGwsdGhpcy5fdGltZVNjYWxlU2l6ZUNoYW5nZWQuYmluZCh0aGlzKSksdGhpcy5fc3RhdHVzLnN1YnNjcmliZSgoZT0+ezMhPT1lJiYodGhpcy5fbGFzdFZhbHVlLnNldFZhbHVlKG51bGwpLHRoaXMuX29uTGFzdEJhckRhdGFNYXlDaGFuZ2UoKSl9KSl9ZGVzdHJveSgpe3RoaXMuX3N0YXR1cy51bnN1YnNjcmliZSgpLHRoaXMuX3RpbWVGcmFtZS5kZXN0cm95KCksdGhpcy5faXNEZXN0cm95ZWQuc2V0VmFsdWUoITApLHRoaXMuX2lzTGFzdFNlc3Npb25JbnRlcnZhbC5kZXN0cm95KCksdGhpcy5fYmFyQnVpbGRlckxvYWRlcj8uZGVzdHJveSgpfWlkKCl7cmV0dXJuIHRoaXMuX2lkfXN0YXR1cygpe3JldHVybiB0aGlzLl9zdGF0dXMucmVhZG9ubHkoKX1ub0RhdGEoKXtyZXR1cm4gdGhpcy5fbm9EYXRhLnJlYWRvbmx5KCl9Y2hhcnRUeXBlKCl7cmV0dXJuIHRoaXMuX2NoYXJ0VHlwZS5yZWFkb25seSgpfXN5bWJvbEluZm8oKXtyZXR1cm4gdGhpcy5fc3ltYm9sSW5mb31zeW1ib2xJbmZvV1YoKXtyZXR1cm4gdGhpcy5fc3ltYm9sSW5mb1dWLnJlYWRvbmx5KCl9c3ltYm9sKCl7cmV0dXJuIHRoaXMuX3N5bWJvbC5zeW1ib2x9c3ViU2Vzc2lvbigpe3JldHVybiB0aGlzLl9zZXNzaW9uSWQudmFsdWUoKX1zZXRTeW1ib2woZSx0KXtyZXR1cm4oMCxvLmRlZmF1bHQpKGUpJiYoZT0oMCxiLmlzRW5jb2RlZEV4dGVuZGVkU3ltYm9sKShlKT8oMCxiLmRlY29kZUV4dGVuZGVkU3ltYm9sKShlKTp7Li4udGhpcy5fc3ltYm9sLHN5bWJvbDplfSksdm9pZCAwIT09dCYmdGhpcy5fdXBkYXRlU2VyaWVzT3B0aW9ucyh0KSwhKDAsYi5jb21wYXJlU3ltYm9scykodGhpcy5fc3ltYm9sLGUpJiYodGhpcy5fc3ltYm9sPWUsdGhpcy5fdXBkYXRlU2Vzc2lvbklkKCksdGhpcy5fc3ltYm9sQ2hhbmdlZC5maXJlKCksITApfWV4dGVuZGVkU3ltYm9sKCl7cmV0dXJuey4uLnRoaXMuX3N5bWJvbCxzZXNzaW9uOnRoaXMuX3Nlc3Npb25JZC52YWx1ZSgpfX1xdW90ZXNTeW1ib2woKXtyZXR1cm57Li4udGhpcy5leHRlbmRlZFN5bWJvbCgpLG1ldHJpYzp2b2lkIDB9fXVwZGF0ZVNlcmllc09wdGlvbnMoZSl7bGV0IHQ9ITE7dm9pZCAwIT09ZS5jaGFydFR5cGUmJnRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucy5jaGFydFR5cGUhPT1lLmNoYXJ0VHlwZT90PSEwOiJsaW5lIiE9PXRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucy5jaGFydFR5cGUmJiJhcmVhIiE9PXRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucy5jaGFydFR5cGV8fCh0PSJwb3N0bWFya2V0TGluZUNvbG9yImluIGUmJnRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucy5wb3N0bWFya2V0TGluZUNvbG9yIT09ZS5wb3N0bWFya2V0TGluZUNvbG9yfHwicHJlbWFya2V0TGluZUNvbG9yImluIGUmJnRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucy5wcmVtYXJrZXRMaW5lQ29sb3IhPT1lLnByZW1hcmtldExpbmVDb2xvcnx8Im5pZ2h0TGluZUNvbG9yImluIGUmJnRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucy5uaWdodExpbmVDb2xvciE9PWUubmlnaHRMaW5lQ29sb3IpLHRoaXMuX3VwZGF0ZVNlcmllc09wdGlvbnMoZSksdD90aGlzLl9vbkNoYXJ0U3R5bGVDaGFuZ2VkKCk6dGhpcy5fc2VyaWVzLmFwcGx5T3B0aW9ucyhlKX1hcHBseU9wdGlvbnMoZSl7KDAsYS5kZWZhdWx0KSh0aGlzLl9vcHRpb25zLGUpfXN5bWJvbFJlc29sdmVkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbFJlc29sdmVkfXN5bWJvbENoYW5nZWQoKXtyZXR1cm4gdGhpcy5fc3ltYm9sQ2hhbmdlZH1zZXJpZXNDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3Nlcmllc0NoYW5nZWR9dGltZUZyYW1lSW52YWxpZGF0ZWQoKXtyZXR1cm4gdGhpcy5fdGltZUZyYW1lSW52YWxpZGF0ZWR9cmVzdG9yZU9yaWdpbmFsU2NhbGVNb2RlKCl7bnVsbCE9PXRoaXMuX29yaWdpbmFsU2NhbGVNb2RlJiZ0aGlzLl9zZXJpZXMucHJpY2VTY2FsZSgpLmFwcGx5T3B0aW9ucyh7bW9kZTp0aGlzLl9vcmlnaW5hbFNjYWxlTW9kZX0pfXN3aXRjaFRvUGVyY2VudGFnZVNjYWxlTW9kZSgpe251bGw9PT10aGlzLl9vcmlnaW5hbFNjYWxlTW9kZSYmKHRoaXMuX29yaWdpbmFsU2NhbGVNb2RlPXRoaXMuX3Nlcmllcy5wcmljZVNjYWxlKCkub3B0aW9ucygpLm1vZGUpLHRoaXMuX3Nlcmllcy5wcmljZVNjYWxlKCkuYXBwbHlPcHRpb25zKHttb2RlOnIuUHJpY2VTY2FsZU1vZGUuUGVyY2VudGFnZX0pfWNoYXJ0U2Vzc2lvbigpe3JldHVybiB0aGlzLl9taW5pQ2hhcnQuY2hhcnRTZXNzaW9uKCl9Y3VycmVudFNlcmllc09wdGlvbnMoKXtyZXR1cm4gdGhpcy5fY3VycmVudFNlcmllc09wdGlvbnN9dm9sdW1lT3B0aW9ucygpe3JldHVybiB0aGlzLl9vcmlnaW5hbFZvbHVtZU9wdGlvbnN9c2VyaWVzKCl7cmV0dXJuIHRoaXMuX3Nlcmllc312b2x1bWUoKXtyZXR1cm4gdGhpcy5fb3JpZ2luYWxWb2x1bWVPcHRpb25zLnZpc2libGU/dGhpcy5fdm9sdW1lOm51bGx9dXBkYXRlRGF0YShlLHQsaSl7ZSYmdGhpcy5jbGVhclNvdXJjZURhdGEoKTtjb25zdCBzPXRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucyxyPXRoaXMuX2J1aWxkVmlld0RhdGEoaSksYT1yLnNlcmllcy5sZW5ndGg7dGhpcy5faGlzdG9yeVVwZGF0ZVJlY2VpdmVkPXRoaXMuX2hpc3RvcnlVcGRhdGVSZWNlaXZlZHx8dm9pZCAwPT09aSx2b2lkIDAhPT1pfHwiYXJlYSIhPT1zLmNoYXJ0VHlwZSYmImxpbmUiIT09cy5jaGFydFR5cGV8fCh0aGlzLl9maXJzdFZhbHVlQ2FjaGU9ci5zZXJpZXNbMF0/LnZhbHVlPz9udWxsKTtjb25zdCBvPXRoaXMuX2hpc3RvcnlVcGRhdGVSZWNlaXZlZCYmbnVsbD09PXRoaXMuX2RhdGFMZW5ndGhJbmZvO2lmKHZvaWQgMCE9PWkmJiFvKXtjb25zdCBlPXRoaXMuX2RhdGFMZW5ndGhJbmZvO2lmKG51bGw9PT1lKXJldHVybjtjb25zdCB0PXsuLi5lfTtlLmxhc3RCYXJTZXNzaW9uPXIubGFzdEJhclNlc3Npb247bGV0IGk9bnVsbDtmb3IoY29uc3QgdCBvZiByLnNlcmllcyl0aGlzLl9zZXJpZXMudXBkYXRlKHQpLAoobnVsbD09PWUubGFzdEJhclRpbWV8fGUubGFzdEJhclRpbWU8dC50aW1lKSYmKGk9dC50aW1lLGUubGFzdEJhclRpbWU9aSxlLnJlYWx0aW1lKz0xLGUubGFzdEJhckluZGV4PShlLmxhc3RCYXJJbmRleD8/LTEpKzEpO2lmKHIuYWRkaXRpb25hbFNlcmllcyYmdGhpcy5fdXBkYXRlQWRkaXRpb25hbFNlcmllc0RhdGEoci5hZGRpdGlvbmFsU2VyaWVzKSxyLnZvbHVtZSlmb3IoY29uc3QgZSBvZiByLnZvbHVtZSl0aGlzLl92b2x1bWUudXBkYXRlKGUpO2lmKHZvaWQgMCE9PXRoaXMuX3doaXRlc3BhY2VzRGF0YSYmbnVsbCE9PWkpe2NvbnN0IHQ9dGhpcy5fd2hpdGVzcGFjZXNEYXRhLmZpbmRJbmRleCgoZT0+ZS50aW1lPmkpKTstMT09PXQ/KGUud2hpdGVzcGFjZXM9MCx0aGlzLl91cGRhdGVXaGl0ZXNwYWNlcyhbXSkpOjAhPT10JiYoZS53aGl0ZXNwYWNlcy09dCx0aGlzLl91cGRhdGVXaGl0ZXNwYWNlcyh0aGlzLl93aGl0ZXNwYWNlc0RhdGEuc2xpY2UodCkpKX1udWxsIT09aSYmKHZvaWQgMCE9PWUuZml4TGVmdEVkZ2VVbnRpbD8odGhpcy5faXNNYWluUGxvdCgpJiZlLmZpeExlZnRFZGdlVW50aWw+PWkmJnRoaXMuX21pbmlDaGFydC5maXRDb250ZW50KCksaT5lLmZpeExlZnRFZGdlVW50aWwmJihlLmhpc3RvcnkrPWUucmVhbHRpbWUtMSxlLnJlYWx0aW1lPTAsZS5maXhMZWZ0RWRnZVVudGlsPXZvaWQgMCxlLnRpbWVGcmFtZUludmFsaWRhdGVkPSEwLHRoaXMuX3RpbWVGcmFtZUludmFsaWRhdGVkLmZpcmUoKSkpOmUudGltZUZyYW1lSW52YWxpZGF0ZWR8fChlLnRpbWVGcmFtZUludmFsaWRhdGVkPSEwLHRoaXMuX3RpbWVGcmFtZUludmFsaWRhdGVkLmZpcmUoKSkpLHRoaXMuX3VwZGF0ZVNlcmllc0NvbG9yKHIuc2VyaWVzW3Iuc2VyaWVzLmxlbmd0aC0xXSksdGhpcy5fZGF0YVVwZGF0ZWQocixlLHQpO2NvbnN0IHM9VyhyKTtyZXR1cm4gdm9pZChudWxsIT09cyYmKHRoaXMuX2xhc3RWYWx1ZS5zZXRWYWx1ZShzLmxhc3QudmFsdWUpLHRoaXMuX29uTGFzdEJhckRhdGFNYXlDaGFuZ2UoKSkpfWNvbnN0IG49ci53aGl0ZXNwYWNlcyxsPW4/Lmxlbmd0aD8/MDt0aGlzLl9kYXRhTGVuZ3RoSW5mbz17aGlzdG9yeTphLHJlYWx0aW1lOjAsbGFzdEJhckluZGV4OjA9PT1hP251bGw6YS0xLGxhc3RCYXJUaW1lOjA9PT1hP251bGw6ci5zZXJpZXNbYS0xXS50aW1lLHdoaXRlc3BhY2VzOmwsZml4TGVmdEVkZ2VVbnRpbDpyLmZpeExlZnRFZGdlVW50aWwsdGltZUZyYW1lSW52YWxpZGF0ZWQ6ITEsbGFzdEJhclNlc3Npb246ci5sYXN0QmFyU2Vzc2lvbn0sdGhpcy5fdXBkYXRlU2VyaWVzQ29sb3IoMD09PWE/dm9pZCAwOnIuc2VyaWVzW2EtMV0pLHRoaXMuX3Nlcmllcy5hcHBseU9wdGlvbnModGhpcy5fY3VycmVudFNlcmllc09wdGlvbnMpLHRoaXMuX2FwcGx5UHJpY2VTY2FsZUZvcm1hdHRlcigpLHR8fHRoaXMuX2JlZm9yZURhdGFSZWFkeSgpLHRoaXMuX3Nlcmllcy5zZXREYXRhKHIuc2VyaWVzKSxyLmFkZGl0aW9uYWxTZXJpZXMmJnRoaXMuX3NldEFkZGl0aW9uYWxTZXJpZXNEYXRhKHIuYWRkaXRpb25hbFNlcmllcyksci52b2x1bWUmJnRoaXMuX3ZvbHVtZS5zZXREYXRhKHIudm9sdW1lKSx0aGlzLl91cGRhdGVXaGl0ZXNwYWNlcyhyLndoaXRlc3BhY2VzKSx0aGlzLl9kYXRhVXBkYXRlZChyLHRoaXMuX2RhdGFMZW5ndGhJbmZvKTtjb25zdCBoPVcocik7aWYobnVsbCE9PWgpe2NvbnN0e2ZpcnN0OmUsbGFzdDp0fT1oO3RoaXMuX2xhc3RWYWx1ZS5zZXRWYWx1ZSh0LnZhbHVlKSx0aGlzLl9maXJzdEJhclRpbWUuc2V0VmFsdWUoZS50aW1lKSx0aGlzLl9vbkxhc3RCYXJEYXRhTWF5Q2hhbmdlKCl9fXRpdGxlcygpe3JldHVybiB0aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucy50aXRsZT9bdGhpcy5fY3VycmVudFNlcmllc09wdGlvbnMudGl0bGVdOltdfWRlbGV0ZVZpZXcoKXt0aGlzLl9zZXJpZXMuc2V0RGF0YShbXSksdGhpcy5fd2hpdGVzcGFjZXM/LnNldERhdGEoW10pLHRoaXMuX3ZvbHVtZS5zZXREYXRhKFtdKX1jbGVhckRhdGEoKXt0aGlzLl9zeW1ib2xJbmZvPW51bGwsdGhpcy5fc3ltYm9sSW5mb1dWLnNldFZhbHVlKG51bGwpLHRoaXMuX2hpc3RvcnlVcGRhdGVSZWNlaXZlZD0hMSx0aGlzLl9kYXRhTGVuZ3RoSW5mbz1udWxsLHRoaXMuX2ZpcnN0VmFsdWVDYWNoZT1udWxsLHRoaXMuX2N1c3RvbVByaWNlRm9ybWF0dGVyPW51bGwsdGhpcy5fc3RhdHVzLnNldFZhbHVlKDApLHRoaXMuX25vRGF0YS5zZXRWYWx1ZShudWxsKSx0aGlzLl9kaXJlY3Rpb25CYXNlZENvbG9yLnNldFZhbHVlKG51bGwpfXJlc29sdXRpb24oKXtyZXR1cm4gdGhpcy5fbWluaUNoYXJ0LnJlc29sdXRpb24oKX1taW5CYXJJbmRleCgpe3JldHVybiB0aGlzLl9taW5CYXJJbmRleH1tYXhCYXJJbmRleCgpe3JldHVybiB0aGlzLl9tYXhCYXJJbmRleH1mb3JjZVBlcmNlbnRhZ2VNb2RlKCl7cmV0dXJuITF9bGFzdEJhclRpbWUoKXtyZXR1cm4gdGhpcy5fZGF0YUxlbmd0aEluZm8/Lmxhc3RCYXJUaW1lPz92b2lkIDB9bGFzdEJhckluZGV4KCl7cmV0dXJuIHRoaXMuX2RhdGFMZW5ndGhJbmZvPy5sYXN0QmFySW5kZXg/P251bGx9Z2V0Vmlld0RhdGEoZSl7cmV0dXJuIHRoaXMuX2J1aWxkVmlld0RhdGEoZSl9Z2V0TGVnZW5kRGF0YShlLHQpe2NvbnN0IHM9dGhpcy5zZXJpZXMoKSxyPXRoaXMudm9sdW1lKCk7aWYodm9pZCAwPT09ZSlyZXR1cm5bXTtjb25zdCBhPXMuZGF0YUJ5SW5kZXgoZSx0KTtpZihudWxsPT09YSlyZXR1cm5bXTtjb25zdCBvPVtdLG49cy5wcmljZUZvcm1hdHRlcigpLGw9dGhpcy5jdXJyZW50U2VyaWVzT3B0aW9ucygpO2lmKCExPT09bC52aXNpYmxlKXJldHVybltdO2lmKCJBcmVhIj09PXMuc2VyaWVzVHlwZSgpfHwiTGluZSI9PT1zLnNlcmllc1R5cGUoKXx8IkJhc2VsaW5lIj09PXMuc2VyaWVzVHlwZSgpfHwibGVnZW5kIj09PWwudG9vbHRpcFR5cGV8fCJsaW5lIj09PWwudG9vbHRpcFR5cGUpe2NvbnN0e3ZhbHVlOmV9PWE7bGV0IHQ7dD0iYXJlYSI9PT1sLmNoYXJ0VHlwZT9hLmxpbmVDb2xvcjphLmNvbG9yCjtjb25zdCBpPXRoaXMuc3ltYm9sSW5mbygpLHM9bC5jb2xvcnx8bC5saW5lQ29sb3I7by5wdXNoKHt0aXRsZTpsLnRvb2x0aXBUaXRsZXx8aT8ubmFtZXx8IiIsdmFsdWU6bi5mb3JtYXQoZSksY29sb3I6dHx8cyx1bml0Omwuc2hvd1VuaXQ/KDAsdy5wcmVwYXJlQ3VycmVuY3lWYWx1ZSkoe2N1cnJlbmN5X2NvZGU6aT8uY3VycmVuY3lfY29kZSx1bml0X2lkOmk/LnVuaXRfaWQsdmFsdWVfdW5pdF9pZDppPy52YWx1ZV91bml0X2lkLG1lYXN1cmU6aT8ubWVhc3VyZX0pOnZvaWQgMH0pfWVsc2V7Y29uc3R7b3BlbjplLGhpZ2g6dCxsb3c6cixjbG9zZTpsfT1hLGg9ZnVuY3Rpb24oZSx0KXtpZihudWxsPT09dClyZXR1cm47Y29uc3QgaT1lP3QudXA6dC5kb3duO3JldHVybiBrKGkpfShsPj1lLHRoaXMuX21pbmlDaGFydC51cERvd25Db2xvcnMocy5zZXJpZXNUeXBlKCkpKTtbW3kudChudWxsLHtjb250ZXh0OiJpbl9sZWdlbmQifSxpKDk2MDUxMykpLG4uZm9ybWF0KGUpXSxbeS50KG51bGwse2NvbnRleHQ6ImluX2xlZ2VuZCJ9LGkoOTU0NjE0KSksbi5mb3JtYXQodCldLFt5LnQobnVsbCx7Y29udGV4dDoiaW5fbGVnZW5kIn0saSg4Mzk0NjMpKSxuLmZvcm1hdChyKV0sW3kudChudWxsLHtjb250ZXh0OiJpbl9sZWdlbmQifSxpKDIyOTk5NCkpLG4uZm9ybWF0KGwpXV0uZm9yRWFjaCgoKFtlLHRdKT0+e28ucHVzaCh7dmFsdWU6dCx0aXRsZTplLGNvbG9yOmh9KX0pKX1jb25zdCBoPXImJnIuZGF0YUJ5SW5kZXgoZSx0KSx1PXRoaXMudm9sdW1lT3B0aW9ucygpO2lmKGgpe2NvbnN0e3ZhbHVlOmUsY29sb3I6dH09aDtvLnB1c2goe3RpdGxlOnUudG9vbHRpcFRpdGxlPz95LnQobnVsbCx7Y29udGV4dDoiaW5fbGVnZW5kIn0saSg1NjUzMjEpKSx2YWx1ZTpPLmZvcm1hdChlKSxjb2xvcjp1Lmlnbm9yZUNvbG9yP3ZvaWQgMDp0JiYoMCxJLnJlc2V0VHJhbnNwYXJlbmN5KSh0KSx1bml0OnUuc2hvd1VuaXQ/dGhpcy5zeW1ib2xJbmZvKCk/LmN1cnJlbmN5X2NvZGU6dm9pZCAwfSl9cmV0dXJuIG99bGVnZW5kTGFzdEJhckRhdGEoKXtyZXR1cm4gdGhpcy5fbGVnZW5kTGFzdEJhckRhdGF8fCh0aGlzLl9sZWdlbmRMYXN0QmFyRGF0YT1uZXcgXy5XYXRjaGVkT2JqZWN0KG51bGwpLHRoaXMuX29uTGFzdEJhckRhdGFNYXlDaGFuZ2UoKSksdGhpcy5fbGVnZW5kTGFzdEJhckRhdGEucmVhZG9ubHkoKX1zZXNzaW9uQXRUaW1lKGUpe3JldHVybiB0aGlzLl9iYXJCdWlsZGVyTG9hZGVyPy5nZXQoKT8uc2Vzc2lvbihlKT8/bnVsbH1sYXN0VmFsdWUoKXtyZXR1cm4gdGhpcy5fbGFzdFZhbHVlLnJlYWRvbmx5KCl9Zmlyc3RCYXJUaW1lKCl7cmV0dXJuIHRoaXMuX2ZpcnN0QmFyVGltZS5yZWFkb25seSgpfWlzVmlzaWJsZSgpe3JldHVybiB0aGlzLl9pc1Zpc2libGUucmVhZG9ubHkoKX1zeW1ib2xOYW1lKCl7cmV0dXJuIHRoaXMuX3N5bWJvbC5zeW1ib2x9bGluZUNvbG9yKCl7Y29uc3QgZT10aGlzLmN1cnJlbnRTZXJpZXNPcHRpb25zKCk7cmV0dXJuImxpbmUiPT09ZS5jaGFydFR5cGU/ZS5jb2xvcj8/IiI6ImFyZWEiPT09ZS5jaGFydFR5cGU/ZS5saW5lQ29sb3I/PyIiOnZvaWQoMCxuLmFzc2VydCkoITEsYFVuZXhwZWN0ZWQgY2hhcnQgdHlwZTogJHtlLmNoYXJ0VHlwZX1gKX1pc0Rlc3Ryb3llZCgpe3JldHVybiB0aGlzLl9pc0Rlc3Ryb3llZC5yZWFkb25seSgpfV9oYXNPdmVybmlnaHRTZXNzaW9uKCl7cmV0dXJuITF9X2lzTWFpblBsb3QoKXtyZXR1cm4hMX1fb25DaGFydFN0eWxlQ2hhbmdlZCgpe3RoaXMuX3JlY3JlYXRlU2VyaWVzKCksMz09PXRoaXMuX3N0YXR1cy52YWx1ZSgpJiZ0aGlzLnVwZGF0ZURhdGEoITEsITApfV9iZWZvcmVEYXRhUmVhZHkoKXt0aGlzLl9jdXJyZW50bHlTaG93bkRhdGFEZXNjcmlwdGlvbi5zZXRWYWx1ZSh7dGltZWZyYW1lOnRoaXMuX3RpbWVGcmFtZS52YWx1ZSgpLHN5bWJvbDp0aGlzLnN5bWJvbCgpfSl9X2RhdGFVcGRhdGVkKGUsdCxpKXt9X29uU3ltYm9sUmVzb2x2ZWQoZSl7dGhpcy5fYmFyQnVpbGRlckxvYWRlcj8uZGVzdHJveSgpLHRoaXMuX2JhckJ1aWxkZXJMb2FkZXI9bnVsbCx0aGlzLl9zeW1ib2xJbmZvPWUsdGhpcy5fc3ltYm9sSW5mb1dWLnNldFZhbHVlKGUpLHRoaXMuX3N5bWJvbFJlc29sdmVkLmZpcmUodGhpcy5fc3ltYm9sSW5mbyl9X2dldFZpZXdEYXRhKGUsdCl7Y29uc3QgaT1bXSxzPXtzZXJpZXM6W10sdm9sdW1lOml9O2xldCByPS0xLzA7Y29uc3QgYT10aGlzLl9iYXJzKCk7aWYoYS5pc0VtcHR5KCkpcmV0dXJuIHM7Y29uc3Qgbz10aGlzLm1pbkJhckluZGV4KCksbj10aGlzLm1heEJhckluZGV4KCk7aWYobnVsbD09PW98fG51bGw9PT1uKXJldHVybiBzO2NvbnN0IGw9dD8/KFAobyk/bzphLmZpcnN0SW5kZXgoKSksaD1hLmxhc3RJbmRleCgpO2lmKG51bGw9PT1sfHxudWxsPT09aClyZXR1cm4gcztsZXQgdTtjb25zdHtwcmVtYXJrZXRMaW5lQ29sb3I6ZCxwb3N0bWFya2V0TGluZUNvbG9yOl8sbmlnaHRMaW5lQ29sb3I6YyxwcmVtYXJrZXRUb3BDb2xvcjptLHByZW1hcmtldEJvdHRvbUNvbG9yOnAscG9zdG1hcmtldFRvcENvbG9yOnkscG9zdG1hcmtldEJvdHRvbUNvbG9yOmYsbmlnaHRUb3BDb2xvcjpDLG5pZ2h0Qm90dG9tQ29sb3I6Yn09dGhpcy5fZ2V0UHJlUG9zdE1hcmtldENvbG9ycygpLHY9ZT0+e3N3aXRjaChlKXtjYXNlIDA6cmV0dXJuW2QsbSxwXTtjYXNlIDE6cmV0dXJuW18seSxmXTtjYXNlIDM6cmV0dXJuW2MsQyxiXTtkZWZhdWx0OnJldHVybltdfX07Zm9yKGNvbnN0IHQgb2YgYS5yYW5nZUl0ZXJhdG9yKGwsaCkpe2NvbnN0e3ZhbHVlOmEsaW5kZXg6b309dDtpZihvPD1TLlVOUExPVFRBQkxFX1RJTUVfUE9JTlRfSU5ERVgpY29udGludWU7Y29uc3Qgbj10aGlzLl9taW5pQ2hhcnQuaW5kZXhUb1RpbWUobyk7aWYobnVsbD09PW4pe0IubG9nV2FybihgQ291bGRuJ3QgZmluZCB0aW1lIGZvciBpbmRleCAke299YCk7Y29udGludWV9Y29uc3QgbD0hdGhpcy5fbWluaUNoYXJ0LmlzRFdNUmVzb2x1dGlvbigpP00oMWUzKm4pOm47aWYobDw9ciljb250aW51ZTtyPWwsdT1sO2NvbnN0IGg9dGhpcy5fYmFySW5kZXhTZXNzaW9uKG8pCjtzLmxhc3RCYXJTZXNzaW9uPWgscy5zZXJpZXMucHVzaChlKGwsYSwuLi52KGgpKSk7Y29uc3QgZD1hWzRdPj1hWzFdP3RoaXMuX29yaWdpbmFsVm9sdW1lT3B0aW9ucy51cENvbG9yOnRoaXMuX29yaWdpbmFsVm9sdW1lT3B0aW9ucy5kb3duQ29sb3I7aS5wdXNoKHt0aW1lOmwsdmFsdWU6YVs1XSxjb2xvcjpkfSl9aWYodGhpcy5faXNNYWluUGxvdCgpJiZ2b2lkIDA9PT10JiZ2b2lkIDAhPT11KXN3aXRjaCgoMCxnLmNvbnZlcnRUaW1lRnJhbWVUb1N0cikodGhpcy5fdGltZUZyYW1lLnZhbHVlKCkpKXtjYXNlIjFEIjpzLmZpeExlZnRFZGdlVW50aWw9dSs4NjQwMC0xO2JyZWFrO2Nhc2UiTEFTVFNFU1NJT04iOntsZXQgZT1bXSx0PXUrODc4NDAtMTtjb25zdCBpPXRoaXMuX2dlbmVyYXRlQmFyc1RvU2Vzc2lvbkVuZCgpO2k/Lmxlbmd0aCYmbnVsbCE9PW4mJm4+aCYmKGU9aSx0PWlbaS5sZW5ndGgtMV0udGltZSkscy5maXhMZWZ0RWRnZVVudGlsPXQscy53aGl0ZXNwYWNlcz1lfX1yZXR1cm4gc31fYnVpbGRWaWV3RGF0YShlKXtzd2l0Y2godGhpcy5fb3JpZ2luYWxTZXJpZXNPcHRpb25zLmNoYXJ0VHlwZSl7Y2FzZSJwcmV0dHktaGlzdG9ncmFtIjpjYXNlImhpc3RvZ3JhbSI6e2NvbnN0IHQ9dGhpcy5fY3VycmVudFNlcmllc09wdGlvbnM7cmV0dXJuIHRoaXMuX2dldFZpZXdEYXRhKCgoZSxpKT0+ZnVuY3Rpb24oZSx0LGkscyl7Y29uc3Qgcj10WzRdO3JldHVybnt0aW1lOmUsY29sb3I6cj4wP2k6cyx2YWx1ZTpyfX0oZSxpLHQudXBDb2xvcix0LmRvd25Db2xvcikpLGUpfWNhc2UibGluZSI6e2NvbnN0IHQ9dGhpcy5fY3VycmVudFNlcmllc09wdGlvbnM7cmV0dXJuIHRoaXMuX2dldFZpZXdEYXRhKEwuYmluZChudWxsLHQuc291cmNlUGxvdEluZGV4Pz80KSxlKX1jYXNlImFyZWEiOmNhc2UiYmFzZWxpbmUiOnJldHVybiB0aGlzLl9nZXRWaWV3RGF0YSh4LGUpO2Nhc2UiYmFycyI6Y2FzZSJjYW5kbGVzdGlja3MiOnJldHVybiB0aGlzLl9nZXRWaWV3RGF0YShULGUpfX1fc2V0QWRkaXRpb25hbFNlcmllc0RhdGEoZSl7fV91cGRhdGVBZGRpdGlvbmFsU2VyaWVzRGF0YShlKXt9X2JhckluZGV4U2Vzc2lvbihlKXt9X29uU3ltYm9sRXJyb3IoZSl7Qi5sb2dXYXJuKCgwLEMuZW5jb2RlRXh0ZW5kZWRTeW1ib2xPckdldFNpbXBsZVN5bWJvbFN0cmluZykodGhpcy5fc3ltYm9sKSsiIHN5bWJvbCByZXNvbHZpbmcgZXJyb3I6ICIrZSksdGhpcy51cGRhdGVEYXRhKCEwKSx0aGlzLl9zdGF0dXMuc2V0VmFsdWUoMSl9X29uU3ltYm9sTm90UGVybWl0dGVkKCl7dGhpcy5fbm9EYXRhLnNldFZhbHVlKDEpfV9vbkludHJhZGF5U3ByZWFkTm90UGVybWl0dGVkKCl7dGhpcy5fc3RhdHVzLnNldFZhbHVlKDIpLHRoaXMuX25vRGF0YS5zZXRWYWx1ZSg0KSx0aGlzLl9pc01haW5QbG90KCkmJnRoaXMuX21pbmlDaGFydC5zaG93TWVzc2FnZSh5LnQobnVsbCx7Y29udGV4dDoibWluaSBjaGFydCBlcnJvciBtZXNzYWdlIn0saSg4MjkyNzMpKSl9X29uU3ltYm9sR3JvdXBOb3RQZXJtaXR0ZWQoKXt0aGlzLl9ub0RhdGEuc2V0VmFsdWUoMSl9X29uU3ltYm9sSW52YWxpZCgpe3RoaXMuX25vRGF0YS5zZXRWYWx1ZSgwKX1fb25SZXNvbHV0aW9uT3JFeGNoYW5nZU5vdFBlcm1pdHRlZEVycm9yKCl7Qi5sb2dFcnJvcigoMCxDLmVuY29kZUV4dGVuZGVkU3ltYm9sT3JHZXRTaW1wbGVTeW1ib2xTdHJpbmcpKHRoaXMuX3N5bWJvbCkrIiByZXNvbHV0aW9uIG9yIGV4Y2hhbmdlIHBlcm1pc3Npb24gZXJyb3IiKSx0aGlzLnVwZGF0ZURhdGEoITApLHRoaXMuX2lzTWFpblBsb3QoKSYmdGhpcy5fbWluaUNoYXJ0LnNob3dNZXNzYWdlKHkudChudWxsLHtjb250ZXh0OiJtaW5pIGNoYXJ0IGVycm9yIG1lc3NhZ2UifSxpKDI4NTg5MykpKSxzZXRUaW1lb3V0KCgoKT0+dGhpcy5fbWluaUNoYXJ0LnVwZGF0ZUF2YWlsYWJsZVRpbWVmcmFtZXMoKSksMWUzKX1fb25EYXRhRXJyb3IoKXsxIT09dGhpcy5fc3RhdHVzLnZhbHVlKCkmJnRoaXMuX3N0YXR1cy5zZXRWYWx1ZSgyKSx0aGlzLl9ub0RhdGEuc2V0VmFsdWUoMyl9X29uRGF0YUNvbXBsZXRlZCgpe3RoaXMuX3N0YXR1cy5zZXRWYWx1ZSgzKSx0aGlzLl9ub0RhdGEuc2V0VmFsdWUoMD09PXRoaXMuX2JhcnMoKS5zaXplKCk/MjpudWxsKSwyPT09dGhpcy5fbm9EYXRhLnZhbHVlKCkmJnRoaXMuX2lzTWFpblBsb3QoKSYmdGhpcy5fc2hvd05vRGF0YU1lc3NhZ2UoKX1fc2hvd05vRGF0YU1lc3NhZ2UoKXt0aGlzLl9taW5pQ2hhcnQuc2hvd01lc3NhZ2UoeS50KG51bGwse2NvbnRleHQ6Im1pbmkgY2hhcnQgZXJyb3IgbWVzc2FnZSJ9LGkoMjk5MTUzKSkpfWFzeW5jIF9vbkRhdGEoZSx0KXtudWxsIT09dGhpcy5taW5CYXJJbmRleCgpJiZudWxsIT09dGhpcy5tYXhCYXJJbmRleCgpJiYodGhpcy51cGRhdGVEYXRhKCExLHZvaWQgMCxlKSwzPT09dGhpcy5fc3RhdHVzLnZhbHVlKCkmJnRoaXMuX25vRGF0YS5zZXRWYWx1ZSgwPT09dGhpcy5fYmFycygpLnNpemUoKT8yOm51bGwpKX1fdXBkYXRlU2VyaWVzT3B0aW9ucyhlKXt0aGlzLl9vcmlnaW5hbFNlcmllc09wdGlvbnM9KDAsYS5kZWZhdWx0KSh0aGlzLl9vcmlnaW5hbFNlcmllc09wdGlvbnMsZSksdGhpcy5fY3VycmVudFNlcmllc09wdGlvbnM9KDAsYS5kZWZhdWx0KSh0aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucyx0aGlzLl9vcmlnaW5hbFNlcmllc09wdGlvbnMpLHRoaXMuX3VwZGF0ZVNlcmllc0NvbG9yKCksdm9pZCAwIT09dGhpcy5fY3VycmVudFNlcmllc09wdGlvbnMudmlzaWJsZSYmdGhpcy5faXNWaXNpYmxlLnNldFZhbHVlKHRoaXMuX2N1cnJlbnRTZXJpZXNPcHRpb25zLnZpc2libGUpfV9yZWNyZWF0ZVNlcmllcygpe2NvbnN0IGU9dGhpcy5fbWluaUNoYXJ0LndpZGdldCgpO2UucmVtb3ZlU2VyaWVzKHRoaXMuX3NlcmllcyksZS5yZW1vdmVTZXJpZXModGhpcy5fdm9sdW1lKSx0aGlzLl93aGl0ZXNwYWNlcyYmKGUucmVtb3ZlU2VyaWVzKHRoaXMuX3doaXRlc3BhY2VzKSx0aGlzLl93aGl0ZXNwYWNlcz1udWxsKSx0aGlzLl9zZXJpZXM9dGhpcy5fY3JlYXRlU2VyaWVzKCksCnRoaXMuX3ZvbHVtZT10aGlzLl9jcmVhdGVWb2x1bWUoKSx0aGlzLl9jaGFydFR5cGUuc2V0VmFsdWUodGhpcy5fY3VycmVudFNlcmllc09wdGlvbnMuY2hhcnRUeXBlKSx0aGlzLl9zZXJpZXNDaGFuZ2VkLmZpcmUoKX1faW5pdEJhckJ1aWxkZXIoZSl7cmV0dXJuIG51bGw9PT10aGlzLl9iYXJCdWlsZGVyTG9hZGVyJiYodGhpcy5fYmFyQnVpbGRlckxvYWRlcj1uZXcgVi5Bc3luY1Jlc291cmNlV3JhcHBlcihQcm9taXNlLmFsbChbaS5lKDEyMTgxKSxpLmUoNTU5NjkpLGkuZSg2MzE2MCksaS5lKDkzMjc5KV0pLnRoZW4oaS5iaW5kKGksMTY0NDc1KSkudGhlbigodD0+bmV3IHQuTWluaUNoYXJ0QmFyQnVpbGRlcihlKSkpKSksdGhpcy5fYmFyQnVpbGRlckxvYWRlci5wcm9taXNlKCl9X2ZpcnN0QW5kTGFzdFZhbHVlc0ZvclNlcmllc0NvbG9yKGUsdCl7aWYobnVsbD09PXRoaXMuX2ZpcnN0VmFsdWVDYWNoZXx8IXRoaXMuX2RhdGFMZW5ndGhJbmZvKXJldHVybiBudWxsO2lmKCJsaW5lIiE9PWUmJiJhcmVhIiE9PWUpcmV0dXJuIG51bGw7Y29uc3QgaT1udWxsPT09dGhpcy5fZGF0YUxlbmd0aEluZm8ubGFzdEJhckluZGV4P251bGw6dGhpcy5fc2VyaWVzLmRhdGFCeUluZGV4KHRoaXMuX2RhdGFMZW5ndGhJbmZvLmxhc3RCYXJJbmRleCk7cmV0dXJuIG51bGwhPT1pfHx0Pyh0PXQ/P2ksW3RoaXMuX2ZpcnN0VmFsdWVDYWNoZSx0LnZhbHVlXSk6bnVsbH1fdXBkYXRlU2VyaWVzQ29sb3IoZSl7Y29uc3QgdD10aGlzLl9vcmlnaW5hbFNlcmllc09wdGlvbnMsaT10LmNoYXJ0VHlwZSxzPXRoaXMuX2ZpcnN0QW5kTGFzdFZhbHVlc0ZvclNlcmllc0NvbG9yKGksZSk7aWYobnVsbD09PXMpcmV0dXJuO2NvbnN0W3IsYV09cztpZigibGluZSI9PT1pfHwiYXJlYSI9PT1pKXtjb25zdCBlPSJsaW5lIj09PWk/YT49cjphPnI7aWYoImFyZWEiPT09aSl7Y29uc3QgaT10aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucztlPyhpLmxpbmVDb2xvcj10Lmdyb3dpbmdMaW5lQ29sb3J8fHQubGluZUNvbG9yLGkudG9wQ29sb3I9dC5ncm93aW5nVG9wQ29sb3J8fHQudG9wQ29sb3IsaS5ib3R0b21Db2xvcj10Lmdyb3dpbmdCb3R0b21Db2xvcnx8dC5ib3R0b21Db2xvcik6KGkubGluZUNvbG9yPXQuZmFsbGluZ0xpbmVDb2xvcnx8dC5saW5lQ29sb3IsaS50b3BDb2xvcj10LmZhbGxpbmdUb3BDb2xvcnx8dC50b3BDb2xvcixpLmJvdHRvbUNvbG9yPXQuZmFsbGluZ0JvdHRvbUNvbG9yfHx0LmJvdHRvbUNvbG9yKSxpLmxpbmVDb2xvcnx8KGkubGluZUNvbG9yPXRoaXMuX3Nlcmllcy5vcHRpb25zKCkubGluZUNvbG9yKSx0aGlzLl9zZXJpZXMuYXBwbHlPcHRpb25zKHt0b3BDb2xvcjppLnRvcENvbG9yLGJvdHRvbUNvbG9yOmkuYm90dG9tQ29sb3IsbGluZUNvbG9yOmkubGluZUNvbG9yfSksdGhpcy5fZGlyZWN0aW9uQmFzZWRDb2xvci5zZXRWYWx1ZShpLmxpbmVDb2xvcil9ZWxzZSBpZigibGluZSI9PT1pKXtjb25zdHtjb2xvcjppLGdyb3dpbmdDb2xvcjpzPWksZmFsbGluZ0NvbG9yOnI9aX09dCxhPXRoaXMuX2N1cnJlbnRTZXJpZXNPcHRpb25zO2EuY29sb3I9ZT9zOnIsYS5jb2xvcnx8KGEuY29sb3I9dGhpcy5fc2VyaWVzLm9wdGlvbnMoKS5jb2xvciksdGhpcy5fc2VyaWVzLmFwcGx5T3B0aW9ucyh7Y29sb3I6YS5jb2xvcn0pLHRoaXMuX2RpcmVjdGlvbkJhc2VkQ29sb3Iuc2V0VmFsdWUoYS5jb2xvcil9fX1fcHJpY2VGb3JtYXQoKXtjb25zdCBlPXRoaXMuX3N5bWJvbEluZm8/P3RoaXMuX21pbmlDaGFydC5tYWluUGxvdCgpLnN5bWJvbEluZm8oKTtyZXR1cm4gbnVsbD09PWU/bnVsbDpGKGUpfV9vbkxhc3RCYXJEYXRhTWF5Q2hhbmdlKCl7aWYoIXRoaXMuX2xlZ2VuZExhc3RCYXJEYXRhKXJldHVybjtjb25zdCBlPXRoaXMuX21pbmlDaGFydC5tYWluUGxvdCgpLmxhc3RCYXJJbmRleCgpO251bGwhPT1lP3RoaXMuX2xlZ2VuZExhc3RCYXJEYXRhLnNldFZhbHVlKHRoaXMuZ2V0TGVnZW5kRGF0YShlLHIuTWlzbWF0Y2hEaXJlY3Rpb24uTmVhcmVzdExlZnQpKTp0aGlzLl9sZWdlbmRMYXN0QmFyRGF0YS5zZXRWYWx1ZShudWxsKX1fY3JlYXRlU2VyaWVzKCl7Y29uc3QgZT10aGlzLl9taW5pQ2hhcnQud2lkZ2V0KCk7bGV0IHQ7c3dpdGNoKHRoaXMuX2N1cnJlbnRTZXJpZXNPcHRpb25zLmNoYXJ0VHlwZSl7Y2FzZSJsaW5lIjp0PWUuYWRkU2VyaWVzKHIuTGluZVNlcmllcyx0aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucyk7YnJlYWs7Y2FzZSJoaXN0b2dyYW0iOnQ9ZS5hZGRTZXJpZXMoci5IaXN0b2dyYW1TZXJpZXMsdGhpcy5fY3VycmVudFNlcmllc09wdGlvbnMpO2JyZWFrO2Nhc2UiYXJlYSI6dD1lLmFkZFNlcmllcyhyLkFyZWFTZXJpZXMsdGhpcy5fY3VycmVudFNlcmllc09wdGlvbnMpO2JyZWFrO2Nhc2UiYmFycyI6dD1lLmFkZFNlcmllcyhyLkJhclNlcmllcyx0aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucyk7YnJlYWs7Y2FzZSJjYW5kbGVzdGlja3MiOnQ9ZS5hZGRTZXJpZXMoci5DYW5kbGVzdGlja1Nlcmllcyx0aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucyk7YnJlYWs7Y2FzZSJiYXNlbGluZSI6dD1lLmFkZFNlcmllcyhyLkJhc2VsaW5lU2VyaWVzLHRoaXMuX2N1cnJlbnRTZXJpZXNPcHRpb25zKTticmVhaztjYXNlInByZXR0eS1oaXN0b2dyYW0iOntjb25zdCBpPW5ldyBELlByZXR0eUhpc3RvZ3JhbVNlcmllczt0PWUuYWRkQ3VzdG9tU2VyaWVzKGksdGhpcy5fY3VycmVudFNlcmllc09wdGlvbnMpfX1yZXR1cm4gbnVsbD09PXRoaXMuX29yaWdpbmFsU2NhbGVNb2RlJiYodGhpcy5fb3JpZ2luYWxTY2FsZU1vZGU9dC5wcmljZVNjYWxlKCkub3B0aW9ucygpLm1vZGUpLHRoaXMuX2lzVmlzaWJsZS5zZXRWYWx1ZSh0Lm9wdGlvbnMoKS52aXNpYmxlKSx0LnByaWNlU2NhbGUoKS5hcHBseU9wdGlvbnMoe3NjYWxlTWFyZ2luczp0aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucy5zY2FsZU1hcmdpbnN9KSx0fV9jcmVhdGVWb2x1bWUoKXtjb25zdCBlPXRoaXMuX21pbmlDaGFydC53aWRnZXQoKS5hZGRTZXJpZXMoci5IaXN0b2dyYW1TZXJpZXMsdGhpcy5fb3JpZ2luYWxWb2x1bWVPcHRpb25zKQo7cmV0dXJuIGUucHJpY2VTY2FsZSgpLmFwcGx5T3B0aW9ucyh7c2NhbGVNYXJnaW5zOnRoaXMuX29yaWdpbmFsVm9sdW1lT3B0aW9ucy5zY2FsZU1hcmdpbnN9KSxlfV9hcHBseVByaWNlU2NhbGVGb3JtYXR0ZXIoKXtpZigicHJpY2VGb3JtYXQiaW4gdGhpcy5fb3JpZ2luYWxTZXJpZXNPcHRpb25zKXJldHVybjtjb25zdCBlPXRoaXMuX3ByaWNlRm9ybWF0KCk7ZSYmKHRoaXMuX2N1cnJlbnRTZXJpZXNPcHRpb25zLnByaWNlRm9ybWF0PWUsdGhpcy5fc2VyaWVzLmFwcGx5T3B0aW9ucyh0aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucykpfV91cGRhdGVTZXNzaW9uSWQoKXt0aGlzLl9pc0xhc3RTZXNzaW9uSW50ZXJ2YWwudmFsdWUoKT90aGlzLl9zZXNzaW9uSWQuc2V0VmFsdWUodGhpcy5faGFzT3Zlcm5pZ2h0U2Vzc2lvbigpPyIyNGgiOiJleHRlbmRlZCIpOnRoaXMuX3Nlc3Npb25JZC5zZXRWYWx1ZSh0aGlzLl9zeW1ib2wuc2Vzc2lvbil9X3VwZGF0ZVdoaXRlc3BhY2VzKGUpe3ZvaWQgMD09PWV8fDA9PT1lLmxlbmd0aD9udWxsIT09dGhpcy5fd2hpdGVzcGFjZXMmJih0aGlzLl9taW5pQ2hhcnQud2lkZ2V0KCkucmVtb3ZlU2VyaWVzKHRoaXMuX3doaXRlc3BhY2VzKSx0aGlzLl93aGl0ZXNwYWNlcz1udWxsKToobnVsbD09PXRoaXMuX3doaXRlc3BhY2VzJiYodGhpcy5fd2hpdGVzcGFjZXM9dGhpcy5fbWluaUNoYXJ0LndpZGdldCgpLmFkZFNlcmllcyhyLkxpbmVTZXJpZXMpKSx0aGlzLl93aGl0ZXNwYWNlc0RhdGE9bnVsbD09PXRoaXMuX3doaXRlc3BhY2VzP3ZvaWQgMDplLHRoaXMuX3doaXRlc3BhY2VzLnNldERhdGEoZSkpfV9nZW5lcmF0ZUJhcnNUb1Nlc3Npb25FbmQoKXtjb25zdCBlPXRoaXMuc3ltYm9sSW5mbygpLHQ9dGhpcy5fYmFycygpLmxhc3RJbmRleCgpLGk9dGhpcy5tYXhCYXJJbmRleCgpO2lmKGUmJnQmJmkmJnRoaXMuX2lzTGFzdFNlc3Npb25JbnRlcnZhbC52YWx1ZSgpKXtsZXQgZT10aGlzLl9taW5pQ2hhcnQuaW5kZXhUb1RpbWUodCk7aWYobnVsbD09PWUpcmV0dXJuO2NvbnN0IHM9W107Zm9yKGxldCByPXQrMTtyPD1pO3IrPTEpe2NvbnN0IHQ9dGhpcy5fbWluaUNoYXJ0LmluZGV4VG9UaW1lKHIpPz9lKzYwO3MucHVzaCh7dGltZTpNKDFlMyp0KX0pLGU9dH1yZXR1cm4gc319X2dldFByZVBvc3RNYXJrZXRDb2xvcnMoKXtpZighdGhpcy5faXNNYWluUGxvdCgpKXJldHVybnt9O2xldCBlLHQsaSxzLHIsYTtjb25zdCBvPXRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucy5wcmVtYXJrZXRMaW5lQ29sb3Isbj10aGlzLl9vcmlnaW5hbFNlcmllc09wdGlvbnMucG9zdG1hcmtldExpbmVDb2xvcixoPXRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucy5uaWdodExpbmVDb2xvcjtpZigiYXJlYSI9PT10aGlzLl9vcmlnaW5hbFNlcmllc09wdGlvbnMuY2hhcnRUeXBlJiZvJiZuJiZoKXtjb25zdCB1PXRoaXMuX2N1cnJlbnRTZXJpZXNPcHRpb25zLGQ9dS5ncm93aW5nVG9wQ29sb3J8fHUuZmFsbGluZ1RvcENvbG9yfHx1LnRvcENvbG9yO2lmKHZvaWQgMCE9PWQpe2NvbnN0IHQ9KDAsbC50cnlQYXJzZVJnYmEpKGQpO2lmKG51bGwhPT10KXtjb25zdCBzPXRbM107ZT0oMCxJLmFwcGx5QWxwaGEpKG8scyksaT0oMCxJLmFwcGx5QWxwaGEpKG4scykscj0oMCxJLmFwcGx5QWxwaGEpKGgscyl9fWNvbnN0IF89dS5ncm93aW5nQm90dG9tQ29sb3J8fHUuZmFsbGluZ0JvdHRvbUNvbG9yfHx1LmJvdHRvbUNvbG9yO2lmKHZvaWQgMCE9PV8pe2NvbnN0IGU9KDAsbC50cnlQYXJzZVJnYmEpKF8pO2lmKG51bGwhPT1lKXtjb25zdCBpPWVbM107dD0oMCxJLmFwcGx5QWxwaGEpKG8saSkscz0oMCxJLmFwcGx5QWxwaGEpKG4saSksYT0oMCxJLmFwcGx5QWxwaGEpKGgsaSl9fX1yZXR1cm57cHJlbWFya2V0TGluZUNvbG9yOm8scG9zdG1hcmtldExpbmVDb2xvcjpuLG5pZ2h0TGluZUNvbG9yOmgscHJlbWFya2V0VG9wQ29sb3I6ZSxwb3N0bWFya2V0VG9wQ29sb3I6aSxuaWdodFRvcENvbG9yOnIscHJlbWFya2V0Qm90dG9tQ29sb3I6dCxwb3N0bWFya2V0Qm90dG9tQ29sb3I6cyxuaWdodEJvdHRvbUNvbG9yOmF9fV90aW1lU2NhbGVTaXplQ2hhbmdlZCgpe3RoaXMuX2lzTWFpblBsb3QoKSYmUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKCk9PnRoaXMuX21pbmlDaGFydC5maXRDb250ZW50KCkpKX19fX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/80706.a5913aa6ad62d9dbf031.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.921Z","timestamp":1785120633921,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/80706.a5913aa6ad62d9dbf031.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-1be6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 453642c2416796f5a9866ef54768d3be\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":7142,"size_decoded":4236,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3068)","md5":"7d7a3ddeb844a1fdfe8b024f9df9f0b6","sha1":"b3afece36b14fafc7889e9b954f9736c892a2849","sha256":"0752584a0f2ad3bba4f44bbd6a44bf08a76726c524b79367996ab9b20e03bfba","sha512":"c0b04bf9ca52fee536a54ae9fcb3fcac9ee210f95be1205e4fe48f0cbb1f25a4db788a4ae10cd4b5ee13e1dc5159c2a4d48516d50bf1ee07d2da1a00fa95ac38","ssdeep":"96:VI23hKdh7P1lIbeWL9aqfMbFNriK6Vizc/MuomCA9P0LX4BYyCnsI6T:n3wT9lIbeWJaqfvXQcEA0LHxnf6T","tlshash":"c4e1c6c832b1f0eaa3e325e480ab5806e13a6d5a558e60b6e34557d37874fc540ffec5","first_seen":"2026-07-23T13:38:20.481503Z","last_seen":"2026-07-27T05:16:58.386461Z","times_seen":759,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s4MDcwNl0sezcxMjc0NShyLGUsdCl7dmFyIG47IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBpLG89MWU2LHM9MWU2LGM9IltiaWcuanNdICIsZj1jKyJJbnZhbGlkICIsdT1mKyJkZWNpbWFsIHBsYWNlcyIsaD1mKyJyb3VuZGluZyBtb2RlIixsPWMrIkRpdmlzaW9uIGJ5IHplcm8iLGE9e30sZz12b2lkIDAsdj0vXi0/KFxkKyhcLlxkKik/fFwuXGQrKShlWystXT9cZCspPyQvaTtmdW5jdGlvbiB3KHIsZSx0LG4pe3ZhciBpPXIuYztpZih0PT09ZyYmKHQ9ci5jb25zdHJ1Y3Rvci5STSksMCE9PXQmJjEhPT10JiYyIT09dCYmMyE9PXQpdGhyb3cgRXJyb3IoaCk7aWYoZTwxKW49Mz09PXQmJihufHwhIWlbMF0pfHwwPT09ZSYmKDE9PT10JiZpWzBdPj01fHwyPT09dCYmKGlbMF0+NXx8NT09PWlbMF0mJihufHxpWzFdIT09ZykpKSxpLmxlbmd0aD0xLG4/KHIuZT1yLmUtZSsxLGlbMF09MSk6aVswXT1yLmU9MDtlbHNlIGlmKGU8aS5sZW5ndGgpe2lmKG49MT09PXQmJmlbZV0+PTV8fDI9PT10JiYoaVtlXT41fHw1PT09aVtlXSYmKG58fGlbZSsxXSE9PWd8fDEmaVtlLTFdKSl8fDM9PT10JiYobnx8ISFpWzBdKSxpLmxlbmd0aD1lLS0sbilmb3IoOysraVtlXT45OylpW2VdPTAsZS0tfHwoKytyLmUsaS51bnNoaWZ0KDEpKTtmb3IoZT1pLmxlbmd0aDshaVstLWVdOylpLnBvcCgpfXJldHVybiByfWZ1bmN0aW9uIHAocixlLHQpe3ZhciBuPXIuZSxpPXIuYy5qb2luKCIiKSxvPWkubGVuZ3RoO2lmKGUpaT1pLmNoYXJBdCgwKSsobz4xPyIuIitpLnNsaWNlKDEpOiIiKSsobjwwPyJlIjoiZSsiKStuO2Vsc2UgaWYobjwwKXtmb3IoOysrbjspaT0iMCIraTtpPSIwLiIraX1lbHNlIGlmKG4+MClpZigrK24+bylmb3Iobi09bztuLS07KWkrPSIwIjtlbHNlIG48byYmKGk9aS5zbGljZSgwLG4pKyIuIitpLnNsaWNlKG4pKTtlbHNlIG8+MSYmKGk9aS5jaGFyQXQoMCkrIi4iK2kuc2xpY2UoMSkpO3JldHVybiByLnM8MCYmdD8iLSIraTppfWEuYWJzPWZ1bmN0aW9uKCl7dmFyIHI9bmV3IHRoaXMuY29uc3RydWN0b3IodGhpcyk7cmV0dXJuIHIucz0xLHJ9LGEuY21wPWZ1bmN0aW9uKHIpe3ZhciBlLHQ9dGhpcyxuPXQuYyxpPShyPW5ldyB0LmNvbnN0cnVjdG9yKHIpKS5jLG89dC5zLHM9ci5zLGM9dC5lLGY9ci5lO2lmKCFuWzBdfHwhaVswXSlyZXR1cm4gblswXT9vOmlbMF0/LXM6MDtpZihvIT1zKXJldHVybiBvO2lmKGU9bzwwLGMhPWYpcmV0dXJuIGM+Zl5lPzE6LTE7Zm9yKHM9KGM9bi5sZW5ndGgpPChmPWkubGVuZ3RoKT9jOmYsbz0tMTsrK288czspaWYobltvXSE9aVtvXSlyZXR1cm4gbltvXT5pW29dXmU/MTotMTtyZXR1cm4gYz09Zj8wOmM+Zl5lPzE6LTF9LGEuZGl2PWZ1bmN0aW9uKHIpe3ZhciBlPXRoaXMsdD1lLmNvbnN0cnVjdG9yLG49ZS5jLGk9KHI9bmV3IHQocikpLmMscz1lLnM9PXIucz8xOi0xLGM9dC5EUDtpZihjIT09fn5jfHxjPDB8fGM+byl0aHJvdyBFcnJvcih1KTtpZighaVswXSl0aHJvdyBFcnJvcihsKTtpZighblswXSlyZXR1cm4gci5zPXMsci5jPVtyLmU9MF0scjt2YXIgZixoLGEsdixwLGQ9aS5zbGljZSgpLEU9Zj1pLmxlbmd0aCxtPW4ubGVuZ3RoLGI9bi5zbGljZSgwLGYpLFA9Yi5sZW5ndGgsXz1yLEQ9Xy5jPVtdLGs9MCxNPWMrKF8uZT1lLmUtci5lKSsxO2ZvcihfLnM9cyxzPU08MD8wOk0sZC51bnNoaWZ0KDApO1ArKzxmOyliLnB1c2goMCk7ZG97Zm9yKGE9MDthPDEwO2ErKyl7aWYoZiE9KFA9Yi5sZW5ndGgpKXY9Zj5QPzE6LTE7ZWxzZSBmb3IocD0tMSx2PTA7KytwPGY7KWlmKGlbcF0hPWJbcF0pe3Y9aVtwXT5iW3BdPzE6LTE7YnJlYWt9aWYoISh2PDApKWJyZWFrO2ZvcihoPVA9PWY/aTpkO1A7KXtpZihiWy0tUF08aFtQXSl7Zm9yKHA9UDtwJiYhYlstLXBdOyliW3BdPTk7LS1iW3BdLGJbUF0rPTEwfWJbUF0tPWhbUF19Zm9yKDshYlswXTspYi5zaGlmdCgpfURbaysrXT12P2E6KythLGJbMF0mJnY/YltQXT1uW0VdfHwwOmI9W25bRV1dfXdoaWxlKChFKys8bXx8YlswXSE9PWcpJiZzLS0pO3JldHVybiBEWzBdfHwxPT1rfHwoRC5zaGlmdCgpLF8uZS0tLE0tLSksaz5NJiZ3KF8sTSx0LlJNLGJbMF0hPT1nKSxffSxhLmVxPWZ1bmN0aW9uKHIpe3JldHVybiAwPT09dGhpcy5jbXAocil9LGEuZ3Q9ZnVuY3Rpb24ocil7cmV0dXJuIHRoaXMuY21wKHIpPjB9LGEuZ3RlPWZ1bmN0aW9uKHIpe3JldHVybiB0aGlzLmNtcChyKT4tMX0sYS5sdD1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy5jbXAocik8MH0sYS5sdGU9ZnVuY3Rpb24ocil7cmV0dXJuIHRoaXMuY21wKHIpPDF9LGEubWludXM9YS5zdWI9ZnVuY3Rpb24ocil7dmFyIGUsdCxuLGksbz10aGlzLHM9by5jb25zdHJ1Y3RvcixjPW8ucyxmPShyPW5ldyBzKHIpKS5zO2lmKGMhPWYpcmV0dXJuIHIucz0tZixvLnBsdXMocik7dmFyIHU9by5jLnNsaWNlKCksaD1vLmUsbD1yLmMsYT1yLmU7aWYoIXVbMF18fCFsWzBdKXJldHVybiBsWzBdP3Iucz0tZjp1WzBdP3I9bmV3IHMobyk6ci5zPTEscjtpZihjPWgtYSl7Zm9yKChpPWM8MCk/KGM9LWMsbj11KTooYT1oLG49bCksbi5yZXZlcnNlKCksZj1jO2YtLTspbi5wdXNoKDApO24ucmV2ZXJzZSgpfWVsc2UgZm9yKHQ9KChpPXUubGVuZ3RoPGwubGVuZ3RoKT91OmwpLmxlbmd0aCxjPWY9MDtmPHQ7ZisrKWlmKHVbZl0hPWxbZl0pe2k9dVtmXTxsW2ZdO2JyZWFrfWlmKGkmJihuPXUsdT1sLGw9bixyLnM9LXIucyksKGY9KHQ9bC5sZW5ndGgpLShlPXUubGVuZ3RoKSk+MClmb3IoO2YtLTspdVtlKytdPTA7Zm9yKGY9ZTt0PmM7KXtpZih1Wy0tdF08bFt0XSl7Zm9yKGU9dDtlJiYhdVstLWVdOyl1W2VdPTk7LS11W2VdLHVbdF0rPTEwfXVbdF0tPWxbdF19Zm9yKDswPT09dVstLWZdOyl1LnBvcCgpO2Zvcig7MD09PXVbMF07KXUuc2hpZnQoKSwtLWE7cmV0dXJuIHVbMF18fChyLnM9MSx1PVthPTBdKSxyLmM9dSxyLmU9YSxyfSxhLm1vZD1mdW5jdGlvbihyKXt2YXIgZSx0PXRoaXMsbj10LmNvbnN0cnVjdG9yLGk9dC5zLG89KHI9bmV3IG4ocikpLnMKO2lmKCFyLmNbMF0pdGhyb3cgRXJyb3IobCk7cmV0dXJuIHQucz1yLnM9MSxlPTE9PXIuY21wKHQpLHQucz1pLHIucz1vLGU/bmV3IG4odCk6KGk9bi5EUCxvPW4uUk0sbi5EUD1uLlJNPTAsdD10LmRpdihyKSxuLkRQPWksbi5STT1vLHRoaXMubWludXModC50aW1lcyhyKSkpfSxhLnBsdXM9YS5hZGQ9ZnVuY3Rpb24ocil7dmFyIGUsdCxuLGk9dGhpcyxvPWkuY29uc3RydWN0b3I7aWYocj1uZXcgbyhyKSxpLnMhPXIucylyZXR1cm4gci5zPS1yLnMsaS5taW51cyhyKTt2YXIgcz1pLmUsYz1pLmMsZj1yLmUsdT1yLmM7aWYoIWNbMF18fCF1WzBdKXJldHVybiB1WzBdfHwoY1swXT9yPW5ldyBvKGkpOnIucz1pLnMpLHI7aWYoYz1jLnNsaWNlKCksZT1zLWYpe2ZvcihlPjA/KGY9cyxuPXUpOihlPS1lLG49Yyksbi5yZXZlcnNlKCk7ZS0tOyluLnB1c2goMCk7bi5yZXZlcnNlKCl9Zm9yKGMubGVuZ3RoLXUubGVuZ3RoPDAmJihuPXUsdT1jLGM9biksZT11Lmxlbmd0aCx0PTA7ZTtjW2VdJT0xMCl0PShjWy0tZV09Y1tlXSt1W2VdK3QpLzEwfDA7Zm9yKHQmJihjLnVuc2hpZnQodCksKytmKSxlPWMubGVuZ3RoOzA9PT1jWy0tZV07KWMucG9wKCk7cmV0dXJuIHIuYz1jLHIuZT1mLHJ9LGEucG93PWZ1bmN0aW9uKHIpe3ZhciBlPXRoaXMsdD1uZXcgZS5jb25zdHJ1Y3RvcigiMSIpLG49dCxpPXI8MDtpZihyIT09fn5yfHxyPC0xZTZ8fHI+cyl0aHJvdyBFcnJvcihmKyJleHBvbmVudCIpO2ZvcihpJiYocj0tcik7MSZyJiYobj1uLnRpbWVzKGUpKSxyPj49MTspZT1lLnRpbWVzKGUpO3JldHVybiBpP3QuZGl2KG4pOm59LGEucHJlYz1mdW5jdGlvbihyLGUpe2lmKHIhPT1+fnJ8fHI8MXx8cj5vKXRocm93IEVycm9yKGYrInByZWNpc2lvbiIpO3JldHVybiB3KG5ldyB0aGlzLmNvbnN0cnVjdG9yKHRoaXMpLHIsZSl9LGEucm91bmQ9ZnVuY3Rpb24ocixlKXtpZihyPT09ZylyPTA7ZWxzZSBpZihyIT09fn5yfHxyPC1vfHxyPm8pdGhyb3cgRXJyb3IodSk7cmV0dXJuIHcobmV3IHRoaXMuY29uc3RydWN0b3IodGhpcykscit0aGlzLmUrMSxlKX0sYS5zcXJ0PWZ1bmN0aW9uKCl7dmFyIHIsZSx0LG49dGhpcyxpPW4uY29uc3RydWN0b3Isbz1uLnMscz1uLmUsZj1uZXcgaSgiMC41Iik7aWYoIW4uY1swXSlyZXR1cm4gbmV3IGkobik7aWYobzwwKXRocm93IEVycm9yKGMrIk5vIHNxdWFyZSByb290Iik7MD09PShvPU1hdGguc3FydChuKyIiKSl8fG89PT0xLzA/KChlPW4uYy5qb2luKCIiKSkubGVuZ3RoK3MmMXx8KGUrPSIwIikscz0oKHMrMSkvMnwwKS0oczwwfHwxJnMpLHI9bmV3IGkoKChvPU1hdGguc3FydChlKSk9PTEvMD8iNWUiOihvPW8udG9FeHBvbmVudGlhbCgpKS5zbGljZSgwLG8uaW5kZXhPZigiZSIpKzEpKStzKSk6cj1uZXcgaShvKyIiKSxzPXIuZSsoaS5EUCs9NCk7ZG97dD1yLHI9Zi50aW1lcyh0LnBsdXMobi5kaXYodCkpKX13aGlsZSh0LmMuc2xpY2UoMCxzKS5qb2luKCIiKSE9PXIuYy5zbGljZSgwLHMpLmpvaW4oIiIpKTtyZXR1cm4gdyhyLChpLkRQLT00KStyLmUrMSxpLlJNKX0sYS50aW1lcz1hLm11bD1mdW5jdGlvbihyKXt2YXIgZSx0PXRoaXMsbj10LmNvbnN0cnVjdG9yLGk9dC5jLG89KHI9bmV3IG4ocikpLmMscz1pLmxlbmd0aCxjPW8ubGVuZ3RoLGY9dC5lLHU9ci5lO2lmKHIucz10LnM9PXIucz8xOi0xLCFpWzBdfHwhb1swXSlyZXR1cm4gci5jPVtyLmU9MF0scjtmb3Ioci5lPWYrdSxzPGMmJihlPWksaT1vLG89ZSx1PXMscz1jLGM9dSksZT1uZXcgQXJyYXkodT1zK2MpO3UtLTspZVt1XT0wO2ZvcihmPWM7Zi0tOyl7Zm9yKGM9MCx1PXMrZjt1PmY7KWM9ZVt1XStvW2ZdKmlbdS1mLTFdK2MsZVt1LS1dPWMlMTAsYz1jLzEwfDA7ZVt1XT1jfWZvcihjPysrci5lOmUuc2hpZnQoKSxmPWUubGVuZ3RoOyFlWy0tZl07KWUucG9wKCk7cmV0dXJuIHIuYz1lLHJ9LGEudG9FeHBvbmVudGlhbD1mdW5jdGlvbihyLGUpe3ZhciB0PXRoaXMsbj10LmNbMF07aWYociE9PWcpe2lmKHIhPT1+fnJ8fHI8MHx8cj5vKXRocm93IEVycm9yKHUpO2Zvcih0PXcobmV3IHQuY29uc3RydWN0b3IodCksKytyLGUpO3QuYy5sZW5ndGg8cjspdC5jLnB1c2goMCl9cmV0dXJuIHAodCwhMCwhIW4pfSxhLnRvRml4ZWQ9ZnVuY3Rpb24ocixlKXt2YXIgdD10aGlzLG49dC5jWzBdO2lmKHIhPT1nKXtpZihyIT09fn5yfHxyPDB8fHI+byl0aHJvdyBFcnJvcih1KTtmb3Iocj1yKyh0PXcobmV3IHQuY29uc3RydWN0b3IodCkscit0LmUrMSxlKSkuZSsxO3QuYy5sZW5ndGg8cjspdC5jLnB1c2goMCl9cmV0dXJuIHAodCwhMSwhIW4pfSxhLnRvSlNPTj1hLnRvU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIHI9dGhpcyxlPXIuY29uc3RydWN0b3I7cmV0dXJuIHAocixyLmU8PWUuTkV8fHIuZT49ZS5QRSwhIXIuY1swXSl9LGEudG9OdW1iZXI9ZnVuY3Rpb24oKXt2YXIgcj1OdW1iZXIocCh0aGlzLCEwLCEwKSk7aWYoITA9PT10aGlzLmNvbnN0cnVjdG9yLnN0cmljdCYmIXRoaXMuZXEoci50b1N0cmluZygpKSl0aHJvdyBFcnJvcihjKyJJbXByZWNpc2UgY29udmVyc2lvbiIpO3JldHVybiByfSxhLnRvUHJlY2lzaW9uPWZ1bmN0aW9uKHIsZSl7dmFyIHQ9dGhpcyxuPXQuY29uc3RydWN0b3IsaT10LmNbMF07aWYociE9PWcpe2lmKHIhPT1+fnJ8fHI8MXx8cj5vKXRocm93IEVycm9yKGYrInByZWNpc2lvbiIpO2Zvcih0PXcobmV3IG4odCkscixlKTt0LmMubGVuZ3RoPHI7KXQuYy5wdXNoKDApfXJldHVybiBwKHQscjw9dC5lfHx0LmU8PW4uTkV8fHQuZT49bi5QRSwhIWkpfSxhLnZhbHVlT2Y9ZnVuY3Rpb24oKXt2YXIgcj10aGlzLGU9ci5jb25zdHJ1Y3RvcjtpZighMD09PWUuc3RyaWN0KXRocm93IEVycm9yKGMrInZhbHVlT2YgZGlzYWxsb3dlZCIpO3JldHVybiBwKHIsci5lPD1lLk5FfHxyLmU+PWUuUEUsITApfSxpPWZ1bmN0aW9uIHIoKXtmdW5jdGlvbiBlKHQpe3ZhciBuPXRoaXM7aWYoIShuIGluc3RhbmNlb2YgZSkpcmV0dXJuIHQ9PT1nP3IoKTpuZXcgZSh0KTtpZih0IGluc3RhbmNlb2YgZSluLnM9dC5zLG4uZT10LmUsbi5jPXQuYy5zbGljZSgpO2Vsc2V7aWYoInN0cmluZyIhPXR5cGVvZiB0KXsKaWYoITA9PT1lLnN0cmljdCl0aHJvdyBUeXBlRXJyb3IoZisibnVtYmVyIik7dD0wPT09dCYmMS90PDA/Ii0wIjpTdHJpbmcodCl9IWZ1bmN0aW9uKHIsZSl7dmFyIHQsbixpO2lmKCF2LnRlc3QoZSkpdGhyb3cgRXJyb3IoZisibnVtYmVyIik7ci5zPSItIj09ZS5jaGFyQXQoMCk/KGU9ZS5zbGljZSgxKSwtMSk6MSwodD1lLmluZGV4T2YoIi4iKSk+LTEmJihlPWUucmVwbGFjZSgiLiIsIiIpKTsobj1lLnNlYXJjaCgvZS9pKSk+MD8odDwwJiYodD1uKSx0Kz0rZS5zbGljZShuKzEpLGU9ZS5zdWJzdHJpbmcoMCxuKSk6dDwwJiYodD1lLmxlbmd0aCk7Zm9yKGk9ZS5sZW5ndGgsbj0wO248aSYmIjAiPT1lLmNoYXJBdChuKTspKytuO2lmKG49PWkpci5jPVtyLmU9MF07ZWxzZXtmb3IoO2k+MCYmIjAiPT1lLmNoYXJBdCgtLWkpOyk7Zm9yKHIuZT10LW4tMSxyLmM9W10sdD0wO248PWk7KXIuY1t0KytdPStlLmNoYXJBdChuKyspfX0obix0KX1uLmNvbnN0cnVjdG9yPWV9cmV0dXJuIGUucHJvdG90eXBlPWEsZS5EUD0yMCxlLlJNPTEsZS5ORT0tNyxlLlBFPTIxLGUuc3RyaWN0PWZhbHNlLGUucm91bmREb3duPTAsZS5yb3VuZEhhbGZVcD0xLGUucm91bmRIYWxmRXZlbj0yLGUucm91bmRVcD0zLGV9KCksaS5kZWZhdWx0PWkuQmlnPWksdm9pZCAwPT09KG49ZnVuY3Rpb24oKXtyZXR1cm4gaX0uY2FsbChlLHQsZSxyKSl8fChyLmV4cG9ydHM9bil9KCl9LDk2MzA5OChyLGUsdCl7InVzZSBzdHJpY3QiO3QuZChlLHtnZXRJc29MYW5ndWFnZUNvZGVGcm9tTGFuZ3VhZ2U6KCk9Pml9KTtjb25zdCBuPXthcl9BRToiYXIiLGJyOiJwdCIsZGVfREU6ImRlIixjYV9FUzoiY2EiLGhlX0lMOiJoZSIsaWRfSUQ6ImlkIixpbjoiZW4iLGtyOiJrbyIsbXNfTVk6Im1zIixzdl9TRToic3YiLHRoX1RIOiJ0aCIsdWs6ImVuIix2aV9WTjoidmkiLHpoX0NOOiJ6aC1IYW5zIix6aF9UVzoiemgtSGFudCIsemg6InpoLUhhbnMiLGh1X0hVOiJodS1IVSJ9O2Z1bmN0aW9uIGkocil7cmV0dXJuIG5bcl18fHJ9fX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/75304.174496dbf62bc90db59a.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.987Z","timestamp":1785120633987,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/75304.174496dbf62bc90db59a.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 32\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a58ab11-20\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:40\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 1cca801b15ba5056cc262c1f63ea1dee\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":32,"size_decoded":816,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"10831c7be3a76a74645935347043e2b5","sha1":"b94e8e987207e65fcaacb92d7fe9b6abae350446","sha256":"02392cb348576ae4401ed04ea67dc7a708f88cf080b321001192ee8fdfbee047","sha512":"41692d9ad3993dc97c90842a9f189a9a277965aef5fd1d867477557e363ee994e2b1b5d574c54d283206deedf65ad81600a071f6be8114830168dcbfb724f32b","ssdeep":"","tlshash":"bb8004d170053c3c00077000053340c7dc5140c1cd731451500453415f140750103510","first_seen":"2023-06-28T13:47:54Z","last_seen":"2026-07-27T05:29:38.705654Z","times_seen":1332,"resource_available":false,"data":"LnVpLWRyYWdnYWJsZXt0b3VjaC1hY3Rpb246bm9uZX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/37867.ec731ad102db6762e40c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.998Z","timestamp":1785120633998,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/37867.ec731ad102db6762e40c.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b78-134\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:28 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 1bd4ca7ae6833d0777470340bef57ca5\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":308,"size_decoded":973,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (308), with no line terminators","md5":"935c55cc3e17810075bcce4ab81c1124","sha1":"af63671b9b4c5e480ce1ed8cf80fb5e6cd9a4901","sha256":"0660e1a2eac6aab1096c15e3927919c9f443ff7189df135f235a3aac5b88cd5a","sha512":"5fca3255a37ff2053cf3aac0373f856dd54b280aeeefee9e8f904f1c75266a63414feaa87a1bb692566c171879527baa045548e01ed46b623edd70d9cd15522d","ssdeep":"","tlshash":"01e026bc52740320ac308738b9ce8ccd3e05f22186c30e8ca942d602846d8c08860895","first_seen":"2025-07-09T23:41:09.652491Z","last_seen":"2026-07-27T05:29:38.660344Z","times_seen":1563,"resource_available":false,"data":"LnR2LWZsYWctY291bnRyeXtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MjBweDtvdmVyZmxvdzpoaWRkZW47dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjIwcHh9LnR2LWZsYWctY291bnRyeS0tc2l6ZV9ibG9jay10aXRsZXtoZWlnaHQ6MjJweDt3aWR0aDoyMnB4fS50di1mbGFnLWNvdW50cnktLWZvcmV4e2NvbG9yOnZhcigtLWNvbG9yLWZvcmV4LWljb24pfS50di1mbGFnLWNvdW50cnktLWJ0YywudHYtZmxhZy1jb3VudHJ5LS1mb3JleHtib3JkZXItcmFkaXVzOjA7b3ZlcmZsb3c6dmlzaWJsZX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/73412.4c102818ffef73161fe1.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.272Z","timestamp":1785120634272,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/73412.4c102818ffef73161fe1.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-487f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ef09a40e4a1f540172107746ed979a3a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":18559,"size_decoded":5748,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (8881)","md5":"422636023d55690609fce8127ace82e2","sha1":"f067bcdceb83c6ad56ea24a44d96a430265afe46","sha256":"0d6b57c0d510f7d333f8dd28d138512ba9e093cb8d2a857e94e4699f10896e61","sha512":"dbcae425b76e785d30b99b63a5bb3420cd65b99541f1cff59128488e74741414af26b0e8f212a6f2f21e52abe80011e4a9dd9d10f42a3af5125b6a2354e40975","ssdeep":"384:nhjXdYS4gnfR8o1Yys/z02D8EIomJHYIjVAUc:hjtYHmJxO","tlshash":"3d82873cf9d0e527b6eb99ff4f81e6524959a843b73b7fc27134d2c02419c4b2122a1a","first_seen":"2026-07-23T22:46:45.888096Z","last_seen":"2026-07-27T06:01:16.203799Z","times_seen":25,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNzM0MTJdLHsxMTUyOTMobyxyLGwpe2wuZChyLHtmb3JjZUxUUlN0cjooKT0+ZCxpc1J0bDooKT0+dCxzZXREb2N1bWVudERpckdldHRlcjooKT0+YyxzdHJpcExUUk1hcmtzOigpPT5pfSk7bCgzMjA0MDMpO2xldCBlPSgpPT5udWxsO2Z1bmN0aW9uIGMobyl7ZT1vfWNvbnN0IHQ9KCk9PiJydGwiPT09ZnVuY3Rpb24oKXtjb25zdCBvPWUoKTtpZihudWxsPT09byl0aHJvdyBuZXcgRXJyb3IoIkRvY3VtZW50IGRpcmVjdGlvbiBnZXR0ZXIgaXMgbm90IHNldCwgY2FsbCBzZXREb2N1bWVudERpckdldHRlciB0byBzZXQgaXQiKTtyZXR1cm4gb30oKSxhPSLigKoiLG49IuKArCIsZz1uZXcgUmVnRXhwKCLigI584oCPfOKAqnzigKt84oCsIiwiZyIpO2Z1bmN0aW9uIGkobyl7cmV0dXJuIiIhPT1vJiZ0KCkmJm51bGwhPW8/by5yZXBsYWNlKGcsIiIpOm99ZnVuY3Rpb24gZChvKXtyZXR1cm4iIiE9PW8mJnQoKSYmbnVsbCE9bz9hK28rbjpvfXZhciBiOyFmdW5jdGlvbihvKXtvLkxUUj0ibHRyIixvLlJUTD0icnRsIixvLlVOS05PV049IiJ9KGJ8fChiPXt9KSl9LDExMTk1MyhvLHIsbCl7bC5kKHIse2NvbXBhcmVTeW1ib2xzOigpPT52LGRlY29kZUV4dGVuZGVkU3ltYm9sOigpPT51LGVuY29kZUV4dGVuZGVkU3ltYm9sOigpPT5jLGVuY29kZUV4dGVuZGVkU3ltYm9sU3RydWN0dXJhbDooKT0+ZCxleHRyYWN0RXh0ZW5kZWRTeW1ib2w6KCk9PnAsaXNFbmNvZGVkRXh0ZW5kZWRTeW1ib2w6KCk9PmIsaXNTdHVkeVN5bWJvbDooKT0+bixyZXBsYWNlRXh0ZW5kZWRTeW1ib2w6KCk9Pm0sdW53cmFwU2ltcGxlU3ltYm9sOigpPT55fSk7dmFyIGU9bCg2MDE4NDEpO2Z1bmN0aW9uIGMobyl7cmV0dXJuIj0iK0pTT04uc3RyaW5naWZ5KHQobykpfWZ1bmN0aW9uIHQobyl7cmV0dXJuIE9iamVjdC5rZXlzKG8pLnNvcnQoKS5yZWR1Y2UoKChyLGwpPT4odF0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9bbF0pP3JbbF09dChvW2xdKTpyW2xdPW9bbF0scikpLHt9KX1mdW5jdGlvbiBhKG8pe3JldHVybigwLGUuaXNTdHJpbmcpKG8pfWZ1bmN0aW9uIG4obyl7cmV0dXJuIWEobykmJiJpbnB1dHMiaW4gb31mdW5jdGlvbiBnKG8pe3JldHVybiFhKG8pJiYicmVwbGF5ImluIG99ZnVuY3Rpb24gaShvKXtyZXR1cm4gZyhvKXx8ZnVuY3Rpb24obyl7cmV0dXJuIWEobykmJmcoby5zeW1ib2wpfShvKX1mdW5jdGlvbiBkKG8pe3JldHVybiBuKG8pfHxpKG8pfHxvLnNlc3Npb258fG8uYWRqdXN0bWVudHx8b1siY3VycmVuY3ktaWQiXXx8b1sidW5pdC1pZCJdfHxvLm1ldHJpYz9jKG8pOm8uc3ltYm9sfWZ1bmN0aW9uIGIobyl7cmV0dXJuIj0iPT09b1swXX1mdW5jdGlvbiB1KG8pe2lmKCFiKG8pKXJldHVybntzeW1ib2w6b307dHJ5e3JldHVybiBKU09OLnBhcnNlKG8uc2xpY2UoMSkpfWNhdGNoKHIpe3JldHVybntzeW1ib2w6b319fWZ1bmN0aW9uIHkobyl7cmV0dXJuIGEobyk/bzp5KG8uc3ltYm9sKX1mdW5jdGlvbiBwKG8pe2lmKGEobykpcmV0dXJue3N5bWJvbDpvfTtsZXQgcj1vO2Zvcig7IWEoci5zeW1ib2wpOylyPXIuc3ltYm9sO3JldHVybiByfWNvbnN0IHM9WyJzeW1ib2wiLCJzZXNzaW9uIiwidW5pdC1pZCIsImN1cnJlbmN5LWlkIiwibWV0cmljIiwiYWRqdXN0bWVudCIsImJhY2thZGp1c3RtZW50Iiwic2V0dGxlbWVudC1hcy1jbG9zZSJdO2Z1bmN0aW9uIHYobyxyKXtyZXR1cm4gcy5ldmVyeSgobD0+b1tsXT09PXJbbF0pKX1mdW5jdGlvbiBtKG8scil7bGV0IGw9bztmb3IoOyFhKGwuc3ltYm9sKTspbD1sLnN5bWJvbDtsLnN5bWJvbD1yfX0sMjM0OTY0KG8scixsKXthc3luYyBmdW5jdGlvbiBlKG8scil7Y29uc3QgZT1hd2FpdCBQcm9taXNlLmFsbChbbC5lKDI4ODMxKSxsLmUoODQzMDYpLGwuZSgyOTI5NiksbC5lKDUyMzk2KSxsLmUoNjAwNjIpLGwuZSgyMDM1NCksbC5lKDEzNDkyKSxsLmUoMzc3NDYpLGwuZSgxMjM4NSksbC5lKDgxMDcyKSxsLmUoOTQyMzIpLGwuZSgxOTU5NSksbC5lKDE5Nzg3KSxsLmUoODU3OSksbC5lKDE3MDg3KSxsLmUoNTczMDApLGwuZSgxMjA1MSksbC5lKDg5NTU4KSxsLmUoMTAzNjYpLGwuZSg0MDkxNCksbC5lKDkwOTYwKSxsLmUoODc3NDApLGwuZSg3ODg5OSksbC5lKDY3MjEyKSxsLmUoODA5MTUpLGwuZSgxNTM0KSxsLmUoMjgxNzYpLGwuZSgzOTYwOSksbC5lKDU1MjI5KSxsLmUoNjUxMDApLGwuZSg0MjcwNildKS50aGVuKGwuYmluZChsLDUwNjI3NSkpO3JldHVybiBlLnNob3dTaW1wbGVEaWFsb2cobyxlLmNvbmZpcm1Nb2R1bGUscil9YXN5bmMgZnVuY3Rpb24gYyhvLHIpe2NvbnN0IGU9YXdhaXQgUHJvbWlzZS5hbGwoW2wuZSgyODgzMSksbC5lKDg0MzA2KSxsLmUoMjkyOTYpLGwuZSg1MjM5NiksbC5lKDYwMDYyKSxsLmUoMjAzNTQpLGwuZSgxMzQ5MiksbC5lKDM3NzQ2KSxsLmUoMTIzODUpLGwuZSg4MTA3MiksbC5lKDk0MjMyKSxsLmUoMTk1OTUpLGwuZSgxOTc4NyksbC5lKDg1NzkpLGwuZSgxNzA4NyksbC5lKDU3MzAwKSxsLmUoMTIwNTEpLGwuZSg4OTU1OCksbC5lKDEwMzY2KSxsLmUoNDA5MTQpLGwuZSg5MDk2MCksbC5lKDg3NzQwKSxsLmUoNzg4OTkpLGwuZSg2NzIxMiksbC5lKDgwOTE1KSxsLmUoMTUzNCksbC5lKDI4MTc2KSxsLmUoMzk2MDkpLGwuZSg1NTIyOSksbC5lKDY1MTAwKSxsLmUoNDI3MDYpXSkudGhlbihsLmJpbmQobCw1MDYyNzUpKTtyZXR1cm4gZS5zaG93U2ltcGxlRGlhbG9nKG8sZS53YXJuaW5nTW9kdWxlLHIpfWwuZChyLHtzaG93Q29uZmlybTooKT0+ZSxzaG93V2FybmluZzooKT0+Y30pfSwxMTM1NjcobyxyLGwpe2wuZChyLHtwcmVwYXJlQ3VycmVuY3lWYWx1ZTooKT0+Y30pO3ZhciBlPWwoMTg1MjcxKTtmdW5jdGlvbiBjKG8pe2xldCByPVtdO2NvbnN0IGM9ZnVuY3Rpb24obyl7c3dpdGNoKG8pe2Nhc2UiUENUIjpjYXNlIlBDVFBBUiI6cmV0dXJuIiUiO2Nhc2UiUENUR0RQIjpyZXR1cm4gZS50KG51bGwse2NvbnRleHQ6Il9tYXhfbGVuXzkifSxsKDU1ODQxMikpCjtjYXNlIkRFR0MiOnJldHVybiLihIMiO2RlZmF1bHQ6cmV0dXJuIG99fShvLmN1cnJlbmN5X2NvZGV8fG8udmFsdWVfdW5pdF9pZHx8IiIpO3N3aXRjaChvLm1lYXN1cmUpe2Nhc2UicHJpY2UiOmNhc2UidW5pdCI6cj1bYyxvLnVuaXRfaWRdO2JyZWFrO2RlZmF1bHQ6cj1bY119cmV0dXJuIHIuZmlsdGVyKEJvb2xlYW4pLmpvaW4oIuKAiS/igIkiKX19LDMxNzY2MyhvKXsKby5leHBvcnRzPUpTT04ucGFyc2UoJ3siY29sb3Itd2hpdGUiOiIjZmZmZmZmIiwiY29sb3ItYmxhY2siOiIjMDAwMDAwIiwiY29sb3ItdHJhbnNwYXJlbnQiOiIjMDAwMDAwMDAiLCJjb2xvci1jb2xkLWdyYXktNTAiOiIjRjlGOUY5IiwiY29sb3ItY29sZC1ncmF5LTEwMCI6IiNGMkYyRjIiLCJjb2xvci1jb2xkLWdyYXktMTUwIjoiI0VCRUJFQiIsImNvbG9yLWNvbGQtZ3JheS0yMDAiOiIjREJEQkRCIiwiY29sb3ItY29sZC1ncmF5LTI1MCI6IiNDOUM5QzkiLCJjb2xvci1jb2xkLWdyYXktMzAwIjoiI0I4QjhCOCIsImNvbG9yLWNvbGQtZ3JheS0zNTAiOiIjQThBOEE4IiwiY29sb3ItY29sZC1ncmF5LTQwMCI6IiM5QzlDOUMiLCJjb2xvci1jb2xkLWdyYXktNDUwIjoiIzhDOEM4QyIsImNvbG9yLWNvbGQtZ3JheS01MDAiOiIjODA4MDgwIiwiY29sb3ItY29sZC1ncmF5LTU1MCI6IiM3MDcwNzAiLCJjb2xvci1jb2xkLWdyYXktNjAwIjoiIzYzNjM2MyIsImNvbG9yLWNvbGQtZ3JheS02NTAiOiIjNTc1NzU3IiwiY29sb3ItY29sZC1ncmF5LTcwMCI6IiM0QTRBNEEiLCJjb2xvci1jb2xkLWdyYXktNzUwIjoiIzNEM0QzRCIsImNvbG9yLWNvbGQtZ3JheS04MDAiOiIjMkUyRTJFIiwiY29sb3ItY29sZC1ncmF5LTg1MCI6IiMxRjFGMUYiLCJjb2xvci1jb2xkLWdyYXktOTAwIjoiIzBGMEYwRiIsImNvbG9yLWNvbGQtZ3JheS05NTAiOiIjMDAwMDAwIiwiY29sb3ItcmlwZS1yZWQtNTAiOiIjRkZFQkVDIiwiY29sb3ItcmlwZS1yZWQtMTAwIjoiI0ZDQ0JDRCIsImNvbG9yLXJpcGUtcmVkLTIwMCI6IiNGQUExQTQiLCJjb2xvci1yaXBlLXJlZC0zMDAiOiIjRjc3QzgwIiwiY29sb3ItcmlwZS1yZWQtNDAwIjoiI0Y3NTI1RiIsImNvbG9yLXJpcGUtcmVkLTUwMCI6IiNGMjM2NDUiLCJjb2xvci1yaXBlLXJlZC02MDAiOiIjQ0MyRjNDIiwiY29sb3ItcmlwZS1yZWQtNzAwIjoiI0IyMjgzMyIsImNvbG9yLXJpcGUtcmVkLTgwMCI6IiM5OTFGMjkiLCJjb2xvci1yaXBlLXJlZC05MDAiOiIjODAxOTIyIiwiY29sb3ItcmlwZS1yZWQtYTEwMCI6IiNGRjgwODAiLCJjb2xvci1yaXBlLXJlZC1hMjAwIjoiI0ZGNTI1MiIsImNvbG9yLXJpcGUtcmVkLWE0MDAiOiIjRkYzMzMzIiwiY29sb3ItcmlwZS1yZWQtYTYwMCI6IiNDQzI5MjkiLCJjb2xvci1yaXBlLXJlZC1hNzAwIjoiIzgwMjAyOCIsImNvbG9yLXJpcGUtcmVkLWE4MDAiOiIjNEQxOTFEIiwiY29sb3ItcmlwZS1yZWQtYTkwMCI6IiMzMzFGMjAiLCJjb2xvci10YW4tb3JhbmdlLTUwIjoiI0ZGRjNFMCIsImNvbG9yLXRhbi1vcmFuZ2UtMTAwIjoiI0ZGRTBCMiIsImNvbG9yLXRhbi1vcmFuZ2UtMjAwIjoiI0ZGQ0M4MCIsImNvbG9yLXRhbi1vcmFuZ2UtMzAwIjoiI2ZmYjc0ZCIsImNvbG9yLXRhbi1vcmFuZ2UtNDAwIjoiI0ZGQTcyNiIsImNvbG9yLXRhbi1vcmFuZ2UtNTAwIjoiI0ZGOTgwMCIsImNvbG9yLXRhbi1vcmFuZ2UtNjAwIjoiI0ZCOEMwMCIsImNvbG9yLXRhbi1vcmFuZ2UtNzAwIjoiI0Y1N0MwMCIsImNvbG9yLXRhbi1vcmFuZ2UtODAwIjoiI0VGNkMwMCIsImNvbG9yLXRhbi1vcmFuZ2UtOTAwIjoiI2U2NTEwMCIsImNvbG9yLXRhbi1vcmFuZ2UtYTEwMCI6IiNGRkQxODAiLCJjb2xvci10YW4tb3JhbmdlLWEyMDAiOiIjZmZhYjQwIiwiY29sb3ItdGFuLW9yYW5nZS1hNDAwIjoiI0ZGOTEwMCIsImNvbG9yLXRhbi1vcmFuZ2UtYTUwMCI6IiNFNTdFMTciLCJjb2xvci10YW4tb3JhbmdlLWE2MDAiOiIjQ0M3MDE0IiwiY29sb3ItdGFuLW9yYW5nZS1hNzAwIjoiIzhDNTQxQyIsImNvbG9yLXRhbi1vcmFuZ2UtYTgwMCI6IiM1OTNBMUIiLCJjb2xvci10YW4tb3JhbmdlLWE5MDAiOiIjMzMyNjFBIiwiY29sb3ItaWd1YW5hLWdyZWVuLTUwIjoiI0U4RjVFOSIsImNvbG9yLWlndWFuYS1ncmVlbi0xMDAiOiIjQzhFNkM5IiwiY29sb3ItaWd1YW5hLWdyZWVuLTIwMCI6IiNBNUQ2QTciLCJjb2xvci1pZ3VhbmEtZ3JlZW4tMzAwIjoiIzgxYzc4NCIsImNvbG9yLWlndWFuYS1ncmVlbi00MDAiOiIjNjZCQjZBIiwiY29sb3ItaWd1YW5hLWdyZWVuLTUwMCI6IiM0Y2FmNTAiLCJjb2xvci1pZ3VhbmEtZ3JlZW4tNjAwIjoiIzQzYTA0NyIsImNvbG9yLWlndWFuYS1ncmVlbi03MDAiOiIjMzg4ZTNjIiwiY29sb3ItaWd1YW5hLWdyZWVuLTgwMCI6IiMyRTdEMzIiLCJjb2xvci1pZ3VhbmEtZ3JlZW4tOTAwIjoiIzFCNUUyMCIsImNvbG9yLWlndWFuYS1ncmVlbi1hMTAwIjoiI0I5RjZDQSIsImNvbG9yLWlndWFuYS1ncmVlbi1hMjAwIjoiIzY5RjBBRSIsImNvbG9yLWlndWFuYS1ncmVlbi1hNDAwIjoiIzAwRTY3NiIsImNvbG9yLWlndWFuYS1ncmVlbi1hNzAwIjoiIzAwYzg1MyIsImNvbG9yLWJhbmFuYS15ZWxsb3ctNTAiOiIjRkZGREU3IiwiY29sb3ItYmFuYW5hLXllbGxvdy0xMDAiOiIjRkZGOUM0IiwiY29sb3ItYmFuYW5hLXllbGxvdy0yMDAiOiIjRkZGNTlEIiwiY29sb3ItYmFuYW5hLXllbGxvdy0zMDAiOiIjRkZGMTc2IiwiY29sb3ItYmFuYW5hLXllbGxvdy00MDAiOiIjZmZlZTU4IiwiY29sb3ItYmFuYW5hLXllbGxvdy01MDAiOiIjZmZlYjNiIiwiY29sb3ItYmFuYW5hLXllbGxvdy02MDAiOiIjZmRkODM1IiwiY29sb3ItYmFuYW5hLXllbGxvdy03MDAiOiIjZmJjMDJkIiwiY29sb3ItYmFuYW5hLXllbGxvdy04MDAiOiIjZjlhODI1IiwiY29sb3ItYmFuYW5hLXllbGxvdy05MDAiOiIjRjU3RjE3IiwiY29sb3ItYmFuYW5hLXllbGxvdy1hMTAwIjoiI0ZGRkY4RCIsImNvbG9yLWJhbmFuYS15ZWxsb3ctYTIwMCI6IiNGRkZGMDAiLCJjb2xvci1iYW5hbmEteWVsbG93LWE0MDAiOiIjZmZlYTAwIiwiY29sb3ItYmFuYW5hLXllbGxvdy1hNzAwIjoiI0VFREEwMSIsImNvbG9yLXR2LWJsdWUtNTAiOiIjRTNFRkZEIiwiY29sb3ItdHYtYmx1ZS0xMDAiOiIjQkJEOUZCIiwiY29sb3ItdHYtYmx1ZS0yMDAiOiIjOTBCRkY5IiwiY29sb3ItdHYtYmx1ZS0zMDAiOiIjNUI5Q0Y2IiwiY29sb3ItdHYtYmx1ZS00MDAiOiIjMzE3OUY1IiwiY29sb3ItdHYtYmx1ZS01MDAiOiIjMjk2MkZGIiwiY29sb3ItdHYtYmx1ZS02MDAiOiIjMUU1M0U1IiwiY29sb3ItdHYtYmx1ZS03MDAiOiIjMTg0OENDIiwiY29sb3ItdHYtYmx1ZS04MDAiOiIjMTQzRUIyIiwiY29sb3ItdHYtYmx1ZS05MDAiOiIjMEMzMjk5IiwiY29sb3ItdHYtYmx1ZS1hMTAwIjoiIzgyYjFmZiIsImNvbG9yLXR2LWJsdWUtYTIwMCI6IiM0NDhhZmYiLCJjb2xvci10di1ibHVlLWE0MDAiOiIjMjk3OWZmIiwiY29sb3ItdHYtYmx1ZS1hNjAwIjoiIzI5NjJGRiIsImNvbG9yLXR2LWJsdWUtYTcwMCI6IiMxNDNBODciLCJjb2xvci10di1ibHVlLWE4MDAiOiIjMTQyRTYxIiwiY29sb3ItdHYtYmx1ZS1hOTAwIjoiIzEzMjA0MiIsImNvbG9yLWRlZXAtYmx1ZS01MCI6IiNFREU3RjYiLCJjb2xvci1kZWVwLWJsdWUtMTAwIjoiI0QxQzRFOSIsImNvbG9yLWRlZXAtYmx1ZS0yMDAiOiIjQjM5RERCIiwiY29sb3ItZGVlcC1ibHVlLTMwMCI6IiM5NTc1Y2QiLCJjb2xvci1kZWVwLWJsdWUtNDAwIjoiIzdlNTdjMiIsImNvbG9yLWRlZXAtYmx1ZS01MDAiOiIjNjczYWI3IiwiY29sb3ItZGVlcC1ibHVlLTYwMCI6IiM1RTM1QjEiLCJjb2xvci1kZWVwLWJsdWUtNzAwIjoiIzUxMmRhOCIsImNvbG9yLWRlZXAtYmx1ZS04MDAiOiIjNDUyN0EwIiwiY29sb3ItZGVlcC1ibHVlLTkwMCI6IiMzMTFCOTIiLCJjb2xvci1kZWVwLWJsdWUtYTEwMCI6IiNiMzg4ZmYiLCJjb2xvci1kZWVwLWJsdWUtYTIwMCI6IiM3QzRERkYiLCJjb2xvci1kZWVwLWJsdWUtYTQwMCI6IiM2NTFGRkYiLCJjb2xvci1kZWVwLWJsdWUtYTcwMCI6IiM2MjAwRUEiLCJjb2xvci1taW50eS1ncmVlbi01MCI6IiNEQUYyRUUiLCJjb2xvci1taW50eS1ncmVlbi0xMDAiOiIjQUNFNURDIiwiY29sb3ItbWludHktZ3JlZW4tMjAwIjoiIzcwQ0NCRCIsImNvbG9yLW1pbnR5LWdyZWVuLTMwMCI6IiM0MkJEQTgiLCJjb2xvci1taW50eS1ncmVlbi00MDAiOiIjMjJBQjk0IiwiY29sb3ItbWludHktZ3JlZW4tNTAwIjoiIzA4OTk4MSIsImNvbG9yLW1pbnR5LWdyZWVuLTYwMCI6IiMwNjgwNkIiLCJjb2xvci1taW50eS1ncmVlbi03MDAiOiIjMDU2NjU2IiwiY29sb3ItbWludHktZ3JlZW4tODAwIjoiIzAwNEQ0MCIsImNvbG9yLW1pbnR5LWdyZWVuLTkwMCI6IiMwMDMzMkEiLCJjb2xvci1taW50eS1ncmVlbi1hMTAwIjoiI0E3RkZGMCIsImNvbG9yLW1pbnR5LWdyZWVuLWEyMDAiOiIjNDVFNUNCIiwiY29sb3ItbWludHktZ3JlZW4tYTQwMCI6IiMyQkQ5QkMiLCJjb2xvci1taW50eS1ncmVlbi1hNjAwIjoiIzI0QjI5QiIsImNvbG9yLW1pbnR5LWdyZWVuLWE3MDAiOiIjMUI3NjY3IiwiY29sb3ItbWludHktZ3JlZW4tYTgwMCI6IiMxMDQ0M0IiLCJjb2xvci1taW50eS1ncmVlbi1hOTAwIjoiIzA4MjYyMSIsImNvbG9yLWdyYXBlcy1wdXJwbGUtNTAiOiIjRjNFNUY1IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS0xMDAiOiIjRTFCRUU3IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS0yMDAiOiIjQ0U5M0Q4IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS0zMDAiOiIjYmE2OGM4IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS00MDAiOiIjYWI0N2JjIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS01MDAiOiIjOWMyN2IwIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS02MDAiOiIjOGUyNGFhIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS03MDAiOiIjN2IxZmEyIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS04MDAiOiIjNkExQjlBIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS05MDAiOiIjNEExNDhDIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS1hMTAwIjoiI0VBODBGQyIsImNvbG9yLWdyYXBlcy1wdXJwbGUtYTIwMCI6IiNFMDQwRkIiLCJjb2xvci1ncmFwZXMtcHVycGxlLWE0MDAiOiIjRDUwMEY5IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS1hNzAwIjoiI2FhMDBmZiIsImNvbG9yLWJlcnJ5LXBpbmstNTAiOiIjRkNFNEVDIiwiY29sb3ItYmVycnktcGluay0xMDAiOiIjRjhCQkQwIiwiY29sb3ItYmVycnktcGluay0yMDAiOiIjZjQ4ZmIxIiwiY29sb3ItYmVycnktcGluay0zMDAiOiIjZjA2MjkyIiwiY29sb3ItYmVycnktcGluay00MDAiOiIjZWM0MDdhIiwiY29sb3ItYmVycnktcGluay01MDAiOiIjZTkxZTYzIiwiY29sb3ItYmVycnktcGluay02MDAiOiIjRDgxQjYwIiwiY29sb3ItYmVycnktcGluay03MDAiOiIjQzIxODVCIiwiY29sb3ItYmVycnktcGluay04MDAiOiIjQUQxNDU3IiwiY29sb3ItYmVycnktcGluay05MDAiOiIjODgwRTRGIiwiY29sb3ItYmVycnktcGluay1hMTAwIjoiI2ZmODBhYiIsImNvbG9yLWJlcnJ5LXBpbmstYTIwMCI6IiNmZjQwODEiLCJjb2xvci1iZXJyeS1waW5rLWE0MDAiOiIjZjUwMDU3IiwiY29sb3ItYmVycnktcGluay1hNzAwIjoiI2M1MTE2MiIsImNvbG9yLXNreS1ibHVlLTUwIjoiI0UwRjdGQSIsImNvbG9yLXNreS1ibHVlLTEwMCI6IiNCMkVCRjIiLCJjb2xvci1za3ktYmx1ZS0yMDAiOiIjODBERUVBIiwiY29sb3Itc2t5LWJsdWUtMzAwIjoiIzRkZDBlMSIsImNvbG9yLXNreS1ibHVlLTQwMCI6IiMyNmM2ZGEiLCJjb2xvci1za3ktYmx1ZS01MDAiOiIjMDBiY2Q0IiwiY29sb3Itc2t5LWJsdWUtNjAwIjoiIzAwYWNjMSIsImNvbG9yLXNreS1ibHVlLTcwMCI6IiMwMDk3QTciLCJjb2xvci1za3ktYmx1ZS04MDAiOiIjMDA4MzhGIiwiY29sb3Itc2t5LWJsdWUtOTAwIjoiIzAwNjA2NCIsImNvbG9yLXNreS1ibHVlLWExMDAiOiIjODRGRkZGIiwiY29sb3Itc2t5LWJsdWUtYTIwMCI6IiMxOEZGRkYiLCJjb2xvci1za3ktYmx1ZS1hNDAwIjoiIzAwZTVmZiIsImNvbG9yLXNreS1ibHVlLWE3MDAiOiIjMDBCOEQ0IiwiY29sb3ItZm9yZXN0LWdyZWVuLTUwIjoiI0RBRjJFNiIsImNvbG9yLWZvcmVzdC1ncmVlbi0xMDAiOiIjQUNFNUM5IiwiY29sb3ItZm9yZXN0LWdyZWVuLTIwMCI6IiM3MENDOUUiLCJjb2xvci1mb3Jlc3QtZ3JlZW4tMzAwIjoiIzQyQkQ3RiIsImNvbG9yLWZvcmVzdC1ncmVlbi00MDAiOiIjMjJBQjY3IiwiY29sb3ItZm9yZXN0LWdyZWVuLTUwMCI6IiMwODk5NTAiLCJjb2xvci1mb3Jlc3QtZ3JlZW4tNjAwIjoiIzA2ODA0MyIsImNvbG9yLWZvcmVzdC1ncmVlbi03MDAiOiIjMDU2NjM2IiwiY29sb3ItZm9yZXN0LWdyZWVuLTgwMCI6IiMwMDREMjciLCJjb2xvci1mb3Jlc3QtZ3JlZW4tOTAwIjoiIzFBMzMyNiIsImNvbG9yLWZhY2Vib29rIjoiIzE4NzdGMiIsImNvbG9yLWRlZXAtZmFjZWJvb2siOiIjMTU2NENBIiwiY29sb3ItdHdpdHRlciI6IiMxREExRjIiLCJjb2xvci1kZWVwLXR3aXR0ZXIiOiIjMTg4Q0QzIiwiY29sb3IteW91dHViZSI6IiNGRjAwMDAiLCJjb2xvci1saW5rZWRpbiI6IiMwMDdCQjUiLCJjb2xvci1zZWVraW5nLWFscGhhLWJyYW5kIjoiI2ZmNzIwMCJ9JykKfSw4Njc1MjIobyl7Cm8uZXhwb3J0cz1KU09OLnBhcnNlKCd7ImNvbG9yLWhlYWRlci1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3ItYm9keS1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3ItYm9keS1zZWNvbmRhcnktYmciOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItYmctcHJpbWFyeSI6ImNvbG9yLXdoaXRlIiwiY29sb3ItYmctcHJpbWFyeS1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1iZy1zZWNvbmRhcnkiOiJjb2xvci13aGl0ZSIsImNvbG9yLWJnLWhpZ2hsaWdodCI6ImNvbG9yLWNvbGQtZ3JheS01MCIsImNvbG9yLWJnLXNjcm9sbC1idXR0b25zIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLWxlZ2FjeS1iZy1zY3JvbGwtYnV0dG9ucyI6ImNvbG9yLWNvbGQtZ3JheS04NTAiLCJjb2xvci1sZWdhY3ktYmctd2lkZ2V0IjoiY29sb3Itd2hpdGUiLCJjb2xvci10ZXh0LXByaW1hcnkiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItdGV4dC1zZWNvbmRhcnkiOiJjb2xvci1jb2xkLWdyYXktNTUwIiwiY29sb3ItdGV4dC10ZXJ0aWFyeSI6ImNvbG9yLWNvbGQtZ3JheS00MDAiLCJjb2xvci10ZXh0LWRpc2FibGVkIjoiY29sb3ItY29sZC1ncmF5LTMwMCIsImNvbG9yLWFjY2VudC1jb250ZW50IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWJveC1zaGFkb3ciOiJjb2xvci1jb2xkLWdyYXktMzAwIiwiY29sb3ItZGl2aWRlciI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1kaXZpZGVyLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLWRpdmlkZXItc2Vjb25kYXJ5IjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLWFjdGl2ZS1ob3Zlci10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWFsZXJ0LXRleHQiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItYm9yZGVyLXRhYmxlIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLWJyYW5kIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1icmFuZC1hY3RpdmUiOiJjb2xvci10di1ibHVlLTcwMCIsImNvbG9yLWJyYW5kLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS02MDAiLCJjb2xvci1jaGFydC1wYWdlLWJnIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWNvbW1vbi10b29sdGlwLWJnIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLWRhbmdlciI6ImNvbG9yLXJpcGUtcmVkLTQwMCIsImNvbG9yLWRhbmdlci1ob3ZlciI6ImNvbG9yLXJpcGUtcmVkLTUwMCIsImNvbG9yLWRhbmdlci1hY3RpdmUiOiJjb2xvci1yaXBlLXJlZC02MDAiLCJjb2xvci1kZXB0aHJlbmRlcmVyLXN0cm9rZS1zdHlsZSI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1oaWdobGlnaHQtbmV3IjoiY29sb3ItdGFuLW9yYW5nZS01MCIsImNvbG9yLWlucHV0LWJnIjoiY29sb3Itd2hpdGUiLCJjb2xvci1pbnB1dC1wdWJsaXNoLWJnIjoiY29sb3Itd2hpdGUiLCJjb2xvci1saW5rIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1saW5rLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS02MDAiLCJjb2xvci1saW5rLWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNzAwIiwiY29sb3ItbGlzdC1udGgtY2hpbGQtYmciOiJjb2xvci1jb2xkLWdyYXktNTAiLCJjb2xvci1wYW5lLWJnIjoiY29sb3Itd2hpdGUiLCJjb2xvci1wYW5lLXNlY29uZGFyeS1iZyI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1wb3B1cC1tZW51LWl0ZW0taG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItcG9wdXAtbWVudS1zZXBhcmF0b3IiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItcHJpbWFyeS1zeW1ib2wiOiJjb2xvci1za3ktYmx1ZS01MDAiLCJjb2xvci1zY3JlZW5lci1kZXNjcmlwdGlvbiI6ImNvbG9yLWNvbGQtZ3JheS02NTAiLCJjb2xvci1zdWNjZXNzIjoiY29sb3ItbWludHktZ3JlZW4tNTAwIiwiY29sb3Itc3VjY2Vzcy1ob3ZlciI6ImNvbG9yLW1pbnR5LWdyZWVuLTYwMCIsImNvbG9yLXN1Y2Nlc3MtYWN0aXZlIjoiY29sb3ItbWludHktZ3JlZW4tNzAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZS1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtNjAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLXNlY29uZGFyeS1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNTAiLCJjb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtMTAwIiwiY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUtaG92ZXIiOiJjb2xvci10di1ibHVlLTYwMCIsImNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1pY29uIjoiY29sb3ItY29sZC1ncmF5LTIwMCIsImNvbG9yLXRvb2xiYXItaW50ZXJhY3RpdmUtZWxlbWVudC10ZXh0LW5vcm1hbCI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci10b29sYmFyLW9wZW5lZC1lbGVtZW50LWJnIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXRvb2xiYXItZGl2aWRlci1iYWNrZ3JvdW5kIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLXBvcHVwLWJhY2tncm91bmQiOiJjb2xvci13aGl0ZSIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtc2Vjb25kYXJ5LXRleHQiOiJjb2xvci1jb2xkLWdyYXktNTAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC1oaW50LXRleHQiOiJjb2xvci1jb2xkLWdyYXktNDAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWFjdGl2ZSI6ImNvbG9yLXdoaXRlIiwiY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQiOiJjb2xvci1jb2xkLWdyYXktNTAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtYWN0aXZlLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS0yMDAiLCJjb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtYmFja2dyb3VuZC1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtYmFja2dyb3VuZC1hY3RpdmUtaG92ZXIiOiJjb2xvci10di1ibHVlLTcwMCIsImNvbG9yLXRvb2x0aXAtYmciOiJjb2xvci1jb2xkLWdyYXktODAwIiwiY29sb3ItdHYtZGlhbG9nLWNhcHRpb24iOiJjb2xvci1jb2xkLWdyYXktNjUwIiwiY29sb3ItdHYtZHJvcGRvd24taXRlbS1ob3Zlci1iZyI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci11bmRlcmxpbmVkLXRleHQiOiJjb2xvci1jb2xkLWdyYXktNTUwIiwiY29sb3Itd2lkZ2V0LXBhZ2VzLWJnIjoiY29sb3Itd2hpdGUiLCJjb2xvci13YXJuaW5nIjoiY29sb3ItdGFuLW9yYW5nZS01MDAiLCJjb2xvci1ncm93aW5nIjoiY29sb3ItbWludHktZ3JlZW4tNTAwIiwiY29sb3ItZmFsbGluZyI6ImNvbG9yLXJpcGUtcmVkLTUwMCIsImNvbG9yLWZvcmV4LWljb24iOiJjb2xvci1jb2xkLWdyYXktNzUwIiwiY29sb3ItbGlzdC1pdGVtLWFjdGl2ZS1iZyI6ImNvbG9yLXR2LWJsdWUtNDAwIiwiY29sb3ItbGlzdC1pdGVtLWhvdmVyLWJnIjoiY29sb3ItdHYtYmx1ZS01MCIsImNvbG9yLWxpc3QtaXRlbS10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLXByaWNlLWF4aXMtbGFiZWwtYmFjayI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1wcmljZS1heGlzLWxhYmVsLXRleHQiOiJjb2xvci1jb2xkLWdyYXktNjUwIiwiY29sb3ItcHJpY2UtYXhpcy1nZWFyIjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLXByaWNlLWF4aXMtZ2Vhci1ob3ZlciI6ImNvbG9yLWJsYWNrIiwiY29sb3ItcHJpY2UtYXhpcy1oaWdobGlnaHQiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItYmlkIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1ib3JkZXIiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItYm9yZGVyLWNoYXQtZmllbGRzIjoiY29sb3ItY29sZC1ncmF5LTI1MCIsImNvbG9yLWJvcmRlci1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0yNTAiLCJjb2xvci1idXR0b24taG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItZGVwdGhyZW5kZXJlci1maWxsLXN0eWxlIjoiY29sb3ItY29sZC1ncmF5LTY1MCIsImNvbG9yLWRpc2FibGVkLWJvcmRlci1hbmQtY29sb3IiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItZGlzYWJsZWQtaW5wdXQiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItZW1wdHktY29udGFpbmVyLW1lc3NhZ2UiOiJjb2xvci1jb2xkLWdyYXktNTUwIiwiY29sb3ItaWNvbnMiOiJjb2xvci1jb2xkLWdyYXktNTUwIiwiY29sb3ItaW5wdXQtdGV4dGFyZWEtcmVhZG9ubHkiOiJjb2xvci1jb2xkLWdyYXktNjUwIiwiY29sb3ItaW5wdXQtcGxhY2Vob2xkZXItdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS0zNTAiLCJjb2xvci1pdGVtLWFjdGl2ZS1ibHVlIjoiY29sb3ItdHYtYmx1ZS01MCIsImNvbG9yLWl0ZW0taG92ZXItYWN0aXZlLWJnIjoiY29sb3ItdHYtYmx1ZS0xMDAiLCJjb2xvci1pdGVtLWhvdmVyLWJnIjoiY29sb3ItdHYtYmx1ZS0xMDAiLCJjb2xvci1pdGVtLWhvdmVyLWJsdWUiOiJjb2xvci10di1ibHVlLTEwMCIsImNvbG9yLWl0ZW0tc2VsZWN0ZWQtYmx1ZSI6ImNvbG9yLXR2LWJsdWUtNTAiLCJjb2xvci1pdGVtLWFjdGl2ZS10ZXh0IjoiY29sb3Itd2hpdGUiLCJjb2xvci1pdGVtLWFjdGl2ZS1iZyI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItbGlzdC1pdGVtIjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLW5ld3MtaGlnaGxpZ2h0IjoiY29sb3ItdHYtYmx1ZS0xMDAiLCJjb2xvci1wbGFjZWhvbGRlciI6ImNvbG9yLWNvbGQtZ3JheS0zNTAiLCJjb2xvci1yb3ctaG92ZXItYWN0aXZlLWJnIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXNiLXNjcm9sbGJhci1ib2R5LWJnIjoiY29sb3ItY29sZC1ncmF5LTIwMCIsImNvbG9yLXNlY3Rpb24tc2VwYXJhdG9yLWJvcmRlciI6ImNvbG9yLWNvbGQtZ3JheS0zMDAiLCJjb2xvci1zZXBhcmF0b3ItdGFibGUtY2hhdCI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci10YWctYWN0aXZlLWJnIjoiY29sb3ItY29sZC1ncmF5LTIwMCIsImNvbG9yLXRhZy1ob3Zlci1iZyI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci10ZXh0LXJlZ3VsYXIiOiJjb2xvci1jb2xkLWdyYXktNzAwIiwiY29sb3ItdHYtYnV0dG9uLWNoZWNrZWQiOiJjb2xvci1jb2xkLWdyYXktNTUwIiwiY29sb3Itc2Nyb2xsLWJnIjoiY29sb3ItY29sZC1ncmF5LTQwMCIsImNvbG9yLXNjcm9sbC1ib3JkZXIiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3Itd2lkZ2V0LWJvcmRlciI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1zY3JvbGwtYnV0dG9ucy1hcnJvdyI6ImNvbG9yLXdoaXRlIiwiY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdCI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci1jb250cm9sLWludGVudC1zdWNjZXNzIjoiY29sb3ItbWludHktZ3JlZW4tNTAwIiwiY29sb3ItY29udHJvbC1pbnRlbnQtcHJpbWFyeSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItY29udHJvbC1pbnRlbnQtd2FybmluZyI6ImNvbG9yLXRhbi1vcmFuZ2UtNTAwIiwiY29sb3ItY29udHJvbC1pbnRlbnQtZGFuZ2VyIjoiY29sb3ItcmlwZS1yZWQtNTAwIiwiY29sb3ItZ290by1sYWJlbC1iYWNrZ3JvdW5kIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLXByZS1tYXJrZXQiOiJjb2xvci10YW4tb3JhbmdlLTYwMCIsImNvbG9yLXBvc3QtbWFya2V0IjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1ub3RhY2N1cmF0ZS1tb2RlIjoiY29sb3ItYmVycnktcGluay02MDAiLCJjb2xvci1kZWxheS1tb2RlIjoiY29sb3ItdGFuLW9yYW5nZS03MDAiLCJjb2xvci1kZWxheS1tb2RlLWJnIjoiY29sb3ItdGFuLW9yYW5nZS00MDAiLCJjb2xvci1saXN0LWl0ZW0tYmctaGlnaGxpZ2h0ZWQiOiJjb2xvci10di1ibHVlLTUwIiwiY29sb3ItbGlzdC1pdGVtLWJnLXNlbGVjdGVkIjoiY29sb3ItdHYtYmx1ZS0xMDAiLCJjb2xvci1saXN0LWl0ZW0tYmctaGlnaGxpZ2h0ZWQtaG92ZXIiOiJjb2xvci10di1ibHVlLTEwMCIsImNvbG9yLWxpc3QtaXRlbS1iZy1zZWxlY3RlZC1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtMjAwIiwiY29sb3Itc2NyZWVuZXItaGVhZGVyLWJnIjoiY29sb3Itd2hpdGUiLCJjb2xvci1zY3JlZW5lci1oZWFkZXItYmctaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItbWFya2VyLWZsYWdnZWQiOiJjb2xvci1yaXBlLXJlZC00MDAiLCJjb2xvci1tYXJrZXItZmxhZ2dlZC1ob3ZlcmVkIjoiY29sb3ItcmlwZS1yZWQtNjAwIiwiY29sb3ItYXNrIjoiY29sb3ItcmlwZS1yZWQtNDAwIiwiY29sb3Itc2VsbCI6ImNvbG9yLXJpcGUtcmVkLTQwMCIsImNvbG9yLWJ1eSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItbmV1dHJhbCI6ImNvbG9yLWNvbGQtZ3JheS01NTAiLCJjb2xvci1wcm8iOiJjb2xvci1taW50eS1ncmVlbi00MDAiLCJjb2xvci1wcm8taG92ZXIiOiJjb2xvci1taW50eS1ncmVlbi02MDAiLCJjb2xvci1wcm8tcGx1cyI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItcHJvLXBsdXMtaG92ZXIiOiJjb2xvci10di1ibHVlLTYwMCIsImNvbG9yLXByby1wcmVtaXVtIjoiY29sb3ItdGFuLW9yYW5nZS01MDAiLCJjb2xvci1wcm8tcHJlbWl1bS1ob3ZlciI6ImNvbG9yLXRhbi1vcmFuZ2UtNzAwIiwiY29sb3ItdHJpYWwiOiJjb2xvci1jb2xkLWdyYXktNTUwIiwiY29sb3ItdHJpYWwtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktNTUwIiwiY29sb3ItbW9kIjoiY29sb3ItcmlwZS1yZWQtNDAwIiwiY29sb3ItbW9kLWhvdmVyIjoiY29sb3ItcmlwZS1yZWQtNjAwIiwiY29sb3ItYWQiOiJjb2xvci10YW4tb3JhbmdlLTUwMCIsImNvbG9yLWJyb2tlci1mZWF0dXJlZCI6ImNvbG9yLW1pbnR5LWdyZWVuLTQwMCIsImNvbG9yLWJyb2tlci1mZWF0dXJlZC1ob3ZlciI6ImNvbG9yLW1pbnR5LWdyZWVuLTYwMCIsImNvbG9yLWFsZXJ0LXN0YXR1cy1hY3RpdmUiOiJjb2xvci1taW50eS1ncmVlbi01MDAiLCJjb2xvci1hbGVydC1zdGF0dXMtc3RvcHBlZCI6ImNvbG9yLXJpcGUtcmVkLTUwMCIsImNvbG9yLWFsZXJ0LXN0YXR1cy10cmlnZ2VyZWQiOiJjb2xvci10YW4tb3JhbmdlLTUwMCIsImNvbG9yLW92ZXJsYXkiOiJjb2xvci1jb2xkLWdyYXktNDAwIiwiY29sb3Itc2VhcmNoLWJ1dHRvbi1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1ib29zdC1idXR0b24tY29udGVudC1zZWxlY3RlZCI6ImNvbG9yLXR2LWJsdWUtNjAwIiwiY29sb3ItYm9vc3QtYnV0dG9uLWNvbnRlbnQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItYm9vc3QtYnV0dG9uLWJnLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWJvb3N0LWJ1dHRvbi1ib3JkZXItaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItYm9vc3QtYnV0dG9uLWJvcmRlci1kZWZhdWx0IjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWNvbW1vbi10b29sdGlwLXRleHQiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItcmVwbGF5LWRhdGEtbW9kZSI6ImNvbG9yLXJpcGUtcmVkLTQwMCIsImNvbG9yLWxlZ2FjeS1zdWNjZXNzIjoiY29sb3ItbWludHktZ3JlZW4tMzAwIiwiY29sb3ItY29sbGFwc2UtdGFicy1ib3JkZXIiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3Itc2l0ZS13aWRnZXQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktNTAiLCJjb2xvci1hdHRlbnRpb24iOiJjb2xvci1iYW5hbmEteWVsbG93LTcwMCIsImNvbG9yLXgtdHdpdHRlci1jb250ZW50IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWNhcmQtYm9yZGVyIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWNhcmQtYm9yZGVyLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTMwMCIsImNvbG9yLWJhY2tncm91bmQtc3BlY2lhbC1wcmltYXJ5IjoiY29sb3Itd2hpdGUiLCJjb2xvci1zdHJva2Utc3BlY2lhbC1wcmltYXJ5IjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLXNlbGVjdGlvbi1iZyI6ImNvbG9yLXR2LWJsdWUtMTAwIiwiY29sb3ItZGVmYXVsdC1ncmF5IjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLWZlYXR1cmVkLWJyb2tlci1iYWRnZS1iZyI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmctaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktODAwIiwiY29sb3ItZmVhdHVyZWQtYnJva2VyLWJhZGdlLXRleHQiOiJjb2xvci13aGl0ZSJ9JykKfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"wss","addr":"wss://widgetdata.tradingview.com/socket.io/websocket?from=embed-widget%2Fsymbol-overview%2F\u0026date=2026-07-24T11%3A40%3A08\u0026page-uri=247optiontradefx.com%2F\u0026ancestor-origin=247optiontradefx.com\u0026api_key=tradingview","fqdn":"widgetdata.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"websocket","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.421Z","timestamp":1785120634421,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /socket.io/websocket?from=embed-widget%2Fsymbol-overview%2F\u0026date=2026-07-24T11%3A40%3A08\u0026page-uri=247optiontradefx.com%2F\u0026ancestor-origin=247optiontradefx.com\u0026api_key=tradingview HTTP/1.1\r\nHost: widgetdata.tradingview.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://www.tradingview-widget.com\r\nSec-WebSocket-Extensions: permessage-deflate\r\nSec-WebSocket-Key: xZpQbWzyT9x1TJF1JIbQCA==\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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"247optiontradefx.com/fonts/icomoon/fonts/icomoon5c3b5c3b5c3b.ttf","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.493Z","timestamp":1785120633493,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /fonts/icomoon/fonts/icomoon5c3b5c3b5c3b.ttf HTTP/1.1\r\nHost: 247optiontradefx.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: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://247optiontradefx.com/fonts/icomoon/style.css\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: application/octet-stream\r\nContent-Length: 13012\r\nLast-Modified: Tue, 14 Apr 2026 04:20:06 GMT\r\nConnection: keep-alive\r\nETag: \"69ddc076-32d4\"\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":13012,"size_decoded":13268,"mime_type":"application/octet-stream","magic":"TrueType Font data, 11 tables, 1st \"OS/2\", 14 names, Macintosh, type 1 string, icomoon    ","md5":"ed2e294208d07d1d4540396fea92298a","sha1":"18305f9f0bc6b5d39d517a37f5c0607b89e502e1","sha256":"ef6d13cfd7e85b56fcbde9da0e2ead5fd5dea76e84c7f8a05ecb5ca0fa099fde","sha512":"4ebdc7f823fd683ea51d485e0ea7882e8102192354d225f82c7e179d395c383ba4729b1306cfda91128d889a310729cf674958df2b9858da7a5ff44daf5725c9","ssdeep":"192:RTfm4d5oWAiQ2nGoFGjXQIf/jdf5wQMJ2lWgWw9vlfjeN1SPUuPVSC86LbtlPV2K:BDEf8GjxDN5wTJ2lWgTjeQVrLbtd5","tlshash":"10423957c36acb6cc52ac5390e16d3565fea9913d33ed392bd806e50481c4fc8c68bae","first_seen":"2026-07-27T02:45:25.190607Z","last_seen":"2026-07-27T02:59:54.494427Z","times_seen":4,"resource_available":false,"data":"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"}},"time_used":30,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":30,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/99527.15c5c25d27a56a0df772.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.843Z","timestamp":1785120633843,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/99527.15c5c25d27a56a0df772.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=0\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 02:50:33 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58aaad-19360\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:55:57 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:20\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 53173f6bfa792439165af7078cbe7984\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":103264,"size_decoded":14015,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (65536), with no line terminators","md5":"3ae28448cb02ee3491028f82c9e212b5","sha1":"840f868063e33818424634685f83f5dc9c54fd85","sha256":"6d8af262e85da3952f96074c40841361fe81de28292a6654a4b6a5c8c0d9a1b6","sha512":"615657ad93d0166da77c83a566e60f1d4002b7a4a1c811227c935f2a4ea91b16e01893aba5c708e2a1b40c39c6e773c08d99e62560bcc1c8df301a3b9f1b3821","ssdeep":"768:ywlwokCcAfM0x/2bcVtmUK6ogvY0FGhgiU4vWQs/WQ2das9:oIVtmUK6ouY0FGhgi1vjs/WQ2day","tlshash":"dea335bcf95192bb5e9b587f4398f6697648f943fd066f86bf00c00020c6ee710e5a5a","first_seen":"2026-04-20T12:30:34.890238Z","last_seen":"2026-07-27T05:15:36.987866Z","times_seen":4759,"resource_available":false,"data":"aHRtbHstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJX1ib2R5e2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7Zm9udC1zaXplOjE0cHg7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbn1odG1sW2xhbmc9dmldIGJvZHl7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZn1ib2R5LGh0bWx7Ym94LXNpemluZzpib3JkZXItYm94O2hlaWdodDoxMDAlfWJvZHksZGlyLGgxLGgyLGgzLGg0LGg1LGg2LGh0bWwsbGksbWVudSxvbCxwLHVse21hcmdpbjowO3BhZGRpbmc6MH1he3RleHQtZGVjb3JhdGlvbjpub25lfWE6YWN0aXZle291dGxpbmU6MH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7YTpob3ZlcntvdXRsaW5lOjB9fWgxe2ZvbnQtc2l6ZToyZW19c3ViLHN1cHtmb250LXNpemU6NzUlO2xpbmUtaGVpZ2h0OjA7cG9zaXRpb246cmVsYXRpdmU7dmVydGljYWwtYWxpZ246aW5pdGlhbH1zdXB7dG9wOi0uMjVlbX1zdWJ7Ym90dG9tOi0uMjVlbX1maWd1cmV7bWFyZ2luOjB9cHJle292ZXJmbG93OmF1dG99Y29kZSxrYmQscHJlLHNhbXB7Zm9udC1mYW1pbHk6bW9ub3NwYWNlLG1vbm9zcGFjZTtmb250LXNpemU6MWVtfWJ1dHRvbixpbnB1dCxvcHRncm91cCxzZWxlY3QsdGV4dGFyZWF7Y29sb3I6aW5oZXJpdDtmb250OmluaGVyaXQ7bWFyZ2luOjB9YnV0dG9uLHNlbGVjdHt0ZXh0LXRyYW5zZm9ybTpub25lfWJ1dHRvbixpbnB1dFt0eXBlPWJ1dHRvbl0saW5wdXRbdHlwZT1yZXNldF0saW5wdXRbdHlwZT1zdWJtaXRdey13ZWJraXQtYXBwZWFyYW5jZTpidXR0b247Y3Vyc29yOmRlZmF1bHR9aW5wdXRbZGlzYWJsZWRde2N1cnNvcjpkZWZhdWx0fWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixpbnB1dDo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MDtwYWRkaW5nOjB9aW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLGlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b31pbnB1dFt0eXBlPXNlYXJjaF17LXdlYmtpdC1hcHBlYXJhbmNlOnRleHRmaWVsZDtib3gtc2l6aW5nOmluaXRpYWx9aW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLGlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZX1maWVsZHNldHtib3JkZXI6bm9uZTttYXJnaW46MDtwYWRkaW5nOjB9dGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JvcmRlci1zcGFjaW5nOjB9dGQsdGh7cGFkZGluZzowfTpyb290ey0tY29sb3Itd2hpdGU6I2ZmZjstLWNvbG9yLWJsYWNrOiMwMDA7LS1jb2xvci10cmFuc3BhcmVudDojMDAwMDstLWNvbG9yLWNvbGQtZ3JheS01MDojZjlmOWY5Oy0tY29sb3ItY29sZC1ncmF5LTEwMDojZjJmMmYyOy0tY29sb3ItY29sZC1ncmF5LTE1MDojZWJlYmViOy0tY29sb3ItY29sZC1ncmF5LTIwMDojZGJkYmRiOy0tY29sb3ItY29sZC1ncmF5LTI1MDojYzljOWM5Oy0tY29sb3ItY29sZC1ncmF5LTMwMDojYjhiOGI4Oy0tY29sb3ItY29sZC1ncmF5LTM1MDojYThhOGE4Oy0tY29sb3ItY29sZC1ncmF5LTQwMDojOWM5YzljOy0tY29sb3ItY29sZC1ncmF5LTQ1MDojOGM4YzhjOy0tY29sb3ItY29sZC1ncmF5LTUwMDpncmV5Oy0tY29sb3ItY29sZC1ncmF5LTU1MDojNzA3MDcwOy0tY29sb3ItY29sZC1ncmF5LTYwMDojNjM2MzYzOy0tY29sb3ItY29sZC1ncmF5LTY1MDojNTc1NzU3Oy0tY29sb3ItY29sZC1ncmF5LTcwMDojNGE0YTRhOy0tY29sb3ItY29sZC1ncmF5LTc1MDojM2QzZDNkOy0tY29sb3ItY29sZC1ncmF5LTgwMDojMmUyZTJlOy0tY29sb3ItY29sZC1ncmF5LTg1MDojMWYxZjFmOy0tY29sb3ItY29sZC1ncmF5LTkwMDojMGYwZjBmOy0tY29sb3ItY29sZC1ncmF5LTk1MDojMDAwOy0tY29sb3ItcmlwZS1yZWQtNTA6I2ZmZWJlYzstLWNvbG9yLXJpcGUtcmVkLTEwMDojZmNjYmNkOy0tY29sb3ItcmlwZS1yZWQtMjAwOiNmYWExYTQ7LS1jb2xvci1yaXBlLXJlZC0zMDA6I2Y3N2M4MDstLWNvbG9yLXJpcGUtcmVkLTQwMDojZjc1MjVmOy0tY29sb3ItcmlwZS1yZWQtNTAwOiNmMjM2NDU7LS1jb2xvci1yaXBlLXJlZC02MDA6I2NjMmYzYzstLWNvbG9yLXJpcGUtcmVkLTcwMDojYjIyODMzOy0tY29sb3ItcmlwZS1yZWQtODAwOiM5OTFmMjk7LS1jb2xvci1yaXBlLXJlZC05MDA6IzgwMTkyMjstLWNvbG9yLXJpcGUtcmVkLWExMDA6I2ZmODA4MDstLWNvbG9yLXJpcGUtcmVkLWEyMDA6I2ZmNTI1MjstLWNvbG9yLXJpcGUtcmVkLWE0MDA6I2YzMzstLWNvbG9yLXJpcGUtcmVkLWE2MDA6I2NjMjkyOTstLWNvbG9yLXJpcGUtcmVkLWE3MDA6IzgwMjAyODstLWNvbG9yLXJpcGUtcmVkLWE4MDA6IzRkMTkxZDstLWNvbG9yLXJpcGUtcmVkLWE5MDA6IzMzMWYyMDstLWNvbG9yLXRhbi1vcmFuZ2UtNTA6I2ZmZjNlMDstLWNvbG9yLXRhbi1vcmFuZ2UtMTAwOiNmZmUwYjI7LS1jb2xvci10YW4tb3JhbmdlLTIwMDojZmZjYzgwOy0tY29sb3ItdGFuLW9yYW5nZS0zMDA6I2ZmYjc0ZDstLWNvbG9yLXRhbi1vcmFuZ2UtNDAwOiNmZmE3MjY7LS1jb2xvci10YW4tb3JhbmdlLTUwMDojZmY5ODAwOy0tY29sb3ItdGFuLW9yYW5nZS02MDA6I2ZiOGMwMDstLWNvbG9yLXRhbi1vcmFuZ2UtNzAwOiNmNTdjMDA7LS1jb2xvci10YW4tb3JhbmdlLTgwMDojZWY2YzAwOy0tY29sb3ItdGFuLW9yYW5nZS05MDA6I2U2NTEwMDstLWNvbG9yLXRhbi1vcmFuZ2UtYTEwMDojZmZkMTgwOy0tY29sb3ItdGFuLW9yYW5nZS1hMjAwOiNmZmFiNDA7LS1jb2xvci10YW4tb3JhbmdlLWE0MDA6I2ZmOTEwMDstLWNvbG9yLXRhbi1vcmFuZ2UtYTUwMDojZTU3ZTE3Oy0tY29sb3ItdGFuLW9yYW5nZS1hNjAwOiNjYzcwMTQ7LS1jb2xvci10YW4tb3JhbmdlLWE3MDA6IzhjNTQxYzstLWNvbG9yLXRhbi1vcmFuZ2UtYTgwMDojNTkzYTFiOy0tY29sb3ItdGFuLW9yYW5nZS1hOTAwOiMzMzI2MWE7LS1jb2xvci1pZ3VhbmEtZ3JlZW4tNTA6I2U4ZjVlOTstLWNvbG9yLWlndWFuYS1ncmVlbi0xMDA6I2M4ZTZjOTstLWNvbG9yLWlndWFuYS1ncmVlbi0yMDA6I2E1ZDZhNzstLWNvbG9yLWlndWFuYS1ncmVlbi0zMDA6IzgxYzc4NDstLWNvbG9yLWlndWFuYS1ncmVlbi00MDA6IzY2YmI2YTstLWNvbG9yLWlndWFuYS1ncmVlbi01MDA6IzRjYWY1MDstLWNvbG9yLWlndWFuYS1ncmVlbi02MDA6IzQzYTA0NzstLWNvbG9yLWlndWFuYS1ncmVlbi03MDA6IzM4OGUzYzstLWNvbG9yLWlndWFuYS1ncmVlbi04MDA6IzJlN2QzMjstLWNvbG9yLWlndWFuYS1ncmVlbi05MDA6IzFiNWUyMDstLWNvbG9yLWlndWFuYS1ncmVlbi1hMTAwOiNiOWY2Y2E7LS1jb2xvci1pZ3VhbmEtZ3JlZW4tYTIwMDojNjlmMGFlOy0tY29sb3ItaWd1YW5hLWdyZWVuLWE0MDA6IzAwZTY3NjstLWNvbG9yLWlndWFuYS1ncmVlbi1hNzAwOiMwMGM4NTM7LS1jb2xvci1iYW5hbmEteWVsbG93LTUwOiNmZmZkZTc7LS1jb2xvci1iYW5hbmEteWVsbG93LTEwMDojZmZmOWM0Oy0tY29sb3ItYmFuYW5hLXllbGxvdy0yMDA6I2ZmZjU5ZDstLWNvbG9yLWJhbmFuYS15ZWxsb3ctMzAwOiNmZmYxNzY7LS1jb2xvci1iYW5hbmEteWVsbG93LTQwMDojZmZlZTU4Oy0tY29sb3ItYmFuYW5hLXllbGxvdy01MDA6I2ZmZWIzYjstLWNvbG9yLWJhbmFuYS15ZWxsb3ctNjAwOiNmZGQ4MzU7LS1jb2xvci1iYW5hbmEteWVsbG93LTcwMDojZmJjMDJkOy0tY29sb3ItYmFuYW5hLXllbGxvdy04MDA6I2Y5YTgyNTstLWNvbG9yLWJhbmFuYS15ZWxsb3ctOTAwOiNmNTdmMTc7LS1jb2xvci1iYW5hbmEteWVsbG93LWExMDA6I2ZmZmY4ZDstLWNvbG9yLWJhbmFuYS15ZWxsb3ctYTIwMDojZmYwOy0tY29sb3ItYmFuYW5hLXllbGxvdy1hNDAwOiNmZmVhMDA7LS1jb2xvci1iYW5hbmEteWVsbG93LWE3MDA6I2VlZGEwMTstLWNvbG9yLXR2LWJsdWUtNTA6I2UzZWZmZDstLWNvbG9yLXR2LWJsdWUtMTAwOiNiYmQ5ZmI7LS1jb2xvci10di1ibHVlLTIwMDojOTBiZmY5Oy0tY29sb3ItdHYtYmx1ZS0zMDA6IzViOWNmNjstLWNvbG9yLXR2LWJsdWUtNDAwOiMzMTc5ZjU7LS1jb2xvci10di1ibHVlLTUwMDojMjk2MmZmOy0tY29sb3ItdHYtYmx1ZS02MDA6IzFlNTNlNTstLWNvbG9yLXR2LWJsdWUtNzAwOiMxODQ4Y2M7LS1jb2xvci10di1ibHVlLTgwMDojMTQzZWIyOy0tY29sb3ItdHYtYmx1ZS05MDA6IzBjMzI5OTstLWNvbG9yLXR2LWJsdWUtYTEwMDojODJiMWZmOy0tY29sb3ItdHYtYmx1ZS1hMjAwOiM0NDhhZmY7LS1jb2xvci10di1ibHVlLWE0MDA6IzI5NzlmZjstLWNvbG9yLXR2LWJsdWUtYTYwMDojMjk2MmZmOy0tY29sb3ItdHYtYmx1ZS1hNzAwOiMxNDNhODc7LS1jb2xvci10di1ibHVlLWE4MDA6IzE0MmU2MTstLWNvbG9yLXR2LWJsdWUtYTkwMDojMTMyMDQyOy0tY29sb3ItZGVlcC1ibHVlLTUwOiNlZGU3ZjY7LS1jb2xvci1kZWVwLWJsdWUtMTAwOiNkMWM0ZTk7LS1jb2xvci1kZWVwLWJsdWUtMjAwOiNiMzlkZGI7LS1jb2xvci1kZWVwLWJsdWUtMzAwOiM5NTc1Y2Q7LS1jb2xvci1kZWVwLWJsdWUtNDAwOiM3ZTU3YzI7LS1jb2xvci1kZWVwLWJsdWUtNTAwOiM2NzNhYjc7LS1jb2xvci1kZWVwLWJsdWUtNjAwOiM1ZTM1YjE7LS1jb2xvci1kZWVwLWJsdWUtNzAwOiM1MTJkYTg7LS1jb2xvci1kZWVwLWJsdWUtODAwOiM0NTI3YTA7LS1jb2xvci1kZWVwLWJsdWUtOTAwOiMzMTFiOTI7LS1jb2xvci1kZWVwLWJsdWUtYTEwMDojYjM4OGZmOy0tY29sb3ItZGVlcC1ibHVlLWEyMDA6IzdjNGRmZjstLWNvbG9yLWRlZXAtYmx1ZS1hNDAwOiM2NTFmZmY7LS1jb2xvci1kZWVwLWJsdWUtYTcwMDojNjIwMGVhOy0tY29sb3ItbWludHktZ3JlZW4tNTA6I2RhZjJlZTstLWNvbG9yLW1pbnR5LWdyZWVuLTEwMDojYWNlNWRjOy0tY29sb3ItbWludHktZ3JlZW4tMjAwOiM3MGNjYmQ7LS1jb2xvci1taW50eS1ncmVlbi0zMDA6IzQyYmRhODstLWNvbG9yLW1pbnR5LWdyZWVuLTQwMDojMjJhYjk0Oy0tY29sb3ItbWludHktZ3JlZW4tNTAwOiMwODk5ODE7LS1jb2xvci1taW50eS1ncmVlbi02MDA6IzA2ODA2YjstLWNvbG9yLW1pbnR5LWdyZWVuLTcwMDojMDU2NjU2Oy0tY29sb3ItbWludHktZ3JlZW4tODAwOiMwMDRkNDA7LS1jb2xvci1taW50eS1ncmVlbi05MDA6IzAwMzMyYTstLWNvbG9yLW1pbnR5LWdyZWVuLWExMDA6I2E3ZmZmMDstLWNvbG9yLW1pbnR5LWdyZWVuLWEyMDA6IzQ1ZTVjYjstLWNvbG9yLW1pbnR5LWdyZWVuLWE0MDA6IzJiZDliYzstLWNvbG9yLW1pbnR5LWdyZWVuLWE2MDA6IzI0YjI5YjstLWNvbG9yLW1pbnR5LWdyZWVuLWE3MDA6IzFiNzY2NzstLWNvbG9yLW1pbnR5LWdyZWVuLWE4MDA6IzEwNDQzYjstLWNvbG9yLW1pbnR5LWdyZWVuLWE5MDA6IzA4MjYyMTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtNTA6I2YzZTVmNTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtMTAwOiNlMWJlZTc7LS1jb2xvci1ncmFwZXMtcHVycGxlLTIwMDojY2U5M2Q4Oy0tY29sb3ItZ3JhcGVzLXB1cnBsZS0zMDA6I2JhNjhjODstLWNvbG9yLWdyYXBlcy1wdXJwbGUtNDAwOiNhYjQ3YmM7LS1jb2xvci1ncmFwZXMtcHVycGxlLTUwMDojOWMyN2IwOy0tY29sb3ItZ3JhcGVzLXB1cnBsZS02MDA6IzhlMjRhYTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwOiM3YjFmYTI7LS1jb2xvci1ncmFwZXMtcHVycGxlLTgwMDojNmExYjlhOy0tY29sb3ItZ3JhcGVzLXB1cnBsZS05MDA6IzRhMTQ4YzstLWNvbG9yLWdyYXBlcy1wdXJwbGUtYTEwMDojZWE4MGZjOy0tY29sb3ItZ3JhcGVzLXB1cnBsZS1hMjAwOiNlMDQwZmI7LS1jb2xvci1ncmFwZXMtcHVycGxlLWE0MDA6I2Q1MDBmOTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtYTcwMDojYTBmOy0tY29sb3ItYmVycnktcGluay01MDojZmNlNGVjOy0tY29sb3ItYmVycnktcGluay0xMDA6I2Y4YmJkMDstLWNvbG9yLWJlcnJ5LXBpbmstMjAwOiNmNDhmYjE7LS1jb2xvci1iZXJyeS1waW5rLTMwMDojZjA2MjkyOy0tY29sb3ItYmVycnktcGluay00MDA6I2VjNDA3YTstLWNvbG9yLWJlcnJ5LXBpbmstNTAwOiNlOTFlNjM7LS1jb2xvci1iZXJyeS1waW5rLTYwMDojZDgxYjYwOy0tY29sb3ItYmVycnktcGluay03MDA6I2MyMTg1YjstLWNvbG9yLWJlcnJ5LXBpbmstODAwOiNhZDE0NTc7LS1jb2xvci1iZXJyeS1waW5rLTkwMDojODgwZTRmOy0tY29sb3ItYmVycnktcGluay1hMTAwOiNmZjgwYWI7LS1jb2xvci1iZXJyeS1waW5rLWEyMDA6I2ZmNDA4MTstLWNvbG9yLWJlcnJ5LXBpbmstYTQwMDojZjUwMDU3Oy0tY29sb3ItYmVycnktcGluay1hNzAwOiNjNTExNjI7LS1jb2xvci1za3ktYmx1ZS01MDojZTBmN2ZhOy0tY29sb3Itc2t5LWJsdWUtMTAwOiNiMmViZjI7LS1jb2xvci1za3ktYmx1ZS0yMDA6IzgwZGVlYTstLWNvbG9yLXNreS1ibHVlLTMwMDojNGRkMGUxOy0tY29sb3Itc2t5LWJsdWUtNDAwOiMyNmM2ZGE7LS1jb2xvci1za3ktYmx1ZS01MDA6IzAwYmNkNDstLWNvbG9yLXNreS1ibHVlLTYwMDojMDBhY2MxOy0tY29sb3Itc2t5LWJsdWUtNzAwOiMwMDk3YTc7LS1jb2xvci1za3ktYmx1ZS04MDA6IzAwODM4ZjstLWNvbG9yLXNreS1ibHVlLTkwMDojMDA2MDY0Oy0tY29sb3Itc2t5LWJsdWUtYTEwMDojODRmZmZmOy0tY29sb3Itc2t5LWJsdWUtYTIwMDojMThmZmZmOy0tY29sb3Itc2t5LWJsdWUtYTQwMDojMDBlNWZmOy0tY29sb3Itc2t5LWJsdWUtYTcwMDojMDBiOGQ0Oy0tY29sb3ItZm9yZXN0LWdyZWVuLTUwOiNkYWYyZTY7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tMTAwOiNhY2U1Yzk7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tMjAwOiM3MGNjOWU7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tMzAwOiM0MmJkN2Y7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNDAwOiMyMmFiNjc7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwOiMwODk5NTA7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNjAwOiMwNjgwNDM7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNzAwOiMwNTY2MzY7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tODAwOiMwMDRkMjc7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tOTAwOiMxYTMzMjY7LS1jb2xvci1mYWNlYm9vazojMTg3N2YyOy0tY29sb3ItZGVlcC1mYWNlYm9vazojMTU2NGNhOy0tY29sb3ItdHdpdHRlcjojMWRhMWYyOy0tY29sb3ItZGVlcC10d2l0dGVyOiMxODhjZDM7LS1jb2xvci15b3V0dWJlOnJlZDstLWNvbG9yLWxpbmtlZGluOiMwMDdiYjU7LS1jb2xvci1zZWVraW5nLWFscGhhLWJyYW5kOiNmZjcyMDB9W2RhdGEtdGhlbWU9bGlnaHRdey0tY29sb3ItaGVhZGVyLWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJvZHktYmc6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYm9keS1zZWNvbmRhcnktYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1iZy1wcmltYXJ5OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJnLXByaW1hcnktaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1iZy1zZWNvbmRhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmctaGlnaGxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWxlZ2FjeS1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWxlZ2FjeS1iZy13aWRnZXQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItdGV4dC1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItdGV4dC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci10ZXh0LXRlcnRpYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00MDApOy0tY29sb3ItdGV4dC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWFjY2VudC1jb250ZW50OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYm94LXNoYWRvdzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWRpdmlkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1kaXZpZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItZGl2aWRlci1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1hY3RpdmUtaG92ZXItdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWFsZXJ0LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1ib3JkZXItdGFibGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1icmFuZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1icmFuZC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItYnJhbmQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItY2hhcnQtcGFnZS1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWNvbW1vbi10b29sdGlwLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCk7LS1jb2xvci1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWRlcHRocmVuZGVyZXItc3Ryb2tlLXN0eWxlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGlnaGxpZ2h0LW5ldzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwKTstLWNvbG9yLWlucHV0LWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWlucHV0LXB1Ymxpc2gtYmc6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItbGluazp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1saW5rLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWxpbmstYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWxpc3QtbnRoLWNoaWxkLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1wYW5lLWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLXBhbmUtc2Vjb25kYXJ5LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItcG9wdXAtbWVudS1pdGVtLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItcG9wdXAtbWVudS1zZXBhcmF0b3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1wcmltYXJ5LXN5bWJvbDp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3Itc2NyZWVuZXItZGVzY3JpcHRpb246dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1zZWNvbmRhcnktaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWljb246dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10b29sYmFyLWludGVyYWN0aXZlLWVsZW1lbnQtdGV4dC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci10b29sYmFyLW9wZW5lZC1lbGVtZW50LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItdG9vbGJhci1kaXZpZGVyLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtc2Vjb25kYXJ5LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LWhpbnQtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLXRvb2x0aXAtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10di1kaWFsb2ctY2FwdGlvbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXR2LWRyb3Bkb3duLWl0ZW0taG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci11bmRlcmxpbmVkLXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci13aWRnZXQtcGFnZXMtYmc6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3Itd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1ncm93aW5nOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1mYWxsaW5nOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1mb3JleC1pY29uOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItbGlzdC1pdGVtLWFjdGl2ZS1iZzp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1saXN0LWl0ZW0taG92ZXItYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1saXN0LWl0ZW0tdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXByaWNlLWF4aXMtbGFiZWwtYmFjazp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXByaWNlLWF4aXMtbGFiZWwtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXByaWNlLWF4aXMtZ2Vhcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXByaWNlLWF4aXMtZ2Vhci1ob3Zlcjp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1wcmljZS1heGlzLWhpZ2hsaWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJpZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1ib3JkZXItY2hhdC1maWVsZHM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1idXR0b24taG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1kZXB0aHJlbmRlcmVyLWZpbGwtc3R5bGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1kaXNhYmxlZC1ib3JkZXItYW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZGlzYWJsZWQtaW5wdXQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1lbXB0eS1jb250YWluZXItbWVzc2FnZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWljb25zOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItaW5wdXQtdGV4dGFyZWEtcmVhZG9ubHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1pbnB1dC1wbGFjZWhvbGRlci10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItaXRlbS1hY3RpdmUtYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWl0ZW0taG92ZXItYWN0aXZlLWJnOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWl0ZW0taG92ZXItYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItaXRlbS1ob3Zlci1ibHVlOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWl0ZW0tc2VsZWN0ZWQtYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWl0ZW0tYWN0aXZlLXRleHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItaXRlbS1hY3RpdmUtYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItbGlzdC1pdGVtOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItbmV3cy1oaWdobGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItcGxhY2Vob2xkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCk7LS1jb2xvci1yb3ctaG92ZXItYWN0aXZlLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3Itc2Itc2Nyb2xsYmFyLWJvZHktYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1zZWN0aW9uLXNlcGFyYXRvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1jb2xvci1zZXBhcmF0b3ItdGFibGUtY2hhdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXRhZy1hY3RpdmUtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10YWctaG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci10ZXh0LXJlZ3VsYXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci10di1idXR0b24tY2hlY2tlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXNjcm9sbC1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLXNjcm9sbC1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci13aWRnZXQtYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3Itc2Nyb2xsLWJ1dHRvbnMtYXJyb3c6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LXByaW1hcnk6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY29udHJvbC1pbnRlbnQtd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1jb250cm9sLWludGVudC1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWdvdG8tbGFiZWwtYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXByZS1tYXJrZXQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApOy0tY29sb3ItcG9zdC1tYXJrZXQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3Itbm90YWNjdXJhdGUtbW9kZTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTYwMCk7LS1jb2xvci1kZWxheS1tb2RlOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWRlbGF5LW1vZGUtYmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS00MDApOy0tY29sb3ItbGlzdC1pdGVtLWJnLWhpZ2hsaWdodGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3ItbGlzdC1pdGVtLWJnLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWxpc3QtaXRlbS1iZy1oaWdobGlnaHRlZC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1saXN0LWl0ZW0tYmctc2VsZWN0ZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3Itc2NyZWVuZXItaGVhZGVyLWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZy1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLW1hcmtlci1mbGFnZ2VkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCk7LS1jb2xvci1tYXJrZXItZmxhZ2dlZC1ob3ZlcmVkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1jb2xvci1hc2s6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLXNlbGw6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWJ1eTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItcHJvOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1wcm8taG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLXByby1wbHVzOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXByby1wbHVzLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLXByby1wcmVtaXVtOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLXByby1wcmVtaXVtLWhvdmVyOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLXRyaWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItdHJpYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1tb2Q6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLW1vZC1ob3Zlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItYWQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItYnJva2VyLWZlYXR1cmVkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1icm9rZXItZmVhdHVyZWQtaG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWFsZXJ0LXN0YXR1cy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWFsZXJ0LXN0YXR1cy1zdG9wcGVkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1hbGVydC1zdGF0dXMtdHJpZ2dlcmVkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLW92ZXJsYXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCk7LS1jb2xvci1zZWFyY2gtYnV0dG9uLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWNvbnRlbnQtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWNvbnRlbnQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1ib29zdC1idXR0b24tYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1ib29zdC1idXR0b24tYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWJvcmRlci1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29tbW9uLXRvb2x0aXAtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXJlcGxheS1kYXRhLW1vZGU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWxlZ2FjeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCk7LS1jb2xvci1jb2xsYXBzZS10YWJzLWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXNpdGUtd2lkZ2V0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1hdHRlbnRpb246dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tY29sb3IteC10d2l0dGVyLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jYXJkLWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWNhcmQtYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItYmFja2dyb3VuZC1zcGVjaWFsLXByaW1hcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3Itc3Ryb2tlLXNwZWNpYWwtcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXNlbGVjdGlvbi1iZzp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1kZWZhdWx0LWdyYXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtdGV4dDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwKTstLWNvbG9yLWJhY2tncm91bmQtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRhcmstcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJhY2tncm91bmQtZGFyay1zZWNvbmRhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJhY2tncm91bmQtc3BlY2lhbC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1iYWNrZ3JvdW5kLXNwZWNpYWwtdGVydGlhcnk6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYmFja2dyb3VuZC1wYWdlLXBsYXRmb3JtOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJhY2tncm91bmQtcGFnZS1wcm9tbzp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXBhZ2Utc29jaWFsOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJhY2tncm91bmQtZGlhbG9nLXNpbXBsZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1jb21wbGljYXRlZDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1wcm9tbzp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1mdWxsc2NyZWVuOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtaWNvbnMtcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRlbnQtaWNvbnMtc2Vjb25kYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGVudC1pY29ucy10ZXJ0aWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWNvbnRlbnQtdGV4dC1wcm9tby1wcmltYXJ5OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtdGV4dC1wcm9tby1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250ZW50LXRleHQtcHJvbW8tdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXRleHQtc29jaWFsLXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb250ZW50LXRleHQtc29jaWFsLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWNvbnRlbnQtdGV4dC1zb2NpYWwtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1jb2xvci1kaXZpZGVyLWxpbmUtcHJpbWFyeS1zcGVjaWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItZGl2aWRlci1saW5lLXNlY29uZGFyeS1zcGVjaWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWRpdmlkZXItbGluZS1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZGl2aWRlci1saW5lLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0zMDApOy0tY29sb3ItbGluay1zZWNvbmRhcnktaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApOy0tY29sb3ItbGluay1zZWNvbmRhcnktYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudDp2YXIoLS1jb2xvci10cmFuc3BhcmVudCk7LS1jb2xvci1zdGF0aWMtd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1zdGF0aWMtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1zdGF0aWMtaGlnaGxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3Itc3RhdGljLW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1zdGF0aWMtc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWJvbGQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LWFjY2VudC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktZGFuZ2VyLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWRlZmF1bHQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1saWdodC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWJvbGQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktZGFuZ2VyLWRlZmF1bHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktZGFuZ2VyLWFjdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LXN1Y2Nlc3MtaG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LXN1Y2Nlc3MtaG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktZGFuZ2VyLWFjdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZXJyb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLWZvY3VzLW5vdC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZm9jdXMtcmVhZC1vbmx5OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLXJlYWQtb25seTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItd2l0aC12YWx1ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtZGVzY3JpcHRpb24tZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXRleHQtZmllbGQtZGVzY3JpcHRpb24tZXJyb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtZGVzY3JpcHRpb24tc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtZmlsbC1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtZm9jdXMtcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLWVycm9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLWxpbms6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sZWZ0LXNsb3QtaWNvbi1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItdGV4dC1maWVsZC1sZWZ0LXNsb3QtaWNvbi1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzUwKTstLWNvbG9yLXRleHQtZmllbGQtcGxhY2Vob2xkZXItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXRleHQtZmllbGQtcGxhY2Vob2xkZXItZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtYXJyb3dzLWJnLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1hcnJvd3MtYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtYXJyb3dzLWJnLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWljb25zLWFuZC10ZXh0LWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWljb25zLWFuZC10ZXh0LWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWljb25zLWFuZC10ZXh0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItdGV4dC1maWVsZC12YWx1ZS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItdGV4dC1maWVsZC12YWx1ZS1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWNvdW50ZXItZmlsbC1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWNvdW50ZXItY29udGVudC1kYW5nZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY291bnRlci1maWxsLWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtYWNjZW50OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvdW50ZXItZmlsbC1hY2NlbnQtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvdW50ZXItZmlsbC1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItY291bnRlci1jb250ZW50LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb3VudGVyLWZpbGwtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWNvdW50ZXItY29udGVudC1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItY291bnRlci1ib3JkZXItcHJpbWFyeTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb3VudGVyLWJvcmRlci1zZWNvbmRhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY291bnRlci1ib3JkZXItdGVydGlhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1jaGVja2VkLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLWNoZWNrZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1jaGVja2VkLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLWNoZWNrZWQtaXNPcGVuZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtY29udGVudC1jaGVja2VkLWFjY2VudC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtY29udGVudC1jaGVja2VkLW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtZmlsbF9ib3JkZXItbm90LWNoZWNrZWQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1pc09wZW5lZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtY29udGVudC1ub3QtY2hlY2tlZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LW5vdC1jaGVja2VkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LW5vdC1jaGVja2VkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXN5bWJvbC1jaGFuZ2UtcG9zaXRpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLXN5bWJvbC1jaGFuZ2UtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXN5bWJvbC1jaGFuZ2UtbmVnYXRpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLXN5bWJvbC1yYXRpbmctcG9zaXRpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLXN5bWJvbC1yYXRpbmctbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXN5bWJvbC1yYXRpbmctbmVnYXRpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLW90aGVyLXRyYW5zcGFyZW50OiNmZmYwOy0tY29sb3Itb3RoZXItdHJhbnNwYXJlbnQtNjA6I2ZmZjk7LS1jb2xvci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OiMwMDAzOy0tY29sb3Itc2hhZG93LXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXNoYWRvdy1zZWNvbmRhcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLW90aGVyLW1vZGFsLWJhY2tncm91bmQ6I2QxZDFkMTRkOy0tY29sb3Itb3RoZXItc2hhZG93LXByaW1hcnktbmV1dHJhbC1leHRyYS1oZWF2eTojMDAwMzstLWNvbG9yLW90aGVyLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1vdGhlci1zaGFkb3ctc2Vjb25kYXJ5LW5ldXRyYWwtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1vdGhlci1ibGFjay1mcmlkYXktcHJpbWFyeTp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3Itb3RoZXItYmxhY2stZnJpZGF5LXNlY29uZGFyeTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itb3RoZXItYmxhY2stZnJpZGF5LXRlcnRpYXJ5OnZhcigtLWNvbG9yLXJpcGUtcmVkLTMwMCk7LS1jb2xvci1vdGhlci1jeWJlci1tb25kYXktcHJpbWFyeTp2YXIoLS1jb2xvci1za3ktYmx1ZS1hNDAwKTstLWNvbG9yLW90aGVyLWN5YmVyLW1vbmRheS1zZWNvbmRhcnk6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTIwMCk7LS1jb2xvci1vdGhlci1jeWJlci1tb25kYXktdGVydGlhcnk6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTEwMCk7LS1jb2xvci1zZWFyY2gtaGlnaGxpZ2h0LXByaW1hcnktbm9ybWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLXNlYXJjaC1oaWdobGlnaHQtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsYWNrOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3Itd2hpdGU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1hY2NlbnQtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LWludmVyc2U6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJhY2tncm91bmQtc2Vjb25kYXJ5LWludmVyc2U6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC10ZXJ0aWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1ub3JtYWw6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtc2VtaS1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWFsdDEtbm9ybWFsOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS1hNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWFsdDItYm9sZDp2YXIoLS1jb2xvci1za3ktYmx1ZS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWJvbGQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1ub3JtYWw6dmFyKC0tY29sb3ItcmlwZS1yZWQtMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWhlYXZ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC10aGluOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbWVkaXVtOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1saWdodDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0xMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLW5vcm1hbDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0yMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1leHRyYS1saWdodDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1saWdodDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXdhcm5pbmctbm9ybWFsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcXVhdGVybmFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQtbm9ybWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQtc2VtaS1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLXRoaW46dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC1oZWF2eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtbm9ybWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtc2VtaS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktZGFuZ2VyLWJvbGQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LXdhcm5pbmctc2VtaS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLWE2MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktbmV1dHJhbC1oZWF2eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXF1aW5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZW5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1oZWF2eTp2YXIoLS1jb2xvci1za3ktYmx1ZS05MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW5vcm1hbDp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLW5vcm1hbDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtYTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLWJvbGQ6dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hdHRlbnRpb246dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1ib2xkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1leHRyYS1ib2xkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTgwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmVnYXRpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1wb3NpdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmctYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTcwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZy1leHRyYS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTYwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTYwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTgwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1tZWRpdW06dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXdhcm5pbmctc2VtaS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXdhcm5pbmctYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE3MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItYmVycnktcGluay04MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktc3VjY2Vzcy1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tODAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tODAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2U6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udGVudC1xdWF0ZXJuYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLWE0MDApOy0tY29sb3ItY29udGVudC1xdWF0ZXJuYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItY29udGVudC1xdWluYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb250ZW50LXF1aW5hcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXF1aW5hcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1leHRyYS1oZWF2eTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItYm9yZGVyLXNlY29uZGFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1ib3JkZXItdGVydGlhcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMS1saWdodDojMjk2MmZmMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0xLW5vcm1hbDojMjk2MmZmNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWJvbGQ6IzI5NjJmZjY2Oy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMi1saWdodDojMDBhY2MxMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0yLW5vcm1hbDojMDBhY2MxNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC0yLWJvbGQ6IzAwYWNjMTY2Oy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMy1saWdodDojOWMyN2IwMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0zLW5vcm1hbDojOWMyN2IwNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWJvbGQ6IzljMjdiMDY2Oy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtNC1saWdodDojNWUzNWIxMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC00LW5vcm1hbDojNWUzNWIxNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC00LWJvbGQ6IzVlMzViMTY2Oy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWxpZ2h0OiNjYzJmM2MyNjstLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMS1ub3JtYWw6I2NjMmYzYzRkOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWJvbGQ6I2NjMmYzYzY2Oy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0yLWxpZ2h0OiNlOTFlNjMyNjstLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMi1ub3JtYWw6I2U5MWU2MzRkOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0yLWJvbGQ6I2U5MWU2MzY2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbGlnaHQ6IzYzNjM2MzI2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbm9ybWFsOiM2MzYzNjM0ZDstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWJvbGQ6IzYzNjM2MzY2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTItbGlnaHQ6IzAwMDAwMDI2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTItbm9ybWFsOiMwMDAwMDA0ZDstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0yLWJvbGQ6IzAwMDY7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtbGlnaHQ6IzA4OTk4MTI2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLW5vcm1hbDojMDg5OTgxNGQ7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtYm9sZDojMDg5OTgxNjY7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTItbGlnaHQ6IzA4OTk1MDI2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0yLW5vcm1hbDojMDg5OTUwNGQ7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTItYm9sZDojMDg5OTUwNjY7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTMtbGlnaHQ6IzQzYTA0NzI2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLW5vcm1hbDojNDNhMDQ3NGQ7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTMtYm9sZDojNDNhMDQ3NjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMS1saWdodDojZmY5ODAwMjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMS1ub3JtYWw6I2ZmOTgwMDRkOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtYm9sZDojZmY5ODAwNjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMi1saWdodDojZmRkODM1MjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMi1ub3JtYWw6I2ZkZDgzNTRkOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTItYm9sZDojZmRkODM1NjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMy1saWdodDojZmY5ODAwMjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMy1ub3JtYWw6I2ZmOTgwMDRkOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTMtYm9sZDojZmY5ODAwNjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMy1saWdodDojNjM2MzYzMjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMy1ub3JtYWw6IzYzNjM2MzRkOy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTMtYm9sZDojNjM2MzYzNjY7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtODAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1taW51czItZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLW1pbnVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTMwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtemVyby1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yNTApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLXBsdXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTMwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtcGx1czItZGVmYXVsdDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1wbHVzMy1kZWZhdWx0OnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi03MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LW5lZ2F0aXZlLXhsOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmVnYXRpdmUtbDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LW5lZ2F0aXZlLW06dmFyKC0tY29sb3ItcmlwZS1yZWQtMzAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1uZWdhdGl2ZS1zOnZhcigtLWNvbG9yLXJpcGUtcmVkLTEwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmV1dHJhbDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtcG9zaXRpdmUteGw6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1wb3NpdGl2ZS1tOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi0zMDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LXBvc2l0aXZlLXM6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTEwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtY29sb3JibGluZC1taW51czItZGVmYXVsdDojZGU4MTJmOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLW1pbnVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNDAwKTstLWNvbG9yLWhlYXRtYXAtY29sb3JibGluZC16ZXJvLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czEtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czItZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czMtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtbWludXMyLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtbWludXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtemVyby1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLXBsdXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtcGx1czItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWhlYXRtYXAtbW9ub2Nocm9tZS1wbHVzMy1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItaGVhdG1hcC1wb3NpdGl2ZS1vbmx5LXYxLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjItZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjMtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjUtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjYtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItaGVhdG1hcC1wb3NpdGl2ZS1vbmx5LXY3LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtbmVnYXRpdmUteGw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1uZWdhdGl2ZS1sOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNDAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtbmVnYXRpdmUtbTp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5lZ2F0aXZlLXM6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0xMDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1uZXV0cmFsOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtcG9zaXRpdmUteGw6dmFyKC0tY29sb3Itc2t5LWJsdWUtNjAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1za3ktYmx1ZS00MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1wb3NpdGl2ZS1tOnZhcigtLWNvbG9yLXNreS1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LXBvc2l0aXZlLXM6dmFyKC0tY29sb3Itc2t5LWJsdWUtMTAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXhzOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXM6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0xMDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLW06dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0zMDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLWw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXhsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS14eGw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS05MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLWJvcmRlcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTkwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLXhzOnZhcigtLWNvbG9yLXNreS1ibHVlLTUwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUtczp2YXIoLS1jb2xvci1za3ktYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS1tOnZhcigtLWNvbG9yLXNreS1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLWw6dmFyKC0tY29sb3Itc2t5LWJsdWUtNTAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUteGw6dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUteHhsOnZhcigtLWNvbG9yLXNreS1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS1ib3JkZXI6dmFyKC0tY29sb3Itc2t5LWJsdWUtOTAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLXhzOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS01MCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS1zOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtbTp2YXIoLS1jb2xvci1kZWVwLWJsdWUtMzAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWw6dmFyKC0tY29sb3ItZGVlcC1ibHVlLTQwMCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS14bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtNjAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLXh4bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtOTAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtYm9yZGVyOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS05MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXhzOnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXM6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLW06dmFyKC0tY29sb3ItdHYtYmx1ZS0zMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLWw6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXhsOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS14eGw6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLWJvcmRlcjp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmsteHM6dmFyKC0tY29sb3ItYmVycnktcGluay01MCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstczp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTEwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstbTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTMwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstbDp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTUwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmsteGw6dmFyKC0tY29sb3ItYmVycnktcGluay03MDApOy0tY29sb3ItaGVhdG1hcC1iZXJyeS1waW5rLXh4bDp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTkwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstYm9yZGVyOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstOTAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLXhzOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi01MCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi1zOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi0xMDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tbTp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tMzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWw6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi14bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLXh4bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tOTAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tYm9yZGVyOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi05MDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14czp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLXM6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMTAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tbTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi1sOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLXhsOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTcwMCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLXh4bDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi05MDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tYm9yZGVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTkwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUteHM6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS01MCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtczp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTEwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtbTp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtbDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTUwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUteGw6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS03MDApOy0tY29sb3ItaGVhdG1hcC1ncmFwZXMtcHVycGxlLXh4bDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTkwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtYm9yZGVyOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtOTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLWNvbG9yLWhlYWRlci1iZzp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1ib2R5LWJnOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJvZHktc2Vjb25kYXJ5LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYmctcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJnLXByaW1hcnktaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1iZy1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iZy1oaWdobGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWxlZ2FjeS1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWxlZ2FjeS1iZy13aWRnZXQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci10ZXh0LXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10ZXh0LXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXRleHQtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCk7LS1jb2xvci10ZXh0LWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItYWNjZW50LWNvbnRlbnQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZGl2aWRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWRpdmlkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1kaXZpZGVyLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJveC1zaGFkb3c6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1hY3RpdmUtaG92ZXItdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWFsZXJ0LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1ib3JkZXItY2hhdC1maWVsZHM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1ib3JkZXItdGFibGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1icmFuZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1icmFuZC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1icmFuZC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItYnV0dG9uLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItY2hhcnQtcGFnZS1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvbW1vbi10b29sdGlwLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1jb2xvci1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWRlcHRocmVuZGVyZXItZmlsbC1zdHlsZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWRlcHRocmVuZGVyZXItc3Ryb2tlLXN0eWxlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItZGlzYWJsZWQtYm9yZGVyLWFuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWRpc2FibGVkLWlucHV0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItZW1wdHktY29udGFpbmVyLW1lc3NhZ2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1oaWdobGlnaHQtbmV3OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1pY29uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWlucHV0LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaW5wdXQtdGV4dGFyZWEtcmVhZG9ubHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1pbnB1dC1wbGFjZWhvbGRlci10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItaW5wdXQtcHVibGlzaC1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWl0ZW0tYWN0aXZlLWJsdWU6dmFyKC0tY29sb3ItdHYtYmx1ZS1hOTAwKTstLWNvbG9yLWl0ZW0taG92ZXItYWN0aXZlLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaXRlbS1ob3Zlci1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWl0ZW0taG92ZXItYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItaXRlbS1zZWxlY3RlZC1ibHVlOnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1pdGVtLWFjdGl2ZS10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItaXRlbS1hY3RpdmUtYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItbGluazp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1saW5rLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWxpbmstYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWxpc3QtaXRlbTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWxpc3QtbnRoLWNoaWxkLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItbmV3cy1oaWdobGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1wYW5lLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItcGFuZS1zZWNvbmRhcnktYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1wbGFjZWhvbGRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXBvcHVwLW1lbnUtaXRlbS1ob3Zlci1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXBvcHVwLW1lbnUtc2VwYXJhdG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItcHJpbWFyeS1zeW1ib2w6dmFyKC0tY29sb3Itc2t5LWJsdWUtNTAwKTstLWNvbG9yLXJvdy1ob3Zlci1hY3RpdmUtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1zYi1zY3JvbGxiYXItYm9keS1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXNjcmVlbmVyLWRlc2NyaXB0aW9uOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3Itc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3Itc2VhcmNoLWJ1dHRvbi1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLXNlcGFyYXRvci10YWJsZS1jaGF0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3Itc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3Itc3VjY2Vzcy1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3Itc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLXRhZy1hY3RpdmUtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci10YWctaG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10ZXh0LXJlZ3VsYXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLXNlY29uZGFyeS1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24taWNvbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXRvb2xiYXItaW50ZXJhY3RpdmUtZWxlbWVudC10ZXh0LW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10b29sYmFyLWRpdmlkZXItYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLXBvcHVwLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXNlY29uZGFyeS10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC1oaW50LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLXRvb2x0aXAtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci10di1idXR0b24tY2hlY2tlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXR2LWRpYWxvZy1jYXB0aW9uOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci10di1kcm9wZG93bi1pdGVtLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItdW5kZXJsaW5lZC10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3Itd2lkZ2V0LXBhZ2VzLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3Itd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTcwMCk7LS1jb2xvci1mb3JleC1pY29uOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWxpc3QtaXRlbS1hY3RpdmUtYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItbGlzdC1pdGVtLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItbGlzdC1pdGVtLXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1wcmljZS1heGlzLWxhYmVsLWJhY2s6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1wcmljZS1heGlzLWxhYmVsLXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7LS1jb2xvci1wcmljZS1heGlzLWdlYXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1wcmljZS1heGlzLWdlYXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCk7LS1jb2xvci1wcmljZS1heGlzLWhpZ2hsaWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJpZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1zY3JvbGwtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1zY3JvbGwtYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3Itd2lkZ2V0LWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXNjcm9sbC1idXR0b25zLWFycm93OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1jb250cm9sLWludGVudC1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1jb250cm9sLWludGVudC1wcmltYXJ5OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItY29udHJvbC1pbnRlbnQtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1ncm93aW5nOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1mYWxsaW5nOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1nb3RvLWxhYmVsLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1wcmUtbWFya2V0OnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLXBvc3QtbWFya2V0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLW5vdGFjY3VyYXRlLW1vZGU6dmFyKC0tY29sb3ItYmVycnktcGluay1hMjAwKTstLWNvbG9yLWRlbGF5LW1vZGU6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS03MDApOy0tY29sb3ItZGVsYXktbW9kZS1iZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTQwMCk7LS1jb2xvci1saXN0LWl0ZW0tYmctaGlnaGxpZ2h0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hOTAwKTstLWNvbG9yLWxpc3QtaXRlbS1iZy1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItbGlzdC1pdGVtLWJnLWhpZ2hsaWdodGVkLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1saXN0LWl0ZW0tYmctc2VsZWN0ZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZy1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLW92ZXJsYXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTk1MCk7LS1jb2xvci1ib29zdC1idXR0b24tY29udGVudC1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1ib29zdC1idXR0b24tY29udGVudC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1ib29zdC1idXR0b24tYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1ib29zdC1idXR0b24tYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWJvcmRlci1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3IteC10d2l0dGVyLWNvbnRlbnQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY2FyZC1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1jYXJkLWJvcmRlci1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLWNvbG9yLWJhY2tncm91bmQtc3BlY2lhbC1wcmltYXJ5OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLXN0cm9rZS1zcGVjaWFsLXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1zZWxlY3Rpb24tYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWRlZmF1bHQtZ3JheTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWZlYXR1cmVkLWJyb2tlci1iYWRnZS1iZzp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJhY2tncm91bmQtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRhcmstcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJhY2tncm91bmQtZGFyay1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItYmFja2dyb3VuZC1zcGVjaWFsLXNlY29uZGFyeTp2YXIoLS1jb2xvci10di1ibHVlLWE5MDApOy0tY29sb3ItYmFja2dyb3VuZC1zcGVjaWFsLXRlcnRpYXJ5OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXBhZ2UtcGxhdGZvcm06dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXBhZ2UtcHJvbW86dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYmFja2dyb3VuZC1wYWdlLXNvY2lhbDp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1zaW1wbGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1jb21wbGljYXRlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJhY2tncm91bmQtZGlhbG9nLXByb21vOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItYmFja2dyb3VuZC1kaWFsb2ctZnVsbHNjcmVlbjp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1jb250ZW50LWljb25zLXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250ZW50LWljb25zLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWNvbnRlbnQtaWNvbnMtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1jb250ZW50LXRleHQtcHJvbW8tcHJpbWFyeTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250ZW50LXRleHQtcHJvbW8tc2Vjb25kYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGVudC10ZXh0LXByb21vLXRlcnRpYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItY29udGVudC10ZXh0LXNvY2lhbC1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGVudC10ZXh0LXNvY2lhbC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXRleHQtc29jaWFsLXRlcnRpYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItZGl2aWRlci1saW5lLXByaW1hcnktc3BlY2lhbDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1kaXZpZGVyLWxpbmUtc2Vjb25kYXJ5LXNwZWNpYWw6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWRpdmlkZXItbGluZS1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItZGl2aWRlci1saW5lLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtMzAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hMjAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1zdGF0aWMtd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1zdGF0aWMtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1zdGF0aWMtaGlnaGxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1zdGF0aWMtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXN0YXRpYy1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1ib2xkLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWFjY2VudC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtZGVmYXVsdDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1kYW5nZXItYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudDp2YXIoLS1jb2xvci10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtOTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWRhbmdlci1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1zdWNjZXNzLWRlZmF1bHQ6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktc3VjY2Vzcy1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1kZWZhdWx0OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LXN1Y2Nlc3MtZGVmYXVsdDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtOTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWRhbmdlci1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1kYW5nZXItYWN0aXZlOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZm9jdXMtbm90LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1mb2N1cy1yZWFkLW9ubHk6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci13aXRoLXZhbHVlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWRlc2NyaXB0aW9uLXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1maWxsLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLXRleHQtZmllbGQtZmlsbC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXRleHQtZmllbGQtZmlsbC1mb2N1cy1yZWFkLW9ubHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1saW5rOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtbGFiZWwtc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtbGVmdC1zbG90LWljb24tZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXRleHQtZmllbGQtbGVmdC1zbG90LWljb24tZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXBsYWNlaG9sZGVyLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXBsYWNlaG9sZGVyLWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWFycm93cy1iZy1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtYXJyb3dzLWJnLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWFycm93cy1iZy1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtaWNvbnMtYW5kLXRleHQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtaWNvbnMtYW5kLXRleHQtZXJyb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtdmFsdWUtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtdmFsdWUtZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb3VudGVyLWZpbGwtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtZGFuZ2VyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvdW50ZXItZmlsbC1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY291bnRlci1jb250ZW50LWFjY2VudDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb3VudGVyLWZpbGwtYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWNvdW50ZXItZmlsbC1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY291bnRlci1jb250ZW50LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1jb3VudGVyLWZpbGwtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvdW50ZXItY29udGVudC1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY291bnRlci1ib3JkZXItcHJpbWFyeTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1jb3VudGVyLWJvcmRlci1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb3VudGVyLWJvcmRlci10ZXJ0aWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtZmlsbF9ib3JkZXItY2hlY2tlZC1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLWNoZWNrZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtZmlsbF9ib3JkZXItY2hlY2tlZC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1jaGVja2VkLWlzT3BlbmVkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLW5vdC1jaGVja2VkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLW5vdC1jaGVja2VkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLW5vdC1jaGVja2VkLWlzT3BlbmVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LW5vdC1jaGVja2VkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtbm90LWNoZWNrZWQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtbm90LWNoZWNrZWQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3Itc3ltYm9sLWNoYW5nZS1wb3NpdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi00MDApOy0tY29sb3Itc3ltYm9sLWNoYW5nZS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3Itc3ltYm9sLWNoYW5nZS1uZWdhdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itc3ltYm9sLXJhdGluZy1wb3NpdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi00MDApOy0tY29sb3Itc3ltYm9sLXJhdGluZy1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3Itc3ltYm9sLXJhdGluZy1uZWdhdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itb3RoZXItdHJhbnNwYXJlbnQ6IzAwMDA7LS1jb2xvci1vdGhlci10cmFuc3BhcmVudC02MDojMDAwOTstLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6IzAwMDY7LS1jb2xvci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3Itc2hhZG93LXNlY29uZGFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3Itb3RoZXItbW9kYWwtYmFja2dyb3VuZDojMDAwMDAwNGQ7LS1jb2xvci1vdGhlci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OiMwMDA2Oy0tY29sb3Itb3RoZXItc2hhZG93LXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLW90aGVyLXNoYWRvdy1zZWNvbmRhcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLW90aGVyLWJsYWNrLWZyaWRheS1wcmltYXJ5OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1vdGhlci1ibGFjay1mcmlkYXktc2Vjb25kYXJ5OnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCk7LS1jb2xvci1vdGhlci1ibGFjay1mcmlkYXktdGVydGlhcnk6dmFyKC0tY29sb3ItcmlwZS1yZWQtMzAwKTstLWNvbG9yLW90aGVyLWN5YmVyLW1vbmRheS1wcmltYXJ5OnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tY29sb3Itb3RoZXItY3liZXItbW9uZGF5LXNlY29uZGFyeTp2YXIoLS1jb2xvci1za3ktYmx1ZS1hMjAwKTstLWNvbG9yLW90aGVyLWN5YmVyLW1vbmRheS10ZXJ0aWFyeTp2YXIoLS1jb2xvci1za3ktYmx1ZS1hMTAwKTstLWNvbG9yLXNlYXJjaC1oaWdobGlnaHQtcHJpbWFyeS1ub3JtYWw6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3Itc2VhcmNoLWhpZ2hsaWdodC1wcmltYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmxhY2s6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci13aGl0ZTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWJhY2tncm91bmQtc2Vjb25kYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXRlcnRpYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtbm9ybWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtYWx0MS1ub3JtYWw6dmFyKC0tY29sb3ItZGVlcC1ibHVlLWExMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtYWx0Mi1ib2xkOnZhcigtLWNvbG9yLXNreS1ibHVlLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1saWdodDp2YXIoLS1jb2xvci1yaXBlLXJlZC1hODAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLW5vcm1hbDp2YXIoLS1jb2xvci1yaXBlLXJlZC1hNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWhlYXZ5OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtdGhpbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1tZWRpdW06dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1ib2xkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtbGlnaHQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tYTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3Mtbm9ybWFsOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLWE3MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1leHRyYS1saWdodDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE5MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS13YXJuaW5nLWxpZ2h0OnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXdhcm5pbmctbm9ybWFsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXdhcm5pbmctc2VtaS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXF1YXRlcm5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LW5vcm1hbDp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtYTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLXRoaW46dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtaGVhdnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC1leHRyYS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LWRhbmdlci1ib2xkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktc3VjY2Vzcy1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hMTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1hY2NlbnQtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktbmV1dHJhbC1oZWF2eTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1xdWluYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZW5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLWExMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1oZWF2eTp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW5vcm1hbDp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLW5vcm1hbDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtYTEwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLWJvbGQ6dmFyKC0tY29sb3Itc2t5LWJsdWUtMzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtYTEwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYXR0ZW50aW9uOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC1hNDAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZWdhdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtc2VtaS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXBvc2l0aXZlOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3Mtc2VtaS1ib2xkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZy1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtMzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS13YXJuaW5nLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNDAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTQwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLWEyMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLWExMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtbWVkaXVtOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTMwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS13YXJuaW5nLWJvbGQ6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItYmVycnktcGluay1hMjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3Mtc2VtaS1ib2xkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1zdWNjZXNzLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtcXVhdGVybmFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hMTAwKTstLWNvbG9yLWNvbnRlbnQtcXVhdGVybmFyeS1hY2NlbnQtc2VtaS1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtMzAwKTstLWNvbG9yLWNvbnRlbnQtcXVpbmFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0zMDApOy0tY29sb3ItY29udGVudC1xdWluYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApOy0tY29sb3ItY29udGVudC1xdWluYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1ib3JkZXItdGVydGlhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWxpZ2h0OiM0NDhhZmYzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbm9ybWFsOiM0NDhhZmY0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtYm9sZDojNDQ4YWZmNjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0yLWxpZ2h0OiMwMGJjZDQzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTItbm9ybWFsOiMwMGJjZDQ0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTItYm9sZDojMDBiY2Q0NjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWxpZ2h0OiNlYTgwZmMzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtbm9ybWFsOiNlYTgwZmM0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtYm9sZDojZWE4MGZjNjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC00LWxpZ2h0OiNiMzg4ZmYzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTQtbm9ybWFsOiNiMzg4ZmY0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTQtYm9sZDojYjM4OGZmNjY7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtbGlnaHQ6I2YyMzY0NTMzOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLW5vcm1hbDojZjIzNjQ1NGQ7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtYm9sZDojZjIzNjQ1NjY7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTItbGlnaHQ6I2ZmNDA4MTMzOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0yLW5vcm1hbDojZmY0MDgxNGQ7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTItYm9sZDojZmY0MDgxNjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1saWdodDojYjhiOGI4MzM7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1ub3JtYWw6I2I4YjhiODRkOy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtYm9sZDojYjhiOGI4NjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMi1saWdodDojZmZmMzstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0yLW5vcm1hbDojZmZmZmZmNGQ7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMi1ib2xkOiNmZmY2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLWxpZ2h0OiMyMmFiOTQzMzstLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMS1ub3JtYWw6IzIyYWI5NDRkOy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLWJvbGQ6IzIyYWI5NDY2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0yLWxpZ2h0OiMyMmFiNjczMzstLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMi1ub3JtYWw6IzIyYWI2NzRkOy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0yLWJvbGQ6IzIyYWI2NzY2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLWxpZ2h0OiM0Y2FmNTAzMzstLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMy1ub3JtYWw6IzRjYWY1MDRkOy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLWJvbGQ6IzRjYWY1MDY2Oy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtbGlnaHQ6I2ZmOTgwMDMzOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtbm9ybWFsOiNmZjk4MDA0ZDstLWNvbG9yLW92ZXJsYXktd2FybmluZy0xLWJvbGQ6I2ZmOTgwMDY2Oy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTItbGlnaHQ6I2ZkZDgzNTMzOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTItbm9ybWFsOiNmZGQ4MzU0ZDstLWNvbG9yLW92ZXJsYXktd2FybmluZy0yLWJvbGQ6I2ZkZDgzNTY2Oy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTMtbGlnaHQ6I2ZmOTgwMDFhOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTMtbm9ybWFsOiNmZjk4MDAzMzstLWNvbG9yLW92ZXJsYXktd2FybmluZy0zLWJvbGQ6I2ZmOTgwMDRkOy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTMtbGlnaHQ6IzJlMmUyZTY2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTMtbm9ybWFsOiMyZTJlMmVjYzstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0zLWJvbGQ6IzJlMmUyZTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1taW51czMtZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLW1pbnVzMi1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbWludXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtOTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy16ZXJvLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtcGx1czEtZGVmYXVsdDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tOTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1wbHVzMi1kZWZhdWx0OnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi03MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLXBsdXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmVnYXRpdmUteGw6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1uZWdhdGl2ZS1sOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmVnYXRpdmUtbTp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LW5lZ2F0aXZlLXM6dmFyKC0tY29sb3ItcmlwZS1yZWQtOTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1uZXV0cmFsOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1wb3NpdGl2ZS1zOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi05MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LXBvc2l0aXZlLW06dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1wb3NpdGl2ZS14bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNDAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS03MDApOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLW1pbnVzMi1kZWZhdWx0OiNhYTYzMjQ7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtbWludXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hODAwKTstLWNvbG9yLWhlYXRtYXAtY29sb3JibGluZC16ZXJvLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czEtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLXBsdXMyLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLXBsdXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLW1pbnVzMy1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLW1pbnVzMi1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yNTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLW1pbnVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLXplcm8tZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWhlYXRtYXAtbW9ub2Nocm9tZS1wbHVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLXBsdXMyLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtcGx1czMtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtcG9zaXRpdmUtb25seS12MS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItaGVhdG1hcC1wb3NpdGl2ZS1vbmx5LXYyLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWhlYXRtYXAtcG9zaXRpdmUtb25seS12My1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjUtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjYtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjctZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5lZ2F0aXZlLXhsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTYwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5lZ2F0aXZlLWw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtbmVnYXRpdmUtbTp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE4MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1uZWdhdGl2ZS1zOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTkwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5ldXRyYWw6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1wb3NpdGl2ZS1zOnZhcigtLWNvbG9yLXNreS1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LXBvc2l0aXZlLW06dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1za3ktYmx1ZS02MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1wb3NpdGl2ZS14bDp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXhzOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTkwMCk7LS1jb2xvci1oZWF0bWFwLXRhbi1vcmFuZ2Utczp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE4MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLW06dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS1sOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS14bDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXRhbi1vcmFuZ2UteHhsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtMjAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS1ib3JkZXI6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0xMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS14czp2YXIoLS1jb2xvci1za3ktYmx1ZS05MDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS1zOnZhcigtLWNvbG9yLXNreS1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLW06dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUtbDp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS14bDp2YXIoLS1jb2xvci1za3ktYmx1ZS0zMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS14eGw6dmFyKC0tY29sb3Itc2t5LWJsdWUtMjAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLWJvcmRlcjp2YXIoLS1jb2xvci1za3ktYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUteHM6dmFyKC0tY29sb3ItZGVlcC1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS1zOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS03MDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtbTp2YXIoLS1jb2xvci1kZWVwLWJsdWUtNTAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWw6dmFyKC0tY29sb3ItZGVlcC1ibHVlLTQwMCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS14bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtMzAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLXh4bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtMjAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtYm9yZGVyOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXhzOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1oZWF0bWFwLXR2LWJsdWUtczp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLW06dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS1sOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS14bDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXR2LWJsdWUteHhsOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS1ib3JkZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1iZXJyeS1waW5rLXhzOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstOTAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1zOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstODAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1tOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstNzAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1sOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstNTAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay14bDp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTMwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmsteHhsOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstMjAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1ib3JkZXI6dmFyKC0tY29sb3ItYmVycnktcGluay0xMDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4teHM6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTkwMCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi1zOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi04MDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tbTp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWw6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi14bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tMzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLXh4bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tMjAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tYm9yZGVyOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi0xMDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14czp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hOTAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hODAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tbTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hNzAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tbDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14bDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14eGw6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMjAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLWJvcmRlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0xMDApOy0tY29sb3ItaGVhdG1hcC1ncmFwZXMtcHVycGxlLXhzOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtOTAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1zOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtODAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1tOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1sOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNTAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS14bDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUteHhsOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMjAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1ib3JkZXI6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS0xMDApOy0tY29sb3ItbWFya2VyLWZsYWdnZWQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLW1hcmtlci1mbGFnZ2VkLWhvdmVyZWQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWFzazp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itc2VsbDp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3ItYnV5OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1wcm86dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNDAwKTstLWNvbG9yLXByby1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItcHJvLXBsdXM6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItcHJvLXBsdXMtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItcHJvLXByZW1pdW06dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItcHJvLXByZW1pdW0taG92ZXI6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS03MDApOy0tY29sb3ItdHJpYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci10cmlhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLW1vZDp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3ItbW9kLWhvdmVyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1jb2xvci1hZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1icm9rZXItZmVhdHVyZWQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNDAwKTstLWNvbG9yLWJyb2tlci1mZWF0dXJlZC1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItYWxlcnQtc3RhdHVzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYWxlcnQtc3RhdHVzLXN0b3BwZWQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWFsZXJ0LXN0YXR1cy10cmlnZ2VyZWQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItY29tbW9uLXRvb2x0aXAtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXJlcGxheS1kYXRhLW1vZGU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWxlZ2FjeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCk7LS1jb2xvci1jb2xsYXBzZS10YWJzLWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXNpdGUtd2lkZ2V0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1hdHRlbnRpb246dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/39070.55cbc7a1da963b3829b3.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.968Z","timestamp":1785120633968,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/39070.55cbc7a1da963b3829b3.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 20\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"69f98b72-14\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d21673cca314eb4e4f24376484f8d345\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":20,"size_decoded":804,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"8c361f5f3e81eca6f243f991934acfb8","sha1":"cca2cc0145571af645e93a0eea492681a68d4db1","sha256":"b7db039e8731af6abd4fe1cad1c082f9a54cac9bfae4de52cac6cbb64431ff06","sha512":"94498523c2221fd084df6e33d95e80c4f0dcc1054ff64a84c7c5309491e66301e34045b6df7d5247854e2893bf8e3fd6ca8b22f2e40daebcad83853dec330ad8","ssdeep":"","tlshash":"757000020028200280800800222000000003023a2a880000a80080200802aa08a0a00a","first_seen":"2026-01-06T10:31:31.715579Z","last_seen":"2026-07-27T05:15:36.983143Z","times_seen":6571,"resource_available":false,"data":"OmZvY3Vze291dGxpbmU6bm9uZX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/80782.975fb41d42ae2d51c08b.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.181Z","timestamp":1785120634181,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/80782.975fb41d42ae2d51c08b.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b75-bb\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:25 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:17:08\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 7dae7fa1a645d4a62bf33a198e631080\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":187,"size_decoded":916,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"d41e2d9340f0acb54930ab3ac629035b","sha1":"543a7964ec708fd72f33fd1e5ade7f185832cd98","sha256":"fc71e7aea9892d509794361261cfa1aa19e87f31e89548399eeb05a041de477d","sha512":"a3dd70c85f122c9cc97275462880cfb30f0f8959c1346593c92b9cfa1b73fee7fb83ef73dbfd36f3f317d22008729044e9a856748f65e8444f56aa0d241bb1a3","ssdeep":"","tlshash":"37c0120790472b6054a3cafa0fa034516524eabe881147e855919bd1d97ee1c651342a","first_seen":"2026-03-24T10:38:42.744841Z","last_seen":"2026-07-27T05:27:08.950025Z","times_seen":1913,"resource_available":false,"data":"Lm9wdGlvbnMtYkNLZTduMDd7ZGlzcGxheTppbmxpbmUtYmxvY2s7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7d2hpdGUtc3BhY2U6bm93cmFwfS5vcHRpb24tYkNLZTduMDd7bWFyZ2luLWlubGluZS1lbmQ6NHB4fS5vcHRpb24tYkNLZTduMDc6bGFzdC1jaGlsZHttYXJnaW4taW5saW5lLWVuZDowfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/12181.b65a58355ff7cc34950f.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.202Z","timestamp":1785120634202,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/12181.b65a58355ff7cc34950f.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a44af20-21c82\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 01 Jul 2026 06:09:36 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/01/2026 11:40:37\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: f67b038c77c5e4944c680dc439dbc01d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":138370,"size_decoded":18187,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (3070)","md5":"90cd4a18a60bc908d0840ba4fec27dc6","sha1":"bb5de7eba54b0d9323f872960612df642a27716e","sha256":"ae043b44480c283e0e50b84e353fe3e98e560fb8f9bd14638f61a5dfadc231ba","sha512":"1ff83bc8bcac42839140d927da7b753dc51b3ab887327bf07fef3ca3b194425621ed7376ef404517f818a80b9f3d96955fd5c9239c1dc05e599503f7118edc99","ssdeep":"1536:U4ecrc2hMNlbPWqfxN+fUE44ld4e44IJmuJY7+fHfvWr05KNyhLcSbWd4+o:4CxdswjaWyn","tlshash":"10d345b217f406f473b80d5293f77e591b3c74a359882c52d2a4d9a0dd40fc2a96ba3e","first_seen":"2026-07-01T19:46:28.364877Z","last_seen":"2026-07-27T05:29:38.658636Z","times_seen":853,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxMjE4MV0sezcxMjE4MShlKXtlLmV4cG9ydHMudHpEYXRhPXsiQWZyaWNhL0NhaXJvIjp7dGltZTpbLTIxODU0MDE2MDAsLTkyOTgzNjgwMCwtOTIzMDk3NjAwLC05MDYxNjMyMDAsLTg5Mjg1NzYwMCwtODc1ODM2ODAwLC04NTc3NzkyMDAsLTg0NDMwMDgwMCwtODI1ODExMjAwLC04MTI2Nzg0MDAsLTc5NDE4ODgwMCwtNzc5ODQ2NDAwLC03NjI2NTI4MDAsLTM5OTA4MTYwMCwtMzg2NjRlNCwtMzY4MzIzMjAwLC0zNTUxMDRlMywtMzM2NzgzNjAwLC0zMjM2NDM2MDAsLTMwNTE2MTIwMCwtMjkyMDIxMjAwLC0yNzM2MjUyMDAsLTI2MDQ4NTIwMCwtMjQyMDg5MjAwLC0yMjg5NDkyMDAsLTIxMDU1MzIwMCwtMTk3NDEzMjAwLC0xNzg5MzA4MDAsLTE2NTc5MDgwMCwtMTQ3Mzk0ODAwLC0xMzQyNTQ4MDAsLTExNTg1ODgwMCwtMTAyNjMyNDAwLC04NDMyMjgwMCwtNzEwOTY0MDAsLTUyNzAwNDAwLC0zOTQ3NGUzLC0yMTE2NDQwMCwtNzkzOGUzLDEwMzcxNjAwLDIzNTk4ZTMsNDE5MDc2MDAsNTUxMzRlMyw3MzUzZTQsODY3NTY0MDAsMTA1MDY2ZTMsMTE4MjkyNDAwLDEzNjYwMmUzLDE0OTgyODQwMCwxNjgxMzhlMywxODEzNjQ0MDAsMTk5NzYwNDAwLDIxMjk4NjgwMCwyMzEyOTY0MDAsMjQ0NTIyODAwLDI2MjgzMjQwMCwyNzYwNTg4MDAsMjk0MzY4NDAwLDMwNzU5NDgwMCwzMjU5OTA4MDAsMzM5MjE3MjAwLDM1NzUyNjgwMCwzNzA3NTMyMDAsMzk2NDA2ODAwLDQwMjI4OTIwMCw0MjY4MTk2MDAsNDMzODI1MjAwLDQ1MjIyMTIwMCw0NjU0NDc2MDAsNDgzNzU3MjAwLDQ5Njk4MzYwMCw1MTUyOTMyMDAsNTI4NTE5NjAwLDU0NjgyOTIwMCw1NjAwNTU2MDAsNTc4NDUxNjAwLDU5MTY3OGUzLDYxMDQxOTYwMCw2MjMyMTRlMyw2NDE1MjM2MDAsNjU0NzVlNCw2NzMwNTk2MDAsNjg2Mjg2ZTMsNzA0NjgyZTMsNzE3OTA4NDAwLDczNjIxOGUzLDc0OTQ0NDQwMCw3Njc3NTRlMyw3ODA5ODA0MDAsNzk5MDI3MjAwLDgxMjMzMjgwMCw4MzA0NzY4MDAsODQzNzgyNDAwLDg2MTkyNjQwMCw4NzUyMzJlMyw4OTMzNzZlMyw5MDY2ODE2MDAsOTI1NDMwNDAwLDkzODczNmUzLDk1Njg4ZTQsOTcwMTg1NjAwLDk4ODMyOTYwMCwxMDAxNjM1MjAwLDEwMTk3NzkyMDAsMTAzMzA4NDgwMCwxMDUxMjI4ODAwLDEwNjQ1MzQ0MDAsMTA4MzI4MzIwMCwxMDk2NTg4ODAwLDExMTQ3MzI4MDAsMTEyODAzODQwMCwxMTQ2MTgyNDAwLDExNTg4ODMyMDAsMTE3NzYzMmUzLDExODkxMjMyMDAsMTIwOTA4MTYwMCwxMjE5OTY4ZTMsMTI0MDUzMTIwMCwxMjUwODEyODAwLDEyNzI1ODU2MDAsMTI4MTQ4NDgwMCwxMjg0MDc2ODAwLDEyODU4OTEyMDAsMTQwMDE5ODQwMCwxNDAzODI3MjAwLDE0MDY4NTEyMDAsMTQxMTY4OTYwMCwxNjgyNjRlNCwxNjk4MzY0ODAwLDE3MTQwODk2MDAsMTczMDQxOTIwMCwxNzQ1NTM5MjAwLDE3NjE4Njg4MDAsMTc3Njk4ODgwMCwxNzkzMzE4NDAwLDE4MDkwNDMyMDAsMTgyNDc2OGUzLDE4NDA0OTI4MDAsMTg1NjIxNzYwMCwxODcxOTQyNDAwLDE4ODc2NjcyMDAsMTkwMzM5MmUzLDE5MTk3MjE2MDAsMTkzNDg0MTYwMF0sb2Zmc2V0Ols3NTA5LDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwXX0sIkFmcmljYS9DYXNhYmxhbmNhIjp7CnRpbWU6Wy0xNzczMDE0NDAwLC05NTYzNjE2MDAsLTk1MDQ4NjQwMCwtOTQyMDE5MjAwLC03NjExODRlMywtNjE3MjQxNjAwLC02MDUxNDU2MDAsLTgxNDMyZTMsLTcxMTA3MjAwLDE0MTI2NGUzLDE0NzIyNTYwMCwxOTk3NTY4MDAsMjA3NzA1NjAwLDIzMTI5MjgwMCwyNDQyNTI4MDAsMjY1NTA3MjAwLDI3MTAzNjgwMCw0NDgyNDMyMDAsNTA0OTIxNjAwLDEyMTIyNzg0MDAsMTIyMDIyNzIwMCwxMjQzODE0NDAwLDEyNTA4MTI4MDAsMTI3Mjc1ODQwMCwxMjgxMjI1NjAwLDEzMDE3ODg4MDAsMTMxMjA3MDQwMCwxMzM1NjY0ODAwLDEzNDI3NTMyMDAsMTM0NTQyOGUzLDEzNDg5NzRlMywxMzY3MTE0NDAwLDEzNzMxNjZlMywxMzc2MWU1LDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDAzOTI0NDAwLDE0MDY5NDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0MzQyNTA4MDAsMTQzNzI3MTIwMCwxNDQ1NzQyZTMsMTQ1OTA0NGUzLDE0NjUwOTU2MDAsMTQ2ODExNmUzLDE0Nzc3OTY0MDAsMTQ5MDQ5MzYwMCwxNDk1MzM1NjAwLDE0OTg5NjA4MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTUyNjE4MDQwMCwxNTI5MjAwODAwLDE1NDA2OTU2MDAsMTU1NzAyNTIwMCwxNTYwMDQ1NjAwLDE1ODcyNjUyMDAsMTU5MDg5MDQwMCwxNjE4MTFlNCwxNjIxMTMwNDAwLDE2NDgzNWU0LDE2NTE5NzUyMDAsMTY3OTE5NDgwMCwxNjgyMjE1MjAwLDE3MTAwMzk2MDAsMTcxMzA2ZTQsMTc0MDI3OTYwMCwxNzQzOTA0ODAwLDE3NzExMjQ0MDAsMTc3NDE0NDgwMCwxODAxOTY5MjAwLDE4MDQ5ODk2MDAsMTgzMjIwOTIwMCwxODM1ODM0NDAwLDE4NjMwNTRlMywxODY2MDc0NDAwLDE4OTMyOTRlMywxODk2OTE5MjAwLDE5MjQxMzg4MDAsMTkyNzE1OTIwMF0sb2Zmc2V0OlstMTgyMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDBdfSwiQWZyaWNhL0pvaGFubmVzYnVyZyI6e3RpbWU6Wy0yNDU4MTY2NDAwLC0yMTA5MjgzMjAwLC04NjA5Njg4MDAsLTg0NTI0NGUzLC04Mjk1MTkyMDAsLTgxMzc5NDQwMCwxOTI0OTk5MjAwXSxvZmZzZXQ6WzY3MjAsNTQwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJBZnJpY2EvTGFnb3MiOnt0aW1lOlstMjAzNTU4NGUzLC0xOTQwODg5NjAwLC0xNzY3MjI1NjAwLC0xNTg4NDY0ZTMsMTkyNDk5NTYwMF0sb2Zmc2V0Ols4MTUsMCw4MTUsMTgwMCwzNjAwXX0sIkFmcmljYS9OYWlyb2JpIjp7dGltZTpbLTE5NDYxNmU0LC0xMzA5NzM3NjAwLC0xMjYxOTU4NDAwLC0xMDQxMzc5MjAwLC04NjUyOTZlMywxOTI1MDAyODAwXSxvZmZzZXQ6Wzg4MzYsOWUzLDEwODAwLDllMyw5OTAwLDEwODAwXX0sIkFmcmljYS9UdW5pcyI6e3RpbWU6Wy0yNzk3MmU1LC0xODU1OTU4NDAwLC05NjkyMzg4MDAsLTk1MDQ4NjQwMCwtOTQxOTM2NDAwLC04OTExMjk2MDAsLTg3NzgyNGUzLC04NTcyNWU0LC04NDQ1NTI4MDAsLTg0MjkxMTIwMCwtODQyMjJlNCwtODI4MjIzMjAwLC04MTI0OTg0MDAsLTc5NjI2MjQwMCwtNzgxMDQ4ODAwLC03NjY2MjcyMDAsMjMxMjA2NDAwLDI0MzkxMDgwMCwyNjI4Mjg4MDAsMjc2MDUxNjAwLDU4MTEyNjQwMCw1OTExNTI0MDAsNjA2ODczNjAwLDYyMjYwMmUzLDY0MTUyZTQsNjU0NjU2NDAwLDExMTQ5MDU2MDAsMTEyODA0NTYwMCwxMTQzMzM4NDAwLDExNjIwOTA4MDAsMTE3NDc4OGUzLDExOTM1NDA0MDAsMTIwNjg0MjQwMCwxMjI0OTllNCwxOTI0OTk1NjAwXSxvZmZzZXQ6WzI0NDQsNTYxLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkFtZXJpY2EvQW5jaG9yYWdlIjp7CnRpbWU6Wy0zMjI1MTczMzAzLC0yMTg4OTg3MjAwLC04ODAyMzZlMywtNzY5NDI4ZTMsLTc2NTQxMDQwMCwtODY5MTg0MDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDM4OTk4NDAwLDQ1MjA1MmUzLDQ2Nzc3NjgwMCw0ODM1MDE2MDAsNDk5MjI2NDAwLDUxNDk1MTIwMCw1MzA2NzZlMyw1NDQ1ODY0MDAsNTYyMTI1NjAwLDU3NjAzNmUzLDU5NDE4ZTQsNjA3NDg1NjAwLDYyNTYyOTYwMCw2Mzg5MzUyMDAsNjU3MDc5MjAwLDY3MDk4OTYwMCw2ODg1Mjg4MDAsNzAyNDM5MjAwLDcxOTk3ODQwMCw3MzM4ODg4MDAsNzUyMDMyODAwLDc2NTMzODQwMCw3ODM0ODI0MDAsNzk2Nzg4ZTMsODE0OTMyZTMsODI4ODQyNDAwLDg0NjM4MTYwMCw4NjAyOTJlMyw4Nzc4MzEyMDAsODkxNzQxNjAwLDkwOTI4MDgwMCw5MjMxOTEyMDAsOTQxMzM1MjAwLDk1NDY0MDgwMCw5NzI3ODQ4MDAsOTg2MDkwNDAwLDEwMDQyMzQ0MDAsMTAxODE0NDgwMCwxMDM1Njg0ZTMsMTA0OTU5NDQwMCwxMDY3MTMzNjAwLDEwODEwNDRlMywxMDk5MTg4ZTMsMTExMjQ5MzYwMCwxMTMwNjM3NjAwLDExNDM5NDMyMDAsMTE2MjA4NzIwMCwxMTczNTc4NDAwLDExOTQxNDE2MDAsMTIwNTAyOGUzLDEyMjU1OTEyMDAsMTIzNjQ3NzYwMCwxMjU3MDQwODAwLDEyNjg1MzJlMywxMjg5MDk1MjAwLDEyOTk5ODE2MDAsMTMyMDU0NDgwMCwxMzMxNDMxMjAwLDEzNTE5OTQ0MDAsMTM2Mjg4MDgwMCwxMzgzNDQ0ZTMsMTM5NDMzMDQwMCwxNDE0ODkzNjAwLDE0MjU3OGU0LDE0NDYzNDMyMDAsMTQ1NzgzNDQwMCwxNDc4Mzk3NjAwLDE0ODkyODRlMywxNTA5ODQ3MjAwLDE1MjA3MzM2MDAsMTU0MTI5NjgwMCwxNTUyMTgzMjAwLDE1NzI3NDY0MDAsMTU4MzYzMjgwMCwxNjA0MTk2ZTMsMTYxNTY4NzIwMCwxNjM2MjUwNDAwLDE2NDcxMzY4MDAsMTY2NzdlNSwxNjc4NTg2NDAwLDE2OTkxNDk2MDAsMTcxMDAzNmUzLDE3MzA1OTkyMDAsMTc0MTQ4NTYwMCwxNzYyMDQ4ODAwLDE3NzI5MzUyMDAsMTc5MzQ5ODQwMCwxODA0OTg5NjAwLDE4MjU1NTI4MDAsMTgzNjQzOTIwMCwxODU3MDAyNDAwLDE4Njc4ODg4MDAsMTg4ODQ1MmUzLDE4OTkzMzg0MDAsMTkxOTkwMTYwMCwxOTMwNzg4ZTNdLG9mZnNldDpbNTA0MjQsLTM1OTc2LC0zNmUzLC0zMjQwMCwtMzI0MDAsLTM2ZTMsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTMyNDAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDBdfSwiQW1lcmljYS9BcmdlbnRpbmEvQnVlbm9zX0FpcmVzIjp7dGltZTpbLTIzNzIxMTJlMywtMTU2NzQ2ODgwMCwtMTIzMzQ0NjQwMCwtMTIyMjk5MmUzLC0xMjA1OTcxMjAwLC0xMTk0MDQ4ZTMsLTExNzI4OGU0LC0xMTYyNTEyZTMsLTExNDEzNDRlMywtMTEzMDk3NmUzLC0xMTA5ODA4ZTMsLTEwOTk0NGU0LC0xMDc4MjcyZTMsLTEwNjc4MTc2MDAsLTEwNDY2NDk2MDAsLTEwMzYyODE2MDAsLTEwMTUxMTM2MDAsLTEwMDQ3NDU2MDAsLTk4MzU3NzYwMCwtOTczMjA5NjAwLC05NTIwNDE2MDAsLTk0MTU4NzIwMCwtOTMxMDQ2NDAwLC05MDA4OTI4MDAsLTg5MDM1MmUzLC04MzM3NmU0LC04MjcyOGU0LC03NTIyODQ4MDAsLTczMzc5NTIwMCwtMTk3MzM3NjAwLC0xOTA4NTc2MDAsLTE4NDIwNDgwMCwtMTY0NTA1NjAwLC0xNTI2Njg4MDAsLTEzMjk2OTYwMCwtMTIxMTMyODAwLC0xMDE0MzM2MDAsLTg2ODMyZTMsLTcxMTA3MjAwLC01NDc3NzYwMCwtMzkwNTI4MDAsLTIzMzI4ZTMsLTc2MDMyMDAsMTI4MTMxMjAwLDEzNjU5ODQwMCw1OTY5Mzc2MDAsNjA1MDU5MjAwLDYyNDQxMjgwMCw2MzY1MDg4MDAsNjU2NDY3MjAwLDY2Nzk1ODQwMCw2ODc5MTY4MDAsNjk5NDA4ZTMsNzE5MzY2NDAwLDczMTQ2MjQwMCw5Mzg5MDg4MDAsOTUyMDQxNjAwLDExOTg5NzI4MDAsMTIwNTYyNTYwMCwxMjI0Mzc0NDAwLDEyMzcwNzUyMDAsMTkyNDk4MTIwMF0sCm9mZnNldDpbLTE0MDI4LC0xNTQwOCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtMTA4MDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDBdfSwiQW1lcmljYS9Cb2dvdGEiOnt0aW1lOlstMjcwNzY4OTYwMCwtMTczOTA1OTIwMCw3MDQ4NTEyMDAsNzI5MDQzMjAwLDE5MjQ5NzRlM10sb2Zmc2V0OlstMTc3NzYsLTE3Nzc2LC0xOGUzLC0xNDQwMCwtMThlM119LCJBbWVyaWNhL0NhcmFjYXMiOnt0aW1lOlstMjUyNDUyMTYwMCwtMTgyNjc1NTIwMCwtMTU3NzY2NDAwLDExOTcxNjkyMDAsMTQ2MjA2OTgwMCwxOTI0OTc3NjAwXSxvZmZzZXQ6Wy0xNjA2NCwtMTYwNjAsLTE2MjAwLC0xNDQwMCwtMTYyMDAsLTE0NDAwXX0sIkFtZXJpY2EvQ2hpY2FnbyI6ewp0aW1lOlstMjcxNzY2ODIzNiwtMTYzMzI5ODQwMCwtMTYxNTE1NDQwMCwtMTYwMTg0ODgwMCwtMTU4MzcwNDgwMCwtMTU2Mzc0NjQwMCwtMTU1MTY1MDQwMCwtMTUzODk0OTYwMCwtMTUyMDIwMDgwMCwtMTUwNDQ3NmUzLC0xNDkxNzc1MjAwLC0xNDczMDI2NDAwLC0xNDU5NzIwODAwLC0xNDQxNTc2ODAwLC0xNDI4MjcxMjAwLC0xNDEwMTI3MjAwLC0xMzk2ODIxNjAwLC0xMzc4Njc3NjAwLC0xMzY1MzcyZTMsLTEzNDcyMjhlMywtMTMzMzkyMjQwMCwtMTMxNTE3MzYwMCwtMTMwMTg2OGUzLC0xMjgzNzI0ZTMsLTEyNzA0MTg0MDAsLTEyNTIyNzQ0MDAsLTEyMzg5Njg4MDAsLTEyMjA4MjQ4MDAsLTEyMDc1MTkyMDAsLTExODkzNzUyMDAsLTExNzYwNjk2MDAsLTExNTczMjA4MDAsLTExNDQ2MmU0LC0xMTI1ODcxMjAwLC0xMTEyNTY1NjAwLC0xMDk0NDIxNjAwLC0xMDgxMTE2ZTMsLTEwNjc4MTA0MDAsLTEwNDU0MzI4MDAsLTEwMzE1MjI0MDAsLTEwMTgyMTY4MDAsLTEwMDAwNzI4MDAsLTk4Njc2NzIwMCwtOTY4MDE4NDAwLC05NTUzMTc2MDAsLTkzNjU2ODgwMCwtOTIzMjYzMjAwLC05MDUxMTkyMDAsLTg5MTgxMzYwMCwtODgwMjM2ZTMsLTc2OTQxMzYwMCwtNzY1NDEwNDAwLC03NDcyNjY0MDAsLTczMzk2MDgwMCwtNzE1ODE2ODAwLC03MDI1MTEyMDAsLTY4NDM2NzIwMCwtNjcxMDYxNjAwLC02NTI5MTc2MDAsLTYzOTYxMmUzLC02MjA4NjMyMDAsLTYwODE2MjQwMCwtNTg5NDEzNjAwLC01NzYxMDhlMywtNTU3OTY0ZTMsLTU0NDY1ODQwMCwtNTI2NTE0NDAwLC01MTMyMDg4MDAsLTQ5NTA2NDgwMCwtNDgxNzU5MjAwLC00NjM2MTUyMDAsLTQ0NzI4NTYwMCwtNDMxNTYwODAwLC00MTU4MzZlMywtNDAwMTExMjAwLC0zODQzODY0MDAsLTM2ODY2MTYwMCwtMzUyOTM2ODAwLC0zMzcyMTJlMywtMzIxNDg3MjAwLC0zMDU3NjI0MDAsLTI4OTQzMjgwMCwtMjczNzA4ZTMsLTI1Nzk4MzIwMCwtMjQyMjU4NDAwLC0yMjY1MzM2MDAsLTIxMDgwODgwMCwtMTk1MDg0ZTMsLTE3OTM1OTIwMCwtMTYzNjM0NDAwLC0xNDc5MDk2MDAsLTEzMTU4ZTQsLTExNjQ2ZTQsLTEwMDEzMDQwMCwtODQ0MDU2MDAsLTY4NjgwODAwLC01Mjk1NmUzLC0zNzIzMTIwMCwtMjE1MDY0MDAsLTU3ODE2MDAsOTk0MzIwMCwyNTY2OGUzLDQxMzkyODAwLDU3NzIyNDAwLDczNDQ3MjAwLDg5MTcyZTMsMTA0ODk2ODAwLDEyMDYyMTYwMCwxMjY2Njk2MDAsMTUyMDcxMjAwLDE2MjM1MjgwMCwxODM1MjA4MDAsMTk5MjQ1NjAwLDIxNTU3NTIwMCwyMzA2OTUyMDAsMjQ3MDI0ODAwLDI2Mjc0OTYwMCwyNzg0NzQ0MDAsMjk0MTk5MjAwLDMwOTkyNGUzLDMyNTY0ODgwMCwzNDEzNzM2MDAsMzU3MDk4NDAwLDM3MjgyMzIwMCwzODg1NDhlMyw0MDQ4Nzc2MDAsNDE5OTk3NjAwLDQzNjMyNzIwMCw0NTIwNTJlMyw0Njc3NzY4MDAsNDgzNTAxNjAwLDQ5OTIyNjQwMCw1MTQ5NTEyMDAsNTMwNjc2ZTMsNTQ0NTg2NDAwLDU2MjEyNTYwMCw1NzYwMzZlMyw1OTQxOGU0LDYwNzQ4NTYwMCw2MjU2Mjk2MDAsNjM4OTM1MjAwLDY1NzA3OTIwMCw2NzA5ODk2MDAsNjg4NTI4ODAwLDcwMjQzOTIwMCw3MTk5Nzg0MDAsNzMzODg4ODAwLDc1MjAzMjgwMCw3NjUzMzg0MDAsNzgzNDgyNDAwLDc5Njc4OGUzLDgxNDkzMmUzLDgyODg0MjQwMCw4NDYzODE2MDAsODYwMjkyZTMsODc3ODMxMjAwLDg5MTc0MTYwMCw5MDkyODA4MDAsOTIzMTkxMjAwLDk0MTMzNTIwMCw5NTQ2NDA4MDAsOTcyNzg0ODAwLDk4NjA5MDQwMCwxMDA0MjM0NDAwLDEwMTgxNDQ4MDAsMTAzNTY4NGUzLDEwNDk1OTQ0MDAsMTA2NzEzMzYwMCwxMDgxMDQ0ZTMsMTA5OTE4OGUzLDExMTI0OTM2MDAsMTEzMDYzNzYwMCwxMTQzOTQzMjAwLDExNjIwODcyMDAsMTE3MzU3ODQwMCwxMTk0MTQxNjAwLDEyMDUwMjhlMywxMjI1NTkxMjAwLDEyMzY0Nzc2MDAsMTI1NzA0MDgwMCwxMjY4NTMyZTMsMTI4OTA5NTIwMCwxMjk5OTgxNjAwLDEzMjA1NDQ4MDAsMTMzMTQzMTIwMCwxMzUxOTk0NDAwLDEzNjI4ODA4MDAsMTM4MzQ0NGUzLDEzOTQzMzA0MDAsMTQxNDg5MzYwMCwxNDI1NzhlNCwxNDQ2MzQzMjAwLDE0NTc4MzQ0MDAsMTQ3ODM5NzYwMCwxNDg5Mjg0ZTMsMTUwOTg0NzIwMCwxNTIwNzMzNjAwLDE1NDEyOTY4MDAsMTU1MjE4MzIwMCwxNTcyNzQ2NDAwLDE1ODM2MzI4MDAsMTYwNDE5NmUzLDE2MTU2ODcyMDAsMTYzNjI1MDQwMCwxNjQ3MTM2ODAwLDE2Njc3ZTUsMTY3ODU4NjQwMCwxNjk5MTQ5NjAwLDE3MTAwMzZlMywxNzMwNTk5MjAwLDE3NDE0ODU2MDAsMTc2MjA0ODgwMCwxNzcyOTM1MjAwLDE3OTM0OTg0MDAsMTgwNDk4OTYwMCwxODI1NTUyODAwLDE4MzY0MzkyMDAsMTg1NzAwMjQwMCwxODY3ODg4ODAwLDE4ODg0NTJlMywxODk5MzM4NDAwLDE5MTk5MDE2MDAsMTkzMDc4OGUzXSwKb2Zmc2V0OlstMjEwMzYsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDBdfSwiQW1lcmljYS9FbF9TYWx2YWRvciI6e3RpbWU6Wy0xNTQ2MzAwODAwLDU0Njk5ODQwMCw1NTk2OTkyMDAsNTc4NDQ4ZTMsNTkxMTQ4ODAwLDE5MjQ5NzA0MDBdLG9mZnNldDpbLTIxNDA4LC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwXX0sIkFtZXJpY2EvSGFsaWZheCI6ewp0aW1lOlstMjEzMTY2MDgwMCwtMTY5NjI5MTIwMCwtMTY4MDQ4ZTQsLTE2MzIwODg4MDAsLTE2MTUxNTQ0MDAsLTE1NjY3Nzc2MDAsLTE1NTcxMDA4MDAsLTE1MzU1MDA4MDAsLTE1MjQ5NmU0LC0xNTA0NDgzMjAwLC0xNDkzNDI0ZTMsLTE0NzI0Mjg4MDAsLTE0NjE5NzQ0MDAsLTE0NDA5NzkyMDAsLTE0Mjk0MDE2MDAsLTE0MDk1Mjk2MDAsLTEzOTY3NDI0MDAsLTEzNzY4NzA0MDAsLTEzNjY1MDI0MDAsLTEzNDY2MzA0MDAsLTEzMzM4NDMyMDAsLTEzMTM5NzEyMDAsLTEzMDM2ODk2MDAsLTEyODI1MjE2MDAsLTEyNzI2NzJlMywtMTI1MTA3MmUzLC0xMjQwMDk5MjAwLC0xMjE5NjIyNDAwLC0xMjA3NDRlNCwtMTE4ODc3NzYwMCwtMTE3NTk5MDQwMCwtMTE1NzMyOGUzLC0xMTQzOTM2ZTMsLTExMjQwNjRlMywtMTExMzc4MjQwMCwtMTA5MTQwNDgwMCwtMTA4MTAzNjgwMCwtMTA1OTg2ODgwMCwtMTA1MDc5NjgwMCwtMTAzMDkyNDgwMCwtMTAxODEzNzYwMCwtOTk5NDc1MjAwLC05ODY2ODhlMywtOTY1NjA2NDAwLC05NTUyMzg0MDAsLTkzNTk3MTIwMCwtOTIzMTg0ZTMsLTkwNDUyMTYwMCwtODkxNzM0NDAwLC04ODAyMzZlMywtNzY5NDA2NDAwLC03NjU0MTA0MDAsLTc0NzI2NjQwMCwtNzMzOTYwODAwLC03MTU4MTY4MDAsLTcwMjUxMTIwMCwtNjg0MzY3MjAwLC02NzEwNjE2MDAsLTY1MjkxNzYwMCwtNjM5NjEyZTMsLTU4OTQxMzYwMCwtNTc2MTA4ZTMsLTU1Nzk2NGUzLC01NDQ2NTg0MDAsLTUyNjUxNDQwMCwtNTEzMjA4ODAwLC00OTUwNjQ4MDAsLTQ4MTc1OTIwMCwtNDMxNTYwODAwLC00MTgyNTUyMDAsLTQwMDExMTIwMCwtMzg2ODA1NjAwLC0zNjg2NjE2MDAsLTM1NTM1NmUzLC0zMzcyMTJlMywtMzIzOTA2NDAwLC0yNDIyNTg0MDAsLTIyNjUzMzYwMCwtMjEwODA4ODAwLC0xOTUwODRlMywtMTc5MzU5MjAwLC0xNjM2MzQ0MDAsLTE0NzkwOTYwMCwtMTMxNThlNCwtMTE2NDZlNCwtMTAwMTMwNDAwLC04NDQwNTYwMCwtNjg2ODA4MDAsLTUyOTU2ZTMsLTM3MjMxMjAwLC0yMTUwNjQwMCwtNTc4MTYwMCw5OTQzMjAwLDI1NjY4ZTMsNDEzOTI4MDAsNTc3MjI0MDAsNzM0NDcyMDAsODkxNzJlMywxMDQ4OTY4MDAsMTIwNjIxNjAwLDEzNjM0NjQwMCwxNTIwNzEyMDAsMTY3Nzk2ZTMsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sCm9mZnNldDpbLTE1MjY0LC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMF19LCJBbWVyaWNhL0p1bmVhdSI6e3RpbWU6Wy0zMjI1MTY5NTg4LC0yMTg4OTg3MjAwLC04ODAyMzZlMywtNzY5NDIwODAwLC03NjU0MTA0MDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDM4OTk4NDAwLDQ1MjA1MmUzLDQ2Nzc3NjgwMCw0ODM1MDE2MDAsNDk5MjI2NDAwLDUxNDk1MTIwMCw1MzA2NzZlMyw1NDQ1ODY0MDAsNTYyMTI1NjAwLDU3NjAzNmUzLDU5NDE4ZTQsNjA3NDg1NjAwLDYyNTYyOTYwMCw2Mzg5MzUyMDAsNjU3MDc5MjAwLDY3MDk4OTYwMCw2ODg1Mjg4MDAsNzAyNDM5MjAwLDcxOTk3ODQwMCw3MzM4ODg4MDAsNzUyMDMyODAwLDc2NTMzODQwMCw3ODM0ODI0MDAsNzk2Nzg4ZTMsODE0OTMyZTMsODI4ODQyNDAwLDg0NjM4MTYwMCw4NjAyOTJlMyw4Nzc4MzEyMDAsODkxNzQxNjAwLDkwOTI4MDgwMCw5MjMxOTEyMDAsOTQxMzM1MjAwLDk1NDY0MDgwMCw5NzI3ODQ4MDAsOTg2MDkwNDAwLDEwMDQyMzQ0MDAsMTAxODE0NDgwMCwxMDM1Njg0ZTMsMTA0OTU5NDQwMCwxMDY3MTMzNjAwLDEwODEwNDRlMywxMDk5MTg4ZTMsMTExMjQ5MzYwMCwxMTMwNjM3NjAwLDExNDM5NDMyMDAsMTE2MjA4NzIwMCwxMTczNTc4NDAwLDExOTQxNDE2MDAsMTIwNTAyOGUzLDEyMjU1OTEyMDAsMTIzNjQ3NzYwMCwxMjU3MDQwODAwLDEyNjg1MzJlMywxMjg5MDk1MjAwLDEyOTk5ODE2MDAsMTMyMDU0NDgwMCwxMzMxNDMxMjAwLDEzNTE5OTQ0MDAsMTM2Mjg4MDgwMCwxMzgzNDQ0ZTMsMTM5NDMzMDQwMCwxNDE0ODkzNjAwLDE0MjU3OGU0LDE0NDYzNDMyMDAsMTQ1NzgzNDQwMCwxNDc4Mzk3NjAwLDE0ODkyODRlMywxNTA5ODQ3MjAwLDE1MjA3MzM2MDAsMTU0MTI5NjgwMCwxNTUyMTgzMjAwLDE1NzI3NDY0MDAsMTU4MzYzMjgwMCwxNjA0MTk2ZTMsMTYxNTY4NzIwMCwxNjM2MjUwNDAwLDE2NDcxMzY4MDAsMTY2NzdlNSwxNjc4NTg2NDAwLDE2OTkxNDk2MDAsMTcxMDAzNmUzLDE3MzA1OTkyMDAsMTc0MTQ4NTYwMCwxNzYyMDQ4ODAwLDE3NzI5MzUyMDAsMTc5MzQ5ODQwMCwxODA0OTg5NjAwLDE4MjU1NTI4MDAsMTgzNjQzOTIwMCwxODU3MDAyNDAwLDE4Njc4ODg4MDAsMTg4ODQ1MmUzLDE4OTkzMzg0MDAsMTkxOTkwMTYwMCwxOTMwNzg4ZTNdLApvZmZzZXQ6WzU0MTM5LC0zMjI2MSwtMjg4MDAsLTI1MjAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yODgwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMzI0MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMF19LCJBbWVyaWNhL0xpbWEiOnt0aW1lOlstMjUyNDUyMTYwMCwtMTkzODU1NjgwMCwtMTAwOTg0MzIwMCwtMTAwMjA2NzIwMCwtOTg2Nzc0NDAwLC05NzEwNDk2MDAsLTk1NTMyNDgwMCwtOTM5NmU1LDUwNDkyMTYwMCw1MTI2OTc2MDAsNTM2NDU3NjAwLDU0NDIzMzYwMCw2MzExNTJlMyw2Mzg5MjhlMyw3NTczODI0MDAsNzY1MTU4NDAwLDE5MjQ5NzRlM10sb2Zmc2V0OlstMTg0OTIsLTE4NTE2LC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlM119LCJBbWVyaWNhL0xvc19BbmdlbGVzIjp7dGltZTpbLTI3MTc2NjgzNzgsLTE2MzMyOTg0MDAsLTE2MTUxNTQ0MDAsLTE2MDE4NDg4MDAsLTE1ODM3MDQ4MDAsLTg4MDIzNmUzLC03Njk0MjA4MDAsLTc2NTQxMDQwMCwtNjg3OTk1OTQwLC02NjI2ODA4MDAsLTYyMDg2NjgwMCwtNjA4MTYyNDAwLC01ODk0MTcyMDAsLTU3NjEwOGUzLC01NTc5Njc2MDAsLTU0NDY1ODQwMCwtNTI2NTE4ZTMsLTUxMzIwODgwMCwtNDk1MDY4NDAwLC00ODE3NTkyMDAsLTQ2MzYxODgwMCwtNDUwMzA5NjAwLC00MzE1NjQ0MDAsLTQxODI1NTIwMCwtNDAwMTE0ODAwLC0zODY4MDU2MDAsLTM2ODY2NTIwMCwtMzU1MzU2ZTMsLTMzNzIxNTYwMCwtMzIzOTA2NDAwLC0zMDU3NjZlMywtMjkyNDU2ODAwLC0yNzM3MTE2MDAsLTI2MTAwNzIwMCwtMjQyMjYyZTMsLTIyNjUzMzYwMCwtMjEwODEyNDAwLC0xOTUwODRlMywtMTc5MzYyODAwLC0xNjM2MzQ0MDAsLTE0NzkxMzIwMCwtMTMxNThlNCwtMTE2NDYzNjAwLC0xMDAxMzA0MDAsLTg0NDA1NjAwLC02ODY4MDgwMCwtNTI5NTZlMywtMzcyMzEyMDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sCm9mZnNldDpbLTI4Mzc4LC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMF19LCJBbWVyaWNhL01leGljb19DaXR5Ijp7dGltZTpbLTE1MTQ3NjMzOTYsLTEzNDMxNzQ0MDAsLTEyMzQ4Mjg4MDAsLTEyMjA0ODY0MDAsLTEyMDcxODA4MDAsLTExOTEzNjk2MDAsLTk3NTI4MzIwMCwtOTYzMTg3MjAwLC05MTcxMzZlMywtOTA3MzcyODAwLC04MjE5MjMyMDAsLTgxMDA4NjQwMCwtNjI3NTIzMjAwLC02MTMwMDhlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODkxMTQ0MDAsMTAwMTgxNTIwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzUzOTI4MDAsMTE5MzUzNjgwMCwxMjA3NDQ3MjAwLDEyMjQ5ODY0MDAsMTIzODg5NjgwMCwxMjU2NDM2ZTMsMTI3MDM0NjQwMCwxMjg4NDkwNDAwLDEzMDE3OTZlMywxMzE5OTRlNCwxMzMzMjQ1NjAwLDEzNTEzODk2MDAsMTM2NTNlNSwxMzgyODM5MjAwLDEzOTY3NDk2MDAsMTQxNDI4ODgwMCwxNDI4MTk5MjAwLDE0NDU3Mzg0MDAsMTQ1OTY0ODgwMCwxNDc3NzkyODAwLDE0OTEwOTg0MDAsMTUwOTI0MjQwMCwxNTIyNTQ4ZTMsMTU0MDY5MmUzLDE1NTQ2MDI0MDAsMTU3MjE0MTYwMCwxNTg2MDUyZTMsMTYwMzU5MTIwMCwxNjE3NTAxNjAwLDE2MzU2NDU2MDAsMTY0ODk1MTIwMCwxNjY3MDk1MjAwLDE5MjQ5NzA0MDBdLG9mZnNldDpbLTIzNzk2LC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMF19LCJBbWVyaWNhL05ld19Zb3JrIjp7CnRpbWU6Wy0yNzE3NjY4NTYyLC0xNjMzMjk4NDAwLC0xNjE1MTU0NDAwLC0xNjAxODQ4ODAwLC0xNTgzNzA0ODAwLC0xNTcwMzk5MjAwLC0xNTUxNjUwNDAwLC0xNTM2NTMwNDAwLC0xNTIzMjI0ODAwLC0xNTA0NDc2ZTMsLTE0OTE3NzUyMDAsLTE0NzMwMjY0MDAsLTE0NTk3MjA4MDAsLTE0NDE1NzY4MDAsLTE0MjgyNzEyMDAsLTE0MTAxMjcyMDAsLTEzOTY4MjE2MDAsLTEzNzg2Nzc2MDAsLTEzNjUzNzJlMywtMTM0NzIyOGUzLC0xMzMzOTIyNDAwLC0xMzE1MTczNjAwLC0xMzAxODY4ZTMsLTEyODM3MjRlMywtMTI3MDQxODQwMCwtMTI1MjI3NDQwMCwtMTIzODk2ODgwMCwtMTIyMDgyNDgwMCwtMTIwNzUxOTIwMCwtMTE4OTM3NTIwMCwtMTE3NjA2OTYwMCwtMTE1NzMyMDgwMCwtMTE0NDYyZTQsLTExMjU4NzEyMDAsLTExMTI1NjU2MDAsLTEwOTQ0MjE2MDAsLTEwODExMTZlMywtMTA2Mjk3MmUzLC0xMDQ5NjY2NDAwLC0xMDMxNTIyNDAwLC0xMDE4MjE2ODAwLC0xMDAwMDcyODAwLC05ODY3NjcyMDAsLTk2ODAxODQwMCwtOTU1MzE3NjAwLC05MzY1Njg4MDAsLTkyMzI2MzIwMCwtOTA1MTE5MjAwLC04OTE4MTM2MDAsLTg4MDIzNmUzLC03Njk0MWU0LC03NjU0MTA0MDAsLTc0NzI2NjQwMCwtNzMzOTYwODAwLC03MTU4MTY4MDAsLTcwMjUxMTIwMCwtNjg0MzY3MjAwLC02NzEwNjE2MDAsLTY1MjkxNzYwMCwtNjM5NjEyZTMsLTYyMDg2MzIwMCwtNjA4MTYyNDAwLC01ODk0MTM2MDAsLTU3NjEwOGUzLC01NTc5NjRlMywtNTQ0NjU4NDAwLC01MjY1MTQ0MDAsLTUxMzIwODgwMCwtNDk1MDY0ODAwLC00ODE3NTkyMDAsLTQ2MzYxNTIwMCwtNDQ3Mjg1NjAwLC00MzE1NjA4MDAsLTQxNTgzNmUzLC00MDAxMTEyMDAsLTM4NDM4NjQwMCwtMzY4NjYxNjAwLC0zNTI5MzY4MDAsLTMzNzIxMmUzLC0zMjE0ODcyMDAsLTMwNTc2MjQwMCwtMjg5NDMyODAwLC0yNzM3MDhlMywtMjU3OTgzMjAwLC0yNDIyNTg0MDAsLTIyNjUzMzYwMCwtMjEwODA4ODAwLC0xOTUwODRlMywtMTc5MzU5MjAwLC0xNjM2MzQ0MDAsLTE0NzkwOTYwMCwtMTMxNThlNCwtMTE2NDZlNCwtMTAwMTMwNDAwLC04NDQwNTYwMCwtNjg2ODA4MDAsLTUyOTU2ZTMsLTM3MjMxMjAwLC0yMTUwNjQwMCwtNTc4MTYwMCw5OTQzMjAwLDI1NjY4ZTMsNDEzOTI4MDAsNTc3MjI0MDAsNzM0NDcyMDAsODkxNzJlMywxMDQ4OTY4MDAsMTIwNjIxNjAwLDEyNjY2OTYwMCwxNTIwNzEyMDAsMTYyMzUyODAwLDE4MzUyMDgwMCwxOTkyNDU2MDAsMjE1NTc1MjAwLDIzMDY5NTIwMCwyNDcwMjQ4MDAsMjYyNzQ5NjAwLDI3ODQ3NDQwMCwyOTQxOTkyMDAsMzA5OTI0ZTMsMzI1NjQ4ODAwLDM0MTM3MzYwMCwzNTcwOTg0MDAsMzcyODIzMjAwLDM4ODU0OGUzLDQwNDg3NzYwMCw0MTk5OTc2MDAsNDM2MzI3MjAwLDQ1MjA1MmUzLDQ2Nzc3NjgwMCw0ODM1MDE2MDAsNDk5MjI2NDAwLDUxNDk1MTIwMCw1MzA2NzZlMyw1NDQ1ODY0MDAsNTYyMTI1NjAwLDU3NjAzNmUzLDU5NDE4ZTQsNjA3NDg1NjAwLDYyNTYyOTYwMCw2Mzg5MzUyMDAsNjU3MDc5MjAwLDY3MDk4OTYwMCw2ODg1Mjg4MDAsNzAyNDM5MjAwLDcxOTk3ODQwMCw3MzM4ODg4MDAsNzUyMDMyODAwLDc2NTMzODQwMCw3ODM0ODI0MDAsNzk2Nzg4ZTMsODE0OTMyZTMsODI4ODQyNDAwLDg0NjM4MTYwMCw4NjAyOTJlMyw4Nzc4MzEyMDAsODkxNzQxNjAwLDkwOTI4MDgwMCw5MjMxOTEyMDAsOTQxMzM1MjAwLDk1NDY0MDgwMCw5NzI3ODQ4MDAsOTg2MDkwNDAwLDEwMDQyMzQ0MDAsMTAxODE0NDgwMCwxMDM1Njg0ZTMsMTA0OTU5NDQwMCwxMDY3MTMzNjAwLDEwODEwNDRlMywxMDk5MTg4ZTMsMTExMjQ5MzYwMCwxMTMwNjM3NjAwLDExNDM5NDMyMDAsMTE2MjA4NzIwMCwxMTczNTc4NDAwLDExOTQxNDE2MDAsMTIwNTAyOGUzLDEyMjU1OTEyMDAsMTIzNjQ3NzYwMCwxMjU3MDQwODAwLDEyNjg1MzJlMywxMjg5MDk1MjAwLDEyOTk5ODE2MDAsMTMyMDU0NDgwMCwxMzMxNDMxMjAwLDEzNTE5OTQ0MDAsMTM2Mjg4MDgwMCwxMzgzNDQ0ZTMsMTM5NDMzMDQwMCwxNDE0ODkzNjAwLDE0MjU3OGU0LDE0NDYzNDMyMDAsMTQ1NzgzNDQwMCwxNDc4Mzk3NjAwLDE0ODkyODRlMywxNTA5ODQ3MjAwLDE1MjA3MzM2MDAsMTU0MTI5NjgwMCwxNTUyMTgzMjAwLDE1NzI3NDY0MDAsMTU4MzYzMjgwMCwxNjA0MTk2ZTMsMTYxNTY4NzIwMCwxNjM2MjUwNDAwLDE2NDcxMzY4MDAsMTY2NzdlNSwxNjc4NTg2NDAwLDE2OTkxNDk2MDAsMTcxMDAzNmUzLDE3MzA1OTkyMDAsMTc0MTQ4NTYwMCwxNzYyMDQ4ODAwLDE3NzI5MzUyMDAsMTc5MzQ5ODQwMCwxODA0OTg5NjAwLDE4MjU1NTI4MDAsMTgzNjQzOTIwMCwxODU3MDAyNDAwLDE4Njc4ODg4MDAsMTg4ODQ1MmUzLDE4OTkzMzg0MDAsMTkxOTkwMTYwMCwxOTMwNzg4ZTNdLApvZmZzZXQ6Wy0xNzc2MiwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlM119LCJBbWVyaWNhL1Bob2VuaXgiOnt0aW1lOlstMjcxNzY3MDQ5OCwtMTYzMzI5ODQwMCwtMTYxNTE1NDQwMCwtMTYwMTg0ODgwMCwtMTU4MzcwNDgwMCwtODgwMjM2ZTMsLTgyMDU0MDc0MCwtODEyNjc4MzQwLC03OTY4NjcxNDAsLTg0NDA1NjAwLC02ODY4MDgwMCwxOTI0OTY2ODAwXSxvZmZzZXQ6Wy0yNjg5OCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwXX0sIkFtZXJpY2EvU2FudGlhZ28iOnsKdGltZTpbLTI1MjQ1MjE2MDAsLTE4OTI2Nzg0MDAsLTE2ODg0Mjg4MDAsLTE2MTkyMjI0MDAsLTE1OTM4MjA4MDAsLTEzMzYwMDMyMDAsLTEzMTc2ZTUsLTEzMDQzODA4MDAsLTEyODYwNjRlMywtMTI3Mjg0NDgwMCwtMTI1NDUyOGUzLC0xMjQxMzA4ODAwLC0xMjIyOTkyZTMsLTEyMDk3NzI4MDAsLTExOTEzNjk2MDAsLTExNzgxNTA0MDAsLTg3MDU2NjQwMCwtODY1Mjk2ZTMsLTc0MDUzNDQwMCwtNzM2NjQ2NDAwLC03MTgwNzA0MDAsLTcxMzY2NzYwMCwtMzY2MzM2MDAsLTIzOTMyODAwLC0zMzY5NjAwLDc1MTY4MDAsMjQ0NTEyMDAsMzc3NTY4MDAsNTU5MDA4MDAsNjkyMDY0MDAsODc5NTUyMDAsMTAwNjU2ZTMsMTE4MTk1MjAwLDEzMjEwNTYwMCwxNTA4NTQ0MDAsMTYzNTU1MjAwLDE4MjMwNGUzLDE5NTYwOTYwMCwyMTM3NTM2MDAsMjI3MDU5MjAwLDI0NTIwMzIwMCwyNTg1MDg4MDAsMjc3MjU3NjAwLDI4OTk1ODQwMCwzMDg3MDcyMDAsMzIxNDA4ZTMsMzQwMTU2ODAwLDM1MzQ2MjQwMCwzNzE2MDY0MDAsMzg0OTEyZTMsNDAzMDU2ZTMsNDE2MzYxNjAwLDQzNDUwNTYwMCw0NDc4MTEyMDAsNDY2NTZlNCw0NzkyNjA4MDAsNDk4MDA5NjAwLDUxMDcxMDQwMCw1Mjk0NTkyMDAsNTQ1MTg0ZTMsNTYwOTA4ODAwLDU3NDIxNDQwMCw1OTIzNTg0MDAsNjA1NjY0ZTMsNjI0NDEyODAwLDYzNzExMzYwMCw2NTM0NDMyMDAsNjY4NTYzMjAwLDY4NzMxMmUzLDcwMDYxNzYwMCw3MTg3NjE2MDAsNzMyMDY3MjAwLDc1MDIxMTIwMCw3NjM1MTY4MDAsNzgxNjYwODAwLDc5NDk2NjQwMCw4MTM3MTUyMDAsODI2NDE2ZTMsODQ1MTY0ODAwLDg1OTY4ZTQsODc2NjE0NDAwLDg4OTkyZTQsOTA2ODU0NDAwLDkyMzE4NGUzLDkzOTUxMzYwMCw5NTI4MTkyMDAsOTcxNTY4ZTMsOTg0MjY4ODAwLDEwMDMwMTc2MDAsMTAxNTcxODQwMCwxMDM0NDY3MjAwLDEwNDcxNjhlMywxMDY1OTE2ODAwLDEwNzkyMjI0MDAsMTA5NzM2NjQwMCwxMTEwNjcyZTMsMTEyODgxNmUzLDExNDIxMjE2MDAsMTE2MDg3MDQwMCwxMTczNTcxMjAwLDExOTIzMmU0LDEyMDY4MzUyMDAsMTIyMzc2OTYwMCwxMjM3MDc1MjAwLDEyNTUyMTkyMDAsMTI3MDMzOTIwMCwxMjg2NjY4ODAwLDEzMDQ4MTI4MDAsMTMxMzg4NDgwMCwxMzM1NjU3NjAwLDEzNDY1NDRlMywxMzY3MTA3MjAwLDEzNzg1OTg0MDAsMTM5ODU1NjgwMCwxNDEwMDQ4ZTMsMTQ2MzI3MDQwMCwxNDcxMTMyODAwLDE0OTQ3MmU0LDE1MDI1ODI0MDAsMTUyNjE2OTYwMCwxNTM0MDMyZTMsMTU1NDU5NTIwMCwxNTY3OTAwODAwLDE1ODYwNDQ4MDAsMTU5OTM1MDQwMCwxNjE3NDk0NDAwLDE2MzA4ZTUsMTY0ODk0NGUzLDE2NjI4NTQ0MDAsMTY4MDM5MzYwMCwxNjkzNjk5MjAwLDE3MTI0NDhlMywxNzI1NzUzNjAwLDE3NDM4OTc2MDAsMTc1NzIwMzIwMCwxNzc1MzQ3MjAwLDE3ODg2NTI4MDAsMTgwNjc5NjgwMCwxODIwMTAyNDAwLDE4MzgyNDY0MDAsMTg1MTU1MmUzLDE4NzAzMDA4MDAsMTg4MzAwMTYwMCwxOTAxNzUwNDAwLDE5MTUwNTZlMywxOTMzMmU1XSxvZmZzZXQ6Wy0xNjk2NSwtMTY5NjUsLTE4ZTMsLTE2OTY1LC0xNDQwMCwtMTY5NjUsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwXX0sIkFtZXJpY2EvU2FvX1BhdWxvIjp7CnRpbWU6Wy0xNzY3MjI1NjAwLC0xMjA2OTY4NDAwLC0xMTkxMzY5NjAwLC0xMTc1Mzg1NjAwLC0xMTU5ODMzNjAwLC02MzM4MzA0MDAsLTYyMjA3NjQwMCwtNjAyMjk0NDAwLC01OTE4NGU0LC01NzA3NTg0MDAsLTU2MDIxNzYwMCwtNTM5MTM2ZTMsLTUzMTM2ZTQsLTE5NTQzNjgwMCwtMTg0MjA0ODAwLC0xNTUxNzQ0MDAsLTE1MDA3NjgwMCwtMTI4OTA4ODAwLC0xMjExMzI4MDAsLTk5OTY0ODAwLC04OTU5NjgwMCwtNjg0Mjg4MDAsLTU3OTc0NDAwLDQ5OTczNzYwMCw1MTEyMjg4MDAsNTMwNTgyNDAwLDU0MDI1OTIwMCw1NjIxMTg0MDAsNTcxMTkwNDAwLDU5Mjk2MzIwMCw2MDIwMzUyMDAsNjI0NDEyODAwLDYzNDY5NDQwMCw2NTY0NjcyMDAsNjY2NzQ4ODAwLDY4NzkxNjgwMCw2OTc1OTM2MDAsNzE5OTcxMjAwLDcyODQzODQwMCw3NTA4MTZlMyw3NjE3MDI0MDAsNzgyMjY1NjAwLDc5MzE1MmUzLDgxMzcxNTIwMCw4MjM5OTY4MDAsODQ0NTZlNCw4NTYwNTEyMDAsODc2MDk2ZTMsODg4NzEwNDAwLDkwODA2NGUzLDkxOTU1NTIwMCw5Mzg5MDg4MDAsOTUxNjA5NjAwLDk3MDk2MzIwMCw5ODI0NTQ0MDAsMTAwMzAxNzYwMCwxMDEzOTA0ZTMsMTAzNjI4MTYwMCwxMDQ1MzUzNjAwLDEwNjY1MjE2MDAsMTA3NjgwMzIwMCwxMDk5MzUzNjAwLDExMDg4NTc2MDAsMTEyOTQyMDgwMCwxMTQwMzA3MjAwLDExNjI2ODQ4MDAsMTE3MjM2MTYwMCwxMTkyMzJlNCwxMjAzMjA2NDAwLDEyMjQzNzQ0MDAsMTIzNDY1NmUzLDEyNTU4MjRlMywxMjY2NzEwNDAwLDEyODcyNzM2MDAsMTI5ODE2ZTQsMTMxODcyMzIwMCwxMzMwMjE0NDAwLDEzNTA3Nzc2MDAsMTM2MTA1OTIwMCwxMzgyMjI3MjAwLDEzOTI1MDg4MDAsMTQxMzY3NjgwMCwxNDI0NTYzMjAwLDE0NDUxMjY0MDAsMTQ1NjAxMjgwMCwxNDc2NTc2ZTMsMTQ4NzQ2MjQwMCwxNTA4MDI1NjAwLDE1MTg5MTJlMywxNTQxMjg5NjAwLDE1NTAzNjE2MDAsMTkyNDk4MTIwMF0sb2Zmc2V0OlstMTExODgsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwXX0sIkFtZXJpY2EvVG9yb250byI6ewp0aW1lOlstMjM2Njc1NTIwMCwtMTYzMjA4ODgwMCwtMTYxNTE1NDQwMCwtMTYwMTc3MTQwMCwtMTU4MzcxMmUzLC0xNTY3Mzc1MjAwLC0xNTU0NjgxNjAwLC0xNTM0NzE2ZTMsLTE1MjQwODg4MDAsLTE1MDMyNjY0MDAsLTE0OTIzOGU0LC0xNDcxODE2ODAwLC0xNDYwOTMwNDAwLC0xNDQwOTcyZTMsLTE0Mjg4NzZlMywtMTQwOTUyMjQwMCwtMTM5NzQyNjQwMCwtMTM3ODA3MjgwMCwtMTM2NTk3NjgwMCwtMTM0NjYyMzIwMCwtMTMzMzkyMjQwMCwtMTMxNTE3MzYwMCwtMTMwMTg2OGUzLC0xMjgzNzI0ZTMsLTEyNzA0MTg0MDAsLTEyNTIyNzQ0MDAsLTEyMzg5Njg4MDAsLTEyMjA4MjQ4MDAsLTEyMDc1MTkyMDAsLTExODg3NzA0MDAsLTExNzYwNjk2MDAsLTExNTczMjA4MDAsLTExNDQwMTUyMDAsLTExMjU4NzEyMDAsLTExMTI1NjU2MDAsLTEwOTQ0MjE2MDAsLTEwODExMTZlMywtMTA2Mjk3MmUzLC0xMDQ5NjY2NDAwLC0xMDMxNTIyNDAwLC0xMDE4MjE2ODAwLC0xMDAwMDcyODAwLC05ODY3NjcyMDAsLTk2ODAxODQwMCwtOTU1MzE3NjAwLC05MzY1Njg4MDAsLTg4MDIzMjQwMCwtNzY5NDFlNCwtNzY1NDEwNDAwLC03NDcyNjY0MDAsLTczMzk2MDgwMCwtNzE1ODE2ODAwLC03MDI1MTEyMDAsLTY4NDM2NzIwMCwtNjcxMDYxNjAwLC02NTI5MTc2MDAsLTYzNDE2ODgwMCwtNjIwODYzMjAwLC02MDI3MTkyMDAsLTU4OTQxMzYwMCwtNTc2MTA4ZTMsLTU1Nzk2NGUzLC01NDQ2NTg0MDAsLTUyNjUxNDQwMCwtNTEzMjA4ODAwLC00OTUwNjQ4MDAsLTQ4MTc1OTIwMCwtNDYzNjE1MjAwLC00NTAzMDk2MDAsLTQzMTU2MDgwMCwtNDE4MjU1MjAwLC00MDAxMTEyMDAsLTM4NDM4NjQwMCwtMzY4NjYxNjAwLC0zNTI5MzY4MDAsLTMzNzIxMmUzLC0zMjE0ODcyMDAsLTMwNTc2MjQwMCwtMjg5NDMyODAwLC0yNzM3MDhlMywtMjU3OTgzMjAwLC0yNDIyNTg0MDAsLTIyNjUzMzYwMCwtMjEwODA4ODAwLC0xOTUwODRlMywtMTc5MzU5MjAwLC0xNjM2MzQ0MDAsLTE0NzkwOTYwMCwtMTMxNThlNCwtMTE2NDZlNCwtMTAwMTMwNDAwLC04NDQwNTYwMCwtNjg2ODA4MDAsLTUyOTU2ZTMsLTM3MjMxMjAwLC0yMTUwNjQwMCwtNTc4MTYwMCw5OTQzMjAwLDI1NjY4ZTMsNDEzOTI4MDAsNTc3MjI0MDAsNzM0NDcyMDAsODkxNzJlMywxMDQ4OTY4MDAsMTIwNjIxNjAwLDEzNjM0NjQwMCwxNTIwNzEyMDAsMTY3Nzk2ZTMsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sCm9mZnNldDpbLTE5MDUyLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE0NDAwLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTNdfSwiQW1lcmljYS9WYW5jb3V2ZXIiOnsKdGltZTpbLTI3MTM5MTA0MDAsLTE2MzIwODg4MDAsLTE2MTUxNTQ0MDAsLTg4MDIzNmUzLC03Njk0MjA4MDAsLTc2NTQxMDQwMCwtNzQ3MjY2NDAwLC03MzM5NjA4MDAsLTcxNTgxNjgwMCwtNzAyNTExMjAwLC02ODQzNjcyMDAsLTY3MTA2MTYwMCwtNjUyOTE3NjAwLC02Mzk2MTJlMywtNjIwODYzMjAwLC02MDgxNjI0MDAsLTU4OTQxMzYwMCwtNTc2MTA4ZTMsLTU1Nzk2NGUzLC01NDQ2NTg0MDAsLTUyNjUxNDQwMCwtNTEzMjA4ODAwLC00OTUwNjQ4MDAsLTQ4MTc1OTIwMCwtNDYzNjE1MjAwLC00NTAzMDk2MDAsLTQzMTU2MDgwMCwtNDE4MjU1MjAwLC00MDAxMTEyMDAsLTM4NjgwNTYwMCwtMzY4NjYxNjAwLC0zNTUzNTZlMywtMzM3MjEyZTMsLTMyMzkwNjQwMCwtMzA1NzYyNDAwLC0yOTI0NTY4MDAsLTI3MzcwOGUzLC0yNjEwMDcyMDAsLTI0MjI1ODQwMCwtMjI2NTMzNjAwLC0yMTA4MDg4MDAsLTE5NTA4NGUzLC0xNzkzNTkyMDAsLTE2MzYzNDQwMCwtMTQ3OTA5NjAwLC0xMzE1OGU0LC0xMTY0NmU0LC0xMDAxMzA0MDAsLTg0NDA1NjAwLC02ODY4MDgwMCwtNTI5NTZlMywtMzcyMzEyMDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTM2MzQ2NDAwLDE1MjA3MTIwMCwxNjc3OTZlMywxODM1MjA4MDAsMTk5MjQ1NjAwLDIxNTU3NTIwMCwyMzA2OTUyMDAsMjQ3MDI0ODAwLDI2Mjc0OTYwMCwyNzg0NzQ0MDAsMjk0MTk5MjAwLDMwOTkyNGUzLDMyNTY0ODgwMCwzNDEzNzM2MDAsMzU3MDk4NDAwLDM3MjgyMzIwMCwzODg1NDhlMyw0MDQ4Nzc2MDAsNDE5OTk3NjAwLDQzNjMyNzIwMCw0NTIwNTJlMyw0Njc3NzY4MDAsNDgzNTAxNjAwLDQ5OTIyNjQwMCw1MTQ5NTEyMDAsNTMwNjc2ZTMsNTQ0NTg2NDAwLDU2MjEyNTYwMCw1NzYwMzZlMyw1OTQxOGU0LDYwNzQ4NTYwMCw2MjU2Mjk2MDAsNjM4OTM1MjAwLDY1NzA3OTIwMCw2NzA5ODk2MDAsNjg4NTI4ODAwLDcwMjQzOTIwMCw3MTk5Nzg0MDAsNzMzODg4ODAwLDc1MjAzMjgwMCw3NjUzMzg0MDAsNzgzNDgyNDAwLDc5Njc4OGUzLDgxNDkzMmUzLDgyODg0MjQwMCw4NDYzODE2MDAsODYwMjkyZTMsODc3ODMxMjAwLDg5MTc0MTYwMCw5MDkyODA4MDAsOTIzMTkxMjAwLDk0MTMzNTIwMCw5NTQ2NDA4MDAsOTcyNzg0ODAwLDk4NjA5MDQwMCwxMDA0MjM0NDAwLDEwMTgxNDQ4MDAsMTAzNTY4NGUzLDEwNDk1OTQ0MDAsMTA2NzEzMzYwMCwxMDgxMDQ0ZTMsMTA5OTE4OGUzLDExMTI0OTM2MDAsMTEzMDYzNzYwMCwxMTQzOTQzMjAwLDExNjIwODcyMDAsMTE3MzU3ODQwMCwxMTk0MTQxNjAwLDEyMDUwMjhlMywxMjI1NTkxMjAwLDEyMzY0Nzc2MDAsMTI1NzA0MDgwMCwxMjY4NTMyZTMsMTI4OTA5NTIwMCwxMjk5OTgxNjAwLDEzMjA1NDQ4MDAsMTMzMTQzMTIwMCwxMzUxOTk0NDAwLDEzNjI4ODA4MDAsMTM4MzQ0NGUzLDEzOTQzMzA0MDAsMTQxNDg5MzYwMCwxNDI1NzhlNCwxNDQ2MzQzMjAwLDE0NTc4MzQ0MDAsMTQ3ODM5NzYwMCwxNDg5Mjg0ZTMsMTUwOTg0NzIwMCwxNTIwNzMzNjAwLDE1NDEyOTY4MDAsMTU1MjE4MzIwMCwxNTcyNzQ2NDAwLDE1ODM2MzI4MDAsMTYwNDE5NmUzLDE2MTU2ODcyMDAsMTYzNjI1MDQwMCwxNjQ3MTM2ODAwLDE2Njc3ZTUsMTY3ODU4NjQwMCwxNjk5MTQ5NjAwLDE3MTAwMzZlMywxNzMwNTk5MjAwLDE3NDE0ODU2MDAsMTc2MjA0ODgwMCwxNzcyOTM1MjAwLDE3OTM0OTg0MDAsMTgwNDk4OTYwMCwxODI1NTUyODAwLDE4MzY0MzkyMDAsMTg1NzAwMjQwMCwxODY3ODg4ODAwLDE4ODg0NTJlMywxODk5MzM4NDAwLDE5MTk5MDE2MDAsMTkzMDc4OGUzXSwKb2Zmc2V0OlstMjk1NDgsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMF19LCJBc2lhL0FsbWF0eSI6e3RpbWU6Wy0xNDQxMTUyZTMsLTEyNDc1Mjk2MDAsMzU0OTMxMjAwLDM3MDc0MjQwMCwzODY0NjcyMDAsNDAyMjc4NDAwLDQxODAwMzIwMCw0MzM4MTQ0MDAsNDQ5NjI1NjAwLDQ2NTM2MTIwMCw0ODEwODI0MDAsNDk2ODEwODAwLDUxMjUzMmUzLDUyODI2MDQwMCw1NDM5ODE2MDAsNTU5NzFlNCw1NzU0MzEyMDAsNTkxMTU5NjAwLDYwNjg4MDgwMCw2MjI2MDkyMDAsNjM4MzMwNDAwLDY1NDY2MzYwMCw2NzAzODQ4MDAsNjg2MTEzMjAwLDY5NTc4NjQwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxNzA5MjUxMjAwLDE5MjUwMWU0XSxvZmZzZXQ6WzE4NDY4LDE4ZTMsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjE2MDAsMThlMywyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwxOGUzXX0sIkFzaWEvQXNoa2hhYmFkIjp7dGltZTpbLTE0NDExNTJlMywtMTI0NzUyOTYwMCwzNTQ5MzEyMDAsMzcwNzQyNDAwLDM4NjQ2NzIwMCw0MDIyNzg0MDAsNDE4MDAzMjAwLDQzMzgxNDQwMCw0NDk2MjU2MDAsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNjk1Nzg2NDAwLDE5MjUwMWU0XSxvZmZzZXQ6WzE0MDEyLDE0NDAwLDE4ZTMsMjE2MDAsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlMywxOGUzLDE0NDAwLDE4ZTNdfSwiQXNpYS9CYWhyYWluIjp7dGltZTpbLTg5Nzg2ODgwMCwtODIwNTQwODAwLDc2MjA0ODAwLDE5MjUwMDI4MDBdLG9mZnNldDpbMTIxNDAsMTI2MDAsMTQ0MDAsMTA4MDBdfSwiQXNpYS9CYW5na29rIjp7dGltZTpbLTI4NDAxNDA4MDAsLTE1NzAwNjA4MDAsMTkyNTAxNzIwMF0sb2Zmc2V0OlsyNDEyNCwyNDEyNCwyNTIwMF19LCJBc2lhL0Nob25ncWluZyI6ewp0aW1lOlstMjE3NzQ1MjgwMCwtMTYwMDY0NjQwMCwtMTU4NTg3MmUzLC05MzM2Mzg0MDAsLTkyMjA2MDgwMCwtOTA4ODQxNjAwLC04ODg3OTY4MDAsLTg4MTAyMDgwMCwtNzY3ODM2ODAwLC03NDU4MDQ4MDAsLTczMzc5NTIwMCwtNzE2ODYwODAwLC02OTk1ODA4MDAsLTY4Mzg1NmUzLC02NzA2MzY4MDAsLTY1MjMyZTQsLTY0OTk4NzIwMCw1MTU1NTZlMyw1MjcwNDcyMDAsNTQ1MTkxMjAwLDU1ODQ5NjgwMCw1NzcyNDU2MDAsNTg5OTQ2NDAwLDYwODY5NTIwMCw2MjIwMDA4MDAsNjQwMTQ0ODAwLDY1MzQ1MDQwMCw2NzE1OTQ0MDAsNjg0OWU1LDE5MjUwMjA4MDBdLG9mZnNldDpbMjkxNDMsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXNpYS9Db2xvbWJvIjp7dGltZTpbLTI4NDAxNDA4MDAsLTIwMTk2ODY0MDAsLTg4MzI2NzIwMCwtODYyNjE3NjAwLC03NjQwMjhlMyw4MzI5ODI0MDAsODQ2Mjg5ODAwLDExNDUwNjFlMywxOTI1MDExODAwXSxvZmZzZXQ6WzE5MTY0LDE5MTcyLDE5ODAwLDIxNjAwLDIzNDAwLDE5ODAwLDIzNDAwLDIxNjAwLDE5ODAwXX0sIkFzaWEvRGhha2EiOnt0aW1lOlstMjUyNDUyMTYwMCwtODkxNTYxNjAwLC04NzIwMzUyMDAsLTg2MjYxNzYwMCwtNTc2MTE1MjAwLDEyNDU0NTI0MDAsMTI2MjMwMzk5OSwxOTI1MDEzNjAwXSxvZmZzZXQ6WzIxNzAwLDIxMjAwLDIzNDAwLDE5ODAwLDIzNDAwLDIxNjAwLDI1MjAwLDIxNjAwXX0sIkFzaWEvRHViYWkiOnt0aW1lOlstMTU3NzkyMzIwMCwxOTI1MDA2NDAwXSxvZmZzZXQ6WzEzMjcyLDE0NDAwXX0sIkFzaWEvSG9fQ2hpX01pbmgiOnt0aW1lOlstMjAwNDA0OGUzLC0xODUxNTUyZTMsLTg1MjA4MDQwMCwtNzgyNjE0ODAwLC03Njc4MzY4MDAsLTcxODA3MDQwMCwtNDU3NzQzNjAwLC0zMTU2MjI4MDAsMTcxODQ5NjAwLDE5MjUwMTcyMDBdLG9mZnNldDpbMjU1OTAsMjU1OTAsMjUyMDAsMjg4MDAsMzI0MDAsMjUyMDAsMjg4MDAsMjUyMDAsMjg4MDAsMjUyMDBdfSwiQXNpYS9Ib25nX0tvbmciOnt0aW1lOlstMjA1NjY2MzM5OCwtOTAwODgyZTMsLTg5MTU0NzIwMCwtODg0MjE3NjAwLC03NjExNzY4MDAsLTc0Nzg3ODQwMCwtNzI4NTA4NjAwLC03MTcwMjFlMywtNjk3MDU5ZTMsLTY4Mzc1N2UzLC02NjgwMjg2MDAsLTY1NDcyNjYwMCwtNjM2NTc5ZTMsLTYyMzI3N2UzLC02MDUxMjk0MDAsLTU5MTgyNzQwMCwtNTczNjc5ODAwLC01NTk3NzNlMywtNTQxNjI1NDAwLC01MjgzMjM0MDAsLTUxMDE3OTQwMCwtNDk4MDgzNDAwLC00Nzg3Mjk4MDAsLTQ2NjYzMzgwMCwtNDQ2Njc1NDAwLC00MzUxODQyMDAsLTQxNTIyNTgwMCwtNDAzMTI5ODAwLC0zODM3NzYyMDAsLTM3MTY4MDIwMCwtMzUyMzI2NjAwLC0zNDAyMzA2MDAsLTMyMDg3N2UzLC0zMDg3ODFlMywtMjg4ODIyNjAwLC0yNzczMzE0MDAsLTI1NzM3M2UzLC0yNDU4ODE4MDAsLTIyNTkyMzQwMCwtMjEzODI3NDAwLC0xOTQ0NzM4MDAsLTE4MjM3NzgwMCwtMTYzMDI0MjAwLC0xNDg1MDllMywtMTMyNzg0MjAwLC0xMTcwNTk0MDAsLTEwMTMzNDYwMCwtODU2MDk4MDAsLTY5MjgwMjAwLC01MzU1NTQwMCwtMzc4MzA2MDAsLTIyMTA1ODAwLC02MzgxZTMsOTM0MzgwMCwyNTA2ODYwMCw0MDc5MzQwMCw1NjUxODIwMCw3MjI0M2UzLDg4NTcyNjAwLDEwNDI5NzQwMCwxMjAwMjIyMDAsMTI2MDcwMjAwLDE1MTQ3MTgwMCwxNjcxOTY2MDAsMTgyOTIxNDAwLDE5ODY0NjIwMCwyMTQzNzFlMywyOTU0MTQyMDAsMzA5MzI0NjAwLDE5MjUwMjA4MDBdLG9mZnNldDpbMjc0MDIsMjg4MDAsMzI0MDAsMzA2MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXNpYS9KYWthcnRhIjp7dGltZTpbLTMyMzEyNzM2MDAsLTE0NTE2OTM1NjgsLTExNzI4OGU0LC04NzY2MTQ0MDAsLTc2NjAyMjQwMCwtNjgzODU2ZTMsLTYyMDc4NGUzLC0xODkzODg4MDAsMTkyNTAxNzIwMF0sb2Zmc2V0OlsyNTYzMiwyNTYzMiwyNjQwMCwyN2UzLDMyNDAwLDI3ZTMsMjg4MDAsMjdlMywyNTIwMF19LCJBc2lhL0plcnVzYWxlbSI6ewp0aW1lOlstMjg0MDE0MDgwMCwtMTY0MDk5NTIwMCwtOTMzNjMxMjAwLC05MjMwODY4MDAsLTkxOTAyOTYwMCwtODU3MzM2NDAwLC04NDQyOTM2MDAsLTgyNTgwMDQwMCwtODEyNjcxMjAwLC03OTQxNzhlMywtNzc5ODM5MjAwLC03NjI2NDJlMywtNzQ4MzAzMjAwLC03MzExMDZlMywtNjgxOTQ4ZTMsLTY3MzIxNDQwMCwtNjY3OTQ3NjAwLC02NTIzMTI4MDAsLTYzNjQxMTYwMCwtNjIyMDcyODAwLC02MDg5MzY0MDAsLTU5MTgzMjgwMCwtNTcyNDc1NjAwLC01NTg1Njg4MDAsLTU0Mjg0MDQwMCwtNTI3NzI0ZTMsLTUxNDQxNDgwMCwtNDkwODMxMjAwLC00ODI5NjUyMDAsLTQ1OTM4MTYwMCwtNDUxNTE1NjAwLC00Mjg1MzY4MDAsLTQxODI1MTYwMCwtNDAwMTExMjAwLC0zODc0MDY4MDAsMTQyMzg3MjAwLDE1MDg1NDQwMCwxNjcxODRlMywxNzg2NzUyMDAsMzM0MTA4ODAwLDMzNzc0MTIwMCw0NTI2NDk2MDAsNDYyMzNlNCw0ODIyODQ4MDAsNDk0MzgwODAwLDUxNjc1ODQwMCw1MjY0MzUyMDAsNTQ1NDQzMjAwLDU1ODQ4OTYwMCw1NzY2MzM2MDAsNTg5MzM0NDAwLDYwOTg5NzYwMCw2MjA3ODRlMyw2MzgzMjMyMDAsNjUxNjI4ODAwLDY2OTc3MjgwMCw2ODM2ODMyMDAsNzAxODI3MjAwLDcxNTczNzYwMCw3MzM3MDg4MDAsNzQ3MTg3MjAwLDc2NTE1ODQwMCw3NzgwMzJlMyw3OTY2MDhlMyw4MTAwODY0MDAsODI2ODQ4ZTMsODQyODMyZTMsODU4OTAyNDAwLDg3NDE5NTIwMCw4OTAzNTJlMyw5MDUwNGU0LDkyMzAxODQwMCw5MzYzMjRlMyw5NTU2Nzc2MDAsOTcwNzk0ZTMsOTg2Nzc4ZTMsMTAwMTI5MzIwMCwxMDE3MzYzNjAwLDEwMzM5NTI0MDAsMTA0ODgxMzIwMCwxMDY1MTQyODAwLDEwODEyOTk2MDAsMTA5NTgxNDgwMCwxMTEyMzIwODAwLDExMjg4MjMyMDAsMTE0Mzc3MDQwMCwxMTU5NjY4ZTMsMTE3NTIyZTQsMTE4OTkwOGUzLDEyMDY2Njk2MDAsMTIyMzE3MmUzLDEyMzgxMTkyMDAsMTI1NDAxNjgwMCwxMjY5NTY4ODAwLDEyODQyNTY4MDAsMTMwMTYyMzIwMCwxMzE3NTIwODAwLDEzMzMwNzI4MDAsMTM0ODM2NTYwMCwxMzY0NTIyNDAwLDEzODI4MzkyMDAsMTM5NTk3MmUzLDE0MTQyODg4MDAsMTQyNzQyMTYwMCwxNDQ1NzM4NDAwLDE0NTg4NzEyMDAsMTQ3Nzc5MjgwMCwxNDkwMzIwODAwLDE1MDkyNDI0MDAsMTUyMTc3MDQwMCwxNTQwNjkyZTMsMTU1MzgyNDgwMCwxNTcyMTQxNjAwLDE1ODUyNzQ0MDAsMTYwMzU5MTIwMCwxNjE2NzI0ZTMsMTYzNTY0NTYwMCwxNjQ4MTczNjAwLDE2NjcwOTUyMDAsMTY3OTYyMzIwMCwxNjk4NTQ0ODAwLDE3MTE2Nzc2MDAsMTcyOTk5NDQwMCwxNzQzMTI3MjAwLDE3NjE0NDRlMywxNzc0NTc2ODAwLDE3OTI4OTM2MDAsMTgwNjAyNjQwMCwxODI0OTQ4ZTMsMTgzNzQ3NmUzLDE4NTYzOTc2MDAsMTg2ODkyNTYwMCwxODg3ODQ3MjAwLDE5MDA5OGU0LDE5MTkyOTY4MDAsMTkzMjQyOTYwMF0sb2Zmc2V0Ols4NDU0LDg0NDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxNDQwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJBc2lhL0thYnVsIjp7dGltZTpbLTI1MjQ1MjE2MDAsLTc4ODkxODQwMCwxOTI1MDA4MjAwXSxvZmZzZXQ6WzE2NjA4LDE0NDAwLDE2MjAwXX0sIkFzaWEvS2FyYWNoaSI6e3RpbWU6Wy0xOTg4MTUwNDAwLC04NjI2MTc2MDAsLTc2NDEyMTYwMCwtNTc2MTE1MjAwLDM4NzkzNjAwLDEwMTgxMzc2MDAsMTAzMzg2MjQwMCwxMjEyMjc4NDAwLDEyMjU0OTc2MDAsMTIzOTc1MzYwMCwxMjU3MDMzNjAwLDE5MjUwMWU0XSxvZmZzZXQ6WzE2MDkyLDE5ODAwLDIzNDAwLDE5ODAwLDE4ZTMsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlM119LCJBc2lhL0thdGhtYW5kdSI6e3RpbWU6Wy0xNTc3OTIzMjAwLDUwNDkyMTYwMCwxOTI1MDEyNzAwXSxvZmZzZXQ6WzIwNDc2LDE5ODAwLDIwNzAwXX0sIkFzaWEvS29sa2F0YSI6e3RpbWU6Wy0zNjQ1MjE2ZTMsLTMxNTU2NzM2MDAsLTIwMTk2ODY0MDAsLTg5MTU2MTYwMCwtODcyMDM1MjAwLC04NjI2MTc2MDAsLTc2NDEyMTYwMCwxOTI1MDExODAwXSxvZmZzZXQ6WzIxMjA4LDIxMjAwLDE5MjcwLDE5ODAwLDIzNDAwLDE5ODAwLDIzNDAwLDE5ODAwXX0sIkFzaWEvS3VhbGFfTHVtcHVyIjp7dGltZTpbLTIxNzc0NTI4MDAsLTIwMzgxNzZlMywtMTE2NzYwOTYwMCwtMTA3MzAwMTYwMCwtODk0MTUzNjAwLC04Nzk2Mzg0MDAsLTc2Njk3MjgwMCwzNzg2ODk0MDAsMTkyNTAyMDgwMF0sb2Zmc2V0OlsyNDQwNiwyNDkyNSwyNTIwMCwyNjQwMCwyNjQwMCwyN2UzLDMyNDAwLDI3ZTMsMjg4MDBdfSwiQXNpYS9LdXdhaXQiOnt0aW1lOlstNjMxMTUyZTMsMTkyNTAwMjgwMF0sb2Zmc2V0OlsxMTUxNiwxMDgwMF19LCJBc2lhL01hbmlsYSI6ewp0aW1lOlstMzk0NDY3ODQwMCwtMjIxOTA1NDE2OCwtMTA0NjY0OTYwMCwtMTA0MDA4MzIwMCwtODg0OTk1MjAwLC04Nzk5ODRlMywtNzgzNTYxNjAwLC03NjAwNjA4MDAsLTQ5NjE5NTIwMCwtNDkxNTI5NjAwLDIyODM1NTIwMCwyNDM3MzQ0MDAsNjQzMjQ4ZTMsNjQ5MjA5NjAwLDE5MjUwMjA4MDBdLG9mZnNldDpbLTU3MzY4LDI5MDMyLDI4ODAwLDMyNDAwLDI4ODAwLDMyNDAwLDMyNDAwLDMyNDAwLDI4ODAwLDMyNDAwLDI4ODAwLDMyNDAwLDI4ODAwLDMyNDAwLDI4ODAwXX0sIkFzaWEvTXVzY2F0Ijp7dGltZTpbLTE1Nzc5MjMyMDAsMTkyNTAwNjQwMF0sb2Zmc2V0OlsxNDA2NCwxNDQwMF19LCJBc2lhL05pY29zaWEiOnt0aW1lOlstMTUxODkxMmUzLDE2NjU3OTIwMCwxODIzMDRlMywyMDA5NjY0MDAsMjEzODRlNCwyMjg4NzM2MDAsMjQzOTkzNjAwLDI2MDMyMzIwMCwyNzYxMzQ0MDAsMjkxNzcyODAwLDMwNzQ5NzYwMCwzMjM4MjcyMDAsMzM4OTQ3MjAwLDM1NDY3MmUzLDM3MDM5NjgwMCwzODYxMjE2MDAsNDAxODQ2NDAwLDQxNzU3MTIwMCw0MzMyOTZlMyw0NDkwMjA4MDAsNDY1MzUwNDAwLDQ4MTA3NTIwMCw0OTY4ZTUsNTEyNTI0ODAwLDUyODI0OTYwMCw1NDM5NzQ0MDAsNTU5Njk5MjAwLDU3NTQyNGUzLDU5MTE0ODgwMCw2MDY4NzM2MDAsNjIyNTk4NDAwLDYzODMyMzIwMCw2NTQ2NTI4MDAsNjcwMzc3NjAwLDY4NjEwMjQwMCw3MDE4MjcyMDAsNzE3NTUyZTMsNzMzMjc2ODAwLDc0OTAwMTYwMCw3NjQ3MjY0MDAsNzgwNDUxMjAwLDc5NjE3NmUzLDgxMTkwMDgwMCw4MjgyMzA0MDAsODQzOTU1MjAwLDg1OTY4ZTQsODc1NDA0ODAwLDg5MTEyOTYwMCw5MDkyODhlMyw5MjI1OWU0LDk0MTM0MjQwMCw5NTQwMzk2MDAsOTcyNzkyZTMsOTg1NDg5MjAwLDEwMDQyNDE2MDAsMTAxNzU0MzYwMCwxMDM1NjkxMjAwLDEwNDg5OTMyMDAsMTA2NzE0MDgwMCwxMDgwNDQyODAwLDEwOTkxOTUyMDAsMTExMTg5MjQwMCwxMTMwNjQ0ODAwLDExNDMzNDJlMywxMTYyMDk0NDAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTE5NDgwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjE0ODQwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDU3NDU2MDAsMTQ1OTA0NzYwMCwxNDc3OGU1LDE0OTA0OTcyMDAsMTUwOTI0OTYwMCwxNTIxOTQ2ODAwLDE1NDA2OTkyMDAsMTU1NDAwMTIwMCwxNTcyMTQ4ODAwLDE1ODU0NTA4MDAsMTYwMzU5ODQwMCwxNjE2OTAwNDAwLDE2MzU2NTI4MDAsMTY0ODM1ZTQsMTY2NzEwMjQwMCwxNjc5Nzk5NjAwLDE2OTg1NTJlMywxNzExODU0ZTMsMTczMDAwMTYwMCwxNzQzMzAzNjAwLDE3NjE0NTEyMDAsMTc3NDc1MzIwMCwxNzkyOTAwODAwLDE4MDYyMDI4MDAsMTgyNDk1NTIwMCwxODM3NjUyNDAwLDE4NTY0MDQ4MDAsMTg2OTEwMmUzLDE4ODc4NTQ0MDAsMTkwMTE1NjQwMCwxOTE5MzA0ZTMsMTkzMjYwNmUzXSxvZmZzZXQ6WzgwMDgsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiQXNpYS9RYXRhciI6e3RpbWU6Wy0xNTc3OTIzMjAwLDc2MjA0ODAwLDE5MjUwMDI4MDBdLG9mZnNldDpbMTIzNjgsMTQ0MDAsMTA4MDBdfSwiQXNpYS9SaXlhZGgiOnt0aW1lOlstNzE5NjI1NjAwLDE5MjUwMDI4MDBdLG9mZnNldDpbMTEyMTIsMTA4MDBdfSwiQXNpYS9TZW91bCI6e3RpbWU6Wy0xOTQ4NzUyZTMsLTE4MzAzODRlMywtNzY3MzE4NDAwLC02ODExNzc2MDAsLTY3MjE5MmUzLC02NTQ3MzkyMDAsLTY0MDgyODgwMCwtNjIzMzc2ZTMsLTYwOTM3OTIwMCwtNTg4ODE2ZTMsLTU3NzkyOTYwMCwtNDk4MDk2ZTMsLTQ2MjY3MmUzLC00NTE2OTkyMDAsLTQyOTc1MzYwMCwtNDE4MjYyNDAwLC0zOTk1MTM2MDAsLTM4NzQxNzYwMCwtMzY4MDY0ZTMsLTM1NTk2OGUzLC0zMzY2MTQ0MDAsLTMyNDUxODQwMCwtMzA1MTY0ODAwLC0yOTMwNjg4MDAsLTI2NDkwMjQwMCw1NDc2MTA0MDAsNTYwOTE5NjAwLDU3OTA2ZTQsNTkyMzY5MjAwLDE5MjUwMjQ0MDBdLG9mZnNldDpbMzA0NzIsMzA2MDAsMzI0MDAsMzI0MDAsMzZlMywzMjQwMCwzNmUzLDMyNDAwLDM2ZTMsMzI0MDAsMzZlMywzMjQwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzMjQwMCwzNmUzLDMyNDAwLDM2ZTMsMzI0MDBdfSwiQXNpYS9TaGFuZ2hhaSI6ewp0aW1lOlstMjE3NzQ1MjgwMCwtMTYwMDY0NjQwMCwtMTU4NTg3MmUzLC05MzM2Mzg0MDAsLTkyMjA2MDgwMCwtOTA4ODQxNjAwLC04ODg3OTY4MDAsLTg4MTAyMDgwMCwtNzY3ODM2ODAwLC03NDU4MDQ4MDAsLTczMzc5NTIwMCwtNzE2ODYwODAwLC02OTk1ODA4MDAsLTY4Mzg1NmUzLC02NzA2MzY4MDAsLTY1MjMyZTQsLTY0OTk4NzIwMCw1MTU1NTZlMyw1MjcwNDcyMDAsNTQ1MTkxMjAwLDU1ODQ5NjgwMCw1NzcyNDU2MDAsNTg5OTQ2NDAwLDYwODY5NTIwMCw2MjIwMDA4MDAsNjQwMTQ0ODAwLDY1MzQ1MDQwMCw2NzE1OTQ0MDAsNjg0OWU1LDE5MjUwMjA4MDBdLG9mZnNldDpbMjkxNDMsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXNpYS9TaW5nYXBvcmUiOnt0aW1lOlstMjE3NzQ1MjgwMCwtMjAzODE3NmUzLC0xMTY3NjA5NjAwLC0xMDczMDAxNjAwLC04OTQxNTM2MDAsLTg3OTYzODQwMCwtNzY2OTcyODAwLDM3ODY4OTQwMCwxOTI1MDIwODAwXSxvZmZzZXQ6WzI0OTI1LDI0OTI1LDI1MjAwLDI2NDAwLDI2NDAwLDI3ZTMsMzI0MDAsMjdlMywyODgwMF19LCJBc2lhL1RhaXBlaSI6e3RpbWU6Wy0yMzM1MjE5MjAwLC0xMDE3NzkyZTMsLTc2NjE5MTYwMCwtNzQ1ODA0ODAwLC03MzM3OTUyMDAsLTcxNjg2MDgwMCwtNjk5NTgwODAwLC02ODM4NTZlMywtNjcwNjM2ODAwLC02NTIzMmU0LC02MzkxMDA4MDAsLTYyMDc4NGUzLC02MDc1NjQ4MDAsLTU4OTI0OGUzLC01NzYwMjg4MDAsLTU2Mjg5NmUzLC01NDE3MjhlMywtNTI4NjgxNjAwLC01MTAxOTJlMywtNDk3MTQ1NjAwLC00Nzg2NTZlMywtNDY1NjA5NjAwLC00NDk3OTg0MDAsLTQzMzk4NzIwMCwtNDE4MTc2ZTMsLTQwMjQ1MTIwMCwtMzg2NjRlNCwtMzcwOTE1MjAwLC0zNTUxMDRlMywtMzM5Mzc5MjAwLC0zMjM1NjhlMywtMzAyNDg2NDAwLC0yOTE5NDU2MDAsLTI3MDk1MDQwMCwtMjYwNDA5NjAwLDEzNDAwNjQwMCwxNDk4MTc2MDAsMTY1NTQyNDAwLDE4MTM1MzYwMCwyOTk2MzUyMDAsMzA3NTg0ZTMsMTkyNTAyMDgwMF0sb2Zmc2V0OlsyOTE2MCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMF19LCJBc2lhL1RlaHJhbiI6e3RpbWU6Wy0xNzA0MTUzNjAwLC0xMDkwNDU0NDAwLDIyNzgzMzIwMCwyNDYyNGU0LDI1OTYzMmUzLDI3MTEyNjgwMCwyNzk1OTA0MDAsMjk2NjExMjAwLDMwNjU0NzIwMCwzMjI0NDQ4MDAsMzM4NTE1MjAwLDY3MzIyODgwMCw2ODU0OTc2MDAsNzAxMjIyNDAwLDcxNzEyZTQsNzMyNzU4NDAwLDc0ODY1NmUzLDc2NDI5NDQwMCw3ODAxOTJlMyw3OTU4MzA0MDAsODExNzI4ZTMsODI3MzY2NDAwLDg0MzI2NGUzLDg1ODk4ODgwMCw4NzQ4ODY0MDAsODkwNTI0ODAwLDkwNjQyMjQwMCw5MjIwNjA4MDAsOTM3OTU4NDAwLDk1MzU5NjgwMCw5Njk0OTQ0MDAsOTg1MjE5MjAwLDEwMDExMTY4MDAsMTAxNjc1NTIwMCwxMDMyNjUyODAwLDEwNDgyOTEyMDAsMTA2NDE4ODgwMCwxMDc5ODI3MjAwLDEwOTU3MjQ4MDAsMTExMTQ0OTYwMCwxMTI3MzQ3MjAwLDEyMDYwNTc2MDAsMTIyMTk1NTIwMCwxMjM3NjhlNCwxMjUzNTc3NjAwLDEyNjkyMTZlMywxMjg1MTEzNjAwLDEzMDA3NTJlMywxMzE2NjQ5NjAwLDEzMzIyODhlMywxMzQ4MTg1NjAwLDEzNjM5MTA0MDAsMTM3OTgwOGUzLDEzOTU0NDY0MDAsMTQxMTM0NGUzLDE0MjY5ODI0MDAsMTQ0Mjg4ZTQsMTQ1ODUxODQwMCwxNDc0NDE2ZTMsMTQ5MDE0MDgwMCwxNTA2MDM4NDAwLDE1MjE2NzY4MDAsMTUzNzU3NDQwMCwxNTUzMjEyODAwLDE1NjkxMTA0MDAsMTU4NDc0ODgwMCwxNjAwNjQ2NDAwLDE2MTYzNzEyMDAsMTYzMjI2ODgwMCwxNjQ3OTA3MjAwLDE2NjM4MDQ4MDAsMTkyNTAwNDYwMF0sb2Zmc2V0OlsxMjM0NCwxMjM0NCwxMjYwMCwxNjIwMCwxNDQwMCwxOGUzLDE0NDAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwXX0sIkFzaWEvVG9reW8iOnt0aW1lOlstMjU4NzY3ODg2MSwtNjgzNzY5NjAwLC02NzIyNzQ4MDAsLTY1NDczOTIwMCwtNjQwODI1MjAwLC02MjAyNjU2MDAsLTYwOTM3NTYwMCwtNTg4ODE2ZTMsLTU3NzkyNmUzLDE5MjUwMjQ0MDBdLG9mZnNldDpbMzM1MzksMzI0MDAsMzZlMywzMjQwMCwzNmUzLDMyNDAwLDM2ZTMsMzI0MDAsMzZlMywzMjQwMF19LCJBc2lhL1lhbmdvbiI6e3RpbWU6Wy0yODQwMTQwODAwLC0xNTc3OTIzMjAwLC04NzMyNDQ4MDAsLTc3ODM3NzYwMCwxOTI1MDE1NDAwXSxvZmZzZXQ6WzIzMDg3LDIzMDg3LDIzNDAwLDMyNDAwLDIzNDAwXX0sIkF0bGFudGljL0F6b3JlcyI6ewp0aW1lOlstMjcxMzkxMDQwMCwtMTgzMDM4MzY3MiwtMTY4OTU1NTYwMCwtMTY3Nzc5OGUzLC0xNjY3NDMzNjAwLC0xNjQ3NzM0NDAwLC0xNjM1ODk3NjAwLC0xNjE2MTk4NDAwLC0xNjA0MzYxNjAwLC0xNTg0NjYyNDAwLC0xNTcyNzM5MjAwLC0xNTUzMDRlNCwtMTU0MTIwMzIwMCwtMTUyMTUwNGUzLC0xNDQyNDUxNjAwLC0xNDI3NjczNjAwLC0xMzc5MjkzMjAwLC0xMzY0Nzc0NDAwLC0xMzQ4NDQ4NDAwLC0xMzMzMzI0ODAwLC0xMzE2Mzk0ZTMsLTEzMDEyNzA0MDAsLTEyODQzMzk2MDAsLTEyNjk4MjA4MDAsLTEyMjE0NDA0MDAsLTEyMDY5MjE2MDAsLTExOTEyMDA0MDAsLTExNzU0NzJlMywtMTEyNzY5NjQwMCwtMTExMTk2OGUzLC0xMDk2ODUxNjAwLC0xMDgwNTE4NDAwLC0xMDYzNTg3NjAwLC0xMDQ5MDY4ODAwLC0xMDMzMzQ3NjAwLC0xMDE3NjE5MjAwLC0xMDAyNTAyODAwLC05ODYxNjk2MDAsLTk2OTIzODgwMCwtOTUwNDg2NDAwLC05NDIwMjI4MDAsLTkyMjQ5MjgwMCwtOTA2OTQ0NDAwLC04OTExMjk2MDAsLTg3NzMwOTIwMCwtODczNjgwNDAwLC04NjRlNiwtODU3OTUyZTMsLTg0NTg1OTYwMCwtODQyODM1NjAwLC04MzEzNDA4MDAsLTgyNTg5NzYwMCwtODE0NDFlNCwtODEwNzgxMjAwLC03OTk4OTEyMDAsLTc5NDQ0OGUzLC03ODI5NjA0MDAsLTc3OTMzMTYwMCwtNzY4NDQxNjAwLC03NjI5OTg0MDAsLTc0OTA5MTYwMCwtNzMzMzYzMjAwLC03MTc2MzEyMDAsLTcwMTkwMjgwMCwtNjg2MTgxNjAwLC02NzA0NTMyMDAsLTY1NDczMmUzLC02MzkwMDM2MDAsLTYyMzI4MjQwMCwtNjA3NTU0ZTMsLTU5MTgzMjgwMCwtNTc1NDk5NjAwLC01NTk3Nzg0MDAsLTU0NDA1ZTQsLTUyODMyODgwMCwtNTEyNjAwNDAwLC00OTY4NzkyMDAsLTQ4MTE1MDgwMCwtNDY1NDI5NjAwLC00NDk3MDEyMDAsLTQzMzk4ZTQsLTQxNzY0NjgwMCwtNDAxOTI1NjAwLC0zODYxOTcyMDAsLTM3MDQ3NmUzLC0zNTQ3NDc2MDAsLTMzOTAyNjQwMCwtMzIzMjk4ZTMsLTMwNzU3NjgwMCwtMjkxODQ4NDAwLC0yNzYxMjcyMDAsLTI2MDM5ODgwMCwtMjQ0Njc3NjAwLC0yMjgzNDQ0MDAsLTIxMjYyMzIwMCwtMTk2ODk0ODAwLC0xODExNzM2MDAsLTE2NTQ0NTIwMCwtMTQ5NzI0ZTMsLTEzMzk5NTYwMCwtMTE4Mjc0NDAwLC0xMDI1NDZlMywzODYxMjE2MDAsNDAxODVlNCw0MTc1NzEyMDAsNDMzMjk5NjAwLDQ0OTAyMDgwMCw0NjUzNTRlMyw0ODEwNzUyMDAsNDk2ODAzNjAwLDUxMjUyNDgwMCw1MjgyNTMyMDAsNTQzOTc0NDAwLDU1OTcwMjgwMCw1NzU0MjRlMyw1OTExNTI0MDAsNjA2ODczNjAwLDYyMjYwMmUzLDYzODMyMzIwMCw2NTQ2NTY0MDAsNjcwMzc3NjAwLDY4NjEwNmUzLDcwMTgyNzIwMCw3MTc1NTU2MDAsNzI1NDE4ZTMsNzMzMjgwNDAwLDc0MDI4MjQwMCw3NDkwMDUyMDAsNzY0NzI2NDAwLDc4MDQ1NDgwMCw3OTYxNzZlMyw4MTE5MDQ0MDAsODI4MjMwNDAwLDg0NjM3OGUzLDg1OTY4ZTQsODc3ODI3NjAwLDg5MTEyOTYwMCw5MDkyNzcyMDAsOTIyNTc5MjAwLDk0MTMzMTYwMCw5NTQwMjg4MDAsOTcyNzgxMjAwLDk4NTQ3ODQwMCwxMDA0MjMwODAwLDEwMTc1MzI4MDAsMTAzNTY4MDQwMCwxMDQ4OTgyNDAwLDEwNjcxM2U0LDEwODA0MzJlMywxMDk5MTg0NDAwLDExMTE4ODE2MDAsMTEzMDYzNGUzLDExNDMzMzEyMDAsMTE2MjA4MzYwMCwxMTc0NzgwODAwLDExOTM1MzMyMDAsMTIwNjgzNTIwMCwxMjI0OTgyODAwLDEyMzgyODQ4MDAsMTI1NjQzMjQwMCwxMjY5NzM0NDAwLDEyODg0ODY4MDAsMTMwMTE4NGUzLDEzMTk5MzY0MDAsMTMzMjYzMzYwMCwxMzUxMzg2ZTMsMTM2NDY4OGUzLDEzODI4MzU2MDAsMTM5NjEzNzYwMCwxNDE0Mjg1MjAwLDE0Mjc1ODcyMDAsMTQ0NTczNDgwMCwxNDU5MDM2ODAwLDE0Nzc3ODkyMDAsMTQ5MDQ4NjQwMCwxNTA5MjM4ODAwLDE1MjE5MzZlMywxNTQwNjg4NDAwLDE1NTM5OTA0MDAsMTU3MjEzOGUzLDE1ODU0NGU0LDE2MDM1ODc2MDAsMTYxNjg4OTYwMCwxNjM1NjQyZTMsMTY0ODMzOTIwMCwxNjY3MDkxNjAwLDE2Nzk3ODg4MDAsMTY5ODU0MTIwMCwxNzExODQzMjAwLDE3Mjk5OTA4MDAsMTc0MzI5MjgwMCwxNzYxNDQwNDAwLDE3NzQ3NDI0MDAsMTc5Mjg5ZTQsMTgwNjE5MmUzLDE4MjQ5NDQ0MDAsMTgzNzY0MTYwMCwxODU2Mzk0ZTMsMTg2OTA5MTIwMCwxODg3ODQzNjAwLDE5MDExNDU2MDAsMTkxOTI5MzIwMCwxOTMyNTk1MjAwXSwKb2Zmc2V0OlstNjE2MCwtNjg3MiwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwwLC0zNjAwLC03MjAwLC0zNjAwLDAsLTM2MDAsLTcyMDAsLTM2MDAsMCwtMzYwMCwtNzIwMCwtMzYwMCwwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLDM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwXX0sIkF0bGFudGljL1JleWtqYXZpayI6e3RpbWU6Wy0xOTU2NjE0NDAwLC0xNjY4MjE0ODAwLC0xNjQ3MjEyNDAwLC0xNjM2Njc4ODAwLC0xNjEzNDNlNCwtMTYwNTE0MjgwMCwtMTU4MTg5NGUzLC0xNTM5NTY1MjAwLC0xNTMxMzVlNCwtOTY4MDI5MjAwLC05NTIyOTM2MDAsLTk0MjAxMmUzLC05MjAyMzkyMDAsLTkwOTk2MTIwMCwtODg4Nzg5NjAwLC04Nzc5MDY4MDAsLTg1Nzk0NDgwMCwtODQ2NDU3MjAwLC04MjY0OTUyMDAsLTgxNTAwNzYwMCwtNzk1MDQ1NjAwLC03ODM1NThlMywtNzYyOTkxMjAwLC03NTIxMDg0MDAsLTczMTU0MTYwMCwtNzE3NjM0ODAwLC03MDAwOTJlMywtNjg2MTg1MjAwLC02Njg2NDI0MDAsLTY1NDczNTYwMCwtNjM2NTg4ZTMsLTYyMzI4NmUzLC02MDU3NDMyMDAsLTU5MTgzNjQwMCwtNTczNjg4ODAwLC01NTk3ODJlMywtNTQyMjM5MjAwLC01MjgzMzI0MDAsLTUxMDc4OTYwMCwtNDk2ODgyODAwLC00NzkzNGU0LC00NjU0MzMyMDAsLTQ0Nzg5MDQwMCwtNDMzOTgzNjAwLC00MTU4MzZlMywtNDAxOTI5MjAwLC0zODQzODY0MDAsLTM3MDQ3OTYwMCwtMzUyOTM2ODAwLC0zMzkwM2U0LC0zMjE0ODcyMDAsLTMwNzU4MDQwMCwtMjkwMDM3NjAwLC0yNzYxMzA4MDAsLTI1ODU4OGUzLC0yNDQ2ODEyMDAsLTIyNjUzMzYwMCwtMjEyNjI2ODAwLC0xOTUwODRlMywtMTgxMTc3MjAwLC0xNjM2MzQ0MDAsLTE0OTcyNzYwMCwtMTMyMTg0ODAwLC0xMTgyNzhlMywtMTAwNzM1MjAwLC04NjgyODQwMCwtNjg2ODA4MDAsLTU0Nzc0ZTMsMTkyNDk5MmUzXSxvZmZzZXQ6Wy01MjgwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDBdfSwiQXVzdHJhbGlhL0FDVCI6ewp0aW1lOlstMjM2NDA3NjgwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwtODI4MzA5NjAwLC04MTMxODZlMyw1NzcyMjQwMCw2ODAwNzYwMCw4OTE3MmUzLDEwMDA2MmUzLDEyMDYyMTYwMCwxMzE1MTE2MDAsMTUyMDcxMjAwLDE2Mjk2MTIwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NjczNzIwMCw0MDQ4Nzc2MDAsNDE1NzY3NjAwLDQzNjMyNzIwMCw0NDcyMTcyMDAsNDY3Nzc2ODAwLDQ3ODY2NjgwMCw0OTkyMjY0MDAsNTExMzI2ZTMsNTMwMDcxMjAwLDU0Mjc3NTYwMCw1NjIxMjU2MDAsNTc0ODNlNCw1OTQxOGU0LDYwNjI3OTYwMCw2MjU2Mjk2MDAsNjM2NTE5NjAwLDY1NzA3OTIwMCw2Njc5NjkyMDAsNjg4NTI4ODAwLDY5OTQxODgwMCw3MTk5Nzg0MDAsNzMxNDczMjAwLDc1MjAzMjgwMCw3NjI5MjI4MDAsNzgzNDgyNDAwLDc5NDM3MjQwMCw4MTQ5MzJlMyw4MjgyNDEyMDAsODQ2MzgxNjAwLDg1OTY5MDgwMCw4Nzc4MzEyMDAsODkxMTQwNDAwLDkwOTI4MDgwMCw5MjI1OWU0LDk0MTMzNTIwMCw5NTQwMzk2MDAsOTY3MzQxNjAwLDk4NTQ4OTIwMCwxMDA0MjM0NDAwLDEwMTc1NDM2MDAsMTAzNTY4NGUzLDEwNDg5OTMyMDAsMTA2NzEzMzYwMCwxMDgwNDQyODAwLDEwOTkxODhlMywxMTExODkyNDAwLDExMzA2Mzc2MDAsMTE0Mzk0NjgwMCwxMTYyMDg3MjAwLDExNzQ3OTE2MDAsMTE5MzUzNjgwMCwxMjA3NDUwODAwLDEyMjMxNzJlMywxMjM4OTAwNDAwLDEyNTQ2MjE2MDAsMTI3MDM1ZTQsMTI4NjA3MTIwMCwxMzAxNzk5NjAwLDEzMTc1MjA4MDAsMTMzMzI0OTIwMCwxMzQ5NTc1MjAwLDEzNjUzMDM2MDAsMTM4MTAyNDgwMCwxMzk2NzUzMjAwLDE0MTI0NzQ0MDAsMTQyODIwMjgwMCwxNDQzOTI0ZTMsMTQ1OTY1MjQwMCwxNDc1MzczNjAwLDE0OTExMDJlMywxNTA2ODIzMjAwLDE1MjI1NTE2MDAsMTUzODg3NzYwMCwxNTU0NjA2ZTMsMTU3MDMyNzIwMCwxNTg2MDU1NjAwLDE2MDE3NzY4MDAsMTYxNzUwNTIwMCwxNjMzMjI2NDAwLDE2NDg5NTQ4MDAsMTY2NDY3NmUzLDE2ODA0MDQ0MDAsMTY5NjEyNTYwMCwxNzEyNDU4ODAwLDE3MjgxOGU0LDE3NDM5MDg0MDAsMTc1OTYyOTYwMCwxNzc1MzU4ZTMsMTc5MTA3OTIwMCwxODA2ODA3NjAwLDE4MjI1Mjg4MDAsMTgzODI1NzIwMCwxODUzOTc4NDAwLDE4Njk3MDY4MDAsMTg4NjAzMjgwMCwxOTAxNzYxMjAwLDE5MTc0ODI0MDAsMTkzMzIxMDgwMF0sb2Zmc2V0OlszNjI5MiwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwXX0sIkF1c3RyYWxpYS9BZGVsYWlkZSI6ewp0aW1lOlstMjM2NDA3NjgwMCwtMjIzMDE1NjgwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwtODI4MzA5NjAwLC04MTMxODZlMyw1NzcyMjQwMCw2ODAwNzYwMCw4OTE3MmUzLDEwMDA2MmUzLDEyMDYyMTYwMCwxMzE1MTE2MDAsMTUyMDcxMjAwLDE2Mjk2MTIwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NDMxOGUzLDQwNDg3NzYwMCw0MTU3Njc2MDAsNDM2MzI3MjAwLDQ0NzIxNzIwMCw0Njc3NzY4MDAsNDc4NjY2ODAwLDQ5OTIyNjQwMCw1MTEzMjZlMyw1MzAwNzEyMDAsNTQyNzc1NjAwLDU2MjEyNTYwMCw1NzQ4M2U0LDU5NDE4ZTQsNjA2Mjc5NjAwLDYyNTYyOTYwMCw2Mzc3MjkyMDAsNjU3MDc5MjAwLDY2Nzk2OTIwMCw2ODg1Mjg4MDAsNzAxMjMzMjAwLDcxOTk3ODQwMCw3MzE0NzMyMDAsNzUyMDMyODAwLDc2NDEzMjQwMCw3ODM0ODI0MDAsNzk2MTg2ODAwLDgxNDkzMmUzLDgyODI0MTIwMCw4NDYzODE2MDAsODU5NjkwODAwLDg3NzgzMTIwMCw4OTExNDA0MDAsOTA5MjgwODAwLDkyMjU5ZTQsOTQxMzM1MjAwLDk1NDAzOTYwMCw5NzI3ODQ4MDAsOTg1NDg5MjAwLDEwMDQyMzQ0MDAsMTAxNzU0MzYwMCwxMDM1Njg0ZTMsMTA0ODk5MzIwMCwxMDY3MTMzNjAwLDEwODA0NDI4MDAsMTA5OTE4OGUzLDExMTE4OTI0MDAsMTEzMDYzNzYwMCwxMTQzOTQ2ODAwLDExNjIwODcyMDAsMTE3NDc5MTYwMCwxMTkzNTM2ODAwLDEyMDc0NTA4MDAsMTIyMzE3MmUzLDEyMzg5MDA0MDAsMTI1NDYyMTYwMCwxMjcwMzVlNCwxMjg2MDcxMjAwLDEzMDE3OTk2MDAsMTMxNzUyMDgwMCwxMzMzMjQ5MjAwLDEzNDk1NzUyMDAsMTM2NTMwMzYwMCwxMzgxMDI0ODAwLDEzOTY3NTMyMDAsMTQxMjQ3NDQwMCwxNDI4MjAyODAwLDE0NDM5MjRlMywxNDU5NjUyNDAwLDE0NzUzNzM2MDAsMTQ5MTEwMmUzLDE1MDY4MjMyMDAsMTUyMjU1MTYwMCwxNTM4ODc3NjAwLDE1NTQ2MDZlMywxNTcwMzI3MjAwLDE1ODYwNTU2MDAsMTYwMTc3NjgwMCwxNjE3NTA1MjAwLDE2MzMyMjY0MDAsMTY0ODk1NDgwMCwxNjY0Njc2ZTMsMTY4MDQwNDQwMCwxNjk2MTI1NjAwLDE3MTI0NTg4MDAsMTcyODE4ZTQsMTc0MzkwODQwMCwxNzU5NjI5NjAwLDE3NzUzNThlMywxNzkxMDc5MjAwLDE4MDY4MDc2MDAsMTgyMjUyODgwMCwxODM4MjU3MjAwLDE4NTM5Nzg0MDAsMTg2OTcwNjgwMCwxODg2MDMyODAwLDE5MDE3NjEyMDAsMTkxNzQ4MjQwMCwxOTMzMjEwODAwXSxvZmZzZXQ6WzMzMjYwLDMyNDAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwXX0sIkF1c3RyYWxpYS9CcmlzYmFuZSI6e3RpbWU6Wy0yMzY2NzU1MjAwLC0xNjcyNTI0ZTMsLTE2NjUzNDkyMDAsLTg4MzYwNTYwMCwtODc2MDg1MjAwLC04NjAzNjRlMywtODQ0NjM1NjAwLC04MjgzMDk2MDAsLTgxMzE4NmUzLDU3NzIyNDAwLDY4MDA3NjAwLDYyNTYyOTYwMCw2MzY1MTk2MDAsNjU3MDc5MjAwLDY2Nzk2OTIwMCw2ODg1Mjg4MDAsNjk5NDE4ODAwLDE5MjUwMjhlM10sb2Zmc2V0OlszNjcyOCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlM119LCJBdXN0cmFsaWEvUGVydGgiOnt0aW1lOlstMjMzNzg5NzYwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwxNTIwNzEyMDAsMTYyOTYxMjAwLDQzNjMyNzIwMCw0NDcyMTcyMDAsNjkwMzQzMjAwLDY5OTQxODgwMCwxMTY1MTExMjAwLDExNzQ3OTE2MDAsMTE5MzUzNjgwMCwxMjA2ODQ2ZTMsMTIyNDk4NjQwMCwxMjM4Mjk1NjAwLDE5MjUwMjA4MDBdLG9mZnNldDpbMjc4MDQsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXVzdHJhbGlhL1N5ZG5leSI6ewp0aW1lOlstMjM2NDA3NjgwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwtODI4MzA5NjAwLC04MTMxODZlMyw1NzcyMjQwMCw2ODAwNzYwMCw4OTE3MmUzLDEwMDA2MmUzLDEyMDYyMTYwMCwxMzE1MTE2MDAsMTUyMDcxMjAwLDE2Mjk2MTIwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NjczNzIwMCw0MDQ4Nzc2MDAsNDE1NzY3NjAwLDQzNjMyNzIwMCw0NDcyMTcyMDAsNDY3Nzc2ODAwLDQ3ODY2NjgwMCw0OTkyMjY0MDAsNTExMzI2ZTMsNTMwMDcxMjAwLDU0Mjc3NTYwMCw1NjIxMjU2MDAsNTc0ODNlNCw1OTQxOGU0LDYwNjI3OTYwMCw2MjU2Mjk2MDAsNjM2NTE5NjAwLDY1NzA3OTIwMCw2Njc5NjkyMDAsNjg4NTI4ODAwLDY5OTQxODgwMCw3MTk5Nzg0MDAsNzMxNDczMjAwLDc1MjAzMjgwMCw3NjI5MjI4MDAsNzgzNDgyNDAwLDc5NDM3MjQwMCw4MTQ5MzJlMyw4MjgyNDEyMDAsODQ2MzgxNjAwLDg1OTY5MDgwMCw4Nzc4MzEyMDAsODkxMTQwNDAwLDkwOTI4MDgwMCw5MjI1OWU0LDk0MTMzNTIwMCw5NTQwMzk2MDAsOTY3MzQxNjAwLDk4NTQ4OTIwMCwxMDA0MjM0NDAwLDEwMTc1NDM2MDAsMTAzNTY4NGUzLDEwNDg5OTMyMDAsMTA2NzEzMzYwMCwxMDgwNDQyODAwLDEwOTkxODhlMywxMTExODkyNDAwLDExMzA2Mzc2MDAsMTE0Mzk0NjgwMCwxMTYyMDg3MjAwLDExNzQ3OTE2MDAsMTE5MzUzNjgwMCwxMjA3NDUwODAwLDEyMjMxNzJlMywxMjM4OTAwNDAwLDEyNTQ2MjE2MDAsMTI3MDM1ZTQsMTI4NjA3MTIwMCwxMzAxNzk5NjAwLDEzMTc1MjA4MDAsMTMzMzI0OTIwMCwxMzQ5NTc1MjAwLDEzNjUzMDM2MDAsMTM4MTAyNDgwMCwxMzk2NzUzMjAwLDE0MTI0NzQ0MDAsMTQyODIwMjgwMCwxNDQzOTI0ZTMsMTQ1OTY1MjQwMCwxNDc1MzczNjAwLDE0OTExMDJlMywxNTA2ODIzMjAwLDE1MjI1NTE2MDAsMTUzODg3NzYwMCwxNTU0NjA2ZTMsMTU3MDMyNzIwMCwxNTg2MDU1NjAwLDE2MDE3NzY4MDAsMTYxNzUwNTIwMCwxNjMzMjI2NDAwLDE2NDg5NTQ4MDAsMTY2NDY3NmUzLDE2ODA0MDQ0MDAsMTY5NjEyNTYwMCwxNzEyNDU4ODAwLDE3MjgxOGU0LDE3NDM5MDg0MDAsMTc1OTYyOTYwMCwxNzc1MzU4ZTMsMTc5MTA3OTIwMCwxODA2ODA3NjAwLDE4MjI1Mjg4MDAsMTgzODI1NzIwMCwxODUzOTc4NDAwLDE4Njk3MDY4MDAsMTg4NjAzMjgwMCwxOTAxNzYxMjAwLDE5MTc0ODI0MDAsMTkzMzIxMDgwMF0sb2Zmc2V0OlszNjI5MiwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwXX0sIkV1cm9wZS9BbXN0ZXJkYW0iOnsKdGltZTpbLTQyNjAyMTEyMDAsLTE2OTM2OTkyMDAsLTE2ODA0OGU0LC0xNjYzNDUyZTMsLTE2NTAxNDI4MDAsLTE2MzMyMTJlMywtMTYxNzQ4MzYwMCwtMTYwMTE1NzYwMCwtMTU4NjAzNGUzLC0xNTY5NzA4ZTMsLTE1NTQ1ODQ0MDAsLTE1MzgyNTg0MDAsLTE1MjMxMzQ4MDAsLTE1MDc1ZTUsLTE0OTA1NjJlMywtMTQ3MDE3NTIwMCwtMTQ1OTExMjQwMCwtMTQ0Mzk5NmUzLC0xNDI3NjYyODAwLC0xNDA2NjcxMjAwLC0xMzk2MjEzMjAwLC0xMzc2OTQ5NjAwLC0xMzY0NzYzNjAwLC0xMzQ1NDEzNjAwLC0xMzMzMzE0ZTMsLTEzMTM3OTEyMDAsLTEzMDEyNTk2MDAsLTEyODIyNTUyMDAsLTEyNjk4MWU0LC0xMjUwNzE5MjAwLC0xMjM4MzYwNDAwLC0xMjE5MTgzMjAwLC0xMjA2OTEwODAwLC0xMTg2OTU2ZTMsLTExNzU0NjEyMDAsLTExNTYwMjQ4MDAsLTExNDM0MDY4MDAsLTExMjQ0ODg4MDAsLTExMTE5NTcyMDAsLTEwOTI5NTI4MDAsLTEwODA1MDc2MDAsLTEwNjEzMzA0MDAsLTEwNDkwNThlMywtMTAyOTE4OTYwMCwtMTAyNTc0MDgwMCwtMTAxNzYwODQwMCwtOTk4MjU4NDAwLC05ODYxNTg4MDAsLTk2NjcyMjQwMCwtOTU0MTA0NDAwLC05MzUwMjA4MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLDIyODg4MDgwMCwyNDQwMDQ0MDAsMjYwMzMwNDAwLDI3NjA1ODgwMCwyOTE3OGU0LDMwNzUwODQwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMTE3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsNDgwMCwxMjAwLDQ4MDAsMTIwMCw0ODAwLDEyMDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9BdGhlbnMiOnsKdGltZTpbLTIzNDQ2MzY4MDAsLTE2ODYwOTU5NDAsLTExODI5ODg4MDAsLTExNzgxNTA0MDAsLTkwNjg1NDQwMCwtOTA0ODY3MjAwLC04NTcyNWU0LC04NDQ0NzM2MDAsLTgyODIzMDQwMCwtODEyNDE5MjAwLC01NTIzNTUyMDAsLTU0MTY0MTYwMCwxNjY0OTI4MDAsMTg2MTk1NjAwLDE5ODAzNmUzLDIxMzc2NDQwMCwyMjg4ODA4MDAsMjQ0MDkwODAwLDI2MDMzMDQwMCwyNzU0NTc2MDAsMjkxODA1MjAwLDMwNzQxODQwMCwzMjMzOTUyMDAsMzM4OTQ3MjAwLDM1NDY4MjgwMCwzNzA0MTEyMDAsMzg2MTMyNDAwLDQwMTg2MDgwMCw0MTc1ODJlMyw0MzMzMTA0MDAsNDQ5MDMxNjAwLDQ2NTM2NDgwMCw0ODEwODZlMyw0OTY4MTQ0MDAsNTEyNTM1NjAwLDUyODI2NGUzLDU0Mzk4NTIwMCw1NTk3MTM2MDAsNTc1NDM0ODAwLDU5MTE2MzIwMCw2MDY4ODQ0MDAsNjIyNjEyODAwLDYzODMzNGUzLDY1NDY2NzIwMCw2NzAzODg0MDAsNjg2MTE2ODAwLDcwMTgzOGUzLDcxNzU2NjQwMCw3MzMyODc2MDAsNzQ5MDE2ZTMsNzY0NzM3MjAwLDc4MDQ2NTYwMCw3OTYxODY4MDAsODExOTE1MjAwLDgyODI0MTIwMCw4NDYzODg4MDAsODU5NjkwODAwLDg3NzgzODQwMCw4OTExNDA0MDAsOTA5Mjg4ZTMsOTIyNTllNCw5NDEzNDI0MDAsOTU0MDM5NjAwLDk3Mjc5MmUzLDk4NTQ4OTIwMCwxMDA0MjQxNjAwLDEwMTc1NDM2MDAsMTAzNTY5MTIwMCwxMDQ4OTkzMjAwLDEwNjcxNDA4MDAsMTA4MDQ0MjgwMCwxMDk5MTk1MjAwLDExMTE4OTI0MDAsMTEzMDY0NDgwMCwxMTQzMzQyZTMsMTE2MjA5NDQwMCwxMTc0NzkxNjAwLDExOTM1NDRlMywxMjA2ODQ2ZTMsMTIyNDk5MzYwMCwxMjM4Mjk1NjAwLDEyNTY0NDMyMDAsMTI2OTc0NTIwMCwxMjg4NDk3NjAwLDEzMDExOTQ4MDAsMTMxOTk0NzIwMCwxMzMyNjQ0NDAwLDEzNTEzOTY4MDAsMTM2NDY5ODgwMCwxMzgyODQ2NDAwLDEzOTYxNDg0MDAsMTQxNDI5NmUzLDE0Mjc1OThlMywxNDQ1NzQ1NjAwLDE0NTkwNDc2MDAsMTQ3NzhlNSwxNDkwNDk3MjAwLDE1MDkyNDk2MDAsMTUyMTk0NjgwMCwxNTQwNjk5MjAwLDE1NTQwMDEyMDAsMTU3MjE0ODgwMCwxNTg1NDUwODAwLDE2MDM1OTg0MDAsMTYxNjkwMDQwMCwxNjM1NjUyODAwLDE2NDgzNWU0LDE2NjcxMDI0MDAsMTY3OTc5OTYwMCwxNjk4NTUyZTMsMTcxMTg1NGUzLDE3MzAwMDE2MDAsMTc0MzMwMzYwMCwxNzYxNDUxMjAwLDE3NzQ3NTMyMDAsMTc5MjkwMDgwMCwxODA2MjAyODAwLDE4MjQ5NTUyMDAsMTgzNzY1MjQwMCwxODU2NDA0ODAwLDE4NjkxMDJlMywxODg3ODU0NDAwLDE5MDExNTY0MDAsMTkxOTMwNGUzLDE5MzI2MDZlM10sb2Zmc2V0Ols1NjkyLDU2OTIsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJFdXJvcGUvQmVsZ3JhZGUiOnsKdGltZTpbLTI3MTM5MTA0MDAsLTkwNTgyMTIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzc3OTM4NDAwLC03NjY2MTY0MDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0Ols0OTIwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9CZXJsaW4iOnt0aW1lOlstMjQyMjA1MTIwMCwtMTY5MzcwMjgwMCwtMTY4MDQ3NjQwMCwtMTY2MzQ1MmUzLC0xNjUwMTQyODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC05Mzg5MDE2MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc4MTA0ODgwMCwtNzc2NTU2ZTMsLTc2NTkyNTIwMCwtNzYxMTczMjAwLC03NDg0NzZlMywtNzMzMjY2ZTMsLTcxNzYyNzYwMCwtNzE0NjAzNjAwLC03MTAzN2U0LC03MDE5MDI4MDAsLTY4NDk3MmUzLC02NzA0NTMyMDAsLTY1NDEyNzIwMCwtNjM5MDAzNjAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbMzIwOCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMTA4MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9CcmF0aXNsYXZhIjp7dGltZTpbLTM3ODY4MjU2MDAsLTI0NjkzOTg0MDAsLTE2OTM3MDI4MDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtOTM4OTAxNjAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTY3N2U0LC03ODEwNDg4MDAsLTc2NTMyMDQwMCwtNzQ2NTc1MjAwLC03MzMzNTI0MDAsLTcyODUxNGUzLC03MjEyNmU0LC03MTY0MjE2MDAsLTcwMTkwMjgwMCwtNjg0OTcyZTMsLTY3MDQ1MzIwMCwtNjU0MjEzNjAwLC02MzkwMDM2MDAsMjkxNzhlNCwzMDc1MDg0MDAsMzIzODM0NDAwLDMzODk1OGUzLDM1NDY3OTIwMCwzNzA0MDc2MDAsMzg2MTI4ODAwLDQwMTg1NzIwMCw0MTc1Nzg0MDAsNDMzMzA2ODAwLDQ0OTAyOGUzLDQ2NTM2MTIwMCw0ODEwODI0MDAsNDk2ODEwODAwLDUxMjUzMmUzLDUyODI2MDQwMCw1NDM5ODE2MDAsNTU5NzFlNCw1NzU0MzEyMDAsNTkxMTU5NjAwLDYwNjg4MDgwMCw2MjI2MDkyMDAsNjM4MzMwNDAwLDY1NDY2MzYwMCw2NzAzODQ4MDAsNjg2MTEzMjAwLDcwMTgzNDQwMCw3MTc1NjI4MDAsNzMzMjg0ZTMsNzQ5MDEyNDAwLDc2NDczMzYwMCw3ODA0NjJlMyw3OTYxODMyMDAsODExOTExNjAwLDgyODIzNzYwMCw4NDYzODUyMDAsODU5Njg3MjAwLDg3NzgzNDgwMCw4OTExMzY4MDAsOTA5Mjg0NDAwLDkyMjU4NjQwMCw5NDEzMzg4MDAsOTU0MDM2ZTMsOTcyNzg4NDAwLDk4NTQ4NTYwMCwxMDA0MjM4ZTMsMTAxNzU0ZTQsMTAzNTY4NzYwMCwxMDQ4OTg5NjAwLDEwNjcxMzcyMDAsMTA4MDQzOTIwMCwxMDk5MTkxNjAwLDExMTE4ODg4MDAsMTEzMDY0MTIwMCwxMTQzMzM4NDAwLDExNjIwOTA4MDAsMTE3NDc4OGUzLDExOTM1NDA0MDAsMTIwNjg0MjQwMCwxMjI0OTllNCwxMjM4MjkyZTMsMTI1NjQzOTYwMCwxMjY5NzQxNjAwLDEyODg0OTRlMywxMzAxMTkxMjAwLDEzMTk5NDM2MDAsMTMzMjY0MDgwMCwxMzUxMzkzMjAwLDEzNjQ2OTUyMDAsMTM4Mjg0MjgwMCwxMzk2MTQ0ODAwLDE0MTQyOTI0MDAsMTQyNzU5NDQwMCwxNDQ1NzQyZTMsMTQ1OTA0NGUzLDE0Nzc3OTY0MDAsMTQ5MDQ5MzYwMCwxNTA5MjQ2ZTMsMTUyMTk0MzIwMCwxNTQwNjk1NjAwLDE1NTM5OTc2MDAsMTU3MjE0NTIwMCwxNTg1NDQ3MjAwLDE2MDM1OTQ4MDAsMTYxNjg5NjgwMCwxNjM1NjQ5MjAwLDE2NDgzNDY0MDAsMTY2NzA5ODgwMCwxNjc5Nzk2ZTMsMTY5ODU0ODQwMCwxNzExODUwNDAwLDE3Mjk5OThlMywxNzQzM2U1LDE3NjE0NDc2MDAsMTc3NDc0OTYwMCwxNzkyODk3MjAwLDE4MDYxOTkyMDAsMTgyNDk1MTYwMCwxODM3NjQ4ODAwLDE4NTY0MDEyMDAsMTg2OTA5ODQwMCwxODg3ODUwODAwLDE5MDExNTI4MDAsMTkxOTMwMDQwMCwxOTMyNjAyNDAwXSxvZmZzZXQ6WzM0NjQsMzQ2NCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvQnJ1c3NlbHMiOnsKdGltZTpbLTI4NDAxNDA4MDAsLTI0NTA5OTQxNTAsLTE3NDAzNTUyMDAsLTE2OTM2OTkyMDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTYxMzgyMjQwMCwtMTYwNDI3ODgwMCwtMTU4NTUyNjQwMCwtMTU3NDAzODgwMCwtMTU1MjI2MjQwMCwtMTUzOTk5NzIwMCwtMTUyMDU1MzYwMCwtMTUwNzUxMDgwMCwtMTQ5MDU3MjgwMCwtMTQ3MzY0MmUzLC0xNDU5MTIzMjAwLC0xNDQ0MDA2ODAwLC0xNDI3NjczNjAwLC0xNDExOTUyNDAwLC0xMzk2MjI0ZTMsLTEzNzkyOTMyMDAsLTEzNjQ3NzQ0MDAsLTEzNDg0NDg0MDAsLTEzMzMzMjQ4MDAsLTEzMTYzOTRlMywtMTMwMTI1OTYwMCwtMTI4NDMyODgwMCwtMTI2OTgxZTQsLTEyNTM0ODRlMywtMTIzODM2MDQwMCwtMTIyMTQyOTYwMCwtMTIwNjkxMDgwMCwtMTE5MTE4OTYwMCwtMTE3NTQ2MTIwMCwtMTE2MDM0NDgwMCwtMTE0MzQwNjgwMCwtMTEyNzY4NTYwMCwtMTExMTk1NzIwMCwtMTA5Njg0MDgwMCwtMTA4MDUwNzYwMCwtMTA2MzU3NjgwMCwtMTA0OTA1OGUzLC0xMDMzMzM2ODAwLC0xMDE3NjA4NDAwLC0xMDAyNDkyZTMsLTk4NjE1ODgwMCwtOTY5MjI4ZTMsLTk1MDQ3NTYwMCwtOTQyMDEyZTMsLTkzNDY2NDQwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk4MDY2ZTMsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLC03NDU0NTJlMywtNzMzMjY2ZTMsMjI4ODgwODAwLDI0NDAwNDQwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0OlsxMDUwLDEwNTAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9CdWNoYXJlc3QiOnsKdGltZTpbLTI0NjkzOTg0MDAsLTEyMTMxNDI0MDAsLTExODcwNDk2MDAsLTExNzU0Njg0MDAsLTExNTk3NDcyMDAsLTExNDQwMTg4MDAsLTExMjc2OTI4MDAsLTExMTE5NjQ0MDAsLTEwOTYyNDMyMDAsLTEwODA1MTQ4MDAsLTEwNjQ3OTM2MDAsLTEwNDkwNjUyMDAsLTEwMzMzNDRlMywtMTAxNzYxNTYwMCwtMTAwMTg5NDQwMCwtOTg2MTY2ZTMsLTk3MDQ0NDgwMCwtOTU0NzE2NDAwLDI5NjYxMTIwMCwzMDc0OTc2MDAsMzIzODIzNjAwLDMzODk1MDgwMCwzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzc3NjAwLDY4NjEwNmUzLDcwMTgyNzIwMCw3MTc1NTU2MDAsNzMzMjc2ODAwLDc0OTAwNTIwMCw3NjQ3MjY0MDAsNzgwNDUxMjAwLDc5NjE3NmUzLDgxMTkwMDgwMCw4MjgyMzA0MDAsODQ2Mzc0NDAwLDg1OTY5MDgwMCw4Nzc4Mzg0MDAsODkxMTQwNDAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDk1NDAzOTYwMCw5NzI3OTJlMyw5ODU0ODkyMDAsMTAwNDI0MTYwMCwxMDE3NTQzNjAwLDEwMzU2OTEyMDAsMTA0ODk5MzIwMCwxMDY3MTQwODAwLDEwODA0NDI4MDAsMTA5OTE5NTIwMCwxMTExODkyNDAwLDExMzA2NDQ4MDAsMTE0MzM0MmUzLDExNjIwOTQ0MDAsMTE3NDc5MTYwMCwxMTkzNTQ0ZTMsMTIwNjg0NmUzLDEyMjQ5OTM2MDAsMTIzODI5NTYwMCwxMjU2NDQzMjAwLDEyNjk3NDUyMDAsMTI4ODQ5NzYwMCwxMzAxMTk0ODAwLDEzMTk5NDcyMDAsMTMzMjY0NDQwMCwxMzUxMzk2ODAwLDEzNjQ2OTg4MDAsMTM4Mjg0NjQwMCwxMzk2MTQ4NDAwLDE0MTQyOTZlMywxNDI3NTk4ZTMsMTQ0NTc0NTYwMCwxNDU5MDQ3NjAwLDE0Nzc4ZTUsMTQ5MDQ5NzIwMCwxNTA5MjQ5NjAwLDE1MjE5NDY4MDAsMTU0MDY5OTIwMCwxNTU0MDAxMjAwLDE1NzIxNDg4MDAsMTU4NTQ1MDgwMCwxNjAzNTk4NDAwLDE2MTY5MDA0MDAsMTYzNTY1MjgwMCwxNjQ4MzVlNCwxNjY3MTAyNDAwLDE2Nzk3OTk2MDAsMTY5ODU1MmUzLDE3MTE4NTRlMywxNzMwMDAxNjAwLDE3NDMzMDM2MDAsMTc2MTQ1MTIwMCwxNzc0NzUzMjAwLDE3OTI5MDA4MDAsMTgwNjIwMjgwMCwxODI0OTU1MjAwLDE4Mzc2NTI0MDAsMTg1NjQwNDgwMCwxODY5MTAyZTMsMTg4Nzg1NDQwMCwxOTAxMTU2NDAwLDE5MTkzMDRlMywxOTMyNjA2ZTNdLG9mZnNldDpbNjI2NCw2MjY0LDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL0J1ZGFwZXN0Ijp7CnRpbWU6Wy0yNDk4MjU2ZTMsLTE2OTM3MDI4MDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTYwMDQ2NjQwMCwtMTU4NzI0MzYwMCwtMTU2OTcwOGUzLC0xNTU1MTg5MjAwLC05MDY3NzE2MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc3ODQ2NzYwMCwtNzYyNjQ5MjAwLC03NDk2ODU2MDAsLTczMzI2OTYwMCwtNzE3NjMxMjAwLC03MDE5MDI4MDAsLTY4NjE4MTYwMCwtNjcwNDUzMjAwLC02NTQxMjcyMDAsLTYzOTAwMzYwMCwtNDkyNjUyODAwLC00ODExNjE2MDAsLTQ2MTE5NmUzLC00NDk3MDEyMDAsLTQyODUzNjgwMCwtNDE4MjUxNjAwLC0zOTcwODcyMDAsLTM4NjgwMmUzLDMyMzgyNzIwMCwzMzg5NTA4MDAsMzU0NjcyZTMsMzcwNDAwNDAwLDM4NjEyMTYwMCw0MDE4NWU0LDQxNzU3MTIwMCw0MzMyOTk2MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbNDU4MCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDBdfSwiRXVyb3BlL0NvcGVuaGFnZW4iOnsKdGltZTpbLTI1MjQ1MjE2MDAsLTIzOTgyOTEyMDAsLTE2OTI0OTMyMDAsLTE2ODA0ODM2MDAsLTkzNTEwNzIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03NjkzODEyMDAsLTc0NzAwNzIwMCwtNzM2Mzc2NDAwLC03MTUyMTJlMywtNzA2NzQxMjAwLC02ODMxNTc2MDAsLTY3NTI5MTYwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMzAyMCwzMDIwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvRHVibGluIjp7CnRpbWU6Wy0yODIxNjUxMjAwLC0xNjkxOTY0ZTMsLTE2ODA0NjkyMDAsLTE2NjQxNDMyMDAsLTE2NTAxNDI4MDAsLTE2MzM5MDMyMDAsLTE2MTc0ODM2MDAsLTE2MDE4NDg4MDAsLTE1ODYwMzRlMywtMTU3MDM5OTIwMCwtMTU1MjE2NTIwMCwtMTUzODM0NDgwMCwtMTUyMjUzZTQsLTE1MDc1ZTUsLTE0OTA1NjJlMywtMTQ3MzYzMTIwMCwtMTQ2MDkyNjgwMCwtMTQ0Mjc4NjQwMCwtMTQyODg3MjQwMCwtMTQxMDczMmUzLC0xMzk2MjEzMjAwLC0xMzc5MjgyNDAwLC0xMzY0NzYzNjAwLC0xMzQ4NDM3NjAwLC0xMzMzMzE0ZTMsLTEzMTU3Nzg0MDAsLTEzMDEyNTk2MDAsLTEyODQzMjg4MDAsLTEyNjk4MWU0LC0xMjUzNDg0ZTMsLTEyMzgzNjA0MDAsLTEyMjE0Mjk2MDAsLTEyMDY5MTA4MDAsLTExODk5OGU0LC0xMTc1NDYxMjAwLC0xMTU5MTM1MjAwLC0xMTQzNDA2ODAwLC0xMTI2NDc2ZTMsLTExMTE5NTcyMDAsLTEwOTU2MzEyMDAsLTEwODA1MDc2MDAsLTEwNjM1NzY4MDAsLTEwNDkwNThlMywtMTAzMjEyNzIwMCwtMTAxNzYwODQwMCwtMTAwMTI4MjQwMCwtOTg2MTU4ODAwLC05NjkyMjhlMywtOTUwNDc1NjAwLC05NDIwMTJlMywtNzMzMzUyNDAwLC03MTk0NDU2MDAsLTY5OTQ4MzYwMCwtNjg0OTcyZTMsLTY2ODAzNGUzLC02NTQ3MzJlMywtNjM2NTg0NDAwLC02MjIwNzI4MDAsLTYwNTczOTYwMCwtNTkwNjIzMjAwLC01NzQyOWU0LC01NTg1Njg4MDAsLTU0MjIzNTYwMCwtNTI3MTE5MjAwLC01MTI2MDA0MDAsLTQ5NjI3NDQwMCwtNDgxMTUwODAwLC00NjQyMmU0LC00NDk3MDEyMDAsLTQzMjE2NTYwMCwtNDE3NjQ2ODAwLC00MDEzMjA4MDAsLTM4NjE5NzIwMCwtMzY5MjY2NDAwLC0zNTQ3NDc2MDAsLTMzNzgxNjgwMCwtMzIzMjk4ZTMsLTMwNjk3MmUzLC0yOTE4NDg0MDAsLTI3NjczMmUzLC0yNTc5Nzk2MDAsLTI0NTI4MjQwMCwtMjI2NTNlNCwtMjEzMjI4ZTMsLTE5NTA4MDQwMCwtMTgyMzgzMjAwLC0xNjM2MzA4MDAsLTE1MDkzMzYwMCwtMTMyMTgxMjAwLC0xMTk0ODRlMywtMTAwNzMxNjAwLC04ODAzNDQwMCwtNjg2NzcyMDAsLTU5MDA0ZTMsNTc3MjZlMyw2OTgxODQwMCw4OTE3NTYwMCwxMDEyNjhlMywxMjA2MjUyMDAsMTMyNzE3NjAwLDE1MjA3NDgwMCwxNjQxNjcyMDAsMTgzNTI0NDAwLDE5NjIyMTYwMCwyMTQ5NzRlMywyMjc2NzEyMDAsMjQ2NDIzNjAwLDI1OTEyMDgwMCwyNzg0NzhlMywyOTA1NzA0MDAsMzA5OTI3NjAwLDMyMjAyZTQsMzQxMzc3MjAwLDM1NDY3NTYwMCwzNzI4MjMyMDAsMzg2MTI1MjAwLDQwNDI3MjgwMCw0MTc1NzQ4MDAsNDM1NzIyNDAwLDQ0OTAyNDQwMCw0Njc3NzY4MDAsNDgxMDc4ODAwLDQ5OTIyNjQwMCw1MTI1Mjg0MDAsNTMwNjc2ZTMsNTQzOTc4ZTMsNTYyMTI1NjAwLDU3NTQyNzYwMCw1OTM1NzUyMDAsNjA2ODc3MjAwLDYyNTYyOTYwMCw2MzgzMjY4MDAsNjU3MDc5MjAwLDY3MDM4MTIwMCw2ODg1Mjg4MDAsNzAxODMwODAwLDcxOTk3ODQwMCw3MzMyODA0MDAsNzUxNDI4ZTMsNzY0NzNlNCw3ODI4Nzc2MDAsNzk2MTc5NjAwLDgxNDMyNzIwMCw4MjgyMzRlMyw4NDYzODE2MDAsODU5NjgzNjAwLDg3NzgzMTIwMCw4OTExMzMyMDAsOTA5MjgwODAwLDkyMjU4MjgwMCw5NDEzMzUyMDAsOTU0MDMyNDAwLDk3Mjc4NDgwMCw5ODU0ODJlMywxMDA0MjM0NDAwLDEwMTc1MzY0MDAsMTAzNTY4NGUzLDEwNDg5ODZlMywxMDY3MTMzNjAwLDEwODA0MzU2MDAsMTA5OTE4OGUzLDExMTE4ODUyMDAsMTEzMDYzNzYwMCwxMTQzMzM0ODAwLDExNjIwODcyMDAsMTE3NDc4NDQwMCwxMTkzNTM2ODAwLDEyMDY4Mzg4MDAsMTIyNDk4NjQwMCwxMjM4Mjg4NDAwLDEyNTY0MzZlMywxMjY5NzM4ZTMsMTI4ODQ5MDQwMCwxMzAxMTg3NjAwLDEzMTk5NGU0LDEzMzI2MzcyMDAsMTM1MTM4OTYwMCwxMzY0NjkxNjAwLDEzODI4MzkyMDAsMTM5NjE0MTIwMCwxNDE0Mjg4ODAwLDE0Mjc1OTA4MDAsMTQ0NTczODQwMCwxNDU5MDQwNDAwLDE0Nzc3OTI4MDAsMTQ5MDQ5ZTQsMTUwOTI0MjQwMCwxNTIxOTM5NjAwLDE1NDA2OTJlMywxNTUzOTk0ZTMsMTU3MjE0MTYwMCwxNTg1NDQzNjAwLDE2MDM1OTEyMDAsMTYxNjg5MzIwMCwxNjM1NjQ1NjAwLDE2NDgzNDI4MDAsMTY2NzA5NTIwMCwxNjc5NzkyNDAwLDE2OTg1NDQ4MDAsMTcxMTg0NjgwMCwxNzI5OTk0NDAwLDE3NDMyOTY0MDAsMTc2MTQ0NGUzLDE3NzQ3NDZlMywxNzkyODkzNjAwLDE4MDYxOTU2MDAsMTgyNDk0OGUzLDE4Mzc2NDUyMDAsMTg1NjM5NzYwMCwxODY5MDk0ODAwLDE4ODc4NDcyMDAsMTkwMTE0OTIwMCwxOTE5Mjk2ODAwLDE5MzI1OTg4MDBdLG9mZnNldDpbLTE1MjEsLTE1MjEsMjA3OSwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwXX0sIkV1cm9wZS9IZWxzaW5raSI6ewp0aW1lOlstMjg5MDI1MjgwMCwtMTUzNTkzMjgwMCwtODc1NjY0ZTMsLTg1OTc2MjgwMCwzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTgyZTMsNDMzMzEwNDAwLDQ0OTAzMTYwMCw0NjUzNjQ4MDAsNDgxMDg2ZTMsNDk2ODE0NDAwLDUxMjUzNTYwMCw1MjgyNjRlMyw1NDM5ODUyMDAsNTU5NzEzNjAwLDU3NTQzNDgwMCw1OTExNjMyMDAsNjA2ODg0NDAwLDYyMjYxMjgwMCw2MzgzMzRlMyw2NTQ2NjcyMDAsNjcwMzg4NDAwLDY4NjExNjgwMCw3MDE4MzhlMyw3MTc1NjY0MDAsNzMzMjg3NjAwLDc0OTAxNmUzLDc2NDczNzIwMCw3ODA0NjU2MDAsNzk2MTg2ODAwLDgxMTkxNTIwMCw4MjgyNDEyMDAsODQ2Mzg4ODAwLDg1OTY5MDgwMCw4Nzc4Mzg0MDAsODkxMTQwNDAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDk1NDAzOTYwMCw5NzI3OTJlMyw5ODU0ODkyMDAsMTAwNDI0MTYwMCwxMDE3NTQzNjAwLDEwMzU2OTEyMDAsMTA0ODk5MzIwMCwxMDY3MTQwODAwLDEwODA0NDI4MDAsMTA5OTE5NTIwMCwxMTExODkyNDAwLDExMzA2NDQ4MDAsMTE0MzM0MmUzLDExNjIwOTQ0MDAsMTE3NDc5MTYwMCwxMTkzNTQ0ZTMsMTIwNjg0NmUzLDEyMjQ5OTM2MDAsMTIzODI5NTYwMCwxMjU2NDQzMjAwLDEyNjk3NDUyMDAsMTI4ODQ5NzYwMCwxMzAxMTk0ODAwLDEzMTk5NDcyMDAsMTMzMjY0NDQwMCwxMzUxMzk2ODAwLDEzNjQ2OTg4MDAsMTM4Mjg0NjQwMCwxMzk2MTQ4NDAwLDE0MTQyOTZlMywxNDI3NTk4ZTMsMTQ0NTc0NTYwMCwxNDU5MDQ3NjAwLDE0Nzc4ZTUsMTQ5MDQ5NzIwMCwxNTA5MjQ5NjAwLDE1MjE5NDY4MDAsMTU0MDY5OTIwMCwxNTU0MDAxMjAwLDE1NzIxNDg4MDAsMTU4NTQ1MDgwMCwxNjAzNTk4NDAwLDE2MTY5MDA0MDAsMTYzNTY1MjgwMCwxNjQ4MzVlNCwxNjY3MTAyNDAwLDE2Nzk3OTk2MDAsMTY5ODU1MmUzLDE3MTE4NTRlMywxNzMwMDAxNjAwLDE3NDMzMDM2MDAsMTc2MTQ1MTIwMCwxNzc0NzUzMjAwLDE3OTI5MDA4MDAsMTgwNjIwMjgwMCwxODI0OTU1MjAwLDE4Mzc2NTI0MDAsMTg1NjQwNDgwMCwxODY5MTAyZTMsMTg4Nzg1NDQwMCwxOTAxMTU2NDAwLDE5MTkzMDRlMywxOTMyNjA2ZTNdLG9mZnNldDpbNTk4OSw1OTg5LDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL0lzdGFuYnVsIjp7dGltZTpbLTI4NDAxNDA4MDAsLTE4Njk4Njg4MDAsLTE2OTM2OTkyMDAsLTE2ODA0OGU0LC0xNTcwNDA2NDAwLC0xNTUyMTc2ZTMsLTE1MzgzNTJlMywtMTUyMjU0MDgwMCwtMTUwNzUwNzIwMCwtMTQ5MDU3MjgwMCwtMTQ0MDIwMTYwMCwtMTQyODAxOTIwMCwtMTQwOTcwMjQwMCwtMTM5NjQ4MzIwMCwtOTMxMDQ2NDAwLC05MjI2NjU2MDAsLTkxNzgyNzIwMCwtODkyNDI1NjAwLC04NzU4MzY4MDAsLTc2NDcyNjQwMCwtNzQ0MzM2ZTMsLTczMzc5NTIwMCwtNzE2NDI4ODAwLC03MDE5MTM2MDAsLTY4NDk3OTIwMCwtNjcwNDY0ZTMsLTY1NDEzNDQwMCwtNjM5MDE0NDAwLC02MjIwOGU0LC02MDY5NmU0LC01OTAwMjU2MDAsLTU3NTUxMDQwMCwtMjM1NjEyODAwLC0xOTQ4MzJlMywtMTc3NzI0ODAwLC0xNjU3MTUyMDAsMTA3OTE3MjAwLDEyMTIyNjQwMCwxMzM5MjcyMDAsMTUyNjc2ZTMsMTY0Njg1NjAwLDE4NDEyNTYwMCwxOTYyMjE2MDAsMjE1NTc1MjAwLDIyODg4MDgwMCwyNDU4MTUyMDAsMjYwMzMwNDAwLDI2NzkyNjQwMCw0Mjg0NjQ4MDAsNDMzOTA4ZTMsNDY4MTIyNDAwLDQ4MjgwNjgwMCw0OTY3MjA4MDAsNTEyNTI4NDAwLDUyODI1NjgwMCw1NDM5NzhlMyw1NTk3MDY0MDAsNTc1NDI3NjAwLDU5MTE1NmUzLDYwNjg3NzIwMCw2MjI2MDU2MDAsNjM4MzI2ODAwLDY1NDY2ZTQsNjcwMzgxMjAwLDY4NjEwOTYwMCw3MDE4MzA4MDAsNzE3NTU5MjAwLDczMzI4MDQwMCw3NDkwMDg4MDAsNzY0MTI1MjAwLDc4MDQ1ODQwMCw3OTYxNzk2MDAsODExOTA4ZTMsODI4MjM0ZTMsODQ2MzgxNjAwLDg1OTY4MzYwMCw4Nzc4MzEyMDAsODkxMTMzMjAwLDkwOTI4MDgwMCw5MjI1ODI4MDAsOTQxMzM1MjAwLDk1NDAzMjQwMCw5NzI3ODQ4MDAsOTg1NDgyZTMsMTAwNDIzNDQwMCwxMDE3NTM2NDAwLDEwMzU2ODRlMywxMDQ4OTg2ZTMsMTA2NzEzMzYwMCwxMDgwNDM1NjAwLDEwOTkxODhlMywxMTExODg1MjAwLDExMzA2Mzc2MDAsMTE0MzMzNDgwMCwxMTYyMDg3MjAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTI4MTIwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjIzNDgwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDY5NTUyMDAsMTQ1OTA0NzYwMCwxNDczMjA2NDAwLDE5MjUwMDI4MDBdLApvZmZzZXQ6WzY5NTIsNzAxNiw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsMTA4MDAsMTQ0MDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDEwODAwXX0sIkV1cm9wZS9MaXNib24iOnt0aW1lOlstMTgzMDM4NjIwNSwtMTY4OTU1NTYwMCwtMTY3Nzc5OGUzLC0xNjY3NDMzNjAwLC0xNjQ3NzM0NDAwLC0xNjM1ODk3NjAwLC0xNjE2MTk4NDAwLC0xNjA0MzYxNjAwLC0xNTg0NjYyNDAwLC0xNTcyNzM5MjAwLC0xNTUzMDRlNCwtMTU0MTIwMzIwMCwtMTUyMTUwNGUzLC0xNDQyNDUxNjAwLC0xNDI3NjczNjAwLC0xMzc5MjkzMjAwLC0xMzY0Nzc0NDAwLC0xMzQ4NDQ4NDAwLC0xMzMzMzI0ODAwLC0xMzE2Mzk0ZTMsLTEzMDEyNzA0MDAsLTEyODQzMzk2MDAsLTEyNjk4MjA4MDAsLTEyMjE0NDA0MDAsLTEyMDY5MjE2MDAsLTExOTEyMDA0MDAsLTExNzU0NzJlMywtMTEyNzY5NjQwMCwtMTExMTk2OGUzLC0xMDk2ODUxNjAwLC0xMDgwNTE4NDAwLC0xMDYzNTg3NjAwLC0xMDQ5MDY4ODAwLC0xMDMzMzQ3NjAwLC0xMDE3NjE5MjAwLC0xMDAyNTAyODAwLC05ODYxNjk2MDAsLTk2OTIzODgwMCwtOTUwNDg2NDAwLC05NDIwMjI4MDAsLTkyMjQ5MjgwMCwtOTA2OTQ0NDAwLC04OTExMjk2MDAsLTg3NzMwOTIwMCwtODczNjgwNDAwLC04NjRlNiwtODU3OTUyZTMsLTg0NTg1OTYwMCwtODQyODM1NjAwLC04MzEzNDA4MDAsLTgyNTg5NzYwMCwtODE0NDFlNCwtODEwNzgxMjAwLC03OTk4OTEyMDAsLTc5NDQ0OGUzLC03ODI5NjA0MDAsLTc3OTMzMTYwMCwtNzY4NDQxNjAwLC03NjI5OTg0MDAsLTc0OTA5MTYwMCwtNzMzMzYzMjAwLC03MTc2MzEyMDAsLTcwMTkwMjgwMCwtNjg2MTgxNjAwLC02NzA0NTMyMDAsLTY1NDczMmUzLC02MzkwMDM2MDAsLTYyMzI4MjQwMCwtNjA3NTU0ZTMsLTU5MTgzMjgwMCwtNTc1NDk5NjAwLC01NTk3Nzg0MDAsLTU0NDA1ZTQsLTUyODMyODgwMCwtNTEyNjAwNDAwLC00OTY4NzkyMDAsLTQ4MTE1MDgwMCwtNDY1NDI5NjAwLC00NDk3MDEyMDAsLTQzMzk4ZTQsLTQxNzY0NjgwMCwtNDAxOTI1NjAwLC0zODYxOTcyMDAsLTM3MDQ3NmUzLC0zNTQ3NDc2MDAsLTMzOTAyNjQwMCwtMzIzMjk4ZTMsLTMwNzU3NjgwMCwtMjkxODQ4NDAwLC0yNzYxMjcyMDAsLTI2MDM5ODgwMCwtMjQ0Njc3NjAwLC0yMjgzNDQ0MDAsLTIxMjYyMzIwMCwtMTk2ODk0ODAwLC0xODExNzM2MDAsLTE2NTQ0NTIwMCwtMTQ5NzI0ZTMsLTEzMzk5NTYwMCwtMTE4Mjc0NDAwLC0xMDI1NDZlMywyMTI1NDc2MDAsMjI4MjY4ODAwLDI0Mzk5NzIwMCwyNjAzMjY4MDAsMjc2MDU1MjAwLDI5MTc3NjQwMCwzMDc1MDQ4MDAsMzIzODMwODAwLDMzODk1NDQwMCwzNTQ2NzJlMywzNzA0MDA0MDAsMzg2MTIxNjAwLDQwMTg1ZTQsNDE3NTcxMjAwLDQzMzI5OTYwMCw0NDkwMjA4MDAsNDY1MzU0ZTMsNDgxMDc1MjAwLDQ5NjgwMzYwMCw1MTI1Mjg0MDAsNTI4MjU2ODAwLDU0Mzk3OGUzLDU1OTcwNjQwMCw1NzU0Mjc2MDAsNTkxMTU2ZTMsNjA2ODc3MjAwLDYyMjYwNTYwMCw2MzgzMjY4MDAsNjU0NjZlNCw2NzAzODEyMDAsNjg2MTA5NjAwLDcwMTgzMDgwMCw3MTc1NTkyMDAsNzMzMjg0ZTMsNzQ5MDEyNDAwLDc2NDczMzYwMCw3ODA0NjJlMyw3OTYxODMyMDAsODExOTExNjAwLDgyODIzNzYwMCw4NDYzODE2MDAsODU5NjgzNjAwLDg3NzgzMTIwMCw4OTExMzMyMDAsOTA5MjgwODAwLDkyMjU4MjgwMCw5NDEzMzUyMDAsOTU0MDMyNDAwLDk3Mjc4NDgwMCw5ODU0ODJlMywxMDA0MjM0NDAwLDEwMTc1MzY0MDAsMTAzNTY4NGUzLDEwNDg5ODZlMywxMDY3MTMzNjAwLDEwODA0MzU2MDAsMTA5OTE4OGUzLDExMTE4ODUyMDAsMTEzMDYzNzYwMCwxMTQzMzM0ODAwLDExNjIwODcyMDAsMTE3NDc4NDQwMCwxMTkzNTM2ODAwLDEyMDY4Mzg4MDAsMTIyNDk4NjQwMCwxMjM4Mjg4NDAwLDEyNTY0MzZlMywxMjY5NzM4ZTMsMTI4ODQ5MDQwMCwxMzAxMTg3NjAwLDEzMTk5NGU0LDEzMzI2MzcyMDAsMTM1MTM4OTYwMCwxMzY0NjkxNjAwLDEzODI4MzkyMDAsMTM5NjE0MTIwMCwxNDE0Mjg4ODAwLDE0Mjc1OTA4MDAsMTQ0NTczODQwMCwxNDU5MDQwNDAwLDE0Nzc3OTI4MDAsMTQ5MDQ5ZTQsMTUwOTI0MjQwMCwxNTIxOTM5NjAwLDE1NDA2OTJlMywxNTUzOTk0ZTMsMTU3MjE0MTYwMCwxNTg1NDQzNjAwLDE2MDM1OTEyMDAsMTYxNjg5MzIwMCwxNjM1NjQ1NjAwLDE2NDgzNDI4MDAsMTY2NzA5NTIwMCwxNjc5NzkyNDAwLDE2OTg1NDQ4MDAsMTcxMTg0NjgwMCwxNzI5OTk0NDAwLDE3NDMyOTY0MDAsMTc2MTQ0NGUzLDE3NzQ3NDZlMywxNzkyODkzNjAwLDE4MDYxOTU2MDAsMTgyNDk0OGUzLDE4Mzc2NDUyMDAsMTg1NjM5NzYwMCwxODY5MDk0ODAwLDE4ODc4NDcyMDAsMTkwMTE0OTIwMCwxOTE5Mjk2ODAwLDE5MzI1OTg4MDBdLApvZmZzZXQ6Wy0yMjA1LDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCwwLDM2MDAsNzIwMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwXX0sIkV1cm9wZS9ManVibGphbmEiOnt0aW1lOlstMjcxMzkxMDQwMCwtOTA1ODIxMjAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTY3N2U0LC03ODEwNDg4MDAsLTc2NjYxNjQwMCw0MTc1Nzg0MDAsNDMzMzA2ODAwLDQ0OTAyOGUzLDQ2NTM2MTIwMCw0ODEwODI0MDAsNDk2ODEwODAwLDUxMjUzMmUzLDUyODI2MDQwMCw1NDM5ODE2MDAsNTU5NzFlNCw1NzU0MzEyMDAsNTkxMTU5NjAwLDYwNjg4MDgwMCw2MjI2MDkyMDAsNjM4MzMwNDAwLDY1NDY2MzYwMCw2NzAzODQ4MDAsNjg2MTEzMjAwLDcwMTgzNDQwMCw3MTc1NjI4MDAsNzMzMjg0ZTMsNzQ5MDEyNDAwLDc2NDczMzYwMCw3ODA0NjJlMyw3OTYxODMyMDAsODExOTExNjAwLDgyODIzNzYwMCw4NDYzODUyMDAsODU5Njg3MjAwLDg3NzgzNDgwMCw4OTExMzY4MDAsOTA5Mjg0NDAwLDkyMjU4NjQwMCw5NDEzMzg4MDAsOTU0MDM2ZTMsOTcyNzg4NDAwLDk4NTQ4NTYwMCwxMDA0MjM4ZTMsMTAxNzU0ZTQsMTAzNTY4NzYwMCwxMDQ4OTg5NjAwLDEwNjcxMzcyMDAsMTA4MDQzOTIwMCwxMDk5MTkxNjAwLDExMTE4ODg4MDAsMTEzMDY0MTIwMCwxMTQzMzM4NDAwLDExNjIwOTA4MDAsMTE3NDc4OGUzLDExOTM1NDA0MDAsMTIwNjg0MjQwMCwxMjI0OTllNCwxMjM4MjkyZTMsMTI1NjQzOTYwMCwxMjY5NzQxNjAwLDEyODg0OTRlMywxMzAxMTkxMjAwLDEzMTk5NDM2MDAsMTMzMjY0MDgwMCwxMzUxMzkzMjAwLDEzNjQ2OTUyMDAsMTM4Mjg0MjgwMCwxMzk2MTQ0ODAwLDE0MTQyOTI0MDAsMTQyNzU5NDQwMCwxNDQ1NzQyZTMsMTQ1OTA0NGUzLDE0Nzc3OTY0MDAsMTQ5MDQ5MzYwMCwxNTA5MjQ2ZTMsMTUyMTk0MzIwMCwxNTQwNjk1NjAwLDE1NTM5OTc2MDAsMTU3MjE0NTIwMCwxNTg1NDQ3MjAwLDE2MDM1OTQ4MDAsMTYxNjg5NjgwMCwxNjM1NjQ5MjAwLDE2NDgzNDY0MDAsMTY2NzA5ODgwMCwxNjc5Nzk2ZTMsMTY5ODU0ODQwMCwxNzExODUwNDAwLDE3Mjk5OThlMywxNzQzM2U1LDE3NjE0NDc2MDAsMTc3NDc0OTYwMCwxNzkyODk3MjAwLDE4MDYxOTkyMDAsMTgyNDk1MTYwMCwxODM3NjQ4ODAwLDE4NTY0MDEyMDAsMTg2OTA5ODQwMCwxODg3ODUwODAwLDE5MDExNTI4MDAsMTkxOTMwMDQwMCwxOTMyNjAyNDAwXSxvZmZzZXQ6WzM0ODQsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDBdfSwiRXVyb3BlL0xvbmRvbiI6ewp0aW1lOlstMzg1MjY2MjQwMCwtMTY5MTk2NGUzLC0xNjgwNDY5MjAwLC0xNjY0MTQzMjAwLC0xNjUwMTQyODAwLC0xNjMzOTAzMjAwLC0xNjE3NDgzNjAwLC0xNjAxODQ4ODAwLC0xNTg2MDM0ZTMsLTE1NzAzOTkyMDAsLTE1NTIxNjUyMDAsLTE1MzgzNDQ4MDAsLTE1MjI1M2U0LC0xNTA3NWU1LC0xNDkwNTYyZTMsLTE0NzM2MzEyMDAsLTE0NjA5MjY4MDAsLTE0NDI3ODY0MDAsLTE0Mjg4NzI0MDAsLTE0MTA3MzJlMywtMTM5NjIxMzIwMCwtMTM3OTI4MjQwMCwtMTM2NDc2MzYwMCwtMTM0ODQzNzYwMCwtMTMzMzMxNGUzLC0xMzE1Nzc4NDAwLC0xMzAxMjU5NjAwLC0xMjg0MzI4ODAwLC0xMjY5ODFlNCwtMTI1MzQ4NGUzLC0xMjM4MzYwNDAwLC0xMjIxNDI5NjAwLC0xMjA2OTEwODAwLC0xMTg5OThlNCwtMTE3NTQ2MTIwMCwtMTE1OTEzNTIwMCwtMTE0MzQwNjgwMCwtMTEyNjQ3NmUzLC0xMTExOTU3MjAwLC0xMDk1NjMxMjAwLC0xMDgwNTA3NjAwLC0xMDYzNTc2ODAwLC0xMDQ5MDU4ZTMsLTEwMzIxMjcyMDAsLTEwMTc2MDg0MDAsLTEwMDEyODI0MDAsLTk4NjE1ODgwMCwtOTY5MjI4ZTMsLTk1MDQ3NTYwMCwtOTQyMDEyZTMsLTkwNDUxNDQwMCwtODk2MDQzNjAwLC04NzU0ODRlMywtODY0NTk0ZTMsLTg0NDAzNDQwMCwtODMyNTM5NjAwLC04MTI1ODQ4MDAsLTc5ODA2NmUzLC03ODEwNDg4MDAsLTc3MjA1OTYwMCwtNzY0ODAyZTMsLTc0ODQ3NmUzLC03MzMzNTI0MDAsLTcxOTQ0NTYwMCwtNzE3MDI2NDAwLC03MDY3NDEyMDAsLTY5OTQ4MzYwMCwtNjg3OTk2ZTMsLTY2ODAzNGUzLC02NTQ3MzJlMywtNjM2NTg0NDAwLC02MjIwNzI4MDAsLTYwNTczOTYwMCwtNTkwNjIzMjAwLC01NzQyOWU0LC01NTg1Njg4MDAsLTU0MjIzNTYwMCwtNTI3MTE5MjAwLC01MTI2MDA0MDAsLTQ5NjI3NDQwMCwtNDgxMTUwODAwLC00NjQyMmU0LC00NDk3MDEyMDAsLTQzMjE2NTYwMCwtNDE3NjQ2ODAwLC00MDEzMjA4MDAsLTM4NjE5NzIwMCwtMzY5MjY2NDAwLC0zNTQ3NDc2MDAsLTMzNzgxNjgwMCwtMzIzMjk4ZTMsLTMwNjk3MmUzLC0yOTE4NDg0MDAsLTI3NjczMmUzLC0yNTc5Nzk2MDAsLTI0NTI4MjQwMCwtMjI2NTNlNCwtMjEzMjI4ZTMsLTE5NTA4MDQwMCwtMTgyMzgzMjAwLC0xNjM2MzA4MDAsLTE1MDkzMzYwMCwtMTMyMTgxMjAwLC0xMTk0ODRlMywtMTAwNzMxNjAwLC04ODAzNDQwMCwtNjg2NzcyMDAsLTU5MDA0ZTMsLTM3MjM4NDAwLDU3NzI2ZTMsNjk4MTg0MDAsODkxNzU2MDAsMTAxMjY4ZTMsMTIwNjI1MjAwLDEzMjcxNzYwMCwxNTIwNzQ4MDAsMTY0MTY3MjAwLDE4MzUyNDQwMCwxOTYyMjE2MDAsMjE0OTc0ZTMsMjI3NjcxMjAwLDI0NjQyMzYwMCwyNTkxMjA4MDAsMjc4NDc4ZTMsMjkwNTcwNDAwLDMwOTkyNzYwMCwzMjIwMmU0LDM0MTM3NzIwMCwzNTQ2NzU2MDAsMzcyODIzMjAwLDM4NjEyNTIwMCw0MDQyNzI4MDAsNDE3NTc0ODAwLDQzNTcyMjQwMCw0NDkwMjQ0MDAsNDY3Nzc2ODAwLDQ4MTA3ODgwMCw0OTkyMjY0MDAsNTEyNTI4NDAwLDUzMDY3NmUzLDU0Mzk3OGUzLDU2MjEyNTYwMCw1NzU0Mjc2MDAsNTkzNTc1MjAwLDYwNjg3NzIwMCw2MjU2Mjk2MDAsNjM4MzI2ODAwLDY1NzA3OTIwMCw2NzAzODEyMDAsNjg4NTI4ODAwLDcwMTgzMDgwMCw3MTk5Nzg0MDAsNzMzMjgwNDAwLDc1MTQyOGUzLDc2NDczZTQsNzgyODc3NjAwLDc5NjE3OTYwMCw4MTQzMjcyMDAsODI4MjM0ZTMsODQ2MzgxNjAwLDg1OTY4MzYwMCw4Nzc4MzEyMDAsODkxMTMzMjAwLDkwOTI4MDgwMCw5MjI1ODI4MDAsOTQxMzM1MjAwLDk1NDAzMjQwMCw5NzI3ODQ4MDAsOTg1NDgyZTMsMTAwNDIzNDQwMCwxMDE3NTM2NDAwLDEwMzU2ODRlMywxMDQ4OTg2ZTMsMTA2NzEzMzYwMCwxMDgwNDM1NjAwLDEwOTkxODhlMywxMTExODg1MjAwLDExMzA2Mzc2MDAsMTE0MzMzNDgwMCwxMTYyMDg3MjAwLDExNzQ3ODQ0MDAsMTE5MzUzNjgwMCwxMjA2ODM4ODAwLDEyMjQ5ODY0MDAsMTIzODI4ODQwMCwxMjU2NDM2ZTMsMTI2OTczOGUzLDEyODg0OTA0MDAsMTMwMTE4NzYwMCwxMzE5OTRlNCwxMzMyNjM3MjAwLDEzNTEzODk2MDAsMTM2NDY5MTYwMCwxMzgyODM5MjAwLDEzOTYxNDEyMDAsMTQxNDI4ODgwMCwxNDI3NTkwODAwLDE0NDU3Mzg0MDAsMTQ1OTA0MDQwMCwxNDc3NzkyODAwLDE0OTA0OWU0LDE1MDkyNDI0MDAsMTUyMTkzOTYwMCwxNTQwNjkyZTMsMTU1Mzk5NGUzLDE1NzIxNDE2MDAsMTU4NTQ0MzYwMCwxNjAzNTkxMjAwLDE2MTY4OTMyMDAsMTYzNTY0NTYwMCwxNjQ4MzQyODAwLDE2NjcwOTUyMDAsMTY3OTc5MjQwMCwxNjk4NTQ0ODAwLDE3MTE4NDY4MDAsMTcyOTk5NDQwMCwxNzQzMjk2NDAwLDE3NjE0NDRlMywxNzc0NzQ2ZTMsMTc5Mjg5MzYwMCwxODA2MTk1NjAwLDE4MjQ5NDhlMywxODM3NjQ1MjAwLDE4NTYzOTc2MDAsMTg2OTA5NDgwMCwxODg3ODQ3MjAwLDE5MDExNDkyMDAsMTkxOTI5NjgwMCwxOTMyNTk4ODAwXSwKb2Zmc2V0OlstNzUsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDBdfSwiRXVyb3BlL0x1eGVtYm91cmciOnt0aW1lOlstMjA2OTcxMmUzLC0xNjkyNDkzMjAwLC0xNjgwNDc2NDAwLC0xNjYyMzM5NjAwLC0xNjUwMTVlNCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTYxMjY1NmUzLC0xNjA0Mjc4ODAwLC0xNTg1NTE1NjAwLC0xNTc0MDM4ODAwLC0xNTUyMjU1MjAwLC0xNTM5OTk3MjAwLC0xNTIwNTQ2NDAwLC0xNTA3NTEwODAwLC0xNDkwNTY5MjAwLC0xNDczNjQyZTMsLTE0NTkxMTZlMywtMTQ0NDAwNjgwMCwtMTQyNzY3ZTQsLTE0MTE4NjZlMywtMTM5NjIyMDQwMCwtMTM3OTI5MzIwMCwtMTM2NDc3MDgwMCwtMTM0ODQ0ODQwMCwtMTMzMzMyMTIwMCwtMTMxNjM5NGUzLC0xMzAxMjY2ODAwLC0xMjg0MzM5NjAwLC0xMjY5ODFlNCwtMTI1MzQ4NGUzLC0xMjM4MzYwNDAwLC0xMjIxNDI5NjAwLC0xMjA2OTEwODAwLC0xMTkxMTg5NjAwLC0xMTc1NDYxMjAwLC0xMTYwMzQ0ODAwLC0xMTQzNDA2ODAwLC0xMTI3Njg1NjAwLC0xMTExOTU3MjAwLC0xMDk2ODQwODAwLC0xMDgwNTA3NjAwLC0xMDYzNTc2ODAwLC0xMDQ5MDU4ZTMsLTEwMzMzMzY4MDAsLTEwMTc2MDg0MDAsLTEwMDI0OTJlMywtOTg2MTU4ODAwLC05NjkyMjhlMywtOTUwNDc1NjAwLC05NDIwMTJlMywtOTM1MTgyODAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTc5Nzk2MDAsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLC03NDU0NTJlMywtNzMzMjY2ZTMsMjI4ODgwODAwLDI0NDAwNDQwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbMTQ3NiwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9NYWRyaWQiOnt0aW1lOlstMjE3NzQ1MzY4NCwtMTYzMTkyNjgwMCwtMTYxNjg4NmUzLC0xNjAxMTY4NDAwLC0xNTg1MzVlNCwtMTQ0MjQ1MTYwMCwtMTQyNzY3ZTQsLTEzNzkyOTMyMDAsLTEzNjQ3NzA4MDAsLTEzNDg0NDg0MDAsLTEzMzMzMjEyMDAsLTEzMTYzOTA0MDAsLTEzMDEyNjY4MDAsLTEyODQzMzk2MDAsLTEyNjk4MTcyMDAsLTEwMjY5NTRlMywtMTAxNzYxNTYwMCwtMTAwMTg5OGUzLC05OTk0Nzg4MDAsLTk4NjA4MzIwMCwtOTU0MTExNjAwLC05NDAyMDg0MDAsLTg3MzA3NTYwMCwtODYyNjE0ZTMsLTg0MjgzNTYwMCwtODI4MzEzMjAwLC04MTEzODZlMywtNzk2ODYzNjAwLC03Nzk5MzY0MDAsLTc2NTQxNGUzLC03NDg0ODY4MDAsLTczMzk2NDQwMCwtNjUyMzIzNjAwLC02MzkwMTA4MDAsMTM1MTI2ZTMsMTUwMjUzMjAwLDE2NjU3NTYwMCwxODE3MDI4MDAsMTk2ODE1NjAwLDIxMjU0NzYwMCwyMjg4N2U0LDI0Mzk5NzIwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbLTg4NCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9NYWx0YSI6e3RpbWU6Wy0yNDAzNDc1MjAwLC0xNjkwNzYxNjAwLC0xNjgwNDhlNCwtMTY2NDc1NTIwMCwtMTY0ODk0NGUzLC0xNjM1MTJlNCwtMTYxNjg4OTYwMCwtMTYwNDI3NTIwMCwtMTU4NTUyNjQwMCwtMTU3MTAxMTIwMCwtMTU1NTI4NjQwMCwtOTMyNDI4ODAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNTg0ODAwLC03OTgwNjZlMywtNzgxMDQ4ODAwLC03NjY3MWU0LC03NTA4OTUyMDAsLTczMzM1MjQwMCwtNzE5NDUyODAwLC03MDE5MWU0LC02ODkyMDU2MDAsLTY3MDQ1MzIwMCwtMTE0MDQ4ZTMsLTEwMzE2MTYwMCwtODE5OTM2MDAsLTcxNzA4NDAwLC01MDU0NGUzLC00MDI1ODgwMCwtMTg0ODk2MDAsLTgyMDQ0MDAsMTI5NmU0LDIzMjQ1MjAwLDQzODA0ODAwLDU0Njk0ODAwLDc1ODU5MjAwLDg2NzQ5MjAwLDEwMjM4NGUzLDExODExMjQwMCwxMzU3MzQ0MDAsMTQ4NTI1MjAwLDE2NzE5MTIwMCwxODA0OTY4MDAsMTk4NjQwODAwLDIxMTk0NjQwMCwyMzAwOTA0MDAsMjQzMzk2ZTMsMjYxNTRlNCwyNzQ4NDU2MDAsMjkyOTg5NjAwLDMwNjI5NTIwMCwzMjMzMTZlMywzMzgzNDk2MDAsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLApvZmZzZXQ6WzM0ODQsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9Nb3Njb3ciOnt0aW1lOlstMjg0MDE0MDgwMCwtMTY4ODI1NmUzLC0xNjU2ODFlNCwtMTY0MTM0MDgwMCwtMTYyNzk1NmUzLC0xNjE4NzAwNDAwLC0xNTk2NDE2NDAwLC0xNTkzODA0NTIxLC0xNTg5ODQ2NDAwLC0xNTQyNDE2NDAwLC0xNTM5NDc4ODAwLC0xNTI1MzA1NjAwLC0xNTIyNzEzNjAwLC0xNDkxMTc3NjAwLC0xMjQ3NTI5NjAwLDM1NDkzMTIwMCwzNzA3NDI0MDAsMzg2NDY3MjAwLDQwMjI3ODQwMCw0MTgwMDMyMDAsNDMzODE0NDAwLDQ0OTYyNTYwMCw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw2OTU3ODY0MDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTQxNDI4ODgwMCwxOTI1MDAyODAwXSxvZmZzZXQ6WzkwMTcsOTAxNyw5MDc5LDEyNjc5LDkwNzksMTYyNzksMTI2NzksMTYyNzksMTQ0MDAsMTA4MDAsMTQ0MDAsMThlMywxNDQwMCwxMDgwMCw3MjAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDEwODAwLDcyMDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDBdfSwiRXVyb3BlL09zbG8iOnsKdGltZTpbLTIzNjY3NTUyMDAsLTE2OTE4ODEyMDAsLTE2ODA1NjY0MDAsLTkyNzUwNzYwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03NjUzMjA0MDAsLTM0MDg0MDgwMCwtMzI0NTA3NjAwLC0zMDg3ODY0MDAsLTI5MzA1OGUzLC0yNzczMzY4MDAsLTI2MTYwODQwMCwtMjQ1ODg3MjAwLC0yMzAxNTg4MDAsLTIxNDQzNzYwMCwtMTk4NzA5MjAwLC0xODI5ODhlMywtMTY2NjU0ODAwLC0xNDc5MDk2MDAsLTEzNTIwNTIwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMjU4MCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9QYXJpcyI6ewp0aW1lOlstMjQ4NjU5MmUzLC0xODU1OTU4NDAwLC0xNjg5ODE0ODAwLC0xNjgwMzkzNjAwLC0xNjY1MzYzNjAwLC0xNjQ4MzM5MjAwLC0xNjM1MTIzNjAwLC0xNjE2ODg5NjAwLC0xNjA0Mjc4ODAwLC0xNTg1NDRlNCwtMTU3NDAzODgwMCwtMTU1MjI2MjQwMCwtMTUzOTk5NzIwMCwtMTUyMDU1MzYwMCwtMTUwNzUxMDgwMCwtMTQ5MDU3MjgwMCwtMTQ3MDYxOGUzLC0xNDU5MTIzMjAwLC0xNDQ0MDA2ODAwLC0xNDI3NjczNjAwLC0xNDExOTUyNDAwLC0xMzk2MjI0ZTMsLTEzNzkyOTMyMDAsLTEzNjQ3NzQ0MDAsLTEzNDg0NDg0MDAsLTEzMzMzMjQ4MDAsLTEzMTYzOTRlMywtMTMwMTI3MDQwMCwtMTI4NDMzOTYwMCwtMTI2OTgyMDgwMCwtMTI1MzQ5NDgwMCwtMTIzODM3MTIwMCwtMTIyMTQ0MDQwMCwtMTIwNjkyMTYwMCwtMTE5MTIwMDQwMCwtMTE3NTQ3MmUzLC0xMTYwMzU1NjAwLC0xMTQzNDE3NjAwLC0xMTI3Njk2NDAwLC0xMTExOTY4ZTMsLTEwOTY4NTE2MDAsLTEwODA1MTg0MDAsLTEwNjM1ODc2MDAsLTEwNDkwNjg4MDAsLTEwMzMzNDc2MDAsLTEwMTc2MTkyMDAsLTEwMDI1MDI4MDAsLTk4NjE2OTYwMCwtOTY5MjM4ODAwLC05NTA0ODY0MDAsLTk0MjAxMmUzLC05MzI0MzI0MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTgwMDA2NGUzLC03OTYyNTg4MDAsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLDE5NjgyMjgwMCwyMTI1NDc2MDAsMjI4ODgwODAwLDI0NDAwNDQwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0Ols1NjEsNTYxLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDBdfSwiRXVyb3BlL1ByYWd1ZSI6ewp0aW1lOlstMzc4NjgyNTYwMCwtMjQ2OTM5ODQwMCwtMTY5MzcwMjgwMCwtMTY4MDQ3NjQwMCwtMTY2MzQ1MmUzLC0xNjUwMTQyODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC05Mzg5MDE2MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc4MTA0ODgwMCwtNzY1MzIwNDAwLC03NDY1NzUyMDAsLTczMzM1MjQwMCwtNzI4NTE0ZTMsLTcyMTI2ZTQsLTcxNjQyMTYwMCwtNzAxOTAyODAwLC02ODQ5NzJlMywtNjcwNDUzMjAwLC02NTQyMTM2MDAsLTYzOTAwMzYwMCwyOTE3OGU0LDMwNzUwODQwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMzQ2NCwzNDY0LDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCwwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9SaWdhIjp7CnRpbWU6Wy0yODQwMTQwODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC0xNjAxNjc2ZTMsLTE1OTcyNjZlMywtMTM3NzMwMjQwMCwtOTI4MDIyNDAwLC04OTk1MTA0MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc5NTgzMDQwMCwzNTQ5MzEyMDAsMzcwNzQyNDAwLDM4NjQ2NzIwMCw0MDIyNzg0MDAsNDE4MDAzMjAwLDQzMzgxNDQwMCw0NDk2MjU2MDAsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0Mzk2NmUzLDg1OTY5MDgwMCw4Nzc4Mzg0MDAsODkxMTQwNDAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDk4NTQ4OTIwMCwxMDA0MjQxNjAwLDEwMTc1NDM2MDAsMTAzNTY5MTIwMCwxMDQ4OTkzMjAwLDEwNjcxNDA4MDAsMTA4MDQ0MjgwMCwxMDk5MTk1MjAwLDExMTE4OTI0MDAsMTEzMDY0NDgwMCwxMTQzMzQyZTMsMTE2MjA5NDQwMCwxMTc0NzkxNjAwLDExOTM1NDRlMywxMjA2ODQ2ZTMsMTIyNDk5MzYwMCwxMjM4Mjk1NjAwLDEyNTY0NDMyMDAsMTI2OTc0NTIwMCwxMjg4NDk3NjAwLDEzMDExOTQ4MDAsMTMxOTk0NzIwMCwxMzMyNjQ0NDAwLDEzNTEzOTY4MDAsMTM2NDY5ODgwMCwxMzgyODQ2NDAwLDEzOTYxNDg0MDAsMTQxNDI5NmUzLDE0Mjc1OThlMywxNDQ1NzQ1NjAwLDE0NTkwNDc2MDAsMTQ3NzhlNSwxNDkwNDk3MjAwLDE1MDkyNDk2MDAsMTUyMTk0NjgwMCwxNTQwNjk5MjAwLDE1NTQwMDEyMDAsMTU3MjE0ODgwMCwxNTg1NDUwODAwLDE2MDM1OTg0MDAsMTYxNjkwMDQwMCwxNjM1NjUyODAwLDE2NDgzNWU0LDE2NjcxMDI0MDAsMTY3OTc5OTYwMCwxNjk4NTUyZTMsMTcxMTg1NGUzLDE3MzAwMDE2MDAsMTc0MzMwMzYwMCwxNzYxNDUxMjAwLDE3NzQ3NTMyMDAsMTc5MjkwMDgwMCwxODA2MjAyODAwLDE4MjQ5NTUyMDAsMTgzNzY1MjQwMCwxODU2NDA0ODAwLDE4NjkxMDJlMywxODg3ODU0NDAwLDE5MDExNTY0MDAsMTkxOTMwNGUzLDE5MzI2MDZlM10sb2Zmc2V0Ols1Nzk0LDU3OTQsOTM5NCw1Nzk0LDkzOTQsNTc5NCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJFdXJvcGUvUm9tZSI6ewp0aW1lOlstMzI1MjA5NmUzLC0yNDAzNTYyMjA0LC0xNjkwNzYxNjAwLC0xNjgwNDhlNCwtMTY2NDc1NTIwMCwtMTY0ODk0NGUzLC0xNjM1MTJlNCwtMTYxNjg4OTYwMCwtMTYwNDI3NTIwMCwtMTU4NTUyNjQwMCwtMTU3MTAxMTIwMCwtMTU1NTI4NjQwMCwtOTMyNDI4ODAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTgwNjZlMywtNzgxMDQ4ODAwLC03NjY3MWU0LC03NTA4OTUyMDAsLTczMzM1MjQwMCwtNzE5NDUyODAwLC03MDE5MWU0LC02ODkyMDU2MDAsLTY3MDQ1MzIwMCwtMTE0MDQ4ZTMsLTEwMzE2MTYwMCwtODE5OTM2MDAsLTcxNzA4NDAwLC01MDU0NGUzLC00MDI1ODgwMCwtMTg0ODk2MDAsLTgyMDQ0MDAsMTI5NmU0LDIzMjQ1MjAwLDQzODA0ODAwLDU0Njk0ODAwLDc1ODU5MjAwLDg2NzQ5MjAwLDEwNzkxMzYwMCwxMTgxOTg4MDAsMTM4NzU4NDAwLDE0OTY0ODQwMCwxNzA4MTI4MDAsMTgxMDk4ZTMsMjAyMjYyNDAwLDIxMjU0NzYwMCwyMzMxMDcyMDAsMjQzOTk3MjAwLDI2NTE2MTYwMCwyNzYwNTE2MDAsMjk2NjExMjAwLDMwNzUwMTIwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMjk5NiwyOTk2LDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvU29maWEiOnsKdGltZTpbLTI4NDAxNDA4MDAsLTIzNjk1MmU0LC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTY3N2U0LC03ODEwNDUyMDAsMjkxNzY5MjAwLDMwNzU4NzYwMCwzMjM4MjM2MDAsMzM5MDM3MjAwLDM1NTI3MzIwMCwzNzA0MDRlMywzODY3MjI4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM3NzYwMCw2ODYxMDI0MDAsNzAxODI3MjAwLDcxNzU1MmUzLDczMzI3NjgwMCw3NDkwMDE2MDAsNzY0NzI2NDAwLDc4MDQ1MTIwMCw3OTYxNzZlMyw4MTE5MDA4MDAsODI4MjMwNDAwLDg0NjM3NDQwMCw4NTk2OTA4MDAsODc3ODM4NDAwLDg5MTE0MDQwMCw5MDkyODhlMyw5MjI1OWU0LDk0MTM0MjQwMCw5NTQwMzk2MDAsOTcyNzkyZTMsOTg1NDg5MjAwLDEwMDQyNDE2MDAsMTAxNzU0MzYwMCwxMDM1NjkxMjAwLDEwNDg5OTMyMDAsMTA2NzE0MDgwMCwxMDgwNDQyODAwLDEwOTkxOTUyMDAsMTExMTg5MjQwMCwxMTMwNjQ0ODAwLDExNDMzNDJlMywxMTYyMDk0NDAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTE5NDgwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjE0ODQwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDU3NDU2MDAsMTQ1OTA0NzYwMCwxNDc3OGU1LDE0OTA0OTcyMDAsMTUwOTI0OTYwMCwxNTIxOTQ2ODAwLDE1NDA2OTkyMDAsMTU1NDAwMTIwMCwxNTcyMTQ4ODAwLDE1ODU0NTA4MDAsMTYwMzU5ODQwMCwxNjE2OTAwNDAwLDE2MzU2NTI4MDAsMTY0ODM1ZTQsMTY2NzEwMjQwMCwxNjc5Nzk5NjAwLDE2OTg1NTJlMywxNzExODU0ZTMsMTczMDAwMTYwMCwxNzQzMzAzNjAwLDE3NjE0NTEyMDAsMTc3NDc1MzIwMCwxNzkyOTAwODAwLDE4MDYyMDI4MDAsMTgyNDk1NTIwMCwxODM3NjUyNDAwLDE4NTY0MDQ4MDAsMTg2OTEwMmUzLDE4ODc4NTQ0MDAsMTkwMTE1NjQwMCwxOTE5MzA0ZTMsMTkzMjYwNmUzXSxvZmZzZXQ6WzU1OTYsNzAxNiw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL1N0b2NraG9sbSI6e3RpbWU6Wy0yODcxNjc2ODAwLC0yMjA4OTg4ODAwLC0xNjkyNDkzMjAwLC0xNjgwNDc2NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbNDMzMiwzNjE0LDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9UYWxsaW5uIjp7dGltZTpbLTI4NDAxNDA4MDAsLTE2MzgzMTY4MDAsLTE2MzIwMDI0MDAsLTE2MTg2OTMyMDAsLTE1OTM4MjA4MDAsLTE1MzU5MzI4MDAsLTkyNzkzNmUzLC04OTI5NDRlMywtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk3NjQ0ODAwLDM1NDkzMTIwMCwzNzA3NDI0MDAsMzg2NDY3MjAwLDQwMjI3ODQwMCw0MTgwMDMyMDAsNDMzODE0NDAwLDQ0OTYyNTYwMCw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDEwMTc1NDM2MDAsMTAzNTY5MTIwMCwxMDQ4OTkzMjAwLDEwNjcxNDA4MDAsMTA4MDQ0MjgwMCwxMDk5MTk1MjAwLDExMTE4OTI0MDAsMTEzMDY0NDgwMCwxMTQzMzQyZTMsMTE2MjA5NDQwMCwxMTc0NzkxNjAwLDExOTM1NDRlMywxMjA2ODQ2ZTMsMTIyNDk5MzYwMCwxMjM4Mjk1NjAwLDEyNTY0NDMyMDAsMTI2OTc0NTIwMCwxMjg4NDk3NjAwLDEzMDExOTQ4MDAsMTMxOTk0NzIwMCwxMzMyNjQ0NDAwLDEzNTEzOTY4MDAsMTM2NDY5ODgwMCwxMzgyODQ2NDAwLDEzOTYxNDg0MDAsMTQxNDI5NmUzLDE0Mjc1OThlMywxNDQ1NzQ1NjAwLDE0NTkwNDc2MDAsMTQ3NzhlNSwxNDkwNDk3MjAwLDE1MDkyNDk2MDAsMTUyMTk0NjgwMCwxNTQwNjk5MjAwLDE1NTQwMDEyMDAsMTU3MjE0ODgwMCwxNTg1NDUwODAwLDE2MDM1OTg0MDAsMTYxNjkwMDQwMCwxNjM1NjUyODAwLDE2NDgzNWU0LDE2NjcxMDI0MDAsMTY3OTc5OTYwMCwxNjk4NTUyZTMsMTcxMTg1NGUzLDE3MzAwMDE2MDAsMTc0MzMwMzYwMCwxNzYxNDUxMjAwLDE3NzQ3NTMyMDAsMTc5MjkwMDgwMCwxODA2MjAyODAwLDE4MjQ5NTUyMDAsMTgzNzY1MjQwMCwxODU2NDA0ODAwLDE4NjkxMDJlMywxODg3ODU0NDAwLDE5MDExNTY0MDAsMTkxOTMwNGUzLDE5MzI2MDZlM10sb2Zmc2V0Ols1OTQwLDU5NDAsMzYwMCw3MjAwLDM2MDAsNTk0MCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwXX0sIkV1cm9wZS9WaWVubmEiOnsKdGltZTpbLTI0MjIwNTEyMDAsLTE2OTM3MDI4MDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTU2OTcwOGUzLC0xNTU1Nzk0ZTMsLTkzODkwMTYwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03ODAxODEyMDAsLTc0ODQ3NmUzLC03MzMyNjZlMywtNzE3NjMxMjAwLC03MDE5MDI4MDAsLTY4NDk3MmUzLC02NzA0NTMyMDAsMzIzODI3MjAwLDMzODk0NzIwMCwzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0OlszOTIxLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvVmlsbml1cyI6ewp0aW1lOlstMjg0MDE0MDgwMCwtMTY3MjUzMTIwMCwtMTU4NTA5NDQwMCwtMTU2MTI0OGUzLC0xNTUzNTU4NDAwLC05MjgxOTUyMDAsLTkwMDExNTIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtODAyMTM3NjAwLDM1NDkzMTIwMCwzNzA3NDI0MDAsMzg2NDY3MjAwLDQwMjI3ODQwMCw0MTgwMDMyMDAsNDMzODE0NDAwLDQ0OTYyNTYwMCw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTQwNDAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDEwNDg5OTMyMDAsMTA2NzE0MDgwMCwxMDgwNDQyODAwLDEwOTkxOTUyMDAsMTExMTg5MjQwMCwxMTMwNjQ0ODAwLDExNDMzNDJlMywxMTYyMDk0NDAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTE5NDgwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjE0ODQwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDU3NDU2MDAsMTQ1OTA0NzYwMCwxNDc3OGU1LDE0OTA0OTcyMDAsMTUwOTI0OTYwMCwxNTIxOTQ2ODAwLDE1NDA2OTkyMDAsMTU1NDAwMTIwMCwxNTcyMTQ4ODAwLDE1ODU0NTA4MDAsMTYwMzU5ODQwMCwxNjE2OTAwNDAwLDE2MzU2NTI4MDAsMTY0ODM1ZTQsMTY2NzEwMjQwMCwxNjc5Nzk5NjAwLDE2OTg1NTJlMywxNzExODU0ZTMsMTczMDAwMTYwMCwxNzQzMzAzNjAwLDE3NjE0NTEyMDAsMTc3NDc1MzIwMCwxNzkyOTAwODAwLDE4MDYyMDI4MDAsMTgyNDk1NTIwMCwxODM3NjUyNDAwLDE4NTY0MDQ4MDAsMTg2OTEwMmUzLDE4ODc4NTQ0MDAsMTkwMTE1NjQwMCwxOTE5MzA0ZTMsMTkzMjYwNmUzXSxvZmZzZXQ6WzYwNzYsNTA0MCw1NzM2LDM2MDAsNzIwMCwzNjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCw3MjAwLDM2MDAsNzIwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL1dhcnNhdyI6ewp0aW1lOlstMjg0MDE0MDgwMCwtMTcxNzAyNzIwMCwtMTY5MzcwMjgwMCwtMTY4MDQ3NjQwMCwtMTY2MzQ1MmUzLC0xNjUwMTQyODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC0xNjAwNDY2NDAwLC0xNTg3MTU3MjAwLC0xNTAxNzE4NDAwLC05MzE3MzA0MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5NjYwMDgwMCwtNzc4NzIzMjAwLC03NjI2NTI4MDAsLTc0ODQ4MzIwMCwtNzMzMjY2ZTMsLTcxNTIxMmUzLC03MDE5MDI4MDAsLTY4NDk3MmUzLC02NzA0NTMyMDAsLTY1NDEyNzIwMCwtNjM5MDAzNjAwLC0zOTcwOTA4MDAsLTM4NjgwNTYwMCwtMzcxMDg0NDAwLC0zNTUzNTZlMywtMzM0MTkxNjAwLC0zMjMzMDE2MDAsLTMwNzU4MDQwMCwtMjkxODUyZTMsLTI3MTI5MjQwMCwtMjYwNDAyNDAwLC0yMzk4NDI4MDAsLTIyODk1MjgwMCwtMjA4MzkzMjAwLC0xOTc1MDMyMDAsLTE3NjMzODgwMCwtMTY2MDUzNjAwLDIyODg3NzIwMCwyNDQwMDA4MDAsMjYwMzI2ODAwLDI3NjA1NTIwMCwyOTE3NzY0MDAsMzA3NTA0ODAwLDMyMzgzMDgwMCwzMzg5NTQ0MDAsMzU0Njc1NjAwLDM3MDQwNGUzLDM4NjEyNTIwMCw0MDE4NTM2MDAsNDE3NTc0ODAwLDQzMzMwMzIwMCw0NDkwMjQ0MDAsNDY1MzU3NjAwLDQ4MTA3ODgwMCw0OTY4MDcyMDAsNTEyNTI4NDAwLDUyODI1NjgwMCw1NDM5NzhlMyw1NTk3MDY0MDAsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0Ols1MDQwLDUwNDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsNzIwMCwxMDgwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9aYWdyZWIiOnsKdGltZTpbLTI3MTM5MTA0MDAsLTkwNTgyMTIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03NjY2MTY0MDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0OlszODMyLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9adXJpY2giOnt0aW1lOlstMzY3NTE5NjgwMCwtMjM4NTI0NDgwMCwtOTA0NDMxNjAwLC04OTExMjI0MDAsLTg3Mjk4MmUzLC04NTk2NzI4MDAsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLApvZmZzZXQ6WzIwNDgsMTc4NiwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJQYWNpZmljL0F1Y2tsYW5kIjp7dGltZTpbLTMxOTIzOTM2MDAsLTEzMzAyOTM2MDAsLTEzMjAwMTJlMywtMTMwMDY1ODQwMCwtMTI4NzM1MjgwMCwtMTI2OTIwODgwMCwtMTI1NTkwMzIwMCwtMTIzNzc1OTIwMCwtMTIyNDQ1MzYwMCwtMTIwNjMwOTYwMCwtMTE5MjM5OTIwMCwtMTE3NDg2ZTQsLTExNjA5NDk2MDAsLTExNDM0MTA0MDAsLTExMjU4NzEyMDAsLTExMTI1NjU2MDAsLTEwOTQ0MjE2MDAsLTEwODExMTZlMywtMTA2Mjk3MmUzLC0xMDQ5NjY2NDAwLC0xMDMxNTIyNDAwLC0xMDE4MjE2ODAwLC0xMDAwMDcyODAwLC05ODY3NjcyMDAsLTk2ODAxODQwMCwtOTU1MzE3NjAwLC05MzY1Njg4MDAsLTkyMzI2MzIwMCwtNzU3MzgyNDAwLDE1MjY3NmUzLDE2MjM1NjQwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NDMxOGUzLDQwNDg3NzYwMCw0MTU3Njc2MDAsNDM2MzI3MjAwLDQ0NzIxNzIwMCw0Njc3NzY4MDAsNDc4NjY2ODAwLDQ5OTIyNjQwMCw1MTAxMTY0MDAsNTMwNjc2ZTMsNTQxNTY2ZTMsNTYyMTI1NjAwLDU3MzYyMDQwMCw1OTQxOGU0LDYwNTA3ZTQsNjIzODE1MjAwLDYzNzcyOTIwMCw2NTUyNjQ4MDAsNjY5MTc4ODAwLDY4NjcxNDQwMCw3MDA2Mjg0MDAsNzE4MTY0ZTMsNzMyNjgyODAwLDc0OTYxMzYwMCw3NjQxMzI0MDAsNzgxMDYzMjAwLDc5NTU4MmUzLDgxMjUxMjgwMCw4MjcwMzE2MDAsODQ0NTY3MjAwLDg1ODQ4MTIwMCw4NzYwMTY4MDAsODg5OTMwODAwLDkwNzQ2NjQwMCw5MjE5ODUyMDAsOTM4OTE2ZTMsOTUzNDM0ODAwLDk3MDM2NTYwMCw5ODQ4ODQ0MDAsMTAwMjQyZTQsMTAxNjMzNGUzLDEwMzM4Njk2MDAsMTA0Nzc4MzYwMCwxMDY1MzE5MjAwLDEwNzk4MzhlMywxMDk2NzY4ODAwLDExMTEyODc2MDAsMTEyODIxODQwMCwxMTQyNzM3MjAwLDExNTk2NjhlMywxMTc0MTg2ODAwLDExOTExMTc2MDAsMTIwNzQ1MDgwMCwxMjIyNTY3MjAwLDEyMzg5MDA0MDAsMTI1NDAxNjgwMCwxMjcwMzVlNCwxMjg1NDY2NDAwLDEzMDE3OTk2MDAsMTMxNjkxNmUzLDEzMzMyNDkyMDAsMTM0ODk3MDQwMCwxMzY1MzAzNjAwLDEzODA0MmU0LDEzOTY3NTMyMDAsMTQxMTg2OTYwMCwxNDI4MjAyODAwLDE0NDMzMTkyMDAsMTQ1OTY1MjQwMCwxNDc0NzY4ODAwLDE0OTExMDJlMywxNTA2MjE4NDAwLDE1MjI1NTE2MDAsMTUzODI3MjgwMCwxNTU0NjA2ZTMsMTU2OTcyMjQwMCwxNTg2MDU1NjAwLDE2MDExNzJlMywxNjE3NTA1MjAwLDE2MzI2MjE2MDAsMTY0ODk1NDgwMCwxNjY0MDcxMjAwLDE2ODA0MDQ0MDAsMTY5NTUyMDgwMCwxNzEyNDU4ODAwLDE3Mjc1NzUyMDAsMTc0MzkwODQwMCwxNzU5MDI0ODAwLDE3NzUzNThlMywxNzkwNDc0NDAwLDE4MDY4MDc2MDAsMTgyMTkyNGUzLDE4MzgyNTcyMDAsMTg1MzM3MzYwMCwxODY5NzA2ODAwLDE4ODU0MjhlMywxOTAxNzYxMjAwLDE5MTY4Nzc2MDAsMTkzMzIxMDgwMF0sb2Zmc2V0Ols0MTk0NCw0MTQwMCw0NWUzLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwXX0sIlBhY2lmaWMvQ2hhdGhhbSI6ewp0aW1lOlstMzE5MjM5MzYwMCwtNzU3MzgyNDAwLDE1MjY3ODcwMCwxNjIzNTkxMDAsMTgzNTIzNTAwLDE5NTAxODMwMCwyMTU1Nzc5MDAsMjI2NDY3OTAwLDI0NzAyNzUwMCwyNTc5MTc1MDAsMjc4NDc3MTAwLDI4OTM2NzEwMCwzMDk5MjY3MDAsMzIwODE2NzAwLDM0MTM3NjMwMCwzNTIyNjYzMDAsMzcyODI1OTAwLDM4NDMyMDcwMCw0MDQ4ODAzMDAsNDE1NzcwMzAwLDQzNjMyOTkwMCw0NDcyMTk5MDAsNDY3Nzc5NTAwLDQ3ODY2OTUwMCw0OTkyMjkxMDAsNTEwMTE5MTAwLDUzMDY3ODcwMCw1NDE1Njg3MDAsNTYyMTI4MzAwLDU3MzYyMzEwMCw1OTQxODI3MDAsNjA1MDcyNzAwLDYyMzgxNzkwMCw2Mzc3MzE5MDAsNjU1MjY3NTAwLDY2OTE4MTUwMCw2ODY3MTcxMDAsNzAwNjMxMTAwLDcxODE2NjcwMCw3MzI2ODU1MDAsNzQ5NjE2MzAwLDc2NDEzNTEwMCw3ODEwNjU5MDAsNzk1NTg0NzAwLDgxMjUxNTUwMCw4MjcwMzQzMDAsODQ0NTY5OTAwLDg1ODQ4MzkwMCw4NzYwMTk1MDAsODg5OTMzNTAwLDkwNzQ2OTEwMCw5MjE5ODc5MDAsOTM4OTE4NzAwLDk1MzQzNzUwMCw5NzAzNjgzMDAsOTg0ODg3MTAwLDEwMDI0MjI3MDAsMTAxNjMzNjcwMCwxMDMzODcyMzAwLDEwNDc3ODYzMDAsMTA2NTMyMTkwMCwxMDc5ODQwNzAwLDEwOTY3NzE1MDAsMTExMTI5MDMwMCwxMTI4MjIxMTAwLDExNDI3Mzk5MDAsMTE1OTY3MDcwMCwxMTc0MTg5NTAwLDExOTExMjAzMDAsMTIwNzQ1MzUwMCwxMjIyNTY5OTAwLDEyMzg5MDMxMDAsMTI1NDAxOTUwMCwxMjcwMzUyNzAwLDEyODU0NjkxMDAsMTMwMTgwMjMwMCwxMzE2OTE4NzAwLDEzMzMyNTE5MDAsMTM0ODk3MzEwMCwxMzY1MzA2MzAwLDEzODA0MjI3MDAsMTM5Njc1NTkwMCwxNDExODcyMzAwLDE0MjgyMDU1MDAsMTQ0MzMyMTkwMCwxNDU5NjU1MTAwLDE0NzQ3NzE1MDAsMTQ5MTEwNDcwMCwxNTA2MjIxMTAwLDE1MjI1NTQzMDAsMTUzODI3NTUwMCwxNTU0NjA4NzAwLDE1Njk3MjUxMDAsMTU4NjA1ODMwMCwxNjAxMTc0NzAwLDE2MTc1MDc5MDAsMTYzMjYyNDMwMCwxNjQ4OTU3NTAwLDE2NjQwNzM5MDAsMTY4MDQwNzEwMCwxNjk1NTIzNTAwLDE3MTI0NjE1MDAsMTcyNzU3NzkwMCwxNzQzOTExMTAwLDE3NTkwMjc1MDAsMTc3NTM2MDcwMCwxNzkwNDc3MTAwLDE4MDY4MTAzMDAsMTgyMTkyNjcwMCwxODM4MjU5OTAwLDE4NTMzNzYzMDAsMTg2OTcwOTUwMCwxODg1NDMwNzAwLDE5MDE3NjM5MDAsMTkxNjg4MDMwMCwxOTMzMjEzNTAwXSxvZmZzZXQ6WzQ0MDI4LDQ0MTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwXX0sIlBhY2lmaWMvRmFrYW9mbyI6e3RpbWU6Wy0yMTc3NDUyODAwLDEzMjUyMDMyMDAsMTkyNTAzODgwMF0sb2Zmc2V0OlstNDEwOTYsLTM5NjAwLDQ2ODAwXX0sIlBhY2lmaWMvSG9ub2x1bHUiOnt0aW1lOlstMjMzNDEzOTIwMCwtMTE1NzMyMDgwMCwtMTE1NTQ3MDQwMCwtODgwMjM2ZTMsLTc2OTQyOTgwMCwtNzY1NDEwNDAwLC03MTIxODhlMywxOTI0OTU2ZTNdLG9mZnNldDpbLTM3ODg2LC0zNzgwMCwtMzQyMDAsLTM3ODAwLC0zNDIwMCwtMzQyMDAsLTM3ODAwLC0zNmUzXX0sIlBhY2lmaWMvTm9yZm9sayI6e3RpbWU6Wy0yMTc3NDUyODAwLC01OTk2MTZlMywxNTIwNzEyMDAsMTYyOTYxMjAwLDE0NDM5MjRlMywxNTcwMzI3MjAwLDE1ODYwNTU2MDAsMTYwMTc3NjgwMCwxNjE3NTA1MjAwLDE2MzMyMjY0MDAsMTY0ODk1NDgwMCwxNjY0Njc2ZTMsMTY4MDQwNDQwMCwxNjk2MTI1NjAwLDE3MTI0NTg4MDAsMTcyODE4ZTQsMTc0MzkwODQwMCwxNzU5NjI5NjAwLDE3NzUzNThlMywxNzkxMDc5MjAwLDE4MDY4MDc2MDAsMTgyMjUyODgwMCwxODM4MjU3MjAwLDE4NTM5Nzg0MDAsMTg2OTcwNjgwMCwxODg2MDMyODAwLDE5MDE3NjEyMDAsMTkxNzQ4MjQwMCwxOTMzMjEwODAwXSxvZmZzZXQ6WzQwMzEyLDQwMzIwLDQxNDAwLDQ1ZTMsNDE0MDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDBdfSwiVVMvTW91bnRhaW4iOnsKdGltZTpbLTI3MTc2Njg3OTYsLTE2MzMyOTg0MDAsLTE2MTUxNTQ0MDAsLTE2MDE4NDg4MDAsLTE1ODM3MDQ4MDAsLTE1NzAzOTkyMDAsLTE1NTE2NTA0MDAsLTE1Mzg5NDk2MDAsLTE1MzQxMTEyMDAsLTg4MDIzNmUzLC03Njk0MTcyMDAsLTc2NTQxMDQwMCwtMTQ3OTA5NjAwLC0xMzE1OGU0LC0xMTY0NmU0LC0xMDAxMzA0MDAsLTg0NDA1NjAwLC02ODY4MDgwMCwtNTI5NTZlMywtMzcyMzEyMDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sb2Zmc2V0OlstMjUxOTYsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDBdfX19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/59941.af22f3ab83cdfcc3935a.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.581Z","timestamp":1785120634581,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/59941.af22f3ab83cdfcc3935a.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\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/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b70-2da\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:20 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b5a74135f270c96b5e68e3f868a4b63e\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":730,"size_decoded":1064,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (730), with no line terminators","md5":"d829b77313e592f8d1913e78559754cd","sha1":"4bb78c4325498d327399604dd0dd90aa01fc6c87","sha256":"fdce8cb0a541548e40c8119d9c9bfcf3a9759dab795202f5302b4806a5938d50","sha512":"b1fa8c3f6815776f559376b98c708080898a95bd9128718fed3bb876db210241ae2be25002f53de0843ab5eb05c194a2f2f7f4a0b1000577797bf91ad7dbce5b","ssdeep":"","tlshash":"eb0128dea3465539e633dd73035783cb3004f6a28d389919fa44e92544cf7f04424d0e","first_seen":"2025-07-09T16:57:52.264591Z","last_seen":"2026-07-27T05:15:36.993129Z","times_seen":9967,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtVDJTTzp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMS1UMlNPOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtVDJTTzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLV8xLVQyU086dmFyKC0tY29sb3Itd2hpdGUpfS5sYWJlbC1lOWM2ZHljVntiYWNrZ3JvdW5kOnZhcigtLV8wLVQyU08pfS5sYWJlbC1lOWM2ZHljViAubG9nb1dyYXAtZTljNmR5Y1Ygc3Zne2hlaWdodDoxMHB4O21hcmdpbjo3cHggMDt3aWR0aDoxN3B4fS5sYWJlbC1lOWM2ZHljViAubG9nb1dyYXAtZTljNmR5Y1Ygc3ZnIHBhdGh7ZmlsbDp2YXIoLS1fMS1UMlNPKX0ubGFiZWwtZTljNmR5Y1YgLnN2Z1RleHRXcmFwLWU5YzZkeWNWIHN2Z3ttYXJnaW46NnB4IDB9LmxhYmVsLWU5YzZkeWNWIC5zdmdUZXh0V3JhcC1lOWM2ZHljViBzdmcgcGF0aHtmaWxsOnZhcigtLV8xLVQyU08pfS5sYWJlbC1lOWM2ZHljVi5sYXJnZS1lOWM2ZHljVntiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWJnLXNlY29uZGFyeSl9LmxhYmVsLWU5YzZkeWNWLmxhcmdlLWU5YzZkeWNWIC5sb2dvV3JhcC1lOWM2ZHljViBzdmd7aGVpZ2h0OjExcHg7bWFyZ2luOjExcHggMCAxMHB4O3dpZHRoOjIwcHh9LmxhYmVsLWU5YzZkeWNWLmxhcmdlLWU5YzZkeWNWIC5zdmdUZXh0V3JhcC1lOWM2ZHljViBzdmd7aGVpZ2h0OjE0cHg7bWFyZ2luOjEwcHggMDt3aWR0aDo3N3B4fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/widget-tabs.5a8ac64e423c5b26985d.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.600Z","timestamp":1785120634600,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/widget-tabs.5a8ac64e423c5b26985d.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-3fb5\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:19:03\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 658ed05d8e19e2a843d7a12a7d38f234\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":16309,"size_decoded":6987,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3923)","md5":"9cd39d09353a875ceaf0a5a8cb667f0a","sha1":"7695884953c7f8d55a29525cf317f2477390cc3d","sha256":"8b7585fd982d016e655fe4c370af7a457061c4857694600b2792f696117917ec","sha512":"79aa6435a1e01e34a529ba662d983f478862064b20c593d860773ab5f2bfcbbbd3cf9c1c11f912edf6c9875505324ba9779f80932f62a8351da7bb476de4a747","ssdeep":"384:XDPyYcg6ylabvcNseI1tw7lOf20Rh4441484IVPN3NC3vkdOYmQlnN/b0Aw:XDKYcg6yALcNseIPw0yVPN3NCcdOYmQk","tlshash":"28722aa3368a767bb29241ff50720152971e1005f90d88d0fae4eedeaf4e518713ae6c","first_seen":"2026-07-23T22:46:45.796031Z","last_seen":"2026-07-27T06:01:16.300114Z","times_seen":22,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s3Nzc2NF0sezUwMzcxNihlKXtlLmV4cG9ydHM9e3NxdWFyZVRhYnM6InNxdWFyZVRhYnMtZHk2b05haTgiLHNxdWFyZVRhYkJ1dHRvbjoic3F1YXJlVGFiQnV0dG9uLWR5Nm9OYWk4In19LDc3OTM4OShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtBY3Rpb25Hcm91cDooKT0+c30pO3ZhciBuPWkoOTkyODAzKTtjbGFzcyBze2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fYWN0aW9ucz1uZXcgTWFwLHRoaXMuX21hbmFnZXI9ZSx0aGlzLm9yZGVyPXQ/Lm9yZGVyPz8wLHRoaXMubW9kYWw9ISghdHx8IXQubW9kYWwpLHQmJih0aGlzLmRlc2M9dC5kZXNjKSx0JiZ0LmlzRGlzYWJsZWQ/ImZ1bmN0aW9uIj09dHlwZW9mIHQuaXNEaXNhYmxlZD90aGlzLmlzRGlzYWJsZWQ9dC5pc0Rpc2FibGVkOnRoaXMuaXNEaXNhYmxlZD0oKT0+ITA6dGhpcy5pc0Rpc2FibGVkPSgpPT4hMSx0aGlzLl9tYW5hZ2VyLnJlZ2lzdGVyR3JvdXAodGhpcyl9YWRkKGUpe2xldCB0PXRoaXMuX2FjdGlvbnMuZ2V0KGUuaG90a2V5KTt0fHwodD1bXSx0aGlzLl9hY3Rpb25zLnNldChlLmhvdGtleSx0KSk7Y29uc3QgaT1uZXcgbi5BY3Rpb24odGhpcyxlKTtyZXR1cm4gdC5wdXNoKGkpLGl9cmVtb3ZlKGUpe2NvbnN0IHQ9dGhpcy5fYWN0aW9ucy5nZXQoZS5ob3RrZXkpO2lmKCF0KXJldHVybjtjb25zdCBpPXQuZmluZEluZGV4KCh0PT50PT09ZSkpO2k+PTAmJigxPT09dC5sZW5ndGg/dGhpcy5fYWN0aW9ucy5kZWxldGUoZS5ob3RrZXkpOnQuc3BsaWNlKGksMSkpfWhhbmRsZUhvdGtleShlLHQpe2NvbnN0IGk9dGhpcy5fYWN0aW9ucy5nZXQoZSk7aWYoIWkpcmV0dXJuITE7Zm9yKGNvbnN0IG4gb2YgaSlpZigoIW4uZWxlbWVudHx8dC50YXJnZXQmJm4uZWxlbWVudC5jb250YWlucyh0LnRhcmdldCkpJiYhbi5pc0Rpc2FibGVkKHQpKXJldHVybiB0LnJlcGVhdCYmIW4uaXNSZXBlYXRBY2NlcHRlZHx8KG4uaGFuZGxlcih0KSx0aGlzLl9jYWxsTWF0Y2hlZEhvdGtleUhhbmRsZXIoZSkpLHQucHJldmVudERlZmF1bHQoKSwhMDtyZXR1cm4hMX1wcm9tb3RlKCl7dGhpcy5fbWFuYWdlci5wcm9tb3RlR3JvdXAodGhpcyl9ZGVzdHJveSgpe2Zvcihjb25zdFssZV1vZiB0aGlzLl9hY3Rpb25zKWZvcihjb25zdCB0IG9mIGUpdC5kZXN0cm95KCk7dGhpcy5fYWN0aW9ucy5jbGVhcigpLHRoaXMuX21hbmFnZXIudW5yZWdpc3Rlckdyb3VwKHRoaXMpfXN0YXRpYyBzZXRNYXRjaGVkSG90a2V5SGFuZGxlcihlKXtzLl9tYXRjaGVkSG90a2V5SGFuZGxlcj1lfV9jYWxsTWF0Y2hlZEhvdGtleUhhbmRsZXIoZSl7cy5fbWF0Y2hlZEhvdGtleUhhbmRsZXImJnMuX21hdGNoZWRIb3RrZXlIYW5kbGVyKGUpfX19LDI5MTM0MShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtBY3Rpb25NYW5hZ2VyOigpPT5kfSk7dmFyIG49aSgyMzIzNjQpLHM9aSgyMzU3MjQpLGE9aSg3MjEzNjkpLHI9aSg2OTYyMDgpO2NsYXNzIG8gZXh0ZW5kcyBuLldhdGNoZWRWYWx1ZXtzZXRWYWx1ZShlLHQpe2NvbnN0IGk9dGhpcy52YWx1ZSgpOyh0fHx2b2lkIDA9PT1pfHxpLmNvZGUhPT1lLmNvZGV8fGkubW9kaWZpZXJzIT09ZS5tb2RpZmllcnMpJiZzdXBlci5zZXRWYWx1ZShlKX19Y2xhc3MgZHtjb25zdHJ1Y3Rvcigpe3RoaXMuX2dyb3Vwcz1bXSx0aGlzLl9wcmVzc2VkS2V5cz1uZXcgbi5XYXRjaGVkVmFsdWUoMCksdGhpcy5fa2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlPW5ldyBvKG5ldyByLktleWJvYXJkUHJlc3NlZEtleXNTdGF0ZSgwKSksdGhpcy5fa2V5RG93bkxpc3RlbmVyPWU9PntpZihlLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2NvbnN0IHQ9KDAscy5oYXNoRnJvbUV2ZW50KShlKTtpZih0aGlzLl9wcmVzc2VkS2V5cy5zZXRWYWx1ZSh0KSx0aGlzLl9rZXlib2FyZFByZXNzZWRLZXlzU3RhdGUuc2V0VmFsdWUobmV3IHIuS2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlKCgwLHMubW9kaWZpZXJzRnJvbUV2ZW50KShlKSxlLmNvZGUpKSwhKDAsYS5pc05hdGl2ZVVJSW50ZXJhY3Rpb24pKHQsZS50YXJnZXQpKWZvcihsZXQgaT10aGlzLl9ncm91cHMubGVuZ3RoO2ktLSA+MDspe2NvbnN0IG49dGhpcy5fZ3JvdXBzW2ldO2lmKCFuLmlzRGlzYWJsZWQoKSl7aWYobi5oYW5kbGVIb3RrZXkodCxlKSlyZXR1cm47aWYobi5tb2RhbClyZXR1cm59fX0sdGhpcy5fa2V5VXBMaXN0ZW5lcj1lPT57Y29uc3QgdD0oMCxzLmhhc2hGcm9tRXZlbnQpKGUpO3RoaXMuX3ByZXNzZWRLZXlzLnNldFZhbHVlKHQpLHRoaXMuX2tleWJvYXJkUHJlc3NlZEtleXNTdGF0ZS5zZXRWYWx1ZShuZXcgci5LZXlib2FyZFByZXNzZWRLZXlzU3RhdGUoKDAscy5tb2RpZmllcnNGcm9tRXZlbnQpKGUpLCIiKSl9LHRoaXMuX2JsdXJFdmVudD0oKT0+e3RoaXMuX3ByZXNzZWRLZXlzLnNldFZhbHVlKDApLHRoaXMuX2tleWJvYXJkUHJlc3NlZEtleXNTdGF0ZS5zZXRWYWx1ZShuZXcgci5LZXlib2FyZFByZXNzZWRLZXlzU3RhdGUoMCwiIikpfSx0aGlzLl9tb3VzZUV2ZW50PWU9Pntjb25zdCB0PSgwLHMubW9kaWZpZXJzRnJvbUV2ZW50KShlKSxpPTI1NSYodGhpcy5fcHJlc3NlZEtleXMudmFsdWUoKT8/MCk7dGhpcy5fcHJlc3NlZEtleXMuc2V0VmFsdWUodHxpKX19bGlzdGVuKGUpe2UuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5fa2V5RG93bkxpc3RlbmVyKSxlLmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIix0aGlzLl9rZXlVcExpc3RlbmVyKSxlLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLHRoaXMuX2JsdXJFdmVudCksZS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuX21vdXNlRXZlbnQpfXVubGlzdGVuKGUpe2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5fa2V5RG93bkxpc3RlbmVyKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleXVwIix0aGlzLl9rZXlVcExpc3RlbmVyKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImJsdXIiLHRoaXMuX2JsdXJFdmVudCksCmUucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0aGlzLl9tb3VzZUV2ZW50KX1yZWdpc3Rlckdyb3VwKGUpe3RoaXMuX2dyb3Vwcy5wdXNoKGUpLHRoaXMuc29ydEdyb3VwcygpfXVucmVnaXN0ZXJHcm91cChlKXtmb3IobGV0IHQ9dGhpcy5fZ3JvdXBzLmxlbmd0aDt0LS07KXRoaXMuX2dyb3Vwc1t0XT09PWUmJnRoaXMuX2dyb3Vwcy5zcGxpY2UodCwxKX1wcm9tb3RlR3JvdXAoZSl7Y29uc3QgdD10aGlzLl9nZXRNb2RhbE9yZGVyRXBvY2goKSxpPWMoZSx0KTtsZXQgbj10aGlzLl9ncm91cHMuZmluZEluZGV4KChlPT5jKGUsdCk9PT1pKSkscz0wO2Zvcig7bjx0aGlzLl9ncm91cHMubGVuZ3RoJiZjKHRoaXMuX2dyb3Vwc1tuXSx0KT09PWk7KXtjb25zdCBhPXRoaXMuX2dyb3Vwc1tuXTthPT09ZT9zPTE6YyhhLHQpPT09aSYmKHRoaXMuX2dyb3Vwc1tuLXNdPWEpLG4rK310aGlzLl9ncm91cHNbbi1zXT1lfXByZXNzZWRLZXlzKCl7cmV0dXJuIHRoaXMuX3ByZXNzZWRLZXlzLnJlYWRvbmx5KCl9a2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlKCl7cmV0dXJuIHRoaXMuX2tleWJvYXJkUHJlc3NlZEtleXNTdGF0ZS5yZWFkb25seSgpfXNvcnRHcm91cHMoKXtjb25zdCBlPXRoaXMuX2dldE1vZGFsT3JkZXJFcG9jaCgpO3RoaXMuX2dyb3Vwcy5zb3J0KCgodCxpKT0+YyhpLGUpLWModCxlKSkpfV9nZXRNaW5PcmRlcigpe3JldHVybiB0aGlzLl9ncm91cHMucmVkdWNlKCgoZSx0KT0+TWF0aC5taW4oZSx0Lm9yZGVyKSksMCl9X2dldE1vZGFsT3JkZXJFcG9jaCgpe3JldHVybi0yKihNYXRoLmFicyh0aGlzLl9nZXRNaW5PcmRlcigpKS0xKX19ZnVuY3Rpb24gYyhlLHQpe3JldHVybiBlLm9yZGVyKyhlLm1vZGFsP3Q6MCl9fSw5OTI4MDMoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7QWN0aW9uOigpPT5ufSk7Y2xhc3Mgbntjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2dyb3VwPWU7Y29uc3R7aG90a2V5OmksaGFuZGxlcjpuLGRlc2M6cyxpc0Rpc2FibGVkOmEsZWxlbWVudDpyPW51bGwsaXNSZXBlYXRBY2NlcHRlZDpvPSExfT10O3RoaXMuaG90a2V5PWksdGhpcy5oYW5kbGVyPW4sdGhpcy5kZXNjPXMsdGhpcy5lbGVtZW50PXIsdGhpcy5pc1JlcGVhdEFjY2VwdGVkPW8sdGhpcy5pc0Rpc2FibGVkPWE/ImZ1bmN0aW9uIj09dHlwZW9mIGE/YTooKT0+ITA6KCk9PiExfWRlc3Ryb3koKXt0aGlzLl9ncm91cCYmKHRoaXMuX2dyb3VwLnJlbW92ZSh0aGlzKSx0aGlzLl9ncm91cD1udWxsKX19fSw3MjcwOShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtjcmVhdGVHcm91cDooKT0+cn0pO3ZhciBuPWkoMjkxMzQxKSxzPWkoNzc5Mzg5KTtjb25zdCBhPW5ldyBuLkFjdGlvbk1hbmFnZXI7YS5wcmVzc2VkS2V5cygpLGEua2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlKCk7ZnVuY3Rpb24gcihlKXtyZXR1cm4gbmV3IHMuQWN0aW9uR3JvdXAoYSxlKX19LDIzNTcyNChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtNb2RpZmllcnM6KCk9PnIsaGFzaEZyb21FdmVudDooKT0+ZCxob3RrZXlIYXNoVG9BcmlhS2V5c2hvcnRjdXRzOigpPT5tLGh1bWFuUmVhZGFibGVIYXNoOigpPT5oLGh1bWFuUmVhZGFibGVNb2RpZmllcnM6KCk9PmMsaXNNYWNLZXlib2FyZDooKT0+YSxtb2RpZmllcnNGcm9tRXZlbnQ6KCk9Pm99KTt2YXIgbixzPWkoNzM4NDU4KTshZnVuY3Rpb24oZSl7ZVtlLktleUNvZGU9MjU1XT0iS2V5Q29kZSIsZVtlLkNvbnRyb2w9MjU2XT0iQ29udHJvbCIsZVtlLkFsdD01MTJdPSJBbHQiLGVbZS5TaGlmdD0xMDI0XT0iU2hpZnQiLGVbZS5NZXRhPTIwNDhdPSJNZXRhIn0obnx8KG49e30pKTtjb25zdCBhPXMuaXNNYWN8fHMuaXNJT1M7dmFyIHI7ZnVuY3Rpb24gbyhlKXtsZXQgdD0wO3JldHVybiBlLnNoaWZ0S2V5JiYodCs9MTAyNCksZS5hbHRLZXkmJih0Kz01MTIpLGUuY3RybEtleSYmKHQrPTI1NiksZS5tZXRhS2V5JiYodCs9MjA0OCksdH1mdW5jdGlvbiBkKGUpe3JldHVybiBvKGUpfGUua2V5Q29kZX0hZnVuY3Rpb24oZSl7ZVtlLk5vbmU9MF09Ik5vbmUiLGVbZS5BbHQ9NTEyXT0iQWx0IixlW2UuU2hpZnQ9MTAyNF09IlNoaWZ0IixlW2UuTW9kPWE/MjA0ODoyNTZdPSJNb2QiLGVbZS5Db250cm9sPTI1Nl09IkNvbnRyb2wiLGVbZS5NZXRhPTIwNDhdPSJNZXRhIn0ocnx8KHI9e30pKTtmdW5jdGlvbiBjKGUsdD0hYSl7bGV0IGk9IiI7cmV0dXJuIDI1NiZlJiYoaSs9cChhPyJeIjoiQ3RybCIsdCkpLDUxMiZlJiYoaSs9cChhPyLijKUiOiJBbHQiLHQpKSwxMDI0JmUmJihpKz1wKGE/IuKHpyI6IlNoaWZ0Iix0KSksMjA0OCZlJiYoaSs9cChhPyLijJgiOiJXaW4iLHQpKSxpfWNvbnN0IGw9ezk6IuKHpSIsMTM6IuKGtSIsMjc6IkVzYyIsODphPyLijKsiOiJCYWNrc3BhY2UiLDMyOiJTcGFjZSIsMzU6IkVuZCIsMzY6IkhvbWUiLDM3OiLihpAiLDM4OiLihpEiLDM5OiLihpIiLDQwOiLihpMiLDQ1OiJJbnMiLDQ2OiJEZWwiLDE4ODoiLCIsMTkwOiJEb3QiLDE5MToiLyJ9LHU9ezk6IlRhYiIsMTM6IkVudGVyIiwyNzoiRXNjIiw4OiJCYWNrc3BhY2UiLDMyOiJTcGFjZSIsMzU6IkVuZCIsMzY6IkhvbWUiLDM3OiJBcnJvd0xlZnQiLDM4OiJBcnJvd1VwIiwzOToiQXJyb3dSaWdodCIsNDA6IkFycm93RG93biIsNDU6IklucyIsNDY6IkRlbCIsMTg4OiIsIiwxOTA6Ii4iLDE5MToiLyJ9O2ZvcihsZXQgZT0xO2U8PTE2O2UrKylsW2UrMTExXT1gRiR7ZX1gLHVbZSsxMTFdPWBGJHtlfWA7ZnVuY3Rpb24gaChlKXtsZXQgdD1jKGUpO2NvbnN0IGk9MjU1JmU7cmV0dXJuIHQrPWkgaW4gbD9sW2ldOlN0cmluZy5mcm9tQ2hhckNvZGUoaSksdH1mdW5jdGlvbiBwKGUsdCl7cmV0dXJuYCR7ZX0ke3Q/IiArICI6YT8iICI6IiJ9YH1mdW5jdGlvbiBtKGUpe2NvbnN0IHQ9W107MjU2JmUmJnQucHVzaCgiQ3RybCIpLDUxMiZlJiZ0LnB1c2goIkFsdCIpLDEwMjQmZSYmdC5wdXNoKCJTaGlmdCIpLDIwNDgmZSYmdC5wdXNoKCJNZXRhIik7Y29uc3QgaT0yNTUmZTtyZXR1cm4gaSBpbiBsP3QucHVzaChsW2ldKTp0LnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShpKSksdC5qb2luKCIrIil9fSw2OTYyMDgoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7CktleWJvYXJkUHJlc3NlZEtleXNTdGF0ZTooKT0+c30pO3ZhciBuPWkoMjM1NzI0KTtjbGFzcyBze2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5tb2RpZmllcnM9ZSx0aGlzLmNvZGU9dH1hbHRPck9wdGlvbkNvZGUoKXtyZXR1cm4iQWx0TGVmdCI9PT10aGlzLmNvZGV8fCJBbHRSaWdodCI9PT10aGlzLmNvZGV9Y29udHJvbE9yTWV0YUNvZGUoKXtyZXR1cm4gbi5pc01hY0tleWJvYXJkPyJNZXRhTGVmdCI9PT10aGlzLmNvZGV8fCJNZXRhUmlnaHQiPT09dGhpcy5jb2RlfHwiT1NMZWZ0Ij09PXRoaXMuY29kZXx8Ik9TUmlnaHQiPT09dGhpcy5jb2RlOiJDb250cm9sTGVmdCI9PT10aGlzLmNvZGV8fCJDb250cm9sUmlnaHQiPT09dGhpcy5jb2RlfX19LDcyMTM2OShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtpc05hdGl2ZVVJSW50ZXJhY3Rpb246KCk9PmEsaXNUZXh0RWRpdGluZ0ZpZWxkOigpPT5zfSk7dmFyIG49aSgyMzU3MjQpO2Z1bmN0aW9uIHMoZSl7aWYoIklOUFVUIj09PWUudGFnTmFtZSl7Y29uc3QgdD1lLnR5cGU7cmV0dXJuInRleHQiPT09dHx8ImVtYWlsIj09PXR8fCJudW1iZXIiPT09dHx8InBhc3N3b3JkIj09PXR8fCJzZWFyY2giPT09dHx8InRlbCI9PT10fHwidXJsIj09PXR9cmV0dXJuIlRFWFRBUkVBIj09PWUudGFnTmFtZXx8ZS5pc0NvbnRlbnRFZGl0YWJsZX1mdW5jdGlvbiBhKGUsdCl7aWYoIXQpcmV0dXJuITE7Y29uc3QgaT0yNTUmZTtpZigyNz09PWl8fGk+Pj40PT03KXJldHVybiExO3N3aXRjaChlXmkpe2Nhc2Ugbi5Nb2RpZmllcnMuQWx0OnJldHVybigzOD09PWl8fDQwPT09aSkmJiJTRUxFQ1QiPT09dC50YWdOYW1lfHxzKHQpO2Nhc2Ugbi5Nb2RpZmllcnMuQWx0K24uTW9kaWZpZXJzLlNoaWZ0OnJldHVybiBzKHQpO2Nhc2Ugbi5Nb2RpZmllcnMuTW9kOmlmKDY3PT09aXx8IW4uaXNNYWNLZXlib2FyZCYmNDU9PT1pKXtjb25zdCBlPXQub3duZXJEb2N1bWVudCYmdC5vd25lckRvY3VtZW50LmdldFNlbGVjdGlvbigpO2lmKGUmJiFlLmlzQ29sbGFwc2VkKXJldHVybiEwfXJldHVybiBzKHQpO2Nhc2Ugbi5Nb2RpZmllcnMuTW9kK24uTW9kaWZpZXJzLlNoaWZ0OnJldHVybiBpPj0zMyYmaTw9NDAmJnModCk7Y2FzZSBuLk1vZGlmaWVycy5TaGlmdDpjYXNlIDA6cmV0dXJuIDk9PT1pPyEoIXQub3duZXJEb2N1bWVudHx8dD09PXQub3duZXJEb2N1bWVudC5ib2R5fHx0PT09dC5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCk6KCFmdW5jdGlvbihlKXtpZigiQlVUVE9OIj09PWUudGFnTmFtZSlyZXR1cm4hMDtpZigiSU5QVVQiPT09ZS50YWdOYW1lKXtjb25zdCB0PWUudHlwZTtpZigic3VibWl0Ij09PXR8fCJidXR0b24iPT09dHx8InJlc2V0Ij09PXR8fCJjaGVja2JveCI9PT10fHwicmFkaW8iPT09dClyZXR1cm4hMH1yZXR1cm4hMX0odCl8fDEzPT09aXx8MzI9PT1pfHw5PT09aSkmJigiZm9ybSJpbiB0fHx0LmlzQ29udGVudEVkaXRhYmxlKX1yZXR1cm4hMX19LDM4Nzc3NChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtDaXJjbGVMb2dvOigpPT5vLGhpZGRlbkNpcmNsZUxvZ29DbGFzczooKT0+cn0pO3ZhciBuPWkoNzc5NDc0KSxzPWkoNzk0MTg3KSxhPWkoMTQwMDE3KTtjb25zdCByPWkubihhKSgpLmhpZGRlbjtmdW5jdGlvbiBvKGUpe2NvbnN0IHQ9KDAscy5pc0NpcmNsZUxvZ29XaXRoVXJsUHJvcHMpKGUpLFtpLGFdPSgwLG4udXNlU3RhdGUpKDApLHI9KDAsbi51c2VSZWYpKG51bGwpLG89KDAscy5nZXRTdHlsZUNsYXNzZXMpKGUuc2l6ZSxpLGUuY2xhc3NOYW1lKSxkPWUuYWx0Pz9lLnRpdGxlPz8iIixjPXQ/ZFswXTplLnBsYWNlaG9sZGVyTGV0dGVyO3JldHVybigwLG4udXNlRWZmZWN0KSgoKCk9PmEoci5jdXJyZW50Py5jb21wbGV0ZT8/IXQ/MjoxKSksW3RdKSx0JiYzIT09aT9uLmNyZWF0ZUVsZW1lbnQoImltZyIse3JlZjpyLGNsYXNzTmFtZTpvLGNyb3NzT3JpZ2luOiIiLHNyYzplLmxvZ29VcmwsYWx0OmQsdGl0bGU6ZS50aXRsZSxsb2FkaW5nOmUubG9hZGluZyxvbkxvYWQ6KCk9PmEoMiksb25FcnJvcjooKT0+YSgzKSwiYXJpYS1sYWJlbCI6ZVsiYXJpYS1sYWJlbCJdLCJhcmlhLWhpZGRlbiI6ZVsiYXJpYS1oaWRkZW4iXX0pOm4uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpvLHRpdGxlOmUudGl0bGUsImFyaWEtbGFiZWwiOmVbImFyaWEtbGFiZWwiXSwiYXJpYS1oaWRkZW4iOmVbImFyaWEtaGlkZGVuIl19LGMpfX0sMjE4ODE0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2NvbG9yOigpPT5hLGR1cjooKT0+bixlYXNpbmdGdW5jOigpPT5zfSk7Y29uc3Qgbj0zNTAscz17bGluZWFyOmU9PmUsZWFzZUluUXVhZDplPT5lKmUsZWFzZU91dFF1YWQ6ZT0+ZSooMi1lKSxlYXNlSW5PdXRRdWFkOmU9PmU8LjU/MiplKmU6KDQtMiplKSplLTEsZWFzZUluQ3ViaWM6ZT0+ZSplKmUsZWFzZU91dEN1YmljOmU9Pi0tZSplKmUrMSxlYXNlSW5PdXRDdWJpYzplPT5lPC41PzQqZSplKmU6KGUtMSkqKDIqZS0yKSooMiplLTIpKzEsZWFzZUluUXVhcnQ6ZT0+ZSplKmUqZSxlYXNlT3V0UXVhcnQ6ZT0+MS0gLS1lKmUqZSplLGVhc2VJbk91dFF1YXJ0OmU9PmU8LjU/OCplKmUqZSplOjEtOCotLWUqZSplKmUsZWFzZUluUXVpbnQ6ZT0+ZSplKmUqZSplLGVhc2VPdXRRdWludDplPT4xKy0tZSplKmUqZSplLGVhc2VJbk91dFF1aW50OmU9PmU8LjU/MTYqZSplKmUqZSplOjErMTYqLS1lKmUqZSplKmV9O2NvbnN0IGE9e2JsYWNrNzA6IiM0QTRBNEEiLGJsYWNrODA6IiM1MzUzNTMifX0sNzYzNTQ5KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3VzZUNvbXBvc2VkS2V5Ym9hcmRBY3Rpb25IYW5kbGVyczooKT0+byx1c2VLZXlib2FyZEFjdGlvbkhhbmRsZXI6KCk9PnIsdXNlS2V5Ym9hcmRDbG9zZTooKT0+bCx1c2VLZXlib2FyZEV2ZW50SGFuZGxlcjooKT0+ZCx1c2VLZXlib2FyZE9wZW46KCk9PnUsdXNlS2V5Ym9hcmRUb2dnbGU6KCk9PmN9KTt2YXIgbj1pKDc3OTQ3NCkscz1pKDIzNTcyNCk7Y29uc3QgYT0oKT0+ITA7ZnVuY3Rpb24gcihlLHQsaT1hLHMpe3JldHVybigwLG4udXNlQ2FsbGJhY2spKChuPT57aWYocyl7CmlmKCJob3Jpem9udGFsIj09PXMmJig0MD09PW58fDM4PT09bikpcmV0dXJuO2lmKCJ2ZXJ0aWNhbCI9PT1zJiYoMzc9PT1ufHwzOT09PW4pKXJldHVybn1jb25zdCBhPWUubWFwKChlPT4iZnVuY3Rpb24iPT10eXBlb2YgZT9lKCk6ZSkpO3JldHVybiEoIWkobil8fCFhLmluY2x1ZGVzKG4pKSYmKHQobiksITApfSksWy4uLmUsdCxpXSl9ZnVuY3Rpb24gbyguLi5lKXtyZXR1cm4oMCxuLnVzZUNhbGxiYWNrKSgodD0+e2Zvcihjb25zdCBpIG9mIGUpaWYoaSh0KSlyZXR1cm4hMDtyZXR1cm4hMX0pLFsuLi5lXSl9ZnVuY3Rpb24gZChlLHQ9ITAsaT0hMSl7Y29uc3QgYT1vKC4uLmUpO3JldHVybigwLG4udXNlQ2FsbGJhY2spKChlPT57Y29uc3Qgbj1hKCgwLHMuaGFzaEZyb21FdmVudCkoZSkpO24mJnQmJmUucHJldmVudERlZmF1bHQoKSxuJiZpJiZlLnN0b3BQcm9wYWdhdGlvbigpfSksW2FdKX1mdW5jdGlvbiBjKGUsdD0hMCl7cmV0dXJuIHIoWzEzLDMyXSxlLChmdW5jdGlvbihlKXtpZigxMz09PWUpcmV0dXJuIHQ7cmV0dXJuITB9KSl9ZnVuY3Rpb24gbChlLHQpe3JldHVybiByKFs5LCgwLG4udXNlQ2FsbGJhY2spKCgoKT0+cy5Nb2RpZmllcnMuU2hpZnQrOSksW10pLDI3XSx0LCgwLG4udXNlQ2FsbGJhY2spKCgoKT0+ZSksW2VdKSl9ZnVuY3Rpb24gdShlLHQpe3JldHVybiByKFs0MCwzOF0sdCwoMCxuLnVzZUNhbGxiYWNrKSgoKCk9PiFlKSxbZV0pKX19LDcxNzkzMihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHt1c2VNYXRjaE1lZGlhOigpPT5hLHVzZVNhZmVNYXRjaE1lZGlhOigpPT5zfSk7dmFyIG49aSg3Nzk0NzQpO2Z1bmN0aW9uIHMoZSx0PSExKXtjb25zdFtpLHNdPSgwLG4udXNlU3RhdGUpKHQpO3JldHVybigwLG4udXNlRWZmZWN0KSgoKCk9Pntjb25zdCB0PXdpbmRvdy5tYXRjaE1lZGlhKGUpO2Z1bmN0aW9uIGkoKXtzKHQubWF0Y2hlcyl9cmV0dXJuIGkoKSx0LmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsaSksKCk9Pnt0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNoYW5nZSIsaSl9fSksW2VdKSxpfWZ1bmN0aW9uIGEoZSl7Y29uc3QgdD0oMCxuLnVzZU1lbW8pKCgoKT0+d2luZG93Lm1hdGNoTWVkaWEoZSkubWF0Y2hlcyksW10pO3JldHVybiBzKGUsdCl9fSw0MTkxODEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Y3JlYXRlRG9tSWQ6KCk9PmQsam9pbkRvbUlkczooKT0+Y30pO2NvbnN0IG49L1xzL2c7ZnVuY3Rpb24gcyhlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGV9ZnVuY3Rpb24gYShlKXtzd2l0Y2godHlwZW9mIGUpe2Nhc2Uic3RyaW5nIjpyZXR1cm4gZTtjYXNlIm51bWJlciI6Y2FzZSJiaWdpbnQiOnJldHVybiBlLnRvU3RyaW5nKDEwKTtjYXNlImJvb2xlYW4iOmNhc2Uic3ltYm9sIjpyZXR1cm4gZS50b1N0cmluZygpO2RlZmF1bHQ6cmV0dXJuIG51bGx9fWZ1bmN0aW9uIHIoZSl7cmV0dXJuIGUudHJpbSgpLmxlbmd0aD4wfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIGUucmVwbGFjZShuLCItIil9ZnVuY3Rpb24gZCguLi5lKXtjb25zdCB0PWUubWFwKGEpLmZpbHRlcihzKS5maWx0ZXIocikubWFwKG8pO3JldHVybih0Lmxlbmd0aD4wJiZ0WzBdLnN0YXJ0c1dpdGgoImlkXyIpP3Q6WyJpZCIsLi4udF0pLmpvaW4oIl8iKX1mdW5jdGlvbiBjKC4uLmUpe3JldHVybiBlLm1hcChhKS5maWx0ZXIocykuZmlsdGVyKHIpLmpvaW4oIiAiKX19LDUxODc1KGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlKXtlLnByZXZlbnREZWZhdWx0KCl9aS5kKHQse3ByZXZlbnREZWZhdWx0OigpPT5uLHByZXZlbnREZWZhdWx0Rm9yQ29udGV4dE1lbnU6KCk9PmF9KTtjb25zdCBzPVsiaW5wdXQ6bm90KFt0eXBlXSkiLCdpbnB1dFt0eXBlPSJ0ZXh0Il0nLCdpbnB1dFt0eXBlPSJlbWFpbCJdJywnaW5wdXRbdHlwZT0icGFzc3dvcmQiXScsJ2lucHV0W3R5cGU9InNlYXJjaCJdJywnaW5wdXRbdHlwZT0ibnVtYmVyIl0nLCdpbnB1dFt0eXBlPSJ1cmwiXScsInRleHRhcmVhIiwiYVtocmVmXSIsJypbY29udGVudGVkaXRhYmxlPSJ0cnVlIl0nLCJbZGF0YS1hbGxvdy1jb250ZXh0LW1lbnVdIl07ZnVuY3Rpb24gYShlKXtjb25zdCB0PWUudGFyZ2V0O3QmJiF0LmNsb3Nlc3Qocy5qb2luKCIsICIpKSYmZS5wcmV2ZW50RGVmYXVsdCgpfX0sMTI5MzY1KGUsdCxpKXsidXNlIHN0cmljdCI7IWZ1bmN0aW9uIGUoKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyYmImZ1bmN0aW9uIj09dHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRSl0cnl7X19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLmNoZWNrRENFKGUpfWNhdGNoKGUpe2NvbnNvbGUuZXJyb3IoZSl9fSgpLGUuZXhwb3J0cz1pKDUzMjM4Nyl9LDE4NzQ0NShlLHQsaSl7InVzZSBzdHJpY3QiO2kucih0KSxpLmQodCx7cmVuZGVyV2lkZ2V0VGFiczooKT0+bH0pO3ZhciBuPWkoNzc5NDc0KSxzPWkoMTI5MzY1KSxhPWkoMzg3MjMxKSxyPWkoMzczNTc0KSxvPWkoNjkwMDk3KSxkPWkoNTAzNzE2KTtmdW5jdGlvbiBjKGUpe2NvbnN0IHQ9ZS5pdGVtc1swXSxbaSxzXT1uLnVzZVN0YXRlKHQpLGM9KDAsYS5tZXJnZVRoZW1lcykoKDAsYS5tZXJnZVRoZW1lcykoby5kZWZhdWx0VGhlbWUsZS50aGVtZT8/e30pLGQpLGw9KDAsbi51c2VDYWxsYmFjaykoKGU9Pmk9PT1lKSxbaV0pLHU9KDAsbi51c2VDYWxsYmFjaykoKHQ9PntzKHQpLGUub25BY3RpdmF0ZSh0KX0pLFtzLGUub25BY3RpdmF0ZV0pO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoci5TcXVhcmVUYWJzLHsuLi5lLHRoZW1lOmMsaXNBY3RpdmU6bCxvbkFjdGl2YXRlOnV9KX1hc3luYyBmdW5jdGlvbiBsKGUsdCxpLGEscil7Y29uc3Qgbz1yJiZhd2FpdCByKCk7cy5yZW5kZXIobi5jcmVhdGVFbGVtZW50KGMse2lkOmUsaXRlbXM6dCxvbkFjdGl2YXRlOmU9PmkoZS5pZCksdGhlbWU6byxzaXplOiJ4c21hbGwifSksYSl9fSw4NTY3NzAoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7bmFub2lkOigpPT5ufSkKO2xldCBuPShlPTIxKT0+Y3J5cHRvLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheShlKSkucmVkdWNlKCgoZSx0KT0+ZSs9KHQmPTYzKTwzNj90LnRvU3RyaW5nKDM2KTp0PDYyPyh0LTI2KS50b1N0cmluZygzNikudG9VcHBlckNhc2UoKTp0PjYyPyItIjoiXyIpLCIiKX0sODA5NDM2KGUpeyJ1c2Ugc3RyaWN0Igo7ZS5leHBvcnRzPUpTT04ucGFyc2UoJ3siZHVyIjoiMzUwbXMiLCJkdXItZmFzdCI6IjYwbXMiLCJlYXNlLWluLWxpa2UiOiJjdWJpYy1iZXppZXIoMC4zMywgMCwgMC4xMSwgMSkiLCJlYXNlLW91dC1saWtlIjoiY3ViaWMtYmV6aWVyKDAuODksIDAsIDAuNjcsIDEpIiwic2l6ZS1mZWVkLWl0ZW0td2lkdGgiOiI0ODBweCIsInNpemUtZmVlZC1oaWRlbnQiOiIyMHB4Iiwic2l6ZS1mZWVkLXZpZGVudCI6IjIwcHgiLCJzaXplLWJhc2UtaW5kZW50IjoiNHB4Iiwic2l6ZS1sYXlvdXQtc21hbGwtaG9yenBhZGRpbmciOiIxMnB4Iiwic2l6ZS1sYXlvdXQtaG9yenBhZGRpbmciOiIyMHB4Iiwic2l6ZS1kcmF3aW5ncy10b29sYmFyLWl0ZW0taGVpZ2h0IjoiMzhweCIsInNpemUtaGVhZGVyLWxpbmtpbmRlbnQiOiIxNXB4Iiwic2l6ZS1oZWFkZXItaGVpZ2h0IjoiNjRweCIsInNpemUtbmF2LWhlYWRlci1oZWlnaHQiOiI1OHB4Iiwic2l6ZS1zdGlja3ktc3ltYm9sLWhlYWRlci1oZWlnaHQiOiI2NHB4Iiwic2l6ZS1kaWFsb2ctZml4ZWQtaGVhZGVyLWhlaWdodCI6IjcycHgiLCJzaXplLXNpdGUtd2lkZ2V0LXBhZGRpbmciOiIyMHB4Iiwic2l6ZS1zaXRlLXdpZGdldC1wYWRkaW5nLXRhYmxldCI6IjEycHgiLCJzaXplLWNvbGxhcHNlLXRhYnMtaGVpZ2h0IjoiNTZweCIsInNpemUtbm8tc2Nyb2xsLWNob2ljZXItaGVpZ2h0IjoiNTZweCIsInNpemUtbWFpbi1jaGFydC1hcmVhLWluZGVudCI6IjRweCIsInNpemUtbWFpbi1jaGFydC1hcmVhLXJhZGl1cyI6IjAiLCJzaXplLXNlYXJjaGJhci1oZWlnaHQiOiI4MHB4Iiwic2l6ZS1zZWFyY2hiYXItaGVpZ2h0LXRhYmxldCI6IjU0cHgiLCJzaXplLXNlYXJjaGJhci1idG4td2lkdGgtdGFibGV0IjoiNjZweCIsInNpemUtY29udGVudC10b3AtdmluZGVudCI6IjQ4cHgiLCJzaXplLWxheW91dC13aWR0aCI6IjEwMjBweCIsInNpemUtbGF5b3V0LXdpZHRoLXdpZGUiOiIxNTIwcHgiLCJzaXplLWNoZWNrYm94LXNpZGUiOiIxOHB4Iiwic2l6ZS1jaGVja2JveC1jbGljay1leHBhbmQiOiIxMHB4Iiwic2l6ZS1jb250cm9sLWlucHV0LWhlaWdodC0teHNtYWxsIjoiMTlweCIsInNpemUtY29udHJvbC1pbnB1dC1oZWlnaHQtLXNtYWxsIjoiMjdweCIsInNpemUtY29udHJvbC1pbnB1dC1oZWlnaHQiOiIzNHB4Iiwic2l6ZS1jb250cm9sLWlucHV0LWhlaWdodC0tbGFyZ2UiOiI0OHB4Iiwic2l6ZS1jb250cm9sLWlucHV0LXBhZGRpbmctaG9yeiI6IjEycHgiLCJzaXplLXRhYnMtaG9yei1pbmRlbnQiOiIxNnB4Iiwic2l6ZS1hdmF0YXItYm9yZGVyLXJhZGl1cyI6IjNweCIsInNpemUtY2hhcnQtdmlldy1zcGFjaW5nIjoiMjVweCIsInNpemUtY2hhcnQtdmlldy1zcGFjaW5nLXRhYmxldCI6IjIwcHgiLCJyYWRpdXMtZW1iZWQtd2lkZ2V0LXdyYXBwZXIiOiIzcHgiLCJ0eXBvZ3JhcGh5LXBsYXRmb3JtLXJlZ3VsYXItMTZweC1saW5lLWhlaWdodCI6IjI0cHgiLCJ0eXBvZ3JhcGh5LXBsYXRmb3JtLXJlZ3VsYXItMThweC1saW5lLWhlaWdodCI6IjI4cHgiLCJtZWRpYS1ub3RlYm9vayI6ImFsbCBhbmQgKG1heC13aWR0aDogMTUzMHB4KSIsIm1lZGlhLXRhYmxldCI6ImFsbCBhbmQgKG1heC13aWR0aDogMTAxOXB4KSIsIm1lZGlhLXBob25lIjoiYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkiLCJtZWRpYS1waG9uZS12ZXJ0aWNhbCI6ImFsbCBhbmQgKG1heC13aWR0aDogNDc5cHgpIiwibWVkaWEtZXh0cmVtZS10aGluIjoiYWxsIGFuZCAobWF4LXdpZHRoOiAzMjlweCkiLCJtZWRpYS1zaG93LWRyYXdlciI6ImFsbCBhbmQgKG1heC13aWR0aDogNTY3cHgpIiwibWVkaWEtbWYtbGVnYWN5LXBob25lLXZlcnRpY2FsIjoiYWxsIGFuZCAobWluLXdpZHRoOiAzMzBweCkiLCJtZWRpYS1tZi1sZWdhY3ktcGhvbmUiOiJhbGwgYW5kIChtaW4td2lkdGg6IDQ4MHB4KSIsIm1lZGlhLW1mLWxlZ2FjeS1ub3RlYm9vayI6ImFsbCBhbmQgKG1pbi13aWR0aDogMTAyMHB4KSIsIm1lZGlhLW1mLWxlZ2FjeS1kZXNrdG9wLW1lZGl1bSI6ImFsbCBhbmQgKG1pbi13aWR0aDogMTQ4MHB4KSIsIm1lZGlhLW1mLWxlZ2FjeS1kZXNrdG9wIjoiYWxsIGFuZCAobWluLXdpZHRoOiAxNTMxcHgpIiwibWVkaWEtbWYtcGhvbmUtdmVydGljYWwiOiJhbGwgYW5kIChtaW4td2lkdGg6IDMyMHB4KSIsIm1lZGlhLW1mLXBob25lLWxhbmRzY2FwZSI6ImFsbCBhbmQgKG1pbi13aWR0aDogNTY4cHgpIiwibWVkaWEtbWYtdGFibGV0LXZlcnRpY2FsIjoiYWxsIGFuZCAobWluLXdpZHRoOiA3NjhweCkiLCJtZWRpYS1tZi10YWJsZXQtbGFuZHNjYXBlIjoiYWxsIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIiwibWVkaWEtbWYtbGFwdG9wIjoiYWxsIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIiwibWVkaWEtbWYtZGVza3RvcC1tZWRpdW0iOiJhbGwgYW5kIChtaW4td2lkdGg6IDE0NDBweCkiLCJtZWRpYS1tZi1kZXNrdG9wLWxhcmdlIjoiYWxsIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIiwibWVkaWEtbWYtZGVza3RvcC1leHRyYS1sYXJnZSI6ImFsbCBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSIsImNvbnRhaW5lci10YWJsZXQiOiIobWF4LXdpZHRoOiAxMDE5cHgpIiwiY29udGFpbmVyLXBob25lIjoiKG1heC13aWR0aDogNzY3cHgpIiwiY29udGFpbmVyLXBob25lLXZlcnRpY2FsIjoiKG1heC13aWR0aDogNDc5cHgpIiwiY29udGFpbmVyLW1mLXBob25lLXZlcnRpY2FsIjoiKG1pbi13aWR0aDogMzAwcHgpIiwiY29udGFpbmVyLW1mLXBob25lLWxhbmRzY2FwZSI6IihtaW4td2lkdGg6IDU0OHB4KSIsImNvbnRhaW5lci1tZi10YWJsZXQtdmVydGljYWwiOiIobWluLXdpZHRoOiA3MDJweCkiLCJjb250YWluZXItbWYtdGFibGV0LWxhbmRzY2FwZSI6IihtaW4td2lkdGg6IDk1OHB4KSIsImNvbnRhaW5lci1tZi1sYXB0b3AiOiIobWluLXdpZHRoOiAxMjE0cHgpIiwiY29udGFpbmVyLW1mLWRlc2t0b3AtbWVkaXVtIjoiKG1pbi13aWR0aDogMTM3NHB4KSIsImNvbnRhaW5lci1tZi1kZXNrdG9wLWxhcmdlIjoiKG1pbi13aWR0aDogMTg1NHB4KSIsImNvbnRhaW5lci1tZi1kZXNrdG9wLWV4dHJhLWxhcmdlIjoiKG1pbi13aWR0aDogMjQ5NHB4KSIsIm1lZGlhLWxhcHRvcCI6ImFsbCBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTQzOXB4KSIsIm1lZGlhLWxhcHRvcC1hbmQtZGVza3RvcC1tZWRpdW0iOiJhbGwgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkiLCJtZWRpYS1sYW5kc2NhcGUiOiJhbGwgYW5kIChtaW4tZGV2aWNlLXdpZHRoOiAzNzVweCkgYW5kIChtYXgtZGV2aWNlLWhlaWdodDogODEycHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkiLCJtZWRpYS1waG9uZS1sYW5kc2NhcGUiOiJhbGwgYW5kIChtYXgtaGVpZ2h0OiA0NDBweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSIsIm1lZGlhLXdpZGdldGJhci1icmVha3BvaW50IjoiYWxsIGFuZCAobWF4LXdpZHRoOiAxMDY0cHgpIiwiei1pbmRleC1jb250ZW50LXBhZ2UiOjEsInotaW5kZXgtY2hhcnQtbGVnZW5kIjo2LCJ6LWluZGV4LWNoYXJ0LXJpZ2h0LWNvcm5lci1jb250cm9scyI6Nywiei1pbmRleC1sb2FkaW5nLXNjcmVlbiI6OCwiei1pbmRleC1kcm9wZG93biI6OTksInotaW5kZXgtdG9vbGJhci1wb3B1cC1tZW51IjoxMDAsInotaW5kZXgtdG9vbHRpcCI6MTAwMCwiei1pbmRleC11c2VyLWxpbmstcG9wdXAiOjkwMCwiei1pbmRleC1zdGlja3ktc2VhcmNoLWJhciI6MTAxLCJ6LWluZGV4LXJlc2l6YWJsZS1kcmF3ZXIiOjgwMCwiei1pbmRleC1mdWxsc2NyZWVuIjoxMDIsImRpc2FibGVkLXN0YXRlLW9wYWNpdHkiOjAuNSwic2l6ZS1nYXAtbWluaW11bSI6IjIwcHgiLCJzaXplLWdhcC1tZWRpdW0iOiI0MHB4Iiwic2l6ZS1nYXAtbWF4aW11bSI6IjEwMHB4In0nKQp9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"scanner.tradingview.com/forex/scan?api_key=widget_user_token\u0026label-product=screener-forex-old","fqdn":"scanner.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.747Z","timestamp":1785120634747,"http_version":"","security_state":"","security_info":null,"request":{"raw":"POST /forex/scan?api_key=widget_user_token\u0026label-product=screener-forex-old HTTP/1.1\r\nHost: scanner.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/plain, */*; q=0.01\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nContent-Type: application/x-www-form-urlencoded; charset=UTF-8\r\nContent-Length: 457\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.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":"POST","post_data":{"size":457,"data":"{\"filter\":[{\"left\":\"sector\",\"operation\":\"in_range\",\"right\":[\"Major\",\"Minor\"]}],\"options\":{\"lang\":\"en\"},\"markets\":[\"forex\"],\"symbols\":{\"query\":{\"types\":[\"forex\"]},\"tickers\":[]},\"columns\":[\"base_currency_logoid\",\"currency_logoid\",\"name\",\"close\",\"change\",\"change_abs\",\"bid\",\"ask\",\"high\",\"low\",\"Recommend.All\",\"description\",\"type\",\"subtype\",\"update_mode\",\"pricescale\",\"minmov\",\"fractional\",\"minmove2\"],\"sort\":{\"sortBy\":\"name\",\"sortOrder\":\"asc\"},\"range\":[0,150]}"}},"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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"s3.tradingview.com/external-embedding/embed-widget-screener.js","fqdn":"s3.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.108Z","timestamp":1785120633108,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 21 Oct 2025 00:00:00 GMT","end":"Tue, 17 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"C4:FE:64:00:30:2A:CD:16:30:95:7E:E1:70:D1:31:3A:D6:33:3A:CC","sha256":"87:D2:67:7D:3E:02:F0:3B:58:BD:38:17:DA:FE:73:C0:CA:25:F9:58:CC:11:14:E0:3A:6E:C3:58:84:9E:BF:52"}}},"request":{"raw":"GET /external-embedding/embed-widget-screener.js HTTP/1.1\r\nHost: s3.tradingview.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://247optiontradefx.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 02:50:33 GMT\r\ncontent-type: text/javascript\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1837468\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 3000\r\ncache-control: public, max-age=300\r\ncontent-encoding: zstd\r\netag: \"1d1f8c8f959c6dfe16b5df875e3e6a20\"\r\nlast-modified: Fri, 24 Jul 2026 10:29:26 GMT\r\nx-amz-id-2: z1oVUttC/UDTwi3gP9YBvln7R7QFgsd4g7jFu86Gf4xU8/4TWLGvQfDPmoH3DpF5VQ86I3Q3ZAwZs5xruP5dGQd/8iesC53t\r\nx-amz-request-id: 9YC20ASXZHS8PJ27\r\nx-amz-server-side-encryption: AES256\r\nx-amz-version-id: Dm0spBzLYd1nkuHWUau.UrjMnrL5T__C\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncontent-security-policy: default-src 'none'\r\ncdn-cachedat: 07/24/2026 11:04:04\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 514c2c818459aec0546d584c646a81d1\r\ncdn-cache: REVALIDATED\r\nX-Firefox-Spdy: h2\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":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":13242,"size_decoded":6026,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (3458)","md5":"1d1f8c8f959c6dfe16b5df875e3e6a20","sha1":"05c8ccc14d187d3f57e68109996ffb71835de5a8","sha256":"362c5302b447aa33060156e760f193574c506b4bcbcce3d720c0422a830da740","sha512":"66818bdae0d6b15dd9e97bd4ab64b6396595b2f685c5643165618cfce9f13699a12db224ea81c51e78e303be467795c01dd25084441a89c487fab2fcfb37882c","ssdeep":"384:gfLuCWoofYkFdjEUjrb2oNf0qIOj26eoVH7MXt:u4MUnb2oJDIOj26eQYXt","tlshash":"f452c6aab660ecbd41d945cbe07a2720b61d3a44b207eca4b5acd4c550edccca531f7e","first_seen":"2026-07-16T20:48:56.348973Z","last_seen":"2026-07-27T05:29:38.745985Z","times_seen":107,"resource_available":true,"data":"KCgpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHQodCxlKXtpZihudWxsPT09dCl0aHJvdyBuZXcgRXJyb3IoYCR7ZT8/IlZhbHVlIn0gaXMgbnVsbGApO3JldHVybiB0fWNvbnN0IGU9eyJjb2xvci1jb2xkLWdyYXktMzAwIjoiI0IyQjVCRSIsImNvbG9yLWJyYW5kIjoiIzI5NjJGRiIsImNvbG9yLWJyYW5kLWhvdmVyIjoiIzFFNTNFNSIsImNvbG9yLWJyYW5kLWFjdGl2ZSI6IiMxODQ4Q0MifQo7Y29uc3Qgcj1KU09OLnBhcnNlKCd7ImNyeXB0by1ta3Qtc2NyZWVuZXIiOnsid2lkdGgiOjEwMDAsImhlaWdodCI6NDkwLCJkZWZhdWx0Q29sdW1uIjoib3ZlcnZpZXciLCJtYXJrZXQiOiJjcnlwdG8iLCJzY3JlZW5lcl90eXBlIjoiY3J5cHRvX21rdCIsImRpc3BsYXlDdXJyZW5jeSI6IlVTRCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwiZXZlbnRzIjp7IndpZHRoIjo1MTAsImhlaWdodCI6NjAwLCJpc1RyYW5zcGFyZW50IjpmYWxzZSwiaGlkZUltcG9ydGFuY2VJbmRpY2F0b3IiOmZhbHNlLCJhdXRvc2l6ZSI6ZmFsc2V9LCJmb3JleC1jcm9zcy1yYXRlcyI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImN1cnJlbmNpZXMiOlsiRVVSIiwiVVNEIiwiSlBZIiwiR0JQIiwiQ0hGIiwiQVVEIiwiQ0FEIiwiTlpEIl0sImZyYW1lRWxlbWVudElkIjpudWxsLCJhdXRvc2l6ZSI6ZmFsc2V9LCJmb3JleC1oZWF0LW1hcCI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImN1cnJlbmNpZXMiOlsiRVVSIiwiVVNEIiwiSlBZIiwiR0JQIiwiQ0hGIiwiQVVEIiwiQ0FEIiwiTlpEIiwiQ05ZIl0sImZyYW1lRWxlbWVudElkIjpudWxsLCJhdXRvc2l6ZSI6ZmFsc2V9LCJob3RsaXN0cyI6eyJ3aWR0aCI6NDAwLCJoZWlnaHQiOjYwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImRhdGVSYW5nZSI6IjEyTSIsInNob3dTeW1ib2xMb2dvIjpmYWxzZX0sIm1hcmtldC1vdmVydmlldyI6eyJ3aWR0aCI6NDAwLCJoZWlnaHQiOjY1MCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImRhdGVSYW5nZSI6IjEyTSIsInNob3dTeW1ib2xMb2dvIjp0cnVlfSwibWFya2V0LXF1b3RlcyI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQ1MCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsInNob3dTeW1ib2xMb2dvIjpmYWxzZX0sIm1pbmktc3ltYm9sLW92ZXJ2aWV3Ijp7IndpZHRoIjozNTAsImhlaWdodCI6MjIwLCJzeW1ib2wiOiJGWDpFVVJVU0QiLCJkYXRlUmFuZ2UiOiIxMk0iLCJpc1RyYW5zcGFyZW50IjpmYWxzZSwiYXV0b3NpemUiOmZhbHNlLCJsYXJnZUNoYXJ0VXJsIjoiIn0sInN5bWJvbC1vdmVydmlldyI6eyJ3aWR0aCI6MTAwMCwiaGVpZ2h0Ijo1MDAsInN5bWJvbHMiOltbIkFwcGxlIiwiQUFQTHwxRCJdLFsiR29vZ2xlIiwiR09PR0x8MUQiXSxbIk1pY3Jvc29mdCIsIk1TRlR8MUQiXV0sImF1dG9zaXplIjpmYWxzZSwiY2hhcnRPbmx5IjpmYWxzZSwiaGlkZURhdGVSYW5nZXMiOmZhbHNlLCJoaWRlTWFya2V0U3RhdHVzIjpmYWxzZSwiaGlkZVN5bWJvbExvZ28iOmZhbHNlLCJzY2FsZVBvc2l0aW9uIjoicmlnaHQiLCJzY2FsZU1vZGUiOiJOb3JtYWwiLCJmb250RmFtaWx5IjoiLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBUcmVidWNoZXQgTVMsIFJvYm90bywgVWJ1bnR1LCBzYW5zLXNlcmlmIiwiZm9udFNpemUiOiIxMCIsIm5vVGltZVNjYWxlIjpmYWxzZSwiY2hhcnRUeXBlIjoiYXJlYSIsInZhbHVlc1RyYWNraW5nIjoiMCIsImNoYW5nZU1vZGUiOiJwcmljZS1hbmQtcGVyY2VudCJ9LCJhZHZhbmNlZC1jaGFydCI6eyJib2R5SWQiOiJ3aWRnZXQtY29udGFpbmVyIiwiYm9keUNsYXNzZXMiOlsiY2hhcnQtcGFnZSIsInVuc2VsZWN0YWJsZSIsIm9uLXdpZGdldCJdfSwic2NyZWVuZXIiOnsid2lkdGgiOjExMDAsImhlaWdodCI6NTIzLCJkZWZhdWx0Q29sdW1uIjoib3ZlcnZpZXciLCJkZWZhdWx0U2NyZWVuIjoiZ2VuZXJhbCIsIm1hcmtldCI6ImZvcmV4Iiwic2hvd1Rvb2xiYXIiOnRydWUsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwic2luZ2xlLXF1b3RlIjp7IndpZHRoIjozNTAsInN5bWJvbCI6IkZYOkVVUlVTRCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwic3ltYm9sLXByb2ZpbGUiOnsid2lkdGgiOjQ4MCwiaGVpZ2h0Ijo2NTAsInN5bWJvbCI6Ik5BU0RBUTpBQVBMIiwiaXNUcmFuc3BhcmVudCI6ZmFsc2V9LCJzeW1ib2wtaW5mbyI6eyJ3aWR0aCI6MTAwMCwic3ltYm9sIjoiTkFTREFROkFBUEwiLCJpc1RyYW5zcGFyZW50IjpmYWxzZX0sInRlY2huaWNhbC1hbmFseXNpcyI6eyJpbnRlcnZhbCI6IjFtIiwid2lkdGgiOjQyNSwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImhlaWdodCI6NDUwLCJzeW1ib2wiOiJOQVNEQVE6QUFQTCIsInNob3dJbnRlcnZhbFRhYnMiOnRydWUsImRpc3BsYXlNb2RlIjoic2luZ2xlIn0sInRpY2tlci10YXBlIjp7ImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6ImFkYXB0aXZlIiwic2hvd1N5bWJvbExvZ28iOmZhbHNlfSwidGlja2VycyI6eyJpc1RyYW5zcGFyZW50IjpmYWxzZSwic2hvd1N5bWJvbExvZ28iOmZhbHNlfSwiZmluYW5jaWFscyI6eyJ3aWR0aCI6NDgwLCJoZWlnaHQiOjgzMCwiYXV0b3NpemUiOmZhbHNlLCJzeW1ib2wiOiJOQVNEQVE6QUFQTCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6InJlZ3VsYXIiLCJsYXJnZUNoYXJ0VXJsIjoiIn0sInRpbWVsaW5lIjp7IndpZHRoIjo0ODAsImhlaWdodCI6ODMwLCJhdXRvc2l6ZSI6ZmFsc2UsImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6InJlZ3VsYXIiLCJmZWVkTW9kZSI6ImFsbF9zeW1ib2xzIn0sInN0b2NrLWhlYXRtYXAiOnsid2lkdGgiOjUwMCwiaGVpZ2h0Ijo1MDAsImF1dG9zaXplIjp0cnVlLCJkYXRhU291cmNlIjoiU1BYNTAwIiwiZXhjaGFuZ2VzIjpbXSwiZ3JvdXBpbmciOiJzZWN0b3IiLCJibG9ja1NpemUiOiJtYXJrZXRfY2FwX2Jhc2ljIiwiYmxvY2tDb2xvciI6ImNoYW5nZSIsImhhc1RvcEJhciI6ZmFsc2UsImlzRGF0YVNldEVuYWJsZWQiOmZhbHNlLCJpc1pvb21FbmFibGVkIjp0cnVlLCJoYXNTeW1ib2xUb29sdGlwIjp0cnVlLCJzeW1ib2xVcmwiOiIiLCJpc01vbm9TaXplIjpmYWxzZX0sImNyeXB0by1jb2lucy1oZWF0bWFwIjp7IndpZHRoIjo1MDAsImhlaWdodCI6NTAwLCJhdXRvc2l6ZSI6dHJ1ZSwiZGF0YVNvdXJjZSI6IkNyeXB0byIsImJsb2NrU2l6ZSI6Im1hcmtldF9jYXBfY2FsYyIsImJsb2NrQ29sb3IiOiIyNGhfY2xvc2VfY2hhbmdlfDUiLCJoYXNUb3BCYXIiOmZhbHNlLCJpc0RhdGFTZXRFbmFibGVkIjpmYWxzZSwiaXNab29tRW5hYmxlZCI6dHJ1ZSwiaGFzU3ltYm9sVG9vbHRpcCI6dHJ1ZSwic3ltYm9sVXJsIjoiIiwiaXNNb25vU2l6ZSI6ZmFsc2V9LCJldGYtaGVhdG1hcCI6eyJ3aWR0aCI6NTAwLCJoZWlnaHQiOjUwMCwiYXV0b3NpemUiOnRydWUsImRhdGFTb3VyY2UiOiJBbGxVU0V0ZiIsImJsb2NrU2l6ZSI6InZvbHVtZSIsImJsb2NrQ29sb3IiOiJjaGFuZ2UiLCJncm91cGluZyI6ImFzc2V0X2NsYXNzIiwiaGFzVG9wQmFyIjpmYWxzZSwiaXNEYXRhU2V0RW5hYmxlZCI6ZmFsc2UsImlzWm9vbUVuYWJsZWQiOnRydWUsImhhc1N5bWJvbFRvb2x0aXAiOnRydWUsInN5bWJvbFVybCI6IiIsImlzTW9ub1NpemUiOmZhbHNlfX0nKQo7dmFyIGksczshZnVuY3Rpb24odCl7bGV0IGU7IWZ1bmN0aW9uKHQpe3QuU2V0U3ltYm9sPSJzZXQtc3ltYm9sIix0LlNldEludGVydmFsPSJzZXQtaW50ZXJ2YWwifShlPXQuTmFtZXN8fCh0Lk5hbWVzPXt9KSl9KGl8fChpPXt9KSksZnVuY3Rpb24odCl7bGV0IGU7IWZ1bmN0aW9uKHQpe3QuU3ltYm9sQ2xpY2s9InR2LXdpZGdldC1zeW1ib2wtY2xpY2siLHQuV2lkZ2V0TG9hZD0idHYtd2lkZ2V0LWxvYWQiLHQuV2lkZ2V0UmVhZHk9InR2LXdpZGdldC1yZWFkeSIsdC5SZXNpemVJZnJhbWU9InR2LXdpZGdldC1yZXNpemUtaWZyYW1lIix0Lk5vRGF0YT0idHYtd2lkZ2V0LW5vLWRhdGEifShlPXQuTmFtZXN8fCh0Lk5hbWVzPXt9KSl9KHN8fChzPXt9KSk7Y29uc3Qgbj0iX19GQUlMX18iLG89Il9fTkhUVFBfXyIsYT1uZXcgUmVnRXhwKCJeaHR0cChzKT86KC8vKT8iKTtmdW5jdGlvbiBsKHQ9bG9jYXRpb24uaHJlZil7Y29uc3QgZT1mdW5jdGlvbih0KXt0cnl7Y29uc3QgZT1uZXcgVVJMKHQpO3JldHVybiBhLnRlc3QoZS5wcm90b2NvbCk/bnVsbDpvfWNhdGNoKHQpe3JldHVybiBufX0odCk7cmV0dXJuIGV8fHQucmVwbGFjZShhLCIiKX1jb25zdCBjPXt3aWRnZXRIb3N0OiJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tIixlbnY6IkJBVFRMRSJ9O2NvbnN0IGg9WyJsb2NhbGUiLCJzeW1ib2wiLCJtYXJrZXQiXTtjbGFzcyBke2NvbnN0cnVjdG9yKHQpe3RoaXMuX2NvcHlyaWdodENvbnRhaW5lcj1udWxsO2NvbnN0IGU9dD8/dGhpcy5fZ2V0U2NyaXB0SW5mbygpO2UmJnRoaXMuX3JlcGxhY2VTY3JpcHQoZSl9aGFzQ29weXJpZ2h0KCl7cmV0dXJuISF0aGlzLl9jb3B5cmlnaHRDb250YWluZXJ9Z2V0IHdpZGdldElkKCl7dGhyb3cgbmV3IEVycm9yKCJNZXRob2QgbXVzdCBiZSBvdmVycmlkZGVuIil9d2lkZ2V0VXRtTmFtZSgpe3JldHVybiB0aGlzLndpZGdldElkfWdldCBkZWZhdWx0U2V0dGluZ3MoKXtyZXR1cm4gclt0aGlzLndpZGdldElkXX1nZXQgcHJvcGVydGllc1RvV29ya1dpdGgoKXtyZXR1cm5bXX1nZXQgdXNlUGFyYW1zRm9yQ29ubmVjdFNvY2tldCgpe3JldHVybiExfWdldCB1c2VTbm93cGxvd1BhZ2VWaWV3KCl7cmV0dXJuITF9dXNlUXVlcnlTdHJpbmdQYXJhbWV0ZXJzKHQpe3JldHVybnt9fWZpbHRlclJhd1NldHRpbmdzKHQpe2NvbnN0IGU9e30scj17Li4udCwuLi50aGlzLnVzZVF1ZXJ5U3RyaW5nUGFyYW1ldGVycyh0KX0saT1PYmplY3Qua2V5cyhyKSxzPW5ldyBTZXQodGhpcy5wcm9wZXJ0aWVzVG9Xb3JrV2l0aCk7cmV0dXJuIGkuZm9yRWFjaCgodD0+e3MuaGFzKHQpJiYoZVt0XT1yW3RdKX0pKSxlfWdldCBzaG91bGRMaXN0ZW5Ub0lmcmFtZVJlc2l6ZSgpe3JldHVybiEwfWdldCBwcm9wZXJ0aWVzVG9Ta2lwSW5IYXNoKCl7cmV0dXJuWyJjdXN0b21lciIsImxvY2FsZSJdfWdldCBwcm9wZXJ0aWVzVG9BZGRUb0dldFBhcmFtcygpe3JldHVyblsibG9jYWxlIl19c2hvdWxkQWRkQ29weXJpZ2h0U3R5bGVzKCl7cmV0dXJuITB9X2RlZmF1bHRXaWR0aCgpe31fZGVmYXVsdEhlaWdodCgpe31fZ2V0U2NyaXB0SW5mbygpe2NvbnN0IHQ9ZG9jdW1lbnQuY3VycmVudFNjcmlwdDtpZighdHx8IXQuc3JjKXJldHVybiBjb25zb2xlLmVycm9yKCJDb3VsZCBub3Qgc2VsZi1yZXBsYWNlIHRoZSBzY3JpcHQsIHdpZGdldCBlbWJlZGRpbmcgaGFzIGJlZW4gYWJvcnRlZCIpLG51bGw7cmV0dXJue3NjcmlwdFVSTDpmdW5jdGlvbih0KXtjb25zdCBlPW5ldyBVUkwodCxkb2N1bWVudC5iYXNlVVJJKTtyZXR1cm57aG9zdDplLmhvc3QscGF0aG5hbWU6ZS5wYXRobmFtZSxocmVmOmUuaHJlZixwcm90b2NvbDplLnByb3RvY29sfX0odC5zcmMpLHNjcmlwdEVsZW1lbnQ6dCxpZDp0LmlkLHJhd1NldHRpbmdzOnRoaXMuX3NjcmlwdENvbnRlbnRUb0pTT04odCksb3ZlcnJpZGVIb3N0OnQuZ2V0QXR0cmlidXRlKCJvdmVycmlkZS1ob3N0Iil9fV9yZXBsYWNlU2NyaXB0KHIpe2NvbnN0e3NjcmlwdFVSTDppLHNjcmlwdEVsZW1lbnQ6bixyYXdTZXR0aW5nczpvLGlkOmEsb3ZlcnJpZGVIb3N0Omx9PXIsaD1sfHxmdW5jdGlvbih0LGU9Yyl7aWYoIkJBVFRMRSI9PT1lLmVudil7aWYod2luZG93LldJREdFVF9IT1NUKXJldHVybiB3aW5kb3cuV0lER0VUX0hPU1Q7aWYodC5ob3N0Lm1hdGNoKC9cLlx3c3RcdypcLlx3diQvaSkpcmV0dXJuYGh0dHBzOi8vJHsocj10Lmhvc3QsaT0zLHIuc3BsaXQoIi4iKS5zbGljZSgtaSkuam9pbigiLiIpKS5yZXBsYWNlKC9eYmV0YTAoPz1cLnhzdGFnaW5nXC50diQpL2ksImJldGEwLXhzdGFnaW5nIikucmVwbGFjZSgvXC4oXHcpdiQvaSwoKHQsZSk9PmAtd2lkZ2V0LiR7ZX12YCkpfWB9dmFyIHIsaTtyZXR1cm4gZS53aWRnZXRIb3N0fShpKSxkPW4ucGFyZW50Tm9kZTtvJiYidGltZWxpbmUiPT09dGhpcy53aWRnZXRVdG1OYW1lKCkmJihvLmxvY2FsZT0iZW4iKTtjb25zdCBnPW4ubm9uY2V8fG4uZ2V0QXR0cmlidXRlKCJub25jZSIpLHU9ZnVuY3Rpb24odCl7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3QgZT10LnF1ZXJ5U2VsZWN0b3IoIiN0cmFkaW5ndmlldy1jb3B5cmlnaHQiKSxyPXQucXVlcnlTZWxlY3RvcigiI3RyYWRpbmd2aWV3LXF1b3RlcyIpLGk9ZXx8cjtyZXR1cm4gaSYmdC5yZW1vdmVDaGlsZChpKSxpfShkKSxtPWQucXVlcnlTZWxlY3RvcigiLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQiKTt0aGlzLl9jb3B5cmlnaHRDb250YWluZXI9dXx8bTtjb25zdCBwPWQuY2xhc3NMaXN0LmNvbnRhaW5zKCJ0cmFkaW5ndmlldy13aWRnZXQtY29udGFpbmVyIik7dGhpcy5pZnJhbWVDb250YWluZXI9ZCYmcD9kOmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLG8mJih0aGlzLnNldHRpbmdzPXRoaXMuZmlsdGVyUmF3U2V0dGluZ3MobykpLG8mJnRoaXMuX3ZhbGlkYXRlU2V0dGluZ3MoKXx8KGNvbnNvbGUuZXJyb3IoIkludmFsaWQgc2V0dGluZ3MgcHJvdmlkZWQsIGZhbGwgYmFjayB0byBkZWZhdWx0cyIpLHRoaXMuc2V0dGluZ3M9dGhpcy5maWx0ZXJSYXdTZXR0aW5ncyh0aGlzLmRlZmF1bHRTZXR0aW5ncykpCjtjb25zdCBmPSIzMnB4Iix7d2lkdGg6dyxoZWlnaHQ6eX09dGhpcy5zZXR0aW5ncyxTPXZvaWQgMD09PXk/dm9pZCAwOmAke3l9JHtOdW1iZXIuaXNJbnRlZ2VyKHkpPyJweCI6IiJ9YCxiPXZvaWQgMD09PXc/dm9pZCAwOmAke3d9JHtOdW1iZXIuaXNJbnRlZ2VyKHcpPyJweCI6IiJ9YDtpZih2b2lkIDAhPT1iJiYodGhpcy5pZnJhbWVDb250YWluZXIuc3R5bGUud2lkdGg9Yiksdm9pZCAwIT09UyYmKHRoaXMuaWZyYW1lQ29udGFpbmVyLnN0eWxlLmhlaWdodD1TKSx0aGlzLnNob3VsZEFkZENvcHlyaWdodFN0eWxlcygpKXtjb25zdCB0PWZ1bmN0aW9uKCl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3JldHVybiB0LmlubmVySFRNTD1gXG5cdC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IHtcblx0XHRmb250LXNpemU6IDEzcHggIWltcG9ydGFudDtcblx0XHRsaW5lLWhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcblx0XHQvKiBAbWl4aW4gc2YtcHJvLWRpc3BsYXktZm9udDsgKi9cblx0XHRmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnVHJlYnVjaGV0IE1TJywgUm9ib3RvLCBVYnVudHUsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1jb2xkLWdyYXktMzAwIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYSB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0Y29sb3I6ICR7ZVsiY29sb3ItY29sZC1ncmF5LTMwMCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYTp2aXNpdGVkIHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1jb2xkLWdyYXktMzAwIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOmhvdmVyIC5ibHVlLXRleHQge1xuXHRcdGNvbG9yOiAke2VbImNvbG9yLWJyYW5kLWhvdmVyIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOmFjdGl2ZSAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZC1hY3RpdmUiXX0gIWltcG9ydGFudDtcblx0fVxuXG5cdC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IGE6dmlzaXRlZCAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cdGAsdH0oKTtnJiZ0LnNldEF0dHJpYnV0ZSgibm9uY2UiLGcpLHRoaXMuaWZyYW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKHQpfWNvbnN0IHY9dGhpcy5oYXNDb3B5cmlnaHQoKT9gY2FsYygxMDAlIC0gJHtmfSlgOiIxMDAlIixfPWxvY2F0aW9uLmhvc3RuYW1lLFQ9bT8id2lkZ2V0X25ldyI6IndpZGdldCIsQz10aGlzLndpZGdldFV0bU5hbWUoKTt0aGlzLnNldHRpbmdzLnV0bV9zb3VyY2U9Xyx0aGlzLnNldHRpbmdzLnV0bV9tZWRpdW09VCx0aGlzLnNldHRpbmdzLnV0bV9jYW1wYWlnbj1DLHRoaXMuX3VwZGF0ZUNvcHlyaWdodEhyZWZQYXJhbXMoXyxULEMpO2NvbnN0IGs9dGhpcy5zZXR0aW5ncy5pZnJhbWVUaXRsZXx8YCR7dGhpcy53aWRnZXRJZC5yZXBsYWNlKCItIiwiICIpfSBUcmFkaW5nVmlldyB3aWRnZXRgLEE9dGhpcy5zZXR0aW5ncy5pZnJhbWVMYW5nfHwiZW4iO3RoaXMuaWZyYW1lPXRoaXMuX2NyZWF0ZUlmcmFtZSh2LGgsYSxrLEEpLHRoaXMuX2FkZENTUEVycm9yTGlzdGVuZXIoaCksZyYmdGhpcy5pZnJhbWUuc2V0QXR0cmlidXRlKCJub25jZSIsZyk7Y29uc3QgRT10aGlzLmlmcmFtZUNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCIudHJhZGluZ3ZpZXctd2lkZ2V0LWNvbnRhaW5lcl9fd2lkZ2V0Iik7aWYoRT8odChFLnBhcmVudEVsZW1lbnQpLnJlcGxhY2VDaGlsZCh0aGlzLmlmcmFtZSxFKSxuPy5yZW1vdmUoKSk6cD8odGhpcy5pZnJhbWVDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5pZnJhbWUpLG4/LnJlbW92ZSgpKToodGhpcy5pZnJhbWVDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5pZnJhbWUpLGQucmVwbGFjZUNoaWxkKHRoaXMuaWZyYW1lQ29udGFpbmVyLHQobikpKSx0aGlzLnNob3VsZExpc3RlblRvSWZyYW1lUmVzaXplJiZmdW5jdGlvbih0LGUscil7Y29uc3QgaT1lLmNvbnRlbnRXaW5kb3c7aWYoIWkpcmV0dXJuIGNvbnNvbGUuZXJyb3IoIkNhbm5vdCBsaXN0ZW4gdG8gdGhlIGV2ZW50IGZyb20gdGhlIHByb3ZpZGVkIGlmcmFtZSwgY29udGVudFdpbmRvdyBpcyBub3QgYXZhaWxhYmxlIiksKCk9Pnt9O2Z1bmN0aW9uIHMoZSl7ZS5zb3VyY2UmJmUuc291cmNlPT09aSYmZS5kYXRhJiZlLmRhdGEubmFtZSYmZS5kYXRhLm5hbWU9PT10JiZyKGUuZGF0YS5kYXRhKX13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIscywhMSl9KHMuTmFtZXMuUmVzaXplSWZyYW1lLHRoaXMuaWZyYW1lLCh0PT57dC53aWR0aCYmKHRoaXMuaWZyYW1lLnN0eWxlLndpZHRoPXQud2lkdGgrInB4Iix0aGlzLmlmcmFtZUNvbnRhaW5lci5zdHlsZS53aWR0aD10LndpZHRoKyJweCIpLHRoaXMuaWZyYW1lLnN0eWxlLmhlaWdodD10LmhlaWdodCsicHgiLHRoaXMuaWZyYW1lQ29udGFpbmVyLnN0eWxlLmhlaWdodD10LmhlaWdodCsodGhpcy5oYXNDb3B5cmlnaHQoKT8zMjowKSsicHgifSkpLHUpe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC5zdHlsZS5oZWlnaHQ9Zix0LnN0eWxlLmxpbmVIZWlnaHQ9Zix2b2lkIDAhPT1iJiYodC5zdHlsZS53aWR0aD1iKSx0LnN0eWxlLnRleHRBbGlnbj0iY2VudGVyIix0LnN0eWxlLnZlcnRpY2FsQWxpZ249Im1pZGRsZSIsdC5pbm5lckhUTUw9dS5pbm5lckhUTUwsCnRoaXMuaWZyYW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKHQpfX1faWZyYW1lU3JjQmFzZSh0KXtsZXQgZT1gJHt0fS9lbWJlZC13aWRnZXQvJHt0aGlzLndpZGdldElkfS9gO3JldHVybiB0aGlzLnNldHRpbmdzLmN1c3RvbWVyJiYtMSE9PXRoaXMucHJvcGVydGllc1RvU2tpcEluSGFzaC5pbmRleE9mKCJjdXN0b21lciIpJiYoZSs9YCR7dGhpcy5zZXR0aW5ncy5jdXN0b21lcn0vYCksZX1fdmFsaWRhdGVTZXR0aW5ncygpe2NvbnN0IHQ9KHQsZSk9PntpZih2b2lkIDA9PT10KXJldHVybiBlO2NvbnN0IHI9U3RyaW5nKHQpO3JldHVybi9eXGQrJC8udGVzdChyKT9wYXJzZUludChyKTovXihcZCslfGF1dG8pJC8udGVzdChyKT9yOm51bGx9LGU9dCh0aGlzLnNldHRpbmdzLndpZHRoLHRoaXMuX2RlZmF1bHRXaWR0aCgpKSxyPXQodGhpcy5zZXR0aW5ncy5oZWlnaHQsdGhpcy5fZGVmYXVsdEhlaWdodCgpKTtyZXR1cm4gbnVsbCE9PWUmJm51bGwhPT1yJiYodGhpcy5zZXR0aW5ncy53aWR0aD1lLHRoaXMuc2V0dGluZ3MuaGVpZ2h0PXIsITApfV9zZXRTZXR0aW5nc1F1ZXJ5U3RyaW5nKHQpe2NvbnN0IGU9dGhpcy5wcm9wZXJ0aWVzVG9BZGRUb0dldFBhcmFtcy5maWx0ZXIoKHQ9Pi0xIT09aC5pbmRleE9mKHQpKSkscj1mdW5jdGlvbih0LGUpe2NvbnN0IHI9T2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YodCkpO2Zvcihjb25zdCBpIG9mIGUpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsaSkmJihyW2ldPXRbaV0pO3JldHVybiByfSh0aGlzLnNldHRpbmdzLGUpO2Zvcihjb25zdFtlLGldb2YgT2JqZWN0LmVudHJpZXMocikpdC5zZWFyY2hQYXJhbXMuYXBwZW5kKGUsaSl9X3NldEhhc2hTdHJpbmcodCxlKXtjb25zdCByPXt9O2UmJihyLmZyYW1lRWxlbWVudElkPWUpLE9iamVjdC5rZXlzKHRoaXMuc2V0dGluZ3MpLmZvckVhY2goKHQ9PnstMT09PXRoaXMucHJvcGVydGllc1RvU2tpcEluSGFzaC5pbmRleE9mKHQpJiYoclt0XT10aGlzLnNldHRpbmdzW3RdKX0pKSwodGhpcy51c2VQYXJhbXNGb3JDb25uZWN0U29ja2V0fHx0aGlzLnVzZVNub3dwbG93UGFnZVZpZXcpJiYoclsicGFnZS11cmkiXT1sKCkpO09iamVjdC5rZXlzKHIpLmxlbmd0aD4wJiYodC5oYXNoPWVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShyKSkpfV9zY3JpcHRDb250ZW50VG9KU09OKHQpe2NvbnN0IGU9dC5pbm5lckhUTUwudHJpbSgpO3RyeXtyZXR1cm4gSlNPTi5wYXJzZShlKX1jYXRjaCh0KXtyZXR1cm4gY29uc29sZS5lcnJvcihgV2lkZ2V0IHNldHRpbmdzIHBhcnNlIGVycm9yOiAke3R9YCksbnVsbH19X2NyZWF0ZUlmcmFtZSh0LGUscixpLHMpe2NvbnN0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7ciYmKG4uaWQ9ciksdGhpcy5zZXR0aW5ncy5lbmFibGVTY3JvbGxpbmd8fG4uc2V0QXR0cmlidXRlKCJzY3JvbGxpbmciLCJubyIpLG4uc2V0QXR0cmlidXRlKCJhbGxvd3RyYW5zcGFyZW5jeSIsInRydWUiKSxuLnNldEF0dHJpYnV0ZSgiZnJhbWVib3JkZXIiLCIwIiksbi5zdHlsZS51c2VyU2VsZWN0PSJub25lIixuLnN0eWxlLmJveFNpemluZz0iYm9yZGVyLWJveCIsbi5zdHlsZS5kaXNwbGF5PSJibG9jayIsbi5zdHlsZS5oZWlnaHQ9dCxuLnN0eWxlLndpZHRoPSIxMDAlIjtjb25zdCBvPW5ldyBVUkwodGhpcy5faWZyYW1lU3JjQmFzZShlKSk7cmV0dXJuIHRoaXMuX3NldFNldHRpbmdzUXVlcnlTdHJpbmcobyksdGhpcy5fc2V0SGFzaFN0cmluZyhvLHIpLG4uc2V0QXR0cmlidXRlKCJzcmMiLG8udG9TdHJpbmcoKSksbi50aXRsZT1pLG4ubGFuZz1zLG59X2FkZENTUEVycm9yTGlzdGVuZXIodCl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2VjdXJpdHlwb2xpY3l2aW9sYXRpb24iLChlPT57ZS5ibG9ja2VkVVJJLmluY2x1ZGVzKHQpJiYodGhpcy5fdHJ5Rml4Q1NQSXNzdWVXaXRoRmFsbGJhY2sodCksY29uc29sZS53YXJuKCJQbGVhc2UgdXBkYXRlIHlvdXIgQ1NQIHJ1bGVzIHRvIGFsbG93IHRoZSB0cmFkaW5ndmlldy13aWRnZXQuY29tIG9yaWdpbiBmb3IgZnJhbWUtc3JjLiIpKX0pKX1fdHJ5Rml4Q1NQSXNzdWVXaXRoRmFsbGJhY2sodCl7Y29uc3QgZT10aGlzLmlmcmFtZS5nZXRBdHRyaWJ1dGUoInNyYyIpO2lmKGUpe2NvbnN0IHI9bmV3IFVSTChlLnJlcGxhY2UodCwiaHR0cHM6Ly9zLnRyYWRpbmd2aWV3LmNvbSIpKTt0aGlzLmlmcmFtZS5zZXRBdHRyaWJ1dGUoInNyYyIsci5ocmVmKX19X3VwZGF0ZUNvcHlyaWdodEhyZWZQYXJhbXModCxlLHIpe2lmKHRoaXMuX2NvcHlyaWdodENvbnRhaW5lcil7Y29uc3QgaT10aGlzLl9jb3B5cmlnaHRDb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgiYSIpO2kmJmkuZm9yRWFjaCgoaT0+e2NvbnN0IHM9aS5nZXRBdHRyaWJ1dGUoImhyZWYiKTtpZihzKXRyeXtjb25zdCBuPW5ldyBVUkwocyk7bi5zZWFyY2hQYXJhbXMuc2V0KCJ1dG1fc291cmNlIix0KSxuLnNlYXJjaFBhcmFtcy5zZXQoInV0bV9tZWRpdW0iLGUpLG4uc2VhcmNoUGFyYW1zLnNldCgidXRtX2NhbXBhaWduIixyKSxpLnNldEF0dHJpYnV0ZSgiaHJlZiIsbi50b1N0cmluZygpKX1jYXRjaCh0KXtjb25zb2xlLmxvZyhgQ2Fubm90IHVwZGF0ZSBsaW5rIFVUTSBwYXJhbXMsIGhyZWY9IiR7c30iYCl9fSkpfX19bmV3IGNsYXNzIGV4dGVuZHMgZHtnZXQgd2lkZ2V0SWQoKXtjb25zdCB0PXRoaXMuc2V0dGluZ3M7cmV0dXJuIHQmJiJjcnlwdG9fbWt0Ij09PXQuc2NyZWVuZXJfdHlwZT8iY3J5cHRvLW1rdC1zY3JlZW5lciI6InNjcmVlbmVyIn1nZXQgdXNlU25vd3Bsb3dQYWdlVmlldygpe3JldHVybiEwfXdpZGdldFV0bU5hbWUoKXtjb25zdCB0PXRoaXMuc2V0dGluZ3M7aWYodCl7aWYoImZvcmV4Ij09PXQubWFya2V0KXJldHVybiJmb3JleHNjcmVlbmVyIjtpZigiY3J5cHRvX21rdCI9PT10LnNjcmVlbmVyX3R5cGUpcmV0dXJuImNyeXB0b21rdHNjcmVlbmVyIjtpZigiY3J5cHRvIj09PXQubWFya2V0KXJldHVybiJjcnlwdG9zY3JlZW5lciJ9cmV0dXJuInNjcmVlbmVyIn1nZXQgcHJvcGVydGllc1RvV29ya1dpdGgoKXsKcmV0dXJuWyJjb2xvclRoZW1lIiwiY3VzdG9tZXIiLCJkZWZhdWx0Q29sdW1uIiwiZGVmYXVsdFNjcmVlbiIsImRpc3BsYXlDdXJyZW5jeSIsImhlaWdodCIsImxhcmdlQ2hhcnRVcmwiLCJsb2NhbGUiLCJtYXJrZXQiLCJzY3JlZW5lcl90eXBlIiwic2hvd1Rvb2xiYXIiLCJpc1RyYW5zcGFyZW50Iiwid2lkdGgiXX1maWx0ZXJSYXdTZXR0aW5ncyh0KXtjb25zdCBlPXN1cGVyLmZpbHRlclJhd1NldHRpbmdzKHQpO3JldHVybiB2b2lkIDAhPT10LnRyYW5zcGFyZW5jeSYmKGUuaXNUcmFuc3BhcmVudD10LnRyYW5zcGFyZW5jeSksImNyeXB0b19ta3QiPT09ZS5zY3JlZW5lcl90eXBlJiYoZS5tYXJrZXQ9ImNyeXB0byIpLGUuZW5hYmxlU2Nyb2xsaW5nPSEwLGV9fX0pKCk7"}},"time_used":392,"timings":{"blocked":-1,"dns":30,"connect":3,"send":0,"wait":146,"receive":-1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-sheriff.tradingview-widget.com/sheriff/api/v1/rules/search?origin=https%3A%2F%2F247optiontradefx.com","fqdn":"widget-sheriff.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.643Z","timestamp":1785120634643,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /sheriff/api/v1/rules/search?origin=https%3A%2F%2F247optiontradefx.com HTTP/1.1\r\nHost: widget-sheriff.tradingview-widget.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://www.tradingview-widget.com/\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"www.tradingview-widget.com/static/bundles/embed/7163.ec4e7bcc0c79e2e6074d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.831Z","timestamp":1785120634831,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/7163.ec4e7bcc0c79e2e6074d.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"translations.smartsuppcdn.com/api/v1/widget/translations/lang/en/defaults","fqdn":"translations.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:40.336Z","timestamp":1785120640336,"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://247optiontradefx.com/\r\nOrigin: https://247optiontradefx.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 02:50:43 GMT\r\ncontent-type: application/json; charset=utf-8\r\naccess-control-allow-origin: *\r\ncache-control: max-age=600\r\nx-response-time: 0ms\r\nx-version: 0dd3c95f86cdb6b59a0dad25ffcd406aa7c7723b\r\nx-77-nzt: k2gK7BhGeU22YB5wpOYqQMJaDNSjZOJEJvdR9awp5Btg5FApWqcS8tlahTLnk+/PfEl0k7M\r\nx-77-nzt-ray: e2f754204f14603f83c7666ad467bf21\r\nx-77-cache: HIT\r\nx-77-age: 492\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":3346,"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-27T05:20:45.934212Z","times_seen":4136,"resource_available":false,"data":"eyJhZ2VudFJhdGluZy5hbGwucGxhY2Vob2xkZXIiOiJMZWF2ZSB1cyBmZWVkYmFjayIsImFnZW50UmF0aW5nLmJhZC5mb3JtVGV4dCI6IlNvIHNvcnJ5IPCfmJMgV2hhdCB3ZW50IHdyb25nPyIsImFnZW50UmF0aW5nLmdvb2QuZm9ybVRleHQiOiJUaGFua3Mg8J+kqSBXaGF0IHdhcyBzbyBncmVhdD8iLCJhZ2VudFJhdGluZy5ub3JtYWwuZm9ybVRleHQiOiJUaGFua3Mg8J+RjSBIb3cgY2FuIHdlIGltcHJvdmU/IiwiYWdlbnRUcmFuc2Zlci5kZWZhdWx0VGV4dCI6IkFnZW50IiwiYWdlbnRUcmFuc2Zlci5qb2luZWQiOiJqb2luZWQgdGhlIGNoYXQiLCJhZ2VudFRyYW5zZmVyLmxlZnQiOiJsZWZ0IiwiYWdlbnRUcmFuc2Zlci5yZWRpcmVjdGVkIjoiaXMgeW91ciBuZXcgYWdlbnQiLCJhcmlhTGFiZWwuYWdlbnRBdmF0YXIiOiJBZ2VudCBhdmF0YXIiLCJhcmlhTGFiZWwuY2FyZCI6IlByb2R1Y3QgY2FyZCIsImFyaWFMYWJlbC5jaGF0Q29udGVudCI6IkNoYXQgY29udGVudCIsImFyaWFMYWJlbC5jaGF0Ym90QXZhdGFyIjoiQ2hhdGJvdCBhdmF0YXIiLCJhcmlhTGFiZWwuZHJhd2VyLmNvbnRlbnQiOiJEcmF3ZXIgY29udGVudCIsImFyaWFMYWJlbC5kcmF3ZXIub3ZlcmxheSI6IkRyYXdlciBvdmVybGF5IiwiYXJpYUxhYmVsLmlubGluZUVtb2ppUGlja2VyLmRlc2NyaXB0aW9uIjoiU2hvd2luZyB7Y291bnR9IGVtb2ppcyIsImFyaWFMYWJlbC5pbmxpbmVFbW9qaVBpY2tlci5sYWJlbCI6IkVtb2ppIHN1Z2dlc3Rpb25zIiwiYXJpYUxhYmVsLmxlZnQiOiJMZWZ0IiwiYXJpYUxhYmVsLm9wZW5DaGF0IjoiT3BlbiBTbWFydHN1cHAgY2hhdCIsImFyaWFMYWJlbC5wb3B1cCI6IlNtYXJ0c3VwcCBjaGF0IHBvcHVwIiwiYXJpYUxhYmVsLnJhdGVDaGF0LmJhZCI6IlJhdGUgY2hhdCBuZWdhdGl2ZWxseSIsImFyaWFMYWJlbC5yYXRlQ2hhdC5nb29kIjoiUmF0ZSBjaGF0IHBvc2l0aXZlbHkiLCJhcmlhTGFiZWwucmF0ZUNoYXQubmV1dHJhbCI6IlJhdGUgY2hhdCBuZXV0cmFsbHkiLCJhcmlhTGFiZWwucmVtb3ZlQXR0YWNobWVudCI6IlJlbW92ZSBhdHRhY2htZW50IiwiYXJpYUxhYmVsLnJpZ2h0IjoiUmlnaHQiLCJhcmlhTGFiZWwuc2Nyb2xsRG93biI6IlNjcm9sbCBkb3duIiwiYXJpYUxhYmVsLnN1Y2Nlc3MiOiJTdWNjZXNzIiwiYXJpYUxhYmVsLnVwbG9hZGluZyI6IlVwbG9hZGluZy4uLiIsImFyaWFMYWJlbC53aWRnZXRCcmFuZGluZyI6IlNtYXJ0c3VwcCBicmFuZGluZyIsImF1dGhGb3JtLmFjY2VwdFRlcm1zIjoiSSBhZ3JlZSB3aXRoIHByaXZhY3kgcG9saWN5IiwiYXV0aEZvcm0uYnV0dG9uLnNlbmQiOiJTZW5kIG1lc3NhZ2UiLCJhdXRoRm9ybS5kZXNjcmlwdGlvbiI6Ildl4oCZbGwgdXNlIHlvdXIgY29udGFjdCBpbmZvIG9ubHkgaWYgYWxsIHRoZSBhZ2VudHMgYXJlIGJ1c3kgYXQgdGhlIG1vbWVudCBhbmQgY2Fubm90IGltbWVkaWF0ZWx5IHJlcGx5LiIsImF1dGhGb3JtLmdyZWV0aW5nIjoi8J+RiyBQbGVhc2UgaW50cm9kdWNlIHlvdXJzZWxmIiwiYXV0aEZvcm0uZ3JvdXAiOiJDaG9vc2UgYSBncm91cCIsImF1dGhGb3JtLmxhYmVsLmVtYWlsIjoiRS1tYWlsIiwiYXV0aEZvcm0ubGFiZWwuZ3JvdXAiOiJHcm91cCIsImF1dGhGb3JtLmxhYmVsLm5hbWUiOiJOYW1lIiwiYXV0aEZvcm0ubGFiZWwucGhvbmUiOiJQaG9uZSIsImF1dGhGb3JtLnN1Ym1pdC5lcnJvciI6IkF1dGhlbnRpY2F0aW9uIGZhaWxlZCIsImF1dGhGb3JtLnN1Ym1pdC5zdWNjZXNzIjoiQXV0aGVudGljYXRpb24gd2FzIHN1Y2Nlc3NmdWwiLCJhdXRoRm9ybS55b3VyRW1haWwiOiJZb3VyIGVtYWlsIiwiYXV0aEZvcm0ueW91ck5hbWUiOiJZb3VyIG5hbWUiLCJhdXRoRm9ybS55b3VyUGhvbmUiOiJQaG9uZSBudW1iZXIiLCJidXR0b24uZ3JlZXRpbmciOiJDaGF0IiwiY2FyZC5saW5rc0xpbWl0UmVhY2hlZCI6IlVuYWJsZSB0byBzZW5kIG1vcmUgdGhhbiAyMCBVUkwgbGlua3MuIiwiY2FyZC5ub1ByZXZpZXdUaXRsZSI6IlByZXZpZXcgbm90IGF2YWlsYWJsZSIsImNhcmQub3BlblVybFRpdGxlIjoiUmVhZCBtb3JlIiwiY2FyZC5zZW5kaW5nSW5Qcm9ncmVzcyI6IlNlbmRpbmcgaW4gcHJvZ3Jlc3MsIHBsZWFzZSB3YWl04oCmIiwiY2hhdElucHV0LnBsYWNlaG9sZGVyIjoiVHlwZSB5b3VyIG1lc3NhZ2UgaGVyZSIsImNoYXRQcmV2aWV3Lm1lc3NhZ2UxIjoiSGksIGlzIGFueWJvZHkgaGVyZT8iLCJjaGF0UHJldmlldy5tZXNzYWdlMiI6IkhlbGxvLCB5ZXMgd2UgYXJlIGhlcmUiLCJjaGF0UHJldmlldy5tZXNzYWdlMyI6Ik9rLCB0aGFua3MiLCJjaGF0Ym90LmdvQmFjayI6IkdvIGJhY2siLCJjbG9zZUNvbnZlcnNhdGlvbk1vZGFsLmJ1dHRvbiI6IlllcywgZW5kIGNoYXQiLCJjbG9zZUNvbnZlcnNhdGlvbk1vZGFsLnRleHQiOiJJcyB0aGF0IHJlYWxseSBhbGw/IElmIHNvbWV0aGluZyBlbHNlIGNvbWVzIHRvIG1pbmQsIHlvdSBjYW4gYWx3YXlzIHJldHVybiB0byB0aGUgY29udmVyc2F0aW9uLiIsImNsb3NlQ29udmVyc2F0aW9uTW9kYWwudGl0bGUiOiJFbmQgY2hhdCIsImRyYWdBbmREcm9wLmRyb3BIZXJlIjoiRHJvcCB5b3VyIGZpbGUocykgaGVyZSIsImVtYWlsVHJhbnNjcmlwdC5wb3NpdGl2ZUZlZWRiYWNrIjoiVHJhbnNjcmlwdCBoYXMgYmVlbiBzZW50IiwiZW1haWxUcmFuc2NyaXB0LnNlbmRDb3B5IjoiU2VuZCBjb252ZXJzYXRpb24gY29weSIsImVycm9yLmZpbGVVcGxvYWQiOiJGaWxlIHVwbG9hZCBmYWlsdXJlIiwiZXJyb3Iubm9JbnRlcm5ldCI6IkludGVybmV0IGNvbm5lY3Rpb24gbG9zdCIsImVycm9yLnNlcnZlckVycm9yIjoiU2VydmVyIGVycm9yIG9jY3VycmVkIiwiZmlsZVVwbG9hZC5iYWRGaWxlVHlwZSI6IlRoaXMgZmlsZSB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQuIiwiZmlsZVVwbG9hZC5maWxlVG9vQmlnIjoiVGhlIGZpbGUgaXMgYmlnZ2VyIHRoYW4gdGhlIGFsbG93ZWQgbGltaXQiLCJmaWxlVXBsb2FkLmZpbGVzV2VyZW50UHJvY2Vzc2VkIjoiU29tZSBmaWxlcyBjb3VsZCBub3QgYmUgcHJvY2Vzc2VkIiwiZmlsZVVwbG9hZC5pbWFnZUVycm9yIjoiVGhpcyBpbWFnZSBpcyBub3QgdmFsaWQiLCJmaWxlVXBsb2FkLnRvb01hbnlGaWxlcyI6IkxpbWl0IGZvciB1cGxvYWRpbmcgZmlsZXMgaXMgIiwiZmlsZVVwbG9hZC51cGxvYWRGaWxlIjoiVXBsb2FkIGZpbGUiLCJmb3JtLnN1Ym1pdC5lcnJvciI6IlNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImZvcm0uc3VibWl0LnN1Y2Nlc3MiOiJTdWNjZXNzZnVsbHkgZG9uZSIsImdkcHIuZGF0YVByaXZhY3lIZWFkbGluZSI6IlBlcnNvbmFsIGRhdGEgcHJvY2Vzc2luZyIsImdkcHIuZGF0YVByaXZhY3lUZXh0IjoiU21hcnRzdXBwLmNvbSwgcy5yLm8sIHByb2Nlc3NlcyBwZXJzb25hbCBkYXRhLiwgVkFUIElEIENaMDM2Njg2ODEgKGZ1cnRoZXIgYXMgXCJTbWFydHN1cHBcIikgYXMgYSBkYXRhIHByb2Nlc3NvciB3aG8gYWN0cyBvbiBiZWhhbGYgb2YgdGhlIHdlYnNpdGUgb3duZXIgd2hvIGlzIHRoZSBkYXRhIGNvbnRyb2xsZXIuIFxuXG5TbWFydHN1cHAgaXMgR0RQUiBjb21wbGlhbnQuIFlvdSBjYW4gZmluZCBpbmZvcm1hdGlvbiBhYm91dCBTbWFydHN1cHAgcGVyc29uYWwgZGF0YSBwcml2YWN5IGFuZCBwcm9jZXNzaW5nIG9uIGhlbHAuc21hcnRzdXBwLmNvbS9lbl9VUy9wcml2YWN5LiBcblxuUHJvY2Vzc2luZyBvZiB5b3VyIHBlcnNvbmFsIGRhdGEgaXMgbmVjZXNzYXJ5IGluIG9yZGVyIHRvIHByb3ZpZGUgY3VzdG9tZXIgc2VydmljZS4gQWR2YW5jZWQgZmVhdHVyZXMgd2lsbCBvbmx5IGJlIHR1cm5lZCBvbiBpZiB5b3UgaGF2ZSBhZ3JlZWQgdG8gdGhlbS4gXG5cblBsZWFzZSBjb250YWN0IHRoZSB3ZWJzaXRlIG93bmVyIGlmIHlvdSBoYXZlIHF1ZXN0aW9ucyBhYm91dCB0aGUgcHJvY2Vzc2luZyBvZiBwZXJzb25hbCBkYXRhIG9yIGlmIHlvdSB3YW50IHRvIHJlcXVlc3Qgb3IgZXJhc2UgeW91ciBwZXJzb25hbCBkYXRhLiIsImdlbmVyYWwuYmFjayI6IkJhY2siLCJnZW5lcmFsLm5ld01lc3NhZ2VzIjoiTmV3IG1lc3NhZ2VzIiwiZ2VuZXJhbC5zZW5kIjoiU2VuZCIsIm9wdGlvbnMuYWNjZXNzaWJpbGl0eSI6IkFjY2Vzc2liaWxpdHkiLCJvcHRpb25zLmNvcHlyaWdodCI6IsKpIHt5ZWFyfSBTbWFydHN1cHAuY29tIiwib3B0aW9ucy5lbWFpbFRyYW5zY3JpcHQiOiJTZW5kIGVtYWlsIHRyYW5zY3JpcHQiLCJvcHRpb25zLmZlZWRiYWNrIjoiRGlkIHlvdSBmaW5kIGEgYnVnPyIsIm9wdGlvbnMuZ2RwciI6IkdEUFIgYW5kIHByaXZhY3kiLCJvcHRpb25zLnBkZlRyYW5zY3JpcHQiOiJEb3dubG9hZCB0cmFuc2NyaXB0Iiwib3B0aW9ucy5wbGF5U291bmRzIjoiUGxheSB0aGUgc291bmRzIiwib3B0aW9ucy50aXRsZSI6Ik9wdGlvbnMiLCJyYXRpbmcuYnV0dG9uLnJhdGUuYWdlbnQiOiJSYXRlIGNoYXQiLCJyYXRpbmcuYnV0dG9uLnJhdGUuYWkiOiJSYXRlIEFJIGNoYXRib3QiLCJyYXRpbmcuc3VibWl0LnN1Y2Nlc3MiOiJSYXRpbmcgc2VudCIsInJhdGluZy5zdWJtaXRGZWVkYmFjay5zdWNjZXNzIjoiVGhhbmsgeW91IGZvciB5b3VyIGZlZWRiYWNrIiwicmF0aW5nLndhc0l0SGVscGZ1bC5hZ2VudCI6IkhvdyB3b3VsZCB5b3UgcmF0ZSBvdXIgc3VwcG9ydD8iLCJyYXRpbmcud2FzSXRIZWxwZnVsLmFpIjoiSG93IHdvdWxkIHlvdSByYXRlIHRoZSBBSSBjaGF0Ym90IGV4cGVyaWVuY2U/Iiwic3RhdHVzQmFyLmJvdElkZW50aXR5IjoiQUkgYXNzaXN0YW50Iiwic3RhdHVzQmFyLm9mZmxpbmVUZXh0IjoiSGFwcHkgdG8gYW5zd2VyIHlvdSBsYXRlciIsInN0YXR1c0Jhci5vbmxpbmVUZXh0IjoiV2UgcmVwbHkgaW1tZWRpYXRlbHkiLCJzeXN0ZW1NZXNzYWdlLmNoYXRDbG9zZWQiOiJDaGF0IHdhcyBjbG9zZWQiLCJzeXN0ZW1NZXNzYWdlLmNoYXRSZXNvbHZlZCI6InJlc29sdmVkIGNvbnZlcnNhdGlvbiIsInRpY2tldEZvcm0ubGFiZWwubWVzc2FnZSI6IldoYXQgY2FuIHdlIGhlbHAgeW91IHdpdGg/IiwidGlja2V0Rm9ybS5tZXNzYWdlLnBsYWNlaG9sZGVyIjoiRGVzY3JpYmUgeW91ciBwcm9ibGVtIiwidGlja2V0Rm9ybS5zdWJtaXQuYnV0dG9uIjoi4pyJ77iPIENvbnRhY3QgdGhlIGFnZW50IGJ5IGVtYWlsIiwidGltZWFnby5YRGF5c0FnbyI6IiclcyBkYXlzIGFnbyIsInRpbWVhZ28uWEhvdXJzQWdvIjoiJXMgaG91cnMgYWdvIiwidGltZWFnby5YTWludXRlc0FnbyI6IiVzIG1pbnV0ZXMgYWdvIiwidGltZWFnby5YTW9udGhzQWdvIjoiJXMgbW9udGhzIGFnbyIsInRpbWVhZ28uWFNlY29uZHNBZ28iOiIlcyBzZWNvbmRzIGFnbyIsInRpbWVhZ28uWFdlZWtzQWdvIjoiJXMgd2Vla3MgYWdvIiwidGltZWFnby5YWWVhcnNBZ28iOiIlcyB5ZWFycyBhZ28iLCJ0aW1lYWdvLmp1c3ROb3ciOiJqdXN0IG5vdyIsInRpbWVhZ28ub25lRGF5QWdvIjoiMSBkYXkgYWdvIiwidGltZWFnby5vbmVIb3VyQWdvIjoiMSBob3VyIGFnbyIsInRpbWVhZ28ub25lTWludXRlQWdvIjoiMSBtaW51dGUgYWdvIiwidGltZWFnby5vbmVNb250aEFnbyI6IjEgbW9udGggYWdvIiwidGltZWFnby5vbmVXZWVrQWdvIjoiMSB3ZWVrIGFnbyIsInRpbWVhZ28ub25lWWVhckFnbyI6IjEgeWVhciBhZ28iLCJ0aW1lYWdvLnJpZ2h0Tm93IjoicmlnaHQgbm93IiwidGltZWFnby5zZWNvbmRzIjoiaW4gJXMgc2Vjb25kcyIsInRvb2x0aXAuYXR0YWNobWVudCI6IkF0dGFjaG1lbnQiLCJ0b29sdGlwLmNsb3NlIjoiQ2xvc2UiLCJ0b29sdGlwLmNvbGxhcHNlIjoiQ29sbGFwc2UgY2hhdCIsInRvb2x0aXAuZW1vamkiOiJFbW9qaSIsInRvb2x0aXAuZXhwYW5kIjoiRXhwYW5kIGNoYXQiLCJ0b29sdGlwLm1pbmltaXplIjoiTWluaW1pemUgY2hhdCIsInRvb2x0aXAubW9yZSI6IlNob3cgbW9yZSIsInRvb2x0aXAubW9yZUJ1dHRvbiI6IlNob3cgTW9yZSIsInRvb2x0aXAucmF0ZUNoYXQiOiJSYXRlIENoYXQiLCJ0b29sdGlwLnNlbmQiOiJTZW5kIiwidG9wQmFyLmVtYWlsVHJhbnNjcmlwdCI6IlNlbmQgZW1haWwgdHJhbnNjcmlwdCIsInRvcEJhci5nZHByVGl0bGUiOiJHRFBSIGFuZCBwcml2YWN5IiwidG9wQmFyLm9mZmxpbmUuaGVsbG8iOiJTZW5kIHVzIGEgbWVzc2FnZSIsInRvcEJhci5vbmxpbmUuaGVsbG8iOiJIb3cgY2FuIHdlIGhlbHA/IiwidG9wQmFyLnR1cm5PZmZTb3VuZHMiOiJUdXJuIG9mZiBzb3VuZHMiLCJ0b3BCYXIudHVybk9uU291bmRzIjoiVHVybiBvbiBzb3VuZHMiLCJ0cmlnZ2VyLm9wZW5DaGF0QnV0dG9uIjoiTGV0J3MgY2hhdCIsInRyaWdnZXIucmVwbHlCdXR0b24iOiJSZXBseSIsInZhbGlkYXRpb25zLmNoZWNrZWRUZXJtcyI6IllvdSBtdXN0IGFncmVlIHdpdGggdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIHRvIGNvbnRpbnVlIiwidmFsaWRhdGlvbnMuaXNFbWFpbCI6IlBsZWFzZSBlbnRlciB2YWxpZCBlbWFpbCIsInZhbGlkYXRpb25zLnBob25lIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgcGhvbmUgbnVtYmVyIiwidmFsaWRhdGlvbnMucmVxdWlyZWQiOiJQbGVhc2UgZmlsbCBvdXQgdGhpcyBmaWVsZCIsIndhcm5pbmdCYXIubWF4TGVuZ3RoIjoiWW91IGhhdmUgcmVhY2hlZCB0aGUgbWF4aW11bSBhbGxvd2VkIG51bWJlciBvZiBjaGFyYWN0ZXJzICgyMDAwKSIsIndhcm5pbmdCYXIuc2FtZU1lc3NhZ2VUd2ljZSI6IkNhbm5vdCBzZW5kIHRoZSBzYW1lIG1lc3NhZ2UgdHdpY2UgaW4gYSByb3cuIiwid2FybmluZ0Jhci5zcGFtUHJvdGVjdGlvbiI6IllvdXIgbWVzc2FnZXMgaGF2ZSBiZWVuIGlkZW50aWZpZWQgYXMgc3BhbS4gUGxlYXNlIHdhaXQgZm9yIDMwIHNlY29uZHMgYmVmb3JlIHNlbmRpbmcgYW5vdGhlciBtZXNzYWdlLiIsIndhcm5pbmdCYXIudXBsb2FkRmlsZU5vdEZpcnN0IjoiRmlyc3QgbWVzc2FnZSBjYW5ub3QgYmUgYSBmaWxlIiwid2lkZ2V0UHJldmlldy5jb250YWN0TWVzc2FnZSI6IvCfjokgTG9va3MgZmFudGFzdGljISDwn5Kq8J+PuyBMZXTCtHMgcm9jayB0aG9zZSBjb252ZXJzYXRpb25zIGFuZCBsZWF2ZSBhIGxhc3RpbmcgaW1wcmVzc2lvbiEg8J+agCIsIndpZGdldFByZXZpZXcud2VsY29tZU1lc3NhZ2UiOiLwn5GL8J+PuyBXZWxjb21lISBUaGlzIGlzIGEgc25lYWsgcGVlayBvZiB5b3VyIGNoYXQgYm94LiBHZXQgcmVhZHkgdG8gc2hpbmUg4pyoIGluIGN1c3RvbWVyIGludGVyYWN0aW9ucyEiLCJtZXNzYWdlLmRlbGV0ZWQiOiJUaGlzIG1lc3NhZ2Ugd2FzIHJlbW92ZWQifQ=="}},"time_used":3233,"timings":{"blocked":0,"dns":32,"connect":8,"send":0,"wait":8,"receive":0,"ssl":3186},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/element/log?format=json\u0026hasfast=true\u0026authuser=0","fqdn":"translate.googleapis.com","domain":"translate.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":"xhr","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:44.150Z","timestamp":1785120644150,"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":"OPTIONS /element/log?format=json\u0026hasfast=true\u0026authuser=0 HTTP/1.1\r\nHost: translate.googleapis.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\nAccess-Control-Request-Method: POST\r\nAccess-Control-Request-Headers: content-encoding,content-type,x-goog-authuser\r\nReferer: https://247optiontradefx.com/\r\nOrigin: https://247optiontradefx.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=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"OPTIONS"},"response":{"raw":"HTTP/3 200 \r\naccess-control-allow-origin: https://247optiontradefx.com\r\naccess-control-allow-methods: GET, POST, OPTIONS\r\naccess-control-max-age: 86400\r\naccess-control-allow-credentials: true\r\naccess-control-allow-headers: X-Playlog-Web,authorization,content-encoding,content-type,x-goog-authuser,origin\r\ncontent-type: text/plain; charset=UTF-8\r\ndate: Mon, 27 Jul 2026 02:50:44 GMT\r\nserver: Playlog\r\ncontent-length: 0\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\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":0,"size_decoded":528,"mime_type":"text/plain; charset=UTF-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-07-27T05:14:11.3544Z","times_seen":17556491,"resource_available":true,"data":""}},"time_used":62,"timings":{"blocked":0,"dns":0,"connect":30,"send":0,"wait":31,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/51031.535f27b776f394c7e43a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.889Z","timestamp":1785120633889,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/51031.535f27b776f394c7e43a.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-ab54\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 46fd0f9c828796dcc5c992422a4e01de\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":43860,"size_decoded":14999,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (12910)","md5":"cd701b7197ef255d09501c8c91343508","sha1":"d84cab0e7c13c5801a0a2c6df4aba3f32e6b316d","sha256":"714cb61cc6924e6d1e8241ff191fc5aeb03baebbbaa81c15949838a09fb406f6","sha512":"ae8f1406dc1e5c9e8082d922e8a0d6257582733129c26617fefb99243013fa5f0bc9eb178dd69665786b8fb7fd0b7ccdd7ed719fe60676564b82598253efca75","ssdeep":"768:CcDTi4tT8YE9xSrNtzDcsIj/XWm9hIz4dp9VUZ+n5Vz2mpehIeVeLh9zoJZemINE:hryj/XWgGET5Vz2mp9emzoJZemINyKfS","tlshash":"7e131a35652af5f79ee941ea543754829bbc00523444042876bccdec278caf9f23aef9","first_seen":"2026-07-24T11:36:48.046407Z","last_seen":"2026-07-27T05:19:37.114846Z","times_seen":789,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s1MTAzMV0sezE1Njg1MChlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHt0ZWxlbWV0cnk6KCk9Pmh9KTt2YXIgcz1fKDk0ODM4MCksaT1fKDIyMTA2MSksbj1fKDM4NDAxNyksYT1fKDM3NzIyNikscj1fKDExNzMxMyk7XygzMDAyODYpO2NvbnN0IG89KDAsaS5nZXRMb2dnZXIpKCJDb21tb24uVGVsZW1ldHJ5IiksbD17ZGVmYXVsdDoxNWUzLHNpdGU6M2U1fSxjPVsiYmVmb3JlX3dlYnNvY2tldF9jb25uZWN0aW9uX3RpbWVfZnJhbWUiLCJ3ZWJzb2NrZXRfY29ubmVjdGlvbl90aW1lX2ZyYW1lIiwiZmlyc3Rfc2VyaWVzX2Z1bGxfdGltZV9mcmFtZSIsInBhZ2VfZnVsbF9sb2FkX3RpbWVfZnJhbWUiLCJwYWdlX2xvYWRfdGltZV9mcmFtZSJdO2NvbnN0IGg9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5yZXBvcnRTZW50PW5ldyBzLkRlbGVnYXRlLHRoaXMudGltZUNvdW50ZXJzPXtzZXJpZXM6e21hcmtzOltdfSxzdHVkeTp7fSxwaW5lOnt9fSx0aGlzLl90aW1lb3V0SWRzPXt9LHRoaXMuX2NvbW1vbkFkZGl0aW9uYWxEYXRhPXtjbHVzdGVyOm51bGwsdXNlcklkOiIwIn0sdGhpcy5fcmVwb3J0U3Rhc2g9e319c2V0U2Vzc2lvbkluZm8oZSl7Y29uc3QgdD10aGlzLl9wYXJzZUNsdXN0ZXIoZSk7bnVsbCE9PXQmJih0aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YS5jbHVzdGVyPXQpfXNlbmRSZXBvcnQoZSx0LF8pe2lmKCF0aGlzLl9pc0FibGVUb1NlbmRSZXBvcnQodCkpcmV0dXJuO2NvbnN0IHM9dGhpcy5fZ2V0U3Vic2VydmljZVR5cGUoZSksaT10aGlzLl9nZXRIb3N0KGUscyk7aWYobnVsbCE9PWkpe2lmKF89dm9pZCAwPT09Xz97Y291bnQ6MX06Xyx0aGlzLl9hZGRSZXBvcnRUb1N0YXNoKF8sdCxpKSwhdGhpcy5fdGltZW91dElkc1tlXSl7Y29uc3QgdD1sW2VdPz9sLmRlZmF1bHQ7dGhpcy5fdGltZW91dElkc1tlXT1zZXRUaW1lb3V0KHRoaXMuX3NlbmRUZWxlbWV0cnlUb1NlcnZpY2UuYmluZCh0aGlzLGUsaSksdCl9fWVsc2Ugby5sb2dFcnJvcihgVW5hYmxlIHRvIGdldCBob3N0IGZvciBjb3VudGVyOiAke3R9LCBtZXRyaWMgdHlwZTogJHtlfSwgc2VyaXZjZSB0eXBlOiAke3N9YCl9c2VuZENoYXJ0UmVwb3J0KGUsdCxfPSEwKXt0aGlzLl9zZW5kU2VydmljZVNwZWNpZmllZFJlcG9ydCgiY2hhcnRzIixlLHQsXyl9c2VuZExpbmVUb29sc1N0b3JhZ2VSZXBvcnQoZSx0LF89ITApe3RoaXMuX3NlbmRTZXJ2aWNlU3BlY2lmaWVkUmVwb3J0KCJsaW5lX3Rvb2xzX3N0b3JhZ2UiLGUsdCxfKX1fc2VuZFNlcnZpY2VTcGVjaWZpZWRSZXBvcnQoZSx0LF8scz0hMCl7dGhpcy5fdXBkYXRlVXNlckluZm8oKSxfPXZvaWQgMD09PV8/e2NvdW50OjF9Ol8scyYmKF89dGhpcy5fYXBwZW5kQ29tbW9uQWRkaXRpb25hbEluZm8oXyxbImNsdXN0ZXIiLCJ1c2VySWQiXSkpLHRoaXMuc2VuZFJlcG9ydChlLHQsXyl9X3VwZGF0ZVVzZXJJbmZvKCl7Y29uc3QgZT0idXNlciJpbiB3aW5kb3cmJiJpZCJpbiB3aW5kb3cudXNlcj93aW5kb3cudXNlci5pZDoiMCI7dGhpcy5fY29tbW9uQWRkaXRpb25hbERhdGEudXNlcklkPVN0cmluZyhlKX1faXNBYmxlVG9TZW5kUmVwb3J0KGUpe2NvbnN0IHQ9d2luZG93LlRFTEVNRVRSWV9IT1NUUyxfPWMuaW5jbHVkZXMoZSkscz1Cb29sZWFuKHdpbmRvdy5UcmFkaW5nVmlldz8ub25DaGFydFBhZ2V8fCgwLGEub25XaWRnZXQpKCkpO3JldHVybiB0JiYoIV98fHMpfV9zZW5kVGVsZW1ldHJ5VG9TZXJ2aWNlKGUsdCl7aWYodGhpcy5fcmVwb3J0U3Rhc2guaGFzT3duUHJvcGVydHkodCkpe2NvbnN0IGU9dGhpcy5fY3JvcFBhcmFtcyh0aGlzLl9yZXBvcnRTdGFzaFt0XSksXz10aGlzLl9yZW5hbWVBbGxQYXJhbXMoZSkscz17ZXZlbnQ6InJlcG9ydF9zdGFzaCIscGFyYW1zOnRoaXMuX2NsZWFuQWxsUGFyYW1zKF8pfTtvLmxvZ0RlYnVnKGBSZXBvcnQgdG8gaG9zdDogJHt0fTsgc3Rhc2g6ICR7SlNPTi5zdHJpbmdpZnkodGhpcy5fcmVwb3J0U3Rhc2hbdF0pfWApLHRoaXMucmVwb3J0U2VudC5maXJlKHRoaXMuX3JlcG9ydFN0YXNoW3RdKSxkZWxldGUgdGhpcy5fcmVwb3J0U3Rhc2hbdF0sKDAsbi5mZXRjaCkoYCR7dH0vcmVwb3J0YCx7bWV0aG9kOiJQT1NUIixib2R5OkpTT04uc3RyaW5naWZ5KHMpfSl9dGhpcy5fdGltZW91dElkc1tlXT1udWxsfV9nZXRIb3N0KGUsdCl7Y29uc3QgXz13aW5kb3cuVEVMRU1FVFJZX0hPU1RTLHM9X1tlXSYmX1tlXVt0XTtyZXR1cm4gQm9vbGVhbihzKT9zOm51bGx9X2dldFN1YnNlcnZpY2VUeXBlKGUpe2lmKCFbImNoYXJ0cyIsInNpdGUiXS5pbmNsdWRlcyhlKSlyZXR1cm4iYWxsIjtsZXQgdD0iZnJlZSI7Y29uc3QgXz13aW5kb3cudXNlci5pc19wcm87cmV0dXJuImNoYXJ0cyI9PT1lJiYoMCxyLmlzT25Nb2JpbGVBcHBQYWdlKSgib2xkIik/dD1fPyJpb3NfcHJvIjoiaW9zX2ZyZWUiOiJjaGFydHMiPT09ZSYmKDAsci5pc09uTW9iaWxlQXBwUGFnZSkoIm5ldyIpP3Q9Xz8iYW5kcm9pZF9wcm8iOiJhbmRyb2lkX2ZyZWUiOigwLGEub25XaWRnZXQpKCk/dD0id2lkZ2V0IjpfJiYodD0icHJvIiksdH1fcGFyc2VDbHVzdGVyKGUpe2xldCB0O3RyeXt0PUpTT04ucGFyc2UoZSkuc2Vzc2lvbl9pZH1jYXRjaChlKXtyZXR1cm4gby5sb2dFcnJvcigiQ291bGQgbm90IHBhcnNlIGNsdXN0ZXIgaWQgKHNlc3Npb24gaWQpIiksbnVsbH1jb25zdCBfPS8oLipAKSguKikvZ2kuZXhlYyh0KTtyZXR1cm4gbnVsbCE9PV8mJl8ubGVuZ3RoPj0zP19bMl06bnVsbH1fYXBwZW5kQ29tbW9uQWRkaXRpb25hbEluZm8oZSx0KXtyZXR1cm4gdC5mb3JFYWNoKCh0PT57dCBpbiB0aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YSYmKGUuYWRkaXRpb25hbD1lLmFkZGl0aW9uYWx8fHt9LGUuYWRkaXRpb25hbFt0XT10aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YVt0XSl9KSksZX1fY3JvcFBhcmFtcyhlKXsKZm9yKGNvbnN0IHQgaW4gZSllLmhhc093blByb3BlcnR5KHQpJiZlW3RdLmxlbmd0aD4xZTMmJihlLnRvb19tdWNoX21ldHJpY3NfZnJhbWU9ZS50b29fbXVjaF9tZXRyaWNzX2ZyYW1lPz9bXSxlLnRvb19tdWNoX21ldHJpY3NfZnJhbWUucHVzaCh7dmFsdWU6ZVt0XS5sZW5ndGgsYWRkaXRpb25hbDp7ZXZlbnQ6dH19KSxkZWxldGUgZVt0XSk7cmV0dXJuIGV9X3JlbmFtZUFsbFBhcmFtcyhlKXtjb25zdCB0PXt9O2Zvcihjb25zdCBfIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShfKSYmKHRbX109W10sZVtfXS5mb3JFYWNoKChlPT57dFtfXS5wdXNoKHRoaXMuX3JlbmFtZUVudHJ5UGFyYW1zKGUpKX0pKSk7cmV0dXJuIHR9X3JlbmFtZUVudHJ5UGFyYW1zKGUpe2NvbnN0IHQ9e2NvdW50OiJjIix2YWx1ZToidiIsdGV4dDoidCIsYWRkaXRpb25hbDoiYSJ9O3JldHVybiBPYmplY3Qua2V5cyhlKS5yZWR1Y2UoKChfLHMpPT4oX1t0W3NdXT1lW3NdLF8pKSx7fSl9X2NsZWFuQWxsUGFyYW1zKGUpe2NvbnN0IHQ9e307Zm9yKGNvbnN0IF8gaW4gZSlpZihlLmhhc093blByb3BlcnR5KF8pKXt0W19dPVtdO2NvbnN0IHM9e2M6MH07ZVtfXS5mb3JFYWNoKChlPT57Y29uc3QgaT10aGlzLl9jbGVhbkVudHJ5UGFyYW1zKGUpLG49T2JqZWN0LmtleXMoaSkubGVuZ3RoOzE9PT1uJiZ2b2lkIDAhPT1pLmM/cy5jKz1pLmM6bj4wJiZ0W19dLnB1c2goaSl9KSkscy5jPjAmJnRbX10ucHVzaChzKSwwPT09dFtfXS5sZW5ndGgmJmRlbGV0ZSB0W19dfXJldHVybiB0fV9jbGVhbkVudHJ5UGFyYW1zKGUpe2NvbnN0IHQ9T2JqZWN0LmtleXMoZSkucmVkdWNlKCgodCxfKT0+ImMiIT09XyYmInQiIT09X3x8ZVtfXT8odFtfXT1lW19dLHQpOnQpLHt9KTtyZXR1cm4iYyJpbiB0fHwidiJpbiB0fHwidCJpbiB0P3Q6e319X2FkZFJlcG9ydFRvU3Rhc2goZSx0LF8pe18gaW4gdGhpcy5fcmVwb3J0U3Rhc2h8fCh0aGlzLl9yZXBvcnRTdGFzaFtfXT17fSksdCBpbiB0aGlzLl9yZXBvcnRTdGFzaFtfXXx8KHRoaXMuX3JlcG9ydFN0YXNoW19dW3RdPVtdKSxPYmplY3Qua2V5cyhlKS5sZW5ndGg+MCYmdGhpcy5fcmVwb3J0U3Rhc2hbX11bdF0ucHVzaChlKX19fSw5NjQ0ODYoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7ZGVlcEV4dGVuZDooKT0+aX0pO2NvbnN0IHM9bmV3IFNldChbIl9fcHJvdG9fXyIsInByb3RvdHlwZSIsImNvbnN0cnVjdG9yIl0pO2Z1bmN0aW9uIGkoZSwuLi50KXtyZXR1cm4gZSYmIm9iamVjdCI9PXR5cGVvZiBlPygwPT09dC5sZW5ndGh8fHQuZm9yRWFjaCgodD0+e251bGwhPXQmJiJvYmplY3QiPT10eXBlb2YgdCYmT2JqZWN0LmtleXModCkuZm9yRWFjaCgoXz0+e2lmKGZ1bmN0aW9uKGUpe3JldHVybiBzLmhhcyhlKX0oXykpcmV0dXJuO2NvbnN0IGE9ZVtfXSxyPXRbX107aWYocj09PWUpcmV0dXJuO2NvbnN0IG89QXJyYXkuaXNBcnJheShyKTtpZihyJiYobihyKXx8bykpe2xldCB0O3Q9bz9hJiZBcnJheS5pc0FycmF5KGEpP2E6W106YSYmbihhKT9hOnt9LGVbX109aSh0LHIpfWVsc2Ugdm9pZCAwIT09ciYmKGVbX109cil9KSl9KSksZSk6ZX1mdW5jdGlvbiBuKGUpe2lmKCFlfHwiW29iamVjdCBPYmplY3RdIiE9PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKSlyZXR1cm4hMTtjb25zdCB0PU9iamVjdC5nZXRQcm90b3R5cGVPZihlKTtpZighdClyZXR1cm4hMDtjb25zdCBfPU9iamVjdC5oYXNPd25Qcm9wZXJ0eS50b1N0cmluZyxzPXQuaGFzT3duUHJvcGVydHkoImNvbnN0cnVjdG9yIikmJnQuY29uc3RydWN0b3I7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHMmJl8uY2FsbChzKT09PV8uY2FsbChPYmplY3QpfX0sNzY4NzYwKGUsdCxfKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcygpe2xldCBlLHQ7cmV0dXJue3Byb21pc2U6bmV3IFByb21pc2UoKChfLHMpPT57ZT1fLHQ9c30pKSxyZWplY3Q6dCxyZXNvbHZlOmV9fV8uZCh0LHtjcmVhdGVEZWZlcnJlZFByb21pc2U6KCk9PnN9KX0sNTg5NzQ5KGUsdCxfKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtpZih2b2lkIDA9PT1lKXJldHVybiIiO2lmKGUgaW5zdGFuY2VvZiBFcnJvcil7bGV0IHQ9ZS5tZXNzYWdlO3JldHVybiBlLnN0YWNrJiYodCs9IiAiK2Uuc3RhY2spLHR9cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlP2UudG9TdHJpbmcoKTpKU09OLnN0cmluZ2lmeShlKX1fLmQodCx7ZXJyb3JUb1N0cmluZzooKT0+c30pfSwxMTYzMTAoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7Y3JlYXRlSnNvblNlcmlhbGl6YWJsZUNhY2hlOigpPT5hfSk7dmFyIHM9XygxMzg2MzgpO2NsYXNzIGl7Y29uc3RydWN0b3IoZSl7dGhpcy5fY2FjaGU9ZX1hc3luYyBnZXRWYWx1ZShlKXtjb25zdCB0PWF3YWl0IHRoaXMuX2NhY2hlLm1hdGNoKGUpO2lmKCF0KXJldHVybiBudWxsO3JldHVybiJhcHBsaWNhdGlvbi9qc29uIj09PSgwLHMuZW5zdXJlTm90TnVsbCkodC5oZWFkZXJzLmdldCgiQ29udGVudC1UeXBlIikpP3QuanNvbigpOnQudGV4dCgpfWFzeW5jIHNldFZhbHVlKGUsdCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P3RoaXMuX2NhY2hlLnB1dChlLG5ldyBSZXNwb25zZSh0LHtoZWFkZXJzOnsiY29udGVudC10eXBlIjoidGV4dC9wbGFpbiJ9fSkpOnRoaXMuX2NhY2hlLnB1dChlLG5ldyBSZXNwb25zZShKU09OLnN0cmluZ2lmeSh0KSx7aGVhZGVyczp7ImNvbnRlbnQtdHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifX0pKX1hc3luYyBtaWdyYXRlVmFsdWUoZSx0KXtjb25zdCBfPWF3YWl0IHRoaXMuZ2V0VmFsdWUoZSk7XyYmKGF3YWl0IHRoaXMuc2V0VmFsdWUodCxfKSxhd2FpdCB0aGlzLl9jYWNoZS5kZWxldGUoZSkpfWFzeW5jIGRlbGV0ZVZhbHVlKGUpe3JldHVybiB0aGlzLl9jYWNoZS5kZWxldGUoZSl9fWNsYXNzIG57Y29uc3RydWN0b3IoKXt0aGlzLl9kYXRhPW5ldyBNYXB9YXN5bmMgZ2V0VmFsdWUoZSl7cmV0dXJuIHRoaXMuX2RhdGEuZ2V0KGUpPz9udWxsfWFzeW5jIHNldFZhbHVlKGUsdCl7dGhpcy5fZGF0YS5zZXQoZSx0KX1hc3luYyBtaWdyYXRlVmFsdWUoZSx0KXsKdGhpcy5fZGF0YS5oYXMoZSkmJih0aGlzLl9kYXRhLnNldCh0LHRoaXMuX2RhdGEuZ2V0KGUpKSx0aGlzLl9kYXRhLmRlbGV0ZShlKSl9YXN5bmMgZGVsZXRlVmFsdWUoZSl7cmV0dXJuIHRoaXMuX2RhdGEuZGVsZXRlKGUpfX1hc3luYyBmdW5jdGlvbiBhKGUpe3RyeXtjb25zdCB0PWF3YWl0IGNhY2hlcy5vcGVuKGUpO3JldHVybiBuZXcgaSh0KX1jYXRjaHtyZXR1cm4gbmV3IG59fX0sNDAzNihlLHQsXyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7Y29uc3QgdD17fTtpZigtMT09PWUuaW5kZXhPZigiQCIpKXQuc2hvcnRJZD1lLHQucGFja2FnZUlkPSJ0di1iYXNpY3N0dWRpZXMiLHQuaWQ9ZSsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPTE7ZWxzZXtjb25zdCBfPWUuc3BsaXQoIkAiKTt0LnNob3J0SWQ9X1swXTtjb25zdCBzPV9bMV0uc3BsaXQoIi0iKTtpZigzPT09cy5sZW5ndGgpdC5wYWNrYWdlSWQ9cy5zbGljZSgwLDIpLmpvaW4oIi0iKSx0LmlkPXQuc2hvcnRJZCsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPXBhcnNlSW50KHNbMl0pO2Vsc2UgaWYoMT09PXMubGVuZ3RoJiYiZGVjaXNpb25iYXIiPT09c1swXSl0LnBhY2thZ2VJZD0ibGVzLSIrc1swXSx0LmlkPXQuc2hvcnRJZCsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPTE7ZWxzZXtpZigxIT09cy5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJ1bmV4cGVjdGVkIHN0dWR5IGlkOiIrZSk7dC5wYWNrYWdlSWQ9InR2LSIrc1swXSx0LmlkPXQuc2hvcnRJZCsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPTF9fWlmKHQuZnVsbElkPXQuaWQrIi0iK3QudmVyc2lvbiwidHYtc2NyaXB0aW5nIj09PXQucGFja2FnZUlkKXtjb25zdCBlPXQuc2hvcnRJZDtpZigwPT09ZS5pbmRleE9mKCJTY3JpcHQkIil8fDA9PT1lLmluZGV4T2YoIlN0cmF0ZWd5U2NyaXB0JCIpKXtjb25zdCBfPWUuaW5kZXhPZigiXyIpO3QucHJvZHVjdElkPV8+PTA/ZS5zdWJzdHJpbmcoMCxfKTp0LnBhY2thZ2VJZH1lbHNlIHQucHJvZHVjdElkPXQucGFja2FnZUlkfWVsc2UgdC5wcm9kdWN0SWQ9dC5wYWNrYWdlSWQ7cmV0dXJuIHR9Xy5kKHQse3BhcnNlSWRTdHJpbmc6KCk9PnN9KX0sNzgwOTc1KGUsdCxfKXsidXNlIHN0cmljdCI7dmFyIHM7Xy5kKHQse0NoYXJ0QXBpTWVzc2FnZU1ldGhvZDooKT0+c30pLGZ1bmN0aW9uKGUpe2UuQ29ubmVjdGVkPSJjb25uZWN0ZWQiLGUuRGlzY29ubmVjdGVkPSJkaXNjb25uZWN0ZWQiLGUuUmVjb25uZWN0QmFpbG91dD0icmVjb25uZWN0X2JhaWxvdXQifShzfHwocz17fSkpfSwzMDkwNTIoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7UVVPVEVfRklFTERTOigpPT5pLFFVT1RFX0ZJRUxEU19DQUNIRTooKT0+bn0pO3ZhciBzPV8oMTM4NjM4KQo7Y29uc3QgaT1uZXcgU2V0KFsicHJvX25hbWUiLCJiYXNlX25hbWUiLCJsb2dvIiwibG9nb2lkIiwiY3VycmVuY3ktbG9nb2lkIiwiYmFzZS1jdXJyZW5jeS1sb2dvaWQiLCJzb3VyY2UtbG9nb2lkIiwic2hvcnRfbmFtZSIsIndlYl9zaXRlX3VybCIsInByb19wZXJtIiwidGltZXpvbmUiLCJjdXJyZW50X3Nlc3Npb24iLCJzZXNzaW9uX2hvbGlkYXlzIiwibGFzdF9wcmljZSIsImxwX3RpbWUiLCJzdWJzZXNzaW9ucyIsInByZXZfY2xvc2VfcHJpY2UiLCJvcGVuX3ByaWNlIiwiaGlnaF9wcmljZSIsImxvd19wcmljZSIsInByaWNlXzUyX3dlZWtfaGlnaCIsInByaWNlXzUyX3dlZWtfbG93IiwiYXNrIiwiYXNrX3NpemUiLCJiaWQiLCJiaWRfc2l6ZSIsInJjaCIsInJjaHAiLCJydGMiLCJydGNfdGltZSIsIm5jaCIsIm5jaHAiLCJudGMiLCJudGNfdGltZSIsImRhdGFfZnJlcXVlbmN5IiwicmVmZXJlbmNlLWxhc3QtcGVyaW9kLXN0YXJ0IiwiYnVzaW5lc3NfZGVzY3JpcHRpb24iLCJ3ZWJfc2l0ZV91cmwiLCJmaWdpIiwibnVtYmVyX29mX2VtcGxveWVlcyIsImZsb2F0X3NoYXJlc19vdXRzdGFuZGluZyIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9jYWxlbmRhcl9kYXRlIiwicm9vdCIsImRlc2NyaXB0aW9uIiwiZXhjaGFuZ2UiLCJsaXN0ZWRfZXhjaGFuZ2UiLCJ0eXBlIiwiY291bnRyeV9jb2RlIiwicHJvdmlkZXJfaWQiLCJpc190cmFkYWJsZSIsInNlY3RvciIsInR5cGVzcGVjcyIsInZpc2libGUtcGxvdHMtc2V0IiwiaW5kdXN0cnkiLCJjdXJyZW5jeV9pZCIsImxhc3RfcHJpY2UiLCJmcmFjdGlvbmFsIiwibWlubW92IiwibWlubW92ZTIiLCJwcmljZXNjYWxlIiwidmFyaWFibGVfdGlja19zaXplIiwiY2hhbmdlIiwiY2hhbmdlX3BlcmNlbnQiLCJ2b2x1bWUiLCJhdmVyYWdlX3ZvbHVtZSIsIm1hcmtldF9jYXBfYmFzaWMiLCJtYXJrZXRfY2FwX2NhbGMiLCJ0b3RhbF9yZXZlbnVlIiwiZWFybmluZ3NfcGVyX3NoYXJlX2Jhc2ljX3R0bSIsInByaWNlX2Vhcm5pbmdzX3R0bSIsImJldGFfMV95ZWFyIiwiZHBzX2NvbW1vbl9zdG9ja19wcmltX2lzc3VlX2Z5IiwiZGl2aWRlbmRzX3lpZWxkIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcSIsImVhcm5pbmdzX3B1YmxpY2F0aW9uX3R5cGVfbmV4dF9mcSIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9mcSIsImZvcmVjYXN0X3JhdyIsImxhc3RfcmVsZWFzZV9kYXRlIiwibmV4dF9yZWxlYXNlX2RhdGUiLCJyZWZlcmVuY2VfbGFzdF9wZXJpb2QiLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIiwibnVtYmVyX29mX2VtcGxveWVlcyIsIndlYl9zaXRlX3VybCIsImJ1c2luZXNzX2Rlc2NyaXB0aW9uIiwiZm91bmRlZCIsImNlbyIsImZsb2F0X3NoYXJlc19vdXRzdGFuZGluZyIsInRvdGFsX3NoYXJlc19vdXRzdGFuZGluZyIsImRpdmlkZW5kX3BheW91dF9yYXRpb190dG0iLCJkaXZpZGVuZHNfeWllbGRfY3VycmVudCIsImRpdmlkZW5kX2V4X2RhdGVfdXBjb21pbmciLCJkaXZpZGVuZF9hbW91bnRfdXBjb21pbmciLCJkaXZpZGVuZF9hbW91bnRfcmVjZW50IiwiZGl2aWRlbmRfZXhfZGF0ZV9yZWNlbnQiLCJkaXZpZGVuZF9hbW91bnRfaCIsImRpdmlkZW5kX3BheW1lbnRfZGF0ZV91cGNvbWluZyIsImRpdmlkZW5kX3BheW1lbnRfZGF0ZV9yZWNlbnQiLCJ0b3RhbF9yZXZlbnVlX2ZxX2giLCJ0b3RhbF9yZXZlbnVlX2Z5X2giLCJuZXRfaW5jb21lX2Z5X2giLCJuZXRfaW5jb21lX2ZxX2giLCJ0b3RhbF9hc3NldHNfZnlfaCIsInRvdGFsX2Fzc2V0c19mcV9oIiwidG90YWxfbGlhYmlsaXRpZXNfZnlfaCIsInRvdGFsX2xpYWJpbGl0aWVzX2ZxX2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZnlfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19mcV9oIiwiY2FzaF9mX2ludmVzdGluZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9maW5hbmNpbmdfYWN0aXZpdGllc19meV9oIiwiY2FzaF9mX2ZpbmFuY2luZ19hY3Rpdml0aWVzX2ZxX2giLCJmaXNjYWxfcGVyaW9kX2Z5X2giLCJmaXNjYWxfcGVyaW9kX2ZxX2giLCJmaXNjYWxfcGVyaW9kX2ZoX2giLCJlYXJuaW5nc19yZWxlYXNlX2RhdGVfZnFfaCIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlX2ZxIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnEiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfZnFfaCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcV9oIiwiZWFybmluZ3NfZmlzY2FsX3BlcmlvZF9mcV9oIiwibmV4dF9lYXJuaW5nc19maXNjYWxfcGVyaW9kX2ZxIiwiaXNfbmV4dF9lYXJuaW5nc19yZWxlYXNlX2RhdGVfZXN0aW1hdGVkIiwic3ltYm9sLXByaW1hcnluYW1lIiwiY3VycmVuY3lfY29kZSIsInJhdGVzX21jIiwicmF0ZXNfZnkiLCJyYXRlc190dG0iLCJtZWFzdXJlIiwidmFsdWVfdW5pdF9pZCIsInZhbHVlLXVuaXQtaWQiLCJ1cGRhdGVfbW9kZSIsImxhbmd1YWdlIiwibG9jYWxfZGVzY3JpcHRpb24iLCJzaG9ydF9kZXNjcmlwdGlvbiIsInNvdXJjZSIsInNvdXJjZTIiLCJmb3JtYXQiLCJyZWNvbW1lbmRhdGlvbl9tYXJrIiwibGFzdF9yZXBvcnRfZnJlcXVlbmN5IiwicHJpY2VfdGFyZ2V0X2VzdGltYXRlc19udW0iLCJwcmljZV90YXJnZXRfYXZlcmFnZSIsInVwZGF0ZV9tb2RlX3NlY29uZHMiLCJyZWNvbW1lbmRhdGlvbl90b3RhbCIsInJlY29tbWVuZGF0aW9uX2J1eSIsInJlY29tbWVuZGF0aW9uX292ZXIiLCJyZWNvbW1lbmRhdGlvbl9ob2xkIiwicmVjb21tZW5kYXRpb25fdW5kZXIiLCJyZWNvbW1lbmRhdGlvbl9zZWxsIiwicmVjb21tZW5kYXRpb25fdG90YWwiLCJwcmljZV90YXJnZXRfaGlnaCIsInByaWNlX3RhcmdldF9sb3ciLCJyYXRlc19wdCIsInJhdGVzX3B0IiwidG90YWxfcmV2ZW51ZV9meV9oIiwidG90YWxfcmV2ZW51ZV9mcV9oIiwidG90YWxfcmV2ZW51ZV9maF9oIiwibmV0X3JldmVudWVfZnlfaCIsIm5ldF9yZXZlbnVlX2ZxX2giLCJuZXRfcmV2ZW51ZV9maF9oIiwibmV0X2luY29tZV9meV9oIiwibmV0X2luY29tZV9mcV9oIiwibmV0X2luY29tZV9maF9oIiwidG90YWxfYXNzZXRzX2Z5X2giLCJ0b3RhbF9hc3NldHNfZnFfaCIsInRvdGFsX2Fzc2V0c19maF9oIiwidG90YWxfbGlhYmlsaXRpZXNfZnlfaCIsInRvdGFsX2xpYWJpbGl0aWVzX2ZxX2giLCJ0b3RhbF9saWFiaWxpdGllc19maF9oIiwiY2FzaF9mX29wZXJhdGluZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19maF9oIiwiY2FzaF9mX2ludmVzdGluZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9pbnZlc3RpbmdfYWN0aXZpdGllc19maF9oIiwiY2FzaF9mX2ZpbmFuY2luZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9maW5hbmNpbmdfYWN0aXZpdGllc19maF9oIiwiZmlzY2FsX3BlcmlvZF9meSIsImZpc2NhbF9wZXJpb2RfZnEiLCJmaXNjYWxfcGVyaW9kX2ZoIiwiZWFybmluZ3NfcmVsZWFzZV9kYXRlX2ZxX2giLCJlYXJuaW5nc19yZWxlYXNlX2RhdGVfZnlfaCIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZV9maF9oIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGVfZnEiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZV9meSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlX2ZoIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X3RpbWUiLCJlYXJuaW5nc19yZWxlYXNlX3RpbWUiLCJpc19uZXh0X2Vhcm5pbmdzX3JlbGVhc2VfZGF0ZV9lc3RpbWF0ZWQiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X2Z5IiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZmgiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfZnFfaCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9meV9oIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X2ZoX2giLCJlYXJuaW5nc19wZXJfc2hhcmVfZnFfaCIsImVhcm5pbmdzX3Blcl9zaGFyZV9meV9oIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZoX2giLCJlYXJuaW5nc19maXNjYWxfcGVyaW9kX2ZxX2giLCJlYXJuaW5nc19maXNjYWxfcGVyaW9kX2Z5X2giLCJlYXJuaW5nc19maXNjYWxfcGVyaW9kX2ZoX2giLCJuZXh0X2Vhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZnEiLCJuZXh0X2Vhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZnkiLCJuZXh0X2Vhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZmgiLCJyZXZlbnVlX2ZxX2giLCJyZXZlbnVlX2Z5X2giLCJyZXZlbnVlX2ZoX2giLCJyZXZlbnVlX2ZvcmVjYXN0X2ZxX2giLCJyZXZlbnVlX2ZvcmVjYXN0X2Z5X2giLCJyZXZlbnVlX2ZvcmVjYXN0X2ZoX2giLCJyZXZlbnVlX2ZvcmVjYXN0X25leHRfZnEiLCJyZXZlbnVlX2ZvcmVjYXN0X25leHRfZnkiLCJyZXZlbnVlX2ZvcmVjYXN0X25leHRfZmgiLCJyZXZlbnVlX3NlZ19ieV9idXNpbmVzc19oIiwicmV2ZW51ZV9zZWdfYnlfcmVnaW9uX2giLCJ0b3RhbF9yZXZlbnVlX2Z5IiwidG90YWxfcmV2ZW51ZV9mcSIsInRvdGFsX3JldmVudWVfZmgiLCJncm9zc19wcm9maXRfZnkiLCJncm9zc19wcm9maXRfZnEiLCJncm9zc19wcm9maXRfZmgiLCJlYml0ZGFfZnkiLCJlYml0X2Z5IiwibmV0X2luY29tZV9meSIsIm5ldF9pbmNvbWVfZnEiLCJuZXRfaW5jb21lX2ZoIiwidG90YWxfZGVidF9meV9oIiwidG90YWxfZGVidF9mcV9oIiwidG90YWxfZGVidF9maF9oIiwiZnJlZV9jYXNoX2Zsb3dfZnlfaCIsImZyZWVfY2FzaF9mbG93X2ZxX2giLCJmcmVlX2Nhc2hfZmxvd19maF9oIiwiY2FzaF9uX2VxdWl2YWxlbnRzX2Z5X2giLCJjYXNoX25fZXF1aXZhbGVudHNfZnFfaCIsImNhc2hfbl9lcXVpdmFsZW50c19maF9oIiwidG90YWxfY3VycmVudF9hc3NldHNfZnkiLCJ0b3RhbF9jdXJyZW50X2Fzc2V0c19mcSIsInRvdGFsX2N1cnJlbnRfYXNzZXRzX2ZoIiwidG90YWxfY3VycmVudF9saWFiaWxpdGllc19meSIsInRvdGFsX2N1cnJlbnRfbGlhYmlsaXRpZXNfZnEiLCJ0b3RhbF9jdXJyZW50X2xpYWJpbGl0aWVzX2ZoIiwidG90YWxfbm9uX2N1cnJlbnRfYXNzZXRzX2Z5IiwidG90YWxfbm9uX2N1cnJlbnRfYXNzZXRzX2ZxIiwidG90YWxfbm9uX2N1cnJlbnRfYXNzZXRzX2ZoIiwidG90YWxfbm9uX2N1cnJlbnRfbGlhYmlsaXRpZXNfZnkiLCJ0b3RhbF9ub25fY3VycmVudF9saWFiaWxpdGllc19mcSIsInRvdGFsX25vbl9jdXJyZW50X2xpYWJpbGl0aWVzX2ZoIiwibG9hbnNfbmV0X2Z5IiwibG9hbnNfbmV0X2Z5X2giLCJsb2Fuc19uZXRfZnFfaCIsImxvYW5zX25ldF9maF9oIiwidG90YWxfZGVwb3NpdHNfZnkiLCJ0b3RhbF9kZXBvc2l0c19meV9oIiwidG90YWxfZGVwb3NpdHNfZnFfaCIsInRvdGFsX2RlcG9zaXRzX2ZoX2giLCJsb2FuX2xvc3NfYWxsb3dhbmNlc19meSIsImxvYW5fbG9zc19hbGxvd2FuY2VzX2Z5X2giLCJsb2FuX2xvc3NfYWxsb3dhbmNlc19mcV9oIiwibG9hbl9sb3NzX2FsbG93YW5jZXNfZmhfaCIsInJlc2VydmVfdG9fdG90YWxfY2FwaXRhbF9meV9oIiwicmVzZXJ2ZV90b190b3RhbF9jYXBpdGFsX2ZxX2giLCJyZXNlcnZlX3RvX3RvdGFsX2NhcGl0YWxfZmhfaCIsInVuZWFybmVkX3ByZW1pdW1fdG9fdG90YWxfY2FwaXRhbF9meV9oIiwidW5lYXJuZWRfcHJlbWl1bV90b190b3RhbF9jYXBpdGFsX2ZxX2giLCJ1bmVhcm5lZF9wcmVtaXVtX3RvX3RvdGFsX2NhcGl0YWxfZmhfaCIsImluc3VyYW5jZV9yZXNlcnZlc19meV9oIiwiaW5zdXJhbmNlX3Jlc2VydmVzX2ZxX2giLCJpbnN1cmFuY2VfcmVzZXJ2ZXNfZmhfaCIsInBvbGljeV9jbGFpbXNfZnlfaCIsInBvbGljeV9jbGFpbXNfZnFfaCIsInBvbGljeV9jbGFpbXNfZmhfaCIsInByZW1pdW1zX2Vhcm5lZF9meV9oIiwicHJlbWl1bXNfZWFybmVkX2ZxX2giLCJwcmVtaXVtc19lYXJuZWRfZmhfaCIsInByaWNlX2Vhcm5pbmdzX2ZxX2giLCJwcmljZV9lYXJuaW5nc19meV9oIiwicHJpY2VfZWFybmluZ3NfZmhfaCIsInByaWNlX3NhbGVzX2ZxX2giLCJwcmljZV9zYWxlc19meV9oIiwicHJpY2Vfc2FsZXNfZmhfaCIsImRpbHV0ZWRfbmV0X2luY29tZV90dG0iLCJ0b3RhbF9yZXZlbnVlX3R0bSIsIm5ldF9yZXZlbnVlX3R0bSIsInByaWNlX2Vhcm5pbmdzX2N1cnJlbnQiLCJwcmljZV9zYWxlc19jdXJyZW50IiwiaXNpbi1kaXNwbGF5ZWQiLCJjdXNpcCIsImNmaV9jb2RlIiwiaW50ZXJlc3RfaW5jb21lX2Z5X2giLCJpbnRlcmVzdF9pbmNvbWVfZnFfaCIsImludGVyZXN0X2luY29tZV9maF9oIiwibm9uX2ludGVyZXN0X2luY29tZV9meV9oIiwibm9uX2ludGVyZXN0X2luY29tZV9mcV9oIiwibm9uX2ludGVyZXN0X2luY29tZV9maF9oIiwid2Vic2l0ZSIsImRvYyIsImV4cGxvcmVyIiwic291cmNlcyIsImNvbnRyYWN0cyIsImNyeXB0b19jb21tb25fY2F0ZWdvcmllcyIsImNyeXB0b19hc3NldCIsImNvbW11bml0eSIsImRpdmlkZW5kc19hdmFpbGFiaWxpdHkiLCJlYXJuaW5nc19hdmFpbGFiaWxpdHkiLCJmaW5hbmNpYWxzX2F2YWlsYWJpbGl0eSIsImRvY3VtZW50cyIsImV0Zl9hc3NldF90eXBlX2V4cG9zdXJlIiwiZXRmX3JlZ2lvbl9leHBvc3VyZSIsInRvcF9ob2xkaW5ncyIsInVuaXQtaWQiLCJvcHRpb25zLWluZm8iLCJvcHRpb24tdHlwZSIsImludGVyZXN0X2luY29tZV9meSIsImludGVyZXN0X2luY29tZV9mcSIsImludGVyZXN0X2luY29tZV9maCIsIm5vbl9pbnRlcmVzdF9pbmNvbWVfZnkiLCJub25faW50ZXJlc3RfaW5jb21lX2ZxIiwibm9uX2ludGVyZXN0X2luY29tZV9maCIsImludGVyZXN0X2V4cGVuc2VfZnkiLCJpbnRlcmVzdF9leHBlbnNlX2ZxIiwiaW50ZXJlc3RfZXhwZW5zZV9maCIsImxvYW5fbG9zc19wcm92aXNpb25fZnkiLCJsb2FuX2xvc3NfcHJvdmlzaW9uX2ZxIiwibG9hbl9sb3NzX3Byb3Zpc2lvbl9maCIsIm5vbl9pbnRlcmVzdF9leHBlbnNlX2Z5Iiwibm9uX2ludGVyZXN0X2V4cGVuc2VfZnEiLCJub25faW50ZXJlc3RfZXhwZW5zZV9maCIsIm5vbl9vcGVyX2luY29tZV9meSIsIm5vbl9vcGVyX2luY29tZV9mcSIsIm5vbl9vcGVyX2luY29tZV9maCIsInVudXN1YWxfZXhwZW5zZV9pbmNfZnkiLCJ1bnVzdWFsX2V4cGVuc2VfaW5jX2ZxIiwidW51c3VhbF9leHBlbnNlX2luY19maCIsInByZXRheF9pbmNvbWVfZnkiLCJwcmV0YXhfaW5jb21lX2ZxIiwicHJldGF4X2luY29tZV9maCIsImluY29tZV90YXhfZnkiLCJpbmNvbWVfdGF4X2ZxIiwiaW5jb21lX3RheF9maCIsImFmdGVyX3RheF9vdGhlcl9pbmNvbWVfZnkiLCJhZnRlcl90YXhfb3RoZXJfaW5jb21lX2ZxIiwiYWZ0ZXJfdGF4X290aGVyX2luY29tZV9maCIsInRvdGFsX25vbl9vcGVyX2luY29tZV9meSIsInRvdGFsX25vbl9vcGVyX2luY29tZV9mcSIsInRvdGFsX25vbl9vcGVyX2luY29tZV9maCIsIm9wZXJfaW5jb21lX2Z5Iiwib3Blcl9pbmNvbWVfZnEiLCJvcGVyX2luY29tZV9maCIsIm9wZXJhdGluZ19leHBlbnNlc19meSIsIm9wZXJhdGluZ19leHBlbnNlc19mcSIsIm9wZXJhdGluZ19leHBlbnNlc19maCIsImNvc3Rfb2ZfZ29vZHNfZnkiLCJjb3N0X29mX2dvb2RzX2ZxIiwiY29zdF9vZl9nb29kc19maCIsImVxdWl0eV9pbl9lYXJuaW5nc19meSIsImVxdWl0eV9pbl9lYXJuaW5nc19mcSIsImVxdWl0eV9pbl9lYXJuaW5nc19maCIsIm1pbm9yaXR5X2ludGVyZXN0X2V4cF9meSIsIm1pbm9yaXR5X2ludGVyZXN0X2V4cF9mcSIsIm1pbm9yaXR5X2ludGVyZXN0X2V4cF9maCIsImRpc2NvbnRpbnVlZF9vcGVyYXRpb25zX2Z5IiwiZGlzY29udGludWVkX29wZXJhdGlvbnNfZnEiLCJkaXNjb250aW51ZWRfb3BlcmF0aW9uc19maCIsImZyb250X2NvbnRyYWN0IiwibWluX2NvbnRyYWN0IiwicG9pbnR2YWx1ZSIsInVuaXRfaWQiLCJleHBpcmF0aW9uIiwiYXVtIiwiYXNzZXRfY2xhc3MiLCJmb2N1cyIsImV4cGVuc2VfcmF0aW8iLCJsYXVuY2hfZGF0ZSIsImlzc3VlciIsImJyYW5kIiwiaG9tZXBhZ2UiLCJpbmRleF90cmFja2VkIiwiYWN0aXZlbHlfbWFuYWdlZCIsImZ1bmRfdmlld19tb2RlcyIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZnlfaCIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZnFfaCIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZmhfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZnlfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZnFfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZmhfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZnlfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZnFfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZmhfaCIsInByZWZlcnJlZF9zdG9ja19jYXJyeWluZ192YWx1ZV9maCIsInByZWZlcnJlZF9zdG9ja19jYXJyeWluZ192YWx1ZV9mcSIsInRvdGFsX2RlYnRfZnEiLCJtaW5vcml0eV9pbnRlcmVzdF9maCIsIm1pbm9yaXR5X2ludGVyZXN0X2ZxIiwiY2FzaF9uX3Nob3J0X3Rlcm1faW52ZXN0X2ZxIiwiY2FzaF9uX2R1ZV9mX2JhbmtzX2ZoIiwiY2FzaF9uX2R1ZV9mX2JhbmtzX2ZxIiwiZW50ZXJwcmlzZV92YWx1ZV9jdXJyZW50IiwiZXRmX2hvbGRpbmdzX2NvdW50IiwiY29udHJhY3QtZGVzY3JpcHRpb24iLCJyZWZlcmVuY2UtbGFzdC1wZXJpb2QiLCJhbGxfdGltZV9oaWdoIiwiYWxsX3RpbWVfaGlnaF9kYXkiLCJhbGxfdGltZV9sb3ciLCJhbGxfdGltZV9sb3dfZGF5Iiwib3V0c3RhbmRpbmdfYW1vdW50Iiwibm9taW5hbF92YWx1ZSIsImRlbm9tX21pbiIsImN1cnJlbnRfY291cG9uIiwiY291cG9uX3R5cGVfZ2VuZXJhbCIsImNvdXBvbl9mcmVxdWVuY3kiLCJ5aWVsZF90b19tYXR1cml0eSIsIm1hdHVyaXR5LWRhdGUiLCJkYXlzX3RvX21hdHVyaXR5IiwiYm9uZF9pc3N1ZXIiLCJpc3N1ZV9kYXRlIiwiYm9uZF9pc3N1ZXJfc3RvY2tfc3ltYm9sIiwidG90YWxfaXNzdWVkX2Ftb3VudCIsInBhaWRfYW1vdW50IiwiYm9uZF9zbnBfcmF0aW5nX2x0X2giLCJwbGFjZW1lbnRfdHlwZSIsImR1cmF0aW9uX3R5cGUiLCJtYXR1cml0eV90eXBlIiwib2ZmZXJfdHlwZSIsInJlZGVtcHRpb25fdHlwZSIsImNvbnZlcnNpb25fb3B0aW9uIiwic2lua2luZ19mdW5kIiwib3duZXJzaGlwX2Zvcm0iLCJkYWlseS1zdW1tYXJ5LWFzdCIsImlzc3VlX3N0YXR1cyIsImNvdXBvbl9oIiwic2lua2luZ19mdW5kX25leHRfZGF0ZSIsInNpbmtpbmdfZnVuZF9taW5fYW1vdW50X25leHQiLCJjYWxsX25leHRfZGF0ZSIsInJlZGVtcHRpb25zX2giLCJjYWxsX25vdGljZV9kYXlzIiwicHV0X25leHRfZGF0ZSIsInB1dF9ub3RpY2VfZGF5c19taW4iLCJzZW5pb3JpdHlfbGV2ZWwiLCJpbmZsYXRpb25fcHJvdGVjdGlvbiIsInBsZWRnZV9zdGF0dXMiLCJib25kX2lzc3Vlcl9jb3VudHJ5X29mX3Jpc2siLCJib25kX2lzc3Vlcl9jcl9wYXJlbnQiLCJjcmVkaXRfZW5oYW5jZW1lbnRfdHlwZSIsImNyZWRpdF9lbmhhbmNlbWVudF9zdGF0dXMiLCJ1c2Vfb2ZfcHJvY2VlZHMiLCJib25kX2lzc3Vlcl9zbnBfcmF0aW5nX2x0X2giLCJib25kX2lzc3Vlcl9zbnBfcmF0aW5nX3N0X2giLCJib25kX2FnZW50c190ciIsImZpcnN0X2Jhcl90aW1lXzFkIiwiZmluYW5jaWFsLWluZGljYXRvci1pZCIsImV4Y2hhbmdlLWluZm8iLCJ1bmRlcmx5aW5nLXN5bWJvbCIsInN0cmlrZSIsImxvdHNpemUiLCJvcHRpb24tc3R5bGUiLCJoYXNfYm9uZHMiLCJvcGVuX3RpbWUiLCJoYXNfYm9uZHMiLCJkZXhfYnV5c18xNW0iLCJkZXhfc2VsbHNfMTVtIiwiZGV4X2J1eV92b2x1bWVfMTVtIiwiZGV4X3NlbGxfdm9sdW1lXzE1bSIsImRleF9idXllcnNfMTVtIiwiZGV4X3NlbGxlcnNfMTVtIiwiZGV4X2J1eXNfMWgiLCJkZXhfc2VsbHNfMWgiLCJkZXhfYnV5X3ZvbHVtZV8xaCIsImRleF9zZWxsX3ZvbHVtZV8xaCIsImRleF9idXllcnNfMWgiLCJkZXhfc2VsbGVyc18xaCIsImRleF9idXlzXzRoIiwiZGV4X3NlbGxzXzRoIiwiZGV4X2J1eV92b2x1bWVfNGgiLCJkZXhfc2VsbF92b2x1bWVfNGgiLCJkZXhfYnV5ZXJzXzRoIiwiZGV4X3NlbGxlcnNfNGgiLCJkZXhfYnV5c18xMmgiLCJkZXhfc2VsbHNfMTJoIiwiZGV4X2J1eV92b2x1bWVfMTJoIiwiZGV4X3NlbGxfdm9sdW1lXzEyaCIsImRleF9idXllcnNfMTJoIiwiZGV4X3NlbGxlcnNfMTJoIiwiZGV4X2J1eXNfMjRoIiwiZGV4X3NlbGxzXzI0aCIsImRleF9idXlfdm9sdW1lXzI0aCIsImRleF9zZWxsX3ZvbHVtZV8yNGgiLCJkZXhfYnV5ZXJzXzI0aCIsImRleF9zZWxsZXJzXzI0aCIsImRleF9jb252ZXJ0ZWRfc3ltYm9sIiwiZGV4X3RyYWRpbmdfdm9sdW1lXzI0aCIsImRleF9jcmVhdGVkX3RpbWUiLCJkZXhfY3VycmVuY3kiLCJkZXhfY3VycmVuY3lfbG9nb2lkIiwiYmxvY2tjaGFpbl9hZGRyZXNzZXNfdXJscyIsImJsb2NrY2hhaW5fYWRkcmVzc2VzIiwiYmFzZV9jdXJyZW5jeSIsImlwb19vZmZlcl9zdGF0dXMiLCJoYXNfaXBvX2RldGFpbHNfdmlzaWJsZSIsImlwb19wcmljZV9yYW5nZV91c2RfbWF4IiwiaXBvX3ByaWNlX3JhbmdlX3VzZF9taW4iLCJpcG9fb2ZmZXJfcHJpY2VfdXNkIiwiaXBvX29mZmVyZWRfc2hhcmVzIiwiaXBvX2RlYWxfYW1vdW50X3VzZCIsImlwb19hbm5vdW5jZW1lbnRfZGF0ZSIsImlwb19vZmZlcl9kYXRlIiwiYXZhaWxhYmxlX2RhdGFfcmFuZ2VfYmVnaW5fZGF0ZSIsImF2YWlsYWJsZV9kYXRhX3JhbmdlX2VuZF9kYXRlIiwiaGFzX2V0Zl9vd25lcnNoaXAiLCJzeW1ib2xfcHJpbWFyeV9saXN0aW5nIiwibWV0cmljX3l0bSIsIm1ldHJpY3MiLCJlcHNfZXN0aW1hdGVzX2Z5X2giLCJlcHNfZXN0aW1hdGVzX2ZxX2giLCJlcHNfZXN0aW1hdGVzX2ZoX2giLCJyZXZlbnVlX2VzdGltYXRlc19meV9oIiwicmV2ZW51ZV9lc3RpbWF0ZXNfZnFfaCIsInJldmVudWVfZXN0aW1hdGVzX2ZoX2giLCJkcHNfZXN0aW1hdGVzX2Z5X2giLCJkcHNfZXN0aW1hdGVzX2ZxX2giLCJkcHNfZXN0aW1hdGVzX2ZoX2giLCJjb3N0X29mX2dvb2RzX2VzdGltYXRlc19meV9oIiwiY29zdF9vZl9nb29kc19lc3RpbWF0ZXNfZnFfaCIsImNvc3Rfb2ZfZ29vZHNfZXN0aW1hdGVzX2ZoX2giLCJncm9zc19wcm9maXRfZXN0aW1hdGVzX2Z5X2giLCJncm9zc19wcm9maXRfZXN0aW1hdGVzX2ZxX2giLCJncm9zc19wcm9maXRfZXN0aW1hdGVzX2ZoX2giLCJzZWxsX2dlbl9hZG1pbl9leHBfdG90YWxfZXN0aW1hdGVzX2Z5X2giLCJzZWxsX2dlbl9hZG1pbl9leHBfdG90YWxfZXN0aW1hdGVzX2ZxX2giLCJzZWxsX2dlbl9hZG1pbl9leHBfdG90YWxfZXN0aW1hdGVzX2ZoX2giLCJyZXNlYXJjaF9hbmRfZGV2X2VzdGltYXRlc19meV9oIiwicmVzZWFyY2hfYW5kX2Rldl9lc3RpbWF0ZXNfZnFfaCIsInJlc2VhcmNoX2FuZF9kZXZfZXN0aW1hdGVzX2ZoX2giLCJlYml0ZGFfZXN0aW1hdGVzX2Z5X2giLCJlYml0ZGFfZXN0aW1hdGVzX2ZxX2giLCJlYml0ZGFfZXN0aW1hdGVzX2ZoX2giLCJlYml0X2VzdGltYXRlc19meV9oIiwiZWJpdF9lc3RpbWF0ZXNfZnFfaCIsImViaXRfZXN0aW1hdGVzX2ZoX2giLCJuZXRfaW5jb21lX2VzdGltYXRlc19meV9oIiwibmV0X2luY29tZV9lc3RpbWF0ZXNfZnFfaCIsIm5ldF9pbmNvbWVfZXN0aW1hdGVzX2ZoX2giLCJ0b3RhbF9hc3NldHNfZXN0aW1hdGVzX2Z5X2giLCJ0b3RhbF9hc3NldHNfZXN0aW1hdGVzX2ZxX2giLCJ0b3RhbF9hc3NldHNfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX25fc2hvcnRfdGVybV9pbnZlc3RfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX25fc2hvcnRfdGVybV9pbnZlc3RfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX25fc2hvcnRfdGVybV9pbnZlc3RfZXN0aW1hdGVzX2ZoX2giLCJ0b3RhbF9kZWJ0X2VzdGltYXRlc19meV9oIiwidG90YWxfZGVidF9lc3RpbWF0ZXNfZnFfaCIsInRvdGFsX2RlYnRfZXN0aW1hdGVzX2ZoX2giLCJib29rX3ZhbHVlX3Blcl9zaGFyZV9lc3RpbWF0ZXNfZnlfaCIsImJvb2tfdmFsdWVfcGVyX3NoYXJlX2VzdGltYXRlc19mcV9oIiwiYm9va192YWx1ZV9wZXJfc2hhcmVfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZoX2giLCJjYXBpdGFsX2V4cGVuZGl0dXJlc19lc3RpbWF0ZXNfZnlfaCIsImNhcGl0YWxfZXhwZW5kaXR1cmVzX2VzdGltYXRlc19mcV9oIiwiY2FwaXRhbF9leHBlbmRpdHVyZXNfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZoX2giLCJmcmVlX2Nhc2hfZmxvd19lc3RpbWF0ZXNfZnlfaCIsImZyZWVfY2FzaF9mbG93X2VzdGltYXRlc19mcV9oIiwiZnJlZV9jYXNoX2Zsb3dfZXN0aW1hdGVzX2ZoX2giLCJlc3RpbWF0ZXNfZmlzY2FsX3BlcmlvZF9meV9oIiwiZXN0aW1hdGVzX2Zpc2NhbF9wZXJpb2RfZnFfaCIsImVzdGltYXRlc19maXNjYWxfcGVyaW9kX2ZoX2giLCJmb3JlY2FzdF9hdmFpbGFiaWxpdHkiXSksbj1uZXcgY2xhc3N7CmNvbnN0cnVjdG9yKGUpe3RoaXMuX2NhY2hlPW5ldyBNYXAsdGhpcy5fdGltZXM9bmV3IE1hcCx0aGlzLl9maWVsZHM9Wy4uLmUuZmllbGRzXX11cGRhdGUoZSx0LF8pe2NvbnN0IGk9KDAscy5lbnN1cmVEZWZpbmVkKShlLnN5bWJvbG5hbWUpLG49RGF0ZS5ub3coKTtpZih0aGlzLl9jYWNoZS5oYXMoaSl8fHRoaXMuX2NhY2hlLnNldChpLHtzeW1ib2xuYW1lOmksc3RhdHVzOmUuc3RhdHVzLHZhbHVlczp7fX0pLHRoaXMuX3RpbWVzLmhhcyhpKXx8dGhpcy5fdGltZXMuc2V0KGksbmV3IE1hcCksImVycm9yIj09PWUuc3RhdHVzKXJldHVybjtjb25zdCBhPSgwLHMuZW5zdXJlRGVmaW5lZCkodGhpcy5fY2FjaGUuZ2V0KGkpKSxyPSgwLHMuZW5zdXJlRGVmaW5lZCkodGhpcy5fdGltZXMuZ2V0KGkpKTthLnN0YXR1cz1lLnN0YXR1cztmb3IoY29uc3QgcyBvZiB0aGlzLl9maWVsZHMpdC5oYXMocykmJihffHx2b2lkIDAhPT1lLnZhbHVlc1tzXSkmJihhLnZhbHVlc1tzXT1lLnZhbHVlc1tzXSxyLnNldChzLG4pKX1nZXQoZSl7cmV0dXJuIHRoaXMuX2NhY2hlLmdldChlKT8/bnVsbH1nZXRUaW1lcyhlKXtyZXR1cm4gdGhpcy5fdGltZXMuZ2V0KGUpPz9udWxsfWZpZWxkcygpe3JldHVybiB0aGlzLl9maWVsZHN9fSh7ZmllbGRzOml9KX0sOTI3NTkzKGUsdCxfKXsidXNlIHN0cmljdCI7Xy5kKHQse1F1b3RlU2Vzc2lvbk11bHRpcGxleGVyOigpPT5mfSk7dmFyIHM9Xyg1ODcxNjgpLGk9Xyg1NDc4NTEpLG49XygzNTI4MzcpLGE9XygxMzg2MzgpLHI9XygyMjEwNjEpLG89Xyg5NDgzODApLGw9Xyg5NjQ0ODYpLGM9XygxNTAxNTApLGg9XygzMDkwNTIpLGQ9XygzNjc5NDYpO2xldCB1PSExO3ZhciBtPV8oOTcwNzc0KTtjb25zdCBwPSgwLHIuZ2V0TG9nZ2VyKSgiV2ViY2hhcnRDbGllbnQuUXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXIiKTtjbGFzcyBme2NvbnN0cnVjdG9yKGUpe3RoaXMub25Db25uZWN0PW5ldyBvLkRlbGVnYXRlLHRoaXMub25EaXNjb25uZWN0PW5ldyBvLkRlbGVnYXRlLHRoaXMuX2Nvbm5lY3RlZD0hMSx0aGlzLl9zdWJzY3JpcHRpb25zPXt9LHRoaXMuX3N5bWJvbF9kYXRhPXt9LHRoaXMuX2RlbGF5VXBkYXRlRmFzdFN5bWJvbHM9KDAsaS5kZWZhdWx0KSh0aGlzLl91cGRhdGVGYXN0U3ltYm9scywyNTApLHRoaXMuX3Rocm90dGxlZFN5bWJvbERhdGE9e30sdGhpcy5fZXh0ZW5zaW9ucz17fSx0aGlzLm9wdGlvbnM9e3Rocm90dGxlVGltZW91dDoxMjUsLi4uZX0sdGhpcy5fc2Vzc2lvbj1uZXcgbS5RdW90ZVNlc3Npb24oZS5hcGksWyJtdWx0aXBsZXhlciIsZS5uYW1lLCgwLGMucmFuZG9tSGFzaCkoKV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIl8iKSksdGhpcy5vcHRpb25zLmV4dGVuc2lvbnM/LmZvcm1hdHRlciYmKHRoaXMuX2V4dGVuc2lvbnMuZm9ybWF0dGVyPXRoaXMub3B0aW9ucy5leHRlbnNpb25zLmZvcm1hdHRlcih0aGlzKSksdGhpcy5vcHRpb25zLmV4dGVuc2lvbnM/LnNuYXBzaG90JiYodGhpcy5fZXh0ZW5zaW9ucy5zbmFwc2hvdD10aGlzLm9wdGlvbnMuZXh0ZW5zaW9ucy5zbmFwc2hvdCh0aGlzKSksdGhpcy5jb25uZWN0KCl9ZGVzdHJveSgpe3RoaXMuX3Nlc3Npb24uZGVzdHJveSgpLHRoaXMuX2Nvbm5lY3RlZD0hMSx0aGlzLm9uRGlzY29ubmVjdC5maXJlKCl9aW50ZXJuYWxzKCl7cmV0dXJue3Nlc3Npb246KCk9PnRoaXMuX3Nlc3Npb24sc3Vic2NyaXB0aW9uczooKT0+dGhpcy5fc3Vic2NyaXB0aW9ucyxkYXRhOigpPT50aGlzLl9zeW1ib2xfZGF0YX19Y29ubmVjdCgpe3RoaXMuX3Nlc3Npb24uY29ubmVjdCh0aGlzLnF1b3RlSGFuZGxlci5iaW5kKHRoaXMpKX1xdW90ZUhhbmRsZXIoZSl7Y29uc3R7bWV0aG9kOnQscGFyYW1zOl99PWU7c3dpdGNoKHQpe2Nhc2UiY29ubmVjdGVkIjp0aGlzLl9jb25uZWN0ZWR8fCh0aGlzLl9jb25uZWN0ZWQ9ITAsdGhpcy5vbkNvbm5lY3RlZCgpKTticmVhaztjYXNlInF1b3RlX2xpc3RfZmllbGRzIjpicmVhaztjYXNlInF1b3RlX3N5bWJvbF9kYXRhIjp0aGlzLl9jb25uZWN0ZWQmJnRoaXMub25TeW1ib2xEYXRhKF9bMF0pO2JyZWFrO2Nhc2UicXVvdGVfY29tcGxldGVkIjp0aGlzLl9jb25uZWN0ZWQmJnRoaXMub25TeW1ib2xEYXRhKHtzeW1ib2xuYW1lOl9bMF0sY29tcGxldGU6cGVyZm9ybWFuY2Uubm93KCksdmFsdWVzOnt9fSk7YnJlYWs7Y2FzZSJkaXNjb25uZWN0ZWQiOnRoaXMuX2Nvbm5lY3RlZCYmKHRoaXMuX2Nvbm5lY3RlZD0hMSx0aGlzLm9uRGlzY29ubmVjdC5maXJlKCkpfX1vbkNvbm5lY3RlZCgpe3RoaXMuc2V0RmllbGRzKCk7Y29uc3QgZT1PYmplY3Qua2V5cyh0aGlzLl9zeW1ib2xfZGF0YSk7ZS5sZW5ndGgmJih0aGlzLl9zZXNzaW9uLnF1b3RlQWRkU3ltYm9scyhlKSx0aGlzLl9kZWxheVVwZGF0ZUZhc3RTeW1ib2xzKCkpLHRoaXMub25Db25uZWN0LmZpcmUoKX1zZXRGaWVsZHMoKXtjb25zdHtmaWVsZHM6ZX09dGhpcy5vcHRpb25zO2UmJmUubGVuZ3RoJiZ0aGlzLl9zZXNzaW9uLnF1b3RlU2V0RmllbGRzKGUpfW9uU3ltYm9sRGF0YShlKXt0cnl7ZS5zdGF0dXMmJmguUVVPVEVfRklFTERTX0NBQ0hFLnVwZGF0ZShlLGguUVVPVEVfRklFTERTLCExKX1jYXRjaChlKXt9Y29uc3QgdD1lLnN5bWJvbG5hbWU7bGV0IF89dGhpcy5fdGhyb3R0bGVkU3ltYm9sRGF0YVt0XTt1JiYoZGVsZXRlIGUudmFsdWVzLnByZXZfY2xvc2VfcHJpY2Usdm9pZCAwIT09ZS52YWx1ZXMucmVndWxhcl9jbG9zZSYmKGUudmFsdWVzLnByZXZfY2xvc2VfcHJpY2U9ZS52YWx1ZXMucmVndWxhcl9jbG9zZSkpLF98fChfPXRoaXMuX3Rocm90dGxlZFN5bWJvbERhdGFbdF09e2ZuRGlzcGF0Y2g6KDAscy5kZWZhdWx0KSh0aGlzLmRpc3BhdGNoU3ltYm9sRGF0YS5iaW5kKHRoaXMpLHRoaXMub3B0aW9ucy50aHJvdHRsZVRpbWVvdXQpfSksXy5jYWNoZT8oMCxsLmRlZXBFeHRlbmQpKF8uY2FjaGUsZSk6Xy5jYWNoZT1lLF8uZm5EaXNwYXRjaCh0KX1kaXNwYXRjaFN5bWJvbERhdGEoZSl7Y29uc3QgdD10aGlzLl9zeW1ib2xfZGF0YVtlXSxfPXRoaXMuX3Rocm90dGxlZFN5bWJvbERhdGFbZV0uY2FjaGUKO2lmKGRlbGV0ZSB0aGlzLl90aHJvdHRsZWRTeW1ib2xEYXRhW2VdLmNhY2hlLHRoaXMuX3N5bWJvbF9kYXRhW2VdKXsoMCxsLmRlZXBFeHRlbmQpKHQsXyksdC52YWx1ZXMmJnRoaXMuX3BhcnNlVXBkYXRlTW9kZSh0LnZhbHVlcyk7Zm9yKGNvbnN0IHMgaW4gdGhpcy5fc3Vic2NyaXB0aW9ucyl7Y29uc3QgaT10aGlzLl9zdWJzY3JpcHRpb25zW3NdO2lmKGkuaGFzKGUpKXtbLi4uKDAsYS5lbnN1cmVEZWZpbmVkKShpLmdldChlKSldLmZvckVhY2goKGU9PntlKHQsXyl9KSl9fX19c3Vic2NyaWJlKGUsdCxfKXt0aGlzLl9zdWJzY3JpcHRpb25zW2VdPXRoaXMuX3N1YnNjcmlwdGlvbnNbZV18fG5ldyBNYXA7Y29uc3Qgcz10aGlzLl9zdWJzY3JpcHRpb25zW2VdO3Q9QXJyYXkuaXNBcnJheSh0KT9bLi4udF06W3RdO2NvbnN0IGk9W107dC5mb3JFYWNoKChlPT57dGhpcy5fc3ltYm9sX2RhdGFbZV0/cyYmcy5oYXMoZSl8fHRoaXMuX3N5bWJvbF9kYXRhW2VdLnN1YnNjcmliZXJzX2NvdW50Kys6KHRoaXMuX3N5bWJvbF9kYXRhW2VdPXtzdWJzY3JpYmVyc19jb3VudDoxfSxpLnB1c2goZSkpLHMuaGFzKGUpfHxzLnNldChlLFtdKTtjb25zdCB0PSgwLGEuZW5zdXJlRGVmaW5lZCkocy5nZXQoZSkpO3QucHVzaChfKSx0LmZhc3Q9ITAsdGhpcy5fc3ltYm9sX2RhdGFbZV0mJnRoaXMuX3N5bWJvbF9kYXRhW2VdLnZhbHVlcyYmXyh0aGlzLl9zeW1ib2xfZGF0YVtlXSx0aGlzLl9zeW1ib2xfZGF0YVtlXSl9KSksaS5sZW5ndGgmJnRoaXMuX2Nvbm5lY3RlZCYmKHRoaXMuX3Nlc3Npb24ucXVvdGVBZGRTeW1ib2xzKGkpLHRoaXMuX2RlbGF5VXBkYXRlRmFzdFN5bWJvbHMoKSl9dW5zdWJzY3JpYmUoZSx0LF8pe3Q9QXJyYXkuaXNBcnJheSh0KT9bLi4udF06W3RdO2NvbnN0IHM9dGhpcy5fc3Vic2NyaXB0aW9uc1tlXSxpPVtdO2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKXtjb25zdCByPXRbbl07aWYocyYmcy5oYXMocikpe2lmKF8pe2NvbnN0IGU9KDAsYS5lbnN1cmVEZWZpbmVkKShzLmdldChyKSksdD1lLmluZGV4T2YoXyk7fnQmJmUuc3BsaWNlKHQsMSksZS5sZW5ndGh8fHMuZGVsZXRlKHIpfWVsc2Ugcy5kZWxldGUocik7MD09PXMuc2l6ZSYmZGVsZXRlIHRoaXMuX3N1YnNjcmlwdGlvbnNbZV0sdGhpcy5fc3ltYm9sX2RhdGEuaGFzT3duUHJvcGVydHkocikmJihzLmhhcyhyKXx8dGhpcy5fc3ltYm9sX2RhdGFbcl0uc3Vic2NyaWJlcnNfY291bnQtLSx0aGlzLl9zeW1ib2xfZGF0YVtyXS5zdWJzY3JpYmVyc19jb3VudHx8KGRlbGV0ZSB0aGlzLl9zeW1ib2xfZGF0YVtyXSxpLnB1c2gocikpKX1lbHNlIHAubG9nV2FybihgQ2hlY2sgeW91ciBzdWIvdW5zdWIgbG9va3MgaXQgaXMgbGVha2luZyAoY2xpZW50X2lkPSR7ZX0sIHN5bWJvbD0ke3J9KWApfWkubGVuZ3RoJiZ0aGlzLl9jb25uZWN0ZWQmJih0aGlzLl9zZXNzaW9uLnF1b3RlUmVtb3ZlU3ltYm9scyhpKSx0aGlzLl9kZWxheVVwZGF0ZUZhc3RTeW1ib2xzKCkpfXNldEZhc3RTeW1ib2xzKGUsdCl7aWYodGhpcy5fc3Vic2NyaXB0aW9uc1tlXSl7Y29uc3QgXz10aGlzLl9zdWJzY3JpcHRpb25zW2VdLHM9QXJyYXkuZnJvbShfLmtleXMoKSk7Zm9yKGxldCBlPTA7ZTxzLmxlbmd0aDsrK2Upe2NvbnN0IGk9c1tlXTsoMCxhLmVuc3VyZURlZmluZWQpKF8uZ2V0KGkpKS5mYXN0PS0xIT09dC5pbmRleE9mKGkpfX10aGlzLl9kZWxheVVwZGF0ZUZhc3RTeW1ib2xzKCl9c25hcHNob3QoZSl7cmV0dXJuIHZvaWQgMD09PXRoaXMuX2V4dGVuc2lvbnMuc25hcHNob3Q/UHJvbWlzZS5yZWplY3QoIk5vIGZvcm1hdHRlciBleHRlbnNpb24gcHJvdmlkZWQiKTp0aGlzLl9leHRlbnNpb25zLnNuYXBzaG90KGUpfWZvcm1hdHRlcihlLHQpe3JldHVybiB2b2lkIDA9PT10aGlzLl9leHRlbnNpb25zLmZvcm1hdHRlcj9Qcm9taXNlLnJlamVjdCgiTm8gZm9ybWF0dGVyIGV4dGVuc2lvbiBwcm92aWRlZCIpOnRoaXMuX2V4dGVuc2lvbnMuZm9ybWF0dGVyKGUsdCl9X3VwZGF0ZUZhc3RTeW1ib2xzKCl7aWYoIXRoaXMuX2Nvbm5lY3RlZClyZXR1cm47Y29uc3QgZT10aGlzLl9mYXN0U3ltYm9scygpOzA9PT1lLmxlbmd0aD90aGlzLl9zZXNzaW9uLnF1b3RlSGliZXJuYXRlQWxsKCk6dGhpcy5fc2Vzc2lvbi5xdW90ZUZhc3RTeW1ib2xzKGUpfV9mYXN0U3ltYm9scygpe2xldCBlPVtdO2Zvcihjb25zdCB0IGluIHRoaXMuX3N1YnNjcmlwdGlvbnMpe2NvbnN0IF89dGhpcy5fc3Vic2NyaXB0aW9uc1t0XSxzPUFycmF5LmZyb20oXy5rZXlzKCkpO2ZvcihsZXQgdD0wO3Q8cy5sZW5ndGg7Kyt0KXtjb25zdCBpPXNbdF07KDAsYS5lbnN1cmVEZWZpbmVkKShfLmdldChpKSkuZmFzdCYmZS5wdXNoKGkpfX1yZXR1cm4gZT0oMCxuLmRlZmF1bHQpKGUpLGV9X3BhcnNlVXBkYXRlTW9kZShlKXsoMCxkLm5vcm1hbGl6ZVVwZGF0ZU1vZGUpKGUpfX19LDk3MDc3NChlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHtRdW90ZVNlc3Npb246KCk9Pml9KTt2YXIgcz1fKDE1MDE1MCk7Y2xhc3MgaXtjb25zdHJ1Y3RvcihlLHQ9KDAscy5yYW5kb21IYXNoKSgpKXt0aGlzLl9zZXNzaW9uc3RhcnRlZD0hMSx0aGlzLl9nbG9iYWxIYW5kbGVyPW51bGwsdGhpcy5fY2hhcnRBcGk9ZSx0aGlzLl9zZXNzaW9uaWQ9InFzXyIrdH1kZXN0cm95KCl7dGhpcy5fc2Vzc2lvbnN0YXJ0ZWQmJih0aGlzLl9jaGFydEFwaS5xdW90ZURlbGV0ZVNlc3Npb24odGhpcy5fc2Vzc2lvbmlkKSx0aGlzLl9zZXNzaW9uc3RhcnRlZD0hMSl9Y29ubmVjdGVkKCl7cmV0dXJuIHRoaXMuX2NoYXJ0QXBpLmNvbm5lY3RlZCgpfWNvbm5lY3QoZSl7dGhpcy5fZ2xvYmFsSGFuZGxlcj1lLHRoaXMuX2NoYXJ0QXBpLmNyZWF0ZVNlc3Npb24odGhpcy5fc2Vzc2lvbmlkLHRoaXMpLHRoaXMuX2NoYXJ0QXBpLmNvbm5lY3QoKX1kaXNjb25uZWN0KCl7dGhpcy5fY2hhcnRBcGkuZGlzY29ubmVjdCgpfXF1b3RlQWRkU3ltYm9scyhlKXt0aGlzLl9jaGFydEFwaS5xdW90ZUFkZFN5bWJvbHModGhpcy5fc2Vzc2lvbmlkLGUpfXF1b3RlUmVtb3ZlU3ltYm9scyhlKXsKdGhpcy5fY2hhcnRBcGkucXVvdGVSZW1vdmVTeW1ib2xzKHRoaXMuX3Nlc3Npb25pZCxlKX1xdW90ZUZhc3RTeW1ib2xzKGUpe3RoaXMuX2NoYXJ0QXBpLnF1b3RlRmFzdFN5bWJvbHModGhpcy5fc2Vzc2lvbmlkLGUpfXF1b3RlU2V0RmllbGRzKGUpe3RoaXMuX2NoYXJ0QXBpLnF1b3RlU2V0RmllbGRzKHRoaXMuX3Nlc3Npb25pZCxlKX1vbk1lc3NhZ2UoZSl7c3dpdGNoKGUubWV0aG9kKXtjYXNlImNvbm5lY3RlZCI6dGhpcy5fc2Vzc2lvbnN0YXJ0ZWR8fCh0aGlzLl9jaGFydEFwaS5xdW90ZUNyZWF0ZVNlc3Npb24odGhpcy5fc2Vzc2lvbmlkKSx0aGlzLl9zZXNzaW9uc3RhcnRlZD0hMCk7YnJlYWs7Y2FzZSJkaXNjb25uZWN0ZWQiOnRoaXMuX3Nlc3Npb25zdGFydGVkPSExfXRoaXMuX2dsb2JhbEhhbmRsZXI/LihlKX1xdW90ZUhpYmVybmF0ZUFsbCgpe3RoaXMuX2NoYXJ0QXBpLnF1b3RlSGliZXJuYXRlQWxsKHRoaXMuX3Nlc3Npb25pZCl9fX0sNjYxODU4KGUsdCxfKXtlLmV4cG9ydHM9W3tuYW1lOl8uaTE4bmV4dChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxfKDM1MDE0NikpLHZhbHVlOiIiLHNlYXJjaF90eXBlOiJ1bmRlZmluZWQifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg1NTU1MTApKSx2YWx1ZToic3RvY2tzIixzZWFyY2hfdHlwZToic3RvY2tzIn0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oNTY0OTE3KSksdmFsdWU6ImZ1bmRzIixzZWFyY2hfdHlwZToiZnVuZHMifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg1MDUwNzkpKSx2YWx1ZToiZnV0dXJlcyIsc2VhcmNoX3R5cGU6ImZ1dHVyZXMifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg5Nzk5NykpLHZhbHVlOiJmb3JleCIsc2VhcmNoX3R5cGU6ImZvcmV4In0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oMzg0NTk3KSksdmFsdWU6ImNmZCIsc2VhcmNoX3R5cGU6ImNmZCJ9LHtuYW1lOl8uaTE4bmV4dChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxfKDY1NTIzNSkpLHZhbHVlOiJiaXRjb2luLGNyeXB0byIsc2VhcmNoX3R5cGU6ImNyeXB0byJ9LHtuYW1lOl8uaTE4bmV4dChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxfKDkyNzQxMSkpLHZhbHVlOiJpbmRleCIsc2VhcmNoX3R5cGU6ImluZGV4In0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oNzY1NDQwKSksdmFsdWU6ImJvbmQiLHNlYXJjaF90eXBlOiJib25kIn0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oNTQ4MzIyKSksdmFsdWU6ImVjb25vbWljIixzZWFyY2hfdHlwZToiZWNvbm9taWMifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg3OTYwMCkpLHZhbHVlOiJvcHRpb25zIixzZWFyY2hfdHlwZToib3B0aW9ucyJ9XX0sNjA2MTAoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7QXV0aFRva2VuOigpPT5vfSk7dmFyIHM9XygyMjEwNjEpLGk9Xyg5NDgzODApLG49XygzODQwMTcpO2NvbnN0IGE9KDAscy5nZXRMb2dnZXIpKCJDaGFydEFwaS5BdXRoVG9rZW4iLHtjb2xvcjoiIzE3MyJ9KTt2YXIgcjshZnVuY3Rpb24oZSl7ZVtlLkV4cGlyYXRpb25SZXNlcnZlPTNlNV09IkV4cGlyYXRpb25SZXNlcnZlIixlW2UuTWF4UmV0cmllcz0zXT0iTWF4UmV0cmllcyIsZVtlLlJldHJ5RGVsYXlNdWx0aXBsaWVyPTFlM109IlJldHJ5RGVsYXlNdWx0aXBsaWVyIixlW2UuRmFsbGJhY2tFeHBpcmF0aW9uPTE0NGU1XT0iRmFsbGJhY2tFeHBpcmF0aW9uIixlW2UuTWluRXhwaXJhdGlvbj0zZTVdPSJNaW5FeHBpcmF0aW9uIn0ocnx8KHI9e30pKTtjbGFzcyBve2NvbnN0cnVjdG9yKCl7dGhpcy5pbnZhbGlkYXRlZD1uZXcgaS5EZWxlZ2F0ZSx0aGlzLl90aWQ9MCx0aGlzLl9vbkdvaW5nQXV0aFRva2VuUmVxdWVzdD1udWxsLHRoaXMuX29uT25saW5lPSgpPT57YS5sb2dJbmZvKCJPbmxpbmUsIG5ldyB0b2tlbiB3aWxsIGJlIGZldGNoZWQgaWYgbmVlZGVkIiksdGhpcy5fdHJ5VG9VcGRhdGVUb2tlbigpfSx0aGlzLl9vblZpc2liaWxpdHlDaGFuZ2U9KCk9PnsidmlzaWJsZSI9PT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGUmJihhLmxvZ0luZm8oIlBhZ2UgdmlzaWJsZSwgbmV3IHRva2VuIHNob3VsZCBiZSBmZXRjaGVkIiksdGhpcy5fdHJ5VG9VcGRhdGVUb2tlbigpKX0sd2luZG93LmxvZ2luU3RhdGVDaGFuZ2V8fCh3aW5kb3cubG9naW5TdGF0ZUNoYW5nZT1uZXcgaS5EZWxlZ2F0ZSksd2luZG93LmxvZ2luU3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKHRoaXMsKGU9PntlfHwodGhpcy5fc2V0KHdpbmRvdy51c2VyLmF1dGhfdG9rZW4pLHRoaXMuaW52YWxpZGF0ZWQuZmlyZSgpKX0pKSx0aGlzLl9zZXQod2luZG93LnVzZXIuYXV0aF90b2tlbiksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9ubGluZSIsdGhpcy5fb25PbmxpbmUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLHRoaXMuX29uVmlzaWJpbGl0eUNoYW5nZSl9ZGVzdHJveSgpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvbmxpbmUiLHRoaXMuX29uT25saW5lKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLl9vblZpc2liaWxpdHlDaGFuZ2UpfWdldChlKXtyZXR1cm4gd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ/IWUmJnRoaXMuY3VycmVudFRva2VuSXNWYWxpZCgpPyhhLmxvZ0luZm8oYFVzaW5nIGNhY2hlZCB0b2tlbiAke3RoaXMuX2NhY2hlLnRva2VufWApLFByb21pc2UucmVzb2x2ZSh0aGlzLl9jYWNoZS50b2tlbikpOndpbmRvdy5uYXZpZ2F0b3Iub25MaW5lP3RoaXMuX29uR29pbmdBdXRoVG9rZW5SZXF1ZXN0fHw9dGhpcy5fZmV0Y2goQm9vbGVhbihlKSwwKS50aGVuKChlPT57CmlmKCF3aW5kb3cuaXNfYXV0aGVudGljYXRlZCl0aHJvdyBuZXcgRXJyb3IoIlVzZXIgbG9nZ2VkIG91dCB3aGlsZSB0aGUgcmVxdWVzdCB3YXMgaW4gZmxpZ2h0Iik7cmV0dXJuIHRoaXMuX3NldChlKSxlfSkpLmNhdGNoKChlPT4oYS5sb2dFcnJvcihgRXJyb3IgZmV0Y2hpbmcgbmV3IHRva2VuOiAke2UmJmUubWVzc2FnZX1gKSwiIikpKS5maW5hbGx5KCgoKT0+e3RoaXMuX29uR29pbmdBdXRoVG9rZW5SZXF1ZXN0PW51bGx9KSk6KGEubG9nV2FybigiT2ZmbGluZSwgY2Fubm90IGZldGNoIG5ldyB0b2tlbiwgdXNpbmcgY2FjaGVkIHRva2VuIiksUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2NhY2hlLnRva2VuKSk6UHJvbWlzZS5yZXNvbHZlKCIiKX1yZXNldCgpe3RoaXMuX3NldCh2b2lkIDApLHRoaXMuaW52YWxpZGF0ZWQuZmlyZSgpfWN1cnJlbnRUb2tlbklzVmFsaWQoKXtyZXR1cm4hd2luZG93LmlzX2F1dGhlbnRpY2F0ZWR8fCEhdGhpcy5fY2FjaGUmJihwZXJmb3JtYW5jZS5ub3coKTx0aGlzLl9jYWNoZS5tb25vVmFsaWRUaHJ1JiZEYXRlLm5vdygpPHRoaXMuX2NhY2hlLndhbGxWYWxpZFRocnUpfV9zZXQoZSl7aWYod2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJnZvaWQgMCE9PWUpe2NvbnN0IHQ9ZnVuY3Rpb24oZSl7aWYoIiI9PT1lKXJldHVybiAxNDRlNTt0cnl7Y29uc3QgdD1KU09OLnBhcnNlKGF0b2IoZS5zcGxpdCgiLiIpWzFdLnJlcGxhY2UoLy0vZywiKyIpLnJlcGxhY2UoL18vZywiLyIpKSksXz0xZTMqKHQuZXhwLXQuaWF0KTtpZighaXNGaW5pdGUoXykpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGV4cGlyYXRpb24iKTtyZXR1cm4gTWF0aC5tYXgoXy0zZTUsM2U1KX1jYXRjaCh0KXtyZXR1cm4gYS5sb2dFcnJvcihgJHtlfSBpcyBpbnZhbGlkOiAke3QubWVzc2FnZX1gKSwxNDRlNX19KGUpO3RoaXMuX2NhY2hlPXt0b2tlbjplLG1vbm9WYWxpZFRocnU6cGVyZm9ybWFuY2Uubm93KCkrdCx3YWxsVmFsaWRUaHJ1OkRhdGUubm93KCkrdH0sY2xlYXJUaW1lb3V0KHRoaXMuX3RpZCksdGhpcy5fdGlkPXNldFRpbWVvdXQoKCgpPT57d2luZG93Lm5hdmlnYXRvci5vbkxpbmU/dGhpcy5yZXNldCgpOmEubG9nSW5mbygiT2ZmbGluZSwgY2FjaGUgd2lsbCBub3QgYmUgaW52YWxpZGF0ZWQiKX0pLHQpLGEubG9nSW5mbyhgQ2FjaGVkIGZvciAke3R9IG1zOiAke2V9YCl9ZWxzZSB0aGlzLl9jYWNoZT17dG9rZW46IiIsbW9ub1ZhbGlkVGhydTotMS8wLHdhbGxWYWxpZFRocnU6LTEvMH0sY2xlYXJUaW1lb3V0KHRoaXMuX3RpZCksYS5sb2dJbmZvKCJDYWNoZSBkcm9wcGVkIil9X2ZldGNoKGUsdCl7cmV0dXJuIGEubG9nTm9ybWFsKGBGZXRjaGluZyBhIG5ldyB0b2tlbiwgZ3JhYlNlc3Npb249JHtlfWApLCgwLG4uZmV0Y2gpKCIvcXVvdGVfdG9rZW4vIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIn0sYm9keTplPyJncmFiU2Vzc2lvbj10cnVlIjoiIn0pLnRoZW4oKGU9PntpZighZS5vayl0aHJvdyBuZXcgRXJyb3IoYFJlc3BvbnNlIHN0YXR1cyBpcyBub3Qgb2s6ICR7ZS5zdGF0dXN9YCk7cmV0dXJuIGUuanNvbigpLnRoZW4oU3RyaW5nKX0pLChfPT57aWYodD49Myl0aHJvdyBfO3JldHVybiBhLmxvZ1dhcm4oIlJlcXVlc3QgZmFpbGVkLCB3aWxsIHJldHJ5IiksZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBQcm9taXNlKCh0PT5zZXRUaW1lb3V0KHQsMWUzKmUpKSl9KHQpLnRoZW4oKCgpPT50aGlzLl9mZXRjaChlLHQrMSkpKX0pKX1hc3luYyBfdHJ5VG9VcGRhdGVUb2tlbigpe3RoaXMuX2NhY2hlLnRva2VuIT09YXdhaXQgdGhpcy5nZXQoKSYmdGhpcy5pbnZhbGlkYXRlZC5maXJlKCl9fX0sOTMwMDQ1KGUsdCxfKXsidXNlIHN0cmljdCI7Xy5kKHQse0pTT05EYXRhSGFuZGxlcjooKT0+YX0pO3ZhciBzPV8oNzgzMzQwKTtmdW5jdGlvbiBpKGUpe3JldHVybntpbmRleDplLmksdmFsdWU6ZS52fX1mdW5jdGlvbiBuKGUpe2Zvcihjb25zdCB0IG9mIE9iamVjdC5rZXlzKGUpKXtjb25zdCBfPWVbdF07Xy50JiYoXy50dXJuYXJvdW5kPWVbdF0udCksInMiaW4gZVt0XSYmZVt0XS5zJiYhXy5zZXJpZXMmJihfLnNlcmllcz1lW3RdLnMubWFwKGkpKSwic3QiaW4gZVt0XSYmZVt0XS5zdCYmIV8uc2VyaWVzJiYoXy5zZXJpZXM9ZVt0XS5zdC5tYXAoaSkpfX1jbGFzcyBhe3NldF9icm9rZXIoZSl7cmV0dXJuW2VdfXNldF9kYXRhX3F1YWxpdHkoKXtyZXR1cm5bImxvdyJdfXF1b3RlX2NyZWF0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1xdW90ZV9kZWxldGVfc2Vzc2lvbihlKXtyZXR1cm5bZV19cXVvdGVfc2V0X2ZpZWxkcyhlLHQpe3JldHVybltlXS5jb25jYXQodCl9cXVvdGVfYWRkX3N5bWJvbHMoZSx0KXtyZXR1cm5bZV0uY29uY2F0KHQpfXF1b3RlX3JlbW92ZV9zeW1ib2xzKGUsdCl7cmV0dXJuW2VdLmNvbmNhdCh0KX1xdW90ZV9mYXN0X3N5bWJvbHMoZSx0KXtyZXR1cm5bZV0uY29uY2F0KHQpfXF1b3RlX2hpYmVybmF0ZV9hbGwoZSl7cmV0dXJuW2VdfWRlcHRoX2NyZWF0ZV9zZXNzaW9uKGUsdCxfKXtyZXR1cm5bZSx0LF9dfWRlcHRoX2RlbGV0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1kZXB0aF9zZXRfc3ltYm9sKGUsdCl7cmV0dXJuW2UsdF19ZGVwdGhfY2xlYXJfc3ltYm9sKGUpe3JldHVybltlXX1kZXB0aF9zZXRfc2NhbGUoZSx0KXtyZXR1cm5bZSx0XX1jaGFydF9jcmVhdGVfc2Vzc2lvbihlLHQpe3JldHVybltlLHQ/ImRpc2FibGVfc3RhdGlzdGljcyI6IiJdfWNoYXJ0X2RlbGV0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1zZXRfYXV0aF90b2tlbihlKXtyZXR1cm5bZV19c2V0X2xvY2FsZShlLHQpe3JldHVybltlLHRdfXN3aXRjaF90aW1lem9uZShlLHQpe3JldHVybltlLHRdfXJlc29sdmVfc3ltYm9sKGUsdCxfKXtyZXR1cm5bZSx0LF9dfWNyZWF0ZV9zZXJpZXMoZSx0LF8scyxpLG4sYSl7cmV0dXJuW2UsdCxfPV98fCIiLHMsaSxuLGFdfXJlbW92ZV9zZXJpZXMoZSx0KXtyZXR1cm5bZSx0XX1tb2RpZnlfc2VyaWVzKGUsdCxfLHMsaSxuKXtyZXR1cm5bZSx0LF89X3x8IiIscyxpLG5dfQpyZXF1ZXN0X21vcmVfZGF0YShlLHQsXyl7cmV0dXJuW2UsdCxfXX1zZXRfZnV0dXJlX3RpY2ttYXJrc19tb2RlKGUsdCl7cmV0dXJuW2UsdF19cmVxdWVzdF9zdHVkaWVzX21ldGFkYXRhKGUpe3JldHVybltlXX1jcmVhdGVfc3R1ZHkoZSx0LF8scyxpLG4pe3JldHVybltlLHQsXz1ffHwiIixzLGldLmNvbmNhdChuKX1jcmVhdGVfY2hpbGRfc3R1ZHkoZSx0LF8scyxpLG4pe3JldHVybiB0aGlzLmNyZWF0ZV9zdHVkeShlLHQsXyxzLGksbil9cmVtb3ZlX3N0dWR5KGUsdCl7cmV0dXJuW2UsdF19bW9kaWZ5X3N0dWR5KGUsdCxfLHMpe3JldHVybltlLHQsXz1ffHwiIl0uY29uY2F0KHMpfW5vdGlmeV9zdHVkeShlLHQsXyxzKXtyZXR1cm5bZSx0LF89X3x8IiIsc119Y3JlYXRlX3BvaW50c2V0KGUsdCxfLHMsaSxuKXtyZXR1cm5bZSx0LF89X3x8IiIscyxpXS5jb25jYXQobil9bW9kaWZ5X3BvaW50c2V0KGUsdCxfLHMpe3JldHVybltlLHQsXz1ffHwiIl0uY29uY2F0KHMpfXJlbW92ZV9wb2ludHNldChlLHQpe3JldHVybltlLHRdfXJlcXVlc3RfbW9yZV90aWNrbWFya3MoZSx0LF8pe3JldHVybltlLHQsX119Z2V0X2ZpcnN0X2Jhcl90aW1lKGUsdCxfKXtyZXR1cm5bZSx0LF9dfXJlcGxheV9jcmVhdGVfc2Vzc2lvbihlKXtyZXR1cm5bZV19cmVwbGF5X2RlbGV0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1yZXBsYXlfcmVzZXQoZSx0LF8pe3JldHVybltlLHQsX119cmVwbGF5X3N0YXJ0KGUsdCxfKXtyZXR1cm5bZSx0LF9dfXJlcGxheV9zdG9wKGUsdCl7cmV0dXJuW2UsdF19cmVwbGF5X3N0ZXAoZSx0LF8pe3JldHVybltlLHQsX119cmVwbGF5X2FkZF9zZXJpZXMoZSx0LF8scyl7cmV0dXJuW2UsdCxfLHNdfXJlcGxheV9yZW1vdmVfc2VyaWVzKGUsdCxfLHMpe3JldHVybltlLHQsXyxzXX1yZXBsYXlfc2V0X3Jlc29sdXRpb24oZSx0LF8pe3JldHVybltlLHQsX119cmVwbGF5X2dldF9kZXB0aChlLHQsXyxzKXtyZXR1cm5bZSx0LF8sc119Y29udmVydFRpbWVzY2FsZVJlc3BvbnNlKGUpe2NvbnN0IHQ9ZS5tYXJrcy5tYXAoKGU9Pih7c3BhbjplWzBdLHRpbWU6ZVsxXSxpbmRleDplWzJdfSkpKSxfPXZvaWQgMD09PWUuaW5kZXhfZGlmZj9bXTplLmluZGV4X2RpZmYubWFwKChlPT4oe29sZDplWzBdLG5ldzplWzFdfSkpKTtyZXR1cm57Li4uZSxtYXJrczp0LGluZGV4X2RpZmY6XyxjbGVhcjowPT09ZS5jaGFuZ2VzLmxlbmd0aCYmMD09PV8ubGVuZ3RoJiYwPT09dC5sZW5ndGh9fWdldERhdGFVcGRhdGVPYmplY3RzKGUpe3JldHVybiBlLnBhcmFtc1swXX1nZXRUaW1lc2NhbGVPYmplY3RzKGUpe3JldHVybiBlLnBhcmFtc1swXX1nZXRUaW1lc2NhbGVDaGFuZ2VzZXQoZSl7cmV0dXJuIGUucGFyYW1zWzFdfXByZXBhcmVEYXRhVXBkYXRlT2JqZWN0cyhlLHQsXyl7Zm9yKGNvbnN0W2ksbl1vZiBPYmplY3QuZW50cmllcyh0KSl7Y29uc3QgdD0icGxvdHMiaW4gbj9uLnBsb3RzOm4uc2VyaWVzLGE9e2N1c3RvbUlkOmksdHVybmFyb3VuZDpuLnR1cm5hcm91bmQscGxvdHM6dH07Im5zImluIG4mJm4ubnMmJihhLm5vbnNlcmllcz1uLm5zKSwibGJzImluIG4mJm4ubGJzJiYoYS5sYXN0QmFyPXtjbG9zZVRpbWU6bi5sYnMuYmFyX2Nsb3NlX3RpbWV9KTtmb3IoY29uc3QgZSBvZiBhLnBsb3RzKWZvcihjb25zdFt0LF9db2YgT2JqZWN0LmVudHJpZXMoZS52YWx1ZSkpXyYmTWF0aC5hYnMoXyk+PTFlMTAwJiYoZS52YWx1ZVsrdF09dm9pZCAwKTtfKGUsaSx7bWV0aG9kOnMuV2ViY2hhcnRDaGFydFNlc3Npb25SZXNwb25zZU1ldGhvZC5EYXRhVXBkYXRlLHBhcmFtczphfSl9fXVucGFjayhlKXtjb25zdCB0PUpTT04ucGFyc2UoZSk7dC5tJiZ0LnAmJih0Lm1ldGhvZD10Lm0sdC5wYXJhbXM9dC5wLHQudGltZT10LnQpO2NvbnN0IF89dC5wYXJhbXNbMV07c3dpdGNoKHQubWV0aG9kKXtjYXNlInFzZCI6dC5tZXRob2Q9InF1b3RlX3N5bWJvbF9kYXRhIixfLnN5bWJvbG5hbWU9Xy5uLF8uc3RhdHVzPV8ucyxfLnZhbHVlcz1fLnYsXy52YWx1ZXMuY2hhbmdlPV8udi5jaCxfLnZhbHVlcy5sYXN0X3ByaWNlPV8udi5scCxfLnZhbHVlcy5jaGFuZ2VfcGVyY2VudD1fLnYuY2hwLGRlbGV0ZSBfLm4sZGVsZXRlIF8ucyxkZWxldGUgXy52LGRlbGV0ZSBfLnZhbHVlcy5jaCxkZWxldGUgXy52YWx1ZXMubHAsZGVsZXRlIF8udmFsdWVzLmNocDticmVhaztjYXNlImR1Ijp0Lm1ldGhvZD0iZGF0YV91cGRhdGUiLG4oXyk7YnJlYWs7Y2FzZSJjbGVhcl9kYXRhIjpmb3IoY29uc3QgZSBvZiBPYmplY3Qua2V5cyhfKSlfW2VdLnR1cm5hcm91bmQ9X1tlXS50O2JyZWFrO2Nhc2UidGltZXNjYWxlX3VwZGF0ZSI6bihfKX1yZXR1cm4gdH1wcmVwYXJlRW5jb2RlTWVzc2FnZShlLHQpe3JldHVybiBKU09OLnN0cmluZ2lmeSh7bTplLHA6dH0pfXJlcXVlc3RfZGF0YV9wcm9ibGVtcygpe3JldHVybltdfX19LDQ2MzQ0NyhlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHtIYW5kbGVySW5mbzooKT0+c30pO2NsYXNzIHN7Y29uc3RydWN0b3IoZSx0LF8pe3RoaXMuaGFuZGxlcj1lLHRoaXMuY3VzdG9tSWQ9dCx0aGlzLnNpbmdsZVNob3Q9X319fSw3ODMzNDAoZSx0LF8peyJ1c2Ugc3RyaWN0Ijt2YXIgcyxpLG47Xy5kKHQse1dlYmNoYXJ0Q2hhcnRTZXNzaW9uUmVzcG9uc2VNZXRob2Q6KCk9PmksV2ViY2hhcnRSZXBsYXlTZXNzaW9uUmVzcG9uc2VNZXRob2Q6KCk9Pm4sV2ViY2hhcnRSZXNwb25zZU1ldGhvZDooKT0+c30pLGZ1bmN0aW9uKGUpe2UuUmVxdWVzdERhdGFQcm9ibGVtcz0icmVxdWVzdF9kYXRhX3Byb2JsZW1zIixlLlByb3RvY29sRXJyb3I9InByb3RvY29sX2Vycm9yIixlLlByb3RvY29sU3dpdGNoZWQ9InByb3RvY29sX3N3aXRjaGVkIixlLkNyaXRpY2FsRXJyb3I9ImNyaXRpY2FsX2Vycm9yIn0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlLlN0dWRpZXNNZXRhZGF0YT0ic3R1ZGllc19tZXRhZGF0YSIsZS5UaW1lU2NhbGVVcGRhdGU9InRpbWVzY2FsZV91cGRhdGUiLGUuVGlja01hcmtVcGRhdGU9InRpY2ttYXJrX3VwZGF0ZSIsZS5EVT0iZHUiLGUuRGF0YVVwZGF0ZT0iZGF0YV91cGRhdGUiLAplLkluZGV4VXBkYXRlPSJpbmRleF91cGRhdGUiLGUuVGltZVNjYWxlQ29tcGxldGVkPSJ0aW1lc2NhbGVfY29tcGxldGVkIixlLlFTRD0icXNkIixlLlF1b3RlTGlzdEZpZWxkPSJxdW90ZV9saXN0X2ZpZWxkcyIsZS5RdW90ZVN5bWJvbERhdGE9InF1b3RlX3N5bWJvbF9kYXRhIixlLlF1b3RlQ29tcGxldGVkPSJxdW90ZV9jb21wbGV0ZWQiLGUuRGVwdGhTeW1ib2xFcnJvcj0iZGVwdGhfc3ltYm9sX2Vycm9yIixlLkRlcHRoU3ltYm9sU3VjY2Vzcz0iZGVwdGhfc3ltYm9sX3N1Y2Nlc3MiLGUuRGVwdGhEYXRhPSJkZCIsZS5EZXB0aERhdGFVcGRhdGU9ImRwdSIsZS5EZXB0aEJhckxhc3RWYWx1ZT0iZGVwdGhfYmFyX2xhc3RfdmFsdWUiLGUuQ2xlYXJEYXRhPSJjbGVhcl9kYXRhIixlLlNlcmllc1RpbWVGcmFtZT0ic2VyaWVzX3RpbWVmcmFtZSIsZS5TeW1ib2xSZXNvbHZlZD0ic3ltYm9sX3Jlc29sdmVkIixlLlNlcmllc0Vycm9yPSJzZXJpZXNfZXJyb3IiLGUuU2VyaWVzQ29tcGxldGVkPSJzZXJpZXNfY29tcGxldGVkIixlLlN0dWR5TG9hZGluZz0ic3R1ZHlfbG9hZGluZyJ9KGl8fChpPXt9KSksZnVuY3Rpb24oZSl7ZS5SZXBsYXlFcnJvcj0icmVwbGF5X2Vycm9yIixlLlJlcGxheVBvaW50PSJyZXBsYXlfcG9pbnQiLGUuUmVwbGF5T2s9InJlcGxheV9vayIsZS5SZXBsYXlSZXNvbHV0aW9ucz0icmVwbGF5X3Jlc29sdXRpb25zIixlLlJlcGxheURhdGFFbmQ9InJlcGxheV9kYXRhX2VuZCIsZS5SZXBsYXlJbnN0YW5jZUlkPSJyZXBsYXlfaW5zdGFuY2VfaWQiLGUuUmVwbGF5RGVwdGg9InJlcGxheV9kZXB0aCJ9KG58fChuPXt9KSl9LDUyMTMzMyhlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHtnZXREZWZhdWx0UmVzb2x1dGlvbnM6KCk9Pm59KTt2YXIgcz1fKDkzMDIzMSksaT1fKDYxOTk5Mik7ZnVuY3Rpb24gbigpe2NvbnN0IGU9WyIxIiwiMyIsIjUiLCIxNSIsIjMwIiwiNDUiLCI2MCIsIjEyMCIsIjE4MCIsIjI0MCIsIjFEIiwiMVciLCIxTSIsIjNNIiwiNk0iLCIxMk0iLCIxUiIsIjEwUiIsIjEwMFIiLCIxMDAwUiJdO2lmKCEoMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSl7bGV0IHQ9WyIxUyIsIjVTIiwiMTBTIiwiMTVTIiwiMzBTIiwiNDVzIl07cmV0dXJuKDAsaS5pc1RpY2tzRW5hYmxlZCkoKSYmKHQ9WyIxVCIsIjEwVCIsIjEwMFQiLCIxMDAwVCJdLmNvbmNhdCh0KSksdC5jb25jYXQoZSl9cmV0dXJuIGV9fSwyMTc1MjcoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7dHlwZXM6KCk9PnN9KTtjb25zdCBzPXtFQ09OT01JQzoiZWNvbm9taWMiLFFVQU5ETDoicXVhbmRsIn19LDEyNzcxMShlKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPUpTT04ucGFyc2UoJ3siY21lIjp7IklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjk5OTk5fX0sImJvdmVzcGEiOnsiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6OTk5OTl9fSwicWVjb21xYSI6eyJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0Ijo5OTk5OX19LCJzYW50YW5kZXJjb21hciI6eyJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0Ijo5OTk5OX19fScpfSw1MDI1ODcoZSl7InVzZSBzdHJpY3QiCjtlLmV4cG9ydHM9SlNPTi5wYXJzZSgneyJmcmVlIjp7IkNIQVRfQVNTSVNUQU5UIjp7ImxpbWl0Ijo1LCJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiQ0hBUlRfU1RPUkFHRSI6eyJsaW1pdCI6MX0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6MX0sIklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjJ9LCJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiOnsibGltaXQiOjF9LCJISVNUT1JJQ0FMX0JBUlMiOnsibGltaXQiOjV9LCJTVFVEWV9PTl9TVFVEWSI6eyJsaW1pdCI6ODAwLCJjaGlsZF9saW1pdCI6MX0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0Ijo1MCwibGltaXQiOjMsImNvbXBsZXhfbGltaXQiOjAsInByaW1pdGl2ZV9saW1pdCI6M30sIlNDUkVFTkVSX0lOVEVSVkFMUyI6eyJpbnRlcnZhbCI6WyIxRCIsIjFXIiwiMU0iXX0sIlNUVURZX1RFTVBMQVRFUyI6eyJsaW1pdCI6MX0sIlNJTVVMVEFORU9VU19DT05ORUNUSU9OUyI6eyJsaW1pdCI6MX0sIkJBQ0tFTkRfQ09OTkVDVElPTlMiOnsibGltaXQiOjJ9LCJJREVBX1NPQ0lBTF9MSU5LUyI6eyJzb2NpYWxzIjpbIlR3aXR0ZXIiLCJZb3V0dWJlIl19LCJNVUxUSUNPTE9SX0ZMQUdHRURfU1lNQk9MUyI6eyJsaW1pdCI6MX0sIldBVENITElTVF9TWU1CT0xTIjp7ImxpbWl0IjozMH0sIlZJREVPX0lERUFTX0xFTkdUSCI6eyJsaW1pdCI6MjB9LCJDUkVBVEVfTU9SRV9QT1JURk9MSU9TIjp7ImxpbWl0IjoxfSwiUE9SVEZPTElPX1RSQU5TQUNUSU9OUyI6eyJsaW1pdCI6MjAwMH0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6MjB9fSwicHJvIjp7IkRSQVdJTkdTIjp7fSwiQkFDS1RFU1RJTkdfQ0hBUlRfRVhQQU5EIjp7fSwiQkFDS1RFU1RJTkdfRVhURU5ERURfTUVUUklDUyI6e30sIkJBQ0tURVNUSU5HX0VYUE9SVF9YTFNYIjp7fSwiQkFDS1RFU1RJTkdfRVhQT1JUX0NTViI6e30sIkNIQVRfQVNTSVNUQU5UIjp7ImxpbWl0Ijo1LCJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiUEVSU09OQUxfU1VQUE9SVCI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiQ0hBUlRfU1RPUkFHRSI6eyJsaW1pdCI6NX0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6Mn0sIk1BUktFVF9EQVRBX0xJTUlUUyI6eyJsaW1pdCI6MiwicHJpbWl0aXZlX2xpbWl0IjoyfSwiQ1VTVE9NX0lOVEVSVkFMUyI6e30sIk1VTFRJUExFX1dBVENITElTVFMiOnt9LCJJTVBPUlRfV0FUQ0hMSVNUUyI6e30sIkVYUE9SVF9XQVRDSExJU1RTIjp7fSwiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6NX0sIkZVTkRBTUVOVEFMU19GT1JFQ0FTVCI6e30sIkZVTkRBTUVOVEFMU19PTl9DSEFSVCI6eyJsaW1pdCI6NH0sIlRWX1BST1NUVURJRVMiOnsic3R1ZHlfcGFja2FnZXMiOlsidHYtY2hhcnRwYXR0ZXJucyJdfSwiSElTVE9SSUNBTF9CQVJTIjp7ImxpbWl0IjoxMH0sIlRWX1ZPTFVNRUJZUFJJQ0UiOnsic3R1ZHlfcGFja2FnZXMiOlsidHYtdm9sdW1lYnlwcmljZSJdfSwiU1RVRFlfT05fU1RVRFkiOnsibGltaXQiOjgwMCwiY2hpbGRfbGltaXQiOjF9LCJUSUNLX0JZX1RJQ0tfUFVTSF9EQVRBIjp7fSwiU0VSVkVSX1NJREVfQUxFUlRTIjp7Im92ZXJhbGxfbGltaXQiOjIwMDAsImxpbWl0IjoyMCwiY29tcGxleF9saW1pdCI6MjAsInByaW1pdGl2ZV9saW1pdCI6MjB9LCJTQ1JFRU5FUl9BVVRPX1JFRlJFU0giOnt9LCJTQ1JFRU5FUl9ORVdfQVVUT19SRUZSRVNIIjp7fSwiU0NSRUVORVJfTkVXX0VYUE9SVF9DU1ZfREFUQSI6e30sIlNDUkVFTkVSX05FV19TSE9XX1JFU1RSSUNURURfREFUQSI6e30sIlNIT1dfQk9ORFNfUkVTVFJJQ1RFRF9EQVRBIjp7fSwiUE9SVEZPTElPX0RBVEFfTElNSVQiOnt9LCJDUkVBVEVfTU9SRV9QT1JURk9MSU9TIjp7ImxpbWl0IjozfSwiUE9SVEZPTElPX1RSQU5TQUNUSU9OUyI6eyJsaW1pdCI6NTAwMH0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6NTB9LCJTQ1JFRU5FUl9JTlRFUlZBTFMiOnsiaW50ZXJ2YWwiOlsiMW0iLCI1bSIsIjE1bSIsIjMwbSIsIjFoIiwiMmgiLCI0aCIsIjFEIiwiMVciLCIxTSJdfSwiTk9fU1BPTlNPUkVEX0FEUyI6eyJkaXNhYmxlX29uX2xpdGVfcGxhbiI6ImV4Y2x1ZGVfbW9iaWxlIn0sIlNUVURZX1RFTVBMQVRFUyI6eyJsaW1pdCI6OTk5OTl9LCJTSU1VTFRBTkVPVVNfQ09OTkVDVElPTlMiOnsibGltaXQiOjF9LCJCQUNLRU5EX0NPTk5FQ1RJT05TIjp7ImxpbWl0IjoxMH0sIklEQ19BVkFJTEFCTEVfREVMQVkiOnt9LCJTVEFUVVMiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkJBUl9SRVBMQVlfSU5UUkFEQVkiOnsibGltaXQiOjF9LCJNVUxUSUZMQUdHRURfU1lNQk9MU19MSVNUUyI6e30sIlNIT1dTIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJBTEVSVFNfV0VCSE9PSyI6e30sIkFMRVJUU19PTl9FQVJOSU5HUyI6e30sIkFMRVJUU19PTl9GVU5EQU1FTlRBTF9NRVRSSUNTIjp7fSwiREVFUF9GVU5EQU1FTlRBTFNfSElTVE9SWSI6e30sIlBVQkxJU0hfUFJPVEVDVEVEX1NDUklQVFMiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIklERUFfU09DSUFMX0xJTktTIjp7InNvY2lhbHMiOlsiVHdpdHRlciIsIllvdXR1YmUiXX0sIkVYVEVOREVEX1NPQ0lBTF9MSU5LUyI6eyJzb2NpYWxzIjpbIkZhY2Vib29rIiwiSW5zdGFncmFtIl0sImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJNVUxUSV9NT05JVE9SIjp7fSwiTVVMVElDT0xPUl9GTEFHR0VEX1NZTUJPTFMiOnsibGltaXQiOjd9LCJJTlRSQURBWV9FWENIQU5HRSI6e30sIlZPTFVNRV9QUk9GSUxFIjp7fSwiU1RSRUFNU19BQ0NFU1MiOnsiZm9sbG93ZXJzIjoxMH0sIlNNU18yRkFfVkVSSUZJQ0FUSU9OIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJTT0NJQUxfQUNUSVZJVFkiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIldBVENITElTVF9TWU1CT0xTIjp7ImxpbWl0IjoxMDAwfSwiRklFTERTX1BFUk1JU1NJT05TIjp7Iml0ZW1zIjpbInJlZmJvbmRzIl19LCJDVVNUT01fUkFOR0VfQkFSUyI6e30sIkZBU1RFU1RfREFUQV9GTE9XIjp7fSwiU0VTU0lPTl9WT0xVTUVfUFJPRklMRSI6e30sIlNIT1dfRVRGX0hPTERJTkdTX0RBVEEiOnt9fSwicHJvX3JlYWx0aW1lIjp7ImV4dGVuZHMiOiJwcm8iLCJDSEFSVF9TVE9SQUdFIjp7ImxpbWl0IjoxMH0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6NH0sIk1BUktFVF9EQVRBX0xJTUlUUyI6eyJsaW1pdCI6NCwicHJpbWl0aXZlX2xpbWl0Ijo0fSwiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6MTB9LCJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiOnsibGltaXQiOjd9LCJUVl9QUk9TVFVESUVTIjp7InN0dWR5X3BhY2thZ2VzIjpbInR2LXByb3N0dWRpZXMiLCJ0di1jaGFydHBhdHRlcm5zIl19LCJTVFVEWV9PTl9TVFVEWSI6eyJsaW1pdCI6ODAwLCJjaGlsZF9saW1pdCI6OX0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0IjoyMDAwLCJsaW1pdCI6MTAwLCJjb21wbGV4X2xpbWl0IjoxMDAsInByaW1pdGl2ZV9saW1pdCI6MTAwfSwiQUxFUlRTX01VTFRJQ09ORElUSU9OUyI6eyJjb25kaXRpb25fbGltaXQiOjV9LCJDSEFUX0FTU0lTVEFOVCI6eyJsaW1pdCI6NSwiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkNBTl9FRElUX1BVQkxJQ19DSEFUUyI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiQkFDS0VORF9DT05ORUNUSU9OUyI6eyJsaW1pdCI6MjB9LCJFWFBPUlRfQ0hBUlRfREFUQSI6e30sIkNVU1RPTV9GT1JNVUxBUyI6e30sIklOVFJBREFZX0VYT1RJQ19DSEFSVFMiOnt9LCJLQUdJX1JFTktPIjp7fSwiSU5UUkFEQVlfU1BSRUFEIjp7fSwiQ1VTVE9NX0NIQVRTIjp7fSwiQ1JFQVRFX01PUkVfUE9SVEZPTElPUyI6eyJsaW1pdCI6NH0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6NzV9fSwicHJvX3ByZW1pdW0iOnsiZXh0ZW5kcyI6InByb19yZWFsdGltZSIsIkJBUl9ERVRBTElaQVRJT04iOnt9LCJTQ1JJUFRfRVhFQ1VUSU9OX09OX0hJU1RPUllfQkFSUyI6e30sIkNIQVJUX1NUT1JBR0UiOnsibGltaXQiOjk5OTk5fSwiTVVMVElQTEVfQ0hBUlRTIjp7ImxpbWl0Ijo4fSwiTUFSS0VUX0RBVEFfTElNSVRTIjp7ImxpbWl0Ijo2LCJwcmltaXRpdmVfbGltaXQiOjZ9LCJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0IjoyNX0sIkZVTkRBTUVOVEFMU19PTl9DSEFSVCI6eyJsaW1pdCI6MTB9LCJGVU5EQU1FTlRBTF9HUkFQSFNfTEFSR0VfVElNRV9SQU5HRSI6e30sIkNIQVRfQVNTSVNUQU5UIjp7ImxpbWl0Ijo5OTk5OSwiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkNIQVJUX1BBVFRFUk5TIjp7InN0dWR5X3BhY2thZ2VzIjpbInR2LWNoYXJ0cGF0dGVybnMiLCJ0di1jaGFydF9wYXR0ZXJucyJdfSwiSElTVE9SSUNBTF9CQVJTIjp7ImxpbWl0IjoyMH0sIlNUVURZX09OX1NUVURZIjp7ImxpbWl0Ijo4MDAsImNoaWxkX2xpbWl0IjoyNH0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0IjoyMDAwLCJsaW1pdCI6NDAwLCJjb21wbGV4X2xpbWl0Ijo0MDAsInByaW1pdGl2ZV9saW1pdCI6NDAwLCJ3YXRjaGxpc3RfbGltaXQiOjIsIm92ZXJhbGxfd2F0Y2hsaXN0X2xpbWl0Ijo1fSwiU0lNVUxUQU5FT1VTX0NPTk5FQ1RJT05TIjp7ImxpbWl0IjoyfSwiQkFDS0VORF9DT05ORUNUSU9OUyI6eyJsaW1pdCI6NTB9LCJJREVBX1NJR05BVFVSRSI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiUFJPRklMRV9XRUJTSVRFX0ZJRUxEIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJCQVJfUkVQTEFZX0lOVFJBREFZIjp7ImxpbWl0Ijo0fSwiQkFSX1JFUExBWV8xUyI6e30sIkFMRVJUU19OT19FWFBJUkFUSU9OIjp7fSwiUFVCTElTSF9JTlZJVEVfT05MWV9TQ1JJUFRTIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJFWFBPUlRfQ0hBUlRfREFUQSI6e30sIkRFRVBfSElTVE9SWV9CQUNLVEVTVCI6e30sIkFMRVJUU19PTl9TRUNPTkRTIjp7fSwiUEVSTUFORU5UX1NUUkVBTV9SRUNPUkRTIjp7fSwiRVhURU5ERURfU09DSUFMX0xJTktTIjp7InNvY2lhbHMiOlsiRmFjZWJvb2siLCJJbnN0YWdyYW0iLCJXZWJzaXRlIl0sImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJTRUNPTkRTX0lOVEVSVkFMUyI6e30sIlRQT19QRVJJT0RJQyI6eyJzdHVkeV9wYWNrYWdlcyI6WyJ0di12b2x1bWVieXByaWNlIl19LCJUUE9fQ0hBUlRfU1RZTEUiOnt9LCJWT0xVTUVfQ0FORExFUyI6e30sIlZJREVPX0lERUFTX0xFTkdUSCI6eyJsaW1pdCI6NjB9LCJWT0xVTUVfRk9PVFBSSU5UIjp7fSwiUElORV9TQ1JFRU5FUiI6e30sIkNSRUFURV9NT1JFX1BPUlRGT0xJT1MiOnsibGltaXQiOjV9LCJQT1JURk9MSU9fSE9MRElOR1MiOnsibGltaXQiOjEwMH0sIlNPQ0lBTF9UUlVTVEVEX1VTRVIiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkZPTExPV0VSU19PTkxZX01JTkRTIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9fSwicHJvX2V4cGVydCI6eyJleHRlbmRzIjoicHJvX3ByZW1pdW0iLCJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0IjozMH0sIkZVTkRBTUVOVEFMU19PTl9DSEFSVCI6eyJsaW1pdCI6MTV9LCJTVFVEWV9PTl9TVFVEWSI6eyJsaW1pdCI6ODAwLCJjaGlsZF9saW1pdCI6Mjl9LCJNVUxUSVBMRV9DSEFSVFMiOnsibGltaXQiOjEwfSwiTUFSS0VUX0RBVEFfTElNSVRTIjp7ImxpbWl0IjoxMiwicHJpbWl0aXZlX2xpbWl0IjoxMn0sIkhJU1RPUklDQUxfQkFSUyI6eyJsaW1pdCI6MjV9LCJTRVJWRVJfU0lERV9BTEVSVFMiOnsib3ZlcmFsbF9saW1pdCI6MjAwMCwibGltaXQiOjYwMCwiY29tcGxleF9saW1pdCI6NjAwLCJwcmltaXRpdmVfbGltaXQiOjYwMCwid2F0Y2hsaXN0X2xpbWl0IjoxMCwib3ZlcmFsbF93YXRjaGxpc3RfbGltaXQiOjIwfSwiQkFDS0VORF9DT05ORUNUSU9OUyI6eyJsaW1pdCI6ODB9LCJCQVJfUkVQTEFZX0lOVFJBREFZIjp7ImxpbWl0Ijo2fSwiQkFSX1JFUExBWV8xUyI6e30sIkJBUl9SRVBMQVlfMVQiOnt9LCJFWFBPUlRfRklOQU5DSUFMU19EQVRBIjp7fSwiVElDS19JTlRFUlZBTFMiOnt9LCJGSVJTVF9QUklPUklUWV9TVVBQT1JUIjp7fSwiQlVZX1BST19EQVRBIjp7fSwiQ1JFQVRFX01PUkVfUE9SVEZPTElPUyI6eyJsaW1pdCI6Nn0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6MTI1fX0sInByb19wcmVtaXVtX2V4cGVydCI6eyJleHRlbmRzIjoicHJvX2V4cGVydCIsIklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjUwfSwiRlVOREFNRU5UQUxTX09OX0NIQVJUIjp7ImxpbWl0IjoyNX0sIlNUVURZX09OX1NUVURZIjp7ImxpbWl0Ijo4MDAsImNoaWxkX2xpbWl0Ijo0OX0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6MTZ9LCJNQVJLRVRfREFUQV9MSU1JVFMiOnsibGltaXQiOjk5OTk5LCJwcmltaXRpdmVfbGltaXQiOjI1fSwiSElTVE9SSUNBTF9CQVJTIjp7ImxpbWl0Ijo0MH0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0Ijo0MDAwLCJsaW1pdCI6MTAwMCwiY29tcGxleF9saW1pdCI6MTAwMCwicHJpbWl0aXZlX2xpbWl0IjoxMDAwLCJ3YXRjaGxpc3RfbGltaXQiOjE1LCJvdmVyYWxsX3dhdGNobGlzdF9saW1pdCI6MzB9LCJCQUNLRU5EX0NPTk5FQ1RJT05TIjp7ImxpbWl0IjoyMDB9LCJCQVJfUkVQTEFZX0lOVFJBREFZIjp7ImxpbWl0IjoxMH0sIkNSRUFURV9NT1JFX1BPUlRGT0xJT1MiOnsibGltaXQiOjd9LCJQT1JURk9MSU9fSE9MRElOR1MiOnsibGltaXQiOjE1MH19fScpCn19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"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":"104.21.63.32","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.687Z","timestamp":1785120633687,"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://247optiontradefx.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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 200 \r\nx-amz-id-2: Vy7WmbYGSJSl6RneukLJDccSsZH0AIhaKzVq51i/PZoFOhlHdjedn/aX84DhAoT6RRDGahwyhNxSnFl2I9ddD1staQtBZ3Uy\r\nx-amz-request-id: RBRRVP0PXD2ZDC8P\r\ndate: Mon, 27 Jul 2026 02:50:33 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=T9YdcyoHGBTY6g%2FhSOOWcnHI3GGrOR9hVZJ%2BTFUep8V5Rg%2FnuwDKDkQ0LSFUlVEXUyghjmd88sOswDHewYR13kgwlBWHZykFrdY4nmLOYkXwPZZOGK%2Fq9DyGjJ9PGSjgOpCKQaCyPvta22r%2F\"}]}\r\npriority: u=4,i\r\nage: 2826\r\ncf-ray: a21856589ac48be6-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":"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":5120,"size_decoded":6150,"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-27T05:27:09.003816Z","times_seen":287,"resource_available":false,"data":"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"}},"time_used":23,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":9,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/71424.eaefaf568dc8f1d16228.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.883Z","timestamp":1785120633883,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/71424.eaefaf568dc8f1d16228.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-2389\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 8f191b3a3cea4bb0765620b44b019a97\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":9097,"size_decoded":3504,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3069)","md5":"d28b49d04557c0480cdbf81791cd43e4","sha1":"5e3a933096e33a38573e6f19d421af3adced7eb3","sha256":"21caef4db64aefa7c30365f0531a6b960cb10fa95ec42c10a6fa7de721bddee9","sha512":"087a004245d3199dec5b9b58bec642b846508dc967ba639a6b7eaa4289fe4a7bcca4cccaff9c3453cdc12b02032d564596001b3d891d12aaf21df4603b27a819","ssdeep":"96:BkL7dHrG9n2UbPK2Fv7927Erv8mYNWNPoHJuocGImcU8aG3y/J4Pphe8JxEpUOPs:BM7kNIAeyTmcu8VC8nIeCwIiT0BEF","tlshash":"16124324fb93b2b351cb619a583f080bf33a14d9132510a8735189dd1dfc99ab6afb74","first_seen":"2026-07-23T13:38:20.56175Z","last_seen":"2026-07-27T05:27:33.155812Z","times_seen":149,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s3MTQyNF0sezkxNDQ4NyhlLHQpe3ZhciBpOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj17fS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBzKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgaT1hcmd1bWVudHNbdF07aWYoaSl7dmFyIGE9dHlwZW9mIGk7aWYoInN0cmluZyI9PT1hfHwibnVtYmVyIj09PWEpZS5wdXNoKGkpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShpKSYmaS5sZW5ndGgpe3ZhciByPXMuYXBwbHkobnVsbCxpKTtyJiZlLnB1c2gocil9ZWxzZSBpZigib2JqZWN0Ij09PWEpZm9yKHZhciBvIGluIGkpbi5jYWxsKGksbykmJmlbb10mJmUucHVzaChvKX19cmV0dXJuIGUuam9pbigiICIpfWUuZXhwb3J0cz8ocy5kZWZhdWx0PXMsZS5leHBvcnRzPXMpOnZvaWQgMD09PShpPWZ1bmN0aW9uKCl7cmV0dXJuIHN9LmFwcGx5KHQsW10pKXx8KGUuZXhwb3J0cz1pKX0oKX0sMzIwNDAzKGUsdCl7InVzZSBzdHJpY3QiO3ZhciBpLG49ISgidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvd3x8IXdpbmRvdy5kb2N1bWVudHx8IXdpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KTtmdW5jdGlvbiBzKCl7aWYoaSlyZXR1cm4gaTtpZighbnx8IXdpbmRvdy5kb2N1bWVudC5ib2R5KXJldHVybiJpbmRldGVybWluYXRlIjt2YXIgZT13aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIkFCQ0QiKSksZS5kaXI9InJ0bCIsZS5zdHlsZS5mb250U2l6ZT0iMTRweCIsZS5zdHlsZS53aWR0aD0iNHB4IixlLnN0eWxlLmhlaWdodD0iMXB4IixlLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsZS5zdHlsZS50b3A9Ii0xMDAwcHgiLGUuc3R5bGUub3ZlcmZsb3c9InNjcm9sbCIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlKSxpPSJyZXZlcnNlIixlLnNjcm9sbExlZnQ+MD9pPSJkZWZhdWx0IjooZS5zY3JvbGxMZWZ0PTEsMD09PWUuc2Nyb2xsTGVmdCYmKGk9Im5lZ2F0aXZlIikpLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZSksaX19LDkxODc3OShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtiaW5kQ2FudmFzRWxlbWVudEJpdG1hcFNpemVUbzooKT0+cixlcXVhbFNpemVzOigpPT5uLmVxdWFsU2l6ZXMsc2l6ZTooKT0+bi5zaXplLHRyeUNyZWF0ZUNhbnZhc1JlbmRlcmluZ1RhcmdldDJEOigpPT5ofSk7dmFyIG49aSg3NDI3OSkscz1pKDc0MzQ1MSksYT1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSx0LGkpe3ZhciBzO3RoaXMuX2NhbnZhc0VsZW1lbnQ9bnVsbCx0aGlzLl9iaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycz1bXSx0aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplPW51bGwsdGhpcy5fc3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnM9W10sdGhpcy5fZGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGU9bnVsbCx0aGlzLl9jYW52YXNFbGVtZW50UmVzaXplT2JzZXJ2ZXI9bnVsbCx0aGlzLl9jYW52YXNFbGVtZW50PWUsdGhpcy5fY2FudmFzRWxlbWVudENsaWVudFNpemU9KDAsbi5zaXplKSh7d2lkdGg6dGhpcy5fY2FudmFzRWxlbWVudC5jbGllbnRXaWR0aCxoZWlnaHQ6dGhpcy5fY2FudmFzRWxlbWVudC5jbGllbnRIZWlnaHR9KSx0aGlzLl90cmFuc2Zvcm1CaXRtYXBTaXplPW51bGwhPXQ/dDpmdW5jdGlvbihlKXtyZXR1cm4gZX0sdGhpcy5fYWxsb3dSZXNpemVPYnNlcnZlcj1udWxsPT09KHM9bnVsbD09aT92b2lkIDA6aS5hbGxvd1Jlc2l6ZU9ic2VydmVyKXx8dm9pZCAwPT09c3x8cyx0aGlzLl9jaG9vc2VBbmRJbml0T2JzZXJ2ZXIoKX1yZXR1cm4gZS5wcm90b3R5cGUuZGlzcG9zZT1mdW5jdGlvbigpe3ZhciBlLHQ7aWYobnVsbD09PXRoaXMuX2NhbnZhc0VsZW1lbnQpdGhyb3cgbmV3IEVycm9yKCJPYmplY3QgaXMgZGlzcG9zZWQiKTtudWxsPT09KGU9dGhpcy5fY2FudmFzRWxlbWVudFJlc2l6ZU9ic2VydmVyKXx8dm9pZCAwPT09ZXx8ZS5kaXNjb25uZWN0KCksdGhpcy5fY2FudmFzRWxlbWVudFJlc2l6ZU9ic2VydmVyPW51bGwsbnVsbD09PSh0PXRoaXMuX2RldmljZVBpeGVsUmF0aW9PYnNlcnZhYmxlKXx8dm9pZCAwPT09dHx8dC5kaXNwb3NlKCksdGhpcy5fZGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGU9bnVsbCx0aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycy5sZW5ndGg9MCx0aGlzLl9iaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycy5sZW5ndGg9MCx0aGlzLl9jYW52YXNFbGVtZW50PW51bGx9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwiY2FudmFzRWxlbWVudCIse2dldDpmdW5jdGlvbigpe2lmKG51bGw9PT10aGlzLl9jYW52YXNFbGVtZW50KXRocm93IG5ldyBFcnJvcigiT2JqZWN0IGlzIGRpc3Bvc2VkIik7cmV0dXJuIHRoaXMuX2NhbnZhc0VsZW1lbnR9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJjYW52YXNFbGVtZW50Q2xpZW50U2l6ZSIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9jYW52YXNFbGVtZW50Q2xpZW50U2l6ZX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsImJpdG1hcFNpemUiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4oMCxuLnNpemUpKHt3aWR0aDp0aGlzLmNhbnZhc0VsZW1lbnQud2lkdGgsaGVpZ2h0OnRoaXMuY2FudmFzRWxlbWVudC5oZWlnaHR9KX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxlLnByb3RvdHlwZS5yZXNpemVDYW52YXNFbGVtZW50PWZ1bmN0aW9uKGUpe3RoaXMuX2NhbnZhc0VsZW1lbnRDbGllbnRTaXplPSgwLG4uc2l6ZSkoZSksdGhpcy5jYW52YXNFbGVtZW50LnN0eWxlLndpZHRoPSIiLmNvbmNhdCh0aGlzLl9jYW52YXNFbGVtZW50Q2xpZW50U2l6ZS53aWR0aCwicHgiKSwKdGhpcy5jYW52YXNFbGVtZW50LnN0eWxlLmhlaWdodD0iIi5jb25jYXQodGhpcy5fY2FudmFzRWxlbWVudENsaWVudFNpemUuaGVpZ2h0LCJweCIpLHRoaXMuX2ludmFsaWRhdGVCaXRtYXBTaXplKCl9LGUucHJvdG90eXBlLnN1YnNjcmliZUJpdG1hcFNpemVDaGFuZ2VkPWZ1bmN0aW9uKGUpe3RoaXMuX2JpdG1hcFNpemVDaGFuZ2VkTGlzdGVuZXJzLnB1c2goZSl9LGUucHJvdG90eXBlLnVuc3Vic2NyaWJlQml0bWFwU2l6ZUNoYW5nZWQ9ZnVuY3Rpb24oZSl7dGhpcy5fYml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnM9dGhpcy5fYml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnMuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdCE9PWV9KSl9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwic3VnZ2VzdGVkQml0bWFwU2l6ZSIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLGUucHJvdG90eXBlLnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkPWZ1bmN0aW9uKGUpe3RoaXMuX3N1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkTGlzdGVuZXJzLnB1c2goZSl9LGUucHJvdG90eXBlLnVuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQ9ZnVuY3Rpb24oZSl7dGhpcy5fc3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnM9dGhpcy5fc3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnMuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdCE9PWV9KSl9LGUucHJvdG90eXBlLmFwcGx5U3VnZ2VzdGVkQml0bWFwU2l6ZT1mdW5jdGlvbigpe2lmKG51bGwhPT10aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplKXt2YXIgZT10aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplO3RoaXMuX3N1Z2dlc3RlZEJpdG1hcFNpemU9bnVsbCx0aGlzLl9yZXNpemVCaXRtYXAoZSksdGhpcy5fZW1pdFN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKGUsdGhpcy5fc3VnZ2VzdGVkQml0bWFwU2l6ZSl9fSxlLnByb3RvdHlwZS5fcmVzaXplQml0bWFwPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuYml0bWFwU2l6ZTsoMCxuLmVxdWFsU2l6ZXMpKHQsZSl8fCh0aGlzLmNhbnZhc0VsZW1lbnQud2lkdGg9ZS53aWR0aCx0aGlzLmNhbnZhc0VsZW1lbnQuaGVpZ2h0PWUuaGVpZ2h0LHRoaXMuX2VtaXRCaXRtYXBTaXplQ2hhbmdlZCh0LGUpKX0sZS5wcm90b3R5cGUuX2VtaXRCaXRtYXBTaXplQ2hhbmdlZD1mdW5jdGlvbihlLHQpe3ZhciBpPXRoaXM7dGhpcy5fYml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnMuZm9yRWFjaCgoZnVuY3Rpb24obil7cmV0dXJuIG4uY2FsbChpLGUsdCl9KSl9LGUucHJvdG90eXBlLl9zdWdnZXN0TmV3Qml0bWFwU2l6ZT1mdW5jdGlvbihlKXt2YXIgdD10aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplLGk9KDAsbi5zaXplKSh0aGlzLl90cmFuc2Zvcm1CaXRtYXBTaXplKGUsdGhpcy5fY2FudmFzRWxlbWVudENsaWVudFNpemUpKSxzPSgwLG4uZXF1YWxTaXplcykodGhpcy5iaXRtYXBTaXplLGkpP251bGw6aTtudWxsPT09dCYmbnVsbD09PXN8fG51bGwhPT10JiZudWxsIT09cyYmKDAsbi5lcXVhbFNpemVzKSh0LHMpfHwodGhpcy5fc3VnZ2VzdGVkQml0bWFwU2l6ZT1zLHRoaXMuX2VtaXRTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0LHMpKX0sZS5wcm90b3R5cGUuX2VtaXRTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZD1mdW5jdGlvbihlLHQpe3ZhciBpPXRoaXM7dGhpcy5fc3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnMuZm9yRWFjaCgoZnVuY3Rpb24obil7cmV0dXJuIG4uY2FsbChpLGUsdCl9KSl9LGUucHJvdG90eXBlLl9jaG9vc2VBbmRJbml0T2JzZXJ2ZXI9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3RoaXMuX2FsbG93UmVzaXplT2JzZXJ2ZXI/bmV3IFByb21pc2UoKGZ1bmN0aW9uKGUpe3ZhciB0PW5ldyBSZXNpemVPYnNlcnZlcigoZnVuY3Rpb24oaSl7ZShpLmV2ZXJ5KChmdW5jdGlvbihlKXtyZXR1cm4iZGV2aWNlUGl4ZWxDb250ZW50Qm94U2l6ZSJpbiBlfSkpKSx0LmRpc2Nvbm5lY3QoKX0pKTt0Lm9ic2VydmUoZG9jdW1lbnQuYm9keSx7Ym94OiJkZXZpY2UtcGl4ZWwtY29udGVudC1ib3gifSl9KSkuY2F0Y2goKGZ1bmN0aW9uKCl7cmV0dXJuITF9KSkudGhlbigoZnVuY3Rpb24odCl7cmV0dXJuIHQ/ZS5faW5pdFJlc2l6ZU9ic2VydmVyKCk6ZS5faW5pdERldmljZVBpeGVsUmF0aW9PYnNlcnZhYmxlKCl9KSk6dGhpcy5faW5pdERldmljZVBpeGVsUmF0aW9PYnNlcnZhYmxlKCl9LGUucHJvdG90eXBlLl9pbml0RGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO2lmKG51bGwhPT10aGlzLl9jYW52YXNFbGVtZW50KXt2YXIgdD1vKHRoaXMuX2NhbnZhc0VsZW1lbnQpO2lmKG51bGw9PT10KXRocm93IG5ldyBFcnJvcigiTm8gd2luZG93IGlzIGFzc29jaWF0ZWQgd2l0aCB0aGUgY2FudmFzIik7dGhpcy5fZGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGU9KDAscy5jcmVhdGVPYnNlcnZhYmxlKSh0KSx0aGlzLl9kZXZpY2VQaXhlbFJhdGlvT2JzZXJ2YWJsZS5zdWJzY3JpYmUoKGZ1bmN0aW9uKCl7cmV0dXJuIGUuX2ludmFsaWRhdGVCaXRtYXBTaXplKCl9KSksdGhpcy5faW52YWxpZGF0ZUJpdG1hcFNpemUoKX19LGUucHJvdG90eXBlLl9pbnZhbGlkYXRlQml0bWFwU2l6ZT1mdW5jdGlvbigpe3ZhciBlLHQ7aWYobnVsbCE9PXRoaXMuX2NhbnZhc0VsZW1lbnQpe3ZhciBpPW8odGhpcy5fY2FudmFzRWxlbWVudCk7aWYobnVsbCE9PWkpe3ZhciBzPW51bGwhPT0odD1udWxsPT09KGU9dGhpcy5fZGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGUpfHx2b2lkIDA9PT1lP3ZvaWQgMDplLnZhbHVlKSYmdm9pZCAwIT09dD90OmkuZGV2aWNlUGl4ZWxSYXRpbyxhPXRoaXMuX2NhbnZhc0VsZW1lbnQuZ2V0Q2xpZW50UmVjdHMoKSxyPXZvaWQgMCE9PWFbMF0/ZnVuY3Rpb24oZSx0KXtyZXR1cm4oMCxuLnNpemUpKHt3aWR0aDpNYXRoLnJvdW5kKGUubGVmdCp0K2Uud2lkdGgqdCktTWF0aC5yb3VuZChlLmxlZnQqdCksCmhlaWdodDpNYXRoLnJvdW5kKGUudG9wKnQrZS5oZWlnaHQqdCktTWF0aC5yb3VuZChlLnRvcCp0KX0pfShhWzBdLHMpOigwLG4uc2l6ZSkoe3dpZHRoOnRoaXMuX2NhbnZhc0VsZW1lbnRDbGllbnRTaXplLndpZHRoKnMsaGVpZ2h0OnRoaXMuX2NhbnZhc0VsZW1lbnRDbGllbnRTaXplLmhlaWdodCpzfSk7dGhpcy5fc3VnZ2VzdE5ld0JpdG1hcFNpemUocil9fX0sZS5wcm90b3R5cGUuX2luaXRSZXNpemVPYnNlcnZlcj1mdW5jdGlvbigpe3ZhciBlPXRoaXM7bnVsbCE9PXRoaXMuX2NhbnZhc0VsZW1lbnQmJih0aGlzLl9jYW52YXNFbGVtZW50UmVzaXplT2JzZXJ2ZXI9bmV3IFJlc2l6ZU9ic2VydmVyKChmdW5jdGlvbih0KXt2YXIgaT10LmZpbmQoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnRhcmdldD09PWUuX2NhbnZhc0VsZW1lbnR9KSk7aWYoaSYmaS5kZXZpY2VQaXhlbENvbnRlbnRCb3hTaXplJiZpLmRldmljZVBpeGVsQ29udGVudEJveFNpemVbMF0pe3ZhciBzPWkuZGV2aWNlUGl4ZWxDb250ZW50Qm94U2l6ZVswXSxhPSgwLG4uc2l6ZSkoe3dpZHRoOnMuaW5saW5lU2l6ZSxoZWlnaHQ6cy5ibG9ja1NpemV9KTtlLl9zdWdnZXN0TmV3Qml0bWFwU2l6ZShhKX19KSksdGhpcy5fY2FudmFzRWxlbWVudFJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5fY2FudmFzRWxlbWVudCx7Ym94OiJkZXZpY2UtcGl4ZWwtY29udGVudC1ib3gifSkpfSxlfSgpO2Z1bmN0aW9uIHIoZSx0KXtpZigiZGV2aWNlLXBpeGVsLWNvbnRlbnQtYm94Ij09PXQudHlwZSlyZXR1cm4gbmV3IGEoZSx0LnRyYW5zZm9ybSx0Lm9wdGlvbnMpO3Rocm93IG5ldyBFcnJvcigiVW5zdXBwb3J0ZWQgYmluZGluZyB0YXJnZXQiKX1mdW5jdGlvbiBvKGUpe3JldHVybiBlLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXd9dmFyIGw9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUsdCxpKXtpZigwPT09dC53aWR0aHx8MD09PXQuaGVpZ2h0KXRocm93IG5ldyBUeXBlRXJyb3IoIlJlbmRlcmluZyB0YXJnZXQgY291bGQgb25seSBiZSBjcmVhdGVkIG9uIGEgbWVkaWEgd2l0aCBwb3NpdGl2ZSB3aWR0aCBhbmQgaGVpZ2h0Iik7aWYodGhpcy5fbWVkaWFTaXplPXQsMD09PWkud2lkdGh8fDA9PT1pLmhlaWdodCl0aHJvdyBuZXcgVHlwZUVycm9yKCJSZW5kZXJpbmcgdGFyZ2V0IGNvdWxkIG9ubHkgYmUgY3JlYXRlZCB1c2luZyBhIGJpdG1hcCB3aXRoIHBvc2l0aXZlIGludGVnZXIgd2lkdGggYW5kIGhlaWdodCIpO3RoaXMuX2JpdG1hcFNpemU9aSx0aGlzLl9jb250ZXh0PWV9cmV0dXJuIGUucHJvdG90eXBlLnVzZU1lZGlhQ29vcmRpbmF0ZVNwYWNlPWZ1bmN0aW9uKGUpe3RyeXtyZXR1cm4gdGhpcy5fY29udGV4dC5zYXZlKCksdGhpcy5fY29udGV4dC5zZXRUcmFuc2Zvcm0oMSwwLDAsMSwwLDApLHRoaXMuX2NvbnRleHQuc2NhbGUodGhpcy5faG9yaXpvbnRhbFBpeGVsUmF0aW8sdGhpcy5fdmVydGljYWxQaXhlbFJhdGlvKSxlKHtjb250ZXh0OnRoaXMuX2NvbnRleHQsbWVkaWFTaXplOnRoaXMuX21lZGlhU2l6ZX0pfWZpbmFsbHl7dGhpcy5fY29udGV4dC5yZXN0b3JlKCl9fSxlLnByb3RvdHlwZS51c2VCaXRtYXBDb29yZGluYXRlU3BhY2U9ZnVuY3Rpb24oZSl7dHJ5e3JldHVybiB0aGlzLl9jb250ZXh0LnNhdmUoKSx0aGlzLl9jb250ZXh0LnNldFRyYW5zZm9ybSgxLDAsMCwxLDAsMCksZSh7Y29udGV4dDp0aGlzLl9jb250ZXh0LG1lZGlhU2l6ZTp0aGlzLl9tZWRpYVNpemUsYml0bWFwU2l6ZTp0aGlzLl9iaXRtYXBTaXplLGhvcml6b250YWxQaXhlbFJhdGlvOnRoaXMuX2hvcml6b250YWxQaXhlbFJhdGlvLHZlcnRpY2FsUGl4ZWxSYXRpbzp0aGlzLl92ZXJ0aWNhbFBpeGVsUmF0aW99KX1maW5hbGx5e3RoaXMuX2NvbnRleHQucmVzdG9yZSgpfX0sT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJfaG9yaXpvbnRhbFBpeGVsUmF0aW8iLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYml0bWFwU2l6ZS53aWR0aC90aGlzLl9tZWRpYVNpemUud2lkdGh9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJfdmVydGljYWxQaXhlbFJhdGlvIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2JpdG1hcFNpemUuaGVpZ2h0L3RoaXMuX21lZGlhU2l6ZS5oZWlnaHR9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksZX0oKTtmdW5jdGlvbiBoKGUsdCl7dmFyIGk9ZS5jYW52YXNFbGVtZW50Q2xpZW50U2l6ZTtpZigwPT09aS53aWR0aHx8MD09PWkuaGVpZ2h0KXJldHVybiBudWxsO3ZhciBuPWUuYml0bWFwU2l6ZTtpZigwPT09bi53aWR0aHx8MD09PW4uaGVpZ2h0KXJldHVybiBudWxsO3ZhciBzPWUuY2FudmFzRWxlbWVudC5nZXRDb250ZXh0KCIyZCIsdCk7cmV0dXJuIG51bGw9PT1zP251bGw6bmV3IGwocyxpLG4pfX0sODE3MzUwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbj1pKDE3ODQ5Nykscz1pKDM2MDYyMCk7Y29uc3QgYT1mdW5jdGlvbihlKXtyZXR1cm4hMD09PWV8fCExPT09ZXx8KDAscy5kZWZhdWx0KShlKSYmIltvYmplY3QgQm9vbGVhbl0iPT0oMCxuLmRlZmF1bHQpKGUpfX0sMjA2NjczKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbj1pKDE3ODQ5Nykscz1pKDM2MDYyMCk7Y29uc3QgYT1mdW5jdGlvbihlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGV8fCgwLHMuZGVmYXVsdCkoZSkmJiJbb2JqZWN0IE51bWJlcl0iPT0oMCxuLmRlZmF1bHQpKGUpfX0sMzA0MjIxKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgbj1pKDE3ODQ5Nykscz1pKDI5NTYzNSksYT1pKDM2MDYyMCk7Y29uc3Qgcj1mdW5jdGlvbihlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGV8fCEoMCxzLmRlZmF1bHQpKGUpJiYoMCxhLmRlZmF1bHQpKGUpJiYiW29iamVjdCBTdHJpbmddIj09KDAsbi5kZWZhdWx0KShlKX19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/56258.282e6141fc02ac85d0d5.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.190Z","timestamp":1785120634190,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/56258.282e6141fc02ac85d0d5.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a0c2e6a-174e\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 19 May 2026 09:33:30 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 3253314d58db3673026f852685c4b9ac\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5966,"size_decoded":3195,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3055)","md5":"a9563eafb41c9e6b519a29f0206f6b89","sha1":"43a8b417d99fe60c3d65ddae1e66d8cabd277000","sha256":"ba67ff82446ee411a3ef96ebe6abe55cf6cc1abfd78c841cd5d9a0a70804725a","sha512":"1e31a74cb24aeb33cac85e854608a21314f1416f3db595d14b0577305da06f72bf42b9dea2c36f570fcea9dbd7d88793bd8bc291d498ab58b1e2413f173b781d","ssdeep":"96:AaPctCCkctcSycQOchchctDOAXtC4C2GM0/CnXkMHsU3KEu9pJfmJuuImRBYkqMy:NcUrctcXc3chchc1OotC4ChMUCX1HFRM","tlshash":"d5c1118471c1f09513db9a82a4370606f27d5c5c704b79ece3d0d4d6aabba4db42bb36","first_seen":"2026-05-19T10:58:17.796011Z","last_seen":"2026-07-27T05:27:33.169673Z","times_seen":736,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNTYyNThdLHs3NDM0NTEodCxlLG4pe24uZChlLHtjcmVhdGVPYnNlcnZhYmxlOigpPT5pfSk7dmFyIHI9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3ZhciBlPXRoaXM7dGhpcy5fcmVzb2x1dGlvbkxpc3RlbmVyPWZ1bmN0aW9uKCl7cmV0dXJuIGUuX29uUmVzb2x1dGlvbkNoYW5nZWQoKX0sdGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0PW51bGwsdGhpcy5fb2JzZXJ2ZXJzPVtdLHRoaXMuX3dpbmRvdz10LHRoaXMuX2luc3RhbGxSZXNvbHV0aW9uTGlzdGVuZXIoKX1yZXR1cm4gdC5wcm90b3R5cGUuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMuX3VuaW5zdGFsbFJlc29sdXRpb25MaXN0ZW5lcigpLHRoaXMuX3dpbmRvdz1udWxsfSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsInZhbHVlIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLHQucHJvdG90eXBlLnN1YnNjcmliZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49e25leHQ6dH07cmV0dXJuIHRoaXMuX29ic2VydmVycy5wdXNoKG4pLHt1bnN1YnNjcmliZTpmdW5jdGlvbigpe2UuX29ic2VydmVycz1lLl9vYnNlcnZlcnMuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdCE9PW59KSl9fX0sdC5wcm90b3R5cGUuX2luc3RhbGxSZXNvbHV0aW9uTGlzdGVuZXI9ZnVuY3Rpb24oKXtpZihudWxsIT09dGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0KXRocm93IG5ldyBFcnJvcigiUmVzb2x1dGlvbiBsaXN0ZW5lciBpcyBhbHJlYWR5IGluc3RhbGxlZCIpO3ZhciB0PXRoaXMuX3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvO3RoaXMuX3Jlc29sdXRpb25NZWRpYVF1ZXJ5TGlzdD10aGlzLl93aW5kb3cubWF0Y2hNZWRpYSgiYWxsIGFuZCAocmVzb2x1dGlvbjogIi5jb25jYXQodCwiZHBweCkiKSksdGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0LmFkZExpc3RlbmVyKHRoaXMuX3Jlc29sdXRpb25MaXN0ZW5lcil9LHQucHJvdG90eXBlLl91bmluc3RhbGxSZXNvbHV0aW9uTGlzdGVuZXI9ZnVuY3Rpb24oKXtudWxsIT09dGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0JiYodGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0LnJlbW92ZUxpc3RlbmVyKHRoaXMuX3Jlc29sdXRpb25MaXN0ZW5lciksdGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0PW51bGwpfSx0LnByb3RvdHlwZS5fcmVpbnN0YWxsUmVzb2x1dGlvbkxpc3RlbmVyPWZ1bmN0aW9uKCl7dGhpcy5fdW5pbnN0YWxsUmVzb2x1dGlvbkxpc3RlbmVyKCksdGhpcy5faW5zdGFsbFJlc29sdXRpb25MaXN0ZW5lcigpfSx0LnByb3RvdHlwZS5fb25SZXNvbHV0aW9uQ2hhbmdlZD1mdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5fb2JzZXJ2ZXJzLmZvckVhY2goKGZ1bmN0aW9uKGUpe3JldHVybiBlLm5leHQodC5fd2luZG93LmRldmljZVBpeGVsUmF0aW8pfSkpLHRoaXMuX3JlaW5zdGFsbFJlc29sdXRpb25MaXN0ZW5lcigpfSx0fSgpO2Z1bmN0aW9uIGkodCl7cmV0dXJuIG5ldyByKHQpfX0sNzQyNzkodCxlLG4pe2Z1bmN0aW9uIHIodCl7dmFyIGU9dC53aWR0aCxuPXQuaGVpZ2h0O2lmKGU8MCl0aHJvdyBuZXcgRXJyb3IoIk5lZ2F0aXZlIHdpZHRoIGlzIG5vdCBhbGxvd2VkIGZvciBTaXplIik7aWYobjwwKXRocm93IG5ldyBFcnJvcigiTmVnYXRpdmUgaGVpZ2h0IGlzIG5vdCBhbGxvd2VkIGZvciBTaXplIik7cmV0dXJue3dpZHRoOmUsaGVpZ2h0Om59fWZ1bmN0aW9uIGkodCxlKXtyZXR1cm4gdC53aWR0aD09PWUud2lkdGgmJnQuaGVpZ2h0PT09ZS5oZWlnaHR9bi5kKGUse2VxdWFsU2l6ZXM6KCk9Pmksc2l6ZTooKT0+cn0pfSw3ODkyODcodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0LGUsbil7c3dpdGNoKG4ubGVuZ3RoKXtjYXNlIDA6cmV0dXJuIHQuY2FsbChlKTtjYXNlIDE6cmV0dXJuIHQuY2FsbChlLG5bMF0pO2Nhc2UgMjpyZXR1cm4gdC5jYWxsKGUsblswXSxuWzFdKTtjYXNlIDM6cmV0dXJuIHQuY2FsbChlLG5bMF0sblsxXSxuWzJdKX1yZXR1cm4gdC5hcHBseShlLG4pfX0sMjU4MjYodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSxuLHIpe2Zvcih2YXIgaT0tMSx1PU9iamVjdChlKSxvPXIoZSksYT1vLmxlbmd0aDthLS07KXt2YXIgbD1vW3Q/YTorK2ldO2lmKCExPT09bih1W2xdLGwsdSkpYnJlYWt9cmV0dXJuIGV9fSgpfSw0ODI2Mih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pmp9KTt2YXIgcj1uKDg4NjUxNCksaT1uKDI1NDczOCksdT1uKDkxMDc3OCk7Y29uc3Qgbz1mdW5jdGlvbih0LGUsbil7KHZvaWQgMCE9PW4mJiEoMCx1LmRlZmF1bHQpKHRbZV0sbil8fHZvaWQgMD09PW4mJiEoZSBpbiB0KSkmJigwLGkuZGVmYXVsdCkodCxlLG4pfTt2YXIgYT1uKDI1ODI2KSxsPW4oNDg3MDYwKSxzPW4oMTM5MDcpLGY9big3MDU3NDkpLGQ9big4MDc1NzUpLGM9big1MzE1NTcpLGg9bigyOTU2MzUpLHY9bigyMzk2MykscD1uKDY1OTAxOCksdz1uKDkyODEzMiksXz1uKDg4MDExNSksYj1uKDkzMTQzMykseT1uKDE2NTI2Nyk7Y29uc3QgZz1mdW5jdGlvbih0LGUpe2lmKCgiY29uc3RydWN0b3IiIT09ZXx8ImZ1bmN0aW9uIiE9dHlwZW9mIHRbZV0pJiYiX19wcm90b19fIiE9ZSlyZXR1cm4gdFtlXX07dmFyIEw9big2MTg1NyksUj1uKDIxNzQ1Nyk7Y29uc3QgTT1mdW5jdGlvbih0KXtyZXR1cm4oMCxMLmRlZmF1bHQpKHQsKDAsUi5kZWZhdWx0KSh0KSl9O2NvbnN0IE89ZnVuY3Rpb24odCxlLG4scixpLHUsYSl7dmFyIEw9Zyh0LG4pLFI9ZyhlLG4pLE89YS5nZXQoUik7aWYoTylvKHQsbixPKTtlbHNle3ZhciBqPXU/dShMLFIsbisiIix0LGUsYSk6dm9pZCAwLHg9dm9pZCAwPT09ajtpZih4KXt2YXIgUT0oMCxoLmRlZmF1bHQpKFIpLG09IVEmJigwLApwLmRlZmF1bHQpKFIpLGs9IVEmJiFtJiYoMCx5LmRlZmF1bHQpKFIpO2o9UixRfHxtfHxrPygwLGguZGVmYXVsdCkoTCk/aj1MOigwLHYuZGVmYXVsdCkoTCk/aj0oMCxmLmRlZmF1bHQpKEwpOm0/KHg9ITEsaj0oMCxsLmRlZmF1bHQpKFIsITApKTprPyh4PSExLGo9KDAscy5kZWZhdWx0KShSLCEwKSk6aj1bXTooMCxiLmRlZmF1bHQpKFIpfHwoMCxjLmRlZmF1bHQpKFIpPyhqPUwsKDAsYy5kZWZhdWx0KShMKT9qPU0oTCk6KDAsXy5kZWZhdWx0KShMKSYmISgwLHcuZGVmYXVsdCkoTCl8fChqPSgwLGQuZGVmYXVsdCkoUikpKTp4PSExfXgmJihhLnNldChSLGopLGkoaixSLHIsdSxhKSxhLmRlbGV0ZShSKSksbyh0LG4sail9fTtjb25zdCBqPWZ1bmN0aW9uIHQoZSxuLGksdSxsKXtlIT09biYmKDAsYS5kZWZhdWx0KShuLChmdW5jdGlvbihhLHMpe2lmKGx8fChsPW5ldyByLmRlZmF1bHQpLCgwLF8uZGVmYXVsdCkoYSkpTyhlLG4scyxpLHQsdSxsKTtlbHNle3ZhciBmPXU/dShnKGUscyksYSxzKyIiLGUsbixsKTp2b2lkIDA7dm9pZCAwPT09ZiYmKGY9YSksbyhlLHMsZil9fSksUi5kZWZhdWx0KX19LDY0NTM3Nih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTt2YXIgcj1uKDIzMjg1NCksaT1uKDM3MjAzNSksdT1uKDcwOTA1MSk7Y29uc3Qgbz1mdW5jdGlvbih0LGUpe3JldHVybigwLHUuZGVmYXVsdCkoKDAsaS5kZWZhdWx0KSh0LGUsci5kZWZhdWx0KSx0KyIiKX19LDU3NDY2OSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgcj1uKDY0NTM3NiksaT1uKDg1NDg5NCk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4oMCxyLmRlZmF1bHQpKChmdW5jdGlvbihlLG4pe3ZhciByPS0xLHU9bi5sZW5ndGgsbz11PjE/blt1LTFdOnZvaWQgMCxhPXU+Mj9uWzJdOnZvaWQgMDtmb3Iobz10Lmxlbmd0aD4zJiYiZnVuY3Rpb24iPT10eXBlb2Ygbz8odS0tLG8pOnZvaWQgMCxhJiYoMCxpLmRlZmF1bHQpKG5bMF0sblsxXSxhKSYmKG89dTwzP3ZvaWQgMDpvLHU9MSksZT1PYmplY3QoZSk7KytyPHU7KXt2YXIgbD1uW3JdO2wmJnQoZSxsLHIsbyl9cmV0dXJuIGV9KSl9fSw4NTQ4OTQodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIHI9big5MTA3NzgpLGk9bigzOTI5MDgpLHU9big5MjExNDMpLG89big4ODAxMTUpO2NvbnN0IGE9ZnVuY3Rpb24odCxlLG4pe2lmKCEoMCxvLmRlZmF1bHQpKG4pKXJldHVybiExO3ZhciBhPXR5cGVvZiBlO3JldHVybiEhKCJudW1iZXIiPT1hPygwLGkuZGVmYXVsdCkobikmJigwLHUuZGVmYXVsdCkoZSxuLmxlbmd0aCk6InN0cmluZyI9PWEmJmUgaW4gbikmJigwLHIuZGVmYXVsdCkobltlXSx0KX19LDM3MjAzNSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgcj1uKDc4OTI4NyksaT1NYXRoLm1heDtjb25zdCB1PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gZT1pKHZvaWQgMD09PWU/dC5sZW5ndGgtMTplLDApLGZ1bmN0aW9uKCl7Zm9yKHZhciB1PWFyZ3VtZW50cyxvPS0xLGE9aSh1Lmxlbmd0aC1lLDApLGw9QXJyYXkoYSk7KytvPGE7KWxbb109dVtlK29dO289LTE7Zm9yKHZhciBzPUFycmF5KGUrMSk7KytvPGU7KXNbb109dVtvXTtyZXR1cm4gc1tlXT1uKGwpLCgwLHIuZGVmYXVsdCkodCx0aGlzLHMpfX19LDcwOTA1MSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgcj1uKDEyODA3NiksaT1uKDM2MDQ5KSx1PW4oMjMyODU0KTtjb25zdCBvPWkuZGVmYXVsdD9mdW5jdGlvbih0LGUpe3JldHVybigwLGkuZGVmYXVsdCkodCwidG9TdHJpbmciLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMSx2YWx1ZTooMCxyLmRlZmF1bHQpKGUpLHdyaXRhYmxlOiEwfSl9OnUuZGVmYXVsdDtjb25zdCBhPSgwLG4oOTQ4NTczKS5kZWZhdWx0KShvKX0sOTQ4NTczKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+aX0pO3ZhciByPURhdGUubm93O2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9MCxuPTA7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGk9cigpLHU9MTYtKGktbik7aWYobj1pLHU+MCl7aWYoKytlPj04MDApcmV0dXJuIGFyZ3VtZW50c1swXX1lbHNlIGU9MDtyZXR1cm4gdC5hcHBseSh2b2lkIDAsYXJndW1lbnRzKX19fSwxMjgwNzYodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19fSwyMzI4NTQodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0KXtyZXR1cm4gdH19LDIzOTYzKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+dX0pO3ZhciByPW4oMzkyOTA4KSxpPW4oMzYwNjIwKTtjb25zdCB1PWZ1bmN0aW9uKHQpe3JldHVybigwLGkuZGVmYXVsdCkodCkmJigwLHIuZGVmYXVsdCkodCl9fSw5MzE0MzModCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5kfSk7dmFyIHI9bigxNzg0OTcpLGk9bigzOTI1NDUpLHU9bigzNjA2MjApLG89RnVuY3Rpb24ucHJvdG90eXBlLGE9T2JqZWN0LnByb3RvdHlwZSxsPW8udG9TdHJpbmcscz1hLmhhc093blByb3BlcnR5LGY9bC5jYWxsKE9iamVjdCk7Y29uc3QgZD1mdW5jdGlvbih0KXtpZighKDAsdS5kZWZhdWx0KSh0KXx8IltvYmplY3QgT2JqZWN0XSIhPSgwLHIuZGVmYXVsdCkodCkpcmV0dXJuITE7dmFyIGU9KDAsaS5kZWZhdWx0KSh0KTtpZihudWxsPT09ZSlyZXR1cm4hMDt2YXIgbj1zLmNhbGwoZSwiY29uc3RydWN0b3IiKSYmZS5jb25zdHJ1Y3RvcjtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgbiYmbiBpbnN0YW5jZW9mIG4mJmwuY2FsbChuKT09Zn19LDc0MDE2Mih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pml9KTt2YXIgcj1uKDQ4MjYyKTtjb25zdCBpPSgwLG4oNTc0NjY5KS5kZWZhdWx0KSgoZnVuY3Rpb24odCxlLG4peygwLHIuZGVmYXVsdCkodCxlLG4pfSkpfX1dKTs="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/83310.b995ac6804b2844d9f8b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.254Z","timestamp":1785120634254,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/83310.b995ac6804b2844d9f8b.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-2bb2b\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 200e76f1b79cc790ccbc3d695000ace6\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":178987,"size_decoded":64109,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3072)","md5":"93d9421cbd613c344fe0d2304fc3f56f","sha1":"488c1099e8abbd1bd652f70a4a61838d0b67e451","sha256":"1db5831972e58d8dc696e62def3b0343254ce1fb96a088ca6cba4ac88bb22420","sha512":"4b73865ddf6a1691c2f219c408f45ed06d53e6385e9d8bf060d94f31f9f2902cb68383199c313d520a2ad7f35b7088b94661ec4290f35392d1a06713ddb8a5b1","ssdeep":"3072:1tp9AP81XDnSSgpogm3i3G3qCd3lnxEB6s7KXzR96wB6:1trAPMzSBpU3i3G3qCd3lnxEB6s7KXKx","tlshash":"3104d6963296e02213f185f908760442f31a7989394b85acf5bd9cd73c9ac4e72bdf78","first_seen":"2026-07-23T22:46:45.81119Z","last_seen":"2026-07-27T06:01:16.237212Z","times_seen":25,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNjQ2NDQsNzgzMTIsODMzMTBdLHs4MjkxODAodCxpLHMpe3MucihpKTt2YXIgZT1zKDYwMTg0MSk7Y29uc3QgaD0veyhcdyspfS9nLG49L3soXGQrKX0vZztTdHJpbmcucHJvdG90eXBlLmZvcm1hdD1mdW5jdGlvbiguLi50KXtjb25zdCBpPSgwLGUuaXNPYmplY3QpKHRbMF0pLHM9aT9oOm4scj1pPyhpLHMpPT57Y29uc3QgZT10WzBdO3JldHVybiB2b2lkIDAhPT1lW3NdP2Vbc106aX06KGkscyk9Pntjb25zdCBlPXBhcnNlSW50KHMsMTApLGg9dFtlXTtyZXR1cm4gdm9pZCAwIT09aD9oOml9O3JldHVybiB0aGlzLnJlcGxhY2UocyxyKX19LDM2MzI2OSh0LGkscyl7cy5kKGkse21vYmlsZXRvdWNoOigpPT5oLHNldENsYXNzZXM6KCk9PnIsdG91Y2g6KCk9Pm59KTt2YXIgZT1zKDczODQ1OCk7Y29uc3QgaD1lLm1vYmlsZXRvdWNoLG49ZS50b3VjaDtmdW5jdGlvbiByKCl7ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoZS50b3VjaD8iZmVhdHVyZS10b3VjaCI6ImZlYXR1cmUtbm8tdG91Y2giLGUubW9iaWxldG91Y2g/ImZlYXR1cmUtbW9iaWxldG91Y2giOiJmZWF0dXJlLW5vLW1vYmlsZXRvdWNoIil9fSwzMTg5NzQodCxpLHMpe3MuZChpLHtDaGVja01vYmlsZTooKT0+dSxpc0Rlc2t0b3BBcHA6KCk9PmwsaXNMaW51eDooKT0+byxpc01hYzooKT0+cixpc1N5bXBob255RW1iZWQ6KCk9PmEsb25Hb1BybzooKT0+ZixvbldpZGdldDooKT0+aC5vbldpZGdldCxzdXBwb3J0VG91Y2g6KCk9PmN9KTt2YXIgZT1zKDczODQ1OCksaD1zKDM3NzIyNik7Y29uc3Qgbj13aW5kb3cuVHJhZGluZ1ZpZXc9d2luZG93LlRyYWRpbmdWaWV3fHx7fTtmdW5jdGlvbiByKCl7cmV0dXJuIGUuaXNNYWN9ZnVuY3Rpb24gbygpe3JldHVybiBlLmlzTGludXh9ZnVuY3Rpb24gbCgpe3JldHVybi9UVkRlc2t0b3AvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpfWZ1bmN0aW9uIGEoKXtyZXR1cm4gbi5pc1N5bXBob255fHwhMX1jb25zdCB1PXtBbmRyb2lkOigpPT5lLmlzQW5kcm9pZCxCbGFja0JlcnJ5OigpPT5lLmlzQmxhY2tCZXJyeSxpT1M6KCk9PmUuaXNJT1MsT3BlcmE6KCk9PmUuaXNPcGVyYU1pbmksaXNJUGFkOigpPT5lLmlzSVBhZCxhbnk6KCk9PmUuaXNBbnlNb2JpbGV9O2Z1bmN0aW9uIGMoKXtyZXR1cm4gZS5tb2JpbGV0b3VjaHx8ZS50b3VjaHx8ZS5pc0FueU1vYmlsZX1uLmlzTW9iaWxlPXUsbi5vbldpZGdldD1oLm9uV2lkZ2V0O2UuaXNDaHJvbWUsZS5pc0ZGLGUuaXNFZGdlLGUuaXNTYWZhcmk7ZnVuY3Rpb24gZigpe3JldHVybiIvcHJpY2luZy8iPT09d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lfX0sMTg1MjcxKHQsaSxzKXtzLnIoaSkscy5kKGkse3Q6KCk9PmUudCx3aXRoVHJhbnNsYXRpb25Db250ZXh0OigpPT5ofSk7cyg4MjkxODApO3ZhciBlPXMoNzgzMjU0KTtmdW5jdGlvbiBoKHQpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9fSwxMjI3NDkodCxpKXt2YXIgcz1TeW1ib2wuZm9yKCJyZWFjdC5lbGVtZW50IiksZT1TeW1ib2wuZm9yKCJyZWFjdC5wb3J0YWwiKSxoPVN5bWJvbC5mb3IoInJlYWN0LmZyYWdtZW50Iiksbj1TeW1ib2wuZm9yKCJyZWFjdC5zdHJpY3RfbW9kZSIpLHI9U3ltYm9sLmZvcigicmVhY3QucHJvZmlsZXIiKSxvPVN5bWJvbC5mb3IoInJlYWN0LnByb3ZpZGVyIiksbD1TeW1ib2wuZm9yKCJyZWFjdC5jb250ZXh0IiksYT1TeW1ib2wuZm9yKCJyZWFjdC5mb3J3YXJkX3JlZiIpLHU9U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2UiKSxjPVN5bWJvbC5mb3IoInJlYWN0Lm1lbW8iKSxmPVN5bWJvbC5mb3IoInJlYWN0LmxhenkiKSxkPVN5bWJvbC5pdGVyYXRvcjt2YXIgbT17aXNNb3VudGVkOmZ1bmN0aW9uKCl7cmV0dXJuITF9LGVucXVldWVGb3JjZVVwZGF0ZTpmdW5jdGlvbigpe30sZW5xdWV1ZVJlcGxhY2VTdGF0ZTpmdW5jdGlvbigpe30sZW5xdWV1ZVNldFN0YXRlOmZ1bmN0aW9uKCl7fX0scD1PYmplY3QuYXNzaWduLGc9e307ZnVuY3Rpb24gdih0LGkscyl7dGhpcy5wcm9wcz10LHRoaXMuY29udGV4dD1pLHRoaXMucmVmcz1nLHRoaXMudXBkYXRlcj1zfHxtfWZ1bmN0aW9uIGIoKXt9ZnVuY3Rpb24gdyh0LGkscyl7dGhpcy5wcm9wcz10LHRoaXMuY29udGV4dD1pLHRoaXMucmVmcz1nLHRoaXMudXBkYXRlcj1zfHxtfXYucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9e30sdi5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24odCxpKXtpZigib2JqZWN0IiE9dHlwZW9mIHQmJiJmdW5jdGlvbiIhPXR5cGVvZiB0JiZudWxsIT10KXRocm93IEVycm9yKCJzZXRTdGF0ZSguLi4pOiB0YWtlcyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzIHRvIHVwZGF0ZSBvciBhIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcy4iKTt0aGlzLnVwZGF0ZXIuZW5xdWV1ZVNldFN0YXRlKHRoaXMsdCxpLCJzZXRTdGF0ZSIpfSx2LnByb3RvdHlwZS5mb3JjZVVwZGF0ZT1mdW5jdGlvbih0KXt0aGlzLnVwZGF0ZXIuZW5xdWV1ZUZvcmNlVXBkYXRlKHRoaXMsdCwiZm9yY2VVcGRhdGUiKX0sYi5wcm90b3R5cGU9di5wcm90b3R5cGU7dmFyIE09dy5wcm90b3R5cGU9bmV3IGI7TS5jb25zdHJ1Y3Rvcj13LHAoTSx2LnByb3RvdHlwZSksTS5pc1B1cmVSZWFjdENvbXBvbmVudD0hMDt2YXIgeT1BcnJheS5pc0FycmF5LFM9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSx4PXtjdXJyZW50Om51bGx9LF89e2tleTohMCxyZWY6ITAsX19zZWxmOiEwLF9fc291cmNlOiEwfTtmdW5jdGlvbiBDKHQsaSxlKXt2YXIgaCxuPXt9LHI9bnVsbCxvPW51bGw7aWYobnVsbCE9aSlmb3IoaCBpbiB2b2lkIDAhPT1pLnJlZiYmKG89aS5yZWYpLHZvaWQgMCE9PWkua2V5JiYocj0iIitpLmtleSksaSlTLmNhbGwoaSxoKSYmIV8uaGFzT3duUHJvcGVydHkoaCkmJihuW2hdPWlbaF0pO3ZhciBsPWFyZ3VtZW50cy5sZW5ndGgtMgo7aWYoMT09PWwpbi5jaGlsZHJlbj1lO2Vsc2UgaWYoMTxsKXtmb3IodmFyIGE9QXJyYXkobCksdT0wO3U8bDt1KyspYVt1XT1hcmd1bWVudHNbdSsyXTtuLmNoaWxkcmVuPWF9aWYodCYmdC5kZWZhdWx0UHJvcHMpZm9yKGggaW4gbD10LmRlZmF1bHRQcm9wcyl2b2lkIDA9PT1uW2hdJiYobltoXT1sW2hdKTtyZXR1cm57JCR0eXBlb2Y6cyx0eXBlOnQsa2V5OnIscmVmOm8scHJvcHM6bixfb3duZXI6eC5jdXJyZW50fX1mdW5jdGlvbiBrKHQpe3JldHVybiJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXQmJnQuJCR0eXBlb2Y9PT1zfXZhciBFPS9cLysvZztmdW5jdGlvbiBOKHQsaSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiB0JiZudWxsIT09dCYmbnVsbCE9dC5rZXk/ZnVuY3Rpb24odCl7dmFyIGk9eyI9IjoiPTAiLCI6IjoiPTIifTtyZXR1cm4iJCIrdC5yZXBsYWNlKC9bPTpdL2csKGZ1bmN0aW9uKHQpe3JldHVybiBpW3RdfSkpfSgiIit0LmtleSk6aS50b1N0cmluZygzNil9ZnVuY3Rpb24gVCh0LGksaCxuLHIpe3ZhciBvPXR5cGVvZiB0OyJ1bmRlZmluZWQiIT09byYmImJvb2xlYW4iIT09b3x8KHQ9bnVsbCk7dmFyIGw9ITE7aWYobnVsbD09PXQpbD0hMDtlbHNlIHN3aXRjaChvKXtjYXNlInN0cmluZyI6Y2FzZSJudW1iZXIiOmw9ITA7YnJlYWs7Y2FzZSJvYmplY3QiOnN3aXRjaCh0LiQkdHlwZW9mKXtjYXNlIHM6Y2FzZSBlOmw9ITB9fWlmKGwpcmV0dXJuIHI9cihsPXQpLHQ9IiI9PT1uPyIuIitOKGwsMCk6bix5KHIpPyhoPSIiLG51bGwhPXQmJihoPXQucmVwbGFjZShFLCIkJi8iKSsiLyIpLFQocixpLGgsIiIsKGZ1bmN0aW9uKHQpe3JldHVybiB0fSkpKTpudWxsIT1yJiYoayhyKSYmKHI9ZnVuY3Rpb24odCxpKXtyZXR1cm57JCR0eXBlb2Y6cyx0eXBlOnQudHlwZSxrZXk6aSxyZWY6dC5yZWYscHJvcHM6dC5wcm9wcyxfb3duZXI6dC5fb3duZXJ9fShyLGgrKCFyLmtleXx8bCYmbC5rZXk9PT1yLmtleT8iIjooIiIrci5rZXkpLnJlcGxhY2UoRSwiJCYvIikrIi8iKSt0KSksaS5wdXNoKHIpKSwxO2lmKGw9MCxuPSIiPT09bj8iLiI6bisiOiIseSh0KSlmb3IodmFyIGE9MDthPHQubGVuZ3RoO2ErKyl7dmFyIHU9bitOKG89dFthXSxhKTtsKz1UKG8saSxoLHUscil9ZWxzZSBpZih1PWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT09dHx8Im9iamVjdCIhPXR5cGVvZiB0P251bGw6ImZ1bmN0aW9uIj09dHlwZW9mKHQ9ZCYmdFtkXXx8dFsiQEBpdGVyYXRvciJdKT90Om51bGx9KHQpLCJmdW5jdGlvbiI9PXR5cGVvZiB1KWZvcih0PXUuY2FsbCh0KSxhPTA7IShvPXQubmV4dCgpKS5kb25lOylsKz1UKG89by52YWx1ZSxpLGgsdT1uK04obyxhKyspLHIpO2Vsc2UgaWYoIm9iamVjdCI9PT1vKXRocm93IGk9U3RyaW5nKHQpLEVycm9yKCJPYmplY3RzIGFyZSBub3QgdmFsaWQgYXMgYSBSZWFjdCBjaGlsZCAoZm91bmQ6ICIrKCJbb2JqZWN0IE9iamVjdF0iPT09aT8ib2JqZWN0IHdpdGgga2V5cyB7IitPYmplY3Qua2V5cyh0KS5qb2luKCIsICIpKyJ9IjppKSsiKS4gSWYgeW91IG1lYW50IHRvIHJlbmRlciBhIGNvbGxlY3Rpb24gb2YgY2hpbGRyZW4sIHVzZSBhbiBhcnJheSBpbnN0ZWFkLiIpO3JldHVybiBsfWZ1bmN0aW9uIFIodCxpLHMpe2lmKG51bGw9PXQpcmV0dXJuIHQ7dmFyIGU9W10saD0wO3JldHVybiBUKHQsZSwiIiwiIiwoZnVuY3Rpb24odCl7cmV0dXJuIGkuY2FsbChzLHQsaCsrKX0pKSxlfWZ1bmN0aW9uIFAodCl7aWYoLTE9PT10Ll9zdGF0dXMpe3ZhciBpPXQuX3Jlc3VsdDsoaT1pKCkpLnRoZW4oKGZ1bmN0aW9uKGkpezAhPT10Ll9zdGF0dXMmJi0xIT09dC5fc3RhdHVzfHwodC5fc3RhdHVzPTEsdC5fcmVzdWx0PWkpfSksKGZ1bmN0aW9uKGkpezAhPT10Ll9zdGF0dXMmJi0xIT09dC5fc3RhdHVzfHwodC5fc3RhdHVzPTIsdC5fcmVzdWx0PWkpfSkpLC0xPT09dC5fc3RhdHVzJiYodC5fc3RhdHVzPTAsdC5fcmVzdWx0PWkpfWlmKDE9PT10Ll9zdGF0dXMpcmV0dXJuIHQuX3Jlc3VsdC5kZWZhdWx0O3Rocm93IHQuX3Jlc3VsdH12YXIgej17Y3VycmVudDpudWxsfSxJPXt0cmFuc2l0aW9uOm51bGx9LEw9e1JlYWN0Q3VycmVudERpc3BhdGNoZXI6eixSZWFjdEN1cnJlbnRCYXRjaENvbmZpZzpJLFJlYWN0Q3VycmVudE93bmVyOnh9O2kuQ2hpbGRyZW49e21hcDpSLGZvckVhY2g6ZnVuY3Rpb24odCxpLHMpe1IodCwoZnVuY3Rpb24oKXtpLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pLHMpfSxjb3VudDpmdW5jdGlvbih0KXt2YXIgaT0wO3JldHVybiBSKHQsKGZ1bmN0aW9uKCl7aSsrfSkpLGl9LHRvQXJyYXk6ZnVuY3Rpb24odCl7cmV0dXJuIFIodCwoZnVuY3Rpb24odCl7cmV0dXJuIHR9KSl8fFtdfSxvbmx5OmZ1bmN0aW9uKHQpe2lmKCFrKHQpKXRocm93IEVycm9yKCJSZWFjdC5DaGlsZHJlbi5vbmx5IGV4cGVjdGVkIHRvIHJlY2VpdmUgYSBzaW5nbGUgUmVhY3QgZWxlbWVudCBjaGlsZC4iKTtyZXR1cm4gdH19LGkuQ29tcG9uZW50PXYsaS5GcmFnbWVudD1oLGkuUHJvZmlsZXI9cixpLlB1cmVDb21wb25lbnQ9dyxpLlN0cmljdE1vZGU9bixpLlN1c3BlbnNlPXUsaS5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRD1MLGkuY2xvbmVFbGVtZW50PWZ1bmN0aW9uKHQsaSxlKXtpZihudWxsPT10KXRocm93IEVycm9yKCJSZWFjdC5jbG9uZUVsZW1lbnQoLi4uKTogVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBSZWFjdCBlbGVtZW50LCBidXQgeW91IHBhc3NlZCAiK3QrIi4iKTt2YXIgaD1wKHt9LHQucHJvcHMpLG49dC5rZXkscj10LnJlZixvPXQuX293bmVyO2lmKG51bGwhPWkpe2lmKHZvaWQgMCE9PWkucmVmJiYocj1pLnJlZixvPXguY3VycmVudCksdm9pZCAwIT09aS5rZXkmJihuPSIiK2kua2V5KSx0LnR5cGUmJnQudHlwZS5kZWZhdWx0UHJvcHMpdmFyIGw9dC50eXBlLmRlZmF1bHRQcm9wcztmb3IoYSBpbiBpKVMuY2FsbChpLGEpJiYhXy5oYXNPd25Qcm9wZXJ0eShhKSYmKGhbYV09dm9pZCAwPT09aVthXSYmdm9pZCAwIT09bD9sW2FdOmlbYV0pfXZhciBhPWFyZ3VtZW50cy5sZW5ndGgtMgo7aWYoMT09PWEpaC5jaGlsZHJlbj1lO2Vsc2UgaWYoMTxhKXtsPUFycmF5KGEpO2Zvcih2YXIgdT0wO3U8YTt1KyspbFt1XT1hcmd1bWVudHNbdSsyXTtoLmNoaWxkcmVuPWx9cmV0dXJueyQkdHlwZW9mOnMsdHlwZTp0LnR5cGUsa2V5Om4scmVmOnIscHJvcHM6aCxfb3duZXI6b319LGkuY3JlYXRlQ29udGV4dD1mdW5jdGlvbih0KXtyZXR1cm4odD17JCR0eXBlb2Y6bCxfY3VycmVudFZhbHVlOnQsX2N1cnJlbnRWYWx1ZTI6dCxfdGhyZWFkQ291bnQ6MCxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2RlZmF1bHRWYWx1ZTpudWxsLF9nbG9iYWxOYW1lOm51bGx9KS5Qcm92aWRlcj17JCR0eXBlb2Y6byxfY29udGV4dDp0fSx0LkNvbnN1bWVyPXR9LGkuY3JlYXRlRWxlbWVudD1DLGkuY3JlYXRlRmFjdG9yeT1mdW5jdGlvbih0KXt2YXIgaT1DLmJpbmQobnVsbCx0KTtyZXR1cm4gaS50eXBlPXQsaX0saS5jcmVhdGVSZWY9ZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpudWxsfX0saS5mb3J3YXJkUmVmPWZ1bmN0aW9uKHQpe3JldHVybnskJHR5cGVvZjphLHJlbmRlcjp0fX0saS5pc1ZhbGlkRWxlbWVudD1rLGkubGF6eT1mdW5jdGlvbih0KXtyZXR1cm57JCR0eXBlb2Y6ZixfcGF5bG9hZDp7X3N0YXR1czotMSxfcmVzdWx0OnR9LF9pbml0OlB9fSxpLm1lbW89ZnVuY3Rpb24odCxpKXtyZXR1cm57JCR0eXBlb2Y6Yyx0eXBlOnQsY29tcGFyZTp2b2lkIDA9PT1pP251bGw6aX19LGkuc3RhcnRUcmFuc2l0aW9uPWZ1bmN0aW9uKHQpe3ZhciBpPUkudHJhbnNpdGlvbjtJLnRyYW5zaXRpb249e307dHJ5e3QoKX1maW5hbGx5e0kudHJhbnNpdGlvbj1pfX0saS51bnN0YWJsZV9hY3Q9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiYWN0KC4uLikgaXMgbm90IHN1cHBvcnRlZCBpbiBwcm9kdWN0aW9uIGJ1aWxkcyBvZiBSZWFjdC4iKX0saS51c2VDYWxsYmFjaz1mdW5jdGlvbih0LGkpe3JldHVybiB6LmN1cnJlbnQudXNlQ2FsbGJhY2sodCxpKX0saS51c2VDb250ZXh0PWZ1bmN0aW9uKHQpe3JldHVybiB6LmN1cnJlbnQudXNlQ29udGV4dCh0KX0saS51c2VEZWJ1Z1ZhbHVlPWZ1bmN0aW9uKCl7fSxpLnVzZURlZmVycmVkVmFsdWU9ZnVuY3Rpb24odCl7cmV0dXJuIHouY3VycmVudC51c2VEZWZlcnJlZFZhbHVlKHQpfSxpLnVzZUVmZmVjdD1mdW5jdGlvbih0LGkpe3JldHVybiB6LmN1cnJlbnQudXNlRWZmZWN0KHQsaSl9LGkudXNlSWQ9ZnVuY3Rpb24oKXtyZXR1cm4gei5jdXJyZW50LnVzZUlkKCl9LGkudXNlSW1wZXJhdGl2ZUhhbmRsZT1mdW5jdGlvbih0LGkscyl7cmV0dXJuIHouY3VycmVudC51c2VJbXBlcmF0aXZlSGFuZGxlKHQsaSxzKX0saS51c2VJbnNlcnRpb25FZmZlY3Q9ZnVuY3Rpb24odCxpKXtyZXR1cm4gei5jdXJyZW50LnVzZUluc2VydGlvbkVmZmVjdCh0LGkpfSxpLnVzZUxheW91dEVmZmVjdD1mdW5jdGlvbih0LGkpe3JldHVybiB6LmN1cnJlbnQudXNlTGF5b3V0RWZmZWN0KHQsaSl9LGkudXNlTWVtbz1mdW5jdGlvbih0LGkpe3JldHVybiB6LmN1cnJlbnQudXNlTWVtbyh0LGkpfSxpLnVzZVJlZHVjZXI9ZnVuY3Rpb24odCxpLHMpe3JldHVybiB6LmN1cnJlbnQudXNlUmVkdWNlcih0LGkscyl9LGkudXNlUmVmPWZ1bmN0aW9uKHQpe3JldHVybiB6LmN1cnJlbnQudXNlUmVmKHQpfSxpLnVzZVN0YXRlPWZ1bmN0aW9uKHQpe3JldHVybiB6LmN1cnJlbnQudXNlU3RhdGUodCl9LGkudXNlU3luY0V4dGVybmFsU3RvcmU9ZnVuY3Rpb24odCxpLHMpe3JldHVybiB6LmN1cnJlbnQudXNlU3luY0V4dGVybmFsU3RvcmUodCxpLHMpfSxpLnVzZVRyYW5zaXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gei5jdXJyZW50LnVzZVRyYW5zaXRpb24oKX0saS52ZXJzaW9uPSIxOC4yLjAifSw3Nzk0NzQodCxpLHMpe3QuZXhwb3J0cz1zKDEyMjc0OSl9LDY3ODMxMih0LGkscyl7cy5kKGkse0FyZWFTZXJpZXM6KCk9PmtoLEJhclNlcmllczooKT0+UmgsQmFzZWxpbmVTZXJpZXM6KCk9PnhoLENhbmRsZXN0aWNrU2VyaWVzOigpPT5JaCxDb2xvclR5cGU6KCk9PlZpLENyb3NzaGFpck1vZGU6KCk9PlUsSGlzdG9ncmFtU2VyaWVzOigpPT5xaCxMYXN0UHJpY2VBbmltYXRpb25Nb2RlOigpPT5PaSxMaW5lU2VyaWVzOigpPT5naCxMaW5lU3R5bGU6KCk9PnIsTGluZVR5cGU6KCk9Pm4sTWlzbWF0Y2hEaXJlY3Rpb246KCk9PlJ0LFByaWNlU2NhbGVNb2RlOigpPT53aSxUaWNrTWFya1R5cGU6KCk9PiRpLGNyZWF0ZUNoYXJ0RXg6KCk9PnRoLGNyZWF0ZVRleHRXYXRlcm1hcms6KCk9PkhoLGN1c3RvbVNlcmllc0RlZmF1bHRPcHRpb25zOigpPT5HaCxkZWZhdWx0SG9yelNjYWxlQmVoYXZpb3I6KCk9PmlofSk7dmFyIGU9cyg5MTg3NzkpO2NvbnN0IGg9e3RpdGxlOiIiLHZpc2libGU6ITAsaGl0VGVzdFRvbGVyYW5jZTozLGxhc3RWYWx1ZVZpc2libGU6ITAscHJpY2VMaW5lVmlzaWJsZTohMCxwcmljZUxpbmVTb3VyY2U6MCxwcmljZUxpbmVXaWR0aDoxLHByaWNlTGluZUNvbG9yOiIiLHByaWNlTGluZVN0eWxlOjIsYmFzZUxpbmVWaXNpYmxlOiEwLGJhc2VMaW5lV2lkdGg6MSxiYXNlTGluZUNvbG9yOiIjQjJCNUJFIixiYXNlTGluZVN0eWxlOjAscHJpY2VGb3JtYXQ6e3R5cGU6InByaWNlIixwcmVjaXNpb246MixtaW5Nb3ZlOi4wMX19O3ZhciBuLHIsbztmdW5jdGlvbiBsKHQsaSl7Y29uc3Qgcz1mdW5jdGlvbih0LGkpe3N3aXRjaCh0KXtjYXNlIDA6ZGVmYXVsdDpyZXR1cm5bXTtjYXNlIDE6cmV0dXJuW2ksaV07Y2FzZSAyOnJldHVyblsyKmksMippXTtjYXNlIDM6cmV0dXJuWzYqaSw2KmldO2Nhc2UgNDpyZXR1cm5baSw0KmldfX0oaSx0LmxpbmVXaWR0aCk7cmV0dXJuIHQuc2V0TGluZURhc2gocyksc31mdW5jdGlvbiBhKHQsaSxzLGUpe3QuYmVnaW5QYXRoKCk7Y29uc3QgaD10LmxpbmVXaWR0aCUyPy41OjA7dC5tb3ZlVG8ocyxpK2gpLHQubGluZVRvKGUsaStoKSx0LnN0cm9rZSgpfWZ1bmN0aW9uIHUodCxpKXtpZighdCl0aHJvdyBuZXcgRXJyb3IoIkFzc2VydGlvbiBmYWlsZWQiKyhpPyI6ICIraToiIikpfWZ1bmN0aW9uIGModCl7CmlmKHZvaWQgMD09PXQpdGhyb3cgbmV3IEVycm9yKCJWYWx1ZSBpcyB1bmRlZmluZWQiKTtyZXR1cm4gdH1mdW5jdGlvbiBmKHQpe2lmKG51bGw9PT10KXRocm93IG5ldyBFcnJvcigiVmFsdWUgaXMgbnVsbCIpO3JldHVybiB0fWZ1bmN0aW9uIGQodCl7cmV0dXJuIGYoYyh0KSl9KG89bnx8KG49e30pKVtvLlNpbXBsZT0wXT0iU2ltcGxlIixvW28uV2l0aFN0ZXBzPTFdPSJXaXRoU3RlcHMiLG9bby5DdXJ2ZWQ9Ml09IkN1cnZlZCIsZnVuY3Rpb24odCl7dFt0LlNvbGlkPTBdPSJTb2xpZCIsdFt0LkRvdHRlZD0xXT0iRG90dGVkIix0W3QuRGFzaGVkPTJdPSJEYXNoZWQiLHRbdC5MYXJnZURhc2hlZD0zXT0iTGFyZ2VEYXNoZWQiLHRbdC5TcGFyc2VEb3R0ZWQ9NF09IlNwYXJzZURvdHRlZCJ9KHJ8fChyPXt9KSk7Y2xhc3MgbXtjb25zdHJ1Y3Rvcigpe3RoaXMudD1bXX1pKHQsaSxzKXtjb25zdCBlPXtoOnQsbDppLG86ITA9PT1zfTt0aGlzLnQucHVzaChlKX1fKHQpe2NvbnN0IGk9dGhpcy50LmZpbmRJbmRleCgoaT0+dD09PWkuaCkpO2k+LTEmJnRoaXMudC5zcGxpY2UoaSwxKX11KHQpe3RoaXMudD10aGlzLnQuZmlsdGVyKChpPT5pLmwhPT10KSl9cCh0LGkscyl7Y29uc3QgZT1bLi4udGhpcy50XTt0aGlzLnQ9dGhpcy50LmZpbHRlcigodD0+IXQubykpLGUuZm9yRWFjaCgoZT0+ZS5oKHQsaSxzKSkpfXYoKXtyZXR1cm4gdGhpcy50Lmxlbmd0aD4wfW0oKXt0aGlzLnQ9W119fWZ1bmN0aW9uIHAodCwuLi5pKXtmb3IoY29uc3QgcyBvZiBpKWZvcihjb25zdCBpIGluIHMpdm9pZCAwIT09c1tpXSYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsaSkmJiFbIl9fcHJvdG9fXyIsImNvbnN0cnVjdG9yIiwicHJvdG90eXBlIl0uaW5jbHVkZXMoaSkmJigib2JqZWN0IiE9dHlwZW9mIHNbaV18fHZvaWQgMD09PXRbaV18fEFycmF5LmlzQXJyYXkoc1tpXSk/dFtpXT1zW2ldOnAodFtpXSxzW2ldKSk7cmV0dXJuIHR9ZnVuY3Rpb24gZyh0KXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHQmJmlzRmluaXRlKHQpfWZ1bmN0aW9uIHYodCl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0JiZ0JTE9PTB9ZnVuY3Rpb24gYih0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHR9ZnVuY3Rpb24gdyh0KXtyZXR1cm4iYm9vbGVhbiI9PXR5cGVvZiB0fWZ1bmN0aW9uIE0odCl7Y29uc3QgaT10O2lmKCFpfHwib2JqZWN0IiE9dHlwZW9mIGkpcmV0dXJuIGk7bGV0IHMsZSxoO2ZvcihlIGluIHM9QXJyYXkuaXNBcnJheShpKT9bXTp7fSxpKWkuaGFzT3duUHJvcGVydHkoZSkmJihoPWlbZV0sc1tlXT1oJiYib2JqZWN0Ij09dHlwZW9mIGg/TShoKTpoKTtyZXR1cm4gc31mdW5jdGlvbiB5KHQpe3JldHVybiBudWxsIT09dH1mdW5jdGlvbiBTKHQpe3JldHVybiBudWxsPT09dD92b2lkIDA6dH1jb25zdCB4PSItYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdUcmVidWNoZXQgTVMnLCBSb2JvdG8sIFVidW50dSwgc2Fucy1zZXJpZiI7ZnVuY3Rpb24gXyh0LGkscyl7cmV0dXJuIHZvaWQgMD09PWkmJihpPXgpLGAke3M9dm9pZCAwIT09cz9gJHtzfSBgOiIifSR7dH1weCAke2l9YH1jbGFzcyBDe2NvbnN0cnVjdG9yKHQpe3RoaXMuTT17UzoxLEM6NSxrOk5hTixQOiIiLFQ6IiIsUjoiIixEOiIiLEk6MCxWOjAsQjowLEE6MCxMOjB9LHRoaXMuTz10fU4oKXtjb25zdCB0PXRoaXMuTSxpPXRoaXMuRigpLHM9dGhpcy5XKCk7cmV0dXJuIHQuaz09PWkmJnQuVD09PXN8fCh0Lms9aSx0LlQ9cyx0LlA9XyhpLHMpLHQuQT0yLjUvMTIqaSx0Lkk9dC5BLHQuVj1pLzEyKnQuQyx0LkI9aS8xMip0LkMsdC5MPTApLHQuUj10aGlzLkgoKSx0LkQ9dGhpcy5VKCksdGhpcy5NfUgoKXtyZXR1cm4gdGhpcy5PLk4oKS5sYXlvdXQudGV4dENvbG9yfVUoKXtyZXR1cm4gdGhpcy5PLiQoKX1GKCl7cmV0dXJuIHRoaXMuTy5OKCkubGF5b3V0LmZvbnRTaXplfVcoKXtyZXR1cm4gdGhpcy5PLk4oKS5sYXlvdXQuZm9udEZhbWlseX19ZnVuY3Rpb24gayh0KXtyZXR1cm4gdDwwPzA6dD4yNTU/MjU1Ok1hdGgucm91bmQodCl8fDB9ZnVuY3Rpb24gRSh0KXtyZXR1cm4uMTk5KnRbMF0rLjY4Nyp0WzFdKy4xMTQqdFsyXX1jbGFzcyBOe2NvbnN0cnVjdG9yKHQsaSl7dGhpcy5qPW5ldyBNYXAsdGhpcy5xPXQsaSYmKHRoaXMuaj1pKX1ZKHQsaSl7aWYoInRyYW5zcGFyZW50Ij09PXQpcmV0dXJuIHQ7Y29uc3Qgcz10aGlzLksodCksZT1zWzNdO3JldHVybmByZ2JhKCR7c1swXX0sICR7c1sxXX0sICR7c1syXX0sICR7aSplfSlgfVoodCl7Y29uc3QgaT10aGlzLksodCk7cmV0dXJue0c6YHJnYigke2lbMF19LCAke2lbMV19LCAke2lbMl19KWAsWDpFKGkpPjE2MD8iYmxhY2siOiJ3aGl0ZSJ9fUoodCl7cmV0dXJuIEUodGhpcy5LKHQpKX10dCh0LGkscyl7Y29uc3RbZSxoLG4scl09dGhpcy5LKHQpLFtvLGwsYSx1XT10aGlzLksoaSksYz1bayhlK3MqKG8tZSkpLGsoaCtzKihsLWgpKSxrKG4rcyooYS1uKSksKGY9citzKih1LXIpLGY8PTB8fGY+MT9NYXRoLm1pbihNYXRoLm1heChmLDApLDEpOk1hdGgucm91bmQoMWU0KmYpLzFlNCldO3ZhciBmO3JldHVybmByZ2JhKCR7Y1swXX0sICR7Y1sxXX0sICR7Y1syXX0sICR7Y1szXX0pYH1LKHQpe2NvbnN0IGk9dGhpcy5qLmdldCh0KTtpZihpKXJldHVybiBpO2NvbnN0IHM9ZnVuY3Rpb24odCl7Y29uc3QgaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtpLnN0eWxlLmRpc3BsYXk9Im5vbmUiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaSksaS5zdHlsZS5jb2xvcj10O2NvbnN0IHM9d2luZG93LmdldENvbXB1dGVkU3R5bGUoaSkuY29sb3I7cmV0dXJuIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoaSksc30odCksZT1zLm1hdGNoKC9ecmdiYT9ccypcKChcZCspLFxzKihcZCspLFxzKihcZCspKD86LFxzKihcZCpcLj9cZCspKT9cKSQvKTtpZighZSl7aWYodGhpcy5xLmxlbmd0aClmb3IoY29uc3QgaSBvZiB0aGlzLnEpe2NvbnN0IHM9aSh0KTtpZihzKXJldHVybiB0aGlzLmouc2V0KHQscyksc310aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBwYXJzZSBjb2xvcjogJHt0fWApfQpjb25zdCBoPVtwYXJzZUludChlWzFdLDEwKSxwYXJzZUludChlWzJdLDEwKSxwYXJzZUludChlWzNdLDEwKSxlWzRdP3BhcnNlRmxvYXQoZVs0XSk6MV07cmV0dXJuIHRoaXMuai5zZXQodCxoKSxofX1jbGFzcyBUe2NvbnN0cnVjdG9yKCl7dGhpcy5pdD1bXX1udCh0KXt0aGlzLml0PXR9c3QodCxpLHMpe3RoaXMuaXQuZm9yRWFjaCgoZT0+e2Uuc3QodCxpLHMpfSkpfX1jbGFzcyBSe3N0KHQsaSxzKXt0LnVzZUJpdG1hcENvb3JkaW5hdGVTcGFjZSgodD0+dGhpcy5ldCh0LGkscykpKX19Y2xhc3MgUCBleHRlbmRzIFJ7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMucnQ9bnVsbH1odCh0KXt0aGlzLnJ0PXR9ZXQoe2NvbnRleHQ6dCxob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzpzfSl7aWYobnVsbD09PXRoaXMucnR8fG51bGw9PT10aGlzLnJ0Lmx0KXJldHVybjtjb25zdCBlPXRoaXMucnQubHQsaD10aGlzLnJ0LG49TWF0aC5tYXgoMSxNYXRoLmZsb29yKGkpKSUyLzIscj1yPT57dC5iZWdpblBhdGgoKTtmb3IobGV0IG89ZS50by0xO28+PWUuZnJvbTstLW8pe2NvbnN0IGU9aC5vdFtvXSxsPU1hdGgucm91bmQoZS5fdCppKStuLGE9ZS51dCpzLHU9cipzK247dC5tb3ZlVG8obCxhKSx0LmFyYyhsLGEsdSwwLDIqTWF0aC5QSSl9dC5maWxsKCl9O2guY3Q+MCYmKHQuZmlsbFN0eWxlPWguZHQscihoLmZ0K2guY3QpKSx0LmZpbGxTdHlsZT1oLnZ0LHIoaC5mdCl9fWZ1bmN0aW9uIHooKXtyZXR1cm57b3Q6W3tfdDowLHV0OjAsd3Q6MCxNdDowfV0sdnQ6IiIsZHQ6IiIsZnQ6MCxjdDowLGx0Om51bGx9fWNvbnN0IEk9e2Zyb206MCx0bzoxfTtjbGFzcyBMe2NvbnN0cnVjdG9yKHQsaSxzKXt0aGlzLmd0PW5ldyBULHRoaXMuYnQ9W10sdGhpcy5TdD1bXSx0aGlzLnh0PSEwLHRoaXMuTz10LHRoaXMuQ3Q9aSx0aGlzLnl0PXMsdGhpcy5ndC5udCh0aGlzLmJ0KX1rdCh0KXt0aGlzLlB0KCksdGhpcy54dD0hMH1UdCgpe3JldHVybiB0aGlzLnh0JiYodGhpcy5SdCgpLHRoaXMueHQ9ITEpLHRoaXMuZ3R9UHQoKXtjb25zdCB0PXRoaXMueXQuRHQoKTt0Lmxlbmd0aCE9PXRoaXMuYnQubGVuZ3RoJiYodGhpcy5TdD10Lm1hcCh6KSx0aGlzLmJ0PXRoaXMuU3QubWFwKCh0PT57Y29uc3QgaT1uZXcgUDtyZXR1cm4gaS5odCh0KSxpfSkpLHRoaXMuZ3QubnQodGhpcy5idCkpfVJ0KCl7Y29uc3QgdD0yPT09dGhpcy5DdC5OKCkubW9kZXx8IXRoaXMuQ3QuSXQoKSxpPXRoaXMueXQuVnQoKSxzPXRoaXMuQ3QuQnQoKSxlPXRoaXMuTy5FdCgpO3RoaXMuUHQoKSxpLmZvckVhY2goKChpLGgpPT57Y29uc3Qgbj10aGlzLlN0W2hdLHI9aS5BdChzKSxvPWkuTHQoKTshdCYmbnVsbCE9PXImJmkuSXQoKSYmbnVsbCE9PW8/KG4udnQ9ci56dCxuLmZ0PXIuZnQsbi5jdD1yLk90LG4ub3RbMF0uTXQ9ci5NdCxuLm90WzBdLnV0PWkuRnQoKS5OdChyLk10LG8uV3QpLG4uZHQ9ci5IdD8/dGhpcy5PLlV0KG4ub3RbMF0udXQvaS5GdCgpLiR0KCkpLG4ub3RbMF0ud3Q9cyxuLm90WzBdLl90PWUuanQocyksbi5sdD1JKTpuLmx0PW51bGx9KSl9fWNsYXNzIEYgZXh0ZW5kcyBSe2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5xdD10fWV0KHtjb250ZXh0OnQsYml0bWFwU2l6ZTppLGhvcml6b250YWxQaXhlbFJhdGlvOnMsdmVydGljYWxQaXhlbFJhdGlvOmV9KXtpZihudWxsPT09dGhpcy5xdClyZXR1cm47Y29uc3QgaD10aGlzLnF0Lll0Lkl0LG49dGhpcy5xdC5LdC5JdDtpZighaCYmIW4pcmV0dXJuO2NvbnN0IHI9TWF0aC5yb3VuZCh0aGlzLnF0Ll90KnMpLG89TWF0aC5yb3VuZCh0aGlzLnF0LnV0KmUpO3QubGluZUNhcD0iYnV0dCIsaCYmcj49MCYmKHQubGluZVdpZHRoPU1hdGguZmxvb3IodGhpcy5xdC5ZdC5jdCpzKSx0LnN0cm9rZVN0eWxlPXRoaXMucXQuWXQuUix0LmZpbGxTdHlsZT10aGlzLnF0Lll0LlIsbCh0LHRoaXMucXQuWXQuWnQpLGZ1bmN0aW9uKHQsaSxzLGUpe3QuYmVnaW5QYXRoKCk7Y29uc3QgaD10LmxpbmVXaWR0aCUyPy41OjA7dC5tb3ZlVG8oaStoLDApLHQubGluZVRvKGkraCxlKSx0LnN0cm9rZSgpfSh0LHIsMCxpLmhlaWdodCkpLG4mJm8+PTAmJih0LmxpbmVXaWR0aD1NYXRoLmZsb29yKHRoaXMucXQuS3QuY3QqZSksdC5zdHJva2VTdHlsZT10aGlzLnF0Lkt0LlIsdC5maWxsU3R5bGU9dGhpcy5xdC5LdC5SLGwodCx0aGlzLnF0Lkt0Llp0KSxhKHQsbywwLGkud2lkdGgpKX19Y2xhc3MgcXtjb25zdHJ1Y3Rvcih0LGkpe3RoaXMueHQ9ITAsdGhpcy5HdD17WXQ6e2N0OjEsWnQ6MCxSOiIiLEl0OiExfSxLdDp7Y3Q6MSxadDowLFI6IiIsSXQ6ITF9LF90OjAsdXQ6MH0sdGhpcy5YdD1uZXcgRih0aGlzLkd0KSx0aGlzLkp0PXQsdGhpcy55dD1pfWt0KCl7dGhpcy54dD0hMH1UdCh0KXtyZXR1cm4gdGhpcy54dCYmKHRoaXMuUnQoKSx0aGlzLnh0PSExKSx0aGlzLlh0fVJ0KCl7Y29uc3QgdD10aGlzLkp0Lkl0KCksaT10aGlzLnl0LlF0KCkuTigpLmNyb3NzaGFpcixzPXRoaXMuR3Q7aWYoMj09PWkubW9kZSlyZXR1cm4gcy5LdC5JdD0hMSx2b2lkKHMuWXQuSXQ9ITEpO3MuS3QuSXQ9dCYmdGhpcy5KdC50aSh0aGlzLnl0KSxzLll0Lkl0PXQmJnRoaXMuSnQuaWkoKSxzLkt0LmN0PWkuaG9yekxpbmUud2lkdGgscy5LdC5adD1pLmhvcnpMaW5lLnN0eWxlLHMuS3QuUj1pLmhvcnpMaW5lLmNvbG9yLHMuWXQuY3Q9aS52ZXJ0TGluZS53aWR0aCxzLll0Llp0PWkudmVydExpbmUuc3R5bGUscy5ZdC5SPWkudmVydExpbmUuY29sb3Iscy5fdD10aGlzLkp0Lm5pKCkscy51dD10aGlzLkp0LnNpKCl9fWZ1bmN0aW9uIFcodCxpLHMsZSxoLG4pe3QuZmlsbFJlY3QoaStuLHMsZS0yKm4sbiksdC5maWxsUmVjdChpK24scytoLW4sZS0yKm4sbiksdC5maWxsUmVjdChpLHMsbixoKSx0LmZpbGxSZWN0KGkrZS1uLHMsbixoKX1mdW5jdGlvbiBRKHQsaSxzLGUsaCxuKXt0LnNhdmUoKSx0Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbj0iY29weSIsdC5maWxsU3R5bGU9bix0LmZpbGxSZWN0KGkscyxlLGgpLHQucmVzdG9yZSgpfWZ1bmN0aW9uIEQodCxpLHMsZSxoLG4pewp0LmJlZ2luUGF0aCgpLHQucm91bmRSZWN0P3Qucm91bmRSZWN0KGkscyxlLGgsbik6KHQubGluZVRvKGkrZS1uWzFdLHMpLDAhPT1uWzFdJiZ0LmFyY1RvKGkrZSxzLGkrZSxzK25bMV0sblsxXSksdC5saW5lVG8oaStlLHMraC1uWzJdKSwwIT09blsyXSYmdC5hcmNUbyhpK2UscytoLGkrZS1uWzJdLHMraCxuWzJdKSx0LmxpbmVUbyhpK25bM10scytoKSwwIT09blszXSYmdC5hcmNUbyhpLHMraCxpLHMraC1uWzNdLG5bM10pLHQubGluZVRvKGkscytuWzBdKSwwIT09blswXSYmdC5hcmNUbyhpLHMsaStuWzBdLHMsblswXSkpfWZ1bmN0aW9uIE8odCxpLHMsZSxoLG4scj0wLG89WzAsMCwwLDBdLGw9IiIpe2lmKHQuc2F2ZSgpLCFyfHwhbHx8bD09PW4pcmV0dXJuIEQodCxpLHMsZSxoLG8pLHQuZmlsbFN0eWxlPW4sdC5maWxsKCksdm9pZCB0LnJlc3RvcmUoKTtjb25zdCBhPXIvMjt2YXIgdTtEKHQsaSthLHMrYSxlLXIsaC1yLCh1PS1hLG8ubWFwKCh0PT4wPT09dD90OnQrdSkpKSksInRyYW5zcGFyZW50IiE9PW4mJih0LmZpbGxTdHlsZT1uLHQuZmlsbCgpKSwidHJhbnNwYXJlbnQiIT09bCYmKHQubGluZVdpZHRoPXIsdC5zdHJva2VTdHlsZT1sLHQuY2xvc2VQYXRoKCksdC5zdHJva2UoKSksdC5yZXN0b3JlKCl9ZnVuY3Rpb24gSyh0LGkscyxlLGgsbixyKXt0LnNhdmUoKSx0Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbj0iY29weSI7Y29uc3Qgbz10LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsMCwwLGgpO28uYWRkQ29sb3JTdG9wKDAsbiksby5hZGRDb2xvclN0b3AoMSxyKSx0LmZpbGxTdHlsZT1vLHQuZmlsbFJlY3QoaSxzLGUsaCksdC5yZXN0b3JlKCl9Y2xhc3MgVntjb25zdHJ1Y3Rvcih0LGkpe3RoaXMuaHQodCxpKX1odCh0LGkpe3RoaXMucXQ9dCx0aGlzLmVpPWl9JHQodCxpKXtyZXR1cm4gdGhpcy5xdC5JdD90LmsrdC5BK3QuSTowfXN0KHQsaSxzLGUpe2lmKCF0aGlzLnF0Lkl0fHwwPT09dGhpcy5xdC5yaS5sZW5ndGgpcmV0dXJuO2NvbnN0IGg9dGhpcy5xdC5SLG49dGhpcy5laS5HLHI9dC51c2VCaXRtYXBDb29yZGluYXRlU3BhY2UoKHQ9Pntjb25zdCByPXQuY29udGV4dDtyLmZvbnQ9aS5QO2NvbnN0IG89dGhpcy5oaSh0LGkscyxlKSxsPW8uYWk7cmV0dXJuIG8ubGk/TyhyLGwub2ksbC5faSxsLnVpLGwuY2ksbixsLmRpLFtsLmZ0LDAsMCxsLmZ0XSxuKTpPKHIsbC5maSxsLl9pLGwudWksbC5jaSxuLGwuZGksWzAsbC5mdCxsLmZ0LDBdLG4pLHRoaXMucXQucGkmJihyLmZpbGxTdHlsZT1oLHIuZmlsbFJlY3QobC5maSxsLm1pLGwud2ktbC5maSxsLk1pKSksdGhpcy5xdC5naSYmKHIuZmlsbFN0eWxlPWkuRCxyLmZpbGxSZWN0KG8ubGk/bC5iaS1sLmRpOjAsbC5faSxsLmRpLGwuU2ktbC5faSkpLG99KSk7dC51c2VNZWRpYUNvb3JkaW5hdGVTcGFjZSgoKHtjb250ZXh0OnR9KT0+e2NvbnN0IHM9ci54aTt0LmZvbnQ9aS5QLHQudGV4dEFsaWduPXIubGk/InJpZ2h0IjoibGVmdCIsdC50ZXh0QmFzZWxpbmU9Im1pZGRsZSIsdC5maWxsU3R5bGU9aCx0LmZpbGxUZXh0KHRoaXMucXQucmkscy5DaSwocy5faStzLlNpKS8yK3MueWkpfSkpfWhpKHQsaSxzLGUpe2NvbnN0e2NvbnRleHQ6aCxiaXRtYXBTaXplOm4sbWVkaWFTaXplOnIsaG9yaXpvbnRhbFBpeGVsUmF0aW86byx2ZXJ0aWNhbFBpeGVsUmF0aW86bH09dCxhPXRoaXMucXQucGl8fCF0aGlzLnF0LmtpP2kuQzowLHU9dGhpcy5xdC5QaT9pLlM6MCxjPWkuQSt0aGlzLmVpLlRpLGY9aS5JK3RoaXMuZWkuUmksZD1pLlYsbT1pLkIscD10aGlzLnF0LnJpLGc9aS5rLHY9cy5EaShoLHApLGI9TWF0aC5jZWlsKHMuSWkoaCxwKSksdz1nK2MrZixNPWkuUytkK20rYithLHk9TWF0aC5tYXgoMSxNYXRoLmZsb29yKGwpKTtsZXQgUz1NYXRoLnJvdW5kKHcqbCk7UyUyIT15JTImJihTKz0xKTtjb25zdCB4PXU+MD9NYXRoLm1heCgxLE1hdGguZmxvb3IodSpvKSk6MCxfPU1hdGgucm91bmQoTSpvKSxDPU1hdGgucm91bmQoYSpvKSxrPXRoaXMuZWkuVmk/P3RoaXMuZWkuQmk/P3RoaXMuZWkuRWksRT1NYXRoLnJvdW5kKGsqbCktTWF0aC5mbG9vciguNSpsKSxOPU1hdGguZmxvb3IoRSt5LzItUy8yKSxUPU4rUyxSPSJyaWdodCI9PT1lLFA9Uj9yLndpZHRoLXU6dSx6PVI/bi53aWR0aC14Ong7bGV0IEksTCxGO3JldHVybiBSPyhJPXotXyxMPXotQyxGPVAtYS1kLXUpOihJPXorXyxMPXorQyxGPVArYStkKSx7bGk6UixhaTp7X2k6TixtaTpFLFNpOlQsdWk6XyxjaTpTLGZ0OjIqbyxkaTp4LG9pOkksZmk6eix3aTpMLE1pOnksYmk6bi53aWR0aH0seGk6e19pOk4vbCxTaTpUL2wsQ2k6Rix5aTp2fX19fWNsYXNzICR7Y29uc3RydWN0b3IodCl7dGhpcy5BaT17RWk6MCxHOiIjMDAwIixSaTowLFRpOjB9LHRoaXMuTGk9e3JpOiIiLEl0OiExLHBpOiEwLGtpOiExLEh0OiIiLFI6IiNGRkYiLGdpOiExLFBpOiExfSx0aGlzLnppPXtyaToiIixJdDohMSxwaTohMSxraTohMCxIdDoiIixSOiIjRkZGIixnaTohMCxQaTohMH0sdGhpcy54dD0hMCx0aGlzLk9pPW5ldyh0fHxWKSh0aGlzLkxpLHRoaXMuQWkpLHRoaXMuTmk9bmV3KHR8fFYpKHRoaXMuemksdGhpcy5BaSl9cmkoKXtyZXR1cm4gdGhpcy5GaSgpLHRoaXMuTGkucml9RWkoKXtyZXR1cm4gdGhpcy5GaSgpLHRoaXMuQWkuRWl9a3QoKXt0aGlzLnh0PSEwfSR0KHQsaT0hMSl7cmV0dXJuIE1hdGgubWF4KHRoaXMuT2kuJHQodCxpKSx0aGlzLk5pLiR0KHQsaSkpfVdpKCl7cmV0dXJuIHRoaXMuQWkuVmk/P251bGx9SGkoKXtyZXR1cm4gdGhpcy5BaS5WaT8/dGhpcy5BaS5CaT8/dGhpcy5FaSgpfVVpKHQpe3RoaXMuQWkuQmk9dD8/dm9pZCAwfSRpKCl7cmV0dXJuIHRoaXMuRmkoKSx0aGlzLkxpLkl0fHx0aGlzLnppLkl0fWppKCl7cmV0dXJuIHRoaXMuRmkoKSx0aGlzLkxpLkl0fVR0KHQpe3JldHVybiB0aGlzLkZpKCksdGhpcy5MaS5waT10aGlzLkxpLnBpJiZ0Lk4oKS50aWNrc1Zpc2libGUsdGhpcy56aS5waT10aGlzLnppLnBpJiZ0Lk4oKS50aWNrc1Zpc2libGUsdGhpcy5PaS5odCh0aGlzLkxpLHRoaXMuQWkpLHRoaXMuTmkuaHQodGhpcy56aSx0aGlzLkFpKSx0aGlzLk9pfXFpKCl7CnJldHVybiB0aGlzLkZpKCksdGhpcy5PaS5odCh0aGlzLkxpLHRoaXMuQWkpLHRoaXMuTmkuaHQodGhpcy56aSx0aGlzLkFpKSx0aGlzLk5pfUZpKCl7dGhpcy54dCYmKHRoaXMuTGkucGk9ITAsdGhpcy56aS5waT0hMSx0aGlzLllpKHRoaXMuTGksdGhpcy56aSx0aGlzLkFpKSl9fWNsYXNzIEIgZXh0ZW5kcyAke2NvbnN0cnVjdG9yKHQsaSxzKXtzdXBlcigpLHRoaXMuSnQ9dCx0aGlzLktpPWksdGhpcy5aaT1zfVlpKHQsaSxzKXtpZih0Lkl0PSExLDI9PT10aGlzLkp0Lk4oKS5tb2RlKXJldHVybjtjb25zdCBlPXRoaXMuSnQuTigpLmhvcnpMaW5lO2lmKCFlLmxhYmVsVmlzaWJsZSlyZXR1cm47Y29uc3QgaD10aGlzLktpLkx0KCk7aWYoIXRoaXMuSnQuSXQoKXx8dGhpcy5LaS5HaSgpfHxudWxsPT09aClyZXR1cm47Y29uc3Qgbj10aGlzLktpLlhpKCkuWihlLmxhYmVsQmFja2dyb3VuZENvbG9yKTtzLkc9bi5HLHQuUj1uLlg7Y29uc3Qgcj0yLzEyKnRoaXMuS2kuaygpO3MuVGk9cixzLlJpPXI7Y29uc3Qgbz10aGlzLlppKHRoaXMuS2kpO3MuRWk9by5FaSx0LnJpPXRoaXMuS2kuSmkoby5NdCxoKSx0Lkl0PSEwfX1jb25zdCBBPS9bMS05XS9nO2NsYXNzIFp7Y29uc3RydWN0b3IoKXt0aGlzLnF0PW51bGx9aHQodCl7dGhpcy5xdD10fXN0KHQsaSl7aWYobnVsbD09PXRoaXMucXR8fCExPT09dGhpcy5xdC5JdHx8MD09PXRoaXMucXQucmkubGVuZ3RoKXJldHVybjtjb25zdCBzPXQudXNlTWVkaWFDb29yZGluYXRlU3BhY2UoKCh7Y29udGV4dDp0fSk9Pih0LmZvbnQ9aS5QLE1hdGgucm91bmQoaS5RaS5JaSh0LGYodGhpcy5xdCkucmksQSkpKSkpO2lmKHM8PTApcmV0dXJuO2NvbnN0IGU9aS50bixoPXMrMiplLG49aC8yLHI9dGhpcy5xdC5ubjtsZXQgbz10aGlzLnF0LkVpLGw9TWF0aC5mbG9vcihvLW4pKy41O2w8MD8obys9TWF0aC5hYnMoMC1sKSxsPU1hdGguZmxvb3Ioby1uKSsuNSk6bCtoPnImJihvLT1NYXRoLmFicyhyLShsK2gpKSxsPU1hdGguZmxvb3Ioby1uKSsuNSk7Y29uc3QgYT1sK2gsdT1NYXRoLmNlaWwoMCtpLlMraS5DK2kuQStpLmsraS5JKTt0LnVzZUJpdG1hcENvb3JkaW5hdGVTcGFjZSgoKHtjb250ZXh0OnQsaG9yaXpvbnRhbFBpeGVsUmF0aW86cyx2ZXJ0aWNhbFBpeGVsUmF0aW86ZX0pPT57Y29uc3QgaD1mKHRoaXMucXQpO3QuZmlsbFN0eWxlPWguRztjb25zdCBuPU1hdGgucm91bmQobCpzKSxyPU1hdGgucm91bmQoMCplKSxvPU1hdGgucm91bmQoYSpzKSxjPU1hdGgucm91bmQodSplKSxkPU1hdGgucm91bmQoMipzKTtpZih0LmJlZ2luUGF0aCgpLHQubW92ZVRvKG4sciksdC5saW5lVG8obixjLWQpLHQuYXJjVG8obixjLG4rZCxjLGQpLHQubGluZVRvKG8tZCxjKSx0LmFyY1RvKG8sYyxvLGMtZCxkKSx0LmxpbmVUbyhvLHIpLHQuZmlsbCgpLGgucGkpe2NvbnN0IG49TWF0aC5yb3VuZChoLkVpKnMpLG89cixsPU1hdGgucm91bmQoKG8raS5DKSplKTt0LmZpbGxTdHlsZT1oLlI7Y29uc3QgYT1NYXRoLm1heCgxLE1hdGguZmxvb3IocykpLHU9TWF0aC5mbG9vciguNSpzKTt0LmZpbGxSZWN0KG4tdSxvLGEsbC1vKX19KSksdC51c2VNZWRpYUNvb3JkaW5hdGVTcGFjZSgoKHtjb250ZXh0OnR9KT0+e2NvbnN0IHM9Zih0aGlzLnF0KSxoPTAraS5TK2kuQytpLkEraS5rLzI7dC5mb250PWkuUCx0LnRleHRBbGlnbj0ibGVmdCIsdC50ZXh0QmFzZWxpbmU9Im1pZGRsZSIsdC5maWxsU3R5bGU9cy5SO2NvbnN0IG49aS5RaS5EaSh0LCJBcHIwIik7dC50cmFuc2xhdGUobCtlLGgrbiksdC5maWxsVGV4dChzLnJpLDAsMCl9KSl9fWNsYXNzIEh7Y29uc3RydWN0b3IodCxpLHMpe3RoaXMueHQ9ITAsdGhpcy5YdD1uZXcgWix0aGlzLkd0PXtJdDohMSxHOiIjNGM1MjVlIixSOiJ3aGl0ZSIscmk6IiIsbm46MCxFaTpOYU4scGk6ITB9LHRoaXMuQ3Q9dCx0aGlzLnNuPWksdGhpcy5aaT1zfWt0KCl7dGhpcy54dD0hMH1UdCgpe3JldHVybiB0aGlzLnh0JiYodGhpcy5SdCgpLHRoaXMueHQ9ITEpLHRoaXMuWHQuaHQodGhpcy5HdCksdGhpcy5YdH1SdCgpe2NvbnN0IHQ9dGhpcy5HdDtpZih0Lkl0PSExLDI9PT10aGlzLkN0Lk4oKS5tb2RlKXJldHVybjtjb25zdCBpPXRoaXMuQ3QuTigpLnZlcnRMaW5lO2lmKCFpLmxhYmVsVmlzaWJsZSlyZXR1cm47Y29uc3Qgcz10aGlzLnNuLkV0KCk7aWYocy5HaSgpKXJldHVybjt0Lm5uPXMubm4oKTtjb25zdCBlPXRoaXMuWmkoKTtpZihudWxsPT09ZSlyZXR1cm47dC5FaT1lLkVpO2NvbnN0IGg9cy5lbih0aGlzLkN0LkJ0KCkpO3Qucmk9cy5ybihmKGgpKSx0Lkl0PSEwO2NvbnN0IG49dGhpcy5zbi5YaSgpLlooaS5sYWJlbEJhY2tncm91bmRDb2xvcik7dC5HPW4uRyx0LlI9bi5YLHQucGk9cy5OKCkudGlja3NWaXNpYmxlfX1jbGFzcyBHe2NvbnN0cnVjdG9yKCl7dGhpcy5obj1udWxsLHRoaXMuYW49MH1sbigpe3JldHVybiB0aGlzLmFufV9uKHQpe3RoaXMuYW49dH1GdCgpe3JldHVybiB0aGlzLmhufXVuKHQpe3RoaXMuaG49dH1jbih0KXtyZXR1cm5bXX1kbigpe3JldHVybltdfUl0KCl7cmV0dXJuITB9fXZhciBVOyFmdW5jdGlvbih0KXt0W3QuTm9ybWFsPTBdPSJOb3JtYWwiLHRbdC5NYWduZXQ9MV09Ik1hZ25ldCIsdFt0LkhpZGRlbj0yXT0iSGlkZGVuIix0W3QuTWFnbmV0T0hMQz0zXT0iTWFnbmV0T0hMQyJ9KFV8fChVPXt9KSk7Y2xhc3MgWSBleHRlbmRzIEd7Y29uc3RydWN0b3IodCxpKXtzdXBlcigpLHRoaXMueXQ9bnVsbCx0aGlzLmZuPU5hTix0aGlzLnBuPTAsdGhpcy52bj0hMSx0aGlzLm1uPW5ldyBNYXAsdGhpcy53bj0hMSx0aGlzLk1uPW5ldyBXZWFrTWFwLHRoaXMuZ249bmV3IFdlYWtNYXAsdGhpcy5ibj1OYU4sdGhpcy5Tbj1OYU4sdGhpcy54bj1OYU4sdGhpcy5Dbj1OYU4sdGhpcy5zbj10LHRoaXMueW49aSx0aGlzLmtuPSgodCxpKT0+cz0+e2NvbnN0IGU9aSgpLGg9dCgpO2lmKHM9PT1mKHRoaXMueXQpLlBuKCkpcmV0dXJue010OmgsRWk6ZX07e2NvbnN0IHQ9ZihzLkx0KCkpO3JldHVybntNdDpzLlRuKGUsdCksRWk6ZX19fSkoKCgpPT50aGlzLmZuKSwoKCk9PnRoaXMuU24pKTtjb25zdCBzPSgodCxpKT0+KCk9PnsKY29uc3Qgcz10aGlzLnNuLkV0KCkuUm4odCgpKSxlPWkoKTtyZXR1cm4gcyYmTnVtYmVyLmlzRmluaXRlKGUpP3t3dDpzLEVpOmV9Om51bGx9KSgoKCk9PnRoaXMucG4pLCgoKT0+dGhpcy5uaSgpKSk7dGhpcy5Ebj1uZXcgSCh0aGlzLHQscyl9Tigpe3JldHVybiB0aGlzLnlufUluKHQsaSl7dGhpcy54bj10LHRoaXMuQ249aX1Wbigpe3RoaXMueG49TmFOLHRoaXMuQ249TmFOfUJuKCl7cmV0dXJuIHRoaXMueG59RW4oKXtyZXR1cm4gdGhpcy5Dbn1Bbih0LGkscyl7dGhpcy53bnx8KHRoaXMud249ITApLHRoaXMudm49ITAsdGhpcy5Mbih0LGkscyl9QnQoKXtyZXR1cm4gdGhpcy5wbn1uaSgpe3JldHVybiB0aGlzLmJufXNpKCl7cmV0dXJuIHRoaXMuU259SXQoKXtyZXR1cm4gdGhpcy52bn16bigpe3RoaXMudm49ITEsdGhpcy5PbigpLHRoaXMuZm49TmFOLHRoaXMuYm49TmFOLHRoaXMuU249TmFOLHRoaXMueXQ9bnVsbCx0aGlzLlZuKCksdGhpcy5ObigpfUZuKHQpe2lmKCF0aGlzLnluLmRvTm90U25hcFRvSGlkZGVuU2VyaWVzSW5kaWNlcylyZXR1cm4gdDtjb25zdCBpPXRoaXMuc24scz1pLkV0KCk7bGV0IGU9bnVsbCxoPW51bGw7Zm9yKGNvbnN0IHMgb2YgaS5XbigpKXtjb25zdCBpPXMuVW4oKS5Ibih0LC0xKTtpZihpKXtpZihpLiRuPT09dClyZXR1cm4gdDsobnVsbD09PWV8fGkuJG4+ZSkmJihlPWkuJG4pfWNvbnN0IG49cy5VbigpLkhuKHQsMSk7aWYobil7aWYobi4kbj09PXQpcmV0dXJuIHQ7KG51bGw9PT1ofHxuLiRuPGgpJiYoaD1uLiRuKX19Y29uc3Qgbj1bZSxoXS5maWx0ZXIoeSk7aWYoMD09PW4ubGVuZ3RoKXJldHVybiB0O2NvbnN0IHI9cy5qdCh0KSxvPW4ubWFwKCh0PT5NYXRoLmFicyhyLXMuanQodCkpKSk7cmV0dXJuIG5bby5pbmRleE9mKE1hdGgubWluKC4uLm8pKV19am4odCl7bGV0IGk9dGhpcy5Nbi5nZXQodCk7aXx8KGk9bmV3IHEodGhpcyx0KSx0aGlzLk1uLnNldCh0LGkpKTtsZXQgcz10aGlzLmduLmdldCh0KTtyZXR1cm4gc3x8KHM9bmV3IEwodGhpcy5zbix0aGlzLHQpLHRoaXMuZ24uc2V0KHQscykpLFtpLHNdfXRpKHQpe3JldHVybiB0PT09dGhpcy55dCYmdGhpcy55bi5ob3J6TGluZS52aXNpYmxlfWlpKCl7cmV0dXJuIHRoaXMueW4udmVydExpbmUudmlzaWJsZX1xbih0LGkpe3RoaXMudm4mJnRoaXMueXQ9PT10fHx0aGlzLm1uLmNsZWFyKCk7Y29uc3Qgcz1bXTtyZXR1cm4gdGhpcy55dD09PXQmJnMucHVzaCh0aGlzLlluKHRoaXMubW4saSx0aGlzLmtuKSksc31kbigpe3JldHVybiB0aGlzLnZuP1t0aGlzLkRuXTpbXX1Lbigpe3JldHVybiB0aGlzLnl0fU5uKCl7dGhpcy5zbi5abigpLmZvckVhY2goKHQ9Pnt0aGlzLk1uLmdldCh0KT8ua3QoKSx0aGlzLmduLmdldCh0KT8ua3QoKX0pKSx0aGlzLm1uLmZvckVhY2goKHQ9PnQua3QoKSkpLHRoaXMuRG4ua3QoKX1Hbih0KXtyZXR1cm4gdCYmIXQuUG4oKS5HaSgpP3QuUG4oKTpudWxsfUxuKHQsaSxzKXt0aGlzLlhuKHQsaSxzKSYmdGhpcy5ObigpfVhuKHQsaSxzKXtjb25zdCBlPXRoaXMuYm4saD10aGlzLlNuLG49dGhpcy5mbixyPXRoaXMucG4sbz10aGlzLnl0LGw9dGhpcy5HbihzKTt0aGlzLnBuPXQsdGhpcy5ibj1pc05hTih0KT9OYU46dGhpcy5zbi5FdCgpLmp0KHQpLHRoaXMueXQ9cztjb25zdCBhPW51bGwhPT1sP2wuTHQoKTpudWxsO3JldHVybiBudWxsIT09bCYmbnVsbCE9PWE/KHRoaXMuZm49aSx0aGlzLlNuPWwuTnQoaSxhKSk6KHRoaXMuZm49TmFOLHRoaXMuU249TmFOKSxlIT09dGhpcy5ibnx8aCE9PXRoaXMuU258fHIhPT10aGlzLnBufHxuIT09dGhpcy5mbnx8byE9PXRoaXMueXR9T24oKXtjb25zdCB0PXRoaXMuc24uSm4oKS5tYXAoKHQ9PnQuVW4oKS5RbigpKSkuZmlsdGVyKHkpLGk9MD09PXQubGVuZ3RoP251bGw6TWF0aC5tYXgoLi4udCk7dGhpcy5wbj1udWxsIT09aT9pOk5hTn1Zbih0LGkscyl7bGV0IGU9dC5nZXQoaSk7cmV0dXJuIHZvaWQgMD09PWUmJihlPW5ldyBCKHRoaXMsaSxzKSx0LnNldChpLGUpKSxlfX1mdW5jdGlvbiBqKHQpe3JldHVybiJsZWZ0Ij09PXR8fCJyaWdodCI9PT10fWNsYXNzIFh7Y29uc3RydWN0b3IodCl7dGhpcy50cz1uZXcgTWFwLHRoaXMubnM9W10sdGhpcy5zcz10fWVzKHQsaSl7Y29uc3Qgcz1mdW5jdGlvbih0LGkpe3JldHVybiB2b2lkIDA9PT10P2k6e3JzOk1hdGgubWF4KHQucnMsaS5ycyksaHM6dC5oc3x8aS5oc319KHRoaXMudHMuZ2V0KHQpLGkpO3RoaXMudHMuc2V0KHQscyl9bHMoKXtyZXR1cm4gdGhpcy5zc31fcyh0KXtjb25zdCBpPXRoaXMudHMuZ2V0KHQpO3JldHVybiB2b2lkIDA9PT1pP3tyczp0aGlzLnNzfTp7cnM6TWF0aC5tYXgodGhpcy5zcyxpLnJzKSxoczppLmhzfX11cygpe3RoaXMuY3MoKSx0aGlzLm5zPVt7ZHM6MH1dfWZzKHQpe3RoaXMuY3MoKSx0aGlzLm5zPVt7ZHM6MSxXdDp0fV19cHModCl7dGhpcy52cygpLHRoaXMubnMucHVzaCh7ZHM6NSxXdDp0fSl9Y3MoKXt0aGlzLnZzKCksdGhpcy5ucy5wdXNoKHtkczo2fSl9d3MoKXt0aGlzLmNzKCksdGhpcy5ucz1be2RzOjR9XX1Ncyh0KXt0aGlzLmNzKCksdGhpcy5ucy5wdXNoKHtkczoyLFd0OnR9KX1ncyh0KXt0aGlzLmNzKCksdGhpcy5ucy5wdXNoKHtkczozLFd0OnR9KX1icygpe3JldHVybiB0aGlzLm5zfVNzKHQpe2Zvcihjb25zdCBpIG9mIHQubnMpdGhpcy54cyhpKTt0aGlzLnNzPU1hdGgubWF4KHRoaXMuc3MsdC5zcyksdC50cy5mb3JFYWNoKCgodCxpKT0+e3RoaXMuZXMoaSx0KX0pKX1zdGF0aWMgQ3MoKXtyZXR1cm4gbmV3IFgoMil9c3RhdGljIHlzKCl7cmV0dXJuIG5ldyBYKDMpfXhzKHQpe3N3aXRjaCh0LmRzKXtjYXNlIDA6dGhpcy51cygpO2JyZWFrO2Nhc2UgMTp0aGlzLmZzKHQuV3QpO2JyZWFrO2Nhc2UgMjp0aGlzLk1zKHQuV3QpO2JyZWFrO2Nhc2UgMzp0aGlzLmdzKHQuV3QpO2JyZWFrO2Nhc2UgNDp0aGlzLndzKCk7YnJlYWs7Y2FzZSA1OnRoaXMucHModC5XdCk7YnJlYWs7Y2FzZSA2OnRoaXMudnMoKX19dnMoKXtjb25zdCB0PXRoaXMubnMuZmluZEluZGV4KCh0PT41PT09dC5kcykpOy0xIT09dCYmdGhpcy5ucy5zcGxpY2UodCwxKX19CmNsYXNzIEp7Zm9ybWF0VGlja21hcmtzKHQpe3JldHVybiB0Lm1hcCgodD0+dGhpcy5mb3JtYXQodCkpKX19ZnVuY3Rpb24gdHQodCxpKXtpZighZyh0KSlyZXR1cm4ibi9hIjtpZighdihpKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGxlbmd0aCIpO2lmKGk8MHx8aT4xNil0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGxlbmd0aCIpO3JldHVybiAwPT09aT90LnRvU3RyaW5nKCk6KCIwMDAwMDAwMDAwMDAwMDAwIit0LnRvU3RyaW5nKCkpLnNsaWNlKC1pKX1jbGFzcyBpdCBleHRlbmRzIEp7Y29uc3RydWN0b3IodCxpKXtpZihzdXBlcigpLGl8fChpPTEpLGcodCkmJnYodCl8fCh0PTEwMCksdDwwKXRocm93IG5ldyBUeXBlRXJyb3IoImludmFsaWQgYmFzZSIpO3RoaXMuS2k9dCx0aGlzLmtzPWksdGhpcy5QcygpfWZvcm1hdCh0KXtjb25zdCBpPXQ8MD8i4oiSIjoiIjtyZXR1cm4gdD1NYXRoLmFicyh0KSxpK3RoaXMuVHModCl9UHMoKXtpZih0aGlzLlJzPTAsdGhpcy5LaT4wJiZ0aGlzLmtzPjApe2xldCB0PXRoaXMuS2k7Zm9yKDt0PjE7KXQvPTEwLHRoaXMuUnMrK319VHModCl7Y29uc3QgaT10aGlzLktpL3RoaXMua3M7bGV0IHM9TWF0aC5mbG9vcih0KSxlPSIiO2NvbnN0IGg9dm9pZCAwIT09dGhpcy5Scz90aGlzLlJzOk5hTjtpZihpPjEpe2xldCBuPSsoTWF0aC5yb3VuZCh0KmkpLXMqaSkudG9GaXhlZCh0aGlzLlJzKTtuPj1pJiYobi09aSxzKz0xKSxlPSIuIit0dCgrbi50b0ZpeGVkKHRoaXMuUnMpKnRoaXMua3MsaCl9ZWxzZSBzPU1hdGgucm91bmQocyppKS9pLGg+MCYmKGU9Ii4iK3R0KDAsaCkpO3JldHVybiBzLnRvRml4ZWQoMCkrZX19Y2xhc3Mgc3QgZXh0ZW5kcyBpdHtjb25zdHJ1Y3Rvcih0PTEwMCl7c3VwZXIodCl9Zm9ybWF0KHQpe3JldHVybmAke3N1cGVyLmZvcm1hdCh0KX0lYH19Y2xhc3MgZXQgZXh0ZW5kcyBKe2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5Ecz10fWZvcm1hdCh0KXtsZXQgaT0iIjtyZXR1cm4gdDwwJiYoaT0iLSIsdD0tdCksdDw5OTU/aSt0aGlzLklzKHQpOnQ8OTk5OTk1P2krdGhpcy5Jcyh0LzFlMykrIksiOnQ8OTk5OTk5OTk1Pyh0PTFlMypNYXRoLnJvdW5kKHQvMWUzKSxpK3RoaXMuSXModC8xZTYpKyJNIik6KHQ9MWU2Kk1hdGgucm91bmQodC8xZTYpLGkrdGhpcy5Jcyh0LzFlOSkrIkIiKX1Jcyh0KXtsZXQgaTtjb25zdCBzPU1hdGgucG93KDEwLHRoaXMuRHMpO3JldHVybiBpPSh0PU1hdGgucm91bmQodCpzKS9zKT49MWUtMTUmJnQ8MT90LnRvRml4ZWQodGhpcy5EcykucmVwbGFjZSgvXC4/MCskLywiIik6U3RyaW5nKHQpLGkucmVwbGFjZSgvKFwuWzEtOV0qKTArJC8sKCh0LGkpPT5pKSl9fWNvbnN0IGh0PS9bMi05XS9nO2NsYXNzIG50e2NvbnN0cnVjdG9yKHQ9NTApe3RoaXMuVnM9MCx0aGlzLkJzPTEsdGhpcy5Fcz0xLHRoaXMuQXM9e30sdGhpcy5Mcz1uZXcgTWFwLHRoaXMuenM9dH1Pcygpe3RoaXMuVnM9MCx0aGlzLkxzLmNsZWFyKCksdGhpcy5Ccz0xLHRoaXMuRXM9MSx0aGlzLkFzPXt9fUlpKHQsaSxzKXtyZXR1cm4gdGhpcy5Ocyh0LGkscykud2lkdGh9RGkodCxpLHMpe2NvbnN0IGU9dGhpcy5Ocyh0LGkscyk7cmV0dXJuKChlLmFjdHVhbEJvdW5kaW5nQm94QXNjZW50fHwwKS0oZS5hY3R1YWxCb3VuZGluZ0JveERlc2NlbnR8fDApKS8yfU5zKHQsaSxzKXtjb25zdCBlPXN8fGh0LGg9U3RyaW5nKGkpLnJlcGxhY2UoZSwiMCIpO2lmKHRoaXMuTHMuaGFzKGgpKXJldHVybiBjKHRoaXMuTHMuZ2V0KGgpKS5GcztpZih0aGlzLlZzPT09dGhpcy56cyl7Y29uc3QgdD10aGlzLkFzW3RoaXMuRXNdO2RlbGV0ZSB0aGlzLkFzW3RoaXMuRXNdLHRoaXMuTHMuZGVsZXRlKHQpLHRoaXMuRXMrKyx0aGlzLlZzLS19dC5zYXZlKCksdC50ZXh0QmFzZWxpbmU9Im1pZGRsZSI7Y29uc3Qgbj10Lm1lYXN1cmVUZXh0KGgpO3JldHVybiB0LnJlc3RvcmUoKSwwPT09bi53aWR0aCYmaS5sZW5ndGh8fCh0aGlzLkxzLnNldChoLHtGczpuLFdzOnRoaXMuQnN9KSx0aGlzLkFzW3RoaXMuQnNdPWgsdGhpcy5WcysrLHRoaXMuQnMrKyksbn19Y2xhc3MgcnR7Y29uc3RydWN0b3IodCl7dGhpcy5Icz1udWxsLHRoaXMuTT1udWxsLHRoaXMuVXM9InJpZ2h0Iix0aGlzLiRzPXR9anModCxpLHMpe3RoaXMuSHM9dCx0aGlzLk09aSx0aGlzLlVzPXN9c3QodCl7bnVsbCE9PXRoaXMuTSYmbnVsbCE9PXRoaXMuSHMmJnRoaXMuSHMuc3QodCx0aGlzLk0sdGhpcy4kcyx0aGlzLlVzKX19Y2xhc3Mgb3R7Y29uc3RydWN0b3IodCxpLHMpe3RoaXMucXM9dCx0aGlzLiRzPW5ldyBudCg1MCksdGhpcy5Zcz1pLHRoaXMuTz1zLHRoaXMuRj0tMSx0aGlzLlh0PW5ldyBydCh0aGlzLiRzKX1UdCgpe2NvbnN0IHQ9dGhpcy5PLktzKHRoaXMuWXMpO2lmKG51bGw9PT10KXJldHVybiBudWxsO2NvbnN0IGk9dC5acyh0aGlzLllzKT90LkdzKCk6dGhpcy5Zcy5GdCgpO2lmKG51bGw9PT1pKXJldHVybiBudWxsO2NvbnN0IHM9dC5YcyhpKTtpZigib3ZlcmxheSI9PT1zKXJldHVybiBudWxsO2NvbnN0IGU9dGhpcy5PLkpzKCk7cmV0dXJuIGUuayE9PXRoaXMuRiYmKHRoaXMuRj1lLmssdGhpcy4kcy5PcygpKSx0aGlzLlh0LmpzKHRoaXMucXMucWkoKSxlLHMpLHRoaXMuWHR9fWNsYXNzIGx0IGV4dGVuZHMgUntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5xdD1udWxsfWh0KHQpe3RoaXMucXQ9dH1Rcyh0LGkpe2lmKCF0aGlzLnF0Py5JdClyZXR1cm4gbnVsbDtjb25zdHt1dDpzLGN0OmUsdGU6aH09dGhpcy5xdDtyZXR1cm4gaT49cy1lLTcmJmk8PXMrZSs3P3tpZTp0aGlzLnF0LG5lOk1hdGguYWJzKGktcyksc2U6MixlZToicHJpY2UtbGluZSIsdGU6aH06bnVsbH1ldCh7Y29udGV4dDp0LGJpdG1hcFNpemU6aSxob3Jpem9udGFsUGl4ZWxSYXRpbzpzLHZlcnRpY2FsUGl4ZWxSYXRpbzplfSl7aWYobnVsbD09PXRoaXMucXQpcmV0dXJuO2lmKCExPT09dGhpcy5xdC5JdClyZXR1cm47Y29uc3QgaD1NYXRoLnJvdW5kKHRoaXMucXQudXQqZSk7aDwwfHxoPmkuaGVpZ2h0fHwodC5saW5lQ2FwPSJidXR0Iix0LnN0cm9rZVN0eWxlPXRoaXMucXQuUiwKdC5saW5lV2lkdGg9TWF0aC5mbG9vcih0aGlzLnF0LmN0KnMpLGwodCx0aGlzLnF0Llp0KSxhKHQsaCwwLGkud2lkdGgpKX19Y2xhc3MgYXR7Y29uc3RydWN0b3IodCl7dGhpcy5yZT17dXQ6MCxSOiJyZ2JhKDAsIDAsIDAsIDApIixjdDoxLFp0OjAsSXQ6ITF9LHRoaXMuaGU9bmV3IGx0LHRoaXMueHQ9ITAsdGhpcy5hZT10LHRoaXMubGU9dC5RdCgpLHRoaXMuaGUuaHQodGhpcy5yZSl9a3QoKXt0aGlzLnh0PSEwfVR0KCl7cmV0dXJuIHRoaXMuYWUuSXQoKT8odGhpcy54dCYmKHRoaXMub2UoKSx0aGlzLnh0PSExKSx0aGlzLmhlKTpudWxsfX1jbGFzcyB1dCBleHRlbmRzIGF0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpfW9lKCl7dGhpcy5yZS5JdD0hMTtjb25zdCB0PXRoaXMuYWUuRnQoKSxpPXQuX2UoKS5fZTtpZigyIT09aSYmMyE9PWkpcmV0dXJuO2NvbnN0IHM9dGhpcy5hZS5OKCk7aWYoIXMuYmFzZUxpbmVWaXNpYmxlfHwhdGhpcy5hZS5JdCgpKXJldHVybjtjb25zdCBlPXRoaXMuYWUuTHQoKTtudWxsIT09ZSYmKHRoaXMucmUuSXQ9ITAsdGhpcy5yZS51dD10Lk50KGUuV3QsZS5XdCksdGhpcy5yZS5SPXMuYmFzZUxpbmVDb2xvcix0aGlzLnJlLmN0PXMuYmFzZUxpbmVXaWR0aCx0aGlzLnJlLlp0PXMuYmFzZUxpbmVTdHlsZSl9fWNsYXNzIGN0IGV4dGVuZHMgUntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5xdD1udWxsfWh0KHQpe3RoaXMucXQ9dH11ZSgpe3JldHVybiB0aGlzLnF0fWV0KHtjb250ZXh0OnQsaG9yaXpvbnRhbFBpeGVsUmF0aW86aSx2ZXJ0aWNhbFBpeGVsUmF0aW86c30pe2NvbnN0IGU9dGhpcy5xdDtpZihudWxsPT09ZSlyZXR1cm47Y29uc3QgaD1NYXRoLm1heCgxLE1hdGguZmxvb3IoaSkpLG49aCUyLzIscj1NYXRoLnJvdW5kKGUuY2UueCppKStuLG89ZS5jZS55KnM7dC5maWxsU3R5bGU9ZS5kZSx0LmJlZ2luUGF0aCgpO2NvbnN0IGw9TWF0aC5tYXgoMiwxLjUqZS5mZSkqaTt0LmFyYyhyLG8sbCwwLDIqTWF0aC5QSSwhMSksdC5maWxsKCksdC5maWxsU3R5bGU9ZS5wZSx0LmJlZ2luUGF0aCgpLHQuYXJjKHIsbyxlLmZ0KmksMCwyKk1hdGguUEksITEpLHQuZmlsbCgpLHQubGluZVdpZHRoPWgsdC5zdHJva2VTdHlsZT1lLnZlLHQuYmVnaW5QYXRoKCksdC5hcmMocixvLGUuZnQqaStoLzIsMCwyKk1hdGguUEksITEpLHQuc3Ryb2tlKCl9fWNvbnN0IGZ0PVt7bWU6MCx3ZTouMjUsTWU6NCxnZToxMCxiZTouMjUsU2U6MCx4ZTouNCxDZTouOH0se21lOi4yNSx3ZTouNTI1LE1lOjEwLGdlOjE0LGJlOjAsU2U6MCx4ZTouOCxDZTowfSx7bWU6LjUyNSx3ZToxLE1lOjE0LGdlOjE0LGJlOjAsU2U6MCx4ZTowLENlOjB9XTtjbGFzcyBkdHtjb25zdHJ1Y3Rvcih0KXt0aGlzLlh0PW5ldyBjdCx0aGlzLnh0PSEwLHRoaXMueWU9ITAsdGhpcy5rZT1wZXJmb3JtYW5jZS5ub3coKSx0aGlzLlBlPXRoaXMua2UtMSx0aGlzLlRlPXR9UmUoKXt0aGlzLlBlPXRoaXMua2UtMSx0aGlzLmt0KCl9RGUoKXtpZih0aGlzLmt0KCksMj09PXRoaXMuVGUuTigpLmxhc3RQcmljZUFuaW1hdGlvbil7Y29uc3QgdD1wZXJmb3JtYW5jZS5ub3coKSxpPXRoaXMuUGUtdDtpZihpPjApcmV0dXJuIHZvaWQoaTw2NTAmJih0aGlzLlBlKz0yNjAwKSk7dGhpcy5rZT10LHRoaXMuUGU9dCsyNjAwfX1rdCgpe3RoaXMueHQ9ITB9SWUoKXt0aGlzLnllPSEwfUl0KCl7cmV0dXJuIDAhPT10aGlzLlRlLk4oKS5sYXN0UHJpY2VBbmltYXRpb259VmUoKXtzd2l0Y2godGhpcy5UZS5OKCkubGFzdFByaWNlQW5pbWF0aW9uKXtjYXNlIDA6cmV0dXJuITE7Y2FzZSAxOnJldHVybiEwO2Nhc2UgMjpyZXR1cm4gcGVyZm9ybWFuY2Uubm93KCk8PXRoaXMuUGV9fVR0KCl7cmV0dXJuIHRoaXMueHQ/KHRoaXMuUnQoKSx0aGlzLnh0PSExLHRoaXMueWU9ITEpOnRoaXMueWUmJih0aGlzLkJlKCksdGhpcy55ZT0hMSksdGhpcy5YdH1SdCgpe3RoaXMuWHQuaHQobnVsbCk7Y29uc3QgdD10aGlzLlRlLlF0KCkuRXQoKSxpPXQuRWUoKSxzPXRoaXMuVGUuTHQoKTtpZihudWxsPT09aXx8bnVsbD09PXMpcmV0dXJuO2NvbnN0IGU9dGhpcy5UZS5BZSghMCk7aWYoZS5MZXx8IWkuemUoZS4kbikpcmV0dXJuO2NvbnN0IGg9e3g6dC5qdChlLiRuKSx5OnRoaXMuVGUuRnQoKS5OdChlLk10LHMuV3QpfSxuPWUuUixyPXRoaXMuVGUuTigpLmxpbmVXaWR0aCxvPXRoaXMuT2UodGhpcy5OZSgpLG4pO3RoaXMuWHQuaHQoe2RlOm4sZmU6cixwZTpvLnBlLHZlOm8udmUsZnQ6by5mdCxjZTpofSl9QmUoKXtjb25zdCB0PXRoaXMuWHQudWUoKTtpZihudWxsIT09dCl7Y29uc3QgaT10aGlzLk9lKHRoaXMuTmUoKSx0LmRlKTt0LnBlPWkucGUsdC52ZT1pLnZlLHQuZnQ9aS5mdH19TmUoKXtyZXR1cm4gdGhpcy5WZSgpP3BlcmZvcm1hbmNlLm5vdygpLXRoaXMua2U6MjU5OX1GZSh0LGkscyxlKXtjb25zdCBoPXMrKGUtcykqaTtyZXR1cm4gdGhpcy5UZS5RdCgpLlhpKCkuWSh0LGgpfU9lKHQsaSl7Y29uc3Qgcz10JTI2MDAvMjYwMDtsZXQgZTtmb3IoY29uc3QgdCBvZiBmdClpZihzPj10Lm1lJiZzPD10LndlKXtlPXQ7YnJlYWt9dSh2b2lkIDAhPT1lLCJMYXN0IHByaWNlIGFuaW1hdGlvbiBpbnRlcm5hbCBsb2dpYyBlcnJvciIpO2NvbnN0IGg9KHMtZS5tZSkvKGUud2UtZS5tZSk7cmV0dXJue3BlOnRoaXMuRmUoaSxoLGUuYmUsZS5TZSksdmU6dGhpcy5GZShpLGgsZS54ZSxlLkNlKSxmdDoobj1oLHI9ZS5NZSxvPWUuZ2Uscisoby1yKSpuKX07dmFyIG4scixvfX1jbGFzcyBtdCBleHRlbmRzIGF0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpfW9lKCl7Y29uc3QgdD10aGlzLnJlO3QuSXQ9ITE7Y29uc3QgaT10aGlzLmFlLk4oKTtpZighaS5wcmljZUxpbmVWaXNpYmxlfHwhdGhpcy5hZS5JdCgpKXJldHVybjtjb25zdCBzPXRoaXMuYWUuQWUoMD09PWkucHJpY2VMaW5lU291cmNlKTtzLkxlfHwodC5JdD0hMCx0LnV0PXMuRWksdC5SPXRoaXMuYWUuV2Uocy5SKSx0LmN0PWkucHJpY2VMaW5lV2lkdGgsdC5adD1pLnByaWNlTGluZVN0eWxlKX19Y2xhc3MgcHQgZXh0ZW5kcyAke2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5KdD10fQpZaSh0LGkscyl7dC5JdD0hMSxpLkl0PSExO2NvbnN0IGU9dGhpcy5KdDtpZighZS5JdCgpKXJldHVybjtjb25zdCBoPWUuTigpLG49aC5sYXN0VmFsdWVWaXNpYmxlLHI9IiIhPT1lLkhlKCksbz0wPT09aC5zZXJpZXNMYXN0VmFsdWVNb2RlLGw9ZS5BZSghMSk7aWYobC5MZSlyZXR1cm47biYmKHQucmk9dGhpcy5VZShsLG4sbyksdC5JdD0wIT09dC5yaS5sZW5ndGgpLChyfHxvKSYmKGkucmk9dGhpcy4kZShsLG4scixvKSxpLkl0PWkucmkubGVuZ3RoPjApO2NvbnN0IGE9ZS5XZShsLlIpLHU9dGhpcy5KdC5RdCgpLlhpKCkuWihhKTtzLkc9dS5HLHMuRWk9bC5FaSxpLkh0PWUuUXQoKS5VdChsLkVpL2UuRnQoKS4kdCgpKSx0Lkh0PWEsdC5SPXUuWCxpLlI9dS5YfSRlKHQsaSxzLGUpe2xldCBoPSIiO2NvbnN0IG49dGhpcy5KdC5IZSgpO3JldHVybiBzJiYwIT09bi5sZW5ndGgmJihoKz1gJHtufSBgKSxpJiZlJiYoaCs9dGhpcy5KdC5GdCgpLmplKCk/dC5xZTp0LlllKSxoLnRyaW0oKX1VZSh0LGkscyl7cmV0dXJuIGk/cz90aGlzLkp0LkZ0KCkuamUoKT90LlllOnQucWU6dC5yaToiIn19ZnVuY3Rpb24gZ3QodCxpLHMsZSl7Y29uc3QgaD1OdW1iZXIuaXNGaW5pdGUoaSksbj1OdW1iZXIuaXNGaW5pdGUocyk7cmV0dXJuIGgmJm4/dChpLHMpOmh8fG4/aD9pOnM6ZX1jbGFzcyB2dHtjb25zdHJ1Y3Rvcih0LGkpe3RoaXMuS2U9dCx0aGlzLlplPWl9R2UodCl7cmV0dXJuIG51bGwhPT10JiZ0aGlzLktlPT09dC5LZSYmdGhpcy5aZT09PXQuWmV9WGUoKXtyZXR1cm4gbmV3IHZ0KHRoaXMuS2UsdGhpcy5aZSl9SmUoKXtyZXR1cm4gdGhpcy5LZX1RZSgpe3JldHVybiB0aGlzLlplfXRyKCl7cmV0dXJuIHRoaXMuWmUtdGhpcy5LZX1HaSgpe3JldHVybiB0aGlzLlplPT09dGhpcy5LZXx8TnVtYmVyLmlzTmFOKHRoaXMuWmUpfHxOdW1iZXIuaXNOYU4odGhpcy5LZSl9U3ModCl7cmV0dXJuIG51bGw9PT10P3RoaXM6bmV3IHZ0KGd0KE1hdGgubWluLHRoaXMuSmUoKSx0LkplKCksLTEvMCksZ3QoTWF0aC5tYXgsdGhpcy5RZSgpLHQuUWUoKSwxLzApKX1pcih0KXtpZighZyh0KSlyZXR1cm47aWYoMD09dGhpcy5aZS10aGlzLktlKXJldHVybjtjb25zdCBpPS41Kih0aGlzLlplK3RoaXMuS2UpO2xldCBzPXRoaXMuWmUtaSxlPXRoaXMuS2UtaTtzKj10LGUqPXQsdGhpcy5aZT1pK3MsdGhpcy5LZT1pK2V9bnIodCl7Zyh0KSYmKHRoaXMuWmUrPXQsdGhpcy5LZSs9dCl9c3IoKXtyZXR1cm57bWluVmFsdWU6dGhpcy5LZSxtYXhWYWx1ZTp0aGlzLlplfX1zdGF0aWMgZXIodCl7cmV0dXJuIG51bGw9PT10P251bGw6bmV3IHZ0KHQubWluVmFsdWUsdC5tYXhWYWx1ZSl9fWNsYXNzIGJ0e2NvbnN0cnVjdG9yKHQsaSl7dGhpcy5ycj10LHRoaXMuaHI9aXx8bnVsbH1hcigpe3JldHVybiB0aGlzLnJyfWxyKCl7cmV0dXJuIHRoaXMuaHJ9c3IoKXtyZXR1cm57cHJpY2VSYW5nZTpudWxsPT09dGhpcy5ycj9udWxsOnRoaXMucnIuc3IoKSxtYXJnaW5zOnRoaXMuaHJ8fHZvaWQgMH19c3RhdGljIGVyKHQpe3JldHVybiBudWxsPT09dD9udWxsOm5ldyBidCh2dC5lcih0LnByaWNlUmFuZ2UpLHQubWFyZ2lucyl9fWNvbnN0IHd0PVsyLDQsOCwxNiwzMiw2NCwxMjgsMjU2LDUxMl07Y2xhc3MgTXQgZXh0ZW5kcyBhdHtjb25zdHJ1Y3Rvcih0LGkpe3N1cGVyKHQpLHRoaXMuX3I9aX1vZSgpe2NvbnN0IHQ9dGhpcy5yZTt0Lkl0PSExO2NvbnN0IGk9dGhpcy5fci5OKCk7aWYoIXRoaXMuYWUuSXQoKXx8IWkubGluZVZpc2libGUpcmV0dXJuO2NvbnN0IHM9dGhpcy5fci51cigpO251bGwhPT1zJiYodC5JdD0hMCx0LnV0PXMsdC5SPWkuY29sb3IsdC5jdD1pLmxpbmVXaWR0aCx0Llp0PWkubGluZVN0eWxlLHQudGU9dGhpcy5fci5OKCkuaWQpfX1jbGFzcyB5dCBleHRlbmRzICR7Y29uc3RydWN0b3IodCxpKXtzdXBlcigpLHRoaXMuVGU9dCx0aGlzLl9yPWl9WWkodCxpLHMpe3QuSXQ9ITEsaS5JdD0hMTtjb25zdCBlPXRoaXMuX3IuTigpLGg9ZS5heGlzTGFiZWxWaXNpYmxlLG49IiIhPT1lLnRpdGxlLHI9dGhpcy5UZTtpZighaHx8IXIuSXQoKSlyZXR1cm47Y29uc3Qgbz10aGlzLl9yLnVyKCk7aWYobnVsbD09PW8pcmV0dXJuO24mJihpLnJpPWUudGl0bGUsaS5JdD0hMCksaS5IdD1yLlF0KCkuVXQoby9yLkZ0KCkuJHQoKSksdC5yaT10aGlzLmNyKGUucHJpY2UpLHQuSXQ9ITA7Y29uc3QgbD10aGlzLlRlLlF0KCkuWGkoKS5aKGUuYXhpc0xhYmVsQ29sb3J8fGUuY29sb3IpO3MuRz1sLkc7Y29uc3QgYT1lLmF4aXNMYWJlbFRleHRDb2xvcnx8bC5YO3QuUj1hLGkuUj1hLHMuRWk9b31jcih0KXtjb25zdCBpPXRoaXMuVGUuTHQoKTtyZXR1cm4gbnVsbD09PWk/IiI6dGhpcy5UZS5GdCgpLkppKHQsaS5XdCl9fWNsYXNzIFN0e2NvbnN0cnVjdG9yKHQsaSl7dGhpcy5UZT10LHRoaXMueW49aSx0aGlzLmRyPW5ldyBNdCh0LHRoaXMpLHRoaXMucXM9bmV3IHl0KHQsdGhpcyksdGhpcy5wcj1uZXcgb3QodGhpcy5xcyx0LHQuUXQoKSl9dnIodCl7cCh0aGlzLnluLHQpLHRoaXMua3QoKSx0aGlzLlRlLlF0KCkubXIoKX1OKCl7cmV0dXJuIHRoaXMueW59d3IoKXtyZXR1cm4gdGhpcy5kcn1Ncigpe3JldHVybiB0aGlzLnByfWdyKCl7cmV0dXJuIHRoaXMucXN9a3QoKXt0aGlzLmRyLmt0KCksdGhpcy5xcy5rdCgpfXVyKCl7Y29uc3QgdD10aGlzLlRlLGk9dC5GdCgpO2lmKHQuUXQoKS5FdCgpLkdpKCl8fGkuR2koKSlyZXR1cm4gbnVsbDtjb25zdCBzPXQuTHQoKTtyZXR1cm4gbnVsbD09PXM/bnVsbDppLk50KHRoaXMueW4ucHJpY2Uscy5XdCl9fWNsYXNzIHh0e2NvbnN0cnVjdG9yKCl7dGhpcy5icj1uZXcgV2Vha01hcH1Tcih0LGkscyl7Y29uc3QgZT0xL2kqcztpZih0Pj1lKXJldHVybiAxO2NvbnN0IGg9ZS90LG49TWF0aC5wb3coMixNYXRoLmZsb29yKE1hdGgubG9nMihoKSkpO3JldHVybiBNYXRoLm1pbihuLDUxMil9Q3IodCxpLHMsZT0hMSxoKXtpZigwPT09dC5sZW5ndGh8fGk8PTEpcmV0dXJuIHQ7Y29uc3Qgbj10aGlzLnlyKGkpO2lmKG48PTEpcmV0dXJuIHQ7Y29uc3Qgcj10aGlzLmtyKHQpO2xldCBvPXIuUHIuZ2V0KG4pCjtyZXR1cm4gdm9pZCAwIT09b3x8KG89dGhpcy5Ucih0LG4scyxlLGgsci5Qciksci5Qci5zZXQobixvKSksb31Scih0LGkscyxlLGg9ITEsbil7aWYoczwxfHwwPT09dC5sZW5ndGgpcmV0dXJuIHQ7Y29uc3Qgcj10aGlzLmtyKHQpLG89ci5Qci5nZXQocyk7aWYoIW8pcmV0dXJuIHRoaXMuQ3IodCxzLGUsaCxuKTtjb25zdCBsPXRoaXMuRHIodCxpLHMsbyxoLGUsbik7cmV0dXJuIHIuUHIuc2V0KHMsbCksbH15cih0KXtpZih0PD0yKXJldHVybiAyO2Zvcihjb25zdCBpIG9mIHd0KWlmKHQ8PWkpcmV0dXJuIGk7cmV0dXJuIDUxMn1Jcih0KXtpZigwPT09dC5sZW5ndGgpcmV0dXJuIDA7Y29uc3QgaT10WzBdLHM9dFt0Lmxlbmd0aC0xXTtyZXR1cm4gMzEqdC5sZW5ndGgrMTcqaS4kbisxMypzLiRufVRyKHQsaSxzLGU9ITEsaCxuPW5ldyBNYXApe2lmKDI9PT1pKXJldHVybiB0aGlzLlZyKHQsMixzLGUsaCk7Y29uc3Qgcj1pLzI7bGV0IG89bi5nZXQocik7cmV0dXJuIG98fChvPXRoaXMuVHIodCxyLHMsZSxoLG4pLG4uc2V0KHIsbykpLHRoaXMuQnIobyxzLGUsaCl9VnIodCxpLHMsZT0hMSxoKXtjb25zdCBuPXRoaXMuRXIodCxpLHMsZSxoKTtyZXR1cm4gdGhpcy5BcihuLGUpfUJyKHQsaSxzPSExLGUpe2NvbnN0IGg9dGhpcy5Fcih0LDIsaSxzLGUpO3JldHVybiB0aGlzLkFyKGgscyl9RXIodCxpLHMsZT0hMSxoKXtjb25zdCBuPVtdO2ZvcihsZXQgcj0wO3I8dC5sZW5ndGg7cis9aSlpZih0Lmxlbmd0aC1yPj1pKXtjb25zdCBpPXRoaXMuTHIodFtyXSx0W3IrMV0scyxlLGgpO2kuenI9ITEsbi5wdXNoKGkpfWVsc2UgaWYoMD09PW4ubGVuZ3RoKW4ucHVzaCh0aGlzLk9yKHRbcl0sITApKTtlbHNle2NvbnN0IGk9bltuLmxlbmd0aC0xXTtuW24ubGVuZ3RoLTFdPXRoaXMuTnIoaSx0W3JdLHMsZSxoKX1yZXR1cm4gbn1Gcih0LGkpe3JldHVybih0Pz8xKSsoaT8/MSl9THIodCxpLHMsZT0hMSxoKXtpZighZXx8IXN8fCFoKXtjb25zdCBzPXQuV3RbMV0+aS5XdFsxXT90Lld0WzFdOmkuV3RbMV0sZT10Lld0WzJdPGkuV3RbMl0/dC5XdFsyXTppLld0WzJdO3JldHVybntXcjp0LiRuLEhyOmkuJG4sVXI6dC53dCwkcjppLnd0LGpyOnQuV3RbMF0scXI6cyxZcjplLEtyOmkuV3RbM10sWnI6dGhpcy5Gcih0LlpyLGkuWnIpLEdyOnZvaWQgMCx6cjohMX19Y29uc3Qgbj1zKHRoaXMuWHIodCxoKSx0aGlzLlhyKGksaCkpLHI9aChuKSxvPXIubGVuZ3RoP3Jbci5sZW5ndGgtMV06MDtyZXR1cm57V3I6dC4kbixIcjppLiRuLFVyOnQud3QsJHI6aS53dCxqcjp0Lld0WzBdLHFyOk1hdGgubWF4KHQuV3RbMV0sbyksWXI6TWF0aC5taW4odC5XdFsyXSxvKSxLcjpvLFpyOnRoaXMuRnIodC5acixpLlpyKSxHcjpuLHpyOiExfX1Ocih0LGkscyxlPSExLGgpe2lmKCFlfHwhc3x8IWgpcmV0dXJue1dyOnQuV3IsSHI6aS4kbixVcjp0LlVyLCRyOmkud3QsanI6dC5qcixxcjp0LnFyPmkuV3RbMV0/dC5xcjppLld0WzFdLFlyOnQuWXI8aS5XdFsyXT90LllyOmkuV3RbMl0sS3I6aS5XdFszXSxacjp0LlpyKyhpLlpyPz8xKSxHcjp0LkdyLHpyOiExfTtjb25zdCBuPXQuR3Iscj10aGlzLlhyKGksaCksbz1uP3tkYXRhOm4saW5kZXg6dC5XcixvcmlnaW5hbFRpbWU6dC5Vcix0aW1lOnQuVXIscHJpY2VWYWx1ZXM6aChuKX06bnVsbCxsPW8/cyhvLHIpOnIuZGF0YSxhPW8/aChsKTpyLnByaWNlVmFsdWVzLHU9YS5sZW5ndGg/YVthLmxlbmd0aC0xXTowO3JldHVybntXcjp0LldyLEhyOmkuJG4sVXI6dC5VciwkcjppLnd0LGpyOnQuanIscXI6TWF0aC5tYXgodC5xcix1KSxZcjpNYXRoLm1pbih0LllyLHUpLEtyOnUsWnI6dC5acisoaS5acj8/MSksR3I6bCx6cjohMX19SnIodCxpLHMsZSxoLG4scj0hMSxvKXtjb25zdCBsPWk9PT1lP2g6dFtpXTtpZihzLWk9PTEpcmV0dXJuIHRoaXMuT3IobCwhMCk7Y29uc3QgYT1pKzE9PT1lP2g6dFtpKzFdO2xldCB1PXRoaXMuTHIobCxhLG4scixvKTtmb3IobGV0IGw9aSsyO2w8cztsKyspe2NvbnN0IGk9bD09PWU/aDp0W2xdO3U9dGhpcy5Ocih1LGksbixyLG8pfXJldHVybiB1fVhyKHQsaSl7Y29uc3Qgcz10LnVlPz97fTtyZXR1cm57ZGF0YTp0LnVlLGluZGV4OnQuJG4sb3JpZ2luYWxUaW1lOnQuUXIsdGltZTp0Lnd0LHByaWNlVmFsdWVzOmkocyl9fXRoKHQsaT0hMSl7Y29uc3Qgcz0hMD09PWksZT0hIXQuR3I7cmV0dXJueyRuOnQuV3Isd3Q6dC5VcixRcjp0LlVyLFd0OltzP3QuS3I6dC5qcix0LnFyLHQuWXIsdC5Lcl0sWnI6dC5acix1ZTpzP2U/dC5Hcjp7d3Q6dC5Vcn06dm9pZCAwfX1Bcih0LGk9ITEpe3JldHVybiB0Lm1hcCgodD0+dGhpcy50aCh0LGkpKSl9RHIodCxpLHMsZSxoPSExLG4scil7aWYoMD09PWUubGVuZ3RoKXJldHVybiBlO2NvbnN0IG89dC5sZW5ndGgtMSxsPU1hdGguZmxvb3Ioby9zKSpzO2lmKE1hdGgubWluKGwrcyx0Lmxlbmd0aCktbDxzJiZ0Lmxlbmd0aD5zKXtjb25zdCBlPXQuc2xpY2UoKTtyZXR1cm4gZVtlLmxlbmd0aC0xXT1pLHRoaXMuQ3IoZSxzLG4saCxyKX1pZihNYXRoLmZsb29yKChvLTEpL3MpPT09TWF0aC5mbG9vcihvL3MpfHwxPT09ZS5sZW5ndGgpe2NvbnN0IGE9TWF0aC5taW4obCtzLHQubGVuZ3RoKSx1PWEtbDtpZih1PD0wKXJldHVybiBlO2NvbnN0IGM9MT09PXU/dGhpcy5PcihsPT09bz9pOnRbbF0sITApOnRoaXMuSnIodCxsLGEsbyxpLG4saCxyKTtyZXR1cm4gZVtlLmxlbmd0aC0xXT10aGlzLnRoKGMsaCksZX17Y29uc3QgZT10LnNsaWNlKCk7cmV0dXJuIGVbZS5sZW5ndGgtMV09aSx0aGlzLkNyKGUscyxuLGgscil9fU9yKHQsaT0hMSl7cmV0dXJue1dyOnQuJG4sSHI6dC4kbixVcjp0Lnd0LCRyOnQud3QsanI6dC5XdFswXSxxcjp0Lld0WzFdLFlyOnQuV3RbMl0sS3I6dC5XdFszXSxacjp0LlpyPz8xLEdyOnQudWUsenI6aX19a3IodCl7Y29uc3QgaT10aGlzLmloKHQpLHM9dGhpcy5Jcih0KTtyZXR1cm4gaS5uaCE9PXMmJihpLlByLmNsZWFyKCksaS5uaD1zKSxpfWloKHQpe2xldCBpPXRoaXMuYnIuZ2V0KHQpO3JldHVybiB2b2lkIDA9PT1pJiYoaT17bmg6dGhpcy5Jcih0KSxQcjpuZXcgTWFwfSx0aGlzLmJyLnNldCh0LGkpKSxpfQp9Y2xhc3MgX3QgZXh0ZW5kcyBHe2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5zbj10fVF0KCl7cmV0dXJuIHRoaXMuc259fWNvbnN0IEN0PXtCYXI6KHQsaSxzLGUpPT57Y29uc3QgaD1pLnVwQ29sb3Isbj1pLmRvd25Db2xvcixyPWYodChzLGUpKSxvPWQoci5XdFswXSk8PWQoci5XdFszXSk7cmV0dXJue3NoOnIuUj8/KG8/aDpuKX19LENhbmRsZXN0aWNrOih0LGkscyxlKT0+e2NvbnN0IGg9aS51cENvbG9yLG49aS5kb3duQ29sb3Iscj1pLmJvcmRlclVwQ29sb3Isbz1pLmJvcmRlckRvd25Db2xvcixsPWkud2lja1VwQ29sb3IsYT1pLndpY2tEb3duQ29sb3IsdT1mKHQocyxlKSksYz1kKHUuV3RbMF0pPD1kKHUuV3RbM10pO3JldHVybntzaDp1LlI/PyhjP2g6biksZWg6dS5IdD8/KGM/cjpvKSxyaDp1LmhoPz8oYz9sOmEpfX0sQ3VzdG9tOih0LGkscyxlKT0+KHtzaDpmKHQocyxlKSkuUj8/aS5jb2xvcn0pLEFyZWE6KHQsaSxzLGUpPT57Y29uc3QgaD1mKHQocyxlKSk7cmV0dXJue3NoOmgudnQ/P2kubGluZUNvbG9yLHZ0OmgudnQ/P2kubGluZUNvbG9yLGFoOmguYWg/P2kudG9wQ29sb3Isb2g6aC5vaD8/aS5ib3R0b21Db2xvcn19LEJhc2VsaW5lOih0LGkscyxlKT0+e2NvbnN0IGg9Zih0KHMsZSkpO3JldHVybntzaDpoLld0WzNdPj1pLmJhc2VWYWx1ZS5wcmljZT9pLnRvcExpbmVDb2xvcjppLmJvdHRvbUxpbmVDb2xvcixfaDpoLl9oPz9pLnRvcExpbmVDb2xvcix1aDpoLnVoPz9pLmJvdHRvbUxpbmVDb2xvcixkaDpoLmRoPz9pLnRvcEZpbGxDb2xvcjEsZmg6aC5maD8/aS50b3BGaWxsQ29sb3IyLHBoOmgucGg/P2kuYm90dG9tRmlsbENvbG9yMSxtaDpoLm1oPz9pLmJvdHRvbUZpbGxDb2xvcjJ9fSxMaW5lOih0LGkscyxlKT0+e2NvbnN0IGg9Zih0KHMsZSkpO3JldHVybntzaDpoLlI/P2kuY29sb3IsdnQ6aC5SPz9pLmNvbG9yfX0sSGlzdG9ncmFtOih0LGkscyxlKT0+KHtzaDpmKHQocyxlKSkuUj8/aS5jb2xvcn0pfTtjbGFzcyBrdHtjb25zdHJ1Y3Rvcih0KXt0aGlzLndoPSh0LGkpPT52b2lkIDAhPT1pP2kuV3Q6dGhpcy5UZS5VbigpLk1oKHQpLHRoaXMuVGU9dCx0aGlzLmdoPUN0W3QuYmgoKV19U2godCxpKXtyZXR1cm4gdGhpcy5naCh0aGlzLndoLHRoaXMuVGUuTigpLHQsaSl9fWZ1bmN0aW9uIEV0KHQsaSxzLGUsaD0wLG49aS5sZW5ndGgpe2xldCByPW4taDtmb3IoOzA8cjspe2NvbnN0IG49cj4+MSxvPWgrbjtlKGlbb10scyk9PT10PyhoPW8rMSxyLT1uKzEpOnI9bn1yZXR1cm4gaH1jb25zdCBOdD1FdC5iaW5kKG51bGwsITApLFR0PUV0LmJpbmQobnVsbCwhMSk7dmFyIFJ0OyFmdW5jdGlvbih0KXt0W3QuTmVhcmVzdExlZnQ9LTFdPSJOZWFyZXN0TGVmdCIsdFt0Lk5vbmU9MF09Ik5vbmUiLHRbdC5OZWFyZXN0UmlnaHQ9MV09Ik5lYXJlc3RSaWdodCJ9KFJ0fHwoUnQ9e30pKTtjb25zdCBQdD0zMDtjbGFzcyB6dHtjb25zdHJ1Y3Rvcigpe3RoaXMueGg9W10sdGhpcy5DaD1uZXcgTWFwLHRoaXMueWg9bmV3IE1hcCx0aGlzLmtoPVtdfVBoKCl7cmV0dXJuIHRoaXMuVGgoKT4wP3RoaXMueGhbdGhpcy54aC5sZW5ndGgtMV06bnVsbH1SaCgpe3JldHVybiB0aGlzLlRoKCk+MD90aGlzLkRoKDApOm51bGx9UW4oKXtyZXR1cm4gdGhpcy5UaCgpPjA/dGhpcy5EaCh0aGlzLnhoLmxlbmd0aC0xKTpudWxsfVRoKCl7cmV0dXJuIHRoaXMueGgubGVuZ3RofUdpKCl7cmV0dXJuIDA9PT10aGlzLlRoKCl9emUodCl7cmV0dXJuIG51bGwhPT10aGlzLkloKHQsMCl9TWgodCl7cmV0dXJuIHRoaXMuSG4odCl9SG4odCxpPTApe2NvbnN0IHM9dGhpcy5JaCh0LGkpO3JldHVybiBudWxsPT09cz9udWxsOnsuLi50aGlzLlZoKHMpLCRuOnRoaXMuRGgocyl9fUJoKCl7cmV0dXJuIHRoaXMueGh9RWgodCxpLHMpe2lmKHRoaXMuR2koKSlyZXR1cm4gbnVsbDtsZXQgZT1udWxsO2Zvcihjb25zdCBoIG9mIHMpZT1JdChlLHRoaXMuQWgodCxpLGgpKTtyZXR1cm4gZX1odCh0KXt0aGlzLnloLmNsZWFyKCksdGhpcy5DaC5jbGVhcigpLHRoaXMueGg9dCx0aGlzLmtoPXQubWFwKCh0PT50LiRuKSl9TGgoKXtyZXR1cm4gdGhpcy5raH1EaCh0KXtyZXR1cm4gdGhpcy54aFt0XS4kbn1WaCh0KXtyZXR1cm4gdGhpcy54aFt0XX1JaCh0LGkpe2NvbnN0IHM9dGhpcy56aCh0KTtpZihudWxsPT09cyYmMCE9PWkpc3dpdGNoKGkpe2Nhc2UtMTpyZXR1cm4gdGhpcy5PaCh0KTtjYXNlIDE6cmV0dXJuIHRoaXMuTmgodCk7ZGVmYXVsdDp0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmtub3duIHNlYXJjaCBtb2RlIil9cmV0dXJuIHN9T2godCl7bGV0IGk9dGhpcy5GaCh0KTtyZXR1cm4gaT4wJiYoaS09MSksaSE9PXRoaXMueGgubGVuZ3RoJiZ0aGlzLkRoKGkpPHQ/aTpudWxsfU5oKHQpe2NvbnN0IGk9dGhpcy5XaCh0KTtyZXR1cm4gaSE9PXRoaXMueGgubGVuZ3RoJiZ0PHRoaXMuRGgoaSk/aTpudWxsfXpoKHQpe2NvbnN0IGk9dGhpcy5GaCh0KTtyZXR1cm4gaT09PXRoaXMueGgubGVuZ3RofHx0PHRoaXMueGhbaV0uJG4/bnVsbDppfUZoKHQpe3JldHVybiBOdCh0aGlzLnhoLHQsKCh0LGkpPT50LiRuPGkpKX1XaCh0KXtyZXR1cm4gVHQodGhpcy54aCx0LCgodCxpKT0+dC4kbj5pKSl9SGgodCxpLHMpe2xldCBlPW51bGw7Zm9yKGxldCBoPXQ7aDxpO2grKyl7Y29uc3QgdD10aGlzLnhoW2hdLld0W3NdO051bWJlci5pc05hTih0KXx8KG51bGw9PT1lP2U9e1VoOnQsJGg6dH06KHQ8ZS5VaCYmKGUuVWg9dCksdD5lLiRoJiYoZS4kaD10KSkpfXJldHVybiBlfUFoKHQsaSxzKXtpZih0aGlzLkdpKCkpcmV0dXJuIG51bGw7bGV0IGU9bnVsbDtjb25zdCBoPWYodGhpcy5SaCgpKSxuPWYodGhpcy5RbigpKSxyPU1hdGgubWF4KHQsaCksbz1NYXRoLm1pbihpLG4pLGw9TWF0aC5jZWlsKHIvUHQpKlB0LGE9TWF0aC5tYXgobCxNYXRoLmZsb29yKG8vUHQpKlB0KTt7Y29uc3QgdD10aGlzLkZoKHIpLGg9dGhpcy5XaChNYXRoLm1pbihvLGwsaSkpO2U9SXQoZSx0aGlzLkhoKHQsaCxzKSl9bGV0IHU9dGhpcy5DaC5nZXQocyk7dm9pZCAwPT09dSYmKHU9bmV3IE1hcCx0aGlzLkNoLnNldChzLHUpKQo7Zm9yKGxldCB0PU1hdGgubWF4KGwrMSxyKTt0PGE7dCs9UHQpe2NvbnN0IGk9TWF0aC5mbG9vcih0L1B0KTtsZXQgaD11LmdldChpKTtpZih2b2lkIDA9PT1oKXtjb25zdCB0PXRoaXMuRmgoaSpQdCksZT10aGlzLldoKChpKzEpKlB0LTEpO2g9dGhpcy5IaCh0LGUscyksdS5zZXQoaSxoKX1lPUl0KGUsaCl9e2NvbnN0IHQ9dGhpcy5GaChhKSxpPXRoaXMuV2gobyk7ZT1JdChlLHRoaXMuSGgodCxpLHMpKX1yZXR1cm4gZX19ZnVuY3Rpb24gSXQodCxpKXtyZXR1cm4gbnVsbD09PXQ/aTpudWxsPT09aT90OntVaDpNYXRoLm1pbih0LlVoLGkuVWgpLCRoOk1hdGgubWF4KHQuJGgsaS4kaCl9fWZ1bmN0aW9uIEx0KCl7cmV0dXJuIG5ldyB6dH1jb25zdCBGdD17c2V0TGluZVN0eWxlOmx9O2NsYXNzIHF0e2NvbnN0cnVjdG9yKHQpe3RoaXMuamg9dH1zdCh0LGkscyl7dGhpcy5qaC5kcmF3KHQsRnQpfXFoKHQsaSxzKXt0aGlzLmpoLmRyYXdCYWNrZ3JvdW5kPy4odCxGdCl9fWNsYXNzIFd0e2NvbnN0cnVjdG9yKHQpe3RoaXMuTHM9bnVsbCx0aGlzLlloPXR9VHQoKXtjb25zdCB0PXRoaXMuWWgucmVuZGVyZXIoKTtpZihudWxsPT09dClyZXR1cm4gbnVsbDtpZih0aGlzLkxzPy5LaD09PXQpcmV0dXJuIHRoaXMuTHMuWmg7Y29uc3QgaT1uZXcgcXQodCk7cmV0dXJuIHRoaXMuTHM9e0toOnQsWmg6aX0saX1HaCgpe3JldHVybiB0aGlzLlloLnpPcmRlcj8uKCk/PyJub3JtYWwifX1jbGFzcyBRdHtjb25zdHJ1Y3Rvcih0KXt0aGlzLlhoPW51bGwsdGhpcy5KaD10fVFoKCl7cmV0dXJuIHRoaXMuSmh9Tm4oKXt0aGlzLkpoLnVwZGF0ZUFsbFZpZXdzPy4oKX1qbigpe2NvbnN0IHQ9dGhpcy5KaC5wYW5lVmlld3M/LigpPz9bXTtpZih0aGlzLlhoPy5LaD09PXQpcmV0dXJuIHRoaXMuWGguWmg7Y29uc3QgaT10Lm1hcCgodD0+bmV3IFd0KHQpKSk7cmV0dXJuIHRoaXMuWGg9e0toOnQsWmg6aX0saX1Rcyh0LGkpe3JldHVybiB0aGlzLkpoLmhpdFRlc3Q/Lih0LGkpPz9udWxsfX1sZXQgRHQ9Y2xhc3MgZXh0ZW5kcyBRdHtjbigpe3JldHVybltdfX07Y2xhc3MgT3R7Y29uc3RydWN0b3IodCl7dGhpcy5qaD10fXN0KHQsaSxzKXt0aGlzLmpoLmRyYXcodCxGdCl9cWgodCxpLHMpe3RoaXMuamguZHJhd0JhY2tncm91bmQ/Lih0LEZ0KX19Y2xhc3MgS3R7Y29uc3RydWN0b3IodCl7dGhpcy5Mcz1udWxsLHRoaXMuWWg9dH1UdCgpe2NvbnN0IHQ9dGhpcy5ZaC5yZW5kZXJlcigpO2lmKG51bGw9PT10KXJldHVybiBudWxsO2lmKHRoaXMuTHM/LktoPT09dClyZXR1cm4gdGhpcy5Mcy5aaDtjb25zdCBpPW5ldyBPdCh0KTtyZXR1cm4gdGhpcy5Mcz17S2g6dCxaaDppfSxpfUdoKCl7cmV0dXJuIHRoaXMuWWguek9yZGVyPy4oKT8/Im5vcm1hbCJ9fWZ1bmN0aW9uIFZ0KHQpe3JldHVybntyaTp0LnRleHQoKSxFaTp0LmNvb3JkaW5hdGUoKSxWaTp0LmZpeGVkQ29vcmRpbmF0ZT8uKCksUjp0LnRleHRDb2xvcigpLEc6dC5iYWNrQ29sb3IoKSxJdDp0LnZpc2libGU/LigpPz8hMCxwaTp0LnRpY2tWaXNpYmxlPy4oKT8/ITB9fWNsYXNzICR0e2NvbnN0cnVjdG9yKHQsaSl7dGhpcy5YdD1uZXcgWix0aGlzLnRhPXQsdGhpcy5pYT1pfVR0KCl7cmV0dXJuIHRoaXMuWHQuaHQoe25uOnRoaXMuaWEubm4oKSwuLi5WdCh0aGlzLnRhKX0pLHRoaXMuWHR9fWNsYXNzIEJ0IGV4dGVuZHMgJHtjb25zdHJ1Y3Rvcih0LGkpe3N1cGVyKCksdGhpcy50YT10LHRoaXMuS2k9aX1ZaSh0LGkscyl7Y29uc3QgZT1WdCh0aGlzLnRhKTtzLkc9ZS5HLHQuUj1lLlI7Y29uc3QgaD0yLzEyKnRoaXMuS2kuaygpO3MuVGk9aCxzLlJpPWgscy5FaT1lLkVpLHMuVmk9ZS5WaSx0LnJpPWUucmksdC5JdD1lLkl0LHQucGk9ZS5waX19Y2xhc3MgQXQgZXh0ZW5kcyBRdHtjb25zdHJ1Y3Rvcih0LGkpe3N1cGVyKHQpLHRoaXMubmE9bnVsbCx0aGlzLnNhPW51bGwsdGhpcy5lYT1udWxsLHRoaXMucmE9bnVsbCx0aGlzLlRlPWl9ZG4oKXtjb25zdCB0PXRoaXMuSmgudGltZUF4aXNWaWV3cz8uKCk/P1tdO2lmKHRoaXMubmE/LktoPT09dClyZXR1cm4gdGhpcy5uYS5aaDtjb25zdCBpPXRoaXMuVGUuUXQoKS5FdCgpLHM9dC5tYXAoKHQ9Pm5ldyAkdCh0LGkpKSk7cmV0dXJuIHRoaXMubmE9e0toOnQsWmg6c30sc31xbigpe2NvbnN0IHQ9dGhpcy5KaC5wcmljZUF4aXNWaWV3cz8uKCk/P1tdO2lmKHRoaXMuc2E/LktoPT09dClyZXR1cm4gdGhpcy5zYS5aaDtjb25zdCBpPXRoaXMuVGUuRnQoKSxzPXQubWFwKCh0PT5uZXcgQnQodCxpKSkpO3JldHVybiB0aGlzLnNhPXtLaDp0LFpoOnN9LHN9aGEoKXtjb25zdCB0PXRoaXMuSmgucHJpY2VBeGlzUGFuZVZpZXdzPy4oKT8/W107aWYodGhpcy5lYT8uS2g9PT10KXJldHVybiB0aGlzLmVhLlpoO2NvbnN0IGk9dC5tYXAoKHQ9Pm5ldyBLdCh0KSkpO3JldHVybiB0aGlzLmVhPXtLaDp0LFpoOml9LGl9YWEoKXtjb25zdCB0PXRoaXMuSmgudGltZUF4aXNQYW5lVmlld3M/LigpPz9bXTtpZih0aGlzLnJhPy5LaD09PXQpcmV0dXJuIHRoaXMucmEuWmg7Y29uc3QgaT10Lm1hcCgodD0+bmV3IEt0KHQpKSk7cmV0dXJuIHRoaXMucmE9e0toOnQsWmg6aX0saX1sYSh0LGkpe3JldHVybiB0aGlzLkpoLmF1dG9zY2FsZUluZm8/Lih0LGkpPz9udWxsfX1mdW5jdGlvbiBadCh0LGkscyxlKXt0LmZvckVhY2goKHQ9PntpKHQpLmZvckVhY2goKHQ9Pnt0LkdoKCk9PT1zJiZlLnB1c2godCl9KSl9KSl9ZnVuY3Rpb24gSHQodCl7cmV0dXJuIHQuam4oKX1mdW5jdGlvbiBHdCh0KXtyZXR1cm4gdC5oYSgpfWZ1bmN0aW9uIFV0KHQpe3JldHVybiB0LmFhKCl9Y29uc3QgWXQ9WyJBcmVhIiwiTGluZSIsIkJhc2VsaW5lIl07Y2xhc3MganQgZXh0ZW5kcyBfdHtjb25zdHJ1Y3Rvcih0LGkscyxlLGgpe3N1cGVyKHQpLHRoaXMucXQ9THQoKSx0aGlzLmRyPW5ldyBtdCh0aGlzKSx0aGlzLm9hPVtdLHRoaXMuX2E9bmV3IHV0KHRoaXMpLHRoaXMudWE9bnVsbCx0aGlzLmNhPW51bGwsdGhpcy5kYT1udWxsLHRoaXMuZmE9W10sdGhpcy5wYT1uZXcgeHQsdGhpcy52YT1uZXcgTWFwLHRoaXMubWE9bnVsbCx0aGlzLnluPXMsdGhpcy53YT1pCjtjb25zdCBuPW5ldyBwdCh0aGlzKTtpZih0aGlzLm1uPVtuXSx0aGlzLnByPW5ldyBvdChuLHRoaXMsdCksWXQuaW5jbHVkZXModGhpcy53YSkmJih0aGlzLnVhPW5ldyBkdCh0aGlzKSksdGhpcy5NYSgpLHRoaXMuWWg9ZSh0aGlzLHRoaXMuUXQoKSxoKSwiQ3VzdG9tIj09PXRoaXMud2Epe2NvbnN0IHQ9dGhpcy5ZaDt0LmdhJiZ0aGlzLmJhKHQuZ2EpfX1tKCl7bnVsbCE9PXRoaXMuZGEmJmNsZWFyVGltZW91dCh0aGlzLmRhKX1XZSh0KXtyZXR1cm4gdGhpcy55bi5wcmljZUxpbmVDb2xvcnx8dH1BZSh0KXtjb25zdCBpPXtMZTohMH0scz10aGlzLkZ0KCk7aWYodGhpcy5RdCgpLkV0KCkuR2koKXx8cy5HaSgpfHx0aGlzLnF0LkdpKCkpcmV0dXJuIGk7Y29uc3QgZT10aGlzLlF0KCkuRXQoKS5FZSgpLGg9dGhpcy5MdCgpO2lmKG51bGw9PT1lfHxudWxsPT09aClyZXR1cm4gaTtsZXQgbixyO2lmKHQpe2NvbnN0IHQ9dGhpcy5xdC5QaCgpO2lmKG51bGw9PT10KXJldHVybiBpO249dCxyPXQuJG59ZWxzZXtjb25zdCB0PXRoaXMucXQuSG4oZS5iaSgpLC0xKTtpZihudWxsPT09dClyZXR1cm4gaTtpZihuPXRoaXMucXQuTWgodC4kbiksbnVsbD09PW4pcmV0dXJuIGk7cj10LiRufWNvbnN0IG89bi5XdFszXSxsPXRoaXMuU2EoKS5TaChyLHtXdDpufSksYT1zLk50KG8saC5XdCk7cmV0dXJue0xlOiExLE10Om8scmk6cy5KaShvLGguV3QpLHFlOnMueGEobyksWWU6cy5DYShvLGguV3QpLFI6bC5zaCxFaTphLCRuOnJ9fVNhKCl7cmV0dXJuIG51bGwhPT10aGlzLmNhfHwodGhpcy5jYT1uZXcga3QodGhpcykpLHRoaXMuY2F9Tigpe3JldHVybiB0aGlzLnlufXZyKHQpe2NvbnN0IGk9dGhpcy5RdCgpLHtwcmljZVNjYWxlSWQ6cyx2aXNpYmxlOmUscHJpY2VGb3JtYXQ6aH09dDt2b2lkIDAhPT1zJiZzIT09dGhpcy55bi5wcmljZVNjYWxlSWQmJmkueWEodGhpcyxzKSx2b2lkIDAhPT1lJiZlIT09dGhpcy55bi52aXNpYmxlJiZpLmthKCk7Y29uc3Qgbj12b2lkIDAhPT10LmNvbmZsYXRpb25UaHJlc2hvbGRGYWN0b3I7cCh0aGlzLnluLHQpLG4mJih0aGlzLnZhLmNsZWFyKCksdGhpcy5RdCgpLm1yKCkpLHZvaWQgMCE9PWgmJih0aGlzLk1hKCksaS5QYSgpKSxpLlRhKHRoaXMpLGkuUmEoKSx0aGlzLlloLmt0KCJvcHRpb25zIil9aHQodCxpKXt0aGlzLnF0Lmh0KHQpLHRoaXMudmEuY2xlYXIoKTtjb25zdCBzPXRoaXMuUXQoKS5FdCgpLk4oKTtzLmVuYWJsZUNvbmZsYXRpb24mJnMucHJlY29tcHV0ZUNvbmZsYXRpb25PbkluaXQmJnRoaXMuRGEocy5wcmVjb21wdXRlQ29uZmxhdGlvblByaW9yaXR5KSx0aGlzLlloLmt0KCJkYXRhIiksbnVsbCE9PXRoaXMudWEmJihpJiZpLklhP3RoaXMudWEuRGUoKTowPT09dC5sZW5ndGgmJnRoaXMudWEuUmUoKSk7Y29uc3QgZT10aGlzLlF0KCkuS3ModGhpcyk7dGhpcy5RdCgpLlZhKGUpLHRoaXMuUXQoKS5UYSh0aGlzKSx0aGlzLlF0KCkuUmEoKSx0aGlzLlF0KCkubXIoKX1CYSh0KXtjb25zdCBpPW5ldyBTdCh0aGlzLHQpO3JldHVybiB0aGlzLm9hLnB1c2goaSksdGhpcy5RdCgpLlRhKHRoaXMpLGl9RWEodCl7Y29uc3QgaT10aGlzLm9hLmluZGV4T2YodCk7LTEhPT1pJiZ0aGlzLm9hLnNwbGljZShpLDEpLHRoaXMuUXQoKS5UYSh0aGlzKX1BYSgpe3JldHVybiB0aGlzLm9hfWJoKCl7cmV0dXJuIHRoaXMud2F9THQoKXtjb25zdCB0PXRoaXMuTGEoKTtyZXR1cm4gbnVsbD09PXQ/bnVsbDp7V3Q6dC5XdFszXSx6YTp0Lnd0fX1MYSgpe2NvbnN0IHQ9dGhpcy5RdCgpLkV0KCkuRWUoKTtpZihudWxsPT09dClyZXR1cm4gbnVsbDtjb25zdCBpPXQuT2EoKTtyZXR1cm4gdGhpcy5xdC5IbihpLDEpfVVuKCl7cmV0dXJuIHRoaXMucXR9YmEodCl7dGhpcy5tYT10LHRoaXMudmEuY2xlYXIoKX1OYSgpe3JldHVybiEhdGhpcy5RdCgpLkV0KCkuTigpLmVuYWJsZUNvbmZsYXRpb24mJnRoaXMuRmEoKT4xfVJyKHQpe2lmKCF0aGlzLk5hKCkpcmV0dXJuO2NvbnN0IGk9dGhpcy5GYSgpO2lmKCF0aGlzLnZhLmhhcyhpKSlyZXR1cm47Y29uc3Qgcz0iQ3VzdG9tIj09PXRoaXMud2EsZT1zJiZ0aGlzLm1hfHx2b2lkIDAsaD1zJiZ0aGlzLlloLldhP3Q9Pntjb25zdCBpPXQscz10aGlzLlloLldhKGkpO3JldHVybiBBcnJheS5pc0FycmF5KHMpP3M6WyJudW1iZXIiPT10eXBlb2Ygcz9zOjBdfTp2b2lkIDAsbj10aGlzLnBhLlJyKHRoaXMucXQuQmgoKSx0LGksZSxzLGgpLHI9THQoKTtyLmh0KG4pLHRoaXMudmEuc2V0KGkscil9SGEoKXtjb25zdCB0PXRoaXMuUXQoKS5FdCgpLk4oKS5lbmFibGVDb25mbGF0aW9uO2lmKCJDdXN0b20iPT09dGhpcy53YSYmbnVsbD09PXRoaXMubWEpcmV0dXJuIHRoaXMucXQ7aWYoIXQpcmV0dXJuIHRoaXMucXQ7Y29uc3QgaT10aGlzLkZhKCkscz10aGlzLnZhLmdldChpKTtyZXR1cm4gc3x8KHRoaXMuVWEoaSksdGhpcy52YS5nZXQoaSk/P3RoaXMucXQpfSRhKHQpe2NvbnN0IGk9dGhpcy5xdC5NaCh0KTtyZXR1cm4gbnVsbD09PWk/bnVsbDoiQmFyIj09PXRoaXMud2F8fCJDYW5kbGVzdGljayI9PT10aGlzLndhfHwiQ3VzdG9tIj09PXRoaXMud2E/e2pyOmkuV3RbMF0scXI6aS5XdFsxXSxZcjppLld0WzJdLEtyOmkuV3RbM119OmkuV3RbM119amEodCl7Y29uc3QgaT1bXTtadCh0aGlzLmZhLEh0LCJ0b3AiLGkpO2NvbnN0IHM9dGhpcy51YTtyZXR1cm4gbnVsbCE9PXMmJnMuSXQoKT8obnVsbD09PXRoaXMuZGEmJnMuVmUoKSYmKHRoaXMuZGE9c2V0VGltZW91dCgoKCk9Pnt0aGlzLmRhPW51bGwsdGhpcy5RdCgpLnFhKCl9KSwwKSkscy5JZSgpLGkudW5zaGlmdChzKSxpKTppfWpuKCl7Y29uc3QgdD1bXTt0aGlzLllhKCl8fHQucHVzaCh0aGlzLl9hKSx0LnB1c2godGhpcy5ZaCx0aGlzLmRyKTtjb25zdCBpPXRoaXMub2EubWFwKCh0PT50LndyKCkpKTtyZXR1cm4gdC5wdXNoKC4uLmkpLFp0KHRoaXMuZmEsSHQsIm5vcm1hbCIsdCksdH1LYSgpe3JldHVybiB0aGlzLlphKEh0LCJib3R0b20iKX1HYSh0KXtyZXR1cm4gdGhpcy5aYShHdCx0KX1YYSh0KXtyZXR1cm4gdGhpcy5aYShVdCx0KX1KYSh0LGkpewpyZXR1cm4gdGhpcy5mYS5tYXAoKHM9PnMuUXModCxpKSkpLmZpbHRlcigodD0+bnVsbCE9PXQpKX1jbigpe3JldHVyblt0aGlzLnByLC4uLnRoaXMub2EubWFwKCh0PT50Lk1yKCkpKV19cW4odCxpKXtpZihpIT09dGhpcy5obiYmIXRoaXMuWWEoKSlyZXR1cm5bXTtjb25zdCBzPVsuLi50aGlzLm1uXTtmb3IoY29uc3QgdCBvZiB0aGlzLm9hKXMucHVzaCh0LmdyKCkpO3JldHVybiB0aGlzLmZhLmZvckVhY2goKHQ9PntzLnB1c2goLi4udC5xbigpKX0pKSxzfWRuKCl7Y29uc3QgdD1bXTtyZXR1cm4gdGhpcy5mYS5mb3JFYWNoKChpPT57dC5wdXNoKC4uLmkuZG4oKSl9KSksdH1sYSh0LGkpe2lmKHZvaWQgMCE9PXRoaXMueW4uYXV0b3NjYWxlSW5mb1Byb3ZpZGVyKXtjb25zdCBzPXRoaXMueW4uYXV0b3NjYWxlSW5mb1Byb3ZpZGVyKCgoKT0+e2NvbnN0IHM9dGhpcy5RYSh0LGkpO3JldHVybiBudWxsPT09cz9udWxsOnMuc3IoKX0pKTtyZXR1cm4gYnQuZXIocyl9cmV0dXJuIHRoaXMuUWEodCxpKX1LaCgpe2NvbnN0IHQ9dGhpcy55bi5wcmljZUZvcm1hdDtyZXR1cm4gdC5iYXNlPz8xL3QubWluTW92ZX10bCgpe3JldHVybiB0aGlzLmlsfU5uKCl7dGhpcy5ZaC5rdCgpO2Zvcihjb25zdCB0IG9mIHRoaXMubW4pdC5rdCgpO2Zvcihjb25zdCB0IG9mIHRoaXMub2EpdC5rdCgpO3RoaXMuZHIua3QoKSx0aGlzLl9hLmt0KCksdGhpcy51YT8ua3QoKSx0aGlzLmZhLmZvckVhY2goKHQ9PnQuTm4oKSkpfUZ0KCl7cmV0dXJuIGYoc3VwZXIuRnQoKSl9QXQodCl7aWYoIkxpbmUiIT09dGhpcy53YSYmIkFyZWEiIT09dGhpcy53YSYmIkJhc2VsaW5lIiE9PXRoaXMud2F8fCF0aGlzLnluLmNyb3NzaGFpck1hcmtlclZpc2libGUpcmV0dXJuIG51bGw7Y29uc3QgaT10aGlzLnF0Lk1oKHQpO3JldHVybiBudWxsPT09aT9udWxsOntNdDppLld0WzNdLGZ0OnRoaXMubmwoKSxIdDp0aGlzLnNsKCksT3Q6dGhpcy5lbCgpLHp0OnRoaXMucmwodCl9fUhlKCl7cmV0dXJuIHRoaXMueW4udGl0bGV9SXQoKXtyZXR1cm4gdGhpcy55bi52aXNpYmxlfWhsKHQpe3RoaXMuZmEucHVzaChuZXcgQXQodCx0aGlzKSl9YWwodCl7dGhpcy5mYT10aGlzLmZhLmZpbHRlcigoaT0+aS5RaCgpIT09dCkpfWxsKCl7aWYoIkN1c3RvbSI9PT10aGlzLndhKXJldHVybiB0PT50aGlzLlloLldhKHQpfW9sKCl7aWYoIkN1c3RvbSI9PT10aGlzLndhKXJldHVybiB0PT50aGlzLlloLl9sKHQpfXVsKCl7cmV0dXJuIHRoaXMucXQuTGgoKX1ZYSgpe3JldHVybiFqKHRoaXMuRnQoKS5jbCgpKX1RYSh0LGkpe2lmKCF2KHQpfHwhdihpKXx8dGhpcy5xdC5HaSgpKXJldHVybiBudWxsO2NvbnN0IHM9IkxpbmUiPT09dGhpcy53YXx8IkFyZWEiPT09dGhpcy53YXx8IkJhc2VsaW5lIj09PXRoaXMud2F8fCJIaXN0b2dyYW0iPT09dGhpcy53YT9bM106WzIsMV0sZT10aGlzLnF0LkVoKHQsaSxzKTtsZXQgaD1udWxsIT09ZT9uZXcgdnQoZS5VaCxlLiRoKTpudWxsLG49bnVsbDtpZigiSGlzdG9ncmFtIj09PXRoaXMuYmgoKSl7Y29uc3QgdD10aGlzLnluLmJhc2UsaT1uZXcgdnQodCx0KTtoPW51bGwhPT1oP2guU3MoaSk6aX1yZXR1cm4gdGhpcy5mYS5mb3JFYWNoKChzPT57Y29uc3QgZT1zLmxhKHQsaSk7aWYoZT8ucHJpY2VSYW5nZSl7Y29uc3QgdD1uZXcgdnQoZS5wcmljZVJhbmdlLm1pblZhbHVlLGUucHJpY2VSYW5nZS5tYXhWYWx1ZSk7aD1udWxsIT09aD9oLlNzKHQpOnR9ZT8ubWFyZ2lucyYmKG49ZS5tYXJnaW5zKX0pKSxuZXcgYnQoaCxuKX1ubCgpe3N3aXRjaCh0aGlzLndhKXtjYXNlIkxpbmUiOmNhc2UiQXJlYSI6Y2FzZSJCYXNlbGluZSI6cmV0dXJuIHRoaXMueW4uY3Jvc3NoYWlyTWFya2VyUmFkaXVzfXJldHVybiAwfXNsKCl7c3dpdGNoKHRoaXMud2Epe2Nhc2UiTGluZSI6Y2FzZSJBcmVhIjpjYXNlIkJhc2VsaW5lIjp7Y29uc3QgdD10aGlzLnluLmNyb3NzaGFpck1hcmtlckJvcmRlckNvbG9yO2lmKDAhPT10Lmxlbmd0aClyZXR1cm4gdH19cmV0dXJuIG51bGx9ZWwoKXtzd2l0Y2godGhpcy53YSl7Y2FzZSJMaW5lIjpjYXNlIkFyZWEiOmNhc2UiQmFzZWxpbmUiOnJldHVybiB0aGlzLnluLmNyb3NzaGFpck1hcmtlckJvcmRlcldpZHRofXJldHVybiAwfXJsKHQpe3N3aXRjaCh0aGlzLndhKXtjYXNlIkxpbmUiOmNhc2UiQXJlYSI6Y2FzZSJCYXNlbGluZSI6e2NvbnN0IHQ9dGhpcy55bi5jcm9zc2hhaXJNYXJrZXJCYWNrZ3JvdW5kQ29sb3I7aWYoMCE9PXQubGVuZ3RoKXJldHVybiB0fX1yZXR1cm4gdGhpcy5TYSgpLlNoKHQpLnNofU1hKCl7c3dpdGNoKHRoaXMueW4ucHJpY2VGb3JtYXQudHlwZSl7Y2FzZSJjdXN0b20iOntjb25zdCB0PXRoaXMueW4ucHJpY2VGb3JtYXQuZm9ybWF0dGVyO3RoaXMuaWw9e2Zvcm1hdDp0LGZvcm1hdFRpY2ttYXJrczp0aGlzLnluLnByaWNlRm9ybWF0LnRpY2ttYXJrc0Zvcm1hdHRlcj8/KGk9PmkubWFwKHQpKX07YnJlYWt9Y2FzZSJ2b2x1bWUiOnRoaXMuaWw9bmV3IGV0KHRoaXMueW4ucHJpY2VGb3JtYXQucHJlY2lzaW9uKTticmVhaztjYXNlInBlcmNlbnQiOnRoaXMuaWw9bmV3IHN0KHRoaXMueW4ucHJpY2VGb3JtYXQucHJlY2lzaW9uKTticmVhaztkZWZhdWx0Ontjb25zdCB0PU1hdGgucG93KDEwLHRoaXMueW4ucHJpY2VGb3JtYXQucHJlY2lzaW9uKTt0aGlzLmlsPW5ldyBpdCh0LHRoaXMueW4ucHJpY2VGb3JtYXQubWluTW92ZSp0KX19bnVsbCE9PXRoaXMuaG4mJnRoaXMuaG4uZGwoKX1aYSh0LGkpe2NvbnN0IHM9W107cmV0dXJuIFp0KHRoaXMuZmEsdCxpLHMpLHN9RmEoKXtjb25zdHtmbDp0LHBsOmksdmw6c309dGhpcy5tbCgpO3JldHVybiB0aGlzLnBhLlNyKHQsaSxzKX1tbCgpe2NvbnN0IHQ9dGhpcy5RdCgpLkV0KCksaT10LmZsKCkscz13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MSxlPXQuTigpLmNvbmZsYXRpb25UaHJlc2hvbGRGYWN0b3I7cmV0dXJue2ZsOmkscGw6cyx2bDp0aGlzLnluLmNvbmZsYXRpb25UaHJlc2hvbGRGYWN0b3I/P2U/PzF9fXdsKHQpe2NvbnN0IGk9dGhpcy5xdC5CaCgpO2xldCBzO2lmKCJDdXN0b20iPT09dGhpcy53YSYmbnVsbCE9PXRoaXMubWEpewpjb25zdCBlPXRoaXMubGwoKTtpZighZSl0aHJvdyBuZXcgRXJyb3IoIkN1c3RvbSBzZXJpZXMgd2l0aCBjb25mbGF0aW9uIHJlZHVjZXIgbXVzdCBoYXZlIGEgcHJpY2VWYWx1ZUJ1aWxkZXIgbWV0aG9kIik7cz10aGlzLnBhLkNyKGksdCx0aGlzLm1hLCEwLCh0PT5lKHQpKSl9ZWxzZSBzPXRoaXMucGEuQ3IoaSx0KTtjb25zdCBlPUx0KCk7cmV0dXJuIGUuaHQocyksZX1VYSh0KXtjb25zdCBpPXRoaXMud2wodCk7dGhpcy52YS5zZXQodCxpKX1EYSh0KXtpZigiQ3VzdG9tIj09PXRoaXMud2EmJihudWxsPT09dGhpcy5tYXx8IXRoaXMubGwoKSkpcmV0dXJuO3RoaXMudmEuY2xlYXIoKTtjb25zdCBpPXRoaXMuUXQoKS5FdCgpLk1sKCk7Zm9yKGNvbnN0IHMgb2YgaSl7Y29uc3QgaT0oKT0+e3RoaXMuZ2wocyl9LGU9Im9iamVjdCI9PXR5cGVvZiB3aW5kb3cmJndpbmRvd3x8Im9iamVjdCI9PXR5cGVvZiBzZWxmJiZzZWxmO2U/LlNsPy5ibD9lLlNsLmJsKCgoKT0+e2koKX0pLHtzZTp0fSk6UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKCk9PmkoKSkpfX1nbCh0KXtpZih0aGlzLnZhLmhhcyh0KSlyZXR1cm47aWYoMD09PXRoaXMucXQuQmgoKS5sZW5ndGgpcmV0dXJuO2NvbnN0IGk9dGhpcy53bCh0KTt0aGlzLnZhLnNldCh0LGkpfX1jb25zdCBYdD1bM10sSnQ9WzAsMSwyLDNdO2NsYXNzIHRpe2NvbnN0cnVjdG9yKHQpe3RoaXMueW49dH14bCh0LGkscyl7bGV0IGU9dDtpZigwPT09dGhpcy55bi5tb2RlKXJldHVybiBlO2NvbnN0IGg9cy5QbigpLG49aC5MdCgpO2lmKG51bGw9PT1uKXJldHVybiBlO2NvbnN0IHI9aC5OdCh0LG4pLG89cy5DbCgpLmZpbHRlcigodD0+dCBpbnN0YW5jZW9mIGp0KSkucmVkdWNlKCgodCxlKT0+e2lmKHMuWnMoZSl8fCFlLkl0KCkpcmV0dXJuIHQ7Y29uc3QgaD1lLkZ0KCksbj1lLlVuKCk7aWYoaC5HaSgpfHwhbi56ZShpKSlyZXR1cm4gdDtjb25zdCByPW4uTWgoaSk7aWYobnVsbD09PXIpcmV0dXJuIHQ7Y29uc3Qgbz1kKGUuTHQoKSksbD0zPT09dGhpcy55bi5tb2RlP0p0Olh0O3JldHVybiB0LmNvbmNhdChsLm1hcCgodD0+aC5OdChyLld0W3RdLG8uV3QpKSkpfSksW10pO2lmKDA9PT1vLmxlbmd0aClyZXR1cm4gZTtvLnNvcnQoKCh0LGkpPT5NYXRoLmFicyh0LXIpLU1hdGguYWJzKGktcikpKTtjb25zdCBsPW9bMF07cmV0dXJuIGU9aC5UbihsLG4pLGV9fWZ1bmN0aW9uIGlpKHQsaSxzKXtyZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgodCxpKSxzKX1mdW5jdGlvbiBzaSh0LGkscyl7cmV0dXJuIGktdDw9c31jbGFzcyBlaSBleHRlbmRzIFJ7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMucXQ9bnVsbH1odCh0KXt0aGlzLnF0PXR9ZXQoe2NvbnRleHQ6dCxiaXRtYXBTaXplOmksaG9yaXpvbnRhbFBpeGVsUmF0aW86cyx2ZXJ0aWNhbFBpeGVsUmF0aW86ZX0pe2lmKG51bGw9PT10aGlzLnF0KXJldHVybjtjb25zdCBoPU1hdGgubWF4KDEsTWF0aC5mbG9vcihzKSk7dC5saW5lV2lkdGg9aCxmdW5jdGlvbih0LGkpe3Quc2F2ZSgpLHQubGluZVdpZHRoJTImJnQudHJhbnNsYXRlKC41LC41KSxpKCksdC5yZXN0b3JlKCl9KHQsKCgpPT57Y29uc3Qgbj1mKHRoaXMucXQpO2lmKG4ueWwpe3Quc3Ryb2tlU3R5bGU9bi5rbCxsKHQsbi5QbCksdC5iZWdpblBhdGgoKTtmb3IoY29uc3QgZSBvZiBuLlRsKXtjb25zdCBuPU1hdGgucm91bmQoZS5SbCpzKTt0Lm1vdmVUbyhuLC1oKSx0LmxpbmVUbyhuLGkuaGVpZ2h0K2gpfXQuc3Ryb2tlKCl9aWYobi5EbCl7dC5zdHJva2VTdHlsZT1uLklsLGwodCxuLlZsKSx0LmJlZ2luUGF0aCgpO2Zvcihjb25zdCBzIG9mIG4uQmwpe2NvbnN0IG49TWF0aC5yb3VuZChzLlJsKmUpO3QubW92ZVRvKC1oLG4pLHQubGluZVRvKGkud2lkdGgraCxuKX10LnN0cm9rZSgpfX0pKX19Y2xhc3MgaGl7Y29uc3RydWN0b3IodCl7dGhpcy5YdD1uZXcgZWksdGhpcy54dD0hMCx0aGlzLnl0PXR9a3QoKXt0aGlzLnh0PSEwfVR0KCl7aWYodGhpcy54dCl7Y29uc3QgdD10aGlzLnl0LlF0KCkuTigpLmdyaWQsaT17RGw6dC5ob3J6TGluZXMudmlzaWJsZSx5bDp0LnZlcnRMaW5lcy52aXNpYmxlLElsOnQuaG9yekxpbmVzLmNvbG9yLGtsOnQudmVydExpbmVzLmNvbG9yLFZsOnQuaG9yekxpbmVzLnN0eWxlLFBsOnQudmVydExpbmVzLnN0eWxlLEJsOnRoaXMueXQuUG4oKS5FbCgpLFRsOih0aGlzLnl0LlF0KCkuRXQoKS5FbCgpfHxbXSkubWFwKCh0PT4oe1JsOnQuY29vcmR9KSkpfTt0aGlzLlh0Lmh0KGkpLHRoaXMueHQ9ITF9cmV0dXJuIHRoaXMuWHR9fWNsYXNzIG5pe2NvbnN0cnVjdG9yKHQpe3RoaXMuWWg9bmV3IGhpKHQpfXdyKCl7cmV0dXJuIHRoaXMuWWh9fWNvbnN0IHJpPXtBbDo0LExsOjFlLTR9O2Z1bmN0aW9uIG9pKHQsaSl7Y29uc3Qgcz0xMDAqKHQtaSkvaTtyZXR1cm4gaTwwPy1zOnN9ZnVuY3Rpb24gbGkodCxpKXtjb25zdCBzPW9pKHQuSmUoKSxpKSxlPW9pKHQuUWUoKSxpKTtyZXR1cm4gbmV3IHZ0KHMsZSl9ZnVuY3Rpb24gYWkodCxpKXtjb25zdCBzPTEwMCoodC1pKS9pKzEwMDtyZXR1cm4gaTwwPy1zOnN9ZnVuY3Rpb24gdWkodCxpKXtjb25zdCBzPWFpKHQuSmUoKSxpKSxlPWFpKHQuUWUoKSxpKTtyZXR1cm4gbmV3IHZ0KHMsZSl9ZnVuY3Rpb24gY2kodCxpKXtjb25zdCBzPU1hdGguYWJzKHQpO2lmKHM8MWUtMTUpcmV0dXJuIDA7Y29uc3QgZT1NYXRoLmxvZzEwKHMraS5MbCkraS5BbDtyZXR1cm4gdDwwPy1lOmV9ZnVuY3Rpb24gZmkodCxpKXtjb25zdCBzPU1hdGguYWJzKHQpO2lmKHM8MWUtMTUpcmV0dXJuIDA7Y29uc3QgZT1NYXRoLnBvdygxMCxzLWkuQWwpLWkuTGw7cmV0dXJuIHQ8MD8tZTplfWZ1bmN0aW9uIGRpKHQsaSl7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3Qgcz1jaSh0LkplKCksaSksZT1jaSh0LlFlKCksaSk7cmV0dXJuIG5ldyB2dChzLGUpfWZ1bmN0aW9uIG1pKHQsaSl7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3Qgcz1maSh0LkplKCksaSksZT1maSh0LlFlKCksaSk7cmV0dXJuIG5ldyB2dChzLGUpfWZ1bmN0aW9uIHBpKHQpe2lmKG51bGw9PT10KXJldHVybiByaQo7Y29uc3QgaT1NYXRoLmFicyh0LlFlKCktdC5KZSgpKTtpZihpPj0xfHxpPDFlLTE1KXJldHVybiByaTtjb25zdCBzPU1hdGguY2VpbChNYXRoLmFicyhNYXRoLmxvZzEwKGkpKSksZT1yaS5BbCtzO3JldHVybntBbDplLExsOjEvTWF0aC5wb3coMTAsZSl9fWNsYXNzIGdpe2NvbnN0cnVjdG9yKHQsaSl7aWYodGhpcy56bD10LHRoaXMuT2w9aSxmdW5jdGlvbih0KXtpZih0PDApcmV0dXJuITE7aWYodD4xZTE4KXJldHVybiEwO2ZvcihsZXQgaT10O2k+MTtpLz0xMClpZihpJTEwIT0wKXJldHVybiExO3JldHVybiEwfSh0aGlzLnpsKSl0aGlzLk5sPVsyLDIuNSwyXTtlbHNle3RoaXMuTmw9W107Zm9yKGxldCB0PXRoaXMuemw7MSE9PXQ7KXtpZih0JTI9PTApdGhpcy5ObC5wdXNoKDIpLHQvPTI7ZWxzZXtpZih0JTUhPTApdGhyb3cgbmV3IEVycm9yKCJ1bmV4cGVjdGVkIGJhc2UiKTt0aGlzLk5sLnB1c2goMiwyLjUpLHQvPTV9aWYodGhpcy5ObC5sZW5ndGg+MTAwKXRocm93IG5ldyBFcnJvcigic29tZXRoaW5nIHdyb25nIHdpdGggYmFzZSIpfX19RmwodCxpLHMpe2NvbnN0IGU9MD09PXRoaXMuemw/MDoxL3RoaXMuemw7bGV0IGg9TWF0aC5wb3coMTAsTWF0aC5tYXgoMCxNYXRoLmNlaWwoTWF0aC5sb2cxMCh0LWkpKSkpLG49MCxyPXRoaXMuT2xbMF07Zm9yKDs7KXtjb25zdCB0PXNpKGgsZSwxZS0xNCkmJmg+ZSsxZS0xNCxpPXNpKGgscypyLDFlLTE0KSxvPXNpKGgsMSwxZS0xNCk7aWYoISh0JiZpJiZvKSlicmVhaztoLz1yLHI9dGhpcy5PbFsrK24ldGhpcy5PbC5sZW5ndGhdfWlmKGg8PWUrMWUtMTQmJihoPWUpLGg9TWF0aC5tYXgoMSxoKSx0aGlzLk5sLmxlbmd0aD4wJiYobz1oLE1hdGguYWJzKG8tMSk8MWUtMTQpKWZvcihuPTAscj10aGlzLk5sWzBdO3NpKGgscypyLDFlLTE0KSYmaD5lKzFlLTE0OyloLz1yLHI9dGhpcy5ObFsrK24ldGhpcy5ObC5sZW5ndGhdO3ZhciBvO3JldHVybiBofX1jbGFzcyB2aXtjb25zdHJ1Y3Rvcih0LGkscyxlKXt0aGlzLldsPVtdLHRoaXMuS2k9dCx0aGlzLnpsPWksdGhpcy5IbD1zLHRoaXMuVWw9ZX1GbCh0LGkpe2lmKHQ8aSl0aHJvdyBuZXcgRXJyb3IoImhpZ2ggPCBsb3ciKTtjb25zdCBzPXRoaXMuS2kuJHQoKSxlPSh0LWkpKnRoaXMuJGwoKS9zLGg9bmV3IGdpKHRoaXMuemwsWzIsMi41LDJdKSxuPW5ldyBnaSh0aGlzLnpsLFsyLDIsMi41XSkscj1uZXcgZ2kodGhpcy56bCxbMi41LDIsMl0pLG89W107cmV0dXJuIG8ucHVzaChoLkZsKHQsaSxlKSxuLkZsKHQsaSxlKSxyLkZsKHQsaSxlKSksZnVuY3Rpb24odCl7aWYodC5sZW5ndGg8MSl0aHJvdyBFcnJvcigiYXJyYXkgaXMgZW1wdHkiKTtsZXQgaT10WzBdO2ZvcihsZXQgcz0xO3M8dC5sZW5ndGg7KytzKXRbc108aSYmKGk9dFtzXSk7cmV0dXJuIGl9KG8pfWpsKCl7Y29uc3QgdD10aGlzLktpLGk9dC5MdCgpO2lmKG51bGw9PT1pKXJldHVybiB2b2lkKHRoaXMuV2w9W10pO2NvbnN0IHM9dC4kdCgpLGU9dGhpcy5IbChzLTEsaSksaD10aGlzLkhsKDAsaSksbj10aGlzLktpLk4oKS5lbnRpcmVUZXh0T25seT90aGlzLnFsKCkvMjowLHI9bixvPXMtMS1uLGw9TWF0aC5tYXgoZSxoKSxhPU1hdGgubWluKGUsaCk7aWYobD09PWEpcmV0dXJuIHZvaWQodGhpcy5XbD1bXSk7Y29uc3QgdT10aGlzLkZsKGwsYSk7aWYodGhpcy5ZbChpLHUsbCxhLHIsbyksdC5LbCgpJiZ0aGlzLlpsKHUsYSxsKSl7Y29uc3QgdD10aGlzLktpLkdsKCk7dGhpcy5YbChpLHUscixvLHQsMip0KX1jb25zdCBjPXRoaXMuV2wubWFwKCh0PT50LkpsKSksZj10aGlzLktpLlFsKGMpO2ZvcihsZXQgdD0wO3Q8dGhpcy5XbC5sZW5ndGg7dCsrKXRoaXMuV2xbdF0uaW89Zlt0XX1FbCgpe3JldHVybiB0aGlzLldsfXFsKCl7cmV0dXJuIHRoaXMuS2kuaygpfSRsKCl7cmV0dXJuIE1hdGguY2VpbCh0aGlzLnFsKCkqdGhpcy5LaS5OKCkudGlja01hcmtEZW5zaXR5KX1ZbCh0LGkscyxlLGgsbil7Y29uc3Qgcj10aGlzLldsLG89dGhpcy5LaTtsZXQgbD1zJWk7bCs9bDwwP2k6MDtjb25zdCBhPXM+PWU/MTotMTtsZXQgdT1udWxsLGM9MDtmb3IobGV0IGY9cy1sO2Y+ZTtmLT1pKXtjb25zdCBzPXRoaXMuVWwoZix0LCEwKTtudWxsIT09dSYmTWF0aC5hYnMocy11KTx0aGlzLiRsKCl8fHM8aHx8cz5ufHwoYzxyLmxlbmd0aD8ocltjXS5SbD1zLHJbY10uaW89by5ubyhmKSxyW2NdLkpsPWYpOnIucHVzaCh7Umw6cyxpbzpvLm5vKGYpLEpsOmZ9KSxjKyssdT1zLG8uc28oKSYmKGk9dGhpcy5GbChmKmEsZSkpKX1yLmxlbmd0aD1jfVhsKHQsaSxzLGUsaCxuKXtjb25zdCByPXRoaXMuV2wsbz10aGlzLmVvKHQscyxoLG4pLGw9dGhpcy5lbyh0LGUsLW4sLWgpLGE9dGhpcy5VbCgwLHQsITApLXRoaXMuVWwoaSx0LCEwKTtyLmxlbmd0aD4wJiZyWzBdLlJsLW8uUmw8YS8yJiZyLnNoaWZ0KCksci5sZW5ndGg+MCYmbC5SbC1yW3IubGVuZ3RoLTFdLlJsPGEvMiYmci5wb3AoKSxyLnVuc2hpZnQobyksci5wdXNoKGwpfWVvKHQsaSxzLGUpe2NvbnN0IGg9KHMrZSkvMixuPXRoaXMuSGwoaStzLHQpLHI9dGhpcy5IbChpK2UsdCksbz1NYXRoLm1pbihuLHIpLGw9TWF0aC5tYXgobixyKSxhPU1hdGgubWF4KC4xLHRoaXMuRmwobCxvKSksdT10aGlzLkhsKGkraCx0KSxjPXUtdSVhLGY9dGhpcy5VbChjLHQsITApO3JldHVybntpbzp0aGlzLktpLm5vKGMpLFJsOmYsSmw6Y319WmwodCxpLHMpe2xldCBlPWQodGhpcy5LaS5hcigpKTtyZXR1cm4gdGhpcy5LaS5zbygpJiYoZT1taShlLHRoaXMuS2kucm8oKSkpLGUuSmUoKS1pPHQmJnMtZS5RZSgpPHR9fWZ1bmN0aW9uIGJpKHQpe3JldHVybiB0LnNsaWNlKCkuc29ydCgoKHQsaSk9PmYodC5sbigpKS1mKGkubG4oKSkpKX12YXIgd2k7IWZ1bmN0aW9uKHQpe3RbdC5Ob3JtYWw9MF09Ik5vcm1hbCIsdFt0LkxvZ2FyaXRobWljPTFdPSJMb2dhcml0aG1pYyIsdFt0LlBlcmNlbnRhZ2U9Ml09IlBlcmNlbnRhZ2UiLHRbdC5JbmRleGVkVG8xMDA9M109IkluZGV4ZWRUbzEwMCJ9KHdpfHwod2k9e30pKTtjb25zdCBNaT1uZXcgc3QseWk9bmV3IGl0KDEwMCwxKTtjbGFzcyBTaXtjb25zdHJ1Y3Rvcih0LGkscyxlLGgpewp0aGlzLmhvPTAsdGhpcy5hbz1udWxsLHRoaXMucnI9bnVsbCx0aGlzLmxvPW51bGwsdGhpcy5vbz17X286ITEsdW86bnVsbH0sdGhpcy5jbz0hMSx0aGlzLmRvPTAsdGhpcy5mbz0wLHRoaXMucG89bmV3IG0sdGhpcy52bz1uZXcgbSx0aGlzLm1vPVtdLHRoaXMud289bnVsbCx0aGlzLk1vPW51bGwsdGhpcy5ibz1udWxsLHRoaXMuU289bnVsbCx0aGlzLnhvPW51bGwsdGhpcy5pbD15aSx0aGlzLkNvPXBpKG51bGwpLHRoaXMueW89dCx0aGlzLnluPWksdGhpcy5rbz1zLHRoaXMuUG89ZSx0aGlzLlRvPWgsdGhpcy5Sbz1uZXcgdmkodGhpcywxMDAsdGhpcy5Eby5iaW5kKHRoaXMpLHRoaXMuSW8uYmluZCh0aGlzKSl9Y2woKXtyZXR1cm4gdGhpcy55b31OKCl7cmV0dXJuIHRoaXMueW59dnIodCl7aWYocCh0aGlzLnluLHQpLHRoaXMuZGwoKSx2b2lkIDAhPT10Lm1vZGUmJnRoaXMuVm8oe19lOnQubW9kZX0pLHZvaWQgMCE9PXQuc2NhbGVNYXJnaW5zKXtjb25zdCBpPWModC5zY2FsZU1hcmdpbnMudG9wKSxzPWModC5zY2FsZU1hcmdpbnMuYm90dG9tKTtpZihpPDB8fGk+MSl0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdG9wIG1hcmdpbiAtIGV4cGVjdCB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDEsIGdpdmVuPSR7aX1gKTtpZihzPDB8fHM+MSl0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYm90dG9tIG1hcmdpbiAtIGV4cGVjdCB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDEsIGdpdmVuPSR7c31gKTtpZihpK3M+MSl0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbWFyZ2lucyAtIHN1bSBvZiBtYXJnaW5zIG11c3QgYmUgbGVzcyB0aGFuIDEsIGdpdmVuPSR7aStzfWApO3RoaXMuQm8oKSx0aGlzLmJvPW51bGx9fUVvKCl7cmV0dXJuIHRoaXMueW4uYXV0b1NjYWxlfUFvKCl7cmV0dXJuIHRoaXMuY299c28oKXtyZXR1cm4gMT09PXRoaXMueW4ubW9kZX1qZSgpe3JldHVybiAyPT09dGhpcy55bi5tb2RlfUxvKCl7cmV0dXJuIDM9PT10aGlzLnluLm1vZGV9cm8oKXtyZXR1cm4gdGhpcy5Db31fZSgpe3JldHVybntoczp0aGlzLnluLmF1dG9TY2FsZSx6bzp0aGlzLnluLmludmVydFNjYWxlLF9lOnRoaXMueW4ubW9kZX19Vm8odCl7Y29uc3QgaT10aGlzLl9lKCk7bGV0IHM9bnVsbDt2b2lkIDAhPT10LmhzJiYodGhpcy55bi5hdXRvU2NhbGU9dC5ocyksdm9pZCAwIT09dC5fZSYmKHRoaXMueW4ubW9kZT10Ll9lLDIhPT10Ll9lJiYzIT09dC5fZXx8KHRoaXMueW4uYXV0b1NjYWxlPSEwKSx0aGlzLm9vLl9vPSExKSwxPT09aS5fZSYmdC5fZSE9PWkuX2UmJihmdW5jdGlvbih0LGkpe2lmKG51bGw9PT10KXJldHVybiExO2NvbnN0IHM9ZmkodC5KZSgpLGkpLGU9ZmkodC5RZSgpLGkpO3JldHVybiBpc0Zpbml0ZShzKSYmaXNGaW5pdGUoZSl9KHRoaXMucnIsdGhpcy5Dbyk/KHM9bWkodGhpcy5ycix0aGlzLkNvKSxudWxsIT09cyYmdGhpcy5PbyhzKSk6dGhpcy55bi5hdXRvU2NhbGU9ITApLDE9PT10Ll9lJiZ0Ll9lIT09aS5fZSYmKHM9ZGkodGhpcy5ycix0aGlzLkNvKSxudWxsIT09cyYmdGhpcy5PbyhzKSk7Y29uc3QgZT1pLl9lIT09dGhpcy55bi5tb2RlO2UmJigyPT09aS5fZXx8dGhpcy5qZSgpKSYmdGhpcy5kbCgpLGUmJigzPT09aS5fZXx8dGhpcy5MbygpKSYmdGhpcy5kbCgpLHZvaWQgMCE9PXQuem8mJmkuem8hPT10LnpvJiYodGhpcy55bi5pbnZlcnRTY2FsZT10LnpvLHRoaXMuTm8oKSksdGhpcy52by5wKGksdGhpcy5fZSgpKX1Gbygpe3JldHVybiB0aGlzLnZvfWsoKXtyZXR1cm4gdGhpcy5rby5mb250U2l6ZX0kdCgpe3JldHVybiB0aGlzLmhvfVdvKHQpe3RoaXMuaG8hPT10JiYodGhpcy5obz10LHRoaXMuQm8oKSx0aGlzLmJvPW51bGwpfUhvKCl7aWYodGhpcy5hbylyZXR1cm4gdGhpcy5hbztjb25zdCB0PXRoaXMuJHQoKS10aGlzLlVvKCktdGhpcy4kbygpO3JldHVybiB0aGlzLmFvPXQsdH1hcigpe3JldHVybiB0aGlzLmpvKCksdGhpcy5ycn1Pbyh0LGkpe2NvbnN0IHM9dGhpcy5ycjsoaXx8bnVsbD09PXMmJm51bGwhPT10fHxudWxsIT09cyYmIXMuR2UodCkpJiYodGhpcy5ibz1udWxsLHRoaXMucnI9dCl9cW8odCl7dGhpcy5Pbyh0KSx0aGlzLllvKG51bGwhPT10KX1HaSgpe3JldHVybiB0aGlzLmpvKCksMD09PXRoaXMuaG98fCF0aGlzLnJyfHx0aGlzLnJyLkdpKCl9S28odCl7cmV0dXJuIHRoaXMuem8oKT90OnRoaXMuJHQoKS0xLXR9TnQodCxpKXtyZXR1cm4gdGhpcy5qZSgpP3Q9b2kodCxpKTp0aGlzLkxvKCkmJih0PWFpKHQsaSkpLHRoaXMuSW8odCxpKX1abyh0LGkscyl7dGhpcy5qbygpO2NvbnN0IGU9dGhpcy4kbygpLGg9Zih0aGlzLmFyKCkpLG49aC5KZSgpLHI9aC5RZSgpLG89dGhpcy5IbygpLTEsbD10aGlzLnpvKCksYT1vLyhyLW4pLHU9dm9pZCAwPT09cz8wOnMuZnJvbSxjPXZvaWQgMD09PXM/dC5sZW5ndGg6cy50byxkPXRoaXMuR28oKTtmb3IobGV0IHM9dTtzPGM7cysrKXtjb25zdCBoPXRbc10scj1oLk10O2lmKGlzTmFOKHIpKWNvbnRpbnVlO2xldCBvPXI7bnVsbCE9PWQmJihvPWQoaC5NdCxpKSk7Y29uc3QgdT1lK2EqKG8tbiksYz1sP3U6dGhpcy5oby0xLXU7aC51dD1jfX1Ybyh0LGkscyl7dGhpcy5qbygpO2NvbnN0IGU9dGhpcy4kbygpLGg9Zih0aGlzLmFyKCkpLG49aC5KZSgpLHI9aC5RZSgpLG89dGhpcy5IbygpLTEsbD10aGlzLnpvKCksYT1vLyhyLW4pLHU9dm9pZCAwPT09cz8wOnMuZnJvbSxjPXZvaWQgMD09PXM/dC5sZW5ndGg6cy50byxkPXRoaXMuR28oKTtmb3IobGV0IHM9dTtzPGM7cysrKXtjb25zdCBoPXRbc107bGV0IHI9aC5qcixvPWgucXIsdT1oLllyLGM9aC5LcjtudWxsIT09ZCYmKHI9ZChoLmpyLGkpLG89ZChoLnFyLGkpLHU9ZChoLllyLGkpLGM9ZChoLktyLGkpKTtsZXQgZj1lK2EqKHItbiksbT1sP2Y6dGhpcy5oby0xLWY7aC5Kbz1tLGY9ZSthKihvLW4pLG09bD9mOnRoaXMuaG8tMS1mLGguUW89bSxmPWUrYSoodS1uKSxtPWw/Zjp0aGlzLmhvLTEtZixoLnRfPW0sZj1lK2EqKGMtbiksbT1sP2Y6dGhpcy5oby0xLWYsaC5pXz1tfX1Ubih0LGkpe2NvbnN0IHM9dGhpcy5Ebyh0LGkpO3JldHVybiB0aGlzLm5fKHMsaSl9bl8odCxpKXtsZXQgcz10CjtyZXR1cm4gdGhpcy5qZSgpP3M9ZnVuY3Rpb24odCxpKXtyZXR1cm4gaTwwJiYodD0tdCksdC8xMDAqaStpfShzLGkpOnRoaXMuTG8oKSYmKHM9ZnVuY3Rpb24odCxpKXtyZXR1cm4gdC09MTAwLGk8MCYmKHQ9LXQpLHQvMTAwKmkraX0ocyxpKSksc31DbCgpe3JldHVybiB0aGlzLm1vfUR0KCl7cmV0dXJuIHRoaXMuTW98fCh0aGlzLk1vPWJpKHRoaXMubW8pKSx0aGlzLk1vfXNfKHQpey0xPT09dGhpcy5tby5pbmRleE9mKHQpJiYodGhpcy5tby5wdXNoKHQpLHRoaXMuZGwoKSx0aGlzLmVfKCkpfXJfKHQpe2NvbnN0IGk9dGhpcy5tby5pbmRleE9mKHQpO2lmKC0xPT09aSl0aHJvdyBuZXcgRXJyb3IoInNvdXJjZSBpcyBub3QgYXR0YWNoZWQgdG8gc2NhbGUiKTt0aGlzLm1vLnNwbGljZShpLDEpLDA9PT10aGlzLm1vLmxlbmd0aCYmKHRoaXMuVm8oe2hzOiEwfSksdGhpcy5PbyhudWxsKSksdGhpcy5kbCgpLHRoaXMuZV8oKX1MdCgpe2xldCB0PW51bGw7Zm9yKGNvbnN0IGkgb2YgdGhpcy5tbyl7Y29uc3Qgcz1pLkx0KCk7bnVsbCE9PXMmJihudWxsPT09dHx8cy56YTx0LnphKSYmKHQ9cyl9cmV0dXJuIG51bGw9PT10P251bGw6dC5XdH16bygpe3JldHVybiB0aGlzLnluLmludmVydFNjYWxlfUVsKCl7Y29uc3QgdD1udWxsPT09dGhpcy5MdCgpO2lmKG51bGwhPT10aGlzLmJvJiYodHx8dGhpcy5iby5oXz09PXQpKXJldHVybiB0aGlzLmJvLkVsO3RoaXMuUm8uamwoKTtjb25zdCBpPXRoaXMuUm8uRWwoKTtyZXR1cm4gdGhpcy5ibz17RWw6aSxoXzp0fSx0aGlzLnBvLnAoKSxpfWFfKCl7cmV0dXJuIHRoaXMucG99bF8odCl7dGhpcy5qZSgpfHx0aGlzLkxvKCl8fG51bGw9PT10aGlzLlNvJiZudWxsPT09dGhpcy5sbyYmKHRoaXMuR2koKXx8KHRoaXMuU289dGhpcy5oby10LHRoaXMubG89Zih0aGlzLmFyKCkpLlhlKCkpKX1vXyh0KXtpZih0aGlzLmplKCl8fHRoaXMuTG8oKSlyZXR1cm47aWYobnVsbD09PXRoaXMuU28pcmV0dXJuO3RoaXMuVm8oe2hzOiExfSksKHQ9dGhpcy5oby10KTwwJiYodD0wKTtsZXQgaT0odGhpcy5TbysuMioodGhpcy5oby0xKSkvKHQrLjIqKHRoaXMuaG8tMSkpO2NvbnN0IHM9Zih0aGlzLmxvKS5YZSgpO2k9TWF0aC5tYXgoaSwuMSkscy5pcihpKSx0aGlzLk9vKHMpfV9fKCl7dGhpcy5qZSgpfHx0aGlzLkxvKCl8fCh0aGlzLlNvPW51bGwsdGhpcy5sbz1udWxsKX11Xyh0KXt0aGlzLkVvKCl8fG51bGw9PT10aGlzLnhvJiZudWxsPT09dGhpcy5sbyYmKHRoaXMuR2koKXx8KHRoaXMueG89dCx0aGlzLmxvPWYodGhpcy5hcigpKS5YZSgpKSl9Y18odCl7aWYodGhpcy5FbygpKXJldHVybjtpZihudWxsPT09dGhpcy54bylyZXR1cm47Y29uc3QgaT1mKHRoaXMuYXIoKSkudHIoKS8odGhpcy5IbygpLTEpO2xldCBzPXQtdGhpcy54bzt0aGlzLnpvKCkmJihzKj0tMSk7Y29uc3QgZT1zKmksaD1mKHRoaXMubG8pLlhlKCk7aC5ucihlKSx0aGlzLk9vKGgsITApLHRoaXMuYm89bnVsbH1kXygpe3RoaXMuRW8oKXx8bnVsbCE9PXRoaXMueG8mJih0aGlzLnhvPW51bGwsdGhpcy5sbz1udWxsKX10bCgpe3JldHVybiB0aGlzLmlsfHx0aGlzLmRsKCksdGhpcy5pbH1KaSh0LGkpe3N3aXRjaCh0aGlzLnluLm1vZGUpe2Nhc2UgMjpyZXR1cm4gdGhpcy5mXyhvaSh0LGkpKTtjYXNlIDM6cmV0dXJuIHRoaXMudGwoKS5mb3JtYXQoYWkodCxpKSk7ZGVmYXVsdDpyZXR1cm4gdGhpcy5jcih0KX19bm8odCl7c3dpdGNoKHRoaXMueW4ubW9kZSl7Y2FzZSAyOnJldHVybiB0aGlzLmZfKHQpO2Nhc2UgMzpyZXR1cm4gdGhpcy50bCgpLmZvcm1hdCh0KTtkZWZhdWx0OnJldHVybiB0aGlzLmNyKHQpfX1RbCh0KXtzd2l0Y2godGhpcy55bi5tb2RlKXtjYXNlIDI6cmV0dXJuIHRoaXMucF8odCk7Y2FzZSAzOnJldHVybiB0aGlzLnRsKCkuZm9ybWF0VGlja21hcmtzKHQpO2RlZmF1bHQ6cmV0dXJuIHRoaXMudl8odCl9fXhhKHQpe3JldHVybiB0aGlzLmNyKHQsZih0aGlzLndvKS50bCgpKX1DYSh0LGkpe3JldHVybiB0PW9pKHQsaSksdGhpcy5mXyh0LE1pKX1tXygpe3JldHVybiB0aGlzLm1vfXdfKHQpe3RoaXMub289e3VvOnQsX286ITF9fU5uKCl7dGhpcy5tby5mb3JFYWNoKCh0PT50Lk5uKCkpKX1LbCgpe3JldHVybiB0aGlzLnluLmVuc3VyZUVkZ2VUaWNrTWFya3NWaXNpYmxlJiZ0aGlzLkVvKCl9R2woKXtyZXR1cm4gdGhpcy5rKCkvMn1kbCgpe3RoaXMuYm89bnVsbDtsZXQgdD0xLzA7dGhpcy53bz1udWxsO2Zvcihjb25zdCBpIG9mIHRoaXMubW8paS5sbigpPHQmJih0PWkubG4oKSx0aGlzLndvPWkpO2xldCBpPTEwMDtudWxsIT09dGhpcy53byYmKGk9TWF0aC5yb3VuZCh0aGlzLndvLktoKCkpKSx0aGlzLmlsPXlpLHRoaXMuamUoKT8odGhpcy5pbD1NaSxpPTEwMCk6dGhpcy5MbygpPyh0aGlzLmlsPW5ldyBpdCgxMDAsMSksaT0xMDApOm51bGwhPT10aGlzLndvJiYodGhpcy5pbD10aGlzLndvLnRsKCkpLHRoaXMuUm89bmV3IHZpKHRoaXMsaSx0aGlzLkRvLmJpbmQodGhpcyksdGhpcy5Jby5iaW5kKHRoaXMpKSx0aGlzLlJvLmpsKCl9ZV8oKXt0aGlzLk1vPW51bGx9TV8oKXtyZXR1cm4gbnVsbD09PXRoaXMud298fHRoaXMuamUoKXx8dGhpcy5MbygpPzE6MS90aGlzLndvLktoKCl9WGkoKXtyZXR1cm4gdGhpcy5Ub31Zbyh0KXt0aGlzLmNvPXR9VW8oKXtyZXR1cm4gdGhpcy56bygpP3RoaXMueW4uc2NhbGVNYXJnaW5zLmJvdHRvbSp0aGlzLiR0KCkrdGhpcy5mbzp0aGlzLnluLnNjYWxlTWFyZ2lucy50b3AqdGhpcy4kdCgpK3RoaXMuZG99JG8oKXtyZXR1cm4gdGhpcy56bygpP3RoaXMueW4uc2NhbGVNYXJnaW5zLnRvcCp0aGlzLiR0KCkrdGhpcy5kbzp0aGlzLnluLnNjYWxlTWFyZ2lucy5ib3R0b20qdGhpcy4kdCgpK3RoaXMuZm99am8oKXt0aGlzLm9vLl9vfHwodGhpcy5vby5fbz0hMCx0aGlzLmdfKCkpfUJvKCl7dGhpcy5hbz1udWxsfUlvKHQsaSl7aWYodGhpcy5qbygpLHRoaXMuR2koKSlyZXR1cm4gMDt0PXRoaXMuc28oKSYmdD9jaSh0LHRoaXMuQ28pOnQ7Y29uc3Qgcz1mKHRoaXMuYXIoKSksZT10aGlzLiRvKCkrKHRoaXMuSG8oKS0xKSoodC1zLkplKCkpL3MudHIoKQo7cmV0dXJuIHRoaXMuS28oZSl9RG8odCxpKXtpZih0aGlzLmpvKCksdGhpcy5HaSgpKXJldHVybiAwO2NvbnN0IHM9dGhpcy5Lbyh0KSxlPWYodGhpcy5hcigpKSxoPWUuSmUoKStlLnRyKCkqKChzLXRoaXMuJG8oKSkvKHRoaXMuSG8oKS0xKSk7cmV0dXJuIHRoaXMuc28oKT9maShoLHRoaXMuQ28pOmh9Tm8oKXt0aGlzLmJvPW51bGwsdGhpcy5Sby5qbCgpfWdfKCl7aWYodGhpcy5BbygpJiYhdGhpcy5FbygpKXJldHVybjtjb25zdCB0PXRoaXMub28udW87aWYobnVsbD09PXQpcmV0dXJuO2xldCBpPW51bGw7Y29uc3Qgcz10aGlzLm1fKCk7bGV0IGU9MCxoPTA7Zm9yKGNvbnN0IG4gb2Ygcyl7aWYoIW4uSXQoKSljb250aW51ZTtjb25zdCBzPW4uTHQoKTtpZihudWxsPT09cyljb250aW51ZTtjb25zdCByPW4ubGEodC5PYSgpLHQuYmkoKSk7bGV0IG89ciYmci5hcigpO2lmKG51bGwhPT1vKXtzd2l0Y2godGhpcy55bi5tb2RlKXtjYXNlIDE6bz1kaShvLHRoaXMuQ28pO2JyZWFrO2Nhc2UgMjpvPWxpKG8scy5XdCk7YnJlYWs7Y2FzZSAzOm89dWkobyxzLld0KX1pZihpPW51bGw9PT1pP286aS5TcyhmKG8pKSxudWxsIT09cil7Y29uc3QgdD1yLmxyKCk7bnVsbCE9PXQmJihlPU1hdGgubWF4KGUsdC5hYm92ZSksaD1NYXRoLm1heChoLHQuYmVsb3cpKX19fWlmKHRoaXMuS2woKSYmKGU9TWF0aC5tYXgoZSx0aGlzLkdsKCkpLGg9TWF0aC5tYXgoaCx0aGlzLkdsKCkpKSxlPT09dGhpcy5kbyYmaD09PXRoaXMuZm98fCh0aGlzLmRvPWUsdGhpcy5mbz1oLHRoaXMuYm89bnVsbCx0aGlzLkJvKCkpLG51bGwhPT1pKXtpZihpLkplKCk9PT1pLlFlKCkpe2NvbnN0IHQ9NSp0aGlzLk1fKCk7dGhpcy5zbygpJiYoaT1taShpLHRoaXMuQ28pKSxpPW5ldyB2dChpLkplKCktdCxpLlFlKCkrdCksdGhpcy5zbygpJiYoaT1kaShpLHRoaXMuQ28pKX1pZih0aGlzLnNvKCkpe2NvbnN0IHQ9bWkoaSx0aGlzLkNvKSxzPXBpKHQpO2lmKG49cyxyPXRoaXMuQ28sbi5BbCE9PXIuQWx8fG4uTGwhPT1yLkxsKXtjb25zdCBlPW51bGwhPT10aGlzLmxvP21pKHRoaXMubG8sdGhpcy5Dbyk6bnVsbDt0aGlzLkNvPXMsaT1kaSh0LHMpLG51bGwhPT1lJiYodGhpcy5sbz1kaShlLHMpKX19dGhpcy5PbyhpKX1lbHNlIG51bGw9PT10aGlzLnJyJiYodGhpcy5PbyhuZXcgdnQoLS41LC41KSksdGhpcy5Dbz1waShudWxsKSk7dmFyIG4scn1Hbygpe3JldHVybiB0aGlzLmplKCk/b2k6dGhpcy5MbygpP2FpOnRoaXMuc28oKT90PT5jaSh0LHRoaXMuQ28pOm51bGx9Yl8odCxpLHMpe3JldHVybiB2b2lkIDA9PT1pPyh2b2lkIDA9PT1zJiYocz10aGlzLnRsKCkpLHMuZm9ybWF0KHQpKTppKHQpfVNfKHQsaSxzKXtyZXR1cm4gdm9pZCAwPT09aT8odm9pZCAwPT09cyYmKHM9dGhpcy50bCgpKSxzLmZvcm1hdFRpY2ttYXJrcyh0KSk6aSh0KX1jcih0LGkpe3JldHVybiB0aGlzLmJfKHQsdGhpcy5Qby5wcmljZUZvcm1hdHRlcixpKX12Xyh0LGkpe2NvbnN0IHM9dGhpcy5Qby5wcmljZUZvcm1hdHRlcjtyZXR1cm4gdGhpcy5TXyh0LHRoaXMuUG8udGlja21hcmtzUHJpY2VGb3JtYXR0ZXI/PyhzP3Q9PnQubWFwKHMpOnZvaWQgMCksaSl9Zl8odCxpKXtyZXR1cm4gdGhpcy5iXyh0LHRoaXMuUG8ucGVyY2VudGFnZUZvcm1hdHRlcixpKX1wXyh0LGkpe2NvbnN0IHM9dGhpcy5Qby5wZXJjZW50YWdlRm9ybWF0dGVyO3JldHVybiB0aGlzLlNfKHQsdGhpcy5Qby50aWNrbWFya3NQZXJjZW50YWdlRm9ybWF0dGVyPz8ocz90PT50Lm1hcChzKTp2b2lkIDApLGkpfX1mdW5jdGlvbiB4aSh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIGp0fWNsYXNzIF9pe2NvbnN0cnVjdG9yKHQsaSl7dGhpcy5tbz1bXSx0aGlzLnhfPW5ldyBNYXAsdGhpcy5obz0wLHRoaXMuQ189MCx0aGlzLnlfPTEsdGhpcy5Nbz1udWxsLHRoaXMua189bnVsbCx0aGlzLlBfPSExLHRoaXMuVF89bmV3IG0sdGhpcy5mYT1bXSx0aGlzLmlhPXQsdGhpcy5zbj1pLHRoaXMuUl89bmV3IG5pKHRoaXMpO2NvbnN0IHM9aS5OKCk7dGhpcy5EXz10aGlzLklfKCJsZWZ0IixzLmxlZnRQcmljZVNjYWxlKSx0aGlzLlZfPXRoaXMuSV8oInJpZ2h0IixzLnJpZ2h0UHJpY2VTY2FsZSksdGhpcy5EXy5GbygpLmkodGhpcy5CXy5iaW5kKHRoaXMsdGhpcy5EXyksdGhpcyksdGhpcy5WXy5GbygpLmkodGhpcy5CXy5iaW5kKHRoaXMsdGhpcy5WXyksdGhpcyksdGhpcy5FXyhzKX1FXyh0KXtpZih0LmxlZnRQcmljZVNjYWxlJiZ0aGlzLkRfLnZyKHQubGVmdFByaWNlU2NhbGUpLHQucmlnaHRQcmljZVNjYWxlJiZ0aGlzLlZfLnZyKHQucmlnaHRQcmljZVNjYWxlKSx0LmxvY2FsaXphdGlvbiYmKHRoaXMuRF8uZGwoKSx0aGlzLlZfLmRsKCkpLHQub3ZlcmxheVByaWNlU2NhbGVzKXtjb25zdCBpPUFycmF5LmZyb20odGhpcy54Xy52YWx1ZXMoKSk7Zm9yKGNvbnN0IHMgb2YgaSl7Y29uc3QgaT1mKHNbMF0uRnQoKSk7aS52cih0Lm92ZXJsYXlQcmljZVNjYWxlcyksdC5sb2NhbGl6YXRpb24mJmkuZGwoKX19fUFfKHQpe3N3aXRjaCh0KXtjYXNlImxlZnQiOnJldHVybiB0aGlzLkRfO2Nhc2UicmlnaHQiOnJldHVybiB0aGlzLlZffXJldHVybiB0aGlzLnhfLmhhcyh0KT9jKHRoaXMueF8uZ2V0KHQpKVswXS5GdCgpOm51bGx9bSgpe3RoaXMuUXQoKS5MXygpLnUodGhpcyksdGhpcy5EXy5GbygpLnUodGhpcyksdGhpcy5WXy5GbygpLnUodGhpcyksdGhpcy5tby5mb3JFYWNoKCh0PT57dC5tJiZ0Lm0oKX0pKSx0aGlzLmZhPXRoaXMuZmEuZmlsdGVyKCh0PT57Y29uc3QgaT10LlFoKCk7cmV0dXJuIGkuZGV0YWNoZWQmJmkuZGV0YWNoZWQoKSwhMX0pKSx0aGlzLlRfLnAoKX16Xygpe3JldHVybiB0aGlzLnlffU9fKHQpe3RoaXMueV89dH1RdCgpe3JldHVybiB0aGlzLnNufW5uKCl7cmV0dXJuIHRoaXMuQ199JHQoKXtyZXR1cm4gdGhpcy5ob31OXyh0KXt0aGlzLkNfPXQsdGhpcy5GXygpfVdvKHQpe3RoaXMuaG89dCx0aGlzLkRfLldvKHQpLHRoaXMuVl8uV28odCksdGhpcy5tby5mb3JFYWNoKChpPT57aWYodGhpcy5acyhpKSl7Y29uc3Qgcz1pLkZ0KCk7bnVsbCE9PXMmJnMuV28odCl9fSkpLHRoaXMuRl8oKX1XXyh0KXsKdGhpcy5QXz10fUhfKCl7cmV0dXJuIHRoaXMuUF99VV8oKXtyZXR1cm4gdGhpcy5tby5maWx0ZXIoeGkpfUNsKCl7cmV0dXJuIHRoaXMubW99WnModCl7Y29uc3QgaT10LkZ0KCk7cmV0dXJuIG51bGw9PT1pfHx0aGlzLkRfIT09aSYmdGhpcy5WXyE9PWl9c18odCxpLHMpe3RoaXMual8odCxpLHM/dC5sbigpOnRoaXMubW8ubGVuZ3RoKX1yXyh0LGkpe2NvbnN0IHM9dGhpcy5tby5pbmRleE9mKHQpO3UoLTEhPT1zLCJyZW1vdmVEYXRhU291cmNlOiBpbnZhbGlkIGRhdGEgc291cmNlIiksdGhpcy5tby5zcGxpY2UocywxKSxpfHx0aGlzLm1vLmZvckVhY2goKCh0LGkpPT50Ll9uKGkpKSk7Y29uc3QgZT1mKHQuRnQoKSkuY2woKTtpZih0aGlzLnhfLmhhcyhlKSl7Y29uc3QgaT1jKHRoaXMueF8uZ2V0KGUpKSxzPWkuaW5kZXhPZih0KTstMSE9PXMmJihpLnNwbGljZShzLDEpLDA9PT1pLmxlbmd0aCYmdGhpcy54Xy5kZWxldGUoZSkpfWNvbnN0IGg9dC5GdCgpO2gmJmguQ2woKS5pbmRleE9mKHQpPj0wJiYoaC5yXyh0KSx0aGlzLnFfKGgpKSx0aGlzLllfKCl9WHModCl7cmV0dXJuIHQ9PT10aGlzLkRfPyJsZWZ0Ijp0PT09dGhpcy5WXz8icmlnaHQiOiJvdmVybGF5In1LXygpe3JldHVybiB0aGlzLkRffVpfKCl7cmV0dXJuIHRoaXMuVl99R18odCxpKXt0LmxfKGkpfVhfKHQsaSl7dC5vXyhpKSx0aGlzLkZfKCl9Sl8odCl7dC5fXygpfVFfKHQsaSl7dC51XyhpKX10dSh0LGkpe3QuY18oaSksdGhpcy5GXygpfWl1KHQpe3QuZF8oKX1GXygpe3RoaXMubW8uZm9yRWFjaCgodD0+e3QuTm4oKX0pKX1Qbigpe2NvbnN0W3QsaV09dGhpcy5udSgpO2xldCBzPW51bGw7cmV0dXJuIHQuTigpLnZpc2libGUmJjAhPT10LkNsKCkubGVuZ3RoP3M9dDppLk4oKS52aXNpYmxlJiYwIT09aS5DbCgpLmxlbmd0aD9zPWk6MCE9PXRoaXMubW8ubGVuZ3RoJiYocz10aGlzLm1vWzBdLkZ0KCkpLG51bGw9PT1zJiYocz10aGlzLkdzKCk/P3QpLHN9R3MoKXtjb25zdFt0LGldPXRoaXMubnUoKTtyZXR1cm4gdC5OKCkudmlzaWJsZT90OmkuTigpLnZpc2libGU/aTpudWxsfXFfKHQpe251bGwhPT10JiZ0LkVvKCkmJnRoaXMuc3UodCl9ZXUodCl7Y29uc3QgaT10aGlzLmlhLkVlKCk7dC5Wbyh7aHM6ITB9KSxudWxsIT09aSYmdC53XyhpKSx0aGlzLkZfKCl9cnUoKXt0aGlzLnN1KHRoaXMuRF8pLHRoaXMuc3UodGhpcy5WXyl9aHUoKXt0aGlzLnFfKHRoaXMuRF8pLHRoaXMucV8odGhpcy5WXyksdGhpcy5tby5mb3JFYWNoKCh0PT57dGhpcy5acyh0KSYmdGhpcy5xXyh0LkZ0KCkpfSkpLHRoaXMuRl8oKSx0aGlzLnNuLm1yKCl9RHQoKXtyZXR1cm4gbnVsbD09PXRoaXMuTW8mJih0aGlzLk1vPWJpKHRoaXMubW8pKSx0aGlzLk1vfWF1KCl7Y29uc3QgdD10aGlzLkR0KCksaT10aGlzLnNuLm91KCk/Lmx1LHM9dGhpcy5zbi5OKCkuaG92ZXJlZFNlcmllc09uVG9wLGU9dGhpcy5rXztpZihudWxsIT09ZSYmZS5LaD09PXQmJmUuX3U9PT1pJiZlLnV1PT09cylyZXR1cm4gZS5jdTtjb25zdCBoPWZ1bmN0aW9uKHQsaSxzKXtpZighcylyZXR1cm4gdDtjb25zdCBlPXQuaW5kZXhPZihpKTtpZigtMT09PWV8fGU9PT10Lmxlbmd0aC0xKXJldHVybiB0O2NvbnN0IGg9W107Zm9yKGxldCBpPTA7aTx0Lmxlbmd0aDtpKyspaSE9PWUmJmgucHVzaCh0W2ldKTtyZXR1cm4gaC5wdXNoKHRbZV0pLGh9KHQsaSxzKTtyZXR1cm4gdGhpcy5rXz17S2g6dCxfdTppLHV1OnMsY3U6aH0saH1kdSh0LGkpe2k9aWkoaSwwLHRoaXMubW8ubGVuZ3RoLTEpO2NvbnN0IHM9dGhpcy5tby5pbmRleE9mKHQpO3UoLTEhPT1zLCJzZXRTZXJpZXNPcmRlcjogaW52YWxpZCBkYXRhIHNvdXJjZSIpLHRoaXMubW8uc3BsaWNlKHMsMSksdGhpcy5tby5zcGxpY2UoaSwwLHQpLHRoaXMubW8uZm9yRWFjaCgoKHQsaSk9PnQuX24oaSkpKSx0aGlzLllfKCk7Zm9yKGNvbnN0IHQgb2ZbdGhpcy5EXyx0aGlzLlZfXSl0LmVfKCksdC5kbCgpO3RoaXMuc24ubXIoKX1WdCgpe3JldHVybiB0aGlzLkR0KCkuZmlsdGVyKHhpKX1mdSgpe3JldHVybiB0aGlzLlRffXB1KCl7cmV0dXJuIHRoaXMuUl99aGwodCl7dGhpcy5mYS5wdXNoKG5ldyBEdCh0KSl9YWwodCl7dGhpcy5mYT10aGlzLmZhLmZpbHRlcigoaT0+aS5RaCgpIT09dCkpLHQuZGV0YWNoZWQmJnQuZGV0YWNoZWQoKSx0aGlzLnNuLm1yKCl9dnUoKXtyZXR1cm4gdGhpcy5mYX1KYSh0LGkpe3JldHVybiB0aGlzLmZhLm1hcCgocz0+cy5Rcyh0LGkpKSkuZmlsdGVyKCh0PT5udWxsIT09dCkpfXN1KHQpe2NvbnN0IGk9dC5tXygpO2lmKGkmJmkubGVuZ3RoPjAmJiF0aGlzLmlhLkdpKCkpe2NvbnN0IGk9dGhpcy5pYS5FZSgpO251bGwhPT1pJiZ0LndfKGkpfXQuTm4oKX1qXyh0LGkscyl7bGV0IGU9dGhpcy5BXyhpKTtpZihudWxsPT09ZSYmKGU9dGhpcy5JXyhpLHRoaXMuc24uTigpLm92ZXJsYXlQcmljZVNjYWxlcykpLHRoaXMubW8uc3BsaWNlKHMsMCx0KSwhaihpKSl7Y29uc3Qgcz10aGlzLnhfLmdldChpKXx8W107cy5wdXNoKHQpLHRoaXMueF8uc2V0KGkscyl9dC5fbihzKSxlLnNfKHQpLHQudW4oZSksdGhpcy5xXyhlKSx0aGlzLllfKCl9WV8oKXt0aGlzLk1vPW51bGwsdGhpcy5rXz1udWxsfW51KCl7cmV0dXJuImxlZnQiPT09dGhpcy5zbi5OKCkuZGVmYXVsdFZpc2libGVQcmljZVNjYWxlSWQ/W3RoaXMuRF8sdGhpcy5WX106W3RoaXMuVl8sdGhpcy5EX119Ql8odCxpLHMpe2kuX2UhPT1zLl9lJiZ0aGlzLnN1KHQpfUlfKHQsaSl7Y29uc3Qgcz17dmlzaWJsZTohMCxhdXRvU2NhbGU6ITAsLi4uTShpKX0sZT1uZXcgU2kodCxzLHRoaXMuc24uTigpLmxheW91dCx0aGlzLnNuLk4oKS5sb2NhbGl6YXRpb24sdGhpcy5zbi5YaSgpKTtyZXR1cm4gZS5Xbyh0aGlzLiR0KCkpLGV9fWZ1bmN0aW9uIENpKHQsaSl7cmV0dXJuIG51bGw9PT1pfHwyPT09dC5zZSYmMiE9PWkuc2V8fCgyIT09aS5zZXx8Mj09PXQuc2UpJiZ0Lm5lIT09aS5uZSYmdC5uZTxpLm5lfWZ1bmN0aW9uIGtpKHQpe3JldHVybnt0ZTp0LnRlLGllOnQuaWV9fWZ1bmN0aW9uIEVpKHQpe3JldHVybntuZTp0LmRpc3RhbmNlPz8wLApzZTp0LmhpdFRlc3RQcmlvcml0eT8/KCJtYXJrZXIiPT09dC5pdGVtVHlwZT8yOjApLGVlOnQuaXRlbVR5cGU/PyJwcmltaXRpdmUiLG11OnQuY3Vyc29yU3R5bGUsdGU6dC5leHRlcm5hbElkfX1mdW5jdGlvbiBOaSh0KXtyZXR1cm57bHU6dC5sdSx3dTpraSh0Lk11KSxtdTp0Lk11Lm11LGVlOnQuTXUuZWU/PyJwcmltaXRpdmUifX1mdW5jdGlvbiBUaSh0LGkscyxlKXtsZXQgaD1udWxsO2Zvcihjb25zdCBuIG9mIHQpe2xldCB0PW4uUXM/LihpLHMsZSk/P251bGw7aWYobnVsbD09PXQpe2NvbnN0IGg9bi5UdChlKTt0PW51bGwhPT1oJiZoLlFzP2guUXMoaSxzKTpudWxsfWlmKG51bGwhPT10KXtjb25zdCBpPXtndTpuLE11OnR9OyhudWxsPT09aHx8Q2koaS5NdSxoLk11KSkmJihoPWkpfX1yZXR1cm4gaH1mdW5jdGlvbiBSaSh0KXtyZXR1cm4gdm9pZCAwIT09dC5qbn1mdW5jdGlvbiBQaSh0LGkscyl7Y29uc3QgZT1bdCwuLi50LkR0KCldLnJldmVyc2UoKSxoPWZ1bmN0aW9uKHQsaSxzKXtsZXQgZSxoLG47Zm9yKGNvbnN0IGwgb2YgdCl7Y29uc3QgdD1sLkphPy4oaSxzKT8/W107Zm9yKGNvbnN0IGkgb2YgdCl7Y29uc3QgdD1FaShpKTtyPWkuek9yZGVyLG89ZT8uek9yZGVyLCghb3x8InRvcCI9PT1yJiYidG9wIiE9PW98fCJub3JtYWwiPT09ciYmImJvdHRvbSI9PT1vfHxpLnpPcmRlcj09PWU/LnpPcmRlciYmdm9pZCAwIT09aCYmQ2kodCxoKXx8aS56T3JkZXI9PT1lPy56T3JkZXImJnZvaWQgMD09PWgpJiYoZT1pLGg9dCxuPWwpfX12YXIgcixvO3JldHVybiBlJiZuJiZoP3tNdTpoLGJ1OmUsbHU6bn06bnVsbH0oZSxpLHMpO2lmKCJ0b3AiPT09aD8uYnUuek9yZGVyKXJldHVybiBOaShoKTtsZXQgbj1udWxsLHI9bnVsbDtmb3IoY29uc3QgbyBvZiBlKXtpZihoJiZoLmx1PT09byYmImJvdHRvbSIhPT1oLmJ1LnpPcmRlciYmIWguYnUuaXNCYWNrZ3JvdW5kKXJldHVybiBuPz9OaShoKTtpZihSaShvKSl7Y29uc3QgZT1UaShvLmpuKHQpLGkscyx0KTtpZihudWxsIT09ZSl7Y29uc3QgdD17bHU6byxndTplLmd1LHd1OmtpKGUuTXUpLG11OmUuTXUubXUsZWU6ZS5NdS5lZT8/InByaW1pdGl2ZSJ9OyhudWxsPT09bnx8Q2koZS5NdSxyKSkmJihuPXQscj1lLk11KX19aWYoaCYmaC5sdT09PW8mJiJib3R0b20iIT09aC5idS56T3JkZXImJmguYnUuaXNCYWNrZ3JvdW5kKXJldHVybiBuPz9OaShoKX1yZXR1cm4gbnVsbCE9PW4/bjpoPy5idT9OaShoKTpudWxsfWNsYXNzIHppe2NvbnN0cnVjdG9yKHQsaSxzPTUwKXt0aGlzLlZzPTAsdGhpcy5Ccz0xLHRoaXMuRXM9MSx0aGlzLkxzPW5ldyBNYXAsdGhpcy5Bcz1uZXcgTWFwLHRoaXMuU3U9dCx0aGlzLnh1PWksdGhpcy56cz1zfUN1KHQpe2NvbnN0IGk9dC50aW1lLHM9dGhpcy54dS5jYWNoZUtleShpKSxlPXRoaXMuTHMuZ2V0KHMpO2lmKHZvaWQgMCE9PWUpcmV0dXJuIGUueXU7aWYodGhpcy5Wcz09PXRoaXMuenMpe2NvbnN0IHQ9dGhpcy5Bcy5nZXQodGhpcy5Fcyk7dGhpcy5Bcy5kZWxldGUodGhpcy5FcyksdGhpcy5Mcy5kZWxldGUoYyh0KSksdGhpcy5FcysrLHRoaXMuVnMtLX1jb25zdCBoPXRoaXMuU3UodCk7cmV0dXJuIHRoaXMuTHMuc2V0KHMse3l1OmgsV3M6dGhpcy5Cc30pLHRoaXMuQXMuc2V0KHRoaXMuQnMscyksdGhpcy5WcysrLHRoaXMuQnMrKyxofX1jbGFzcyBJaXtjb25zdHJ1Y3Rvcih0LGkpe3UodDw9aSwicmlnaHQgc2hvdWxkIGJlID49IGxlZnQiKSx0aGlzLmt1PXQsdGhpcy5QdT1pfU9hKCl7cmV0dXJuIHRoaXMua3V9YmkoKXtyZXR1cm4gdGhpcy5QdX1UdSgpe3JldHVybiB0aGlzLlB1LXRoaXMua3UrMX16ZSh0KXtyZXR1cm4gdGhpcy5rdTw9dCYmdDw9dGhpcy5QdX1HZSh0KXtyZXR1cm4gdGhpcy5rdT09PXQuT2EoKSYmdGhpcy5QdT09PXQuYmkoKX19ZnVuY3Rpb24gTGkodCxpKXtyZXR1cm4gbnVsbD09PXR8fG51bGw9PT1pP3Q9PT1pOnQuR2UoaSl9Y2xhc3MgRml7Y29uc3RydWN0b3IoKXt0aGlzLlJ1PW5ldyBNYXAsdGhpcy5Mcz1udWxsLHRoaXMuRHU9ITF9SXUodCl7dGhpcy5EdT10LHRoaXMuTHM9bnVsbH1WdSh0LGkpe3RoaXMuQnUoaSksdGhpcy5Mcz1udWxsO2ZvcihsZXQgcz1pO3M8dC5sZW5ndGg7KytzKXtjb25zdCBpPXRbc107bGV0IGU9dGhpcy5SdS5nZXQoaS50aW1lV2VpZ2h0KTt2b2lkIDA9PT1lJiYoZT1bXSx0aGlzLlJ1LnNldChpLnRpbWVXZWlnaHQsZSkpLGUucHVzaCh7aW5kZXg6cyx0aW1lOmkudGltZSx3ZWlnaHQ6aS50aW1lV2VpZ2h0LG9yaWdpbmFsVGltZTppLm9yaWdpbmFsVGltZX0pfX1FdSh0LGkscyxlLGgpe2NvbnN0IG49TWF0aC5jZWlsKGkvdCk7cmV0dXJuIG51bGwhPT10aGlzLkxzJiZ0aGlzLkxzLkF1PT09biYmaD09PXRoaXMuTHMuTHUmJnM9PT10aGlzLkxzLnp1fHwodGhpcy5Mcz17THU6aCx6dTpzLEVsOnRoaXMuT3UobixzLGUpLEF1Om59KSx0aGlzLkxzLkVsfUJ1KHQpe2lmKDA9PT10KXJldHVybiB2b2lkIHRoaXMuUnUuY2xlYXIoKTtjb25zdCBpPVtdO3RoaXMuUnUuZm9yRWFjaCgoKHMsZSk9Pnt0PD1zWzBdLmluZGV4P2kucHVzaChlKTpzLnNwbGljZShOdChzLHQsKGk9PmkuaW5kZXg8dCkpLDEvMCl9KSk7Zm9yKGNvbnN0IHQgb2YgaSl0aGlzLlJ1LmRlbGV0ZSh0KX1PdSh0LGkscyl7bGV0IGU9W107Y29uc3QgaD10PT4haXx8cy5oYXModC5pbmRleCk7Zm9yKGNvbnN0IGkgb2YgQXJyYXkuZnJvbSh0aGlzLlJ1LmtleXMoKSkuc29ydCgoKHQsaSk9PmktdCkpKXtpZighdGhpcy5SdS5nZXQoaSkpY29udGludWU7Y29uc3Qgcz1lO2U9W107Y29uc3Qgbj1zLmxlbmd0aDtsZXQgcj0wO2NvbnN0IG89Yyh0aGlzLlJ1LmdldChpKSksbD1vLmxlbmd0aDtsZXQgYT0xLzAsdT0tMS8wO2ZvcihsZXQgaT0wO2k8bDtpKyspe2NvbnN0IGw9b1tpXSxjPWwuaW5kZXg7Zm9yKDtyPG47KXtjb25zdCB0PXNbcl0saT10LmluZGV4O2lmKCEoaTxjJiZoKHQpKSl7YT1pO2JyZWFrfXIrKyxlLnB1c2godCksdT1pLGE9MS8wfWlmKGEtYz49dCYmYy11Pj10JiZoKGwpKWUucHVzaChsKSx1PWM7ZWxzZSBpZih0aGlzLkR1KXJldHVybiBzfQpmb3IoO3I8bjtyKyspaChzW3JdKSYmZS5wdXNoKHNbcl0pfXJldHVybiBlfX1jbGFzcyBxaXtjb25zdHJ1Y3Rvcih0KXt0aGlzLk51PXR9RnUoKXtyZXR1cm4gbnVsbD09PXRoaXMuTnU/bnVsbDpuZXcgSWkoTWF0aC5mbG9vcih0aGlzLk51Lk9hKCkpLE1hdGguY2VpbCh0aGlzLk51LmJpKCkpKX1XdSgpe3JldHVybiB0aGlzLk51fXN0YXRpYyBIdSgpe3JldHVybiBuZXcgcWkobnVsbCl9fWZ1bmN0aW9uIFdpKHQsaSl7cmV0dXJuIHQud2VpZ2h0Pmkud2VpZ2h0P3Q6aX1jbGFzcyBRaXtjb25zdHJ1Y3Rvcih0LGkscyxlKXt0aGlzLkNfPTAsdGhpcy5VdT1udWxsLHRoaXMuJHU9W10sdGhpcy54bz1udWxsLHRoaXMuU289bnVsbCx0aGlzLmp1PW5ldyBGaSx0aGlzLnF1PW5ldyBNYXAsdGhpcy5ZdT1xaS5IdSgpLHRoaXMuS3U9ITAsdGhpcy5adT1uZXcgbSx0aGlzLkd1PW5ldyBtLHRoaXMuWHU9bmV3IG0sdGhpcy5KdT1udWxsLHRoaXMuUXU9bnVsbCx0aGlzLnRjPW5ldyBNYXAsdGhpcy5uYz0tMSx0aGlzLnNjPVtdLHRoaXMuZWM9MSx0aGlzLnluPWksdGhpcy5Qbz1zLHRoaXMucmM9aS5yaWdodE9mZnNldCx0aGlzLmhjPWkuYmFyU3BhY2luZyx0aGlzLnNuPXQsdGhpcy5hYyhpKSx0aGlzLnh1PWUsdGhpcy5sYygpLHRoaXMuanUuSXUoaS51bmlmb3JtRGlzdHJpYnV0aW9uKSx0aGlzLm9jKCksdGhpcy5fYygpfU4oKXtyZXR1cm4gdGhpcy55bn11Yyh0KXtwKHRoaXMuUG8sdCksdGhpcy5jYygpLHRoaXMubGMoKX12cih0LGkpe3AodGhpcy55bix0KSx0aGlzLnluLmZpeExlZnRFZGdlJiZ0aGlzLmRjKCksdGhpcy55bi5maXhSaWdodEVkZ2UmJnRoaXMuZmMoKSx2b2lkIDAhPT10LmJhclNwYWNpbmcmJnRoaXMuc24uTXModC5iYXJTcGFjaW5nKSx2b2lkIDAhPT10LnJpZ2h0T2Zmc2V0JiZ0aGlzLnNuLmdzKHQucmlnaHRPZmZzZXQpLHRoaXMuYWModCksdm9pZCAwPT09dC5taW5CYXJTcGFjaW5nJiZ2b2lkIDA9PT10Lm1heEJhclNwYWNpbmd8fHRoaXMuc24uTXModC5iYXJTcGFjaW5nPz90aGlzLmhjKSx2b2lkIDAhPT10Lmlnbm9yZVdoaXRlc3BhY2VJbmRpY2VzJiZ0Lmlnbm9yZVdoaXRlc3BhY2VJbmRpY2VzIT09dGhpcy55bi5pZ25vcmVXaGl0ZXNwYWNlSW5kaWNlcyYmdGhpcy5fYygpLHRoaXMuY2MoKSx0aGlzLmxjKCksdm9pZCAwPT09dC5lbmFibGVDb25mbGF0aW9uJiZ2b2lkIDA9PT10LmNvbmZsYXRpb25UaHJlc2hvbGRGYWN0b3J8fHRoaXMub2MoKSx0aGlzLlh1LnAoKX1Sbih0KXtyZXR1cm4gdGhpcy4kdVt0XT8udGltZT8/bnVsbH1lbih0KXtyZXR1cm4gdGhpcy4kdVt0XT8/bnVsbH12Yyh0LGkpe2lmKHRoaXMuJHUubGVuZ3RoPDEpcmV0dXJuIG51bGw7aWYodGhpcy54dS5rZXkodCk+dGhpcy54dS5rZXkodGhpcy4kdVt0aGlzLiR1Lmxlbmd0aC0xXS50aW1lKSlyZXR1cm4gaT90aGlzLiR1Lmxlbmd0aC0xOm51bGw7Y29uc3Qgcz1OdCh0aGlzLiR1LHRoaXMueHUua2V5KHQpLCgodCxpKT0+dGhpcy54dS5rZXkodC50aW1lKTxpKSk7cmV0dXJuIHRoaXMueHUua2V5KHQpPHRoaXMueHUua2V5KHRoaXMuJHVbc10udGltZSk/aT9zOm51bGw6c31HaSgpe3JldHVybiAwPT09dGhpcy5DX3x8MD09PXRoaXMuJHUubGVuZ3RofHxudWxsPT09dGhpcy5VdX1tYygpe3JldHVybiB0aGlzLiR1Lmxlbmd0aD4wfUVlKCl7cmV0dXJuIHRoaXMud2MoKSx0aGlzLll1LkZ1KCl9TWMoKXtyZXR1cm4gdGhpcy53YygpLHRoaXMuWXUuV3UoKX1nYygpe2NvbnN0IHQ9dGhpcy5FZSgpO2lmKG51bGw9PT10KXJldHVybiBudWxsO2NvbnN0IGk9e2Zyb206dC5PYSgpLHRvOnQuYmkoKX07cmV0dXJuIHRoaXMuYmMoaSl9YmModCl7Y29uc3QgaT1NYXRoLnJvdW5kKHQuZnJvbSkscz1NYXRoLnJvdW5kKHQudG8pLGU9Zih0aGlzLlNjKCkpLGg9Zih0aGlzLnhjKCkpO3JldHVybntmcm9tOmYodGhpcy5lbihNYXRoLm1heChlLGkpKSksdG86Zih0aGlzLmVuKE1hdGgubWluKGgscykpKX19Q2ModCl7cmV0dXJue2Zyb206Zih0aGlzLnZjKHQuZnJvbSwhMCkpLHRvOmYodGhpcy52Yyh0LnRvLCEwKSl9fW5uKCl7cmV0dXJuIHRoaXMuQ199Tl8odCl7aWYoIWlzRmluaXRlKHQpfHx0PD0wKXJldHVybjtpZih0aGlzLkNfPT09dClyZXR1cm47Y29uc3QgaT10aGlzLk1jKCkscz10aGlzLkNfO2lmKHRoaXMuQ189dCx0aGlzLkt1PSEwLHRoaXMueW4ubG9ja1Zpc2libGVUaW1lUmFuZ2VPblJlc2l6ZSYmMCE9PXMpe2NvbnN0IGk9dGhpcy5oYyp0L3M7dGhpcy5oYz1pfWlmKHRoaXMueW4uZml4TGVmdEVkZ2UmJm51bGwhPT1pJiZpLk9hKCk8PTApe2NvbnN0IGk9cy10O3RoaXMucmMtPU1hdGgucm91bmQoaS90aGlzLmhjKSsxLHRoaXMuS3U9ITB9dGhpcy55YygpLHRoaXMua2MoKX1qdCh0KXtpZih0aGlzLkdpKCl8fCF2KHQpKXJldHVybiAwO2NvbnN0IGk9dGhpcy5QYygpK3RoaXMucmMtdDtyZXR1cm4gdGhpcy5DXy0oaSsuNSkqdGhpcy5oYy0xfVRjKHQsaSl7Y29uc3Qgcz10aGlzLlBjKCksZT12b2lkIDA9PT1pPzA6aS5mcm9tLGg9dm9pZCAwPT09aT90Lmxlbmd0aDppLnRvO2ZvcihsZXQgaT1lO2k8aDtpKyspe2NvbnN0IGU9dFtpXS53dCxoPXMrdGhpcy5yYy1lLG49dGhpcy5DXy0oaCsuNSkqdGhpcy5oYy0xO3RbaV0uX3Q9bn19UmModCxpKXtjb25zdCBzPU1hdGguY2VpbCh0aGlzLkRjKHQpKTtyZXR1cm4gaSYmdGhpcy55bi5pZ25vcmVXaGl0ZXNwYWNlSW5kaWNlcyYmIXRoaXMuSWMocyk/dGhpcy5WYyhzKTpzfWdzKHQpe3RoaXMuS3U9ITAsdGhpcy5yYz10LHRoaXMua2MoKSx0aGlzLnNuLkJjKCksdGhpcy5zbi5tcigpfWZsKCl7cmV0dXJuIHRoaXMuaGN9TXModCl7Y29uc3QgaT10aGlzLmhjO2lmKHRoaXMuRWModCksdm9pZCAwIT09dGhpcy55bi5yaWdodE9mZnNldFBpeGVscyYmMCE9PWkpe2NvbnN0IHQ9dGhpcy5yYyppL3RoaXMuaGM7dGhpcy5yYz10fXRoaXMua2MoKSx0aGlzLnNuLkJjKCksdGhpcy5zbi5tcigpfUFjKCl7cmV0dXJuIHRoaXMucmN9RWwoKXtpZih0aGlzLkdpKCkpcmV0dXJuIG51bGw7aWYobnVsbCE9PXRoaXMuUXUpcmV0dXJuIHRoaXMuUXUKO2NvbnN0IHQ9dGhpcy5oYyxpPTUqKHRoaXMuc24uTigpLmxheW91dC5mb250U2l6ZSs0KS84Kih0aGlzLnluLnRpY2tNYXJrTWF4Q2hhcmFjdGVyTGVuZ3RofHw4KSxzPU1hdGgucm91bmQoaS90KSxlPWYodGhpcy5FZSgpKSxoPU1hdGgubWF4KGUuT2EoKSxlLk9hKCktcyksbj1NYXRoLm1heChlLmJpKCksZS5iaSgpLXMpLHI9dGhpcy5qdS5FdSh0LGksdGhpcy55bi5pZ25vcmVXaGl0ZXNwYWNlSW5kaWNlcyx0aGlzLnRjLHRoaXMubmMpLG89dGhpcy5TYygpK3MsbD10aGlzLnhjKCktcyxhPXRoaXMuTGMoKSx1PXRoaXMueW4uZml4TGVmdEVkZ2V8fGEsYz10aGlzLnluLmZpeFJpZ2h0RWRnZXx8YTtsZXQgZD0wO2Zvcihjb25zdCB0IG9mIHIpe2lmKCEoaDw9dC5pbmRleCYmdC5pbmRleDw9bikpY29udGludWU7bGV0IHM7ZDx0aGlzLnNjLmxlbmd0aD8ocz10aGlzLnNjW2RdLHMuY29vcmQ9dGhpcy5qdCh0LmluZGV4KSxzLmxhYmVsPXRoaXMuemModCkscy53ZWlnaHQ9dC53ZWlnaHQpOihzPXtuZWVkQWxpZ25Db29yZGluYXRlOiExLGNvb3JkOnRoaXMuanQodC5pbmRleCksbGFiZWw6dGhpcy56Yyh0KSx3ZWlnaHQ6dC53ZWlnaHR9LHRoaXMuc2MucHVzaChzKSksdGhpcy5oYz5pLzImJiFhP3MubmVlZEFsaWduQ29vcmRpbmF0ZT0hMTpzLm5lZWRBbGlnbkNvb3JkaW5hdGU9dSYmdC5pbmRleDw9b3x8YyYmdC5pbmRleD49bCxkKyt9cmV0dXJuIHRoaXMuc2MubGVuZ3RoPWQsdGhpcy5RdT10aGlzLnNjLHRoaXMuc2N9T2MoKXtsZXQgdDt0aGlzLkt1PSEwLHRoaXMuTXModGhpcy55bi5iYXJTcGFjaW5nKSx0PXZvaWQgMCE9PXRoaXMueW4ucmlnaHRPZmZzZXRQaXhlbHM/dGhpcy55bi5yaWdodE9mZnNldFBpeGVscy90aGlzLmZsKCk6dGhpcy55bi5yaWdodE9mZnNldCx0aGlzLmdzKHQpfU5jKHQpe3RoaXMuS3U9ITAsdGhpcy5VdT10LHRoaXMua2MoKSx0aGlzLmRjKCl9RmModCxpKXtjb25zdCBzPXRoaXMuRGModCksZT10aGlzLmZsKCksaD1lK2kqKGUvMTApO3RoaXMuTXMoaCksdGhpcy55bi5yaWdodEJhclN0YXlzT25TY3JvbGx8fHRoaXMuZ3ModGhpcy5BYygpKyhzLXRoaXMuRGModCkpKX1sXyh0KXt0aGlzLnhvJiZ0aGlzLmRfKCksbnVsbD09PXRoaXMuU28mJm51bGw9PT10aGlzLkp1JiYodGhpcy5HaSgpfHwodGhpcy5Tbz10LHRoaXMuV2MoKSkpfW9fKHQpe2lmKG51bGw9PT10aGlzLkp1KXJldHVybjtjb25zdCBpPWlpKHRoaXMuQ18tdCwwLHRoaXMuQ18pLHM9aWkodGhpcy5DXy1mKHRoaXMuU28pLDAsdGhpcy5DXyk7MCE9PWkmJjAhPT1zJiZ0aGlzLk1zKHRoaXMuSnUuZmwqaS9zKX1fXygpe251bGwhPT10aGlzLlNvJiYodGhpcy5Tbz1udWxsLHRoaXMuSGMoKSl9dV8odCl7bnVsbD09PXRoaXMueG8mJm51bGw9PT10aGlzLkp1JiYodGhpcy5HaSgpfHwodGhpcy54bz10LHRoaXMuV2MoKSkpfWNfKHQpe2lmKG51bGw9PT10aGlzLnhvKXJldHVybjtjb25zdCBpPSh0aGlzLnhvLXQpL3RoaXMuZmwoKTt0aGlzLnJjPWYodGhpcy5KdSkuQWMraSx0aGlzLkt1PSEwLHRoaXMua2MoKX1kXygpe251bGwhPT10aGlzLnhvJiYodGhpcy54bz1udWxsLHRoaXMuSGMoKSl9VWMoKXt0aGlzLiRjKHRoaXMueW4ucmlnaHRPZmZzZXQpfSRjKHQsaT00MDApe2lmKCFpc0Zpbml0ZSh0KSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigib2Zmc2V0IGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGZpbml0ZSBudW1iZXIiKTtpZighaXNGaW5pdGUoaSl8fGk8PTApdGhyb3cgbmV3IFJhbmdlRXJyb3IoImFuaW1hdGlvbkR1cmF0aW9uIChvcHRpb25hbCkgbXVzdCBiZSBmaW5pdGUgcG9zaXRpdmUgbnVtYmVyIik7Y29uc3Qgcz10aGlzLnJjLGU9cGVyZm9ybWFuY2Uubm93KCk7dGhpcy5zbi5wcyh7amM6dD0+KHQtZSkvaT49MSxxYzpoPT57Y29uc3Qgbj0oaC1lKS9pO3JldHVybiBuPj0xP3Q6cysodC1zKSpufX0pfWt0KHQsaSl7dGhpcy5LdT0hMCx0aGlzLiR1PXQsdGhpcy5qdS5WdSh0LGkpLHRoaXMua2MoKX1ZYygpe3JldHVybiB0aGlzLlp1fUtjKCl7cmV0dXJuIHRoaXMuR3V9WmMoKXtyZXR1cm4gdGhpcy5YdX1QYygpe3JldHVybiB0aGlzLlV1fHwwfUdjKHQsaSl7Y29uc3Qgcz10LlR1KCksZT1pJiZ0aGlzLnluLnJpZ2h0T2Zmc2V0UGl4ZWxzfHwwO3RoaXMuRWMoKHRoaXMuQ18tZSkvcyksdGhpcy5yYz10LmJpKCktdGhpcy5QYygpLGkmJih0aGlzLnJjPWU/ZS90aGlzLmZsKCk6dGhpcy55bi5yaWdodE9mZnNldCksdGhpcy5rYygpLHRoaXMuS3U9ITAsdGhpcy5zbi5CYygpLHRoaXMuc24ubXIoKX1YYygpe2NvbnN0IHQ9dGhpcy5TYygpLGk9dGhpcy54YygpO2lmKG51bGw9PT10fHxudWxsPT09aSlyZXR1cm47Y29uc3Qgcz0hdGhpcy55bi5yaWdodE9mZnNldFBpeGVscyYmdGhpcy55bi5yaWdodE9mZnNldHx8MDt0aGlzLkdjKG5ldyBJaSh0LGkrcyksITApfUpjKHQpe2NvbnN0IGk9bmV3IElpKHQuZnJvbSx0LnRvKTt0aGlzLkdjKGkpfXJuKHQpe3JldHVybiB2b2lkIDAhPT10aGlzLlBvLnRpbWVGb3JtYXR0ZXI/dGhpcy5Qby50aW1lRm9ybWF0dGVyKHQub3JpZ2luYWxUaW1lKTp0aGlzLnh1LmZvcm1hdEhvcnpJdGVtKHQudGltZSl9X2MoKXtpZighdGhpcy55bi5pZ25vcmVXaGl0ZXNwYWNlSW5kaWNlcylyZXR1cm47dGhpcy50Yy5jbGVhcigpO2NvbnN0IHQ9dGhpcy5zbi5KbigpO2Zvcihjb25zdCBpIG9mIHQpZm9yKGNvbnN0IHQgb2YgaS51bCgpKXRoaXMudGMuc2V0KHQsITApO3RoaXMubmMrK31RYygpe3JldHVybiB0aGlzLmVjfU1sKCl7Y29uc3QgdD0xLyh3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MSksaT10aGlzLnluLm1pbkJhclNwYWNpbmc7aWYoaT49dClyZXR1cm5bMV07Y29uc3Qgcz1bMV07bGV0IGU9Mjtmb3IoO2U8PTUxMjspaTx0L2UmJnMucHVzaChlKSxlKj0yO3JldHVybiBzfUxjKCl7Y29uc3QgdD10aGlzLnNuLk4oKS5oYW5kbGVTY3JvbGwsaT10aGlzLnNuLk4oKS5oYW5kbGVTY2FsZQo7cmV0dXJuISh0LmhvcnpUb3VjaERyYWd8fHQubW91c2VXaGVlbHx8dC5wcmVzc2VkTW91c2VNb3ZlfHx0LnZlcnRUb3VjaERyYWd8fGkuYXhpc0RvdWJsZUNsaWNrUmVzZXQudGltZXx8aS5heGlzUHJlc3NlZE1vdXNlTW92ZS50aW1lfHxpLm1vdXNlV2hlZWx8fGkucGluY2gpfVNjKCl7cmV0dXJuIDA9PT10aGlzLiR1Lmxlbmd0aD9udWxsOjB9eGMoKXtyZXR1cm4gMD09PXRoaXMuJHUubGVuZ3RoP251bGw6dGhpcy4kdS5sZW5ndGgtMX10ZCh0KXtyZXR1cm4odGhpcy5DXy0xLXQpL3RoaXMuaGN9RGModCl7Y29uc3QgaT10aGlzLnRkKHQpLHM9dGhpcy5QYygpK3RoaXMucmMtaTtyZXR1cm4gTWF0aC5yb3VuZCgxZTYqcykvMWU2fUVjKHQpe2NvbnN0IGk9dGhpcy5oYzt0aGlzLmhjPXQsdGhpcy55YygpLGkhPT10aGlzLmhjJiYodGhpcy5LdT0hMCx0aGlzLm5kKCksdGhpcy5vYygpKX13Yygpe2lmKCF0aGlzLkt1KXJldHVybjtpZih0aGlzLkt1PSExLHRoaXMuR2koKSlyZXR1cm4gdm9pZCB0aGlzLnNkKHFpLkh1KCkpO2NvbnN0IHQ9dGhpcy5QYygpLGk9dGhpcy5DXy90aGlzLmhjLHM9dGhpcy5yYyt0LGU9bmV3IElpKHMtaSsxLHMpO3RoaXMuc2QobmV3IHFpKGUpKX15Yygpe2NvbnN0IHQ9aWkodGhpcy5oYyx0aGlzLmVkKCksdGhpcy5yZCgpKTt0aGlzLmhjIT09dCYmKHRoaXMuaGM9dCx0aGlzLkt1PSEwKX1yZCgpe3JldHVybiB0aGlzLnluLm1heEJhclNwYWNpbmc+MD90aGlzLnluLm1heEJhclNwYWNpbmc6LjUqdGhpcy5DX31lZCgpe3JldHVybiB0aGlzLnluLmZpeExlZnRFZGdlJiZ0aGlzLnluLmZpeFJpZ2h0RWRnZSYmMCE9PXRoaXMuJHUubGVuZ3RoP3RoaXMuQ18vdGhpcy4kdS5sZW5ndGg6dGhpcy55bi5taW5CYXJTcGFjaW5nfW9jKCl7aWYoIXRoaXMueW4uZW5hYmxlQ29uZmxhdGlvbilyZXR1cm4gdm9pZCh0aGlzLmVjPTEpO2NvbnN0IHQ9MS8od2luZG93LmRldmljZVBpeGVsUmF0aW98fDEpKih0aGlzLnluLmNvbmZsYXRpb25UaHJlc2hvbGRGYWN0b3I/PzEpO2lmKHRoaXMuaGM+PXQpcmV0dXJuIHZvaWQodGhpcy5lYz0xKTtjb25zdCBpPXQvdGhpcy5oYyxzPU1hdGgucG93KDIsTWF0aC5mbG9vcihNYXRoLmxvZzIoaSkpKTt0aGlzLmVjPU1hdGgubWluKHMsNTEyKX1rYygpe2NvbnN0IHQ9dGhpcy5oZCgpO251bGwhPT10JiZ0aGlzLnJjPHQmJih0aGlzLnJjPXQsdGhpcy5LdT0hMCk7Y29uc3QgaT10aGlzLmFkKCk7dGhpcy5yYz5pJiYodGhpcy5yYz1pLHRoaXMuS3U9ITApfWhkKCl7Y29uc3QgdD10aGlzLlNjKCksaT10aGlzLlV1O3JldHVybiBudWxsPT09dHx8bnVsbD09PWk/bnVsbDp0LWktMSsodGhpcy55bi5maXhMZWZ0RWRnZT90aGlzLkNfL3RoaXMuaGM6TWF0aC5taW4oMix0aGlzLiR1Lmxlbmd0aCkpfWFkKCl7cmV0dXJuIHRoaXMueW4uZml4UmlnaHRFZGdlPzA6dGhpcy5DXy90aGlzLmhjLU1hdGgubWluKDIsdGhpcy4kdS5sZW5ndGgpfVdjKCl7dGhpcy5KdT17Zmw6dGhpcy5mbCgpLEFjOnRoaXMuQWMoKX19SGMoKXt0aGlzLkp1PW51bGx9emModCl7bGV0IGk9dGhpcy5xdS5nZXQodC53ZWlnaHQpO3JldHVybiB2b2lkIDA9PT1pJiYoaT1uZXcgemkoKHQ9PnRoaXMubGQodCkpLHRoaXMueHUpLHRoaXMucXUuc2V0KHQud2VpZ2h0LGkpKSxpLkN1KHQpfWxkKHQpe3JldHVybiB0aGlzLnh1LmZvcm1hdFRpY2ttYXJrKHQsdGhpcy5Qbyl9c2QodCl7Y29uc3QgaT10aGlzLll1O3RoaXMuWXU9dCxMaShpLkZ1KCksdGhpcy5ZdS5GdSgpKXx8dGhpcy5adS5wKCksTGkoaS5XdSgpLHRoaXMuWXUuV3UoKSl8fHRoaXMuR3UucCgpLHRoaXMubmQoKX1uZCgpe3RoaXMuUXU9bnVsbH1jYygpe3RoaXMubmQoKSx0aGlzLnF1LmNsZWFyKCl9bGMoKXt0aGlzLnh1LnVwZGF0ZUZvcm1hdHRlcih0aGlzLlBvKX1kYygpe2lmKCF0aGlzLnluLmZpeExlZnRFZGdlKXJldHVybjtjb25zdCB0PXRoaXMuU2MoKTtpZihudWxsPT09dClyZXR1cm47Y29uc3QgaT10aGlzLkVlKCk7aWYobnVsbD09PWkpcmV0dXJuO2NvbnN0IHM9aS5PYSgpLXQ7aWYoczwwKXtjb25zdCB0PXRoaXMucmMtcy0xO3RoaXMuZ3ModCl9dGhpcy55YygpfWZjKCl7dGhpcy5rYygpLHRoaXMueWMoKX1JYyh0KXtyZXR1cm4hdGhpcy55bi5pZ25vcmVXaGl0ZXNwYWNlSW5kaWNlc3x8dGhpcy50Yy5nZXQodCl8fCExfVZjKHQpe2NvbnN0IGk9ZnVuY3Rpb24qKHQpe2NvbnN0IGk9TWF0aC5yb3VuZCh0KSxzPWk8dDtsZXQgZT0xO2Zvcig7OylzPyh5aWVsZCBpK2UseWllbGQgaS1lKTooeWllbGQgaS1lLHlpZWxkIGkrZSksZSsrfSh0KSxzPXRoaXMueGMoKTtmb3IoO3M7KXtjb25zdCB0PWkubmV4dCgpLnZhbHVlO2lmKHRoaXMudGMuZ2V0KHQpKXJldHVybiB0O2lmKHQ8MHx8dD5zKWJyZWFrfXJldHVybiB0fWFjKHQpe2lmKHZvaWQgMCE9PXQucmlnaHRPZmZzZXRQaXhlbHMpe2NvbnN0IGk9dC5yaWdodE9mZnNldFBpeGVscy8odC5iYXJTcGFjaW5nfHx0aGlzLmhjKTt0aGlzLnNuLmdzKGkpfX19dmFyIERpLE9pLEtpLFZpLCRpOyFmdW5jdGlvbih0KXt0W3QuT25Ub3VjaEVuZD0wXT0iT25Ub3VjaEVuZCIsdFt0Lk9uTmV4dFRhcD0xXT0iT25OZXh0VGFwIn0oRGl8fChEaT17fSkpO2NsYXNzIEJpe2NvbnN0cnVjdG9yKHQsaSxzKXt0aGlzLm9kPVtdLHRoaXMuX2Q9W10sdGhpcy51ZD1udWxsLHRoaXMuQ189MCx0aGlzLmRkPW51bGwsdGhpcy5mZD1uZXcgbSx0aGlzLnBkPW5ldyBtLHRoaXMudmQ9bnVsbCx0aGlzLm1kPXQsdGhpcy55bj1pLHRoaXMueHU9cyx0aGlzLlRvPW5ldyBOKHRoaXMueW4ubGF5b3V0LmNvbG9yUGFyc2VycyksdGhpcy53ZD1uZXcgQyh0aGlzKSx0aGlzLmlhPW5ldyBRaSh0aGlzLGkudGltZVNjYWxlLHRoaXMueW4ubG9jYWxpemF0aW9uLHMpLHRoaXMuQ3Q9bmV3IFkodGhpcyxpLmNyb3NzaGFpciksdGhpcy5NZD1uZXcgdGkoaS5jcm9zc2hhaXIpLGkuYWRkRGVmYXVsdFBhbmUmJih0aGlzLmdkKDApLHRoaXMub2RbMF0uT18oMikpLHRoaXMuYmQ9dGhpcy5TZCgwKSx0aGlzLnhkPXRoaXMuU2QoMSl9UGEoKXt0aGlzLkNkKFgueXMoKSl9bXIoKXt0aGlzLkNkKFguQ3MoKSl9cWEoKXsKdGhpcy5DZChuZXcgWCgxKSl9VGEodCl7Y29uc3QgaT10aGlzLnlkKHQpO3RoaXMuQ2QoaSl9b3UoKXtyZXR1cm4gdGhpcy5kZH1rZCh0KXtpZih0aGlzLmRkPy5sdT09PXQ/Lmx1JiZ0aGlzLmRkPy53dT8udGU9PT10Py53dT8udGUmJnRoaXMuZGQ/Lnd1Py5pZT09PXQ/Lnd1Py5pZSYmdGhpcy5kZD8ubXU9PT10Py5tdSYmdGhpcy5kZD8uZWU9PT10Py5lZSlyZXR1cm47Y29uc3QgaT10aGlzLmRkO3RoaXMuZGQ9dCxudWxsIT09aSYmdGhpcy5UYShpLmx1KSxudWxsIT09dCYmdC5sdSE9PWk/Lmx1JiZ0aGlzLlRhKHQubHUpfU4oKXtyZXR1cm4gdGhpcy55bn12cih0KXtwKHRoaXMueW4sdCksdGhpcy5vZC5mb3JFYWNoKChpPT5pLkVfKHQpKSksdm9pZCAwIT09dC50aW1lU2NhbGUmJnRoaXMuaWEudnIodC50aW1lU2NhbGUpLHZvaWQgMCE9PXQubG9jYWxpemF0aW9uJiZ0aGlzLmlhLnVjKHQubG9jYWxpemF0aW9uKSwodC5sZWZ0UHJpY2VTY2FsZXx8dC5yaWdodFByaWNlU2NhbGUpJiZ0aGlzLmZkLnAoKSx0aGlzLmJkPXRoaXMuU2QoMCksdGhpcy54ZD10aGlzLlNkKDEpLHRoaXMuUGEoKX1QZCh0LGkscz0wKXtjb25zdCBlPXRoaXMub2Rbc107aWYodm9pZCAwPT09ZSlyZXR1cm47aWYoImxlZnQiPT09dClyZXR1cm4gcCh0aGlzLnluLHtsZWZ0UHJpY2VTY2FsZTppfSksZS5FXyh7bGVmdFByaWNlU2NhbGU6aX0pLHRoaXMuZmQucCgpLHZvaWQgdGhpcy5QYSgpO2lmKCJyaWdodCI9PT10KXJldHVybiBwKHRoaXMueW4se3JpZ2h0UHJpY2VTY2FsZTppfSksZS5FXyh7cmlnaHRQcmljZVNjYWxlOml9KSx0aGlzLmZkLnAoKSx2b2lkIHRoaXMuUGEoKTtjb25zdCBoPXRoaXMuVGQodCxzKTtudWxsIT09aCYmKGguRnQudnIoaSksdGhpcy5mZC5wKCkpfVRkKHQsaSl7Y29uc3Qgcz10aGlzLm9kW2ldO2lmKHZvaWQgMD09PXMpcmV0dXJuIG51bGw7Y29uc3QgZT1zLkFfKHQpO3JldHVybiBudWxsIT09ZT97S246cyxGdDplfTpudWxsfUV0KCl7cmV0dXJuIHRoaXMuaWF9Wm4oKXtyZXR1cm4gdGhpcy5vZH1SZCgpe3JldHVybiB0aGlzLkN0fURkKCl7cmV0dXJuIHRoaXMucGR9SWQodCxpKXt0LldvKGkpLHRoaXMuQmMoKX1OXyh0KXt0aGlzLkNfPXQsdGhpcy5pYS5OXyh0aGlzLkNfKSx0aGlzLm9kLmZvckVhY2goKGk9PmkuTl8odCkpKSx0aGlzLkJjKCl9VmQodCl7MSE9PXRoaXMub2QubGVuZ3RoJiYodSh0Pj0wJiZ0PHRoaXMub2QubGVuZ3RoLCJJbnZhbGlkIHBhbmUgaW5kZXgiKSx0aGlzLm9kLnNwbGljZSh0LDEpLHRoaXMuUGEoKSl9QmQodCxpKXtpZih0aGlzLm9kLmxlbmd0aDwyKXJldHVybjt1KHQ+PTAmJnQ8dGhpcy5vZC5sZW5ndGgsIkludmFsaWQgcGFuZSBpbmRleCIpO2NvbnN0IHM9dGhpcy5vZFt0XSxlPXRoaXMub2QucmVkdWNlKCgodCxpKT0+dCtpLnpfKCkpLDApLGg9dGhpcy5vZC5yZWR1Y2UoKCh0LGkpPT50K2kuJHQoKSksMCksbj1oLTMwKih0aGlzLm9kLmxlbmd0aC0xKTtpPU1hdGgubWluKG4sTWF0aC5tYXgoMzAsaSkpO2NvbnN0IHI9ZS9oLG89cy4kdCgpO3MuT18oaSpyKTtsZXQgbD1pLW8sYT10aGlzLm9kLmxlbmd0aC0xO2Zvcihjb25zdCB0IG9mIHRoaXMub2QpaWYodCE9PXMpe2NvbnN0IGk9TWF0aC5taW4obixNYXRoLm1heCgzMCx0LiR0KCktbC9hKSk7bC09dC4kdCgpLWksYS09MTtjb25zdCBzPWkqcjt0Lk9fKHMpfXRoaXMuUGEoKX1FZCh0LGkpe3UodD49MCYmdDx0aGlzLm9kLmxlbmd0aCYmaT49MCYmaTx0aGlzLm9kLmxlbmd0aCwiSW52YWxpZCBwYW5lIGluZGV4Iik7Y29uc3Qgcz10aGlzLm9kW3RdLGU9dGhpcy5vZFtpXTt0aGlzLm9kW3RdPWUsdGhpcy5vZFtpXT1zLHRoaXMuUGEoKX1BZCh0LGkpe2lmKHUodD49MCYmdDx0aGlzLm9kLmxlbmd0aCYmaT49MCYmaTx0aGlzLm9kLmxlbmd0aCwiSW52YWxpZCBwYW5lIGluZGV4IiksdD09PWkpcmV0dXJuO2NvbnN0W3NdPXRoaXMub2Quc3BsaWNlKHQsMSk7dGhpcy5vZC5zcGxpY2UoaSwwLHMpLHRoaXMuUGEoKX1HXyh0LGkscyl7dC5HXyhpLHMpfVhfKHQsaSxzKXt0LlhfKGkscyksdGhpcy5SYSgpLHRoaXMuQ2QodGhpcy5MZCh0LDIpKX1KXyh0LGkpe3QuSl8oaSksdGhpcy5DZCh0aGlzLkxkKHQsMikpfVFfKHQsaSxzKXtpLkVvKCl8fHQuUV8oaSxzKX10dSh0LGkscyl7aS5FbygpfHwodC50dShpLHMpLHRoaXMuUmEoKSx0aGlzLkNkKHRoaXMuTGQodCwyKSkpfWl1KHQsaSl7aS5FbygpfHwodC5pdShpKSx0aGlzLkNkKHRoaXMuTGQodCwyKSkpfWV1KHQsaSl7dC5ldShpKSx0aGlzLkNkKHRoaXMuTGQodCwyKSl9emQodCl7dGhpcy5pYS5sXyh0KX1PZCh0LGkpe2NvbnN0IHM9dGhpcy5FdCgpO2lmKHMuR2koKXx8MD09PWkpcmV0dXJuO2NvbnN0IGU9cy5ubigpO3Q9TWF0aC5tYXgoMSxNYXRoLm1pbih0LGUpKSxzLkZjKHQsaSksdGhpcy5CYygpfU5kKHQpe3RoaXMuRmQoMCksdGhpcy5XZCh0KSx0aGlzLkhkKCl9VWQodCl7dGhpcy5pYS5vXyh0KSx0aGlzLkJjKCl9JGQoKXt0aGlzLmlhLl9fKCksdGhpcy5tcigpfUZkKHQpe3RoaXMuaWEudV8odCl9V2QodCl7dGhpcy5pYS5jXyh0KSx0aGlzLkJjKCl9SGQoKXt0aGlzLmlhLmRfKCksdGhpcy5tcigpfUpuKCl7cmV0dXJuIHRoaXMuX2R9V24oKXtyZXR1cm4gbnVsbD09PXRoaXMudWQmJih0aGlzLnVkPXRoaXMuX2QuZmlsdGVyKCh0PT50Lkl0KCkpKSksdGhpcy51ZH1rYSgpe3RoaXMudWQ9bnVsbH1qZCh0LGkscyxlLGgpe3RoaXMuQ3QuSW4odCxpKTtsZXQgbj1OYU4scj10aGlzLmlhLlJjKHQsITApO2NvbnN0IG89dGhpcy5pYS5FZSgpO251bGwhPT1vJiYocj1NYXRoLm1pbihNYXRoLm1heChvLk9hKCksciksby5iaSgpKSkscj10aGlzLkN0LkZuKHIpO2NvbnN0IGw9ZS5QbigpLGE9bC5MdCgpO2lmKG51bGwhPT1hJiYobj1sLlRuKGksYSkpLG49dGhpcy5NZC54bChuLHIsZSksdGhpcy5DdC5BbihyLG4sZSksdGhpcy5xYSgpLCFoKXtjb25zdCBoPVBpKGUsdCxpKTt0aGlzLmtkKGgmJntsdTpoLmx1LHd1Omgud3UsbXU6aC5tdXx8bnVsbCxlZTpoLmVlfSksdGhpcy5wZC5wKHRoaXMuQ3QuQnQoKSx7eDp0LHk6aX0scyl9fXFkKHQsaSxzKXsKY29uc3QgZT1zLlBuKCksaD1lLkx0KCksbj1lLk50KHQsZihoKSkscj10aGlzLmlhLnZjKGksITApLG89dGhpcy5pYS5qdChmKHIpKTt0aGlzLmpkKG8sbixudWxsLHMsITApfVlkKHQpe3RoaXMuUmQoKS56bigpLHRoaXMucWEoKSx0fHx0aGlzLnBkLnAobnVsbCxudWxsLG51bGwpfVJhKCl7Y29uc3QgdD10aGlzLkN0LktuKCk7aWYobnVsbCE9PXQpe2NvbnN0IGk9dGhpcy5DdC5CbigpLHM9dGhpcy5DdC5FbigpO3RoaXMuamQoaSxzLG51bGwsdCl9dGhpcy5DdC5ObigpfUtkKHQsaSxzKXtjb25zdCBlPXRoaXMuaWEuUm4oMCk7dm9pZCAwIT09aSYmdm9pZCAwIT09cyYmdGhpcy5pYS5rdChpLHMpO2NvbnN0IGg9dGhpcy5pYS5SbigwKSxuPXRoaXMuaWEuUGMoKSxyPXRoaXMuaWEuRWUoKTtpZihudWxsIT09ciYmbnVsbCE9PWUmJm51bGwhPT1oKXtjb25zdCBpPXIuemUobiksbz10aGlzLnh1LmtleShlKT50aGlzLnh1LmtleShoKSxsPW51bGwhPT10JiZ0Pm4mJiFvLGE9dGhpcy5pYS5OKCkuYWxsb3dTaGlmdFZpc2libGVSYW5nZU9uV2hpdGVzcGFjZVJlcGxhY2VtZW50LHU9aSYmKCEodm9pZCAwPT09cyl8fGEpJiZ0aGlzLmlhLk4oKS5zaGlmdFZpc2libGVSYW5nZU9uTmV3QmFyO2lmKGwmJiF1KXtjb25zdCBpPXQtbjt0aGlzLmlhLmdzKHRoaXMuaWEuQWMoKS1pKX19dGhpcy5pYS5OYyh0KX1WYSh0KXtudWxsIT09dCYmdC5odSgpfUtzKHQpe2lmKGZ1bmN0aW9uKHQpe3JldHVybiB0IGluc3RhbmNlb2YgX2l9KHQpKXJldHVybiB0O2NvbnN0IGk9dGhpcy5vZC5maW5kKChpPT5pLkR0KCkuaW5jbHVkZXModCkpKTtyZXR1cm4gdm9pZCAwPT09aT9udWxsOml9QmMoKXt0aGlzLm9kLmZvckVhY2goKHQ9PnQuaHUoKSkpLHRoaXMuUmEoKX1tKCl7dGhpcy5vZC5mb3JFYWNoKCh0PT50Lm0oKSkpLHRoaXMub2QubGVuZ3RoPTAsdGhpcy55bi5sb2NhbGl6YXRpb24ucHJpY2VGb3JtYXR0ZXI9dm9pZCAwLHRoaXMueW4ubG9jYWxpemF0aW9uLnBlcmNlbnRhZ2VGb3JtYXR0ZXI9dm9pZCAwLHRoaXMueW4ubG9jYWxpemF0aW9uLnRpbWVGb3JtYXR0ZXI9dm9pZCAwfVpkKCl7cmV0dXJuIHRoaXMud2R9SnMoKXtyZXR1cm4gdGhpcy53ZC5OKCl9TF8oKXtyZXR1cm4gdGhpcy5mZH1HZCh0LGkpe2NvbnN0IHM9dGhpcy5nZChpKTt0aGlzLlhkKHQscyksdGhpcy5fZC5wdXNoKHQpLHRoaXMua2EoKSwxPT09dGhpcy5fZC5sZW5ndGg/dGhpcy5QYSgpOnRoaXMubXIoKX1KZCh0KXtjb25zdCBpPXRoaXMuS3ModCkscz10aGlzLl9kLmluZGV4T2YodCk7dSgtMSE9PXMsIlNlcmllcyBub3QgZm91bmQiKTtjb25zdCBlPWYoaSk7dGhpcy5fZC5zcGxpY2UocywxKSxlLnJfKHQpLHQubSYmdC5tKCksdGhpcy5rYSgpLHRoaXMuaWEuX2MoKSx0aGlzLlFkKGUpfXlhKHQsaSl7Y29uc3Qgcz1mKHRoaXMuS3ModCkpO3Mucl8odCwhMCkscy5zXyh0LGksITApfVhjKCl7Y29uc3QgdD1YLkNzKCk7dC51cygpLHRoaXMuQ2QodCl9dGYodCl7Y29uc3QgaT1YLkNzKCk7aS5mcyh0KSx0aGlzLkNkKGkpfXdzKCl7Y29uc3QgdD1YLkNzKCk7dC53cygpLHRoaXMuQ2QodCl9TXModCl7Y29uc3QgaT1YLkNzKCk7aS5Ncyh0KSx0aGlzLkNkKGkpfWdzKHQpe2NvbnN0IGk9WC5DcygpO2kuZ3ModCksdGhpcy5DZChpKX1wcyh0KXtjb25zdCBpPVguQ3MoKTtpLnBzKHQpLHRoaXMuQ2QoaSl9Y3MoKXtjb25zdCB0PVguQ3MoKTt0LmNzKCksdGhpcy5DZCh0KX1pZigpe2NvbnN0IHQ9dGhpcy55bi5kZWZhdWx0VmlzaWJsZVByaWNlU2NhbGVJZCxpPXRoaXMueW4ubGVmdFByaWNlU2NhbGUudmlzaWJsZTtyZXR1cm4gaSE9PXRoaXMueW4ucmlnaHRQcmljZVNjYWxlLnZpc2libGU/aT8ibGVmdCI6InJpZ2h0Ijp0fW5mKHQsaSl7aWYodShpPj0wLCJJbmRleCBzaG91bGQgYmUgZ3JlYXRlciBvciBlcXVhbCB0byAwIiksaT09PXRoaXMuc2YodCkpcmV0dXJuO2NvbnN0IHM9Zih0aGlzLktzKHQpKTtzLnJfKHQpO2NvbnN0IGU9dGhpcy5nZChpKTt0aGlzLlhkKHQsZSk7bGV0IGg9ITE7MD09PXMuQ2woKS5sZW5ndGgmJihoPXRoaXMuUWQocykpLGh8fHRoaXMuUGEoKX1lZigpe3JldHVybiB0aGlzLnhkfSQoKXtyZXR1cm4gdGhpcy5iZH1VdCh0KXtjb25zdCBpPXRoaXMueGQscz10aGlzLmJkO2lmKGk9PT1zKXJldHVybiBpO2lmKHQ9TWF0aC5tYXgoMCxNYXRoLm1pbigxMDAsTWF0aC5yb3VuZCgxMDAqdCkpKSxudWxsPT09dGhpcy52ZHx8dGhpcy52ZC5haCE9PXN8fHRoaXMudmQub2ghPT1pKXRoaXMudmQ9e2FoOnMsb2g6aSxyZjpuZXcgTWFwfTtlbHNle2NvbnN0IGk9dGhpcy52ZC5yZi5nZXQodCk7aWYodm9pZCAwIT09aSlyZXR1cm4gaX1jb25zdCBlPXRoaXMuVG8udHQocyxpLHQvMTAwKTtyZXR1cm4gdGhpcy52ZC5yZi5zZXQodCxlKSxlfWhmKHQpe3JldHVybiB0aGlzLm9kLmluZGV4T2YodCl9WGkoKXtyZXR1cm4gdGhpcy5Ub31hZigpe3JldHVybiB0aGlzLmxmKCl9bGYodCl7Y29uc3QgaT1uZXcgX2kodGhpcy5pYSx0aGlzKTt0aGlzLm9kLnB1c2goaSk7Y29uc3Qgcz10Pz90aGlzLm9kLmxlbmd0aC0xLGU9WC55cygpO3JldHVybiBlLmVzKHMse3JzOjAsaHM6ITB9KSx0aGlzLkNkKGUpLGl9Z2QodCl7cmV0dXJuIHUodD49MCwiSW5kZXggc2hvdWxkIGJlIGdyZWF0ZXIgb3IgZXF1YWwgdG8gMCIpLCh0PU1hdGgubWluKHRoaXMub2QubGVuZ3RoLHQpKTx0aGlzLm9kLmxlbmd0aD90aGlzLm9kW3RdOnRoaXMubGYodCl9c2YodCl7cmV0dXJuIHRoaXMub2QuZmluZEluZGV4KChpPT5pLlVfKCkuaW5jbHVkZXModCkpKX1MZCh0LGkpe2NvbnN0IHM9bmV3IFgoaSk7aWYobnVsbCE9PXQpe2NvbnN0IGU9dGhpcy5vZC5pbmRleE9mKHQpO3MuZXMoZSx7cnM6aX0pfXJldHVybiBzfXlkKHQsaSl7cmV0dXJuIHZvaWQgMD09PWkmJihpPTIpLHRoaXMuTGQodGhpcy5Lcyh0KSxpKX1DZCh0KXt0aGlzLm1kJiZ0aGlzLm1kKHQpLHRoaXMub2QuZm9yRWFjaCgodD0+dC5wdSgpLndyKCkua3QoKSkpfVhkKHQsaSl7Y29uc3Qgcz10Lk4oKS5wcmljZVNjYWxlSWQsZT12b2lkIDAhPT1zP3M6dGhpcy5pZigpO2kuc18odCxlKSxqKGUpfHx0LnZyKHQuTigpKX0KU2QodCl7Y29uc3QgaT10aGlzLnluLmxheW91dDtyZXR1cm4iZ3JhZGllbnQiPT09aS5iYWNrZ3JvdW5kLnR5cGU/MD09PXQ/aS5iYWNrZ3JvdW5kLnRvcENvbG9yOmkuYmFja2dyb3VuZC5ib3R0b21Db2xvcjppLmJhY2tncm91bmQuY29sb3J9UWQodCl7cmV0dXJuIXQuSF8oKSYmMD09PXQuQ2woKS5sZW5ndGgmJnRoaXMub2QubGVuZ3RoPjEmJih0aGlzLm9kLnNwbGljZSh0aGlzLmhmKHQpLDEpLHRoaXMuUGEoKSwhMCl9fWZ1bmN0aW9uIEFpKHQpe2lmKHQ+PTEpcmV0dXJuIDA7bGV0IGk9MDtmb3IoO2k8ODtpKyspe2NvbnN0IHM9TWF0aC5yb3VuZCh0KTtpZihNYXRoLmFicyhzLXQpPDFlLTgpcmV0dXJuIGk7dCo9MTB9cmV0dXJuIGl9ZnVuY3Rpb24gWmkodCl7cmV0dXJuIWcodCkmJiFiKHQpfWZ1bmN0aW9uIEhpKHQpe3JldHVybiBnKHQpfSFmdW5jdGlvbih0KXt0W3QuRGlzYWJsZWQ9MF09IkRpc2FibGVkIix0W3QuQ29udGludW91cz0xXT0iQ29udGludW91cyIsdFt0Lk9uRGF0YVVwZGF0ZT0yXT0iT25EYXRhVXBkYXRlIn0oT2l8fChPaT17fSkpLGZ1bmN0aW9uKHQpe3RbdC5MYXN0QmFyPTBdPSJMYXN0QmFyIix0W3QuTGFzdFZpc2libGU9MV09Ikxhc3RWaXNpYmxlIn0oS2l8fChLaT17fSkpLGZ1bmN0aW9uKHQpe3QuU29saWQ9InNvbGlkIix0LlZlcnRpY2FsR3JhZGllbnQ9ImdyYWRpZW50In0oVml8fChWaT17fSkpLGZ1bmN0aW9uKHQpe3RbdC5ZZWFyPTBdPSJZZWFyIix0W3QuTW9udGg9MV09Ik1vbnRoIix0W3QuRGF5T2ZNb250aD0yXT0iRGF5T2ZNb250aCIsdFt0LlRpbWU9M109IlRpbWUiLHRbdC5UaW1lV2l0aFNlY29uZHM9NF09IlRpbWVXaXRoU2Vjb25kcyJ9KCRpfHwoJGk9e30pKTtjb25zdCBHaT10PT50LmdldFVUQ0Z1bGxZZWFyKCk7Y2xhc3MgVWl7Y29uc3RydWN0b3IodD0ieXl5eS1NTS1kZCIsaT0iZGVmYXVsdCIpe3RoaXMuX2Y9dCx0aGlzLnVmPWl9Q3UodCl7cmV0dXJuIGZ1bmN0aW9uKHQsaSxzKXtyZXR1cm4gaS5yZXBsYWNlKC95eXl5L2csKHQ9PnR0KEdpKHQpLDQpKSh0KSkucmVwbGFjZSgveXkvZywodD0+dHQoR2kodCklMTAwLDIpKSh0KSkucmVwbGFjZSgvTU1NTS9nLCgodCxpKT0+bmV3IERhdGUodC5nZXRVVENGdWxsWWVhcigpLHQuZ2V0VVRDTW9udGgoKSwxKS50b0xvY2FsZVN0cmluZyhpLHttb250aDoibG9uZyJ9KSkodCxzKSkucmVwbGFjZSgvTU1NL2csKCh0LGkpPT5uZXcgRGF0ZSh0LmdldFVUQ0Z1bGxZZWFyKCksdC5nZXRVVENNb250aCgpLDEpLnRvTG9jYWxlU3RyaW5nKGkse21vbnRoOiJzaG9ydCJ9KSkodCxzKSkucmVwbGFjZSgvTU0vZywodD0+dHQoKHQ9PnQuZ2V0VVRDTW9udGgoKSsxKSh0KSwyKSkodCkpLnJlcGxhY2UoL2RkL2csKHQ9PnR0KCh0PT50LmdldFVUQ0RhdGUoKSkodCksMikpKHQpKX0odCx0aGlzLl9mLHRoaXMudWYpfX1jbGFzcyBZaXtjb25zdHJ1Y3Rvcih0KXt0aGlzLmNmPXR8fCIlaDolbTolcyJ9Q3UodCl7cmV0dXJuIHRoaXMuY2YucmVwbGFjZSgiJWgiLHR0KHQuZ2V0VVRDSG91cnMoKSwyKSkucmVwbGFjZSgiJW0iLHR0KHQuZ2V0VVRDTWludXRlcygpLDIpKS5yZXBsYWNlKCIlcyIsdHQodC5nZXRVVENTZWNvbmRzKCksMikpfX1jb25zdCBqaT17ZGY6Inl5eXktTU0tZGQiLGZmOiIlaDolbTolcyIscGY6IiAiLHZmOiJkZWZhdWx0In07Y2xhc3MgWGl7Y29uc3RydWN0b3IodD17fSl7Y29uc3QgaT17Li4uamksLi4udH07dGhpcy5tZj1uZXcgVWkoaS5kZixpLnZmKSx0aGlzLndmPW5ldyBZaShpLmZmKSx0aGlzLk1mPWkucGZ9Q3UodCl7cmV0dXJuYCR7dGhpcy5tZi5DdSh0KX0ke3RoaXMuTWZ9JHt0aGlzLndmLkN1KHQpfWB9fWZ1bmN0aW9uIEppKHQpe3JldHVybiA2MCp0KjYwKjFlM31mdW5jdGlvbiB0cyh0KXtyZXR1cm4gNjAqdCoxZTN9Y29uc3QgaXM9W3tnZjoxZTMsYmY6MTB9LHtnZjp0cygxKSxiZjoyMH0se2dmOnRzKDUpLGJmOjIxfSx7Z2Y6dHMoMzApLGJmOjIyfSx7Z2Y6SmkoMSksYmY6MzB9LHtnZjpKaSgzKSxiZjozMX0se2dmOkppKDYpLGJmOjMyfSx7Z2Y6SmkoMTIpLGJmOjMzfV07ZnVuY3Rpb24gc3ModCxpKXtpZih0LmdldFVUQ0Z1bGxZZWFyKCkhPT1pLmdldFVUQ0Z1bGxZZWFyKCkpcmV0dXJuIDcwO2lmKHQuZ2V0VVRDTW9udGgoKSE9PWkuZ2V0VVRDTW9udGgoKSlyZXR1cm4gNjA7aWYodC5nZXRVVENEYXRlKCkhPT1pLmdldFVUQ0RhdGUoKSlyZXR1cm4gNTA7Zm9yKGxldCBzPWlzLmxlbmd0aC0xO3M+PTA7LS1zKWlmKE1hdGguZmxvb3IoaS5nZXRUaW1lKCkvaXNbc10uZ2YpIT09TWF0aC5mbG9vcih0LmdldFRpbWUoKS9pc1tzXS5nZikpcmV0dXJuIGlzW3NdLmJmO3JldHVybiAwfWZ1bmN0aW9uIGVzKHQpe2xldCBpPXQ7aWYoYih0KSYmKGk9bnModCkpLCFaaShpKSl0aHJvdyBuZXcgRXJyb3IoInRpbWUgbXVzdCBiZSBvZiB0eXBlIEJ1c2luZXNzRGF5Iik7Y29uc3Qgcz1uZXcgRGF0ZShEYXRlLlVUQyhpLnllYXIsaS5tb250aC0xLGkuZGF5LDAsMCwwLDApKTtyZXR1cm57U2Y6TWF0aC5yb3VuZChzLmdldFRpbWUoKS8xZTMpLHhmOml9fWZ1bmN0aW9uIGhzKHQpe2lmKCFIaSh0KSl0aHJvdyBuZXcgRXJyb3IoInRpbWUgbXVzdCBiZSBvZiB0eXBlIGlzVVRDVGltZXN0YW1wIik7cmV0dXJue1NmOnR9fWZ1bmN0aW9uIG5zKHQpe2NvbnN0IGk9bmV3IERhdGUodCk7aWYoaXNOYU4oaS5nZXRUaW1lKCkpKXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkYXRlIHN0cmluZz0ke3R9LCBleHBlY3RlZCBmb3JtYXQ9eXl5eS1tbS1kZGApO3JldHVybntkYXk6aS5nZXRVVENEYXRlKCksbW9udGg6aS5nZXRVVENNb250aCgpKzEseWVhcjppLmdldFVUQ0Z1bGxZZWFyKCl9fWZ1bmN0aW9uIHJzKHQpe2IodC50aW1lKSYmKHQudGltZT1ucyh0LnRpbWUpKX1jbGFzcyBvc3tvcHRpb25zKCl7cmV0dXJuIHRoaXMueW59c2V0T3B0aW9ucyh0KXt0aGlzLnluPXQsdGhpcy51cGRhdGVGb3JtYXR0ZXIodC5sb2NhbGl6YXRpb24pfXByZXByb2Nlc3NEYXRhKHQpe0FycmF5LmlzQXJyYXkodCk/ZnVuY3Rpb24odCl7dC5mb3JFYWNoKHJzKX0odCk6cnModCl9CmNyZWF0ZUNvbnZlcnRlclRvSW50ZXJuYWxPYmoodCl7cmV0dXJuIGYoZnVuY3Rpb24odCl7cmV0dXJuIDA9PT10Lmxlbmd0aD9udWxsOlppKHRbMF0udGltZSl8fGIodFswXS50aW1lKT9lczpoc30odCkpfWtleSh0KXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIHQmJiJTZiJpbiB0P3QuU2Y6dGhpcy5rZXkodGhpcy5jb252ZXJ0SG9yekl0ZW1Ub0ludGVybmFsKHQpKX1jYWNoZUtleSh0KXtjb25zdCBpPXQ7cmV0dXJuIHZvaWQgMD09PWkueGY/bmV3IERhdGUoMWUzKmkuU2YpLmdldFRpbWUoKTpuZXcgRGF0ZShEYXRlLlVUQyhpLnhmLnllYXIsaS54Zi5tb250aC0xLGkueGYuZGF5KSkuZ2V0VGltZSgpfWNvbnZlcnRIb3J6SXRlbVRvSW50ZXJuYWwodCl7cmV0dXJuIEhpKGk9dCk/aHMoaSk6WmkoaSk/ZXMoaSk6ZXMobnMoaSkpO3ZhciBpfXVwZGF0ZUZvcm1hdHRlcih0KXtpZighdGhpcy55bilyZXR1cm47Y29uc3QgaT10LmRhdGVGb3JtYXQ7dGhpcy55bi50aW1lU2NhbGUudGltZVZpc2libGU/dGhpcy5DZj1uZXcgWGkoe2RmOmksZmY6dGhpcy55bi50aW1lU2NhbGUuc2Vjb25kc1Zpc2libGU/IiVoOiVtOiVzIjoiJWg6JW0iLHBmOiIgICAiLHZmOnQubG9jYWxlfSk6dGhpcy5DZj1uZXcgVWkoaSx0LmxvY2FsZSl9Zm9ybWF0SG9yekl0ZW0odCl7Y29uc3QgaT10O3JldHVybiB0aGlzLkNmLkN1KG5ldyBEYXRlKDFlMyppLlNmKSl9Zm9ybWF0VGlja21hcmsodCxpKXtjb25zdCBzPWZ1bmN0aW9uKHQsaSxzKXtzd2l0Y2godCl7Y2FzZSAwOmNhc2UgMTA6cmV0dXJuIGk/cz80OjM6MjtjYXNlIDIwOmNhc2UgMjE6Y2FzZSAyMjpjYXNlIDMwOmNhc2UgMzE6Y2FzZSAzMjpjYXNlIDMzOnJldHVybiBpPzM6MjtjYXNlIDUwOnJldHVybiAyO2Nhc2UgNjA6cmV0dXJuIDE7Y2FzZSA3MDpyZXR1cm4gMH19KHQud2VpZ2h0LHRoaXMueW4udGltZVNjYWxlLnRpbWVWaXNpYmxlLHRoaXMueW4udGltZVNjYWxlLnNlY29uZHNWaXNpYmxlKSxlPXRoaXMueW4udGltZVNjYWxlO2lmKHZvaWQgMCE9PWUudGlja01hcmtGb3JtYXR0ZXIpe2NvbnN0IGg9ZS50aWNrTWFya0Zvcm1hdHRlcih0Lm9yaWdpbmFsVGltZSxzLGkubG9jYWxlKTtpZihudWxsIT09aClyZXR1cm4gaH1yZXR1cm4gZnVuY3Rpb24odCxpLHMpe2NvbnN0IGU9e307c3dpdGNoKGkpe2Nhc2UgMDplLnllYXI9Im51bWVyaWMiO2JyZWFrO2Nhc2UgMTplLm1vbnRoPSJzaG9ydCI7YnJlYWs7Y2FzZSAyOmUuZGF5PSJudW1lcmljIjticmVhaztjYXNlIDM6ZS5ob3VyMTI9ITEsZS5ob3VyPSIyLWRpZ2l0IixlLm1pbnV0ZT0iMi1kaWdpdCI7YnJlYWs7Y2FzZSA0OmUuaG91cjEyPSExLGUuaG91cj0iMi1kaWdpdCIsZS5taW51dGU9IjItZGlnaXQiLGUuc2Vjb25kPSIyLWRpZ2l0In1jb25zdCBoPXZvaWQgMD09PXQueGY/bmV3IERhdGUoMWUzKnQuU2YpOm5ldyBEYXRlKERhdGUuVVRDKHQueGYueWVhcix0LnhmLm1vbnRoLTEsdC54Zi5kYXkpKTtyZXR1cm4gbmV3IERhdGUoaC5nZXRVVENGdWxsWWVhcigpLGguZ2V0VVRDTW9udGgoKSxoLmdldFVUQ0RhdGUoKSxoLmdldFVUQ0hvdXJzKCksaC5nZXRVVENNaW51dGVzKCksaC5nZXRVVENTZWNvbmRzKCksaC5nZXRVVENNaWxsaXNlY29uZHMoKSkudG9Mb2NhbGVTdHJpbmcocyxlKX0odC50aW1lLHMsaS5sb2NhbGUpfW1heFRpY2tNYXJrV2VpZ2h0KHQpe2xldCBpPXQucmVkdWNlKFdpLHRbMF0pLndlaWdodDtyZXR1cm4gaT4zMCYmaTw1MCYmKGk9MzApLGl9ZmlsbFdlaWdodHNGb3JQb2ludHModCxpKXshZnVuY3Rpb24odCxpPTApe2lmKDA9PT10Lmxlbmd0aClyZXR1cm47bGV0IHM9MD09PWk/bnVsbDp0W2ktMV0udGltZS5TZixlPW51bGwhPT1zP25ldyBEYXRlKDFlMypzKTpudWxsLGg9MDtmb3IobGV0IG49aTtuPHQubGVuZ3RoOysrbil7Y29uc3QgaT10W25dLHI9bmV3IERhdGUoMWUzKmkudGltZS5TZik7bnVsbCE9PWUmJihpLnRpbWVXZWlnaHQ9c3MocixlKSksaCs9aS50aW1lLlNmLShzfHxpLnRpbWUuU2YpLHM9aS50aW1lLlNmLGU9cn1pZigwPT09aSYmdC5sZW5ndGg+MSl7Y29uc3QgaT1NYXRoLmNlaWwoaC8odC5sZW5ndGgtMSkpLHM9bmV3IERhdGUoMWUzKih0WzBdLnRpbWUuU2YtaSkpO3RbMF0udGltZVdlaWdodD1zcyhuZXcgRGF0ZSgxZTMqdFswXS50aW1lLlNmKSxzKX19KHQsaSl9c3RhdGljIHlmKHQpe3JldHVybiBwKHtsb2NhbGl6YXRpb246e2RhdGVGb3JtYXQ6ImRkIE1NTSAneXkifX0sdD8/e30pfX1jb25zdCBscz0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdztmdW5jdGlvbiBhcygpe3JldHVybiEhbHMmJndpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkuaW5kZXhPZigiZmlyZWZveCIpPi0xfWZ1bmN0aW9uIHVzKCl7cmV0dXJuISFscyYmL2lQaG9uZXxpUGFkfGlQb2QvLnRlc3Qod2luZG93Lm5hdmlnYXRvci5wbGF0Zm9ybSl9ZnVuY3Rpb24gY3ModCxpKXtzd2l0Y2godCl7Y2FzZSJjdXN0b20iOnJldHVybiB2b2lkIDAhPT1pPyJjdXN0b20tb2JqZWN0Ijoic2VyaWVzIjtjYXNlInByaWNlLWxpbmUiOnJldHVybiJjdXN0b20tcHJpY2UtbGluZSI7Y2FzZSJtYXJrZXIiOnJldHVybiJzZXJpZXMtbWFya2VyIjtjYXNlInByaW1pdGl2ZSI6cmV0dXJuInByaW1pdGl2ZSI7ZGVmYXVsdDpyZXR1cm4ic2VyaWVzIn19ZnVuY3Rpb24gZnModCl7cmV0dXJuIHQrdCUyfWNsYXNzIGRze2NvbnN0cnVjdG9yKHQsaSxzKXt0aGlzLmtmPTAsdGhpcy5QZj1udWxsLHRoaXMuVGY9e190Ok51bWJlci5ORUdBVElWRV9JTkZJTklUWSx1dDpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFl9LHRoaXMuUmY9MCx0aGlzLkRmPW51bGwsdGhpcy5JZj17X3Q6TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLHV0Ok51bWJlci5QT1NJVElWRV9JTkZJTklUWX0sdGhpcy5WZj1udWxsLHRoaXMuQmY9ITEsdGhpcy5FZj1udWxsLHRoaXMuQWY9bnVsbCx0aGlzLkxmPSExLHRoaXMuemY9ITEsdGhpcy5PZj0hMSx0aGlzLk5mPW51bGwsdGhpcy5GZj1udWxsLHRoaXMuV2Y9bnVsbCx0aGlzLkhmPW51bGwsdGhpcy5VZj1udWxsLHRoaXMuJGY9bnVsbCx0aGlzLmpmPW51bGwsdGhpcy5xZj0wLAp0aGlzLllmPSExLHRoaXMuS2Y9ITEsdGhpcy5aZj0hMSx0aGlzLkdmPTAsdGhpcy5YZj1udWxsLHRoaXMuSmY9IXVzKCksdGhpcy5RZj10PT57dGhpcy50cCh0KX0sdGhpcy5pcD10PT57aWYodGhpcy5ucCh0KSl7Y29uc3QgaT10aGlzLnNwKHQpO2lmKCsrdGhpcy5SZix0aGlzLkRmJiZ0aGlzLlJmPjEpe2NvbnN0e2VwOnN9PXRoaXMucnAoZ3ModCksdGhpcy5JZik7czwzMCYmIXRoaXMuT2YmJnRoaXMuaHAoaSx0aGlzLmxwLmFwKSx0aGlzLm9wKCl9fWVsc2V7Y29uc3QgaT10aGlzLnNwKHQpO2lmKCsrdGhpcy5rZix0aGlzLlBmJiZ0aGlzLmtmPjEpe2NvbnN0e2VwOnN9PXRoaXMucnAoZ3ModCksdGhpcy5UZik7czw1JiYhdGhpcy56ZiYmdGhpcy5fcChpLHRoaXMubHAudXApLHRoaXMuY3AoKX19fSx0aGlzLmRwPXQsdGhpcy5scD1pLHRoaXMueW49cyx0aGlzLmZwKCl9bSgpe251bGwhPT10aGlzLk5mJiYodGhpcy5OZigpLHRoaXMuTmY9bnVsbCksbnVsbCE9PXRoaXMuRmYmJih0aGlzLkZmKCksdGhpcy5GZj1udWxsKSxudWxsIT09dGhpcy5IZiYmKHRoaXMuSGYoKSx0aGlzLkhmPW51bGwpLG51bGwhPT10aGlzLlVmJiYodGhpcy5VZigpLHRoaXMuVWY9bnVsbCksbnVsbCE9PXRoaXMuJGYmJih0aGlzLiRmKCksdGhpcy4kZj1udWxsKSxudWxsIT09dGhpcy5XZiYmKHRoaXMuV2YoKSx0aGlzLldmPW51bGwpLHRoaXMucHAoKSx0aGlzLmNwKCl9dnAodCl7dGhpcy5IZiYmdGhpcy5IZigpO2NvbnN0IGk9dGhpcy5tcC5iaW5kKHRoaXMpO2lmKHRoaXMuSGY9KCk9Pnt0aGlzLmRwLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsaSl9LHRoaXMuZHAuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixpKSx0aGlzLm5wKHQpKXJldHVybjtjb25zdCBzPXRoaXMuc3AodCk7dGhpcy5fcChzLHRoaXMubHAud3ApLHRoaXMuSmY9ITB9Y3AoKXtudWxsIT09dGhpcy5QZiYmY2xlYXJUaW1lb3V0KHRoaXMuUGYpLHRoaXMua2Y9MCx0aGlzLlBmPW51bGwsdGhpcy5UZj17X3Q6TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLHV0Ok51bWJlci5QT1NJVElWRV9JTkZJTklUWX19b3AoKXtudWxsIT09dGhpcy5EZiYmY2xlYXJUaW1lb3V0KHRoaXMuRGYpLHRoaXMuUmY9MCx0aGlzLkRmPW51bGwsdGhpcy5JZj17X3Q6TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLHV0Ok51bWJlci5QT1NJVElWRV9JTkZJTklUWX19bXAodCl7aWYodGhpcy5aZnx8bnVsbCE9PXRoaXMuQWYpcmV0dXJuO2lmKHRoaXMubnAodCkpcmV0dXJuO2NvbnN0IGk9dGhpcy5zcCh0KTt0aGlzLl9wKGksdGhpcy5scC5NcCksdGhpcy5KZj0hMH1ncCh0KXtjb25zdCBpPWJzKHQuY2hhbmdlZFRvdWNoZXMsZih0aGlzLlhmKSk7aWYobnVsbD09PWkpcmV0dXJuO2lmKHRoaXMuR2Y9dnModCksbnVsbCE9PXRoaXMuamYpcmV0dXJuO2lmKHRoaXMuS2YpcmV0dXJuO3RoaXMuWWY9ITA7Y29uc3Qgcz10aGlzLnJwKGdzKGkpLGYodGhpcy5BZikpLHticDplLFNwOmgsZXA6bn09cztpZih0aGlzLkxmfHwhKG48NSkpe2lmKCF0aGlzLkxmKXtjb25zdCB0PS41KmUsaT1oPj10JiYhdGhpcy55bi54cCgpLHM9dD5oJiYhdGhpcy55bi5DcCgpO2l8fHN8fCh0aGlzLktmPSEwKSx0aGlzLkxmPSEwLHRoaXMuT2Y9ITAsdGhpcy5wcCgpLHRoaXMub3AoKX1pZighdGhpcy5LZil7Y29uc3Qgcz10aGlzLnNwKHQsaSk7dGhpcy5ocChzLHRoaXMubHAueXApLHBzKHQpfX19a3AodCl7aWYoMCE9PXQuYnV0dG9uKXJldHVybjtjb25zdCBpPXRoaXMucnAoZ3ModCksZih0aGlzLkVmKSkse2VwOnN9PWk7aWYocz49NSYmKHRoaXMuemY9ITAsdGhpcy5jcCgpKSx0aGlzLnpmKXtjb25zdCBpPXRoaXMuc3AodCk7dGhpcy5fcChpLHRoaXMubHAuUHApfX1ycCh0LGkpe2NvbnN0IHM9TWF0aC5hYnMoaS5fdC10Ll90KSxlPU1hdGguYWJzKGkudXQtdC51dCk7cmV0dXJue2JwOnMsU3A6ZSxlcDpzK2V9fVRwKHQpe2xldCBpPWJzKHQuY2hhbmdlZFRvdWNoZXMsZih0aGlzLlhmKSk7aWYobnVsbD09PWkmJjA9PT10LnRvdWNoZXMubGVuZ3RoJiYoaT10LmNoYW5nZWRUb3VjaGVzWzBdKSxudWxsPT09aSlyZXR1cm47dGhpcy5YZj1udWxsLHRoaXMuR2Y9dnModCksdGhpcy5wcCgpLHRoaXMuQWY9bnVsbCx0aGlzLiRmJiYodGhpcy4kZigpLHRoaXMuJGY9bnVsbCk7Y29uc3Qgcz10aGlzLnNwKHQsaSk7aWYodGhpcy5ocChzLHRoaXMubHAuUnApLCsrdGhpcy5SZix0aGlzLkRmJiZ0aGlzLlJmPjEpe2NvbnN0e2VwOnR9PXRoaXMucnAoZ3MoaSksdGhpcy5JZik7dDwzMCYmIXRoaXMuT2YmJnRoaXMuaHAocyx0aGlzLmxwLmFwKSx0aGlzLm9wKCl9ZWxzZSB0aGlzLk9mfHwodGhpcy5ocChzLHRoaXMubHAuRHApLHRoaXMubHAuRHAmJnBzKHQpKTswPT09dGhpcy5SZiYmcHModCksMD09PXQudG91Y2hlcy5sZW5ndGgmJnRoaXMuQmYmJih0aGlzLkJmPSExLHBzKHQpKX10cCh0KXtpZigwIT09dC5idXR0b24pcmV0dXJuO2NvbnN0IGk9dGhpcy5zcCh0KTtpZih0aGlzLkVmPW51bGwsdGhpcy5aZj0hMSx0aGlzLlVmJiYodGhpcy5VZigpLHRoaXMuVWY9bnVsbCksYXMoKSYmdGhpcy5kcC5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIix0aGlzLlFmKSwhdGhpcy5ucCh0KSlpZih0aGlzLl9wKGksdGhpcy5scC5JcCksKyt0aGlzLmtmLHRoaXMuUGYmJnRoaXMua2Y+MSl7Y29uc3R7ZXA6c309dGhpcy5ycChncyh0KSx0aGlzLlRmKTtzPDUmJiF0aGlzLnpmJiZ0aGlzLl9wKGksdGhpcy5scC51cCksdGhpcy5jcCgpfWVsc2UgdGhpcy56Znx8dGhpcy5fcChpLHRoaXMubHAuVnApfXBwKCl7bnVsbCE9PXRoaXMuVmYmJihjbGVhclRpbWVvdXQodGhpcy5WZiksdGhpcy5WZj1udWxsKX1CcCh0KXtpZihudWxsIT09dGhpcy5YZilyZXR1cm47Y29uc3QgaT10LmNoYW5nZWRUb3VjaGVzWzBdO3RoaXMuWGY9aS5pZGVudGlmaWVyLHRoaXMuR2Y9dnModCk7Y29uc3Qgcz10aGlzLmRwLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O3RoaXMuT2Y9ITEsdGhpcy5MZj0hMSx0aGlzLktmPSExLHRoaXMuQWY9Z3MoaSksCnRoaXMuJGYmJih0aGlzLiRmKCksdGhpcy4kZj1udWxsKTt7Y29uc3QgaT10aGlzLmdwLmJpbmQodGhpcyksZT10aGlzLlRwLmJpbmQodGhpcyk7dGhpcy4kZj0oKT0+e3MucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixpKSxzLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixlKX0scy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGkse3Bhc3NpdmU6ITF9KSxzLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixlLHtwYXNzaXZlOiExfSksdGhpcy5wcCgpLHRoaXMuVmY9c2V0VGltZW91dCh0aGlzLkVwLmJpbmQodGhpcyx0KSwyNDApfWNvbnN0IGU9dGhpcy5zcCh0LGkpO3RoaXMuaHAoZSx0aGlzLmxwLkFwKSx0aGlzLkRmfHwodGhpcy5SZj0wLHRoaXMuRGY9c2V0VGltZW91dCh0aGlzLm9wLmJpbmQodGhpcyksNTAwKSx0aGlzLklmPWdzKGkpKX1McCh0KXtpZigwIT09dC5idXR0b24pcmV0dXJuO2NvbnN0IGk9dGhpcy5kcC5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudDthcygpJiZpLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuUWYpLHRoaXMuemY9ITEsdGhpcy5FZj1ncyh0KSx0aGlzLlVmJiYodGhpcy5VZigpLHRoaXMuVWY9bnVsbCk7e2NvbnN0IHQ9dGhpcy5rcC5iaW5kKHRoaXMpLHM9dGhpcy50cC5iaW5kKHRoaXMpO3RoaXMuVWY9KCk9PntpLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdCksaS5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIixzKX0saS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHQpLGkuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIscyl9aWYodGhpcy5aZj0hMCx0aGlzLm5wKHQpKXJldHVybjtjb25zdCBzPXRoaXMuc3AodCk7dGhpcy5fcChzLHRoaXMubHAuenApLHRoaXMuUGZ8fCh0aGlzLmtmPTAsdGhpcy5QZj1zZXRUaW1lb3V0KHRoaXMuY3AuYmluZCh0aGlzKSw1MDApLHRoaXMuVGY9Z3ModCkpfWZwKCl7dGhpcy5kcC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIix0aGlzLnZwLmJpbmQodGhpcykpLHRoaXMuZHAuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hjYW5jZWwiLHRoaXMucHAuYmluZCh0aGlzKSk7e2NvbnN0IHQ9dGhpcy5kcC5vd25lckRvY3VtZW50LGk9dD0+e3RoaXMubHAuT3AmJih0LmNvbXBvc2VkJiZ0aGlzLmRwLmNvbnRhaW5zKHQuY29tcG9zZWRQYXRoKClbMF0pfHx0LnRhcmdldCYmdGhpcy5kcC5jb250YWlucyh0LnRhcmdldCl8fHRoaXMubHAuT3AoKSl9O3RoaXMuRmY9KCk9Pnt0LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGkpfSx0aGlzLk5mPSgpPT57dC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLGkpfSx0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsaSksdC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixpLHtwYXNzaXZlOiEwfSl9dXMoKSYmKHRoaXMuV2Y9KCk9Pnt0aGlzLmRwLnJlbW92ZUV2ZW50TGlzdGVuZXIoImRibGNsaWNrIix0aGlzLmlwKX0sdGhpcy5kcC5hZGRFdmVudExpc3RlbmVyKCJkYmxjbGljayIsdGhpcy5pcCkpLHRoaXMuZHAuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdGhpcy5OcC5iaW5kKHRoaXMpKSx0aGlzLmRwLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHRoaXMuQnAuYmluZCh0aGlzKSx7cGFzc2l2ZTohMH0pLGZ1bmN0aW9uKHQpe2xzJiZ2b2lkIDAhPT13aW5kb3cuY2hyb21lJiZ0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsKHQ9PntpZigxPT09dC5idXR0b24pcmV0dXJuIHQucHJldmVudERlZmF1bHQoKSwhMX0pKX0odGhpcy5kcCksdGhpcy5kcC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLHRoaXMuTHAuYmluZCh0aGlzKSksdGhpcy5GcCgpLHRoaXMuZHAuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIiwoKCk9Pnt9KSx7cGFzc2l2ZTohMX0pfUZwKCl7dm9pZCAwPT09dGhpcy5scC5XcCYmdm9pZCAwPT09dGhpcy5scC5IcCYmdm9pZCAwPT09dGhpcy5scC5VcHx8KHRoaXMuZHAuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsKHQ9PnRoaXMuJHAodC50b3VjaGVzKSkse3Bhc3NpdmU6ITB9KSx0aGlzLmRwLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsKHQ9PntpZigyPT09dC50b3VjaGVzLmxlbmd0aCYmbnVsbCE9PXRoaXMuamYmJnZvaWQgMCE9PXRoaXMubHAuSHApe2NvbnN0IGk9bXModC50b3VjaGVzWzBdLHQudG91Y2hlc1sxXSkvdGhpcy5xZjt0aGlzLmxwLkhwKHRoaXMuamYsaSkscHModCl9fSkse3Bhc3NpdmU6ITF9KSx0aGlzLmRwLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIiwodD0+e3RoaXMuJHAodC50b3VjaGVzKX0pKSl9JHAodCl7MT09PXQubGVuZ3RoJiYodGhpcy5ZZj0hMSksMiE9PXQubGVuZ3RofHx0aGlzLllmfHx0aGlzLkJmP3RoaXMuanAoKTp0aGlzLnFwKHQpfXFwKHQpe2NvbnN0IGk9dGhpcy5kcC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKXx8e2xlZnQ6MCx0b3A6MH07dGhpcy5qZj17X3Q6KHRbMF0uY2xpZW50WC1pLmxlZnQrKHRbMV0uY2xpZW50WC1pLmxlZnQpKS8yLHV0Oih0WzBdLmNsaWVudFktaS50b3ArKHRbMV0uY2xpZW50WS1pLnRvcCkpLzJ9LHRoaXMucWY9bXModFswXSx0WzFdKSx2b2lkIDAhPT10aGlzLmxwLldwJiZ0aGlzLmxwLldwKCksdGhpcy5wcCgpfWpwKCl7bnVsbCE9PXRoaXMuamYmJih0aGlzLmpmPW51bGwsdm9pZCAwIT09dGhpcy5scC5VcCYmdGhpcy5scC5VcCgpKX1OcCh0KXtpZih0aGlzLkhmJiZ0aGlzLkhmKCksdGhpcy5ucCh0KSlyZXR1cm47aWYoIXRoaXMuSmYpcmV0dXJuO2NvbnN0IGk9dGhpcy5zcCh0KTt0aGlzLl9wKGksdGhpcy5scC5ZcCksdGhpcy5KZj0hdXMoKX1FcCh0KXtjb25zdCBpPWJzKHQudG91Y2hlcyxmKHRoaXMuWGYpKTtpZihudWxsPT09aSlyZXR1cm47Y29uc3Qgcz10aGlzLnNwKHQsaSk7dGhpcy5ocChzLHRoaXMubHAuS3ApLHRoaXMuT2Y9ITAsdGhpcy5CZj0hMH1ucCh0KXsKcmV0dXJuIHQuc291cmNlQ2FwYWJpbGl0aWVzJiZ2b2lkIDAhPT10LnNvdXJjZUNhcGFiaWxpdGllcy5maXJlc1RvdWNoRXZlbnRzP3Quc291cmNlQ2FwYWJpbGl0aWVzLmZpcmVzVG91Y2hFdmVudHM6dnModCk8dGhpcy5HZis1MDB9aHAodCxpKXtpJiZpLmNhbGwodGhpcy5scCx0KX1fcCh0LGkpe2kmJmkuY2FsbCh0aGlzLmxwLHQpfXNwKHQsaSl7Y29uc3Qgcz1pfHx0LGU9dGhpcy5kcC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKXx8e2xlZnQ6MCx0b3A6MH07cmV0dXJue2NsaWVudFg6cy5jbGllbnRYLGNsaWVudFk6cy5jbGllbnRZLHBhZ2VYOnMucGFnZVgscGFnZVk6cy5wYWdlWSxzY3JlZW5YOnMuc2NyZWVuWCxzY3JlZW5ZOnMuc2NyZWVuWSxsb2NhbFg6cy5jbGllbnRYLWUubGVmdCxsb2NhbFk6cy5jbGllbnRZLWUudG9wLGN0cmxLZXk6dC5jdHJsS2V5LGFsdEtleTp0LmFsdEtleSxzaGlmdEtleTp0LnNoaWZ0S2V5LG1ldGFLZXk6dC5tZXRhS2V5LFpwOiF0LnR5cGUuc3RhcnRzV2l0aCgibW91c2UiKSYmImNvbnRleHRtZW51IiE9PXQudHlwZSYmImNsaWNrIiE9PXQudHlwZSxHcDp0LnR5cGUsWHA6cy50YXJnZXQsZ3U6dC52aWV3LEpwOigpPT57InRvdWNoc3RhcnQiIT09dC50eXBlJiZwcyh0KX19fX1mdW5jdGlvbiBtcyh0LGkpe2NvbnN0IHM9dC5jbGllbnRYLWkuY2xpZW50WCxlPXQuY2xpZW50WS1pLmNsaWVudFk7cmV0dXJuIE1hdGguc3FydChzKnMrZSplKX1mdW5jdGlvbiBwcyh0KXt0LmNhbmNlbGFibGUmJnQucHJldmVudERlZmF1bHQoKX1mdW5jdGlvbiBncyh0KXtyZXR1cm57X3Q6dC5wYWdlWCx1dDp0LnBhZ2VZfX1mdW5jdGlvbiB2cyh0KXtyZXR1cm4gdC50aW1lU3RhbXB8fHBlcmZvcm1hbmNlLm5vdygpfWZ1bmN0aW9uIGJzKHQsaSl7Zm9yKGxldCBzPTA7czx0Lmxlbmd0aDsrK3MpaWYodFtzXS5pZGVudGlmaWVyPT09aSlyZXR1cm4gdFtzXTtyZXR1cm4gbnVsbH1jbGFzcyB3c3tjb25zdHJ1Y3Rvcih0LGkscyl7dGhpcy5RcD1udWxsLHRoaXMudHY9bnVsbCx0aGlzLml2PSEwLHRoaXMubnY9bnVsbCx0aGlzLnN2PXQsdGhpcy5ldj10LnJ2KClbaV0sdGhpcy5odj10LnJ2KClbc10sdGhpcy5hdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ciIpLHRoaXMuYXYuc3R5bGUuaGVpZ2h0PSIxcHgiLHRoaXMubHY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKSx0aGlzLmx2LnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSIsdGhpcy5sdi5zdHlsZS5wYWRkaW5nPSIwIix0aGlzLmx2LnN0eWxlLm1hcmdpbj0iMCIsdGhpcy5sdi5zZXRBdHRyaWJ1dGUoImNvbHNwYW4iLCIzIiksdGhpcy5vdigpLHRoaXMuYXYuYXBwZW5kQ2hpbGQodGhpcy5sdiksdGhpcy5pdj10aGlzLnN2Lk4oKS5sYXlvdXQucGFuZXMuZW5hYmxlUmVzaXplLHRoaXMuaXY/dGhpcy5fdigpOih0aGlzLlFwPW51bGwsdGhpcy50dj1udWxsKX1tKCl7bnVsbCE9PXRoaXMudHYmJnRoaXMudHYubSgpfXV2KCl7cmV0dXJuIHRoaXMuYXZ9Y3YoKXtyZXR1cm4gZS5zaXplKHt3aWR0aDp0aGlzLmV2LmN2KCkud2lkdGgsaGVpZ2h0OjF9KX1kdigpe3JldHVybiBlLnNpemUoe3dpZHRoOnRoaXMuZXYuZHYoKS53aWR0aCxoZWlnaHQ6MSp3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb30pfWZ2KHQsaSxzKXtjb25zdCBlPXRoaXMuZHYoKTt0LmZpbGxTdHlsZT10aGlzLnN2Lk4oKS5sYXlvdXQucGFuZXMuc2VwYXJhdG9yQ29sb3IsdC5maWxsUmVjdChpLHMsZS53aWR0aCxlLmhlaWdodCl9a3QoKXt0aGlzLm92KCksdGhpcy5zdi5OKCkubGF5b3V0LnBhbmVzLmVuYWJsZVJlc2l6ZSE9PXRoaXMuaXYmJih0aGlzLml2PXRoaXMuc3YuTigpLmxheW91dC5wYW5lcy5lbmFibGVSZXNpemUsdGhpcy5pdj90aGlzLl92KCk6KG51bGwhPT10aGlzLlFwJiYodGhpcy5sdi5yZW1vdmVDaGlsZCh0aGlzLlFwLnB2KSx0aGlzLmx2LnJlbW92ZUNoaWxkKHRoaXMuUXAudnYpLHRoaXMuUXA9bnVsbCksbnVsbCE9PXRoaXMudHYmJih0aGlzLnR2Lm0oKSx0aGlzLnR2PW51bGwpKSl9X3YoKXtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGk9dC5zdHlsZTtpLnBvc2l0aW9uPSJmaXhlZCIsaS5kaXNwbGF5PSJub25lIixpLnpJbmRleD0iNDkiLGkudG9wPSIwIixpLmxlZnQ9IjAiLGkud2lkdGg9IjEwMCUiLGkuaGVpZ2h0PSIxMDAlIixpLmN1cnNvcj0icm93LXJlc2l6ZSIsdGhpcy5sdi5hcHBlbmRDaGlsZCh0KTtjb25zdCBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGU9cy5zdHlsZTtlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsZS56SW5kZXg9IjUwIixlLnRvcD0iLTRweCIsZS5oZWlnaHQ9IjlweCIsZS53aWR0aD0iMTAwJSIsZS5iYWNrZ3JvdW5kQ29sb3I9IiIsZS5jdXJzb3I9InJvdy1yZXNpemUiLHRoaXMubHYuYXBwZW5kQ2hpbGQocyk7Y29uc3QgaD17d3A6dGhpcy5tdi5iaW5kKHRoaXMpLFlwOnRoaXMud3YuYmluZCh0aGlzKSx6cDp0aGlzLk12LmJpbmQodGhpcyksQXA6dGhpcy5Ndi5iaW5kKHRoaXMpLFBwOnRoaXMuZ3YuYmluZCh0aGlzKSx5cDp0aGlzLmd2LmJpbmQodGhpcyksSXA6dGhpcy5idi5iaW5kKHRoaXMpLFJwOnRoaXMuYnYuYmluZCh0aGlzKX07dGhpcy50dj1uZXcgZHMocyxoLHt4cDooKT0+ITEsQ3A6KCk9PiEwfSksdGhpcy5RcD17dnY6cyxwdjp0fX1vdigpe3RoaXMubHYuc3R5bGUuYmFja2dyb3VuZD10aGlzLnN2Lk4oKS5sYXlvdXQucGFuZXMuc2VwYXJhdG9yQ29sb3J9bXYodCl7bnVsbCE9PXRoaXMuUXAmJih0aGlzLlFwLnZ2LnN0eWxlLmJhY2tncm91bmRDb2xvcj10aGlzLnN2Lk4oKS5sYXlvdXQucGFuZXMuc2VwYXJhdG9ySG92ZXJDb2xvcil9d3YodCl7bnVsbCE9PXRoaXMuUXAmJm51bGw9PT10aGlzLm52JiYodGhpcy5RcC52di5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I9IiIpfU12KHQpe2lmKG51bGw9PT10aGlzLlFwKXJldHVybjtjb25zdCBpPXRoaXMuZXYuU3YoKS56XygpK3RoaXMuaHYuU3YoKS56XygpLHM9aS8odGhpcy5ldi5jdigpLmhlaWdodCt0aGlzLmh2LmN2KCkuaGVpZ2h0KSxlPTMwKnM7aTw9MiplfHwodGhpcy5udj17eHY6dC5wYWdlWSwKQ3Y6dGhpcy5ldi5TdigpLnpfKCkseXY6aS1lLGt2OmksUHY6cyxUdjplfSx0aGlzLlFwLnB2LnN0eWxlLmRpc3BsYXk9ImJsb2NrIil9Z3YodCl7Y29uc3QgaT10aGlzLm52O2lmKG51bGw9PT1pKXJldHVybjtjb25zdCBzPSh0LnBhZ2VZLWkueHYpKmkuUHYsZT1paShpLkN2K3MsaS5UdixpLnl2KTt0aGlzLmV2LlN2KCkuT18oZSksdGhpcy5odi5TdigpLk9fKGkua3YtZSksdGhpcy5zdi5RdCgpLlBhKCl9YnYodCl7bnVsbCE9PXRoaXMubnYmJm51bGwhPT10aGlzLlFwJiYodGhpcy5udj1udWxsLHRoaXMuUXAucHYuc3R5bGUuZGlzcGxheT0ibm9uZSIpfX1mdW5jdGlvbiBNcyh0LGkpe3JldHVybiB0LlJ2LWkuUnZ9ZnVuY3Rpb24geXModCxpLHMpe2NvbnN0IGU9KHQuUnYtaS5SdikvKHQud3QtaS53dCk7cmV0dXJuIE1hdGguc2lnbihlKSpNYXRoLm1pbihNYXRoLmFicyhlKSxzKX1jbGFzcyBTc3tjb25zdHJ1Y3Rvcih0LGkscyxlKXt0aGlzLkR2PW51bGwsdGhpcy5Jdj1udWxsLHRoaXMuVnY9bnVsbCx0aGlzLkJ2PW51bGwsdGhpcy5Fdj1udWxsLHRoaXMuQXY9MCx0aGlzLkx2PTAsdGhpcy56dj10LHRoaXMuT3Y9aSx0aGlzLk52PXMsdGhpcy5rcz1lfUZ2KHQsaSl7aWYobnVsbCE9PXRoaXMuRHYpe2lmKHRoaXMuRHYud3Q9PT1pKXJldHVybiB2b2lkKHRoaXMuRHYuUnY9dCk7aWYoTWF0aC5hYnModGhpcy5Edi5Sdi10KTx0aGlzLmtzKXJldHVybn10aGlzLkJ2PXRoaXMuVnYsdGhpcy5Wdj10aGlzLkl2LHRoaXMuSXY9dGhpcy5Edix0aGlzLkR2PXt3dDppLFJ2OnR9fW1lKHQsaSl7aWYobnVsbD09PXRoaXMuRHZ8fG51bGw9PT10aGlzLkl2KXJldHVybjtpZihpLXRoaXMuRHYud3Q+NTApcmV0dXJuO2xldCBzPTA7Y29uc3QgZT15cyh0aGlzLkR2LHRoaXMuSXYsdGhpcy5PdiksaD1Ncyh0aGlzLkR2LHRoaXMuSXYpLG49W2VdLHI9W2hdO2lmKHMrPWgsbnVsbCE9PXRoaXMuVnYpe2NvbnN0IHQ9eXModGhpcy5Jdix0aGlzLlZ2LHRoaXMuT3YpO2lmKE1hdGguc2lnbih0KT09PU1hdGguc2lnbihlKSl7Y29uc3QgaT1Ncyh0aGlzLkl2LHRoaXMuVnYpO2lmKG4ucHVzaCh0KSxyLnB1c2goaSkscys9aSxudWxsIT09dGhpcy5Cdil7Y29uc3QgdD15cyh0aGlzLlZ2LHRoaXMuQnYsdGhpcy5Pdik7aWYoTWF0aC5zaWduKHQpPT09TWF0aC5zaWduKGUpKXtjb25zdCBpPU1zKHRoaXMuVnYsdGhpcy5Cdik7bi5wdXNoKHQpLHIucHVzaChpKSxzKz1pfX19fWxldCBvPTA7Zm9yKGxldCB0PTA7dDxuLmxlbmd0aDsrK3Qpbys9clt0XS9zKm5bdF07TWF0aC5hYnMobyk8dGhpcy56dnx8KHRoaXMuRXY9e1J2OnQsd3Q6aX0sdGhpcy5Mdj1vLHRoaXMuQXY9ZnVuY3Rpb24odCxpKXtjb25zdCBzPU1hdGgubG9nKGkpO3JldHVybiBNYXRoLmxvZygxKnMvLXQpL3N9KE1hdGguYWJzKG8pLHRoaXMuTnYpKX1xYyh0KXtjb25zdCBpPWYodGhpcy5Fdikscz10LWkud3Q7cmV0dXJuIGkuUnYrdGhpcy5MdiooTWF0aC5wb3codGhpcy5OdixzKS0xKS9NYXRoLmxvZyh0aGlzLk52KX1qYyh0KXtyZXR1cm4gbnVsbD09PXRoaXMuRXZ8fHRoaXMuV3YodCk9PT10aGlzLkF2fVd2KHQpe2NvbnN0IGk9dC1mKHRoaXMuRXYpLnd0O3JldHVybiBNYXRoLm1pbihpLHRoaXMuQXYpfX1jbGFzcyB4c3tjb25zdHJ1Y3Rvcih0LGkpe3RoaXMuSHY9dm9pZCAwLHRoaXMuVXY9dm9pZCAwLHRoaXMuJHY9dm9pZCAwLHRoaXMudm49ITEsdGhpcy5qdj10LHRoaXMucXY9aSx0aGlzLll2KCl9a3QoKXt0aGlzLll2KCl9S3YoKXt0aGlzLkh2JiZ0aGlzLmp2LnJlbW92ZUNoaWxkKHRoaXMuSHYpLHRoaXMuVXYmJnRoaXMuanYucmVtb3ZlQ2hpbGQodGhpcy5VdiksdGhpcy5Idj12b2lkIDAsdGhpcy5Vdj12b2lkIDB9WnYoKXtyZXR1cm4gdGhpcy52biE9PXRoaXMuR3YoKXx8dGhpcy4kdiE9PXRoaXMuWHYoKX1Ydigpe3JldHVybiB0aGlzLnF2LlF0KCkuWGkoKS5KKHRoaXMucXYuTigpLmxheW91dC50ZXh0Q29sb3IpPjE2MD8iZGFyayI6ImxpZ2h0In1Hdigpe3JldHVybiB0aGlzLnF2Lk4oKS5sYXlvdXQuYXR0cmlidXRpb25Mb2dvfUp2KCl7Y29uc3QgdD1uZXcgVVJMKGxvY2F0aW9uLmhyZWYpO3JldHVybiB0Lmhvc3RuYW1lPyImdXRtX3NvdXJjZT0iK3QuaG9zdG5hbWUrdC5wYXRobmFtZToiIn1Zdigpe3RoaXMuWnYoKSYmKHRoaXMuS3YoKSx0aGlzLnZuPXRoaXMuR3YoKSx0aGlzLnZuJiYodGhpcy4kdj10aGlzLlh2KCksdGhpcy5Vdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpLHRoaXMuVXYuaW5uZXJUZXh0PSJhI3R2LWF0dHItbG9nb3stLWZpbGw6IzEzMTcyMjstLXN0cm9rZTojZmZmO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MTBweDtib3R0b206MTBweDtoZWlnaHQ6MTlweDt3aWR0aDozNXB4O21hcmdpbjowO3BhZGRpbmc6MDtib3JkZXI6MDt6LWluZGV4OjM7fWEjdHYtYXR0ci1sb2dvW2RhdGEtZGFya117LS1maWxsOiNEMUQ0REM7LS1zdHJva2U6IzEzMTcyMjt9Iix0aGlzLkh2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKSx0aGlzLkh2LmhyZWY9YGh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LmNvbS8/dXRtX21lZGl1bT1sd2MtbGluayZ1dG1fY2FtcGFpZ249bHdjLWNoYXJ0JHt0aGlzLkp2KCl9YCx0aGlzLkh2LnRpdGxlPSJDaGFydGluZyBieSBUcmFkaW5nVmlldyIsdGhpcy5Idi5pZD0idHYtYXR0ci1sb2dvIix0aGlzLkh2LnRhcmdldD0iX2JsYW5rIiwKdGhpcy5Idi5pbm5lckhUTUw9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzUiIGhlaWdodD0iMTkiIGZpbGw9Im5vbmUiPjxnIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2EpIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGZpbGw9InZhcigtLXN0cm9rZSkiIGQ9Ik0yIDBIMHYxMGg2djloMjEuNGwuNS0xLjMgNi0xNSAxLTIuN0gyMy43bC0uNSAxLjMtLjIuNmE1IDUgMCAwIDAtNy0uOVYwSDJabTIwIDE3aDRsNS4yLTEzIC44LTJoLTdsLTEgMi41LS4yLjUtMS41IDMuOC0uMy43VjE3Wm0tLjgtMTBhMyAzIDAgMCAwIC43LTIuN0EzIDMgMCAxIDAgMTYuOCA3aDQuNFpNMTQgN1YySDJ2Nmg2djloNFY3aDJaIi8+PHBhdGggZmlsbD0idmFyKC0tZmlsbCkiIGQ9Ik0xNCAySDJ2Nmg2djloNlYyWm0xMiAxNWgtN2w2LTE1aDdsLTYgMTVabS03LTlhMyAzIDAgMSAwIDAtNiAzIDMgMCAwIDAgMCA2WiIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGZpbGw9InZhcigtLXN0cm9rZSkiIGQ9Ik0wIDBoMzV2MTlIMHoiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4nLHRoaXMuSHYudG9nZ2xlQXR0cmlidXRlKCJkYXRhLWRhcmsiLCJkYXJrIj09PXRoaXMuJHYpLHRoaXMuanYuYXBwZW5kQ2hpbGQodGhpcy5VdiksdGhpcy5qdi5hcHBlbmRDaGlsZCh0aGlzLkh2KSkpfX1mdW5jdGlvbiBfcyh0LGkpe2NvbnN0IHM9Zih0Lm93bmVyRG9jdW1lbnQpLmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpO3QuYXBwZW5kQ2hpbGQocyk7Y29uc3QgaD0oMCxlLmJpbmRDYW52YXNFbGVtZW50Qml0bWFwU2l6ZVRvKShzLHt0eXBlOiJkZXZpY2UtcGl4ZWwtY29udGVudC1ib3giLG9wdGlvbnM6e2FsbG93UmVzaXplT2JzZXJ2ZXI6ITB9LHRyYW5zZm9ybToodCxpKT0+KHt3aWR0aDpNYXRoLm1heCh0LndpZHRoLGkud2lkdGgpLGhlaWdodDpNYXRoLm1heCh0LmhlaWdodCxpLmhlaWdodCl9KX0pO3JldHVybiBoLnJlc2l6ZUNhbnZhc0VsZW1lbnQoaSksaH1mdW5jdGlvbiBDcyh0KXt0LndpZHRoPTEsdC5oZWlnaHQ9MSx0LmdldENvbnRleHQoIjJkIik/LmNsZWFyUmVjdCgwLDAsMSwxKX1mdW5jdGlvbiBrcyh0LGkscyxlKXt0LnFoJiZ0LnFoKGkscyxlKX1mdW5jdGlvbiBFcyh0LGkscyxlKXt0LnN0KGkscyxlKX1mdW5jdGlvbiBOcyh0LGkscyxlKXtjb25zdCBoPXQocyxlKTtmb3IoY29uc3QgdCBvZiBoKXtjb25zdCBzPXQuVHQoZSk7bnVsbCE9PXMmJmkocyl9fWZ1bmN0aW9uIFRzKHQsaSl7cmV0dXJuIHM9PmZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDAhPT10LkZ0fShzKT8ocy5GdCgpPy5jbCgpPz8iIikhPT1pP1tdOnMuR2E/Lih0KT8/W106W119ZnVuY3Rpb24gUnModCxpLHMsZSl7aWYoIXQubGVuZ3RoKXJldHVybjtsZXQgaD0wO2NvbnN0IG49dFswXS4kdChlLCEwKTtsZXQgcj0xPT09aT9zLzItKHRbMF0uSGkoKS1uLzIpOnRbMF0uSGkoKS1uLzItcy8yO3I9TWF0aC5tYXgoMCxyKTtmb3IobGV0IG49MTtuPHQubGVuZ3RoO24rKyl7Y29uc3Qgbz10W25dLGw9dFtuLTFdLGE9bC4kdChlLCExKSx1PW8uSGkoKSxjPWwuSGkoKTtpZigxPT09aT91PmMtYTp1PGMrYSl7Y29uc3QgZT1jLWEqaTtvLlVpKGUpO2NvbnN0IG49ZS1pKmEvMjtpZigoMT09PWk/bjwwOm4+cykmJnI+MCl7Y29uc3QgZT0xPT09aT8tMS1uOm4tcyxvPU1hdGgubWluKGUscik7Zm9yKGxldCBzPWg7czx0Lmxlbmd0aDtzKyspdFtzXS5VaSh0W3NdLkhpKCkraSpvKTtyLT1vfX1lbHNlIGg9bixyPTE9PT1pP2MtYS11OnUtKGMrYSl9fWNsYXNzIFBze2NvbnN0cnVjdG9yKHQsaSxzLGgpe3RoaXMuS2k9bnVsbCx0aGlzLlF2PW51bGwsdGhpcy50bT0hMSx0aGlzLmltPW5ldyBudCgyMDApLHRoaXMubm09bnVsbCx0aGlzLnNtPTAsdGhpcy5ybT0hMSx0aGlzLmhtPSgpPT57dGhpcy5ybXx8dGhpcy55dC5hbSgpLlF0KCkubXIoKX0sdGhpcy5sbT0oKT0+e3RoaXMucm18fHRoaXMueXQuYW0oKS5RdCgpLm1yKCl9LHRoaXMueXQ9dCx0aGlzLnluPWksdGhpcy5rbz1pLmxheW91dCx0aGlzLndkPXMsdGhpcy5vbT0ibGVmdCI9PT1oLHRoaXMuX209VHMoIm5vcm1hbCIsaCksdGhpcy51bT1UcygidG9wIixoKSx0aGlzLmRtPVRzKCJib3R0b20iLGgpLHRoaXMubHY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5sdi5zdHlsZS5oZWlnaHQ9IjEwMCUiLHRoaXMubHYuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIsdGhpcy5sdi5zdHlsZS53aWR0aD0iMjVweCIsdGhpcy5sdi5zdHlsZS5sZWZ0PSIwIix0aGlzLmx2LnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSIsdGhpcy5mbT1fcyh0aGlzLmx2LGUuc2l6ZSh7d2lkdGg6MTYsaGVpZ2h0OjE2fSkpLHRoaXMuZm0uc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5obSk7Y29uc3Qgbj10aGlzLmZtLmNhbnZhc0VsZW1lbnQ7bi5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLG4uc3R5bGUuekluZGV4PSIxIixuLnN0eWxlLmxlZnQ9IjAiLG4uc3R5bGUudG9wPSIwIix0aGlzLnBtPV9zKHRoaXMubHYsZS5zaXplKHt3aWR0aDoxNixoZWlnaHQ6MTZ9KSksdGhpcy5wbS5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0aGlzLmxtKTtjb25zdCByPXRoaXMucG0uY2FudmFzRWxlbWVudDtyLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsci5zdHlsZS56SW5kZXg9IjIiLHIuc3R5bGUubGVmdD0iMCIsci5zdHlsZS50b3A9IjAiO2NvbnN0IG89e3pwOnRoaXMuTXYuYmluZCh0aGlzKSxBcDp0aGlzLk12LmJpbmQodGhpcyksUHA6dGhpcy5ndi5iaW5kKHRoaXMpLHlwOnRoaXMuZ3YuYmluZCh0aGlzKSxPcDp0aGlzLnZtLmJpbmQodGhpcyksSXA6dGhpcy5idi5iaW5kKHRoaXMpLFJwOnRoaXMuYnYuYmluZCh0aGlzKSx1cDp0aGlzLndtLmJpbmQodGhpcyksYXA6dGhpcy53bS5iaW5kKHRoaXMpLHdwOnRoaXMuTW0uYmluZCh0aGlzKSxZcDp0aGlzLnd2LmJpbmQodGhpcyl9O3RoaXMudHY9bmV3IGRzKHRoaXMucG0uY2FudmFzRWxlbWVudCxvLHsKeHA6KCk9PiF0aGlzLnluLmhhbmRsZVNjcm9sbC52ZXJ0VG91Y2hEcmFnLENwOigpPT4hMH0pfW0oKXt0aGlzLnR2Lm0oKSx0aGlzLnBtLnVuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5sbSksQ3ModGhpcy5wbS5jYW52YXNFbGVtZW50KSx0aGlzLnBtLmRpc3Bvc2UoKSx0aGlzLmZtLnVuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5obSksQ3ModGhpcy5mbS5jYW52YXNFbGVtZW50KSx0aGlzLmZtLmRpc3Bvc2UoKSxudWxsIT09dGhpcy5LaSYmdGhpcy5LaS5hXygpLnUodGhpcyksdGhpcy5LaT1udWxsfXV2KCl7cmV0dXJuIHRoaXMubHZ9aygpe3JldHVybiB0aGlzLmtvLmZvbnRTaXplfWdtKCl7Y29uc3QgdD10aGlzLndkLk4oKTtyZXR1cm4gdGhpcy5ubSE9PXQuUCYmKHRoaXMuaW0uT3MoKSx0aGlzLm5tPXQuUCksdH1ibSgpe2lmKG51bGw9PT10aGlzLktpKXJldHVybiAwO2xldCB0PTA7Y29uc3QgaT10aGlzLmdtKCkscz1mKHRoaXMuZm0uY2FudmFzRWxlbWVudC5nZXRDb250ZXh0KCIyZCIse2NvbG9yU3BhY2U6dGhpcy55dC5hbSgpLk4oKS5sYXlvdXQuY29sb3JTcGFjZX0pKTtzLnNhdmUoKTtjb25zdCBlPXRoaXMuS2kuRWwoKTtzLmZvbnQ9dGhpcy5TbSgpLGUubGVuZ3RoPjAmJih0PU1hdGgubWF4KHRoaXMuaW0uSWkocyxlWzBdLmlvKSx0aGlzLmltLklpKHMsZVtlLmxlbmd0aC0xXS5pbykpKTtjb25zdCBoPXRoaXMueG0oKTtmb3IobGV0IGk9aC5sZW5ndGg7aS0tOyl7Y29uc3QgZT10aGlzLmltLklpKHMsaFtpXS5yaSgpKTtlPnQmJih0PWUpfWNvbnN0IG49dGhpcy5LaS5MdCgpO2lmKG51bGwhPT1uJiZudWxsIT09dGhpcy5RdiYmMiE9PShyPXRoaXMueW4uY3Jvc3NoYWlyKS5tb2RlJiZyLmhvcnpMaW5lLnZpc2libGUmJnIuaG9yekxpbmUubGFiZWxWaXNpYmxlKXtjb25zdCBpPXRoaXMuS2kuVG4oMSxuKSxlPXRoaXMuS2kuVG4odGhpcy5Rdi5oZWlnaHQtMixuKTt0PU1hdGgubWF4KHQsdGhpcy5pbS5JaShzLHRoaXMuS2kuSmkoTWF0aC5mbG9vcihNYXRoLm1pbihpLGUpKSsuMTExMTExMTExMTExMTEsbikpLHRoaXMuaW0uSWkocyx0aGlzLktpLkppKE1hdGguY2VpbChNYXRoLm1heChpLGUpKS0uMTExMTExMTExMTExMTEsbikpKX12YXIgcjtzLnJlc3RvcmUoKTtjb25zdCBvPXR8fDM0O3JldHVybiBmcyhNYXRoLmNlaWwoaS5TK2kuQytpLlYraS5CKzUrbykpfUNtKHQpe251bGwhPT10aGlzLlF2JiYoMCxlLmVxdWFsU2l6ZXMpKHRoaXMuUXYsdCl8fCh0aGlzLlF2PXQsdGhpcy5ybT0hMCx0aGlzLmZtLnJlc2l6ZUNhbnZhc0VsZW1lbnQodCksdGhpcy5wbS5yZXNpemVDYW52YXNFbGVtZW50KHQpLHRoaXMucm09ITEsdGhpcy5sdi5zdHlsZS53aWR0aD1gJHt0LndpZHRofXB4YCx0aGlzLmx2LnN0eWxlLmhlaWdodD1gJHt0LmhlaWdodH1weGApfXltKCl7cmV0dXJuIGYodGhpcy5Rdikud2lkdGh9dW4odCl7dGhpcy5LaSE9PXQmJihudWxsIT09dGhpcy5LaSYmdGhpcy5LaS5hXygpLnUodGhpcyksdGhpcy5LaT10LHQuYV8oKS5pKHRoaXMucG8uYmluZCh0aGlzKSx0aGlzKSl9RnQoKXtyZXR1cm4gdGhpcy5LaX1Pcygpe2NvbnN0IHQ9dGhpcy55dC5TdigpO3RoaXMueXQuYW0oKS5RdCgpLmV1KHQsZih0aGlzLkZ0KCkpKX1rbSh0KXtpZihudWxsPT09dGhpcy5RdilyZXR1cm47Y29uc3QgaT17Y29sb3JTcGFjZTp0aGlzLnl0LmFtKCkuTigpLmxheW91dC5jb2xvclNwYWNlfTtpZigxIT09dCl7dGhpcy5QbSgpLHRoaXMuZm0uYXBwbHlTdWdnZXN0ZWRCaXRtYXBTaXplKCk7Y29uc3QgdD0oMCxlLnRyeUNyZWF0ZUNhbnZhc1JlbmRlcmluZ1RhcmdldDJEKSh0aGlzLmZtLGkpO251bGwhPT10JiYodC51c2VCaXRtYXBDb29yZGluYXRlU3BhY2UoKHQ9Pnt0aGlzLlRtKHQpLHRoaXMuUm0odCl9KSksdGhpcy55dC5EbSh0LHRoaXMuZG0pLHRoaXMuSW0odCksdGhpcy55dC5EbSh0LHRoaXMuX20pLHRoaXMuVm0odCkpfXRoaXMucG0uYXBwbHlTdWdnZXN0ZWRCaXRtYXBTaXplKCk7Y29uc3Qgcz0oMCxlLnRyeUNyZWF0ZUNhbnZhc1JlbmRlcmluZ1RhcmdldDJEKSh0aGlzLnBtLGkpO251bGwhPT1zJiYocy51c2VCaXRtYXBDb29yZGluYXRlU3BhY2UoKCh7Y29udGV4dDp0LGJpdG1hcFNpemU6aX0pPT57dC5jbGVhclJlY3QoMCwwLGkud2lkdGgsaS5oZWlnaHQpfSkpLHRoaXMuQm0ocyksdGhpcy55dC5EbShzLHRoaXMudW0pKX1kdigpe3JldHVybiB0aGlzLmZtLmJpdG1hcFNpemV9ZnYodCxpLHMsZSl7Y29uc3QgaD10aGlzLmR2KCk7aWYoaC53aWR0aD4wJiZoLmhlaWdodD4wJiYodC5kcmF3SW1hZ2UodGhpcy5mbS5jYW52YXNFbGVtZW50LGkscyksZSkpe2NvbnN0IGU9dGhpcy5wbS5jYW52YXNFbGVtZW50O3QuZHJhd0ltYWdlKGUsaSxzKX19a3QoKXt0aGlzLktpPy5FbCgpfU12KHQpe2lmKG51bGw9PT10aGlzLktpfHx0aGlzLktpLkdpKCl8fCF0aGlzLnluLmhhbmRsZVNjYWxlLmF4aXNQcmVzc2VkTW91c2VNb3ZlLnByaWNlKXJldHVybjtjb25zdCBpPXRoaXMueXQuYW0oKS5RdCgpLHM9dGhpcy55dC5TdigpO3RoaXMudG09ITAsaS5HXyhzLHRoaXMuS2ksdC5sb2NhbFkpfWd2KHQpe2lmKG51bGw9PT10aGlzLktpfHwhdGhpcy55bi5oYW5kbGVTY2FsZS5heGlzUHJlc3NlZE1vdXNlTW92ZS5wcmljZSlyZXR1cm47Y29uc3QgaT10aGlzLnl0LmFtKCkuUXQoKSxzPXRoaXMueXQuU3YoKSxlPXRoaXMuS2k7aS5YXyhzLGUsdC5sb2NhbFkpfXZtKCl7aWYobnVsbD09PXRoaXMuS2l8fCF0aGlzLnluLmhhbmRsZVNjYWxlLmF4aXNQcmVzc2VkTW91c2VNb3ZlLnByaWNlKXJldHVybjtjb25zdCB0PXRoaXMueXQuYW0oKS5RdCgpLGk9dGhpcy55dC5TdigpLHM9dGhpcy5LaTt0aGlzLnRtJiYodGhpcy50bT0hMSx0LkpfKGkscykpfWJ2KHQpe2lmKG51bGw9PT10aGlzLktpfHwhdGhpcy55bi5oYW5kbGVTY2FsZS5heGlzUHJlc3NlZE1vdXNlTW92ZS5wcmljZSlyZXR1cm47Y29uc3QgaT10aGlzLnl0LmFtKCkuUXQoKSxzPXRoaXMueXQuU3YoKTt0aGlzLnRtPSExLGkuSl8ocyx0aGlzLktpKX13bSh0KXsKdGhpcy55bi5oYW5kbGVTY2FsZS5heGlzRG91YmxlQ2xpY2tSZXNldC5wcmljZSYmdGhpcy5PcygpfU1tKHQpe251bGwhPT10aGlzLktpJiYoIXRoaXMueXQuYW0oKS5RdCgpLk4oKS5oYW5kbGVTY2FsZS5heGlzUHJlc3NlZE1vdXNlTW92ZS5wcmljZXx8dGhpcy5LaS5qZSgpfHx0aGlzLktpLkxvKCl8fHRoaXMuRW0oMSkpfXd2KHQpe3RoaXMuRW0oMCl9eG0oKXtjb25zdCB0PVtdLGk9bnVsbD09PXRoaXMuS2k/dm9pZCAwOnRoaXMuS2k7cmV0dXJuKHM9Pntmb3IobGV0IGU9MDtlPHMubGVuZ3RoOysrZSl7Y29uc3QgaD1zW2VdLnFuKHRoaXMueXQuU3YoKSxpKTtmb3IobGV0IGk9MDtpPGgubGVuZ3RoO2krKyl0LnB1c2goaFtpXSl9fSkodGhpcy55dC5TdigpLkR0KCkpLHR9VG0oe2NvbnRleHQ6dCxiaXRtYXBTaXplOml9KXtjb25zdHt3aWR0aDpzLGhlaWdodDplfT1pLGg9dGhpcy55dC5TdigpLlF0KCksbj1oLiQoKSxyPWguZWYoKTtuPT09cj9RKHQsMCwwLHMsZSxuKTpLKHQsMCwwLHMsZSxuLHIpfVJtKHtjb250ZXh0OnQsYml0bWFwU2l6ZTppLGhvcml6b250YWxQaXhlbFJhdGlvOnN9KXtpZihudWxsPT09dGhpcy5Rdnx8bnVsbD09PXRoaXMuS2l8fCF0aGlzLktpLk4oKS5ib3JkZXJWaXNpYmxlKXJldHVybjt0LmZpbGxTdHlsZT10aGlzLktpLk4oKS5ib3JkZXJDb2xvcjtjb25zdCBlPU1hdGgubWF4KDEsTWF0aC5mbG9vcih0aGlzLmdtKCkuUypzKSk7bGV0IGg7aD10aGlzLm9tP2kud2lkdGgtZTowLHQuZmlsbFJlY3QoaCwwLGUsaS5oZWlnaHQpfUltKHQpe2lmKG51bGw9PT10aGlzLlF2fHxudWxsPT09dGhpcy5LaSlyZXR1cm47Y29uc3QgaT10aGlzLktpLkVsKCkscz10aGlzLktpLk4oKSxlPXRoaXMuZ20oKSxoPXRoaXMub20/dGhpcy5Rdi53aWR0aC1lLkM6MDtzLmJvcmRlclZpc2libGUmJnMudGlja3NWaXNpYmxlJiZ0LnVzZUJpdG1hcENvb3JkaW5hdGVTcGFjZSgoKHtjb250ZXh0OnQsaG9yaXpvbnRhbFBpeGVsUmF0aW86bix2ZXJ0aWNhbFBpeGVsUmF0aW86cn0pPT57dC5maWxsU3R5bGU9cy5ib3JkZXJDb2xvcjtjb25zdCBvPU1hdGgubWF4KDEsTWF0aC5mbG9vcihyKSksbD1NYXRoLmZsb29yKC41KnIpLGE9TWF0aC5yb3VuZChlLkMqbik7dC5iZWdpblBhdGgoKTtmb3IoY29uc3QgcyBvZiBpKXQucmVjdChNYXRoLmZsb29yKGgqbiksTWF0aC5yb3VuZChzLlJsKnIpLWwsYSxvKTt0LmZpbGwoKX0pKSx0LnVzZU1lZGlhQ29vcmRpbmF0ZVNwYWNlKCgoe2NvbnRleHQ6dH0pPT57dC5mb250PXRoaXMuU20oKSx0LmZpbGxTdHlsZT1zLnRleHRDb2xvcj8/dGhpcy5rby50ZXh0Q29sb3IsdC50ZXh0QWxpZ249dGhpcy5vbT8icmlnaHQiOiJsZWZ0Iix0LnRleHRCYXNlbGluZT0ibWlkZGxlIjtjb25zdCBuPXRoaXMub20/TWF0aC5yb3VuZChoLWUuVik6TWF0aC5yb3VuZChoK2UuQytlLlYpLHI9aS5tYXAoKGk9PnRoaXMuaW0uRGkodCxpLmlvKSkpO2ZvcihsZXQgcz1pLmxlbmd0aDtzLS07KXtjb25zdCBlPWlbc107dC5maWxsVGV4dChlLmlvLG4sZS5SbCtyW3NdKX19KSl9UG0oKXtpZihudWxsPT09dGhpcy5Rdnx8bnVsbD09PXRoaXMuS2kpcmV0dXJuO2xldCB0PXRoaXMuUXYuaGVpZ2h0LzI7Y29uc3QgaT1bXSxzPXRoaXMuS2kuRHQoKS5zbGljZSgpLGU9dGhpcy55dC5TdigpLGg9dGhpcy5nbSgpO3RoaXMuS2k9PT1lLkdzKCkmJnRoaXMueXQuU3YoKS5EdCgpLmZvckVhY2goKHQ9PntlLlpzKHQpJiZzLnB1c2godCl9KSk7Y29uc3Qgbj10aGlzLktpLkNsKClbMF0scj10aGlzLktpO3MuZm9yRWFjaCgocz0+e2NvbnN0IGg9cy5xbihlLHIpO2guZm9yRWFjaCgodD0+e3QuJGkoKSYmbnVsbD09PXQuV2koKSYmKHQuVWkobnVsbCksaS5wdXNoKHQpKX0pKSxuPT09cyYmaC5sZW5ndGg+MCYmKHQ9aFswXS5FaSgpKX0pKSx0aGlzLktpLk4oKS5hbGlnbkxhYmVscyYmdGhpcy5BbShpLGgsdCl9QW0odCxpLHMpe2lmKG51bGw9PT10aGlzLlF2KXJldHVybjtjb25zdCBlPXQuZmlsdGVyKCh0PT50LkVpKCk8PXMpKSxoPXQuZmlsdGVyKCh0PT50LkVpKCk+cykpO2Uuc29ydCgoKHQsaSk9PmkuRWkoKS10LkVpKCkpKSxlLmxlbmd0aCYmaC5sZW5ndGgmJmgucHVzaChlWzBdKSxoLnNvcnQoKCh0LGkpPT50LkVpKCktaS5FaSgpKSk7Zm9yKGNvbnN0IHMgb2YgdCl7Y29uc3QgdD1NYXRoLmZsb29yKHMuJHQoaSkvMiksZT1zLkVpKCk7ZT4tdCYmZTx0JiZzLlVpKHQpLGU+dGhpcy5Rdi5oZWlnaHQtdCYmZTx0aGlzLlF2LmhlaWdodCt0JiZzLlVpKHRoaXMuUXYuaGVpZ2h0LXQpfVJzKGUsMSx0aGlzLlF2LmhlaWdodCxpKSxScyhoLC0xLHRoaXMuUXYuaGVpZ2h0LGkpfVZtKHQpe2lmKG51bGw9PT10aGlzLlF2KXJldHVybjtjb25zdCBpPXRoaXMueG0oKSxzPXRoaXMuZ20oKSxlPXRoaXMub20/InJpZ2h0IjoibGVmdCI7aS5mb3JFYWNoKChpPT57aS5qaSgpJiZpLlR0KGYodGhpcy5LaSkpLnN0KHQscyx0aGlzLmltLGUpfSkpfUJtKHQpe2lmKG51bGw9PT10aGlzLlF2fHxudWxsPT09dGhpcy5LaSlyZXR1cm47Y29uc3QgaT10aGlzLnl0LmFtKCkuUXQoKSxzPVtdLGU9dGhpcy55dC5TdigpLGg9aS5SZCgpLnFuKGUsdGhpcy5LaSk7aC5sZW5ndGgmJnMucHVzaChoKTtjb25zdCBuPXRoaXMuZ20oKSxyPXRoaXMub20/InJpZ2h0IjoibGVmdCI7cy5mb3JFYWNoKChpPT57aS5mb3JFYWNoKChpPT57aS5UdChmKHRoaXMuS2kpKS5zdCh0LG4sdGhpcy5pbSxyKX0pKX0pKX1FbSh0KXt0aGlzLmx2LnN0eWxlLmN1cnNvcj0xPT09dD8ibnMtcmVzaXplIjoiZGVmYXVsdCJ9cG8oKXtjb25zdCB0PXRoaXMuYm0oKTt0aGlzLnNtPHQmJnRoaXMueXQuYW0oKS5RdCgpLlBhKCksdGhpcy5zbT10fVNtKCl7cmV0dXJuIF8odGhpcy5rby5mb250U2l6ZSx0aGlzLmtvLmZvbnRGYW1pbHkpfX1mdW5jdGlvbiB6cyh0LGkpe3JldHVybiB0LkthPy4oaSk/P1tdfWZ1bmN0aW9uIElzKHQsaSl7cmV0dXJuIHQuam4/LihpKT8/W119ZnVuY3Rpb24gTHModCxpKXtyZXR1cm4gdC5jbj8uKGkpPz9bXX1mdW5jdGlvbiBGcyh0LGkpe3JldHVybiB0LmphPy4oaSk/P1tdfWNsYXNzIHFze2NvbnN0cnVjdG9yKHQsaSl7CnRoaXMuUXY9ZS5zaXplKHt3aWR0aDowLGhlaWdodDowfSksdGhpcy5MbT1udWxsLHRoaXMuem09bnVsbCx0aGlzLk9tPW51bGwsdGhpcy5ObT1udWxsLHRoaXMuRm09ITEsdGhpcy5XbT1uZXcgbSx0aGlzLkhtPW5ldyBtLHRoaXMuVW09MCx0aGlzLiRtPSExLHRoaXMuam09bnVsbCx0aGlzLnFtPSExLHRoaXMuWW09bnVsbCx0aGlzLkttPW51bGwsdGhpcy5ybT0hMSx0aGlzLmhtPSgpPT57dGhpcy5ybXx8bnVsbD09PXRoaXMuWm18fHRoaXMuc24oKS5tcigpfSx0aGlzLmxtPSgpPT57dGhpcy5ybXx8bnVsbD09PXRoaXMuWm18fHRoaXMuc24oKS5tcigpfSx0aGlzLnF2PXQsdGhpcy5abT1pLHRoaXMuWm0uZnUoKS5pKHRoaXMuR20uYmluZCh0aGlzKSx0aGlzLCEwKSx0aGlzLlhtPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIiksdGhpcy5YbS5zdHlsZS5wYWRkaW5nPSIwIix0aGlzLlhtLnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSI7Y29uc3Qgcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtzLnN0eWxlLndpZHRoPSIxMDAlIixzLnN0eWxlLmhlaWdodD0iMTAwJSIscy5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiLHMuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIsdGhpcy5KbT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpLHRoaXMuSm0uc3R5bGUucGFkZGluZz0iMCIsdGhpcy5RbT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpLHRoaXMuUW0uc3R5bGUucGFkZGluZz0iMCIsdGhpcy5YbS5hcHBlbmRDaGlsZChzKSx0aGlzLmZtPV9zKHMsZS5zaXplKHt3aWR0aDoxNixoZWlnaHQ6MTZ9KSksdGhpcy5mbS5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0aGlzLmhtKTtjb25zdCBoPXRoaXMuZm0uY2FudmFzRWxlbWVudDtoLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsaC5zdHlsZS56SW5kZXg9IjEiLGguc3R5bGUubGVmdD0iMCIsaC5zdHlsZS50b3A9IjAiLHRoaXMucG09X3MocyxlLnNpemUoe3dpZHRoOjE2LGhlaWdodDoxNn0pKSx0aGlzLnBtLnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMubG0pO2NvbnN0IG49dGhpcy5wbS5jYW52YXNFbGVtZW50O24uc3R5bGUucG9zaXRpb249ImFic29sdXRlIixuLnN0eWxlLnpJbmRleD0iMiIsbi5zdHlsZS5sZWZ0PSIwIixuLnN0eWxlLnRvcD0iMCIsdGhpcy5hdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ciIpLHRoaXMuYXYuYXBwZW5kQ2hpbGQodGhpcy5KbSksdGhpcy5hdi5hcHBlbmRDaGlsZCh0aGlzLlhtKSx0aGlzLmF2LmFwcGVuZENoaWxkKHRoaXMuUW0pLHRoaXMudHcoKSx0aGlzLnR2PW5ldyBkcyh0aGlzLnBtLmNhbnZhc0VsZW1lbnQsdGhpcyx7eHA6KCk9Pm51bGw9PT10aGlzLmptJiYhdGhpcy5xdi5OKCkuaGFuZGxlU2Nyb2xsLnZlcnRUb3VjaERyYWcsQ3A6KCk9Pm51bGw9PT10aGlzLmptJiYhdGhpcy5xdi5OKCkuaGFuZGxlU2Nyb2xsLmhvcnpUb3VjaERyYWd9KX1tKCl7bnVsbCE9PXRoaXMuTG0mJnRoaXMuTG0ubSgpLG51bGwhPT10aGlzLnptJiZ0aGlzLnptLm0oKSx0aGlzLk9tPW51bGwsdGhpcy5wbS51bnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMubG0pLENzKHRoaXMucG0uY2FudmFzRWxlbWVudCksdGhpcy5wbS5kaXNwb3NlKCksdGhpcy5mbS51bnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMuaG0pLENzKHRoaXMuZm0uY2FudmFzRWxlbWVudCksdGhpcy5mbS5kaXNwb3NlKCksbnVsbCE9PXRoaXMuWm0mJih0aGlzLlptLmZ1KCkudSh0aGlzKSx0aGlzLlptLm0oKSksdGhpcy50di5tKCl9U3YoKXtyZXR1cm4gZih0aGlzLlptKX1pdyh0KXtudWxsIT09dGhpcy5abSYmdGhpcy5abS5mdSgpLnUodGhpcyksdGhpcy5abT10LG51bGwhPT10aGlzLlptJiZ0aGlzLlptLmZ1KCkuaShxcy5wcm90b3R5cGUuR20uYmluZCh0aGlzKSx0aGlzLCEwKSx0aGlzLnR3KCksdGhpcy5xdi5ydigpLmluZGV4T2YodGhpcyk9PT10aGlzLnF2LnJ2KCkubGVuZ3RoLTE/KHRoaXMuT209dGhpcy5PbT8/bmV3IHhzKHRoaXMuWG0sdGhpcy5xdiksdGhpcy5PbS5rdCgpKToodGhpcy5PbT8uS3YoKSx0aGlzLk9tPW51bGwpfWFtKCl7cmV0dXJuIHRoaXMucXZ9dXYoKXtyZXR1cm4gdGhpcy5hdn10dygpe2lmKG51bGwhPT10aGlzLlptJiYodGhpcy5udygpLDAhPT10aGlzLnNuKCkuSm4oKS5sZW5ndGgpKXtpZihudWxsIT09dGhpcy5MbSl7Y29uc3QgdD10aGlzLlptLktfKCk7dGhpcy5MbS51bihmKHQpKX1pZihudWxsIT09dGhpcy56bSl7Y29uc3QgdD10aGlzLlptLlpfKCk7dGhpcy56bS51bihmKHQpKX19fXN3KCl7bnVsbCE9PXRoaXMuTG0mJnRoaXMuTG0ua3QoKSxudWxsIT09dGhpcy56bSYmdGhpcy56bS5rdCgpfXpfKCl7cmV0dXJuIG51bGwhPT10aGlzLlptP3RoaXMuWm0uel8oKTowfU9fKHQpe3RoaXMuWm0mJnRoaXMuWm0uT18odCl9d3AodCl7aWYoIXRoaXMuWm0pcmV0dXJuO3RoaXMuZXcoKTtjb25zdCBpPXQubG9jYWxYLHM9dC5sb2NhbFk7dGhpcy5ydyhpLHMsdCl9enAodCl7dGhpcy5ldygpLHRoaXMuaHcoKSx0aGlzLnJ3KHQubG9jYWxYLHQubG9jYWxZLHQpfU1wKHQpe2lmKCF0aGlzLlptKXJldHVybjt0aGlzLmV3KCk7Y29uc3QgaT10LmxvY2FsWCxzPXQubG9jYWxZO3RoaXMucncoaSxzLHQpfVZwKHQpe251bGwhPT10aGlzLlptJiYodGhpcy5ldygpLHRoaXMucncodC5sb2NhbFgsdC5sb2NhbFksdCksdGhpcy5hdyh0KSl9dXAodCl7bnVsbCE9PXRoaXMuWm0mJnRoaXMubHcodGhpcy5IbSx0KX1hcCh0KXt0aGlzLnVwKHQpfVBwKHQpe3RoaXMuZXcoKSx0aGlzLm93KHQpLHRoaXMucncodC5sb2NhbFgsdC5sb2NhbFksdCl9SXAodCl7bnVsbCE9PXRoaXMuWm0mJih0aGlzLmV3KCksdGhpcy4kbT0hMSx0aGlzLl93KHQpKX1EcCh0KXtudWxsIT09dGhpcy5abSYmdGhpcy5hdyh0KX1LcCh0KXtpZih0aGlzLiRtPSEwLG51bGw9PT10aGlzLmptKXtjb25zdCBpPXt4OnQubG9jYWxYLHk6dC5sb2NhbFl9O3RoaXMudXcoaSxpLHQpfX1ZcCh0KXtudWxsIT09dGhpcy5abSYmKHRoaXMuZXcoKSwKdGhpcy5abS5RdCgpLmtkKG51bGwpLHRoaXMuY3coKSl9ZHcoKXtyZXR1cm4gdGhpcy5XbX1mdygpe3JldHVybiB0aGlzLkhtfVdwKCl7dGhpcy5VbT0xLHRoaXMuc24oKS5jcygpfUhwKHQsaSl7aWYoIXRoaXMucXYuTigpLmhhbmRsZVNjYWxlLnBpbmNoKXJldHVybjtjb25zdCBzPTUqKGktdGhpcy5VbSk7dGhpcy5VbT1pLHRoaXMuc24oKS5PZCh0Ll90LHMpfUFwKHQpe3RoaXMuJG09ITEsdGhpcy5xbT1udWxsIT09dGhpcy5qbSx0aGlzLmh3KCk7Y29uc3QgaT10aGlzLnNuKCkuUmQoKTtudWxsIT09dGhpcy5qbSYmaS5JdCgpJiYodGhpcy5ZbT17eDppLm5pKCkseTppLnNpKCl9LHRoaXMuam09e3g6dC5sb2NhbFgseTp0LmxvY2FsWX0pfXlwKHQpe2lmKG51bGw9PT10aGlzLlptKXJldHVybjtjb25zdCBpPXQubG9jYWxYLHM9dC5sb2NhbFk7aWYobnVsbD09PXRoaXMuam0pdGhpcy5vdyh0KTtlbHNle3RoaXMucW09ITE7Y29uc3QgZT1mKHRoaXMuWW0pLGg9ZS54KyhpLXRoaXMuam0ueCksbj1lLnkrKHMtdGhpcy5qbS55KTt0aGlzLnJ3KGgsbix0KX19UnAodCl7MD09PXRoaXMuYW0oKS5OKCkudHJhY2tpbmdNb2RlLmV4aXRNb2RlJiYodGhpcy5xbT0hMCksdGhpcy5wdygpLHRoaXMuX3codCl9UXModCxpKXtjb25zdCBzPXRoaXMuWm07cmV0dXJuIG51bGw9PT1zP251bGw6UGkocyx0LGkpfW13KHQsaSl7ZigibGVmdCI9PT1pP3RoaXMuTG06dGhpcy56bSkuQ20oZS5zaXplKHt3aWR0aDp0LGhlaWdodDp0aGlzLlF2LmhlaWdodH0pKX1jdigpe3JldHVybiB0aGlzLlF2fUNtKHQpeygwLGUuZXF1YWxTaXplcykodGhpcy5Rdix0KXx8KHRoaXMuUXY9dCx0aGlzLnJtPSEwLHRoaXMuZm0ucmVzaXplQ2FudmFzRWxlbWVudCh0KSx0aGlzLnBtLnJlc2l6ZUNhbnZhc0VsZW1lbnQodCksdGhpcy5ybT0hMSx0aGlzLlhtLnN0eWxlLndpZHRoPXQud2lkdGgrInB4Iix0aGlzLlhtLnN0eWxlLmhlaWdodD10LmhlaWdodCsicHgiKX13dygpe2NvbnN0IHQ9Zih0aGlzLlptKTt0LnFfKHQuS18oKSksdC5xXyh0LlpfKCkpO2Zvcihjb25zdCBpIG9mIHQuQ2woKSlpZih0LlpzKGkpKXtjb25zdCBzPWkuRnQoKTtudWxsIT09cyYmdC5xXyhzKSxpLk5uKCl9Zm9yKGNvbnN0IGkgb2YgdC52dSgpKWkuTm4oKX1kdigpe3JldHVybiB0aGlzLmZtLmJpdG1hcFNpemV9ZnYodCxpLHMsZSl7Y29uc3QgaD10aGlzLmR2KCk7aWYoaC53aWR0aD4wJiZoLmhlaWdodD4wJiYodC5kcmF3SW1hZ2UodGhpcy5mbS5jYW52YXNFbGVtZW50LGkscyksZSkpe2NvbnN0IGU9dGhpcy5wbS5jYW52YXNFbGVtZW50O251bGwhPT10JiZ0LmRyYXdJbWFnZShlLGkscyl9fWttKHQpe2lmKDA9PT10KXJldHVybjtpZihudWxsPT09dGhpcy5abSlyZXR1cm47dD4xJiZ0aGlzLnd3KCksbnVsbCE9PXRoaXMuTG0mJnRoaXMuTG0ua20odCksbnVsbCE9PXRoaXMuem0mJnRoaXMuem0ua20odCk7Y29uc3QgaT17Y29sb3JTcGFjZTp0aGlzLnF2Lk4oKS5sYXlvdXQuY29sb3JTcGFjZX07aWYoMSE9PXQpe3RoaXMuZm0uYXBwbHlTdWdnZXN0ZWRCaXRtYXBTaXplKCk7Y29uc3QgdD0oMCxlLnRyeUNyZWF0ZUNhbnZhc1JlbmRlcmluZ1RhcmdldDJEKSh0aGlzLmZtLGkpO251bGwhPT10JiYodC51c2VCaXRtYXBDb29yZGluYXRlU3BhY2UoKHQ9Pnt0aGlzLlRtKHQpfSkpLHRoaXMuWm0mJih0aGlzLk13KHQsenMpLHRoaXMuZ3codCksdGhpcy5Ndyh0LElzKSx0aGlzLk13KHQsTHMpKSl9dGhpcy5wbS5hcHBseVN1Z2dlc3RlZEJpdG1hcFNpemUoKTtjb25zdCBzPSgwLGUudHJ5Q3JlYXRlQ2FudmFzUmVuZGVyaW5nVGFyZ2V0MkQpKHRoaXMucG0saSk7bnVsbCE9PXMmJihzLnVzZUJpdG1hcENvb3JkaW5hdGVTcGFjZSgoKHtjb250ZXh0OnQsYml0bWFwU2l6ZTppfSk9Pnt0LmNsZWFyUmVjdCgwLDAsaS53aWR0aCxpLmhlaWdodCl9KSksdGhpcy5idyhzKSx0aGlzLk13KHMsRnMpLHRoaXMuTXcocyxMcykpfVN3KCl7cmV0dXJuIHRoaXMuTG19eHcoKXtyZXR1cm4gdGhpcy56bX1EbSh0LGkpe3RoaXMuTXcodCxpKX1HbSgpe251bGwhPT10aGlzLlptJiZ0aGlzLlptLmZ1KCkudSh0aGlzKSx0aGlzLlptPW51bGx9YXcodCl7dGhpcy5sdyh0aGlzLldtLHQpfWx3KHQsaSl7Y29uc3Qgcz1pLmxvY2FsWCxlPWkubG9jYWxZO3QudigpJiZ0LnAodGhpcy5zbigpLkV0KCkuUmMocykse3g6cyx5OmV9LGkpfVRtKHtjb250ZXh0OnQsYml0bWFwU2l6ZTppfSl7Y29uc3R7d2lkdGg6cyxoZWlnaHQ6ZX09aSxoPXRoaXMuc24oKSxuPWguJCgpLHI9aC5lZigpO249PT1yP1EodCwwLDAscyxlLHIpOksodCwwLDAscyxlLG4scil9Z3codCl7Y29uc3QgaT1mKHRoaXMuWm0pLHM9aS5wdSgpLndyKCkuVHQoaSk7bnVsbCE9PXMmJnMuc3QodCwhMSl9YncodCl7dGhpcy5Ddyh0LElzLEVzLHRoaXMuc24oKS5SZCgpKX1Ndyh0LGkpe2NvbnN0IHM9Zih0aGlzLlptKSxlPXMuYXUoKSxoPXMudnUoKTtmb3IoY29uc3QgcyBvZiBoKXRoaXMuQ3codCxpLGtzLHMpO2Zvcihjb25zdCBzIG9mIGUpdGhpcy5Ddyh0LGksa3Mscyk7Zm9yKGNvbnN0IHMgb2YgaCl0aGlzLkN3KHQsaSxFcyxzKTtmb3IoY29uc3QgcyBvZiBlKXRoaXMuQ3codCxpLEVzLHMpfUN3KHQsaSxzLGUpe2NvbnN0IGg9Zih0aGlzLlptKSxuPWguUXQoKS5vdSgpLHI9bnVsbCE9PW4mJm4ubHU9PT1lLG89bnVsbCE9PW4mJnImJnZvaWQgMCE9PW4ud3U/bi53dS5pZTp2b2lkIDA7TnMoaSwoaT0+cyhpLHQscixvKSksZSxoKX1udygpe2lmKG51bGw9PT10aGlzLlptKXJldHVybjtjb25zdCB0PXRoaXMucXYsaT10aGlzLlptLktfKCkuTigpLnZpc2libGUscz10aGlzLlptLlpfKCkuTigpLnZpc2libGU7aXx8bnVsbD09PXRoaXMuTG18fCh0aGlzLkptLnJlbW92ZUNoaWxkKHRoaXMuTG0udXYoKSksdGhpcy5MbS5tKCksdGhpcy5MbT1udWxsKSxzfHxudWxsPT09dGhpcy56bXx8KHRoaXMuUW0ucmVtb3ZlQ2hpbGQodGhpcy56bS51digpKSx0aGlzLnptLm0oKSx0aGlzLnptPW51bGwpO2NvbnN0IGU9dC5RdCgpLlpkKCk7aSYmbnVsbD09PXRoaXMuTG0mJih0aGlzLkxtPW5ldyBQcyh0aGlzLHQuTigpLGUsImxlZnQiKSwKdGhpcy5KbS5hcHBlbmRDaGlsZCh0aGlzLkxtLnV2KCkpKSxzJiZudWxsPT09dGhpcy56bSYmKHRoaXMuem09bmV3IFBzKHRoaXMsdC5OKCksZSwicmlnaHQiKSx0aGlzLlFtLmFwcGVuZENoaWxkKHRoaXMuem0udXYoKSkpfXl3KHQpe3JldHVybiB0LlpwJiZ0aGlzLiRtfHxudWxsIT09dGhpcy5qbX1ydyh0LGkscyl7dD1NYXRoLm1heCgwLE1hdGgubWluKHQsdGhpcy5Rdi53aWR0aC0xKSksaT1NYXRoLm1heCgwLE1hdGgubWluKGksdGhpcy5Rdi5oZWlnaHQtMSkpLHRoaXMuc24oKS5qZCh0LGkscyxmKHRoaXMuWm0pKX1jdygpe3RoaXMuc24oKS5ZZCgpfXB3KCl7dGhpcy5xbSYmKHRoaXMuam09bnVsbCx0aGlzLmN3KCkpfXV3KHQsaSxzKXt0aGlzLmptPXQsdGhpcy5xbT0hMSx0aGlzLnJ3KGkueCxpLnkscyk7Y29uc3QgZT10aGlzLnNuKCkuUmQoKTt0aGlzLlltPXt4OmUubmkoKSx5OmUuc2koKX19c24oKXtyZXR1cm4gdGhpcy5xdi5RdCgpfV93KHQpe2lmKCF0aGlzLkZtKXJldHVybjtjb25zdCBpPXRoaXMuc24oKSxzPXRoaXMuU3YoKTtpZihpLml1KHMscy5QbigpKSx0aGlzLk5tPW51bGwsdGhpcy5GbT0hMSxpLkhkKCksbnVsbCE9PXRoaXMuS20pe2NvbnN0IHQ9cGVyZm9ybWFuY2Uubm93KCkscz1pLkV0KCk7dGhpcy5LbS5tZShzLkFjKCksdCksdGhpcy5LbS5qYyh0KXx8aS5wcyh0aGlzLkttKX19ZXcoKXt0aGlzLmptPW51bGx9aHcoKXtpZih0aGlzLlptKXtpZih0aGlzLnNuKCkuY3MoKSxkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09ZG9jdW1lbnQuYm9keSYmZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudClmKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpLmJsdXIoKTtlbHNle2NvbnN0IHQ9ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7bnVsbCE9PXQmJnQucmVtb3ZlQWxsUmFuZ2VzKCl9IXRoaXMuWm0uUG4oKS5HaSgpJiZ0aGlzLnNuKCkuRXQoKS5HaSgpfX1vdyh0KXtpZihudWxsPT09dGhpcy5abSlyZXR1cm47Y29uc3QgaT10aGlzLnNuKCkscz1pLkV0KCk7aWYocy5HaSgpKXJldHVybjtjb25zdCBlPXRoaXMucXYuTigpLGg9ZS5oYW5kbGVTY3JvbGwsbj1lLmtpbmV0aWNTY3JvbGw7aWYoKCFoLnByZXNzZWRNb3VzZU1vdmV8fHQuWnApJiYoIWguaG9yelRvdWNoRHJhZyYmIWgudmVydFRvdWNoRHJhZ3x8IXQuWnApKXJldHVybjtjb25zdCByPXRoaXMuWm0uUG4oKSxvPXBlcmZvcm1hbmNlLm5vdygpO2lmKG51bGwhPT10aGlzLk5tfHx0aGlzLnl3KHQpfHwodGhpcy5ObT17eDp0LmNsaWVudFgseTp0LmNsaWVudFksU2Y6byxrdzp0LmxvY2FsWCxQdzp0LmxvY2FsWX0pLG51bGwhPT10aGlzLk5tJiYhdGhpcy5GbSYmKHRoaXMuTm0ueCE9PXQuY2xpZW50WHx8dGhpcy5ObS55IT09dC5jbGllbnRZKSl7aWYodC5acCYmbi50b3VjaHx8IXQuWnAmJm4ubW91c2Upe2NvbnN0IHQ9cy5mbCgpO3RoaXMuS209bmV3IFNzKC4yL3QsNy90LC45OTcsMTUvdCksdGhpcy5LbS5GdihzLkFjKCksdGhpcy5ObS5TZil9ZWxzZSB0aGlzLkttPW51bGw7ci5HaSgpfHxpLlFfKHRoaXMuWm0scix0LmxvY2FsWSksaS5GZCh0LmxvY2FsWCksdGhpcy5GbT0hMH10aGlzLkZtJiYoci5HaSgpfHxpLnR1KHRoaXMuWm0scix0LmxvY2FsWSksaS5XZCh0LmxvY2FsWCksbnVsbCE9PXRoaXMuS20mJnRoaXMuS20uRnYocy5BYygpLG8pKX19Y2xhc3MgV3N7Y29uc3RydWN0b3IodCxpLHMsaCxuKXt0aGlzLnh0PSEwLHRoaXMuUXY9ZS5zaXplKHt3aWR0aDowLGhlaWdodDowfSksdGhpcy5obT0oKT0+dGhpcy5rbSgzKSx0aGlzLm9tPSJsZWZ0Ij09PXQsdGhpcy53ZD1zLlpkLHRoaXMueW49aSx0aGlzLlR3PWgsdGhpcy5Sdz1uLHRoaXMubHY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5sdi5zdHlsZS53aWR0aD0iMjVweCIsdGhpcy5sdi5zdHlsZS5oZWlnaHQ9IjEwMCUiLHRoaXMubHYuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIsdGhpcy5mbT1fcyh0aGlzLmx2LGUuc2l6ZSh7d2lkdGg6MTYsaGVpZ2h0OjE2fSkpLHRoaXMuZm0uc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5obSl9bSgpe3RoaXMuZm0udW5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0aGlzLmhtKSxDcyh0aGlzLmZtLmNhbnZhc0VsZW1lbnQpLHRoaXMuZm0uZGlzcG9zZSgpfXV2KCl7cmV0dXJuIHRoaXMubHZ9Y3YoKXtyZXR1cm4gdGhpcy5Rdn1DbSh0KXsoMCxlLmVxdWFsU2l6ZXMpKHRoaXMuUXYsdCl8fCh0aGlzLlF2PXQsdGhpcy5mbS5yZXNpemVDYW52YXNFbGVtZW50KHQpLHRoaXMubHYuc3R5bGUud2lkdGg9YCR7dC53aWR0aH1weGAsdGhpcy5sdi5zdHlsZS5oZWlnaHQ9YCR7dC5oZWlnaHR9cHhgLHRoaXMueHQ9ITApfWttKHQpe2lmKHQ8MyYmIXRoaXMueHQpcmV0dXJuO2lmKDA9PT10aGlzLlF2LndpZHRofHwwPT09dGhpcy5Rdi5oZWlnaHQpcmV0dXJuO3RoaXMueHQ9ITEsdGhpcy5mbS5hcHBseVN1Z2dlc3RlZEJpdG1hcFNpemUoKTtjb25zdCBpPSgwLGUudHJ5Q3JlYXRlQ2FudmFzUmVuZGVyaW5nVGFyZ2V0MkQpKHRoaXMuZm0se2NvbG9yU3BhY2U6dGhpcy55bi5sYXlvdXQuY29sb3JTcGFjZX0pO251bGwhPT1pJiZpLnVzZUJpdG1hcENvb3JkaW5hdGVTcGFjZSgodD0+e3RoaXMuVG0odCksdGhpcy5SbSh0KX0pKX1kdigpe3JldHVybiB0aGlzLmZtLmJpdG1hcFNpemV9ZnYodCxpLHMpe2NvbnN0IGU9dGhpcy5kdigpO2Uud2lkdGg+MCYmZS5oZWlnaHQ+MCYmdC5kcmF3SW1hZ2UodGhpcy5mbS5jYW52YXNFbGVtZW50LGkscyl9Um0oe2NvbnRleHQ6dCxiaXRtYXBTaXplOmksaG9yaXpvbnRhbFBpeGVsUmF0aW86cyx2ZXJ0aWNhbFBpeGVsUmF0aW86ZX0pe2lmKCF0aGlzLlR3KCkpcmV0dXJuO3QuZmlsbFN0eWxlPXRoaXMueW4udGltZVNjYWxlLmJvcmRlckNvbG9yO2NvbnN0IGg9TWF0aC5mbG9vcih0aGlzLndkLk4oKS5TKnMpLG49TWF0aC5mbG9vcih0aGlzLndkLk4oKS5TKmUpLHI9dGhpcy5vbT9pLndpZHRoLWg6MDt0LmZpbGxSZWN0KHIsMCxoLG4pfVRtKHtjb250ZXh0OnQsYml0bWFwU2l6ZTppfSl7ClEodCwwLDAsaS53aWR0aCxpLmhlaWdodCx0aGlzLlJ3KCkpfX1mdW5jdGlvbiBRcyh0KXtyZXR1cm4gaT0+aS5YYT8uKHQpPz9bXX1jb25zdCBEcz1Rcygibm9ybWFsIiksT3M9UXMoInRvcCIpLEtzPVFzKCJib3R0b20iKTtjbGFzcyBWc3tjb25zdHJ1Y3Rvcih0LGkpe3RoaXMuRHc9bnVsbCx0aGlzLkl3PW51bGwsdGhpcy5NPW51bGwsdGhpcy5Wdz0hMSx0aGlzLlF2PWUuc2l6ZSh7d2lkdGg6MCxoZWlnaHQ6MH0pLHRoaXMuQnc9bmV3IG0sdGhpcy5pbT1uZXcgbnQoNSksdGhpcy5ybT0hMSx0aGlzLmhtPSgpPT57dGhpcy5ybXx8dGhpcy5xdi5RdCgpLm1yKCl9LHRoaXMubG09KCk9Pnt0aGlzLnJtfHx0aGlzLnF2LlF0KCkubXIoKX0sdGhpcy5xdj10LHRoaXMueHU9aSx0aGlzLnluPXQuTigpLmxheW91dCx0aGlzLkh2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRyIiksdGhpcy5Fdz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpLHRoaXMuRXcuc3R5bGUucGFkZGluZz0iMCIsdGhpcy5Bdz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpLHRoaXMuQXcuc3R5bGUucGFkZGluZz0iMCIsdGhpcy5sdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpLHRoaXMubHYuc3R5bGUuaGVpZ2h0PSIyNXB4Iix0aGlzLmx2LnN0eWxlLnBhZGRpbmc9IjAiLHRoaXMuTHc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5Mdy5zdHlsZS53aWR0aD0iMTAwJSIsdGhpcy5Mdy5zdHlsZS5oZWlnaHQ9IjEwMCUiLHRoaXMuTHcuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIix0aGlzLkx3LnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iLHRoaXMubHYuYXBwZW5kQ2hpbGQodGhpcy5MdyksdGhpcy5mbT1fcyh0aGlzLkx3LGUuc2l6ZSh7d2lkdGg6MTYsaGVpZ2h0OjE2fSkpLHRoaXMuZm0uc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5obSk7Y29uc3Qgcz10aGlzLmZtLmNhbnZhc0VsZW1lbnQ7cy5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLHMuc3R5bGUuekluZGV4PSIxIixzLnN0eWxlLmxlZnQ9IjAiLHMuc3R5bGUudG9wPSIwIix0aGlzLnBtPV9zKHRoaXMuTHcsZS5zaXplKHt3aWR0aDoxNixoZWlnaHQ6MTZ9KSksdGhpcy5wbS5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0aGlzLmxtKTtjb25zdCBoPXRoaXMucG0uY2FudmFzRWxlbWVudDtoLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsaC5zdHlsZS56SW5kZXg9IjIiLGguc3R5bGUubGVmdD0iMCIsaC5zdHlsZS50b3A9IjAiLHRoaXMuSHYuYXBwZW5kQ2hpbGQodGhpcy5FdyksdGhpcy5Idi5hcHBlbmRDaGlsZCh0aGlzLmx2KSx0aGlzLkh2LmFwcGVuZENoaWxkKHRoaXMuQXcpLHRoaXMuencoKSx0aGlzLnF2LlF0KCkuTF8oKS5pKHRoaXMuencuYmluZCh0aGlzKSx0aGlzKSx0aGlzLnR2PW5ldyBkcyh0aGlzLnBtLmNhbnZhc0VsZW1lbnQsdGhpcyx7eHA6KCk9PiEwLENwOigpPT4hdGhpcy5xdi5OKCkuaGFuZGxlU2Nyb2xsLmhvcnpUb3VjaERyYWd9KX1tKCl7dGhpcy50di5tKCksbnVsbCE9PXRoaXMuRHcmJnRoaXMuRHcubSgpLG51bGwhPT10aGlzLkl3JiZ0aGlzLkl3Lm0oKSx0aGlzLnBtLnVuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5sbSksQ3ModGhpcy5wbS5jYW52YXNFbGVtZW50KSx0aGlzLnBtLmRpc3Bvc2UoKSx0aGlzLmZtLnVuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5obSksQ3ModGhpcy5mbS5jYW52YXNFbGVtZW50KSx0aGlzLmZtLmRpc3Bvc2UoKX11digpe3JldHVybiB0aGlzLkh2fU93KCl7cmV0dXJuIHRoaXMuRHd9TncoKXtyZXR1cm4gdGhpcy5Jd316cCh0KXtpZih0aGlzLlZ3KXJldHVybjt0aGlzLlZ3PSEwO2NvbnN0IGk9dGhpcy5xdi5RdCgpOyFpLkV0KCkuR2koKSYmdGhpcy5xdi5OKCkuaGFuZGxlU2NhbGUuYXhpc1ByZXNzZWRNb3VzZU1vdmUudGltZSYmaS56ZCh0LmxvY2FsWCl9QXAodCl7dGhpcy56cCh0KX1PcCgpe2NvbnN0IHQ9dGhpcy5xdi5RdCgpOyF0LkV0KCkuR2koKSYmdGhpcy5WdyYmKHRoaXMuVnc9ITEsdGhpcy5xdi5OKCkuaGFuZGxlU2NhbGUuYXhpc1ByZXNzZWRNb3VzZU1vdmUudGltZSYmdC4kZCgpKX1QcCh0KXtjb25zdCBpPXRoaXMucXYuUXQoKTshaS5FdCgpLkdpKCkmJnRoaXMucXYuTigpLmhhbmRsZVNjYWxlLmF4aXNQcmVzc2VkTW91c2VNb3ZlLnRpbWUmJmkuVWQodC5sb2NhbFgpfXlwKHQpe3RoaXMuUHAodCl9SXAoKXt0aGlzLlZ3PSExO2NvbnN0IHQ9dGhpcy5xdi5RdCgpO3QuRXQoKS5HaSgpJiYhdGhpcy5xdi5OKCkuaGFuZGxlU2NhbGUuYXhpc1ByZXNzZWRNb3VzZU1vdmUudGltZXx8dC4kZCgpfVJwKCl7dGhpcy5JcCgpfXVwKCl7dGhpcy5xdi5OKCkuaGFuZGxlU2NhbGUuYXhpc0RvdWJsZUNsaWNrUmVzZXQudGltZSYmdGhpcy5xdi5RdCgpLndzKCl9YXAoKXt0aGlzLnVwKCl9d3AoKXt0aGlzLnF2LlF0KCkuTigpLmhhbmRsZVNjYWxlLmF4aXNQcmVzc2VkTW91c2VNb3ZlLnRpbWUmJnRoaXMuRW0oMSl9WXAoKXt0aGlzLkVtKDApfWN2KCl7cmV0dXJuIHRoaXMuUXZ9RncoKXtyZXR1cm4gdGhpcy5Cd31Xdyh0LGkscyl7KDAsZS5lcXVhbFNpemVzKSh0aGlzLlF2LHQpfHwodGhpcy5Rdj10LHRoaXMucm09ITAsdGhpcy5mbS5yZXNpemVDYW52YXNFbGVtZW50KHQpLHRoaXMucG0ucmVzaXplQ2FudmFzRWxlbWVudCh0KSx0aGlzLnJtPSExLHRoaXMubHYuc3R5bGUud2lkdGg9YCR7dC53aWR0aH1weGAsdGhpcy5sdi5zdHlsZS5oZWlnaHQ9YCR7dC5oZWlnaHR9cHhgLHRoaXMuQncucCh0KSksbnVsbCE9PXRoaXMuRHcmJnRoaXMuRHcuQ20oZS5zaXplKHt3aWR0aDppLGhlaWdodDp0LmhlaWdodH0pKSxudWxsIT09dGhpcy5JdyYmdGhpcy5Jdy5DbShlLnNpemUoe3dpZHRoOnMsaGVpZ2h0OnQuaGVpZ2h0fSkpfUh3KCl7Y29uc3QgdD10aGlzLlV3KCk7cmV0dXJuIE1hdGguY2VpbCh0LlMrdC5DK3Quayt0LkErdC5JK3QuJHcpfWt0KCl7dGhpcy5xdi5RdCgpLkV0KCkuRWwoKX1kdigpe3JldHVybiB0aGlzLmZtLmJpdG1hcFNpemV9ZnYodCxpLHMsZSl7CmNvbnN0IGg9dGhpcy5kdigpO2lmKGgud2lkdGg+MCYmaC5oZWlnaHQ+MCYmKHQuZHJhd0ltYWdlKHRoaXMuZm0uY2FudmFzRWxlbWVudCxpLHMpLGUpKXtjb25zdCBlPXRoaXMucG0uY2FudmFzRWxlbWVudDt0LmRyYXdJbWFnZShlLGkscyl9fWttKHQpe2lmKDA9PT10KXJldHVybjtjb25zdCBpPXtjb2xvclNwYWNlOnRoaXMueW4uY29sb3JTcGFjZX07aWYoMSE9PXQpe3RoaXMuZm0uYXBwbHlTdWdnZXN0ZWRCaXRtYXBTaXplKCk7Y29uc3Qgcz0oMCxlLnRyeUNyZWF0ZUNhbnZhc1JlbmRlcmluZ1RhcmdldDJEKSh0aGlzLmZtLGkpO251bGwhPT1zJiYocy51c2VCaXRtYXBDb29yZGluYXRlU3BhY2UoKHQ9Pnt0aGlzLlRtKHQpLHRoaXMuUm0odCksdGhpcy5qdyhzLEtzKX0pKSx0aGlzLkltKHMpLHRoaXMuancocyxEcykpLG51bGwhPT10aGlzLkR3JiZ0aGlzLkR3LmttKHQpLG51bGwhPT10aGlzLkl3JiZ0aGlzLkl3LmttKHQpfXRoaXMucG0uYXBwbHlTdWdnZXN0ZWRCaXRtYXBTaXplKCk7Y29uc3Qgcz0oMCxlLnRyeUNyZWF0ZUNhbnZhc1JlbmRlcmluZ1RhcmdldDJEKSh0aGlzLnBtLGkpO251bGwhPT1zJiYocy51c2VCaXRtYXBDb29yZGluYXRlU3BhY2UoKCh7Y29udGV4dDp0LGJpdG1hcFNpemU6aX0pPT57dC5jbGVhclJlY3QoMCwwLGkud2lkdGgsaS5oZWlnaHQpfSkpLHRoaXMucXcoWy4uLnRoaXMucXYuUXQoKS5KbigpLHRoaXMucXYuUXQoKS5SZCgpXSxzKSx0aGlzLmp3KHMsT3MpKX1qdyh0LGkpe2NvbnN0IHM9dGhpcy5xdi5RdCgpLkpuKCk7Zm9yKGNvbnN0IGUgb2YgcylOcyhpLChpPT5rcyhpLHQsITEsdm9pZCAwKSksZSx2b2lkIDApO2Zvcihjb25zdCBlIG9mIHMpTnMoaSwoaT0+RXMoaSx0LCExLHZvaWQgMCkpLGUsdm9pZCAwKX1UbSh7Y29udGV4dDp0LGJpdG1hcFNpemU6aX0pe1EodCwwLDAsaS53aWR0aCxpLmhlaWdodCx0aGlzLnF2LlF0KCkuZWYoKSl9Um0oe2NvbnRleHQ6dCxiaXRtYXBTaXplOmksdmVydGljYWxQaXhlbFJhdGlvOnN9KXtpZih0aGlzLnF2Lk4oKS50aW1lU2NhbGUuYm9yZGVyVmlzaWJsZSl7dC5maWxsU3R5bGU9dGhpcy5ZdygpO2NvbnN0IGU9TWF0aC5tYXgoMSxNYXRoLmZsb29yKHRoaXMuVXcoKS5TKnMpKTt0LmZpbGxSZWN0KDAsMCxpLndpZHRoLGUpfX1JbSh0KXtjb25zdCBpPXRoaXMucXYuUXQoKS5FdCgpLHM9aS5FbCgpO2lmKCFzfHwwPT09cy5sZW5ndGgpcmV0dXJuO2NvbnN0IGU9dGhpcy54dS5tYXhUaWNrTWFya1dlaWdodChzKSxoPXRoaXMuVXcoKSxuPWkuTigpO24uYm9yZGVyVmlzaWJsZSYmbi50aWNrc1Zpc2libGUmJnQudXNlQml0bWFwQ29vcmRpbmF0ZVNwYWNlKCgoe2NvbnRleHQ6dCxob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzplfSk9Pnt0LnN0cm9rZVN0eWxlPXRoaXMuWXcoKSx0LmZpbGxTdHlsZT10aGlzLll3KCk7Y29uc3Qgbj1NYXRoLm1heCgxLE1hdGguZmxvb3IoaSkpLHI9TWF0aC5mbG9vciguNSppKTt0LmJlZ2luUGF0aCgpO2NvbnN0IG89TWF0aC5yb3VuZChoLkMqZSk7Zm9yKGxldCBlPXMubGVuZ3RoO2UtLTspe2NvbnN0IGg9TWF0aC5yb3VuZChzW2VdLmNvb3JkKmkpO3QucmVjdChoLXIsMCxuLG8pfXQuZmlsbCgpfSkpLHQudXNlTWVkaWFDb29yZGluYXRlU3BhY2UoKCh7Y29udGV4dDp0fSk9Pntjb25zdCBpPWguUytoLkMraC5BK2guay8yO3QudGV4dEFsaWduPSJjZW50ZXIiLHQudGV4dEJhc2VsaW5lPSJtaWRkbGUiLHQuZmlsbFN0eWxlPXRoaXMuSCgpLHQuZm9udD10aGlzLlNtKCk7Zm9yKGNvbnN0IGggb2YgcylpZihoLndlaWdodDxlKXtjb25zdCBzPWgubmVlZEFsaWduQ29vcmRpbmF0ZT90aGlzLkt3KHQsaC5jb29yZCxoLmxhYmVsKTpoLmNvb3JkO3QuZmlsbFRleHQoaC5sYWJlbCxzLGkpfXRoaXMucXYuTigpLnRpbWVTY2FsZS5hbGxvd0JvbGRMYWJlbHMmJih0LmZvbnQ9dGhpcy5adygpKTtmb3IoY29uc3QgaCBvZiBzKWlmKGgud2VpZ2h0Pj1lKXtjb25zdCBzPWgubmVlZEFsaWduQ29vcmRpbmF0ZT90aGlzLkt3KHQsaC5jb29yZCxoLmxhYmVsKTpoLmNvb3JkO3QuZmlsbFRleHQoaC5sYWJlbCxzLGkpfX0pKX1Ldyh0LGkscyl7Y29uc3QgZT10aGlzLmltLklpKHQscyksaD1lLzIsbj1NYXRoLmZsb29yKGktaCkrLjU7cmV0dXJuIG48MD9pKz1NYXRoLmFicygwLW4pOm4rZT50aGlzLlF2LndpZHRoJiYoaS09TWF0aC5hYnModGhpcy5Rdi53aWR0aC0obitlKSkpLGl9cXcodCxpKXtjb25zdCBzPXRoaXMuVXcoKTtmb3IoY29uc3QgZSBvZiB0KWZvcihjb25zdCB0IG9mIGUuZG4oKSl0LlR0KCkuc3QoaSxzKX1Zdygpe3JldHVybiB0aGlzLnF2Lk4oKS50aW1lU2NhbGUuYm9yZGVyQ29sb3J9SCgpe3JldHVybiB0aGlzLnluLnRleHRDb2xvcn1GKCl7cmV0dXJuIHRoaXMueW4uZm9udFNpemV9U20oKXtyZXR1cm4gXyh0aGlzLkYoKSx0aGlzLnluLmZvbnRGYW1pbHkpfVp3KCl7cmV0dXJuIF8odGhpcy5GKCksdGhpcy55bi5mb250RmFtaWx5LCJib2xkIil9VXcoKXtudWxsPT09dGhpcy5NJiYodGhpcy5NPXtTOjEsTDpOYU4sQTpOYU4sSTpOYU4sdG46TmFOLEM6NSxrOk5hTixQOiIiLFFpOm5ldyBudCwkdzowfSk7Y29uc3QgdD10aGlzLk0saT10aGlzLlNtKCk7aWYodC5QIT09aSl7Y29uc3Qgcz10aGlzLkYoKTt0Lms9cyx0LlA9aSx0LkE9MypzLzEyLHQuST0zKnMvMTIsdC50bj05KnMvMTIsdC5MPTAsdC4kdz00KnMvMTIsdC5RaS5PcygpfXJldHVybiB0aGlzLk19RW0odCl7dGhpcy5sdi5zdHlsZS5jdXJzb3I9MT09PXQ/ImV3LXJlc2l6ZSI6ImRlZmF1bHQifXp3KCl7Y29uc3QgdD10aGlzLnF2LlF0KCksaT10Lk4oKTtpLmxlZnRQcmljZVNjYWxlLnZpc2libGV8fG51bGw9PT10aGlzLkR3fHwodGhpcy5Fdy5yZW1vdmVDaGlsZCh0aGlzLkR3LnV2KCkpLHRoaXMuRHcubSgpLHRoaXMuRHc9bnVsbCksaS5yaWdodFByaWNlU2NhbGUudmlzaWJsZXx8bnVsbD09PXRoaXMuSXd8fCh0aGlzLkF3LnJlbW92ZUNoaWxkKHRoaXMuSXcudXYoKSksdGhpcy5Jdy5tKCksdGhpcy5Jdz1udWxsKTtjb25zdCBzPXtaZDp0aGlzLnF2LlF0KCkuWmQoKQp9LGU9KCk9PmkubGVmdFByaWNlU2NhbGUuYm9yZGVyVmlzaWJsZSYmdC5FdCgpLk4oKS5ib3JkZXJWaXNpYmxlLGg9KCk9PnQuZWYoKTtpLmxlZnRQcmljZVNjYWxlLnZpc2libGUmJm51bGw9PT10aGlzLkR3JiYodGhpcy5Edz1uZXcgV3MoImxlZnQiLGkscyxlLGgpLHRoaXMuRXcuYXBwZW5kQ2hpbGQodGhpcy5Edy51digpKSksaS5yaWdodFByaWNlU2NhbGUudmlzaWJsZSYmbnVsbD09PXRoaXMuSXcmJih0aGlzLkl3PW5ldyBXcygicmlnaHQiLGkscyxlLGgpLHRoaXMuQXcuYXBwZW5kQ2hpbGQodGhpcy5Jdy51digpKSl9fWNvbnN0ICRzPSEhbHMmJiEhbmF2aWdhdG9yLnVzZXJBZ2VudERhdGEmJm5hdmlnYXRvci51c2VyQWdlbnREYXRhLmJyYW5kcy5zb21lKCh0PT50LmJyYW5kLmluY2x1ZGVzKCJDaHJvbWl1bSIpKSkmJiEhbHMmJihuYXZpZ2F0b3I/LnVzZXJBZ2VudERhdGE/LnBsYXRmb3JtPyJXaW5kb3dzIj09PW5hdmlnYXRvci51c2VyQWdlbnREYXRhLnBsYXRmb3JtOm5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ3aW4iKT49MCk7Y2xhc3MgQnN7Y29uc3RydWN0b3IodCxpLHMpe3ZhciBlO3RoaXMuR3c9W10sdGhpcy5Ydz1bXSx0aGlzLkp3PTAsdGhpcy5obz0wLHRoaXMuQ189MCx0aGlzLlF3PTAsdGhpcy50TT0wLHRoaXMuaU09bnVsbCx0aGlzLm5NPSExLHRoaXMuV209bmV3IG0sdGhpcy5IbT1uZXcgbSx0aGlzLnBkPW5ldyBtLHRoaXMuc009bnVsbCx0aGlzLmVNPW51bGwsdGhpcy5qdj10LHRoaXMueW49aSx0aGlzLnh1PXMsdGhpcy5Idj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLkh2LmNsYXNzTGlzdC5hZGQoInR2LWxpZ2h0d2VpZ2h0LWNoYXJ0cyIpLHRoaXMuSHYuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIsdGhpcy5Idi5zdHlsZS5kaXJlY3Rpb249Imx0ciIsdGhpcy5Idi5zdHlsZS53aWR0aD0iMTAwJSIsdGhpcy5Idi5zdHlsZS5oZWlnaHQ9IjEwMCUiLChlPXRoaXMuSHYpLnN0eWxlLnVzZXJTZWxlY3Q9Im5vbmUiLGUuc3R5bGUud2Via2l0VXNlclNlbGVjdD0ibm9uZSIsZS5zdHlsZS5tc1VzZXJTZWxlY3Q9Im5vbmUiLGUuc3R5bGUuTW96VXNlclNlbGVjdD0ibm9uZSIsZS5zdHlsZS53ZWJraXRUYXBIaWdobGlnaHRDb2xvcj0idHJhbnNwYXJlbnQiLHRoaXMuck09ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGFibGUiKSx0aGlzLnJNLnNldEF0dHJpYnV0ZSgiY2VsbHNwYWNpbmciLCIwIiksdGhpcy5Idi5hcHBlbmRDaGlsZCh0aGlzLnJNKSx0aGlzLmhNPXRoaXMuYU0uYmluZCh0aGlzKSxBcyh0aGlzLnluKSYmdGhpcy5sTSghMCksdGhpcy5zbj1uZXcgQmkodGhpcy5tZC5iaW5kKHRoaXMpLHRoaXMueW4scyksdGhpcy5RdCgpLkRkKCkuaSh0aGlzLm9NLmJpbmQodGhpcyksdGhpcyksdGhpcy5fTT1uZXcgVnModGhpcyx0aGlzLnh1KSx0aGlzLnJNLmFwcGVuZENoaWxkKHRoaXMuX00udXYoKSk7Y29uc3QgaD1pLmF1dG9TaXplJiZ0aGlzLnVNKCk7bGV0IG49dGhpcy55bi53aWR0aCxyPXRoaXMueW4uaGVpZ2h0O2lmKGh8fDA9PT1ufHwwPT09cil7Y29uc3QgaT10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO249bnx8aS53aWR0aCxyPXJ8fGkuaGVpZ2h0fXRoaXMuY00obixyKSx0aGlzLmRNKCksdC5hcHBlbmRDaGlsZCh0aGlzLkh2KSx0aGlzLmZNKCksdGhpcy5zbi5FdCgpLlpjKCkuaSh0aGlzLnNuLlBhLmJpbmQodGhpcy5zbiksdGhpcyksdGhpcy5zbi5MXygpLmkodGhpcy5zbi5QYS5iaW5kKHRoaXMuc24pLHRoaXMpfVF0KCl7cmV0dXJuIHRoaXMuc259Tigpe3JldHVybiB0aGlzLnlufXJ2KCl7cmV0dXJuIHRoaXMuR3d9cE0oKXtyZXR1cm4gdGhpcy5fTX1tKCl7dGhpcy5sTSghMSksMCE9PXRoaXMuSncmJndpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLkp3KSx0aGlzLnNuLkRkKCkudSh0aGlzKSx0aGlzLnNuLkV0KCkuWmMoKS51KHRoaXMpLHRoaXMuc24uTF8oKS51KHRoaXMpLHRoaXMuc24ubSgpO2Zvcihjb25zdCB0IG9mIHRoaXMuR3cpdGhpcy5yTS5yZW1vdmVDaGlsZCh0LnV2KCkpLHQuZHcoKS51KHRoaXMpLHQuZncoKS51KHRoaXMpLHQubSgpO3RoaXMuR3c9W107Zm9yKGNvbnN0IHQgb2YgdGhpcy5Ydyl0aGlzLnZNKHQpO3RoaXMuWHc9W10sZih0aGlzLl9NKS5tKCksbnVsbCE9PXRoaXMuSHYucGFyZW50RWxlbWVudCYmdGhpcy5Idi5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuSHYpLHRoaXMucGQubSgpLHRoaXMuV20ubSgpLHRoaXMuSG0ubSgpLHRoaXMubU0oKX1jTSh0LGkscz0hMSl7aWYodGhpcy5obz09PWkmJnRoaXMuQ189PT10KXJldHVybjtjb25zdCBoPWZ1bmN0aW9uKHQpe2NvbnN0IGk9TWF0aC5mbG9vcih0LndpZHRoKSxzPU1hdGguZmxvb3IodC5oZWlnaHQpO3JldHVybiBlLnNpemUoe3dpZHRoOmktaSUyLGhlaWdodDpzLXMlMn0pfShlLnNpemUoe3dpZHRoOnQsaGVpZ2h0Oml9KSk7dGhpcy5obz1oLmhlaWdodCx0aGlzLkNfPWgud2lkdGg7Y29uc3Qgbj10aGlzLmhvKyJweCIscj10aGlzLkNfKyJweCI7aWYodGhpcy53TSgpfHwoZih0aGlzLkh2KS5zdHlsZS5oZWlnaHQ9bixmKHRoaXMuSHYpLnN0eWxlLndpZHRoPXIpLHRoaXMuck0uc3R5bGUuaGVpZ2h0PW4sdGhpcy5yTS5zdHlsZS53aWR0aD1yLHMpezAhPT10aGlzLkp3JiYod2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuSncpLHRoaXMuSnc9MCksdGhpcy5uTT0hMTtjb25zdCB0PVgueXMoKTtudWxsIT09dGhpcy5pTSYmKHQuU3ModGhpcy5pTSksdGhpcy5pTT1udWxsKSx0aGlzLk1NKHQscGVyZm9ybWFuY2Uubm93KCkpfWVsc2UgdGhpcy5zbi5QYSgpfWttKHQpe3ZvaWQgMD09PXQmJih0PVgueXMoKSk7Zm9yKGxldCBpPTA7aTx0aGlzLkd3Lmxlbmd0aDtpKyspdGhpcy5Hd1tpXS5rbSh0Ll9zKGkpLnJzKTt0aGlzLnluLnRpbWVTY2FsZS52aXNpYmxlJiZ0aGlzLl9NLmttKHQubHMoKSl9dnIodCl7Y29uc3QgaT1Bcyh0aGlzLnluKTt0aGlzLnNuLnZyKHQpO2NvbnN0IHM9QXModGhpcy55bik7cyE9PWkmJnRoaXMubE0ocyksdC5sYXlvdXQ/LnBhbmVzJiZ0aGlzLmdNKCksdGhpcy5mTSgpLAp0aGlzLmJNKHQpfWR3KCl7cmV0dXJuIHRoaXMuV219ZncoKXtyZXR1cm4gdGhpcy5IbX1EZCgpe3JldHVybiB0aGlzLnBkfVNNKHQ9ITEpe251bGwhPT10aGlzLmlNJiYodGhpcy5NTSh0aGlzLmlNLHBlcmZvcm1hbmNlLm5vdygpKSx0aGlzLmlNPW51bGwpO2NvbnN0IGk9dGhpcy54TShudWxsKSxzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpO3Mud2lkdGg9aS53aWR0aCxzLmhlaWdodD1pLmhlaWdodDtjb25zdCBlPWYocy5nZXRDb250ZXh0KCIyZCIpKTtyZXR1cm4gdGhpcy54TShlLHQpLHN9Q00odCl7cmV0dXJuKCJsZWZ0IiE9PXR8fHRoaXMueU0oKSkmJigicmlnaHQiIT09dHx8dGhpcy5rTSgpKT8wPT09dGhpcy5Hdy5sZW5ndGg/MDpmKCJsZWZ0Ij09PXQ/dGhpcy5Hd1swXS5TdygpOnRoaXMuR3dbMF0ueHcoKSkueW0oKTowfXdNKCl7cmV0dXJuIHRoaXMueW4uYXV0b1NpemUmJm51bGwhPT10aGlzLnNNfXZ2KCl7cmV0dXJuIHRoaXMuSHZ9UE0odCl7dGhpcy5lTT10LHRoaXMuZU0/dGhpcy52digpLnN0eWxlLnNldFByb3BlcnR5KCJjdXJzb3IiLHQpOnRoaXMudnYoKS5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgiY3Vyc29yIil9VE0oKXtyZXR1cm4gdGhpcy5lTX1STSh0KXtyZXR1cm4gYyh0aGlzLkd3W3RdKS5jdigpfWdNKCl7dGhpcy5Ydy5mb3JFYWNoKCh0PT57dC5rdCgpfSkpfWJNKHQpeyh2b2lkIDAhPT10LmF1dG9TaXplfHwhdGhpcy5zTXx8dm9pZCAwPT09dC53aWR0aCYmdm9pZCAwPT09dC5oZWlnaHQpJiYodC5hdXRvU2l6ZSYmIXRoaXMuc00mJnRoaXMudU0oKSwhMT09PXQuYXV0b1NpemUmJm51bGwhPT10aGlzLnNNJiZ0aGlzLm1NKCksdC5hdXRvU2l6ZXx8dm9pZCAwPT09dC53aWR0aCYmdm9pZCAwPT09dC5oZWlnaHR8fHRoaXMuY00odC53aWR0aHx8dGhpcy5DXyx0LmhlaWdodHx8dGhpcy5obykpfXhNKHQsaSl7bGV0IHM9MCxoPTA7Y29uc3Qgbj10aGlzLkd3WzBdLHI9KHMsZSk9PntsZXQgaD0wO2ZvcihsZXQgbj0wO248dGhpcy5Hdy5sZW5ndGg7bisrKXtjb25zdCByPXRoaXMuR3dbbl0sbz1mKCJsZWZ0Ij09PXM/ci5TdygpOnIueHcoKSksbD1vLmR2KCk7aWYobnVsbCE9PXQmJm8uZnYodCxlLGgsaSksaCs9bC5oZWlnaHQsbjx0aGlzLkd3Lmxlbmd0aC0xKXtjb25zdCBpPXRoaXMuWHdbbl0scz1pLmR2KCk7bnVsbCE9PXQmJmkuZnYodCxlLGgpLGgrPXMuaGVpZ2h0fX19O3RoaXMueU0oKSYmKHIoImxlZnQiLDApLHMrPWYobi5TdygpKS5kdigpLndpZHRoKTtmb3IobGV0IGU9MDtlPHRoaXMuR3cubGVuZ3RoO2UrKyl7Y29uc3Qgbj10aGlzLkd3W2VdLHI9bi5kdigpO2lmKG51bGwhPT10JiZuLmZ2KHQscyxoLGkpLGgrPXIuaGVpZ2h0LGU8dGhpcy5Hdy5sZW5ndGgtMSl7Y29uc3QgaT10aGlzLlh3W2VdLG49aS5kdigpO251bGwhPT10JiZpLmZ2KHQscyxoKSxoKz1uLmhlaWdodH19cys9bi5kdigpLndpZHRoLHRoaXMua00oKSYmKHIoInJpZ2h0IixzKSxzKz1mKG4ueHcoKSkuZHYoKS53aWR0aCk7Y29uc3Qgbz0oaSxzLGUpPT57ZigibGVmdCI9PT1pP3RoaXMuX00uT3coKTp0aGlzLl9NLk53KCkpLmZ2KGYodCkscyxlKX07aWYodGhpcy55bi50aW1lU2NhbGUudmlzaWJsZSl7Y29uc3Qgcz10aGlzLl9NLmR2KCk7aWYobnVsbCE9PXQpe2xldCBlPTA7dGhpcy55TSgpJiYobygibGVmdCIsZSxoKSxlPWYobi5TdygpKS5kdigpLndpZHRoKSx0aGlzLl9NLmZ2KHQsZSxoLGkpLGUrPXMud2lkdGgsdGhpcy5rTSgpJiZvKCJyaWdodCIsZSxoKX1oKz1zLmhlaWdodH1yZXR1cm4gZS5zaXplKHt3aWR0aDpzLGhlaWdodDpofSl9RE0oKXtsZXQgdD0wLGk9MCxzPTA7Zm9yKGNvbnN0IGUgb2YgdGhpcy5Hdyl0aGlzLnlNKCkmJihpPU1hdGgubWF4KGksZihlLlN3KCkpLmJtKCksdGhpcy55bi5sZWZ0UHJpY2VTY2FsZS5taW5pbXVtV2lkdGgpKSx0aGlzLmtNKCkmJihzPU1hdGgubWF4KHMsZihlLnh3KCkpLmJtKCksdGhpcy55bi5yaWdodFByaWNlU2NhbGUubWluaW11bVdpZHRoKSksdCs9ZS56XygpO2k9ZnMoaSkscz1mcyhzKTtjb25zdCBoPXRoaXMuQ18sbj10aGlzLmhvLHI9TWF0aC5tYXgoaC1pLXMsMCksbz0xKnRoaXMuWHcubGVuZ3RoLGw9dGhpcy55bi50aW1lU2NhbGUudmlzaWJsZTtsZXQgYT1sP01hdGgubWF4KHRoaXMuX00uSHcoKSx0aGlzLnluLnRpbWVTY2FsZS5taW5pbXVtSGVpZ2h0KTowO3ZhciB1O2E9KHU9YSkrdSUyO2NvbnN0IGM9bythLGQ9bjxjPzA6bi1jLG09ZC90O2xldCBwPTA7Y29uc3QgZz13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MTtmb3IobGV0IHQ9MDt0PHRoaXMuR3cubGVuZ3RoOysrdCl7Y29uc3QgaD10aGlzLkd3W3RdO2guaXcodGhpcy5zbi5abigpW3RdKTtsZXQgbj0wLG89MDtvPXQ9PT10aGlzLkd3Lmxlbmd0aC0xP01hdGguY2VpbCgoZC1wKSpnKS9nOk1hdGgucm91bmQoaC56XygpKm0qZykvZyxuPU1hdGgubWF4KG8sMikscCs9bixoLkNtKGUuc2l6ZSh7d2lkdGg6cixoZWlnaHQ6bn0pKSx0aGlzLnlNKCkmJmgubXcoaSwibGVmdCIpLHRoaXMua00oKSYmaC5tdyhzLCJyaWdodCIpLGguU3YoKSYmdGhpcy5zbi5JZChoLlN2KCksbil9dGhpcy5fTS5XdyhlLnNpemUoe3dpZHRoOmw/cjowLGhlaWdodDphfSksbD9pOjAsbD9zOjApLHRoaXMuc24uTl8ociksdGhpcy5RdyE9PWkmJih0aGlzLlF3PWkpLHRoaXMudE0hPT1zJiYodGhpcy50TT1zKX1sTSh0KXt0P3RoaXMuSHYuYWRkRXZlbnRMaXN0ZW5lcigid2hlZWwiLHRoaXMuaE0se3Bhc3NpdmU6ITF9KTp0aGlzLkh2LnJlbW92ZUV2ZW50TGlzdGVuZXIoIndoZWVsIix0aGlzLmhNKX1JTSh0KXtzd2l0Y2godC5kZWx0YU1vZGUpe2Nhc2UgdC5ET01fREVMVEFfUEFHRTpyZXR1cm4gMTIwO2Nhc2UgdC5ET01fREVMVEFfTElORTpyZXR1cm4gMzJ9cmV0dXJuICRzPzEvd2luZG93LmRldmljZVBpeGVsUmF0aW86MX1hTSh0KXtpZighKDAhPT10LmRlbHRhWCYmdGhpcy55bi5oYW5kbGVTY3JvbGwubW91c2VXaGVlbHx8MCE9PXQuZGVsdGFZJiZ0aGlzLnluLmhhbmRsZVNjYWxlLm1vdXNlV2hlZWwpKXJldHVybgo7Y29uc3QgaT10aGlzLklNKHQpLHM9aSp0LmRlbHRhWC8xMDAsZT0taSp0LmRlbHRhWS8xMDA7aWYodC5jYW5jZWxhYmxlJiZ0LnByZXZlbnREZWZhdWx0KCksMCE9PWUmJnRoaXMueW4uaGFuZGxlU2NhbGUubW91c2VXaGVlbCl7Y29uc3QgaT1NYXRoLnNpZ24oZSkqTWF0aC5taW4oMSxNYXRoLmFicyhlKSkscz10LmNsaWVudFgtdGhpcy5Idi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0O3RoaXMuUXQoKS5PZChzLGkpfTAhPT1zJiZ0aGlzLnluLmhhbmRsZVNjcm9sbC5tb3VzZVdoZWVsJiZ0aGlzLlF0KCkuTmQoLTgwKnMpfU1NKHQsaSl7Y29uc3Qgcz10LmxzKCk7Mz09PXMmJnRoaXMuVk0oKSwzIT09cyYmMiE9PXN8fCh0aGlzLkJNKHQpLHRoaXMuRU0odCxpKSx0aGlzLl9NLmt0KCksdGhpcy5Hdy5mb3JFYWNoKCh0PT57dC5zdygpfSkpLDM9PT10aGlzLmlNPy5scygpJiYodGhpcy5pTS5Tcyh0KSx0aGlzLlZNKCksdGhpcy5CTSh0aGlzLmlNKSx0aGlzLkVNKHRoaXMuaU0saSksdD10aGlzLmlNLHRoaXMuaU09bnVsbCkpLHRoaXMua20odCl9RU0odCxpKXtmb3IoY29uc3QgcyBvZiB0LmJzKCkpdGhpcy54cyhzLGkpfUJNKHQpe2NvbnN0IGk9dGhpcy5zbi5abigpO2ZvcihsZXQgcz0wO3M8aS5sZW5ndGg7cysrKXQuX3MocykuaHMmJmlbc10ucnUoKX14cyh0LGkpe2NvbnN0IHM9dGhpcy5zbi5FdCgpO3N3aXRjaCh0LmRzKXtjYXNlIDA6cy5YYygpO2JyZWFrO2Nhc2UgMTpzLkpjKHQuV3QpO2JyZWFrO2Nhc2UgMjpzLk1zKHQuV3QpO2JyZWFrO2Nhc2UgMzpzLmdzKHQuV3QpO2JyZWFrO2Nhc2UgNDpzLk9jKCk7YnJlYWs7Y2FzZSA1OnQuV3QuamMoaSl8fHMuZ3ModC5XdC5xYyhpKSl9fW1kKHQpe251bGwhPT10aGlzLmlNP3RoaXMuaU0uU3ModCk6dGhpcy5pTT10LHRoaXMubk18fCh0aGlzLm5NPSEwLHRoaXMuSnc9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgodD0+e2lmKHRoaXMubk09ITEsdGhpcy5Kdz0wLG51bGwhPT10aGlzLmlNKXtjb25zdCBpPXRoaXMuaU07dGhpcy5pTT1udWxsLHRoaXMuTU0oaSx0KTtmb3IoY29uc3QgcyBvZiBpLmJzKCkpaWYoNT09PXMuZHMmJiFzLld0LmpjKHQpKXt0aGlzLlF0KCkucHMocy5XdCk7YnJlYWt9fX0pKSl9Vk0oKXt0aGlzLmRNKCl9dk0odCl7dGhpcy5yTS5yZW1vdmVDaGlsZCh0LnV2KCkpLHQubSgpfWRNKCl7Y29uc3QgdD10aGlzLnNuLlpuKCksaT10Lmxlbmd0aCxzPXRoaXMuR3cubGVuZ3RoO2ZvcihsZXQgdD1pO3Q8czt0Kyspe2NvbnN0IHQ9Yyh0aGlzLkd3LnBvcCgpKTt0aGlzLnJNLnJlbW92ZUNoaWxkKHQudXYoKSksdC5kdygpLnUodGhpcyksdC5mdygpLnUodGhpcyksdC5tKCk7Y29uc3QgaT10aGlzLlh3LnBvcCgpO3ZvaWQgMCE9PWkmJnRoaXMudk0oaSl9Zm9yKGxldCBlPXM7ZTxpO2UrKyl7Y29uc3QgaT1uZXcgcXModGhpcyx0W2VdKTtpZihpLmR3KCkuaSh0aGlzLkFNLmJpbmQodGhpcyxpKSx0aGlzKSxpLmZ3KCkuaSh0aGlzLkxNLmJpbmQodGhpcyxpKSx0aGlzKSx0aGlzLkd3LnB1c2goaSksZT4wKXtjb25zdCB0PW5ldyB3cyh0aGlzLGUtMSxlKTt0aGlzLlh3LnB1c2godCksdGhpcy5yTS5pbnNlcnRCZWZvcmUodC51digpLHRoaXMuX00udXYoKSl9dGhpcy5yTS5pbnNlcnRCZWZvcmUoaS51digpLHRoaXMuX00udXYoKSl9Zm9yKGxldCBzPTA7czxpO3MrKyl7Y29uc3QgaT10W3NdLGU9dGhpcy5Hd1tzXTtlLlN2KCkhPT1pP2UuaXcoaSk6ZS50dygpfXRoaXMuZk0oKSx0aGlzLkRNKCl9ek0odCxpLHMsZSl7Y29uc3QgaD1uZXcgTWFwO2xldCBuO2lmKG51bGwhPT10JiZ0aGlzLnNuLkpuKCkuZm9yRWFjaCgoaT0+e2NvbnN0IHM9aS5VbigpLkhuKHQpO251bGwhPT1zJiZoLnNldChpLHMpfSkpLG51bGwhPT10KXtjb25zdCBpPXRoaXMuc24uRXQoKS5lbih0KT8ub3JpZ2luYWxUaW1lO3ZvaWQgMCE9PWkmJihuPWkpfWNvbnN0IHI9dGhpcy5RdCgpLm91KCksbz10aGlzLk9NKGUpLGw9ZnVuY3Rpb24odCxpKXtjb25zdCBzPW51bGwhPT10JiZ0Lmx1IGluc3RhbmNlb2YganQ/dC5sdTp2b2lkIDAsZT10Py53dT8udGUsaD12b2lkIDAhPT1pJiYtMSE9PWk/aTp2b2lkIDA7cmV0dXJuIG51bGw9PT10fHx2b2lkIDA9PT10LmVlP3tOTTpzLEZNOmV9OntOTTpzLEZNOmUsV006e2RzOnQuZWUsSE06KG49dC5sdSxyPXQuZWUsbiBpbnN0YW5jZW9mIF9pPyJwYW5lLXByaW1pdGl2ZSI6Im1hcmtlciI9PT1yfHwicHJpbWl0aXZlIj09PXI/InNlcmllcy1wcmltaXRpdmUiOiJzZXJpZXMiKSxVTTpjcyh0LmVlLGUpLFVfOnMsJE06ZSxqTTpofX07dmFyIG4scn0ocixvKTtyZXR1cm57UXI6biwkbjp0Pz92b2lkIDAscU06aT8/dm9pZCAwLGpNOi0xIT09bz9vOnZvaWQgMCxOTTpsLk5NLFlNOmgsRk06bC5GTSxXTTpsLldNLEtNOnM/P3ZvaWQgMH19T00odCl7bGV0IGk9LTE7aWYodClpPXRoaXMuR3cuaW5kZXhPZih0KTtlbHNle2NvbnN0IHQ9dGhpcy5RdCgpLlJkKCkuS24oKTtudWxsIT09dCYmKGk9dGhpcy5RdCgpLlpuKCkuaW5kZXhPZih0KSl9cmV0dXJuIGl9QU0odCxpLHMsZSl7dGhpcy5XbS5wKCgoKT0+dGhpcy56TShpLHMsZSx0KSkpfUxNKHQsaSxzLGUpe3RoaXMuSG0ucCgoKCk9PnRoaXMuek0oaSxzLGUsdCkpKX1vTSh0LGkscyl7dGhpcy5QTSh0aGlzLlF0KCkub3UoKT8ubXU/P251bGwpLHRoaXMucGQucCgoKCk9PnRoaXMuek0odCxpLHMpKSl9Zk0oKXtjb25zdCB0PXRoaXMueW4udGltZVNjYWxlLnZpc2libGU/IiI6Im5vbmUiO3RoaXMuX00udXYoKS5zdHlsZS5kaXNwbGF5PXR9eU0oKXtyZXR1cm4gdGhpcy5Hd1swXS5TdigpLktfKCkuTigpLnZpc2libGV9a00oKXtyZXR1cm4gdGhpcy5Hd1swXS5TdigpLlpfKCkuTigpLnZpc2libGV9dU0oKXtyZXR1cm4iUmVzaXplT2JzZXJ2ZXIiaW4gd2luZG93JiYodGhpcy5zTT1uZXcgUmVzaXplT2JzZXJ2ZXIoKHQ9Pntjb25zdCBpPXRbdC5sZW5ndGgtMV07aWYoIWkpcmV0dXJuO2NvbnN0IHM9aS5jb250ZW50UmVjdC53aWR0aCxlPWkuY29udGVudFJlY3QuaGVpZ2h0O3RoaXMuY00ocyxlLCEwKX0pKSx0aGlzLnNNLm9ic2VydmUodGhpcy5qdix7CmJveDoiYm9yZGVyLWJveCJ9KSwhMCl9bU0oKXtudWxsIT09dGhpcy5zTSYmdGhpcy5zTS5kaXNjb25uZWN0KCksdGhpcy5zTT1udWxsfX1mdW5jdGlvbiBBcyh0KXtyZXR1cm4gQm9vbGVhbih0LmhhbmRsZVNjcm9sbC5tb3VzZVdoZWVsfHx0LmhhbmRsZVNjYWxlLm1vdXNlV2hlZWwpfWZ1bmN0aW9uIFpzKHQpe3JldHVybiB2b2lkIDA9PT10Lm9wZW4mJnZvaWQgMD09PXQudmFsdWV9ZnVuY3Rpb24gSHModCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDAhPT10Lm9wZW59KHQpfHxmdW5jdGlvbih0KXtyZXR1cm4gdm9pZCAwIT09dC52YWx1ZX0odCl9ZnVuY3Rpb24gR3ModCxpLHMsZSl7Y29uc3QgaD1zLnZhbHVlLG49eyRuOmksd3Q6dCxXdDpbaCxoLGgsaF0sUXI6ZX07cmV0dXJuIHZvaWQgMCE9PXMuY29sb3ImJihuLlI9cy5jb2xvciksbn1mdW5jdGlvbiBVcyh0LGkscyxlKXtjb25zdCBoPXMudmFsdWUsbj17JG46aSx3dDp0LFd0OltoLGgsaCxoXSxRcjplfTtyZXR1cm4gdm9pZCAwIT09cy5saW5lQ29sb3ImJihuLnZ0PXMubGluZUNvbG9yKSx2b2lkIDAhPT1zLnRvcENvbG9yJiYobi5haD1zLnRvcENvbG9yKSx2b2lkIDAhPT1zLmJvdHRvbUNvbG9yJiYobi5vaD1zLmJvdHRvbUNvbG9yKSxufWZ1bmN0aW9uIFlzKHQsaSxzLGUpe2NvbnN0IGg9cy52YWx1ZSxuPXskbjppLHd0OnQsV3Q6W2gsaCxoLGhdLFFyOmV9O3JldHVybiB2b2lkIDAhPT1zLnRvcExpbmVDb2xvciYmKG4uX2g9cy50b3BMaW5lQ29sb3IpLHZvaWQgMCE9PXMuYm90dG9tTGluZUNvbG9yJiYobi51aD1zLmJvdHRvbUxpbmVDb2xvciksdm9pZCAwIT09cy50b3BGaWxsQ29sb3IxJiYobi5kaD1zLnRvcEZpbGxDb2xvcjEpLHZvaWQgMCE9PXMudG9wRmlsbENvbG9yMiYmKG4uZmg9cy50b3BGaWxsQ29sb3IyKSx2b2lkIDAhPT1zLmJvdHRvbUZpbGxDb2xvcjEmJihuLnBoPXMuYm90dG9tRmlsbENvbG9yMSksdm9pZCAwIT09cy5ib3R0b21GaWxsQ29sb3IyJiYobi5taD1zLmJvdHRvbUZpbGxDb2xvcjIpLG59ZnVuY3Rpb24ganModCxpLHMsZSl7Y29uc3QgaD17JG46aSx3dDp0LFd0OltzLm9wZW4scy5oaWdoLHMubG93LHMuY2xvc2VdLFFyOmV9O3JldHVybiB2b2lkIDAhPT1zLmNvbG9yJiYoaC5SPXMuY29sb3IpLGh9ZnVuY3Rpb24gWHModCxpLHMsZSl7Y29uc3QgaD17JG46aSx3dDp0LFd0OltzLm9wZW4scy5oaWdoLHMubG93LHMuY2xvc2VdLFFyOmV9O3JldHVybiB2b2lkIDAhPT1zLmNvbG9yJiYoaC5SPXMuY29sb3IpLHZvaWQgMCE9PXMuYm9yZGVyQ29sb3ImJihoLkh0PXMuYm9yZGVyQ29sb3IpLHZvaWQgMCE9PXMud2lja0NvbG9yJiYoaC5oaD1zLndpY2tDb2xvciksaH1mdW5jdGlvbiBKcyh0LGkscyxlLGgpe2NvbnN0IG49YyhoKShzKSxyPU1hdGgubWF4KC4uLm4pLG89TWF0aC5taW4oLi4ubiksbD1uW24ubGVuZ3RoLTFdLGE9W2wscixvLGxdLHt0aW1lOnUsY29sb3I6ZiwuLi5kfT1zO3JldHVybnskbjppLHd0OnQsV3Q6YSxRcjplLHVlOmQsUjpmfX1mdW5jdGlvbiB0ZSh0KXtyZXR1cm4gdm9pZCAwIT09dC5XdH1mdW5jdGlvbiBpZSh0LGkpe3JldHVybiB2b2lkIDAhPT1pLmN1c3RvbVZhbHVlcyYmKHQuWk09aS5jdXN0b21WYWx1ZXMpLHR9ZnVuY3Rpb24gc2UodCl7cmV0dXJuKGkscyxlLGgsbixyKT0+ZnVuY3Rpb24odCxpKXtyZXR1cm4gaT9pKHQpOlpzKHQpfShlLHIpP2llKHt3dDppLCRuOnMsUXI6aH0sZSk6aWUodChpLHMsZSxoLG4pLGUpfWZ1bmN0aW9uIGVlKHQpe3JldHVybntDYW5kbGVzdGljazpzZShYcyksQmFyOnNlKGpzKSxBcmVhOnNlKFVzKSxCYXNlbGluZTpzZShZcyksSGlzdG9ncmFtOnNlKEdzKSxMaW5lOnNlKEdzKSxDdXN0b206c2UoSnMpfVt0XX1mdW5jdGlvbiBoZSh0KXtyZXR1cm57JG46MCxHTTpuZXcgTWFwLHphOnR9fWZ1bmN0aW9uIG5lKHQsaSl7aWYodm9pZCAwIT09dCYmMCE9PXQubGVuZ3RoKXJldHVybntYTTppLmtleSh0WzBdLnd0KSxKTTppLmtleSh0W3QubGVuZ3RoLTFdLnd0KX19ZnVuY3Rpb24gcmUodCl7bGV0IGk7cmV0dXJuIHQuZm9yRWFjaCgodD0+e3ZvaWQgMD09PWkmJihpPXQuUXIpfSkpLGMoaSl9Y2xhc3Mgb2V7Y29uc3RydWN0b3IodCl7dGhpcy5RTT1uZXcgTWFwLHRoaXMudGc9bmV3IE1hcCx0aGlzLmlnPW5ldyBNYXAsdGhpcy5uZz1bXSx0aGlzLnh1PXR9bSgpe3RoaXMuUU0uY2xlYXIoKSx0aGlzLnRnLmNsZWFyKCksdGhpcy5pZy5jbGVhcigpLHRoaXMubmc9W119c2codCxpKXtsZXQgcz0wIT09dGhpcy5RTS5zaXplLGU9ITE7Y29uc3QgaD10aGlzLnRnLmdldCh0KTtpZih2b2lkIDAhPT1oKWlmKDE9PT10aGlzLnRnLnNpemUpcz0hMSxlPSEwLHRoaXMuUU0uY2xlYXIoKTtlbHNlIGZvcihjb25zdCBpIG9mIHRoaXMubmcpaS5wb2ludERhdGEuR00uZGVsZXRlKHQpJiYoZT0hMCk7bGV0IG49W107aWYoMCE9PWkubGVuZ3RoKXtjb25zdCBzPWkubWFwKCh0PT50LnRpbWUpKSxoPXRoaXMueHUuY3JlYXRlQ29udmVydGVyVG9JbnRlcm5hbE9iaihpKSxyPWVlKHQuYmgoKSksbz10LmxsKCksbD10Lm9sKCk7bj1pLm1hcCgoKGksbik9Pntjb25zdCBhPWgoaS50aW1lKSx1PXRoaXMueHUua2V5KGEpO2xldCBjPXRoaXMuUU0uZ2V0KHUpO3ZvaWQgMD09PWMmJihjPWhlKGEpLHRoaXMuUU0uc2V0KHUsYyksZT0hMCk7Y29uc3QgZj1yKGEsYy4kbixpLHNbbl0sbyxsKTtyZXR1cm4gYy5HTS5zZXQodCxmKSxmfSkpfXMmJnRoaXMuZWcoKSx0aGlzLnJnKHQsbik7bGV0IHI9LTE7aWYoZSl7Y29uc3QgdD1bXTt0aGlzLlFNLmZvckVhY2goKGk9Pnt0LnB1c2goe3RpbWVXZWlnaHQ6MCx0aW1lOmkuemEscG9pbnREYXRhOmksb3JpZ2luYWxUaW1lOnJlKGkuR00pfSl9KSksdC5zb3J0KCgodCxpKT0+dGhpcy54dS5rZXkodC50aW1lKS10aGlzLnh1LmtleShpLnRpbWUpKSkscj10aGlzLmhnKHQpfXJldHVybiB0aGlzLmFnKHQscixmdW5jdGlvbih0LGkscyl7Y29uc3QgZT1uZSh0LHMpLGg9bmUoaSxzKTtpZih2b2lkIDAhPT1lJiZ2b2lkIDAhPT1oKXJldHVybntsZzohMSxJYTplLkpNPj1oLkpNJiZlLlhNPj1oLlhNfQp9KHRoaXMudGcuZ2V0KHQpLGgsdGhpcy54dSkpfUpkKHQpe3JldHVybiB0aGlzLnNnKHQsW10pfW9nKHQsaSxzKXtpZihzJiZ0Lk5hKCkpdGhyb3cgbmV3IEVycm9yKCJIaXN0b3JpY2FsIHVwZGF0ZXMgYXJlIG5vdCBzdXBwb3J0ZWQgd2hlbiBjb25mbGF0aW9uIGlzIGVuYWJsZWQuIENvbmZsYXRpb24gcmVxdWlyZXMgZGF0YSB0byBiZSBwcm9jZXNzZWQgaW4gb3JkZXIuIik7Y29uc3QgZT1pOyFmdW5jdGlvbih0KXt2b2lkIDA9PT10LlFyJiYodC5Rcj10LnRpbWUpfShlKSx0aGlzLnh1LnByZXByb2Nlc3NEYXRhKGkpO2NvbnN0IGg9dGhpcy54dS5jcmVhdGVDb252ZXJ0ZXJUb0ludGVybmFsT2JqKFtpXSkoaS50aW1lKSxuPXRoaXMuaWcuZ2V0KHQpO2lmKCFzJiZ2b2lkIDAhPT1uJiZ0aGlzLnh1LmtleShoKTx0aGlzLnh1LmtleShuKSl0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCB1cGRhdGUgb2xkZXN0IGRhdGEsIGxhc3QgdGltZT0ke259LCBuZXcgdGltZT0ke2h9YCk7bGV0IHI9dGhpcy5RTS5nZXQodGhpcy54dS5rZXkoaCkpO2lmKHMmJnZvaWQgMD09PXIpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgdXBkYXRlIG5vbi1leGlzdGluZyBkYXRhIHBvaW50IHdoZW4gaGlzdG9yaWNhbFVwZGF0ZSBpcyB0cnVlIik7Y29uc3Qgbz12b2lkIDA9PT1yO3ZvaWQgMD09PXImJihyPWhlKGgpLHRoaXMuUU0uc2V0KHRoaXMueHUua2V5KGgpLHIpKTtjb25zdCBsPWVlKHQuYmgoKSksYT10LmxsKCksdT10Lm9sKCksYz1sKGgsci4kbixpLGUuUXIsYSx1KSxmPSFzJiYhbyYmdm9pZCAwIT09biYmdGhpcy54dS5rZXkoaCk9PT10aGlzLnh1LmtleShuKTtyLkdNLnNldCh0LGMpLHM/dGhpcy5fZyh0LGMsci4kbik6ZiYmdC5OYSgpJiZ0ZShjKT8odC5ScihjKSx0aGlzLnVnKHQsYykpOnRoaXMudWcodCxjKTtjb25zdCBkPXtJYTp0ZShjKSxsZzpzfTtpZighbylyZXR1cm4gdGhpcy5hZyh0LC0xLGQpO2NvbnN0IG09e3RpbWVXZWlnaHQ6MCx0aW1lOnIuemEscG9pbnREYXRhOnIsb3JpZ2luYWxUaW1lOnJlKHIuR00pfSxwPU50KHRoaXMubmcsdGhpcy54dS5rZXkobS50aW1lKSwoKHQsaSk9PnRoaXMueHUua2V5KHQudGltZSk8aSkpO3RoaXMubmcuc3BsaWNlKHAsMCxtKTtmb3IobGV0IHQ9cDt0PHRoaXMubmcubGVuZ3RoOysrdClsZSh0aGlzLm5nW3RdLnBvaW50RGF0YSx0KTtyZXR1cm4gdGhpcy54dS5maWxsV2VpZ2h0c0ZvclBvaW50cyh0aGlzLm5nLHApLHRoaXMuYWcodCxwLGQpfWNnKHQsaSl7Y29uc3Qgcz10aGlzLnRnLmdldCh0KTtpZih2b2lkIDA9PT1zfHxpPD0wKXJldHVybltbXSx0aGlzLmRnKCldO2k9TWF0aC5taW4oaSxzLmxlbmd0aCk7Y29uc3QgZT1zLnNwbGljZSgtaSkucmV2ZXJzZSgpOzA9PT1zLmxlbmd0aD90aGlzLmlnLmRlbGV0ZSh0KTp0aGlzLmlnLnNldCh0LHNbcy5sZW5ndGgtMV0ud3QpO2Zvcihjb25zdCBpIG9mIGUpe2NvbnN0IHM9dGhpcy5RTS5nZXQodGhpcy54dS5rZXkoaS53dCkpO2lmKHMmJihzLkdNLmRlbGV0ZSh0KSwwPT09cy5HTS5zaXplKSl7dGhpcy5RTS5kZWxldGUodGhpcy54dS5rZXkocy56YSkpLHRoaXMubmcuc3BsaWNlKHMuJG4sMSk7Zm9yKGxldCB0PXMuJG47dDx0aGlzLm5nLmxlbmd0aDsrK3QpbGUodGhpcy5uZ1t0XS5wb2ludERhdGEsdCl9fXJldHVybltlLHRoaXMuYWcodCx0aGlzLm5nLmxlbmd0aC0xLHtsZzohMSxJYTohMX0pXX11Zyh0LGkpe2xldCBzPXRoaXMudGcuZ2V0KHQpO3ZvaWQgMD09PXMmJihzPVtdLHRoaXMudGcuc2V0KHQscykpO2NvbnN0IGU9MCE9PXMubGVuZ3RoP3Nbcy5sZW5ndGgtMV06bnVsbDtudWxsPT09ZXx8dGhpcy54dS5rZXkoaS53dCk+dGhpcy54dS5rZXkoZS53dCk/dGUoaSkmJnMucHVzaChpKTp0ZShpKT9zW3MubGVuZ3RoLTFdPWk6cy5zcGxpY2UoLTEsMSksdGhpcy5pZy5zZXQodCxpLnd0KX1fZyh0LGkscyl7Y29uc3QgZT10aGlzLnRnLmdldCh0KTtpZih2b2lkIDA9PT1lKXJldHVybjtjb25zdCBoPU50KGUscywoKHQsaSk9PnQuJG48aSkpO3RlKGkpP2VbaF09aTplLnNwbGljZShoLDEpfXJnKHQsaSl7MCE9PWkubGVuZ3RoPyh0aGlzLnRnLnNldCh0LGkuZmlsdGVyKHRlKSksdGhpcy5pZy5zZXQodCxpW2kubGVuZ3RoLTFdLnd0KSk6KHRoaXMudGcuZGVsZXRlKHQpLHRoaXMuaWcuZGVsZXRlKHQpKX1lZygpe2Zvcihjb25zdCB0IG9mIHRoaXMubmcpMD09PXQucG9pbnREYXRhLkdNLnNpemUmJnRoaXMuUU0uZGVsZXRlKHRoaXMueHUua2V5KHQudGltZSkpfWhnKHQpe2xldCBpPS0xO2ZvcihsZXQgcz0wO3M8dGhpcy5uZy5sZW5ndGgmJnM8dC5sZW5ndGg7KytzKXtjb25zdCBlPXRoaXMubmdbc10saD10W3NdO2lmKHRoaXMueHUua2V5KGUudGltZSkhPT10aGlzLnh1LmtleShoLnRpbWUpKXtpPXM7YnJlYWt9aC50aW1lV2VpZ2h0PWUudGltZVdlaWdodCxsZShoLnBvaW50RGF0YSxzKX1pZigtMT09PWkmJnRoaXMubmcubGVuZ3RoIT09dC5sZW5ndGgmJihpPU1hdGgubWluKHRoaXMubmcubGVuZ3RoLHQubGVuZ3RoKSksLTE9PT1pKXJldHVybi0xO2ZvcihsZXQgcz1pO3M8dC5sZW5ndGg7KytzKWxlKHRbc10ucG9pbnREYXRhLHMpO3JldHVybiB0aGlzLnh1LmZpbGxXZWlnaHRzRm9yUG9pbnRzKHQsaSksdGhpcy5uZz10LGl9ZmcoKXtpZigwPT09dGhpcy50Zy5zaXplKXJldHVybiBudWxsO2xldCB0PTA7cmV0dXJuIHRoaXMudGcuZm9yRWFjaCgoaT0+ezAhPT1pLmxlbmd0aCYmKHQ9TWF0aC5tYXgodCxpW2kubGVuZ3RoLTFdLiRuKSl9KSksdH1hZyh0LGkscyl7Y29uc3QgZT10aGlzLmRnKCk7aWYoLTEhPT1pKXRoaXMudGcuZm9yRWFjaCgoKGksaCk9PntlLlVfLnNldChoLHt1ZTppLHBnOmg9PT10P3M6dm9pZCAwfSl9KSksdGhpcy50Zy5oYXModCl8fGUuVV8uc2V0KHQse3VlOltdLHBnOnN9KSxlLkV0LnZnPXRoaXMubmcsZS5FdC5tZz1pO2Vsc2V7Y29uc3QgaT10aGlzLnRnLmdldCh0KTtlLlVfLnNldCh0LHt1ZTppfHxbXSxwZzpzfSl9cmV0dXJuIGV9ZGcoKXtyZXR1cm57VV86bmV3IE1hcCxFdDp7UGM6dGhpcy5mZygpfX19fWZ1bmN0aW9uIGxlKHQsaSl7dC4kbj1pLHQuR00uZm9yRWFjaCgodD0+e3QuJG49aQp9KSl9ZnVuY3Rpb24gYWUodCxpKXtyZXR1cm4gdC5fdDxpfWZ1bmN0aW9uIHVlKHQsaSl7cmV0dXJuIGk8dC5fdH1mdW5jdGlvbiBjZSh0LGkscyxlKXtyZXR1cm4gTnQodCxpLGFlLHMsZSl9ZnVuY3Rpb24gZmUodCxpLHMsZSl7cmV0dXJuIFR0KHQsaSx1ZSxzLGUpfWZ1bmN0aW9uIGRlKHQsaSxzKXtyZXR1cm57bmU6dCxzZTppLGVlOnN9fWZ1bmN0aW9uIG1lKHQsaSxzLGUpe3JldHVybiB0Pj1pLWUmJnQ8PXMrZX1mdW5jdGlvbiBwZSh0LGkscyxlLGgsbil7Y29uc3Qgcj1oLXMsbz1uLWU7aWYoMD09PXImJjA9PT1vKXJldHVybiBNYXRoLmh5cG90KHQtcyxpLWUpO2NvbnN0IGw9KCh0LXMpKnIrKGktZSkqbykvKHIqcitvKm8pLGE9TWF0aC5tYXgoMCxNYXRoLm1pbigxLGwpKSx1PXMrciphLGM9ZStvKmE7cmV0dXJuIE1hdGguaHlwb3QodC11LGktYyl9Y29uc3QgZ2U9WzAsMF07ZnVuY3Rpb24gdmUodCxpLHMpe3JldHVybiB2b2lkIDA9PT1pfHxpLnd0IT09dC53dC0xP3QuX3Qtcy8yOihpLl90K3QuX3QpLzJ9ZnVuY3Rpb24gYmUodCxpLHMpe3JldHVybiB2b2lkIDA9PT1pfHxpLnd0IT09dC53dCsxP3QuX3Qrcy8yOih0Ll90K2kuX3QpLzJ9ZnVuY3Rpb24gd2UodCxpLHMsZSxoLG4scil7aWYobnVsbD09PWl8fGkuZnJvbT49aS50b3x8MD09PXQubGVuZ3RoKXJldHVybiBudWxsO2NvbnN0IG89aC8yK24sbD1jZSh0LHMtbyxpLmZyb20saS50byksYT1mZSh0LHMrbyxsLGkudG8pO2lmKGw+PWEpcmV0dXJuIG51bGw7bGV0IHU9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZO2ZvcihsZXQgbz1sO288YTtvKyspe2NvbnN0IGw9dFtvXSxhPW8+aS5mcm9tP3Rbby0xXTp2b2lkIDAsYz1vPGkudG8tMT90W28rMV06dm9pZCAwLGY9dmUobCxhLGgpLW4sZD1iZShsLGMsaCkrbjtpZihzPGZ8fHM+ZCljb250aW51ZTtyKGwsZ2UpO2NvbnN0IG09Z2VbMF0scD1nZVsxXSxnPU1hdGgubWluKG0scCksdj1NYXRoLm1heChtLHApLGI9Zy1uLHc9dituO2lmKGU+PWcmJmU8PXYpdT1NYXRoLm1pbih1LDApO2Vsc2UgaWYoZT49YiYmZTw9dyl7Y29uc3QgdD1NYXRoLm1pbihNYXRoLmFicyhlLWcpLE1hdGguYWJzKHYtZSkpO3U9TWF0aC5taW4odSx0KX19cmV0dXJuIE51bWJlci5pc0Zpbml0ZSh1KT9kZSh1LDAsInNlcmllcy1yYW5nZSIpOm51bGx9ZnVuY3Rpb24gTWUodCxpKXtyZXR1cm4gdC53dDxpfWZ1bmN0aW9uIHllKHQsaSl7cmV0dXJuIGk8dC53dH1mdW5jdGlvbiBTZSh0LGkscyl7Y29uc3QgZT1pLk9hKCksaD1pLmJpKCksbj1OdCh0LGUsTWUpLHI9VHQodCxoLHllKTtpZighcylyZXR1cm57ZnJvbTpuLHRvOnJ9O2xldCBvPW4sbD1yO3JldHVybiBuPjAmJm48dC5sZW5ndGgmJnRbbl0ud3Q+PWUmJihvPW4tMSkscj4wJiZyPHQubGVuZ3RoJiZ0W3ItMV0ud3Q8PWgmJihsPXIrMSkse2Zyb206byx0bzpsfX1jbGFzcyB4ZXtjb25zdHJ1Y3Rvcih0LGkscyl7dGhpcy53Zz0hMCx0aGlzLk1nPSEwLHRoaXMuZ2c9ITAsdGhpcy5iZz1bXSx0aGlzLlNnPW51bGwsdGhpcy54Zz0tMSx0aGlzLmFlPXQsdGhpcy5sZT1pLHRoaXMuQ2c9c31rdCh0KXt0aGlzLndnPSEwLCJkYXRhIj09PXQmJih0aGlzLk1nPSEwKSwib3B0aW9ucyI9PT10JiYodGhpcy5nZz0hMCl9VHQoKXtyZXR1cm4gdGhpcy5hZS5JdCgpPyh0aGlzLnlnKCksbnVsbD09PXRoaXMuU2c/bnVsbDp0aGlzLmtnKTpudWxsfVFzKHQsaSl7cmV0dXJuIHRoaXMuYWUuSXQoKT8odGhpcy55ZygpLG51bGw9PT10aGlzLlNnP251bGw6dGhpcy5QZyh0LGkpKTpudWxsfVBnKHQsaSl7cmV0dXJuIG51bGx9VGcoKXt0aGlzLmJnPXRoaXMuYmcubWFwKCh0PT4oey4uLnQsLi4udGhpcy5hZS5TYSgpLlNoKHQud3QpfSkpKX1SZygpe3RoaXMuU2c9bnVsbH15Zygpe2NvbnN0IHQ9dGhpcy5sZS5FdCgpLGk9dC5OKCkuZW5hYmxlQ29uZmxhdGlvbj90LlFjKCk6MDtpIT09dGhpcy54ZyYmKHRoaXMuTWc9ITAsdGhpcy54Zz1pKSx0aGlzLk1nJiYodGhpcy5EZygpLHRoaXMuTWc9ITEpLHRoaXMuZ2cmJih0aGlzLlRnKCksdGhpcy5nZz0hMSksdGhpcy53ZyYmKHRoaXMuSWcoKSx0aGlzLndnPSExKX1JZygpe2NvbnN0IHQ9dGhpcy5hZS5GdCgpLGk9dGhpcy5sZS5FdCgpO2lmKHRoaXMuUmcoKSxpLkdpKCl8fHQuR2koKSlyZXR1cm47Y29uc3Qgcz1pLkVlKCk7aWYobnVsbD09PXMpcmV0dXJuO2lmKDA9PT10aGlzLmFlLlVuKCkuVGgoKSlyZXR1cm47Y29uc3QgZT10aGlzLmFlLkx0KCk7bnVsbCE9PWUmJih0aGlzLlNnPVNlKHRoaXMuYmcscyx0aGlzLkNnKSx0aGlzLlZnKHQsaSxlLld0KSx0aGlzLkJnKCkpfX1jbGFzcyBfZXtjb25zdHJ1Y3Rvcih0LGkpe3RoaXMuRWc9dCx0aGlzLktpPWl9c3QodCxpLHMpe3RoaXMuRWcuZHJhdyh0LHRoaXMuS2ksaSxzKX19ZnVuY3Rpb24gQ2UodCl7c3dpdGNoKHQpe2Nhc2UicG9pbnQiOnJldHVybiAyO2Nhc2UicmFuZ2UiOnJldHVybiAwO2RlZmF1bHQ6cmV0dXJuIDF9fWNsYXNzIGtlIGV4dGVuZHMgeGV7Y29uc3RydWN0b3IodCxpLHMpe3N1cGVyKHQsaSwhMSksdGhpcy5ZaD1zLHRoaXMuRWc9dGhpcy5ZaC5yZW5kZXJlcigpLHRoaXMua2c9bmV3IF9lKHRoaXMuRWcsKHQ9PnRoaXMuQWcodCkpKX1nZXQgZ2EoKXtyZXR1cm4gdGhpcy5ZaC5jb25mbGF0aW9uUmVkdWNlcn1XYSh0KXtyZXR1cm4gdGhpcy5ZaC5wcmljZVZhbHVlQnVpbGRlcih0KX1fbCh0KXtyZXR1cm4gdGhpcy5ZaC5pc1doaXRlc3BhY2UodCl9UGcodCxpKXtjb25zdCBzPXRoaXMuRWcuaGl0VGVzdD8uKHQsaSwodD0+dGhpcy5BZyh0KSkpO2lmKG51bGwhPXMpcmV0dXJue25lOihlPXMpLmRpc3RhbmNlLHNlOkNlKGUudHlwZSksZWU6ImN1c3RvbSIsbXU6ZS5jdXJzb3JTdHlsZSx0ZTplLm9iamVjdElkLGllOmUuaGl0VGVzdERhdGF9O3ZhciBlO2NvbnN0IGg9d2UodGhpcy5iZyx0aGlzLlNnLHQsaSx0aGlzLmxlLkV0KCkuZmwoKSx0aGlzLmFlLk4oKS5oaXRUZXN0VG9sZXJhbmNlLCgodCxpKT0+e2NvbnN0IHM9dC5MZztsZXQgZT1OYU4saD1OYU4KO2lmKHZvaWQgMCE9PXMmJiF0aGlzLlloLmlzV2hpdGVzcGFjZShzKSlmb3IoY29uc3QgdCBvZiB0aGlzLlloLnByaWNlVmFsdWVCdWlsZGVyKHMpKXtjb25zdCBpPXRoaXMuQWcodCk7bnVsbCE9PWkmJihlPU51bWJlci5pc05hTihlKT9pOk1hdGgubWluKGUsaSksaD1OdW1iZXIuaXNOYU4oaCk/aTpNYXRoLm1heChoLGkpKX1pWzBdPWUsaVsxXT1ofSkpO3JldHVybiBudWxsPT09aD9udWxsOnsuLi5oLGVlOiJjdXN0b20ifX1EZygpe2NvbnN0IHQ9dGhpcy5hZS5TYSgpO3RoaXMuYmc9dGhpcy5hZS5IYSgpLkJoKCkubWFwKChpPT4oe3d0OmkuJG4sX3Q6TmFOLC4uLnQuU2goaS4kbiksTGc6aS51ZX0pKSl9VmcodCxpKXtpLlRjKHRoaXMuYmcsUyh0aGlzLlNnKSl9QmcoKXt0aGlzLlloLnVwZGF0ZSh7YmFyczp0aGlzLmJnLm1hcChFZSksYmFyU3BhY2luZzp0aGlzLmxlLkV0KCkuZmwoKSx2aXNpYmxlUmFuZ2U6dGhpcy5TZyxjb25mbGF0aW9uRmFjdG9yOnRoaXMubGUuRXQoKS5RYygpfSx0aGlzLmFlLk4oKSl9QWcodCl7Y29uc3QgaT10aGlzLmFlLkx0KCk7cmV0dXJuIG51bGw9PT1pP251bGw6dGhpcy5hZS5GdCgpLk50KHQsaS5XdCl9fWZ1bmN0aW9uIEVlKHQpe3JldHVybnt4OnQuX3QsdGltZTp0Lnd0LG9yaWdpbmFsRGF0YTp0LkxnLGJhckNvbG9yOnQuc2h9fWNvbnN0IE5lPXtjb2xvcjoiIzIxOTZmMyJ9LFRlPSh0LGkscyk9Pntjb25zdCBlPWQocyk7cmV0dXJuIG5ldyBrZSh0LGksZSl9O2Z1bmN0aW9uIFJlKHQpe2NvbnN0IGk9e3ZhbHVlOnQuV3RbM10sdGltZTp0LlFyfTtyZXR1cm4gdm9pZCAwIT09dC5aTSYmKGkuY3VzdG9tVmFsdWVzPXQuWk0pLGl9ZnVuY3Rpb24gUGUodCl7Y29uc3QgaT1SZSh0KTtyZXR1cm4gdm9pZCAwIT09dC5SJiYoaS5jb2xvcj10LlIpLGl9ZnVuY3Rpb24gemUodCl7Y29uc3QgaT1SZSh0KTtyZXR1cm4gdm9pZCAwIT09dC52dCYmKGkubGluZUNvbG9yPXQudnQpLHZvaWQgMCE9PXQuYWgmJihpLnRvcENvbG9yPXQuYWgpLHZvaWQgMCE9PXQub2gmJihpLmJvdHRvbUNvbG9yPXQub2gpLGl9ZnVuY3Rpb24gSWUodCl7Y29uc3QgaT1SZSh0KTtyZXR1cm4gdm9pZCAwIT09dC5faCYmKGkudG9wTGluZUNvbG9yPXQuX2gpLHZvaWQgMCE9PXQudWgmJihpLmJvdHRvbUxpbmVDb2xvcj10LnVoKSx2b2lkIDAhPT10LmRoJiYoaS50b3BGaWxsQ29sb3IxPXQuZGgpLHZvaWQgMCE9PXQuZmgmJihpLnRvcEZpbGxDb2xvcjI9dC5maCksdm9pZCAwIT09dC5waCYmKGkuYm90dG9tRmlsbENvbG9yMT10LnBoKSx2b2lkIDAhPT10Lm1oJiYoaS5ib3R0b21GaWxsQ29sb3IyPXQubWgpLGl9ZnVuY3Rpb24gTGUodCl7Y29uc3QgaT17b3Blbjp0Lld0WzBdLGhpZ2g6dC5XdFsxXSxsb3c6dC5XdFsyXSxjbG9zZTp0Lld0WzNdLHRpbWU6dC5Rcn07cmV0dXJuIHZvaWQgMCE9PXQuWk0mJihpLmN1c3RvbVZhbHVlcz10LlpNKSxpfWZ1bmN0aW9uIEZlKHQpe2NvbnN0IGk9TGUodCk7cmV0dXJuIHZvaWQgMCE9PXQuUiYmKGkuY29sb3I9dC5SKSxpfWZ1bmN0aW9uIHFlKHQpe2NvbnN0IGk9TGUodCkse1I6cyxIdDplLGhoOmh9PXQ7cmV0dXJuIHZvaWQgMCE9PXMmJihpLmNvbG9yPXMpLHZvaWQgMCE9PWUmJihpLmJvcmRlckNvbG9yPWUpLHZvaWQgMCE9PWgmJihpLndpY2tDb2xvcj1oKSxpfWZ1bmN0aW9uIFdlKHQpe3JldHVybntBcmVhOnplLExpbmU6UGUsQmFzZWxpbmU6SWUsSGlzdG9ncmFtOlBlLEJhcjpGZSxDYW5kbGVzdGljazpxZSxDdXN0b206UWV9W3RdfWZ1bmN0aW9uIFFlKHQpe2NvbnN0IGk9dC5RcjtyZXR1cm57Li4udC51ZSx0aW1lOml9fWNvbnN0IERlPXt2ZXJ0TGluZTp7Y29sb3I6IiM5NTk4QTEiLHdpZHRoOjEsc3R5bGU6Myx2aXNpYmxlOiEwLGxhYmVsVmlzaWJsZTohMCxsYWJlbEJhY2tncm91bmRDb2xvcjoiIzEzMTcyMiJ9LGhvcnpMaW5lOntjb2xvcjoiIzk1OThBMSIsd2lkdGg6MSxzdHlsZTozLHZpc2libGU6ITAsbGFiZWxWaXNpYmxlOiEwLGxhYmVsQmFja2dyb3VuZENvbG9yOiIjMTMxNzIyIn0sbW9kZToxLGRvTm90U25hcFRvSGlkZGVuU2VyaWVzSW5kaWNlczohMX0sT2U9e3ZlcnRMaW5lczp7Y29sb3I6IiNENkRDREUiLHN0eWxlOjAsdmlzaWJsZTohMH0saG9yekxpbmVzOntjb2xvcjoiI0Q2RENERSIsc3R5bGU6MCx2aXNpYmxlOiEwfX0sS2U9e2JhY2tncm91bmQ6e3R5cGU6InNvbGlkIixjb2xvcjoiI0ZGRkZGRiJ9LHRleHRDb2xvcjoiIzE5MTkxOSIsZm9udFNpemU6MTIsZm9udEZhbWlseTp4LHBhbmVzOntlbmFibGVSZXNpemU6ITAsc2VwYXJhdG9yQ29sb3I6IiNFMEUzRUIiLHNlcGFyYXRvckhvdmVyQ29sb3I6InJnYmEoMTc4LCAxODEsIDE4OSwgMC4yKSJ9LGF0dHJpYnV0aW9uTG9nbzohMCxjb2xvclNwYWNlOiJzcmdiIixjb2xvclBhcnNlcnM6W119LFZlPXthdXRvU2NhbGU6ITAsbW9kZTowLGludmVydFNjYWxlOiExLGFsaWduTGFiZWxzOiEwLGJvcmRlclZpc2libGU6ITAsYm9yZGVyQ29sb3I6IiMyQjJCNDMiLGVudGlyZVRleHRPbmx5OiExLHZpc2libGU6ITEsdGlja3NWaXNpYmxlOiExLHNjYWxlTWFyZ2luczp7Ym90dG9tOi4xLHRvcDouMn0sbWluaW11bVdpZHRoOjAsZW5zdXJlRWRnZVRpY2tNYXJrc1Zpc2libGU6ITEsdGlja01hcmtEZW5zaXR5OjIuNX0sJGU9e3JpZ2h0T2Zmc2V0OjAsYmFyU3BhY2luZzo2LG1pbkJhclNwYWNpbmc6LjUsbWF4QmFyU3BhY2luZzowLGZpeExlZnRFZGdlOiExLGZpeFJpZ2h0RWRnZTohMSxsb2NrVmlzaWJsZVRpbWVSYW5nZU9uUmVzaXplOiExLHJpZ2h0QmFyU3RheXNPblNjcm9sbDohMSxib3JkZXJWaXNpYmxlOiEwLGJvcmRlckNvbG9yOiIjMkIyQjQzIix2aXNpYmxlOiEwLHRpbWVWaXNpYmxlOiExLHNlY29uZHNWaXNpYmxlOiEwLHNoaWZ0VmlzaWJsZVJhbmdlT25OZXdCYXI6ITAsYWxsb3dTaGlmdFZpc2libGVSYW5nZU9uV2hpdGVzcGFjZVJlcGxhY2VtZW50OiExLHRpY2tzVmlzaWJsZTohMSx1bmlmb3JtRGlzdHJpYnV0aW9uOiExLG1pbmltdW1IZWlnaHQ6MCxhbGxvd0JvbGRMYWJlbHM6ITAsaWdub3JlV2hpdGVzcGFjZUluZGljZXM6ITEsZW5hYmxlQ29uZmxhdGlvbjohMSwKY29uZmxhdGlvblRocmVzaG9sZEZhY3RvcjoxLHByZWNvbXB1dGVDb25mbGF0aW9uT25Jbml0OiExLHByZWNvbXB1dGVDb25mbGF0aW9uUHJpb3JpdHk6ImJhY2tncm91bmQifTtmdW5jdGlvbiBCZSgpe3JldHVybnthZGREZWZhdWx0UGFuZTohMCxob3ZlcmVkU2VyaWVzT25Ub3A6ITAsd2lkdGg6MCxoZWlnaHQ6MCxhdXRvU2l6ZTohMSxsYXlvdXQ6S2UsY3Jvc3NoYWlyOkRlLGdyaWQ6T2Usb3ZlcmxheVByaWNlU2NhbGVzOnsuLi5WZX0sbGVmdFByaWNlU2NhbGU6ey4uLlZlLHZpc2libGU6ITF9LHJpZ2h0UHJpY2VTY2FsZTp7Li4uVmUsdmlzaWJsZTohMH0sZGVmYXVsdFZpc2libGVQcmljZVNjYWxlSWQ6InJpZ2h0Iix0aW1lU2NhbGU6JGUsbG9jYWxpemF0aW9uOntsb2NhbGU6bHM/bmF2aWdhdG9yLmxhbmd1YWdlOiIiLGRhdGVGb3JtYXQ6ImRkIE1NTSAneXkifSxoYW5kbGVTY3JvbGw6e21vdXNlV2hlZWw6ITAscHJlc3NlZE1vdXNlTW92ZTohMCxob3J6VG91Y2hEcmFnOiEwLHZlcnRUb3VjaERyYWc6ITB9LGhhbmRsZVNjYWxlOntheGlzUHJlc3NlZE1vdXNlTW92ZTp7dGltZTohMCxwcmljZTohMH0sYXhpc0RvdWJsZUNsaWNrUmVzZXQ6e3RpbWU6ITAscHJpY2U6ITB9LG1vdXNlV2hlZWw6ITAscGluY2g6ITB9LGtpbmV0aWNTY3JvbGw6e21vdXNlOiExLHRvdWNoOiEwfSx0cmFja2luZ01vZGU6e2V4aXRNb2RlOjF9fX1jbGFzcyBBZXtjb25zdHJ1Y3Rvcih0LGkscyl7dGhpcy5zdj10LHRoaXMuemc9aSx0aGlzLk9nPXM/PzB9YXBwbHlPcHRpb25zKHQpe3RoaXMuc3YuUXQoKS5QZCh0aGlzLnpnLHQsdGhpcy5PZyl9b3B0aW9ucygpe3JldHVybiB0aGlzLktpKCkuTigpfXdpZHRoKCl7cmV0dXJuIGoodGhpcy56Zyk/dGhpcy5zdi5DTSh0aGlzLnpnKTowfXNldFZpc2libGVSYW5nZSh0KXt0aGlzLnNldEF1dG9TY2FsZSghMSksdGhpcy5LaSgpLnFvKG5ldyB2dCh0LmZyb20sdC50bykpfWdldFZpc2libGVSYW5nZSgpe2xldCB0LGkscz10aGlzLktpKCkuYXIoKTtpZihudWxsPT09cylyZXR1cm4gbnVsbDtpZih0aGlzLktpKCkuc28oKSl7Y29uc3QgZT10aGlzLktpKCkuTV8oKSxoPUFpKGUpO3M9bWkocyx0aGlzLktpKCkucm8oKSksdD1OdW1iZXIoKE1hdGgucm91bmQocy5KZSgpL2UpKmUpLnRvRml4ZWQoaCkpLGk9TnVtYmVyKChNYXRoLnJvdW5kKHMuUWUoKS9lKSplKS50b0ZpeGVkKGgpKX1lbHNlIHQ9cy5KZSgpLGk9cy5RZSgpO3JldHVybntmcm9tOnQsdG86aX19c2V0QXV0b1NjYWxlKHQpe3RoaXMuYXBwbHlPcHRpb25zKHthdXRvU2NhbGU6dH0pfUtpKCl7cmV0dXJuIGYodGhpcy5zdi5RdCgpLlRkKHRoaXMuemcsdGhpcy5PZykpLkZ0fX1jbGFzcyBaZXtjb25zdHJ1Y3Rvcih0LGkscyxlKXt0aGlzLnN2PXQsdGhpcy55dD1zLHRoaXMuTmc9aSx0aGlzLkZnPWV9Z2V0SGVpZ2h0KCl7cmV0dXJuIHRoaXMueXQuJHQoKX1zZXRIZWlnaHQodCl7Y29uc3QgaT10aGlzLnN2LlF0KCkscz1pLmhmKHRoaXMueXQpO2kuQmQocyx0KX1nZXRTdHJldGNoRmFjdG9yKCl7cmV0dXJuIHRoaXMueXQuel8oKX1zZXRTdHJldGNoRmFjdG9yKHQpe3RoaXMueXQuT18odCksdGhpcy5zdi5RdCgpLlBhKCl9cGFuZUluZGV4KCl7cmV0dXJuIHRoaXMuc3YuUXQoKS5oZih0aGlzLnl0KX1tb3ZlVG8odCl7Y29uc3QgaT10aGlzLnBhbmVJbmRleCgpO2khPT10JiYodSh0Pj0wJiZ0PHRoaXMuc3YucnYoKS5sZW5ndGgsIkludmFsaWQgcGFuZSBpbmRleCIpLHRoaXMuc3YuUXQoKS5BZChpLHQpKX1nZXRTZXJpZXMoKXtyZXR1cm4gdGhpcy55dC5VXygpLm1hcCgodD0+dGhpcy5OZyh0KSkpPz9bXX1nZXRIVE1MRWxlbWVudCgpe2NvbnN0IHQ9dGhpcy5zdi5ydigpO3JldHVybiB0JiYwIT09dC5sZW5ndGgmJnRbdGhpcy5wYW5lSW5kZXgoKV0/dFt0aGlzLnBhbmVJbmRleCgpXS51digpOm51bGx9YXR0YWNoUHJpbWl0aXZlKHQpe3RoaXMueXQuaGwodCksdC5hdHRhY2hlZCYmdC5hdHRhY2hlZCh7Y2hhcnQ6dGhpcy5GZyxyZXF1ZXN0VXBkYXRlOigpPT50aGlzLnl0LlF0KCkuUGEoKX0pfWRldGFjaFByaW1pdGl2ZSh0KXt0aGlzLnl0LmFsKHQpfXByaWNlU2NhbGUodCl7aWYobnVsbD09PXRoaXMueXQuQV8odCkpdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgZmluZCBwcmljZSBzY2FsZSB3aXRoIGlkOiAke3R9YCk7cmV0dXJuIG5ldyBBZSh0aGlzLnN2LHQsdGhpcy5wYW5lSW5kZXgoKSl9c2V0UHJlc2VydmVFbXB0eVBhbmUodCl7dGhpcy55dC5XXyh0KX1wcmVzZXJ2ZUVtcHR5UGFuZSgpe3JldHVybiB0aGlzLnl0LkhfKCl9YWRkQ3VzdG9tU2VyaWVzKHQsaT17fSxzPTApe3JldHVybiB0aGlzLkZnLmFkZEN1c3RvbVNlcmllcyh0LGkscyl9YWRkU2VyaWVzKHQsaT17fSl7cmV0dXJuIHRoaXMuRmcuYWRkU2VyaWVzKHQsaSx0aGlzLnBhbmVJbmRleCgpKX19Y29uc3QgSGU9e2NvbG9yOiIjRkYwMDAwIixwcmljZTowLGxpbmVTdHlsZToyLGxpbmVXaWR0aDoxLGxpbmVWaXNpYmxlOiEwLGF4aXNMYWJlbFZpc2libGU6ITAsdGl0bGU6IiIsYXhpc0xhYmVsQ29sb3I6IiIsYXhpc0xhYmVsVGV4dENvbG9yOiIifTtjbGFzcyBHZXtjb25zdHJ1Y3Rvcih0KXt0aGlzLl9yPXR9YXBwbHlPcHRpb25zKHQpe3RoaXMuX3IudnIodCl9b3B0aW9ucygpe3JldHVybiB0aGlzLl9yLk4oKX1XZygpe3JldHVybiB0aGlzLl9yfX1jbGFzcyBVZXtjb25zdHJ1Y3Rvcih0LGkscyxlLGgsbil7dGhpcy5IZz1uZXcgbSx0aGlzLmFlPXQsdGhpcy5VZz1pLHRoaXMuJGc9cyx0aGlzLnh1PWgsdGhpcy5GZz1lLHRoaXMuamc9bn1tKCl7dGhpcy5IZy5tKCl9cHJpY2VGb3JtYXR0ZXIoKXtyZXR1cm4gdGhpcy5hZS50bCgpfXByaWNlVG9Db29yZGluYXRlKHQpe2NvbnN0IGk9dGhpcy5hZS5MdCgpO3JldHVybiBudWxsPT09aT9udWxsOnRoaXMuYWUuRnQoKS5OdCh0LGkuV3QpfWNvb3JkaW5hdGVUb1ByaWNlKHQpe2NvbnN0IGk9dGhpcy5hZS5MdCgpO3JldHVybiBudWxsPT09aT9udWxsOnRoaXMuYWUuRnQoKS5Ubih0LGkuV3QpfWJhcnNJbkxvZ2ljYWxSYW5nZSh0KXtpZihudWxsPT09dClyZXR1cm4gbnVsbAo7Y29uc3QgaT1uZXcgcWkobmV3IElpKHQuZnJvbSx0LnRvKSkuRnUoKSxzPXRoaXMuYWUuVW4oKTtpZihzLkdpKCkpcmV0dXJuIG51bGw7Y29uc3QgZT1zLkhuKGkuT2EoKSwxKSxoPXMuSG4oaS5iaSgpLC0xKSxuPWYocy5SaCgpKSxyPWYocy5RbigpKTtpZihudWxsIT09ZSYmbnVsbCE9PWgmJmUuJG4+aC4kbilyZXR1cm57YmFyc0JlZm9yZTp0LmZyb20tbixiYXJzQWZ0ZXI6ci10LnRvfTtjb25zdCBvPXtiYXJzQmVmb3JlOm51bGw9PT1lfHxlLiRuPT09bj90LmZyb20tbjplLiRuLW4sYmFyc0FmdGVyOm51bGw9PT1ofHxoLiRuPT09cj9yLXQudG86ci1oLiRufTtyZXR1cm4gbnVsbCE9PWUmJm51bGwhPT1oJiYoby5mcm9tPWUuUXIsby50bz1oLlFyKSxvfXNldERhdGEodCl7dGhpcy54dSx0aGlzLmFlLmJoKCksdGhpcy5VZy5xZyh0aGlzLmFlLHQpLHRoaXMuWWcoImZ1bGwiKX11cGRhdGUodCxpPSExKXt0aGlzLmFlLmJoKCksdGhpcy5VZy5LZyh0aGlzLmFlLHQsaSksdGhpcy5ZZygidXBkYXRlIil9cG9wKHQ9MSl7Y29uc3QgaT10aGlzLlVnLlpnKHRoaXMuYWUsdCk7MCE9PWkubGVuZ3RoJiZ0aGlzLllnKCJ1cGRhdGUiKTtjb25zdCBzPVdlKHRoaXMuc2VyaWVzVHlwZSgpKTtyZXR1cm4gaS5tYXAoKHQ9PnModCkpKX1kYXRhQnlJbmRleCh0LGkpe2NvbnN0IHM9dGhpcy5hZS5VbigpLkhuKHQsaSk7cmV0dXJuIG51bGw9PT1zP251bGw6V2UodGhpcy5zZXJpZXNUeXBlKCkpKHMpfWRhdGEoKXtjb25zdCB0PVdlKHRoaXMuc2VyaWVzVHlwZSgpKTtyZXR1cm4gdGhpcy5hZS5VbigpLkJoKCkubWFwKChpPT50KGkpKSl9c3Vic2NyaWJlRGF0YUNoYW5nZWQodCl7dGhpcy5IZy5pKHQpfXVuc3Vic2NyaWJlRGF0YUNoYW5nZWQodCl7dGhpcy5IZy5fKHQpfWFwcGx5T3B0aW9ucyh0KXt0aGlzLmFlLnZyKHQpfW9wdGlvbnMoKXtyZXR1cm4gTSh0aGlzLmFlLk4oKSl9cHJpY2VTY2FsZSgpe3JldHVybiB0aGlzLiRnLnByaWNlU2NhbGUodGhpcy5hZS5GdCgpLmNsKCksdGhpcy5nZXRQYW5lKCkucGFuZUluZGV4KCkpfWNyZWF0ZVByaWNlTGluZSh0KXtjb25zdCBpPXAoTShIZSksdCkscz10aGlzLmFlLkJhKGkpO3JldHVybiBuZXcgR2Uocyl9cmVtb3ZlUHJpY2VMaW5lKHQpe3RoaXMuYWUuRWEodC5XZygpKX1wcmljZUxpbmVzKCl7cmV0dXJuIHRoaXMuYWUuQWEoKS5tYXAoKHQ9Pm5ldyBHZSh0KSkpfXNlcmllc1R5cGUoKXtyZXR1cm4gdGhpcy5hZS5iaCgpfWxhc3RWYWx1ZURhdGEodCl7Y29uc3QgaT10aGlzLmFlLkFlKHQpO3JldHVybiBpLkxlP3tub0RhdGE6ITB9Ontub0RhdGE6ITEscHJpY2U6aS5NdCxjb2xvcjppLlJ9fWF0dGFjaFByaW1pdGl2ZSh0KXt0aGlzLmFlLmhsKHQpLHQuYXR0YWNoZWQmJnQuYXR0YWNoZWQoe2NoYXJ0OnRoaXMuRmcsc2VyaWVzOnRoaXMscmVxdWVzdFVwZGF0ZTooKT0+dGhpcy5hZS5RdCgpLlBhKCksaG9yelNjYWxlQmVoYXZpb3I6dGhpcy54dX0pfWRldGFjaFByaW1pdGl2ZSh0KXt0aGlzLmFlLmFsKHQpLHQuZGV0YWNoZWQmJnQuZGV0YWNoZWQoKSx0aGlzLmFlLlF0KCkuUGEoKX1nZXRQYW5lKCl7Y29uc3QgdD10aGlzLmFlLGk9Zih0aGlzLmFlLlF0KCkuS3ModCkpO3JldHVybiB0aGlzLmpnKGkpfW1vdmVUb1BhbmUodCl7dGhpcy5hZS5RdCgpLm5mKHRoaXMuYWUsdCl9c2VyaWVzT3JkZXIoKXtjb25zdCB0PXRoaXMuYWUuUXQoKS5Lcyh0aGlzLmFlKTtyZXR1cm4gbnVsbD09PXQ/LTE6dC5VXygpLmluZGV4T2YodGhpcy5hZSl9c2V0U2VyaWVzT3JkZXIodCl7Y29uc3QgaT10aGlzLmFlLlF0KCkuS3ModGhpcy5hZSk7bnVsbCE9PWkmJmkuZHUodGhpcy5hZSx0KX1ZZyh0KXt0aGlzLkhnLnYoKSYmdGhpcy5IZy5wKHQpfX1jbGFzcyBZZXtjb25zdHJ1Y3Rvcih0LGkscyl7dGhpcy5HZz1uZXcgbSx0aGlzLkd1PW5ldyBtLHRoaXMuQnc9bmV3IG0sdGhpcy5zbj10LHRoaXMuaWE9dC5FdCgpLHRoaXMuX009aSx0aGlzLmlhLlljKCkuaSh0aGlzLlhnLmJpbmQodGhpcykpLHRoaXMuaWEuS2MoKS5pKHRoaXMuSmcuYmluZCh0aGlzKSksdGhpcy5fTS5GdygpLmkodGhpcy5RZy5iaW5kKHRoaXMpKSx0aGlzLnh1PXN9bSgpe3RoaXMuaWEuWWMoKS51KHRoaXMpLHRoaXMuaWEuS2MoKS51KHRoaXMpLHRoaXMuX00uRncoKS51KHRoaXMpLHRoaXMuR2cubSgpLHRoaXMuR3UubSgpLHRoaXMuQncubSgpfXNjcm9sbFBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuaWEuQWMoKX1zY3JvbGxUb1Bvc2l0aW9uKHQsaSl7aT90aGlzLmlhLiRjKHQsMWUzKTp0aGlzLnNuLmdzKHQpfXNjcm9sbFRvUmVhbFRpbWUoKXt0aGlzLmlhLlVjKCl9Z2V0VmlzaWJsZVJhbmdlKCl7Y29uc3QgdD10aGlzLmlhLmdjKCk7cmV0dXJuIG51bGw9PT10P251bGw6e2Zyb206dC5mcm9tLm9yaWdpbmFsVGltZSx0bzp0LnRvLm9yaWdpbmFsVGltZX19c2V0VmlzaWJsZVJhbmdlKHQpe2NvbnN0IGk9e2Zyb206dGhpcy54dS5jb252ZXJ0SG9yekl0ZW1Ub0ludGVybmFsKHQuZnJvbSksdG86dGhpcy54dS5jb252ZXJ0SG9yekl0ZW1Ub0ludGVybmFsKHQudG8pfSxzPXRoaXMuaWEuQ2MoaSk7dGhpcy5zbi50ZihzKX1nZXRWaXNpYmxlTG9naWNhbFJhbmdlKCl7Y29uc3QgdD10aGlzLmlhLk1jKCk7cmV0dXJuIG51bGw9PT10P251bGw6e2Zyb206dC5PYSgpLHRvOnQuYmkoKX19c2V0VmlzaWJsZUxvZ2ljYWxSYW5nZSh0KXt1KHQuZnJvbTw9dC50bywiVGhlIGZyb20gaW5kZXggY2Fubm90IGJlIGFmdGVyIHRoZSB0byBpbmRleC4iKSx0aGlzLnNuLnRmKHQpfXJlc2V0VGltZVNjYWxlKCl7dGhpcy5zbi53cygpfWZpdENvbnRlbnQoKXt0aGlzLnNuLlhjKCl9bG9naWNhbFRvQ29vcmRpbmF0ZSh0KXtjb25zdCBpPXRoaXMuc24uRXQoKTtyZXR1cm4gaS5HaSgpP251bGw6aS5qdCh0KX1jb29yZGluYXRlVG9Mb2dpY2FsKHQpe3JldHVybiB0aGlzLmlhLkdpKCk/bnVsbDp0aGlzLmlhLlJjKHQpfXRpbWVUb0luZGV4KHQsaSl7Y29uc3Qgcz10aGlzLnh1LmNvbnZlcnRIb3J6SXRlbVRvSW50ZXJuYWwodCk7cmV0dXJuIHRoaXMuaWEudmMocyxpKX10aW1lVG9Db29yZGluYXRlKHQpewpjb25zdCBpPXRoaXMudGltZVRvSW5kZXgodCwhMSk7cmV0dXJuIG51bGw9PT1pP251bGw6dGhpcy5pYS5qdChpKX1jb29yZGluYXRlVG9UaW1lKHQpe2NvbnN0IGk9dGhpcy5zbi5FdCgpLHM9aS5SYyh0KSxlPWkuZW4ocyk7cmV0dXJuIG51bGw9PT1lP251bGw6ZS5vcmlnaW5hbFRpbWV9d2lkdGgoKXtyZXR1cm4gdGhpcy5fTS5jdigpLndpZHRofWhlaWdodCgpe3JldHVybiB0aGlzLl9NLmN2KCkuaGVpZ2h0fXN1YnNjcmliZVZpc2libGVUaW1lUmFuZ2VDaGFuZ2UodCl7dGhpcy5HZy5pKHQpfXVuc3Vic2NyaWJlVmlzaWJsZVRpbWVSYW5nZUNoYW5nZSh0KXt0aGlzLkdnLl8odCl9c3Vic2NyaWJlVmlzaWJsZUxvZ2ljYWxSYW5nZUNoYW5nZSh0KXt0aGlzLkd1LmkodCl9dW5zdWJzY3JpYmVWaXNpYmxlTG9naWNhbFJhbmdlQ2hhbmdlKHQpe3RoaXMuR3UuXyh0KX1zdWJzY3JpYmVTaXplQ2hhbmdlKHQpe3RoaXMuQncuaSh0KX11bnN1YnNjcmliZVNpemVDaGFuZ2UodCl7dGhpcy5Cdy5fKHQpfWFwcGx5T3B0aW9ucyh0KXt0aGlzLmlhLnZyKHQpfW9wdGlvbnMoKXtyZXR1cm57Li4uTSh0aGlzLmlhLk4oKSksYmFyU3BhY2luZzp0aGlzLmlhLmZsKCl9fVhnKCl7dGhpcy5HZy52KCkmJnRoaXMuR2cucCh0aGlzLmdldFZpc2libGVSYW5nZSgpKX1KZygpe3RoaXMuR3UudigpJiZ0aGlzLkd1LnAodGhpcy5nZXRWaXNpYmxlTG9naWNhbFJhbmdlKCkpfVFnKHQpe3RoaXMuQncucCh0LndpZHRoLHQuaGVpZ2h0KX19ZnVuY3Rpb24gamUodCl7cmV0dXJuIGZ1bmN0aW9uKHQpe2lmKHcodC5oYW5kbGVTY2FsZSkpe2NvbnN0IGk9dC5oYW5kbGVTY2FsZTt0LmhhbmRsZVNjYWxlPXtheGlzRG91YmxlQ2xpY2tSZXNldDp7dGltZTppLHByaWNlOml9LGF4aXNQcmVzc2VkTW91c2VNb3ZlOnt0aW1lOmkscHJpY2U6aX0sbW91c2VXaGVlbDppLHBpbmNoOml9fWVsc2UgaWYodm9pZCAwIT09dC5oYW5kbGVTY2FsZSl7Y29uc3R7YXhpc1ByZXNzZWRNb3VzZU1vdmU6aSxheGlzRG91YmxlQ2xpY2tSZXNldDpzfT10LmhhbmRsZVNjYWxlO3coaSkmJih0LmhhbmRsZVNjYWxlLmF4aXNQcmVzc2VkTW91c2VNb3ZlPXt0aW1lOmkscHJpY2U6aX0pLHcocykmJih0LmhhbmRsZVNjYWxlLmF4aXNEb3VibGVDbGlja1Jlc2V0PXt0aW1lOnMscHJpY2U6c30pfWNvbnN0IGk9dC5oYW5kbGVTY3JvbGw7dyhpKSYmKHQuaGFuZGxlU2Nyb2xsPXtob3J6VG91Y2hEcmFnOmksdmVydFRvdWNoRHJhZzppLG1vdXNlV2hlZWw6aSxwcmVzc2VkTW91c2VNb3ZlOml9KX0odCksdH1jbGFzcyBYZXtjb25zdHJ1Y3Rvcih0LGkscyl7dGhpcy50Yj1uZXcgTWFwLHRoaXMuaWI9bmV3IE1hcCx0aGlzLm5iPW5ldyBtLHRoaXMuc2I9bmV3IG0sdGhpcy5lYj1uZXcgbSx0aGlzLm9kPW5ldyBXZWFrTWFwLHRoaXMucmI9bmV3IG9lKGkpO2NvbnN0IGU9dm9pZCAwPT09cz9NKEJlKCkpOnAoTShCZSgpKSxqZShzKSk7dGhpcy5oYj1pLHRoaXMuc3Y9bmV3IEJzKHQsZSxpKSx0aGlzLnN2LmR3KCkuaSgodD0+e3RoaXMubmIudigpJiZ0aGlzLm5iLnAodGhpcy5hYih0KCkpKX0pLHRoaXMpLHRoaXMuc3YuZncoKS5pKCh0PT57dGhpcy5zYi52KCkmJnRoaXMuc2IucCh0aGlzLmFiKHQoKSkpfSksdGhpcyksdGhpcy5zdi5EZCgpLmkoKHQ9Pnt0aGlzLmViLnYoKSYmdGhpcy5lYi5wKHRoaXMuYWIodCgpKSl9KSx0aGlzKTtjb25zdCBoPXRoaXMuc3YuUXQoKTt0aGlzLmxiPW5ldyBZZShoLHRoaXMuc3YucE0oKSx0aGlzLmhiKX1yZW1vdmUoKXt0aGlzLnN2LmR3KCkudSh0aGlzKSx0aGlzLnN2LmZ3KCkudSh0aGlzKSx0aGlzLnN2LkRkKCkudSh0aGlzKSx0aGlzLmxiLm0oKSx0aGlzLnN2Lm0oKSx0aGlzLnRiLmNsZWFyKCksdGhpcy5pYi5jbGVhcigpLHRoaXMubmIubSgpLHRoaXMuc2IubSgpLHRoaXMuZWIubSgpLHRoaXMucmIubSgpfXJlc2l6ZSh0LGkscyl7dGhpcy5hdXRvU2l6ZUFjdGl2ZSgpfHx0aGlzLnN2LmNNKHQsaSxzKX1hZGRDdXN0b21TZXJpZXModCxpPXt9LHM9MCl7Y29uc3QgZT0odD0+KHt0eXBlOiJDdXN0b20iLGlzQnVpbHRJbjohMSxkZWZhdWx0T3B0aW9uczp7Li4uTmUsLi4udC5kZWZhdWx0T3B0aW9ucygpfSxvYjpUZSxfYjp0fSkpKGQodCkpO3JldHVybiB0aGlzLnViKGUsaSxzKX1hZGRTZXJpZXModCxpPXt9LHM9MCl7cmV0dXJuIHRoaXMudWIodCxpLHMpfXJlbW92ZVNlcmllcyh0KXtjb25zdCBpPWModGhpcy50Yi5nZXQodCkpLHM9dGhpcy5yYi5KZChpKTt0aGlzLnN2LlF0KCkuSmQoaSksdGhpcy5jYihzKSx0aGlzLnRiLmRlbGV0ZSh0KSx0aGlzLmliLmRlbGV0ZShpKX1xZyh0LGkpe3RoaXMuY2IodGhpcy5yYi5zZyh0LGkpKX1LZyh0LGkscyl7dGhpcy5jYih0aGlzLnJiLm9nKHQsaSxzKSl9WmcodCxpKXtjb25zdFtzLGVdPXRoaXMucmIuY2codCxpKTtyZXR1cm4gMCE9PXMubGVuZ3RoJiZ0aGlzLmNiKGUpLHN9c3Vic2NyaWJlQ2xpY2sodCl7dGhpcy5uYi5pKHQpfXVuc3Vic2NyaWJlQ2xpY2sodCl7dGhpcy5uYi5fKHQpfXN1YnNjcmliZUNyb3NzaGFpck1vdmUodCl7dGhpcy5lYi5pKHQpfXVuc3Vic2NyaWJlQ3Jvc3NoYWlyTW92ZSh0KXt0aGlzLmViLl8odCl9c3Vic2NyaWJlRGJsQ2xpY2sodCl7dGhpcy5zYi5pKHQpfXVuc3Vic2NyaWJlRGJsQ2xpY2sodCl7dGhpcy5zYi5fKHQpfXByaWNlU2NhbGUodCxpPTApe3JldHVybiBuZXcgQWUodGhpcy5zdix0LGkpfXRpbWVTY2FsZSgpe3JldHVybiB0aGlzLmxifWFwcGx5T3B0aW9ucyh0KXt0aGlzLnN2LnZyKGplKHQpKX1vcHRpb25zKCl7cmV0dXJuIHRoaXMuc3YuTigpfXRha2VTY3JlZW5zaG90KHQ9ITEsaT0hMSl7bGV0IHMsZTt0cnl7aXx8KHM9dGhpcy5zdi5RdCgpLk4oKS5jcm9zc2hhaXIubW9kZSx0aGlzLnN2LnZyKHtjcm9zc2hhaXI6e21vZGU6Mn19KSksZT10aGlzLnN2LlNNKHQpfWZpbmFsbHl7aXx8dm9pZCAwPT09c3x8dGhpcy5zdi5RdCgpLnZyKHtjcm9zc2hhaXI6e21vZGU6c319KX1yZXR1cm4gZX1hZGRQYW5lKHQ9ITEpe2NvbnN0IGk9dGhpcy5zdi5RdCgpLmFmKCk7cmV0dXJuIGkuV18odCksdGhpcy5mYihpKX1yZW1vdmVQYW5lKHQpewp0aGlzLnN2LlF0KCkuVmQodCl9c3dhcFBhbmVzKHQsaSl7dGhpcy5zdi5RdCgpLkVkKHQsaSl9YXV0b1NpemVBY3RpdmUoKXtyZXR1cm4gdGhpcy5zdi53TSgpfWNoYXJ0RWxlbWVudCgpe3JldHVybiB0aGlzLnN2LnZ2KCl9cGFuZXMoKXtyZXR1cm4gdGhpcy5zdi5RdCgpLlpuKCkubWFwKCh0PT50aGlzLmZiKHQpKSl9cGFuZVNpemUodD0wKXtjb25zdCBpPXRoaXMuc3YuUk0odCk7cmV0dXJue2hlaWdodDppLmhlaWdodCx3aWR0aDppLndpZHRofX1zZXRDcm9zc2hhaXJQb3NpdGlvbih0LGkscyl7Y29uc3QgZT10aGlzLnRiLmdldChzKTtpZih2b2lkIDA9PT1lKXJldHVybjtjb25zdCBoPXRoaXMuc3YuUXQoKS5LcyhlKTtudWxsIT09aCYmdGhpcy5zdi5RdCgpLnFkKHQsaSxoKX1jbGVhckNyb3NzaGFpclBvc2l0aW9uKCl7dGhpcy5zdi5RdCgpLllkKCEwKX1ob3J6QmVoYXZpb3VyKCl7cmV0dXJuIHRoaXMuaGJ9dWIodCxpPXt9LHM9MCl7dSh2b2lkIDAhPT10Lm9iKSxmdW5jdGlvbih0KXtpZih2b2lkIDA9PT10fHwiY3VzdG9tIj09PXQudHlwZSlyZXR1cm47Y29uc3QgaT10O3ZvaWQgMCE9PWkubWluTW92ZSYmdm9pZCAwPT09aS5wcmVjaXNpb24mJihpLnByZWNpc2lvbj1BaShpLm1pbk1vdmUpKX0oaS5wcmljZUZvcm1hdCksIkNhbmRsZXN0aWNrIj09PXQudHlwZSYmZnVuY3Rpb24odCl7dm9pZCAwIT09dC5ib3JkZXJDb2xvciYmKHQuYm9yZGVyVXBDb2xvcj10LmJvcmRlckNvbG9yLHQuYm9yZGVyRG93bkNvbG9yPXQuYm9yZGVyQ29sb3IpLHZvaWQgMCE9PXQud2lja0NvbG9yJiYodC53aWNrVXBDb2xvcj10LndpY2tDb2xvcix0LndpY2tEb3duQ29sb3I9dC53aWNrQ29sb3IpfShpKTtjb25zdCBlPXAoTShoKSxNKHQuZGVmYXVsdE9wdGlvbnMpLGkpLG49dC5vYixyPW5ldyBqdCh0aGlzLnN2LlF0KCksdC50eXBlLGUsbix0Ll9iKTt0aGlzLnN2LlF0KCkuR2QocixzKTtjb25zdCBvPW5ldyBVZShyLHRoaXMsdGhpcyx0aGlzLHRoaXMuaGIsKHQ9PnRoaXMuZmIodCkpKTtyZXR1cm4gdGhpcy50Yi5zZXQobyxyKSx0aGlzLmliLnNldChyLG8pLG99Y2IodCl7Y29uc3QgaT10aGlzLnN2LlF0KCk7aS5LZCh0LkV0LlBjLHQuRXQudmcsdC5FdC5tZyksdC5VXy5mb3JFYWNoKCgodCxpKT0+aS5odCh0LnVlLHQucGcpKSksaS5FdCgpLl9jKCksaS5CYygpfXBiKHQpe3JldHVybiBjKHRoaXMuaWIuZ2V0KHQpKX1tYih0KXtyZXR1cm4gdm9pZCAwIT09dCYmdGhpcy5pYi5oYXModCk/dGhpcy5wYih0KTp2b2lkIDB9YWIodCl7Y29uc3QgaT1uZXcgTWFwO3QuWU0uZm9yRWFjaCgoKHQscyk9Pntjb25zdCBlPXMuYmgoKSxoPVdlKGUpKHQpO2lmKCJDdXN0b20iIT09ZSl1KEhzKGgpKTtlbHNle2NvbnN0IHQ9cy5vbCgpO3UoIXR8fCExPT09dChoKSl9aS5zZXQodGhpcy5wYihzKSxoKX0pKTtjb25zdCBzPXRoaXMubWIodC5OTSksZT12b2lkIDA9PT10LldNP3ZvaWQgMDp7dHlwZTp0LldNLmRzLHNvdXJjZUtpbmQ6dC5XTS5ITSxvYmplY3RLaW5kOnQuV00uVU0sc2VyaWVzOnRoaXMubWIodC5XTS5VXyksb2JqZWN0SWQ6dC5XTS4kTSxwYW5lSW5kZXg6dC5XTS5qTX07cmV0dXJue3RpbWU6dC5Rcixsb2dpY2FsOnQuJG4scG9pbnQ6dC5xTSxwYW5lSW5kZXg6dC5qTSxob3ZlcmVkSW5mbzplLGhvdmVyZWRTZXJpZXM6cyxob3ZlcmVkT2JqZWN0SWQ6dC5GTSxzZXJpZXNEYXRhOmksc291cmNlRXZlbnQ6dC5LTX19ZmIodCl7bGV0IGk9dGhpcy5vZC5nZXQodCk7cmV0dXJuIGl8fChpPW5ldyBaZSh0aGlzLnN2LCh0PT50aGlzLnBiKHQpKSx0LHRoaXMpLHRoaXMub2Quc2V0KHQsaSkpLGl9fWZ1bmN0aW9uIEplKHQpe2lmKGIodCkpe2NvbnN0IGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodCk7cmV0dXJuIHUobnVsbCE9PWksYENhbm5vdCBmaW5kIGVsZW1lbnQgaW4gRE9NIHdpdGggaWQ9JHt0fWApLGl9cmV0dXJuIHR9ZnVuY3Rpb24gdGgodCxpLHMpe2NvbnN0IGU9SmUodCksaD1uZXcgWGUoZSxpLHMpO3JldHVybiBpLnNldE9wdGlvbnMoaC5vcHRpb25zKCkpLGh9ZnVuY3Rpb24gaWgoKXtyZXR1cm4gb3N9ZnVuY3Rpb24gc2godCxpLHMsZSl7cmV0dXJuIE1hdGguaHlwb3Qocy10LGUtaSl9ZnVuY3Rpb24gZWgodCxpLHMsZSxoLG4scixvPTApe2lmKDA9PT1pLmxlbmd0aHx8ZS5mcm9tPj1pLmxlbmd0aHx8ZS50bzw9MClyZXR1cm47Y29uc3R7Y29udGV4dDpsLGhvcml6b250YWxQaXhlbFJhdGlvOmEsdmVydGljYWxQaXhlbFJhdGlvOnV9PXQsYz1pW2UuZnJvbV07bGV0IGY9bih0LGMpLGQ9YztpZihlLnRvLWUuZnJvbTwyKXtjb25zdCBpPWgvMjtsLmJlZ2luUGF0aCgpO2NvbnN0IHM9e190OmMuX3QtaSx1dDpjLnV0fSxlPXtfdDpjLl90K2ksdXQ6Yy51dH07bC5tb3ZlVG8ocy5fdCphLHMudXQqdSksbC5saW5lVG8oZS5fdCphLGUudXQqdSkscih0LGYscyxlKX1lbHNle2NvbnN0IGg9bz4wO2xldCBtPTA7Y29uc3QgcD0oaSxzKT0+e2lmKHIodCxmLGQscyksbC5iZWdpblBhdGgoKSxmPWksZD1zLGgpe2NvbnN0IHQ9bSVvO2wubGluZURhc2hPZmZzZXQ9dCxtPXR9fTtsZXQgZz1kO2wuYmVnaW5QYXRoKCksbC5tb3ZlVG8oYy5fdCphLGMudXQqdSk7Zm9yKGxldCByPWUuZnJvbSsxO3I8ZS50bzsrK3Ipe2c9aVtyXTtjb25zdCBlPWcuX3QqYSxvPWcudXQqdSxjPW4odCxnKTtzd2l0Y2gocyl7Y2FzZSAwOmlmKGwubGluZVRvKGUsbyksaCl7Y29uc3QgdD1pW3ItMV0scz10Ll90KmEsaD10LnV0KnU7bSs9c2gocyxoLGUsbyl9YnJlYWs7Y2FzZSAxOntjb25zdCB0PWlbci0xXSxzPXQudXQqdTtsLmxpbmVUbyhlLHMpLGgmJihtKz1NYXRoLmFicyhnLl90LXQuX3QpKmEpLGMhPT1mJiYocChjLGcpLGwubGluZVRvKGUscykpLGwubGluZVRvKGUsbyksaCYmKG0rPU1hdGguYWJzKGcudXQtdC51dCkqdSk7YnJlYWt9Y2FzZSAyOntjb25zdFt0LHNdPXJoKGksci0xLHIpLG49dC5fdCphLGM9dC51dCp1LGY9cy5fdCphLGQ9cy51dCp1O2lmKGwuYmV6aWVyQ3VydmVUbyhuLGMsZixkLGUsbyksaCl7CmNvbnN0IHQ9aVtyLTFdLHM9dC5fdCphLGg9dC51dCp1LGw9c2gocyxoLGUsbykscD1zaChzLGgsbixjKStzaChuLGMsZixkKStzaChmLGQsZSxvKTttKz0obCtwKS8yfWJyZWFrfX0xIT09cyYmYyE9PWYmJihwKGMsZyksbC5tb3ZlVG8oZSxvKSl9KGQhPT1nfHxkPT09ZyYmMT09PXMpJiZyKHQsZixkLGcpLGgmJihsLmxpbmVEYXNoT2Zmc2V0PTApfX1mdW5jdGlvbiBoaCh0LGkpe3JldHVybntfdDp0Ll90LWkuX3QsdXQ6dC51dC1pLnV0fX1mdW5jdGlvbiBuaCh0LGkpe3JldHVybntfdDp0Ll90L2ksdXQ6dC51dC9pfX1mdW5jdGlvbiByaCh0LGkscyl7Y29uc3QgZT1NYXRoLm1heCgwLGktMSksaD1NYXRoLm1pbih0Lmxlbmd0aC0xLHMrMSk7dmFyIG4scjtyZXR1cm5bKG49dFtpXSxyPW5oKGhoKHRbc10sdFtlXSksNikse190Om4uX3Qrci5fdCx1dDpuLnV0K3IudXR9KSxoaCh0W3NdLG5oKGhoKHRbaF0sdFtpXSksNikpXX1mdW5jdGlvbiBvaCh0LGkpe2NvbnN0IHM9dC5jb250ZXh0O3Muc3Ryb2tlU3R5bGU9aSxzLnN0cm9rZSgpfWNsYXNzIGxoIGV4dGVuZHMgUntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5ydD1udWxsfWh0KHQpe3RoaXMucnQ9dH1ldCh0KXtpZihudWxsPT09dGhpcy5ydClyZXR1cm47Y29uc3R7b3Q6aSxsdDpzLHdiOmUsTWI6aCxjdDpuLFp0OnIsZ2I6b309dGhpcy5ydDtpZihudWxsPT09cylyZXR1cm47Y29uc3QgYT10LmNvbnRleHQ7YS5saW5lQ2FwPSJidXR0IixhLmxpbmVXaWR0aD1uKnQudmVydGljYWxQaXhlbFJhdGlvO2NvbnN0IHU9bChhLHIpO2EubGluZUpvaW49InJvdW5kIjtjb25zdCBjPXRoaXMuYmIuYmluZCh0aGlzKSxmPWZ1bmN0aW9uKHQpe3JldHVybiB0LnJlZHVjZSgoKHQsaSk9PnQraSksMCl9KHUpO3ZvaWQgMCE9PWgmJmVoKHQsaSxoLHMsZSxjLG9oLGYpLG8mJmZ1bmN0aW9uKHQsaSxzLGUsaCl7aWYoZS50by1lLmZyb208PTApcmV0dXJuO2NvbnN0e2hvcml6b250YWxQaXhlbFJhdGlvOm4sdmVydGljYWxQaXhlbFJhdGlvOnIsY29udGV4dDpvfT10O2xldCBsPW51bGw7Y29uc3QgYT1NYXRoLm1heCgxLE1hdGguZmxvb3IobikpJTIvMix1PXMqcithO2ZvcihsZXQgcz1lLnRvLTE7cz49ZS5mcm9tOy0tcyl7Y29uc3QgZT1pW3NdO2lmKGUpe2NvbnN0IGk9aCh0LGUpO2khPT1sJiYobnVsbCE9PWwmJm8uZmlsbCgpLG8uYmVnaW5QYXRoKCksby5maWxsU3R5bGU9aSxsPWkpO2NvbnN0IHM9TWF0aC5yb3VuZChlLl90Km4pK2EsYz1lLnV0KnI7by5tb3ZlVG8ocyxjKSxvLmFyYyhzLGMsdSwwLDIqTWF0aC5QSSl9fW8uZmlsbCgpfSh0LGksbyxzLGMpfX1jbGFzcyBhaCBleHRlbmRzIGxoe2JiKHQsaSl7cmV0dXJuIGkudnR9fWZ1bmN0aW9uIHVoKHQsaSxzLGUsaCl7Y29uc3Qgbj0xLWg7cmV0dXJuIG4qbipuKnQrMypuKm4qaCppKzMqbipoKmgqcytoKmgqaCplfWZ1bmN0aW9uIGNoKHQsaSxzLGUsaCl7aWYoMj09PXMpe2NvbnN0W3Msbl09cmgoZSxoLTEsaCk7cmV0dXJuW01hdGgubWluKHQuX3QsaS5fdCxzLl90LG4uX3QpLE1hdGgubWF4KHQuX3QsaS5fdCxzLl90LG4uX3QpXX1yZXR1cm5bTWF0aC5taW4odC5fdCxpLl90KSxNYXRoLm1heCh0Ll90LGkuX3QpXX1mdW5jdGlvbiBmaCh0LGkscyxlLGgsbixyLG8pe3N3aXRjaChoKXtjYXNlIDE6e2NvbnN0IGg9cGUodCxpLHMuX3Qscy51dCxlLl90LHMudXQpLG49cGUodCxpLGUuX3Qscy51dCxlLl90LGUudXQpLHI9TWF0aC5taW4oaCxuKTtyZXR1cm4gcjw9bz9yOm51bGx9Y2FzZSAyOntjb25zdFtoLGxdPXJoKG4sci0xLHIpLGE9ZnVuY3Rpb24odCxpLHMpe2xldCBlPU51bWJlci5QT1NJVElWRV9JTkZJTklUWSxoPXNbMF07Zm9yKGxldCBuPTE7bjw9MTI7bisrKXtjb25zdCByPW4vMTIsbz17X3Q6dWgoc1swXS5fdCxzWzFdLl90LHNbMl0uX3Qsc1szXS5fdCxyKSx1dDp1aChzWzBdLnV0LHNbMV0udXQsc1syXS51dCxzWzNdLnV0LHIpfTtlPU1hdGgubWluKGUscGUodCxpLGguX3QsaC51dCxvLl90LG8udXQpKSxoPW99cmV0dXJuIGV9KHQsaSxbcyxoLGwsZV0pO3JldHVybiBhPD1vP2E6bnVsbH1kZWZhdWx0Ontjb25zdCBoPXBlKHQsaSxzLl90LHMudXQsZS5fdCxlLnV0KTtyZXR1cm4gaDw9bz9oOm51bGx9fX1jbGFzcyBkaCBleHRlbmRzIHhle2NvbnN0cnVjdG9yKHQsaSl7c3VwZXIodCxpLCEwKX1WZyh0LGkscyl7aS5UYyh0aGlzLmJnLFModGhpcy5TZykpLHQuWm8odGhpcy5iZyxzLFModGhpcy5TZykpfVNiKHQsaSl7cmV0dXJue3d0OnQsTXQ6aSxfdDpOYU4sdXQ6TmFOfX1EZygpe2NvbnN0IHQ9dGhpcy5hZS5TYSgpO3RoaXMuYmc9dGhpcy5hZS5IYSgpLkJoKCkubWFwKChpPT57bGV0IHM7aWYoKGkuWnI/PzEpPjEpe2NvbnN0IHQ9aS5XdFsxXSxlPWkuV3RbMl0saD1pLld0WzNdO3M9TWF0aC5hYnModC1oKT5NYXRoLmFicyhlLWgpP3Q6ZX1lbHNlIHM9aS5XdFszXTtyZXR1cm4gdGhpcy54YihpLiRuLHMsdCl9KSl9fWNsYXNzIG1oIGV4dGVuZHMgZGh7UGcodCxpKXtjb25zdCBzPXRoaXMuYWUuTigpO3JldHVybiBmdW5jdGlvbih0LGkscyxlLGgsbixyLG89MCxsPTApe2lmKG51bGw9PT1pfHxpLmZyb20+PWkudG98fDA9PT10Lmxlbmd0aClyZXR1cm4gbnVsbDtjb25zdCBhPU1hdGgubWF4KG4vMixyPz8wKStsO2xldCB1PU51bWJlci5QT1NJVElWRV9JTkZJTklUWTtpZih2b2lkIDAhPT1yKXtjb25zdCBoPXIrbCxuPWNlKHQscy1oLGkuZnJvbSxpLnRvKSxvPWZlKHQscytoLG4saS50byk7Zm9yKGxldCBpPW47aTxvO2krKyl7Y29uc3QgaD10W2ldO2lmKCFtZShzLGguX3QsaC5fdCxyK2wpKWNvbnRpbnVlO2NvbnN0IG49TWF0aC5oeXBvdChzLWguX3QsZS1oLnV0KTtuPD1yK2wmJih1PU1hdGgubWluKHUsbikpfX1pZihpLnRvLWkuZnJvbTwyKXtjb25zdCBoPXRbaS5mcm9tXSxuPU1hdGgubWF4KG8vMixhKSxyPXBlKHMsZSxoLl90LW4saC51dCxoLl90K24saC51dCk7cmV0dXJuIHI8PWEmJih1PU1hdGgubWluKHUscikpLE51bWJlci5pc0Zpbml0ZSh1KT9kZSh1LDIsInNlcmllcy1wb2ludCIpOm51bGx9bGV0IGM9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZCjtjb25zdCBmPWNlKHQscy1hLGkuZnJvbSxpLnRvKSxkPWZlKHQscythLGYsaS50byksbT1NYXRoLm1heChpLmZyb20rMSxmKSxwPU1hdGgubWluKGkudG8sZCsxKTtmb3IobGV0IGk9bTtpPHA7aSsrKXtjb25zdCBuPXRbaS0xXSxyPXRbaV0sW28sbF09Y2gobixyLGgsdCxpKTtpZighbWUocyxvLGwsYSkpY29udGludWU7Y29uc3QgdT1maChzLGUsbixyLGgsdCxpLGEpO251bGwhPT11JiYoYz1NYXRoLm1pbihjLHUpKX1yZXR1cm4gTnVtYmVyLmlzRmluaXRlKHUpP2RlKHUsMiwic2VyaWVzLXBvaW50Iik6TnVtYmVyLmlzRmluaXRlKGMpP2RlKGMsMSwic2VyaWVzLWxpbmUiKTpudWxsfSh0aGlzLmJnLHRoaXMuU2csdCxpLHMubGluZVR5cGUscy5saW5lVmlzaWJsZT9zLmxpbmVXaWR0aDoxLHMucG9pbnRNYXJrZXJzVmlzaWJsZT9zLnBvaW50TWFya2Vyc1JhZGl1c3x8cy5saW5lV2lkdGgvMisyOnZvaWQgMCx0aGlzLmxlLkV0KCkuZmwoKSxzLmhpdFRlc3RUb2xlcmFuY2UpfX1jbGFzcyBwaCBleHRlbmRzIG1oe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLmtnPW5ldyBhaH14Yih0LGkscyl7cmV0dXJuey4uLnRoaXMuU2IodCxpKSwuLi5zLlNoKHQpfX1CZygpe2NvbnN0IHQ9dGhpcy5hZS5OKCksaT17b3Q6dGhpcy5iZyxadDp0LmxpbmVTdHlsZSxNYjp0LmxpbmVWaXNpYmxlP3QubGluZVR5cGU6dm9pZCAwLGN0OnQubGluZVdpZHRoLGdiOnQucG9pbnRNYXJrZXJzVmlzaWJsZT90LnBvaW50TWFya2Vyc1JhZGl1c3x8dC5saW5lV2lkdGgvMisyOnZvaWQgMCxsdDp0aGlzLlNnLHdiOnRoaXMubGUuRXQoKS5mbCgpfTt0aGlzLmtnLmh0KGkpfX1jb25zdCBnaD17dHlwZToiTGluZSIsaXNCdWlsdEluOiEwLGRlZmF1bHRPcHRpb25zOntjb2xvcjoiIzIxOTZmMyIsbGluZVN0eWxlOjAsbGluZVdpZHRoOjMsbGluZVR5cGU6MCxsaW5lVmlzaWJsZTohMCxjcm9zc2hhaXJNYXJrZXJWaXNpYmxlOiEwLGNyb3NzaGFpck1hcmtlclJhZGl1czo0LGNyb3NzaGFpck1hcmtlckJvcmRlckNvbG9yOiIiLGNyb3NzaGFpck1hcmtlckJvcmRlcldpZHRoOjIsY3Jvc3NoYWlyTWFya2VyQmFja2dyb3VuZENvbG9yOiIiLGxhc3RQcmljZUFuaW1hdGlvbjowLHBvaW50TWFya2Vyc1Zpc2libGU6ITF9LG9iOih0LGkpPT5uZXcgcGgodCxpKX07ZnVuY3Rpb24gdmgodCxpLHMsZSxoKXtjb25zdHtjb250ZXh0Om4saG9yaXpvbnRhbFBpeGVsUmF0aW86cix2ZXJ0aWNhbFBpeGVsUmF0aW86b309aTtuLmxpbmVUbyhoLl90KnIsdCpvKSxuLmxpbmVUbyhlLl90KnIsdCpvKSxuLmNsb3NlUGF0aCgpLG4uZmlsbFN0eWxlPXMsbi5maWxsKCl9Y2xhc3MgYmggZXh0ZW5kcyBSe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnJ0PW51bGx9aHQodCl7dGhpcy5ydD10fWV0KHQpe2lmKG51bGw9PT10aGlzLnJ0KXJldHVybjtjb25zdHtvdDppLGx0OnMsd2I6ZSxjdDpoLFp0Om4sTWI6cn09dGhpcy5ydCxvPXRoaXMucnQuRGI/Pyh0aGlzLnJ0LkliPzA6dC5tZWRpYVNpemUuaGVpZ2h0KTtpZihudWxsPT09cylyZXR1cm47Y29uc3QgYT10LmNvbnRleHQ7YS5saW5lQ2FwPSJidXR0IixhLmxpbmVKb2luPSJyb3VuZCIsYS5saW5lV2lkdGg9aCxsKGEsbiksYS5saW5lV2lkdGg9MSxlaCh0LGkscixzLGUsdGhpcy5WYi5iaW5kKHRoaXMpLHZoLmJpbmQobnVsbCxvKSl9fWNsYXNzIHdoe0JiKHQsaSl7Y29uc3Qgcz10aGlzLkViLHtBYjplLExiOmgsemI6bixPYjpyLERiOm8sTmI6bCxGYjphfT1pO2lmKHZvaWQgMD09PXRoaXMuV2J8fHZvaWQgMD09PXN8fHMuQWIhPT1lfHxzLkxiIT09aHx8cy56YiE9PW58fHMuT2IhPT1yfHxzLkRiIT09b3x8cy5OYiE9PWx8fHMuRmIhPT1hKXtjb25zdHt2ZXJ0aWNhbFBpeGVsUmF0aW86c309dCx1PW98fGw+MD9zOjEsYz1sKnUsZj1hPT09dC5iaXRtYXBTaXplLmhlaWdodD9hOmEqdSxkPShvPz8wKSp1LG09dC5jb250ZXh0LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsYywwLGYpO2lmKG0uYWRkQ29sb3JTdG9wKDAsZSksbnVsbCE9byl7Y29uc3QgdD1paSgoZC1jKS8oZi1jKSwwLDEpO20uYWRkQ29sb3JTdG9wKHQsaCksbS5hZGRDb2xvclN0b3AodCxuKX1tLmFkZENvbG9yU3RvcCgxLHIpLHRoaXMuV2I9bSx0aGlzLkViPWl9cmV0dXJuIHRoaXMuV2J9fWNsYXNzIE1oIGV4dGVuZHMgYmh7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuSGI9bmV3IHdofVZiKHQsaSl7Y29uc3Qgcz10aGlzLnJ0O3JldHVybiB0aGlzLkhiLkJiKHQse0FiOmkuZGgsTGI6aS5maCx6YjppLnBoLE9iOmkubWgsRGI6cy5EYixOYjpzLk5iPz8wLEZiOnMuRmI/P3QuYml0bWFwU2l6ZS5oZWlnaHR9KX19Y2xhc3MgeWggZXh0ZW5kcyBsaHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5VYj1uZXcgd2h9YmIodCxpKXtjb25zdCBzPXRoaXMucnQ7cmV0dXJuIHRoaXMuVWIuQmIodCx7QWI6aS5faCxMYjppLl9oLHpiOmkudWgsT2I6aS51aCxEYjpzLkRiLE5iOnMuTmI/PzAsRmI6cy5GYj8/dC5iaXRtYXBTaXplLmhlaWdodH0pfX1jbGFzcyBTaCBleHRlbmRzIG1oe2NvbnN0cnVjdG9yKHQsaSl7c3VwZXIodCxpKSx0aGlzLmtnPW5ldyBULHRoaXMuJGI9bmV3IE1oLHRoaXMuamI9bmV3IHloLHRoaXMua2cubnQoW3RoaXMuJGIsdGhpcy5qYl0pfXhiKHQsaSxzKXtyZXR1cm57Li4udGhpcy5TYih0LGkpLC4uLnMuU2godCl9fUJnKCl7Y29uc3QgdD10aGlzLmFlLkx0KCk7aWYobnVsbD09PXQpcmV0dXJuO2NvbnN0IGk9dGhpcy5hZS5OKCkscz10aGlzLmFlLkZ0KCkuTnQoaS5iYXNlVmFsdWUucHJpY2UsdC5XdCksZT10aGlzLmxlLkV0KCkuZmwoKTtpZihudWxsPT09dGhpcy5TZ3x8MD09PXRoaXMuYmcubGVuZ3RoKXJldHVybjtsZXQgaCxuO2lmKGkucmVsYXRpdmVHcmFkaWVudCl7aD10aGlzLmJnW3RoaXMuU2cuZnJvbV0udXQsbj10aGlzLmJnW3RoaXMuU2cuZnJvbV0udXQ7Zm9yKGxldCB0PXRoaXMuU2cuZnJvbTt0PHRoaXMuU2cudG87dCsrKXtjb25zdCBpPXRoaXMuYmdbdF07aS51dDxoJiYoaD1pLnV0KSxpLnV0Pm4mJihuPWkudXQpfX0KdGhpcy4kYi5odCh7b3Q6dGhpcy5iZyxjdDppLmxpbmVXaWR0aCxadDppLmxpbmVTdHlsZSxNYjppLmxpbmVUeXBlLERiOnMsTmI6aCxGYjpuLEliOiExLGx0OnRoaXMuU2csd2I6ZX0pLHRoaXMuamIuaHQoe290OnRoaXMuYmcsY3Q6aS5saW5lV2lkdGgsWnQ6aS5saW5lU3R5bGUsTWI6aS5saW5lVmlzaWJsZT9pLmxpbmVUeXBlOnZvaWQgMCxnYjppLnBvaW50TWFya2Vyc1Zpc2libGU/aS5wb2ludE1hcmtlcnNSYWRpdXN8fGkubGluZVdpZHRoLzIrMjp2b2lkIDAsRGI6cyxOYjpoLEZiOm4sbHQ6dGhpcy5TZyx3YjplfSl9fWNvbnN0IHhoPXt0eXBlOiJCYXNlbGluZSIsaXNCdWlsdEluOiEwLGRlZmF1bHRPcHRpb25zOntiYXNlVmFsdWU6e3R5cGU6InByaWNlIixwcmljZTowfSxyZWxhdGl2ZUdyYWRpZW50OiExLHRvcEZpbGxDb2xvcjE6InJnYmEoMzgsIDE2NiwgMTU0LCAwLjI4KSIsdG9wRmlsbENvbG9yMjoicmdiYSgzOCwgMTY2LCAxNTQsIDAuMDUpIix0b3BMaW5lQ29sb3I6InJnYmEoMzgsIDE2NiwgMTU0LCAxKSIsYm90dG9tRmlsbENvbG9yMToicmdiYSgyMzksIDgzLCA4MCwgMC4wNSkiLGJvdHRvbUZpbGxDb2xvcjI6InJnYmEoMjM5LCA4MywgODAsIDAuMjgpIixib3R0b21MaW5lQ29sb3I6InJnYmEoMjM5LCA4MywgODAsIDEpIixsaW5lV2lkdGg6MyxsaW5lU3R5bGU6MCxsaW5lVHlwZTowLGxpbmVWaXNpYmxlOiEwLGNyb3NzaGFpck1hcmtlclZpc2libGU6ITAsY3Jvc3NoYWlyTWFya2VyUmFkaXVzOjQsY3Jvc3NoYWlyTWFya2VyQm9yZGVyQ29sb3I6IiIsY3Jvc3NoYWlyTWFya2VyQm9yZGVyV2lkdGg6Mixjcm9zc2hhaXJNYXJrZXJCYWNrZ3JvdW5kQ29sb3I6IiIsbGFzdFByaWNlQW5pbWF0aW9uOjAscG9pbnRNYXJrZXJzVmlzaWJsZTohMX0sb2I6KHQsaSk9Pm5ldyBTaCh0LGkpfTtjbGFzcyBfaCBleHRlbmRzIGJoe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLkhiPW5ldyB3aH1WYih0LGkpe3JldHVybiB0aGlzLkhiLkJiKHQse0FiOmkuYWgsTGI6IiIsemI6IiIsT2I6aS5vaCxOYjp0aGlzLnJ0Py5OYj8/MCxGYjp0LmJpdG1hcFNpemUuaGVpZ2h0fSl9fWNsYXNzIENoIGV4dGVuZHMgbWh7Y29uc3RydWN0b3IodCxpKXtzdXBlcih0LGkpLHRoaXMua2c9bmV3IFQsdGhpcy5xYj1uZXcgX2gsdGhpcy5ZYj1uZXcgYWgsdGhpcy5rZy5udChbdGhpcy5xYix0aGlzLlliXSl9eGIodCxpLHMpe3JldHVybnsuLi50aGlzLlNiKHQsaSksLi4ucy5TaCh0KX19QmcoKXtjb25zdCB0PXRoaXMuYWUuTigpO2lmKG51bGw9PT10aGlzLlNnfHwwPT09dGhpcy5iZy5sZW5ndGgpcmV0dXJuO2xldCBpO2lmKHQucmVsYXRpdmVHcmFkaWVudCl7aT10aGlzLmJnW3RoaXMuU2cuZnJvbV0udXQ7Zm9yKGxldCB0PXRoaXMuU2cuZnJvbTt0PHRoaXMuU2cudG87dCsrKXtjb25zdCBzPXRoaXMuYmdbdF07cy51dDxpJiYoaT1zLnV0KX19dGhpcy5xYi5odCh7TWI6dC5saW5lVHlwZSxvdDp0aGlzLmJnLFp0OnQubGluZVN0eWxlLGN0OnQubGluZVdpZHRoLERiOm51bGwsTmI6aSxJYjp0LmludmVydEZpbGxlZEFyZWEsbHQ6dGhpcy5TZyx3Yjp0aGlzLmxlLkV0KCkuZmwoKX0pLHRoaXMuWWIuaHQoe01iOnQubGluZVZpc2libGU/dC5saW5lVHlwZTp2b2lkIDAsb3Q6dGhpcy5iZyxadDp0LmxpbmVTdHlsZSxjdDp0LmxpbmVXaWR0aCxsdDp0aGlzLlNnLHdiOnRoaXMubGUuRXQoKS5mbCgpLGdiOnQucG9pbnRNYXJrZXJzVmlzaWJsZT90LnBvaW50TWFya2Vyc1JhZGl1c3x8dC5saW5lV2lkdGgvMisyOnZvaWQgMH0pfX1jb25zdCBraD17dHlwZToiQXJlYSIsaXNCdWlsdEluOiEwLGRlZmF1bHRPcHRpb25zOnt0b3BDb2xvcjoicmdiYSggNDYsIDIyMCwgMTM1LCAwLjQpIixib3R0b21Db2xvcjoicmdiYSggNDAsIDIyMSwgMTAwLCAwKSIsaW52ZXJ0RmlsbGVkQXJlYTohMSxyZWxhdGl2ZUdyYWRpZW50OiExLGxpbmVDb2xvcjoiIzMzRDc3OCIsbGluZVN0eWxlOjAsbGluZVdpZHRoOjMsbGluZVR5cGU6MCxsaW5lVmlzaWJsZTohMCxjcm9zc2hhaXJNYXJrZXJWaXNpYmxlOiEwLGNyb3NzaGFpck1hcmtlclJhZGl1czo0LGNyb3NzaGFpck1hcmtlckJvcmRlckNvbG9yOiIiLGNyb3NzaGFpck1hcmtlckJvcmRlcldpZHRoOjIsY3Jvc3NoYWlyTWFya2VyQmFja2dyb3VuZENvbG9yOiIiLGxhc3RQcmljZUFuaW1hdGlvbjowLHBvaW50TWFya2Vyc1Zpc2libGU6ITF9LG9iOih0LGkpPT5uZXcgQ2godCxpKX07Y2xhc3MgRWggZXh0ZW5kcyBSe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnF0PW51bGwsdGhpcy5LYj0wLHRoaXMuWmI9MH1odCh0KXt0aGlzLnF0PXR9ZXQoe2NvbnRleHQ6dCxob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzpzfSl7aWYobnVsbD09PXRoaXMucXR8fDA9PT10aGlzLnF0LlVuLmxlbmd0aHx8bnVsbD09PXRoaXMucXQubHQpcmV0dXJuO3RoaXMuS2I9dGhpcy5HYihpKSx0aGlzLktiPj0yJiZNYXRoLm1heCgxLE1hdGguZmxvb3IoaSkpJTIhPXRoaXMuS2IlMiYmdGhpcy5LYi0tLHRoaXMuWmI9dGhpcy5xdC5YYj9NYXRoLm1pbih0aGlzLktiLE1hdGguZmxvb3IoaSkpOnRoaXMuS2I7bGV0IGU9bnVsbDtjb25zdCBoPXRoaXMuWmI8PXRoaXMuS2ImJnRoaXMucXQuZmw+PU1hdGguZmxvb3IoMS41KmkpO2ZvcihsZXQgbj10aGlzLnF0Lmx0LmZyb207bjx0aGlzLnF0Lmx0LnRvOysrbil7Y29uc3Qgcj10aGlzLnF0LlVuW25dO2UhPT1yLnNoJiYodC5maWxsU3R5bGU9ci5zaCxlPXIuc2gpO2NvbnN0IG89TWF0aC5mbG9vciguNSp0aGlzLlpiKSxsPU1hdGgucm91bmQoci5fdCppKSxhPWwtbyx1PXRoaXMuWmIsYz1hK3UtMSxmPU1hdGgubWluKHIuUW8sci50XyksZD1NYXRoLm1heChyLlFvLHIudF8pLG09TWF0aC5yb3VuZChmKnMpLW8scD1NYXRoLnJvdW5kKGQqcykrbyxnPU1hdGgubWF4KHAtbSx0aGlzLlpiKTt0LmZpbGxSZWN0KGEsbSx1LGcpO2NvbnN0IHY9TWF0aC5jZWlsKDEuNSp0aGlzLktiKTtpZihoKXtpZih0aGlzLnF0LkpiKXtjb25zdCBpPWwtdgo7bGV0IGU9TWF0aC5tYXgobSxNYXRoLnJvdW5kKHIuSm8qcyktbyksaD1lK3UtMTtoPm0rZy0xJiYoaD1tK2ctMSxlPWgtdSsxKSx0LmZpbGxSZWN0KGksZSxhLWksaC1lKzEpfWNvbnN0IGk9bCt2O2xldCBlPU1hdGgubWF4KG0sTWF0aC5yb3VuZChyLmlfKnMpLW8pLGg9ZSt1LTE7aD5tK2ctMSYmKGg9bStnLTEsZT1oLXUrMSksdC5maWxsUmVjdChjKzEsZSxpLWMsaC1lKzEpfX19R2IodCl7Y29uc3QgaT1NYXRoLmZsb29yKHQpO3JldHVybiBNYXRoLm1heChpLE1hdGguZmxvb3IoZnVuY3Rpb24odCxpKXtyZXR1cm4gTWF0aC5mbG9vciguMyp0KmkpfShmKHRoaXMucXQpLmZsLHQpKSl9fWNsYXNzIE5oIGV4dGVuZHMgeGV7Y29uc3RydWN0b3IodCxpKXtzdXBlcih0LGksITEpfVBnKHQsaSl7cmV0dXJuIHdlKHRoaXMuYmcsdGhpcy5TZyx0LGksdGhpcy5sZS5FdCgpLmZsKCksdGhpcy5hZS5OKCkuaGl0VGVzdFRvbGVyYW5jZSwoKHQsaSk9PntpWzBdPXQuUW8saVsxXT10LnRffSkpfVZnKHQsaSxzKXtpLlRjKHRoaXMuYmcsUyh0aGlzLlNnKSksdC5Ybyh0aGlzLmJnLHMsUyh0aGlzLlNnKSl9UWIodCxpLHMpe3JldHVybnt3dDp0LGpyOmkuV3RbMF0scXI6aS5XdFsxXSxZcjppLld0WzJdLEtyOmkuV3RbM10sX3Q6TmFOLEpvOk5hTixRbzpOYU4sdF86TmFOLGlfOk5hTn19RGcoKXtjb25zdCB0PXRoaXMuYWUuU2EoKTt0aGlzLmJnPXRoaXMuYWUuSGEoKS5CaCgpLm1hcCgoaT0+dGhpcy54YihpLiRuLGksdCkpKX19Y2xhc3MgVGggZXh0ZW5kcyBOaHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5rZz1uZXcgRWh9eGIodCxpLHMpe3JldHVybnsuLi50aGlzLlFiKHQsaSxzKSwuLi5zLlNoKHQpfX1CZygpe2NvbnN0IHQ9dGhpcy5hZS5OKCk7dGhpcy5rZy5odCh7VW46dGhpcy5iZyxmbDp0aGlzLmxlLkV0KCkuZmwoKSxKYjp0Lm9wZW5WaXNpYmxlLFhiOnQudGhpbkJhcnMsbHQ6dGhpcy5TZ30pfX1jb25zdCBSaD17dHlwZToiQmFyIixpc0J1aWx0SW46ITAsZGVmYXVsdE9wdGlvbnM6e3VwQ29sb3I6IiMyNmE2OWEiLGRvd25Db2xvcjoiI2VmNTM1MCIsb3BlblZpc2libGU6ITAsdGhpbkJhcnM6ITB9LG9iOih0LGkpPT5uZXcgVGgodCxpKX07Y2xhc3MgUGggZXh0ZW5kcyBSe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnF0PW51bGwsdGhpcy5LYj0wfWh0KHQpe3RoaXMucXQ9dH1ldCh0KXtpZihudWxsPT09dGhpcy5xdHx8MD09PXRoaXMucXQuVW4ubGVuZ3RofHxudWxsPT09dGhpcy5xdC5sdClyZXR1cm47Y29uc3R7aG9yaXpvbnRhbFBpeGVsUmF0aW86aX09dDt0aGlzLktiPWZ1bmN0aW9uKHQsaSl7aWYodD49Mi41JiZ0PD00KXJldHVybiBNYXRoLmZsb29yKDMqaSk7Y29uc3Qgcz0xLS4yKk1hdGguYXRhbihNYXRoLm1heCg0LHQpLTQpLyguNSpNYXRoLlBJKSxlPU1hdGguZmxvb3IodCpzKmkpLGg9TWF0aC5mbG9vcih0KmkpLG49TWF0aC5taW4oZSxoKTtyZXR1cm4gTWF0aC5tYXgoTWF0aC5mbG9vcihpKSxuKX0odGhpcy5xdC5mbCxpKSx0aGlzLktiPj0yJiZNYXRoLmZsb29yKGkpJTIhPXRoaXMuS2IlMiYmdGhpcy5LYi0tO2NvbnN0IHM9dGhpcy5xdC5Vbjt0aGlzLnF0LnRTJiZ0aGlzLmlTKHQscyx0aGlzLnF0Lmx0KSx0aGlzLnF0LmdpJiZ0aGlzLlJtKHQscyx0aGlzLnF0Lmx0KTtjb25zdCBlPXRoaXMublMoaSk7KCF0aGlzLnF0LmdpfHx0aGlzLktiPjIqZSkmJnRoaXMuc1ModCxzLHRoaXMucXQubHQpfWlTKHQsaSxzKXtpZihudWxsPT09dGhpcy5xdClyZXR1cm47Y29uc3R7Y29udGV4dDplLGhvcml6b250YWxQaXhlbFJhdGlvOmgsdmVydGljYWxQaXhlbFJhdGlvOm59PXQ7bGV0IHI9IiIsbz1NYXRoLm1pbihNYXRoLmZsb29yKGgpLE1hdGguZmxvb3IodGhpcy5xdC5mbCpoKSk7bz1NYXRoLm1heChNYXRoLmZsb29yKGgpLE1hdGgubWluKG8sdGhpcy5LYikpO2NvbnN0IGw9TWF0aC5mbG9vciguNSpvKTtsZXQgYT1udWxsO2ZvcihsZXQgdD1zLmZyb207dDxzLnRvO3QrKyl7Y29uc3Qgcz1pW3RdO3MucmghPT1yJiYoZS5maWxsU3R5bGU9cy5yaCxyPXMucmgpO2NvbnN0IHU9TWF0aC5yb3VuZChNYXRoLm1pbihzLkpvLHMuaV8pKm4pLGM9TWF0aC5yb3VuZChNYXRoLm1heChzLkpvLHMuaV8pKm4pLGY9TWF0aC5yb3VuZChzLlFvKm4pLGQ9TWF0aC5yb3VuZChzLnRfKm4pO2xldCBtPU1hdGgucm91bmQoaCpzLl90KS1sO2NvbnN0IHA9bStvLTE7bnVsbCE9PWEmJihtPU1hdGgubWF4KGErMSxtKSxtPU1hdGgubWluKG0scCkpO2NvbnN0IGc9cC1tKzE7ZS5maWxsUmVjdChtLGYsZyx1LWYpLGUuZmlsbFJlY3QobSxjKzEsZyxkLWMpLGE9cH19blModCl7bGV0IGk9TWF0aC5mbG9vcigxKnQpO3RoaXMuS2I8PTIqaSYmKGk9TWF0aC5mbG9vciguNSoodGhpcy5LYi0xKSkpO2NvbnN0IHM9TWF0aC5tYXgoTWF0aC5mbG9vcih0KSxpKTtyZXR1cm4gdGhpcy5LYjw9MipzP01hdGgubWF4KE1hdGguZmxvb3IodCksTWF0aC5mbG9vcigxKnQpKTpzfVJtKHQsaSxzKXtpZihudWxsPT09dGhpcy5xdClyZXR1cm47Y29uc3R7Y29udGV4dDplLGhvcml6b250YWxQaXhlbFJhdGlvOmgsdmVydGljYWxQaXhlbFJhdGlvOm59PXQ7bGV0IHI9IiI7Y29uc3Qgbz10aGlzLm5TKGgpO2xldCBsPW51bGw7Zm9yKGxldCB0PXMuZnJvbTt0PHMudG87dCsrKXtjb25zdCBzPWlbdF07cy5laCE9PXImJihlLmZpbGxTdHlsZT1zLmVoLHI9cy5laCk7bGV0IGE9TWF0aC5yb3VuZChzLl90KmgpLU1hdGguZmxvb3IoLjUqdGhpcy5LYik7Y29uc3QgdT1hK3RoaXMuS2ItMSxjPU1hdGgucm91bmQoTWF0aC5taW4ocy5KbyxzLmlfKSpuKSxmPU1hdGgucm91bmQoTWF0aC5tYXgocy5KbyxzLmlfKSpuKTtpZihudWxsIT09bCYmKGE9TWF0aC5tYXgobCsxLGEpLGE9TWF0aC5taW4oYSx1KSksdGhpcy5xdC5mbCpoPjIqbylXKGUsYSxjLHUtYSsxLGYtYysxLG8pO2Vsc2V7Y29uc3QgdD11LWErMTtlLmZpbGxSZWN0KGEsYyx0LGYtYysxKX1sPXV9fXNTKHQsaSxzKXtpZihudWxsPT09dGhpcy5xdClyZXR1cm4KO2NvbnN0e2NvbnRleHQ6ZSxob3Jpem9udGFsUGl4ZWxSYXRpbzpoLHZlcnRpY2FsUGl4ZWxSYXRpbzpufT10O2xldCByPSIiO2NvbnN0IG89dGhpcy5uUyhoKTtmb3IobGV0IHQ9cy5mcm9tO3Q8cy50bzt0Kyspe2NvbnN0IHM9aVt0XTtsZXQgbD1NYXRoLnJvdW5kKE1hdGgubWluKHMuSm8scy5pXykqbiksYT1NYXRoLnJvdW5kKE1hdGgubWF4KHMuSm8scy5pXykqbiksdT1NYXRoLnJvdW5kKHMuX3QqaCktTWF0aC5mbG9vciguNSp0aGlzLktiKSxjPXUrdGhpcy5LYi0xO2lmKHMuc2ghPT1yKXtjb25zdCB0PXMuc2g7ZS5maWxsU3R5bGU9dCxyPXR9dGhpcy5xdC5naSYmKHUrPW8sbCs9byxjLT1vLGEtPW8pLGw+YXx8ZS5maWxsUmVjdCh1LGwsYy11KzEsYS1sKzEpfX19Y2xhc3MgemggZXh0ZW5kcyBOaHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5rZz1uZXcgUGh9eGIodCxpLHMpe3JldHVybnsuLi50aGlzLlFiKHQsaSxzKSwuLi5zLlNoKHQpfX1CZygpe2NvbnN0IHQ9dGhpcy5hZS5OKCk7dGhpcy5rZy5odCh7VW46dGhpcy5iZyxmbDp0aGlzLmxlLkV0KCkuZmwoKSx0Uzp0LndpY2tWaXNpYmxlLGdpOnQuYm9yZGVyVmlzaWJsZSxsdDp0aGlzLlNnfSl9fWNvbnN0IEloPXt0eXBlOiJDYW5kbGVzdGljayIsaXNCdWlsdEluOiEwLGRlZmF1bHRPcHRpb25zOnt1cENvbG9yOiIjMjZhNjlhIixkb3duQ29sb3I6IiNlZjUzNTAiLHdpY2tWaXNpYmxlOiEwLGJvcmRlclZpc2libGU6ITAsYm9yZGVyQ29sb3I6IiMzNzg2NTgiLGJvcmRlclVwQ29sb3I6IiMyNmE2OWEiLGJvcmRlckRvd25Db2xvcjoiI2VmNTM1MCIsd2lja0NvbG9yOiIjNzM3Mzc1Iix3aWNrVXBDb2xvcjoiIzI2YTY5YSIsd2lja0Rvd25Db2xvcjoiI2VmNTM1MCJ9LG9iOih0LGkpPT5uZXcgemgodCxpKX07Y2xhc3MgTGggZXh0ZW5kcyBSe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnF0PW51bGwsdGhpcy5lUz1bXX1odCh0KXt0aGlzLnF0PXQsdGhpcy5lUz1bXX1ldCh7Y29udGV4dDp0LGhvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOnN9KXtpZihudWxsPT09dGhpcy5xdHx8MD09PXRoaXMucXQub3QubGVuZ3RofHxudWxsPT09dGhpcy5xdC5sdClyZXR1cm47dGhpcy5lUy5sZW5ndGh8fHRoaXMuclMoaSk7Y29uc3QgZT1NYXRoLm1heCgxLE1hdGguZmxvb3IocykpLGg9TWF0aC5yb3VuZCh0aGlzLnF0LmhTKnMpLU1hdGguZmxvb3IoZS8yKSxuPWgrZTtmb3IobGV0IGk9dGhpcy5xdC5sdC5mcm9tO2k8dGhpcy5xdC5sdC50bztpKyspe2NvbnN0IHI9dGhpcy5xdC5vdFtpXSxvPXRoaXMuZVNbaS10aGlzLnF0Lmx0LmZyb21dLGw9TWF0aC5yb3VuZChyLnV0KnMpO2xldCBhLHU7dC5maWxsU3R5bGU9ci5zaCxsPD1oPyhhPWwsdT1uKTooYT1oLHU9bC1NYXRoLmZsb29yKGUvMikrZSksdC5maWxsUmVjdChvLk9hLGEsby5iaS1vLk9hKzEsdS1hKX19clModCl7aWYobnVsbD09PXRoaXMucXR8fDA9PT10aGlzLnF0Lm90Lmxlbmd0aHx8bnVsbD09PXRoaXMucXQubHQpcmV0dXJuIHZvaWQodGhpcy5lUz1bXSk7Y29uc3QgaT1NYXRoLmNlaWwodGhpcy5xdC5mbCp0KTw9MT8wOk1hdGgubWF4KDEsTWF0aC5mbG9vcih0KSkscz1NYXRoLnJvdW5kKHRoaXMucXQuZmwqdCktaTt0aGlzLmVTPW5ldyBBcnJheSh0aGlzLnF0Lmx0LnRvLXRoaXMucXQubHQuZnJvbSk7Zm9yKGxldCBpPXRoaXMucXQubHQuZnJvbTtpPHRoaXMucXQubHQudG87aSsrKXtjb25zdCBlPXRoaXMucXQub3RbaV0saD1NYXRoLnJvdW5kKGUuX3QqdCk7bGV0IG4scjtpZihzJTIpe2NvbnN0IHQ9KHMtMSkvMjtuPWgtdCxyPWgrdH1lbHNle2NvbnN0IHQ9cy8yO249aC10LHI9aCt0LTF9dGhpcy5lU1tpLXRoaXMucXQubHQuZnJvbV09e09hOm4sYmk6cixhUzpoLGNlOmUuX3QqdCx3dDplLnd0fX1mb3IobGV0IHQ9dGhpcy5xdC5sdC5mcm9tKzE7dDx0aGlzLnF0Lmx0LnRvO3QrKyl7Y29uc3Qgcz10aGlzLmVTW3QtdGhpcy5xdC5sdC5mcm9tXSxlPXRoaXMuZVNbdC10aGlzLnF0Lmx0LmZyb20tMV07cy53dD09PWUud3QrMSYmcy5PYS1lLmJpIT09aSsxJiYoZS5hUz5lLmNlP2UuYmk9cy5PYS1pLTE6cy5PYT1lLmJpK2krMSl9bGV0IGU9TWF0aC5jZWlsKHRoaXMucXQuZmwqdCk7Zm9yKGxldCB0PXRoaXMucXQubHQuZnJvbTt0PHRoaXMucXQubHQudG87dCsrKXtjb25zdCBpPXRoaXMuZVNbdC10aGlzLnF0Lmx0LmZyb21dO2kuYmk8aS5PYSYmKGkuYmk9aS5PYSk7Y29uc3Qgcz1pLmJpLWkuT2ErMTtlPU1hdGgubWluKHMsZSl9aWYoaT4wJiZlPDQpZm9yKGxldCB0PXRoaXMucXQubHQuZnJvbTt0PHRoaXMucXQubHQudG87dCsrKXtjb25zdCBpPXRoaXMuZVNbdC10aGlzLnF0Lmx0LmZyb21dO2kuYmktaS5PYSsxPmUmJihpLmFTPmkuY2U/aS5iaS09MTppLk9hKz0xKX19fWNsYXNzIEZoIGV4dGVuZHMgZGh7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMua2c9bmV3IExofVBnKHQsaSl7Y29uc3Qgcz10aGlzLmFlLkZ0KCkuTnQodGhpcy5hZS5OKCkuYmFzZSxmKHRoaXMuYWUuTHQoKSkuV3QpO3JldHVybiBudWxsPT09cz9udWxsOndlKHRoaXMuYmcsdGhpcy5TZyx0LGksdGhpcy5sZS5FdCgpLmZsKCksdGhpcy5hZS5OKCkuaGl0VGVzdFRvbGVyYW5jZSwoKHQsaSk9PntpWzBdPXQudXQsaVsxXT1zfSkpfXhiKHQsaSxzKXtyZXR1cm57Li4udGhpcy5TYih0LGkpLC4uLnMuU2godCl9fUJnKCl7Y29uc3QgdD17b3Q6dGhpcy5iZyxmbDp0aGlzLmxlLkV0KCkuZmwoKSxsdDp0aGlzLlNnLGhTOnRoaXMuYWUuRnQoKS5OdCh0aGlzLmFlLk4oKS5iYXNlLGYodGhpcy5hZS5MdCgpKS5XdCl9O3RoaXMua2cuaHQodCl9fWNvbnN0IHFoPXt0eXBlOiJIaXN0b2dyYW0iLGlzQnVpbHRJbjohMCxkZWZhdWx0T3B0aW9uczp7Y29sb3I6IiMyNmE2OWEiLGJhc2U6MH0sb2I6KHQsaSk9Pm5ldyBGaCh0LGkpfTtjbGFzcyBXaHtjb25zdHJ1Y3Rvcih0LGkpe3RoaXMueXQ9dCx0aGlzLmxTPWksdGhpcy5vUygpfWRldGFjaCgpe3RoaXMueXQuZGV0YWNoUHJpbWl0aXZlKHRoaXMubFMpfWdldFBhbmUoKXsKcmV0dXJuIHRoaXMueXR9YXBwbHlPcHRpb25zKHQpe3RoaXMubFMudnI/Lih0KX1vUygpe3RoaXMueXQuYXR0YWNoUHJpbWl0aXZlKHRoaXMubFMpfX1jb25zdCBRaD17dmlzaWJsZTohMCxob3J6QWxpZ246ImNlbnRlciIsdmVydEFsaWduOiJjZW50ZXIiLGxpbmVzOltdfSxEaD17Y29sb3I6InJnYmEoMCwgMCwgMCwgMC41KSIsZm9udFNpemU6NDgsZm9udEZhbWlseTp4LGZvbnRTdHlsZToiIix0ZXh0OiIifTtjbGFzcyBPaHtjb25zdHJ1Y3Rvcih0KXt0aGlzLl9TPW5ldyBNYXAsdGhpcy5xdD10fWRyYXcodCl7dC51c2VNZWRpYUNvb3JkaW5hdGVTcGFjZSgodD0+e2lmKCF0aGlzLnF0LnZpc2libGUpcmV0dXJuO2NvbnN0e2NvbnRleHQ6aSxtZWRpYVNpemU6c309dDtsZXQgZT0wO2Zvcihjb25zdCB0IG9mIHRoaXMucXQubGluZXMpe2lmKDA9PT10LnRleHQubGVuZ3RoKWNvbnRpbnVlO2kuZm9udD10LlA7Y29uc3QgaD10aGlzLnVTKGksdC50ZXh0KTtoPnMud2lkdGg/dC5GYz1zLndpZHRoL2g6dC5GYz0xLGUrPXQubGluZUhlaWdodCp0LkZjfWxldCBoPTA7c3dpdGNoKHRoaXMucXQudmVydEFsaWduKXtjYXNlInRvcCI6aD0wO2JyZWFrO2Nhc2UiY2VudGVyIjpoPU1hdGgubWF4KChzLmhlaWdodC1lKS8yLDApO2JyZWFrO2Nhc2UiYm90dG9tIjpoPU1hdGgubWF4KHMuaGVpZ2h0LWUsMCl9Zm9yKGNvbnN0IHQgb2YgdGhpcy5xdC5saW5lcyl7aS5zYXZlKCksaS5maWxsU3R5bGU9dC5jb2xvcjtsZXQgZT0wO3N3aXRjaCh0aGlzLnF0LmhvcnpBbGlnbil7Y2FzZSJsZWZ0IjppLnRleHRBbGlnbj0ibGVmdCIsZT10LmxpbmVIZWlnaHQvMjticmVhaztjYXNlImNlbnRlciI6aS50ZXh0QWxpZ249ImNlbnRlciIsZT1zLndpZHRoLzI7YnJlYWs7Y2FzZSJyaWdodCI6aS50ZXh0QWxpZ249InJpZ2h0IixlPXMud2lkdGgtMS10LmxpbmVIZWlnaHQvMn1pLnRyYW5zbGF0ZShlLGgpLGkudGV4dEJhc2VsaW5lPSJ0b3AiLGkuZm9udD10LlAsaS5zY2FsZSh0LkZjLHQuRmMpLGkuZmlsbFRleHQodC50ZXh0LDAsdC5jUyksaS5yZXN0b3JlKCksaCs9dC5saW5lSGVpZ2h0KnQuRmN9fSkpfXVTKHQsaSl7Y29uc3Qgcz10aGlzLmRTKHQuZm9udCk7bGV0IGU9cy5nZXQoaSk7cmV0dXJuIHZvaWQgMD09PWUmJihlPXQubWVhc3VyZVRleHQoaSkud2lkdGgscy5zZXQoaSxlKSksZX1kUyh0KXtsZXQgaT10aGlzLl9TLmdldCh0KTtyZXR1cm4gdm9pZCAwPT09aSYmKGk9bmV3IE1hcCx0aGlzLl9TLnNldCh0LGkpKSxpfX1jbGFzcyBLaHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnluPSRoKHQpfWt0KHQpe3RoaXMueW49JGgodCl9cmVuZGVyZXIoKXtyZXR1cm4gbmV3IE9oKHRoaXMueW4pfX1mdW5jdGlvbiBWaCh0KXtyZXR1cm57Li4udCxQOl8odC5mb250U2l6ZSx0LmZvbnRGYW1pbHksdC5mb250U3R5bGUpLGxpbmVIZWlnaHQ6dC5saW5lSGVpZ2h0fHwxLjIqdC5mb250U2l6ZSxjUzowLEZjOjB9fWZ1bmN0aW9uICRoKHQpe3JldHVybnsuLi50LGxpbmVzOnQubGluZXMubWFwKFZoKX19ZnVuY3Rpb24gQmgodCl7cmV0dXJuey4uLkRoLC4uLnR9fWZ1bmN0aW9uIEFoKHQpe3JldHVybnsuLi5RaCwuLi50LGxpbmVzOnQubGluZXM/Lm1hcChCaCk/P1tdfX1jbGFzcyBaaHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnluPUFoKHQpLHRoaXMuZlM9W25ldyBLaCh0aGlzLnluKV19dXBkYXRlQWxsVmlld3MoKXt0aGlzLmZTLmZvckVhY2goKHQ9PnQua3QodGhpcy55bikpKX1wYW5lVmlld3MoKXtyZXR1cm4gdGhpcy5mU31hdHRhY2hlZCh7cmVxdWVzdFVwZGF0ZTp0fSl7dGhpcy5wUz10fWRldGFjaGVkKCl7dGhpcy5wUz12b2lkIDB9dnIodCl7dGhpcy55bj1BaCh7Li4udGhpcy55biwuLi50fSksdGhpcy5wUyYmdGhpcy5wUygpfX1mdW5jdGlvbiBIaCh0LGkpe3JldHVybiBuZXcgV2godCxuZXcgWmgoaSkpfWNvbnN0IEdoPXsuLi5oLGNvbG9yOiIjMjE5NmYzIn19LDY3MTk0OSh0LGkscyl7cy5kKGkse2RlZmF1bHQ6KCk9PnV9KTt2YXIgZT1zKDE2ODUzMyksaD1zKDYxODU3KSxuPXMoNTc0NjY5KSxyPXMoMzkyOTA4KSxvPXMoNjkzOTQxKSxsPXMoMzA5MDgwKSxhPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7Y29uc3QgdT0oMCxuLmRlZmF1bHQpKChmdW5jdGlvbih0LGkpe2lmKCgwLG8uZGVmYXVsdCkoaSl8fCgwLHIuZGVmYXVsdCkoaSkpKDAsaC5kZWZhdWx0KShpLCgwLGwuZGVmYXVsdCkoaSksdCk7ZWxzZSBmb3IodmFyIHMgaW4gaSlhLmNhbGwoaSxzKSYmKDAsZS5kZWZhdWx0KSh0LHMsaVtzXSl9KSl9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/47632.33d2a3745af497e3da5d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.484Z","timestamp":1785120634484,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/47632.33d2a3745af497e3da5d.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-b2\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9bd53e4b6354363c1fc025b11b352188\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":178,"size_decoded":890,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"6b0e113b7611f749d459a146078f9a58","sha1":"5b1aec3af3fe370284f6a23557895bd0490a484c","sha256":"5d823f4989976ca71db5dbc63763c653f7f997d13757235fde75755413631b18","sha512":"93cc8381bee6b3f9f3ad64202f4c08c80830f96e99758b28c9a981feda509a38e4fd34bd149a5a7e549c7a7454930a4bdcf3e44a6d270087c2bcd027a72c82a0","ssdeep":"","tlshash":"7bc0801d13d4b410145701ef69e8662c247554fdf7136e5c36d4173b435fe1c0751970","first_seen":"2026-07-16T13:40:49.787877Z","last_seen":"2026-07-27T05:19:37.061112Z","times_seen":110,"resource_available":false,"data":"LmhpZGRlbi1uTXR4WFRYX3tvcGFjaXR5OjB9LmZhZGVJbldyYXBwZXItbk10eFhUWF97d2lkdGg6MTAwJX0uZmFkZUluV3JhcHBlci1uTXR4WFRYXy5pc0FuaW1hdGVkLW5NdHhYVFhfe3RyYW5zaXRpb246b3BhY2l0eSB2YXIoLS11aS1saWItZmFkZUluV3JhcHBlci10cmFuc2l0aW9uLWR1cmF0aW9uLC4zNXMpfQ=="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/css/selectric.css","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:32.885Z","timestamp":1785120632885,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /css/selectric.css HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:32 GMT\r\nContent-Type: text/css\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-11bf\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":4543,"size_decoded":1471,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"4761f1b8ebf0745086324803175bb1df","sha1":"dfd0ebb391be97ecfe0105bd9efd6c874b59087a","sha256":"6469b368b34b9622b5f2316c8e16eb7e3451836effe6ea2283695dab39e1f83a","sha512":"1340aa66599d2f31a65906d4fe9db9eeeedbb3c76ee39ef2a0a54ca6a7d5c6ce63fe4cf9db11f22be4df65d324b386773e695018944af78ebdbaf201ef4ce371","ssdeep":"48:xj+3HmE1cuWwXs/W7T3id8tukUNr4sOnUpIT8t3/QOjJzCQ0t5Wpz9rmOvmGMhbq:xj+9j8/jXflrmEmGkoh","tlshash":"ac91027c864e4112313ff6bb6f52927a7b3500659e170218bee8741d538cbd92533e6b","first_seen":"2024-01-17T13:07:27Z","last_seen":"2026-07-27T05:15:10.140229Z","times_seen":51,"resource_available":false,"data":"Lyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICBTZWxlY3RyaWMgdjEuMTMuMA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KDQouc2VsZWN0cmljLXdyYXBwZXIgew0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIGN1cnNvcjogcG9pbnRlcjsNCn0NCg0KLnNlbGVjdHJpYy1yZXNwb25zaXZlIHsNCiAgd2lkdGg6IDEwMCU7DQp9DQoNCi5zZWxlY3RyaWMgew0KICBib3JkZXI6IDFweCBzb2xpZCAjREREOw0KICBib3JkZXItcmFkaXVzOiAwcHg7DQogIGJhY2tncm91bmQ6ICNGOEY4Rjg7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgb3ZlcmZsb3c6IGhpZGRlbjsNCn0NCg0KLnNlbGVjdHJpYyAubGFiZWwgew0KICBkaXNwbGF5OiBibG9jazsNCiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsNCiAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7DQogIG1hcmdpbjogMCAzOHB4IDAgMTBweDsNCiAgZm9udC1zaXplOiAxMnB4Ow0KICBsaW5lLWhlaWdodDogMzhweDsNCiAgY29sb3I6ICM0NDQ7DQogIGhlaWdodDogMzhweDsNCiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsNCiAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsNCiAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTsNCiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsNCn0NCg0KLnNlbGVjdHJpYyAuYnV0dG9uIHsNCiAgZGlzcGxheTogYmxvY2s7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgcmlnaHQ6IDA7DQogIHRvcDogMDsNCiAgd2lkdGg6IDM4cHg7DQogIGhlaWdodDogMzhweDsNCiAgbGluZS1oZWlnaHQ6IDM4cHg7DQogIGJhY2tncm91bmQtY29sb3I6ICNGOGY4Zjg7DQogIGNvbG9yOiAjQkJCOw0KICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogIGZvbnQ6IDAvMCBhOw0KICAqZm9udDogMjBweC8zOHB4IEx1Y2lkYSBTYW5zIFVuaWNvZGUsIEFyaWFsIFVuaWNvZGUgTVMsIEFyaWFsOw0KfQ0KDQouc2VsZWN0cmljIC5idXR0b246YWZ0ZXIgew0KICBjb250ZW50OiAiICI7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgdG9wOiAwOw0KICByaWdodDogMDsNCiAgYm90dG9tOiAwOw0KICBsZWZ0OiAwOw0KICBtYXJnaW46IGF1dG87DQogIHdpZHRoOiAwOw0KICBoZWlnaHQ6IDA7DQogIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50Ow0KICBib3JkZXItdG9wLWNvbG9yOiAjQkJCOw0KICBib3JkZXItYm90dG9tOiBub25lOw0KfQ0KDQouc2VsZWN0cmljLWZvY3VzIC5zZWxlY3RyaWMgew0KICBib3JkZXItY29sb3I6ICNhYWFhYWE7DQp9DQoNCi5zZWxlY3RyaWMtaG92ZXIgLnNlbGVjdHJpYyB7DQogIGJvcmRlci1jb2xvcjogI2M0YzRjNDsNCn0NCg0KLnNlbGVjdHJpYy1ob3ZlciAuc2VsZWN0cmljIC5idXR0b24gew0KICBjb2xvcjogI2EyYTJhMjsNCn0NCg0KLnNlbGVjdHJpYy1ob3ZlciAuc2VsZWN0cmljIC5idXR0b246YWZ0ZXIgew0KICBib3JkZXItdG9wLWNvbG9yOiAjYTJhMmEyOw0KfQ0KDQouc2VsZWN0cmljLW9wZW4gew0KICB6LWluZGV4OiA5OTk5Ow0KfQ0KDQouc2VsZWN0cmljLW9wZW4gLnNlbGVjdHJpYyB7DQogIGJvcmRlci1jb2xvcjogI2M0YzRjNDsNCn0NCg0KLnNlbGVjdHJpYy1vcGVuIC5zZWxlY3RyaWMtaXRlbXMgew0KICBkaXNwbGF5OiBibG9jazsNCn0NCg0KLnNlbGVjdHJpYy1kaXNhYmxlZCB7DQogIGZpbHRlcjogYWxwaGEob3BhY2l0eT01MCk7DQogIG9wYWNpdHk6IDAuNTsNCiAgY3Vyc29yOiBkZWZhdWx0Ow0KICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOw0KICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOw0KICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lOw0KICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lOw0KfQ0KDQouc2VsZWN0cmljLWhpZGUtc2VsZWN0IHsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICBvdmVyZmxvdzogaGlkZGVuOw0KICB3aWR0aDogMDsNCiAgaGVpZ2h0OiAwOw0KfQ0KDQouc2VsZWN0cmljLWhpZGUtc2VsZWN0IHNlbGVjdCB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgbGVmdDogLTEwMCU7DQp9DQoNCi5zZWxlY3RyaWMtaGlkZS1zZWxlY3Quc2VsZWN0cmljLWlzLW5hdGl2ZSB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgd2lkdGg6IDEwMCU7DQogIGhlaWdodDogMTAwJTsNCiAgei1pbmRleDogMTA7DQp9DQoNCi5zZWxlY3RyaWMtaGlkZS1zZWxlY3Quc2VsZWN0cmljLWlzLW5hdGl2ZSBzZWxlY3Qgew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHRvcDogMDsNCiAgbGVmdDogMDsNCiAgcmlnaHQ6IDA7DQogIGhlaWdodDogMTAwJTsNCiAgd2lkdGg6IDEwMCU7DQogIGJvcmRlcjogbm9uZTsNCiAgei1pbmRleDogMTsNCiAgYm94LXNpemluZzogYm9yZGVyLWJveDsNCiAgb3BhY2l0eTogMDsNCn0NCg0KLnNlbGVjdHJpYy1pbnB1dCB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50Ow0KICB0b3A6IDAgIWltcG9ydGFudDsNCiAgbGVmdDogMCAhaW1wb3J0YW50Ow0KICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7DQogIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgIWltcG9ydGFudDsNCiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7DQogIHBhZGRpbmc6IDAgIWltcG9ydGFudDsNCiAgd2lkdGg6IDFweCAhaW1wb3J0YW50Ow0KICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50Ow0KICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7DQogIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50Ow0KICAqZm9udDogMC8wIGEgIWltcG9ydGFudDsNCiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50Ow0KfQ0KDQouc2VsZWN0cmljLXRlbXAtc2hvdyB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50Ow0KICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDsNCiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsNCn0NCg0KLyogSXRlbXMgYm94ICovDQouc2VsZWN0cmljLWl0ZW1zIHsNCiAgZGlzcGxheTogbm9uZTsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB0b3A6IDEwMCU7DQogIGxlZnQ6IDA7DQogIGJhY2tncm91bmQ6ICNGOEY4Rjg7DQogIGJvcmRlcjogMXB4IHNvbGlkICNjNGM0YzQ7DQogIHotaW5kZXg6IC0xOw0KICBib3gtc2hhZG93OiAwIDAgMTBweCAtNnB4Ow0KfQ0KDQouc2VsZWN0cmljLWl0ZW1zIC5zZWxlY3RyaWMtc2Nyb2xsIHsNCiAgaGVpZ2h0OiAxMDAlOw0KICBvdmVyZmxvdzogYXV0bzsNCn0NCg0KLnNlbGVjdHJpYy1hYm92ZSAuc2VsZWN0cmljLWl0ZW1zIHsNCiAgdG9wOiBhdXRvOw0KICBib3R0b206IDEwMCU7DQp9DQoNCi5zZWxlY3RyaWMtaXRlbXMgdWwsIC5zZWxlY3RyaWMtaXRlbXMgbGkgew0KICBsaXN0LXN0eWxlOiBub25lOw0KICBwYWRkaW5nOiAwOw0KICBtYXJnaW46IDA7DQogIGZvbnQtc2l6ZTogMTJweDsNCiAgbGluZS1oZWlnaHQ6IDIwcHg7DQogIG1pbi1oZWlnaHQ6IDIwcHg7DQp9DQoNCi5zZWxlY3RyaWMtaXRlbXMgbGkgew0KICBkaXNwbGF5OiBibG9jazsNCiAgcGFkZGluZzogMTBweDsNCiAgY29sb3I6ICM2NjY7DQogIGN1cnNvcjogcG9pbnRlcjsNCn0NCg0KLnNlbGVjdHJpYy1pdGVtcyBsaS5zZWxlY3RlZCB7DQogIGJhY2tncm91bmQ6ICNFMEUwRTA7DQogIGNvbG9yOiAjNDQ0Ow0KfQ0KDQouc2VsZWN0cmljLWl0ZW1zIGxpLmhpZ2hsaWdodGVkIHsNCiAgYmFja2dyb3VuZDogI0QwRDBEMDsNCiAgY29sb3I6ICM0NDQ7DQp9DQoNCi5zZWxlY3RyaWMtaXRlbXMgbGk6aG92ZXIgew0KICBiYWNrZ3JvdW5kOiAjRDVENUQ1Ow0KICBjb2xvcjogIzQ0NDsNCn0NCg0KLnNlbGVjdHJpYy1pdGVtcyAuZGlzYWJsZWQgew0KICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NTApOw0KICBvcGFjaXR5OiAwLjU7DQogIGN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50Ow0KICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7DQogIGNvbG9yOiAjNjY2ICFpbXBvcnRhbnQ7DQogIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7DQogICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7DQogICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7DQogICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7DQp9DQoNCi5zZWxlY3RyaWMtaXRlbXMgLnNlbGVjdHJpYy1ncm91cCAuc2VsZWN0cmljLWdyb3VwLWxhYmVsIHsNCiAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogIHBhZGRpbmctbGVmdDogMTBweDsNCiAgY3Vyc29yOiBkZWZhdWx0Ow0KICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOw0KICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOw0KICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lOw0KICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lOw0KICBiYWNrZ3JvdW5kOiBub25lOw0KICBjb2xvcjogIzQ0NDsNCn0NCg0KLnNlbGVjdHJpYy1pdGVtcyAuc2VsZWN0cmljLWdyb3VwLmRpc2FibGVkIGxpIHsNCiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7DQogIG9wYWNpdHk6IDE7DQp9DQoNCi5zZWxlY3RyaWMtaXRlbXMgLnNlbGVjdHJpYy1ncm91cCBsaSB7DQogIHBhZGRpbmctbGVmdDogMjVweDsNCn0NCg=="}},"time_used":90,"timings":{"blocked":-1,"dns":0,"connect":28,"send":0,"wait":28,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/52095.e6eb530a13b2febd2cd3.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.988Z","timestamp":1785120633988,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/52095.e6eb530a13b2febd2cd3.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1ff-18c2\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:17:35 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:26\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: dbf7186388355e6fd3ecebf076a2ce3a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":6338,"size_decoded":2044,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (6338), with no line terminators","md5":"caf4bfb0a92f81c0fb9d32b268c23f3c","sha1":"9157a7392cd2a99623089b8a8b0c46066c18c88b","sha256":"3fac059dd2a8faed0d0e54c7f4f74b33d35ee9572c353c6fde78c6cd96f168a1","sha512":"d6b7104f441ac900f2633fda4217d59f42503ae78aed48880181f69174c8e2422ec2a64e191f78c7760476881aa76db8007e9f911ebe2ff98ccab39b640ff4ef","ssdeep":"192:lnsu2uCTwTyQnjnvOJOdr45YERrzxD0VOnPn3nTuouzTmTogen9gqpnq:BI","tlshash":"0fd1794cf146b43e265f353a4319d1eca218b4c2e9c21ff7b971d2244ae1bc2e5f991a","first_seen":"2026-07-23T14:00:31.721517Z","last_seen":"2026-07-27T05:29:38.915852Z","times_seen":137,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtemtrcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLXpra3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9Lml0ZW0tdlRtOE8wTE17dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOm5vd3JhcH0uaXRlbS12VG04TzBMTS5pbnRlcmFjdGl2ZS12VG04TzBMTXtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSl9Lml0ZW0tdlRtOE8wTE0uaW50ZXJhY3RpdmUtdlRtOE8wTE0uaG92ZXJlZC12VG04TzBMTSwuaXRlbS12VG04TzBMTS5pbnRlcmFjdGl2ZS12VG04TzBMTTphY3RpdmV7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS12VG04TzBMTS5pbnRlcmFjdGl2ZS12VG04TzBMTTpob3Zlcntjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyKSl9fS5pdGVtLXZUbThPMExNLmludGVyYWN0aXZlLXZUbThPMExNLmhvdmVyZWQtdlRtOE8wTE17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLXZUbThPMExNLmludGVyYWN0aXZlLXZUbThPMExNOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlcikpfX0uaXRlbS12VG04TzBMTS5pbnRlcmFjdGl2ZS12VG04TzBMTTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSl9Lml0ZW0tdlRtOE8wTE0uZGlzYWJsZWQtdlRtOE8wTE17Y3Vyc29yOmRlZmF1bHQ7b3BhY2l0eTouNX0uaXRlbS12VG04TzBMTS5kaXNhYmxlZC12VG04TzBMTSwuaXRlbS12VG04TzBMTS5kaXNhYmxlZC12VG04TzBMTTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLWJhY2tncm91bmQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLXZUbThPMExNLmRpc2FibGVkLXZUbThPMExNOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtYmFja2dyb3VuZCx2YXIoLS1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kKSk7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpfX0uaXRlbS12VG04TzBMTS5hY3RpdmUtdlRtOE8wTE0sLml0ZW0tdlRtOE8wTE0uYWN0aXZlLXZUbThPMExNOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1hY3RpdmUsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtYWN0aXZlLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLXZUbThPMExNLmFjdGl2ZS12VG04TzBMTTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1hY3RpdmUsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtYWN0aXZlLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlKSl9fS5pdGVtLXZUbThPMExNLmFjdGl2ZS12VG04TzBMTSAuc2hvcnRjdXQtdlRtOE8wTE0sLml0ZW0tdlRtOE8wTE0uYWN0aXZlLXZUbThPMExNOmFjdGl2ZSAuc2hvcnRjdXQtdlRtOE8wTE17Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLXZUbThPMExNLmFjdGl2ZS12VG04TzBMTTpob3ZlciAuc2hvcnRjdXQtdlRtOE8wTE17Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9fS5pdGVtLXZUbThPMExNLm5vcm1hbC12VG04TzBMTXtoZWlnaHQ6MzJweH0uaXRlbS12VG04TzBMTS5iaWctdlRtOE8wTE17aGVpZ2h0OjY4cHh9Lmljb25DZWxsLXZUbThPMExNe21pbi13aWR0aDo2cHh9Lmljb24tdlRtOE8wTE17YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmctaW5saW5lLXN0YXJ0OjhweDt3aWR0aDoyOHB4fS5pY29uLXZUbThPMExNIHN2Z3toZWlnaHQ6MjhweDt3aWR0aDoyOHB4fS5jb250ZW50LXZUbThPMExNe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjM2NXB4O3BhZGRpbmctaW5saW5lLWVuZDoyMHB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjRweH0ubGFiZWwtdlRtOE8wTE17ZmxleDoxIDEgYXV0bztmb250LXNpemU6MTRweDtvdmVyZmxvdy14OmhpZGRlbjtwYWRkaW5nLWlubGluZS1zdGFydDoycHg7dGV4dC1hbGlnbjpzdGFydH0udG9vbGJveC12VG04TzBMTXtmbGV4OjAgMSBhdXRvO2xpbmUtaGVpZ2h0OjE0cHg7bWFyZ2luLWlubGluZS1zdGFydDoxMHB4fS5mZWF0dXJlLW5vLW1vYmlsZXRvdWNoIC50b29sYm94LXZUbThPMExNLnNob3dUb29sYm94T25Ib3Zlci12VG04TzBMTXtvcGFjaXR5OjB9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5mZWF0dXJlLW5vLW1vYmlsZXRvdWNoIC5pdGVtLXZUbThPMExNOmhvdmVyIC50b29sYm94LXZUbThPMExNLnNob3dUb29sYm94T25Ib3Zlci12VG04TzBMTXtvcGFjaXR5OjF9fS5hcnJvd0ljb24tdlRtOE8wTE17ZmxleDowIDEgYXV0bzttYXJnaW4taW5saW5lLXN0YXJ0OjEwcHh9LmFycm93SWNvbi12VG04TzBMTSBzdmd7aGVpZ2h0OjEwcHg7ZmlsbDpjdXJyZW50Q29sb3J9LmFycm93SWNvbi12VG04TzBMTSBzdmc6ZGlyKHJ0bCl7dHJhbnNmb3JtOnNjYWxlWCgtMSl9LnNob3J0Y3V0LXZUbThPMExNe2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtaGludC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtaGludC10ZXh0KSk7ZmxleDowIDEgYXV0bztmb250LXNpemU6MTJweDttYXJnaW4taW5saW5lLXN0YXJ0OjEwcHg7cGFkZGluZy10b3A6MnB4fS5zdWJNZW51LXZUbThPMExNe2hlaWdodDowfS5pbnZpc2libGVIb3RrZXktdlRtOE8wTE17dmlzaWJpbGl0eTpoaWRkZW59Lml0ZW0tZDlqTE9MclJ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O3BhZGRpbmctYmxvY2s6OHB4IDhweDtwYWRkaW5nLWlubGluZTo0MnB4IDhweDtwb3NpdGlvbjpyZWxhdGl2ZX0uaXRlbS1kOWpMT0xyUi5lbXB0eUljb25zLWQ5akxPTHJSe3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHh9Lml0ZW0tZDlqTE9MclIubG9hZGluZy1kOWpMT0xyUntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlfS5pdGVtLWQ5akxPTHJSLmRpc2FibGVkLWQ5akxPTHJSe2N1cnNvcjpkZWZhdWx0O29wYWNpdHk6LjV9Lml0ZW0tZDlqTE9MclIuZGlzYWJsZWQtZDlqTE9MclIsLml0ZW0tZDlqTE9MclIuZGlzYWJsZWQtZDlqTE9MclI6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtYmFja2dyb3VuZCx2YXIoLS1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kKSk7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS1kOWpMT0xyUi5kaXNhYmxlZC1kOWpMT0xyUjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWJhY2tncm91bmQsdmFyKC0tY29sb3ItcG9wdXAtYmFja2dyb3VuZCkpO2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCx2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQpKX19Lml0ZW0tZDlqTE9MclIuaW50ZXJhY3RpdmUtZDlqTE9MclJ7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpfS5pdGVtLWQ5akxPTHJSLmludGVyYWN0aXZlLWQ5akxPTHJSLmhvdmVyZWQtZDlqTE9MclIsLml0ZW0tZDlqTE9MclIuaW50ZXJhY3RpdmUtZDlqTE9MclI6YWN0aXZle2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lml0ZW0tZDlqTE9MclIuaW50ZXJhY3RpdmUtZDlqTE9MclI6aG92ZXJ7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3ZlcikpfX0uaXRlbS1kOWpMT0xyUi5pbnRlcmFjdGl2ZS1kOWpMT0xyUi5ob3ZlcmVkLWQ5akxPTHJSe2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS1kOWpMT0xyUi5pbnRlcmFjdGl2ZS1kOWpMT0xyUjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIpKX19Lml0ZW0tZDlqTE9MclIuaW50ZXJhY3RpdmUtZDlqTE9MclI6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCkpfS5pdGVtLWQ5akxPTHJSLm5vcm1hbC1kOWpMT0xyUnttaW4taGVpZ2h0OjQwcHh9Lml0ZW0tZDlqTE9MclIuYmlnLWQ5akxPTHJSe21pbi1oZWlnaHQ6NjhweH0uaWNvbi1kOWpMT0xyUnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2hlaWdodDoyOHB4O2luc2V0LWlubGluZS1zdGFydDo4cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NnB4O3dpZHRoOjI4cHh9Lmljb24tZDlqTE9MclIsLmxhYmVsLWQ5akxPTHJSe2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCx2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQpKX0ubGFiZWwtZDlqTE9MclJ7ZmxleC1ncm93OjE7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MjRweDttYXJnaW4taW5saW5lLWVuZDo4cHg7bWF4LXdpZHRoOjEwMCU7d29yZC1icmVhazpicmVhay13b3JkfS50aXRsZS1kOWpMT0xyUntmb250LXdlaWdodDo3MDB9LnRpdGxlLWQ5akxPTHJSIC5pY29uLWQ5akxPTHJSOmRpcihydGwpe3RyYW5zZm9ybTpzY2FsZVgoLTEpfS5uZXN0ZWQtZDlqTE9MclJ7YWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLXNlbGY6Y2VudGVyO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MThweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1pbmxpbmUtc3RhcnQ6YXV0bzt3aWR0aDoxOHB4fS5uZXN0ZWQtZDlqTE9MclI6ZGlyKHJ0bCl7dHJhbnNmb3JtOnNjYWxlWCgtMSl9LnNob3J0Y3V0LWQ5akxPTHJSe2xpbmUtaGVpZ2h0OjI0cHg7cGFkZGluZzowfS5yZW1vdmUtZDlqTE9MclIsLnNob3J0Y3V0LWQ5akxPTHJSe21hcmdpbi1pbmxpbmUtZW5kOjhweDttYXJnaW4taW5saW5lLXN0YXJ0OmF1dG99LnJlbW92ZS1kOWpMT0xyUnthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjRweH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/13148.32cc01dc01751b91682c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.245Z","timestamp":1785120634245,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/13148.32cc01dc01751b91682c.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"6a06d56c-12cc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 15 May 2026 08:12:28 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.53\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/15/2026 10:19:05\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 3872ad49cb5a04bd6d241f3a9b17a1a9\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4812,"size_decoded":2619,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3061)","md5":"9eb8a2729659cd900aee823198b62b43","sha1":"27c53602ca760b97d71eef345b01c1d537900aad","sha256":"3ac4b66b0a6823b837035a5dfdf7fe41b01ccf2a2ac115b143c12356080ebdac","sha512":"6c86fb2c2378e589f4353d32a048ae866196581fc0a8a7ed13c379eb47eab41fcbfc0ee44f3ffe77ff3800136be1da4fbfecfe3456524b96712a1e5cef42945f","ssdeep":"96:FRi/jMMHFeHojARuZi0DWss7UebYiWWD+WRdiaEBymSM0qRIv0nrWvW1HN6Fb0so:rEjMMlIeARmLWss77bJWWD+WRd8ymSM9","tlshash":"66a1e987b9c2f0a063d9aca5953b054ae23d6c1c711bf0e8e2e9d5d19c7b10b9112f36","first_seen":"2026-05-15T11:49:16.287975Z","last_seen":"2026-07-27T05:15:36.991702Z","times_seen":3715,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMTMxNDhdLHs3MzU5ODModCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5kfSk7Y29uc3Qgbz1mdW5jdGlvbigpe3RoaXMuX19kYXRhX189W10sdGhpcy5zaXplPTB9O3ZhciByPW4oOTEwNzc4KTtjb25zdCBhPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXQubGVuZ3RoO24tLTspaWYoKDAsci5kZWZhdWx0KSh0W25dWzBdLGUpKXJldHVybiBuO3JldHVybi0xfTt2YXIgcz1BcnJheS5wcm90b3R5cGUuc3BsaWNlO2NvbnN0IGM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fX2RhdGFfXyxuPWEoZSx0KTtyZXR1cm4hKG48MCkmJihuPT1lLmxlbmd0aC0xP2UucG9wKCk6cy5jYWxsKGUsbiwxKSwtLXRoaXMuc2l6ZSwhMCl9O2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fX2RhdGFfXyxuPWEoZSx0KTtyZXR1cm4gbjwwP3ZvaWQgMDplW25dWzFdfTtjb25zdCB1PWZ1bmN0aW9uKHQpe3JldHVybiBhKHRoaXMuX19kYXRhX18sdCk+LTF9O2NvbnN0IGw9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLl9fZGF0YV9fLG89YShuLHQpO3JldHVybiBvPDA/KCsrdGhpcy5zaXplLG4ucHVzaChbdCxlXSkpOm5bb11bMV09ZSx0aGlzfTtmdW5jdGlvbiBmKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgbz10W2VdO3RoaXMuc2V0KG9bMF0sb1sxXSl9fWYucHJvdG90eXBlLmNsZWFyPW8sZi5wcm90b3R5cGUuZGVsZXRlPWMsZi5wcm90b3R5cGUuZ2V0PWksZi5wcm90b3R5cGUuaGFzPXUsZi5wcm90b3R5cGUuc2V0PWw7Y29uc3QgZD1mfSw2OTQyMSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbz1uKDE2MjMxNikscj1uKDk4MTUyMyk7Y29uc3QgYT0oMCxvLmRlZmF1bHQpKHIuZGVmYXVsdCwiTWFwIil9LDcxMzE0OCh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pnp9KTtjb25zdCBvPSgwLG4oMTYyMzE2KS5kZWZhdWx0KShPYmplY3QsImNyZWF0ZSIpO2NvbnN0IHI9ZnVuY3Rpb24oKXt0aGlzLl9fZGF0YV9fPW8/byhudWxsKTp7fSx0aGlzLnNpemU9MH07Y29uc3QgYT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmhhcyh0KSYmZGVsZXRlIHRoaXMuX19kYXRhX19bdF07cmV0dXJuIHRoaXMuc2l6ZS09ZT8xOjAsZX07dmFyIHM9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBjPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX187aWYobyl7dmFyIG49ZVt0XTtyZXR1cm4iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI9PT1uP3ZvaWQgMDpufXJldHVybiBzLmNhbGwoZSx0KT9lW3RdOnZvaWQgMH07dmFyIGk9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCB1PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX187cmV0dXJuIG8/dm9pZCAwIT09ZVt0XTppLmNhbGwoZSx0KX07Y29uc3QgbD1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuX19kYXRhX187cmV0dXJuIHRoaXMuc2l6ZSs9dGhpcy5oYXModCk/MDoxLG5bdF09byYmdm9pZCAwPT09ZT8iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI6ZSx0aGlzfTtmdW5jdGlvbiBmKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgbz10W2VdO3RoaXMuc2V0KG9bMF0sb1sxXSl9fWYucHJvdG90eXBlLmNsZWFyPXIsZi5wcm90b3R5cGUuZGVsZXRlPWEsZi5wcm90b3R5cGUuZ2V0PWMsZi5wcm90b3R5cGUuaGFzPXUsZi5wcm90b3R5cGUuc2V0PWw7Y29uc3QgZD1mO3ZhciBfPW4oNzM1OTgzKSxoPW4oNjk0MjEpO2NvbnN0IHA9ZnVuY3Rpb24oKXt0aGlzLnNpemU9MCx0aGlzLl9fZGF0YV9fPXtoYXNoOm5ldyBkLG1hcDpuZXcoaC5kZWZhdWx0fHxfLmRlZmF1bHQpLHN0cmluZzpuZXcgZH19O2NvbnN0IHY9ZnVuY3Rpb24odCl7dmFyIGU9dHlwZW9mIHQ7cmV0dXJuInN0cmluZyI9PWV8fCJudW1iZXIiPT1lfHwic3ltYm9sIj09ZXx8ImJvb2xlYW4iPT1lPyJfX3Byb3RvX18iIT09dDpudWxsPT09dH07Y29uc3QgeT1mdW5jdGlvbih0LGUpe3ZhciBuPXQuX19kYXRhX187cmV0dXJuIHYoZSk/blsic3RyaW5nIj09dHlwZW9mIGU/InN0cmluZyI6Imhhc2giXTpuLm1hcH07Y29uc3QgZz1mdW5jdGlvbih0KXt2YXIgZT15KHRoaXMsdCkuZGVsZXRlKHQpO3JldHVybiB0aGlzLnNpemUtPWU/MTowLGV9O2NvbnN0IGI9ZnVuY3Rpb24odCl7cmV0dXJuIHkodGhpcyx0KS5nZXQodCl9O2NvbnN0IGo9ZnVuY3Rpb24odCl7cmV0dXJuIHkodGhpcyx0KS5oYXModCl9O2NvbnN0IE89ZnVuY3Rpb24odCxlKXt2YXIgbj15KHRoaXMsdCksbz1uLnNpemU7cmV0dXJuIG4uc2V0KHQsZSksdGhpcy5zaXplKz1uLnNpemU9PW8/MDoxLHRoaXN9O2Z1bmN0aW9uIHcodCl7dmFyIGU9LTEsbj1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK2U8bjspe3ZhciBvPXRbZV07dGhpcy5zZXQob1swXSxvWzFdKX19dy5wcm90b3R5cGUuY2xlYXI9cCx3LnByb3RvdHlwZS5kZWxldGU9Zyx3LnByb3RvdHlwZS5nZXQ9Yix3LnByb3RvdHlwZS5oYXM9aix3LnByb3RvdHlwZS5zZXQ9Tztjb25zdCB6PXd9LDg3Mjk5OSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTtjb25zdCBvPW4oOTgxNTIzKS5kZWZhdWx0LlN5bWJvbH0sMTc4NDk3KHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+ZH0pO3ZhciBvPW4oODcyOTk5KSxyPU9iamVjdC5wcm90b3R5cGUsYT1yLmhhc093blByb3BlcnR5LHM9ci50b1N0cmluZyxjPW8uZGVmYXVsdD9vLmRlZmF1bHQudG9TdHJpbmdUYWc6dm9pZCAwO2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9YS5jYWxsKHQsYyksbj10W2NdO3RyeXt0W2NdPXZvaWQgMDt2YXIgbz0hMH1jYXRjaCh0KXt9dmFyIHI9cy5jYWxsKHQpO3JldHVybiBvJiYoZT90W2NdPW46ZGVsZXRlIHRbY10pLHJ9O3ZhciB1PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7Y29uc3QgbD1mdW5jdGlvbih0KXtyZXR1cm4gdS5jYWxsKHQpfQo7dmFyIGY9by5kZWZhdWx0P28uZGVmYXVsdC50b1N0cmluZ1RhZzp2b2lkIDA7Y29uc3QgZD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD92b2lkIDA9PT10PyJbb2JqZWN0IFVuZGVmaW5lZF0iOiJbb2JqZWN0IE51bGxdIjpmJiZmIGluIE9iamVjdCh0KT9pKHQpOmwodCl9fSw2MDI5NDIodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5vfSk7Y29uc3Qgbz0ib2JqZWN0Ij09dHlwZW9mIG4uZyYmbi5nJiZuLmcuT2JqZWN0PT09T2JqZWN0JiZuLmd9LDE2MjMxNih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pmd9KTt2YXIgbz1uKDkyODEzMik7Y29uc3Qgcj1uKDk4MTUyMykuZGVmYXVsdFsiX19jb3JlLWpzX3NoYXJlZF9fIl07dmFyIGEscz0oYT0vW14uXSskLy5leGVjKHImJnIua2V5cyYmci5rZXlzLklFX1BST1RPfHwiIikpPyJTeW1ib2woc3JjKV8xLiIrYToiIjtjb25zdCBjPWZ1bmN0aW9uKHQpe3JldHVybiEhcyYmcyBpbiB0fTt2YXIgaT1uKDg4MDExNSksdT1uKDczMDUwMyksbD0vXlxbb2JqZWN0IC4rP0NvbnN0cnVjdG9yXF0kLyxmPUZ1bmN0aW9uLnByb3RvdHlwZSxkPU9iamVjdC5wcm90b3R5cGUsXz1mLnRvU3RyaW5nLGg9ZC5oYXNPd25Qcm9wZXJ0eSxwPVJlZ0V4cCgiXiIrXy5jYWxsKGgpLnJlcGxhY2UoL1tcXF4kLiorPygpW1xde318XS9nLCJcXCQmIikucmVwbGFjZSgvaGFzT3duUHJvcGVydHl8KGZ1bmN0aW9uKS4qPyg/PVxcXCgpfCBmb3IgLis/KD89XFxcXSkvZywiJDEuKj8iKSsiJCIpO2NvbnN0IHY9ZnVuY3Rpb24odCl7cmV0dXJuISghKDAsaS5kZWZhdWx0KSh0KXx8Yyh0KSkmJigoMCxvLmRlZmF1bHQpKHQpP3A6bCkudGVzdCgoMCx1LmRlZmF1bHQpKHQpKX07Y29uc3QgeT1mdW5jdGlvbih0LGUpe3JldHVybiBudWxsPT10P3ZvaWQgMDp0W2VdfTtjb25zdCBnPWZ1bmN0aW9uKHQsZSl7dmFyIG49eSh0LGUpO3JldHVybiB2KG4pP246dm9pZCAwfX0sOTgxNTIzKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBvPW4oNjAyOTQyKSxyPSJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZiYmc2VsZi5PYmplY3Q9PT1PYmplY3QmJnNlbGY7Y29uc3QgYT1vLmRlZmF1bHR8fHJ8fEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCl9LDczMDUwMyh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgbz1GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmc7Y29uc3Qgcj1mdW5jdGlvbih0KXtpZihudWxsIT10KXt0cnl7cmV0dXJuIG8uY2FsbCh0KX1jYXRjaCh0KXt9dHJ5e3JldHVybiB0KyIifWNhdGNoKHQpe319cmV0dXJuIiJ9fSw5MTA3NzgodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5vfSk7Y29uc3Qgbz1mdW5jdGlvbih0LGUpe3JldHVybiB0PT09ZXx8dCE9dCYmZSE9ZX19LDkyODEzMih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbz1uKDE3ODQ5Nykscj1uKDg4MDExNSk7Y29uc3QgYT1mdW5jdGlvbih0KXtpZighKDAsci5kZWZhdWx0KSh0KSlyZXR1cm4hMTt2YXIgZT0oMCxvLmRlZmF1bHQpKHQpO3JldHVybiJbb2JqZWN0IEZ1bmN0aW9uXSI9PWV8fCJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSI9PWV8fCJbb2JqZWN0IEFzeW5jRnVuY3Rpb25dIj09ZXx8IltvYmplY3QgUHJveHldIj09ZX19LDg4MDExNSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTtjb25zdCBvPWZ1bmN0aW9uKHQpe3ZhciBlPXR5cGVvZiB0O3JldHVybiBudWxsIT10JiYoIm9iamVjdCI9PWV8fCJmdW5jdGlvbiI9PWUpfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/3905.682e89ef2dc4c70423c6.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.785Z","timestamp":1785120634785,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/3905.682e89ef2dc4c70423c6.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"www.tradingview-widget.com/static/bundles/embed/23743.4733137af2f232a6a34a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.854Z","timestamp":1785120634854,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/23743.4733137af2f232a6a34a.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"247optiontradefx.com/img/chart_bg.png","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.447Z","timestamp":1785120633447,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /img/chart_bg.png HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: image/png\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-7ff3\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":32755,"size_decoded":30279,"mime_type":"image/png","magic":"PNG image data, 1920 x 403, 8-bit/color RGBA, non-interlaced","md5":"fe25fe63c8864557d9f853536e3de314","sha1":"6d543f6251d4571a00d7ff0b0e4d69f983466916","sha256":"1160c04dc9bfb93006a14973f1b65e1dc3f106ecd8bd4f3b900d99f966b4d98c","sha512":"fdba8e454c5078f0825fd29f40658bf6f5df5bb27d1a5255a391f9f1c1c3abafd98ca7a5dc60ca7920b3aa778d3f485bb6b89d8c521f0e5c193f53bcaa7f8066","ssdeep":"768:9SYztVW7s0MuggezcjLFN3+3uEH6q6EzdgK:9SYZw7Z/ggezctd+hdT","tlshash":"6be2c0036a1addd6e34a46754ddf8b267330cc546a90074b0a7b73aabee27f5c624c42","first_seen":"2026-07-27T02:45:25.100941Z","last_seen":"2026-07-27T02:59:54.657457Z","times_seen":4,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAB4AAAAGTCAYAAADJMA/JAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTFDM0YyODM5MTcwMTFFODk5OUE5RTFBMzE5ODI2QjAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTFDM0YyODQ5MTcwMTFFODk5OUE5RTFBMzE5ODI2QjAiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1MUMzRjI4MTkxNzAxMUU4OTk5QTlFMUEzMTk4MjZCMCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1MUMzRjI4MjkxNzAxMUU4OTk5QTlFMUEzMTk4MjZCMCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgYuMtYAAHxnSURBVHja7N0HnGNV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"}},"time_used":105,"timings":{"blocked":75,"dns":0,"connect":0,"send":0,"wait":30,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.64200.ab448792a5f5659a2d12.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.834Z","timestamp":1785120634834,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/en.64200.ab448792a5f5659a2d12.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"www.tradingview-widget.com/static/bundles/embed/11409.ff84ce4d523d3540c7b2.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.852Z","timestamp":1785120634852,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/11409.ff84ce4d523d3540c7b2.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"247optiontradefx.com/js/script.js","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:32.898Z","timestamp":1785120632898,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /js/script.js HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: application/javascript; charset=utf-8\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-16d7\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":5847,"size_decoded":2197,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with CRLF line terminators","md5":"6e14b68ac409fd513426516919eee684","sha1":"51146d4ef07b2d475896159624a52d0d49734597","sha256":"4f7e1cbed1a810489a6ca110ab3a29392100ad57def8aae5094e886f6990dada","sha512":"9f122bc0802692d3ee57e3f485943889ed3ec97a05455b28e6d3ce6fa2cb6f2010f8fa98ee9f5a65ac9a2cd87417cb139a722edef7403678f15f6ba44a9e768a","ssdeep":"96:MrJvJriJ0lnCkX5QKHBHtR0JhI9ihNKXHV/3SmSIinQBMHAJSf2KBjUL:M9vJriJ0Ca5QKHx/0I9iTGV/3binQBGU","tlshash":"0ec12d0e2656117064bb3b7b8dab1448ef39107b80658350bdeca4f81fb4468627afde","first_seen":"2026-07-27T02:45:25.128332Z","last_seen":"2026-07-27T02:59:54.570481Z","times_seen":4,"resource_available":true,"data":"LyoNCnRpbmMgcHJvamVjdCBidWlsZGVyDQpqc0ZpbGUgY3JlYXRlIG9uIDI3LjA3LjIwMTggMDk6MTM6NTQNCiovDQokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbiAoKSB7DQoNCiAgdmFyIHVhID0gZGV0ZWN0LnBhcnNlKG5hdmlnYXRvci51c2VyQWdlbnQpOw0KICAkKCJodG1sIikuYWRkQ2xhc3ModWEuYnJvd3Nlci5mYW1pbHkpOw0KDQogICQoJ3NlbGVjdDpub3QoLnBheVN5c0xpc3QpJykubWFwKGZ1bmN0aW9uICgpIHsNCiAgICAkKCdzZWxlY3QnKS5zZWxlY3RyaWMoKTsNCiAgfSk7DQoNCiAgJCgnLmVudGVyTnVtJykuYmluZCgiY2hhbmdlIGtleXVwIGlucHV0IGNsaWNrIiwgZnVuY3Rpb24gKCkgew0KICAgIGlmICh0aGlzLnZhbHVlLm1hdGNoKC9bXjAtOV0vZykpIHsNCiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnZhbHVlLnJlcGxhY2UoL1teMC05XS9nLCAnJyk7DQogICAgfQ0KICB9KTsNCg0KDQogIGZ1bmN0aW9uIGNsb2NrKCkgew0KICAgIHZhciBkYXRlID0gbmV3IERhdGUoKSwNCiAgICAgIGhvdXIgPSBkYXRlLmdldEhvdXJzKCksDQogICAgICBtaW4gPSBkYXRlLmdldE1pbnV0ZXMoKSwNCiAgICAgIGRheSA9IGRhdGUuZ2V0RGF0ZSgpLA0KICAgICAgbW9udGggPSBkYXRlLmdldE1vbnRoKCksDQogICAgICBtb250aEFyciA9IFsnSmFuJywgJ0ZlYicsICdNYXInLCAnQXByJywgJ01heScsICdKdW4nLCAnSnVsJywgJ0F1ZycsICdTZXAnLCAnT2N0JywgJ05vdicsICdEZWMnXSwNCiAgICAgIHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCk7DQoNCiAgICBpZiAoaG91ciA8IDEwKSBob3VyID0gJzAnICsgaG91cjsNCiAgICBpZiAobWluIDwgMTApIG1pbiA9ICcwJyArIG1pbjsNCiAgICBpZiAoZGF5IDwgMTApIGRheSA9ICcwJyArIGRheTsNCg0KICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0aW1lJykuaW5uZXJIVE1MID0gaG91ciArICc6JyArIG1pbjsNCiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGF5JykuaW5uZXJIVE1MID0gZGF5ICsgJyAnICsgbW9udGhBcnJbbW9udGhdOw0KICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd5ZWFyJykuaW5uZXJIVE1MID0geWVhcjsNCiAgfQ0KDQogIHZhciB0aW1lcjsNCg0KICBmdW5jdGlvbiBjbG9ja1N0YXJ0KCkgew0KICAgIHRpbWVyID0gc2V0SW50ZXJ2YWwoY2xvY2ssIDYwMDAwKTsNCiAgICBjbG9jaygpOw0KICB9DQoNCiAgY2xvY2tTdGFydCgpOw0KDQogIHZhciBmYXFIZWFkID0gJCgnLmZhcUl0ZW0gLmhlYWQnKSwNCiAgICBmYXFDb250ZW50ID0gJCgnLmZhcUl0ZW0gLmNvbnRlbnQnKTsNCg0KICBpZiAoJCgnLmZhcUl0ZW0nKS5sZW5ndGggPiAwKSB7DQogICAgJCgnLmZhcUl0ZW0nKS5tYXAoZnVuY3Rpb24gKCkgew0KICAgICAgdmFyIGVsID0gJCh0aGlzKQ0KICAgICAgaWYgKGVsLmZpbmQoZmFxSGVhZCkubGVuZ3RoID4gMCAmJiBlbC5maW5kKGZhcUNvbnRlbnQpLmxlbmd0aCA+IDApIHsNCiAgICAgICAgJCgnLmZhcUl0ZW0gLmhlYWQ6bm90KC5hY3RpdmUpJykuc2libGluZ3MoZmFxQ29udGVudCkuc2xpZGVVcCgpOw0KDQogICAgICAgIGVsLmZpbmQoZmFxSGVhZCkub24oJ2NsaWNrJywgZnVuY3Rpb24gKCkgew0KICAgICAgICAgIHZhciBlbCA9ICQodGhpcyksDQogICAgICAgICAgICBjb250ID0gZWwuc2libGluZ3MoZmFxQ29udGVudCksDQogICAgICAgICAgICBpY29uID0gZWwuZmluZCgnLmljb24tZmFxJyk7DQoNCiAgICAgICAgICBpZiAoZWwuaGFzQ2xhc3MoJ2FjdGl2ZScpKSB7DQogICAgICAgICAgICBjb250LnN0b3AoKS5zbGlkZVVwKDUwMCk7DQogICAgICAgICAgICBlbC5yZW1vdmVDbGFzcygnYWN0aXZlJyk7DQogICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgIGNvbnQuc3RvcCgpLnNsaWRlRG93big1MDApOw0KICAgICAgICAgICAgZWwuYWRkQ2xhc3MoJ2FjdGl2ZScpOw0KICAgICAgICAgIH0NCiAgICAgICAgICBpZiAoaWNvbi5oYXNDbGFzcygnZ3JhZFR4dCcpKSB7DQogICAgICAgICAgICBpY29uLnJlbW92ZUNsYXNzKCdncmFkVHh0Jyk7DQogICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgIGljb24uYWRkQ2xhc3MoJ2dyYWRUeHQnKTsNCiAgICAgICAgICB9DQogICAgICAgIH0pDQogICAgICB9DQogICAgfSkNCiAgfQ0KDQogIG5ldyBDbGlwYm9hcmRKUygnLmNvcHlCdG4nKTsNCg0KICAkKCdzZWxlY3QucGF5U3lzTGlzdDpub3QoW2RhdGEtaWRdKScpLm1hcChmdW5jdGlvbiAoKSB7DQogICAgJCh0aGlzKS5zZWxlY3RyaWMoew0KICAgICAgb25Jbml0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgIHB1c2hTZWxlY3RyaWNJdGVtc1BheUltZyh0aGlzKQ0KICAgICAgICBjaGFuZ2VTZWxlY3RyaWNQYXlJbWcoJCh0aGlzKS5wYXJlbnRzKCIuc2VsZWN0cmljLXdyYXBwZXIiKSkNCiAgICAgIH0sDQogICAgICBvbkNoYW5nZTogZnVuY3Rpb24gKCkgew0KICAgICAgICBjaGFuZ2VTZWxlY3RyaWNQYXlJbWcoJCh0aGlzKS5wYXJlbnRzKCIuc2VsZWN0cmljLXdyYXBwZXIiKSkNCiAgICAgIH0NCiAgICB9KTsNCiAgfSk7DQoNCg0KICAkKCIucGF5Rm9ybSIpLm1hcChmdW5jdGlvbigpew0KICAgIHZhciBlbCA9ICQodGhpcykNCiAgICB2YXIgYWN0aXZlID0gZWwuZmluZCgiW3R5cGU9cmFkaW9dOmNoZWNrZWQiKS5hdHRyKCJpZCIpDQogICAgJCgnc2VsZWN0LnBheVN5c0xpc3RbZGF0YS1pZF0nKS5tYXAoZnVuY3Rpb24gKCkgew0KICAgICAgJCh0aGlzKS5zZWxlY3RyaWMoew0KICAgICAgICBvbkluaXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICBwdXNoU2VsZWN0cmljSXRlbXNQYXlJbWcodGhpcykNCiAgICAgICAgICBjaGFuZ2VTZWxlY3RyaWNQYXlJbWcoJCh0aGlzKS5wYXJlbnRzKCIuc2VsZWN0cmljLXdyYXBwZXIiKSkNCiAgICAgICAgICBpZiAoJCh0aGlzKS5hdHRyKCJkYXRhLWlkIikgPT0gYWN0aXZlKXsNCiAgICAgICAgICAgICQodGhpcykucGFyZW50cygiLnNlbGVjdHJpYy13cmFwcGVyIikuYWRkQ2xhc3MoImFjdGl2ZSIpDQogICAgICAgICAgfQ0KICAgICAgICB9LA0KICAgICAgICBvbkNoYW5nZTogZnVuY3Rpb24gKCkgew0KICAgICAgICAgIGNoYW5nZVNlbGVjdHJpY1BheUltZygkKHRoaXMpLnBhcmVudHMoIi5zZWxlY3RyaWMtd3JhcHBlciIpKQ0KICAgICAgICB9DQogICAgICB9KTsNCiAgICB9KTsNCiAgICBlbC5maW5kKCJbbmFtZT0ncGF5TWV0J10iKS5vbigiY2hhbmdlIixmdW5jdGlvbigpew0KICAgICAgdmFyIGFjdGl2ZSA9ICQodGhpcykuYXR0cigiaWQiKTsNCiAgICAgICQoJy5wYXlTeXNMaXN0JykucmVtb3ZlQXR0cignbmFtZScpOw0KICAgICAgJCh0aGlzKS5wYXJlbnRzKCIucGF5Rm9ybSIpLmZpbmQoIltkYXRhLWlkPSciK2FjdGl2ZSsiJ10iKS5wYXJlbnRzKCIuc2VsZWN0cmljLXdyYXBwZXIiKS5hZGRDbGFzcygiYWN0aXZlIikuc2libGluZ3MoIi5zZWxlY3RyaWMtd3JhcHBlciIpLnJlbW92ZUNsYXNzKCJhY3RpdmUiKTsNCiAgICAgICQodGhpcykucGFyZW50cygiLnBheUZvcm0iKS5maW5kKCJbZGF0YS1pZD0nIithY3RpdmUrIiddIikuYXR0cignbmFtZScsICd0eXBlJyk7DQogICAgfSkNCiAgICAgIC8vIGNvbnNvbGUubG9nKGVsLmZpbmQoIi5zZWxlY3RyaWMtd3JhcHBlciIpLCBhY3RpdmUpDQogICAgICAvLyB3cmFwcGVyLnBhcmVudHMoIi5zZWxlY3RyaWMtd3JhcHBlciIpLmFkZENsYXNzKCJhY3RpdmUiKS5zaWJsaW5ncygiLnNlbGVjdHJpYy13cmFwcGVyIikucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpDQogIH0pDQoNCiAgaWYgKCQoJy5maWx0ZXInKS5sZW5ndGggPiAwKSB7DQogICAgdmFyIGRhdGVGb3JtYXQgPSAibW0vZGQveXkiLA0KICAgICAgZnJvbSA9ICQoIi5mcm9tRGF0ZSIpDQogICAgICAuZGF0ZXBpY2tlcih7DQogICAgICAgIGRlZmF1bHREYXRlOiAiKzF3IiwNCiAgICAgICAgY2hhbmdlTW9udGg6IHRydWUsDQogICAgICAgIG51bWJlck9mTW9udGhzOiAxDQogICAgICB9KQ0KICAgICAgLm9uKCJjaGFuZ2UiLCBmdW5jdGlvbiAoKSB7DQogICAgICAgIHRvLmRhdGVwaWNrZXIoIm9wdGlvbiIsICJtaW5EYXRlIiwgZ2V0RGF0ZSh0aGlzKSk7DQogICAgICB9KSwNCiAgICAgIHRvID0gJCgiLnRvRGF0ZSIpLmRhdGVwaWNrZXIoew0KICAgICAgICBkZWZhdWx0RGF0ZTogIisxdyIsDQogICAgICAgIGNoYW5nZU1vbnRoOiB0cnVlLA0KICAgICAgICBudW1iZXJPZk1vbnRoczogMQ0KICAgICAgfSkNCiAgICAgIC5vbigiY2hhbmdlIiwgZnVuY3Rpb24gKCkgew0KICAgICAgICBmcm9tLmRhdGVwaWNrZXIoIm9wdGlvbiIsICJtYXhEYXRlIiwgZ2V0RGF0ZSh0aGlzKSk7DQogICAgICB9KTsNCg0KICAgIGZ1bmN0aW9uIGdldERhdGUoZWxlbWVudCkgew0KICAgICAgdmFyIGRhdGU7DQogICAgICB0cnkgew0KICAgICAgICBkYXRlID0gJC5kYXRlcGlja2VyLnBhcnNlRGF0ZShkYXRlRm9ybWF0LCBlbGVtZW50LnZhbHVlKTsNCiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7DQogICAgICAgIGRhdGUgPSBudWxsOw0KICAgICAgfQ0KDQogICAgICByZXR1cm4gZGF0ZTsNCiAgICB9DQogIH0NCg0KICB2YXIgcmVmSGVhZCA9ICQoJy5yZWZJdGVtIC5oZWFkJyksDQogICAgcmVmQ29udGVudCA9ICQoJy5yZWZJdGVtIC5jb250ZW50Jyk7DQoNCiAgaWYgKCQoJy5yZWZJdGVtJykubGVuZ3RoID4gMCkgew0KICAgICQoJy5yZWZJdGVtJykubWFwKGZ1bmN0aW9uICgpIHsNCiAgICAgIHZhciBlbCA9ICQodGhpcykNCiAgICAgIGlmIChlbC5maW5kKHJlZkhlYWQpLmxlbmd0aCA+IDAgJiYgZWwuZmluZChyZWZDb250ZW50KS5sZW5ndGggPiAwKSB7DQogICAgICAgICQoJy5yZWZJdGVtIC5oZWFkOm5vdCguYWN0aXZlKScpLnNpYmxpbmdzKHJlZkNvbnRlbnQpLnNsaWRlVXAoKTsNCg0KICAgICAgICBlbC5maW5kKHJlZkhlYWQpLm9uKCdjbGljaycsIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICB2YXIgZWwgPSAkKHRoaXMpLA0KICAgICAgICAgICAgY29udCA9IGVsLnNpYmxpbmdzKHJlZkNvbnRlbnQpOw0KDQogICAgICAgICAgaWYgKGVsLmhhc0NsYXNzKCdhY3RpdmUnKSkgew0KICAgICAgICAgICAgY29udC5zdG9wKCkuc2xpZGVVcCgzMDApOw0KICAgICAgICAgICAgZWwucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpOw0KICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICBjb250LnN0b3AoKS5zbGlkZURvd24oMzAwKTsNCiAgICAgICAgICAgIGVsLmFkZENsYXNzKCdhY3RpdmUnKTsNCiAgICAgICAgICB9DQogICAgICAgIH0pDQogICAgICB9DQogICAgfSkNCiAgfQ0KDQp9KQ0KDQp2YXIgY2hhbmdlU2VsZWN0cmljUGF5SW1nID0gZnVuY3Rpb24gKGVsKSB7DQogIGVsDQogICAgLmZpbmQoJy5sYWJlbCcpDQogICAgLmFwcGVuZCgNCiAgICAgIGVsDQogICAgICAuZmluZCgiLnNlbGVjdHJpYy1pdGVtcyBsaS5zZWxlY3RlZCAucGF5U3lzSW1nIikNCiAgICAgIC5jbG9uZSgpDQogICAgKQ0KfQ0KdmFyIHB1c2hTZWxlY3RyaWNJdGVtc1BheUltZyA9IGZ1bmN0aW9uIChlbCkgew0KICAkKGVsKS5maW5kKCJvcHRpb24iKS5tYXAoZnVuY3Rpb24gKCkgew0KICAgIHZhciBlbCA9ICQodGhpcyk7DQogICAgdmFyIHBheUltZyA9IGVsLmF0dHIoImRhdGEtaW1nIik7DQoNCiAgICB2YXIgbGkgPSAkKHRoaXMpLnBhcmVudHMoIi5zZWxlY3RyaWMtd3JhcHBlciIpLmZpbmQoImxpIikuZXEoZWwuaW5kZXgoKSk7DQogICAgdmFyIGxpVGV4dCA9IGxpLnRleHQoKTsNCiAgICBsaS5odG1sKCI8c3BhbiBjbGFzcz0ncGF5U3lzSW1nJz48L3NwYW4+IiArIGxpVGV4dCk7DQoNCiAgICB2YXIgbGlJbWcgPSBsaS5maW5kKCcucGF5U3lzSW1nJyk7DQogICAgbGlJbWcuYXR0cigic3R5bGUiLCBwYXlJbWcpOw0KDQogIH0pDQp9"}},"time_used":28,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":28,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/coingecko-coin-price-marquee-widget.js","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.104Z","timestamp":1785120633104,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /coingecko-coin-price-marquee-widget.js HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: application/javascript; charset=utf-8\r\nLast-Modified: Tue, 14 Apr 2026 04:20:05 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc075-16c4fd\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":1492221,"size_decoded":426529,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (25675)","md5":"a655f146c21bb56937d23379dcee9d2a","sha1":"9dd6f331ca0ca33fd6f7e2267e752cad7530cac2","sha256":"d1bf2de24722dfa391edc3c61271d42bf93674773d244e0ca9b4e6a33cfc5da0","sha512":"0400ee2ac99e100c4bc11a18f0e1537e81a077a5089c8dd3ee4fc44d3b7661248e62417e9d7ef773fbb051d909bcd343419be2a76ac15b0123796701eeefe1fe","ssdeep":"12288:jWAdtyRAoVXCPWbBWoD5B7uGiDzofS/m0eNNwA+Pg:yyo4PCWoDjSzoqK","tlshash":"d825f89ffd342c716b653ad6d6df80da51ad774140618208bc4cb2c21fae52c82e9dbe","first_seen":"2025-09-06T23:04:13.402549Z","last_seen":"2026-07-27T05:40:40.935019Z","times_seen":19,"resource_available":false,"data":"KGZ1bmN0aW9uKG1vZHVsZXMpe2Z1bmN0aW9uIGhvdERpc3Bvc2VDaHVuayhjaHVua0lkKXtkZWxldGUgaW5zdGFsbGVkQ2h1bmtzW2NodW5rSWRdO30KdmFyIHBhcmVudEhvdFVwZGF0ZUNhbGxiYWNrPXRoaXNbIndlYnBhY2tIb3RVcGRhdGUiXTt0aGlzWyJ3ZWJwYWNrSG90VXBkYXRlIl09ZnVuY3Rpb24gd2VicGFja0hvdFVwZGF0ZUNhbGxiYWNrKGNodW5rSWQsbW9yZU1vZHVsZXMpe2hvdEFkZFVwZGF0ZUNodW5rKGNodW5rSWQsbW9yZU1vZHVsZXMpO2lmKHBhcmVudEhvdFVwZGF0ZUNhbGxiYWNrKXBhcmVudEhvdFVwZGF0ZUNhbGxiYWNrKGNodW5rSWQsbW9yZU1vZHVsZXMpO307ZnVuY3Rpb24gaG90RG93bmxvYWRVcGRhdGVDaHVuayhjaHVua0lkKXt2YXIgc2NyaXB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO3NjcmlwdC5jaGFyc2V0PSJ1dGYtOCI7c2NyaXB0LnNyYz1fX3dlYnBhY2tfcmVxdWlyZV9fLnArIiIrY2h1bmtJZCsiLiIraG90Q3VycmVudEhhc2grIi5ob3QtdXBkYXRlLmpzIjtpZihudWxsKXNjcmlwdC5jcm9zc09yaWdpbj1udWxsO2RvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KTt9CmZ1bmN0aW9uIGhvdERvd25sb2FkTWFuaWZlc3QocmVxdWVzdFRpbWVvdXQpe3JlcXVlc3RUaW1lb3V0PXJlcXVlc3RUaW1lb3V0fHwxMDAwMDtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSxyZWplY3Qpe2lmKHR5cGVvZiBYTUxIdHRwUmVxdWVzdD09PSJ1bmRlZmluZWQiKXtyZXR1cm4gcmVqZWN0KG5ldyBFcnJvcigiTm8gYnJvd3NlciBzdXBwb3J0IikpO30KdHJ5e3ZhciByZXF1ZXN0PW5ldyBYTUxIdHRwUmVxdWVzdCgpO3ZhciByZXF1ZXN0UGF0aD1fX3dlYnBhY2tfcmVxdWlyZV9fLnArIiIraG90Q3VycmVudEhhc2grIi5ob3QtdXBkYXRlLmpzb24iO3JlcXVlc3Qub3BlbigiR0VUIixyZXF1ZXN0UGF0aCx0cnVlKTtyZXF1ZXN0LnRpbWVvdXQ9cmVxdWVzdFRpbWVvdXQ7cmVxdWVzdC5zZW5kKG51bGwpO31jYXRjaChlcnIpe3JldHVybiByZWplY3QoZXJyKTt9CnJlcXVlc3Qub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7aWYocmVxdWVzdC5yZWFkeVN0YXRlIT09NClyZXR1cm47aWYocmVxdWVzdC5zdGF0dXM9PT0wKXtyZWplY3QobmV3IEVycm9yKCJNYW5pZmVzdCByZXF1ZXN0IHRvICIrcmVxdWVzdFBhdGgrIiB0aW1lZCBvdXQuIikpO31lbHNlIGlmKHJlcXVlc3Quc3RhdHVzPT09NDA0KXtyZXNvbHZlKCk7fWVsc2UgaWYocmVxdWVzdC5zdGF0dXMhPT0yMDAmJnJlcXVlc3Quc3RhdHVzIT09MzA0KXtyZWplY3QobmV3IEVycm9yKCJNYW5pZmVzdCByZXF1ZXN0IHRvICIrcmVxdWVzdFBhdGgrIiBmYWlsZWQuIikpO31lbHNle3RyeXt2YXIgdXBkYXRlPUpTT04ucGFyc2UocmVxdWVzdC5yZXNwb25zZVRleHQpO31jYXRjaChlKXtyZWplY3QoZSk7cmV0dXJuO30KcmVzb2x2ZSh1cGRhdGUpO319O30pO30KdmFyIGhvdEFwcGx5T25VcGRhdGU9dHJ1ZTt2YXIgaG90Q3VycmVudEhhc2g9IjUyNWYxODFmNzI3YzYxMDQ2ODBjIjt2YXIgaG90UmVxdWVzdFRpbWVvdXQ9MTAwMDA7dmFyIGhvdEN1cnJlbnRNb2R1bGVEYXRhPXt9O3ZhciBob3RDdXJyZW50Q2hpbGRNb2R1bGU7dmFyIGhvdEN1cnJlbnRQYXJlbnRzPVtdO3ZhciBob3RDdXJyZW50UGFyZW50c1RlbXA9W107ZnVuY3Rpb24gaG90Q3JlYXRlUmVxdWlyZShtb2R1bGVJZCl7dmFyIG1lPWluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdO2lmKCFtZSlyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXzt2YXIgZm49ZnVuY3Rpb24ocmVxdWVzdCl7aWYobWUuaG90LmFjdGl2ZSl7aWYoaW5zdGFsbGVkTW9kdWxlc1tyZXF1ZXN0XSl7aWYoaW5zdGFsbGVkTW9kdWxlc1tyZXF1ZXN0XS5wYXJlbnRzLmluZGV4T2YobW9kdWxlSWQpPT09LTEpe2luc3RhbGxlZE1vZHVsZXNbcmVxdWVzdF0ucGFyZW50cy5wdXNoKG1vZHVsZUlkKTt9fWVsc2V7aG90Q3VycmVudFBhcmVudHM9W21vZHVsZUlkXTtob3RDdXJyZW50Q2hpbGRNb2R1bGU9cmVxdWVzdDt9CmlmKG1lLmNoaWxkcmVuLmluZGV4T2YocmVxdWVzdCk9PT0tMSl7bWUuY2hpbGRyZW4ucHVzaChyZXF1ZXN0KTt9fWVsc2V7Y29uc29sZS53YXJuKCJbSE1SXSB1bmV4cGVjdGVkIHJlcXVpcmUoIisKcmVxdWVzdCsKIikgZnJvbSBkaXNwb3NlZCBtb2R1bGUgIisKbW9kdWxlSWQpO2hvdEN1cnJlbnRQYXJlbnRzPVtdO30KcmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18ocmVxdWVzdCk7fTt2YXIgT2JqZWN0RmFjdG9yeT1mdW5jdGlvbiBPYmplY3RGYWN0b3J5KG5hbWUpe3JldHVybntjb25maWd1cmFibGU6dHJ1ZSxlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX19bbmFtZV07fSxzZXQ6ZnVuY3Rpb24odmFsdWUpe19fd2VicGFja19yZXF1aXJlX19bbmFtZV09dmFsdWU7fX07fTtmb3IodmFyIG5hbWUgaW4gX193ZWJwYWNrX3JlcXVpcmVfXyl7aWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKF9fd2VicGFja19yZXF1aXJlX18sbmFtZSkmJm5hbWUhPT0iZSImJm5hbWUhPT0idCIpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShmbixuYW1lLE9iamVjdEZhY3RvcnkobmFtZSkpO319CmZuLmU9ZnVuY3Rpb24oY2h1bmtJZCl7aWYoaG90U3RhdHVzPT09InJlYWR5Iilob3RTZXRTdGF0dXMoInByZXBhcmUiKTtob3RDaHVua3NMb2FkaW5nKys7cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18uZShjaHVua0lkKS50aGVuKGZpbmlzaENodW5rTG9hZGluZyxmdW5jdGlvbihlcnIpe2ZpbmlzaENodW5rTG9hZGluZygpO3Rocm93IGVycjt9KTtmdW5jdGlvbiBmaW5pc2hDaHVua0xvYWRpbmcoKXtob3RDaHVua3NMb2FkaW5nLS07aWYoaG90U3RhdHVzPT09InByZXBhcmUiKXtpZighaG90V2FpdGluZ0ZpbGVzTWFwW2NodW5rSWRdKXtob3RFbnN1cmVVcGRhdGVDaHVuayhjaHVua0lkKTt9CmlmKGhvdENodW5rc0xvYWRpbmc9PT0wJiZob3RXYWl0aW5nRmlsZXM9PT0wKXtob3RVcGRhdGVEb3dubG9hZGVkKCk7fX19fTtmbi50PWZ1bmN0aW9uKHZhbHVlLG1vZGUpe2lmKG1vZGUmMSl2YWx1ZT1mbih2YWx1ZSk7cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18udCh2YWx1ZSxtb2RlJn4xKTt9O3JldHVybiBmbjt9CmZ1bmN0aW9uIGhvdENyZWF0ZU1vZHVsZShtb2R1bGVJZCl7dmFyIGhvdD17X2FjY2VwdGVkRGVwZW5kZW5jaWVzOnt9LF9kZWNsaW5lZERlcGVuZGVuY2llczp7fSxfc2VsZkFjY2VwdGVkOmZhbHNlLF9zZWxmRGVjbGluZWQ6ZmFsc2UsX2Rpc3Bvc2VIYW5kbGVyczpbXSxfbWFpbjpob3RDdXJyZW50Q2hpbGRNb2R1bGUhPT1tb2R1bGVJZCxhY3RpdmU6dHJ1ZSxhY2NlcHQ6ZnVuY3Rpb24oZGVwLGNhbGxiYWNrKXtpZihkZXA9PT11bmRlZmluZWQpaG90Ll9zZWxmQWNjZXB0ZWQ9dHJ1ZTtlbHNlIGlmKHR5cGVvZiBkZXA9PT0iZnVuY3Rpb24iKWhvdC5fc2VsZkFjY2VwdGVkPWRlcDtlbHNlIGlmKHR5cGVvZiBkZXA9PT0ib2JqZWN0IikKZm9yKHZhciBpPTA7aTxkZXAubGVuZ3RoO2krKykKaG90Ll9hY2NlcHRlZERlcGVuZGVuY2llc1tkZXBbaV1dPWNhbGxiYWNrfHxmdW5jdGlvbigpe307ZWxzZSBob3QuX2FjY2VwdGVkRGVwZW5kZW5jaWVzW2RlcF09Y2FsbGJhY2t8fGZ1bmN0aW9uKCl7fTt9LGRlY2xpbmU6ZnVuY3Rpb24oZGVwKXtpZihkZXA9PT11bmRlZmluZWQpaG90Ll9zZWxmRGVjbGluZWQ9dHJ1ZTtlbHNlIGlmKHR5cGVvZiBkZXA9PT0ib2JqZWN0IikKZm9yKHZhciBpPTA7aTxkZXAubGVuZ3RoO2krKykKaG90Ll9kZWNsaW5lZERlcGVuZGVuY2llc1tkZXBbaV1dPXRydWU7ZWxzZSBob3QuX2RlY2xpbmVkRGVwZW5kZW5jaWVzW2RlcF09dHJ1ZTt9LGRpc3Bvc2U6ZnVuY3Rpb24oY2FsbGJhY2spe2hvdC5fZGlzcG9zZUhhbmRsZXJzLnB1c2goY2FsbGJhY2spO30sYWRkRGlzcG9zZUhhbmRsZXI6ZnVuY3Rpb24oY2FsbGJhY2spe2hvdC5fZGlzcG9zZUhhbmRsZXJzLnB1c2goY2FsbGJhY2spO30scmVtb3ZlRGlzcG9zZUhhbmRsZXI6ZnVuY3Rpb24oY2FsbGJhY2spe3ZhciBpZHg9aG90Ll9kaXNwb3NlSGFuZGxlcnMuaW5kZXhPZihjYWxsYmFjayk7aWYoaWR4Pj0wKWhvdC5fZGlzcG9zZUhhbmRsZXJzLnNwbGljZShpZHgsMSk7fSxjaGVjazpob3RDaGVjayxhcHBseTpob3RBcHBseSxzdGF0dXM6ZnVuY3Rpb24obCl7aWYoIWwpcmV0dXJuIGhvdFN0YXR1cztob3RTdGF0dXNIYW5kbGVycy5wdXNoKGwpO30sYWRkU3RhdHVzSGFuZGxlcjpmdW5jdGlvbihsKXtob3RTdGF0dXNIYW5kbGVycy5wdXNoKGwpO30scmVtb3ZlU3RhdHVzSGFuZGxlcjpmdW5jdGlvbihsKXt2YXIgaWR4PWhvdFN0YXR1c0hhbmRsZXJzLmluZGV4T2YobCk7aWYoaWR4Pj0wKWhvdFN0YXR1c0hhbmRsZXJzLnNwbGljZShpZHgsMSk7fSxkYXRhOmhvdEN1cnJlbnRNb2R1bGVEYXRhW21vZHVsZUlkXX07aG90Q3VycmVudENoaWxkTW9kdWxlPXVuZGVmaW5lZDtyZXR1cm4gaG90O30KdmFyIGhvdFN0YXR1c0hhbmRsZXJzPVtdO3ZhciBob3RTdGF0dXM9ImlkbGUiO2Z1bmN0aW9uIGhvdFNldFN0YXR1cyhuZXdTdGF0dXMpe2hvdFN0YXR1cz1uZXdTdGF0dXM7Zm9yKHZhciBpPTA7aTxob3RTdGF0dXNIYW5kbGVycy5sZW5ndGg7aSsrKQpob3RTdGF0dXNIYW5kbGVyc1tpXS5jYWxsKG51bGwsbmV3U3RhdHVzKTt9CnZhciBob3RXYWl0aW5nRmlsZXM9MDt2YXIgaG90Q2h1bmtzTG9hZGluZz0wO3ZhciBob3RXYWl0aW5nRmlsZXNNYXA9e307dmFyIGhvdFJlcXVlc3RlZEZpbGVzTWFwPXt9O3ZhciBob3RBdmFpbGFibGVGaWxlc01hcD17fTt2YXIgaG90RGVmZXJyZWQ7dmFyIGhvdFVwZGF0ZSxob3RVcGRhdGVOZXdIYXNoO2Z1bmN0aW9uIHRvTW9kdWxlSWQoaWQpe3ZhciBpc051bWJlcj0raWQrIiI9PT1pZDtyZXR1cm4gaXNOdW1iZXI/K2lkOmlkO30KZnVuY3Rpb24gaG90Q2hlY2soYXBwbHkpe2lmKGhvdFN0YXR1cyE9PSJpZGxlIil7dGhyb3cgbmV3IEVycm9yKCJjaGVjaygpIGlzIG9ubHkgYWxsb3dlZCBpbiBpZGxlIHN0YXR1cyIpO30KaG90QXBwbHlPblVwZGF0ZT1hcHBseTtob3RTZXRTdGF0dXMoImNoZWNrIik7cmV0dXJuIGhvdERvd25sb2FkTWFuaWZlc3QoaG90UmVxdWVzdFRpbWVvdXQpLnRoZW4oZnVuY3Rpb24odXBkYXRlKXtpZighdXBkYXRlKXtob3RTZXRTdGF0dXMoImlkbGUiKTtyZXR1cm4gbnVsbDt9CmhvdFJlcXVlc3RlZEZpbGVzTWFwPXt9O2hvdFdhaXRpbmdGaWxlc01hcD17fTtob3RBdmFpbGFibGVGaWxlc01hcD11cGRhdGUuYztob3RVcGRhdGVOZXdIYXNoPXVwZGF0ZS5oO2hvdFNldFN0YXR1cygicHJlcGFyZSIpO3ZhciBwcm9taXNlPW5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUscmVqZWN0KXtob3REZWZlcnJlZD17cmVzb2x2ZTpyZXNvbHZlLHJlamVjdDpyZWplY3R9O30pO2hvdFVwZGF0ZT17fTt2YXIgY2h1bmtJZD0iY29pbmdlY2tvLWNvaW4tcHJpY2UtbWFycXVlZS13aWRnZXQiO3tob3RFbnN1cmVVcGRhdGVDaHVuayhjaHVua0lkKTt9CmlmKGhvdFN0YXR1cz09PSJwcmVwYXJlIiYmaG90Q2h1bmtzTG9hZGluZz09PTAmJmhvdFdhaXRpbmdGaWxlcz09PTApe2hvdFVwZGF0ZURvd25sb2FkZWQoKTt9CnJldHVybiBwcm9taXNlO30pO30KZnVuY3Rpb24gaG90QWRkVXBkYXRlQ2h1bmsoY2h1bmtJZCxtb3JlTW9kdWxlcyl7aWYoIWhvdEF2YWlsYWJsZUZpbGVzTWFwW2NodW5rSWRdfHwhaG90UmVxdWVzdGVkRmlsZXNNYXBbY2h1bmtJZF0pCnJldHVybjtob3RSZXF1ZXN0ZWRGaWxlc01hcFtjaHVua0lkXT1mYWxzZTtmb3IodmFyIG1vZHVsZUlkIGluIG1vcmVNb2R1bGVzKXtpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobW9yZU1vZHVsZXMsbW9kdWxlSWQpKXtob3RVcGRhdGVbbW9kdWxlSWRdPW1vcmVNb2R1bGVzW21vZHVsZUlkXTt9fQppZigtLWhvdFdhaXRpbmdGaWxlcz09PTAmJmhvdENodW5rc0xvYWRpbmc9PT0wKXtob3RVcGRhdGVEb3dubG9hZGVkKCk7fX0KZnVuY3Rpb24gaG90RW5zdXJlVXBkYXRlQ2h1bmsoY2h1bmtJZCl7aWYoIWhvdEF2YWlsYWJsZUZpbGVzTWFwW2NodW5rSWRdKXtob3RXYWl0aW5nRmlsZXNNYXBbY2h1bmtJZF09dHJ1ZTt9ZWxzZXtob3RSZXF1ZXN0ZWRGaWxlc01hcFtjaHVua0lkXT10cnVlO2hvdFdhaXRpbmdGaWxlcysrO2hvdERvd25sb2FkVXBkYXRlQ2h1bmsoY2h1bmtJZCk7fX0KZnVuY3Rpb24gaG90VXBkYXRlRG93bmxvYWRlZCgpe2hvdFNldFN0YXR1cygicmVhZHkiKTt2YXIgZGVmZXJyZWQ9aG90RGVmZXJyZWQ7aG90RGVmZXJyZWQ9bnVsbDtpZighZGVmZXJyZWQpcmV0dXJuO2lmKGhvdEFwcGx5T25VcGRhdGUpe1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gaG90QXBwbHkoaG90QXBwbHlPblVwZGF0ZSk7fSkudGhlbihmdW5jdGlvbihyZXN1bHQpe2RlZmVycmVkLnJlc29sdmUocmVzdWx0KTt9LGZ1bmN0aW9uKGVycil7ZGVmZXJyZWQucmVqZWN0KGVycik7fSk7fWVsc2V7dmFyIG91dGRhdGVkTW9kdWxlcz1bXTtmb3IodmFyIGlkIGluIGhvdFVwZGF0ZSl7aWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGhvdFVwZGF0ZSxpZCkpe291dGRhdGVkTW9kdWxlcy5wdXNoKHRvTW9kdWxlSWQoaWQpKTt9fQpkZWZlcnJlZC5yZXNvbHZlKG91dGRhdGVkTW9kdWxlcyk7fX0KZnVuY3Rpb24gaG90QXBwbHkob3B0aW9ucyl7aWYoaG90U3RhdHVzIT09InJlYWR5IikKdGhyb3cgbmV3IEVycm9yKCJhcHBseSgpIGlzIG9ubHkgYWxsb3dlZCBpbiByZWFkeSBzdGF0dXMiKTtvcHRpb25zPW9wdGlvbnN8fHt9O3ZhciBjYjt2YXIgaTt2YXIgajt2YXIgbW9kdWxlO3ZhciBtb2R1bGVJZDtmdW5jdGlvbiBnZXRBZmZlY3RlZFN0dWZmKHVwZGF0ZU1vZHVsZUlkKXt2YXIgb3V0ZGF0ZWRNb2R1bGVzPVt1cGRhdGVNb2R1bGVJZF07dmFyIG91dGRhdGVkRGVwZW5kZW5jaWVzPXt9O3ZhciBxdWV1ZT1vdXRkYXRlZE1vZHVsZXMubWFwKGZ1bmN0aW9uKGlkKXtyZXR1cm57Y2hhaW46W2lkXSxpZDppZH07fSk7d2hpbGUocXVldWUubGVuZ3RoPjApe3ZhciBxdWV1ZUl0ZW09cXVldWUucG9wKCk7dmFyIG1vZHVsZUlkPXF1ZXVlSXRlbS5pZDt2YXIgY2hhaW49cXVldWVJdGVtLmNoYWluO21vZHVsZT1pbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXTtpZighbW9kdWxlfHxtb2R1bGUuaG90Ll9zZWxmQWNjZXB0ZWQpY29udGludWU7aWYobW9kdWxlLmhvdC5fc2VsZkRlY2xpbmVkKXtyZXR1cm57dHlwZToic2VsZi1kZWNsaW5lZCIsY2hhaW46Y2hhaW4sbW9kdWxlSWQ6bW9kdWxlSWR9O30KaWYobW9kdWxlLmhvdC5fbWFpbil7cmV0dXJue3R5cGU6InVuYWNjZXB0ZWQiLGNoYWluOmNoYWluLG1vZHVsZUlkOm1vZHVsZUlkfTt9CmZvcih2YXIgaT0wO2k8bW9kdWxlLnBhcmVudHMubGVuZ3RoO2krKyl7dmFyIHBhcmVudElkPW1vZHVsZS5wYXJlbnRzW2ldO3ZhciBwYXJlbnQ9aW5zdGFsbGVkTW9kdWxlc1twYXJlbnRJZF07aWYoIXBhcmVudCljb250aW51ZTtpZihwYXJlbnQuaG90Ll9kZWNsaW5lZERlcGVuZGVuY2llc1ttb2R1bGVJZF0pe3JldHVybnt0eXBlOiJkZWNsaW5lZCIsY2hhaW46Y2hhaW4uY29uY2F0KFtwYXJlbnRJZF0pLG1vZHVsZUlkOm1vZHVsZUlkLHBhcmVudElkOnBhcmVudElkfTt9CmlmKG91dGRhdGVkTW9kdWxlcy5pbmRleE9mKHBhcmVudElkKSE9PS0xKWNvbnRpbnVlO2lmKHBhcmVudC5ob3QuX2FjY2VwdGVkRGVwZW5kZW5jaWVzW21vZHVsZUlkXSl7aWYoIW91dGRhdGVkRGVwZW5kZW5jaWVzW3BhcmVudElkXSkKb3V0ZGF0ZWREZXBlbmRlbmNpZXNbcGFyZW50SWRdPVtdO2FkZEFsbFRvU2V0KG91dGRhdGVkRGVwZW5kZW5jaWVzW3BhcmVudElkXSxbbW9kdWxlSWRdKTtjb250aW51ZTt9CmRlbGV0ZSBvdXRkYXRlZERlcGVuZGVuY2llc1twYXJlbnRJZF07b3V0ZGF0ZWRNb2R1bGVzLnB1c2gocGFyZW50SWQpO3F1ZXVlLnB1c2goe2NoYWluOmNoYWluLmNvbmNhdChbcGFyZW50SWRdKSxpZDpwYXJlbnRJZH0pO319CnJldHVybnt0eXBlOiJhY2NlcHRlZCIsbW9kdWxlSWQ6dXBkYXRlTW9kdWxlSWQsb3V0ZGF0ZWRNb2R1bGVzOm91dGRhdGVkTW9kdWxlcyxvdXRkYXRlZERlcGVuZGVuY2llczpvdXRkYXRlZERlcGVuZGVuY2llc307fQpmdW5jdGlvbiBhZGRBbGxUb1NldChhLGIpe2Zvcih2YXIgaT0wO2k8Yi5sZW5ndGg7aSsrKXt2YXIgaXRlbT1iW2ldO2lmKGEuaW5kZXhPZihpdGVtKT09PS0xKWEucHVzaChpdGVtKTt9fQp2YXIgb3V0ZGF0ZWREZXBlbmRlbmNpZXM9e307dmFyIG91dGRhdGVkTW9kdWxlcz1bXTt2YXIgYXBwbGllZFVwZGF0ZT17fTt2YXIgd2FyblVuZXhwZWN0ZWRSZXF1aXJlPWZ1bmN0aW9uIHdhcm5VbmV4cGVjdGVkUmVxdWlyZSgpe2NvbnNvbGUud2FybigiW0hNUl0gdW5leHBlY3RlZCByZXF1aXJlKCIrcmVzdWx0Lm1vZHVsZUlkKyIpIHRvIGRpc3Bvc2VkIG1vZHVsZSIpO307Zm9yKHZhciBpZCBpbiBob3RVcGRhdGUpe2lmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChob3RVcGRhdGUsaWQpKXttb2R1bGVJZD10b01vZHVsZUlkKGlkKTt2YXIgcmVzdWx0O2lmKGhvdFVwZGF0ZVtpZF0pe3Jlc3VsdD1nZXRBZmZlY3RlZFN0dWZmKG1vZHVsZUlkKTt9ZWxzZXtyZXN1bHQ9e3R5cGU6ImRpc3Bvc2VkIixtb2R1bGVJZDppZH07fQp2YXIgYWJvcnRFcnJvcj1mYWxzZTt2YXIgZG9BcHBseT1mYWxzZTt2YXIgZG9EaXNwb3NlPWZhbHNlO3ZhciBjaGFpbkluZm89IiI7aWYocmVzdWx0LmNoYWluKXtjaGFpbkluZm89IlxuVXBkYXRlIHByb3BhZ2F0aW9uOiAiK3Jlc3VsdC5jaGFpbi5qb2luKCIgLT4gIik7fQpzd2l0Y2gocmVzdWx0LnR5cGUpe2Nhc2UgInNlbGYtZGVjbGluZWQiOmlmKG9wdGlvbnMub25EZWNsaW5lZClvcHRpb25zLm9uRGVjbGluZWQocmVzdWx0KTtpZighb3B0aW9ucy5pZ25vcmVEZWNsaW5lZCkKYWJvcnRFcnJvcj1uZXcgRXJyb3IoIkFib3J0ZWQgYmVjYXVzZSBvZiBzZWxmIGRlY2xpbmU6ICIrCnJlc3VsdC5tb2R1bGVJZCsKY2hhaW5JbmZvKTticmVhaztjYXNlICJkZWNsaW5lZCI6aWYob3B0aW9ucy5vbkRlY2xpbmVkKW9wdGlvbnMub25EZWNsaW5lZChyZXN1bHQpO2lmKCFvcHRpb25zLmlnbm9yZURlY2xpbmVkKQphYm9ydEVycm9yPW5ldyBFcnJvcigiQWJvcnRlZCBiZWNhdXNlIG9mIGRlY2xpbmVkIGRlcGVuZGVuY3k6ICIrCnJlc3VsdC5tb2R1bGVJZCsKIiBpbiAiKwpyZXN1bHQucGFyZW50SWQrCmNoYWluSW5mbyk7YnJlYWs7Y2FzZSAidW5hY2NlcHRlZCI6aWYob3B0aW9ucy5vblVuYWNjZXB0ZWQpb3B0aW9ucy5vblVuYWNjZXB0ZWQocmVzdWx0KTtpZighb3B0aW9ucy5pZ25vcmVVbmFjY2VwdGVkKQphYm9ydEVycm9yPW5ldyBFcnJvcigiQWJvcnRlZCBiZWNhdXNlICIrbW9kdWxlSWQrIiBpcyBub3QgYWNjZXB0ZWQiK2NoYWluSW5mbyk7YnJlYWs7Y2FzZSAiYWNjZXB0ZWQiOmlmKG9wdGlvbnMub25BY2NlcHRlZClvcHRpb25zLm9uQWNjZXB0ZWQocmVzdWx0KTtkb0FwcGx5PXRydWU7YnJlYWs7Y2FzZSAiZGlzcG9zZWQiOmlmKG9wdGlvbnMub25EaXNwb3NlZClvcHRpb25zLm9uRGlzcG9zZWQocmVzdWx0KTtkb0Rpc3Bvc2U9dHJ1ZTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiVW5leGNlcHRpb24gdHlwZSAiK3Jlc3VsdC50eXBlKTt9CmlmKGFib3J0RXJyb3Ipe2hvdFNldFN0YXR1cygiYWJvcnQiKTtyZXR1cm4gUHJvbWlzZS5yZWplY3QoYWJvcnRFcnJvcik7fQppZihkb0FwcGx5KXthcHBsaWVkVXBkYXRlW21vZHVsZUlkXT1ob3RVcGRhdGVbbW9kdWxlSWRdO2FkZEFsbFRvU2V0KG91dGRhdGVkTW9kdWxlcyxyZXN1bHQub3V0ZGF0ZWRNb2R1bGVzKTtmb3IobW9kdWxlSWQgaW4gcmVzdWx0Lm91dGRhdGVkRGVwZW5kZW5jaWVzKXtpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocmVzdWx0Lm91dGRhdGVkRGVwZW5kZW5jaWVzLG1vZHVsZUlkKSl7aWYoIW91dGRhdGVkRGVwZW5kZW5jaWVzW21vZHVsZUlkXSkKb3V0ZGF0ZWREZXBlbmRlbmNpZXNbbW9kdWxlSWRdPVtdO2FkZEFsbFRvU2V0KG91dGRhdGVkRGVwZW5kZW5jaWVzW21vZHVsZUlkXSxyZXN1bHQub3V0ZGF0ZWREZXBlbmRlbmNpZXNbbW9kdWxlSWRdKTt9fX0KaWYoZG9EaXNwb3NlKXthZGRBbGxUb1NldChvdXRkYXRlZE1vZHVsZXMsW3Jlc3VsdC5tb2R1bGVJZF0pO2FwcGxpZWRVcGRhdGVbbW9kdWxlSWRdPXdhcm5VbmV4cGVjdGVkUmVxdWlyZTt9fX0KdmFyIG91dGRhdGVkU2VsZkFjY2VwdGVkTW9kdWxlcz1bXTtmb3IoaT0wO2k8b3V0ZGF0ZWRNb2R1bGVzLmxlbmd0aDtpKyspe21vZHVsZUlkPW91dGRhdGVkTW9kdWxlc1tpXTtpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSYmaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uaG90Ll9zZWxmQWNjZXB0ZWQmJmFwcGxpZWRVcGRhdGVbbW9kdWxlSWRdIT09d2FyblVuZXhwZWN0ZWRSZXF1aXJlKXtvdXRkYXRlZFNlbGZBY2NlcHRlZE1vZHVsZXMucHVzaCh7bW9kdWxlOm1vZHVsZUlkLGVycm9ySGFuZGxlcjppbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5ob3QuX3NlbGZBY2NlcHRlZH0pO319CmhvdFNldFN0YXR1cygiZGlzcG9zZSIpO09iamVjdC5rZXlzKGhvdEF2YWlsYWJsZUZpbGVzTWFwKS5mb3JFYWNoKGZ1bmN0aW9uKGNodW5rSWQpe2lmKGhvdEF2YWlsYWJsZUZpbGVzTWFwW2NodW5rSWRdPT09ZmFsc2Upe2hvdERpc3Bvc2VDaHVuayhjaHVua0lkKTt9fSk7dmFyIGlkeDt2YXIgcXVldWU9b3V0ZGF0ZWRNb2R1bGVzLnNsaWNlKCk7d2hpbGUocXVldWUubGVuZ3RoPjApe21vZHVsZUlkPXF1ZXVlLnBvcCgpO21vZHVsZT1pbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXTtpZighbW9kdWxlKWNvbnRpbnVlO3ZhciBkYXRhPXt9O3ZhciBkaXNwb3NlSGFuZGxlcnM9bW9kdWxlLmhvdC5fZGlzcG9zZUhhbmRsZXJzO2ZvcihqPTA7ajxkaXNwb3NlSGFuZGxlcnMubGVuZ3RoO2orKyl7Y2I9ZGlzcG9zZUhhbmRsZXJzW2pdO2NiKGRhdGEpO30KaG90Q3VycmVudE1vZHVsZURhdGFbbW9kdWxlSWRdPWRhdGE7bW9kdWxlLmhvdC5hY3RpdmU9ZmFsc2U7ZGVsZXRlIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdO2RlbGV0ZSBvdXRkYXRlZERlcGVuZGVuY2llc1ttb2R1bGVJZF07Zm9yKGo9MDtqPG1vZHVsZS5jaGlsZHJlbi5sZW5ndGg7aisrKXt2YXIgY2hpbGQ9aW5zdGFsbGVkTW9kdWxlc1ttb2R1bGUuY2hpbGRyZW5bal1dO2lmKCFjaGlsZCljb250aW51ZTtpZHg9Y2hpbGQucGFyZW50cy5pbmRleE9mKG1vZHVsZUlkKTtpZihpZHg+PTApe2NoaWxkLnBhcmVudHMuc3BsaWNlKGlkeCwxKTt9fX0KdmFyIGRlcGVuZGVuY3k7dmFyIG1vZHVsZU91dGRhdGVkRGVwZW5kZW5jaWVzO2Zvcihtb2R1bGVJZCBpbiBvdXRkYXRlZERlcGVuZGVuY2llcyl7aWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG91dGRhdGVkRGVwZW5kZW5jaWVzLG1vZHVsZUlkKSl7bW9kdWxlPWluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdO2lmKG1vZHVsZSl7bW9kdWxlT3V0ZGF0ZWREZXBlbmRlbmNpZXM9b3V0ZGF0ZWREZXBlbmRlbmNpZXNbbW9kdWxlSWRdO2ZvcihqPTA7ajxtb2R1bGVPdXRkYXRlZERlcGVuZGVuY2llcy5sZW5ndGg7aisrKXtkZXBlbmRlbmN5PW1vZHVsZU91dGRhdGVkRGVwZW5kZW5jaWVzW2pdO2lkeD1tb2R1bGUuY2hpbGRyZW4uaW5kZXhPZihkZXBlbmRlbmN5KTtpZihpZHg+PTApbW9kdWxlLmNoaWxkcmVuLnNwbGljZShpZHgsMSk7fX19fQpob3RTZXRTdGF0dXMoImFwcGx5Iik7aG90Q3VycmVudEhhc2g9aG90VXBkYXRlTmV3SGFzaDtmb3IobW9kdWxlSWQgaW4gYXBwbGllZFVwZGF0ZSl7aWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGFwcGxpZWRVcGRhdGUsbW9kdWxlSWQpKXttb2R1bGVzW21vZHVsZUlkXT1hcHBsaWVkVXBkYXRlW21vZHVsZUlkXTt9fQp2YXIgZXJyb3I9bnVsbDtmb3IobW9kdWxlSWQgaW4gb3V0ZGF0ZWREZXBlbmRlbmNpZXMpe2lmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvdXRkYXRlZERlcGVuZGVuY2llcyxtb2R1bGVJZCkpe21vZHVsZT1pbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXTtpZihtb2R1bGUpe21vZHVsZU91dGRhdGVkRGVwZW5kZW5jaWVzPW91dGRhdGVkRGVwZW5kZW5jaWVzW21vZHVsZUlkXTt2YXIgY2FsbGJhY2tzPVtdO2ZvcihpPTA7aTxtb2R1bGVPdXRkYXRlZERlcGVuZGVuY2llcy5sZW5ndGg7aSsrKXtkZXBlbmRlbmN5PW1vZHVsZU91dGRhdGVkRGVwZW5kZW5jaWVzW2ldO2NiPW1vZHVsZS5ob3QuX2FjY2VwdGVkRGVwZW5kZW5jaWVzW2RlcGVuZGVuY3ldO2lmKGNiKXtpZihjYWxsYmFja3MuaW5kZXhPZihjYikhPT0tMSljb250aW51ZTtjYWxsYmFja3MucHVzaChjYik7fX0KZm9yKGk9MDtpPGNhbGxiYWNrcy5sZW5ndGg7aSsrKXtjYj1jYWxsYmFja3NbaV07dHJ5e2NiKG1vZHVsZU91dGRhdGVkRGVwZW5kZW5jaWVzKTt9Y2F0Y2goZXJyKXtpZihvcHRpb25zLm9uRXJyb3JlZCl7b3B0aW9ucy5vbkVycm9yZWQoe3R5cGU6ImFjY2VwdC1lcnJvcmVkIixtb2R1bGVJZDptb2R1bGVJZCxkZXBlbmRlbmN5SWQ6bW9kdWxlT3V0ZGF0ZWREZXBlbmRlbmNpZXNbaV0sZXJyb3I6ZXJyfSk7fQppZighb3B0aW9ucy5pZ25vcmVFcnJvcmVkKXtpZighZXJyb3IpZXJyb3I9ZXJyO319fX19fQpmb3IoaT0wO2k8b3V0ZGF0ZWRTZWxmQWNjZXB0ZWRNb2R1bGVzLmxlbmd0aDtpKyspe3ZhciBpdGVtPW91dGRhdGVkU2VsZkFjY2VwdGVkTW9kdWxlc1tpXTttb2R1bGVJZD1pdGVtLm1vZHVsZTtob3RDdXJyZW50UGFyZW50cz1bbW9kdWxlSWRdO3RyeXtfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKTt9Y2F0Y2goZXJyKXtpZih0eXBlb2YgaXRlbS5lcnJvckhhbmRsZXI9PT0iZnVuY3Rpb24iKXt0cnl7aXRlbS5lcnJvckhhbmRsZXIoZXJyKTt9Y2F0Y2goZXJyMil7aWYob3B0aW9ucy5vbkVycm9yZWQpe29wdGlvbnMub25FcnJvcmVkKHt0eXBlOiJzZWxmLWFjY2VwdC1lcnJvci1oYW5kbGVyLWVycm9yZWQiLG1vZHVsZUlkOm1vZHVsZUlkLGVycm9yOmVycjIsb3JpZ2luYWxFcnJvcjplcnJ9KTt9CmlmKCFvcHRpb25zLmlnbm9yZUVycm9yZWQpe2lmKCFlcnJvcillcnJvcj1lcnIyO30KaWYoIWVycm9yKWVycm9yPWVycjt9fWVsc2V7aWYob3B0aW9ucy5vbkVycm9yZWQpe29wdGlvbnMub25FcnJvcmVkKHt0eXBlOiJzZWxmLWFjY2VwdC1lcnJvcmVkIixtb2R1bGVJZDptb2R1bGVJZCxlcnJvcjplcnJ9KTt9CmlmKCFvcHRpb25zLmlnbm9yZUVycm9yZWQpe2lmKCFlcnJvcillcnJvcj1lcnI7fX19fQppZihlcnJvcil7aG90U2V0U3RhdHVzKCJmYWlsIik7cmV0dXJuIFByb21pc2UucmVqZWN0KGVycm9yKTt9CmhvdFNldFN0YXR1cygiaWRsZSIpO3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKXtyZXNvbHZlKG91dGRhdGVkTW9kdWxlcyk7fSk7fQp2YXIgaW5zdGFsbGVkTW9kdWxlcz17fTtmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKXtpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSl7cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7fQp2YXIgbW9kdWxlPWluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdPXtpOm1vZHVsZUlkLGw6ZmFsc2UsZXhwb3J0czp7fSxob3Q6aG90Q3JlYXRlTW9kdWxlKG1vZHVsZUlkKSxwYXJlbnRzOihob3RDdXJyZW50UGFyZW50c1RlbXA9aG90Q3VycmVudFBhcmVudHMsaG90Q3VycmVudFBhcmVudHM9W10saG90Q3VycmVudFBhcmVudHNUZW1wKSxjaGlsZHJlbjpbXX07bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cyxtb2R1bGUsbW9kdWxlLmV4cG9ydHMsaG90Q3JlYXRlUmVxdWlyZShtb2R1bGVJZCkpO21vZHVsZS5sPXRydWU7cmV0dXJuIG1vZHVsZS5leHBvcnRzO30KX193ZWJwYWNrX3JlcXVpcmVfXy5tPW1vZHVsZXM7X193ZWJwYWNrX3JlcXVpcmVfXy5jPWluc3RhbGxlZE1vZHVsZXM7X193ZWJwYWNrX3JlcXVpcmVfXy5kPWZ1bmN0aW9uKGV4cG9ydHMsbmFtZSxnZXR0ZXIpe2lmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cyxuYW1lKSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsbmFtZSx7ZW51bWVyYWJsZTp0cnVlLGdldDpnZXR0ZXJ9KTt9fTtfX3dlYnBhY2tfcmVxdWlyZV9fLnI9ZnVuY3Rpb24oZXhwb3J0cyl7aWYodHlwZW9mIFN5bWJvbCE9PSd1bmRlZmluZWQnJiZTeW1ib2wudG9TdHJpbmdUYWcpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLFN5bWJvbC50b1N0cmluZ1RhZyx7dmFsdWU6J01vZHVsZSd9KTt9Ck9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCdfX2VzTW9kdWxlJyx7dmFsdWU6dHJ1ZX0pO307X193ZWJwYWNrX3JlcXVpcmVfXy50PWZ1bmN0aW9uKHZhbHVlLG1vZGUpe2lmKG1vZGUmMSl2YWx1ZT1fX3dlYnBhY2tfcmVxdWlyZV9fKHZhbHVlKTtpZihtb2RlJjgpcmV0dXJuIHZhbHVlO2lmKChtb2RlJjQpJiZ0eXBlb2YgdmFsdWU9PT0nb2JqZWN0JyYmdmFsdWUmJnZhbHVlLl9fZXNNb2R1bGUpcmV0dXJuIHZhbHVlO3ZhciBucz1PYmplY3QuY3JlYXRlKG51bGwpO19fd2VicGFja19yZXF1aXJlX18ucihucyk7T2JqZWN0LmRlZmluZVByb3BlcnR5KG5zLCdkZWZhdWx0Jyx7ZW51bWVyYWJsZTp0cnVlLHZhbHVlOnZhbHVlfSk7aWYobW9kZSYyJiZ0eXBlb2YgdmFsdWUhPSdzdHJpbmcnKWZvcih2YXIga2V5IGluIHZhbHVlKV9fd2VicGFja19yZXF1aXJlX18uZChucyxrZXksZnVuY3Rpb24oa2V5KXtyZXR1cm4gdmFsdWVba2V5XTt9LmJpbmQobnVsbCxrZXkpKTtyZXR1cm4gbnM7fTtfX3dlYnBhY2tfcmVxdWlyZV9fLm49ZnVuY3Rpb24obW9kdWxlKXt2YXIgZ2V0dGVyPW1vZHVsZSYmbW9kdWxlLl9fZXNNb2R1bGU/ZnVuY3Rpb24gZ2V0RGVmYXVsdCgpe3JldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTt9OmZ1bmN0aW9uIGdldE1vZHVsZUV4cG9ydHMoKXtyZXR1cm4gbW9kdWxlO307X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwnYScsZ2V0dGVyKTtyZXR1cm4gZ2V0dGVyO307X193ZWJwYWNrX3JlcXVpcmVfXy5vPWZ1bmN0aW9uKG9iamVjdCxwcm9wZXJ0eSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QscHJvcGVydHkpO307X193ZWJwYWNrX3JlcXVpcmVfXy5wPSIvIjtfX3dlYnBhY2tfcmVxdWlyZV9fLmg9ZnVuY3Rpb24oKXtyZXR1cm4gaG90Q3VycmVudEhhc2g7fTtyZXR1cm4gaG90Q3JlYXRlUmVxdWlyZSgxMCkoX193ZWJwYWNrX3JlcXVpcmVfXy5zPTEwKTt9KQooeyIuL2dlbi9jb2luZ2Vja28tY29pbi1wcmljZS1tYXJxdWVlLXdpZGdldC5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vZ2VuL2NvaW5nZWNrby1jb2luLXByaWNlLW1hcnF1ZWUtd2lkZ2V0LmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gZXhwb3J0cyBwcm92aWRlZCovKGZ1bmN0aW9uKG1vZHVsZSxfX3dlYnBhY2tfZXhwb3J0c19fLF9fd2VicGFja19yZXF1aXJlX18peyJ1c2Ugc3RyaWN0IjtldmFsKCJfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgY29yZV9qc19tb2R1bGVzX2VzNl9yZWdleHBfdG9fc3RyaW5nX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBjb3JlLWpzL21vZHVsZXMvZXM2LnJlZ2V4cC50by1zdHJpbmcgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnJlZ2V4cC50by1zdHJpbmcuanNcIik7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgY29yZV9qc19tb2R1bGVzX2VzNl9yZWdleHBfdG9fc3RyaW5nX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oY29yZV9qc19tb2R1bGVzX2VzNl9yZWdleHBfdG9fc3RyaW5nX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHZ1ZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgdnVlICovIFwiLi9ub2RlX21vZHVsZXMvdnVlL2Rpc3QvdnVlLnJ1bnRpbWUuZXNtLmpzXCIpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHZ1ZV9jdXN0b21fZWxlbWVudF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgdnVlLWN1c3RvbS1lbGVtZW50ICovIFwiLi9ub2RlX21vZHVsZXMvdnVlLWN1c3RvbS1lbGVtZW50L2Rpc3QvdnVlLWN1c3RvbS1lbGVtZW50LmVzbS5qc1wiKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfc3JjX3V0aWxfY2RuX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi9zcmMvdXRpbC9jZG4gKi8gXCIuL3NyYy91dGlsL2Nkbi5qc1wiKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfc3JjX3V0aWxfYnJvd3Nlcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi4vc3JjL3V0aWwvYnJvd3NlciAqLyBcIi4vc3JjL3V0aWwvYnJvd3Nlci5qc1wiKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfc3JjX3V0aWxfaGVscGVyX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi9zcmMvdXRpbC9oZWxwZXIgKi8gXCIuL3NyYy91dGlsL2hlbHBlci5qc1wiKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfc3JjX2NvbXBvbmVudHNfQ29pbmdlY2tvQ29pblByaWNlTWFycXVlZVdpZGdldF92dWVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzZfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uL3NyYy9jb21wb25lbnRzL0NvaW5nZWNrb0NvaW5QcmljZU1hcnF1ZWVXaWRnZXQudnVlICovIFwiLi9zcmMvY29tcG9uZW50cy9Db2luZ2Vja29Db2luUHJpY2VNYXJxdWVlV2lkZ2V0LnZ1ZVwiKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfY3NzX2xvYWRlcl9zcmNfY29tcG9uZW50c19Db2luZ2Vja29Db2luUHJpY2VNYXJxdWVlV2lkZ2V0X2Nzc19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfN19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgY3NzLWxvYWRlciEuLi9zcmMvY29tcG9uZW50cy9Db2luZ2Vja29Db2luUHJpY2VNYXJxdWVlV2lkZ2V0LmNzcyAqLyBcIi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi9zcmMvY29tcG9uZW50cy9Db2luZ2Vja29Db2luUHJpY2VNYXJxdWVlV2lkZ2V0LmNzc1wiKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfY3NzX2xvYWRlcl9zcmNfY29tcG9uZW50c19Db2luZ2Vja29Db2luUHJpY2VNYXJxdWVlV2lkZ2V0X2Nzc19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfN19fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9jc3NfbG9hZGVyX3NyY19jb21wb25lbnRzX0NvaW5nZWNrb0NvaW5QcmljZU1hcnF1ZWVXaWRnZXRfY3NzX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV83X18pO1xuXG4vLyBUSElTIEZJTEUgSVMgR0VORVJBVEVELiBETyBOT1QgRURJVC5cblxuXG52dWVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcImRlZmF1bHRcIl0udXNlKHZ1ZV9jdXN0b21fZWxlbWVudF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fW1wiZGVmYXVsdFwiXSk7XG5cblxuXG5cblxuXG52YXIgbG9hZFdpZGdldCA9IGZ1bmN0aW9uIGxvYWRXaWRnZXQoKSB7XG4gIHZhciBvcHRzID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7XG4gICAgc2hhZG93OiBmYWxzZVxuICB9O1xuICB2dWVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcImRlZmF1bHRcIl0uY3VzdG9tRWxlbWVudChcImNvaW5nZWNrby1jb2luLXByaWNlLW1hcnF1ZWUtd2lkZ2V0XCIsIF9zcmNfY29tcG9uZW50c19Db2luZ2Vja29Db2luUHJpY2VNYXJxdWVlV2lkZ2V0X3Z1ZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNl9fW1wiZGVmYXVsdFwiXSwge1xuICAgIHNoYWRvdzogb3B0cy5zaGFkb3csXG4gICAgc2hhZG93Q3NzOiBfY3NzX2xvYWRlcl9zcmNfY29tcG9uZW50c19Db2luZ2Vja29Db2luUHJpY2VNYXJxdWVlV2lkZ2V0X2Nzc19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfN19fX2RlZmF1bHQuYS50b1N0cmluZygpLFxuICAgIGNvbm5lY3RlZENhbGxiYWNrOiBmdW5jdGlvbiBjb25uZWN0ZWRDYWxsYmFjaygpIHtcbiAgICAgIGlmICghb3B0cy5zaGFkb3cpIHtcbiAgICAgICAgdmFyIHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInN0eWxlXCIpO1xuICAgICAgICBzdHlsZS5pbm5lckhUTUwgPSBfY3NzX2xvYWRlcl9zcmNfY29tcG9uZW50c19Db2luZ2Vja29Db2luUHJpY2VNYXJxdWVlV2lkZ2V0X2Nzc19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfN19fX2RlZmF1bHQuYS50b1N0cmluZygpO1xuICAgICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZChzdHlsZSk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbn07XG5cbmlmIChPYmplY3QoX3NyY191dGlsX2Jyb3dzZXJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfX1tcImlzTW9kZXJuQnJvd3NlclwiXSkoKSkge1xuICBsb2FkV2lkZ2V0KHtcbiAgICBzaGFkb3c6IHRydWVcbiAgfSk7XG59IGVsc2Uge1xuICBPYmplY3QoX3NyY191dGlsX2hlbHBlcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fW1wibG9hZFNjcmlwdHNcIl0pKFtfc3JjX3V0aWxfY2RuX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXCJjZG5cIl0uY3VzdG9tRWxlbWVudCwgX3NyY191dGlsX2Nkbl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1wiY2RuXCJdLmZldGNoLCBfc3JjX3V0aWxfY2RuX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXCJjZG5cIl0uY3NzdmFyXSkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIGxvYWRXaWRnZXQoe1xuICAgICAgc2hhZG93OiBmYWxzZVxuICAgIH0pO1xuICB9KTtcbn0vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOW5aVzR2WTI5cGJtZGxZMnR2TFdOdmFXNHRjSEpwWTJVdGJXRnljWFZsWlMxM2FXUm5aWFF1YW5NdWFuTWlMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk4dkxpOW5aVzR2WTI5cGJtZGxZMnR2TFdOdmFXNHRjSEpwWTJVdGJXRnljWFZsWlMxM2FXUm5aWFF1YW5NL1kyVTNNQ0pkTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdkx5QlVTRWxUSUVaSlRFVWdTVk1nUjBWT1JWSkJWRVZFTGlCRVR5Qk9UMVFnUlVSSlZDNWNibWx0Y0c5eWRDQldkV1VnWm5KdmJTQmNJbloxWlZ3aU8xeHVhVzF3YjNKMElGWjFaVU4xYzNSdmJVVnNaVzFsYm5RZ1puSnZiU0JjSW5aMVpTMWpkWE4wYjIwdFpXeGxiV1Z1ZEZ3aU8xeHVWblZsTG5WelpTaFdkV1ZEZFhOMGIyMUZiR1Z0Wlc1MEtUdGNibHh1YVcxd2IzSjBJSHNnWTJSdUlIMGdabkp2YlNCY0lpNHVMM055WXk5MWRHbHNMMk5rYmx3aU8xeHVhVzF3YjNKMElIc2dhWE5OYjJSbGNtNUNjbTkzYzJWeUlIMGdabkp2YlNCY0lpNHVMM055WXk5MWRHbHNMMkp5YjNkelpYSmNJanRjYm1sdGNHOXlkQ0I3SUd4dllXUlRZM0pwY0hSeklIMGdabkp2YlNCY0lpNHVMM055WXk5MWRHbHNMMmhsYkhCbGNsd2lPMXh1WEc1cGJYQnZjblFnUTI5cGJtZGxZMnR2UTI5cGJsQnlhV05sVFdGeWNYVmxaVmRwWkdkbGRDQm1jbTl0SUZ3aUxpNHZjM0pqTDJOdmJYQnZibVZ1ZEhNdlEyOXBibWRsWTJ0dlEyOXBibEJ5YVdObFRXRnljWFZsWlZkcFpHZGxkQzUyZFdWY0lqdGNibWx0Y0c5eWRDQkRiMmx1WjJWamEyOURiMmx1VUhKcFkyVk5ZWEp4ZFdWbFYybGtaMlYwVTNSNWJHVWdabkp2YlNCY0lpRmpjM010Ykc5aFpHVnlJUzR1TDNOeVl5OWpiMjF3YjI1bGJuUnpMME52YVc1blpXTnJiME52YVc1UWNtbGpaVTFoY25GMVpXVlhhV1JuWlhRdVkzTnpYQ0k3WEc1Y2JtTnZibk4wSUd4dllXUlhhV1JuWlhRZ1BTQW9iM0IwY3lBOUlIc2djMmhoWkc5M09pQm1ZV3h6WlNCOUtTQTlQaUI3WEc0Z0lGWjFaUzVqZFhOMGIyMUZiR1Z0Wlc1MEtGd2lZMjlwYm1kbFkydHZMV052YVc0dGNISnBZMlV0YldGeWNYVmxaUzEzYVdSblpYUmNJaXdnUTI5cGJtZGxZMnR2UTI5cGJsQnlhV05sVFdGeWNYVmxaVmRwWkdkbGRDd2dlMXh1SUNBZ0lITm9ZV1J2ZHpvZ2IzQjBjeTV6YUdGa2IzY3NYRzRnSUNBZ2MyaGhaRzkzUTNOek9pQkRiMmx1WjJWamEyOURiMmx1VUhKcFkyVk5ZWEp4ZFdWbFYybGtaMlYwVTNSNWJHVXVkRzlUZEhKcGJtY29LU3hjYmlBZ0lDQmpiMjV1WldOMFpXUkRZV3hzWW1GamF5Z3BJSHRjYmlBZ0lDQWdJR2xtSUNnaGIzQjBjeTV6YUdGa2IzY3BJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdjM1I1YkdVZ1BTQmtiMk4xYldWdWRDNWpjbVZoZEdWRmJHVnRaVzUwS0Z3aWMzUjViR1ZjSWlrN1hHNGdJQ0FnSUNBZ0lITjBlV3hsTG1sdWJtVnlTRlJOVENBOUlFTnZhVzVuWldOcmIwTnZhVzVRY21salpVMWhjbkYxWldWWGFXUm5aWFJUZEhsc1pTNTBiMU4wY21sdVp5Z3BPMXh1SUNBZ0lDQWdJQ0JrYjJOMWJXVnVkQzVvWldGa0xtRndjR1Z1WkNoemRIbHNaU2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOUtUdGNibjA3WEc1Y2JtbG1JQ2hwYzAxdlpHVnlia0p5YjNkelpYSW9LU2tnZTF4dUlDQnNiMkZrVjJsa1oyVjBLSHNnYzJoaFpHOTNPaUIwY25WbElIMHBPMXh1ZlNCbGJITmxJSHRjYmlBZ2JHOWhaRk5qY21sd2RITW9XMk5rYmk1amRYTjBiMjFGYkdWdFpXNTBMQ0JqWkc0dVptVjBZMmdzSUdOa2JpNWpjM04yWVhKZEtTNTBhR1Z1S0NncElEMCtJR3h2WVdSWGFXUm5aWFFvZXlCemFHRmtiM2M2SUdaaGJITmxJSDBwS1R0Y2JuMWNiaUpkTENKdFlYQndhVzVuY3lJNklqczdPenM3T3pzN096czdPMEZCUVVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlZFRTdRVUZYUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVGQk8wRkJRVUU3UVVGRFFUdEJRVU5CTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkRRU0lzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9nZW4vY29pbmdlY2tvLWNvaW4tcHJpY2UtbWFycXVlZS13aWRnZXQuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS1jb3JlanMyL2NvcmUtanMvc3ltYm9sLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS1jb3JlanMyL2NvcmUtanMvc3ltYm9sLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18pe2V2YWwoIm1vZHVsZS5leHBvcnRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgY29yZS1qcy9saWJyYXJ5L2ZuL3N5bWJvbCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9mbi9zeW1ib2wvaW5kZXguanNcIik7Ly8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlFHSmhZbVZzTDNKMWJuUnBiV1V0WTI5eVpXcHpNaTlqYjNKbExXcHpMM041YldKdmJDNXFjeTVxY3lJc0luTnZkWEpqWlhNaU9sc2lkMlZpY0dGamF6b3ZMeTh1TDI1dlpHVmZiVzlrZFd4bGN5OUFZbUZpWld3dmNuVnVkR2x0WlMxamIzSmxhbk15TDJOdmNtVXRhbk12YzNsdFltOXNMbXB6UHpZM1ltSWlYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0J5WlhGMWFYSmxLRndpWTI5eVpTMXFjeTlzYVdKeVlYSjVMMlp1TDNONWJXSnZiRndpS1RzaVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQklpd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lLWNvcmVqczIvY29yZS1qcy9zeW1ib2wuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS1jb3JlanMyL2NvcmUtanMvc3ltYm9sL2l0ZXJhdG9yLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS1jb3JlanMyL2NvcmUtanMvc3ltYm9sL2l0ZXJhdG9yLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18pe2V2YWwoIm1vZHVsZS5leHBvcnRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgY29yZS1qcy9saWJyYXJ5L2ZuL3N5bWJvbC9pdGVyYXRvciAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9mbi9zeW1ib2wvaXRlcmF0b3IuanNcIik7Ly8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlFHSmhZbVZzTDNKMWJuUnBiV1V0WTI5eVpXcHpNaTlqYjNKbExXcHpMM041YldKdmJDOXBkR1Z5WVhSdmNpNXFjeTVxY3lJc0luTnZkWEpqWlhNaU9sc2lkMlZpY0dGamF6b3ZMeTh1TDI1dlpHVmZiVzlrZFd4bGN5OUFZbUZpWld3dmNuVnVkR2x0WlMxamIzSmxhbk15TDJOdmNtVXRhbk12YzNsdFltOXNMMmwwWlhKaGRHOXlMbXB6UHpWa05UZ2lYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0J5WlhGMWFYSmxLRndpWTI5eVpTMXFjeTlzYVdKeVlYSjVMMlp1TDNONWJXSnZiQzlwZEdWeVlYUnZjbHdpS1RzaVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQklpd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lLWNvcmVqczIvY29yZS1qcy9zeW1ib2wvaXRlcmF0b3IuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS1jb3JlanMyL2hlbHBlcnMvZXNtL3R5cGVvZi5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lLWNvcmVqczIvaGVscGVycy9lc20vdHlwZW9mLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohZXhwb3J0cyBwcm92aWRlZDogZGVmYXVsdCovKGZ1bmN0aW9uKG1vZHVsZSxfX3dlYnBhY2tfZXhwb3J0c19fLF9fd2VicGFja19yZXF1aXJlX18peyJ1c2Ugc3RyaWN0IjtldmFsKCJfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFwiZGVmYXVsdFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF90eXBlb2Y7IH0pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9jb3JlX2pzX3N5bWJvbF9pdGVyYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi4vLi4vY29yZS1qcy9zeW1ib2wvaXRlcmF0b3IgKi8gXCIuL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS1jb3JlanMyL2NvcmUtanMvc3ltYm9sL2l0ZXJhdG9yLmpzXCIpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9jb3JlX2pzX3N5bWJvbF9pdGVyYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9jb3JlX2pzX3N5bWJvbF9pdGVyYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfY29yZV9qc19zeW1ib2xfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uLy4uL2NvcmUtanMvc3ltYm9sICovIFwiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUtY29yZWpzMi9jb3JlLWpzL3N5bWJvbC5qc1wiKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfY29yZV9qc19zeW1ib2xfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihfY29yZV9qc19zeW1ib2xfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyk7XG5cblxuZnVuY3Rpb24gX3R5cGVvZihvYmopIHtcbiAgXCJAYmFiZWwvaGVscGVycyAtIHR5cGVvZlwiO1xuXG4gIGlmICh0eXBlb2YgX2NvcmVfanNfc3ltYm9sX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19fZGVmYXVsdC5hID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIF9jb3JlX2pzX3N5bWJvbF9pdGVyYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fX2RlZmF1bHQuYSA9PT0gXCJzeW1ib2xcIikge1xuICAgIF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikge1xuICAgICAgcmV0dXJuIHR5cGVvZiBvYmo7XG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICBfdHlwZW9mID0gZnVuY3Rpb24gX3R5cGVvZihvYmopIHtcbiAgICAgIHJldHVybiBvYmogJiYgdHlwZW9mIF9jb3JlX2pzX3N5bWJvbF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fX2RlZmF1bHQuYSA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gX2NvcmVfanNfc3ltYm9sX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19fZGVmYXVsdC5hICYmIG9iaiAhPT0gX2NvcmVfanNfc3ltYm9sX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19fZGVmYXVsdC5hLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqO1xuICAgIH07XG4gIH1cblxuICByZXR1cm4gX3R5cGVvZihvYmopO1xufS8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZRR0poWW1Wc0wzSjFiblJwYldVdFkyOXlaV3B6TWk5b1pXeHdaWEp6TDJWemJTOTBlWEJsYjJZdWFuTXVhbk1pTENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OHZMaTl1YjJSbFgyMXZaSFZzWlhNdlFHSmhZbVZzTDNKMWJuUnBiV1V0WTI5eVpXcHpNaTlvWld4d1pYSnpMMlZ6YlM5MGVYQmxiMll1YW5NL056WXhPQ0pkTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnWDFONWJXSnZiQ1JwZEdWeVlYUnZjaUJtY205dElGd2lMaTR2TGk0dlkyOXlaUzFxY3k5emVXMWliMnd2YVhSbGNtRjBiM0pjSWp0Y2JtbHRjRzl5ZENCZlUzbHRZbTlzSUdaeWIyMGdYQ0l1TGk4dUxpOWpiM0psTFdwekwzTjViV0p2YkZ3aU8xeHVaWGh3YjNKMElHUmxabUYxYkhRZ1puVnVZM1JwYjI0Z1gzUjVjR1Z2Wmlodlltb3BJSHRjYmlBZ1hDSkFZbUZpWld3dmFHVnNjR1Z5Y3lBdElIUjVjR1Z2Wmx3aU8xeHVYRzRnSUdsbUlDaDBlWEJsYjJZZ1gxTjViV0p2YkNBOVBUMGdYQ0ptZFc1amRHbHZibHdpSUNZbUlIUjVjR1Z2WmlCZlUzbHRZbTlzSkdsMFpYSmhkRzl5SUQwOVBTQmNJbk41YldKdmJGd2lLU0I3WEc0Z0lDQWdYM1I1Y0dWdlppQTlJR1oxYm1OMGFXOXVJRjkwZVhCbGIyWW9iMkpxS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEhsd1pXOW1JRzlpYWp0Y2JpQWdJQ0I5TzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUY5MGVYQmxiMllnUFNCbWRXNWpkR2x2YmlCZmRIbHdaVzltS0c5aWFpa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHOWlhaUFtSmlCMGVYQmxiMllnWDFONWJXSnZiQ0E5UFQwZ1hDSm1kVzVqZEdsdmJsd2lJQ1ltSUc5aWFpNWpiMjV6ZEhKMVkzUnZjaUE5UFQwZ1gxTjViV0p2YkNBbUppQnZZbW9nSVQwOUlGOVRlVzFpYjJ3dWNISnZkRzkwZVhCbElEOGdYQ0p6ZVcxaWIyeGNJaUE2SUhSNWNHVnZaaUJ2WW1vN1hHNGdJQ0FnZlR0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCZmRIbHdaVzltS0c5aWFpazdYRzU5SWwwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQklpd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lLWNvcmVqczIvaGVscGVycy9lc20vdHlwZW9mLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvQGNvaW5nZWNrby9jcnlwdG9mb3JtYXQvbGliL2NyeXB0b2Zvcm1hdC51bWQuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9AY29pbmdlY2tvL2NyeXB0b2Zvcm1hdC9saWIvY3J5cHRvZm9ybWF0LnVtZC5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7ZXZhbCgiKGZ1bmN0aW9uIChnbG9iYWwsIGZhY3RvcnkpIHtcbiAgIHRydWUgPyBmYWN0b3J5KGV4cG9ydHMpIDpcbiAgdW5kZWZpbmVkO1xufSh0aGlzLCBmdW5jdGlvbiAoZXhwb3J0cykgeyAndXNlIHN0cmljdCc7XG5cbiAgLy8gQSBtYXAgb2Ygc3VwcG9ydGVkIGN1cnJlbmN5IGNvZGVzIHRvIGN1cnJlbmN5IHN5bWJvbHMuXG4gIGNvbnN0IHN1cHBvcnRlZEN1cnJlbmN5U3ltYm9scyA9IHtcbiAgICBCVEM6IFwiyYNcIixcbiAgICBFVEg6IFwizp5cIixcbiAgICBVU0Q6IFwiJFwiLFxuICAgIENBRDogXCJDJFwiLFxuICAgIEdCUDogXCLCo1wiLFxuICAgIEVVUjogXCLigqxcIixcbiAgICBDSEY6IFwiRnIuXCIsXG4gICAgU0VLOiBcImtyXCIsXG4gICAgSlBZOiBcIsKlXCIsXG4gICAgQ05ZOiBcIsKlXCIsXG4gICAgSU5SOiBcIuKCuVwiLFxuICAgIFJVQjogXCLigr1cIixcbiAgICBBVUQ6IFwiQSRcIixcbiAgICBIS0Q6IFwiSEskXCIsXG4gICAgU0dEOiBcIlMkXCIsXG4gICAgVFdEOiBcIk5UJFwiLFxuICAgIEJSTDogXCJSJFwiLFxuICAgIEtSVzogXCLigqlcIixcbiAgICBaQVI6IFwiUlwiLFxuICAgIE1ZUjogXCJSTVwiLFxuICAgIElEUjogXCJScFwiLFxuICAgIE5aRDogXCJOWiRcIixcbiAgICBNWE46IFwiTVgkXCIsXG4gICAgUEhQOiBcIuKCsVwiLFxuICAgIERLSzogXCJrci5cIixcbiAgICBQTE46IFwiesWCXCIsXG4gICAgQUVEOiBcIkRIXCIsXG4gICAgQVJTOiBcIiRcIixcbiAgICBDTFA6IFwiQ0xQXCIsXG4gICAgQ1pLOiBcIkvEjVwiLFxuICAgIEhVRjogXCJGdFwiLFxuICAgIElMUzogXCLigqpcIixcbiAgICBLV0Q6IFwiS0RcIixcbiAgICBMS1I6IFwiUnNcIixcbiAgICBOT0s6IFwia3JcIixcbiAgICBQS1I6IFwi4oKoXCIsXG4gICAgU0FSOiBcIlNSXCIsXG4gICAgVEhCOiBcIuC4v1wiLFxuICAgIFRSWTogXCLigrpcIixcbiAgICBYQVU6IFwiWEFVXCIsXG4gICAgWEFHOiBcIlhBR1wiLFxuICAgIFhEUjogXCJYRFJcIlxuICB9O1xuXG4gIC8vIEEgbWFwIG9mIG92ZXJyaWRlIG9iamVjdHMgdG8gYXBwbHkuXG4gIC8vIEZvcm1hdDpcbiAgLy8geyBsb2NhdGlvbjogeyBzdGFydDogQm9vbGVhbiwgZW5kOiBCb29sZWFuIH0sIGZvckxvY2FsZXM6IHsgPGxvY2FsZT46IEJvb2xlYW4gfSB9XG4gIGNvbnN0IHN5bWJvbE92ZXJyaWRlcyA9IHtcbiAgICBNWVI6IHsgbG9jYXRpb246IHsgc3RhcnQ6IHRydWUgfSwgZm9yTG9jYWxlczogeyBlbjogdHJ1ZSB9IH0sXG4gICAgU0dEOiB7IGxvY2F0aW9uOiB7IHN0YXJ0OiB0cnVlIH0sIGZvckxvY2FsZXM6IHsgZW46IHRydWUgfSB9LFxuICAgIFBIUDogeyBsb2NhdGlvbjogeyBzdGFydDogdHJ1ZSB9LCBmb3JMb2NhbGVzOiB7IGVuOiB0cnVlIH0gfSxcbiAgICBCVEM6IHsgbG9jYXRpb246IHsgc3RhcnQ6IHRydWUgfSwgZm9yTG9jYWxlczogeyBlbjogdHJ1ZSB9IH0sXG4gICAgRVRIOiB7IGxvY2F0aW9uOiB7IHN0YXJ0OiB0cnVlIH0sIGZvckxvY2FsZXM6IHsgZW46IHRydWUgfSB9XG4gIH07XG5cbiAgLy8gRmVhdHVyZSBkZXRlY3Rpb24gZm9yIEludGwuTnVtYmVyRm9ybWF0XG4gIGZ1bmN0aW9uIEludGxOdW1iZXJGb3JtYXRTdXBwb3J0ZWQoKSB7XG4gICAgcmV0dXJuICEhKHR5cGVvZiBJbnRsID09IFwib2JqZWN0XCIgJiYgSW50bCAmJiB0eXBlb2YgSW50bC5OdW1iZXJGb3JtYXQgPT0gXCJmdW5jdGlvblwiKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGlzQlRDRVRIKGlzb0NvZGUpIHtcbiAgICByZXR1cm4gaXNvQ29kZSA9PT0gXCJCVENcIiB8fCBpc29Db2RlID09PSBcIkVUSFwiO1xuICB9XG5cbiAgZnVuY3Rpb24gaXNDcnlwdG8oaXNvQ29kZSkge1xuICAgIHJldHVybiBpc0JUQ0VUSChpc29Db2RlKSB8fCBzdXBwb3J0ZWRDdXJyZW5jeVN5bWJvbHNbaXNvQ29kZV0gPT0gbnVsbDtcbiAgfVxuXG4gIC8vIEZ1bmN0aW9uIHRvIHRyYW5zZm9ybSB0aGUgb3V0cHV0IGZyb20gSW50bC5OdW1iZXJGb3JtYXQjZm9ybWF0XG4gIGZ1bmN0aW9uIGZvcm1hdEN1cnJlbmN5T3ZlcnJpZGUoZm9ybWF0dGVkQ3VycmVuY3ksIGxvY2FsZSA9IFwiZW5cIikge1xuICAgIC8vIElmIGN1cnJlbmN5IGNvZGUgcmVtYWlucyBpbiBmcm9udFxuICAgIGNvbnN0IGN1cnJlbmN5Q29kZUZyb250TWF0Y2ggPSBmb3JtYXR0ZWRDdXJyZW5jeS5tYXRjaCgvXltBLVpdezN9XFxzPy8pO1xuICAgIGlmIChjdXJyZW5jeUNvZGVGcm9udE1hdGNoICE9IG51bGwpIHtcbiAgICAgIGNvbnN0IGNvZGUgPSBjdXJyZW5jeUNvZGVGcm9udE1hdGNoWzBdLnRyaW0oKTsgLy8gdHJpbSBwb3NzaWJsZSB0cmFpbGluZyBzcGFjZVxuXG4gICAgICAvLyBSZXBsYWNlIGN1cnJlbmN5IGNvZGUgd2l0aCBzeW1ib2wgaWYgd2hpdGVsaXN0ZWQuXG4gICAgICBjb25zdCBvdmVycmlkZU9iaiA9IHN5bWJvbE92ZXJyaWRlc1tjb2RlXTtcbiAgICAgIGlmIChvdmVycmlkZU9iaiAmJiBvdmVycmlkZU9iai5sb2NhdGlvbi5zdGFydCAmJiBvdmVycmlkZU9iai5mb3JMb2NhbGVzW2xvY2FsZV0pIHtcbiAgICAgICAgcmV0dXJuIGZvcm1hdHRlZEN1cnJlbmN5LnJlcGxhY2UoY3VycmVuY3lDb2RlRnJvbnRNYXRjaFswXSwgc3VwcG9ydGVkQ3VycmVuY3lTeW1ib2xzW2NvZGVdKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBmb3JtYXR0ZWRDdXJyZW5jeTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiBjdXJyZW5jeSBjb2RlIGlzIGF0IHRoZSBiYWNrXG4gICAgY29uc3QgY3VycmVuY3lDb2RlQmFja01hdGNoID0gZm9ybWF0dGVkQ3VycmVuY3kubWF0Y2goL1tBLVpdezN9JC8pO1xuICAgIGlmIChjdXJyZW5jeUNvZGVCYWNrTWF0Y2ggIT0gbnVsbCkge1xuICAgICAgY29uc3QgY29kZSA9IGN1cnJlbmN5Q29kZUJhY2tNYXRjaFswXTtcblxuICAgICAgLy8gUmVwbGFjZSBjdXJyZW5jeSBjb2RlIHdpdGggc3ltYm9sIGlmIHdoaXRlbGlzdGVkLlxuICAgICAgY29uc3Qgb3ZlcnJpZGVPYmogPSBzeW1ib2xPdmVycmlkZXNbY29kZV07XG4gICAgICBpZiAob3ZlcnJpZGVPYmogJiYgb3ZlcnJpZGVPYmoubG9jYXRpb24uZW5kICYmIG92ZXJyaWRlT2JqLmZvckxvY2FsZXNbbG9jYWxlXSkge1xuICAgICAgICByZXR1cm4gZm9ybWF0dGVkQ3VycmVuY3kucmVwbGFjZShjb2RlLCBzdXBwb3J0ZWRDdXJyZW5jeVN5bWJvbHNbY29kZV0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGZvcm1hdHRlZEN1cnJlbmN5O1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmb3JtYXR0ZWRDdXJyZW5jeTtcbiAgfVxuXG4gIC8vIEdlbmVyYXRlcyBhIGZvcm1hdHRlciBmcm9tIEludGwuTnVtYmVyRm9ybWF0XG4gIGZ1bmN0aW9uIGdlbmVyYXRlSW50bE51bWJlckZvcm1hdHRlcihpc29Db2RlLCBsb2NhbGUsIG51bURlY2ltYWxzKSB7XG4gICAgbGV0IGZvcm1hdHRlcjtcbiAgICB0cnkge1xuICAgICAgZm9ybWF0dGVyID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KGxvY2FsZSwge1xuICAgICAgICBzdHlsZTogXCJjdXJyZW5jeVwiLFxuICAgICAgICBjdXJyZW5jeTogaXNvQ29kZSxcbiAgICAgICAgY3VycmVuY3lEaXNwbGF5OiBcInN5bWJvbFwiLFxuICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IG51bURlY2ltYWxzLFxuICAgICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IG51bURlY2ltYWxzXG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAvLyBVbnN1cHBvcnRlZCBjdXJyZW5jeSwgZXRjLlxuICAgICAgLy8gVXNlIHByaW1pdGl2ZSBmYWxsYmFja1xuICAgICAgcmV0dXJuIGdlbmVyYXRlRmFsbGJhY2tGb3JtYXR0ZXIoaXNvQ29kZSwgbG9jYWxlLCBudW1EZWNpbWFscyk7XG4gICAgfVxuICAgIHJldHVybiBmb3JtYXR0ZXI7XG4gIH1cblxuICAvLyBHZW5lcmF0ZXMgYSBwcmltaXRpdmUgZmFsbGJhY2sgZm9ybWF0dGVyIHdpdGggbm8gc3ltYm9sIHN1cHBvcnQuXG4gIGZ1bmN0aW9uIGdlbmVyYXRlRmFsbGJhY2tGb3JtYXR0ZXIoaXNvQ29kZSwgbG9jYWxlLCBudW1EZWNpbWFscyA9IDIpIHtcbiAgICBpc29Db2RlID0gaXNvQ29kZS50b1VwcGVyQ2FzZSgpO1xuXG4gICAgaWYgKG51bURlY2ltYWxzID4gMikge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZm9ybWF0OiB2YWx1ZSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGlzQ3J5cHRvKGlzb0NvZGUpXG4gICAgICAgICAgICA/IGAke3ZhbHVlLnRvRml4ZWQobnVtRGVjaW1hbHMpfSAke2lzb0NvZGV9YFxuICAgICAgICAgICAgOiBgJHtpc29Db2RlfSAke3ZhbHVlLnRvRml4ZWQobnVtRGVjaW1hbHMpfWA7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGZvcm1hdDogdmFsdWUgPT4ge1xuICAgICAgICAgIHJldHVybiBpc0NyeXB0byhpc29Db2RlKVxuICAgICAgICAgICAgPyBgJHt2YWx1ZS50b0xvY2FsZVN0cmluZyhsb2NhbGUpfSAke2lzb0NvZGV9YFxuICAgICAgICAgICAgOiBgJHtpc29Db2RlfSAke3ZhbHVlLnRvTG9jYWxlU3RyaW5nKGxvY2FsZSl9YDtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBnZW5lcmF0ZUZvcm1hdHRlcihpc29Db2RlLCBsb2NhbGUsIG51bURlY2ltYWxzKSB7XG4gICAgY29uc3QgaXNOdW1iZXJGb3JtYXRTdXBwb3J0ZWQgPSBJbnRsTnVtYmVyRm9ybWF0U3VwcG9ydGVkKCk7XG5cbiAgICBjb25zdCB1c2VJbnRsTnVtYmVyRm9ybWF0dGVyID1cbiAgICAgIGlzTnVtYmVyRm9ybWF0U3VwcG9ydGVkICYmICghaXNDcnlwdG8oaXNvQ29kZSkgfHwgaXNCVENFVEgoaXNvQ29kZSkpO1xuICAgIHJldHVybiB1c2VJbnRsTnVtYmVyRm9ybWF0dGVyXG4gICAgICA/IGdlbmVyYXRlSW50bE51bWJlckZvcm1hdHRlcihpc29Db2RlLCBsb2NhbGUsIG51bURlY2ltYWxzKVxuICAgICAgOiBnZW5lcmF0ZUZhbGxiYWNrRm9ybWF0dGVyKGlzb0NvZGUsIGxvY2FsZSwgbnVtRGVjaW1hbHMpO1xuICB9XG5cbiAgLy8gU3RhdGUgdmFyaWFibGVzXG4gIGxldCBjdXJyZW50SVNPQ29kZTtcbiAgbGV0IGN1cnJlbnRMb2NhbGU7XG4gIGxldCBjdXJyZW5jeUZvcm1hdHRlck5vcm1hbDtcbiAgbGV0IGN1cnJlbmN5Rm9ybWF0dGVyTm9EZWNpbWFsO1xuICBsZXQgY3VycmVuY3lGb3JtYXR0ZXJNZWRpdW07XG4gIGxldCBjdXJyZW5jeUZvcm1hdHRlclNtYWxsO1xuICBsZXQgY3VycmVuY3lGb3JtYXR0ZXJWZXJ5U21hbGw7XG5cbiAgLy8gSWYgYSBwYWdlIGhhcyB0byBkaXNwbGF5IG11bHRpcGxlIGN1cnJlbmNpZXMsIGZvcm1hdHRlcnMgd291bGQgaGF2ZSB0byBiZSBjcmVhdGVkIGZvciBlYWNoIG9mIHRoZW1cbiAgLy8gVG8gc2F2ZSBzb21lIGVmZm9ydCwgd2Ugc2F2ZSBmb3JtYXR0ZXJzIGZvciByZXVzZVxuICBsZXQgZm9ybWF0dGVyc0NhY2hlID0ge307XG5cbiAgZnVuY3Rpb24gY2xlYXJDYWNoZSgpIHtcbiAgICBmb3JtYXR0ZXJzQ2FjaGUgPSB7fTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGluaXRpYWxpemVGb3JtYXR0ZXJzKGlzb0NvZGUsIGxvY2FsZSkge1xuICAgIGNvbnN0IGNhY2hlS2V5ID0gYCR7aXNvQ29kZX0tJHtsb2NhbGV9YDtcbiAgICBjb25zdCBjYWNoZWRGb3JtYXR0ZXIgPSBmb3JtYXR0ZXJzQ2FjaGVbY2FjaGVLZXldO1xuXG4gICAgY3VycmVuY3lGb3JtYXR0ZXJOb3JtYWwgPSBjYWNoZWRGb3JtYXR0ZXJcbiAgICAgID8gY2FjaGVkRm9ybWF0dGVyLmN1cnJlbmN5Rm9ybWF0dGVyTm9ybWFsXG4gICAgICA6IGdlbmVyYXRlRm9ybWF0dGVyKGlzb0NvZGUsIGxvY2FsZSk7XG4gICAgY3VycmVuY3lGb3JtYXR0ZXJOb0RlY2ltYWwgPSBjYWNoZWRGb3JtYXR0ZXJcbiAgICAgID8gY2FjaGVkRm9ybWF0dGVyLmN1cnJlbmN5Rm9ybWF0dGVyTm9EZWNpbWFsXG4gICAgICA6IGdlbmVyYXRlRm9ybWF0dGVyKGlzb0NvZGUsIGxvY2FsZSwgMCk7XG4gICAgY3VycmVuY3lGb3JtYXR0ZXJNZWRpdW0gPSBjYWNoZWRGb3JtYXR0ZXJcbiAgICAgID8gY2FjaGVkRm9ybWF0dGVyLmN1cnJlbmN5Rm9ybWF0dGVyTWVkaXVtXG4gICAgICA6IGdlbmVyYXRlRm9ybWF0dGVyKGlzb0NvZGUsIGxvY2FsZSwgMyk7XG4gICAgY3VycmVuY3lGb3JtYXR0ZXJTbWFsbCA9IGNhY2hlZEZvcm1hdHRlclxuICAgICAgPyBjYWNoZWRGb3JtYXR0ZXIuY3VycmVuY3lGb3JtYXR0ZXJTbWFsbFxuICAgICAgOiBnZW5lcmF0ZUZvcm1hdHRlcihpc29Db2RlLCBsb2NhbGUsIDYpO1xuICAgIGN1cnJlbmN5Rm9ybWF0dGVyVmVyeVNtYWxsID0gY2FjaGVkRm9ybWF0dGVyXG4gICAgICA/IGNhY2hlZEZvcm1hdHRlci5jdXJyZW5jeUZvcm1hdHRlclZlcnlTbWFsbFxuICAgICAgOiBnZW5lcmF0ZUZvcm1hdHRlcihpc29Db2RlLCBsb2NhbGUsIDgpO1xuXG4gICAgLy8gU2F2ZSBpbiBjYWNoZVxuICAgIGlmIChjYWNoZWRGb3JtYXR0ZXIgPT0gbnVsbCkge1xuICAgICAgZm9ybWF0dGVyc0NhY2hlW2NhY2hlS2V5XSA9IHt9O1xuICAgICAgZm9ybWF0dGVyc0NhY2hlW2NhY2hlS2V5XS5jdXJyZW5jeUZvcm1hdHRlck5vcm1hbCA9IGN1cnJlbmN5Rm9ybWF0dGVyTm9ybWFsO1xuICAgICAgZm9ybWF0dGVyc0NhY2hlW2NhY2hlS2V5XS5jdXJyZW5jeUZvcm1hdHRlck5vRGVjaW1hbCA9IGN1cnJlbmN5Rm9ybWF0dGVyTm9EZWNpbWFsO1xuICAgICAgZm9ybWF0dGVyc0NhY2hlW2NhY2hlS2V5XS5jdXJyZW5jeUZvcm1hdHRlck1lZGl1bSA9IGN1cnJlbmN5Rm9ybWF0dGVyTWVkaXVtO1xuICAgICAgZm9ybWF0dGVyc0NhY2hlW2NhY2hlS2V5XS5jdXJyZW5jeUZvcm1hdHRlclNtYWxsID0gY3VycmVuY3lGb3JtYXR0ZXJTbWFsbDtcbiAgICAgIGZvcm1hdHRlcnNDYWNoZVtjYWNoZUtleV0uY3VycmVuY3lGb3JtYXR0ZXJWZXJ5U21hbGwgPSBjdXJyZW5jeUZvcm1hdHRlclZlcnlTbWFsbDtcbiAgICB9XG4gIH1cblxuICAvLyBNb2RlcmF0ZSBjcnlwdG8gYW1vdW50IHRocmVzaG9sZFxuICBjb25zdCBNRURJVU1fQ1JZUFRPX1RIUkVTSE9MRCA9IDUwO1xuICAvLyBMYXJnZSBjcnlwdG8gYW1vdW50IHRocmVzaG9sZFxuICBjb25zdCBMQVJHRV9DUllQVE9fVEhSRVNIT0xEID0gMTAwMDtcblxuICBmdW5jdGlvbiBmb3JtYXRDdXJyZW5jeShhbW91bnQsIGlzb0NvZGUsIGxvY2FsZSA9IFwiZW5cIiwgcmF3ID0gZmFsc2UpIHtcbiAgICBpc29Db2RlID0gaXNvQ29kZS50b1VwcGVyQ2FzZSgpO1xuXG4gICAgaWYgKGN1cnJlbnRJU09Db2RlICE9PSBpc29Db2RlIHx8IGN1cnJlbnRMb2NhbGUgIT0gbG9jYWxlKSB7XG4gICAgICBjdXJyZW50SVNPQ29kZSA9IGlzb0NvZGU7XG4gICAgICBjdXJyZW50TG9jYWxlID0gbG9jYWxlO1xuXG4gICAgICAvLyBGb3JtYXR0ZXJzIGFyZSB0aWVkIHRvIGN1cnJlbmN5IGNvZGUsIHdlIHRyeSB0byBpbml0aWFsaXplIGFzIGluZnJlcXVlbnRseSBhcyBwb3NzaWJsZS5cbiAgICAgIGluaXRpYWxpemVGb3JtYXR0ZXJzKGlzb0NvZGUsIGxvY2FsZSk7XG4gICAgfVxuXG4gICAgaWYgKGlzQ3J5cHRvKGlzb0NvZGUpKSB7XG4gICAgICBsZXQgcHJpY2UgPSBwYXJzZUZsb2F0KGFtb3VudCk7XG5cbiAgICAgIGlmIChyYXcpIHtcbiAgICAgICAgaWYgKGFtb3VudCA9PT0gMC4wKSB7XG4gICAgICAgICAgcmV0dXJuIHByaWNlLnRvRml4ZWQoMik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHByaWNlLnRvUHJlY2lzaW9uKDgpO1xuICAgICAgfVxuXG4gICAgICBpZiAoYW1vdW50ID09PSAwLjApIHtcbiAgICAgICAgcmV0dXJuIGZvcm1hdEN1cnJlbmN5T3ZlcnJpZGUoY3VycmVuY3lGb3JtYXR0ZXJOb3JtYWwuZm9ybWF0KGFtb3VudCksIGxvY2FsZSk7XG4gICAgICB9IGVsc2UgaWYgKHByaWNlID49IExBUkdFX0NSWVBUT19USFJFU0hPTEQpIHtcbiAgICAgICAgLy8gTGFyZ2UgY3J5cHRvIGFtb3VudCwgc2hvdyBubyBkZWNpbWFsIHZhbHVlXG4gICAgICAgIHJldHVybiBmb3JtYXRDdXJyZW5jeU92ZXJyaWRlKGN1cnJlbmN5Rm9ybWF0dGVyTm9EZWNpbWFsLmZvcm1hdChhbW91bnQpLCBsb2NhbGUpO1xuICAgICAgfSBlbHNlIGlmIChwcmljZSA+PSBNRURJVU1fQ1JZUFRPX1RIUkVTSE9MRCAmJiBwcmljZSA8IExBUkdFX0NSWVBUT19USFJFU0hPTEQpIHtcbiAgICAgICAgLy8gTWVkaXVtIGNyeXB0byBhbW91bnQsIHNob3cgMyBmcmFjdGlvbiBkaWdpdHNcbiAgICAgICAgcmV0dXJuIGZvcm1hdEN1cnJlbmN5T3ZlcnJpZGUoY3VycmVuY3lGb3JtYXR0ZXJNZWRpdW0uZm9ybWF0KGFtb3VudCksIGxvY2FsZSk7XG4gICAgICB9IGVsc2UgaWYgKHByaWNlID49IDEuMCAmJiBwcmljZSA8IE1FRElVTV9DUllQVE9fVEhSRVNIT0xEKSB7XG4gICAgICAgIC8vICBjcnlwdG8gYW1vdW50LCBzaG93IDYgZnJhY3Rpb24gZGlnaXRzXG4gICAgICAgIHJldHVybiBmb3JtYXRDdXJyZW5jeU92ZXJyaWRlKGN1cnJlbmN5Rm9ybWF0dGVyU21hbGwuZm9ybWF0KGFtb3VudCksIGxvY2FsZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBDcnlwdG8gYW1vdW50IDwgMSwgc2hvdyA4IGZyYWN0aW9uIGRpZ2l0c1xuICAgICAgICByZXR1cm4gZm9ybWF0Q3VycmVuY3lPdmVycmlkZShjdXJyZW5jeUZvcm1hdHRlclZlcnlTbWFsbC5mb3JtYXQoYW1vdW50KSwgbG9jYWxlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHJhdykge1xuICAgICAgICBpZiAoYW1vdW50IDwgMC4wMDEpIHtcbiAgICAgICAgICByZXR1cm4gYW1vdW50LnRvRml4ZWQoOCk7XG4gICAgICAgIH0gZWxzZSBpZiAoYW1vdW50IDwgMS4wKSB7XG4gICAgICAgICAgcmV0dXJuIGFtb3VudC50b0ZpeGVkKDYpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBhbW91bnQudG9GaXhlZCgyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoYW1vdW50ID09PSAwLjApIHtcbiAgICAgICAgcmV0dXJuIGZvcm1hdEN1cnJlbmN5T3ZlcnJpZGUoY3VycmVuY3lGb3JtYXR0ZXJOb3JtYWwuZm9ybWF0KGFtb3VudCksIGxvY2FsZSk7XG4gICAgICB9IGVsc2UgaWYgKGFtb3VudCA8IDAuMDUpIHtcbiAgICAgICAgcmV0dXJuIGZvcm1hdEN1cnJlbmN5T3ZlcnJpZGUoY3VycmVuY3lGb3JtYXR0ZXJWZXJ5U21hbGwuZm9ybWF0KGFtb3VudCksIGxvY2FsZSk7XG4gICAgICB9IGVsc2UgaWYgKGFtb3VudCA8IDEuMCkge1xuICAgICAgICByZXR1cm4gZm9ybWF0Q3VycmVuY3lPdmVycmlkZShjdXJyZW5jeUZvcm1hdHRlclNtYWxsLmZvcm1hdChhbW91bnQpLCBsb2NhbGUpO1xuICAgICAgfSBlbHNlIGlmIChhbW91bnQgPiAyMDAwMCkge1xuICAgICAgICByZXR1cm4gZm9ybWF0Q3VycmVuY3lPdmVycmlkZShjdXJyZW5jeUZvcm1hdHRlck5vRGVjaW1hbC5mb3JtYXQoYW1vdW50KSwgbG9jYWxlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIExldCB0aGUgZm9ybWF0dGVyIGRvIHdoYXQgaXQgc2VlbXMgYmVzdC4gSW4gcGFydGljdWxhciwgd2Ugc2hvdWxkIG5vdCBzZXQgYW55IGZyYWN0aW9uIGFtb3VudCBmb3IgSmFwYW5lc2UgWWVuXG4gICAgICAgIHJldHVybiBmb3JtYXRDdXJyZW5jeU92ZXJyaWRlKGN1cnJlbmN5Rm9ybWF0dGVyTm9ybWFsLmZvcm1hdChhbW91bnQpLCBsb2NhbGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGV4cG9ydHMuaXNDcnlwdG8gPSBpc0NyeXB0bztcbiAgZXhwb3J0cy5jbGVhckNhY2hlID0gY2xlYXJDYWNoZTtcbiAgZXhwb3J0cy5mb3JtYXRDdXJyZW5jeSA9IGZvcm1hdEN1cnJlbmN5O1xuXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG5cbn0pKTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZRR052YVc1blpXTnJieTlqY25sd2RHOW1iM0p0WVhRdmJHbGlMMk55ZVhCMGIyWnZjbTFoZEM1MWJXUXVhbk11YW5NaUxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTh2TGk5dWIyUmxYMjF2WkhWc1pYTXZRR052YVc1blpXTnJieTlqY25sd2RHOW1iM0p0WVhRdmJHbGlMMk55ZVhCMGIyWnZjbTFoZEM1MWJXUXVhbk0vWlRoaVlTSmRMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUlvWm5WdVkzUnBiMjRnS0dkc2IySmhiQ3dnWm1GamRHOXllU2tnZTF4dUlDQjBlWEJsYjJZZ1pYaHdiM0owY3lBOVBUMGdKMjlpYW1WamRDY2dKaVlnZEhsd1pXOW1JRzF2WkhWc1pTQWhQVDBnSjNWdVpHVm1hVzVsWkNjZ1B5Qm1ZV04wYjNKNUtHVjRjRzl5ZEhNcElEcGNiaUFnZEhsd1pXOW1JR1JsWm1sdVpTQTlQVDBnSjJaMWJtTjBhVzl1SnlBbUppQmtaV1pwYm1VdVlXMWtJRDhnWkdWbWFXNWxLRnNuWlhod2IzSjBjeWRkTENCbVlXTjBiM0o1S1NBNlhHNGdJQ2huYkc5aVlXd2dQU0JuYkc5aVlXd2dmSHdnYzJWc1ppd2dabUZqZEc5eWVTaG5iRzlpWVd3dVkzSjVjSFJ2Wm05eWJXRjBJRDBnZTMwcEtUdGNibjBvZEdocGN5d2dablZ1WTNScGIyNGdLR1Y0Y0c5eWRITXBJSHNnSjNWelpTQnpkSEpwWTNRbk8xeHVYRzRnSUM4dklFRWdiV0Z3SUc5bUlITjFjSEJ2Y25SbFpDQmpkWEp5Wlc1amVTQmpiMlJsY3lCMGJ5QmpkWEp5Wlc1amVTQnplVzFpYjJ4ekxseHVJQ0JqYjI1emRDQnpkWEJ3YjNKMFpXUkRkWEp5Wlc1amVWTjViV0p2YkhNZ1BTQjdYRzRnSUNBZ1FsUkRPaUJjSXNtRFhDSXNYRzRnSUNBZ1JWUklPaUJjSXM2ZVhDSXNYRzRnSUNBZ1ZWTkVPaUJjSWlSY0lpeGNiaUFnSUNCRFFVUTZJRndpUXlSY0lpeGNiaUFnSUNCSFFsQTZJRndpd3FOY0lpeGNiaUFnSUNCRlZWSTZJRndpNG9Lc1hDSXNYRzRnSUNBZ1EwaEdPaUJjSWtaeUxsd2lMRnh1SUNBZ0lGTkZTem9nWENKcmNsd2lMRnh1SUNBZ0lFcFFXVG9nWENMQ3BWd2lMRnh1SUNBZ0lFTk9XVG9nWENMQ3BWd2lMRnh1SUNBZ0lFbE9Vam9nWENMaWdybGNJaXhjYmlBZ0lDQlNWVUk2SUZ3aTRvSzlYQ0lzWEc0Z0lDQWdRVlZFT2lCY0lrRWtYQ0lzWEc0Z0lDQWdTRXRFT2lCY0lraExKRndpTEZ4dUlDQWdJRk5IUkRvZ1hDSlRKRndpTEZ4dUlDQWdJRlJYUkRvZ1hDSk9WQ1JjSWl4Y2JpQWdJQ0JDVWt3NklGd2lVaVJjSWl4Y2JpQWdJQ0JMVWxjNklGd2k0b0twWENJc1hHNGdJQ0FnV2tGU09pQmNJbEpjSWl4Y2JpQWdJQ0JOV1ZJNklGd2lVazFjSWl4Y2JpQWdJQ0JKUkZJNklGd2lVbkJjSWl4Y2JpQWdJQ0JPV2tRNklGd2lUbG9rWENJc1hHNGdJQ0FnVFZoT09pQmNJazFZSkZ3aUxGeHVJQ0FnSUZCSVVEb2dYQ0xpZ3JGY0lpeGNiaUFnSUNCRVMwczZJRndpYTNJdVhDSXNYRzRnSUNBZ1VFeE9PaUJjSW5yRmdsd2lMRnh1SUNBZ0lFRkZSRG9nWENKRVNGd2lMRnh1SUNBZ0lFRlNVem9nWENJa1hDSXNYRzRnSUNBZ1EweFFPaUJjSWtOTVVGd2lMRnh1SUNBZ0lFTmFTem9nWENKTHhJMWNJaXhjYmlBZ0lDQklWVVk2SUZ3aVJuUmNJaXhjYmlBZ0lDQkpURk02SUZ3aTRvS3FYQ0lzWEc0Z0lDQWdTMWRFT2lCY0lrdEVYQ0lzWEc0Z0lDQWdURXRTT2lCY0lsSnpYQ0lzWEc0Z0lDQWdUazlMT2lCY0ltdHlYQ0lzWEc0Z0lDQWdVRXRTT2lCY0l1S0NxRndpTEZ4dUlDQWdJRk5CVWpvZ1hDSlRVbHdpTEZ4dUlDQWdJRlJJUWpvZ1hDTGd1TDljSWl4Y2JpQWdJQ0JVVWxrNklGd2k0b0s2WENJc1hHNGdJQ0FnV0VGVk9pQmNJbGhCVlZ3aUxGeHVJQ0FnSUZoQlJ6b2dYQ0pZUVVkY0lpeGNiaUFnSUNCWVJGSTZJRndpV0VSU1hDSmNiaUFnZlR0Y2JseHVJQ0F2THlCQklHMWhjQ0J2WmlCdmRtVnljbWxrWlNCdlltcGxZM1J6SUhSdklHRndjR3g1TGx4dUlDQXZMeUJHYjNKdFlYUTZYRzRnSUM4dklIc2diRzlqWVhScGIyNDZJSHNnYzNSaGNuUTZJRUp2YjJ4bFlXNHNJR1Z1WkRvZ1FtOXZiR1ZoYmlCOUxDQm1iM0pNYjJOaGJHVnpPaUI3SUR4c2IyTmhiR1UrT2lCQ2IyOXNaV0Z1SUgwZ2ZWeHVJQ0JqYjI1emRDQnplVzFpYjJ4UGRtVnljbWxrWlhNZ1BTQjdYRzRnSUNBZ1RWbFNPaUI3SUd4dlkyRjBhVzl1T2lCN0lITjBZWEowT2lCMGNuVmxJSDBzSUdadmNreHZZMkZzWlhNNklIc2daVzQ2SUhSeWRXVWdmU0I5TEZ4dUlDQWdJRk5IUkRvZ2V5QnNiMk5oZEdsdmJqb2dleUJ6ZEdGeWREb2dkSEoxWlNCOUxDQm1iM0pNYjJOaGJHVnpPaUI3SUdWdU9pQjBjblZsSUgwZ2ZTeGNiaUFnSUNCUVNGQTZJSHNnYkc5allYUnBiMjQ2SUhzZ2MzUmhjblE2SUhSeWRXVWdmU3dnWm05eVRHOWpZV3hsY3pvZ2V5Qmxiam9nZEhKMVpTQjlJSDBzWEc0Z0lDQWdRbFJET2lCN0lHeHZZMkYwYVc5dU9pQjdJSE4wWVhKME9pQjBjblZsSUgwc0lHWnZja3h2WTJGc1pYTTZJSHNnWlc0NklIUnlkV1VnZlNCOUxGeHVJQ0FnSUVWVVNEb2dleUJzYjJOaGRHbHZiam9nZXlCemRHRnlkRG9nZEhKMVpTQjlMQ0JtYjNKTWIyTmhiR1Z6T2lCN0lHVnVPaUIwY25WbElIMGdmVnh1SUNCOU8xeHVYRzRnSUM4dklFWmxZWFIxY21VZ1pHVjBaV04wYVc5dUlHWnZjaUJKYm5Sc0xrNTFiV0psY2tadmNtMWhkRnh1SUNCbWRXNWpkR2x2YmlCSmJuUnNUblZ0WW1WeVJtOXliV0YwVTNWd2NHOXlkR1ZrS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUFoSVNoMGVYQmxiMllnU1c1MGJDQTlQU0JjSW05aWFtVmpkRndpSUNZbUlFbHVkR3dnSmlZZ2RIbHdaVzltSUVsdWRHd3VUblZ0WW1WeVJtOXliV0YwSUQwOUlGd2lablZ1WTNScGIyNWNJaWs3WEc0Z0lIMWNibHh1SUNCbWRXNWpkR2x2YmlCcGMwSlVRMFZVU0NocGMyOURiMlJsS1NCN1hHNGdJQ0FnY21WMGRYSnVJR2x6YjBOdlpHVWdQVDA5SUZ3aVFsUkRYQ0lnZkh3Z2FYTnZRMjlrWlNBOVBUMGdYQ0pGVkVoY0lqdGNiaUFnZlZ4dVhHNGdJR1oxYm1OMGFXOXVJR2x6UTNKNWNIUnZLR2x6YjBOdlpHVXBJSHRjYmlBZ0lDQnlaWFIxY200Z2FYTkNWRU5GVkVnb2FYTnZRMjlrWlNrZ2ZId2djM1Z3Y0c5eWRHVmtRM1Z5Y21WdVkzbFRlVzFpYjJ4elcybHpiME52WkdWZElEMDlJRzUxYkd3N1hHNGdJSDFjYmx4dUlDQXZMeUJHZFc1amRHbHZiaUIwYnlCMGNtRnVjMlp2Y20wZ2RHaGxJRzkxZEhCMWRDQm1jbTl0SUVsdWRHd3VUblZ0WW1WeVJtOXliV0YwSTJadmNtMWhkRnh1SUNCbWRXNWpkR2x2YmlCbWIzSnRZWFJEZFhKeVpXNWplVTkyWlhKeWFXUmxLR1p2Y20xaGRIUmxaRU4xY25KbGJtTjVMQ0JzYjJOaGJHVWdQU0JjSW1WdVhDSXBJSHRjYmlBZ0lDQXZMeUJKWmlCamRYSnlaVzVqZVNCamIyUmxJSEpsYldGcGJuTWdhVzRnWm5KdmJuUmNiaUFnSUNCamIyNXpkQ0JqZFhKeVpXNWplVU52WkdWR2NtOXVkRTFoZEdOb0lEMGdabTl5YldGMGRHVmtRM1Z5Y21WdVkza3ViV0YwWTJnb0wxNWJRUzFhWFhzemZWeGNjejh2S1R0Y2JpQWdJQ0JwWmlBb1kzVnljbVZ1WTNsRGIyUmxSbkp2Ym5STllYUmphQ0FoUFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQmpiMlJsSUQwZ1kzVnljbVZ1WTNsRGIyUmxSbkp2Ym5STllYUmphRnN3WFM1MGNtbHRLQ2s3SUM4dklIUnlhVzBnY0c5emMybGliR1VnZEhKaGFXeHBibWNnYzNCaFkyVmNibHh1SUNBZ0lDQWdMeThnVW1Wd2JHRmpaU0JqZFhKeVpXNWplU0JqYjJSbElIZHBkR2dnYzNsdFltOXNJR2xtSUhkb2FYUmxiR2x6ZEdWa0xseHVJQ0FnSUNBZ1kyOXVjM1FnYjNabGNuSnBaR1ZQWW1vZ1BTQnplVzFpYjJ4UGRtVnljbWxrWlhOYlkyOWtaVjA3WEc0Z0lDQWdJQ0JwWmlBb2IzWmxjbkpwWkdWUFltb2dKaVlnYjNabGNuSnBaR1ZQWW1vdWJHOWpZWFJwYjI0dWMzUmhjblFnSmlZZ2IzWmxjbkpwWkdWUFltb3VabTl5VEc5allXeGxjMXRzYjJOaGJHVmRLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJtYjNKdFlYUjBaV1JEZFhKeVpXNWplUzV5WlhCc1lXTmxLR04xY25KbGJtTjVRMjlrWlVaeWIyNTBUV0YwWTJoYk1GMHNJSE4xY0hCdmNuUmxaRU4xY25KbGJtTjVVM2x0WW05c2MxdGpiMlJsWFNrN1hHNGdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWm05eWJXRjBkR1ZrUTNWeWNtVnVZM2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnU1dZZ1kzVnljbVZ1WTNrZ1kyOWtaU0JwY3lCaGRDQjBhR1VnWW1GamExeHVJQ0FnSUdOdmJuTjBJR04xY25KbGJtTjVRMjlrWlVKaFkydE5ZWFJqYUNBOUlHWnZjbTFoZEhSbFpFTjFjbkpsYm1ONUxtMWhkR05vS0M5YlFTMWFYWHN6ZlNRdktUdGNiaUFnSUNCcFppQW9ZM1Z5Y21WdVkzbERiMlJsUW1GamEwMWhkR05vSUNFOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJR052WkdVZ1BTQmpkWEp5Wlc1amVVTnZaR1ZDWVdOclRXRjBZMmhiTUYwN1hHNWNiaUFnSUNBZ0lDOHZJRkpsY0d4aFkyVWdZM1Z5Y21WdVkza2dZMjlrWlNCM2FYUm9JSE41YldKdmJDQnBaaUIzYUdsMFpXeHBjM1JsWkM1Y2JpQWdJQ0FnSUdOdmJuTjBJRzkyWlhKeWFXUmxUMkpxSUQwZ2MzbHRZbTlzVDNabGNuSnBaR1Z6VzJOdlpHVmRPMXh1SUNBZ0lDQWdhV1lnS0c5MlpYSnlhV1JsVDJKcUlDWW1JRzkyWlhKeWFXUmxUMkpxTG14dlkyRjBhVzl1TG1WdVpDQW1KaUJ2ZG1WeWNtbGtaVTlpYWk1bWIzSk1iMk5oYkdWelcyeHZZMkZzWlYwcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHWnZjbTFoZEhSbFpFTjFjbkpsYm1ONUxuSmxjR3hoWTJVb1kyOWtaU3dnYzNWd2NHOXlkR1ZrUTNWeWNtVnVZM2xUZVcxaWIyeHpXMk52WkdWZEtUdGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCbWIzSnRZWFIwWldSRGRYSnlaVzVqZVR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdabTl5YldGMGRHVmtRM1Z5Y21WdVkzazdYRzRnSUgxY2JseHVJQ0F2THlCSFpXNWxjbUYwWlhNZ1lTQm1iM0p0WVhSMFpYSWdabkp2YlNCSmJuUnNMazUxYldKbGNrWnZjbTFoZEZ4dUlDQm1kVzVqZEdsdmJpQm5aVzVsY21GMFpVbHVkR3hPZFcxaVpYSkdiM0p0WVhSMFpYSW9hWE52UTI5a1pTd2diRzlqWVd4bExDQnVkVzFFWldOcGJXRnNjeWtnZTF4dUlDQWdJR3hsZENCbWIzSnRZWFIwWlhJN1hHNGdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lHWnZjbTFoZEhSbGNpQTlJRzVsZHlCSmJuUnNMazUxYldKbGNrWnZjbTFoZENoc2IyTmhiR1VzSUh0Y2JpQWdJQ0FnSUNBZ2MzUjViR1U2SUZ3aVkzVnljbVZ1WTNsY0lpeGNiaUFnSUNBZ0lDQWdZM1Z5Y21WdVkzazZJR2x6YjBOdlpHVXNYRzRnSUNBZ0lDQWdJR04xY25KbGJtTjVSR2x6Y0d4aGVUb2dYQ0p6ZVcxaWIyeGNJaXhjYmlBZ0lDQWdJQ0FnYldsdWFXMTFiVVp5WVdOMGFXOXVSR2xuYVhSek9pQnVkVzFFWldOcGJXRnNjeXhjYmlBZ0lDQWdJQ0FnYldGNGFXMTFiVVp5WVdOMGFXOXVSR2xuYVhSek9pQnVkVzFFWldOcGJXRnNjMXh1SUNBZ0lDQWdmU2s3WEc0Z0lDQWdmU0JqWVhSamFDQW9aU2tnZTF4dUlDQWdJQ0FnTHk4Z1ZXNXpkWEJ3YjNKMFpXUWdZM1Z5Y21WdVkza3NJR1YwWXk1Y2JpQWdJQ0FnSUM4dklGVnpaU0J3Y21sdGFYUnBkbVVnWm1Gc2JHSmhZMnRjYmlBZ0lDQWdJSEpsZEhWeWJpQm5aVzVsY21GMFpVWmhiR3hpWVdOclJtOXliV0YwZEdWeUtHbHpiME52WkdVc0lHeHZZMkZzWlN3Z2JuVnRSR1ZqYVcxaGJITXBPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnWm05eWJXRjBkR1Z5TzF4dUlDQjlYRzVjYmlBZ0x5OGdSMlZ1WlhKaGRHVnpJR0VnY0hKcGJXbDBhWFpsSUdaaGJHeGlZV05ySUdadmNtMWhkSFJsY2lCM2FYUm9JRzV2SUhONWJXSnZiQ0J6ZFhCd2IzSjBMbHh1SUNCbWRXNWpkR2x2YmlCblpXNWxjbUYwWlVaaGJHeGlZV05yUm05eWJXRjBkR1Z5S0dsemIwTnZaR1VzSUd4dlkyRnNaU3dnYm5WdFJHVmphVzFoYkhNZ1BTQXlLU0I3WEc0Z0lDQWdhWE52UTI5a1pTQTlJR2x6YjBOdlpHVXVkRzlWY0hCbGNrTmhjMlVvS1R0Y2JseHVJQ0FnSUdsbUlDaHVkVzFFWldOcGJXRnNjeUErSURJcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNBZ0lHWnZjbTFoZERvZ2RtRnNkV1VnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnBjME55ZVhCMGJ5aHBjMjlEYjJSbEtWeHVJQ0FnSUNBZ0lDQWdJQ0FnUHlCZ0pIdDJZV3gxWlM1MGIwWnBlR1ZrS0c1MWJVUmxZMmx0WVd4ektYMGdKSHRwYzI5RGIyUmxmV0JjYmlBZ0lDQWdJQ0FnSUNBZ0lEb2dZQ1I3YVhOdlEyOWtaWDBnSkh0MllXeDFaUzUwYjBacGVHVmtLRzUxYlVSbFkybHRZV3h6S1gxZ08xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZTF4dUlDQWdJQ0FnSUNCbWIzSnRZWFE2SUhaaGJIVmxJRDArSUh0Y2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2FYTkRjbmx3ZEc4b2FYTnZRMjlrWlNsY2JpQWdJQ0FnSUNBZ0lDQWdJRDhnWUNSN2RtRnNkV1V1ZEc5TWIyTmhiR1ZUZEhKcGJtY29iRzlqWVd4bEtYMGdKSHRwYzI5RGIyUmxmV0JjYmlBZ0lDQWdJQ0FnSUNBZ0lEb2dZQ1I3YVhOdlEyOWtaWDBnSkh0MllXeDFaUzUwYjB4dlkyRnNaVk4wY21sdVp5aHNiMk5oYkdVcGZXQTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDA3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnWm5WdVkzUnBiMjRnWjJWdVpYSmhkR1ZHYjNKdFlYUjBaWElvYVhOdlEyOWtaU3dnYkc5allXeGxMQ0J1ZFcxRVpXTnBiV0ZzY3lrZ2UxeHVJQ0FnSUdOdmJuTjBJR2x6VG5WdFltVnlSbTl5YldGMFUzVndjRzl5ZEdWa0lEMGdTVzUwYkU1MWJXSmxja1p2Y20xaGRGTjFjSEJ2Y25SbFpDZ3BPMXh1WEc0Z0lDQWdZMjl1YzNRZ2RYTmxTVzUwYkU1MWJXSmxja1p2Y20xaGRIUmxjaUE5WEc0Z0lDQWdJQ0JwYzA1MWJXSmxja1p2Y20xaGRGTjFjSEJ2Y25SbFpDQW1KaUFvSVdselEzSjVjSFJ2S0dsemIwTnZaR1VwSUh4OElHbHpRbFJEUlZSSUtHbHpiME52WkdVcEtUdGNiaUFnSUNCeVpYUjFjbTRnZFhObFNXNTBiRTUxYldKbGNrWnZjbTFoZEhSbGNseHVJQ0FnSUNBZ1B5Qm5aVzVsY21GMFpVbHVkR3hPZFcxaVpYSkdiM0p0WVhSMFpYSW9hWE52UTI5a1pTd2diRzlqWVd4bExDQnVkVzFFWldOcGJXRnNjeWxjYmlBZ0lDQWdJRG9nWjJWdVpYSmhkR1ZHWVd4c1ltRmphMFp2Y20xaGRIUmxjaWhwYzI5RGIyUmxMQ0JzYjJOaGJHVXNJRzUxYlVSbFkybHRZV3h6S1R0Y2JpQWdmVnh1WEc0Z0lDOHZJRk4wWVhSbElIWmhjbWxoWW14bGMxeHVJQ0JzWlhRZ1kzVnljbVZ1ZEVsVFQwTnZaR1U3WEc0Z0lHeGxkQ0JqZFhKeVpXNTBURzlqWVd4bE8xeHVJQ0JzWlhRZ1kzVnljbVZ1WTNsR2IzSnRZWFIwWlhKT2IzSnRZV3c3WEc0Z0lHeGxkQ0JqZFhKeVpXNWplVVp2Y20xaGRIUmxjazV2UkdWamFXMWhiRHRjYmlBZ2JHVjBJR04xY25KbGJtTjVSbTl5YldGMGRHVnlUV1ZrYVhWdE8xeHVJQ0JzWlhRZ1kzVnljbVZ1WTNsR2IzSnRZWFIwWlhKVGJXRnNiRHRjYmlBZ2JHVjBJR04xY25KbGJtTjVSbTl5YldGMGRHVnlWbVZ5ZVZOdFlXeHNPMXh1WEc0Z0lDOHZJRWxtSUdFZ2NHRm5aU0JvWVhNZ2RHOGdaR2x6Y0d4aGVTQnRkV3gwYVhCc1pTQmpkWEp5Wlc1amFXVnpMQ0JtYjNKdFlYUjBaWEp6SUhkdmRXeGtJR2hoZG1VZ2RHOGdZbVVnWTNKbFlYUmxaQ0JtYjNJZ1pXRmphQ0J2WmlCMGFHVnRYRzRnSUM4dklGUnZJSE5oZG1VZ2MyOXRaU0JsWm1admNuUXNJSGRsSUhOaGRtVWdabTl5YldGMGRHVnljeUJtYjNJZ2NtVjFjMlZjYmlBZ2JHVjBJR1p2Y20xaGRIUmxjbk5EWVdOb1pTQTlJSHQ5TzF4dVhHNGdJR1oxYm1OMGFXOXVJR05zWldGeVEyRmphR1VvS1NCN1hHNGdJQ0FnWm05eWJXRjBkR1Z5YzBOaFkyaGxJRDBnZTMwN1hHNGdJSDFjYmx4dUlDQm1kVzVqZEdsdmJpQnBibWwwYVdGc2FYcGxSbTl5YldGMGRHVnljeWhwYzI5RGIyUmxMQ0JzYjJOaGJHVXBJSHRjYmlBZ0lDQmpiMjV6ZENCallXTm9aVXRsZVNBOUlHQWtlMmx6YjBOdlpHVjlMU1I3Ykc5allXeGxmV0E3WEc0Z0lDQWdZMjl1YzNRZ1kyRmphR1ZrUm05eWJXRjBkR1Z5SUQwZ1ptOXliV0YwZEdWeWMwTmhZMmhsVzJOaFkyaGxTMlY1WFR0Y2JseHVJQ0FnSUdOMWNuSmxibU41Um05eWJXRjBkR1Z5VG05eWJXRnNJRDBnWTJGamFHVmtSbTl5YldGMGRHVnlYRzRnSUNBZ0lDQS9JR05oWTJobFpFWnZjbTFoZEhSbGNpNWpkWEp5Wlc1amVVWnZjbTFoZEhSbGNrNXZjbTFoYkZ4dUlDQWdJQ0FnT2lCblpXNWxjbUYwWlVadmNtMWhkSFJsY2locGMyOURiMlJsTENCc2IyTmhiR1VwTzF4dUlDQWdJR04xY25KbGJtTjVSbTl5YldGMGRHVnlUbTlFWldOcGJXRnNJRDBnWTJGamFHVmtSbTl5YldGMGRHVnlYRzRnSUNBZ0lDQS9JR05oWTJobFpFWnZjbTFoZEhSbGNpNWpkWEp5Wlc1amVVWnZjbTFoZEhSbGNrNXZSR1ZqYVcxaGJGeHVJQ0FnSUNBZ09pQm5aVzVsY21GMFpVWnZjbTFoZEhSbGNpaHBjMjlEYjJSbExDQnNiMk5oYkdVc0lEQXBPMXh1SUNBZ0lHTjFjbkpsYm1ONVJtOXliV0YwZEdWeVRXVmthWFZ0SUQwZ1kyRmphR1ZrUm05eWJXRjBkR1Z5WEc0Z0lDQWdJQ0EvSUdOaFkyaGxaRVp2Y20xaGRIUmxjaTVqZFhKeVpXNWplVVp2Y20xaGRIUmxjazFsWkdsMWJWeHVJQ0FnSUNBZ09pQm5aVzVsY21GMFpVWnZjbTFoZEhSbGNpaHBjMjlEYjJSbExDQnNiMk5oYkdVc0lETXBPMXh1SUNBZ0lHTjFjbkpsYm1ONVJtOXliV0YwZEdWeVUyMWhiR3dnUFNCallXTm9aV1JHYjNKdFlYUjBaWEpjYmlBZ0lDQWdJRDhnWTJGamFHVmtSbTl5YldGMGRHVnlMbU4xY25KbGJtTjVSbTl5YldGMGRHVnlVMjFoYkd4Y2JpQWdJQ0FnSURvZ1oyVnVaWEpoZEdWR2IzSnRZWFIwWlhJb2FYTnZRMjlrWlN3Z2JHOWpZV3hsTENBMktUdGNiaUFnSUNCamRYSnlaVzVqZVVadmNtMWhkSFJsY2xabGNubFRiV0ZzYkNBOUlHTmhZMmhsWkVadmNtMWhkSFJsY2x4dUlDQWdJQ0FnUHlCallXTm9aV1JHYjNKdFlYUjBaWEl1WTNWeWNtVnVZM2xHYjNKdFlYUjBaWEpXWlhKNVUyMWhiR3hjYmlBZ0lDQWdJRG9nWjJWdVpYSmhkR1ZHYjNKdFlYUjBaWElvYVhOdlEyOWtaU3dnYkc5allXeGxMQ0E0S1R0Y2JseHVJQ0FnSUM4dklGTmhkbVVnYVc0Z1kyRmphR1ZjYmlBZ0lDQnBaaUFvWTJGamFHVmtSbTl5YldGMGRHVnlJRDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJR1p2Y20xaGRIUmxjbk5EWVdOb1pWdGpZV05vWlV0bGVWMGdQU0I3ZlR0Y2JpQWdJQ0FnSUdadmNtMWhkSFJsY25ORFlXTm9aVnRqWVdOb1pVdGxlVjB1WTNWeWNtVnVZM2xHYjNKdFlYUjBaWEpPYjNKdFlXd2dQU0JqZFhKeVpXNWplVVp2Y20xaGRIUmxjazV2Y20xaGJEdGNiaUFnSUNBZ0lHWnZjbTFoZEhSbGNuTkRZV05vWlZ0allXTm9aVXRsZVYwdVkzVnljbVZ1WTNsR2IzSnRZWFIwWlhKT2IwUmxZMmx0WVd3Z1BTQmpkWEp5Wlc1amVVWnZjbTFoZEhSbGNrNXZSR1ZqYVcxaGJEdGNiaUFnSUNBZ0lHWnZjbTFoZEhSbGNuTkRZV05vWlZ0allXTm9aVXRsZVYwdVkzVnljbVZ1WTNsR2IzSnRZWFIwWlhKTlpXUnBkVzBnUFNCamRYSnlaVzVqZVVadmNtMWhkSFJsY2sxbFpHbDFiVHRjYmlBZ0lDQWdJR1p2Y20xaGRIUmxjbk5EWVdOb1pWdGpZV05vWlV0bGVWMHVZM1Z5Y21WdVkzbEdiM0p0WVhSMFpYSlRiV0ZzYkNBOUlHTjFjbkpsYm1ONVJtOXliV0YwZEdWeVUyMWhiR3c3WEc0Z0lDQWdJQ0JtYjNKdFlYUjBaWEp6UTJGamFHVmJZMkZqYUdWTFpYbGRMbU4xY25KbGJtTjVSbTl5YldGMGRHVnlWbVZ5ZVZOdFlXeHNJRDBnWTNWeWNtVnVZM2xHYjNKdFlYUjBaWEpXWlhKNVUyMWhiR3c3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnTHk4Z1RXOWtaWEpoZEdVZ1kzSjVjSFJ2SUdGdGIzVnVkQ0IwYUhKbGMyaHZiR1JjYmlBZ1kyOXVjM1FnVFVWRVNWVk5YME5TV1ZCVVQxOVVTRkpGVTBoUFRFUWdQU0ExTUR0Y2JpQWdMeThnVEdGeVoyVWdZM0o1Y0hSdklHRnRiM1Z1ZENCMGFISmxjMmh2YkdSY2JpQWdZMjl1YzNRZ1RFRlNSMFZmUTFKWlVGUlBYMVJJVWtWVFNFOU1SQ0E5SURFd01EQTdYRzVjYmlBZ1puVnVZM1JwYjI0Z1ptOXliV0YwUTNWeWNtVnVZM2tvWVcxdmRXNTBMQ0JwYzI5RGIyUmxMQ0JzYjJOaGJHVWdQU0JjSW1WdVhDSXNJSEpoZHlBOUlHWmhiSE5sS1NCN1hHNGdJQ0FnYVhOdlEyOWtaU0E5SUdsemIwTnZaR1V1ZEc5VmNIQmxja05oYzJVb0tUdGNibHh1SUNBZ0lHbG1JQ2hqZFhKeVpXNTBTVk5QUTI5a1pTQWhQVDBnYVhOdlEyOWtaU0I4ZkNCamRYSnlaVzUwVEc5allXeGxJQ0U5SUd4dlkyRnNaU2tnZTF4dUlDQWdJQ0FnWTNWeWNtVnVkRWxUVDBOdlpHVWdQU0JwYzI5RGIyUmxPMXh1SUNBZ0lDQWdZM1Z5Y21WdWRFeHZZMkZzWlNBOUlHeHZZMkZzWlR0Y2JseHVJQ0FnSUNBZ0x5OGdSbTl5YldGMGRHVnljeUJoY21VZ2RHbGxaQ0IwYnlCamRYSnlaVzVqZVNCamIyUmxMQ0IzWlNCMGNua2dkRzhnYVc1cGRHbGhiR2w2WlNCaGN5QnBibVp5WlhGMVpXNTBiSGtnWVhNZ2NHOXpjMmxpYkdVdVhHNGdJQ0FnSUNCcGJtbDBhV0ZzYVhwbFJtOXliV0YwZEdWeWN5aHBjMjlEYjJSbExDQnNiMk5oYkdVcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHBjME55ZVhCMGJ5aHBjMjlEYjJSbEtTa2dlMXh1SUNBZ0lDQWdiR1YwSUhCeWFXTmxJRDBnY0dGeWMyVkdiRzloZENoaGJXOTFiblFwTzF4dVhHNGdJQ0FnSUNCcFppQW9jbUYzS1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hoYlc5MWJuUWdQVDA5SURBdU1Da2dlMXh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ3Y21salpTNTBiMFpwZUdWa0tESXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ3Y21salpTNTBiMUJ5WldOcGMybHZiaWc0S1R0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2FXWWdLR0Z0YjNWdWRDQTlQVDBnTUM0d0tTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQm1iM0p0WVhSRGRYSnlaVzVqZVU5MlpYSnlhV1JsS0dOMWNuSmxibU41Um05eWJXRjBkR1Z5VG05eWJXRnNMbVp2Y20xaGRDaGhiVzkxYm5RcExDQnNiMk5oYkdVcE8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDaHdjbWxqWlNBK1BTQk1RVkpIUlY5RFVsbFFWRTlmVkVoU1JWTklUMHhFS1NCN1hHNGdJQ0FnSUNBZ0lDOHZJRXhoY21kbElHTnllWEIwYnlCaGJXOTFiblFzSUhOb2IzY2dibThnWkdWamFXMWhiQ0IyWVd4MVpWeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1ptOXliV0YwUTNWeWNtVnVZM2xQZG1WeWNtbGtaU2hqZFhKeVpXNWplVVp2Y20xaGRIUmxjazV2UkdWamFXMWhiQzVtYjNKdFlYUW9ZVzF2ZFc1MEtTd2diRzlqWVd4bEtUdGNiaUFnSUNBZ0lIMGdaV3h6WlNCcFppQW9jSEpwWTJVZ1BqMGdUVVZFU1ZWTlgwTlNXVkJVVDE5VVNGSkZVMGhQVEVRZ0ppWWdjSEpwWTJVZ1BDQk1RVkpIUlY5RFVsbFFWRTlmVkVoU1JWTklUMHhFS1NCN1hHNGdJQ0FnSUNBZ0lDOHZJRTFsWkdsMWJTQmpjbmx3ZEc4Z1lXMXZkVzUwTENCemFHOTNJRE1nWm5KaFkzUnBiMjRnWkdsbmFYUnpYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQm1iM0p0WVhSRGRYSnlaVzVqZVU5MlpYSnlhV1JsS0dOMWNuSmxibU41Um05eWJXRjBkR1Z5VFdWa2FYVnRMbVp2Y20xaGRDaGhiVzkxYm5RcExDQnNiMk5oYkdVcE8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDaHdjbWxqWlNBK1BTQXhMakFnSmlZZ2NISnBZMlVnUENCTlJVUkpWVTFmUTFKWlVGUlBYMVJJVWtWVFNFOU1SQ2tnZTF4dUlDQWdJQ0FnSUNBdkx5QWdZM0o1Y0hSdklHRnRiM1Z1ZEN3Z2MyaHZkeUEySUdaeVlXTjBhVzl1SUdScFoybDBjMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdabTl5YldGMFEzVnljbVZ1WTNsUGRtVnljbWxrWlNoamRYSnlaVzVqZVVadmNtMWhkSFJsY2xOdFlXeHNMbVp2Y20xaGRDaGhiVzkxYm5RcExDQnNiMk5oYkdVcE8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdRM0o1Y0hSdklHRnRiM1Z1ZENBOElERXNJSE5vYjNjZ09DQm1jbUZqZEdsdmJpQmthV2RwZEhOY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdadmNtMWhkRU4xY25KbGJtTjVUM1psY25KcFpHVW9ZM1Z5Y21WdVkzbEdiM0p0WVhSMFpYSldaWEo1VTIxaGJHd3VabTl5YldGMEtHRnRiM1Z1ZENrc0lHeHZZMkZzWlNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJR2xtSUNoeVlYY3BJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHRnRiM1Z1ZENBOElEQXVNREF4S1NCN1hHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHRnRiM1Z1ZEM1MGIwWnBlR1ZrS0RncE8xeHVJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLR0Z0YjNWdWRDQThJREV1TUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmhiVzkxYm5RdWRHOUdhWGhsWkNnMktUdGNiaUFnSUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdZVzF2ZFc1MExuUnZSbWw0WldRb01pazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYVdZZ0tHRnRiM1Z1ZENBOVBUMGdNQzR3S1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCbWIzSnRZWFJEZFhKeVpXNWplVTkyWlhKeWFXUmxLR04xY25KbGJtTjVSbTl5YldGMGRHVnlUbTl5YldGc0xtWnZjbTFoZENoaGJXOTFiblFwTENCc2IyTmhiR1VwTzF4dUlDQWdJQ0FnZlNCbGJITmxJR2xtSUNoaGJXOTFiblFnUENBd0xqQTFLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJtYjNKdFlYUkRkWEp5Wlc1amVVOTJaWEp5YVdSbEtHTjFjbkpsYm1ONVJtOXliV0YwZEdWeVZtVnllVk50WVd4c0xtWnZjbTFoZENoaGJXOTFiblFwTENCc2IyTmhiR1VwTzF4dUlDQWdJQ0FnZlNCbGJITmxJR2xtSUNoaGJXOTFiblFnUENBeExqQXBJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR1p2Y20xaGRFTjFjbkpsYm1ONVQzWmxjbkpwWkdVb1kzVnljbVZ1WTNsR2IzSnRZWFIwWlhKVGJXRnNiQzVtYjNKdFlYUW9ZVzF2ZFc1MEtTd2diRzlqWVd4bEtUdGNiaUFnSUNBZ0lIMGdaV3h6WlNCcFppQW9ZVzF2ZFc1MElENGdNakF3TURBcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHWnZjbTFoZEVOMWNuSmxibU41VDNabGNuSnBaR1VvWTNWeWNtVnVZM2xHYjNKdFlYUjBaWEpPYjBSbFkybHRZV3d1Wm05eWJXRjBLR0Z0YjNWdWRDa3NJR3h2WTJGc1pTazdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJNWlhRZ2RHaGxJR1p2Y20xaGRIUmxjaUJrYnlCM2FHRjBJR2wwSUhObFpXMXpJR0psYzNRdUlFbHVJSEJoY25ScFkzVnNZWElzSUhkbElITm9iM1ZzWkNCdWIzUWdjMlYwSUdGdWVTQm1jbUZqZEdsdmJpQmhiVzkxYm5RZ1ptOXlJRXBoY0dGdVpYTmxJRmxsYmx4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWm05eWJXRjBRM1Z5Y21WdVkzbFBkbVZ5Y21sa1pTaGpkWEp5Wlc1amVVWnZjbTFoZEhSbGNrNXZjbTFoYkM1bWIzSnRZWFFvWVcxdmRXNTBLU3dnYkc5allXeGxLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0JsZUhCdmNuUnpMbWx6UTNKNWNIUnZJRDBnYVhORGNubHdkRzg3WEc0Z0lHVjRjRzl5ZEhNdVkyeGxZWEpEWVdOb1pTQTlJR05zWldGeVEyRmphR1U3WEc0Z0lHVjRjRzl5ZEhNdVptOXliV0YwUTNWeWNtVnVZM2tnUFNCbWIzSnRZWFJEZFhKeVpXNWplVHRjYmx4dUlDQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvWlhod2IzSjBjeXdnSjE5ZlpYTk5iMlIxYkdVbkxDQjdJSFpoYkhWbE9pQjBjblZsSUgwcE8xeHVYRzU5S1NrN1hHNGlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRRU3hYUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk95SXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9AY29pbmdlY2tvL2NyeXB0b2Zvcm1hdC9saWIvY3J5cHRvZm9ybWF0LnVtZC5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2FjdGlvbmNhYmxlL2xpYi9hc3NldHMvY29tcGlsZWQvYWN0aW9uX2NhYmxlLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvYWN0aW9uY2FibGUvbGliL2Fzc2V0cy9jb21waWxlZC9hY3Rpb25fY2FibGUuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18pe2V2YWwoInZhciBfX1dFQlBBQ0tfQU1EX0RFRklORV9GQUNUT1JZX18sIF9fV0VCUEFDS19BTURfREVGSU5FX1JFU1VMVF9fOyhmdW5jdGlvbigpIHtcbiAgdmFyIGNvbnRleHQgPSB0aGlzO1xuXG4gIChmdW5jdGlvbigpIHtcbiAgICAoZnVuY3Rpb24oKSB7XG4gICAgICB2YXIgc2xpY2UgPSBbXS5zbGljZTtcblxuICAgICAgdGhpcy5BY3Rpb25DYWJsZSA9IHtcbiAgICAgICAgSU5URVJOQUw6IHtcbiAgICAgICAgICBcIm1lc3NhZ2VfdHlwZXNcIjoge1xuICAgICAgICAgICAgXCJ3ZWxjb21lXCI6IFwid2VsY29tZVwiLFxuICAgICAgICAgICAgXCJwaW5nXCI6IFwicGluZ1wiLFxuICAgICAgICAgICAgXCJjb25maXJtYXRpb25cIjogXCJjb25maXJtX3N1YnNjcmlwdGlvblwiLFxuICAgICAgICAgICAgXCJyZWplY3Rpb25cIjogXCJyZWplY3Rfc3Vic2NyaXB0aW9uXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiZGVmYXVsdF9tb3VudF9wYXRoXCI6IFwiL2NhYmxlXCIsXG4gICAgICAgICAgXCJwcm90b2NvbHNcIjogW1wiYWN0aW9uY2FibGUtdjEtanNvblwiLCBcImFjdGlvbmNhYmxlLXVuc3VwcG9ydGVkXCJdXG4gICAgICAgIH0sXG4gICAgICAgIFdlYlNvY2tldDogd2luZG93LldlYlNvY2tldCxcbiAgICAgICAgbG9nZ2VyOiB3aW5kb3cuY29uc29sZSxcbiAgICAgICAgY3JlYXRlQ29uc3VtZXI6IGZ1bmN0aW9uKHVybCkge1xuICAgICAgICAgIHZhciByZWY7XG4gICAgICAgICAgaWYgKHVybCA9PSBudWxsKSB7XG4gICAgICAgICAgICB1cmwgPSAocmVmID0gdGhpcy5nZXRDb25maWcoXCJ1cmxcIikpICE9IG51bGwgPyByZWYgOiB0aGlzLklOVEVSTkFMLmRlZmF1bHRfbW91bnRfcGF0aDtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG5ldyBBY3Rpb25DYWJsZS5Db25zdW1lcih0aGlzLmNyZWF0ZVdlYlNvY2tldFVSTCh1cmwpKTtcbiAgICAgICAgfSxcbiAgICAgICAgZ2V0Q29uZmlnOiBmdW5jdGlvbihuYW1lKSB7XG4gICAgICAgICAgdmFyIGVsZW1lbnQ7XG4gICAgICAgICAgZWxlbWVudCA9IGRvY3VtZW50LmhlYWQucXVlcnlTZWxlY3RvcihcIm1ldGFbbmFtZT0nYWN0aW9uLWNhYmxlLVwiICsgbmFtZSArIFwiJ11cIik7XG4gICAgICAgICAgcmV0dXJuIGVsZW1lbnQgIT0gbnVsbCA/IGVsZW1lbnQuZ2V0QXR0cmlidXRlKFwiY29udGVudFwiKSA6IHZvaWQgMDtcbiAgICAgICAgfSxcbiAgICAgICAgY3JlYXRlV2ViU29ja2V0VVJMOiBmdW5jdGlvbih1cmwpIHtcbiAgICAgICAgICB2YXIgYTtcbiAgICAgICAgICBpZiAodXJsICYmICEvXndzcz86L2kudGVzdCh1cmwpKSB7XG4gICAgICAgICAgICBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImFcIik7XG4gICAgICAgICAgICBhLmhyZWYgPSB1cmw7XG4gICAgICAgICAgICBhLmhyZWYgPSBhLmhyZWY7XG4gICAgICAgICAgICBhLnByb3RvY29sID0gYS5wcm90b2NvbC5yZXBsYWNlKFwiaHR0cFwiLCBcIndzXCIpO1xuICAgICAgICAgICAgcmV0dXJuIGEuaHJlZjtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHVybDtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHN0YXJ0RGVidWdnaW5nOiBmdW5jdGlvbigpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5kZWJ1Z2dpbmcgPSB0cnVlO1xuICAgICAgICB9LFxuICAgICAgICBzdG9wRGVidWdnaW5nOiBmdW5jdGlvbigpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5kZWJ1Z2dpbmcgPSBudWxsO1xuICAgICAgICB9LFxuICAgICAgICBsb2c6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHZhciBtZXNzYWdlcywgcmVmO1xuICAgICAgICAgIG1lc3NhZ2VzID0gMSA8PSBhcmd1bWVudHMubGVuZ3RoID8gc2xpY2UuY2FsbChhcmd1bWVudHMsIDApIDogW107XG4gICAgICAgICAgaWYgKHRoaXMuZGVidWdnaW5nKSB7XG4gICAgICAgICAgICBtZXNzYWdlcy5wdXNoKERhdGUubm93KCkpO1xuICAgICAgICAgICAgcmV0dXJuIChyZWYgPSB0aGlzLmxvZ2dlcikubG9nLmFwcGx5KHJlZiwgW1wiW0FjdGlvbkNhYmxlXVwiXS5jb25jYXQoc2xpY2UuY2FsbChtZXNzYWdlcykpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICB9KS5jYWxsKHRoaXMpO1xuICB9KS5jYWxsKGNvbnRleHQpO1xuXG4gIHZhciBBY3Rpb25DYWJsZSA9IGNvbnRleHQuQWN0aW9uQ2FibGU7XG5cbiAgKGZ1bmN0aW9uKCkge1xuICAgIChmdW5jdGlvbigpIHtcbiAgICAgIHZhciBiaW5kID0gZnVuY3Rpb24oZm4sIG1lKXsgcmV0dXJuIGZ1bmN0aW9uKCl7IHJldHVybiBmbi5hcHBseShtZSwgYXJndW1lbnRzKTsgfTsgfTtcblxuICAgICAgQWN0aW9uQ2FibGUuQ29ubmVjdGlvbk1vbml0b3IgPSAoZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciBjbGFtcCwgbm93LCBzZWNvbmRzU2luY2U7XG5cbiAgICAgICAgQ29ubmVjdGlvbk1vbml0b3IucG9sbEludGVydmFsID0ge1xuICAgICAgICAgIG1pbjogMyxcbiAgICAgICAgICBtYXg6IDMwXG4gICAgICAgIH07XG5cbiAgICAgICAgQ29ubmVjdGlvbk1vbml0b3Iuc3RhbGVUaHJlc2hvbGQgPSA2O1xuXG4gICAgICAgIGZ1bmN0aW9uIENvbm5lY3Rpb25Nb25pdG9yKGNvbm5lY3Rpb24pIHtcbiAgICAgICAgICB0aGlzLmNvbm5lY3Rpb24gPSBjb25uZWN0aW9uO1xuICAgICAgICAgIHRoaXMudmlzaWJpbGl0eURpZENoYW5nZSA9IGJpbmQodGhpcy52aXNpYmlsaXR5RGlkQ2hhbmdlLCB0aGlzKTtcbiAgICAgICAgICB0aGlzLnJlY29ubmVjdEF0dGVtcHRzID0gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIENvbm5lY3Rpb25Nb25pdG9yLnByb3RvdHlwZS5zdGFydCA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIGlmICghdGhpcy5pc1J1bm5pbmcoKSkge1xuICAgICAgICAgICAgdGhpcy5zdGFydGVkQXQgPSBub3coKTtcbiAgICAgICAgICAgIGRlbGV0ZSB0aGlzLnN0b3BwZWRBdDtcbiAgICAgICAgICAgIHRoaXMuc3RhcnRQb2xsaW5nKCk7XG4gICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwidmlzaWJpbGl0eWNoYW5nZVwiLCB0aGlzLnZpc2liaWxpdHlEaWRDaGFuZ2UpO1xuICAgICAgICAgICAgcmV0dXJuIEFjdGlvbkNhYmxlLmxvZyhcIkNvbm5lY3Rpb25Nb25pdG9yIHN0YXJ0ZWQuIHBvbGxJbnRlcnZhbCA9IFwiICsgKHRoaXMuZ2V0UG9sbEludGVydmFsKCkpICsgXCIgbXNcIik7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIENvbm5lY3Rpb25Nb25pdG9yLnByb3RvdHlwZS5zdG9wID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgaWYgKHRoaXMuaXNSdW5uaW5nKCkpIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcHBlZEF0ID0gbm93KCk7XG4gICAgICAgICAgICB0aGlzLnN0b3BQb2xsaW5nKCk7XG4gICAgICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwidmlzaWJpbGl0eWNoYW5nZVwiLCB0aGlzLnZpc2liaWxpdHlEaWRDaGFuZ2UpO1xuICAgICAgICAgICAgcmV0dXJuIEFjdGlvbkNhYmxlLmxvZyhcIkNvbm5lY3Rpb25Nb25pdG9yIHN0b3BwZWRcIik7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIENvbm5lY3Rpb25Nb25pdG9yLnByb3RvdHlwZS5pc1J1bm5pbmcgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICByZXR1cm4gKHRoaXMuc3RhcnRlZEF0ICE9IG51bGwpICYmICh0aGlzLnN0b3BwZWRBdCA9PSBudWxsKTtcbiAgICAgICAgfTtcblxuICAgICAgICBDb25uZWN0aW9uTW9uaXRvci5wcm90b3R5cGUucmVjb3JkUGluZyA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHJldHVybiB0aGlzLnBpbmdlZEF0ID0gbm93KCk7XG4gICAgICAgIH07XG5cbiAgICAgICAgQ29ubmVjdGlvbk1vbml0b3IucHJvdG90eXBlLnJlY29yZENvbm5lY3QgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICB0aGlzLnJlY29ubmVjdEF0dGVtcHRzID0gMDtcbiAgICAgICAgICB0aGlzLnJlY29yZFBpbmcoKTtcbiAgICAgICAgICBkZWxldGUgdGhpcy5kaXNjb25uZWN0ZWRBdDtcbiAgICAgICAgICByZXR1cm4gQWN0aW9uQ2FibGUubG9nKFwiQ29ubmVjdGlvbk1vbml0b3IgcmVjb3JkZWQgY29ubmVjdFwiKTtcbiAgICAgICAgfTtcblxuICAgICAgICBDb25uZWN0aW9uTW9uaXRvci5wcm90b3R5cGUucmVjb3JkRGlzY29ubmVjdCA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHRoaXMuZGlzY29ubmVjdGVkQXQgPSBub3coKTtcbiAgICAgICAgICByZXR1cm4gQWN0aW9uQ2FibGUubG9nKFwiQ29ubmVjdGlvbk1vbml0b3IgcmVjb3JkZWQgZGlzY29ubmVjdFwiKTtcbiAgICAgICAgfTtcblxuICAgICAgICBDb25uZWN0aW9uTW9uaXRvci5wcm90b3R5cGUuc3RhcnRQb2xsaW5nID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgdGhpcy5zdG9wUG9sbGluZygpO1xuICAgICAgICAgIHJldHVybiB0aGlzLnBvbGwoKTtcbiAgICAgICAgfTtcblxuICAgICAgICBDb25uZWN0aW9uTW9uaXRvci5wcm90b3R5cGUuc3RvcFBvbGxpbmcgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICByZXR1cm4gY2xlYXJUaW1lb3V0KHRoaXMucG9sbFRpbWVvdXQpO1xuICAgICAgICB9O1xuXG4gICAgICAgIENvbm5lY3Rpb25Nb25pdG9yLnByb3RvdHlwZS5wb2xsID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMucG9sbFRpbWVvdXQgPSBzZXRUaW1lb3V0KChmdW5jdGlvbihfdGhpcykge1xuICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICBfdGhpcy5yZWNvbm5lY3RJZlN0YWxlKCk7XG4gICAgICAgICAgICAgIHJldHVybiBfdGhpcy5wb2xsKCk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH0pKHRoaXMpLCB0aGlzLmdldFBvbGxJbnRlcnZhbCgpKTtcbiAgICAgICAgfTtcblxuICAgICAgICBDb25uZWN0aW9uTW9uaXRvci5wcm90b3R5cGUuZ2V0UG9sbEludGVydmFsID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgdmFyIGludGVydmFsLCBtYXgsIG1pbiwgcmVmO1xuICAgICAgICAgIHJlZiA9IHRoaXMuY29uc3RydWN0b3IucG9sbEludGVydmFsLCBtaW4gPSByZWYubWluLCBtYXggPSByZWYubWF4O1xuICAgICAgICAgIGludGVydmFsID0gNSAqIE1hdGgubG9nKHRoaXMucmVjb25uZWN0QXR0ZW1wdHMgKyAxKTtcbiAgICAgICAgICByZXR1cm4gTWF0aC5yb3VuZChjbGFtcChpbnRlcnZhbCwgbWluLCBtYXgpICogMTAwMCk7XG4gICAgICAgIH07XG5cbiAgICAgICAgQ29ubmVjdGlvbk1vbml0b3IucHJvdG90eXBlLnJlY29ubmVjdElmU3RhbGUgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICBpZiAodGhpcy5jb25uZWN0aW9uSXNTdGFsZSgpKSB7XG4gICAgICAgICAgICBBY3Rpb25DYWJsZS5sb2coXCJDb25uZWN0aW9uTW9uaXRvciBkZXRlY3RlZCBzdGFsZSBjb25uZWN0aW9uLiByZWNvbm5lY3RBdHRlbXB0cyA9IFwiICsgdGhpcy5yZWNvbm5lY3RBdHRlbXB0cyArIFwiLCBwb2xsSW50ZXJ2YWwgPSBcIiArICh0aGlzLmdldFBvbGxJbnRlcnZhbCgpKSArIFwiIG1zLCB0aW1lIGRpc2Nvbm5lY3RlZCA9IFwiICsgKHNlY29uZHNTaW5jZSh0aGlzLmRpc2Nvbm5lY3RlZEF0KSkgKyBcIiBzLCBzdGFsZSB0aHJlc2hvbGQgPSBcIiArIHRoaXMuY29uc3RydWN0b3Iuc3RhbGVUaHJlc2hvbGQgKyBcIiBzXCIpO1xuICAgICAgICAgICAgdGhpcy5yZWNvbm5lY3RBdHRlbXB0cysrO1xuICAgICAgICAgICAgaWYgKHRoaXMuZGlzY29ubmVjdGVkUmVjZW50bHkoKSkge1xuICAgICAgICAgICAgICByZXR1cm4gQWN0aW9uQ2FibGUubG9nKFwiQ29ubmVjdGlvbk1vbml0b3Igc2tpcHBpbmcgcmVvcGVuaW5nIHJlY2VudCBkaXNjb25uZWN0XCIpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgQWN0aW9uQ2FibGUubG9nKFwiQ29ubmVjdGlvbk1vbml0b3IgcmVvcGVuaW5nXCIpO1xuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jb25uZWN0aW9uLnJlb3BlbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICBDb25uZWN0aW9uTW9uaXRvci5wcm90b3R5cGUuY29ubmVjdGlvbklzU3RhbGUgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICB2YXIgcmVmO1xuICAgICAgICAgIHJldHVybiBzZWNvbmRzU2luY2UoKHJlZiA9IHRoaXMucGluZ2VkQXQpICE9IG51bGwgPyByZWYgOiB0aGlzLnN0YXJ0ZWRBdCkgPiB0aGlzLmNvbnN0cnVjdG9yLnN0YWxlVGhyZXNob2xkO1xuICAgICAgICB9O1xuXG4gICAgICAgIENvbm5lY3Rpb25Nb25pdG9yLnByb3RvdHlwZS5kaXNjb25uZWN0ZWRSZWNlbnRseSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHJldHVybiB0aGlzLmRpc2Nvbm5lY3RlZEF0ICYmIHNlY29uZHNTaW5jZSh0aGlzLmRpc2Nvbm5lY3RlZEF0KSA8IHRoaXMuY29uc3RydWN0b3Iuc3RhbGVUaHJlc2hvbGQ7XG4gICAgICAgIH07XG5cbiAgICAgICAgQ29ubmVjdGlvbk1vbml0b3IucHJvdG90eXBlLnZpc2liaWxpdHlEaWRDaGFuZ2UgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICBpZiAoZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlID09PSBcInZpc2libGVcIikge1xuICAgICAgICAgICAgcmV0dXJuIHNldFRpbWVvdXQoKGZ1bmN0aW9uKF90aGlzKSB7XG4gICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICBpZiAoX3RoaXMuY29ubmVjdGlvbklzU3RhbGUoKSB8fCAhX3RoaXMuY29ubmVjdGlvbi5pc09wZW4oKSkge1xuICAgICAgICAgICAgICAgICAgQWN0aW9uQ2FibGUubG9nKFwiQ29ubmVjdGlvbk1vbml0b3IgcmVvcGVuaW5nIHN0YWxlIGNvbm5lY3Rpb24gb24gdmlzaWJpbGl0eWNoYW5nZS4gdmlzYmlsaXR5U3RhdGUgPSBcIiArIGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZSk7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gX3RoaXMuY29ubmVjdGlvbi5yZW9wZW4oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KSh0aGlzKSwgMjAwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgbm93ID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgICAgICB9O1xuXG4gICAgICAgIHNlY29uZHNTaW5jZSA9IGZ1bmN0aW9uKHRpbWUpIHtcbiAgICAgICAgICByZXR1cm4gKG5vdygpIC0gdGltZSkgLyAxMDAwO1xuICAgICAgICB9O1xuXG4gICAgICAgIGNsYW1wID0gZnVuY3Rpb24obnVtYmVyLCBtaW4sIG1heCkge1xuICAgICAgICAgIHJldHVybiBNYXRoLm1heChtaW4sIE1hdGgubWluKG1heCwgbnVtYmVyKSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIENvbm5lY3Rpb25Nb25pdG9yO1xuXG4gICAgICB9KSgpO1xuXG4gICAgfSkuY2FsbCh0aGlzKTtcbiAgICAoZnVuY3Rpb24oKSB7XG4gICAgICB2YXIgaSwgbWVzc2FnZV90eXBlcywgcHJvdG9jb2xzLCByZWYsIHN1cHBvcnRlZFByb3RvY29scywgdW5zdXBwb3J0ZWRQcm90b2NvbCxcbiAgICAgICAgc2xpY2UgPSBbXS5zbGljZSxcbiAgICAgICAgYmluZCA9IGZ1bmN0aW9uKGZuLCBtZSl7IHJldHVybiBmdW5jdGlvbigpeyByZXR1cm4gZm4uYXBwbHkobWUsIGFyZ3VtZW50cyk7IH07IH0sXG4gICAgICAgIGluZGV4T2YgPSBbXS5pbmRleE9mIHx8IGZ1bmN0aW9uKGl0ZW0pIHsgZm9yICh2YXIgaSA9IDAsIGwgPSB0aGlzLmxlbmd0aDsgaSA8IGw7IGkrKykgeyBpZiAoaSBpbiB0aGlzICYmIHRoaXNbaV0gPT09IGl0ZW0pIHJldHVybiBpOyB9IHJldHVybiAtMTsgfTtcblxuICAgICAgcmVmID0gQWN0aW9uQ2FibGUuSU5URVJOQUwsIG1lc3NhZ2VfdHlwZXMgPSByZWYubWVzc2FnZV90eXBlcywgcHJvdG9jb2xzID0gcmVmLnByb3RvY29scztcblxuICAgICAgc3VwcG9ydGVkUHJvdG9jb2xzID0gMiA8PSBwcm90b2NvbHMubGVuZ3RoID8gc2xpY2UuY2FsbChwcm90b2NvbHMsIDAsIGkgPSBwcm90b2NvbHMubGVuZ3RoIC0gMSkgOiAoaSA9IDAsIFtdKSwgdW5zdXBwb3J0ZWRQcm90b2NvbCA9IHByb3RvY29sc1tpKytdO1xuXG4gICAgICBBY3Rpb25DYWJsZS5Db25uZWN0aW9uID0gKGZ1bmN0aW9uKCkge1xuICAgICAgICBDb25uZWN0aW9uLnJlb3BlbkRlbGF5ID0gNTAwO1xuXG4gICAgICAgIGZ1bmN0aW9uIENvbm5lY3Rpb24oY29uc3VtZXIpIHtcbiAgICAgICAgICB0aGlzLmNvbnN1bWVyID0gY29uc3VtZXI7XG4gICAgICAgICAgdGhpcy5vcGVuID0gYmluZCh0aGlzLm9wZW4sIHRoaXMpO1xuICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IHRoaXMuY29uc3VtZXIuc3Vic2NyaXB0aW9ucztcbiAgICAgICAgICB0aGlzLm1vbml0b3IgPSBuZXcgQWN0aW9uQ2FibGUuQ29ubmVjdGlvbk1vbml0b3IodGhpcyk7XG4gICAgICAgICAgdGhpcy5kaXNjb25uZWN0ZWQgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgQ29ubmVjdGlvbi5wcm90b3R5cGUuc2VuZCA9IGZ1bmN0aW9uKGRhdGEpIHtcbiAgICAgICAgICBpZiAodGhpcy5pc09wZW4oKSkge1xuICAgICAgICAgICAgdGhpcy53ZWJTb2NrZXQuc2VuZChKU09OLnN0cmluZ2lmeShkYXRhKSk7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICBDb25uZWN0aW9uLnByb3RvdHlwZS5vcGVuID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgaWYgKHRoaXMuaXNBY3RpdmUoKSkge1xuICAgICAgICAgICAgQWN0aW9uQ2FibGUubG9nKFwiQXR0ZW1wdGVkIHRvIG9wZW4gV2ViU29ja2V0LCBidXQgZXhpc3Rpbmcgc29ja2V0IGlzIFwiICsgKHRoaXMuZ2V0U3RhdGUoKSkpO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBBY3Rpb25DYWJsZS5sb2coXCJPcGVuaW5nIFdlYlNvY2tldCwgY3VycmVudCBzdGF0ZSBpcyBcIiArICh0aGlzLmdldFN0YXRlKCkpICsgXCIsIHN1YnByb3RvY29sczogXCIgKyBwcm90b2NvbHMpO1xuICAgICAgICAgICAgaWYgKHRoaXMud2ViU29ja2V0ICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgdGhpcy51bmluc3RhbGxFdmVudEhhbmRsZXJzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLndlYlNvY2tldCA9IG5ldyBBY3Rpb25DYWJsZS5XZWJTb2NrZXQodGhpcy5jb25zdW1lci51cmwsIHByb3RvY29scyk7XG4gICAgICAgICAgICB0aGlzLmluc3RhbGxFdmVudEhhbmRsZXJzKCk7XG4gICAgICAgICAgICB0aGlzLm1vbml0b3Iuc3RhcnQoKTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICBDb25uZWN0aW9uLnByb3RvdHlwZS5jbG9zZSA9IGZ1bmN0aW9uKGFyZykge1xuICAgICAgICAgIHZhciBhbGxvd1JlY29ubmVjdCwgcmVmMTtcbiAgICAgICAgICBhbGxvd1JlY29ubmVjdCA9IChhcmcgIT0gbnVsbCA/IGFyZyA6IHtcbiAgICAgICAgICAgIGFsbG93UmVjb25uZWN0OiB0cnVlXG4gICAgICAgICAgfSkuYWxsb3dSZWNvbm5lY3Q7XG4gICAgICAgICAgaWYgKCFhbGxvd1JlY29ubmVjdCkge1xuICAgICAgICAgICAgdGhpcy5tb25pdG9yLnN0b3AoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHRoaXMuaXNBY3RpdmUoKSkge1xuICAgICAgICAgICAgcmV0dXJuIChyZWYxID0gdGhpcy53ZWJTb2NrZXQpICE9IG51bGwgPyByZWYxLmNsb3NlKCkgOiB2b2lkIDA7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIENvbm5lY3Rpb24ucHJvdG90eXBlLnJlb3BlbiA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHZhciBlcnJvcjtcbiAgICAgICAgICBBY3Rpb25DYWJsZS5sb2coXCJSZW9wZW5pbmcgV2ViU29ja2V0LCBjdXJyZW50IHN0YXRlIGlzIFwiICsgKHRoaXMuZ2V0U3RhdGUoKSkpO1xuICAgICAgICAgIGlmICh0aGlzLmlzQWN0aXZlKCkpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcjEpIHtcbiAgICAgICAgICAgICAgZXJyb3IgPSBlcnJvcjE7XG4gICAgICAgICAgICAgIHJldHVybiBBY3Rpb25DYWJsZS5sb2coXCJGYWlsZWQgdG8gcmVvcGVuIFdlYlNvY2tldFwiLCBlcnJvcik7XG4gICAgICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgICBBY3Rpb25DYWJsZS5sb2coXCJSZW9wZW5pbmcgV2ViU29ja2V0IGluIFwiICsgdGhpcy5jb25zdHJ1Y3Rvci5yZW9wZW5EZWxheSArIFwibXNcIik7XG4gICAgICAgICAgICAgIHNldFRpbWVvdXQodGhpcy5vcGVuLCB0aGlzLmNvbnN0cnVjdG9yLnJlb3BlbkRlbGF5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMub3BlbigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICBDb25uZWN0aW9uLnByb3RvdHlwZS5nZXRQcm90b2NvbCA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHZhciByZWYxO1xuICAgICAgICAgIHJldHVybiAocmVmMSA9IHRoaXMud2ViU29ja2V0KSAhPSBudWxsID8gcmVmMS5wcm90b2NvbCA6IHZvaWQgMDtcbiAgICAgICAgfTtcblxuICAgICAgICBDb25uZWN0aW9uLnByb3RvdHlwZS5pc09wZW4gPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5pc1N0YXRlKFwib3BlblwiKTtcbiAgICAgICAgfTtcblxuICAgICAgICBDb25uZWN0aW9uLnByb3RvdHlwZS5pc0FjdGl2ZSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHJldHVybiB0aGlzLmlzU3RhdGUoXCJvcGVuXCIsIFwiY29ubmVjdGluZ1wiKTtcbiAgICAgICAgfTtcblxuICAgICAgICBDb25uZWN0aW9uLnByb3RvdHlwZS5pc1Byb3RvY29sU3VwcG9ydGVkID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgdmFyIHJlZjE7XG4gICAgICAgICAgcmV0dXJuIHJlZjEgPSB0aGlzLmdldFByb3RvY29sKCksIGluZGV4T2YuY2FsbChzdXBwb3J0ZWRQcm90b2NvbHMsIHJlZjEpID49IDA7XG4gICAgICAgIH07XG5cbiAgICAgICAgQ29ubmVjdGlvbi5wcm90b3R5cGUuaXNTdGF0ZSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHZhciByZWYxLCBzdGF0ZXM7XG4gICAgICAgICAgc3RhdGVzID0gMSA8PSBhcmd1bWVudHMubGVuZ3RoID8gc2xpY2UuY2FsbChhcmd1bWVudHMsIDApIDogW107XG4gICAgICAgICAgcmV0dXJuIHJlZjEgPSB0aGlzLmdldFN0YXRlKCksIGluZGV4T2YuY2FsbChzdGF0ZXMsIHJlZjEpID49IDA7XG4gICAgICAgIH07XG5cbiAgICAgICAgQ29ubmVjdGlvbi5wcm90b3R5cGUuZ2V0U3RhdGUgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICB2YXIgcmVmMSwgc3RhdGUsIHZhbHVlO1xuICAgICAgICAgIGZvciAoc3RhdGUgaW4gV2ViU29ja2V0KSB7XG4gICAgICAgICAgICB2YWx1ZSA9IFdlYlNvY2tldFtzdGF0ZV07XG4gICAgICAgICAgICBpZiAodmFsdWUgPT09ICgocmVmMSA9IHRoaXMud2ViU29ja2V0KSAhPSBudWxsID8gcmVmMS5yZWFkeVN0YXRlIDogdm9pZCAwKSkge1xuICAgICAgICAgICAgICByZXR1cm4gc3RhdGUudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH07XG5cbiAgICAgICAgQ29ubmVjdGlvbi5wcm90b3R5cGUuaW5zdGFsbEV2ZW50SGFuZGxlcnMgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICB2YXIgZXZlbnROYW1lLCBoYW5kbGVyO1xuICAgICAgICAgIGZvciAoZXZlbnROYW1lIGluIHRoaXMuZXZlbnRzKSB7XG4gICAgICAgICAgICBoYW5kbGVyID0gdGhpcy5ldmVudHNbZXZlbnROYW1lXS5iaW5kKHRoaXMpO1xuICAgICAgICAgICAgdGhpcy53ZWJTb2NrZXRbXCJvblwiICsgZXZlbnROYW1lXSA9IGhhbmRsZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIENvbm5lY3Rpb24ucHJvdG90eXBlLnVuaW5zdGFsbEV2ZW50SGFuZGxlcnMgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICB2YXIgZXZlbnROYW1lO1xuICAgICAgICAgIGZvciAoZXZlbnROYW1lIGluIHRoaXMuZXZlbnRzKSB7XG4gICAgICAgICAgICB0aGlzLndlYlNvY2tldFtcIm9uXCIgKyBldmVudE5hbWVdID0gZnVuY3Rpb24oKSB7fTtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgQ29ubmVjdGlvbi5wcm90b3R5cGUuZXZlbnRzID0ge1xuICAgICAgICAgIG1lc3NhZ2U6IGZ1bmN0aW9uKGV2ZW50KSB7XG4gICAgICAgICAgICB2YXIgaWRlbnRpZmllciwgbWVzc2FnZSwgcmVmMSwgdHlwZTtcbiAgICAgICAgICAgIGlmICghdGhpcy5pc1Byb3RvY29sU3VwcG9ydGVkKCkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVmMSA9IEpTT04ucGFyc2UoZXZlbnQuZGF0YSksIGlkZW50aWZpZXIgPSByZWYxLmlkZW50aWZpZXIsIG1lc3NhZ2UgPSByZWYxLm1lc3NhZ2UsIHR5cGUgPSByZWYxLnR5cGU7XG4gICAgICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgICAgICAgY2FzZSBtZXNzYWdlX3R5cGVzLndlbGNvbWU6XG4gICAgICAgICAgICAgICAgdGhpcy5tb25pdG9yLnJlY29yZENvbm5lY3QoKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zdWJzY3JpcHRpb25zLnJlbG9hZCgpO1xuICAgICAgICAgICAgICBjYXNlIG1lc3NhZ2VfdHlwZXMucGluZzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5tb25pdG9yLnJlY29yZFBpbmcoKTtcbiAgICAgICAgICAgICAgY2FzZSBtZXNzYWdlX3R5cGVzLmNvbmZpcm1hdGlvbjpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zdWJzY3JpcHRpb25zLm5vdGlmeShpZGVudGlmaWVyLCBcImNvbm5lY3RlZFwiKTtcbiAgICAgICAgICAgICAgY2FzZSBtZXNzYWdlX3R5cGVzLnJlamVjdGlvbjpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zdWJzY3JpcHRpb25zLnJlamVjdChpZGVudGlmaWVyKTtcbiAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zdWJzY3JpcHRpb25zLm5vdGlmeShpZGVudGlmaWVyLCBcInJlY2VpdmVkXCIsIG1lc3NhZ2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgb3BlbjogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICBBY3Rpb25DYWJsZS5sb2coXCJXZWJTb2NrZXQgb25vcGVuIGV2ZW50LCB1c2luZyAnXCIgKyAodGhpcy5nZXRQcm90b2NvbCgpKSArIFwiJyBzdWJwcm90b2NvbFwiKTtcbiAgICAgICAgICAgIHRoaXMuZGlzY29ubmVjdGVkID0gZmFsc2U7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaXNQcm90b2NvbFN1cHBvcnRlZCgpKSB7XG4gICAgICAgICAgICAgIEFjdGlvbkNhYmxlLmxvZyhcIlByb3RvY29sIGlzIHVuc3VwcG9ydGVkLiBTdG9wcGluZyBtb25pdG9yIGFuZCBkaXNjb25uZWN0aW5nLlwiKTtcbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2xvc2Uoe1xuICAgICAgICAgICAgICAgIGFsbG93UmVjb25uZWN0OiBmYWxzZVxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIGNsb3NlOiBmdW5jdGlvbihldmVudCkge1xuICAgICAgICAgICAgQWN0aW9uQ2FibGUubG9nKFwiV2ViU29ja2V0IG9uY2xvc2UgZXZlbnRcIik7XG4gICAgICAgICAgICBpZiAodGhpcy5kaXNjb25uZWN0ZWQpIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5kaXNjb25uZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5tb25pdG9yLnJlY29yZERpc2Nvbm5lY3QoKTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnN1YnNjcmlwdGlvbnMubm90aWZ5QWxsKFwiZGlzY29ubmVjdGVkXCIsIHtcbiAgICAgICAgICAgICAgd2lsbEF0dGVtcHRSZWNvbm5lY3Q6IHRoaXMubW9uaXRvci5pc1J1bm5pbmcoKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBlcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICByZXR1cm4gQWN0aW9uQ2FibGUubG9nKFwiV2ViU29ja2V0IG9uZXJyb3IgZXZlbnRcIik7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiBDb25uZWN0aW9uO1xuXG4gICAgICB9KSgpO1xuXG4gICAgfSkuY2FsbCh0aGlzKTtcbiAgICAoZnVuY3Rpb24oKSB7XG4gICAgICB2YXIgc2xpY2UgPSBbXS5zbGljZTtcblxuICAgICAgQWN0aW9uQ2FibGUuU3Vic2NyaXB0aW9ucyA9IChmdW5jdGlvbigpIHtcbiAgICAgICAgZnVuY3Rpb24gU3Vic2NyaXB0aW9ucyhjb25zdW1lcikge1xuICAgICAgICAgIHRoaXMuY29uc3VtZXIgPSBjb25zdW1lcjtcbiAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIFN1YnNjcmlwdGlvbnMucHJvdG90eXBlLmNyZWF0ZSA9IGZ1bmN0aW9uKGNoYW5uZWxOYW1lLCBtaXhpbikge1xuICAgICAgICAgIHZhciBjaGFubmVsLCBwYXJhbXMsIHN1YnNjcmlwdGlvbjtcbiAgICAgICAgICBjaGFubmVsID0gY2hhbm5lbE5hbWU7XG4gICAgICAgICAgcGFyYW1zID0gdHlwZW9mIGNoYW5uZWwgPT09IFwib2JqZWN0XCIgPyBjaGFubmVsIDoge1xuICAgICAgICAgICAgY2hhbm5lbDogY2hhbm5lbFxuICAgICAgICAgIH07XG4gICAgICAgICAgc3Vic2NyaXB0aW9uID0gbmV3IEFjdGlvbkNhYmxlLlN1YnNjcmlwdGlvbih0aGlzLmNvbnN1bWVyLCBwYXJhbXMsIG1peGluKTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5hZGQoc3Vic2NyaXB0aW9uKTtcbiAgICAgICAgfTtcblxuICAgICAgICBTdWJzY3JpcHRpb25zLnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbihzdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChzdWJzY3JpcHRpb24pO1xuICAgICAgICAgIHRoaXMuY29uc3VtZXIuZW5zdXJlQWN0aXZlQ29ubmVjdGlvbigpO1xuICAgICAgICAgIHRoaXMubm90aWZ5KHN1YnNjcmlwdGlvbiwgXCJpbml0aWFsaXplZFwiKTtcbiAgICAgICAgICB0aGlzLnNlbmRDb21tYW5kKHN1YnNjcmlwdGlvbiwgXCJzdWJzY3JpYmVcIik7XG4gICAgICAgICAgcmV0dXJuIHN1YnNjcmlwdGlvbjtcbiAgICAgICAgfTtcblxuICAgICAgICBTdWJzY3JpcHRpb25zLnByb3RvdHlwZS5yZW1vdmUgPSBmdW5jdGlvbihzdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICB0aGlzLmZvcmdldChzdWJzY3JpcHRpb24pO1xuICAgICAgICAgIGlmICghdGhpcy5maW5kQWxsKHN1YnNjcmlwdGlvbi5pZGVudGlmaWVyKS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuc2VuZENvbW1hbmQoc3Vic2NyaXB0aW9uLCBcInVuc3Vic2NyaWJlXCIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gc3Vic2NyaXB0aW9uO1xuICAgICAgICB9O1xuXG4gICAgICAgIFN1YnNjcmlwdGlvbnMucHJvdG90eXBlLnJlamVjdCA9IGZ1bmN0aW9uKGlkZW50aWZpZXIpIHtcbiAgICAgICAgICB2YXIgaSwgbGVuLCByZWYsIHJlc3VsdHMsIHN1YnNjcmlwdGlvbjtcbiAgICAgICAgICByZWYgPSB0aGlzLmZpbmRBbGwoaWRlbnRpZmllcik7XG4gICAgICAgICAgcmVzdWx0cyA9IFtdO1xuICAgICAgICAgIGZvciAoaSA9IDAsIGxlbiA9IHJlZi5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgICAgICAgICAgc3Vic2NyaXB0aW9uID0gcmVmW2ldO1xuICAgICAgICAgICAgdGhpcy5mb3JnZXQoc3Vic2NyaXB0aW9uKTtcbiAgICAgICAgICAgIHRoaXMubm90aWZ5KHN1YnNjcmlwdGlvbiwgXCJyZWplY3RlZFwiKTtcbiAgICAgICAgICAgIHJlc3VsdHMucHVzaChzdWJzY3JpcHRpb24pO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gcmVzdWx0cztcbiAgICAgICAgfTtcblxuICAgICAgICBTdWJzY3JpcHRpb25zLnByb3RvdHlwZS5mb3JnZXQgPSBmdW5jdGlvbihzdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICB2YXIgcztcbiAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSAoZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICB2YXIgaSwgbGVuLCByZWYsIHJlc3VsdHM7XG4gICAgICAgICAgICByZWYgPSB0aGlzLnN1YnNjcmlwdGlvbnM7XG4gICAgICAgICAgICByZXN1bHRzID0gW107XG4gICAgICAgICAgICBmb3IgKGkgPSAwLCBsZW4gPSByZWYubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgICAgICAgcyA9IHJlZltpXTtcbiAgICAgICAgICAgICAgaWYgKHMgIT09IHN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaChzKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdHM7XG4gICAgICAgICAgfSkuY2FsbCh0aGlzKTtcbiAgICAgICAgICByZXR1cm4gc3Vic2NyaXB0aW9uO1xuICAgICAgICB9O1xuXG4gICAgICAgIFN1YnNjcmlwdGlvbnMucHJvdG90eXBlLmZpbmRBbGwgPSBmdW5jdGlvbihpZGVudGlmaWVyKSB7XG4gICAgICAgICAgdmFyIGksIGxlbiwgcmVmLCByZXN1bHRzLCBzO1xuICAgICAgICAgIHJlZiA9IHRoaXMuc3Vic2NyaXB0aW9ucztcbiAgICAgICAgICByZXN1bHRzID0gW107XG4gICAgICAgICAgZm9yIChpID0gMCwgbGVuID0gcmVmLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgICAgICBzID0gcmVmW2ldO1xuICAgICAgICAgICAgaWYgKHMuaWRlbnRpZmllciA9PT0gaWRlbnRpZmllcikge1xuICAgICAgICAgICAgICByZXN1bHRzLnB1c2gocyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByZXN1bHRzO1xuICAgICAgICB9O1xuXG4gICAgICAgIFN1YnNjcmlwdGlvbnMucHJvdG90eXBlLnJlbG9hZCA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHZhciBpLCBsZW4sIHJlZiwgcmVzdWx0cywgc3Vic2NyaXB0aW9uO1xuICAgICAgICAgIHJlZiA9IHRoaXMuc3Vic2NyaXB0aW9ucztcbiAgICAgICAgICByZXN1bHRzID0gW107XG4gICAgICAgICAgZm9yIChpID0gMCwgbGVuID0gcmVmLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgICAgICBzdWJzY3JpcHRpb24gPSByZWZbaV07XG4gICAgICAgICAgICByZXN1bHRzLnB1c2godGhpcy5zZW5kQ29tbWFuZChzdWJzY3JpcHRpb24sIFwic3Vic2NyaWJlXCIpKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdHM7XG4gICAgICAgIH07XG5cbiAgICAgICAgU3Vic2NyaXB0aW9ucy5wcm90b3R5cGUubm90aWZ5QWxsID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgdmFyIGFyZ3MsIGNhbGxiYWNrTmFtZSwgaSwgbGVuLCByZWYsIHJlc3VsdHMsIHN1YnNjcmlwdGlvbjtcbiAgICAgICAgICBjYWxsYmFja05hbWUgPSBhcmd1bWVudHNbMF0sIGFyZ3MgPSAyIDw9IGFyZ3VtZW50cy5sZW5ndGggPyBzbGljZS5jYWxsKGFyZ3VtZW50cywgMSkgOiBbXTtcbiAgICAgICAgICByZWYgPSB0aGlzLnN1YnNjcmlwdGlvbnM7XG4gICAgICAgICAgcmVzdWx0cyA9IFtdO1xuICAgICAgICAgIGZvciAoaSA9IDAsIGxlbiA9IHJlZi5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgICAgICAgICAgc3Vic2NyaXB0aW9uID0gcmVmW2ldO1xuICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHRoaXMubm90aWZ5LmFwcGx5KHRoaXMsIFtzdWJzY3JpcHRpb24sIGNhbGxiYWNrTmFtZV0uY29uY2F0KHNsaWNlLmNhbGwoYXJncykpKSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByZXN1bHRzO1xuICAgICAgICB9O1xuXG4gICAgICAgIFN1YnNjcmlwdGlvbnMucHJvdG90eXBlLm5vdGlmeSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHZhciBhcmdzLCBjYWxsYmFja05hbWUsIGksIGxlbiwgcmVzdWx0cywgc3Vic2NyaXB0aW9uLCBzdWJzY3JpcHRpb25zO1xuICAgICAgICAgIHN1YnNjcmlwdGlvbiA9IGFyZ3VtZW50c1swXSwgY2FsbGJhY2tOYW1lID0gYXJndW1lbnRzWzFdLCBhcmdzID0gMyA8PSBhcmd1bWVudHMubGVuZ3RoID8gc2xpY2UuY2FsbChhcmd1bWVudHMsIDIpIDogW107XG4gICAgICAgICAgaWYgKHR5cGVvZiBzdWJzY3JpcHRpb24gPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbnMgPSB0aGlzLmZpbmRBbGwoc3Vic2NyaXB0aW9uKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3Vic2NyaXB0aW9ucyA9IFtzdWJzY3JpcHRpb25dO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXN1bHRzID0gW107XG4gICAgICAgICAgZm9yIChpID0gMCwgbGVuID0gc3Vic2NyaXB0aW9ucy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgICAgICAgICAgc3Vic2NyaXB0aW9uID0gc3Vic2NyaXB0aW9uc1tpXTtcbiAgICAgICAgICAgIHJlc3VsdHMucHVzaCh0eXBlb2Ygc3Vic2NyaXB0aW9uW2NhbGxiYWNrTmFtZV0gPT09IFwiZnVuY3Rpb25cIiA/IHN1YnNjcmlwdGlvbltjYWxsYmFja05hbWVdLmFwcGx5KHN1YnNjcmlwdGlvbiwgYXJncykgOiB2b2lkIDApO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gcmVzdWx0cztcbiAgICAgICAgfTtcblxuICAgICAgICBTdWJzY3JpcHRpb25zLnByb3RvdHlwZS5zZW5kQ29tbWFuZCA9IGZ1bmN0aW9uKHN1YnNjcmlwdGlvbiwgY29tbWFuZCkge1xuICAgICAgICAgIHZhciBpZGVudGlmaWVyO1xuICAgICAgICAgIGlkZW50aWZpZXIgPSBzdWJzY3JpcHRpb24uaWRlbnRpZmllcjtcbiAgICAgICAgICByZXR1cm4gdGhpcy5jb25zdW1lci5zZW5kKHtcbiAgICAgICAgICAgIGNvbW1hbmQ6IGNvbW1hbmQsXG4gICAgICAgICAgICBpZGVudGlmaWVyOiBpZGVudGlmaWVyXG4gICAgICAgICAgfSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIFN1YnNjcmlwdGlvbnM7XG5cbiAgICAgIH0pKCk7XG5cbiAgICB9KS5jYWxsKHRoaXMpO1xuICAgIChmdW5jdGlvbigpIHtcbiAgICAgIEFjdGlvbkNhYmxlLlN1YnNjcmlwdGlvbiA9IChmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIGV4dGVuZDtcblxuICAgICAgICBmdW5jdGlvbiBTdWJzY3JpcHRpb24oY29uc3VtZXIsIHBhcmFtcywgbWl4aW4pIHtcbiAgICAgICAgICB0aGlzLmNvbnN1bWVyID0gY29uc3VtZXI7XG4gICAgICAgICAgaWYgKHBhcmFtcyA9PSBudWxsKSB7XG4gICAgICAgICAgICBwYXJhbXMgPSB7fTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5pZGVudGlmaWVyID0gSlNPTi5zdHJpbmdpZnkocGFyYW1zKTtcbiAgICAgICAgICBleHRlbmQodGhpcywgbWl4aW4pO1xuICAgICAgICB9XG5cbiAgICAgICAgU3Vic2NyaXB0aW9uLnByb3RvdHlwZS5wZXJmb3JtID0gZnVuY3Rpb24oYWN0aW9uLCBkYXRhKSB7XG4gICAgICAgICAgaWYgKGRhdGEgPT0gbnVsbCkge1xuICAgICAgICAgICAgZGF0YSA9IHt9O1xuICAgICAgICAgIH1cbiAgICAgICAgICBkYXRhLmFjdGlvbiA9IGFjdGlvbjtcbiAgICAgICAgICByZXR1cm4gdGhpcy5zZW5kKGRhdGEpO1xuICAgICAgICB9O1xuXG4gICAgICAgIFN1YnNjcmlwdGlvbi5wcm90b3R5cGUuc2VuZCA9IGZ1bmN0aW9uKGRhdGEpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5jb25zdW1lci5zZW5kKHtcbiAgICAgICAgICAgIGNvbW1hbmQ6IFwibWVzc2FnZVwiLFxuICAgICAgICAgICAgaWRlbnRpZmllcjogdGhpcy5pZGVudGlmaWVyLFxuICAgICAgICAgICAgZGF0YTogSlNPTi5zdHJpbmdpZnkoZGF0YSlcbiAgICAgICAgICB9KTtcbiAgICAgICAgfTtcblxuICAgICAgICBTdWJzY3JpcHRpb24ucHJvdG90eXBlLnVuc3Vic2NyaWJlID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuY29uc3VtZXIuc3Vic2NyaXB0aW9ucy5yZW1vdmUodGhpcyk7XG4gICAgICAgIH07XG5cbiAgICAgICAgZXh0ZW5kID0gZnVuY3Rpb24ob2JqZWN0LCBwcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgdmFyIGtleSwgdmFsdWU7XG4gICAgICAgICAgaWYgKHByb3BlcnRpZXMgIT0gbnVsbCkge1xuICAgICAgICAgICAgZm9yIChrZXkgaW4gcHJvcGVydGllcykge1xuICAgICAgICAgICAgICB2YWx1ZSA9IHByb3BlcnRpZXNba2V5XTtcbiAgICAgICAgICAgICAgb2JqZWN0W2tleV0gPSB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG9iamVjdDtcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gU3Vic2NyaXB0aW9uO1xuXG4gICAgICB9KSgpO1xuXG4gICAgfSkuY2FsbCh0aGlzKTtcbiAgICAoZnVuY3Rpb24oKSB7XG4gICAgICBBY3Rpb25DYWJsZS5Db25zdW1lciA9IChmdW5jdGlvbigpIHtcbiAgICAgICAgZnVuY3Rpb24gQ29uc3VtZXIodXJsKSB7XG4gICAgICAgICAgdGhpcy51cmwgPSB1cmw7XG4gICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zID0gbmV3IEFjdGlvbkNhYmxlLlN1YnNjcmlwdGlvbnModGhpcyk7XG4gICAgICAgICAgdGhpcy5jb25uZWN0aW9uID0gbmV3IEFjdGlvbkNhYmxlLkNvbm5lY3Rpb24odGhpcyk7XG4gICAgICAgIH1cblxuICAgICAgICBDb25zdW1lci5wcm90b3R5cGUuc2VuZCA9IGZ1bmN0aW9uKGRhdGEpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5jb25uZWN0aW9uLnNlbmQoZGF0YSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgQ29uc3VtZXIucHJvdG90eXBlLmNvbm5lY3QgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5jb25uZWN0aW9uLm9wZW4oKTtcbiAgICAgICAgfTtcblxuICAgICAgICBDb25zdW1lci5wcm90b3R5cGUuZGlzY29ubmVjdCA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rpb24uY2xvc2Uoe1xuICAgICAgICAgICAgYWxsb3dSZWNvbm5lY3Q6IGZhbHNlXG4gICAgICAgICAgfSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgQ29uc3VtZXIucHJvdG90eXBlLmVuc3VyZUFjdGl2ZUNvbm5lY3Rpb24gPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICBpZiAoIXRoaXMuY29ubmVjdGlvbi5pc0FjdGl2ZSgpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jb25uZWN0aW9uLm9wZW4oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIENvbnN1bWVyO1xuXG4gICAgICB9KSgpO1xuXG4gICAgfSkuY2FsbCh0aGlzKTtcbiAgfSkuY2FsbCh0aGlzKTtcblxuICBpZiAoIHRydWUgJiYgbW9kdWxlLmV4cG9ydHMpIHtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IEFjdGlvbkNhYmxlO1xuICB9IGVsc2UgaWYgKHRydWUpIHtcbiAgICAhKF9fV0VCUEFDS19BTURfREVGSU5FX0ZBQ1RPUllfXyA9IChBY3Rpb25DYWJsZSksXG5cdFx0XHRcdF9fV0VCUEFDS19BTURfREVGSU5FX1JFU1VMVF9fID0gKHR5cGVvZiBfX1dFQlBBQ0tfQU1EX0RFRklORV9GQUNUT1JZX18gPT09ICdmdW5jdGlvbicgP1xuXHRcdFx0XHQoX19XRUJQQUNLX0FNRF9ERUZJTkVfRkFDVE9SWV9fLmNhbGwoZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXywgZXhwb3J0cywgbW9kdWxlKSkgOlxuXHRcdFx0XHRfX1dFQlBBQ0tfQU1EX0RFRklORV9GQUNUT1JZX18pLFxuXHRcdFx0XHRfX1dFQlBBQ0tfQU1EX0RFRklORV9SRVNVTFRfXyAhPT0gdW5kZWZpbmVkICYmIChtb2R1bGUuZXhwb3J0cyA9IF9fV0VCUEFDS19BTURfREVGSU5FX1JFU1VMVF9fKSk7XG4gIH1cbn0pLmNhbGwodGhpcyk7XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WVdOMGFXOXVZMkZpYkdVdmJHbGlMMkZ6YzJWMGN5OWpiMjF3YVd4bFpDOWhZM1JwYjI1ZlkyRmliR1V1YW5NdWFuTWlMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk4dkxpOXViMlJsWDIxdlpIVnNaWE12WVdOMGFXOXVZMkZpYkdVdmJHbGlMMkZ6YzJWMGN5OWpiMjF3YVd4bFpDOWhZM1JwYjI1ZlkyRmliR1V1YW5NL1pqVmxaU0pkTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJb1puVnVZM1JwYjI0b0tTQjdYRzRnSUhaaGNpQmpiMjUwWlhoMElEMGdkR2hwY3p0Y2JseHVJQ0FvWm5WdVkzUnBiMjRvS1NCN1hHNGdJQ0FnS0daMWJtTjBhVzl1S0NrZ2UxeHVJQ0FnSUNBZ2RtRnlJSE5zYVdObElEMGdXMTB1YzJ4cFkyVTdYRzVjYmlBZ0lDQWdJSFJvYVhNdVFXTjBhVzl1UTJGaWJHVWdQU0I3WEc0Z0lDQWdJQ0FnSUVsT1ZFVlNUa0ZNT2lCN1hHNGdJQ0FnSUNBZ0lDQWdYQ0p0WlhOellXZGxYM1I1Y0dWelhDSTZJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lGd2lkMlZzWTI5dFpWd2lPaUJjSW5kbGJHTnZiV1ZjSWl4Y2JpQWdJQ0FnSUNBZ0lDQWdJRndpY0dsdVoxd2lPaUJjSW5CcGJtZGNJaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lGd2lZMjl1Wm1seWJXRjBhVzl1WENJNklGd2lZMjl1Wm1seWJWOXpkV0p6WTNKcGNIUnBiMjVjSWl4Y2JpQWdJQ0FnSUNBZ0lDQWdJRndpY21WcVpXTjBhVzl1WENJNklGd2ljbVZxWldOMFgzTjFZbk5qY21sd2RHbHZibHdpWEc0Z0lDQWdJQ0FnSUNBZ2ZTeGNiaUFnSUNBZ0lDQWdJQ0JjSW1SbFptRjFiSFJmYlc5MWJuUmZjR0YwYUZ3aU9pQmNJaTlqWVdKc1pWd2lMRnh1SUNBZ0lDQWdJQ0FnSUZ3aWNISnZkRzlqYjJ4elhDSTZJRnRjSW1GamRHbHZibU5oWW14bExYWXhMV3B6YjI1Y0lpd2dYQ0poWTNScGIyNWpZV0pzWlMxMWJuTjFjSEJ2Y25SbFpGd2lYVnh1SUNBZ0lDQWdJQ0I5TEZ4dUlDQWdJQ0FnSUNCWFpXSlRiMk5yWlhRNklIZHBibVJ2ZHk1WFpXSlRiMk5yWlhRc1hHNGdJQ0FnSUNBZ0lHeHZaMmRsY2pvZ2QybHVaRzkzTG1OdmJuTnZiR1VzWEc0Z0lDQWdJQ0FnSUdOeVpXRjBaVU52Ym5OMWJXVnlPaUJtZFc1amRHbHZiaWgxY213cElIdGNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ2NtVm1PMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaDFjbXdnUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkWEpzSUQwZ0tISmxaaUE5SUhSb2FYTXVaMlYwUTI5dVptbG5LRndpZFhKc1hDSXBLU0FoUFNCdWRXeHNJRDhnY21WbUlEb2dkR2hwY3k1SlRsUkZVazVCVEM1a1pXWmhkV3gwWDIxdmRXNTBYM0JoZEdnN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ1WlhjZ1FXTjBhVzl1UTJGaWJHVXVRMjl1YzNWdFpYSW9kR2hwY3k1amNtVmhkR1ZYWldKVGIyTnJaWFJWVWt3b2RYSnNLU2s3WEc0Z0lDQWdJQ0FnSUgwc1hHNGdJQ0FnSUNBZ0lHZGxkRU52Ym1acFp6b2dablZ1WTNScGIyNG9ibUZ0WlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJSFpoY2lCbGJHVnRaVzUwTzF4dUlDQWdJQ0FnSUNBZ0lHVnNaVzFsYm5RZ1BTQmtiMk4xYldWdWRDNW9aV0ZrTG5GMVpYSjVVMlZzWldOMGIzSW9YQ0p0WlhSaFcyNWhiV1U5SjJGamRHbHZiaTFqWVdKc1pTMWNJaUFySUc1aGJXVWdLeUJjSWlkZFhDSXBPMXh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJsYkdWdFpXNTBJQ0U5SUc1MWJHd2dQeUJsYkdWdFpXNTBMbWRsZEVGMGRISnBZblYwWlNoY0ltTnZiblJsYm5SY0lpa2dPaUIyYjJsa0lEQTdYRzRnSUNBZ0lDQWdJSDBzWEc0Z0lDQWdJQ0FnSUdOeVpXRjBaVmRsWWxOdlkydGxkRlZTVERvZ1puVnVZM1JwYjI0b2RYSnNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJR0U3WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLSFZ5YkNBbUppQWhMMTUzYzNNL09pOXBMblJsYzNRb2RYSnNLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZU0E5SUdSdlkzVnRaVzUwTG1OeVpXRjBaVVZzWlcxbGJuUW9YQ0poWENJcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWVM1b2NtVm1JRDBnZFhKc08xeHVJQ0FnSUNBZ0lDQWdJQ0FnWVM1b2NtVm1JRDBnWVM1b2NtVm1PMXh1SUNBZ0lDQWdJQ0FnSUNBZ1lTNXdjbTkwYjJOdmJDQTlJR0V1Y0hKdmRHOWpiMnd1Y21Wd2JHRmpaU2hjSW1oMGRIQmNJaXdnWENKM2Mxd2lLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCaExtaHlaV1k3WEc0Z0lDQWdJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjFjbXc3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlMRnh1SUNBZ0lDQWdJQ0J6ZEdGeWRFUmxZblZuWjJsdVp6b2dablZ1WTNScGIyNG9LU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVaR1ZpZFdkbmFXNW5JRDBnZEhKMVpUdGNiaUFnSUNBZ0lDQWdmU3hjYmlBZ0lDQWdJQ0FnYzNSdmNFUmxZblZuWjJsdVp6b2dablZ1WTNScGIyNG9LU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVaR1ZpZFdkbmFXNW5JRDBnYm5Wc2JEdGNiaUFnSUNBZ0lDQWdmU3hjYmlBZ0lDQWdJQ0FnYkc5bk9pQm1kVzVqZEdsdmJpZ3BJSHRjYmlBZ0lDQWdJQ0FnSUNCMllYSWdiV1Z6YzJGblpYTXNJSEpsWmp0Y2JpQWdJQ0FnSUNBZ0lDQnRaWE56WVdkbGN5QTlJREVnUEQwZ1lYSm5kVzFsYm5SekxteGxibWQwYUNBL0lITnNhV05sTG1OaGJHd29ZWEpuZFcxbGJuUnpMQ0F3S1NBNklGdGRPMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaDBhR2x6TG1SbFluVm5aMmx1WnlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYldWemMyRm5aWE11Y0hWemFDaEVZWFJsTG01dmR5Z3BLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlBb2NtVm1JRDBnZEdocGN5NXNiMmRuWlhJcExteHZaeTVoY0hCc2VTaHlaV1lzSUZ0Y0lsdEJZM1JwYjI1RFlXSnNaVjFjSWwwdVkyOXVZMkYwS0hOc2FXTmxMbU5oYkd3b2JXVnpjMkZuWlhNcEtTazdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOU8xeHVYRzRnSUNBZ2ZTa3VZMkZzYkNoMGFHbHpLVHRjYmlBZ2ZTa3VZMkZzYkNoamIyNTBaWGgwS1R0Y2JseHVJQ0IyWVhJZ1FXTjBhVzl1UTJGaWJHVWdQU0JqYjI1MFpYaDBMa0ZqZEdsdmJrTmhZbXhsTzF4dVhHNGdJQ2htZFc1amRHbHZiaWdwSUh0Y2JpQWdJQ0FvWm5WdVkzUnBiMjRvS1NCN1hHNGdJQ0FnSUNCMllYSWdZbWx1WkNBOUlHWjFibU4wYVc5dUtHWnVMQ0J0WlNsN0lISmxkSFZ5YmlCbWRXNWpkR2x2YmlncGV5QnlaWFIxY200Z1ptNHVZWEJ3Ykhrb2JXVXNJR0Z5WjNWdFpXNTBjeWs3SUgwN0lIMDdYRzVjYmlBZ0lDQWdJRUZqZEdsdmJrTmhZbXhsTGtOdmJtNWxZM1JwYjI1TmIyNXBkRzl5SUQwZ0tHWjFibU4wYVc5dUtDa2dlMXh1SUNBZ0lDQWdJQ0IyWVhJZ1kyeGhiWEFzSUc1dmR5d2djMlZqYjI1a2MxTnBibU5sTzF4dVhHNGdJQ0FnSUNBZ0lFTnZibTVsWTNScGIyNU5iMjVwZEc5eUxuQnZiR3hKYm5SbGNuWmhiQ0E5SUh0Y2JpQWdJQ0FnSUNBZ0lDQnRhVzQ2SURNc1hHNGdJQ0FnSUNBZ0lDQWdiV0Y0T2lBek1GeHVJQ0FnSUNBZ0lDQjlPMXh1WEc0Z0lDQWdJQ0FnSUVOdmJtNWxZM1JwYjI1TmIyNXBkRzl5TG5OMFlXeGxWR2h5WlhOb2IyeGtJRDBnTmp0Y2JseHVJQ0FnSUNBZ0lDQm1kVzVqZEdsdmJpQkRiMjV1WldOMGFXOXVUVzl1YVhSdmNpaGpiMjV1WldOMGFXOXVLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2RHaHBjeTVqYjI1dVpXTjBhVzl1SUQwZ1kyOXVibVZqZEdsdmJqdGNiaUFnSUNBZ0lDQWdJQ0IwYUdsekxuWnBjMmxpYVd4cGRIbEVhV1JEYUdGdVoyVWdQU0JpYVc1a0tIUm9hWE11ZG1semFXSnBiR2wwZVVScFpFTm9ZVzVuWlN3Z2RHaHBjeWs3WEc0Z0lDQWdJQ0FnSUNBZ2RHaHBjeTV5WldOdmJtNWxZM1JCZEhSbGJYQjBjeUE5SURBN1hHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0JEYjI1dVpXTjBhVzl1VFc5dWFYUnZjaTV3Y205MGIzUjVjR1V1YzNSaGNuUWdQU0JtZFc1amRHbHZiaWdwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvSVhSb2FYTXVhWE5TZFc1dWFXNW5LQ2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWMzUmhjblJsWkVGMElEMGdibTkzS0NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JrWld4bGRHVWdkR2hwY3k1emRHOXdjR1ZrUVhRN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuTjBZWEowVUc5c2JHbHVaeWdwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdaRzlqZFcxbGJuUXVZV1JrUlhabGJuUk1hWE4wWlc1bGNpaGNJblpwYzJsaWFXeHBkSGxqYUdGdVoyVmNJaXdnZEdocGN5NTJhWE5wWW1sc2FYUjVSR2xrUTJoaGJtZGxLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCQlkzUnBiMjVEWVdKc1pTNXNiMmNvWENKRGIyNXVaV04wYVc5dVRXOXVhWFJ2Y2lCemRHRnlkR1ZrTGlCd2IyeHNTVzUwWlhKMllXd2dQU0JjSWlBcklDaDBhR2x6TG1kbGRGQnZiR3hKYm5SbGNuWmhiQ2dwS1NBcklGd2lJRzF6WENJcE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlR0Y2JseHVJQ0FnSUNBZ0lDQkRiMjV1WldOMGFXOXVUVzl1YVhSdmNpNXdjbTkwYjNSNWNHVXVjM1J2Y0NBOUlHWjFibU4wYVc5dUtDa2dlMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaDBhR2x6TG1selVuVnVibWx1WnlncEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbk4wYjNCd1pXUkJkQ0E5SUc1dmR5Z3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTV6ZEc5d1VHOXNiR2x1WnlncE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWkc5amRXMWxiblF1Y21WdGIzWmxSWFpsYm5STWFYTjBaVzVsY2loY0luWnBjMmxpYVd4cGRIbGphR0Z1WjJWY0lpd2dkR2hwY3k1MmFYTnBZbWxzYVhSNVJHbGtRMmhoYm1kbEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJCWTNScGIyNURZV0pzWlM1c2IyY29YQ0pEYjI1dVpXTjBhVzl1VFc5dWFYUnZjaUJ6ZEc5d2NHVmtYQ0lwTzF4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmVHRjYmx4dUlDQWdJQ0FnSUNCRGIyNXVaV04wYVc5dVRXOXVhWFJ2Y2k1d2NtOTBiM1I1Y0dVdWFYTlNkVzV1YVc1bklEMGdablZ1WTNScGIyNG9LU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUNoMGFHbHpMbk4wWVhKMFpXUkJkQ0FoUFNCdWRXeHNLU0FtSmlBb2RHaHBjeTV6ZEc5d2NHVmtRWFFnUFQwZ2JuVnNiQ2s3WEc0Z0lDQWdJQ0FnSUgwN1hHNWNiaUFnSUNBZ0lDQWdRMjl1Ym1WamRHbHZiazF2Ym1sMGIzSXVjSEp2ZEc5MGVYQmxMbkpsWTI5eVpGQnBibWNnUFNCbWRXNWpkR2x2YmlncElIdGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1d2FXNW5aV1JCZENBOUlHNXZkeWdwTzF4dUlDQWdJQ0FnSUNCOU8xeHVYRzRnSUNBZ0lDQWdJRU52Ym01bFkzUnBiMjVOYjI1cGRHOXlMbkJ5YjNSdmRIbHdaUzV5WldOdmNtUkRiMjV1WldOMElEMGdablZ1WTNScGIyNG9LU0I3WEc0Z0lDQWdJQ0FnSUNBZ2RHaHBjeTV5WldOdmJtNWxZM1JCZEhSbGJYQjBjeUE5SURBN1hHNGdJQ0FnSUNBZ0lDQWdkR2hwY3k1eVpXTnZjbVJRYVc1bktDazdYRzRnSUNBZ0lDQWdJQ0FnWkdWc1pYUmxJSFJvYVhNdVpHbHpZMjl1Ym1WamRHVmtRWFE3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUVGamRHbHZia05oWW14bExteHZaeWhjSWtOdmJtNWxZM1JwYjI1TmIyNXBkRzl5SUhKbFkyOXlaR1ZrSUdOdmJtNWxZM1JjSWlrN1hHNGdJQ0FnSUNBZ0lIMDdYRzVjYmlBZ0lDQWdJQ0FnUTI5dWJtVmpkR2x2YmsxdmJtbDBiM0l1Y0hKdmRHOTBlWEJsTG5KbFkyOXlaRVJwYzJOdmJtNWxZM1FnUFNCbWRXNWpkR2x2YmlncElIdGNiaUFnSUNBZ0lDQWdJQ0IwYUdsekxtUnBjMk52Ym01bFkzUmxaRUYwSUQwZ2JtOTNLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUVGamRHbHZia05oWW14bExteHZaeWhjSWtOdmJtNWxZM1JwYjI1TmIyNXBkRzl5SUhKbFkyOXlaR1ZrSUdScGMyTnZibTVsWTNSY0lpazdYRzRnSUNBZ0lDQWdJSDA3WEc1Y2JpQWdJQ0FnSUNBZ1EyOXVibVZqZEdsdmJrMXZibWwwYjNJdWNISnZkRzkwZVhCbExuTjBZWEowVUc5c2JHbHVaeUE5SUdaMWJtTjBhVzl1S0NrZ2UxeHVJQ0FnSUNBZ0lDQWdJSFJvYVhNdWMzUnZjRkJ2Ykd4cGJtY29LVHRjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXdiMnhzS0NrN1hHNGdJQ0FnSUNBZ0lIMDdYRzVjYmlBZ0lDQWdJQ0FnUTI5dWJtVmpkR2x2YmsxdmJtbDBiM0l1Y0hKdmRHOTBlWEJsTG5OMGIzQlFiMnhzYVc1bklEMGdablZ1WTNScGIyNG9LU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdOc1pXRnlWR2x0Wlc5MWRDaDBhR2x6TG5CdmJHeFVhVzFsYjNWMEtUdGNiaUFnSUNBZ0lDQWdmVHRjYmx4dUlDQWdJQ0FnSUNCRGIyNXVaV04wYVc5dVRXOXVhWFJ2Y2k1d2NtOTBiM1I1Y0dVdWNHOXNiQ0E5SUdaMWJtTjBhVzl1S0NrZ2UxeHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG5CdmJHeFVhVzFsYjNWMElEMGdjMlYwVkdsdFpXOTFkQ2dvWm5WdVkzUnBiMjRvWDNSb2FYTXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCbWRXNWpkR2x2YmlncElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1gzUm9hWE11Y21WamIyNXVaV04wU1daVGRHRnNaU2dwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdYM1JvYVhNdWNHOXNiQ2dwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVHRjYmlBZ0lDQWdJQ0FnSUNCOUtTaDBhR2x6S1N3Z2RHaHBjeTVuWlhSUWIyeHNTVzUwWlhKMllXd29LU2s3WEc0Z0lDQWdJQ0FnSUgwN1hHNWNiaUFnSUNBZ0lDQWdRMjl1Ym1WamRHbHZiazF2Ym1sMGIzSXVjSEp2ZEc5MGVYQmxMbWRsZEZCdmJHeEpiblJsY25aaGJDQTlJR1oxYm1OMGFXOXVLQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJwYm5SbGNuWmhiQ3dnYldGNExDQnRhVzRzSUhKbFpqdGNiaUFnSUNBZ0lDQWdJQ0J5WldZZ1BTQjBhR2x6TG1OdmJuTjBjblZqZEc5eUxuQnZiR3hKYm5SbGNuWmhiQ3dnYldsdUlEMGdjbVZtTG0xcGJpd2diV0Y0SUQwZ2NtVm1MbTFoZUR0Y2JpQWdJQ0FnSUNBZ0lDQnBiblJsY25aaGJDQTlJRFVnS2lCTllYUm9MbXh2WnloMGFHbHpMbkpsWTI5dWJtVmpkRUYwZEdWdGNIUnpJQ3NnTVNrN1hHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlFMWhkR2d1Y205MWJtUW9ZMnhoYlhBb2FXNTBaWEoyWVd3c0lHMXBiaXdnYldGNEtTQXFJREV3TURBcE8xeHVJQ0FnSUNBZ0lDQjlPMXh1WEc0Z0lDQWdJQ0FnSUVOdmJtNWxZM1JwYjI1TmIyNXBkRzl5TG5CeWIzUnZkSGx3WlM1eVpXTnZibTVsWTNSSlpsTjBZV3hsSUQwZ1puVnVZM1JwYjI0b0tTQjdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tIUm9hWE11WTI5dWJtVmpkR2x2YmtselUzUmhiR1VvS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnUVdOMGFXOXVRMkZpYkdVdWJHOW5LRndpUTI5dWJtVmpkR2x2YmsxdmJtbDBiM0lnWkdWMFpXTjBaV1FnYzNSaGJHVWdZMjl1Ym1WamRHbHZiaTRnY21WamIyNXVaV04wUVhSMFpXMXdkSE1nUFNCY0lpQXJJSFJvYVhNdWNtVmpiMjV1WldOMFFYUjBaVzF3ZEhNZ0t5QmNJaXdnY0c5c2JFbHVkR1Z5ZG1Gc0lEMGdYQ0lnS3lBb2RHaHBjeTVuWlhSUWIyeHNTVzUwWlhKMllXd29LU2tnS3lCY0lpQnRjeXdnZEdsdFpTQmthWE5qYjI1dVpXTjBaV1FnUFNCY0lpQXJJQ2h6WldOdmJtUnpVMmx1WTJVb2RHaHBjeTVrYVhOamIyNXVaV04wWldSQmRDa3BJQ3NnWENJZ2N5d2djM1JoYkdVZ2RHaHlaWE5vYjJ4a0lEMGdYQ0lnS3lCMGFHbHpMbU52Ym5OMGNuVmpkRzl5TG5OMFlXeGxWR2h5WlhOb2IyeGtJQ3NnWENJZ2Mxd2lLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11Y21WamIyNXVaV04wUVhSMFpXMXdkSE1yS3p0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoMGFHbHpMbVJwYzJOdmJtNWxZM1JsWkZKbFkyVnVkR3g1S0NrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUVGamRHbHZia05oWW14bExteHZaeWhjSWtOdmJtNWxZM1JwYjI1TmIyNXBkRzl5SUhOcmFYQndhVzVuSUhKbGIzQmxibWx1WnlCeVpXTmxiblFnWkdselkyOXVibVZqZEZ3aUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRUZqZEdsdmJrTmhZbXhsTG14dlp5aGNJa052Ym01bFkzUnBiMjVOYjI1cGRHOXlJSEpsYjNCbGJtbHVaMXdpS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyOXVibVZqZEdsdmJpNXlaVzl3Wlc0b0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSDA3WEc1Y2JpQWdJQ0FnSUNBZ1EyOXVibVZqZEdsdmJrMXZibWwwYjNJdWNISnZkRzkwZVhCbExtTnZibTVsWTNScGIyNUpjMU4wWVd4bElEMGdablZ1WTNScGIyNG9LU0I3WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJSEpsWmp0Y2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2MyVmpiMjVrYzFOcGJtTmxLQ2h5WldZZ1BTQjBhR2x6TG5CcGJtZGxaRUYwS1NBaFBTQnVkV3hzSUQ4Z2NtVm1JRG9nZEdocGN5NXpkR0Z5ZEdWa1FYUXBJRDRnZEdocGN5NWpiMjV6ZEhKMVkzUnZjaTV6ZEdGc1pWUm9jbVZ6YUc5c1pEdGNiaUFnSUNBZ0lDQWdmVHRjYmx4dUlDQWdJQ0FnSUNCRGIyNXVaV04wYVc5dVRXOXVhWFJ2Y2k1d2NtOTBiM1I1Y0dVdVpHbHpZMjl1Ym1WamRHVmtVbVZqWlc1MGJIa2dQU0JtZFc1amRHbHZiaWdwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVrYVhOamIyNXVaV04wWldSQmRDQW1KaUJ6WldOdmJtUnpVMmx1WTJVb2RHaHBjeTVrYVhOamIyNXVaV04wWldSQmRDa2dQQ0IwYUdsekxtTnZibk4wY25WamRHOXlMbk4wWVd4bFZHaHlaWE5vYjJ4a08xeHVJQ0FnSUNBZ0lDQjlPMXh1WEc0Z0lDQWdJQ0FnSUVOdmJtNWxZM1JwYjI1TmIyNXBkRzl5TG5CeWIzUnZkSGx3WlM1MmFYTnBZbWxzYVhSNVJHbGtRMmhoYm1kbElEMGdablZ1WTNScGIyNG9LU0I3WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLR1J2WTNWdFpXNTBMblpwYzJsaWFXeHBkSGxUZEdGMFpTQTlQVDBnWENKMmFYTnBZbXhsWENJcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ6WlhSVWFXMWxiM1YwS0NobWRXNWpkR2x2YmloZmRHaHBjeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdablZ1WTNScGIyNG9LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tGOTBhR2x6TG1OdmJtNWxZM1JwYjI1SmMxTjBZV3hsS0NrZ2ZId2dJVjkwYUdsekxtTnZibTVsWTNScGIyNHVhWE5QY0dWdUtDa3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUVGamRHbHZia05oWW14bExteHZaeWhjSWtOdmJtNWxZM1JwYjI1TmIyNXBkRzl5SUhKbGIzQmxibWx1WnlCemRHRnNaU0JqYjI1dVpXTjBhVzl1SUc5dUlIWnBjMmxpYVd4cGRIbGphR0Z1WjJVdUlIWnBjMkpwYkdsMGVWTjBZWFJsSUQwZ1hDSWdLeUJrYjJOMWJXVnVkQzUyYVhOcFltbHNhWFI1VTNSaGRHVXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRjkwYUdsekxtTnZibTVsWTNScGIyNHVjbVZ2Y0dWdUtDazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjlPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZTa29kR2hwY3lrc0lESXdNQ2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlPMXh1WEc0Z0lDQWdJQ0FnSUc1dmR5QTlJR1oxYm1OMGFXOXVLQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCdVpYY2dSR0YwWlNncExtZGxkRlJwYldVb0tUdGNiaUFnSUNBZ0lDQWdmVHRjYmx4dUlDQWdJQ0FnSUNCelpXTnZibVJ6VTJsdVkyVWdQU0JtZFc1amRHbHZiaWgwYVcxbEtTQjdYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJQ2h1YjNjb0tTQXRJSFJwYldVcElDOGdNVEF3TUR0Y2JpQWdJQ0FnSUNBZ2ZUdGNibHh1SUNBZ0lDQWdJQ0JqYkdGdGNDQTlJR1oxYm1OMGFXOXVLRzUxYldKbGNpd2diV2x1TENCdFlYZ3BJSHRjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnVFdGMGFDNXRZWGdvYldsdUxDQk5ZWFJvTG0xcGJpaHRZWGdzSUc1MWJXSmxjaWtwTzF4dUlDQWdJQ0FnSUNCOU8xeHVYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQkRiMjV1WldOMGFXOXVUVzl1YVhSdmNqdGNibHh1SUNBZ0lDQWdmU2tvS1R0Y2JseHVJQ0FnSUgwcExtTmhiR3dvZEdocGN5azdYRzRnSUNBZ0tHWjFibU4wYVc5dUtDa2dlMXh1SUNBZ0lDQWdkbUZ5SUdrc0lHMWxjM05oWjJWZmRIbHdaWE1zSUhCeWIzUnZZMjlzY3l3Z2NtVm1MQ0J6ZFhCd2IzSjBaV1JRY205MGIyTnZiSE1zSUhWdWMzVndjRzl5ZEdWa1VISnZkRzlqYjJ3c1hHNGdJQ0FnSUNBZ0lITnNhV05sSUQwZ1cxMHVjMnhwWTJVc1hHNGdJQ0FnSUNBZ0lHSnBibVFnUFNCbWRXNWpkR2x2YmlobWJpd2diV1VwZXlCeVpYUjFjbTRnWm5WdVkzUnBiMjRvS1hzZ2NtVjBkWEp1SUdadUxtRndjR3g1S0cxbExDQmhjbWQxYldWdWRITXBPeUI5T3lCOUxGeHVJQ0FnSUNBZ0lDQnBibVJsZUU5bUlEMGdXMTB1YVc1a1pYaFBaaUI4ZkNCbWRXNWpkR2x2YmlocGRHVnRLU0I3SUdadmNpQW9kbUZ5SUdrZ1BTQXdMQ0JzSUQwZ2RHaHBjeTVzWlc1bmRHZzdJR2tnUENCc095QnBLeXNwSUhzZ2FXWWdLR2tnYVc0Z2RHaHBjeUFtSmlCMGFHbHpXMmxkSUQwOVBTQnBkR1Z0S1NCeVpYUjFjbTRnYVRzZ2ZTQnlaWFIxY200Z0xURTdJSDA3WEc1Y2JpQWdJQ0FnSUhKbFppQTlJRUZqZEdsdmJrTmhZbXhsTGtsT1ZFVlNUa0ZNTENCdFpYTnpZV2RsWDNSNWNHVnpJRDBnY21WbUxtMWxjM05oWjJWZmRIbHdaWE1zSUhCeWIzUnZZMjlzY3lBOUlISmxaaTV3Y205MGIyTnZiSE03WEc1Y2JpQWdJQ0FnSUhOMWNIQnZjblJsWkZCeWIzUnZZMjlzY3lBOUlESWdQRDBnY0hKdmRHOWpiMnh6TG14bGJtZDBhQ0EvSUhOc2FXTmxMbU5oYkd3b2NISnZkRzlqYjJ4ekxDQXdMQ0JwSUQwZ2NISnZkRzlqYjJ4ekxteGxibWQwYUNBdElERXBJRG9nS0drZ1BTQXdMQ0JiWFNrc0lIVnVjM1Z3Y0c5eWRHVmtVSEp2ZEc5amIyd2dQU0J3Y205MGIyTnZiSE5iYVNzclhUdGNibHh1SUNBZ0lDQWdRV04wYVc5dVEyRmliR1V1UTI5dWJtVmpkR2x2YmlBOUlDaG1kVzVqZEdsdmJpZ3BJSHRjYmlBZ0lDQWdJQ0FnUTI5dWJtVmpkR2x2Ymk1eVpXOXdaVzVFWld4aGVTQTlJRFV3TUR0Y2JseHVJQ0FnSUNBZ0lDQm1kVzVqZEdsdmJpQkRiMjV1WldOMGFXOXVLR052Ym5OMWJXVnlLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2RHaHBjeTVqYjI1emRXMWxjaUE5SUdOdmJuTjFiV1Z5TzF4dUlDQWdJQ0FnSUNBZ0lIUm9hWE11YjNCbGJpQTlJR0pwYm1Rb2RHaHBjeTV2Y0dWdUxDQjBhR2x6S1R0Y2JpQWdJQ0FnSUNBZ0lDQjBhR2x6TG5OMVluTmpjbWx3ZEdsdmJuTWdQU0IwYUdsekxtTnZibk4xYldWeUxuTjFZbk5qY21sd2RHbHZibk03WEc0Z0lDQWdJQ0FnSUNBZ2RHaHBjeTV0YjI1cGRHOXlJRDBnYm1WM0lFRmpkR2x2YmtOaFlteGxMa052Ym01bFkzUnBiMjVOYjI1cGRHOXlLSFJvYVhNcE8xeHVJQ0FnSUNBZ0lDQWdJSFJvYVhNdVpHbHpZMjl1Ym1WamRHVmtJRDBnZEhKMVpUdGNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUVOdmJtNWxZM1JwYjI0dWNISnZkRzkwZVhCbExuTmxibVFnUFNCbWRXNWpkR2x2Ymloa1lYUmhLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLSFJvYVhNdWFYTlBjR1Z1S0NrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkMlZpVTI5amEyVjBMbk5sYm1Rb1NsTlBUaTV6ZEhKcGJtZHBabmtvWkdGMFlTa3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSeWRXVTdYRzRnSUNBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMDdYRzVjYmlBZ0lDQWdJQ0FnUTI5dWJtVmpkR2x2Ymk1d2NtOTBiM1I1Y0dVdWIzQmxiaUE5SUdaMWJtTjBhVzl1S0NrZ2UxeHVJQ0FnSUNBZ0lDQWdJR2xtSUNoMGFHbHpMbWx6UVdOMGFYWmxLQ2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJRUZqZEdsdmJrTmhZbXhsTG14dlp5aGNJa0YwZEdWdGNIUmxaQ0IwYnlCdmNHVnVJRmRsWWxOdlkydGxkQ3dnWW5WMElHVjRhWE4wYVc1bklITnZZMnRsZENCcGN5QmNJaUFySUNoMGFHbHpMbWRsZEZOMFlYUmxLQ2twS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnUVdOMGFXOXVRMkZpYkdVdWJHOW5LRndpVDNCbGJtbHVaeUJYWldKVGIyTnJaWFFzSUdOMWNuSmxiblFnYzNSaGRHVWdhWE1nWENJZ0t5QW9kR2hwY3k1blpYUlRkR0YwWlNncEtTQXJJRndpTENCemRXSndjbTkwYjJOdmJITTZJRndpSUNzZ2NISnZkRzlqYjJ4ektUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaDBhR2x6TG5kbFlsTnZZMnRsZENBaFBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkVzVwYm5OMFlXeHNSWFpsYm5SSVlXNWtiR1Z5Y3lncE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1M1pXSlRiMk5yWlhRZ1BTQnVaWGNnUVdOMGFXOXVRMkZpYkdVdVYyVmlVMjlqYTJWMEtIUm9hWE11WTI5dWMzVnRaWEl1ZFhKc0xDQndjbTkwYjJOdmJITXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTVwYm5OMFlXeHNSWFpsYm5SSVlXNWtiR1Z5Y3lncE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NXRiMjVwZEc5eUxuTjBZWEowS0NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSDA3WEc1Y2JpQWdJQ0FnSUNBZ1EyOXVibVZqZEdsdmJpNXdjbTkwYjNSNWNHVXVZMnh2YzJVZ1BTQm1kVzVqZEdsdmJpaGhjbWNwSUh0Y2JpQWdJQ0FnSUNBZ0lDQjJZWElnWVd4c2IzZFNaV052Ym01bFkzUXNJSEpsWmpFN1hHNGdJQ0FnSUNBZ0lDQWdZV3hzYjNkU1pXTnZibTVsWTNRZ1BTQW9ZWEpuSUNFOUlHNTFiR3dnUHlCaGNtY2dPaUI3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmhiR3h2ZDFKbFkyOXVibVZqZERvZ2RISjFaVnh1SUNBZ0lDQWdJQ0FnSUgwcExtRnNiRzkzVW1WamIyNXVaV04wTzF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2doWVd4c2IzZFNaV052Ym01bFkzUXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11Ylc5dWFYUnZjaTV6ZEc5d0tDazdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2gwYUdsekxtbHpRV04wYVhabEtDa3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlBb2NtVm1NU0E5SUhSb2FYTXVkMlZpVTI5amEyVjBLU0FoUFNCdWRXeHNJRDhnY21WbU1TNWpiRzl6WlNncElEb2dkbTlwWkNBd08xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlR0Y2JseHVJQ0FnSUNBZ0lDQkRiMjV1WldOMGFXOXVMbkJ5YjNSdmRIbHdaUzV5Wlc5d1pXNGdQU0JtZFc1amRHbHZiaWdwSUh0Y2JpQWdJQ0FnSUNBZ0lDQjJZWElnWlhKeWIzSTdYRzRnSUNBZ0lDQWdJQ0FnUVdOMGFXOXVRMkZpYkdVdWJHOW5LRndpVW1WdmNHVnVhVzVuSUZkbFlsTnZZMnRsZEN3Z1kzVnljbVZ1ZENCemRHRjBaU0JwY3lCY0lpQXJJQ2gwYUdsekxtZGxkRk4wWVhSbEtDa3BLVHRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9kR2hwY3k1cGMwRmpkR2wyWlNncEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCMGNua2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYkc5elpTZ3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZTQmpZWFJqYUNBb1pYSnliM0l4S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdWeWNtOXlJRDBnWlhKeWIzSXhPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1FXTjBhVzl1UTJGaWJHVXViRzluS0Z3aVJtRnBiR1ZrSUhSdklISmxiM0JsYmlCWFpXSlRiMk5yWlhSY0lpd2daWEp5YjNJcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlNCbWFXNWhiR3g1SUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUVdOMGFXOXVRMkZpYkdVdWJHOW5LRndpVW1WdmNHVnVhVzVuSUZkbFlsTnZZMnRsZENCcGJpQmNJaUFySUhSb2FYTXVZMjl1YzNSeWRXTjBiM0l1Y21WdmNHVnVSR1ZzWVhrZ0t5QmNJbTF6WENJcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCelpYUlVhVzFsYjNWMEtIUm9hWE11YjNCbGJpd2dkR2hwY3k1amIyNXpkSEoxWTNSdmNpNXlaVzl3Wlc1RVpXeGhlU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbTl3Wlc0b0tUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUgwN1hHNWNiaUFnSUNBZ0lDQWdRMjl1Ym1WamRHbHZiaTV3Y205MGIzUjVjR1V1WjJWMFVISnZkRzlqYjJ3Z1BTQm1kVzVqZEdsdmJpZ3BJSHRjYmlBZ0lDQWdJQ0FnSUNCMllYSWdjbVZtTVR0Y2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z0tISmxaakVnUFNCMGFHbHpMbmRsWWxOdlkydGxkQ2tnSVQwZ2JuVnNiQ0EvSUhKbFpqRXVjSEp2ZEc5amIyd2dPaUIyYjJsa0lEQTdYRzRnSUNBZ0lDQWdJSDA3WEc1Y2JpQWdJQ0FnSUNBZ1EyOXVibVZqZEdsdmJpNXdjbTkwYjNSNWNHVXVhWE5QY0dWdUlEMGdablZ1WTNScGIyNG9LU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhWE5UZEdGMFpTaGNJbTl3Wlc1Y0lpazdYRzRnSUNBZ0lDQWdJSDA3WEc1Y2JpQWdJQ0FnSUNBZ1EyOXVibVZqZEdsdmJpNXdjbTkwYjNSNWNHVXVhWE5CWTNScGRtVWdQU0JtZFc1amRHbHZiaWdwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVwYzFOMFlYUmxLRndpYjNCbGJsd2lMQ0JjSW1OdmJtNWxZM1JwYm1kY0lpazdYRzRnSUNBZ0lDQWdJSDA3WEc1Y2JpQWdJQ0FnSUNBZ1EyOXVibVZqZEdsdmJpNXdjbTkwYjNSNWNHVXVhWE5RY205MGIyTnZiRk4xY0hCdmNuUmxaQ0E5SUdaMWJtTjBhVzl1S0NrZ2UxeHVJQ0FnSUNBZ0lDQWdJSFpoY2lCeVpXWXhPMXh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ5WldZeElEMGdkR2hwY3k1blpYUlFjbTkwYjJOdmJDZ3BMQ0JwYm1SbGVFOW1MbU5oYkd3b2MzVndjRzl5ZEdWa1VISnZkRzlqYjJ4ekxDQnlaV1l4S1NBK1BTQXdPMXh1SUNBZ0lDQWdJQ0I5TzF4dVhHNGdJQ0FnSUNBZ0lFTnZibTVsWTNScGIyNHVjSEp2ZEc5MGVYQmxMbWx6VTNSaGRHVWdQU0JtZFc1amRHbHZiaWdwSUh0Y2JpQWdJQ0FnSUNBZ0lDQjJZWElnY21WbU1Td2djM1JoZEdWek8xeHVJQ0FnSUNBZ0lDQWdJSE4wWVhSbGN5QTlJREVnUEQwZ1lYSm5kVzFsYm5SekxteGxibWQwYUNBL0lITnNhV05sTG1OaGJHd29ZWEpuZFcxbGJuUnpMQ0F3S1NBNklGdGRPMXh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ5WldZeElEMGdkR2hwY3k1blpYUlRkR0YwWlNncExDQnBibVJsZUU5bUxtTmhiR3dvYzNSaGRHVnpMQ0J5WldZeEtTQStQU0F3TzF4dUlDQWdJQ0FnSUNCOU8xeHVYRzRnSUNBZ0lDQWdJRU52Ym01bFkzUnBiMjR1Y0hKdmRHOTBlWEJsTG1kbGRGTjBZWFJsSUQwZ1puVnVZM1JwYjI0b0tTQjdYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlISmxaakVzSUhOMFlYUmxMQ0IyWVd4MVpUdGNiaUFnSUNBZ0lDQWdJQ0JtYjNJZ0tITjBZWFJsSUdsdUlGZGxZbE52WTJ0bGRDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2RtRnNkV1VnUFNCWFpXSlRiMk5yWlhSYmMzUmhkR1ZkTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0haaGJIVmxJRDA5UFNBb0tISmxaakVnUFNCMGFHbHpMbmRsWWxOdlkydGxkQ2tnSVQwZ2JuVnNiQ0EvSUhKbFpqRXVjbVZoWkhsVGRHRjBaU0E2SUhadmFXUWdNQ2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSE4wWVhSbExuUnZURzkzWlhKRFlYTmxLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNBZ0lDQWdJQ0I5TzF4dVhHNGdJQ0FnSUNBZ0lFTnZibTVsWTNScGIyNHVjSEp2ZEc5MGVYQmxMbWx1YzNSaGJHeEZkbVZ1ZEVoaGJtUnNaWEp6SUQwZ1puVnVZM1JwYjI0b0tTQjdYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlHVjJaVzUwVG1GdFpTd2dhR0Z1Wkd4bGNqdGNiaUFnSUNBZ0lDQWdJQ0JtYjNJZ0tHVjJaVzUwVG1GdFpTQnBiaUIwYUdsekxtVjJaVzUwY3lrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYUdGdVpHeGxjaUE5SUhSb2FYTXVaWFpsYm5SelcyVjJaVzUwVG1GdFpWMHVZbWx1WkNoMGFHbHpLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZDJWaVUyOWphMlYwVzF3aWIyNWNJaUFySUdWMlpXNTBUbUZ0WlYwZ1BTQm9ZVzVrYkdWeU8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlR0Y2JseHVJQ0FnSUNBZ0lDQkRiMjV1WldOMGFXOXVMbkJ5YjNSdmRIbHdaUzUxYm1sdWMzUmhiR3hGZG1WdWRFaGhibVJzWlhKeklEMGdablZ1WTNScGIyNG9LU0I3WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJR1YyWlc1MFRtRnRaVHRjYmlBZ0lDQWdJQ0FnSUNCbWIzSWdLR1YyWlc1MFRtRnRaU0JwYmlCMGFHbHpMbVYyWlc1MGN5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUzWldKVGIyTnJaWFJiWENKdmJsd2lJQ3NnWlhabGJuUk9ZVzFsWFNBOUlHWjFibU4wYVc5dUtDa2dlMzA3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlPMXh1WEc0Z0lDQWdJQ0FnSUVOdmJtNWxZM1JwYjI0dWNISnZkRzkwZVhCbExtVjJaVzUwY3lBOUlIdGNiaUFnSUNBZ0lDQWdJQ0J0WlhOellXZGxPaUJtZFc1amRHbHZiaWhsZG1WdWRDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2RtRnlJR2xrWlc1MGFXWnBaWElzSUcxbGMzTmhaMlVzSUhKbFpqRXNJSFI1Y0dVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb0lYUm9hWE11YVhOUWNtOTBiMk52YkZOMWNIQnZjblJsWkNncEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxaakVnUFNCS1UwOU9MbkJoY25ObEtHVjJaVzUwTG1SaGRHRXBMQ0JwWkdWdWRHbG1hV1Z5SUQwZ2NtVm1NUzVwWkdWdWRHbG1hV1Z5TENCdFpYTnpZV2RsSUQwZ2NtVm1NUzV0WlhOellXZGxMQ0IwZVhCbElEMGdjbVZtTVM1MGVYQmxPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2MzZHBkR05vSUNoMGVYQmxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ2JXVnpjMkZuWlY5MGVYQmxjeTUzWld4amIyMWxPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWJXOXVhWFJ2Y2k1eVpXTnZjbVJEYjI1dVpXTjBLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWMzVmljMk55YVhCMGFXOXVjeTV5Wld4dllXUW9LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNCdFpYTnpZV2RsWDNSNWNHVnpMbkJwYm1jNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXViVzl1YVhSdmNpNXlaV052Y21SUWFXNW5LQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ2JXVnpjMkZuWlY5MGVYQmxjeTVqYjI1bWFYSnRZWFJwYjI0NlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjM1ZpYzJOeWFYQjBhVzl1Y3k1dWIzUnBabmtvYVdSbGJuUnBabWxsY2l3Z1hDSmpiMjV1WldOMFpXUmNJaWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ2JXVnpjMkZuWlY5MGVYQmxjeTV5WldwbFkzUnBiMjQ2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWMzVmljMk55YVhCMGFXOXVjeTV5WldwbFkzUW9hV1JsYm5ScFptbGxjaWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR1JsWm1GMWJIUTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11YzNWaWMyTnlhWEIwYVc5dWN5NXViM1JwWm5rb2FXUmxiblJwWm1sbGNpd2dYQ0p5WldObGFYWmxaRndpTENCdFpYTnpZV2RsS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNCOUxGeHVJQ0FnSUNBZ0lDQWdJRzl3Wlc0NklHWjFibU4wYVc5dUtDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1FXTjBhVzl1UTJGaWJHVXViRzluS0Z3aVYyVmlVMjlqYTJWMElHOXViM0JsYmlCbGRtVnVkQ3dnZFhOcGJtY2dKMXdpSUNzZ0tIUm9hWE11WjJWMFVISnZkRzlqYjJ3b0tTa2dLeUJjSWljZ2MzVmljSEp2ZEc5amIyeGNJaWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG1ScGMyTnZibTVsWTNSbFpDQTlJR1poYkhObE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tDRjBhR2x6TG1selVISnZkRzlqYjJ4VGRYQndiM0owWldRb0tTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQkJZM1JwYjI1RFlXSnNaUzVzYjJjb1hDSlFjbTkwYjJOdmJDQnBjeUIxYm5OMWNIQnZjblJsWkM0Z1UzUnZjSEJwYm1jZ2JXOXVhWFJ2Y2lCaGJtUWdaR2x6WTI5dWJtVmpkR2x1Wnk1Y0lpazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU5zYjNObEtIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmhiR3h2ZDFKbFkyOXVibVZqZERvZ1ptRnNjMlZjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdmU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnZlN4Y2JpQWdJQ0FnSUNBZ0lDQmpiRzl6WlRvZ1puVnVZM1JwYjI0b1pYWmxiblFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJRUZqZEdsdmJrTmhZbXhsTG14dlp5aGNJbGRsWWxOdlkydGxkQ0J2Ym1Oc2IzTmxJR1YyWlc1MFhDSXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSFJvYVhNdVpHbHpZMjl1Ym1WamRHVmtLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdVpHbHpZMjl1Ym1WamRHVmtJRDBnZEhKMVpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXViVzl1YVhSdmNpNXlaV052Y21SRWFYTmpiMjV1WldOMEtDazdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXpkV0p6WTNKcGNIUnBiMjV6TG01dmRHbG1lVUZzYkNoY0ltUnBjMk52Ym01bFkzUmxaRndpTENCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhkcGJHeEJkSFJsYlhCMFVtVmpiMjV1WldOME9pQjBhR2x6TG0xdmJtbDBiM0l1YVhOU2RXNXVhVzVuS0NsY2JpQWdJQ0FnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnSUNBZ0lIMHNYRzRnSUNBZ0lDQWdJQ0FnWlhKeWIzSTZJR1oxYm1OMGFXOXVLQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlFRmpkR2x2YmtOaFlteGxMbXh2WnloY0lsZGxZbE52WTJ0bGRDQnZibVZ5Y205eUlHVjJaVzUwWENJcE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlR0Y2JseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1EyOXVibVZqZEdsdmJqdGNibHh1SUNBZ0lDQWdmU2tvS1R0Y2JseHVJQ0FnSUgwcExtTmhiR3dvZEdocGN5azdYRzRnSUNBZ0tHWjFibU4wYVc5dUtDa2dlMXh1SUNBZ0lDQWdkbUZ5SUhOc2FXTmxJRDBnVzEwdWMyeHBZMlU3WEc1Y2JpQWdJQ0FnSUVGamRHbHZia05oWW14bExsTjFZbk5qY21sd2RHbHZibk1nUFNBb1puVnVZM1JwYjI0b0tTQjdYRzRnSUNBZ0lDQWdJR1oxYm1OMGFXOXVJRk4xWW5OamNtbHdkR2x2Ym5Nb1kyOXVjM1Z0WlhJcElIdGNiaUFnSUNBZ0lDQWdJQ0IwYUdsekxtTnZibk4xYldWeUlEMGdZMjl1YzNWdFpYSTdYRzRnSUNBZ0lDQWdJQ0FnZEdocGN5NXpkV0p6WTNKcGNIUnBiMjV6SUQwZ1cxMDdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCVGRXSnpZM0pwY0hScGIyNXpMbkJ5YjNSdmRIbHdaUzVqY21WaGRHVWdQU0JtZFc1amRHbHZiaWhqYUdGdWJtVnNUbUZ0WlN3Z2JXbDRhVzRwSUh0Y2JpQWdJQ0FnSUNBZ0lDQjJZWElnWTJoaGJtNWxiQ3dnY0dGeVlXMXpMQ0J6ZFdKelkzSnBjSFJwYjI0N1hHNGdJQ0FnSUNBZ0lDQWdZMmhoYm01bGJDQTlJR05vWVc1dVpXeE9ZVzFsTzF4dUlDQWdJQ0FnSUNBZ0lIQmhjbUZ0Y3lBOUlIUjVjR1Z2WmlCamFHRnVibVZzSUQwOVBTQmNJbTlpYW1WamRGd2lJRDhnWTJoaGJtNWxiQ0E2SUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR05vWVc1dVpXdzZJR05vWVc1dVpXeGNiaUFnSUNBZ0lDQWdJQ0I5TzF4dUlDQWdJQ0FnSUNBZ0lITjFZbk5qY21sd2RHbHZiaUE5SUc1bGR5QkJZM1JwYjI1RFlXSnNaUzVUZFdKelkzSnBjSFJwYjI0b2RHaHBjeTVqYjI1emRXMWxjaXdnY0dGeVlXMXpMQ0J0YVhocGJpazdYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdVlXUmtLSE4xWW5OamNtbHdkR2x2YmlrN1hHNGdJQ0FnSUNBZ0lIMDdYRzVjYmlBZ0lDQWdJQ0FnVTNWaWMyTnlhWEIwYVc5dWN5NXdjbTkwYjNSNWNHVXVZV1JrSUQwZ1puVnVZM1JwYjI0b2MzVmljMk55YVhCMGFXOXVLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2RHaHBjeTV6ZFdKelkzSnBjSFJwYjI1ekxuQjFjMmdvYzNWaWMyTnlhWEIwYVc5dUtUdGNiaUFnSUNBZ0lDQWdJQ0IwYUdsekxtTnZibk4xYldWeUxtVnVjM1Z5WlVGamRHbDJaVU52Ym01bFkzUnBiMjRvS1R0Y2JpQWdJQ0FnSUNBZ0lDQjBhR2x6TG01dmRHbG1lU2h6ZFdKelkzSnBjSFJwYjI0c0lGd2lhVzVwZEdsaGJHbDZaV1JjSWlrN1hHNGdJQ0FnSUNBZ0lDQWdkR2hwY3k1elpXNWtRMjl0YldGdVpDaHpkV0p6WTNKcGNIUnBiMjRzSUZ3aWMzVmljMk55YVdKbFhDSXBPMXh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ6ZFdKelkzSnBjSFJwYjI0N1hHNGdJQ0FnSUNBZ0lIMDdYRzVjYmlBZ0lDQWdJQ0FnVTNWaWMyTnlhWEIwYVc5dWN5NXdjbTkwYjNSNWNHVXVjbVZ0YjNabElEMGdablZ1WTNScGIyNG9jM1ZpYzJOeWFYQjBhVzl1S1NCN1hHNGdJQ0FnSUNBZ0lDQWdkR2hwY3k1bWIzSm5aWFFvYzNWaWMyTnlhWEIwYVc5dUtUdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb0lYUm9hWE11Wm1sdVpFRnNiQ2h6ZFdKelkzSnBjSFJwYjI0dWFXUmxiblJwWm1sbGNpa3ViR1Z1WjNSb0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbk5sYm1SRGIyMXRZVzVrS0hOMVluTmpjbWx3ZEdsdmJpd2dYQ0oxYm5OMVluTmpjbWxpWlZ3aUtUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhOMVluTmpjbWx3ZEdsdmJqdGNiaUFnSUNBZ0lDQWdmVHRjYmx4dUlDQWdJQ0FnSUNCVGRXSnpZM0pwY0hScGIyNXpMbkJ5YjNSdmRIbHdaUzV5WldwbFkzUWdQU0JtZFc1amRHbHZiaWhwWkdWdWRHbG1hV1Z5S1NCN1hHNGdJQ0FnSUNBZ0lDQWdkbUZ5SUdrc0lHeGxiaXdnY21WbUxDQnlaWE4xYkhSekxDQnpkV0p6WTNKcGNIUnBiMjQ3WEc0Z0lDQWdJQ0FnSUNBZ2NtVm1JRDBnZEdocGN5NW1hVzVrUVd4c0tHbGtaVzUwYVdacFpYSXBPMXh1SUNBZ0lDQWdJQ0FnSUhKbGMzVnNkSE1nUFNCYlhUdGNiaUFnSUNBZ0lDQWdJQ0JtYjNJZ0tHa2dQU0F3TENCc1pXNGdQU0J5WldZdWJHVnVaM1JvT3lCcElEd2diR1Z1T3lCcEt5c3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lITjFZbk5qY21sd2RHbHZiaUE5SUhKbFpsdHBYVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11Wm05eVoyVjBLSE4xWW5OamNtbHdkR2x2YmlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxtNXZkR2xtZVNoemRXSnpZM0pwY0hScGIyNHNJRndpY21WcVpXTjBaV1JjSWlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhOMWJIUnpMbkIxYzJnb2MzVmljMk55YVhCMGFXOXVLVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlISmxjM1ZzZEhNN1hHNGdJQ0FnSUNBZ0lIMDdYRzVjYmlBZ0lDQWdJQ0FnVTNWaWMyTnlhWEIwYVc5dWN5NXdjbTkwYjNSNWNHVXVabTl5WjJWMElEMGdablZ1WTNScGIyNG9jM1ZpYzJOeWFYQjBhVzl1S1NCN1hHNGdJQ0FnSUNBZ0lDQWdkbUZ5SUhNN1hHNGdJQ0FnSUNBZ0lDQWdkR2hwY3k1emRXSnpZM0pwY0hScGIyNXpJRDBnS0daMWJtTjBhVzl1S0NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlHa3NJR3hsYml3Z2NtVm1MQ0J5WlhOMWJIUnpPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVm1JRDBnZEdocGN5NXpkV0p6WTNKcGNIUnBiMjV6TzF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVZ6ZFd4MGN5QTlJRnRkTzF4dUlDQWdJQ0FnSUNBZ0lDQWdabTl5SUNocElEMGdNQ3dnYkdWdUlEMGdjbVZtTG14bGJtZDBhRHNnYVNBOElHeGxianNnYVNzcktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lITWdQU0J5WldaYmFWMDdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h6SUNFOVBTQnpkV0p6WTNKcGNIUnBiMjRwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYTjFiSFJ6TG5CMWMyZ29jeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ5WlhOMWJIUnpPMXh1SUNBZ0lDQWdJQ0FnSUgwcExtTmhiR3dvZEdocGN5azdYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSE4xWW5OamNtbHdkR2x2Ymp0Y2JpQWdJQ0FnSUNBZ2ZUdGNibHh1SUNBZ0lDQWdJQ0JUZFdKelkzSnBjSFJwYjI1ekxuQnliM1J2ZEhsd1pTNW1hVzVrUVd4c0lEMGdablZ1WTNScGIyNG9hV1JsYm5ScFptbGxjaWtnZTF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJwTENCc1pXNHNJSEpsWml3Z2NtVnpkV3gwY3l3Z2N6dGNiaUFnSUNBZ0lDQWdJQ0J5WldZZ1BTQjBhR2x6TG5OMVluTmpjbWx3ZEdsdmJuTTdYRzRnSUNBZ0lDQWdJQ0FnY21WemRXeDBjeUE5SUZ0ZE8xeHVJQ0FnSUNBZ0lDQWdJR1p2Y2lBb2FTQTlJREFzSUd4bGJpQTlJSEpsWmk1c1pXNW5kR2c3SUdrZ1BDQnNaVzQ3SUdrckt5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2N5QTlJSEpsWmx0cFhUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaHpMbWxrWlc1MGFXWnBaWElnUFQwOUlHbGtaVzUwYVdacFpYSXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVZ6ZFd4MGN5NXdkWE5vS0hNcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdjbVZ6ZFd4MGN6dGNiaUFnSUNBZ0lDQWdmVHRjYmx4dUlDQWdJQ0FnSUNCVGRXSnpZM0pwY0hScGIyNXpMbkJ5YjNSdmRIbHdaUzV5Wld4dllXUWdQU0JtZFc1amRHbHZiaWdwSUh0Y2JpQWdJQ0FnSUNBZ0lDQjJZWElnYVN3Z2JHVnVMQ0J5WldZc0lISmxjM1ZzZEhNc0lITjFZbk5qY21sd2RHbHZianRjYmlBZ0lDQWdJQ0FnSUNCeVpXWWdQU0IwYUdsekxuTjFZbk5qY21sd2RHbHZibk03WEc0Z0lDQWdJQ0FnSUNBZ2NtVnpkV3gwY3lBOUlGdGRPMXh1SUNBZ0lDQWdJQ0FnSUdadmNpQW9hU0E5SURBc0lHeGxiaUE5SUhKbFppNXNaVzVuZEdnN0lHa2dQQ0JzWlc0N0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdjM1ZpYzJOeWFYQjBhVzl1SUQwZ2NtVm1XMmxkTzF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVZ6ZFd4MGN5NXdkWE5vS0hSb2FYTXVjMlZ1WkVOdmJXMWhibVFvYzNWaWMyTnlhWEIwYVc5dUxDQmNJbk4xWW5OamNtbGlaVndpS1NrN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ5WlhOMWJIUnpPMXh1SUNBZ0lDQWdJQ0I5TzF4dVhHNGdJQ0FnSUNBZ0lGTjFZbk5qY21sd2RHbHZibk11Y0hKdmRHOTBlWEJsTG01dmRHbG1lVUZzYkNBOUlHWjFibU4wYVc5dUtDa2dlMXh1SUNBZ0lDQWdJQ0FnSUhaaGNpQmhjbWR6TENCallXeHNZbUZqYTA1aGJXVXNJR2tzSUd4bGJpd2djbVZtTENCeVpYTjFiSFJ6TENCemRXSnpZM0pwY0hScGIyNDdYRzRnSUNBZ0lDQWdJQ0FnWTJGc2JHSmhZMnRPWVcxbElEMGdZWEpuZFcxbGJuUnpXekJkTENCaGNtZHpJRDBnTWlBOFBTQmhjbWQxYldWdWRITXViR1Z1WjNSb0lEOGdjMnhwWTJVdVkyRnNiQ2hoY21kMWJXVnVkSE1zSURFcElEb2dXMTA3WEc0Z0lDQWdJQ0FnSUNBZ2NtVm1JRDBnZEdocGN5NXpkV0p6WTNKcGNIUnBiMjV6TzF4dUlDQWdJQ0FnSUNBZ0lISmxjM1ZzZEhNZ1BTQmJYVHRjYmlBZ0lDQWdJQ0FnSUNCbWIzSWdLR2tnUFNBd0xDQnNaVzRnUFNCeVpXWXViR1Z1WjNSb095QnBJRHdnYkdWdU95QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSE4xWW5OamNtbHdkR2x2YmlBOUlISmxabHRwWFR0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsYzNWc2RITXVjSFZ6YUNoMGFHbHpMbTV2ZEdsbWVTNWhjSEJzZVNoMGFHbHpMQ0JiYzNWaWMyTnlhWEIwYVc5dUxDQmpZV3hzWW1GamEwNWhiV1ZkTG1OdmJtTmhkQ2h6YkdsalpTNWpZV3hzS0dGeVozTXBLU2twTzF4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdjbVZ6ZFd4MGN6dGNiaUFnSUNBZ0lDQWdmVHRjYmx4dUlDQWdJQ0FnSUNCVGRXSnpZM0pwY0hScGIyNXpMbkJ5YjNSdmRIbHdaUzV1YjNScFpua2dQU0JtZFc1amRHbHZiaWdwSUh0Y2JpQWdJQ0FnSUNBZ0lDQjJZWElnWVhKbmN5d2dZMkZzYkdKaFkydE9ZVzFsTENCcExDQnNaVzRzSUhKbGMzVnNkSE1zSUhOMVluTmpjbWx3ZEdsdmJpd2djM1ZpYzJOeWFYQjBhVzl1Y3p0Y2JpQWdJQ0FnSUNBZ0lDQnpkV0p6WTNKcGNIUnBiMjRnUFNCaGNtZDFiV1Z1ZEhOYk1GMHNJR05oYkd4aVlXTnJUbUZ0WlNBOUlHRnlaM1Z0Wlc1MGMxc3hYU3dnWVhKbmN5QTlJRE1nUEQwZ1lYSm5kVzFsYm5SekxteGxibWQwYUNBL0lITnNhV05sTG1OaGJHd29ZWEpuZFcxbGJuUnpMQ0F5S1NBNklGdGRPMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaDBlWEJsYjJZZ2MzVmljMk55YVhCMGFXOXVJRDA5UFNCY0luTjBjbWx1WjF3aUtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCemRXSnpZM0pwY0hScGIyNXpJRDBnZEdocGN5NW1hVzVrUVd4c0tITjFZbk5qY21sd2RHbHZiaWs3WEc0Z0lDQWdJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSE4xWW5OamNtbHdkR2x2Ym5NZ1BTQmJjM1ZpYzJOeWFYQjBhVzl1WFR0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnY21WemRXeDBjeUE5SUZ0ZE8xeHVJQ0FnSUNBZ0lDQWdJR1p2Y2lBb2FTQTlJREFzSUd4bGJpQTlJSE4xWW5OamNtbHdkR2x2Ym5NdWJHVnVaM1JvT3lCcElEd2diR1Z1T3lCcEt5c3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lITjFZbk5qY21sd2RHbHZiaUE5SUhOMVluTmpjbWx3ZEdsdmJuTmJhVjA3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWE4xYkhSekxuQjFjMmdvZEhsd1pXOW1JSE4xWW5OamNtbHdkR2x2Ymx0allXeHNZbUZqYTA1aGJXVmRJRDA5UFNCY0ltWjFibU4wYVc5dVhDSWdQeUJ6ZFdKelkzSnBjSFJwYjI1YlkyRnNiR0poWTJ0T1lXMWxYUzVoY0hCc2VTaHpkV0p6WTNKcGNIUnBiMjRzSUdGeVozTXBJRG9nZG05cFpDQXdLVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlISmxjM1ZzZEhNN1hHNGdJQ0FnSUNBZ0lIMDdYRzVjYmlBZ0lDQWdJQ0FnVTNWaWMyTnlhWEIwYVc5dWN5NXdjbTkwYjNSNWNHVXVjMlZ1WkVOdmJXMWhibVFnUFNCbWRXNWpkR2x2YmloemRXSnpZM0pwY0hScGIyNHNJR052YlcxaGJtUXBJSHRjYmlBZ0lDQWdJQ0FnSUNCMllYSWdhV1JsYm5ScFptbGxjanRjYmlBZ0lDQWdJQ0FnSUNCcFpHVnVkR2xtYVdWeUlEMGdjM1ZpYzJOeWFYQjBhVzl1TG1sa1pXNTBhV1pwWlhJN1hHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11WTI5dWMzVnRaWEl1YzJWdVpDaDdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyMXRZVzVrT2lCamIyMXRZVzVrTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdhV1JsYm5ScFptbGxjam9nYVdSbGJuUnBabWxsY2x4dUlDQWdJQ0FnSUNBZ0lIMHBPMXh1SUNBZ0lDQWdJQ0I5TzF4dVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCVGRXSnpZM0pwY0hScGIyNXpPMXh1WEc0Z0lDQWdJQ0I5S1NncE8xeHVYRzRnSUNBZ2ZTa3VZMkZzYkNoMGFHbHpLVHRjYmlBZ0lDQW9ablZ1WTNScGIyNG9LU0I3WEc0Z0lDQWdJQ0JCWTNScGIyNURZV0pzWlM1VGRXSnpZM0pwY0hScGIyNGdQU0FvWm5WdVkzUnBiMjRvS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJsZUhSbGJtUTdYRzVjYmlBZ0lDQWdJQ0FnWm5WdVkzUnBiMjRnVTNWaWMyTnlhWEIwYVc5dUtHTnZibk4xYldWeUxDQndZWEpoYlhNc0lHMXBlR2x1S1NCN1hHNGdJQ0FnSUNBZ0lDQWdkR2hwY3k1amIyNXpkVzFsY2lBOUlHTnZibk4xYldWeU8xeHVJQ0FnSUNBZ0lDQWdJR2xtSUNod1lYSmhiWE1nUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdjR0Z5WVcxeklEMGdlMzA3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJSFJvYVhNdWFXUmxiblJwWm1sbGNpQTlJRXBUVDA0dWMzUnlhVzVuYVdaNUtIQmhjbUZ0Y3lrN1hHNGdJQ0FnSUNBZ0lDQWdaWGgwWlc1a0tIUm9hWE1zSUcxcGVHbHVLVHRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lGTjFZbk5qY21sd2RHbHZiaTV3Y205MGIzUjVjR1V1Y0dWeVptOXliU0E5SUdaMWJtTjBhVzl1S0dGamRHbHZiaXdnWkdGMFlTa2dlMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaGtZWFJoSUQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR1JoZEdFZ1BTQjdmVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdaR0YwWVM1aFkzUnBiMjRnUFNCaFkzUnBiMjQ3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjMlZ1WkNoa1lYUmhLVHRjYmlBZ0lDQWdJQ0FnZlR0Y2JseHVJQ0FnSUNBZ0lDQlRkV0p6WTNKcGNIUnBiMjR1Y0hKdmRHOTBlWEJsTG5ObGJtUWdQU0JtZFc1amRHbHZiaWhrWVhSaEtTQjdYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyOXVjM1Z0WlhJdWMyVnVaQ2g3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjF0WVc1a09pQmNJbTFsYzNOaFoyVmNJaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lHbGtaVzUwYVdacFpYSTZJSFJvYVhNdWFXUmxiblJwWm1sbGNpeGNiaUFnSUNBZ0lDQWdJQ0FnSUdSaGRHRTZJRXBUVDA0dWMzUnlhVzVuYVdaNUtHUmhkR0VwWEc0Z0lDQWdJQ0FnSUNBZ2ZTazdYRzRnSUNBZ0lDQWdJSDA3WEc1Y2JpQWdJQ0FnSUNBZ1UzVmljMk55YVhCMGFXOXVMbkJ5YjNSdmRIbHdaUzUxYm5OMVluTmpjbWxpWlNBOUlHWjFibU4wYVc5dUtDa2dlMXh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnZibk4xYldWeUxuTjFZbk5qY21sd2RHbHZibk11Y21WdGIzWmxLSFJvYVhNcE8xeHVJQ0FnSUNBZ0lDQjlPMXh1WEc0Z0lDQWdJQ0FnSUdWNGRHVnVaQ0E5SUdaMWJtTjBhVzl1S0c5aWFtVmpkQ3dnY0hKdmNHVnlkR2xsY3lrZ2UxeHVJQ0FnSUNBZ0lDQWdJSFpoY2lCclpYa3NJSFpoYkhWbE8xeHVJQ0FnSUNBZ0lDQWdJR2xtSUNod2NtOXdaWEowYVdWeklDRTlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdadmNpQW9hMlY1SUdsdUlIQnliM0JsY25ScFpYTXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdkbUZzZFdVZ1BTQndjbTl3WlhKMGFXVnpXMnRsZVYwN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUc5aWFtVmpkRnRyWlhsZElEMGdkbUZzZFdVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnZZbXBsWTNRN1hHNGdJQ0FnSUNBZ0lIMDdYRzVjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRk4xWW5OamNtbHdkR2x2Ymp0Y2JseHVJQ0FnSUNBZ2ZTa29LVHRjYmx4dUlDQWdJSDBwTG1OaGJHd29kR2hwY3lrN1hHNGdJQ0FnS0daMWJtTjBhVzl1S0NrZ2UxeHVJQ0FnSUNBZ1FXTjBhVzl1UTJGaWJHVXVRMjl1YzNWdFpYSWdQU0FvWm5WdVkzUnBiMjRvS1NCN1hHNGdJQ0FnSUNBZ0lHWjFibU4wYVc5dUlFTnZibk4xYldWeUtIVnliQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lIUm9hWE11ZFhKc0lEMGdkWEpzTzF4dUlDQWdJQ0FnSUNBZ0lIUm9hWE11YzNWaWMyTnlhWEIwYVc5dWN5QTlJRzVsZHlCQlkzUnBiMjVEWVdKc1pTNVRkV0p6WTNKcGNIUnBiMjV6S0hSb2FYTXBPMXh1SUNBZ0lDQWdJQ0FnSUhSb2FYTXVZMjl1Ym1WamRHbHZiaUE5SUc1bGR5QkJZM1JwYjI1RFlXSnNaUzVEYjI1dVpXTjBhVzl1S0hSb2FYTXBPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ1EyOXVjM1Z0WlhJdWNISnZkRzkwZVhCbExuTmxibVFnUFNCbWRXNWpkR2x2Ymloa1lYUmhLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMjl1Ym1WamRHbHZiaTV6Wlc1a0tHUmhkR0VwTzF4dUlDQWdJQ0FnSUNCOU8xeHVYRzRnSUNBZ0lDQWdJRU52Ym5OMWJXVnlMbkJ5YjNSdmRIbHdaUzVqYjI1dVpXTjBJRDBnWm5WdVkzUnBiMjRvS1NCN1hHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11WTI5dWJtVmpkR2x2Ymk1dmNHVnVLQ2s3WEc0Z0lDQWdJQ0FnSUgwN1hHNWNiaUFnSUNBZ0lDQWdRMjl1YzNWdFpYSXVjSEp2ZEc5MGVYQmxMbVJwYzJOdmJtNWxZM1FnUFNCbWRXNWpkR2x2YmlncElIdGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amIyNXVaV04wYVc5dUxtTnNiM05sS0h0Y2JpQWdJQ0FnSUNBZ0lDQWdJR0ZzYkc5M1VtVmpiMjV1WldOME9pQm1ZV3h6WlZ4dUlDQWdJQ0FnSUNBZ0lIMHBPMXh1SUNBZ0lDQWdJQ0I5TzF4dVhHNGdJQ0FnSUNBZ0lFTnZibk4xYldWeUxuQnliM1J2ZEhsd1pTNWxibk4xY21WQlkzUnBkbVZEYjI1dVpXTjBhVzl1SUQwZ1puVnVZM1JwYjI0b0tTQjdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tDRjBhR2x6TG1OdmJtNWxZM1JwYjI0dWFYTkJZM1JwZG1Vb0tTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMjl1Ym1WamRHbHZiaTV2Y0dWdUtDazdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOU8xeHVYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQkRiMjV6ZFcxbGNqdGNibHh1SUNBZ0lDQWdmU2tvS1R0Y2JseHVJQ0FnSUgwcExtTmhiR3dvZEdocGN5azdYRzRnSUgwcExtTmhiR3dvZEdocGN5azdYRzVjYmlBZ2FXWWdLSFI1Y0dWdlppQnRiMlIxYkdVZ1BUMDlJRndpYjJKcVpXTjBYQ0lnSmlZZ2JXOWtkV3hsTG1WNGNHOXlkSE1wSUh0Y2JpQWdJQ0J0YjJSMWJHVXVaWGh3YjNKMGN5QTlJRUZqZEdsdmJrTmhZbXhsTzF4dUlDQjlJR1ZzYzJVZ2FXWWdLSFI1Y0dWdlppQmtaV1pwYm1VZ1BUMDlJRndpWm5WdVkzUnBiMjVjSWlBbUppQmtaV1pwYm1VdVlXMWtLU0I3WEc0Z0lDQWdaR1ZtYVc1bEtFRmpkR2x2YmtOaFlteGxLVHRjYmlBZ2ZWeHVmU2t1WTJGc2JDaDBhR2x6S1R0Y2JpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlEwRTdRVUZEUVRzaUxDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2FjdGlvbmNhYmxlL2xpYi9hc3NldHMvY29tcGlsZWQvYWN0aW9uX2NhYmxlLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY2FjaGUtbG9hZGVyL2Rpc3QvY2pzLmpzPyEuL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4vbm9kZV9tb2R1bGVzL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/IS4vc3JjL2NvbXBvbmVudHMvQ29pbmdlY2tvQ29pblByaWNlTWFycXVlZVdpZGdldC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY2FjaGUtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTEyLTAhLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYiEuL25vZGVfbW9kdWxlcy9jYWNoZS1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMC0wIS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9zcmMvY29tcG9uZW50cy9Db2luZ2Vja29Db2luUHJpY2VNYXJxdWVlV2lkZ2V0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyYgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFleHBvcnRzIHByb3ZpZGVkOiBkZWZhdWx0Ki8oZnVuY3Rpb24obW9kdWxlLF9fd2VicGFja19leHBvcnRzX18sX193ZWJwYWNrX3JlcXVpcmVfXyl7InVzZSBzdHJpY3QiO2V2YWwoIl9fd2VicGFja19yZXF1aXJlX18ucihfX3dlYnBhY2tfZXhwb3J0c19fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBjb3JlX2pzX21vZHVsZXNfZXM2X2FycmF5X2ZpbmRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGNvcmUtanMvbW9kdWxlcy9lczYuYXJyYXkuZmluZCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuYXJyYXkuZmluZC5qc1wiKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBjb3JlX2pzX21vZHVsZXNfZXM2X2FycmF5X2ZpbmRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihjb3JlX2pzX21vZHVsZXNfZXM2X2FycmF5X2ZpbmRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgY29yZV9qc19tb2R1bGVzX2VzNl9udW1iZXJfcGFyc2VfZmxvYXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGNvcmUtanMvbW9kdWxlcy9lczYubnVtYmVyLnBhcnNlLWZsb2F0ICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5udW1iZXIucGFyc2UtZmxvYXQuanNcIik7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgY29yZV9qc19tb2R1bGVzX2VzNl9udW1iZXJfcGFyc2VfZmxvYXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihjb3JlX2pzX21vZHVsZXNfZXM2X251bWJlcl9wYXJzZV9mbG9hdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBjb3JlX2pzX21vZHVsZXNfd2ViX2RvbV9pdGVyYWJsZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgY29yZS1qcy9tb2R1bGVzL3dlYi5kb20uaXRlcmFibGUgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvd2ViLmRvbS5pdGVyYWJsZS5qc1wiKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBjb3JlX2pzX21vZHVsZXNfd2ViX2RvbV9pdGVyYWJsZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKGNvcmVfanNfbW9kdWxlc193ZWJfZG9tX2l0ZXJhYmxlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX18pO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGNvcmVfanNfbW9kdWxlc19lczZfcmVnZXhwX3NwbGl0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBjb3JlLWpzL21vZHVsZXMvZXM2LnJlZ2V4cC5zcGxpdCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYucmVnZXhwLnNwbGl0LmpzXCIpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGNvcmVfanNfbW9kdWxlc19lczZfcmVnZXhwX3NwbGl0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oY29yZV9qc19tb2R1bGVzX2VzNl9yZWdleHBfc3BsaXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgY29yZV9qc19tb2R1bGVzX2VzNl9udW1iZXJfY29uc3RydWN0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGNvcmUtanMvbW9kdWxlcy9lczYubnVtYmVyLmNvbnN0cnVjdG9yICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5udW1iZXIuY29uc3RydWN0b3IuanNcIik7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgY29yZV9qc19tb2R1bGVzX2VzNl9udW1iZXJfY29uc3RydWN0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihjb3JlX2pzX21vZHVsZXNfZXM2X251bWJlcl9jb25zdHJ1Y3Rvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciB2dWVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHZ1ZSAqLyBcIi4vbm9kZV9tb2R1bGVzL3Z1ZS9kaXN0L3Z1ZS5ydW50aW1lLmVzbS5qc1wiKTtcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfdXRpbF9jdXJyZW5jeV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi4vdXRpbC9jdXJyZW5jeSAqLyBcIi4vc3JjL3V0aWwvY3VycmVuY3kuanNcIik7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX3V0aWxfZG9tX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV83X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi91dGlsL2RvbSAqLyBcIi4vc3JjL3V0aWwvZG9tLmpzXCIpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9jb2luZ2Vja29fY3J5cHRvZm9ybWF0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBAY29pbmdlY2tvL2NyeXB0b2Zvcm1hdCAqLyBcIi4vbm9kZV9tb2R1bGVzL0Bjb2luZ2Vja28vY3J5cHRvZm9ybWF0L2xpYi9jcnlwdG9mb3JtYXQudW1kLmpzXCIpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9jb2luZ2Vja29fY3J5cHRvZm9ybWF0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oX2NvaW5nZWNrb19jcnlwdG9mb3JtYXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzhfXyk7XG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX3V0aWxfY2FibGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzlfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uL3V0aWwvY2FibGUgKi8gXCIuL3NyYy91dGlsL2NhYmxlLmpzXCIpO1xuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9taXhpbnNfcG9seWdsb3RMb2NhbGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEwX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL21peGlucy9wb2x5Z2xvdExvY2FsZSAqLyBcIi4vc3JjL2NvbXBvbmVudHMvbWl4aW5zL3BvbHlnbG90TG9jYWxlLmpzXCIpO1xuXG5cblxuXG5cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG5cblxuXG5cblxuXG4vKiBoYXJtb255IGRlZmF1bHQgZXhwb3J0ICovIF9fd2VicGFja19leHBvcnRzX19bXCJkZWZhdWx0XCJdID0gKHtcbiAgbmFtZTogXCJDb2luZ2Vja29Db2luUHJpY2VNYXJxdWVlV2lkZ2V0XCIsXG4gIG1peGluczogW09iamVjdChfbWl4aW5zX3BvbHlnbG90TG9jYWxlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMF9fW1wiZGVmYXVsdFwiXSkoKV0sXG4gIHByb3BzOiB7XG4gICAgY29pbklkczoge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgZGVmYXVsdDogXCJiaXRjb2luLGV0aGVyZXVtLGVvcyxyaXBwbGUsbGl0ZWNvaW4sdHJvbixuZW8sbW9uZXJvXCJcbiAgICB9LFxuICAgIGN1cnJlbmN5OiB7XG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBkZWZhdWx0OiBcInVzZFwiXG4gICAgfSxcbiAgICBsb2NhbGU6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6IFwiZW5cIlxuICAgIH0sXG4gICAgd2lkdGg6IHtcbiAgICAgIHR5cGU6IE51bWJlcixcbiAgICAgIGRlZmF1bHQ6IDBcbiAgICB9LFxuICAgIGJhY2tncm91bmRDb2xvcjoge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgZGVmYXVsdDogXCIjZmZmZmZmXCJcbiAgICB9LFxuICAgIGZvbnRDb2xvcjoge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgZGVmYXVsdDogXCIjNGM0YzRjXCJcbiAgICB9XG4gIH0sXG4gIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxvYWRpbmc6IHRydWUsXG4gICAgICBwb2x5Z2xvdDoge30sXG4gICAgICBhcGlEYXRhOiBbXSxcbiAgICAgIGNvbnRhaW5lckNsYXNzOiBcImxhcmdlXCIsXG4gICAgICBsb2FkaW5nUHJpY2U6IGZhbHNlLFxuICAgICAgcHJpY2luZ0hpZ2hsaWdodENsYXNzZXM6IHt9XG4gICAgfTtcbiAgfSxcbiAgY29tcHV0ZWQ6IHtcbiAgICBtYXJxdWVlQ2xhc3M6IGZ1bmN0aW9uIG1hcnF1ZWVDbGFzcygpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGFjdGl2ZTogdHJ1ZSxcbiAgICAgICAgXCJ0ZXh0LWRhbmdlclwiOiBmYWxzZVxuICAgICAgfTtcbiAgICB9LFxuICAgIGN1cnJlbmN5Q29kZTogZnVuY3Rpb24gY3VycmVuY3lDb2RlKCkge1xuICAgICAgcmV0dXJuIHRoaXMuY3VycmVuY3kudG9Mb3dlckNhc2UoKTtcbiAgICB9LFxuICAgIHNhbml0aXplZENvaW5JZHM6IGZ1bmN0aW9uIHNhbml0aXplZENvaW5JZHMoKSB7XG4gICAgICB2YXIgY29pbklkc0FyeSA9IHRoaXMuY29pbklkcy5zcGxpdChcIixcIikubWFwKGZ1bmN0aW9uIChjKSB7XG4gICAgICAgIHJldHVybiBjLnRyaW0oKTtcbiAgICAgIH0pOyAvLyBXZWVkIG91dCBkdXBsaWNhdGVzXG5cbiAgICAgIHZhciBjb2luSWRzID0gW107XG4gICAgICB2YXIgY29pbklkc01hcCA9IHt9O1xuICAgICAgY29pbklkc0FyeS5mb3JFYWNoKGZ1bmN0aW9uIChpZCkge1xuICAgICAgICBpZiAoIWNvaW5JZHNNYXBbaWRdKSB7XG4gICAgICAgICAgY29pbklkcy5wdXNoKGlkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvaW5JZHNNYXBbaWRdID0gaWQ7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBjb2luSWRzO1xuICAgIH0sXG4gICAgY29pbnM6IGZ1bmN0aW9uIGNvaW5zKCkge1xuICAgICAgaWYgKCEodGhpcy5hcGlEYXRhLmxlbmd0aCA+IDApKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cblxuICAgICAgdmFyIGNvaW5zTWFwID0ge307XG4gICAgICB0aGlzLmFwaURhdGEuZm9yRWFjaChmdW5jdGlvbiAoYykge1xuICAgICAgICBjb2luc01hcFtjLmlkXSA9IGM7XG4gICAgICB9KTsgLy8gUmV0dXJuIGNvaW5zIGluIG9yZGVyIG9mIGdpdmVuIGNvaW5JZHNcblxuICAgICAgcmV0dXJuIHRoaXMuc2FuaXRpemVkQ29pbklkcy5tYXAoZnVuY3Rpb24gKGlkKSB7XG4gICAgICAgIHJldHVybiBjb2luc01hcFtpZF07XG4gICAgICB9KTtcbiAgICB9LFxuICAgIHBvd2VyZWRCeUNvaW5HZWNrbzogZnVuY3Rpb24gcG93ZXJlZEJ5Q29pbkdlY2tvKCkge1xuICAgICAgcmV0dXJuIHRoaXMucG9seWdsb3QudChcImNvaW5fcHJpY2VfbWFycXVlZV93aWRnZXQucG93ZXJlZF9ieVwiLCB7XG4gICAgICAgIG5hbWU6IFwiQ29pbkdlY2tvXCIsXG4gICAgICAgIG5hbWVfc3RhcnQ6IFwiPGEgY2xhc3M9XFxcImNnLXByaW1hcnktY29sb3ItZGFyayBjZy1uby11bmRlcmxpbmVcXFwiIGhyZWY9XFxcImh0dHBzOi8vd3d3LmNvaW5nZWNrby5jb20vXCIuY29uY2F0KHRoaXMubG9jYWxlLCBcIj9cIikuY29uY2F0KHRoaXMudXRtUGFyYW1zKHRoaXMuc2FuaXRpemVkQ29pbklkcy5qb2luKCkpLCBcIlxcXCIgdGFyZ2V0PVxcXCJfYmxhbmtcXFwiPlwiKSxcbiAgICAgICAgbmFtZV9lbmQ6IFwiPC9hPlwiXG4gICAgICB9KTtcbiAgICB9LFxuICAgIGNvbnRhaW5lclN0eWxlOiBmdW5jdGlvbiBjb250YWluZXJTdHlsZSgpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHdpZHRoOiB0aGlzLndpZHRoID09PSAwID8gXCIxMDAlXCIgOiBcIlwiLmNvbmNhdCh0aGlzLndpZHRoLCBcInB4XCIpLFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoaXMuYmFja2dyb3VuZENvbG9yXG4gICAgICB9O1xuICAgIH1cbiAgfSxcbiAgbWV0aG9kczoge1xuICAgIGN1cnJlbmN5Q2hhbmdlZDogZnVuY3Rpb24gY3VycmVuY3lDaGFuZ2VkKGUpIHtcbiAgICAgIC8vIFRoaXMgaXMgYW4gdWdseSBzaWRlIG9mIFZ1ZS4gV2UgY2Fubm90IHNldCB0aGUgY3VycmVuY3kgcHJvcCBkaXJlY3RseSwgVnVlIHdpbGwgdGhyb3cgYSB3YXJuaW5nLlxuICAgICAgLy8gU28gd2UgaGVscCBvdXRzZWx2ZXMgd2l0aCBvdXIgcGFyZW50IGVsZW1lbnQgKHRoZSBjdXN0b20gZWxlbWVudCkuXG4gICAgICBPYmplY3QoX3V0aWxfZG9tX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV83X19bXCJnZXRIb3N0XCJdKSh0aGlzLiRlbCkuc2V0QXR0cmlidXRlKFwiY3VycmVuY3lcIiwgZS50YXJnZXQudmFsdWUudG9Mb3dlckNhc2UoKSk7XG4gICAgfSxcbiAgICBmb3JtYXRDdXJyZW5jeTogZnVuY3Rpb24gZm9ybWF0Q3VycmVuY3kodmFsKSB7XG4gICAgICByZXR1cm4gT2JqZWN0KF9jb2luZ2Vja29fY3J5cHRvZm9ybWF0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X19bXCJmb3JtYXRDdXJyZW5jeVwiXSkodmFsLCB0aGlzLmN1cnJlbmN5Q29kZSwgdGhpcy5sb2NhbGUpO1xuICAgIH0sXG4gICAgZm9ybWF0UGVyY2VudGFnZTogZnVuY3Rpb24gZm9ybWF0UGVyY2VudGFnZSh2YWwpIHtcbiAgICAgIHZhciBudW0gPSBOdW1iZXIucGFyc2VGbG9hdCh2YWwpO1xuICAgICAgcmV0dXJuIFwiXCIuY29uY2F0KG51bS50b0ZpeGVkKDIpLCBcIiVcIik7XG4gICAgfSxcbiAgICBmZXRjaERhdGE6IGZ1bmN0aW9uIGZldGNoRGF0YSgpIHtcbiAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICAgIHZhciBfcmVmID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7fSxcbiAgICAgICAgICBfcmVmJGNvaW5SZWxvYWQgPSBfcmVmLmNvaW5SZWxvYWQsXG4gICAgICAgICAgY29pblJlbG9hZCA9IF9yZWYkY29pblJlbG9hZCA9PT0gdm9pZCAwID8gZmFsc2UgOiBfcmVmJGNvaW5SZWxvYWQsXG4gICAgICAgICAgX3JlZiRjdXJyZW5jeVJlbG9hZCA9IF9yZWYuY3VycmVuY3lSZWxvYWQsXG4gICAgICAgICAgY3VycmVuY3lSZWxvYWQgPSBfcmVmJGN1cnJlbmN5UmVsb2FkID09PSB2b2lkIDAgPyBmYWxzZSA6IF9yZWYkY3VycmVuY3lSZWxvYWQ7XG5cbiAgICAgIGlmIChjb2luUmVsb2FkKSB7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICB9IGVsc2UgaWYgKGN1cnJlbmN5UmVsb2FkKSB7XG4gICAgICAgIHRoaXMubG9hZGluZ1ByaWNlID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgZmV0Y2goXCJodHRwczovL2FwaS5jb2luZ2Vja28uY29tL2FwaS92My9jb2lucy9tYXJrZXRzP3ZzX2N1cnJlbmN5PVwiLmNvbmNhdCh0aGlzLmN1cnJlbmN5Q29kZSwgXCImaWRzPVwiKS5jb25jYXQodGhpcy5zYW5pdGl6ZWRDb2luSWRzLmpvaW4oXCIsXCIpLCBcIiZsb2NhbGU9XCIpLmNvbmNhdCh0aGlzLmxvY2FsZSkpLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7XG4gICAgICAgIHJldHVybiByZXNwb25zZS5qc29uKCk7XG4gICAgICB9KS50aGVuKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgX3RoaXMuYXBpRGF0YSA9IGRhdGE7XG4gICAgICAgICAgX3RoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIF90aGlzLmxvYWRpbmdQcmljZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9LFxuICAgIGlzTmVnYXRpdmU6IGZ1bmN0aW9uIGlzTmVnYXRpdmUoc3RyKSB7XG4gICAgICByZXR1cm4gTnVtYmVyLnBhcnNlRmxvYXQoc3RyKSA8IDA7XG4gICAgfSxcbiAgICBsaW5rVG9Db2luT3ZlcnZpZXc6IGZ1bmN0aW9uIGxpbmtUb0NvaW5PdmVydmlldyhjb2luU2x1Zykge1xuICAgICAgcmV0dXJuIFwiaHR0cHM6Ly93d3cuY29pbmdlY2tvLmNvbS9yZXNvdXJjZV9yZWRpcmVjdD9sb2NhbGU9XCIuY29uY2F0KHRoaXMubG9jYWxlLCBcIiZyb3V0ZT1jb2lucy9cIikuY29uY2F0KGNvaW5TbHVnLCBcIiZcIikuY29uY2F0KHRoaXMudXRtUGFyYW1zKGNvaW5TbHVnKSk7XG4gICAgfSxcbiAgICB1dG1QYXJhbXM6IGZ1bmN0aW9uIHV0bVBhcmFtcyh1dG1Db250ZW50KSB7XG4gICAgICByZXR1cm4gXCJ1dG1fc291cmNlPVwiLmNvbmNhdCh3aW5kb3cubG9jYXRpb24uaG9zdCwgXCImdXRtX21lZGl1bT1jb2luX3ByaWNlX21hcnF1ZWVfd2lkZ2V0JnV0bV9jb250ZW50PVwiKS5jb25jYXQodXRtQ29udGVudCk7XG4gICAgfSxcbiAgICBsaXN0ZW5Gb3JQcmljZUNoYW5nZXM6IGZ1bmN0aW9uIGxpc3RlbkZvclByaWNlQ2hhbmdlcygpIHtcbiAgICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgICBpZiAodGhpcy5jb2luRGF0YUxpc3RlbmVyKSB7XG4gICAgICAgIHRoaXMuY29pbkRhdGFMaXN0ZW5lci51bnN1YnNjcmliZSgpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmNvaW5EYXRhTGlzdGVuZXIgPSBPYmplY3QoX3V0aWxfY2FibGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzlfX1tcImNvaW5EYXRhTGlzdGVuZXJcIl0pKHRoaXMuc2FuaXRpemVkQ29pbklkcywgZnVuY3Rpb24gKGRhdGEpIHtcbiAgICAgICAgdmFyIG9iaiA9IF90aGlzMi5hcGlEYXRhLmZpbmQoZnVuY3Rpb24gKG9iaikge1xuICAgICAgICAgIHJldHVybiBvYmouaWQgPT09IGRhdGEuYztcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKG9iaikge1xuICAgICAgICAgIHZhciBwcmV2aW91c1ByaWNlID0gb2JqLmN1cnJlbnRfcHJpY2U7XG4gICAgICAgICAgdmFyIGN1cnJlbnRQcmljZSA9IGRhdGEucFtfdGhpczIuY3VycmVuY3lDb2RlXTsgLy8gT25seSBoaWdobGlnaHQgaWYgdGhlIERJU1BMQVlFRCBwcmljZSBBQ1RVQUxMWSBDSEFOR0VEXG5cbiAgICAgICAgICBpZiAoX3RoaXMyLmZvcm1hdEN1cnJlbmN5KHByZXZpb3VzUHJpY2UpICE9PSBfdGhpczIuZm9ybWF0Q3VycmVuY3koY3VycmVudFByaWNlKSkge1xuICAgICAgICAgICAgaWYgKHBhcnNlRmxvYXQocHJldmlvdXNQcmljZSkgPD0gcGFyc2VGbG9hdChjdXJyZW50UHJpY2UpKSB7XG4gICAgICAgICAgICAgIF90aGlzMi5oaWdobGlnaHRQcmljaW5nKG9iai5pZCwgXCJjZy1wcmltYXJ5LWNvbG9yXCIpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgX3RoaXMyLmhpZ2hsaWdodFByaWNpbmcob2JqLmlkLCBcImNnLXJlZC1jb2xvclwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBvYmouY3VycmVudF9wcmljZSA9IGRhdGEucFtfdGhpczIuY3VycmVuY3lDb2RlXTtcbiAgICAgICAgICBvYmoucHJpY2VfY2hhbmdlX3BlcmNlbnRhZ2VfMjRoID0gZGF0YS5lW190aGlzMi5jdXJyZW5jeUNvZGVdO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9LFxuICAgIGhpZ2hsaWdodFByaWNpbmc6IGZ1bmN0aW9uIGhpZ2hsaWdodFByaWNpbmcoaWQsIGNscykge1xuICAgICAgdmFyIF90aGlzMyA9IHRoaXM7XG5cbiAgICAgIHZ1ZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fW1wiZGVmYXVsdFwiXS5zZXQodGhpcy5wcmljaW5nSGlnaGxpZ2h0Q2xhc3NlcywgaWQsIGNscyk7XG4gICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdnVlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X19bXCJkZWZhdWx0XCJdLnNldChfdGhpczMucHJpY2luZ0hpZ2hsaWdodENsYXNzZXMsIGlkLCBudWxsKTtcbiAgICAgIH0sIDEwMDApO1xuICAgIH0sXG4gICAgc3VwcG9ydGVkQ3VycmVuY2llczogX3V0aWxfY3VycmVuY3lfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzZfX1tcInN1cHBvcnRlZEN1cnJlbmNpZXNcIl1cbiAgfSxcbiAgd2F0Y2g6IHtcbiAgICBjb2luSWRzOiBmdW5jdGlvbiBjb2luSWRzKCkge1xuICAgICAgdGhpcy5mZXRjaERhdGEoe1xuICAgICAgICBjb2luUmVsb2FkOiB0cnVlXG4gICAgICB9KTtcbiAgICAgIHRoaXMubGlzdGVuRm9yUHJpY2VDaGFuZ2VzKCk7XG4gICAgICB0aGlzLnByaWNpbmdIaWdobGlnaHRDbGFzc2VzID0ge307XG4gICAgfSxcbiAgICBjdXJyZW5jeTogZnVuY3Rpb24gY3VycmVuY3koKSB7XG4gICAgICB0aGlzLmZldGNoRGF0YSh7XG4gICAgICAgIGN1cnJlbmN5UmVsb2FkOiB0cnVlXG4gICAgICB9KTtcbiAgICB9LFxuICAgIGxvY2FsZTogZnVuY3Rpb24gbG9jYWxlKCkge1xuICAgICAgdGhpcy5mZXRjaERhdGEoKTtcbiAgICB9XG4gIH0sXG4gIGNyZWF0ZWQ6IGZ1bmN0aW9uIGNyZWF0ZWQoKSB7XG4gICAgdGhpcy5mZXRjaERhdGEoKTtcbiAgICB0aGlzLmxpc3RlbkZvclByaWNlQ2hhbmdlcygpO1xuICB9LFxuICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkge30sXG4gIGRlc3Ryb3llZDogZnVuY3Rpb24gZGVzdHJveWVkKCkge1xuICAgIGlmICh0aGlzLmNvaW5EYXRhTGlzdGVuZXIpIHtcbiAgICAgIHRoaXMuY29pbkRhdGFMaXN0ZW5lci51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxufSk7Ly8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyRmphR1V0Ykc5aFpHVnlMMlJwYzNRdlkycHpMbXB6UHlFdUwyNXZaR1ZmYlc5a2RXeGxjeTlpWVdKbGJDMXNiMkZrWlhJdmJHbGlMMmx1WkdWNExtcHpJUzR2Ym05a1pWOXRiMlIxYkdWekwyTmhZMmhsTFd4dllXUmxjaTlrYVhOMEwyTnFjeTVxY3o4aExpOXViMlJsWDIxdlpIVnNaWE12ZG5WbExXeHZZV1JsY2k5c2FXSXZhVzVrWlhndWFuTS9JUzR2YzNKakwyTnZiWEJ2Ym1WdWRITXZRMjlwYm1kbFkydHZRMjlwYmxCeWFXTmxUV0Z5Y1hWbFpWZHBaR2RsZEM1MmRXVS9kblZsSm5SNWNHVTljMk55YVhCMEpteGhibWM5YW5NbUxtcHpJaXdpYzI5MWNtTmxjeUk2V3lKM1pXSndZV05yT2k4dkwwTnZhVzVuWldOcmIwTnZhVzVRY21salpVMWhjbkYxWldWWGFXUm5aWFF1ZG5WbFAyWm1NekFpWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaVBIUmxiWEJzWVhSbFBseHVJQ0E4WkdsMklHTnNZWE56UFZ3aVkyY3RZMjl1ZEdGcGJtVnlYQ0lnT21SaGRHRXRiRzloWkdsdVp6MWNJbXh2WVdScGJtZGNJaUE2YzNSNWJHVTlYQ0pqYjI1MFlXbHVaWEpUZEhsc1pWd2lJRHBqYkdGemN6MWNJbU52Ym5SaGFXNWxja05zWVhOelhDSStYRzRnSUNBZ1BHUnBkaUJqYkdGemN6MWNJbU5uTFhBdE15QmpaeTFpWVhObFhDSWdkaTFwWmoxY0lteHZZV1JwYm1kY0lqNU1iMkZrYVc1bklIZHBaR2RsZEM0dUxqd3ZaR2wyUGx4dUlDQWdJRHhrYVhZZ1kyeGhjM005WENKalp5MTNhV1JuWlhSY0lpQjJMV1ZzYzJVK1hHNGdJQ0FnSUNBOFpHbDJJR05zWVhOelBWd2lZMmN0YldGeWNYVmxaVndpSURwemRIbHNaVDFjSW5zZ1ltRmphMmR5YjNWdVpFTnZiRzl5T2lCaVlXTnJaM0p2ZFc1a1EyOXNiM0lnZlZ3aVBseHVJQ0FnSUNBZ0lDQThjM0JoYmx4dUlDQWdJQ0FnSUNBZ0lIWXRabTl5UFZ3aWJpQnBiaUF5WENKY2JpQWdJQ0FnSUNBZ0lDQTZhMlY1UFZ3aWJsd2lYRzRnSUNBZ0lDQWdJQ0FnT21Oc1lYTnpQVndpVzJCalp5MXRZWEp4ZFdWbExXTnZiblJsYm5RdEpIdHVmV0FzSUdOdmFXNXpMbXhsYm1kMGFDQStJREkxSUQ4Z0oyTm5MVzFoY25GMVpXVXRZMjl1ZEdWdWRDMXNiMjVuSnlBNklDY25YVndpWEc0Z0lDQWdJQ0FnSUQ1Y2JpQWdJQ0FnSUNBZ0lDQThaR2wySUdOc1lYTnpQVndpWTJjdFpteGxlQ0JqWnkxbWJHVjRMWEp2ZDF3aVBseHVJQ0FnSUNBZ0lDQWdJQ0FnUEdGY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnT21oeVpXWTlYQ0pzYVc1clZHOURiMmx1VDNabGNuWnBaWGNvWTI5cGJpNXBaQ2xjSWx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0IwWVhKblpYUTlYQ0pmWW14aGJtdGNJbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjJMV1p2Y2oxY0ltTnZhVzRnYVc0Z1kyOXBibk5jSWx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E2YTJWNVBWd2lZMjlwYmk1cFpGd2lYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnNZWE56UFZ3aVkyY3RjSGt0TWlCalp5MXdlQzB6SUdObkxXWnNaWGdnWTJjdFkyOXBiaTF5YjNjZ1kyY3RjMjFjSWx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E2YzNSNWJHVTlYQ0o3SUdOdmJHOXlPaUJtYjI1MFEyOXNiM0lnZlZ3aVhHNGdJQ0FnSUNBZ0lDQWdJQ0ErWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRHhrYVhZZ1kyeGhjM005WENKalp5MW1iR1Y0SUdObkxXbDBaVzF6TFdObGJuUmxjbHdpUGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4cGJXY2dZMnhoYzNNOVhDSmpaeTF0Y2kweVhDSWdPbk55WXoxY0ltTnZhVzR1YVcxaFoyVmNJaUF2UGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4emNHRnVQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhOd1lXNGdZMnhoYzNNOVhDSmpaeTFpYjJ4a1hDSStlM3NnWTI5cGJpNXVZVzFsSUgxOVBDOXpjR0Z1UGlBb2Uzc2dZMjlwYmk1emVXMWliMnd1ZEc5VmNIQmxja05oYzJVb0tTQjlmU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4TDNOd1lXNCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEd3ZaR2wyUGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0E4WkdsMlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RpMXBaajFjSWlGc2IyRmthVzVuVUhKcFkyVmNJbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR05zWVhOelBWd2lZMmN0Yld3dE1pQmpaeTFtYkdWNElHTm5MV3AxYzNScFpua3RaVzVrSUdObkxXbDBaVzF6TFdObGJuUmxjbHdpWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnT21Oc1lYTnpQVndpWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcGMwNWxaMkYwYVhabEtHTnZhVzR1Y0hKcFkyVmZZMmhoYm1kbFgzQmxjbU5sYm5SaFoyVmZNalJvS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQS9JQ2RqWnkxeVpXUXRZMjlzYjNJdFpHRnlheWRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ09pQW5ZMmN0Y0hKcGJXRnllUzFqYjJ4dmNpMWtZWEpySjF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUZ3aVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUQ1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFpHbDJQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhOd1lXNGdZMnhoYzNNOVhDSmpaeTFpYjJ4a1hDSWdPbU5zWVhOelBWd2ljSEpwWTJsdVowaHBaMmhzYVdkb2RFTnNZWE56WlhOYlkyOXBiaTVwWkYxY0lqNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZTNzZ1ptOXliV0YwUTNWeWNtVnVZM2tvWTI5cGJpNWpkWEp5Wlc1MFgzQnlhV05sS1NCOWZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQQzl6Y0dGdVBseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQSE53WVc0K0tIdDdJR1p2Y20xaGRGQmxjbU5sYm5SaFoyVW9ZMjlwYmk1d2NtbGpaVjlqYUdGdVoyVmZjR1Z5WTJWdWRHRm5aVjh5TkdncElIMTlLVHd2YzNCaGJqNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThMMlJwZGo1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFpHbDJYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYkdGemN6MWNJbU5uTFcxc0xUSmNJbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnT21Oc1lYTnpQVndpWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbHpUbVZuWVhScGRtVW9ZMjlwYmk1d2NtbGpaVjlqYUdGdVoyVmZjR1Z5WTJWdWRHRm5aVjh5TkdncElEOGdKMk5uTFdGeWNtOTNMV1J2ZDI0bklEb2dKMk5uTFdGeWNtOTNMWFZ3SjF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1hDSmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQStQQzlrYVhZK1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUR3dlpHbDJQbHh1SUNBZ0lDQWdJQ0FnSUNBZ1BDOWhQbHh1SUNBZ0lDQWdJQ0FnSUNBZ1BHUnBkaUJqYkdGemN6MWNJbU5uTFdac1pYZ2dZMmN0YVhSbGJYTXRZMlZ1ZEdWeVhDSStYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lEeGhJR05zWVhOelBWd2lZMmN0WW05c1pDQmpaeTF6YlNCalp5MXdlQzB6WENJZ2RpMW9kRzFzUFZ3aWNHOTNaWEpsWkVKNVEyOXBia2RsWTJ0dlhDSStQQzloUGx4dUlDQWdJQ0FnSUNBZ0lDQWdQQzlrYVhZK1hHNGdJQ0FnSUNBZ0lDQWdQQzlrYVhZK1hHNGdJQ0FnSUNBZ0lEd3ZjM0JoYmo1Y2JpQWdJQ0FnSUR3dlpHbDJQbHh1SUNBZ0lEd3ZaR2wyUGx4dUlDQThMMlJwZGo1Y2Jqd3ZkR1Z0Y0d4aGRHVStYRzVjYmp4elkzSnBjSFErWEc1cGJYQnZjblFnVm5WbElHWnliMjBnWENKMmRXVmNJanRjYm1sdGNHOXlkQ0I3SUhOMWNIQnZjblJsWkVOMWNuSmxibU5wWlhNZ2ZTQm1jbTl0SUZ3aUxpNHZkWFJwYkM5amRYSnlaVzVqZVZ3aU8xeHVhVzF3YjNKMElIc2daMlYwU0c5emRDQjlJR1p5YjIwZ1hDSXVMaTkxZEdsc0wyUnZiVndpTzF4dWFXMXdiM0owSUhzZ1ptOXliV0YwUTNWeWNtVnVZM2tnZlNCbWNtOXRJRndpUUdOdmFXNW5aV05yYnk5amNubHdkRzltYjNKdFlYUmNJanRjYm1sdGNHOXlkQ0I3SUdOdmFXNUVZWFJoVEdsemRHVnVaWElnZlNCbWNtOXRJRndpTGk0dmRYUnBiQzlqWVdKc1pWd2lPMXh1YVcxd2IzSjBJSEJ2YkhsbmJHOTBURzlqWVd4bFRXbDRhVzRnWm5KdmJTQmNJaTR2YldsNGFXNXpMM0J2YkhsbmJHOTBURzlqWVd4bFhDSTdYRzVjYm1WNGNHOXlkQ0JrWldaaGRXeDBJSHRjYmlBZ2JtRnRaVG9nWENKRGIybHVaMlZqYTI5RGIybHVVSEpwWTJWTllYSnhkV1ZsVjJsa1oyVjBYQ0lzWEc0Z0lHMXBlR2x1Y3pvZ1czQnZiSGxuYkc5MFRHOWpZV3hsVFdsNGFXNG9LVjBzWEc0Z0lIQnliM0J6T2lCN1hHNGdJQ0FnWTI5cGJrbGtjem9nZTF4dUlDQWdJQ0FnZEhsd1pUb2dVM1J5YVc1bkxGeHVJQ0FnSUNBZ1pHVm1ZWFZzZERvZ1hDSmlhWFJqYjJsdUxHVjBhR1Z5WlhWdExHVnZjeXh5YVhCd2JHVXNiR2wwWldOdmFXNHNkSEp2Yml4dVpXOHNiVzl1WlhKdlhDSmNiaUFnSUNCOUxGeHVJQ0FnSUdOMWNuSmxibU41T2lCN1hHNGdJQ0FnSUNCMGVYQmxPaUJUZEhKcGJtY3NYRzRnSUNBZ0lDQmtaV1poZFd4ME9pQmNJblZ6WkZ3aVhHNGdJQ0FnZlN4Y2JpQWdJQ0JzYjJOaGJHVTZJSHRjYmlBZ0lDQWdJSFI1Y0dVNklGTjBjbWx1Wnl4Y2JpQWdJQ0FnSUdSbFptRjFiSFE2SUZ3aVpXNWNJbHh1SUNBZ0lIMHNYRzRnSUNBZ2QybGtkR2c2SUh0Y2JpQWdJQ0FnSUhSNWNHVTZJRTUxYldKbGNpeGNiaUFnSUNBZ0lHUmxabUYxYkhRNklEQmNiaUFnSUNCOUxGeHVJQ0FnSUdKaFkydG5jbTkxYm1SRGIyeHZjam9nZTF4dUlDQWdJQ0FnZEhsd1pUb2dVM1J5YVc1bkxGeHVJQ0FnSUNBZ1pHVm1ZWFZzZERvZ1hDSWpabVptWm1abVhDSmNiaUFnSUNCOUxGeHVJQ0FnSUdadmJuUkRiMnh2Y2pvZ2UxeHVJQ0FnSUNBZ2RIbHdaVG9nVTNSeWFXNW5MRnh1SUNBZ0lDQWdaR1ZtWVhWc2REb2dYQ0lqTkdNMFl6UmpYQ0pjYmlBZ0lDQjlYRzRnSUgwc1hHNGdJR1JoZEdFNklHWjFibU4wYVc5dUtDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNCc2IyRmthVzVuT2lCMGNuVmxMRnh1SUNBZ0lDQWdjRzlzZVdkc2IzUTZJSHQ5TEZ4dUlDQWdJQ0FnWVhCcFJHRjBZVG9nVzEwc1hHNGdJQ0FnSUNCamIyNTBZV2x1WlhKRGJHRnpjem9nWENKc1lYSm5aVndpTEZ4dUlDQWdJQ0FnYkc5aFpHbHVaMUJ5YVdObE9pQm1ZV3h6WlN4Y2JpQWdJQ0FnSUhCeWFXTnBibWRJYVdkb2JHbG5hSFJEYkdGemMyVnpPaUI3ZlZ4dUlDQWdJSDA3WEc0Z0lIMHNYRzRnSUdOdmJYQjFkR1ZrT2lCN1hHNGdJQ0FnYldGeWNYVmxaVU5zWVhOek9pQm1kVzVqZEdsdmJpZ3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQWdJR0ZqZEdsMlpUb2dkSEoxWlN4Y2JpQWdJQ0FnSUNBZ1hDSjBaWGgwTFdSaGJtZGxjbHdpT2lCbVlXeHpaVnh1SUNBZ0lDQWdmVHRjYmlBZ0lDQjlMRnh1SUNBZ0lHTjFjbkpsYm1ONVEyOWtaVG9nWm5WdVkzUnBiMjRvS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NWpkWEp5Wlc1amVTNTBiMHh2ZDJWeVEyRnpaU2dwTzF4dUlDQWdJSDBzWEc0Z0lDQWdjMkZ1YVhScGVtVmtRMjlwYmtsa2N6b2dablZ1WTNScGIyNG9LU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQmpiMmx1U1dSelFYSjVJRDBnZEdocGN5NWpiMmx1U1dSekxuTndiR2wwS0Z3aUxGd2lLUzV0WVhBb1l5QTlQaUJqTG5SeWFXMG9LU2s3WEc1Y2JpQWdJQ0FnSUM4dklGZGxaV1FnYjNWMElHUjFjR3hwWTJGMFpYTmNiaUFnSUNBZ0lHTnZibk4wSUdOdmFXNUpaSE1nUFNCYlhUdGNiaUFnSUNBZ0lHTnZibk4wSUdOdmFXNUpaSE5OWVhBZ1BTQjdmVHRjYmlBZ0lDQWdJR052YVc1SlpITkJjbmt1Wm05eVJXRmphQ2hwWkNBOVBpQjdYRzRnSUNBZ0lDQWdJR2xtSUNnaFkyOXBia2xrYzAxaGNGdHBaRjBwSUh0Y2JpQWdJQ0FnSUNBZ0lDQmpiMmx1U1dSekxuQjFjMmdvYVdRcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR052YVc1SlpITk5ZWEJiYVdSZElEMGdhV1E3WEc0Z0lDQWdJQ0I5S1R0Y2JpQWdJQ0FnSUhKbGRIVnliaUJqYjJsdVNXUnpPMXh1SUNBZ0lIMHNYRzVjYmlBZ0lDQmpiMmx1Y3pvZ1puVnVZM1JwYjI0b0tTQjdYRzRnSUNBZ0lDQnBaaUFvSVNoMGFHbHpMbUZ3YVVSaGRHRXViR1Z1WjNSb0lENGdNQ2twSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUZ0ZE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ1kyOXVjM1FnWTI5cGJuTk5ZWEFnUFNCN2ZUdGNiaUFnSUNBZ0lIUm9hWE11WVhCcFJHRjBZUzVtYjNKRllXTm9LR01nUFQ0Z2UxeHVJQ0FnSUNBZ0lDQmpiMmx1YzAxaGNGdGpMbWxrWFNBOUlHTTdYRzRnSUNBZ0lDQjlLVHRjYmx4dUlDQWdJQ0FnTHk4Z1VtVjBkWEp1SUdOdmFXNXpJR2x1SUc5eVpHVnlJRzltSUdkcGRtVnVJR052YVc1SlpITmNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbk5oYm1sMGFYcGxaRU52YVc1SlpITXViV0Z3S0dsa0lEMCtJR052YVc1elRXRndXMmxrWFNrN1hHNGdJQ0FnZlN4Y2JpQWdJQ0J3YjNkbGNtVmtRbmxEYjJsdVIyVmphMjg2SUdaMWJtTjBhVzl1S0NrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjRzlzZVdkc2IzUXVkQ2hjSW1OdmFXNWZjSEpwWTJWZmJXRnljWFZsWlY5M2FXUm5aWFF1Y0c5M1pYSmxaRjlpZVZ3aUxDQjdYRzRnSUNBZ0lDQWdJRzVoYldVNklGd2lRMjlwYmtkbFkydHZYQ0lzWEc0Z0lDQWdJQ0FnSUc1aGJXVmZjM1JoY25RNklHQThZU0JqYkdGemN6MWNJbU5uTFhCeWFXMWhjbmt0WTI5c2IzSXRaR0Z5YXlCalp5MXVieTExYm1SbGNteHBibVZjSWlCb2NtVm1QVndpYUhSMGNITTZMeTkzZDNjdVkyOXBibWRsWTJ0dkxtTnZiUzhrZTF4dUlDQWdJQ0FnSUNBZ0lIUm9hWE11Ykc5allXeGxYRzRnSUNBZ0lDQWdJSDAvSkh0MGFHbHpMblYwYlZCaGNtRnRjeWgwYUdsekxuTmhibWwwYVhwbFpFTnZhVzVKWkhNdWFtOXBiaWdwS1gxY0lpQjBZWEpuWlhROVhDSmZZbXhoYm10Y0lqNWdMRnh1SUNBZ0lDQWdJQ0J1WVcxbFgyVnVaRG9nWENJOEwyRStYQ0pjYmlBZ0lDQWdJSDBwTzF4dUlDQWdJSDBzWEc0Z0lDQWdZMjl1ZEdGcGJtVnlVM1I1YkdVNklHWjFibU4wYVc5dUtDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdkMmxrZEdnNklIUm9hWE11ZDJsa2RHZ2dQVDA5SURBZ1B5QmNJakV3TUNWY0lpQTZJR0FrZTNSb2FYTXVkMmxrZEdoOWNIaGdMRnh1SUNBZ0lDQWdJQ0JpWVdOclozSnZkVzVrUTI5c2IzSTZJSFJvYVhNdVltRmphMmR5YjNWdVpFTnZiRzl5WEc0Z0lDQWdJQ0I5TzF4dUlDQWdJSDFjYmlBZ2ZTeGNiaUFnYldWMGFHOWtjem9nZTF4dUlDQWdJR04xY25KbGJtTjVRMmhoYm1kbFpEb2dablZ1WTNScGIyNG9aU2tnZTF4dUlDQWdJQ0FnTHk4Z1ZHaHBjeUJwY3lCaGJpQjFaMng1SUhOcFpHVWdiMllnVm5WbExpQlhaU0JqWVc1dWIzUWdjMlYwSUhSb1pTQmpkWEp5Wlc1amVTQndjbTl3SUdScGNtVmpkR3g1TENCV2RXVWdkMmxzYkNCMGFISnZkeUJoSUhkaGNtNXBibWN1WEc0Z0lDQWdJQ0F2THlCVGJ5QjNaU0JvWld4d0lHOTFkSE5sYkhabGN5QjNhWFJvSUc5MWNpQndZWEpsYm5RZ1pXeGxiV1Z1ZENBb2RHaGxJR04xYzNSdmJTQmxiR1Z0Wlc1MEtTNWNiaUFnSUNBZ0lHZGxkRWh2YzNRb2RHaHBjeTRrWld3cExuTmxkRUYwZEhKcFluVjBaU2hjSW1OMWNuSmxibU41WENJc0lHVXVkR0Z5WjJWMExuWmhiSFZsTG5SdlRHOTNaWEpEWVhObEtDa3BPMXh1SUNBZ0lIMHNYRzRnSUNBZ1ptOXliV0YwUTNWeWNtVnVZM2s2SUdaMWJtTjBhVzl1S0haaGJDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHWnZjbTFoZEVOMWNuSmxibU41S0haaGJDd2dkR2hwY3k1amRYSnlaVzVqZVVOdlpHVXNJSFJvYVhNdWJHOWpZV3hsS1R0Y2JpQWdJQ0I5TEZ4dUlDQWdJR1p2Y20xaGRGQmxjbU5sYm5SaFoyVTZJR1oxYm1OMGFXOXVLSFpoYkNrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnYm5WdElEMGdUblZ0WW1WeUxuQmhjbk5sUm14dllYUW9kbUZzS1R0Y2JpQWdJQ0FnSUhKbGRIVnliaUJnSkh0dWRXMHVkRzlHYVhobFpDZ3lLWDBsWUR0Y2JpQWdJQ0I5TEZ4dUlDQWdJR1psZEdOb1JHRjBZVG9nWm5WdVkzUnBiMjRvZXlCamIybHVVbVZzYjJGa0lEMGdabUZzYzJVc0lHTjFjbkpsYm1ONVVtVnNiMkZrSUQwZ1ptRnNjMlVnZlNBOUlIdDlLU0I3WEc0Z0lDQWdJQ0JwWmlBb1kyOXBibEpsYkc5aFpDa2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxteHZZV1JwYm1jZ1BTQjBjblZsTzF4dUlDQWdJQ0FnZlNCbGJITmxJR2xtSUNoamRYSnlaVzVqZVZKbGJHOWhaQ2tnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbXh2WVdScGJtZFFjbWxqWlNBOUlIUnlkV1U3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdabGRHTm9LRnh1SUNBZ0lDQWdJQ0JnYUhSMGNITTZMeTloY0drdVkyOXBibWRsWTJ0dkxtTnZiUzloY0drdmRqTXZZMjlwYm5NdmJXRnlhMlYwY3o5MmMxOWpkWEp5Wlc1amVUMGtlMXh1SUNBZ0lDQWdJQ0FnSUhSb2FYTXVZM1Z5Y21WdVkzbERiMlJsWEc0Z0lDQWdJQ0FnSUgwbWFXUnpQU1I3ZEdocGN5NXpZVzVwZEdsNlpXUkRiMmx1U1dSekxtcHZhVzRvWENJc1hDSXBmU1pzYjJOaGJHVTlKSHQwYUdsekxteHZZMkZzWlgxZ1hHNGdJQ0FnSUNBcFhHNGdJQ0FnSUNBZ0lDNTBhR1Z1S0hKbGMzQnZibk5sSUQwK0lISmxjM0J2Ym5ObExtcHpiMjRvS1NsY2JpQWdJQ0FnSUNBZ0xuUm9aVzRvWkdGMFlTQTlQaUI3WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLR1JoZEdFcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVZWEJwUkdGMFlTQTlJR1JoZEdFN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxteHZZV1JwYm1jZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWJHOWhaR2x1WjFCeWFXTmxJRDBnWm1Gc2MyVTdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOUtUdGNiaUFnSUNCOUxGeHVJQ0FnSUdselRtVm5ZWFJwZG1VNklHWjFibU4wYVc5dUtITjBjaWtnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRTUxYldKbGNpNXdZWEp6WlVac2IyRjBLSE4wY2lrZ1BDQXdPMXh1SUNBZ0lIMHNYRzRnSUNBZ2JHbHVhMVJ2UTI5cGJrOTJaWEoyYVdWM09pQm1kVzVqZEdsdmJpaGpiMmx1VTJ4MVp5a2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHQm9kSFJ3Y3pvdkwzZDNkeTVqYjJsdVoyVmphMjh1WTI5dEwzSmxjMjkxY21ObFgzSmxaR2x5WldOMFAyeHZZMkZzWlQwa2UxeHVJQ0FnSUNBZ0lDQjBhR2x6TG14dlkyRnNaVnh1SUNBZ0lDQWdmU1p5YjNWMFpUMWpiMmx1Y3k4a2UyTnZhVzVUYkhWbmZTWWtlM1JvYVhNdWRYUnRVR0Z5WVcxektHTnZhVzVUYkhWbktYMWdPMXh1SUNBZ0lIMHNYRzRnSUNBZ2RYUnRVR0Z5WVcxek9pQm1kVzVqZEdsdmJpaDFkRzFEYjI1MFpXNTBLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdZSFYwYlY5emIzVnlZMlU5Skh0Y2JpQWdJQ0FnSUNBZ2QybHVaRzkzTG14dlkyRjBhVzl1TG1odmMzUmNiaUFnSUNBZ0lIMG1kWFJ0WDIxbFpHbDFiVDFqYjJsdVgzQnlhV05sWDIxaGNuRjFaV1ZmZDJsa1oyVjBKblYwYlY5amIyNTBaVzUwUFNSN2RYUnRRMjl1ZEdWdWRIMWdPMXh1SUNBZ0lIMHNYRzRnSUNBZ2JHbHpkR1Z1Um05eVVISnBZMlZEYUdGdVoyVnpPaUJtZFc1amRHbHZiaWdwSUh0Y2JpQWdJQ0FnSUdsbUlDaDBhR2x6TG1OdmFXNUVZWFJoVEdsemRHVnVaWElwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTVqYjJsdVJHRjBZVXhwYzNSbGJtVnlMblZ1YzNWaWMyTnlhV0psS0NrN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lIUm9hWE11WTI5cGJrUmhkR0ZNYVhOMFpXNWxjaUE5SUdOdmFXNUVZWFJoVEdsemRHVnVaWElvZEdocGN5NXpZVzVwZEdsNlpXUkRiMmx1U1dSekxDQmtZWFJoSUQwK0lIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2IySnFJRDBnZEdocGN5NWhjR2xFWVhSaExtWnBibVFvYjJKcUlEMCtJSHRjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYjJKcUxtbGtJRDA5UFNCa1lYUmhMbU03WEc0Z0lDQWdJQ0FnSUgwcE8xeHVYRzRnSUNBZ0lDQWdJR2xtSUNodlltb3BJSHRjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J3Y21WMmFXOTFjMUJ5YVdObElEMGdiMkpxTG1OMWNuSmxiblJmY0hKcFkyVTdYRzRnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdZM1Z5Y21WdWRGQnlhV05sSUQwZ1pHRjBZUzV3VzNSb2FYTXVZM1Z5Y21WdVkzbERiMlJsWFR0Y2JseHVJQ0FnSUNBZ0lDQWdJQzh2SUU5dWJIa2dhR2xuYUd4cFoyaDBJR2xtSUhSb1pTQkVTVk5RVEVGWlJVUWdjSEpwWTJVZ1FVTlVWVUZNVEZrZ1EwaEJUa2RGUkZ4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2gwYUdsekxtWnZjbTFoZEVOMWNuSmxibU41S0hCeVpYWnBiM1Z6VUhKcFkyVXBJQ0U5UFNCMGFHbHpMbVp2Y20xaGRFTjFjbkpsYm1ONUtHTjFjbkpsYm5SUWNtbGpaU2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNod1lYSnpaVVpzYjJGMEtIQnlaWFpwYjNWelVISnBZMlVwSUR3OUlIQmhjbk5sUm14dllYUW9ZM1Z5Y21WdWRGQnlhV05sS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbWhwWjJoc2FXZG9kRkJ5YVdOcGJtY29iMkpxTG1sa0xDQmNJbU5uTFhCeWFXMWhjbmt0WTI5c2IzSmNJaWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbWhwWjJoc2FXZG9kRkJ5YVdOcGJtY29iMkpxTG1sa0xDQmNJbU5uTFhKbFpDMWpiMnh2Y2x3aUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCdlltb3VZM1Z5Y21WdWRGOXdjbWxqWlNBOUlHUmhkR0V1Y0Z0MGFHbHpMbU4xY25KbGJtTjVRMjlrWlYwN1hHNGdJQ0FnSUNBZ0lDQWdiMkpxTG5CeWFXTmxYMk5vWVc1blpWOXdaWEpqWlc1MFlXZGxYekkwYUNBOUlHUmhkR0V1WlZ0MGFHbHpMbU4xY25KbGJtTjVRMjlrWlYwN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMHBPMXh1SUNBZ0lIMHNYRzRnSUNBZ2FHbG5hR3hwWjJoMFVISnBZMmx1WnpvZ1puVnVZM1JwYjI0b2FXUXNJR05zY3lrZ2UxeHVJQ0FnSUNBZ1ZuVmxMbk5sZENoMGFHbHpMbkJ5YVdOcGJtZElhV2RvYkdsbmFIUkRiR0Z6YzJWekxDQnBaQ3dnWTJ4ektUdGNibHh1SUNBZ0lDQWdjMlYwVkdsdFpXOTFkQ2dvS1NBOVBpQjdYRzRnSUNBZ0lDQWdJRloxWlM1elpYUW9kR2hwY3k1d2NtbGphVzVuU0dsbmFHeHBaMmgwUTJ4aGMzTmxjeXdnYVdRc0lHNTFiR3dwTzF4dUlDQWdJQ0FnZlN3Z01UQXdNQ2s3WEc0Z0lDQWdmU3hjYmlBZ0lDQnpkWEJ3YjNKMFpXUkRkWEp5Wlc1amFXVnpYRzRnSUgwc1hHNGdJSGRoZEdOb09pQjdYRzRnSUNBZ1kyOXBia2xrY3pvZ1puVnVZM1JwYjI0b0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG1abGRHTm9SR0YwWVNoN0lHTnZhVzVTWld4dllXUTZJSFJ5ZFdVZ2ZTazdYRzRnSUNBZ0lDQjBhR2x6TG14cGMzUmxia1p2Y2xCeWFXTmxRMmhoYm1kbGN5Z3BPMXh1SUNBZ0lDQWdkR2hwY3k1d2NtbGphVzVuU0dsbmFHeHBaMmgwUTJ4aGMzTmxjeUE5SUh0OU8xeHVJQ0FnSUgwc1hHNGdJQ0FnWTNWeWNtVnVZM2s2SUdaMWJtTjBhVzl1S0NrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTVtWlhSamFFUmhkR0VvZXlCamRYSnlaVzVqZVZKbGJHOWhaRG9nZEhKMVpTQjlLVHRjYmlBZ0lDQjlMRnh1SUNBZ0lHeHZZMkZzWlRvZ1puVnVZM1JwYjI0b0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG1abGRHTm9SR0YwWVNncE8xeHVJQ0FnSUgxY2JpQWdmU3hjYmlBZ1kzSmxZWFJsWkRvZ1puVnVZM1JwYjI0b0tTQjdYRzRnSUNBZ2RHaHBjeTVtWlhSamFFUmhkR0VvS1R0Y2JpQWdJQ0IwYUdsekxteHBjM1JsYmtadmNsQnlhV05sUTJoaGJtZGxjeWdwTzF4dUlDQjlMRnh1SUNCdGIzVnVkR1ZrT2lCbWRXNWpkR2x2YmlncElIdDlMRnh1SUNCa1pYTjBjbTk1WldRNklHWjFibU4wYVc5dUtDa2dlMXh1SUNBZ0lHbG1JQ2gwYUdsekxtTnZhVzVFWVhSaFRHbHpkR1Z1WlhJcElIdGNiaUFnSUNBZ0lIUm9hWE11WTI5cGJrUmhkR0ZNYVhOMFpXNWxjaTUxYm5OMVluTmpjbWxpWlNncE8xeHVJQ0FnSUgxY2JpQWdmVnh1ZlR0Y2Jqd3ZjMk55YVhCMFBseHVJbDBzSW0xaGNIQnBibWR6SWpvaU96czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN1FVRXlSRUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZHUVR0QlFVbEJPMEZCUTBFN1FVRkRRVHRCUVVaQk8wRkJTVUU3UVVGRFFUdEJRVU5CTzBGQlJrRTdRVUZKUVR0QlFVTkJPMEZCUTBFN1FVRkdRVHRCUVVsQk8wRkJRMEU3UVVGRFFUdEJRVVpCTzBGQlNVRTdRVUZEUVR0QlFVTkJPMEZCUmtFN1FVRnlRa0U3UVVFd1FrRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVTVCTzBGQlVVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJSa0U3UVVGSlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkJRVHRCUVVGQk8wRkJRMEU3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVGQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVGQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZGUVR0QlFVRkJPMEZCUVVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlIwRTdRVUZNUVR0QlFVOUJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGR1FUdEJRVWxCTzBGQmJrUkJPMEZCY1VSQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZCUVR0QlFVTkJPMEZCUkVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVU5CTzBGQlFVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGTFFUdEJRVUZCTzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUjBFN1FVRkRRVHRCUVVOQk8wRkJSMEU3UVVGRFFUdEJRVUZCTzBGQlEwRTdRVUZCUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZCUVR0QlFVTkJPMEZCUVVFN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQmJFWkJPMEZCYjBaQk8wRkJRMEU3UVVGRFFUdEJRVUZCTzBGQlFVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRVUU3UVVGQlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCV0VFN1FVRmhRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVhSTlFTSXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jYWNoZS1sb2FkZXIvZGlzdC9janMuanM/IS4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi9ub2RlX21vZHVsZXMvY2FjaGUtbG9hZGVyL2Rpc3QvY2pzLmpzPyEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8hLi9zcmMvY29tcG9uZW50cy9Db2luZ2Vja29Db2luUHJpY2VNYXJxdWVlV2lkZ2V0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jYWNoZS1sb2FkZXIvZGlzdC9janMuanM/e1wiY2FjaGVEaXJlY3RvcnlcIjpcIm5vZGVfbW9kdWxlcy8uY2FjaGUvdnVlLWxvYWRlclwiLFwiY2FjaGVJZGVudGlmaWVyXCI6XCI1YzBiNDdiMC12dWUtbG9hZGVyLXRlbXBsYXRlXCJ9IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvdGVtcGxhdGVMb2FkZXIuanM/IS4vbm9kZV9tb2R1bGVzL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/IS4vc3JjL2NvbXBvbmVudHMvQ29pbmdlY2tvQ29pblByaWNlTWFycXVlZVdpZGdldC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NjA0MjgxNzQmIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jYWNoZS1sb2FkZXIvZGlzdC9janMuanM/eyJjYWNoZURpcmVjdG9yeSI6Im5vZGVfbW9kdWxlcy8uY2FjaGUvdnVlLWxvYWRlciIsImNhY2hlSWRlbnRpZmllciI6IjVjMGI0N2IwLXZ1ZS1sb2FkZXItdGVtcGxhdGUifSEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3RlbXBsYXRlTG9hZGVyLmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9ub2RlX21vZHVsZXMvY2FjaGUtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTAtMCEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYj8/dnVlLWxvYWRlci1vcHRpb25zIS4vc3JjL2NvbXBvbmVudHMvQ29pbmdlY2tvQ29pblByaWNlTWFycXVlZVdpZGdldC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NjA0MjgxNzQmICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFleHBvcnRzIHByb3ZpZGVkOiByZW5kZXIsIHN0YXRpY1JlbmRlckZucyovKGZ1bmN0aW9uKG1vZHVsZSxfX3dlYnBhY2tfZXhwb3J0c19fLF9fd2VicGFja19yZXF1aXJlX18peyJ1c2Ugc3RyaWN0IjtldmFsKCJfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFwicmVuZGVyXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gcmVuZGVyOyB9KTtcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJzdGF0aWNSZW5kZXJGbnNcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBzdGF0aWNSZW5kZXJGbnM7IH0pO1xudmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcbiAgICBcImRpdlwiLFxuICAgIHtcbiAgICAgIHN0YXRpY0NsYXNzOiBcImNnLWNvbnRhaW5lclwiLFxuICAgICAgY2xhc3M6IF92bS5jb250YWluZXJDbGFzcyxcbiAgICAgIHN0eWxlOiBfdm0uY29udGFpbmVyU3R5bGUsXG4gICAgICBhdHRyczogeyBcImRhdGEtbG9hZGluZ1wiOiBfdm0ubG9hZGluZyB9XG4gICAgfSxcbiAgICBbXG4gICAgICBfdm0ubG9hZGluZ1xuICAgICAgICA/IF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwiY2ctcC0zIGNnLWJhc2VcIiB9LCBbXG4gICAgICAgICAgICBfdm0uX3YoXCJMb2FkaW5nIHdpZGdldC4uLlwiKVxuICAgICAgICAgIF0pXG4gICAgICAgIDogX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJjZy13aWRnZXRcIiB9LCBbXG4gICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImNnLW1hcnF1ZWVcIixcbiAgICAgICAgICAgICAgICBzdHlsZTogeyBiYWNrZ3JvdW5kQ29sb3I6IF92bS5iYWNrZ3JvdW5kQ29sb3IgfVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBfdm0uX2woMiwgZnVuY3Rpb24obikge1xuICAgICAgICAgICAgICAgIHJldHVybiBfYyhcbiAgICAgICAgICAgICAgICAgIFwic3BhblwiLFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBrZXk6IG4sXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgXCJjZy1tYXJxdWVlLWNvbnRlbnQtXCIgKyBuLFxuICAgICAgICAgICAgICAgICAgICAgIF92bS5jb2lucy5sZW5ndGggPiAyNSA/IFwiY2ctbWFycXVlZS1jb250ZW50LWxvbmdcIiA6IFwiXCJcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImNnLWZsZXggY2ctZmxleC1yb3dcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fbChfdm0uY29pbnMsIGZ1bmN0aW9uKGNvaW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9jKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleTogY29pbi5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNnLXB5LTIgY2ctcHgtMyBjZy1mbGV4IGNnLWNvaW4tcm93IGNnLXNtXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogeyBjb2xvcjogX3ZtLmZvbnRDb2xvciB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZjogX3ZtLmxpbmtUb0NvaW5PdmVydmlldyhjb2luLmlkKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBcIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJjZy1mbGV4IGNnLWl0ZW1zLWNlbnRlclwiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcImltZ1wiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJjZy1tci0yXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczogeyBzcmM6IGNvaW4uaW1hZ2UgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwic3BhblwiLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInNwYW5cIiwgeyBzdGF0aWNDbGFzczogXCJjZy1ib2xkXCIgfSwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoX3ZtLl9zKGNvaW4ubmFtZSkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIgKFwiICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3MoY29pbi5zeW1ib2wudG9VcHBlckNhc2UoKSkgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiKVxcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIV92bS5sb2FkaW5nUHJpY2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY2ctbWwtMiBjZy1mbGV4IGNnLWp1c3RpZnktZW5kIGNnLWl0ZW1zLWNlbnRlclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzczogX3ZtLmlzTmVnYXRpdmUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29pbi5wcmljZV9jaGFuZ2VfcGVyY2VudGFnZV8yNGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gXCJjZy1yZWQtY29sb3ItZGFya1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcImNnLXByaW1hcnktY29sb3ItZGFya1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcImRpdlwiLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInNwYW5cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiY2ctYm9sZFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzczpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0ucHJpY2luZ0hpZ2hsaWdodENsYXNzZXNbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2luLmlkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXFxuICAgICAgICAgICAgICAgICAgXCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9zKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uZm9ybWF0Q3VycmVuY3koXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29pbi5jdXJyZW50X3ByaWNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJzcGFuXCIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIoXCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fcyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5mb3JtYXRQZXJjZW50YWdlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2luLnByaWNlX2NoYW5nZV9wZXJjZW50YWdlXzI0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwiZGl2XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJjZy1tbC0yXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M6IF92bS5pc05lZ2F0aXZlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29pbi5wcmljZV9jaGFuZ2VfcGVyY2VudGFnZV8yNGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IFwiY2ctYXJyb3ctZG93blwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiY2ctYXJyb3ctdXBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfdm0uX2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcImNnLWZsZXggY2ctaXRlbXMtY2VudGVyXCIgfSwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcImFcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImNnLWJvbGQgY2ctc20gY2ctcHgtM1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbVByb3BzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbm5lckhUTUw6IF92bS5fcyhfdm0ucG93ZXJlZEJ5Q29pbkdlY2tvKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAyXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAwXG4gICAgICAgICAgICApXG4gICAgICAgICAgXSlcbiAgICBdXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG5cbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMkZqYUdVdGJHOWhaR1Z5TDJScGMzUXZZMnB6TG1welAzdGNJbU5oWTJobFJHbHlaV04wYjNKNVhDSTZYQ0p1YjJSbFgyMXZaSFZzWlhNdkxtTmhZMmhsTDNaMVpTMXNiMkZrWlhKY0lpeGNJbU5oWTJobFNXUmxiblJwWm1sbGNsd2lPbHdpTldNd1lqUTNZakF0ZG5WbExXeHZZV1JsY2kxMFpXMXdiR0YwWlZ3aWZTRXVMMjV2WkdWZmJXOWtkV3hsY3k5MmRXVXRiRzloWkdWeUwyeHBZaTlzYjJGa1pYSnpMM1JsYlhCc1lYUmxURzloWkdWeUxtcHpQeUV1TDI1dlpHVmZiVzlrZFd4bGN5OWpZV05vWlMxc2IyRmtaWEl2WkdsemRDOWphbk11YW5NL0lTNHZibTlrWlY5dGIyUjFiR1Z6TDNaMVpTMXNiMkZrWlhJdmJHbGlMMmx1WkdWNExtcHpQeUV1TDNOeVl5OWpiMjF3YjI1bGJuUnpMME52YVc1blpXTnJiME52YVc1UWNtbGpaVTFoY25GMVpXVlhhV1JuWlhRdWRuVmxQM1oxWlNaMGVYQmxQWFJsYlhCc1lYUmxKbWxrUFRZd05ESTRNVGMwSmk1cWN5SXNJbk52ZFhKalpYTWlPbHNpZDJWaWNHRmphem92THk4dUwzTnlZeTlqYjIxd2IyNWxiblJ6TDBOdmFXNW5aV05yYjBOdmFXNVFjbWxqWlUxaGNuRjFaV1ZYYVdSblpYUXVkblZsUHpVM1pERWlYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpZG1GeUlISmxibVJsY2lBOUlHWjFibU4wYVc5dUtDa2dlMXh1SUNCMllYSWdYM1p0SUQwZ2RHaHBjMXh1SUNCMllYSWdYMmdnUFNCZmRtMHVKR055WldGMFpVVnNaVzFsYm5SY2JpQWdkbUZ5SUY5aklEMGdYM1p0TGw5elpXeG1MbDlqSUh4OElGOW9YRzRnSUhKbGRIVnliaUJmWXloY2JpQWdJQ0JjSW1ScGRsd2lMRnh1SUNBZ0lIdGNiaUFnSUNBZ0lITjBZWFJwWTBOc1lYTnpPaUJjSW1ObkxXTnZiblJoYVc1bGNsd2lMRnh1SUNBZ0lDQWdZMnhoYzNNNklGOTJiUzVqYjI1MFlXbHVaWEpEYkdGemN5eGNiaUFnSUNBZ0lITjBlV3hsT2lCZmRtMHVZMjl1ZEdGcGJtVnlVM1I1YkdVc1hHNGdJQ0FnSUNCaGRIUnljem9nZXlCY0ltUmhkR0V0Ykc5aFpHbHVaMXdpT2lCZmRtMHViRzloWkdsdVp5QjlYRzRnSUNBZ2ZTeGNiaUFnSUNCYlhHNGdJQ0FnSUNCZmRtMHViRzloWkdsdVoxeHVJQ0FnSUNBZ0lDQS9JRjlqS0Z3aVpHbDJYQ0lzSUhzZ2MzUmhkR2xqUTJ4aGMzTTZJRndpWTJjdGNDMHpJR05uTFdKaGMyVmNJaUI5TENCYlhHNGdJQ0FnSUNBZ0lDQWdJQ0JmZG0wdVgzWW9YQ0pNYjJGa2FXNW5JSGRwWkdkbGRDNHVMbHdpS1Z4dUlDQWdJQ0FnSUNBZ0lGMHBYRzRnSUNBZ0lDQWdJRG9nWDJNb1hDSmthWFpjSWl3Z2V5QnpkR0YwYVdORGJHRnpjem9nWENKalp5MTNhV1JuWlhSY0lpQjlMQ0JiWEc0Z0lDQWdJQ0FnSUNBZ0lDQmZZeWhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdYQ0prYVhaY0lpeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lITjBZWFJwWTBOc1lYTnpPaUJjSW1ObkxXMWhjbkYxWldWY0lpeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnpkSGxzWlRvZ2V5QmlZV05yWjNKdmRXNWtRMjlzYjNJNklGOTJiUzVpWVdOclozSnZkVzVrUTI5c2IzSWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjlMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmZkbTB1WDJ3b01pd2dablZ1WTNScGIyNG9iaWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJmWXloY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lGd2ljM0JoYmx3aUxGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCclpYazZJRzRzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnNZWE56T2lCYlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWENKalp5MXRZWEp4ZFdWbExXTnZiblJsYm5RdFhDSWdLeUJ1TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRjkyYlM1amIybHVjeTVzWlc1bmRHZ2dQaUF5TlNBL0lGd2lZMmN0YldGeWNYVmxaUzFqYjI1MFpXNTBMV3h2Ym1kY0lpQTZJRndpWENKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdYVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWDJNb1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWENKa2FYWmNJaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjdJSE4wWVhScFkwTnNZWE56T2lCY0ltTm5MV1pzWlhnZ1kyY3RabXhsZUMxeWIzZGNJaUI5TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRjkyYlM1ZmJDaGZkbTB1WTI5cGJuTXNJR1oxYm1OMGFXOXVLR052YVc0cElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlGOWpLRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUZ3aVlWd2lMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR3RsZVRvZ1kyOXBiaTVwWkN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSE4wWVhScFkwTnNZWE56T2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JjSW1ObkxYQjVMVElnWTJjdGNIZ3RNeUJqWnkxbWJHVjRJR05uTFdOdmFXNHRjbTkzSUdObkxYTnRYQ0lzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnpkSGxzWlRvZ2V5QmpiMnh2Y2pvZ1gzWnRMbVp2Ym5SRGIyeHZjaUI5TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZWFIwY25NNklIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FISmxaam9nWDNadExteHBibXRVYjBOdmFXNVBkbVZ5ZG1sbGR5aGpiMmx1TG1sa0tTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHRnlaMlYwT2lCY0lsOWliR0Z1YTF3aVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmZZeWhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdYQ0prYVhaY0lpeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2V5QnpkR0YwYVdORGJHRnpjem9nWENKalp5MW1iR1Y0SUdObkxXbDBaVzF6TFdObGJuUmxjbHdpSUgwc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCZll5aGNJbWx0WjF3aUxDQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6ZEdGMGFXTkRiR0Z6Y3pvZ1hDSmpaeTF0Y2kweVhDSXNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JoZEhSeWN6b2dleUJ6Y21NNklHTnZhVzR1YVcxaFoyVWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDBwTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUY5aktGd2ljM0JoYmx3aUxDQmJYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JmWXloY0luTndZVzVjSWl3Z2V5QnpkR0YwYVdORGJHRnpjem9nWENKalp5MWliMnhrWENJZ2ZTd2dXMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCZmRtMHVYM1lvWDNadExsOXpLR052YVc0dWJtRnRaU2twWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCZEtTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRjkyYlM1ZmRpaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWENJZ0tGd2lJQ3RjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmZkbTB1WDNNb1kyOXBiaTV6ZVcxaWIyd3VkRzlWY0hCbGNrTmhjMlVvS1NrZ0sxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUZ3aUtWeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1hDSmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JkS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JkWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXBMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lWOTJiUzVzYjJGa2FXNW5VSEpwWTJWY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUHlCZll5aGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRndpWkdsMlhDSXNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lITjBZWFJwWTBOc1lYTnpPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lGd2lZMmN0Yld3dE1pQmpaeTFtYkdWNElHTm5MV3AxYzNScFpua3RaVzVrSUdObkxXbDBaVzF6TFdObGJuUmxjbHdpTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiR0Z6Y3pvZ1gzWnRMbWx6VG1WbllYUnBkbVVvWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjlwYmk1d2NtbGpaVjlqYUdGdVoyVmZjR1Z5WTJWdWRHRm5aVjh5TkdoY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEOGdYQ0pqWnkxeVpXUXRZMjlzYjNJdFpHRnlhMXdpWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdPaUJjSW1ObkxYQnlhVzFoY25rdFkyOXNiM0l0WkdGeWExd2lYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JmWXloY0ltUnBkbHdpTENCYlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWDJNb1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCY0luTndZVzVjSWl4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2MzUmhkR2xqUTJ4aGMzTTZJRndpWTJjdFltOXNaRndpTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamJHRnpjenBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCZmRtMHVjSEpwWTJsdVowaHBaMmhzYVdkb2RFTnNZWE56WlhOYlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjJsdUxtbGtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWFZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1gzWnRMbDkyS0Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lGd2lYRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWENJZ0sxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWDNadExsOXpLRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmZkbTB1Wm05eWJXRjBRM1Z5Y21WdVkza29YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjlwYmk1amRYSnlaVzUwWDNCeWFXTmxYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNrZ0sxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWENKY1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1hDSmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdYVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDa3NYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1gyTW9YQ0p6Y0dGdVhDSXNJRnRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRjkyYlM1ZmRpaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdYQ0lvWENJZ0sxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRjkyYlM1ZmN5aGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUY5MmJTNW1iM0p0WVhSUVpYSmpaVzUwWVdkbEtGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIybHVMbkJ5YVdObFgyTm9ZVzVuWlY5d1pYSmpaVzUwWVdkbFh6STBhRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0tWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ2tnSzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lGd2lLVndpWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdYU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1hTa3NYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUY5aktGd2laR2wyWENJc0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCemRHRjBhV05EYkdGemN6b2dYQ0pqWnkxdGJDMHlYQ0lzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMnhoYzNNNklGOTJiUzVwYzA1bFoyRjBhWFpsS0Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5cGJpNXdjbWxqWlY5amFHRnVaMlZmY0dWeVkyVnVkR0ZuWlY4eU5HaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBL0lGd2lZMmN0WVhKeWIzY3RaRzkzYmx3aVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBNklGd2lZMmN0WVhKeWIzY3RkWEJjSWx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWFZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnT2lCZmRtMHVYMlVvS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lGMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmU2tzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JmWXloY0ltUnBkbHdpTENCN0lITjBZWFJwWTBOc1lYTnpPaUJjSW1ObkxXWnNaWGdnWTJjdGFYUmxiWE10WTJWdWRHVnlYQ0lnZlN3Z1cxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmZZeWhjSW1GY0lpd2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhOMFlYUnBZME5zWVhOek9pQmNJbU5uTFdKdmJHUWdZMmN0YzIwZ1kyY3RjSGd0TTF3aUxGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1J2YlZCeWIzQnpPaUI3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBibTVsY2toVVRVdzZJRjkyYlM1ZmN5aGZkbTB1Y0c5M1pYSmxaRUo1UTI5cGJrZGxZMnR2S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRjBwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdYU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lGMWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIMHBMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXdYRzRnSUNBZ0lDQWdJQ0FnSUNBcFhHNGdJQ0FnSUNBZ0lDQWdYU2xjYmlBZ0lDQmRYRzRnSUNsY2JuMWNiblpoY2lCemRHRjBhV05TWlc1a1pYSkdibk1nUFNCYlhWeHVjbVZ1WkdWeUxsOTNhWFJvVTNSeWFYQndaV1FnUFNCMGNuVmxYRzVjYm1WNGNHOXlkQ0I3SUhKbGJtUmxjaXdnYzNSaGRHbGpVbVZ1WkdWeVJtNXpJSDBpWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk95SXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jYWNoZS1sb2FkZXIvZGlzdC9janMuanM/e1wiY2FjaGVEaXJlY3RvcnlcIjpcIm5vZGVfbW9kdWxlcy8uY2FjaGUvdnVlLWxvYWRlclwiLFwiY2FjaGVJZGVudGlmaWVyXCI6XCI1YzBiNDdiMC12dWUtbG9hZGVyLXRlbXBsYXRlXCJ9IS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvdGVtcGxhdGVMb2FkZXIuanM/IS4vbm9kZV9tb2R1bGVzL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/IS4vc3JjL2NvbXBvbmVudHMvQ29pbmdlY2tvQ29pblByaWNlTWFycXVlZVdpZGdldC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NjA0MjgxNzQmXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L2ZuL3N5bWJvbC9pbmRleC5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L2ZuL3N5bWJvbC9pbmRleC5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXtldmFsKCJfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi8uLi9tb2R1bGVzL2VzNi5zeW1ib2wgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9lczYuc3ltYm9sLmpzXCIpO1xuX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi4vLi4vbW9kdWxlcy9lczYub2JqZWN0LnRvLXN0cmluZyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL2VzNi5vYmplY3QudG8tc3RyaW5nLmpzXCIpO1xuX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi4vLi4vbW9kdWxlcy9lczcuc3ltYm9sLmFzeW5jLWl0ZXJhdG9yICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM3LnN5bWJvbC5hc3luYy1pdGVyYXRvci5qc1wiKTtcbl9fd2VicGFja19yZXF1aXJlX18oLyohIC4uLy4uL21vZHVsZXMvZXM3LnN5bWJvbC5vYnNlcnZhYmxlICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM3LnN5bWJvbC5vYnNlcnZhYmxlLmpzXCIpO1xubW9kdWxlLmV4cG9ydHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi8uLi9tb2R1bGVzL19jb3JlICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2NvcmUuanNcIikuU3ltYm9sO1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5c2FXSnlZWEo1TDJadUwzTjViV0p2YkM5cGJtUmxlQzVxY3k1cWN5SXNJbk52ZFhKalpYTWlPbHNpZDJWaWNHRmphem92THk4dUwyNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMnhwWW5KaGNua3ZabTR2YzNsdFltOXNMMmx1WkdWNExtcHpQMlk1TWpFaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2ljbVZ4ZFdseVpTZ25MaTR2TGk0dmJXOWtkV3hsY3k5bGN6WXVjM2x0WW05c0p5azdYRzV5WlhGMWFYSmxLQ2N1TGk4dUxpOXRiMlIxYkdWekwyVnpOaTV2WW1wbFkzUXVkRzh0YzNSeWFXNW5KeWs3WEc1eVpYRjFhWEpsS0NjdUxpOHVMaTl0YjJSMWJHVnpMMlZ6Tnk1emVXMWliMnd1WVhONWJtTXRhWFJsY21GMGIzSW5LVHRjYm5KbGNYVnBjbVVvSnk0dUx5NHVMMjF2WkhWc1pYTXZaWE0zTG5ONWJXSnZiQzV2WW5ObGNuWmhZbXhsSnlrN1hHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlISmxjWFZwY21Vb0p5NHVMeTR1TDIxdlpIVnNaWE12WDJOdmNtVW5LUzVUZVcxaWIydzdYRzRpWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN0lpd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9mbi9zeW1ib2wvaW5kZXguanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvZm4vc3ltYm9sL2l0ZXJhdG9yLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvZm4vc3ltYm9sL2l0ZXJhdG9yLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18pe2V2YWwoIl9fd2VicGFja19yZXF1aXJlX18oLyohIC4uLy4uL21vZHVsZXMvZXM2LnN0cmluZy5pdGVyYXRvciAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL2VzNi5zdHJpbmcuaXRlcmF0b3IuanNcIik7XG5fX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi8uLi9tb2R1bGVzL3dlYi5kb20uaXRlcmFibGUgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy93ZWIuZG9tLml0ZXJhYmxlLmpzXCIpO1xubW9kdWxlLmV4cG9ydHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi8uLi9tb2R1bGVzL193a3MtZXh0ICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3drcy1leHQuanNcIikuZignaXRlcmF0b3InKTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXNhV0p5WVhKNUwyWnVMM041YldKdmJDOXBkR1Z5WVhSdmNpNXFjeTVxY3lJc0luTnZkWEpqWlhNaU9sc2lkMlZpY0dGamF6b3ZMeTh1TDI1dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyeHBZbkpoY25rdlptNHZjM2x0WW05c0wybDBaWEpoZEc5eUxtcHpQMlE0WkRZaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2ljbVZ4ZFdseVpTZ25MaTR2TGk0dmJXOWtkV3hsY3k5bGN6WXVjM1J5YVc1bkxtbDBaWEpoZEc5eUp5azdYRzV5WlhGMWFYSmxLQ2N1TGk4dUxpOXRiMlIxYkdWekwzZGxZaTVrYjIwdWFYUmxjbUZpYkdVbktUdGNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdjbVZ4ZFdseVpTZ25MaTR2TGk0dmJXOWtkV3hsY3k5ZmQydHpMV1Y0ZENjcExtWW9KMmwwWlhKaGRHOXlKeWs3WEc0aVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRMEU3UVVGRFFUc2lMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvZm4vc3ltYm9sL2l0ZXJhdG9yLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2EtZnVuY3Rpb24uanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fYS1mdW5jdGlvbi5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpe2V2YWwoIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIGlmICh0eXBlb2YgaXQgIT0gJ2Z1bmN0aW9uJykgdGhyb3cgVHlwZUVycm9yKGl0ICsgJyBpcyBub3QgYSBmdW5jdGlvbiEnKTtcbiAgcmV0dXJuIGl0O1xufTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXNhV0p5WVhKNUwyMXZaSFZzWlhNdlgyRXRablZ1WTNScGIyNHVhbk11YW5NaUxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTh2TGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXNhV0p5WVhKNUwyMXZaSFZzWlhNdlgyRXRablZ1WTNScGIyNHVhbk0vTnpsaFlTSmRMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUp0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR1oxYm1OMGFXOXVJQ2hwZENrZ2UxeHVJQ0JwWmlBb2RIbHdaVzltSUdsMElDRTlJQ2RtZFc1amRHbHZiaWNwSUhSb2NtOTNJRlI1Y0dWRmNuSnZjaWhwZENBcklDY2dhWE1nYm05MElHRWdablZ1WTNScGIyNGhKeWs3WEc0Z0lISmxkSFZ5YmlCcGREdGNibjA3WEc0aVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19hLWZ1bmN0aW9uLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2FkZC10by11bnNjb3BhYmxlcy5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2FkZC10by11bnNjb3BhYmxlcy5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7ZXZhbCgibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoKSB7IC8qIGVtcHR5ICovIH07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTlzYVdKeVlYSjVMMjF2WkhWc1pYTXZYMkZrWkMxMGJ5MTFibk5qYjNCaFlteGxjeTVxY3k1cWN5SXNJbk52ZFhKalpYTWlPbHNpZDJWaWNHRmphem92THk4dUwyNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMnhwWW5KaGNua3ZiVzlrZFd4bGN5OWZZV1JrTFhSdkxYVnVjMk52Y0dGaWJHVnpMbXB6UHpnME16WWlYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0JtZFc1amRHbHZiaUFvS1NCN0lDOHFJR1Z0Y0hSNUlDb3ZJSDA3WEc0aVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk95SXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fYWRkLXRvLXVuc2NvcGFibGVzLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2FuLW9iamVjdC5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2FuLW9iamVjdC5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXtldmFsKCJ2YXIgaXNPYmplY3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19pcy1vYmplY3QgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9faXMtb2JqZWN0LmpzXCIpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgaWYgKCFpc09iamVjdChpdCkpIHRocm93IFR5cGVFcnJvcihpdCArICcgaXMgbm90IGFuIG9iamVjdCEnKTtcbiAgcmV0dXJuIGl0O1xufTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXNhV0p5WVhKNUwyMXZaSFZzWlhNdlgyRnVMVzlpYW1WamRDNXFjeTVxY3lJc0luTnZkWEpqWlhNaU9sc2lkMlZpY0dGamF6b3ZMeTh1TDI1dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyeHBZbkpoY25rdmJXOWtkV3hsY3k5ZllXNHRiMkpxWldOMExtcHpQMlUwWVdVaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lkbUZ5SUdselQySnFaV04wSUQwZ2NtVnhkV2x5WlNnbkxpOWZhWE10YjJKcVpXTjBKeWs3WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUdaMWJtTjBhVzl1SUNocGRDa2dlMXh1SUNCcFppQW9JV2x6VDJKcVpXTjBLR2wwS1NrZ2RHaHliM2NnVkhsd1pVVnljbTl5S0dsMElDc2dKeUJwY3lCdWIzUWdZVzRnYjJKcVpXTjBJU2NwTzF4dUlDQnlaWFIxY200Z2FYUTdYRzU5TzF4dUlsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2FuLW9iamVjdC5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19hcnJheS1pbmNsdWRlcy5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fYXJyYXktaW5jbHVkZXMuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXtldmFsKCIvLyBmYWxzZSAtPiBBcnJheSNpbmRleE9mXG4vLyB0cnVlICAtPiBBcnJheSNpbmNsdWRlc1xudmFyIHRvSU9iamVjdCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3RvLWlvYmplY3QgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fdG8taW9iamVjdC5qc1wiKTtcbnZhciB0b0xlbmd0aCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3RvLWxlbmd0aCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL190by1sZW5ndGguanNcIik7XG52YXIgdG9BYnNvbHV0ZUluZGV4ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fdG8tYWJzb2x1dGUtaW5kZXggKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fdG8tYWJzb2x1dGUtaW5kZXguanNcIik7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChJU19JTkNMVURFUykge1xuICByZXR1cm4gZnVuY3Rpb24gKCR0aGlzLCBlbCwgZnJvbUluZGV4KSB7XG4gICAgdmFyIE8gPSB0b0lPYmplY3QoJHRoaXMpO1xuICAgIHZhciBsZW5ndGggPSB0b0xlbmd0aChPLmxlbmd0aCk7XG4gICAgdmFyIGluZGV4ID0gdG9BYnNvbHV0ZUluZGV4KGZyb21JbmRleCwgbGVuZ3RoKTtcbiAgICB2YXIgdmFsdWU7XG4gICAgLy8gQXJyYXkjaW5jbHVkZXMgdXNlcyBTYW1lVmFsdWVaZXJvIGVxdWFsaXR5IGFsZ29yaXRobVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWNvbXBhcmVcbiAgICBpZiAoSVNfSU5DTFVERVMgJiYgZWwgIT0gZWwpIHdoaWxlIChsZW5ndGggPiBpbmRleCkge1xuICAgICAgdmFsdWUgPSBPW2luZGV4KytdO1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNlbGYtY29tcGFyZVxuICAgICAgaWYgKHZhbHVlICE9IHZhbHVlKSByZXR1cm4gdHJ1ZTtcbiAgICAvLyBBcnJheSNpbmRleE9mIGlnbm9yZXMgaG9sZXMsIEFycmF5I2luY2x1ZGVzIC0gbm90XG4gICAgfSBlbHNlIGZvciAoO2xlbmd0aCA+IGluZGV4OyBpbmRleCsrKSBpZiAoSVNfSU5DTFVERVMgfHwgaW5kZXggaW4gTykge1xuICAgICAgaWYgKE9baW5kZXhdID09PSBlbCkgcmV0dXJuIElTX0lOQ0xVREVTIHx8IGluZGV4IHx8IDA7XG4gICAgfSByZXR1cm4gIUlTX0lOQ0xVREVTICYmIC0xO1xuICB9O1xufTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXNhV0p5WVhKNUwyMXZaSFZzWlhNdlgyRnljbUY1TFdsdVkyeDFaR1Z6TG1wekxtcHpJaXdpYzI5MWNtTmxjeUk2V3lKM1pXSndZV05yT2k4dkx5NHZibTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12YkdsaWNtRnllUzl0YjJSMWJHVnpMMTloY25KaGVTMXBibU5zZFdSbGN5NXFjejgxWWpSbElsMHNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaTh2SUdaaGJITmxJQzArSUVGeWNtRjVJMmx1WkdWNFQyWmNiaTh2SUhSeWRXVWdJQzArSUVGeWNtRjVJMmx1WTJ4MVpHVnpYRzUyWVhJZ2RHOUpUMkpxWldOMElEMGdjbVZ4ZFdseVpTZ25MaTlmZEc4dGFXOWlhbVZqZENjcE8xeHVkbUZ5SUhSdlRHVnVaM1JvSUQwZ2NtVnhkV2x5WlNnbkxpOWZkRzh0YkdWdVozUm9KeWs3WEc1MllYSWdkRzlCWW5OdmJIVjBaVWx1WkdWNElEMGdjbVZ4ZFdseVpTZ25MaTlmZEc4dFlXSnpiMngxZEdVdGFXNWtaWGduS1R0Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1puVnVZM1JwYjI0Z0tFbFRYMGxPUTB4VlJFVlRLU0I3WEc0Z0lISmxkSFZ5YmlCbWRXNWpkR2x2YmlBb0pIUm9hWE1zSUdWc0xDQm1jbTl0U1c1a1pYZ3BJSHRjYmlBZ0lDQjJZWElnVHlBOUlIUnZTVTlpYW1WamRDZ2tkR2hwY3lrN1hHNGdJQ0FnZG1GeUlHeGxibWQwYUNBOUlIUnZUR1Z1WjNSb0tFOHViR1Z1WjNSb0tUdGNiaUFnSUNCMllYSWdhVzVrWlhnZ1BTQjBiMEZpYzI5c2RYUmxTVzVrWlhnb1puSnZiVWx1WkdWNExDQnNaVzVuZEdncE8xeHVJQ0FnSUhaaGNpQjJZV3gxWlR0Y2JpQWdJQ0F2THlCQmNuSmhlU05wYm1Oc2RXUmxjeUIxYzJWeklGTmhiV1ZXWVd4MVpWcGxjbThnWlhGMVlXeHBkSGtnWVd4bmIzSnBkR2h0WEc0Z0lDQWdMeThnWlhOc2FXNTBMV1JwYzJGaWJHVXRibVY0ZEMxc2FXNWxJRzV2TFhObGJHWXRZMjl0Y0dGeVpWeHVJQ0FnSUdsbUlDaEpVMTlKVGtOTVZVUkZVeUFtSmlCbGJDQWhQU0JsYkNrZ2QyaHBiR1VnS0d4bGJtZDBhQ0ErSUdsdVpHVjRLU0I3WEc0Z0lDQWdJQ0IyWVd4MVpTQTlJRTliYVc1a1pYZ3JLMTA3WEc0Z0lDQWdJQ0F2THlCbGMyeHBiblF0WkdsellXSnNaUzF1WlhoMExXeHBibVVnYm04dGMyVnNaaTFqYjIxd1lYSmxYRzRnSUNBZ0lDQnBaaUFvZG1Gc2RXVWdJVDBnZG1Gc2RXVXBJSEpsZEhWeWJpQjBjblZsTzF4dUlDQWdJQzh2SUVGeWNtRjVJMmx1WkdWNFQyWWdhV2R1YjNKbGN5Qm9iMnhsY3l3Z1FYSnlZWGtqYVc1amJIVmtaWE1nTFNCdWIzUmNiaUFnSUNCOUlHVnNjMlVnWm05eUlDZzdiR1Z1WjNSb0lENGdhVzVrWlhnN0lHbHVaR1Y0S3lzcElHbG1JQ2hKVTE5SlRrTk1WVVJGVXlCOGZDQnBibVJsZUNCcGJpQlBLU0I3WEc0Z0lDQWdJQ0JwWmlBb1QxdHBibVJsZUYwZ1BUMDlJR1ZzS1NCeVpYUjFjbTRnU1ZOZlNVNURURlZFUlZNZ2ZId2dhVzVrWlhnZ2ZId2dNRHRjYmlBZ0lDQjlJSEpsZEhWeWJpQWhTVk5mU1U1RFRGVkVSVk1nSmlZZ0xURTdYRzRnSUgwN1hHNTlPMXh1SWwwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk95SXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fYXJyYXktaW5jbHVkZXMuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fY29mLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fY29mLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXtldmFsKCJ2YXIgdG9TdHJpbmcgPSB7fS50b1N0cmluZztcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIHRvU3RyaW5nLmNhbGwoaXQpLnNsaWNlKDgsIC0xKTtcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTlzYVdKeVlYSjVMMjF2WkhWc1pYTXZYMk52Wmk1cWN5NXFjeUlzSW5OdmRYSmpaWE1pT2xzaWQyVmljR0ZqYXpvdkx5OHVMMjV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDJ4cFluSmhjbmt2Ylc5a2RXeGxjeTlmWTI5bUxtcHpQelppTkdNaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lkbUZ5SUhSdlUzUnlhVzVuSUQwZ2UzMHVkRzlUZEhKcGJtYzdYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnWm5WdVkzUnBiMjRnS0dsMEtTQjdYRzRnSUhKbGRIVnliaUIwYjFOMGNtbHVaeTVqWVd4c0tHbDBLUzV6YkdsalpTZzRMQ0F0TVNrN1hHNTlPMXh1SWwwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk95SXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fY29mLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2NvcmUuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fY29yZS5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpe2V2YWwoInZhciBjb3JlID0gbW9kdWxlLmV4cG9ydHMgPSB7IHZlcnNpb246ICcyLjYuMTEnIH07XG5pZiAodHlwZW9mIF9fZSA9PSAnbnVtYmVyJykgX19lID0gY29yZTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bmRlZlxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5c2FXSnlZWEo1TDIxdlpIVnNaWE12WDJOdmNtVXVhbk11YW5NaUxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTh2TGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXNhV0p5WVhKNUwyMXZaSFZzWlhNdlgyTnZjbVV1YW5NL05UZzBZU0pkTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKMllYSWdZMjl5WlNBOUlHMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ2V5QjJaWEp6YVc5dU9pQW5NaTQyTGpFeEp5QjlPMXh1YVdZZ0tIUjVjR1Z2WmlCZlgyVWdQVDBnSjI1MWJXSmxjaWNwSUY5ZlpTQTlJR052Y21VN0lDOHZJR1Z6YkdsdWRDMWthWE5oWW14bExXeHBibVVnYm04dGRXNWtaV1pjYmlKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkRRVHNpTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2NvcmUuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fY3R4LmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fY3R4LmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18pe2V2YWwoIi8vIG9wdGlvbmFsIC8gc2ltcGxlIGNvbnRleHQgYmluZGluZ1xudmFyIGFGdW5jdGlvbiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2EtZnVuY3Rpb24gKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fYS1mdW5jdGlvbi5qc1wiKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGZuLCB0aGF0LCBsZW5ndGgpIHtcbiAgYUZ1bmN0aW9uKGZuKTtcbiAgaWYgKHRoYXQgPT09IHVuZGVmaW5lZCkgcmV0dXJuIGZuO1xuICBzd2l0Y2ggKGxlbmd0aCkge1xuICAgIGNhc2UgMTogcmV0dXJuIGZ1bmN0aW9uIChhKSB7XG4gICAgICByZXR1cm4gZm4uY2FsbCh0aGF0LCBhKTtcbiAgICB9O1xuICAgIGNhc2UgMjogcmV0dXJuIGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgICByZXR1cm4gZm4uY2FsbCh0aGF0LCBhLCBiKTtcbiAgICB9O1xuICAgIGNhc2UgMzogcmV0dXJuIGZ1bmN0aW9uIChhLCBiLCBjKSB7XG4gICAgICByZXR1cm4gZm4uY2FsbCh0aGF0LCBhLCBiLCBjKTtcbiAgICB9O1xuICB9XG4gIHJldHVybiBmdW5jdGlvbiAoLyogLi4uYXJncyAqLykge1xuICAgIHJldHVybiBmbi5hcHBseSh0aGF0LCBhcmd1bWVudHMpO1xuICB9O1xufTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXNhV0p5WVhKNUwyMXZaSFZzWlhNdlgyTjBlQzVxY3k1cWN5SXNJbk52ZFhKalpYTWlPbHNpZDJWaWNHRmphem92THk4dUwyNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMnhwWW5KaGNua3ZiVzlrZFd4bGN5OWZZM1I0TG1welAyUTROalFpWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUx5OGdiM0IwYVc5dVlXd2dMeUJ6YVcxd2JHVWdZMjl1ZEdWNGRDQmlhVzVrYVc1blhHNTJZWElnWVVaMWJtTjBhVzl1SUQwZ2NtVnhkV2x5WlNnbkxpOWZZUzFtZFc1amRHbHZiaWNwTzF4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbWRXNWpkR2x2YmlBb1ptNHNJSFJvWVhRc0lHeGxibWQwYUNrZ2UxeHVJQ0JoUm5WdVkzUnBiMjRvWm00cE8xeHVJQ0JwWmlBb2RHaGhkQ0E5UFQwZ2RXNWtaV1pwYm1Wa0tTQnlaWFIxY200Z1ptNDdYRzRnSUhOM2FYUmphQ0FvYkdWdVozUm9LU0I3WEc0Z0lDQWdZMkZ6WlNBeE9pQnlaWFIxY200Z1puVnVZM1JwYjI0Z0tHRXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQm1iaTVqWVd4c0tIUm9ZWFFzSUdFcE8xeHVJQ0FnSUgwN1hHNGdJQ0FnWTJGelpTQXlPaUJ5WlhSMWNtNGdablZ1WTNScGIyNGdLR0VzSUdJcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCbWJpNWpZV3hzS0hSb1lYUXNJR0VzSUdJcE8xeHVJQ0FnSUgwN1hHNGdJQ0FnWTJGelpTQXpPaUJ5WlhSMWNtNGdablZ1WTNScGIyNGdLR0VzSUdJc0lHTXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQm1iaTVqWVd4c0tIUm9ZWFFzSUdFc0lHSXNJR01wTzF4dUlDQWdJSDA3WEc0Z0lIMWNiaUFnY21WMGRYSnVJR1oxYm1OMGFXOXVJQ2d2S2lBdUxpNWhjbWR6SUNvdktTQjdYRzRnSUNBZ2NtVjBkWEp1SUdadUxtRndjR3g1S0hSb1lYUXNJR0Z5WjNWdFpXNTBjeWs3WEc0Z0lIMDdYRzU5TzF4dUlsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19jdHguanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fZGVmaW5lZC5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19kZWZpbmVkLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7ZXZhbCgiLy8gNy4yLjEgUmVxdWlyZU9iamVjdENvZXJjaWJsZShhcmd1bWVudClcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIGlmIChpdCA9PSB1bmRlZmluZWQpIHRocm93IFR5cGVFcnJvcihcIkNhbid0IGNhbGwgbWV0aG9kIG9uICBcIiArIGl0KTtcbiAgcmV0dXJuIGl0O1xufTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXNhV0p5WVhKNUwyMXZaSFZzWlhNdlgyUmxabWx1WldRdWFuTXVhbk1pTENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OHZMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5c2FXSnlZWEo1TDIxdlpIVnNaWE12WDJSbFptbHVaV1F1YW5NL01qVmxZaUpkTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdkx5QTNMakl1TVNCU1pYRjFhWEpsVDJKcVpXTjBRMjlsY21OcFlteGxLR0Z5WjNWdFpXNTBLVnh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JtZFc1amRHbHZiaUFvYVhRcElIdGNiaUFnYVdZZ0tHbDBJRDA5SUhWdVpHVm1hVzVsWkNrZ2RHaHliM2NnVkhsd1pVVnljbTl5S0Z3aVEyRnVKM1FnWTJGc2JDQnRaWFJvYjJRZ2IyNGdJRndpSUNzZ2FYUXBPMXh1SUNCeVpYUjFjbTRnYVhRN1hHNTlPMXh1SWwwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk95SXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fZGVmaW5lZC5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19kZXNjcmlwdG9ycy5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fZGVzY3JpcHRvcnMuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXtldmFsKCIvLyBUaGFuaydzIElFOCBmb3IgaGlzIGZ1bm55IGRlZmluZVByb3BlcnR5XG5tb2R1bGUuZXhwb3J0cyA9ICFfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19mYWlscyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19mYWlscy5qc1wiKShmdW5jdGlvbiAoKSB7XG4gIHJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoe30sICdhJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDc7IH0gfSkuYSAhPSA3O1xufSk7XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTlzYVdKeVlYSjVMMjF2WkhWc1pYTXZYMlJsYzJOeWFYQjBiM0p6TG1wekxtcHpJaXdpYzI5MWNtTmxjeUk2V3lKM1pXSndZV05yT2k4dkx5NHZibTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12YkdsaWNtRnllUzl0YjJSMWJHVnpMMTlrWlhOamNtbHdkRzl5Y3k1cWN6ODRaVFl3SWwwc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHZJRlJvWVc1ckozTWdTVVU0SUdadmNpQm9hWE1nWm5WdWJua2daR1ZtYVc1bFVISnZjR1Z5ZEhsY2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ0lYSmxjWFZwY21Vb0p5NHZYMlpoYVd4ekp5a29ablZ1WTNScGIyNGdLQ2tnZTF4dUlDQnlaWFIxY200Z1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLSHQ5TENBbllTY3NJSHNnWjJWME9pQm1kVzVqZEdsdmJpQW9LU0I3SUhKbGRIVnliaUEzT3lCOUlIMHBMbUVnSVQwZ056dGNibjBwTzF4dUlsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzaUxDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19kZXNjcmlwdG9ycy5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19kb20tY3JlYXRlLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2RvbS1jcmVhdGUuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18pe2V2YWwoInZhciBpc09iamVjdCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2lzLW9iamVjdCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19pcy1vYmplY3QuanNcIik7XG52YXIgZG9jdW1lbnQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19nbG9iYWwgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fZ2xvYmFsLmpzXCIpLmRvY3VtZW50O1xuLy8gdHlwZW9mIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQgaXMgJ29iamVjdCcgaW4gb2xkIElFXG52YXIgaXMgPSBpc09iamVjdChkb2N1bWVudCkgJiYgaXNPYmplY3QoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gaXMgPyBkb2N1bWVudC5jcmVhdGVFbGVtZW50KGl0KSA6IHt9O1xufTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXNhV0p5WVhKNUwyMXZaSFZzWlhNdlgyUnZiUzFqY21WaGRHVXVhbk11YW5NaUxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTh2TGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXNhV0p5WVhKNUwyMXZaSFZzWlhNdlgyUnZiUzFqY21WaGRHVXVhbk0vTVdWak9TSmRMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUoyWVhJZ2FYTlBZbXBsWTNRZ1BTQnlaWEYxYVhKbEtDY3VMMTlwY3kxdlltcGxZM1FuS1R0Y2JuWmhjaUJrYjJOMWJXVnVkQ0E5SUhKbGNYVnBjbVVvSnk0dlgyZHNiMkpoYkNjcExtUnZZM1Z0Wlc1ME8xeHVMeThnZEhsd1pXOW1JR1J2WTNWdFpXNTBMbU55WldGMFpVVnNaVzFsYm5RZ2FYTWdKMjlpYW1WamRDY2dhVzRnYjJ4a0lFbEZYRzUyWVhJZ2FYTWdQU0JwYzA5aWFtVmpkQ2hrYjJOMWJXVnVkQ2tnSmlZZ2FYTlBZbXBsWTNRb1pHOWpkVzFsYm5RdVkzSmxZWFJsUld4bGJXVnVkQ2s3WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUdaMWJtTjBhVzl1SUNocGRDa2dlMXh1SUNCeVpYUjFjbTRnYVhNZ1B5QmtiMk4xYldWdWRDNWpjbVZoZEdWRmJHVnRaVzUwS0dsMEtTQTZJSHQ5TzF4dWZUdGNiaUpkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN0lpd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19kb20tY3JlYXRlLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2VudW0tYnVnLWtleXMuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fZW51bS1idWcta2V5cy5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpe2V2YWwoIi8vIElFIDgtIGRvbid0IGVudW0gYnVnIGtleXNcbm1vZHVsZS5leHBvcnRzID0gKFxuICAnY29uc3RydWN0b3IsaGFzT3duUHJvcGVydHksaXNQcm90b3R5cGVPZixwcm9wZXJ0eUlzRW51bWVyYWJsZSx0b0xvY2FsZVN0cmluZyx0b1N0cmluZyx2YWx1ZU9mJ1xuKS5zcGxpdCgnLCcpO1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5c2FXSnlZWEo1TDIxdlpIVnNaWE12WDJWdWRXMHRZblZuTFd0bGVYTXVhbk11YW5NaUxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTh2TGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXNhV0p5WVhKNUwyMXZaSFZzWlhNdlgyVnVkVzB0WW5WbkxXdGxlWE11YW5NL01UWTVNU0pkTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdkx5QkpSU0E0TFNCa2IyNG5kQ0JsYm5WdElHSjFaeUJyWlhselhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlDaGNiaUFnSjJOdmJuTjBjblZqZEc5eUxHaGhjMDkzYmxCeWIzQmxjblI1TEdselVISnZkRzkwZVhCbFQyWXNjSEp2Y0dWeWRIbEpjMFZ1ZFcxbGNtRmliR1VzZEc5TWIyTmhiR1ZUZEhKcGJtY3NkRzlUZEhKcGJtY3NkbUZzZFdWUFppZGNiaWt1YzNCc2FYUW9KeXduS1R0Y2JpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN0lpd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19lbnVtLWJ1Zy1rZXlzLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2VudW0ta2V5cy5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2VudW0ta2V5cy5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXtldmFsKCIvLyBhbGwgZW51bWVyYWJsZSBvYmplY3Qga2V5cywgaW5jbHVkZXMgc3ltYm9sc1xudmFyIGdldEtleXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19vYmplY3Qta2V5cyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19vYmplY3Qta2V5cy5qc1wiKTtcbnZhciBnT1BTID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fb2JqZWN0LWdvcHMgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fb2JqZWN0LWdvcHMuanNcIik7XG52YXIgcElFID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fb2JqZWN0LXBpZSAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19vYmplY3QtcGllLmpzXCIpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgdmFyIHJlc3VsdCA9IGdldEtleXMoaXQpO1xuICB2YXIgZ2V0U3ltYm9scyA9IGdPUFMuZjtcbiAgaWYgKGdldFN5bWJvbHMpIHtcbiAgICB2YXIgc3ltYm9scyA9IGdldFN5bWJvbHMoaXQpO1xuICAgIHZhciBpc0VudW0gPSBwSUUuZjtcbiAgICB2YXIgaSA9IDA7XG4gICAgdmFyIGtleTtcbiAgICB3aGlsZSAoc3ltYm9scy5sZW5ndGggPiBpKSBpZiAoaXNFbnVtLmNhbGwoaXQsIGtleSA9IHN5bWJvbHNbaSsrXSkpIHJlc3VsdC5wdXNoKGtleSk7XG4gIH0gcmV0dXJuIHJlc3VsdDtcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTlzYVdKeVlYSjVMMjF2WkhWc1pYTXZYMlZ1ZFcwdGEyVjVjeTVxY3k1cWN5SXNJbk52ZFhKalpYTWlPbHNpZDJWaWNHRmphem92THk4dUwyNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMnhwWW5KaGNua3ZiVzlrZFd4bGN5OWZaVzUxYlMxclpYbHpMbXB6UHpRM1pXVWlYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpTHk4Z1lXeHNJR1Z1ZFcxbGNtRmliR1VnYjJKcVpXTjBJR3RsZVhNc0lHbHVZMngxWkdWeklITjViV0p2YkhOY2JuWmhjaUJuWlhSTFpYbHpJRDBnY21WeGRXbHlaU2duTGk5ZmIySnFaV04wTFd0bGVYTW5LVHRjYm5aaGNpQm5UMUJUSUQwZ2NtVnhkV2x5WlNnbkxpOWZiMkpxWldOMExXZHZjSE1uS1R0Y2JuWmhjaUJ3U1VVZ1BTQnlaWEYxYVhKbEtDY3VMMTl2WW1wbFkzUXRjR2xsSnlrN1hHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlHWjFibU4wYVc5dUlDaHBkQ2tnZTF4dUlDQjJZWElnY21WemRXeDBJRDBnWjJWMFMyVjVjeWhwZENrN1hHNGdJSFpoY2lCblpYUlRlVzFpYjJ4eklEMGdaMDlRVXk1bU8xeHVJQ0JwWmlBb1oyVjBVM2x0WW05c2N5a2dlMXh1SUNBZ0lIWmhjaUJ6ZVcxaWIyeHpJRDBnWjJWMFUzbHRZbTlzY3locGRDazdYRzRnSUNBZ2RtRnlJR2x6Ulc1MWJTQTlJSEJKUlM1bU8xeHVJQ0FnSUhaaGNpQnBJRDBnTUR0Y2JpQWdJQ0IyWVhJZ2EyVjVPMXh1SUNBZ0lIZG9hV3hsSUNoemVXMWliMnh6TG14bGJtZDBhQ0ErSUdrcElHbG1JQ2hwYzBWdWRXMHVZMkZzYkNocGRDd2dhMlY1SUQwZ2MzbHRZbTlzYzF0cEt5dGRLU2tnY21WemRXeDBMbkIxYzJnb2EyVjVLVHRjYmlBZ2ZTQnlaWFIxY200Z2NtVnpkV3gwTzF4dWZUdGNiaUpkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2VudW0ta2V5cy5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19leHBvcnQuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19leHBvcnQuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7ZXZhbCgidmFyIGdsb2JhbCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2dsb2JhbCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19nbG9iYWwuanNcIik7XG52YXIgY29yZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2NvcmUgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fY29yZS5qc1wiKTtcbnZhciBjdHggPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19jdHggKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fY3R4LmpzXCIpO1xudmFyIGhpZGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19oaWRlICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2hpZGUuanNcIik7XG52YXIgaGFzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9faGFzICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2hhcy5qc1wiKTtcbnZhciBQUk9UT1RZUEUgPSAncHJvdG90eXBlJztcblxudmFyICRleHBvcnQgPSBmdW5jdGlvbiAodHlwZSwgbmFtZSwgc291cmNlKSB7XG4gIHZhciBJU19GT1JDRUQgPSB0eXBlICYgJGV4cG9ydC5GO1xuICB2YXIgSVNfR0xPQkFMID0gdHlwZSAmICRleHBvcnQuRztcbiAgdmFyIElTX1NUQVRJQyA9IHR5cGUgJiAkZXhwb3J0LlM7XG4gIHZhciBJU19QUk9UTyA9IHR5cGUgJiAkZXhwb3J0LlA7XG4gIHZhciBJU19CSU5EID0gdHlwZSAmICRleHBvcnQuQjtcbiAgdmFyIElTX1dSQVAgPSB0eXBlICYgJGV4cG9ydC5XO1xuICB2YXIgZXhwb3J0cyA9IElTX0dMT0JBTCA/IGNvcmUgOiBjb3JlW25hbWVdIHx8IChjb3JlW25hbWVdID0ge30pO1xuICB2YXIgZXhwUHJvdG8gPSBleHBvcnRzW1BST1RPVFlQRV07XG4gIHZhciB0YXJnZXQgPSBJU19HTE9CQUwgPyBnbG9iYWwgOiBJU19TVEFUSUMgPyBnbG9iYWxbbmFtZV0gOiAoZ2xvYmFsW25hbWVdIHx8IHt9KVtQUk9UT1RZUEVdO1xuICB2YXIga2V5LCBvd24sIG91dDtcbiAgaWYgKElTX0dMT0JBTCkgc291cmNlID0gbmFtZTtcbiAgZm9yIChrZXkgaW4gc291cmNlKSB7XG4gICAgLy8gY29udGFpbnMgaW4gbmF0aXZlXG4gICAgb3duID0gIUlTX0ZPUkNFRCAmJiB0YXJnZXQgJiYgdGFyZ2V0W2tleV0gIT09IHVuZGVmaW5lZDtcbiAgICBpZiAob3duICYmIGhhcyhleHBvcnRzLCBrZXkpKSBjb250aW51ZTtcbiAgICAvLyBleHBvcnQgbmF0aXZlIG9yIHBhc3NlZFxuICAgIG91dCA9IG93biA/IHRhcmdldFtrZXldIDogc291cmNlW2tleV07XG4gICAgLy8gcHJldmVudCBnbG9iYWwgcG9sbHV0aW9uIGZvciBuYW1lc3BhY2VzXG4gICAgZXhwb3J0c1trZXldID0gSVNfR0xPQkFMICYmIHR5cGVvZiB0YXJnZXRba2V5XSAhPSAnZnVuY3Rpb24nID8gc291cmNlW2tleV1cbiAgICAvLyBiaW5kIHRpbWVycyB0byBnbG9iYWwgZm9yIGNhbGwgZnJvbSBleHBvcnQgY29udGV4dFxuICAgIDogSVNfQklORCAmJiBvd24gPyBjdHgob3V0LCBnbG9iYWwpXG4gICAgLy8gd3JhcCBnbG9iYWwgY29uc3RydWN0b3JzIGZvciBwcmV2ZW50IGNoYW5nZSB0aGVtIGluIGxpYnJhcnlcbiAgICA6IElTX1dSQVAgJiYgdGFyZ2V0W2tleV0gPT0gb3V0ID8gKGZ1bmN0aW9uIChDKSB7XG4gICAgICB2YXIgRiA9IGZ1bmN0aW9uIChhLCBiLCBjKSB7XG4gICAgICAgIGlmICh0aGlzIGluc3RhbmNlb2YgQykge1xuICAgICAgICAgIHN3aXRjaCAoYXJndW1lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgY2FzZSAwOiByZXR1cm4gbmV3IEMoKTtcbiAgICAgICAgICAgIGNhc2UgMTogcmV0dXJuIG5ldyBDKGEpO1xuICAgICAgICAgICAgY2FzZSAyOiByZXR1cm4gbmV3IEMoYSwgYik7XG4gICAgICAgICAgfSByZXR1cm4gbmV3IEMoYSwgYiwgYyk7XG4gICAgICAgIH0gcmV0dXJuIEMuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgIH07XG4gICAgICBGW1BST1RPVFlQRV0gPSBDW1BST1RPVFlQRV07XG4gICAgICByZXR1cm4gRjtcbiAgICAvLyBtYWtlIHN0YXRpYyB2ZXJzaW9ucyBmb3IgcHJvdG90eXBlIG1ldGhvZHNcbiAgICB9KShvdXQpIDogSVNfUFJPVE8gJiYgdHlwZW9mIG91dCA9PSAnZnVuY3Rpb24nID8gY3R4KEZ1bmN0aW9uLmNhbGwsIG91dCkgOiBvdXQ7XG4gICAgLy8gZXhwb3J0IHByb3RvIG1ldGhvZHMgdG8gY29yZS4lQ09OU1RSVUNUT1IlLm1ldGhvZHMuJU5BTUUlXG4gICAgaWYgKElTX1BST1RPKSB7XG4gICAgICAoZXhwb3J0cy52aXJ0dWFsIHx8IChleHBvcnRzLnZpcnR1YWwgPSB7fSkpW2tleV0gPSBvdXQ7XG4gICAgICAvLyBleHBvcnQgcHJvdG8gbWV0aG9kcyB0byBjb3JlLiVDT05TVFJVQ1RPUiUucHJvdG90eXBlLiVOQU1FJVxuICAgICAgaWYgKHR5cGUgJiAkZXhwb3J0LlIgJiYgZXhwUHJvdG8gJiYgIWV4cFByb3RvW2tleV0pIGhpZGUoZXhwUHJvdG8sIGtleSwgb3V0KTtcbiAgICB9XG4gIH1cbn07XG4vLyB0eXBlIGJpdG1hcFxuJGV4cG9ydC5GID0gMTsgICAvLyBmb3JjZWRcbiRleHBvcnQuRyA9IDI7ICAgLy8gZ2xvYmFsXG4kZXhwb3J0LlMgPSA0OyAgIC8vIHN0YXRpY1xuJGV4cG9ydC5QID0gODsgICAvLyBwcm90b1xuJGV4cG9ydC5CID0gMTY7ICAvLyBiaW5kXG4kZXhwb3J0LlcgPSAzMjsgIC8vIHdyYXBcbiRleHBvcnQuVSA9IDY0OyAgLy8gc2FmZVxuJGV4cG9ydC5SID0gMTI4OyAvLyByZWFsIHByb3RvIG1ldGhvZCBmb3IgYGxpYnJhcnlgXG5tb2R1bGUuZXhwb3J0cyA9ICRleHBvcnQ7XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTlzYVdKeVlYSjVMMjF2WkhWc1pYTXZYMlY0Y0c5eWRDNXFjeTVxY3lJc0luTnZkWEpqWlhNaU9sc2lkMlZpY0dGamF6b3ZMeTh1TDI1dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyeHBZbkpoY25rdmJXOWtkV3hsY3k5ZlpYaHdiM0owTG1welB6WXpZallpWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWRtRnlJR2RzYjJKaGJDQTlJSEpsY1hWcGNtVW9KeTR2WDJkc2IySmhiQ2NwTzF4dWRtRnlJR052Y21VZ1BTQnlaWEYxYVhKbEtDY3VMMTlqYjNKbEp5azdYRzUyWVhJZ1kzUjRJRDBnY21WeGRXbHlaU2duTGk5ZlkzUjRKeWs3WEc1MllYSWdhR2xrWlNBOUlISmxjWFZwY21Vb0p5NHZYMmhwWkdVbktUdGNiblpoY2lCb1lYTWdQU0J5WlhGMWFYSmxLQ2N1TDE5b1lYTW5LVHRjYm5aaGNpQlFVazlVVDFSWlVFVWdQU0FuY0hKdmRHOTBlWEJsSnp0Y2JseHVkbUZ5SUNSbGVIQnZjblFnUFNCbWRXNWpkR2x2YmlBb2RIbHdaU3dnYm1GdFpTd2djMjkxY21ObEtTQjdYRzRnSUhaaGNpQkpVMTlHVDFKRFJVUWdQU0IwZVhCbElDWWdKR1Y0Y0c5eWRDNUdPMXh1SUNCMllYSWdTVk5mUjB4UFFrRk1JRDBnZEhsd1pTQW1JQ1JsZUhCdmNuUXVSenRjYmlBZ2RtRnlJRWxUWDFOVVFWUkpReUE5SUhSNWNHVWdKaUFrWlhod2IzSjBMbE03WEc0Z0lIWmhjaUJKVTE5UVVrOVVUeUE5SUhSNWNHVWdKaUFrWlhod2IzSjBMbEE3WEc0Z0lIWmhjaUJKVTE5Q1NVNUVJRDBnZEhsd1pTQW1JQ1JsZUhCdmNuUXVRanRjYmlBZ2RtRnlJRWxUWDFkU1FWQWdQU0IwZVhCbElDWWdKR1Y0Y0c5eWRDNVhPMXh1SUNCMllYSWdaWGh3YjNKMGN5QTlJRWxUWDBkTVQwSkJUQ0EvSUdOdmNtVWdPaUJqYjNKbFcyNWhiV1ZkSUh4OElDaGpiM0psVzI1aGJXVmRJRDBnZTMwcE8xeHVJQ0IyWVhJZ1pYaHdVSEp2ZEc4Z1BTQmxlSEJ2Y25SelcxQlNUMVJQVkZsUVJWMDdYRzRnSUhaaGNpQjBZWEpuWlhRZ1BTQkpVMTlIVEU5Q1FVd2dQeUJuYkc5aVlXd2dPaUJKVTE5VFZFRlVTVU1nUHlCbmJHOWlZV3hiYm1GdFpWMGdPaUFvWjJ4dlltRnNXMjVoYldWZElIeDhJSHQ5S1Z0UVVrOVVUMVJaVUVWZE8xeHVJQ0IyWVhJZ2EyVjVMQ0J2ZDI0c0lHOTFkRHRjYmlBZ2FXWWdLRWxUWDBkTVQwSkJUQ2tnYzI5MWNtTmxJRDBnYm1GdFpUdGNiaUFnWm05eUlDaHJaWGtnYVc0Z2MyOTFjbU5sS1NCN1hHNGdJQ0FnTHk4Z1kyOXVkR0ZwYm5NZ2FXNGdibUYwYVhabFhHNGdJQ0FnYjNkdUlEMGdJVWxUWDBaUFVrTkZSQ0FtSmlCMFlYSm5aWFFnSmlZZ2RHRnlaMlYwVzJ0bGVWMGdJVDA5SUhWdVpHVm1hVzVsWkR0Y2JpQWdJQ0JwWmlBb2IzZHVJQ1ltSUdoaGN5aGxlSEJ2Y25SekxDQnJaWGtwS1NCamIyNTBhVzUxWlR0Y2JpQWdJQ0F2THlCbGVIQnZjblFnYm1GMGFYWmxJRzl5SUhCaGMzTmxaRnh1SUNBZ0lHOTFkQ0E5SUc5M2JpQS9JSFJoY21kbGRGdHJaWGxkSURvZ2MyOTFjbU5sVzJ0bGVWMDdYRzRnSUNBZ0x5OGdjSEpsZG1WdWRDQm5iRzlpWVd3Z2NHOXNiSFYwYVc5dUlHWnZjaUJ1WVcxbGMzQmhZMlZ6WEc0Z0lDQWdaWGh3YjNKMGMxdHJaWGxkSUQwZ1NWTmZSMHhQUWtGTUlDWW1JSFI1Y0dWdlppQjBZWEpuWlhSYmEyVjVYU0FoUFNBblpuVnVZM1JwYjI0bklEOGdjMjkxY21ObFcydGxlVjFjYmlBZ0lDQXZMeUJpYVc1a0lIUnBiV1Z5Y3lCMGJ5Qm5iRzlpWVd3Z1ptOXlJR05oYkd3Z1puSnZiU0JsZUhCdmNuUWdZMjl1ZEdWNGRGeHVJQ0FnSURvZ1NWTmZRa2xPUkNBbUppQnZkMjRnUHlCamRIZ29iM1YwTENCbmJHOWlZV3dwWEc0Z0lDQWdMeThnZDNKaGNDQm5iRzlpWVd3Z1kyOXVjM1J5ZFdOMGIzSnpJR1p2Y2lCd2NtVjJaVzUwSUdOb1lXNW5aU0IwYUdWdElHbHVJR3hwWW5KaGNubGNiaUFnSUNBNklFbFRYMWRTUVZBZ0ppWWdkR0Z5WjJWMFcydGxlVjBnUFQwZ2IzVjBJRDhnS0daMWJtTjBhVzl1SUNoREtTQjdYRzRnSUNBZ0lDQjJZWElnUmlBOUlHWjFibU4wYVc5dUlDaGhMQ0JpTENCaktTQjdYRzRnSUNBZ0lDQWdJR2xtSUNoMGFHbHpJR2x1YzNSaGJtTmxiMllnUXlrZ2UxeHVJQ0FnSUNBZ0lDQWdJSE4zYVhSamFDQW9ZWEpuZFcxbGJuUnpMbXhsYm1kMGFDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0F3T2lCeVpYUjFjbTRnYm1WM0lFTW9LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnTVRvZ2NtVjBkWEp1SUc1bGR5QkRLR0VwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBeU9pQnlaWFIxY200Z2JtVjNJRU1vWVN3Z1lpazdYRzRnSUNBZ0lDQWdJQ0FnZlNCeVpYUjFjbTRnYm1WM0lFTW9ZU3dnWWl3Z1l5azdYRzRnSUNBZ0lDQWdJSDBnY21WMGRYSnVJRU11WVhCd2JIa29kR2hwY3l3Z1lYSm5kVzFsYm5SektUdGNiaUFnSUNBZ0lIMDdYRzRnSUNBZ0lDQkdXMUJTVDFSUFZGbFFSVjBnUFNCRFcxQlNUMVJQVkZsUVJWMDdYRzRnSUNBZ0lDQnlaWFIxY200Z1JqdGNiaUFnSUNBdkx5QnRZV3RsSUhOMFlYUnBZeUIyWlhKemFXOXVjeUJtYjNJZ2NISnZkRzkwZVhCbElHMWxkR2h2WkhOY2JpQWdJQ0I5S1NodmRYUXBJRG9nU1ZOZlVGSlBWRThnSmlZZ2RIbHdaVzltSUc5MWRDQTlQU0FuWm5WdVkzUnBiMjRuSUQ4Z1kzUjRLRVoxYm1OMGFXOXVMbU5oYkd3c0lHOTFkQ2tnT2lCdmRYUTdYRzRnSUNBZ0x5OGdaWGh3YjNKMElIQnliM1J2SUcxbGRHaHZaSE1nZEc4Z1kyOXlaUzRsUTA5T1UxUlNWVU5VVDFJbExtMWxkR2h2WkhNdUpVNUJUVVVsWEc0Z0lDQWdhV1lnS0VsVFgxQlNUMVJQS1NCN1hHNGdJQ0FnSUNBb1pYaHdiM0owY3k1MmFYSjBkV0ZzSUh4OElDaGxlSEJ2Y25SekxuWnBjblIxWVd3Z1BTQjdmU2twVzJ0bGVWMGdQU0J2ZFhRN1hHNGdJQ0FnSUNBdkx5QmxlSEJ2Y25RZ2NISnZkRzhnYldWMGFHOWtjeUIwYnlCamIzSmxMaVZEVDA1VFZGSlZRMVJQVWlVdWNISnZkRzkwZVhCbExpVk9RVTFGSlZ4dUlDQWdJQ0FnYVdZZ0tIUjVjR1VnSmlBa1pYaHdiM0owTGxJZ0ppWWdaWGh3VUhKdmRHOGdKaVlnSVdWNGNGQnliM1J2VzJ0bGVWMHBJR2hwWkdVb1pYaHdVSEp2ZEc4c0lHdGxlU3dnYjNWMEtUdGNiaUFnSUNCOVhHNGdJSDFjYm4wN1hHNHZMeUIwZVhCbElHSnBkRzFoY0Z4dUpHVjRjRzl5ZEM1R0lEMGdNVHNnSUNBdkx5Qm1iM0pqWldSY2JpUmxlSEJ2Y25RdVJ5QTlJREk3SUNBZ0x5OGdaMnh2WW1Gc1hHNGtaWGh3YjNKMExsTWdQU0EwT3lBZ0lDOHZJSE4wWVhScFkxeHVKR1Y0Y0c5eWRDNVFJRDBnT0RzZ0lDQXZMeUJ3Y205MGIxeHVKR1Y0Y0c5eWRDNUNJRDBnTVRZN0lDQXZMeUJpYVc1a1hHNGtaWGh3YjNKMExsY2dQU0F6TWpzZ0lDOHZJSGR5WVhCY2JpUmxlSEJ2Y25RdVZTQTlJRFkwT3lBZ0x5OGdjMkZtWlZ4dUpHVjRjRzl5ZEM1U0lEMGdNVEk0T3lBdkx5QnlaV0ZzSUhCeWIzUnZJRzFsZEdodlpDQm1iM0lnWUd4cFluSmhjbmxnWEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUNSbGVIQnZjblE3WEc0aVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN0lpd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19leHBvcnQuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fZmFpbHMuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2ZhaWxzLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpe2V2YWwoIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGV4ZWMpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gISFleGVjKCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXNhV0p5WVhKNUwyMXZaSFZzWlhNdlgyWmhhV3h6TG1wekxtcHpJaXdpYzI5MWNtTmxjeUk2V3lKM1pXSndZV05yT2k4dkx5NHZibTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12YkdsaWNtRnllUzl0YjJSMWJHVnpMMTltWVdsc2N5NXFjejh5T1RSaklsMHNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdablZ1WTNScGIyNGdLR1Y0WldNcElIdGNiaUFnZEhKNUlIdGNiaUFnSUNCeVpYUjFjbTRnSVNGbGVHVmpLQ2s3WEc0Z0lIMGdZMkYwWTJnZ0tHVXBJSHRjYmlBZ0lDQnlaWFIxY200Z2RISjFaVHRjYmlBZ2ZWeHVmVHRjYmlKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdJaXdpYzI5MWNtTmxVbTl2ZENJNklpSjlcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fZmFpbHMuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fZ2xvYmFsLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fZ2xvYmFsLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXtldmFsKCIvLyBodHRwczovL2dpdGh1Yi5jb20vemxvaXJvY2svY29yZS1qcy9pc3N1ZXMvODYjaXNzdWVjb21tZW50LTExNTc1OTAyOFxudmFyIGdsb2JhbCA9IG1vZHVsZS5leHBvcnRzID0gdHlwZW9mIHdpbmRvdyAhPSAndW5kZWZpbmVkJyAmJiB3aW5kb3cuTWF0aCA9PSBNYXRoXG4gID8gd2luZG93IDogdHlwZW9mIHNlbGYgIT0gJ3VuZGVmaW5lZCcgJiYgc2VsZi5NYXRoID09IE1hdGggPyBzZWxmXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1uZXctZnVuY1xuICA6IEZ1bmN0aW9uKCdyZXR1cm4gdGhpcycpKCk7XG5pZiAodHlwZW9mIF9fZyA9PSAnbnVtYmVyJykgX19nID0gZ2xvYmFsOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVuZGVmXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTlzYVdKeVlYSjVMMjF2WkhWc1pYTXZYMmRzYjJKaGJDNXFjeTVxY3lJc0luTnZkWEpqWlhNaU9sc2lkMlZpY0dGamF6b3ZMeTh1TDI1dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyeHBZbkpoY25rdmJXOWtkV3hsY3k5ZloyeHZZbUZzTG1welAyVTFNMlFpWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUx5OGdhSFIwY0hNNkx5OW5hWFJvZFdJdVkyOXRMM3BzYjJseWIyTnJMMk52Y21VdGFuTXZhWE56ZFdWekx6ZzJJMmx6YzNWbFkyOXRiV1Z1ZEMweE1UVTNOVGt3TWpoY2JuWmhjaUJuYkc5aVlXd2dQU0J0YjJSMWJHVXVaWGh3YjNKMGN5QTlJSFI1Y0dWdlppQjNhVzVrYjNjZ0lUMGdKM1Z1WkdWbWFXNWxaQ2NnSmlZZ2QybHVaRzkzTGsxaGRHZ2dQVDBnVFdGMGFGeHVJQ0EvSUhkcGJtUnZkeUE2SUhSNWNHVnZaaUJ6Wld4bUlDRTlJQ2QxYm1SbFptbHVaV1FuSUNZbUlITmxiR1l1VFdGMGFDQTlQU0JOWVhSb0lEOGdjMlZzWmx4dUlDQXZMeUJsYzJ4cGJuUXRaR2x6WVdKc1pTMXVaWGgwTFd4cGJtVWdibTh0Ym1WM0xXWjFibU5jYmlBZ09pQkdkVzVqZEdsdmJpZ25jbVYwZFhKdUlIUm9hWE1uS1NncE8xeHVhV1lnS0hSNWNHVnZaaUJmWDJjZ1BUMGdKMjUxYldKbGNpY3BJRjlmWnlBOUlHZHNiMkpoYkRzZ0x5OGdaWE5zYVc1MExXUnBjMkZpYkdVdGJHbHVaU0J1YnkxMWJtUmxabHh1SWwwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3SWl3aWMyOTFjbU5sVW05dmRDSTZJaUo5XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2dsb2JhbC5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19oYXMuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19oYXMuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpe2V2YWwoInZhciBoYXNPd25Qcm9wZXJ0eSA9IHt9Lmhhc093blByb3BlcnR5O1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQsIGtleSkge1xuICByZXR1cm4gaGFzT3duUHJvcGVydHkuY2FsbChpdCwga2V5KTtcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTlzYVdKeVlYSjVMMjF2WkhWc1pYTXZYMmhoY3k1cWN5NXFjeUlzSW5OdmRYSmpaWE1pT2xzaWQyVmljR0ZqYXpvdkx5OHVMMjV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDJ4cFluSmhjbmt2Ylc5a2RXeGxjeTlmYUdGekxtcHpQekEzWlRNaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lkbUZ5SUdoaGMwOTNibEJ5YjNCbGNuUjVJRDBnZTMwdWFHRnpUM2R1VUhKdmNHVnlkSGs3WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUdaMWJtTjBhVzl1SUNocGRDd2dhMlY1S1NCN1hHNGdJSEpsZEhWeWJpQm9ZWE5QZDI1UWNtOXdaWEowZVM1allXeHNLR2wwTENCclpYa3BPMXh1ZlR0Y2JpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN0lpd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19oYXMuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9faGlkZS5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19oaWRlLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXtldmFsKCJ2YXIgZFAgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19vYmplY3QtZHAgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fb2JqZWN0LWRwLmpzXCIpO1xudmFyIGNyZWF0ZURlc2MgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19wcm9wZXJ0eS1kZXNjICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3Byb3BlcnR5LWRlc2MuanNcIik7XG5tb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2Rlc2NyaXB0b3JzICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2Rlc2NyaXB0b3JzLmpzXCIpID8gZnVuY3Rpb24gKG9iamVjdCwga2V5LCB2YWx1ZSkge1xuICByZXR1cm4gZFAuZihvYmplY3QsIGtleSwgY3JlYXRlRGVzYygxLCB2YWx1ZSkpO1xufSA6IGZ1bmN0aW9uIChvYmplY3QsIGtleSwgdmFsdWUpIHtcbiAgb2JqZWN0W2tleV0gPSB2YWx1ZTtcbiAgcmV0dXJuIG9iamVjdDtcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTlzYVdKeVlYSjVMMjF2WkhWc1pYTXZYMmhwWkdVdWFuTXVhbk1pTENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OHZMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5c2FXSnlZWEo1TDIxdlpIVnNaWE12WDJocFpHVXVhbk0vTXpWbE9DSmRMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUoyWVhJZ1pGQWdQU0J5WlhGMWFYSmxLQ2N1TDE5dlltcGxZM1F0WkhBbktUdGNiblpoY2lCamNtVmhkR1ZFWlhOaklEMGdjbVZ4ZFdseVpTZ25MaTlmY0hKdmNHVnlkSGt0WkdWell5Y3BPMXh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0J5WlhGMWFYSmxLQ2N1TDE5a1pYTmpjbWx3ZEc5eWN5Y3BJRDhnWm5WdVkzUnBiMjRnS0c5aWFtVmpkQ3dnYTJWNUxDQjJZV3gxWlNrZ2UxeHVJQ0J5WlhSMWNtNGdaRkF1WmlodlltcGxZM1FzSUd0bGVTd2dZM0psWVhSbFJHVnpZeWd4TENCMllXeDFaU2twTzF4dWZTQTZJR1oxYm1OMGFXOXVJQ2h2WW1wbFkzUXNJR3RsZVN3Z2RtRnNkV1VwSUh0Y2JpQWdiMkpxWldOMFcydGxlVjBnUFNCMllXeDFaVHRjYmlBZ2NtVjBkWEp1SUc5aWFtVmpkRHRjYm4wN1hHNGlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdJaXdpYzI5MWNtTmxVbTl2ZENJNklpSjlcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9faGlkZS5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19odG1sLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2h0bWwuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18pe2V2YWwoInZhciBkb2N1bWVudCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2dsb2JhbCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19nbG9iYWwuanNcIikuZG9jdW1lbnQ7XG5tb2R1bGUuZXhwb3J0cyA9IGRvY3VtZW50ICYmIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXNhV0p5WVhKNUwyMXZaSFZzWlhNdlgyaDBiV3d1YW5NdWFuTWlMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk4dkxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTlzYVdKeVlYSjVMMjF2WkhWc1pYTXZYMmgwYld3dWFuTS9NekptWXlKZExDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SjJZWElnWkc5amRXMWxiblFnUFNCeVpYRjFhWEpsS0NjdUwxOW5iRzlpWVd3bktTNWtiMk4xYldWdWREdGNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdaRzlqZFcxbGJuUWdKaVlnWkc5amRXMWxiblF1Wkc5amRXMWxiblJGYkdWdFpXNTBPMXh1SWwwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVTkJPeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2h0bWwuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9faWU4LWRvbS1kZWZpbmUuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2llOC1kb20tZGVmaW5lLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7ZXZhbCgibW9kdWxlLmV4cG9ydHMgPSAhX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fZGVzY3JpcHRvcnMgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fZGVzY3JpcHRvcnMuanNcIikgJiYgIV9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2ZhaWxzICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2ZhaWxzLmpzXCIpKGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19kb20tY3JlYXRlICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2RvbS1jcmVhdGUuanNcIikoJ2RpdicpLCAnYScsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiA3OyB9IH0pLmEgIT0gNztcbn0pO1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5c2FXSnlZWEo1TDIxdlpIVnNaWE12WDJsbE9DMWtiMjB0WkdWbWFXNWxMbXB6TG1weklpd2ljMjkxY21ObGN5STZXeUozWldKd1lXTnJPaTh2THk0dmJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiR2xpY21GeWVTOXRiMlIxYkdWekwxOXBaVGd0Wkc5dExXUmxabWx1WlM1cWN6ODNPVFJpSWwwc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ0lYSmxjWFZwY21Vb0p5NHZYMlJsYzJOeWFYQjBiM0p6SnlrZ0ppWWdJWEpsY1hWcGNtVW9KeTR2WDJaaGFXeHpKeWtvWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0J5WlhSMWNtNGdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0hKbGNYVnBjbVVvSnk0dlgyUnZiUzFqY21WaGRHVW5LU2duWkdsMkp5a3NJQ2RoSnl3Z2V5Qm5aWFE2SUdaMWJtTjBhVzl1SUNncElIc2djbVYwZFhKdUlEYzdJSDBnZlNrdVlTQWhQU0EzTzF4dWZTazdYRzRpWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTzBGQlEwRTdRVUZEUVRzaUxDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19pZTgtZG9tLWRlZmluZS5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19pb2JqZWN0LmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2lvYmplY3QuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18pe2V2YWwoIi8vIGZhbGxiYWNrIGZvciBub24tYXJyYXktbGlrZSBFUzMgYW5kIG5vbi1lbnVtZXJhYmxlIG9sZCBWOCBzdHJpbmdzXG52YXIgY29mID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fY29mICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2NvZi5qc1wiKTtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wcm90b3R5cGUtYnVpbHRpbnNcbm1vZHVsZS5leHBvcnRzID0gT2JqZWN0KCd6JykucHJvcGVydHlJc0VudW1lcmFibGUoMCkgPyBPYmplY3QgOiBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIGNvZihpdCkgPT0gJ1N0cmluZycgPyBpdC5zcGxpdCgnJykgOiBPYmplY3QoaXQpO1xufTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXNhV0p5WVhKNUwyMXZaSFZzWlhNdlgybHZZbXBsWTNRdWFuTXVhbk1pTENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OHZMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5c2FXSnlZWEo1TDIxdlpIVnNaWE12WDJsdlltcGxZM1F1YW5NL016TTFZeUpkTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdkx5Qm1ZV3hzWW1GamF5Qm1iM0lnYm05dUxXRnljbUY1TFd4cGEyVWdSVk16SUdGdVpDQnViMjR0Wlc1MWJXVnlZV0pzWlNCdmJHUWdWamdnYzNSeWFXNW5jMXh1ZG1GeUlHTnZaaUE5SUhKbGNYVnBjbVVvSnk0dlgyTnZaaWNwTzF4dUx5OGdaWE5zYVc1MExXUnBjMkZpYkdVdGJtVjRkQzFzYVc1bElHNXZMWEJ5YjNSdmRIbHdaUzFpZFdsc2RHbHVjMXh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JQWW1wbFkzUW9KM29uS1M1d2NtOXdaWEowZVVselJXNTFiV1Z5WVdKc1pTZ3dLU0EvSUU5aWFtVmpkQ0E2SUdaMWJtTjBhVzl1SUNocGRDa2dlMXh1SUNCeVpYUjFjbTRnWTI5bUtHbDBLU0E5UFNBblUzUnlhVzVuSnlBL0lHbDBMbk53YkdsMEtDY25LU0E2SUU5aWFtVmpkQ2hwZENrN1hHNTlPMXh1SWwwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3SWl3aWMyOTFjbU5sVW05dmRDSTZJaUo5XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2lvYmplY3QuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9faXMtYXJyYXkuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2lzLWFycmF5LmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7ZXZhbCgiLy8gNy4yLjIgSXNBcnJheShhcmd1bWVudClcbnZhciBjb2YgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19jb2YgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fY29mLmpzXCIpO1xubW9kdWxlLmV4cG9ydHMgPSBBcnJheS5pc0FycmF5IHx8IGZ1bmN0aW9uIGlzQXJyYXkoYXJnKSB7XG4gIHJldHVybiBjb2YoYXJnKSA9PSAnQXJyYXknO1xufTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXNhV0p5WVhKNUwyMXZaSFZzWlhNdlgybHpMV0Z5Y21GNUxtcHpMbXB6SWl3aWMyOTFjbU5sY3lJNld5SjNaV0p3WVdOck9pOHZMeTR2Ym05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJHbGljbUZ5ZVM5dGIyUjFiR1Z6TDE5cGN5MWhjbkpoZVM1cWN6ODVNREF6SWwwc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHZJRGN1TWk0eUlFbHpRWEp5WVhrb1lYSm5kVzFsYm5RcFhHNTJZWElnWTI5bUlEMGdjbVZ4ZFdseVpTZ25MaTlmWTI5bUp5azdYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJRUZ5Y21GNUxtbHpRWEp5WVhrZ2ZId2dablZ1WTNScGIyNGdhWE5CY25KaGVTaGhjbWNwSUh0Y2JpQWdjbVYwZFhKdUlHTnZaaWhoY21jcElEMDlJQ2RCY25KaGVTYzdYRzU5TzF4dUlsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2lzLWFycmF5LmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2lzLW9iamVjdC5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2lzLW9iamVjdC5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7ZXZhbCgibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIHR5cGVvZiBpdCA9PT0gJ29iamVjdCcgPyBpdCAhPT0gbnVsbCA6IHR5cGVvZiBpdCA9PT0gJ2Z1bmN0aW9uJztcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTlzYVdKeVlYSjVMMjF2WkhWc1pYTXZYMmx6TFc5aWFtVmpkQzVxY3k1cWN5SXNJbk52ZFhKalpYTWlPbHNpZDJWaWNHRmphem92THk4dUwyNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMnhwWW5KaGNua3ZiVzlrZFd4bGN5OWZhWE10YjJKcVpXTjBMbXB6UDJZM056SWlYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0JtZFc1amRHbHZiaUFvYVhRcElIdGNiaUFnY21WMGRYSnVJSFI1Y0dWdlppQnBkQ0E5UFQwZ0oyOWlhbVZqZENjZ1B5QnBkQ0FoUFQwZ2JuVnNiQ0E2SUhSNWNHVnZaaUJwZENBOVBUMGdKMloxYm1OMGFXOXVKenRjYm4wN1hHNGlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRRVHNpTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2lzLW9iamVjdC5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19pdGVyLWNyZWF0ZS5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9faXRlci1jcmVhdGUuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXsidXNlIHN0cmljdCI7ZXZhbCgiXG52YXIgY3JlYXRlID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fb2JqZWN0LWNyZWF0ZSAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19vYmplY3QtY3JlYXRlLmpzXCIpO1xudmFyIGRlc2NyaXB0b3IgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19wcm9wZXJ0eS1kZXNjICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3Byb3BlcnR5LWRlc2MuanNcIik7XG52YXIgc2V0VG9TdHJpbmdUYWcgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19zZXQtdG8tc3RyaW5nLXRhZyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19zZXQtdG8tc3RyaW5nLXRhZy5qc1wiKTtcbnZhciBJdGVyYXRvclByb3RvdHlwZSA9IHt9O1xuXG4vLyAyNS4xLjIuMS4xICVJdGVyYXRvclByb3RvdHlwZSVbQEBpdGVyYXRvcl0oKVxuX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9faGlkZSAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19oaWRlLmpzXCIpKEl0ZXJhdG9yUHJvdG90eXBlLCBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL193a3MgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fd2tzLmpzXCIpKCdpdGVyYXRvcicpLCBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9KTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoQ29uc3RydWN0b3IsIE5BTUUsIG5leHQpIHtcbiAgQ29uc3RydWN0b3IucHJvdG90eXBlID0gY3JlYXRlKEl0ZXJhdG9yUHJvdG90eXBlLCB7IG5leHQ6IGRlc2NyaXB0b3IoMSwgbmV4dCkgfSk7XG4gIHNldFRvU3RyaW5nVGFnKENvbnN0cnVjdG9yLCBOQU1FICsgJyBJdGVyYXRvcicpO1xufTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXNhV0p5WVhKNUwyMXZaSFZzWlhNdlgybDBaWEl0WTNKbFlYUmxMbXB6TG1weklpd2ljMjkxY21ObGN5STZXeUozWldKd1lXTnJPaTh2THk0dmJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiR2xpY21GeWVTOXRiMlIxYkdWekwxOXBkR1Z5TFdOeVpXRjBaUzVxY3o4NFpqWXdJbDBzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWlkMWMyVWdjM1J5YVdOMEp6dGNiblpoY2lCamNtVmhkR1VnUFNCeVpYRjFhWEpsS0NjdUwxOXZZbXBsWTNRdFkzSmxZWFJsSnlrN1hHNTJZWElnWkdWelkzSnBjSFJ2Y2lBOUlISmxjWFZwY21Vb0p5NHZYM0J5YjNCbGNuUjVMV1JsYzJNbktUdGNiblpoY2lCelpYUlViMU4wY21sdVoxUmhaeUE5SUhKbGNYVnBjbVVvSnk0dlgzTmxkQzEwYnkxemRISnBibWN0ZEdGbkp5azdYRzUyWVhJZ1NYUmxjbUYwYjNKUWNtOTBiM1I1Y0dVZ1BTQjdmVHRjYmx4dUx5OGdNalV1TVM0eUxqRXVNU0FsU1hSbGNtRjBiM0pRY205MGIzUjVjR1VsVzBCQWFYUmxjbUYwYjNKZEtDbGNibkpsY1hWcGNtVW9KeTR2WDJocFpHVW5LU2hKZEdWeVlYUnZjbEJ5YjNSdmRIbHdaU3dnY21WeGRXbHlaU2duTGk5ZmQydHpKeWtvSjJsMFpYSmhkRzl5Snlrc0lHWjFibU4wYVc5dUlDZ3BJSHNnY21WMGRYSnVJSFJvYVhNN0lIMHBPMXh1WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUdaMWJtTjBhVzl1SUNoRGIyNXpkSEoxWTNSdmNpd2dUa0ZOUlN3Z2JtVjRkQ2tnZTF4dUlDQkRiMjV6ZEhKMVkzUnZjaTV3Y205MGIzUjVjR1VnUFNCamNtVmhkR1VvU1hSbGNtRjBiM0pRY205MGIzUjVjR1VzSUhzZ2JtVjRkRG9nWkdWelkzSnBjSFJ2Y2lneExDQnVaWGgwS1NCOUtUdGNiaUFnYzJWMFZHOVRkSEpwYm1kVVlXY29RMjl1YzNSeWRXTjBiM0lzSUU1QlRVVWdLeUFuSUVsMFpYSmhkRzl5SnlrN1hHNTlPMXh1SWwwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHNpTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2l0ZXItY3JlYXRlLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2l0ZXItZGVmaW5lLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19pdGVyLWRlZmluZS5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18peyJ1c2Ugc3RyaWN0IjtldmFsKCJcbnZhciBMSUJSQVJZID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fbGlicmFyeSAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19saWJyYXJ5LmpzXCIpO1xudmFyICRleHBvcnQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19leHBvcnQgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fZXhwb3J0LmpzXCIpO1xudmFyIHJlZGVmaW5lID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fcmVkZWZpbmUgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fcmVkZWZpbmUuanNcIik7XG52YXIgaGlkZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2hpZGUgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9faGlkZS5qc1wiKTtcbnZhciBJdGVyYXRvcnMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19pdGVyYXRvcnMgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9faXRlcmF0b3JzLmpzXCIpO1xudmFyICRpdGVyQ3JlYXRlID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9faXRlci1jcmVhdGUgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9faXRlci1jcmVhdGUuanNcIik7XG52YXIgc2V0VG9TdHJpbmdUYWcgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19zZXQtdG8tc3RyaW5nLXRhZyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19zZXQtdG8tc3RyaW5nLXRhZy5qc1wiKTtcbnZhciBnZXRQcm90b3R5cGVPZiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX29iamVjdC1ncG8gKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fb2JqZWN0LWdwby5qc1wiKTtcbnZhciBJVEVSQVRPUiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3drcyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL193a3MuanNcIikoJ2l0ZXJhdG9yJyk7XG52YXIgQlVHR1kgPSAhKFtdLmtleXMgJiYgJ25leHQnIGluIFtdLmtleXMoKSk7IC8vIFNhZmFyaSBoYXMgYnVnZ3kgaXRlcmF0b3JzIHcvbyBgbmV4dGBcbnZhciBGRl9JVEVSQVRPUiA9ICdAQGl0ZXJhdG9yJztcbnZhciBLRVlTID0gJ2tleXMnO1xudmFyIFZBTFVFUyA9ICd2YWx1ZXMnO1xuXG52YXIgcmV0dXJuVGhpcyA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH07XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKEJhc2UsIE5BTUUsIENvbnN0cnVjdG9yLCBuZXh0LCBERUZBVUxULCBJU19TRVQsIEZPUkNFRCkge1xuICAkaXRlckNyZWF0ZShDb25zdHJ1Y3RvciwgTkFNRSwgbmV4dCk7XG4gIHZhciBnZXRNZXRob2QgPSBmdW5jdGlvbiAoa2luZCkge1xuICAgIGlmICghQlVHR1kgJiYga2luZCBpbiBwcm90bykgcmV0dXJuIHByb3RvW2tpbmRdO1xuICAgIHN3aXRjaCAoa2luZCkge1xuICAgICAgY2FzZSBLRVlTOiByZXR1cm4gZnVuY3Rpb24ga2V5cygpIHsgcmV0dXJuIG5ldyBDb25zdHJ1Y3Rvcih0aGlzLCBraW5kKTsgfTtcbiAgICAgIGNhc2UgVkFMVUVTOiByZXR1cm4gZnVuY3Rpb24gdmFsdWVzKCkgeyByZXR1cm4gbmV3IENvbnN0cnVjdG9yKHRoaXMsIGtpbmQpOyB9O1xuICAgIH0gcmV0dXJuIGZ1bmN0aW9uIGVudHJpZXMoKSB7IHJldHVybiBuZXcgQ29uc3RydWN0b3IodGhpcywga2luZCk7IH07XG4gIH07XG4gIHZhciBUQUcgPSBOQU1FICsgJyBJdGVyYXRvcic7XG4gIHZhciBERUZfVkFMVUVTID0gREVGQVVMVCA9PSBWQUxVRVM7XG4gIHZhciBWQUxVRVNfQlVHID0gZmFsc2U7XG4gIHZhciBwcm90byA9IEJhc2UucHJvdG90eXBlO1xuICB2YXIgJG5hdGl2ZSA9IHByb3RvW0lURVJBVE9SXSB8fCBwcm90b1tGRl9JVEVSQVRPUl0gfHwgREVGQVVMVCAmJiBwcm90b1tERUZBVUxUXTtcbiAgdmFyICRkZWZhdWx0ID0gJG5hdGl2ZSB8fCBnZXRNZXRob2QoREVGQVVMVCk7XG4gIHZhciAkZW50cmllcyA9IERFRkFVTFQgPyAhREVGX1ZBTFVFUyA/ICRkZWZhdWx0IDogZ2V0TWV0aG9kKCdlbnRyaWVzJykgOiB1bmRlZmluZWQ7XG4gIHZhciAkYW55TmF0aXZlID0gTkFNRSA9PSAnQXJyYXknID8gcHJvdG8uZW50cmllcyB8fCAkbmF0aXZlIDogJG5hdGl2ZTtcbiAgdmFyIG1ldGhvZHMsIGtleSwgSXRlcmF0b3JQcm90b3R5cGU7XG4gIC8vIEZpeCBuYXRpdmVcbiAgaWYgKCRhbnlOYXRpdmUpIHtcbiAgICBJdGVyYXRvclByb3RvdHlwZSA9IGdldFByb3RvdHlwZU9mKCRhbnlOYXRpdmUuY2FsbChuZXcgQmFzZSgpKSk7XG4gICAgaWYgKEl0ZXJhdG9yUHJvdG90eXBlICE9PSBPYmplY3QucHJvdG90eXBlICYmIEl0ZXJhdG9yUHJvdG90eXBlLm5leHQpIHtcbiAgICAgIC8vIFNldCBAQHRvU3RyaW5nVGFnIHRvIG5hdGl2ZSBpdGVyYXRvcnNcbiAgICAgIHNldFRvU3RyaW5nVGFnKEl0ZXJhdG9yUHJvdG90eXBlLCBUQUcsIHRydWUpO1xuICAgICAgLy8gZml4IGZvciBzb21lIG9sZCBlbmdpbmVzXG4gICAgICBpZiAoIUxJQlJBUlkgJiYgdHlwZW9mIEl0ZXJhdG9yUHJvdG90eXBlW0lURVJBVE9SXSAhPSAnZnVuY3Rpb24nKSBoaWRlKEl0ZXJhdG9yUHJvdG90eXBlLCBJVEVSQVRPUiwgcmV0dXJuVGhpcyk7XG4gICAgfVxuICB9XG4gIC8vIGZpeCBBcnJheSN7dmFsdWVzLCBAQGl0ZXJhdG9yfS5uYW1lIGluIFY4IC8gRkZcbiAgaWYgKERFRl9WQUxVRVMgJiYgJG5hdGl2ZSAmJiAkbmF0aXZlLm5hbWUgIT09IFZBTFVFUykge1xuICAgIFZBTFVFU19CVUcgPSB0cnVlO1xuICAgICRkZWZhdWx0ID0gZnVuY3Rpb24gdmFsdWVzKCkgeyByZXR1cm4gJG5hdGl2ZS5jYWxsKHRoaXMpOyB9O1xuICB9XG4gIC8vIERlZmluZSBpdGVyYXRvclxuICBpZiAoKCFMSUJSQVJZIHx8IEZPUkNFRCkgJiYgKEJVR0dZIHx8IFZBTFVFU19CVUcgfHwgIXByb3RvW0lURVJBVE9SXSkpIHtcbiAgICBoaWRlKHByb3RvLCBJVEVSQVRPUiwgJGRlZmF1bHQpO1xuICB9XG4gIC8vIFBsdWcgZm9yIGxpYnJhcnlcbiAgSXRlcmF0b3JzW05BTUVdID0gJGRlZmF1bHQ7XG4gIEl0ZXJhdG9yc1tUQUddID0gcmV0dXJuVGhpcztcbiAgaWYgKERFRkFVTFQpIHtcbiAgICBtZXRob2RzID0ge1xuICAgICAgdmFsdWVzOiBERUZfVkFMVUVTID8gJGRlZmF1bHQgOiBnZXRNZXRob2QoVkFMVUVTKSxcbiAgICAgIGtleXM6IElTX1NFVCA/ICRkZWZhdWx0IDogZ2V0TWV0aG9kKEtFWVMpLFxuICAgICAgZW50cmllczogJGVudHJpZXNcbiAgICB9O1xuICAgIGlmIChGT1JDRUQpIGZvciAoa2V5IGluIG1ldGhvZHMpIHtcbiAgICAgIGlmICghKGtleSBpbiBwcm90bykpIHJlZGVmaW5lKHByb3RvLCBrZXksIG1ldGhvZHNba2V5XSk7XG4gICAgfSBlbHNlICRleHBvcnQoJGV4cG9ydC5QICsgJGV4cG9ydC5GICogKEJVR0dZIHx8IFZBTFVFU19CVUcpLCBOQU1FLCBtZXRob2RzKTtcbiAgfVxuICByZXR1cm4gbWV0aG9kcztcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTlzYVdKeVlYSjVMMjF2WkhWc1pYTXZYMmwwWlhJdFpHVm1hVzVsTG1wekxtcHpJaXdpYzI5MWNtTmxjeUk2V3lKM1pXSndZV05yT2k4dkx5NHZibTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12YkdsaWNtRnllUzl0YjJSMWJHVnpMMTlwZEdWeUxXUmxabWx1WlM1cWN6OHpNR1l4SWwwc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpZDFjMlVnYzNSeWFXTjBKenRjYm5aaGNpQk1TVUpTUVZKWklEMGdjbVZ4ZFdseVpTZ25MaTlmYkdsaWNtRnllU2NwTzF4dWRtRnlJQ1JsZUhCdmNuUWdQU0J5WlhGMWFYSmxLQ2N1TDE5bGVIQnZjblFuS1R0Y2JuWmhjaUJ5WldSbFptbHVaU0E5SUhKbGNYVnBjbVVvSnk0dlgzSmxaR1ZtYVc1bEp5azdYRzUyWVhJZ2FHbGtaU0E5SUhKbGNYVnBjbVVvSnk0dlgyaHBaR1VuS1R0Y2JuWmhjaUJKZEdWeVlYUnZjbk1nUFNCeVpYRjFhWEpsS0NjdUwxOXBkR1Z5WVhSdmNuTW5LVHRjYm5aaGNpQWthWFJsY2tOeVpXRjBaU0E5SUhKbGNYVnBjbVVvSnk0dlgybDBaWEl0WTNKbFlYUmxKeWs3WEc1MllYSWdjMlYwVkc5VGRISnBibWRVWVdjZ1BTQnlaWEYxYVhKbEtDY3VMMTl6WlhRdGRHOHRjM1J5YVc1bkxYUmhaeWNwTzF4dWRtRnlJR2RsZEZCeWIzUnZkSGx3WlU5bUlEMGdjbVZ4ZFdseVpTZ25MaTlmYjJKcVpXTjBMV2R3YnljcE8xeHVkbUZ5SUVsVVJWSkJWRTlTSUQwZ2NtVnhkV2x5WlNnbkxpOWZkMnR6Snlrb0oybDBaWEpoZEc5eUp5azdYRzUyWVhJZ1FsVkhSMWtnUFNBaEtGdGRMbXRsZVhNZ0ppWWdKMjVsZUhRbklHbHVJRnRkTG10bGVYTW9LU2s3SUM4dklGTmhabUZ5YVNCb1lYTWdZblZuWjNrZ2FYUmxjbUYwYjNKeklIY3ZieUJnYm1WNGRHQmNiblpoY2lCR1JsOUpWRVZTUVZSUFVpQTlJQ2RBUUdsMFpYSmhkRzl5Snp0Y2JuWmhjaUJMUlZsVElEMGdKMnRsZVhNbk8xeHVkbUZ5SUZaQlRGVkZVeUE5SUNkMllXeDFaWE1uTzF4dVhHNTJZWElnY21WMGRYSnVWR2hwY3lBOUlHWjFibU4wYVc5dUlDZ3BJSHNnY21WMGRYSnVJSFJvYVhNN0lIMDdYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnWm5WdVkzUnBiMjRnS0VKaGMyVXNJRTVCVFVVc0lFTnZibk4wY25WamRHOXlMQ0J1WlhoMExDQkVSVVpCVlV4VUxDQkpVMTlUUlZRc0lFWlBVa05GUkNrZ2UxeHVJQ0FrYVhSbGNrTnlaV0YwWlNoRGIyNXpkSEoxWTNSdmNpd2dUa0ZOUlN3Z2JtVjRkQ2s3WEc0Z0lIWmhjaUJuWlhSTlpYUm9iMlFnUFNCbWRXNWpkR2x2YmlBb2EybHVaQ2tnZTF4dUlDQWdJR2xtSUNnaFFsVkhSMWtnSmlZZ2EybHVaQ0JwYmlCd2NtOTBieWtnY21WMGRYSnVJSEJ5YjNSdlcydHBibVJkTzF4dUlDQWdJSE4zYVhSamFDQW9hMmx1WkNrZ2UxeHVJQ0FnSUNBZ1kyRnpaU0JMUlZsVE9pQnlaWFIxY200Z1puVnVZM1JwYjI0Z2EyVjVjeWdwSUhzZ2NtVjBkWEp1SUc1bGR5QkRiMjV6ZEhKMVkzUnZjaWgwYUdsekxDQnJhVzVrS1RzZ2ZUdGNiaUFnSUNBZ0lHTmhjMlVnVmtGTVZVVlRPaUJ5WlhSMWNtNGdablZ1WTNScGIyNGdkbUZzZFdWektDa2dleUJ5WlhSMWNtNGdibVYzSUVOdmJuTjBjblZqZEc5eUtIUm9hWE1zSUd0cGJtUXBPeUI5TzF4dUlDQWdJSDBnY21WMGRYSnVJR1oxYm1OMGFXOXVJR1Z1ZEhKcFpYTW9LU0I3SUhKbGRIVnliaUJ1WlhjZ1EyOXVjM1J5ZFdOMGIzSW9kR2hwY3l3Z2EybHVaQ2s3SUgwN1hHNGdJSDA3WEc0Z0lIWmhjaUJVUVVjZ1BTQk9RVTFGSUNzZ0p5QkpkR1Z5WVhSdmNpYzdYRzRnSUhaaGNpQkVSVVpmVmtGTVZVVlRJRDBnUkVWR1FWVk1WQ0E5UFNCV1FVeFZSVk03WEc0Z0lIWmhjaUJXUVV4VlJWTmZRbFZISUQwZ1ptRnNjMlU3WEc0Z0lIWmhjaUJ3Y205MGJ5QTlJRUpoYzJVdWNISnZkRzkwZVhCbE8xeHVJQ0IyWVhJZ0pHNWhkR2wyWlNBOUlIQnliM1J2VzBsVVJWSkJWRTlTWFNCOGZDQndjbTkwYjF0R1JsOUpWRVZTUVZSUFVsMGdmSHdnUkVWR1FWVk1WQ0FtSmlCd2NtOTBiMXRFUlVaQlZVeFVYVHRjYmlBZ2RtRnlJQ1JrWldaaGRXeDBJRDBnSkc1aGRHbDJaU0I4ZkNCblpYUk5aWFJvYjJRb1JFVkdRVlZNVkNrN1hHNGdJSFpoY2lBa1pXNTBjbWxsY3lBOUlFUkZSa0ZWVEZRZ1B5QWhSRVZHWDFaQlRGVkZVeUEvSUNSa1pXWmhkV3gwSURvZ1oyVjBUV1YwYUc5a0tDZGxiblJ5YVdWekp5a2dPaUIxYm1SbFptbHVaV1E3WEc0Z0lIWmhjaUFrWVc1NVRtRjBhWFpsSUQwZ1RrRk5SU0E5UFNBblFYSnlZWGtuSUQ4Z2NISnZkRzh1Wlc1MGNtbGxjeUI4ZkNBa2JtRjBhWFpsSURvZ0pHNWhkR2wyWlR0Y2JpQWdkbUZ5SUcxbGRHaHZaSE1zSUd0bGVTd2dTWFJsY21GMGIzSlFjbTkwYjNSNWNHVTdYRzRnSUM4dklFWnBlQ0J1WVhScGRtVmNiaUFnYVdZZ0tDUmhibmxPWVhScGRtVXBJSHRjYmlBZ0lDQkpkR1Z5WVhSdmNsQnliM1J2ZEhsd1pTQTlJR2RsZEZCeWIzUnZkSGx3WlU5bUtDUmhibmxPWVhScGRtVXVZMkZzYkNodVpYY2dRbUZ6WlNncEtTazdYRzRnSUNBZ2FXWWdLRWwwWlhKaGRHOXlVSEp2ZEc5MGVYQmxJQ0U5UFNCUFltcGxZM1F1Y0hKdmRHOTBlWEJsSUNZbUlFbDBaWEpoZEc5eVVISnZkRzkwZVhCbExtNWxlSFFwSUh0Y2JpQWdJQ0FnSUM4dklGTmxkQ0JBUUhSdlUzUnlhVzVuVkdGbklIUnZJRzVoZEdsMlpTQnBkR1Z5WVhSdmNuTmNiaUFnSUNBZ0lITmxkRlJ2VTNSeWFXNW5WR0ZuS0VsMFpYSmhkRzl5VUhKdmRHOTBlWEJsTENCVVFVY3NJSFJ5ZFdVcE8xeHVJQ0FnSUNBZ0x5OGdabWw0SUdadmNpQnpiMjFsSUc5c1pDQmxibWRwYm1WelhHNGdJQ0FnSUNCcFppQW9JVXhKUWxKQlVsa2dKaVlnZEhsd1pXOW1JRWwwWlhKaGRHOXlVSEp2ZEc5MGVYQmxXMGxVUlZKQlZFOVNYU0FoUFNBblpuVnVZM1JwYjI0bktTQm9hV1JsS0VsMFpYSmhkRzl5VUhKdmRHOTBlWEJsTENCSlZFVlNRVlJQVWl3Z2NtVjBkWEp1VkdocGN5azdYRzRnSUNBZ2ZWeHVJQ0I5WEc0Z0lDOHZJR1pwZUNCQmNuSmhlU043ZG1Gc2RXVnpMQ0JBUUdsMFpYSmhkRzl5ZlM1dVlXMWxJR2x1SUZZNElDOGdSa1pjYmlBZ2FXWWdLRVJGUmw5V1FVeFZSVk1nSmlZZ0pHNWhkR2wyWlNBbUppQWtibUYwYVhabExtNWhiV1VnSVQwOUlGWkJURlZGVXlrZ2UxeHVJQ0FnSUZaQlRGVkZVMTlDVlVjZ1BTQjBjblZsTzF4dUlDQWdJQ1JrWldaaGRXeDBJRDBnWm5WdVkzUnBiMjRnZG1Gc2RXVnpLQ2tnZXlCeVpYUjFjbTRnSkc1aGRHbDJaUzVqWVd4c0tIUm9hWE1wT3lCOU8xeHVJQ0I5WEc0Z0lDOHZJRVJsWm1sdVpTQnBkR1Z5WVhSdmNseHVJQ0JwWmlBb0tDRk1TVUpTUVZKWklIeDhJRVpQVWtORlJDa2dKaVlnS0VKVlIwZFpJSHg4SUZaQlRGVkZVMTlDVlVjZ2ZId2dJWEJ5YjNSdlcwbFVSVkpCVkU5U1hTa3BJSHRjYmlBZ0lDQm9hV1JsS0hCeWIzUnZMQ0JKVkVWU1FWUlBVaXdnSkdSbFptRjFiSFFwTzF4dUlDQjlYRzRnSUM4dklGQnNkV2NnWm05eUlHeHBZbkpoY25sY2JpQWdTWFJsY21GMGIzSnpXMDVCVFVWZElEMGdKR1JsWm1GMWJIUTdYRzRnSUVsMFpYSmhkRzl5YzF0VVFVZGRJRDBnY21WMGRYSnVWR2hwY3p0Y2JpQWdhV1lnS0VSRlJrRlZURlFwSUh0Y2JpQWdJQ0J0WlhSb2IyUnpJRDBnZTF4dUlDQWdJQ0FnZG1Gc2RXVnpPaUJFUlVaZlZrRk1WVVZUSUQ4Z0pHUmxabUYxYkhRZ09pQm5aWFJOWlhSb2IyUW9Wa0ZNVlVWVEtTeGNiaUFnSUNBZ0lHdGxlWE02SUVsVFgxTkZWQ0EvSUNSa1pXWmhkV3gwSURvZ1oyVjBUV1YwYUc5a0tFdEZXVk1wTEZ4dUlDQWdJQ0FnWlc1MGNtbGxjem9nSkdWdWRISnBaWE5jYmlBZ0lDQjlPMXh1SUNBZ0lHbG1JQ2hHVDFKRFJVUXBJR1p2Y2lBb2EyVjVJR2x1SUcxbGRHaHZaSE1wSUh0Y2JpQWdJQ0FnSUdsbUlDZ2hLR3RsZVNCcGJpQndjbTkwYnlrcElISmxaR1ZtYVc1bEtIQnliM1J2TENCclpYa3NJRzFsZEdodlpITmJhMlY1WFNrN1hHNGdJQ0FnZlNCbGJITmxJQ1JsZUhCdmNuUW9KR1Y0Y0c5eWRDNVFJQ3NnSkdWNGNHOXlkQzVHSUNvZ0tFSlZSMGRaSUh4OElGWkJURlZGVTE5Q1ZVY3BMQ0JPUVUxRkxDQnRaWFJvYjJSektUdGNiaUFnZlZ4dUlDQnlaWFIxY200Z2JXVjBhRzlrY3p0Y2JuMDdYRzRpWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHNpTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2l0ZXItZGVmaW5lLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2l0ZXItc3RlcC5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2l0ZXItc3RlcC5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7ZXZhbCgibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoZG9uZSwgdmFsdWUpIHtcbiAgcmV0dXJuIHsgdmFsdWU6IHZhbHVlLCBkb25lOiAhIWRvbmUgfTtcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTlzYVdKeVlYSjVMMjF2WkhWc1pYTXZYMmwwWlhJdGMzUmxjQzVxY3k1cWN5SXNJbk52ZFhKalpYTWlPbHNpZDJWaWNHRmphem92THk4dUwyNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMnhwWW5KaGNua3ZiVzlrZFd4bGN5OWZhWFJsY2kxemRHVndMbXB6UHpVd1pXUWlYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0JtZFc1amRHbHZiaUFvWkc5dVpTd2dkbUZzZFdVcElIdGNiaUFnY21WMGRYSnVJSHNnZG1Gc2RXVTZJSFpoYkhWbExDQmtiMjVsT2lBaElXUnZibVVnZlR0Y2JuMDdYRzRpWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTzBGQlEwRTdRVUZEUVRzaUxDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19pdGVyLXN0ZXAuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9faXRlcmF0b3JzLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9faXRlcmF0b3JzLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXtldmFsKCJtb2R1bGUuZXhwb3J0cyA9IHt9O1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5c2FXSnlZWEo1TDIxdlpIVnNaWE12WDJsMFpYSmhkRzl5Y3k1cWN5NXFjeUlzSW5OdmRYSmpaWE1pT2xzaWQyVmljR0ZqYXpvdkx5OHVMMjV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDJ4cFluSmhjbmt2Ylc5a2RXeGxjeTlmYVhSbGNtRjBiM0p6TG1welB6UTRNV0lpWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCN2ZUdGNiaUpkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3SWl3aWMyOTFjbU5sVW05dmRDSTZJaUo5XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2l0ZXJhdG9ycy5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19saWJyYXJ5LmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2xpYnJhcnkuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXtldmFsKCJtb2R1bGUuZXhwb3J0cyA9IHRydWU7XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTlzYVdKeVlYSjVMMjF2WkhWc1pYTXZYMnhwWW5KaGNua3Vhbk11YW5NaUxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTh2TGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXNhV0p5WVhKNUwyMXZaSFZzWlhNdlgyeHBZbkpoY25rdWFuTS9ZamhsTXlKZExDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnRiMlIxYkdVdVpYaHdiM0owY3lBOUlIUnlkV1U3WEc0aVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk95SXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fbGlicmFyeS5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19tZXRhLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX21ldGEuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18pe2V2YWwoInZhciBNRVRBID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fdWlkICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3VpZC5qc1wiKSgnbWV0YScpO1xudmFyIGlzT2JqZWN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9faXMtb2JqZWN0ICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2lzLW9iamVjdC5qc1wiKTtcbnZhciBoYXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19oYXMgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9faGFzLmpzXCIpO1xudmFyIHNldERlc2MgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19vYmplY3QtZHAgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fb2JqZWN0LWRwLmpzXCIpLmY7XG52YXIgaWQgPSAwO1xudmFyIGlzRXh0ZW5zaWJsZSA9IE9iamVjdC5pc0V4dGVuc2libGUgfHwgZnVuY3Rpb24gKCkge1xuICByZXR1cm4gdHJ1ZTtcbn07XG52YXIgRlJFRVpFID0gIV9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2ZhaWxzICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2ZhaWxzLmpzXCIpKGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIGlzRXh0ZW5zaWJsZShPYmplY3QucHJldmVudEV4dGVuc2lvbnMoe30pKTtcbn0pO1xudmFyIHNldE1ldGEgPSBmdW5jdGlvbiAoaXQpIHtcbiAgc2V0RGVzYyhpdCwgTUVUQSwgeyB2YWx1ZToge1xuICAgIGk6ICdPJyArICsraWQsIC8vIG9iamVjdCBJRFxuICAgIHc6IHt9ICAgICAgICAgIC8vIHdlYWsgY29sbGVjdGlvbnMgSURzXG4gIH0gfSk7XG59O1xudmFyIGZhc3RLZXkgPSBmdW5jdGlvbiAoaXQsIGNyZWF0ZSkge1xuICAvLyByZXR1cm4gcHJpbWl0aXZlIHdpdGggcHJlZml4XG4gIGlmICghaXNPYmplY3QoaXQpKSByZXR1cm4gdHlwZW9mIGl0ID09ICdzeW1ib2wnID8gaXQgOiAodHlwZW9mIGl0ID09ICdzdHJpbmcnID8gJ1MnIDogJ1AnKSArIGl0O1xuICBpZiAoIWhhcyhpdCwgTUVUQSkpIHtcbiAgICAvLyBjYW4ndCBzZXQgbWV0YWRhdGEgdG8gdW5jYXVnaHQgZnJvemVuIG9iamVjdFxuICAgIGlmICghaXNFeHRlbnNpYmxlKGl0KSkgcmV0dXJuICdGJztcbiAgICAvLyBub3QgbmVjZXNzYXJ5IHRvIGFkZCBtZXRhZGF0YVxuICAgIGlmICghY3JlYXRlKSByZXR1cm4gJ0UnO1xuICAgIC8vIGFkZCBtaXNzaW5nIG1ldGFkYXRhXG4gICAgc2V0TWV0YShpdCk7XG4gIC8vIHJldHVybiBvYmplY3QgSURcbiAgfSByZXR1cm4gaXRbTUVUQV0uaTtcbn07XG52YXIgZ2V0V2VhayA9IGZ1bmN0aW9uIChpdCwgY3JlYXRlKSB7XG4gIGlmICghaGFzKGl0LCBNRVRBKSkge1xuICAgIC8vIGNhbid0IHNldCBtZXRhZGF0YSB0byB1bmNhdWdodCBmcm96ZW4gb2JqZWN0XG4gICAgaWYgKCFpc0V4dGVuc2libGUoaXQpKSByZXR1cm4gdHJ1ZTtcbiAgICAvLyBub3QgbmVjZXNzYXJ5IHRvIGFkZCBtZXRhZGF0YVxuICAgIGlmICghY3JlYXRlKSByZXR1cm4gZmFsc2U7XG4gICAgLy8gYWRkIG1pc3NpbmcgbWV0YWRhdGFcbiAgICBzZXRNZXRhKGl0KTtcbiAgLy8gcmV0dXJuIGhhc2ggd2VhayBjb2xsZWN0aW9ucyBJRHNcbiAgfSByZXR1cm4gaXRbTUVUQV0udztcbn07XG4vLyBhZGQgbWV0YWRhdGEgb24gZnJlZXplLWZhbWlseSBtZXRob2RzIGNhbGxpbmdcbnZhciBvbkZyZWV6ZSA9IGZ1bmN0aW9uIChpdCkge1xuICBpZiAoRlJFRVpFICYmIG1ldGEuTkVFRCAmJiBpc0V4dGVuc2libGUoaXQpICYmICFoYXMoaXQsIE1FVEEpKSBzZXRNZXRhKGl0KTtcbiAgcmV0dXJuIGl0O1xufTtcbnZhciBtZXRhID0gbW9kdWxlLmV4cG9ydHMgPSB7XG4gIEtFWTogTUVUQSxcbiAgTkVFRDogZmFsc2UsXG4gIGZhc3RLZXk6IGZhc3RLZXksXG4gIGdldFdlYWs6IGdldFdlYWssXG4gIG9uRnJlZXplOiBvbkZyZWV6ZVxufTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXNhV0p5WVhKNUwyMXZaSFZzWlhNdlgyMWxkR0V1YW5NdWFuTWlMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk4dkxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTlzYVdKeVlYSjVMMjF2WkhWc1pYTXZYMjFsZEdFdWFuTS9aV0ptWkNKZExDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SjJZWElnVFVWVVFTQTlJSEpsY1hWcGNtVW9KeTR2WDNWcFpDY3BLQ2R0WlhSaEp5azdYRzUyWVhJZ2FYTlBZbXBsWTNRZ1BTQnlaWEYxYVhKbEtDY3VMMTlwY3kxdlltcGxZM1FuS1R0Y2JuWmhjaUJvWVhNZ1BTQnlaWEYxYVhKbEtDY3VMMTlvWVhNbktUdGNiblpoY2lCelpYUkVaWE5qSUQwZ2NtVnhkV2x5WlNnbkxpOWZiMkpxWldOMExXUndKeWt1Wmp0Y2JuWmhjaUJwWkNBOUlEQTdYRzUyWVhJZ2FYTkZlSFJsYm5OcFlteGxJRDBnVDJKcVpXTjBMbWx6UlhoMFpXNXphV0pzWlNCOGZDQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lISmxkSFZ5YmlCMGNuVmxPMXh1ZlR0Y2JuWmhjaUJHVWtWRldrVWdQU0FoY21WeGRXbHlaU2duTGk5ZlptRnBiSE1uS1NobWRXNWpkR2x2YmlBb0tTQjdYRzRnSUhKbGRIVnliaUJwYzBWNGRHVnVjMmxpYkdVb1QySnFaV04wTG5CeVpYWmxiblJGZUhSbGJuTnBiMjV6S0h0OUtTazdYRzU5S1R0Y2JuWmhjaUJ6WlhSTlpYUmhJRDBnWm5WdVkzUnBiMjRnS0dsMEtTQjdYRzRnSUhObGRFUmxjMk1vYVhRc0lFMUZWRUVzSUhzZ2RtRnNkV1U2SUh0Y2JpQWdJQ0JwT2lBblR5Y2dLeUFySzJsa0xDQXZMeUJ2WW1wbFkzUWdTVVJjYmlBZ0lDQjNPaUI3ZlNBZ0lDQWdJQ0FnSUNBdkx5QjNaV0ZySUdOdmJHeGxZM1JwYjI1eklFbEVjMXh1SUNCOUlIMHBPMXh1ZlR0Y2JuWmhjaUJtWVhOMFMyVjVJRDBnWm5WdVkzUnBiMjRnS0dsMExDQmpjbVZoZEdVcElIdGNiaUFnTHk4Z2NtVjBkWEp1SUhCeWFXMXBkR2wyWlNCM2FYUm9JSEJ5WldacGVGeHVJQ0JwWmlBb0lXbHpUMkpxWldOMEtHbDBLU2tnY21WMGRYSnVJSFI1Y0dWdlppQnBkQ0E5UFNBbmMzbHRZbTlzSnlBL0lHbDBJRG9nS0hSNWNHVnZaaUJwZENBOVBTQW5jM1J5YVc1bkp5QS9JQ2RUSnlBNklDZFFKeWtnS3lCcGREdGNiaUFnYVdZZ0tDRm9ZWE1vYVhRc0lFMUZWRUVwS1NCN1hHNGdJQ0FnTHk4Z1kyRnVKM1FnYzJWMElHMWxkR0ZrWVhSaElIUnZJSFZ1WTJGMVoyaDBJR1p5YjNwbGJpQnZZbXBsWTNSY2JpQWdJQ0JwWmlBb0lXbHpSWGgwWlc1emFXSnNaU2hwZENrcElISmxkSFZ5YmlBblJpYzdYRzRnSUNBZ0x5OGdibTkwSUc1bFkyVnpjMkZ5ZVNCMGJ5QmhaR1FnYldWMFlXUmhkR0ZjYmlBZ0lDQnBaaUFvSVdOeVpXRjBaU2tnY21WMGRYSnVJQ2RGSnp0Y2JpQWdJQ0F2THlCaFpHUWdiV2x6YzJsdVp5QnRaWFJoWkdGMFlWeHVJQ0FnSUhObGRFMWxkR0VvYVhRcE8xeHVJQ0F2THlCeVpYUjFjbTRnYjJKcVpXTjBJRWxFWEc0Z0lIMGdjbVYwZFhKdUlHbDBXMDFGVkVGZExtazdYRzU5TzF4dWRtRnlJR2RsZEZkbFlXc2dQU0JtZFc1amRHbHZiaUFvYVhRc0lHTnlaV0YwWlNrZ2UxeHVJQ0JwWmlBb0lXaGhjeWhwZEN3Z1RVVlVRU2twSUh0Y2JpQWdJQ0F2THlCallXNG5kQ0J6WlhRZ2JXVjBZV1JoZEdFZ2RHOGdkVzVqWVhWbmFIUWdabkp2ZW1WdUlHOWlhbVZqZEZ4dUlDQWdJR2xtSUNnaGFYTkZlSFJsYm5OcFlteGxLR2wwS1NrZ2NtVjBkWEp1SUhSeWRXVTdYRzRnSUNBZ0x5OGdibTkwSUc1bFkyVnpjMkZ5ZVNCMGJ5QmhaR1FnYldWMFlXUmhkR0ZjYmlBZ0lDQnBaaUFvSVdOeVpXRjBaU2tnY21WMGRYSnVJR1poYkhObE8xeHVJQ0FnSUM4dklHRmtaQ0J0YVhOemFXNW5JRzFsZEdGa1lYUmhYRzRnSUNBZ2MyVjBUV1YwWVNocGRDazdYRzRnSUM4dklISmxkSFZ5YmlCb1lYTm9JSGRsWVdzZ1kyOXNiR1ZqZEdsdmJuTWdTVVJ6WEc0Z0lIMGdjbVYwZFhKdUlHbDBXMDFGVkVGZExuYzdYRzU5TzF4dUx5OGdZV1JrSUcxbGRHRmtZWFJoSUc5dUlHWnlaV1Y2WlMxbVlXMXBiSGtnYldWMGFHOWtjeUJqWVd4c2FXNW5YRzUyWVhJZ2IyNUdjbVZsZW1VZ1BTQm1kVzVqZEdsdmJpQW9hWFFwSUh0Y2JpQWdhV1lnS0VaU1JVVmFSU0FtSmlCdFpYUmhMazVGUlVRZ0ppWWdhWE5GZUhSbGJuTnBZbXhsS0dsMEtTQW1KaUFoYUdGektHbDBMQ0JOUlZSQktTa2djMlYwVFdWMFlTaHBkQ2s3WEc0Z0lISmxkSFZ5YmlCcGREdGNibjA3WEc1MllYSWdiV1YwWVNBOUlHMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ2UxeHVJQ0JMUlZrNklFMUZWRUVzWEc0Z0lFNUZSVVE2SUdaaGJITmxMRnh1SUNCbVlYTjBTMlY1T2lCbVlYTjBTMlY1TEZ4dUlDQm5aWFJYWldGck9pQm5aWFJYWldGckxGeHVJQ0J2YmtaeVpXVjZaVG9nYjI1R2NtVmxlbVZjYm4wN1hHNGlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdJaXdpYzI5MWNtTmxVbTl2ZENJNklpSjlcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fbWV0YS5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19vYmplY3QtY3JlYXRlLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1jcmVhdGUuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18pe2V2YWwoIi8vIDE5LjEuMi4yIC8gMTUuMi4zLjUgT2JqZWN0LmNyZWF0ZShPIFssIFByb3BlcnRpZXNdKVxudmFyIGFuT2JqZWN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fYW4tb2JqZWN0ICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2FuLW9iamVjdC5qc1wiKTtcbnZhciBkUHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19vYmplY3QtZHBzICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1kcHMuanNcIik7XG52YXIgZW51bUJ1Z0tleXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19lbnVtLWJ1Zy1rZXlzICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2VudW0tYnVnLWtleXMuanNcIik7XG52YXIgSUVfUFJPVE8gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19zaGFyZWQta2V5ICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3NoYXJlZC1rZXkuanNcIikoJ0lFX1BST1RPJyk7XG52YXIgRW1wdHkgPSBmdW5jdGlvbiAoKSB7IC8qIGVtcHR5ICovIH07XG52YXIgUFJPVE9UWVBFID0gJ3Byb3RvdHlwZSc7XG5cbi8vIENyZWF0ZSBvYmplY3Qgd2l0aCBmYWtlIGBudWxsYCBwcm90b3R5cGU6IHVzZSBpZnJhbWUgT2JqZWN0IHdpdGggY2xlYXJlZCBwcm90b3R5cGVcbnZhciBjcmVhdGVEaWN0ID0gZnVuY3Rpb24gKCkge1xuICAvLyBUaHJhc2gsIHdhc3RlIGFuZCBzb2RvbXk6IElFIEdDIGJ1Z1xuICB2YXIgaWZyYW1lID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fZG9tLWNyZWF0ZSAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19kb20tY3JlYXRlLmpzXCIpKCdpZnJhbWUnKTtcbiAgdmFyIGkgPSBlbnVtQnVnS2V5cy5sZW5ndGg7XG4gIHZhciBsdCA9ICc8JztcbiAgdmFyIGd0ID0gJz4nO1xuICB2YXIgaWZyYW1lRG9jdW1lbnQ7XG4gIGlmcmFtZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19odG1sICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2h0bWwuanNcIikuYXBwZW5kQ2hpbGQoaWZyYW1lKTtcbiAgaWZyYW1lLnNyYyA9ICdqYXZhc2NyaXB0Oic7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tc2NyaXB0LXVybFxuICAvLyBjcmVhdGVEaWN0ID0gaWZyYW1lLmNvbnRlbnRXaW5kb3cuT2JqZWN0O1xuICAvLyBodG1sLnJlbW92ZUNoaWxkKGlmcmFtZSk7XG4gIGlmcmFtZURvY3VtZW50ID0gaWZyYW1lLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7XG4gIGlmcmFtZURvY3VtZW50Lm9wZW4oKTtcbiAgaWZyYW1lRG9jdW1lbnQud3JpdGUobHQgKyAnc2NyaXB0JyArIGd0ICsgJ2RvY3VtZW50LkY9T2JqZWN0JyArIGx0ICsgJy9zY3JpcHQnICsgZ3QpO1xuICBpZnJhbWVEb2N1bWVudC5jbG9zZSgpO1xuICBjcmVhdGVEaWN0ID0gaWZyYW1lRG9jdW1lbnQuRjtcbiAgd2hpbGUgKGktLSkgZGVsZXRlIGNyZWF0ZURpY3RbUFJPVE9UWVBFXVtlbnVtQnVnS2V5c1tpXV07XG4gIHJldHVybiBjcmVhdGVEaWN0KCk7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IE9iamVjdC5jcmVhdGUgfHwgZnVuY3Rpb24gY3JlYXRlKE8sIFByb3BlcnRpZXMpIHtcbiAgdmFyIHJlc3VsdDtcbiAgaWYgKE8gIT09IG51bGwpIHtcbiAgICBFbXB0eVtQUk9UT1RZUEVdID0gYW5PYmplY3QoTyk7XG4gICAgcmVzdWx0ID0gbmV3IEVtcHR5KCk7XG4gICAgRW1wdHlbUFJPVE9UWVBFXSA9IG51bGw7XG4gICAgLy8gYWRkIFwiX19wcm90b19fXCIgZm9yIE9iamVjdC5nZXRQcm90b3R5cGVPZiBwb2x5ZmlsbFxuICAgIHJlc3VsdFtJRV9QUk9UT10gPSBPO1xuICB9IGVsc2UgcmVzdWx0ID0gY3JlYXRlRGljdCgpO1xuICByZXR1cm4gUHJvcGVydGllcyA9PT0gdW5kZWZpbmVkID8gcmVzdWx0IDogZFBzKHJlc3VsdCwgUHJvcGVydGllcyk7XG59O1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5c2FXSnlZWEo1TDIxdlpIVnNaWE12WDI5aWFtVmpkQzFqY21WaGRHVXVhbk11YW5NaUxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTh2TGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXNhV0p5WVhKNUwyMXZaSFZzWlhNdlgyOWlhbVZqZEMxamNtVmhkR1V1YW5NL1lURTFPU0pkTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdkx5QXhPUzR4TGpJdU1pQXZJREUxTGpJdU15NDFJRTlpYW1WamRDNWpjbVZoZEdVb1R5QmJMQ0JRY205d1pYSjBhV1Z6WFNsY2JuWmhjaUJoYms5aWFtVmpkQ0E5SUhKbGNYVnBjbVVvSnk0dlgyRnVMVzlpYW1WamRDY3BPMXh1ZG1GeUlHUlFjeUE5SUhKbGNYVnBjbVVvSnk0dlgyOWlhbVZqZEMxa2NITW5LVHRjYm5aaGNpQmxiblZ0UW5WblMyVjVjeUE5SUhKbGNYVnBjbVVvSnk0dlgyVnVkVzB0WW5WbkxXdGxlWE1uS1R0Y2JuWmhjaUJKUlY5UVVrOVVUeUE5SUhKbGNYVnBjbVVvSnk0dlgzTm9ZWEpsWkMxclpYa25LU2duU1VWZlVGSlBWRThuS1R0Y2JuWmhjaUJGYlhCMGVTQTlJR1oxYm1OMGFXOXVJQ2dwSUhzZ0x5b2daVzF3ZEhrZ0tpOGdmVHRjYm5aaGNpQlFVazlVVDFSWlVFVWdQU0FuY0hKdmRHOTBlWEJsSnp0Y2JseHVMeThnUTNKbFlYUmxJRzlpYW1WamRDQjNhWFJvSUdaaGEyVWdZRzUxYkd4Z0lIQnliM1J2ZEhsd1pUb2dkWE5sSUdsbWNtRnRaU0JQWW1wbFkzUWdkMmwwYUNCamJHVmhjbVZrSUhCeWIzUnZkSGx3WlZ4dWRtRnlJR055WldGMFpVUnBZM1FnUFNCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUM4dklGUm9jbUZ6YUN3Z2QyRnpkR1VnWVc1a0lITnZaRzl0ZVRvZ1NVVWdSME1nWW5WblhHNGdJSFpoY2lCcFpuSmhiV1VnUFNCeVpYRjFhWEpsS0NjdUwxOWtiMjB0WTNKbFlYUmxKeWtvSjJsbWNtRnRaU2NwTzF4dUlDQjJZWElnYVNBOUlHVnVkVzFDZFdkTFpYbHpMbXhsYm1kMGFEdGNiaUFnZG1GeUlHeDBJRDBnSnp3bk8xeHVJQ0IyWVhJZ1ozUWdQU0FuUGljN1hHNGdJSFpoY2lCcFpuSmhiV1ZFYjJOMWJXVnVkRHRjYmlBZ2FXWnlZVzFsTG5OMGVXeGxMbVJwYzNCc1lYa2dQU0FuYm05dVpTYzdYRzRnSUhKbGNYVnBjbVVvSnk0dlgyaDBiV3duS1M1aGNIQmxibVJEYUdsc1pDaHBabkpoYldVcE8xeHVJQ0JwWm5KaGJXVXVjM0pqSUQwZ0oycGhkbUZ6WTNKcGNIUTZKenNnTHk4Z1pYTnNhVzUwTFdScGMyRmliR1V0YkdsdVpTQnVieTF6WTNKcGNIUXRkWEpzWEc0Z0lDOHZJR055WldGMFpVUnBZM1FnUFNCcFpuSmhiV1V1WTI5dWRHVnVkRmRwYm1SdmR5NVBZbXBsWTNRN1hHNGdJQzh2SUdoMGJXd3VjbVZ0YjNabFEyaHBiR1FvYVdaeVlXMWxLVHRjYmlBZ2FXWnlZVzFsUkc5amRXMWxiblFnUFNCcFpuSmhiV1V1WTI5dWRHVnVkRmRwYm1SdmR5NWtiMk4xYldWdWREdGNiaUFnYVdaeVlXMWxSRzlqZFcxbGJuUXViM0JsYmlncE8xeHVJQ0JwWm5KaGJXVkViMk4xYldWdWRDNTNjbWwwWlNoc2RDQXJJQ2R6WTNKcGNIUW5JQ3NnWjNRZ0t5QW5aRzlqZFcxbGJuUXVSajFQWW1wbFkzUW5JQ3NnYkhRZ0t5QW5MM05qY21sd2RDY2dLeUJuZENrN1hHNGdJR2xtY21GdFpVUnZZM1Z0Wlc1MExtTnNiM05sS0NrN1hHNGdJR055WldGMFpVUnBZM1FnUFNCcFpuSmhiV1ZFYjJOMWJXVnVkQzVHTzF4dUlDQjNhR2xzWlNBb2FTMHRLU0JrWld4bGRHVWdZM0psWVhSbFJHbGpkRnRRVWs5VVQxUlpVRVZkVzJWdWRXMUNkV2RMWlhselcybGRYVHRjYmlBZ2NtVjBkWEp1SUdOeVpXRjBaVVJwWTNRb0tUdGNibjA3WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1QySnFaV04wTG1OeVpXRjBaU0I4ZkNCbWRXNWpkR2x2YmlCamNtVmhkR1VvVHl3Z1VISnZjR1Z5ZEdsbGN5a2dlMXh1SUNCMllYSWdjbVZ6ZFd4ME8xeHVJQ0JwWmlBb1R5QWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lFVnRjSFI1VzFCU1QxUlBWRmxRUlYwZ1BTQmhiazlpYW1WamRDaFBLVHRjYmlBZ0lDQnlaWE4xYkhRZ1BTQnVaWGNnUlcxd2RIa29LVHRjYmlBZ0lDQkZiWEIwZVZ0UVVrOVVUMVJaVUVWZElEMGdiblZzYkR0Y2JpQWdJQ0F2THlCaFpHUWdYQ0pmWDNCeWIzUnZYMTljSWlCbWIzSWdUMkpxWldOMExtZGxkRkJ5YjNSdmRIbHdaVTltSUhCdmJIbG1hV3hzWEc0Z0lDQWdjbVZ6ZFd4MFcwbEZYMUJTVDFSUFhTQTlJRTg3WEc0Z0lIMGdaV3h6WlNCeVpYTjFiSFFnUFNCamNtVmhkR1ZFYVdOMEtDazdYRzRnSUhKbGRIVnliaUJRY205d1pYSjBhV1Z6SUQwOVBTQjFibVJsWm1sdVpXUWdQeUJ5WlhOMWJIUWdPaUJrVUhNb2NtVnpkV3gwTENCUWNtOXdaWEowYVdWektUdGNibjA3WEc0aVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdJaXdpYzI5MWNtTmxVbTl2ZENJNklpSjlcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fb2JqZWN0LWNyZWF0ZS5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19vYmplY3QtZHAuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19vYmplY3QtZHAuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7ZXZhbCgidmFyIGFuT2JqZWN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fYW4tb2JqZWN0ICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2FuLW9iamVjdC5qc1wiKTtcbnZhciBJRThfRE9NX0RFRklORSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2llOC1kb20tZGVmaW5lICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2llOC1kb20tZGVmaW5lLmpzXCIpO1xudmFyIHRvUHJpbWl0aXZlID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fdG8tcHJpbWl0aXZlICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3RvLXByaW1pdGl2ZS5qc1wiKTtcbnZhciBkUCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eTtcblxuZXhwb3J0cy5mID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fZGVzY3JpcHRvcnMgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fZGVzY3JpcHRvcnMuanNcIikgPyBPYmplY3QuZGVmaW5lUHJvcGVydHkgOiBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0eShPLCBQLCBBdHRyaWJ1dGVzKSB7XG4gIGFuT2JqZWN0KE8pO1xuICBQID0gdG9QcmltaXRpdmUoUCwgdHJ1ZSk7XG4gIGFuT2JqZWN0KEF0dHJpYnV0ZXMpO1xuICBpZiAoSUU4X0RPTV9ERUZJTkUpIHRyeSB7XG4gICAgcmV0dXJuIGRQKE8sIFAsIEF0dHJpYnV0ZXMpO1xuICB9IGNhdGNoIChlKSB7IC8qIGVtcHR5ICovIH1cbiAgaWYgKCdnZXQnIGluIEF0dHJpYnV0ZXMgfHwgJ3NldCcgaW4gQXR0cmlidXRlcykgdGhyb3cgVHlwZUVycm9yKCdBY2Nlc3NvcnMgbm90IHN1cHBvcnRlZCEnKTtcbiAgaWYgKCd2YWx1ZScgaW4gQXR0cmlidXRlcykgT1tQXSA9IEF0dHJpYnV0ZXMudmFsdWU7XG4gIHJldHVybiBPO1xufTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXNhV0p5WVhKNUwyMXZaSFZzWlhNdlgyOWlhbVZqZEMxa2NDNXFjeTVxY3lJc0luTnZkWEpqWlhNaU9sc2lkMlZpY0dGamF6b3ZMeTh1TDI1dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyeHBZbkpoY25rdmJXOWtkV3hsY3k5ZmIySnFaV04wTFdSd0xtcHpQMlE1WmpZaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lkbUZ5SUdGdVQySnFaV04wSUQwZ2NtVnhkV2x5WlNnbkxpOWZZVzR0YjJKcVpXTjBKeWs3WEc1MllYSWdTVVU0WDBSUFRWOUVSVVpKVGtVZ1BTQnlaWEYxYVhKbEtDY3VMMTlwWlRndFpHOXRMV1JsWm1sdVpTY3BPMXh1ZG1GeUlIUnZVSEpwYldsMGFYWmxJRDBnY21WeGRXbHlaU2duTGk5ZmRHOHRjSEpwYldsMGFYWmxKeWs3WEc1MllYSWdaRkFnUFNCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIazdYRzVjYm1WNGNHOXlkSE11WmlBOUlISmxjWFZwY21Vb0p5NHZYMlJsYzJOeWFYQjBiM0p6SnlrZ1B5QlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtnT2lCbWRXNWpkR2x2YmlCa1pXWnBibVZRY205d1pYSjBlU2hQTENCUUxDQkJkSFJ5YVdKMWRHVnpLU0I3WEc0Z0lHRnVUMkpxWldOMEtFOHBPMXh1SUNCUUlEMGdkRzlRY21sdGFYUnBkbVVvVUN3Z2RISjFaU2s3WEc0Z0lHRnVUMkpxWldOMEtFRjBkSEpwWW5WMFpYTXBPMXh1SUNCcFppQW9TVVU0WDBSUFRWOUVSVVpKVGtVcElIUnllU0I3WEc0Z0lDQWdjbVYwZFhKdUlHUlFLRThzSUZBc0lFRjBkSEpwWW5WMFpYTXBPMXh1SUNCOUlHTmhkR05vSUNobEtTQjdJQzhxSUdWdGNIUjVJQ292SUgxY2JpQWdhV1lnS0NkblpYUW5JR2x1SUVGMGRISnBZblYwWlhNZ2ZId2dKM05sZENjZ2FXNGdRWFIwY21saWRYUmxjeWtnZEdoeWIzY2dWSGx3WlVWeWNtOXlLQ2RCWTJObGMzTnZjbk1nYm05MElITjFjSEJ2Y25SbFpDRW5LVHRjYmlBZ2FXWWdLQ2QyWVd4MVpTY2dhVzRnUVhSMGNtbGlkWFJsY3lrZ1QxdFFYU0E5SUVGMGRISnBZblYwWlhNdWRtRnNkV1U3WEc0Z0lISmxkSFZ5YmlCUE8xeHVmVHRjYmlKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdJaXdpYzI5MWNtTmxVbTl2ZENJNklpSjlcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fb2JqZWN0LWRwLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1kcHMuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fb2JqZWN0LWRwcy5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7ZXZhbCgidmFyIGRQID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fb2JqZWN0LWRwICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1kcC5qc1wiKTtcbnZhciBhbk9iamVjdCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2FuLW9iamVjdCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19hbi1vYmplY3QuanNcIik7XG52YXIgZ2V0S2V5cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX29iamVjdC1rZXlzICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1rZXlzLmpzXCIpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2Rlc2NyaXB0b3JzICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2Rlc2NyaXB0b3JzLmpzXCIpID8gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgOiBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKE8sIFByb3BlcnRpZXMpIHtcbiAgYW5PYmplY3QoTyk7XG4gIHZhciBrZXlzID0gZ2V0S2V5cyhQcm9wZXJ0aWVzKTtcbiAgdmFyIGxlbmd0aCA9IGtleXMubGVuZ3RoO1xuICB2YXIgaSA9IDA7XG4gIHZhciBQO1xuICB3aGlsZSAobGVuZ3RoID4gaSkgZFAuZihPLCBQID0ga2V5c1tpKytdLCBQcm9wZXJ0aWVzW1BdKTtcbiAgcmV0dXJuIE87XG59O1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5c2FXSnlZWEo1TDIxdlpIVnNaWE12WDI5aWFtVmpkQzFrY0hNdWFuTXVhbk1pTENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OHZMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5c2FXSnlZWEo1TDIxdlpIVnNaWE12WDI5aWFtVmpkQzFrY0hNdWFuTS9OMlU1TUNKZExDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SjJZWElnWkZBZ1BTQnlaWEYxYVhKbEtDY3VMMTl2WW1wbFkzUXRaSEFuS1R0Y2JuWmhjaUJoYms5aWFtVmpkQ0E5SUhKbGNYVnBjbVVvSnk0dlgyRnVMVzlpYW1WamRDY3BPMXh1ZG1GeUlHZGxkRXRsZVhNZ1BTQnlaWEYxYVhKbEtDY3VMMTl2WW1wbFkzUXRhMlY1Y3ljcE8xeHVYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJSEpsY1hWcGNtVW9KeTR2WDJSbGMyTnlhWEIwYjNKekp5a2dQeUJQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEdsbGN5QTZJR1oxYm1OMGFXOXVJR1JsWm1sdVpWQnliM0JsY25ScFpYTW9UeXdnVUhKdmNHVnlkR2xsY3lrZ2UxeHVJQ0JoYms5aWFtVmpkQ2hQS1R0Y2JpQWdkbUZ5SUd0bGVYTWdQU0JuWlhSTFpYbHpLRkJ5YjNCbGNuUnBaWE1wTzF4dUlDQjJZWElnYkdWdVozUm9JRDBnYTJWNWN5NXNaVzVuZEdnN1hHNGdJSFpoY2lCcElEMGdNRHRjYmlBZ2RtRnlJRkE3WEc0Z0lIZG9hV3hsSUNoc1pXNW5kR2dnUGlCcEtTQmtVQzVtS0U4c0lGQWdQU0JyWlhselcya3JLMTBzSUZCeWIzQmxjblJwWlhOYlVGMHBPMXh1SUNCeVpYUjFjbTRnVHp0Y2JuMDdYRzRpWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1kcHMuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fb2JqZWN0LWdvcGQuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1nb3BkLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7ZXZhbCgidmFyIHBJRSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX29iamVjdC1waWUgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fb2JqZWN0LXBpZS5qc1wiKTtcbnZhciBjcmVhdGVEZXNjID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fcHJvcGVydHktZGVzYyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19wcm9wZXJ0eS1kZXNjLmpzXCIpO1xudmFyIHRvSU9iamVjdCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3RvLWlvYmplY3QgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fdG8taW9iamVjdC5qc1wiKTtcbnZhciB0b1ByaW1pdGl2ZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3RvLXByaW1pdGl2ZSAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL190by1wcmltaXRpdmUuanNcIik7XG52YXIgaGFzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9faGFzICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2hhcy5qc1wiKTtcbnZhciBJRThfRE9NX0RFRklORSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2llOC1kb20tZGVmaW5lICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2llOC1kb20tZGVmaW5lLmpzXCIpO1xudmFyIGdPUEQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO1xuXG5leHBvcnRzLmYgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19kZXNjcmlwdG9ycyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19kZXNjcmlwdG9ycy5qc1wiKSA/IGdPUEQgOiBmdW5jdGlvbiBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTywgUCkge1xuICBPID0gdG9JT2JqZWN0KE8pO1xuICBQID0gdG9QcmltaXRpdmUoUCwgdHJ1ZSk7XG4gIGlmIChJRThfRE9NX0RFRklORSkgdHJ5IHtcbiAgICByZXR1cm4gZ09QRChPLCBQKTtcbiAgfSBjYXRjaCAoZSkgeyAvKiBlbXB0eSAqLyB9XG4gIGlmIChoYXMoTywgUCkpIHJldHVybiBjcmVhdGVEZXNjKCFwSUUuZi5jYWxsKE8sIFApLCBPW1BdKTtcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTlzYVdKeVlYSjVMMjF2WkhWc1pYTXZYMjlpYW1WamRDMW5iM0JrTG1wekxtcHpJaXdpYzI5MWNtTmxjeUk2V3lKM1pXSndZV05yT2k4dkx5NHZibTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12YkdsaWNtRnllUzl0YjJSMWJHVnpMMTl2WW1wbFkzUXRaMjl3WkM1cWN6OWlaakJpSWwwc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkluWmhjaUJ3U1VVZ1BTQnlaWEYxYVhKbEtDY3VMMTl2WW1wbFkzUXRjR2xsSnlrN1hHNTJZWElnWTNKbFlYUmxSR1Z6WXlBOUlISmxjWFZwY21Vb0p5NHZYM0J5YjNCbGNuUjVMV1JsYzJNbktUdGNiblpoY2lCMGIwbFBZbXBsWTNRZ1BTQnlaWEYxYVhKbEtDY3VMMTkwYnkxcGIySnFaV04wSnlrN1hHNTJZWElnZEc5UWNtbHRhWFJwZG1VZ1BTQnlaWEYxYVhKbEtDY3VMMTkwYnkxd2NtbHRhWFJwZG1VbktUdGNiblpoY2lCb1lYTWdQU0J5WlhGMWFYSmxLQ2N1TDE5b1lYTW5LVHRjYm5aaGNpQkpSVGhmUkU5TlgwUkZSa2xPUlNBOUlISmxjWFZwY21Vb0p5NHZYMmxsT0Mxa2IyMHRaR1ZtYVc1bEp5azdYRzUyWVhJZ1owOVFSQ0E5SUU5aWFtVmpkQzVuWlhSUGQyNVFjbTl3WlhKMGVVUmxjMk55YVhCMGIzSTdYRzVjYm1WNGNHOXlkSE11WmlBOUlISmxjWFZwY21Vb0p5NHZYMlJsYzJOeWFYQjBiM0p6SnlrZ1B5Qm5UMUJFSURvZ1puVnVZM1JwYjI0Z1oyVjBUM2R1VUhKdmNHVnlkSGxFWlhOamNtbHdkRzl5S0U4c0lGQXBJSHRjYmlBZ1R5QTlJSFJ2U1U5aWFtVmpkQ2hQS1R0Y2JpQWdVQ0E5SUhSdlVISnBiV2wwYVhabEtGQXNJSFJ5ZFdVcE8xeHVJQ0JwWmlBb1NVVTRYMFJQVFY5RVJVWkpUa1VwSUhSeWVTQjdYRzRnSUNBZ2NtVjBkWEp1SUdkUFVFUW9UeXdnVUNrN1hHNGdJSDBnWTJGMFkyZ2dLR1VwSUhzZ0x5b2daVzF3ZEhrZ0tpOGdmVnh1SUNCcFppQW9hR0Z6S0U4c0lGQXBLU0J5WlhSMWNtNGdZM0psWVhSbFJHVnpZeWdoY0VsRkxtWXVZMkZzYkNoUExDQlFLU3dnVDF0UVhTazdYRzU5TzF4dUlsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHNpTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1nb3BkLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1nb3BuLWV4dC5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1nb3BuLWV4dC5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXtldmFsKCIvLyBmYWxsYmFjayBmb3IgSUUxMSBidWdneSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyB3aXRoIGlmcmFtZSBhbmQgd2luZG93XG52YXIgdG9JT2JqZWN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fdG8taW9iamVjdCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL190by1pb2JqZWN0LmpzXCIpO1xudmFyIGdPUE4gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19vYmplY3QtZ29wbiAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19vYmplY3QtZ29wbi5qc1wiKS5mO1xudmFyIHRvU3RyaW5nID0ge30udG9TdHJpbmc7XG5cbnZhciB3aW5kb3dOYW1lcyA9IHR5cGVvZiB3aW5kb3cgPT0gJ29iamVjdCcgJiYgd2luZG93ICYmIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzXG4gID8gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMod2luZG93KSA6IFtdO1xuXG52YXIgZ2V0V2luZG93TmFtZXMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gZ09QTihpdCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gd2luZG93TmFtZXMuc2xpY2UoKTtcbiAgfVxufTtcblxubW9kdWxlLmV4cG9ydHMuZiA9IGZ1bmN0aW9uIGdldE93blByb3BlcnR5TmFtZXMoaXQpIHtcbiAgcmV0dXJuIHdpbmRvd05hbWVzICYmIHRvU3RyaW5nLmNhbGwoaXQpID09ICdbb2JqZWN0IFdpbmRvd10nID8gZ2V0V2luZG93TmFtZXMoaXQpIDogZ09QTih0b0lPYmplY3QoaXQpKTtcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTlzYVdKeVlYSjVMMjF2WkhWc1pYTXZYMjlpYW1WamRDMW5iM0J1TFdWNGRDNXFjeTVxY3lJc0luTnZkWEpqWlhNaU9sc2lkMlZpY0dGamF6b3ZMeTh1TDI1dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyeHBZbkpoY25rdmJXOWtkV3hsY3k5ZmIySnFaV04wTFdkdmNHNHRaWGgwTG1welB6QXpPVFVpWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUx5OGdabUZzYkdKaFkyc2dabTl5SUVsRk1URWdZblZuWjNrZ1QySnFaV04wTG1kbGRFOTNibEJ5YjNCbGNuUjVUbUZ0WlhNZ2QybDBhQ0JwWm5KaGJXVWdZVzVrSUhkcGJtUnZkMXh1ZG1GeUlIUnZTVTlpYW1WamRDQTlJSEpsY1hWcGNtVW9KeTR2WDNSdkxXbHZZbXBsWTNRbktUdGNiblpoY2lCblQxQk9JRDBnY21WeGRXbHlaU2duTGk5ZmIySnFaV04wTFdkdmNHNG5LUzVtTzF4dWRtRnlJSFJ2VTNSeWFXNW5JRDBnZTMwdWRHOVRkSEpwYm1jN1hHNWNiblpoY2lCM2FXNWtiM2RPWVcxbGN5QTlJSFI1Y0dWdlppQjNhVzVrYjNjZ1BUMGdKMjlpYW1WamRDY2dKaVlnZDJsdVpHOTNJQ1ltSUU5aWFtVmpkQzVuWlhSUGQyNVFjbTl3WlhKMGVVNWhiV1Z6WEc0Z0lEOGdUMkpxWldOMExtZGxkRTkzYmxCeWIzQmxjblI1VG1GdFpYTW9kMmx1Wkc5M0tTQTZJRnRkTzF4dVhHNTJZWElnWjJWMFYybHVaRzkzVG1GdFpYTWdQU0JtZFc1amRHbHZiaUFvYVhRcElIdGNiaUFnZEhKNUlIdGNiaUFnSUNCeVpYUjFjbTRnWjA5UVRpaHBkQ2s3WEc0Z0lIMGdZMkYwWTJnZ0tHVXBJSHRjYmlBZ0lDQnlaWFIxY200Z2QybHVaRzkzVG1GdFpYTXVjMnhwWTJVb0tUdGNiaUFnZlZ4dWZUdGNibHh1Ylc5a2RXeGxMbVY0Y0c5eWRITXVaaUE5SUdaMWJtTjBhVzl1SUdkbGRFOTNibEJ5YjNCbGNuUjVUbUZ0WlhNb2FYUXBJSHRjYmlBZ2NtVjBkWEp1SUhkcGJtUnZkMDVoYldWeklDWW1JSFJ2VTNSeWFXNW5MbU5oYkd3b2FYUXBJRDA5SUNkYmIySnFaV04wSUZkcGJtUnZkMTBuSUQ4Z1oyVjBWMmx1Wkc5M1RtRnRaWE1vYVhRcElEb2daMDlRVGloMGIwbFBZbXBsWTNRb2FYUXBLVHRjYm4wN1hHNGlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1nb3BuLWV4dC5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19vYmplY3QtZ29wbi5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fb2JqZWN0LWdvcG4uanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXtldmFsKCIvLyAxOS4xLjIuNyAvIDE1LjIuMy40IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKE8pXG52YXIgJGtleXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19vYmplY3Qta2V5cy1pbnRlcm5hbCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19vYmplY3Qta2V5cy1pbnRlcm5hbC5qc1wiKTtcbnZhciBoaWRkZW5LZXlzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fZW51bS1idWcta2V5cyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19lbnVtLWJ1Zy1rZXlzLmpzXCIpLmNvbmNhdCgnbGVuZ3RoJywgJ3Byb3RvdHlwZScpO1xuXG5leHBvcnRzLmYgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyB8fCBmdW5jdGlvbiBnZXRPd25Qcm9wZXJ0eU5hbWVzKE8pIHtcbiAgcmV0dXJuICRrZXlzKE8sIGhpZGRlbktleXMpO1xufTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXNhV0p5WVhKNUwyMXZaSFZzWlhNdlgyOWlhbVZqZEMxbmIzQnVMbXB6TG1weklpd2ljMjkxY21ObGN5STZXeUozWldKd1lXTnJPaTh2THk0dmJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiR2xpY21GeWVTOXRiMlIxYkdWekwxOXZZbXBsWTNRdFoyOXdiaTVxY3o4MllXSm1JbDBzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4dklERTVMakV1TWk0M0lDOGdNVFV1TWk0ekxqUWdUMkpxWldOMExtZGxkRTkzYmxCeWIzQmxjblI1VG1GdFpYTW9UeWxjYm5aaGNpQWthMlY1Y3lBOUlISmxjWFZwY21Vb0p5NHZYMjlpYW1WamRDMXJaWGx6TFdsdWRHVnlibUZzSnlrN1hHNTJZWElnYUdsa1pHVnVTMlY1Y3lBOUlISmxjWFZwY21Vb0p5NHZYMlZ1ZFcwdFluVm5MV3RsZVhNbktTNWpiMjVqWVhRb0oyeGxibWQwYUNjc0lDZHdjbTkwYjNSNWNHVW5LVHRjYmx4dVpYaHdiM0owY3k1bUlEMGdUMkpxWldOMExtZGxkRTkzYmxCeWIzQmxjblI1VG1GdFpYTWdmSHdnWm5WdVkzUnBiMjRnWjJWMFQzZHVVSEp2Y0dWeWRIbE9ZVzFsY3loUEtTQjdYRzRnSUhKbGRIVnliaUFrYTJWNWN5aFBMQ0JvYVdSa1pXNUxaWGx6S1R0Y2JuMDdYRzRpWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk95SXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fb2JqZWN0LWdvcG4uanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fb2JqZWN0LWdvcHMuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1nb3BzLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpe2V2YWwoImV4cG9ydHMuZiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM7XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTlzYVdKeVlYSjVMMjF2WkhWc1pYTXZYMjlpYW1WamRDMW5iM0J6TG1wekxtcHpJaXdpYzI5MWNtTmxjeUk2V3lKM1pXSndZV05yT2k4dkx5NHZibTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12YkdsaWNtRnllUzl0YjJSMWJHVnpMMTl2WW1wbFkzUXRaMjl3Y3k1cWN6ODVZV0U1SWwwc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltVjRjRzl5ZEhNdVppQTlJRTlpYW1WamRDNW5aWFJQZDI1UWNtOXdaWEowZVZONWJXSnZiSE03WEc0aVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk95SXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fb2JqZWN0LWdvcHMuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fb2JqZWN0LWdwby5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19vYmplY3QtZ3BvLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXtldmFsKCIvLyAxOS4xLjIuOSAvIDE1LjIuMy4yIE9iamVjdC5nZXRQcm90b3R5cGVPZihPKVxudmFyIGhhcyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2hhcyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19oYXMuanNcIik7XG52YXIgdG9PYmplY3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL190by1vYmplY3QgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fdG8tb2JqZWN0LmpzXCIpO1xudmFyIElFX1BST1RPID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fc2hhcmVkLWtleSAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19zaGFyZWQta2V5LmpzXCIpKCdJRV9QUk9UTycpO1xudmFyIE9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxubW9kdWxlLmV4cG9ydHMgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gKE8pIHtcbiAgTyA9IHRvT2JqZWN0KE8pO1xuICBpZiAoaGFzKE8sIElFX1BST1RPKSkgcmV0dXJuIE9bSUVfUFJPVE9dO1xuICBpZiAodHlwZW9mIE8uY29uc3RydWN0b3IgPT0gJ2Z1bmN0aW9uJyAmJiBPIGluc3RhbmNlb2YgTy5jb25zdHJ1Y3Rvcikge1xuICAgIHJldHVybiBPLmNvbnN0cnVjdG9yLnByb3RvdHlwZTtcbiAgfSByZXR1cm4gTyBpbnN0YW5jZW9mIE9iamVjdCA/IE9iamVjdFByb3RvIDogbnVsbDtcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTlzYVdKeVlYSjVMMjF2WkhWc1pYTXZYMjlpYW1WamRDMW5jRzh1YW5NdWFuTWlMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk4dkxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTlzYVdKeVlYSjVMMjF2WkhWc1pYTXZYMjlpYW1WamRDMW5jRzh1YW5NL05UTmxNaUpkTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdkx5QXhPUzR4TGpJdU9TQXZJREUxTGpJdU15NHlJRTlpYW1WamRDNW5aWFJRY205MGIzUjVjR1ZQWmloUEtWeHVkbUZ5SUdoaGN5QTlJSEpsY1hWcGNtVW9KeTR2WDJoaGN5Y3BPMXh1ZG1GeUlIUnZUMkpxWldOMElEMGdjbVZ4ZFdseVpTZ25MaTlmZEc4dGIySnFaV04wSnlrN1hHNTJZWElnU1VWZlVGSlBWRThnUFNCeVpYRjFhWEpsS0NjdUwxOXphR0Z5WldRdGEyVjVKeWtvSjBsRlgxQlNUMVJQSnlrN1hHNTJZWElnVDJKcVpXTjBVSEp2ZEc4Z1BTQlBZbXBsWTNRdWNISnZkRzkwZVhCbE8xeHVYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJRTlpYW1WamRDNW5aWFJRY205MGIzUjVjR1ZQWmlCOGZDQm1kVzVqZEdsdmJpQW9UeWtnZTF4dUlDQlBJRDBnZEc5UFltcGxZM1FvVHlrN1hHNGdJR2xtSUNob1lYTW9UeXdnU1VWZlVGSlBWRThwS1NCeVpYUjFjbTRnVDF0SlJWOVFVazlVVDEwN1hHNGdJR2xtSUNoMGVYQmxiMllnVHk1amIyNXpkSEoxWTNSdmNpQTlQU0FuWm5WdVkzUnBiMjRuSUNZbUlFOGdhVzV6ZEdGdVkyVnZaaUJQTG1OdmJuTjBjblZqZEc5eUtTQjdYRzRnSUNBZ2NtVjBkWEp1SUU4dVkyOXVjM1J5ZFdOMGIzSXVjSEp2ZEc5MGVYQmxPMXh1SUNCOUlISmxkSFZ5YmlCUElHbHVjM1JoYm1ObGIyWWdUMkpxWldOMElEOGdUMkpxWldOMFVISnZkRzhnT2lCdWRXeHNPMXh1ZlR0Y2JpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN0lpd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19vYmplY3QtZ3BvLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1rZXlzLWludGVybmFsLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19vYmplY3Qta2V5cy1pbnRlcm5hbC5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18pe2V2YWwoInZhciBoYXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19oYXMgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9faGFzLmpzXCIpO1xudmFyIHRvSU9iamVjdCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3RvLWlvYmplY3QgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fdG8taW9iamVjdC5qc1wiKTtcbnZhciBhcnJheUluZGV4T2YgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19hcnJheS1pbmNsdWRlcyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19hcnJheS1pbmNsdWRlcy5qc1wiKShmYWxzZSk7XG52YXIgSUVfUFJPVE8gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19zaGFyZWQta2V5ICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3NoYXJlZC1rZXkuanNcIikoJ0lFX1BST1RPJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKG9iamVjdCwgbmFtZXMpIHtcbiAgdmFyIE8gPSB0b0lPYmplY3Qob2JqZWN0KTtcbiAgdmFyIGkgPSAwO1xuICB2YXIgcmVzdWx0ID0gW107XG4gIHZhciBrZXk7XG4gIGZvciAoa2V5IGluIE8pIGlmIChrZXkgIT0gSUVfUFJPVE8pIGhhcyhPLCBrZXkpICYmIHJlc3VsdC5wdXNoKGtleSk7XG4gIC8vIERvbid0IGVudW0gYnVnICYgaGlkZGVuIGtleXNcbiAgd2hpbGUgKG5hbWVzLmxlbmd0aCA+IGkpIGlmIChoYXMoTywga2V5ID0gbmFtZXNbaSsrXSkpIHtcbiAgICB+YXJyYXlJbmRleE9mKHJlc3VsdCwga2V5KSB8fCByZXN1bHQucHVzaChrZXkpO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59O1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5c2FXSnlZWEo1TDIxdlpIVnNaWE12WDI5aWFtVmpkQzFyWlhsekxXbHVkR1Z5Ym1Gc0xtcHpMbXB6SWl3aWMyOTFjbU5sY3lJNld5SjNaV0p3WVdOck9pOHZMeTR2Ym05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJHbGljbUZ5ZVM5dGIyUjFiR1Z6TDE5dlltcGxZM1F0YTJWNWN5MXBiblJsY201aGJDNXFjejlsTm1ZeklsMHNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJblpoY2lCb1lYTWdQU0J5WlhGMWFYSmxLQ2N1TDE5b1lYTW5LVHRjYm5aaGNpQjBiMGxQWW1wbFkzUWdQU0J5WlhGMWFYSmxLQ2N1TDE5MGJ5MXBiMkpxWldOMEp5azdYRzUyWVhJZ1lYSnlZWGxKYm1SbGVFOW1JRDBnY21WeGRXbHlaU2duTGk5ZllYSnlZWGt0YVc1amJIVmtaWE1uS1NobVlXeHpaU2s3WEc1MllYSWdTVVZmVUZKUFZFOGdQU0J5WlhGMWFYSmxLQ2N1TDE5emFHRnlaV1F0YTJWNUp5a29KMGxGWDFCU1QxUlBKeWs3WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1puVnVZM1JwYjI0Z0tHOWlhbVZqZEN3Z2JtRnRaWE1wSUh0Y2JpQWdkbUZ5SUU4Z1BTQjBiMGxQWW1wbFkzUW9iMkpxWldOMEtUdGNiaUFnZG1GeUlHa2dQU0F3TzF4dUlDQjJZWElnY21WemRXeDBJRDBnVzEwN1hHNGdJSFpoY2lCclpYazdYRzRnSUdadmNpQW9hMlY1SUdsdUlFOHBJR2xtSUNoclpYa2dJVDBnU1VWZlVGSlBWRThwSUdoaGN5aFBMQ0JyWlhrcElDWW1JSEpsYzNWc2RDNXdkWE5vS0d0bGVTazdYRzRnSUM4dklFUnZiaWQwSUdWdWRXMGdZblZuSUNZZ2FHbGtaR1Z1SUd0bGVYTmNiaUFnZDJocGJHVWdLRzVoYldWekxteGxibWQwYUNBK0lHa3BJR2xtSUNob1lYTW9UeXdnYTJWNUlEMGdibUZ0WlhOYmFTc3JYU2twSUh0Y2JpQWdJQ0IrWVhKeVlYbEpibVJsZUU5bUtISmxjM1ZzZEN3Z2EyVjVLU0I4ZkNCeVpYTjFiSFF1Y0hWemFDaHJaWGtwTzF4dUlDQjlYRzRnSUhKbGRIVnliaUJ5WlhOMWJIUTdYRzU5TzF4dUlsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk95SXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fb2JqZWN0LWtleXMtaW50ZXJuYWwuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fb2JqZWN0LWtleXMuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1rZXlzLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7ZXZhbCgiLy8gMTkuMS4yLjE0IC8gMTUuMi4zLjE0IE9iamVjdC5rZXlzKE8pXG52YXIgJGtleXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19vYmplY3Qta2V5cy1pbnRlcm5hbCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19vYmplY3Qta2V5cy1pbnRlcm5hbC5qc1wiKTtcbnZhciBlbnVtQnVnS2V5cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2VudW0tYnVnLWtleXMgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fZW51bS1idWcta2V5cy5qc1wiKTtcblxubW9kdWxlLmV4cG9ydHMgPSBPYmplY3Qua2V5cyB8fCBmdW5jdGlvbiBrZXlzKE8pIHtcbiAgcmV0dXJuICRrZXlzKE8sIGVudW1CdWdLZXlzKTtcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTlzYVdKeVlYSjVMMjF2WkhWc1pYTXZYMjlpYW1WamRDMXJaWGx6TG1wekxtcHpJaXdpYzI5MWNtTmxjeUk2V3lKM1pXSndZV05yT2k4dkx5NHZibTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12YkdsaWNtRnllUzl0YjJSMWJHVnpMMTl2WW1wbFkzUXRhMlY1Y3k1cWN6OWpNMkV4SWwwc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHZJREU1TGpFdU1pNHhOQ0F2SURFMUxqSXVNeTR4TkNCUFltcGxZM1F1YTJWNWN5aFBLVnh1ZG1GeUlDUnJaWGx6SUQwZ2NtVnhkV2x5WlNnbkxpOWZiMkpxWldOMExXdGxlWE10YVc1MFpYSnVZV3duS1R0Y2JuWmhjaUJsYm5WdFFuVm5TMlY1Y3lBOUlISmxjWFZwY21Vb0p5NHZYMlZ1ZFcwdFluVm5MV3RsZVhNbktUdGNibHh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JQWW1wbFkzUXVhMlY1Y3lCOGZDQm1kVzVqZEdsdmJpQnJaWGx6S0U4cElIdGNiaUFnY21WMGRYSnVJQ1JyWlhsektFOHNJR1Z1ZFcxQ2RXZExaWGx6S1R0Y2JuMDdYRzRpWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk95SXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fb2JqZWN0LWtleXMuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fb2JqZWN0LXBpZS5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19vYmplY3QtcGllLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7ZXZhbCgiZXhwb3J0cy5mID0ge30ucHJvcGVydHlJc0VudW1lcmFibGU7XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTlzYVdKeVlYSjVMMjF2WkhWc1pYTXZYMjlpYW1WamRDMXdhV1V1YW5NdWFuTWlMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk4dkxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTlzYVdKeVlYSjVMMjF2WkhWc1pYTXZYMjlpYW1WamRDMXdhV1V1YW5NL016VTFaQ0pkTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKbGVIQnZjblJ6TG1ZZ1BTQjdmUzV3Y205d1pYSjBlVWx6Ulc1MWJXVnlZV0pzWlR0Y2JpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdJaXdpYzI5MWNtTmxVbTl2ZENJNklpSjlcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fb2JqZWN0LXBpZS5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19wcm9wZXJ0eS1kZXNjLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3Byb3BlcnR5LWRlc2MuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXtldmFsKCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChiaXRtYXAsIHZhbHVlKSB7XG4gIHJldHVybiB7XG4gICAgZW51bWVyYWJsZTogIShiaXRtYXAgJiAxKSxcbiAgICBjb25maWd1cmFibGU6ICEoYml0bWFwICYgMiksXG4gICAgd3JpdGFibGU6ICEoYml0bWFwICYgNCksXG4gICAgdmFsdWU6IHZhbHVlXG4gIH07XG59O1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5c2FXSnlZWEo1TDIxdlpIVnNaWE12WDNCeWIzQmxjblI1TFdSbGMyTXVhbk11YW5NaUxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTh2TGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXNhV0p5WVhKNUwyMXZaSFZzWlhNdlgzQnliM0JsY25SNUxXUmxjMk11YW5NL1lXVmlaQ0pkTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKdGIyUjFiR1V1Wlhod2IzSjBjeUE5SUdaMWJtTjBhVzl1SUNoaWFYUnRZWEFzSUhaaGJIVmxLU0I3WEc0Z0lISmxkSFZ5YmlCN1hHNGdJQ0FnWlc1MWJXVnlZV0pzWlRvZ0lTaGlhWFJ0WVhBZ0ppQXhLU3hjYmlBZ0lDQmpiMjVtYVdkMWNtRmliR1U2SUNFb1ltbDBiV0Z3SUNZZ01pa3NYRzRnSUNBZ2QzSnBkR0ZpYkdVNklDRW9ZbWwwYldGd0lDWWdOQ2tzWEc0Z0lDQWdkbUZzZFdVNklIWmhiSFZsWEc0Z0lIMDdYRzU5TzF4dUlsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk95SXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fcHJvcGVydHktZGVzYy5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19yZWRlZmluZS5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fcmVkZWZpbmUuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXtldmFsKCJtb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2hpZGUgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9faGlkZS5qc1wiKTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXNhV0p5WVhKNUwyMXZaSFZzWlhNdlgzSmxaR1ZtYVc1bExtcHpMbXB6SWl3aWMyOTFjbU5sY3lJNld5SjNaV0p3WVdOck9pOHZMeTR2Ym05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJHbGljbUZ5ZVM5dGIyUjFiR1Z6TDE5eVpXUmxabWx1WlM1cWN6ODVNVE00SWwwc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ2NtVnhkV2x5WlNnbkxpOWZhR2xrWlNjcE8xeHVJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHNpTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3JlZGVmaW5lLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3NldC10by1zdHJpbmctdGFnLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19zZXQtdG8tc3RyaW5nLXRhZy5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18pe2V2YWwoInZhciBkZWYgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19vYmplY3QtZHAgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fb2JqZWN0LWRwLmpzXCIpLmY7XG52YXIgaGFzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9faGFzICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2hhcy5qc1wiKTtcbnZhciBUQUcgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL193a3MgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fd2tzLmpzXCIpKCd0b1N0cmluZ1RhZycpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCwgdGFnLCBzdGF0KSB7XG4gIGlmIChpdCAmJiAhaGFzKGl0ID0gc3RhdCA/IGl0IDogaXQucHJvdG90eXBlLCBUQUcpKSBkZWYoaXQsIFRBRywgeyBjb25maWd1cmFibGU6IHRydWUsIHZhbHVlOiB0YWcgfSk7XG59O1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5c2FXSnlZWEo1TDIxdlpIVnNaWE12WDNObGRDMTBieTF6ZEhKcGJtY3RkR0ZuTG1wekxtcHpJaXdpYzI5MWNtTmxjeUk2V3lKM1pXSndZV05yT2k4dkx5NHZibTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12YkdsaWNtRnllUzl0YjJSMWJHVnpMMTl6WlhRdGRHOHRjM1J5YVc1bkxYUmhaeTVxY3o4ME5XWXlJbDBzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW5aaGNpQmtaV1lnUFNCeVpYRjFhWEpsS0NjdUwxOXZZbXBsWTNRdFpIQW5LUzVtTzF4dWRtRnlJR2hoY3lBOUlISmxjWFZwY21Vb0p5NHZYMmhoY3ljcE8xeHVkbUZ5SUZSQlJ5QTlJSEpsY1hWcGNtVW9KeTR2WDNkcmN5Y3BLQ2QwYjFOMGNtbHVaMVJoWnljcE8xeHVYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR1oxYm1OMGFXOXVJQ2hwZEN3Z2RHRm5MQ0J6ZEdGMEtTQjdYRzRnSUdsbUlDaHBkQ0FtSmlBaGFHRnpLR2wwSUQwZ2MzUmhkQ0EvSUdsMElEb2dhWFF1Y0hKdmRHOTBlWEJsTENCVVFVY3BLU0JrWldZb2FYUXNJRlJCUnl3Z2V5QmpiMjVtYVdkMWNtRmliR1U2SUhSeWRXVXNJSFpoYkhWbE9pQjBZV2NnZlNrN1hHNTlPMXh1SWwwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUc2lMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fc2V0LXRvLXN0cmluZy10YWcuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fc2hhcmVkLWtleS5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19zaGFyZWQta2V5LmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXtldmFsKCJ2YXIgc2hhcmVkID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fc2hhcmVkICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3NoYXJlZC5qc1wiKSgna2V5cycpO1xudmFyIHVpZCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3VpZCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL191aWQuanNcIik7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChrZXkpIHtcbiAgcmV0dXJuIHNoYXJlZFtrZXldIHx8IChzaGFyZWRba2V5XSA9IHVpZChrZXkpKTtcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTlzYVdKeVlYSjVMMjF2WkhWc1pYTXZYM05vWVhKbFpDMXJaWGt1YW5NdWFuTWlMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk4dkxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTlzYVdKeVlYSjVMMjF2WkhWc1pYTXZYM05vWVhKbFpDMXJaWGt1YW5NL05UVTFPU0pkTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKMllYSWdjMmhoY21Wa0lEMGdjbVZ4ZFdseVpTZ25MaTlmYzJoaGNtVmtKeWtvSjJ0bGVYTW5LVHRjYm5aaGNpQjFhV1FnUFNCeVpYRjFhWEpsS0NjdUwxOTFhV1FuS1R0Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1puVnVZM1JwYjI0Z0tHdGxlU2tnZTF4dUlDQnlaWFIxY200Z2MyaGhjbVZrVzJ0bGVWMGdmSHdnS0hOb1lYSmxaRnRyWlhsZElEMGdkV2xrS0d0bGVTa3BPMXh1ZlR0Y2JpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHNpTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3NoYXJlZC1rZXkuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fc2hhcmVkLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fc2hhcmVkLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18pe2V2YWwoInZhciBjb3JlID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fY29yZSAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19jb3JlLmpzXCIpO1xudmFyIGdsb2JhbCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2dsb2JhbCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19nbG9iYWwuanNcIik7XG52YXIgU0hBUkVEID0gJ19fY29yZS1qc19zaGFyZWRfXyc7XG52YXIgc3RvcmUgPSBnbG9iYWxbU0hBUkVEXSB8fCAoZ2xvYmFsW1NIQVJFRF0gPSB7fSk7XG5cbihtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChrZXksIHZhbHVlKSB7XG4gIHJldHVybiBzdG9yZVtrZXldIHx8IChzdG9yZVtrZXldID0gdmFsdWUgIT09IHVuZGVmaW5lZCA/IHZhbHVlIDoge30pO1xufSkoJ3ZlcnNpb25zJywgW10pLnB1c2goe1xuICB2ZXJzaW9uOiBjb3JlLnZlcnNpb24sXG4gIG1vZGU6IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2xpYnJhcnkgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fbGlicmFyeS5qc1wiKSA/ICdwdXJlJyA6ICdnbG9iYWwnLFxuICBjb3B5cmlnaHQ6ICfCqSAyMDE5IERlbmlzIFB1c2hrYXJldiAoemxvaXJvY2sucnUpJ1xufSk7XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTlzYVdKeVlYSjVMMjF2WkhWc1pYTXZYM05vWVhKbFpDNXFjeTVxY3lJc0luTnZkWEpqWlhNaU9sc2lkMlZpY0dGamF6b3ZMeTh1TDI1dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyeHBZbkpoY25rdmJXOWtkV3hsY3k5ZmMyaGhjbVZrTG1welAyUmlaR0lpWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWRtRnlJR052Y21VZ1BTQnlaWEYxYVhKbEtDY3VMMTlqYjNKbEp5azdYRzUyWVhJZ1oyeHZZbUZzSUQwZ2NtVnhkV2x5WlNnbkxpOWZaMnh2WW1Gc0p5azdYRzUyWVhJZ1UwaEJVa1ZFSUQwZ0oxOWZZMjl5WlMxcWMxOXphR0Z5WldSZlh5YzdYRzUyWVhJZ2MzUnZjbVVnUFNCbmJHOWlZV3hiVTBoQlVrVkVYU0I4ZkNBb1oyeHZZbUZzVzFOSVFWSkZSRjBnUFNCN2ZTazdYRzVjYmlodGIyUjFiR1V1Wlhod2IzSjBjeUE5SUdaMWJtTjBhVzl1SUNoclpYa3NJSFpoYkhWbEtTQjdYRzRnSUhKbGRIVnliaUJ6ZEc5eVpWdHJaWGxkSUh4OElDaHpkRzl5WlZ0clpYbGRJRDBnZG1Gc2RXVWdJVDA5SUhWdVpHVm1hVzVsWkNBL0lIWmhiSFZsSURvZ2UzMHBPMXh1ZlNrb0ozWmxjbk5wYjI1ekp5d2dXMTBwTG5CMWMyZ29lMXh1SUNCMlpYSnphVzl1T2lCamIzSmxMblpsY25OcGIyNHNYRzRnSUcxdlpHVTZJSEpsY1hWcGNtVW9KeTR2WDJ4cFluSmhjbmtuS1NBL0lDZHdkWEpsSnlBNklDZG5iRzlpWVd3bkxGeHVJQ0JqYjNCNWNtbG5hSFE2SUNmQ3FTQXlNREU1SUVSbGJtbHpJRkIxYzJocllYSmxkaUFvZW14dmFYSnZZMnN1Y25VcEoxeHVmU2s3WEc0aVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUc2lMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fc2hhcmVkLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3N0cmluZy1hdC5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3N0cmluZy1hdC5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXtldmFsKCJ2YXIgdG9JbnRlZ2VyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fdG8taW50ZWdlciAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL190by1pbnRlZ2VyLmpzXCIpO1xudmFyIGRlZmluZWQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19kZWZpbmVkICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2RlZmluZWQuanNcIik7XG4vLyB0cnVlICAtPiBTdHJpbmcjYXRcbi8vIGZhbHNlIC0+IFN0cmluZyNjb2RlUG9pbnRBdFxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoVE9fU1RSSU5HKSB7XG4gIHJldHVybiBmdW5jdGlvbiAodGhhdCwgcG9zKSB7XG4gICAgdmFyIHMgPSBTdHJpbmcoZGVmaW5lZCh0aGF0KSk7XG4gICAgdmFyIGkgPSB0b0ludGVnZXIocG9zKTtcbiAgICB2YXIgbCA9IHMubGVuZ3RoO1xuICAgIHZhciBhLCBiO1xuICAgIGlmIChpIDwgMCB8fCBpID49IGwpIHJldHVybiBUT19TVFJJTkcgPyAnJyA6IHVuZGVmaW5lZDtcbiAgICBhID0gcy5jaGFyQ29kZUF0KGkpO1xuICAgIHJldHVybiBhIDwgMHhkODAwIHx8IGEgPiAweGRiZmYgfHwgaSArIDEgPT09IGwgfHwgKGIgPSBzLmNoYXJDb2RlQXQoaSArIDEpKSA8IDB4ZGMwMCB8fCBiID4gMHhkZmZmXG4gICAgICA/IFRPX1NUUklORyA/IHMuY2hhckF0KGkpIDogYVxuICAgICAgOiBUT19TVFJJTkcgPyBzLnNsaWNlKGksIGkgKyAyKSA6IChhIC0gMHhkODAwIDw8IDEwKSArIChiIC0gMHhkYzAwKSArIDB4MTAwMDA7XG4gIH07XG59O1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5c2FXSnlZWEo1TDIxdlpIVnNaWE12WDNOMGNtbHVaeTFoZEM1cWN5NXFjeUlzSW5OdmRYSmpaWE1pT2xzaWQyVmljR0ZqYXpvdkx5OHVMMjV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDJ4cFluSmhjbmt2Ylc5a2RXeGxjeTlmYzNSeWFXNW5MV0YwTG1welB6Y3hZekVpWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWRtRnlJSFJ2U1c1MFpXZGxjaUE5SUhKbGNYVnBjbVVvSnk0dlgzUnZMV2x1ZEdWblpYSW5LVHRjYm5aaGNpQmtaV1pwYm1Wa0lEMGdjbVZ4ZFdseVpTZ25MaTlmWkdWbWFXNWxaQ2NwTzF4dUx5OGdkSEoxWlNBZ0xUNGdVM1J5YVc1bkkyRjBYRzR2THlCbVlXeHpaU0F0UGlCVGRISnBibWNqWTI5a1pWQnZhVzUwUVhSY2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1puVnVZM1JwYjI0Z0tGUlBYMU5VVWtsT1J5a2dlMXh1SUNCeVpYUjFjbTRnWm5WdVkzUnBiMjRnS0hSb1lYUXNJSEJ2Y3lrZ2UxeHVJQ0FnSUhaaGNpQnpJRDBnVTNSeWFXNW5LR1JsWm1sdVpXUW9kR2hoZENrcE8xeHVJQ0FnSUhaaGNpQnBJRDBnZEc5SmJuUmxaMlZ5S0hCdmN5azdYRzRnSUNBZ2RtRnlJR3dnUFNCekxteGxibWQwYUR0Y2JpQWdJQ0IyWVhJZ1lTd2dZanRjYmlBZ0lDQnBaaUFvYVNBOElEQWdmSHdnYVNBK1BTQnNLU0J5WlhSMWNtNGdWRTlmVTFSU1NVNUhJRDhnSnljZ09pQjFibVJsWm1sdVpXUTdYRzRnSUNBZ1lTQTlJSE11WTJoaGNrTnZaR1ZCZENocEtUdGNiaUFnSUNCeVpYUjFjbTRnWVNBOElEQjRaRGd3TUNCOGZDQmhJRDRnTUhoa1ltWm1JSHg4SUdrZ0t5QXhJRDA5UFNCc0lIeDhJQ2hpSUQwZ2N5NWphR0Z5UTI5a1pVRjBLR2tnS3lBeEtTa2dQQ0F3ZUdSak1EQWdmSHdnWWlBK0lEQjRaR1ptWmx4dUlDQWdJQ0FnUHlCVVQxOVRWRkpKVGtjZ1B5QnpMbU5vWVhKQmRDaHBLU0E2SUdGY2JpQWdJQ0FnSURvZ1ZFOWZVMVJTU1U1SElEOGdjeTV6YkdsalpTaHBMQ0JwSUNzZ01pa2dPaUFvWVNBdElEQjRaRGd3TUNBOFBDQXhNQ2tnS3lBb1lpQXRJREI0WkdNd01Da2dLeUF3ZURFd01EQXdPMXh1SUNCOU8xeHVmVHRjYmlKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzaUxDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19zdHJpbmctYXQuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fdG8tYWJzb2x1dGUtaW5kZXguanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3RvLWFic29sdXRlLWluZGV4LmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7ZXZhbCgidmFyIHRvSW50ZWdlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3RvLWludGVnZXIgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fdG8taW50ZWdlci5qc1wiKTtcbnZhciBtYXggPSBNYXRoLm1heDtcbnZhciBtaW4gPSBNYXRoLm1pbjtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGluZGV4LCBsZW5ndGgpIHtcbiAgaW5kZXggPSB0b0ludGVnZXIoaW5kZXgpO1xuICByZXR1cm4gaW5kZXggPCAwID8gbWF4KGluZGV4ICsgbGVuZ3RoLCAwKSA6IG1pbihpbmRleCwgbGVuZ3RoKTtcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTlzYVdKeVlYSjVMMjF2WkhWc1pYTXZYM1J2TFdGaWMyOXNkWFJsTFdsdVpHVjRMbXB6TG1weklpd2ljMjkxY21ObGN5STZXeUozWldKd1lXTnJPaTh2THk0dmJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiR2xpY21GeWVTOXRiMlIxYkdWekwxOTBieTFoWW5OdmJIVjBaUzFwYm1SbGVDNXFjejh3Wm1NNUlsMHNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJblpoY2lCMGIwbHVkR1ZuWlhJZ1BTQnlaWEYxYVhKbEtDY3VMMTkwYnkxcGJuUmxaMlZ5SnlrN1hHNTJZWElnYldGNElEMGdUV0YwYUM1dFlYZzdYRzUyWVhJZ2JXbHVJRDBnVFdGMGFDNXRhVzQ3WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUdaMWJtTjBhVzl1SUNocGJtUmxlQ3dnYkdWdVozUm9LU0I3WEc0Z0lHbHVaR1Y0SUQwZ2RHOUpiblJsWjJWeUtHbHVaR1Y0S1R0Y2JpQWdjbVYwZFhKdUlHbHVaR1Y0SUR3Z01DQS9JRzFoZUNocGJtUmxlQ0FySUd4bGJtZDBhQ3dnTUNrZ09pQnRhVzRvYVc1a1pYZ3NJR3hsYm1kMGFDazdYRzU5TzF4dUlsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHNpTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3RvLWFic29sdXRlLWluZGV4LmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3RvLWludGVnZXIuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fdG8taW50ZWdlci5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpe2V2YWwoIi8vIDcuMS40IFRvSW50ZWdlclxudmFyIGNlaWwgPSBNYXRoLmNlaWw7XG52YXIgZmxvb3IgPSBNYXRoLmZsb29yO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIGlzTmFOKGl0ID0gK2l0KSA/IDAgOiAoaXQgPiAwID8gZmxvb3IgOiBjZWlsKShpdCk7XG59O1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5c2FXSnlZWEo1TDIxdlpIVnNaWE12WDNSdkxXbHVkR1ZuWlhJdWFuTXVhbk1pTENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OHZMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5c2FXSnlZWEo1TDIxdlpIVnNaWE12WDNSdkxXbHVkR1ZuWlhJdWFuTS9NMkV6T0NKZExDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZMeUEzTGpFdU5DQlViMGx1ZEdWblpYSmNiblpoY2lCalpXbHNJRDBnVFdGMGFDNWpaV2xzTzF4dWRtRnlJR1pzYjI5eUlEMGdUV0YwYUM1bWJHOXZjanRjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnWm5WdVkzUnBiMjRnS0dsMEtTQjdYRzRnSUhKbGRIVnliaUJwYzA1aFRpaHBkQ0E5SUN0cGRDa2dQeUF3SURvZ0tHbDBJRDRnTUNBL0lHWnNiMjl5SURvZ1kyVnBiQ2tvYVhRcE8xeHVmVHRjYmlKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL190by1pbnRlZ2VyLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3RvLWlvYmplY3QuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fdG8taW9iamVjdC5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7ZXZhbCgiLy8gdG8gaW5kZXhlZCBvYmplY3QsIHRvT2JqZWN0IHdpdGggZmFsbGJhY2sgZm9yIG5vbi1hcnJheS1saWtlIEVTMyBzdHJpbmdzXG52YXIgSU9iamVjdCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2lvYmplY3QgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9faW9iamVjdC5qc1wiKTtcbnZhciBkZWZpbmVkID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fZGVmaW5lZCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19kZWZpbmVkLmpzXCIpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIElPYmplY3QoZGVmaW5lZChpdCkpO1xufTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXNhV0p5WVhKNUwyMXZaSFZzWlhNdlgzUnZMV2x2WW1wbFkzUXVhbk11YW5NaUxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTh2TGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXNhV0p5WVhKNUwyMXZaSFZzWlhNdlgzUnZMV2x2WW1wbFkzUXVhbk0vTXpaak15SmRMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2THlCMGJ5QnBibVJsZUdWa0lHOWlhbVZqZEN3Z2RHOVBZbXBsWTNRZ2QybDBhQ0JtWVd4c1ltRmpheUJtYjNJZ2JtOXVMV0Z5Y21GNUxXeHBhMlVnUlZNeklITjBjbWx1WjNOY2JuWmhjaUJKVDJKcVpXTjBJRDBnY21WeGRXbHlaU2duTGk5ZmFXOWlhbVZqZENjcE8xeHVkbUZ5SUdSbFptbHVaV1FnUFNCeVpYRjFhWEpsS0NjdUwxOWtaV1pwYm1Wa0p5azdYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR1oxYm1OMGFXOXVJQ2hwZENrZ2UxeHVJQ0J5WlhSMWNtNGdTVTlpYW1WamRDaGtaV1pwYm1Wa0tHbDBLU2s3WEc1OU8xeHVJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdJaXdpYzI5MWNtTmxVbTl2ZENJNklpSjlcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fdG8taW9iamVjdC5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL190by1sZW5ndGguanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL190by1sZW5ndGguanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7ZXZhbCgiLy8gNy4xLjE1IFRvTGVuZ3RoXG52YXIgdG9JbnRlZ2VyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fdG8taW50ZWdlciAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL190by1pbnRlZ2VyLmpzXCIpO1xudmFyIG1pbiA9IE1hdGgubWluO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIGl0ID4gMCA/IG1pbih0b0ludGVnZXIoaXQpLCAweDFmZmZmZmZmZmZmZmZmKSA6IDA7IC8vIHBvdygyLCA1MykgLSAxID09IDkwMDcxOTkyNTQ3NDA5OTFcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTlzYVdKeVlYSjVMMjF2WkhWc1pYTXZYM1J2TFd4bGJtZDBhQzVxY3k1cWN5SXNJbk52ZFhKalpYTWlPbHNpZDJWaWNHRmphem92THk4dUwyNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMnhwWW5KaGNua3ZiVzlrZFd4bGN5OWZkRzh0YkdWdVozUm9MbXB6UDJJME5EY2lYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpTHk4Z055NHhMakUxSUZSdlRHVnVaM1JvWEc1MllYSWdkRzlKYm5SbFoyVnlJRDBnY21WeGRXbHlaU2duTGk5ZmRHOHRhVzUwWldkbGNpY3BPMXh1ZG1GeUlHMXBiaUE5SUUxaGRHZ3ViV2x1TzF4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbWRXNWpkR2x2YmlBb2FYUXBJSHRjYmlBZ2NtVjBkWEp1SUdsMElENGdNQ0EvSUcxcGJpaDBiMGx1ZEdWblpYSW9hWFFwTENBd2VERm1abVptWm1abVptWm1abVptS1NBNklEQTdJQzh2SUhCdmR5Z3lMQ0ExTXlrZ0xTQXhJRDA5SURrd01EY3hPVGt5TlRRM05EQTVPVEZjYm4wN1hHNGlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUc2lMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fdG8tbGVuZ3RoLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3RvLW9iamVjdC5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3RvLW9iamVjdC5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXtldmFsKCIvLyA3LjEuMTMgVG9PYmplY3QoYXJndW1lbnQpXG52YXIgZGVmaW5lZCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2RlZmluZWQgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fZGVmaW5lZC5qc1wiKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBPYmplY3QoZGVmaW5lZChpdCkpO1xufTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXNhV0p5WVhKNUwyMXZaSFZzWlhNdlgzUnZMVzlpYW1WamRDNXFjeTVxY3lJc0luTnZkWEpqWlhNaU9sc2lkMlZpY0dGamF6b3ZMeTh1TDI1dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyeHBZbkpoY25rdmJXOWtkV3hsY3k5ZmRHOHRiMkpxWldOMExtcHpQekkwTVdVaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lMeThnTnk0eExqRXpJRlJ2VDJKcVpXTjBLR0Z5WjNWdFpXNTBLVnh1ZG1GeUlHUmxabWx1WldRZ1BTQnlaWEYxYVhKbEtDY3VMMTlrWldacGJtVmtKeWs3WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUdaMWJtTjBhVzl1SUNocGRDa2dlMXh1SUNCeVpYUjFjbTRnVDJKcVpXTjBLR1JsWm1sdVpXUW9hWFFwS1R0Y2JuMDdYRzRpWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN0lpd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL190by1vYmplY3QuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fdG8tcHJpbWl0aXZlLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fdG8tcHJpbWl0aXZlLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18pe2V2YWwoIi8vIDcuMS4xIFRvUHJpbWl0aXZlKGlucHV0IFssIFByZWZlcnJlZFR5cGVdKVxudmFyIGlzT2JqZWN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9faXMtb2JqZWN0ICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2lzLW9iamVjdC5qc1wiKTtcbi8vIGluc3RlYWQgb2YgdGhlIEVTNiBzcGVjIHZlcnNpb24sIHdlIGRpZG4ndCBpbXBsZW1lbnQgQEB0b1ByaW1pdGl2ZSBjYXNlXG4vLyBhbmQgdGhlIHNlY29uZCBhcmd1bWVudCAtIGZsYWcgLSBwcmVmZXJyZWQgdHlwZSBpcyBhIHN0cmluZ1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQsIFMpIHtcbiAgaWYgKCFpc09iamVjdChpdCkpIHJldHVybiBpdDtcbiAgdmFyIGZuLCB2YWw7XG4gIGlmIChTICYmIHR5cGVvZiAoZm4gPSBpdC50b1N0cmluZykgPT0gJ2Z1bmN0aW9uJyAmJiAhaXNPYmplY3QodmFsID0gZm4uY2FsbChpdCkpKSByZXR1cm4gdmFsO1xuICBpZiAodHlwZW9mIChmbiA9IGl0LnZhbHVlT2YpID09ICdmdW5jdGlvbicgJiYgIWlzT2JqZWN0KHZhbCA9IGZuLmNhbGwoaXQpKSkgcmV0dXJuIHZhbDtcbiAgaWYgKCFTICYmIHR5cGVvZiAoZm4gPSBpdC50b1N0cmluZykgPT0gJ2Z1bmN0aW9uJyAmJiAhaXNPYmplY3QodmFsID0gZm4uY2FsbChpdCkpKSByZXR1cm4gdmFsO1xuICB0aHJvdyBUeXBlRXJyb3IoXCJDYW4ndCBjb252ZXJ0IG9iamVjdCB0byBwcmltaXRpdmUgdmFsdWVcIik7XG59O1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5c2FXSnlZWEo1TDIxdlpIVnNaWE12WDNSdkxYQnlhVzFwZEdsMlpTNXFjeTVxY3lJc0luTnZkWEpqWlhNaU9sc2lkMlZpY0dGamF6b3ZMeTh1TDI1dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyeHBZbkpoY25rdmJXOWtkV3hsY3k5ZmRHOHRjSEpwYldsMGFYWmxMbXB6UHpGaVl6TWlYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpTHk4Z055NHhMakVnVkc5UWNtbHRhWFJwZG1Vb2FXNXdkWFFnV3l3Z1VISmxabVZ5Y21Wa1ZIbHdaVjBwWEc1MllYSWdhWE5QWW1wbFkzUWdQU0J5WlhGMWFYSmxLQ2N1TDE5cGN5MXZZbXBsWTNRbktUdGNiaTh2SUdsdWMzUmxZV1FnYjJZZ2RHaGxJRVZUTmlCemNHVmpJSFpsY25OcGIyNHNJSGRsSUdScFpHNG5kQ0JwYlhCc1pXMWxiblFnUUVCMGIxQnlhVzFwZEdsMlpTQmpZWE5sWEc0dkx5QmhibVFnZEdobElITmxZMjl1WkNCaGNtZDFiV1Z1ZENBdElHWnNZV2NnTFNCd2NtVm1aWEp5WldRZ2RIbHdaU0JwY3lCaElITjBjbWx1WjF4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbWRXNWpkR2x2YmlBb2FYUXNJRk1wSUh0Y2JpQWdhV1lnS0NGcGMwOWlhbVZqZENocGRDa3BJSEpsZEhWeWJpQnBkRHRjYmlBZ2RtRnlJR1p1TENCMllXdzdYRzRnSUdsbUlDaFRJQ1ltSUhSNWNHVnZaaUFvWm00Z1BTQnBkQzUwYjFOMGNtbHVaeWtnUFQwZ0oyWjFibU4wYVc5dUp5QW1KaUFoYVhOUFltcGxZM1FvZG1Gc0lEMGdabTR1WTJGc2JDaHBkQ2twS1NCeVpYUjFjbTRnZG1Gc08xeHVJQ0JwWmlBb2RIbHdaVzltSUNobWJpQTlJR2wwTG5aaGJIVmxUMllwSUQwOUlDZG1kVzVqZEdsdmJpY2dKaVlnSVdselQySnFaV04wS0haaGJDQTlJR1p1TG1OaGJHd29hWFFwS1NrZ2NtVjBkWEp1SUhaaGJEdGNiaUFnYVdZZ0tDRlRJQ1ltSUhSNWNHVnZaaUFvWm00Z1BTQnBkQzUwYjFOMGNtbHVaeWtnUFQwZ0oyWjFibU4wYVc5dUp5QW1KaUFoYVhOUFltcGxZM1FvZG1Gc0lEMGdabTR1WTJGc2JDaHBkQ2twS1NCeVpYUjFjbTRnZG1Gc08xeHVJQ0IwYUhKdmR5QlVlWEJsUlhKeWIzSW9YQ0pEWVc0bmRDQmpiMjUyWlhKMElHOWlhbVZqZENCMGJ5QndjbWx0YVhScGRtVWdkbUZzZFdWY0lpazdYRzU5TzF4dUlsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdJaXdpYzI5MWNtTmxVbTl2ZENJNklpSjlcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fdG8tcHJpbWl0aXZlLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3VpZC5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3VpZC5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7ZXZhbCgidmFyIGlkID0gMDtcbnZhciBweCA9IE1hdGgucmFuZG9tKCk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChrZXkpIHtcbiAgcmV0dXJuICdTeW1ib2woJy5jb25jYXQoa2V5ID09PSB1bmRlZmluZWQgPyAnJyA6IGtleSwgJylfJywgKCsraWQgKyBweCkudG9TdHJpbmcoMzYpKTtcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTlzYVdKeVlYSjVMMjF2WkhWc1pYTXZYM1ZwWkM1cWN5NXFjeUlzSW5OdmRYSmpaWE1pT2xzaWQyVmljR0ZqYXpvdkx5OHVMMjV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDJ4cFluSmhjbmt2Ylc5a2RXeGxjeTlmZFdsa0xtcHpQell5WVRBaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lkbUZ5SUdsa0lEMGdNRHRjYm5aaGNpQndlQ0E5SUUxaGRHZ3VjbUZ1Wkc5dEtDazdYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR1oxYm1OMGFXOXVJQ2hyWlhrcElIdGNiaUFnY21WMGRYSnVJQ2RUZVcxaWIyd29KeTVqYjI1allYUW9hMlY1SUQwOVBTQjFibVJsWm1sdVpXUWdQeUFuSnlBNklHdGxlU3dnSnlsZkp5d2dLQ3NyYVdRZ0t5QndlQ2t1ZEc5VGRISnBibWNvTXpZcEtUdGNibjA3WEc0aVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdJaXdpYzI5MWNtTmxVbTl2ZENJNklpSjlcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fdWlkLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3drcy1kZWZpbmUuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fd2tzLWRlZmluZS5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7ZXZhbCgidmFyIGdsb2JhbCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2dsb2JhbCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19nbG9iYWwuanNcIik7XG52YXIgY29yZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2NvcmUgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fY29yZS5qc1wiKTtcbnZhciBMSUJSQVJZID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fbGlicmFyeSAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19saWJyYXJ5LmpzXCIpO1xudmFyIHdrc0V4dCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3drcy1leHQgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fd2tzLWV4dC5qc1wiKTtcbnZhciBkZWZpbmVQcm9wZXJ0eSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX29iamVjdC1kcCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19vYmplY3QtZHAuanNcIikuZjtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKG5hbWUpIHtcbiAgdmFyICRTeW1ib2wgPSBjb3JlLlN5bWJvbCB8fCAoY29yZS5TeW1ib2wgPSBMSUJSQVJZID8ge30gOiBnbG9iYWwuU3ltYm9sIHx8IHt9KTtcbiAgaWYgKG5hbWUuY2hhckF0KDApICE9ICdfJyAmJiAhKG5hbWUgaW4gJFN5bWJvbCkpIGRlZmluZVByb3BlcnR5KCRTeW1ib2wsIG5hbWUsIHsgdmFsdWU6IHdrc0V4dC5mKG5hbWUpIH0pO1xufTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXNhV0p5WVhKNUwyMXZaSFZzWlhNdlgzZHJjeTFrWldacGJtVXVhbk11YW5NaUxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTh2TGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXNhV0p5WVhKNUwyMXZaSFZzWlhNdlgzZHJjeTFrWldacGJtVXVhbk0vTmpjeE9DSmRMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUoyWVhJZ1oyeHZZbUZzSUQwZ2NtVnhkV2x5WlNnbkxpOWZaMnh2WW1Gc0p5azdYRzUyWVhJZ1kyOXlaU0E5SUhKbGNYVnBjbVVvSnk0dlgyTnZjbVVuS1R0Y2JuWmhjaUJNU1VKU1FWSlpJRDBnY21WeGRXbHlaU2duTGk5ZmJHbGljbUZ5ZVNjcE8xeHVkbUZ5SUhkcmMwVjRkQ0E5SUhKbGNYVnBjbVVvSnk0dlgzZHJjeTFsZUhRbktUdGNiblpoY2lCa1pXWnBibVZRY205d1pYSjBlU0E5SUhKbGNYVnBjbVVvSnk0dlgyOWlhbVZqZEMxa2NDY3BMbVk3WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUdaMWJtTjBhVzl1SUNodVlXMWxLU0I3WEc0Z0lIWmhjaUFrVTNsdFltOXNJRDBnWTI5eVpTNVRlVzFpYjJ3Z2ZId2dLR052Y21VdVUzbHRZbTlzSUQwZ1RFbENVa0ZTV1NBL0lIdDlJRG9nWjJ4dlltRnNMbE41YldKdmJDQjhmQ0I3ZlNrN1hHNGdJR2xtSUNodVlXMWxMbU5vWVhKQmRDZ3dLU0FoUFNBblh5Y2dKaVlnSVNodVlXMWxJR2x1SUNSVGVXMWliMndwS1NCa1pXWnBibVZRY205d1pYSjBlU2drVTNsdFltOXNMQ0J1WVcxbExDQjdJSFpoYkhWbE9pQjNhM05GZUhRdVppaHVZVzFsS1NCOUtUdGNibjA3WEc0aVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHNpTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3drcy1kZWZpbmUuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fd2tzLWV4dC5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL193a3MtZXh0LmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXtldmFsKCJleHBvcnRzLmYgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL193a3MgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fd2tzLmpzXCIpO1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5c2FXSnlZWEo1TDIxdlpIVnNaWE12WDNkcmN5MWxlSFF1YW5NdWFuTWlMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk4dkxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTlzYVdKeVlYSjVMMjF2WkhWc1pYTXZYM2RyY3kxbGVIUXVhbk0vWTJOaU9TSmRMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpsZUhCdmNuUnpMbVlnUFNCeVpYRjFhWEpsS0NjdUwxOTNhM01uS1R0Y2JpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdJaXdpYzI5MWNtTmxVbTl2ZENJNklpSjlcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fd2tzLWV4dC5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL193a3MuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL193a3MuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7ZXZhbCgidmFyIHN0b3JlID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fc2hhcmVkICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3NoYXJlZC5qc1wiKSgnd2tzJyk7XG52YXIgdWlkID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fdWlkICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3VpZC5qc1wiKTtcbnZhciBTeW1ib2wgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19nbG9iYWwgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fZ2xvYmFsLmpzXCIpLlN5bWJvbDtcbnZhciBVU0VfU1lNQk9MID0gdHlwZW9mIFN5bWJvbCA9PSAnZnVuY3Rpb24nO1xuXG52YXIgJGV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChuYW1lKSB7XG4gIHJldHVybiBzdG9yZVtuYW1lXSB8fCAoc3RvcmVbbmFtZV0gPVxuICAgIFVTRV9TWU1CT0wgJiYgU3ltYm9sW25hbWVdIHx8IChVU0VfU1lNQk9MID8gU3ltYm9sIDogdWlkKSgnU3ltYm9sLicgKyBuYW1lKSk7XG59O1xuXG4kZXhwb3J0cy5zdG9yZSA9IHN0b3JlO1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5c2FXSnlZWEo1TDIxdlpIVnNaWE12WDNkcmN5NXFjeTVxY3lJc0luTnZkWEpqWlhNaU9sc2lkMlZpY0dGamF6b3ZMeTh1TDI1dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyeHBZbkpoY25rdmJXOWtkV3hsY3k5ZmQydHpMbXB6UHpVeE5qZ2lYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpZG1GeUlITjBiM0psSUQwZ2NtVnhkV2x5WlNnbkxpOWZjMmhoY21Wa0p5a29KM2RyY3ljcE8xeHVkbUZ5SUhWcFpDQTlJSEpsY1hWcGNtVW9KeTR2WDNWcFpDY3BPMXh1ZG1GeUlGTjViV0p2YkNBOUlISmxjWFZwY21Vb0p5NHZYMmRzYjJKaGJDY3BMbE41YldKdmJEdGNiblpoY2lCVlUwVmZVMWxOUWs5TUlEMGdkSGx3Wlc5bUlGTjViV0p2YkNBOVBTQW5ablZ1WTNScGIyNG5PMXh1WEc1MllYSWdKR1Y0Y0c5eWRITWdQU0J0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR1oxYm1OMGFXOXVJQ2h1WVcxbEtTQjdYRzRnSUhKbGRIVnliaUJ6ZEc5eVpWdHVZVzFsWFNCOGZDQW9jM1J2Y21WYmJtRnRaVjBnUFZ4dUlDQWdJRlZUUlY5VFdVMUNUMHdnSmlZZ1UzbHRZbTlzVzI1aGJXVmRJSHg4SUNoVlUwVmZVMWxOUWs5TUlEOGdVM2x0WW05c0lEb2dkV2xrS1NnblUzbHRZbTlzTGljZ0t5QnVZVzFsS1NrN1hHNTlPMXh1WEc0a1pYaHdiM0owY3k1emRHOXlaU0E5SUhOMGIzSmxPMXh1SWwwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3drcy5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL2VzNi5hcnJheS5pdGVyYXRvci5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9lczYuYXJyYXkuaXRlcmF0b3IuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXsidXNlIHN0cmljdCI7ZXZhbCgiXG52YXIgYWRkVG9VbnNjb3BhYmxlcyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2FkZC10by11bnNjb3BhYmxlcyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19hZGQtdG8tdW5zY29wYWJsZXMuanNcIik7XG52YXIgc3RlcCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2l0ZXItc3RlcCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19pdGVyLXN0ZXAuanNcIik7XG52YXIgSXRlcmF0b3JzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9faXRlcmF0b3JzICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2l0ZXJhdG9ycy5qc1wiKTtcbnZhciB0b0lPYmplY3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL190by1pb2JqZWN0ICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3RvLWlvYmplY3QuanNcIik7XG5cbi8vIDIyLjEuMy40IEFycmF5LnByb3RvdHlwZS5lbnRyaWVzKClcbi8vIDIyLjEuMy4xMyBBcnJheS5wcm90b3R5cGUua2V5cygpXG4vLyAyMi4xLjMuMjkgQXJyYXkucHJvdG90eXBlLnZhbHVlcygpXG4vLyAyMi4xLjMuMzAgQXJyYXkucHJvdG90eXBlW0BAaXRlcmF0b3JdKClcbm1vZHVsZS5leHBvcnRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9faXRlci1kZWZpbmUgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9faXRlci1kZWZpbmUuanNcIikoQXJyYXksICdBcnJheScsIGZ1bmN0aW9uIChpdGVyYXRlZCwga2luZCkge1xuICB0aGlzLl90ID0gdG9JT2JqZWN0KGl0ZXJhdGVkKTsgLy8gdGFyZ2V0XG4gIHRoaXMuX2kgPSAwOyAgICAgICAgICAgICAgICAgICAvLyBuZXh0IGluZGV4XG4gIHRoaXMuX2sgPSBraW5kOyAgICAgICAgICAgICAgICAvLyBraW5kXG4vLyAyMi4xLjUuMi4xICVBcnJheUl0ZXJhdG9yUHJvdG90eXBlJS5uZXh0KClcbn0sIGZ1bmN0aW9uICgpIHtcbiAgdmFyIE8gPSB0aGlzLl90O1xuICB2YXIga2luZCA9IHRoaXMuX2s7XG4gIHZhciBpbmRleCA9IHRoaXMuX2krKztcbiAgaWYgKCFPIHx8IGluZGV4ID49IE8ubGVuZ3RoKSB7XG4gICAgdGhpcy5fdCA9IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gc3RlcCgxKTtcbiAgfVxuICBpZiAoa2luZCA9PSAna2V5cycpIHJldHVybiBzdGVwKDAsIGluZGV4KTtcbiAgaWYgKGtpbmQgPT0gJ3ZhbHVlcycpIHJldHVybiBzdGVwKDAsIE9baW5kZXhdKTtcbiAgcmV0dXJuIHN0ZXAoMCwgW2luZGV4LCBPW2luZGV4XV0pO1xufSwgJ3ZhbHVlcycpO1xuXG4vLyBhcmd1bWVudHNMaXN0W0BAaXRlcmF0b3JdIGlzICVBcnJheVByb3RvX3ZhbHVlcyUgKDkuNC40LjYsIDkuNC40LjcpXG5JdGVyYXRvcnMuQXJndW1lbnRzID0gSXRlcmF0b3JzLkFycmF5O1xuXG5hZGRUb1Vuc2NvcGFibGVzKCdrZXlzJyk7XG5hZGRUb1Vuc2NvcGFibGVzKCd2YWx1ZXMnKTtcbmFkZFRvVW5zY29wYWJsZXMoJ2VudHJpZXMnKTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXNhV0p5WVhKNUwyMXZaSFZzWlhNdlpYTTJMbUZ5Y21GNUxtbDBaWEpoZEc5eUxtcHpMbXB6SWl3aWMyOTFjbU5sY3lJNld5SjNaV0p3WVdOck9pOHZMeTR2Ym05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJHbGljbUZ5ZVM5dGIyUjFiR1Z6TDJWek5pNWhjbkpoZVM1cGRHVnlZWFJ2Y2k1cWN6OWpNelkzSWwwc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpZDFjMlVnYzNSeWFXTjBKenRjYm5aaGNpQmhaR1JVYjFWdWMyTnZjR0ZpYkdWeklEMGdjbVZ4ZFdseVpTZ25MaTlmWVdSa0xYUnZMWFZ1YzJOdmNHRmliR1Z6SnlrN1hHNTJZWElnYzNSbGNDQTlJSEpsY1hWcGNtVW9KeTR2WDJsMFpYSXRjM1JsY0NjcE8xeHVkbUZ5SUVsMFpYSmhkRzl5Y3lBOUlISmxjWFZwY21Vb0p5NHZYMmwwWlhKaGRHOXljeWNwTzF4dWRtRnlJSFJ2U1U5aWFtVmpkQ0E5SUhKbGNYVnBjbVVvSnk0dlgzUnZMV2x2WW1wbFkzUW5LVHRjYmx4dUx5OGdNakl1TVM0ekxqUWdRWEp5WVhrdWNISnZkRzkwZVhCbExtVnVkSEpwWlhNb0tWeHVMeThnTWpJdU1TNHpMakV6SUVGeWNtRjVMbkJ5YjNSdmRIbHdaUzVyWlhsektDbGNiaTh2SURJeUxqRXVNeTR5T1NCQmNuSmhlUzV3Y205MGIzUjVjR1V1ZG1Gc2RXVnpLQ2xjYmk4dklESXlMakV1TXk0ek1DQkJjbkpoZVM1d2NtOTBiM1I1Y0dWYlFFQnBkR1Z5WVhSdmNsMG9LVnh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0J5WlhGMWFYSmxLQ2N1TDE5cGRHVnlMV1JsWm1sdVpTY3BLRUZ5Y21GNUxDQW5RWEp5WVhrbkxDQm1kVzVqZEdsdmJpQW9hWFJsY21GMFpXUXNJR3RwYm1RcElIdGNiaUFnZEdocGN5NWZkQ0E5SUhSdlNVOWlhbVZqZENocGRHVnlZWFJsWkNrN0lDOHZJSFJoY21kbGRGeHVJQ0IwYUdsekxsOXBJRDBnTURzZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdibVY0ZENCcGJtUmxlRnh1SUNCMGFHbHpMbDlySUQwZ2EybHVaRHNnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMeThnYTJsdVpGeHVMeThnTWpJdU1TNDFMakl1TVNBbFFYSnlZWGxKZEdWeVlYUnZjbEJ5YjNSdmRIbHdaU1V1Ym1WNGRDZ3BYRzU5TENCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUhaaGNpQlBJRDBnZEdocGN5NWZkRHRjYmlBZ2RtRnlJR3RwYm1RZ1BTQjBhR2x6TGw5ck8xeHVJQ0IyWVhJZ2FXNWtaWGdnUFNCMGFHbHpMbDlwS3lzN1hHNGdJR2xtSUNnaFR5QjhmQ0JwYm1SbGVDQStQU0JQTG14bGJtZDBhQ2tnZTF4dUlDQWdJSFJvYVhNdVgzUWdQU0IxYm1SbFptbHVaV1E3WEc0Z0lDQWdjbVYwZFhKdUlITjBaWEFvTVNrN1hHNGdJSDFjYmlBZ2FXWWdLR3RwYm1RZ1BUMGdKMnRsZVhNbktTQnlaWFIxY200Z2MzUmxjQ2d3TENCcGJtUmxlQ2s3WEc0Z0lHbG1JQ2hyYVc1a0lEMDlJQ2QyWVd4MVpYTW5LU0J5WlhSMWNtNGdjM1JsY0Nnd0xDQlBXMmx1WkdWNFhTazdYRzRnSUhKbGRIVnliaUJ6ZEdWd0tEQXNJRnRwYm1SbGVDd2dUMXRwYm1SbGVGMWRLVHRjYm4wc0lDZDJZV3gxWlhNbktUdGNibHh1THk4Z1lYSm5kVzFsYm5SelRHbHpkRnRBUUdsMFpYSmhkRzl5WFNCcGN5QWxRWEp5WVhsUWNtOTBiMTkyWVd4MVpYTWxJQ2c1TGpRdU5DNDJMQ0E1TGpRdU5DNDNLVnh1U1hSbGNtRjBiM0p6TGtGeVozVnRaVzUwY3lBOUlFbDBaWEpoZEc5eWN5NUJjbkpoZVR0Y2JseHVZV1JrVkc5VmJuTmpiM0JoWW14bGN5Z25hMlY1Y3ljcE8xeHVZV1JrVkc5VmJuTmpiM0JoWW14bGN5Z25kbUZzZFdWekp5azdYRzVoWkdSVWIxVnVjMk52Y0dGaWJHVnpLQ2RsYm5SeWFXVnpKeWs3WEc0aVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2LmFycmF5Lml0ZXJhdG9yLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2Lm9iamVjdC50by1zdHJpbmcuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9lczYub2JqZWN0LnRvLXN0cmluZy5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpe2V2YWwoIi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXNhV0p5WVhKNUwyMXZaSFZzWlhNdlpYTTJMbTlpYW1WamRDNTBieTF6ZEhKcGJtY3Vhbk11YW5NaUxDSnpiM1Z5WTJWeklqcGJYU3dpYldGd2NHbHVaM01pT2lJaUxDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL2VzNi5vYmplY3QudG8tc3RyaW5nLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2LnN0cmluZy5pdGVyYXRvci5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2LnN0cmluZy5pdGVyYXRvci5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXsidXNlIHN0cmljdCI7ZXZhbCgiXG52YXIgJGF0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fc3RyaW5nLWF0ICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3N0cmluZy1hdC5qc1wiKSh0cnVlKTtcblxuLy8gMjEuMS4zLjI3IFN0cmluZy5wcm90b3R5cGVbQEBpdGVyYXRvcl0oKVxuX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9faXRlci1kZWZpbmUgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9faXRlci1kZWZpbmUuanNcIikoU3RyaW5nLCAnU3RyaW5nJywgZnVuY3Rpb24gKGl0ZXJhdGVkKSB7XG4gIHRoaXMuX3QgPSBTdHJpbmcoaXRlcmF0ZWQpOyAvLyB0YXJnZXRcbiAgdGhpcy5faSA9IDA7ICAgICAgICAgICAgICAgIC8vIG5leHQgaW5kZXhcbi8vIDIxLjEuNS4yLjEgJVN0cmluZ0l0ZXJhdG9yUHJvdG90eXBlJS5uZXh0KClcbn0sIGZ1bmN0aW9uICgpIHtcbiAgdmFyIE8gPSB0aGlzLl90O1xuICB2YXIgaW5kZXggPSB0aGlzLl9pO1xuICB2YXIgcG9pbnQ7XG4gIGlmIChpbmRleCA+PSBPLmxlbmd0aCkgcmV0dXJuIHsgdmFsdWU6IHVuZGVmaW5lZCwgZG9uZTogdHJ1ZSB9O1xuICBwb2ludCA9ICRhdChPLCBpbmRleCk7XG4gIHRoaXMuX2kgKz0gcG9pbnQubGVuZ3RoO1xuICByZXR1cm4geyB2YWx1ZTogcG9pbnQsIGRvbmU6IGZhbHNlIH07XG59KTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXNhV0p5WVhKNUwyMXZaSFZzWlhNdlpYTTJMbk4wY21sdVp5NXBkR1Z5WVhSdmNpNXFjeTVxY3lJc0luTnZkWEpqWlhNaU9sc2lkMlZpY0dGamF6b3ZMeTh1TDI1dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyeHBZbkpoY25rdmJXOWtkV3hsY3k5bGN6WXVjM1J5YVc1bkxtbDBaWEpoZEc5eUxtcHpQekUyTlRRaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lKM1Z6WlNCemRISnBZM1FuTzF4dWRtRnlJQ1JoZENBOUlISmxjWFZwY21Vb0p5NHZYM04wY21sdVp5MWhkQ2NwS0hSeWRXVXBPMXh1WEc0dkx5QXlNUzR4TGpNdU1qY2dVM1J5YVc1bkxuQnliM1J2ZEhsd1pWdEFRR2wwWlhKaGRHOXlYU2dwWEc1eVpYRjFhWEpsS0NjdUwxOXBkR1Z5TFdSbFptbHVaU2NwS0ZOMGNtbHVaeXdnSjFOMGNtbHVaeWNzSUdaMWJtTjBhVzl1SUNocGRHVnlZWFJsWkNrZ2UxeHVJQ0IwYUdsekxsOTBJRDBnVTNSeWFXNW5LR2wwWlhKaGRHVmtLVHNnTHk4Z2RHRnlaMlYwWEc0Z0lIUm9hWE11WDJrZ1BTQXdPeUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJ1WlhoMElHbHVaR1Y0WEc0dkx5QXlNUzR4TGpVdU1pNHhJQ1ZUZEhKcGJtZEpkR1Z5WVhSdmNsQnliM1J2ZEhsd1pTVXVibVY0ZENncFhHNTlMQ0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJSFpoY2lCUElEMGdkR2hwY3k1ZmREdGNiaUFnZG1GeUlHbHVaR1Y0SUQwZ2RHaHBjeTVmYVR0Y2JpQWdkbUZ5SUhCdmFXNTBPMXh1SUNCcFppQW9hVzVrWlhnZ1BqMGdUeTVzWlc1bmRHZ3BJSEpsZEhWeWJpQjdJSFpoYkhWbE9pQjFibVJsWm1sdVpXUXNJR1J2Ym1VNklIUnlkV1VnZlR0Y2JpQWdjRzlwYm5RZ1BTQWtZWFFvVHl3Z2FXNWtaWGdwTzF4dUlDQjBhR2x6TGw5cElDczlJSEJ2YVc1MExteGxibWQwYUR0Y2JpQWdjbVYwZFhKdUlIc2dkbUZzZFdVNklIQnZhVzUwTENCa2IyNWxPaUJtWVd4elpTQjlPMXh1ZlNrN1hHNGlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdJaXdpYzI5MWNtTmxVbTl2ZENJNklpSjlcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9lczYuc3RyaW5nLml0ZXJhdG9yLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2LnN5bWJvbC5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2LnN5bWJvbC5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXsidXNlIHN0cmljdCI7ZXZhbCgiXG4vLyBFQ01BU2NyaXB0IDYgc3ltYm9scyBzaGltXG52YXIgZ2xvYmFsID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fZ2xvYmFsICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2dsb2JhbC5qc1wiKTtcbnZhciBoYXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19oYXMgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9faGFzLmpzXCIpO1xudmFyIERFU0NSSVBUT1JTID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fZGVzY3JpcHRvcnMgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fZGVzY3JpcHRvcnMuanNcIik7XG52YXIgJGV4cG9ydCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2V4cG9ydCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19leHBvcnQuanNcIik7XG52YXIgcmVkZWZpbmUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19yZWRlZmluZSAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19yZWRlZmluZS5qc1wiKTtcbnZhciBNRVRBID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fbWV0YSAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19tZXRhLmpzXCIpLktFWTtcbnZhciAkZmFpbHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19mYWlscyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19mYWlscy5qc1wiKTtcbnZhciBzaGFyZWQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19zaGFyZWQgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fc2hhcmVkLmpzXCIpO1xudmFyIHNldFRvU3RyaW5nVGFnID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fc2V0LXRvLXN0cmluZy10YWcgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fc2V0LXRvLXN0cmluZy10YWcuanNcIik7XG52YXIgdWlkID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fdWlkICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3VpZC5qc1wiKTtcbnZhciB3a3MgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL193a3MgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fd2tzLmpzXCIpO1xudmFyIHdrc0V4dCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3drcy1leHQgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fd2tzLWV4dC5qc1wiKTtcbnZhciB3a3NEZWZpbmUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL193a3MtZGVmaW5lICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3drcy1kZWZpbmUuanNcIik7XG52YXIgZW51bUtleXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19lbnVtLWtleXMgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fZW51bS1rZXlzLmpzXCIpO1xudmFyIGlzQXJyYXkgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19pcy1hcnJheSAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19pcy1hcnJheS5qc1wiKTtcbnZhciBhbk9iamVjdCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2FuLW9iamVjdCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19hbi1vYmplY3QuanNcIik7XG52YXIgaXNPYmplY3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19pcy1vYmplY3QgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9faXMtb2JqZWN0LmpzXCIpO1xudmFyIHRvT2JqZWN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fdG8tb2JqZWN0ICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3RvLW9iamVjdC5qc1wiKTtcbnZhciB0b0lPYmplY3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL190by1pb2JqZWN0ICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3RvLWlvYmplY3QuanNcIik7XG52YXIgdG9QcmltaXRpdmUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL190by1wcmltaXRpdmUgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fdG8tcHJpbWl0aXZlLmpzXCIpO1xudmFyIGNyZWF0ZURlc2MgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19wcm9wZXJ0eS1kZXNjICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3Byb3BlcnR5LWRlc2MuanNcIik7XG52YXIgX2NyZWF0ZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX29iamVjdC1jcmVhdGUgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fb2JqZWN0LWNyZWF0ZS5qc1wiKTtcbnZhciBnT1BORXh0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fb2JqZWN0LWdvcG4tZXh0ICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1nb3BuLWV4dC5qc1wiKTtcbnZhciAkR09QRCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX29iamVjdC1nb3BkICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1nb3BkLmpzXCIpO1xudmFyICRHT1BTID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fb2JqZWN0LWdvcHMgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fb2JqZWN0LWdvcHMuanNcIik7XG52YXIgJERQID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fb2JqZWN0LWRwICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1kcC5qc1wiKTtcbnZhciAka2V5cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX29iamVjdC1rZXlzICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1rZXlzLmpzXCIpO1xudmFyIGdPUEQgPSAkR09QRC5mO1xudmFyIGRQID0gJERQLmY7XG52YXIgZ09QTiA9IGdPUE5FeHQuZjtcbnZhciAkU3ltYm9sID0gZ2xvYmFsLlN5bWJvbDtcbnZhciAkSlNPTiA9IGdsb2JhbC5KU09OO1xudmFyIF9zdHJpbmdpZnkgPSAkSlNPTiAmJiAkSlNPTi5zdHJpbmdpZnk7XG52YXIgUFJPVE9UWVBFID0gJ3Byb3RvdHlwZSc7XG52YXIgSElEREVOID0gd2tzKCdfaGlkZGVuJyk7XG52YXIgVE9fUFJJTUlUSVZFID0gd2tzKCd0b1ByaW1pdGl2ZScpO1xudmFyIGlzRW51bSA9IHt9LnByb3BlcnR5SXNFbnVtZXJhYmxlO1xudmFyIFN5bWJvbFJlZ2lzdHJ5ID0gc2hhcmVkKCdzeW1ib2wtcmVnaXN0cnknKTtcbnZhciBBbGxTeW1ib2xzID0gc2hhcmVkKCdzeW1ib2xzJyk7XG52YXIgT1BTeW1ib2xzID0gc2hhcmVkKCdvcC1zeW1ib2xzJyk7XG52YXIgT2JqZWN0UHJvdG8gPSBPYmplY3RbUFJPVE9UWVBFXTtcbnZhciBVU0VfTkFUSVZFID0gdHlwZW9mICRTeW1ib2wgPT0gJ2Z1bmN0aW9uJyAmJiAhISRHT1BTLmY7XG52YXIgUU9iamVjdCA9IGdsb2JhbC5RT2JqZWN0O1xuLy8gRG9uJ3QgdXNlIHNldHRlcnMgaW4gUXQgU2NyaXB0LCBodHRwczovL2dpdGh1Yi5jb20vemxvaXJvY2svY29yZS1qcy9pc3N1ZXMvMTczXG52YXIgc2V0dGVyID0gIVFPYmplY3QgfHwgIVFPYmplY3RbUFJPVE9UWVBFXSB8fCAhUU9iamVjdFtQUk9UT1RZUEVdLmZpbmRDaGlsZDtcblxuLy8gZmFsbGJhY2sgZm9yIG9sZCBBbmRyb2lkLCBodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL3Y4L2lzc3Vlcy9kZXRhaWw/aWQ9Njg3XG52YXIgc2V0U3ltYm9sRGVzYyA9IERFU0NSSVBUT1JTICYmICRmYWlscyhmdW5jdGlvbiAoKSB7XG4gIHJldHVybiBfY3JlYXRlKGRQKHt9LCAnYScsIHtcbiAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGRQKHRoaXMsICdhJywgeyB2YWx1ZTogNyB9KS5hOyB9XG4gIH0pKS5hICE9IDc7XG59KSA/IGZ1bmN0aW9uIChpdCwga2V5LCBEKSB7XG4gIHZhciBwcm90b0Rlc2MgPSBnT1BEKE9iamVjdFByb3RvLCBrZXkpO1xuICBpZiAocHJvdG9EZXNjKSBkZWxldGUgT2JqZWN0UHJvdG9ba2V5XTtcbiAgZFAoaXQsIGtleSwgRCk7XG4gIGlmIChwcm90b0Rlc2MgJiYgaXQgIT09IE9iamVjdFByb3RvKSBkUChPYmplY3RQcm90bywga2V5LCBwcm90b0Rlc2MpO1xufSA6IGRQO1xuXG52YXIgd3JhcCA9IGZ1bmN0aW9uICh0YWcpIHtcbiAgdmFyIHN5bSA9IEFsbFN5bWJvbHNbdGFnXSA9IF9jcmVhdGUoJFN5bWJvbFtQUk9UT1RZUEVdKTtcbiAgc3ltLl9rID0gdGFnO1xuICByZXR1cm4gc3ltO1xufTtcblxudmFyIGlzU3ltYm9sID0gVVNFX05BVElWRSAmJiB0eXBlb2YgJFN5bWJvbC5pdGVyYXRvciA9PSAnc3ltYm9sJyA/IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gdHlwZW9mIGl0ID09ICdzeW1ib2wnO1xufSA6IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gaXQgaW5zdGFuY2VvZiAkU3ltYm9sO1xufTtcblxudmFyICRkZWZpbmVQcm9wZXJ0eSA9IGZ1bmN0aW9uIGRlZmluZVByb3BlcnR5KGl0LCBrZXksIEQpIHtcbiAgaWYgKGl0ID09PSBPYmplY3RQcm90bykgJGRlZmluZVByb3BlcnR5KE9QU3ltYm9scywga2V5LCBEKTtcbiAgYW5PYmplY3QoaXQpO1xuICBrZXkgPSB0b1ByaW1pdGl2ZShrZXksIHRydWUpO1xuICBhbk9iamVjdChEKTtcbiAgaWYgKGhhcyhBbGxTeW1ib2xzLCBrZXkpKSB7XG4gICAgaWYgKCFELmVudW1lcmFibGUpIHtcbiAgICAgIGlmICghaGFzKGl0LCBISURERU4pKSBkUChpdCwgSElEREVOLCBjcmVhdGVEZXNjKDEsIHt9KSk7XG4gICAgICBpdFtISURERU5dW2tleV0gPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoaGFzKGl0LCBISURERU4pICYmIGl0W0hJRERFTl1ba2V5XSkgaXRbSElEREVOXVtrZXldID0gZmFsc2U7XG4gICAgICBEID0gX2NyZWF0ZShELCB7IGVudW1lcmFibGU6IGNyZWF0ZURlc2MoMCwgZmFsc2UpIH0pO1xuICAgIH0gcmV0dXJuIHNldFN5bWJvbERlc2MoaXQsIGtleSwgRCk7XG4gIH0gcmV0dXJuIGRQKGl0LCBrZXksIEQpO1xufTtcbnZhciAkZGVmaW5lUHJvcGVydGllcyA9IGZ1bmN0aW9uIGRlZmluZVByb3BlcnRpZXMoaXQsIFApIHtcbiAgYW5PYmplY3QoaXQpO1xuICB2YXIga2V5cyA9IGVudW1LZXlzKFAgPSB0b0lPYmplY3QoUCkpO1xuICB2YXIgaSA9IDA7XG4gIHZhciBsID0ga2V5cy5sZW5ndGg7XG4gIHZhciBrZXk7XG4gIHdoaWxlIChsID4gaSkgJGRlZmluZVByb3BlcnR5KGl0LCBrZXkgPSBrZXlzW2krK10sIFBba2V5XSk7XG4gIHJldHVybiBpdDtcbn07XG52YXIgJGNyZWF0ZSA9IGZ1bmN0aW9uIGNyZWF0ZShpdCwgUCkge1xuICByZXR1cm4gUCA9PT0gdW5kZWZpbmVkID8gX2NyZWF0ZShpdCkgOiAkZGVmaW5lUHJvcGVydGllcyhfY3JlYXRlKGl0KSwgUCk7XG59O1xudmFyICRwcm9wZXJ0eUlzRW51bWVyYWJsZSA9IGZ1bmN0aW9uIHByb3BlcnR5SXNFbnVtZXJhYmxlKGtleSkge1xuICB2YXIgRSA9IGlzRW51bS5jYWxsKHRoaXMsIGtleSA9IHRvUHJpbWl0aXZlKGtleSwgdHJ1ZSkpO1xuICBpZiAodGhpcyA9PT0gT2JqZWN0UHJvdG8gJiYgaGFzKEFsbFN5bWJvbHMsIGtleSkgJiYgIWhhcyhPUFN5bWJvbHMsIGtleSkpIHJldHVybiBmYWxzZTtcbiAgcmV0dXJuIEUgfHwgIWhhcyh0aGlzLCBrZXkpIHx8ICFoYXMoQWxsU3ltYm9scywga2V5KSB8fCBoYXModGhpcywgSElEREVOKSAmJiB0aGlzW0hJRERFTl1ba2V5XSA/IEUgOiB0cnVlO1xufTtcbnZhciAkZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yID0gZnVuY3Rpb24gZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGl0LCBrZXkpIHtcbiAgaXQgPSB0b0lPYmplY3QoaXQpO1xuICBrZXkgPSB0b1ByaW1pdGl2ZShrZXksIHRydWUpO1xuICBpZiAoaXQgPT09IE9iamVjdFByb3RvICYmIGhhcyhBbGxTeW1ib2xzLCBrZXkpICYmICFoYXMoT1BTeW1ib2xzLCBrZXkpKSByZXR1cm47XG4gIHZhciBEID0gZ09QRChpdCwga2V5KTtcbiAgaWYgKEQgJiYgaGFzKEFsbFN5bWJvbHMsIGtleSkgJiYgIShoYXMoaXQsIEhJRERFTikgJiYgaXRbSElEREVOXVtrZXldKSkgRC5lbnVtZXJhYmxlID0gdHJ1ZTtcbiAgcmV0dXJuIEQ7XG59O1xudmFyICRnZXRPd25Qcm9wZXJ0eU5hbWVzID0gZnVuY3Rpb24gZ2V0T3duUHJvcGVydHlOYW1lcyhpdCkge1xuICB2YXIgbmFtZXMgPSBnT1BOKHRvSU9iamVjdChpdCkpO1xuICB2YXIgcmVzdWx0ID0gW107XG4gIHZhciBpID0gMDtcbiAgdmFyIGtleTtcbiAgd2hpbGUgKG5hbWVzLmxlbmd0aCA+IGkpIHtcbiAgICBpZiAoIWhhcyhBbGxTeW1ib2xzLCBrZXkgPSBuYW1lc1tpKytdKSAmJiBrZXkgIT0gSElEREVOICYmIGtleSAhPSBNRVRBKSByZXN1bHQucHVzaChrZXkpO1xuICB9IHJldHVybiByZXN1bHQ7XG59O1xudmFyICRnZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPSBmdW5jdGlvbiBnZXRPd25Qcm9wZXJ0eVN5bWJvbHMoaXQpIHtcbiAgdmFyIElTX09QID0gaXQgPT09IE9iamVjdFByb3RvO1xuICB2YXIgbmFtZXMgPSBnT1BOKElTX09QID8gT1BTeW1ib2xzIDogdG9JT2JqZWN0KGl0KSk7XG4gIHZhciByZXN1bHQgPSBbXTtcbiAgdmFyIGkgPSAwO1xuICB2YXIga2V5O1xuICB3aGlsZSAobmFtZXMubGVuZ3RoID4gaSkge1xuICAgIGlmIChoYXMoQWxsU3ltYm9scywga2V5ID0gbmFtZXNbaSsrXSkgJiYgKElTX09QID8gaGFzKE9iamVjdFByb3RvLCBrZXkpIDogdHJ1ZSkpIHJlc3VsdC5wdXNoKEFsbFN5bWJvbHNba2V5XSk7XG4gIH0gcmV0dXJuIHJlc3VsdDtcbn07XG5cbi8vIDE5LjQuMS4xIFN5bWJvbChbZGVzY3JpcHRpb25dKVxuaWYgKCFVU0VfTkFUSVZFKSB7XG4gICRTeW1ib2wgPSBmdW5jdGlvbiBTeW1ib2woKSB7XG4gICAgaWYgKHRoaXMgaW5zdGFuY2VvZiAkU3ltYm9sKSB0aHJvdyBUeXBlRXJyb3IoJ1N5bWJvbCBpcyBub3QgYSBjb25zdHJ1Y3RvciEnKTtcbiAgICB2YXIgdGFnID0gdWlkKGFyZ3VtZW50cy5sZW5ndGggPiAwID8gYXJndW1lbnRzWzBdIDogdW5kZWZpbmVkKTtcbiAgICB2YXIgJHNldCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgaWYgKHRoaXMgPT09IE9iamVjdFByb3RvKSAkc2V0LmNhbGwoT1BTeW1ib2xzLCB2YWx1ZSk7XG4gICAgICBpZiAoaGFzKHRoaXMsIEhJRERFTikgJiYgaGFzKHRoaXNbSElEREVOXSwgdGFnKSkgdGhpc1tISURERU5dW3RhZ10gPSBmYWxzZTtcbiAgICAgIHNldFN5bWJvbERlc2ModGhpcywgdGFnLCBjcmVhdGVEZXNjKDEsIHZhbHVlKSk7XG4gICAgfTtcbiAgICBpZiAoREVTQ1JJUFRPUlMgJiYgc2V0dGVyKSBzZXRTeW1ib2xEZXNjKE9iamVjdFByb3RvLCB0YWcsIHsgY29uZmlndXJhYmxlOiB0cnVlLCBzZXQ6ICRzZXQgfSk7XG4gICAgcmV0dXJuIHdyYXAodGFnKTtcbiAgfTtcbiAgcmVkZWZpbmUoJFN5bWJvbFtQUk9UT1RZUEVdLCAndG9TdHJpbmcnLCBmdW5jdGlvbiB0b1N0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5faztcbiAgfSk7XG5cbiAgJEdPUEQuZiA9ICRnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7XG4gICREUC5mID0gJGRlZmluZVByb3BlcnR5O1xuICBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19vYmplY3QtZ29wbiAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19vYmplY3QtZ29wbi5qc1wiKS5mID0gZ09QTkV4dC5mID0gJGdldE93blByb3BlcnR5TmFtZXM7XG4gIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX29iamVjdC1waWUgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fb2JqZWN0LXBpZS5qc1wiKS5mID0gJHByb3BlcnR5SXNFbnVtZXJhYmxlO1xuICAkR09QUy5mID0gJGdldE93blByb3BlcnR5U3ltYm9scztcblxuICBpZiAoREVTQ1JJUFRPUlMgJiYgIV9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2xpYnJhcnkgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fbGlicmFyeS5qc1wiKSkge1xuICAgIHJlZGVmaW5lKE9iamVjdFByb3RvLCAncHJvcGVydHlJc0VudW1lcmFibGUnLCAkcHJvcGVydHlJc0VudW1lcmFibGUsIHRydWUpO1xuICB9XG5cbiAgd2tzRXh0LmYgPSBmdW5jdGlvbiAobmFtZSkge1xuICAgIHJldHVybiB3cmFwKHdrcyhuYW1lKSk7XG4gIH07XG59XG5cbiRleHBvcnQoJGV4cG9ydC5HICsgJGV4cG9ydC5XICsgJGV4cG9ydC5GICogIVVTRV9OQVRJVkUsIHsgU3ltYm9sOiAkU3ltYm9sIH0pO1xuXG5mb3IgKHZhciBlczZTeW1ib2xzID0gKFxuICAvLyAxOS40LjIuMiwgMTkuNC4yLjMsIDE5LjQuMi40LCAxOS40LjIuNiwgMTkuNC4yLjgsIDE5LjQuMi45LCAxOS40LjIuMTAsIDE5LjQuMi4xMSwgMTkuNC4yLjEyLCAxOS40LjIuMTMsIDE5LjQuMi4xNFxuICAnaGFzSW5zdGFuY2UsaXNDb25jYXRTcHJlYWRhYmxlLGl0ZXJhdG9yLG1hdGNoLHJlcGxhY2Usc2VhcmNoLHNwZWNpZXMsc3BsaXQsdG9QcmltaXRpdmUsdG9TdHJpbmdUYWcsdW5zY29wYWJsZXMnXG4pLnNwbGl0KCcsJyksIGogPSAwOyBlczZTeW1ib2xzLmxlbmd0aCA+IGo7KXdrcyhlczZTeW1ib2xzW2orK10pO1xuXG5mb3IgKHZhciB3ZWxsS25vd25TeW1ib2xzID0gJGtleXMod2tzLnN0b3JlKSwgayA9IDA7IHdlbGxLbm93blN5bWJvbHMubGVuZ3RoID4gazspIHdrc0RlZmluZSh3ZWxsS25vd25TeW1ib2xzW2srK10pO1xuXG4kZXhwb3J0KCRleHBvcnQuUyArICRleHBvcnQuRiAqICFVU0VfTkFUSVZFLCAnU3ltYm9sJywge1xuICAvLyAxOS40LjIuMSBTeW1ib2wuZm9yKGtleSlcbiAgJ2Zvcic6IGZ1bmN0aW9uIChrZXkpIHtcbiAgICByZXR1cm4gaGFzKFN5bWJvbFJlZ2lzdHJ5LCBrZXkgKz0gJycpXG4gICAgICA/IFN5bWJvbFJlZ2lzdHJ5W2tleV1cbiAgICAgIDogU3ltYm9sUmVnaXN0cnlba2V5XSA9ICRTeW1ib2woa2V5KTtcbiAgfSxcbiAgLy8gMTkuNC4yLjUgU3ltYm9sLmtleUZvcihzeW0pXG4gIGtleUZvcjogZnVuY3Rpb24ga2V5Rm9yKHN5bSkge1xuICAgIGlmICghaXNTeW1ib2woc3ltKSkgdGhyb3cgVHlwZUVycm9yKHN5bSArICcgaXMgbm90IGEgc3ltYm9sIScpO1xuICAgIGZvciAodmFyIGtleSBpbiBTeW1ib2xSZWdpc3RyeSkgaWYgKFN5bWJvbFJlZ2lzdHJ5W2tleV0gPT09IHN5bSkgcmV0dXJuIGtleTtcbiAgfSxcbiAgdXNlU2V0dGVyOiBmdW5jdGlvbiAoKSB7IHNldHRlciA9IHRydWU7IH0sXG4gIHVzZVNpbXBsZTogZnVuY3Rpb24gKCkgeyBzZXR0ZXIgPSBmYWxzZTsgfVxufSk7XG5cbiRleHBvcnQoJGV4cG9ydC5TICsgJGV4cG9ydC5GICogIVVTRV9OQVRJVkUsICdPYmplY3QnLCB7XG4gIC8vIDE5LjEuMi4yIE9iamVjdC5jcmVhdGUoTyBbLCBQcm9wZXJ0aWVzXSlcbiAgY3JlYXRlOiAkY3JlYXRlLFxuICAvLyAxOS4xLjIuNCBPYmplY3QuZGVmaW5lUHJvcGVydHkoTywgUCwgQXR0cmlidXRlcylcbiAgZGVmaW5lUHJvcGVydHk6ICRkZWZpbmVQcm9wZXJ0eSxcbiAgLy8gMTkuMS4yLjMgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoTywgUHJvcGVydGllcylcbiAgZGVmaW5lUHJvcGVydGllczogJGRlZmluZVByb3BlcnRpZXMsXG4gIC8vIDE5LjEuMi42IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTywgUClcbiAgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yOiAkZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLFxuICAvLyAxOS4xLjIuNyBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhPKVxuICBnZXRPd25Qcm9wZXJ0eU5hbWVzOiAkZ2V0T3duUHJvcGVydHlOYW1lcyxcbiAgLy8gMTkuMS4yLjggT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhPKVxuICBnZXRPd25Qcm9wZXJ0eVN5bWJvbHM6ICRnZXRPd25Qcm9wZXJ0eVN5bWJvbHNcbn0pO1xuXG4vLyBDaHJvbWUgMzggYW5kIDM5IGBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzYCBmYWlscyBvbiBwcmltaXRpdmVzXG4vLyBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvdjgvaXNzdWVzL2RldGFpbD9pZD0zNDQzXG52YXIgRkFJTFNfT05fUFJJTUlUSVZFUyA9ICRmYWlscyhmdW5jdGlvbiAoKSB7ICRHT1BTLmYoMSk7IH0pO1xuXG4kZXhwb3J0KCRleHBvcnQuUyArICRleHBvcnQuRiAqIEZBSUxTX09OX1BSSU1JVElWRVMsICdPYmplY3QnLCB7XG4gIGdldE93blByb3BlcnR5U3ltYm9sczogZnVuY3Rpb24gZ2V0T3duUHJvcGVydHlTeW1ib2xzKGl0KSB7XG4gICAgcmV0dXJuICRHT1BTLmYodG9PYmplY3QoaXQpKTtcbiAgfVxufSk7XG5cbi8vIDI0LjMuMiBKU09OLnN0cmluZ2lmeSh2YWx1ZSBbLCByZXBsYWNlciBbLCBzcGFjZV1dKVxuJEpTT04gJiYgJGV4cG9ydCgkZXhwb3J0LlMgKyAkZXhwb3J0LkYgKiAoIVVTRV9OQVRJVkUgfHwgJGZhaWxzKGZ1bmN0aW9uICgpIHtcbiAgdmFyIFMgPSAkU3ltYm9sKCk7XG4gIC8vIE1TIEVkZ2UgY29udmVydHMgc3ltYm9sIHZhbHVlcyB0byBKU09OIGFzIHt9XG4gIC8vIFdlYktpdCBjb252ZXJ0cyBzeW1ib2wgdmFsdWVzIHRvIEpTT04gYXMgbnVsbFxuICAvLyBWOCB0aHJvd3Mgb24gYm94ZWQgc3ltYm9sc1xuICByZXR1cm4gX3N0cmluZ2lmeShbU10pICE9ICdbbnVsbF0nIHx8IF9zdHJpbmdpZnkoeyBhOiBTIH0pICE9ICd7fScgfHwgX3N0cmluZ2lmeShPYmplY3QoUykpICE9ICd7fSc7XG59KSksICdKU09OJywge1xuICBzdHJpbmdpZnk6IGZ1bmN0aW9uIHN0cmluZ2lmeShpdCkge1xuICAgIHZhciBhcmdzID0gW2l0XTtcbiAgICB2YXIgaSA9IDE7XG4gICAgdmFyIHJlcGxhY2VyLCAkcmVwbGFjZXI7XG4gICAgd2hpbGUgKGFyZ3VtZW50cy5sZW5ndGggPiBpKSBhcmdzLnB1c2goYXJndW1lbnRzW2krK10pO1xuICAgICRyZXBsYWNlciA9IHJlcGxhY2VyID0gYXJnc1sxXTtcbiAgICBpZiAoIWlzT2JqZWN0KHJlcGxhY2VyKSAmJiBpdCA9PT0gdW5kZWZpbmVkIHx8IGlzU3ltYm9sKGl0KSkgcmV0dXJuOyAvLyBJRTggcmV0dXJucyBzdHJpbmcgb24gdW5kZWZpbmVkXG4gICAgaWYgKCFpc0FycmF5KHJlcGxhY2VyKSkgcmVwbGFjZXIgPSBmdW5jdGlvbiAoa2V5LCB2YWx1ZSkge1xuICAgICAgaWYgKHR5cGVvZiAkcmVwbGFjZXIgPT0gJ2Z1bmN0aW9uJykgdmFsdWUgPSAkcmVwbGFjZXIuY2FsbCh0aGlzLCBrZXksIHZhbHVlKTtcbiAgICAgIGlmICghaXNTeW1ib2wodmFsdWUpKSByZXR1cm4gdmFsdWU7XG4gICAgfTtcbiAgICBhcmdzWzFdID0gcmVwbGFjZXI7XG4gICAgcmV0dXJuIF9zdHJpbmdpZnkuYXBwbHkoJEpTT04sIGFyZ3MpO1xuICB9XG59KTtcblxuLy8gMTkuNC4zLjQgU3ltYm9sLnByb3RvdHlwZVtAQHRvUHJpbWl0aXZlXShoaW50KVxuJFN5bWJvbFtQUk9UT1RZUEVdW1RPX1BSSU1JVElWRV0gfHwgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9faGlkZSAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19oaWRlLmpzXCIpKCRTeW1ib2xbUFJPVE9UWVBFXSwgVE9fUFJJTUlUSVZFLCAkU3ltYm9sW1BST1RPVFlQRV0udmFsdWVPZik7XG4vLyAxOS40LjMuNSBTeW1ib2wucHJvdG90eXBlW0BAdG9TdHJpbmdUYWddXG5zZXRUb1N0cmluZ1RhZygkU3ltYm9sLCAnU3ltYm9sJyk7XG4vLyAyMC4yLjEuOSBNYXRoW0BAdG9TdHJpbmdUYWddXG5zZXRUb1N0cmluZ1RhZyhNYXRoLCAnTWF0aCcsIHRydWUpO1xuLy8gMjQuMy4zIEpTT05bQEB0b1N0cmluZ1RhZ11cbnNldFRvU3RyaW5nVGFnKGdsb2JhbC5KU09OLCAnSlNPTicsIHRydWUpO1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5c2FXSnlZWEo1TDIxdlpIVnNaWE12WlhNMkxuTjViV0p2YkM1cWN5NXFjeUlzSW5OdmRYSmpaWE1pT2xzaWQyVmljR0ZqYXpvdkx5OHVMMjV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDJ4cFluSmhjbmt2Ylc5a2RXeGxjeTlsY3pZdWMzbHRZbTlzTG1welB6QXhOR0lpWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUozVnpaU0J6ZEhKcFkzUW5PMXh1THk4Z1JVTk5RVk5qY21sd2RDQTJJSE41YldKdmJITWdjMmhwYlZ4dWRtRnlJR2RzYjJKaGJDQTlJSEpsY1hWcGNtVW9KeTR2WDJkc2IySmhiQ2NwTzF4dWRtRnlJR2hoY3lBOUlISmxjWFZwY21Vb0p5NHZYMmhoY3ljcE8xeHVkbUZ5SUVSRlUwTlNTVkJVVDFKVElEMGdjbVZ4ZFdseVpTZ25MaTlmWkdWelkzSnBjSFJ2Y25NbktUdGNiblpoY2lBa1pYaHdiM0owSUQwZ2NtVnhkV2x5WlNnbkxpOWZaWGh3YjNKMEp5azdYRzUyWVhJZ2NtVmtaV1pwYm1VZ1BTQnlaWEYxYVhKbEtDY3VMMTl5WldSbFptbHVaU2NwTzF4dWRtRnlJRTFGVkVFZ1BTQnlaWEYxYVhKbEtDY3VMMTl0WlhSaEp5a3VTMFZaTzF4dWRtRnlJQ1JtWVdsc2N5QTlJSEpsY1hWcGNtVW9KeTR2WDJaaGFXeHpKeWs3WEc1MllYSWdjMmhoY21Wa0lEMGdjbVZ4ZFdseVpTZ25MaTlmYzJoaGNtVmtKeWs3WEc1MllYSWdjMlYwVkc5VGRISnBibWRVWVdjZ1BTQnlaWEYxYVhKbEtDY3VMMTl6WlhRdGRHOHRjM1J5YVc1bkxYUmhaeWNwTzF4dWRtRnlJSFZwWkNBOUlISmxjWFZwY21Vb0p5NHZYM1ZwWkNjcE8xeHVkbUZ5SUhkcmN5QTlJSEpsY1hWcGNtVW9KeTR2WDNkcmN5Y3BPMXh1ZG1GeUlIZHJjMFY0ZENBOUlISmxjWFZwY21Vb0p5NHZYM2RyY3kxbGVIUW5LVHRjYm5aaGNpQjNhM05FWldacGJtVWdQU0J5WlhGMWFYSmxLQ2N1TDE5M2EzTXRaR1ZtYVc1bEp5azdYRzUyWVhJZ1pXNTFiVXRsZVhNZ1BTQnlaWEYxYVhKbEtDY3VMMTlsYm5WdExXdGxlWE1uS1R0Y2JuWmhjaUJwYzBGeWNtRjVJRDBnY21WeGRXbHlaU2duTGk5ZmFYTXRZWEp5WVhrbktUdGNiblpoY2lCaGJrOWlhbVZqZENBOUlISmxjWFZwY21Vb0p5NHZYMkZ1TFc5aWFtVmpkQ2NwTzF4dWRtRnlJR2x6VDJKcVpXTjBJRDBnY21WeGRXbHlaU2duTGk5ZmFYTXRiMkpxWldOMEp5azdYRzUyWVhJZ2RHOVBZbXBsWTNRZ1BTQnlaWEYxYVhKbEtDY3VMMTkwYnkxdlltcGxZM1FuS1R0Y2JuWmhjaUIwYjBsUFltcGxZM1FnUFNCeVpYRjFhWEpsS0NjdUwxOTBieTFwYjJKcVpXTjBKeWs3WEc1MllYSWdkRzlRY21sdGFYUnBkbVVnUFNCeVpYRjFhWEpsS0NjdUwxOTBieTF3Y21sdGFYUnBkbVVuS1R0Y2JuWmhjaUJqY21WaGRHVkVaWE5qSUQwZ2NtVnhkV2x5WlNnbkxpOWZjSEp2Y0dWeWRIa3RaR1Z6WXljcE8xeHVkbUZ5SUY5amNtVmhkR1VnUFNCeVpYRjFhWEpsS0NjdUwxOXZZbXBsWTNRdFkzSmxZWFJsSnlrN1hHNTJZWElnWjA5UVRrVjRkQ0E5SUhKbGNYVnBjbVVvSnk0dlgyOWlhbVZqZEMxbmIzQnVMV1Y0ZENjcE8xeHVkbUZ5SUNSSFQxQkVJRDBnY21WeGRXbHlaU2duTGk5ZmIySnFaV04wTFdkdmNHUW5LVHRjYm5aaGNpQWtSMDlRVXlBOUlISmxjWFZwY21Vb0p5NHZYMjlpYW1WamRDMW5iM0J6SnlrN1hHNTJZWElnSkVSUUlEMGdjbVZ4ZFdseVpTZ25MaTlmYjJKcVpXTjBMV1J3SnlrN1hHNTJZWElnSkd0bGVYTWdQU0J5WlhGMWFYSmxLQ2N1TDE5dlltcGxZM1F0YTJWNWN5Y3BPMXh1ZG1GeUlHZFBVRVFnUFNBa1IwOVFSQzVtTzF4dWRtRnlJR1JRSUQwZ0pFUlFMbVk3WEc1MllYSWdaMDlRVGlBOUlHZFBVRTVGZUhRdVpqdGNiblpoY2lBa1UzbHRZbTlzSUQwZ1oyeHZZbUZzTGxONWJXSnZiRHRjYm5aaGNpQWtTbE5QVGlBOUlHZHNiMkpoYkM1S1UwOU9PMXh1ZG1GeUlGOXpkSEpwYm1kcFpua2dQU0FrU2xOUFRpQW1KaUFrU2xOUFRpNXpkSEpwYm1kcFpuazdYRzUyWVhJZ1VGSlBWRTlVV1ZCRklEMGdKM0J5YjNSdmRIbHdaU2M3WEc1MllYSWdTRWxFUkVWT0lEMGdkMnR6S0NkZmFHbGtaR1Z1SnlrN1hHNTJZWElnVkU5ZlVGSkpUVWxVU1ZaRklEMGdkMnR6S0NkMGIxQnlhVzFwZEdsMlpTY3BPMXh1ZG1GeUlHbHpSVzUxYlNBOUlIdDlMbkJ5YjNCbGNuUjVTWE5GYm5WdFpYSmhZbXhsTzF4dWRtRnlJRk41YldKdmJGSmxaMmx6ZEhKNUlEMGdjMmhoY21Wa0tDZHplVzFpYjJ3dGNtVm5hWE4wY25rbktUdGNiblpoY2lCQmJHeFRlVzFpYjJ4eklEMGdjMmhoY21Wa0tDZHplVzFpYjJ4ekp5azdYRzUyWVhJZ1QxQlRlVzFpYjJ4eklEMGdjMmhoY21Wa0tDZHZjQzF6ZVcxaWIyeHpKeWs3WEc1MllYSWdUMkpxWldOMFVISnZkRzhnUFNCUFltcGxZM1JiVUZKUFZFOVVXVkJGWFR0Y2JuWmhjaUJWVTBWZlRrRlVTVlpGSUQwZ2RIbHdaVzltSUNSVGVXMWliMndnUFQwZ0oyWjFibU4wYVc5dUp5QW1KaUFoSVNSSFQxQlRMbVk3WEc1MllYSWdVVTlpYW1WamRDQTlJR2RzYjJKaGJDNVJUMkpxWldOME8xeHVMeThnUkc5dUozUWdkWE5sSUhObGRIUmxjbk1nYVc0Z1VYUWdVMk55YVhCMExDQm9kSFJ3Y3pvdkwyZHBkR2gxWWk1amIyMHZlbXh2YVhKdlkyc3ZZMjl5WlMxcWN5OXBjM04xWlhNdk1UY3pYRzUyWVhJZ2MyVjBkR1Z5SUQwZ0lWRlBZbXBsWTNRZ2ZId2dJVkZQWW1wbFkzUmJVRkpQVkU5VVdWQkZYU0I4ZkNBaFVVOWlhbVZqZEZ0UVVrOVVUMVJaVUVWZExtWnBibVJEYUdsc1pEdGNibHh1THk4Z1ptRnNiR0poWTJzZ1ptOXlJRzlzWkNCQmJtUnliMmxrTENCb2RIUndjem92TDJOdlpHVXVaMjl2WjJ4bExtTnZiUzl3TDNZNEwybHpjM1ZsY3k5a1pYUmhhV3cvYVdROU5qZzNYRzUyWVhJZ2MyVjBVM2x0WW05c1JHVnpZeUE5SUVSRlUwTlNTVkJVVDFKVElDWW1JQ1JtWVdsc2N5aG1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lISmxkSFZ5YmlCZlkzSmxZWFJsS0dSUUtIdDlMQ0FuWVNjc0lIdGNiaUFnSUNCblpYUTZJR1oxYm1OMGFXOXVJQ2dwSUhzZ2NtVjBkWEp1SUdSUUtIUm9hWE1zSUNkaEp5d2dleUIyWVd4MVpUb2dOeUI5S1M1aE95QjlYRzRnSUgwcEtTNWhJQ0U5SURjN1hHNTlLU0EvSUdaMWJtTjBhVzl1SUNocGRDd2dhMlY1TENCRUtTQjdYRzRnSUhaaGNpQndjbTkwYjBSbGMyTWdQU0JuVDFCRUtFOWlhbVZqZEZCeWIzUnZMQ0JyWlhrcE8xeHVJQ0JwWmlBb2NISnZkRzlFWlhOaktTQmtaV3hsZEdVZ1QySnFaV04wVUhKdmRHOWJhMlY1WFR0Y2JpQWdaRkFvYVhRc0lHdGxlU3dnUkNrN1hHNGdJR2xtSUNod2NtOTBiMFJsYzJNZ0ppWWdhWFFnSVQwOUlFOWlhbVZqZEZCeWIzUnZLU0JrVUNoUFltcGxZM1JRY205MGJ5d2dhMlY1TENCd2NtOTBiMFJsYzJNcE8xeHVmU0E2SUdSUU8xeHVYRzUyWVhJZ2QzSmhjQ0E5SUdaMWJtTjBhVzl1SUNoMFlXY3BJSHRjYmlBZ2RtRnlJSE41YlNBOUlFRnNiRk41YldKdmJITmJkR0ZuWFNBOUlGOWpjbVZoZEdVb0pGTjViV0p2YkZ0UVVrOVVUMVJaVUVWZEtUdGNiaUFnYzNsdExsOXJJRDBnZEdGbk8xeHVJQ0J5WlhSMWNtNGdjM2x0TzF4dWZUdGNibHh1ZG1GeUlHbHpVM2x0WW05c0lEMGdWVk5GWDA1QlZFbFdSU0FtSmlCMGVYQmxiMllnSkZONWJXSnZiQzVwZEdWeVlYUnZjaUE5UFNBbmMzbHRZbTlzSnlBL0lHWjFibU4wYVc5dUlDaHBkQ2tnZTF4dUlDQnlaWFIxY200Z2RIbHdaVzltSUdsMElEMDlJQ2R6ZVcxaWIyd25PMXh1ZlNBNklHWjFibU4wYVc5dUlDaHBkQ2tnZTF4dUlDQnlaWFIxY200Z2FYUWdhVzV6ZEdGdVkyVnZaaUFrVTNsdFltOXNPMXh1ZlR0Y2JseHVkbUZ5SUNSa1pXWnBibVZRY205d1pYSjBlU0E5SUdaMWJtTjBhVzl1SUdSbFptbHVaVkJ5YjNCbGNuUjVLR2wwTENCclpYa3NJRVFwSUh0Y2JpQWdhV1lnS0dsMElEMDlQU0JQWW1wbFkzUlFjbTkwYnlrZ0pHUmxabWx1WlZCeWIzQmxjblI1S0U5UVUzbHRZbTlzY3l3Z2EyVjVMQ0JFS1R0Y2JpQWdZVzVQWW1wbFkzUW9hWFFwTzF4dUlDQnJaWGtnUFNCMGIxQnlhVzFwZEdsMlpTaHJaWGtzSUhSeWRXVXBPMXh1SUNCaGJrOWlhbVZqZENoRUtUdGNiaUFnYVdZZ0tHaGhjeWhCYkd4VGVXMWliMnh6TENCclpYa3BLU0I3WEc0Z0lDQWdhV1lnS0NGRUxtVnVkVzFsY21GaWJHVXBJSHRjYmlBZ0lDQWdJR2xtSUNnaGFHRnpLR2wwTENCSVNVUkVSVTRwS1NCa1VDaHBkQ3dnU0VsRVJFVk9MQ0JqY21WaGRHVkVaWE5qS0RFc0lIdDlLU2s3WEc0Z0lDQWdJQ0JwZEZ0SVNVUkVSVTVkVzJ0bGVWMGdQU0IwY25WbE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JwWmlBb2FHRnpLR2wwTENCSVNVUkVSVTRwSUNZbUlHbDBXMGhKUkVSRlRsMWJhMlY1WFNrZ2FYUmJTRWxFUkVWT1hWdHJaWGxkSUQwZ1ptRnNjMlU3WEc0Z0lDQWdJQ0JFSUQwZ1gyTnlaV0YwWlNoRUxDQjdJR1Z1ZFcxbGNtRmliR1U2SUdOeVpXRjBaVVJsYzJNb01Dd2dabUZzYzJVcElIMHBPMXh1SUNBZ0lIMGdjbVYwZFhKdUlITmxkRk41YldKdmJFUmxjMk1vYVhRc0lHdGxlU3dnUkNrN1hHNGdJSDBnY21WMGRYSnVJR1JRS0dsMExDQnJaWGtzSUVRcE8xeHVmVHRjYm5aaGNpQWtaR1ZtYVc1bFVISnZjR1Z5ZEdsbGN5QTlJR1oxYm1OMGFXOXVJR1JsWm1sdVpWQnliM0JsY25ScFpYTW9hWFFzSUZBcElIdGNiaUFnWVc1UFltcGxZM1FvYVhRcE8xeHVJQ0IyWVhJZ2EyVjVjeUE5SUdWdWRXMUxaWGx6S0ZBZ1BTQjBiMGxQWW1wbFkzUW9VQ2twTzF4dUlDQjJZWElnYVNBOUlEQTdYRzRnSUhaaGNpQnNJRDBnYTJWNWN5NXNaVzVuZEdnN1hHNGdJSFpoY2lCclpYazdYRzRnSUhkb2FXeGxJQ2hzSUQ0Z2FTa2dKR1JsWm1sdVpWQnliM0JsY25SNUtHbDBMQ0JyWlhrZ1BTQnJaWGx6VzJrcksxMHNJRkJiYTJWNVhTazdYRzRnSUhKbGRIVnliaUJwZER0Y2JuMDdYRzUyWVhJZ0pHTnlaV0YwWlNBOUlHWjFibU4wYVc5dUlHTnlaV0YwWlNocGRDd2dVQ2tnZTF4dUlDQnlaWFIxY200Z1VDQTlQVDBnZFc1a1pXWnBibVZrSUQ4Z1gyTnlaV0YwWlNocGRDa2dPaUFrWkdWbWFXNWxVSEp2Y0dWeWRHbGxjeWhmWTNKbFlYUmxLR2wwS1N3Z1VDazdYRzU5TzF4dWRtRnlJQ1J3Y205d1pYSjBlVWx6Ulc1MWJXVnlZV0pzWlNBOUlHWjFibU4wYVc5dUlIQnliM0JsY25SNVNYTkZiblZ0WlhKaFlteGxLR3RsZVNrZ2UxeHVJQ0IyWVhJZ1JTQTlJR2x6Ulc1MWJTNWpZV3hzS0hSb2FYTXNJR3RsZVNBOUlIUnZVSEpwYldsMGFYWmxLR3RsZVN3Z2RISjFaU2twTzF4dUlDQnBaaUFvZEdocGN5QTlQVDBnVDJKcVpXTjBVSEp2ZEc4Z0ppWWdhR0Z6S0VGc2JGTjViV0p2YkhNc0lHdGxlU2tnSmlZZ0lXaGhjeWhQVUZONWJXSnZiSE1zSUd0bGVTa3BJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdjbVYwZFhKdUlFVWdmSHdnSVdoaGN5aDBhR2x6TENCclpYa3BJSHg4SUNGb1lYTW9RV3hzVTNsdFltOXNjeXdnYTJWNUtTQjhmQ0JvWVhNb2RHaHBjeXdnU0VsRVJFVk9LU0FtSmlCMGFHbHpXMGhKUkVSRlRsMWJhMlY1WFNBL0lFVWdPaUIwY25WbE8xeHVmVHRjYm5aaGNpQWtaMlYwVDNkdVVISnZjR1Z5ZEhsRVpYTmpjbWx3ZEc5eUlEMGdablZ1WTNScGIyNGdaMlYwVDNkdVVISnZjR1Z5ZEhsRVpYTmpjbWx3ZEc5eUtHbDBMQ0JyWlhrcElIdGNiaUFnYVhRZ1BTQjBiMGxQWW1wbFkzUW9hWFFwTzF4dUlDQnJaWGtnUFNCMGIxQnlhVzFwZEdsMlpTaHJaWGtzSUhSeWRXVXBPMXh1SUNCcFppQW9hWFFnUFQwOUlFOWlhbVZqZEZCeWIzUnZJQ1ltSUdoaGN5aEJiR3hUZVcxaWIyeHpMQ0JyWlhrcElDWW1JQ0ZvWVhNb1QxQlRlVzFpYjJ4ekxDQnJaWGtwS1NCeVpYUjFjbTQ3WEc0Z0lIWmhjaUJFSUQwZ1owOVFSQ2hwZEN3Z2EyVjVLVHRjYmlBZ2FXWWdLRVFnSmlZZ2FHRnpLRUZzYkZONWJXSnZiSE1zSUd0bGVTa2dKaVlnSVNob1lYTW9hWFFzSUVoSlJFUkZUaWtnSmlZZ2FYUmJTRWxFUkVWT1hWdHJaWGxkS1NrZ1JDNWxiblZ0WlhKaFlteGxJRDBnZEhKMVpUdGNiaUFnY21WMGRYSnVJRVE3WEc1OU8xeHVkbUZ5SUNSblpYUlBkMjVRY205d1pYSjBlVTVoYldWeklEMGdablZ1WTNScGIyNGdaMlYwVDNkdVVISnZjR1Z5ZEhsT1lXMWxjeWhwZENrZ2UxeHVJQ0IyWVhJZ2JtRnRaWE1nUFNCblQxQk9LSFJ2U1U5aWFtVmpkQ2hwZENrcE8xeHVJQ0IyWVhJZ2NtVnpkV3gwSUQwZ1cxMDdYRzRnSUhaaGNpQnBJRDBnTUR0Y2JpQWdkbUZ5SUd0bGVUdGNiaUFnZDJocGJHVWdLRzVoYldWekxteGxibWQwYUNBK0lHa3BJSHRjYmlBZ0lDQnBaaUFvSVdoaGN5aEJiR3hUZVcxaWIyeHpMQ0JyWlhrZ1BTQnVZVzFsYzF0cEt5dGRLU0FtSmlCclpYa2dJVDBnU0VsRVJFVk9JQ1ltSUd0bGVTQWhQU0JOUlZSQktTQnlaWE4xYkhRdWNIVnphQ2hyWlhrcE8xeHVJQ0I5SUhKbGRIVnliaUJ5WlhOMWJIUTdYRzU5TzF4dWRtRnlJQ1JuWlhSUGQyNVFjbTl3WlhKMGVWTjViV0p2YkhNZ1BTQm1kVzVqZEdsdmJpQm5aWFJQZDI1UWNtOXdaWEowZVZONWJXSnZiSE1vYVhRcElIdGNiaUFnZG1GeUlFbFRYMDlRSUQwZ2FYUWdQVDA5SUU5aWFtVmpkRkJ5YjNSdk8xeHVJQ0IyWVhJZ2JtRnRaWE1nUFNCblQxQk9LRWxUWDA5UUlEOGdUMUJUZVcxaWIyeHpJRG9nZEc5SlQySnFaV04wS0dsMEtTazdYRzRnSUhaaGNpQnlaWE4xYkhRZ1BTQmJYVHRjYmlBZ2RtRnlJR2tnUFNBd08xeHVJQ0IyWVhJZ2EyVjVPMXh1SUNCM2FHbHNaU0FvYm1GdFpYTXViR1Z1WjNSb0lENGdhU2tnZTF4dUlDQWdJR2xtSUNob1lYTW9RV3hzVTNsdFltOXNjeXdnYTJWNUlEMGdibUZ0WlhOYmFTc3JYU2tnSmlZZ0tFbFRYMDlRSUQ4Z2FHRnpLRTlpYW1WamRGQnliM1J2TENCclpYa3BJRG9nZEhKMVpTa3BJSEpsYzNWc2RDNXdkWE5vS0VGc2JGTjViV0p2YkhOYmEyVjVYU2s3WEc0Z0lIMGdjbVYwZFhKdUlISmxjM1ZzZER0Y2JuMDdYRzVjYmk4dklERTVMalF1TVM0eElGTjViV0p2YkNoYlpHVnpZM0pwY0hScGIyNWRLVnh1YVdZZ0tDRlZVMFZmVGtGVVNWWkZLU0I3WEc0Z0lDUlRlVzFpYjJ3Z1BTQm1kVzVqZEdsdmJpQlRlVzFpYjJ3b0tTQjdYRzRnSUNBZ2FXWWdLSFJvYVhNZ2FXNXpkR0Z1WTJWdlppQWtVM2x0WW05c0tTQjBhSEp2ZHlCVWVYQmxSWEp5YjNJb0oxTjViV0p2YkNCcGN5QnViM1FnWVNCamIyNXpkSEoxWTNSdmNpRW5LVHRjYmlBZ0lDQjJZWElnZEdGbklEMGdkV2xrS0dGeVozVnRaVzUwY3k1c1pXNW5kR2dnUGlBd0lEOGdZWEpuZFcxbGJuUnpXekJkSURvZ2RXNWtaV1pwYm1Wa0tUdGNiaUFnSUNCMllYSWdKSE5sZENBOUlHWjFibU4wYVc5dUlDaDJZV3gxWlNrZ2UxeHVJQ0FnSUNBZ2FXWWdLSFJvYVhNZ1BUMDlJRTlpYW1WamRGQnliM1J2S1NBa2MyVjBMbU5oYkd3b1QxQlRlVzFpYjJ4ekxDQjJZV3gxWlNrN1hHNGdJQ0FnSUNCcFppQW9hR0Z6S0hSb2FYTXNJRWhKUkVSRlRpa2dKaVlnYUdGektIUm9hWE5iU0VsRVJFVk9YU3dnZEdGbktTa2dkR2hwYzF0SVNVUkVSVTVkVzNSaFoxMGdQU0JtWVd4elpUdGNiaUFnSUNBZ0lITmxkRk41YldKdmJFUmxjMk1vZEdocGN5d2dkR0ZuTENCamNtVmhkR1ZFWlhOaktERXNJSFpoYkhWbEtTazdYRzRnSUNBZ2ZUdGNiaUFnSUNCcFppQW9SRVZUUTFKSlVGUlBVbE1nSmlZZ2MyVjBkR1Z5S1NCelpYUlRlVzFpYjJ4RVpYTmpLRTlpYW1WamRGQnliM1J2TENCMFlXY3NJSHNnWTI5dVptbG5kWEpoWW14bE9pQjBjblZsTENCelpYUTZJQ1J6WlhRZ2ZTazdYRzRnSUNBZ2NtVjBkWEp1SUhkeVlYQW9kR0ZuS1R0Y2JpQWdmVHRjYmlBZ2NtVmtaV1pwYm1Vb0pGTjViV0p2YkZ0UVVrOVVUMVJaVUVWZExDQW5kRzlUZEhKcGJtY25MQ0JtZFc1amRHbHZiaUIwYjFOMGNtbHVaeWdwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZmF6dGNiaUFnZlNrN1hHNWNiaUFnSkVkUFVFUXVaaUE5SUNSblpYUlBkMjVRY205d1pYSjBlVVJsYzJOeWFYQjBiM0k3WEc0Z0lDUkVVQzVtSUQwZ0pHUmxabWx1WlZCeWIzQmxjblI1TzF4dUlDQnlaWEYxYVhKbEtDY3VMMTl2WW1wbFkzUXRaMjl3YmljcExtWWdQU0JuVDFCT1JYaDBMbVlnUFNBa1oyVjBUM2R1VUhKdmNHVnlkSGxPWVcxbGN6dGNiaUFnY21WeGRXbHlaU2duTGk5ZmIySnFaV04wTFhCcFpTY3BMbVlnUFNBa2NISnZjR1Z5ZEhsSmMwVnVkVzFsY21GaWJHVTdYRzRnSUNSSFQxQlRMbVlnUFNBa1oyVjBUM2R1VUhKdmNHVnlkSGxUZVcxaWIyeHpPMXh1WEc0Z0lHbG1JQ2hFUlZORFVrbFFWRTlTVXlBbUppQWhjbVZ4ZFdseVpTZ25MaTlmYkdsaWNtRnllU2NwS1NCN1hHNGdJQ0FnY21Wa1pXWnBibVVvVDJKcVpXTjBVSEp2ZEc4c0lDZHdjbTl3WlhKMGVVbHpSVzUxYldWeVlXSnNaU2NzSUNSd2NtOXdaWEowZVVselJXNTFiV1Z5WVdKc1pTd2dkSEoxWlNrN1hHNGdJSDFjYmx4dUlDQjNhM05GZUhRdVppQTlJR1oxYm1OMGFXOXVJQ2h1WVcxbEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhkeVlYQW9kMnR6S0c1aGJXVXBLVHRjYmlBZ2ZUdGNibjFjYmx4dUpHVjRjRzl5ZENna1pYaHdiM0owTGtjZ0t5QWtaWGh3YjNKMExsY2dLeUFrWlhod2IzSjBMa1lnS2lBaFZWTkZYMDVCVkVsV1JTd2dleUJUZVcxaWIydzZJQ1JUZVcxaWIyd2dmU2s3WEc1Y2JtWnZjaUFvZG1GeUlHVnpObE41YldKdmJITWdQU0FvWEc0Z0lDOHZJREU1TGpRdU1pNHlMQ0F4T1M0MExqSXVNeXdnTVRrdU5DNHlMalFzSURFNUxqUXVNaTQyTENBeE9TNDBMakl1T0N3Z01Ua3VOQzR5TGprc0lERTVMalF1TWk0eE1Dd2dNVGt1TkM0eUxqRXhMQ0F4T1M0MExqSXVNVElzSURFNUxqUXVNaTR4TXl3Z01Ua3VOQzR5TGpFMFhHNGdJQ2RvWVhOSmJuTjBZVzVqWlN4cGMwTnZibU5oZEZOd2NtVmhaR0ZpYkdVc2FYUmxjbUYwYjNJc2JXRjBZMmdzY21Wd2JHRmpaU3h6WldGeVkyZ3NjM0JsWTJsbGN5eHpjR3hwZEN4MGIxQnlhVzFwZEdsMlpTeDBiMU4wY21sdVoxUmhaeXgxYm5OamIzQmhZbXhsY3lkY2Jpa3VjM0JzYVhRb0p5d25LU3dnYWlBOUlEQTdJR1Z6TmxONWJXSnZiSE11YkdWdVozUm9JRDRnYWpzcGQydHpLR1Z6TmxONWJXSnZiSE5iYWlzclhTazdYRzVjYm1admNpQW9kbUZ5SUhkbGJHeExibTkzYmxONWJXSnZiSE1nUFNBa2EyVjVjeWgzYTNNdWMzUnZjbVVwTENCcklEMGdNRHNnZDJWc2JFdHViM2R1VTNsdFltOXNjeTVzWlc1bmRHZ2dQaUJyT3lrZ2QydHpSR1ZtYVc1bEtIZGxiR3hMYm05M2JsTjViV0p2YkhOYmF5c3JYU2s3WEc1Y2JpUmxlSEJ2Y25Rb0pHVjRjRzl5ZEM1VElDc2dKR1Y0Y0c5eWRDNUdJQ29nSVZWVFJWOU9RVlJKVmtVc0lDZFRlVzFpYjJ3bkxDQjdYRzRnSUM4dklERTVMalF1TWk0eElGTjViV0p2YkM1bWIzSW9hMlY1S1Z4dUlDQW5abTl5SnpvZ1puVnVZM1JwYjI0Z0tHdGxlU2tnZTF4dUlDQWdJSEpsZEhWeWJpQm9ZWE1vVTNsdFltOXNVbVZuYVhOMGNua3NJR3RsZVNBclBTQW5KeWxjYmlBZ0lDQWdJRDhnVTNsdFltOXNVbVZuYVhOMGNubGJhMlY1WFZ4dUlDQWdJQ0FnT2lCVGVXMWliMnhTWldkcGMzUnllVnRyWlhsZElEMGdKRk41YldKdmJDaHJaWGtwTzF4dUlDQjlMRnh1SUNBdkx5QXhPUzQwTGpJdU5TQlRlVzFpYjJ3dWEyVjVSbTl5S0hONWJTbGNiaUFnYTJWNVJtOXlPaUJtZFc1amRHbHZiaUJyWlhsR2IzSW9jM2x0S1NCN1hHNGdJQ0FnYVdZZ0tDRnBjMU41YldKdmJDaHplVzBwS1NCMGFISnZkeUJVZVhCbFJYSnliM0lvYzNsdElDc2dKeUJwY3lCdWIzUWdZU0J6ZVcxaWIyd2hKeWs3WEc0Z0lDQWdabTl5SUNoMllYSWdhMlY1SUdsdUlGTjViV0p2YkZKbFoybHpkSEo1S1NCcFppQW9VM2x0WW05c1VtVm5hWE4wY25sYmEyVjVYU0E5UFQwZ2MzbHRLU0J5WlhSMWNtNGdhMlY1TzF4dUlDQjlMRnh1SUNCMWMyVlRaWFIwWlhJNklHWjFibU4wYVc5dUlDZ3BJSHNnYzJWMGRHVnlJRDBnZEhKMVpUc2dmU3hjYmlBZ2RYTmxVMmx0Y0d4bE9pQm1kVzVqZEdsdmJpQW9LU0I3SUhObGRIUmxjaUE5SUdaaGJITmxPeUI5WEc1OUtUdGNibHh1SkdWNGNHOXlkQ2drWlhod2IzSjBMbE1nS3lBa1pYaHdiM0owTGtZZ0tpQWhWVk5GWDA1QlZFbFdSU3dnSjA5aWFtVmpkQ2NzSUh0Y2JpQWdMeThnTVRrdU1TNHlMaklnVDJKcVpXTjBMbU55WldGMFpTaFBJRnNzSUZCeWIzQmxjblJwWlhOZEtWeHVJQ0JqY21WaGRHVTZJQ1JqY21WaGRHVXNYRzRnSUM4dklERTVMakV1TWk0MElFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2hQTENCUUxDQkJkSFJ5YVdKMWRHVnpLVnh1SUNCa1pXWnBibVZRY205d1pYSjBlVG9nSkdSbFptbHVaVkJ5YjNCbGNuUjVMRnh1SUNBdkx5QXhPUzR4TGpJdU15QlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkR2xsY3loUExDQlFjbTl3WlhKMGFXVnpLVnh1SUNCa1pXWnBibVZRY205d1pYSjBhV1Z6T2lBa1pHVm1hVzVsVUhKdmNHVnlkR2xsY3l4Y2JpQWdMeThnTVRrdU1TNHlMallnVDJKcVpXTjBMbWRsZEU5M2JsQnliM0JsY25SNVJHVnpZM0pwY0hSdmNpaFBMQ0JRS1Z4dUlDQm5aWFJQZDI1UWNtOXdaWEowZVVSbGMyTnlhWEIwYjNJNklDUm5aWFJQZDI1UWNtOXdaWEowZVVSbGMyTnlhWEIwYjNJc1hHNGdJQzh2SURFNUxqRXVNaTQzSUU5aWFtVmpkQzVuWlhSUGQyNVFjbTl3WlhKMGVVNWhiV1Z6S0U4cFhHNGdJR2RsZEU5M2JsQnliM0JsY25SNVRtRnRaWE02SUNSblpYUlBkMjVRY205d1pYSjBlVTVoYldWekxGeHVJQ0F2THlBeE9TNHhMakl1T0NCUFltcGxZM1F1WjJWMFQzZHVVSEp2Y0dWeWRIbFRlVzFpYjJ4ektFOHBYRzRnSUdkbGRFOTNibEJ5YjNCbGNuUjVVM2x0WW05c2N6b2dKR2RsZEU5M2JsQnliM0JsY25SNVUzbHRZbTlzYzF4dWZTazdYRzVjYmk4dklFTm9jbTl0WlNBek9DQmhibVFnTXprZ1lFOWlhbVZqZEM1blpYUlBkMjVRY205d1pYSjBlVk41YldKdmJITmdJR1poYVd4eklHOXVJSEJ5YVcxcGRHbDJaWE5jYmk4dklHaDBkSEJ6T2k4dlluVm5jeTVqYUhKdmJXbDFiUzV2Y21jdmNDOTJPQzlwYzNOMVpYTXZaR1YwWVdsc1AybGtQVE0wTkROY2JuWmhjaUJHUVVsTVUxOVBUbDlRVWtsTlNWUkpWa1ZUSUQwZ0pHWmhhV3h6S0daMWJtTjBhVzl1SUNncElIc2dKRWRQVUZNdVppZ3hLVHNnZlNrN1hHNWNiaVJsZUhCdmNuUW9KR1Y0Y0c5eWRDNVRJQ3NnSkdWNGNHOXlkQzVHSUNvZ1JrRkpURk5mVDA1ZlVGSkpUVWxVU1ZaRlV5d2dKMDlpYW1WamRDY3NJSHRjYmlBZ1oyVjBUM2R1VUhKdmNHVnlkSGxUZVcxaWIyeHpPaUJtZFc1amRHbHZiaUJuWlhSUGQyNVFjbTl3WlhKMGVWTjViV0p2YkhNb2FYUXBJSHRjYmlBZ0lDQnlaWFIxY200Z0pFZFBVRk11WmloMGIwOWlhbVZqZENocGRDa3BPMXh1SUNCOVhHNTlLVHRjYmx4dUx5OGdNalF1TXk0eUlFcFRUMDR1YzNSeWFXNW5hV1o1S0haaGJIVmxJRnNzSUhKbGNHeGhZMlZ5SUZzc0lITndZV05sWFYwcFhHNGtTbE5QVGlBbUppQWtaWGh3YjNKMEtDUmxlSEJ2Y25RdVV5QXJJQ1JsZUhCdmNuUXVSaUFxSUNnaFZWTkZYMDVCVkVsV1JTQjhmQ0FrWm1GcGJITW9ablZ1WTNScGIyNGdLQ2tnZTF4dUlDQjJZWElnVXlBOUlDUlRlVzFpYjJ3b0tUdGNiaUFnTHk4Z1RWTWdSV1JuWlNCamIyNTJaWEowY3lCemVXMWliMndnZG1Gc2RXVnpJSFJ2SUVwVFQwNGdZWE1nZTMxY2JpQWdMeThnVjJWaVMybDBJR052Ym5abGNuUnpJSE41YldKdmJDQjJZV3gxWlhNZ2RHOGdTbE5QVGlCaGN5QnVkV3hzWEc0Z0lDOHZJRlk0SUhSb2NtOTNjeUJ2YmlCaWIzaGxaQ0J6ZVcxaWIyeHpYRzRnSUhKbGRIVnliaUJmYzNSeWFXNW5hV1o1S0Z0VFhTa2dJVDBnSjF0dWRXeHNYU2NnZkh3Z1gzTjBjbWx1WjJsbWVTaDdJR0U2SUZNZ2ZTa2dJVDBnSjN0OUp5QjhmQ0JmYzNSeWFXNW5hV1o1S0U5aWFtVmpkQ2hUS1NrZ0lUMGdKM3Q5Snp0Y2JuMHBLU3dnSjBwVFQwNG5MQ0I3WEc0Z0lITjBjbWx1WjJsbWVUb2dablZ1WTNScGIyNGdjM1J5YVc1bmFXWjVLR2wwS1NCN1hHNGdJQ0FnZG1GeUlHRnlaM01nUFNCYmFYUmRPMXh1SUNBZ0lIWmhjaUJwSUQwZ01UdGNiaUFnSUNCMllYSWdjbVZ3YkdGalpYSXNJQ1J5WlhCc1lXTmxjanRjYmlBZ0lDQjNhR2xzWlNBb1lYSm5kVzFsYm5SekxteGxibWQwYUNBK0lHa3BJR0Z5WjNNdWNIVnphQ2hoY21kMWJXVnVkSE5iYVNzclhTazdYRzRnSUNBZ0pISmxjR3hoWTJWeUlEMGdjbVZ3YkdGalpYSWdQU0JoY21keld6RmRPMXh1SUNBZ0lHbG1JQ2doYVhOUFltcGxZM1FvY21Wd2JHRmpaWElwSUNZbUlHbDBJRDA5UFNCMWJtUmxabWx1WldRZ2ZId2dhWE5UZVcxaWIyd29hWFFwS1NCeVpYUjFjbTQ3SUM4dklFbEZPQ0J5WlhSMWNtNXpJSE4wY21sdVp5QnZiaUIxYm1SbFptbHVaV1JjYmlBZ0lDQnBaaUFvSVdselFYSnlZWGtvY21Wd2JHRmpaWElwS1NCeVpYQnNZV05sY2lBOUlHWjFibU4wYVc5dUlDaHJaWGtzSUhaaGJIVmxLU0I3WEc0Z0lDQWdJQ0JwWmlBb2RIbHdaVzltSUNSeVpYQnNZV05sY2lBOVBTQW5ablZ1WTNScGIyNG5LU0IyWVd4MVpTQTlJQ1J5WlhCc1lXTmxjaTVqWVd4c0tIUm9hWE1zSUd0bGVTd2dkbUZzZFdVcE8xeHVJQ0FnSUNBZ2FXWWdLQ0ZwYzFONWJXSnZiQ2gyWVd4MVpTa3BJSEpsZEhWeWJpQjJZV3gxWlR0Y2JpQWdJQ0I5TzF4dUlDQWdJR0Z5WjNOYk1WMGdQU0J5WlhCc1lXTmxjanRjYmlBZ0lDQnlaWFIxY200Z1gzTjBjbWx1WjJsbWVTNWhjSEJzZVNna1NsTlBUaXdnWVhKbmN5azdYRzRnSUgxY2JuMHBPMXh1WEc0dkx5QXhPUzQwTGpNdU5DQlRlVzFpYjJ3dWNISnZkRzkwZVhCbFcwQkFkRzlRY21sdGFYUnBkbVZkS0docGJuUXBYRzRrVTNsdFltOXNXMUJTVDFSUFZGbFFSVjFiVkU5ZlVGSkpUVWxVU1ZaRlhTQjhmQ0J5WlhGMWFYSmxLQ2N1TDE5b2FXUmxKeWtvSkZONWJXSnZiRnRRVWs5VVQxUlpVRVZkTENCVVQxOVFVa2xOU1ZSSlZrVXNJQ1JUZVcxaWIyeGJVRkpQVkU5VVdWQkZYUzUyWVd4MVpVOW1LVHRjYmk4dklERTVMalF1TXk0MUlGTjViV0p2YkM1d2NtOTBiM1I1Y0dWYlFFQjBiMU4wY21sdVoxUmhaMTFjYm5ObGRGUnZVM1J5YVc1blZHRm5LQ1JUZVcxaWIyd3NJQ2RUZVcxaWIyd25LVHRjYmk4dklESXdMakl1TVM0NUlFMWhkR2hiUUVCMGIxTjBjbWx1WjFSaFoxMWNibk5sZEZSdlUzUnlhVzVuVkdGbktFMWhkR2dzSUNkTllYUm9KeXdnZEhKMVpTazdYRzR2THlBeU5DNHpMak1nU2xOUFRsdEFRSFJ2VTNSeWFXNW5WR0ZuWFZ4dWMyVjBWRzlUZEhKcGJtZFVZV2NvWjJ4dlltRnNMa3BUVDA0c0lDZEtVMDlPSnl3Z2RISjFaU2s3WEc0aVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUc2lMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9lczYuc3ltYm9sLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM3LnN5bWJvbC5hc3luYy1pdGVyYXRvci5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM3LnN5bWJvbC5hc3luYy1pdGVyYXRvci5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXtldmFsKCJfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL193a3MtZGVmaW5lICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3drcy1kZWZpbmUuanNcIikoJ2FzeW5jSXRlcmF0b3InKTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXNhV0p5WVhKNUwyMXZaSFZzWlhNdlpYTTNMbk41YldKdmJDNWhjM2x1WXkxcGRHVnlZWFJ2Y2k1cWN5NXFjeUlzSW5OdmRYSmpaWE1pT2xzaWQyVmljR0ZqYXpvdkx5OHVMMjV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDJ4cFluSmhjbmt2Ylc5a2RXeGxjeTlsY3pjdWMzbHRZbTlzTG1GemVXNWpMV2wwWlhKaGRHOXlMbXB6UHpZNVpETWlYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpY21WeGRXbHlaU2duTGk5ZmQydHpMV1JsWm1sdVpTY3BLQ2RoYzNsdVkwbDBaWEpoZEc5eUp5azdYRzRpWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCT3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL2VzNy5zeW1ib2wuYXN5bmMtaXRlcmF0b3IuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9lczcuc3ltYm9sLm9ic2VydmFibGUuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM3LnN5bWJvbC5vYnNlcnZhYmxlLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7ZXZhbCgiX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fd2tzLWRlZmluZSAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL193a3MtZGVmaW5lLmpzXCIpKCdvYnNlcnZhYmxlJyk7XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTlzYVdKeVlYSjVMMjF2WkhWc1pYTXZaWE0zTG5ONWJXSnZiQzV2WW5ObGNuWmhZbXhsTG1wekxtcHpJaXdpYzI5MWNtTmxjeUk2V3lKM1pXSndZV05yT2k4dkx5NHZibTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12YkdsaWNtRnllUzl0YjJSMWJHVnpMMlZ6Tnk1emVXMWliMnd1YjJKelpYSjJZV0pzWlM1cWN6ODNOalZrSWwwc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkluSmxjWFZwY21Vb0p5NHZYM2RyY3kxa1pXWnBibVVuS1NnbmIySnpaWEoyWVdKc1pTY3BPMXh1SWwwc0ltMWhjSEJwYm1keklqb2lRVUZCUVRzaUxDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL2VzNy5zeW1ib2wub2JzZXJ2YWJsZS5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL3dlYi5kb20uaXRlcmFibGUuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL3dlYi5kb20uaXRlcmFibGUuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7ZXZhbCgiX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9lczYuYXJyYXkuaXRlcmF0b3IgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9lczYuYXJyYXkuaXRlcmF0b3IuanNcIik7XG52YXIgZ2xvYmFsID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fZ2xvYmFsICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2dsb2JhbC5qc1wiKTtcbnZhciBoaWRlID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9faGlkZSAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19oaWRlLmpzXCIpO1xudmFyIEl0ZXJhdG9ycyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2l0ZXJhdG9ycyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19pdGVyYXRvcnMuanNcIik7XG52YXIgVE9fU1RSSU5HX1RBRyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3drcyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL193a3MuanNcIikoJ3RvU3RyaW5nVGFnJyk7XG5cbnZhciBET01JdGVyYWJsZXMgPSAoJ0NTU1J1bGVMaXN0LENTU1N0eWxlRGVjbGFyYXRpb24sQ1NTVmFsdWVMaXN0LENsaWVudFJlY3RMaXN0LERPTVJlY3RMaXN0LERPTVN0cmluZ0xpc3QsJyArXG4gICdET01Ub2tlbkxpc3QsRGF0YVRyYW5zZmVySXRlbUxpc3QsRmlsZUxpc3QsSFRNTEFsbENvbGxlY3Rpb24sSFRNTENvbGxlY3Rpb24sSFRNTEZvcm1FbGVtZW50LEhUTUxTZWxlY3RFbGVtZW50LCcgK1xuICAnTWVkaWFMaXN0LE1pbWVUeXBlQXJyYXksTmFtZWROb2RlTWFwLE5vZGVMaXN0LFBhaW50UmVxdWVzdExpc3QsUGx1Z2luLFBsdWdpbkFycmF5LFNWR0xlbmd0aExpc3QsU1ZHTnVtYmVyTGlzdCwnICtcbiAgJ1NWR1BhdGhTZWdMaXN0LFNWR1BvaW50TGlzdCxTVkdTdHJpbmdMaXN0LFNWR1RyYW5zZm9ybUxpc3QsU291cmNlQnVmZmVyTGlzdCxTdHlsZVNoZWV0TGlzdCxUZXh0VHJhY2tDdWVMaXN0LCcgK1xuICAnVGV4dFRyYWNrTGlzdCxUb3VjaExpc3QnKS5zcGxpdCgnLCcpO1xuXG5mb3IgKHZhciBpID0gMDsgaSA8IERPTUl0ZXJhYmxlcy5sZW5ndGg7IGkrKykge1xuICB2YXIgTkFNRSA9IERPTUl0ZXJhYmxlc1tpXTtcbiAgdmFyIENvbGxlY3Rpb24gPSBnbG9iYWxbTkFNRV07XG4gIHZhciBwcm90byA9IENvbGxlY3Rpb24gJiYgQ29sbGVjdGlvbi5wcm90b3R5cGU7XG4gIGlmIChwcm90byAmJiAhcHJvdG9bVE9fU1RSSU5HX1RBR10pIGhpZGUocHJvdG8sIFRPX1NUUklOR19UQUcsIE5BTUUpO1xuICBJdGVyYXRvcnNbTkFNRV0gPSBJdGVyYXRvcnMuQXJyYXk7XG59XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTlzYVdKeVlYSjVMMjF2WkhWc1pYTXZkMlZpTG1SdmJTNXBkR1Z5WVdKc1pTNXFjeTVxY3lJc0luTnZkWEpqWlhNaU9sc2lkMlZpY0dGamF6b3ZMeTh1TDI1dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyeHBZbkpoY25rdmJXOWtkV3hsY3k5M1pXSXVaRzl0TG1sMFpYSmhZbXhsTG1welB6WmpNV01pWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWNtVnhkV2x5WlNnbkxpOWxjell1WVhKeVlYa3VhWFJsY21GMGIzSW5LVHRjYm5aaGNpQm5iRzlpWVd3Z1BTQnlaWEYxYVhKbEtDY3VMMTluYkc5aVlXd25LVHRjYm5aaGNpQm9hV1JsSUQwZ2NtVnhkV2x5WlNnbkxpOWZhR2xrWlNjcE8xeHVkbUZ5SUVsMFpYSmhkRzl5Y3lBOUlISmxjWFZwY21Vb0p5NHZYMmwwWlhKaGRHOXljeWNwTzF4dWRtRnlJRlJQWDFOVVVrbE9SMTlVUVVjZ1BTQnlaWEYxYVhKbEtDY3VMMTkzYTNNbktTZ25kRzlUZEhKcGJtZFVZV2NuS1R0Y2JseHVkbUZ5SUVSUFRVbDBaWEpoWW14bGN5QTlJQ2duUTFOVFVuVnNaVXhwYzNRc1ExTlRVM1I1YkdWRVpXTnNZWEpoZEdsdmJpeERVMU5XWVd4MVpVeHBjM1FzUTJ4cFpXNTBVbVZqZEV4cGMzUXNSRTlOVW1WamRFeHBjM1FzUkU5TlUzUnlhVzVuVEdsemRDd25JQ3RjYmlBZ0owUlBUVlJ2YTJWdVRHbHpkQ3hFWVhSaFZISmhibk5tWlhKSmRHVnRUR2x6ZEN4R2FXeGxUR2x6ZEN4SVZFMU1RV3hzUTI5c2JHVmpkR2x2Yml4SVZFMU1RMjlzYkdWamRHbHZiaXhJVkUxTVJtOXliVVZzWlcxbGJuUXNTRlJOVEZObGJHVmpkRVZzWlcxbGJuUXNKeUFyWEc0Z0lDZE5aV1JwWVV4cGMzUXNUV2x0WlZSNWNHVkJjbkpoZVN4T1lXMWxaRTV2WkdWTllYQXNUbTlrWlV4cGMzUXNVR0ZwYm5SU1pYRjFaWE4wVEdsemRDeFFiSFZuYVc0c1VHeDFaMmx1UVhKeVlYa3NVMVpIVEdWdVozUm9UR2x6ZEN4VFZrZE9kVzFpWlhKTWFYTjBMQ2NnSzF4dUlDQW5VMVpIVUdGMGFGTmxaMHhwYzNRc1UxWkhVRzlwYm5STWFYTjBMRk5XUjFOMGNtbHVaMHhwYzNRc1UxWkhWSEpoYm5ObWIzSnRUR2x6ZEN4VGIzVnlZMlZDZFdabVpYSk1hWE4wTEZOMGVXeGxVMmhsWlhSTWFYTjBMRlJsZUhSVWNtRmphME4xWlV4cGMzUXNKeUFyWEc0Z0lDZFVaWGgwVkhKaFkydE1hWE4wTEZSdmRXTm9UR2x6ZENjcExuTndiR2wwS0Njc0p5azdYRzVjYm1admNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1JFOU5TWFJsY21GaWJHVnpMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJSFpoY2lCT1FVMUZJRDBnUkU5TlNYUmxjbUZpYkdWelcybGRPMXh1SUNCMllYSWdRMjlzYkdWamRHbHZiaUE5SUdkc2IySmhiRnRPUVUxRlhUdGNiaUFnZG1GeUlIQnliM1J2SUQwZ1EyOXNiR1ZqZEdsdmJpQW1KaUJEYjJ4c1pXTjBhVzl1TG5CeWIzUnZkSGx3WlR0Y2JpQWdhV1lnS0hCeWIzUnZJQ1ltSUNGd2NtOTBiMXRVVDE5VFZGSkpUa2RmVkVGSFhTa2dhR2xrWlNod2NtOTBieXdnVkU5ZlUxUlNTVTVIWDFSQlJ5d2dUa0ZOUlNrN1hHNGdJRWwwWlhKaGRHOXljMXRPUVUxRlhTQTlJRWwwWlhKaGRHOXljeTVCY25KaGVUdGNibjFjYmlKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN0lpd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL3dlYi5kb20uaXRlcmFibGUuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2EtZnVuY3Rpb24uanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hLWZ1bmN0aW9uLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpe2V2YWwoIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIGlmICh0eXBlb2YgaXQgIT0gJ2Z1bmN0aW9uJykgdGhyb3cgVHlwZUVycm9yKGl0ICsgJyBpcyBub3QgYSBmdW5jdGlvbiEnKTtcbiAgcmV0dXJuIGl0O1xufTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOWhMV1oxYm1OMGFXOXVMbXB6TG1weklpd2ljMjkxY21ObGN5STZXeUozWldKd1lXTnJPaTh2THk0dmJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWZZUzFtZFc1amRHbHZiaTVxY3o5a09HVTRJbDBzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnWm5WdVkzUnBiMjRnS0dsMEtTQjdYRzRnSUdsbUlDaDBlWEJsYjJZZ2FYUWdJVDBnSjJaMWJtTjBhVzl1SnlrZ2RHaHliM2NnVkhsd1pVVnljbTl5S0dsMElDc2dKeUJwY3lCdWIzUWdZU0JtZFc1amRHbHZiaUVuS1R0Y2JpQWdjbVYwZFhKdUlHbDBPMXh1ZlR0Y2JpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN0lpd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYS1mdW5jdGlvbi5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYWRkLXRvLXVuc2NvcGFibGVzLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hZGQtdG8tdW5zY29wYWJsZXMuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18pe2V2YWwoIi8vIDIyLjEuMy4zMSBBcnJheS5wcm90b3R5cGVbQEB1bnNjb3BhYmxlc11cbnZhciBVTlNDT1BBQkxFUyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3drcyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fd2tzLmpzXCIpKCd1bnNjb3BhYmxlcycpO1xudmFyIEFycmF5UHJvdG8gPSBBcnJheS5wcm90b3R5cGU7XG5pZiAoQXJyYXlQcm90b1tVTlNDT1BBQkxFU10gPT0gdW5kZWZpbmVkKSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19oaWRlICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19oaWRlLmpzXCIpKEFycmF5UHJvdG8sIFVOU0NPUEFCTEVTLCB7fSk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChrZXkpIHtcbiAgQXJyYXlQcm90b1tVTlNDT1BBQkxFU11ba2V5XSA9IHRydWU7XG59O1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5aFpHUXRkRzh0ZFc1elkyOXdZV0pzWlhNdWFuTXVhbk1pTENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OHZMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5aFpHUXRkRzh0ZFc1elkyOXdZV0pzWlhNdWFuTS9PV00yWXlKZExDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZMeUF5TWk0eExqTXVNekVnUVhKeVlYa3VjSEp2ZEc5MGVYQmxXMEJBZFc1elkyOXdZV0pzWlhOZFhHNTJZWElnVlU1VFEwOVFRVUpNUlZNZ1BTQnlaWEYxYVhKbEtDY3VMMTkzYTNNbktTZ25kVzV6WTI5d1lXSnNaWE1uS1R0Y2JuWmhjaUJCY25KaGVWQnliM1J2SUQwZ1FYSnlZWGt1Y0hKdmRHOTBlWEJsTzF4dWFXWWdLRUZ5Y21GNVVISnZkRzliVlU1VFEwOVFRVUpNUlZOZElEMDlJSFZ1WkdWbWFXNWxaQ2tnY21WeGRXbHlaU2duTGk5ZmFHbGtaU2NwS0VGeWNtRjVVSEp2ZEc4c0lGVk9VME5QVUVGQ1RFVlRMQ0I3ZlNrN1hHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlHWjFibU4wYVc5dUlDaHJaWGtwSUh0Y2JpQWdRWEp5WVhsUWNtOTBiMXRWVGxORFQxQkJRa3hGVTExYmEyVjVYU0E5SUhSeWRXVTdYRzU5TzF4dUlsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHNpTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hZGQtdG8tdW5zY29wYWJsZXMuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FkdmFuY2Utc3RyaW5nLWluZGV4LmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FkdmFuY2Utc3RyaW5nLWluZGV4LmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18peyJ1c2Ugc3RyaWN0IjtldmFsKCJcbnZhciBhdCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3N0cmluZy1hdCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc3RyaW5nLWF0LmpzXCIpKHRydWUpO1xuXG4gLy8gYEFkdmFuY2VTdHJpbmdJbmRleGAgYWJzdHJhY3Qgb3BlcmF0aW9uXG4vLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1hZHZhbmNlc3RyaW5naW5kZXhcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKFMsIGluZGV4LCB1bmljb2RlKSB7XG4gIHJldHVybiBpbmRleCArICh1bmljb2RlID8gYXQoUywgaW5kZXgpLmxlbmd0aCA6IDEpO1xufTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOWhaSFpoYm1ObExYTjBjbWx1WnkxcGJtUmxlQzVxY3k1cWN5SXNJbk52ZFhKalpYTWlPbHNpZDJWaWNHRmphem92THk4dUwyNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZYMkZrZG1GdVkyVXRjM1J5YVc1bkxXbHVaR1Y0TG1welB6QXpPVEFpWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUozVnpaU0J6ZEhKcFkzUW5PMXh1ZG1GeUlHRjBJRDBnY21WeGRXbHlaU2duTGk5ZmMzUnlhVzVuTFdGMEp5a29kSEoxWlNrN1hHNWNiaUF2THlCZ1FXUjJZVzVqWlZOMGNtbHVaMGx1WkdWNFlDQmhZbk4wY21GamRDQnZjR1Z5WVhScGIyNWNiaTh2SUdoMGRIQnpPaTh2ZEdNek9TNW5hWFJvZFdJdWFXOHZaV050WVRJMk1pOGpjMlZqTFdGa2RtRnVZMlZ6ZEhKcGJtZHBibVJsZUZ4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbWRXNWpkR2x2YmlBb1V5d2dhVzVrWlhnc0lIVnVhV052WkdVcElIdGNiaUFnY21WMGRYSnVJR2x1WkdWNElDc2dLSFZ1YVdOdlpHVWdQeUJoZENoVExDQnBibVJsZUNrdWJHVnVaM1JvSURvZ01TazdYRzU5TzF4dUlsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk95SXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FkdmFuY2Utc3RyaW5nLWluZGV4LmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hbi1vYmplY3QuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FuLW9iamVjdC5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7ZXZhbCgidmFyIGlzT2JqZWN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9faXMtb2JqZWN0ICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pcy1vYmplY3QuanNcIik7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICBpZiAoIWlzT2JqZWN0KGl0KSkgdGhyb3cgVHlwZUVycm9yKGl0ICsgJyBpcyBub3QgYW4gb2JqZWN0IScpO1xuICByZXR1cm4gaXQ7XG59O1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5aGJpMXZZbXBsWTNRdWFuTXVhbk1pTENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OHZMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5aGJpMXZZbXBsWTNRdWFuTS9ZMkkzWXlKZExDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SjJZWElnYVhOUFltcGxZM1FnUFNCeVpYRjFhWEpsS0NjdUwxOXBjeTF2WW1wbFkzUW5LVHRjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnWm5WdVkzUnBiMjRnS0dsMEtTQjdYRzRnSUdsbUlDZ2hhWE5QWW1wbFkzUW9hWFFwS1NCMGFISnZkeUJVZVhCbFJYSnliM0lvYVhRZ0t5QW5JR2x6SUc1dmRDQmhiaUJ2WW1wbFkzUWhKeWs3WEc0Z0lISmxkSFZ5YmlCcGREdGNibjA3WEc0aVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdJaXdpYzI5MWNtTmxVbTl2ZENJNklpSjlcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FuLW9iamVjdC5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYXJyYXktaW5jbHVkZXMuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYXJyYXktaW5jbHVkZXMuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7ZXZhbCgiLy8gZmFsc2UgLT4gQXJyYXkjaW5kZXhPZlxuLy8gdHJ1ZSAgLT4gQXJyYXkjaW5jbHVkZXNcbnZhciB0b0lPYmplY3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL190by1pb2JqZWN0ICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1pb2JqZWN0LmpzXCIpO1xudmFyIHRvTGVuZ3RoID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fdG8tbGVuZ3RoICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1sZW5ndGguanNcIik7XG52YXIgdG9BYnNvbHV0ZUluZGV4ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fdG8tYWJzb2x1dGUtaW5kZXggKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3RvLWFic29sdXRlLWluZGV4LmpzXCIpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoSVNfSU5DTFVERVMpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uICgkdGhpcywgZWwsIGZyb21JbmRleCkge1xuICAgIHZhciBPID0gdG9JT2JqZWN0KCR0aGlzKTtcbiAgICB2YXIgbGVuZ3RoID0gdG9MZW5ndGgoTy5sZW5ndGgpO1xuICAgIHZhciBpbmRleCA9IHRvQWJzb2x1dGVJbmRleChmcm9tSW5kZXgsIGxlbmd0aCk7XG4gICAgdmFyIHZhbHVlO1xuICAgIC8vIEFycmF5I2luY2x1ZGVzIHVzZXMgU2FtZVZhbHVlWmVybyBlcXVhbGl0eSBhbGdvcml0aG1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tc2VsZi1jb21wYXJlXG4gICAgaWYgKElTX0lOQ0xVREVTICYmIGVsICE9IGVsKSB3aGlsZSAobGVuZ3RoID4gaW5kZXgpIHtcbiAgICAgIHZhbHVlID0gT1tpbmRleCsrXTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWNvbXBhcmVcbiAgICAgIGlmICh2YWx1ZSAhPSB2YWx1ZSkgcmV0dXJuIHRydWU7XG4gICAgLy8gQXJyYXkjaW5kZXhPZiBpZ25vcmVzIGhvbGVzLCBBcnJheSNpbmNsdWRlcyAtIG5vdFxuICAgIH0gZWxzZSBmb3IgKDtsZW5ndGggPiBpbmRleDsgaW5kZXgrKykgaWYgKElTX0lOQ0xVREVTIHx8IGluZGV4IGluIE8pIHtcbiAgICAgIGlmIChPW2luZGV4XSA9PT0gZWwpIHJldHVybiBJU19JTkNMVURFUyB8fCBpbmRleCB8fCAwO1xuICAgIH0gcmV0dXJuICFJU19JTkNMVURFUyAmJiAtMTtcbiAgfTtcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTloY25KaGVTMXBibU5zZFdSbGN5NXFjeTVxY3lJc0luTnZkWEpqWlhNaU9sc2lkMlZpY0dGamF6b3ZMeTh1TDI1dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlgyRnljbUY1TFdsdVkyeDFaR1Z6TG1welAyTXpOallpWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUx5OGdabUZzYzJVZ0xUNGdRWEp5WVhramFXNWtaWGhQWmx4dUx5OGdkSEoxWlNBZ0xUNGdRWEp5WVhramFXNWpiSFZrWlhOY2JuWmhjaUIwYjBsUFltcGxZM1FnUFNCeVpYRjFhWEpsS0NjdUwxOTBieTFwYjJKcVpXTjBKeWs3WEc1MllYSWdkRzlNWlc1bmRHZ2dQU0J5WlhGMWFYSmxLQ2N1TDE5MGJ5MXNaVzVuZEdnbktUdGNiblpoY2lCMGIwRmljMjlzZFhSbFNXNWtaWGdnUFNCeVpYRjFhWEpsS0NjdUwxOTBieTFoWW5OdmJIVjBaUzFwYm1SbGVDY3BPMXh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JtZFc1amRHbHZiaUFvU1ZOZlNVNURURlZFUlZNcElIdGNiaUFnY21WMGRYSnVJR1oxYm1OMGFXOXVJQ2drZEdocGN5d2daV3dzSUdaeWIyMUpibVJsZUNrZ2UxeHVJQ0FnSUhaaGNpQlBJRDBnZEc5SlQySnFaV04wS0NSMGFHbHpLVHRjYmlBZ0lDQjJZWElnYkdWdVozUm9JRDBnZEc5TVpXNW5kR2dvVHk1c1pXNW5kR2dwTzF4dUlDQWdJSFpoY2lCcGJtUmxlQ0E5SUhSdlFXSnpiMngxZEdWSmJtUmxlQ2htY205dFNXNWtaWGdzSUd4bGJtZDBhQ2s3WEc0Z0lDQWdkbUZ5SUhaaGJIVmxPMXh1SUNBZ0lDOHZJRUZ5Y21GNUkybHVZMngxWkdWeklIVnpaWE1nVTJGdFpWWmhiSFZsV21WeWJ5QmxjWFZoYkdsMGVTQmhiR2R2Y21sMGFHMWNiaUFnSUNBdkx5QmxjMnhwYm5RdFpHbHpZV0pzWlMxdVpYaDBMV3hwYm1VZ2JtOHRjMlZzWmkxamIyMXdZWEpsWEc0Z0lDQWdhV1lnS0VsVFgwbE9RMHhWUkVWVElDWW1JR1ZzSUNFOUlHVnNLU0IzYUdsc1pTQW9iR1Z1WjNSb0lENGdhVzVrWlhncElIdGNiaUFnSUNBZ0lIWmhiSFZsSUQwZ1QxdHBibVJsZUNzclhUdGNiaUFnSUNBZ0lDOHZJR1Z6YkdsdWRDMWthWE5oWW14bExXNWxlSFF0YkdsdVpTQnVieTF6Wld4bUxXTnZiWEJoY21WY2JpQWdJQ0FnSUdsbUlDaDJZV3gxWlNBaFBTQjJZV3gxWlNrZ2NtVjBkWEp1SUhSeWRXVTdYRzRnSUNBZ0x5OGdRWEp5WVhramFXNWtaWGhQWmlCcFoyNXZjbVZ6SUdodmJHVnpMQ0JCY25KaGVTTnBibU5zZFdSbGN5QXRJRzV2ZEZ4dUlDQWdJSDBnWld4elpTQm1iM0lnS0R0c1pXNW5kR2dnUGlCcGJtUmxlRHNnYVc1a1pYZ3JLeWtnYVdZZ0tFbFRYMGxPUTB4VlJFVlRJSHg4SUdsdVpHVjRJR2x1SUU4cElIdGNiaUFnSUNBZ0lHbG1JQ2hQVzJsdVpHVjRYU0E5UFQwZ1pXd3BJSEpsZEhWeWJpQkpVMTlKVGtOTVZVUkZVeUI4ZkNCcGJtUmxlQ0I4ZkNBd08xeHVJQ0FnSUgwZ2NtVjBkWEp1SUNGSlUxOUpUa05NVlVSRlV5QW1KaUF0TVR0Y2JpQWdmVHRjYm4wN1hHNGlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3SWl3aWMyOTFjbU5sVW05dmRDSTZJaUo5XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hcnJheS1pbmNsdWRlcy5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYXJyYXktbWV0aG9kcy5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FycmF5LW1ldGhvZHMuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXtldmFsKCIvLyAwIC0+IEFycmF5I2ZvckVhY2hcbi8vIDEgLT4gQXJyYXkjbWFwXG4vLyAyIC0+IEFycmF5I2ZpbHRlclxuLy8gMyAtPiBBcnJheSNzb21lXG4vLyA0IC0+IEFycmF5I2V2ZXJ5XG4vLyA1IC0+IEFycmF5I2ZpbmRcbi8vIDYgLT4gQXJyYXkjZmluZEluZGV4XG52YXIgY3R4ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fY3R4ICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19jdHguanNcIik7XG52YXIgSU9iamVjdCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2lvYmplY3QgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2lvYmplY3QuanNcIik7XG52YXIgdG9PYmplY3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL190by1vYmplY3QgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3RvLW9iamVjdC5qc1wiKTtcbnZhciB0b0xlbmd0aCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3RvLWxlbmd0aCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8tbGVuZ3RoLmpzXCIpO1xudmFyIGFzYyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2FycmF5LXNwZWNpZXMtY3JlYXRlICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hcnJheS1zcGVjaWVzLWNyZWF0ZS5qc1wiKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKFRZUEUsICRjcmVhdGUpIHtcbiAgdmFyIElTX01BUCA9IFRZUEUgPT0gMTtcbiAgdmFyIElTX0ZJTFRFUiA9IFRZUEUgPT0gMjtcbiAgdmFyIElTX1NPTUUgPSBUWVBFID09IDM7XG4gIHZhciBJU19FVkVSWSA9IFRZUEUgPT0gNDtcbiAgdmFyIElTX0ZJTkRfSU5ERVggPSBUWVBFID09IDY7XG4gIHZhciBOT19IT0xFUyA9IFRZUEUgPT0gNSB8fCBJU19GSU5EX0lOREVYO1xuICB2YXIgY3JlYXRlID0gJGNyZWF0ZSB8fCBhc2M7XG4gIHJldHVybiBmdW5jdGlvbiAoJHRoaXMsIGNhbGxiYWNrZm4sIHRoYXQpIHtcbiAgICB2YXIgTyA9IHRvT2JqZWN0KCR0aGlzKTtcbiAgICB2YXIgc2VsZiA9IElPYmplY3QoTyk7XG4gICAgdmFyIGYgPSBjdHgoY2FsbGJhY2tmbiwgdGhhdCwgMyk7XG4gICAgdmFyIGxlbmd0aCA9IHRvTGVuZ3RoKHNlbGYubGVuZ3RoKTtcbiAgICB2YXIgaW5kZXggPSAwO1xuICAgIHZhciByZXN1bHQgPSBJU19NQVAgPyBjcmVhdGUoJHRoaXMsIGxlbmd0aCkgOiBJU19GSUxURVIgPyBjcmVhdGUoJHRoaXMsIDApIDogdW5kZWZpbmVkO1xuICAgIHZhciB2YWwsIHJlcztcbiAgICBmb3IgKDtsZW5ndGggPiBpbmRleDsgaW5kZXgrKykgaWYgKE5PX0hPTEVTIHx8IGluZGV4IGluIHNlbGYpIHtcbiAgICAgIHZhbCA9IHNlbGZbaW5kZXhdO1xuICAgICAgcmVzID0gZih2YWwsIGluZGV4LCBPKTtcbiAgICAgIGlmIChUWVBFKSB7XG4gICAgICAgIGlmIChJU19NQVApIHJlc3VsdFtpbmRleF0gPSByZXM7ICAgLy8gbWFwXG4gICAgICAgIGVsc2UgaWYgKHJlcykgc3dpdGNoIChUWVBFKSB7XG4gICAgICAgICAgY2FzZSAzOiByZXR1cm4gdHJ1ZTsgICAgICAgICAgICAgLy8gc29tZVxuICAgICAgICAgIGNhc2UgNTogcmV0dXJuIHZhbDsgICAgICAgICAgICAgIC8vIGZpbmRcbiAgICAgICAgICBjYXNlIDY6IHJldHVybiBpbmRleDsgICAgICAgICAgICAvLyBmaW5kSW5kZXhcbiAgICAgICAgICBjYXNlIDI6IHJlc3VsdC5wdXNoKHZhbCk7ICAgICAgICAvLyBmaWx0ZXJcbiAgICAgICAgfSBlbHNlIGlmIChJU19FVkVSWSkgcmV0dXJuIGZhbHNlOyAvLyBldmVyeVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gSVNfRklORF9JTkRFWCA/IC0xIDogSVNfU09NRSB8fCBJU19FVkVSWSA/IElTX0VWRVJZIDogcmVzdWx0O1xuICB9O1xufTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOWhjbkpoZVMxdFpYUm9iMlJ6TG1wekxtcHpJaXdpYzI5MWNtTmxjeUk2V3lKM1pXSndZV05yT2k4dkx5NHZibTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlmWVhKeVlYa3RiV1YwYUc5a2N5NXFjejh3WVRRNUlsMHNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaTh2SURBZ0xUNGdRWEp5WVhralptOXlSV0ZqYUZ4dUx5OGdNU0F0UGlCQmNuSmhlU050WVhCY2JpOHZJRElnTFQ0Z1FYSnlZWGtqWm1sc2RHVnlYRzR2THlBeklDMCtJRUZ5Y21GNUkzTnZiV1ZjYmk4dklEUWdMVDRnUVhKeVlYa2paWFpsY25sY2JpOHZJRFVnTFQ0Z1FYSnlZWGtqWm1sdVpGeHVMeThnTmlBdFBpQkJjbkpoZVNObWFXNWtTVzVrWlhoY2JuWmhjaUJqZEhnZ1BTQnlaWEYxYVhKbEtDY3VMMTlqZEhnbktUdGNiblpoY2lCSlQySnFaV04wSUQwZ2NtVnhkV2x5WlNnbkxpOWZhVzlpYW1WamRDY3BPMXh1ZG1GeUlIUnZUMkpxWldOMElEMGdjbVZ4ZFdseVpTZ25MaTlmZEc4dGIySnFaV04wSnlrN1hHNTJZWElnZEc5TVpXNW5kR2dnUFNCeVpYRjFhWEpsS0NjdUwxOTBieTFzWlc1bmRHZ25LVHRjYm5aaGNpQmhjMk1nUFNCeVpYRjFhWEpsS0NjdUwxOWhjbkpoZVMxemNHVmphV1Z6TFdOeVpXRjBaU2NwTzF4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbWRXNWpkR2x2YmlBb1ZGbFFSU3dnSkdOeVpXRjBaU2tnZTF4dUlDQjJZWElnU1ZOZlRVRlFJRDBnVkZsUVJTQTlQU0F4TzF4dUlDQjJZWElnU1ZOZlJrbE1WRVZTSUQwZ1ZGbFFSU0E5UFNBeU8xeHVJQ0IyWVhJZ1NWTmZVMDlOUlNBOUlGUlpVRVVnUFQwZ016dGNiaUFnZG1GeUlFbFRYMFZXUlZKWklEMGdWRmxRUlNBOVBTQTBPMXh1SUNCMllYSWdTVk5mUmtsT1JGOUpUa1JGV0NBOUlGUlpVRVVnUFQwZ05qdGNiaUFnZG1GeUlFNVBYMGhQVEVWVElEMGdWRmxRUlNBOVBTQTFJSHg4SUVsVFgwWkpUa1JmU1U1RVJWZzdYRzRnSUhaaGNpQmpjbVZoZEdVZ1BTQWtZM0psWVhSbElIeDhJR0Z6WXp0Y2JpQWdjbVYwZFhKdUlHWjFibU4wYVc5dUlDZ2tkR2hwY3l3Z1kyRnNiR0poWTJ0bWJpd2dkR2hoZENrZ2UxeHVJQ0FnSUhaaGNpQlBJRDBnZEc5UFltcGxZM1FvSkhSb2FYTXBPMXh1SUNBZ0lIWmhjaUJ6Wld4bUlEMGdTVTlpYW1WamRDaFBLVHRjYmlBZ0lDQjJZWElnWmlBOUlHTjBlQ2hqWVd4c1ltRmphMlp1TENCMGFHRjBMQ0F6S1R0Y2JpQWdJQ0IyWVhJZ2JHVnVaM1JvSUQwZ2RHOU1aVzVuZEdnb2MyVnNaaTVzWlc1bmRHZ3BPMXh1SUNBZ0lIWmhjaUJwYm1SbGVDQTlJREE3WEc0Z0lDQWdkbUZ5SUhKbGMzVnNkQ0E5SUVsVFgwMUJVQ0EvSUdOeVpXRjBaU2drZEdocGN5d2diR1Z1WjNSb0tTQTZJRWxUWDBaSlRGUkZVaUEvSUdOeVpXRjBaU2drZEdocGN5d2dNQ2tnT2lCMWJtUmxabWx1WldRN1hHNGdJQ0FnZG1GeUlIWmhiQ3dnY21Wek8xeHVJQ0FnSUdadmNpQW9PMnhsYm1kMGFDQStJR2x1WkdWNE95QnBibVJsZUNzcktTQnBaaUFvVGs5ZlNFOU1SVk1nZkh3Z2FXNWtaWGdnYVc0Z2MyVnNaaWtnZTF4dUlDQWdJQ0FnZG1Gc0lEMGdjMlZzWmx0cGJtUmxlRjA3WEc0Z0lDQWdJQ0J5WlhNZ1BTQm1LSFpoYkN3Z2FXNWtaWGdzSUU4cE8xeHVJQ0FnSUNBZ2FXWWdLRlJaVUVVcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0VsVFgwMUJVQ2tnY21WemRXeDBXMmx1WkdWNFhTQTlJSEpsY3pzZ0lDQXZMeUJ0WVhCY2JpQWdJQ0FnSUNBZ1pXeHpaU0JwWmlBb2NtVnpLU0J6ZDJsMFkyZ2dLRlJaVUVVcElIdGNiaUFnSUNBZ0lDQWdJQ0JqWVhObElETTZJSEpsZEhWeWJpQjBjblZsT3lBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJ6YjIxbFhHNGdJQ0FnSUNBZ0lDQWdZMkZ6WlNBMU9pQnlaWFIxY200Z2RtRnNPeUFnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdabWx1WkZ4dUlDQWdJQ0FnSUNBZ0lHTmhjMlVnTmpvZ2NtVjBkWEp1SUdsdVpHVjRPeUFnSUNBZ0lDQWdJQ0FnSUM4dklHWnBibVJKYm1SbGVGeHVJQ0FnSUNBZ0lDQWdJR05oYzJVZ01qb2djbVZ6ZFd4MExuQjFjMmdvZG1Gc0tUc2dJQ0FnSUNBZ0lDOHZJR1pwYkhSbGNseHVJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLRWxUWDBWV1JWSlpLU0J5WlhSMWNtNGdabUZzYzJVN0lDOHZJR1YyWlhKNVhHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQkpVMTlHU1U1RVgwbE9SRVZZSUQ4Z0xURWdPaUJKVTE5VFQwMUZJSHg4SUVsVFgwVldSVkpaSUQ4Z1NWTmZSVlpGVWxrZ09pQnlaWE4xYkhRN1hHNGdJSDA3WEc1OU8xeHVJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hcnJheS1tZXRob2RzLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hcnJheS1zcGVjaWVzLWNvbnN0cnVjdG9yLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYXJyYXktc3BlY2llcy1jb25zdHJ1Y3Rvci5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18pe2V2YWwoInZhciBpc09iamVjdCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2lzLW9iamVjdCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXMtb2JqZWN0LmpzXCIpO1xudmFyIGlzQXJyYXkgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19pcy1hcnJheSAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXMtYXJyYXkuanNcIik7XG52YXIgU1BFQ0lFUyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3drcyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fd2tzLmpzXCIpKCdzcGVjaWVzJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKG9yaWdpbmFsKSB7XG4gIHZhciBDO1xuICBpZiAoaXNBcnJheShvcmlnaW5hbCkpIHtcbiAgICBDID0gb3JpZ2luYWwuY29uc3RydWN0b3I7XG4gICAgLy8gY3Jvc3MtcmVhbG0gZmFsbGJhY2tcbiAgICBpZiAodHlwZW9mIEMgPT0gJ2Z1bmN0aW9uJyAmJiAoQyA9PT0gQXJyYXkgfHwgaXNBcnJheShDLnByb3RvdHlwZSkpKSBDID0gdW5kZWZpbmVkO1xuICAgIGlmIChpc09iamVjdChDKSkge1xuICAgICAgQyA9IENbU1BFQ0lFU107XG4gICAgICBpZiAoQyA9PT0gbnVsbCkgQyA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH0gcmV0dXJuIEMgPT09IHVuZGVmaW5lZCA/IEFycmF5IDogQztcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTloY25KaGVTMXpjR1ZqYVdWekxXTnZibk4wY25WamRHOXlMbXB6TG1weklpd2ljMjkxY21ObGN5STZXeUozWldKd1lXTnJPaTh2THk0dmJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWZZWEp5WVhrdGMzQmxZMmxsY3kxamIyNXpkSEoxWTNSdmNpNXFjejlsT0RVeklsMHNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJblpoY2lCcGMwOWlhbVZqZENBOUlISmxjWFZwY21Vb0p5NHZYMmx6TFc5aWFtVmpkQ2NwTzF4dWRtRnlJR2x6UVhKeVlYa2dQU0J5WlhGMWFYSmxLQ2N1TDE5cGN5MWhjbkpoZVNjcE8xeHVkbUZ5SUZOUVJVTkpSVk1nUFNCeVpYRjFhWEpsS0NjdUwxOTNhM01uS1NnbmMzQmxZMmxsY3ljcE8xeHVYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR1oxYm1OMGFXOXVJQ2h2Y21sbmFXNWhiQ2tnZTF4dUlDQjJZWElnUXp0Y2JpQWdhV1lnS0dselFYSnlZWGtvYjNKcFoybHVZV3dwS1NCN1hHNGdJQ0FnUXlBOUlHOXlhV2RwYm1Gc0xtTnZibk4wY25WamRHOXlPMXh1SUNBZ0lDOHZJR055YjNOekxYSmxZV3h0SUdaaGJHeGlZV05yWEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJESUQwOUlDZG1kVzVqZEdsdmJpY2dKaVlnS0VNZ1BUMDlJRUZ5Y21GNUlIeDhJR2x6UVhKeVlYa29ReTV3Y205MGIzUjVjR1VwS1NrZ1F5QTlJSFZ1WkdWbWFXNWxaRHRjYmlBZ0lDQnBaaUFvYVhOUFltcGxZM1FvUXlrcElIdGNiaUFnSUNBZ0lFTWdQU0JEVzFOUVJVTkpSVk5kTzF4dUlDQWdJQ0FnYVdZZ0tFTWdQVDA5SUc1MWJHd3BJRU1nUFNCMWJtUmxabWx1WldRN1hHNGdJQ0FnZlZ4dUlDQjlJSEpsZEhWeWJpQkRJRDA5UFNCMWJtUmxabWx1WldRZ1B5QkJjbkpoZVNBNklFTTdYRzU5TzF4dUlsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHNpTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hcnJheS1zcGVjaWVzLWNvbnN0cnVjdG9yLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hcnJheS1zcGVjaWVzLWNyZWF0ZS5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hcnJheS1zcGVjaWVzLWNyZWF0ZS5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXtldmFsKCIvLyA5LjQuMi4zIEFycmF5U3BlY2llc0NyZWF0ZShvcmlnaW5hbEFycmF5LCBsZW5ndGgpXG52YXIgc3BlY2llc0NvbnN0cnVjdG9yID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fYXJyYXktc3BlY2llcy1jb25zdHJ1Y3RvciAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYXJyYXktc3BlY2llcy1jb25zdHJ1Y3Rvci5qc1wiKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAob3JpZ2luYWwsIGxlbmd0aCkge1xuICByZXR1cm4gbmV3IChzcGVjaWVzQ29uc3RydWN0b3Iob3JpZ2luYWwpKShsZW5ndGgpO1xufTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOWhjbkpoZVMxemNHVmphV1Z6TFdOeVpXRjBaUzVxY3k1cWN5SXNJbk52ZFhKalpYTWlPbHNpZDJWaWNHRmphem92THk4dUwyNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZYMkZ5Y21GNUxYTndaV05wWlhNdFkzSmxZWFJsTG1welAyTmtNV01pWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUx5OGdPUzQwTGpJdU15QkJjbkpoZVZOd1pXTnBaWE5EY21WaGRHVW9iM0pwWjJsdVlXeEJjbkpoZVN3Z2JHVnVaM1JvS1Z4dWRtRnlJSE53WldOcFpYTkRiMjV6ZEhKMVkzUnZjaUE5SUhKbGNYVnBjbVVvSnk0dlgyRnljbUY1TFhOd1pXTnBaWE10WTI5dWMzUnlkV04wYjNJbktUdGNibHh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JtZFc1amRHbHZiaUFvYjNKcFoybHVZV3dzSUd4bGJtZDBhQ2tnZTF4dUlDQnlaWFIxY200Z2JtVjNJQ2h6Y0dWamFXVnpRMjl1YzNSeWRXTjBiM0lvYjNKcFoybHVZV3dwS1Noc1pXNW5kR2dwTzF4dWZUdGNiaUpkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hcnJheS1zcGVjaWVzLWNyZWF0ZS5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fY2xhc3NvZi5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2NsYXNzb2YuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXtldmFsKCIvLyBnZXR0aW5nIHRhZyBmcm9tIDE5LjEuMy42IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcoKVxudmFyIGNvZiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2NvZiAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fY29mLmpzXCIpO1xudmFyIFRBRyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3drcyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fd2tzLmpzXCIpKCd0b1N0cmluZ1RhZycpO1xuLy8gRVMzIHdyb25nIGhlcmVcbnZhciBBUkcgPSBjb2YoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KCkpID09ICdBcmd1bWVudHMnO1xuXG4vLyBmYWxsYmFjayBmb3IgSUUxMSBTY3JpcHQgQWNjZXNzIERlbmllZCBlcnJvclxudmFyIHRyeUdldCA9IGZ1bmN0aW9uIChpdCwga2V5KSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGl0W2tleV07XG4gIH0gY2F0Y2ggKGUpIHsgLyogZW1wdHkgKi8gfVxufTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgdmFyIE8sIFQsIEI7XG4gIHJldHVybiBpdCA9PT0gdW5kZWZpbmVkID8gJ1VuZGVmaW5lZCcgOiBpdCA9PT0gbnVsbCA/ICdOdWxsJ1xuICAgIC8vIEBAdG9TdHJpbmdUYWcgY2FzZVxuICAgIDogdHlwZW9mIChUID0gdHJ5R2V0KE8gPSBPYmplY3QoaXQpLCBUQUcpKSA9PSAnc3RyaW5nJyA/IFRcbiAgICAvLyBidWlsdGluVGFnIGNhc2VcbiAgICA6IEFSRyA/IGNvZihPKVxuICAgIC8vIEVTMyBhcmd1bWVudHMgZmFsbGJhY2tcbiAgICA6IChCID0gY29mKE8pKSA9PSAnT2JqZWN0JyAmJiB0eXBlb2YgTy5jYWxsZWUgPT0gJ2Z1bmN0aW9uJyA/ICdBcmd1bWVudHMnIDogQjtcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTlqYkdGemMyOW1MbXB6TG1weklpd2ljMjkxY21ObGN5STZXeUozWldKd1lXTnJPaTh2THk0dmJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWZZMnhoYzNOdlppNXFjejh5TTJNMklsMHNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaTh2SUdkbGRIUnBibWNnZEdGbklHWnliMjBnTVRrdU1TNHpMallnVDJKcVpXTjBMbkJ5YjNSdmRIbHdaUzUwYjFOMGNtbHVaeWdwWEc1MllYSWdZMjltSUQwZ2NtVnhkV2x5WlNnbkxpOWZZMjltSnlrN1hHNTJZWElnVkVGSElEMGdjbVZ4ZFdseVpTZ25MaTlmZDJ0ekp5a29KM1J2VTNSeWFXNW5WR0ZuSnlrN1hHNHZMeUJGVXpNZ2QzSnZibWNnYUdWeVpWeHVkbUZ5SUVGU1J5QTlJR052WmlobWRXNWpkR2x2YmlBb0tTQjdJSEpsZEhWeWJpQmhjbWQxYldWdWRITTdJSDBvS1NrZ1BUMGdKMEZ5WjNWdFpXNTBjeWM3WEc1Y2JpOHZJR1poYkd4aVlXTnJJR1p2Y2lCSlJURXhJRk5qY21sd2RDQkJZMk5sYzNNZ1JHVnVhV1ZrSUdWeWNtOXlYRzUyWVhJZ2RISjVSMlYwSUQwZ1puVnVZM1JwYjI0Z0tHbDBMQ0JyWlhrcElIdGNiaUFnZEhKNUlIdGNiaUFnSUNCeVpYUjFjbTRnYVhSYmEyVjVYVHRjYmlBZ2ZTQmpZWFJqYUNBb1pTa2dleUF2S2lCbGJYQjBlU0FxTHlCOVhHNTlPMXh1WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUdaMWJtTjBhVzl1SUNocGRDa2dlMXh1SUNCMllYSWdUeXdnVkN3Z1FqdGNiaUFnY21WMGRYSnVJR2wwSUQwOVBTQjFibVJsWm1sdVpXUWdQeUFuVlc1a1pXWnBibVZrSnlBNklHbDBJRDA5UFNCdWRXeHNJRDhnSjA1MWJHd25YRzRnSUNBZ0x5OGdRRUIwYjFOMGNtbHVaMVJoWnlCallYTmxYRzRnSUNBZ09pQjBlWEJsYjJZZ0tGUWdQU0IwY25sSFpYUW9UeUE5SUU5aWFtVmpkQ2hwZENrc0lGUkJSeWtwSUQwOUlDZHpkSEpwYm1jbklEOGdWRnh1SUNBZ0lDOHZJR0oxYVd4MGFXNVVZV2NnWTJGelpWeHVJQ0FnSURvZ1FWSkhJRDhnWTI5bUtFOHBYRzRnSUNBZ0x5OGdSVk16SUdGeVozVnRaVzUwY3lCbVlXeHNZbUZqYTF4dUlDQWdJRG9nS0VJZ1BTQmpiMllvVHlrcElEMDlJQ2RQWW1wbFkzUW5JQ1ltSUhSNWNHVnZaaUJQTG1OaGJHeGxaU0E5UFNBblpuVnVZM1JwYjI0bklEOGdKMEZ5WjNWdFpXNTBjeWNnT2lCQ08xeHVmVHRjYmlKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUc2lMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2NsYXNzb2YuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2NvZi5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fY29mLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7ZXZhbCgidmFyIHRvU3RyaW5nID0ge30udG9TdHJpbmc7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiB0b1N0cmluZy5jYWxsKGl0KS5zbGljZSg4LCAtMSk7XG59O1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5amIyWXVhbk11YW5NaUxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTh2TGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOWpiMll1YW5NL01tUTVOU0pkTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKMllYSWdkRzlUZEhKcGJtY2dQU0I3ZlM1MGIxTjBjbWx1Wnp0Y2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQm1kVzVqZEdsdmJpQW9hWFFwSUh0Y2JpQWdjbVYwZFhKdUlIUnZVM1J5YVc1bkxtTmhiR3dvYVhRcExuTnNhV05sS0Rnc0lDMHhLVHRjYm4wN1hHNGlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3SWl3aWMyOTFjbU5sVW05dmRDSTZJaUo5XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19jb2YuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2NvcmUuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19jb3JlLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpe2V2YWwoInZhciBjb3JlID0gbW9kdWxlLmV4cG9ydHMgPSB7IHZlcnNpb246ICcyLjYuMTEnIH07XG5pZiAodHlwZW9mIF9fZSA9PSAnbnVtYmVyJykgX19lID0gY29yZTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bmRlZlxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5amIzSmxMbXB6TG1weklpd2ljMjkxY21ObGN5STZXeUozWldKd1lXTnJPaTh2THk0dmJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWZZMjl5WlM1cWN6ODRNemM0SWwwc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkluWmhjaUJqYjNKbElEMGdiVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQjdJSFpsY25OcGIyNDZJQ2N5TGpZdU1URW5JSDA3WEc1cFppQW9kSGx3Wlc5bUlGOWZaU0E5UFNBbmJuVnRZbVZ5SnlrZ1gxOWxJRDBnWTI5eVpUc2dMeThnWlhOc2FXNTBMV1JwYzJGaWJHVXRiR2x1WlNCdWJ5MTFibVJsWmx4dUlsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVU5CT3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fY29yZS5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fY3R4LmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19jdHguanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18pe2V2YWwoIi8vIG9wdGlvbmFsIC8gc2ltcGxlIGNvbnRleHQgYmluZGluZ1xudmFyIGFGdW5jdGlvbiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2EtZnVuY3Rpb24gKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2EtZnVuY3Rpb24uanNcIik7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChmbiwgdGhhdCwgbGVuZ3RoKSB7XG4gIGFGdW5jdGlvbihmbik7XG4gIGlmICh0aGF0ID09PSB1bmRlZmluZWQpIHJldHVybiBmbjtcbiAgc3dpdGNoIChsZW5ndGgpIHtcbiAgICBjYXNlIDE6IHJldHVybiBmdW5jdGlvbiAoYSkge1xuICAgICAgcmV0dXJuIGZuLmNhbGwodGhhdCwgYSk7XG4gICAgfTtcbiAgICBjYXNlIDI6IHJldHVybiBmdW5jdGlvbiAoYSwgYikge1xuICAgICAgcmV0dXJuIGZuLmNhbGwodGhhdCwgYSwgYik7XG4gICAgfTtcbiAgICBjYXNlIDM6IHJldHVybiBmdW5jdGlvbiAoYSwgYiwgYykge1xuICAgICAgcmV0dXJuIGZuLmNhbGwodGhhdCwgYSwgYiwgYyk7XG4gICAgfTtcbiAgfVxuICByZXR1cm4gZnVuY3Rpb24gKC8qIC4uLmFyZ3MgKi8pIHtcbiAgICByZXR1cm4gZm4uYXBwbHkodGhhdCwgYXJndW1lbnRzKTtcbiAgfTtcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTlqZEhndWFuTXVhbk1pTENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OHZMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5amRIZ3Vhbk0vT1dJME15SmRMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2THlCdmNIUnBiMjVoYkNBdklITnBiWEJzWlNCamIyNTBaWGgwSUdKcGJtUnBibWRjYm5aaGNpQmhSblZ1WTNScGIyNGdQU0J5WlhGMWFYSmxLQ2N1TDE5aExXWjFibU4wYVc5dUp5azdYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR1oxYm1OMGFXOXVJQ2htYml3Z2RHaGhkQ3dnYkdWdVozUm9LU0I3WEc0Z0lHRkdkVzVqZEdsdmJpaG1iaWs3WEc0Z0lHbG1JQ2gwYUdGMElEMDlQU0IxYm1SbFptbHVaV1FwSUhKbGRIVnliaUJtYmp0Y2JpQWdjM2RwZEdOb0lDaHNaVzVuZEdncElIdGNiaUFnSUNCallYTmxJREU2SUhKbGRIVnliaUJtZFc1amRHbHZiaUFvWVNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdadUxtTmhiR3dvZEdoaGRDd2dZU2s3WEc0Z0lDQWdmVHRjYmlBZ0lDQmpZWE5sSURJNklISmxkSFZ5YmlCbWRXNWpkR2x2YmlBb1lTd2dZaWtnZTF4dUlDQWdJQ0FnY21WMGRYSnVJR1p1TG1OaGJHd29kR2hoZEN3Z1lTd2dZaWs3WEc0Z0lDQWdmVHRjYmlBZ0lDQmpZWE5sSURNNklISmxkSFZ5YmlCbWRXNWpkR2x2YmlBb1lTd2dZaXdnWXlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdadUxtTmhiR3dvZEdoaGRDd2dZU3dnWWl3Z1l5azdYRzRnSUNBZ2ZUdGNiaUFnZlZ4dUlDQnlaWFIxY200Z1puVnVZM1JwYjI0Z0tDOHFJQzR1TG1GeVozTWdLaThwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdabTR1WVhCd2JIa29kR2hoZEN3Z1lYSm5kVzFsYm5SektUdGNiaUFnZlR0Y2JuMDdYRzRpWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdJaXdpYzI5MWNtTmxVbTl2ZENJNklpSjlcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2N0eC5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZGVmaW5lZC5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2RlZmluZWQuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7ZXZhbCgiLy8gNy4yLjEgUmVxdWlyZU9iamVjdENvZXJjaWJsZShhcmd1bWVudClcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIGlmIChpdCA9PSB1bmRlZmluZWQpIHRocm93IFR5cGVFcnJvcihcIkNhbid0IGNhbGwgbWV0aG9kIG9uICBcIiArIGl0KTtcbiAgcmV0dXJuIGl0O1xufTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOWtaV1pwYm1Wa0xtcHpMbXB6SWl3aWMyOTFjbU5sY3lJNld5SjNaV0p3WVdOck9pOHZMeTR2Ym05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJXOWtkV3hsY3k5ZlpHVm1hVzVsWkM1cWN6OWlaVEV6SWwwc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHZJRGN1TWk0eElGSmxjWFZwY21WUFltcGxZM1JEYjJWeVkybGliR1VvWVhKbmRXMWxiblFwWEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUdaMWJtTjBhVzl1SUNocGRDa2dlMXh1SUNCcFppQW9hWFFnUFQwZ2RXNWtaV1pwYm1Wa0tTQjBhSEp2ZHlCVWVYQmxSWEp5YjNJb1hDSkRZVzRuZENCallXeHNJRzFsZEdodlpDQnZiaUFnWENJZ0t5QnBkQ2s3WEc0Z0lISmxkSFZ5YmlCcGREdGNibjA3WEc0aVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdJaXdpYzI5MWNtTmxVbTl2ZENJNklpSjlcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2RlZmluZWQuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2Rlc2NyaXB0b3JzLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2Rlc2NyaXB0b3JzLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18pe2V2YWwoIi8vIFRoYW5rJ3MgSUU4IGZvciBoaXMgZnVubnkgZGVmaW5lUHJvcGVydHlcbm1vZHVsZS5leHBvcnRzID0gIV9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2ZhaWxzICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19mYWlscy5qc1wiKShmdW5jdGlvbiAoKSB7XG4gIHJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoe30sICdhJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDc7IH0gfSkuYSAhPSA3O1xufSk7XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTlrWlhOamNtbHdkRzl5Y3k1cWN5NXFjeUlzSW5OdmRYSmpaWE1pT2xzaWQyVmljR0ZqYXpvdkx5OHVMMjV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WDJSbGMyTnlhWEIwYjNKekxtcHpQemxsTVdVaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lMeThnVkdoaGJtc25jeUJKUlRnZ1ptOXlJR2hwY3lCbWRXNXVlU0JrWldacGJtVlFjbTl3WlhKMGVWeHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQWhjbVZ4ZFdseVpTZ25MaTlmWm1GcGJITW5LU2htZFc1amRHbHZiaUFvS1NCN1hHNGdJSEpsZEhWeWJpQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvZTMwc0lDZGhKeXdnZXlCblpYUTZJR1oxYm1OMGFXOXVJQ2dwSUhzZ2NtVjBkWEp1SURjN0lIMGdmU2t1WVNBaFBTQTNPMXh1ZlNrN1hHNGlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRRVHRCUVVOQk95SXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2Rlc2NyaXB0b3JzLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19kb20tY3JlYXRlLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZG9tLWNyZWF0ZS5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18pe2V2YWwoInZhciBpc09iamVjdCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2lzLW9iamVjdCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXMtb2JqZWN0LmpzXCIpO1xudmFyIGRvY3VtZW50ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fZ2xvYmFsICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19nbG9iYWwuanNcIikuZG9jdW1lbnQ7XG4vLyB0eXBlb2YgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCBpcyAnb2JqZWN0JyBpbiBvbGQgSUVcbnZhciBpcyA9IGlzT2JqZWN0KGRvY3VtZW50KSAmJiBpc09iamVjdChkb2N1bWVudC5jcmVhdGVFbGVtZW50KTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBpcyA/IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoaXQpIDoge307XG59O1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5a2IyMHRZM0psWVhSbExtcHpMbXB6SWl3aWMyOTFjbU5sY3lJNld5SjNaV0p3WVdOck9pOHZMeTR2Ym05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJXOWtkV3hsY3k5ZlpHOXRMV055WldGMFpTNXFjejh5TXpCbElsMHNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJblpoY2lCcGMwOWlhbVZqZENBOUlISmxjWFZwY21Vb0p5NHZYMmx6TFc5aWFtVmpkQ2NwTzF4dWRtRnlJR1J2WTNWdFpXNTBJRDBnY21WeGRXbHlaU2duTGk5ZloyeHZZbUZzSnlrdVpHOWpkVzFsYm5RN1hHNHZMeUIwZVhCbGIyWWdaRzlqZFcxbGJuUXVZM0psWVhSbFJXeGxiV1Z1ZENCcGN5QW5iMkpxWldOMEp5QnBiaUJ2YkdRZ1NVVmNiblpoY2lCcGN5QTlJR2x6VDJKcVpXTjBLR1J2WTNWdFpXNTBLU0FtSmlCcGMwOWlhbVZqZENoa2IyTjFiV1Z1ZEM1amNtVmhkR1ZGYkdWdFpXNTBLVHRjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnWm5WdVkzUnBiMjRnS0dsMEtTQjdYRzRnSUhKbGRIVnliaUJwY3lBL0lHUnZZM1Z0Wlc1MExtTnlaV0YwWlVWc1pXMWxiblFvYVhRcElEb2dlMzA3WEc1OU8xeHVJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzaUxDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZG9tLWNyZWF0ZS5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZW51bS1idWcta2V5cy5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2VudW0tYnVnLWtleXMuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7ZXZhbCgiLy8gSUUgOC0gZG9uJ3QgZW51bSBidWcga2V5c1xubW9kdWxlLmV4cG9ydHMgPSAoXG4gICdjb25zdHJ1Y3RvcixoYXNPd25Qcm9wZXJ0eSxpc1Byb3RvdHlwZU9mLHByb3BlcnR5SXNFbnVtZXJhYmxlLHRvTG9jYWxlU3RyaW5nLHRvU3RyaW5nLHZhbHVlT2YnXG4pLnNwbGl0KCcsJyk7XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTlsYm5WdExXSjFaeTFyWlhsekxtcHpMbXB6SWl3aWMyOTFjbU5sY3lJNld5SjNaV0p3WVdOck9pOHZMeTR2Ym05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJXOWtkV3hsY3k5ZlpXNTFiUzFpZFdjdGEyVjVjeTVxY3o5bE1URmxJbDBzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4dklFbEZJRGd0SUdSdmJpZDBJR1Z1ZFcwZ1luVm5JR3RsZVhOY2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ0tGeHVJQ0FuWTI5dWMzUnlkV04wYjNJc2FHRnpUM2R1VUhKdmNHVnlkSGtzYVhOUWNtOTBiM1I1Y0dWUFppeHdjbTl3WlhKMGVVbHpSVzUxYldWeVlXSnNaU3gwYjB4dlkyRnNaVk4wY21sdVp5eDBiMU4wY21sdVp5eDJZV3gxWlU5bUoxeHVLUzV6Y0d4cGRDZ25MQ2NwTzF4dUlsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzaUxDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZW51bS1idWcta2V5cy5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZXhwb3J0LmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19leHBvcnQuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18pe2V2YWwoInZhciBnbG9iYWwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19nbG9iYWwgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2dsb2JhbC5qc1wiKTtcbnZhciBjb3JlID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fY29yZSAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fY29yZS5qc1wiKTtcbnZhciBoaWRlID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9faGlkZSAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faGlkZS5qc1wiKTtcbnZhciByZWRlZmluZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3JlZGVmaW5lICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19yZWRlZmluZS5qc1wiKTtcbnZhciBjdHggPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19jdHggKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2N0eC5qc1wiKTtcbnZhciBQUk9UT1RZUEUgPSAncHJvdG90eXBlJztcblxudmFyICRleHBvcnQgPSBmdW5jdGlvbiAodHlwZSwgbmFtZSwgc291cmNlKSB7XG4gIHZhciBJU19GT1JDRUQgPSB0eXBlICYgJGV4cG9ydC5GO1xuICB2YXIgSVNfR0xPQkFMID0gdHlwZSAmICRleHBvcnQuRztcbiAgdmFyIElTX1NUQVRJQyA9IHR5cGUgJiAkZXhwb3J0LlM7XG4gIHZhciBJU19QUk9UTyA9IHR5cGUgJiAkZXhwb3J0LlA7XG4gIHZhciBJU19CSU5EID0gdHlwZSAmICRleHBvcnQuQjtcbiAgdmFyIHRhcmdldCA9IElTX0dMT0JBTCA/IGdsb2JhbCA6IElTX1NUQVRJQyA/IGdsb2JhbFtuYW1lXSB8fCAoZ2xvYmFsW25hbWVdID0ge30pIDogKGdsb2JhbFtuYW1lXSB8fCB7fSlbUFJPVE9UWVBFXTtcbiAgdmFyIGV4cG9ydHMgPSBJU19HTE9CQUwgPyBjb3JlIDogY29yZVtuYW1lXSB8fCAoY29yZVtuYW1lXSA9IHt9KTtcbiAgdmFyIGV4cFByb3RvID0gZXhwb3J0c1tQUk9UT1RZUEVdIHx8IChleHBvcnRzW1BST1RPVFlQRV0gPSB7fSk7XG4gIHZhciBrZXksIG93biwgb3V0LCBleHA7XG4gIGlmIChJU19HTE9CQUwpIHNvdXJjZSA9IG5hbWU7XG4gIGZvciAoa2V5IGluIHNvdXJjZSkge1xuICAgIC8vIGNvbnRhaW5zIGluIG5hdGl2ZVxuICAgIG93biA9ICFJU19GT1JDRUQgJiYgdGFyZ2V0ICYmIHRhcmdldFtrZXldICE9PSB1bmRlZmluZWQ7XG4gICAgLy8gZXhwb3J0IG5hdGl2ZSBvciBwYXNzZWRcbiAgICBvdXQgPSAob3duID8gdGFyZ2V0IDogc291cmNlKVtrZXldO1xuICAgIC8vIGJpbmQgdGltZXJzIHRvIGdsb2JhbCBmb3IgY2FsbCBmcm9tIGV4cG9ydCBjb250ZXh0XG4gICAgZXhwID0gSVNfQklORCAmJiBvd24gPyBjdHgob3V0LCBnbG9iYWwpIDogSVNfUFJPVE8gJiYgdHlwZW9mIG91dCA9PSAnZnVuY3Rpb24nID8gY3R4KEZ1bmN0aW9uLmNhbGwsIG91dCkgOiBvdXQ7XG4gICAgLy8gZXh0ZW5kIGdsb2JhbFxuICAgIGlmICh0YXJnZXQpIHJlZGVmaW5lKHRhcmdldCwga2V5LCBvdXQsIHR5cGUgJiAkZXhwb3J0LlUpO1xuICAgIC8vIGV4cG9ydFxuICAgIGlmIChleHBvcnRzW2tleV0gIT0gb3V0KSBoaWRlKGV4cG9ydHMsIGtleSwgZXhwKTtcbiAgICBpZiAoSVNfUFJPVE8gJiYgZXhwUHJvdG9ba2V5XSAhPSBvdXQpIGV4cFByb3RvW2tleV0gPSBvdXQ7XG4gIH1cbn07XG5nbG9iYWwuY29yZSA9IGNvcmU7XG4vLyB0eXBlIGJpdG1hcFxuJGV4cG9ydC5GID0gMTsgICAvLyBmb3JjZWRcbiRleHBvcnQuRyA9IDI7ICAgLy8gZ2xvYmFsXG4kZXhwb3J0LlMgPSA0OyAgIC8vIHN0YXRpY1xuJGV4cG9ydC5QID0gODsgICAvLyBwcm90b1xuJGV4cG9ydC5CID0gMTY7ICAvLyBiaW5kXG4kZXhwb3J0LlcgPSAzMjsgIC8vIHdyYXBcbiRleHBvcnQuVSA9IDY0OyAgLy8gc2FmZVxuJGV4cG9ydC5SID0gMTI4OyAvLyByZWFsIHByb3RvIG1ldGhvZCBmb3IgYGxpYnJhcnlgXG5tb2R1bGUuZXhwb3J0cyA9ICRleHBvcnQ7XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTlsZUhCdmNuUXVhbk11YW5NaUxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTh2TGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOWxlSEJ2Y25RdWFuTS9OV05oTVNKZExDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SjJZWElnWjJ4dlltRnNJRDBnY21WeGRXbHlaU2duTGk5ZloyeHZZbUZzSnlrN1hHNTJZWElnWTI5eVpTQTlJSEpsY1hWcGNtVW9KeTR2WDJOdmNtVW5LVHRjYm5aaGNpQm9hV1JsSUQwZ2NtVnhkV2x5WlNnbkxpOWZhR2xrWlNjcE8xeHVkbUZ5SUhKbFpHVm1hVzVsSUQwZ2NtVnhkV2x5WlNnbkxpOWZjbVZrWldacGJtVW5LVHRjYm5aaGNpQmpkSGdnUFNCeVpYRjFhWEpsS0NjdUwxOWpkSGduS1R0Y2JuWmhjaUJRVWs5VVQxUlpVRVVnUFNBbmNISnZkRzkwZVhCbEp6dGNibHh1ZG1GeUlDUmxlSEJ2Y25RZ1BTQm1kVzVqZEdsdmJpQW9kSGx3WlN3Z2JtRnRaU3dnYzI5MWNtTmxLU0I3WEc0Z0lIWmhjaUJKVTE5R1QxSkRSVVFnUFNCMGVYQmxJQ1lnSkdWNGNHOXlkQzVHTzF4dUlDQjJZWElnU1ZOZlIweFBRa0ZNSUQwZ2RIbHdaU0FtSUNSbGVIQnZjblF1Unp0Y2JpQWdkbUZ5SUVsVFgxTlVRVlJKUXlBOUlIUjVjR1VnSmlBa1pYaHdiM0owTGxNN1hHNGdJSFpoY2lCSlUxOVFVazlVVHlBOUlIUjVjR1VnSmlBa1pYaHdiM0owTGxBN1hHNGdJSFpoY2lCSlUxOUNTVTVFSUQwZ2RIbHdaU0FtSUNSbGVIQnZjblF1UWp0Y2JpQWdkbUZ5SUhSaGNtZGxkQ0E5SUVsVFgwZE1UMEpCVENBL0lHZHNiMkpoYkNBNklFbFRYMU5VUVZSSlF5QS9JR2RzYjJKaGJGdHVZVzFsWFNCOGZDQW9aMnh2WW1Gc1cyNWhiV1ZkSUQwZ2UzMHBJRG9nS0dkc2IySmhiRnR1WVcxbFhTQjhmQ0I3ZlNsYlVGSlBWRTlVV1ZCRlhUdGNiaUFnZG1GeUlHVjRjRzl5ZEhNZ1BTQkpVMTlIVEU5Q1FVd2dQeUJqYjNKbElEb2dZMjl5WlZ0dVlXMWxYU0I4ZkNBb1kyOXlaVnR1WVcxbFhTQTlJSHQ5S1R0Y2JpQWdkbUZ5SUdWNGNGQnliM1J2SUQwZ1pYaHdiM0owYzF0UVVrOVVUMVJaVUVWZElIeDhJQ2hsZUhCdmNuUnpXMUJTVDFSUFZGbFFSVjBnUFNCN2ZTazdYRzRnSUhaaGNpQnJaWGtzSUc5M2Jpd2diM1YwTENCbGVIQTdYRzRnSUdsbUlDaEpVMTlIVEU5Q1FVd3BJSE52ZFhKalpTQTlJRzVoYldVN1hHNGdJR1p2Y2lBb2EyVjVJR2x1SUhOdmRYSmpaU2tnZTF4dUlDQWdJQzh2SUdOdmJuUmhhVzV6SUdsdUlHNWhkR2wyWlZ4dUlDQWdJRzkzYmlBOUlDRkpVMTlHVDFKRFJVUWdKaVlnZEdGeVoyVjBJQ1ltSUhSaGNtZGxkRnRyWlhsZElDRTlQU0IxYm1SbFptbHVaV1E3WEc0Z0lDQWdMeThnWlhod2IzSjBJRzVoZEdsMlpTQnZjaUJ3WVhOelpXUmNiaUFnSUNCdmRYUWdQU0FvYjNkdUlEOGdkR0Z5WjJWMElEb2djMjkxY21ObEtWdHJaWGxkTzF4dUlDQWdJQzh2SUdKcGJtUWdkR2x0WlhKeklIUnZJR2RzYjJKaGJDQm1iM0lnWTJGc2JDQm1jbTl0SUdWNGNHOXlkQ0JqYjI1MFpYaDBYRzRnSUNBZ1pYaHdJRDBnU1ZOZlFrbE9SQ0FtSmlCdmQyNGdQeUJqZEhnb2IzVjBMQ0JuYkc5aVlXd3BJRG9nU1ZOZlVGSlBWRThnSmlZZ2RIbHdaVzltSUc5MWRDQTlQU0FuWm5WdVkzUnBiMjRuSUQ4Z1kzUjRLRVoxYm1OMGFXOXVMbU5oYkd3c0lHOTFkQ2tnT2lCdmRYUTdYRzRnSUNBZ0x5OGdaWGgwWlc1a0lHZHNiMkpoYkZ4dUlDQWdJR2xtSUNoMFlYSm5aWFFwSUhKbFpHVm1hVzVsS0hSaGNtZGxkQ3dnYTJWNUxDQnZkWFFzSUhSNWNHVWdKaUFrWlhod2IzSjBMbFVwTzF4dUlDQWdJQzh2SUdWNGNHOXlkRnh1SUNBZ0lHbG1JQ2hsZUhCdmNuUnpXMnRsZVYwZ0lUMGdiM1YwS1NCb2FXUmxLR1Y0Y0c5eWRITXNJR3RsZVN3Z1pYaHdLVHRjYmlBZ0lDQnBaaUFvU1ZOZlVGSlBWRThnSmlZZ1pYaHdVSEp2ZEc5YmEyVjVYU0FoUFNCdmRYUXBJR1Y0Y0ZCeWIzUnZXMnRsZVYwZ1BTQnZkWFE3WEc0Z0lIMWNibjA3WEc1bmJHOWlZV3d1WTI5eVpTQTlJR052Y21VN1hHNHZMeUIwZVhCbElHSnBkRzFoY0Z4dUpHVjRjRzl5ZEM1R0lEMGdNVHNnSUNBdkx5Qm1iM0pqWldSY2JpUmxlSEJ2Y25RdVJ5QTlJREk3SUNBZ0x5OGdaMnh2WW1Gc1hHNGtaWGh3YjNKMExsTWdQU0EwT3lBZ0lDOHZJSE4wWVhScFkxeHVKR1Y0Y0c5eWRDNVFJRDBnT0RzZ0lDQXZMeUJ3Y205MGIxeHVKR1Y0Y0c5eWRDNUNJRDBnTVRZN0lDQXZMeUJpYVc1a1hHNGtaWGh3YjNKMExsY2dQU0F6TWpzZ0lDOHZJSGR5WVhCY2JpUmxlSEJ2Y25RdVZTQTlJRFkwT3lBZ0x5OGdjMkZtWlZ4dUpHVjRjRzl5ZEM1U0lEMGdNVEk0T3lBdkx5QnlaV0ZzSUhCeWIzUnZJRzFsZEdodlpDQm1iM0lnWUd4cFluSmhjbmxnWEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUNSbGVIQnZjblE3WEc0aVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19leHBvcnQuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2ZhaWxzLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2ZhaWxzLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXtldmFsKCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChleGVjKSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuICEhZXhlYygpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTltWVdsc2N5NXFjeTVxY3lJc0luTnZkWEpqWlhNaU9sc2lkMlZpY0dGamF6b3ZMeTh1TDI1dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlgyWmhhV3h6TG1welB6YzVaVFVpWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbWRXNWpkR2x2YmlBb1pYaGxZeWtnZTF4dUlDQjBjbmtnZTF4dUlDQWdJSEpsZEhWeWJpQWhJV1Y0WldNb0tUdGNiaUFnZlNCallYUmphQ0FvWlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHVJQ0I5WEc1OU8xeHVJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzaUxDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZmFpbHMuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2ZpeC1yZS13a3MuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19maXgtcmUtd2tzLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7InVzZSBzdHJpY3QiO2V2YWwoIlxuX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9lczYucmVnZXhwLmV4ZWMgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnJlZ2V4cC5leGVjLmpzXCIpO1xudmFyIHJlZGVmaW5lID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fcmVkZWZpbmUgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3JlZGVmaW5lLmpzXCIpO1xudmFyIGhpZGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19oaWRlICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19oaWRlLmpzXCIpO1xudmFyIGZhaWxzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fZmFpbHMgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2ZhaWxzLmpzXCIpO1xudmFyIGRlZmluZWQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19kZWZpbmVkICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19kZWZpbmVkLmpzXCIpO1xudmFyIHdrcyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3drcyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fd2tzLmpzXCIpO1xudmFyIHJlZ2V4cEV4ZWMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19yZWdleHAtZXhlYyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fcmVnZXhwLWV4ZWMuanNcIik7XG5cbnZhciBTUEVDSUVTID0gd2tzKCdzcGVjaWVzJyk7XG5cbnZhciBSRVBMQUNFX1NVUFBPUlRTX05BTUVEX0dST1VQUyA9ICFmYWlscyhmdW5jdGlvbiAoKSB7XG4gIC8vICNyZXBsYWNlIG5lZWRzIGJ1aWx0LWluIHN1cHBvcnQgZm9yIG5hbWVkIGdyb3Vwcy5cbiAgLy8gI21hdGNoIHdvcmtzIGZpbmUgYmVjYXVzZSBpdCBqdXN0IHJldHVybiB0aGUgZXhlYyByZXN1bHRzLCBldmVuIGlmIGl0IGhhc1xuICAvLyBhIFwiZ3JvcHNcIiBwcm9wZXJ0eS5cbiAgdmFyIHJlID0gLy4vO1xuICByZS5leGVjID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciByZXN1bHQgPSBbXTtcbiAgICByZXN1bHQuZ3JvdXBzID0geyBhOiAnNycgfTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9O1xuICByZXR1cm4gJycucmVwbGFjZShyZSwgJyQ8YT4nKSAhPT0gJzcnO1xufSk7XG5cbnZhciBTUExJVF9XT1JLU19XSVRIX09WRVJXUklUVEVOX0VYRUMgPSAoZnVuY3Rpb24gKCkge1xuICAvLyBDaHJvbWUgNTEgaGFzIGEgYnVnZ3kgXCJzcGxpdFwiIGltcGxlbWVudGF0aW9uIHdoZW4gUmVnRXhwI2V4ZWMgIT09IG5hdGl2ZUV4ZWNcbiAgdmFyIHJlID0gLyg/OikvO1xuICB2YXIgb3JpZ2luYWxFeGVjID0gcmUuZXhlYztcbiAgcmUuZXhlYyA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIG9yaWdpbmFsRXhlYy5hcHBseSh0aGlzLCBhcmd1bWVudHMpOyB9O1xuICB2YXIgcmVzdWx0ID0gJ2FiJy5zcGxpdChyZSk7XG4gIHJldHVybiByZXN1bHQubGVuZ3RoID09PSAyICYmIHJlc3VsdFswXSA9PT0gJ2EnICYmIHJlc3VsdFsxXSA9PT0gJ2InO1xufSkoKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoS0VZLCBsZW5ndGgsIGV4ZWMpIHtcbiAgdmFyIFNZTUJPTCA9IHdrcyhLRVkpO1xuXG4gIHZhciBERUxFR0FURVNfVE9fU1lNQk9MID0gIWZhaWxzKGZ1bmN0aW9uICgpIHtcbiAgICAvLyBTdHJpbmcgbWV0aG9kcyBjYWxsIHN5bWJvbC1uYW1lZCBSZWdFcCBtZXRob2RzXG4gICAgdmFyIE8gPSB7fTtcbiAgICBPW1NZTUJPTF0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiA3OyB9O1xuICAgIHJldHVybiAnJ1tLRVldKE8pICE9IDc7XG4gIH0pO1xuXG4gIHZhciBERUxFR0FURVNfVE9fRVhFQyA9IERFTEVHQVRFU19UT19TWU1CT0wgPyAhZmFpbHMoZnVuY3Rpb24gKCkge1xuICAgIC8vIFN5bWJvbC1uYW1lZCBSZWdFeHAgbWV0aG9kcyBjYWxsIC5leGVjXG4gICAgdmFyIGV4ZWNDYWxsZWQgPSBmYWxzZTtcbiAgICB2YXIgcmUgPSAvYS87XG4gICAgcmUuZXhlYyA9IGZ1bmN0aW9uICgpIHsgZXhlY0NhbGxlZCA9IHRydWU7IHJldHVybiBudWxsOyB9O1xuICAgIGlmIChLRVkgPT09ICdzcGxpdCcpIHtcbiAgICAgIC8vIFJlZ0V4cFtAQHNwbGl0XSBkb2Vzbid0IGNhbGwgdGhlIHJlZ2V4J3MgZXhlYyBtZXRob2QsIGJ1dCBmaXJzdCBjcmVhdGVzXG4gICAgICAvLyBhIG5ldyBvbmUuIFdlIG5lZWQgdG8gcmV0dXJuIHRoZSBwYXRjaGVkIHJlZ2V4IHdoZW4gY3JlYXRpbmcgdGhlIG5ldyBvbmUuXG4gICAgICByZS5jb25zdHJ1Y3RvciA9IHt9O1xuICAgICAgcmUuY29uc3RydWN0b3JbU1BFQ0lFU10gPSBmdW5jdGlvbiAoKSB7IHJldHVybiByZTsgfTtcbiAgICB9XG4gICAgcmVbU1lNQk9MXSgnJyk7XG4gICAgcmV0dXJuICFleGVjQ2FsbGVkO1xuICB9KSA6IHVuZGVmaW5lZDtcblxuICBpZiAoXG4gICAgIURFTEVHQVRFU19UT19TWU1CT0wgfHxcbiAgICAhREVMRUdBVEVTX1RPX0VYRUMgfHxcbiAgICAoS0VZID09PSAncmVwbGFjZScgJiYgIVJFUExBQ0VfU1VQUE9SVFNfTkFNRURfR1JPVVBTKSB8fFxuICAgIChLRVkgPT09ICdzcGxpdCcgJiYgIVNQTElUX1dPUktTX1dJVEhfT1ZFUldSSVRURU5fRVhFQylcbiAgKSB7XG4gICAgdmFyIG5hdGl2ZVJlZ0V4cE1ldGhvZCA9IC8uL1tTWU1CT0xdO1xuICAgIHZhciBmbnMgPSBleGVjKFxuICAgICAgZGVmaW5lZCxcbiAgICAgIFNZTUJPTCxcbiAgICAgICcnW0tFWV0sXG4gICAgICBmdW5jdGlvbiBtYXliZUNhbGxOYXRpdmUobmF0aXZlTWV0aG9kLCByZWdleHAsIHN0ciwgYXJnMiwgZm9yY2VTdHJpbmdNZXRob2QpIHtcbiAgICAgICAgaWYgKHJlZ2V4cC5leGVjID09PSByZWdleHBFeGVjKSB7XG4gICAgICAgICAgaWYgKERFTEVHQVRFU19UT19TWU1CT0wgJiYgIWZvcmNlU3RyaW5nTWV0aG9kKSB7XG4gICAgICAgICAgICAvLyBUaGUgbmF0aXZlIFN0cmluZyBtZXRob2QgYWxyZWFkeSBkZWxlZ2F0ZXMgdG8gQEBtZXRob2QgKHRoaXNcbiAgICAgICAgICAgIC8vIHBvbHlmaWxsZWQgZnVuY3Rpb24pLCBsZWFzaW5nIHRvIGluZmluaXRlIHJlY3Vyc2lvbi5cbiAgICAgICAgICAgIC8vIFdlIGF2b2lkIGl0IGJ5IGRpcmVjdGx5IGNhbGxpbmcgdGhlIG5hdGl2ZSBAQG1ldGhvZCBtZXRob2QuXG4gICAgICAgICAgICByZXR1cm4geyBkb25lOiB0cnVlLCB2YWx1ZTogbmF0aXZlUmVnRXhwTWV0aG9kLmNhbGwocmVnZXhwLCBzdHIsIGFyZzIpIH07XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB7IGRvbmU6IHRydWUsIHZhbHVlOiBuYXRpdmVNZXRob2QuY2FsbChzdHIsIHJlZ2V4cCwgYXJnMikgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBkb25lOiBmYWxzZSB9O1xuICAgICAgfVxuICAgICk7XG4gICAgdmFyIHN0cmZuID0gZm5zWzBdO1xuICAgIHZhciByeGZuID0gZm5zWzFdO1xuXG4gICAgcmVkZWZpbmUoU3RyaW5nLnByb3RvdHlwZSwgS0VZLCBzdHJmbik7XG4gICAgaGlkZShSZWdFeHAucHJvdG90eXBlLCBTWU1CT0wsIGxlbmd0aCA9PSAyXG4gICAgICAvLyAyMS4yLjUuOCBSZWdFeHAucHJvdG90eXBlW0BAcmVwbGFjZV0oc3RyaW5nLCByZXBsYWNlVmFsdWUpXG4gICAgICAvLyAyMS4yLjUuMTEgUmVnRXhwLnByb3RvdHlwZVtAQHNwbGl0XShzdHJpbmcsIGxpbWl0KVxuICAgICAgPyBmdW5jdGlvbiAoc3RyaW5nLCBhcmcpIHsgcmV0dXJuIHJ4Zm4uY2FsbChzdHJpbmcsIHRoaXMsIGFyZyk7IH1cbiAgICAgIC8vIDIxLjIuNS42IFJlZ0V4cC5wcm90b3R5cGVbQEBtYXRjaF0oc3RyaW5nKVxuICAgICAgLy8gMjEuMi41LjkgUmVnRXhwLnByb3RvdHlwZVtAQHNlYXJjaF0oc3RyaW5nKVxuICAgICAgOiBmdW5jdGlvbiAoc3RyaW5nKSB7IHJldHVybiByeGZuLmNhbGwoc3RyaW5nLCB0aGlzKTsgfVxuICAgICk7XG4gIH1cbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTltYVhndGNtVXRkMnR6TG1wekxtcHpJaXdpYzI5MWNtTmxjeUk2V3lKM1pXSndZV05yT2k4dkx5NHZibTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlmWm1sNExYSmxMWGRyY3k1cWN6OHlNVFJtSWwwc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpZDFjMlVnYzNSeWFXTjBKenRjYm5KbGNYVnBjbVVvSnk0dlpYTTJMbkpsWjJWNGNDNWxlR1ZqSnlrN1hHNTJZWElnY21Wa1pXWnBibVVnUFNCeVpYRjFhWEpsS0NjdUwxOXlaV1JsWm1sdVpTY3BPMXh1ZG1GeUlHaHBaR1VnUFNCeVpYRjFhWEpsS0NjdUwxOW9hV1JsSnlrN1hHNTJZWElnWm1GcGJITWdQU0J5WlhGMWFYSmxLQ2N1TDE5bVlXbHNjeWNwTzF4dWRtRnlJR1JsWm1sdVpXUWdQU0J5WlhGMWFYSmxLQ2N1TDE5a1pXWnBibVZrSnlrN1hHNTJZWElnZDJ0eklEMGdjbVZ4ZFdseVpTZ25MaTlmZDJ0ekp5azdYRzUyWVhJZ2NtVm5aWGh3UlhobFl5QTlJSEpsY1hWcGNtVW9KeTR2WDNKbFoyVjRjQzFsZUdWakp5azdYRzVjYm5aaGNpQlRVRVZEU1VWVElEMGdkMnR6S0NkemNHVmphV1Z6SnlrN1hHNWNiblpoY2lCU1JWQk1RVU5GWDFOVlVGQlBVbFJUWDA1QlRVVkVYMGRTVDFWUVV5QTlJQ0ZtWVdsc2N5aG1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lDOHZJQ055WlhCc1lXTmxJRzVsWldSeklHSjFhV3gwTFdsdUlITjFjSEJ2Y25RZ1ptOXlJRzVoYldWa0lHZHliM1Z3Y3k1Y2JpQWdMeThnSTIxaGRHTm9JSGR2Y210eklHWnBibVVnWW1WallYVnpaU0JwZENCcWRYTjBJSEpsZEhWeWJpQjBhR1VnWlhobFl5QnlaWE4xYkhSekxDQmxkbVZ1SUdsbUlHbDBJR2hoYzF4dUlDQXZMeUJoSUZ3aVozSnZjSE5jSWlCd2NtOXdaWEowZVM1Y2JpQWdkbUZ5SUhKbElEMGdMeTR2TzF4dUlDQnlaUzVsZUdWaklEMGdablZ1WTNScGIyNGdLQ2tnZTF4dUlDQWdJSFpoY2lCeVpYTjFiSFFnUFNCYlhUdGNiaUFnSUNCeVpYTjFiSFF1WjNKdmRYQnpJRDBnZXlCaE9pQW5OeWNnZlR0Y2JpQWdJQ0J5WlhSMWNtNGdjbVZ6ZFd4ME8xeHVJQ0I5TzF4dUlDQnlaWFIxY200Z0p5Y3VjbVZ3YkdGalpTaHlaU3dnSnlROFlUNG5LU0FoUFQwZ0p6Y25PMXh1ZlNrN1hHNWNiblpoY2lCVFVFeEpWRjlYVDFKTFUxOVhTVlJJWDA5V1JWSlhVa2xVVkVWT1gwVllSVU1nUFNBb1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNBdkx5QkRhSEp2YldVZ05URWdhR0Z6SUdFZ1luVm5aM2tnWENKemNHeHBkRndpSUdsdGNHeGxiV1Z1ZEdGMGFXOXVJSGRvWlc0Z1VtVm5SWGh3STJWNFpXTWdJVDA5SUc1aGRHbDJaVVY0WldOY2JpQWdkbUZ5SUhKbElEMGdMeWcvT2lrdk8xeHVJQ0IyWVhJZ2IzSnBaMmx1WVd4RmVHVmpJRDBnY21VdVpYaGxZenRjYmlBZ2NtVXVaWGhsWXlBOUlHWjFibU4wYVc5dUlDZ3BJSHNnY21WMGRYSnVJRzl5YVdkcGJtRnNSWGhsWXk1aGNIQnNlU2gwYUdsekxDQmhjbWQxYldWdWRITXBPeUI5TzF4dUlDQjJZWElnY21WemRXeDBJRDBnSjJGaUp5NXpjR3hwZENoeVpTazdYRzRnSUhKbGRIVnliaUJ5WlhOMWJIUXViR1Z1WjNSb0lEMDlQU0F5SUNZbUlISmxjM1ZzZEZzd1hTQTlQVDBnSjJFbklDWW1JSEpsYzNWc2RGc3hYU0E5UFQwZ0oySW5PMXh1ZlNrb0tUdGNibHh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JtZFc1amRHbHZiaUFvUzBWWkxDQnNaVzVuZEdnc0lHVjRaV01wSUh0Y2JpQWdkbUZ5SUZOWlRVSlBUQ0E5SUhkcmN5aExSVmtwTzF4dVhHNGdJSFpoY2lCRVJVeEZSMEZVUlZOZlZFOWZVMWxOUWs5TUlEMGdJV1poYVd4ektHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ0lDQXZMeUJUZEhKcGJtY2diV1YwYUc5a2N5QmpZV3hzSUhONWJXSnZiQzF1WVcxbFpDQlNaV2RGY0NCdFpYUm9iMlJ6WEc0Z0lDQWdkbUZ5SUU4Z1BTQjdmVHRjYmlBZ0lDQlBXMU5aVFVKUFRGMGdQU0JtZFc1amRHbHZiaUFvS1NCN0lISmxkSFZ5YmlBM095QjlPMXh1SUNBZ0lISmxkSFZ5YmlBbkoxdExSVmxkS0U4cElDRTlJRGM3WEc0Z0lIMHBPMXh1WEc0Z0lIWmhjaUJFUlV4RlIwRlVSVk5mVkU5ZlJWaEZReUE5SUVSRlRFVkhRVlJGVTE5VVQxOVRXVTFDVDB3Z1B5QWhabUZwYkhNb1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNBZ0lDOHZJRk41YldKdmJDMXVZVzFsWkNCU1pXZEZlSEFnYldWMGFHOWtjeUJqWVd4c0lDNWxlR1ZqWEc0Z0lDQWdkbUZ5SUdWNFpXTkRZV3hzWldRZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0IyWVhJZ2NtVWdQU0F2WVM4N1hHNGdJQ0FnY21VdVpYaGxZeUE5SUdaMWJtTjBhVzl1SUNncElIc2daWGhsWTBOaGJHeGxaQ0E5SUhSeWRXVTdJSEpsZEhWeWJpQnVkV3hzT3lCOU8xeHVJQ0FnSUdsbUlDaExSVmtnUFQwOUlDZHpjR3hwZENjcElIdGNiaUFnSUNBZ0lDOHZJRkpsWjBWNGNGdEFRSE53YkdsMFhTQmtiMlZ6YmlkMElHTmhiR3dnZEdobElISmxaMlY0SjNNZ1pYaGxZeUJ0WlhSb2IyUXNJR0oxZENCbWFYSnpkQ0JqY21WaGRHVnpYRzRnSUNBZ0lDQXZMeUJoSUc1bGR5QnZibVV1SUZkbElHNWxaV1FnZEc4Z2NtVjBkWEp1SUhSb1pTQndZWFJqYUdWa0lISmxaMlY0SUhkb1pXNGdZM0psWVhScGJtY2dkR2hsSUc1bGR5QnZibVV1WEc0Z0lDQWdJQ0J5WlM1amIyNXpkSEoxWTNSdmNpQTlJSHQ5TzF4dUlDQWdJQ0FnY21VdVkyOXVjM1J5ZFdOMGIzSmJVMUJGUTBsRlUxMGdQU0JtZFc1amRHbHZiaUFvS1NCN0lISmxkSFZ5YmlCeVpUc2dmVHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVmJVMWxOUWs5TVhTZ25KeWs3WEc0Z0lDQWdjbVYwZFhKdUlDRmxlR1ZqUTJGc2JHVmtPMXh1SUNCOUtTQTZJSFZ1WkdWbWFXNWxaRHRjYmx4dUlDQnBaaUFvWEc0Z0lDQWdJVVJGVEVWSFFWUkZVMTlVVDE5VFdVMUNUMHdnZkh4Y2JpQWdJQ0FoUkVWTVJVZEJWRVZUWDFSUFgwVllSVU1nZkh4Y2JpQWdJQ0FvUzBWWklEMDlQU0FuY21Wd2JHRmpaU2NnSmlZZ0lWSkZVRXhCUTBWZlUxVlFVRTlTVkZOZlRrRk5SVVJmUjFKUFZWQlRLU0I4ZkZ4dUlDQWdJQ2hMUlZrZ1BUMDlJQ2R6Y0d4cGRDY2dKaVlnSVZOUVRFbFVYMWRQVWt0VFgxZEpWRWhmVDFaRlVsZFNTVlJVUlU1ZlJWaEZReWxjYmlBZ0tTQjdYRzRnSUNBZ2RtRnlJRzVoZEdsMlpWSmxaMFY0Y0UxbGRHaHZaQ0E5SUM4dUwxdFRXVTFDVDB4ZE8xeHVJQ0FnSUhaaGNpQm1ibk1nUFNCbGVHVmpLRnh1SUNBZ0lDQWdaR1ZtYVc1bFpDeGNiaUFnSUNBZ0lGTlpUVUpQVEN4Y2JpQWdJQ0FnSUNjblcwdEZXVjBzWEc0Z0lDQWdJQ0JtZFc1amRHbHZiaUJ0WVhsaVpVTmhiR3hPWVhScGRtVW9ibUYwYVhabFRXVjBhRzlrTENCeVpXZGxlSEFzSUhOMGNpd2dZWEpuTWl3Z1ptOXlZMlZUZEhKcGJtZE5aWFJvYjJRcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0hKbFoyVjRjQzVsZUdWaklEMDlQU0J5WldkbGVIQkZlR1ZqS1NCN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0VSRlRFVkhRVlJGVTE5VVQxOVRXVTFDVDB3Z0ppWWdJV1p2Y21ObFUzUnlhVzVuVFdWMGFHOWtLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJVYUdVZ2JtRjBhWFpsSUZOMGNtbHVaeUJ0WlhSb2IyUWdZV3h5WldGa2VTQmtaV3hsWjJGMFpYTWdkRzhnUUVCdFpYUm9iMlFnS0hSb2FYTmNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklIQnZiSGxtYVd4c1pXUWdablZ1WTNScGIyNHBMQ0JzWldGemFXNW5JSFJ2SUdsdVptbHVhWFJsSUhKbFkzVnljMmx2Ymk1Y2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUZkbElHRjJiMmxrSUdsMElHSjVJR1JwY21WamRHeDVJR05oYkd4cGJtY2dkR2hsSUc1aGRHbDJaU0JBUUcxbGRHaHZaQ0J0WlhSb2IyUXVYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZXlCa2IyNWxPaUIwY25WbExDQjJZV3gxWlRvZ2JtRjBhWFpsVW1WblJYaHdUV1YwYUc5a0xtTmhiR3dvY21WblpYaHdMQ0J6ZEhJc0lHRnlaeklwSUgwN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUI3SUdSdmJtVTZJSFJ5ZFdVc0lIWmhiSFZsT2lCdVlYUnBkbVZOWlhSb2IyUXVZMkZzYkNoemRISXNJSEpsWjJWNGNDd2dZWEpuTWlrZ2ZUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdleUJrYjI1bE9pQm1ZV3h6WlNCOU8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNrN1hHNGdJQ0FnZG1GeUlITjBjbVp1SUQwZ1ptNXpXekJkTzF4dUlDQWdJSFpoY2lCeWVHWnVJRDBnWm01eld6RmRPMXh1WEc0Z0lDQWdjbVZrWldacGJtVW9VM1J5YVc1bkxuQnliM1J2ZEhsd1pTd2dTMFZaTENCemRISm1iaWs3WEc0Z0lDQWdhR2xrWlNoU1pXZEZlSEF1Y0hKdmRHOTBlWEJsTENCVFdVMUNUMHdzSUd4bGJtZDBhQ0E5UFNBeVhHNGdJQ0FnSUNBdkx5QXlNUzR5TGpVdU9DQlNaV2RGZUhBdWNISnZkRzkwZVhCbFcwQkFjbVZ3YkdGalpWMG9jM1J5YVc1bkxDQnlaWEJzWVdObFZtRnNkV1VwWEc0Z0lDQWdJQ0F2THlBeU1TNHlMalV1TVRFZ1VtVm5SWGh3TG5CeWIzUnZkSGx3WlZ0QVFITndiR2wwWFNoemRISnBibWNzSUd4cGJXbDBLVnh1SUNBZ0lDQWdQeUJtZFc1amRHbHZiaUFvYzNSeWFXNW5MQ0JoY21jcElIc2djbVYwZFhKdUlISjRabTR1WTJGc2JDaHpkSEpwYm1jc0lIUm9hWE1zSUdGeVp5azdJSDFjYmlBZ0lDQWdJQzh2SURJeExqSXVOUzQySUZKbFowVjRjQzV3Y205MGIzUjVjR1ZiUUVCdFlYUmphRjBvYzNSeWFXNW5LVnh1SUNBZ0lDQWdMeThnTWpFdU1pNDFMamtnVW1WblJYaHdMbkJ5YjNSdmRIbHdaVnRBUUhObFlYSmphRjBvYzNSeWFXNW5LVnh1SUNBZ0lDQWdPaUJtZFc1amRHbHZiaUFvYzNSeWFXNW5LU0I3SUhKbGRIVnliaUJ5ZUdadUxtTmhiR3dvYzNSeWFXNW5MQ0IwYUdsektUc2dmVnh1SUNBZ0lDazdYRzRnSUgxY2JuMDdYRzRpWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHNpTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19maXgtcmUtd2tzLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19mbGFncy5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19mbGFncy5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXsidXNlIHN0cmljdCI7ZXZhbCgiXG4vLyAyMS4yLjUuMyBnZXQgUmVnRXhwLnByb3RvdHlwZS5mbGFnc1xudmFyIGFuT2JqZWN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fYW4tb2JqZWN0ICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hbi1vYmplY3QuanNcIik7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIHRoYXQgPSBhbk9iamVjdCh0aGlzKTtcbiAgdmFyIHJlc3VsdCA9ICcnO1xuICBpZiAodGhhdC5nbG9iYWwpIHJlc3VsdCArPSAnZyc7XG4gIGlmICh0aGF0Lmlnbm9yZUNhc2UpIHJlc3VsdCArPSAnaSc7XG4gIGlmICh0aGF0Lm11bHRpbGluZSkgcmVzdWx0ICs9ICdtJztcbiAgaWYgKHRoYXQudW5pY29kZSkgcmVzdWx0ICs9ICd1JztcbiAgaWYgKHRoYXQuc3RpY2t5KSByZXN1bHQgKz0gJ3knO1xuICByZXR1cm4gcmVzdWx0O1xufTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOW1iR0ZuY3k1cWN5NXFjeUlzSW5OdmRYSmpaWE1pT2xzaWQyVmljR0ZqYXpvdkx5OHVMMjV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WDJac1lXZHpMbXB6UHpCaVptSWlYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpSjNWelpTQnpkSEpwWTNRbk8xeHVMeThnTWpFdU1pNDFMak1nWjJWMElGSmxaMFY0Y0M1d2NtOTBiM1I1Y0dVdVpteGhaM05jYm5aaGNpQmhiazlpYW1WamRDQTlJSEpsY1hWcGNtVW9KeTR2WDJGdUxXOWlhbVZqZENjcE8xeHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lIWmhjaUIwYUdGMElEMGdZVzVQWW1wbFkzUW9kR2hwY3lrN1hHNGdJSFpoY2lCeVpYTjFiSFFnUFNBbkp6dGNiaUFnYVdZZ0tIUm9ZWFF1WjJ4dlltRnNLU0J5WlhOMWJIUWdLejBnSjJjbk8xeHVJQ0JwWmlBb2RHaGhkQzVwWjI1dmNtVkRZWE5sS1NCeVpYTjFiSFFnS3owZ0oya25PMXh1SUNCcFppQW9kR2hoZEM1dGRXeDBhV3hwYm1VcElISmxjM1ZzZENBclBTQW5iU2M3WEc0Z0lHbG1JQ2gwYUdGMExuVnVhV052WkdVcElISmxjM1ZzZENBclBTQW5kU2M3WEc0Z0lHbG1JQ2gwYUdGMExuTjBhV05yZVNrZ2NtVnpkV3gwSUNzOUlDZDVKenRjYmlBZ2NtVjBkWEp1SUhKbGMzVnNkRHRjYm4wN1hHNGlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk95SXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2ZsYWdzLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19mdW5jdGlvbi10by1zdHJpbmcuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2Z1bmN0aW9uLXRvLXN0cmluZy5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7ZXZhbCgibW9kdWxlLmV4cG9ydHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19zaGFyZWQgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3NoYXJlZC5qc1wiKSgnbmF0aXZlLWZ1bmN0aW9uLXRvLXN0cmluZycsIEZ1bmN0aW9uLnRvU3RyaW5nKTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOW1kVzVqZEdsdmJpMTBieTF6ZEhKcGJtY3Vhbk11YW5NaUxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTh2TGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOW1kVzVqZEdsdmJpMTBieTF6ZEhKcGJtY3Vhbk0vWm1FMVlpSmRMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUp0YjJSMWJHVXVaWGh3YjNKMGN5QTlJSEpsY1hWcGNtVW9KeTR2WDNOb1lYSmxaQ2NwS0NkdVlYUnBkbVV0Wm5WdVkzUnBiMjR0ZEc4dGMzUnlhVzVuSnl3Z1JuVnVZM1JwYjI0dWRHOVRkSEpwYm1jcE8xeHVJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHNpTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19mdW5jdGlvbi10by1zdHJpbmcuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2dsb2JhbC5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZ2xvYmFsLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7ZXZhbCgiLy8gaHR0cHM6Ly9naXRodWIuY29tL3psb2lyb2NrL2NvcmUtanMvaXNzdWVzLzg2I2lzc3VlY29tbWVudC0xMTU3NTkwMjhcbnZhciBnbG9iYWwgPSBtb2R1bGUuZXhwb3J0cyA9IHR5cGVvZiB3aW5kb3cgIT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93Lk1hdGggPT0gTWF0aFxuICA/IHdpbmRvdyA6IHR5cGVvZiBzZWxmICE9ICd1bmRlZmluZWQnICYmIHNlbGYuTWF0aCA9PSBNYXRoID8gc2VsZlxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbmV3LWZ1bmNcbiAgOiBGdW5jdGlvbigncmV0dXJuIHRoaXMnKSgpO1xuaWYgKHR5cGVvZiBfX2cgPT0gJ251bWJlcicpIF9fZyA9IGdsb2JhbDsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bmRlZlxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5bmJHOWlZV3d1YW5NdWFuTWlMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk4dkxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTluYkc5aVlXd3Vhbk0vTnpjeU5pSmRMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2THlCb2RIUndjem92TDJkcGRHaDFZaTVqYjIwdmVteHZhWEp2WTJzdlkyOXlaUzFxY3k5cGMzTjFaWE12T0RZamFYTnpkV1ZqYjIxdFpXNTBMVEV4TlRjMU9UQXlPRnh1ZG1GeUlHZHNiMkpoYkNBOUlHMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ2RIbHdaVzltSUhkcGJtUnZkeUFoUFNBbmRXNWtaV1pwYm1Wa0p5QW1KaUIzYVc1a2IzY3VUV0YwYUNBOVBTQk5ZWFJvWEc0Z0lEOGdkMmx1Wkc5M0lEb2dkSGx3Wlc5bUlITmxiR1lnSVQwZ0ozVnVaR1ZtYVc1bFpDY2dKaVlnYzJWc1ppNU5ZWFJvSUQwOUlFMWhkR2dnUHlCelpXeG1YRzRnSUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFc1bGVIUXRiR2x1WlNCdWJ5MXVaWGN0Wm5WdVkxeHVJQ0E2SUVaMWJtTjBhVzl1S0NkeVpYUjFjbTRnZEdocGN5Y3BLQ2s3WEc1cFppQW9kSGx3Wlc5bUlGOWZaeUE5UFNBbmJuVnRZbVZ5SnlrZ1gxOW5JRDBnWjJ4dlltRnNPeUF2THlCbGMyeHBiblF0WkdsellXSnNaUzFzYVc1bElHNXZMWFZ1WkdWbVhHNGlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUc2lMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2dsb2JhbC5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faGFzLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19oYXMuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXtldmFsKCJ2YXIgaGFzT3duUHJvcGVydHkgPSB7fS5oYXNPd25Qcm9wZXJ0eTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0LCBrZXkpIHtcbiAgcmV0dXJuIGhhc093blByb3BlcnR5LmNhbGwoaXQsIGtleSk7XG59O1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5b1lYTXVhbk11YW5NaUxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTh2TGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOW9ZWE11YW5NL05qbGhPQ0pkTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKMllYSWdhR0Z6VDNkdVVISnZjR1Z5ZEhrZ1BTQjdmUzVvWVhOUGQyNVFjbTl3WlhKMGVUdGNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdablZ1WTNScGIyNGdLR2wwTENCclpYa3BJSHRjYmlBZ2NtVjBkWEp1SUdoaGMwOTNibEJ5YjNCbGNuUjVMbU5oYkd3b2FYUXNJR3RsZVNrN1hHNTlPMXh1SWwwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHNpTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19oYXMuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2hpZGUuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19oaWRlLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7ZXZhbCgidmFyIGRQID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fb2JqZWN0LWRwICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3QtZHAuanNcIik7XG52YXIgY3JlYXRlRGVzYyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3Byb3BlcnR5LWRlc2MgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3Byb3BlcnR5LWRlc2MuanNcIik7XG5tb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2Rlc2NyaXB0b3JzICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19kZXNjcmlwdG9ycy5qc1wiKSA/IGZ1bmN0aW9uIChvYmplY3QsIGtleSwgdmFsdWUpIHtcbiAgcmV0dXJuIGRQLmYob2JqZWN0LCBrZXksIGNyZWF0ZURlc2MoMSwgdmFsdWUpKTtcbn0gOiBmdW5jdGlvbiAob2JqZWN0LCBrZXksIHZhbHVlKSB7XG4gIG9iamVjdFtrZXldID0gdmFsdWU7XG4gIHJldHVybiBvYmplY3Q7XG59O1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5b2FXUmxMbXB6TG1weklpd2ljMjkxY21ObGN5STZXeUozWldKd1lXTnJPaTh2THk0dmJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWZhR2xrWlM1cWN6OHpNbVU1SWwwc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkluWmhjaUJrVUNBOUlISmxjWFZwY21Vb0p5NHZYMjlpYW1WamRDMWtjQ2NwTzF4dWRtRnlJR055WldGMFpVUmxjMk1nUFNCeVpYRjFhWEpsS0NjdUwxOXdjbTl3WlhKMGVTMWtaWE5qSnlrN1hHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlISmxjWFZwY21Vb0p5NHZYMlJsYzJOeWFYQjBiM0p6SnlrZ1B5Qm1kVzVqZEdsdmJpQW9iMkpxWldOMExDQnJaWGtzSUhaaGJIVmxLU0I3WEc0Z0lISmxkSFZ5YmlCa1VDNW1LRzlpYW1WamRDd2dhMlY1TENCamNtVmhkR1ZFWlhOaktERXNJSFpoYkhWbEtTazdYRzU5SURvZ1puVnVZM1JwYjI0Z0tHOWlhbVZqZEN3Z2EyVjVMQ0IyWVd4MVpTa2dlMXh1SUNCdlltcGxZM1JiYTJWNVhTQTlJSFpoYkhWbE8xeHVJQ0J5WlhSMWNtNGdiMkpxWldOME8xeHVmVHRjYmlKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzaUxDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faGlkZS5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faHRtbC5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2h0bWwuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXtldmFsKCJ2YXIgZG9jdW1lbnQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19nbG9iYWwgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2dsb2JhbC5qc1wiKS5kb2N1bWVudDtcbm1vZHVsZS5leHBvcnRzID0gZG9jdW1lbnQgJiYgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5b2RHMXNMbXB6TG1weklpd2ljMjkxY21ObGN5STZXeUozWldKd1lXTnJPaTh2THk0dmJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWZhSFJ0YkM1cWN6OW1ZV0l5SWwwc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkluWmhjaUJrYjJOMWJXVnVkQ0E5SUhKbGNYVnBjbVVvSnk0dlgyZHNiMkpoYkNjcExtUnZZM1Z0Wlc1ME8xeHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQmtiMk4xYldWdWRDQW1KaUJrYjJOMWJXVnVkQzVrYjJOMWJXVnVkRVZzWlcxbGJuUTdYRzRpWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTzBGQlEwRTdJaXdpYzI5MWNtTmxVbTl2ZENJNklpSjlcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2h0bWwuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2llOC1kb20tZGVmaW5lLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2llOC1kb20tZGVmaW5lLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18pe2V2YWwoIm1vZHVsZS5leHBvcnRzID0gIV9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2Rlc2NyaXB0b3JzICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19kZXNjcmlwdG9ycy5qc1wiKSAmJiAhX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fZmFpbHMgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2ZhaWxzLmpzXCIpKGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19kb20tY3JlYXRlICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19kb20tY3JlYXRlLmpzXCIpKCdkaXYnKSwgJ2EnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gNzsgfSB9KS5hICE9IDc7XG59KTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOXBaVGd0Wkc5dExXUmxabWx1WlM1cWN5NXFjeUlzSW5OdmRYSmpaWE1pT2xzaWQyVmljR0ZqYXpvdkx5OHVMMjV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WDJsbE9DMWtiMjB0WkdWbWFXNWxMbXB6UDJNMk9XRWlYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0FoY21WeGRXbHlaU2duTGk5ZlpHVnpZM0pwY0hSdmNuTW5LU0FtSmlBaGNtVnhkV2x5WlNnbkxpOWZabUZwYkhNbktTaG1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lISmxkSFZ5YmlCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29jbVZ4ZFdseVpTZ25MaTlmWkc5dExXTnlaV0YwWlNjcEtDZGthWFluS1N3Z0oyRW5MQ0I3SUdkbGREb2dablZ1WTNScGIyNGdLQ2tnZXlCeVpYUjFjbTRnTnpzZ2ZTQjlLUzVoSUNFOUlEYzdYRzU5S1R0Y2JpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZEUVR0QlFVTkJPeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pZTgtZG9tLWRlZmluZS5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faW5oZXJpdC1pZi1yZXF1aXJlZC5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2luaGVyaXQtaWYtcmVxdWlyZWQuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXtldmFsKCJ2YXIgaXNPYmplY3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19pcy1vYmplY3QgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2lzLW9iamVjdC5qc1wiKTtcbnZhciBzZXRQcm90b3R5cGVPZiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3NldC1wcm90byAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc2V0LXByb3RvLmpzXCIpLnNldDtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKHRoYXQsIHRhcmdldCwgQykge1xuICB2YXIgUyA9IHRhcmdldC5jb25zdHJ1Y3RvcjtcbiAgdmFyIFA7XG4gIGlmIChTICE9PSBDICYmIHR5cGVvZiBTID09ICdmdW5jdGlvbicgJiYgKFAgPSBTLnByb3RvdHlwZSkgIT09IEMucHJvdG90eXBlICYmIGlzT2JqZWN0KFApICYmIHNldFByb3RvdHlwZU9mKSB7XG4gICAgc2V0UHJvdG90eXBlT2YodGhhdCwgUCk7XG4gIH0gcmV0dXJuIHRoYXQ7XG59O1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5cGJtaGxjbWwwTFdsbUxYSmxjWFZwY21Wa0xtcHpMbXB6SWl3aWMyOTFjbU5sY3lJNld5SjNaV0p3WVdOck9pOHZMeTR2Ym05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJXOWtkV3hsY3k5ZmFXNW9aWEpwZEMxcFppMXlaWEYxYVhKbFpDNXFjejgxWkdKaklsMHNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJblpoY2lCcGMwOWlhbVZqZENBOUlISmxjWFZwY21Vb0p5NHZYMmx6TFc5aWFtVmpkQ2NwTzF4dWRtRnlJSE5sZEZCeWIzUnZkSGx3WlU5bUlEMGdjbVZ4ZFdseVpTZ25MaTlmYzJWMExYQnliM1J2SnlrdWMyVjBPMXh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JtZFc1amRHbHZiaUFvZEdoaGRDd2dkR0Z5WjJWMExDQkRLU0I3WEc0Z0lIWmhjaUJUSUQwZ2RHRnlaMlYwTG1OdmJuTjBjblZqZEc5eU8xeHVJQ0IyWVhJZ1VEdGNiaUFnYVdZZ0tGTWdJVDA5SUVNZ0ppWWdkSGx3Wlc5bUlGTWdQVDBnSjJaMWJtTjBhVzl1SnlBbUppQW9VQ0E5SUZNdWNISnZkRzkwZVhCbEtTQWhQVDBnUXk1d2NtOTBiM1I1Y0dVZ0ppWWdhWE5QWW1wbFkzUW9VQ2tnSmlZZ2MyVjBVSEp2ZEc5MGVYQmxUMllwSUh0Y2JpQWdJQ0J6WlhSUWNtOTBiM1I1Y0dWUFppaDBhR0YwTENCUUtUdGNiaUFnZlNCeVpYUjFjbTRnZEdoaGREdGNibjA3WEc0aVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHNpTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pbmhlcml0LWlmLXJlcXVpcmVkLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pb2JqZWN0LmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faW9iamVjdC5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18pe2V2YWwoIi8vIGZhbGxiYWNrIGZvciBub24tYXJyYXktbGlrZSBFUzMgYW5kIG5vbi1lbnVtZXJhYmxlIG9sZCBWOCBzdHJpbmdzXG52YXIgY29mID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fY29mICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19jb2YuanNcIik7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zXG5tb2R1bGUuZXhwb3J0cyA9IE9iamVjdCgneicpLnByb3BlcnR5SXNFbnVtZXJhYmxlKDApID8gT2JqZWN0IDogZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBjb2YoaXQpID09ICdTdHJpbmcnID8gaXQuc3BsaXQoJycpIDogT2JqZWN0KGl0KTtcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTlwYjJKcVpXTjBMbXB6TG1weklpd2ljMjkxY21ObGN5STZXeUozWldKd1lXTnJPaTh2THk0dmJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWZhVzlpYW1WamRDNXFjejgyTWpaaElsMHNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaTh2SUdaaGJHeGlZV05ySUdadmNpQnViMjR0WVhKeVlYa3RiR2xyWlNCRlV6TWdZVzVrSUc1dmJpMWxiblZ0WlhKaFlteGxJRzlzWkNCV09DQnpkSEpwYm1kelhHNTJZWElnWTI5bUlEMGdjbVZ4ZFdseVpTZ25MaTlmWTI5bUp5azdYRzR2THlCbGMyeHBiblF0WkdsellXSnNaUzF1WlhoMExXeHBibVVnYm04dGNISnZkRzkwZVhCbExXSjFhV3gwYVc1elhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlFOWlhbVZqZENnbmVpY3BMbkJ5YjNCbGNuUjVTWE5GYm5WdFpYSmhZbXhsS0RBcElEOGdUMkpxWldOMElEb2dablZ1WTNScGIyNGdLR2wwS1NCN1hHNGdJSEpsZEhWeWJpQmpiMllvYVhRcElEMDlJQ2RUZEhKcGJtY25JRDhnYVhRdWMzQnNhWFFvSnljcElEb2dUMkpxWldOMEtHbDBLVHRjYm4wN1hHNGlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUc2lMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2lvYmplY3QuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2lzLWFycmF5LmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2lzLWFycmF5LmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18pe2V2YWwoIi8vIDcuMi4yIElzQXJyYXkoYXJndW1lbnQpXG52YXIgY29mID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fY29mICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19jb2YuanNcIik7XG5tb2R1bGUuZXhwb3J0cyA9IEFycmF5LmlzQXJyYXkgfHwgZnVuY3Rpb24gaXNBcnJheShhcmcpIHtcbiAgcmV0dXJuIGNvZihhcmcpID09ICdBcnJheSc7XG59O1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5cGN5MWhjbkpoZVM1cWN5NXFjeUlzSW5OdmRYSmpaWE1pT2xzaWQyVmljR0ZqYXpvdkx5OHVMMjV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WDJsekxXRnljbUY1TG1welB6RXhOamtpWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUx5OGdOeTR5TGpJZ1NYTkJjbkpoZVNoaGNtZDFiV1Z1ZENsY2JuWmhjaUJqYjJZZ1BTQnlaWEYxYVhKbEtDY3VMMTlqYjJZbktUdGNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdRWEp5WVhrdWFYTkJjbkpoZVNCOGZDQm1kVzVqZEdsdmJpQnBjMEZ5Y21GNUtHRnlaeWtnZTF4dUlDQnlaWFIxY200Z1kyOW1LR0Z5WnlrZ1BUMGdKMEZ5Y21GNUp6dGNibjA3WEc0aVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdJaXdpYzI5MWNtTmxVbTl2ZENJNklpSjlcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2lzLWFycmF5LmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pcy1vYmplY3QuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2lzLW9iamVjdC5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpe2V2YWwoIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiB0eXBlb2YgaXQgPT09ICdvYmplY3QnID8gaXQgIT09IG51bGwgOiB0eXBlb2YgaXQgPT09ICdmdW5jdGlvbic7XG59O1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5cGN5MXZZbXBsWTNRdWFuTXVhbk1pTENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OHZMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5cGN5MXZZbXBsWTNRdWFuTS9aRE5tTkNKZExDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnRiMlIxYkdVdVpYaHdiM0owY3lBOUlHWjFibU4wYVc5dUlDaHBkQ2tnZTF4dUlDQnlaWFIxY200Z2RIbHdaVzltSUdsMElEMDlQU0FuYjJKcVpXTjBKeUEvSUdsMElDRTlQU0J1ZFd4c0lEb2dkSGx3Wlc5bUlHbDBJRDA5UFNBblpuVnVZM1JwYjI0bk8xeHVmVHRjYmlKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkRRVHRCUVVOQk95SXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2lzLW9iamVjdC5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXMtcmVnZXhwLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pcy1yZWdleHAuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18pe2V2YWwoIi8vIDcuMi44IElzUmVnRXhwKGFyZ3VtZW50KVxudmFyIGlzT2JqZWN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9faXMtb2JqZWN0ICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pcy1vYmplY3QuanNcIik7XG52YXIgY29mID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fY29mICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19jb2YuanNcIik7XG52YXIgTUFUQ0ggPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL193a3MgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3drcy5qc1wiKSgnbWF0Y2gnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHZhciBpc1JlZ0V4cDtcbiAgcmV0dXJuIGlzT2JqZWN0KGl0KSAmJiAoKGlzUmVnRXhwID0gaXRbTUFUQ0hdKSAhPT0gdW5kZWZpbmVkID8gISFpc1JlZ0V4cCA6IGNvZihpdCkgPT0gJ1JlZ0V4cCcpO1xufTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOXBjeTF5WldkbGVIQXVhbk11YW5NaUxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTh2TGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOXBjeTF5WldkbGVIQXVhbk0vWVdGbE15SmRMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2THlBM0xqSXVPQ0JKYzFKbFowVjRjQ2hoY21kMWJXVnVkQ2xjYm5aaGNpQnBjMDlpYW1WamRDQTlJSEpsY1hWcGNtVW9KeTR2WDJsekxXOWlhbVZqZENjcE8xeHVkbUZ5SUdOdlppQTlJSEpsY1hWcGNtVW9KeTR2WDJOdlppY3BPMXh1ZG1GeUlFMUJWRU5JSUQwZ2NtVnhkV2x5WlNnbkxpOWZkMnR6Snlrb0oyMWhkR05vSnlrN1hHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlHWjFibU4wYVc5dUlDaHBkQ2tnZTF4dUlDQjJZWElnYVhOU1pXZEZlSEE3WEc0Z0lISmxkSFZ5YmlCcGMwOWlhbVZqZENocGRDa2dKaVlnS0NocGMxSmxaMFY0Y0NBOUlHbDBXMDFCVkVOSVhTa2dJVDA5SUhWdVpHVm1hVzVsWkNBL0lDRWhhWE5TWldkRmVIQWdPaUJqYjJZb2FYUXBJRDA5SUNkU1pXZEZlSEFuS1R0Y2JuMDdYRzRpWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3SWl3aWMyOTFjbU5sVW05dmRDSTZJaUo5XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pcy1yZWdleHAuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2l0ZXItY3JlYXRlLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2l0ZXItY3JlYXRlLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18peyJ1c2Ugc3RyaWN0IjtldmFsKCJcbnZhciBjcmVhdGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19vYmplY3QtY3JlYXRlICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3QtY3JlYXRlLmpzXCIpO1xudmFyIGRlc2NyaXB0b3IgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19wcm9wZXJ0eS1kZXNjICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19wcm9wZXJ0eS1kZXNjLmpzXCIpO1xudmFyIHNldFRvU3RyaW5nVGFnID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fc2V0LXRvLXN0cmluZy10YWcgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3NldC10by1zdHJpbmctdGFnLmpzXCIpO1xudmFyIEl0ZXJhdG9yUHJvdG90eXBlID0ge307XG5cbi8vIDI1LjEuMi4xLjEgJUl0ZXJhdG9yUHJvdG90eXBlJVtAQGl0ZXJhdG9yXSgpXG5fX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19oaWRlICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19oaWRlLmpzXCIpKEl0ZXJhdG9yUHJvdG90eXBlLCBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL193a3MgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3drcy5qc1wiKSgnaXRlcmF0b3InKSwgZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKENvbnN0cnVjdG9yLCBOQU1FLCBuZXh0KSB7XG4gIENvbnN0cnVjdG9yLnByb3RvdHlwZSA9IGNyZWF0ZShJdGVyYXRvclByb3RvdHlwZSwgeyBuZXh0OiBkZXNjcmlwdG9yKDEsIG5leHQpIH0pO1xuICBzZXRUb1N0cmluZ1RhZyhDb25zdHJ1Y3RvciwgTkFNRSArICcgSXRlcmF0b3InKTtcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTlwZEdWeUxXTnlaV0YwWlM1cWN5NXFjeUlzSW5OdmRYSmpaWE1pT2xzaWQyVmljR0ZqYXpvdkx5OHVMMjV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WDJsMFpYSXRZM0psWVhSbExtcHpQelF4WVRBaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lKM1Z6WlNCemRISnBZM1FuTzF4dWRtRnlJR055WldGMFpTQTlJSEpsY1hWcGNtVW9KeTR2WDI5aWFtVmpkQzFqY21WaGRHVW5LVHRjYm5aaGNpQmtaWE5qY21sd2RHOXlJRDBnY21WeGRXbHlaU2duTGk5ZmNISnZjR1Z5ZEhrdFpHVnpZeWNwTzF4dWRtRnlJSE5sZEZSdlUzUnlhVzVuVkdGbklEMGdjbVZ4ZFdseVpTZ25MaTlmYzJWMExYUnZMWE4wY21sdVp5MTBZV2NuS1R0Y2JuWmhjaUJKZEdWeVlYUnZjbEJ5YjNSdmRIbHdaU0E5SUh0OU8xeHVYRzR2THlBeU5TNHhMakl1TVM0eElDVkpkR1Z5WVhSdmNsQnliM1J2ZEhsd1pTVmJRRUJwZEdWeVlYUnZjbDBvS1Z4dWNtVnhkV2x5WlNnbkxpOWZhR2xrWlNjcEtFbDBaWEpoZEc5eVVISnZkRzkwZVhCbExDQnlaWEYxYVhKbEtDY3VMMTkzYTNNbktTZ25hWFJsY21GMGIzSW5LU3dnWm5WdVkzUnBiMjRnS0NrZ2V5QnlaWFIxY200Z2RHaHBjenNnZlNrN1hHNWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdablZ1WTNScGIyNGdLRU52Ym5OMGNuVmpkRzl5TENCT1FVMUZMQ0J1WlhoMEtTQjdYRzRnSUVOdmJuTjBjblZqZEc5eUxuQnliM1J2ZEhsd1pTQTlJR055WldGMFpTaEpkR1Z5WVhSdmNsQnliM1J2ZEhsd1pTd2dleUJ1WlhoME9pQmtaWE5qY21sd2RHOXlLREVzSUc1bGVIUXBJSDBwTzF4dUlDQnpaWFJVYjFOMGNtbHVaMVJoWnloRGIyNXpkSEoxWTNSdmNpd2dUa0ZOUlNBcklDY2dTWFJsY21GMGIzSW5LVHRjYm4wN1hHNGlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk95SXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2l0ZXItY3JlYXRlLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pdGVyLWRlZmluZS5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pdGVyLWRlZmluZS5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXsidXNlIHN0cmljdCI7ZXZhbCgiXG52YXIgTElCUkFSWSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2xpYnJhcnkgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2xpYnJhcnkuanNcIik7XG52YXIgJGV4cG9ydCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2V4cG9ydCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZXhwb3J0LmpzXCIpO1xudmFyIHJlZGVmaW5lID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fcmVkZWZpbmUgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3JlZGVmaW5lLmpzXCIpO1xudmFyIGhpZGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19oaWRlICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19oaWRlLmpzXCIpO1xudmFyIEl0ZXJhdG9ycyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2l0ZXJhdG9ycyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXRlcmF0b3JzLmpzXCIpO1xudmFyICRpdGVyQ3JlYXRlID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9faXRlci1jcmVhdGUgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2l0ZXItY3JlYXRlLmpzXCIpO1xudmFyIHNldFRvU3RyaW5nVGFnID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fc2V0LXRvLXN0cmluZy10YWcgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3NldC10by1zdHJpbmctdGFnLmpzXCIpO1xudmFyIGdldFByb3RvdHlwZU9mID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fb2JqZWN0LWdwbyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fb2JqZWN0LWdwby5qc1wiKTtcbnZhciBJVEVSQVRPUiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3drcyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fd2tzLmpzXCIpKCdpdGVyYXRvcicpO1xudmFyIEJVR0dZID0gIShbXS5rZXlzICYmICduZXh0JyBpbiBbXS5rZXlzKCkpOyAvLyBTYWZhcmkgaGFzIGJ1Z2d5IGl0ZXJhdG9ycyB3L28gYG5leHRgXG52YXIgRkZfSVRFUkFUT1IgPSAnQEBpdGVyYXRvcic7XG52YXIgS0VZUyA9ICdrZXlzJztcbnZhciBWQUxVRVMgPSAndmFsdWVzJztcblxudmFyIHJldHVyblRoaXMgPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9O1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChCYXNlLCBOQU1FLCBDb25zdHJ1Y3RvciwgbmV4dCwgREVGQVVMVCwgSVNfU0VULCBGT1JDRUQpIHtcbiAgJGl0ZXJDcmVhdGUoQ29uc3RydWN0b3IsIE5BTUUsIG5leHQpO1xuICB2YXIgZ2V0TWV0aG9kID0gZnVuY3Rpb24gKGtpbmQpIHtcbiAgICBpZiAoIUJVR0dZICYmIGtpbmQgaW4gcHJvdG8pIHJldHVybiBwcm90b1traW5kXTtcbiAgICBzd2l0Y2ggKGtpbmQpIHtcbiAgICAgIGNhc2UgS0VZUzogcmV0dXJuIGZ1bmN0aW9uIGtleXMoKSB7IHJldHVybiBuZXcgQ29uc3RydWN0b3IodGhpcywga2luZCk7IH07XG4gICAgICBjYXNlIFZBTFVFUzogcmV0dXJuIGZ1bmN0aW9uIHZhbHVlcygpIHsgcmV0dXJuIG5ldyBDb25zdHJ1Y3Rvcih0aGlzLCBraW5kKTsgfTtcbiAgICB9IHJldHVybiBmdW5jdGlvbiBlbnRyaWVzKCkgeyByZXR1cm4gbmV3IENvbnN0cnVjdG9yKHRoaXMsIGtpbmQpOyB9O1xuICB9O1xuICB2YXIgVEFHID0gTkFNRSArICcgSXRlcmF0b3InO1xuICB2YXIgREVGX1ZBTFVFUyA9IERFRkFVTFQgPT0gVkFMVUVTO1xuICB2YXIgVkFMVUVTX0JVRyA9IGZhbHNlO1xuICB2YXIgcHJvdG8gPSBCYXNlLnByb3RvdHlwZTtcbiAgdmFyICRuYXRpdmUgPSBwcm90b1tJVEVSQVRPUl0gfHwgcHJvdG9bRkZfSVRFUkFUT1JdIHx8IERFRkFVTFQgJiYgcHJvdG9bREVGQVVMVF07XG4gIHZhciAkZGVmYXVsdCA9ICRuYXRpdmUgfHwgZ2V0TWV0aG9kKERFRkFVTFQpO1xuICB2YXIgJGVudHJpZXMgPSBERUZBVUxUID8gIURFRl9WQUxVRVMgPyAkZGVmYXVsdCA6IGdldE1ldGhvZCgnZW50cmllcycpIDogdW5kZWZpbmVkO1xuICB2YXIgJGFueU5hdGl2ZSA9IE5BTUUgPT0gJ0FycmF5JyA/IHByb3RvLmVudHJpZXMgfHwgJG5hdGl2ZSA6ICRuYXRpdmU7XG4gIHZhciBtZXRob2RzLCBrZXksIEl0ZXJhdG9yUHJvdG90eXBlO1xuICAvLyBGaXggbmF0aXZlXG4gIGlmICgkYW55TmF0aXZlKSB7XG4gICAgSXRlcmF0b3JQcm90b3R5cGUgPSBnZXRQcm90b3R5cGVPZigkYW55TmF0aXZlLmNhbGwobmV3IEJhc2UoKSkpO1xuICAgIGlmIChJdGVyYXRvclByb3RvdHlwZSAhPT0gT2JqZWN0LnByb3RvdHlwZSAmJiBJdGVyYXRvclByb3RvdHlwZS5uZXh0KSB7XG4gICAgICAvLyBTZXQgQEB0b1N0cmluZ1RhZyB0byBuYXRpdmUgaXRlcmF0b3JzXG4gICAgICBzZXRUb1N0cmluZ1RhZyhJdGVyYXRvclByb3RvdHlwZSwgVEFHLCB0cnVlKTtcbiAgICAgIC8vIGZpeCBmb3Igc29tZSBvbGQgZW5naW5lc1xuICAgICAgaWYgKCFMSUJSQVJZICYmIHR5cGVvZiBJdGVyYXRvclByb3RvdHlwZVtJVEVSQVRPUl0gIT0gJ2Z1bmN0aW9uJykgaGlkZShJdGVyYXRvclByb3RvdHlwZSwgSVRFUkFUT1IsIHJldHVyblRoaXMpO1xuICAgIH1cbiAgfVxuICAvLyBmaXggQXJyYXkje3ZhbHVlcywgQEBpdGVyYXRvcn0ubmFtZSBpbiBWOCAvIEZGXG4gIGlmIChERUZfVkFMVUVTICYmICRuYXRpdmUgJiYgJG5hdGl2ZS5uYW1lICE9PSBWQUxVRVMpIHtcbiAgICBWQUxVRVNfQlVHID0gdHJ1ZTtcbiAgICAkZGVmYXVsdCA9IGZ1bmN0aW9uIHZhbHVlcygpIHsgcmV0dXJuICRuYXRpdmUuY2FsbCh0aGlzKTsgfTtcbiAgfVxuICAvLyBEZWZpbmUgaXRlcmF0b3JcbiAgaWYgKCghTElCUkFSWSB8fCBGT1JDRUQpICYmIChCVUdHWSB8fCBWQUxVRVNfQlVHIHx8ICFwcm90b1tJVEVSQVRPUl0pKSB7XG4gICAgaGlkZShwcm90bywgSVRFUkFUT1IsICRkZWZhdWx0KTtcbiAgfVxuICAvLyBQbHVnIGZvciBsaWJyYXJ5XG4gIEl0ZXJhdG9yc1tOQU1FXSA9ICRkZWZhdWx0O1xuICBJdGVyYXRvcnNbVEFHXSA9IHJldHVyblRoaXM7XG4gIGlmIChERUZBVUxUKSB7XG4gICAgbWV0aG9kcyA9IHtcbiAgICAgIHZhbHVlczogREVGX1ZBTFVFUyA/ICRkZWZhdWx0IDogZ2V0TWV0aG9kKFZBTFVFUyksXG4gICAgICBrZXlzOiBJU19TRVQgPyAkZGVmYXVsdCA6IGdldE1ldGhvZChLRVlTKSxcbiAgICAgIGVudHJpZXM6ICRlbnRyaWVzXG4gICAgfTtcbiAgICBpZiAoRk9SQ0VEKSBmb3IgKGtleSBpbiBtZXRob2RzKSB7XG4gICAgICBpZiAoIShrZXkgaW4gcHJvdG8pKSByZWRlZmluZShwcm90bywga2V5LCBtZXRob2RzW2tleV0pO1xuICAgIH0gZWxzZSAkZXhwb3J0KCRleHBvcnQuUCArICRleHBvcnQuRiAqIChCVUdHWSB8fCBWQUxVRVNfQlVHKSwgTkFNRSwgbWV0aG9kcyk7XG4gIH1cbiAgcmV0dXJuIG1ldGhvZHM7XG59O1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5cGRHVnlMV1JsWm1sdVpTNXFjeTVxY3lJc0luTnZkWEpqWlhNaU9sc2lkMlZpY0dGamF6b3ZMeTh1TDI1dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlgybDBaWEl0WkdWbWFXNWxMbXB6UHpBeFpqa2lYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpSjNWelpTQnpkSEpwWTNRbk8xeHVkbUZ5SUV4SlFsSkJVbGtnUFNCeVpYRjFhWEpsS0NjdUwxOXNhV0p5WVhKNUp5azdYRzUyWVhJZ0pHVjRjRzl5ZENBOUlISmxjWFZwY21Vb0p5NHZYMlY0Y0c5eWRDY3BPMXh1ZG1GeUlISmxaR1ZtYVc1bElEMGdjbVZ4ZFdseVpTZ25MaTlmY21Wa1pXWnBibVVuS1R0Y2JuWmhjaUJvYVdSbElEMGdjbVZ4ZFdseVpTZ25MaTlmYUdsa1pTY3BPMXh1ZG1GeUlFbDBaWEpoZEc5eWN5QTlJSEpsY1hWcGNtVW9KeTR2WDJsMFpYSmhkRzl5Y3ljcE8xeHVkbUZ5SUNScGRHVnlRM0psWVhSbElEMGdjbVZ4ZFdseVpTZ25MaTlmYVhSbGNpMWpjbVZoZEdVbktUdGNiblpoY2lCelpYUlViMU4wY21sdVoxUmhaeUE5SUhKbGNYVnBjbVVvSnk0dlgzTmxkQzEwYnkxemRISnBibWN0ZEdGbkp5azdYRzUyWVhJZ1oyVjBVSEp2ZEc5MGVYQmxUMllnUFNCeVpYRjFhWEpsS0NjdUwxOXZZbXBsWTNRdFozQnZKeWs3WEc1MllYSWdTVlJGVWtGVVQxSWdQU0J5WlhGMWFYSmxLQ2N1TDE5M2EzTW5LU2duYVhSbGNtRjBiM0luS1R0Y2JuWmhjaUJDVlVkSFdTQTlJQ0VvVzEwdWEyVjVjeUFtSmlBbmJtVjRkQ2NnYVc0Z1cxMHVhMlY1Y3lncEtUc2dMeThnVTJGbVlYSnBJR2hoY3lCaWRXZG5lU0JwZEdWeVlYUnZjbk1nZHk5dklHQnVaWGgwWUZ4dWRtRnlJRVpHWDBsVVJWSkJWRTlTSUQwZ0owQkFhWFJsY21GMGIzSW5PMXh1ZG1GeUlFdEZXVk1nUFNBbmEyVjVjeWM3WEc1MllYSWdWa0ZNVlVWVElEMGdKM1poYkhWbGN5YzdYRzVjYm5aaGNpQnlaWFIxY201VWFHbHpJRDBnWm5WdVkzUnBiMjRnS0NrZ2V5QnlaWFIxY200Z2RHaHBjenNnZlR0Y2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQm1kVzVqZEdsdmJpQW9RbUZ6WlN3Z1RrRk5SU3dnUTI5dWMzUnlkV04wYjNJc0lHNWxlSFFzSUVSRlJrRlZURlFzSUVsVFgxTkZWQ3dnUms5U1EwVkVLU0I3WEc0Z0lDUnBkR1Z5UTNKbFlYUmxLRU52Ym5OMGNuVmpkRzl5TENCT1FVMUZMQ0J1WlhoMEtUdGNiaUFnZG1GeUlHZGxkRTFsZEdodlpDQTlJR1oxYm1OMGFXOXVJQ2hyYVc1a0tTQjdYRzRnSUNBZ2FXWWdLQ0ZDVlVkSFdTQW1KaUJyYVc1a0lHbHVJSEJ5YjNSdktTQnlaWFIxY200Z2NISnZkRzliYTJsdVpGMDdYRzRnSUNBZ2MzZHBkR05vSUNocmFXNWtLU0I3WEc0Z0lDQWdJQ0JqWVhObElFdEZXVk02SUhKbGRIVnliaUJtZFc1amRHbHZiaUJyWlhsektDa2dleUJ5WlhSMWNtNGdibVYzSUVOdmJuTjBjblZqZEc5eUtIUm9hWE1zSUd0cGJtUXBPeUI5TzF4dUlDQWdJQ0FnWTJGelpTQldRVXhWUlZNNklISmxkSFZ5YmlCbWRXNWpkR2x2YmlCMllXeDFaWE1vS1NCN0lISmxkSFZ5YmlCdVpYY2dRMjl1YzNSeWRXTjBiM0lvZEdocGN5d2dhMmx1WkNrN0lIMDdYRzRnSUNBZ2ZTQnlaWFIxY200Z1puVnVZM1JwYjI0Z1pXNTBjbWxsY3lncElIc2djbVYwZFhKdUlHNWxkeUJEYjI1emRISjFZM1J2Y2loMGFHbHpMQ0JyYVc1a0tUc2dmVHRjYmlBZ2ZUdGNiaUFnZG1GeUlGUkJSeUE5SUU1QlRVVWdLeUFuSUVsMFpYSmhkRzl5Snp0Y2JpQWdkbUZ5SUVSRlJsOVdRVXhWUlZNZ1BTQkVSVVpCVlV4VUlEMDlJRlpCVEZWRlV6dGNiaUFnZG1GeUlGWkJURlZGVTE5Q1ZVY2dQU0JtWVd4elpUdGNiaUFnZG1GeUlIQnliM1J2SUQwZ1FtRnpaUzV3Y205MGIzUjVjR1U3WEc0Z0lIWmhjaUFrYm1GMGFYWmxJRDBnY0hKdmRHOWJTVlJGVWtGVVQxSmRJSHg4SUhCeWIzUnZXMFpHWDBsVVJWSkJWRTlTWFNCOGZDQkVSVVpCVlV4VUlDWW1JSEJ5YjNSdlcwUkZSa0ZWVEZSZE8xeHVJQ0IyWVhJZ0pHUmxabUYxYkhRZ1BTQWtibUYwYVhabElIeDhJR2RsZEUxbGRHaHZaQ2hFUlVaQlZVeFVLVHRjYmlBZ2RtRnlJQ1JsYm5SeWFXVnpJRDBnUkVWR1FWVk1WQ0EvSUNGRVJVWmZWa0ZNVlVWVElEOGdKR1JsWm1GMWJIUWdPaUJuWlhSTlpYUm9iMlFvSjJWdWRISnBaWE1uS1NBNklIVnVaR1ZtYVc1bFpEdGNiaUFnZG1GeUlDUmhibmxPWVhScGRtVWdQU0JPUVUxRklEMDlJQ2RCY25KaGVTY2dQeUJ3Y205MGJ5NWxiblJ5YVdWeklIeDhJQ1J1WVhScGRtVWdPaUFrYm1GMGFYWmxPMXh1SUNCMllYSWdiV1YwYUc5a2N5d2dhMlY1TENCSmRHVnlZWFJ2Y2xCeWIzUnZkSGx3WlR0Y2JpQWdMeThnUm1sNElHNWhkR2wyWlZ4dUlDQnBaaUFvSkdGdWVVNWhkR2wyWlNrZ2UxeHVJQ0FnSUVsMFpYSmhkRzl5VUhKdmRHOTBlWEJsSUQwZ1oyVjBVSEp2ZEc5MGVYQmxUMllvSkdGdWVVNWhkR2wyWlM1allXeHNLRzVsZHlCQ1lYTmxLQ2twS1R0Y2JpQWdJQ0JwWmlBb1NYUmxjbUYwYjNKUWNtOTBiM1I1Y0dVZ0lUMDlJRTlpYW1WamRDNXdjbTkwYjNSNWNHVWdKaVlnU1hSbGNtRjBiM0pRY205MGIzUjVjR1V1Ym1WNGRDa2dlMXh1SUNBZ0lDQWdMeThnVTJWMElFQkFkRzlUZEhKcGJtZFVZV2NnZEc4Z2JtRjBhWFpsSUdsMFpYSmhkRzl5YzF4dUlDQWdJQ0FnYzJWMFZHOVRkSEpwYm1kVVlXY29TWFJsY21GMGIzSlFjbTkwYjNSNWNHVXNJRlJCUnl3Z2RISjFaU2s3WEc0Z0lDQWdJQ0F2THlCbWFYZ2dabTl5SUhOdmJXVWdiMnhrSUdWdVoybHVaWE5jYmlBZ0lDQWdJR2xtSUNnaFRFbENVa0ZTV1NBbUppQjBlWEJsYjJZZ1NYUmxjbUYwYjNKUWNtOTBiM1I1Y0dWYlNWUkZVa0ZVVDFKZElDRTlJQ2RtZFc1amRHbHZiaWNwSUdocFpHVW9TWFJsY21GMGIzSlFjbTkwYjNSNWNHVXNJRWxVUlZKQlZFOVNMQ0J5WlhSMWNtNVVhR2x6S1R0Y2JpQWdJQ0I5WEc0Z0lIMWNiaUFnTHk4Z1ptbDRJRUZ5Y21GNUkzdDJZV3gxWlhNc0lFQkFhWFJsY21GMGIzSjlMbTVoYldVZ2FXNGdWamdnTHlCR1JseHVJQ0JwWmlBb1JFVkdYMVpCVEZWRlV5QW1KaUFrYm1GMGFYWmxJQ1ltSUNSdVlYUnBkbVV1Ym1GdFpTQWhQVDBnVmtGTVZVVlRLU0I3WEc0Z0lDQWdWa0ZNVlVWVFgwSlZSeUE5SUhSeWRXVTdYRzRnSUNBZ0pHUmxabUYxYkhRZ1BTQm1kVzVqZEdsdmJpQjJZV3gxWlhNb0tTQjdJSEpsZEhWeWJpQWtibUYwYVhabExtTmhiR3dvZEdocGN5azdJSDA3WEc0Z0lIMWNiaUFnTHk4Z1JHVm1hVzVsSUdsMFpYSmhkRzl5WEc0Z0lHbG1JQ2dvSVV4SlFsSkJVbGtnZkh3Z1JrOVNRMFZFS1NBbUppQW9RbFZIUjFrZ2ZId2dWa0ZNVlVWVFgwSlZSeUI4ZkNBaGNISnZkRzliU1ZSRlVrRlVUMUpkS1NrZ2UxeHVJQ0FnSUdocFpHVW9jSEp2ZEc4c0lFbFVSVkpCVkU5U0xDQWtaR1ZtWVhWc2RDazdYRzRnSUgxY2JpQWdMeThnVUd4MVp5Qm1iM0lnYkdsaWNtRnllVnh1SUNCSmRHVnlZWFJ2Y25OYlRrRk5SVjBnUFNBa1pHVm1ZWFZzZER0Y2JpQWdTWFJsY21GMGIzSnpXMVJCUjEwZ1BTQnlaWFIxY201VWFHbHpPMXh1SUNCcFppQW9SRVZHUVZWTVZDa2dlMXh1SUNBZ0lHMWxkR2h2WkhNZ1BTQjdYRzRnSUNBZ0lDQjJZV3gxWlhNNklFUkZSbDlXUVV4VlJWTWdQeUFrWkdWbVlYVnNkQ0E2SUdkbGRFMWxkR2h2WkNoV1FVeFZSVk1wTEZ4dUlDQWdJQ0FnYTJWNWN6b2dTVk5mVTBWVUlEOGdKR1JsWm1GMWJIUWdPaUJuWlhSTlpYUm9iMlFvUzBWWlV5a3NYRzRnSUNBZ0lDQmxiblJ5YVdWek9pQWtaVzUwY21sbGMxeHVJQ0FnSUgwN1hHNGdJQ0FnYVdZZ0tFWlBVa05GUkNrZ1ptOXlJQ2hyWlhrZ2FXNGdiV1YwYUc5a2N5a2dlMXh1SUNBZ0lDQWdhV1lnS0NFb2EyVjVJR2x1SUhCeWIzUnZLU2tnY21Wa1pXWnBibVVvY0hKdmRHOHNJR3RsZVN3Z2JXVjBhRzlrYzF0clpYbGRLVHRjYmlBZ0lDQjlJR1ZzYzJVZ0pHVjRjRzl5ZENna1pYaHdiM0owTGxBZ0t5QWtaWGh3YjNKMExrWWdLaUFvUWxWSFIxa2dmSHdnVmtGTVZVVlRYMEpWUnlrc0lFNUJUVVVzSUcxbGRHaHZaSE1wTzF4dUlDQjlYRzRnSUhKbGRIVnliaUJ0WlhSb2IyUnpPMXh1ZlR0Y2JpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk95SXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2l0ZXItZGVmaW5lLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pdGVyLXN0ZXAuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2l0ZXItc3RlcC5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpe2V2YWwoIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGRvbmUsIHZhbHVlKSB7XG4gIHJldHVybiB7IHZhbHVlOiB2YWx1ZSwgZG9uZTogISFkb25lIH07XG59O1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5cGRHVnlMWE4wWlhBdWFuTXVhbk1pTENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OHZMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5cGRHVnlMWE4wWlhBdWFuTS9aRFV6WWlKZExDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnRiMlIxYkdVdVpYaHdiM0owY3lBOUlHWjFibU4wYVc5dUlDaGtiMjVsTENCMllXeDFaU2tnZTF4dUlDQnlaWFIxY200Z2V5QjJZV3gxWlRvZ2RtRnNkV1VzSUdSdmJtVTZJQ0VoWkc5dVpTQjlPMXh1ZlR0Y2JpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZEUVR0QlFVTkJPeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pdGVyLXN0ZXAuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2l0ZXJhdG9ycy5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXRlcmF0b3JzLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7ZXZhbCgibW9kdWxlLmV4cG9ydHMgPSB7fTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOXBkR1Z5WVhSdmNuTXVhbk11YW5NaUxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTh2TGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOXBkR1Z5WVhSdmNuTXVhbk0vT0RSbU1pSmRMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUp0YjJSMWJHVXVaWGh3YjNKMGN5QTlJSHQ5TzF4dUlsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUc2lMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2l0ZXJhdG9ycy5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fbGlicmFyeS5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2xpYnJhcnkuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7ZXZhbCgibW9kdWxlLmV4cG9ydHMgPSBmYWxzZTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOXNhV0p5WVhKNUxtcHpMbXB6SWl3aWMyOTFjbU5sY3lJNld5SjNaV0p3WVdOck9pOHZMeTR2Ym05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJXOWtkV3hsY3k5ZmJHbGljbUZ5ZVM1cWN6OHlaREF3SWwwc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1ptRnNjMlU3WEc0aVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk95SXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2xpYnJhcnkuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX29iamVjdC1jcmVhdGUuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3QtY3JlYXRlLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7ZXZhbCgiLy8gMTkuMS4yLjIgLyAxNS4yLjMuNSBPYmplY3QuY3JlYXRlKE8gWywgUHJvcGVydGllc10pXG52YXIgYW5PYmplY3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19hbi1vYmplY3QgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FuLW9iamVjdC5qc1wiKTtcbnZhciBkUHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19vYmplY3QtZHBzICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3QtZHBzLmpzXCIpO1xudmFyIGVudW1CdWdLZXlzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fZW51bS1idWcta2V5cyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZW51bS1idWcta2V5cy5qc1wiKTtcbnZhciBJRV9QUk9UTyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3NoYXJlZC1rZXkgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3NoYXJlZC1rZXkuanNcIikoJ0lFX1BST1RPJyk7XG52YXIgRW1wdHkgPSBmdW5jdGlvbiAoKSB7IC8qIGVtcHR5ICovIH07XG52YXIgUFJPVE9UWVBFID0gJ3Byb3RvdHlwZSc7XG5cbi8vIENyZWF0ZSBvYmplY3Qgd2l0aCBmYWtlIGBudWxsYCBwcm90b3R5cGU6IHVzZSBpZnJhbWUgT2JqZWN0IHdpdGggY2xlYXJlZCBwcm90b3R5cGVcbnZhciBjcmVhdGVEaWN0ID0gZnVuY3Rpb24gKCkge1xuICAvLyBUaHJhc2gsIHdhc3RlIGFuZCBzb2RvbXk6IElFIEdDIGJ1Z1xuICB2YXIgaWZyYW1lID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fZG9tLWNyZWF0ZSAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZG9tLWNyZWF0ZS5qc1wiKSgnaWZyYW1lJyk7XG4gIHZhciBpID0gZW51bUJ1Z0tleXMubGVuZ3RoO1xuICB2YXIgbHQgPSAnPCc7XG4gIHZhciBndCA9ICc+JztcbiAgdmFyIGlmcmFtZURvY3VtZW50O1xuICBpZnJhbWUuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9faHRtbCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faHRtbC5qc1wiKS5hcHBlbmRDaGlsZChpZnJhbWUpO1xuICBpZnJhbWUuc3JjID0gJ2phdmFzY3JpcHQ6JzsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1zY3JpcHQtdXJsXG4gIC8vIGNyZWF0ZURpY3QgPSBpZnJhbWUuY29udGVudFdpbmRvdy5PYmplY3Q7XG4gIC8vIGh0bWwucmVtb3ZlQ2hpbGQoaWZyYW1lKTtcbiAgaWZyYW1lRG9jdW1lbnQgPSBpZnJhbWUuY29udGVudFdpbmRvdy5kb2N1bWVudDtcbiAgaWZyYW1lRG9jdW1lbnQub3BlbigpO1xuICBpZnJhbWVEb2N1bWVudC53cml0ZShsdCArICdzY3JpcHQnICsgZ3QgKyAnZG9jdW1lbnQuRj1PYmplY3QnICsgbHQgKyAnL3NjcmlwdCcgKyBndCk7XG4gIGlmcmFtZURvY3VtZW50LmNsb3NlKCk7XG4gIGNyZWF0ZURpY3QgPSBpZnJhbWVEb2N1bWVudC5GO1xuICB3aGlsZSAoaS0tKSBkZWxldGUgY3JlYXRlRGljdFtQUk9UT1RZUEVdW2VudW1CdWdLZXlzW2ldXTtcbiAgcmV0dXJuIGNyZWF0ZURpY3QoKTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gT2JqZWN0LmNyZWF0ZSB8fCBmdW5jdGlvbiBjcmVhdGUoTywgUHJvcGVydGllcykge1xuICB2YXIgcmVzdWx0O1xuICBpZiAoTyAhPT0gbnVsbCkge1xuICAgIEVtcHR5W1BST1RPVFlQRV0gPSBhbk9iamVjdChPKTtcbiAgICByZXN1bHQgPSBuZXcgRW1wdHkoKTtcbiAgICBFbXB0eVtQUk9UT1RZUEVdID0gbnVsbDtcbiAgICAvLyBhZGQgXCJfX3Byb3RvX19cIiBmb3IgT2JqZWN0LmdldFByb3RvdHlwZU9mIHBvbHlmaWxsXG4gICAgcmVzdWx0W0lFX1BST1RPXSA9IE87XG4gIH0gZWxzZSByZXN1bHQgPSBjcmVhdGVEaWN0KCk7XG4gIHJldHVybiBQcm9wZXJ0aWVzID09PSB1bmRlZmluZWQgPyByZXN1bHQgOiBkUHMocmVzdWx0LCBQcm9wZXJ0aWVzKTtcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTl2WW1wbFkzUXRZM0psWVhSbExtcHpMbXB6SWl3aWMyOTFjbU5sY3lJNld5SjNaV0p3WVdOck9pOHZMeTR2Ym05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJXOWtkV3hsY3k5ZmIySnFaV04wTFdOeVpXRjBaUzVxY3o4eVlXVmlJbDBzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4dklERTVMakV1TWk0eUlDOGdNVFV1TWk0ekxqVWdUMkpxWldOMExtTnlaV0YwWlNoUElGc3NJRkJ5YjNCbGNuUnBaWE5kS1Z4dWRtRnlJR0Z1VDJKcVpXTjBJRDBnY21WeGRXbHlaU2duTGk5ZllXNHRiMkpxWldOMEp5azdYRzUyWVhJZ1pGQnpJRDBnY21WeGRXbHlaU2duTGk5ZmIySnFaV04wTFdSd2N5Y3BPMXh1ZG1GeUlHVnVkVzFDZFdkTFpYbHpJRDBnY21WeGRXbHlaU2duTGk5ZlpXNTFiUzFpZFdjdGEyVjVjeWNwTzF4dWRtRnlJRWxGWDFCU1QxUlBJRDBnY21WeGRXbHlaU2duTGk5ZmMyaGhjbVZrTFd0bGVTY3BLQ2RKUlY5UVVrOVVUeWNwTzF4dWRtRnlJRVZ0Y0hSNUlEMGdablZ1WTNScGIyNGdLQ2tnZXlBdktpQmxiWEIwZVNBcUx5QjlPMXh1ZG1GeUlGQlNUMVJQVkZsUVJTQTlJQ2R3Y205MGIzUjVjR1VuTzF4dVhHNHZMeUJEY21WaGRHVWdiMkpxWldOMElIZHBkR2dnWm1GclpTQmdiblZzYkdBZ2NISnZkRzkwZVhCbE9pQjFjMlVnYVdaeVlXMWxJRTlpYW1WamRDQjNhWFJvSUdOc1pXRnlaV1FnY0hKdmRHOTBlWEJsWEc1MllYSWdZM0psWVhSbFJHbGpkQ0E5SUdaMWJtTjBhVzl1SUNncElIdGNiaUFnTHk4Z1ZHaHlZWE5vTENCM1lYTjBaU0JoYm1RZ2MyOWtiMjE1T2lCSlJTQkhReUJpZFdkY2JpQWdkbUZ5SUdsbWNtRnRaU0E5SUhKbGNYVnBjbVVvSnk0dlgyUnZiUzFqY21WaGRHVW5LU2duYVdaeVlXMWxKeWs3WEc0Z0lIWmhjaUJwSUQwZ1pXNTFiVUoxWjB0bGVYTXViR1Z1WjNSb08xeHVJQ0IyWVhJZ2JIUWdQU0FuUENjN1hHNGdJSFpoY2lCbmRDQTlJQ2MrSnp0Y2JpQWdkbUZ5SUdsbWNtRnRaVVJ2WTNWdFpXNTBPMXh1SUNCcFpuSmhiV1V1YzNSNWJHVXVaR2x6Y0d4aGVTQTlJQ2R1YjI1bEp6dGNiaUFnY21WeGRXbHlaU2duTGk5ZmFIUnRiQ2NwTG1Gd2NHVnVaRU5vYVd4a0tHbG1jbUZ0WlNrN1hHNGdJR2xtY21GdFpTNXpjbU1nUFNBbmFtRjJZWE5qY21sd2REb25PeUF2THlCbGMyeHBiblF0WkdsellXSnNaUzFzYVc1bElHNXZMWE5qY21sd2RDMTFjbXhjYmlBZ0x5OGdZM0psWVhSbFJHbGpkQ0E5SUdsbWNtRnRaUzVqYjI1MFpXNTBWMmx1Wkc5M0xrOWlhbVZqZER0Y2JpQWdMeThnYUhSdGJDNXlaVzF2ZG1WRGFHbHNaQ2hwWm5KaGJXVXBPMXh1SUNCcFpuSmhiV1ZFYjJOMWJXVnVkQ0E5SUdsbWNtRnRaUzVqYjI1MFpXNTBWMmx1Wkc5M0xtUnZZM1Z0Wlc1ME8xeHVJQ0JwWm5KaGJXVkViMk4xYldWdWRDNXZjR1Z1S0NrN1hHNGdJR2xtY21GdFpVUnZZM1Z0Wlc1MExuZHlhWFJsS0d4MElDc2dKM05qY21sd2RDY2dLeUJuZENBcklDZGtiMk4xYldWdWRDNUdQVTlpYW1WamRDY2dLeUJzZENBcklDY3ZjMk55YVhCMEp5QXJJR2QwS1R0Y2JpQWdhV1p5WVcxbFJHOWpkVzFsYm5RdVkyeHZjMlVvS1R0Y2JpQWdZM0psWVhSbFJHbGpkQ0E5SUdsbWNtRnRaVVJ2WTNWdFpXNTBMa1k3WEc0Z0lIZG9hV3hsSUNocExTMHBJR1JsYkdWMFpTQmpjbVZoZEdWRWFXTjBXMUJTVDFSUFZGbFFSVjFiWlc1MWJVSjFaMHRsZVhOYmFWMWRPMXh1SUNCeVpYUjFjbTRnWTNKbFlYUmxSR2xqZENncE8xeHVmVHRjYmx4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCUFltcGxZM1F1WTNKbFlYUmxJSHg4SUdaMWJtTjBhVzl1SUdOeVpXRjBaU2hQTENCUWNtOXdaWEowYVdWektTQjdYRzRnSUhaaGNpQnlaWE4xYkhRN1hHNGdJR2xtSUNoUElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ1JXMXdkSGxiVUZKUFZFOVVXVkJGWFNBOUlHRnVUMkpxWldOMEtFOHBPMXh1SUNBZ0lISmxjM1ZzZENBOUlHNWxkeUJGYlhCMGVTZ3BPMXh1SUNBZ0lFVnRjSFI1VzFCU1QxUlBWRmxRUlYwZ1BTQnVkV3hzTzF4dUlDQWdJQzh2SUdGa1pDQmNJbDlmY0hKdmRHOWZYMXdpSUdadmNpQlBZbXBsWTNRdVoyVjBVSEp2ZEc5MGVYQmxUMllnY0c5c2VXWnBiR3hjYmlBZ0lDQnlaWE4xYkhSYlNVVmZVRkpQVkU5ZElEMGdUenRjYmlBZ2ZTQmxiSE5sSUhKbGMzVnNkQ0E5SUdOeVpXRjBaVVJwWTNRb0tUdGNiaUFnY21WMGRYSnVJRkJ5YjNCbGNuUnBaWE1nUFQwOUlIVnVaR1ZtYVc1bFpDQS9JSEpsYzNWc2RDQTZJR1JRY3loeVpYTjFiSFFzSUZCeWIzQmxjblJwWlhNcE8xeHVmVHRjYmlKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUc2lMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX29iamVjdC1jcmVhdGUuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX29iamVjdC1kcC5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fb2JqZWN0LWRwLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXtldmFsKCJ2YXIgYW5PYmplY3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19hbi1vYmplY3QgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FuLW9iamVjdC5qc1wiKTtcbnZhciBJRThfRE9NX0RFRklORSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2llOC1kb20tZGVmaW5lICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pZTgtZG9tLWRlZmluZS5qc1wiKTtcbnZhciB0b1ByaW1pdGl2ZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3RvLXByaW1pdGl2ZSAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8tcHJpbWl0aXZlLmpzXCIpO1xudmFyIGRQID0gT2JqZWN0LmRlZmluZVByb3BlcnR5O1xuXG5leHBvcnRzLmYgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19kZXNjcmlwdG9ycyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZGVzY3JpcHRvcnMuanNcIikgPyBPYmplY3QuZGVmaW5lUHJvcGVydHkgOiBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0eShPLCBQLCBBdHRyaWJ1dGVzKSB7XG4gIGFuT2JqZWN0KE8pO1xuICBQID0gdG9QcmltaXRpdmUoUCwgdHJ1ZSk7XG4gIGFuT2JqZWN0KEF0dHJpYnV0ZXMpO1xuICBpZiAoSUU4X0RPTV9ERUZJTkUpIHRyeSB7XG4gICAgcmV0dXJuIGRQKE8sIFAsIEF0dHJpYnV0ZXMpO1xuICB9IGNhdGNoIChlKSB7IC8qIGVtcHR5ICovIH1cbiAgaWYgKCdnZXQnIGluIEF0dHJpYnV0ZXMgfHwgJ3NldCcgaW4gQXR0cmlidXRlcykgdGhyb3cgVHlwZUVycm9yKCdBY2Nlc3NvcnMgbm90IHN1cHBvcnRlZCEnKTtcbiAgaWYgKCd2YWx1ZScgaW4gQXR0cmlidXRlcykgT1tQXSA9IEF0dHJpYnV0ZXMudmFsdWU7XG4gIHJldHVybiBPO1xufTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOXZZbXBsWTNRdFpIQXVhbk11YW5NaUxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTh2TGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOXZZbXBsWTNRdFpIQXVhbk0vT0Raall5SmRMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUoyWVhJZ1lXNVBZbXBsWTNRZ1BTQnlaWEYxYVhKbEtDY3VMMTloYmkxdlltcGxZM1FuS1R0Y2JuWmhjaUJKUlRoZlJFOU5YMFJGUmtsT1JTQTlJSEpsY1hWcGNtVW9KeTR2WDJsbE9DMWtiMjB0WkdWbWFXNWxKeWs3WEc1MllYSWdkRzlRY21sdGFYUnBkbVVnUFNCeVpYRjFhWEpsS0NjdUwxOTBieTF3Y21sdGFYUnBkbVVuS1R0Y2JuWmhjaUJrVUNBOUlFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlVHRjYmx4dVpYaHdiM0owY3k1bUlEMGdjbVZ4ZFdseVpTZ25MaTlmWkdWelkzSnBjSFJ2Y25NbktTQS9JRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNBNklHWjFibU4wYVc5dUlHUmxabWx1WlZCeWIzQmxjblI1S0U4c0lGQXNJRUYwZEhKcFluVjBaWE1wSUh0Y2JpQWdZVzVQWW1wbFkzUW9UeWs3WEc0Z0lGQWdQU0IwYjFCeWFXMXBkR2wyWlNoUUxDQjBjblZsS1R0Y2JpQWdZVzVQWW1wbFkzUW9RWFIwY21saWRYUmxjeWs3WEc0Z0lHbG1JQ2hKUlRoZlJFOU5YMFJGUmtsT1JTa2dkSEo1SUh0Y2JpQWdJQ0J5WlhSMWNtNGdaRkFvVHl3Z1VDd2dRWFIwY21saWRYUmxjeWs3WEc0Z0lIMGdZMkYwWTJnZ0tHVXBJSHNnTHlvZ1pXMXdkSGtnS2k4Z2ZWeHVJQ0JwWmlBb0oyZGxkQ2NnYVc0Z1FYUjBjbWxpZFhSbGN5QjhmQ0FuYzJWMEp5QnBiaUJCZEhSeWFXSjFkR1Z6S1NCMGFISnZkeUJVZVhCbFJYSnliM0lvSjBGalkyVnpjMjl5Y3lCdWIzUWdjM1Z3Y0c5eWRHVmtJU2NwTzF4dUlDQnBaaUFvSjNaaGJIVmxKeUJwYmlCQmRIUnlhV0oxZEdWektTQlBXMUJkSUQwZ1FYUjBjbWxpZFhSbGN5NTJZV3gxWlR0Y2JpQWdjbVYwZFhKdUlFODdYRzU5TzF4dUlsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHNpTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3QtZHAuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX29iamVjdC1kcHMuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3QtZHBzLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7ZXZhbCgidmFyIGRQID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fb2JqZWN0LWRwICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3QtZHAuanNcIik7XG52YXIgYW5PYmplY3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19hbi1vYmplY3QgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FuLW9iamVjdC5qc1wiKTtcbnZhciBnZXRLZXlzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fb2JqZWN0LWtleXMgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX29iamVjdC1rZXlzLmpzXCIpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2Rlc2NyaXB0b3JzICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19kZXNjcmlwdG9ycy5qc1wiKSA/IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIDogZnVuY3Rpb24gZGVmaW5lUHJvcGVydGllcyhPLCBQcm9wZXJ0aWVzKSB7XG4gIGFuT2JqZWN0KE8pO1xuICB2YXIga2V5cyA9IGdldEtleXMoUHJvcGVydGllcyk7XG4gIHZhciBsZW5ndGggPSBrZXlzLmxlbmd0aDtcbiAgdmFyIGkgPSAwO1xuICB2YXIgUDtcbiAgd2hpbGUgKGxlbmd0aCA+IGkpIGRQLmYoTywgUCA9IGtleXNbaSsrXSwgUHJvcGVydGllc1tQXSk7XG4gIHJldHVybiBPO1xufTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOXZZbXBsWTNRdFpIQnpMbXB6TG1weklpd2ljMjkxY21ObGN5STZXeUozWldKd1lXTnJPaTh2THk0dmJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWZiMkpxWldOMExXUndjeTVxY3o4eE5EazFJbDBzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW5aaGNpQmtVQ0E5SUhKbGNYVnBjbVVvSnk0dlgyOWlhbVZqZEMxa2NDY3BPMXh1ZG1GeUlHRnVUMkpxWldOMElEMGdjbVZ4ZFdseVpTZ25MaTlmWVc0dGIySnFaV04wSnlrN1hHNTJZWElnWjJWMFMyVjVjeUE5SUhKbGNYVnBjbVVvSnk0dlgyOWlhbVZqZEMxclpYbHpKeWs3WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ2NtVnhkV2x5WlNnbkxpOWZaR1Z6WTNKcGNIUnZjbk1uS1NBL0lFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBhV1Z6SURvZ1puVnVZM1JwYjI0Z1pHVm1hVzVsVUhKdmNHVnlkR2xsY3loUExDQlFjbTl3WlhKMGFXVnpLU0I3WEc0Z0lHRnVUMkpxWldOMEtFOHBPMXh1SUNCMllYSWdhMlY1Y3lBOUlHZGxkRXRsZVhNb1VISnZjR1Z5ZEdsbGN5azdYRzRnSUhaaGNpQnNaVzVuZEdnZ1BTQnJaWGx6TG14bGJtZDBhRHRjYmlBZ2RtRnlJR2tnUFNBd08xeHVJQ0IyWVhJZ1VEdGNiaUFnZDJocGJHVWdLR3hsYm1kMGFDQStJR2twSUdSUUxtWW9UeXdnVUNBOUlHdGxlWE5iYVNzclhTd2dVSEp2Y0dWeWRHbGxjMXRRWFNrN1hHNGdJSEpsZEhWeWJpQlBPMXh1ZlR0Y2JpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN0lpd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fb2JqZWN0LWRwcy5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fb2JqZWN0LWdvcGQuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fb2JqZWN0LWdvcGQuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7ZXZhbCgidmFyIHBJRSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX29iamVjdC1waWUgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX29iamVjdC1waWUuanNcIik7XG52YXIgY3JlYXRlRGVzYyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3Byb3BlcnR5LWRlc2MgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3Byb3BlcnR5LWRlc2MuanNcIik7XG52YXIgdG9JT2JqZWN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fdG8taW9iamVjdCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8taW9iamVjdC5qc1wiKTtcbnZhciB0b1ByaW1pdGl2ZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3RvLXByaW1pdGl2ZSAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8tcHJpbWl0aXZlLmpzXCIpO1xudmFyIGhhcyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2hhcyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faGFzLmpzXCIpO1xudmFyIElFOF9ET01fREVGSU5FID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9faWU4LWRvbS1kZWZpbmUgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2llOC1kb20tZGVmaW5lLmpzXCIpO1xudmFyIGdPUEQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO1xuXG5leHBvcnRzLmYgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19kZXNjcmlwdG9ycyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZGVzY3JpcHRvcnMuanNcIikgPyBnT1BEIDogZnVuY3Rpb24gZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE8sIFApIHtcbiAgTyA9IHRvSU9iamVjdChPKTtcbiAgUCA9IHRvUHJpbWl0aXZlKFAsIHRydWUpO1xuICBpZiAoSUU4X0RPTV9ERUZJTkUpIHRyeSB7XG4gICAgcmV0dXJuIGdPUEQoTywgUCk7XG4gIH0gY2F0Y2ggKGUpIHsgLyogZW1wdHkgKi8gfVxuICBpZiAoaGFzKE8sIFApKSByZXR1cm4gY3JlYXRlRGVzYyghcElFLmYuY2FsbChPLCBQKSwgT1tQXSk7XG59O1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5dlltcGxZM1F0WjI5d1pDNXFjeTVxY3lJc0luTnZkWEpqWlhNaU9sc2lkMlZpY0dGamF6b3ZMeTh1TDI1dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlgyOWlhbVZqZEMxbmIzQmtMbXB6UHpFeFpUa2lYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpZG1GeUlIQkpSU0E5SUhKbGNYVnBjbVVvSnk0dlgyOWlhbVZqZEMxd2FXVW5LVHRjYm5aaGNpQmpjbVZoZEdWRVpYTmpJRDBnY21WeGRXbHlaU2duTGk5ZmNISnZjR1Z5ZEhrdFpHVnpZeWNwTzF4dWRtRnlJSFJ2U1U5aWFtVmpkQ0E5SUhKbGNYVnBjbVVvSnk0dlgzUnZMV2x2WW1wbFkzUW5LVHRjYm5aaGNpQjBiMUJ5YVcxcGRHbDJaU0E5SUhKbGNYVnBjbVVvSnk0dlgzUnZMWEJ5YVcxcGRHbDJaU2NwTzF4dWRtRnlJR2hoY3lBOUlISmxjWFZwY21Vb0p5NHZYMmhoY3ljcE8xeHVkbUZ5SUVsRk9GOUVUMDFmUkVWR1NVNUZJRDBnY21WeGRXbHlaU2duTGk5ZmFXVTRMV1J2YlMxa1pXWnBibVVuS1R0Y2JuWmhjaUJuVDFCRUlEMGdUMkpxWldOMExtZGxkRTkzYmxCeWIzQmxjblI1UkdWelkzSnBjSFJ2Y2p0Y2JseHVaWGh3YjNKMGN5NW1JRDBnY21WeGRXbHlaU2duTGk5ZlpHVnpZM0pwY0hSdmNuTW5LU0EvSUdkUFVFUWdPaUJtZFc1amRHbHZiaUJuWlhSUGQyNVFjbTl3WlhKMGVVUmxjMk55YVhCMGIzSW9UeXdnVUNrZ2UxeHVJQ0JQSUQwZ2RHOUpUMkpxWldOMEtFOHBPMXh1SUNCUUlEMGdkRzlRY21sdGFYUnBkbVVvVUN3Z2RISjFaU2s3WEc0Z0lHbG1JQ2hKUlRoZlJFOU5YMFJGUmtsT1JTa2dkSEo1SUh0Y2JpQWdJQ0J5WlhSMWNtNGdaMDlRUkNoUExDQlFLVHRjYmlBZ2ZTQmpZWFJqYUNBb1pTa2dleUF2S2lCbGJYQjBlU0FxTHlCOVhHNGdJR2xtSUNob1lYTW9UeXdnVUNrcElISmxkSFZ5YmlCamNtVmhkR1ZFWlhOaktDRndTVVV1Wmk1allXeHNLRThzSUZBcExDQlBXMUJkS1R0Y2JuMDdYRzRpWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk95SXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX29iamVjdC1nb3BkLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3QtZ29wbi5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3QtZ29wbi5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXtldmFsKCIvLyAxOS4xLjIuNyAvIDE1LjIuMy40IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKE8pXG52YXIgJGtleXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19vYmplY3Qta2V5cy1pbnRlcm5hbCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fb2JqZWN0LWtleXMtaW50ZXJuYWwuanNcIik7XG52YXIgaGlkZGVuS2V5cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2VudW0tYnVnLWtleXMgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2VudW0tYnVnLWtleXMuanNcIikuY29uY2F0KCdsZW5ndGgnLCAncHJvdG90eXBlJyk7XG5cbmV4cG9ydHMuZiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIHx8IGZ1bmN0aW9uIGdldE93blByb3BlcnR5TmFtZXMoTykge1xuICByZXR1cm4gJGtleXMoTywgaGlkZGVuS2V5cyk7XG59O1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5dlltcGxZM1F0WjI5d2JpNXFjeTVxY3lJc0luTnZkWEpqWlhNaU9sc2lkMlZpY0dGamF6b3ZMeTh1TDI1dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlgyOWlhbVZqZEMxbmIzQnVMbXB6UHprd09UTWlYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpTHk4Z01Ua3VNUzR5TGpjZ0x5QXhOUzR5TGpNdU5DQlBZbXBsWTNRdVoyVjBUM2R1VUhKdmNHVnlkSGxPWVcxbGN5aFBLVnh1ZG1GeUlDUnJaWGx6SUQwZ2NtVnhkV2x5WlNnbkxpOWZiMkpxWldOMExXdGxlWE10YVc1MFpYSnVZV3duS1R0Y2JuWmhjaUJvYVdSa1pXNUxaWGx6SUQwZ2NtVnhkV2x5WlNnbkxpOWZaVzUxYlMxaWRXY3RhMlY1Y3ljcExtTnZibU5oZENnbmJHVnVaM1JvSnl3Z0ozQnliM1J2ZEhsd1pTY3BPMXh1WEc1bGVIQnZjblJ6TG1ZZ1BTQlBZbXBsWTNRdVoyVjBUM2R1VUhKdmNHVnlkSGxPWVcxbGN5QjhmQ0JtZFc1amRHbHZiaUJuWlhSUGQyNVFjbTl3WlhKMGVVNWhiV1Z6S0U4cElIdGNiaUFnY21WMGRYSnVJQ1JyWlhsektFOHNJR2hwWkdSbGJrdGxlWE1wTzF4dWZUdGNiaUpkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN0lpd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fb2JqZWN0LWdvcG4uanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX29iamVjdC1ncG8uanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3QtZ3BvLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7ZXZhbCgiLy8gMTkuMS4yLjkgLyAxNS4yLjMuMiBPYmplY3QuZ2V0UHJvdG90eXBlT2YoTylcbnZhciBoYXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19oYXMgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2hhcy5qc1wiKTtcbnZhciB0b09iamVjdCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3RvLW9iamVjdCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8tb2JqZWN0LmpzXCIpO1xudmFyIElFX1BST1RPID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fc2hhcmVkLWtleSAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc2hhcmVkLWtleS5qc1wiKSgnSUVfUFJPVE8nKTtcbnZhciBPYmplY3RQcm90byA9IE9iamVjdC5wcm90b3R5cGU7XG5cbm1vZHVsZS5leHBvcnRzID0gT2JqZWN0LmdldFByb3RvdHlwZU9mIHx8IGZ1bmN0aW9uIChPKSB7XG4gIE8gPSB0b09iamVjdChPKTtcbiAgaWYgKGhhcyhPLCBJRV9QUk9UTykpIHJldHVybiBPW0lFX1BST1RPXTtcbiAgaWYgKHR5cGVvZiBPLmNvbnN0cnVjdG9yID09ICdmdW5jdGlvbicgJiYgTyBpbnN0YW5jZW9mIE8uY29uc3RydWN0b3IpIHtcbiAgICByZXR1cm4gTy5jb25zdHJ1Y3Rvci5wcm90b3R5cGU7XG4gIH0gcmV0dXJuIE8gaW5zdGFuY2VvZiBPYmplY3QgPyBPYmplY3RQcm90byA6IG51bGw7XG59O1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5dlltcGxZM1F0WjNCdkxtcHpMbXB6SWl3aWMyOTFjbU5sY3lJNld5SjNaV0p3WVdOck9pOHZMeTR2Ym05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJXOWtkV3hsY3k5ZmIySnFaV04wTFdkd2J5NXFjejh6T0daa0lsMHNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaTh2SURFNUxqRXVNaTQ1SUM4Z01UVXVNaTR6TGpJZ1QySnFaV04wTG1kbGRGQnliM1J2ZEhsd1pVOW1LRThwWEc1MllYSWdhR0Z6SUQwZ2NtVnhkV2x5WlNnbkxpOWZhR0Z6SnlrN1hHNTJZWElnZEc5UFltcGxZM1FnUFNCeVpYRjFhWEpsS0NjdUwxOTBieTF2WW1wbFkzUW5LVHRjYm5aaGNpQkpSVjlRVWs5VVR5QTlJSEpsY1hWcGNtVW9KeTR2WDNOb1lYSmxaQzFyWlhrbktTZ25TVVZmVUZKUFZFOG5LVHRjYm5aaGNpQlBZbXBsWTNSUWNtOTBieUE5SUU5aWFtVmpkQzV3Y205MGIzUjVjR1U3WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1QySnFaV04wTG1kbGRGQnliM1J2ZEhsd1pVOW1JSHg4SUdaMWJtTjBhVzl1SUNoUEtTQjdYRzRnSUU4Z1BTQjBiMDlpYW1WamRDaFBLVHRjYmlBZ2FXWWdLR2hoY3loUExDQkpSVjlRVWs5VVR5a3BJSEpsZEhWeWJpQlBXMGxGWDFCU1QxUlBYVHRjYmlBZ2FXWWdLSFI1Y0dWdlppQlBMbU52Ym5OMGNuVmpkRzl5SUQwOUlDZG1kVzVqZEdsdmJpY2dKaVlnVHlCcGJuTjBZVzVqWlc5bUlFOHVZMjl1YzNSeWRXTjBiM0lwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdUeTVqYjI1emRISjFZM1J2Y2k1d2NtOTBiM1I1Y0dVN1hHNGdJSDBnY21WMGRYSnVJRThnYVc1emRHRnVZMlZ2WmlCUFltcGxZM1FnUHlCUFltcGxZM1JRY205MGJ5QTZJRzUxYkd3N1hHNTlPMXh1SWwwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHNpTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3QtZ3BvLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3Qta2V5cy1pbnRlcm5hbC5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3Qta2V5cy1pbnRlcm5hbC5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXtldmFsKCJ2YXIgaGFzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9faGFzICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19oYXMuanNcIik7XG52YXIgdG9JT2JqZWN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fdG8taW9iamVjdCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8taW9iamVjdC5qc1wiKTtcbnZhciBhcnJheUluZGV4T2YgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19hcnJheS1pbmNsdWRlcyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYXJyYXktaW5jbHVkZXMuanNcIikoZmFsc2UpO1xudmFyIElFX1BST1RPID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fc2hhcmVkLWtleSAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc2hhcmVkLWtleS5qc1wiKSgnSUVfUFJPVE8nKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAob2JqZWN0LCBuYW1lcykge1xuICB2YXIgTyA9IHRvSU9iamVjdChvYmplY3QpO1xuICB2YXIgaSA9IDA7XG4gIHZhciByZXN1bHQgPSBbXTtcbiAgdmFyIGtleTtcbiAgZm9yIChrZXkgaW4gTykgaWYgKGtleSAhPSBJRV9QUk9UTykgaGFzKE8sIGtleSkgJiYgcmVzdWx0LnB1c2goa2V5KTtcbiAgLy8gRG9uJ3QgZW51bSBidWcgJiBoaWRkZW4ga2V5c1xuICB3aGlsZSAobmFtZXMubGVuZ3RoID4gaSkgaWYgKGhhcyhPLCBrZXkgPSBuYW1lc1tpKytdKSkge1xuICAgIH5hcnJheUluZGV4T2YocmVzdWx0LCBrZXkpIHx8IHJlc3VsdC5wdXNoKGtleSk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTl2WW1wbFkzUXRhMlY1Y3kxcGJuUmxjbTVoYkM1cWN5NXFjeUlzSW5OdmRYSmpaWE1pT2xzaWQyVmljR0ZqYXpvdkx5OHVMMjV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WDI5aWFtVmpkQzFyWlhsekxXbHVkR1Z5Ym1Gc0xtcHpQMk5sTVRBaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lkbUZ5SUdoaGN5QTlJSEpsY1hWcGNtVW9KeTR2WDJoaGN5Y3BPMXh1ZG1GeUlIUnZTVTlpYW1WamRDQTlJSEpsY1hWcGNtVW9KeTR2WDNSdkxXbHZZbXBsWTNRbktUdGNiblpoY2lCaGNuSmhlVWx1WkdWNFQyWWdQU0J5WlhGMWFYSmxLQ2N1TDE5aGNuSmhlUzFwYm1Oc2RXUmxjeWNwS0daaGJITmxLVHRjYm5aaGNpQkpSVjlRVWs5VVR5QTlJSEpsY1hWcGNtVW9KeTR2WDNOb1lYSmxaQzFyWlhrbktTZ25TVVZmVUZKUFZFOG5LVHRjYmx4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbWRXNWpkR2x2YmlBb2IySnFaV04wTENCdVlXMWxjeWtnZTF4dUlDQjJZWElnVHlBOUlIUnZTVTlpYW1WamRDaHZZbXBsWTNRcE8xeHVJQ0IyWVhJZ2FTQTlJREE3WEc0Z0lIWmhjaUJ5WlhOMWJIUWdQU0JiWFR0Y2JpQWdkbUZ5SUd0bGVUdGNiaUFnWm05eUlDaHJaWGtnYVc0Z1R5a2dhV1lnS0d0bGVTQWhQU0JKUlY5UVVrOVVUeWtnYUdGektFOHNJR3RsZVNrZ0ppWWdjbVZ6ZFd4MExuQjFjMmdvYTJWNUtUdGNiaUFnTHk4Z1JHOXVKM1FnWlc1MWJTQmlkV2NnSmlCb2FXUmtaVzRnYTJWNWMxeHVJQ0IzYUdsc1pTQW9ibUZ0WlhNdWJHVnVaM1JvSUQ0Z2FTa2dhV1lnS0doaGN5aFBMQ0JyWlhrZ1BTQnVZVzFsYzF0cEt5dGRLU2tnZTF4dUlDQWdJSDVoY25KaGVVbHVaR1Y0VDJZb2NtVnpkV3gwTENCclpYa3BJSHg4SUhKbGMzVnNkQzV3ZFhOb0tHdGxlU2s3WEc0Z0lIMWNiaUFnY21WMGRYSnVJSEpsYzNWc2REdGNibjA3WEc0aVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN0lpd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fb2JqZWN0LWtleXMtaW50ZXJuYWwuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX29iamVjdC1rZXlzLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX29iamVjdC1rZXlzLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18pe2V2YWwoIi8vIDE5LjEuMi4xNCAvIDE1LjIuMy4xNCBPYmplY3Qua2V5cyhPKVxudmFyICRrZXlzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fb2JqZWN0LWtleXMtaW50ZXJuYWwgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX29iamVjdC1rZXlzLWludGVybmFsLmpzXCIpO1xudmFyIGVudW1CdWdLZXlzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fZW51bS1idWcta2V5cyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZW51bS1idWcta2V5cy5qc1wiKTtcblxubW9kdWxlLmV4cG9ydHMgPSBPYmplY3Qua2V5cyB8fCBmdW5jdGlvbiBrZXlzKE8pIHtcbiAgcmV0dXJuICRrZXlzKE8sIGVudW1CdWdLZXlzKTtcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTl2WW1wbFkzUXRhMlY1Y3k1cWN5NXFjeUlzSW5OdmRYSmpaWE1pT2xzaWQyVmljR0ZqYXpvdkx5OHVMMjV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WDI5aWFtVmpkQzFyWlhsekxtcHpQekJrTlRnaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lMeThnTVRrdU1TNHlMakUwSUM4Z01UVXVNaTR6TGpFMElFOWlhbVZqZEM1clpYbHpLRThwWEc1MllYSWdKR3RsZVhNZ1BTQnlaWEYxYVhKbEtDY3VMMTl2WW1wbFkzUXRhMlY1Y3kxcGJuUmxjbTVoYkNjcE8xeHVkbUZ5SUdWdWRXMUNkV2RMWlhseklEMGdjbVZ4ZFdseVpTZ25MaTlmWlc1MWJTMWlkV2N0YTJWNWN5Y3BPMXh1WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUU5aWFtVmpkQzVyWlhseklIeDhJR1oxYm1OMGFXOXVJR3RsZVhNb1R5a2dlMXh1SUNCeVpYUjFjbTRnSkd0bGVYTW9UeXdnWlc1MWJVSjFaMHRsZVhNcE8xeHVmVHRjYmlKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdJaXdpYzI5MWNtTmxVbTl2ZENJNklpSjlcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX29iamVjdC1rZXlzLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3QtcGllLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fb2JqZWN0LXBpZS5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXtldmFsKCJleHBvcnRzLmYgPSB7fS5wcm9wZXJ0eUlzRW51bWVyYWJsZTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOXZZbXBsWTNRdGNHbGxMbXB6TG1weklpd2ljMjkxY21ObGN5STZXeUozWldKd1lXTnJPaTh2THk0dmJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWZiMkpxWldOMExYQnBaUzVxY3o4MU1tRTNJbDBzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1WNGNHOXlkSE11WmlBOUlIdDlMbkJ5YjNCbGNuUjVTWE5GYm5WdFpYSmhZbXhsTzF4dUlsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUc2lMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX29iamVjdC1waWUuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX29iamVjdC1zYXAuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3Qtc2FwLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7ZXZhbCgiLy8gbW9zdCBPYmplY3QgbWV0aG9kcyBieSBFUzYgc2hvdWxkIGFjY2VwdCBwcmltaXRpdmVzXG52YXIgJGV4cG9ydCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2V4cG9ydCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZXhwb3J0LmpzXCIpO1xudmFyIGNvcmUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19jb3JlICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19jb3JlLmpzXCIpO1xudmFyIGZhaWxzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fZmFpbHMgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2ZhaWxzLmpzXCIpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoS0VZLCBleGVjKSB7XG4gIHZhciBmbiA9IChjb3JlLk9iamVjdCB8fCB7fSlbS0VZXSB8fCBPYmplY3RbS0VZXTtcbiAgdmFyIGV4cCA9IHt9O1xuICBleHBbS0VZXSA9IGV4ZWMoZm4pO1xuICAkZXhwb3J0KCRleHBvcnQuUyArICRleHBvcnQuRiAqIGZhaWxzKGZ1bmN0aW9uICgpIHsgZm4oMSk7IH0pLCAnT2JqZWN0JywgZXhwKTtcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTl2WW1wbFkzUXRjMkZ3TG1wekxtcHpJaXdpYzI5MWNtTmxjeUk2V3lKM1pXSndZV05yT2k4dkx5NHZibTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlmYjJKcVpXTjBMWE5oY0M1cWN6ODFaV1JoSWwwc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHZJRzF2YzNRZ1QySnFaV04wSUcxbGRHaHZaSE1nWW5rZ1JWTTJJSE5vYjNWc1pDQmhZMk5sY0hRZ2NISnBiV2wwYVhabGMxeHVkbUZ5SUNSbGVIQnZjblFnUFNCeVpYRjFhWEpsS0NjdUwxOWxlSEJ2Y25RbktUdGNiblpoY2lCamIzSmxJRDBnY21WeGRXbHlaU2duTGk5ZlkyOXlaU2NwTzF4dWRtRnlJR1poYVd4eklEMGdjbVZ4ZFdseVpTZ25MaTlmWm1GcGJITW5LVHRjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnWm5WdVkzUnBiMjRnS0V0RldTd2daWGhsWXlrZ2UxeHVJQ0IyWVhJZ1ptNGdQU0FvWTI5eVpTNVBZbXBsWTNRZ2ZId2dlMzBwVzB0RldWMGdmSHdnVDJKcVpXTjBXMHRGV1YwN1hHNGdJSFpoY2lCbGVIQWdQU0I3ZlR0Y2JpQWdaWGh3VzB0RldWMGdQU0JsZUdWaktHWnVLVHRjYmlBZ0pHVjRjRzl5ZENna1pYaHdiM0owTGxNZ0t5QWtaWGh3YjNKMExrWWdLaUJtWVdsc2N5aG1kVzVqZEdsdmJpQW9LU0I3SUdadUtERXBPeUI5S1N3Z0owOWlhbVZqZENjc0lHVjRjQ2s3WEc1OU8xeHVJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHNpTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3Qtc2FwLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19wYXJzZS1mbG9hdC5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19wYXJzZS1mbG9hdC5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXtldmFsKCJ2YXIgJHBhcnNlRmxvYXQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19nbG9iYWwgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2dsb2JhbC5qc1wiKS5wYXJzZUZsb2F0O1xudmFyICR0cmltID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fc3RyaW5nLXRyaW0gKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3N0cmluZy10cmltLmpzXCIpLnRyaW07XG5cbm1vZHVsZS5leHBvcnRzID0gMSAvICRwYXJzZUZsb2F0KF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3N0cmluZy13cyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc3RyaW5nLXdzLmpzXCIpICsgJy0wJykgIT09IC1JbmZpbml0eSA/IGZ1bmN0aW9uIHBhcnNlRmxvYXQoc3RyKSB7XG4gIHZhciBzdHJpbmcgPSAkdHJpbShTdHJpbmcoc3RyKSwgMyk7XG4gIHZhciByZXN1bHQgPSAkcGFyc2VGbG9hdChzdHJpbmcpO1xuICByZXR1cm4gcmVzdWx0ID09PSAwICYmIHN0cmluZy5jaGFyQXQoMCkgPT0gJy0nID8gLTAgOiByZXN1bHQ7XG59IDogJHBhcnNlRmxvYXQ7XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTl3WVhKelpTMW1iRzloZEM1cWN5NXFjeUlzSW5OdmRYSmpaWE1pT2xzaWQyVmljR0ZqYXpvdkx5OHVMMjV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WDNCaGNuTmxMV1pzYjJGMExtcHpQMlEzTlRJaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lkbUZ5SUNSd1lYSnpaVVpzYjJGMElEMGdjbVZ4ZFdseVpTZ25MaTlmWjJ4dlltRnNKeWt1Y0dGeWMyVkdiRzloZER0Y2JuWmhjaUFrZEhKcGJTQTlJSEpsY1hWcGNtVW9KeTR2WDNOMGNtbHVaeTEwY21sdEp5a3VkSEpwYlR0Y2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQXhJQzhnSkhCaGNuTmxSbXh2WVhRb2NtVnhkV2x5WlNnbkxpOWZjM1J5YVc1bkxYZHpKeWtnS3lBbkxUQW5LU0FoUFQwZ0xVbHVabWx1YVhSNUlEOGdablZ1WTNScGIyNGdjR0Z5YzJWR2JHOWhkQ2h6ZEhJcElIdGNiaUFnZG1GeUlITjBjbWx1WnlBOUlDUjBjbWx0S0ZOMGNtbHVaeWh6ZEhJcExDQXpLVHRjYmlBZ2RtRnlJSEpsYzNWc2RDQTlJQ1J3WVhKelpVWnNiMkYwS0hOMGNtbHVaeWs3WEc0Z0lISmxkSFZ5YmlCeVpYTjFiSFFnUFQwOUlEQWdKaVlnYzNSeWFXNW5MbU5vWVhKQmRDZ3dLU0E5UFNBbkxTY2dQeUF0TUNBNklISmxjM1ZzZER0Y2JuMGdPaUFrY0dGeWMyVkdiRzloZER0Y2JpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUc2lMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3BhcnNlLWZsb2F0LmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19wcm9wZXJ0eS1kZXNjLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fcHJvcGVydHktZGVzYy5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXtldmFsKCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChiaXRtYXAsIHZhbHVlKSB7XG4gIHJldHVybiB7XG4gICAgZW51bWVyYWJsZTogIShiaXRtYXAgJiAxKSxcbiAgICBjb25maWd1cmFibGU6ICEoYml0bWFwICYgMiksXG4gICAgd3JpdGFibGU6ICEoYml0bWFwICYgNCksXG4gICAgdmFsdWU6IHZhbHVlXG4gIH07XG59O1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5d2NtOXdaWEowZVMxa1pYTmpMbXB6TG1weklpd2ljMjkxY21ObGN5STZXeUozWldKd1lXTnJPaTh2THk0dmJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWZjSEp2Y0dWeWRIa3RaR1Z6WXk1cWN6ODBOak13SWwwc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1puVnVZM1JwYjI0Z0tHSnBkRzFoY0N3Z2RtRnNkV1VwSUh0Y2JpQWdjbVYwZFhKdUlIdGNiaUFnSUNCbGJuVnRaWEpoWW14bE9pQWhLR0pwZEcxaGNDQW1JREVwTEZ4dUlDQWdJR052Ym1acFozVnlZV0pzWlRvZ0lTaGlhWFJ0WVhBZ0ppQXlLU3hjYmlBZ0lDQjNjbWwwWVdKc1pUb2dJU2hpYVhSdFlYQWdKaUEwS1N4Y2JpQWdJQ0IyWVd4MVpUb2dkbUZzZFdWY2JpQWdmVHRjYm4wN1hHNGlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdJaXdpYzI5MWNtTmxVbTl2ZENJNklpSjlcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3Byb3BlcnR5LWRlc2MuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3JlZGVmaW5lLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3JlZGVmaW5lLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18pe2V2YWwoInZhciBnbG9iYWwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19nbG9iYWwgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2dsb2JhbC5qc1wiKTtcbnZhciBoaWRlID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9faGlkZSAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faGlkZS5qc1wiKTtcbnZhciBoYXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19oYXMgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2hhcy5qc1wiKTtcbnZhciBTUkMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL191aWQgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3VpZC5qc1wiKSgnc3JjJyk7XG52YXIgJHRvU3RyaW5nID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fZnVuY3Rpb24tdG8tc3RyaW5nICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19mdW5jdGlvbi10by1zdHJpbmcuanNcIik7XG52YXIgVE9fU1RSSU5HID0gJ3RvU3RyaW5nJztcbnZhciBUUEwgPSAoJycgKyAkdG9TdHJpbmcpLnNwbGl0KFRPX1NUUklORyk7XG5cbl9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2NvcmUgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2NvcmUuanNcIikuaW5zcGVjdFNvdXJjZSA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gJHRvU3RyaW5nLmNhbGwoaXQpO1xufTtcblxuKG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKE8sIGtleSwgdmFsLCBzYWZlKSB7XG4gIHZhciBpc0Z1bmN0aW9uID0gdHlwZW9mIHZhbCA9PSAnZnVuY3Rpb24nO1xuICBpZiAoaXNGdW5jdGlvbikgaGFzKHZhbCwgJ25hbWUnKSB8fCBoaWRlKHZhbCwgJ25hbWUnLCBrZXkpO1xuICBpZiAoT1trZXldID09PSB2YWwpIHJldHVybjtcbiAgaWYgKGlzRnVuY3Rpb24pIGhhcyh2YWwsIFNSQykgfHwgaGlkZSh2YWwsIFNSQywgT1trZXldID8gJycgKyBPW2tleV0gOiBUUEwuam9pbihTdHJpbmcoa2V5KSkpO1xuICBpZiAoTyA9PT0gZ2xvYmFsKSB7XG4gICAgT1trZXldID0gdmFsO1xuICB9IGVsc2UgaWYgKCFzYWZlKSB7XG4gICAgZGVsZXRlIE9ba2V5XTtcbiAgICBoaWRlKE8sIGtleSwgdmFsKTtcbiAgfSBlbHNlIGlmIChPW2tleV0pIHtcbiAgICBPW2tleV0gPSB2YWw7XG4gIH0gZWxzZSB7XG4gICAgaGlkZShPLCBrZXksIHZhbCk7XG4gIH1cbi8vIGFkZCBmYWtlIEZ1bmN0aW9uI3RvU3RyaW5nIGZvciBjb3JyZWN0IHdvcmsgd3JhcHBlZCBtZXRob2RzIC8gY29uc3RydWN0b3JzIHdpdGggbWV0aG9kcyBsaWtlIExvRGFzaCBpc05hdGl2ZVxufSkoRnVuY3Rpb24ucHJvdG90eXBlLCBUT19TVFJJTkcsIGZ1bmN0aW9uIHRvU3RyaW5nKCkge1xuICByZXR1cm4gdHlwZW9mIHRoaXMgPT0gJ2Z1bmN0aW9uJyAmJiB0aGlzW1NSQ10gfHwgJHRvU3RyaW5nLmNhbGwodGhpcyk7XG59KTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOXlaV1JsWm1sdVpTNXFjeTVxY3lJc0luTnZkWEpqWlhNaU9sc2lkMlZpY0dGamF6b3ZMeTh1TDI1dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlgzSmxaR1ZtYVc1bExtcHpQekpoWW1FaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lkbUZ5SUdkc2IySmhiQ0E5SUhKbGNYVnBjbVVvSnk0dlgyZHNiMkpoYkNjcE8xeHVkbUZ5SUdocFpHVWdQU0J5WlhGMWFYSmxLQ2N1TDE5b2FXUmxKeWs3WEc1MllYSWdhR0Z6SUQwZ2NtVnhkV2x5WlNnbkxpOWZhR0Z6SnlrN1hHNTJZWElnVTFKRElEMGdjbVZ4ZFdseVpTZ25MaTlmZFdsa0p5a29KM055WXljcE8xeHVkbUZ5SUNSMGIxTjBjbWx1WnlBOUlISmxjWFZwY21Vb0p5NHZYMloxYm1OMGFXOXVMWFJ2TFhOMGNtbHVaeWNwTzF4dWRtRnlJRlJQWDFOVVVrbE9SeUE5SUNkMGIxTjBjbWx1WnljN1hHNTJZWElnVkZCTUlEMGdLQ2NuSUNzZ0pIUnZVM1J5YVc1bktTNXpjR3hwZENoVVQxOVRWRkpKVGtjcE8xeHVYRzV5WlhGMWFYSmxLQ2N1TDE5amIzSmxKeWt1YVc1emNHVmpkRk52ZFhKalpTQTlJR1oxYm1OMGFXOXVJQ2hwZENrZ2UxeHVJQ0J5WlhSMWNtNGdKSFJ2VTNSeWFXNW5MbU5oYkd3b2FYUXBPMXh1ZlR0Y2JseHVLRzF2WkhWc1pTNWxlSEJ2Y25SeklEMGdablZ1WTNScGIyNGdLRThzSUd0bGVTd2dkbUZzTENCellXWmxLU0I3WEc0Z0lIWmhjaUJwYzBaMWJtTjBhVzl1SUQwZ2RIbHdaVzltSUhaaGJDQTlQU0FuWm5WdVkzUnBiMjRuTzF4dUlDQnBaaUFvYVhOR2RXNWpkR2x2YmlrZ2FHRnpLSFpoYkN3Z0oyNWhiV1VuS1NCOGZDQm9hV1JsS0haaGJDd2dKMjVoYldVbkxDQnJaWGtwTzF4dUlDQnBaaUFvVDF0clpYbGRJRDA5UFNCMllXd3BJSEpsZEhWeWJqdGNiaUFnYVdZZ0tHbHpSblZ1WTNScGIyNHBJR2hoY3loMllXd3NJRk5TUXlrZ2ZId2dhR2xrWlNoMllXd3NJRk5TUXl3Z1QxdHJaWGxkSUQ4Z0p5Y2dLeUJQVzJ0bGVWMGdPaUJVVUV3dWFtOXBiaWhUZEhKcGJtY29hMlY1S1NrcE8xeHVJQ0JwWmlBb1R5QTlQVDBnWjJ4dlltRnNLU0I3WEc0Z0lDQWdUMXRyWlhsZElEMGdkbUZzTzF4dUlDQjlJR1ZzYzJVZ2FXWWdLQ0Z6WVdabEtTQjdYRzRnSUNBZ1pHVnNaWFJsSUU5YmEyVjVYVHRjYmlBZ0lDQm9hV1JsS0U4c0lHdGxlU3dnZG1Gc0tUdGNiaUFnZlNCbGJITmxJR2xtSUNoUFcydGxlVjBwSUh0Y2JpQWdJQ0JQVzJ0bGVWMGdQU0IyWVd3N1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2FHbGtaU2hQTENCclpYa3NJSFpoYkNrN1hHNGdJSDFjYmk4dklHRmtaQ0JtWVd0bElFWjFibU4wYVc5dUkzUnZVM1J5YVc1bklHWnZjaUJqYjNKeVpXTjBJSGR2Y21zZ2QzSmhjSEJsWkNCdFpYUm9iMlJ6SUM4Z1kyOXVjM1J5ZFdOMGIzSnpJSGRwZEdnZ2JXVjBhRzlrY3lCc2FXdGxJRXh2UkdGemFDQnBjMDVoZEdsMlpWeHVmU2tvUm5WdVkzUnBiMjR1Y0hKdmRHOTBlWEJsTENCVVQxOVRWRkpKVGtjc0lHWjFibU4wYVc5dUlIUnZVM1J5YVc1bktDa2dlMXh1SUNCeVpYUjFjbTRnZEhsd1pXOW1JSFJvYVhNZ1BUMGdKMloxYm1OMGFXOXVKeUFtSmlCMGFHbHpXMU5TUTEwZ2ZId2dKSFJ2VTNSeWFXNW5MbU5oYkd3b2RHaHBjeWs3WEc1OUtUdGNiaUpkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdJaXdpYzI5MWNtTmxVbTl2ZENJNklpSjlcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3JlZGVmaW5lLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19yZWdleHAtZXhlYy1hYnN0cmFjdC5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19yZWdleHAtZXhlYy1hYnN0cmFjdC5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXsidXNlIHN0cmljdCI7ZXZhbCgiXG5cbnZhciBjbGFzc29mID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fY2xhc3NvZiAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fY2xhc3NvZi5qc1wiKTtcbnZhciBidWlsdGluRXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYztcblxuIC8vIGBSZWdFeHBFeGVjYCBhYnN0cmFjdCBvcGVyYXRpb25cbi8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLXJlZ2V4cGV4ZWNcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKFIsIFMpIHtcbiAgdmFyIGV4ZWMgPSBSLmV4ZWM7XG4gIGlmICh0eXBlb2YgZXhlYyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHZhciByZXN1bHQgPSBleGVjLmNhbGwoUiwgUyk7XG4gICAgaWYgKHR5cGVvZiByZXN1bHQgIT09ICdvYmplY3QnKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdSZWdFeHAgZXhlYyBtZXRob2QgcmV0dXJuZWQgc29tZXRoaW5nIG90aGVyIHRoYW4gYW4gT2JqZWN0IG9yIG51bGwnKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICBpZiAoY2xhc3NvZihSKSAhPT0gJ1JlZ0V4cCcpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdSZWdFeHAjZXhlYyBjYWxsZWQgb24gaW5jb21wYXRpYmxlIHJlY2VpdmVyJyk7XG4gIH1cbiAgcmV0dXJuIGJ1aWx0aW5FeGVjLmNhbGwoUiwgUyk7XG59O1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5eVpXZGxlSEF0WlhobFl5MWhZbk4wY21GamRDNXFjeTVxY3lJc0luTnZkWEpqWlhNaU9sc2lkMlZpY0dGamF6b3ZMeTh1TDI1dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlgzSmxaMlY0Y0MxbGVHVmpMV0ZpYzNSeVlXTjBMbXB6UHpWbU1XSWlYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpSjNWelpTQnpkSEpwWTNRbk8xeHVYRzUyWVhJZ1kyeGhjM052WmlBOUlISmxjWFZwY21Vb0p5NHZYMk5zWVhOemIyWW5LVHRjYm5aaGNpQmlkV2xzZEdsdVJYaGxZeUE5SUZKbFowVjRjQzV3Y205MGIzUjVjR1V1WlhobFl6dGNibHh1SUM4dklHQlNaV2RGZUhCRmVHVmpZQ0JoWW5OMGNtRmpkQ0J2Y0dWeVlYUnBiMjVjYmk4dklHaDBkSEJ6T2k4dmRHTXpPUzVuYVhSb2RXSXVhVzh2WldOdFlUSTJNaThqYzJWakxYSmxaMlY0Y0dWNFpXTmNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdablZ1WTNScGIyNGdLRklzSUZNcElIdGNiaUFnZG1GeUlHVjRaV01nUFNCU0xtVjRaV003WEc0Z0lHbG1JQ2gwZVhCbGIyWWdaWGhsWXlBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJSFpoY2lCeVpYTjFiSFFnUFNCbGVHVmpMbU5oYkd3b1Vpd2dVeWs3WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJ5WlhOMWJIUWdJVDA5SUNkdlltcGxZM1FuS1NCN1hHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1ZIbHdaVVZ5Y205eUtDZFNaV2RGZUhBZ1pYaGxZeUJ0WlhSb2IyUWdjbVYwZFhKdVpXUWdjMjl0WlhSb2FXNW5JRzkwYUdWeUlIUm9ZVzRnWVc0Z1QySnFaV04wSUc5eUlHNTFiR3duS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlISmxjM1ZzZER0Y2JpQWdmVnh1SUNCcFppQW9ZMnhoYzNOdlppaFNLU0FoUFQwZ0oxSmxaMFY0Y0NjcElIdGNiaUFnSUNCMGFISnZkeUJ1WlhjZ1ZIbHdaVVZ5Y205eUtDZFNaV2RGZUhBalpYaGxZeUJqWVd4c1pXUWdiMjRnYVc1amIyMXdZWFJwWW14bElISmxZMlZwZG1WeUp5azdYRzRnSUgxY2JpQWdjbVYwZFhKdUlHSjFhV3gwYVc1RmVHVmpMbU5oYkd3b1Vpd2dVeWs3WEc1OU8xeHVJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3SWl3aWMyOTFjbU5sVW05dmRDSTZJaUo5XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19yZWdleHAtZXhlYy1hYnN0cmFjdC5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fcmVnZXhwLWV4ZWMuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fcmVnZXhwLWV4ZWMuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7InVzZSBzdHJpY3QiO2V2YWwoIlxuXG52YXIgcmVnZXhwRmxhZ3MgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19mbGFncyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZmxhZ3MuanNcIik7XG5cbnZhciBuYXRpdmVFeGVjID0gUmVnRXhwLnByb3RvdHlwZS5leGVjO1xuLy8gVGhpcyBhbHdheXMgcmVmZXJzIHRvIHRoZSBuYXRpdmUgaW1wbGVtZW50YXRpb24sIGJlY2F1c2UgdGhlXG4vLyBTdHJpbmcjcmVwbGFjZSBwb2x5ZmlsbCB1c2VzIC4vZml4LXJlZ2V4cC13ZWxsLWtub3duLXN5bWJvbC1sb2dpYy5qcyxcbi8vIHdoaWNoIGxvYWRzIHRoaXMgZmlsZSBiZWZvcmUgcGF0Y2hpbmcgdGhlIG1ldGhvZC5cbnZhciBuYXRpdmVSZXBsYWNlID0gU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlO1xuXG52YXIgcGF0Y2hlZEV4ZWMgPSBuYXRpdmVFeGVjO1xuXG52YXIgTEFTVF9JTkRFWCA9ICdsYXN0SW5kZXgnO1xuXG52YXIgVVBEQVRFU19MQVNUX0lOREVYX1dST05HID0gKGZ1bmN0aW9uICgpIHtcbiAgdmFyIHJlMSA9IC9hLyxcbiAgICAgIHJlMiA9IC9iKi9nO1xuICBuYXRpdmVFeGVjLmNhbGwocmUxLCAnYScpO1xuICBuYXRpdmVFeGVjLmNhbGwocmUyLCAnYScpO1xuICByZXR1cm4gcmUxW0xBU1RfSU5ERVhdICE9PSAwIHx8IHJlMltMQVNUX0lOREVYXSAhPT0gMDtcbn0pKCk7XG5cbi8vIG5vbnBhcnRpY2lwYXRpbmcgY2FwdHVyaW5nIGdyb3VwLCBjb3BpZWQgZnJvbSBlczUtc2hpbSdzIFN0cmluZyNzcGxpdCBwYXRjaC5cbnZhciBOUENHX0lOQ0xVREVEID0gLygpPz8vLmV4ZWMoJycpWzFdICE9PSB1bmRlZmluZWQ7XG5cbnZhciBQQVRDSCA9IFVQREFURVNfTEFTVF9JTkRFWF9XUk9ORyB8fCBOUENHX0lOQ0xVREVEO1xuXG5pZiAoUEFUQ0gpIHtcbiAgcGF0Y2hlZEV4ZWMgPSBmdW5jdGlvbiBleGVjKHN0cikge1xuICAgIHZhciByZSA9IHRoaXM7XG4gICAgdmFyIGxhc3RJbmRleCwgcmVDb3B5LCBtYXRjaCwgaTtcblxuICAgIGlmIChOUENHX0lOQ0xVREVEKSB7XG4gICAgICByZUNvcHkgPSBuZXcgUmVnRXhwKCdeJyArIHJlLnNvdXJjZSArICckKD8hXFxcXHMpJywgcmVnZXhwRmxhZ3MuY2FsbChyZSkpO1xuICAgIH1cbiAgICBpZiAoVVBEQVRFU19MQVNUX0lOREVYX1dST05HKSBsYXN0SW5kZXggPSByZVtMQVNUX0lOREVYXTtcblxuICAgIG1hdGNoID0gbmF0aXZlRXhlYy5jYWxsKHJlLCBzdHIpO1xuXG4gICAgaWYgKFVQREFURVNfTEFTVF9JTkRFWF9XUk9ORyAmJiBtYXRjaCkge1xuICAgICAgcmVbTEFTVF9JTkRFWF0gPSByZS5nbG9iYWwgPyBtYXRjaC5pbmRleCArIG1hdGNoWzBdLmxlbmd0aCA6IGxhc3RJbmRleDtcbiAgICB9XG4gICAgaWYgKE5QQ0dfSU5DTFVERUQgJiYgbWF0Y2ggJiYgbWF0Y2gubGVuZ3RoID4gMSkge1xuICAgICAgLy8gRml4IGJyb3dzZXJzIHdob3NlIGBleGVjYCBtZXRob2RzIGRvbid0IGNvbnNpc3RlbnRseSByZXR1cm4gYHVuZGVmaW5lZGBcbiAgICAgIC8vIGZvciBOUENHLCBsaWtlIElFOC4gTk9URTogVGhpcyBkb2Vzbicgd29yayBmb3IgLyguPyk/L1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWxvb3AtZnVuY1xuICAgICAgbmF0aXZlUmVwbGFjZS5jYWxsKG1hdGNoWzBdLCByZUNvcHksIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZm9yIChpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGggLSAyOyBpKyspIHtcbiAgICAgICAgICBpZiAoYXJndW1lbnRzW2ldID09PSB1bmRlZmluZWQpIG1hdGNoW2ldID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWF0Y2g7XG4gIH07XG59XG5cbm1vZHVsZS5leHBvcnRzID0gcGF0Y2hlZEV4ZWM7XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTl5WldkbGVIQXRaWGhsWXk1cWN5NXFjeUlzSW5OdmRYSmpaWE1pT2xzaWQyVmljR0ZqYXpvdkx5OHVMMjV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WDNKbFoyVjRjQzFsZUdWakxtcHpQelV5TUdFaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lKM1Z6WlNCemRISnBZM1FuTzF4dVhHNTJZWElnY21WblpYaHdSbXhoWjNNZ1BTQnlaWEYxYVhKbEtDY3VMMTltYkdGbmN5Y3BPMXh1WEc1MllYSWdibUYwYVhabFJYaGxZeUE5SUZKbFowVjRjQzV3Y205MGIzUjVjR1V1WlhobFl6dGNiaTh2SUZSb2FYTWdZV3gzWVhseklISmxabVZ5Y3lCMGJ5QjBhR1VnYm1GMGFYWmxJR2x0Y0d4bGJXVnVkR0YwYVc5dUxDQmlaV05oZFhObElIUm9aVnh1THk4Z1UzUnlhVzVuSTNKbGNHeGhZMlVnY0c5c2VXWnBiR3dnZFhObGN5QXVMMlpwZUMxeVpXZGxlSEF0ZDJWc2JDMXJibTkzYmkxemVXMWliMnd0Ykc5bmFXTXVhbk1zWEc0dkx5QjNhR2xqYUNCc2IyRmtjeUIwYUdseklHWnBiR1VnWW1WbWIzSmxJSEJoZEdOb2FXNW5JSFJvWlNCdFpYUm9iMlF1WEc1MllYSWdibUYwYVhabFVtVndiR0ZqWlNBOUlGTjBjbWx1Wnk1d2NtOTBiM1I1Y0dVdWNtVndiR0ZqWlR0Y2JseHVkbUZ5SUhCaGRHTm9aV1JGZUdWaklEMGdibUYwYVhabFJYaGxZenRjYmx4dWRtRnlJRXhCVTFSZlNVNUVSVmdnUFNBbmJHRnpkRWx1WkdWNEp6dGNibHh1ZG1GeUlGVlFSRUZVUlZOZlRFRlRWRjlKVGtSRldGOVhVazlPUnlBOUlDaG1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lIWmhjaUJ5WlRFZ1BTQXZZUzhzWEc0Z0lDQWdJQ0J5WlRJZ1BTQXZZaW92Wnp0Y2JpQWdibUYwYVhabFJYaGxZeTVqWVd4c0tISmxNU3dnSjJFbktUdGNiaUFnYm1GMGFYWmxSWGhsWXk1allXeHNLSEpsTWl3Z0oyRW5LVHRjYmlBZ2NtVjBkWEp1SUhKbE1WdE1RVk5VWDBsT1JFVllYU0FoUFQwZ01DQjhmQ0J5WlRKYlRFRlRWRjlKVGtSRldGMGdJVDA5SURBN1hHNTlLU2dwTzF4dVhHNHZMeUJ1YjI1d1lYSjBhV05wY0dGMGFXNW5JR05oY0hSMWNtbHVaeUJuY205MWNDd2dZMjl3YVdWa0lHWnliMjBnWlhNMUxYTm9hVzBuY3lCVGRISnBibWNqYzNCc2FYUWdjR0YwWTJndVhHNTJZWElnVGxCRFIxOUpUa05NVlVSRlJDQTlJQzhvS1Q4L0x5NWxlR1ZqS0NjbktWc3hYU0FoUFQwZ2RXNWtaV1pwYm1Wa08xeHVYRzUyWVhJZ1VFRlVRMGdnUFNCVlVFUkJWRVZUWDB4QlUxUmZTVTVFUlZoZlYxSlBUa2NnZkh3Z1RsQkRSMTlKVGtOTVZVUkZSRHRjYmx4dWFXWWdLRkJCVkVOSUtTQjdYRzRnSUhCaGRHTm9aV1JGZUdWaklEMGdablZ1WTNScGIyNGdaWGhsWXloemRISXBJSHRjYmlBZ0lDQjJZWElnY21VZ1BTQjBhR2x6TzF4dUlDQWdJSFpoY2lCc1lYTjBTVzVrWlhnc0lISmxRMjl3ZVN3Z2JXRjBZMmdzSUdrN1hHNWNiaUFnSUNCcFppQW9UbEJEUjE5SlRrTk1WVVJGUkNrZ2UxeHVJQ0FnSUNBZ2NtVkRiM0I1SUQwZ2JtVjNJRkpsWjBWNGNDZ25YaWNnS3lCeVpTNXpiM1Z5WTJVZ0t5QW5KQ2cvSVZ4Y1hGeHpLU2NzSUhKbFoyVjRjRVpzWVdkekxtTmhiR3dvY21VcEtUdGNiaUFnSUNCOVhHNGdJQ0FnYVdZZ0tGVlFSRUZVUlZOZlRFRlRWRjlKVGtSRldGOVhVazlPUnlrZ2JHRnpkRWx1WkdWNElEMGdjbVZiVEVGVFZGOUpUa1JGV0YwN1hHNWNiaUFnSUNCdFlYUmphQ0E5SUc1aGRHbDJaVVY0WldNdVkyRnNiQ2h5WlN3Z2MzUnlLVHRjYmx4dUlDQWdJR2xtSUNoVlVFUkJWRVZUWDB4QlUxUmZTVTVFUlZoZlYxSlBUa2NnSmlZZ2JXRjBZMmdwSUh0Y2JpQWdJQ0FnSUhKbFcweEJVMVJmU1U1RVJWaGRJRDBnY21VdVoyeHZZbUZzSUQ4Z2JXRjBZMmd1YVc1a1pYZ2dLeUJ0WVhSamFGc3dYUzVzWlc1bmRHZ2dPaUJzWVhOMFNXNWtaWGc3WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2hPVUVOSFgwbE9RMHhWUkVWRUlDWW1JRzFoZEdOb0lDWW1JRzFoZEdOb0xteGxibWQwYUNBK0lERXBJSHRjYmlBZ0lDQWdJQzh2SUVacGVDQmljbTkzYzJWeWN5QjNhRzl6WlNCZ1pYaGxZMkFnYldWMGFHOWtjeUJrYjI0bmRDQmpiMjV6YVhOMFpXNTBiSGtnY21WMGRYSnVJR0IxYm1SbFptbHVaV1JnWEc0Z0lDQWdJQ0F2THlCbWIzSWdUbEJEUnl3Z2JHbHJaU0JKUlRndUlFNVBWRVU2SUZSb2FYTWdaRzlsYzI0bklIZHZjbXNnWm05eUlDOG9MajhwUHk5Y2JpQWdJQ0FnSUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFc1bGVIUXRiR2x1WlNCdWJ5MXNiMjl3TFdaMWJtTmNiaUFnSUNBZ0lHNWhkR2wyWlZKbGNHeGhZMlV1WTJGc2JDaHRZWFJqYUZzd1hTd2djbVZEYjNCNUxDQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lDQWdJQ0FnSUdadmNpQW9hU0E5SURFN0lHa2dQQ0JoY21kMWJXVnVkSE11YkdWdVozUm9JQzBnTWpzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLR0Z5WjNWdFpXNTBjMXRwWFNBOVBUMGdkVzVrWldacGJtVmtLU0J0WVhSamFGdHBYU0E5SUhWdVpHVm1hVzVsWkR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUcxaGRHTm9PMXh1SUNCOU8xeHVmVnh1WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUhCaGRHTm9aV1JGZUdWak8xeHVJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUc2lMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3JlZ2V4cC1leGVjLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zZXQtcHJvdG8uanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3NldC1wcm90by5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7ZXZhbCgiLy8gV29ya3Mgd2l0aCBfX3Byb3RvX18gb25seS4gT2xkIHY4IGNhbid0IHdvcmsgd2l0aCBudWxsIHByb3RvIG9iamVjdHMuXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1wcm90byAqL1xudmFyIGlzT2JqZWN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9faXMtb2JqZWN0ICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pcy1vYmplY3QuanNcIik7XG52YXIgYW5PYmplY3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19hbi1vYmplY3QgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FuLW9iamVjdC5qc1wiKTtcbnZhciBjaGVjayA9IGZ1bmN0aW9uIChPLCBwcm90bykge1xuICBhbk9iamVjdChPKTtcbiAgaWYgKCFpc09iamVjdChwcm90bykgJiYgcHJvdG8gIT09IG51bGwpIHRocm93IFR5cGVFcnJvcihwcm90byArIFwiOiBjYW4ndCBzZXQgYXMgcHJvdG90eXBlIVwiKTtcbn07XG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgc2V0OiBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgKCdfX3Byb3RvX18nIGluIHt9ID8gLy8gZXNsaW50LWRpc2FibGUtbGluZVxuICAgIGZ1bmN0aW9uICh0ZXN0LCBidWdneSwgc2V0KSB7XG4gICAgICB0cnkge1xuICAgICAgICBzZXQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19jdHggKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2N0eC5qc1wiKShGdW5jdGlvbi5jYWxsLCBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19vYmplY3QtZ29wZCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fb2JqZWN0LWdvcGQuanNcIikuZihPYmplY3QucHJvdG90eXBlLCAnX19wcm90b19fJykuc2V0LCAyKTtcbiAgICAgICAgc2V0KHRlc3QsIFtdKTtcbiAgICAgICAgYnVnZ3kgPSAhKHRlc3QgaW5zdGFuY2VvZiBBcnJheSk7XG4gICAgICB9IGNhdGNoIChlKSB7IGJ1Z2d5ID0gdHJ1ZTsgfVxuICAgICAgcmV0dXJuIGZ1bmN0aW9uIHNldFByb3RvdHlwZU9mKE8sIHByb3RvKSB7XG4gICAgICAgIGNoZWNrKE8sIHByb3RvKTtcbiAgICAgICAgaWYgKGJ1Z2d5KSBPLl9fcHJvdG9fXyA9IHByb3RvO1xuICAgICAgICBlbHNlIHNldChPLCBwcm90byk7XG4gICAgICAgIHJldHVybiBPO1xuICAgICAgfTtcbiAgICB9KHt9LCBmYWxzZSkgOiB1bmRlZmluZWQpLFxuICBjaGVjazogY2hlY2tcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTl6WlhRdGNISnZkRzh1YW5NdWFuTWlMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk4dkxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTl6WlhRdGNISnZkRzh1YW5NL09HSTVOeUpkTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdkx5QlhiM0pyY3lCM2FYUm9JRjlmY0hKdmRHOWZYeUJ2Ym14NUxpQlBiR1FnZGpnZ1kyRnVKM1FnZDI5eWF5QjNhWFJvSUc1MWJHd2djSEp2ZEc4Z2IySnFaV04wY3k1Y2JpOHFJR1Z6YkdsdWRDMWthWE5oWW14bElHNXZMWEJ5YjNSdklDb3ZYRzUyWVhJZ2FYTlBZbXBsWTNRZ1BTQnlaWEYxYVhKbEtDY3VMMTlwY3kxdlltcGxZM1FuS1R0Y2JuWmhjaUJoYms5aWFtVmpkQ0E5SUhKbGNYVnBjbVVvSnk0dlgyRnVMVzlpYW1WamRDY3BPMXh1ZG1GeUlHTm9aV05ySUQwZ1puVnVZM1JwYjI0Z0tFOHNJSEJ5YjNSdktTQjdYRzRnSUdGdVQySnFaV04wS0U4cE8xeHVJQ0JwWmlBb0lXbHpUMkpxWldOMEtIQnliM1J2S1NBbUppQndjbTkwYnlBaFBUMGdiblZzYkNrZ2RHaHliM2NnVkhsd1pVVnljbTl5S0hCeWIzUnZJQ3NnWENJNklHTmhiaWQwSUhObGRDQmhjeUJ3Y205MGIzUjVjR1VoWENJcE8xeHVmVHRjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnZTF4dUlDQnpaWFE2SUU5aWFtVmpkQzV6WlhSUWNtOTBiM1I1Y0dWUFppQjhmQ0FvSjE5ZmNISnZkRzlmWHljZ2FXNGdlMzBnUHlBdkx5QmxjMnhwYm5RdFpHbHpZV0pzWlMxc2FXNWxYRzRnSUNBZ1puVnVZM1JwYjI0Z0tIUmxjM1FzSUdKMVoyZDVMQ0J6WlhRcElIdGNiaUFnSUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0FnSUhObGRDQTlJSEpsY1hWcGNtVW9KeTR2WDJOMGVDY3BLRVoxYm1OMGFXOXVMbU5oYkd3c0lISmxjWFZwY21Vb0p5NHZYMjlpYW1WamRDMW5iM0JrSnlrdVppaFBZbXBsWTNRdWNISnZkRzkwZVhCbExDQW5YMTl3Y205MGIxOWZKeWt1YzJWMExDQXlLVHRjYmlBZ0lDQWdJQ0FnYzJWMEtIUmxjM1FzSUZ0ZEtUdGNiaUFnSUNBZ0lDQWdZblZuWjNrZ1BTQWhLSFJsYzNRZ2FXNXpkR0Z1WTJWdlppQkJjbkpoZVNrN1hHNGdJQ0FnSUNCOUlHTmhkR05vSUNobEtTQjdJR0oxWjJkNUlEMGdkSEoxWlRzZ2ZWeHVJQ0FnSUNBZ2NtVjBkWEp1SUdaMWJtTjBhVzl1SUhObGRGQnliM1J2ZEhsd1pVOW1LRThzSUhCeWIzUnZLU0I3WEc0Z0lDQWdJQ0FnSUdOb1pXTnJLRThzSUhCeWIzUnZLVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHSjFaMmQ1S1NCUExsOWZjSEp2ZEc5Zlh5QTlJSEJ5YjNSdk8xeHVJQ0FnSUNBZ0lDQmxiSE5sSUhObGRDaFBMQ0J3Y205MGJ5azdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQlBPMXh1SUNBZ0lDQWdmVHRjYmlBZ0lDQjlLSHQ5TENCbVlXeHpaU2tnT2lCMWJtUmxabWx1WldRcExGeHVJQ0JqYUdWamF6b2dZMmhsWTJ0Y2JuMDdYRzRpWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk95SXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3NldC1wcm90by5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc2V0LXRvLXN0cmluZy10YWcuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc2V0LXRvLXN0cmluZy10YWcuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7ZXZhbCgidmFyIGRlZiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX29iamVjdC1kcCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fb2JqZWN0LWRwLmpzXCIpLmY7XG52YXIgaGFzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9faGFzICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19oYXMuanNcIik7XG52YXIgVEFHID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fd2tzICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL193a3MuanNcIikoJ3RvU3RyaW5nVGFnJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0LCB0YWcsIHN0YXQpIHtcbiAgaWYgKGl0ICYmICFoYXMoaXQgPSBzdGF0ID8gaXQgOiBpdC5wcm90b3R5cGUsIFRBRykpIGRlZihpdCwgVEFHLCB7IGNvbmZpZ3VyYWJsZTogdHJ1ZSwgdmFsdWU6IHRhZyB9KTtcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTl6WlhRdGRHOHRjM1J5YVc1bkxYUmhaeTVxY3k1cWN5SXNJbk52ZFhKalpYTWlPbHNpZDJWaWNHRmphem92THk4dUwyNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZYM05sZEMxMGJ5MXpkSEpwYm1jdGRHRm5MbXB6UHpkbU1qQWlYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpZG1GeUlHUmxaaUE5SUhKbGNYVnBjbVVvSnk0dlgyOWlhbVZqZEMxa2NDY3BMbVk3WEc1MllYSWdhR0Z6SUQwZ2NtVnhkV2x5WlNnbkxpOWZhR0Z6SnlrN1hHNTJZWElnVkVGSElEMGdjbVZ4ZFdseVpTZ25MaTlmZDJ0ekp5a29KM1J2VTNSeWFXNW5WR0ZuSnlrN1hHNWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdablZ1WTNScGIyNGdLR2wwTENCMFlXY3NJSE4wWVhRcElIdGNiaUFnYVdZZ0tHbDBJQ1ltSUNGb1lYTW9hWFFnUFNCemRHRjBJRDhnYVhRZ09pQnBkQzV3Y205MGIzUjVjR1VzSUZSQlJ5a3BJR1JsWmlocGRDd2dWRUZITENCN0lHTnZibVpwWjNWeVlXSnNaVG9nZEhKMVpTd2dkbUZzZFdVNklIUmhaeUI5S1R0Y2JuMDdYRzRpWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk95SXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3NldC10by1zdHJpbmctdGFnLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zaGFyZWQta2V5LmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc2hhcmVkLWtleS5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18pe2V2YWwoInZhciBzaGFyZWQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19zaGFyZWQgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3NoYXJlZC5qc1wiKSgna2V5cycpO1xudmFyIHVpZCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3VpZCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdWlkLmpzXCIpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoa2V5KSB7XG4gIHJldHVybiBzaGFyZWRba2V5XSB8fCAoc2hhcmVkW2tleV0gPSB1aWQoa2V5KSk7XG59O1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5emFHRnlaV1F0YTJWNUxtcHpMbXB6SWl3aWMyOTFjbU5sY3lJNld5SjNaV0p3WVdOck9pOHZMeTR2Ym05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJXOWtkV3hsY3k5ZmMyaGhjbVZrTFd0bGVTNXFjejgyTVROaUlsMHNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJblpoY2lCemFHRnlaV1FnUFNCeVpYRjFhWEpsS0NjdUwxOXphR0Z5WldRbktTZ25hMlY1Y3ljcE8xeHVkbUZ5SUhWcFpDQTlJSEpsY1hWcGNtVW9KeTR2WDNWcFpDY3BPMXh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JtZFc1amRHbHZiaUFvYTJWNUtTQjdYRzRnSUhKbGRIVnliaUJ6YUdGeVpXUmJhMlY1WFNCOGZDQW9jMmhoY21Wa1cydGxlVjBnUFNCMWFXUW9hMlY1S1NrN1hHNTlPMXh1SWwwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk95SXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3NoYXJlZC1rZXkuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3NoYXJlZC5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc2hhcmVkLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXtldmFsKCJ2YXIgY29yZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2NvcmUgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2NvcmUuanNcIik7XG52YXIgZ2xvYmFsID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fZ2xvYmFsICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19nbG9iYWwuanNcIik7XG52YXIgU0hBUkVEID0gJ19fY29yZS1qc19zaGFyZWRfXyc7XG52YXIgc3RvcmUgPSBnbG9iYWxbU0hBUkVEXSB8fCAoZ2xvYmFsW1NIQVJFRF0gPSB7fSk7XG5cbihtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChrZXksIHZhbHVlKSB7XG4gIHJldHVybiBzdG9yZVtrZXldIHx8IChzdG9yZVtrZXldID0gdmFsdWUgIT09IHVuZGVmaW5lZCA/IHZhbHVlIDoge30pO1xufSkoJ3ZlcnNpb25zJywgW10pLnB1c2goe1xuICB2ZXJzaW9uOiBjb3JlLnZlcnNpb24sXG4gIG1vZGU6IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2xpYnJhcnkgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2xpYnJhcnkuanNcIikgPyAncHVyZScgOiAnZ2xvYmFsJyxcbiAgY29weXJpZ2h0OiAnwqkgMjAxOSBEZW5pcyBQdXNoa2FyZXYgKHpsb2lyb2NrLnJ1KSdcbn0pO1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5emFHRnlaV1F1YW5NdWFuTWlMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk4dkxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTl6YUdGeVpXUXVhbk0vTlRVek55SmRMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUoyWVhJZ1kyOXlaU0E5SUhKbGNYVnBjbVVvSnk0dlgyTnZjbVVuS1R0Y2JuWmhjaUJuYkc5aVlXd2dQU0J5WlhGMWFYSmxLQ2N1TDE5bmJHOWlZV3duS1R0Y2JuWmhjaUJUU0VGU1JVUWdQU0FuWDE5amIzSmxMV3B6WDNOb1lYSmxaRjlmSnp0Y2JuWmhjaUJ6ZEc5eVpTQTlJR2RzYjJKaGJGdFRTRUZTUlVSZElIeDhJQ2huYkc5aVlXeGJVMGhCVWtWRVhTQTlJSHQ5S1R0Y2JseHVLRzF2WkhWc1pTNWxlSEJ2Y25SeklEMGdablZ1WTNScGIyNGdLR3RsZVN3Z2RtRnNkV1VwSUh0Y2JpQWdjbVYwZFhKdUlITjBiM0psVzJ0bGVWMGdmSHdnS0hOMGIzSmxXMnRsZVYwZ1BTQjJZV3gxWlNBaFBUMGdkVzVrWldacGJtVmtJRDhnZG1Gc2RXVWdPaUI3ZlNrN1hHNTlLU2duZG1WeWMybHZibk1uTENCYlhTa3VjSFZ6YUNoN1hHNGdJSFpsY25OcGIyNDZJR052Y21VdWRtVnljMmx2Yml4Y2JpQWdiVzlrWlRvZ2NtVnhkV2x5WlNnbkxpOWZiR2xpY21GeWVTY3BJRDhnSjNCMWNtVW5JRG9nSjJkc2IySmhiQ2NzWEc0Z0lHTnZjSGx5YVdkb2REb2dKOEtwSURJd01Ua2dSR1Z1YVhNZ1VIVnphR3RoY21WMklDaDZiRzlwY205amF5NXlkU2tuWEc1OUtUdGNiaUpkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc2hhcmVkLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zcGVjaWVzLWNvbnN0cnVjdG9yLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc3BlY2llcy1jb25zdHJ1Y3Rvci5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18pe2V2YWwoIi8vIDcuMy4yMCBTcGVjaWVzQ29uc3RydWN0b3IoTywgZGVmYXVsdENvbnN0cnVjdG9yKVxudmFyIGFuT2JqZWN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fYW4tb2JqZWN0ICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hbi1vYmplY3QuanNcIik7XG52YXIgYUZ1bmN0aW9uID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fYS1mdW5jdGlvbiAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYS1mdW5jdGlvbi5qc1wiKTtcbnZhciBTUEVDSUVTID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fd2tzICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL193a3MuanNcIikoJ3NwZWNpZXMnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKE8sIEQpIHtcbiAgdmFyIEMgPSBhbk9iamVjdChPKS5jb25zdHJ1Y3RvcjtcbiAgdmFyIFM7XG4gIHJldHVybiBDID09PSB1bmRlZmluZWQgfHwgKFMgPSBhbk9iamVjdChDKVtTUEVDSUVTXSkgPT0gdW5kZWZpbmVkID8gRCA6IGFGdW5jdGlvbihTKTtcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTl6Y0dWamFXVnpMV052Ym5OMGNuVmpkRzl5TG1wekxtcHpJaXdpYzI5MWNtTmxjeUk2V3lKM1pXSndZV05yT2k4dkx5NHZibTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlmYzNCbFkybGxjeTFqYjI1emRISjFZM1J2Y2k1cWN6OWxZbVEySWwwc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHZJRGN1TXk0eU1DQlRjR1ZqYVdWelEyOXVjM1J5ZFdOMGIzSW9UeXdnWkdWbVlYVnNkRU52Ym5OMGNuVmpkRzl5S1Z4dWRtRnlJR0Z1VDJKcVpXTjBJRDBnY21WeGRXbHlaU2duTGk5ZllXNHRiMkpxWldOMEp5azdYRzUyWVhJZ1lVWjFibU4wYVc5dUlEMGdjbVZ4ZFdseVpTZ25MaTlmWVMxbWRXNWpkR2x2YmljcE8xeHVkbUZ5SUZOUVJVTkpSVk1nUFNCeVpYRjFhWEpsS0NjdUwxOTNhM01uS1NnbmMzQmxZMmxsY3ljcE8xeHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQm1kVzVqZEdsdmJpQW9UeXdnUkNrZ2UxeHVJQ0IyWVhJZ1F5QTlJR0Z1VDJKcVpXTjBLRThwTG1OdmJuTjBjblZqZEc5eU8xeHVJQ0IyWVhJZ1V6dGNiaUFnY21WMGRYSnVJRU1nUFQwOUlIVnVaR1ZtYVc1bFpDQjhmQ0FvVXlBOUlHRnVUMkpxWldOMEtFTXBXMU5RUlVOSlJWTmRLU0E5UFNCMWJtUmxabWx1WldRZ1B5QkVJRG9nWVVaMWJtTjBhVzl1S0ZNcE8xeHVmVHRjYmlKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zcGVjaWVzLWNvbnN0cnVjdG9yLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zdHJpbmctYXQuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3N0cmluZy1hdC5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7ZXZhbCgidmFyIHRvSW50ZWdlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3RvLWludGVnZXIgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3RvLWludGVnZXIuanNcIik7XG52YXIgZGVmaW5lZCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2RlZmluZWQgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2RlZmluZWQuanNcIik7XG4vLyB0cnVlICAtPiBTdHJpbmcjYXRcbi8vIGZhbHNlIC0+IFN0cmluZyNjb2RlUG9pbnRBdFxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoVE9fU1RSSU5HKSB7XG4gIHJldHVybiBmdW5jdGlvbiAodGhhdCwgcG9zKSB7XG4gICAgdmFyIHMgPSBTdHJpbmcoZGVmaW5lZCh0aGF0KSk7XG4gICAgdmFyIGkgPSB0b0ludGVnZXIocG9zKTtcbiAgICB2YXIgbCA9IHMubGVuZ3RoO1xuICAgIHZhciBhLCBiO1xuICAgIGlmIChpIDwgMCB8fCBpID49IGwpIHJldHVybiBUT19TVFJJTkcgPyAnJyA6IHVuZGVmaW5lZDtcbiAgICBhID0gcy5jaGFyQ29kZUF0KGkpO1xuICAgIHJldHVybiBhIDwgMHhkODAwIHx8IGEgPiAweGRiZmYgfHwgaSArIDEgPT09IGwgfHwgKGIgPSBzLmNoYXJDb2RlQXQoaSArIDEpKSA8IDB4ZGMwMCB8fCBiID4gMHhkZmZmXG4gICAgICA/IFRPX1NUUklORyA/IHMuY2hhckF0KGkpIDogYVxuICAgICAgOiBUT19TVFJJTkcgPyBzLnNsaWNlKGksIGkgKyAyKSA6IChhIC0gMHhkODAwIDw8IDEwKSArIChiIC0gMHhkYzAwKSArIDB4MTAwMDA7XG4gIH07XG59O1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5emRISnBibWN0WVhRdWFuTXVhbk1pTENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OHZMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5emRISnBibWN0WVhRdWFuTS9NREptTkNKZExDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SjJZWElnZEc5SmJuUmxaMlZ5SUQwZ2NtVnhkV2x5WlNnbkxpOWZkRzh0YVc1MFpXZGxjaWNwTzF4dWRtRnlJR1JsWm1sdVpXUWdQU0J5WlhGMWFYSmxLQ2N1TDE5a1pXWnBibVZrSnlrN1hHNHZMeUIwY25WbElDQXRQaUJUZEhKcGJtY2pZWFJjYmk4dklHWmhiSE5sSUMwK0lGTjBjbWx1WnlOamIyUmxVRzlwYm5SQmRGeHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQm1kVzVqZEdsdmJpQW9WRTlmVTFSU1NVNUhLU0I3WEc0Z0lISmxkSFZ5YmlCbWRXNWpkR2x2YmlBb2RHaGhkQ3dnY0c5ektTQjdYRzRnSUNBZ2RtRnlJSE1nUFNCVGRISnBibWNvWkdWbWFXNWxaQ2gwYUdGMEtTazdYRzRnSUNBZ2RtRnlJR2tnUFNCMGIwbHVkR1ZuWlhJb2NHOXpLVHRjYmlBZ0lDQjJZWElnYkNBOUlITXViR1Z1WjNSb08xeHVJQ0FnSUhaaGNpQmhMQ0JpTzF4dUlDQWdJR2xtSUNocElEd2dNQ0I4ZkNCcElENDlJR3dwSUhKbGRIVnliaUJVVDE5VFZGSkpUa2NnUHlBbkp5QTZJSFZ1WkdWbWFXNWxaRHRjYmlBZ0lDQmhJRDBnY3k1amFHRnlRMjlrWlVGMEtHa3BPMXh1SUNBZ0lISmxkSFZ5YmlCaElEd2dNSGhrT0RBd0lIeDhJR0VnUGlBd2VHUmlabVlnZkh3Z2FTQXJJREVnUFQwOUlHd2dmSHdnS0dJZ1BTQnpMbU5vWVhKRGIyUmxRWFFvYVNBcklERXBLU0E4SURCNFpHTXdNQ0I4ZkNCaUlENGdNSGhrWm1abVhHNGdJQ0FnSUNBL0lGUlBYMU5VVWtsT1J5QS9JSE11WTJoaGNrRjBLR2twSURvZ1lWeHVJQ0FnSUNBZ09pQlVUMTlUVkZKSlRrY2dQeUJ6TG5Oc2FXTmxLR2tzSUdrZ0t5QXlLU0E2SUNoaElDMGdNSGhrT0RBd0lEdzhJREV3S1NBcklDaGlJQzBnTUhoa1l6QXdLU0FySURCNE1UQXdNREE3WEc0Z0lIMDdYRzU5TzF4dUlsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk95SXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3N0cmluZy1hdC5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc3RyaW5nLXRyaW0uanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc3RyaW5nLXRyaW0uanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7ZXZhbCgidmFyICRleHBvcnQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19leHBvcnQgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2V4cG9ydC5qc1wiKTtcbnZhciBkZWZpbmVkID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fZGVmaW5lZCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZGVmaW5lZC5qc1wiKTtcbnZhciBmYWlscyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2ZhaWxzICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19mYWlscy5qc1wiKTtcbnZhciBzcGFjZXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19zdHJpbmctd3MgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3N0cmluZy13cy5qc1wiKTtcbnZhciBzcGFjZSA9ICdbJyArIHNwYWNlcyArICddJztcbnZhciBub24gPSAnXFx1MjAwYlxcdTAwODUnO1xudmFyIGx0cmltID0gUmVnRXhwKCdeJyArIHNwYWNlICsgc3BhY2UgKyAnKicpO1xudmFyIHJ0cmltID0gUmVnRXhwKHNwYWNlICsgc3BhY2UgKyAnKiQnKTtcblxudmFyIGV4cG9ydGVyID0gZnVuY3Rpb24gKEtFWSwgZXhlYywgQUxJQVMpIHtcbiAgdmFyIGV4cCA9IHt9O1xuICB2YXIgRk9SQ0UgPSBmYWlscyhmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuICEhc3BhY2VzW0tFWV0oKSB8fCBub25bS0VZXSgpICE9IG5vbjtcbiAgfSk7XG4gIHZhciBmbiA9IGV4cFtLRVldID0gRk9SQ0UgPyBleGVjKHRyaW0pIDogc3BhY2VzW0tFWV07XG4gIGlmIChBTElBUykgZXhwW0FMSUFTXSA9IGZuO1xuICAkZXhwb3J0KCRleHBvcnQuUCArICRleHBvcnQuRiAqIEZPUkNFLCAnU3RyaW5nJywgZXhwKTtcbn07XG5cbi8vIDEgLT4gU3RyaW5nI3RyaW1MZWZ0XG4vLyAyIC0+IFN0cmluZyN0cmltUmlnaHRcbi8vIDMgLT4gU3RyaW5nI3RyaW1cbnZhciB0cmltID0gZXhwb3J0ZXIudHJpbSA9IGZ1bmN0aW9uIChzdHJpbmcsIFRZUEUpIHtcbiAgc3RyaW5nID0gU3RyaW5nKGRlZmluZWQoc3RyaW5nKSk7XG4gIGlmIChUWVBFICYgMSkgc3RyaW5nID0gc3RyaW5nLnJlcGxhY2UobHRyaW0sICcnKTtcbiAgaWYgKFRZUEUgJiAyKSBzdHJpbmcgPSBzdHJpbmcucmVwbGFjZShydHJpbSwgJycpO1xuICByZXR1cm4gc3RyaW5nO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRlcjtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOXpkSEpwYm1jdGRISnBiUzVxY3k1cWN5SXNJbk52ZFhKalpYTWlPbHNpZDJWaWNHRmphem92THk4dUwyNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZYM04wY21sdVp5MTBjbWx0TG1welAyRmhOemNpWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWRtRnlJQ1JsZUhCdmNuUWdQU0J5WlhGMWFYSmxLQ2N1TDE5bGVIQnZjblFuS1R0Y2JuWmhjaUJrWldacGJtVmtJRDBnY21WeGRXbHlaU2duTGk5ZlpHVm1hVzVsWkNjcE8xeHVkbUZ5SUdaaGFXeHpJRDBnY21WeGRXbHlaU2duTGk5ZlptRnBiSE1uS1R0Y2JuWmhjaUJ6Y0dGalpYTWdQU0J5WlhGMWFYSmxLQ2N1TDE5emRISnBibWN0ZDNNbktUdGNiblpoY2lCemNHRmpaU0E5SUNkYkp5QXJJSE53WVdObGN5QXJJQ2RkSnp0Y2JuWmhjaUJ1YjI0Z1BTQW5YRngxTWpBd1lseGNkVEF3T0RVbk8xeHVkbUZ5SUd4MGNtbHRJRDBnVW1WblJYaHdLQ2RlSnlBcklITndZV05sSUNzZ2MzQmhZMlVnS3lBbktpY3BPMXh1ZG1GeUlISjBjbWx0SUQwZ1VtVm5SWGh3S0hOd1lXTmxJQ3NnYzNCaFkyVWdLeUFuS2lRbktUdGNibHh1ZG1GeUlHVjRjRzl5ZEdWeUlEMGdablZ1WTNScGIyNGdLRXRGV1N3Z1pYaGxZeXdnUVV4SlFWTXBJSHRjYmlBZ2RtRnlJR1Y0Y0NBOUlIdDlPMXh1SUNCMllYSWdSazlTUTBVZ1BTQm1ZV2xzY3lobWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUNFaGMzQmhZMlZ6VzB0RldWMG9LU0I4ZkNCdWIyNWJTMFZaWFNncElDRTlJRzV2Ymp0Y2JpQWdmU2s3WEc0Z0lIWmhjaUJtYmlBOUlHVjRjRnRMUlZsZElEMGdSazlTUTBVZ1B5QmxlR1ZqS0hSeWFXMHBJRG9nYzNCaFkyVnpXMHRGV1YwN1hHNGdJR2xtSUNoQlRFbEJVeWtnWlhod1cwRk1TVUZUWFNBOUlHWnVPMXh1SUNBa1pYaHdiM0owS0NSbGVIQnZjblF1VUNBcklDUmxlSEJ2Y25RdVJpQXFJRVpQVWtORkxDQW5VM1J5YVc1bkp5d2daWGh3S1R0Y2JuMDdYRzVjYmk4dklERWdMVDRnVTNSeWFXNW5JM1J5YVcxTVpXWjBYRzR2THlBeUlDMCtJRk4wY21sdVp5TjBjbWx0VW1sbmFIUmNiaTh2SURNZ0xUNGdVM1J5YVc1bkkzUnlhVzFjYm5aaGNpQjBjbWx0SUQwZ1pYaHdiM0owWlhJdWRISnBiU0E5SUdaMWJtTjBhVzl1SUNoemRISnBibWNzSUZSWlVFVXBJSHRjYmlBZ2MzUnlhVzVuSUQwZ1UzUnlhVzVuS0dSbFptbHVaV1FvYzNSeWFXNW5LU2s3WEc0Z0lHbG1JQ2hVV1ZCRklDWWdNU2tnYzNSeWFXNW5JRDBnYzNSeWFXNW5MbkpsY0d4aFkyVW9iSFJ5YVcwc0lDY25LVHRjYmlBZ2FXWWdLRlJaVUVVZ0ppQXlLU0J6ZEhKcGJtY2dQU0J6ZEhKcGJtY3VjbVZ3YkdGalpTaHlkSEpwYlN3Z0p5Y3BPMXh1SUNCeVpYUjFjbTRnYzNSeWFXNW5PMXh1ZlR0Y2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQmxlSEJ2Y25SbGNqdGNiaUpkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc3RyaW5nLXRyaW0uanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3N0cmluZy13cy5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc3RyaW5nLXdzLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7ZXZhbCgibW9kdWxlLmV4cG9ydHMgPSAnXFx4MDlcXHgwQVxceDBCXFx4MENcXHgwRFxceDIwXFx4QTBcXHUxNjgwXFx1MTgwRVxcdTIwMDBcXHUyMDAxXFx1MjAwMlxcdTIwMDMnICtcbiAgJ1xcdTIwMDRcXHUyMDA1XFx1MjAwNlxcdTIwMDdcXHUyMDA4XFx1MjAwOVxcdTIwMEFcXHUyMDJGXFx1MjA1RlxcdTMwMDBcXHUyMDI4XFx1MjAyOVxcdUZFRkYnO1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5emRISnBibWN0ZDNNdWFuTXVhbk1pTENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OHZMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5emRISnBibWN0ZDNNdWFuTS9abVJsWmlKZExDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnRiMlIxYkdVdVpYaHdiM0owY3lBOUlDZGNYSGd3T1Z4Y2VEQkJYRng0TUVKY1hIZ3dRMXhjZURCRVhGeDRNakJjWEhoQk1GeGNkVEUyT0RCY1hIVXhPREJGWEZ4MU1qQXdNRnhjZFRJd01ERmNYSFV5TURBeVhGeDFNakF3TXljZ0sxeHVJQ0FuWEZ4MU1qQXdORnhjZFRJd01EVmNYSFV5TURBMlhGeDFNakF3TjF4Y2RUSXdNRGhjWEhVeU1EQTVYRngxTWpBd1FWeGNkVEl3TWtaY1hIVXlNRFZHWEZ4MU16QXdNRnhjZFRJd01qaGNYSFV5TURJNVhGeDFSa1ZHUmljN1hHNGlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN0lpd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc3RyaW5nLXdzLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1hYnNvbHV0ZS1pbmRleC5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1hYnNvbHV0ZS1pbmRleC5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXtldmFsKCJ2YXIgdG9JbnRlZ2VyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fdG8taW50ZWdlciAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8taW50ZWdlci5qc1wiKTtcbnZhciBtYXggPSBNYXRoLm1heDtcbnZhciBtaW4gPSBNYXRoLm1pbjtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGluZGV4LCBsZW5ndGgpIHtcbiAgaW5kZXggPSB0b0ludGVnZXIoaW5kZXgpO1xuICByZXR1cm4gaW5kZXggPCAwID8gbWF4KGluZGV4ICsgbGVuZ3RoLCAwKSA6IG1pbihpbmRleCwgbGVuZ3RoKTtcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTkwYnkxaFluTnZiSFYwWlMxcGJtUmxlQzVxY3k1cWN5SXNJbk52ZFhKalpYTWlPbHNpZDJWaWNHRmphem92THk4dUwyNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZYM1J2TFdGaWMyOXNkWFJsTFdsdVpHVjRMbXB6UHpjM1pqRWlYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpZG1GeUlIUnZTVzUwWldkbGNpQTlJSEpsY1hWcGNtVW9KeTR2WDNSdkxXbHVkR1ZuWlhJbktUdGNiblpoY2lCdFlYZ2dQU0JOWVhSb0xtMWhlRHRjYm5aaGNpQnRhVzRnUFNCTllYUm9MbTFwYmp0Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1puVnVZM1JwYjI0Z0tHbHVaR1Y0TENCc1pXNW5kR2dwSUh0Y2JpQWdhVzVrWlhnZ1BTQjBiMGx1ZEdWblpYSW9hVzVrWlhncE8xeHVJQ0J5WlhSMWNtNGdhVzVrWlhnZ1BDQXdJRDhnYldGNEtHbHVaR1Y0SUNzZ2JHVnVaM1JvTENBd0tTQTZJRzFwYmlocGJtUmxlQ3dnYkdWdVozUm9LVHRjYm4wN1hHNGlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8tYWJzb2x1dGUtaW5kZXguanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3RvLWludGVnZXIuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1pbnRlZ2VyLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpe2V2YWwoIi8vIDcuMS40IFRvSW50ZWdlclxudmFyIGNlaWwgPSBNYXRoLmNlaWw7XG52YXIgZmxvb3IgPSBNYXRoLmZsb29yO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIGlzTmFOKGl0ID0gK2l0KSA/IDAgOiAoaXQgPiAwID8gZmxvb3IgOiBjZWlsKShpdCk7XG59O1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5MGJ5MXBiblJsWjJWeUxtcHpMbXB6SWl3aWMyOTFjbU5sY3lJNld5SjNaV0p3WVdOck9pOHZMeTR2Ym05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJXOWtkV3hsY3k5ZmRHOHRhVzUwWldkbGNpNXFjejgwTlRnNElsMHNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaTh2SURjdU1TNDBJRlJ2U1c1MFpXZGxjbHh1ZG1GeUlHTmxhV3dnUFNCTllYUm9MbU5sYVd3N1hHNTJZWElnWm14dmIzSWdQU0JOWVhSb0xtWnNiMjl5TzF4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbWRXNWpkR2x2YmlBb2FYUXBJSHRjYmlBZ2NtVjBkWEp1SUdselRtRk9LR2wwSUQwZ0sybDBLU0EvSURBZ09pQW9hWFFnUGlBd0lEOGdabXh2YjNJZ09pQmpaV2xzS1NocGRDazdYRzU5TzF4dUlsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN0lpd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8taW50ZWdlci5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8taW9iamVjdC5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3RvLWlvYmplY3QuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXtldmFsKCIvLyB0byBpbmRleGVkIG9iamVjdCwgdG9PYmplY3Qgd2l0aCBmYWxsYmFjayBmb3Igbm9uLWFycmF5LWxpa2UgRVMzIHN0cmluZ3NcbnZhciBJT2JqZWN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9faW9iamVjdCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faW9iamVjdC5qc1wiKTtcbnZhciBkZWZpbmVkID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fZGVmaW5lZCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZGVmaW5lZC5qc1wiKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBJT2JqZWN0KGRlZmluZWQoaXQpKTtcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTkwYnkxcGIySnFaV04wTG1wekxtcHpJaXdpYzI5MWNtTmxjeUk2V3lKM1pXSndZV05yT2k4dkx5NHZibTlrWlY5dGIyUjFiR1Z6TDJOdmNtVXRhbk12Ylc5a2RXeGxjeTlmZEc4dGFXOWlhbVZqZEM1cWN6ODJPREl4SWwwc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHZJSFJ2SUdsdVpHVjRaV1FnYjJKcVpXTjBMQ0IwYjA5aWFtVmpkQ0IzYVhSb0lHWmhiR3hpWVdOcklHWnZjaUJ1YjI0dFlYSnlZWGt0YkdsclpTQkZVek1nYzNSeWFXNW5jMXh1ZG1GeUlFbFBZbXBsWTNRZ1BTQnlaWEYxYVhKbEtDY3VMMTlwYjJKcVpXTjBKeWs3WEc1MllYSWdaR1ZtYVc1bFpDQTlJSEpsY1hWcGNtVW9KeTR2WDJSbFptbHVaV1FuS1R0Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1puVnVZM1JwYjI0Z0tHbDBLU0I3WEc0Z0lISmxkSFZ5YmlCSlQySnFaV04wS0dSbFptbHVaV1FvYVhRcEtUdGNibjA3WEc0aVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzaUxDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8taW9iamVjdC5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8tbGVuZ3RoLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1sZW5ndGguanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18pe2V2YWwoIi8vIDcuMS4xNSBUb0xlbmd0aFxudmFyIHRvSW50ZWdlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3RvLWludGVnZXIgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3RvLWludGVnZXIuanNcIik7XG52YXIgbWluID0gTWF0aC5taW47XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gaXQgPiAwID8gbWluKHRvSW50ZWdlcihpdCksIDB4MWZmZmZmZmZmZmZmZmYpIDogMDsgLy8gcG93KDIsIDUzKSAtIDEgPT0gOTAwNzE5OTI1NDc0MDk5MVxufTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOTBieTFzWlc1bmRHZ3Vhbk11YW5NaUxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTh2TGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOTBieTFzWlc1bmRHZ3Vhbk0vT1dSbFppSmRMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2THlBM0xqRXVNVFVnVkc5TVpXNW5kR2hjYm5aaGNpQjBiMGx1ZEdWblpYSWdQU0J5WlhGMWFYSmxLQ2N1TDE5MGJ5MXBiblJsWjJWeUp5azdYRzUyWVhJZ2JXbHVJRDBnVFdGMGFDNXRhVzQ3WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUdaMWJtTjBhVzl1SUNocGRDa2dlMXh1SUNCeVpYUjFjbTRnYVhRZ1BpQXdJRDhnYldsdUtIUnZTVzUwWldkbGNpaHBkQ2tzSURCNE1XWm1abVptWm1abVptWm1abVlwSURvZ01Ec2dMeThnY0c5M0tESXNJRFV6S1NBdElERWdQVDBnT1RBd056RTVPVEkxTkRjME1EazVNVnh1ZlR0Y2JpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk95SXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3RvLWxlbmd0aC5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8tb2JqZWN0LmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1vYmplY3QuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18pe2V2YWwoIi8vIDcuMS4xMyBUb09iamVjdChhcmd1bWVudClcbnZhciBkZWZpbmVkID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fZGVmaW5lZCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZGVmaW5lZC5qc1wiKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBPYmplY3QoZGVmaW5lZChpdCkpO1xufTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOTBieTF2WW1wbFkzUXVhbk11YW5NaUxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTh2TGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOTBieTF2WW1wbFkzUXVhbk0vTkdKbU9DSmRMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2THlBM0xqRXVNVE1nVkc5UFltcGxZM1FvWVhKbmRXMWxiblFwWEc1MllYSWdaR1ZtYVc1bFpDQTlJSEpsY1hWcGNtVW9KeTR2WDJSbFptbHVaV1FuS1R0Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1puVnVZM1JwYjI0Z0tHbDBLU0I3WEc0Z0lISmxkSFZ5YmlCUFltcGxZM1FvWkdWbWFXNWxaQ2hwZENrcE8xeHVmVHRjYmlKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUc2lMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3RvLW9iamVjdC5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8tcHJpbWl0aXZlLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1wcmltaXRpdmUuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18pe2V2YWwoIi8vIDcuMS4xIFRvUHJpbWl0aXZlKGlucHV0IFssIFByZWZlcnJlZFR5cGVdKVxudmFyIGlzT2JqZWN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9faXMtb2JqZWN0ICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pcy1vYmplY3QuanNcIik7XG4vLyBpbnN0ZWFkIG9mIHRoZSBFUzYgc3BlYyB2ZXJzaW9uLCB3ZSBkaWRuJ3QgaW1wbGVtZW50IEBAdG9QcmltaXRpdmUgY2FzZVxuLy8gYW5kIHRoZSBzZWNvbmQgYXJndW1lbnQgLSBmbGFnIC0gcHJlZmVycmVkIHR5cGUgaXMgYSBzdHJpbmdcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0LCBTKSB7XG4gIGlmICghaXNPYmplY3QoaXQpKSByZXR1cm4gaXQ7XG4gIHZhciBmbiwgdmFsO1xuICBpZiAoUyAmJiB0eXBlb2YgKGZuID0gaXQudG9TdHJpbmcpID09ICdmdW5jdGlvbicgJiYgIWlzT2JqZWN0KHZhbCA9IGZuLmNhbGwoaXQpKSkgcmV0dXJuIHZhbDtcbiAgaWYgKHR5cGVvZiAoZm4gPSBpdC52YWx1ZU9mKSA9PSAnZnVuY3Rpb24nICYmICFpc09iamVjdCh2YWwgPSBmbi5jYWxsKGl0KSkpIHJldHVybiB2YWw7XG4gIGlmICghUyAmJiB0eXBlb2YgKGZuID0gaXQudG9TdHJpbmcpID09ICdmdW5jdGlvbicgJiYgIWlzT2JqZWN0KHZhbCA9IGZuLmNhbGwoaXQpKSkgcmV0dXJuIHZhbDtcbiAgdGhyb3cgVHlwZUVycm9yKFwiQ2FuJ3QgY29udmVydCBvYmplY3QgdG8gcHJpbWl0aXZlIHZhbHVlXCIpO1xufTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOTBieTF3Y21sdGFYUnBkbVV1YW5NdWFuTWlMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk4dkxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMTkwYnkxd2NtbHRhWFJwZG1VdWFuTS9ObUU1T1NKZExDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZMeUEzTGpFdU1TQlViMUJ5YVcxcGRHbDJaU2hwYm5CMWRDQmJMQ0JRY21WbVpYSnlaV1JVZVhCbFhTbGNiblpoY2lCcGMwOWlhbVZqZENBOUlISmxjWFZwY21Vb0p5NHZYMmx6TFc5aWFtVmpkQ2NwTzF4dUx5OGdhVzV6ZEdWaFpDQnZaaUIwYUdVZ1JWTTJJSE53WldNZ2RtVnljMmx2Yml3Z2QyVWdaR2xrYmlkMElHbHRjR3hsYldWdWRDQkFRSFJ2VUhKcGJXbDBhWFpsSUdOaGMyVmNiaTh2SUdGdVpDQjBhR1VnYzJWamIyNWtJR0Z5WjNWdFpXNTBJQzBnWm14aFp5QXRJSEJ5WldabGNuSmxaQ0IwZVhCbElHbHpJR0VnYzNSeWFXNW5YRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR1oxYm1OMGFXOXVJQ2hwZEN3Z1V5a2dlMXh1SUNCcFppQW9JV2x6VDJKcVpXTjBLR2wwS1NrZ2NtVjBkWEp1SUdsME8xeHVJQ0IyWVhJZ1ptNHNJSFpoYkR0Y2JpQWdhV1lnS0ZNZ0ppWWdkSGx3Wlc5bUlDaG1iaUE5SUdsMExuUnZVM1J5YVc1bktTQTlQU0FuWm5WdVkzUnBiMjRuSUNZbUlDRnBjMDlpYW1WamRDaDJZV3dnUFNCbWJpNWpZV3hzS0dsMEtTa3BJSEpsZEhWeWJpQjJZV3c3WEc0Z0lHbG1JQ2gwZVhCbGIyWWdLR1p1SUQwZ2FYUXVkbUZzZFdWUFppa2dQVDBnSjJaMWJtTjBhVzl1SnlBbUppQWhhWE5QWW1wbFkzUW9kbUZzSUQwZ1ptNHVZMkZzYkNocGRDa3BLU0J5WlhSMWNtNGdkbUZzTzF4dUlDQnBaaUFvSVZNZ0ppWWdkSGx3Wlc5bUlDaG1iaUE5SUdsMExuUnZVM1J5YVc1bktTQTlQU0FuWm5WdVkzUnBiMjRuSUNZbUlDRnBjMDlpYW1WamRDaDJZV3dnUFNCbWJpNWpZV3hzS0dsMEtTa3BJSEpsZEhWeWJpQjJZV3c3WEc0Z0lIUm9jbTkzSUZSNWNHVkZjbkp2Y2loY0lrTmhiaWQwSUdOdmJuWmxjblFnYjJKcVpXTjBJSFJ2SUhCeWFXMXBkR2wyWlNCMllXeDFaVndpS1R0Y2JuMDdYRzRpWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzaUxDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8tcHJpbWl0aXZlLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL191aWQuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3VpZC5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpe2V2YWwoInZhciBpZCA9IDA7XG52YXIgcHggPSBNYXRoLnJhbmRvbSgpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoa2V5KSB7XG4gIHJldHVybiAnU3ltYm9sKCcuY29uY2F0KGtleSA9PT0gdW5kZWZpbmVkID8gJycgOiBrZXksICcpXycsICgrK2lkICsgcHgpLnRvU3RyaW5nKDM2KSk7XG59O1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5MWFXUXVhbk11YW5NaUxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTh2TGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOTFhV1F1YW5NL1kyRTFZU0pkTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKMllYSWdhV1FnUFNBd08xeHVkbUZ5SUhCNElEMGdUV0YwYUM1eVlXNWtiMjBvS1R0Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1puVnVZM1JwYjI0Z0tHdGxlU2tnZTF4dUlDQnlaWFIxY200Z0oxTjViV0p2YkNnbkxtTnZibU5oZENoclpYa2dQVDA5SUhWdVpHVm1hVzVsWkNBL0lDY25JRG9nYTJWNUxDQW5LVjhuTENBb0t5dHBaQ0FySUhCNEtTNTBiMU4wY21sdVp5Z3pOaWtwTzF4dWZUdGNiaUpkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzaUxDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdWlkLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL193a3MuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3drcy5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7ZXZhbCgidmFyIHN0b3JlID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fc2hhcmVkICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zaGFyZWQuanNcIikoJ3drcycpO1xudmFyIHVpZCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3VpZCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdWlkLmpzXCIpO1xudmFyIFN5bWJvbCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2dsb2JhbCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZ2xvYmFsLmpzXCIpLlN5bWJvbDtcbnZhciBVU0VfU1lNQk9MID0gdHlwZW9mIFN5bWJvbCA9PSAnZnVuY3Rpb24nO1xuXG52YXIgJGV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChuYW1lKSB7XG4gIHJldHVybiBzdG9yZVtuYW1lXSB8fCAoc3RvcmVbbmFtZV0gPVxuICAgIFVTRV9TWU1CT0wgJiYgU3ltYm9sW25hbWVdIHx8IChVU0VfU1lNQk9MID8gU3ltYm9sIDogdWlkKSgnU3ltYm9sLicgKyBuYW1lKSk7XG59O1xuXG4kZXhwb3J0cy5zdG9yZSA9IHN0b3JlO1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDE5M2EzTXVhbk11YW5NaUxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTh2TGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwxOTNhM011YW5NL01tSTBZeUpkTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKMllYSWdjM1J2Y21VZ1BTQnlaWEYxYVhKbEtDY3VMMTl6YUdGeVpXUW5LU2duZDJ0ekp5azdYRzUyWVhJZ2RXbGtJRDBnY21WeGRXbHlaU2duTGk5ZmRXbGtKeWs3WEc1MllYSWdVM2x0WW05c0lEMGdjbVZ4ZFdseVpTZ25MaTlmWjJ4dlltRnNKeWt1VTNsdFltOXNPMXh1ZG1GeUlGVlRSVjlUV1UxQ1Qwd2dQU0IwZVhCbGIyWWdVM2x0WW05c0lEMDlJQ2RtZFc1amRHbHZiaWM3WEc1Y2JuWmhjaUFrWlhod2IzSjBjeUE5SUcxdlpIVnNaUzVsZUhCdmNuUnpJRDBnWm5WdVkzUnBiMjRnS0c1aGJXVXBJSHRjYmlBZ2NtVjBkWEp1SUhOMGIzSmxXMjVoYldWZElIeDhJQ2h6ZEc5eVpWdHVZVzFsWFNBOVhHNGdJQ0FnVlZORlgxTlpUVUpQVENBbUppQlRlVzFpYjJ4YmJtRnRaVjBnZkh3Z0tGVlRSVjlUV1UxQ1Qwd2dQeUJUZVcxaWIyd2dPaUIxYVdRcEtDZFRlVzFpYjJ3dUp5QXJJRzVoYldVcEtUdGNibjA3WEc1Y2JpUmxlSEJ2Y25SekxuTjBiM0psSUQwZ2MzUnZjbVU3WEc0aVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3SWl3aWMyOTFjbU5sVW05dmRDSTZJaUo5XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL193a3MuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LmFycmF5LmZpbmQuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5hcnJheS5maW5kLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7InVzZSBzdHJpY3QiO2V2YWwoIlxuLy8gMjIuMS4zLjggQXJyYXkucHJvdG90eXBlLmZpbmQocHJlZGljYXRlLCB0aGlzQXJnID0gdW5kZWZpbmVkKVxudmFyICRleHBvcnQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19leHBvcnQgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2V4cG9ydC5qc1wiKTtcbnZhciAkZmluZCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2FycmF5LW1ldGhvZHMgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FycmF5LW1ldGhvZHMuanNcIikoNSk7XG52YXIgS0VZID0gJ2ZpbmQnO1xudmFyIGZvcmNlZCA9IHRydWU7XG4vLyBTaG91bGRuJ3Qgc2tpcCBob2xlc1xuaWYgKEtFWSBpbiBbXSkgQXJyYXkoMSlbS0VZXShmdW5jdGlvbiAoKSB7IGZvcmNlZCA9IGZhbHNlOyB9KTtcbiRleHBvcnQoJGV4cG9ydC5QICsgJGV4cG9ydC5GICogZm9yY2VkLCAnQXJyYXknLCB7XG4gIGZpbmQ6IGZ1bmN0aW9uIGZpbmQoY2FsbGJhY2tmbiAvKiAsIHRoYXQgPSB1bmRlZmluZWQgKi8pIHtcbiAgICByZXR1cm4gJGZpbmQodGhpcywgY2FsbGJhY2tmbiwgYXJndW1lbnRzLmxlbmd0aCA+IDEgPyBhcmd1bWVudHNbMV0gOiB1bmRlZmluZWQpO1xuICB9XG59KTtcbl9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2FkZC10by11bnNjb3BhYmxlcyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYWRkLXRvLXVuc2NvcGFibGVzLmpzXCIpKEtFWSk7XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tmk1aGNuSmhlUzVtYVc1a0xtcHpMbXB6SWl3aWMyOTFjbU5sY3lJNld5SjNaV0p3WVdOck9pOHZMeTR2Ym05a1pWOXRiMlIxYkdWekwyTnZjbVV0YW5NdmJXOWtkV3hsY3k5bGN6WXVZWEp5WVhrdVptbHVaQzVxY3o4M05URTBJbDBzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWlkMWMyVWdjM1J5YVdOMEp6dGNiaTh2SURJeUxqRXVNeTQ0SUVGeWNtRjVMbkJ5YjNSdmRIbHdaUzVtYVc1a0tIQnlaV1JwWTJGMFpTd2dkR2hwYzBGeVp5QTlJSFZ1WkdWbWFXNWxaQ2xjYm5aaGNpQWtaWGh3YjNKMElEMGdjbVZ4ZFdseVpTZ25MaTlmWlhod2IzSjBKeWs3WEc1MllYSWdKR1pwYm1RZ1BTQnlaWEYxYVhKbEtDY3VMMTloY25KaGVTMXRaWFJvYjJSekp5a29OU2s3WEc1MllYSWdTMFZaSUQwZ0oyWnBibVFuTzF4dWRtRnlJR1p2Y21ObFpDQTlJSFJ5ZFdVN1hHNHZMeUJUYUc5MWJHUnVKM1FnYzJ0cGNDQm9iMnhsYzF4dWFXWWdLRXRGV1NCcGJpQmJYU2tnUVhKeVlYa29NU2xiUzBWWlhTaG1kVzVqZEdsdmJpQW9LU0I3SUdadmNtTmxaQ0E5SUdaaGJITmxPeUI5S1R0Y2JpUmxlSEJ2Y25Rb0pHVjRjRzl5ZEM1UUlDc2dKR1Y0Y0c5eWRDNUdJQ29nWm05eVkyVmtMQ0FuUVhKeVlYa25MQ0I3WEc0Z0lHWnBibVE2SUdaMWJtTjBhVzl1SUdacGJtUW9ZMkZzYkdKaFkydG1iaUF2S2lBc0lIUm9ZWFFnUFNCMWJtUmxabWx1WldRZ0tpOHBJSHRjYmlBZ0lDQnlaWFIxY200Z0pHWnBibVFvZEdocGN5d2dZMkZzYkdKaFkydG1iaXdnWVhKbmRXMWxiblJ6TG14bGJtZDBhQ0ErSURFZ1B5QmhjbWQxYldWdWRITmJNVjBnT2lCMWJtUmxabWx1WldRcE8xeHVJQ0I5WEc1OUtUdGNibkpsY1hWcGNtVW9KeTR2WDJGa1pDMTBieTExYm5OamIzQmhZbXhsY3ljcEtFdEZXU2s3WEc0aVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdJaXdpYzI5MWNtTmxVbTl2ZENJNklpSjlcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LmFycmF5LmZpbmQuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LmFycmF5Lml0ZXJhdG9yLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LmFycmF5Lml0ZXJhdG9yLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18peyJ1c2Ugc3RyaWN0IjtldmFsKCJcbnZhciBhZGRUb1Vuc2NvcGFibGVzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fYWRkLXRvLXVuc2NvcGFibGVzICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hZGQtdG8tdW5zY29wYWJsZXMuanNcIik7XG52YXIgc3RlcCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2l0ZXItc3RlcCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXRlci1zdGVwLmpzXCIpO1xudmFyIEl0ZXJhdG9ycyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2l0ZXJhdG9ycyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXRlcmF0b3JzLmpzXCIpO1xudmFyIHRvSU9iamVjdCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3RvLWlvYmplY3QgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3RvLWlvYmplY3QuanNcIik7XG5cbi8vIDIyLjEuMy40IEFycmF5LnByb3RvdHlwZS5lbnRyaWVzKClcbi8vIDIyLjEuMy4xMyBBcnJheS5wcm90b3R5cGUua2V5cygpXG4vLyAyMi4xLjMuMjkgQXJyYXkucHJvdG90eXBlLnZhbHVlcygpXG4vLyAyMi4xLjMuMzAgQXJyYXkucHJvdG90eXBlW0BAaXRlcmF0b3JdKClcbm1vZHVsZS5leHBvcnRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9faXRlci1kZWZpbmUgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2l0ZXItZGVmaW5lLmpzXCIpKEFycmF5LCAnQXJyYXknLCBmdW5jdGlvbiAoaXRlcmF0ZWQsIGtpbmQpIHtcbiAgdGhpcy5fdCA9IHRvSU9iamVjdChpdGVyYXRlZCk7IC8vIHRhcmdldFxuICB0aGlzLl9pID0gMDsgICAgICAgICAgICAgICAgICAgLy8gbmV4dCBpbmRleFxuICB0aGlzLl9rID0ga2luZDsgICAgICAgICAgICAgICAgLy8ga2luZFxuLy8gMjIuMS41LjIuMSAlQXJyYXlJdGVyYXRvclByb3RvdHlwZSUubmV4dCgpXG59LCBmdW5jdGlvbiAoKSB7XG4gIHZhciBPID0gdGhpcy5fdDtcbiAgdmFyIGtpbmQgPSB0aGlzLl9rO1xuICB2YXIgaW5kZXggPSB0aGlzLl9pKys7XG4gIGlmICghTyB8fCBpbmRleCA+PSBPLmxlbmd0aCkge1xuICAgIHRoaXMuX3QgPSB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIHN0ZXAoMSk7XG4gIH1cbiAgaWYgKGtpbmQgPT0gJ2tleXMnKSByZXR1cm4gc3RlcCgwLCBpbmRleCk7XG4gIGlmIChraW5kID09ICd2YWx1ZXMnKSByZXR1cm4gc3RlcCgwLCBPW2luZGV4XSk7XG4gIHJldHVybiBzdGVwKDAsIFtpbmRleCwgT1tpbmRleF1dKTtcbn0sICd2YWx1ZXMnKTtcblxuLy8gYXJndW1lbnRzTGlzdFtAQGl0ZXJhdG9yXSBpcyAlQXJyYXlQcm90b192YWx1ZXMlICg5LjQuNC42LCA5LjQuNC43KVxuSXRlcmF0b3JzLkFyZ3VtZW50cyA9IEl0ZXJhdG9ycy5BcnJheTtcblxuYWRkVG9VbnNjb3BhYmxlcygna2V5cycpO1xuYWRkVG9VbnNjb3BhYmxlcygndmFsdWVzJyk7XG5hZGRUb1Vuc2NvcGFibGVzKCdlbnRyaWVzJyk7XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tmk1aGNuSmhlUzVwZEdWeVlYUnZjaTVxY3k1cWN5SXNJbk52ZFhKalpYTWlPbHNpZDJWaWNHRmphem92THk4dUwyNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZaWE0yTG1GeWNtRjVMbWwwWlhKaGRHOXlMbXB6UDJOaFpHWWlYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpSjNWelpTQnpkSEpwWTNRbk8xeHVkbUZ5SUdGa1pGUnZWVzV6WTI5d1lXSnNaWE1nUFNCeVpYRjFhWEpsS0NjdUwxOWhaR1F0ZEc4dGRXNXpZMjl3WVdKc1pYTW5LVHRjYm5aaGNpQnpkR1Z3SUQwZ2NtVnhkV2x5WlNnbkxpOWZhWFJsY2kxemRHVndKeWs3WEc1MllYSWdTWFJsY21GMGIzSnpJRDBnY21WeGRXbHlaU2duTGk5ZmFYUmxjbUYwYjNKekp5azdYRzUyWVhJZ2RHOUpUMkpxWldOMElEMGdjbVZ4ZFdseVpTZ25MaTlmZEc4dGFXOWlhbVZqZENjcE8xeHVYRzR2THlBeU1pNHhMak11TkNCQmNuSmhlUzV3Y205MGIzUjVjR1V1Wlc1MGNtbGxjeWdwWEc0dkx5QXlNaTR4TGpNdU1UTWdRWEp5WVhrdWNISnZkRzkwZVhCbExtdGxlWE1vS1Z4dUx5OGdNakl1TVM0ekxqSTVJRUZ5Y21GNUxuQnliM1J2ZEhsd1pTNTJZV3gxWlhNb0tWeHVMeThnTWpJdU1TNHpMak13SUVGeWNtRjVMbkJ5YjNSdmRIbHdaVnRBUUdsMFpYSmhkRzl5WFNncFhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlISmxjWFZwY21Vb0p5NHZYMmwwWlhJdFpHVm1hVzVsSnlrb1FYSnlZWGtzSUNkQmNuSmhlU2NzSUdaMWJtTjBhVzl1SUNocGRHVnlZWFJsWkN3Z2EybHVaQ2tnZTF4dUlDQjBhR2x6TGw5MElEMGdkRzlKVDJKcVpXTjBLR2wwWlhKaGRHVmtLVHNnTHk4Z2RHRnlaMlYwWEc0Z0lIUm9hWE11WDJrZ1BTQXdPeUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCdVpYaDBJR2x1WkdWNFhHNGdJSFJvYVhNdVgyc2dQU0JyYVc1a095QWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QnJhVzVrWEc0dkx5QXlNaTR4TGpVdU1pNHhJQ1ZCY25KaGVVbDBaWEpoZEc5eVVISnZkRzkwZVhCbEpTNXVaWGgwS0NsY2JuMHNJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdkbUZ5SUU4Z1BTQjBhR2x6TGw5ME8xeHVJQ0IyWVhJZ2EybHVaQ0E5SUhSb2FYTXVYMnM3WEc0Z0lIWmhjaUJwYm1SbGVDQTlJSFJvYVhNdVgya3JLenRjYmlBZ2FXWWdLQ0ZQSUh4OElHbHVaR1Y0SUQ0OUlFOHViR1Z1WjNSb0tTQjdYRzRnSUNBZ2RHaHBjeTVmZENBOUlIVnVaR1ZtYVc1bFpEdGNiaUFnSUNCeVpYUjFjbTRnYzNSbGNDZ3hLVHRjYmlBZ2ZWeHVJQ0JwWmlBb2EybHVaQ0E5UFNBbmEyVjVjeWNwSUhKbGRIVnliaUJ6ZEdWd0tEQXNJR2x1WkdWNEtUdGNiaUFnYVdZZ0tHdHBibVFnUFQwZ0ozWmhiSFZsY3ljcElISmxkSFZ5YmlCemRHVndLREFzSUU5YmFXNWtaWGhkS1R0Y2JpQWdjbVYwZFhKdUlITjBaWEFvTUN3Z1cybHVaR1Y0TENCUFcybHVaR1Y0WFYwcE8xeHVmU3dnSjNaaGJIVmxjeWNwTzF4dVhHNHZMeUJoY21kMWJXVnVkSE5NYVhOMFcwQkFhWFJsY21GMGIzSmRJR2x6SUNWQmNuSmhlVkJ5YjNSdlgzWmhiSFZsY3lVZ0tEa3VOQzQwTGpZc0lEa3VOQzQwTGpjcFhHNUpkR1Z5WVhSdmNuTXVRWEpuZFcxbGJuUnpJRDBnU1hSbGNtRjBiM0p6TGtGeWNtRjVPMXh1WEc1aFpHUlViMVZ1YzJOdmNHRmliR1Z6S0NkclpYbHpKeWs3WEc1aFpHUlViMVZ1YzJOdmNHRmliR1Z6S0NkMllXeDFaWE1uS1R0Y2JtRmtaRlJ2Vlc1elkyOXdZV0pzWlhNb0oyVnVkSEpwWlhNbktUdGNiaUpkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN0lpd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuYXJyYXkuaXRlcmF0b3IuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm51bWJlci5jb25zdHJ1Y3Rvci5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYubnVtYmVyLmNvbnN0cnVjdG9yLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXsidXNlIHN0cmljdCI7ZXZhbCgiXG52YXIgZ2xvYmFsID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fZ2xvYmFsICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19nbG9iYWwuanNcIik7XG52YXIgaGFzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9faGFzICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19oYXMuanNcIik7XG52YXIgY29mID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fY29mICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19jb2YuanNcIik7XG52YXIgaW5oZXJpdElmUmVxdWlyZWQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19pbmhlcml0LWlmLXJlcXVpcmVkICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pbmhlcml0LWlmLXJlcXVpcmVkLmpzXCIpO1xudmFyIHRvUHJpbWl0aXZlID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fdG8tcHJpbWl0aXZlICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1wcmltaXRpdmUuanNcIik7XG52YXIgZmFpbHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19mYWlscyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZmFpbHMuanNcIik7XG52YXIgZ09QTiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX29iamVjdC1nb3BuICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3QtZ29wbi5qc1wiKS5mO1xudmFyIGdPUEQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19vYmplY3QtZ29wZCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fb2JqZWN0LWdvcGQuanNcIikuZjtcbnZhciBkUCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX29iamVjdC1kcCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fb2JqZWN0LWRwLmpzXCIpLmY7XG52YXIgJHRyaW0gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19zdHJpbmctdHJpbSAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc3RyaW5nLXRyaW0uanNcIikudHJpbTtcbnZhciBOVU1CRVIgPSAnTnVtYmVyJztcbnZhciAkTnVtYmVyID0gZ2xvYmFsW05VTUJFUl07XG52YXIgQmFzZSA9ICROdW1iZXI7XG52YXIgcHJvdG8gPSAkTnVtYmVyLnByb3RvdHlwZTtcbi8vIE9wZXJhIH4xMiBoYXMgYnJva2VuIE9iamVjdCN0b1N0cmluZ1xudmFyIEJST0tFTl9DT0YgPSBjb2YoX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fb2JqZWN0LWNyZWF0ZSAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fb2JqZWN0LWNyZWF0ZS5qc1wiKShwcm90bykpID09IE5VTUJFUjtcbnZhciBUUklNID0gJ3RyaW0nIGluIFN0cmluZy5wcm90b3R5cGU7XG5cbi8vIDcuMS4zIFRvTnVtYmVyKGFyZ3VtZW50KVxudmFyIHRvTnVtYmVyID0gZnVuY3Rpb24gKGFyZ3VtZW50KSB7XG4gIHZhciBpdCA9IHRvUHJpbWl0aXZlKGFyZ3VtZW50LCBmYWxzZSk7XG4gIGlmICh0eXBlb2YgaXQgPT0gJ3N0cmluZycgJiYgaXQubGVuZ3RoID4gMikge1xuICAgIGl0ID0gVFJJTSA/IGl0LnRyaW0oKSA6ICR0cmltKGl0LCAzKTtcbiAgICB2YXIgZmlyc3QgPSBpdC5jaGFyQ29kZUF0KDApO1xuICAgIHZhciB0aGlyZCwgcmFkaXgsIG1heENvZGU7XG4gICAgaWYgKGZpcnN0ID09PSA0MyB8fCBmaXJzdCA9PT0gNDUpIHtcbiAgICAgIHRoaXJkID0gaXQuY2hhckNvZGVBdCgyKTtcbiAgICAgIGlmICh0aGlyZCA9PT0gODggfHwgdGhpcmQgPT09IDEyMCkgcmV0dXJuIE5hTjsgLy8gTnVtYmVyKCcrMHgxJykgc2hvdWxkIGJlIE5hTiwgb2xkIFY4IGZpeFxuICAgIH0gZWxzZSBpZiAoZmlyc3QgPT09IDQ4KSB7XG4gICAgICBzd2l0Y2ggKGl0LmNoYXJDb2RlQXQoMSkpIHtcbiAgICAgICAgY2FzZSA2NjogY2FzZSA5ODogcmFkaXggPSAyOyBtYXhDb2RlID0gNDk7IGJyZWFrOyAvLyBmYXN0IGVxdWFsIC9eMGJbMDFdKyQvaVxuICAgICAgICBjYXNlIDc5OiBjYXNlIDExMTogcmFkaXggPSA4OyBtYXhDb2RlID0gNTU7IGJyZWFrOyAvLyBmYXN0IGVxdWFsIC9eMG9bMC03XSskL2lcbiAgICAgICAgZGVmYXVsdDogcmV0dXJuICtpdDtcbiAgICAgIH1cbiAgICAgIGZvciAodmFyIGRpZ2l0cyA9IGl0LnNsaWNlKDIpLCBpID0gMCwgbCA9IGRpZ2l0cy5sZW5ndGgsIGNvZGU7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgY29kZSA9IGRpZ2l0cy5jaGFyQ29kZUF0KGkpO1xuICAgICAgICAvLyBwYXJzZUludCBwYXJzZXMgYSBzdHJpbmcgdG8gYSBmaXJzdCB1bmF2YWlsYWJsZSBzeW1ib2xcbiAgICAgICAgLy8gYnV0IFRvTnVtYmVyIHNob3VsZCByZXR1cm4gTmFOIGlmIGEgc3RyaW5nIGNvbnRhaW5zIHVuYXZhaWxhYmxlIHN5bWJvbHNcbiAgICAgICAgaWYgKGNvZGUgPCA0OCB8fCBjb2RlID4gbWF4Q29kZSkgcmV0dXJuIE5hTjtcbiAgICAgIH0gcmV0dXJuIHBhcnNlSW50KGRpZ2l0cywgcmFkaXgpO1xuICAgIH1cbiAgfSByZXR1cm4gK2l0O1xufTtcblxuaWYgKCEkTnVtYmVyKCcgMG8xJykgfHwgISROdW1iZXIoJzBiMScpIHx8ICROdW1iZXIoJysweDEnKSkge1xuICAkTnVtYmVyID0gZnVuY3Rpb24gTnVtYmVyKHZhbHVlKSB7XG4gICAgdmFyIGl0ID0gYXJndW1lbnRzLmxlbmd0aCA8IDEgPyAwIDogdmFsdWU7XG4gICAgdmFyIHRoYXQgPSB0aGlzO1xuICAgIHJldHVybiB0aGF0IGluc3RhbmNlb2YgJE51bWJlclxuICAgICAgLy8gY2hlY2sgb24gMS4uY29uc3RydWN0b3IoZm9vKSBjYXNlXG4gICAgICAmJiAoQlJPS0VOX0NPRiA/IGZhaWxzKGZ1bmN0aW9uICgpIHsgcHJvdG8udmFsdWVPZi5jYWxsKHRoYXQpOyB9KSA6IGNvZih0aGF0KSAhPSBOVU1CRVIpXG4gICAgICAgID8gaW5oZXJpdElmUmVxdWlyZWQobmV3IEJhc2UodG9OdW1iZXIoaXQpKSwgdGhhdCwgJE51bWJlcikgOiB0b051bWJlcihpdCk7XG4gIH07XG4gIGZvciAodmFyIGtleXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19kZXNjcmlwdG9ycyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZGVzY3JpcHRvcnMuanNcIikgPyBnT1BOKEJhc2UpIDogKFxuICAgIC8vIEVTMzpcbiAgICAnTUFYX1ZBTFVFLE1JTl9WQUxVRSxOYU4sTkVHQVRJVkVfSU5GSU5JVFksUE9TSVRJVkVfSU5GSU5JVFksJyArXG4gICAgLy8gRVM2IChpbiBjYXNlLCBpZiBtb2R1bGVzIHdpdGggRVM2IE51bWJlciBzdGF0aWNzIHJlcXVpcmVkIGJlZm9yZSk6XG4gICAgJ0VQU0lMT04saXNGaW5pdGUsaXNJbnRlZ2VyLGlzTmFOLGlzU2FmZUludGVnZXIsTUFYX1NBRkVfSU5URUdFUiwnICtcbiAgICAnTUlOX1NBRkVfSU5URUdFUixwYXJzZUZsb2F0LHBhcnNlSW50LGlzSW50ZWdlcidcbiAgKS5zcGxpdCgnLCcpLCBqID0gMCwga2V5OyBrZXlzLmxlbmd0aCA+IGo7IGorKykge1xuICAgIGlmIChoYXMoQmFzZSwga2V5ID0ga2V5c1tqXSkgJiYgIWhhcygkTnVtYmVyLCBrZXkpKSB7XG4gICAgICBkUCgkTnVtYmVyLCBrZXksIGdPUEQoQmFzZSwga2V5KSk7XG4gICAgfVxuICB9XG4gICROdW1iZXIucHJvdG90eXBlID0gcHJvdG87XG4gIHByb3RvLmNvbnN0cnVjdG9yID0gJE51bWJlcjtcbiAgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fcmVkZWZpbmUgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3JlZGVmaW5lLmpzXCIpKGdsb2JhbCwgTlVNQkVSLCAkTnVtYmVyKTtcbn1cbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwyVnpOaTV1ZFcxaVpYSXVZMjl1YzNSeWRXTjBiM0l1YW5NdWFuTWlMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk4dkxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tmk1dWRXMWlaWEl1WTI5dWMzUnlkV04wYjNJdWFuTS9ZelZtTmlKZExDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SW5kWE5sSUhOMGNtbGpkQ2M3WEc1MllYSWdaMnh2WW1Gc0lEMGdjbVZ4ZFdseVpTZ25MaTlmWjJ4dlltRnNKeWs3WEc1MllYSWdhR0Z6SUQwZ2NtVnhkV2x5WlNnbkxpOWZhR0Z6SnlrN1hHNTJZWElnWTI5bUlEMGdjbVZ4ZFdseVpTZ25MaTlmWTI5bUp5azdYRzUyWVhJZ2FXNW9aWEpwZEVsbVVtVnhkV2x5WldRZ1BTQnlaWEYxYVhKbEtDY3VMMTlwYm1obGNtbDBMV2xtTFhKbGNYVnBjbVZrSnlrN1hHNTJZWElnZEc5UWNtbHRhWFJwZG1VZ1BTQnlaWEYxYVhKbEtDY3VMMTkwYnkxd2NtbHRhWFJwZG1VbktUdGNiblpoY2lCbVlXbHNjeUE5SUhKbGNYVnBjbVVvSnk0dlgyWmhhV3h6SnlrN1hHNTJZWElnWjA5UVRpQTlJSEpsY1hWcGNtVW9KeTR2WDI5aWFtVmpkQzFuYjNCdUp5a3VaanRjYm5aaGNpQm5UMUJFSUQwZ2NtVnhkV2x5WlNnbkxpOWZiMkpxWldOMExXZHZjR1FuS1M1bU8xeHVkbUZ5SUdSUUlEMGdjbVZ4ZFdseVpTZ25MaTlmYjJKcVpXTjBMV1J3SnlrdVpqdGNiblpoY2lBa2RISnBiU0E5SUhKbGNYVnBjbVVvSnk0dlgzTjBjbWx1WnkxMGNtbHRKeWt1ZEhKcGJUdGNiblpoY2lCT1ZVMUNSVklnUFNBblRuVnRZbVZ5Snp0Y2JuWmhjaUFrVG5WdFltVnlJRDBnWjJ4dlltRnNXMDVWVFVKRlVsMDdYRzUyWVhJZ1FtRnpaU0E5SUNST2RXMWlaWEk3WEc1MllYSWdjSEp2ZEc4Z1BTQWtUblZ0WW1WeUxuQnliM1J2ZEhsd1pUdGNiaTh2SUU5d1pYSmhJSDR4TWlCb1lYTWdZbkp2YTJWdUlFOWlhbVZqZENOMGIxTjBjbWx1WjF4dWRtRnlJRUpTVDB0RlRsOURUMFlnUFNCamIyWW9jbVZ4ZFdseVpTZ25MaTlmYjJKcVpXTjBMV055WldGMFpTY3BLSEJ5YjNSdktTa2dQVDBnVGxWTlFrVlNPMXh1ZG1GeUlGUlNTVTBnUFNBbmRISnBiU2NnYVc0Z1UzUnlhVzVuTG5CeWIzUnZkSGx3WlR0Y2JseHVMeThnTnk0eExqTWdWRzlPZFcxaVpYSW9ZWEpuZFcxbGJuUXBYRzUyWVhJZ2RHOU9kVzFpWlhJZ1BTQm1kVzVqZEdsdmJpQW9ZWEpuZFcxbGJuUXBJSHRjYmlBZ2RtRnlJR2wwSUQwZ2RHOVFjbWx0YVhScGRtVW9ZWEpuZFcxbGJuUXNJR1poYkhObEtUdGNiaUFnYVdZZ0tIUjVjR1Z2WmlCcGRDQTlQU0FuYzNSeWFXNW5KeUFtSmlCcGRDNXNaVzVuZEdnZ1BpQXlLU0I3WEc0Z0lDQWdhWFFnUFNCVVVrbE5JRDhnYVhRdWRISnBiU2dwSURvZ0pIUnlhVzBvYVhRc0lETXBPMXh1SUNBZ0lIWmhjaUJtYVhKemRDQTlJR2wwTG1Ob1lYSkRiMlJsUVhRb01DazdYRzRnSUNBZ2RtRnlJSFJvYVhKa0xDQnlZV1JwZUN3Z2JXRjRRMjlrWlR0Y2JpQWdJQ0JwWmlBb1ptbHljM1FnUFQwOUlEUXpJSHg4SUdacGNuTjBJRDA5UFNBME5Ta2dlMXh1SUNBZ0lDQWdkR2hwY21RZ1BTQnBkQzVqYUdGeVEyOWtaVUYwS0RJcE8xeHVJQ0FnSUNBZ2FXWWdLSFJvYVhKa0lEMDlQU0E0T0NCOGZDQjBhR2x5WkNBOVBUMGdNVEl3S1NCeVpYUjFjbTRnVG1GT095QXZMeUJPZFcxaVpYSW9KeXN3ZURFbktTQnphRzkxYkdRZ1ltVWdUbUZPTENCdmJHUWdWamdnWm1sNFhHNGdJQ0FnZlNCbGJITmxJR2xtSUNobWFYSnpkQ0E5UFQwZ05EZ3BJSHRjYmlBZ0lDQWdJSE4zYVhSamFDQW9hWFF1WTJoaGNrTnZaR1ZCZENneEtTa2dlMXh1SUNBZ0lDQWdJQ0JqWVhObElEWTJPaUJqWVhObElEazRPaUJ5WVdScGVDQTlJREk3SUcxaGVFTnZaR1VnUFNBME9Uc2dZbkpsWVdzN0lDOHZJR1poYzNRZ1pYRjFZV3dnTDE0d1lsc3dNVjBySkM5cFhHNGdJQ0FnSUNBZ0lHTmhjMlVnTnprNklHTmhjMlVnTVRFeE9pQnlZV1JwZUNBOUlEZzdJRzFoZUVOdlpHVWdQU0ExTlRzZ1luSmxZV3M3SUM4dklHWmhjM1FnWlhGMVlXd2dMMTR3YjFzd0xUZGRLeVF2YVZ4dUlDQWdJQ0FnSUNCa1pXWmhkV3gwT2lCeVpYUjFjbTRnSzJsME8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ1pHbG5hWFJ6SUQwZ2FYUXVjMnhwWTJVb01pa3NJR2tnUFNBd0xDQnNJRDBnWkdsbmFYUnpMbXhsYm1kMGFDd2dZMjlrWlRzZ2FTQThJR3c3SUdrckt5a2dlMXh1SUNBZ0lDQWdJQ0JqYjJSbElEMGdaR2xuYVhSekxtTm9ZWEpEYjJSbFFYUW9hU2s3WEc0Z0lDQWdJQ0FnSUM4dklIQmhjbk5sU1c1MElIQmhjbk5sY3lCaElITjBjbWx1WnlCMGJ5QmhJR1pwY25OMElIVnVZWFpoYVd4aFlteGxJSE41YldKdmJGeHVJQ0FnSUNBZ0lDQXZMeUJpZFhRZ1ZHOU9kVzFpWlhJZ2MyaHZkV3hrSUhKbGRIVnliaUJPWVU0Z2FXWWdZU0J6ZEhKcGJtY2dZMjl1ZEdGcGJuTWdkVzVoZG1GcGJHRmliR1VnYzNsdFltOXNjMXh1SUNBZ0lDQWdJQ0JwWmlBb1kyOWtaU0E4SURRNElIeDhJR052WkdVZ1BpQnRZWGhEYjJSbEtTQnlaWFIxY200Z1RtRk9PMXh1SUNBZ0lDQWdmU0J5WlhSMWNtNGdjR0Z5YzJWSmJuUW9aR2xuYVhSekxDQnlZV1JwZUNrN1hHNGdJQ0FnZlZ4dUlDQjlJSEpsZEhWeWJpQXJhWFE3WEc1OU8xeHVYRzVwWmlBb0lTUk9kVzFpWlhJb0p5QXdiekVuS1NCOGZDQWhKRTUxYldKbGNpZ25NR0l4SnlrZ2ZId2dKRTUxYldKbGNpZ25LekI0TVNjcEtTQjdYRzRnSUNST2RXMWlaWElnUFNCbWRXNWpkR2x2YmlCT2RXMWlaWElvZG1Gc2RXVXBJSHRjYmlBZ0lDQjJZWElnYVhRZ1BTQmhjbWQxYldWdWRITXViR1Z1WjNSb0lEd2dNU0EvSURBZ09pQjJZV3gxWlR0Y2JpQWdJQ0IyWVhJZ2RHaGhkQ0E5SUhSb2FYTTdYRzRnSUNBZ2NtVjBkWEp1SUhSb1lYUWdhVzV6ZEdGdVkyVnZaaUFrVG5WdFltVnlYRzRnSUNBZ0lDQXZMeUJqYUdWamF5QnZiaUF4TGk1amIyNXpkSEoxWTNSdmNpaG1iMjhwSUdOaGMyVmNiaUFnSUNBZ0lDWW1JQ2hDVWs5TFJVNWZRMDlHSUQ4Z1ptRnBiSE1vWm5WdVkzUnBiMjRnS0NrZ2V5QndjbTkwYnk1MllXeDFaVTltTG1OaGJHd29kR2hoZENrN0lIMHBJRG9nWTI5bUtIUm9ZWFFwSUNFOUlFNVZUVUpGVWlsY2JpQWdJQ0FnSUNBZ1B5QnBibWhsY21sMFNXWlNaWEYxYVhKbFpDaHVaWGNnUW1GelpTaDBiMDUxYldKbGNpaHBkQ2twTENCMGFHRjBMQ0FrVG5WdFltVnlLU0E2SUhSdlRuVnRZbVZ5S0dsMEtUdGNiaUFnZlR0Y2JpQWdabTl5SUNoMllYSWdhMlY1Y3lBOUlISmxjWFZwY21Vb0p5NHZYMlJsYzJOeWFYQjBiM0p6SnlrZ1B5Qm5UMUJPS0VKaGMyVXBJRG9nS0Z4dUlDQWdJQzh2SUVWVE16cGNiaUFnSUNBblRVRllYMVpCVEZWRkxFMUpUbDlXUVV4VlJTeE9ZVTRzVGtWSFFWUkpWa1ZmU1U1R1NVNUpWRmtzVUU5VFNWUkpWa1ZmU1U1R1NVNUpWRmtzSnlBclhHNGdJQ0FnTHk4Z1JWTTJJQ2hwYmlCallYTmxMQ0JwWmlCdGIyUjFiR1Z6SUhkcGRHZ2dSVk0ySUU1MWJXSmxjaUJ6ZEdGMGFXTnpJSEpsY1hWcGNtVmtJR0psWm05eVpTazZYRzRnSUNBZ0owVlFVMGxNVDA0c2FYTkdhVzVwZEdVc2FYTkpiblJsWjJWeUxHbHpUbUZPTEdselUyRm1aVWx1ZEdWblpYSXNUVUZZWDFOQlJrVmZTVTVVUlVkRlVpd25JQ3RjYmlBZ0lDQW5UVWxPWDFOQlJrVmZTVTVVUlVkRlVpeHdZWEp6WlVac2IyRjBMSEJoY25ObFNXNTBMR2x6U1c1MFpXZGxjaWRjYmlBZ0tTNXpjR3hwZENnbkxDY3BMQ0JxSUQwZ01Dd2dhMlY1T3lCclpYbHpMbXhsYm1kMGFDQStJR283SUdvckt5a2dlMXh1SUNBZ0lHbG1JQ2hvWVhNb1FtRnpaU3dnYTJWNUlEMGdhMlY1YzF0cVhTa2dKaVlnSVdoaGN5Z2tUblZ0WW1WeUxDQnJaWGtwS1NCN1hHNGdJQ0FnSUNCa1VDZ2tUblZ0WW1WeUxDQnJaWGtzSUdkUFVFUW9RbUZ6WlN3Z2EyVjVLU2s3WEc0Z0lDQWdmVnh1SUNCOVhHNGdJQ1JPZFcxaVpYSXVjSEp2ZEc5MGVYQmxJRDBnY0hKdmRHODdYRzRnSUhCeWIzUnZMbU52Ym5OMGNuVmpkRzl5SUQwZ0pFNTFiV0psY2p0Y2JpQWdjbVZ4ZFdseVpTZ25MaTlmY21Wa1pXWnBibVVuS1NobmJHOWlZV3dzSUU1VlRVSkZVaXdnSkU1MWJXSmxjaWs3WEc1OVhHNGlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUc2lMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm51bWJlci5jb25zdHJ1Y3Rvci5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYubnVtYmVyLnBhcnNlLWZsb2F0LmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5udW1iZXIucGFyc2UtZmxvYXQuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18pe2V2YWwoInZhciAkZXhwb3J0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fZXhwb3J0ICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19leHBvcnQuanNcIik7XG52YXIgJHBhcnNlRmxvYXQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19wYXJzZS1mbG9hdCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fcGFyc2UtZmxvYXQuanNcIik7XG4vLyAyMC4xLjIuMTIgTnVtYmVyLnBhcnNlRmxvYXQoc3RyaW5nKVxuJGV4cG9ydCgkZXhwb3J0LlMgKyAkZXhwb3J0LkYgKiAoTnVtYmVyLnBhcnNlRmxvYXQgIT0gJHBhcnNlRmxvYXQpLCAnTnVtYmVyJywgeyBwYXJzZUZsb2F0OiAkcGFyc2VGbG9hdCB9KTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwyVnpOaTV1ZFcxaVpYSXVjR0Z5YzJVdFpteHZZWFF1YW5NdWFuTWlMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk4dkxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tmk1dWRXMWlaWEl1Y0dGeWMyVXRabXh2WVhRdWFuTS9OV1JtTWlKZExDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SjJZWElnSkdWNGNHOXlkQ0E5SUhKbGNYVnBjbVVvSnk0dlgyVjRjRzl5ZENjcE8xeHVkbUZ5SUNSd1lYSnpaVVpzYjJGMElEMGdjbVZ4ZFdseVpTZ25MaTlmY0dGeWMyVXRabXh2WVhRbktUdGNiaTh2SURJd0xqRXVNaTR4TWlCT2RXMWlaWEl1Y0dGeWMyVkdiRzloZENoemRISnBibWNwWEc0a1pYaHdiM0owS0NSbGVIQnZjblF1VXlBcklDUmxlSEJ2Y25RdVJpQXFJQ2hPZFcxaVpYSXVjR0Z5YzJWR2JHOWhkQ0FoUFNBa2NHRnljMlZHYkc5aGRDa3NJQ2RPZFcxaVpYSW5MQ0I3SUhCaGNuTmxSbXh2WVhRNklDUndZWEp6WlVac2IyRjBJSDBwTzF4dUlsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzaUxDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYubnVtYmVyLnBhcnNlLWZsb2F0LmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5vYmplY3Qua2V5cy5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5vYmplY3Qua2V5cy5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXtldmFsKCIvLyAxOS4xLjIuMTQgT2JqZWN0LmtleXMoTylcbnZhciB0b09iamVjdCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3RvLW9iamVjdCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8tb2JqZWN0LmpzXCIpO1xudmFyICRrZXlzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fb2JqZWN0LWtleXMgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX29iamVjdC1rZXlzLmpzXCIpO1xuXG5fX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19vYmplY3Qtc2FwICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3Qtc2FwLmpzXCIpKCdrZXlzJywgZnVuY3Rpb24gKCkge1xuICByZXR1cm4gZnVuY3Rpb24ga2V5cyhpdCkge1xuICAgIHJldHVybiAka2V5cyh0b09iamVjdChpdCkpO1xuICB9O1xufSk7XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tmk1dlltcGxZM1F1YTJWNWN5NXFjeTVxY3lJc0luTnZkWEpqWlhNaU9sc2lkMlZpY0dGamF6b3ZMeTh1TDI1dlpHVmZiVzlrZFd4bGN5OWpiM0psTFdwekwyMXZaSFZzWlhNdlpYTTJMbTlpYW1WamRDNXJaWGx6TG1welB6UTFObVFpWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUx5OGdNVGt1TVM0eUxqRTBJRTlpYW1WamRDNXJaWGx6S0U4cFhHNTJZWElnZEc5UFltcGxZM1FnUFNCeVpYRjFhWEpsS0NjdUwxOTBieTF2WW1wbFkzUW5LVHRjYm5aaGNpQWthMlY1Y3lBOUlISmxjWFZwY21Vb0p5NHZYMjlpYW1WamRDMXJaWGx6SnlrN1hHNWNibkpsY1hWcGNtVW9KeTR2WDI5aWFtVmpkQzF6WVhBbktTZ25hMlY1Y3ljc0lHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ2NtVjBkWEp1SUdaMWJtTjBhVzl1SUd0bGVYTW9hWFFwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdKR3RsZVhNb2RHOVBZbXBsWTNRb2FYUXBLVHRjYmlBZ2ZUdGNibjBwTzF4dUlsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3SWl3aWMyOTFjbU5sVW05dmRDSTZJaUo5XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5vYmplY3Qua2V5cy5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYucmVnZXhwLmV4ZWMuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYucmVnZXhwLmV4ZWMuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7InVzZSBzdHJpY3QiO2V2YWwoIlxudmFyIHJlZ2V4cEV4ZWMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19yZWdleHAtZXhlYyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fcmVnZXhwLWV4ZWMuanNcIik7XG5fX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19leHBvcnQgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2V4cG9ydC5qc1wiKSh7XG4gIHRhcmdldDogJ1JlZ0V4cCcsXG4gIHByb3RvOiB0cnVlLFxuICBmb3JjZWQ6IHJlZ2V4cEV4ZWMgIT09IC8uLy5leGVjXG59LCB7XG4gIGV4ZWM6IHJlZ2V4cEV4ZWNcbn0pO1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDJWek5pNXlaV2RsZUhBdVpYaGxZeTVxY3k1cWN5SXNJbk52ZFhKalpYTWlPbHNpZDJWaWNHRmphem92THk4dUwyNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExXcHpMMjF2WkhWc1pYTXZaWE0yTG5KbFoyVjRjQzVsZUdWakxtcHpQMkl3WXpVaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lKM1Z6WlNCemRISnBZM1FuTzF4dWRtRnlJSEpsWjJWNGNFVjRaV01nUFNCeVpYRjFhWEpsS0NjdUwxOXlaV2RsZUhBdFpYaGxZeWNwTzF4dWNtVnhkV2x5WlNnbkxpOWZaWGh3YjNKMEp5a29lMXh1SUNCMFlYSm5aWFE2SUNkU1pXZEZlSEFuTEZ4dUlDQndjbTkwYnpvZ2RISjFaU3hjYmlBZ1ptOXlZMlZrT2lCeVpXZGxlSEJGZUdWaklDRTlQU0F2TGk4dVpYaGxZMXh1ZlN3Z2UxeHVJQ0JsZUdWak9pQnlaV2RsZUhCRmVHVmpYRzU5S1R0Y2JpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYucmVnZXhwLmV4ZWMuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnJlZ2V4cC5mbGFncy5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYucmVnZXhwLmZsYWdzLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXtldmFsKCIvLyAyMS4yLjUuMyBnZXQgUmVnRXhwLnByb3RvdHlwZS5mbGFncygpXG5pZiAoX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fZGVzY3JpcHRvcnMgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2Rlc2NyaXB0b3JzLmpzXCIpICYmIC8uL2cuZmxhZ3MgIT0gJ2cnKSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19vYmplY3QtZHAgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX29iamVjdC1kcC5qc1wiKS5mKFJlZ0V4cC5wcm90b3R5cGUsICdmbGFncycsIHtcbiAgY29uZmlndXJhYmxlOiB0cnVlLFxuICBnZXQ6IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2ZsYWdzICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19mbGFncy5qc1wiKVxufSk7XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tmk1eVpXZGxlSEF1Wm14aFozTXVhbk11YW5NaUxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTh2TGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwyVnpOaTV5WldkbGVIQXVabXhoWjNNdWFuTS9NemcwTmlKZExDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZMeUF5TVM0eUxqVXVNeUJuWlhRZ1VtVm5SWGh3TG5CeWIzUnZkSGx3WlM1bWJHRm5jeWdwWEc1cFppQW9jbVZ4ZFdseVpTZ25MaTlmWkdWelkzSnBjSFJ2Y25NbktTQW1KaUF2TGk5bkxtWnNZV2R6SUNFOUlDZG5KeWtnY21WeGRXbHlaU2duTGk5ZmIySnFaV04wTFdSd0p5a3VaaWhTWldkRmVIQXVjSEp2ZEc5MGVYQmxMQ0FuWm14aFozTW5MQ0I3WEc0Z0lHTnZibVpwWjNWeVlXSnNaVG9nZEhKMVpTeGNiaUFnWjJWME9pQnlaWEYxYVhKbEtDY3VMMTltYkdGbmN5Y3BYRzU5S1R0Y2JpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHNpTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5yZWdleHAuZmxhZ3MuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnJlZ2V4cC5yZXBsYWNlLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnJlZ2V4cC5yZXBsYWNlLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18peyJ1c2Ugc3RyaWN0IjtldmFsKCJcblxudmFyIGFuT2JqZWN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fYW4tb2JqZWN0ICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hbi1vYmplY3QuanNcIik7XG52YXIgdG9PYmplY3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL190by1vYmplY3QgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3RvLW9iamVjdC5qc1wiKTtcbnZhciB0b0xlbmd0aCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3RvLWxlbmd0aCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8tbGVuZ3RoLmpzXCIpO1xudmFyIHRvSW50ZWdlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3RvLWludGVnZXIgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3RvLWludGVnZXIuanNcIik7XG52YXIgYWR2YW5jZVN0cmluZ0luZGV4ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fYWR2YW5jZS1zdHJpbmctaW5kZXggKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FkdmFuY2Utc3RyaW5nLWluZGV4LmpzXCIpO1xudmFyIHJlZ0V4cEV4ZWMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19yZWdleHAtZXhlYy1hYnN0cmFjdCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fcmVnZXhwLWV4ZWMtYWJzdHJhY3QuanNcIik7XG52YXIgbWF4ID0gTWF0aC5tYXg7XG52YXIgbWluID0gTWF0aC5taW47XG52YXIgZmxvb3IgPSBNYXRoLmZsb29yO1xudmFyIFNVQlNUSVRVVElPTl9TWU1CT0xTID0gL1xcJChbJCZgJ118XFxkXFxkP3w8W14+XSo+KS9nO1xudmFyIFNVQlNUSVRVVElPTl9TWU1CT0xTX05PX05BTUVEID0gL1xcJChbJCZgJ118XFxkXFxkPykvZztcblxudmFyIG1heWJlVG9TdHJpbmcgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIGl0ID09PSB1bmRlZmluZWQgPyBpdCA6IFN0cmluZyhpdCk7XG59O1xuXG4vLyBAQHJlcGxhY2UgbG9naWNcbl9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2ZpeC1yZS13a3MgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2ZpeC1yZS13a3MuanNcIikoJ3JlcGxhY2UnLCAyLCBmdW5jdGlvbiAoZGVmaW5lZCwgUkVQTEFDRSwgJHJlcGxhY2UsIG1heWJlQ2FsbE5hdGl2ZSkge1xuICByZXR1cm4gW1xuICAgIC8vIGBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VgIG1ldGhvZFxuICAgIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLXN0cmluZy5wcm90b3R5cGUucmVwbGFjZVxuICAgIGZ1bmN0aW9uIHJlcGxhY2Uoc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSkge1xuICAgICAgdmFyIE8gPSBkZWZpbmVkKHRoaXMpO1xuICAgICAgdmFyIGZuID0gc2VhcmNoVmFsdWUgPT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogc2VhcmNoVmFsdWVbUkVQTEFDRV07XG4gICAgICByZXR1cm4gZm4gIT09IHVuZGVmaW5lZFxuICAgICAgICA/IGZuLmNhbGwoc2VhcmNoVmFsdWUsIE8sIHJlcGxhY2VWYWx1ZSlcbiAgICAgICAgOiAkcmVwbGFjZS5jYWxsKFN0cmluZyhPKSwgc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSk7XG4gICAgfSxcbiAgICAvLyBgUmVnRXhwLnByb3RvdHlwZVtAQHJlcGxhY2VdYCBtZXRob2RcbiAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1yZWdleHAucHJvdG90eXBlLUBAcmVwbGFjZVxuICAgIGZ1bmN0aW9uIChyZWdleHAsIHJlcGxhY2VWYWx1ZSkge1xuICAgICAgdmFyIHJlcyA9IG1heWJlQ2FsbE5hdGl2ZSgkcmVwbGFjZSwgcmVnZXhwLCB0aGlzLCByZXBsYWNlVmFsdWUpO1xuICAgICAgaWYgKHJlcy5kb25lKSByZXR1cm4gcmVzLnZhbHVlO1xuXG4gICAgICB2YXIgcnggPSBhbk9iamVjdChyZWdleHApO1xuICAgICAgdmFyIFMgPSBTdHJpbmcodGhpcyk7XG4gICAgICB2YXIgZnVuY3Rpb25hbFJlcGxhY2UgPSB0eXBlb2YgcmVwbGFjZVZhbHVlID09PSAnZnVuY3Rpb24nO1xuICAgICAgaWYgKCFmdW5jdGlvbmFsUmVwbGFjZSkgcmVwbGFjZVZhbHVlID0gU3RyaW5nKHJlcGxhY2VWYWx1ZSk7XG4gICAgICB2YXIgZ2xvYmFsID0gcnguZ2xvYmFsO1xuICAgICAgaWYgKGdsb2JhbCkge1xuICAgICAgICB2YXIgZnVsbFVuaWNvZGUgPSByeC51bmljb2RlO1xuICAgICAgICByeC5sYXN0SW5kZXggPSAwO1xuICAgICAgfVxuICAgICAgdmFyIHJlc3VsdHMgPSBbXTtcbiAgICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgIHZhciByZXN1bHQgPSByZWdFeHBFeGVjKHJ4LCBTKTtcbiAgICAgICAgaWYgKHJlc3VsdCA9PT0gbnVsbCkgYnJlYWs7XG4gICAgICAgIHJlc3VsdHMucHVzaChyZXN1bHQpO1xuICAgICAgICBpZiAoIWdsb2JhbCkgYnJlYWs7XG4gICAgICAgIHZhciBtYXRjaFN0ciA9IFN0cmluZyhyZXN1bHRbMF0pO1xuICAgICAgICBpZiAobWF0Y2hTdHIgPT09ICcnKSByeC5sYXN0SW5kZXggPSBhZHZhbmNlU3RyaW5nSW5kZXgoUywgdG9MZW5ndGgocngubGFzdEluZGV4KSwgZnVsbFVuaWNvZGUpO1xuICAgICAgfVxuICAgICAgdmFyIGFjY3VtdWxhdGVkUmVzdWx0ID0gJyc7XG4gICAgICB2YXIgbmV4dFNvdXJjZVBvc2l0aW9uID0gMDtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzdWx0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICByZXN1bHQgPSByZXN1bHRzW2ldO1xuICAgICAgICB2YXIgbWF0Y2hlZCA9IFN0cmluZyhyZXN1bHRbMF0pO1xuICAgICAgICB2YXIgcG9zaXRpb24gPSBtYXgobWluKHRvSW50ZWdlcihyZXN1bHQuaW5kZXgpLCBTLmxlbmd0aCksIDApO1xuICAgICAgICB2YXIgY2FwdHVyZXMgPSBbXTtcbiAgICAgICAgLy8gTk9URTogVGhpcyBpcyBlcXVpdmFsZW50IHRvXG4gICAgICAgIC8vICAgY2FwdHVyZXMgPSByZXN1bHQuc2xpY2UoMSkubWFwKG1heWJlVG9TdHJpbmcpXG4gICAgICAgIC8vIGJ1dCBmb3Igc29tZSByZWFzb24gYG5hdGl2ZVNsaWNlLmNhbGwocmVzdWx0LCAxLCByZXN1bHQubGVuZ3RoKWAgKGNhbGxlZCBpblxuICAgICAgICAvLyB0aGUgc2xpY2UgcG9seWZpbGwgd2hlbiBzbGljaW5nIG5hdGl2ZSBhcnJheXMpIFwiZG9lc24ndCB3b3JrXCIgaW4gc2FmYXJpIDkgYW5kXG4gICAgICAgIC8vIGNhdXNlcyBhIGNyYXNoIChodHRwczovL3Bhc3RlYmluLmNvbS9OMjFRemVRQSkgd2hlbiB0cnlpbmcgdG8gZGVidWcgaXQuXG4gICAgICAgIGZvciAodmFyIGogPSAxOyBqIDwgcmVzdWx0Lmxlbmd0aDsgaisrKSBjYXB0dXJlcy5wdXNoKG1heWJlVG9TdHJpbmcocmVzdWx0W2pdKSk7XG4gICAgICAgIHZhciBuYW1lZENhcHR1cmVzID0gcmVzdWx0Lmdyb3VwcztcbiAgICAgICAgaWYgKGZ1bmN0aW9uYWxSZXBsYWNlKSB7XG4gICAgICAgICAgdmFyIHJlcGxhY2VyQXJncyA9IFttYXRjaGVkXS5jb25jYXQoY2FwdHVyZXMsIHBvc2l0aW9uLCBTKTtcbiAgICAgICAgICBpZiAobmFtZWRDYXB0dXJlcyAhPT0gdW5kZWZpbmVkKSByZXBsYWNlckFyZ3MucHVzaChuYW1lZENhcHR1cmVzKTtcbiAgICAgICAgICB2YXIgcmVwbGFjZW1lbnQgPSBTdHJpbmcocmVwbGFjZVZhbHVlLmFwcGx5KHVuZGVmaW5lZCwgcmVwbGFjZXJBcmdzKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVwbGFjZW1lbnQgPSBnZXRTdWJzdGl0dXRpb24obWF0Y2hlZCwgUywgcG9zaXRpb24sIGNhcHR1cmVzLCBuYW1lZENhcHR1cmVzLCByZXBsYWNlVmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwb3NpdGlvbiA+PSBuZXh0U291cmNlUG9zaXRpb24pIHtcbiAgICAgICAgICBhY2N1bXVsYXRlZFJlc3VsdCArPSBTLnNsaWNlKG5leHRTb3VyY2VQb3NpdGlvbiwgcG9zaXRpb24pICsgcmVwbGFjZW1lbnQ7XG4gICAgICAgICAgbmV4dFNvdXJjZVBvc2l0aW9uID0gcG9zaXRpb24gKyBtYXRjaGVkLmxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGFjY3VtdWxhdGVkUmVzdWx0ICsgUy5zbGljZShuZXh0U291cmNlUG9zaXRpb24pO1xuICAgIH1cbiAgXTtcblxuICAgIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLWdldHN1YnN0aXR1dGlvblxuICBmdW5jdGlvbiBnZXRTdWJzdGl0dXRpb24obWF0Y2hlZCwgc3RyLCBwb3NpdGlvbiwgY2FwdHVyZXMsIG5hbWVkQ2FwdHVyZXMsIHJlcGxhY2VtZW50KSB7XG4gICAgdmFyIHRhaWxQb3MgPSBwb3NpdGlvbiArIG1hdGNoZWQubGVuZ3RoO1xuICAgIHZhciBtID0gY2FwdHVyZXMubGVuZ3RoO1xuICAgIHZhciBzeW1ib2xzID0gU1VCU1RJVFVUSU9OX1NZTUJPTFNfTk9fTkFNRUQ7XG4gICAgaWYgKG5hbWVkQ2FwdHVyZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbmFtZWRDYXB0dXJlcyA9IHRvT2JqZWN0KG5hbWVkQ2FwdHVyZXMpO1xuICAgICAgc3ltYm9scyA9IFNVQlNUSVRVVElPTl9TWU1CT0xTO1xuICAgIH1cbiAgICByZXR1cm4gJHJlcGxhY2UuY2FsbChyZXBsYWNlbWVudCwgc3ltYm9scywgZnVuY3Rpb24gKG1hdGNoLCBjaCkge1xuICAgICAgdmFyIGNhcHR1cmU7XG4gICAgICBzd2l0Y2ggKGNoLmNoYXJBdCgwKSkge1xuICAgICAgICBjYXNlICckJzogcmV0dXJuICckJztcbiAgICAgICAgY2FzZSAnJic6IHJldHVybiBtYXRjaGVkO1xuICAgICAgICBjYXNlICdgJzogcmV0dXJuIHN0ci5zbGljZSgwLCBwb3NpdGlvbik7XG4gICAgICAgIGNhc2UgXCInXCI6IHJldHVybiBzdHIuc2xpY2UodGFpbFBvcyk7XG4gICAgICAgIGNhc2UgJzwnOlxuICAgICAgICAgIGNhcHR1cmUgPSBuYW1lZENhcHR1cmVzW2NoLnNsaWNlKDEsIC0xKV07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6IC8vIFxcZFxcZD9cbiAgICAgICAgICB2YXIgbiA9ICtjaDtcbiAgICAgICAgICBpZiAobiA9PT0gMCkgcmV0dXJuIG1hdGNoO1xuICAgICAgICAgIGlmIChuID4gbSkge1xuICAgICAgICAgICAgdmFyIGYgPSBmbG9vcihuIC8gMTApO1xuICAgICAgICAgICAgaWYgKGYgPT09IDApIHJldHVybiBtYXRjaDtcbiAgICAgICAgICAgIGlmIChmIDw9IG0pIHJldHVybiBjYXB0dXJlc1tmIC0gMV0gPT09IHVuZGVmaW5lZCA/IGNoLmNoYXJBdCgxKSA6IGNhcHR1cmVzW2YgLSAxXSArIGNoLmNoYXJBdCgxKTtcbiAgICAgICAgICAgIHJldHVybiBtYXRjaDtcbiAgICAgICAgICB9XG4gICAgICAgICAgY2FwdHVyZSA9IGNhcHR1cmVzW24gLSAxXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBjYXB0dXJlID09PSB1bmRlZmluZWQgPyAnJyA6IGNhcHR1cmU7XG4gICAgfSk7XG4gIH1cbn0pO1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDJWek5pNXlaV2RsZUhBdWNtVndiR0ZqWlM1cWN5NXFjeUlzSW5OdmRYSmpaWE1pT2xzaWQyVmljR0ZqYXpvdkx5OHVMMjV2WkdWZmJXOWtkV3hsY3k5amIzSmxMV3B6TDIxdlpIVnNaWE12WlhNMkxuSmxaMlY0Y0M1eVpYQnNZV05sTG1welAyRTBPREVpWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUozVnpaU0J6ZEhKcFkzUW5PMXh1WEc1MllYSWdZVzVQWW1wbFkzUWdQU0J5WlhGMWFYSmxLQ2N1TDE5aGJpMXZZbXBsWTNRbktUdGNiblpoY2lCMGIwOWlhbVZqZENBOUlISmxjWFZwY21Vb0p5NHZYM1J2TFc5aWFtVmpkQ2NwTzF4dWRtRnlJSFJ2VEdWdVozUm9JRDBnY21WeGRXbHlaU2duTGk5ZmRHOHRiR1Z1WjNSb0p5azdYRzUyWVhJZ2RHOUpiblJsWjJWeUlEMGdjbVZ4ZFdseVpTZ25MaTlmZEc4dGFXNTBaV2RsY2ljcE8xeHVkbUZ5SUdGa2RtRnVZMlZUZEhKcGJtZEpibVJsZUNBOUlISmxjWFZwY21Vb0p5NHZYMkZrZG1GdVkyVXRjM1J5YVc1bkxXbHVaR1Y0SnlrN1hHNTJZWElnY21WblJYaHdSWGhsWXlBOUlISmxjWFZwY21Vb0p5NHZYM0psWjJWNGNDMWxlR1ZqTFdGaWMzUnlZV04wSnlrN1hHNTJZWElnYldGNElEMGdUV0YwYUM1dFlYZzdYRzUyWVhJZ2JXbHVJRDBnVFdGMGFDNXRhVzQ3WEc1MllYSWdabXh2YjNJZ1BTQk5ZWFJvTG1ac2IyOXlPMXh1ZG1GeUlGTlZRbE5VU1ZSVlZFbFBUbDlUV1UxQ1QweFRJRDBnTDF4Y0pDaGJKQ1pnSjExOFhGeGtYRnhrUDN3OFcxNCtYU28rS1M5bk8xeHVkbUZ5SUZOVlFsTlVTVlJWVkVsUFRsOVRXVTFDVDB4VFgwNVBYMDVCVFVWRUlEMGdMMXhjSkNoYkpDWmdKMTE4WEZ4a1hGeGtQeWt2Wnp0Y2JseHVkbUZ5SUcxaGVXSmxWRzlUZEhKcGJtY2dQU0JtZFc1amRHbHZiaUFvYVhRcElIdGNiaUFnY21WMGRYSnVJR2wwSUQwOVBTQjFibVJsWm1sdVpXUWdQeUJwZENBNklGTjBjbWx1WnlocGRDazdYRzU5TzF4dVhHNHZMeUJBUUhKbGNHeGhZMlVnYkc5bmFXTmNibkpsY1hWcGNtVW9KeTR2WDJacGVDMXlaUzEzYTNNbktTZ25jbVZ3YkdGalpTY3NJRElzSUdaMWJtTjBhVzl1SUNoa1pXWnBibVZrTENCU1JWQk1RVU5GTENBa2NtVndiR0ZqWlN3Z2JXRjVZbVZEWVd4c1RtRjBhWFpsS1NCN1hHNGdJSEpsZEhWeWJpQmJYRzRnSUNBZ0x5OGdZRk4wY21sdVp5NXdjbTkwYjNSNWNHVXVjbVZ3YkdGalpXQWdiV1YwYUc5a1hHNGdJQ0FnTHk4Z2FIUjBjSE02THk5MFl6TTVMbWRwZEdoMVlpNXBieTlsWTIxaE1qWXlMeU56WldNdGMzUnlhVzVuTG5CeWIzUnZkSGx3WlM1eVpYQnNZV05sWEc0Z0lDQWdablZ1WTNScGIyNGdjbVZ3YkdGalpTaHpaV0Z5WTJoV1lXeDFaU3dnY21Wd2JHRmpaVlpoYkhWbEtTQjdYRzRnSUNBZ0lDQjJZWElnVHlBOUlHUmxabWx1WldRb2RHaHBjeWs3WEc0Z0lDQWdJQ0IyWVhJZ1ptNGdQU0J6WldGeVkyaFdZV3gxWlNBOVBTQjFibVJsWm1sdVpXUWdQeUIxYm1SbFptbHVaV1FnT2lCelpXRnlZMmhXWVd4MVpWdFNSVkJNUVVORlhUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCbWJpQWhQVDBnZFc1a1pXWnBibVZrWEc0Z0lDQWdJQ0FnSUQ4Z1ptNHVZMkZzYkNoelpXRnlZMmhXWVd4MVpTd2dUeXdnY21Wd2JHRmpaVlpoYkhWbEtWeHVJQ0FnSUNBZ0lDQTZJQ1J5WlhCc1lXTmxMbU5oYkd3b1UzUnlhVzVuS0U4cExDQnpaV0Z5WTJoV1lXeDFaU3dnY21Wd2JHRmpaVlpoYkhWbEtUdGNiaUFnSUNCOUxGeHVJQ0FnSUM4dklHQlNaV2RGZUhBdWNISnZkRzkwZVhCbFcwQkFjbVZ3YkdGalpWMWdJRzFsZEdodlpGeHVJQ0FnSUM4dklHaDBkSEJ6T2k4dmRHTXpPUzVuYVhSb2RXSXVhVzh2WldOdFlUSTJNaThqYzJWakxYSmxaMlY0Y0M1d2NtOTBiM1I1Y0dVdFFFQnlaWEJzWVdObFhHNGdJQ0FnWm5WdVkzUnBiMjRnS0hKbFoyVjRjQ3dnY21Wd2JHRmpaVlpoYkhWbEtTQjdYRzRnSUNBZ0lDQjJZWElnY21WeklEMGdiV0Y1WW1WRFlXeHNUbUYwYVhabEtDUnlaWEJzWVdObExDQnlaV2RsZUhBc0lIUm9hWE1zSUhKbGNHeGhZMlZXWVd4MVpTazdYRzRnSUNBZ0lDQnBaaUFvY21WekxtUnZibVVwSUhKbGRIVnliaUJ5WlhNdWRtRnNkV1U3WEc1Y2JpQWdJQ0FnSUhaaGNpQnllQ0E5SUdGdVQySnFaV04wS0hKbFoyVjRjQ2s3WEc0Z0lDQWdJQ0IyWVhJZ1V5QTlJRk4wY21sdVp5aDBhR2x6S1R0Y2JpQWdJQ0FnSUhaaGNpQm1kVzVqZEdsdmJtRnNVbVZ3YkdGalpTQTlJSFI1Y0dWdlppQnlaWEJzWVdObFZtRnNkV1VnUFQwOUlDZG1kVzVqZEdsdmJpYzdYRzRnSUNBZ0lDQnBaaUFvSVdaMWJtTjBhVzl1WVd4U1pYQnNZV05sS1NCeVpYQnNZV05sVm1Gc2RXVWdQU0JUZEhKcGJtY29jbVZ3YkdGalpWWmhiSFZsS1R0Y2JpQWdJQ0FnSUhaaGNpQm5iRzlpWVd3Z1BTQnllQzVuYkc5aVlXdzdYRzRnSUNBZ0lDQnBaaUFvWjJ4dlltRnNLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQm1kV3hzVlc1cFkyOWtaU0E5SUhKNExuVnVhV052WkdVN1hHNGdJQ0FnSUNBZ0lISjRMbXhoYzNSSmJtUmxlQ0E5SURBN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCMllYSWdjbVZ6ZFd4MGN5QTlJRnRkTzF4dUlDQWdJQ0FnZDJocGJHVWdLSFJ5ZFdVcElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUhKbGMzVnNkQ0E5SUhKbFowVjRjRVY0WldNb2NuZ3NJRk1wTzF4dUlDQWdJQ0FnSUNCcFppQW9jbVZ6ZFd4MElEMDlQU0J1ZFd4c0tTQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ2NtVnpkV3gwY3k1d2RYTm9LSEpsYzNWc2RDazdYRzRnSUNBZ0lDQWdJR2xtSUNnaFoyeHZZbUZzS1NCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnZG1GeUlHMWhkR05vVTNSeUlEMGdVM1J5YVc1bktISmxjM1ZzZEZzd1hTazdYRzRnSUNBZ0lDQWdJR2xtSUNodFlYUmphRk4wY2lBOVBUMGdKeWNwSUhKNExteGhjM1JKYm1SbGVDQTlJR0ZrZG1GdVkyVlRkSEpwYm1kSmJtUmxlQ2hUTENCMGIweGxibWQwYUNoeWVDNXNZWE4wU1c1a1pYZ3BMQ0JtZFd4c1ZXNXBZMjlrWlNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCMllYSWdZV05qZFcxMWJHRjBaV1JTWlhOMWJIUWdQU0FuSnp0Y2JpQWdJQ0FnSUhaaGNpQnVaWGgwVTI5MWNtTmxVRzl6YVhScGIyNGdQU0F3TzF4dUlDQWdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCeVpYTjFiSFJ6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQWdJSEpsYzNWc2RDQTlJSEpsYzNWc2RITmJhVjA3WEc0Z0lDQWdJQ0FnSUhaaGNpQnRZWFJqYUdWa0lEMGdVM1J5YVc1bktISmxjM1ZzZEZzd1hTazdYRzRnSUNBZ0lDQWdJSFpoY2lCd2IzTnBkR2x2YmlBOUlHMWhlQ2h0YVc0b2RHOUpiblJsWjJWeUtISmxjM1ZzZEM1cGJtUmxlQ2tzSUZNdWJHVnVaM1JvS1N3Z01DazdYRzRnSUNBZ0lDQWdJSFpoY2lCallYQjBkWEpsY3lBOUlGdGRPMXh1SUNBZ0lDQWdJQ0F2THlCT1QxUkZPaUJVYUdseklHbHpJR1Z4ZFdsMllXeGxiblFnZEc5Y2JpQWdJQ0FnSUNBZ0x5OGdJQ0JqWVhCMGRYSmxjeUE5SUhKbGMzVnNkQzV6YkdsalpTZ3hLUzV0WVhBb2JXRjVZbVZVYjFOMGNtbHVaeWxjYmlBZ0lDQWdJQ0FnTHk4Z1luVjBJR1p2Y2lCemIyMWxJSEpsWVhOdmJpQmdibUYwYVhabFUyeHBZMlV1WTJGc2JDaHlaWE4xYkhRc0lERXNJSEpsYzNWc2RDNXNaVzVuZEdncFlDQW9ZMkZzYkdWa0lHbHVYRzRnSUNBZ0lDQWdJQzh2SUhSb1pTQnpiR2xqWlNCd2IyeDVabWxzYkNCM2FHVnVJSE5zYVdOcGJtY2dibUYwYVhabElHRnljbUY1Y3lrZ1hDSmtiMlZ6YmlkMElIZHZjbXRjSWlCcGJpQnpZV1poY21rZ09TQmhibVJjYmlBZ0lDQWdJQ0FnTHk4Z1kyRjFjMlZ6SUdFZ1kzSmhjMmdnS0doMGRIQnpPaTh2Y0dGemRHVmlhVzR1WTI5dEwwNHlNVkY2WlZGQktTQjNhR1Z1SUhSeWVXbHVaeUIwYnlCa1pXSjFaeUJwZEM1Y2JpQWdJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2FpQTlJREU3SUdvZ1BDQnlaWE4xYkhRdWJHVnVaM1JvT3lCcUt5c3BJR05oY0hSMWNtVnpMbkIxYzJnb2JXRjVZbVZVYjFOMGNtbHVaeWh5WlhOMWJIUmJhbDBwS1R0Y2JpQWdJQ0FnSUNBZ2RtRnlJRzVoYldWa1EyRndkSFZ5WlhNZ1BTQnlaWE4xYkhRdVozSnZkWEJ6TzF4dUlDQWdJQ0FnSUNCcFppQW9ablZ1WTNScGIyNWhiRkpsY0d4aFkyVXBJSHRjYmlBZ0lDQWdJQ0FnSUNCMllYSWdjbVZ3YkdGalpYSkJjbWR6SUQwZ1cyMWhkR05vWldSZExtTnZibU5oZENoallYQjBkWEpsY3l3Z2NHOXphWFJwYjI0c0lGTXBPMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaHVZVzFsWkVOaGNIUjFjbVZ6SUNFOVBTQjFibVJsWm1sdVpXUXBJSEpsY0d4aFkyVnlRWEpuY3k1d2RYTm9LRzVoYldWa1EyRndkSFZ5WlhNcE8xeHVJQ0FnSUNBZ0lDQWdJSFpoY2lCeVpYQnNZV05sYldWdWRDQTlJRk4wY21sdVp5aHlaWEJzWVdObFZtRnNkV1V1WVhCd2JIa29kVzVrWldacGJtVmtMQ0J5WlhCc1lXTmxja0Z5WjNNcEtUdGNiaUFnSUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0J5WlhCc1lXTmxiV1Z1ZENBOUlHZGxkRk4xWW5OMGFYUjFkR2x2YmlodFlYUmphR1ZrTENCVExDQndiM05wZEdsdmJpd2dZMkZ3ZEhWeVpYTXNJRzVoYldWa1EyRndkSFZ5WlhNc0lISmxjR3hoWTJWV1lXeDFaU2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2FXWWdLSEJ2YzJsMGFXOXVJRDQ5SUc1bGVIUlRiM1Z5WTJWUWIzTnBkR2x2YmlrZ2UxeHVJQ0FnSUNBZ0lDQWdJR0ZqWTNWdGRXeGhkR1ZrVW1WemRXeDBJQ3M5SUZNdWMyeHBZMlVvYm1WNGRGTnZkWEpqWlZCdmMybDBhVzl1TENCd2IzTnBkR2x2YmlrZ0t5QnlaWEJzWVdObGJXVnVkRHRjYmlBZ0lDQWdJQ0FnSUNCdVpYaDBVMjkxY21ObFVHOXphWFJwYjI0Z1BTQndiM05wZEdsdmJpQXJJRzFoZEdOb1pXUXViR1Z1WjNSb08xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnlaWFIxY200Z1lXTmpkVzExYkdGMFpXUlNaWE4xYkhRZ0t5QlRMbk5zYVdObEtHNWxlSFJUYjNWeVkyVlFiM05wZEdsdmJpazdYRzRnSUNBZ2ZWeHVJQ0JkTzF4dVhHNGdJQ0FnTHk4Z2FIUjBjSE02THk5MFl6TTVMbWRwZEdoMVlpNXBieTlsWTIxaE1qWXlMeU56WldNdFoyVjBjM1ZpYzNScGRIVjBhVzl1WEc0Z0lHWjFibU4wYVc5dUlHZGxkRk4xWW5OMGFYUjFkR2x2YmlodFlYUmphR1ZrTENCemRISXNJSEJ2YzJsMGFXOXVMQ0JqWVhCMGRYSmxjeXdnYm1GdFpXUkRZWEIwZFhKbGN5d2djbVZ3YkdGalpXMWxiblFwSUh0Y2JpQWdJQ0IyWVhJZ2RHRnBiRkJ2Y3lBOUlIQnZjMmwwYVc5dUlDc2diV0YwWTJobFpDNXNaVzVuZEdnN1hHNGdJQ0FnZG1GeUlHMGdQU0JqWVhCMGRYSmxjeTVzWlc1bmRHZzdYRzRnSUNBZ2RtRnlJSE41YldKdmJITWdQU0JUVlVKVFZFbFVWVlJKVDA1ZlUxbE5RazlNVTE5T1QxOU9RVTFGUkR0Y2JpQWdJQ0JwWmlBb2JtRnRaV1JEWVhCMGRYSmxjeUFoUFQwZ2RXNWtaV1pwYm1Wa0tTQjdYRzRnSUNBZ0lDQnVZVzFsWkVOaGNIUjFjbVZ6SUQwZ2RHOVBZbXBsWTNRb2JtRnRaV1JEWVhCMGRYSmxjeWs3WEc0Z0lDQWdJQ0J6ZVcxaWIyeHpJRDBnVTFWQ1UxUkpWRlZVU1U5T1gxTlpUVUpQVEZNN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQWtjbVZ3YkdGalpTNWpZV3hzS0hKbGNHeGhZMlZ0Wlc1MExDQnplVzFpYjJ4ekxDQm1kVzVqZEdsdmJpQW9iV0YwWTJnc0lHTm9LU0I3WEc0Z0lDQWdJQ0IyWVhJZ1kyRndkSFZ5WlR0Y2JpQWdJQ0FnSUhOM2FYUmphQ0FvWTJndVkyaGhja0YwS0RBcEtTQjdYRzRnSUNBZ0lDQWdJR05oYzJVZ0p5UW5PaUJ5WlhSMWNtNGdKeVFuTzF4dUlDQWdJQ0FnSUNCallYTmxJQ2NtSnpvZ2NtVjBkWEp1SUcxaGRHTm9aV1E3WEc0Z0lDQWdJQ0FnSUdOaGMyVWdKMkFuT2lCeVpYUjFjbTRnYzNSeUxuTnNhV05sS0RBc0lIQnZjMmwwYVc5dUtUdGNiaUFnSUNBZ0lDQWdZMkZ6WlNCY0lpZGNJam9nY21WMGRYSnVJSE4wY2k1emJHbGpaU2gwWVdsc1VHOXpLVHRjYmlBZ0lDQWdJQ0FnWTJGelpTQW5QQ2M2WEc0Z0lDQWdJQ0FnSUNBZ1kyRndkSFZ5WlNBOUlHNWhiV1ZrUTJGd2RIVnlaWE5iWTJndWMyeHBZMlVvTVN3Z0xURXBYVHRjYmlBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnWkdWbVlYVnNkRG9nTHk4Z1hGeGtYRnhrUDF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJ1SUQwZ0syTm9PMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaHVJRDA5UFNBd0tTQnlaWFIxY200Z2JXRjBZMmc3WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLRzRnUGlCdEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCMllYSWdaaUE5SUdac2IyOXlLRzRnTHlBeE1DazdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9aaUE5UFQwZ01Da2djbVYwZFhKdUlHMWhkR05vTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dZZ1BEMGdiU2tnY21WMGRYSnVJR05oY0hSMWNtVnpXMllnTFNBeFhTQTlQVDBnZFc1a1pXWnBibVZrSUQ4Z1kyZ3VZMmhoY2tGMEtERXBJRG9nWTJGd2RIVnlaWE5iWmlBdElERmRJQ3NnWTJndVkyaGhja0YwS0RFcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRzFoZEdOb08xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNCallYQjBkWEpsSUQwZ1kyRndkSFZ5WlhOYmJpQXRJREZkTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnY21WMGRYSnVJR05oY0hSMWNtVWdQVDA5SUhWdVpHVm1hVzVsWkNBL0lDY25JRG9nWTJGd2RIVnlaVHRjYmlBZ0lDQjlLVHRjYmlBZ2ZWeHVmU2s3WEc0aVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk95SXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnJlZ2V4cC5yZXBsYWNlLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5yZWdleHAuc3BsaXQuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnJlZ2V4cC5zcGxpdC5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7InVzZSBzdHJpY3QiO2V2YWwoIlxuXG52YXIgaXNSZWdFeHAgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19pcy1yZWdleHAgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2lzLXJlZ2V4cC5qc1wiKTtcbnZhciBhbk9iamVjdCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2FuLW9iamVjdCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYW4tb2JqZWN0LmpzXCIpO1xudmFyIHNwZWNpZXNDb25zdHJ1Y3RvciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3NwZWNpZXMtY29uc3RydWN0b3IgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3NwZWNpZXMtY29uc3RydWN0b3IuanNcIik7XG52YXIgYWR2YW5jZVN0cmluZ0luZGV4ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fYWR2YW5jZS1zdHJpbmctaW5kZXggKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FkdmFuY2Utc3RyaW5nLWluZGV4LmpzXCIpO1xudmFyIHRvTGVuZ3RoID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fdG8tbGVuZ3RoICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1sZW5ndGguanNcIik7XG52YXIgY2FsbFJlZ0V4cEV4ZWMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19yZWdleHAtZXhlYy1hYnN0cmFjdCAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fcmVnZXhwLWV4ZWMtYWJzdHJhY3QuanNcIik7XG52YXIgcmVnZXhwRXhlYyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3JlZ2V4cC1leGVjICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19yZWdleHAtZXhlYy5qc1wiKTtcbnZhciBmYWlscyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2ZhaWxzICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19mYWlscy5qc1wiKTtcbnZhciAkbWluID0gTWF0aC5taW47XG52YXIgJHB1c2ggPSBbXS5wdXNoO1xudmFyICRTUExJVCA9ICdzcGxpdCc7XG52YXIgTEVOR1RIID0gJ2xlbmd0aCc7XG52YXIgTEFTVF9JTkRFWCA9ICdsYXN0SW5kZXgnO1xudmFyIE1BWF9VSU5UMzIgPSAweGZmZmZmZmZmO1xuXG4vLyBiYWJlbC1taW5pZnkgdHJhbnNwaWxlcyBSZWdFeHAoJ3gnLCAneScpIC0+IC94L3kgYW5kIGl0IGNhdXNlcyBTeW50YXhFcnJvclxudmFyIFNVUFBPUlRTX1kgPSAhZmFpbHMoZnVuY3Rpb24gKCkgeyBSZWdFeHAoTUFYX1VJTlQzMiwgJ3knKTsgfSk7XG5cbi8vIEBAc3BsaXQgbG9naWNcbl9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX2ZpeC1yZS13a3MgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2ZpeC1yZS13a3MuanNcIikoJ3NwbGl0JywgMiwgZnVuY3Rpb24gKGRlZmluZWQsIFNQTElULCAkc3BsaXQsIG1heWJlQ2FsbE5hdGl2ZSkge1xuICB2YXIgaW50ZXJuYWxTcGxpdDtcbiAgaWYgKFxuICAgICdhYmJjJ1skU1BMSVRdKC8oYikqLylbMV0gPT0gJ2MnIHx8XG4gICAgJ3Rlc3QnWyRTUExJVF0oLyg/OikvLCAtMSlbTEVOR1RIXSAhPSA0IHx8XG4gICAgJ2FiJ1skU1BMSVRdKC8oPzphYikqLylbTEVOR1RIXSAhPSAyIHx8XG4gICAgJy4nWyRTUExJVF0oLyguPykoLj8pLylbTEVOR1RIXSAhPSA0IHx8XG4gICAgJy4nWyRTUExJVF0oLygpKCkvKVtMRU5HVEhdID4gMSB8fFxuICAgICcnWyRTUExJVF0oLy4/LylbTEVOR1RIXVxuICApIHtcbiAgICAvLyBiYXNlZCBvbiBlczUtc2hpbSBpbXBsZW1lbnRhdGlvbiwgbmVlZCB0byByZXdvcmsgaXRcbiAgICBpbnRlcm5hbFNwbGl0ID0gZnVuY3Rpb24gKHNlcGFyYXRvciwgbGltaXQpIHtcbiAgICAgIHZhciBzdHJpbmcgPSBTdHJpbmcodGhpcyk7XG4gICAgICBpZiAoc2VwYXJhdG9yID09PSB1bmRlZmluZWQgJiYgbGltaXQgPT09IDApIHJldHVybiBbXTtcbiAgICAgIC8vIElmIGBzZXBhcmF0b3JgIGlzIG5vdCBhIHJlZ2V4LCB1c2UgbmF0aXZlIHNwbGl0XG4gICAgICBpZiAoIWlzUmVnRXhwKHNlcGFyYXRvcikpIHJldHVybiAkc3BsaXQuY2FsbChzdHJpbmcsIHNlcGFyYXRvciwgbGltaXQpO1xuICAgICAgdmFyIG91dHB1dCA9IFtdO1xuICAgICAgdmFyIGZsYWdzID0gKHNlcGFyYXRvci5pZ25vcmVDYXNlID8gJ2knIDogJycpICtcbiAgICAgICAgICAgICAgICAgIChzZXBhcmF0b3IubXVsdGlsaW5lID8gJ20nIDogJycpICtcbiAgICAgICAgICAgICAgICAgIChzZXBhcmF0b3IudW5pY29kZSA/ICd1JyA6ICcnKSArXG4gICAgICAgICAgICAgICAgICAoc2VwYXJhdG9yLnN0aWNreSA/ICd5JyA6ICcnKTtcbiAgICAgIHZhciBsYXN0TGFzdEluZGV4ID0gMDtcbiAgICAgIHZhciBzcGxpdExpbWl0ID0gbGltaXQgPT09IHVuZGVmaW5lZCA/IE1BWF9VSU5UMzIgOiBsaW1pdCA+Pj4gMDtcbiAgICAgIC8vIE1ha2UgYGdsb2JhbGAgYW5kIGF2b2lkIGBsYXN0SW5kZXhgIGlzc3VlcyBieSB3b3JraW5nIHdpdGggYSBjb3B5XG4gICAgICB2YXIgc2VwYXJhdG9yQ29weSA9IG5ldyBSZWdFeHAoc2VwYXJhdG9yLnNvdXJjZSwgZmxhZ3MgKyAnZycpO1xuICAgICAgdmFyIG1hdGNoLCBsYXN0SW5kZXgsIGxhc3RMZW5ndGg7XG4gICAgICB3aGlsZSAobWF0Y2ggPSByZWdleHBFeGVjLmNhbGwoc2VwYXJhdG9yQ29weSwgc3RyaW5nKSkge1xuICAgICAgICBsYXN0SW5kZXggPSBzZXBhcmF0b3JDb3B5W0xBU1RfSU5ERVhdO1xuICAgICAgICBpZiAobGFzdEluZGV4ID4gbGFzdExhc3RJbmRleCkge1xuICAgICAgICAgIG91dHB1dC5wdXNoKHN0cmluZy5zbGljZShsYXN0TGFzdEluZGV4LCBtYXRjaC5pbmRleCkpO1xuICAgICAgICAgIGlmIChtYXRjaFtMRU5HVEhdID4gMSAmJiBtYXRjaC5pbmRleCA8IHN0cmluZ1tMRU5HVEhdKSAkcHVzaC5hcHBseShvdXRwdXQsIG1hdGNoLnNsaWNlKDEpKTtcbiAgICAgICAgICBsYXN0TGVuZ3RoID0gbWF0Y2hbMF1bTEVOR1RIXTtcbiAgICAgICAgICBsYXN0TGFzdEluZGV4ID0gbGFzdEluZGV4O1xuICAgICAgICAgIGlmIChvdXRwdXRbTEVOR1RIXSA+PSBzcGxpdExpbWl0KSBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2VwYXJhdG9yQ29weVtMQVNUX0lOREVYXSA9PT0gbWF0Y2guaW5kZXgpIHNlcGFyYXRvckNvcHlbTEFTVF9JTkRFWF0rKzsgLy8gQXZvaWQgYW4gaW5maW5pdGUgbG9vcFxuICAgICAgfVxuICAgICAgaWYgKGxhc3RMYXN0SW5kZXggPT09IHN0cmluZ1tMRU5HVEhdKSB7XG4gICAgICAgIGlmIChsYXN0TGVuZ3RoIHx8ICFzZXBhcmF0b3JDb3B5LnRlc3QoJycpKSBvdXRwdXQucHVzaCgnJyk7XG4gICAgICB9IGVsc2Ugb3V0cHV0LnB1c2goc3RyaW5nLnNsaWNlKGxhc3RMYXN0SW5kZXgpKTtcbiAgICAgIHJldHVybiBvdXRwdXRbTEVOR1RIXSA+IHNwbGl0TGltaXQgPyBvdXRwdXQuc2xpY2UoMCwgc3BsaXRMaW1pdCkgOiBvdXRwdXQ7XG4gICAgfTtcbiAgLy8gQ2hha3JhLCBWOFxuICB9IGVsc2UgaWYgKCcwJ1skU1BMSVRdKHVuZGVmaW5lZCwgMClbTEVOR1RIXSkge1xuICAgIGludGVybmFsU3BsaXQgPSBmdW5jdGlvbiAoc2VwYXJhdG9yLCBsaW1pdCkge1xuICAgICAgcmV0dXJuIHNlcGFyYXRvciA9PT0gdW5kZWZpbmVkICYmIGxpbWl0ID09PSAwID8gW10gOiAkc3BsaXQuY2FsbCh0aGlzLCBzZXBhcmF0b3IsIGxpbWl0KTtcbiAgICB9O1xuICB9IGVsc2Uge1xuICAgIGludGVybmFsU3BsaXQgPSAkc3BsaXQ7XG4gIH1cblxuICByZXR1cm4gW1xuICAgIC8vIGBTdHJpbmcucHJvdG90eXBlLnNwbGl0YCBtZXRob2RcbiAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1zdHJpbmcucHJvdG90eXBlLnNwbGl0XG4gICAgZnVuY3Rpb24gc3BsaXQoc2VwYXJhdG9yLCBsaW1pdCkge1xuICAgICAgdmFyIE8gPSBkZWZpbmVkKHRoaXMpO1xuICAgICAgdmFyIHNwbGl0dGVyID0gc2VwYXJhdG9yID09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IHNlcGFyYXRvcltTUExJVF07XG4gICAgICByZXR1cm4gc3BsaXR0ZXIgIT09IHVuZGVmaW5lZFxuICAgICAgICA/IHNwbGl0dGVyLmNhbGwoc2VwYXJhdG9yLCBPLCBsaW1pdClcbiAgICAgICAgOiBpbnRlcm5hbFNwbGl0LmNhbGwoU3RyaW5nKE8pLCBzZXBhcmF0b3IsIGxpbWl0KTtcbiAgICB9LFxuICAgIC8vIGBSZWdFeHAucHJvdG90eXBlW0BAc3BsaXRdYCBtZXRob2RcbiAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1yZWdleHAucHJvdG90eXBlLUBAc3BsaXRcbiAgICAvL1xuICAgIC8vIE5PVEU6IFRoaXMgY2Fubm90IGJlIHByb3Blcmx5IHBvbHlmaWxsZWQgaW4gZW5naW5lcyB0aGF0IGRvbid0IHN1cHBvcnRcbiAgICAvLyB0aGUgJ3knIGZsYWcuXG4gICAgZnVuY3Rpb24gKHJlZ2V4cCwgbGltaXQpIHtcbiAgICAgIHZhciByZXMgPSBtYXliZUNhbGxOYXRpdmUoaW50ZXJuYWxTcGxpdCwgcmVnZXhwLCB0aGlzLCBsaW1pdCwgaW50ZXJuYWxTcGxpdCAhPT0gJHNwbGl0KTtcbiAgICAgIGlmIChyZXMuZG9uZSkgcmV0dXJuIHJlcy52YWx1ZTtcblxuICAgICAgdmFyIHJ4ID0gYW5PYmplY3QocmVnZXhwKTtcbiAgICAgIHZhciBTID0gU3RyaW5nKHRoaXMpO1xuICAgICAgdmFyIEMgPSBzcGVjaWVzQ29uc3RydWN0b3IocngsIFJlZ0V4cCk7XG5cbiAgICAgIHZhciB1bmljb2RlTWF0Y2hpbmcgPSByeC51bmljb2RlO1xuICAgICAgdmFyIGZsYWdzID0gKHJ4Lmlnbm9yZUNhc2UgPyAnaScgOiAnJykgK1xuICAgICAgICAgICAgICAgICAgKHJ4Lm11bHRpbGluZSA/ICdtJyA6ICcnKSArXG4gICAgICAgICAgICAgICAgICAocngudW5pY29kZSA/ICd1JyA6ICcnKSArXG4gICAgICAgICAgICAgICAgICAoU1VQUE9SVFNfWSA/ICd5JyA6ICdnJyk7XG5cbiAgICAgIC8vIF4oPyArIHJ4ICsgKSBpcyBuZWVkZWQsIGluIGNvbWJpbmF0aW9uIHdpdGggc29tZSBTIHNsaWNpbmcsIHRvXG4gICAgICAvLyBzaW11bGF0ZSB0aGUgJ3knIGZsYWcuXG4gICAgICB2YXIgc3BsaXR0ZXIgPSBuZXcgQyhTVVBQT1JUU19ZID8gcnggOiAnXig/OicgKyByeC5zb3VyY2UgKyAnKScsIGZsYWdzKTtcbiAgICAgIHZhciBsaW0gPSBsaW1pdCA9PT0gdW5kZWZpbmVkID8gTUFYX1VJTlQzMiA6IGxpbWl0ID4+PiAwO1xuICAgICAgaWYgKGxpbSA9PT0gMCkgcmV0dXJuIFtdO1xuICAgICAgaWYgKFMubGVuZ3RoID09PSAwKSByZXR1cm4gY2FsbFJlZ0V4cEV4ZWMoc3BsaXR0ZXIsIFMpID09PSBudWxsID8gW1NdIDogW107XG4gICAgICB2YXIgcCA9IDA7XG4gICAgICB2YXIgcSA9IDA7XG4gICAgICB2YXIgQSA9IFtdO1xuICAgICAgd2hpbGUgKHEgPCBTLmxlbmd0aCkge1xuICAgICAgICBzcGxpdHRlci5sYXN0SW5kZXggPSBTVVBQT1JUU19ZID8gcSA6IDA7XG4gICAgICAgIHZhciB6ID0gY2FsbFJlZ0V4cEV4ZWMoc3BsaXR0ZXIsIFNVUFBPUlRTX1kgPyBTIDogUy5zbGljZShxKSk7XG4gICAgICAgIHZhciBlO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgeiA9PT0gbnVsbCB8fFxuICAgICAgICAgIChlID0gJG1pbih0b0xlbmd0aChzcGxpdHRlci5sYXN0SW5kZXggKyAoU1VQUE9SVFNfWSA/IDAgOiBxKSksIFMubGVuZ3RoKSkgPT09IHBcbiAgICAgICAgKSB7XG4gICAgICAgICAgcSA9IGFkdmFuY2VTdHJpbmdJbmRleChTLCBxLCB1bmljb2RlTWF0Y2hpbmcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIEEucHVzaChTLnNsaWNlKHAsIHEpKTtcbiAgICAgICAgICBpZiAoQS5sZW5ndGggPT09IGxpbSkgcmV0dXJuIEE7XG4gICAgICAgICAgZm9yICh2YXIgaSA9IDE7IGkgPD0gei5sZW5ndGggLSAxOyBpKyspIHtcbiAgICAgICAgICAgIEEucHVzaCh6W2ldKTtcbiAgICAgICAgICAgIGlmIChBLmxlbmd0aCA9PT0gbGltKSByZXR1cm4gQTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcSA9IHAgPSBlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBBLnB1c2goUy5zbGljZShwKSk7XG4gICAgICByZXR1cm4gQTtcbiAgICB9XG4gIF07XG59KTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwyVnpOaTV5WldkbGVIQXVjM0JzYVhRdWFuTXVhbk1pTENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OHZMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDJWek5pNXlaV2RsZUhBdWMzQnNhWFF1YW5NL01qaGhOU0pkTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJbmRYTmxJSE4wY21samRDYzdYRzVjYm5aaGNpQnBjMUpsWjBWNGNDQTlJSEpsY1hWcGNtVW9KeTR2WDJsekxYSmxaMlY0Y0NjcE8xeHVkbUZ5SUdGdVQySnFaV04wSUQwZ2NtVnhkV2x5WlNnbkxpOWZZVzR0YjJKcVpXTjBKeWs3WEc1MllYSWdjM0JsWTJsbGMwTnZibk4wY25WamRHOXlJRDBnY21WeGRXbHlaU2duTGk5ZmMzQmxZMmxsY3kxamIyNXpkSEoxWTNSdmNpY3BPMXh1ZG1GeUlHRmtkbUZ1WTJWVGRISnBibWRKYm1SbGVDQTlJSEpsY1hWcGNtVW9KeTR2WDJGa2RtRnVZMlV0YzNSeWFXNW5MV2x1WkdWNEp5azdYRzUyWVhJZ2RHOU1aVzVuZEdnZ1BTQnlaWEYxYVhKbEtDY3VMMTkwYnkxc1pXNW5kR2duS1R0Y2JuWmhjaUJqWVd4c1VtVm5SWGh3UlhobFl5QTlJSEpsY1hWcGNtVW9KeTR2WDNKbFoyVjRjQzFsZUdWakxXRmljM1J5WVdOMEp5azdYRzUyWVhJZ2NtVm5aWGh3UlhobFl5QTlJSEpsY1hWcGNtVW9KeTR2WDNKbFoyVjRjQzFsZUdWakp5azdYRzUyWVhJZ1ptRnBiSE1nUFNCeVpYRjFhWEpsS0NjdUwxOW1ZV2xzY3ljcE8xeHVkbUZ5SUNSdGFXNGdQU0JOWVhSb0xtMXBianRjYm5aaGNpQWtjSFZ6YUNBOUlGdGRMbkIxYzJnN1hHNTJZWElnSkZOUVRFbFVJRDBnSjNOd2JHbDBKenRjYm5aaGNpQk1SVTVIVkVnZ1BTQW5iR1Z1WjNSb0p6dGNiblpoY2lCTVFWTlVYMGxPUkVWWUlEMGdKMnhoYzNSSmJtUmxlQ2M3WEc1MllYSWdUVUZZWDFWSlRsUXpNaUE5SURCNFptWm1abVptWm1ZN1hHNWNiaTh2SUdKaFltVnNMVzFwYm1sbWVTQjBjbUZ1YzNCcGJHVnpJRkpsWjBWNGNDZ25lQ2NzSUNkNUp5a2dMVDRnTDNndmVTQmhibVFnYVhRZ1kyRjFjMlZ6SUZONWJuUmhlRVZ5Y205eVhHNTJZWElnVTFWUVVFOVNWRk5mV1NBOUlDRm1ZV2xzY3lobWRXNWpkR2x2YmlBb0tTQjdJRkpsWjBWNGNDaE5RVmhmVlVsT1ZETXlMQ0FuZVNjcE95QjlLVHRjYmx4dUx5OGdRRUJ6Y0d4cGRDQnNiMmRwWTF4dWNtVnhkV2x5WlNnbkxpOWZabWw0TFhKbExYZHJjeWNwS0NkemNHeHBkQ2NzSURJc0lHWjFibU4wYVc5dUlDaGtaV1pwYm1Wa0xDQlRVRXhKVkN3Z0pITndiR2wwTENCdFlYbGlaVU5oYkd4T1lYUnBkbVVwSUh0Y2JpQWdkbUZ5SUdsdWRHVnlibUZzVTNCc2FYUTdYRzRnSUdsbUlDaGNiaUFnSUNBbllXSmlZeWRiSkZOUVRFbFVYU2d2S0dJcEtpOHBXekZkSUQwOUlDZGpKeUI4ZkZ4dUlDQWdJQ2QwWlhOMEoxc2tVMUJNU1ZSZEtDOG9Qem9wTHl3Z0xURXBXMHhGVGtkVVNGMGdJVDBnTkNCOGZGeHVJQ0FnSUNkaFlpZGJKRk5RVEVsVVhTZ3ZLRDg2WVdJcEtpOHBXMHhGVGtkVVNGMGdJVDBnTWlCOGZGeHVJQ0FnSUNjdUoxc2tVMUJNU1ZSZEtDOG9MajhwS0M0L0tTOHBXMHhGVGtkVVNGMGdJVDBnTkNCOGZGeHVJQ0FnSUNjdUoxc2tVMUJNU1ZSZEtDOG9LU2dwTHlsYlRFVk9SMVJJWFNBK0lERWdmSHhjYmlBZ0lDQW5KMXNrVTFCTVNWUmRLQzh1UHk4cFcweEZUa2RVU0YxY2JpQWdLU0I3WEc0Z0lDQWdMeThnWW1GelpXUWdiMjRnWlhNMUxYTm9hVzBnYVcxd2JHVnRaVzUwWVhScGIyNHNJRzVsWldRZ2RHOGdjbVYzYjNKcklHbDBYRzRnSUNBZ2FXNTBaWEp1WVd4VGNHeHBkQ0E5SUdaMWJtTjBhVzl1SUNoelpYQmhjbUYwYjNJc0lHeHBiV2wwS1NCN1hHNGdJQ0FnSUNCMllYSWdjM1J5YVc1bklEMGdVM1J5YVc1bktIUm9hWE1wTzF4dUlDQWdJQ0FnYVdZZ0tITmxjR0Z5WVhSdmNpQTlQVDBnZFc1a1pXWnBibVZrSUNZbUlHeHBiV2wwSUQwOVBTQXdLU0J5WlhSMWNtNGdXMTA3WEc0Z0lDQWdJQ0F2THlCSlppQmdjMlZ3WVhKaGRHOXlZQ0JwY3lCdWIzUWdZU0J5WldkbGVDd2dkWE5sSUc1aGRHbDJaU0J6Y0d4cGRGeHVJQ0FnSUNBZ2FXWWdLQ0ZwYzFKbFowVjRjQ2h6WlhCaGNtRjBiM0lwS1NCeVpYUjFjbTRnSkhOd2JHbDBMbU5oYkd3b2MzUnlhVzVuTENCelpYQmhjbUYwYjNJc0lHeHBiV2wwS1R0Y2JpQWdJQ0FnSUhaaGNpQnZkWFJ3ZFhRZ1BTQmJYVHRjYmlBZ0lDQWdJSFpoY2lCbWJHRm5jeUE5SUNoelpYQmhjbUYwYjNJdWFXZHViM0psUTJGelpTQS9JQ2RwSnlBNklDY25LU0FyWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBb2MyVndZWEpoZEc5eUxtMTFiSFJwYkdsdVpTQS9JQ2R0SnlBNklDY25LU0FyWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBb2MyVndZWEpoZEc5eUxuVnVhV052WkdVZ1B5QW5kU2NnT2lBbkp5a2dLMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnS0hObGNHRnlZWFJ2Y2k1emRHbGphM2tnUHlBbmVTY2dPaUFuSnlrN1hHNGdJQ0FnSUNCMllYSWdiR0Z6ZEV4aGMzUkpibVJsZUNBOUlEQTdYRzRnSUNBZ0lDQjJZWElnYzNCc2FYUk1hVzFwZENBOUlHeHBiV2wwSUQwOVBTQjFibVJsWm1sdVpXUWdQeUJOUVZoZlZVbE9WRE15SURvZ2JHbHRhWFFnUGo0K0lEQTdYRzRnSUNBZ0lDQXZMeUJOWVd0bElHQm5iRzlpWVd4Z0lHRnVaQ0JoZG05cFpDQmdiR0Z6ZEVsdVpHVjRZQ0JwYzNOMVpYTWdZbmtnZDI5eWEybHVaeUIzYVhSb0lHRWdZMjl3ZVZ4dUlDQWdJQ0FnZG1GeUlITmxjR0Z5WVhSdmNrTnZjSGtnUFNCdVpYY2dVbVZuUlhod0tITmxjR0Z5WVhSdmNpNXpiM1Z5WTJVc0lHWnNZV2R6SUNzZ0oyY25LVHRjYmlBZ0lDQWdJSFpoY2lCdFlYUmphQ3dnYkdGemRFbHVaR1Y0TENCc1lYTjBUR1Z1WjNSb08xeHVJQ0FnSUNBZ2QyaHBiR1VnS0cxaGRHTm9JRDBnY21WblpYaHdSWGhsWXk1allXeHNLSE5sY0dGeVlYUnZja052Y0hrc0lITjBjbWx1WnlrcElIdGNiaUFnSUNBZ0lDQWdiR0Z6ZEVsdVpHVjRJRDBnYzJWd1lYSmhkRzl5UTI5d2VWdE1RVk5VWDBsT1JFVllYVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHeGhjM1JKYm1SbGVDQStJR3hoYzNSTVlYTjBTVzVrWlhncElIdGNiaUFnSUNBZ0lDQWdJQ0J2ZFhSd2RYUXVjSFZ6YUNoemRISnBibWN1YzJ4cFkyVW9iR0Z6ZEV4aGMzUkpibVJsZUN3Z2JXRjBZMmd1YVc1a1pYZ3BLVHRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9iV0YwWTJoYlRFVk9SMVJJWFNBK0lERWdKaVlnYldGMFkyZ3VhVzVrWlhnZ1BDQnpkSEpwYm1kYlRFVk9SMVJJWFNrZ0pIQjFjMmd1WVhCd2JIa29iM1YwY0hWMExDQnRZWFJqYUM1emJHbGpaU2d4S1NrN1hHNGdJQ0FnSUNBZ0lDQWdiR0Z6ZEV4bGJtZDBhQ0E5SUcxaGRHTm9XekJkVzB4RlRrZFVTRjA3WEc0Z0lDQWdJQ0FnSUNBZ2JHRnpkRXhoYzNSSmJtUmxlQ0E5SUd4aGMzUkpibVJsZUR0Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvYjNWMGNIVjBXMHhGVGtkVVNGMGdQajBnYzNCc2FYUk1hVzFwZENrZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2FXWWdLSE5sY0dGeVlYUnZja052Y0hsYlRFRlRWRjlKVGtSRldGMGdQVDA5SUcxaGRHTm9MbWx1WkdWNEtTQnpaWEJoY21GMGIzSkRiM0I1VzB4QlUxUmZTVTVFUlZoZEt5czdJQzh2SUVGMmIybGtJR0Z1SUdsdVptbHVhWFJsSUd4dmIzQmNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHbG1JQ2hzWVhOMFRHRnpkRWx1WkdWNElEMDlQU0J6ZEhKcGJtZGJURVZPUjFSSVhTa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb2JHRnpkRXhsYm1kMGFDQjhmQ0FoYzJWd1lYSmhkRzl5UTI5d2VTNTBaWE4wS0NjbktTa2diM1YwY0hWMExuQjFjMmdvSnljcE8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUc5MWRIQjFkQzV3ZFhOb0tITjBjbWx1Wnk1emJHbGpaU2hzWVhOMFRHRnpkRWx1WkdWNEtTazdYRzRnSUNBZ0lDQnlaWFIxY200Z2IzVjBjSFYwVzB4RlRrZFVTRjBnUGlCemNHeHBkRXhwYldsMElEOGdiM1YwY0hWMExuTnNhV05sS0RBc0lITndiR2wwVEdsdGFYUXBJRG9nYjNWMGNIVjBPMXh1SUNBZ0lIMDdYRzRnSUM4dklFTm9ZV3R5WVN3Z1ZqaGNiaUFnZlNCbGJITmxJR2xtSUNnbk1DZGJKRk5RVEVsVVhTaDFibVJsWm1sdVpXUXNJREFwVzB4RlRrZFVTRjBwSUh0Y2JpQWdJQ0JwYm5SbGNtNWhiRk53YkdsMElEMGdablZ1WTNScGIyNGdLSE5sY0dGeVlYUnZjaXdnYkdsdGFYUXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnpaWEJoY21GMGIzSWdQVDA5SUhWdVpHVm1hVzVsWkNBbUppQnNhVzFwZENBOVBUMGdNQ0EvSUZ0ZElEb2dKSE53YkdsMExtTmhiR3dvZEdocGN5d2djMlZ3WVhKaGRHOXlMQ0JzYVcxcGRDazdYRzRnSUNBZ2ZUdGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQnBiblJsY201aGJGTndiR2wwSUQwZ0pITndiR2wwTzF4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUZ0Y2JpQWdJQ0F2THlCZ1UzUnlhVzVuTG5CeWIzUnZkSGx3WlM1emNHeHBkR0FnYldWMGFHOWtYRzRnSUNBZ0x5OGdhSFIwY0hNNkx5OTBZek01TG1kcGRHaDFZaTVwYnk5bFkyMWhNall5THlOelpXTXRjM1J5YVc1bkxuQnliM1J2ZEhsd1pTNXpjR3hwZEZ4dUlDQWdJR1oxYm1OMGFXOXVJSE53YkdsMEtITmxjR0Z5WVhSdmNpd2diR2x0YVhRcElIdGNiaUFnSUNBZ0lIWmhjaUJQSUQwZ1pHVm1hVzVsWkNoMGFHbHpLVHRjYmlBZ0lDQWdJSFpoY2lCemNHeHBkSFJsY2lBOUlITmxjR0Z5WVhSdmNpQTlQU0IxYm1SbFptbHVaV1FnUHlCMWJtUmxabWx1WldRZ09pQnpaWEJoY21GMGIzSmJVMUJNU1ZSZE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhOd2JHbDBkR1Z5SUNFOVBTQjFibVJsWm1sdVpXUmNiaUFnSUNBZ0lDQWdQeUJ6Y0d4cGRIUmxjaTVqWVd4c0tITmxjR0Z5WVhSdmNpd2dUeXdnYkdsdGFYUXBYRzRnSUNBZ0lDQWdJRG9nYVc1MFpYSnVZV3hUY0d4cGRDNWpZV3hzS0ZOMGNtbHVaeWhQS1N3Z2MyVndZWEpoZEc5eUxDQnNhVzFwZENrN1hHNGdJQ0FnZlN4Y2JpQWdJQ0F2THlCZ1VtVm5SWGh3TG5CeWIzUnZkSGx3WlZ0QVFITndiR2wwWFdBZ2JXVjBhRzlrWEc0Z0lDQWdMeThnYUhSMGNITTZMeTkwWXpNNUxtZHBkR2gxWWk1cGJ5OWxZMjFoTWpZeUx5TnpaV010Y21WblpYaHdMbkJ5YjNSdmRIbHdaUzFBUUhOd2JHbDBYRzRnSUNBZ0x5OWNiaUFnSUNBdkx5Qk9UMVJGT2lCVWFHbHpJR05oYm01dmRDQmlaU0J3Y205d1pYSnNlU0J3YjJ4NVptbHNiR1ZrSUdsdUlHVnVaMmx1WlhNZ2RHaGhkQ0JrYjI0bmRDQnpkWEJ3YjNKMFhHNGdJQ0FnTHk4Z2RHaGxJQ2Q1SnlCbWJHRm5MbHh1SUNBZ0lHWjFibU4wYVc5dUlDaHlaV2RsZUhBc0lHeHBiV2wwS1NCN1hHNGdJQ0FnSUNCMllYSWdjbVZ6SUQwZ2JXRjVZbVZEWVd4c1RtRjBhWFpsS0dsdWRHVnlibUZzVTNCc2FYUXNJSEpsWjJWNGNDd2dkR2hwY3l3Z2JHbHRhWFFzSUdsdWRHVnlibUZzVTNCc2FYUWdJVDA5SUNSemNHeHBkQ2s3WEc0Z0lDQWdJQ0JwWmlBb2NtVnpMbVJ2Ym1VcElISmxkSFZ5YmlCeVpYTXVkbUZzZFdVN1hHNWNiaUFnSUNBZ0lIWmhjaUJ5ZUNBOUlHRnVUMkpxWldOMEtISmxaMlY0Y0NrN1hHNGdJQ0FnSUNCMllYSWdVeUE5SUZOMGNtbHVaeWgwYUdsektUdGNiaUFnSUNBZ0lIWmhjaUJESUQwZ2MzQmxZMmxsYzBOdmJuTjBjblZqZEc5eUtISjRMQ0JTWldkRmVIQXBPMXh1WEc0Z0lDQWdJQ0IyWVhJZ2RXNXBZMjlrWlUxaGRHTm9hVzVuSUQwZ2NuZ3VkVzVwWTI5a1pUdGNiaUFnSUNBZ0lIWmhjaUJtYkdGbmN5QTlJQ2h5ZUM1cFoyNXZjbVZEWVhObElEOGdKMmtuSURvZ0p5Y3BJQ3RjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNoeWVDNXRkV3gwYVd4cGJtVWdQeUFuYlNjZ09pQW5KeWtnSzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0tISjRMblZ1YVdOdlpHVWdQeUFuZFNjZ09pQW5KeWtnSzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0tGTlZVRkJQVWxSVFgxa2dQeUFuZVNjZ09pQW5aeWNwTzF4dVhHNGdJQ0FnSUNBdkx5QmVLRDhnS3lCeWVDQXJJQ2tnYVhNZ2JtVmxaR1ZrTENCcGJpQmpiMjFpYVc1aGRHbHZiaUIzYVhSb0lITnZiV1VnVXlCemJHbGphVzVuTENCMGIxeHVJQ0FnSUNBZ0x5OGdjMmx0ZFd4aGRHVWdkR2hsSUNkNUp5Qm1iR0ZuTGx4dUlDQWdJQ0FnZG1GeUlITndiR2wwZEdWeUlEMGdibVYzSUVNb1UxVlFVRTlTVkZOZldTQS9JSEo0SURvZ0oxNG9Qem9uSUNzZ2NuZ3VjMjkxY21ObElDc2dKeWtuTENCbWJHRm5jeWs3WEc0Z0lDQWdJQ0IyWVhJZ2JHbHRJRDBnYkdsdGFYUWdQVDA5SUhWdVpHVm1hVzVsWkNBL0lFMUJXRjlWU1U1VU16SWdPaUJzYVcxcGRDQStQajRnTUR0Y2JpQWdJQ0FnSUdsbUlDaHNhVzBnUFQwOUlEQXBJSEpsZEhWeWJpQmJYVHRjYmlBZ0lDQWdJR2xtSUNoVExteGxibWQwYUNBOVBUMGdNQ2tnY21WMGRYSnVJR05oYkd4U1pXZEZlSEJGZUdWaktITndiR2wwZEdWeUxDQlRLU0E5UFQwZ2JuVnNiQ0EvSUZ0VFhTQTZJRnRkTzF4dUlDQWdJQ0FnZG1GeUlIQWdQU0F3TzF4dUlDQWdJQ0FnZG1GeUlIRWdQU0F3TzF4dUlDQWdJQ0FnZG1GeUlFRWdQU0JiWFR0Y2JpQWdJQ0FnSUhkb2FXeGxJQ2h4SUR3Z1V5NXNaVzVuZEdncElIdGNiaUFnSUNBZ0lDQWdjM0JzYVhSMFpYSXViR0Z6ZEVsdVpHVjRJRDBnVTFWUVVFOVNWRk5mV1NBL0lIRWdPaUF3TzF4dUlDQWdJQ0FnSUNCMllYSWdlaUE5SUdOaGJHeFNaV2RGZUhCRmVHVmpLSE53YkdsMGRHVnlMQ0JUVlZCUVQxSlVVMTlaSUQ4Z1V5QTZJRk11YzJ4cFkyVW9jU2twTzF4dUlDQWdJQ0FnSUNCMllYSWdaVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tGeHVJQ0FnSUNBZ0lDQWdJSG9nUFQwOUlHNTFiR3dnZkh4Y2JpQWdJQ0FnSUNBZ0lDQW9aU0E5SUNSdGFXNG9kRzlNWlc1bmRHZ29jM0JzYVhSMFpYSXViR0Z6ZEVsdVpHVjRJQ3NnS0ZOVlVGQlBVbFJUWDFrZ1B5QXdJRG9nY1NrcExDQlRMbXhsYm1kMGFDa3BJRDA5UFNCd1hHNGdJQ0FnSUNBZ0lDa2dlMXh1SUNBZ0lDQWdJQ0FnSUhFZ1BTQmhaSFpoYm1ObFUzUnlhVzVuU1c1a1pYZ29VeXdnY1N3Z2RXNXBZMjlrWlUxaGRHTm9hVzVuS1R0Y2JpQWdJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQkJMbkIxYzJnb1V5NXpiR2xqWlNod0xDQnhLU2s3WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLRUV1YkdWdVozUm9JRDA5UFNCc2FXMHBJSEpsZEhWeWJpQkJPMXh1SUNBZ0lDQWdJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXhPeUJwSUR3OUlIb3ViR1Z1WjNSb0lDMGdNVHNnYVNzcktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCQkxuQjFjMmdvZWx0cFhTazdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9RUzVzWlc1bmRHZ2dQVDA5SUd4cGJTa2djbVYwZFhKdUlFRTdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lIRWdQU0J3SUQwZ1pUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdRUzV3ZFhOb0tGTXVjMnhwWTJVb2NDa3BPMXh1SUNBZ0lDQWdjbVYwZFhKdUlFRTdYRzRnSUNBZ2ZWeHVJQ0JkTzF4dWZTazdYRzRpWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3SWl3aWMyOTFjbU5sVW05dmRDSTZJaUo5XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5yZWdleHAuc3BsaXQuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnJlZ2V4cC50by1zdHJpbmcuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5yZWdleHAudG8tc3RyaW5nLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7InVzZSBzdHJpY3QiO2V2YWwoIlxuX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9lczYucmVnZXhwLmZsYWdzICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5yZWdleHAuZmxhZ3MuanNcIik7XG52YXIgYW5PYmplY3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19hbi1vYmplY3QgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FuLW9iamVjdC5qc1wiKTtcbnZhciAkZmxhZ3MgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19mbGFncyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZmxhZ3MuanNcIik7XG52YXIgREVTQ1JJUFRPUlMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19kZXNjcmlwdG9ycyAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZGVzY3JpcHRvcnMuanNcIik7XG52YXIgVE9fU1RSSU5HID0gJ3RvU3RyaW5nJztcbnZhciAkdG9TdHJpbmcgPSAvLi9bVE9fU1RSSU5HXTtcblxudmFyIGRlZmluZSA9IGZ1bmN0aW9uIChmbikge1xuICBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19yZWRlZmluZSAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fcmVkZWZpbmUuanNcIikoUmVnRXhwLnByb3RvdHlwZSwgVE9fU1RSSU5HLCBmbiwgdHJ1ZSk7XG59O1xuXG4vLyAyMS4yLjUuMTQgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZygpXG5pZiAoX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fZmFpbHMgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2ZhaWxzLmpzXCIpKGZ1bmN0aW9uICgpIHsgcmV0dXJuICR0b1N0cmluZy5jYWxsKHsgc291cmNlOiAnYScsIGZsYWdzOiAnYicgfSkgIT0gJy9hL2InOyB9KSkge1xuICBkZWZpbmUoZnVuY3Rpb24gdG9TdHJpbmcoKSB7XG4gICAgdmFyIFIgPSBhbk9iamVjdCh0aGlzKTtcbiAgICByZXR1cm4gJy8nLmNvbmNhdChSLnNvdXJjZSwgJy8nLFxuICAgICAgJ2ZsYWdzJyBpbiBSID8gUi5mbGFncyA6ICFERVNDUklQVE9SUyAmJiBSIGluc3RhbmNlb2YgUmVnRXhwID8gJGZsYWdzLmNhbGwoUikgOiB1bmRlZmluZWQpO1xuICB9KTtcbi8vIEZGNDQtIFJlZ0V4cCN0b1N0cmluZyBoYXMgYSB3cm9uZyBuYW1lXG59IGVsc2UgaWYgKCR0b1N0cmluZy5uYW1lICE9IFRPX1NUUklORykge1xuICBkZWZpbmUoZnVuY3Rpb24gdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuICR0b1N0cmluZy5jYWxsKHRoaXMpO1xuICB9KTtcbn1cbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjl5WlMxcWN5OXRiMlIxYkdWekwyVnpOaTV5WldkbGVIQXVkRzh0YzNSeWFXNW5MbXB6TG1weklpd2ljMjkxY21ObGN5STZXeUozWldKd1lXTnJPaTh2THk0dmJtOWtaVjl0YjJSMWJHVnpMMk52Y21VdGFuTXZiVzlrZFd4bGN5OWxjell1Y21WblpYaHdMblJ2TFhOMGNtbHVaeTVxY3o4MllqVTBJbDBzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWlkMWMyVWdjM1J5YVdOMEp6dGNibkpsY1hWcGNtVW9KeTR2WlhNMkxuSmxaMlY0Y0M1bWJHRm5jeWNwTzF4dWRtRnlJR0Z1VDJKcVpXTjBJRDBnY21WeGRXbHlaU2duTGk5ZllXNHRiMkpxWldOMEp5azdYRzUyWVhJZ0pHWnNZV2R6SUQwZ2NtVnhkV2x5WlNnbkxpOWZabXhoWjNNbktUdGNiblpoY2lCRVJWTkRVa2xRVkU5U1V5QTlJSEpsY1hWcGNtVW9KeTR2WDJSbGMyTnlhWEIwYjNKekp5azdYRzUyWVhJZ1ZFOWZVMVJTU1U1SElEMGdKM1J2VTNSeWFXNW5KenRjYm5aaGNpQWtkRzlUZEhKcGJtY2dQU0F2TGk5YlZFOWZVMVJTU1U1SFhUdGNibHh1ZG1GeUlHUmxabWx1WlNBOUlHWjFibU4wYVc5dUlDaG1iaWtnZTF4dUlDQnlaWEYxYVhKbEtDY3VMMTl5WldSbFptbHVaU2NwS0ZKbFowVjRjQzV3Y205MGIzUjVjR1VzSUZSUFgxTlVVa2xPUnl3Z1ptNHNJSFJ5ZFdVcE8xeHVmVHRjYmx4dUx5OGdNakV1TWk0MUxqRTBJRkpsWjBWNGNDNXdjbTkwYjNSNWNHVXVkRzlUZEhKcGJtY29LVnh1YVdZZ0tISmxjWFZwY21Vb0p5NHZYMlpoYVd4ekp5a29ablZ1WTNScGIyNGdLQ2tnZXlCeVpYUjFjbTRnSkhSdlUzUnlhVzVuTG1OaGJHd29leUJ6YjNWeVkyVTZJQ2RoSnl3Z1pteGhaM002SUNkaUp5QjlLU0FoUFNBbkwyRXZZaWM3SUgwcEtTQjdYRzRnSUdSbFptbHVaU2htZFc1amRHbHZiaUIwYjFOMGNtbHVaeWdwSUh0Y2JpQWdJQ0IyWVhJZ1VpQTlJR0Z1VDJKcVpXTjBLSFJvYVhNcE8xeHVJQ0FnSUhKbGRIVnliaUFuTHljdVkyOXVZMkYwS0ZJdWMyOTFjbU5sTENBbkx5Y3NYRzRnSUNBZ0lDQW5abXhoWjNNbklHbHVJRklnUHlCU0xtWnNZV2R6SURvZ0lVUkZVME5TU1ZCVVQxSlRJQ1ltSUZJZ2FXNXpkR0Z1WTJWdlppQlNaV2RGZUhBZ1B5QWtabXhoWjNNdVkyRnNiQ2hTS1NBNklIVnVaR1ZtYVc1bFpDazdYRzRnSUgwcE8xeHVMeThnUmtZME5DMGdVbVZuUlhod0kzUnZVM1J5YVc1bklHaGhjeUJoSUhkeWIyNW5JRzVoYldWY2JuMGdaV3h6WlNCcFppQW9KSFJ2VTNSeWFXNW5MbTVoYldVZ0lUMGdWRTlmVTFSU1NVNUhLU0I3WEc0Z0lHUmxabWx1WlNobWRXNWpkR2x2YmlCMGIxTjBjbWx1WnlncElIdGNiaUFnSUNCeVpYUjFjbTRnSkhSdlUzUnlhVzVuTG1OaGJHd29kR2hwY3lrN1hHNGdJSDBwTzF4dWZWeHVJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzaUxDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYucmVnZXhwLnRvLXN0cmluZy5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuc3RyaW5nLml0ZXJhdG9yLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5zdHJpbmcuaXRlcmF0b3IuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18peyJ1c2Ugc3RyaWN0IjtldmFsKCJcbnZhciAkYXQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19zdHJpbmctYXQgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3N0cmluZy1hdC5qc1wiKSh0cnVlKTtcblxuLy8gMjEuMS4zLjI3IFN0cmluZy5wcm90b3R5cGVbQEBpdGVyYXRvcl0oKVxuX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9faXRlci1kZWZpbmUgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2l0ZXItZGVmaW5lLmpzXCIpKFN0cmluZywgJ1N0cmluZycsIGZ1bmN0aW9uIChpdGVyYXRlZCkge1xuICB0aGlzLl90ID0gU3RyaW5nKGl0ZXJhdGVkKTsgLy8gdGFyZ2V0XG4gIHRoaXMuX2kgPSAwOyAgICAgICAgICAgICAgICAvLyBuZXh0IGluZGV4XG4vLyAyMS4xLjUuMi4xICVTdHJpbmdJdGVyYXRvclByb3RvdHlwZSUubmV4dCgpXG59LCBmdW5jdGlvbiAoKSB7XG4gIHZhciBPID0gdGhpcy5fdDtcbiAgdmFyIGluZGV4ID0gdGhpcy5faTtcbiAgdmFyIHBvaW50O1xuICBpZiAoaW5kZXggPj0gTy5sZW5ndGgpIHJldHVybiB7IHZhbHVlOiB1bmRlZmluZWQsIGRvbmU6IHRydWUgfTtcbiAgcG9pbnQgPSAkYXQoTywgaW5kZXgpO1xuICB0aGlzLl9pICs9IHBvaW50Lmxlbmd0aDtcbiAgcmV0dXJuIHsgdmFsdWU6IHBvaW50LCBkb25lOiBmYWxzZSB9O1xufSk7XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tmk1emRISnBibWN1YVhSbGNtRjBiM0l1YW5NdWFuTWlMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk4dkxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMMlZ6Tmk1emRISnBibWN1YVhSbGNtRjBiM0l1YW5NL05XUm1NeUpkTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJbmRYTmxJSE4wY21samRDYzdYRzUyWVhJZ0pHRjBJRDBnY21WeGRXbHlaU2duTGk5ZmMzUnlhVzVuTFdGMEp5a29kSEoxWlNrN1hHNWNiaTh2SURJeExqRXVNeTR5TnlCVGRISnBibWN1Y0hKdmRHOTBlWEJsVzBCQWFYUmxjbUYwYjNKZEtDbGNibkpsY1hWcGNtVW9KeTR2WDJsMFpYSXRaR1ZtYVc1bEp5a29VM1J5YVc1bkxDQW5VM1J5YVc1bkp5d2dablZ1WTNScGIyNGdLR2wwWlhKaGRHVmtLU0I3WEc0Z0lIUm9hWE11WDNRZ1BTQlRkSEpwYm1jb2FYUmxjbUYwWldRcE95QXZMeUIwWVhKblpYUmNiaUFnZEdocGN5NWZhU0E5SURBN0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dklHNWxlSFFnYVc1a1pYaGNiaTh2SURJeExqRXVOUzR5TGpFZ0pWTjBjbWx1WjBsMFpYSmhkRzl5VUhKdmRHOTBlWEJsSlM1dVpYaDBLQ2xjYm4wc0lHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ2RtRnlJRThnUFNCMGFHbHpMbDkwTzF4dUlDQjJZWElnYVc1a1pYZ2dQU0IwYUdsekxsOXBPMXh1SUNCMllYSWdjRzlwYm5RN1hHNGdJR2xtSUNocGJtUmxlQ0ErUFNCUExteGxibWQwYUNrZ2NtVjBkWEp1SUhzZ2RtRnNkV1U2SUhWdVpHVm1hVzVsWkN3Z1pHOXVaVG9nZEhKMVpTQjlPMXh1SUNCd2IybHVkQ0E5SUNSaGRDaFBMQ0JwYm1SbGVDazdYRzRnSUhSb2FYTXVYMmtnS3owZ2NHOXBiblF1YkdWdVozUm9PMXh1SUNCeVpYUjFjbTRnZXlCMllXeDFaVG9nY0c5cGJuUXNJR1J2Ym1VNklHWmhiSE5sSUgwN1hHNTlLVHRjYmlKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzaUxDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuc3RyaW5nLml0ZXJhdG9yLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL3dlYi5kb20uaXRlcmFibGUuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvd2ViLmRvbS5pdGVyYWJsZS5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7ZXZhbCgidmFyICRpdGVyYXRvcnMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2VzNi5hcnJheS5pdGVyYXRvciAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuYXJyYXkuaXRlcmF0b3IuanNcIik7XG52YXIgZ2V0S2V5cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX29iamVjdC1rZXlzICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3Qta2V5cy5qc1wiKTtcbnZhciByZWRlZmluZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3JlZGVmaW5lICovIFwiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19yZWRlZmluZS5qc1wiKTtcbnZhciBnbG9iYWwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19nbG9iYWwgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2dsb2JhbC5qc1wiKTtcbnZhciBoaWRlID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9faGlkZSAqLyBcIi4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faGlkZS5qc1wiKTtcbnZhciBJdGVyYXRvcnMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19pdGVyYXRvcnMgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2l0ZXJhdG9ycy5qc1wiKTtcbnZhciB3a3MgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL193a3MgKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3drcy5qc1wiKTtcbnZhciBJVEVSQVRPUiA9IHdrcygnaXRlcmF0b3InKTtcbnZhciBUT19TVFJJTkdfVEFHID0gd2tzKCd0b1N0cmluZ1RhZycpO1xudmFyIEFycmF5VmFsdWVzID0gSXRlcmF0b3JzLkFycmF5O1xuXG52YXIgRE9NSXRlcmFibGVzID0ge1xuICBDU1NSdWxlTGlzdDogdHJ1ZSwgLy8gVE9ETzogTm90IHNwZWMgY29tcGxpYW50LCBzaG91bGQgYmUgZmFsc2UuXG4gIENTU1N0eWxlRGVjbGFyYXRpb246IGZhbHNlLFxuICBDU1NWYWx1ZUxpc3Q6IGZhbHNlLFxuICBDbGllbnRSZWN0TGlzdDogZmFsc2UsXG4gIERPTVJlY3RMaXN0OiBmYWxzZSxcbiAgRE9NU3RyaW5nTGlzdDogZmFsc2UsXG4gIERPTVRva2VuTGlzdDogdHJ1ZSxcbiAgRGF0YVRyYW5zZmVySXRlbUxpc3Q6IGZhbHNlLFxuICBGaWxlTGlzdDogZmFsc2UsXG4gIEhUTUxBbGxDb2xsZWN0aW9uOiBmYWxzZSxcbiAgSFRNTENvbGxlY3Rpb246IGZhbHNlLFxuICBIVE1MRm9ybUVsZW1lbnQ6IGZhbHNlLFxuICBIVE1MU2VsZWN0RWxlbWVudDogZmFsc2UsXG4gIE1lZGlhTGlzdDogdHJ1ZSwgLy8gVE9ETzogTm90IHNwZWMgY29tcGxpYW50LCBzaG91bGQgYmUgZmFsc2UuXG4gIE1pbWVUeXBlQXJyYXk6IGZhbHNlLFxuICBOYW1lZE5vZGVNYXA6IGZhbHNlLFxuICBOb2RlTGlzdDogdHJ1ZSxcbiAgUGFpbnRSZXF1ZXN0TGlzdDogZmFsc2UsXG4gIFBsdWdpbjogZmFsc2UsXG4gIFBsdWdpbkFycmF5OiBmYWxzZSxcbiAgU1ZHTGVuZ3RoTGlzdDogZmFsc2UsXG4gIFNWR051bWJlckxpc3Q6IGZhbHNlLFxuICBTVkdQYXRoU2VnTGlzdDogZmFsc2UsXG4gIFNWR1BvaW50TGlzdDogZmFsc2UsXG4gIFNWR1N0cmluZ0xpc3Q6IGZhbHNlLFxuICBTVkdUcmFuc2Zvcm1MaXN0OiBmYWxzZSxcbiAgU291cmNlQnVmZmVyTGlzdDogZmFsc2UsXG4gIFN0eWxlU2hlZXRMaXN0OiB0cnVlLCAvLyBUT0RPOiBOb3Qgc3BlYyBjb21wbGlhbnQsIHNob3VsZCBiZSBmYWxzZS5cbiAgVGV4dFRyYWNrQ3VlTGlzdDogZmFsc2UsXG4gIFRleHRUcmFja0xpc3Q6IGZhbHNlLFxuICBUb3VjaExpc3Q6IGZhbHNlXG59O1xuXG5mb3IgKHZhciBjb2xsZWN0aW9ucyA9IGdldEtleXMoRE9NSXRlcmFibGVzKSwgaSA9IDA7IGkgPCBjb2xsZWN0aW9ucy5sZW5ndGg7IGkrKykge1xuICB2YXIgTkFNRSA9IGNvbGxlY3Rpb25zW2ldO1xuICB2YXIgZXhwbGljaXQgPSBET01JdGVyYWJsZXNbTkFNRV07XG4gIHZhciBDb2xsZWN0aW9uID0gZ2xvYmFsW05BTUVdO1xuICB2YXIgcHJvdG8gPSBDb2xsZWN0aW9uICYmIENvbGxlY3Rpb24ucHJvdG90eXBlO1xuICB2YXIga2V5O1xuICBpZiAocHJvdG8pIHtcbiAgICBpZiAoIXByb3RvW0lURVJBVE9SXSkgaGlkZShwcm90bywgSVRFUkFUT1IsIEFycmF5VmFsdWVzKTtcbiAgICBpZiAoIXByb3RvW1RPX1NUUklOR19UQUddKSBoaWRlKHByb3RvLCBUT19TVFJJTkdfVEFHLCBOQU1FKTtcbiAgICBJdGVyYXRvcnNbTkFNRV0gPSBBcnJheVZhbHVlcztcbiAgICBpZiAoZXhwbGljaXQpIGZvciAoa2V5IGluICRpdGVyYXRvcnMpIGlmICghcHJvdG9ba2V5XSkgcmVkZWZpbmUocHJvdG8sIGtleSwgJGl0ZXJhdG9yc1trZXldLCB0cnVlKTtcbiAgfVxufVxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXlaUzFxY3k5dGIyUjFiR1Z6TDNkbFlpNWtiMjB1YVhSbGNtRmliR1V1YW5NdWFuTWlMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk4dkxpOXViMlJsWDIxdlpIVnNaWE12WTI5eVpTMXFjeTl0YjJSMWJHVnpMM2RsWWk1a2IyMHVhWFJsY21GaWJHVXVhbk0vWVdNMllTSmRMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUoyWVhJZ0pHbDBaWEpoZEc5eWN5QTlJSEpsY1hWcGNtVW9KeTR2WlhNMkxtRnljbUY1TG1sMFpYSmhkRzl5SnlrN1hHNTJZWElnWjJWMFMyVjVjeUE5SUhKbGNYVnBjbVVvSnk0dlgyOWlhbVZqZEMxclpYbHpKeWs3WEc1MllYSWdjbVZrWldacGJtVWdQU0J5WlhGMWFYSmxLQ2N1TDE5eVpXUmxabWx1WlNjcE8xeHVkbUZ5SUdkc2IySmhiQ0E5SUhKbGNYVnBjbVVvSnk0dlgyZHNiMkpoYkNjcE8xeHVkbUZ5SUdocFpHVWdQU0J5WlhGMWFYSmxLQ2N1TDE5b2FXUmxKeWs3WEc1MllYSWdTWFJsY21GMGIzSnpJRDBnY21WeGRXbHlaU2duTGk5ZmFYUmxjbUYwYjNKekp5azdYRzUyWVhJZ2QydHpJRDBnY21WeGRXbHlaU2duTGk5ZmQydHpKeWs3WEc1MllYSWdTVlJGVWtGVVQxSWdQU0IzYTNNb0oybDBaWEpoZEc5eUp5azdYRzUyWVhJZ1ZFOWZVMVJTU1U1SFgxUkJSeUE5SUhkcmN5Z25kRzlUZEhKcGJtZFVZV2NuS1R0Y2JuWmhjaUJCY25KaGVWWmhiSFZsY3lBOUlFbDBaWEpoZEc5eWN5NUJjbkpoZVR0Y2JseHVkbUZ5SUVSUFRVbDBaWEpoWW14bGN5QTlJSHRjYmlBZ1ExTlRVblZzWlV4cGMzUTZJSFJ5ZFdVc0lDOHZJRlJQUkU4NklFNXZkQ0J6Y0dWaklHTnZiWEJzYVdGdWRDd2djMmh2ZFd4a0lHSmxJR1poYkhObExseHVJQ0JEVTFOVGRIbHNaVVJsWTJ4aGNtRjBhVzl1T2lCbVlXeHpaU3hjYmlBZ1ExTlRWbUZzZFdWTWFYTjBPaUJtWVd4elpTeGNiaUFnUTJ4cFpXNTBVbVZqZEV4cGMzUTZJR1poYkhObExGeHVJQ0JFVDAxU1pXTjBUR2x6ZERvZ1ptRnNjMlVzWEc0Z0lFUlBUVk4wY21sdVoweHBjM1E2SUdaaGJITmxMRnh1SUNCRVQwMVViMnRsYmt4cGMzUTZJSFJ5ZFdVc1hHNGdJRVJoZEdGVWNtRnVjMlpsY2tsMFpXMU1hWE4wT2lCbVlXeHpaU3hjYmlBZ1JtbHNaVXhwYzNRNklHWmhiSE5sTEZ4dUlDQklWRTFNUVd4c1EyOXNiR1ZqZEdsdmJqb2dabUZzYzJVc1hHNGdJRWhVVFV4RGIyeHNaV04wYVc5dU9pQm1ZV3h6WlN4Y2JpQWdTRlJOVEVadmNtMUZiR1Z0Wlc1ME9pQm1ZV3h6WlN4Y2JpQWdTRlJOVEZObGJHVmpkRVZzWlcxbGJuUTZJR1poYkhObExGeHVJQ0JOWldScFlVeHBjM1E2SUhSeWRXVXNJQzh2SUZSUFJFODZJRTV2ZENCemNHVmpJR052YlhCc2FXRnVkQ3dnYzJodmRXeGtJR0psSUdaaGJITmxMbHh1SUNCTmFXMWxWSGx3WlVGeWNtRjVPaUJtWVd4elpTeGNiaUFnVG1GdFpXUk9iMlJsVFdGd09pQm1ZV3h6WlN4Y2JpQWdUbTlrWlV4cGMzUTZJSFJ5ZFdVc1hHNGdJRkJoYVc1MFVtVnhkV1Z6ZEV4cGMzUTZJR1poYkhObExGeHVJQ0JRYkhWbmFXNDZJR1poYkhObExGeHVJQ0JRYkhWbmFXNUJjbkpoZVRvZ1ptRnNjMlVzWEc0Z0lGTldSMHhsYm1kMGFFeHBjM1E2SUdaaGJITmxMRnh1SUNCVFZrZE9kVzFpWlhKTWFYTjBPaUJtWVd4elpTeGNiaUFnVTFaSFVHRjBhRk5sWjB4cGMzUTZJR1poYkhObExGeHVJQ0JUVmtkUWIybHVkRXhwYzNRNklHWmhiSE5sTEZ4dUlDQlRWa2RUZEhKcGJtZE1hWE4wT2lCbVlXeHpaU3hjYmlBZ1UxWkhWSEpoYm5ObWIzSnRUR2x6ZERvZ1ptRnNjMlVzWEc0Z0lGTnZkWEpqWlVKMVptWmxja3hwYzNRNklHWmhiSE5sTEZ4dUlDQlRkSGxzWlZOb1pXVjBUR2x6ZERvZ2RISjFaU3dnTHk4Z1ZFOUVUem9nVG05MElITndaV01nWTI5dGNHeHBZVzUwTENCemFHOTFiR1FnWW1VZ1ptRnNjMlV1WEc0Z0lGUmxlSFJVY21GamEwTjFaVXhwYzNRNklHWmhiSE5sTEZ4dUlDQlVaWGgwVkhKaFkydE1hWE4wT2lCbVlXeHpaU3hjYmlBZ1ZHOTFZMmhNYVhOME9pQm1ZV3h6WlZ4dWZUdGNibHh1Wm05eUlDaDJZWElnWTI5c2JHVmpkR2x2Ym5NZ1BTQm5aWFJMWlhsektFUlBUVWwwWlhKaFlteGxjeWtzSUdrZ1BTQXdPeUJwSUR3Z1kyOXNiR1ZqZEdsdmJuTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdkbUZ5SUU1QlRVVWdQU0JqYjJ4c1pXTjBhVzl1YzF0cFhUdGNiaUFnZG1GeUlHVjRjR3hwWTJsMElEMGdSRTlOU1hSbGNtRmliR1Z6VzA1QlRVVmRPMXh1SUNCMllYSWdRMjlzYkdWamRHbHZiaUE5SUdkc2IySmhiRnRPUVUxRlhUdGNiaUFnZG1GeUlIQnliM1J2SUQwZ1EyOXNiR1ZqZEdsdmJpQW1KaUJEYjJ4c1pXTjBhVzl1TG5CeWIzUnZkSGx3WlR0Y2JpQWdkbUZ5SUd0bGVUdGNiaUFnYVdZZ0tIQnliM1J2S1NCN1hHNGdJQ0FnYVdZZ0tDRndjbTkwYjF0SlZFVlNRVlJQVWwwcElHaHBaR1VvY0hKdmRHOHNJRWxVUlZKQlZFOVNMQ0JCY25KaGVWWmhiSFZsY3lrN1hHNGdJQ0FnYVdZZ0tDRndjbTkwYjF0VVQxOVRWRkpKVGtkZlZFRkhYU2tnYUdsa1pTaHdjbTkwYnl3Z1ZFOWZVMVJTU1U1SFgxUkJSeXdnVGtGTlJTazdYRzRnSUNBZ1NYUmxjbUYwYjNKelcwNUJUVVZkSUQwZ1FYSnlZWGxXWVd4MVpYTTdYRzRnSUNBZ2FXWWdLR1Y0Y0d4cFkybDBLU0JtYjNJZ0tHdGxlU0JwYmlBa2FYUmxjbUYwYjNKektTQnBaaUFvSVhCeWIzUnZXMnRsZVYwcElISmxaR1ZtYVc1bEtIQnliM1J2TENCclpYa3NJQ1JwZEdWeVlYUnZjbk5iYTJWNVhTd2dkSEoxWlNrN1hHNGdJSDFjYm4xY2JpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN0lpd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy93ZWIuZG9tLml0ZXJhYmxlLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL3NyYy9jb21wb25lbnRzL0NvaW5nZWNrb0NvaW5QcmljZU1hcnF1ZWVXaWRnZXQuY3NzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi9zcmMvY29tcG9uZW50cy9Db2luZ2Vja29Db2luUHJpY2VNYXJxdWVlV2lkZ2V0LmNzcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18pe2V2YWwoImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanMgKi8gXCIuL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanNcIikoZmFsc2UpO1xuLy8gSW1wb3J0c1xuZXhwb3J0cy5pKF9fd2VicGFja19yZXF1aXJlX18oLyohIC0hLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vY3NzL3V0aWxpdGllcy5jc3MgKi8gXCIuL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4vc3JjL2Nzcy91dGlsaXRpZXMuY3NzXCIpLCBcIlwiKTtcblxuLy8gTW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pLCBcIi5jZy1jb250YWluZXIge1xcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XFxuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7XFxuXFxuICBjb2xvcjogIzRjNGM0YztcXG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xcbiAgZm9udC1zaXplOiAxMnB4O1xcblxcbiAgbWluLXdpZHRoOiAzMDBweDtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcbi5jZy1jb250YWluZXJbZGF0YS1sb2FkaW5nXSAuY2ctd2lkZ2V0IHtcXG4gIGRpc3BsYXk6IG5vbmU7XFxufVxcblxcbi5jZy1jb2luLXJvdzpob3ZlciB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE0MSwgMTk4LCA3MSwgMC4yKTtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcbi5jZy1ldmVuLXJvdyB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmZmY4O1xcbn1cXG4uY2ctYXJyb3ctdXAge1xcbiAgd2lkdGg6IDA7XFxuICBoZWlnaHQ6IDA7XFxuICBib3JkZXItbGVmdDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgYm9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XFxuXFxuICBib3JkZXItYm90dG9tOiA2cHggc29saWQgIzRiODgwMDtcXG59XFxuXFxuLmNnLWFycm93LWRvd24ge1xcbiAgd2lkdGg6IDA7XFxuICBoZWlnaHQ6IDA7XFxuICBib3JkZXItbGVmdDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgYm9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XFxuXFxuICBib3JkZXItdG9wOiA2cHggc29saWQgI2ExMWIwYTtcXG59XFxuXFxuLmNnLWZvb3RlciB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTQxLCAxOTgsIDcxLCAwLjEpO1xcbn1cXG5cXG4uY2ctd2lkZ2V0IHNlbGVjdCB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcXG4gIGJvcmRlci1jb2xvcjogcmdiKDE0MSwgMTk4LCA3MSk7XFxufVxcbi5jZy13aWRnZXQgYSB7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxuICBjb2xvcjogIzRjNGM0YztcXG59XFxuLmNnLXdpZGdldCBhOmhvdmVyIHtcXG4gIGNvbG9yOiAjNGM0YzRjO1xcbn1cXG5cXG4uY2ctY29pbi1yb3cgaW1nIHtcXG4gIHdpZHRoOiAyMnB4O1xcbn1cXG5cXG4uY2ctbWFycXVlZSB7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG59XFxuXFxuLmNnLW1hcnF1ZWUtY29udGVudC0xIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIHBhZGRpbmctbGVmdDogMCU7IC8qIHNob3cgdGhlIG1hcnF1ZWUganVzdCBvdXRzaWRlIHRoZSBwYXJhZ3JhcGggKi9cXG4gIGFuaW1hdGlvbjogbWFycXVlZSAzMHMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4uY2ctbWFycXVlZS1jb250ZW50LWxvbmcge1xcbiAgYW5pbWF0aW9uOiBtYXJxdWVlIDEwMHMgbGluZWFyIGluZmluaXRlO1xcbn1cXG5cXG4uY2ctbWFycXVlZS1jb250ZW50LTIge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgcGFkZGluZy1sZWZ0OiAwJTsgLyogc2hvdyB0aGUgbWFycXVlZSBqdXN0IG91dHNpZGUgdGhlIHBhcmFncmFwaCAqL1xcbiAgYW5pbWF0aW9uOiBtYXJxdWVlMiAzMHMgbGluZWFyIGluZmluaXRlO1xcbn1cXG5cXG5Aa2V5ZnJhbWVzIG1hcnF1ZWUge1xcbiAgZnJvbSB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XFxuICB9XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XFxuICB9XFxufVxcblxcbkBrZXlmcmFtZXMgbWFycXVlZTIge1xcbiAgZnJvbSB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XFxuICB9XFxuICB0byB7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XFxuICB9XFxufVxcblwiLCBcIlwiXSk7XG5cbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZM056TFd4dllXUmxjaTlrYVhOMEwyTnFjeTVxY3lFdUwzTnlZeTlqYjIxd2IyNWxiblJ6TDBOdmFXNW5aV05yYjBOdmFXNVFjbWxqWlUxaGNuRjFaV1ZYYVdSblpYUXVZM056TG1weklpd2ljMjkxY21ObGN5STZXeUozWldKd1lXTnJPaTh2THk0dmMzSmpMMk52YlhCdmJtVnVkSE12UTI5cGJtZGxZMnR2UTI5cGJsQnlhV05sVFdGeWNYVmxaVmRwWkdkbGRDNWpjM00vTmpGa1lTSmRMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpsZUhCdmNuUnpJRDBnYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0J5WlhGMWFYSmxLRndpTGk0dkxpNHZibTlrWlY5dGIyUjFiR1Z6TDJOemN5MXNiMkZrWlhJdlpHbHpkQzl5ZFc1MGFXMWxMMkZ3YVM1cWMxd2lLU2htWVd4elpTazdYRzR2THlCSmJYQnZjblJ6WEc1bGVIQnZjblJ6TG1rb2NtVnhkV2x5WlNoY0lpMGhMaTR2TGk0dmJtOWtaVjl0YjJSMWJHVnpMMk56Y3kxc2IyRmtaWEl2WkdsemRDOWphbk11YW5NaExpNHZZM056TDNWMGFXeHBkR2xsY3k1amMzTmNJaWtzSUZ3aVhDSXBPMXh1WEc0dkx5Qk5iMlIxYkdWY2JtVjRjRzl5ZEhNdWNIVnphQ2hiYlc5a2RXeGxMbWxrTENCY0lpNWpaeTFqYjI1MFlXbHVaWElnZTF4Y2JpQWdabTl1ZEMxbVlXMXBiSGs2SUhOaGJuTXRjMlZ5YVdZN1hGeHVJQ0JpYjNKa1pYSTZJREZ3ZUNCemIyeHBaQ0J5WjJKaEtEQXNJREFzSURBc0lEQXVNaWs3WEZ4dVhGeHVJQ0JqYjJ4dmNqb2dJelJqTkdNMFl6dGNYRzRnSUd4cGJtVXRhR1ZwWjJoME9pQXhMakkxTzF4Y2JpQWdabTl1ZEMxemFYcGxPaUF4TW5CNE8xeGNibHhjYmlBZ2JXbHVMWGRwWkhSb09pQXpNREJ3ZUR0Y1hHNGdJR0p2ZUMxemFYcHBibWM2SUdKdmNtUmxjaTFpYjNnN1hGeHVmVnhjYmk1alp5MWpiMjUwWVdsdVpYSmJaR0YwWVMxc2IyRmthVzVuWFNBdVkyY3RkMmxrWjJWMElIdGNYRzRnSUdScGMzQnNZWGs2SUc1dmJtVTdYRnh1ZlZ4Y2JseGNiaTVqWnkxamIybHVMWEp2ZHpwb2IzWmxjaUI3WEZ4dUlDQmlZV05yWjNKdmRXNWtMV052Ykc5eU9pQnlaMkpoS0RFME1Td2dNVGs0TENBM01Td2dNQzR5S1R0Y1hHNGdJR04xY25OdmNqb2djRzlwYm5SbGNqdGNYRzRnSUdKdmVDMXphWHBwYm1jNklHSnZjbVJsY2kxaWIzZzdYRnh1ZlZ4Y2JpNWpaeTFsZG1WdUxYSnZkeUI3WEZ4dUlDQmlZV05yWjNKdmRXNWtMV052Ykc5eU9pQWpabU5tWm1ZNE8xeGNibjFjWEc0dVkyY3RZWEp5YjNjdGRYQWdlMXhjYmlBZ2QybGtkR2c2SURBN1hGeHVJQ0JvWldsbmFIUTZJREE3WEZ4dUlDQmliM0prWlhJdGJHVm1kRG9nTm5CNElITnZiR2xrSUhSeVlXNXpjR0Z5Wlc1ME8xeGNiaUFnWW05eVpHVnlMWEpwWjJoME9pQTJjSGdnYzI5c2FXUWdkSEpoYm5Od1lYSmxiblE3WEZ4dVhGeHVJQ0JpYjNKa1pYSXRZbTkwZEc5dE9pQTJjSGdnYzI5c2FXUWdJelJpT0Rnd01EdGNYRzU5WEZ4dVhGeHVMbU5uTFdGeWNtOTNMV1J2ZDI0Z2UxeGNiaUFnZDJsa2RHZzZJREE3WEZ4dUlDQm9aV2xuYUhRNklEQTdYRnh1SUNCaWIzSmtaWEl0YkdWbWREb2dObkI0SUhOdmJHbGtJSFJ5WVc1emNHRnlaVzUwTzF4Y2JpQWdZbTl5WkdWeUxYSnBaMmgwT2lBMmNIZ2djMjlzYVdRZ2RISmhibk53WVhKbGJuUTdYRnh1WEZ4dUlDQmliM0prWlhJdGRHOXdPaUEyY0hnZ2MyOXNhV1FnSTJFeE1XSXdZVHRjWEc1OVhGeHVYRnh1TG1ObkxXWnZiM1JsY2lCN1hGeHVJQ0JpWVdOclozSnZkVzVrTFdOdmJHOXlPaUJ5WjJJb01UUXhMQ0F4T1Rnc0lEY3hMQ0F3TGpFcE8xeGNibjFjWEc1Y1hHNHVZMmN0ZDJsa1oyVjBJSE5sYkdWamRDQjdYRnh1SUNCaVlXTnJaM0p2ZFc1a0xXTnZiRzl5T2lCM2FHbDBaVHRjWEc0Z0lHSnZjbVJsY2kxamIyeHZjam9nY21kaUtERTBNU3dnTVRrNExDQTNNU2s3WEZ4dWZWeGNiaTVqWnkxM2FXUm5aWFFnWVNCN1hGeHVJQ0IwWlhoMExXUmxZMjl5WVhScGIyNDZJRzV2Ym1VN1hGeHVJQ0JqYjJ4dmNqb2dJelJqTkdNMFl6dGNYRzU5WEZ4dUxtTm5MWGRwWkdkbGRDQmhPbWh2ZG1WeUlIdGNYRzRnSUdOdmJHOXlPaUFqTkdNMFl6UmpPMXhjYm4xY1hHNWNYRzR1WTJjdFkyOXBiaTF5YjNjZ2FXMW5JSHRjWEc0Z0lIZHBaSFJvT2lBeU1uQjRPMXhjYm4xY1hHNWNYRzR1WTJjdGJXRnljWFZsWlNCN1hGeHVJQ0IzYUdsMFpTMXpjR0ZqWlRvZ2JtOTNjbUZ3TzF4Y2JpQWdiM1psY21ac2IzYzZJR2hwWkdSbGJqdGNYRzU5WEZ4dVhGeHVMbU5uTFcxaGNuRjFaV1V0WTI5dWRHVnVkQzB4SUh0Y1hHNGdJR1JwYzNCc1lYazZJR2x1YkdsdVpTMWliRzlqYXp0Y1hHNGdJSEJoWkdScGJtY3RiR1ZtZERvZ01DVTdJQzhxSUhOb2IzY2dkR2hsSUcxaGNuRjFaV1VnYW5WemRDQnZkWFJ6YVdSbElIUm9aU0J3WVhKaFozSmhjR2dnS2k5Y1hHNGdJR0Z1YVcxaGRHbHZiam9nYldGeWNYVmxaU0F6TUhNZ2JHbHVaV0Z5SUdsdVptbHVhWFJsTzF4Y2JuMWNYRzR1WTJjdGJXRnljWFZsWlMxamIyNTBaVzUwTFd4dmJtY2dlMXhjYmlBZ1lXNXBiV0YwYVc5dU9pQnRZWEp4ZFdWbElERXdNSE1nYkdsdVpXRnlJR2x1Wm1sdWFYUmxPMXhjYm4xY1hHNWNYRzR1WTJjdGJXRnljWFZsWlMxamIyNTBaVzUwTFRJZ2UxeGNiaUFnWkdsemNHeGhlVG9nYVc1c2FXNWxMV0pzYjJOck8xeGNiaUFnY0dGa1pHbHVaeTFzWldaME9pQXdKVHNnTHlvZ2MyaHZkeUIwYUdVZ2JXRnljWFZsWlNCcWRYTjBJRzkxZEhOcFpHVWdkR2hsSUhCaGNtRm5jbUZ3YUNBcUwxeGNiaUFnWVc1cGJXRjBhVzl1T2lCdFlYSnhkV1ZsTWlBek1ITWdiR2x1WldGeUlHbHVabWx1YVhSbE8xeGNibjFjWEc1Y1hHNUFhMlY1Wm5KaGJXVnpJRzFoY25GMVpXVWdlMXhjYmlBZ1puSnZiU0I3WEZ4dUlDQWdJSFJ5WVc1elptOXliVG9nZEhKaGJuTnNZWFJsV0Nnd0pTazdYRnh1SUNCOVhGeHVJQ0IwYnlCN1hGeHVJQ0FnSUhSeVlXNXpabTl5YlRvZ2RISmhibk5zWVhSbFdDZ3RNVEF3SlNrN1hGeHVJQ0I5WEZ4dWZWeGNibHhjYmtCclpYbG1jbUZ0WlhNZ2JXRnljWFZsWlRJZ2UxeGNiaUFnWm5KdmJTQjdYRnh1SUNBZ0lIUnlZVzV6Wm05eWJUb2dkSEpoYm5Oc1lYUmxXQ2d3SlNrN1hGeHVJQ0I5WEZ4dUlDQjBieUI3WEZ4dUlDQWdJSFJ5WVc1elptOXliVG9nZEhKaGJuTnNZWFJsV0NndE1UQXdKU2s3WEZ4dUlDQjlYRnh1ZlZ4Y2Jsd2lMQ0JjSWx3aVhTazdYRzVjYmlKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdJaXdpYzI5MWNtTmxVbTl2ZENJNklpSjlcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4vc3JjL2NvbXBvbmVudHMvQ29pbmdlY2tvQ29pblByaWNlTWFycXVlZVdpZGdldC5jc3NcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4vc3JjL2Nzcy91dGlsaXRpZXMuY3NzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4vc3JjL2Nzcy91dGlsaXRpZXMuY3NzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18pe2V2YWwoImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanMgKi8gXCIuL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanNcIikoZmFsc2UpO1xuLy8gTW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pLCBcIi5jZy1kZWZhdWx0IHtcXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIHNlZ29lIHVpLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmLFxcbiAgICBhcHBsZSBjb2xvciBlbW9qaSwgc2Vnb2UgdWkgZW1vamksIHNlZ29lIHVpIHN5bWJvbDtcXG59XFxuLmNnLWJvbGQge1xcbiAgZm9udC13ZWlnaHQ6IDYwMDtcXG59XFxuLmNnLWNlbnRlciB7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxufVxcbi5jZy1wcmltYXJ5LWNvbG9yIHtcXG4gIGNvbG9yOiAjOGRjNjQ3ICFpbXBvcnRhbnQ7XFxufVxcbi5jZy1wcmltYXJ5LWNvbG9yLWRhcmsge1xcbiAgY29sb3I6ICM0Yjg4MDAgIWltcG9ydGFudDtcXG59XFxuLmNnLXJlZC1jb2xvci1kYXJrIHtcXG4gIGNvbG9yOiAjYzIyMjBkICFpbXBvcnRhbnQ7XFxufVxcbi5jZy1yZWQtY29sb3Ige1xcbiAgY29sb3I6ICNmZjYxNGQgIWltcG9ydGFudDtcXG59XFxuLmNnLTJ4cyB7XFxuICBmb250LXNpemU6IDguOHB4OyAvKiAwLjU1cmVtOyAqL1xcbn1cXG4uY2cteHMge1xcbiAgZm9udC1zaXplOiAxMC40cHg7IC8qIDAuNjVyZW0gKi9cXG59XFxuLmNnLXNtIHtcXG4gIGZvbnQtc2l6ZTogMTIuOHB4OyAvKiAwLjhyZW0gKi9cXG59XFxuLmNnLW5vcm1hbCB7XFxuICBmb250LXNpemU6IDEzLjZweDsgLyogMC44NXJlbSAqL1xcbn1cXG4uY2ctYmFzZSB7XFxuICBmb250LXNpemU6IDE2cHg7IC8qIDE2cHggKi9cXG59XFxuLmNnLW1lZGl1bSB7XFxuICBmb250LXNpemU6IDE5LjJweDsgLyogMS4ycmVtICovXFxufVxcbi5jZy1sZyB7XFxuICBmb250LXNpemU6IDI0cHg7IC8qIDEuNXJlbSAqL1xcbn1cXG4uY2cteGwge1xcbiAgZm9udC1zaXplOiAzMC40cHg7IC8qIDEuOXJlbSAqL1xcbn1cXG4uY2ctY2FwIHtcXG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xcbn1cXG4uY2ctbm8tdW5kZXJsaW5lIHtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuLmNnLW5vd3JhcCB7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbn1cXG5cXG4uY2ctbS0wIHtcXG4gIG1hcmdpbjogMDtcXG59XFxuLmNnLW0tMSB7XFxuICBtYXJnaW46IDRweDtcXG59XFxuLmNnLW0tMiB7XFxuICBtYXJnaW46IDhweDtcXG59XFxuLmNnLW10LTEge1xcbiAgbWFyZ2luLXRvcDogNHB4O1xcbn1cXG4uY2ctbWItMSB7XFxuICBtYXJnaW4tYm90dG9tOiA0cHg7XFxufVxcbi5jZy1tbC0xIHtcXG4gIG1hcmdpbi1sZWZ0OiA0cHg7XFxufVxcbi5jZy1tci0xIHtcXG4gIG1hcmdpbi1yaWdodDogNHB4O1xcbn1cXG4uY2ctbXQtMiB7XFxuICBtYXJnaW4tdG9wOiA4cHg7XFxufVxcbi5jZy1tbC0yIHtcXG4gIG1hcmdpbi1sZWZ0OiA4cHg7XFxufVxcbi5jZy1tci0yIHtcXG4gIG1hcmdpbi1yaWdodDogOHB4O1xcbn1cXG4uY2ctbWItMiB7XFxuICBtYXJnaW4tYm90dG9tOiA4cHg7XFxufVxcbi5jZy1teC0xIHtcXG4gIG1hcmdpbi1sZWZ0OiA0cHg7XFxuICBtYXJnaW4tcmlnaHQ6IDRweDtcXG59XFxuLmNnLW15LTEge1xcbiAgbWFyZ2luLXRvcDogNHB4O1xcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xcbn1cXG4uY2ctbXgtMiB7XFxuICBtYXJnaW4tbGVmdDogOHB4O1xcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XFxufVxcbi5jZy1teS0yIHtcXG4gIG1hcmdpbi10b3A6IDhweDtcXG4gIG1hcmdpbi1ib3R0b206IDhweDtcXG59XFxuLmNnLW15LTUge1xcbiAgbWFyZ2luLXRvcDogMjBweDtcXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XFxufVxcblxcbi5jZy1wLTEge1xcbiAgcGFkZGluZzogNHB4O1xcbn1cXG4uY2ctcC0yIHtcXG4gIHBhZGRpbmc6IDhweDtcXG59XFxuLmNnLXAtMyB7XFxuICBwYWRkaW5nOiAxMnB4O1xcbn1cXG4uY2ctcC00IHtcXG4gIHBhZGRpbmc6IDE2cHg7XFxufVxcbi5jZy1wdC0xIHtcXG4gIHBhZGRpbmctdG9wOiA0cHg7XFxufVxcbi5jZy1wYi0xIHtcXG4gIHBhZGRpbmctYm90dG9tOiA0cHg7XFxufVxcbi5jZy1wdC0yIHtcXG4gIHBhZGRpbmctdG9wOiA4cHg7XFxufVxcbi5jZy1wYi0yIHtcXG4gIHBhZGRpbmctYm90dG9tOiA4cHg7XFxufVxcbi5jZy1wdC0zIHtcXG4gIHBhZGRpbmctdG9wOiAxMnB4O1xcbn1cXG4uY2ctcGItMyB7XFxuICBwYWRkaW5nLWJvdHRvbTogMTJweDtcXG59XFxuLmNnLXB5LTEge1xcbiAgcGFkZGluZy10b3A6IDRweDtcXG4gIHBhZGRpbmctYm90dG9tOiA0cHg7XFxufVxcbi5jZy1weC0xIHtcXG4gIHBhZGRpbmctbGVmdDogNHB4O1xcbiAgcGFkZGluZy1yaWdodDogNHB4O1xcbn1cXG4uY2ctcHktMiB7XFxuICBwYWRkaW5nLXRvcDogOHB4O1xcbiAgcGFkZGluZy1ib3R0b206IDhweDtcXG59XFxuLmNnLXB4LTIge1xcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XFxuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XFxufVxcbi5jZy1weS0zIHtcXG4gIHBhZGRpbmctdG9wOiAxMnB4O1xcbiAgcGFkZGluZy1ib3R0b206IDEycHg7XFxufVxcbi5jZy1weC0zIHtcXG4gIHBhZGRpbmctbGVmdDogMTJweDtcXG4gIHBhZGRpbmctcmlnaHQ6IDEycHg7XFxufVxcbi5jZy1weC00IHtcXG4gIHBhZGRpbmctbGVmdDogMTZweDtcXG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7XFxufVxcbi5jZy1weS00IHtcXG4gIHBhZGRpbmctdG9wOiAxNnB4O1xcbiAgcGFkZGluZy1ib3R0b206IDE2cHg7XFxufVxcbi5jZy1weS01IHtcXG4gIHBhZGRpbmctdG9wOiAyMHB4O1xcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XFxufVxcbi5jZy1wci0xIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDRweDtcXG59XFxuLmNnLXByLTIge1xcbiAgcGFkZGluZy1yaWdodDogOHB4O1xcbn1cXG5cXG4uY2ctZmxleCB7XFxuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XFxufVxcbi5jZy1mbGV4LXJvdyB7XFxuICBmbGV4LWRpcmVjdGlvbjogcm93O1xcbn1cXG4uY2ctZmxleC1jb2x1bW4ge1xcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG59XFxuXFxuLmNnLWl0ZW1zLXN0cmV0Y2gge1xcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RyZXRjaDtcXG59XFxuLmNnLWl0ZW1zLXN0YXJ0IHtcXG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xcbn1cXG4uY2ctaXRlbXMtY2VudGVyIHtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxufVxcbi5jZy1pdGVtcy1lbmQge1xcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xcbn1cXG4uY2ctaXRlbXMtYmFzZWxpbmUge1xcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xcbn1cXG5cXG4uY2ctanVzdGlmeS1zdGFydCB7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XFxufVxcbi5jZy1qdXN0aWZ5LWNlbnRlciB7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG59XFxuLmNnLWp1c3RpZnktZW5kIHtcXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XFxufVxcbi5jZy1qdXN0aWZ5LWJldHdlZW4ge1xcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbn1cXG4uY2ctanVzdGlmeS1hcm91bmQge1xcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XFxufVxcblxcbi5jZy1zZWxmLWF1dG8ge1xcbiAgYWxpZ24tc2VsZjogYXV0bztcXG59XFxuLmNnLXNlbGYtc3RhcnQge1xcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcXG59XFxuLmNnLXNlbGYtY2VudGVyIHtcXG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcXG59XFxuLmNnLXNlbGYtZW5kIHtcXG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xcbn1cXG4uY2ctc2VsZi1zdHJldGNoIHtcXG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XFxufVxcblxcbi5jZy1yZWxhdGl2ZSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxufVxcbi5jZy1hYnNvbHV0ZSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxufVxcbi5jZy1ibG9jayB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuXCIsIFwiXCJdKTtcblxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkzTnpMV3h2WVdSbGNpOWthWE4wTDJOcWN5NXFjeUV1TDNOeVl5OWpjM012ZFhScGJHbDBhV1Z6TG1OemN5NXFjeUlzSW5OdmRYSmpaWE1pT2xzaWQyVmljR0ZqYXpvdkx5OHVMM055WXk5amMzTXZkWFJwYkdsMGFXVnpMbU56Y3o4M05XWmpJbDBzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1WNGNHOXlkSE1nUFNCdGIyUjFiR1V1Wlhod2IzSjBjeUE5SUhKbGNYVnBjbVVvWENJdUxpOHVMaTl1YjJSbFgyMXZaSFZzWlhNdlkzTnpMV3h2WVdSbGNpOWthWE4wTDNKMWJuUnBiV1V2WVhCcExtcHpYQ0lwS0daaGJITmxLVHRjYmk4dklFMXZaSFZzWlZ4dVpYaHdiM0owY3k1d2RYTm9LRnR0YjJSMWJHVXVhV1FzSUZ3aUxtTm5MV1JsWm1GMWJIUWdlMXhjYmlBZ1ptOXVkQzFtWVcxcGJIazZJQzFoY0hCc1pTMXplWE4wWlcwc0lFSnNhVzVyVFdGalUzbHpkR1Z0Um05dWRDd2djMlZuYjJVZ2RXa3NJRWhsYkhabGRHbGpZU3dnUVhKcFlXd3NJSE5oYm5NdGMyVnlhV1lzWEZ4dUlDQWdJR0Z3Y0d4bElHTnZiRzl5SUdWdGIycHBMQ0J6WldkdlpTQjFhU0JsYlc5cWFTd2djMlZuYjJVZ2RXa2djM2x0WW05c08xeGNibjFjWEc0dVkyY3RZbTlzWkNCN1hGeHVJQ0JtYjI1MExYZGxhV2RvZERvZ05qQXdPMXhjYm4xY1hHNHVZMmN0WTJWdWRHVnlJSHRjWEc0Z0lIUmxlSFF0WVd4cFoyNDZJR05sYm5SbGNqdGNYRzU5WEZ4dUxtTm5MWEJ5YVcxaGNua3RZMjlzYjNJZ2UxeGNiaUFnWTI5c2IzSTZJQ000WkdNMk5EY2dJV2x0Y0c5eWRHRnVkRHRjWEc1OVhGeHVMbU5uTFhCeWFXMWhjbmt0WTI5c2IzSXRaR0Z5YXlCN1hGeHVJQ0JqYjJ4dmNqb2dJelJpT0Rnd01DQWhhVzF3YjNKMFlXNTBPMXhjYm4xY1hHNHVZMmN0Y21Wa0xXTnZiRzl5TFdSaGNtc2dlMXhjYmlBZ1kyOXNiM0k2SUNOak1qSXlNR1FnSVdsdGNHOXlkR0Z1ZER0Y1hHNTlYRnh1TG1ObkxYSmxaQzFqYjJ4dmNpQjdYRnh1SUNCamIyeHZjam9nSTJabU5qRTBaQ0FoYVcxd2IzSjBZVzUwTzF4Y2JuMWNYRzR1WTJjdE1uaHpJSHRjWEc0Z0lHWnZiblF0YzJsNlpUb2dPQzQ0Y0hnN0lDOHFJREF1TlRWeVpXMDdJQ292WEZ4dWZWeGNiaTVqWnkxNGN5QjdYRnh1SUNCbWIyNTBMWE5wZW1VNklERXdMalJ3ZURzZ0x5b2dNQzQyTlhKbGJTQXFMMXhjYm4xY1hHNHVZMmN0YzIwZ2UxeGNiaUFnWm05dWRDMXphWHBsT2lBeE1pNDRjSGc3SUM4cUlEQXVPSEpsYlNBcUwxeGNibjFjWEc0dVkyY3RibTl5YldGc0lIdGNYRzRnSUdadmJuUXRjMmw2WlRvZ01UTXVObkI0T3lBdktpQXdMamcxY21WdElDb3ZYRnh1ZlZ4Y2JpNWpaeTFpWVhObElIdGNYRzRnSUdadmJuUXRjMmw2WlRvZ01UWndlRHNnTHlvZ01UWndlQ0FxTDF4Y2JuMWNYRzR1WTJjdGJXVmthWFZ0SUh0Y1hHNGdJR1p2Ym5RdGMybDZaVG9nTVRrdU1uQjRPeUF2S2lBeExqSnlaVzBnS2k5Y1hHNTlYRnh1TG1ObkxXeG5JSHRjWEc0Z0lHWnZiblF0YzJsNlpUb2dNalJ3ZURzZ0x5b2dNUzQxY21WdElDb3ZYRnh1ZlZ4Y2JpNWpaeTE0YkNCN1hGeHVJQ0JtYjI1MExYTnBlbVU2SURNd0xqUndlRHNnTHlvZ01TNDVjbVZ0SUNvdlhGeHVmVnhjYmk1alp5MWpZWEFnZTF4Y2JpQWdkR1Y0ZEMxMGNtRnVjMlp2Y20wNklHTmhjR2wwWVd4cGVtVTdYRnh1ZlZ4Y2JpNWpaeTF1YnkxMWJtUmxjbXhwYm1VZ2UxeGNiaUFnZEdWNGRDMWtaV052Y21GMGFXOXVPaUJ1YjI1bE8xeGNibjFjWEc0dVkyY3RibTkzY21Gd0lIdGNYRzRnSUhkb2FYUmxMWE53WVdObE9pQnViM2R5WVhBN1hGeHVmVnhjYmx4Y2JpNWpaeTF0TFRBZ2UxeGNiaUFnYldGeVoybHVPaUF3TzF4Y2JuMWNYRzR1WTJjdGJTMHhJSHRjWEc0Z0lHMWhjbWRwYmpvZ05IQjRPMXhjYm4xY1hHNHVZMmN0YlMweUlIdGNYRzRnSUcxaGNtZHBiam9nT0hCNE8xeGNibjFjWEc0dVkyY3RiWFF0TVNCN1hGeHVJQ0J0WVhKbmFXNHRkRzl3T2lBMGNIZzdYRnh1ZlZ4Y2JpNWpaeTF0WWkweElIdGNYRzRnSUcxaGNtZHBiaTFpYjNSMGIyMDZJRFJ3ZUR0Y1hHNTlYRnh1TG1ObkxXMXNMVEVnZTF4Y2JpQWdiV0Z5WjJsdUxXeGxablE2SURSd2VEdGNYRzU5WEZ4dUxtTm5MVzF5TFRFZ2UxeGNiaUFnYldGeVoybHVMWEpwWjJoME9pQTBjSGc3WEZ4dWZWeGNiaTVqWnkxdGRDMHlJSHRjWEc0Z0lHMWhjbWRwYmkxMGIzQTZJRGh3ZUR0Y1hHNTlYRnh1TG1ObkxXMXNMVElnZTF4Y2JpQWdiV0Z5WjJsdUxXeGxablE2SURod2VEdGNYRzU5WEZ4dUxtTm5MVzF5TFRJZ2UxeGNiaUFnYldGeVoybHVMWEpwWjJoME9pQTRjSGc3WEZ4dWZWeGNiaTVqWnkxdFlpMHlJSHRjWEc0Z0lHMWhjbWRwYmkxaWIzUjBiMjA2SURod2VEdGNYRzU5WEZ4dUxtTm5MVzE0TFRFZ2UxeGNiaUFnYldGeVoybHVMV3hsWm5RNklEUndlRHRjWEc0Z0lHMWhjbWRwYmkxeWFXZG9kRG9nTkhCNE8xeGNibjFjWEc0dVkyY3RiWGt0TVNCN1hGeHVJQ0J0WVhKbmFXNHRkRzl3T2lBMGNIZzdYRnh1SUNCdFlYSm5hVzR0WW05MGRHOXRPaUEwY0hnN1hGeHVmVnhjYmk1alp5MXRlQzB5SUh0Y1hHNGdJRzFoY21kcGJpMXNaV1owT2lBNGNIZzdYRnh1SUNCdFlYSm5hVzR0Y21sbmFIUTZJRGh3ZUR0Y1hHNTlYRnh1TG1ObkxXMTVMVElnZTF4Y2JpQWdiV0Z5WjJsdUxYUnZjRG9nT0hCNE8xeGNiaUFnYldGeVoybHVMV0p2ZEhSdmJUb2dPSEI0TzF4Y2JuMWNYRzR1WTJjdGJYa3ROU0I3WEZ4dUlDQnRZWEpuYVc0dGRHOXdPaUF5TUhCNE8xeGNiaUFnYldGeVoybHVMV0p2ZEhSdmJUb2dNakJ3ZUR0Y1hHNTlYRnh1WEZ4dUxtTm5MWEF0TVNCN1hGeHVJQ0J3WVdSa2FXNW5PaUEwY0hnN1hGeHVmVnhjYmk1alp5MXdMVElnZTF4Y2JpQWdjR0ZrWkdsdVp6b2dPSEI0TzF4Y2JuMWNYRzR1WTJjdGNDMHpJSHRjWEc0Z0lIQmhaR1JwYm1jNklERXljSGc3WEZ4dWZWeGNiaTVqWnkxd0xUUWdlMXhjYmlBZ2NHRmtaR2x1WnpvZ01UWndlRHRjWEc1OVhGeHVMbU5uTFhCMExURWdlMXhjYmlBZ2NHRmtaR2x1WnkxMGIzQTZJRFJ3ZUR0Y1hHNTlYRnh1TG1ObkxYQmlMVEVnZTF4Y2JpQWdjR0ZrWkdsdVp5MWliM1IwYjIwNklEUndlRHRjWEc1OVhGeHVMbU5uTFhCMExUSWdlMXhjYmlBZ2NHRmtaR2x1WnkxMGIzQTZJRGh3ZUR0Y1hHNTlYRnh1TG1ObkxYQmlMVElnZTF4Y2JpQWdjR0ZrWkdsdVp5MWliM1IwYjIwNklEaHdlRHRjWEc1OVhGeHVMbU5uTFhCMExUTWdlMXhjYmlBZ2NHRmtaR2x1WnkxMGIzQTZJREV5Y0hnN1hGeHVmVnhjYmk1alp5MXdZaTB6SUh0Y1hHNGdJSEJoWkdScGJtY3RZbTkwZEc5dE9pQXhNbkI0TzF4Y2JuMWNYRzR1WTJjdGNIa3RNU0I3WEZ4dUlDQndZV1JrYVc1bkxYUnZjRG9nTkhCNE8xeGNiaUFnY0dGa1pHbHVaeTFpYjNSMGIyMDZJRFJ3ZUR0Y1hHNTlYRnh1TG1ObkxYQjRMVEVnZTF4Y2JpQWdjR0ZrWkdsdVp5MXNaV1owT2lBMGNIZzdYRnh1SUNCd1lXUmthVzVuTFhKcFoyaDBPaUEwY0hnN1hGeHVmVnhjYmk1alp5MXdlUzB5SUh0Y1hHNGdJSEJoWkdScGJtY3RkRzl3T2lBNGNIZzdYRnh1SUNCd1lXUmthVzVuTFdKdmRIUnZiVG9nT0hCNE8xeGNibjFjWEc0dVkyY3RjSGd0TWlCN1hGeHVJQ0J3WVdSa2FXNW5MV3hsWm5RNklEaHdlRHRjWEc0Z0lIQmhaR1JwYm1jdGNtbG5hSFE2SURod2VEdGNYRzU5WEZ4dUxtTm5MWEI1TFRNZ2UxeGNiaUFnY0dGa1pHbHVaeTEwYjNBNklERXljSGc3WEZ4dUlDQndZV1JrYVc1bkxXSnZkSFJ2YlRvZ01USndlRHRjWEc1OVhGeHVMbU5uTFhCNExUTWdlMXhjYmlBZ2NHRmtaR2x1Wnkxc1pXWjBPaUF4TW5CNE8xeGNiaUFnY0dGa1pHbHVaeTF5YVdkb2REb2dNVEp3ZUR0Y1hHNTlYRnh1TG1ObkxYQjRMVFFnZTF4Y2JpQWdjR0ZrWkdsdVp5MXNaV1owT2lBeE5uQjRPMXhjYmlBZ2NHRmtaR2x1WnkxeWFXZG9kRG9nTVRad2VEdGNYRzU5WEZ4dUxtTm5MWEI1TFRRZ2UxeGNiaUFnY0dGa1pHbHVaeTEwYjNBNklERTJjSGc3WEZ4dUlDQndZV1JrYVc1bkxXSnZkSFJ2YlRvZ01UWndlRHRjWEc1OVhGeHVMbU5uTFhCNUxUVWdlMXhjYmlBZ2NHRmtaR2x1WnkxMGIzQTZJREl3Y0hnN1hGeHVJQ0J3WVdSa2FXNW5MV0p2ZEhSdmJUb2dNakJ3ZUR0Y1hHNTlYRnh1TG1ObkxYQnlMVEVnZTF4Y2JpQWdjR0ZrWkdsdVp5MXlhV2RvZERvZ05IQjRPMXhjYm4xY1hHNHVZMmN0Y0hJdE1pQjdYRnh1SUNCd1lXUmthVzVuTFhKcFoyaDBPaUE0Y0hnN1hGeHVmVnhjYmx4Y2JpNWpaeTFtYkdWNElIdGNYRzRnSUdScGMzQnNZWGs2SUdac1pYZ2dJV2x0Y0c5eWRHRnVkRHRjWEc1OVhGeHVMbU5uTFdac1pYZ3RjbTkzSUh0Y1hHNGdJR1pzWlhndFpHbHlaV04wYVc5dU9pQnliM2M3WEZ4dWZWeGNiaTVqWnkxbWJHVjRMV052YkhWdGJpQjdYRnh1SUNCbWJHVjRMV1JwY21WamRHbHZiam9nWTI5c2RXMXVPMXhjYm4xY1hHNWNYRzR1WTJjdGFYUmxiWE10YzNSeVpYUmphQ0I3WEZ4dUlDQmhiR2xuYmkxcGRHVnRjem9nWm14bGVDMXpkSEpsZEdOb08xeGNibjFjWEc0dVkyY3RhWFJsYlhNdGMzUmhjblFnZTF4Y2JpQWdZV3hwWjI0dGFYUmxiWE02SUdac1pYZ3RjM1JoY25RN1hGeHVmVnhjYmk1alp5MXBkR1Z0Y3kxalpXNTBaWElnZTF4Y2JpQWdZV3hwWjI0dGFYUmxiWE02SUdObGJuUmxjanRjWEc1OVhGeHVMbU5uTFdsMFpXMXpMV1Z1WkNCN1hGeHVJQ0JoYkdsbmJpMXBkR1Z0Y3pvZ1pteGxlQzFsYm1RN1hGeHVmVnhjYmk1alp5MXBkR1Z0Y3kxaVlYTmxiR2x1WlNCN1hGeHVJQ0JoYkdsbmJpMXBkR1Z0Y3pvZ1ltRnpaV3hwYm1VN1hGeHVmVnhjYmx4Y2JpNWpaeTFxZFhOMGFXWjVMWE4wWVhKMElIdGNYRzRnSUdwMWMzUnBabmt0WTI5dWRHVnVkRG9nWm14bGVDMXpkR0Z5ZER0Y1hHNTlYRnh1TG1ObkxXcDFjM1JwWm5rdFkyVnVkR1Z5SUh0Y1hHNGdJR3AxYzNScFpua3RZMjl1ZEdWdWREb2dZMlZ1ZEdWeU8xeGNibjFjWEc0dVkyY3RhblZ6ZEdsbWVTMWxibVFnZTF4Y2JpQWdhblZ6ZEdsbWVTMWpiMjUwWlc1ME9pQm1iR1Y0TFdWdVpEdGNYRzU5WEZ4dUxtTm5MV3AxYzNScFpua3RZbVYwZDJWbGJpQjdYRnh1SUNCcWRYTjBhV1o1TFdOdmJuUmxiblE2SUhOd1lXTmxMV0psZEhkbFpXNDdYRnh1ZlZ4Y2JpNWpaeTFxZFhOMGFXWjVMV0Z5YjNWdVpDQjdYRnh1SUNCcWRYTjBhV1o1TFdOdmJuUmxiblE2SUhOd1lXTmxMV0Z5YjNWdVpEdGNYRzU5WEZ4dVhGeHVMbU5uTFhObGJHWXRZWFYwYnlCN1hGeHVJQ0JoYkdsbmJpMXpaV3htT2lCaGRYUnZPMXhjYm4xY1hHNHVZMmN0YzJWc1ppMXpkR0Z5ZENCN1hGeHVJQ0JoYkdsbmJpMXpaV3htT2lCbWJHVjRMWE4wWVhKME8xeGNibjFjWEc0dVkyY3RjMlZzWmkxalpXNTBaWElnZTF4Y2JpQWdZV3hwWjI0dGMyVnNaam9nWTJWdWRHVnlPMXhjYm4xY1hHNHVZMmN0YzJWc1ppMWxibVFnZTF4Y2JpQWdZV3hwWjI0dGMyVnNaam9nWm14bGVDMWxibVE3WEZ4dWZWeGNiaTVqWnkxelpXeG1MWE4wY21WMFkyZ2dlMXhjYmlBZ1lXeHBaMjR0YzJWc1pqb2djM1J5WlhSamFEdGNYRzU5WEZ4dVhGeHVMbU5uTFhKbGJHRjBhWFpsSUh0Y1hHNGdJSEJ2YzJsMGFXOXVPaUJ5Wld4aGRHbDJaVHRjWEc1OVhGeHVMbU5uTFdGaWMyOXNkWFJsSUh0Y1hHNGdJSEJ2YzJsMGFXOXVPaUJoWW5OdmJIVjBaVHRjWEc1OVhGeHVMbU5uTFdKc2IyTnJJSHRjWEc0Z0lHUnBjM0JzWVhrNklHSnNiMk5yTzF4Y2JuMWNYRzVjSWl3Z1hDSmNJbDBwTzF4dVhHNGlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRRVHRCUVVOQk95SXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4vc3JjL2Nzcy91dGlsaXRpZXMuY3NzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18peyJ1c2Ugc3RyaWN0IjtldmFsKCJcblxuLypcbiAgTUlUIExpY2Vuc2UgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHBcbiAgQXV0aG9yIFRvYmlhcyBLb3BwZXJzIEBzb2tyYVxuKi9cbi8vIGNzcyBiYXNlIGNvZGUsIGluamVjdGVkIGJ5IHRoZSBjc3MtbG9hZGVyXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uICh1c2VTb3VyY2VNYXApIHtcbiAgdmFyIGxpc3QgPSBbXTsgLy8gcmV0dXJuIHRoZSBsaXN0IG9mIG1vZHVsZXMgYXMgY3NzIHN0cmluZ1xuXG4gIGxpc3QudG9TdHJpbmcgPSBmdW5jdGlvbiB0b1N0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgIHZhciBjb250ZW50ID0gY3NzV2l0aE1hcHBpbmdUb1N0cmluZyhpdGVtLCB1c2VTb3VyY2VNYXApO1xuXG4gICAgICBpZiAoaXRlbVsyXSkge1xuICAgICAgICByZXR1cm4gJ0BtZWRpYSAnICsgaXRlbVsyXSArICd7JyArIGNvbnRlbnQgKyAnfSc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gY29udGVudDtcbiAgICAgIH1cbiAgICB9KS5qb2luKCcnKTtcbiAgfTsgLy8gaW1wb3J0IGEgbGlzdCBvZiBtb2R1bGVzIGludG8gdGhlIGxpc3RcblxuXG4gIGxpc3QuaSA9IGZ1bmN0aW9uIChtb2R1bGVzLCBtZWRpYVF1ZXJ5KSB7XG4gICAgaWYgKHR5cGVvZiBtb2R1bGVzID09PSAnc3RyaW5nJykge1xuICAgICAgbW9kdWxlcyA9IFtbbnVsbCwgbW9kdWxlcywgJyddXTtcbiAgICB9XG5cbiAgICB2YXIgYWxyZWFkeUltcG9ydGVkTW9kdWxlcyA9IHt9O1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgaWQgPSB0aGlzW2ldWzBdO1xuXG4gICAgICBpZiAoaWQgIT0gbnVsbCkge1xuICAgICAgICBhbHJlYWR5SW1wb3J0ZWRNb2R1bGVzW2lkXSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9yIChpID0gMDsgaSA8IG1vZHVsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBpdGVtID0gbW9kdWxlc1tpXTsgLy8gc2tpcCBhbHJlYWR5IGltcG9ydGVkIG1vZHVsZVxuICAgICAgLy8gdGhpcyBpbXBsZW1lbnRhdGlvbiBpcyBub3QgMTAwJSBwZXJmZWN0IGZvciB3ZWlyZCBtZWRpYSBxdWVyeSBjb21iaW5hdGlvbnNcbiAgICAgIC8vIHdoZW4gYSBtb2R1bGUgaXMgaW1wb3J0ZWQgbXVsdGlwbGUgdGltZXMgd2l0aCBkaWZmZXJlbnQgbWVkaWEgcXVlcmllcy5cbiAgICAgIC8vIEkgaG9wZSB0aGlzIHdpbGwgbmV2ZXIgb2NjdXIgKEhleSB0aGlzIHdheSB3ZSBoYXZlIHNtYWxsZXIgYnVuZGxlcylcblxuICAgICAgaWYgKGl0ZW1bMF0gPT0gbnVsbCB8fCAhYWxyZWFkeUltcG9ydGVkTW9kdWxlc1tpdGVtWzBdXSkge1xuICAgICAgICBpZiAobWVkaWFRdWVyeSAmJiAhaXRlbVsyXSkge1xuICAgICAgICAgIGl0ZW1bMl0gPSBtZWRpYVF1ZXJ5O1xuICAgICAgICB9IGVsc2UgaWYgKG1lZGlhUXVlcnkpIHtcbiAgICAgICAgICBpdGVtWzJdID0gJygnICsgaXRlbVsyXSArICcpIGFuZCAoJyArIG1lZGlhUXVlcnkgKyAnKSc7XG4gICAgICAgIH1cblxuICAgICAgICBsaXN0LnB1c2goaXRlbSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiBsaXN0O1xufTtcblxuZnVuY3Rpb24gY3NzV2l0aE1hcHBpbmdUb1N0cmluZyhpdGVtLCB1c2VTb3VyY2VNYXApIHtcbiAgdmFyIGNvbnRlbnQgPSBpdGVtWzFdIHx8ICcnO1xuICB2YXIgY3NzTWFwcGluZyA9IGl0ZW1bM107XG5cbiAgaWYgKCFjc3NNYXBwaW5nKSB7XG4gICAgcmV0dXJuIGNvbnRlbnQ7XG4gIH1cblxuICBpZiAodXNlU291cmNlTWFwICYmIHR5cGVvZiBidG9hID09PSAnZnVuY3Rpb24nKSB7XG4gICAgdmFyIHNvdXJjZU1hcHBpbmcgPSB0b0NvbW1lbnQoY3NzTWFwcGluZyk7XG4gICAgdmFyIHNvdXJjZVVSTHMgPSBjc3NNYXBwaW5nLnNvdXJjZXMubWFwKGZ1bmN0aW9uIChzb3VyY2UpIHtcbiAgICAgIHJldHVybiAnLyojIHNvdXJjZVVSTD0nICsgY3NzTWFwcGluZy5zb3VyY2VSb290ICsgc291cmNlICsgJyAqLyc7XG4gICAgfSk7XG4gICAgcmV0dXJuIFtjb250ZW50XS5jb25jYXQoc291cmNlVVJMcykuY29uY2F0KFtzb3VyY2VNYXBwaW5nXSkuam9pbignXFxuJyk7XG4gIH1cblxuICByZXR1cm4gW2NvbnRlbnRdLmpvaW4oJ1xcbicpO1xufSAvLyBBZGFwdGVkIGZyb20gY29udmVydC1zb3VyY2UtbWFwIChNSVQpXG5cblxuZnVuY3Rpb24gdG9Db21tZW50KHNvdXJjZU1hcCkge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZWZcbiAgdmFyIGJhc2U2NCA9IGJ0b2EodW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHNvdXJjZU1hcCkpKSk7XG4gIHZhciBkYXRhID0gJ3NvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LCcgKyBiYXNlNjQ7XG4gIHJldHVybiAnLyojICcgKyBkYXRhICsgJyAqLyc7XG59Ly8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkzTnpMV3h2WVdSbGNpOWthWE4wTDNKMWJuUnBiV1V2WVhCcExtcHpMbXB6SWl3aWMyOTFjbU5sY3lJNld5SjNaV0p3WVdOck9pOHZMeTR2Ym05a1pWOXRiMlIxYkdWekwyTnpjeTFzYjJGa1pYSXZaR2x6ZEM5eWRXNTBhVzFsTDJGd2FTNXFjejh5TkdaaUlsMHNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbHdpZFhObElITjBjbWxqZEZ3aU8xeHVYRzR2S2x4dUlDQk5TVlFnVEdsalpXNXpaU0JvZEhSd09pOHZkM2QzTG05d1pXNXpiM1Z5WTJVdWIzSm5MMnhwWTJWdWMyVnpMMjFwZEMxc2FXTmxibk5sTG5Cb2NGeHVJQ0JCZFhSb2IzSWdWRzlpYVdGeklFdHZjSEJsY25NZ1FITnZhM0poWEc0cUwxeHVMeThnWTNOeklHSmhjMlVnWTI5a1pTd2dhVzVxWldOMFpXUWdZbmtnZEdobElHTnpjeTFzYjJGa1pYSmNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdablZ1WTNScGIyNGdLSFZ6WlZOdmRYSmpaVTFoY0NrZ2UxeHVJQ0IyWVhJZ2JHbHpkQ0E5SUZ0ZE95QXZMeUJ5WlhSMWNtNGdkR2hsSUd4cGMzUWdiMllnYlc5a2RXeGxjeUJoY3lCamMzTWdjM1J5YVc1blhHNWNiaUFnYkdsemRDNTBiMU4wY21sdVp5QTlJR1oxYm1OMGFXOXVJSFJ2VTNSeWFXNW5LQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG0xaGNDaG1kVzVqZEdsdmJpQW9hWFJsYlNrZ2UxeHVJQ0FnSUNBZ2RtRnlJR052Ym5SbGJuUWdQU0JqYzNOWGFYUm9UV0Z3Y0dsdVoxUnZVM1J5YVc1bktHbDBaVzBzSUhWelpWTnZkWEpqWlUxaGNDazdYRzVjYmlBZ0lDQWdJR2xtSUNocGRHVnRXekpkS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlBblFHMWxaR2xoSUNjZ0t5QnBkR1Z0V3pKZElDc2dKM3NuSUNzZ1kyOXVkR1Z1ZENBcklDZDlKenRjYmlBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmpiMjUwWlc1ME8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwcExtcHZhVzRvSnljcE8xeHVJQ0I5T3lBdkx5QnBiWEJ2Y25RZ1lTQnNhWE4wSUc5bUlHMXZaSFZzWlhNZ2FXNTBieUIwYUdVZ2JHbHpkRnh1WEc1Y2JpQWdiR2x6ZEM1cElEMGdablZ1WTNScGIyNGdLRzF2WkhWc1pYTXNJRzFsWkdsaFVYVmxjbmtwSUh0Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUcxdlpIVnNaWE1nUFQwOUlDZHpkSEpwYm1jbktTQjdYRzRnSUNBZ0lDQnRiMlIxYkdWeklEMGdXMXR1ZFd4c0xDQnRiMlIxYkdWekxDQW5KMTFkTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCaGJISmxZV1I1U1cxd2IzSjBaV1JOYjJSMWJHVnpJRDBnZTMwN1hHNWNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElIUm9hWE11YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUJwWkNBOUlIUm9hWE5iYVYxYk1GMDdYRzVjYmlBZ0lDQWdJR2xtSUNocFpDQWhQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJR0ZzY21WaFpIbEpiWEJ2Y25SbFpFMXZaSFZzWlhOYmFXUmRJRDBnZEhKMVpUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCbWIzSWdLR2tnUFNBd095QnBJRHdnYlc5a2RXeGxjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJR2wwWlcwZ1BTQnRiMlIxYkdWelcybGRPeUF2THlCemEybHdJR0ZzY21WaFpIa2dhVzF3YjNKMFpXUWdiVzlrZFd4bFhHNGdJQ0FnSUNBdkx5QjBhR2x6SUdsdGNHeGxiV1Z1ZEdGMGFXOXVJR2x6SUc1dmRDQXhNREFsSUhCbGNtWmxZM1FnWm05eUlIZGxhWEprSUcxbFpHbGhJSEYxWlhKNUlHTnZiV0pwYm1GMGFXOXVjMXh1SUNBZ0lDQWdMeThnZDJobGJpQmhJRzF2WkhWc1pTQnBjeUJwYlhCdmNuUmxaQ0J0ZFd4MGFYQnNaU0IwYVcxbGN5QjNhWFJvSUdScFptWmxjbVZ1ZENCdFpXUnBZU0J4ZFdWeWFXVnpMbHh1SUNBZ0lDQWdMeThnU1NCb2IzQmxJSFJvYVhNZ2QybHNiQ0J1WlhabGNpQnZZMk4xY2lBb1NHVjVJSFJvYVhNZ2QyRjVJSGRsSUdoaGRtVWdjMjFoYkd4bGNpQmlkVzVrYkdWektWeHVYRzRnSUNBZ0lDQnBaaUFvYVhSbGJWc3dYU0E5UFNCdWRXeHNJSHg4SUNGaGJISmxZV1I1U1cxd2IzSjBaV1JOYjJSMWJHVnpXMmwwWlcxYk1GMWRLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaHRaV1JwWVZGMVpYSjVJQ1ltSUNGcGRHVnRXekpkS1NCN1hHNGdJQ0FnSUNBZ0lDQWdhWFJsYlZzeVhTQTlJRzFsWkdsaFVYVmxjbms3WEc0Z0lDQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb2JXVmthV0ZSZFdWeWVTa2dlMXh1SUNBZ0lDQWdJQ0FnSUdsMFpXMWJNbDBnUFNBbktDY2dLeUJwZEdWdFd6SmRJQ3NnSnlrZ1lXNWtJQ2duSUNzZ2JXVmthV0ZSZFdWeWVTQXJJQ2NwSnp0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJR3hwYzNRdWNIVnphQ2hwZEdWdEtUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJSDA3WEc1Y2JpQWdjbVYwZFhKdUlHeHBjM1E3WEc1OU8xeHVYRzVtZFc1amRHbHZiaUJqYzNOWGFYUm9UV0Z3Y0dsdVoxUnZVM1J5YVc1bktHbDBaVzBzSUhWelpWTnZkWEpqWlUxaGNDa2dlMXh1SUNCMllYSWdZMjl1ZEdWdWRDQTlJR2wwWlcxYk1WMGdmSHdnSnljN1hHNGdJSFpoY2lCamMzTk5ZWEJ3YVc1bklEMGdhWFJsYlZzelhUdGNibHh1SUNCcFppQW9JV056YzAxaGNIQnBibWNwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdZMjl1ZEdWdWREdGNiaUFnZlZ4dVhHNGdJR2xtSUNoMWMyVlRiM1Z5WTJWTllYQWdKaVlnZEhsd1pXOW1JR0owYjJFZ1BUMDlJQ2RtZFc1amRHbHZiaWNwSUh0Y2JpQWdJQ0IyWVhJZ2MyOTFjbU5sVFdGd2NHbHVaeUE5SUhSdlEyOXRiV1Z1ZENoamMzTk5ZWEJ3YVc1bktUdGNiaUFnSUNCMllYSWdjMjkxY21ObFZWSk1jeUE5SUdOemMwMWhjSEJwYm1jdWMyOTFjbU5sY3k1dFlYQW9ablZ1WTNScGIyNGdLSE52ZFhKalpTa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlDY3ZLaU1nYzI5MWNtTmxWVkpNUFNjZ0t5QmpjM05OWVhCd2FXNW5Mbk52ZFhKalpWSnZiM1FnS3lCemIzVnlZMlVnS3lBbklDb3ZKenRjYmlBZ0lDQjlLVHRjYmlBZ0lDQnlaWFIxY200Z1cyTnZiblJsYm5SZExtTnZibU5oZENoemIzVnlZMlZWVWt4ektTNWpiMjVqWVhRb1czTnZkWEpqWlUxaGNIQnBibWRkS1M1cWIybHVLQ2RjWEc0bktUdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQmJZMjl1ZEdWdWRGMHVhbTlwYmlnblhGeHVKeWs3WEc1OUlDOHZJRUZrWVhCMFpXUWdabkp2YlNCamIyNTJaWEowTFhOdmRYSmpaUzF0WVhBZ0tFMUpWQ2xjYmx4dVhHNW1kVzVqZEdsdmJpQjBiME52YlcxbGJuUW9jMjkxY21ObFRXRndLU0I3WEc0Z0lDOHZJR1Z6YkdsdWRDMWthWE5oWW14bExXNWxlSFF0YkdsdVpTQnVieTExYm1SbFpseHVJQ0IyWVhJZ1ltRnpaVFkwSUQwZ1luUnZZU2gxYm1WelkyRndaU2hsYm1OdlpHVlZVa2xEYjIxd2IyNWxiblFvU2xOUFRpNXpkSEpwYm1kcFpua29jMjkxY21ObFRXRndLU2twS1R0Y2JpQWdkbUZ5SUdSaGRHRWdQU0FuYzI5MWNtTmxUV0Z3Y0dsdVoxVlNURDFrWVhSaE9tRndjR3hwWTJGMGFXOXVMMnB6YjI0N1kyaGhjbk5sZEQxMWRHWXRPRHRpWVhObE5qUXNKeUFySUdKaGMyVTJORHRjYmlBZ2NtVjBkWEp1SUNjdktpTWdKeUFySUdSaGRHRWdLeUFuSUNvdkp6dGNibjBpWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJJaXdpYzI5MWNtTmxVbTl2ZENJNklpSjlcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9kZWZpbmUtcHJvcGVydGllcy9pbmRleC5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2RlZmluZS1wcm9wZXJ0aWVzL2luZGV4LmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXsidXNlIHN0cmljdCI7ZXZhbCgiXG5cbnZhciBrZXlzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgb2JqZWN0LWtleXMgKi8gXCIuL25vZGVfbW9kdWxlcy9vYmplY3Qta2V5cy9pbmRleC5qc1wiKTtcbnZhciBoYXNTeW1ib2xzID0gdHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgU3ltYm9sKCdmb28nKSA9PT0gJ3N5bWJvbCc7XG5cbnZhciB0b1N0ciA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7XG52YXIgY29uY2F0ID0gQXJyYXkucHJvdG90eXBlLmNvbmNhdDtcbnZhciBvcmlnRGVmaW5lUHJvcGVydHkgPSBPYmplY3QuZGVmaW5lUHJvcGVydHk7XG5cbnZhciBpc0Z1bmN0aW9uID0gZnVuY3Rpb24gKGZuKSB7XG5cdHJldHVybiB0eXBlb2YgZm4gPT09ICdmdW5jdGlvbicgJiYgdG9TdHIuY2FsbChmbikgPT09ICdbb2JqZWN0IEZ1bmN0aW9uXSc7XG59O1xuXG52YXIgYXJlUHJvcGVydHlEZXNjcmlwdG9yc1N1cHBvcnRlZCA9IGZ1bmN0aW9uICgpIHtcblx0dmFyIG9iaiA9IHt9O1xuXHR0cnkge1xuXHRcdG9yaWdEZWZpbmVQcm9wZXJ0eShvYmosICd4JywgeyBlbnVtZXJhYmxlOiBmYWxzZSwgdmFsdWU6IG9iaiB9KTtcblx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnMsIG5vLXJlc3RyaWN0ZWQtc3ludGF4XG5cdFx0Zm9yICh2YXIgXyBpbiBvYmopIHsgLy8ganNjczppZ25vcmUgZGlzYWxsb3dVbnVzZWRWYXJpYWJsZXNcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cdFx0cmV0dXJuIG9iai54ID09PSBvYmo7XG5cdH0gY2F0Y2ggKGUpIHsgLyogdGhpcyBpcyBJRSA4LiAqL1xuXHRcdHJldHVybiBmYWxzZTtcblx0fVxufTtcbnZhciBzdXBwb3J0c0Rlc2NyaXB0b3JzID0gb3JpZ0RlZmluZVByb3BlcnR5ICYmIGFyZVByb3BlcnR5RGVzY3JpcHRvcnNTdXBwb3J0ZWQoKTtcblxudmFyIGRlZmluZVByb3BlcnR5ID0gZnVuY3Rpb24gKG9iamVjdCwgbmFtZSwgdmFsdWUsIHByZWRpY2F0ZSkge1xuXHRpZiAobmFtZSBpbiBvYmplY3QgJiYgKCFpc0Z1bmN0aW9uKHByZWRpY2F0ZSkgfHwgIXByZWRpY2F0ZSgpKSkge1xuXHRcdHJldHVybjtcblx0fVxuXHRpZiAoc3VwcG9ydHNEZXNjcmlwdG9ycykge1xuXHRcdG9yaWdEZWZpbmVQcm9wZXJ0eShvYmplY3QsIG5hbWUsIHtcblx0XHRcdGNvbmZpZ3VyYWJsZTogdHJ1ZSxcblx0XHRcdGVudW1lcmFibGU6IGZhbHNlLFxuXHRcdFx0dmFsdWU6IHZhbHVlLFxuXHRcdFx0d3JpdGFibGU6IHRydWVcblx0XHR9KTtcblx0fSBlbHNlIHtcblx0XHRvYmplY3RbbmFtZV0gPSB2YWx1ZTtcblx0fVxufTtcblxudmFyIGRlZmluZVByb3BlcnRpZXMgPSBmdW5jdGlvbiAob2JqZWN0LCBtYXApIHtcblx0dmFyIHByZWRpY2F0ZXMgPSBhcmd1bWVudHMubGVuZ3RoID4gMiA/IGFyZ3VtZW50c1syXSA6IHt9O1xuXHR2YXIgcHJvcHMgPSBrZXlzKG1hcCk7XG5cdGlmIChoYXNTeW1ib2xzKSB7XG5cdFx0cHJvcHMgPSBjb25jYXQuY2FsbChwcm9wcywgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhtYXApKTtcblx0fVxuXHRmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSArPSAxKSB7XG5cdFx0ZGVmaW5lUHJvcGVydHkob2JqZWN0LCBwcm9wc1tpXSwgbWFwW3Byb3BzW2ldXSwgcHJlZGljYXRlc1twcm9wc1tpXV0pO1xuXHR9XG59O1xuXG5kZWZpbmVQcm9wZXJ0aWVzLnN1cHBvcnRzRGVzY3JpcHRvcnMgPSAhIXN1cHBvcnRzRGVzY3JpcHRvcnM7XG5cbm1vZHVsZS5leHBvcnRzID0gZGVmaW5lUHJvcGVydGllcztcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZaR1ZtYVc1bExYQnliM0JsY25ScFpYTXZhVzVrWlhndWFuTXVhbk1pTENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OHZMaTl1YjJSbFgyMXZaSFZzWlhNdlpHVm1hVzVsTFhCeWIzQmxjblJwWlhNdmFXNWtaWGd1YW5NL1pqTTJOeUpkTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJbmRYTmxJSE4wY21samRDYzdYRzVjYm5aaGNpQnJaWGx6SUQwZ2NtVnhkV2x5WlNnbmIySnFaV04wTFd0bGVYTW5LVHRjYm5aaGNpQm9ZWE5UZVcxaWIyeHpJRDBnZEhsd1pXOW1JRk41YldKdmJDQTlQVDBnSjJaMWJtTjBhVzl1SnlBbUppQjBlWEJsYjJZZ1UzbHRZbTlzS0NkbWIyOG5LU0E5UFQwZ0ozTjViV0p2YkNjN1hHNWNiblpoY2lCMGIxTjBjaUE5SUU5aWFtVmpkQzV3Y205MGIzUjVjR1V1ZEc5VGRISnBibWM3WEc1MllYSWdZMjl1WTJGMElEMGdRWEp5WVhrdWNISnZkRzkwZVhCbExtTnZibU5oZER0Y2JuWmhjaUJ2Y21sblJHVm1hVzVsVUhKdmNHVnlkSGtnUFNCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIazdYRzVjYm5aaGNpQnBjMFoxYm1OMGFXOXVJRDBnWm5WdVkzUnBiMjRnS0dadUtTQjdYRzVjZEhKbGRIVnliaUIwZVhCbGIyWWdabTRnUFQwOUlDZG1kVzVqZEdsdmJpY2dKaVlnZEc5VGRISXVZMkZzYkNobWJpa2dQVDA5SUNkYmIySnFaV04wSUVaMWJtTjBhVzl1WFNjN1hHNTlPMXh1WEc1MllYSWdZWEpsVUhKdmNHVnlkSGxFWlhOamNtbHdkRzl5YzFOMWNIQnZjblJsWkNBOUlHWjFibU4wYVc5dUlDZ3BJSHRjYmx4MGRtRnlJRzlpYWlBOUlIdDlPMXh1WEhSMGNua2dlMXh1WEhSY2RHOXlhV2RFWldacGJtVlFjbTl3WlhKMGVTaHZZbW9zSUNkNEp5d2dleUJsYm5WdFpYSmhZbXhsT2lCbVlXeHpaU3dnZG1Gc2RXVTZJRzlpYWlCOUtUdGNibHgwWEhRdkx5QmxjMnhwYm5RdFpHbHpZV0pzWlMxdVpYaDBMV3hwYm1VZ2JtOHRkVzUxYzJWa0xYWmhjbk1zSUc1dkxYSmxjM1J5YVdOMFpXUXRjM2x1ZEdGNFhHNWNkRngwWm05eUlDaDJZWElnWHlCcGJpQnZZbW9wSUhzZ0x5OGdhbk5qY3pwcFoyNXZjbVVnWkdsellXeHNiM2RWYm5WelpXUldZWEpwWVdKc1pYTmNibHgwWEhSY2RISmxkSFZ5YmlCbVlXeHpaVHRjYmx4MFhIUjlYRzVjZEZ4MGNtVjBkWEp1SUc5aWFpNTRJRDA5UFNCdlltbzdYRzVjZEgwZ1kyRjBZMmdnS0dVcElIc2dMeW9nZEdocGN5QnBjeUJKUlNBNExpQXFMMXh1WEhSY2RISmxkSFZ5YmlCbVlXeHpaVHRjYmx4MGZWeHVmVHRjYm5aaGNpQnpkWEJ3YjNKMGMwUmxjMk55YVhCMGIzSnpJRDBnYjNKcFowUmxabWx1WlZCeWIzQmxjblI1SUNZbUlHRnlaVkJ5YjNCbGNuUjVSR1Z6WTNKcGNIUnZjbk5UZFhCd2IzSjBaV1FvS1R0Y2JseHVkbUZ5SUdSbFptbHVaVkJ5YjNCbGNuUjVJRDBnWm5WdVkzUnBiMjRnS0c5aWFtVmpkQ3dnYm1GdFpTd2dkbUZzZFdVc0lIQnlaV1JwWTJGMFpTa2dlMXh1WEhScFppQW9ibUZ0WlNCcGJpQnZZbXBsWTNRZ0ppWWdLQ0ZwYzBaMWJtTjBhVzl1S0hCeVpXUnBZMkYwWlNrZ2ZId2dJWEJ5WldScFkyRjBaU2dwS1NrZ2UxeHVYSFJjZEhKbGRIVnlianRjYmx4MGZWeHVYSFJwWmlBb2MzVndjRzl5ZEhORVpYTmpjbWx3ZEc5eWN5a2dlMXh1WEhSY2RHOXlhV2RFWldacGJtVlFjbTl3WlhKMGVTaHZZbXBsWTNRc0lHNWhiV1VzSUh0Y2JseDBYSFJjZEdOdmJtWnBaM1Z5WVdKc1pUb2dkSEoxWlN4Y2JseDBYSFJjZEdWdWRXMWxjbUZpYkdVNklHWmhiSE5sTEZ4dVhIUmNkRngwZG1Gc2RXVTZJSFpoYkhWbExGeHVYSFJjZEZ4MGQzSnBkR0ZpYkdVNklIUnlkV1ZjYmx4MFhIUjlLVHRjYmx4MGZTQmxiSE5sSUh0Y2JseDBYSFJ2WW1wbFkzUmJibUZ0WlYwZ1BTQjJZV3gxWlR0Y2JseDBmVnh1ZlR0Y2JseHVkbUZ5SUdSbFptbHVaVkJ5YjNCbGNuUnBaWE1nUFNCbWRXNWpkR2x2YmlBb2IySnFaV04wTENCdFlYQXBJSHRjYmx4MGRtRnlJSEJ5WldScFkyRjBaWE1nUFNCaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvSUQ0Z01pQS9JR0Z5WjNWdFpXNTBjMXN5WFNBNklIdDlPMXh1WEhSMllYSWdjSEp2Y0hNZ1BTQnJaWGx6S0cxaGNDazdYRzVjZEdsbUlDaG9ZWE5UZVcxaWIyeHpLU0I3WEc1Y2RGeDBjSEp2Y0hNZ1BTQmpiMjVqWVhRdVkyRnNiQ2h3Y205d2N5d2dUMkpxWldOMExtZGxkRTkzYmxCeWIzQmxjblI1VTNsdFltOXNjeWh0WVhBcEtUdGNibHgwZlZ4dVhIUm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJSEJ5YjNCekxteGxibWQwYURzZ2FTQXJQU0F4S1NCN1hHNWNkRngwWkdWbWFXNWxVSEp2Y0dWeWRIa29iMkpxWldOMExDQndjbTl3YzF0cFhTd2diV0Z3VzNCeWIzQnpXMmxkWFN3Z2NISmxaR2xqWVhSbGMxdHdjbTl3YzF0cFhWMHBPMXh1WEhSOVhHNTlPMXh1WEc1a1pXWnBibVZRY205d1pYSjBhV1Z6TG5OMWNIQnZjblJ6UkdWelkzSnBjSFJ2Y25NZ1BTQWhJWE4xY0hCdmNuUnpSR1Z6WTNKcGNIUnZjbk03WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1pHVm1hVzVsVUhKdmNHVnlkR2xsY3p0Y2JpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN0lpd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2RlZmluZS1wcm9wZXJ0aWVzL2luZGV4LmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvZm9yLWVhY2gvaW5kZXguanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9mb3ItZWFjaC9pbmRleC5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7InVzZSBzdHJpY3QiO2V2YWwoIlxuXG52YXIgaXNDYWxsYWJsZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGlzLWNhbGxhYmxlICovIFwiLi9ub2RlX21vZHVsZXMvaXMtY2FsbGFibGUvaW5kZXguanNcIik7XG5cbnZhciB0b1N0ciA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7XG52YXIgaGFzT3duUHJvcGVydHkgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xuXG52YXIgZm9yRWFjaEFycmF5ID0gZnVuY3Rpb24gZm9yRWFjaEFycmF5KGFycmF5LCBpdGVyYXRvciwgcmVjZWl2ZXIpIHtcbiAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gYXJyYXkubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoYXJyYXksIGkpKSB7XG4gICAgICAgICAgICBpZiAocmVjZWl2ZXIgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGl0ZXJhdG9yKGFycmF5W2ldLCBpLCBhcnJheSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGl0ZXJhdG9yLmNhbGwocmVjZWl2ZXIsIGFycmF5W2ldLCBpLCBhcnJheSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG52YXIgZm9yRWFjaFN0cmluZyA9IGZ1bmN0aW9uIGZvckVhY2hTdHJpbmcoc3RyaW5nLCBpdGVyYXRvciwgcmVjZWl2ZXIpIHtcbiAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gc3RyaW5nLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgIC8vIG5vIHN1Y2ggdGhpbmcgYXMgYSBzcGFyc2Ugc3RyaW5nLlxuICAgICAgICBpZiAocmVjZWl2ZXIgPT0gbnVsbCkge1xuICAgICAgICAgICAgaXRlcmF0b3Ioc3RyaW5nLmNoYXJBdChpKSwgaSwgc3RyaW5nKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGl0ZXJhdG9yLmNhbGwocmVjZWl2ZXIsIHN0cmluZy5jaGFyQXQoaSksIGksIHN0cmluZyk7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG52YXIgZm9yRWFjaE9iamVjdCA9IGZ1bmN0aW9uIGZvckVhY2hPYmplY3Qob2JqZWN0LCBpdGVyYXRvciwgcmVjZWl2ZXIpIHtcbiAgICBmb3IgKHZhciBrIGluIG9iamVjdCkge1xuICAgICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIGspKSB7XG4gICAgICAgICAgICBpZiAocmVjZWl2ZXIgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGl0ZXJhdG9yKG9iamVjdFtrXSwgaywgb2JqZWN0KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaXRlcmF0b3IuY2FsbChyZWNlaXZlciwgb2JqZWN0W2tdLCBrLCBvYmplY3QpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufTtcblxudmFyIGZvckVhY2ggPSBmdW5jdGlvbiBmb3JFYWNoKGxpc3QsIGl0ZXJhdG9yLCB0aGlzQXJnKSB7XG4gICAgaWYgKCFpc0NhbGxhYmxlKGl0ZXJhdG9yKSkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdpdGVyYXRvciBtdXN0IGJlIGEgZnVuY3Rpb24nKTtcbiAgICB9XG5cbiAgICB2YXIgcmVjZWl2ZXI7XG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPj0gMykge1xuICAgICAgICByZWNlaXZlciA9IHRoaXNBcmc7XG4gICAgfVxuXG4gICAgaWYgKHRvU3RyLmNhbGwobGlzdCkgPT09ICdbb2JqZWN0IEFycmF5XScpIHtcbiAgICAgICAgZm9yRWFjaEFycmF5KGxpc3QsIGl0ZXJhdG9yLCByZWNlaXZlcik7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgbGlzdCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgZm9yRWFjaFN0cmluZyhsaXN0LCBpdGVyYXRvciwgcmVjZWl2ZXIpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGZvckVhY2hPYmplY3QobGlzdCwgaXRlcmF0b3IsIHJlY2VpdmVyKTtcbiAgICB9XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZvckVhY2g7XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12Wm05eUxXVmhZMmd2YVc1a1pYZ3Vhbk11YW5NaUxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTh2TGk5dWIyUmxYMjF2WkhWc1pYTXZabTl5TFdWaFkyZ3ZhVzVrWlhndWFuTS9aREF5TkNKZExDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SW5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JuWmhjaUJwYzBOaGJHeGhZbXhsSUQwZ2NtVnhkV2x5WlNnbmFYTXRZMkZzYkdGaWJHVW5LVHRjYmx4dWRtRnlJSFJ2VTNSeUlEMGdUMkpxWldOMExuQnliM1J2ZEhsd1pTNTBiMU4wY21sdVp6dGNiblpoY2lCb1lYTlBkMjVRY205d1pYSjBlU0E5SUU5aWFtVmpkQzV3Y205MGIzUjVjR1V1YUdGelQzZHVVSEp2Y0dWeWRIazdYRzVjYm5aaGNpQm1iM0pGWVdOb1FYSnlZWGtnUFNCbWRXNWpkR2x2YmlCbWIzSkZZV05vUVhKeVlYa29ZWEp5WVhrc0lHbDBaWEpoZEc5eUxDQnlaV05sYVhabGNpa2dlMXh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3TENCc1pXNGdQU0JoY25KaGVTNXNaVzVuZEdnN0lHa2dQQ0JzWlc0N0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCcFppQW9hR0Z6VDNkdVVISnZjR1Z5ZEhrdVkyRnNiQ2hoY25KaGVTd2dhU2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoeVpXTmxhWFpsY2lBOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FYUmxjbUYwYjNJb1lYSnlZWGxiYVYwc0lHa3NJR0Z5Y21GNUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVhSbGNtRjBiM0l1WTJGc2JDaHlaV05sYVhabGNpd2dZWEp5WVhsYmFWMHNJR2tzSUdGeWNtRjVLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lIMWNibjA3WEc1Y2JuWmhjaUJtYjNKRllXTm9VM1J5YVc1bklEMGdablZ1WTNScGIyNGdabTl5UldGamFGTjBjbWx1WnloemRISnBibWNzSUdsMFpYSmhkRzl5TENCeVpXTmxhWFpsY2lrZ2UxeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdMQ0JzWlc0Z1BTQnpkSEpwYm1jdWJHVnVaM1JvT3lCcElEd2diR1Z1T3lCcEt5c3BJSHRjYmlBZ0lDQWdJQ0FnTHk4Z2JtOGdjM1ZqYUNCMGFHbHVaeUJoY3lCaElITndZWEp6WlNCemRISnBibWN1WEc0Z0lDQWdJQ0FnSUdsbUlDaHlaV05sYVhabGNpQTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCcGRHVnlZWFJ2Y2loemRISnBibWN1WTJoaGNrRjBLR2twTENCcExDQnpkSEpwYm1jcE8xeHVJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVhSbGNtRjBiM0l1WTJGc2JDaHlaV05sYVhabGNpd2djM1J5YVc1bkxtTm9ZWEpCZENocEtTd2dhU3dnYzNSeWFXNW5LVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJSDFjYm4wN1hHNWNiblpoY2lCbWIzSkZZV05vVDJKcVpXTjBJRDBnWm5WdVkzUnBiMjRnWm05eVJXRmphRTlpYW1WamRDaHZZbXBsWTNRc0lHbDBaWEpoZEc5eUxDQnlaV05sYVhabGNpa2dlMXh1SUNBZ0lHWnZjaUFvZG1GeUlHc2dhVzRnYjJKcVpXTjBLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaG9ZWE5QZDI1UWNtOXdaWEowZVM1allXeHNLRzlpYW1WamRDd2dheWtwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoeVpXTmxhWFpsY2lBOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FYUmxjbUYwYjNJb2IySnFaV04wVzJ0ZExDQnJMQ0J2WW1wbFkzUXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcGRHVnlZWFJ2Y2k1allXeHNLSEpsWTJWcGRtVnlMQ0J2WW1wbFkzUmJhMTBzSUdzc0lHOWlhbVZqZENrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1OU8xeHVYRzUyWVhJZ1ptOXlSV0ZqYUNBOUlHWjFibU4wYVc5dUlHWnZja1ZoWTJnb2JHbHpkQ3dnYVhSbGNtRjBiM0lzSUhSb2FYTkJjbWNwSUh0Y2JpQWdJQ0JwWmlBb0lXbHpRMkZzYkdGaWJHVW9hWFJsY21GMGIzSXBLU0I3WEc0Z0lDQWdJQ0FnSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb0oybDBaWEpoZEc5eUlHMTFjM1FnWW1VZ1lTQm1kVzVqZEdsdmJpY3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJ5WldObGFYWmxjanRjYmlBZ0lDQnBaaUFvWVhKbmRXMWxiblJ6TG14bGJtZDBhQ0ErUFNBektTQjdYRzRnSUNBZ0lDQWdJSEpsWTJWcGRtVnlJRDBnZEdocGMwRnlaenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvZEc5VGRISXVZMkZzYkNoc2FYTjBLU0E5UFQwZ0oxdHZZbXBsWTNRZ1FYSnlZWGxkSnlrZ2UxeHVJQ0FnSUNBZ0lDQm1iM0pGWVdOb1FYSnlZWGtvYkdsemRDd2dhWFJsY21GMGIzSXNJSEpsWTJWcGRtVnlLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLSFI1Y0dWdlppQnNhWE4wSUQwOVBTQW5jM1J5YVc1bkp5a2dlMXh1SUNBZ0lDQWdJQ0JtYjNKRllXTm9VM1J5YVc1bktHeHBjM1FzSUdsMFpYSmhkRzl5TENCeVpXTmxhWFpsY2lrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnWm05eVJXRmphRTlpYW1WamRDaHNhWE4wTENCcGRHVnlZWFJ2Y2l3Z2NtVmpaV2wyWlhJcE8xeHVJQ0FnSUgxY2JuMDdYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnWm05eVJXRmphRHRjYmlKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzaUxDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2Zvci1lYWNoL2luZGV4LmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvZnVuY3Rpb24tYmluZC9pbXBsZW1lbnRhdGlvbi5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvZnVuY3Rpb24tYmluZC9pbXBsZW1lbnRhdGlvbi5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXsidXNlIHN0cmljdCI7ZXZhbCgiXG5cbi8qIGVzbGludCBuby1pbnZhbGlkLXRoaXM6IDEgKi9cblxudmFyIEVSUk9SX01FU1NBR0UgPSAnRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgY2FsbGVkIG9uIGluY29tcGF0aWJsZSAnO1xudmFyIHNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlO1xudmFyIHRvU3RyID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztcbnZhciBmdW5jVHlwZSA9ICdbb2JqZWN0IEZ1bmN0aW9uXSc7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gYmluZCh0aGF0KSB7XG4gICAgdmFyIHRhcmdldCA9IHRoaXM7XG4gICAgaWYgKHR5cGVvZiB0YXJnZXQgIT09ICdmdW5jdGlvbicgfHwgdG9TdHIuY2FsbCh0YXJnZXQpICE9PSBmdW5jVHlwZSkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKEVSUk9SX01FU1NBR0UgKyB0YXJnZXQpO1xuICAgIH1cbiAgICB2YXIgYXJncyA9IHNsaWNlLmNhbGwoYXJndW1lbnRzLCAxKTtcblxuICAgIHZhciBib3VuZDtcbiAgICB2YXIgYmluZGVyID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAodGhpcyBpbnN0YW5jZW9mIGJvdW5kKSB7XG4gICAgICAgICAgICB2YXIgcmVzdWx0ID0gdGFyZ2V0LmFwcGx5KFxuICAgICAgICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgICAgICAgYXJncy5jb25jYXQoc2xpY2UuY2FsbChhcmd1bWVudHMpKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGlmIChPYmplY3QocmVzdWx0KSA9PT0gcmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRhcmdldC5hcHBseShcbiAgICAgICAgICAgICAgICB0aGF0LFxuICAgICAgICAgICAgICAgIGFyZ3MuY29uY2F0KHNsaWNlLmNhbGwoYXJndW1lbnRzKSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgdmFyIGJvdW5kTGVuZ3RoID0gTWF0aC5tYXgoMCwgdGFyZ2V0Lmxlbmd0aCAtIGFyZ3MubGVuZ3RoKTtcbiAgICB2YXIgYm91bmRBcmdzID0gW107XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBib3VuZExlbmd0aDsgaSsrKSB7XG4gICAgICAgIGJvdW5kQXJncy5wdXNoKCckJyArIGkpO1xuICAgIH1cblxuICAgIGJvdW5kID0gRnVuY3Rpb24oJ2JpbmRlcicsICdyZXR1cm4gZnVuY3Rpb24gKCcgKyBib3VuZEFyZ3Muam9pbignLCcpICsgJyl7IHJldHVybiBiaW5kZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpOyB9JykoYmluZGVyKTtcblxuICAgIGlmICh0YXJnZXQucHJvdG90eXBlKSB7XG4gICAgICAgIHZhciBFbXB0eSA9IGZ1bmN0aW9uIEVtcHR5KCkge307XG4gICAgICAgIEVtcHR5LnByb3RvdHlwZSA9IHRhcmdldC5wcm90b3R5cGU7XG4gICAgICAgIGJvdW5kLnByb3RvdHlwZSA9IG5ldyBFbXB0eSgpO1xuICAgICAgICBFbXB0eS5wcm90b3R5cGUgPSBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBib3VuZDtcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12Wm5WdVkzUnBiMjR0WW1sdVpDOXBiWEJzWlcxbGJuUmhkR2x2Ymk1cWN5NXFjeUlzSW5OdmRYSmpaWE1pT2xzaWQyVmljR0ZqYXpvdkx5OHVMMjV2WkdWZmJXOWtkV3hsY3k5bWRXNWpkR2x2YmkxaWFXNWtMMmx0Y0d4bGJXVnVkR0YwYVc5dUxtcHpQelk0T0dVaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lKM1Z6WlNCemRISnBZM1FuTzF4dVhHNHZLaUJsYzJ4cGJuUWdibTh0YVc1MllXeHBaQzEwYUdsek9pQXhJQ292WEc1Y2JuWmhjaUJGVWxKUFVsOU5SVk5UUVVkRklEMGdKMFoxYm1OMGFXOXVMbkJ5YjNSdmRIbHdaUzVpYVc1a0lHTmhiR3hsWkNCdmJpQnBibU52YlhCaGRHbGliR1VnSnp0Y2JuWmhjaUJ6YkdsalpTQTlJRUZ5Y21GNUxuQnliM1J2ZEhsd1pTNXpiR2xqWlR0Y2JuWmhjaUIwYjFOMGNpQTlJRTlpYW1WamRDNXdjbTkwYjNSNWNHVXVkRzlUZEhKcGJtYzdYRzUyWVhJZ1puVnVZMVI1Y0dVZ1BTQW5XMjlpYW1WamRDQkdkVzVqZEdsdmJsMG5PMXh1WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUdaMWJtTjBhVzl1SUdKcGJtUW9kR2hoZENrZ2UxeHVJQ0FnSUhaaGNpQjBZWEpuWlhRZ1BTQjBhR2x6TzF4dUlDQWdJR2xtSUNoMGVYQmxiMllnZEdGeVoyVjBJQ0U5UFNBblpuVnVZM1JwYjI0bklIeDhJSFJ2VTNSeUxtTmhiR3dvZEdGeVoyVjBLU0FoUFQwZ1puVnVZMVI1Y0dVcElIdGNiaUFnSUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWhGVWxKUFVsOU5SVk5UUVVkRklDc2dkR0Z5WjJWMEtUdGNiaUFnSUNCOVhHNGdJQ0FnZG1GeUlHRnlaM01nUFNCemJHbGpaUzVqWVd4c0tHRnlaM1Z0Wlc1MGN5d2dNU2s3WEc1Y2JpQWdJQ0IyWVhJZ1ltOTFibVE3WEc0Z0lDQWdkbUZ5SUdKcGJtUmxjaUE5SUdaMWJtTjBhVzl1SUNncElIdGNiaUFnSUNBZ0lDQWdhV1lnS0hSb2FYTWdhVzV6ZEdGdVkyVnZaaUJpYjNWdVpDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2RtRnlJSEpsYzNWc2RDQTlJSFJoY21kbGRDNWhjSEJzZVNoY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0Z5WjNNdVkyOXVZMkYwS0hOc2FXTmxMbU5oYkd3b1lYSm5kVzFsYm5SektTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1QySnFaV04wS0hKbGMzVnNkQ2tnUFQwOUlISmxjM1ZzZENrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCeVpYTjFiSFE3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnSUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwWVhKblpYUXVZWEJ3Ykhrb1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaGhkQ3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JoY21kekxtTnZibU5oZENoemJHbGpaUzVqWVd4c0tHRnlaM1Z0Wlc1MGN5a3BYRzRnSUNBZ0lDQWdJQ0FnSUNBcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ2ZUdGNibHh1SUNBZ0lIWmhjaUJpYjNWdVpFeGxibWQwYUNBOUlFMWhkR2d1YldGNEtEQXNJSFJoY21kbGRDNXNaVzVuZEdnZ0xTQmhjbWR6TG14bGJtZDBhQ2s3WEc0Z0lDQWdkbUZ5SUdKdmRXNWtRWEpuY3lBOUlGdGRPMXh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dZbTkxYm1STVpXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdJQ0JpYjNWdVpFRnlaM011Y0hWemFDZ25KQ2NnS3lCcEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCaWIzVnVaQ0E5SUVaMWJtTjBhVzl1S0NkaWFXNWtaWEluTENBbmNtVjBkWEp1SUdaMWJtTjBhVzl1SUNnbklDc2dZbTkxYm1SQmNtZHpMbXB2YVc0b0p5d25LU0FySUNjcGV5QnlaWFIxY200Z1ltbHVaR1Z5TG1Gd2NHeDVLSFJvYVhNc1lYSm5kVzFsYm5SektUc2dmU2NwS0dKcGJtUmxjaWs3WEc1Y2JpQWdJQ0JwWmlBb2RHRnlaMlYwTG5CeWIzUnZkSGx3WlNrZ2UxeHVJQ0FnSUNBZ0lDQjJZWElnUlcxd2RIa2dQU0JtZFc1amRHbHZiaUJGYlhCMGVTZ3BJSHQ5TzF4dUlDQWdJQ0FnSUNCRmJYQjBlUzV3Y205MGIzUjVjR1VnUFNCMFlYSm5aWFF1Y0hKdmRHOTBlWEJsTzF4dUlDQWdJQ0FnSUNCaWIzVnVaQzV3Y205MGIzUjVjR1VnUFNCdVpYY2dSVzF3ZEhrb0tUdGNiaUFnSUNBZ0lDQWdSVzF3ZEhrdWNISnZkRzkwZVhCbElEMGdiblZzYkR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdZbTkxYm1RN1hHNTlPMXh1SWwwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUc2lMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9mdW5jdGlvbi1iaW5kL2ltcGxlbWVudGF0aW9uLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvZnVuY3Rpb24tYmluZC9pbmRleC5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvZnVuY3Rpb24tYmluZC9pbmRleC5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXsidXNlIHN0cmljdCI7ZXZhbCgiXG5cbnZhciBpbXBsZW1lbnRhdGlvbiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vaW1wbGVtZW50YXRpb24gKi8gXCIuL25vZGVfbW9kdWxlcy9mdW5jdGlvbi1iaW5kL2ltcGxlbWVudGF0aW9uLmpzXCIpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIHx8IGltcGxlbWVudGF0aW9uO1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlpuVnVZM1JwYjI0dFltbHVaQzlwYm1SbGVDNXFjeTVxY3lJc0luTnZkWEpqWlhNaU9sc2lkMlZpY0dGamF6b3ZMeTh1TDI1dlpHVmZiVzlrZFd4bGN5OW1kVzVqZEdsdmJpMWlhVzVrTDJsdVpHVjRMbXB6UHpCbU4yTWlYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpSjNWelpTQnpkSEpwWTNRbk8xeHVYRzUyWVhJZ2FXMXdiR1Z0Wlc1MFlYUnBiMjRnUFNCeVpYRjFhWEpsS0NjdUwybHRjR3hsYldWdWRHRjBhVzl1SnlrN1hHNWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdSblZ1WTNScGIyNHVjSEp2ZEc5MGVYQmxMbUpwYm1RZ2ZId2dhVzF3YkdWdFpXNTBZWFJwYjI0N1hHNGlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3SWl3aWMyOTFjbU5sVW05dmRDSTZJaUo5XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvZnVuY3Rpb24tYmluZC9pbmRleC5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL2hhcy9zcmMvaW5kZXguanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2hhcy9zcmMvaW5kZXguanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7InVzZSBzdHJpY3QiO2V2YWwoIlxuXG52YXIgYmluZCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGZ1bmN0aW9uLWJpbmQgKi8gXCIuL25vZGVfbW9kdWxlcy9mdW5jdGlvbi1iaW5kL2luZGV4LmpzXCIpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGJpbmQuY2FsbChGdW5jdGlvbi5jYWxsLCBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5KTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZhR0Z6TDNOeVl5OXBibVJsZUM1cWN5NXFjeUlzSW5OdmRYSmpaWE1pT2xzaWQyVmljR0ZqYXpvdkx5OHVMMjV2WkdWZmJXOWtkV3hsY3k5b1lYTXZjM0pqTDJsdVpHVjRMbXB6UDJFd1pETWlYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpSjNWelpTQnpkSEpwWTNRbk8xeHVYRzUyWVhJZ1ltbHVaQ0E5SUhKbGNYVnBjbVVvSjJaMWJtTjBhVzl1TFdKcGJtUW5LVHRjYmx4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCaWFXNWtMbU5oYkd3b1JuVnVZM1JwYjI0dVkyRnNiQ3dnVDJKcVpXTjBMbkJ5YjNSdmRIbHdaUzVvWVhOUGQyNVFjbTl3WlhKMGVTazdYRzRpWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN0lpd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2hhcy9zcmMvaW5kZXguanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9pcy1jYWxsYWJsZS9pbmRleC5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL2lzLWNhbGxhYmxlL2luZGV4LmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXsidXNlIHN0cmljdCI7ZXZhbCgiXG5cbnZhciBmblRvU3RyID0gRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nO1xuXG52YXIgY29uc3RydWN0b3JSZWdleCA9IC9eXFxzKmNsYXNzXFxiLztcbnZhciBpc0VTNkNsYXNzRm4gPSBmdW5jdGlvbiBpc0VTNkNsYXNzRnVuY3Rpb24odmFsdWUpIHtcblx0dHJ5IHtcblx0XHR2YXIgZm5TdHIgPSBmblRvU3RyLmNhbGwodmFsdWUpO1xuXHRcdHJldHVybiBjb25zdHJ1Y3RvclJlZ2V4LnRlc3QoZm5TdHIpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0cmV0dXJuIGZhbHNlOyAvLyBub3QgYSBmdW5jdGlvblxuXHR9XG59O1xuXG52YXIgdHJ5RnVuY3Rpb25PYmplY3QgPSBmdW5jdGlvbiB0cnlGdW5jdGlvblRvU3RyKHZhbHVlKSB7XG5cdHRyeSB7XG5cdFx0aWYgKGlzRVM2Q2xhc3NGbih2YWx1ZSkpIHsgcmV0dXJuIGZhbHNlOyB9XG5cdFx0Zm5Ub1N0ci5jYWxsKHZhbHVlKTtcblx0XHRyZXR1cm4gdHJ1ZTtcblx0fSBjYXRjaCAoZSkge1xuXHRcdHJldHVybiBmYWxzZTtcblx0fVxufTtcbnZhciB0b1N0ciA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7XG52YXIgZm5DbGFzcyA9ICdbb2JqZWN0IEZ1bmN0aW9uXSc7XG52YXIgZ2VuQ2xhc3MgPSAnW29iamVjdCBHZW5lcmF0b3JGdW5jdGlvbl0nO1xudmFyIGhhc1RvU3RyaW5nVGFnID0gdHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgU3ltYm9sLnRvU3RyaW5nVGFnID09PSAnc3ltYm9sJztcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBpc0NhbGxhYmxlKHZhbHVlKSB7XG5cdGlmICghdmFsdWUpIHsgcmV0dXJuIGZhbHNlOyB9XG5cdGlmICh0eXBlb2YgdmFsdWUgIT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIHZhbHVlICE9PSAnb2JqZWN0JykgeyByZXR1cm4gZmFsc2U7IH1cblx0aWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJyAmJiAhdmFsdWUucHJvdG90eXBlKSB7IHJldHVybiB0cnVlOyB9XG5cdGlmIChoYXNUb1N0cmluZ1RhZykgeyByZXR1cm4gdHJ5RnVuY3Rpb25PYmplY3QodmFsdWUpOyB9XG5cdGlmIChpc0VTNkNsYXNzRm4odmFsdWUpKSB7IHJldHVybiBmYWxzZTsgfVxuXHR2YXIgc3RyQ2xhc3MgPSB0b1N0ci5jYWxsKHZhbHVlKTtcblx0cmV0dXJuIHN0ckNsYXNzID09PSBmbkNsYXNzIHx8IHN0ckNsYXNzID09PSBnZW5DbGFzcztcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12YVhNdFkyRnNiR0ZpYkdVdmFXNWtaWGd1YW5NdWFuTWlMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk4dkxpOXViMlJsWDIxdlpIVnNaWE12YVhNdFkyRnNiR0ZpYkdVdmFXNWtaWGd1YW5NL01qRmtNQ0pkTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJbmRYTmxJSE4wY21samRDYzdYRzVjYm5aaGNpQm1ibFJ2VTNSeUlEMGdSblZ1WTNScGIyNHVjSEp2ZEc5MGVYQmxMblJ2VTNSeWFXNW5PMXh1WEc1MllYSWdZMjl1YzNSeWRXTjBiM0pTWldkbGVDQTlJQzllWEZ4ekttTnNZWE56WEZ4aUx6dGNiblpoY2lCcGMwVlROa05zWVhOelJtNGdQU0JtZFc1amRHbHZiaUJwYzBWVE5rTnNZWE56Um5WdVkzUnBiMjRvZG1Gc2RXVXBJSHRjYmx4MGRISjVJSHRjYmx4MFhIUjJZWElnWm01VGRISWdQU0JtYmxSdlUzUnlMbU5oYkd3b2RtRnNkV1VwTzF4dVhIUmNkSEpsZEhWeWJpQmpiMjV6ZEhKMVkzUnZjbEpsWjJWNExuUmxjM1FvWm01VGRISXBPMXh1WEhSOUlHTmhkR05vSUNobEtTQjdYRzVjZEZ4MGNtVjBkWEp1SUdaaGJITmxPeUF2THlCdWIzUWdZU0JtZFc1amRHbHZibHh1WEhSOVhHNTlPMXh1WEc1MllYSWdkSEo1Um5WdVkzUnBiMjVQWW1wbFkzUWdQU0JtZFc1amRHbHZiaUIwY25sR2RXNWpkR2x2YmxSdlUzUnlLSFpoYkhWbEtTQjdYRzVjZEhSeWVTQjdYRzVjZEZ4MGFXWWdLR2x6UlZNMlEyeGhjM05HYmloMllXeDFaU2twSUhzZ2NtVjBkWEp1SUdaaGJITmxPeUI5WEc1Y2RGeDBabTVVYjFOMGNpNWpZV3hzS0haaGJIVmxLVHRjYmx4MFhIUnlaWFIxY200Z2RISjFaVHRjYmx4MGZTQmpZWFJqYUNBb1pTa2dlMXh1WEhSY2RISmxkSFZ5YmlCbVlXeHpaVHRjYmx4MGZWeHVmVHRjYm5aaGNpQjBiMU4wY2lBOUlFOWlhbVZqZEM1d2NtOTBiM1I1Y0dVdWRHOVRkSEpwYm1jN1hHNTJZWElnWm01RGJHRnpjeUE5SUNkYmIySnFaV04wSUVaMWJtTjBhVzl1WFNjN1hHNTJZWElnWjJWdVEyeGhjM01nUFNBblcyOWlhbVZqZENCSFpXNWxjbUYwYjNKR2RXNWpkR2x2Ymwwbk8xeHVkbUZ5SUdoaGMxUnZVM1J5YVc1blZHRm5JRDBnZEhsd1pXOW1JRk41YldKdmJDQTlQVDBnSjJaMWJtTjBhVzl1SnlBbUppQjBlWEJsYjJZZ1UzbHRZbTlzTG5SdlUzUnlhVzVuVkdGbklEMDlQU0FuYzNsdFltOXNKenRjYmx4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbWRXNWpkR2x2YmlCcGMwTmhiR3hoWW14bEtIWmhiSFZsS1NCN1hHNWNkR2xtSUNnaGRtRnNkV1VwSUhzZ2NtVjBkWEp1SUdaaGJITmxPeUI5WEc1Y2RHbG1JQ2gwZVhCbGIyWWdkbUZzZFdVZ0lUMDlJQ2RtZFc1amRHbHZiaWNnSmlZZ2RIbHdaVzltSUhaaGJIVmxJQ0U5UFNBbmIySnFaV04wSnlrZ2V5QnlaWFIxY200Z1ptRnNjMlU3SUgxY2JseDBhV1lnS0hSNWNHVnZaaUIyWVd4MVpTQTlQVDBnSjJaMWJtTjBhVzl1SnlBbUppQWhkbUZzZFdVdWNISnZkRzkwZVhCbEtTQjdJSEpsZEhWeWJpQjBjblZsT3lCOVhHNWNkR2xtSUNob1lYTlViMU4wY21sdVoxUmhaeWtnZXlCeVpYUjFjbTRnZEhKNVJuVnVZM1JwYjI1UFltcGxZM1FvZG1Gc2RXVXBPeUI5WEc1Y2RHbG1JQ2hwYzBWVE5rTnNZWE56Um00b2RtRnNkV1VwS1NCN0lISmxkSFZ5YmlCbVlXeHpaVHNnZlZ4dVhIUjJZWElnYzNSeVEyeGhjM01nUFNCMGIxTjBjaTVqWVd4c0tIWmhiSFZsS1R0Y2JseDBjbVYwZFhKdUlITjBja05zWVhOeklEMDlQU0JtYmtOc1lYTnpJSHg4SUhOMGNrTnNZWE56SUQwOVBTQm5aVzVEYkdGemN6dGNibjA3WEc0aVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk95SXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9pcy1jYWxsYWJsZS9pbmRleC5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL25vZGUtcG9seWdsb3QvaW5kZXguanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL25vZGUtcG9seWdsb3QvaW5kZXguanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7InVzZSBzdHJpY3QiO2V2YWwoIi8vICAgICAoYykgMjAxMi0yMDE2IEFpcmJuYiwgSW5jLlxuLy9cbi8vICAgICBwb2x5Z2xvdC5qcyBtYXkgYmUgZnJlZWx5IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgQlNEXG4vLyAgICAgbGljZW5zZS4gRm9yIGFsbCBsaWNlbnNpbmcgaW5mb3JtYXRpb24sIGRldGFpbHMsIGFuZCBkb2N1bWVudGlvbjpcbi8vICAgICBodHRwOi8vYWlyYm5iLmdpdGh1Yi5jb20vcG9seWdsb3QuanNcbi8vXG4vL1xuLy8gUG9seWdsb3QuanMgaXMgYW4gSTE4biBoZWxwZXIgbGlicmFyeSB3cml0dGVuIGluIEphdmFTY3JpcHQsIG1hZGUgdG9cbi8vIHdvcmsgYm90aCBpbiB0aGUgYnJvd3NlciBhbmQgaW4gTm9kZS4gSXQgcHJvdmlkZXMgYSBzaW1wbGUgc29sdXRpb24gZm9yXG4vLyBpbnRlcnBvbGF0aW9uIGFuZCBwbHVyYWxpemF0aW9uLCBiYXNlZCBvZmYgb2YgQWlyYm5iJ3Ncbi8vIGV4cGVyaWVuY2UgYWRkaW5nIEkxOG4gZnVuY3Rpb25hbGl0eSB0byBpdHMgQmFja2JvbmUuanMgYW5kIE5vZGUgYXBwcy5cbi8vXG4vLyBQb2x5bGdsb3QgaXMgYWdub3N0aWMgdG8geW91ciB0cmFuc2xhdGlvbiBiYWNrZW5kLiBJdCBkb2Vzbid0IHBlcmZvcm0gYW55XG4vLyB0cmFuc2xhdGlvbjsgaXQgc2ltcGx5IGdpdmVzIHlvdSBhIHdheSB0byBtYW5hZ2UgdHJhbnNsYXRlZCBwaHJhc2VzIGZyb21cbi8vIHlvdXIgY2xpZW50LSBvciBzZXJ2ZXItc2lkZSBKYXZhU2NyaXB0IGFwcGxpY2F0aW9uLlxuLy9cblxuXG5cbnZhciBmb3JFYWNoID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgZm9yLWVhY2ggKi8gXCIuL25vZGVfbW9kdWxlcy9mb3ItZWFjaC9pbmRleC5qc1wiKTtcbnZhciB3YXJuaW5nID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgd2FybmluZyAqLyBcIi4vbm9kZV9tb2R1bGVzL25vZGUtcG9seWdsb3Qvbm9kZV9tb2R1bGVzL3dhcm5pbmcvd2FybmluZy5qc1wiKTtcbnZhciBoYXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBoYXMgKi8gXCIuL25vZGVfbW9kdWxlcy9oYXMvc3JjL2luZGV4LmpzXCIpO1xudmFyIHRyaW0gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBzdHJpbmcucHJvdG90eXBlLnRyaW0gKi8gXCIuL25vZGVfbW9kdWxlcy9zdHJpbmcucHJvdG90eXBlLnRyaW0vaW5kZXguanNcIik7XG5cbnZhciB3YXJuID0gZnVuY3Rpb24gd2FybihtZXNzYWdlKSB7XG4gIHdhcm5pbmcoZmFsc2UsIG1lc3NhZ2UpO1xufTtcblxudmFyIHJlcGxhY2UgPSBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2U7XG52YXIgc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0O1xuXG4vLyAjIyMjIFBsdXJhbGl6YXRpb24gbWV0aG9kc1xuLy8gVGhlIHN0cmluZyB0aGF0IHNlcGFyYXRlcyB0aGUgZGlmZmVyZW50IHBocmFzZSBwb3NzaWJpbGl0aWVzLlxudmFyIGRlbGltaXRlciA9ICd8fHx8JztcblxudmFyIHJ1c3NpYW5QbHVyYWxHcm91cHMgPSBmdW5jdGlvbiAobikge1xuICB2YXIgZW5kID0gbiAlIDEwO1xuICBpZiAobiAhPT0gMTEgJiYgZW5kID09PSAxKSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cbiAgaWYgKDIgPD0gZW5kICYmIGVuZCA8PSA0ICYmICEobiA+PSAxMiAmJiBuIDw9IDE0KSkge1xuICAgIHJldHVybiAxO1xuICB9XG4gIHJldHVybiAyO1xufTtcblxuLy8gTWFwcGluZyBmcm9tIHBsdXJhbGl6YXRpb24gZ3JvdXAgcGx1cmFsIGxvZ2ljLlxudmFyIHBsdXJhbFR5cGVzID0ge1xuICBhcmFiaWM6IGZ1bmN0aW9uIChuKSB7XG4gICAgLy8gaHR0cDovL3d3dy5hcmFiZXllcy5vcmcvUGx1cmFsX0Zvcm1zXG4gICAgaWYgKG4gPCAzKSB7IHJldHVybiBuOyB9XG4gICAgdmFyIGxhc3RUd28gPSBuICUgMTAwO1xuICAgIGlmIChsYXN0VHdvID49IDMgJiYgbGFzdFR3byA8PSAxMCkgcmV0dXJuIDM7XG4gICAgcmV0dXJuIGxhc3RUd28gPj0gMTEgPyA0IDogNTtcbiAgfSxcbiAgYm9zbmlhbl9zZXJiaWFuOiBydXNzaWFuUGx1cmFsR3JvdXBzLFxuICBjaGluZXNlOiBmdW5jdGlvbiAoKSB7IHJldHVybiAwOyB9LFxuICBjcm9hdGlhbjogcnVzc2lhblBsdXJhbEdyb3VwcyxcbiAgZnJlbmNoOiBmdW5jdGlvbiAobikgeyByZXR1cm4gbiA+IDEgPyAxIDogMDsgfSxcbiAgZ2VybWFuOiBmdW5jdGlvbiAobikgeyByZXR1cm4gbiAhPT0gMSA/IDEgOiAwOyB9LFxuICBydXNzaWFuOiBydXNzaWFuUGx1cmFsR3JvdXBzLFxuICBsaXRodWFuaWFuOiBmdW5jdGlvbiAobikge1xuICAgIGlmIChuICUgMTAgPT09IDEgJiYgbiAlIDEwMCAhPT0gMTEpIHsgcmV0dXJuIDA7IH1cbiAgICByZXR1cm4gbiAlIDEwID49IDIgJiYgbiAlIDEwIDw9IDkgJiYgKG4gJSAxMDAgPCAxMSB8fCBuICUgMTAwID4gMTkpID8gMSA6IDI7XG4gIH0sXG4gIGN6ZWNoOiBmdW5jdGlvbiAobikge1xuICAgIGlmIChuID09PSAxKSB7IHJldHVybiAwOyB9XG4gICAgcmV0dXJuIChuID49IDIgJiYgbiA8PSA0KSA/IDEgOiAyO1xuICB9LFxuICBwb2xpc2g6IGZ1bmN0aW9uIChuKSB7XG4gICAgaWYgKG4gPT09IDEpIHsgcmV0dXJuIDA7IH1cbiAgICB2YXIgZW5kID0gbiAlIDEwO1xuICAgIHJldHVybiAyIDw9IGVuZCAmJiBlbmQgPD0gNCAmJiAobiAlIDEwMCA8IDEwIHx8IG4gJSAxMDAgPj0gMjApID8gMSA6IDI7XG4gIH0sXG4gIGljZWxhbmRpYzogZnVuY3Rpb24gKG4pIHsgcmV0dXJuIChuICUgMTAgIT09IDEgfHwgbiAlIDEwMCA9PT0gMTEpID8gMSA6IDA7IH0sXG4gIHNsb3ZlbmlhbjogZnVuY3Rpb24gKG4pIHtcbiAgICB2YXIgbGFzdFR3byA9IG4gJSAxMDA7XG4gICAgaWYgKGxhc3RUd28gPT09IDEpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICBpZiAobGFzdFR3byA9PT0gMikge1xuICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICAgIGlmIChsYXN0VHdvID09PSAzIHx8IGxhc3RUd28gPT09IDQpIHtcbiAgICAgIHJldHVybiAyO1xuICAgIH1cbiAgICByZXR1cm4gMztcbiAgfVxufTtcblxuXG4vLyBNYXBwaW5nIGZyb20gcGx1cmFsaXphdGlvbiBncm91cCB0byBpbmRpdmlkdWFsIGxhbmd1YWdlIGNvZGVzL2xvY2FsZXMuXG4vLyBXaWxsIGxvb2sgdXAgYmFzZWQgb24gZXhhY3QgbWF0Y2gsIGlmIG5vdCBmb3VuZCBhbmQgaXQncyBhIGxvY2FsZSB3aWxsIHBhcnNlIHRoZSBsb2NhbGVcbi8vIGZvciBsYW5ndWFnZSBjb2RlLCBhbmQgaWYgdGhhdCBkb2VzIG5vdCBleGlzdCB3aWxsIGRlZmF1bHQgdG8gJ2VuJ1xudmFyIHBsdXJhbFR5cGVUb0xhbmd1YWdlcyA9IHtcbiAgYXJhYmljOiBbJ2FyJ10sXG4gIGJvc25pYW5fc2VyYmlhbjogWydicy1MYXRuLUJBJywgJ2JzLUN5cmwtQkEnLCAnc3JsLVJTJywgJ3NyLVJTJ10sXG4gIGNoaW5lc2U6IFsnaWQnLCAnaWQtSUQnLCAnamEnLCAna28nLCAna28tS1InLCAnbG8nLCAnbXMnLCAndGgnLCAndGgtVEgnLCAnemgnXSxcbiAgY3JvYXRpYW46IFsnaHInLCAnaHItSFInXSxcbiAgZ2VybWFuOiBbJ2ZhJywgJ2RhJywgJ2RlJywgJ2VuJywgJ2VzJywgJ2ZpJywgJ2VsJywgJ2hlJywgJ2hpLUlOJywgJ2h1JywgJ2h1LUhVJywgJ2l0JywgJ25sJywgJ25vJywgJ3B0JywgJ3N2JywgJ3RyJ10sXG4gIGZyZW5jaDogWydmcicsICd0bCcsICdwdC1iciddLFxuICBydXNzaWFuOiBbJ3J1JywgJ3J1LVJVJ10sXG4gIGxpdGh1YW5pYW46IFsnbHQnXSxcbiAgY3plY2g6IFsnY3MnLCAnY3MtQ1onLCAnc2snXSxcbiAgcG9saXNoOiBbJ3BsJ10sXG4gIGljZWxhbmRpYzogWydpcyddLFxuICBzbG92ZW5pYW46IFsnc2wtU0wnXVxufTtcblxuZnVuY3Rpb24gbGFuZ1RvVHlwZU1hcChtYXBwaW5nKSB7XG4gIHZhciByZXQgPSB7fTtcbiAgZm9yRWFjaChtYXBwaW5nLCBmdW5jdGlvbiAobGFuZ3MsIHR5cGUpIHtcbiAgICBmb3JFYWNoKGxhbmdzLCBmdW5jdGlvbiAobGFuZykge1xuICAgICAgcmV0W2xhbmddID0gdHlwZTtcbiAgICB9KTtcbiAgfSk7XG4gIHJldHVybiByZXQ7XG59XG5cbmZ1bmN0aW9uIHBsdXJhbFR5cGVOYW1lKGxvY2FsZSkge1xuICB2YXIgbGFuZ1RvUGx1cmFsVHlwZSA9IGxhbmdUb1R5cGVNYXAocGx1cmFsVHlwZVRvTGFuZ3VhZ2VzKTtcbiAgcmV0dXJuIGxhbmdUb1BsdXJhbFR5cGVbbG9jYWxlXVxuICAgIHx8IGxhbmdUb1BsdXJhbFR5cGVbc3BsaXQuY2FsbChsb2NhbGUsIC8tLywgMSlbMF1dXG4gICAgfHwgbGFuZ1RvUGx1cmFsVHlwZS5lbjtcbn1cblxuZnVuY3Rpb24gcGx1cmFsVHlwZUluZGV4KGxvY2FsZSwgY291bnQpIHtcbiAgcmV0dXJuIHBsdXJhbFR5cGVzW3BsdXJhbFR5cGVOYW1lKGxvY2FsZSldKGNvdW50KTtcbn1cblxuZnVuY3Rpb24gZXNjYXBlKHRva2VuKSB7XG4gIHJldHVybiB0b2tlbi5yZXBsYWNlKC9bLiorP14ke30oKXxbXFxdXFxcXF0vZywgJ1xcXFwkJicpO1xufVxuXG5mdW5jdGlvbiBjb25zdHJ1Y3RUb2tlblJlZ2V4KG9wdHMpIHtcbiAgdmFyIHByZWZpeCA9IChvcHRzICYmIG9wdHMucHJlZml4KSB8fCAnJXsnO1xuICB2YXIgc3VmZml4ID0gKG9wdHMgJiYgb3B0cy5zdWZmaXgpIHx8ICd9JztcblxuICBpZiAocHJlZml4ID09PSBkZWxpbWl0ZXIgfHwgc3VmZml4ID09PSBkZWxpbWl0ZXIpIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignXCInICsgZGVsaW1pdGVyICsgJ1wiIHRva2VuIGlzIHJlc2VydmVkIGZvciBwbHVyYWxpemF0aW9uJyk7XG4gIH1cblxuICByZXR1cm4gbmV3IFJlZ0V4cChlc2NhcGUocHJlZml4KSArICcoLio/KScgKyBlc2NhcGUoc3VmZml4KSwgJ2cnKTtcbn1cblxudmFyIGRvbGxhclJlZ2V4ID0gL1xcJC9nO1xudmFyIGRvbGxhckJpbGxzWWFsbCA9ICckJCc7XG52YXIgZGVmYXVsdFRva2VuUmVnZXggPSAvJVxceyguKj8pXFx9L2c7XG5cbi8vICMjIyB0cmFuc2Zvcm1QaHJhc2UocGhyYXNlLCBzdWJzdGl0dXRpb25zLCBsb2NhbGUpXG4vL1xuLy8gVGFrZXMgYSBwaHJhc2Ugc3RyaW5nIGFuZCB0cmFuc2Zvcm1zIGl0IGJ5IGNob29zaW5nIHRoZSBjb3JyZWN0XG4vLyBwbHVyYWwgZm9ybSBhbmQgaW50ZXJwb2xhdGluZyBpdC5cbi8vXG4vLyAgICAgdHJhbnNmb3JtUGhyYXNlKCdIZWxsbywgJXtuYW1lfSEnLCB7bmFtZTogJ1NwaWtlJ30pO1xuLy8gICAgIC8vIFwiSGVsbG8sIFNwaWtlIVwiXG4vL1xuLy8gVGhlIGNvcnJlY3QgcGx1cmFsIGZvcm0gaXMgc2VsZWN0ZWQgaWYgc3Vic3RpdHV0aW9ucy5zbWFydF9jb3VudFxuLy8gaXMgc2V0LiBZb3UgY2FuIHBhc3MgaW4gYSBudW1iZXIgaW5zdGVhZCBvZiBhbiBPYmplY3QgYXMgYHN1YnN0aXR1dGlvbnNgXG4vLyBhcyBhIHNob3J0Y3V0IGZvciBgc21hcnRfY291bnRgLlxuLy9cbi8vICAgICB0cmFuc2Zvcm1QaHJhc2UoJyV7c21hcnRfY291bnR9IG5ldyBtZXNzYWdlcyB8fHx8IDEgbmV3IG1lc3NhZ2UnLCB7c21hcnRfY291bnQ6IDF9LCAnZW4nKTtcbi8vICAgICAvLyBcIjEgbmV3IG1lc3NhZ2VcIlxuLy9cbi8vICAgICB0cmFuc2Zvcm1QaHJhc2UoJyV7c21hcnRfY291bnR9IG5ldyBtZXNzYWdlcyB8fHx8IDEgbmV3IG1lc3NhZ2UnLCB7c21hcnRfY291bnQ6IDJ9LCAnZW4nKTtcbi8vICAgICAvLyBcIjIgbmV3IG1lc3NhZ2VzXCJcbi8vXG4vLyAgICAgdHJhbnNmb3JtUGhyYXNlKCcle3NtYXJ0X2NvdW50fSBuZXcgbWVzc2FnZXMgfHx8fCAxIG5ldyBtZXNzYWdlJywgNSwgJ2VuJyk7XG4vLyAgICAgLy8gXCI1IG5ldyBtZXNzYWdlc1wiXG4vL1xuLy8gWW91IHNob3VsZCBwYXNzIGluIGEgdGhpcmQgYXJndW1lbnQsIHRoZSBsb2NhbGUsIHRvIHNwZWNpZnkgdGhlIGNvcnJlY3QgcGx1cmFsIHR5cGUuXG4vLyBJdCBkZWZhdWx0cyB0byBgJ2VuJ2Agd2l0aCAyIHBsdXJhbCBmb3Jtcy5cbmZ1bmN0aW9uIHRyYW5zZm9ybVBocmFzZShwaHJhc2UsIHN1YnN0aXR1dGlvbnMsIGxvY2FsZSwgdG9rZW5SZWdleCkge1xuICBpZiAodHlwZW9mIHBocmFzZSAhPT0gJ3N0cmluZycpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdQb2x5Z2xvdC50cmFuc2Zvcm1QaHJhc2UgZXhwZWN0cyBhcmd1bWVudCAjMSB0byBiZSBzdHJpbmcnKTtcbiAgfVxuXG4gIGlmIChzdWJzdGl0dXRpb25zID09IG51bGwpIHtcbiAgICByZXR1cm4gcGhyYXNlO1xuICB9XG5cbiAgdmFyIHJlc3VsdCA9IHBocmFzZTtcbiAgdmFyIGludGVycG9sYXRpb25SZWdleCA9IHRva2VuUmVnZXggfHwgZGVmYXVsdFRva2VuUmVnZXg7XG5cbiAgLy8gYWxsb3cgbnVtYmVyIGFzIGEgcGx1cmFsaXphdGlvbiBzaG9ydGN1dFxuICB2YXIgb3B0aW9ucyA9IHR5cGVvZiBzdWJzdGl0dXRpb25zID09PSAnbnVtYmVyJyA/IHsgc21hcnRfY291bnQ6IHN1YnN0aXR1dGlvbnMgfSA6IHN1YnN0aXR1dGlvbnM7XG5cbiAgLy8gU2VsZWN0IHBsdXJhbCBmb3JtOiBiYXNlZCBvbiBhIHBocmFzZSB0ZXh0IHRoYXQgY29udGFpbnMgYG5gXG4gIC8vIHBsdXJhbCBmb3JtcyBzZXBhcmF0ZWQgYnkgYGRlbGltaXRlcmAsIGEgYGxvY2FsZWAsIGFuZCBhIGBzdWJzdGl0dXRpb25zLnNtYXJ0X2NvdW50YCxcbiAgLy8gY2hvb3NlIHRoZSBjb3JyZWN0IHBsdXJhbCBmb3JtLiBUaGlzIGlzIG9ubHkgZG9uZSBpZiBgY291bnRgIGlzIHNldC5cbiAgaWYgKG9wdGlvbnMuc21hcnRfY291bnQgIT0gbnVsbCAmJiByZXN1bHQpIHtcbiAgICB2YXIgdGV4dHMgPSBzcGxpdC5jYWxsKHJlc3VsdCwgZGVsaW1pdGVyKTtcbiAgICByZXN1bHQgPSB0cmltKHRleHRzW3BsdXJhbFR5cGVJbmRleChsb2NhbGUgfHwgJ2VuJywgb3B0aW9ucy5zbWFydF9jb3VudCldIHx8IHRleHRzWzBdKTtcbiAgfVxuXG4gIC8vIEludGVycG9sYXRlOiBDcmVhdGVzIGEgYFJlZ0V4cGAgb2JqZWN0IGZvciBlYWNoIGludGVycG9sYXRpb24gcGxhY2Vob2xkZXIuXG4gIHJlc3VsdCA9IHJlcGxhY2UuY2FsbChyZXN1bHQsIGludGVycG9sYXRpb25SZWdleCwgZnVuY3Rpb24gKGV4cHJlc3Npb24sIGFyZ3VtZW50KSB7XG4gICAgaWYgKCFoYXMob3B0aW9ucywgYXJndW1lbnQpIHx8IG9wdGlvbnNbYXJndW1lbnRdID09IG51bGwpIHsgcmV0dXJuIGV4cHJlc3Npb247IH1cbiAgICAvLyBFbnN1cmUgcmVwbGFjZW1lbnQgdmFsdWUgaXMgZXNjYXBlZCB0byBwcmV2ZW50IHNwZWNpYWwgJC1wcmVmaXhlZCByZWdleCByZXBsYWNlIHRva2Vucy5cbiAgICByZXR1cm4gcmVwbGFjZS5jYWxsKG9wdGlvbnNbYXJndW1lbnRdLCBkb2xsYXJSZWdleCwgZG9sbGFyQmlsbHNZYWxsKTtcbiAgfSk7XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLy8gIyMjIFBvbHlnbG90IGNsYXNzIGNvbnN0cnVjdG9yXG5mdW5jdGlvbiBQb2x5Z2xvdChvcHRpb25zKSB7XG4gIHZhciBvcHRzID0gb3B0aW9ucyB8fCB7fTtcbiAgdGhpcy5waHJhc2VzID0ge307XG4gIHRoaXMuZXh0ZW5kKG9wdHMucGhyYXNlcyB8fCB7fSk7XG4gIHRoaXMuY3VycmVudExvY2FsZSA9IG9wdHMubG9jYWxlIHx8ICdlbic7XG4gIHZhciBhbGxvd01pc3NpbmcgPSBvcHRzLmFsbG93TWlzc2luZyA/IHRyYW5zZm9ybVBocmFzZSA6IG51bGw7XG4gIHRoaXMub25NaXNzaW5nS2V5ID0gdHlwZW9mIG9wdHMub25NaXNzaW5nS2V5ID09PSAnZnVuY3Rpb24nID8gb3B0cy5vbk1pc3NpbmdLZXkgOiBhbGxvd01pc3Npbmc7XG4gIHRoaXMud2FybiA9IG9wdHMud2FybiB8fCB3YXJuO1xuICB0aGlzLnRva2VuUmVnZXggPSBjb25zdHJ1Y3RUb2tlblJlZ2V4KG9wdHMuaW50ZXJwb2xhdGlvbik7XG59XG5cbi8vICMjIyBwb2x5Z2xvdC5sb2NhbGUoW2xvY2FsZV0pXG4vL1xuLy8gR2V0IG9yIHNldCBsb2NhbGUuIEludGVybmFsbHksIFBvbHlnbG90IG9ubHkgdXNlcyBsb2NhbGUgZm9yIHBsdXJhbGl6YXRpb24uXG5Qb2x5Z2xvdC5wcm90b3R5cGUubG9jYWxlID0gZnVuY3Rpb24gKG5ld0xvY2FsZSkge1xuICBpZiAobmV3TG9jYWxlKSB0aGlzLmN1cnJlbnRMb2NhbGUgPSBuZXdMb2NhbGU7XG4gIHJldHVybiB0aGlzLmN1cnJlbnRMb2NhbGU7XG59O1xuXG4vLyAjIyMgcG9seWdsb3QuZXh0ZW5kKHBocmFzZXMpXG4vL1xuLy8gVXNlIGBleHRlbmRgIHRvIHRlbGwgUG9seWdsb3QgaG93IHRvIHRyYW5zbGF0ZSBhIGdpdmVuIGtleS5cbi8vXG4vLyAgICAgcG9seWdsb3QuZXh0ZW5kKHtcbi8vICAgICAgIFwiaGVsbG9cIjogXCJIZWxsb1wiLFxuLy8gICAgICAgXCJoZWxsb19uYW1lXCI6IFwiSGVsbG8sICV7bmFtZX1cIlxuLy8gICAgIH0pO1xuLy9cbi8vIFRoZSBrZXkgY2FuIGJlIGFueSBzdHJpbmcuICBGZWVsIGZyZWUgdG8gY2FsbCBgZXh0ZW5kYCBtdWx0aXBsZSB0aW1lcztcbi8vIGl0IHdpbGwgb3ZlcnJpZGUgYW55IHBocmFzZXMgd2l0aCB0aGUgc2FtZSBrZXksIGJ1dCBsZWF2ZSBleGlzdGluZyBwaHJhc2VzXG4vLyB1bnRvdWNoZWQuXG4vL1xuLy8gSXQgaXMgYWxzbyBwb3NzaWJsZSB0byBwYXNzIG5lc3RlZCBwaHJhc2Ugb2JqZWN0cywgd2hpY2ggZ2V0IGZsYXR0ZW5lZFxuLy8gaW50byBhbiBvYmplY3Qgd2l0aCB0aGUgbmVzdGVkIGtleXMgY29uY2F0ZW5hdGVkIHVzaW5nIGRvdCBub3RhdGlvbi5cbi8vXG4vLyAgICAgcG9seWdsb3QuZXh0ZW5kKHtcbi8vICAgICAgIFwibmF2XCI6IHtcbi8vICAgICAgICAgXCJoZWxsb1wiOiBcIkhlbGxvXCIsXG4vLyAgICAgICAgIFwiaGVsbG9fbmFtZVwiOiBcIkhlbGxvLCAle25hbWV9XCIsXG4vLyAgICAgICAgIFwic2lkZWJhclwiOiB7XG4vLyAgICAgICAgICAgXCJ3ZWxjb21lXCI6IFwiV2VsY29tZVwiXG4vLyAgICAgICAgIH1cbi8vICAgICAgIH1cbi8vICAgICB9KTtcbi8vXG4vLyAgICAgY29uc29sZS5sb2cocG9seWdsb3QucGhyYXNlcyk7XG4vLyAgICAgLy8ge1xuLy8gICAgIC8vICAgJ25hdi5oZWxsbyc6ICdIZWxsbycsXG4vLyAgICAgLy8gICAnbmF2LmhlbGxvX25hbWUnOiAnSGVsbG8sICV7bmFtZX0nLFxuLy8gICAgIC8vICAgJ25hdi5zaWRlYmFyLndlbGNvbWUnOiAnV2VsY29tZSdcbi8vICAgICAvLyB9XG4vL1xuLy8gYGV4dGVuZGAgYWNjZXB0cyBhbiBvcHRpb25hbCBzZWNvbmQgYXJndW1lbnQsIGBwcmVmaXhgLCB3aGljaCBjYW4gYmUgdXNlZFxuLy8gdG8gcHJlZml4IGV2ZXJ5IGtleSBpbiB0aGUgcGhyYXNlcyBvYmplY3Qgd2l0aCBzb21lIHN0cmluZywgdXNpbmcgZG90XG4vLyBub3RhdGlvbi5cbi8vXG4vLyAgICAgcG9seWdsb3QuZXh0ZW5kKHtcbi8vICAgICAgIFwiaGVsbG9cIjogXCJIZWxsb1wiLFxuLy8gICAgICAgXCJoZWxsb19uYW1lXCI6IFwiSGVsbG8sICV7bmFtZX1cIlxuLy8gICAgIH0sIFwibmF2XCIpO1xuLy9cbi8vICAgICBjb25zb2xlLmxvZyhwb2x5Z2xvdC5waHJhc2VzKTtcbi8vICAgICAvLyB7XG4vLyAgICAgLy8gICAnbmF2LmhlbGxvJzogJ0hlbGxvJyxcbi8vICAgICAvLyAgICduYXYuaGVsbG9fbmFtZSc6ICdIZWxsbywgJXtuYW1lfSdcbi8vICAgICAvLyB9XG4vL1xuLy8gVGhpcyBmZWF0dXJlIGlzIHVzZWQgaW50ZXJuYWxseSB0byBzdXBwb3J0IG5lc3RlZCBwaHJhc2Ugb2JqZWN0cy5cblBvbHlnbG90LnByb3RvdHlwZS5leHRlbmQgPSBmdW5jdGlvbiAobW9yZVBocmFzZXMsIHByZWZpeCkge1xuICBmb3JFYWNoKG1vcmVQaHJhc2VzLCBmdW5jdGlvbiAocGhyYXNlLCBrZXkpIHtcbiAgICB2YXIgcHJlZml4ZWRLZXkgPSBwcmVmaXggPyBwcmVmaXggKyAnLicgKyBrZXkgOiBrZXk7XG4gICAgaWYgKHR5cGVvZiBwaHJhc2UgPT09ICdvYmplY3QnKSB7XG4gICAgICB0aGlzLmV4dGVuZChwaHJhc2UsIHByZWZpeGVkS2V5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5waHJhc2VzW3ByZWZpeGVkS2V5XSA9IHBocmFzZTtcbiAgICB9XG4gIH0sIHRoaXMpO1xufTtcblxuLy8gIyMjIHBvbHlnbG90LnVuc2V0KHBocmFzZXMpXG4vLyBVc2UgYHVuc2V0YCB0byBzZWxlY3RpdmVseSByZW1vdmUga2V5cyBmcm9tIGEgcG9seWdsb3QgaW5zdGFuY2UuXG4vL1xuLy8gICAgIHBvbHlnbG90LnVuc2V0KFwic29tZV9rZXlcIik7XG4vLyAgICAgcG9seWdsb3QudW5zZXQoe1xuLy8gICAgICAgXCJoZWxsb1wiOiBcIkhlbGxvXCIsXG4vLyAgICAgICBcImhlbGxvX25hbWVcIjogXCJIZWxsbywgJXtuYW1lfVwiXG4vLyAgICAgfSk7XG4vL1xuLy8gVGhlIHVuc2V0IG1ldGhvZCBjYW4gdGFrZSBlaXRoZXIgYSBzdHJpbmcgKGZvciB0aGUga2V5KSwgb3IgYW4gb2JqZWN0IGhhc2ggd2l0aFxuLy8gdGhlIGtleXMgdGhhdCB5b3Ugd291bGQgbGlrZSB0byB1bnNldC5cblBvbHlnbG90LnByb3RvdHlwZS51bnNldCA9IGZ1bmN0aW9uIChtb3JlUGhyYXNlcywgcHJlZml4KSB7XG4gIGlmICh0eXBlb2YgbW9yZVBocmFzZXMgPT09ICdzdHJpbmcnKSB7XG4gICAgZGVsZXRlIHRoaXMucGhyYXNlc1ttb3JlUGhyYXNlc107XG4gIH0gZWxzZSB7XG4gICAgZm9yRWFjaChtb3JlUGhyYXNlcywgZnVuY3Rpb24gKHBocmFzZSwga2V5KSB7XG4gICAgICB2YXIgcHJlZml4ZWRLZXkgPSBwcmVmaXggPyBwcmVmaXggKyAnLicgKyBrZXkgOiBrZXk7XG4gICAgICBpZiAodHlwZW9mIHBocmFzZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgdGhpcy51bnNldChwaHJhc2UsIHByZWZpeGVkS2V5KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRlbGV0ZSB0aGlzLnBocmFzZXNbcHJlZml4ZWRLZXldO1xuICAgICAgfVxuICAgIH0sIHRoaXMpO1xuICB9XG59O1xuXG4vLyAjIyMgcG9seWdsb3QuY2xlYXIoKVxuLy9cbi8vIENsZWFycyBhbGwgcGhyYXNlcy4gVXNlZnVsIGZvciBzcGVjaWFsIGNhc2VzLCBzdWNoIGFzIGZyZWVpbmdcbi8vIHVwIG1lbW9yeSBpZiB5b3UgaGF2ZSBsb3RzIG9mIHBocmFzZXMgYnV0IG5vIGxvbmdlciBuZWVkIHRvXG4vLyBwZXJmb3JtIGFueSB0cmFuc2xhdGlvbi4gQWxzbyB1c2VkIGludGVybmFsbHkgYnkgYHJlcGxhY2VgLlxuUG9seWdsb3QucHJvdG90eXBlLmNsZWFyID0gZnVuY3Rpb24gKCkge1xuICB0aGlzLnBocmFzZXMgPSB7fTtcbn07XG5cbi8vICMjIyBwb2x5Z2xvdC5yZXBsYWNlKHBocmFzZXMpXG4vL1xuLy8gQ29tcGxldGVseSByZXBsYWNlIHRoZSBleGlzdGluZyBwaHJhc2VzIHdpdGggYSBuZXcgc2V0IG9mIHBocmFzZXMuXG4vLyBOb3JtYWxseSwganVzdCB1c2UgYGV4dGVuZGAgdG8gYWRkIG1vcmUgcGhyYXNlcywgYnV0IHVuZGVyIGNlcnRhaW5cbi8vIGNpcmN1bXN0YW5jZXMsIHlvdSBtYXkgd2FudCB0byBtYWtlIHN1cmUgbm8gb2xkIHBocmFzZXMgYXJlIGx5aW5nIGFyb3VuZC5cblBvbHlnbG90LnByb3RvdHlwZS5yZXBsYWNlID0gZnVuY3Rpb24gKG5ld1BocmFzZXMpIHtcbiAgdGhpcy5jbGVhcigpO1xuICB0aGlzLmV4dGVuZChuZXdQaHJhc2VzKTtcbn07XG5cblxuLy8gIyMjIHBvbHlnbG90LnQoa2V5LCBvcHRpb25zKVxuLy9cbi8vIFRoZSBtb3N0LXVzZWQgbWV0aG9kLiBQcm92aWRlIGEga2V5LCBhbmQgYHRgIHdpbGwgcmV0dXJuIHRoZVxuLy8gcGhyYXNlLlxuLy9cbi8vICAgICBwb2x5Z2xvdC50KFwiaGVsbG9cIik7XG4vLyAgICAgPT4gXCJIZWxsb1wiXG4vL1xuLy8gVGhlIHBocmFzZSB2YWx1ZSBpcyBwcm92aWRlZCBmaXJzdCBieSBhIGNhbGwgdG8gYHBvbHlnbG90LmV4dGVuZCgpYCBvclxuLy8gYHBvbHlnbG90LnJlcGxhY2UoKWAuXG4vL1xuLy8gUGFzcyBpbiBhbiBvYmplY3QgYXMgdGhlIHNlY29uZCBhcmd1bWVudCB0byBwZXJmb3JtIGludGVycG9sYXRpb24uXG4vL1xuLy8gICAgIHBvbHlnbG90LnQoXCJoZWxsb19uYW1lXCIsIHtuYW1lOiBcIlNwaWtlXCJ9KTtcbi8vICAgICA9PiBcIkhlbGxvLCBTcGlrZVwiXG4vL1xuLy8gSWYgeW91IGxpa2UsIHlvdSBjYW4gcHJvdmlkZSBhIGRlZmF1bHQgdmFsdWUgaW4gY2FzZSB0aGUgcGhyYXNlIGlzIG1pc3NpbmcuXG4vLyBVc2UgdGhlIHNwZWNpYWwgb3B0aW9uIGtleSBcIl9cIiB0byBzcGVjaWZ5IGEgZGVmYXVsdC5cbi8vXG4vLyAgICAgcG9seWdsb3QudChcImlfbGlrZV90b193cml0ZV9pbl9sYW5ndWFnZVwiLCB7XG4vLyAgICAgICBfOiBcIkkgbGlrZSB0byB3cml0ZSBpbiAle2xhbmd1YWdlfS5cIixcbi8vICAgICAgIGxhbmd1YWdlOiBcIkphdmFTY3JpcHRcIlxuLy8gICAgIH0pO1xuLy8gICAgID0+IFwiSSBsaWtlIHRvIHdyaXRlIGluIEphdmFTY3JpcHQuXCJcbi8vXG5Qb2x5Z2xvdC5wcm90b3R5cGUudCA9IGZ1bmN0aW9uIChrZXksIG9wdGlvbnMpIHtcbiAgdmFyIHBocmFzZSwgcmVzdWx0O1xuICB2YXIgb3B0cyA9IG9wdGlvbnMgPT0gbnVsbCA/IHt9IDogb3B0aW9ucztcbiAgaWYgKHR5cGVvZiB0aGlzLnBocmFzZXNba2V5XSA9PT0gJ3N0cmluZycpIHtcbiAgICBwaHJhc2UgPSB0aGlzLnBocmFzZXNba2V5XTtcbiAgfSBlbHNlIGlmICh0eXBlb2Ygb3B0cy5fID09PSAnc3RyaW5nJykge1xuICAgIHBocmFzZSA9IG9wdHMuXztcbiAgfSBlbHNlIGlmICh0aGlzLm9uTWlzc2luZ0tleSkge1xuICAgIHZhciBvbk1pc3NpbmdLZXkgPSB0aGlzLm9uTWlzc2luZ0tleTtcbiAgICByZXN1bHQgPSBvbk1pc3NpbmdLZXkoa2V5LCBvcHRzLCB0aGlzLmN1cnJlbnRMb2NhbGUsIHRoaXMudG9rZW5SZWdleCk7XG4gIH0gZWxzZSB7XG4gICAgdGhpcy53YXJuKCdNaXNzaW5nIHRyYW5zbGF0aW9uIGZvciBrZXk6IFwiJyArIGtleSArICdcIicpO1xuICAgIHJlc3VsdCA9IGtleTtcbiAgfVxuICBpZiAodHlwZW9mIHBocmFzZSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXN1bHQgPSB0cmFuc2Zvcm1QaHJhc2UocGhyYXNlLCBvcHRzLCB0aGlzLmN1cnJlbnRMb2NhbGUsIHRoaXMudG9rZW5SZWdleCk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cblxuLy8gIyMjIHBvbHlnbG90LmhhcyhrZXkpXG4vL1xuLy8gQ2hlY2sgaWYgcG9seWdsb3QgaGFzIGEgdHJhbnNsYXRpb24gZm9yIGdpdmVuIGtleVxuUG9seWdsb3QucHJvdG90eXBlLmhhcyA9IGZ1bmN0aW9uIChrZXkpIHtcbiAgcmV0dXJuIGhhcyh0aGlzLnBocmFzZXMsIGtleSk7XG59O1xuXG4vLyBleHBvcnQgdHJhbnNmb3JtUGhyYXNlXG5Qb2x5Z2xvdC50cmFuc2Zvcm1QaHJhc2UgPSBmdW5jdGlvbiB0cmFuc2Zvcm0ocGhyYXNlLCBzdWJzdGl0dXRpb25zLCBsb2NhbGUpIHtcbiAgcmV0dXJuIHRyYW5zZm9ybVBocmFzZShwaHJhc2UsIHN1YnN0aXR1dGlvbnMsIGxvY2FsZSk7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IFBvbHlnbG90O1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmJtOWtaUzF3YjJ4NVoyeHZkQzlwYm1SbGVDNXFjeTVxY3lJc0luTnZkWEpqWlhNaU9sc2lkMlZpY0dGamF6b3ZMeTh1TDI1dlpHVmZiVzlrZFd4bGN5OXViMlJsTFhCdmJIbG5iRzkwTDJsdVpHVjRMbXB6UHpJNE9HRWlYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpTHk4Z0lDQWdJQ2hqS1NBeU1ERXlMVEl3TVRZZ1FXbHlZbTVpTENCSmJtTXVYRzR2TDF4dUx5OGdJQ0FnSUhCdmJIbG5iRzkwTG1weklHMWhlU0JpWlNCbWNtVmxiSGtnWkdsemRISnBZblYwWldRZ2RXNWtaWElnZEdobElIUmxjbTF6SUc5bUlIUm9aU0JDVTBSY2JpOHZJQ0FnSUNCc2FXTmxibk5sTGlCR2IzSWdZV3hzSUd4cFkyVnVjMmx1WnlCcGJtWnZjbTFoZEdsdmJpd2daR1YwWVdsc2N5d2dZVzVrSUdSdlkzVnRaVzUwYVc5dU9seHVMeThnSUNBZ0lHaDBkSEE2THk5aGFYSmlibUl1WjJsMGFIVmlMbU52YlM5d2IyeDVaMnh2ZEM1cWMxeHVMeTljYmk4dlhHNHZMeUJRYjJ4NVoyeHZkQzVxY3lCcGN5QmhiaUJKTVRodUlHaGxiSEJsY2lCc2FXSnlZWEo1SUhkeWFYUjBaVzRnYVc0Z1NtRjJZVk5qY21sd2RDd2diV0ZrWlNCMGIxeHVMeThnZDI5eWF5QmliM1JvSUdsdUlIUm9aU0JpY205M2MyVnlJR0Z1WkNCcGJpQk9iMlJsTGlCSmRDQndjbTkyYVdSbGN5QmhJSE5wYlhCc1pTQnpiMngxZEdsdmJpQm1iM0pjYmk4dklHbHVkR1Z5Y0c5c1lYUnBiMjRnWVc1a0lIQnNkWEpoYkdsNllYUnBiMjRzSUdKaGMyVmtJRzltWmlCdlppQkJhWEppYm1JbmMxeHVMeThnWlhod1pYSnBaVzVqWlNCaFpHUnBibWNnU1RFNGJpQm1kVzVqZEdsdmJtRnNhWFI1SUhSdklHbDBjeUJDWVdOclltOXVaUzVxY3lCaGJtUWdUbTlrWlNCaGNIQnpMbHh1THk5Y2JpOHZJRkJ2Ykhsc1oyeHZkQ0JwY3lCaFoyNXZjM1JwWXlCMGJ5QjViM1Z5SUhSeVlXNXpiR0YwYVc5dUlHSmhZMnRsYm1RdUlFbDBJR1J2WlhOdUozUWdjR1Z5Wm05eWJTQmhibmxjYmk4dklIUnlZVzV6YkdGMGFXOXVPeUJwZENCemFXMXdiSGtnWjJsMlpYTWdlVzkxSUdFZ2QyRjVJSFJ2SUcxaGJtRm5aU0IwY21GdWMyeGhkR1ZrSUhCb2NtRnpaWE1nWm5KdmJWeHVMeThnZVc5MWNpQmpiR2xsYm5RdElHOXlJSE5sY25abGNpMXphV1JsSUVwaGRtRlRZM0pwY0hRZ1lYQndiR2xqWVhScGIyNHVYRzR2TDF4dVhHNG5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JuWmhjaUJtYjNKRllXTm9JRDBnY21WeGRXbHlaU2duWm05eUxXVmhZMmduS1R0Y2JuWmhjaUIzWVhKdWFXNW5JRDBnY21WeGRXbHlaU2duZDJGeWJtbHVaeWNwTzF4dWRtRnlJR2hoY3lBOUlISmxjWFZwY21Vb0oyaGhjeWNwTzF4dWRtRnlJSFJ5YVcwZ1BTQnlaWEYxYVhKbEtDZHpkSEpwYm1jdWNISnZkRzkwZVhCbExuUnlhVzBuS1R0Y2JseHVkbUZ5SUhkaGNtNGdQU0JtZFc1amRHbHZiaUIzWVhKdUtHMWxjM05oWjJVcElIdGNiaUFnZDJGeWJtbHVaeWhtWVd4elpTd2diV1Z6YzJGblpTazdYRzU5TzF4dVhHNTJZWElnY21Wd2JHRmpaU0E5SUZOMGNtbHVaeTV3Y205MGIzUjVjR1V1Y21Wd2JHRmpaVHRjYm5aaGNpQnpjR3hwZENBOUlGTjBjbWx1Wnk1d2NtOTBiM1I1Y0dVdWMzQnNhWFE3WEc1Y2JpOHZJQ01qSXlNZ1VHeDFjbUZzYVhwaGRHbHZiaUJ0WlhSb2IyUnpYRzR2THlCVWFHVWdjM1J5YVc1bklIUm9ZWFFnYzJWd1lYSmhkR1Z6SUhSb1pTQmthV1ptWlhKbGJuUWdjR2h5WVhObElIQnZjM05wWW1sc2FYUnBaWE11WEc1MllYSWdaR1ZzYVcxcGRHVnlJRDBnSjN4OGZId25PMXh1WEc1MllYSWdjblZ6YzJsaGJsQnNkWEpoYkVkeWIzVndjeUE5SUdaMWJtTjBhVzl1SUNodUtTQjdYRzRnSUhaaGNpQmxibVFnUFNCdUlDVWdNVEE3WEc0Z0lHbG1JQ2h1SUNFOVBTQXhNU0FtSmlCbGJtUWdQVDA5SURFcElIdGNiaUFnSUNCeVpYUjFjbTRnTUR0Y2JpQWdmVnh1SUNCcFppQW9NaUE4UFNCbGJtUWdKaVlnWlc1a0lEdzlJRFFnSmlZZ0lTaHVJRDQ5SURFeUlDWW1JRzRnUEQwZ01UUXBLU0I3WEc0Z0lDQWdjbVYwZFhKdUlERTdYRzRnSUgxY2JpQWdjbVYwZFhKdUlESTdYRzU5TzF4dVhHNHZMeUJOWVhCd2FXNW5JR1p5YjIwZ2NHeDFjbUZzYVhwaGRHbHZiaUJuY205MWNDQndiSFZ5WVd3Z2JHOW5hV011WEc1MllYSWdjR3gxY21Gc1ZIbHdaWE1nUFNCN1hHNGdJR0Z5WVdKcFl6b2dablZ1WTNScGIyNGdLRzRwSUh0Y2JpQWdJQ0F2THlCb2RIUndPaTh2ZDNkM0xtRnlZV0psZVdWekxtOXlaeTlRYkhWeVlXeGZSbTl5YlhOY2JpQWdJQ0JwWmlBb2JpQThJRE1wSUhzZ2NtVjBkWEp1SUc0N0lIMWNiaUFnSUNCMllYSWdiR0Z6ZEZSM2J5QTlJRzRnSlNBeE1EQTdYRzRnSUNBZ2FXWWdLR3hoYzNSVWQyOGdQajBnTXlBbUppQnNZWE4wVkhkdklEdzlJREV3S1NCeVpYUjFjbTRnTXp0Y2JpQWdJQ0J5WlhSMWNtNGdiR0Z6ZEZSM2J5QStQU0F4TVNBL0lEUWdPaUExTzF4dUlDQjlMRnh1SUNCaWIzTnVhV0Z1WDNObGNtSnBZVzQ2SUhKMWMzTnBZVzVRYkhWeVlXeEhjbTkxY0hNc1hHNGdJR05vYVc1bGMyVTZJR1oxYm1OMGFXOXVJQ2dwSUhzZ2NtVjBkWEp1SURBN0lIMHNYRzRnSUdOeWIyRjBhV0Z1T2lCeWRYTnphV0Z1VUd4MWNtRnNSM0p2ZFhCekxGeHVJQ0JtY21WdVkyZzZJR1oxYm1OMGFXOXVJQ2h1S1NCN0lISmxkSFZ5YmlCdUlENGdNU0EvSURFZ09pQXdPeUI5TEZ4dUlDQm5aWEp0WVc0NklHWjFibU4wYVc5dUlDaHVLU0I3SUhKbGRIVnliaUJ1SUNFOVBTQXhJRDhnTVNBNklEQTdJSDBzWEc0Z0lISjFjM05wWVc0NklISjFjM05wWVc1UWJIVnlZV3hIY205MWNITXNYRzRnSUd4cGRHaDFZVzVwWVc0NklHWjFibU4wYVc5dUlDaHVLU0I3WEc0Z0lDQWdhV1lnS0c0Z0pTQXhNQ0E5UFQwZ01TQW1KaUJ1SUNVZ01UQXdJQ0U5UFNBeE1Ta2dleUJ5WlhSMWNtNGdNRHNnZlZ4dUlDQWdJSEpsZEhWeWJpQnVJQ1VnTVRBZ1BqMGdNaUFtSmlCdUlDVWdNVEFnUEQwZ09TQW1KaUFvYmlBbElERXdNQ0E4SURFeElIeDhJRzRnSlNBeE1EQWdQaUF4T1NrZ1B5QXhJRG9nTWp0Y2JpQWdmU3hjYmlBZ1kzcGxZMmc2SUdaMWJtTjBhVzl1SUNodUtTQjdYRzRnSUNBZ2FXWWdLRzRnUFQwOUlERXBJSHNnY21WMGRYSnVJREE3SUgxY2JpQWdJQ0J5WlhSMWNtNGdLRzRnUGowZ01pQW1KaUJ1SUR3OUlEUXBJRDhnTVNBNklESTdYRzRnSUgwc1hHNGdJSEJ2YkdsemFEb2dablZ1WTNScGIyNGdLRzRwSUh0Y2JpQWdJQ0JwWmlBb2JpQTlQVDBnTVNrZ2V5QnlaWFIxY200Z01Ec2dmVnh1SUNBZ0lIWmhjaUJsYm1RZ1BTQnVJQ1VnTVRBN1hHNGdJQ0FnY21WMGRYSnVJRElnUEQwZ1pXNWtJQ1ltSUdWdVpDQThQU0EwSUNZbUlDaHVJQ1VnTVRBd0lEd2dNVEFnZkh3Z2JpQWxJREV3TUNBK1BTQXlNQ2tnUHlBeElEb2dNanRjYmlBZ2ZTeGNiaUFnYVdObGJHRnVaR2xqT2lCbWRXNWpkR2x2YmlBb2Jpa2dleUJ5WlhSMWNtNGdLRzRnSlNBeE1DQWhQVDBnTVNCOGZDQnVJQ1VnTVRBd0lEMDlQU0F4TVNrZ1B5QXhJRG9nTURzZ2ZTeGNiaUFnYzJ4dmRtVnVhV0Z1T2lCbWRXNWpkR2x2YmlBb2Jpa2dlMXh1SUNBZ0lIWmhjaUJzWVhOMFZIZHZJRDBnYmlBbElERXdNRHRjYmlBZ0lDQnBaaUFvYkdGemRGUjNieUE5UFQwZ01Ta2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlEQTdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaHNZWE4wVkhkdklEMDlQU0F5S1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnTVR0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0d4aGMzUlVkMjhnUFQwOUlETWdmSHdnYkdGemRGUjNieUE5UFQwZ05Da2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlESTdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUF6TzF4dUlDQjlYRzU5TzF4dVhHNWNiaTh2SUUxaGNIQnBibWNnWm5KdmJTQndiSFZ5WVd4cGVtRjBhVzl1SUdkeWIzVndJSFJ2SUdsdVpHbDJhV1IxWVd3Z2JHRnVaM1ZoWjJVZ1kyOWtaWE12Ykc5allXeGxjeTVjYmk4dklGZHBiR3dnYkc5dmF5QjFjQ0JpWVhObFpDQnZiaUJsZUdGamRDQnRZWFJqYUN3Z2FXWWdibTkwSUdadmRXNWtJR0Z1WkNCcGRDZHpJR0VnYkc5allXeGxJSGRwYkd3Z2NHRnljMlVnZEdobElHeHZZMkZzWlZ4dUx5OGdabTl5SUd4aGJtZDFZV2RsSUdOdlpHVXNJR0Z1WkNCcFppQjBhR0YwSUdSdlpYTWdibTkwSUdWNGFYTjBJSGRwYkd3Z1pHVm1ZWFZzZENCMGJ5QW5aVzRuWEc1MllYSWdjR3gxY21Gc1ZIbHdaVlJ2VEdGdVozVmhaMlZ6SUQwZ2UxeHVJQ0JoY21GaWFXTTZJRnNuWVhJblhTeGNiaUFnWW05emJtbGhibDl6WlhKaWFXRnVPaUJiSjJKekxVeGhkRzR0UWtFbkxDQW5Zbk10UTNseWJDMUNRU2NzSUNkemNtd3RVbE1uTENBbmMzSXRVbE1uWFN4Y2JpQWdZMmhwYm1WelpUb2dXeWRwWkNjc0lDZHBaQzFKUkNjc0lDZHFZU2NzSUNkcmJ5Y3NJQ2RyYnkxTFVpY3NJQ2RzYnljc0lDZHRjeWNzSUNkMGFDY3NJQ2QwYUMxVVNDY3NJQ2Q2YUNkZExGeHVJQ0JqY205aGRHbGhiam9nV3lkb2NpY3NJQ2RvY2kxSVVpZGRMRnh1SUNCblpYSnRZVzQ2SUZzblptRW5MQ0FuWkdFbkxDQW5aR1VuTENBblpXNG5MQ0FuWlhNbkxDQW5abWtuTENBblpXd25MQ0FuYUdVbkxDQW5hR2t0U1U0bkxDQW5hSFVuTENBbmFIVXRTRlVuTENBbmFYUW5MQ0FuYm13bkxDQW5ibThuTENBbmNIUW5MQ0FuYzNZbkxDQW5kSEluWFN4Y2JpQWdabkpsYm1Ob09pQmJKMlp5Snl3Z0ozUnNKeXdnSjNCMExXSnlKMTBzWEc0Z0lISjFjM05wWVc0NklGc25jblVuTENBbmNuVXRVbFVuWFN4Y2JpQWdiR2wwYUhWaGJtbGhiam9nV3lkc2RDZGRMRnh1SUNCamVtVmphRG9nV3lkamN5Y3NJQ2RqY3kxRFdpY3NJQ2R6YXlkZExGeHVJQ0J3YjJ4cGMyZzZJRnNuY0d3blhTeGNiaUFnYVdObGJHRnVaR2xqT2lCYkoybHpKMTBzWEc0Z0lITnNiM1psYm1saGJqb2dXeWR6YkMxVFRDZGRYRzU5TzF4dVhHNW1kVzVqZEdsdmJpQnNZVzVuVkc5VWVYQmxUV0Z3S0cxaGNIQnBibWNwSUh0Y2JpQWdkbUZ5SUhKbGRDQTlJSHQ5TzF4dUlDQm1iM0pGWVdOb0tHMWhjSEJwYm1jc0lHWjFibU4wYVc5dUlDaHNZVzVuY3l3Z2RIbHdaU2tnZTF4dUlDQWdJR1p2Y2tWaFkyZ29iR0Z1WjNNc0lHWjFibU4wYVc5dUlDaHNZVzVuS1NCN1hHNGdJQ0FnSUNCeVpYUmJiR0Z1WjEwZ1BTQjBlWEJsTzF4dUlDQWdJSDBwTzF4dUlDQjlLVHRjYmlBZ2NtVjBkWEp1SUhKbGREdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2NHeDFjbUZzVkhsd1pVNWhiV1VvYkc5allXeGxLU0I3WEc0Z0lIWmhjaUJzWVc1blZHOVFiSFZ5WVd4VWVYQmxJRDBnYkdGdVoxUnZWSGx3WlUxaGNDaHdiSFZ5WVd4VWVYQmxWRzlNWVc1bmRXRm5aWE1wTzF4dUlDQnlaWFIxY200Z2JHRnVaMVJ2VUd4MWNtRnNWSGx3WlZ0c2IyTmhiR1ZkWEc0Z0lDQWdmSHdnYkdGdVoxUnZVR3gxY21Gc1ZIbHdaVnR6Y0d4cGRDNWpZV3hzS0d4dlkyRnNaU3dnTHkwdkxDQXhLVnN3WFYxY2JpQWdJQ0I4ZkNCc1lXNW5WRzlRYkhWeVlXeFVlWEJsTG1WdU8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCd2JIVnlZV3hVZVhCbFNXNWtaWGdvYkc5allXeGxMQ0JqYjNWdWRDa2dlMXh1SUNCeVpYUjFjbTRnY0d4MWNtRnNWSGx3WlhOYmNHeDFjbUZzVkhsd1pVNWhiV1VvYkc5allXeGxLVjBvWTI5MWJuUXBPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmxjMk5oY0dVb2RHOXJaVzRwSUh0Y2JpQWdjbVYwZFhKdUlIUnZhMlZ1TG5KbGNHeGhZMlVvTDFzdUtpcy9YaVI3ZlNncGZGdGNYRjFjWEZ4Y1hTOW5MQ0FuWEZ4Y1hDUW1KeWs3WEc1OVhHNWNibVoxYm1OMGFXOXVJR052Ym5OMGNuVmpkRlJ2YTJWdVVtVm5aWGdvYjNCMGN5a2dlMXh1SUNCMllYSWdjSEpsWm1sNElEMGdLRzl3ZEhNZ0ppWWdiM0IwY3k1d2NtVm1hWGdwSUh4OElDY2xleWM3WEc0Z0lIWmhjaUJ6ZFdabWFYZ2dQU0FvYjNCMGN5QW1KaUJ2Y0hSekxuTjFabVpwZUNrZ2ZId2dKMzBuTzF4dVhHNGdJR2xtSUNod2NtVm1hWGdnUFQwOUlHUmxiR2x0YVhSbGNpQjhmQ0J6ZFdabWFYZ2dQVDA5SUdSbGJHbHRhWFJsY2lrZ2UxeHVJQ0FnSUhSb2NtOTNJRzVsZHlCU1lXNW5aVVZ5Y205eUtDZGNJaWNnS3lCa1pXeHBiV2wwWlhJZ0t5QW5YQ0lnZEc5clpXNGdhWE1nY21WelpYSjJaV1FnWm05eUlIQnNkWEpoYkdsNllYUnBiMjRuS1R0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCdVpYY2dVbVZuUlhod0tHVnpZMkZ3WlNod2NtVm1hWGdwSUNzZ0p5Z3VLajhwSnlBcklHVnpZMkZ3WlNoemRXWm1hWGdwTENBblp5Y3BPMXh1ZlZ4dVhHNTJZWElnWkc5c2JHRnlVbVZuWlhnZ1BTQXZYRndrTDJjN1hHNTJZWElnWkc5c2JHRnlRbWxzYkhOWllXeHNJRDBnSnlRa0p6dGNiblpoY2lCa1pXWmhkV3gwVkc5clpXNVNaV2RsZUNBOUlDOGxYRng3S0M0cVB5bGNYSDB2Wnp0Y2JseHVMeThnSXlNaklIUnlZVzV6Wm05eWJWQm9jbUZ6WlNod2FISmhjMlVzSUhOMVluTjBhWFIxZEdsdmJuTXNJR3h2WTJGc1pTbGNiaTh2WEc0dkx5QlVZV3RsY3lCaElIQm9jbUZ6WlNCemRISnBibWNnWVc1a0lIUnlZVzV6Wm05eWJYTWdhWFFnWW5rZ1kyaHZiM05wYm1jZ2RHaGxJR052Y25KbFkzUmNiaTh2SUhCc2RYSmhiQ0JtYjNKdElHRnVaQ0JwYm5SbGNuQnZiR0YwYVc1bklHbDBMbHh1THk5Y2JpOHZJQ0FnSUNCMGNtRnVjMlp2Y20xUWFISmhjMlVvSjBobGJHeHZMQ0FsZTI1aGJXVjlJU2NzSUh0dVlXMWxPaUFuVTNCcGEyVW5mU2s3WEc0dkx5QWdJQ0FnTHk4Z1hDSklaV3hzYnl3Z1UzQnBhMlVoWENKY2JpOHZYRzR2THlCVWFHVWdZMjl5Y21WamRDQndiSFZ5WVd3Z1ptOXliU0JwY3lCelpXeGxZM1JsWkNCcFppQnpkV0p6ZEdsMGRYUnBiMjV6TG5OdFlYSjBYMk52ZFc1MFhHNHZMeUJwY3lCelpYUXVJRmx2ZFNCallXNGdjR0Z6Y3lCcGJpQmhJRzUxYldKbGNpQnBibk4wWldGa0lHOW1JR0Z1SUU5aWFtVmpkQ0JoY3lCZ2MzVmljM1JwZEhWMGFXOXVjMkJjYmk4dklHRnpJR0VnYzJodmNuUmpkWFFnWm05eUlHQnpiV0Z5ZEY5amIzVnVkR0F1WEc0dkwxeHVMeThnSUNBZ0lIUnlZVzV6Wm05eWJWQm9jbUZ6WlNnbkpYdHpiV0Z5ZEY5amIzVnVkSDBnYm1WM0lHMWxjM05oWjJWeklIeDhmSHdnTVNCdVpYY2diV1Z6YzJGblpTY3NJSHR6YldGeWRGOWpiM1Z1ZERvZ01YMHNJQ2RsYmljcE8xeHVMeThnSUNBZ0lDOHZJRndpTVNCdVpYY2diV1Z6YzJGblpWd2lYRzR2TDF4dUx5OGdJQ0FnSUhSeVlXNXpabTl5YlZCb2NtRnpaU2duSlh0emJXRnlkRjlqYjNWdWRIMGdibVYzSUcxbGMzTmhaMlZ6SUh4OGZId2dNU0J1WlhjZ2JXVnpjMkZuWlNjc0lIdHpiV0Z5ZEY5amIzVnVkRG9nTW4wc0lDZGxiaWNwTzF4dUx5OGdJQ0FnSUM4dklGd2lNaUJ1WlhjZ2JXVnpjMkZuWlhOY0lseHVMeTljYmk4dklDQWdJQ0IwY21GdWMyWnZjbTFRYUhKaGMyVW9KeVY3YzIxaGNuUmZZMjkxYm5SOUlHNWxkeUJ0WlhOellXZGxjeUI4Zkh4OElERWdibVYzSUcxbGMzTmhaMlVuTENBMUxDQW5aVzRuS1R0Y2JpOHZJQ0FnSUNBdkx5QmNJalVnYm1WM0lHMWxjM05oWjJWelhDSmNiaTh2WEc0dkx5QlpiM1VnYzJodmRXeGtJSEJoYzNNZ2FXNGdZU0IwYUdseVpDQmhjbWQxYldWdWRDd2dkR2hsSUd4dlkyRnNaU3dnZEc4Z2MzQmxZMmxtZVNCMGFHVWdZMjl5Y21WamRDQndiSFZ5WVd3Z2RIbHdaUzVjYmk4dklFbDBJR1JsWm1GMWJIUnpJSFJ2SUdBblpXNG5ZQ0IzYVhSb0lESWdjR3gxY21Gc0lHWnZjbTF6TGx4dVpuVnVZM1JwYjI0Z2RISmhibk5tYjNKdFVHaHlZWE5sS0hCb2NtRnpaU3dnYzNWaWMzUnBkSFYwYVc5dWN5d2diRzlqWVd4bExDQjBiMnRsYmxKbFoyVjRLU0I3WEc0Z0lHbG1JQ2gwZVhCbGIyWWdjR2h5WVhObElDRTlQU0FuYzNSeWFXNW5KeWtnZTF4dUlDQWdJSFJvY205M0lHNWxkeUJVZVhCbFJYSnliM0lvSjFCdmJIbG5iRzkwTG5SeVlXNXpabTl5YlZCb2NtRnpaU0JsZUhCbFkzUnpJR0Z5WjNWdFpXNTBJQ014SUhSdklHSmxJSE4wY21sdVp5Y3BPMXh1SUNCOVhHNWNiaUFnYVdZZ0tITjFZbk4wYVhSMWRHbHZibk1nUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQndhSEpoYzJVN1hHNGdJSDFjYmx4dUlDQjJZWElnY21WemRXeDBJRDBnY0doeVlYTmxPMXh1SUNCMllYSWdhVzUwWlhKd2IyeGhkR2x2YmxKbFoyVjRJRDBnZEc5clpXNVNaV2RsZUNCOGZDQmtaV1poZFd4MFZHOXJaVzVTWldkbGVEdGNibHh1SUNBdkx5QmhiR3h2ZHlCdWRXMWlaWElnWVhNZ1lTQndiSFZ5WVd4cGVtRjBhVzl1SUhOb2IzSjBZM1YwWEc0Z0lIWmhjaUJ2Y0hScGIyNXpJRDBnZEhsd1pXOW1JSE4xWW5OMGFYUjFkR2x2Ym5NZ1BUMDlJQ2R1ZFcxaVpYSW5JRDhnZXlCemJXRnlkRjlqYjNWdWREb2djM1ZpYzNScGRIVjBhVzl1Y3lCOUlEb2djM1ZpYzNScGRIVjBhVzl1Y3p0Y2JseHVJQ0F2THlCVFpXeGxZM1FnY0d4MWNtRnNJR1p2Y20wNklHSmhjMlZrSUc5dUlHRWdjR2h5WVhObElIUmxlSFFnZEdoaGRDQmpiMjUwWVdsdWN5QmdibUJjYmlBZ0x5OGdjR3gxY21Gc0lHWnZjbTF6SUhObGNHRnlZWFJsWkNCaWVTQmdaR1ZzYVcxcGRHVnlZQ3dnWVNCZ2JHOWpZV3hsWUN3Z1lXNWtJR0VnWUhOMVluTjBhWFIxZEdsdmJuTXVjMjFoY25SZlkyOTFiblJnTEZ4dUlDQXZMeUJqYUc5dmMyVWdkR2hsSUdOdmNuSmxZM1FnY0d4MWNtRnNJR1p2Y20wdUlGUm9hWE1nYVhNZ2IyNXNlU0JrYjI1bElHbG1JR0JqYjNWdWRHQWdhWE1nYzJWMExseHVJQ0JwWmlBb2IzQjBhVzl1Y3k1emJXRnlkRjlqYjNWdWRDQWhQU0J1ZFd4c0lDWW1JSEpsYzNWc2RDa2dlMXh1SUNBZ0lIWmhjaUIwWlhoMGN5QTlJSE53YkdsMExtTmhiR3dvY21WemRXeDBMQ0JrWld4cGJXbDBaWElwTzF4dUlDQWdJSEpsYzNWc2RDQTlJSFJ5YVcwb2RHVjRkSE5iY0d4MWNtRnNWSGx3WlVsdVpHVjRLR3h2WTJGc1pTQjhmQ0FuWlc0bkxDQnZjSFJwYjI1ekxuTnRZWEowWDJOdmRXNTBLVjBnZkh3Z2RHVjRkSE5iTUYwcE8xeHVJQ0I5WEc1Y2JpQWdMeThnU1c1MFpYSndiMnhoZEdVNklFTnlaV0YwWlhNZ1lTQmdVbVZuUlhod1lDQnZZbXBsWTNRZ1ptOXlJR1ZoWTJnZ2FXNTBaWEp3YjJ4aGRHbHZiaUJ3YkdGalpXaHZiR1JsY2k1Y2JpQWdjbVZ6ZFd4MElEMGdjbVZ3YkdGalpTNWpZV3hzS0hKbGMzVnNkQ3dnYVc1MFpYSndiMnhoZEdsdmJsSmxaMlY0TENCbWRXNWpkR2x2YmlBb1pYaHdjbVZ6YzJsdmJpd2dZWEpuZFcxbGJuUXBJSHRjYmlBZ0lDQnBaaUFvSVdoaGN5aHZjSFJwYjI1ekxDQmhjbWQxYldWdWRDa2dmSHdnYjNCMGFXOXVjMXRoY21kMWJXVnVkRjBnUFQwZ2JuVnNiQ2tnZXlCeVpYUjFjbTRnWlhod2NtVnpjMmx2YmpzZ2ZWeHVJQ0FnSUM4dklFVnVjM1Z5WlNCeVpYQnNZV05sYldWdWRDQjJZV3gxWlNCcGN5QmxjMk5oY0dWa0lIUnZJSEJ5WlhabGJuUWdjM0JsWTJsaGJDQWtMWEJ5WldacGVHVmtJSEpsWjJWNElISmxjR3hoWTJVZ2RHOXJaVzV6TGx4dUlDQWdJSEpsZEhWeWJpQnlaWEJzWVdObExtTmhiR3dvYjNCMGFXOXVjMXRoY21kMWJXVnVkRjBzSUdSdmJHeGhjbEpsWjJWNExDQmtiMnhzWVhKQ2FXeHNjMWxoYkd3cE8xeHVJQ0I5S1R0Y2JseHVJQ0J5WlhSMWNtNGdjbVZ6ZFd4ME8xeHVmVnh1WEc0dkx5QWpJeU1nVUc5c2VXZHNiM1FnWTJ4aGMzTWdZMjl1YzNSeWRXTjBiM0pjYm1aMWJtTjBhVzl1SUZCdmJIbG5iRzkwS0c5d2RHbHZibk1wSUh0Y2JpQWdkbUZ5SUc5d2RITWdQU0J2Y0hScGIyNXpJSHg4SUh0OU8xeHVJQ0IwYUdsekxuQm9jbUZ6WlhNZ1BTQjdmVHRjYmlBZ2RHaHBjeTVsZUhSbGJtUW9iM0IwY3k1d2FISmhjMlZ6SUh4OElIdDlLVHRjYmlBZ2RHaHBjeTVqZFhKeVpXNTBURzlqWVd4bElEMGdiM0IwY3k1c2IyTmhiR1VnZkh3Z0oyVnVKenRjYmlBZ2RtRnlJR0ZzYkc5M1RXbHpjMmx1WnlBOUlHOXdkSE11WVd4c2IzZE5hWE56YVc1bklEOGdkSEpoYm5ObWIzSnRVR2h5WVhObElEb2diblZzYkR0Y2JpQWdkR2hwY3k1dmJrMXBjM05wYm1kTFpYa2dQU0IwZVhCbGIyWWdiM0IwY3k1dmJrMXBjM05wYm1kTFpYa2dQVDA5SUNkbWRXNWpkR2x2YmljZ1B5QnZjSFJ6TG05dVRXbHpjMmx1WjB0bGVTQTZJR0ZzYkc5M1RXbHpjMmx1Wnp0Y2JpQWdkR2hwY3k1M1lYSnVJRDBnYjNCMGN5NTNZWEp1SUh4OElIZGhjbTQ3WEc0Z0lIUm9hWE11ZEc5clpXNVNaV2RsZUNBOUlHTnZibk4wY25WamRGUnZhMlZ1VW1WblpYZ29iM0IwY3k1cGJuUmxjbkJ2YkdGMGFXOXVLVHRjYm4xY2JseHVMeThnSXlNaklIQnZiSGxuYkc5MExteHZZMkZzWlNoYmJHOWpZV3hsWFNsY2JpOHZYRzR2THlCSFpYUWdiM0lnYzJWMElHeHZZMkZzWlM0Z1NXNTBaWEp1WVd4c2VTd2dVRzlzZVdkc2IzUWdiMjVzZVNCMWMyVnpJR3h2WTJGc1pTQm1iM0lnY0d4MWNtRnNhWHBoZEdsdmJpNWNibEJ2YkhsbmJHOTBMbkJ5YjNSdmRIbHdaUzVzYjJOaGJHVWdQU0JtZFc1amRHbHZiaUFvYm1WM1RHOWpZV3hsS1NCN1hHNGdJR2xtSUNodVpYZE1iMk5oYkdVcElIUm9hWE11WTNWeWNtVnVkRXh2WTJGc1pTQTlJRzVsZDB4dlkyRnNaVHRjYmlBZ2NtVjBkWEp1SUhSb2FYTXVZM1Z5Y21WdWRFeHZZMkZzWlR0Y2JuMDdYRzVjYmk4dklDTWpJeUJ3YjJ4NVoyeHZkQzVsZUhSbGJtUW9jR2h5WVhObGN5bGNiaTh2WEc0dkx5QlZjMlVnWUdWNGRHVnVaR0FnZEc4Z2RHVnNiQ0JRYjJ4NVoyeHZkQ0JvYjNjZ2RHOGdkSEpoYm5Oc1lYUmxJR0VnWjJsMlpXNGdhMlY1TGx4dUx5OWNiaTh2SUNBZ0lDQndiMng1WjJ4dmRDNWxlSFJsYm1Rb2UxeHVMeThnSUNBZ0lDQWdYQ0pvWld4c2Ixd2lPaUJjSWtobGJHeHZYQ0lzWEc0dkx5QWdJQ0FnSUNCY0ltaGxiR3h2WDI1aGJXVmNJam9nWENKSVpXeHNieXdnSlh0dVlXMWxmVndpWEc0dkx5QWdJQ0FnZlNrN1hHNHZMMXh1THk4Z1ZHaGxJR3RsZVNCallXNGdZbVVnWVc1NUlITjBjbWx1Wnk0Z0lFWmxaV3dnWm5KbFpTQjBieUJqWVd4c0lHQmxlSFJsYm1SZ0lHMTFiSFJwY0d4bElIUnBiV1Z6TzF4dUx5OGdhWFFnZDJsc2JDQnZkbVZ5Y21sa1pTQmhibmtnY0doeVlYTmxjeUIzYVhSb0lIUm9aU0J6WVcxbElHdGxlU3dnWW5WMElHeGxZWFpsSUdWNGFYTjBhVzVuSUhCb2NtRnpaWE5jYmk4dklIVnVkRzkxWTJobFpDNWNiaTh2WEc0dkx5QkpkQ0JwY3lCaGJITnZJSEJ2YzNOcFlteGxJSFJ2SUhCaGMzTWdibVZ6ZEdWa0lIQm9jbUZ6WlNCdlltcGxZM1J6TENCM2FHbGphQ0JuWlhRZ1pteGhkSFJsYm1Wa1hHNHZMeUJwYm5SdklHRnVJRzlpYW1WamRDQjNhWFJvSUhSb1pTQnVaWE4wWldRZ2EyVjVjeUJqYjI1allYUmxibUYwWldRZ2RYTnBibWNnWkc5MElHNXZkR0YwYVc5dUxseHVMeTljYmk4dklDQWdJQ0J3YjJ4NVoyeHZkQzVsZUhSbGJtUW9lMXh1THk4Z0lDQWdJQ0FnWENKdVlYWmNJam9nZTF4dUx5OGdJQ0FnSUNBZ0lDQmNJbWhsYkd4dlhDSTZJRndpU0dWc2JHOWNJaXhjYmk4dklDQWdJQ0FnSUNBZ1hDSm9aV3hzYjE5dVlXMWxYQ0k2SUZ3aVNHVnNiRzhzSUNWN2JtRnRaWDFjSWl4Y2JpOHZJQ0FnSUNBZ0lDQWdYQ0p6YVdSbFltRnlYQ0k2SUh0Y2JpOHZJQ0FnSUNBZ0lDQWdJQ0JjSW5kbGJHTnZiV1ZjSWpvZ1hDSlhaV3hqYjIxbFhDSmNiaTh2SUNBZ0lDQWdJQ0FnZlZ4dUx5OGdJQ0FnSUNBZ2ZWeHVMeThnSUNBZ0lIMHBPMXh1THk5Y2JpOHZJQ0FnSUNCamIyNXpiMnhsTG14dlp5aHdiMng1WjJ4dmRDNXdhSEpoYzJWektUdGNiaTh2SUNBZ0lDQXZMeUI3WEc0dkx5QWdJQ0FnTHk4Z0lDQW5ibUYyTG1obGJHeHZKem9nSjBobGJHeHZKeXhjYmk4dklDQWdJQ0F2THlBZ0lDZHVZWFl1YUdWc2JHOWZibUZ0WlNjNklDZElaV3hzYnl3Z0pYdHVZVzFsZlNjc1hHNHZMeUFnSUNBZ0x5OGdJQ0FuYm1GMkxuTnBaR1ZpWVhJdWQyVnNZMjl0WlNjNklDZFhaV3hqYjIxbEoxeHVMeThnSUNBZ0lDOHZJSDFjYmk4dlhHNHZMeUJnWlhoMFpXNWtZQ0JoWTJObGNIUnpJR0Z1SUc5d2RHbHZibUZzSUhObFkyOXVaQ0JoY21kMWJXVnVkQ3dnWUhCeVpXWnBlR0FzSUhkb2FXTm9JR05oYmlCaVpTQjFjMlZrWEc0dkx5QjBieUJ3Y21WbWFYZ2daWFpsY25rZ2EyVjVJR2x1SUhSb1pTQndhSEpoYzJWeklHOWlhbVZqZENCM2FYUm9JSE52YldVZ2MzUnlhVzVuTENCMWMybHVaeUJrYjNSY2JpOHZJRzV2ZEdGMGFXOXVMbHh1THk5Y2JpOHZJQ0FnSUNCd2IyeDVaMnh2ZEM1bGVIUmxibVFvZTF4dUx5OGdJQ0FnSUNBZ1hDSm9aV3hzYjF3aU9pQmNJa2hsYkd4dlhDSXNYRzR2THlBZ0lDQWdJQ0JjSW1obGJHeHZYMjVoYldWY0lqb2dYQ0pJWld4c2J5d2dKWHR1WVcxbGZWd2lYRzR2THlBZ0lDQWdmU3dnWENKdVlYWmNJaWs3WEc0dkwxeHVMeThnSUNBZ0lHTnZibk52YkdVdWJHOW5LSEJ2YkhsbmJHOTBMbkJvY21GelpYTXBPMXh1THk4Z0lDQWdJQzh2SUh0Y2JpOHZJQ0FnSUNBdkx5QWdJQ2R1WVhZdWFHVnNiRzhuT2lBblNHVnNiRzhuTEZ4dUx5OGdJQ0FnSUM4dklDQWdKMjVoZGk1b1pXeHNiMTl1WVcxbEp6b2dKMGhsYkd4dkxDQWxlMjVoYldWOUoxeHVMeThnSUNBZ0lDOHZJSDFjYmk4dlhHNHZMeUJVYUdseklHWmxZWFIxY21VZ2FYTWdkWE5sWkNCcGJuUmxjbTVoYkd4NUlIUnZJSE4xY0hCdmNuUWdibVZ6ZEdWa0lIQm9jbUZ6WlNCdlltcGxZM1J6TGx4dVVHOXNlV2RzYjNRdWNISnZkRzkwZVhCbExtVjRkR1Z1WkNBOUlHWjFibU4wYVc5dUlDaHRiM0psVUdoeVlYTmxjeXdnY0hKbFptbDRLU0I3WEc0Z0lHWnZja1ZoWTJnb2JXOXlaVkJvY21GelpYTXNJR1oxYm1OMGFXOXVJQ2h3YUhKaGMyVXNJR3RsZVNrZ2UxeHVJQ0FnSUhaaGNpQndjbVZtYVhobFpFdGxlU0E5SUhCeVpXWnBlQ0EvSUhCeVpXWnBlQ0FySUNjdUp5QXJJR3RsZVNBNklHdGxlVHRjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JSEJvY21GelpTQTlQVDBnSjI5aWFtVmpkQ2NwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVaWGgwWlc1a0tIQm9jbUZ6WlN3Z2NISmxabWw0WldSTFpYa3BPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCMGFHbHpMbkJvY21GelpYTmJjSEpsWm1sNFpXUkxaWGxkSUQwZ2NHaHlZWE5sTzF4dUlDQWdJSDFjYmlBZ2ZTd2dkR2hwY3lrN1hHNTlPMXh1WEc0dkx5QWpJeU1nY0c5c2VXZHNiM1F1ZFc1elpYUW9jR2h5WVhObGN5bGNiaTh2SUZWelpTQmdkVzV6WlhSZ0lIUnZJSE5sYkdWamRHbDJaV3g1SUhKbGJXOTJaU0JyWlhseklHWnliMjBnWVNCd2IyeDVaMnh2ZENCcGJuTjBZVzVqWlM1Y2JpOHZYRzR2THlBZ0lDQWdjRzlzZVdkc2IzUXVkVzV6WlhRb1hDSnpiMjFsWDJ0bGVWd2lLVHRjYmk4dklDQWdJQ0J3YjJ4NVoyeHZkQzUxYm5ObGRDaDdYRzR2THlBZ0lDQWdJQ0JjSW1obGJHeHZYQ0k2SUZ3aVNHVnNiRzljSWl4Y2JpOHZJQ0FnSUNBZ0lGd2lhR1ZzYkc5ZmJtRnRaVndpT2lCY0lraGxiR3h2TENBbGUyNWhiV1Y5WENKY2JpOHZJQ0FnSUNCOUtUdGNiaTh2WEc0dkx5QlVhR1VnZFc1elpYUWdiV1YwYUc5a0lHTmhiaUIwWVd0bElHVnBkR2hsY2lCaElITjBjbWx1WnlBb1ptOXlJSFJvWlNCclpYa3BMQ0J2Y2lCaGJpQnZZbXBsWTNRZ2FHRnphQ0IzYVhSb1hHNHZMeUIwYUdVZ2EyVjVjeUIwYUdGMElIbHZkU0IzYjNWc1pDQnNhV3RsSUhSdklIVnVjMlYwTGx4dVVHOXNlV2RzYjNRdWNISnZkRzkwZVhCbExuVnVjMlYwSUQwZ1puVnVZM1JwYjI0Z0tHMXZjbVZRYUhKaGMyVnpMQ0J3Y21WbWFYZ3BJSHRjYmlBZ2FXWWdLSFI1Y0dWdlppQnRiM0psVUdoeVlYTmxjeUE5UFQwZ0ozTjBjbWx1WnljcElIdGNiaUFnSUNCa1pXeGxkR1VnZEdocGN5NXdhSEpoYzJWelcyMXZjbVZRYUhKaGMyVnpYVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0JtYjNKRllXTm9LRzF2Y21WUWFISmhjMlZ6TENCbWRXNWpkR2x2YmlBb2NHaHlZWE5sTENCclpYa3BJSHRjYmlBZ0lDQWdJSFpoY2lCd2NtVm1hWGhsWkV0bGVTQTlJSEJ5WldacGVDQS9JSEJ5WldacGVDQXJJQ2N1SnlBcklHdGxlU0E2SUd0bGVUdGNiaUFnSUNBZ0lHbG1JQ2gwZVhCbGIyWWdjR2h5WVhObElEMDlQU0FuYjJKcVpXTjBKeWtnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMblZ1YzJWMEtIQm9jbUZ6WlN3Z2NISmxabWw0WldSTFpYa3BPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdaR1ZzWlhSbElIUm9hWE11Y0doeVlYTmxjMXR3Y21WbWFYaGxaRXRsZVYwN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlN3Z2RHaHBjeWs3WEc0Z0lIMWNibjA3WEc1Y2JpOHZJQ01qSXlCd2IyeDVaMnh2ZEM1amJHVmhjaWdwWEc0dkwxeHVMeThnUTJ4bFlYSnpJR0ZzYkNCd2FISmhjMlZ6TGlCVmMyVm1kV3dnWm05eUlITndaV05wWVd3Z1kyRnpaWE1zSUhOMVkyZ2dZWE1nWm5KbFpXbHVaMXh1THk4Z2RYQWdiV1Z0YjNKNUlHbG1JSGx2ZFNCb1lYWmxJR3h2ZEhNZ2IyWWdjR2h5WVhObGN5QmlkWFFnYm04Z2JHOXVaMlZ5SUc1bFpXUWdkRzljYmk4dklIQmxjbVp2Y20wZ1lXNTVJSFJ5WVc1emJHRjBhVzl1TGlCQmJITnZJSFZ6WldRZ2FXNTBaWEp1WVd4c2VTQmllU0JnY21Wd2JHRmpaV0F1WEc1UWIyeDVaMnh2ZEM1d2NtOTBiM1I1Y0dVdVkyeGxZWElnUFNCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUhSb2FYTXVjR2h5WVhObGN5QTlJSHQ5TzF4dWZUdGNibHh1THk4Z0l5TWpJSEJ2YkhsbmJHOTBMbkpsY0d4aFkyVW9jR2h5WVhObGN5bGNiaTh2WEc0dkx5QkRiMjF3YkdWMFpXeDVJSEpsY0d4aFkyVWdkR2hsSUdWNGFYTjBhVzVuSUhCb2NtRnpaWE1nZDJsMGFDQmhJRzVsZHlCelpYUWdiMllnY0doeVlYTmxjeTVjYmk4dklFNXZjbTFoYkd4NUxDQnFkWE4wSUhWelpTQmdaWGgwWlc1a1lDQjBieUJoWkdRZ2JXOXlaU0J3YUhKaGMyVnpMQ0JpZFhRZ2RXNWtaWElnWTJWeWRHRnBibHh1THk4Z1kybHlZM1Z0YzNSaGJtTmxjeXdnZVc5MUlHMWhlU0IzWVc1MElIUnZJRzFoYTJVZ2MzVnlaU0J1YnlCdmJHUWdjR2h5WVhObGN5QmhjbVVnYkhscGJtY2dZWEp2ZFc1a0xseHVVRzlzZVdkc2IzUXVjSEp2ZEc5MGVYQmxMbkpsY0d4aFkyVWdQU0JtZFc1amRHbHZiaUFvYm1WM1VHaHlZWE5sY3lrZ2UxeHVJQ0IwYUdsekxtTnNaV0Z5S0NrN1hHNGdJSFJvYVhNdVpYaDBaVzVrS0c1bGQxQm9jbUZ6WlhNcE8xeHVmVHRjYmx4dVhHNHZMeUFqSXlNZ2NHOXNlV2RzYjNRdWRDaHJaWGtzSUc5d2RHbHZibk1wWEc0dkwxeHVMeThnVkdobElHMXZjM1F0ZFhObFpDQnRaWFJvYjJRdUlGQnliM1pwWkdVZ1lTQnJaWGtzSUdGdVpDQmdkR0FnZDJsc2JDQnlaWFIxY200Z2RHaGxYRzR2THlCd2FISmhjMlV1WEc0dkwxeHVMeThnSUNBZ0lIQnZiSGxuYkc5MExuUW9YQ0pvWld4c2Ixd2lLVHRjYmk4dklDQWdJQ0E5UGlCY0lraGxiR3h2WENKY2JpOHZYRzR2THlCVWFHVWdjR2h5WVhObElIWmhiSFZsSUdseklIQnliM1pwWkdWa0lHWnBjbk4wSUdKNUlHRWdZMkZzYkNCMGJ5QmdjRzlzZVdkc2IzUXVaWGgwWlc1a0tDbGdJRzl5WEc0dkx5QmdjRzlzZVdkc2IzUXVjbVZ3YkdGalpTZ3BZQzVjYmk4dlhHNHZMeUJRWVhOeklHbHVJR0Z1SUc5aWFtVmpkQ0JoY3lCMGFHVWdjMlZqYjI1a0lHRnlaM1Z0Wlc1MElIUnZJSEJsY21admNtMGdhVzUwWlhKd2IyeGhkR2x2Ymk1Y2JpOHZYRzR2THlBZ0lDQWdjRzlzZVdkc2IzUXVkQ2hjSW1obGJHeHZYMjVoYldWY0lpd2dlMjVoYldVNklGd2lVM0JwYTJWY0luMHBPMXh1THk4Z0lDQWdJRDArSUZ3aVNHVnNiRzhzSUZOd2FXdGxYQ0pjYmk4dlhHNHZMeUJKWmlCNWIzVWdiR2xyWlN3Z2VXOTFJR05oYmlCd2NtOTJhV1JsSUdFZ1pHVm1ZWFZzZENCMllXeDFaU0JwYmlCallYTmxJSFJvWlNCd2FISmhjMlVnYVhNZ2JXbHpjMmx1Wnk1Y2JpOHZJRlZ6WlNCMGFHVWdjM0JsWTJsaGJDQnZjSFJwYjI0Z2EyVjVJRndpWDF3aUlIUnZJSE53WldOcFpua2dZU0JrWldaaGRXeDBMbHh1THk5Y2JpOHZJQ0FnSUNCd2IyeDVaMnh2ZEM1MEtGd2lhVjlzYVd0bFgzUnZYM2R5YVhSbFgybHVYMnhoYm1kMVlXZGxYQ0lzSUh0Y2JpOHZJQ0FnSUNBZ0lGODZJRndpU1NCc2FXdGxJSFJ2SUhkeWFYUmxJR2x1SUNWN2JHRnVaM1ZoWjJWOUxsd2lMRnh1THk4Z0lDQWdJQ0FnYkdGdVozVmhaMlU2SUZ3aVNtRjJZVk5qY21sd2RGd2lYRzR2THlBZ0lDQWdmU2s3WEc0dkx5QWdJQ0FnUFQ0Z1hDSkpJR3hwYTJVZ2RHOGdkM0pwZEdVZ2FXNGdTbUYyWVZOamNtbHdkQzVjSWx4dUx5OWNibEJ2YkhsbmJHOTBMbkJ5YjNSdmRIbHdaUzUwSUQwZ1puVnVZM1JwYjI0Z0tHdGxlU3dnYjNCMGFXOXVjeWtnZTF4dUlDQjJZWElnY0doeVlYTmxMQ0J5WlhOMWJIUTdYRzRnSUhaaGNpQnZjSFJ6SUQwZ2IzQjBhVzl1Y3lBOVBTQnVkV3hzSUQ4Z2UzMGdPaUJ2Y0hScGIyNXpPMXh1SUNCcFppQW9kSGx3Wlc5bUlIUm9hWE11Y0doeVlYTmxjMXRyWlhsZElEMDlQU0FuYzNSeWFXNW5KeWtnZTF4dUlDQWdJSEJvY21GelpTQTlJSFJvYVhNdWNHaHlZWE5sYzF0clpYbGRPMXh1SUNCOUlHVnNjMlVnYVdZZ0tIUjVjR1Z2WmlCdmNIUnpMbDhnUFQwOUlDZHpkSEpwYm1jbktTQjdYRzRnSUNBZ2NHaHlZWE5sSUQwZ2IzQjBjeTVmTzF4dUlDQjlJR1ZzYzJVZ2FXWWdLSFJvYVhNdWIyNU5hWE56YVc1blMyVjVLU0I3WEc0Z0lDQWdkbUZ5SUc5dVRXbHpjMmx1WjB0bGVTQTlJSFJvYVhNdWIyNU5hWE56YVc1blMyVjVPMXh1SUNBZ0lISmxjM1ZzZENBOUlHOXVUV2x6YzJsdVowdGxlU2hyWlhrc0lHOXdkSE1zSUhSb2FYTXVZM1Z5Y21WdWRFeHZZMkZzWlN3Z2RHaHBjeTUwYjJ0bGJsSmxaMlY0S1R0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCMGFHbHpMbmRoY200b0owMXBjM05wYm1jZ2RISmhibk5zWVhScGIyNGdabTl5SUd0bGVUb2dYQ0luSUNzZ2EyVjVJQ3NnSjF3aUp5azdYRzRnSUNBZ2NtVnpkV3gwSUQwZ2EyVjVPMXh1SUNCOVhHNGdJR2xtSUNoMGVYQmxiMllnY0doeVlYTmxJRDA5UFNBbmMzUnlhVzVuSnlrZ2UxeHVJQ0FnSUhKbGMzVnNkQ0E5SUhSeVlXNXpabTl5YlZCb2NtRnpaU2h3YUhKaGMyVXNJRzl3ZEhNc0lIUm9hWE11WTNWeWNtVnVkRXh2WTJGc1pTd2dkR2hwY3k1MGIydGxibEpsWjJWNEtUdGNiaUFnZlZ4dUlDQnlaWFIxY200Z2NtVnpkV3gwTzF4dWZUdGNibHh1WEc0dkx5QWpJeU1nY0c5c2VXZHNiM1F1YUdGektHdGxlU2xjYmk4dlhHNHZMeUJEYUdWamF5QnBaaUJ3YjJ4NVoyeHZkQ0JvWVhNZ1lTQjBjbUZ1YzJ4aGRHbHZiaUJtYjNJZ1oybDJaVzRnYTJWNVhHNVFiMng1WjJ4dmRDNXdjbTkwYjNSNWNHVXVhR0Z6SUQwZ1puVnVZM1JwYjI0Z0tHdGxlU2tnZTF4dUlDQnlaWFIxY200Z2FHRnpLSFJvYVhNdWNHaHlZWE5sY3l3Z2EyVjVLVHRjYm4wN1hHNWNiaTh2SUdWNGNHOXlkQ0IwY21GdWMyWnZjbTFRYUhKaGMyVmNibEJ2YkhsbmJHOTBMblJ5WVc1elptOXliVkJvY21GelpTQTlJR1oxYm1OMGFXOXVJSFJ5WVc1elptOXliU2h3YUhKaGMyVXNJSE4xWW5OMGFYUjFkR2x2Ym5Nc0lHeHZZMkZzWlNrZ2UxeHVJQ0J5WlhSMWNtNGdkSEpoYm5ObWIzSnRVR2h5WVhObEtIQm9jbUZ6WlN3Z2MzVmljM1JwZEhWMGFXOXVjeXdnYkc5allXeGxLVHRjYm4wN1hHNWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdVRzlzZVdkc2IzUTdYRzRpWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzaUxDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL25vZGUtcG9seWdsb3QvaW5kZXguanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9ub2RlLXBvbHlnbG90L25vZGVfbW9kdWxlcy93YXJuaW5nL3dhcm5pbmcuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvbm9kZS1wb2x5Z2xvdC9ub2RlX21vZHVsZXMvd2FybmluZy93YXJuaW5nLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7InVzZSBzdHJpY3QiO2V2YWwoIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE0LXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuXG5cbi8qKlxuICogU2ltaWxhciB0byBpbnZhcmlhbnQgYnV0IG9ubHkgbG9ncyBhIHdhcm5pbmcgaWYgdGhlIGNvbmRpdGlvbiBpcyBub3QgbWV0LlxuICogVGhpcyBjYW4gYmUgdXNlZCB0byBsb2cgaXNzdWVzIGluIGRldmVsb3BtZW50IGVudmlyb25tZW50cyBpbiBjcml0aWNhbFxuICogcGF0aHMuIFJlbW92aW5nIHRoZSBsb2dnaW5nIGNvZGUgZm9yIHByb2R1Y3Rpb24gZW52aXJvbm1lbnRzIHdpbGwga2VlcCB0aGVcbiAqIHNhbWUgbG9naWMgYW5kIGZvbGxvdyB0aGUgc2FtZSBjb2RlIHBhdGhzLlxuICovXG5cbnZhciBfX0RFVl9fID0gXCJkZXZlbG9wbWVudFwiICE9PSAncHJvZHVjdGlvbic7XG5cbnZhciB3YXJuaW5nID0gZnVuY3Rpb24oKSB7fTtcblxuaWYgKF9fREVWX18pIHtcbiAgdmFyIHByaW50V2FybmluZyA9IGZ1bmN0aW9uIHByaW50V2FybmluZyhmb3JtYXQsIGFyZ3MpIHtcbiAgICB2YXIgbGVuID0gYXJndW1lbnRzLmxlbmd0aDtcbiAgICBhcmdzID0gbmV3IEFycmF5KGxlbiA+IDEgPyBsZW4gLSAxIDogMCk7XG4gICAgZm9yICh2YXIga2V5ID0gMTsga2V5IDwgbGVuOyBrZXkrKykge1xuICAgICAgYXJnc1trZXkgLSAxXSA9IGFyZ3VtZW50c1trZXldO1xuICAgIH1cbiAgICB2YXIgYXJnSW5kZXggPSAwO1xuICAgIHZhciBtZXNzYWdlID0gJ1dhcm5pbmc6ICcgK1xuICAgICAgZm9ybWF0LnJlcGxhY2UoLyVzL2csIGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gYXJnc1thcmdJbmRleCsrXTtcbiAgICAgIH0pO1xuICAgIGlmICh0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IobWVzc2FnZSk7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAvLyAtLS0gV2VsY29tZSB0byBkZWJ1Z2dpbmcgUmVhY3QgLS0tXG4gICAgICAvLyBUaGlzIGVycm9yIHdhcyB0aHJvd24gYXMgYSBjb252ZW5pZW5jZSBzbyB0aGF0IHlvdSBjYW4gdXNlIHRoaXMgc3RhY2tcbiAgICAgIC8vIHRvIGZpbmQgdGhlIGNhbGxzaXRlIHRoYXQgY2F1c2VkIHRoaXMgd2FybmluZyB0byBmaXJlLlxuICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xuICAgIH0gY2F0Y2ggKHgpIHt9XG4gIH1cblxuICB3YXJuaW5nID0gZnVuY3Rpb24oY29uZGl0aW9uLCBmb3JtYXQsIGFyZ3MpIHtcbiAgICB2YXIgbGVuID0gYXJndW1lbnRzLmxlbmd0aDtcbiAgICBhcmdzID0gbmV3IEFycmF5KGxlbiA+IDIgPyBsZW4gLSAyIDogMCk7XG4gICAgZm9yICh2YXIga2V5ID0gMjsga2V5IDwgbGVuOyBrZXkrKykge1xuICAgICAgYXJnc1trZXkgLSAyXSA9IGFyZ3VtZW50c1trZXldO1xuICAgIH1cbiAgICBpZiAoZm9ybWF0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAnYHdhcm5pbmcoY29uZGl0aW9uLCBmb3JtYXQsIC4uLmFyZ3MpYCByZXF1aXJlcyBhIHdhcm5pbmcgJyArXG4gICAgICAgICAgJ21lc3NhZ2UgYXJndW1lbnQnXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoIWNvbmRpdGlvbikge1xuICAgICAgcHJpbnRXYXJuaW5nLmFwcGx5KG51bGwsIFtmb3JtYXRdLmNvbmNhdChhcmdzKSk7XG4gICAgfVxuICB9O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHdhcm5pbmc7XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12Ym05a1pTMXdiMng1WjJ4dmRDOXViMlJsWDIxdlpIVnNaWE12ZDJGeWJtbHVaeTkzWVhKdWFXNW5MbXB6TG1weklpd2ljMjkxY21ObGN5STZXeUozWldKd1lXTnJPaTh2THk0dmJtOWtaVjl0YjJSMWJHVnpMMjV2WkdVdGNHOXNlV2RzYjNRdmJtOWtaVjl0YjJSMWJHVnpMM2RoY201cGJtY3ZkMkZ5Ym1sdVp5NXFjejltWVRSbElsMHNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaThxS2x4dUlDb2dRMjl3ZVhKcFoyaDBJQ2hqS1NBeU1ERTBMWEJ5WlhObGJuUXNJRVpoWTJWaWIyOXJMQ0JKYm1NdVhHNGdLbHh1SUNvZ1ZHaHBjeUJ6YjNWeVkyVWdZMjlrWlNCcGN5QnNhV05sYm5ObFpDQjFibVJsY2lCMGFHVWdUVWxVSUd4cFkyVnVjMlVnWm05MWJtUWdhVzRnZEdobFhHNGdLaUJNU1VORlRsTkZJR1pwYkdVZ2FXNGdkR2hsSUhKdmIzUWdaR2x5WldOMGIzSjVJRzltSUhSb2FYTWdjMjkxY21ObElIUnlaV1V1WEc0Z0tpOWNibHh1SjNWelpTQnpkSEpwWTNRbk8xeHVYRzR2S2lwY2JpQXFJRk5wYldsc1lYSWdkRzhnYVc1MllYSnBZVzUwSUdKMWRDQnZibXg1SUd4dlozTWdZU0IzWVhKdWFXNW5JR2xtSUhSb1pTQmpiMjVrYVhScGIyNGdhWE1nYm05MElHMWxkQzVjYmlBcUlGUm9hWE1nWTJGdUlHSmxJSFZ6WldRZ2RHOGdiRzluSUdsemMzVmxjeUJwYmlCa1pYWmxiRzl3YldWdWRDQmxiblpwY205dWJXVnVkSE1nYVc0Z1kzSnBkR2xqWVd4Y2JpQXFJSEJoZEdoekxpQlNaVzF2ZG1sdVp5QjBhR1VnYkc5bloybHVaeUJqYjJSbElHWnZjaUJ3Y205a2RXTjBhVzl1SUdWdWRtbHliMjV0Wlc1MGN5QjNhV3hzSUd0bFpYQWdkR2hsWEc0Z0tpQnpZVzFsSUd4dloybGpJR0Z1WkNCbWIyeHNiM2NnZEdobElITmhiV1VnWTI5a1pTQndZWFJvY3k1Y2JpQXFMMXh1WEc1MllYSWdYMTlFUlZaZlh5QTlJSEJ5YjJObGMzTXVaVzUyTGs1UFJFVmZSVTVXSUNFOVBTQW5jSEp2WkhWamRHbHZiaWM3WEc1Y2JuWmhjaUIzWVhKdWFXNW5JRDBnWm5WdVkzUnBiMjRvS1NCN2ZUdGNibHh1YVdZZ0tGOWZSRVZXWDE4cElIdGNiaUFnZG1GeUlIQnlhVzUwVjJGeWJtbHVaeUE5SUdaMWJtTjBhVzl1SUhCeWFXNTBWMkZ5Ym1sdVp5aG1iM0p0WVhRc0lHRnlaM01wSUh0Y2JpQWdJQ0IyWVhJZ2JHVnVJRDBnWVhKbmRXMWxiblJ6TG14bGJtZDBhRHRjYmlBZ0lDQmhjbWR6SUQwZ2JtVjNJRUZ5Y21GNUtHeGxiaUErSURFZ1B5QnNaVzRnTFNBeElEb2dNQ2s3WEc0Z0lDQWdabTl5SUNoMllYSWdhMlY1SUQwZ01Uc2dhMlY1SUR3Z2JHVnVPeUJyWlhrckt5a2dlMXh1SUNBZ0lDQWdZWEpuYzF0clpYa2dMU0F4WFNBOUlHRnlaM1Z0Wlc1MGMxdHJaWGxkTzF4dUlDQWdJSDFjYmlBZ0lDQjJZWElnWVhKblNXNWtaWGdnUFNBd08xeHVJQ0FnSUhaaGNpQnRaWE56WVdkbElEMGdKMWRoY201cGJtYzZJQ2NnSzF4dUlDQWdJQ0FnWm05eWJXRjBMbkpsY0d4aFkyVW9MeVZ6TDJjc0lHWjFibU4wYVc5dUtDa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdZWEpuYzF0aGNtZEpibVJsZUNzclhUdGNiaUFnSUNBZ0lIMHBPMXh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdZMjl1YzI5c1pTQWhQVDBnSjNWdVpHVm1hVzVsWkNjcElIdGNiaUFnSUNBZ0lHTnZibk52YkdVdVpYSnliM0lvYldWemMyRm5aU2s3WEc0Z0lDQWdmVnh1SUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0F2THlBdExTMGdWMlZzWTI5dFpTQjBieUJrWldKMVoyZHBibWNnVW1WaFkzUWdMUzB0WEc0Z0lDQWdJQ0F2THlCVWFHbHpJR1Z5Y205eUlIZGhjeUIwYUhKdmQyNGdZWE1nWVNCamIyNTJaVzVwWlc1alpTQnpieUIwYUdGMElIbHZkU0JqWVc0Z2RYTmxJSFJvYVhNZ2MzUmhZMnRjYmlBZ0lDQWdJQzh2SUhSdklHWnBibVFnZEdobElHTmhiR3h6YVhSbElIUm9ZWFFnWTJGMWMyVmtJSFJvYVhNZ2QyRnlibWx1WnlCMGJ5Qm1hWEpsTGx4dUlDQWdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLRzFsYzNOaFoyVXBPMXh1SUNBZ0lIMGdZMkYwWTJnZ0tIZ3BJSHQ5WEc0Z0lIMWNibHh1SUNCM1lYSnVhVzVuSUQwZ1puVnVZM1JwYjI0b1kyOXVaR2wwYVc5dUxDQm1iM0p0WVhRc0lHRnlaM01wSUh0Y2JpQWdJQ0IyWVhJZ2JHVnVJRDBnWVhKbmRXMWxiblJ6TG14bGJtZDBhRHRjYmlBZ0lDQmhjbWR6SUQwZ2JtVjNJRUZ5Y21GNUtHeGxiaUErSURJZ1B5QnNaVzRnTFNBeUlEb2dNQ2s3WEc0Z0lDQWdabTl5SUNoMllYSWdhMlY1SUQwZ01qc2dhMlY1SUR3Z2JHVnVPeUJyWlhrckt5a2dlMXh1SUNBZ0lDQWdZWEpuYzF0clpYa2dMU0F5WFNBOUlHRnlaM1Z0Wlc1MGMxdHJaWGxkTzF4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvWm05eWJXRjBJRDA5UFNCMWJtUmxabWx1WldRcElIdGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2loY2JpQWdJQ0FnSUNBZ0lDQW5ZSGRoY201cGJtY29ZMjl1WkdsMGFXOXVMQ0JtYjNKdFlYUXNJQzR1TG1GeVozTXBZQ0J5WlhGMWFYSmxjeUJoSUhkaGNtNXBibWNnSnlBclhHNGdJQ0FnSUNBZ0lDQWdKMjFsYzNOaFoyVWdZWEpuZFcxbGJuUW5YRzRnSUNBZ0lDQXBPMXh1SUNBZ0lIMWNiaUFnSUNCcFppQW9JV052Ym1ScGRHbHZiaWtnZTF4dUlDQWdJQ0FnY0hKcGJuUlhZWEp1YVc1bkxtRndjR3g1S0c1MWJHd3NJRnRtYjNKdFlYUmRMbU52Ym1OaGRDaGhjbWR6S1NrN1hHNGdJQ0FnZlZ4dUlDQjlPMXh1ZlZ4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlIZGhjbTVwYm1jN1hHNGlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdJaXdpYzI5MWNtTmxVbTl2ZENJNklpSjlcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9ub2RlLXBvbHlnbG90L25vZGVfbW9kdWxlcy93YXJuaW5nL3dhcm5pbmcuanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9vYmplY3Qta2V5cy9pbmRleC5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL29iamVjdC1rZXlzL2luZGV4LmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXsidXNlIHN0cmljdCI7ZXZhbCgiXG5cbi8vIG1vZGlmaWVkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2VzLXNoaW1zL2VzNS1zaGltXG52YXIgaGFzID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcbnZhciB0b1N0ciA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7XG52YXIgc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7XG52YXIgaXNBcmdzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9pc0FyZ3VtZW50cyAqLyBcIi4vbm9kZV9tb2R1bGVzL29iamVjdC1rZXlzL2lzQXJndW1lbnRzLmpzXCIpO1xudmFyIGlzRW51bWVyYWJsZSA9IE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGU7XG52YXIgaGFzRG9udEVudW1CdWcgPSAhaXNFbnVtZXJhYmxlLmNhbGwoeyB0b1N0cmluZzogbnVsbCB9LCAndG9TdHJpbmcnKTtcbnZhciBoYXNQcm90b0VudW1CdWcgPSBpc0VudW1lcmFibGUuY2FsbChmdW5jdGlvbiAoKSB7fSwgJ3Byb3RvdHlwZScpO1xudmFyIGRvbnRFbnVtcyA9IFtcblx0J3RvU3RyaW5nJyxcblx0J3RvTG9jYWxlU3RyaW5nJyxcblx0J3ZhbHVlT2YnLFxuXHQnaGFzT3duUHJvcGVydHknLFxuXHQnaXNQcm90b3R5cGVPZicsXG5cdCdwcm9wZXJ0eUlzRW51bWVyYWJsZScsXG5cdCdjb25zdHJ1Y3Rvcidcbl07XG52YXIgZXF1YWxzQ29uc3RydWN0b3JQcm90b3R5cGUgPSBmdW5jdGlvbiAobykge1xuXHR2YXIgY3RvciA9IG8uY29uc3RydWN0b3I7XG5cdHJldHVybiBjdG9yICYmIGN0b3IucHJvdG90eXBlID09PSBvO1xufTtcbnZhciBleGNsdWRlZEtleXMgPSB7XG5cdCRhcHBsaWNhdGlvbkNhY2hlOiB0cnVlLFxuXHQkY29uc29sZTogdHJ1ZSxcblx0JGV4dGVybmFsOiB0cnVlLFxuXHQkZnJhbWU6IHRydWUsXG5cdCRmcmFtZUVsZW1lbnQ6IHRydWUsXG5cdCRmcmFtZXM6IHRydWUsXG5cdCRpbm5lckhlaWdodDogdHJ1ZSxcblx0JGlubmVyV2lkdGg6IHRydWUsXG5cdCRvdXRlckhlaWdodDogdHJ1ZSxcblx0JG91dGVyV2lkdGg6IHRydWUsXG5cdCRwYWdlWE9mZnNldDogdHJ1ZSxcblx0JHBhZ2VZT2Zmc2V0OiB0cnVlLFxuXHQkcGFyZW50OiB0cnVlLFxuXHQkc2Nyb2xsTGVmdDogdHJ1ZSxcblx0JHNjcm9sbFRvcDogdHJ1ZSxcblx0JHNjcm9sbFg6IHRydWUsXG5cdCRzY3JvbGxZOiB0cnVlLFxuXHQkc2VsZjogdHJ1ZSxcblx0JHdlYmtpdEluZGV4ZWREQjogdHJ1ZSxcblx0JHdlYmtpdFN0b3JhZ2VJbmZvOiB0cnVlLFxuXHQkd2luZG93OiB0cnVlXG59O1xudmFyIGhhc0F1dG9tYXRpb25FcXVhbGl0eUJ1ZyA9IChmdW5jdGlvbiAoKSB7XG5cdC8qIGdsb2JhbCB3aW5kb3cgKi9cblx0aWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSB7IHJldHVybiBmYWxzZTsgfVxuXHRmb3IgKHZhciBrIGluIHdpbmRvdykge1xuXHRcdHRyeSB7XG5cdFx0XHRpZiAoIWV4Y2x1ZGVkS2V5c1snJCcgKyBrXSAmJiBoYXMuY2FsbCh3aW5kb3csIGspICYmIHdpbmRvd1trXSAhPT0gbnVsbCAmJiB0eXBlb2Ygd2luZG93W2tdID09PSAnb2JqZWN0Jykge1xuXHRcdFx0XHR0cnkge1xuXHRcdFx0XHRcdGVxdWFsc0NvbnN0cnVjdG9yUHJvdG90eXBlKHdpbmRvd1trXSk7XG5cdFx0XHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdHJldHVybiB0cnVlO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gZmFsc2U7XG59KCkpO1xudmFyIGVxdWFsc0NvbnN0cnVjdG9yUHJvdG90eXBlSWZOb3RCdWdneSA9IGZ1bmN0aW9uIChvKSB7XG5cdC8qIGdsb2JhbCB3aW5kb3cgKi9cblx0aWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnIHx8ICFoYXNBdXRvbWF0aW9uRXF1YWxpdHlCdWcpIHtcblx0XHRyZXR1cm4gZXF1YWxzQ29uc3RydWN0b3JQcm90b3R5cGUobyk7XG5cdH1cblx0dHJ5IHtcblx0XHRyZXR1cm4gZXF1YWxzQ29uc3RydWN0b3JQcm90b3R5cGUobyk7XG5cdH0gY2F0Y2ggKGUpIHtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cbn07XG5cbnZhciBrZXlzU2hpbSA9IGZ1bmN0aW9uIGtleXMob2JqZWN0KSB7XG5cdHZhciBpc09iamVjdCA9IG9iamVjdCAhPT0gbnVsbCAmJiB0eXBlb2Ygb2JqZWN0ID09PSAnb2JqZWN0Jztcblx0dmFyIGlzRnVuY3Rpb24gPSB0b1N0ci5jYWxsKG9iamVjdCkgPT09ICdbb2JqZWN0IEZ1bmN0aW9uXSc7XG5cdHZhciBpc0FyZ3VtZW50cyA9IGlzQXJncyhvYmplY3QpO1xuXHR2YXIgaXNTdHJpbmcgPSBpc09iamVjdCAmJiB0b1N0ci5jYWxsKG9iamVjdCkgPT09ICdbb2JqZWN0IFN0cmluZ10nO1xuXHR2YXIgdGhlS2V5cyA9IFtdO1xuXG5cdGlmICghaXNPYmplY3QgJiYgIWlzRnVuY3Rpb24gJiYgIWlzQXJndW1lbnRzKSB7XG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcignT2JqZWN0LmtleXMgY2FsbGVkIG9uIGEgbm9uLW9iamVjdCcpO1xuXHR9XG5cblx0dmFyIHNraXBQcm90byA9IGhhc1Byb3RvRW51bUJ1ZyAmJiBpc0Z1bmN0aW9uO1xuXHRpZiAoaXNTdHJpbmcgJiYgb2JqZWN0Lmxlbmd0aCA+IDAgJiYgIWhhcy5jYWxsKG9iamVjdCwgMCkpIHtcblx0XHRmb3IgKHZhciBpID0gMDsgaSA8IG9iamVjdC5sZW5ndGg7ICsraSkge1xuXHRcdFx0dGhlS2V5cy5wdXNoKFN0cmluZyhpKSk7XG5cdFx0fVxuXHR9XG5cblx0aWYgKGlzQXJndW1lbnRzICYmIG9iamVjdC5sZW5ndGggPiAwKSB7XG5cdFx0Zm9yICh2YXIgaiA9IDA7IGogPCBvYmplY3QubGVuZ3RoOyArK2opIHtcblx0XHRcdHRoZUtleXMucHVzaChTdHJpbmcoaikpO1xuXHRcdH1cblx0fSBlbHNlIHtcblx0XHRmb3IgKHZhciBuYW1lIGluIG9iamVjdCkge1xuXHRcdFx0aWYgKCEoc2tpcFByb3RvICYmIG5hbWUgPT09ICdwcm90b3R5cGUnKSAmJiBoYXMuY2FsbChvYmplY3QsIG5hbWUpKSB7XG5cdFx0XHRcdHRoZUtleXMucHVzaChTdHJpbmcobmFtZSkpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdGlmIChoYXNEb250RW51bUJ1Zykge1xuXHRcdHZhciBza2lwQ29uc3RydWN0b3IgPSBlcXVhbHNDb25zdHJ1Y3RvclByb3RvdHlwZUlmTm90QnVnZ3kob2JqZWN0KTtcblxuXHRcdGZvciAodmFyIGsgPSAwOyBrIDwgZG9udEVudW1zLmxlbmd0aDsgKytrKSB7XG5cdFx0XHRpZiAoIShza2lwQ29uc3RydWN0b3IgJiYgZG9udEVudW1zW2tdID09PSAnY29uc3RydWN0b3InKSAmJiBoYXMuY2FsbChvYmplY3QsIGRvbnRFbnVtc1trXSkpIHtcblx0XHRcdFx0dGhlS2V5cy5wdXNoKGRvbnRFbnVtc1trXSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdHJldHVybiB0aGVLZXlzO1xufTtcblxua2V5c1NoaW0uc2hpbSA9IGZ1bmN0aW9uIHNoaW1PYmplY3RLZXlzKCkge1xuXHRpZiAoT2JqZWN0LmtleXMpIHtcblx0XHR2YXIga2V5c1dvcmtzV2l0aEFyZ3VtZW50cyA9IChmdW5jdGlvbiAoKSB7XG5cdFx0XHQvLyBTYWZhcmkgNS4wIGJ1Z1xuXHRcdFx0cmV0dXJuIChPYmplY3Qua2V5cyhhcmd1bWVudHMpIHx8ICcnKS5sZW5ndGggPT09IDI7XG5cdFx0fSgxLCAyKSk7XG5cdFx0aWYgKCFrZXlzV29ya3NXaXRoQXJndW1lbnRzKSB7XG5cdFx0XHR2YXIgb3JpZ2luYWxLZXlzID0gT2JqZWN0LmtleXM7XG5cdFx0XHRPYmplY3Qua2V5cyA9IGZ1bmN0aW9uIGtleXMob2JqZWN0KSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgZnVuYy1uYW1lLW1hdGNoaW5nXG5cdFx0XHRcdGlmIChpc0FyZ3Mob2JqZWN0KSkge1xuXHRcdFx0XHRcdHJldHVybiBvcmlnaW5hbEtleXMoc2xpY2UuY2FsbChvYmplY3QpKTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRyZXR1cm4gb3JpZ2luYWxLZXlzKG9iamVjdCk7XG5cdFx0XHRcdH1cblx0XHRcdH07XG5cdFx0fVxuXHR9IGVsc2Uge1xuXHRcdE9iamVjdC5rZXlzID0ga2V5c1NoaW07XG5cdH1cblx0cmV0dXJuIE9iamVjdC5rZXlzIHx8IGtleXNTaGltO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBrZXlzU2hpbTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZiMkpxWldOMExXdGxlWE12YVc1a1pYZ3Vhbk11YW5NaUxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTh2TGk5dWIyUmxYMjF2WkhWc1pYTXZiMkpxWldOMExXdGxlWE12YVc1a1pYZ3Vhbk0vWkRaak55SmRMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUluZFhObElITjBjbWxqZENjN1hHNWNiaTh2SUcxdlpHbG1hV1ZrSUdaeWIyMGdhSFIwY0hNNkx5OW5hWFJvZFdJdVkyOXRMMlZ6TFhOb2FXMXpMMlZ6TlMxemFHbHRYRzUyWVhJZ2FHRnpJRDBnVDJKcVpXTjBMbkJ5YjNSdmRIbHdaUzVvWVhOUGQyNVFjbTl3WlhKMGVUdGNiblpoY2lCMGIxTjBjaUE5SUU5aWFtVmpkQzV3Y205MGIzUjVjR1V1ZEc5VGRISnBibWM3WEc1MllYSWdjMnhwWTJVZ1BTQkJjbkpoZVM1d2NtOTBiM1I1Y0dVdWMyeHBZMlU3WEc1MllYSWdhWE5CY21keklEMGdjbVZ4ZFdseVpTZ25MaTlwYzBGeVozVnRaVzUwY3ljcE8xeHVkbUZ5SUdselJXNTFiV1Z5WVdKc1pTQTlJRTlpYW1WamRDNXdjbTkwYjNSNWNHVXVjSEp2Y0dWeWRIbEpjMFZ1ZFcxbGNtRmliR1U3WEc1MllYSWdhR0Z6Ukc5dWRFVnVkVzFDZFdjZ1BTQWhhWE5GYm5WdFpYSmhZbXhsTG1OaGJHd29leUIwYjFOMGNtbHVaem9nYm5Wc2JDQjlMQ0FuZEc5VGRISnBibWNuS1R0Y2JuWmhjaUJvWVhOUWNtOTBiMFZ1ZFcxQ2RXY2dQU0JwYzBWdWRXMWxjbUZpYkdVdVkyRnNiQ2htZFc1amRHbHZiaUFvS1NCN2ZTd2dKM0J5YjNSdmRIbHdaU2NwTzF4dWRtRnlJR1J2Ym5SRmJuVnRjeUE5SUZ0Y2JseDBKM1J2VTNSeWFXNW5KeXhjYmx4MEozUnZURzlqWVd4bFUzUnlhVzVuSnl4Y2JseDBKM1poYkhWbFQyWW5MRnh1WEhRbmFHRnpUM2R1VUhKdmNHVnlkSGtuTEZ4dVhIUW5hWE5RY205MGIzUjVjR1ZQWmljc1hHNWNkQ2R3Y205d1pYSjBlVWx6Ulc1MWJXVnlZV0pzWlNjc1hHNWNkQ2RqYjI1emRISjFZM1J2Y2lkY2JsMDdYRzUyWVhJZ1pYRjFZV3h6UTI5dWMzUnlkV04wYjNKUWNtOTBiM1I1Y0dVZ1BTQm1kVzVqZEdsdmJpQW9ieWtnZTF4dVhIUjJZWElnWTNSdmNpQTlJRzh1WTI5dWMzUnlkV04wYjNJN1hHNWNkSEpsZEhWeWJpQmpkRzl5SUNZbUlHTjBiM0l1Y0hKdmRHOTBlWEJsSUQwOVBTQnZPMXh1ZlR0Y2JuWmhjaUJsZUdOc2RXUmxaRXRsZVhNZ1BTQjdYRzVjZENSaGNIQnNhV05oZEdsdmJrTmhZMmhsT2lCMGNuVmxMRnh1WEhRa1kyOXVjMjlzWlRvZ2RISjFaU3hjYmx4MEpHVjRkR1Z5Ym1Gc09pQjBjblZsTEZ4dVhIUWtabkpoYldVNklIUnlkV1VzWEc1Y2RDUm1jbUZ0WlVWc1pXMWxiblE2SUhSeWRXVXNYRzVjZENSbWNtRnRaWE02SUhSeWRXVXNYRzVjZENScGJtNWxja2hsYVdkb2REb2dkSEoxWlN4Y2JseDBKR2x1Ym1WeVYybGtkR2c2SUhSeWRXVXNYRzVjZENSdmRYUmxja2hsYVdkb2REb2dkSEoxWlN4Y2JseDBKRzkxZEdWeVYybGtkR2c2SUhSeWRXVXNYRzVjZENSd1lXZGxXRTltWm5ObGREb2dkSEoxWlN4Y2JseDBKSEJoWjJWWlQyWm1jMlYwT2lCMGNuVmxMRnh1WEhRa2NHRnlaVzUwT2lCMGNuVmxMRnh1WEhRa2MyTnliMnhzVEdWbWREb2dkSEoxWlN4Y2JseDBKSE5qY205c2JGUnZjRG9nZEhKMVpTeGNibHgwSkhOamNtOXNiRmc2SUhSeWRXVXNYRzVjZENSelkzSnZiR3haT2lCMGNuVmxMRnh1WEhRa2MyVnNaam9nZEhKMVpTeGNibHgwSkhkbFltdHBkRWx1WkdWNFpXUkVRam9nZEhKMVpTeGNibHgwSkhkbFltdHBkRk4wYjNKaFoyVkpibVp2T2lCMGNuVmxMRnh1WEhRa2QybHVaRzkzT2lCMGNuVmxYRzU5TzF4dWRtRnlJR2hoYzBGMWRHOXRZWFJwYjI1RmNYVmhiR2wwZVVKMVp5QTlJQ2htZFc1amRHbHZiaUFvS1NCN1hHNWNkQzhxSUdkc2IySmhiQ0IzYVc1a2IzY2dLaTljYmx4MGFXWWdLSFI1Y0dWdlppQjNhVzVrYjNjZ1BUMDlJQ2QxYm1SbFptbHVaV1FuS1NCN0lISmxkSFZ5YmlCbVlXeHpaVHNnZlZ4dVhIUm1iM0lnS0haaGNpQnJJR2x1SUhkcGJtUnZkeWtnZTF4dVhIUmNkSFJ5ZVNCN1hHNWNkRngwWEhScFppQW9JV1Y0WTJ4MVpHVmtTMlY1YzFzbkpDY2dLeUJyWFNBbUppQm9ZWE11WTJGc2JDaDNhVzVrYjNjc0lHc3BJQ1ltSUhkcGJtUnZkMXRyWFNBaFBUMGdiblZzYkNBbUppQjBlWEJsYjJZZ2QybHVaRzkzVzJ0ZElEMDlQU0FuYjJKcVpXTjBKeWtnZTF4dVhIUmNkRngwWEhSMGNua2dlMXh1WEhSY2RGeDBYSFJjZEdWeGRXRnNjME52Ym5OMGNuVmpkRzl5VUhKdmRHOTBlWEJsS0hkcGJtUnZkMXRyWFNrN1hHNWNkRngwWEhSY2RIMGdZMkYwWTJnZ0tHVXBJSHRjYmx4MFhIUmNkRngwWEhSeVpYUjFjbTRnZEhKMVpUdGNibHgwWEhSY2RGeDBmVnh1WEhSY2RGeDBmVnh1WEhSY2RIMGdZMkYwWTJnZ0tHVXBJSHRjYmx4MFhIUmNkSEpsZEhWeWJpQjBjblZsTzF4dVhIUmNkSDFjYmx4MGZWeHVYSFJ5WlhSMWNtNGdabUZzYzJVN1hHNTlLQ2twTzF4dWRtRnlJR1Z4ZFdGc2MwTnZibk4wY25WamRHOXlVSEp2ZEc5MGVYQmxTV1pPYjNSQ2RXZG5lU0E5SUdaMWJtTjBhVzl1SUNodktTQjdYRzVjZEM4cUlHZHNiMkpoYkNCM2FXNWtiM2NnS2k5Y2JseDBhV1lnS0hSNWNHVnZaaUIzYVc1a2IzY2dQVDA5SUNkMWJtUmxabWx1WldRbklIeDhJQ0ZvWVhOQmRYUnZiV0YwYVc5dVJYRjFZV3hwZEhsQ2RXY3BJSHRjYmx4MFhIUnlaWFIxY200Z1pYRjFZV3h6UTI5dWMzUnlkV04wYjNKUWNtOTBiM1I1Y0dVb2J5azdYRzVjZEgxY2JseDBkSEo1SUh0Y2JseDBYSFJ5WlhSMWNtNGdaWEYxWVd4elEyOXVjM1J5ZFdOMGIzSlFjbTkwYjNSNWNHVW9ieWs3WEc1Y2RIMGdZMkYwWTJnZ0tHVXBJSHRjYmx4MFhIUnlaWFIxY200Z1ptRnNjMlU3WEc1Y2RIMWNibjA3WEc1Y2JuWmhjaUJyWlhselUyaHBiU0E5SUdaMWJtTjBhVzl1SUd0bGVYTW9iMkpxWldOMEtTQjdYRzVjZEhaaGNpQnBjMDlpYW1WamRDQTlJRzlpYW1WamRDQWhQVDBnYm5Wc2JDQW1KaUIwZVhCbGIyWWdiMkpxWldOMElEMDlQU0FuYjJKcVpXTjBKenRjYmx4MGRtRnlJR2x6Um5WdVkzUnBiMjRnUFNCMGIxTjBjaTVqWVd4c0tHOWlhbVZqZENrZ1BUMDlJQ2RiYjJKcVpXTjBJRVoxYm1OMGFXOXVYU2M3WEc1Y2RIWmhjaUJwYzBGeVozVnRaVzUwY3lBOUlHbHpRWEpuY3lodlltcGxZM1FwTzF4dVhIUjJZWElnYVhOVGRISnBibWNnUFNCcGMwOWlhbVZqZENBbUppQjBiMU4wY2k1allXeHNLRzlpYW1WamRDa2dQVDA5SUNkYmIySnFaV04wSUZOMGNtbHVaMTBuTzF4dVhIUjJZWElnZEdobFMyVjVjeUE5SUZ0ZE8xeHVYRzVjZEdsbUlDZ2hhWE5QWW1wbFkzUWdKaVlnSVdselJuVnVZM1JwYjI0Z0ppWWdJV2x6UVhKbmRXMWxiblJ6S1NCN1hHNWNkRngwZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2lnblQySnFaV04wTG10bGVYTWdZMkZzYkdWa0lHOXVJR0VnYm05dUxXOWlhbVZqZENjcE8xeHVYSFI5WEc1Y2JseDBkbUZ5SUhOcmFYQlFjbTkwYnlBOUlHaGhjMUJ5YjNSdlJXNTFiVUoxWnlBbUppQnBjMFoxYm1OMGFXOXVPMXh1WEhScFppQW9hWE5UZEhKcGJtY2dKaVlnYjJKcVpXTjBMbXhsYm1kMGFDQStJREFnSmlZZ0lXaGhjeTVqWVd4c0tHOWlhbVZqZEN3Z01Da3BJSHRjYmx4MFhIUm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJRzlpYW1WamRDNXNaVzVuZEdnN0lDc3JhU2tnZTF4dVhIUmNkRngwZEdobFMyVjVjeTV3ZFhOb0tGTjBjbWx1WnlocEtTazdYRzVjZEZ4MGZWeHVYSFI5WEc1Y2JseDBhV1lnS0dselFYSm5kVzFsYm5SeklDWW1JRzlpYW1WamRDNXNaVzVuZEdnZ1BpQXdLU0I3WEc1Y2RGeDBabTl5SUNoMllYSWdhaUE5SURBN0lHb2dQQ0J2WW1wbFkzUXViR1Z1WjNSb095QXJLMm9wSUh0Y2JseDBYSFJjZEhSb1pVdGxlWE11Y0hWemFDaFRkSEpwYm1jb2Fpa3BPMXh1WEhSY2RIMWNibHgwZlNCbGJITmxJSHRjYmx4MFhIUm1iM0lnS0haaGNpQnVZVzFsSUdsdUlHOWlhbVZqZENrZ2UxeHVYSFJjZEZ4MGFXWWdLQ0VvYzJ0cGNGQnliM1J2SUNZbUlHNWhiV1VnUFQwOUlDZHdjbTkwYjNSNWNHVW5LU0FtSmlCb1lYTXVZMkZzYkNodlltcGxZM1FzSUc1aGJXVXBLU0I3WEc1Y2RGeDBYSFJjZEhSb1pVdGxlWE11Y0hWemFDaFRkSEpwYm1jb2JtRnRaU2twTzF4dVhIUmNkRngwZlZ4dVhIUmNkSDFjYmx4MGZWeHVYRzVjZEdsbUlDaG9ZWE5FYjI1MFJXNTFiVUoxWnlrZ2UxeHVYSFJjZEhaaGNpQnphMmx3UTI5dWMzUnlkV04wYjNJZ1BTQmxjWFZoYkhORGIyNXpkSEoxWTNSdmNsQnliM1J2ZEhsd1pVbG1UbTkwUW5Wbloza29iMkpxWldOMEtUdGNibHh1WEhSY2RHWnZjaUFvZG1GeUlHc2dQU0F3T3lCcklEd2daRzl1ZEVWdWRXMXpMbXhsYm1kMGFEc2dLeXRyS1NCN1hHNWNkRngwWEhScFppQW9JU2h6YTJsd1EyOXVjM1J5ZFdOMGIzSWdKaVlnWkc5dWRFVnVkVzF6VzJ0ZElEMDlQU0FuWTI5dWMzUnlkV04wYjNJbktTQW1KaUJvWVhNdVkyRnNiQ2h2WW1wbFkzUXNJR1J2Ym5SRmJuVnRjMXRyWFNrcElIdGNibHgwWEhSY2RGeDBkR2hsUzJWNWN5NXdkWE5vS0dSdmJuUkZiblZ0YzF0clhTazdYRzVjZEZ4MFhIUjlYRzVjZEZ4MGZWeHVYSFI5WEc1Y2RISmxkSFZ5YmlCMGFHVkxaWGx6TzF4dWZUdGNibHh1YTJWNWMxTm9hVzB1YzJocGJTQTlJR1oxYm1OMGFXOXVJSE5vYVcxUFltcGxZM1JMWlhsektDa2dlMXh1WEhScFppQW9UMkpxWldOMExtdGxlWE1wSUh0Y2JseDBYSFIyWVhJZ2EyVjVjMWR2Y210elYybDBhRUZ5WjNWdFpXNTBjeUE5SUNobWRXNWpkR2x2YmlBb0tTQjdYRzVjZEZ4MFhIUXZMeUJUWVdaaGNta2dOUzR3SUdKMVoxeHVYSFJjZEZ4MGNtVjBkWEp1SUNoUFltcGxZM1F1YTJWNWN5aGhjbWQxYldWdWRITXBJSHg4SUNjbktTNXNaVzVuZEdnZ1BUMDlJREk3WEc1Y2RGeDBmU2d4TENBeUtTazdYRzVjZEZ4MGFXWWdLQ0ZyWlhselYyOXlhM05YYVhSb1FYSm5kVzFsYm5SektTQjdYRzVjZEZ4MFhIUjJZWElnYjNKcFoybHVZV3hMWlhseklEMGdUMkpxWldOMExtdGxlWE03WEc1Y2RGeDBYSFJQWW1wbFkzUXVhMlY1Y3lBOUlHWjFibU4wYVc5dUlHdGxlWE1vYjJKcVpXTjBLU0I3SUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFd4cGJtVWdablZ1WXkxdVlXMWxMVzFoZEdOb2FXNW5YRzVjZEZ4MFhIUmNkR2xtSUNocGMwRnlaM01vYjJKcVpXTjBLU2tnZTF4dVhIUmNkRngwWEhSY2RISmxkSFZ5YmlCdmNtbG5hVzVoYkV0bGVYTW9jMnhwWTJVdVkyRnNiQ2h2WW1wbFkzUXBLVHRjYmx4MFhIUmNkRngwZlNCbGJITmxJSHRjYmx4MFhIUmNkRngwWEhSeVpYUjFjbTRnYjNKcFoybHVZV3hMWlhsektHOWlhbVZqZENrN1hHNWNkRngwWEhSY2RIMWNibHgwWEhSY2RIMDdYRzVjZEZ4MGZWeHVYSFI5SUdWc2MyVWdlMXh1WEhSY2RFOWlhbVZqZEM1clpYbHpJRDBnYTJWNWMxTm9hVzA3WEc1Y2RIMWNibHgwY21WMGRYSnVJRTlpYW1WamRDNXJaWGx6SUh4OElHdGxlWE5UYUdsdE8xeHVmVHRjYmx4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCclpYbHpVMmhwYlR0Y2JpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk95SXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9vYmplY3Qta2V5cy9pbmRleC5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL29iamVjdC1rZXlzL2lzQXJndW1lbnRzLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvb2JqZWN0LWtleXMvaXNBcmd1bWVudHMuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18peyJ1c2Ugc3RyaWN0IjtldmFsKCJcblxudmFyIHRvU3RyID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBpc0FyZ3VtZW50cyh2YWx1ZSkge1xuXHR2YXIgc3RyID0gdG9TdHIuY2FsbCh2YWx1ZSk7XG5cdHZhciBpc0FyZ3MgPSBzdHIgPT09ICdbb2JqZWN0IEFyZ3VtZW50c10nO1xuXHRpZiAoIWlzQXJncykge1xuXHRcdGlzQXJncyA9IHN0ciAhPT0gJ1tvYmplY3QgQXJyYXldJyAmJlxuXHRcdFx0dmFsdWUgIT09IG51bGwgJiZcblx0XHRcdHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiZcblx0XHRcdHR5cGVvZiB2YWx1ZS5sZW5ndGggPT09ICdudW1iZXInICYmXG5cdFx0XHR2YWx1ZS5sZW5ndGggPj0gMCAmJlxuXHRcdFx0dG9TdHIuY2FsbCh2YWx1ZS5jYWxsZWUpID09PSAnW29iamVjdCBGdW5jdGlvbl0nO1xuXHR9XG5cdHJldHVybiBpc0FyZ3M7XG59O1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmIySnFaV04wTFd0bGVYTXZhWE5CY21kMWJXVnVkSE11YW5NdWFuTWlMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk4dkxpOXViMlJsWDIxdlpIVnNaWE12YjJKcVpXTjBMV3RsZVhNdmFYTkJjbWQxYldWdWRITXVhbk0vWkRSaFlpSmRMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUluZFhObElITjBjbWxqZENjN1hHNWNiblpoY2lCMGIxTjBjaUE5SUU5aWFtVmpkQzV3Y205MGIzUjVjR1V1ZEc5VGRISnBibWM3WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1puVnVZM1JwYjI0Z2FYTkJjbWQxYldWdWRITW9kbUZzZFdVcElIdGNibHgwZG1GeUlITjBjaUE5SUhSdlUzUnlMbU5oYkd3b2RtRnNkV1VwTzF4dVhIUjJZWElnYVhOQmNtZHpJRDBnYzNSeUlEMDlQU0FuVzI5aWFtVmpkQ0JCY21kMWJXVnVkSE5kSnp0Y2JseDBhV1lnS0NGcGMwRnlaM01wSUh0Y2JseDBYSFJwYzBGeVozTWdQU0J6ZEhJZ0lUMDlJQ2RiYjJKcVpXTjBJRUZ5Y21GNVhTY2dKaVpjYmx4MFhIUmNkSFpoYkhWbElDRTlQU0J1ZFd4c0lDWW1YRzVjZEZ4MFhIUjBlWEJsYjJZZ2RtRnNkV1VnUFQwOUlDZHZZbXBsWTNRbklDWW1YRzVjZEZ4MFhIUjBlWEJsYjJZZ2RtRnNkV1V1YkdWdVozUm9JRDA5UFNBbmJuVnRZbVZ5SnlBbUpseHVYSFJjZEZ4MGRtRnNkV1V1YkdWdVozUm9JRDQ5SURBZ0ppWmNibHgwWEhSY2RIUnZVM1J5TG1OaGJHd29kbUZzZFdVdVkyRnNiR1ZsS1NBOVBUMGdKMXR2WW1wbFkzUWdSblZ1WTNScGIyNWRKenRjYmx4MGZWeHVYSFJ5WlhSMWNtNGdhWE5CY21kek8xeHVmVHRjYmlKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzaUxDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL29iamVjdC1rZXlzL2lzQXJndW1lbnRzLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvc3RyaW5nLnByb3RvdHlwZS50cmltL2ltcGxlbWVudGF0aW9uLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL3N0cmluZy5wcm90b3R5cGUudHJpbS9pbXBsZW1lbnRhdGlvbi5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18peyJ1c2Ugc3RyaWN0IjtldmFsKCJcblxudmFyIENoZWNrT2JqZWN0Q29lcmNpYmxlID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgZXMtYWJzdHJhY3QvNS9DaGVja09iamVjdENvZXJjaWJsZSAqLyBcIi4vbm9kZV9tb2R1bGVzL3N0cmluZy5wcm90b3R5cGUudHJpbS9ub2RlX21vZHVsZXMvZXMtYWJzdHJhY3QvNS9DaGVja09iamVjdENvZXJjaWJsZS5qc1wiKTtcbnZhciBUb1N0cmluZyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGVzLWFic3RyYWN0LzIwMTkvVG9TdHJpbmcgKi8gXCIuL25vZGVfbW9kdWxlcy9zdHJpbmcucHJvdG90eXBlLnRyaW0vbm9kZV9tb2R1bGVzL2VzLWFic3RyYWN0LzIwMTkvVG9TdHJpbmcuanNcIik7XG52YXIgY2FsbEJvdW5kID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgZXMtYWJzdHJhY3QvaGVscGVycy9jYWxsQm91bmQgKi8gXCIuL25vZGVfbW9kdWxlcy9zdHJpbmcucHJvdG90eXBlLnRyaW0vbm9kZV9tb2R1bGVzL2VzLWFic3RyYWN0L2hlbHBlcnMvY2FsbEJvdW5kLmpzXCIpO1xudmFyICRyZXBsYWNlID0gY2FsbEJvdW5kKCdTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UnKTtcblxuLyogZXNsaW50LWRpc2FibGUgbm8tY29udHJvbC1yZWdleCAqL1xudmFyIGxlZnRXaGl0ZXNwYWNlID0gL15bXFx4MDlcXHgwQVxceDBCXFx4MENcXHgwRFxceDIwXFx4QTBcXHUxNjgwXFx1MTgwRVxcdTIwMDBcXHUyMDAxXFx1MjAwMlxcdTIwMDNcXHUyMDA0XFx1MjAwNVxcdTIwMDZcXHUyMDA3XFx1MjAwOFxcdTIwMDlcXHUyMDBBXFx1MjAyRlxcdTIwNUZcXHUzMDAwXFx1MjAyOFxcdTIwMjlcXHVGRUZGXSsvO1xudmFyIHJpZ2h0V2hpdGVzcGFjZSA9IC9bXFx4MDlcXHgwQVxceDBCXFx4MENcXHgwRFxceDIwXFx4QTBcXHUxNjgwXFx1MTgwRVxcdTIwMDBcXHUyMDAxXFx1MjAwMlxcdTIwMDNcXHUyMDA0XFx1MjAwNVxcdTIwMDZcXHUyMDA3XFx1MjAwOFxcdTIwMDlcXHUyMDBBXFx1MjAyRlxcdTIwNUZcXHUzMDAwXFx1MjAyOFxcdTIwMjlcXHVGRUZGXSskLztcbi8qIGVzbGludC1lbmFibGUgbm8tY29udHJvbC1yZWdleCAqL1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIHRyaW0oKSB7XG5cdHZhciBTID0gVG9TdHJpbmcoQ2hlY2tPYmplY3RDb2VyY2libGUodGhpcykpO1xuXHRyZXR1cm4gJHJlcGxhY2UoJHJlcGxhY2UoUywgbGVmdFdoaXRlc3BhY2UsICcnKSwgcmlnaHRXaGl0ZXNwYWNlLCAnJyk7XG59O1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmMzUnlhVzVuTG5CeWIzUnZkSGx3WlM1MGNtbHRMMmx0Y0d4bGJXVnVkR0YwYVc5dUxtcHpMbXB6SWl3aWMyOTFjbU5sY3lJNld5SjNaV0p3WVdOck9pOHZMeTR2Ym05a1pWOXRiMlIxYkdWekwzTjBjbWx1Wnk1d2NtOTBiM1I1Y0dVdWRISnBiUzlwYlhCc1pXMWxiblJoZEdsdmJpNXFjejgxTmpKbElsMHNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaWQxYzJVZ2MzUnlhV04wSnp0Y2JseHVkbUZ5SUVOb1pXTnJUMkpxWldOMFEyOWxjbU5wWW14bElEMGdjbVZ4ZFdseVpTZ25aWE10WVdKemRISmhZM1F2TlM5RGFHVmphMDlpYW1WamRFTnZaWEpqYVdKc1pTY3BPMXh1ZG1GeUlGUnZVM1J5YVc1bklEMGdjbVZ4ZFdseVpTZ25aWE10WVdKemRISmhZM1F2TWpBeE9TOVViMU4wY21sdVp5Y3BPMXh1ZG1GeUlHTmhiR3hDYjNWdVpDQTlJSEpsY1hWcGNtVW9KMlZ6TFdGaWMzUnlZV04wTDJobGJIQmxjbk12WTJGc2JFSnZkVzVrSnlrN1hHNTJZWElnSkhKbGNHeGhZMlVnUFNCallXeHNRbTkxYm1Rb0oxTjBjbWx1Wnk1d2NtOTBiM1I1Y0dVdWNtVndiR0ZqWlNjcE8xeHVYRzR2S2lCbGMyeHBiblF0WkdsellXSnNaU0J1YnkxamIyNTBjbTlzTFhKbFoyVjRJQ292WEc1MllYSWdiR1ZtZEZkb2FYUmxjM0JoWTJVZ1BTQXZYbHRjWEhnd09WeGNlREJCWEZ4NE1FSmNYSGd3UTF4Y2VEQkVYRng0TWpCY1hIaEJNRnhjZFRFMk9EQmNYSFV4T0RCRlhGeDFNakF3TUZ4Y2RUSXdNREZjWEhVeU1EQXlYRngxTWpBd00xeGNkVEl3TURSY1hIVXlNREExWEZ4MU1qQXdObHhjZFRJd01EZGNYSFV5TURBNFhGeDFNakF3T1Z4Y2RUSXdNRUZjWEhVeU1ESkdYRngxTWpBMVJseGNkVE13TURCY1hIVXlNREk0WEZ4MU1qQXlPVnhjZFVaRlJrWmRLeTg3WEc1MllYSWdjbWxuYUhSWGFHbDBaWE53WVdObElEMGdMMXRjWEhnd09WeGNlREJCWEZ4NE1FSmNYSGd3UTF4Y2VEQkVYRng0TWpCY1hIaEJNRnhjZFRFMk9EQmNYSFV4T0RCRlhGeDFNakF3TUZ4Y2RUSXdNREZjWEhVeU1EQXlYRngxTWpBd00xeGNkVEl3TURSY1hIVXlNREExWEZ4MU1qQXdObHhjZFRJd01EZGNYSFV5TURBNFhGeDFNakF3T1Z4Y2RUSXdNRUZjWEhVeU1ESkdYRngxTWpBMVJseGNkVE13TURCY1hIVXlNREk0WEZ4MU1qQXlPVnhjZFVaRlJrWmRLeVF2TzF4dUx5b2daWE5zYVc1MExXVnVZV0pzWlNCdWJ5MWpiMjUwY205c0xYSmxaMlY0SUNvdlhHNWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdablZ1WTNScGIyNGdkSEpwYlNncElIdGNibHgwZG1GeUlGTWdQU0JVYjFOMGNtbHVaeWhEYUdWamEwOWlhbVZqZEVOdlpYSmphV0pzWlNoMGFHbHpLU2s3WEc1Y2RISmxkSFZ5YmlBa2NtVndiR0ZqWlNna2NtVndiR0ZqWlNoVExDQnNaV1owVjJocGRHVnpjR0ZqWlN3Z0p5Y3BMQ0J5YVdkb2RGZG9hWFJsYzNCaFkyVXNJQ2NuS1R0Y2JuMDdYRzRpWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk95SXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9zdHJpbmcucHJvdG90eXBlLnRyaW0vaW1wbGVtZW50YXRpb24uanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9zdHJpbmcucHJvdG90eXBlLnRyaW0vaW5kZXguanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvc3RyaW5nLnByb3RvdHlwZS50cmltL2luZGV4LmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7InVzZSBzdHJpY3QiO2V2YWwoIlxuXG52YXIgY2FsbEJpbmQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBlcy1hYnN0cmFjdC9oZWxwZXJzL2NhbGxCaW5kICovIFwiLi9ub2RlX21vZHVsZXMvc3RyaW5nLnByb3RvdHlwZS50cmltL25vZGVfbW9kdWxlcy9lcy1hYnN0cmFjdC9oZWxwZXJzL2NhbGxCaW5kLmpzXCIpO1xudmFyIGRlZmluZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGRlZmluZS1wcm9wZXJ0aWVzICovIFwiLi9ub2RlX21vZHVsZXMvZGVmaW5lLXByb3BlcnRpZXMvaW5kZXguanNcIik7XG5cbnZhciBpbXBsZW1lbnRhdGlvbiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vaW1wbGVtZW50YXRpb24gKi8gXCIuL25vZGVfbW9kdWxlcy9zdHJpbmcucHJvdG90eXBlLnRyaW0vaW1wbGVtZW50YXRpb24uanNcIik7XG52YXIgZ2V0UG9seWZpbGwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL3BvbHlmaWxsICovIFwiLi9ub2RlX21vZHVsZXMvc3RyaW5nLnByb3RvdHlwZS50cmltL3BvbHlmaWxsLmpzXCIpO1xudmFyIHNoaW0gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL3NoaW0gKi8gXCIuL25vZGVfbW9kdWxlcy9zdHJpbmcucHJvdG90eXBlLnRyaW0vc2hpbS5qc1wiKTtcblxudmFyIGJvdW5kVHJpbSA9IGNhbGxCaW5kKGdldFBvbHlmaWxsKCkpO1xuXG5kZWZpbmUoYm91bmRUcmltLCB7XG5cdGdldFBvbHlmaWxsOiBnZXRQb2x5ZmlsbCxcblx0aW1wbGVtZW50YXRpb246IGltcGxlbWVudGF0aW9uLFxuXHRzaGltOiBzaGltXG59KTtcblxubW9kdWxlLmV4cG9ydHMgPSBib3VuZFRyaW07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12YzNSeWFXNW5MbkJ5YjNSdmRIbHdaUzUwY21sdEwybHVaR1Y0TG1wekxtcHpJaXdpYzI5MWNtTmxjeUk2V3lKM1pXSndZV05yT2k4dkx5NHZibTlrWlY5dGIyUjFiR1Z6TDNOMGNtbHVaeTV3Y205MGIzUjVjR1V1ZEhKcGJTOXBibVJsZUM1cWN6OWpZVGxtSWwwc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpZDFjMlVnYzNSeWFXTjBKenRjYmx4dWRtRnlJR05oYkd4Q2FXNWtJRDBnY21WeGRXbHlaU2duWlhNdFlXSnpkSEpoWTNRdmFHVnNjR1Z5Y3k5allXeHNRbWx1WkNjcE8xeHVkbUZ5SUdSbFptbHVaU0E5SUhKbGNYVnBjbVVvSjJSbFptbHVaUzF3Y205d1pYSjBhV1Z6SnlrN1hHNWNiblpoY2lCcGJYQnNaVzFsYm5SaGRHbHZiaUE5SUhKbGNYVnBjbVVvSnk0dmFXMXdiR1Z0Wlc1MFlYUnBiMjRuS1R0Y2JuWmhjaUJuWlhSUWIyeDVabWxzYkNBOUlISmxjWFZwY21Vb0p5NHZjRzlzZVdacGJHd25LVHRjYm5aaGNpQnphR2x0SUQwZ2NtVnhkV2x5WlNnbkxpOXphR2x0SnlrN1hHNWNiblpoY2lCaWIzVnVaRlJ5YVcwZ1BTQmpZV3hzUW1sdVpDaG5aWFJRYjJ4NVptbHNiQ2dwS1R0Y2JseHVaR1ZtYVc1bEtHSnZkVzVrVkhKcGJTd2dlMXh1WEhSblpYUlFiMng1Wm1sc2JEb2daMlYwVUc5c2VXWnBiR3dzWEc1Y2RHbHRjR3hsYldWdWRHRjBhVzl1T2lCcGJYQnNaVzFsYm5SaGRHbHZiaXhjYmx4MGMyaHBiVG9nYzJocGJWeHVmU2s3WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1ltOTFibVJVY21sdE8xeHVJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN0lpd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3N0cmluZy5wcm90b3R5cGUudHJpbS9pbmRleC5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL3N0cmluZy5wcm90b3R5cGUudHJpbS9ub2RlX21vZHVsZXMvZXMtYWJzdHJhY3QvMjAxOS9Ub1N0cmluZy5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9zdHJpbmcucHJvdG90eXBlLnRyaW0vbm9kZV9tb2R1bGVzL2VzLWFic3RyYWN0LzIwMTkvVG9TdHJpbmcuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXsidXNlIHN0cmljdCI7ZXZhbCgiXG5cbnZhciBHZXRJbnRyaW5zaWMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi9HZXRJbnRyaW5zaWMgKi8gXCIuL25vZGVfbW9kdWxlcy9zdHJpbmcucHJvdG90eXBlLnRyaW0vbm9kZV9tb2R1bGVzL2VzLWFic3RyYWN0L0dldEludHJpbnNpYy5qc1wiKTtcblxudmFyICRTdHJpbmcgPSBHZXRJbnRyaW5zaWMoJyVTdHJpbmclJyk7XG52YXIgJFR5cGVFcnJvciA9IEdldEludHJpbnNpYygnJVR5cGVFcnJvciUnKTtcblxuLy8gaHR0cHM6Ly93d3cuZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi82LjAvI3NlYy10b3N0cmluZ1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIFRvU3RyaW5nKGFyZ3VtZW50KSB7XG5cdGlmICh0eXBlb2YgYXJndW1lbnQgPT09ICdzeW1ib2wnKSB7XG5cdFx0dGhyb3cgbmV3ICRUeXBlRXJyb3IoJ0Nhbm5vdCBjb252ZXJ0IGEgU3ltYm9sIHZhbHVlIHRvIGEgc3RyaW5nJyk7XG5cdH1cblx0cmV0dXJuICRTdHJpbmcoYXJndW1lbnQpO1xufTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZjM1J5YVc1bkxuQnliM1J2ZEhsd1pTNTBjbWx0TDI1dlpHVmZiVzlrZFd4bGN5OWxjeTFoWW5OMGNtRmpkQzh5TURFNUwxUnZVM1J5YVc1bkxtcHpMbXB6SWl3aWMyOTFjbU5sY3lJNld5SjNaV0p3WVdOck9pOHZMeTR2Ym05a1pWOXRiMlIxYkdWekwzTjBjbWx1Wnk1d2NtOTBiM1I1Y0dVdWRISnBiUzl1YjJSbFgyMXZaSFZzWlhNdlpYTXRZV0p6ZEhKaFkzUXZNakF4T1M5VWIxTjBjbWx1Wnk1cWN6OHhNVFV6SWwwc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpZDFjMlVnYzNSeWFXTjBKenRjYmx4dWRtRnlJRWRsZEVsdWRISnBibk5wWXlBOUlISmxjWFZwY21Vb0p5NHVMMGRsZEVsdWRISnBibk5wWXljcE8xeHVYRzUyWVhJZ0pGTjBjbWx1WnlBOUlFZGxkRWx1ZEhKcGJuTnBZeWduSlZOMGNtbHVaeVVuS1R0Y2JuWmhjaUFrVkhsd1pVVnljbTl5SUQwZ1IyVjBTVzUwY21sdWMybGpLQ2NsVkhsd1pVVnljbTl5SlNjcE8xeHVYRzR2THlCb2RIUndjem92TDNkM2R5NWxZMjFoTFdsdWRHVnlibUYwYVc5dVlXd3ViM0puTDJWamJXRXRNall5THpZdU1DOGpjMlZqTFhSdmMzUnlhVzVuWEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1puVnVZM1JwYjI0Z1ZHOVRkSEpwYm1jb1lYSm5kVzFsYm5RcElIdGNibHgwYVdZZ0tIUjVjR1Z2WmlCaGNtZDFiV1Z1ZENBOVBUMGdKM041YldKdmJDY3BJSHRjYmx4MFhIUjBhSEp2ZHlCdVpYY2dKRlI1Y0dWRmNuSnZjaWduUTJGdWJtOTBJR052Ym5abGNuUWdZU0JUZVcxaWIyd2dkbUZzZFdVZ2RHOGdZU0J6ZEhKcGJtY25LVHRjYmx4MGZWeHVYSFJ5WlhSMWNtNGdKRk4wY21sdVp5aGhjbWQxYldWdWRDazdYRzU5TzF4dUlsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN0lpd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3N0cmluZy5wcm90b3R5cGUudHJpbS9ub2RlX21vZHVsZXMvZXMtYWJzdHJhY3QvMjAxOS9Ub1N0cmluZy5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL3N0cmluZy5wcm90b3R5cGUudHJpbS9ub2RlX21vZHVsZXMvZXMtYWJzdHJhY3QvNS9DaGVja09iamVjdENvZXJjaWJsZS5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9zdHJpbmcucHJvdG90eXBlLnRyaW0vbm9kZV9tb2R1bGVzL2VzLWFic3RyYWN0LzUvQ2hlY2tPYmplY3RDb2VyY2libGUuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXsidXNlIHN0cmljdCI7ZXZhbCgiXG5cbnZhciBHZXRJbnRyaW5zaWMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi9HZXRJbnRyaW5zaWMgKi8gXCIuL25vZGVfbW9kdWxlcy9zdHJpbmcucHJvdG90eXBlLnRyaW0vbm9kZV9tb2R1bGVzL2VzLWFic3RyYWN0L0dldEludHJpbnNpYy5qc1wiKTtcblxudmFyICRUeXBlRXJyb3IgPSBHZXRJbnRyaW5zaWMoJyVUeXBlRXJyb3IlJyk7XG5cbi8vIGh0dHA6Ly93d3cuZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi81LjEvI3NlYy05LjEwXG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gQ2hlY2tPYmplY3RDb2VyY2libGUodmFsdWUsIG9wdE1lc3NhZ2UpIHtcblx0aWYgKHZhbHVlID09IG51bGwpIHtcblx0XHR0aHJvdyBuZXcgJFR5cGVFcnJvcihvcHRNZXNzYWdlIHx8ICgnQ2Fubm90IGNhbGwgbWV0aG9kIG9uICcgKyB2YWx1ZSkpO1xuXHR9XG5cdHJldHVybiB2YWx1ZTtcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12YzNSeWFXNW5MbkJ5YjNSdmRIbHdaUzUwY21sdEwyNXZaR1ZmYlc5a2RXeGxjeTlsY3kxaFluTjBjbUZqZEM4MUwwTm9aV05yVDJKcVpXTjBRMjlsY21OcFlteGxMbXB6TG1weklpd2ljMjkxY21ObGN5STZXeUozWldKd1lXTnJPaTh2THk0dmJtOWtaVjl0YjJSMWJHVnpMM04wY21sdVp5NXdjbTkwYjNSNWNHVXVkSEpwYlM5dWIyUmxYMjF2WkhWc1pYTXZaWE10WVdKemRISmhZM1F2TlM5RGFHVmphMDlpYW1WamRFTnZaWEpqYVdKc1pTNXFjejgwTmpBeElsMHNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaWQxYzJVZ2MzUnlhV04wSnp0Y2JseHVkbUZ5SUVkbGRFbHVkSEpwYm5OcFl5QTlJSEpsY1hWcGNtVW9KeTR1TDBkbGRFbHVkSEpwYm5OcFl5Y3BPMXh1WEc1MllYSWdKRlI1Y0dWRmNuSnZjaUE5SUVkbGRFbHVkSEpwYm5OcFl5Z25KVlI1Y0dWRmNuSnZjaVVuS1R0Y2JseHVMeThnYUhSMGNEb3ZMM2QzZHk1bFkyMWhMV2x1ZEdWeWJtRjBhVzl1WVd3dWIzSm5MMlZqYldFdE1qWXlMelV1TVM4amMyVmpMVGt1TVRCY2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQm1kVzVqZEdsdmJpQkRhR1ZqYTA5aWFtVmpkRU52WlhKamFXSnNaU2gyWVd4MVpTd2diM0IwVFdWemMyRm5aU2tnZTF4dVhIUnBaaUFvZG1Gc2RXVWdQVDBnYm5Wc2JDa2dlMXh1WEhSY2RIUm9jbTkzSUc1bGR5QWtWSGx3WlVWeWNtOXlLRzl3ZEUxbGMzTmhaMlVnZkh3Z0tDZERZVzV1YjNRZ1kyRnNiQ0J0WlhSb2IyUWdiMjRnSnlBcklIWmhiSFZsS1NrN1hHNWNkSDFjYmx4MGNtVjBkWEp1SUhaaGJIVmxPMXh1ZlR0Y2JpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHNpTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvc3RyaW5nLnByb3RvdHlwZS50cmltL25vZGVfbW9kdWxlcy9lcy1hYnN0cmFjdC81L0NoZWNrT2JqZWN0Q29lcmNpYmxlLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvc3RyaW5nLnByb3RvdHlwZS50cmltL25vZGVfbW9kdWxlcy9lcy1hYnN0cmFjdC9HZXRJbnRyaW5zaWMuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9zdHJpbmcucHJvdG90eXBlLnRyaW0vbm9kZV9tb2R1bGVzL2VzLWFic3RyYWN0L0dldEludHJpbnNpYy5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7InVzZSBzdHJpY3QiO2V2YWwoIlxuXG4vKiBnbG9iYWxzXG5cdEF0b21pY3MsXG5cdFNoYXJlZEFycmF5QnVmZmVyLFxuKi9cblxudmFyIHVuZGVmaW5lZDtcblxudmFyICRUeXBlRXJyb3IgPSBUeXBlRXJyb3I7XG5cbnZhciAkZ09QRCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7XG5pZiAoJGdPUEQpIHtcblx0dHJ5IHtcblx0XHQkZ09QRCh7fSwgJycpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0JGdPUEQgPSBudWxsOyAvLyB0aGlzIGlzIElFIDgsIHdoaWNoIGhhcyBhIGJyb2tlbiBnT1BEXG5cdH1cbn1cblxudmFyIHRocm93VHlwZUVycm9yID0gZnVuY3Rpb24gKCkgeyB0aHJvdyBuZXcgJFR5cGVFcnJvcigpOyB9O1xudmFyIFRocm93VHlwZUVycm9yID0gJGdPUERcblx0PyAoZnVuY3Rpb24gKCkge1xuXHRcdHRyeSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLWV4cHJlc3Npb25zLCBuby1jYWxsZXIsIG5vLXJlc3RyaWN0ZWQtcHJvcGVydGllc1xuXHRcdFx0YXJndW1lbnRzLmNhbGxlZTsgLy8gSUUgOCBkb2VzIG5vdCB0aHJvdyBoZXJlXG5cdFx0XHRyZXR1cm4gdGhyb3dUeXBlRXJyb3I7XG5cdFx0fSBjYXRjaCAoY2FsbGVlVGhyb3dzKSB7XG5cdFx0XHR0cnkge1xuXHRcdFx0XHQvLyBJRSA4IHRocm93cyBvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyZ3VtZW50cywgJycpXG5cdFx0XHRcdHJldHVybiAkZ09QRChhcmd1bWVudHMsICdjYWxsZWUnKS5nZXQ7XG5cdFx0XHR9IGNhdGNoIChnT1BEdGhyb3dzKSB7XG5cdFx0XHRcdHJldHVybiB0aHJvd1R5cGVFcnJvcjtcblx0XHRcdH1cblx0XHR9XG5cdH0oKSlcblx0OiB0aHJvd1R5cGVFcnJvcjtcblxudmFyIGhhc1N5bWJvbHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBoYXMtc3ltYm9scyAqLyBcIi4vbm9kZV9tb2R1bGVzL3N0cmluZy5wcm90b3R5cGUudHJpbS9ub2RlX21vZHVsZXMvaGFzLXN5bWJvbHMvaW5kZXguanNcIikoKTtcblxudmFyIGdldFByb3RvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mIHx8IGZ1bmN0aW9uICh4KSB7IHJldHVybiB4Ll9fcHJvdG9fXzsgfTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1wcm90b1xuXG52YXIgZ2VuZXJhdG9yOyAvLyA9IGZ1bmN0aW9uICogKCkge307XG52YXIgZ2VuZXJhdG9yRnVuY3Rpb24gPSBnZW5lcmF0b3IgPyBnZXRQcm90byhnZW5lcmF0b3IpIDogdW5kZWZpbmVkO1xudmFyIGFzeW5jRm47IC8vIGFzeW5jIGZ1bmN0aW9uKCkge307XG52YXIgYXN5bmNGdW5jdGlvbiA9IGFzeW5jRm4gPyBhc3luY0ZuLmNvbnN0cnVjdG9yIDogdW5kZWZpbmVkO1xudmFyIGFzeW5jR2VuOyAvLyBhc3luYyBmdW5jdGlvbiAqICgpIHt9O1xudmFyIGFzeW5jR2VuRnVuY3Rpb24gPSBhc3luY0dlbiA/IGdldFByb3RvKGFzeW5jR2VuKSA6IHVuZGVmaW5lZDtcbnZhciBhc3luY0dlbkl0ZXJhdG9yID0gYXN5bmNHZW4gPyBhc3luY0dlbigpIDogdW5kZWZpbmVkO1xuXG52YXIgVHlwZWRBcnJheSA9IHR5cGVvZiBVaW50OEFycmF5ID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IGdldFByb3RvKFVpbnQ4QXJyYXkpO1xuXG52YXIgSU5UUklOU0lDUyA9IHtcblx0JyVBcnJheSUnOiBBcnJheSxcblx0JyVBcnJheUJ1ZmZlciUnOiB0eXBlb2YgQXJyYXlCdWZmZXIgPT09ICd1bmRlZmluZWQnID8gdW5kZWZpbmVkIDogQXJyYXlCdWZmZXIsXG5cdCclQXJyYXlCdWZmZXJQcm90b3R5cGUlJzogdHlwZW9mIEFycmF5QnVmZmVyID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IEFycmF5QnVmZmVyLnByb3RvdHlwZSxcblx0JyVBcnJheUl0ZXJhdG9yUHJvdG90eXBlJSc6IGhhc1N5bWJvbHMgPyBnZXRQcm90byhbXVtTeW1ib2wuaXRlcmF0b3JdKCkpIDogdW5kZWZpbmVkLFxuXHQnJUFycmF5UHJvdG90eXBlJSc6IEFycmF5LnByb3RvdHlwZSxcblx0JyVBcnJheVByb3RvX2VudHJpZXMlJzogQXJyYXkucHJvdG90eXBlLmVudHJpZXMsXG5cdCclQXJyYXlQcm90b19mb3JFYWNoJSc6IEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLFxuXHQnJUFycmF5UHJvdG9fa2V5cyUnOiBBcnJheS5wcm90b3R5cGUua2V5cyxcblx0JyVBcnJheVByb3RvX3ZhbHVlcyUnOiBBcnJheS5wcm90b3R5cGUudmFsdWVzLFxuXHQnJUFzeW5jRnJvbVN5bmNJdGVyYXRvclByb3RvdHlwZSUnOiB1bmRlZmluZWQsXG5cdCclQXN5bmNGdW5jdGlvbiUnOiBhc3luY0Z1bmN0aW9uLFxuXHQnJUFzeW5jRnVuY3Rpb25Qcm90b3R5cGUlJzogYXN5bmNGdW5jdGlvbiA/IGFzeW5jRnVuY3Rpb24ucHJvdG90eXBlIDogdW5kZWZpbmVkLFxuXHQnJUFzeW5jR2VuZXJhdG9yJSc6IGFzeW5jR2VuID8gZ2V0UHJvdG8oYXN5bmNHZW5JdGVyYXRvcikgOiB1bmRlZmluZWQsXG5cdCclQXN5bmNHZW5lcmF0b3JGdW5jdGlvbiUnOiBhc3luY0dlbkZ1bmN0aW9uLFxuXHQnJUFzeW5jR2VuZXJhdG9yUHJvdG90eXBlJSc6IGFzeW5jR2VuRnVuY3Rpb24gPyBhc3luY0dlbkZ1bmN0aW9uLnByb3RvdHlwZSA6IHVuZGVmaW5lZCxcblx0JyVBc3luY0l0ZXJhdG9yUHJvdG90eXBlJSc6IGFzeW5jR2VuSXRlcmF0b3IgJiYgaGFzU3ltYm9scyAmJiBTeW1ib2wuYXN5bmNJdGVyYXRvciA/IGFzeW5jR2VuSXRlcmF0b3JbU3ltYm9sLmFzeW5jSXRlcmF0b3JdKCkgOiB1bmRlZmluZWQsXG5cdCclQXRvbWljcyUnOiB0eXBlb2YgQXRvbWljcyA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBBdG9taWNzLFxuXHQnJUJvb2xlYW4lJzogQm9vbGVhbixcblx0JyVCb29sZWFuUHJvdG90eXBlJSc6IEJvb2xlYW4ucHJvdG90eXBlLFxuXHQnJURhdGFWaWV3JSc6IHR5cGVvZiBEYXRhVmlldyA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBEYXRhVmlldyxcblx0JyVEYXRhVmlld1Byb3RvdHlwZSUnOiB0eXBlb2YgRGF0YVZpZXcgPT09ICd1bmRlZmluZWQnID8gdW5kZWZpbmVkIDogRGF0YVZpZXcucHJvdG90eXBlLFxuXHQnJURhdGUlJzogRGF0ZSxcblx0JyVEYXRlUHJvdG90eXBlJSc6IERhdGUucHJvdG90eXBlLFxuXHQnJWRlY29kZVVSSSUnOiBkZWNvZGVVUkksXG5cdCclZGVjb2RlVVJJQ29tcG9uZW50JSc6IGRlY29kZVVSSUNvbXBvbmVudCxcblx0JyVlbmNvZGVVUkklJzogZW5jb2RlVVJJLFxuXHQnJWVuY29kZVVSSUNvbXBvbmVudCUnOiBlbmNvZGVVUklDb21wb25lbnQsXG5cdCclRXJyb3IlJzogRXJyb3IsXG5cdCclRXJyb3JQcm90b3R5cGUlJzogRXJyb3IucHJvdG90eXBlLFxuXHQnJWV2YWwlJzogZXZhbCwgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1ldmFsXG5cdCclRXZhbEVycm9yJSc6IEV2YWxFcnJvcixcblx0JyVFdmFsRXJyb3JQcm90b3R5cGUlJzogRXZhbEVycm9yLnByb3RvdHlwZSxcblx0JyVGbG9hdDMyQXJyYXklJzogdHlwZW9mIEZsb2F0MzJBcnJheSA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBGbG9hdDMyQXJyYXksXG5cdCclRmxvYXQzMkFycmF5UHJvdG90eXBlJSc6IHR5cGVvZiBGbG9hdDMyQXJyYXkgPT09ICd1bmRlZmluZWQnID8gdW5kZWZpbmVkIDogRmxvYXQzMkFycmF5LnByb3RvdHlwZSxcblx0JyVGbG9hdDY0QXJyYXklJzogdHlwZW9mIEZsb2F0NjRBcnJheSA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBGbG9hdDY0QXJyYXksXG5cdCclRmxvYXQ2NEFycmF5UHJvdG90eXBlJSc6IHR5cGVvZiBGbG9hdDY0QXJyYXkgPT09ICd1bmRlZmluZWQnID8gdW5kZWZpbmVkIDogRmxvYXQ2NEFycmF5LnByb3RvdHlwZSxcblx0JyVGdW5jdGlvbiUnOiBGdW5jdGlvbixcblx0JyVGdW5jdGlvblByb3RvdHlwZSUnOiBGdW5jdGlvbi5wcm90b3R5cGUsXG5cdCclR2VuZXJhdG9yJSc6IGdlbmVyYXRvciA/IGdldFByb3RvKGdlbmVyYXRvcigpKSA6IHVuZGVmaW5lZCxcblx0JyVHZW5lcmF0b3JGdW5jdGlvbiUnOiBnZW5lcmF0b3JGdW5jdGlvbixcblx0JyVHZW5lcmF0b3JQcm90b3R5cGUlJzogZ2VuZXJhdG9yRnVuY3Rpb24gPyBnZW5lcmF0b3JGdW5jdGlvbi5wcm90b3R5cGUgOiB1bmRlZmluZWQsXG5cdCclSW50OEFycmF5JSc6IHR5cGVvZiBJbnQ4QXJyYXkgPT09ICd1bmRlZmluZWQnID8gdW5kZWZpbmVkIDogSW50OEFycmF5LFxuXHQnJUludDhBcnJheVByb3RvdHlwZSUnOiB0eXBlb2YgSW50OEFycmF5ID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IEludDhBcnJheS5wcm90b3R5cGUsXG5cdCclSW50MTZBcnJheSUnOiB0eXBlb2YgSW50MTZBcnJheSA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBJbnQxNkFycmF5LFxuXHQnJUludDE2QXJyYXlQcm90b3R5cGUlJzogdHlwZW9mIEludDE2QXJyYXkgPT09ICd1bmRlZmluZWQnID8gdW5kZWZpbmVkIDogSW50OEFycmF5LnByb3RvdHlwZSxcblx0JyVJbnQzMkFycmF5JSc6IHR5cGVvZiBJbnQzMkFycmF5ID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IEludDMyQXJyYXksXG5cdCclSW50MzJBcnJheVByb3RvdHlwZSUnOiB0eXBlb2YgSW50MzJBcnJheSA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBJbnQzMkFycmF5LnByb3RvdHlwZSxcblx0JyVpc0Zpbml0ZSUnOiBpc0Zpbml0ZSxcblx0JyVpc05hTiUnOiBpc05hTixcblx0JyVJdGVyYXRvclByb3RvdHlwZSUnOiBoYXNTeW1ib2xzID8gZ2V0UHJvdG8oZ2V0UHJvdG8oW11bU3ltYm9sLml0ZXJhdG9yXSgpKSkgOiB1bmRlZmluZWQsXG5cdCclSlNPTiUnOiB0eXBlb2YgSlNPTiA9PT0gJ29iamVjdCcgPyBKU09OIDogdW5kZWZpbmVkLFxuXHQnJUpTT05QYXJzZSUnOiB0eXBlb2YgSlNPTiA9PT0gJ29iamVjdCcgPyBKU09OLnBhcnNlIDogdW5kZWZpbmVkLFxuXHQnJU1hcCUnOiB0eXBlb2YgTWFwID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IE1hcCxcblx0JyVNYXBJdGVyYXRvclByb3RvdHlwZSUnOiB0eXBlb2YgTWFwID09PSAndW5kZWZpbmVkJyB8fCAhaGFzU3ltYm9scyA/IHVuZGVmaW5lZCA6IGdldFByb3RvKG5ldyBNYXAoKVtTeW1ib2wuaXRlcmF0b3JdKCkpLFxuXHQnJU1hcFByb3RvdHlwZSUnOiB0eXBlb2YgTWFwID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IE1hcC5wcm90b3R5cGUsXG5cdCclTWF0aCUnOiBNYXRoLFxuXHQnJU51bWJlciUnOiBOdW1iZXIsXG5cdCclTnVtYmVyUHJvdG90eXBlJSc6IE51bWJlci5wcm90b3R5cGUsXG5cdCclT2JqZWN0JSc6IE9iamVjdCxcblx0JyVPYmplY3RQcm90b3R5cGUlJzogT2JqZWN0LnByb3RvdHlwZSxcblx0JyVPYmpQcm90b190b1N0cmluZyUnOiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLFxuXHQnJU9ialByb3RvX3ZhbHVlT2YlJzogT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLFxuXHQnJXBhcnNlRmxvYXQlJzogcGFyc2VGbG9hdCxcblx0JyVwYXJzZUludCUnOiBwYXJzZUludCxcblx0JyVQcm9taXNlJSc6IHR5cGVvZiBQcm9taXNlID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IFByb21pc2UsXG5cdCclUHJvbWlzZVByb3RvdHlwZSUnOiB0eXBlb2YgUHJvbWlzZSA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBQcm9taXNlLnByb3RvdHlwZSxcblx0JyVQcm9taXNlUHJvdG9fdGhlbiUnOiB0eXBlb2YgUHJvbWlzZSA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBQcm9taXNlLnByb3RvdHlwZS50aGVuLFxuXHQnJVByb21pc2VfYWxsJSc6IHR5cGVvZiBQcm9taXNlID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IFByb21pc2UuYWxsLFxuXHQnJVByb21pc2VfcmVqZWN0JSc6IHR5cGVvZiBQcm9taXNlID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IFByb21pc2UucmVqZWN0LFxuXHQnJVByb21pc2VfcmVzb2x2ZSUnOiB0eXBlb2YgUHJvbWlzZSA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBQcm9taXNlLnJlc29sdmUsXG5cdCclUHJveHklJzogdHlwZW9mIFByb3h5ID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IFByb3h5LFxuXHQnJVJhbmdlRXJyb3IlJzogUmFuZ2VFcnJvcixcblx0JyVSYW5nZUVycm9yUHJvdG90eXBlJSc6IFJhbmdlRXJyb3IucHJvdG90eXBlLFxuXHQnJVJlZmVyZW5jZUVycm9yJSc6IFJlZmVyZW5jZUVycm9yLFxuXHQnJVJlZmVyZW5jZUVycm9yUHJvdG90eXBlJSc6IFJlZmVyZW5jZUVycm9yLnByb3RvdHlwZSxcblx0JyVSZWZsZWN0JSc6IHR5cGVvZiBSZWZsZWN0ID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IFJlZmxlY3QsXG5cdCclUmVnRXhwJSc6IFJlZ0V4cCxcblx0JyVSZWdFeHBQcm90b3R5cGUlJzogUmVnRXhwLnByb3RvdHlwZSxcblx0JyVTZXQlJzogdHlwZW9mIFNldCA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBTZXQsXG5cdCclU2V0SXRlcmF0b3JQcm90b3R5cGUlJzogdHlwZW9mIFNldCA9PT0gJ3VuZGVmaW5lZCcgfHwgIWhhc1N5bWJvbHMgPyB1bmRlZmluZWQgOiBnZXRQcm90byhuZXcgU2V0KClbU3ltYm9sLml0ZXJhdG9yXSgpKSxcblx0JyVTZXRQcm90b3R5cGUlJzogdHlwZW9mIFNldCA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBTZXQucHJvdG90eXBlLFxuXHQnJVNoYXJlZEFycmF5QnVmZmVyJSc6IHR5cGVvZiBTaGFyZWRBcnJheUJ1ZmZlciA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBTaGFyZWRBcnJheUJ1ZmZlcixcblx0JyVTaGFyZWRBcnJheUJ1ZmZlclByb3RvdHlwZSUnOiB0eXBlb2YgU2hhcmVkQXJyYXlCdWZmZXIgPT09ICd1bmRlZmluZWQnID8gdW5kZWZpbmVkIDogU2hhcmVkQXJyYXlCdWZmZXIucHJvdG90eXBlLFxuXHQnJVN0cmluZyUnOiBTdHJpbmcsXG5cdCclU3RyaW5nSXRlcmF0b3JQcm90b3R5cGUlJzogaGFzU3ltYm9scyA/IGdldFByb3RvKCcnW1N5bWJvbC5pdGVyYXRvcl0oKSkgOiB1bmRlZmluZWQsXG5cdCclU3RyaW5nUHJvdG90eXBlJSc6IFN0cmluZy5wcm90b3R5cGUsXG5cdCclU3ltYm9sJSc6IGhhc1N5bWJvbHMgPyBTeW1ib2wgOiB1bmRlZmluZWQsXG5cdCclU3ltYm9sUHJvdG90eXBlJSc6IGhhc1N5bWJvbHMgPyBTeW1ib2wucHJvdG90eXBlIDogdW5kZWZpbmVkLFxuXHQnJVN5bnRheEVycm9yJSc6IFN5bnRheEVycm9yLFxuXHQnJVN5bnRheEVycm9yUHJvdG90eXBlJSc6IFN5bnRheEVycm9yLnByb3RvdHlwZSxcblx0JyVUaHJvd1R5cGVFcnJvciUnOiBUaHJvd1R5cGVFcnJvcixcblx0JyVUeXBlZEFycmF5JSc6IFR5cGVkQXJyYXksXG5cdCclVHlwZWRBcnJheVByb3RvdHlwZSUnOiBUeXBlZEFycmF5ID8gVHlwZWRBcnJheS5wcm90b3R5cGUgOiB1bmRlZmluZWQsXG5cdCclVHlwZUVycm9yJSc6ICRUeXBlRXJyb3IsXG5cdCclVHlwZUVycm9yUHJvdG90eXBlJSc6ICRUeXBlRXJyb3IucHJvdG90eXBlLFxuXHQnJVVpbnQ4QXJyYXklJzogdHlwZW9mIFVpbnQ4QXJyYXkgPT09ICd1bmRlZmluZWQnID8gdW5kZWZpbmVkIDogVWludDhBcnJheSxcblx0JyVVaW50OEFycmF5UHJvdG90eXBlJSc6IHR5cGVvZiBVaW50OEFycmF5ID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IFVpbnQ4QXJyYXkucHJvdG90eXBlLFxuXHQnJVVpbnQ4Q2xhbXBlZEFycmF5JSc6IHR5cGVvZiBVaW50OENsYW1wZWRBcnJheSA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBVaW50OENsYW1wZWRBcnJheSxcblx0JyVVaW50OENsYW1wZWRBcnJheVByb3RvdHlwZSUnOiB0eXBlb2YgVWludDhDbGFtcGVkQXJyYXkgPT09ICd1bmRlZmluZWQnID8gdW5kZWZpbmVkIDogVWludDhDbGFtcGVkQXJyYXkucHJvdG90eXBlLFxuXHQnJVVpbnQxNkFycmF5JSc6IHR5cGVvZiBVaW50MTZBcnJheSA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBVaW50MTZBcnJheSxcblx0JyVVaW50MTZBcnJheVByb3RvdHlwZSUnOiB0eXBlb2YgVWludDE2QXJyYXkgPT09ICd1bmRlZmluZWQnID8gdW5kZWZpbmVkIDogVWludDE2QXJyYXkucHJvdG90eXBlLFxuXHQnJVVpbnQzMkFycmF5JSc6IHR5cGVvZiBVaW50MzJBcnJheSA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBVaW50MzJBcnJheSxcblx0JyVVaW50MzJBcnJheVByb3RvdHlwZSUnOiB0eXBlb2YgVWludDMyQXJyYXkgPT09ICd1bmRlZmluZWQnID8gdW5kZWZpbmVkIDogVWludDMyQXJyYXkucHJvdG90eXBlLFxuXHQnJVVSSUVycm9yJSc6IFVSSUVycm9yLFxuXHQnJVVSSUVycm9yUHJvdG90eXBlJSc6IFVSSUVycm9yLnByb3RvdHlwZSxcblx0JyVXZWFrTWFwJSc6IHR5cGVvZiBXZWFrTWFwID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IFdlYWtNYXAsXG5cdCclV2Vha01hcFByb3RvdHlwZSUnOiB0eXBlb2YgV2Vha01hcCA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBXZWFrTWFwLnByb3RvdHlwZSxcblx0JyVXZWFrU2V0JSc6IHR5cGVvZiBXZWFrU2V0ID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IFdlYWtTZXQsXG5cdCclV2Vha1NldFByb3RvdHlwZSUnOiB0eXBlb2YgV2Vha1NldCA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBXZWFrU2V0LnByb3RvdHlwZVxufTtcblxudmFyIGJpbmQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBmdW5jdGlvbi1iaW5kICovIFwiLi9ub2RlX21vZHVsZXMvZnVuY3Rpb24tYmluZC9pbmRleC5qc1wiKTtcbnZhciAkcmVwbGFjZSA9IGJpbmQuY2FsbChGdW5jdGlvbi5jYWxsLCBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UpO1xuXG4vKiBhZGFwdGVkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2xvZGFzaC9sb2Rhc2gvYmxvYi80LjE3LjE1L2Rpc3QvbG9kYXNoLmpzI0w2NzM1LUw2NzQ0ICovXG52YXIgcmVQcm9wTmFtZSA9IC9bXiUuW1xcXV0rfFxcWyg/OigtP1xcZCsoPzpcXC5cXGQrKT8pfChbXCInXSkoKD86KD8hXFwyKVteXFxcXF18XFxcXC4pKj8pXFwyKVxcXXwoPz0oPzpcXC58XFxbXFxdKSg/OlxcLnxcXFtcXF18JSQpKS9nO1xudmFyIHJlRXNjYXBlQ2hhciA9IC9cXFxcKFxcXFwpPy9nOyAvKiogVXNlZCB0byBtYXRjaCBiYWNrc2xhc2hlcyBpbiBwcm9wZXJ0eSBwYXRocy4gKi9cbnZhciBzdHJpbmdUb1BhdGggPSBmdW5jdGlvbiBzdHJpbmdUb1BhdGgoc3RyaW5nKSB7XG5cdHZhciByZXN1bHQgPSBbXTtcblx0JHJlcGxhY2Uoc3RyaW5nLCByZVByb3BOYW1lLCBmdW5jdGlvbiAobWF0Y2gsIG51bWJlciwgcXVvdGUsIHN1YlN0cmluZykge1xuXHRcdHJlc3VsdFtyZXN1bHQubGVuZ3RoXSA9IHF1b3RlID8gJHJlcGxhY2Uoc3ViU3RyaW5nLCByZUVzY2FwZUNoYXIsICckMScpIDogKG51bWJlciB8fCBtYXRjaCk7XG5cdH0pO1xuXHRyZXR1cm4gcmVzdWx0O1xufTtcbi8qIGVuZCBhZGFwdGF0aW9uICovXG5cbnZhciBnZXRCYXNlSW50cmluc2ljID0gZnVuY3Rpb24gZ2V0QmFzZUludHJpbnNpYyhuYW1lLCBhbGxvd01pc3NpbmcpIHtcblx0aWYgKCEobmFtZSBpbiBJTlRSSU5TSUNTKSkge1xuXHRcdHRocm93IG5ldyBTeW50YXhFcnJvcignaW50cmluc2ljICcgKyBuYW1lICsgJyBkb2VzIG5vdCBleGlzdCEnKTtcblx0fVxuXG5cdC8vIGlzdGFuYnVsIGlnbm9yZSBpZiAvLyBob3BlZnVsbHkgdGhpcyBpcyBpbXBvc3NpYmxlIHRvIHRlc3QgOi0pXG5cdGlmICh0eXBlb2YgSU5UUklOU0lDU1tuYW1lXSA9PT0gJ3VuZGVmaW5lZCcgJiYgIWFsbG93TWlzc2luZykge1xuXHRcdHRocm93IG5ldyAkVHlwZUVycm9yKCdpbnRyaW5zaWMgJyArIG5hbWUgKyAnIGV4aXN0cywgYnV0IGlzIG5vdCBhdmFpbGFibGUuIFBsZWFzZSBmaWxlIGFuIGlzc3VlIScpO1xuXHR9XG5cblx0cmV0dXJuIElOVFJJTlNJQ1NbbmFtZV07XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIEdldEludHJpbnNpYyhuYW1lLCBhbGxvd01pc3NpbmcpIHtcblx0aWYgKHR5cGVvZiBuYW1lICE9PSAnc3RyaW5nJyB8fCBuYW1lLmxlbmd0aCA9PT0gMCkge1xuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoJ2ludHJpbnNpYyBuYW1lIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nJyk7XG5cdH1cblx0aWYgKGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIHR5cGVvZiBhbGxvd01pc3NpbmcgIT09ICdib29sZWFuJykge1xuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoJ1wiYWxsb3dNaXNzaW5nXCIgYXJndW1lbnQgbXVzdCBiZSBhIGJvb2xlYW4nKTtcblx0fVxuXG5cdHZhciBwYXJ0cyA9IHN0cmluZ1RvUGF0aChuYW1lKTtcblxuXHR2YXIgdmFsdWUgPSBnZXRCYXNlSW50cmluc2ljKCclJyArIChwYXJ0cy5sZW5ndGggPiAwID8gcGFydHNbMF0gOiAnJykgKyAnJScsIGFsbG93TWlzc2luZyk7XG5cdGZvciAodmFyIGkgPSAxOyBpIDwgcGFydHMubGVuZ3RoOyBpICs9IDEpIHtcblx0XHRpZiAodmFsdWUgIT0gbnVsbCkge1xuXHRcdFx0aWYgKCRnT1BEICYmIChpICsgMSkgPj0gcGFydHMubGVuZ3RoKSB7XG5cdFx0XHRcdHZhciBkZXNjID0gJGdPUEQodmFsdWUsIHBhcnRzW2ldKTtcblx0XHRcdFx0aWYgKCFhbGxvd01pc3NpbmcgJiYgIShwYXJ0c1tpXSBpbiB2YWx1ZSkpIHtcblx0XHRcdFx0XHR0aHJvdyBuZXcgJFR5cGVFcnJvcignYmFzZSBpbnRyaW5zaWMgZm9yICcgKyBuYW1lICsgJyBleGlzdHMsIGJ1dCB0aGUgcHJvcGVydHkgaXMgbm90IGF2YWlsYWJsZS4nKTtcblx0XHRcdFx0fVxuXHRcdFx0XHR2YWx1ZSA9IGRlc2MgPyAoZGVzYy5nZXQgfHwgZGVzYy52YWx1ZSkgOiB2YWx1ZVtwYXJ0c1tpXV07XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR2YWx1ZSA9IHZhbHVlW3BhcnRzW2ldXTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0cmV0dXJuIHZhbHVlO1xufTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZjM1J5YVc1bkxuQnliM1J2ZEhsd1pTNTBjbWx0TDI1dlpHVmZiVzlrZFd4bGN5OWxjeTFoWW5OMGNtRmpkQzlIWlhSSmJuUnlhVzV6YVdNdWFuTXVhbk1pTENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OHZMaTl1YjJSbFgyMXZaSFZzWlhNdmMzUnlhVzVuTG5CeWIzUnZkSGx3WlM1MGNtbHRMMjV2WkdWZmJXOWtkV3hsY3k5bGN5MWhZbk4wY21GamRDOUhaWFJKYm5SeWFXNXphV011YW5NL09ETmpNaUpkTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJbmRYTmxJSE4wY21samRDYzdYRzVjYmk4cUlHZHNiMkpoYkhOY2JseDBRWFJ2YldsamN5eGNibHgwVTJoaGNtVmtRWEp5WVhsQ2RXWm1aWElzWEc0cUwxeHVYRzUyWVhJZ2RXNWtaV1pwYm1Wa08xeHVYRzUyWVhJZ0pGUjVjR1ZGY25KdmNpQTlJRlI1Y0dWRmNuSnZjanRjYmx4dWRtRnlJQ1JuVDFCRUlEMGdUMkpxWldOMExtZGxkRTkzYmxCeWIzQmxjblI1UkdWelkzSnBjSFJ2Y2p0Y2JtbG1JQ2drWjA5UVJDa2dlMXh1WEhSMGNua2dlMXh1WEhSY2RDUm5UMUJFS0h0OUxDQW5KeWs3WEc1Y2RIMGdZMkYwWTJnZ0tHVXBJSHRjYmx4MFhIUWtaMDlRUkNBOUlHNTFiR3c3SUM4dklIUm9hWE1nYVhNZ1NVVWdPQ3dnZDJocFkyZ2dhR0Z6SUdFZ1luSnZhMlZ1SUdkUFVFUmNibHgwZlZ4dWZWeHVYRzUyWVhJZ2RHaHliM2RVZVhCbFJYSnliM0lnUFNCbWRXNWpkR2x2YmlBb0tTQjdJSFJvY205M0lHNWxkeUFrVkhsd1pVVnljbTl5S0NrN0lIMDdYRzUyWVhJZ1ZHaHliM2RVZVhCbFJYSnliM0lnUFNBa1owOVFSRnh1WEhRL0lDaG1kVzVqZEdsdmJpQW9LU0I3WEc1Y2RGeDBkSEo1SUh0Y2JseDBYSFJjZEM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFc1bGVIUXRiR2x1WlNCdWJ5MTFiblZ6WldRdFpYaHdjbVZ6YzJsdmJuTXNJRzV2TFdOaGJHeGxjaXdnYm04dGNtVnpkSEpwWTNSbFpDMXdjbTl3WlhKMGFXVnpYRzVjZEZ4MFhIUmhjbWQxYldWdWRITXVZMkZzYkdWbE95QXZMeUJKUlNBNElHUnZaWE1nYm05MElIUm9jbTkzSUdobGNtVmNibHgwWEhSY2RISmxkSFZ5YmlCMGFISnZkMVI1Y0dWRmNuSnZjanRjYmx4MFhIUjlJR05oZEdOb0lDaGpZV3hzWldWVWFISnZkM01wSUh0Y2JseDBYSFJjZEhSeWVTQjdYRzVjZEZ4MFhIUmNkQzh2SUVsRklEZ2dkR2h5YjNkeklHOXVJRTlpYW1WamRDNW5aWFJQZDI1UWNtOXdaWEowZVVSbGMyTnlhWEIwYjNJb1lYSm5kVzFsYm5SekxDQW5KeWxjYmx4MFhIUmNkRngwY21WMGRYSnVJQ1JuVDFCRUtHRnlaM1Z0Wlc1MGN5d2dKMk5oYkd4bFpTY3BMbWRsZER0Y2JseDBYSFJjZEgwZ1kyRjBZMmdnS0dkUFVFUjBhSEp2ZDNNcElIdGNibHgwWEhSY2RGeDBjbVYwZFhKdUlIUm9jbTkzVkhsd1pVVnljbTl5TzF4dVhIUmNkRngwZlZ4dVhIUmNkSDFjYmx4MGZTZ3BLVnh1WEhRNklIUm9jbTkzVkhsd1pVVnljbTl5TzF4dVhHNTJZWElnYUdGelUzbHRZbTlzY3lBOUlISmxjWFZwY21Vb0oyaGhjeTF6ZVcxaWIyeHpKeWtvS1R0Y2JseHVkbUZ5SUdkbGRGQnliM1J2SUQwZ1QySnFaV04wTG1kbGRGQnliM1J2ZEhsd1pVOW1JSHg4SUdaMWJtTjBhVzl1SUNoNEtTQjdJSEpsZEhWeWJpQjRMbDlmY0hKdmRHOWZYenNnZlRzZ0x5OGdaWE5zYVc1MExXUnBjMkZpYkdVdGJHbHVaU0J1Ynkxd2NtOTBiMXh1WEc1MllYSWdaMlZ1WlhKaGRHOXlPeUF2THlBOUlHWjFibU4wYVc5dUlDb2dLQ2tnZTMwN1hHNTJZWElnWjJWdVpYSmhkRzl5Um5WdVkzUnBiMjRnUFNCblpXNWxjbUYwYjNJZ1B5Qm5aWFJRY205MGJ5aG5aVzVsY21GMGIzSXBJRG9nZFc1a1pXWnBibVZrTzF4dWRtRnlJR0Z6ZVc1alJtNDdJQzh2SUdGemVXNWpJR1oxYm1OMGFXOXVLQ2tnZTMwN1hHNTJZWElnWVhONWJtTkdkVzVqZEdsdmJpQTlJR0Z6ZVc1alJtNGdQeUJoYzNsdVkwWnVMbU52Ym5OMGNuVmpkRzl5SURvZ2RXNWtaV1pwYm1Wa08xeHVkbUZ5SUdGemVXNWpSMlZ1T3lBdkx5QmhjM2x1WXlCbWRXNWpkR2x2YmlBcUlDZ3BJSHQ5TzF4dWRtRnlJR0Z6ZVc1alIyVnVSblZ1WTNScGIyNGdQU0JoYzNsdVkwZGxiaUEvSUdkbGRGQnliM1J2S0dGemVXNWpSMlZ1S1NBNklIVnVaR1ZtYVc1bFpEdGNiblpoY2lCaGMzbHVZMGRsYmtsMFpYSmhkRzl5SUQwZ1lYTjVibU5IWlc0Z1B5QmhjM2x1WTBkbGJpZ3BJRG9nZFc1a1pXWnBibVZrTzF4dVhHNTJZWElnVkhsd1pXUkJjbkpoZVNBOUlIUjVjR1Z2WmlCVmFXNTBPRUZ5Y21GNUlEMDlQU0FuZFc1a1pXWnBibVZrSnlBL0lIVnVaR1ZtYVc1bFpDQTZJR2RsZEZCeWIzUnZLRlZwYm5RNFFYSnlZWGtwTzF4dVhHNTJZWElnU1U1VVVrbE9VMGxEVXlBOUlIdGNibHgwSnlWQmNuSmhlU1VuT2lCQmNuSmhlU3hjYmx4MEp5VkJjbkpoZVVKMVptWmxjaVVuT2lCMGVYQmxiMllnUVhKeVlYbENkV1ptWlhJZ1BUMDlJQ2QxYm1SbFptbHVaV1FuSUQ4Z2RXNWtaV1pwYm1Wa0lEb2dRWEp5WVhsQ2RXWm1aWElzWEc1Y2RDY2xRWEp5WVhsQ2RXWm1aWEpRY205MGIzUjVjR1VsSnpvZ2RIbHdaVzltSUVGeWNtRjVRblZtWm1WeUlEMDlQU0FuZFc1a1pXWnBibVZrSnlBL0lIVnVaR1ZtYVc1bFpDQTZJRUZ5Y21GNVFuVm1abVZ5TG5CeWIzUnZkSGx3WlN4Y2JseDBKeVZCY25KaGVVbDBaWEpoZEc5eVVISnZkRzkwZVhCbEpTYzZJR2hoYzFONWJXSnZiSE1nUHlCblpYUlFjbTkwYnloYlhWdFRlVzFpYjJ3dWFYUmxjbUYwYjNKZEtDa3BJRG9nZFc1a1pXWnBibVZrTEZ4dVhIUW5KVUZ5Y21GNVVISnZkRzkwZVhCbEpTYzZJRUZ5Y21GNUxuQnliM1J2ZEhsd1pTeGNibHgwSnlWQmNuSmhlVkJ5YjNSdlgyVnVkSEpwWlhNbEp6b2dRWEp5WVhrdWNISnZkRzkwZVhCbExtVnVkSEpwWlhNc1hHNWNkQ2NsUVhKeVlYbFFjbTkwYjE5bWIzSkZZV05vSlNjNklFRnljbUY1TG5CeWIzUnZkSGx3WlM1bWIzSkZZV05vTEZ4dVhIUW5KVUZ5Y21GNVVISnZkRzlmYTJWNWN5VW5PaUJCY25KaGVTNXdjbTkwYjNSNWNHVXVhMlY1Y3l4Y2JseDBKeVZCY25KaGVWQnliM1J2WDNaaGJIVmxjeVVuT2lCQmNuSmhlUzV3Y205MGIzUjVjR1V1ZG1Gc2RXVnpMRnh1WEhRbkpVRnplVzVqUm5KdmJWTjVibU5KZEdWeVlYUnZjbEJ5YjNSdmRIbHdaU1VuT2lCMWJtUmxabWx1WldRc1hHNWNkQ2NsUVhONWJtTkdkVzVqZEdsdmJpVW5PaUJoYzNsdVkwWjFibU4wYVc5dUxGeHVYSFFuSlVGemVXNWpSblZ1WTNScGIyNVFjbTkwYjNSNWNHVWxKem9nWVhONWJtTkdkVzVqZEdsdmJpQS9JR0Z6ZVc1alJuVnVZM1JwYjI0dWNISnZkRzkwZVhCbElEb2dkVzVrWldacGJtVmtMRnh1WEhRbkpVRnplVzVqUjJWdVpYSmhkRzl5SlNjNklHRnplVzVqUjJWdUlEOGdaMlYwVUhKdmRHOG9ZWE41Ym1OSFpXNUpkR1Z5WVhSdmNpa2dPaUIxYm1SbFptbHVaV1FzWEc1Y2RDY2xRWE41Ym1OSFpXNWxjbUYwYjNKR2RXNWpkR2x2YmlVbk9pQmhjM2x1WTBkbGJrWjFibU4wYVc5dUxGeHVYSFFuSlVGemVXNWpSMlZ1WlhKaGRHOXlVSEp2ZEc5MGVYQmxKU2M2SUdGemVXNWpSMlZ1Um5WdVkzUnBiMjRnUHlCaGMzbHVZMGRsYmtaMWJtTjBhVzl1TG5CeWIzUnZkSGx3WlNBNklIVnVaR1ZtYVc1bFpDeGNibHgwSnlWQmMzbHVZMGwwWlhKaGRHOXlVSEp2ZEc5MGVYQmxKU2M2SUdGemVXNWpSMlZ1U1hSbGNtRjBiM0lnSmlZZ2FHRnpVM2x0WW05c2N5QW1KaUJUZVcxaWIyd3VZWE41Ym1OSmRHVnlZWFJ2Y2lBL0lHRnplVzVqUjJWdVNYUmxjbUYwYjNKYlUzbHRZbTlzTG1GemVXNWpTWFJsY21GMGIzSmRLQ2tnT2lCMWJtUmxabWx1WldRc1hHNWNkQ2NsUVhSdmJXbGpjeVVuT2lCMGVYQmxiMllnUVhSdmJXbGpjeUE5UFQwZ0ozVnVaR1ZtYVc1bFpDY2dQeUIxYm1SbFptbHVaV1FnT2lCQmRHOXRhV056TEZ4dVhIUW5KVUp2YjJ4bFlXNGxKem9nUW05dmJHVmhiaXhjYmx4MEp5VkNiMjlzWldGdVVISnZkRzkwZVhCbEpTYzZJRUp2YjJ4bFlXNHVjSEp2ZEc5MGVYQmxMRnh1WEhRbkpVUmhkR0ZXYVdWM0pTYzZJSFI1Y0dWdlppQkVZWFJoVm1sbGR5QTlQVDBnSjNWdVpHVm1hVzVsWkNjZ1B5QjFibVJsWm1sdVpXUWdPaUJFWVhSaFZtbGxkeXhjYmx4MEp5VkVZWFJoVm1sbGQxQnliM1J2ZEhsd1pTVW5PaUIwZVhCbGIyWWdSR0YwWVZacFpYY2dQVDA5SUNkMWJtUmxabWx1WldRbklEOGdkVzVrWldacGJtVmtJRG9nUkdGMFlWWnBaWGN1Y0hKdmRHOTBlWEJsTEZ4dVhIUW5KVVJoZEdVbEp6b2dSR0YwWlN4Y2JseDBKeVZFWVhSbFVISnZkRzkwZVhCbEpTYzZJRVJoZEdVdWNISnZkRzkwZVhCbExGeHVYSFFuSldSbFkyOWtaVlZTU1NVbk9pQmtaV052WkdWVlVra3NYRzVjZENjbFpHVmpiMlJsVlZKSlEyOXRjRzl1Wlc1MEpTYzZJR1JsWTI5a1pWVlNTVU52YlhCdmJtVnVkQ3hjYmx4MEp5VmxibU52WkdWVlVra2xKem9nWlc1amIyUmxWVkpKTEZ4dVhIUW5KV1Z1WTI5a1pWVlNTVU52YlhCdmJtVnVkQ1VuT2lCbGJtTnZaR1ZWVWtsRGIyMXdiMjVsYm5Rc1hHNWNkQ2NsUlhKeWIzSWxKem9nUlhKeWIzSXNYRzVjZENjbFJYSnliM0pRY205MGIzUjVjR1VsSnpvZ1JYSnliM0l1Y0hKdmRHOTBlWEJsTEZ4dVhIUW5KV1YyWVd3bEp6b2daWFpoYkN3Z0x5OGdaWE5zYVc1MExXUnBjMkZpYkdVdGJHbHVaU0J1YnkxbGRtRnNYRzVjZENjbFJYWmhiRVZ5Y205eUpTYzZJRVYyWVd4RmNuSnZjaXhjYmx4MEp5VkZkbUZzUlhKeWIzSlFjbTkwYjNSNWNHVWxKem9nUlhaaGJFVnljbTl5TG5CeWIzUnZkSGx3WlN4Y2JseDBKeVZHYkc5aGRETXlRWEp5WVhrbEp6b2dkSGx3Wlc5bUlFWnNiMkYwTXpKQmNuSmhlU0E5UFQwZ0ozVnVaR1ZtYVc1bFpDY2dQeUIxYm1SbFptbHVaV1FnT2lCR2JHOWhkRE15UVhKeVlYa3NYRzVjZENjbFJteHZZWFF6TWtGeWNtRjVVSEp2ZEc5MGVYQmxKU2M2SUhSNWNHVnZaaUJHYkc5aGRETXlRWEp5WVhrZ1BUMDlJQ2QxYm1SbFptbHVaV1FuSUQ4Z2RXNWtaV1pwYm1Wa0lEb2dSbXh2WVhRek1rRnljbUY1TG5CeWIzUnZkSGx3WlN4Y2JseDBKeVZHYkc5aGREWTBRWEp5WVhrbEp6b2dkSGx3Wlc5bUlFWnNiMkYwTmpSQmNuSmhlU0E5UFQwZ0ozVnVaR1ZtYVc1bFpDY2dQeUIxYm1SbFptbHVaV1FnT2lCR2JHOWhkRFkwUVhKeVlYa3NYRzVjZENjbFJteHZZWFEyTkVGeWNtRjVVSEp2ZEc5MGVYQmxKU2M2SUhSNWNHVnZaaUJHYkc5aGREWTBRWEp5WVhrZ1BUMDlJQ2QxYm1SbFptbHVaV1FuSUQ4Z2RXNWtaV1pwYm1Wa0lEb2dSbXh2WVhRMk5FRnljbUY1TG5CeWIzUnZkSGx3WlN4Y2JseDBKeVZHZFc1amRHbHZiaVVuT2lCR2RXNWpkR2x2Yml4Y2JseDBKeVZHZFc1amRHbHZibEJ5YjNSdmRIbHdaU1VuT2lCR2RXNWpkR2x2Ymk1d2NtOTBiM1I1Y0dVc1hHNWNkQ2NsUjJWdVpYSmhkRzl5SlNjNklHZGxibVZ5WVhSdmNpQS9JR2RsZEZCeWIzUnZLR2RsYm1WeVlYUnZjaWdwS1NBNklIVnVaR1ZtYVc1bFpDeGNibHgwSnlWSFpXNWxjbUYwYjNKR2RXNWpkR2x2YmlVbk9pQm5aVzVsY21GMGIzSkdkVzVqZEdsdmJpeGNibHgwSnlWSFpXNWxjbUYwYjNKUWNtOTBiM1I1Y0dVbEp6b2daMlZ1WlhKaGRHOXlSblZ1WTNScGIyNGdQeUJuWlc1bGNtRjBiM0pHZFc1amRHbHZiaTV3Y205MGIzUjVjR1VnT2lCMWJtUmxabWx1WldRc1hHNWNkQ2NsU1c1ME9FRnljbUY1SlNjNklIUjVjR1Z2WmlCSmJuUTRRWEp5WVhrZ1BUMDlJQ2QxYm1SbFptbHVaV1FuSUQ4Z2RXNWtaV1pwYm1Wa0lEb2dTVzUwT0VGeWNtRjVMRnh1WEhRbkpVbHVkRGhCY25KaGVWQnliM1J2ZEhsd1pTVW5PaUIwZVhCbGIyWWdTVzUwT0VGeWNtRjVJRDA5UFNBbmRXNWtaV1pwYm1Wa0p5QS9JSFZ1WkdWbWFXNWxaQ0E2SUVsdWREaEJjbkpoZVM1d2NtOTBiM1I1Y0dVc1hHNWNkQ2NsU1c1ME1UWkJjbkpoZVNVbk9pQjBlWEJsYjJZZ1NXNTBNVFpCY25KaGVTQTlQVDBnSjNWdVpHVm1hVzVsWkNjZ1B5QjFibVJsWm1sdVpXUWdPaUJKYm5ReE5rRnljbUY1TEZ4dVhIUW5KVWx1ZERFMlFYSnlZWGxRY205MGIzUjVjR1VsSnpvZ2RIbHdaVzltSUVsdWRERTJRWEp5WVhrZ1BUMDlJQ2QxYm1SbFptbHVaV1FuSUQ4Z2RXNWtaV1pwYm1Wa0lEb2dTVzUwT0VGeWNtRjVMbkJ5YjNSdmRIbHdaU3hjYmx4MEp5VkpiblF6TWtGeWNtRjVKU2M2SUhSNWNHVnZaaUJKYm5Rek1rRnljbUY1SUQwOVBTQW5kVzVrWldacGJtVmtKeUEvSUhWdVpHVm1hVzVsWkNBNklFbHVkRE15UVhKeVlYa3NYRzVjZENjbFNXNTBNekpCY25KaGVWQnliM1J2ZEhsd1pTVW5PaUIwZVhCbGIyWWdTVzUwTXpKQmNuSmhlU0E5UFQwZ0ozVnVaR1ZtYVc1bFpDY2dQeUIxYm1SbFptbHVaV1FnT2lCSmJuUXpNa0Z5Y21GNUxuQnliM1J2ZEhsd1pTeGNibHgwSnlWcGMwWnBibWwwWlNVbk9pQnBjMFpwYm1sMFpTeGNibHgwSnlWcGMwNWhUaVVuT2lCcGMwNWhUaXhjYmx4MEp5VkpkR1Z5WVhSdmNsQnliM1J2ZEhsd1pTVW5PaUJvWVhOVGVXMWliMnh6SUQ4Z1oyVjBVSEp2ZEc4b1oyVjBVSEp2ZEc4b1cxMWJVM2x0WW05c0xtbDBaWEpoZEc5eVhTZ3BLU2tnT2lCMWJtUmxabWx1WldRc1hHNWNkQ2NsU2xOUFRpVW5PaUIwZVhCbGIyWWdTbE5QVGlBOVBUMGdKMjlpYW1WamRDY2dQeUJLVTA5T0lEb2dkVzVrWldacGJtVmtMRnh1WEhRbkpVcFRUMDVRWVhKelpTVW5PaUIwZVhCbGIyWWdTbE5QVGlBOVBUMGdKMjlpYW1WamRDY2dQeUJLVTA5T0xuQmhjbk5sSURvZ2RXNWtaV1pwYm1Wa0xGeHVYSFFuSlUxaGNDVW5PaUIwZVhCbGIyWWdUV0Z3SUQwOVBTQW5kVzVrWldacGJtVmtKeUEvSUhWdVpHVm1hVzVsWkNBNklFMWhjQ3hjYmx4MEp5Vk5ZWEJKZEdWeVlYUnZjbEJ5YjNSdmRIbHdaU1VuT2lCMGVYQmxiMllnVFdGd0lEMDlQU0FuZFc1a1pXWnBibVZrSnlCOGZDQWhhR0Z6VTNsdFltOXNjeUEvSUhWdVpHVm1hVzVsWkNBNklHZGxkRkJ5YjNSdktHNWxkeUJOWVhBb0tWdFRlVzFpYjJ3dWFYUmxjbUYwYjNKZEtDa3BMRnh1WEhRbkpVMWhjRkJ5YjNSdmRIbHdaU1VuT2lCMGVYQmxiMllnVFdGd0lEMDlQU0FuZFc1a1pXWnBibVZrSnlBL0lIVnVaR1ZtYVc1bFpDQTZJRTFoY0M1d2NtOTBiM1I1Y0dVc1hHNWNkQ2NsVFdGMGFDVW5PaUJOWVhSb0xGeHVYSFFuSlU1MWJXSmxjaVVuT2lCT2RXMWlaWElzWEc1Y2RDY2xUblZ0WW1WeVVISnZkRzkwZVhCbEpTYzZJRTUxYldKbGNpNXdjbTkwYjNSNWNHVXNYRzVjZENjbFQySnFaV04wSlNjNklFOWlhbVZqZEN4Y2JseDBKeVZQWW1wbFkzUlFjbTkwYjNSNWNHVWxKem9nVDJKcVpXTjBMbkJ5YjNSdmRIbHdaU3hjYmx4MEp5VlBZbXBRY205MGIxOTBiMU4wY21sdVp5VW5PaUJQWW1wbFkzUXVjSEp2ZEc5MGVYQmxMblJ2VTNSeWFXNW5MRnh1WEhRbkpVOWlhbEJ5YjNSdlgzWmhiSFZsVDJZbEp6b2dUMkpxWldOMExuQnliM1J2ZEhsd1pTNTJZV3gxWlU5bUxGeHVYSFFuSlhCaGNuTmxSbXh2WVhRbEp6b2djR0Z5YzJWR2JHOWhkQ3hjYmx4MEp5VndZWEp6WlVsdWRDVW5PaUJ3WVhKelpVbHVkQ3hjYmx4MEp5VlFjbTl0YVhObEpTYzZJSFI1Y0dWdlppQlFjbTl0YVhObElEMDlQU0FuZFc1a1pXWnBibVZrSnlBL0lIVnVaR1ZtYVc1bFpDQTZJRkJ5YjIxcGMyVXNYRzVjZENjbFVISnZiV2x6WlZCeWIzUnZkSGx3WlNVbk9pQjBlWEJsYjJZZ1VISnZiV2x6WlNBOVBUMGdKM1Z1WkdWbWFXNWxaQ2NnUHlCMWJtUmxabWx1WldRZ09pQlFjbTl0YVhObExuQnliM1J2ZEhsd1pTeGNibHgwSnlWUWNtOXRhWE5sVUhKdmRHOWZkR2hsYmlVbk9pQjBlWEJsYjJZZ1VISnZiV2x6WlNBOVBUMGdKM1Z1WkdWbWFXNWxaQ2NnUHlCMWJtUmxabWx1WldRZ09pQlFjbTl0YVhObExuQnliM1J2ZEhsd1pTNTBhR1Z1TEZ4dVhIUW5KVkJ5YjIxcGMyVmZZV3hzSlNjNklIUjVjR1Z2WmlCUWNtOXRhWE5sSUQwOVBTQW5kVzVrWldacGJtVmtKeUEvSUhWdVpHVm1hVzVsWkNBNklGQnliMjFwYzJVdVlXeHNMRnh1WEhRbkpWQnliMjFwYzJWZmNtVnFaV04wSlNjNklIUjVjR1Z2WmlCUWNtOXRhWE5sSUQwOVBTQW5kVzVrWldacGJtVmtKeUEvSUhWdVpHVm1hVzVsWkNBNklGQnliMjFwYzJVdWNtVnFaV04wTEZ4dVhIUW5KVkJ5YjIxcGMyVmZjbVZ6YjJ4MlpTVW5PaUIwZVhCbGIyWWdVSEp2YldselpTQTlQVDBnSjNWdVpHVm1hVzVsWkNjZ1B5QjFibVJsWm1sdVpXUWdPaUJRY205dGFYTmxMbkpsYzI5c2RtVXNYRzVjZENjbFVISnZlSGtsSnpvZ2RIbHdaVzltSUZCeWIzaDVJRDA5UFNBbmRXNWtaV1pwYm1Wa0p5QS9JSFZ1WkdWbWFXNWxaQ0E2SUZCeWIzaDVMRnh1WEhRbkpWSmhibWRsUlhKeWIzSWxKem9nVW1GdVoyVkZjbkp2Y2l4Y2JseDBKeVZTWVc1blpVVnljbTl5VUhKdmRHOTBlWEJsSlNjNklGSmhibWRsUlhKeWIzSXVjSEp2ZEc5MGVYQmxMRnh1WEhRbkpWSmxabVZ5Wlc1alpVVnljbTl5SlNjNklGSmxabVZ5Wlc1alpVVnljbTl5TEZ4dVhIUW5KVkpsWm1WeVpXNWpaVVZ5Y205eVVISnZkRzkwZVhCbEpTYzZJRkpsWm1WeVpXNWpaVVZ5Y205eUxuQnliM1J2ZEhsd1pTeGNibHgwSnlWU1pXWnNaV04wSlNjNklIUjVjR1Z2WmlCU1pXWnNaV04wSUQwOVBTQW5kVzVrWldacGJtVmtKeUEvSUhWdVpHVm1hVzVsWkNBNklGSmxabXhsWTNRc1hHNWNkQ2NsVW1WblJYaHdKU2M2SUZKbFowVjRjQ3hjYmx4MEp5VlNaV2RGZUhCUWNtOTBiM1I1Y0dVbEp6b2dVbVZuUlhod0xuQnliM1J2ZEhsd1pTeGNibHgwSnlWVFpYUWxKem9nZEhsd1pXOW1JRk5sZENBOVBUMGdKM1Z1WkdWbWFXNWxaQ2NnUHlCMWJtUmxabWx1WldRZ09pQlRaWFFzWEc1Y2RDY2xVMlYwU1hSbGNtRjBiM0pRY205MGIzUjVjR1VsSnpvZ2RIbHdaVzltSUZObGRDQTlQVDBnSjNWdVpHVm1hVzVsWkNjZ2ZId2dJV2hoYzFONWJXSnZiSE1nUHlCMWJtUmxabWx1WldRZ09pQm5aWFJRY205MGJ5aHVaWGNnVTJWMEtDbGJVM2x0WW05c0xtbDBaWEpoZEc5eVhTZ3BLU3hjYmx4MEp5VlRaWFJRY205MGIzUjVjR1VsSnpvZ2RIbHdaVzltSUZObGRDQTlQVDBnSjNWdVpHVm1hVzVsWkNjZ1B5QjFibVJsWm1sdVpXUWdPaUJUWlhRdWNISnZkRzkwZVhCbExGeHVYSFFuSlZOb1lYSmxaRUZ5Y21GNVFuVm1abVZ5SlNjNklIUjVjR1Z2WmlCVGFHRnlaV1JCY25KaGVVSjFabVpsY2lBOVBUMGdKM1Z1WkdWbWFXNWxaQ2NnUHlCMWJtUmxabWx1WldRZ09pQlRhR0Z5WldSQmNuSmhlVUoxWm1abGNpeGNibHgwSnlWVGFHRnlaV1JCY25KaGVVSjFabVpsY2xCeWIzUnZkSGx3WlNVbk9pQjBlWEJsYjJZZ1UyaGhjbVZrUVhKeVlYbENkV1ptWlhJZ1BUMDlJQ2QxYm1SbFptbHVaV1FuSUQ4Z2RXNWtaV1pwYm1Wa0lEb2dVMmhoY21Wa1FYSnlZWGxDZFdabVpYSXVjSEp2ZEc5MGVYQmxMRnh1WEhRbkpWTjBjbWx1WnlVbk9pQlRkSEpwYm1jc1hHNWNkQ2NsVTNSeWFXNW5TWFJsY21GMGIzSlFjbTkwYjNSNWNHVWxKem9nYUdGelUzbHRZbTlzY3lBL0lHZGxkRkJ5YjNSdktDY25XMU41YldKdmJDNXBkR1Z5WVhSdmNsMG9LU2tnT2lCMWJtUmxabWx1WldRc1hHNWNkQ2NsVTNSeWFXNW5VSEp2ZEc5MGVYQmxKU2M2SUZOMGNtbHVaeTV3Y205MGIzUjVjR1VzWEc1Y2RDY2xVM2x0WW05c0pTYzZJR2hoYzFONWJXSnZiSE1nUHlCVGVXMWliMndnT2lCMWJtUmxabWx1WldRc1hHNWNkQ2NsVTNsdFltOXNVSEp2ZEc5MGVYQmxKU2M2SUdoaGMxTjViV0p2YkhNZ1B5QlRlVzFpYjJ3dWNISnZkRzkwZVhCbElEb2dkVzVrWldacGJtVmtMRnh1WEhRbkpWTjViblJoZUVWeWNtOXlKU2M2SUZONWJuUmhlRVZ5Y205eUxGeHVYSFFuSlZONWJuUmhlRVZ5Y205eVVISnZkRzkwZVhCbEpTYzZJRk41Ym5SaGVFVnljbTl5TG5CeWIzUnZkSGx3WlN4Y2JseDBKeVZVYUhKdmQxUjVjR1ZGY25KdmNpVW5PaUJVYUhKdmQxUjVjR1ZGY25KdmNpeGNibHgwSnlWVWVYQmxaRUZ5Y21GNUpTYzZJRlI1Y0dWa1FYSnlZWGtzWEc1Y2RDY2xWSGx3WldSQmNuSmhlVkJ5YjNSdmRIbHdaU1VuT2lCVWVYQmxaRUZ5Y21GNUlEOGdWSGx3WldSQmNuSmhlUzV3Y205MGIzUjVjR1VnT2lCMWJtUmxabWx1WldRc1hHNWNkQ2NsVkhsd1pVVnljbTl5SlNjNklDUlVlWEJsUlhKeWIzSXNYRzVjZENjbFZIbHdaVVZ5Y205eVVISnZkRzkwZVhCbEpTYzZJQ1JVZVhCbFJYSnliM0l1Y0hKdmRHOTBlWEJsTEZ4dVhIUW5KVlZwYm5RNFFYSnlZWGtsSnpvZ2RIbHdaVzltSUZWcGJuUTRRWEp5WVhrZ1BUMDlJQ2QxYm1SbFptbHVaV1FuSUQ4Z2RXNWtaV1pwYm1Wa0lEb2dWV2x1ZERoQmNuSmhlU3hjYmx4MEp5VlZhVzUwT0VGeWNtRjVVSEp2ZEc5MGVYQmxKU2M2SUhSNWNHVnZaaUJWYVc1ME9FRnljbUY1SUQwOVBTQW5kVzVrWldacGJtVmtKeUEvSUhWdVpHVm1hVzVsWkNBNklGVnBiblE0UVhKeVlYa3VjSEp2ZEc5MGVYQmxMRnh1WEhRbkpWVnBiblE0UTJ4aGJYQmxaRUZ5Y21GNUpTYzZJSFI1Y0dWdlppQlZhVzUwT0VOc1lXMXdaV1JCY25KaGVTQTlQVDBnSjNWdVpHVm1hVzVsWkNjZ1B5QjFibVJsWm1sdVpXUWdPaUJWYVc1ME9FTnNZVzF3WldSQmNuSmhlU3hjYmx4MEp5VlZhVzUwT0VOc1lXMXdaV1JCY25KaGVWQnliM1J2ZEhsd1pTVW5PaUIwZVhCbGIyWWdWV2x1ZERoRGJHRnRjR1ZrUVhKeVlYa2dQVDA5SUNkMWJtUmxabWx1WldRbklEOGdkVzVrWldacGJtVmtJRG9nVldsdWREaERiR0Z0Y0dWa1FYSnlZWGt1Y0hKdmRHOTBlWEJsTEZ4dVhIUW5KVlZwYm5ReE5rRnljbUY1SlNjNklIUjVjR1Z2WmlCVmFXNTBNVFpCY25KaGVTQTlQVDBnSjNWdVpHVm1hVzVsWkNjZ1B5QjFibVJsWm1sdVpXUWdPaUJWYVc1ME1UWkJjbkpoZVN4Y2JseDBKeVZWYVc1ME1UWkJjbkpoZVZCeWIzUnZkSGx3WlNVbk9pQjBlWEJsYjJZZ1ZXbHVkREUyUVhKeVlYa2dQVDA5SUNkMWJtUmxabWx1WldRbklEOGdkVzVrWldacGJtVmtJRG9nVldsdWRERTJRWEp5WVhrdWNISnZkRzkwZVhCbExGeHVYSFFuSlZWcGJuUXpNa0Z5Y21GNUpTYzZJSFI1Y0dWdlppQlZhVzUwTXpKQmNuSmhlU0E5UFQwZ0ozVnVaR1ZtYVc1bFpDY2dQeUIxYm1SbFptbHVaV1FnT2lCVmFXNTBNekpCY25KaGVTeGNibHgwSnlWVmFXNTBNekpCY25KaGVWQnliM1J2ZEhsd1pTVW5PaUIwZVhCbGIyWWdWV2x1ZERNeVFYSnlZWGtnUFQwOUlDZDFibVJsWm1sdVpXUW5JRDhnZFc1a1pXWnBibVZrSURvZ1ZXbHVkRE15UVhKeVlYa3VjSEp2ZEc5MGVYQmxMRnh1WEhRbkpWVlNTVVZ5Y205eUpTYzZJRlZTU1VWeWNtOXlMRnh1WEhRbkpWVlNTVVZ5Y205eVVISnZkRzkwZVhCbEpTYzZJRlZTU1VWeWNtOXlMbkJ5YjNSdmRIbHdaU3hjYmx4MEp5VlhaV0ZyVFdGd0pTYzZJSFI1Y0dWdlppQlhaV0ZyVFdGd0lEMDlQU0FuZFc1a1pXWnBibVZrSnlBL0lIVnVaR1ZtYVc1bFpDQTZJRmRsWVd0TllYQXNYRzVjZENjbFYyVmhhMDFoY0ZCeWIzUnZkSGx3WlNVbk9pQjBlWEJsYjJZZ1YyVmhhMDFoY0NBOVBUMGdKM1Z1WkdWbWFXNWxaQ2NnUHlCMWJtUmxabWx1WldRZ09pQlhaV0ZyVFdGd0xuQnliM1J2ZEhsd1pTeGNibHgwSnlWWFpXRnJVMlYwSlNjNklIUjVjR1Z2WmlCWFpXRnJVMlYwSUQwOVBTQW5kVzVrWldacGJtVmtKeUEvSUhWdVpHVm1hVzVsWkNBNklGZGxZV3RUWlhRc1hHNWNkQ2NsVjJWaGExTmxkRkJ5YjNSdmRIbHdaU1VuT2lCMGVYQmxiMllnVjJWaGExTmxkQ0E5UFQwZ0ozVnVaR1ZtYVc1bFpDY2dQeUIxYm1SbFptbHVaV1FnT2lCWFpXRnJVMlYwTG5CeWIzUnZkSGx3WlZ4dWZUdGNibHh1ZG1GeUlHSnBibVFnUFNCeVpYRjFhWEpsS0NkbWRXNWpkR2x2YmkxaWFXNWtKeWs3WEc1MllYSWdKSEpsY0d4aFkyVWdQU0JpYVc1a0xtTmhiR3dvUm5WdVkzUnBiMjR1WTJGc2JDd2dVM1J5YVc1bkxuQnliM1J2ZEhsd1pTNXlaWEJzWVdObEtUdGNibHh1THlvZ1lXUmhjSFJsWkNCbWNtOXRJR2gwZEhCek9pOHZaMmwwYUhWaUxtTnZiUzlzYjJSaGMyZ3ZiRzlrWVhOb0wySnNiMkl2TkM0eE55NHhOUzlrYVhOMEwyeHZaR0Z6YUM1cWN5Tk1OamN6TlMxTU5qYzBOQ0FxTDF4dWRtRnlJSEpsVUhKdmNFNWhiV1VnUFNBdlcxNGxMbHRjWEYxZEszeGNYRnNvUHpvb0xUOWNYR1FyS0Q4NlhGd3VYRnhrS3lrL0tYd29XMXdpSjEwcEtDZy9PaWcvSVZ4Y01pbGJYbHhjWEZ4ZGZGeGNYRnd1S1NvL0tWeGNNaWxjWEYxOEtEODlLRDg2WEZ3dWZGeGNXMXhjWFNrb1B6cGNYQzU4WEZ4YlhGeGRmQ1VrS1Nrdlp6dGNiblpoY2lCeVpVVnpZMkZ3WlVOb1lYSWdQU0F2WEZ4Y1hDaGNYRnhjS1Q4dlp6c2dMeW9xSUZWelpXUWdkRzhnYldGMFkyZ2dZbUZqYTNOc1lYTm9aWE1nYVc0Z2NISnZjR1Z5ZEhrZ2NHRjBhSE11SUNvdlhHNTJZWElnYzNSeWFXNW5WRzlRWVhSb0lEMGdablZ1WTNScGIyNGdjM1J5YVc1blZHOVFZWFJvS0hOMGNtbHVaeWtnZTF4dVhIUjJZWElnY21WemRXeDBJRDBnVzEwN1hHNWNkQ1J5WlhCc1lXTmxLSE4wY21sdVp5d2djbVZRY205d1RtRnRaU3dnWm5WdVkzUnBiMjRnS0cxaGRHTm9MQ0J1ZFcxaVpYSXNJSEYxYjNSbExDQnpkV0pUZEhKcGJtY3BJSHRjYmx4MFhIUnlaWE4xYkhSYmNtVnpkV3gwTG14bGJtZDBhRjBnUFNCeGRXOTBaU0EvSUNSeVpYQnNZV05sS0hOMVlsTjBjbWx1Wnl3Z2NtVkZjMk5oY0dWRGFHRnlMQ0FuSkRFbktTQTZJQ2h1ZFcxaVpYSWdmSHdnYldGMFkyZ3BPMXh1WEhSOUtUdGNibHgwY21WMGRYSnVJSEpsYzNWc2REdGNibjA3WEc0dktpQmxibVFnWVdSaGNIUmhkR2x2YmlBcUwxeHVYRzUyWVhJZ1oyVjBRbUZ6WlVsdWRISnBibk5wWXlBOUlHWjFibU4wYVc5dUlHZGxkRUpoYzJWSmJuUnlhVzV6YVdNb2JtRnRaU3dnWVd4c2IzZE5hWE56YVc1bktTQjdYRzVjZEdsbUlDZ2hLRzVoYldVZ2FXNGdTVTVVVWtsT1UwbERVeWtwSUh0Y2JseDBYSFIwYUhKdmR5QnVaWGNnVTNsdWRHRjRSWEp5YjNJb0oybHVkSEpwYm5OcFl5QW5JQ3NnYm1GdFpTQXJJQ2NnWkc5bGN5QnViM1FnWlhocGMzUWhKeWs3WEc1Y2RIMWNibHh1WEhRdkx5QnBjM1JoYm1KMWJDQnBaMjV2Y21VZ2FXWWdMeThnYUc5d1pXWjFiR3g1SUhSb2FYTWdhWE1nYVcxd2IzTnphV0pzWlNCMGJ5QjBaWE4wSURvdEtWeHVYSFJwWmlBb2RIbHdaVzltSUVsT1ZGSkpUbE5KUTFOYmJtRnRaVjBnUFQwOUlDZDFibVJsWm1sdVpXUW5JQ1ltSUNGaGJHeHZkMDFwYzNOcGJtY3BJSHRjYmx4MFhIUjBhSEp2ZHlCdVpYY2dKRlI1Y0dWRmNuSnZjaWduYVc1MGNtbHVjMmxqSUNjZ0t5QnVZVzFsSUNzZ0p5QmxlR2x6ZEhNc0lHSjFkQ0JwY3lCdWIzUWdZWFpoYVd4aFlteGxMaUJRYkdWaGMyVWdabWxzWlNCaGJpQnBjM04xWlNFbktUdGNibHgwZlZ4dVhHNWNkSEpsZEhWeWJpQkpUbFJTU1U1VFNVTlRXMjVoYldWZE8xeHVmVHRjYmx4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbWRXNWpkR2x2YmlCSFpYUkpiblJ5YVc1emFXTW9ibUZ0WlN3Z1lXeHNiM2ROYVhOemFXNW5LU0I3WEc1Y2RHbG1JQ2gwZVhCbGIyWWdibUZ0WlNBaFBUMGdKM04wY21sdVp5Y2dmSHdnYm1GdFpTNXNaVzVuZEdnZ1BUMDlJREFwSUh0Y2JseDBYSFIwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0NkcGJuUnlhVzV6YVdNZ2JtRnRaU0J0ZFhOMElHSmxJR0VnYm05dUxXVnRjSFI1SUhOMGNtbHVaeWNwTzF4dVhIUjlYRzVjZEdsbUlDaGhjbWQxYldWdWRITXViR1Z1WjNSb0lENGdNU0FtSmlCMGVYQmxiMllnWVd4c2IzZE5hWE56YVc1bklDRTlQU0FuWW05dmJHVmhiaWNwSUh0Y2JseDBYSFIwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0NkY0ltRnNiRzkzVFdsemMybHVaMXdpSUdGeVozVnRaVzUwSUcxMWMzUWdZbVVnWVNCaWIyOXNaV0Z1SnlrN1hHNWNkSDFjYmx4dVhIUjJZWElnY0dGeWRITWdQU0J6ZEhKcGJtZFViMUJoZEdnb2JtRnRaU2s3WEc1Y2JseDBkbUZ5SUhaaGJIVmxJRDBnWjJWMFFtRnpaVWx1ZEhKcGJuTnBZeWduSlNjZ0t5QW9jR0Z5ZEhNdWJHVnVaM1JvSUQ0Z01DQS9JSEJoY25Seld6QmRJRG9nSnljcElDc2dKeVVuTENCaGJHeHZkMDFwYzNOcGJtY3BPMXh1WEhSbWIzSWdLSFpoY2lCcElEMGdNVHNnYVNBOElIQmhjblJ6TG14bGJtZDBhRHNnYVNBclBTQXhLU0I3WEc1Y2RGeDBhV1lnS0haaGJIVmxJQ0U5SUc1MWJHd3BJSHRjYmx4MFhIUmNkR2xtSUNna1owOVFSQ0FtSmlBb2FTQXJJREVwSUQ0OUlIQmhjblJ6TG14bGJtZDBhQ2tnZTF4dVhIUmNkRngwWEhSMllYSWdaR1Z6WXlBOUlDUm5UMUJFS0haaGJIVmxMQ0J3WVhKMGMxdHBYU2s3WEc1Y2RGeDBYSFJjZEdsbUlDZ2hZV3hzYjNkTmFYTnphVzVuSUNZbUlDRW9jR0Z5ZEhOYmFWMGdhVzRnZG1Gc2RXVXBLU0I3WEc1Y2RGeDBYSFJjZEZ4MGRHaHliM2NnYm1WM0lDUlVlWEJsUlhKeWIzSW9KMkpoYzJVZ2FXNTBjbWx1YzJsaklHWnZjaUFuSUNzZ2JtRnRaU0FySUNjZ1pYaHBjM1J6TENCaWRYUWdkR2hsSUhCeWIzQmxjblI1SUdseklHNXZkQ0JoZG1GcGJHRmliR1V1SnlrN1hHNWNkRngwWEhSY2RIMWNibHgwWEhSY2RGeDBkbUZzZFdVZ1BTQmtaWE5qSUQ4Z0tHUmxjMk11WjJWMElIeDhJR1JsYzJNdWRtRnNkV1VwSURvZ2RtRnNkV1ZiY0dGeWRITmJhVjFkTzF4dVhIUmNkRngwZlNCbGJITmxJSHRjYmx4MFhIUmNkRngwZG1Gc2RXVWdQU0IyWVd4MVpWdHdZWEowYzF0cFhWMDdYRzVjZEZ4MFhIUjlYRzVjZEZ4MGZWeHVYSFI5WEc1Y2RISmxkSFZ5YmlCMllXeDFaVHRjYm4wN1hHNGlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN0lpd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3N0cmluZy5wcm90b3R5cGUudHJpbS9ub2RlX21vZHVsZXMvZXMtYWJzdHJhY3QvR2V0SW50cmluc2ljLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvc3RyaW5nLnByb3RvdHlwZS50cmltL25vZGVfbW9kdWxlcy9lcy1hYnN0cmFjdC9oZWxwZXJzL2NhbGxCaW5kLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL3N0cmluZy5wcm90b3R5cGUudHJpbS9ub2RlX21vZHVsZXMvZXMtYWJzdHJhY3QvaGVscGVycy9jYWxsQmluZC5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18peyJ1c2Ugc3RyaWN0IjtldmFsKCJcblxudmFyIGJpbmQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBmdW5jdGlvbi1iaW5kICovIFwiLi9ub2RlX21vZHVsZXMvZnVuY3Rpb24tYmluZC9pbmRleC5qc1wiKTtcblxudmFyIEdldEludHJpbnNpYyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uL0dldEludHJpbnNpYyAqLyBcIi4vbm9kZV9tb2R1bGVzL3N0cmluZy5wcm90b3R5cGUudHJpbS9ub2RlX21vZHVsZXMvZXMtYWJzdHJhY3QvR2V0SW50cmluc2ljLmpzXCIpO1xuXG52YXIgJEZ1bmN0aW9uID0gR2V0SW50cmluc2ljKCclRnVuY3Rpb24lJyk7XG52YXIgJGFwcGx5ID0gJEZ1bmN0aW9uLmFwcGx5O1xudmFyICRjYWxsID0gJEZ1bmN0aW9uLmNhbGw7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gY2FsbEJpbmQoKSB7XG5cdHJldHVybiBiaW5kLmFwcGx5KCRjYWxsLCBhcmd1bWVudHMpO1xufTtcblxubW9kdWxlLmV4cG9ydHMuYXBwbHkgPSBmdW5jdGlvbiBhcHBseUJpbmQoKSB7XG5cdHJldHVybiBiaW5kLmFwcGx5KCRhcHBseSwgYXJndW1lbnRzKTtcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12YzNSeWFXNW5MbkJ5YjNSdmRIbHdaUzUwY21sdEwyNXZaR1ZmYlc5a2RXeGxjeTlsY3kxaFluTjBjbUZqZEM5b1pXeHdaWEp6TDJOaGJHeENhVzVrTG1wekxtcHpJaXdpYzI5MWNtTmxjeUk2V3lKM1pXSndZV05yT2k4dkx5NHZibTlrWlY5dGIyUjFiR1Z6TDNOMGNtbHVaeTV3Y205MGIzUjVjR1V1ZEhKcGJTOXViMlJsWDIxdlpIVnNaWE12WlhNdFlXSnpkSEpoWTNRdmFHVnNjR1Z5Y3k5allXeHNRbWx1WkM1cWN6ODBaREF4SWwwc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpZDFjMlVnYzNSeWFXTjBKenRjYmx4dWRtRnlJR0pwYm1RZ1BTQnlaWEYxYVhKbEtDZG1kVzVqZEdsdmJpMWlhVzVrSnlrN1hHNWNiblpoY2lCSFpYUkpiblJ5YVc1emFXTWdQU0J5WlhGMWFYSmxLQ2N1TGk5SFpYUkpiblJ5YVc1emFXTW5LVHRjYmx4dWRtRnlJQ1JHZFc1amRHbHZiaUE5SUVkbGRFbHVkSEpwYm5OcFl5Z25KVVoxYm1OMGFXOXVKU2NwTzF4dWRtRnlJQ1JoY0hCc2VTQTlJQ1JHZFc1amRHbHZiaTVoY0hCc2VUdGNiblpoY2lBa1kyRnNiQ0E5SUNSR2RXNWpkR2x2Ymk1allXeHNPMXh1WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUdaMWJtTjBhVzl1SUdOaGJHeENhVzVrS0NrZ2UxeHVYSFJ5WlhSMWNtNGdZbWx1WkM1aGNIQnNlU2drWTJGc2JDd2dZWEpuZFcxbGJuUnpLVHRjYm4wN1hHNWNibTF2WkhWc1pTNWxlSEJ2Y25SekxtRndjR3g1SUQwZ1puVnVZM1JwYjI0Z1lYQndiSGxDYVc1a0tDa2dlMXh1WEhSeVpYUjFjbTRnWW1sdVpDNWhjSEJzZVNna1lYQndiSGtzSUdGeVozVnRaVzUwY3lrN1hHNTlPMXh1SWwwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3N0cmluZy5wcm90b3R5cGUudHJpbS9ub2RlX21vZHVsZXMvZXMtYWJzdHJhY3QvaGVscGVycy9jYWxsQmluZC5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL3N0cmluZy5wcm90b3R5cGUudHJpbS9ub2RlX21vZHVsZXMvZXMtYWJzdHJhY3QvaGVscGVycy9jYWxsQm91bmQuanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL3N0cmluZy5wcm90b3R5cGUudHJpbS9ub2RlX21vZHVsZXMvZXMtYWJzdHJhY3QvaGVscGVycy9jYWxsQm91bmQuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIW5vIHN0YXRpYyBleHBvcnRzIGZvdW5kKi8oZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMsX193ZWJwYWNrX3JlcXVpcmVfXyl7InVzZSBzdHJpY3QiO2V2YWwoIlxuXG52YXIgR2V0SW50cmluc2ljID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi4vR2V0SW50cmluc2ljICovIFwiLi9ub2RlX21vZHVsZXMvc3RyaW5nLnByb3RvdHlwZS50cmltL25vZGVfbW9kdWxlcy9lcy1hYnN0cmFjdC9HZXRJbnRyaW5zaWMuanNcIik7XG5cbnZhciBjYWxsQmluZCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vY2FsbEJpbmQgKi8gXCIuL25vZGVfbW9kdWxlcy9zdHJpbmcucHJvdG90eXBlLnRyaW0vbm9kZV9tb2R1bGVzL2VzLWFic3RyYWN0L2hlbHBlcnMvY2FsbEJpbmQuanNcIik7XG5cbnZhciAkaW5kZXhPZiA9IGNhbGxCaW5kKEdldEludHJpbnNpYygnU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mJykpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGNhbGxCb3VuZEludHJpbnNpYyhuYW1lLCBhbGxvd01pc3NpbmcpIHtcblx0dmFyIGludHJpbnNpYyA9IEdldEludHJpbnNpYyhuYW1lLCAhIWFsbG93TWlzc2luZyk7XG5cdGlmICh0eXBlb2YgaW50cmluc2ljID09PSAnZnVuY3Rpb24nICYmICRpbmRleE9mKG5hbWUsICcucHJvdG90eXBlLicpKSB7XG5cdFx0cmV0dXJuIGNhbGxCaW5kKGludHJpbnNpYyk7XG5cdH1cblx0cmV0dXJuIGludHJpbnNpYztcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12YzNSeWFXNW5MbkJ5YjNSdmRIbHdaUzUwY21sdEwyNXZaR1ZmYlc5a2RXeGxjeTlsY3kxaFluTjBjbUZqZEM5b1pXeHdaWEp6TDJOaGJHeENiM1Z1WkM1cWN5NXFjeUlzSW5OdmRYSmpaWE1pT2xzaWQyVmljR0ZqYXpvdkx5OHVMMjV2WkdWZmJXOWtkV3hsY3k5emRISnBibWN1Y0hKdmRHOTBlWEJsTG5SeWFXMHZibTlrWlY5dGIyUjFiR1Z6TDJWekxXRmljM1J5WVdOMEwyaGxiSEJsY25NdlkyRnNiRUp2ZFc1a0xtcHpQemhoWWpVaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lKM1Z6WlNCemRISnBZM1FuTzF4dVhHNTJZWElnUjJWMFNXNTBjbWx1YzJsaklEMGdjbVZ4ZFdseVpTZ25MaTR2UjJWMFNXNTBjbWx1YzJsakp5azdYRzVjYm5aaGNpQmpZV3hzUW1sdVpDQTlJSEpsY1hWcGNtVW9KeTR2WTJGc2JFSnBibVFuS1R0Y2JseHVkbUZ5SUNScGJtUmxlRTltSUQwZ1kyRnNiRUpwYm1Rb1IyVjBTVzUwY21sdWMybGpLQ2RUZEhKcGJtY3VjSEp2ZEc5MGVYQmxMbWx1WkdWNFQyWW5LU2s3WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1puVnVZM1JwYjI0Z1kyRnNiRUp2ZFc1a1NXNTBjbWx1YzJsaktHNWhiV1VzSUdGc2JHOTNUV2x6YzJsdVp5a2dlMXh1WEhSMllYSWdhVzUwY21sdWMybGpJRDBnUjJWMFNXNTBjbWx1YzJsaktHNWhiV1VzSUNFaFlXeHNiM2ROYVhOemFXNW5LVHRjYmx4MGFXWWdLSFI1Y0dWdlppQnBiblJ5YVc1emFXTWdQVDA5SUNkbWRXNWpkR2x2YmljZ0ppWWdKR2x1WkdWNFQyWW9ibUZ0WlN3Z0p5NXdjbTkwYjNSNWNHVXVKeWtwSUh0Y2JseDBYSFJ5WlhSMWNtNGdZMkZzYkVKcGJtUW9hVzUwY21sdWMybGpLVHRjYmx4MGZWeHVYSFJ5WlhSMWNtNGdhVzUwY21sdWMybGpPMXh1ZlR0Y2JpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk95SXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9zdHJpbmcucHJvdG90eXBlLnRyaW0vbm9kZV9tb2R1bGVzL2VzLWFic3RyYWN0L2hlbHBlcnMvY2FsbEJvdW5kLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvc3RyaW5nLnByb3RvdHlwZS50cmltL25vZGVfbW9kdWxlcy9oYXMtc3ltYm9scy9pbmRleC5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvc3RyaW5nLnByb3RvdHlwZS50cmltL25vZGVfbW9kdWxlcy9oYXMtc3ltYm9scy9pbmRleC5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohbm8gc3RhdGljIGV4cG9ydHMgZm91bmQqLyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXsidXNlIHN0cmljdCI7ZXZhbCgiLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovKGZ1bmN0aW9uKGdsb2JhbCkge1xuXG52YXIgb3JpZ1N5bWJvbCA9IGdsb2JhbC5TeW1ib2w7XG52YXIgaGFzU3ltYm9sU2hhbSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vc2hhbXMgKi8gXCIuL25vZGVfbW9kdWxlcy9zdHJpbmcucHJvdG90eXBlLnRyaW0vbm9kZV9tb2R1bGVzL2hhcy1zeW1ib2xzL3NoYW1zLmpzXCIpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGhhc05hdGl2ZVN5bWJvbHMoKSB7XG5cdGlmICh0eXBlb2Ygb3JpZ1N5bWJvbCAhPT0gJ2Z1bmN0aW9uJykgeyByZXR1cm4gZmFsc2U7IH1cblx0aWYgKHR5cGVvZiBTeW1ib2wgIT09ICdmdW5jdGlvbicpIHsgcmV0dXJuIGZhbHNlOyB9XG5cdGlmICh0eXBlb2Ygb3JpZ1N5bWJvbCgnZm9vJykgIT09ICdzeW1ib2wnKSB7IHJldHVybiBmYWxzZTsgfVxuXHRpZiAodHlwZW9mIFN5bWJvbCgnYmFyJykgIT09ICdzeW1ib2wnKSB7IHJldHVybiBmYWxzZTsgfVxuXG5cdHJldHVybiBoYXNTeW1ib2xTaGFtKCk7XG59O1xuXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi8uLi8uLi93ZWJwYWNrL2J1aWxkaW4vZ2xvYmFsLmpzICovIFwiLi9ub2RlX21vZHVsZXMvd2VicGFjay9idWlsZGluL2dsb2JhbC5qc1wiKSkpLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmMzUnlhVzVuTG5CeWIzUnZkSGx3WlM1MGNtbHRMMjV2WkdWZmJXOWtkV3hsY3k5b1lYTXRjM2x0WW05c2N5OXBibVJsZUM1cWN5NXFjeUlzSW5OdmRYSmpaWE1pT2xzaWQyVmljR0ZqYXpvdkx5OHVMMjV2WkdWZmJXOWtkV3hsY3k5emRISnBibWN1Y0hKdmRHOTBlWEJsTG5SeWFXMHZibTlrWlY5dGIyUjFiR1Z6TDJoaGN5MXplVzFpYjJ4ekwybHVaR1Y0TG1welB6bGtNMk1pWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUozVnpaU0J6ZEhKcFkzUW5PMXh1WEc1MllYSWdiM0pwWjFONWJXSnZiQ0E5SUdkc2IySmhiQzVUZVcxaWIydzdYRzUyWVhJZ2FHRnpVM2x0WW05c1UyaGhiU0E5SUhKbGNYVnBjbVVvSnk0dmMyaGhiWE1uS1R0Y2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQm1kVzVqZEdsdmJpQm9ZWE5PWVhScGRtVlRlVzFpYjJ4ektDa2dlMXh1WEhScFppQW9kSGx3Wlc5bUlHOXlhV2RUZVcxaWIyd2dJVDA5SUNkbWRXNWpkR2x2YmljcElIc2djbVYwZFhKdUlHWmhiSE5sT3lCOVhHNWNkR2xtSUNoMGVYQmxiMllnVTNsdFltOXNJQ0U5UFNBblpuVnVZM1JwYjI0bktTQjdJSEpsZEhWeWJpQm1ZV3h6WlRzZ2ZWeHVYSFJwWmlBb2RIbHdaVzltSUc5eWFXZFRlVzFpYjJ3b0oyWnZieWNwSUNFOVBTQW5jM2x0WW05c0p5a2dleUJ5WlhSMWNtNGdabUZzYzJVN0lIMWNibHgwYVdZZ0tIUjVjR1Z2WmlCVGVXMWliMndvSjJKaGNpY3BJQ0U5UFNBbmMzbHRZbTlzSnlrZ2V5QnlaWFIxY200Z1ptRnNjMlU3SUgxY2JseHVYSFJ5WlhSMWNtNGdhR0Z6VTNsdFltOXNVMmhoYlNncE8xeHVmVHRjYmlKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBFaUxDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3N0cmluZy5wcm90b3R5cGUudHJpbS9ub2RlX21vZHVsZXMvaGFzLXN5bWJvbHMvaW5kZXguanNcbiIpO30pLCIuL25vZGVfbW9kdWxlcy9zdHJpbmcucHJvdG90eXBlLnRyaW0vbm9kZV9tb2R1bGVzL2hhcy1zeW1ib2xzL3NoYW1zLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy9zdHJpbmcucHJvdG90eXBlLnRyaW0vbm9kZV9tb2R1bGVzL2hhcy1zeW1ib2xzL3NoYW1zLmpzICoqKiEKXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18peyJ1c2Ugc3RyaWN0IjtldmFsKCJcblxuLyogZXNsaW50IGNvbXBsZXhpdHk6IFsyLCAxOF0sIG1heC1zdGF0ZW1lbnRzOiBbMiwgMzNdICovXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGhhc1N5bWJvbHMoKSB7XG5cdGlmICh0eXBlb2YgU3ltYm9sICE9PSAnZnVuY3Rpb24nIHx8IHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzICE9PSAnZnVuY3Rpb24nKSB7IHJldHVybiBmYWxzZTsgfVxuXHRpZiAodHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gJ3N5bWJvbCcpIHsgcmV0dXJuIHRydWU7IH1cblxuXHR2YXIgb2JqID0ge307XG5cdHZhciBzeW0gPSBTeW1ib2woJ3Rlc3QnKTtcblx0dmFyIHN5bU9iaiA9IE9iamVjdChzeW0pO1xuXHRpZiAodHlwZW9mIHN5bSA9PT0gJ3N0cmluZycpIHsgcmV0dXJuIGZhbHNlOyB9XG5cblx0aWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChzeW0pICE9PSAnW29iamVjdCBTeW1ib2xdJykgeyByZXR1cm4gZmFsc2U7IH1cblx0aWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChzeW1PYmopICE9PSAnW29iamVjdCBTeW1ib2xdJykgeyByZXR1cm4gZmFsc2U7IH1cblxuXHQvLyB0ZW1wIGRpc2FibGVkIHBlciBodHRwczovL2dpdGh1Yi5jb20vbGpoYXJiL29iamVjdC5hc3NpZ24vaXNzdWVzLzE3XG5cdC8vIGlmIChzeW0gaW5zdGFuY2VvZiBTeW1ib2wpIHsgcmV0dXJuIGZhbHNlOyB9XG5cdC8vIHRlbXAgZGlzYWJsZWQgcGVyIGh0dHBzOi8vZ2l0aHViLmNvbS9XZWJSZWZsZWN0aW9uL2dldC1vd24tcHJvcGVydHktc3ltYm9scy9pc3N1ZXMvNFxuXHQvLyBpZiAoIShzeW1PYmogaW5zdGFuY2VvZiBTeW1ib2wpKSB7IHJldHVybiBmYWxzZTsgfVxuXG5cdC8vIGlmICh0eXBlb2YgU3ltYm9sLnByb3RvdHlwZS50b1N0cmluZyAhPT0gJ2Z1bmN0aW9uJykgeyByZXR1cm4gZmFsc2U7IH1cblx0Ly8gaWYgKFN0cmluZyhzeW0pICE9PSBTeW1ib2wucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoc3ltKSkgeyByZXR1cm4gZmFsc2U7IH1cblxuXHR2YXIgc3ltVmFsID0gNDI7XG5cdG9ialtzeW1dID0gc3ltVmFsO1xuXHRmb3IgKHN5bSBpbiBvYmopIHsgcmV0dXJuIGZhbHNlOyB9IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tcmVzdHJpY3RlZC1zeW50YXhcblx0aWYgKHR5cGVvZiBPYmplY3Qua2V5cyA9PT0gJ2Z1bmN0aW9uJyAmJiBPYmplY3Qua2V5cyhvYmopLmxlbmd0aCAhPT0gMCkgeyByZXR1cm4gZmFsc2U7IH1cblxuXHRpZiAodHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzID09PSAnZnVuY3Rpb24nICYmIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaikubGVuZ3RoICE9PSAwKSB7IHJldHVybiBmYWxzZTsgfVxuXG5cdHZhciBzeW1zID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhvYmopO1xuXHRpZiAoc3ltcy5sZW5ndGggIT09IDEgfHwgc3ltc1swXSAhPT0gc3ltKSB7IHJldHVybiBmYWxzZTsgfVxuXG5cdGlmICghT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKG9iaiwgc3ltKSkgeyByZXR1cm4gZmFsc2U7IH1cblxuXHRpZiAodHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgPT09ICdmdW5jdGlvbicpIHtcblx0XHR2YXIgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCBzeW0pO1xuXHRcdGlmIChkZXNjcmlwdG9yLnZhbHVlICE9PSBzeW1WYWwgfHwgZGVzY3JpcHRvci5lbnVtZXJhYmxlICE9PSB0cnVlKSB7IHJldHVybiBmYWxzZTsgfVxuXHR9XG5cblx0cmV0dXJuIHRydWU7XG59O1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmMzUnlhVzVuTG5CeWIzUnZkSGx3WlM1MGNtbHRMMjV2WkdWZmJXOWtkV3hsY3k5b1lYTXRjM2x0WW05c2N5OXphR0Z0Y3k1cWN5NXFjeUlzSW5OdmRYSmpaWE1pT2xzaWQyVmljR0ZqYXpvdkx5OHVMMjV2WkdWZmJXOWtkV3hsY3k5emRISnBibWN1Y0hKdmRHOTBlWEJsTG5SeWFXMHZibTlrWlY5dGIyUjFiR1Z6TDJoaGN5MXplVzFpYjJ4ekwzTm9ZVzF6TG1welAyUTJaR0VpWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUozVnpaU0J6ZEhKcFkzUW5PMXh1WEc0dktpQmxjMnhwYm5RZ1kyOXRjR3hsZUdsMGVUb2dXeklzSURFNFhTd2diV0Y0TFhOMFlYUmxiV1Z1ZEhNNklGc3lMQ0F6TTEwZ0tpOWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdablZ1WTNScGIyNGdhR0Z6VTNsdFltOXNjeWdwSUh0Y2JseDBhV1lnS0hSNWNHVnZaaUJUZVcxaWIyd2dJVDA5SUNkbWRXNWpkR2x2YmljZ2ZId2dkSGx3Wlc5bUlFOWlhbVZqZEM1blpYUlBkMjVRY205d1pYSjBlVk41YldKdmJITWdJVDA5SUNkbWRXNWpkR2x2YmljcElIc2djbVYwZFhKdUlHWmhiSE5sT3lCOVhHNWNkR2xtSUNoMGVYQmxiMllnVTNsdFltOXNMbWwwWlhKaGRHOXlJRDA5UFNBbmMzbHRZbTlzSnlrZ2V5QnlaWFIxY200Z2RISjFaVHNnZlZ4dVhHNWNkSFpoY2lCdlltb2dQU0I3ZlR0Y2JseDBkbUZ5SUhONWJTQTlJRk41YldKdmJDZ25kR1Z6ZENjcE8xeHVYSFIyWVhJZ2MzbHRUMkpxSUQwZ1QySnFaV04wS0hONWJTazdYRzVjZEdsbUlDaDBlWEJsYjJZZ2MzbHRJRDA5UFNBbmMzUnlhVzVuSnlrZ2V5QnlaWFIxY200Z1ptRnNjMlU3SUgxY2JseHVYSFJwWmlBb1QySnFaV04wTG5CeWIzUnZkSGx3WlM1MGIxTjBjbWx1Wnk1allXeHNLSE41YlNrZ0lUMDlJQ2RiYjJKcVpXTjBJRk41YldKdmJGMG5LU0I3SUhKbGRIVnliaUJtWVd4elpUc2dmVnh1WEhScFppQW9UMkpxWldOMExuQnliM1J2ZEhsd1pTNTBiMU4wY21sdVp5NWpZV3hzS0hONWJVOWlhaWtnSVQwOUlDZGJiMkpxWldOMElGTjViV0p2YkYwbktTQjdJSEpsZEhWeWJpQm1ZV3h6WlRzZ2ZWeHVYRzVjZEM4dklIUmxiWEFnWkdsellXSnNaV1FnY0dWeUlHaDBkSEJ6T2k4dloybDBhSFZpTG1OdmJTOXNhbWhoY21JdmIySnFaV04wTG1GemMybG5iaTlwYzNOMVpYTXZNVGRjYmx4MEx5OGdhV1lnS0hONWJTQnBibk4wWVc1alpXOW1JRk41YldKdmJDa2dleUJ5WlhSMWNtNGdabUZzYzJVN0lIMWNibHgwTHk4Z2RHVnRjQ0JrYVhOaFlteGxaQ0J3WlhJZ2FIUjBjSE02THk5bmFYUm9kV0l1WTI5dEwxZGxZbEpsWm14bFkzUnBiMjR2WjJWMExXOTNiaTF3Y205d1pYSjBlUzF6ZVcxaWIyeHpMMmx6YzNWbGN5ODBYRzVjZEM4dklHbG1JQ2doS0hONWJVOWlhaUJwYm5OMFlXNWpaVzltSUZONWJXSnZiQ2twSUhzZ2NtVjBkWEp1SUdaaGJITmxPeUI5WEc1Y2JseDBMeThnYVdZZ0tIUjVjR1Z2WmlCVGVXMWliMnd1Y0hKdmRHOTBlWEJsTG5SdlUzUnlhVzVuSUNFOVBTQW5ablZ1WTNScGIyNG5LU0I3SUhKbGRIVnliaUJtWVd4elpUc2dmVnh1WEhRdkx5QnBaaUFvVTNSeWFXNW5LSE41YlNrZ0lUMDlJRk41YldKdmJDNXdjbTkwYjNSNWNHVXVkRzlUZEhKcGJtY3VZMkZzYkNoemVXMHBLU0I3SUhKbGRIVnliaUJtWVd4elpUc2dmVnh1WEc1Y2RIWmhjaUJ6ZVcxV1lXd2dQU0EwTWp0Y2JseDBiMkpxVzNONWJWMGdQU0J6ZVcxV1lXdzdYRzVjZEdadmNpQW9jM2x0SUdsdUlHOWlhaWtnZXlCeVpYUjFjbTRnWm1Gc2MyVTdJSDBnTHk4Z1pYTnNhVzUwTFdScGMyRmliR1V0YkdsdVpTQnVieTF5WlhOMGNtbGpkR1ZrTFhONWJuUmhlRnh1WEhScFppQW9kSGx3Wlc5bUlFOWlhbVZqZEM1clpYbHpJRDA5UFNBblpuVnVZM1JwYjI0bklDWW1JRTlpYW1WamRDNXJaWGx6S0c5aWFpa3ViR1Z1WjNSb0lDRTlQU0F3S1NCN0lISmxkSFZ5YmlCbVlXeHpaVHNnZlZ4dVhHNWNkR2xtSUNoMGVYQmxiMllnVDJKcVpXTjBMbWRsZEU5M2JsQnliM0JsY25SNVRtRnRaWE1nUFQwOUlDZG1kVzVqZEdsdmJpY2dKaVlnVDJKcVpXTjBMbWRsZEU5M2JsQnliM0JsY25SNVRtRnRaWE1vYjJKcUtTNXNaVzVuZEdnZ0lUMDlJREFwSUhzZ2NtVjBkWEp1SUdaaGJITmxPeUI5WEc1Y2JseDBkbUZ5SUhONWJYTWdQU0JQWW1wbFkzUXVaMlYwVDNkdVVISnZjR1Z5ZEhsVGVXMWliMnh6S0c5aWFpazdYRzVjZEdsbUlDaHplVzF6TG14bGJtZDBhQ0FoUFQwZ01TQjhmQ0J6ZVcxeld6QmRJQ0U5UFNCemVXMHBJSHNnY21WMGRYSnVJR1poYkhObE95QjlYRzVjYmx4MGFXWWdLQ0ZQWW1wbFkzUXVjSEp2ZEc5MGVYQmxMbkJ5YjNCbGNuUjVTWE5GYm5WdFpYSmhZbXhsTG1OaGJHd29iMkpxTENCemVXMHBLU0I3SUhKbGRIVnliaUJtWVd4elpUc2dmVnh1WEc1Y2RHbG1JQ2gwZVhCbGIyWWdUMkpxWldOMExtZGxkRTkzYmxCeWIzQmxjblI1UkdWelkzSnBjSFJ2Y2lBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dVhIUmNkSFpoY2lCa1pYTmpjbWx3ZEc5eUlEMGdUMkpxWldOMExtZGxkRTkzYmxCeWIzQmxjblI1UkdWelkzSnBjSFJ2Y2lodlltb3NJSE41YlNrN1hHNWNkRngwYVdZZ0tHUmxjMk55YVhCMGIzSXVkbUZzZFdVZ0lUMDlJSE41YlZaaGJDQjhmQ0JrWlhOamNtbHdkRzl5TG1WdWRXMWxjbUZpYkdVZ0lUMDlJSFJ5ZFdVcElIc2djbVYwZFhKdUlHWmhiSE5sT3lCOVhHNWNkSDFjYmx4dVhIUnlaWFIxY200Z2RISjFaVHRjYm4wN1hHNGlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUc2lMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9zdHJpbmcucHJvdG90eXBlLnRyaW0vbm9kZV9tb2R1bGVzL2hhcy1zeW1ib2xzL3NoYW1zLmpzXG4iKTt9KSwiLi9ub2RlX21vZHVsZXMvc3RyaW5nLnByb3RvdHlwZS50cmltL3BvbHlmaWxsLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL3N0cmluZy5wcm90b3R5cGUudHJpbS9wb2x5ZmlsbC5qcyAqKiohClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18peyJ1c2Ugc3RyaWN0IjtldmFsKCJcblxudmFyIGltcGxlbWVudGF0aW9uID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9pbXBsZW1lbnRhdGlvbiAqLyBcIi4vbm9kZV9tb2R1bGVzL3N0cmluZy5wcm90b3R5cGUudHJpbS9pbXBsZW1lbnRhdGlvbi5qc1wiKTtcblxudmFyIHplcm9XaWR0aFNwYWNlID0gJ1xcdTIwMGInO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGdldFBvbHlmaWxsKCkge1xuXHRpZiAoU3RyaW5nLnByb3RvdHlwZS50cmltICYmIHplcm9XaWR0aFNwYWNlLnRyaW0oKSA9PT0gemVyb1dpZHRoU3BhY2UpIHtcblx0XHRyZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltO1xuXHR9XG5cdHJldHVybiBpbXBsZW1lbnRhdGlvbjtcbn07XG4vLyMgc291cmNlVVJMPVttb2R1bGVdXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12YzNSeWFXNW5MbkJ5YjNSdmRIbHdaUzUwY21sdEwzQnZiSGxtYVd4c0xtcHpMbXB6SWl3aWMyOTFjbU5sY3lJNld5SjNaV0p3WVdOck9pOHZMeTR2Ym05a1pWOXRiMlIxYkdWekwzTjBjbWx1Wnk1d2NtOTBiM1I1Y0dVdWRISnBiUzl3YjJ4NVptbHNiQzVxY3o4eFlqZG1JbDBzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWlkMWMyVWdjM1J5YVdOMEp6dGNibHh1ZG1GeUlHbHRjR3hsYldWdWRHRjBhVzl1SUQwZ2NtVnhkV2x5WlNnbkxpOXBiWEJzWlcxbGJuUmhkR2x2YmljcE8xeHVYRzUyWVhJZ2VtVnliMWRwWkhSb1UzQmhZMlVnUFNBblhGeDFNakF3WWljN1hHNWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdablZ1WTNScGIyNGdaMlYwVUc5c2VXWnBiR3dvS1NCN1hHNWNkR2xtSUNoVGRISnBibWN1Y0hKdmRHOTBlWEJsTG5SeWFXMGdKaVlnZW1WeWIxZHBaSFJvVTNCaFkyVXVkSEpwYlNncElEMDlQU0I2WlhKdlYybGtkR2hUY0dGalpTa2dlMXh1WEhSY2RISmxkSFZ5YmlCVGRISnBibWN1Y0hKdmRHOTBlWEJsTG5SeWFXMDdYRzVjZEgxY2JseDBjbVYwZFhKdUlHbHRjR3hsYldWdWRHRjBhVzl1TzF4dWZUdGNiaUpkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3N0cmluZy5wcm90b3R5cGUudHJpbS9wb2x5ZmlsbC5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL3N0cmluZy5wcm90b3R5cGUudHJpbS9zaGltLmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvc3RyaW5nLnByb3RvdHlwZS50cmltL3NoaW0uanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18peyJ1c2Ugc3RyaWN0IjtldmFsKCJcblxudmFyIGRlZmluZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGRlZmluZS1wcm9wZXJ0aWVzICovIFwiLi9ub2RlX21vZHVsZXMvZGVmaW5lLXByb3BlcnRpZXMvaW5kZXguanNcIik7XG52YXIgZ2V0UG9seWZpbGwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL3BvbHlmaWxsICovIFwiLi9ub2RlX21vZHVsZXMvc3RyaW5nLnByb3RvdHlwZS50cmltL3BvbHlmaWxsLmpzXCIpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIHNoaW1TdHJpbmdUcmltKCkge1xuXHR2YXIgcG9seWZpbGwgPSBnZXRQb2x5ZmlsbCgpO1xuXHRkZWZpbmUoU3RyaW5nLnByb3RvdHlwZSwgeyB0cmltOiBwb2x5ZmlsbCB9LCB7XG5cdFx0dHJpbTogZnVuY3Rpb24gdGVzdFRyaW0oKSB7XG5cdFx0XHRyZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltICE9PSBwb2x5ZmlsbDtcblx0XHR9XG5cdH0pO1xuXHRyZXR1cm4gcG9seWZpbGw7XG59O1xuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmMzUnlhVzVuTG5CeWIzUnZkSGx3WlM1MGNtbHRMM05vYVcwdWFuTXVhbk1pTENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OHZMaTl1YjJSbFgyMXZaSFZzWlhNdmMzUnlhVzVuTG5CeWIzUnZkSGx3WlM1MGNtbHRMM05vYVcwdWFuTS9Zak5tWkNKZExDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SW5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JuWmhjaUJrWldacGJtVWdQU0J5WlhGMWFYSmxLQ2RrWldacGJtVXRjSEp2Y0dWeWRHbGxjeWNwTzF4dWRtRnlJR2RsZEZCdmJIbG1hV3hzSUQwZ2NtVnhkV2x5WlNnbkxpOXdiMng1Wm1sc2JDY3BPMXh1WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUdaMWJtTjBhVzl1SUhOb2FXMVRkSEpwYm1kVWNtbHRLQ2tnZTF4dVhIUjJZWElnY0c5c2VXWnBiR3dnUFNCblpYUlFiMng1Wm1sc2JDZ3BPMXh1WEhSa1pXWnBibVVvVTNSeWFXNW5MbkJ5YjNSdmRIbHdaU3dnZXlCMGNtbHRPaUJ3YjJ4NVptbHNiQ0I5TENCN1hHNWNkRngwZEhKcGJUb2dablZ1WTNScGIyNGdkR1Z6ZEZSeWFXMG9LU0I3WEc1Y2RGeDBYSFJ5WlhSMWNtNGdVM1J5YVc1bkxuQnliM1J2ZEhsd1pTNTBjbWx0SUNFOVBTQndiMng1Wm1sc2JEdGNibHgwWEhSOVhHNWNkSDBwTzF4dVhIUnlaWFIxY200Z2NHOXNlV1pwYkd3N1hHNTlPMXh1SWwwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk95SXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9zdHJpbmcucHJvdG90eXBlLnRyaW0vc2hpbS5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL3Z1ZS1jdXN0b20tZWxlbWVudC9kaXN0L3Z1ZS1jdXN0b20tZWxlbWVudC5lc20uanMiOi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXAohKioqIC4vbm9kZV9tb2R1bGVzL3Z1ZS1jdXN0b20tZWxlbWVudC9kaXN0L3Z1ZS1jdXN0b20tZWxlbWVudC5lc20uanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qIWV4cG9ydHMgcHJvdmlkZWQ6IGRlZmF1bHQqLyhmdW5jdGlvbihtb2R1bGUsX193ZWJwYWNrX2V4cG9ydHNfXyxfX3dlYnBhY2tfcmVxdWlyZV9fKXsidXNlIHN0cmljdCI7ZXZhbCgiX193ZWJwYWNrX3JlcXVpcmVfXy5yKF9fd2VicGFja19leHBvcnRzX18pO1xuLyoqXG4gICogdnVlLWN1c3RvbS1lbGVtZW50IHYzLjIuNlxuICAqIChjKSAyMDE4IEthcm9sIEZhYmphxYRjenVrXG4gICogQGxpY2Vuc2UgTUlUXG4gICovXG4vKipcbiAqIEVTNiBPYmplY3QuZ2V0UHJvdG90eXBlT2YgUG9seWZpbGxcbiAqIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL09iamVjdC9zZXRQcm90b3R5cGVPZlxuICovXG5cbk9iamVjdC5zZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCBzZXRQcm90b3R5cGVPZjtcblxuZnVuY3Rpb24gc2V0UHJvdG90eXBlT2Yob2JqLCBwcm90bykge1xuICBvYmouX19wcm90b19fID0gcHJvdG87XG4gIHJldHVybiBvYmo7XG59XG5cbnZhciBzZXRQcm90b3R5cGVPZl8xID0gc2V0UHJvdG90eXBlT2YuYmluZChPYmplY3QpO1xuXG5mdW5jdGlvbiBpc0VTMjAxNSgpIHtcbiAgaWYgKHR5cGVvZiBTeW1ib2wgPT09ICd1bmRlZmluZWQnIHx8IHR5cGVvZiBSZWZsZWN0ID09PSAndW5kZWZpbmVkJyB8fCB0eXBlb2YgUHJveHkgPT09ICd1bmRlZmluZWQnIHx8IE9iamVjdC5pc1NlYWxlZChQcm94eSkpIHJldHVybiBmYWxzZTtcblxuICByZXR1cm4gdHJ1ZTtcbn1cblxudmFyIGlzRVMyMDE1JDEgPSBpc0VTMjAxNSgpO1xuXG52YXIgX2NyZWF0ZUNsYXNzID0gZnVuY3Rpb24gKCkgeyBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH0gcmV0dXJuIGZ1bmN0aW9uIChDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfTsgfSgpO1xuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmICghc2VsZikgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIGNhbGwgJiYgKHR5cGVvZiBjYWxsID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpID8gY2FsbCA6IHNlbGY7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uLCBub3QgXCIgKyB0eXBlb2Ygc3VwZXJDbGFzcyk7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgZW51bWVyYWJsZTogZmFsc2UsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcykgOiBzdWJDbGFzcy5fX3Byb3RvX18gPSBzdXBlckNsYXNzOyB9XG5cbmZ1bmN0aW9uIF9DdXN0b21FbGVtZW50KCkge1xuICByZXR1cm4gUmVmbGVjdC5jb25zdHJ1Y3QoSFRNTEVsZW1lbnQsIFtdLCB0aGlzLl9fcHJvdG9fXy5jb25zdHJ1Y3Rvcik7XG59XG5cblxuT2JqZWN0LnNldFByb3RvdHlwZU9mKF9DdXN0b21FbGVtZW50LnByb3RvdHlwZSwgSFRNTEVsZW1lbnQucHJvdG90eXBlKTtcbk9iamVjdC5zZXRQcm90b3R5cGVPZihfQ3VzdG9tRWxlbWVudCwgSFRNTEVsZW1lbnQpO1xuZnVuY3Rpb24gcmVnaXN0ZXJDdXN0b21FbGVtZW50KHRhZykge1xuICB2YXIgb3B0aW9ucyA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDoge307XG5cbiAgaWYgKHR5cGVvZiBjdXN0b21FbGVtZW50cyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBmdW5jdGlvbiBjb25zdHJ1Y3RvckNhbGxiYWNrKCkge1xuICAgIGlmIChvcHRpb25zLnNoYWRvdyA9PT0gdHJ1ZSAmJiBIVE1MRWxlbWVudC5wcm90b3R5cGUuYXR0YWNoU2hhZG93KSB7XG4gICAgICB0aGlzLmF0dGFjaFNoYWRvdyh7IG1vZGU6ICdvcGVuJyB9KTtcbiAgICB9XG4gICAgdHlwZW9mIG9wdGlvbnMuY29uc3RydWN0b3JDYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJyAmJiBvcHRpb25zLmNvbnN0cnVjdG9yQ2FsbGJhY2suY2FsbCh0aGlzKTtcbiAgfVxuICBmdW5jdGlvbiBjb25uZWN0ZWRDYWxsYmFjaygpIHtcbiAgICB0eXBlb2Ygb3B0aW9ucy5jb25uZWN0ZWRDYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJyAmJiBvcHRpb25zLmNvbm5lY3RlZENhbGxiYWNrLmNhbGwodGhpcyk7XG4gIH1cblxuICBmdW5jdGlvbiBkaXNjb25uZWN0ZWRDYWxsYmFjaygpIHtcbiAgICB0eXBlb2Ygb3B0aW9ucy5kaXNjb25uZWN0ZWRDYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJyAmJiBvcHRpb25zLmRpc2Nvbm5lY3RlZENhbGxiYWNrLmNhbGwodGhpcyk7XG4gIH1cblxuICBmdW5jdGlvbiBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sobmFtZSwgb2xkVmFsdWUsIHZhbHVlKSB7XG4gICAgdHlwZW9mIG9wdGlvbnMuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrID09PSAnZnVuY3Rpb24nICYmIG9wdGlvbnMuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrLmNhbGwodGhpcywgbmFtZSwgb2xkVmFsdWUsIHZhbHVlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGRlZmluZSh0YWdOYW1lLCBDdXN0b21FbGVtZW50KSB7XG4gICAgdmFyIGV4aXN0aW5nQ3VzdG9tRWxlbWVudCA9IGN1c3RvbUVsZW1lbnRzLmdldCh0YWdOYW1lKTtcbiAgICByZXR1cm4gdHlwZW9mIGV4aXN0aW5nQ3VzdG9tRWxlbWVudCAhPT0gJ3VuZGVmaW5lZCcgPyBleGlzdGluZ0N1c3RvbUVsZW1lbnQgOiBjdXN0b21FbGVtZW50cy5kZWZpbmUodGFnTmFtZSwgQ3VzdG9tRWxlbWVudCk7XG4gIH1cblxuICBpZiAoaXNFUzIwMTUkMSkge1xuICAgIHZhciBDdXN0b21FbGVtZW50ID0gZnVuY3Rpb24gKF9DdXN0b21FbGVtZW50Mikge1xuICAgICAgX2luaGVyaXRzKEN1c3RvbUVsZW1lbnQsIF9DdXN0b21FbGVtZW50Mik7XG5cbiAgICAgIGZ1bmN0aW9uIEN1c3RvbUVsZW1lbnQoc2VsZikge1xuICAgICAgICB2YXIgX3JldDtcblxuICAgICAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgQ3VzdG9tRWxlbWVudCk7XG5cbiAgICAgICAgdmFyIF90aGlzID0gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgKEN1c3RvbUVsZW1lbnQuX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihDdXN0b21FbGVtZW50KSkuY2FsbCh0aGlzKSk7XG5cbiAgICAgICAgdmFyIG1lID0gc2VsZiA/IEhUTUxFbGVtZW50LmNhbGwoc2VsZikgOiBfdGhpcztcblxuICAgICAgICBjb25zdHJ1Y3RvckNhbGxiYWNrLmNhbGwobWUpO1xuICAgICAgICByZXR1cm4gX3JldCA9IG1lLCBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihfdGhpcywgX3JldCk7XG4gICAgICB9XG5cbiAgICAgIF9jcmVhdGVDbGFzcyhDdXN0b21FbGVtZW50LCBudWxsLCBbe1xuICAgICAgICBrZXk6ICdvYnNlcnZlZEF0dHJpYnV0ZXMnLFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgICByZXR1cm4gb3B0aW9ucy5vYnNlcnZlZEF0dHJpYnV0ZXMgfHwgW107XG4gICAgICAgIH1cbiAgICAgIH1dKTtcblxuICAgICAgcmV0dXJuIEN1c3RvbUVsZW1lbnQ7XG4gICAgfShfQ3VzdG9tRWxlbWVudCk7XG5cbiAgICBDdXN0b21FbGVtZW50LnByb3RvdHlwZS5jb25uZWN0ZWRDYWxsYmFjayA9IGNvbm5lY3RlZENhbGxiYWNrO1xuICAgIEN1c3RvbUVsZW1lbnQucHJvdG90eXBlLmRpc2Nvbm5lY3RlZENhbGxiYWNrID0gZGlzY29ubmVjdGVkQ2FsbGJhY2s7XG4gICAgQ3VzdG9tRWxlbWVudC5wcm90b3R5cGUuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrID0gYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrO1xuXG4gICAgZGVmaW5lKHRhZywgQ3VzdG9tRWxlbWVudCk7XG4gICAgcmV0dXJuIEN1c3RvbUVsZW1lbnQ7XG4gIH0gZWxzZSB7XG4gICAgdmFyIF9DdXN0b21FbGVtZW50MyA9IGZ1bmN0aW9uIF9DdXN0b21FbGVtZW50MyhzZWxmKSB7XG4gICAgICB2YXIgbWUgPSBzZWxmID8gSFRNTEVsZW1lbnQuY2FsbChzZWxmKSA6IHRoaXM7XG5cbiAgICAgIGNvbnN0cnVjdG9yQ2FsbGJhY2suY2FsbChtZSk7XG4gICAgICByZXR1cm4gbWU7XG4gICAgfTtcblxuICAgIF9DdXN0b21FbGVtZW50My5vYnNlcnZlZEF0dHJpYnV0ZXMgPSBvcHRpb25zLm9ic2VydmVkQXR0cmlidXRlcyB8fCBbXTtcblxuICAgIF9DdXN0b21FbGVtZW50My5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKEhUTUxFbGVtZW50LnByb3RvdHlwZSwge1xuICAgICAgY29uc3RydWN0b3I6IHtcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgdmFsdWU6IF9DdXN0b21FbGVtZW50M1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgX0N1c3RvbUVsZW1lbnQzLnByb3RvdHlwZS5jb25uZWN0ZWRDYWxsYmFjayA9IGNvbm5lY3RlZENhbGxiYWNrO1xuICAgIF9DdXN0b21FbGVtZW50My5wcm90b3R5cGUuZGlzY29ubmVjdGVkQ2FsbGJhY2sgPSBkaXNjb25uZWN0ZWRDYWxsYmFjaztcbiAgICBfQ3VzdG9tRWxlbWVudDMucHJvdG90eXBlLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayA9IGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjaztcblxuICAgIGRlZmluZSh0YWcsIF9DdXN0b21FbGVtZW50Myk7XG4gICAgcmV0dXJuIF9DdXN0b21FbGVtZW50MztcbiAgfVxufVxuXG52YXIgY2FtZWxpemVSRSA9IC8tKFxcdykvZztcbnZhciBjYW1lbGl6ZSA9IGZ1bmN0aW9uIGNhbWVsaXplKHN0cikge1xuICByZXR1cm4gc3RyLnJlcGxhY2UoY2FtZWxpemVSRSwgZnVuY3Rpb24gKF8sIGMpIHtcbiAgICByZXR1cm4gYyA/IGMudG9VcHBlckNhc2UoKSA6ICcnO1xuICB9KTtcbn07XG52YXIgaHlwaGVuYXRlUkUgPSAvKFteLV0pKFtBLVpdKS9nO1xudmFyIGh5cGhlbmF0ZSA9IGZ1bmN0aW9uIGh5cGhlbmF0ZShzdHIpIHtcbiAgcmV0dXJuIHN0ci5yZXBsYWNlKGh5cGhlbmF0ZVJFLCAnJDEtJDInKS5yZXBsYWNlKGh5cGhlbmF0ZVJFLCAnJDEtJDInKS50b0xvd2VyQ2FzZSgpO1xufTtcblxuZnVuY3Rpb24gdG9BcnJheShsaXN0KSB7XG4gIHZhciBzdGFydCA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogMDtcblxuICB2YXIgaSA9IGxpc3QubGVuZ3RoIC0gc3RhcnQ7XG4gIHZhciByZXQgPSBuZXcgQXJyYXkoaSk7XG4gIHdoaWxlIChpLS0pIHtcbiAgICByZXRbaV0gPSBsaXN0W2kgKyBzdGFydF07XG4gIH1cbiAgcmV0dXJuIHJldDtcbn1cblxudmFyIF90eXBlb2YgPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIiA/IGZ1bmN0aW9uIChvYmopIHsgcmV0dXJuIHR5cGVvZiBvYmo7IH0gOiBmdW5jdGlvbiAob2JqKSB7IHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqOyB9O1xuXG5mdW5jdGlvbiBjb252ZXJ0QXR0cmlidXRlVmFsdWUodmFsdWUsIG92ZXJyaWRlVHlwZSkge1xuICB2YXIgcHJvcHNWYWx1ZSA9IHZhbHVlO1xuICB2YXIgaXNCb29sZWFuID0gWyd0cnVlJywgJ2ZhbHNlJ10uaW5kZXhPZih2YWx1ZSkgPiAtMTtcbiAgdmFyIHZhbHVlUGFyc2VkID0gcGFyc2VGbG9hdChwcm9wc1ZhbHVlLCAxMCk7XG4gIHZhciBpc051bWJlciA9ICFpc05hTih2YWx1ZVBhcnNlZCkgJiYgaXNGaW5pdGUocHJvcHNWYWx1ZSkgJiYgdHlwZW9mIHByb3BzVmFsdWUgPT09ICdzdHJpbmcnICYmICFwcm9wc1ZhbHVlLm1hdGNoKC9eMCtbXi5dXFxkKiQvZyk7XG5cbiAgaWYgKG92ZXJyaWRlVHlwZSAmJiBvdmVycmlkZVR5cGUgIT09IEJvb2xlYW4gJiYgKHR5cGVvZiBwcm9wc1ZhbHVlID09PSAndW5kZWZpbmVkJyA/ICd1bmRlZmluZWQnIDogX3R5cGVvZihwcm9wc1ZhbHVlKSkgIT09IG92ZXJyaWRlVHlwZSkge1xuICAgIHByb3BzVmFsdWUgPSBvdmVycmlkZVR5cGUodmFsdWUpO1xuICB9IGVsc2UgaWYgKGlzQm9vbGVhbiB8fCBvdmVycmlkZVR5cGUgPT09IEJvb2xlYW4pIHtcbiAgICBwcm9wc1ZhbHVlID0gcHJvcHNWYWx1ZSA9PT0gJycgPyB0cnVlIDogcHJvcHNWYWx1ZSA9PT0gJ3RydWUnO1xuICB9IGVsc2UgaWYgKGlzTnVtYmVyKSB7XG4gICAgcHJvcHNWYWx1ZSA9IHZhbHVlUGFyc2VkO1xuICB9XG5cbiAgcmV0dXJuIHByb3BzVmFsdWU7XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RQcm9wcyhjb2xsZWN0aW9uLCBwcm9wcykge1xuICBpZiAoY29sbGVjdGlvbiAmJiBjb2xsZWN0aW9uLmxlbmd0aCkge1xuICAgIGNvbGxlY3Rpb24uZm9yRWFjaChmdW5jdGlvbiAocHJvcCkge1xuICAgICAgdmFyIGNhbWVsQ2FzZVByb3AgPSBjYW1lbGl6ZShwcm9wKTtcbiAgICAgIHByb3BzLmNhbWVsQ2FzZS5pbmRleE9mKGNhbWVsQ2FzZVByb3ApID09PSAtMSAmJiBwcm9wcy5jYW1lbENhc2UucHVzaChjYW1lbENhc2VQcm9wKTtcbiAgICB9KTtcbiAgfSBlbHNlIGlmIChjb2xsZWN0aW9uICYmICh0eXBlb2YgY29sbGVjdGlvbiA9PT0gJ3VuZGVmaW5lZCcgPyAndW5kZWZpbmVkJyA6IF90eXBlb2YoY29sbGVjdGlvbikpID09PSAnb2JqZWN0Jykge1xuICAgIGZvciAodmFyIHByb3AgaW4gY29sbGVjdGlvbikge1xuICAgICAgdmFyIGNhbWVsQ2FzZVByb3AgPSBjYW1lbGl6ZShwcm9wKTtcbiAgICAgIHByb3BzLmNhbWVsQ2FzZS5pbmRleE9mKGNhbWVsQ2FzZVByb3ApID09PSAtMSAmJiBwcm9wcy5jYW1lbENhc2UucHVzaChjYW1lbENhc2VQcm9wKTtcblxuICAgICAgaWYgKGNvbGxlY3Rpb25bY2FtZWxDYXNlUHJvcF0gJiYgY29sbGVjdGlvbltjYW1lbENhc2VQcm9wXS50eXBlKSB7XG4gICAgICAgIHByb3BzLnR5cGVzW3Byb3BdID0gW10uY29uY2F0KGNvbGxlY3Rpb25bY2FtZWxDYXNlUHJvcF0udHlwZSlbMF07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGdldFByb3BzKCkge1xuICB2YXIgY29tcG9uZW50RGVmaW5pdGlvbiA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDoge307XG5cbiAgdmFyIHByb3BzID0ge1xuICAgIGNhbWVsQ2FzZTogW10sXG4gICAgaHlwaGVuYXRlOiBbXSxcbiAgICB0eXBlczoge31cbiAgfTtcblxuICBpZiAoY29tcG9uZW50RGVmaW5pdGlvbi5taXhpbnMpIHtcbiAgICBjb21wb25lbnREZWZpbml0aW9uLm1peGlucy5mb3JFYWNoKGZ1bmN0aW9uIChtaXhpbikge1xuICAgICAgZXh0cmFjdFByb3BzKG1peGluLnByb3BzLCBwcm9wcyk7XG4gICAgfSk7XG4gIH1cblxuICBpZiAoY29tcG9uZW50RGVmaW5pdGlvbi5leHRlbmRzICYmIGNvbXBvbmVudERlZmluaXRpb24uZXh0ZW5kcy5wcm9wcykge1xuICAgIHZhciBwYXJlbnRQcm9wcyA9IGNvbXBvbmVudERlZmluaXRpb24uZXh0ZW5kcy5wcm9wcztcblxuXG4gICAgZXh0cmFjdFByb3BzKHBhcmVudFByb3BzLCBwcm9wcyk7XG4gIH1cblxuICBleHRyYWN0UHJvcHMoY29tcG9uZW50RGVmaW5pdGlvbi5wcm9wcywgcHJvcHMpO1xuXG4gIHByb3BzLmNhbWVsQ2FzZS5mb3JFYWNoKGZ1bmN0aW9uIChwcm9wKSB7XG4gICAgcHJvcHMuaHlwaGVuYXRlLnB1c2goaHlwaGVuYXRlKHByb3ApKTtcbiAgfSk7XG5cbiAgcmV0dXJuIHByb3BzO1xufVxuXG5mdW5jdGlvbiByZWFjdGl2ZVByb3BzKGVsZW1lbnQsIHByb3BzKSB7XG4gIHByb3BzLmNhbWVsQ2FzZS5mb3JFYWNoKGZ1bmN0aW9uIChuYW1lLCBpbmRleCkge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlbGVtZW50LCBuYW1lLCB7XG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX192dWVfY3VzdG9tX2VsZW1lbnRfX1tuYW1lXTtcbiAgICAgIH0sXG4gICAgICBzZXQ6IGZ1bmN0aW9uIHNldCh2YWx1ZSkge1xuICAgICAgICBpZiAoKCh0eXBlb2YgdmFsdWUgPT09ICd1bmRlZmluZWQnID8gJ3VuZGVmaW5lZCcgOiBfdHlwZW9mKHZhbHVlKSkgPT09ICdvYmplY3QnIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJykgJiYgdGhpcy5fX3Z1ZV9jdXN0b21fZWxlbWVudF9fKSB7XG4gICAgICAgICAgdmFyIHByb3BOYW1lID0gcHJvcHMuY2FtZWxDYXNlW2luZGV4XTtcbiAgICAgICAgICB0aGlzLl9fdnVlX2N1c3RvbV9lbGVtZW50X19bcHJvcE5hbWVdID0gdmFsdWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdmFyIHR5cGUgPSBwcm9wcy50eXBlc1twcm9wcy5jYW1lbENhc2VbaW5kZXhdXTtcbiAgICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZShwcm9wcy5oeXBoZW5hdGVbaW5kZXhdLCBjb252ZXJ0QXR0cmlidXRlVmFsdWUodmFsdWUsIHR5cGUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gZ2V0UHJvcHNEYXRhKGVsZW1lbnQsIGNvbXBvbmVudERlZmluaXRpb24sIHByb3BzKSB7XG4gIHZhciBwcm9wc0RhdGEgPSBjb21wb25lbnREZWZpbml0aW9uLnByb3BzRGF0YSB8fCB7fTtcblxuICBwcm9wcy5oeXBoZW5hdGUuZm9yRWFjaChmdW5jdGlvbiAobmFtZSwgaW5kZXgpIHtcbiAgICB2YXIgcHJvcENhbWVsQ2FzZSA9IHByb3BzLmNhbWVsQ2FzZVtpbmRleF07XG4gICAgdmFyIHByb3BWYWx1ZSA9IGVsZW1lbnQuYXR0cmlidXRlc1tuYW1lXSB8fCBlbGVtZW50W3Byb3BDYW1lbENhc2VdO1xuXG4gICAgdmFyIHR5cGUgPSBudWxsO1xuICAgIGlmIChwcm9wcy50eXBlc1twcm9wQ2FtZWxDYXNlXSkge1xuICAgICAgdHlwZSA9IHByb3BzLnR5cGVzW3Byb3BDYW1lbENhc2VdO1xuICAgIH1cblxuICAgIGlmIChwcm9wVmFsdWUgaW5zdGFuY2VvZiBBdHRyKSB7XG4gICAgICBwcm9wc0RhdGFbcHJvcENhbWVsQ2FzZV0gPSBjb252ZXJ0QXR0cmlidXRlVmFsdWUocHJvcFZhbHVlLnZhbHVlLCB0eXBlKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBwcm9wVmFsdWUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBwcm9wc0RhdGFbcHJvcENhbWVsQ2FzZV0gPSBwcm9wVmFsdWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gcHJvcHNEYXRhO1xufVxuXG5mdW5jdGlvbiBnZXRBdHRyaWJ1dGVzKGNoaWxkcmVuKSB7XG4gIHZhciBhdHRyaWJ1dGVzID0ge307XG5cbiAgdG9BcnJheShjaGlsZHJlbi5hdHRyaWJ1dGVzKS5mb3JFYWNoKGZ1bmN0aW9uIChhdHRyaWJ1dGUpIHtcbiAgICBhdHRyaWJ1dGVzW2F0dHJpYnV0ZS5ub2RlTmFtZSA9PT0gJ3Z1ZS1zbG90JyA/ICdzbG90JyA6IGF0dHJpYnV0ZS5ub2RlTmFtZV0gPSBhdHRyaWJ1dGUubm9kZVZhbHVlO1xuICB9KTtcblxuICByZXR1cm4gYXR0cmlidXRlcztcbn1cblxuZnVuY3Rpb24gZ2V0Q2hpbGROb2RlcyhlbGVtZW50KSB7XG4gIGlmIChlbGVtZW50LmNoaWxkTm9kZXMubGVuZ3RoKSByZXR1cm4gZWxlbWVudC5jaGlsZE5vZGVzO1xuICBpZiAoZWxlbWVudC5jb250ZW50ICYmIGVsZW1lbnQuY29udGVudC5jaGlsZE5vZGVzICYmIGVsZW1lbnQuY29udGVudC5jaGlsZE5vZGVzLmxlbmd0aCkge1xuICAgIHJldHVybiBlbGVtZW50LmNvbnRlbnQuY2hpbGROb2RlcztcbiAgfVxuXG4gIHZhciBwbGFjZWhvbGRlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gIHBsYWNlaG9sZGVyLmlubmVySFRNTCA9IGVsZW1lbnQuaW5uZXJIVE1MO1xuXG4gIHJldHVybiBwbGFjZWhvbGRlci5jaGlsZE5vZGVzO1xufVxuXG5mdW5jdGlvbiB0ZW1wbGF0ZUVsZW1lbnQoY3JlYXRlRWxlbWVudCwgZWxlbWVudCwgZWxlbWVudE9wdGlvbnMpIHtcbiAgdmFyIHRlbXBsYXRlQ2hpbGRyZW4gPSBnZXRDaGlsZE5vZGVzKGVsZW1lbnQpO1xuXG4gIHZhciB2dWVUZW1wbGF0ZUNoaWxkcmVuID0gdG9BcnJheSh0ZW1wbGF0ZUNoaWxkcmVuKS5tYXAoZnVuY3Rpb24gKGNoaWxkKSB7XG4gICAgaWYgKGNoaWxkLm5vZGVOYW1lID09PSAnI3RleHQnKSByZXR1cm4gY2hpbGQubm9kZVZhbHVlO1xuXG4gICAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQoY2hpbGQudGFnTmFtZSwge1xuICAgICAgYXR0cnM6IGdldEF0dHJpYnV0ZXMoY2hpbGQpLFxuICAgICAgZG9tUHJvcHM6IHtcbiAgICAgICAgaW5uZXJIVE1MOiBjaGlsZC5pbm5lckhUTUxcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG5cbiAgZWxlbWVudE9wdGlvbnMuc2xvdCA9IGVsZW1lbnQuaWQ7XG5cbiAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQoJ3RlbXBsYXRlJywgZWxlbWVudE9wdGlvbnMsIHZ1ZVRlbXBsYXRlQ2hpbGRyZW4pO1xufVxuXG5mdW5jdGlvbiBnZXRTbG90cygpIHtcbiAgdmFyIGNoaWxkcmVuID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiBbXTtcbiAgdmFyIGNyZWF0ZUVsZW1lbnQgPSBhcmd1bWVudHNbMV07XG5cbiAgdmFyIHNsb3RzID0gW107XG4gIHRvQXJyYXkoY2hpbGRyZW4pLmZvckVhY2goZnVuY3Rpb24gKGNoaWxkKSB7XG4gICAgaWYgKGNoaWxkLm5vZGVOYW1lID09PSAnI3RleHQnKSB7XG4gICAgICBpZiAoY2hpbGQubm9kZVZhbHVlLnRyaW0oKSkge1xuICAgICAgICBzbG90cy5wdXNoKGNyZWF0ZUVsZW1lbnQoJ3NwYW4nLCBjaGlsZC5ub2RlVmFsdWUpKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGNoaWxkLm5vZGVOYW1lICE9PSAnI2NvbW1lbnQnKSB7XG4gICAgICB2YXIgYXR0cmlidXRlcyA9IGdldEF0dHJpYnV0ZXMoY2hpbGQpO1xuICAgICAgdmFyIGVsZW1lbnRPcHRpb25zID0ge1xuICAgICAgICBhdHRyczogYXR0cmlidXRlcyxcbiAgICAgICAgZG9tUHJvcHM6IHtcbiAgICAgICAgICBpbm5lckhUTUw6IGNoaWxkLmlubmVySFRNTCA9PT0gJycgPyBjaGlsZC5pbm5lclRleHQgOiBjaGlsZC5pbm5lckhUTUxcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgaWYgKGF0dHJpYnV0ZXMuc2xvdCkge1xuICAgICAgICBlbGVtZW50T3B0aW9ucy5zbG90ID0gYXR0cmlidXRlcy5zbG90O1xuICAgICAgICBhdHRyaWJ1dGVzLnNsb3QgPSB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIHZhciBzbG90VnVlRWxlbWVudCA9IGNoaWxkLnRhZ05hbWUgPT09ICdURU1QTEFURScgPyB0ZW1wbGF0ZUVsZW1lbnQoY3JlYXRlRWxlbWVudCwgY2hpbGQsIGVsZW1lbnRPcHRpb25zKSA6IGNyZWF0ZUVsZW1lbnQoY2hpbGQudGFnTmFtZSwgZWxlbWVudE9wdGlvbnMpO1xuXG4gICAgICBzbG90cy5wdXNoKHNsb3RWdWVFbGVtZW50KTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBzbG90cztcbn1cblxuZnVuY3Rpb24gY3VzdG9tRXZlbnQoZXZlbnROYW1lLCBkZXRhaWwpIHtcbiAgdmFyIHBhcmFtcyA9IHsgYnViYmxlczogZmFsc2UsIGNhbmNlbGFibGU6IGZhbHNlLCBkZXRhaWw6IGRldGFpbCB9O1xuICB2YXIgZXZlbnQgPSB2b2lkIDA7XG4gIGlmICh0eXBlb2Ygd2luZG93LkN1c3RvbUV2ZW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgZXZlbnQgPSBuZXcgQ3VzdG9tRXZlbnQoZXZlbnROYW1lLCBwYXJhbXMpO1xuICB9IGVsc2Uge1xuICAgIGV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0N1c3RvbUV2ZW50Jyk7XG4gICAgZXZlbnQuaW5pdEN1c3RvbUV2ZW50KGV2ZW50TmFtZSwgcGFyYW1zLmJ1YmJsZXMsIHBhcmFtcy5jYW5jZWxhYmxlLCBwYXJhbXMuZGV0YWlsKTtcbiAgfVxuICByZXR1cm4gZXZlbnQ7XG59XG5cbmZ1bmN0aW9uIGN1c3RvbUVtaXQoZWxlbWVudCwgZXZlbnROYW1lKSB7XG4gIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gQXJyYXkoX2xlbiA+IDIgPyBfbGVuIC0gMiA6IDApLCBfa2V5ID0gMjsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgIGFyZ3NbX2tleSAtIDJdID0gYXJndW1lbnRzW19rZXldO1xuICB9XG5cbiAgdmFyIGV2ZW50ID0gY3VzdG9tRXZlbnQoZXZlbnROYW1lLCBbXS5jb25jYXQoYXJncykpO1xuICBlbGVtZW50LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVWdWVJbnN0YW5jZShlbGVtZW50LCBWdWUsIGNvbXBvbmVudERlZmluaXRpb24sIHByb3BzLCBvcHRpb25zKSB7XG4gIGlmICghZWxlbWVudC5fX3Z1ZV9jdXN0b21fZWxlbWVudF9fKSB7XG4gICAgdmFyIGJlZm9yZUNyZWF0ZSA9IGZ1bmN0aW9uIGJlZm9yZUNyZWF0ZSgpIHtcbiAgICAgIHRoaXMuJGVtaXQgPSBmdW5jdGlvbiBlbWl0KCkge1xuICAgICAgICB2YXIgX3Byb3RvX18kJGVtaXQ7XG5cbiAgICAgICAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICAgICAgICBhcmdzW19rZXldID0gYXJndW1lbnRzW19rZXldO1xuICAgICAgICB9XG5cbiAgICAgICAgY3VzdG9tRW1pdC5hcHBseSh1bmRlZmluZWQsIFtlbGVtZW50XS5jb25jYXQoYXJncykpO1xuICAgICAgICB0aGlzLl9fcHJvdG9fXyAmJiAoX3Byb3RvX18kJGVtaXQgPSB0aGlzLl9fcHJvdG9fXy4kZW1pdCkuY2FsbC5hcHBseShfcHJvdG9fXyQkZW1pdCwgW3RoaXNdLmNvbmNhdChhcmdzKSk7XG4gICAgICB9O1xuICAgIH07XG5cbiAgICB2YXIgQ29tcG9uZW50RGVmaW5pdGlvbiA9IFZ1ZS51dGlsLmV4dGVuZCh7fSwgY29tcG9uZW50RGVmaW5pdGlvbik7XG4gICAgdmFyIHByb3BzRGF0YSA9IGdldFByb3BzRGF0YShlbGVtZW50LCBDb21wb25lbnREZWZpbml0aW9uLCBwcm9wcyk7XG4gICAgdmFyIHZ1ZVZlcnNpb24gPSBWdWUudmVyc2lvbiAmJiBwYXJzZUludChWdWUudmVyc2lvbi5zcGxpdCgnLicpWzBdLCAxMCkgfHwgMDtcblxuICAgIENvbXBvbmVudERlZmluaXRpb24uYmVmb3JlQ3JlYXRlID0gW10uY29uY2F0KENvbXBvbmVudERlZmluaXRpb24uYmVmb3JlQ3JlYXRlIHx8IFtdLCBiZWZvcmVDcmVhdGUpO1xuXG4gICAgaWYgKENvbXBvbmVudERlZmluaXRpb24uX2NvbXBpbGVkKSB7XG4gICAgICB2YXIgY3Rvck9wdGlvbnMgPSB7fTtcbiAgICAgIGlmIChDb21wb25lbnREZWZpbml0aW9uLl9DdG9yKSB7XG4gICAgICAgIGN0b3JPcHRpb25zID0gT2JqZWN0LnZhbHVlcyhDb21wb25lbnREZWZpbml0aW9uLl9DdG9yKVswXS5vcHRpb25zO1xuICAgICAgfVxuICAgICAgY3Rvck9wdGlvbnMuYmVmb3JlQ3JlYXRlID0gQ29tcG9uZW50RGVmaW5pdGlvbi5iZWZvcmVDcmVhdGU7XG4gICAgfVxuXG4gICAgdmFyIHJvb3RFbGVtZW50ID0gdm9pZCAwO1xuXG4gICAgaWYgKHZ1ZVZlcnNpb24gPj0gMikge1xuICAgICAgdmFyIGVsZW1lbnRPcmlnaW5hbENoaWxkcmVuID0gZWxlbWVudC5jbG9uZU5vZGUodHJ1ZSkuY2hpbGROb2RlcztcbiAgICAgIHJvb3RFbGVtZW50ID0ge1xuICAgICAgICBwcm9wc0RhdGE6IHByb3BzRGF0YSxcbiAgICAgICAgcHJvcHM6IHByb3BzLmNhbWVsQ2FzZSxcbiAgICAgICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgICByZWFjdGl2ZVByb3BzOiBmdW5jdGlvbiByZWFjdGl2ZVByb3BzJCQxKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgICAgICAgdmFyIHJlYWN0aXZlUHJvcHNMaXN0ID0ge307XG4gICAgICAgICAgICBwcm9wcy5jYW1lbENhc2UuZm9yRWFjaChmdW5jdGlvbiAocHJvcCkge1xuICAgICAgICAgICAgICB0eXBlb2YgX3RoaXNbcHJvcF0gIT09ICd1bmRlZmluZWQnICYmIChyZWFjdGl2ZVByb3BzTGlzdFtwcm9wXSA9IF90aGlzW3Byb3BdKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm4gcmVhY3RpdmVQcm9wc0xpc3Q7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihjcmVhdGVFbGVtZW50KSB7XG4gICAgICAgICAgdmFyIGRhdGEgPSB7XG4gICAgICAgICAgICBwcm9wczogdGhpcy5yZWFjdGl2ZVByb3BzXG4gICAgICAgICAgfTtcblxuICAgICAgICAgIHJldHVybiBjcmVhdGVFbGVtZW50KENvbXBvbmVudERlZmluaXRpb24sIGRhdGEsIGdldFNsb3RzKGVsZW1lbnRPcmlnaW5hbENoaWxkcmVuLCBjcmVhdGVFbGVtZW50KSk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfSBlbHNlIGlmICh2dWVWZXJzaW9uID09PSAxKSB7XG4gICAgICByb290RWxlbWVudCA9IENvbXBvbmVudERlZmluaXRpb247XG4gICAgICByb290RWxlbWVudC5wcm9wc0RhdGEgPSBwcm9wc0RhdGE7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJvb3RFbGVtZW50ID0gQ29tcG9uZW50RGVmaW5pdGlvbjtcbiAgICAgIHZhciBwcm9wc1dpdGhEZWZhdWx0ID0ge307XG4gICAgICBPYmplY3Qua2V5cyhwcm9wc0RhdGEpLmZvckVhY2goZnVuY3Rpb24gKHByb3ApIHtcbiAgICAgICAgcHJvcHNXaXRoRGVmYXVsdFtwcm9wXSA9IHsgZGVmYXVsdDogcHJvcHNEYXRhW3Byb3BdIH07XG4gICAgICB9KTtcbiAgICAgIHJvb3RFbGVtZW50LnByb3BzID0gcHJvcHNXaXRoRGVmYXVsdDtcbiAgICB9XG5cbiAgICB2YXIgZWxlbWVudElubmVySHRtbCA9IHZ1ZVZlcnNpb24gPj0gMiA/ICc8ZGl2PjwvZGl2PicgOiAoJzxkaXY+JyArIGVsZW1lbnQuaW5uZXJIVE1MICsgJzwvZGl2PicpLnJlcGxhY2UoL3Z1ZS1zbG90PS9nLCAnc2xvdD0nKTtcbiAgICBpZiAob3B0aW9ucy5zaGFkb3cgJiYgZWxlbWVudC5zaGFkb3dSb290KSB7XG4gICAgICBlbGVtZW50LnNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gZWxlbWVudElubmVySHRtbDtcbiAgICAgIHJvb3RFbGVtZW50LmVsID0gZWxlbWVudC5zaGFkb3dSb290LmNoaWxkcmVuWzBdO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbGVtZW50LmlubmVySFRNTCA9IGVsZW1lbnRJbm5lckh0bWw7XG4gICAgICByb290RWxlbWVudC5lbCA9IGVsZW1lbnQuY2hpbGRyZW5bMF07XG4gICAgfVxuXG4gICAgcmVhY3RpdmVQcm9wcyhlbGVtZW50LCBwcm9wcyk7XG5cbiAgICBpZiAodHlwZW9mIG9wdGlvbnMuYmVmb3JlQ3JlYXRlVnVlSW5zdGFuY2UgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJvb3RFbGVtZW50ID0gb3B0aW9ucy5iZWZvcmVDcmVhdGVWdWVJbnN0YW5jZShyb290RWxlbWVudCkgfHwgcm9vdEVsZW1lbnQ7XG4gICAgfVxuXG4gICAgZWxlbWVudC5fX3Z1ZV9jdXN0b21fZWxlbWVudF9fID0gbmV3IFZ1ZShyb290RWxlbWVudCk7XG4gICAgZWxlbWVudC5fX3Z1ZV9jdXN0b21fZWxlbWVudF9wcm9wc19fID0gcHJvcHM7XG4gICAgZWxlbWVudC5nZXRWdWVJbnN0YW5jZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBlbGVtZW50Ll9fdnVlX2N1c3RvbV9lbGVtZW50X18uJGNoaWxkcmVuWzBdO1xuICAgIH07XG5cbiAgICBpZiAob3B0aW9ucy5zaGFkb3cgJiYgb3B0aW9ucy5zaGFkb3dDc3MgJiYgZWxlbWVudC5zaGFkb3dSb290KSB7XG4gICAgICB2YXIgc3R5bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICAgICAgc3R5bGUudHlwZSA9ICd0ZXh0L2Nzcyc7XG4gICAgICBzdHlsZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShvcHRpb25zLnNoYWRvd0NzcykpO1xuXG4gICAgICBlbGVtZW50LnNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoc3R5bGUpO1xuICAgIH1cbiAgICBlbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgndmNlLWNsb2FrJyk7XG4gICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3ZjZS1yZWFkeScsICcnKTtcbiAgICBjdXN0b21FbWl0KGVsZW1lbnQsICd2Y2UtcmVhZHknKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpbnN0YWxsKFZ1ZSkge1xuICBWdWUuY3VzdG9tRWxlbWVudCA9IGZ1bmN0aW9uIHZ1ZUN1c3RvbUVsZW1lbnQodGFnLCBjb21wb25lbnREZWZpbml0aW9uKSB7XG4gICAgdmFyIG9wdGlvbnMgPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IHt9O1xuXG4gICAgdmFyIGlzQXN5bmNDb21wb25lbnQgPSB0eXBlb2YgY29tcG9uZW50RGVmaW5pdGlvbiA9PT0gJ2Z1bmN0aW9uJztcbiAgICB2YXIgb3B0aW9uc1Byb3BzID0gaXNBc3luY0NvbXBvbmVudCAmJiB7IHByb3BzOiBvcHRpb25zLnByb3BzIHx8IFtdIH07XG4gICAgdmFyIHByb3BzID0gZ2V0UHJvcHMoaXNBc3luY0NvbXBvbmVudCA/IG9wdGlvbnNQcm9wcyA6IGNvbXBvbmVudERlZmluaXRpb24pO1xuXG4gICAgdmFyIEN1c3RvbUVsZW1lbnQgPSByZWdpc3RlckN1c3RvbUVsZW1lbnQodGFnLCB7XG4gICAgICBjb25zdHJ1Y3RvckNhbGxiYWNrOiBmdW5jdGlvbiBjb25zdHJ1Y3RvckNhbGxiYWNrKCkge1xuICAgICAgICB0eXBlb2Ygb3B0aW9ucy5jb25zdHJ1Y3RvckNhbGxiYWNrID09PSAnZnVuY3Rpb24nICYmIG9wdGlvbnMuY29uc3RydWN0b3JDYWxsYmFjay5jYWxsKHRoaXMpO1xuICAgICAgfSxcbiAgICAgIGNvbm5lY3RlZENhbGxiYWNrOiBmdW5jdGlvbiBjb25uZWN0ZWRDYWxsYmFjaygpIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgICB2YXIgYXN5bmNDb21wb25lbnRQcm9taXNlID0gaXNBc3luY0NvbXBvbmVudCAmJiBjb21wb25lbnREZWZpbml0aW9uKCk7XG4gICAgICAgIHZhciBpc0FzeW5jQ29tcG9uZW50UHJvbWlzZSA9IGFzeW5jQ29tcG9uZW50UHJvbWlzZSAmJiBhc3luY0NvbXBvbmVudFByb21pc2UudGhlbiAmJiB0eXBlb2YgYXN5bmNDb21wb25lbnRQcm9taXNlLnRoZW4gPT09ICdmdW5jdGlvbic7XG5cbiAgICAgICAgdHlwZW9mIG9wdGlvbnMuY29ubmVjdGVkQ2FsbGJhY2sgPT09ICdmdW5jdGlvbicgJiYgb3B0aW9ucy5jb25uZWN0ZWRDYWxsYmFjay5jYWxsKHRoaXMpO1xuXG4gICAgICAgIGlmIChpc0FzeW5jQ29tcG9uZW50ICYmICFpc0FzeW5jQ29tcG9uZW50UHJvbWlzZSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQXN5bmMgY29tcG9uZW50ICcgKyB0YWcgKyAnIGRvIG5vdCByZXR1cm5zIFByb21pc2UnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuX19kZXRhY2hlZF9fKSB7XG4gICAgICAgICAgaWYgKGlzQXN5bmNDb21wb25lbnRQcm9taXNlKSB7XG4gICAgICAgICAgICBhc3luY0NvbXBvbmVudFByb21pc2UudGhlbihmdW5jdGlvbiAobGF6eUxvYWRlZENvbXBvbmVudCkge1xuICAgICAgICAgICAgICB2YXIgbGF6eUxvYWRlZENvbXBvbmVudFByb3BzID0gZ2V0UHJvcHMobGF6eUxvYWRlZENvbXBvbmVudCk7XG4gICAgICAgICAgICAgIGNyZWF0ZVZ1ZUluc3RhbmNlKF90aGlzLCBWdWUsIGxhenlMb2FkZWRDb21wb25lbnQsIGxhenlMb2FkZWRDb21wb25lbnRQcm9wcywgb3B0aW9ucyk7XG4gICAgICAgICAgICAgIHR5cGVvZiBvcHRpb25zLnZ1ZUluc3RhbmNlQ3JlYXRlZENhbGxiYWNrID09PSAnZnVuY3Rpb24nICYmIG9wdGlvbnMudnVlSW5zdGFuY2VDcmVhdGVkQ2FsbGJhY2suY2FsbChfdGhpcyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY3JlYXRlVnVlSW5zdGFuY2UodGhpcywgVnVlLCBjb21wb25lbnREZWZpbml0aW9uLCBwcm9wcywgb3B0aW9ucyk7XG4gICAgICAgICAgICB0eXBlb2Ygb3B0aW9ucy52dWVJbnN0YW5jZUNyZWF0ZWRDYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJyAmJiBvcHRpb25zLnZ1ZUluc3RhbmNlQ3JlYXRlZENhbGxiYWNrLmNhbGwodGhpcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fX2RldGFjaGVkX18gPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgICBkaXNjb25uZWN0ZWRDYWxsYmFjazogZnVuY3Rpb24gZGlzY29ubmVjdGVkQ2FsbGJhY2soKSB7XG4gICAgICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgICAgIHRoaXMuX19kZXRhY2hlZF9fID0gdHJ1ZTtcbiAgICAgICAgdHlwZW9mIG9wdGlvbnMuZGlzY29ubmVjdGVkQ2FsbGJhY2sgPT09ICdmdW5jdGlvbicgJiYgb3B0aW9ucy5kaXNjb25uZWN0ZWRDYWxsYmFjay5jYWxsKHRoaXMpO1xuXG4gICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGlmIChfdGhpczIuX19kZXRhY2hlZF9fICYmIF90aGlzMi5fX3Z1ZV9jdXN0b21fZWxlbWVudF9fKSB7XG4gICAgICAgICAgICBfdGhpczIuX192dWVfY3VzdG9tX2VsZW1lbnRfXy4kZGVzdHJveSh0cnVlKTtcbiAgICAgICAgICAgIGRlbGV0ZSBfdGhpczIuX192dWVfY3VzdG9tX2VsZW1lbnRfXztcbiAgICAgICAgICAgIGRlbGV0ZSBfdGhpczIuX192dWVfY3VzdG9tX2VsZW1lbnRfcHJvcHNfXztcbiAgICAgICAgICB9XG4gICAgICAgIH0sIG9wdGlvbnMuZGVzdHJveVRpbWVvdXQgfHwgMzAwMCk7XG4gICAgICB9LFxuICAgICAgYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrOiBmdW5jdGlvbiBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sobmFtZSwgb2xkVmFsdWUsIHZhbHVlKSB7XG4gICAgICAgIGlmICh0aGlzLl9fdnVlX2N1c3RvbV9lbGVtZW50X18gJiYgdHlwZW9mIHZhbHVlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIHZhciBuYW1lQ2FtZWxDYXNlID0gY2FtZWxpemUobmFtZSk7XG4gICAgICAgICAgdHlwZW9mIG9wdGlvbnMuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrID09PSAnZnVuY3Rpb24nICYmIG9wdGlvbnMuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrLmNhbGwodGhpcywgbmFtZSwgb2xkVmFsdWUsIHZhbHVlKTtcbiAgICAgICAgICB2YXIgdHlwZSA9IHRoaXMuX192dWVfY3VzdG9tX2VsZW1lbnRfcHJvcHNfXy50eXBlc1tuYW1lQ2FtZWxDYXNlXTtcbiAgICAgICAgICB0aGlzLl9fdnVlX2N1c3RvbV9lbGVtZW50X19bbmFtZUNhbWVsQ2FzZV0gPSBjb252ZXJ0QXR0cmlidXRlVmFsdWUodmFsdWUsIHR5cGUpO1xuICAgICAgICB9XG4gICAgICB9LFxuXG5cbiAgICAgIG9ic2VydmVkQXR0cmlidXRlczogcHJvcHMuaHlwaGVuYXRlLFxuXG4gICAgICBzaGFkb3c6ICEhb3B0aW9ucy5zaGFkb3cgJiYgISFIVE1MRWxlbWVudC5wcm90b3R5cGUuYXR0YWNoU2hhZG93XG4gICAgfSk7XG5cbiAgICByZXR1cm4gQ3VzdG9tRWxlbWVudDtcbiAgfTtcbn1cblxuaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5WdWUpIHtcbiAgd2luZG93LlZ1ZS51c2UoaW5zdGFsbCk7XG4gIGlmIChpbnN0YWxsLmluc3RhbGxlZCkge1xuICAgIGluc3RhbGwuaW5zdGFsbGVkID0gZmFsc2U7XG4gIH1cbn1cblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChpbnN0YWxsKTtcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZkblZsTFdOMWMzUnZiUzFsYkdWdFpXNTBMMlJwYzNRdmRuVmxMV04xYzNSdmJTMWxiR1Z0Wlc1MExtVnpiUzVxY3k1cWN5SXNJbk52ZFhKalpYTWlPbHNpZDJWaWNHRmphem92THk4dUwyNXZaR1ZmYlc5a2RXeGxjeTkyZFdVdFkzVnpkRzl0TFdWc1pXMWxiblF2WkdsemRDOTJkV1V0WTNWemRHOXRMV1ZzWlcxbGJuUXVaWE50TG1welAyTTRPVFFpWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUx5b3FYRzRnSUNvZ2RuVmxMV04xYzNSdmJTMWxiR1Z0Wlc1MElIWXpMakl1Tmx4dUlDQXFJQ2hqS1NBeU1ERTRJRXRoY205c0lFWmhZbXBoeFlSamVuVnJYRzRnSUNvZ1FHeHBZMlZ1YzJVZ1RVbFVYRzRnSUNvdlhHNHZLaXBjYmlBcUlFVlROaUJQWW1wbFkzUXVaMlYwVUhKdmRHOTBlWEJsVDJZZ1VHOXNlV1pwYkd4Y2JpQXFJR2gwZEhCek9pOHZaR1YyWld4dmNHVnlMbTF2ZW1sc2JHRXViM0puTDJWdUxWVlRMMlJ2WTNNdlYyVmlMMHBoZG1GVFkzSnBjSFF2VW1WbVpYSmxibU5sTDBkc2IySmhiRjlQWW1wbFkzUnpMMDlpYW1WamRDOXpaWFJRY205MGIzUjVjR1ZQWmx4dUlDb3ZYRzVjYms5aWFtVmpkQzV6WlhSUWNtOTBiM1I1Y0dWUFppQTlJRTlpYW1WamRDNXpaWFJRY205MGIzUjVjR1ZQWmlCOGZDQnpaWFJRY205MGIzUjVjR1ZQWmp0Y2JseHVablZ1WTNScGIyNGdjMlYwVUhKdmRHOTBlWEJsVDJZb2IySnFMQ0J3Y205MGJ5a2dlMXh1SUNCdlltb3VYMTl3Y205MGIxOWZJRDBnY0hKdmRHODdYRzRnSUhKbGRIVnliaUJ2WW1vN1hHNTlYRzVjYm5aaGNpQnpaWFJRY205MGIzUjVjR1ZQWmw4eElEMGdjMlYwVUhKdmRHOTBlWEJsVDJZdVltbHVaQ2hQWW1wbFkzUXBPMXh1WEc1bWRXNWpkR2x2YmlCcGMwVlRNakF4TlNncElIdGNiaUFnYVdZZ0tIUjVjR1Z2WmlCVGVXMWliMndnUFQwOUlDZDFibVJsWm1sdVpXUW5JSHg4SUhSNWNHVnZaaUJTWldac1pXTjBJRDA5UFNBbmRXNWtaV1pwYm1Wa0p5QjhmQ0IwZVhCbGIyWWdVSEp2ZUhrZ1BUMDlJQ2QxYm1SbFptbHVaV1FuSUh4OElFOWlhbVZqZEM1cGMxTmxZV3hsWkNoUWNtOTRlU2twSUhKbGRIVnliaUJtWVd4elpUdGNibHh1SUNCeVpYUjFjbTRnZEhKMVpUdGNibjFjYmx4dWRtRnlJR2x6UlZNeU1ERTFKREVnUFNCcGMwVlRNakF4TlNncE8xeHVYRzUyWVhJZ1gyTnlaV0YwWlVOc1lYTnpJRDBnWm5WdVkzUnBiMjRnS0NrZ2V5Qm1kVzVqZEdsdmJpQmtaV1pwYm1WUWNtOXdaWEowYVdWektIUmhjbWRsZEN3Z2NISnZjSE1wSUhzZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQndjbTl3Y3k1c1pXNW5kR2c3SUdrckt5a2dleUIyWVhJZ1pHVnpZM0pwY0hSdmNpQTlJSEJ5YjNCelcybGRPeUJrWlhOamNtbHdkRzl5TG1WdWRXMWxjbUZpYkdVZ1BTQmtaWE5qY21sd2RHOXlMbVZ1ZFcxbGNtRmliR1VnZkh3Z1ptRnNjMlU3SUdSbGMyTnlhWEIwYjNJdVkyOXVabWxuZFhKaFlteGxJRDBnZEhKMVpUc2dhV1lnS0Z3aWRtRnNkV1ZjSWlCcGJpQmtaWE5qY21sd2RHOXlLU0JrWlhOamNtbHdkRzl5TG5keWFYUmhZbXhsSUQwZ2RISjFaVHNnVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtIUmhjbWRsZEN3Z1pHVnpZM0pwY0hSdmNpNXJaWGtzSUdSbGMyTnlhWEIwYjNJcE95QjlJSDBnY21WMGRYSnVJR1oxYm1OMGFXOXVJQ2hEYjI1emRISjFZM1J2Y2l3Z2NISnZkRzlRY205d2N5d2djM1JoZEdsalVISnZjSE1wSUhzZ2FXWWdLSEJ5YjNSdlVISnZjSE1wSUdSbFptbHVaVkJ5YjNCbGNuUnBaWE1vUTI5dWMzUnlkV04wYjNJdWNISnZkRzkwZVhCbExDQndjbTkwYjFCeWIzQnpLVHNnYVdZZ0tITjBZWFJwWTFCeWIzQnpLU0JrWldacGJtVlFjbTl3WlhKMGFXVnpLRU52Ym5OMGNuVmpkRzl5TENCemRHRjBhV05RY205d2N5azdJSEpsZEhWeWJpQkRiMjV6ZEhKMVkzUnZjanNnZlRzZ2ZTZ3BPMXh1WEc1bWRXNWpkR2x2YmlCZlkyeGhjM05EWVd4c1EyaGxZMnNvYVc1emRHRnVZMlVzSUVOdmJuTjBjblZqZEc5eUtTQjdJR2xtSUNnaEtHbHVjM1JoYm1ObElHbHVjM1JoYm1ObGIyWWdRMjl1YzNSeWRXTjBiM0lwS1NCN0lIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9YQ0pEWVc1dWIzUWdZMkZzYkNCaElHTnNZWE56SUdGeklHRWdablZ1WTNScGIyNWNJaWs3SUgwZ2ZWeHVYRzVtZFc1amRHbHZiaUJmY0c5emMybGliR1ZEYjI1emRISjFZM1J2Y2xKbGRIVnliaWh6Wld4bUxDQmpZV3hzS1NCN0lHbG1JQ2doYzJWc1ppa2dleUIwYUhKdmR5QnVaWGNnVW1WbVpYSmxibU5sUlhKeWIzSW9YQ0owYUdseklHaGhjMjRuZENCaVpXVnVJR2x1YVhScFlXeHBjMlZrSUMwZ2MzVndaWElvS1NCb1lYTnVKM1FnWW1WbGJpQmpZV3hzWldSY0lpazdJSDBnY21WMGRYSnVJR05oYkd3Z0ppWWdLSFI1Y0dWdlppQmpZV3hzSUQwOVBTQmNJbTlpYW1WamRGd2lJSHg4SUhSNWNHVnZaaUJqWVd4c0lEMDlQU0JjSW1aMWJtTjBhVzl1WENJcElEOGdZMkZzYkNBNklITmxiR1k3SUgxY2JseHVablZ1WTNScGIyNGdYMmx1YUdWeWFYUnpLSE4xWWtOc1lYTnpMQ0J6ZFhCbGNrTnNZWE56S1NCN0lHbG1JQ2gwZVhCbGIyWWdjM1Z3WlhKRGJHRnpjeUFoUFQwZ1hDSm1kVzVqZEdsdmJsd2lJQ1ltSUhOMWNHVnlRMnhoYzNNZ0lUMDlJRzUxYkd3cElIc2dkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWhjSWxOMWNHVnlJR1Y0Y0hKbGMzTnBiMjRnYlhWemRDQmxhWFJvWlhJZ1ltVWdiblZzYkNCdmNpQmhJR1oxYm1OMGFXOXVMQ0J1YjNRZ1hDSWdLeUIwZVhCbGIyWWdjM1Z3WlhKRGJHRnpjeWs3SUgwZ2MzVmlRMnhoYzNNdWNISnZkRzkwZVhCbElEMGdUMkpxWldOMExtTnlaV0YwWlNoemRYQmxja05zWVhOeklDWW1JSE4xY0dWeVEyeGhjM011Y0hKdmRHOTBlWEJsTENCN0lHTnZibk4wY25WamRHOXlPaUI3SUhaaGJIVmxPaUJ6ZFdKRGJHRnpjeXdnWlc1MWJXVnlZV0pzWlRvZ1ptRnNjMlVzSUhkeWFYUmhZbXhsT2lCMGNuVmxMQ0JqYjI1bWFXZDFjbUZpYkdVNklIUnlkV1VnZlNCOUtUc2dhV1lnS0hOMWNHVnlRMnhoYzNNcElFOWlhbVZqZEM1elpYUlFjbTkwYjNSNWNHVlBaaUEvSUU5aWFtVmpkQzV6WlhSUWNtOTBiM1I1Y0dWUFppaHpkV0pEYkdGemN5d2djM1Z3WlhKRGJHRnpjeWtnT2lCemRXSkRiR0Z6Y3k1ZlgzQnliM1J2WDE4Z1BTQnpkWEJsY2tOc1lYTnpPeUI5WEc1Y2JtWjFibU4wYVc5dUlGOURkWE4wYjIxRmJHVnRaVzUwS0NrZ2UxeHVJQ0J5WlhSMWNtNGdVbVZtYkdWamRDNWpiMjV6ZEhKMVkzUW9TRlJOVEVWc1pXMWxiblFzSUZ0ZExDQjBhR2x6TGw5ZmNISnZkRzlmWHk1amIyNXpkSEoxWTNSdmNpazdYRzU5WEc1Y2JseHVUMkpxWldOMExuTmxkRkJ5YjNSdmRIbHdaVTltS0Y5RGRYTjBiMjFGYkdWdFpXNTBMbkJ5YjNSdmRIbHdaU3dnU0ZSTlRFVnNaVzFsYm5RdWNISnZkRzkwZVhCbEtUdGNiazlpYW1WamRDNXpaWFJRY205MGIzUjVjR1ZQWmloZlEzVnpkRzl0Uld4bGJXVnVkQ3dnU0ZSTlRFVnNaVzFsYm5RcE8xeHVablZ1WTNScGIyNGdjbVZuYVhOMFpYSkRkWE4wYjIxRmJHVnRaVzUwS0hSaFp5a2dlMXh1SUNCMllYSWdiM0IwYVc5dWN5QTlJR0Z5WjNWdFpXNTBjeTVzWlc1bmRHZ2dQaUF4SUNZbUlHRnlaM1Z0Wlc1MGMxc3hYU0FoUFQwZ2RXNWtaV1pwYm1Wa0lEOGdZWEpuZFcxbGJuUnpXekZkSURvZ2UzMDdYRzVjYmlBZ2FXWWdLSFI1Y0dWdlppQmpkWE4wYjIxRmJHVnRaVzUwY3lBOVBUMGdKM1Z1WkdWbWFXNWxaQ2NwSUh0Y2JpQWdJQ0J5WlhSMWNtNDdYRzRnSUgxY2JseHVJQ0JtZFc1amRHbHZiaUJqYjI1emRISjFZM1J2Y2tOaGJHeGlZV05yS0NrZ2UxeHVJQ0FnSUdsbUlDaHZjSFJwYjI1ekxuTm9ZV1J2ZHlBOVBUMGdkSEoxWlNBbUppQklWRTFNUld4bGJXVnVkQzV3Y205MGIzUjVjR1V1WVhSMFlXTm9VMmhoWkc5M0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG1GMGRHRmphRk5vWVdSdmR5aDdJRzF2WkdVNklDZHZjR1Z1SnlCOUtUdGNiaUFnSUNCOVhHNGdJQ0FnZEhsd1pXOW1JRzl3ZEdsdmJuTXVZMjl1YzNSeWRXTjBiM0pEWVd4c1ltRmpheUE5UFQwZ0oyWjFibU4wYVc5dUp5QW1KaUJ2Y0hScGIyNXpMbU52Ym5OMGNuVmpkRzl5UTJGc2JHSmhZMnN1WTJGc2JDaDBhR2x6S1R0Y2JpQWdmVnh1SUNCbWRXNWpkR2x2YmlCamIyNXVaV04wWldSRFlXeHNZbUZqYXlncElIdGNiaUFnSUNCMGVYQmxiMllnYjNCMGFXOXVjeTVqYjI1dVpXTjBaV1JEWVd4c1ltRmpheUE5UFQwZ0oyWjFibU4wYVc5dUp5QW1KaUJ2Y0hScGIyNXpMbU52Ym01bFkzUmxaRU5oYkd4aVlXTnJMbU5oYkd3b2RHaHBjeWs3WEc0Z0lIMWNibHh1SUNCbWRXNWpkR2x2YmlCa2FYTmpiMjV1WldOMFpXUkRZV3hzWW1GamF5Z3BJSHRjYmlBZ0lDQjBlWEJsYjJZZ2IzQjBhVzl1Y3k1a2FYTmpiMjV1WldOMFpXUkRZV3hzWW1GamF5QTlQVDBnSjJaMWJtTjBhVzl1SnlBbUppQnZjSFJwYjI1ekxtUnBjMk52Ym01bFkzUmxaRU5oYkd4aVlXTnJMbU5oYkd3b2RHaHBjeWs3WEc0Z0lIMWNibHh1SUNCbWRXNWpkR2x2YmlCaGRIUnlhV0oxZEdWRGFHRnVaMlZrUTJGc2JHSmhZMnNvYm1GdFpTd2diMnhrVm1Gc2RXVXNJSFpoYkhWbEtTQjdYRzRnSUNBZ2RIbHdaVzltSUc5d2RHbHZibk11WVhSMGNtbGlkWFJsUTJoaGJtZGxaRU5oYkd4aVlXTnJJRDA5UFNBblpuVnVZM1JwYjI0bklDWW1JRzl3ZEdsdmJuTXVZWFIwY21saWRYUmxRMmhoYm1kbFpFTmhiR3hpWVdOckxtTmhiR3dvZEdocGN5d2dibUZ0WlN3Z2IyeGtWbUZzZFdVc0lIWmhiSFZsS1R0Y2JpQWdmVnh1WEc0Z0lHWjFibU4wYVc5dUlHUmxabWx1WlNoMFlXZE9ZVzFsTENCRGRYTjBiMjFGYkdWdFpXNTBLU0I3WEc0Z0lDQWdkbUZ5SUdWNGFYTjBhVzVuUTNWemRHOXRSV3hsYldWdWRDQTlJR04xYzNSdmJVVnNaVzFsYm5SekxtZGxkQ2gwWVdkT1lXMWxLVHRjYmlBZ0lDQnlaWFIxY200Z2RIbHdaVzltSUdWNGFYTjBhVzVuUTNWemRHOXRSV3hsYldWdWRDQWhQVDBnSjNWdVpHVm1hVzVsWkNjZ1B5QmxlR2x6ZEdsdVowTjFjM1J2YlVWc1pXMWxiblFnT2lCamRYTjBiMjFGYkdWdFpXNTBjeTVrWldacGJtVW9kR0ZuVG1GdFpTd2dRM1Z6ZEc5dFJXeGxiV1Z1ZENrN1hHNGdJSDFjYmx4dUlDQnBaaUFvYVhORlV6SXdNVFVrTVNrZ2UxeHVJQ0FnSUhaaGNpQkRkWE4wYjIxRmJHVnRaVzUwSUQwZ1puVnVZM1JwYjI0Z0tGOURkWE4wYjIxRmJHVnRaVzUwTWlrZ2UxeHVJQ0FnSUNBZ1gybHVhR1Z5YVhSektFTjFjM1J2YlVWc1pXMWxiblFzSUY5RGRYTjBiMjFGYkdWdFpXNTBNaWs3WEc1Y2JpQWdJQ0FnSUdaMWJtTjBhVzl1SUVOMWMzUnZiVVZzWlcxbGJuUW9jMlZzWmlrZ2UxeHVJQ0FnSUNBZ0lDQjJZWElnWDNKbGREdGNibHh1SUNBZ0lDQWdJQ0JmWTJ4aGMzTkRZV3hzUTJobFkyc29kR2hwY3l3Z1EzVnpkRzl0Uld4bGJXVnVkQ2s3WEc1Y2JpQWdJQ0FnSUNBZ2RtRnlJRjkwYUdseklEMGdYM0J2YzNOcFlteGxRMjl1YzNSeWRXTjBiM0pTWlhSMWNtNG9kR2hwY3l3Z0tFTjFjM1J2YlVWc1pXMWxiblF1WDE5d2NtOTBiMTlmSUh4OElFOWlhbVZqZEM1blpYUlFjbTkwYjNSNWNHVlBaaWhEZFhOMGIyMUZiR1Z0Wlc1MEtTa3VZMkZzYkNoMGFHbHpLU2s3WEc1Y2JpQWdJQ0FnSUNBZ2RtRnlJRzFsSUQwZ2MyVnNaaUEvSUVoVVRVeEZiR1Z0Wlc1MExtTmhiR3dvYzJWc1ppa2dPaUJmZEdocGN6dGNibHh1SUNBZ0lDQWdJQ0JqYjI1emRISjFZM1J2Y2tOaGJHeGlZV05yTG1OaGJHd29iV1VwTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWDNKbGRDQTlJRzFsTENCZmNHOXpjMmxpYkdWRGIyNXpkSEoxWTNSdmNsSmxkSFZ5YmloZmRHaHBjeXdnWDNKbGRDazdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJRjlqY21WaGRHVkRiR0Z6Y3loRGRYTjBiMjFGYkdWdFpXNTBMQ0J1ZFd4c0xDQmJlMXh1SUNBZ0lDQWdJQ0JyWlhrNklDZHZZbk5sY25abFpFRjBkSEpwWW5WMFpYTW5MRnh1SUNBZ0lDQWdJQ0JuWlhRNklHWjFibU4wYVc5dUlHZGxkQ2dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2IzQjBhVzl1Y3k1dlluTmxjblpsWkVGMGRISnBZblYwWlhNZ2ZId2dXMTA3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxZEtUdGNibHh1SUNBZ0lDQWdjbVYwZFhKdUlFTjFjM1J2YlVWc1pXMWxiblE3WEc0Z0lDQWdmU2hmUTNWemRHOXRSV3hsYldWdWRDazdYRzVjYmlBZ0lDQkRkWE4wYjIxRmJHVnRaVzUwTG5CeWIzUnZkSGx3WlM1amIyNXVaV04wWldSRFlXeHNZbUZqYXlBOUlHTnZibTVsWTNSbFpFTmhiR3hpWVdOck8xeHVJQ0FnSUVOMWMzUnZiVVZzWlcxbGJuUXVjSEp2ZEc5MGVYQmxMbVJwYzJOdmJtNWxZM1JsWkVOaGJHeGlZV05ySUQwZ1pHbHpZMjl1Ym1WamRHVmtRMkZzYkdKaFkyczdYRzRnSUNBZ1EzVnpkRzl0Uld4bGJXVnVkQzV3Y205MGIzUjVjR1V1WVhSMGNtbGlkWFJsUTJoaGJtZGxaRU5oYkd4aVlXTnJJRDBnWVhSMGNtbGlkWFJsUTJoaGJtZGxaRU5oYkd4aVlXTnJPMXh1WEc0Z0lDQWdaR1ZtYVc1bEtIUmhaeXdnUTNWemRHOXRSV3hsYldWdWRDazdYRzRnSUNBZ2NtVjBkWEp1SUVOMWMzUnZiVVZzWlcxbGJuUTdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdkbUZ5SUY5RGRYTjBiMjFGYkdWdFpXNTBNeUE5SUdaMWJtTjBhVzl1SUY5RGRYTjBiMjFGYkdWdFpXNTBNeWh6Wld4bUtTQjdYRzRnSUNBZ0lDQjJZWElnYldVZ1BTQnpaV3htSUQ4Z1NGUk5URVZzWlcxbGJuUXVZMkZzYkNoelpXeG1LU0E2SUhSb2FYTTdYRzVjYmlBZ0lDQWdJR052Ym5OMGNuVmpkRzl5UTJGc2JHSmhZMnN1WTJGc2JDaHRaU2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdiV1U3WEc0Z0lDQWdmVHRjYmx4dUlDQWdJRjlEZFhOMGIyMUZiR1Z0Wlc1ME15NXZZbk5sY25abFpFRjBkSEpwWW5WMFpYTWdQU0J2Y0hScGIyNXpMbTlpYzJWeWRtVmtRWFIwY21saWRYUmxjeUI4ZkNCYlhUdGNibHh1SUNBZ0lGOURkWE4wYjIxRmJHVnRaVzUwTXk1d2NtOTBiM1I1Y0dVZ1BTQlBZbXBsWTNRdVkzSmxZWFJsS0VoVVRVeEZiR1Z0Wlc1MExuQnliM1J2ZEhsd1pTd2dlMXh1SUNBZ0lDQWdZMjl1YzNSeWRXTjBiM0k2SUh0Y2JpQWdJQ0FnSUNBZ1kyOXVabWxuZFhKaFlteGxPaUIwY25WbExGeHVJQ0FnSUNBZ0lDQjNjbWwwWVdKc1pUb2dkSEoxWlN4Y2JpQWdJQ0FnSUNBZ2RtRnNkV1U2SUY5RGRYTjBiMjFGYkdWdFpXNTBNMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMHBPMXh1WEc0Z0lDQWdYME4xYzNSdmJVVnNaVzFsYm5RekxuQnliM1J2ZEhsd1pTNWpiMjV1WldOMFpXUkRZV3hzWW1GamF5QTlJR052Ym01bFkzUmxaRU5oYkd4aVlXTnJPMXh1SUNBZ0lGOURkWE4wYjIxRmJHVnRaVzUwTXk1d2NtOTBiM1I1Y0dVdVpHbHpZMjl1Ym1WamRHVmtRMkZzYkdKaFkyc2dQU0JrYVhOamIyNXVaV04wWldSRFlXeHNZbUZqYXp0Y2JpQWdJQ0JmUTNWemRHOXRSV3hsYldWdWRETXVjSEp2ZEc5MGVYQmxMbUYwZEhKcFluVjBaVU5vWVc1blpXUkRZV3hzWW1GamF5QTlJR0YwZEhKcFluVjBaVU5vWVc1blpXUkRZV3hzWW1GamF6dGNibHh1SUNBZ0lHUmxabWx1WlNoMFlXY3NJRjlEZFhOMGIyMUZiR1Z0Wlc1ME15azdYRzRnSUNBZ2NtVjBkWEp1SUY5RGRYTjBiMjFGYkdWdFpXNTBNenRjYmlBZ2ZWeHVmVnh1WEc1MllYSWdZMkZ0Wld4cGVtVlNSU0E5SUM4dEtGeGNkeWt2Wnp0Y2JuWmhjaUJqWVcxbGJHbDZaU0E5SUdaMWJtTjBhVzl1SUdOaGJXVnNhWHBsS0hOMGNpa2dlMXh1SUNCeVpYUjFjbTRnYzNSeUxuSmxjR3hoWTJVb1kyRnRaV3hwZW1WU1JTd2dablZ1WTNScGIyNGdLRjhzSUdNcElIdGNiaUFnSUNCeVpYUjFjbTRnWXlBL0lHTXVkRzlWY0hCbGNrTmhjMlVvS1NBNklDY25PMXh1SUNCOUtUdGNibjA3WEc1MllYSWdhSGx3YUdWdVlYUmxVa1VnUFNBdktGdGVMVjBwS0Z0QkxWcGRLUzluTzF4dWRtRnlJR2g1Y0dobGJtRjBaU0E5SUdaMWJtTjBhVzl1SUdoNWNHaGxibUYwWlNoemRISXBJSHRjYmlBZ2NtVjBkWEp1SUhOMGNpNXlaWEJzWVdObEtHaDVjR2hsYm1GMFpWSkZMQ0FuSkRFdEpESW5LUzV5WlhCc1lXTmxLR2g1Y0dobGJtRjBaVkpGTENBbkpERXRKREluS1M1MGIweHZkMlZ5UTJGelpTZ3BPMXh1ZlR0Y2JseHVablZ1WTNScGIyNGdkRzlCY25KaGVTaHNhWE4wS1NCN1hHNGdJSFpoY2lCemRHRnlkQ0E5SUdGeVozVnRaVzUwY3k1c1pXNW5kR2dnUGlBeElDWW1JR0Z5WjNWdFpXNTBjMXN4WFNBaFBUMGdkVzVrWldacGJtVmtJRDhnWVhKbmRXMWxiblJ6V3pGZElEb2dNRHRjYmx4dUlDQjJZWElnYVNBOUlHeHBjM1F1YkdWdVozUm9JQzBnYzNSaGNuUTdYRzRnSUhaaGNpQnlaWFFnUFNCdVpYY2dRWEp5WVhrb2FTazdYRzRnSUhkb2FXeGxJQ2hwTFMwcElIdGNiaUFnSUNCeVpYUmJhVjBnUFNCc2FYTjBXMmtnS3lCemRHRnlkRjA3WEc0Z0lIMWNiaUFnY21WMGRYSnVJSEpsZER0Y2JuMWNibHh1ZG1GeUlGOTBlWEJsYjJZZ1BTQjBlWEJsYjJZZ1UzbHRZbTlzSUQwOVBTQmNJbVoxYm1OMGFXOXVYQ0lnSmlZZ2RIbHdaVzltSUZONWJXSnZiQzVwZEdWeVlYUnZjaUE5UFQwZ1hDSnplVzFpYjJ4Y0lpQS9JR1oxYm1OMGFXOXVJQ2h2WW1vcElIc2djbVYwZFhKdUlIUjVjR1Z2WmlCdlltbzdJSDBnT2lCbWRXNWpkR2x2YmlBb2IySnFLU0I3SUhKbGRIVnliaUJ2WW1vZ0ppWWdkSGx3Wlc5bUlGTjViV0p2YkNBOVBUMGdYQ0ptZFc1amRHbHZibHdpSUNZbUlHOWlhaTVqYjI1emRISjFZM1J2Y2lBOVBUMGdVM2x0WW05c0lDWW1JRzlpYWlBaFBUMGdVM2x0WW05c0xuQnliM1J2ZEhsd1pTQS9JRndpYzNsdFltOXNYQ0lnT2lCMGVYQmxiMllnYjJKcU95QjlPMXh1WEc1bWRXNWpkR2x2YmlCamIyNTJaWEowUVhSMGNtbGlkWFJsVm1Gc2RXVW9kbUZzZFdVc0lHOTJaWEp5YVdSbFZIbHdaU2tnZTF4dUlDQjJZWElnY0hKdmNITldZV3gxWlNBOUlIWmhiSFZsTzF4dUlDQjJZWElnYVhOQ2IyOXNaV0Z1SUQwZ1d5ZDBjblZsSnl3Z0oyWmhiSE5sSjEwdWFXNWtaWGhQWmloMllXeDFaU2tnUGlBdE1UdGNiaUFnZG1GeUlIWmhiSFZsVUdGeWMyVmtJRDBnY0dGeWMyVkdiRzloZENod2NtOXdjMVpoYkhWbExDQXhNQ2s3WEc0Z0lIWmhjaUJwYzA1MWJXSmxjaUE5SUNGcGMwNWhUaWgyWVd4MVpWQmhjbk5sWkNrZ0ppWWdhWE5HYVc1cGRHVW9jSEp2Y0hOV1lXeDFaU2tnSmlZZ2RIbHdaVzltSUhCeWIzQnpWbUZzZFdVZ1BUMDlJQ2R6ZEhKcGJtY25JQ1ltSUNGd2NtOXdjMVpoYkhWbExtMWhkR05vS0M5ZU1DdGJYaTVkWEZ4a0tpUXZaeWs3WEc1Y2JpQWdhV1lnS0c5MlpYSnlhV1JsVkhsd1pTQW1KaUJ2ZG1WeWNtbGtaVlI1Y0dVZ0lUMDlJRUp2YjJ4bFlXNGdKaVlnS0hSNWNHVnZaaUJ3Y205d2MxWmhiSFZsSUQwOVBTQW5kVzVrWldacGJtVmtKeUEvSUNkMWJtUmxabWx1WldRbklEb2dYM1I1Y0dWdlppaHdjbTl3YzFaaGJIVmxLU2tnSVQwOUlHOTJaWEp5YVdSbFZIbHdaU2tnZTF4dUlDQWdJSEJ5YjNCelZtRnNkV1VnUFNCdmRtVnljbWxrWlZSNWNHVW9kbUZzZFdVcE8xeHVJQ0I5SUdWc2MyVWdhV1lnS0dselFtOXZiR1ZoYmlCOGZDQnZkbVZ5Y21sa1pWUjVjR1VnUFQwOUlFSnZiMnhsWVc0cElIdGNiaUFnSUNCd2NtOXdjMVpoYkhWbElEMGdjSEp2Y0hOV1lXeDFaU0E5UFQwZ0p5Y2dQeUIwY25WbElEb2djSEp2Y0hOV1lXeDFaU0E5UFQwZ0ozUnlkV1VuTzF4dUlDQjlJR1ZzYzJVZ2FXWWdLR2x6VG5WdFltVnlLU0I3WEc0Z0lDQWdjSEp2Y0hOV1lXeDFaU0E5SUhaaGJIVmxVR0Z5YzJWa08xeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlIQnliM0J6Vm1Gc2RXVTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHVjRkSEpoWTNSUWNtOXdjeWhqYjJ4c1pXTjBhVzl1TENCd2NtOXdjeWtnZTF4dUlDQnBaaUFvWTI5c2JHVmpkR2x2YmlBbUppQmpiMnhzWldOMGFXOXVMbXhsYm1kMGFDa2dlMXh1SUNBZ0lHTnZiR3hsWTNScGIyNHVabTl5UldGamFDaG1kVzVqZEdsdmJpQW9jSEp2Y0NrZ2UxeHVJQ0FnSUNBZ2RtRnlJR05oYldWc1EyRnpaVkJ5YjNBZ1BTQmpZVzFsYkdsNlpTaHdjbTl3S1R0Y2JpQWdJQ0FnSUhCeWIzQnpMbU5oYldWc1EyRnpaUzVwYm1SbGVFOW1LR05oYldWc1EyRnpaVkJ5YjNBcElEMDlQU0F0TVNBbUppQndjbTl3Y3k1allXMWxiRU5oYzJVdWNIVnphQ2hqWVcxbGJFTmhjMlZRY205d0tUdGNiaUFnSUNCOUtUdGNiaUFnZlNCbGJITmxJR2xtSUNoamIyeHNaV04wYVc5dUlDWW1JQ2gwZVhCbGIyWWdZMjlzYkdWamRHbHZiaUE5UFQwZ0ozVnVaR1ZtYVc1bFpDY2dQeUFuZFc1a1pXWnBibVZrSnlBNklGOTBlWEJsYjJZb1kyOXNiR1ZqZEdsdmJpa3BJRDA5UFNBbmIySnFaV04wSnlrZ2UxeHVJQ0FnSUdadmNpQW9kbUZ5SUhCeWIzQWdhVzRnWTI5c2JHVmpkR2x2YmlrZ2UxeHVJQ0FnSUNBZ2RtRnlJR05oYldWc1EyRnpaVkJ5YjNBZ1BTQmpZVzFsYkdsNlpTaHdjbTl3S1R0Y2JpQWdJQ0FnSUhCeWIzQnpMbU5oYldWc1EyRnpaUzVwYm1SbGVFOW1LR05oYldWc1EyRnpaVkJ5YjNBcElEMDlQU0F0TVNBbUppQndjbTl3Y3k1allXMWxiRU5oYzJVdWNIVnphQ2hqWVcxbGJFTmhjMlZRY205d0tUdGNibHh1SUNBZ0lDQWdhV1lnS0dOdmJHeGxZM1JwYjI1YlkyRnRaV3hEWVhObFVISnZjRjBnSmlZZ1kyOXNiR1ZqZEdsdmJsdGpZVzFsYkVOaGMyVlFjbTl3WFM1MGVYQmxLU0I3WEc0Z0lDQWdJQ0FnSUhCeWIzQnpMblI1Y0dWelczQnliM0JkSUQwZ1cxMHVZMjl1WTJGMEtHTnZiR3hsWTNScGIyNWJZMkZ0Wld4RFlYTmxVSEp2Y0YwdWRIbHdaU2xiTUYwN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlHZGxkRkJ5YjNCektDa2dlMXh1SUNCMllYSWdZMjl0Y0c5dVpXNTBSR1ZtYVc1cGRHbHZiaUE5SUdGeVozVnRaVzUwY3k1c1pXNW5kR2dnUGlBd0lDWW1JR0Z5WjNWdFpXNTBjMXN3WFNBaFBUMGdkVzVrWldacGJtVmtJRDhnWVhKbmRXMWxiblJ6V3pCZElEb2dlMzA3WEc1Y2JpQWdkbUZ5SUhCeWIzQnpJRDBnZTF4dUlDQWdJR05oYldWc1EyRnpaVG9nVzEwc1hHNGdJQ0FnYUhsd2FHVnVZWFJsT2lCYlhTeGNiaUFnSUNCMGVYQmxjem9nZTMxY2JpQWdmVHRjYmx4dUlDQnBaaUFvWTI5dGNHOXVaVzUwUkdWbWFXNXBkR2x2Ymk1dGFYaHBibk1wSUh0Y2JpQWdJQ0JqYjIxd2IyNWxiblJFWldacGJtbDBhVzl1TG0xcGVHbHVjeTVtYjNKRllXTm9LR1oxYm1OMGFXOXVJQ2h0YVhocGJpa2dlMXh1SUNBZ0lDQWdaWGgwY21GamRGQnliM0J6S0cxcGVHbHVMbkJ5YjNCekxDQndjbTl3Y3lrN1hHNGdJQ0FnZlNrN1hHNGdJSDFjYmx4dUlDQnBaaUFvWTI5dGNHOXVaVzUwUkdWbWFXNXBkR2x2Ymk1bGVIUmxibVJ6SUNZbUlHTnZiWEJ2Ym1WdWRFUmxabWx1YVhScGIyNHVaWGgwWlc1a2N5NXdjbTl3Y3lrZ2UxeHVJQ0FnSUhaaGNpQndZWEpsYm5SUWNtOXdjeUE5SUdOdmJYQnZibVZ1ZEVSbFptbHVhWFJwYjI0dVpYaDBaVzVrY3k1d2NtOXdjenRjYmx4dVhHNGdJQ0FnWlhoMGNtRmpkRkJ5YjNCektIQmhjbVZ1ZEZCeWIzQnpMQ0J3Y205d2N5azdYRzRnSUgxY2JseHVJQ0JsZUhSeVlXTjBVSEp2Y0hNb1kyOXRjRzl1Wlc1MFJHVm1hVzVwZEdsdmJpNXdjbTl3Y3l3Z2NISnZjSE1wTzF4dVhHNGdJSEJ5YjNCekxtTmhiV1ZzUTJGelpTNW1iM0pGWVdOb0tHWjFibU4wYVc5dUlDaHdjbTl3S1NCN1hHNGdJQ0FnY0hKdmNITXVhSGx3YUdWdVlYUmxMbkIxYzJnb2FIbHdhR1Z1WVhSbEtIQnliM0FwS1R0Y2JpQWdmU2s3WEc1Y2JpQWdjbVYwZFhKdUlIQnliM0J6TzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ5WldGamRHbDJaVkJ5YjNCektHVnNaVzFsYm5Rc0lIQnliM0J6S1NCN1hHNGdJSEJ5YjNCekxtTmhiV1ZzUTJGelpTNW1iM0pGWVdOb0tHWjFibU4wYVc5dUlDaHVZVzFsTENCcGJtUmxlQ2tnZTF4dUlDQWdJRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNobGJHVnRaVzUwTENCdVlXMWxMQ0I3WEc0Z0lDQWdJQ0JuWlhRNklHWjFibU4wYVc5dUlHZGxkQ2dwSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVYMTkyZFdWZlkzVnpkRzl0WDJWc1pXMWxiblJmWDF0dVlXMWxYVHRjYmlBZ0lDQWdJSDBzWEc0Z0lDQWdJQ0J6WlhRNklHWjFibU4wYVc5dUlITmxkQ2gyWVd4MVpTa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb0tDaDBlWEJsYjJZZ2RtRnNkV1VnUFQwOUlDZDFibVJsWm1sdVpXUW5JRDhnSjNWdVpHVm1hVzVsWkNjZ09pQmZkSGx3Wlc5bUtIWmhiSFZsS1NrZ1BUMDlJQ2R2WW1wbFkzUW5JSHg4SUhSNWNHVnZaaUIyWVd4MVpTQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ0ppWWdkR2hwY3k1ZlgzWjFaVjlqZFhOMGIyMWZaV3hsYldWdWRGOWZLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJSEJ5YjNCT1lXMWxJRDBnY0hKdmNITXVZMkZ0Wld4RFlYTmxXMmx1WkdWNFhUdGNiaUFnSUNBZ0lDQWdJQ0IwYUdsekxsOWZkblZsWDJOMWMzUnZiVjlsYkdWdFpXNTBYMTliY0hKdmNFNWhiV1ZkSUQwZ2RtRnNkV1U3WEc0Z0lDQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJSFI1Y0dVZ1BTQndjbTl3Y3k1MGVYQmxjMXR3Y205d2N5NWpZVzFsYkVOaGMyVmJhVzVrWlhoZFhUdGNiaUFnSUNBZ0lDQWdJQ0IwYUdsekxuTmxkRUYwZEhKcFluVjBaU2h3Y205d2N5NW9lWEJvWlc1aGRHVmJhVzVrWlhoZExDQmpiMjUyWlhKMFFYUjBjbWxpZFhSbFZtRnNkV1VvZG1Gc2RXVXNJSFI1Y0dVcEtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMHBPMXh1SUNCOUtUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1oyVjBVSEp2Y0hORVlYUmhLR1ZzWlcxbGJuUXNJR052YlhCdmJtVnVkRVJsWm1sdWFYUnBiMjRzSUhCeWIzQnpLU0I3WEc0Z0lIWmhjaUJ3Y205d2MwUmhkR0VnUFNCamIyMXdiMjVsYm5SRVpXWnBibWwwYVc5dUxuQnliM0J6UkdGMFlTQjhmQ0I3ZlR0Y2JseHVJQ0J3Y205d2N5NW9lWEJvWlc1aGRHVXVabTl5UldGamFDaG1kVzVqZEdsdmJpQW9ibUZ0WlN3Z2FXNWtaWGdwSUh0Y2JpQWdJQ0IyWVhJZ2NISnZjRU5oYldWc1EyRnpaU0E5SUhCeWIzQnpMbU5oYldWc1EyRnpaVnRwYm1SbGVGMDdYRzRnSUNBZ2RtRnlJSEJ5YjNCV1lXeDFaU0E5SUdWc1pXMWxiblF1WVhSMGNtbGlkWFJsYzF0dVlXMWxYU0I4ZkNCbGJHVnRaVzUwVzNCeWIzQkRZVzFsYkVOaGMyVmRPMXh1WEc0Z0lDQWdkbUZ5SUhSNWNHVWdQU0J1ZFd4c08xeHVJQ0FnSUdsbUlDaHdjbTl3Y3k1MGVYQmxjMXR3Y205d1EyRnRaV3hEWVhObFhTa2dlMXh1SUNBZ0lDQWdkSGx3WlNBOUlIQnliM0J6TG5SNWNHVnpXM0J5YjNCRFlXMWxiRU5oYzJWZE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHdjbTl3Vm1Gc2RXVWdhVzV6ZEdGdVkyVnZaaUJCZEhSeUtTQjdYRzRnSUNBZ0lDQndjbTl3YzBSaGRHRmJjSEp2Y0VOaGJXVnNRMkZ6WlYwZ1BTQmpiMjUyWlhKMFFYUjBjbWxpZFhSbFZtRnNkV1VvY0hKdmNGWmhiSFZsTG5aaGJIVmxMQ0IwZVhCbEtUdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tIUjVjR1Z2WmlCd2NtOXdWbUZzZFdVZ0lUMDlJQ2QxYm1SbFptbHVaV1FuS1NCN1hHNGdJQ0FnSUNCd2NtOXdjMFJoZEdGYmNISnZjRU5oYldWc1EyRnpaVjBnUFNCd2NtOXdWbUZzZFdVN1hHNGdJQ0FnZlZ4dUlDQjlLVHRjYmx4dUlDQnlaWFIxY200Z2NISnZjSE5FWVhSaE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCblpYUkJkSFJ5YVdKMWRHVnpLR05vYVd4a2NtVnVLU0I3WEc0Z0lIWmhjaUJoZEhSeWFXSjFkR1Z6SUQwZ2UzMDdYRzVjYmlBZ2RHOUJjbkpoZVNoamFHbHNaSEpsYmk1aGRIUnlhV0oxZEdWektTNW1iM0pGWVdOb0tHWjFibU4wYVc5dUlDaGhkSFJ5YVdKMWRHVXBJSHRjYmlBZ0lDQmhkSFJ5YVdKMWRHVnpXMkYwZEhKcFluVjBaUzV1YjJSbFRtRnRaU0E5UFQwZ0ozWjFaUzF6Ykc5MEp5QS9JQ2R6Ykc5MEp5QTZJR0YwZEhKcFluVjBaUzV1YjJSbFRtRnRaVjBnUFNCaGRIUnlhV0oxZEdVdWJtOWtaVlpoYkhWbE8xeHVJQ0I5S1R0Y2JseHVJQ0J5WlhSMWNtNGdZWFIwY21saWRYUmxjenRjYm4xY2JseHVablZ1WTNScGIyNGdaMlYwUTJocGJHUk9iMlJsY3lobGJHVnRaVzUwS1NCN1hHNGdJR2xtSUNobGJHVnRaVzUwTG1Ob2FXeGtUbTlrWlhNdWJHVnVaM1JvS1NCeVpYUjFjbTRnWld4bGJXVnVkQzVqYUdsc1pFNXZaR1Z6TzF4dUlDQnBaaUFvWld4bGJXVnVkQzVqYjI1MFpXNTBJQ1ltSUdWc1pXMWxiblF1WTI5dWRHVnVkQzVqYUdsc1pFNXZaR1Z6SUNZbUlHVnNaVzFsYm5RdVkyOXVkR1Z1ZEM1amFHbHNaRTV2WkdWekxteGxibWQwYUNrZ2UxeHVJQ0FnSUhKbGRIVnliaUJsYkdWdFpXNTBMbU52Ym5SbGJuUXVZMmhwYkdST2IyUmxjenRjYmlBZ2ZWeHVYRzRnSUhaaGNpQndiR0ZqWldodmJHUmxjaUE5SUdSdlkzVnRaVzUwTG1OeVpXRjBaVVZzWlcxbGJuUW9KMlJwZGljcE8xeHVYRzRnSUhCc1lXTmxhRzlzWkdWeUxtbHVibVZ5U0ZSTlRDQTlJR1ZzWlcxbGJuUXVhVzV1WlhKSVZFMU1PMXh1WEc0Z0lISmxkSFZ5YmlCd2JHRmpaV2h2YkdSbGNpNWphR2xzWkU1dlpHVnpPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQjBaVzF3YkdGMFpVVnNaVzFsYm5Rb1kzSmxZWFJsUld4bGJXVnVkQ3dnWld4bGJXVnVkQ3dnWld4bGJXVnVkRTl3ZEdsdmJuTXBJSHRjYmlBZ2RtRnlJSFJsYlhCc1lYUmxRMmhwYkdSeVpXNGdQU0JuWlhSRGFHbHNaRTV2WkdWektHVnNaVzFsYm5RcE8xeHVYRzRnSUhaaGNpQjJkV1ZVWlcxd2JHRjBaVU5vYVd4a2NtVnVJRDBnZEc5QmNuSmhlU2gwWlcxd2JHRjBaVU5vYVd4a2NtVnVLUzV0WVhBb1puVnVZM1JwYjI0Z0tHTm9hV3hrS1NCN1hHNGdJQ0FnYVdZZ0tHTm9hV3hrTG01dlpHVk9ZVzFsSUQwOVBTQW5JM1JsZUhRbktTQnlaWFIxY200Z1kyaHBiR1F1Ym05a1pWWmhiSFZsTzF4dVhHNGdJQ0FnY21WMGRYSnVJR055WldGMFpVVnNaVzFsYm5Rb1kyaHBiR1F1ZEdGblRtRnRaU3dnZTF4dUlDQWdJQ0FnWVhSMGNuTTZJR2RsZEVGMGRISnBZblYwWlhNb1kyaHBiR1FwTEZ4dUlDQWdJQ0FnWkc5dFVISnZjSE02SUh0Y2JpQWdJQ0FnSUNBZ2FXNXVaWEpJVkUxTU9pQmphR2xzWkM1cGJtNWxja2hVVFV4Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5S1R0Y2JpQWdmU2s3WEc1Y2JpQWdaV3hsYldWdWRFOXdkR2x2Ym5NdWMyeHZkQ0E5SUdWc1pXMWxiblF1YVdRN1hHNWNiaUFnY21WMGRYSnVJR055WldGMFpVVnNaVzFsYm5Rb0ozUmxiWEJzWVhSbEp5d2daV3hsYldWdWRFOXdkR2x2Ym5Nc0lIWjFaVlJsYlhCc1lYUmxRMmhwYkdSeVpXNHBPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQm5aWFJUYkc5MGN5Z3BJSHRjYmlBZ2RtRnlJR05vYVd4a2NtVnVJRDBnWVhKbmRXMWxiblJ6TG14bGJtZDBhQ0ErSURBZ0ppWWdZWEpuZFcxbGJuUnpXekJkSUNFOVBTQjFibVJsWm1sdVpXUWdQeUJoY21kMWJXVnVkSE5iTUYwZ09pQmJYVHRjYmlBZ2RtRnlJR055WldGMFpVVnNaVzFsYm5RZ1BTQmhjbWQxYldWdWRITmJNVjA3WEc1Y2JpQWdkbUZ5SUhOc2IzUnpJRDBnVzEwN1hHNGdJSFJ2UVhKeVlYa29ZMmhwYkdSeVpXNHBMbVp2Y2tWaFkyZ29ablZ1WTNScGIyNGdLR05vYVd4a0tTQjdYRzRnSUNBZ2FXWWdLR05vYVd4a0xtNXZaR1ZPWVcxbElEMDlQU0FuSTNSbGVIUW5LU0I3WEc0Z0lDQWdJQ0JwWmlBb1kyaHBiR1F1Ym05a1pWWmhiSFZsTG5SeWFXMG9LU2tnZTF4dUlDQWdJQ0FnSUNCemJHOTBjeTV3ZFhOb0tHTnlaV0YwWlVWc1pXMWxiblFvSjNOd1lXNG5MQ0JqYUdsc1pDNXViMlJsVm1Gc2RXVXBLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLR05vYVd4a0xtNXZaR1ZPWVcxbElDRTlQU0FuSTJOdmJXMWxiblFuS1NCN1hHNGdJQ0FnSUNCMllYSWdZWFIwY21saWRYUmxjeUE5SUdkbGRFRjBkSEpwWW5WMFpYTW9ZMmhwYkdRcE8xeHVJQ0FnSUNBZ2RtRnlJR1ZzWlcxbGJuUlBjSFJwYjI1eklEMGdlMXh1SUNBZ0lDQWdJQ0JoZEhSeWN6b2dZWFIwY21saWRYUmxjeXhjYmlBZ0lDQWdJQ0FnWkc5dFVISnZjSE02SUh0Y2JpQWdJQ0FnSUNBZ0lDQnBibTVsY2toVVRVdzZJR05vYVd4a0xtbHVibVZ5U0ZSTlRDQTlQVDBnSnljZ1B5QmphR2xzWkM1cGJtNWxjbFJsZUhRZ09pQmphR2xzWkM1cGJtNWxja2hVVFV4Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZUdGNibHh1SUNBZ0lDQWdhV1lnS0dGMGRISnBZblYwWlhNdWMyeHZkQ2tnZTF4dUlDQWdJQ0FnSUNCbGJHVnRaVzUwVDNCMGFXOXVjeTV6Ykc5MElEMGdZWFIwY21saWRYUmxjeTV6Ykc5ME8xeHVJQ0FnSUNBZ0lDQmhkSFJ5YVdKMWRHVnpMbk5zYjNRZ1BTQjFibVJsWm1sdVpXUTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSFpoY2lCemJHOTBWblZsUld4bGJXVnVkQ0E5SUdOb2FXeGtMblJoWjA1aGJXVWdQVDA5SUNkVVJVMVFURUZVUlNjZ1B5QjBaVzF3YkdGMFpVVnNaVzFsYm5Rb1kzSmxZWFJsUld4bGJXVnVkQ3dnWTJocGJHUXNJR1ZzWlcxbGJuUlBjSFJwYjI1ektTQTZJR055WldGMFpVVnNaVzFsYm5Rb1kyaHBiR1F1ZEdGblRtRnRaU3dnWld4bGJXVnVkRTl3ZEdsdmJuTXBPMXh1WEc0Z0lDQWdJQ0J6Ykc5MGN5NXdkWE5vS0hOc2IzUldkV1ZGYkdWdFpXNTBLVHRjYmlBZ0lDQjlYRzRnSUgwcE8xeHVYRzRnSUhKbGRIVnliaUJ6Ykc5MGN6dGNibjFjYmx4dVpuVnVZM1JwYjI0Z1kzVnpkRzl0UlhabGJuUW9aWFpsYm5ST1lXMWxMQ0JrWlhSaGFXd3BJSHRjYmlBZ2RtRnlJSEJoY21GdGN5QTlJSHNnWW5WaVlteGxjem9nWm1Gc2MyVXNJR05oYm1ObGJHRmliR1U2SUdaaGJITmxMQ0JrWlhSaGFXdzZJR1JsZEdGcGJDQjlPMXh1SUNCMllYSWdaWFpsYm5RZ1BTQjJiMmxrSURBN1hHNGdJR2xtSUNoMGVYQmxiMllnZDJsdVpHOTNMa04xYzNSdmJVVjJaVzUwSUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdaWFpsYm5RZ1BTQnVaWGNnUTNWemRHOXRSWFpsYm5Rb1pYWmxiblJPWVcxbExDQndZWEpoYlhNcE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lHVjJaVzUwSUQwZ1pHOWpkVzFsYm5RdVkzSmxZWFJsUlhabGJuUW9KME4xYzNSdmJVVjJaVzUwSnlrN1hHNGdJQ0FnWlhabGJuUXVhVzVwZEVOMWMzUnZiVVYyWlc1MEtHVjJaVzUwVG1GdFpTd2djR0Z5WVcxekxtSjFZbUpzWlhNc0lIQmhjbUZ0Y3k1allXNWpaV3hoWW14bExDQndZWEpoYlhNdVpHVjBZV2xzS1R0Y2JpQWdmVnh1SUNCeVpYUjFjbTRnWlhabGJuUTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHTjFjM1J2YlVWdGFYUW9aV3hsYldWdWRDd2daWFpsYm5ST1lXMWxLU0I3WEc0Z0lHWnZjaUFvZG1GeUlGOXNaVzRnUFNCaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvTENCaGNtZHpJRDBnUVhKeVlYa29YMnhsYmlBK0lESWdQeUJmYkdWdUlDMGdNaUE2SURBcExDQmZhMlY1SUQwZ01qc2dYMnRsZVNBOElGOXNaVzQ3SUY5clpYa3JLeWtnZTF4dUlDQWdJR0Z5WjNOYlgydGxlU0F0SURKZElEMGdZWEpuZFcxbGJuUnpXMTlyWlhsZE8xeHVJQ0I5WEc1Y2JpQWdkbUZ5SUdWMlpXNTBJRDBnWTNWemRHOXRSWFpsYm5Rb1pYWmxiblJPWVcxbExDQmJYUzVqYjI1allYUW9ZWEpuY3lrcE8xeHVJQ0JsYkdWdFpXNTBMbVJwYzNCaGRHTm9SWFpsYm5Rb1pYWmxiblFwTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJqY21WaGRHVldkV1ZKYm5OMFlXNWpaU2hsYkdWdFpXNTBMQ0JXZFdVc0lHTnZiWEJ2Ym1WdWRFUmxabWx1YVhScGIyNHNJSEJ5YjNCekxDQnZjSFJwYjI1ektTQjdYRzRnSUdsbUlDZ2haV3hsYldWdWRDNWZYM1oxWlY5amRYTjBiMjFmWld4bGJXVnVkRjlmS1NCN1hHNGdJQ0FnZG1GeUlHSmxabTl5WlVOeVpXRjBaU0E5SUdaMWJtTjBhVzl1SUdKbFptOXlaVU55WldGMFpTZ3BJSHRjYmlBZ0lDQWdJSFJvYVhNdUpHVnRhWFFnUFNCbWRXNWpkR2x2YmlCbGJXbDBLQ2tnZTF4dUlDQWdJQ0FnSUNCMllYSWdYM0J5YjNSdlgxOGtKR1Z0YVhRN1hHNWNiaUFnSUNBZ0lDQWdabTl5SUNoMllYSWdYMnhsYmlBOUlHRnlaM1Z0Wlc1MGN5NXNaVzVuZEdnc0lHRnlaM01nUFNCQmNuSmhlU2hmYkdWdUtTd2dYMnRsZVNBOUlEQTdJRjlyWlhrZ1BDQmZiR1Z1T3lCZmEyVjVLeXNwSUh0Y2JpQWdJQ0FnSUNBZ0lDQmhjbWR6VzE5clpYbGRJRDBnWVhKbmRXMWxiblJ6VzE5clpYbGRPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ1kzVnpkRzl0UlcxcGRDNWhjSEJzZVNoMWJtUmxabWx1WldRc0lGdGxiR1Z0Wlc1MFhTNWpiMjVqWVhRb1lYSm5jeWtwTzF4dUlDQWdJQ0FnSUNCMGFHbHpMbDlmY0hKdmRHOWZYeUFtSmlBb1gzQnliM1J2WDE4a0pHVnRhWFFnUFNCMGFHbHpMbDlmY0hKdmRHOWZYeTRrWlcxcGRDa3VZMkZzYkM1aGNIQnNlU2hmY0hKdmRHOWZYeVFrWlcxcGRDd2dXM1JvYVhOZExtTnZibU5oZENoaGNtZHpLU2s3WEc0Z0lDQWdJQ0I5TzF4dUlDQWdJSDA3WEc1Y2JpQWdJQ0IyWVhJZ1EyOXRjRzl1Wlc1MFJHVm1hVzVwZEdsdmJpQTlJRloxWlM1MWRHbHNMbVY0ZEdWdVpDaDdmU3dnWTI5dGNHOXVaVzUwUkdWbWFXNXBkR2x2YmlrN1hHNGdJQ0FnZG1GeUlIQnliM0J6UkdGMFlTQTlJR2RsZEZCeWIzQnpSR0YwWVNobGJHVnRaVzUwTENCRGIyMXdiMjVsYm5SRVpXWnBibWwwYVc5dUxDQndjbTl3Y3lrN1hHNGdJQ0FnZG1GeUlIWjFaVlpsY25OcGIyNGdQU0JXZFdVdWRtVnljMmx2YmlBbUppQndZWEp6WlVsdWRDaFdkV1V1ZG1WeWMybHZiaTV6Y0d4cGRDZ25MaWNwV3pCZExDQXhNQ2tnZkh3Z01EdGNibHh1SUNBZ0lFTnZiWEJ2Ym1WdWRFUmxabWx1YVhScGIyNHVZbVZtYjNKbFEzSmxZWFJsSUQwZ1cxMHVZMjl1WTJGMEtFTnZiWEJ2Ym1WdWRFUmxabWx1YVhScGIyNHVZbVZtYjNKbFEzSmxZWFJsSUh4OElGdGRMQ0JpWldadmNtVkRjbVZoZEdVcE8xeHVYRzRnSUNBZ2FXWWdLRU52YlhCdmJtVnVkRVJsWm1sdWFYUnBiMjR1WDJOdmJYQnBiR1ZrS1NCN1hHNGdJQ0FnSUNCMllYSWdZM1J2Y2s5d2RHbHZibk1nUFNCN2ZUdGNiaUFnSUNBZ0lHbG1JQ2hEYjIxd2IyNWxiblJFWldacGJtbDBhVzl1TGw5RGRHOXlLU0I3WEc0Z0lDQWdJQ0FnSUdOMGIzSlBjSFJwYjI1eklEMGdUMkpxWldOMExuWmhiSFZsY3loRGIyMXdiMjVsYm5SRVpXWnBibWwwYVc5dUxsOURkRzl5S1Zzd1hTNXZjSFJwYjI1ek8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ1kzUnZjazl3ZEdsdmJuTXVZbVZtYjNKbFEzSmxZWFJsSUQwZ1EyOXRjRzl1Wlc1MFJHVm1hVzVwZEdsdmJpNWlaV1p2Y21WRGNtVmhkR1U3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUhKdmIzUkZiR1Z0Wlc1MElEMGdkbTlwWkNBd08xeHVYRzRnSUNBZ2FXWWdLSFoxWlZabGNuTnBiMjRnUGowZ01pa2dlMXh1SUNBZ0lDQWdkbUZ5SUdWc1pXMWxiblJQY21sbmFXNWhiRU5vYVd4a2NtVnVJRDBnWld4bGJXVnVkQzVqYkc5dVpVNXZaR1VvZEhKMVpTa3VZMmhwYkdST2IyUmxjenRjYmlBZ0lDQWdJSEp2YjNSRmJHVnRaVzUwSUQwZ2UxeHVJQ0FnSUNBZ0lDQndjbTl3YzBSaGRHRTZJSEJ5YjNCelJHRjBZU3hjYmlBZ0lDQWdJQ0FnY0hKdmNITTZJSEJ5YjNCekxtTmhiV1ZzUTJGelpTeGNiaUFnSUNBZ0lDQWdZMjl0Y0hWMFpXUTZJSHRjYmlBZ0lDQWdJQ0FnSUNCeVpXRmpkR2wyWlZCeWIzQnpPaUJtZFc1amRHbHZiaUJ5WldGamRHbDJaVkJ5YjNCekpDUXhLQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUY5MGFHbHpJRDBnZEdocGN6dGNibHh1SUNBZ0lDQWdJQ0FnSUNBZ2RtRnlJSEpsWVdOMGFYWmxVSEp2Y0hOTWFYTjBJRDBnZTMwN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J3Y205d2N5NWpZVzFsYkVOaGMyVXVabTl5UldGamFDaG1kVzVqZEdsdmJpQW9jSEp2Y0NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGVYQmxiMllnWDNSb2FYTmJjSEp2Y0YwZ0lUMDlJQ2QxYm1SbFptbHVaV1FuSUNZbUlDaHlaV0ZqZEdsMlpWQnliM0J6VEdsemRGdHdjbTl3WFNBOUlGOTBhR2x6VzNCeWIzQmRLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMHBPMXh1WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2NtVmhZM1JwZG1WUWNtOXdjMHhwYzNRN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5TEZ4dUlDQWdJQ0FnSUNCeVpXNWtaWEk2SUdaMWJtTjBhVzl1SUhKbGJtUmxjaWhqY21WaGRHVkZiR1Z0Wlc1MEtTQjdYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlHUmhkR0VnUFNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J3Y205d2N6b2dkR2hwY3k1eVpXRmpkR2wyWlZCeWIzQnpYRzRnSUNBZ0lDQWdJQ0FnZlR0Y2JseHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmpjbVZoZEdWRmJHVnRaVzUwS0VOdmJYQnZibVZ1ZEVSbFptbHVhWFJwYjI0c0lHUmhkR0VzSUdkbGRGTnNiM1J6S0dWc1pXMWxiblJQY21sbmFXNWhiRU5vYVd4a2NtVnVMQ0JqY21WaGRHVkZiR1Z0Wlc1MEtTazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDA3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2gyZFdWV1pYSnphVzl1SUQwOVBTQXhLU0I3WEc0Z0lDQWdJQ0J5YjI5MFJXeGxiV1Z1ZENBOUlFTnZiWEJ2Ym1WdWRFUmxabWx1YVhScGIyNDdYRzRnSUNBZ0lDQnliMjkwUld4bGJXVnVkQzV3Y205d2MwUmhkR0VnUFNCd2NtOXdjMFJoZEdFN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSEp2YjNSRmJHVnRaVzUwSUQwZ1EyOXRjRzl1Wlc1MFJHVm1hVzVwZEdsdmJqdGNiaUFnSUNBZ0lIWmhjaUJ3Y205d2MxZHBkR2hFWldaaGRXeDBJRDBnZTMwN1hHNGdJQ0FnSUNCUFltcGxZM1F1YTJWNWN5aHdjbTl3YzBSaGRHRXBMbVp2Y2tWaFkyZ29ablZ1WTNScGIyNGdLSEJ5YjNBcElIdGNiaUFnSUNBZ0lDQWdjSEp2Y0hOWGFYUm9SR1ZtWVhWc2RGdHdjbTl3WFNBOUlIc2daR1ZtWVhWc2REb2djSEp2Y0hORVlYUmhXM0J5YjNCZElIMDdYRzRnSUNBZ0lDQjlLVHRjYmlBZ0lDQWdJSEp2YjNSRmJHVnRaVzUwTG5CeWIzQnpJRDBnY0hKdmNITlhhWFJvUkdWbVlYVnNkRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnWld4bGJXVnVkRWx1Ym1WeVNIUnRiQ0E5SUhaMVpWWmxjbk5wYjI0Z1BqMGdNaUEvSUNjOFpHbDJQand2WkdsMlBpY2dPaUFvSnp4a2FYWStKeUFySUdWc1pXMWxiblF1YVc1dVpYSklWRTFNSUNzZ0p6d3ZaR2wyUGljcExuSmxjR3hoWTJVb0wzWjFaUzF6Ykc5MFBTOW5MQ0FuYzJ4dmREMG5LVHRjYmlBZ0lDQnBaaUFvYjNCMGFXOXVjeTV6YUdGa2IzY2dKaVlnWld4bGJXVnVkQzV6YUdGa2IzZFNiMjkwS1NCN1hHNGdJQ0FnSUNCbGJHVnRaVzUwTG5Ob1lXUnZkMUp2YjNRdWFXNXVaWEpJVkUxTUlEMGdaV3hsYldWdWRFbHVibVZ5U0hSdGJEdGNiaUFnSUNBZ0lISnZiM1JGYkdWdFpXNTBMbVZzSUQwZ1pXeGxiV1Z1ZEM1emFHRmtiM2RTYjI5MExtTm9hV3hrY21WdVd6QmRPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCbGJHVnRaVzUwTG1sdWJtVnlTRlJOVENBOUlHVnNaVzFsYm5SSmJtNWxja2gwYld3N1hHNGdJQ0FnSUNCeWIyOTBSV3hsYldWdWRDNWxiQ0E5SUdWc1pXMWxiblF1WTJocGJHUnlaVzViTUYwN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WaFkzUnBkbVZRY205d2N5aGxiR1Z0Wlc1MExDQndjbTl3Y3lrN1hHNWNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHOXdkR2x2Ym5NdVltVm1iM0psUTNKbFlYUmxWblZsU1c1emRHRnVZMlVnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJSEp2YjNSRmJHVnRaVzUwSUQwZ2IzQjBhVzl1Y3k1aVpXWnZjbVZEY21WaGRHVldkV1ZKYm5OMFlXNWpaU2h5YjI5MFJXeGxiV1Z1ZENrZ2ZId2djbTl2ZEVWc1pXMWxiblE3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdaV3hsYldWdWRDNWZYM1oxWlY5amRYTjBiMjFmWld4bGJXVnVkRjlmSUQwZ2JtVjNJRloxWlNoeWIyOTBSV3hsYldWdWRDazdYRzRnSUNBZ1pXeGxiV1Z1ZEM1ZlgzWjFaVjlqZFhOMGIyMWZaV3hsYldWdWRGOXdjbTl3YzE5ZklEMGdjSEp2Y0hNN1hHNGdJQ0FnWld4bGJXVnVkQzVuWlhSV2RXVkpibk4wWVc1alpTQTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJsYkdWdFpXNTBMbDlmZG5WbFgyTjFjM1J2YlY5bGJHVnRaVzUwWDE4dUpHTm9hV3hrY21WdVd6QmRPMXh1SUNBZ0lIMDdYRzVjYmlBZ0lDQnBaaUFvYjNCMGFXOXVjeTV6YUdGa2IzY2dKaVlnYjNCMGFXOXVjeTV6YUdGa2IzZERjM01nSmlZZ1pXeGxiV1Z1ZEM1emFHRmtiM2RTYjI5MEtTQjdYRzRnSUNBZ0lDQjJZWElnYzNSNWJHVWdQU0JrYjJOMWJXVnVkQzVqY21WaGRHVkZiR1Z0Wlc1MEtDZHpkSGxzWlNjcE8xeHVJQ0FnSUNBZ2MzUjViR1V1ZEhsd1pTQTlJQ2QwWlhoMEwyTnpjeWM3WEc0Z0lDQWdJQ0J6ZEhsc1pTNWhjSEJsYm1SRGFHbHNaQ2hrYjJOMWJXVnVkQzVqY21WaGRHVlVaWGgwVG05a1pTaHZjSFJwYjI1ekxuTm9ZV1J2ZDBOemN5a3BPMXh1WEc0Z0lDQWdJQ0JsYkdWdFpXNTBMbk5vWVdSdmQxSnZiM1F1WVhCd1pXNWtRMmhwYkdRb2MzUjViR1VwTzF4dUlDQWdJSDFjYmlBZ0lDQmxiR1Z0Wlc1MExuSmxiVzkyWlVGMGRISnBZblYwWlNnbmRtTmxMV05zYjJGckp5azdYRzRnSUNBZ1pXeGxiV1Z1ZEM1elpYUkJkSFJ5YVdKMWRHVW9KM1pqWlMxeVpXRmtlU2NzSUNjbktUdGNiaUFnSUNCamRYTjBiMjFGYldsMEtHVnNaVzFsYm5Rc0lDZDJZMlV0Y21WaFpIa25LVHRjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCcGJuTjBZV3hzS0ZaMVpTa2dlMXh1SUNCV2RXVXVZM1Z6ZEc5dFJXeGxiV1Z1ZENBOUlHWjFibU4wYVc5dUlIWjFaVU4xYzNSdmJVVnNaVzFsYm5Rb2RHRm5MQ0JqYjIxd2IyNWxiblJFWldacGJtbDBhVzl1S1NCN1hHNGdJQ0FnZG1GeUlHOXdkR2x2Ym5NZ1BTQmhjbWQxYldWdWRITXViR1Z1WjNSb0lENGdNaUFtSmlCaGNtZDFiV1Z1ZEhOYk1sMGdJVDA5SUhWdVpHVm1hVzVsWkNBL0lHRnlaM1Z0Wlc1MGMxc3lYU0E2SUh0OU8xeHVYRzRnSUNBZ2RtRnlJR2x6UVhONWJtTkRiMjF3YjI1bGJuUWdQU0IwZVhCbGIyWWdZMjl0Y0c5dVpXNTBSR1ZtYVc1cGRHbHZiaUE5UFQwZ0oyWjFibU4wYVc5dUp6dGNiaUFnSUNCMllYSWdiM0IwYVc5dWMxQnliM0J6SUQwZ2FYTkJjM2x1WTBOdmJYQnZibVZ1ZENBbUppQjdJSEJ5YjNCek9pQnZjSFJwYjI1ekxuQnliM0J6SUh4OElGdGRJSDA3WEc0Z0lDQWdkbUZ5SUhCeWIzQnpJRDBnWjJWMFVISnZjSE1vYVhOQmMzbHVZME52YlhCdmJtVnVkQ0EvSUc5d2RHbHZibk5RY205d2N5QTZJR052YlhCdmJtVnVkRVJsWm1sdWFYUnBiMjRwTzF4dVhHNGdJQ0FnZG1GeUlFTjFjM1J2YlVWc1pXMWxiblFnUFNCeVpXZHBjM1JsY2tOMWMzUnZiVVZzWlcxbGJuUW9kR0ZuTENCN1hHNGdJQ0FnSUNCamIyNXpkSEoxWTNSdmNrTmhiR3hpWVdOck9pQm1kVzVqZEdsdmJpQmpiMjV6ZEhKMVkzUnZja05oYkd4aVlXTnJLQ2tnZTF4dUlDQWdJQ0FnSUNCMGVYQmxiMllnYjNCMGFXOXVjeTVqYjI1emRISjFZM1J2Y2tOaGJHeGlZV05ySUQwOVBTQW5ablZ1WTNScGIyNG5JQ1ltSUc5d2RHbHZibk11WTI5dWMzUnlkV04wYjNKRFlXeHNZbUZqYXk1allXeHNLSFJvYVhNcE8xeHVJQ0FnSUNBZ2ZTeGNiaUFnSUNBZ0lHTnZibTVsWTNSbFpFTmhiR3hpWVdOck9pQm1kVzVqZEdsdmJpQmpiMjV1WldOMFpXUkRZV3hzWW1GamF5Z3BJSHRjYmlBZ0lDQWdJQ0FnZG1GeUlGOTBhR2x6SUQwZ2RHaHBjenRjYmx4dUlDQWdJQ0FnSUNCMllYSWdZWE41Ym1ORGIyMXdiMjVsYm5SUWNtOXRhWE5sSUQwZ2FYTkJjM2x1WTBOdmJYQnZibVZ1ZENBbUppQmpiMjF3YjI1bGJuUkVaV1pwYm1sMGFXOXVLQ2s3WEc0Z0lDQWdJQ0FnSUhaaGNpQnBjMEZ6ZVc1alEyOXRjRzl1Wlc1MFVISnZiV2x6WlNBOUlHRnplVzVqUTI5dGNHOXVaVzUwVUhKdmJXbHpaU0FtSmlCaGMzbHVZME52YlhCdmJtVnVkRkJ5YjIxcGMyVXVkR2hsYmlBbUppQjBlWEJsYjJZZ1lYTjVibU5EYjIxd2IyNWxiblJRY205dGFYTmxMblJvWlc0Z1BUMDlJQ2RtZFc1amRHbHZiaWM3WEc1Y2JpQWdJQ0FnSUNBZ2RIbHdaVzltSUc5d2RHbHZibk11WTI5dWJtVmpkR1ZrUTJGc2JHSmhZMnNnUFQwOUlDZG1kVzVqZEdsdmJpY2dKaVlnYjNCMGFXOXVjeTVqYjI1dVpXTjBaV1JEWVd4c1ltRmpheTVqWVd4c0tIUm9hWE1wTzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2hwYzBGemVXNWpRMjl0Y0c5dVpXNTBJQ1ltSUNGcGMwRnplVzVqUTI5dGNHOXVaVzUwVUhKdmJXbHpaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2lnblFYTjVibU1nWTI5dGNHOXVaVzUwSUNjZ0t5QjBZV2NnS3lBbklHUnZJRzV2ZENCeVpYUjFjbTV6SUZCeWIyMXBjMlVuS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQnBaaUFvSVhSb2FYTXVYMTlrWlhSaFkyaGxaRjlmS1NCN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0dselFYTjVibU5EYjIxd2IyNWxiblJRY205dGFYTmxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmhjM2x1WTBOdmJYQnZibVZ1ZEZCeWIyMXBjMlV1ZEdobGJpaG1kVzVqZEdsdmJpQW9iR0Y2ZVV4dllXUmxaRU52YlhCdmJtVnVkQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0IyWVhJZ2JHRjZlVXh2WVdSbFpFTnZiWEJ2Ym1WdWRGQnliM0J6SUQwZ1oyVjBVSEp2Y0hNb2JHRjZlVXh2WVdSbFpFTnZiWEJ2Ym1WdWRDazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnlaV0YwWlZaMVpVbHVjM1JoYm1ObEtGOTBhR2x6TENCV2RXVXNJR3hoZW5sTWIyRmtaV1JEYjIxd2IyNWxiblFzSUd4aGVubE1iMkZrWldSRGIyMXdiMjVsYm5SUWNtOXdjeXdnYjNCMGFXOXVjeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSFI1Y0dWdlppQnZjSFJwYjI1ekxuWjFaVWx1YzNSaGJtTmxRM0psWVhSbFpFTmhiR3hpWVdOcklEMDlQU0FuWm5WdVkzUnBiMjRuSUNZbUlHOXdkR2x2Ym5NdWRuVmxTVzV6ZEdGdVkyVkRjbVZoZEdWa1EyRnNiR0poWTJzdVkyRnNiQ2hmZEdocGN5azdYRzRnSUNBZ0lDQWdJQ0FnSUNCOUtUdGNiaUFnSUNBZ0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kzSmxZWFJsVm5WbFNXNXpkR0Z1WTJVb2RHaHBjeXdnVm5WbExDQmpiMjF3YjI1bGJuUkVaV1pwYm1sMGFXOXVMQ0J3Y205d2N5d2diM0IwYVc5dWN5azdYRzRnSUNBZ0lDQWdJQ0FnSUNCMGVYQmxiMllnYjNCMGFXOXVjeTUyZFdWSmJuTjBZVzVqWlVOeVpXRjBaV1JEWVd4c1ltRmpheUE5UFQwZ0oyWjFibU4wYVc5dUp5QW1KaUJ2Y0hScGIyNXpMbloxWlVsdWMzUmhibU5sUTNKbFlYUmxaRU5oYkd4aVlXTnJMbU5oYkd3b2RHaHBjeWs3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnZEdocGN5NWZYMlJsZEdGamFHVmtYMThnUFNCbVlXeHpaVHRjYmlBZ0lDQWdJSDBzWEc0Z0lDQWdJQ0JrYVhOamIyNXVaV04wWldSRFlXeHNZbUZqYXpvZ1puVnVZM1JwYjI0Z1pHbHpZMjl1Ym1WamRHVmtRMkZzYkdKaFkyc29LU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQmZkR2hwY3pJZ1BTQjBhR2x6TzF4dVhHNGdJQ0FnSUNBZ0lIUm9hWE11WDE5a1pYUmhZMmhsWkY5ZklEMGdkSEoxWlR0Y2JpQWdJQ0FnSUNBZ2RIbHdaVzltSUc5d2RHbHZibk11WkdselkyOXVibVZqZEdWa1EyRnNiR0poWTJzZ1BUMDlJQ2RtZFc1amRHbHZiaWNnSmlZZ2IzQjBhVzl1Y3k1a2FYTmpiMjV1WldOMFpXUkRZV3hzWW1GamF5NWpZV3hzS0hSb2FYTXBPMXh1WEc0Z0lDQWdJQ0FnSUhObGRGUnBiV1Z2ZFhRb1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaGZkR2hwY3pJdVgxOWtaWFJoWTJobFpGOWZJQ1ltSUY5MGFHbHpNaTVmWDNaMVpWOWpkWE4wYjIxZlpXeGxiV1Z1ZEY5ZktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCZmRHaHBjekl1WDE5MmRXVmZZM1Z6ZEc5dFgyVnNaVzFsYm5SZlh5NGtaR1Z6ZEhKdmVTaDBjblZsS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYkdWMFpTQmZkR2hwY3pJdVgxOTJkV1ZmWTNWemRHOXRYMlZzWlcxbGJuUmZYenRjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxiR1YwWlNCZmRHaHBjekl1WDE5MmRXVmZZM1Z6ZEc5dFgyVnNaVzFsYm5SZmNISnZjSE5mWHp0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSDBzSUc5d2RHbHZibk11WkdWemRISnZlVlJwYldWdmRYUWdmSHdnTXpBd01DazdYRzRnSUNBZ0lDQjlMRnh1SUNBZ0lDQWdZWFIwY21saWRYUmxRMmhoYm1kbFpFTmhiR3hpWVdOck9pQm1kVzVqZEdsdmJpQmhkSFJ5YVdKMWRHVkRhR0Z1WjJWa1EyRnNiR0poWTJzb2JtRnRaU3dnYjJ4a1ZtRnNkV1VzSUhaaGJIVmxLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaDBhR2x6TGw5ZmRuVmxYMk4xYzNSdmJWOWxiR1Z0Wlc1MFgxOGdKaVlnZEhsd1pXOW1JSFpoYkhWbElDRTlQU0FuZFc1a1pXWnBibVZrSnlrZ2UxeHVJQ0FnSUNBZ0lDQWdJSFpoY2lCdVlXMWxRMkZ0Wld4RFlYTmxJRDBnWTJGdFpXeHBlbVVvYm1GdFpTazdYRzRnSUNBZ0lDQWdJQ0FnZEhsd1pXOW1JRzl3ZEdsdmJuTXVZWFIwY21saWRYUmxRMmhoYm1kbFpFTmhiR3hpWVdOcklEMDlQU0FuWm5WdVkzUnBiMjRuSUNZbUlHOXdkR2x2Ym5NdVlYUjBjbWxpZFhSbFEyaGhibWRsWkVOaGJHeGlZV05yTG1OaGJHd29kR2hwY3l3Z2JtRnRaU3dnYjJ4a1ZtRnNkV1VzSUhaaGJIVmxLVHRjYmlBZ0lDQWdJQ0FnSUNCMllYSWdkSGx3WlNBOUlIUm9hWE11WDE5MmRXVmZZM1Z6ZEc5dFgyVnNaVzFsYm5SZmNISnZjSE5mWHk1MGVYQmxjMXR1WVcxbFEyRnRaV3hEWVhObFhUdGNiaUFnSUNBZ0lDQWdJQ0IwYUdsekxsOWZkblZsWDJOMWMzUnZiVjlsYkdWdFpXNTBYMTliYm1GdFpVTmhiV1ZzUTJGelpWMGdQU0JqYjI1MlpYSjBRWFIwY21saWRYUmxWbUZzZFdVb2RtRnNkV1VzSUhSNWNHVXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5TEZ4dVhHNWNiaUFnSUNBZ0lHOWljMlZ5ZG1Wa1FYUjBjbWxpZFhSbGN6b2djSEp2Y0hNdWFIbHdhR1Z1WVhSbExGeHVYRzRnSUNBZ0lDQnphR0ZrYjNjNklDRWhiM0IwYVc5dWN5NXphR0ZrYjNjZ0ppWWdJU0ZJVkUxTVJXeGxiV1Z1ZEM1d2NtOTBiM1I1Y0dVdVlYUjBZV05vVTJoaFpHOTNYRzRnSUNBZ2ZTazdYRzVjYmlBZ0lDQnlaWFIxY200Z1EzVnpkRzl0Uld4bGJXVnVkRHRjYmlBZ2ZUdGNibjFjYmx4dWFXWWdLSFI1Y0dWdlppQjNhVzVrYjNjZ0lUMDlJQ2QxYm1SbFptbHVaV1FuSUNZbUlIZHBibVJ2ZHk1V2RXVXBJSHRjYmlBZ2QybHVaRzkzTGxaMVpTNTFjMlVvYVc1emRHRnNiQ2s3WEc0Z0lHbG1JQ2hwYm5OMFlXeHNMbWx1YzNSaGJHeGxaQ2tnZTF4dUlDQWdJR2x1YzNSaGJHd3VhVzV6ZEdGc2JHVmtJRDBnWm1Gc2MyVTdYRzRnSUgxY2JuMWNibHh1Wlhod2IzSjBJR1JsWm1GMWJIUWdhVzV6ZEdGc2JEdGNiaUpkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGQlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3SWl3aWMyOTFjbU5sVW05dmRDSTZJaUo5XG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvdnVlLWN1c3RvbS1lbGVtZW50L2Rpc3QvdnVlLWN1c3RvbS1lbGVtZW50LmVzbS5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL3Z1ZS1ob3QtcmVsb2FkLWFwaS9kaXN0L2luZGV4LmpzIjovKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcCiEqKiogLi9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpL2Rpc3QvaW5kZXguanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKiFubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCovKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXtldmFsKCJ2YXIgVnVlIC8vIGxhdGUgYmluZFxudmFyIHZlcnNpb25cbnZhciBtYXAgPSBPYmplY3QuY3JlYXRlKG51bGwpXG5pZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgd2luZG93Ll9fVlVFX0hPVF9NQVBfXyA9IG1hcFxufVxudmFyIGluc3RhbGxlZCA9IGZhbHNlXG52YXIgaXNCcm93c2VyaWZ5ID0gZmFsc2VcbnZhciBpbml0SG9va05hbWUgPSAnYmVmb3JlQ3JlYXRlJ1xuXG5leHBvcnRzLmluc3RhbGwgPSBmdW5jdGlvbiAodnVlLCBicm93c2VyaWZ5KSB7XG4gIGlmIChpbnN0YWxsZWQpIHsgcmV0dXJuIH1cbiAgaW5zdGFsbGVkID0gdHJ1ZVxuXG4gIFZ1ZSA9IHZ1ZS5fX2VzTW9kdWxlID8gdnVlLmRlZmF1bHQgOiB2dWVcbiAgdmVyc2lvbiA9IFZ1ZS52ZXJzaW9uLnNwbGl0KCcuJykubWFwKE51bWJlcilcbiAgaXNCcm93c2VyaWZ5ID0gYnJvd3NlcmlmeVxuXG4gIC8vIGNvbXBhdCB3aXRoIDwgMi4wLjAtYWxwaGEuN1xuICBpZiAoVnVlLmNvbmZpZy5fbGlmZWN5Y2xlSG9va3MuaW5kZXhPZignaW5pdCcpID4gLTEpIHtcbiAgICBpbml0SG9va05hbWUgPSAnaW5pdCdcbiAgfVxuXG4gIGV4cG9ydHMuY29tcGF0aWJsZSA9IHZlcnNpb25bMF0gPj0gMlxuICBpZiAoIWV4cG9ydHMuY29tcGF0aWJsZSkge1xuICAgIGNvbnNvbGUud2FybihcbiAgICAgICdbSE1SXSBZb3UgYXJlIHVzaW5nIGEgdmVyc2lvbiBvZiB2dWUtaG90LXJlbG9hZC1hcGkgdGhhdCBpcyAnICtcbiAgICAgICAgJ29ubHkgY29tcGF0aWJsZSB3aXRoIFZ1ZS5qcyBjb3JlIF4yLjAuMC4nXG4gICAgKVxuICAgIHJldHVyblxuICB9XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgcmVjb3JkIGZvciBhIGhvdCBtb2R1bGUsIHdoaWNoIGtlZXBzIHRyYWNrIG9mIGl0cyBjb25zdHJ1Y3RvclxuICogYW5kIGluc3RhbmNlc1xuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZFxuICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnNcbiAqL1xuXG5leHBvcnRzLmNyZWF0ZVJlY29yZCA9IGZ1bmN0aW9uIChpZCwgb3B0aW9ucykge1xuICBpZihtYXBbaWRdKSB7IHJldHVybiB9XG5cbiAgdmFyIEN0b3IgPSBudWxsXG4gIGlmICh0eXBlb2Ygb3B0aW9ucyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIEN0b3IgPSBvcHRpb25zXG4gICAgb3B0aW9ucyA9IEN0b3Iub3B0aW9uc1xuICB9XG4gIG1ha2VPcHRpb25zSG90KGlkLCBvcHRpb25zKVxuICBtYXBbaWRdID0ge1xuICAgIEN0b3I6IEN0b3IsXG4gICAgb3B0aW9uczogb3B0aW9ucyxcbiAgICBpbnN0YW5jZXM6IFtdXG4gIH1cbn1cblxuLyoqXG4gKiBDaGVjayBpZiBtb2R1bGUgaXMgcmVjb3JkZWRcbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gaWRcbiAqL1xuXG5leHBvcnRzLmlzUmVjb3JkZWQgPSBmdW5jdGlvbiAoaWQpIHtcbiAgcmV0dXJuIHR5cGVvZiBtYXBbaWRdICE9PSAndW5kZWZpbmVkJ1xufVxuXG4vKipcbiAqIE1ha2UgYSBDb21wb25lbnQgb3B0aW9ucyBvYmplY3QgaG90LlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBpZFxuICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnNcbiAqL1xuXG5mdW5jdGlvbiBtYWtlT3B0aW9uc0hvdChpZCwgb3B0aW9ucykge1xuICBpZiAob3B0aW9ucy5mdW5jdGlvbmFsKSB7XG4gICAgdmFyIHJlbmRlciA9IG9wdGlvbnMucmVuZGVyXG4gICAgb3B0aW9ucy5yZW5kZXIgPSBmdW5jdGlvbiAoaCwgY3R4KSB7XG4gICAgICB2YXIgaW5zdGFuY2VzID0gbWFwW2lkXS5pbnN0YW5jZXNcbiAgICAgIGlmIChjdHggJiYgaW5zdGFuY2VzLmluZGV4T2YoY3R4LnBhcmVudCkgPCAwKSB7XG4gICAgICAgIGluc3RhbmNlcy5wdXNoKGN0eC5wYXJlbnQpXG4gICAgICB9XG4gICAgICByZXR1cm4gcmVuZGVyKGgsIGN0eClcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaW5qZWN0SG9vayhvcHRpb25zLCBpbml0SG9va05hbWUsIGZ1bmN0aW9uKCkge1xuICAgICAgdmFyIHJlY29yZCA9IG1hcFtpZF1cbiAgICAgIGlmICghcmVjb3JkLkN0b3IpIHtcbiAgICAgICAgcmVjb3JkLkN0b3IgPSB0aGlzLmNvbnN0cnVjdG9yXG4gICAgICB9XG4gICAgICByZWNvcmQuaW5zdGFuY2VzLnB1c2godGhpcylcbiAgICB9KVxuICAgIGluamVjdEhvb2sob3B0aW9ucywgJ2JlZm9yZURlc3Ryb3knLCBmdW5jdGlvbigpIHtcbiAgICAgIHZhciBpbnN0YW5jZXMgPSBtYXBbaWRdLmluc3RhbmNlc1xuICAgICAgaW5zdGFuY2VzLnNwbGljZShpbnN0YW5jZXMuaW5kZXhPZih0aGlzKSwgMSlcbiAgICB9KVxuICB9XG59XG5cbi8qKlxuICogSW5qZWN0IGEgaG9vayB0byBhIGhvdCByZWxvYWRhYmxlIGNvbXBvbmVudCBzbyB0aGF0XG4gKiB3ZSBjYW4ga2VlcCB0cmFjayBvZiBpdC5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gb3B0aW9uc1xuICogQHBhcmFtIHtTdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGhvb2tcbiAqL1xuXG5mdW5jdGlvbiBpbmplY3RIb29rKG9wdGlvbnMsIG5hbWUsIGhvb2spIHtcbiAgdmFyIGV4aXN0aW5nID0gb3B0aW9uc1tuYW1lXVxuICBvcHRpb25zW25hbWVdID0gZXhpc3RpbmdcbiAgICA/IEFycmF5LmlzQXJyYXkoZXhpc3RpbmcpID8gZXhpc3RpbmcuY29uY2F0KGhvb2spIDogW2V4aXN0aW5nLCBob29rXVxuICAgIDogW2hvb2tdXG59XG5cbmZ1bmN0aW9uIHRyeVdyYXAoZm4pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChpZCwgYXJnKSB7XG4gICAgdHJ5IHtcbiAgICAgIGZuKGlkLCBhcmcpXG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcihlKVxuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAnU29tZXRoaW5nIHdlbnQgd3JvbmcgZHVyaW5nIFZ1ZSBjb21wb25lbnQgaG90LXJlbG9hZC4gRnVsbCByZWxvYWQgcmVxdWlyZWQuJ1xuICAgICAgKVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB1cGRhdGVPcHRpb25zIChvbGRPcHRpb25zLCBuZXdPcHRpb25zKSB7XG4gIGZvciAodmFyIGtleSBpbiBvbGRPcHRpb25zKSB7XG4gICAgaWYgKCEoa2V5IGluIG5ld09wdGlvbnMpKSB7XG4gICAgICBkZWxldGUgb2xkT3B0aW9uc1trZXldXG4gICAgfVxuICB9XG4gIGZvciAodmFyIGtleSQxIGluIG5ld09wdGlvbnMpIHtcbiAgICBvbGRPcHRpb25zW2tleSQxXSA9IG5ld09wdGlvbnNba2V5JDFdXG4gIH1cbn1cblxuZXhwb3J0cy5yZXJlbmRlciA9IHRyeVdyYXAoZnVuY3Rpb24gKGlkLCBvcHRpb25zKSB7XG4gIHZhciByZWNvcmQgPSBtYXBbaWRdXG4gIGlmICghb3B0aW9ucykge1xuICAgIHJlY29yZC5pbnN0YW5jZXMuc2xpY2UoKS5mb3JFYWNoKGZ1bmN0aW9uIChpbnN0YW5jZSkge1xuICAgICAgaW5zdGFuY2UuJGZvcmNlVXBkYXRlKClcbiAgICB9KVxuICAgIHJldHVyblxuICB9XG4gIGlmICh0eXBlb2Ygb3B0aW9ucyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIG9wdGlvbnMgPSBvcHRpb25zLm9wdGlvbnNcbiAgfVxuICBpZiAocmVjb3JkLkN0b3IpIHtcbiAgICByZWNvcmQuQ3Rvci5vcHRpb25zLnJlbmRlciA9IG9wdGlvbnMucmVuZGVyXG4gICAgcmVjb3JkLkN0b3Iub3B0aW9ucy5zdGF0aWNSZW5kZXJGbnMgPSBvcHRpb25zLnN0YXRpY1JlbmRlckZuc1xuICAgIHJlY29yZC5pbnN0YW5jZXMuc2xpY2UoKS5mb3JFYWNoKGZ1bmN0aW9uIChpbnN0YW5jZSkge1xuICAgICAgaW5zdGFuY2UuJG9wdGlvbnMucmVuZGVyID0gb3B0aW9ucy5yZW5kZXJcbiAgICAgIGluc3RhbmNlLiRvcHRpb25zLnN0YXRpY1JlbmRlckZucyA9IG9wdGlvbnMuc3RhdGljUmVuZGVyRm5zXG4gICAgICAvLyByZXNldCBzdGF0aWMgdHJlZXNcbiAgICAgIC8vIHByZSAyLjUsIGFsbCBzdGF0aWMgdHJlZXMgYXJlIGNhY2hlZCB0b2dldGhlciBvbiB0aGUgaW5zdGFuY2VcbiAgICAgIGlmIChpbnN0YW5jZS5fc3RhdGljVHJlZXMpIHtcbiAgICAgICAgaW5zdGFuY2UuX3N0YXRpY1RyZWVzID0gW11cbiAgICAgIH1cbiAgICAgIC8vIDIuNS4wXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShyZWNvcmQuQ3Rvci5vcHRpb25zLmNhY2hlZCkpIHtcbiAgICAgICAgcmVjb3JkLkN0b3Iub3B0aW9ucy5jYWNoZWQgPSBbXVxuICAgICAgfVxuICAgICAgLy8gMi41LjNcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGluc3RhbmNlLiRvcHRpb25zLmNhY2hlZCkpIHtcbiAgICAgICAgaW5zdGFuY2UuJG9wdGlvbnMuY2FjaGVkID0gW11cbiAgICAgIH1cblxuICAgICAgLy8gcG9zdCAyLjUuNDogdi1vbmNlIHRyZWVzIGFyZSBjYWNoZWQgb24gaW5zdGFuY2UuX3N0YXRpY1RyZWVzLlxuICAgICAgLy8gUHVyZSBzdGF0aWMgdHJlZXMgYXJlIGNhY2hlZCBvbiB0aGUgc3RhdGljUmVuZGVyRm5zIGFycmF5XG4gICAgICAvLyAoYm90aCBhbHJlYWR5IHJlc2V0IGFib3ZlKVxuXG4gICAgICAvLyAyLjY6IHRlbXBvcmFyaWx5IG1hcmsgcmVuZGVyZWQgc2NvcGVkIHNsb3RzIGFzIHVuc3RhYmxlIHNvIHRoYXRcbiAgICAgIC8vIGNoaWxkIGNvbXBvbmVudHMgY2FuIGJlIGZvcmNlZCB0byB1cGRhdGVcbiAgICAgIHZhciByZXN0b3JlID0gcGF0Y2hTY29wZWRTbG90cyhpbnN0YW5jZSlcbiAgICAgIGluc3RhbmNlLiRmb3JjZVVwZGF0ZSgpXG4gICAgICBpbnN0YW5jZS4kbmV4dFRpY2socmVzdG9yZSlcbiAgICB9KVxuICB9IGVsc2Uge1xuICAgIC8vIGZ1bmN0aW9uYWwgb3Igbm8gaW5zdGFuY2UgY3JlYXRlZCB5ZXRcbiAgICByZWNvcmQub3B0aW9ucy5yZW5kZXIgPSBvcHRpb25zLnJlbmRlclxuICAgIHJlY29yZC5vcHRpb25zLnN0YXRpY1JlbmRlckZucyA9IG9wdGlvbnMuc3RhdGljUmVuZGVyRm5zXG5cbiAgICAvLyBoYW5kbGUgZnVuY3Rpb25hbCBjb21wb25lbnQgcmUtcmVuZGVyXG4gICAgaWYgKHJlY29yZC5vcHRpb25zLmZ1bmN0aW9uYWwpIHtcbiAgICAgIC8vIHJlcmVuZGVyIHdpdGggZnVsbCBvcHRpb25zXG4gICAgICBpZiAoT2JqZWN0LmtleXMob3B0aW9ucykubGVuZ3RoID4gMikge1xuICAgICAgICB1cGRhdGVPcHRpb25zKHJlY29yZC5vcHRpb25zLCBvcHRpb25zKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gdGVtcGxhdGUtb25seSByZXJlbmRlci5cbiAgICAgICAgLy8gbmVlZCB0byBpbmplY3QgdGhlIHN0eWxlIGluamVjdGlvbiBjb2RlIGZvciBDU1MgbW9kdWxlc1xuICAgICAgICAvLyB0byB3b3JrIHByb3Blcmx5LlxuICAgICAgICB2YXIgaW5qZWN0U3R5bGVzID0gcmVjb3JkLm9wdGlvbnMuX2luamVjdFN0eWxlc1xuICAgICAgICBpZiAoaW5qZWN0U3R5bGVzKSB7XG4gICAgICAgICAgdmFyIHJlbmRlciA9IG9wdGlvbnMucmVuZGVyXG4gICAgICAgICAgcmVjb3JkLm9wdGlvbnMucmVuZGVyID0gZnVuY3Rpb24gKGgsIGN0eCkge1xuICAgICAgICAgICAgaW5qZWN0U3R5bGVzLmNhbGwoY3R4KVxuICAgICAgICAgICAgcmV0dXJuIHJlbmRlcihoLCBjdHgpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZWNvcmQub3B0aW9ucy5fQ3RvciA9IG51bGxcbiAgICAgIC8vIDIuNS4zXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShyZWNvcmQub3B0aW9ucy5jYWNoZWQpKSB7XG4gICAgICAgIHJlY29yZC5vcHRpb25zLmNhY2hlZCA9IFtdXG4gICAgICB9XG4gICAgICByZWNvcmQuaW5zdGFuY2VzLnNsaWNlKCkuZm9yRWFjaChmdW5jdGlvbiAoaW5zdGFuY2UpIHtcbiAgICAgICAgaW5zdGFuY2UuJGZvcmNlVXBkYXRlKClcbiAgICAgIH0pXG4gICAgfVxuICB9XG59KVxuXG5leHBvcnRzLnJlbG9hZCA9IHRyeVdyYXAoZnVuY3Rpb24gKGlkLCBvcHRpb25zKSB7XG4gIHZhciByZWNvcmQgPSBtYXBbaWRdXG4gIGlmIChvcHRpb25zKSB7XG4gICAgaWYgKHR5cGVvZiBvcHRpb25zID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBvcHRpb25zID0gb3B0aW9ucy5vcHRpb25zXG4gICAgfVxuICAgIG1ha2VPcHRpb25zSG90KGlkLCBvcHRpb25zKVxuICAgIGlmIChyZWNvcmQuQ3Rvcikge1xuICAgICAgaWYgKHZlcnNpb25bMV0gPCAyKSB7XG4gICAgICAgIC8vIHByZXNlcnZlIHByZSAyLjIgYmVoYXZpb3IgZm9yIGdsb2JhbCBtaXhpbiBoYW5kbGluZ1xuICAgICAgICByZWNvcmQuQ3Rvci5leHRlbmRPcHRpb25zID0gb3B0aW9uc1xuICAgICAgfVxuICAgICAgdmFyIG5ld0N0b3IgPSByZWNvcmQuQ3Rvci5zdXBlci5leHRlbmQob3B0aW9ucylcbiAgICAgIC8vIHByZXZlbnQgcmVjb3JkLm9wdGlvbnMuX0N0b3IgZnJvbSBiZWluZyBvdmVyd3JpdHRlbiBhY2NpZGVudGFsbHlcbiAgICAgIG5ld0N0b3Iub3B0aW9ucy5fQ3RvciA9IHJlY29yZC5vcHRpb25zLl9DdG9yXG4gICAgICByZWNvcmQuQ3Rvci5vcHRpb25zID0gbmV3Q3Rvci5vcHRpb25zXG4gICAgICByZWNvcmQuQ3Rvci5jaWQgPSBuZXdDdG9yLmNpZFxuICAgICAgcmVjb3JkLkN0b3IucHJvdG90eXBlID0gbmV3Q3Rvci5wcm90b3R5cGVcbiAgICAgIGlmIChuZXdDdG9yLnJlbGVhc2UpIHtcbiAgICAgICAgLy8gdGVtcG9yYXJ5IGdsb2JhbCBtaXhpbiBzdHJhdGVneSB1c2VkIGluIDwgMi4wLjAtYWxwaGEuNlxuICAgICAgICBuZXdDdG9yLnJlbGVhc2UoKVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB1cGRhdGVPcHRpb25zKHJlY29yZC5vcHRpb25zLCBvcHRpb25zKVxuICAgIH1cbiAgfVxuICByZWNvcmQuaW5zdGFuY2VzLnNsaWNlKCkuZm9yRWFjaChmdW5jdGlvbiAoaW5zdGFuY2UpIHtcbiAgICBpZiAoaW5zdGFuY2UuJHZub2RlICYmIGluc3RhbmNlLiR2bm9kZS5jb250ZXh0KSB7XG4gICAgICBpbnN0YW5jZS4kdm5vZGUuY29udGV4dC4kZm9yY2VVcGRhdGUoKVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICdSb290IG9yIG1hbnVhbGx5IG1vdW50ZWQgaW5zdGFuY2UgbW9kaWZpZWQuIEZ1bGwgcmVsb2FkIHJlcXVpcmVkLidcbiAgICAgIClcbiAgICB9XG4gIH0pXG59KVxuXG4vLyAyLjYgb3B0aW1pemVzIHRlbXBsYXRlLWNvbXBpbGVkIHNjb3BlZCBzbG90cyBhbmQgc2tpcHMgdXBkYXRlcyBpZiBjaGlsZFxuLy8gb25seSB1c2VzIHNjb3BlZCBzbG90cy4gV2UgbmVlZCB0byBwYXRjaCB0aGUgc2NvcGVkIHNsb3RzIHJlc29sdmluZyBoZWxwZXJcbi8vIHRvIHRlbXBvcmFyaWx5IG1hcmsgYWxsIHNjb3BlZCBzbG90cyBhcyB1bnN0YWJsZSBpbiBvcmRlciB0byBmb3JjZSBjaGlsZFxuLy8gdXBkYXRlcy5cbmZ1bmN0aW9uIHBhdGNoU2NvcGVkU2xvdHMgKGluc3RhbmNlKSB7XG4gIGlmICghaW5zdGFuY2UuX3UpIHsgcmV0dXJuIH1cbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3Z1ZWpzL3Z1ZS9ibG9iL2Rldi9zcmMvY29yZS9pbnN0YW5jZS9yZW5kZXItaGVscGVycy9yZXNvbHZlLXNjb3BlZC1zbG90cy5qc1xuICB2YXIgb3JpZ2luYWwgPSBpbnN0YW5jZS5fdVxuICBpbnN0YW5jZS5fdSA9IGZ1bmN0aW9uIChzbG90cykge1xuICAgIHRyeSB7XG4gICAgICAvLyAyLjYuNCB+IDIuNi42XG4gICAgICByZXR1cm4gb3JpZ2luYWwoc2xvdHMsIHRydWUpXG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLy8gMi41IC8gPj0gMi42LjdcbiAgICAgIHJldHVybiBvcmlnaW5hbChzbG90cywgbnVsbCwgdHJ1ZSlcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICBpbnN0YW5jZS5fdSA9IG9yaWdpbmFsXG4gIH1cbn1cbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZkblZsTFdodmRDMXlaV3h2WVdRdFlYQnBMMlJwYzNRdmFXNWtaWGd1YW5NdWFuTWlMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk4dkxpOXViMlJsWDIxdlpIVnNaWE12ZG5WbExXaHZkQzF5Wld4dllXUXRZWEJwTDJScGMzUXZhVzVrWlhndWFuTS9OalF6TlNKZExDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SjJZWElnVm5WbElDOHZJR3hoZEdVZ1ltbHVaRnh1ZG1GeUlIWmxjbk5wYjI1Y2JuWmhjaUJ0WVhBZ1BTQlBZbXBsWTNRdVkzSmxZWFJsS0c1MWJHd3BYRzVwWmlBb2RIbHdaVzltSUhkcGJtUnZkeUFoUFQwZ0ozVnVaR1ZtYVc1bFpDY3BJSHRjYmlBZ2QybHVaRzkzTGw5ZlZsVkZYMGhQVkY5TlFWQmZYeUE5SUcxaGNGeHVmVnh1ZG1GeUlHbHVjM1JoYkd4bFpDQTlJR1poYkhObFhHNTJZWElnYVhOQ2NtOTNjMlZ5YVdaNUlEMGdabUZzYzJWY2JuWmhjaUJwYm1sMFNHOXZhMDVoYldVZ1BTQW5ZbVZtYjNKbFEzSmxZWFJsSjF4dVhHNWxlSEJ2Y25SekxtbHVjM1JoYkd3Z1BTQm1kVzVqZEdsdmJpQW9kblZsTENCaWNtOTNjMlZ5YVdaNUtTQjdYRzRnSUdsbUlDaHBibk4wWVd4c1pXUXBJSHNnY21WMGRYSnVJSDFjYmlBZ2FXNXpkR0ZzYkdWa0lEMGdkSEoxWlZ4dVhHNGdJRloxWlNBOUlIWjFaUzVmWDJWelRXOWtkV3hsSUQ4Z2RuVmxMbVJsWm1GMWJIUWdPaUIyZFdWY2JpQWdkbVZ5YzJsdmJpQTlJRloxWlM1MlpYSnphVzl1TG5Od2JHbDBLQ2N1SnlrdWJXRndLRTUxYldKbGNpbGNiaUFnYVhOQ2NtOTNjMlZ5YVdaNUlEMGdZbkp2ZDNObGNtbG1lVnh1WEc0Z0lDOHZJR052YlhCaGRDQjNhWFJvSUR3Z01pNHdMakF0WVd4d2FHRXVOMXh1SUNCcFppQW9WblZsTG1OdmJtWnBaeTVmYkdsbVpXTjVZMnhsU0c5dmEzTXVhVzVrWlhoUFppZ25hVzVwZENjcElENGdMVEVwSUh0Y2JpQWdJQ0JwYm1sMFNHOXZhMDVoYldVZ1BTQW5hVzVwZENkY2JpQWdmVnh1WEc0Z0lHVjRjRzl5ZEhNdVkyOXRjR0YwYVdKc1pTQTlJSFpsY25OcGIyNWJNRjBnUGowZ01seHVJQ0JwWmlBb0lXVjRjRzl5ZEhNdVkyOXRjR0YwYVdKc1pTa2dlMXh1SUNBZ0lHTnZibk52YkdVdWQyRnliaWhjYmlBZ0lDQWdJQ2RiU0UxU1hTQlpiM1VnWVhKbElIVnphVzVuSUdFZ2RtVnljMmx2YmlCdlppQjJkV1V0YUc5MExYSmxiRzloWkMxaGNHa2dkR2hoZENCcGN5QW5JQ3RjYmlBZ0lDQWdJQ0FnSjI5dWJIa2dZMjl0Y0dGMGFXSnNaU0IzYVhSb0lGWjFaUzVxY3lCamIzSmxJRjR5TGpBdU1DNG5YRzRnSUNBZ0tWeHVJQ0FnSUhKbGRIVnlibHh1SUNCOVhHNTlYRzVjYmk4cUtseHVJQ29nUTNKbFlYUmxJR0VnY21WamIzSmtJR1p2Y2lCaElHaHZkQ0J0YjJSMWJHVXNJSGRvYVdOb0lHdGxaWEJ6SUhSeVlXTnJJRzltSUdsMGN5QmpiMjV6ZEhKMVkzUnZjbHh1SUNvZ1lXNWtJR2x1YzNSaGJtTmxjMXh1SUNwY2JpQXFJRUJ3WVhKaGJTQjdVM1J5YVc1bmZTQnBaRnh1SUNvZ1FIQmhjbUZ0SUh0UFltcGxZM1I5SUc5d2RHbHZibk5jYmlBcUwxeHVYRzVsZUhCdmNuUnpMbU55WldGMFpWSmxZMjl5WkNBOUlHWjFibU4wYVc5dUlDaHBaQ3dnYjNCMGFXOXVjeWtnZTF4dUlDQnBaaWh0WVhCYmFXUmRLU0I3SUhKbGRIVnliaUI5WEc1Y2JpQWdkbUZ5SUVOMGIzSWdQU0J1ZFd4c1hHNGdJR2xtSUNoMGVYQmxiMllnYjNCMGFXOXVjeUE5UFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lFTjBiM0lnUFNCdmNIUnBiMjV6WEc0Z0lDQWdiM0IwYVc5dWN5QTlJRU4wYjNJdWIzQjBhVzl1YzF4dUlDQjlYRzRnSUcxaGEyVlBjSFJwYjI1elNHOTBLR2xrTENCdmNIUnBiMjV6S1Z4dUlDQnRZWEJiYVdSZElEMGdlMXh1SUNBZ0lFTjBiM0k2SUVOMGIzSXNYRzRnSUNBZ2IzQjBhVzl1Y3pvZ2IzQjBhVzl1Y3l4Y2JpQWdJQ0JwYm5OMFlXNWpaWE02SUZ0ZFhHNGdJSDFjYm4xY2JseHVMeW9xWEc0Z0tpQkRhR1ZqYXlCcFppQnRiMlIxYkdVZ2FYTWdjbVZqYjNKa1pXUmNiaUFxWEc0Z0tpQkFjR0Z5WVcwZ2UxTjBjbWx1WjMwZ2FXUmNiaUFxTDF4dVhHNWxlSEJ2Y25SekxtbHpVbVZqYjNKa1pXUWdQU0JtZFc1amRHbHZiaUFvYVdRcElIdGNiaUFnY21WMGRYSnVJSFI1Y0dWdlppQnRZWEJiYVdSZElDRTlQU0FuZFc1a1pXWnBibVZrSjF4dWZWeHVYRzR2S2lwY2JpQXFJRTFoYTJVZ1lTQkRiMjF3YjI1bGJuUWdiM0IwYVc5dWN5QnZZbXBsWTNRZ2FHOTBMbHh1SUNwY2JpQXFJRUJ3WVhKaGJTQjdVM1J5YVc1bmZTQnBaRnh1SUNvZ1FIQmhjbUZ0SUh0UFltcGxZM1I5SUc5d2RHbHZibk5jYmlBcUwxeHVYRzVtZFc1amRHbHZiaUJ0WVd0bFQzQjBhVzl1YzBodmRDaHBaQ3dnYjNCMGFXOXVjeWtnZTF4dUlDQnBaaUFvYjNCMGFXOXVjeTVtZFc1amRHbHZibUZzS1NCN1hHNGdJQ0FnZG1GeUlISmxibVJsY2lBOUlHOXdkR2x2Ym5NdWNtVnVaR1Z5WEc0Z0lDQWdiM0IwYVc5dWN5NXlaVzVrWlhJZ1BTQm1kVzVqZEdsdmJpQW9hQ3dnWTNSNEtTQjdYRzRnSUNBZ0lDQjJZWElnYVc1emRHRnVZMlZ6SUQwZ2JXRndXMmxrWFM1cGJuTjBZVzVqWlhOY2JpQWdJQ0FnSUdsbUlDaGpkSGdnSmlZZ2FXNXpkR0Z1WTJWekxtbHVaR1Y0VDJZb1kzUjRMbkJoY21WdWRDa2dQQ0F3S1NCN1hHNGdJQ0FnSUNBZ0lHbHVjM1JoYm1ObGN5NXdkWE5vS0dOMGVDNXdZWEpsYm5RcFhHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCeVpYUjFjbTRnY21WdVpHVnlLR2dzSUdOMGVDbGNiaUFnSUNCOVhHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2FXNXFaV04wU0c5dmF5aHZjSFJwYjI1ekxDQnBibWwwU0c5dmEwNWhiV1VzSUdaMWJtTjBhVzl1S0NrZ2UxeHVJQ0FnSUNBZ2RtRnlJSEpsWTI5eVpDQTlJRzFoY0Z0cFpGMWNiaUFnSUNBZ0lHbG1JQ2doY21WamIzSmtMa04wYjNJcElIdGNiaUFnSUNBZ0lDQWdjbVZqYjNKa0xrTjBiM0lnUFNCMGFHbHpMbU52Ym5OMGNuVmpkRzl5WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0J5WldOdmNtUXVhVzV6ZEdGdVkyVnpMbkIxYzJnb2RHaHBjeWxjYmlBZ0lDQjlLVnh1SUNBZ0lHbHVhbVZqZEVodmIyc29iM0IwYVc5dWN5d2dKMkpsWm05eVpVUmxjM1J5YjNrbkxDQm1kVzVqZEdsdmJpZ3BJSHRjYmlBZ0lDQWdJSFpoY2lCcGJuTjBZVzVqWlhNZ1BTQnRZWEJiYVdSZExtbHVjM1JoYm1ObGMxeHVJQ0FnSUNBZ2FXNXpkR0Z1WTJWekxuTndiR2xqWlNocGJuTjBZVzVqWlhNdWFXNWtaWGhQWmloMGFHbHpLU3dnTVNsY2JpQWdJQ0I5S1Z4dUlDQjlYRzU5WEc1Y2JpOHFLbHh1SUNvZ1NXNXFaV04wSUdFZ2FHOXZheUIwYnlCaElHaHZkQ0J5Wld4dllXUmhZbXhsSUdOdmJYQnZibVZ1ZENCemJ5QjBhR0YwWEc0Z0tpQjNaU0JqWVc0Z2EyVmxjQ0IwY21GamF5QnZaaUJwZEM1Y2JpQXFYRzRnS2lCQWNHRnlZVzBnZTA5aWFtVmpkSDBnYjNCMGFXOXVjMXh1SUNvZ1FIQmhjbUZ0SUh0VGRISnBibWQ5SUc1aGJXVmNiaUFxSUVCd1lYSmhiU0I3Um5WdVkzUnBiMjU5SUdodmIydGNiaUFxTDF4dVhHNW1kVzVqZEdsdmJpQnBibXBsWTNSSWIyOXJLRzl3ZEdsdmJuTXNJRzVoYldVc0lHaHZiMnNwSUh0Y2JpQWdkbUZ5SUdWNGFYTjBhVzVuSUQwZ2IzQjBhVzl1YzF0dVlXMWxYVnh1SUNCdmNIUnBiMjV6VzI1aGJXVmRJRDBnWlhocGMzUnBibWRjYmlBZ0lDQS9JRUZ5Y21GNUxtbHpRWEp5WVhrb1pYaHBjM1JwYm1jcElEOGdaWGhwYzNScGJtY3VZMjl1WTJGMEtHaHZiMnNwSURvZ1cyVjRhWE4wYVc1bkxDQm9iMjlyWFZ4dUlDQWdJRG9nVzJodmIydGRYRzU5WEc1Y2JtWjFibU4wYVc5dUlIUnllVmR5WVhBb1ptNHBJSHRjYmlBZ2NtVjBkWEp1SUdaMWJtTjBhVzl1SUNocFpDd2dZWEpuS1NCN1hHNGdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lHWnVLR2xrTENCaGNtY3BYRzRnSUNBZ2ZTQmpZWFJqYUNBb1pTa2dlMXh1SUNBZ0lDQWdZMjl1YzI5c1pTNWxjbkp2Y2lobEtWeHVJQ0FnSUNBZ1kyOXVjMjlzWlM1M1lYSnVLRnh1SUNBZ0lDQWdJQ0FuVTI5dFpYUm9hVzVuSUhkbGJuUWdkM0p2Ym1jZ1pIVnlhVzVuSUZaMVpTQmpiMjF3YjI1bGJuUWdhRzkwTFhKbGJHOWhaQzRnUm5Wc2JDQnlaV3h2WVdRZ2NtVnhkV2x5WldRdUoxeHVJQ0FnSUNBZ0tWeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQjFjR1JoZEdWUGNIUnBiMjV6SUNodmJHUlBjSFJwYjI1ekxDQnVaWGRQY0hScGIyNXpLU0I3WEc0Z0lHWnZjaUFvZG1GeUlHdGxlU0JwYmlCdmJHUlBjSFJwYjI1ektTQjdYRzRnSUNBZ2FXWWdLQ0VvYTJWNUlHbHVJRzVsZDA5d2RHbHZibk1wS1NCN1hHNGdJQ0FnSUNCa1pXeGxkR1VnYjJ4a1QzQjBhVzl1YzF0clpYbGRYRzRnSUNBZ2ZWeHVJQ0I5WEc0Z0lHWnZjaUFvZG1GeUlHdGxlU1F4SUdsdUlHNWxkMDl3ZEdsdmJuTXBJSHRjYmlBZ0lDQnZiR1JQY0hScGIyNXpXMnRsZVNReFhTQTlJRzVsZDA5d2RHbHZibk5iYTJWNUpERmRYRzRnSUgxY2JuMWNibHh1Wlhod2IzSjBjeTV5WlhKbGJtUmxjaUE5SUhSeWVWZHlZWEFvWm5WdVkzUnBiMjRnS0dsa0xDQnZjSFJwYjI1ektTQjdYRzRnSUhaaGNpQnlaV052Y21RZ1BTQnRZWEJiYVdSZFhHNGdJR2xtSUNnaGIzQjBhVzl1Y3lrZ2UxeHVJQ0FnSUhKbFkyOXlaQzVwYm5OMFlXNWpaWE11YzJ4cFkyVW9LUzVtYjNKRllXTm9LR1oxYm1OMGFXOXVJQ2hwYm5OMFlXNWpaU2tnZTF4dUlDQWdJQ0FnYVc1emRHRnVZMlV1SkdadmNtTmxWWEJrWVhSbEtDbGNiaUFnSUNCOUtWeHVJQ0FnSUhKbGRIVnlibHh1SUNCOVhHNGdJR2xtSUNoMGVYQmxiMllnYjNCMGFXOXVjeUE5UFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lHOXdkR2x2Ym5NZ1BTQnZjSFJwYjI1ekxtOXdkR2x2Ym5OY2JpQWdmVnh1SUNCcFppQW9jbVZqYjNKa0xrTjBiM0lwSUh0Y2JpQWdJQ0J5WldOdmNtUXVRM1J2Y2k1dmNIUnBiMjV6TG5KbGJtUmxjaUE5SUc5d2RHbHZibk11Y21WdVpHVnlYRzRnSUNBZ2NtVmpiM0prTGtOMGIzSXViM0IwYVc5dWN5NXpkR0YwYVdOU1pXNWtaWEpHYm5NZ1BTQnZjSFJwYjI1ekxuTjBZWFJwWTFKbGJtUmxja1p1YzF4dUlDQWdJSEpsWTI5eVpDNXBibk4wWVc1alpYTXVjMnhwWTJVb0tTNW1iM0pGWVdOb0tHWjFibU4wYVc5dUlDaHBibk4wWVc1alpTa2dlMXh1SUNBZ0lDQWdhVzV6ZEdGdVkyVXVKRzl3ZEdsdmJuTXVjbVZ1WkdWeUlEMGdiM0IwYVc5dWN5NXlaVzVrWlhKY2JpQWdJQ0FnSUdsdWMzUmhibU5sTGlSdmNIUnBiMjV6TG5OMFlYUnBZMUpsYm1SbGNrWnVjeUE5SUc5d2RHbHZibk11YzNSaGRHbGpVbVZ1WkdWeVJtNXpYRzRnSUNBZ0lDQXZMeUJ5WlhObGRDQnpkR0YwYVdNZ2RISmxaWE5jYmlBZ0lDQWdJQzh2SUhCeVpTQXlMalVzSUdGc2JDQnpkR0YwYVdNZ2RISmxaWE1nWVhKbElHTmhZMmhsWkNCMGIyZGxkR2hsY2lCdmJpQjBhR1VnYVc1emRHRnVZMlZjYmlBZ0lDQWdJR2xtSUNocGJuTjBZVzVqWlM1ZmMzUmhkR2xqVkhKbFpYTXBJSHRjYmlBZ0lDQWdJQ0FnYVc1emRHRnVZMlV1WDNOMFlYUnBZMVJ5WldWeklEMGdXMTFjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJQzh2SURJdU5TNHdYRzRnSUNBZ0lDQnBaaUFvUVhKeVlYa3VhWE5CY25KaGVTaHlaV052Y21RdVEzUnZjaTV2Y0hScGIyNXpMbU5oWTJobFpDa3BJSHRjYmlBZ0lDQWdJQ0FnY21WamIzSmtMa04wYjNJdWIzQjBhVzl1Y3k1allXTm9aV1FnUFNCYlhWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0x5OGdNaTQxTGpOY2JpQWdJQ0FnSUdsbUlDaEJjbkpoZVM1cGMwRnljbUY1S0dsdWMzUmhibU5sTGlSdmNIUnBiMjV6TG1OaFkyaGxaQ2twSUh0Y2JpQWdJQ0FnSUNBZ2FXNXpkR0Z1WTJVdUpHOXdkR2x2Ym5NdVkyRmphR1ZrSUQwZ1cxMWNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdMeThnY0c5emRDQXlMalV1TkRvZ2RpMXZibU5sSUhSeVpXVnpJR0Z5WlNCallXTm9aV1FnYjI0Z2FXNXpkR0Z1WTJVdVgzTjBZWFJwWTFSeVpXVnpMbHh1SUNBZ0lDQWdMeThnVUhWeVpTQnpkR0YwYVdNZ2RISmxaWE1nWVhKbElHTmhZMmhsWkNCdmJpQjBhR1VnYzNSaGRHbGpVbVZ1WkdWeVJtNXpJR0Z5Y21GNVhHNGdJQ0FnSUNBdkx5QW9ZbTkwYUNCaGJISmxZV1I1SUhKbGMyVjBJR0ZpYjNabEtWeHVYRzRnSUNBZ0lDQXZMeUF5TGpZNklIUmxiWEJ2Y21GeWFXeDVJRzFoY21zZ2NtVnVaR1Z5WldRZ2MyTnZjR1ZrSUhOc2IzUnpJR0Z6SUhWdWMzUmhZbXhsSUhOdklIUm9ZWFJjYmlBZ0lDQWdJQzh2SUdOb2FXeGtJR052YlhCdmJtVnVkSE1nWTJGdUlHSmxJR1p2Y21ObFpDQjBieUIxY0dSaGRHVmNiaUFnSUNBZ0lIWmhjaUJ5WlhOMGIzSmxJRDBnY0dGMFkyaFRZMjl3WldSVGJHOTBjeWhwYm5OMFlXNWpaU2xjYmlBZ0lDQWdJR2x1YzNSaGJtTmxMaVJtYjNKalpWVndaR0YwWlNncFhHNGdJQ0FnSUNCcGJuTjBZVzVqWlM0a2JtVjRkRlJwWTJzb2NtVnpkRzl5WlNsY2JpQWdJQ0I5S1Z4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUM4dklHWjFibU4wYVc5dVlXd2diM0lnYm04Z2FXNXpkR0Z1WTJVZ1kzSmxZWFJsWkNCNVpYUmNiaUFnSUNCeVpXTnZjbVF1YjNCMGFXOXVjeTV5Wlc1a1pYSWdQU0J2Y0hScGIyNXpMbkpsYm1SbGNseHVJQ0FnSUhKbFkyOXlaQzV2Y0hScGIyNXpMbk4wWVhScFkxSmxibVJsY2tadWN5QTlJRzl3ZEdsdmJuTXVjM1JoZEdsalVtVnVaR1Z5Um01elhHNWNiaUFnSUNBdkx5Qm9ZVzVrYkdVZ1puVnVZM1JwYjI1aGJDQmpiMjF3YjI1bGJuUWdjbVV0Y21WdVpHVnlYRzRnSUNBZ2FXWWdLSEpsWTI5eVpDNXZjSFJwYjI1ekxtWjFibU4wYVc5dVlXd3BJSHRjYmlBZ0lDQWdJQzh2SUhKbGNtVnVaR1Z5SUhkcGRHZ2dablZzYkNCdmNIUnBiMjV6WEc0Z0lDQWdJQ0JwWmlBb1QySnFaV04wTG10bGVYTW9iM0IwYVc5dWN5a3ViR1Z1WjNSb0lENGdNaWtnZTF4dUlDQWdJQ0FnSUNCMWNHUmhkR1ZQY0hScGIyNXpLSEpsWTI5eVpDNXZjSFJwYjI1ekxDQnZjSFJwYjI1ektWeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdkR1Z0Y0d4aGRHVXRiMjVzZVNCeVpYSmxibVJsY2k1Y2JpQWdJQ0FnSUNBZ0x5OGdibVZsWkNCMGJ5QnBibXBsWTNRZ2RHaGxJSE4wZVd4bElHbHVhbVZqZEdsdmJpQmpiMlJsSUdadmNpQkRVMU1nYlc5a2RXeGxjMXh1SUNBZ0lDQWdJQ0F2THlCMGJ5QjNiM0pySUhCeWIzQmxjbXg1TGx4dUlDQWdJQ0FnSUNCMllYSWdhVzVxWldOMFUzUjViR1Z6SUQwZ2NtVmpiM0prTG05d2RHbHZibk11WDJsdWFtVmpkRk4wZVd4bGMxeHVJQ0FnSUNBZ0lDQnBaaUFvYVc1cVpXTjBVM1I1YkdWektTQjdYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlISmxibVJsY2lBOUlHOXdkR2x2Ym5NdWNtVnVaR1Z5WEc0Z0lDQWdJQ0FnSUNBZ2NtVmpiM0prTG05d2RHbHZibk11Y21WdVpHVnlJRDBnWm5WdVkzUnBiMjRnS0dnc0lHTjBlQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdhVzVxWldOMFUzUjViR1Z6TG1OaGJHd29ZM1I0S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlISmxibVJsY2lob0xDQmpkSGdwWEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnlaV052Y21RdWIzQjBhVzl1Y3k1ZlEzUnZjaUE5SUc1MWJHeGNiaUFnSUNBZ0lDOHZJREl1TlM0elhHNGdJQ0FnSUNCcFppQW9RWEp5WVhrdWFYTkJjbkpoZVNoeVpXTnZjbVF1YjNCMGFXOXVjeTVqWVdOb1pXUXBLU0I3WEc0Z0lDQWdJQ0FnSUhKbFkyOXlaQzV2Y0hScGIyNXpMbU5oWTJobFpDQTlJRnRkWEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0J5WldOdmNtUXVhVzV6ZEdGdVkyVnpMbk5zYVdObEtDa3VabTl5UldGamFDaG1kVzVqZEdsdmJpQW9hVzV6ZEdGdVkyVXBJSHRjYmlBZ0lDQWdJQ0FnYVc1emRHRnVZMlV1SkdadmNtTmxWWEJrWVhSbEtDbGNiaUFnSUNBZ0lIMHBYRzRnSUNBZ2ZWeHVJQ0I5WEc1OUtWeHVYRzVsZUhCdmNuUnpMbkpsYkc5aFpDQTlJSFJ5ZVZkeVlYQW9ablZ1WTNScGIyNGdLR2xrTENCdmNIUnBiMjV6S1NCN1hHNGdJSFpoY2lCeVpXTnZjbVFnUFNCdFlYQmJhV1JkWEc0Z0lHbG1JQ2h2Y0hScGIyNXpLU0I3WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJ2Y0hScGIyNXpJRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ0lDQnZjSFJwYjI1eklEMGdiM0IwYVc5dWN5NXZjSFJwYjI1elhHNGdJQ0FnZlZ4dUlDQWdJRzFoYTJWUGNIUnBiMjV6U0c5MEtHbGtMQ0J2Y0hScGIyNXpLVnh1SUNBZ0lHbG1JQ2h5WldOdmNtUXVRM1J2Y2lrZ2UxeHVJQ0FnSUNBZ2FXWWdLSFpsY25OcGIyNWJNVjBnUENBeUtTQjdYRzRnSUNBZ0lDQWdJQzh2SUhCeVpYTmxjblpsSUhCeVpTQXlMaklnWW1Wb1lYWnBiM0lnWm05eUlHZHNiMkpoYkNCdGFYaHBiaUJvWVc1a2JHbHVaMXh1SUNBZ0lDQWdJQ0J5WldOdmNtUXVRM1J2Y2k1bGVIUmxibVJQY0hScGIyNXpJRDBnYjNCMGFXOXVjMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdkbUZ5SUc1bGQwTjBiM0lnUFNCeVpXTnZjbVF1UTNSdmNpNXpkWEJsY2k1bGVIUmxibVFvYjNCMGFXOXVjeWxjYmlBZ0lDQWdJQzh2SUhCeVpYWmxiblFnY21WamIzSmtMbTl3ZEdsdmJuTXVYME4wYjNJZ1puSnZiU0JpWldsdVp5QnZkbVZ5ZDNKcGRIUmxiaUJoWTJOcFpHVnVkR0ZzYkhsY2JpQWdJQ0FnSUc1bGQwTjBiM0l1YjNCMGFXOXVjeTVmUTNSdmNpQTlJSEpsWTI5eVpDNXZjSFJwYjI1ekxsOURkRzl5WEc0Z0lDQWdJQ0J5WldOdmNtUXVRM1J2Y2k1dmNIUnBiMjV6SUQwZ2JtVjNRM1J2Y2k1dmNIUnBiMjV6WEc0Z0lDQWdJQ0J5WldOdmNtUXVRM1J2Y2k1amFXUWdQU0J1WlhkRGRHOXlMbU5wWkZ4dUlDQWdJQ0FnY21WamIzSmtMa04wYjNJdWNISnZkRzkwZVhCbElEMGdibVYzUTNSdmNpNXdjbTkwYjNSNWNHVmNiaUFnSUNBZ0lHbG1JQ2h1WlhkRGRHOXlMbkpsYkdWaGMyVXBJSHRjYmlBZ0lDQWdJQ0FnTHk4Z2RHVnRjRzl5WVhKNUlHZHNiMkpoYkNCdGFYaHBiaUJ6ZEhKaGRHVm5lU0IxYzJWa0lHbHVJRHdnTWk0d0xqQXRZV3h3YUdFdU5seHVJQ0FnSUNBZ0lDQnVaWGREZEc5eUxuSmxiR1ZoYzJVb0tWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0IxY0dSaGRHVlBjSFJwYjI1ektISmxZMjl5WkM1dmNIUnBiMjV6TENCdmNIUnBiMjV6S1Z4dUlDQWdJSDFjYmlBZ2ZWeHVJQ0J5WldOdmNtUXVhVzV6ZEdGdVkyVnpMbk5zYVdObEtDa3VabTl5UldGamFDaG1kVzVqZEdsdmJpQW9hVzV6ZEdGdVkyVXBJSHRjYmlBZ0lDQnBaaUFvYVc1emRHRnVZMlV1SkhadWIyUmxJQ1ltSUdsdWMzUmhibU5sTGlSMmJtOWtaUzVqYjI1MFpYaDBLU0I3WEc0Z0lDQWdJQ0JwYm5OMFlXNWpaUzRrZG01dlpHVXVZMjl1ZEdWNGRDNGtabTl5WTJWVmNHUmhkR1VvS1Z4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQmpiMjV6YjJ4bExuZGhjbTRvWEc0Z0lDQWdJQ0FnSUNkU2IyOTBJRzl5SUcxaGJuVmhiR3g1SUcxdmRXNTBaV1FnYVc1emRHRnVZMlVnYlc5a2FXWnBaV1F1SUVaMWJHd2djbVZzYjJGa0lISmxjWFZwY21Wa0xpZGNiaUFnSUNBZ0lDbGNiaUFnSUNCOVhHNGdJSDBwWEc1OUtWeHVYRzR2THlBeUxqWWdiM0IwYVcxcGVtVnpJSFJsYlhCc1lYUmxMV052YlhCcGJHVmtJSE5qYjNCbFpDQnpiRzkwY3lCaGJtUWdjMnRwY0hNZ2RYQmtZWFJsY3lCcFppQmphR2xzWkZ4dUx5OGdiMjVzZVNCMWMyVnpJSE5qYjNCbFpDQnpiRzkwY3k0Z1YyVWdibVZsWkNCMGJ5QndZWFJqYUNCMGFHVWdjMk52Y0dWa0lITnNiM1J6SUhKbGMyOXNkbWx1WnlCb1pXeHdaWEpjYmk4dklIUnZJSFJsYlhCdmNtRnlhV3g1SUcxaGNtc2dZV3hzSUhOamIzQmxaQ0J6Ykc5MGN5QmhjeUIxYm5OMFlXSnNaU0JwYmlCdmNtUmxjaUIwYnlCbWIzSmpaU0JqYUdsc1pGeHVMeThnZFhCa1lYUmxjeTVjYm1aMWJtTjBhVzl1SUhCaGRHTm9VMk52Y0dWa1UyeHZkSE1nS0dsdWMzUmhibU5sS1NCN1hHNGdJR2xtSUNnaGFXNXpkR0Z1WTJVdVgzVXBJSHNnY21WMGRYSnVJSDFjYmlBZ0x5OGdhSFIwY0hNNkx5OW5hWFJvZFdJdVkyOXRMM1oxWldwekwzWjFaUzlpYkc5aUwyUmxkaTl6Y21NdlkyOXlaUzlwYm5OMFlXNWpaUzl5Wlc1a1pYSXRhR1ZzY0dWeWN5OXlaWE52YkhabExYTmpiM0JsWkMxemJHOTBjeTVxYzF4dUlDQjJZWElnYjNKcFoybHVZV3dnUFNCcGJuTjBZVzVqWlM1ZmRWeHVJQ0JwYm5OMFlXNWpaUzVmZFNBOUlHWjFibU4wYVc5dUlDaHpiRzkwY3lrZ2UxeHVJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQXZMeUF5TGpZdU5DQitJREl1Tmk0MlhHNGdJQ0FnSUNCeVpYUjFjbTRnYjNKcFoybHVZV3dvYzJ4dmRITXNJSFJ5ZFdVcFhHNGdJQ0FnZlNCallYUmphQ0FvWlNrZ2UxeHVJQ0FnSUNBZ0x5OGdNaTQxSUM4Z1BqMGdNaTQyTGpkY2JpQWdJQ0FnSUhKbGRIVnliaUJ2Y21sbmFXNWhiQ2h6Ykc5MGN5d2diblZzYkN3Z2RISjFaU2xjYmlBZ0lDQjlYRzRnSUgxY2JpQWdjbVYwZFhKdUlHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ0lDQnBibk4wWVc1alpTNWZkU0E5SUc5eWFXZHBibUZzWEc0Z0lIMWNibjFjYmlKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk95SXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGkvZGlzdC9pbmRleC5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohZXhwb3J0cyBwcm92aWRlZDogZGVmYXVsdCovKGZ1bmN0aW9uKG1vZHVsZSxfX3dlYnBhY2tfZXhwb3J0c19fLF9fd2VicGFja19yZXF1aXJlX18peyJ1c2Ugc3RyaWN0IjtldmFsKCJfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFwiZGVmYXVsdFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIG5vcm1hbGl6ZUNvbXBvbmVudDsgfSk7XG4vKiBnbG9iYWxzIF9fVlVFX1NTUl9DT05URVhUX18gKi9cblxuLy8gSU1QT1JUQU5UOiBEbyBOT1QgdXNlIEVTMjAxNSBmZWF0dXJlcyBpbiB0aGlzIGZpbGUgKGV4Y2VwdCBmb3IgbW9kdWxlcykuXG4vLyBUaGlzIG1vZHVsZSBpcyBhIHJ1bnRpbWUgdXRpbGl0eSBmb3IgY2xlYW5lciBjb21wb25lbnQgbW9kdWxlIG91dHB1dCBhbmQgd2lsbFxuLy8gYmUgaW5jbHVkZWQgaW4gdGhlIGZpbmFsIHdlYnBhY2sgdXNlciBidW5kbGUuXG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZUNvbXBvbmVudCAoXG4gIHNjcmlwdEV4cG9ydHMsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmdW5jdGlvbmFsVGVtcGxhdGUsXG4gIGluamVjdFN0eWxlcyxcbiAgc2NvcGVJZCxcbiAgbW9kdWxlSWRlbnRpZmllciwgLyogc2VydmVyIG9ubHkgKi9cbiAgc2hhZG93TW9kZSAvKiB2dWUtY2xpIG9ubHkgKi9cbikge1xuICAvLyBWdWUuZXh0ZW5kIGNvbnN0cnVjdG9yIGV4cG9ydCBpbnRlcm9wXG4gIHZhciBvcHRpb25zID0gdHlwZW9mIHNjcmlwdEV4cG9ydHMgPT09ICdmdW5jdGlvbidcbiAgICA/IHNjcmlwdEV4cG9ydHMub3B0aW9uc1xuICAgIDogc2NyaXB0RXhwb3J0c1xuXG4gIC8vIHJlbmRlciBmdW5jdGlvbnNcbiAgaWYgKHJlbmRlcikge1xuICAgIG9wdGlvbnMucmVuZGVyID0gcmVuZGVyXG4gICAgb3B0aW9ucy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnNcbiAgICBvcHRpb25zLl9jb21waWxlZCA9IHRydWVcbiAgfVxuXG4gIC8vIGZ1bmN0aW9uYWwgdGVtcGxhdGVcbiAgaWYgKGZ1bmN0aW9uYWxUZW1wbGF0ZSkge1xuICAgIG9wdGlvbnMuZnVuY3Rpb25hbCA9IHRydWVcbiAgfVxuXG4gIC8vIHNjb3BlZElkXG4gIGlmIChzY29wZUlkKSB7XG4gICAgb3B0aW9ucy5fc2NvcGVJZCA9ICdkYXRhLXYtJyArIHNjb3BlSWRcbiAgfVxuXG4gIHZhciBob29rXG4gIGlmIChtb2R1bGVJZGVudGlmaWVyKSB7IC8vIHNlcnZlciBidWlsZFxuICAgIGhvb2sgPSBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgICAgLy8gMi4zIGluamVjdGlvblxuICAgICAgY29udGV4dCA9XG4gICAgICAgIGNvbnRleHQgfHwgLy8gY2FjaGVkIGNhbGxcbiAgICAgICAgKHRoaXMuJHZub2RlICYmIHRoaXMuJHZub2RlLnNzckNvbnRleHQpIHx8IC8vIHN0YXRlZnVsXG4gICAgICAgICh0aGlzLnBhcmVudCAmJiB0aGlzLnBhcmVudC4kdm5vZGUgJiYgdGhpcy5wYXJlbnQuJHZub2RlLnNzckNvbnRleHQpIC8vIGZ1bmN0aW9uYWxcbiAgICAgIC8vIDIuMiB3aXRoIHJ1bkluTmV3Q29udGV4dDogdHJ1ZVxuICAgICAgaWYgKCFjb250ZXh0ICYmIHR5cGVvZiBfX1ZVRV9TU1JfQ09OVEVYVF9fICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICBjb250ZXh0ID0gX19WVUVfU1NSX0NPTlRFWFRfX1xuICAgICAgfVxuICAgICAgLy8gaW5qZWN0IGNvbXBvbmVudCBzdHlsZXNcbiAgICAgIGlmIChpbmplY3RTdHlsZXMpIHtcbiAgICAgICAgaW5qZWN0U3R5bGVzLmNhbGwodGhpcywgY29udGV4dClcbiAgICAgIH1cbiAgICAgIC8vIHJlZ2lzdGVyIGNvbXBvbmVudCBtb2R1bGUgaWRlbnRpZmllciBmb3IgYXN5bmMgY2h1bmsgaW5mZXJyZW5jZVxuICAgICAgaWYgKGNvbnRleHQgJiYgY29udGV4dC5fcmVnaXN0ZXJlZENvbXBvbmVudHMpIHtcbiAgICAgICAgY29udGV4dC5fcmVnaXN0ZXJlZENvbXBvbmVudHMuYWRkKG1vZHVsZUlkZW50aWZpZXIpXG4gICAgICB9XG4gICAgfVxuICAgIC8vIHVzZWQgYnkgc3NyIGluIGNhc2UgY29tcG9uZW50IGlzIGNhY2hlZCBhbmQgYmVmb3JlQ3JlYXRlXG4gICAgLy8gbmV2ZXIgZ2V0cyBjYWxsZWRcbiAgICBvcHRpb25zLl9zc3JSZWdpc3RlciA9IGhvb2tcbiAgfSBlbHNlIGlmIChpbmplY3RTdHlsZXMpIHtcbiAgICBob29rID0gc2hhZG93TW9kZVxuICAgICAgPyBmdW5jdGlvbiAoKSB7IGluamVjdFN0eWxlcy5jYWxsKHRoaXMsIHRoaXMuJHJvb3QuJG9wdGlvbnMuc2hhZG93Um9vdCkgfVxuICAgICAgOiBpbmplY3RTdHlsZXNcbiAgfVxuXG4gIGlmIChob29rKSB7XG4gICAgaWYgKG9wdGlvbnMuZnVuY3Rpb25hbCkge1xuICAgICAgLy8gZm9yIHRlbXBsYXRlLW9ubHkgaG90LXJlbG9hZCBiZWNhdXNlIGluIHRoYXQgY2FzZSB0aGUgcmVuZGVyIGZuIGRvZXNuJ3RcbiAgICAgIC8vIGdvIHRocm91Z2ggdGhlIG5vcm1hbGl6ZXJcbiAgICAgIG9wdGlvbnMuX2luamVjdFN0eWxlcyA9IGhvb2tcbiAgICAgIC8vIHJlZ2lzdGVyIGZvciBmdW5jdGlvbmFsIGNvbXBvbmVudCBpbiB2dWUgZmlsZVxuICAgICAgdmFyIG9yaWdpbmFsUmVuZGVyID0gb3B0aW9ucy5yZW5kZXJcbiAgICAgIG9wdGlvbnMucmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyV2l0aFN0eWxlSW5qZWN0aW9uIChoLCBjb250ZXh0KSB7XG4gICAgICAgIGhvb2suY2FsbChjb250ZXh0KVxuICAgICAgICByZXR1cm4gb3JpZ2luYWxSZW5kZXIoaCwgY29udGV4dClcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gaW5qZWN0IGNvbXBvbmVudCByZWdpc3RyYXRpb24gYXMgYmVmb3JlQ3JlYXRlIGhvb2tcbiAgICAgIHZhciBleGlzdGluZyA9IG9wdGlvbnMuYmVmb3JlQ3JlYXRlXG4gICAgICBvcHRpb25zLmJlZm9yZUNyZWF0ZSA9IGV4aXN0aW5nXG4gICAgICAgID8gW10uY29uY2F0KGV4aXN0aW5nLCBob29rKVxuICAgICAgICA6IFtob29rXVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgZXhwb3J0czogc2NyaXB0RXhwb3J0cyxcbiAgICBvcHRpb25zOiBvcHRpb25zXG4gIH1cbn1cbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZkblZsTFd4dllXUmxjaTlzYVdJdmNuVnVkR2x0WlM5amIyMXdiMjVsYm5ST2IzSnRZV3hwZW1WeUxtcHpMbXB6SWl3aWMyOTFjbU5sY3lJNld5SjNaV0p3WVdOck9pOHZMeTR2Ym05a1pWOXRiMlIxYkdWekwzWjFaUzFzYjJGa1pYSXZiR2xpTDNKMWJuUnBiV1V2WTI5dGNHOXVaVzUwVG05eWJXRnNhWHBsY2k1cWN6OHlPRGMzSWwwc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHFJR2RzYjJKaGJITWdYMTlXVlVWZlUxTlNYME5QVGxSRldGUmZYeUFxTDF4dVhHNHZMeUJKVFZCUFVsUkJUbFE2SUVSdklFNVBWQ0IxYzJVZ1JWTXlNREUxSUdabFlYUjFjbVZ6SUdsdUlIUm9hWE1nWm1sc1pTQW9aWGhqWlhCMElHWnZjaUJ0YjJSMWJHVnpLUzVjYmk4dklGUm9hWE1nYlc5a2RXeGxJR2x6SUdFZ2NuVnVkR2x0WlNCMWRHbHNhWFI1SUdadmNpQmpiR1ZoYm1WeUlHTnZiWEJ2Ym1WdWRDQnRiMlIxYkdVZ2IzVjBjSFYwSUdGdVpDQjNhV3hzWEc0dkx5QmlaU0JwYm1Oc2RXUmxaQ0JwYmlCMGFHVWdabWx1WVd3Z2QyVmljR0ZqYXlCMWMyVnlJR0oxYm1Sc1pTNWNibHh1Wlhod2IzSjBJR1JsWm1GMWJIUWdablZ1WTNScGIyNGdibTl5YldGc2FYcGxRMjl0Y0c5dVpXNTBJQ2hjYmlBZ2MyTnlhWEIwUlhod2IzSjBjeXhjYmlBZ2NtVnVaR1Z5TEZ4dUlDQnpkR0YwYVdOU1pXNWtaWEpHYm5Nc1hHNGdJR1oxYm1OMGFXOXVZV3hVWlcxd2JHRjBaU3hjYmlBZ2FXNXFaV04wVTNSNWJHVnpMRnh1SUNCelkyOXdaVWxrTEZ4dUlDQnRiMlIxYkdWSlpHVnVkR2xtYVdWeUxDQXZLaUJ6WlhKMlpYSWdiMjVzZVNBcUwxeHVJQ0J6YUdGa2IzZE5iMlJsSUM4cUlIWjFaUzFqYkdrZ2IyNXNlU0FxTDF4dUtTQjdYRzRnSUM4dklGWjFaUzVsZUhSbGJtUWdZMjl1YzNSeWRXTjBiM0lnWlhod2IzSjBJR2x1ZEdWeWIzQmNiaUFnZG1GeUlHOXdkR2x2Ym5NZ1BTQjBlWEJsYjJZZ2MyTnlhWEIwUlhod2IzSjBjeUE5UFQwZ0oyWjFibU4wYVc5dUoxeHVJQ0FnSUQ4Z2MyTnlhWEIwUlhod2IzSjBjeTV2Y0hScGIyNXpYRzRnSUNBZ09pQnpZM0pwY0hSRmVIQnZjblJ6WEc1Y2JpQWdMeThnY21WdVpHVnlJR1oxYm1OMGFXOXVjMXh1SUNCcFppQW9jbVZ1WkdWeUtTQjdYRzRnSUNBZ2IzQjBhVzl1Y3k1eVpXNWtaWElnUFNCeVpXNWtaWEpjYmlBZ0lDQnZjSFJwYjI1ekxuTjBZWFJwWTFKbGJtUmxja1p1Y3lBOUlITjBZWFJwWTFKbGJtUmxja1p1YzF4dUlDQWdJRzl3ZEdsdmJuTXVYMk52YlhCcGJHVmtJRDBnZEhKMVpWeHVJQ0I5WEc1Y2JpQWdMeThnWm5WdVkzUnBiMjVoYkNCMFpXMXdiR0YwWlZ4dUlDQnBaaUFvWm5WdVkzUnBiMjVoYkZSbGJYQnNZWFJsS1NCN1hHNGdJQ0FnYjNCMGFXOXVjeTVtZFc1amRHbHZibUZzSUQwZ2RISjFaVnh1SUNCOVhHNWNiaUFnTHk4Z2MyTnZjR1ZrU1dSY2JpQWdhV1lnS0hOamIzQmxTV1FwSUh0Y2JpQWdJQ0J2Y0hScGIyNXpMbDl6WTI5d1pVbGtJRDBnSjJSaGRHRXRkaTBuSUNzZ2MyTnZjR1ZKWkZ4dUlDQjlYRzVjYmlBZ2RtRnlJR2h2YjJ0Y2JpQWdhV1lnS0cxdlpIVnNaVWxrWlc1MGFXWnBaWElwSUhzZ0x5OGdjMlZ5ZG1WeUlHSjFhV3hrWEc0Z0lDQWdhRzl2YXlBOUlHWjFibU4wYVc5dUlDaGpiMjUwWlhoMEtTQjdYRzRnSUNBZ0lDQXZMeUF5TGpNZ2FXNXFaV04wYVc5dVhHNGdJQ0FnSUNCamIyNTBaWGgwSUQxY2JpQWdJQ0FnSUNBZ1kyOXVkR1Y0ZENCOGZDQXZMeUJqWVdOb1pXUWdZMkZzYkZ4dUlDQWdJQ0FnSUNBb2RHaHBjeTRrZG01dlpHVWdKaVlnZEdocGN5NGtkbTV2WkdVdWMzTnlRMjl1ZEdWNGRDa2dmSHdnTHk4Z2MzUmhkR1ZtZFd4Y2JpQWdJQ0FnSUNBZ0tIUm9hWE11Y0dGeVpXNTBJQ1ltSUhSb2FYTXVjR0Z5Wlc1MExpUjJibTlrWlNBbUppQjBhR2x6TG5CaGNtVnVkQzRrZG01dlpHVXVjM055UTI5dWRHVjRkQ2tnTHk4Z1puVnVZM1JwYjI1aGJGeHVJQ0FnSUNBZ0x5OGdNaTR5SUhkcGRHZ2djblZ1U1c1T1pYZERiMjUwWlhoME9pQjBjblZsWEc0Z0lDQWdJQ0JwWmlBb0lXTnZiblJsZUhRZ0ppWWdkSGx3Wlc5bUlGOWZWbFZGWDFOVFVsOURUMDVVUlZoVVgxOGdJVDA5SUNkMWJtUmxabWx1WldRbktTQjdYRzRnSUNBZ0lDQWdJR052Ym5SbGVIUWdQU0JmWDFaVlJWOVRVMUpmUTA5T1ZFVllWRjlmWEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0F2THlCcGJtcGxZM1FnWTI5dGNHOXVaVzUwSUhOMGVXeGxjMXh1SUNBZ0lDQWdhV1lnS0dsdWFtVmpkRk4wZVd4bGN5a2dlMXh1SUNBZ0lDQWdJQ0JwYm1wbFkzUlRkSGxzWlhNdVkyRnNiQ2gwYUdsekxDQmpiMjUwWlhoMEtWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0x5OGdjbVZuYVhOMFpYSWdZMjl0Y0c5dVpXNTBJRzF2WkhWc1pTQnBaR1Z1ZEdsbWFXVnlJR1p2Y2lCaGMzbHVZeUJqYUhWdWF5QnBibVpsY25KbGJtTmxYRzRnSUNBZ0lDQnBaaUFvWTI5dWRHVjRkQ0FtSmlCamIyNTBaWGgwTGw5eVpXZHBjM1JsY21Wa1EyOXRjRzl1Wlc1MGN5a2dlMXh1SUNBZ0lDQWdJQ0JqYjI1MFpYaDBMbDl5WldkcGMzUmxjbVZrUTI5dGNHOXVaVzUwY3k1aFpHUW9iVzlrZFd4bFNXUmxiblJwWm1sbGNpbGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnTHk4Z2RYTmxaQ0JpZVNCemMzSWdhVzRnWTJGelpTQmpiMjF3YjI1bGJuUWdhWE1nWTJGamFHVmtJR0Z1WkNCaVpXWnZjbVZEY21WaGRHVmNiaUFnSUNBdkx5QnVaWFpsY2lCblpYUnpJR05oYkd4bFpGeHVJQ0FnSUc5d2RHbHZibk11WDNOemNsSmxaMmx6ZEdWeUlEMGdhRzl2YTF4dUlDQjlJR1ZzYzJVZ2FXWWdLR2x1YW1WamRGTjBlV3hsY3lrZ2UxeHVJQ0FnSUdodmIyc2dQU0J6YUdGa2IzZE5iMlJsWEc0Z0lDQWdJQ0EvSUdaMWJtTjBhVzl1SUNncElIc2dhVzVxWldOMFUzUjViR1Z6TG1OaGJHd29kR2hwY3l3Z2RHaHBjeTRrY205dmRDNGtiM0IwYVc5dWN5NXphR0ZrYjNkU2IyOTBLU0I5WEc0Z0lDQWdJQ0E2SUdsdWFtVmpkRk4wZVd4bGMxeHVJQ0I5WEc1Y2JpQWdhV1lnS0dodmIyc3BJSHRjYmlBZ0lDQnBaaUFvYjNCMGFXOXVjeTVtZFc1amRHbHZibUZzS1NCN1hHNGdJQ0FnSUNBdkx5Qm1iM0lnZEdWdGNHeGhkR1V0YjI1c2VTQm9iM1F0Y21Wc2IyRmtJR0psWTJGMWMyVWdhVzRnZEdoaGRDQmpZWE5sSUhSb1pTQnlaVzVrWlhJZ1ptNGdaRzlsYzI0bmRGeHVJQ0FnSUNBZ0x5OGdaMjhnZEdoeWIzVm5hQ0IwYUdVZ2JtOXliV0ZzYVhwbGNseHVJQ0FnSUNBZ2IzQjBhVzl1Y3k1ZmFXNXFaV04wVTNSNWJHVnpJRDBnYUc5dmExeHVJQ0FnSUNBZ0x5OGdjbVZuYVhOMFpYSWdabTl5SUdaMWJtTjBhVzl1WVd3Z1kyOXRjRzl1Wlc1MElHbHVJSFoxWlNCbWFXeGxYRzRnSUNBZ0lDQjJZWElnYjNKcFoybHVZV3hTWlc1a1pYSWdQU0J2Y0hScGIyNXpMbkpsYm1SbGNseHVJQ0FnSUNBZ2IzQjBhVzl1Y3k1eVpXNWtaWElnUFNCbWRXNWpkR2x2YmlCeVpXNWtaWEpYYVhSb1UzUjViR1ZKYm1wbFkzUnBiMjRnS0dnc0lHTnZiblJsZUhRcElIdGNiaUFnSUNBZ0lDQWdhRzl2YXk1allXeHNLR052Ym5SbGVIUXBYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnZjbWxuYVc1aGJGSmxibVJsY2lob0xDQmpiMjUwWlhoMEtWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0F2THlCcGJtcGxZM1FnWTI5dGNHOXVaVzUwSUhKbFoybHpkSEpoZEdsdmJpQmhjeUJpWldadmNtVkRjbVZoZEdVZ2FHOXZhMXh1SUNBZ0lDQWdkbUZ5SUdWNGFYTjBhVzVuSUQwZ2IzQjBhVzl1Y3k1aVpXWnZjbVZEY21WaGRHVmNiaUFnSUNBZ0lHOXdkR2x2Ym5NdVltVm1iM0psUTNKbFlYUmxJRDBnWlhocGMzUnBibWRjYmlBZ0lDQWdJQ0FnUHlCYlhTNWpiMjVqWVhRb1pYaHBjM1JwYm1jc0lHaHZiMnNwWEc0Z0lDQWdJQ0FnSURvZ1cyaHZiMnRkWEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSHRjYmlBZ0lDQmxlSEJ2Y25Sek9pQnpZM0pwY0hSRmVIQnZjblJ6TEZ4dUlDQWdJRzl3ZEdsdmJuTTZJRzl3ZEdsdmJuTmNiaUFnZlZ4dWZWeHVJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVGQk8wRkJRVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1xuIik7fSksIi4vbm9kZV9tb2R1bGVzL3Z1ZS9kaXN0L3Z1ZS5ydW50aW1lLmVzbS5qcyI6LyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlwKISoqKiAuL25vZGVfbW9kdWxlcy92dWUvZGlzdC92dWUucnVudGltZS5lc20uanMgKioqIQpcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyohZXhwb3J0cyBwcm92aWRlZDogZGVmYXVsdCovKGZ1bmN0aW9uKG1vZHVsZSxfX3dlYnBhY2tfZXhwb3J0c19fLF9fd2VicGFja19yZXF1aXJlX18peyJ1c2Ugc3RyaWN0IjtldmFsKCJfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi8oZnVuY3Rpb24oZ2xvYmFsKSB7LyohXG4gKiBWdWUuanMgdjIuNS4yMVxuICogKGMpIDIwMTQtMjAxOCBFdmFuIFlvdVxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLlxuICovXG4vKiAgKi9cblxudmFyIGVtcHR5T2JqZWN0ID0gT2JqZWN0LmZyZWV6ZSh7fSk7XG5cbi8vIFRoZXNlIGhlbHBlcnMgcHJvZHVjZSBiZXR0ZXIgVk0gY29kZSBpbiBKUyBlbmdpbmVzIGR1ZSB0byB0aGVpclxuLy8gZXhwbGljaXRuZXNzIGFuZCBmdW5jdGlvbiBpbmxpbmluZy5cbmZ1bmN0aW9uIGlzVW5kZWYgKHYpIHtcbiAgcmV0dXJuIHYgPT09IHVuZGVmaW5lZCB8fCB2ID09PSBudWxsXG59XG5cbmZ1bmN0aW9uIGlzRGVmICh2KSB7XG4gIHJldHVybiB2ICE9PSB1bmRlZmluZWQgJiYgdiAhPT0gbnVsbFxufVxuXG5mdW5jdGlvbiBpc1RydWUgKHYpIHtcbiAgcmV0dXJuIHYgPT09IHRydWVcbn1cblxuZnVuY3Rpb24gaXNGYWxzZSAodikge1xuICByZXR1cm4gdiA9PT0gZmFsc2Vcbn1cblxuLyoqXG4gKiBDaGVjayBpZiB2YWx1ZSBpcyBwcmltaXRpdmUuXG4gKi9cbmZ1bmN0aW9uIGlzUHJpbWl0aXZlICh2YWx1ZSkge1xuICByZXR1cm4gKFxuICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgfHxcbiAgICB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInIHx8XG4gICAgLy8gJGZsb3ctZGlzYWJsZS1saW5lXG4gICAgdHlwZW9mIHZhbHVlID09PSAnc3ltYm9sJyB8fFxuICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nXG4gIClcbn1cblxuLyoqXG4gKiBRdWljayBvYmplY3QgY2hlY2sgLSB0aGlzIGlzIHByaW1hcmlseSB1c2VkIHRvIHRlbGxcbiAqIE9iamVjdHMgZnJvbSBwcmltaXRpdmUgdmFsdWVzIHdoZW4gd2Uga25vdyB0aGUgdmFsdWVcbiAqIGlzIGEgSlNPTi1jb21wbGlhbnQgdHlwZS5cbiAqL1xuZnVuY3Rpb24gaXNPYmplY3QgKG9iaikge1xuICByZXR1cm4gb2JqICE9PSBudWxsICYmIHR5cGVvZiBvYmogPT09ICdvYmplY3QnXG59XG5cbi8qKlxuICogR2V0IHRoZSByYXcgdHlwZSBzdHJpbmcgb2YgYSB2YWx1ZSwgZS5nLiwgW29iamVjdCBPYmplY3RdLlxuICovXG52YXIgX3RvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztcblxuZnVuY3Rpb24gdG9SYXdUeXBlICh2YWx1ZSkge1xuICByZXR1cm4gX3RvU3RyaW5nLmNhbGwodmFsdWUpLnNsaWNlKDgsIC0xKVxufVxuXG4vKipcbiAqIFN0cmljdCBvYmplY3QgdHlwZSBjaGVjay4gT25seSByZXR1cm5zIHRydWVcbiAqIGZvciBwbGFpbiBKYXZhU2NyaXB0IG9iamVjdHMuXG4gKi9cbmZ1bmN0aW9uIGlzUGxhaW5PYmplY3QgKG9iaikge1xuICByZXR1cm4gX3RvU3RyaW5nLmNhbGwob2JqKSA9PT0gJ1tvYmplY3QgT2JqZWN0XSdcbn1cblxuZnVuY3Rpb24gaXNSZWdFeHAgKHYpIHtcbiAgcmV0dXJuIF90b1N0cmluZy5jYWxsKHYpID09PSAnW29iamVjdCBSZWdFeHBdJ1xufVxuXG4vKipcbiAqIENoZWNrIGlmIHZhbCBpcyBhIHZhbGlkIGFycmF5IGluZGV4LlxuICovXG5mdW5jdGlvbiBpc1ZhbGlkQXJyYXlJbmRleCAodmFsKSB7XG4gIHZhciBuID0gcGFyc2VGbG9hdChTdHJpbmcodmFsKSk7XG4gIHJldHVybiBuID49IDAgJiYgTWF0aC5mbG9vcihuKSA9PT0gbiAmJiBpc0Zpbml0ZSh2YWwpXG59XG5cbi8qKlxuICogQ29udmVydCBhIHZhbHVlIHRvIGEgc3RyaW5nIHRoYXQgaXMgYWN0dWFsbHkgcmVuZGVyZWQuXG4gKi9cbmZ1bmN0aW9uIHRvU3RyaW5nICh2YWwpIHtcbiAgcmV0dXJuIHZhbCA9PSBudWxsXG4gICAgPyAnJ1xuICAgIDogdHlwZW9mIHZhbCA9PT0gJ29iamVjdCdcbiAgICAgID8gSlNPTi5zdHJpbmdpZnkodmFsLCBudWxsLCAyKVxuICAgICAgOiBTdHJpbmcodmFsKVxufVxuXG4vKipcbiAqIENvbnZlcnQgYW4gaW5wdXQgdmFsdWUgdG8gYSBudW1iZXIgZm9yIHBlcnNpc3RlbmNlLlxuICogSWYgdGhlIGNvbnZlcnNpb24gZmFpbHMsIHJldHVybiBvcmlnaW5hbCBzdHJpbmcuXG4gKi9cbmZ1bmN0aW9uIHRvTnVtYmVyICh2YWwpIHtcbiAgdmFyIG4gPSBwYXJzZUZsb2F0KHZhbCk7XG4gIHJldHVybiBpc05hTihuKSA/IHZhbCA6IG5cbn1cblxuLyoqXG4gKiBNYWtlIGEgbWFwIGFuZCByZXR1cm4gYSBmdW5jdGlvbiBmb3IgY2hlY2tpbmcgaWYgYSBrZXlcbiAqIGlzIGluIHRoYXQgbWFwLlxuICovXG5mdW5jdGlvbiBtYWtlTWFwIChcbiAgc3RyLFxuICBleHBlY3RzTG93ZXJDYXNlXG4pIHtcbiAgdmFyIG1hcCA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gIHZhciBsaXN0ID0gc3RyLnNwbGl0KCcsJyk7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykge1xuICAgIG1hcFtsaXN0W2ldXSA9IHRydWU7XG4gIH1cbiAgcmV0dXJuIGV4cGVjdHNMb3dlckNhc2VcbiAgICA/IGZ1bmN0aW9uICh2YWwpIHsgcmV0dXJuIG1hcFt2YWwudG9Mb3dlckNhc2UoKV07IH1cbiAgICA6IGZ1bmN0aW9uICh2YWwpIHsgcmV0dXJuIG1hcFt2YWxdOyB9XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgYSB0YWcgaXMgYSBidWlsdC1pbiB0YWcuXG4gKi9cbnZhciBpc0J1aWx0SW5UYWcgPSBtYWtlTWFwKCdzbG90LGNvbXBvbmVudCcsIHRydWUpO1xuXG4vKipcbiAqIENoZWNrIGlmIGFuIGF0dHJpYnV0ZSBpcyBhIHJlc2VydmVkIGF0dHJpYnV0ZS5cbiAqL1xudmFyIGlzUmVzZXJ2ZWRBdHRyaWJ1dGUgPSBtYWtlTWFwKCdrZXkscmVmLHNsb3Qsc2xvdC1zY29wZSxpcycpO1xuXG4vKipcbiAqIFJlbW92ZSBhbiBpdGVtIGZyb20gYW4gYXJyYXkuXG4gKi9cbmZ1bmN0aW9uIHJlbW92ZSAoYXJyLCBpdGVtKSB7XG4gIGlmIChhcnIubGVuZ3RoKSB7XG4gICAgdmFyIGluZGV4ID0gYXJyLmluZGV4T2YoaXRlbSk7XG4gICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgIHJldHVybiBhcnIuc3BsaWNlKGluZGV4LCAxKVxuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIENoZWNrIHdoZXRoZXIgYW4gb2JqZWN0IGhhcyB0aGUgcHJvcGVydHkuXG4gKi9cbnZhciBoYXNPd25Qcm9wZXJ0eSA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG5mdW5jdGlvbiBoYXNPd24gKG9iaiwga2V5KSB7XG4gIHJldHVybiBoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwga2V5KVxufVxuXG4vKipcbiAqIENyZWF0ZSBhIGNhY2hlZCB2ZXJzaW9uIG9mIGEgcHVyZSBmdW5jdGlvbi5cbiAqL1xuZnVuY3Rpb24gY2FjaGVkIChmbikge1xuICB2YXIgY2FjaGUgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICByZXR1cm4gKGZ1bmN0aW9uIGNhY2hlZEZuIChzdHIpIHtcbiAgICB2YXIgaGl0ID0gY2FjaGVbc3RyXTtcbiAgICByZXR1cm4gaGl0IHx8IChjYWNoZVtzdHJdID0gZm4oc3RyKSlcbiAgfSlcbn1cblxuLyoqXG4gKiBDYW1lbGl6ZSBhIGh5cGhlbi1kZWxpbWl0ZWQgc3RyaW5nLlxuICovXG52YXIgY2FtZWxpemVSRSA9IC8tKFxcdykvZztcbnZhciBjYW1lbGl6ZSA9IGNhY2hlZChmdW5jdGlvbiAoc3RyKSB7XG4gIHJldHVybiBzdHIucmVwbGFjZShjYW1lbGl6ZVJFLCBmdW5jdGlvbiAoXywgYykgeyByZXR1cm4gYyA/IGMudG9VcHBlckNhc2UoKSA6ICcnOyB9KVxufSk7XG5cbi8qKlxuICogQ2FwaXRhbGl6ZSBhIHN0cmluZy5cbiAqL1xudmFyIGNhcGl0YWxpemUgPSBjYWNoZWQoZnVuY3Rpb24gKHN0cikge1xuICByZXR1cm4gc3RyLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgc3RyLnNsaWNlKDEpXG59KTtcblxuLyoqXG4gKiBIeXBoZW5hdGUgYSBjYW1lbENhc2Ugc3RyaW5nLlxuICovXG52YXIgaHlwaGVuYXRlUkUgPSAvXFxCKFtBLVpdKS9nO1xudmFyIGh5cGhlbmF0ZSA9IGNhY2hlZChmdW5jdGlvbiAoc3RyKSB7XG4gIHJldHVybiBzdHIucmVwbGFjZShoeXBoZW5hdGVSRSwgJy0kMScpLnRvTG93ZXJDYXNlKClcbn0pO1xuXG4vKipcbiAqIFNpbXBsZSBiaW5kIHBvbHlmaWxsIGZvciBlbnZpcm9ubWVudHMgdGhhdCBkbyBub3Qgc3VwcG9ydCBpdCxcbiAqIGUuZy4sIFBoYW50b21KUyAxLnguIFRlY2huaWNhbGx5LCB3ZSBkb24ndCBuZWVkIHRoaXMgYW55bW9yZVxuICogc2luY2UgbmF0aXZlIGJpbmQgaXMgbm93IHBlcmZvcm1hbnQgZW5vdWdoIGluIG1vc3QgYnJvd3NlcnMuXG4gKiBCdXQgcmVtb3ZpbmcgaXQgd291bGQgbWVhbiBicmVha2luZyBjb2RlIHRoYXQgd2FzIGFibGUgdG8gcnVuIGluXG4gKiBQaGFudG9tSlMgMS54LCBzbyB0aGlzIG11c3QgYmUga2VwdCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS5cbiAqL1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuZnVuY3Rpb24gcG9seWZpbGxCaW5kIChmbiwgY3R4KSB7XG4gIGZ1bmN0aW9uIGJvdW5kRm4gKGEpIHtcbiAgICB2YXIgbCA9IGFyZ3VtZW50cy5sZW5ndGg7XG4gICAgcmV0dXJuIGxcbiAgICAgID8gbCA+IDFcbiAgICAgICAgPyBmbi5hcHBseShjdHgsIGFyZ3VtZW50cylcbiAgICAgICAgOiBmbi5jYWxsKGN0eCwgYSlcbiAgICAgIDogZm4uY2FsbChjdHgpXG4gIH1cblxuICBib3VuZEZuLl9sZW5ndGggPSBmbi5sZW5ndGg7XG4gIHJldHVybiBib3VuZEZuXG59XG5cbmZ1bmN0aW9uIG5hdGl2ZUJpbmQgKGZuLCBjdHgpIHtcbiAgcmV0dXJuIGZuLmJpbmQoY3R4KVxufVxuXG52YXIgYmluZCA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kXG4gID8gbmF0aXZlQmluZFxuICA6IHBvbHlmaWxsQmluZDtcblxuLyoqXG4gKiBDb252ZXJ0IGFuIEFycmF5LWxpa2Ugb2JqZWN0IHRvIGEgcmVhbCBBcnJheS5cbiAqL1xuZnVuY3Rpb24gdG9BcnJheSAobGlzdCwgc3RhcnQpIHtcbiAgc3RhcnQgPSBzdGFydCB8fCAwO1xuICB2YXIgaSA9IGxpc3QubGVuZ3RoIC0gc3RhcnQ7XG4gIHZhciByZXQgPSBuZXcgQXJyYXkoaSk7XG4gIHdoaWxlIChpLS0pIHtcbiAgICByZXRbaV0gPSBsaXN0W2kgKyBzdGFydF07XG4gIH1cbiAgcmV0dXJuIHJldFxufVxuXG4vKipcbiAqIE1peCBwcm9wZXJ0aWVzIGludG8gdGFyZ2V0IG9iamVjdC5cbiAqL1xuZnVuY3Rpb24gZXh0ZW5kICh0bywgX2Zyb20pIHtcbiAgZm9yICh2YXIga2V5IGluIF9mcm9tKSB7XG4gICAgdG9ba2V5XSA9IF9mcm9tW2tleV07XG4gIH1cbiAgcmV0dXJuIHRvXG59XG5cbi8qKlxuICogTWVyZ2UgYW4gQXJyYXkgb2YgT2JqZWN0cyBpbnRvIGEgc2luZ2xlIE9iamVjdC5cbiAqL1xuZnVuY3Rpb24gdG9PYmplY3QgKGFycikge1xuICB2YXIgcmVzID0ge307XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgYXJyLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKGFycltpXSkge1xuICAgICAgZXh0ZW5kKHJlcywgYXJyW2ldKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc1xufVxuXG4vKiBlc2xpbnQtZGlzYWJsZSBuby11bnVzZWQtdmFycyAqL1xuXG4vKipcbiAqIFBlcmZvcm0gbm8gb3BlcmF0aW9uLlxuICogU3R1YmJpbmcgYXJncyB0byBtYWtlIEZsb3cgaGFwcHkgd2l0aG91dCBsZWF2aW5nIHVzZWxlc3MgdHJhbnNwaWxlZCBjb2RlXG4gKiB3aXRoIC4uLnJlc3QgKGh0dHBzOi8vZmxvdy5vcmcvYmxvZy8yMDE3LzA1LzA3L1N0cmljdC1GdW5jdGlvbi1DYWxsLUFyaXR5LykuXG4gKi9cbmZ1bmN0aW9uIG5vb3AgKGEsIGIsIGMpIHt9XG5cbi8qKlxuICogQWx3YXlzIHJldHVybiBmYWxzZS5cbiAqL1xudmFyIG5vID0gZnVuY3Rpb24gKGEsIGIsIGMpIHsgcmV0dXJuIGZhbHNlOyB9O1xuXG4vKiBlc2xpbnQtZW5hYmxlIG5vLXVudXNlZC12YXJzICovXG5cbi8qKlxuICogUmV0dXJuIHRoZSBzYW1lIHZhbHVlLlxuICovXG52YXIgaWRlbnRpdHkgPSBmdW5jdGlvbiAoXykgeyByZXR1cm4gXzsgfTtcblxuLyoqXG4gKiBDaGVjayBpZiB0d28gdmFsdWVzIGFyZSBsb29zZWx5IGVxdWFsIC0gdGhhdCBpcyxcbiAqIGlmIHRoZXkgYXJlIHBsYWluIG9iamVjdHMsIGRvIHRoZXkgaGF2ZSB0aGUgc2FtZSBzaGFwZT9cbiAqL1xuZnVuY3Rpb24gbG9vc2VFcXVhbCAoYSwgYikge1xuICBpZiAoYSA9PT0gYikgeyByZXR1cm4gdHJ1ZSB9XG4gIHZhciBpc09iamVjdEEgPSBpc09iamVjdChhKTtcbiAgdmFyIGlzT2JqZWN0QiA9IGlzT2JqZWN0KGIpO1xuICBpZiAoaXNPYmplY3RBICYmIGlzT2JqZWN0Qikge1xuICAgIHRyeSB7XG4gICAgICB2YXIgaXNBcnJheUEgPSBBcnJheS5pc0FycmF5KGEpO1xuICAgICAgdmFyIGlzQXJyYXlCID0gQXJyYXkuaXNBcnJheShiKTtcbiAgICAgIGlmIChpc0FycmF5QSAmJiBpc0FycmF5Qikge1xuICAgICAgICByZXR1cm4gYS5sZW5ndGggPT09IGIubGVuZ3RoICYmIGEuZXZlcnkoZnVuY3Rpb24gKGUsIGkpIHtcbiAgICAgICAgICByZXR1cm4gbG9vc2VFcXVhbChlLCBiW2ldKVxuICAgICAgICB9KVxuICAgICAgfSBlbHNlIGlmIChhIGluc3RhbmNlb2YgRGF0ZSAmJiBiIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgICByZXR1cm4gYS5nZXRUaW1lKCkgPT09IGIuZ2V0VGltZSgpXG4gICAgICB9IGVsc2UgaWYgKCFpc0FycmF5QSAmJiAhaXNBcnJheUIpIHtcbiAgICAgICAgdmFyIGtleXNBID0gT2JqZWN0LmtleXMoYSk7XG4gICAgICAgIHZhciBrZXlzQiA9IE9iamVjdC5rZXlzKGIpO1xuICAgICAgICByZXR1cm4ga2V5c0EubGVuZ3RoID09PSBrZXlzQi5sZW5ndGggJiYga2V5c0EuZXZlcnkoZnVuY3Rpb24gKGtleSkge1xuICAgICAgICAgIHJldHVybiBsb29zZUVxdWFsKGFba2V5XSwgYltrZXldKVxuICAgICAgICB9KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgfSBlbHNlIGlmICghaXNPYmplY3RBICYmICFpc09iamVjdEIpIHtcbiAgICByZXR1cm4gU3RyaW5nKGEpID09PSBTdHJpbmcoYilcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxufVxuXG4vKipcbiAqIFJldHVybiB0aGUgZmlyc3QgaW5kZXggYXQgd2hpY2ggYSBsb29zZWx5IGVxdWFsIHZhbHVlIGNhbiBiZVxuICogZm91bmQgaW4gdGhlIGFycmF5IChpZiB2YWx1ZSBpcyBhIHBsYWluIG9iamVjdCwgdGhlIGFycmF5IG11c3RcbiAqIGNvbnRhaW4gYW4gb2JqZWN0IG9mIHRoZSBzYW1lIHNoYXBlKSwgb3IgLTEgaWYgaXQgaXMgbm90IHByZXNlbnQuXG4gKi9cbmZ1bmN0aW9uIGxvb3NlSW5kZXhPZiAoYXJyLCB2YWwpIHtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAobG9vc2VFcXVhbChhcnJbaV0sIHZhbCkpIHsgcmV0dXJuIGkgfVxuICB9XG4gIHJldHVybiAtMVxufVxuXG4vKipcbiAqIEVuc3VyZSBhIGZ1bmN0aW9uIGlzIGNhbGxlZCBvbmx5IG9uY2UuXG4gKi9cbmZ1bmN0aW9uIG9uY2UgKGZuKSB7XG4gIHZhciBjYWxsZWQgPSBmYWxzZTtcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoIWNhbGxlZCkge1xuICAgICAgY2FsbGVkID0gdHJ1ZTtcbiAgICAgIGZuLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgfVxuICB9XG59XG5cbnZhciBTU1JfQVRUUiA9ICdkYXRhLXNlcnZlci1yZW5kZXJlZCc7XG5cbnZhciBBU1NFVF9UWVBFUyA9IFtcbiAgJ2NvbXBvbmVudCcsXG4gICdkaXJlY3RpdmUnLFxuICAnZmlsdGVyJ1xuXTtcblxudmFyIExJRkVDWUNMRV9IT09LUyA9IFtcbiAgJ2JlZm9yZUNyZWF0ZScsXG4gICdjcmVhdGVkJyxcbiAgJ2JlZm9yZU1vdW50JyxcbiAgJ21vdW50ZWQnLFxuICAnYmVmb3JlVXBkYXRlJyxcbiAgJ3VwZGF0ZWQnLFxuICAnYmVmb3JlRGVzdHJveScsXG4gICdkZXN0cm95ZWQnLFxuICAnYWN0aXZhdGVkJyxcbiAgJ2RlYWN0aXZhdGVkJyxcbiAgJ2Vycm9yQ2FwdHVyZWQnXG5dO1xuXG4vKiAgKi9cblxuXG5cbnZhciBjb25maWcgPSAoe1xuICAvKipcbiAgICogT3B0aW9uIG1lcmdlIHN0cmF0ZWdpZXMgKHVzZWQgaW4gY29yZS91dGlsL29wdGlvbnMpXG4gICAqL1xuICAvLyAkZmxvdy1kaXNhYmxlLWxpbmVcbiAgb3B0aW9uTWVyZ2VTdHJhdGVnaWVzOiBPYmplY3QuY3JlYXRlKG51bGwpLFxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHN1cHByZXNzIHdhcm5pbmdzLlxuICAgKi9cbiAgc2lsZW50OiBmYWxzZSxcblxuICAvKipcbiAgICogU2hvdyBwcm9kdWN0aW9uIG1vZGUgdGlwIG1lc3NhZ2Ugb24gYm9vdD9cbiAgICovXG4gIHByb2R1Y3Rpb25UaXA6IFwiZGV2ZWxvcG1lbnRcIiAhPT0gJ3Byb2R1Y3Rpb24nLFxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGVuYWJsZSBkZXZ0b29sc1xuICAgKi9cbiAgZGV2dG9vbHM6IFwiZGV2ZWxvcG1lbnRcIiAhPT0gJ3Byb2R1Y3Rpb24nLFxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHJlY29yZCBwZXJmXG4gICAqL1xuICBwZXJmb3JtYW5jZTogZmFsc2UsXG5cbiAgLyoqXG4gICAqIEVycm9yIGhhbmRsZXIgZm9yIHdhdGNoZXIgZXJyb3JzXG4gICAqL1xuICBlcnJvckhhbmRsZXI6IG51bGwsXG5cbiAgLyoqXG4gICAqIFdhcm4gaGFuZGxlciBmb3Igd2F0Y2hlciB3YXJuc1xuICAgKi9cbiAgd2FybkhhbmRsZXI6IG51bGwsXG5cbiAgLyoqXG4gICAqIElnbm9yZSBjZXJ0YWluIGN1c3RvbSBlbGVtZW50c1xuICAgKi9cbiAgaWdub3JlZEVsZW1lbnRzOiBbXSxcblxuICAvKipcbiAgICogQ3VzdG9tIHVzZXIga2V5IGFsaWFzZXMgZm9yIHYtb25cbiAgICovXG4gIC8vICRmbG93LWRpc2FibGUtbGluZVxuICBrZXlDb2RlczogT2JqZWN0LmNyZWF0ZShudWxsKSxcblxuICAvKipcbiAgICogQ2hlY2sgaWYgYSB0YWcgaXMgcmVzZXJ2ZWQgc28gdGhhdCBpdCBjYW5ub3QgYmUgcmVnaXN0ZXJlZCBhcyBhXG4gICAqIGNvbXBvbmVudC4gVGhpcyBpcyBwbGF0Zm9ybS1kZXBlbmRlbnQgYW5kIG1heSBiZSBvdmVyd3JpdHRlbi5cbiAgICovXG4gIGlzUmVzZXJ2ZWRUYWc6IG5vLFxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBhbiBhdHRyaWJ1dGUgaXMgcmVzZXJ2ZWQgc28gdGhhdCBpdCBjYW5ub3QgYmUgdXNlZCBhcyBhIGNvbXBvbmVudFxuICAgKiBwcm9wLiBUaGlzIGlzIHBsYXRmb3JtLWRlcGVuZGVudCBhbmQgbWF5IGJlIG92ZXJ3cml0dGVuLlxuICAgKi9cbiAgaXNSZXNlcnZlZEF0dHI6IG5vLFxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBhIHRhZyBpcyBhbiB1bmtub3duIGVsZW1lbnQuXG4gICAqIFBsYXRmb3JtLWRlcGVuZGVudC5cbiAgICovXG4gIGlzVW5rbm93bkVsZW1lbnQ6IG5vLFxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIG5hbWVzcGFjZSBvZiBhbiBlbGVtZW50XG4gICAqL1xuICBnZXRUYWdOYW1lc3BhY2U6IG5vb3AsXG5cbiAgLyoqXG4gICAqIFBhcnNlIHRoZSByZWFsIHRhZyBuYW1lIGZvciB0aGUgc3BlY2lmaWMgcGxhdGZvcm0uXG4gICAqL1xuICBwYXJzZVBsYXRmb3JtVGFnTmFtZTogaWRlbnRpdHksXG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGFuIGF0dHJpYnV0ZSBtdXN0IGJlIGJvdW5kIHVzaW5nIHByb3BlcnR5LCBlLmcuIHZhbHVlXG4gICAqIFBsYXRmb3JtLWRlcGVuZGVudC5cbiAgICovXG4gIG11c3RVc2VQcm9wOiBubyxcblxuICAvKipcbiAgICogUGVyZm9ybSB1cGRhdGVzIGFzeW5jaHJvbm91c2x5LiBJbnRlbmRlZCB0byBiZSB1c2VkIGJ5IFZ1ZSBUZXN0IFV0aWxzXG4gICAqIFRoaXMgd2lsbCBzaWduaWZpY2FudGx5IHJlZHVjZSBwZXJmb3JtYW5jZSBpZiBzZXQgdG8gZmFsc2UuXG4gICAqL1xuICBhc3luYzogdHJ1ZSxcblxuICAvKipcbiAgICogRXhwb3NlZCBmb3IgbGVnYWN5IHJlYXNvbnNcbiAgICovXG4gIF9saWZlY3ljbGVIb29rczogTElGRUNZQ0xFX0hPT0tTXG59KTtcblxuLyogICovXG5cbi8qKlxuICogQ2hlY2sgaWYgYSBzdHJpbmcgc3RhcnRzIHdpdGggJCBvciBfXG4gKi9cbmZ1bmN0aW9uIGlzUmVzZXJ2ZWQgKHN0cikge1xuICB2YXIgYyA9IChzdHIgKyAnJykuY2hhckNvZGVBdCgwKTtcbiAgcmV0dXJuIGMgPT09IDB4MjQgfHwgYyA9PT0gMHg1RlxufVxuXG4vKipcbiAqIERlZmluZSBhIHByb3BlcnR5LlxuICovXG5mdW5jdGlvbiBkZWYgKG9iaiwga2V5LCB2YWwsIGVudW1lcmFibGUpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7XG4gICAgdmFsdWU6IHZhbCxcbiAgICBlbnVtZXJhYmxlOiAhIWVudW1lcmFibGUsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlXG4gIH0pO1xufVxuXG4vKipcbiAqIFBhcnNlIHNpbXBsZSBwYXRoLlxuICovXG52YXIgYmFpbFJFID0gL1teXFx3LiRdLztcbmZ1bmN0aW9uIHBhcnNlUGF0aCAocGF0aCkge1xuICBpZiAoYmFpbFJFLnRlc3QocGF0aCkpIHtcbiAgICByZXR1cm5cbiAgfVxuICB2YXIgc2VnbWVudHMgPSBwYXRoLnNwbGl0KCcuJyk7XG4gIHJldHVybiBmdW5jdGlvbiAob2JqKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzZWdtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKCFvYmopIHsgcmV0dXJuIH1cbiAgICAgIG9iaiA9IG9ialtzZWdtZW50c1tpXV07XG4gICAgfVxuICAgIHJldHVybiBvYmpcbiAgfVxufVxuXG4vKiAgKi9cblxuLy8gY2FuIHdlIHVzZSBfX3Byb3RvX18/XG52YXIgaGFzUHJvdG8gPSAnX19wcm90b19fJyBpbiB7fTtcblxuLy8gQnJvd3NlciBlbnZpcm9ubWVudCBzbmlmZmluZ1xudmFyIGluQnJvd3NlciA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnO1xudmFyIGluV2VleCA9IHR5cGVvZiBXWEVudmlyb25tZW50ICE9PSAndW5kZWZpbmVkJyAmJiAhIVdYRW52aXJvbm1lbnQucGxhdGZvcm07XG52YXIgd2VleFBsYXRmb3JtID0gaW5XZWV4ICYmIFdYRW52aXJvbm1lbnQucGxhdGZvcm0udG9Mb3dlckNhc2UoKTtcbnZhciBVQSA9IGluQnJvd3NlciAmJiB3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpO1xudmFyIGlzSUUgPSBVQSAmJiAvbXNpZXx0cmlkZW50Ly50ZXN0KFVBKTtcbnZhciBpc0lFOSA9IFVBICYmIFVBLmluZGV4T2YoJ21zaWUgOS4wJykgPiAwO1xudmFyIGlzRWRnZSA9IFVBICYmIFVBLmluZGV4T2YoJ2VkZ2UvJykgPiAwO1xudmFyIGlzQW5kcm9pZCA9IChVQSAmJiBVQS5pbmRleE9mKCdhbmRyb2lkJykgPiAwKSB8fCAod2VleFBsYXRmb3JtID09PSAnYW5kcm9pZCcpO1xudmFyIGlzSU9TID0gKFVBICYmIC9pcGhvbmV8aXBhZHxpcG9kfGlvcy8udGVzdChVQSkpIHx8ICh3ZWV4UGxhdGZvcm0gPT09ICdpb3MnKTtcbnZhciBpc0Nocm9tZSA9IFVBICYmIC9jaHJvbWVcXC9cXGQrLy50ZXN0KFVBKSAmJiAhaXNFZGdlO1xuXG4vLyBGaXJlZm94IGhhcyBhIFwid2F0Y2hcIiBmdW5jdGlvbiBvbiBPYmplY3QucHJvdG90eXBlLi4uXG52YXIgbmF0aXZlV2F0Y2ggPSAoe30pLndhdGNoO1xuXG52YXIgc3VwcG9ydHNQYXNzaXZlID0gZmFsc2U7XG5pZiAoaW5Ccm93c2VyKSB7XG4gIHRyeSB7XG4gICAgdmFyIG9wdHMgPSB7fTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob3B0cywgJ3Bhc3NpdmUnLCAoe1xuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQgKCkge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICBzdXBwb3J0c1Bhc3NpdmUgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pKTsgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL2Zsb3cvaXNzdWVzLzI4NVxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCd0ZXN0LXBhc3NpdmUnLCBudWxsLCBvcHRzKTtcbiAgfSBjYXRjaCAoZSkge31cbn1cblxuLy8gdGhpcyBuZWVkcyB0byBiZSBsYXp5LWV2YWxlZCBiZWNhdXNlIHZ1ZSBtYXkgYmUgcmVxdWlyZWQgYmVmb3JlXG4vLyB2dWUtc2VydmVyLXJlbmRlcmVyIGNhbiBzZXQgVlVFX0VOVlxudmFyIF9pc1NlcnZlcjtcbnZhciBpc1NlcnZlclJlbmRlcmluZyA9IGZ1bmN0aW9uICgpIHtcbiAgaWYgKF9pc1NlcnZlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKCFpbkJyb3dzZXIgJiYgIWluV2VleCAmJiB0eXBlb2YgZ2xvYmFsICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgLy8gZGV0ZWN0IHByZXNlbmNlIG9mIHZ1ZS1zZXJ2ZXItcmVuZGVyZXIgYW5kIGF2b2lkXG4gICAgICAvLyBXZWJwYWNrIHNoaW1taW5nIHRoZSBwcm9jZXNzXG4gICAgICBfaXNTZXJ2ZXIgPSBnbG9iYWxbJ3Byb2Nlc3MnXSAmJiBnbG9iYWxbJ3Byb2Nlc3MnXS5lbnYuVlVFX0VOViA9PT0gJ3NlcnZlcic7XG4gICAgfSBlbHNlIHtcbiAgICAgIF9pc1NlcnZlciA9IGZhbHNlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gX2lzU2VydmVyXG59O1xuXG4vLyBkZXRlY3QgZGV2dG9vbHNcbnZhciBkZXZ0b29scyA9IGluQnJvd3NlciAmJiB3aW5kb3cuX19WVUVfREVWVE9PTFNfR0xPQkFMX0hPT0tfXztcblxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbmZ1bmN0aW9uIGlzTmF0aXZlIChDdG9yKSB7XG4gIHJldHVybiB0eXBlb2YgQ3RvciA9PT0gJ2Z1bmN0aW9uJyAmJiAvbmF0aXZlIGNvZGUvLnRlc3QoQ3Rvci50b1N0cmluZygpKVxufVxuXG52YXIgaGFzU3ltYm9sID1cbiAgdHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgaXNOYXRpdmUoU3ltYm9sKSAmJlxuICB0eXBlb2YgUmVmbGVjdCAhPT0gJ3VuZGVmaW5lZCcgJiYgaXNOYXRpdmUoUmVmbGVjdC5vd25LZXlzKTtcblxudmFyIF9TZXQ7XG4vKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi8gLy8gJGZsb3ctZGlzYWJsZS1saW5lXG5pZiAodHlwZW9mIFNldCAhPT0gJ3VuZGVmaW5lZCcgJiYgaXNOYXRpdmUoU2V0KSkge1xuICAvLyB1c2UgbmF0aXZlIFNldCB3aGVuIGF2YWlsYWJsZS5cbiAgX1NldCA9IFNldDtcbn0gZWxzZSB7XG4gIC8vIGEgbm9uLXN0YW5kYXJkIFNldCBwb2x5ZmlsbCB0aGF0IG9ubHkgd29ya3Mgd2l0aCBwcmltaXRpdmUga2V5cy5cbiAgX1NldCA9IC8qQF9fUFVSRV9fKi8oZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIFNldCAoKSB7XG4gICAgICB0aGlzLnNldCA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgfVxuICAgIFNldC5wcm90b3R5cGUuaGFzID0gZnVuY3Rpb24gaGFzIChrZXkpIHtcbiAgICAgIHJldHVybiB0aGlzLnNldFtrZXldID09PSB0cnVlXG4gICAgfTtcbiAgICBTZXQucHJvdG90eXBlLmFkZCA9IGZ1bmN0aW9uIGFkZCAoa2V5KSB7XG4gICAgICB0aGlzLnNldFtrZXldID0gdHJ1ZTtcbiAgICB9O1xuICAgIFNldC5wcm90b3R5cGUuY2xlYXIgPSBmdW5jdGlvbiBjbGVhciAoKSB7XG4gICAgICB0aGlzLnNldCA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgfTtcblxuICAgIHJldHVybiBTZXQ7XG4gIH0oKSk7XG59XG5cbi8qICAqL1xuXG52YXIgd2FybiA9IG5vb3A7XG52YXIgdGlwID0gbm9vcDtcbnZhciBnZW5lcmF0ZUNvbXBvbmVudFRyYWNlID0gKG5vb3ApOyAvLyB3b3JrIGFyb3VuZCBmbG93IGNoZWNrXG52YXIgZm9ybWF0Q29tcG9uZW50TmFtZSA9IChub29wKTtcblxuaWYgKHRydWUpIHtcbiAgdmFyIGhhc0NvbnNvbGUgPSB0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCc7XG4gIHZhciBjbGFzc2lmeVJFID0gLyg/Ol58Wy1fXSkoXFx3KS9nO1xuICB2YXIgY2xhc3NpZnkgPSBmdW5jdGlvbiAoc3RyKSB7IHJldHVybiBzdHJcbiAgICAucmVwbGFjZShjbGFzc2lmeVJFLCBmdW5jdGlvbiAoYykgeyByZXR1cm4gYy50b1VwcGVyQ2FzZSgpOyB9KVxuICAgIC5yZXBsYWNlKC9bLV9dL2csICcnKTsgfTtcblxuICB3YXJuID0gZnVuY3Rpb24gKG1zZywgdm0pIHtcbiAgICB2YXIgdHJhY2UgPSB2bSA/IGdlbmVyYXRlQ29tcG9uZW50VHJhY2Uodm0pIDogJyc7XG5cbiAgICBpZiAoY29uZmlnLndhcm5IYW5kbGVyKSB7XG4gICAgICBjb25maWcud2FybkhhbmRsZXIuY2FsbChudWxsLCBtc2csIHZtLCB0cmFjZSk7XG4gICAgfSBlbHNlIGlmIChoYXNDb25zb2xlICYmICghY29uZmlnLnNpbGVudCkpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoKFwiW1Z1ZSB3YXJuXTogXCIgKyBtc2cgKyB0cmFjZSkpO1xuICAgIH1cbiAgfTtcblxuICB0aXAgPSBmdW5jdGlvbiAobXNnLCB2bSkge1xuICAgIGlmIChoYXNDb25zb2xlICYmICghY29uZmlnLnNpbGVudCkpIHtcbiAgICAgIGNvbnNvbGUud2FybihcIltWdWUgdGlwXTogXCIgKyBtc2cgKyAoXG4gICAgICAgIHZtID8gZ2VuZXJhdGVDb21wb25lbnRUcmFjZSh2bSkgOiAnJ1xuICAgICAgKSk7XG4gICAgfVxuICB9O1xuXG4gIGZvcm1hdENvbXBvbmVudE5hbWUgPSBmdW5jdGlvbiAodm0sIGluY2x1ZGVGaWxlKSB7XG4gICAgaWYgKHZtLiRyb290ID09PSB2bSkge1xuICAgICAgcmV0dXJuICc8Um9vdD4nXG4gICAgfVxuICAgIHZhciBvcHRpb25zID0gdHlwZW9mIHZtID09PSAnZnVuY3Rpb24nICYmIHZtLmNpZCAhPSBudWxsXG4gICAgICA/IHZtLm9wdGlvbnNcbiAgICAgIDogdm0uX2lzVnVlXG4gICAgICAgID8gdm0uJG9wdGlvbnMgfHwgdm0uY29uc3RydWN0b3Iub3B0aW9uc1xuICAgICAgICA6IHZtIHx8IHt9O1xuICAgIHZhciBuYW1lID0gb3B0aW9ucy5uYW1lIHx8IG9wdGlvbnMuX2NvbXBvbmVudFRhZztcbiAgICB2YXIgZmlsZSA9IG9wdGlvbnMuX19maWxlO1xuICAgIGlmICghbmFtZSAmJiBmaWxlKSB7XG4gICAgICB2YXIgbWF0Y2ggPSBmaWxlLm1hdGNoKC8oW14vXFxcXF0rKVxcLnZ1ZSQvKTtcbiAgICAgIG5hbWUgPSBtYXRjaCAmJiBtYXRjaFsxXTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgKG5hbWUgPyAoXCI8XCIgKyAoY2xhc3NpZnkobmFtZSkpICsgXCI+XCIpIDogXCI8QW5vbnltb3VzPlwiKSArXG4gICAgICAoZmlsZSAmJiBpbmNsdWRlRmlsZSAhPT0gZmFsc2UgPyAoXCIgYXQgXCIgKyBmaWxlKSA6ICcnKVxuICAgIClcbiAgfTtcblxuICB2YXIgcmVwZWF0ID0gZnVuY3Rpb24gKHN0ciwgbikge1xuICAgIHZhciByZXMgPSAnJztcbiAgICB3aGlsZSAobikge1xuICAgICAgaWYgKG4gJSAyID09PSAxKSB7IHJlcyArPSBzdHI7IH1cbiAgICAgIGlmIChuID4gMSkgeyBzdHIgKz0gc3RyOyB9XG4gICAgICBuID4+PSAxO1xuICAgIH1cbiAgICByZXR1cm4gcmVzXG4gIH07XG5cbiAgZ2VuZXJhdGVDb21wb25lbnRUcmFjZSA9IGZ1bmN0aW9uICh2bSkge1xuICAgIGlmICh2bS5faXNWdWUgJiYgdm0uJHBhcmVudCkge1xuICAgICAgdmFyIHRyZWUgPSBbXTtcbiAgICAgIHZhciBjdXJyZW50UmVjdXJzaXZlU2VxdWVuY2UgPSAwO1xuICAgICAgd2hpbGUgKHZtKSB7XG4gICAgICAgIGlmICh0cmVlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICB2YXIgbGFzdCA9IHRyZWVbdHJlZS5sZW5ndGggLSAxXTtcbiAgICAgICAgICBpZiAobGFzdC5jb25zdHJ1Y3RvciA9PT0gdm0uY29uc3RydWN0b3IpIHtcbiAgICAgICAgICAgIGN1cnJlbnRSZWN1cnNpdmVTZXF1ZW5jZSsrO1xuICAgICAgICAgICAgdm0gPSB2bS4kcGFyZW50O1xuICAgICAgICAgICAgY29udGludWVcbiAgICAgICAgICB9IGVsc2UgaWYgKGN1cnJlbnRSZWN1cnNpdmVTZXF1ZW5jZSA+IDApIHtcbiAgICAgICAgICAgIHRyZWVbdHJlZS5sZW5ndGggLSAxXSA9IFtsYXN0LCBjdXJyZW50UmVjdXJzaXZlU2VxdWVuY2VdO1xuICAgICAgICAgICAgY3VycmVudFJlY3Vyc2l2ZVNlcXVlbmNlID0gMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdHJlZS5wdXNoKHZtKTtcbiAgICAgICAgdm0gPSB2bS4kcGFyZW50O1xuICAgICAgfVxuICAgICAgcmV0dXJuICdcXG5cXG5mb3VuZCBpblxcblxcbicgKyB0cmVlXG4gICAgICAgIC5tYXAoZnVuY3Rpb24gKHZtLCBpKSB7IHJldHVybiAoXCJcIiArIChpID09PSAwID8gJy0tLT4gJyA6IHJlcGVhdCgnICcsIDUgKyBpICogMikpICsgKEFycmF5LmlzQXJyYXkodm0pXG4gICAgICAgICAgICA/ICgoZm9ybWF0Q29tcG9uZW50TmFtZSh2bVswXSkpICsgXCIuLi4gKFwiICsgKHZtWzFdKSArIFwiIHJlY3Vyc2l2ZSBjYWxscylcIilcbiAgICAgICAgICAgIDogZm9ybWF0Q29tcG9uZW50TmFtZSh2bSkpKTsgfSlcbiAgICAgICAgLmpvaW4oJ1xcbicpXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAoXCJcXG5cXG4oZm91bmQgaW4gXCIgKyAoZm9ybWF0Q29tcG9uZW50TmFtZSh2bSkpICsgXCIpXCIpXG4gICAgfVxuICB9O1xufVxuXG4vKiAgKi9cblxudmFyIHVpZCA9IDA7XG5cbi8qKlxuICogQSBkZXAgaXMgYW4gb2JzZXJ2YWJsZSB0aGF0IGNhbiBoYXZlIG11bHRpcGxlXG4gKiBkaXJlY3RpdmVzIHN1YnNjcmliaW5nIHRvIGl0LlxuICovXG52YXIgRGVwID0gZnVuY3Rpb24gRGVwICgpIHtcbiAgdGhpcy5pZCA9IHVpZCsrO1xuICB0aGlzLnN1YnMgPSBbXTtcbn07XG5cbkRlcC5wcm90b3R5cGUuYWRkU3ViID0gZnVuY3Rpb24gYWRkU3ViIChzdWIpIHtcbiAgdGhpcy5zdWJzLnB1c2goc3ViKTtcbn07XG5cbkRlcC5wcm90b3R5cGUucmVtb3ZlU3ViID0gZnVuY3Rpb24gcmVtb3ZlU3ViIChzdWIpIHtcbiAgcmVtb3ZlKHRoaXMuc3Vicywgc3ViKTtcbn07XG5cbkRlcC5wcm90b3R5cGUuZGVwZW5kID0gZnVuY3Rpb24gZGVwZW5kICgpIHtcbiAgaWYgKERlcC50YXJnZXQpIHtcbiAgICBEZXAudGFyZ2V0LmFkZERlcCh0aGlzKTtcbiAgfVxufTtcblxuRGVwLnByb3RvdHlwZS5ub3RpZnkgPSBmdW5jdGlvbiBub3RpZnkgKCkge1xuICAvLyBzdGFiaWxpemUgdGhlIHN1YnNjcmliZXIgbGlzdCBmaXJzdFxuICB2YXIgc3VicyA9IHRoaXMuc3Vicy5zbGljZSgpO1xuICBpZiAoIHRydWUgJiYgIWNvbmZpZy5hc3luYykge1xuICAgIC8vIHN1YnMgYXJlbid0IHNvcnRlZCBpbiBzY2hlZHVsZXIgaWYgbm90IHJ1bm5pbmcgYXN5bmNcbiAgICAvLyB3ZSBuZWVkIHRvIHNvcnQgdGhlbSBub3cgdG8gbWFrZSBzdXJlIHRoZXkgZmlyZSBpbiBjb3JyZWN0XG4gICAgLy8gb3JkZXJcbiAgICBzdWJzLnNvcnQoZnVuY3Rpb24gKGEsIGIpIHsgcmV0dXJuIGEuaWQgLSBiLmlkOyB9KTtcbiAgfVxuICBmb3IgKHZhciBpID0gMCwgbCA9IHN1YnMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgc3Vic1tpXS51cGRhdGUoKTtcbiAgfVxufTtcblxuLy8gdGhlIGN1cnJlbnQgdGFyZ2V0IHdhdGNoZXIgYmVpbmcgZXZhbHVhdGVkLlxuLy8gdGhpcyBpcyBnbG9iYWxseSB1bmlxdWUgYmVjYXVzZSB0aGVyZSBjb3VsZCBiZSBvbmx5IG9uZVxuLy8gd2F0Y2hlciBiZWluZyBldmFsdWF0ZWQgYXQgYW55IHRpbWUuXG5EZXAudGFyZ2V0ID0gbnVsbDtcbnZhciB0YXJnZXRTdGFjayA9IFtdO1xuXG5mdW5jdGlvbiBwdXNoVGFyZ2V0ICh0YXJnZXQpIHtcbiAgdGFyZ2V0U3RhY2sucHVzaCh0YXJnZXQpO1xuICBEZXAudGFyZ2V0ID0gdGFyZ2V0O1xufVxuXG5mdW5jdGlvbiBwb3BUYXJnZXQgKCkge1xuICB0YXJnZXRTdGFjay5wb3AoKTtcbiAgRGVwLnRhcmdldCA9IHRhcmdldFN0YWNrW3RhcmdldFN0YWNrLmxlbmd0aCAtIDFdO1xufVxuXG4vKiAgKi9cblxudmFyIFZOb2RlID0gZnVuY3Rpb24gVk5vZGUgKFxuICB0YWcsXG4gIGRhdGEsXG4gIGNoaWxkcmVuLFxuICB0ZXh0LFxuICBlbG0sXG4gIGNvbnRleHQsXG4gIGNvbXBvbmVudE9wdGlvbnMsXG4gIGFzeW5jRmFjdG9yeVxuKSB7XG4gIHRoaXMudGFnID0gdGFnO1xuICB0aGlzLmRhdGEgPSBkYXRhO1xuICB0aGlzLmNoaWxkcmVuID0gY2hpbGRyZW47XG4gIHRoaXMudGV4dCA9IHRleHQ7XG4gIHRoaXMuZWxtID0gZWxtO1xuICB0aGlzLm5zID0gdW5kZWZpbmVkO1xuICB0aGlzLmNvbnRleHQgPSBjb250ZXh0O1xuICB0aGlzLmZuQ29udGV4dCA9IHVuZGVmaW5lZDtcbiAgdGhpcy5mbk9wdGlvbnMgPSB1bmRlZmluZWQ7XG4gIHRoaXMuZm5TY29wZUlkID0gdW5kZWZpbmVkO1xuICB0aGlzLmtleSA9IGRhdGEgJiYgZGF0YS5rZXk7XG4gIHRoaXMuY29tcG9uZW50T3B0aW9ucyA9IGNvbXBvbmVudE9wdGlvbnM7XG4gIHRoaXMuY29tcG9uZW50SW5zdGFuY2UgPSB1bmRlZmluZWQ7XG4gIHRoaXMucGFyZW50ID0gdW5kZWZpbmVkO1xuICB0aGlzLnJhdyA9IGZhbHNlO1xuICB0aGlzLmlzU3RhdGljID0gZmFsc2U7XG4gIHRoaXMuaXNSb290SW5zZXJ0ID0gdHJ1ZTtcbiAgdGhpcy5pc0NvbW1lbnQgPSBmYWxzZTtcbiAgdGhpcy5pc0Nsb25lZCA9IGZhbHNlO1xuICB0aGlzLmlzT25jZSA9IGZhbHNlO1xuICB0aGlzLmFzeW5jRmFjdG9yeSA9IGFzeW5jRmFjdG9yeTtcbiAgdGhpcy5hc3luY01ldGEgPSB1bmRlZmluZWQ7XG4gIHRoaXMuaXNBc3luY1BsYWNlaG9sZGVyID0gZmFsc2U7XG59O1xuXG52YXIgcHJvdG90eXBlQWNjZXNzb3JzID0geyBjaGlsZDogeyBjb25maWd1cmFibGU6IHRydWUgfSB9O1xuXG4vLyBERVBSRUNBVEVEOiBhbGlhcyBmb3IgY29tcG9uZW50SW5zdGFuY2UgZm9yIGJhY2t3YXJkcyBjb21wYXQuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xucHJvdG90eXBlQWNjZXNzb3JzLmNoaWxkLmdldCA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIHRoaXMuY29tcG9uZW50SW5zdGFuY2Vcbn07XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKCBWTm9kZS5wcm90b3R5cGUsIHByb3RvdHlwZUFjY2Vzc29ycyApO1xuXG52YXIgY3JlYXRlRW1wdHlWTm9kZSA9IGZ1bmN0aW9uICh0ZXh0KSB7XG4gIGlmICggdGV4dCA9PT0gdm9pZCAwICkgdGV4dCA9ICcnO1xuXG4gIHZhciBub2RlID0gbmV3IFZOb2RlKCk7XG4gIG5vZGUudGV4dCA9IHRleHQ7XG4gIG5vZGUuaXNDb21tZW50ID0gdHJ1ZTtcbiAgcmV0dXJuIG5vZGVcbn07XG5cbmZ1bmN0aW9uIGNyZWF0ZVRleHRWTm9kZSAodmFsKSB7XG4gIHJldHVybiBuZXcgVk5vZGUodW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgU3RyaW5nKHZhbCkpXG59XG5cbi8vIG9wdGltaXplZCBzaGFsbG93IGNsb25lXG4vLyB1c2VkIGZvciBzdGF0aWMgbm9kZXMgYW5kIHNsb3Qgbm9kZXMgYmVjYXVzZSB0aGV5IG1heSBiZSByZXVzZWQgYWNyb3NzXG4vLyBtdWx0aXBsZSByZW5kZXJzLCBjbG9uaW5nIHRoZW0gYXZvaWRzIGVycm9ycyB3aGVuIERPTSBtYW5pcHVsYXRpb25zIHJlbHlcbi8vIG9uIHRoZWlyIGVsbSByZWZlcmVuY2UuXG5mdW5jdGlvbiBjbG9uZVZOb2RlICh2bm9kZSkge1xuICB2YXIgY2xvbmVkID0gbmV3IFZOb2RlKFxuICAgIHZub2RlLnRhZyxcbiAgICB2bm9kZS5kYXRhLFxuICAgIC8vICM3OTc1XG4gICAgLy8gY2xvbmUgY2hpbGRyZW4gYXJyYXkgdG8gYXZvaWQgbXV0YXRpbmcgb3JpZ2luYWwgaW4gY2FzZSBvZiBjbG9uaW5nXG4gICAgLy8gYSBjaGlsZC5cbiAgICB2bm9kZS5jaGlsZHJlbiAmJiB2bm9kZS5jaGlsZHJlbi5zbGljZSgpLFxuICAgIHZub2RlLnRleHQsXG4gICAgdm5vZGUuZWxtLFxuICAgIHZub2RlLmNvbnRleHQsXG4gICAgdm5vZGUuY29tcG9uZW50T3B0aW9ucyxcbiAgICB2bm9kZS5hc3luY0ZhY3RvcnlcbiAgKTtcbiAgY2xvbmVkLm5zID0gdm5vZGUubnM7XG4gIGNsb25lZC5pc1N0YXRpYyA9IHZub2RlLmlzU3RhdGljO1xuICBjbG9uZWQua2V5ID0gdm5vZGUua2V5O1xuICBjbG9uZWQuaXNDb21tZW50ID0gdm5vZGUuaXNDb21tZW50O1xuICBjbG9uZWQuZm5Db250ZXh0ID0gdm5vZGUuZm5Db250ZXh0O1xuICBjbG9uZWQuZm5PcHRpb25zID0gdm5vZGUuZm5PcHRpb25zO1xuICBjbG9uZWQuZm5TY29wZUlkID0gdm5vZGUuZm5TY29wZUlkO1xuICBjbG9uZWQuYXN5bmNNZXRhID0gdm5vZGUuYXN5bmNNZXRhO1xuICBjbG9uZWQuaXNDbG9uZWQgPSB0cnVlO1xuICByZXR1cm4gY2xvbmVkXG59XG5cbi8qXG4gKiBub3QgdHlwZSBjaGVja2luZyB0aGlzIGZpbGUgYmVjYXVzZSBmbG93IGRvZXNuJ3QgcGxheSB3ZWxsIHdpdGhcbiAqIGR5bmFtaWNhbGx5IGFjY2Vzc2luZyBtZXRob2RzIG9uIEFycmF5IHByb3RvdHlwZVxuICovXG5cbnZhciBhcnJheVByb3RvID0gQXJyYXkucHJvdG90eXBlO1xudmFyIGFycmF5TWV0aG9kcyA9IE9iamVjdC5jcmVhdGUoYXJyYXlQcm90byk7XG5cbnZhciBtZXRob2RzVG9QYXRjaCA9IFtcbiAgJ3B1c2gnLFxuICAncG9wJyxcbiAgJ3NoaWZ0JyxcbiAgJ3Vuc2hpZnQnLFxuICAnc3BsaWNlJyxcbiAgJ3NvcnQnLFxuICAncmV2ZXJzZSdcbl07XG5cbi8qKlxuICogSW50ZXJjZXB0IG11dGF0aW5nIG1ldGhvZHMgYW5kIGVtaXQgZXZlbnRzXG4gKi9cbm1ldGhvZHNUb1BhdGNoLmZvckVhY2goZnVuY3Rpb24gKG1ldGhvZCkge1xuICAvLyBjYWNoZSBvcmlnaW5hbCBtZXRob2RcbiAgdmFyIG9yaWdpbmFsID0gYXJyYXlQcm90b1ttZXRob2RdO1xuICBkZWYoYXJyYXlNZXRob2RzLCBtZXRob2QsIGZ1bmN0aW9uIG11dGF0b3IgKCkge1xuICAgIHZhciBhcmdzID0gW10sIGxlbiA9IGFyZ3VtZW50cy5sZW5ndGg7XG4gICAgd2hpbGUgKCBsZW4tLSApIGFyZ3NbIGxlbiBdID0gYXJndW1lbnRzWyBsZW4gXTtcblxuICAgIHZhciByZXN1bHQgPSBvcmlnaW5hbC5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICB2YXIgb2IgPSB0aGlzLl9fb2JfXztcbiAgICB2YXIgaW5zZXJ0ZWQ7XG4gICAgc3dpdGNoIChtZXRob2QpIHtcbiAgICAgIGNhc2UgJ3B1c2gnOlxuICAgICAgY2FzZSAndW5zaGlmdCc6XG4gICAgICAgIGluc2VydGVkID0gYXJncztcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ3NwbGljZSc6XG4gICAgICAgIGluc2VydGVkID0gYXJncy5zbGljZSgyKTtcbiAgICAgICAgYnJlYWtcbiAgICB9XG4gICAgaWYgKGluc2VydGVkKSB7IG9iLm9ic2VydmVBcnJheShpbnNlcnRlZCk7IH1cbiAgICAvLyBub3RpZnkgY2hhbmdlXG4gICAgb2IuZGVwLm5vdGlmeSgpO1xuICAgIHJldHVybiByZXN1bHRcbiAgfSk7XG59KTtcblxuLyogICovXG5cbnZhciBhcnJheUtleXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhhcnJheU1ldGhvZHMpO1xuXG4vKipcbiAqIEluIHNvbWUgY2FzZXMgd2UgbWF5IHdhbnQgdG8gZGlzYWJsZSBvYnNlcnZhdGlvbiBpbnNpZGUgYSBjb21wb25lbnQnc1xuICogdXBkYXRlIGNvbXB1dGF0aW9uLlxuICovXG52YXIgc2hvdWxkT2JzZXJ2ZSA9IHRydWU7XG5cbmZ1bmN0aW9uIHRvZ2dsZU9ic2VydmluZyAodmFsdWUpIHtcbiAgc2hvdWxkT2JzZXJ2ZSA9IHZhbHVlO1xufVxuXG4vKipcbiAqIE9ic2VydmVyIGNsYXNzIHRoYXQgaXMgYXR0YWNoZWQgdG8gZWFjaCBvYnNlcnZlZFxuICogb2JqZWN0LiBPbmNlIGF0dGFjaGVkLCB0aGUgb2JzZXJ2ZXIgY29udmVydHMgdGhlIHRhcmdldFxuICogb2JqZWN0J3MgcHJvcGVydHkga2V5cyBpbnRvIGdldHRlci9zZXR0ZXJzIHRoYXRcbiAqIGNvbGxlY3QgZGVwZW5kZW5jaWVzIGFuZCBkaXNwYXRjaCB1cGRhdGVzLlxuICovXG52YXIgT2JzZXJ2ZXIgPSBmdW5jdGlvbiBPYnNlcnZlciAodmFsdWUpIHtcbiAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB0aGlzLmRlcCA9IG5ldyBEZXAoKTtcbiAgdGhpcy52bUNvdW50ID0gMDtcbiAgZGVmKHZhbHVlLCAnX19vYl9fJywgdGhpcyk7XG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgIGlmIChoYXNQcm90bykge1xuICAgICAgcHJvdG9BdWdtZW50KHZhbHVlLCBhcnJheU1ldGhvZHMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb3B5QXVnbWVudCh2YWx1ZSwgYXJyYXlNZXRob2RzLCBhcnJheUtleXMpO1xuICAgIH1cbiAgICB0aGlzLm9ic2VydmVBcnJheSh2YWx1ZSk7XG4gIH0gZWxzZSB7XG4gICAgdGhpcy53YWxrKHZhbHVlKTtcbiAgfVxufTtcblxuLyoqXG4gKiBXYWxrIHRocm91Z2ggYWxsIHByb3BlcnRpZXMgYW5kIGNvbnZlcnQgdGhlbSBpbnRvXG4gKiBnZXR0ZXIvc2V0dGVycy4gVGhpcyBtZXRob2Qgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIHdoZW5cbiAqIHZhbHVlIHR5cGUgaXMgT2JqZWN0LlxuICovXG5PYnNlcnZlci5wcm90b3R5cGUud2FsayA9IGZ1bmN0aW9uIHdhbGsgKG9iaikge1xuICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iaik7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykge1xuICAgIGRlZmluZVJlYWN0aXZlJCQxKG9iaiwga2V5c1tpXSk7XG4gIH1cbn07XG5cbi8qKlxuICogT2JzZXJ2ZSBhIGxpc3Qgb2YgQXJyYXkgaXRlbXMuXG4gKi9cbk9ic2VydmVyLnByb3RvdHlwZS5vYnNlcnZlQXJyYXkgPSBmdW5jdGlvbiBvYnNlcnZlQXJyYXkgKGl0ZW1zKSB7XG4gIGZvciAodmFyIGkgPSAwLCBsID0gaXRlbXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgb2JzZXJ2ZShpdGVtc1tpXSk7XG4gIH1cbn07XG5cbi8vIGhlbHBlcnNcblxuLyoqXG4gKiBBdWdtZW50IGEgdGFyZ2V0IE9iamVjdCBvciBBcnJheSBieSBpbnRlcmNlcHRpbmdcbiAqIHRoZSBwcm90b3R5cGUgY2hhaW4gdXNpbmcgX19wcm90b19fXG4gKi9cbmZ1bmN0aW9uIHByb3RvQXVnbWVudCAodGFyZ2V0LCBzcmMpIHtcbiAgLyogZXNsaW50LWRpc2FibGUgbm8tcHJvdG8gKi9cbiAgdGFyZ2V0Ll9fcHJvdG9fXyA9IHNyYztcbiAgLyogZXNsaW50LWVuYWJsZSBuby1wcm90byAqL1xufVxuXG4vKipcbiAqIEF1Z21lbnQgYSB0YXJnZXQgT2JqZWN0IG9yIEFycmF5IGJ5IGRlZmluaW5nXG4gKiBoaWRkZW4gcHJvcGVydGllcy5cbiAqL1xuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbmZ1bmN0aW9uIGNvcHlBdWdtZW50ICh0YXJnZXQsIHNyYywga2V5cykge1xuICBmb3IgKHZhciBpID0gMCwgbCA9IGtleXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgdmFyIGtleSA9IGtleXNbaV07XG4gICAgZGVmKHRhcmdldCwga2V5LCBzcmNba2V5XSk7XG4gIH1cbn1cblxuLyoqXG4gKiBBdHRlbXB0IHRvIGNyZWF0ZSBhbiBvYnNlcnZlciBpbnN0YW5jZSBmb3IgYSB2YWx1ZSxcbiAqIHJldHVybnMgdGhlIG5ldyBvYnNlcnZlciBpZiBzdWNjZXNzZnVsbHkgb2JzZXJ2ZWQsXG4gKiBvciB0aGUgZXhpc3Rpbmcgb2JzZXJ2ZXIgaWYgdGhlIHZhbHVlIGFscmVhZHkgaGFzIG9uZS5cbiAqL1xuZnVuY3Rpb24gb2JzZXJ2ZSAodmFsdWUsIGFzUm9vdERhdGEpIHtcbiAgaWYgKCFpc09iamVjdCh2YWx1ZSkgfHwgdmFsdWUgaW5zdGFuY2VvZiBWTm9kZSkge1xuICAgIHJldHVyblxuICB9XG4gIHZhciBvYjtcbiAgaWYgKGhhc093bih2YWx1ZSwgJ19fb2JfXycpICYmIHZhbHVlLl9fb2JfXyBpbnN0YW5jZW9mIE9ic2VydmVyKSB7XG4gICAgb2IgPSB2YWx1ZS5fX29iX187XG4gIH0gZWxzZSBpZiAoXG4gICAgc2hvdWxkT2JzZXJ2ZSAmJlxuICAgICFpc1NlcnZlclJlbmRlcmluZygpICYmXG4gICAgKEFycmF5LmlzQXJyYXkodmFsdWUpIHx8IGlzUGxhaW5PYmplY3QodmFsdWUpKSAmJlxuICAgIE9iamVjdC5pc0V4dGVuc2libGUodmFsdWUpICYmXG4gICAgIXZhbHVlLl9pc1Z1ZVxuICApIHtcbiAgICBvYiA9IG5ldyBPYnNlcnZlcih2YWx1ZSk7XG4gIH1cbiAgaWYgKGFzUm9vdERhdGEgJiYgb2IpIHtcbiAgICBvYi52bUNvdW50Kys7XG4gIH1cbiAgcmV0dXJuIG9iXG59XG5cbi8qKlxuICogRGVmaW5lIGEgcmVhY3RpdmUgcHJvcGVydHkgb24gYW4gT2JqZWN0LlxuICovXG5mdW5jdGlvbiBkZWZpbmVSZWFjdGl2ZSQkMSAoXG4gIG9iaixcbiAga2V5LFxuICB2YWwsXG4gIGN1c3RvbVNldHRlcixcbiAgc2hhbGxvd1xuKSB7XG4gIHZhciBkZXAgPSBuZXcgRGVwKCk7XG5cbiAgdmFyIHByb3BlcnR5ID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIGtleSk7XG4gIGlmIChwcm9wZXJ0eSAmJiBwcm9wZXJ0eS5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICAvLyBjYXRlciBmb3IgcHJlLWRlZmluZWQgZ2V0dGVyL3NldHRlcnNcbiAgdmFyIGdldHRlciA9IHByb3BlcnR5ICYmIHByb3BlcnR5LmdldDtcbiAgdmFyIHNldHRlciA9IHByb3BlcnR5ICYmIHByb3BlcnR5LnNldDtcbiAgaWYgKCghZ2V0dGVyIHx8IHNldHRlcikgJiYgYXJndW1lbnRzLmxlbmd0aCA9PT0gMikge1xuICAgIHZhbCA9IG9ialtrZXldO1xuICB9XG5cbiAgdmFyIGNoaWxkT2IgPSAhc2hhbGxvdyAmJiBvYnNlcnZlKHZhbCk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24gcmVhY3RpdmVHZXR0ZXIgKCkge1xuICAgICAgdmFyIHZhbHVlID0gZ2V0dGVyID8gZ2V0dGVyLmNhbGwob2JqKSA6IHZhbDtcbiAgICAgIGlmIChEZXAudGFyZ2V0KSB7XG4gICAgICAgIGRlcC5kZXBlbmQoKTtcbiAgICAgICAgaWYgKGNoaWxkT2IpIHtcbiAgICAgICAgICBjaGlsZE9iLmRlcC5kZXBlbmQoKTtcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIGRlcGVuZEFycmF5KHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB2YWx1ZVxuICAgIH0sXG4gICAgc2V0OiBmdW5jdGlvbiByZWFjdGl2ZVNldHRlciAobmV3VmFsKSB7XG4gICAgICB2YXIgdmFsdWUgPSBnZXR0ZXIgPyBnZXR0ZXIuY2FsbChvYmopIDogdmFsO1xuICAgICAgLyogZXNsaW50LWRpc2FibGUgbm8tc2VsZi1jb21wYXJlICovXG4gICAgICBpZiAobmV3VmFsID09PSB2YWx1ZSB8fCAobmV3VmFsICE9PSBuZXdWYWwgJiYgdmFsdWUgIT09IHZhbHVlKSkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIC8qIGVzbGludC1lbmFibGUgbm8tc2VsZi1jb21wYXJlICovXG4gICAgICBpZiAoIHRydWUgJiYgY3VzdG9tU2V0dGVyKSB7XG4gICAgICAgIGN1c3RvbVNldHRlcigpO1xuICAgICAgfVxuICAgICAgLy8gIzc5ODE6IGZvciBhY2Nlc3NvciBwcm9wZXJ0aWVzIHdpdGhvdXQgc2V0dGVyXG4gICAgICBpZiAoZ2V0dGVyICYmICFzZXR0ZXIpIHsgcmV0dXJuIH1cbiAgICAgIGlmIChzZXR0ZXIpIHtcbiAgICAgICAgc2V0dGVyLmNhbGwob2JqLCBuZXdWYWwpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFsID0gbmV3VmFsO1xuICAgICAgfVxuICAgICAgY2hpbGRPYiA9ICFzaGFsbG93ICYmIG9ic2VydmUobmV3VmFsKTtcbiAgICAgIGRlcC5ub3RpZnkoKTtcbiAgICB9XG4gIH0pO1xufVxuXG4vKipcbiAqIFNldCBhIHByb3BlcnR5IG9uIGFuIG9iamVjdC4gQWRkcyB0aGUgbmV3IHByb3BlcnR5IGFuZFxuICogdHJpZ2dlcnMgY2hhbmdlIG5vdGlmaWNhdGlvbiBpZiB0aGUgcHJvcGVydHkgZG9lc24ndFxuICogYWxyZWFkeSBleGlzdC5cbiAqL1xuZnVuY3Rpb24gc2V0ICh0YXJnZXQsIGtleSwgdmFsKSB7XG4gIGlmICggdHJ1ZSAmJlxuICAgIChpc1VuZGVmKHRhcmdldCkgfHwgaXNQcmltaXRpdmUodGFyZ2V0KSlcbiAgKSB7XG4gICAgd2FybigoXCJDYW5ub3Qgc2V0IHJlYWN0aXZlIHByb3BlcnR5IG9uIHVuZGVmaW5lZCwgbnVsbCwgb3IgcHJpbWl0aXZlIHZhbHVlOiBcIiArICgodGFyZ2V0KSkpKTtcbiAgfVxuICBpZiAoQXJyYXkuaXNBcnJheSh0YXJnZXQpICYmIGlzVmFsaWRBcnJheUluZGV4KGtleSkpIHtcbiAgICB0YXJnZXQubGVuZ3RoID0gTWF0aC5tYXgodGFyZ2V0Lmxlbmd0aCwga2V5KTtcbiAgICB0YXJnZXQuc3BsaWNlKGtleSwgMSwgdmFsKTtcbiAgICByZXR1cm4gdmFsXG4gIH1cbiAgaWYgKGtleSBpbiB0YXJnZXQgJiYgIShrZXkgaW4gT2JqZWN0LnByb3RvdHlwZSkpIHtcbiAgICB0YXJnZXRba2V5XSA9IHZhbDtcbiAgICByZXR1cm4gdmFsXG4gIH1cbiAgdmFyIG9iID0gKHRhcmdldCkuX19vYl9fO1xuICBpZiAodGFyZ2V0Ll9pc1Z1ZSB8fCAob2IgJiYgb2Iudm1Db3VudCkpIHtcbiAgICAgdHJ1ZSAmJiB3YXJuKFxuICAgICAgJ0F2b2lkIGFkZGluZyByZWFjdGl2ZSBwcm9wZXJ0aWVzIHRvIGEgVnVlIGluc3RhbmNlIG9yIGl0cyByb290ICRkYXRhICcgK1xuICAgICAgJ2F0IHJ1bnRpbWUgLSBkZWNsYXJlIGl0IHVwZnJvbnQgaW4gdGhlIGRhdGEgb3B0aW9uLidcbiAgICApO1xuICAgIHJldHVybiB2YWxcbiAgfVxuICBpZiAoIW9iKSB7XG4gICAgdGFyZ2V0W2tleV0gPSB2YWw7XG4gICAgcmV0dXJuIHZhbFxuICB9XG4gIGRlZmluZVJlYWN0aXZlJCQxKG9iLnZhbHVlLCBrZXksIHZhbCk7XG4gIG9iLmRlcC5ub3RpZnkoKTtcbiAgcmV0dXJuIHZhbFxufVxuXG4vKipcbiAqIERlbGV0ZSBhIHByb3BlcnR5IGFuZCB0cmlnZ2VyIGNoYW5nZSBpZiBuZWNlc3NhcnkuXG4gKi9cbmZ1bmN0aW9uIGRlbCAodGFyZ2V0LCBrZXkpIHtcbiAgaWYgKCB0cnVlICYmXG4gICAgKGlzVW5kZWYodGFyZ2V0KSB8fCBpc1ByaW1pdGl2ZSh0YXJnZXQpKVxuICApIHtcbiAgICB3YXJuKChcIkNhbm5vdCBkZWxldGUgcmVhY3RpdmUgcHJvcGVydHkgb24gdW5kZWZpbmVkLCBudWxsLCBvciBwcmltaXRpdmUgdmFsdWU6IFwiICsgKCh0YXJnZXQpKSkpO1xuICB9XG4gIGlmIChBcnJheS5pc0FycmF5KHRhcmdldCkgJiYgaXNWYWxpZEFycmF5SW5kZXgoa2V5KSkge1xuICAgIHRhcmdldC5zcGxpY2Uoa2V5LCAxKTtcbiAgICByZXR1cm5cbiAgfVxuICB2YXIgb2IgPSAodGFyZ2V0KS5fX29iX187XG4gIGlmICh0YXJnZXQuX2lzVnVlIHx8IChvYiAmJiBvYi52bUNvdW50KSkge1xuICAgICB0cnVlICYmIHdhcm4oXG4gICAgICAnQXZvaWQgZGVsZXRpbmcgcHJvcGVydGllcyBvbiBhIFZ1ZSBpbnN0YW5jZSBvciBpdHMgcm9vdCAkZGF0YSAnICtcbiAgICAgICctIGp1c3Qgc2V0IGl0IHRvIG51bGwuJ1xuICAgICk7XG4gICAgcmV0dXJuXG4gIH1cbiAgaWYgKCFoYXNPd24odGFyZ2V0LCBrZXkpKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgZGVsZXRlIHRhcmdldFtrZXldO1xuICBpZiAoIW9iKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgb2IuZGVwLm5vdGlmeSgpO1xufVxuXG4vKipcbiAqIENvbGxlY3QgZGVwZW5kZW5jaWVzIG9uIGFycmF5IGVsZW1lbnRzIHdoZW4gdGhlIGFycmF5IGlzIHRvdWNoZWQsIHNpbmNlXG4gKiB3ZSBjYW5ub3QgaW50ZXJjZXB0IGFycmF5IGVsZW1lbnQgYWNjZXNzIGxpa2UgcHJvcGVydHkgZ2V0dGVycy5cbiAqL1xuZnVuY3Rpb24gZGVwZW5kQXJyYXkgKHZhbHVlKSB7XG4gIGZvciAodmFyIGUgPSAodm9pZCAwKSwgaSA9IDAsIGwgPSB2YWx1ZS5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICBlID0gdmFsdWVbaV07XG4gICAgZSAmJiBlLl9fb2JfXyAmJiBlLl9fb2JfXy5kZXAuZGVwZW5kKCk7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZSkpIHtcbiAgICAgIGRlcGVuZEFycmF5KGUpO1xuICAgIH1cbiAgfVxufVxuXG4vKiAgKi9cblxuLyoqXG4gKiBPcHRpb24gb3ZlcndyaXRpbmcgc3RyYXRlZ2llcyBhcmUgZnVuY3Rpb25zIHRoYXQgaGFuZGxlXG4gKiBob3cgdG8gbWVyZ2UgYSBwYXJlbnQgb3B0aW9uIHZhbHVlIGFuZCBhIGNoaWxkIG9wdGlvblxuICogdmFsdWUgaW50byB0aGUgZmluYWwgdmFsdWUuXG4gKi9cbnZhciBzdHJhdHMgPSBjb25maWcub3B0aW9uTWVyZ2VTdHJhdGVnaWVzO1xuXG4vKipcbiAqIE9wdGlvbnMgd2l0aCByZXN0cmljdGlvbnNcbiAqL1xuaWYgKHRydWUpIHtcbiAgc3RyYXRzLmVsID0gc3RyYXRzLnByb3BzRGF0YSA9IGZ1bmN0aW9uIChwYXJlbnQsIGNoaWxkLCB2bSwga2V5KSB7XG4gICAgaWYgKCF2bSkge1xuICAgICAgd2FybihcbiAgICAgICAgXCJvcHRpb24gXFxcIlwiICsga2V5ICsgXCJcXFwiIGNhbiBvbmx5IGJlIHVzZWQgZHVyaW5nIGluc3RhbmNlIFwiICtcbiAgICAgICAgJ2NyZWF0aW9uIHdpdGggdGhlIGBuZXdgIGtleXdvcmQuJ1xuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIGRlZmF1bHRTdHJhdChwYXJlbnQsIGNoaWxkKVxuICB9O1xufVxuXG4vKipcbiAqIEhlbHBlciB0aGF0IHJlY3Vyc2l2ZWx5IG1lcmdlcyB0d28gZGF0YSBvYmplY3RzIHRvZ2V0aGVyLlxuICovXG5mdW5jdGlvbiBtZXJnZURhdGEgKHRvLCBmcm9tKSB7XG4gIGlmICghZnJvbSkgeyByZXR1cm4gdG8gfVxuICB2YXIga2V5LCB0b1ZhbCwgZnJvbVZhbDtcbiAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhmcm9tKTtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAga2V5ID0ga2V5c1tpXTtcbiAgICB0b1ZhbCA9IHRvW2tleV07XG4gICAgZnJvbVZhbCA9IGZyb21ba2V5XTtcbiAgICBpZiAoIWhhc093bih0bywga2V5KSkge1xuICAgICAgc2V0KHRvLCBrZXksIGZyb21WYWwpO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICB0b1ZhbCAhPT0gZnJvbVZhbCAmJlxuICAgICAgaXNQbGFpbk9iamVjdCh0b1ZhbCkgJiZcbiAgICAgIGlzUGxhaW5PYmplY3QoZnJvbVZhbClcbiAgICApIHtcbiAgICAgIG1lcmdlRGF0YSh0b1ZhbCwgZnJvbVZhbCk7XG4gICAgfVxuICB9XG4gIHJldHVybiB0b1xufVxuXG4vKipcbiAqIERhdGFcbiAqL1xuZnVuY3Rpb24gbWVyZ2VEYXRhT3JGbiAoXG4gIHBhcmVudFZhbCxcbiAgY2hpbGRWYWwsXG4gIHZtXG4pIHtcbiAgaWYgKCF2bSkge1xuICAgIC8vIGluIGEgVnVlLmV4dGVuZCBtZXJnZSwgYm90aCBzaG91bGQgYmUgZnVuY3Rpb25zXG4gICAgaWYgKCFjaGlsZFZhbCkge1xuICAgICAgcmV0dXJuIHBhcmVudFZhbFxuICAgIH1cbiAgICBpZiAoIXBhcmVudFZhbCkge1xuICAgICAgcmV0dXJuIGNoaWxkVmFsXG4gICAgfVxuICAgIC8vIHdoZW4gcGFyZW50VmFsICYgY2hpbGRWYWwgYXJlIGJvdGggcHJlc2VudCxcbiAgICAvLyB3ZSBuZWVkIHRvIHJldHVybiBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGVcbiAgICAvLyBtZXJnZWQgcmVzdWx0IG9mIGJvdGggZnVuY3Rpb25zLi4uIG5vIG5lZWQgdG9cbiAgICAvLyBjaGVjayBpZiBwYXJlbnRWYWwgaXMgYSBmdW5jdGlvbiBoZXJlIGJlY2F1c2VcbiAgICAvLyBpdCBoYXMgdG8gYmUgYSBmdW5jdGlvbiB0byBwYXNzIHByZXZpb3VzIG1lcmdlcy5cbiAgICByZXR1cm4gZnVuY3Rpb24gbWVyZ2VkRGF0YUZuICgpIHtcbiAgICAgIHJldHVybiBtZXJnZURhdGEoXG4gICAgICAgIHR5cGVvZiBjaGlsZFZhbCA9PT0gJ2Z1bmN0aW9uJyA/IGNoaWxkVmFsLmNhbGwodGhpcywgdGhpcykgOiBjaGlsZFZhbCxcbiAgICAgICAgdHlwZW9mIHBhcmVudFZhbCA9PT0gJ2Z1bmN0aW9uJyA/IHBhcmVudFZhbC5jYWxsKHRoaXMsIHRoaXMpIDogcGFyZW50VmFsXG4gICAgICApXG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiBmdW5jdGlvbiBtZXJnZWRJbnN0YW5jZURhdGFGbiAoKSB7XG4gICAgICAvLyBpbnN0YW5jZSBtZXJnZVxuICAgICAgdmFyIGluc3RhbmNlRGF0YSA9IHR5cGVvZiBjaGlsZFZhbCA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICA/IGNoaWxkVmFsLmNhbGwodm0sIHZtKVxuICAgICAgICA6IGNoaWxkVmFsO1xuICAgICAgdmFyIGRlZmF1bHREYXRhID0gdHlwZW9mIHBhcmVudFZhbCA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICA/IHBhcmVudFZhbC5jYWxsKHZtLCB2bSlcbiAgICAgICAgOiBwYXJlbnRWYWw7XG4gICAgICBpZiAoaW5zdGFuY2VEYXRhKSB7XG4gICAgICAgIHJldHVybiBtZXJnZURhdGEoaW5zdGFuY2VEYXRhLCBkZWZhdWx0RGF0YSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBkZWZhdWx0RGF0YVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5zdHJhdHMuZGF0YSA9IGZ1bmN0aW9uIChcbiAgcGFyZW50VmFsLFxuICBjaGlsZFZhbCxcbiAgdm1cbikge1xuICBpZiAoIXZtKSB7XG4gICAgaWYgKGNoaWxkVmFsICYmIHR5cGVvZiBjaGlsZFZhbCAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgIHRydWUgJiYgd2FybihcbiAgICAgICAgJ1RoZSBcImRhdGFcIiBvcHRpb24gc2hvdWxkIGJlIGEgZnVuY3Rpb24gJyArXG4gICAgICAgICd0aGF0IHJldHVybnMgYSBwZXItaW5zdGFuY2UgdmFsdWUgaW4gY29tcG9uZW50ICcgK1xuICAgICAgICAnZGVmaW5pdGlvbnMuJyxcbiAgICAgICAgdm1cbiAgICAgICk7XG5cbiAgICAgIHJldHVybiBwYXJlbnRWYWxcbiAgICB9XG4gICAgcmV0dXJuIG1lcmdlRGF0YU9yRm4ocGFyZW50VmFsLCBjaGlsZFZhbClcbiAgfVxuXG4gIHJldHVybiBtZXJnZURhdGFPckZuKHBhcmVudFZhbCwgY2hpbGRWYWwsIHZtKVxufTtcblxuLyoqXG4gKiBIb29rcyBhbmQgcHJvcHMgYXJlIG1lcmdlZCBhcyBhcnJheXMuXG4gKi9cbmZ1bmN0aW9uIG1lcmdlSG9vayAoXG4gIHBhcmVudFZhbCxcbiAgY2hpbGRWYWxcbikge1xuICByZXR1cm4gY2hpbGRWYWxcbiAgICA/IHBhcmVudFZhbFxuICAgICAgPyBwYXJlbnRWYWwuY29uY2F0KGNoaWxkVmFsKVxuICAgICAgOiBBcnJheS5pc0FycmF5KGNoaWxkVmFsKVxuICAgICAgICA/IGNoaWxkVmFsXG4gICAgICAgIDogW2NoaWxkVmFsXVxuICAgIDogcGFyZW50VmFsXG59XG5cbkxJRkVDWUNMRV9IT09LUy5mb3JFYWNoKGZ1bmN0aW9uIChob29rKSB7XG4gIHN0cmF0c1tob29rXSA9IG1lcmdlSG9vaztcbn0pO1xuXG4vKipcbiAqIEFzc2V0c1xuICpcbiAqIFdoZW4gYSB2bSBpcyBwcmVzZW50IChpbnN0YW5jZSBjcmVhdGlvbiksIHdlIG5lZWQgdG8gZG9cbiAqIGEgdGhyZWUtd2F5IG1lcmdlIGJldHdlZW4gY29uc3RydWN0b3Igb3B0aW9ucywgaW5zdGFuY2VcbiAqIG9wdGlvbnMgYW5kIHBhcmVudCBvcHRpb25zLlxuICovXG5mdW5jdGlvbiBtZXJnZUFzc2V0cyAoXG4gIHBhcmVudFZhbCxcbiAgY2hpbGRWYWwsXG4gIHZtLFxuICBrZXlcbikge1xuICB2YXIgcmVzID0gT2JqZWN0LmNyZWF0ZShwYXJlbnRWYWwgfHwgbnVsbCk7XG4gIGlmIChjaGlsZFZhbCkge1xuICAgICB0cnVlICYmIGFzc2VydE9iamVjdFR5cGUoa2V5LCBjaGlsZFZhbCwgdm0pO1xuICAgIHJldHVybiBleHRlbmQocmVzLCBjaGlsZFZhbClcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gcmVzXG4gIH1cbn1cblxuQVNTRVRfVFlQRVMuZm9yRWFjaChmdW5jdGlvbiAodHlwZSkge1xuICBzdHJhdHNbdHlwZSArICdzJ10gPSBtZXJnZUFzc2V0cztcbn0pO1xuXG4vKipcbiAqIFdhdGNoZXJzLlxuICpcbiAqIFdhdGNoZXJzIGhhc2hlcyBzaG91bGQgbm90IG92ZXJ3cml0ZSBvbmVcbiAqIGFub3RoZXIsIHNvIHdlIG1lcmdlIHRoZW0gYXMgYXJyYXlzLlxuICovXG5zdHJhdHMud2F0Y2ggPSBmdW5jdGlvbiAoXG4gIHBhcmVudFZhbCxcbiAgY2hpbGRWYWwsXG4gIHZtLFxuICBrZXlcbikge1xuICAvLyB3b3JrIGFyb3VuZCBGaXJlZm94J3MgT2JqZWN0LnByb3RvdHlwZS53YXRjaC4uLlxuICBpZiAocGFyZW50VmFsID09PSBuYXRpdmVXYXRjaCkgeyBwYXJlbnRWYWwgPSB1bmRlZmluZWQ7IH1cbiAgaWYgKGNoaWxkVmFsID09PSBuYXRpdmVXYXRjaCkgeyBjaGlsZFZhbCA9IHVuZGVmaW5lZDsgfVxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKCFjaGlsZFZhbCkgeyByZXR1cm4gT2JqZWN0LmNyZWF0ZShwYXJlbnRWYWwgfHwgbnVsbCkgfVxuICBpZiAodHJ1ZSkge1xuICAgIGFzc2VydE9iamVjdFR5cGUoa2V5LCBjaGlsZFZhbCwgdm0pO1xuICB9XG4gIGlmICghcGFyZW50VmFsKSB7IHJldHVybiBjaGlsZFZhbCB9XG4gIHZhciByZXQgPSB7fTtcbiAgZXh0ZW5kKHJldCwgcGFyZW50VmFsKTtcbiAgZm9yICh2YXIga2V5JDEgaW4gY2hpbGRWYWwpIHtcbiAgICB2YXIgcGFyZW50ID0gcmV0W2tleSQxXTtcbiAgICB2YXIgY2hpbGQgPSBjaGlsZFZhbFtrZXkkMV07XG4gICAgaWYgKHBhcmVudCAmJiAhQXJyYXkuaXNBcnJheShwYXJlbnQpKSB7XG4gICAgICBwYXJlbnQgPSBbcGFyZW50XTtcbiAgICB9XG4gICAgcmV0W2tleSQxXSA9IHBhcmVudFxuICAgICAgPyBwYXJlbnQuY29uY2F0KGNoaWxkKVxuICAgICAgOiBBcnJheS5pc0FycmF5KGNoaWxkKSA/IGNoaWxkIDogW2NoaWxkXTtcbiAgfVxuICByZXR1cm4gcmV0XG59O1xuXG4vKipcbiAqIE90aGVyIG9iamVjdCBoYXNoZXMuXG4gKi9cbnN0cmF0cy5wcm9wcyA9XG5zdHJhdHMubWV0aG9kcyA9XG5zdHJhdHMuaW5qZWN0ID1cbnN0cmF0cy5jb21wdXRlZCA9IGZ1bmN0aW9uIChcbiAgcGFyZW50VmFsLFxuICBjaGlsZFZhbCxcbiAgdm0sXG4gIGtleVxuKSB7XG4gIGlmIChjaGlsZFZhbCAmJiBcImRldmVsb3BtZW50XCIgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIGFzc2VydE9iamVjdFR5cGUoa2V5LCBjaGlsZFZhbCwgdm0pO1xuICB9XG4gIGlmICghcGFyZW50VmFsKSB7IHJldHVybiBjaGlsZFZhbCB9XG4gIHZhciByZXQgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICBleHRlbmQocmV0LCBwYXJlbnRWYWwpO1xuICBpZiAoY2hpbGRWYWwpIHsgZXh0ZW5kKHJldCwgY2hpbGRWYWwpOyB9XG4gIHJldHVybiByZXRcbn07XG5zdHJhdHMucHJvdmlkZSA9IG1lcmdlRGF0YU9yRm47XG5cbi8qKlxuICogRGVmYXVsdCBzdHJhdGVneS5cbiAqL1xudmFyIGRlZmF1bHRTdHJhdCA9IGZ1bmN0aW9uIChwYXJlbnRWYWwsIGNoaWxkVmFsKSB7XG4gIHJldHVybiBjaGlsZFZhbCA9PT0gdW5kZWZpbmVkXG4gICAgPyBwYXJlbnRWYWxcbiAgICA6IGNoaWxkVmFsXG59O1xuXG4vKipcbiAqIFZhbGlkYXRlIGNvbXBvbmVudCBuYW1lc1xuICovXG5mdW5jdGlvbiBjaGVja0NvbXBvbmVudHMgKG9wdGlvbnMpIHtcbiAgZm9yICh2YXIga2V5IGluIG9wdGlvbnMuY29tcG9uZW50cykge1xuICAgIHZhbGlkYXRlQ29tcG9uZW50TmFtZShrZXkpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlQ29tcG9uZW50TmFtZSAobmFtZSkge1xuICBpZiAoIS9eW2EtekEtWl1bXFx3LV0qJC8udGVzdChuYW1lKSkge1xuICAgIHdhcm4oXG4gICAgICAnSW52YWxpZCBjb21wb25lbnQgbmFtZTogXCInICsgbmFtZSArICdcIi4gQ29tcG9uZW50IG5hbWVzICcgK1xuICAgICAgJ2NhbiBvbmx5IGNvbnRhaW4gYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgYW5kIHRoZSBoeXBoZW4sICcgK1xuICAgICAgJ2FuZCBtdXN0IHN0YXJ0IHdpdGggYSBsZXR0ZXIuJ1xuICAgICk7XG4gIH1cbiAgaWYgKGlzQnVpbHRJblRhZyhuYW1lKSB8fCBjb25maWcuaXNSZXNlcnZlZFRhZyhuYW1lKSkge1xuICAgIHdhcm4oXG4gICAgICAnRG8gbm90IHVzZSBidWlsdC1pbiBvciByZXNlcnZlZCBIVE1MIGVsZW1lbnRzIGFzIGNvbXBvbmVudCAnICtcbiAgICAgICdpZDogJyArIG5hbWVcbiAgICApO1xuICB9XG59XG5cbi8qKlxuICogRW5zdXJlIGFsbCBwcm9wcyBvcHRpb24gc3ludGF4IGFyZSBub3JtYWxpemVkIGludG8gdGhlXG4gKiBPYmplY3QtYmFzZWQgZm9ybWF0LlxuICovXG5mdW5jdGlvbiBub3JtYWxpemVQcm9wcyAob3B0aW9ucywgdm0pIHtcbiAgdmFyIHByb3BzID0gb3B0aW9ucy5wcm9wcztcbiAgaWYgKCFwcm9wcykgeyByZXR1cm4gfVxuICB2YXIgcmVzID0ge307XG4gIHZhciBpLCB2YWwsIG5hbWU7XG4gIGlmIChBcnJheS5pc0FycmF5KHByb3BzKSkge1xuICAgIGkgPSBwcm9wcy5sZW5ndGg7XG4gICAgd2hpbGUgKGktLSkge1xuICAgICAgdmFsID0gcHJvcHNbaV07XG4gICAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgbmFtZSA9IGNhbWVsaXplKHZhbCk7XG4gICAgICAgIHJlc1tuYW1lXSA9IHsgdHlwZTogbnVsbCB9O1xuICAgICAgfSBlbHNlIGlmICh0cnVlKSB7XG4gICAgICAgIHdhcm4oJ3Byb3BzIG11c3QgYmUgc3RyaW5ncyB3aGVuIHVzaW5nIGFycmF5IHN5bnRheC4nKTtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSBpZiAoaXNQbGFpbk9iamVjdChwcm9wcykpIHtcbiAgICBmb3IgKHZhciBrZXkgaW4gcHJvcHMpIHtcbiAgICAgIHZhbCA9IHByb3BzW2tleV07XG4gICAgICBuYW1lID0gY2FtZWxpemUoa2V5KTtcbiAgICAgIHJlc1tuYW1lXSA9IGlzUGxhaW5PYmplY3QodmFsKVxuICAgICAgICA/IHZhbFxuICAgICAgICA6IHsgdHlwZTogdmFsIH07XG4gICAgfVxuICB9IGVsc2UgaWYgKHRydWUpIHtcbiAgICB3YXJuKFxuICAgICAgXCJJbnZhbGlkIHZhbHVlIGZvciBvcHRpb24gXFxcInByb3BzXFxcIjogZXhwZWN0ZWQgYW4gQXJyYXkgb3IgYW4gT2JqZWN0LCBcIiArXG4gICAgICBcImJ1dCBnb3QgXCIgKyAodG9SYXdUeXBlKHByb3BzKSkgKyBcIi5cIixcbiAgICAgIHZtXG4gICAgKTtcbiAgfVxuICBvcHRpb25zLnByb3BzID0gcmVzO1xufVxuXG4vKipcbiAqIE5vcm1hbGl6ZSBhbGwgaW5qZWN0aW9ucyBpbnRvIE9iamVjdC1iYXNlZCBmb3JtYXRcbiAqL1xuZnVuY3Rpb24gbm9ybWFsaXplSW5qZWN0IChvcHRpb25zLCB2bSkge1xuICB2YXIgaW5qZWN0ID0gb3B0aW9ucy5pbmplY3Q7XG4gIGlmICghaW5qZWN0KSB7IHJldHVybiB9XG4gIHZhciBub3JtYWxpemVkID0gb3B0aW9ucy5pbmplY3QgPSB7fTtcbiAgaWYgKEFycmF5LmlzQXJyYXkoaW5qZWN0KSkge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaW5qZWN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBub3JtYWxpemVkW2luamVjdFtpXV0gPSB7IGZyb206IGluamVjdFtpXSB9O1xuICAgIH1cbiAgfSBlbHNlIGlmIChpc1BsYWluT2JqZWN0KGluamVjdCkpIHtcbiAgICBmb3IgKHZhciBrZXkgaW4gaW5qZWN0KSB7XG4gICAgICB2YXIgdmFsID0gaW5qZWN0W2tleV07XG4gICAgICBub3JtYWxpemVkW2tleV0gPSBpc1BsYWluT2JqZWN0KHZhbClcbiAgICAgICAgPyBleHRlbmQoeyBmcm9tOiBrZXkgfSwgdmFsKVxuICAgICAgICA6IHsgZnJvbTogdmFsIH07XG4gICAgfVxuICB9IGVsc2UgaWYgKHRydWUpIHtcbiAgICB3YXJuKFxuICAgICAgXCJJbnZhbGlkIHZhbHVlIGZvciBvcHRpb24gXFxcImluamVjdFxcXCI6IGV4cGVjdGVkIGFuIEFycmF5IG9yIGFuIE9iamVjdCwgXCIgK1xuICAgICAgXCJidXQgZ290IFwiICsgKHRvUmF3VHlwZShpbmplY3QpKSArIFwiLlwiLFxuICAgICAgdm1cbiAgICApO1xuICB9XG59XG5cbi8qKlxuICogTm9ybWFsaXplIHJhdyBmdW5jdGlvbiBkaXJlY3RpdmVzIGludG8gb2JqZWN0IGZvcm1hdC5cbiAqL1xuZnVuY3Rpb24gbm9ybWFsaXplRGlyZWN0aXZlcyAob3B0aW9ucykge1xuICB2YXIgZGlycyA9IG9wdGlvbnMuZGlyZWN0aXZlcztcbiAgaWYgKGRpcnMpIHtcbiAgICBmb3IgKHZhciBrZXkgaW4gZGlycykge1xuICAgICAgdmFyIGRlZiA9IGRpcnNba2V5XTtcbiAgICAgIGlmICh0eXBlb2YgZGVmID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGRpcnNba2V5XSA9IHsgYmluZDogZGVmLCB1cGRhdGU6IGRlZiB9O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBhc3NlcnRPYmplY3RUeXBlIChuYW1lLCB2YWx1ZSwgdm0pIHtcbiAgaWYgKCFpc1BsYWluT2JqZWN0KHZhbHVlKSkge1xuICAgIHdhcm4oXG4gICAgICBcIkludmFsaWQgdmFsdWUgZm9yIG9wdGlvbiBcXFwiXCIgKyBuYW1lICsgXCJcXFwiOiBleHBlY3RlZCBhbiBPYmplY3QsIFwiICtcbiAgICAgIFwiYnV0IGdvdCBcIiArICh0b1Jhd1R5cGUodmFsdWUpKSArIFwiLlwiLFxuICAgICAgdm1cbiAgICApO1xuICB9XG59XG5cbi8qKlxuICogTWVyZ2UgdHdvIG9wdGlvbiBvYmplY3RzIGludG8gYSBuZXcgb25lLlxuICogQ29yZSB1dGlsaXR5IHVzZWQgaW4gYm90aCBpbnN0YW50aWF0aW9uIGFuZCBpbmhlcml0YW5jZS5cbiAqL1xuZnVuY3Rpb24gbWVyZ2VPcHRpb25zIChcbiAgcGFyZW50LFxuICBjaGlsZCxcbiAgdm1cbikge1xuICBpZiAodHJ1ZSkge1xuICAgIGNoZWNrQ29tcG9uZW50cyhjaGlsZCk7XG4gIH1cblxuICBpZiAodHlwZW9mIGNoaWxkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgY2hpbGQgPSBjaGlsZC5vcHRpb25zO1xuICB9XG5cbiAgbm9ybWFsaXplUHJvcHMoY2hpbGQsIHZtKTtcbiAgbm9ybWFsaXplSW5qZWN0KGNoaWxkLCB2bSk7XG4gIG5vcm1hbGl6ZURpcmVjdGl2ZXMoY2hpbGQpO1xuICBcbiAgLy8gQXBwbHkgZXh0ZW5kcyBhbmQgbWl4aW5zIG9uIHRoZSBjaGlsZCBvcHRpb25zLFxuICAvLyBidXQgb25seSBpZiBpdCBpcyBhIHJhdyBvcHRpb25zIG9iamVjdCB0aGF0IGlzbid0XG4gIC8vIHRoZSByZXN1bHQgb2YgYW5vdGhlciBtZXJnZU9wdGlvbnMgY2FsbC5cbiAgLy8gT25seSBtZXJnZWQgb3B0aW9ucyBoYXMgdGhlIF9iYXNlIHByb3BlcnR5LlxuICBpZiAoIWNoaWxkLl9iYXNlKSB7XG4gICAgaWYgKGNoaWxkLmV4dGVuZHMpIHtcbiAgICAgIHBhcmVudCA9IG1lcmdlT3B0aW9ucyhwYXJlbnQsIGNoaWxkLmV4dGVuZHMsIHZtKTtcbiAgICB9XG4gICAgaWYgKGNoaWxkLm1peGlucykge1xuICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSBjaGlsZC5taXhpbnMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgIHBhcmVudCA9IG1lcmdlT3B0aW9ucyhwYXJlbnQsIGNoaWxkLm1peGluc1tpXSwgdm0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHZhciBvcHRpb25zID0ge307XG4gIHZhciBrZXk7XG4gIGZvciAoa2V5IGluIHBhcmVudCkge1xuICAgIG1lcmdlRmllbGQoa2V5KTtcbiAgfVxuICBmb3IgKGtleSBpbiBjaGlsZCkge1xuICAgIGlmICghaGFzT3duKHBhcmVudCwga2V5KSkge1xuICAgICAgbWVyZ2VGaWVsZChrZXkpO1xuICAgIH1cbiAgfVxuICBmdW5jdGlvbiBtZXJnZUZpZWxkIChrZXkpIHtcbiAgICB2YXIgc3RyYXQgPSBzdHJhdHNba2V5XSB8fCBkZWZhdWx0U3RyYXQ7XG4gICAgb3B0aW9uc1trZXldID0gc3RyYXQocGFyZW50W2tleV0sIGNoaWxkW2tleV0sIHZtLCBrZXkpO1xuICB9XG4gIHJldHVybiBvcHRpb25zXG59XG5cbi8qKlxuICogUmVzb2x2ZSBhbiBhc3NldC5cbiAqIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBiZWNhdXNlIGNoaWxkIGluc3RhbmNlcyBuZWVkIGFjY2Vzc1xuICogdG8gYXNzZXRzIGRlZmluZWQgaW4gaXRzIGFuY2VzdG9yIGNoYWluLlxuICovXG5mdW5jdGlvbiByZXNvbHZlQXNzZXQgKFxuICBvcHRpb25zLFxuICB0eXBlLFxuICBpZCxcbiAgd2Fybk1pc3Npbmdcbikge1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKHR5cGVvZiBpZCAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm5cbiAgfVxuICB2YXIgYXNzZXRzID0gb3B0aW9uc1t0eXBlXTtcbiAgLy8gY2hlY2sgbG9jYWwgcmVnaXN0cmF0aW9uIHZhcmlhdGlvbnMgZmlyc3RcbiAgaWYgKGhhc093bihhc3NldHMsIGlkKSkgeyByZXR1cm4gYXNzZXRzW2lkXSB9XG4gIHZhciBjYW1lbGl6ZWRJZCA9IGNhbWVsaXplKGlkKTtcbiAgaWYgKGhhc093bihhc3NldHMsIGNhbWVsaXplZElkKSkgeyByZXR1cm4gYXNzZXRzW2NhbWVsaXplZElkXSB9XG4gIHZhciBQYXNjYWxDYXNlSWQgPSBjYXBpdGFsaXplKGNhbWVsaXplZElkKTtcbiAgaWYgKGhhc093bihhc3NldHMsIFBhc2NhbENhc2VJZCkpIHsgcmV0dXJuIGFzc2V0c1tQYXNjYWxDYXNlSWRdIH1cbiAgLy8gZmFsbGJhY2sgdG8gcHJvdG90eXBlIGNoYWluXG4gIHZhciByZXMgPSBhc3NldHNbaWRdIHx8IGFzc2V0c1tjYW1lbGl6ZWRJZF0gfHwgYXNzZXRzW1Bhc2NhbENhc2VJZF07XG4gIGlmICggdHJ1ZSAmJiB3YXJuTWlzc2luZyAmJiAhcmVzKSB7XG4gICAgd2FybihcbiAgICAgICdGYWlsZWQgdG8gcmVzb2x2ZSAnICsgdHlwZS5zbGljZSgwLCAtMSkgKyAnOiAnICsgaWQsXG4gICAgICBvcHRpb25zXG4gICAgKTtcbiAgfVxuICByZXR1cm4gcmVzXG59XG5cbi8qICAqL1xuXG5cblxuZnVuY3Rpb24gdmFsaWRhdGVQcm9wIChcbiAga2V5LFxuICBwcm9wT3B0aW9ucyxcbiAgcHJvcHNEYXRhLFxuICB2bVxuKSB7XG4gIHZhciBwcm9wID0gcHJvcE9wdGlvbnNba2V5XTtcbiAgdmFyIGFic2VudCA9ICFoYXNPd24ocHJvcHNEYXRhLCBrZXkpO1xuICB2YXIgdmFsdWUgPSBwcm9wc0RhdGFba2V5XTtcbiAgLy8gYm9vbGVhbiBjYXN0aW5nXG4gIHZhciBib29sZWFuSW5kZXggPSBnZXRUeXBlSW5kZXgoQm9vbGVhbiwgcHJvcC50eXBlKTtcbiAgaWYgKGJvb2xlYW5JbmRleCA+IC0xKSB7XG4gICAgaWYgKGFic2VudCAmJiAhaGFzT3duKHByb3AsICdkZWZhdWx0JykpIHtcbiAgICAgIHZhbHVlID0gZmFsc2U7XG4gICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gJycgfHwgdmFsdWUgPT09IGh5cGhlbmF0ZShrZXkpKSB7XG4gICAgICAvLyBvbmx5IGNhc3QgZW1wdHkgc3RyaW5nIC8gc2FtZSBuYW1lIHRvIGJvb2xlYW4gaWZcbiAgICAgIC8vIGJvb2xlYW4gaGFzIGhpZ2hlciBwcmlvcml0eVxuICAgICAgdmFyIHN0cmluZ0luZGV4ID0gZ2V0VHlwZUluZGV4KFN0cmluZywgcHJvcC50eXBlKTtcbiAgICAgIGlmIChzdHJpbmdJbmRleCA8IDAgfHwgYm9vbGVhbkluZGV4IDwgc3RyaW5nSW5kZXgpIHtcbiAgICAgICAgdmFsdWUgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBjaGVjayBkZWZhdWx0IHZhbHVlXG4gIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdmFsdWUgPSBnZXRQcm9wRGVmYXVsdFZhbHVlKHZtLCBwcm9wLCBrZXkpO1xuICAgIC8vIHNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlIGlzIGEgZnJlc2ggY29weSxcbiAgICAvLyBtYWtlIHN1cmUgdG8gb2JzZXJ2ZSBpdC5cbiAgICB2YXIgcHJldlNob3VsZE9ic2VydmUgPSBzaG91bGRPYnNlcnZlO1xuICAgIHRvZ2dsZU9ic2VydmluZyh0cnVlKTtcbiAgICBvYnNlcnZlKHZhbHVlKTtcbiAgICB0b2dnbGVPYnNlcnZpbmcocHJldlNob3VsZE9ic2VydmUpO1xuICB9XG4gIGlmIChcbiAgICB0cnVlXG4gICkge1xuICAgIGFzc2VydFByb3AocHJvcCwga2V5LCB2YWx1ZSwgdm0sIGFic2VudCk7XG4gIH1cbiAgcmV0dXJuIHZhbHVlXG59XG5cbi8qKlxuICogR2V0IHRoZSBkZWZhdWx0IHZhbHVlIG9mIGEgcHJvcC5cbiAqL1xuZnVuY3Rpb24gZ2V0UHJvcERlZmF1bHRWYWx1ZSAodm0sIHByb3AsIGtleSkge1xuICAvLyBubyBkZWZhdWx0LCByZXR1cm4gdW5kZWZpbmVkXG4gIGlmICghaGFzT3duKHByb3AsICdkZWZhdWx0JykpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cbiAgdmFyIGRlZiA9IHByb3AuZGVmYXVsdDtcbiAgLy8gd2FybiBhZ2FpbnN0IG5vbi1mYWN0b3J5IGRlZmF1bHRzIGZvciBPYmplY3QgJiBBcnJheVxuICBpZiAoIHRydWUgJiYgaXNPYmplY3QoZGVmKSkge1xuICAgIHdhcm4oXG4gICAgICAnSW52YWxpZCBkZWZhdWx0IHZhbHVlIGZvciBwcm9wIFwiJyArIGtleSArICdcIjogJyArXG4gICAgICAnUHJvcHMgd2l0aCB0eXBlIE9iamVjdC9BcnJheSBtdXN0IHVzZSBhIGZhY3RvcnkgZnVuY3Rpb24gJyArXG4gICAgICAndG8gcmV0dXJuIHRoZSBkZWZhdWx0IHZhbHVlLicsXG4gICAgICB2bVxuICAgICk7XG4gIH1cbiAgLy8gdGhlIHJhdyBwcm9wIHZhbHVlIHdhcyBhbHNvIHVuZGVmaW5lZCBmcm9tIHByZXZpb3VzIHJlbmRlcixcbiAgLy8gcmV0dXJuIHByZXZpb3VzIGRlZmF1bHQgdmFsdWUgdG8gYXZvaWQgdW5uZWNlc3Nhcnkgd2F0Y2hlciB0cmlnZ2VyXG4gIGlmICh2bSAmJiB2bS4kb3B0aW9ucy5wcm9wc0RhdGEgJiZcbiAgICB2bS4kb3B0aW9ucy5wcm9wc0RhdGFba2V5XSA9PT0gdW5kZWZpbmVkICYmXG4gICAgdm0uX3Byb3BzW2tleV0gIT09IHVuZGVmaW5lZFxuICApIHtcbiAgICByZXR1cm4gdm0uX3Byb3BzW2tleV1cbiAgfVxuICAvLyBjYWxsIGZhY3RvcnkgZnVuY3Rpb24gZm9yIG5vbi1GdW5jdGlvbiB0eXBlc1xuICAvLyBhIHZhbHVlIGlzIEZ1bmN0aW9uIGlmIGl0cyBwcm90b3R5cGUgaXMgZnVuY3Rpb24gZXZlbiBhY3Jvc3MgZGlmZmVyZW50IGV4ZWN1dGlvbiBjb250ZXh0XG4gIHJldHVybiB0eXBlb2YgZGVmID09PSAnZnVuY3Rpb24nICYmIGdldFR5cGUocHJvcC50eXBlKSAhPT0gJ0Z1bmN0aW9uJ1xuICAgID8gZGVmLmNhbGwodm0pXG4gICAgOiBkZWZcbn1cblxuLyoqXG4gKiBBc3NlcnQgd2hldGhlciBhIHByb3AgaXMgdmFsaWQuXG4gKi9cbmZ1bmN0aW9uIGFzc2VydFByb3AgKFxuICBwcm9wLFxuICBuYW1lLFxuICB2YWx1ZSxcbiAgdm0sXG4gIGFic2VudFxuKSB7XG4gIGlmIChwcm9wLnJlcXVpcmVkICYmIGFic2VudCkge1xuICAgIHdhcm4oXG4gICAgICAnTWlzc2luZyByZXF1aXJlZCBwcm9wOiBcIicgKyBuYW1lICsgJ1wiJyxcbiAgICAgIHZtXG4gICAgKTtcbiAgICByZXR1cm5cbiAgfVxuICBpZiAodmFsdWUgPT0gbnVsbCAmJiAhcHJvcC5yZXF1aXJlZCkge1xuICAgIHJldHVyblxuICB9XG4gIHZhciB0eXBlID0gcHJvcC50eXBlO1xuICB2YXIgdmFsaWQgPSAhdHlwZSB8fCB0eXBlID09PSB0cnVlO1xuICB2YXIgZXhwZWN0ZWRUeXBlcyA9IFtdO1xuICBpZiAodHlwZSkge1xuICAgIGlmICghQXJyYXkuaXNBcnJheSh0eXBlKSkge1xuICAgICAgdHlwZSA9IFt0eXBlXTtcbiAgICB9XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0eXBlLmxlbmd0aCAmJiAhdmFsaWQ7IGkrKykge1xuICAgICAgdmFyIGFzc2VydGVkVHlwZSA9IGFzc2VydFR5cGUodmFsdWUsIHR5cGVbaV0pO1xuICAgICAgZXhwZWN0ZWRUeXBlcy5wdXNoKGFzc2VydGVkVHlwZS5leHBlY3RlZFR5cGUgfHwgJycpO1xuICAgICAgdmFsaWQgPSBhc3NlcnRlZFR5cGUudmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgaWYgKCF2YWxpZCkge1xuICAgIHdhcm4oXG4gICAgICBnZXRJbnZhbGlkVHlwZU1lc3NhZ2UobmFtZSwgdmFsdWUsIGV4cGVjdGVkVHlwZXMpLFxuICAgICAgdm1cbiAgICApO1xuICAgIHJldHVyblxuICB9XG4gIHZhciB2YWxpZGF0b3IgPSBwcm9wLnZhbGlkYXRvcjtcbiAgaWYgKHZhbGlkYXRvcikge1xuICAgIGlmICghdmFsaWRhdG9yKHZhbHVlKSkge1xuICAgICAgd2FybihcbiAgICAgICAgJ0ludmFsaWQgcHJvcDogY3VzdG9tIHZhbGlkYXRvciBjaGVjayBmYWlsZWQgZm9yIHByb3AgXCInICsgbmFtZSArICdcIi4nLFxuICAgICAgICB2bVxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cblxudmFyIHNpbXBsZUNoZWNrUkUgPSAvXihTdHJpbmd8TnVtYmVyfEJvb2xlYW58RnVuY3Rpb258U3ltYm9sKSQvO1xuXG5mdW5jdGlvbiBhc3NlcnRUeXBlICh2YWx1ZSwgdHlwZSkge1xuICB2YXIgdmFsaWQ7XG4gIHZhciBleHBlY3RlZFR5cGUgPSBnZXRUeXBlKHR5cGUpO1xuICBpZiAoc2ltcGxlQ2hlY2tSRS50ZXN0KGV4cGVjdGVkVHlwZSkpIHtcbiAgICB2YXIgdCA9IHR5cGVvZiB2YWx1ZTtcbiAgICB2YWxpZCA9IHQgPT09IGV4cGVjdGVkVHlwZS50b0xvd2VyQ2FzZSgpO1xuICAgIC8vIGZvciBwcmltaXRpdmUgd3JhcHBlciBvYmplY3RzXG4gICAgaWYgKCF2YWxpZCAmJiB0ID09PSAnb2JqZWN0Jykge1xuICAgICAgdmFsaWQgPSB2YWx1ZSBpbnN0YW5jZW9mIHR5cGU7XG4gICAgfVxuICB9IGVsc2UgaWYgKGV4cGVjdGVkVHlwZSA9PT0gJ09iamVjdCcpIHtcbiAgICB2YWxpZCA9IGlzUGxhaW5PYmplY3QodmFsdWUpO1xuICB9IGVsc2UgaWYgKGV4cGVjdGVkVHlwZSA9PT0gJ0FycmF5Jykge1xuICAgIHZhbGlkID0gQXJyYXkuaXNBcnJheSh2YWx1ZSk7XG4gIH0gZWxzZSB7XG4gICAgdmFsaWQgPSB2YWx1ZSBpbnN0YW5jZW9mIHR5cGU7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICB2YWxpZDogdmFsaWQsXG4gICAgZXhwZWN0ZWRUeXBlOiBleHBlY3RlZFR5cGVcbiAgfVxufVxuXG4vKipcbiAqIFVzZSBmdW5jdGlvbiBzdHJpbmcgbmFtZSB0byBjaGVjayBidWlsdC1pbiB0eXBlcyxcbiAqIGJlY2F1c2UgYSBzaW1wbGUgZXF1YWxpdHkgY2hlY2sgd2lsbCBmYWlsIHdoZW4gcnVubmluZ1xuICogYWNyb3NzIGRpZmZlcmVudCB2bXMgLyBpZnJhbWVzLlxuICovXG5mdW5jdGlvbiBnZXRUeXBlIChmbikge1xuICB2YXIgbWF0Y2ggPSBmbiAmJiBmbi50b1N0cmluZygpLm1hdGNoKC9eXFxzKmZ1bmN0aW9uIChcXHcrKS8pO1xuICByZXR1cm4gbWF0Y2ggPyBtYXRjaFsxXSA6ICcnXG59XG5cbmZ1bmN0aW9uIGlzU2FtZVR5cGUgKGEsIGIpIHtcbiAgcmV0dXJuIGdldFR5cGUoYSkgPT09IGdldFR5cGUoYilcbn1cblxuZnVuY3Rpb24gZ2V0VHlwZUluZGV4ICh0eXBlLCBleHBlY3RlZFR5cGVzKSB7XG4gIGlmICghQXJyYXkuaXNBcnJheShleHBlY3RlZFR5cGVzKSkge1xuICAgIHJldHVybiBpc1NhbWVUeXBlKGV4cGVjdGVkVHlwZXMsIHR5cGUpID8gMCA6IC0xXG4gIH1cbiAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGV4cGVjdGVkVHlwZXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICBpZiAoaXNTYW1lVHlwZShleHBlY3RlZFR5cGVzW2ldLCB0eXBlKSkge1xuICAgICAgcmV0dXJuIGlcbiAgICB9XG4gIH1cbiAgcmV0dXJuIC0xXG59XG5cbmZ1bmN0aW9uIGdldEludmFsaWRUeXBlTWVzc2FnZSAobmFtZSwgdmFsdWUsIGV4cGVjdGVkVHlwZXMpIHtcbiAgdmFyIG1lc3NhZ2UgPSBcIkludmFsaWQgcHJvcDogdHlwZSBjaGVjayBmYWlsZWQgZm9yIHByb3AgXFxcIlwiICsgbmFtZSArIFwiXFxcIi5cIiArXG4gICAgXCIgRXhwZWN0ZWQgXCIgKyAoZXhwZWN0ZWRUeXBlcy5tYXAoY2FwaXRhbGl6ZSkuam9pbignLCAnKSk7XG4gIHZhciBleHBlY3RlZFR5cGUgPSBleHBlY3RlZFR5cGVzWzBdO1xuICB2YXIgcmVjZWl2ZWRUeXBlID0gdG9SYXdUeXBlKHZhbHVlKTtcbiAgdmFyIGV4cGVjdGVkVmFsdWUgPSBzdHlsZVZhbHVlKHZhbHVlLCBleHBlY3RlZFR5cGUpO1xuICB2YXIgcmVjZWl2ZWRWYWx1ZSA9IHN0eWxlVmFsdWUodmFsdWUsIHJlY2VpdmVkVHlwZSk7XG4gIC8vIGNoZWNrIGlmIHdlIG5lZWQgdG8gc3BlY2lmeSBleHBlY3RlZCB2YWx1ZVxuICBpZiAoZXhwZWN0ZWRUeXBlcy5sZW5ndGggPT09IDEgJiZcbiAgICAgIGlzRXhwbGljYWJsZShleHBlY3RlZFR5cGUpICYmXG4gICAgICAhaXNCb29sZWFuKGV4cGVjdGVkVHlwZSwgcmVjZWl2ZWRUeXBlKSkge1xuICAgIG1lc3NhZ2UgKz0gXCIgd2l0aCB2YWx1ZSBcIiArIGV4cGVjdGVkVmFsdWU7XG4gIH1cbiAgbWVzc2FnZSArPSBcIiwgZ290IFwiICsgcmVjZWl2ZWRUeXBlICsgXCIgXCI7XG4gIC8vIGNoZWNrIGlmIHdlIG5lZWQgdG8gc3BlY2lmeSByZWNlaXZlZCB2YWx1ZVxuICBpZiAoaXNFeHBsaWNhYmxlKHJlY2VpdmVkVHlwZSkpIHtcbiAgICBtZXNzYWdlICs9IFwid2l0aCB2YWx1ZSBcIiArIHJlY2VpdmVkVmFsdWUgKyBcIi5cIjtcbiAgfVxuICByZXR1cm4gbWVzc2FnZVxufVxuXG5mdW5jdGlvbiBzdHlsZVZhbHVlICh2YWx1ZSwgdHlwZSkge1xuICBpZiAodHlwZSA9PT0gJ1N0cmluZycpIHtcbiAgICByZXR1cm4gKFwiXFxcIlwiICsgdmFsdWUgKyBcIlxcXCJcIilcbiAgfSBlbHNlIGlmICh0eXBlID09PSAnTnVtYmVyJykge1xuICAgIHJldHVybiAoXCJcIiArIChOdW1iZXIodmFsdWUpKSlcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gKFwiXCIgKyB2YWx1ZSlcbiAgfVxufVxuXG5mdW5jdGlvbiBpc0V4cGxpY2FibGUgKHZhbHVlKSB7XG4gIHZhciBleHBsaWNpdFR5cGVzID0gWydzdHJpbmcnLCAnbnVtYmVyJywgJ2Jvb2xlYW4nXTtcbiAgcmV0dXJuIGV4cGxpY2l0VHlwZXMuc29tZShmdW5jdGlvbiAoZWxlbSkgeyByZXR1cm4gdmFsdWUudG9Mb3dlckNhc2UoKSA9PT0gZWxlbTsgfSlcbn1cblxuZnVuY3Rpb24gaXNCb29sZWFuICgpIHtcbiAgdmFyIGFyZ3MgPSBbXSwgbGVuID0gYXJndW1lbnRzLmxlbmd0aDtcbiAgd2hpbGUgKCBsZW4tLSApIGFyZ3NbIGxlbiBdID0gYXJndW1lbnRzWyBsZW4gXTtcblxuICByZXR1cm4gYXJncy5zb21lKGZ1bmN0aW9uIChlbGVtKSB7IHJldHVybiBlbGVtLnRvTG93ZXJDYXNlKCkgPT09ICdib29sZWFuJzsgfSlcbn1cblxuLyogICovXG5cbmZ1bmN0aW9uIGhhbmRsZUVycm9yIChlcnIsIHZtLCBpbmZvKSB7XG4gIGlmICh2bSkge1xuICAgIHZhciBjdXIgPSB2bTtcbiAgICB3aGlsZSAoKGN1ciA9IGN1ci4kcGFyZW50KSkge1xuICAgICAgdmFyIGhvb2tzID0gY3VyLiRvcHRpb25zLmVycm9yQ2FwdHVyZWQ7XG4gICAgICBpZiAoaG9va3MpIHtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBob29rcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICB2YXIgY2FwdHVyZSA9IGhvb2tzW2ldLmNhbGwoY3VyLCBlcnIsIHZtLCBpbmZvKSA9PT0gZmFsc2U7XG4gICAgICAgICAgICBpZiAoY2FwdHVyZSkgeyByZXR1cm4gfVxuICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGdsb2JhbEhhbmRsZUVycm9yKGUsIGN1ciwgJ2Vycm9yQ2FwdHVyZWQgaG9vaycpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBnbG9iYWxIYW5kbGVFcnJvcihlcnIsIHZtLCBpbmZvKTtcbn1cblxuZnVuY3Rpb24gZ2xvYmFsSGFuZGxlRXJyb3IgKGVyciwgdm0sIGluZm8pIHtcbiAgaWYgKGNvbmZpZy5lcnJvckhhbmRsZXIpIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGNvbmZpZy5lcnJvckhhbmRsZXIuY2FsbChudWxsLCBlcnIsIHZtLCBpbmZvKVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGxvZ0Vycm9yKGUsIG51bGwsICdjb25maWcuZXJyb3JIYW5kbGVyJyk7XG4gICAgfVxuICB9XG4gIGxvZ0Vycm9yKGVyciwgdm0sIGluZm8pO1xufVxuXG5mdW5jdGlvbiBsb2dFcnJvciAoZXJyLCB2bSwgaW5mbykge1xuICBpZiAodHJ1ZSkge1xuICAgIHdhcm4oKFwiRXJyb3IgaW4gXCIgKyBpbmZvICsgXCI6IFxcXCJcIiArIChlcnIudG9TdHJpbmcoKSkgKyBcIlxcXCJcIiksIHZtKTtcbiAgfVxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICBpZiAoKGluQnJvd3NlciB8fCBpbldlZXgpICYmIHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJykge1xuICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBlcnJcbiAgfVxufVxuXG4vKiAgKi9cblxudmFyIGNhbGxiYWNrcyA9IFtdO1xudmFyIHBlbmRpbmcgPSBmYWxzZTtcblxuZnVuY3Rpb24gZmx1c2hDYWxsYmFja3MgKCkge1xuICBwZW5kaW5nID0gZmFsc2U7XG4gIHZhciBjb3BpZXMgPSBjYWxsYmFja3Muc2xpY2UoMCk7XG4gIGNhbGxiYWNrcy5sZW5ndGggPSAwO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGNvcGllcy5sZW5ndGg7IGkrKykge1xuICAgIGNvcGllc1tpXSgpO1xuICB9XG59XG5cbi8vIEhlcmUgd2UgaGF2ZSBhc3luYyBkZWZlcnJpbmcgd3JhcHBlcnMgdXNpbmcgYm90aCBtaWNyb3Rhc2tzIGFuZCAobWFjcm8pIHRhc2tzLlxuLy8gSW4gPCAyLjQgd2UgdXNlZCBtaWNyb3Rhc2tzIGV2ZXJ5d2hlcmUsIGJ1dCB0aGVyZSBhcmUgc29tZSBzY2VuYXJpb3Mgd2hlcmVcbi8vIG1pY3JvdGFza3MgaGF2ZSB0b28gaGlnaCBhIHByaW9yaXR5IGFuZCBmaXJlIGluIGJldHdlZW4gc3VwcG9zZWRseVxuLy8gc2VxdWVudGlhbCBldmVudHMgKGUuZy4gIzQ1MjEsICM2NjkwKSBvciBldmVuIGJldHdlZW4gYnViYmxpbmcgb2YgdGhlIHNhbWVcbi8vIGV2ZW50ICgjNjU2NikuIEhvd2V2ZXIsIHVzaW5nIChtYWNybykgdGFza3MgZXZlcnl3aGVyZSBhbHNvIGhhcyBzdWJ0bGUgcHJvYmxlbXNcbi8vIHdoZW4gc3RhdGUgaXMgY2hhbmdlZCByaWdodCBiZWZvcmUgcmVwYWludCAoZS5nLiAjNjgxMywgb3V0LWluIHRyYW5zaXRpb25zKS5cbi8vIEhlcmUgd2UgdXNlIG1pY3JvdGFzayBieSBkZWZhdWx0LCBidXQgZXhwb3NlIGEgd2F5IHRvIGZvcmNlIChtYWNybykgdGFzayB3aGVuXG4vLyBuZWVkZWQgKGUuZy4gaW4gZXZlbnQgaGFuZGxlcnMgYXR0YWNoZWQgYnkgdi1vbikuXG52YXIgbWljcm9UaW1lckZ1bmM7XG52YXIgbWFjcm9UaW1lckZ1bmM7XG52YXIgdXNlTWFjcm9UYXNrID0gZmFsc2U7XG5cbi8vIERldGVybWluZSAobWFjcm8pIHRhc2sgZGVmZXIgaW1wbGVtZW50YXRpb24uXG4vLyBUZWNobmljYWxseSBzZXRJbW1lZGlhdGUgc2hvdWxkIGJlIHRoZSBpZGVhbCBjaG9pY2UsIGJ1dCBpdCdzIG9ubHkgYXZhaWxhYmxlXG4vLyBpbiBJRS4gVGhlIG9ubHkgcG9seWZpbGwgdGhhdCBjb25zaXN0ZW50bHkgcXVldWVzIHRoZSBjYWxsYmFjayBhZnRlciBhbGwgRE9NXG4vLyBldmVudHMgdHJpZ2dlcmVkIGluIHRoZSBzYW1lIGxvb3AgaXMgYnkgdXNpbmcgTWVzc2FnZUNoYW5uZWwuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbmlmICh0eXBlb2Ygc2V0SW1tZWRpYXRlICE9PSAndW5kZWZpbmVkJyAmJiBpc05hdGl2ZShzZXRJbW1lZGlhdGUpKSB7XG4gIG1hY3JvVGltZXJGdW5jID0gZnVuY3Rpb24gKCkge1xuICAgIHNldEltbWVkaWF0ZShmbHVzaENhbGxiYWNrcyk7XG4gIH07XG59IGVsc2UgaWYgKHR5cGVvZiBNZXNzYWdlQ2hhbm5lbCAhPT0gJ3VuZGVmaW5lZCcgJiYgKFxuICBpc05hdGl2ZShNZXNzYWdlQ2hhbm5lbCkgfHxcbiAgLy8gUGhhbnRvbUpTXG4gIE1lc3NhZ2VDaGFubmVsLnRvU3RyaW5nKCkgPT09ICdbb2JqZWN0IE1lc3NhZ2VDaGFubmVsQ29uc3RydWN0b3JdJ1xuKSkge1xuICB2YXIgY2hhbm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5lbCgpO1xuICB2YXIgcG9ydCA9IGNoYW5uZWwucG9ydDI7XG4gIGNoYW5uZWwucG9ydDEub25tZXNzYWdlID0gZmx1c2hDYWxsYmFja3M7XG4gIG1hY3JvVGltZXJGdW5jID0gZnVuY3Rpb24gKCkge1xuICAgIHBvcnQucG9zdE1lc3NhZ2UoMSk7XG4gIH07XG59IGVsc2Uge1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBtYWNyb1RpbWVyRnVuYyA9IGZ1bmN0aW9uICgpIHtcbiAgICBzZXRUaW1lb3V0KGZsdXNoQ2FsbGJhY2tzLCAwKTtcbiAgfTtcbn1cblxuLy8gRGV0ZXJtaW5lIG1pY3JvdGFzayBkZWZlciBpbXBsZW1lbnRhdGlvbi5cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0LCAkZmxvdy1kaXNhYmxlLWxpbmUgKi9cbmlmICh0eXBlb2YgUHJvbWlzZSAhPT0gJ3VuZGVmaW5lZCcgJiYgaXNOYXRpdmUoUHJvbWlzZSkpIHtcbiAgdmFyIHAgPSBQcm9taXNlLnJlc29sdmUoKTtcbiAgbWljcm9UaW1lckZ1bmMgPSBmdW5jdGlvbiAoKSB7XG4gICAgcC50aGVuKGZsdXNoQ2FsbGJhY2tzKTtcbiAgICAvLyBpbiBwcm9ibGVtYXRpYyBVSVdlYlZpZXdzLCBQcm9taXNlLnRoZW4gZG9lc24ndCBjb21wbGV0ZWx5IGJyZWFrLCBidXRcbiAgICAvLyBpdCBjYW4gZ2V0IHN0dWNrIGluIGEgd2VpcmQgc3RhdGUgd2hlcmUgY2FsbGJhY2tzIGFyZSBwdXNoZWQgaW50byB0aGVcbiAgICAvLyBtaWNyb3Rhc2sgcXVldWUgYnV0IHRoZSBxdWV1ZSBpc24ndCBiZWluZyBmbHVzaGVkLCB1bnRpbCB0aGUgYnJvd3NlclxuICAgIC8vIG5lZWRzIHRvIGRvIHNvbWUgb3RoZXIgd29yaywgZS5nLiBoYW5kbGUgYSB0aW1lci4gVGhlcmVmb3JlIHdlIGNhblxuICAgIC8vIFwiZm9yY2VcIiB0aGUgbWljcm90YXNrIHF1ZXVlIHRvIGJlIGZsdXNoZWQgYnkgYWRkaW5nIGFuIGVtcHR5IHRpbWVyLlxuICAgIGlmIChpc0lPUykgeyBzZXRUaW1lb3V0KG5vb3ApOyB9XG4gIH07XG59IGVsc2Uge1xuICAvLyBmYWxsYmFjayB0byBtYWNyb1xuICBtaWNyb1RpbWVyRnVuYyA9IG1hY3JvVGltZXJGdW5jO1xufVxuXG4vKipcbiAqIFdyYXAgYSBmdW5jdGlvbiBzbyB0aGF0IGlmIGFueSBjb2RlIGluc2lkZSB0cmlnZ2VycyBzdGF0ZSBjaGFuZ2UsXG4gKiB0aGUgY2hhbmdlcyBhcmUgcXVldWVkIHVzaW5nIGEgKG1hY3JvKSB0YXNrIGluc3RlYWQgb2YgYSBtaWNyb3Rhc2suXG4gKi9cbmZ1bmN0aW9uIHdpdGhNYWNyb1Rhc2sgKGZuKSB7XG4gIHJldHVybiBmbi5fd2l0aFRhc2sgfHwgKGZuLl93aXRoVGFzayA9IGZ1bmN0aW9uICgpIHtcbiAgICB1c2VNYWNyb1Rhc2sgPSB0cnVlO1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gZm4uYXBwbHkobnVsbCwgYXJndW1lbnRzKVxuICAgIH0gZmluYWxseSB7XG4gICAgICB1c2VNYWNyb1Rhc2sgPSBmYWxzZTsgICAgXG4gICAgfVxuICB9KVxufVxuXG5mdW5jdGlvbiBuZXh0VGljayAoY2IsIGN0eCkge1xuICB2YXIgX3Jlc29sdmU7XG4gIGNhbGxiYWNrcy5wdXNoKGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoY2IpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNiLmNhbGwoY3R4KTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgaGFuZGxlRXJyb3IoZSwgY3R4LCAnbmV4dFRpY2snKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKF9yZXNvbHZlKSB7XG4gICAgICBfcmVzb2x2ZShjdHgpO1xuICAgIH1cbiAgfSk7XG4gIGlmICghcGVuZGluZykge1xuICAgIHBlbmRpbmcgPSB0cnVlO1xuICAgIGlmICh1c2VNYWNyb1Rhc2spIHtcbiAgICAgIG1hY3JvVGltZXJGdW5jKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG1pY3JvVGltZXJGdW5jKCk7XG4gICAgfVxuICB9XG4gIC8vICRmbG93LWRpc2FibGUtbGluZVxuICBpZiAoIWNiICYmIHR5cGVvZiBQcm9taXNlICE9PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSkge1xuICAgICAgX3Jlc29sdmUgPSByZXNvbHZlO1xuICAgIH0pXG4gIH1cbn1cblxuLyogICovXG5cbi8qIG5vdCB0eXBlIGNoZWNraW5nIHRoaXMgZmlsZSBiZWNhdXNlIGZsb3cgZG9lc24ndCBwbGF5IHdlbGwgd2l0aCBQcm94eSAqL1xuXG52YXIgaW5pdFByb3h5O1xuXG5pZiAodHJ1ZSkge1xuICB2YXIgYWxsb3dlZEdsb2JhbHMgPSBtYWtlTWFwKFxuICAgICdJbmZpbml0eSx1bmRlZmluZWQsTmFOLGlzRmluaXRlLGlzTmFOLCcgK1xuICAgICdwYXJzZUZsb2F0LHBhcnNlSW50LGRlY29kZVVSSSxkZWNvZGVVUklDb21wb25lbnQsZW5jb2RlVVJJLGVuY29kZVVSSUNvbXBvbmVudCwnICtcbiAgICAnTWF0aCxOdW1iZXIsRGF0ZSxBcnJheSxPYmplY3QsQm9vbGVhbixTdHJpbmcsUmVnRXhwLE1hcCxTZXQsSlNPTixJbnRsLCcgK1xuICAgICdyZXF1aXJlJyAvLyBmb3IgV2VicGFjay9Ccm93c2VyaWZ5XG4gICk7XG5cbiAgdmFyIHdhcm5Ob25QcmVzZW50ID0gZnVuY3Rpb24gKHRhcmdldCwga2V5KSB7XG4gICAgd2FybihcbiAgICAgIFwiUHJvcGVydHkgb3IgbWV0aG9kIFxcXCJcIiArIGtleSArIFwiXFxcIiBpcyBub3QgZGVmaW5lZCBvbiB0aGUgaW5zdGFuY2UgYnV0IFwiICtcbiAgICAgICdyZWZlcmVuY2VkIGR1cmluZyByZW5kZXIuIE1ha2Ugc3VyZSB0aGF0IHRoaXMgcHJvcGVydHkgaXMgcmVhY3RpdmUsICcgK1xuICAgICAgJ2VpdGhlciBpbiB0aGUgZGF0YSBvcHRpb24sIG9yIGZvciBjbGFzcy1iYXNlZCBjb21wb25lbnRzLCBieSAnICtcbiAgICAgICdpbml0aWFsaXppbmcgdGhlIHByb3BlcnR5LiAnICtcbiAgICAgICdTZWU6IGh0dHBzOi8vdnVlanMub3JnL3YyL2d1aWRlL3JlYWN0aXZpdHkuaHRtbCNEZWNsYXJpbmctUmVhY3RpdmUtUHJvcGVydGllcy4nLFxuICAgICAgdGFyZ2V0XG4gICAgKTtcbiAgfTtcblxuICB2YXIgd2FyblJlc2VydmVkUHJlZml4ID0gZnVuY3Rpb24gKHRhcmdldCwga2V5KSB7XG4gICAgd2FybihcbiAgICAgIFwiUHJvcGVydHkgXFxcIlwiICsga2V5ICsgXCJcXFwiIG11c3QgYmUgYWNjZXNzZWQgd2l0aCBcXFwiJGRhdGEuXCIgKyBrZXkgKyBcIlxcXCIgYmVjYXVzZSBcIiArXG4gICAgICAncHJvcGVydGllcyBzdGFydGluZyB3aXRoIFwiJFwiIG9yIFwiX1wiIGFyZSBub3QgcHJveGllZCBpbiB0aGUgVnVlIGluc3RhbmNlIHRvICcgK1xuICAgICAgJ3ByZXZlbnQgY29uZmxpY3RzIHdpdGggVnVlIGludGVybmFscycgK1xuICAgICAgJ1NlZTogaHR0cHM6Ly92dWVqcy5vcmcvdjIvYXBpLyNkYXRhJyxcbiAgICAgIHRhcmdldFxuICAgICk7XG4gIH07XG5cbiAgdmFyIGhhc1Byb3h5ID1cbiAgICB0eXBlb2YgUHJveHkgIT09ICd1bmRlZmluZWQnICYmIGlzTmF0aXZlKFByb3h5KTtcblxuICBpZiAoaGFzUHJveHkpIHtcbiAgICB2YXIgaXNCdWlsdEluTW9kaWZpZXIgPSBtYWtlTWFwKCdzdG9wLHByZXZlbnQsc2VsZixjdHJsLHNoaWZ0LGFsdCxtZXRhLGV4YWN0Jyk7XG4gICAgY29uZmlnLmtleUNvZGVzID0gbmV3IFByb3h5KGNvbmZpZy5rZXlDb2Rlcywge1xuICAgICAgc2V0OiBmdW5jdGlvbiBzZXQgKHRhcmdldCwga2V5LCB2YWx1ZSkge1xuICAgICAgICBpZiAoaXNCdWlsdEluTW9kaWZpZXIoa2V5KSkge1xuICAgICAgICAgIHdhcm4oKFwiQXZvaWQgb3ZlcndyaXRpbmcgYnVpbHQtaW4gbW9kaWZpZXIgaW4gY29uZmlnLmtleUNvZGVzOiAuXCIgKyBrZXkpKTtcbiAgICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0YXJnZXRba2V5XSA9IHZhbHVlO1xuICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHZhciBoYXNIYW5kbGVyID0ge1xuICAgIGhhczogZnVuY3Rpb24gaGFzICh0YXJnZXQsIGtleSkge1xuICAgICAgdmFyIGhhcyA9IGtleSBpbiB0YXJnZXQ7XG4gICAgICB2YXIgaXNBbGxvd2VkID0gYWxsb3dlZEdsb2JhbHMoa2V5KSB8fFxuICAgICAgICAodHlwZW9mIGtleSA9PT0gJ3N0cmluZycgJiYga2V5LmNoYXJBdCgwKSA9PT0gJ18nICYmICEoa2V5IGluIHRhcmdldC4kZGF0YSkpO1xuICAgICAgaWYgKCFoYXMgJiYgIWlzQWxsb3dlZCkge1xuICAgICAgICBpZiAoa2V5IGluIHRhcmdldC4kZGF0YSkgeyB3YXJuUmVzZXJ2ZWRQcmVmaXgodGFyZ2V0LCBrZXkpOyB9XG4gICAgICAgIGVsc2UgeyB3YXJuTm9uUHJlc2VudCh0YXJnZXQsIGtleSk7IH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBoYXMgfHwgIWlzQWxsb3dlZFxuICAgIH1cbiAgfTtcblxuICB2YXIgZ2V0SGFuZGxlciA9IHtcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCAodGFyZ2V0LCBrZXkpIHtcbiAgICAgIGlmICh0eXBlb2Yga2V5ID09PSAnc3RyaW5nJyAmJiAhKGtleSBpbiB0YXJnZXQpKSB7XG4gICAgICAgIGlmIChrZXkgaW4gdGFyZ2V0LiRkYXRhKSB7IHdhcm5SZXNlcnZlZFByZWZpeCh0YXJnZXQsIGtleSk7IH1cbiAgICAgICAgZWxzZSB7IHdhcm5Ob25QcmVzZW50KHRhcmdldCwga2V5KTsgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHRhcmdldFtrZXldXG4gICAgfVxuICB9O1xuXG4gIGluaXRQcm94eSA9IGZ1bmN0aW9uIGluaXRQcm94eSAodm0pIHtcbiAgICBpZiAoaGFzUHJveHkpIHtcbiAgICAgIC8vIGRldGVybWluZSB3aGljaCBwcm94eSBoYW5kbGVyIHRvIHVzZVxuICAgICAgdmFyIG9wdGlvbnMgPSB2bS4kb3B0aW9ucztcbiAgICAgIHZhciBoYW5kbGVycyA9IG9wdGlvbnMucmVuZGVyICYmIG9wdGlvbnMucmVuZGVyLl93aXRoU3RyaXBwZWRcbiAgICAgICAgPyBnZXRIYW5kbGVyXG4gICAgICAgIDogaGFzSGFuZGxlcjtcbiAgICAgIHZtLl9yZW5kZXJQcm94eSA9IG5ldyBQcm94eSh2bSwgaGFuZGxlcnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2bS5fcmVuZGVyUHJveHkgPSB2bTtcbiAgICB9XG4gIH07XG59XG5cbi8qICAqL1xuXG52YXIgc2Vlbk9iamVjdHMgPSBuZXcgX1NldCgpO1xuXG4vKipcbiAqIFJlY3Vyc2l2ZWx5IHRyYXZlcnNlIGFuIG9iamVjdCB0byBldm9rZSBhbGwgY29udmVydGVkXG4gKiBnZXR0ZXJzLCBzbyB0aGF0IGV2ZXJ5IG5lc3RlZCBwcm9wZXJ0eSBpbnNpZGUgdGhlIG9iamVjdFxuICogaXMgY29sbGVjdGVkIGFzIGEgXCJkZWVwXCIgZGVwZW5kZW5jeS5cbiAqL1xuZnVuY3Rpb24gdHJhdmVyc2UgKHZhbCkge1xuICBfdHJhdmVyc2UodmFsLCBzZWVuT2JqZWN0cyk7XG4gIHNlZW5PYmplY3RzLmNsZWFyKCk7XG59XG5cbmZ1bmN0aW9uIF90cmF2ZXJzZSAodmFsLCBzZWVuKSB7XG4gIHZhciBpLCBrZXlzO1xuICB2YXIgaXNBID0gQXJyYXkuaXNBcnJheSh2YWwpO1xuICBpZiAoKCFpc0EgJiYgIWlzT2JqZWN0KHZhbCkpIHx8IE9iamVjdC5pc0Zyb3plbih2YWwpIHx8IHZhbCBpbnN0YW5jZW9mIFZOb2RlKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgaWYgKHZhbC5fX29iX18pIHtcbiAgICB2YXIgZGVwSWQgPSB2YWwuX19vYl9fLmRlcC5pZDtcbiAgICBpZiAoc2Vlbi5oYXMoZGVwSWQpKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgc2Vlbi5hZGQoZGVwSWQpO1xuICB9XG4gIGlmIChpc0EpIHtcbiAgICBpID0gdmFsLmxlbmd0aDtcbiAgICB3aGlsZSAoaS0tKSB7IF90cmF2ZXJzZSh2YWxbaV0sIHNlZW4pOyB9XG4gIH0gZWxzZSB7XG4gICAga2V5cyA9IE9iamVjdC5rZXlzKHZhbCk7XG4gICAgaSA9IGtleXMubGVuZ3RoO1xuICAgIHdoaWxlIChpLS0pIHsgX3RyYXZlcnNlKHZhbFtrZXlzW2ldXSwgc2Vlbik7IH1cbiAgfVxufVxuXG52YXIgbWFyaztcbnZhciBtZWFzdXJlO1xuXG5pZiAodHJ1ZSkge1xuICB2YXIgcGVyZiA9IGluQnJvd3NlciAmJiB3aW5kb3cucGVyZm9ybWFuY2U7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAoXG4gICAgcGVyZiAmJlxuICAgIHBlcmYubWFyayAmJlxuICAgIHBlcmYubWVhc3VyZSAmJlxuICAgIHBlcmYuY2xlYXJNYXJrcyAmJlxuICAgIHBlcmYuY2xlYXJNZWFzdXJlc1xuICApIHtcbiAgICBtYXJrID0gZnVuY3Rpb24gKHRhZykgeyByZXR1cm4gcGVyZi5tYXJrKHRhZyk7IH07XG4gICAgbWVhc3VyZSA9IGZ1bmN0aW9uIChuYW1lLCBzdGFydFRhZywgZW5kVGFnKSB7XG4gICAgICBwZXJmLm1lYXN1cmUobmFtZSwgc3RhcnRUYWcsIGVuZFRhZyk7XG4gICAgICBwZXJmLmNsZWFyTWFya3Moc3RhcnRUYWcpO1xuICAgICAgcGVyZi5jbGVhck1hcmtzKGVuZFRhZyk7XG4gICAgICBwZXJmLmNsZWFyTWVhc3VyZXMobmFtZSk7XG4gICAgfTtcbiAgfVxufVxuXG4vKiAgKi9cblxudmFyIG5vcm1hbGl6ZUV2ZW50ID0gY2FjaGVkKGZ1bmN0aW9uIChuYW1lKSB7XG4gIHZhciBwYXNzaXZlID0gbmFtZS5jaGFyQXQoMCkgPT09ICcmJztcbiAgbmFtZSA9IHBhc3NpdmUgPyBuYW1lLnNsaWNlKDEpIDogbmFtZTtcbiAgdmFyIG9uY2UkJDEgPSBuYW1lLmNoYXJBdCgwKSA9PT0gJ34nOyAvLyBQcmVmaXhlZCBsYXN0LCBjaGVja2VkIGZpcnN0XG4gIG5hbWUgPSBvbmNlJCQxID8gbmFtZS5zbGljZSgxKSA6IG5hbWU7XG4gIHZhciBjYXB0dXJlID0gbmFtZS5jaGFyQXQoMCkgPT09ICchJztcbiAgbmFtZSA9IGNhcHR1cmUgPyBuYW1lLnNsaWNlKDEpIDogbmFtZTtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiBuYW1lLFxuICAgIG9uY2U6IG9uY2UkJDEsXG4gICAgY2FwdHVyZTogY2FwdHVyZSxcbiAgICBwYXNzaXZlOiBwYXNzaXZlXG4gIH1cbn0pO1xuXG5mdW5jdGlvbiBjcmVhdGVGbkludm9rZXIgKGZucykge1xuICBmdW5jdGlvbiBpbnZva2VyICgpIHtcbiAgICB2YXIgYXJndW1lbnRzJDEgPSBhcmd1bWVudHM7XG5cbiAgICB2YXIgZm5zID0gaW52b2tlci5mbnM7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZm5zKSkge1xuICAgICAgdmFyIGNsb25lZCA9IGZucy5zbGljZSgpO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjbG9uZWQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY2xvbmVkW2ldLmFwcGx5KG51bGwsIGFyZ3VtZW50cyQxKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gcmV0dXJuIGhhbmRsZXIgcmV0dXJuIHZhbHVlIGZvciBzaW5nbGUgaGFuZGxlcnNcbiAgICAgIHJldHVybiBmbnMuYXBwbHkobnVsbCwgYXJndW1lbnRzKVxuICAgIH1cbiAgfVxuICBpbnZva2VyLmZucyA9IGZucztcbiAgcmV0dXJuIGludm9rZXJcbn1cblxuZnVuY3Rpb24gdXBkYXRlTGlzdGVuZXJzIChcbiAgb24sXG4gIG9sZE9uLFxuICBhZGQsXG4gIHJlbW92ZSQkMSxcbiAgY3JlYXRlT25jZUhhbmRsZXIsXG4gIHZtXG4pIHtcbiAgdmFyIG5hbWUsIGRlZiQkMSwgY3VyLCBvbGQsIGV2ZW50O1xuICBmb3IgKG5hbWUgaW4gb24pIHtcbiAgICBkZWYkJDEgPSBjdXIgPSBvbltuYW1lXTtcbiAgICBvbGQgPSBvbGRPbltuYW1lXTtcbiAgICBldmVudCA9IG5vcm1hbGl6ZUV2ZW50KG5hbWUpO1xuICAgIGlmIChpc1VuZGVmKGN1cikpIHtcbiAgICAgICB0cnVlICYmIHdhcm4oXG4gICAgICAgIFwiSW52YWxpZCBoYW5kbGVyIGZvciBldmVudCBcXFwiXCIgKyAoZXZlbnQubmFtZSkgKyBcIlxcXCI6IGdvdCBcIiArIFN0cmluZyhjdXIpLFxuICAgICAgICB2bVxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKGlzVW5kZWYob2xkKSkge1xuICAgICAgaWYgKGlzVW5kZWYoY3VyLmZucykpIHtcbiAgICAgICAgY3VyID0gb25bbmFtZV0gPSBjcmVhdGVGbkludm9rZXIoY3VyKTtcbiAgICAgIH1cbiAgICAgIGlmIChpc1RydWUoZXZlbnQub25jZSkpIHtcbiAgICAgICAgY3VyID0gb25bbmFtZV0gPSBjcmVhdGVPbmNlSGFuZGxlcihldmVudC5uYW1lLCBjdXIsIGV2ZW50LmNhcHR1cmUpO1xuICAgICAgfVxuICAgICAgYWRkKGV2ZW50Lm5hbWUsIGN1ciwgZXZlbnQuY2FwdHVyZSwgZXZlbnQucGFzc2l2ZSwgZXZlbnQucGFyYW1zKTtcbiAgICB9IGVsc2UgaWYgKGN1ciAhPT0gb2xkKSB7XG4gICAgICBvbGQuZm5zID0gY3VyO1xuICAgICAgb25bbmFtZV0gPSBvbGQ7XG4gICAgfVxuICB9XG4gIGZvciAobmFtZSBpbiBvbGRPbikge1xuICAgIGlmIChpc1VuZGVmKG9uW25hbWVdKSkge1xuICAgICAgZXZlbnQgPSBub3JtYWxpemVFdmVudChuYW1lKTtcbiAgICAgIHJlbW92ZSQkMShldmVudC5uYW1lLCBvbGRPbltuYW1lXSwgZXZlbnQuY2FwdHVyZSk7XG4gICAgfVxuICB9XG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBtZXJnZVZOb2RlSG9vayAoZGVmLCBob29rS2V5LCBob29rKSB7XG4gIGlmIChkZWYgaW5zdGFuY2VvZiBWTm9kZSkge1xuICAgIGRlZiA9IGRlZi5kYXRhLmhvb2sgfHwgKGRlZi5kYXRhLmhvb2sgPSB7fSk7XG4gIH1cbiAgdmFyIGludm9rZXI7XG4gIHZhciBvbGRIb29rID0gZGVmW2hvb2tLZXldO1xuXG4gIGZ1bmN0aW9uIHdyYXBwZWRIb29rICgpIHtcbiAgICBob29rLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgLy8gaW1wb3J0YW50OiByZW1vdmUgbWVyZ2VkIGhvb2sgdG8gZW5zdXJlIGl0J3MgY2FsbGVkIG9ubHkgb25jZVxuICAgIC8vIGFuZCBwcmV2ZW50IG1lbW9yeSBsZWFrXG4gICAgcmVtb3ZlKGludm9rZXIuZm5zLCB3cmFwcGVkSG9vayk7XG4gIH1cblxuICBpZiAoaXNVbmRlZihvbGRIb29rKSkge1xuICAgIC8vIG5vIGV4aXN0aW5nIGhvb2tcbiAgICBpbnZva2VyID0gY3JlYXRlRm5JbnZva2VyKFt3cmFwcGVkSG9va10pO1xuICB9IGVsc2Uge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChpc0RlZihvbGRIb29rLmZucykgJiYgaXNUcnVlKG9sZEhvb2subWVyZ2VkKSkge1xuICAgICAgLy8gYWxyZWFkeSBhIG1lcmdlZCBpbnZva2VyXG4gICAgICBpbnZva2VyID0gb2xkSG9vaztcbiAgICAgIGludm9rZXIuZm5zLnB1c2god3JhcHBlZEhvb2spO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBleGlzdGluZyBwbGFpbiBob29rXG4gICAgICBpbnZva2VyID0gY3JlYXRlRm5JbnZva2VyKFtvbGRIb29rLCB3cmFwcGVkSG9va10pO1xuICAgIH1cbiAgfVxuXG4gIGludm9rZXIubWVyZ2VkID0gdHJ1ZTtcbiAgZGVmW2hvb2tLZXldID0gaW52b2tlcjtcbn1cblxuLyogICovXG5cbmZ1bmN0aW9uIGV4dHJhY3RQcm9wc0Zyb21WTm9kZURhdGEgKFxuICBkYXRhLFxuICBDdG9yLFxuICB0YWdcbikge1xuICAvLyB3ZSBhcmUgb25seSBleHRyYWN0aW5nIHJhdyB2YWx1ZXMgaGVyZS5cbiAgLy8gdmFsaWRhdGlvbiBhbmQgZGVmYXVsdCB2YWx1ZXMgYXJlIGhhbmRsZWQgaW4gdGhlIGNoaWxkXG4gIC8vIGNvbXBvbmVudCBpdHNlbGYuXG4gIHZhciBwcm9wT3B0aW9ucyA9IEN0b3Iub3B0aW9ucy5wcm9wcztcbiAgaWYgKGlzVW5kZWYocHJvcE9wdGlvbnMpKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgdmFyIHJlcyA9IHt9O1xuICB2YXIgYXR0cnMgPSBkYXRhLmF0dHJzO1xuICB2YXIgcHJvcHMgPSBkYXRhLnByb3BzO1xuICBpZiAoaXNEZWYoYXR0cnMpIHx8IGlzRGVmKHByb3BzKSkge1xuICAgIGZvciAodmFyIGtleSBpbiBwcm9wT3B0aW9ucykge1xuICAgICAgdmFyIGFsdEtleSA9IGh5cGhlbmF0ZShrZXkpO1xuICAgICAgaWYgKHRydWUpIHtcbiAgICAgICAgdmFyIGtleUluTG93ZXJDYXNlID0ga2V5LnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBrZXkgIT09IGtleUluTG93ZXJDYXNlICYmXG4gICAgICAgICAgYXR0cnMgJiYgaGFzT3duKGF0dHJzLCBrZXlJbkxvd2VyQ2FzZSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGlwKFxuICAgICAgICAgICAgXCJQcm9wIFxcXCJcIiArIGtleUluTG93ZXJDYXNlICsgXCJcXFwiIGlzIHBhc3NlZCB0byBjb21wb25lbnQgXCIgK1xuICAgICAgICAgICAgKGZvcm1hdENvbXBvbmVudE5hbWUodGFnIHx8IEN0b3IpKSArIFwiLCBidXQgdGhlIGRlY2xhcmVkIHByb3AgbmFtZSBpc1wiICtcbiAgICAgICAgICAgIFwiIFxcXCJcIiArIGtleSArIFwiXFxcIi4gXCIgK1xuICAgICAgICAgICAgXCJOb3RlIHRoYXQgSFRNTCBhdHRyaWJ1dGVzIGFyZSBjYXNlLWluc2Vuc2l0aXZlIGFuZCBjYW1lbENhc2VkIFwiICtcbiAgICAgICAgICAgIFwicHJvcHMgbmVlZCB0byB1c2UgdGhlaXIga2ViYWItY2FzZSBlcXVpdmFsZW50cyB3aGVuIHVzaW5nIGluLURPTSBcIiArXG4gICAgICAgICAgICBcInRlbXBsYXRlcy4gWW91IHNob3VsZCBwcm9iYWJseSB1c2UgXFxcIlwiICsgYWx0S2V5ICsgXCJcXFwiIGluc3RlYWQgb2YgXFxcIlwiICsga2V5ICsgXCJcXFwiLlwiXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY2hlY2tQcm9wKHJlcywgcHJvcHMsIGtleSwgYWx0S2V5LCB0cnVlKSB8fFxuICAgICAgY2hlY2tQcm9wKHJlcywgYXR0cnMsIGtleSwgYWx0S2V5LCBmYWxzZSk7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXNcbn1cblxuZnVuY3Rpb24gY2hlY2tQcm9wIChcbiAgcmVzLFxuICBoYXNoLFxuICBrZXksXG4gIGFsdEtleSxcbiAgcHJlc2VydmVcbikge1xuICBpZiAoaXNEZWYoaGFzaCkpIHtcbiAgICBpZiAoaGFzT3duKGhhc2gsIGtleSkpIHtcbiAgICAgIHJlc1trZXldID0gaGFzaFtrZXldO1xuICAgICAgaWYgKCFwcmVzZXJ2ZSkge1xuICAgICAgICBkZWxldGUgaGFzaFtrZXldO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9IGVsc2UgaWYgKGhhc093bihoYXNoLCBhbHRLZXkpKSB7XG4gICAgICByZXNba2V5XSA9IGhhc2hbYWx0S2V5XTtcbiAgICAgIGlmICghcHJlc2VydmUpIHtcbiAgICAgICAgZGVsZXRlIGhhc2hbYWx0S2V5XTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZVxufVxuXG4vKiAgKi9cblxuLy8gVGhlIHRlbXBsYXRlIGNvbXBpbGVyIGF0dGVtcHRzIHRvIG1pbmltaXplIHRoZSBuZWVkIGZvciBub3JtYWxpemF0aW9uIGJ5XG4vLyBzdGF0aWNhbGx5IGFuYWx5emluZyB0aGUgdGVtcGxhdGUgYXQgY29tcGlsZSB0aW1lLlxuLy9cbi8vIEZvciBwbGFpbiBIVE1MIG1hcmt1cCwgbm9ybWFsaXphdGlvbiBjYW4gYmUgY29tcGxldGVseSBza2lwcGVkIGJlY2F1c2UgdGhlXG4vLyBnZW5lcmF0ZWQgcmVuZGVyIGZ1bmN0aW9uIGlzIGd1YXJhbnRlZWQgdG8gcmV0dXJuIEFycmF5PFZOb2RlPi4gVGhlcmUgYXJlXG4vLyB0d28gY2FzZXMgd2hlcmUgZXh0cmEgbm9ybWFsaXphdGlvbiBpcyBuZWVkZWQ6XG5cbi8vIDEuIFdoZW4gdGhlIGNoaWxkcmVuIGNvbnRhaW5zIGNvbXBvbmVudHMgLSBiZWNhdXNlIGEgZnVuY3Rpb25hbCBjb21wb25lbnRcbi8vIG1heSByZXR1cm4gYW4gQXJyYXkgaW5zdGVhZCBvZiBhIHNpbmdsZSByb290LiBJbiB0aGlzIGNhc2UsIGp1c3QgYSBzaW1wbGVcbi8vIG5vcm1hbGl6YXRpb24gaXMgbmVlZGVkIC0gaWYgYW55IGNoaWxkIGlzIGFuIEFycmF5LCB3ZSBmbGF0dGVuIHRoZSB3aG9sZVxuLy8gdGhpbmcgd2l0aCBBcnJheS5wcm90b3R5cGUuY29uY2F0LiBJdCBpcyBndWFyYW50ZWVkIHRvIGJlIG9ubHkgMS1sZXZlbCBkZWVwXG4vLyBiZWNhdXNlIGZ1bmN0aW9uYWwgY29tcG9uZW50cyBhbHJlYWR5IG5vcm1hbGl6ZSB0aGVpciBvd24gY2hpbGRyZW4uXG5mdW5jdGlvbiBzaW1wbGVOb3JtYWxpemVDaGlsZHJlbiAoY2hpbGRyZW4pIHtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGNoaWxkcmVuW2ldKSkge1xuICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5jb25jYXQuYXBwbHkoW10sIGNoaWxkcmVuKVxuICAgIH1cbiAgfVxuICByZXR1cm4gY2hpbGRyZW5cbn1cblxuLy8gMi4gV2hlbiB0aGUgY2hpbGRyZW4gY29udGFpbnMgY29uc3RydWN0cyB0aGF0IGFsd2F5cyBnZW5lcmF0ZWQgbmVzdGVkIEFycmF5cyxcbi8vIGUuZy4gPHRlbXBsYXRlPiwgPHNsb3Q+LCB2LWZvciwgb3Igd2hlbiB0aGUgY2hpbGRyZW4gaXMgcHJvdmlkZWQgYnkgdXNlclxuLy8gd2l0aCBoYW5kLXdyaXR0ZW4gcmVuZGVyIGZ1bmN0aW9ucyAvIEpTWC4gSW4gc3VjaCBjYXNlcyBhIGZ1bGwgbm9ybWFsaXphdGlvblxuLy8gaXMgbmVlZGVkIHRvIGNhdGVyIHRvIGFsbCBwb3NzaWJsZSB0eXBlcyBvZiBjaGlsZHJlbiB2YWx1ZXMuXG5mdW5jdGlvbiBub3JtYWxpemVDaGlsZHJlbiAoY2hpbGRyZW4pIHtcbiAgcmV0dXJuIGlzUHJpbWl0aXZlKGNoaWxkcmVuKVxuICAgID8gW2NyZWF0ZVRleHRWTm9kZShjaGlsZHJlbildXG4gICAgOiBBcnJheS5pc0FycmF5KGNoaWxkcmVuKVxuICAgICAgPyBub3JtYWxpemVBcnJheUNoaWxkcmVuKGNoaWxkcmVuKVxuICAgICAgOiB1bmRlZmluZWRcbn1cblxuZnVuY3Rpb24gaXNUZXh0Tm9kZSAobm9kZSkge1xuICByZXR1cm4gaXNEZWYobm9kZSkgJiYgaXNEZWYobm9kZS50ZXh0KSAmJiBpc0ZhbHNlKG5vZGUuaXNDb21tZW50KVxufVxuXG5mdW5jdGlvbiBub3JtYWxpemVBcnJheUNoaWxkcmVuIChjaGlsZHJlbiwgbmVzdGVkSW5kZXgpIHtcbiAgdmFyIHJlcyA9IFtdO1xuICB2YXIgaSwgYywgbGFzdEluZGV4LCBsYXN0O1xuICBmb3IgKGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICBjID0gY2hpbGRyZW5baV07XG4gICAgaWYgKGlzVW5kZWYoYykgfHwgdHlwZW9mIGMgPT09ICdib29sZWFuJykgeyBjb250aW51ZSB9XG4gICAgbGFzdEluZGV4ID0gcmVzLmxlbmd0aCAtIDE7XG4gICAgbGFzdCA9IHJlc1tsYXN0SW5kZXhdO1xuICAgIC8vICBuZXN0ZWRcbiAgICBpZiAoQXJyYXkuaXNBcnJheShjKSkge1xuICAgICAgaWYgKGMubGVuZ3RoID4gMCkge1xuICAgICAgICBjID0gbm9ybWFsaXplQXJyYXlDaGlsZHJlbihjLCAoKG5lc3RlZEluZGV4IHx8ICcnKSArIFwiX1wiICsgaSkpO1xuICAgICAgICAvLyBtZXJnZSBhZGphY2VudCB0ZXh0IG5vZGVzXG4gICAgICAgIGlmIChpc1RleHROb2RlKGNbMF0pICYmIGlzVGV4dE5vZGUobGFzdCkpIHtcbiAgICAgICAgICByZXNbbGFzdEluZGV4XSA9IGNyZWF0ZVRleHRWTm9kZShsYXN0LnRleHQgKyAoY1swXSkudGV4dCk7XG4gICAgICAgICAgYy5zaGlmdCgpO1xuICAgICAgICB9XG4gICAgICAgIHJlcy5wdXNoLmFwcGx5KHJlcywgYyk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpc1ByaW1pdGl2ZShjKSkge1xuICAgICAgaWYgKGlzVGV4dE5vZGUobGFzdCkpIHtcbiAgICAgICAgLy8gbWVyZ2UgYWRqYWNlbnQgdGV4dCBub2Rlc1xuICAgICAgICAvLyB0aGlzIGlzIG5lY2Vzc2FyeSBmb3IgU1NSIGh5ZHJhdGlvbiBiZWNhdXNlIHRleHQgbm9kZXMgYXJlXG4gICAgICAgIC8vIGVzc2VudGlhbGx5IG1lcmdlZCB3aGVuIHJlbmRlcmVkIHRvIEhUTUwgc3RyaW5nc1xuICAgICAgICByZXNbbGFzdEluZGV4XSA9IGNyZWF0ZVRleHRWTm9kZShsYXN0LnRleHQgKyBjKTtcbiAgICAgIH0gZWxzZSBpZiAoYyAhPT0gJycpIHtcbiAgICAgICAgLy8gY29udmVydCBwcmltaXRpdmUgdG8gdm5vZGVcbiAgICAgICAgcmVzLnB1c2goY3JlYXRlVGV4dFZOb2RlKGMpKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGlzVGV4dE5vZGUoYykgJiYgaXNUZXh0Tm9kZShsYXN0KSkge1xuICAgICAgICAvLyBtZXJnZSBhZGphY2VudCB0ZXh0IG5vZGVzXG4gICAgICAgIHJlc1tsYXN0SW5kZXhdID0gY3JlYXRlVGV4dFZOb2RlKGxhc3QudGV4dCArIGMudGV4dCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBkZWZhdWx0IGtleSBmb3IgbmVzdGVkIGFycmF5IGNoaWxkcmVuIChsaWtlbHkgZ2VuZXJhdGVkIGJ5IHYtZm9yKVxuICAgICAgICBpZiAoaXNUcnVlKGNoaWxkcmVuLl9pc1ZMaXN0KSAmJlxuICAgICAgICAgIGlzRGVmKGMudGFnKSAmJlxuICAgICAgICAgIGlzVW5kZWYoYy5rZXkpICYmXG4gICAgICAgICAgaXNEZWYobmVzdGVkSW5kZXgpKSB7XG4gICAgICAgICAgYy5rZXkgPSBcIl9fdmxpc3RcIiArIG5lc3RlZEluZGV4ICsgXCJfXCIgKyBpICsgXCJfX1wiO1xuICAgICAgICB9XG4gICAgICAgIHJlcy5wdXNoKGMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzXG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBlbnN1cmVDdG9yIChjb21wLCBiYXNlKSB7XG4gIGlmIChcbiAgICBjb21wLl9fZXNNb2R1bGUgfHxcbiAgICAoaGFzU3ltYm9sICYmIGNvbXBbU3ltYm9sLnRvU3RyaW5nVGFnXSA9PT0gJ01vZHVsZScpXG4gICkge1xuICAgIGNvbXAgPSBjb21wLmRlZmF1bHQ7XG4gIH1cbiAgcmV0dXJuIGlzT2JqZWN0KGNvbXApXG4gICAgPyBiYXNlLmV4dGVuZChjb21wKVxuICAgIDogY29tcFxufVxuXG5mdW5jdGlvbiBjcmVhdGVBc3luY1BsYWNlaG9sZGVyIChcbiAgZmFjdG9yeSxcbiAgZGF0YSxcbiAgY29udGV4dCxcbiAgY2hpbGRyZW4sXG4gIHRhZ1xuKSB7XG4gIHZhciBub2RlID0gY3JlYXRlRW1wdHlWTm9kZSgpO1xuICBub2RlLmFzeW5jRmFjdG9yeSA9IGZhY3Rvcnk7XG4gIG5vZGUuYXN5bmNNZXRhID0geyBkYXRhOiBkYXRhLCBjb250ZXh0OiBjb250ZXh0LCBjaGlsZHJlbjogY2hpbGRyZW4sIHRhZzogdGFnIH07XG4gIHJldHVybiBub2RlXG59XG5cbmZ1bmN0aW9uIHJlc29sdmVBc3luY0NvbXBvbmVudCAoXG4gIGZhY3RvcnksXG4gIGJhc2VDdG9yLFxuICBjb250ZXh0XG4pIHtcbiAgaWYgKGlzVHJ1ZShmYWN0b3J5LmVycm9yKSAmJiBpc0RlZihmYWN0b3J5LmVycm9yQ29tcCkpIHtcbiAgICByZXR1cm4gZmFjdG9yeS5lcnJvckNvbXBcbiAgfVxuXG4gIGlmIChpc0RlZihmYWN0b3J5LnJlc29sdmVkKSkge1xuICAgIHJldHVybiBmYWN0b3J5LnJlc29sdmVkXG4gIH1cblxuICBpZiAoaXNUcnVlKGZhY3RvcnkubG9hZGluZykgJiYgaXNEZWYoZmFjdG9yeS5sb2FkaW5nQ29tcCkpIHtcbiAgICByZXR1cm4gZmFjdG9yeS5sb2FkaW5nQ29tcFxuICB9XG5cbiAgaWYgKGlzRGVmKGZhY3RvcnkuY29udGV4dHMpKSB7XG4gICAgLy8gYWxyZWFkeSBwZW5kaW5nXG4gICAgZmFjdG9yeS5jb250ZXh0cy5wdXNoKGNvbnRleHQpO1xuICB9IGVsc2Uge1xuICAgIHZhciBjb250ZXh0cyA9IGZhY3RvcnkuY29udGV4dHMgPSBbY29udGV4dF07XG4gICAgdmFyIHN5bmMgPSB0cnVlO1xuXG4gICAgdmFyIGZvcmNlUmVuZGVyID0gZnVuY3Rpb24gKHJlbmRlckNvbXBsZXRlZCkge1xuICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSBjb250ZXh0cy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgY29udGV4dHNbaV0uJGZvcmNlVXBkYXRlKCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChyZW5kZXJDb21wbGV0ZWQpIHtcbiAgICAgICAgY29udGV4dHMubGVuZ3RoID0gMDtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdmFyIHJlc29sdmUgPSBvbmNlKGZ1bmN0aW9uIChyZXMpIHtcbiAgICAgIC8vIGNhY2hlIHJlc29sdmVkXG4gICAgICBmYWN0b3J5LnJlc29sdmVkID0gZW5zdXJlQ3RvcihyZXMsIGJhc2VDdG9yKTtcbiAgICAgIC8vIGludm9rZSBjYWxsYmFja3Mgb25seSBpZiB0aGlzIGlzIG5vdCBhIHN5bmNocm9ub3VzIHJlc29sdmVcbiAgICAgIC8vIChhc3luYyByZXNvbHZlcyBhcmUgc2hpbW1lZCBhcyBzeW5jaHJvbm91cyBkdXJpbmcgU1NSKVxuICAgICAgaWYgKCFzeW5jKSB7XG4gICAgICAgIGZvcmNlUmVuZGVyKHRydWUpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdmFyIHJlamVjdCA9IG9uY2UoZnVuY3Rpb24gKHJlYXNvbikge1xuICAgICAgIHRydWUgJiYgd2FybihcbiAgICAgICAgXCJGYWlsZWQgdG8gcmVzb2x2ZSBhc3luYyBjb21wb25lbnQ6IFwiICsgKFN0cmluZyhmYWN0b3J5KSkgK1xuICAgICAgICAocmVhc29uID8gKFwiXFxuUmVhc29uOiBcIiArIHJlYXNvbikgOiAnJylcbiAgICAgICk7XG4gICAgICBpZiAoaXNEZWYoZmFjdG9yeS5lcnJvckNvbXApKSB7XG4gICAgICAgIGZhY3RvcnkuZXJyb3IgPSB0cnVlO1xuICAgICAgICBmb3JjZVJlbmRlcih0cnVlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHZhciByZXMgPSBmYWN0b3J5KHJlc29sdmUsIHJlamVjdCk7XG5cbiAgICBpZiAoaXNPYmplY3QocmVzKSkge1xuICAgICAgaWYgKHR5cGVvZiByZXMudGhlbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAvLyAoKSA9PiBQcm9taXNlXG4gICAgICAgIGlmIChpc1VuZGVmKGZhY3RvcnkucmVzb2x2ZWQpKSB7XG4gICAgICAgICAgcmVzLnRoZW4ocmVzb2x2ZSwgcmVqZWN0KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChpc0RlZihyZXMuY29tcG9uZW50KSAmJiB0eXBlb2YgcmVzLmNvbXBvbmVudC50aGVuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJlcy5jb21wb25lbnQudGhlbihyZXNvbHZlLCByZWplY3QpO1xuXG4gICAgICAgIGlmIChpc0RlZihyZXMuZXJyb3IpKSB7XG4gICAgICAgICAgZmFjdG9yeS5lcnJvckNvbXAgPSBlbnN1cmVDdG9yKHJlcy5lcnJvciwgYmFzZUN0b3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzRGVmKHJlcy5sb2FkaW5nKSkge1xuICAgICAgICAgIGZhY3RvcnkubG9hZGluZ0NvbXAgPSBlbnN1cmVDdG9yKHJlcy5sb2FkaW5nLCBiYXNlQ3Rvcik7XG4gICAgICAgICAgaWYgKHJlcy5kZWxheSA9PT0gMCkge1xuICAgICAgICAgICAgZmFjdG9yeS5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgIGlmIChpc1VuZGVmKGZhY3RvcnkucmVzb2x2ZWQpICYmIGlzVW5kZWYoZmFjdG9yeS5lcnJvcikpIHtcbiAgICAgICAgICAgICAgICBmYWN0b3J5LmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGZvcmNlUmVuZGVyKGZhbHNlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgcmVzLmRlbGF5IHx8IDIwMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzRGVmKHJlcy50aW1lb3V0KSkge1xuICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgaWYgKGlzVW5kZWYoZmFjdG9yeS5yZXNvbHZlZCkpIHtcbiAgICAgICAgICAgICAgcmVqZWN0KFxuICAgICAgICAgICAgICAgICB0cnVlXG4gICAgICAgICAgICAgICAgICA/IChcInRpbWVvdXQgKFwiICsgKHJlcy50aW1lb3V0KSArIFwibXMpXCIpXG4gICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sIHJlcy50aW1lb3V0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHN5bmMgPSBmYWxzZTtcbiAgICAvLyByZXR1cm4gaW4gY2FzZSByZXNvbHZlZCBzeW5jaHJvbm91c2x5XG4gICAgcmV0dXJuIGZhY3RvcnkubG9hZGluZ1xuICAgICAgPyBmYWN0b3J5LmxvYWRpbmdDb21wXG4gICAgICA6IGZhY3RvcnkucmVzb2x2ZWRcbiAgfVxufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gaXNBc3luY1BsYWNlaG9sZGVyIChub2RlKSB7XG4gIHJldHVybiBub2RlLmlzQ29tbWVudCAmJiBub2RlLmFzeW5jRmFjdG9yeVxufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gZ2V0Rmlyc3RDb21wb25lbnRDaGlsZCAoY2hpbGRyZW4pIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGMgPSBjaGlsZHJlbltpXTtcbiAgICAgIGlmIChpc0RlZihjKSAmJiAoaXNEZWYoYy5jb21wb25lbnRPcHRpb25zKSB8fCBpc0FzeW5jUGxhY2Vob2xkZXIoYykpKSB7XG4gICAgICAgIHJldHVybiBjXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qICAqL1xuXG4vKiAgKi9cblxuZnVuY3Rpb24gaW5pdEV2ZW50cyAodm0pIHtcbiAgdm0uX2V2ZW50cyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gIHZtLl9oYXNIb29rRXZlbnQgPSBmYWxzZTtcbiAgLy8gaW5pdCBwYXJlbnQgYXR0YWNoZWQgZXZlbnRzXG4gIHZhciBsaXN0ZW5lcnMgPSB2bS4kb3B0aW9ucy5fcGFyZW50TGlzdGVuZXJzO1xuICBpZiAobGlzdGVuZXJzKSB7XG4gICAgdXBkYXRlQ29tcG9uZW50TGlzdGVuZXJzKHZtLCBsaXN0ZW5lcnMpO1xuICB9XG59XG5cbnZhciB0YXJnZXQ7XG5cbmZ1bmN0aW9uIGFkZCAoZXZlbnQsIGZuKSB7XG4gIHRhcmdldC4kb24oZXZlbnQsIGZuKTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlJDEgKGV2ZW50LCBmbikge1xuICB0YXJnZXQuJG9mZihldmVudCwgZm4pO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVPbmNlSGFuZGxlciAoZXZlbnQsIGZuKSB7XG4gIHZhciBfdGFyZ2V0ID0gdGFyZ2V0O1xuICByZXR1cm4gZnVuY3Rpb24gb25jZUhhbmRsZXIgKCkge1xuICAgIHZhciByZXMgPSBmbi5hcHBseShudWxsLCBhcmd1bWVudHMpO1xuICAgIGlmIChyZXMgIT09IG51bGwpIHtcbiAgICAgIF90YXJnZXQuJG9mZihldmVudCwgb25jZUhhbmRsZXIpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB1cGRhdGVDb21wb25lbnRMaXN0ZW5lcnMgKFxuICB2bSxcbiAgbGlzdGVuZXJzLFxuICBvbGRMaXN0ZW5lcnNcbikge1xuICB0YXJnZXQgPSB2bTtcbiAgdXBkYXRlTGlzdGVuZXJzKGxpc3RlbmVycywgb2xkTGlzdGVuZXJzIHx8IHt9LCBhZGQsIHJlbW92ZSQxLCBjcmVhdGVPbmNlSGFuZGxlciwgdm0pO1xuICB0YXJnZXQgPSB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGV2ZW50c01peGluIChWdWUpIHtcbiAgdmFyIGhvb2tSRSA9IC9eaG9vazovO1xuICBWdWUucHJvdG90eXBlLiRvbiA9IGZ1bmN0aW9uIChldmVudCwgZm4pIHtcbiAgICB2YXIgdm0gPSB0aGlzO1xuICAgIGlmIChBcnJheS5pc0FycmF5KGV2ZW50KSkge1xuICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSBldmVudC5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgdm0uJG9uKGV2ZW50W2ldLCBmbik7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICh2bS5fZXZlbnRzW2V2ZW50XSB8fCAodm0uX2V2ZW50c1tldmVudF0gPSBbXSkpLnB1c2goZm4pO1xuICAgICAgLy8gb3B0aW1pemUgaG9vazpldmVudCBjb3N0IGJ5IHVzaW5nIGEgYm9vbGVhbiBmbGFnIG1hcmtlZCBhdCByZWdpc3RyYXRpb25cbiAgICAgIC8vIGluc3RlYWQgb2YgYSBoYXNoIGxvb2t1cFxuICAgICAgaWYgKGhvb2tSRS50ZXN0KGV2ZW50KSkge1xuICAgICAgICB2bS5faGFzSG9va0V2ZW50ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHZtXG4gIH07XG5cbiAgVnVlLnByb3RvdHlwZS4kb25jZSA9IGZ1bmN0aW9uIChldmVudCwgZm4pIHtcbiAgICB2YXIgdm0gPSB0aGlzO1xuICAgIGZ1bmN0aW9uIG9uICgpIHtcbiAgICAgIHZtLiRvZmYoZXZlbnQsIG9uKTtcbiAgICAgIGZuLmFwcGx5KHZtLCBhcmd1bWVudHMpO1xuICAgIH1cbiAgICBvbi5mbiA9IGZuO1xuICAgIHZtLiRvbihldmVudCwgb24pO1xuICAgIHJldHVybiB2bVxuICB9O1xuXG4gIFZ1ZS5wcm90b3R5cGUuJG9mZiA9IGZ1bmN0aW9uIChldmVudCwgZm4pIHtcbiAgICB2YXIgdm0gPSB0aGlzO1xuICAgIC8vIGFsbFxuICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkge1xuICAgICAgdm0uX2V2ZW50cyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgICByZXR1cm4gdm1cbiAgICB9XG4gICAgLy8gYXJyYXkgb2YgZXZlbnRzXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZXZlbnQpKSB7XG4gICAgICBmb3IgKHZhciBpID0gMCwgbCA9IGV2ZW50Lmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICB2bS4kb2ZmKGV2ZW50W2ldLCBmbik7XG4gICAgICB9XG4gICAgICByZXR1cm4gdm1cbiAgICB9XG4gICAgLy8gc3BlY2lmaWMgZXZlbnRcbiAgICB2YXIgY2JzID0gdm0uX2V2ZW50c1tldmVudF07XG4gICAgaWYgKCFjYnMpIHtcbiAgICAgIHJldHVybiB2bVxuICAgIH1cbiAgICBpZiAoIWZuKSB7XG4gICAgICB2bS5fZXZlbnRzW2V2ZW50XSA9IG51bGw7XG4gICAgICByZXR1cm4gdm1cbiAgICB9XG4gICAgaWYgKGZuKSB7XG4gICAgICAvLyBzcGVjaWZpYyBoYW5kbGVyXG4gICAgICB2YXIgY2I7XG4gICAgICB2YXIgaSQxID0gY2JzLmxlbmd0aDtcbiAgICAgIHdoaWxlIChpJDEtLSkge1xuICAgICAgICBjYiA9IGNic1tpJDFdO1xuICAgICAgICBpZiAoY2IgPT09IGZuIHx8IGNiLmZuID09PSBmbikge1xuICAgICAgICAgIGNicy5zcGxpY2UoaSQxLCAxKTtcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB2bVxuICB9O1xuXG4gIFZ1ZS5wcm90b3R5cGUuJGVtaXQgPSBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICB2YXIgdm0gPSB0aGlzO1xuICAgIGlmICh0cnVlKSB7XG4gICAgICB2YXIgbG93ZXJDYXNlRXZlbnQgPSBldmVudC50b0xvd2VyQ2FzZSgpO1xuICAgICAgaWYgKGxvd2VyQ2FzZUV2ZW50ICE9PSBldmVudCAmJiB2bS5fZXZlbnRzW2xvd2VyQ2FzZUV2ZW50XSkge1xuICAgICAgICB0aXAoXG4gICAgICAgICAgXCJFdmVudCBcXFwiXCIgKyBsb3dlckNhc2VFdmVudCArIFwiXFxcIiBpcyBlbWl0dGVkIGluIGNvbXBvbmVudCBcIiArXG4gICAgICAgICAgKGZvcm1hdENvbXBvbmVudE5hbWUodm0pKSArIFwiIGJ1dCB0aGUgaGFuZGxlciBpcyByZWdpc3RlcmVkIGZvciBcXFwiXCIgKyBldmVudCArIFwiXFxcIi4gXCIgK1xuICAgICAgICAgIFwiTm90ZSB0aGF0IEhUTUwgYXR0cmlidXRlcyBhcmUgY2FzZS1pbnNlbnNpdGl2ZSBhbmQgeW91IGNhbm5vdCB1c2UgXCIgK1xuICAgICAgICAgIFwidi1vbiB0byBsaXN0ZW4gdG8gY2FtZWxDYXNlIGV2ZW50cyB3aGVuIHVzaW5nIGluLURPTSB0ZW1wbGF0ZXMuIFwiICtcbiAgICAgICAgICBcIllvdSBzaG91bGQgcHJvYmFibHkgdXNlIFxcXCJcIiArIChoeXBoZW5hdGUoZXZlbnQpKSArIFwiXFxcIiBpbnN0ZWFkIG9mIFxcXCJcIiArIGV2ZW50ICsgXCJcXFwiLlwiXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIHZhciBjYnMgPSB2bS5fZXZlbnRzW2V2ZW50XTtcbiAgICBpZiAoY2JzKSB7XG4gICAgICBjYnMgPSBjYnMubGVuZ3RoID4gMSA/IHRvQXJyYXkoY2JzKSA6IGNicztcbiAgICAgIHZhciBhcmdzID0gdG9BcnJheShhcmd1bWVudHMsIDEpO1xuICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSBjYnMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY2JzW2ldLmFwcGx5KHZtLCBhcmdzKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGhhbmRsZUVycm9yKGUsIHZtLCAoXCJldmVudCBoYW5kbGVyIGZvciBcXFwiXCIgKyBldmVudCArIFwiXFxcIlwiKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHZtXG4gIH07XG59XG5cbi8qICAqL1xuXG5cblxuLyoqXG4gKiBSdW50aW1lIGhlbHBlciBmb3IgcmVzb2x2aW5nIHJhdyBjaGlsZHJlbiBWTm9kZXMgaW50byBhIHNsb3Qgb2JqZWN0LlxuICovXG5mdW5jdGlvbiByZXNvbHZlU2xvdHMgKFxuICBjaGlsZHJlbixcbiAgY29udGV4dFxuKSB7XG4gIHZhciBzbG90cyA9IHt9O1xuICBpZiAoIWNoaWxkcmVuKSB7XG4gICAgcmV0dXJuIHNsb3RzXG4gIH1cbiAgZm9yICh2YXIgaSA9IDAsIGwgPSBjaGlsZHJlbi5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICB2YXIgY2hpbGQgPSBjaGlsZHJlbltpXTtcbiAgICB2YXIgZGF0YSA9IGNoaWxkLmRhdGE7XG4gICAgLy8gcmVtb3ZlIHNsb3QgYXR0cmlidXRlIGlmIHRoZSBub2RlIGlzIHJlc29sdmVkIGFzIGEgVnVlIHNsb3Qgbm9kZVxuICAgIGlmIChkYXRhICYmIGRhdGEuYXR0cnMgJiYgZGF0YS5hdHRycy5zbG90KSB7XG4gICAgICBkZWxldGUgZGF0YS5hdHRycy5zbG90O1xuICAgIH1cbiAgICAvLyBuYW1lZCBzbG90cyBzaG91bGQgb25seSBiZSByZXNwZWN0ZWQgaWYgdGhlIHZub2RlIHdhcyByZW5kZXJlZCBpbiB0aGVcbiAgICAvLyBzYW1lIGNvbnRleHQuXG4gICAgaWYgKChjaGlsZC5jb250ZXh0ID09PSBjb250ZXh0IHx8IGNoaWxkLmZuQ29udGV4dCA9PT0gY29udGV4dCkgJiZcbiAgICAgIGRhdGEgJiYgZGF0YS5zbG90ICE9IG51bGxcbiAgICApIHtcbiAgICAgIHZhciBuYW1lID0gZGF0YS5zbG90O1xuICAgICAgdmFyIHNsb3QgPSAoc2xvdHNbbmFtZV0gfHwgKHNsb3RzW25hbWVdID0gW10pKTtcbiAgICAgIGlmIChjaGlsZC50YWcgPT09ICd0ZW1wbGF0ZScpIHtcbiAgICAgICAgc2xvdC5wdXNoLmFwcGx5KHNsb3QsIGNoaWxkLmNoaWxkcmVuIHx8IFtdKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNsb3QucHVzaChjaGlsZCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIChzbG90cy5kZWZhdWx0IHx8IChzbG90cy5kZWZhdWx0ID0gW10pKS5wdXNoKGNoaWxkKTtcbiAgICB9XG4gIH1cbiAgLy8gaWdub3JlIHNsb3RzIHRoYXQgY29udGFpbnMgb25seSB3aGl0ZXNwYWNlXG4gIGZvciAodmFyIG5hbWUkMSBpbiBzbG90cykge1xuICAgIGlmIChzbG90c1tuYW1lJDFdLmV2ZXJ5KGlzV2hpdGVzcGFjZSkpIHtcbiAgICAgIGRlbGV0ZSBzbG90c1tuYW1lJDFdO1xuICAgIH1cbiAgfVxuICByZXR1cm4gc2xvdHNcbn1cblxuZnVuY3Rpb24gaXNXaGl0ZXNwYWNlIChub2RlKSB7XG4gIHJldHVybiAobm9kZS5pc0NvbW1lbnQgJiYgIW5vZGUuYXN5bmNGYWN0b3J5KSB8fCBub2RlLnRleHQgPT09ICcgJ1xufVxuXG5mdW5jdGlvbiByZXNvbHZlU2NvcGVkU2xvdHMgKFxuICBmbnMsIC8vIHNlZSBmbG93L3Zub2RlXG4gIHJlc1xuKSB7XG4gIHJlcyA9IHJlcyB8fCB7fTtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBmbnMubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShmbnNbaV0pKSB7XG4gICAgICByZXNvbHZlU2NvcGVkU2xvdHMoZm5zW2ldLCByZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXNbZm5zW2ldLmtleV0gPSBmbnNbaV0uZm47XG4gICAgfVxuICB9XG4gIHJldHVybiByZXNcbn1cblxuLyogICovXG5cbnZhciBhY3RpdmVJbnN0YW5jZSA9IG51bGw7XG52YXIgaXNVcGRhdGluZ0NoaWxkQ29tcG9uZW50ID0gZmFsc2U7XG5cbmZ1bmN0aW9uIHNldEFjdGl2ZUluc3RhbmNlKHZtKSB7XG4gIHZhciBwcmV2QWN0aXZlSW5zdGFuY2UgPSBhY3RpdmVJbnN0YW5jZTtcbiAgYWN0aXZlSW5zdGFuY2UgPSB2bTtcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICBhY3RpdmVJbnN0YW5jZSA9IHByZXZBY3RpdmVJbnN0YW5jZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpbml0TGlmZWN5Y2xlICh2bSkge1xuICB2YXIgb3B0aW9ucyA9IHZtLiRvcHRpb25zO1xuXG4gIC8vIGxvY2F0ZSBmaXJzdCBub24tYWJzdHJhY3QgcGFyZW50XG4gIHZhciBwYXJlbnQgPSBvcHRpb25zLnBhcmVudDtcbiAgaWYgKHBhcmVudCAmJiAhb3B0aW9ucy5hYnN0cmFjdCkge1xuICAgIHdoaWxlIChwYXJlbnQuJG9wdGlvbnMuYWJzdHJhY3QgJiYgcGFyZW50LiRwYXJlbnQpIHtcbiAgICAgIHBhcmVudCA9IHBhcmVudC4kcGFyZW50O1xuICAgIH1cbiAgICBwYXJlbnQuJGNoaWxkcmVuLnB1c2godm0pO1xuICB9XG5cbiAgdm0uJHBhcmVudCA9IHBhcmVudDtcbiAgdm0uJHJvb3QgPSBwYXJlbnQgPyBwYXJlbnQuJHJvb3QgOiB2bTtcblxuICB2bS4kY2hpbGRyZW4gPSBbXTtcbiAgdm0uJHJlZnMgPSB7fTtcblxuICB2bS5fd2F0Y2hlciA9IG51bGw7XG4gIHZtLl9pbmFjdGl2ZSA9IG51bGw7XG4gIHZtLl9kaXJlY3RJbmFjdGl2ZSA9IGZhbHNlO1xuICB2bS5faXNNb3VudGVkID0gZmFsc2U7XG4gIHZtLl9pc0Rlc3Ryb3llZCA9IGZhbHNlO1xuICB2bS5faXNCZWluZ0Rlc3Ryb3llZCA9IGZhbHNlO1xufVxuXG5mdW5jdGlvbiBsaWZlY3ljbGVNaXhpbiAoVnVlKSB7XG4gIFZ1ZS5wcm90b3R5cGUuX3VwZGF0ZSA9IGZ1bmN0aW9uICh2bm9kZSwgaHlkcmF0aW5nKSB7XG4gICAgdmFyIHZtID0gdGhpcztcbiAgICB2YXIgcHJldkVsID0gdm0uJGVsO1xuICAgIHZhciBwcmV2Vm5vZGUgPSB2bS5fdm5vZGU7XG4gICAgdmFyIHJlc3RvcmVBY3RpdmVJbnN0YW5jZSA9IHNldEFjdGl2ZUluc3RhbmNlKHZtKTtcbiAgICB2bS5fdm5vZGUgPSB2bm9kZTtcbiAgICAvLyBWdWUucHJvdG90eXBlLl9fcGF0Y2hfXyBpcyBpbmplY3RlZCBpbiBlbnRyeSBwb2ludHNcbiAgICAvLyBiYXNlZCBvbiB0aGUgcmVuZGVyaW5nIGJhY2tlbmQgdXNlZC5cbiAgICBpZiAoIXByZXZWbm9kZSkge1xuICAgICAgLy8gaW5pdGlhbCByZW5kZXJcbiAgICAgIHZtLiRlbCA9IHZtLl9fcGF0Y2hfXyh2bS4kZWwsIHZub2RlLCBoeWRyYXRpbmcsIGZhbHNlIC8qIHJlbW92ZU9ubHkgKi8pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyB1cGRhdGVzXG4gICAgICB2bS4kZWwgPSB2bS5fX3BhdGNoX18ocHJldlZub2RlLCB2bm9kZSk7XG4gICAgfVxuICAgIHJlc3RvcmVBY3RpdmVJbnN0YW5jZSgpO1xuICAgIC8vIHVwZGF0ZSBfX3Z1ZV9fIHJlZmVyZW5jZVxuICAgIGlmIChwcmV2RWwpIHtcbiAgICAgIHByZXZFbC5fX3Z1ZV9fID0gbnVsbDtcbiAgICB9XG4gICAgaWYgKHZtLiRlbCkge1xuICAgICAgdm0uJGVsLl9fdnVlX18gPSB2bTtcbiAgICB9XG4gICAgLy8gaWYgcGFyZW50IGlzIGFuIEhPQywgdXBkYXRlIGl0cyAkZWwgYXMgd2VsbFxuICAgIGlmICh2bS4kdm5vZGUgJiYgdm0uJHBhcmVudCAmJiB2bS4kdm5vZGUgPT09IHZtLiRwYXJlbnQuX3Zub2RlKSB7XG4gICAgICB2bS4kcGFyZW50LiRlbCA9IHZtLiRlbDtcbiAgICB9XG4gICAgLy8gdXBkYXRlZCBob29rIGlzIGNhbGxlZCBieSB0aGUgc2NoZWR1bGVyIHRvIGVuc3VyZSB0aGF0IGNoaWxkcmVuIGFyZVxuICAgIC8vIHVwZGF0ZWQgaW4gYSBwYXJlbnQncyB1cGRhdGVkIGhvb2suXG4gIH07XG5cbiAgVnVlLnByb3RvdHlwZS4kZm9yY2VVcGRhdGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHZtID0gdGhpcztcbiAgICBpZiAodm0uX3dhdGNoZXIpIHtcbiAgICAgIHZtLl93YXRjaGVyLnVwZGF0ZSgpO1xuICAgIH1cbiAgfTtcblxuICBWdWUucHJvdG90eXBlLiRkZXN0cm95ID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciB2bSA9IHRoaXM7XG4gICAgaWYgKHZtLl9pc0JlaW5nRGVzdHJveWVkKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgY2FsbEhvb2sodm0sICdiZWZvcmVEZXN0cm95Jyk7XG4gICAgdm0uX2lzQmVpbmdEZXN0cm95ZWQgPSB0cnVlO1xuICAgIC8vIHJlbW92ZSBzZWxmIGZyb20gcGFyZW50XG4gICAgdmFyIHBhcmVudCA9IHZtLiRwYXJlbnQ7XG4gICAgaWYgKHBhcmVudCAmJiAhcGFyZW50Ll9pc0JlaW5nRGVzdHJveWVkICYmICF2bS4kb3B0aW9ucy5hYnN0cmFjdCkge1xuICAgICAgcmVtb3ZlKHBhcmVudC4kY2hpbGRyZW4sIHZtKTtcbiAgICB9XG4gICAgLy8gdGVhcmRvd24gd2F0Y2hlcnNcbiAgICBpZiAodm0uX3dhdGNoZXIpIHtcbiAgICAgIHZtLl93YXRjaGVyLnRlYXJkb3duKCk7XG4gICAgfVxuICAgIHZhciBpID0gdm0uX3dhdGNoZXJzLmxlbmd0aDtcbiAgICB3aGlsZSAoaS0tKSB7XG4gICAgICB2bS5fd2F0Y2hlcnNbaV0udGVhcmRvd24oKTtcbiAgICB9XG4gICAgLy8gcmVtb3ZlIHJlZmVyZW5jZSBmcm9tIGRhdGEgb2JcbiAgICAvLyBmcm96ZW4gb2JqZWN0IG1heSBub3QgaGF2ZSBvYnNlcnZlci5cbiAgICBpZiAodm0uX2RhdGEuX19vYl9fKSB7XG4gICAgICB2bS5fZGF0YS5fX29iX18udm1Db3VudC0tO1xuICAgIH1cbiAgICAvLyBjYWxsIHRoZSBsYXN0IGhvb2suLi5cbiAgICB2bS5faXNEZXN0cm95ZWQgPSB0cnVlO1xuICAgIC8vIGludm9rZSBkZXN0cm95IGhvb2tzIG9uIGN1cnJlbnQgcmVuZGVyZWQgdHJlZVxuICAgIHZtLl9fcGF0Y2hfXyh2bS5fdm5vZGUsIG51bGwpO1xuICAgIC8vIGZpcmUgZGVzdHJveWVkIGhvb2tcbiAgICBjYWxsSG9vayh2bSwgJ2Rlc3Ryb3llZCcpO1xuICAgIC8vIHR1cm4gb2ZmIGFsbCBpbnN0YW5jZSBsaXN0ZW5lcnMuXG4gICAgdm0uJG9mZigpO1xuICAgIC8vIHJlbW92ZSBfX3Z1ZV9fIHJlZmVyZW5jZVxuICAgIGlmICh2bS4kZWwpIHtcbiAgICAgIHZtLiRlbC5fX3Z1ZV9fID0gbnVsbDtcbiAgICB9XG4gICAgLy8gcmVsZWFzZSBjaXJjdWxhciByZWZlcmVuY2UgKCM2NzU5KVxuICAgIGlmICh2bS4kdm5vZGUpIHtcbiAgICAgIHZtLiR2bm9kZS5wYXJlbnQgPSBudWxsO1xuICAgIH1cbiAgfTtcbn1cblxuZnVuY3Rpb24gbW91bnRDb21wb25lbnQgKFxuICB2bSxcbiAgZWwsXG4gIGh5ZHJhdGluZ1xuKSB7XG4gIHZtLiRlbCA9IGVsO1xuICBpZiAoIXZtLiRvcHRpb25zLnJlbmRlcikge1xuICAgIHZtLiRvcHRpb25zLnJlbmRlciA9IGNyZWF0ZUVtcHR5Vk5vZGU7XG4gICAgaWYgKHRydWUpIHtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgaWYgKCh2bS4kb3B0aW9ucy50ZW1wbGF0ZSAmJiB2bS4kb3B0aW9ucy50ZW1wbGF0ZS5jaGFyQXQoMCkgIT09ICcjJykgfHxcbiAgICAgICAgdm0uJG9wdGlvbnMuZWwgfHwgZWwpIHtcbiAgICAgICAgd2FybihcbiAgICAgICAgICAnWW91IGFyZSB1c2luZyB0aGUgcnVudGltZS1vbmx5IGJ1aWxkIG9mIFZ1ZSB3aGVyZSB0aGUgdGVtcGxhdGUgJyArXG4gICAgICAgICAgJ2NvbXBpbGVyIGlzIG5vdCBhdmFpbGFibGUuIEVpdGhlciBwcmUtY29tcGlsZSB0aGUgdGVtcGxhdGVzIGludG8gJyArXG4gICAgICAgICAgJ3JlbmRlciBmdW5jdGlvbnMsIG9yIHVzZSB0aGUgY29tcGlsZXItaW5jbHVkZWQgYnVpbGQuJyxcbiAgICAgICAgICB2bVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgd2FybihcbiAgICAgICAgICAnRmFpbGVkIHRvIG1vdW50IGNvbXBvbmVudDogdGVtcGxhdGUgb3IgcmVuZGVyIGZ1bmN0aW9uIG5vdCBkZWZpbmVkLicsXG4gICAgICAgICAgdm1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgY2FsbEhvb2sodm0sICdiZWZvcmVNb3VudCcpO1xuXG4gIHZhciB1cGRhdGVDb21wb25lbnQ7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAoIHRydWUgJiYgY29uZmlnLnBlcmZvcm1hbmNlICYmIG1hcmspIHtcbiAgICB1cGRhdGVDb21wb25lbnQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgbmFtZSA9IHZtLl9uYW1lO1xuICAgICAgdmFyIGlkID0gdm0uX3VpZDtcbiAgICAgIHZhciBzdGFydFRhZyA9IFwidnVlLXBlcmYtc3RhcnQ6XCIgKyBpZDtcbiAgICAgIHZhciBlbmRUYWcgPSBcInZ1ZS1wZXJmLWVuZDpcIiArIGlkO1xuXG4gICAgICBtYXJrKHN0YXJ0VGFnKTtcbiAgICAgIHZhciB2bm9kZSA9IHZtLl9yZW5kZXIoKTtcbiAgICAgIG1hcmsoZW5kVGFnKTtcbiAgICAgIG1lYXN1cmUoKFwidnVlIFwiICsgbmFtZSArIFwiIHJlbmRlclwiKSwgc3RhcnRUYWcsIGVuZFRhZyk7XG5cbiAgICAgIG1hcmsoc3RhcnRUYWcpO1xuICAgICAgdm0uX3VwZGF0ZSh2bm9kZSwgaHlkcmF0aW5nKTtcbiAgICAgIG1hcmsoZW5kVGFnKTtcbiAgICAgIG1lYXN1cmUoKFwidnVlIFwiICsgbmFtZSArIFwiIHBhdGNoXCIpLCBzdGFydFRhZywgZW5kVGFnKTtcbiAgICB9O1xuICB9IGVsc2Uge1xuICAgIHVwZGF0ZUNvbXBvbmVudCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHZtLl91cGRhdGUodm0uX3JlbmRlcigpLCBoeWRyYXRpbmcpO1xuICAgIH07XG4gIH1cblxuICAvLyB3ZSBzZXQgdGhpcyB0byB2bS5fd2F0Y2hlciBpbnNpZGUgdGhlIHdhdGNoZXIncyBjb25zdHJ1Y3RvclxuICAvLyBzaW5jZSB0aGUgd2F0Y2hlcidzIGluaXRpYWwgcGF0Y2ggbWF5IGNhbGwgJGZvcmNlVXBkYXRlIChlLmcuIGluc2lkZSBjaGlsZFxuICAvLyBjb21wb25lbnQncyBtb3VudGVkIGhvb2spLCB3aGljaCByZWxpZXMgb24gdm0uX3dhdGNoZXIgYmVpbmcgYWxyZWFkeSBkZWZpbmVkXG4gIG5ldyBXYXRjaGVyKHZtLCB1cGRhdGVDb21wb25lbnQsIG5vb3AsIHtcbiAgICBiZWZvcmU6IGZ1bmN0aW9uIGJlZm9yZSAoKSB7XG4gICAgICBpZiAodm0uX2lzTW91bnRlZCAmJiAhdm0uX2lzRGVzdHJveWVkKSB7XG4gICAgICAgIGNhbGxIb29rKHZtLCAnYmVmb3JlVXBkYXRlJyk7XG4gICAgICB9XG4gICAgfVxuICB9LCB0cnVlIC8qIGlzUmVuZGVyV2F0Y2hlciAqLyk7XG4gIGh5ZHJhdGluZyA9IGZhbHNlO1xuXG4gIC8vIG1hbnVhbGx5IG1vdW50ZWQgaW5zdGFuY2UsIGNhbGwgbW91bnRlZCBvbiBzZWxmXG4gIC8vIG1vdW50ZWQgaXMgY2FsbGVkIGZvciByZW5kZXItY3JlYXRlZCBjaGlsZCBjb21wb25lbnRzIGluIGl0cyBpbnNlcnRlZCBob29rXG4gIGlmICh2bS4kdm5vZGUgPT0gbnVsbCkge1xuICAgIHZtLl9pc01vdW50ZWQgPSB0cnVlO1xuICAgIGNhbGxIb29rKHZtLCAnbW91bnRlZCcpO1xuICB9XG4gIHJldHVybiB2bVxufVxuXG5mdW5jdGlvbiB1cGRhdGVDaGlsZENvbXBvbmVudCAoXG4gIHZtLFxuICBwcm9wc0RhdGEsXG4gIGxpc3RlbmVycyxcbiAgcGFyZW50Vm5vZGUsXG4gIHJlbmRlckNoaWxkcmVuXG4pIHtcbiAgaWYgKHRydWUpIHtcbiAgICBpc1VwZGF0aW5nQ2hpbGRDb21wb25lbnQgPSB0cnVlO1xuICB9XG5cbiAgLy8gZGV0ZXJtaW5lIHdoZXRoZXIgY29tcG9uZW50IGhhcyBzbG90IGNoaWxkcmVuXG4gIC8vIHdlIG5lZWQgdG8gZG8gdGhpcyBiZWZvcmUgb3ZlcndyaXRpbmcgJG9wdGlvbnMuX3JlbmRlckNoaWxkcmVuXG4gIHZhciBoYXNDaGlsZHJlbiA9ICEhKFxuICAgIHJlbmRlckNoaWxkcmVuIHx8ICAgICAgICAgICAgICAgLy8gaGFzIG5ldyBzdGF0aWMgc2xvdHNcbiAgICB2bS4kb3B0aW9ucy5fcmVuZGVyQ2hpbGRyZW4gfHwgIC8vIGhhcyBvbGQgc3RhdGljIHNsb3RzXG4gICAgcGFyZW50Vm5vZGUuZGF0YS5zY29wZWRTbG90cyB8fCAvLyBoYXMgbmV3IHNjb3BlZCBzbG90c1xuICAgIHZtLiRzY29wZWRTbG90cyAhPT0gZW1wdHlPYmplY3QgLy8gaGFzIG9sZCBzY29wZWQgc2xvdHNcbiAgKTtcblxuICB2bS4kb3B0aW9ucy5fcGFyZW50Vm5vZGUgPSBwYXJlbnRWbm9kZTtcbiAgdm0uJHZub2RlID0gcGFyZW50Vm5vZGU7IC8vIHVwZGF0ZSB2bSdzIHBsYWNlaG9sZGVyIG5vZGUgd2l0aG91dCByZS1yZW5kZXJcblxuICBpZiAodm0uX3Zub2RlKSB7IC8vIHVwZGF0ZSBjaGlsZCB0cmVlJ3MgcGFyZW50XG4gICAgdm0uX3Zub2RlLnBhcmVudCA9IHBhcmVudFZub2RlO1xuICB9XG4gIHZtLiRvcHRpb25zLl9yZW5kZXJDaGlsZHJlbiA9IHJlbmRlckNoaWxkcmVuO1xuXG4gIC8vIHVwZGF0ZSAkYXR0cnMgYW5kICRsaXN0ZW5lcnMgaGFzaFxuICAvLyB0aGVzZSBhcmUgYWxzbyByZWFjdGl2ZSBzbyB0aGV5IG1heSB0cmlnZ2VyIGNoaWxkIHVwZGF0ZSBpZiB0aGUgY2hpbGRcbiAgLy8gdXNlZCB0aGVtIGR1cmluZyByZW5kZXJcbiAgdm0uJGF0dHJzID0gcGFyZW50Vm5vZGUuZGF0YS5hdHRycyB8fCBlbXB0eU9iamVjdDtcbiAgdm0uJGxpc3RlbmVycyA9IGxpc3RlbmVycyB8fCBlbXB0eU9iamVjdDtcblxuICAvLyB1cGRhdGUgcHJvcHNcbiAgaWYgKHByb3BzRGF0YSAmJiB2bS4kb3B0aW9ucy5wcm9wcykge1xuICAgIHRvZ2dsZU9ic2VydmluZyhmYWxzZSk7XG4gICAgdmFyIHByb3BzID0gdm0uX3Byb3BzO1xuICAgIHZhciBwcm9wS2V5cyA9IHZtLiRvcHRpb25zLl9wcm9wS2V5cyB8fCBbXTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BLZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIga2V5ID0gcHJvcEtleXNbaV07XG4gICAgICB2YXIgcHJvcE9wdGlvbnMgPSB2bS4kb3B0aW9ucy5wcm9wczsgLy8gd3RmIGZsb3c/XG4gICAgICBwcm9wc1trZXldID0gdmFsaWRhdGVQcm9wKGtleSwgcHJvcE9wdGlvbnMsIHByb3BzRGF0YSwgdm0pO1xuICAgIH1cbiAgICB0b2dnbGVPYnNlcnZpbmcodHJ1ZSk7XG4gICAgLy8ga2VlcCBhIGNvcHkgb2YgcmF3IHByb3BzRGF0YVxuICAgIHZtLiRvcHRpb25zLnByb3BzRGF0YSA9IHByb3BzRGF0YTtcbiAgfVxuXG4gIC8vIHVwZGF0ZSBsaXN0ZW5lcnNcbiAgbGlzdGVuZXJzID0gbGlzdGVuZXJzIHx8IGVtcHR5T2JqZWN0O1xuICB2YXIgb2xkTGlzdGVuZXJzID0gdm0uJG9wdGlvbnMuX3BhcmVudExpc3RlbmVycztcbiAgdm0uJG9wdGlvbnMuX3BhcmVudExpc3RlbmVycyA9IGxpc3RlbmVycztcbiAgdXBkYXRlQ29tcG9uZW50TGlzdGVuZXJzKHZtLCBsaXN0ZW5lcnMsIG9sZExpc3RlbmVycyk7XG5cbiAgLy8gcmVzb2x2ZSBzbG90cyArIGZvcmNlIHVwZGF0ZSBpZiBoYXMgY2hpbGRyZW5cbiAgaWYgKGhhc0NoaWxkcmVuKSB7XG4gICAgdm0uJHNsb3RzID0gcmVzb2x2ZVNsb3RzKHJlbmRlckNoaWxkcmVuLCBwYXJlbnRWbm9kZS5jb250ZXh0KTtcbiAgICB2bS4kZm9yY2VVcGRhdGUoKTtcbiAgfVxuXG4gIGlmICh0cnVlKSB7XG4gICAgaXNVcGRhdGluZ0NoaWxkQ29tcG9uZW50ID0gZmFsc2U7XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNJbkluYWN0aXZlVHJlZSAodm0pIHtcbiAgd2hpbGUgKHZtICYmICh2bSA9IHZtLiRwYXJlbnQpKSB7XG4gICAgaWYgKHZtLl9pbmFjdGl2ZSkgeyByZXR1cm4gdHJ1ZSB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmZ1bmN0aW9uIGFjdGl2YXRlQ2hpbGRDb21wb25lbnQgKHZtLCBkaXJlY3QpIHtcbiAgaWYgKGRpcmVjdCkge1xuICAgIHZtLl9kaXJlY3RJbmFjdGl2ZSA9IGZhbHNlO1xuICAgIGlmIChpc0luSW5hY3RpdmVUcmVlKHZtKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICB9IGVsc2UgaWYgKHZtLl9kaXJlY3RJbmFjdGl2ZSkge1xuICAgIHJldHVyblxuICB9XG4gIGlmICh2bS5faW5hY3RpdmUgfHwgdm0uX2luYWN0aXZlID09PSBudWxsKSB7XG4gICAgdm0uX2luYWN0aXZlID0gZmFsc2U7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB2bS4kY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgIGFjdGl2YXRlQ2hpbGRDb21wb25lbnQodm0uJGNoaWxkcmVuW2ldKTtcbiAgICB9XG4gICAgY2FsbEhvb2sodm0sICdhY3RpdmF0ZWQnKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBkZWFjdGl2YXRlQ2hpbGRDb21wb25lbnQgKHZtLCBkaXJlY3QpIHtcbiAgaWYgKGRpcmVjdCkge1xuICAgIHZtLl9kaXJlY3RJbmFjdGl2ZSA9IHRydWU7XG4gICAgaWYgKGlzSW5JbmFjdGl2ZVRyZWUodm0pKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gIH1cbiAgaWYgKCF2bS5faW5hY3RpdmUpIHtcbiAgICB2bS5faW5hY3RpdmUgPSB0cnVlO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdm0uJGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICBkZWFjdGl2YXRlQ2hpbGRDb21wb25lbnQodm0uJGNoaWxkcmVuW2ldKTtcbiAgICB9XG4gICAgY2FsbEhvb2sodm0sICdkZWFjdGl2YXRlZCcpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNhbGxIb29rICh2bSwgaG9vaykge1xuICAvLyAjNzU3MyBkaXNhYmxlIGRlcCBjb2xsZWN0aW9uIHdoZW4gaW52b2tpbmcgbGlmZWN5Y2xlIGhvb2tzXG4gIHB1c2hUYXJnZXQoKTtcbiAgdmFyIGhhbmRsZXJzID0gdm0uJG9wdGlvbnNbaG9va107XG4gIGlmIChoYW5kbGVycykge1xuICAgIGZvciAodmFyIGkgPSAwLCBqID0gaGFuZGxlcnMubGVuZ3RoOyBpIDwgajsgaSsrKSB7XG4gICAgICB0cnkge1xuICAgICAgICBoYW5kbGVyc1tpXS5jYWxsKHZtKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgaGFuZGxlRXJyb3IoZSwgdm0sIChob29rICsgXCIgaG9va1wiKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGlmICh2bS5faGFzSG9va0V2ZW50KSB7XG4gICAgdm0uJGVtaXQoJ2hvb2s6JyArIGhvb2spO1xuICB9XG4gIHBvcFRhcmdldCgpO1xufVxuXG4vKiAgKi9cblxudmFyIE1BWF9VUERBVEVfQ09VTlQgPSAxMDA7XG5cbnZhciBxdWV1ZSA9IFtdO1xudmFyIGFjdGl2YXRlZENoaWxkcmVuID0gW107XG52YXIgaGFzID0ge307XG52YXIgY2lyY3VsYXIgPSB7fTtcbnZhciB3YWl0aW5nID0gZmFsc2U7XG52YXIgZmx1c2hpbmcgPSBmYWxzZTtcbnZhciBpbmRleCA9IDA7XG5cbi8qKlxuICogUmVzZXQgdGhlIHNjaGVkdWxlcidzIHN0YXRlLlxuICovXG5mdW5jdGlvbiByZXNldFNjaGVkdWxlclN0YXRlICgpIHtcbiAgaW5kZXggPSBxdWV1ZS5sZW5ndGggPSBhY3RpdmF0ZWRDaGlsZHJlbi5sZW5ndGggPSAwO1xuICBoYXMgPSB7fTtcbiAgaWYgKHRydWUpIHtcbiAgICBjaXJjdWxhciA9IHt9O1xuICB9XG4gIHdhaXRpbmcgPSBmbHVzaGluZyA9IGZhbHNlO1xufVxuXG4vKipcbiAqIEZsdXNoIGJvdGggcXVldWVzIGFuZCBydW4gdGhlIHdhdGNoZXJzLlxuICovXG5mdW5jdGlvbiBmbHVzaFNjaGVkdWxlclF1ZXVlICgpIHtcbiAgZmx1c2hpbmcgPSB0cnVlO1xuICB2YXIgd2F0Y2hlciwgaWQ7XG5cbiAgLy8gU29ydCBxdWV1ZSBiZWZvcmUgZmx1c2guXG4gIC8vIFRoaXMgZW5zdXJlcyB0aGF0OlxuICAvLyAxLiBDb21wb25lbnRzIGFyZSB1cGRhdGVkIGZyb20gcGFyZW50IHRvIGNoaWxkLiAoYmVjYXVzZSBwYXJlbnQgaXMgYWx3YXlzXG4gIC8vICAgIGNyZWF0ZWQgYmVmb3JlIHRoZSBjaGlsZClcbiAgLy8gMi4gQSBjb21wb25lbnQncyB1c2VyIHdhdGNoZXJzIGFyZSBydW4gYmVmb3JlIGl0cyByZW5kZXIgd2F0Y2hlciAoYmVjYXVzZVxuICAvLyAgICB1c2VyIHdhdGNoZXJzIGFyZSBjcmVhdGVkIGJlZm9yZSB0aGUgcmVuZGVyIHdhdGNoZXIpXG4gIC8vIDMuIElmIGEgY29tcG9uZW50IGlzIGRlc3Ryb3llZCBkdXJpbmcgYSBwYXJlbnQgY29tcG9uZW50J3Mgd2F0Y2hlciBydW4sXG4gIC8vICAgIGl0cyB3YXRjaGVycyBjYW4gYmUgc2tpcHBlZC5cbiAgcXVldWUuc29ydChmdW5jdGlvbiAoYSwgYikgeyByZXR1cm4gYS5pZCAtIGIuaWQ7IH0pO1xuXG4gIC8vIGRvIG5vdCBjYWNoZSBsZW5ndGggYmVjYXVzZSBtb3JlIHdhdGNoZXJzIG1pZ2h0IGJlIHB1c2hlZFxuICAvLyBhcyB3ZSBydW4gZXhpc3Rpbmcgd2F0Y2hlcnNcbiAgZm9yIChpbmRleCA9IDA7IGluZGV4IDwgcXVldWUubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgd2F0Y2hlciA9IHF1ZXVlW2luZGV4XTtcbiAgICBpZiAod2F0Y2hlci5iZWZvcmUpIHtcbiAgICAgIHdhdGNoZXIuYmVmb3JlKCk7XG4gICAgfVxuICAgIGlkID0gd2F0Y2hlci5pZDtcbiAgICBoYXNbaWRdID0gbnVsbDtcbiAgICB3YXRjaGVyLnJ1bigpO1xuICAgIC8vIGluIGRldiBidWlsZCwgY2hlY2sgYW5kIHN0b3AgY2lyY3VsYXIgdXBkYXRlcy5cbiAgICBpZiAoIHRydWUgJiYgaGFzW2lkXSAhPSBudWxsKSB7XG4gICAgICBjaXJjdWxhcltpZF0gPSAoY2lyY3VsYXJbaWRdIHx8IDApICsgMTtcbiAgICAgIGlmIChjaXJjdWxhcltpZF0gPiBNQVhfVVBEQVRFX0NPVU5UKSB7XG4gICAgICAgIHdhcm4oXG4gICAgICAgICAgJ1lvdSBtYXkgaGF2ZSBhbiBpbmZpbml0ZSB1cGRhdGUgbG9vcCAnICsgKFxuICAgICAgICAgICAgd2F0Y2hlci51c2VyXG4gICAgICAgICAgICAgID8gKFwiaW4gd2F0Y2hlciB3aXRoIGV4cHJlc3Npb24gXFxcIlwiICsgKHdhdGNoZXIuZXhwcmVzc2lvbikgKyBcIlxcXCJcIilcbiAgICAgICAgICAgICAgOiBcImluIGEgY29tcG9uZW50IHJlbmRlciBmdW5jdGlvbi5cIlxuICAgICAgICAgICksXG4gICAgICAgICAgd2F0Y2hlci52bVxuICAgICAgICApO1xuICAgICAgICBicmVha1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIGtlZXAgY29waWVzIG9mIHBvc3QgcXVldWVzIGJlZm9yZSByZXNldHRpbmcgc3RhdGVcbiAgdmFyIGFjdGl2YXRlZFF1ZXVlID0gYWN0aXZhdGVkQ2hpbGRyZW4uc2xpY2UoKTtcbiAgdmFyIHVwZGF0ZWRRdWV1ZSA9IHF1ZXVlLnNsaWNlKCk7XG5cbiAgcmVzZXRTY2hlZHVsZXJTdGF0ZSgpO1xuXG4gIC8vIGNhbGwgY29tcG9uZW50IHVwZGF0ZWQgYW5kIGFjdGl2YXRlZCBob29rc1xuICBjYWxsQWN0aXZhdGVkSG9va3MoYWN0aXZhdGVkUXVldWUpO1xuICBjYWxsVXBkYXRlZEhvb2tzKHVwZGF0ZWRRdWV1ZSk7XG5cbiAgLy8gZGV2dG9vbCBob29rXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAoZGV2dG9vbHMgJiYgY29uZmlnLmRldnRvb2xzKSB7XG4gICAgZGV2dG9vbHMuZW1pdCgnZmx1c2gnKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjYWxsVXBkYXRlZEhvb2tzIChxdWV1ZSkge1xuICB2YXIgaSA9IHF1ZXVlLmxlbmd0aDtcbiAgd2hpbGUgKGktLSkge1xuICAgIHZhciB3YXRjaGVyID0gcXVldWVbaV07XG4gICAgdmFyIHZtID0gd2F0Y2hlci52bTtcbiAgICBpZiAodm0uX3dhdGNoZXIgPT09IHdhdGNoZXIgJiYgdm0uX2lzTW91bnRlZCAmJiAhdm0uX2lzRGVzdHJveWVkKSB7XG4gICAgICBjYWxsSG9vayh2bSwgJ3VwZGF0ZWQnKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBRdWV1ZSBhIGtlcHQtYWxpdmUgY29tcG9uZW50IHRoYXQgd2FzIGFjdGl2YXRlZCBkdXJpbmcgcGF0Y2guXG4gKiBUaGUgcXVldWUgd2lsbCBiZSBwcm9jZXNzZWQgYWZ0ZXIgdGhlIGVudGlyZSB0cmVlIGhhcyBiZWVuIHBhdGNoZWQuXG4gKi9cbmZ1bmN0aW9uIHF1ZXVlQWN0aXZhdGVkQ29tcG9uZW50ICh2bSkge1xuICAvLyBzZXR0aW5nIF9pbmFjdGl2ZSB0byBmYWxzZSBoZXJlIHNvIHRoYXQgYSByZW5kZXIgZnVuY3Rpb24gY2FuXG4gIC8vIHJlbHkgb24gY2hlY2tpbmcgd2hldGhlciBpdCdzIGluIGFuIGluYWN0aXZlIHRyZWUgKGUuZy4gcm91dGVyLXZpZXcpXG4gIHZtLl9pbmFjdGl2ZSA9IGZhbHNlO1xuICBhY3RpdmF0ZWRDaGlsZHJlbi5wdXNoKHZtKTtcbn1cblxuZnVuY3Rpb24gY2FsbEFjdGl2YXRlZEhvb2tzIChxdWV1ZSkge1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHF1ZXVlLmxlbmd0aDsgaSsrKSB7XG4gICAgcXVldWVbaV0uX2luYWN0aXZlID0gdHJ1ZTtcbiAgICBhY3RpdmF0ZUNoaWxkQ29tcG9uZW50KHF1ZXVlW2ldLCB0cnVlIC8qIHRydWUgKi8pO1xuICB9XG59XG5cbi8qKlxuICogUHVzaCBhIHdhdGNoZXIgaW50byB0aGUgd2F0Y2hlciBxdWV1ZS5cbiAqIEpvYnMgd2l0aCBkdXBsaWNhdGUgSURzIHdpbGwgYmUgc2tpcHBlZCB1bmxlc3MgaXQnc1xuICogcHVzaGVkIHdoZW4gdGhlIHF1ZXVlIGlzIGJlaW5nIGZsdXNoZWQuXG4gKi9cbmZ1bmN0aW9uIHF1ZXVlV2F0Y2hlciAod2F0Y2hlcikge1xuICB2YXIgaWQgPSB3YXRjaGVyLmlkO1xuICBpZiAoaGFzW2lkXSA9PSBudWxsKSB7XG4gICAgaGFzW2lkXSA9IHRydWU7XG4gICAgaWYgKCFmbHVzaGluZykge1xuICAgICAgcXVldWUucHVzaCh3YXRjaGVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gaWYgYWxyZWFkeSBmbHVzaGluZywgc3BsaWNlIHRoZSB3YXRjaGVyIGJhc2VkIG9uIGl0cyBpZFxuICAgICAgLy8gaWYgYWxyZWFkeSBwYXN0IGl0cyBpZCwgaXQgd2lsbCBiZSBydW4gbmV4dCBpbW1lZGlhdGVseS5cbiAgICAgIHZhciBpID0gcXVldWUubGVuZ3RoIC0gMTtcbiAgICAgIHdoaWxlIChpID4gaW5kZXggJiYgcXVldWVbaV0uaWQgPiB3YXRjaGVyLmlkKSB7XG4gICAgICAgIGktLTtcbiAgICAgIH1cbiAgICAgIHF1ZXVlLnNwbGljZShpICsgMSwgMCwgd2F0Y2hlcik7XG4gICAgfVxuICAgIC8vIHF1ZXVlIHRoZSBmbHVzaFxuICAgIGlmICghd2FpdGluZykge1xuICAgICAgd2FpdGluZyA9IHRydWU7XG5cbiAgICAgIGlmICggdHJ1ZSAmJiAhY29uZmlnLmFzeW5jKSB7XG4gICAgICAgIGZsdXNoU2NoZWR1bGVyUXVldWUoKTtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICBuZXh0VGljayhmbHVzaFNjaGVkdWxlclF1ZXVlKTtcbiAgICB9XG4gIH1cbn1cblxuLyogICovXG5cblxuXG52YXIgdWlkJDEgPSAwO1xuXG4vKipcbiAqIEEgd2F0Y2hlciBwYXJzZXMgYW4gZXhwcmVzc2lvbiwgY29sbGVjdHMgZGVwZW5kZW5jaWVzLFxuICogYW5kIGZpcmVzIGNhbGxiYWNrIHdoZW4gdGhlIGV4cHJlc3Npb24gdmFsdWUgY2hhbmdlcy5cbiAqIFRoaXMgaXMgdXNlZCBmb3IgYm90aCB0aGUgJHdhdGNoKCkgYXBpIGFuZCBkaXJlY3RpdmVzLlxuICovXG52YXIgV2F0Y2hlciA9IGZ1bmN0aW9uIFdhdGNoZXIgKFxuICB2bSxcbiAgZXhwT3JGbixcbiAgY2IsXG4gIG9wdGlvbnMsXG4gIGlzUmVuZGVyV2F0Y2hlclxuKSB7XG4gIHRoaXMudm0gPSB2bTtcbiAgaWYgKGlzUmVuZGVyV2F0Y2hlcikge1xuICAgIHZtLl93YXRjaGVyID0gdGhpcztcbiAgfVxuICB2bS5fd2F0Y2hlcnMucHVzaCh0aGlzKTtcbiAgLy8gb3B0aW9uc1xuICBpZiAob3B0aW9ucykge1xuICAgIHRoaXMuZGVlcCA9ICEhb3B0aW9ucy5kZWVwO1xuICAgIHRoaXMudXNlciA9ICEhb3B0aW9ucy51c2VyO1xuICAgIHRoaXMubGF6eSA9ICEhb3B0aW9ucy5sYXp5O1xuICAgIHRoaXMuc3luYyA9ICEhb3B0aW9ucy5zeW5jO1xuICAgIHRoaXMuYmVmb3JlID0gb3B0aW9ucy5iZWZvcmU7XG4gIH0gZWxzZSB7XG4gICAgdGhpcy5kZWVwID0gdGhpcy51c2VyID0gdGhpcy5sYXp5ID0gdGhpcy5zeW5jID0gZmFsc2U7XG4gIH1cbiAgdGhpcy5jYiA9IGNiO1xuICB0aGlzLmlkID0gKyt1aWQkMTsgLy8gdWlkIGZvciBiYXRjaGluZ1xuICB0aGlzLmFjdGl2ZSA9IHRydWU7XG4gIHRoaXMuZGlydHkgPSB0aGlzLmxhenk7IC8vIGZvciBsYXp5IHdhdGNoZXJzXG4gIHRoaXMuZGVwcyA9IFtdO1xuICB0aGlzLm5ld0RlcHMgPSBbXTtcbiAgdGhpcy5kZXBJZHMgPSBuZXcgX1NldCgpO1xuICB0aGlzLm5ld0RlcElkcyA9IG5ldyBfU2V0KCk7XG4gIHRoaXMuZXhwcmVzc2lvbiA9ICB0cnVlXG4gICAgPyBleHBPckZuLnRvU3RyaW5nKClcbiAgICA6IHVuZGVmaW5lZDtcbiAgLy8gcGFyc2UgZXhwcmVzc2lvbiBmb3IgZ2V0dGVyXG4gIGlmICh0eXBlb2YgZXhwT3JGbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHRoaXMuZ2V0dGVyID0gZXhwT3JGbjtcbiAgfSBlbHNlIHtcbiAgICB0aGlzLmdldHRlciA9IHBhcnNlUGF0aChleHBPckZuKTtcbiAgICBpZiAoIXRoaXMuZ2V0dGVyKSB7XG4gICAgICB0aGlzLmdldHRlciA9IG5vb3A7XG4gICAgICAgdHJ1ZSAmJiB3YXJuKFxuICAgICAgICBcIkZhaWxlZCB3YXRjaGluZyBwYXRoOiBcXFwiXCIgKyBleHBPckZuICsgXCJcXFwiIFwiICtcbiAgICAgICAgJ1dhdGNoZXIgb25seSBhY2NlcHRzIHNpbXBsZSBkb3QtZGVsaW1pdGVkIHBhdGhzLiAnICtcbiAgICAgICAgJ0ZvciBmdWxsIGNvbnRyb2wsIHVzZSBhIGZ1bmN0aW9uIGluc3RlYWQuJyxcbiAgICAgICAgdm1cbiAgICAgICk7XG4gICAgfVxuICB9XG4gIHRoaXMudmFsdWUgPSB0aGlzLmxhenlcbiAgICA/IHVuZGVmaW5lZFxuICAgIDogdGhpcy5nZXQoKTtcbn07XG5cbi8qKlxuICogRXZhbHVhdGUgdGhlIGdldHRlciwgYW5kIHJlLWNvbGxlY3QgZGVwZW5kZW5jaWVzLlxuICovXG5XYXRjaGVyLnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiBnZXQgKCkge1xuICBwdXNoVGFyZ2V0KHRoaXMpO1xuICB2YXIgdmFsdWU7XG4gIHZhciB2bSA9IHRoaXMudm07XG4gIHRyeSB7XG4gICAgdmFsdWUgPSB0aGlzLmdldHRlci5jYWxsKHZtLCB2bSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAodGhpcy51c2VyKSB7XG4gICAgICBoYW5kbGVFcnJvcihlLCB2bSwgKFwiZ2V0dGVyIGZvciB3YXRjaGVyIFxcXCJcIiArICh0aGlzLmV4cHJlc3Npb24pICsgXCJcXFwiXCIpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgZVxuICAgIH1cbiAgfSBmaW5hbGx5IHtcbiAgICAvLyBcInRvdWNoXCIgZXZlcnkgcHJvcGVydHkgc28gdGhleSBhcmUgYWxsIHRyYWNrZWQgYXNcbiAgICAvLyBkZXBlbmRlbmNpZXMgZm9yIGRlZXAgd2F0Y2hpbmdcbiAgICBpZiAodGhpcy5kZWVwKSB7XG4gICAgICB0cmF2ZXJzZSh2YWx1ZSk7XG4gICAgfVxuICAgIHBvcFRhcmdldCgpO1xuICAgIHRoaXMuY2xlYW51cERlcHMoKTtcbiAgfVxuICByZXR1cm4gdmFsdWVcbn07XG5cbi8qKlxuICogQWRkIGEgZGVwZW5kZW5jeSB0byB0aGlzIGRpcmVjdGl2ZS5cbiAqL1xuV2F0Y2hlci5wcm90b3R5cGUuYWRkRGVwID0gZnVuY3Rpb24gYWRkRGVwIChkZXApIHtcbiAgdmFyIGlkID0gZGVwLmlkO1xuICBpZiAoIXRoaXMubmV3RGVwSWRzLmhhcyhpZCkpIHtcbiAgICB0aGlzLm5ld0RlcElkcy5hZGQoaWQpO1xuICAgIHRoaXMubmV3RGVwcy5wdXNoKGRlcCk7XG4gICAgaWYgKCF0aGlzLmRlcElkcy5oYXMoaWQpKSB7XG4gICAgICBkZXAuYWRkU3ViKHRoaXMpO1xuICAgIH1cbiAgfVxufTtcblxuLyoqXG4gKiBDbGVhbiB1cCBmb3IgZGVwZW5kZW5jeSBjb2xsZWN0aW9uLlxuICovXG5XYXRjaGVyLnByb3RvdHlwZS5jbGVhbnVwRGVwcyA9IGZ1bmN0aW9uIGNsZWFudXBEZXBzICgpIHtcbiAgdmFyIGkgPSB0aGlzLmRlcHMubGVuZ3RoO1xuICB3aGlsZSAoaS0tKSB7XG4gICAgdmFyIGRlcCA9IHRoaXMuZGVwc1tpXTtcbiAgICBpZiAoIXRoaXMubmV3RGVwSWRzLmhhcyhkZXAuaWQpKSB7XG4gICAgICBkZXAucmVtb3ZlU3ViKHRoaXMpO1xuICAgIH1cbiAgfVxuICB2YXIgdG1wID0gdGhpcy5kZXBJZHM7XG4gIHRoaXMuZGVwSWRzID0gdGhpcy5uZXdEZXBJZHM7XG4gIHRoaXMubmV3RGVwSWRzID0gdG1wO1xuICB0aGlzLm5ld0RlcElkcy5jbGVhcigpO1xuICB0bXAgPSB0aGlzLmRlcHM7XG4gIHRoaXMuZGVwcyA9IHRoaXMubmV3RGVwcztcbiAgdGhpcy5uZXdEZXBzID0gdG1wO1xuICB0aGlzLm5ld0RlcHMubGVuZ3RoID0gMDtcbn07XG5cbi8qKlxuICogU3Vic2NyaWJlciBpbnRlcmZhY2UuXG4gKiBXaWxsIGJlIGNhbGxlZCB3aGVuIGEgZGVwZW5kZW5jeSBjaGFuZ2VzLlxuICovXG5XYXRjaGVyLnByb3RvdHlwZS51cGRhdGUgPSBmdW5jdGlvbiB1cGRhdGUgKCkge1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICBpZiAodGhpcy5sYXp5KSB7XG4gICAgdGhpcy5kaXJ0eSA9IHRydWU7XG4gIH0gZWxzZSBpZiAodGhpcy5zeW5jKSB7XG4gICAgdGhpcy5ydW4oKTtcbiAgfSBlbHNlIHtcbiAgICBxdWV1ZVdhdGNoZXIodGhpcyk7XG4gIH1cbn07XG5cbi8qKlxuICogU2NoZWR1bGVyIGpvYiBpbnRlcmZhY2UuXG4gKiBXaWxsIGJlIGNhbGxlZCBieSB0aGUgc2NoZWR1bGVyLlxuICovXG5XYXRjaGVyLnByb3RvdHlwZS5ydW4gPSBmdW5jdGlvbiBydW4gKCkge1xuICBpZiAodGhpcy5hY3RpdmUpIHtcbiAgICB2YXIgdmFsdWUgPSB0aGlzLmdldCgpO1xuICAgIGlmIChcbiAgICAgIHZhbHVlICE9PSB0aGlzLnZhbHVlIHx8XG4gICAgICAvLyBEZWVwIHdhdGNoZXJzIGFuZCB3YXRjaGVycyBvbiBPYmplY3QvQXJyYXlzIHNob3VsZCBmaXJlIGV2ZW5cbiAgICAgIC8vIHdoZW4gdGhlIHZhbHVlIGlzIHRoZSBzYW1lLCBiZWNhdXNlIHRoZSB2YWx1ZSBtYXlcbiAgICAgIC8vIGhhdmUgbXV0YXRlZC5cbiAgICAgIGlzT2JqZWN0KHZhbHVlKSB8fFxuICAgICAgdGhpcy5kZWVwXG4gICAgKSB7XG4gICAgICAvLyBzZXQgbmV3IHZhbHVlXG4gICAgICB2YXIgb2xkVmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgaWYgKHRoaXMudXNlcikge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHRoaXMuY2IuY2FsbCh0aGlzLnZtLCB2YWx1ZSwgb2xkVmFsdWUpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgaGFuZGxlRXJyb3IoZSwgdGhpcy52bSwgKFwiY2FsbGJhY2sgZm9yIHdhdGNoZXIgXFxcIlwiICsgKHRoaXMuZXhwcmVzc2lvbikgKyBcIlxcXCJcIikpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNiLmNhbGwodGhpcy52bSwgdmFsdWUsIG9sZFZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG5cbi8qKlxuICogRXZhbHVhdGUgdGhlIHZhbHVlIG9mIHRoZSB3YXRjaGVyLlxuICogVGhpcyBvbmx5IGdldHMgY2FsbGVkIGZvciBsYXp5IHdhdGNoZXJzLlxuICovXG5XYXRjaGVyLnByb3RvdHlwZS5ldmFsdWF0ZSA9IGZ1bmN0aW9uIGV2YWx1YXRlICgpIHtcbiAgdGhpcy52YWx1ZSA9IHRoaXMuZ2V0KCk7XG4gIHRoaXMuZGlydHkgPSBmYWxzZTtcbn07XG5cbi8qKlxuICogRGVwZW5kIG9uIGFsbCBkZXBzIGNvbGxlY3RlZCBieSB0aGlzIHdhdGNoZXIuXG4gKi9cbldhdGNoZXIucHJvdG90eXBlLmRlcGVuZCA9IGZ1bmN0aW9uIGRlcGVuZCAoKSB7XG4gIHZhciBpID0gdGhpcy5kZXBzLmxlbmd0aDtcbiAgd2hpbGUgKGktLSkge1xuICAgIHRoaXMuZGVwc1tpXS5kZXBlbmQoKTtcbiAgfVxufTtcblxuLyoqXG4gKiBSZW1vdmUgc2VsZiBmcm9tIGFsbCBkZXBlbmRlbmNpZXMnIHN1YnNjcmliZXIgbGlzdC5cbiAqL1xuV2F0Y2hlci5wcm90b3R5cGUudGVhcmRvd24gPSBmdW5jdGlvbiB0ZWFyZG93biAoKSB7XG4gIGlmICh0aGlzLmFjdGl2ZSkge1xuICAgIC8vIHJlbW92ZSBzZWxmIGZyb20gdm0ncyB3YXRjaGVyIGxpc3RcbiAgICAvLyB0aGlzIGlzIGEgc29tZXdoYXQgZXhwZW5zaXZlIG9wZXJhdGlvbiBzbyB3ZSBza2lwIGl0XG4gICAgLy8gaWYgdGhlIHZtIGlzIGJlaW5nIGRlc3Ryb3llZC5cbiAgICBpZiAoIXRoaXMudm0uX2lzQmVpbmdEZXN0cm95ZWQpIHtcbiAgICAgIHJlbW92ZSh0aGlzLnZtLl93YXRjaGVycywgdGhpcyk7XG4gICAgfVxuICAgIHZhciBpID0gdGhpcy5kZXBzLmxlbmd0aDtcbiAgICB3aGlsZSAoaS0tKSB7XG4gICAgICB0aGlzLmRlcHNbaV0ucmVtb3ZlU3ViKHRoaXMpO1xuICAgIH1cbiAgICB0aGlzLmFjdGl2ZSA9IGZhbHNlO1xuICB9XG59O1xuXG4vKiAgKi9cblxudmFyIHNoYXJlZFByb3BlcnR5RGVmaW5pdGlvbiA9IHtcbiAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgY29uZmlndXJhYmxlOiB0cnVlLFxuICBnZXQ6IG5vb3AsXG4gIHNldDogbm9vcFxufTtcblxuZnVuY3Rpb24gcHJveHkgKHRhcmdldCwgc291cmNlS2V5LCBrZXkpIHtcbiAgc2hhcmVkUHJvcGVydHlEZWZpbml0aW9uLmdldCA9IGZ1bmN0aW9uIHByb3h5R2V0dGVyICgpIHtcbiAgICByZXR1cm4gdGhpc1tzb3VyY2VLZXldW2tleV1cbiAgfTtcbiAgc2hhcmVkUHJvcGVydHlEZWZpbml0aW9uLnNldCA9IGZ1bmN0aW9uIHByb3h5U2V0dGVyICh2YWwpIHtcbiAgICB0aGlzW3NvdXJjZUtleV1ba2V5XSA9IHZhbDtcbiAgfTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzaGFyZWRQcm9wZXJ0eURlZmluaXRpb24pO1xufVxuXG5mdW5jdGlvbiBpbml0U3RhdGUgKHZtKSB7XG4gIHZtLl93YXRjaGVycyA9IFtdO1xuICB2YXIgb3B0cyA9IHZtLiRvcHRpb25zO1xuICBpZiAob3B0cy5wcm9wcykgeyBpbml0UHJvcHModm0sIG9wdHMucHJvcHMpOyB9XG4gIGlmIChvcHRzLm1ldGhvZHMpIHsgaW5pdE1ldGhvZHModm0sIG9wdHMubWV0aG9kcyk7IH1cbiAgaWYgKG9wdHMuZGF0YSkge1xuICAgIGluaXREYXRhKHZtKTtcbiAgfSBlbHNlIHtcbiAgICBvYnNlcnZlKHZtLl9kYXRhID0ge30sIHRydWUgLyogYXNSb290RGF0YSAqLyk7XG4gIH1cbiAgaWYgKG9wdHMuY29tcHV0ZWQpIHsgaW5pdENvbXB1dGVkKHZtLCBvcHRzLmNvbXB1dGVkKTsgfVxuICBpZiAob3B0cy53YXRjaCAmJiBvcHRzLndhdGNoICE9PSBuYXRpdmVXYXRjaCkge1xuICAgIGluaXRXYXRjaCh2bSwgb3B0cy53YXRjaCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaW5pdFByb3BzICh2bSwgcHJvcHNPcHRpb25zKSB7XG4gIHZhciBwcm9wc0RhdGEgPSB2bS4kb3B0aW9ucy5wcm9wc0RhdGEgfHwge307XG4gIHZhciBwcm9wcyA9IHZtLl9wcm9wcyA9IHt9O1xuICAvLyBjYWNoZSBwcm9wIGtleXMgc28gdGhhdCBmdXR1cmUgcHJvcHMgdXBkYXRlcyBjYW4gaXRlcmF0ZSB1c2luZyBBcnJheVxuICAvLyBpbnN0ZWFkIG9mIGR5bmFtaWMgb2JqZWN0IGtleSBlbnVtZXJhdGlvbi5cbiAgdmFyIGtleXMgPSB2bS4kb3B0aW9ucy5fcHJvcEtleXMgPSBbXTtcbiAgdmFyIGlzUm9vdCA9ICF2bS4kcGFyZW50O1xuICAvLyByb290IGluc3RhbmNlIHByb3BzIHNob3VsZCBiZSBjb252ZXJ0ZWRcbiAgaWYgKCFpc1Jvb3QpIHtcbiAgICB0b2dnbGVPYnNlcnZpbmcoZmFsc2UpO1xuICB9XG4gIHZhciBsb29wID0gZnVuY3Rpb24gKCBrZXkgKSB7XG4gICAga2V5cy5wdXNoKGtleSk7XG4gICAgdmFyIHZhbHVlID0gdmFsaWRhdGVQcm9wKGtleSwgcHJvcHNPcHRpb25zLCBwcm9wc0RhdGEsIHZtKTtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0cnVlKSB7XG4gICAgICB2YXIgaHlwaGVuYXRlZEtleSA9IGh5cGhlbmF0ZShrZXkpO1xuICAgICAgaWYgKGlzUmVzZXJ2ZWRBdHRyaWJ1dGUoaHlwaGVuYXRlZEtleSkgfHxcbiAgICAgICAgICBjb25maWcuaXNSZXNlcnZlZEF0dHIoaHlwaGVuYXRlZEtleSkpIHtcbiAgICAgICAgd2FybihcbiAgICAgICAgICAoXCJcXFwiXCIgKyBoeXBoZW5hdGVkS2V5ICsgXCJcXFwiIGlzIGEgcmVzZXJ2ZWQgYXR0cmlidXRlIGFuZCBjYW5ub3QgYmUgdXNlZCBhcyBjb21wb25lbnQgcHJvcC5cIiksXG4gICAgICAgICAgdm1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGRlZmluZVJlYWN0aXZlJCQxKHByb3BzLCBrZXksIHZhbHVlLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICghaXNSb290ICYmICFpc1VwZGF0aW5nQ2hpbGRDb21wb25lbnQpIHtcbiAgICAgICAgICB3YXJuKFxuICAgICAgICAgICAgXCJBdm9pZCBtdXRhdGluZyBhIHByb3AgZGlyZWN0bHkgc2luY2UgdGhlIHZhbHVlIHdpbGwgYmUgXCIgK1xuICAgICAgICAgICAgXCJvdmVyd3JpdHRlbiB3aGVuZXZlciB0aGUgcGFyZW50IGNvbXBvbmVudCByZS1yZW5kZXJzLiBcIiArXG4gICAgICAgICAgICBcIkluc3RlYWQsIHVzZSBhIGRhdGEgb3IgY29tcHV0ZWQgcHJvcGVydHkgYmFzZWQgb24gdGhlIHByb3AncyBcIiArXG4gICAgICAgICAgICBcInZhbHVlLiBQcm9wIGJlaW5nIG11dGF0ZWQ6IFxcXCJcIiArIGtleSArIFwiXFxcIlwiLFxuICAgICAgICAgICAgdm1cbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge31cbiAgICAvLyBzdGF0aWMgcHJvcHMgYXJlIGFscmVhZHkgcHJveGllZCBvbiB0aGUgY29tcG9uZW50J3MgcHJvdG90eXBlXG4gICAgLy8gZHVyaW5nIFZ1ZS5leHRlbmQoKS4gV2Ugb25seSBuZWVkIHRvIHByb3h5IHByb3BzIGRlZmluZWQgYXRcbiAgICAvLyBpbnN0YW50aWF0aW9uIGhlcmUuXG4gICAgaWYgKCEoa2V5IGluIHZtKSkge1xuICAgICAgcHJveHkodm0sIFwiX3Byb3BzXCIsIGtleSk7XG4gICAgfVxuICB9O1xuXG4gIGZvciAodmFyIGtleSBpbiBwcm9wc09wdGlvbnMpIGxvb3AoIGtleSApO1xuICB0b2dnbGVPYnNlcnZpbmcodHJ1ZSk7XG59XG5cbmZ1bmN0aW9uIGluaXREYXRhICh2bSkge1xuICB2YXIgZGF0YSA9IHZtLiRvcHRpb25zLmRhdGE7XG4gIGRhdGEgPSB2bS5fZGF0YSA9IHR5cGVvZiBkYXRhID09PSAnZnVuY3Rpb24nXG4gICAgPyBnZXREYXRhKGRhdGEsIHZtKVxuICAgIDogZGF0YSB8fCB7fTtcbiAgaWYgKCFpc1BsYWluT2JqZWN0KGRhdGEpKSB7XG4gICAgZGF0YSA9IHt9O1xuICAgICB0cnVlICYmIHdhcm4oXG4gICAgICAnZGF0YSBmdW5jdGlvbnMgc2hvdWxkIHJldHVybiBhbiBvYmplY3Q6XFxuJyArXG4gICAgICAnaHR0cHM6Ly92dWVqcy5vcmcvdjIvZ3VpZGUvY29tcG9uZW50cy5odG1sI2RhdGEtTXVzdC1CZS1hLUZ1bmN0aW9uJyxcbiAgICAgIHZtXG4gICAgKTtcbiAgfVxuICAvLyBwcm94eSBkYXRhIG9uIGluc3RhbmNlXG4gIHZhciBrZXlzID0gT2JqZWN0LmtleXMoZGF0YSk7XG4gIHZhciBwcm9wcyA9IHZtLiRvcHRpb25zLnByb3BzO1xuICB2YXIgbWV0aG9kcyA9IHZtLiRvcHRpb25zLm1ldGhvZHM7XG4gIHZhciBpID0ga2V5cy5sZW5ndGg7XG4gIHdoaWxlIChpLS0pIHtcbiAgICB2YXIga2V5ID0ga2V5c1tpXTtcbiAgICBpZiAodHJ1ZSkge1xuICAgICAgaWYgKG1ldGhvZHMgJiYgaGFzT3duKG1ldGhvZHMsIGtleSkpIHtcbiAgICAgICAgd2FybihcbiAgICAgICAgICAoXCJNZXRob2QgXFxcIlwiICsga2V5ICsgXCJcXFwiIGhhcyBhbHJlYWR5IGJlZW4gZGVmaW5lZCBhcyBhIGRhdGEgcHJvcGVydHkuXCIpLFxuICAgICAgICAgIHZtXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wcyAmJiBoYXNPd24ocHJvcHMsIGtleSkpIHtcbiAgICAgICB0cnVlICYmIHdhcm4oXG4gICAgICAgIFwiVGhlIGRhdGEgcHJvcGVydHkgXFxcIlwiICsga2V5ICsgXCJcXFwiIGlzIGFscmVhZHkgZGVjbGFyZWQgYXMgYSBwcm9wLiBcIiArXG4gICAgICAgIFwiVXNlIHByb3AgZGVmYXVsdCB2YWx1ZSBpbnN0ZWFkLlwiLFxuICAgICAgICB2bVxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKCFpc1Jlc2VydmVkKGtleSkpIHtcbiAgICAgIHByb3h5KHZtLCBcIl9kYXRhXCIsIGtleSk7XG4gICAgfVxuICB9XG4gIC8vIG9ic2VydmUgZGF0YVxuICBvYnNlcnZlKGRhdGEsIHRydWUgLyogYXNSb290RGF0YSAqLyk7XG59XG5cbmZ1bmN0aW9uIGdldERhdGEgKGRhdGEsIHZtKSB7XG4gIC8vICM3NTczIGRpc2FibGUgZGVwIGNvbGxlY3Rpb24gd2hlbiBpbnZva2luZyBkYXRhIGdldHRlcnNcbiAgcHVzaFRhcmdldCgpO1xuICB0cnkge1xuICAgIHJldHVybiBkYXRhLmNhbGwodm0sIHZtKVxuICB9IGNhdGNoIChlKSB7XG4gICAgaGFuZGxlRXJyb3IoZSwgdm0sIFwiZGF0YSgpXCIpO1xuICAgIHJldHVybiB7fVxuICB9IGZpbmFsbHkge1xuICAgIHBvcFRhcmdldCgpO1xuICB9XG59XG5cbnZhciBjb21wdXRlZFdhdGNoZXJPcHRpb25zID0geyBsYXp5OiB0cnVlIH07XG5cbmZ1bmN0aW9uIGluaXRDb21wdXRlZCAodm0sIGNvbXB1dGVkKSB7XG4gIC8vICRmbG93LWRpc2FibGUtbGluZVxuICB2YXIgd2F0Y2hlcnMgPSB2bS5fY29tcHV0ZWRXYXRjaGVycyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gIC8vIGNvbXB1dGVkIHByb3BlcnRpZXMgYXJlIGp1c3QgZ2V0dGVycyBkdXJpbmcgU1NSXG4gIHZhciBpc1NTUiA9IGlzU2VydmVyUmVuZGVyaW5nKCk7XG5cbiAgZm9yICh2YXIga2V5IGluIGNvbXB1dGVkKSB7XG4gICAgdmFyIHVzZXJEZWYgPSBjb21wdXRlZFtrZXldO1xuICAgIHZhciBnZXR0ZXIgPSB0eXBlb2YgdXNlckRlZiA9PT0gJ2Z1bmN0aW9uJyA/IHVzZXJEZWYgOiB1c2VyRGVmLmdldDtcbiAgICBpZiAoIHRydWUgJiYgZ2V0dGVyID09IG51bGwpIHtcbiAgICAgIHdhcm4oXG4gICAgICAgIChcIkdldHRlciBpcyBtaXNzaW5nIGZvciBjb21wdXRlZCBwcm9wZXJ0eSBcXFwiXCIgKyBrZXkgKyBcIlxcXCIuXCIpLFxuICAgICAgICB2bVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoIWlzU1NSKSB7XG4gICAgICAvLyBjcmVhdGUgaW50ZXJuYWwgd2F0Y2hlciBmb3IgdGhlIGNvbXB1dGVkIHByb3BlcnR5LlxuICAgICAgd2F0Y2hlcnNba2V5XSA9IG5ldyBXYXRjaGVyKFxuICAgICAgICB2bSxcbiAgICAgICAgZ2V0dGVyIHx8IG5vb3AsXG4gICAgICAgIG5vb3AsXG4gICAgICAgIGNvbXB1dGVkV2F0Y2hlck9wdGlvbnNcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gY29tcG9uZW50LWRlZmluZWQgY29tcHV0ZWQgcHJvcGVydGllcyBhcmUgYWxyZWFkeSBkZWZpbmVkIG9uIHRoZVxuICAgIC8vIGNvbXBvbmVudCBwcm90b3R5cGUuIFdlIG9ubHkgbmVlZCB0byBkZWZpbmUgY29tcHV0ZWQgcHJvcGVydGllcyBkZWZpbmVkXG4gICAgLy8gYXQgaW5zdGFudGlhdGlvbiBoZXJlLlxuICAgIGlmICghKGtleSBpbiB2bSkpIHtcbiAgICAgIGRlZmluZUNvbXB1dGVkKHZtLCBrZXksIHVzZXJEZWYpO1xuICAgIH0gZWxzZSBpZiAodHJ1ZSkge1xuICAgICAgaWYgKGtleSBpbiB2bS4kZGF0YSkge1xuICAgICAgICB3YXJuKChcIlRoZSBjb21wdXRlZCBwcm9wZXJ0eSBcXFwiXCIgKyBrZXkgKyBcIlxcXCIgaXMgYWxyZWFkeSBkZWZpbmVkIGluIGRhdGEuXCIpLCB2bSk7XG4gICAgICB9IGVsc2UgaWYgKHZtLiRvcHRpb25zLnByb3BzICYmIGtleSBpbiB2bS4kb3B0aW9ucy5wcm9wcykge1xuICAgICAgICB3YXJuKChcIlRoZSBjb21wdXRlZCBwcm9wZXJ0eSBcXFwiXCIgKyBrZXkgKyBcIlxcXCIgaXMgYWxyZWFkeSBkZWZpbmVkIGFzIGEgcHJvcC5cIiksIHZtKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZGVmaW5lQ29tcHV0ZWQgKFxuICB0YXJnZXQsXG4gIGtleSxcbiAgdXNlckRlZlxuKSB7XG4gIHZhciBzaG91bGRDYWNoZSA9ICFpc1NlcnZlclJlbmRlcmluZygpO1xuICBpZiAodHlwZW9mIHVzZXJEZWYgPT09ICdmdW5jdGlvbicpIHtcbiAgICBzaGFyZWRQcm9wZXJ0eURlZmluaXRpb24uZ2V0ID0gc2hvdWxkQ2FjaGVcbiAgICAgID8gY3JlYXRlQ29tcHV0ZWRHZXR0ZXIoa2V5KVxuICAgICAgOiBjcmVhdGVHZXR0ZXJJbnZva2VyKHVzZXJEZWYpO1xuICAgIHNoYXJlZFByb3BlcnR5RGVmaW5pdGlvbi5zZXQgPSBub29wO1xuICB9IGVsc2Uge1xuICAgIHNoYXJlZFByb3BlcnR5RGVmaW5pdGlvbi5nZXQgPSB1c2VyRGVmLmdldFxuICAgICAgPyBzaG91bGRDYWNoZSAmJiB1c2VyRGVmLmNhY2hlICE9PSBmYWxzZVxuICAgICAgICA/IGNyZWF0ZUNvbXB1dGVkR2V0dGVyKGtleSlcbiAgICAgICAgOiBjcmVhdGVHZXR0ZXJJbnZva2VyKHVzZXJEZWYuZ2V0KVxuICAgICAgOiBub29wO1xuICAgIHNoYXJlZFByb3BlcnR5RGVmaW5pdGlvbi5zZXQgPSB1c2VyRGVmLnNldCB8fCBub29wO1xuICB9XG4gIGlmICggdHJ1ZSAmJlxuICAgICAgc2hhcmVkUHJvcGVydHlEZWZpbml0aW9uLnNldCA9PT0gbm9vcCkge1xuICAgIHNoYXJlZFByb3BlcnR5RGVmaW5pdGlvbi5zZXQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICB3YXJuKFxuICAgICAgICAoXCJDb21wdXRlZCBwcm9wZXJ0eSBcXFwiXCIgKyBrZXkgKyBcIlxcXCIgd2FzIGFzc2lnbmVkIHRvIGJ1dCBpdCBoYXMgbm8gc2V0dGVyLlwiKSxcbiAgICAgICAgdGhpc1xuICAgICAgKTtcbiAgICB9O1xuICB9XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc2hhcmVkUHJvcGVydHlEZWZpbml0aW9uKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlQ29tcHV0ZWRHZXR0ZXIgKGtleSkge1xuICByZXR1cm4gZnVuY3Rpb24gY29tcHV0ZWRHZXR0ZXIgKCkge1xuICAgIHZhciB3YXRjaGVyID0gdGhpcy5fY29tcHV0ZWRXYXRjaGVycyAmJiB0aGlzLl9jb21wdXRlZFdhdGNoZXJzW2tleV07XG4gICAgaWYgKHdhdGNoZXIpIHtcbiAgICAgIGlmICh3YXRjaGVyLmRpcnR5KSB7XG4gICAgICAgIHdhdGNoZXIuZXZhbHVhdGUoKTtcbiAgICAgIH1cbiAgICAgIGlmIChEZXAudGFyZ2V0KSB7XG4gICAgICAgIHdhdGNoZXIuZGVwZW5kKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gd2F0Y2hlci52YWx1ZVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjcmVhdGVHZXR0ZXJJbnZva2VyKGZuKSB7XG4gIHJldHVybiBmdW5jdGlvbiBjb21wdXRlZEdldHRlciAoKSB7XG4gICAgcmV0dXJuIGZuLmNhbGwodGhpcywgdGhpcylcbiAgfVxufVxuXG5mdW5jdGlvbiBpbml0TWV0aG9kcyAodm0sIG1ldGhvZHMpIHtcbiAgdmFyIHByb3BzID0gdm0uJG9wdGlvbnMucHJvcHM7XG4gIGZvciAodmFyIGtleSBpbiBtZXRob2RzKSB7XG4gICAgaWYgKHRydWUpIHtcbiAgICAgIGlmICh0eXBlb2YgbWV0aG9kc1trZXldICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHdhcm4oXG4gICAgICAgICAgXCJNZXRob2QgXFxcIlwiICsga2V5ICsgXCJcXFwiIGhhcyB0eXBlIFxcXCJcIiArICh0eXBlb2YgbWV0aG9kc1trZXldKSArIFwiXFxcIiBpbiB0aGUgY29tcG9uZW50IGRlZmluaXRpb24uIFwiICtcbiAgICAgICAgICBcIkRpZCB5b3UgcmVmZXJlbmNlIHRoZSBmdW5jdGlvbiBjb3JyZWN0bHk/XCIsXG4gICAgICAgICAgdm1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcyAmJiBoYXNPd24ocHJvcHMsIGtleSkpIHtcbiAgICAgICAgd2FybihcbiAgICAgICAgICAoXCJNZXRob2QgXFxcIlwiICsga2V5ICsgXCJcXFwiIGhhcyBhbHJlYWR5IGJlZW4gZGVmaW5lZCBhcyBhIHByb3AuXCIpLFxuICAgICAgICAgIHZtXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAoKGtleSBpbiB2bSkgJiYgaXNSZXNlcnZlZChrZXkpKSB7XG4gICAgICAgIHdhcm4oXG4gICAgICAgICAgXCJNZXRob2QgXFxcIlwiICsga2V5ICsgXCJcXFwiIGNvbmZsaWN0cyB3aXRoIGFuIGV4aXN0aW5nIFZ1ZSBpbnN0YW5jZSBtZXRob2QuIFwiICtcbiAgICAgICAgICBcIkF2b2lkIGRlZmluaW5nIGNvbXBvbmVudCBtZXRob2RzIHRoYXQgc3RhcnQgd2l0aCBfIG9yICQuXCJcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdm1ba2V5XSA9IHR5cGVvZiBtZXRob2RzW2tleV0gIT09ICdmdW5jdGlvbicgPyBub29wIDogYmluZChtZXRob2RzW2tleV0sIHZtKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpbml0V2F0Y2ggKHZtLCB3YXRjaCkge1xuICBmb3IgKHZhciBrZXkgaW4gd2F0Y2gpIHtcbiAgICB2YXIgaGFuZGxlciA9IHdhdGNoW2tleV07XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoaGFuZGxlcikpIHtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaGFuZGxlci5sZW5ndGg7IGkrKykge1xuICAgICAgICBjcmVhdGVXYXRjaGVyKHZtLCBrZXksIGhhbmRsZXJbaV0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjcmVhdGVXYXRjaGVyKHZtLCBrZXksIGhhbmRsZXIpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjcmVhdGVXYXRjaGVyIChcbiAgdm0sXG4gIGV4cE9yRm4sXG4gIGhhbmRsZXIsXG4gIG9wdGlvbnNcbikge1xuICBpZiAoaXNQbGFpbk9iamVjdChoYW5kbGVyKSkge1xuICAgIG9wdGlvbnMgPSBoYW5kbGVyO1xuICAgIGhhbmRsZXIgPSBoYW5kbGVyLmhhbmRsZXI7XG4gIH1cbiAgaWYgKHR5cGVvZiBoYW5kbGVyID09PSAnc3RyaW5nJykge1xuICAgIGhhbmRsZXIgPSB2bVtoYW5kbGVyXTtcbiAgfVxuICByZXR1cm4gdm0uJHdhdGNoKGV4cE9yRm4sIGhhbmRsZXIsIG9wdGlvbnMpXG59XG5cbmZ1bmN0aW9uIHN0YXRlTWl4aW4gKFZ1ZSkge1xuICAvLyBmbG93IHNvbWVob3cgaGFzIHByb2JsZW1zIHdpdGggZGlyZWN0bHkgZGVjbGFyZWQgZGVmaW5pdGlvbiBvYmplY3RcbiAgLy8gd2hlbiB1c2luZyBPYmplY3QuZGVmaW5lUHJvcGVydHksIHNvIHdlIGhhdmUgdG8gcHJvY2VkdXJhbGx5IGJ1aWxkIHVwXG4gIC8vIHRoZSBvYmplY3QgaGVyZS5cbiAgdmFyIGRhdGFEZWYgPSB7fTtcbiAgZGF0YURlZi5nZXQgPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzLl9kYXRhIH07XG4gIHZhciBwcm9wc0RlZiA9IHt9O1xuICBwcm9wc0RlZi5nZXQgPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzLl9wcm9wcyB9O1xuICBpZiAodHJ1ZSkge1xuICAgIGRhdGFEZWYuc2V0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgd2FybihcbiAgICAgICAgJ0F2b2lkIHJlcGxhY2luZyBpbnN0YW5jZSByb290ICRkYXRhLiAnICtcbiAgICAgICAgJ1VzZSBuZXN0ZWQgZGF0YSBwcm9wZXJ0aWVzIGluc3RlYWQuJyxcbiAgICAgICAgdGhpc1xuICAgICAgKTtcbiAgICB9O1xuICAgIHByb3BzRGVmLnNldCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHdhcm4oXCIkcHJvcHMgaXMgcmVhZG9ubHkuXCIsIHRoaXMpO1xuICAgIH07XG4gIH1cbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFZ1ZS5wcm90b3R5cGUsICckZGF0YScsIGRhdGFEZWYpO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoVnVlLnByb3RvdHlwZSwgJyRwcm9wcycsIHByb3BzRGVmKTtcblxuICBWdWUucHJvdG90eXBlLiRzZXQgPSBzZXQ7XG4gIFZ1ZS5wcm90b3R5cGUuJGRlbGV0ZSA9IGRlbDtcblxuICBWdWUucHJvdG90eXBlLiR3YXRjaCA9IGZ1bmN0aW9uIChcbiAgICBleHBPckZuLFxuICAgIGNiLFxuICAgIG9wdGlvbnNcbiAgKSB7XG4gICAgdmFyIHZtID0gdGhpcztcbiAgICBpZiAoaXNQbGFpbk9iamVjdChjYikpIHtcbiAgICAgIHJldHVybiBjcmVhdGVXYXRjaGVyKHZtLCBleHBPckZuLCBjYiwgb3B0aW9ucylcbiAgICB9XG4gICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gICAgb3B0aW9ucy51c2VyID0gdHJ1ZTtcbiAgICB2YXIgd2F0Y2hlciA9IG5ldyBXYXRjaGVyKHZtLCBleHBPckZuLCBjYiwgb3B0aW9ucyk7XG4gICAgaWYgKG9wdGlvbnMuaW1tZWRpYXRlKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjYi5jYWxsKHZtLCB3YXRjaGVyLnZhbHVlKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGhhbmRsZUVycm9yKGVycm9yLCB2bSwgKFwiY2FsbGJhY2sgZm9yIGltbWVkaWF0ZSB3YXRjaGVyIFxcXCJcIiArICh3YXRjaGVyLmV4cHJlc3Npb24pICsgXCJcXFwiXCIpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZ1bmN0aW9uIHVud2F0Y2hGbiAoKSB7XG4gICAgICB3YXRjaGVyLnRlYXJkb3duKCk7XG4gICAgfVxuICB9O1xufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gaW5pdFByb3ZpZGUgKHZtKSB7XG4gIHZhciBwcm92aWRlID0gdm0uJG9wdGlvbnMucHJvdmlkZTtcbiAgaWYgKHByb3ZpZGUpIHtcbiAgICB2bS5fcHJvdmlkZWQgPSB0eXBlb2YgcHJvdmlkZSA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgPyBwcm92aWRlLmNhbGwodm0pXG4gICAgICA6IHByb3ZpZGU7XG4gIH1cbn1cblxuZnVuY3Rpb24gaW5pdEluamVjdGlvbnMgKHZtKSB7XG4gIHZhciByZXN1bHQgPSByZXNvbHZlSW5qZWN0KHZtLiRvcHRpb25zLmluamVjdCwgdm0pO1xuICBpZiAocmVzdWx0KSB7XG4gICAgdG9nZ2xlT2JzZXJ2aW5nKGZhbHNlKTtcbiAgICBPYmplY3Qua2V5cyhyZXN1bHQpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmICh0cnVlKSB7XG4gICAgICAgIGRlZmluZVJlYWN0aXZlJCQxKHZtLCBrZXksIHJlc3VsdFtrZXldLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgd2FybihcbiAgICAgICAgICAgIFwiQXZvaWQgbXV0YXRpbmcgYW4gaW5qZWN0ZWQgdmFsdWUgZGlyZWN0bHkgc2luY2UgdGhlIGNoYW5nZXMgd2lsbCBiZSBcIiArXG4gICAgICAgICAgICBcIm92ZXJ3cml0dGVuIHdoZW5ldmVyIHRoZSBwcm92aWRlZCBjb21wb25lbnQgcmUtcmVuZGVycy4gXCIgK1xuICAgICAgICAgICAgXCJpbmplY3Rpb24gYmVpbmcgbXV0YXRlZDogXFxcIlwiICsga2V5ICsgXCJcXFwiXCIsXG4gICAgICAgICAgICB2bVxuICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHt9XG4gICAgfSk7XG4gICAgdG9nZ2xlT2JzZXJ2aW5nKHRydWUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVJbmplY3QgKGluamVjdCwgdm0pIHtcbiAgaWYgKGluamVjdCkge1xuICAgIC8vIGluamVjdCBpcyA6YW55IGJlY2F1c2UgZmxvdyBpcyBub3Qgc21hcnQgZW5vdWdoIHRvIGZpZ3VyZSBvdXQgY2FjaGVkXG4gICAgdmFyIHJlc3VsdCA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgdmFyIGtleXMgPSBoYXNTeW1ib2xcbiAgICAgID8gUmVmbGVjdC5vd25LZXlzKGluamVjdCkuZmlsdGVyKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoaW5qZWN0LCBrZXkpLmVudW1lcmFibGVcbiAgICAgIH0pXG4gICAgICA6IE9iamVjdC5rZXlzKGluamVjdCk7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBrZXkgPSBrZXlzW2ldO1xuICAgICAgdmFyIHByb3ZpZGVLZXkgPSBpbmplY3Rba2V5XS5mcm9tO1xuICAgICAgdmFyIHNvdXJjZSA9IHZtO1xuICAgICAgd2hpbGUgKHNvdXJjZSkge1xuICAgICAgICBpZiAoc291cmNlLl9wcm92aWRlZCAmJiBoYXNPd24oc291cmNlLl9wcm92aWRlZCwgcHJvdmlkZUtleSkpIHtcbiAgICAgICAgICByZXN1bHRba2V5XSA9IHNvdXJjZS5fcHJvdmlkZWRbcHJvdmlkZUtleV07XG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgICBzb3VyY2UgPSBzb3VyY2UuJHBhcmVudDtcbiAgICAgIH1cbiAgICAgIGlmICghc291cmNlKSB7XG4gICAgICAgIGlmICgnZGVmYXVsdCcgaW4gaW5qZWN0W2tleV0pIHtcbiAgICAgICAgICB2YXIgcHJvdmlkZURlZmF1bHQgPSBpbmplY3Rba2V5XS5kZWZhdWx0O1xuICAgICAgICAgIHJlc3VsdFtrZXldID0gdHlwZW9mIHByb3ZpZGVEZWZhdWx0ID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICA/IHByb3ZpZGVEZWZhdWx0LmNhbGwodm0pXG4gICAgICAgICAgICA6IHByb3ZpZGVEZWZhdWx0O1xuICAgICAgICB9IGVsc2UgaWYgKHRydWUpIHtcbiAgICAgICAgICB3YXJuKChcIkluamVjdGlvbiBcXFwiXCIgKyBrZXkgKyBcIlxcXCIgbm90IGZvdW5kXCIpLCB2bSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG59XG5cbi8qICAqL1xuXG4vKipcbiAqIFJ1bnRpbWUgaGVscGVyIGZvciByZW5kZXJpbmcgdi1mb3IgbGlzdHMuXG4gKi9cbmZ1bmN0aW9uIHJlbmRlckxpc3QgKFxuICB2YWwsXG4gIHJlbmRlclxuKSB7XG4gIHZhciByZXQsIGksIGwsIGtleXMsIGtleTtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsKSB8fCB0eXBlb2YgdmFsID09PSAnc3RyaW5nJykge1xuICAgIHJldCA9IG5ldyBBcnJheSh2YWwubGVuZ3RoKTtcbiAgICBmb3IgKGkgPSAwLCBsID0gdmFsLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgcmV0W2ldID0gcmVuZGVyKHZhbFtpXSwgaSk7XG4gICAgfVxuICB9IGVsc2UgaWYgKHR5cGVvZiB2YWwgPT09ICdudW1iZXInKSB7XG4gICAgcmV0ID0gbmV3IEFycmF5KHZhbCk7XG4gICAgZm9yIChpID0gMDsgaSA8IHZhbDsgaSsrKSB7XG4gICAgICByZXRbaV0gPSByZW5kZXIoaSArIDEsIGkpO1xuICAgIH1cbiAgfSBlbHNlIGlmIChpc09iamVjdCh2YWwpKSB7XG4gICAga2V5cyA9IE9iamVjdC5rZXlzKHZhbCk7XG4gICAgcmV0ID0gbmV3IEFycmF5KGtleXMubGVuZ3RoKTtcbiAgICBmb3IgKGkgPSAwLCBsID0ga2V5cy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIGtleSA9IGtleXNbaV07XG4gICAgICByZXRbaV0gPSByZW5kZXIodmFsW2tleV0sIGtleSwgaSk7XG4gICAgfVxuICB9XG4gIGlmICghaXNEZWYocmV0KSkge1xuICAgIHJldCA9IFtdO1xuICB9XG4gIChyZXQpLl9pc1ZMaXN0ID0gdHJ1ZTtcbiAgcmV0dXJuIHJldFxufVxuXG4vKiAgKi9cblxuLyoqXG4gKiBSdW50aW1lIGhlbHBlciBmb3IgcmVuZGVyaW5nIDxzbG90PlxuICovXG5mdW5jdGlvbiByZW5kZXJTbG90IChcbiAgbmFtZSxcbiAgZmFsbGJhY2ssXG4gIHByb3BzLFxuICBiaW5kT2JqZWN0XG4pIHtcbiAgdmFyIHNjb3BlZFNsb3RGbiA9IHRoaXMuJHNjb3BlZFNsb3RzW25hbWVdO1xuICB2YXIgbm9kZXM7XG4gIGlmIChzY29wZWRTbG90Rm4pIHsgLy8gc2NvcGVkIHNsb3RcbiAgICBwcm9wcyA9IHByb3BzIHx8IHt9O1xuICAgIGlmIChiaW5kT2JqZWN0KSB7XG4gICAgICBpZiAoIHRydWUgJiYgIWlzT2JqZWN0KGJpbmRPYmplY3QpKSB7XG4gICAgICAgIHdhcm4oXG4gICAgICAgICAgJ3Nsb3Qgdi1iaW5kIHdpdGhvdXQgYXJndW1lbnQgZXhwZWN0cyBhbiBPYmplY3QnLFxuICAgICAgICAgIHRoaXNcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHByb3BzID0gZXh0ZW5kKGV4dGVuZCh7fSwgYmluZE9iamVjdCksIHByb3BzKTtcbiAgICB9XG4gICAgbm9kZXMgPSBzY29wZWRTbG90Rm4ocHJvcHMpIHx8IGZhbGxiYWNrO1xuICB9IGVsc2Uge1xuICAgIG5vZGVzID0gdGhpcy4kc2xvdHNbbmFtZV0gfHwgZmFsbGJhY2s7XG4gIH1cblxuICB2YXIgdGFyZ2V0ID0gcHJvcHMgJiYgcHJvcHMuc2xvdDtcbiAgaWYgKHRhcmdldCkge1xuICAgIHJldHVybiB0aGlzLiRjcmVhdGVFbGVtZW50KCd0ZW1wbGF0ZScsIHsgc2xvdDogdGFyZ2V0IH0sIG5vZGVzKVxuICB9IGVsc2Uge1xuICAgIHJldHVybiBub2Rlc1xuICB9XG59XG5cbi8qICAqL1xuXG4vKipcbiAqIFJ1bnRpbWUgaGVscGVyIGZvciByZXNvbHZpbmcgZmlsdGVyc1xuICovXG5mdW5jdGlvbiByZXNvbHZlRmlsdGVyIChpZCkge1xuICByZXR1cm4gcmVzb2x2ZUFzc2V0KHRoaXMuJG9wdGlvbnMsICdmaWx0ZXJzJywgaWQsIHRydWUpIHx8IGlkZW50aXR5XG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBpc0tleU5vdE1hdGNoIChleHBlY3QsIGFjdHVhbCkge1xuICBpZiAoQXJyYXkuaXNBcnJheShleHBlY3QpKSB7XG4gICAgcmV0dXJuIGV4cGVjdC5pbmRleE9mKGFjdHVhbCkgPT09IC0xXG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGV4cGVjdCAhPT0gYWN0dWFsXG4gIH1cbn1cblxuLyoqXG4gKiBSdW50aW1lIGhlbHBlciBmb3IgY2hlY2tpbmcga2V5Q29kZXMgZnJvbSBjb25maWcuXG4gKiBleHBvc2VkIGFzIFZ1ZS5wcm90b3R5cGUuX2tcbiAqIHBhc3NpbmcgaW4gZXZlbnRLZXlOYW1lIGFzIGxhc3QgYXJndW1lbnQgc2VwYXJhdGVseSBmb3IgYmFja3dhcmRzIGNvbXBhdFxuICovXG5mdW5jdGlvbiBjaGVja0tleUNvZGVzIChcbiAgZXZlbnRLZXlDb2RlLFxuICBrZXksXG4gIGJ1aWx0SW5LZXlDb2RlLFxuICBldmVudEtleU5hbWUsXG4gIGJ1aWx0SW5LZXlOYW1lXG4pIHtcbiAgdmFyIG1hcHBlZEtleUNvZGUgPSBjb25maWcua2V5Q29kZXNba2V5XSB8fCBidWlsdEluS2V5Q29kZTtcbiAgaWYgKGJ1aWx0SW5LZXlOYW1lICYmIGV2ZW50S2V5TmFtZSAmJiAhY29uZmlnLmtleUNvZGVzW2tleV0pIHtcbiAgICByZXR1cm4gaXNLZXlOb3RNYXRjaChidWlsdEluS2V5TmFtZSwgZXZlbnRLZXlOYW1lKVxuICB9IGVsc2UgaWYgKG1hcHBlZEtleUNvZGUpIHtcbiAgICByZXR1cm4gaXNLZXlOb3RNYXRjaChtYXBwZWRLZXlDb2RlLCBldmVudEtleUNvZGUpXG4gIH0gZWxzZSBpZiAoZXZlbnRLZXlOYW1lKSB7XG4gICAgcmV0dXJuIGh5cGhlbmF0ZShldmVudEtleU5hbWUpICE9PSBrZXlcbiAgfVxufVxuXG4vKiAgKi9cblxuLyoqXG4gKiBSdW50aW1lIGhlbHBlciBmb3IgbWVyZ2luZyB2LWJpbmQ9XCJvYmplY3RcIiBpbnRvIGEgVk5vZGUncyBkYXRhLlxuICovXG5mdW5jdGlvbiBiaW5kT2JqZWN0UHJvcHMgKFxuICBkYXRhLFxuICB0YWcsXG4gIHZhbHVlLFxuICBhc1Byb3AsXG4gIGlzU3luY1xuKSB7XG4gIGlmICh2YWx1ZSkge1xuICAgIGlmICghaXNPYmplY3QodmFsdWUpKSB7XG4gICAgICAgdHJ1ZSAmJiB3YXJuKFxuICAgICAgICAndi1iaW5kIHdpdGhvdXQgYXJndW1lbnQgZXhwZWN0cyBhbiBPYmplY3Qgb3IgQXJyYXkgdmFsdWUnLFxuICAgICAgICB0aGlzXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgdmFsdWUgPSB0b09iamVjdCh2YWx1ZSk7XG4gICAgICB9XG4gICAgICB2YXIgaGFzaDtcbiAgICAgIHZhciBsb29wID0gZnVuY3Rpb24gKCBrZXkgKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBrZXkgPT09ICdjbGFzcycgfHxcbiAgICAgICAgICBrZXkgPT09ICdzdHlsZScgfHxcbiAgICAgICAgICBpc1Jlc2VydmVkQXR0cmlidXRlKGtleSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgaGFzaCA9IGRhdGE7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdmFyIHR5cGUgPSBkYXRhLmF0dHJzICYmIGRhdGEuYXR0cnMudHlwZTtcbiAgICAgICAgICBoYXNoID0gYXNQcm9wIHx8IGNvbmZpZy5tdXN0VXNlUHJvcCh0YWcsIHR5cGUsIGtleSlcbiAgICAgICAgICAgID8gZGF0YS5kb21Qcm9wcyB8fCAoZGF0YS5kb21Qcm9wcyA9IHt9KVxuICAgICAgICAgICAgOiBkYXRhLmF0dHJzIHx8IChkYXRhLmF0dHJzID0ge30pO1xuICAgICAgICB9XG4gICAgICAgIHZhciBjYW1lbGl6ZWRLZXkgPSBjYW1lbGl6ZShrZXkpO1xuICAgICAgICBpZiAoIShrZXkgaW4gaGFzaCkgJiYgIShjYW1lbGl6ZWRLZXkgaW4gaGFzaCkpIHtcbiAgICAgICAgICBoYXNoW2tleV0gPSB2YWx1ZVtrZXldO1xuXG4gICAgICAgICAgaWYgKGlzU3luYykge1xuICAgICAgICAgICAgdmFyIG9uID0gZGF0YS5vbiB8fCAoZGF0YS5vbiA9IHt9KTtcbiAgICAgICAgICAgIG9uWyhcInVwZGF0ZTpcIiArIGNhbWVsaXplZEtleSldID0gZnVuY3Rpb24gKCRldmVudCkge1xuICAgICAgICAgICAgICB2YWx1ZVtrZXldID0gJGV2ZW50O1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIGZvciAodmFyIGtleSBpbiB2YWx1ZSkgbG9vcCgga2V5ICk7XG4gICAgfVxuICB9XG4gIHJldHVybiBkYXRhXG59XG5cbi8qICAqL1xuXG4vKipcbiAqIFJ1bnRpbWUgaGVscGVyIGZvciByZW5kZXJpbmcgc3RhdGljIHRyZWVzLlxuICovXG5mdW5jdGlvbiByZW5kZXJTdGF0aWMgKFxuICBpbmRleCxcbiAgaXNJbkZvclxuKSB7XG4gIHZhciBjYWNoZWQgPSB0aGlzLl9zdGF0aWNUcmVlcyB8fCAodGhpcy5fc3RhdGljVHJlZXMgPSBbXSk7XG4gIHZhciB0cmVlID0gY2FjaGVkW2luZGV4XTtcbiAgLy8gaWYgaGFzIGFscmVhZHktcmVuZGVyZWQgc3RhdGljIHRyZWUgYW5kIG5vdCBpbnNpZGUgdi1mb3IsXG4gIC8vIHdlIGNhbiByZXVzZSB0aGUgc2FtZSB0cmVlLlxuICBpZiAodHJlZSAmJiAhaXNJbkZvcikge1xuICAgIHJldHVybiB0cmVlXG4gIH1cbiAgLy8gb3RoZXJ3aXNlLCByZW5kZXIgYSBmcmVzaCB0cmVlLlxuICB0cmVlID0gY2FjaGVkW2luZGV4XSA9IHRoaXMuJG9wdGlvbnMuc3RhdGljUmVuZGVyRm5zW2luZGV4XS5jYWxsKFxuICAgIHRoaXMuX3JlbmRlclByb3h5LFxuICAgIG51bGwsXG4gICAgdGhpcyAvLyBmb3IgcmVuZGVyIGZucyBnZW5lcmF0ZWQgZm9yIGZ1bmN0aW9uYWwgY29tcG9uZW50IHRlbXBsYXRlc1xuICApO1xuICBtYXJrU3RhdGljKHRyZWUsIChcIl9fc3RhdGljX19cIiArIGluZGV4KSwgZmFsc2UpO1xuICByZXR1cm4gdHJlZVxufVxuXG4vKipcbiAqIFJ1bnRpbWUgaGVscGVyIGZvciB2LW9uY2UuXG4gKiBFZmZlY3RpdmVseSBpdCBtZWFucyBtYXJraW5nIHRoZSBub2RlIGFzIHN0YXRpYyB3aXRoIGEgdW5pcXVlIGtleS5cbiAqL1xuZnVuY3Rpb24gbWFya09uY2UgKFxuICB0cmVlLFxuICBpbmRleCxcbiAga2V5XG4pIHtcbiAgbWFya1N0YXRpYyh0cmVlLCAoXCJfX29uY2VfX1wiICsgaW5kZXggKyAoa2V5ID8gKFwiX1wiICsga2V5KSA6IFwiXCIpKSwgdHJ1ZSk7XG4gIHJldHVybiB0cmVlXG59XG5cbmZ1bmN0aW9uIG1hcmtTdGF0aWMgKFxuICB0cmVlLFxuICBrZXksXG4gIGlzT25jZVxuKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KHRyZWUpKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0cmVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAodHJlZVtpXSAmJiB0eXBlb2YgdHJlZVtpXSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgbWFya1N0YXRpY05vZGUodHJlZVtpXSwgKGtleSArIFwiX1wiICsgaSksIGlzT25jZSk7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIG1hcmtTdGF0aWNOb2RlKHRyZWUsIGtleSwgaXNPbmNlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBtYXJrU3RhdGljTm9kZSAobm9kZSwga2V5LCBpc09uY2UpIHtcbiAgbm9kZS5pc1N0YXRpYyA9IHRydWU7XG4gIG5vZGUua2V5ID0ga2V5O1xuICBub2RlLmlzT25jZSA9IGlzT25jZTtcbn1cblxuLyogICovXG5cbmZ1bmN0aW9uIGJpbmRPYmplY3RMaXN0ZW5lcnMgKGRhdGEsIHZhbHVlKSB7XG4gIGlmICh2YWx1ZSkge1xuICAgIGlmICghaXNQbGFpbk9iamVjdCh2YWx1ZSkpIHtcbiAgICAgICB0cnVlICYmIHdhcm4oXG4gICAgICAgICd2LW9uIHdpdGhvdXQgYXJndW1lbnQgZXhwZWN0cyBhbiBPYmplY3QgdmFsdWUnLFxuICAgICAgICB0aGlzXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgb24gPSBkYXRhLm9uID0gZGF0YS5vbiA/IGV4dGVuZCh7fSwgZGF0YS5vbikgOiB7fTtcbiAgICAgIGZvciAodmFyIGtleSBpbiB2YWx1ZSkge1xuICAgICAgICB2YXIgZXhpc3RpbmcgPSBvbltrZXldO1xuICAgICAgICB2YXIgb3VycyA9IHZhbHVlW2tleV07XG4gICAgICAgIG9uW2tleV0gPSBleGlzdGluZyA/IFtdLmNvbmNhdChleGlzdGluZywgb3VycykgOiBvdXJzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gZGF0YVxufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gaW5zdGFsbFJlbmRlckhlbHBlcnMgKHRhcmdldCkge1xuICB0YXJnZXQuX28gPSBtYXJrT25jZTtcbiAgdGFyZ2V0Ll9uID0gdG9OdW1iZXI7XG4gIHRhcmdldC5fcyA9IHRvU3RyaW5nO1xuICB0YXJnZXQuX2wgPSByZW5kZXJMaXN0O1xuICB0YXJnZXQuX3QgPSByZW5kZXJTbG90O1xuICB0YXJnZXQuX3EgPSBsb29zZUVxdWFsO1xuICB0YXJnZXQuX2kgPSBsb29zZUluZGV4T2Y7XG4gIHRhcmdldC5fbSA9IHJlbmRlclN0YXRpYztcbiAgdGFyZ2V0Ll9mID0gcmVzb2x2ZUZpbHRlcjtcbiAgdGFyZ2V0Ll9rID0gY2hlY2tLZXlDb2RlcztcbiAgdGFyZ2V0Ll9iID0gYmluZE9iamVjdFByb3BzO1xuICB0YXJnZXQuX3YgPSBjcmVhdGVUZXh0Vk5vZGU7XG4gIHRhcmdldC5fZSA9IGNyZWF0ZUVtcHR5Vk5vZGU7XG4gIHRhcmdldC5fdSA9IHJlc29sdmVTY29wZWRTbG90cztcbiAgdGFyZ2V0Ll9nID0gYmluZE9iamVjdExpc3RlbmVycztcbn1cblxuLyogICovXG5cbmZ1bmN0aW9uIEZ1bmN0aW9uYWxSZW5kZXJDb250ZXh0IChcbiAgZGF0YSxcbiAgcHJvcHMsXG4gIGNoaWxkcmVuLFxuICBwYXJlbnQsXG4gIEN0b3Jcbikge1xuICB2YXIgb3B0aW9ucyA9IEN0b3Iub3B0aW9ucztcbiAgLy8gZW5zdXJlIHRoZSBjcmVhdGVFbGVtZW50IGZ1bmN0aW9uIGluIGZ1bmN0aW9uYWwgY29tcG9uZW50c1xuICAvLyBnZXRzIGEgdW5pcXVlIGNvbnRleHQgLSB0aGlzIGlzIG5lY2Vzc2FyeSBmb3IgY29ycmVjdCBuYW1lZCBzbG90IGNoZWNrXG4gIHZhciBjb250ZXh0Vm07XG4gIGlmIChoYXNPd24ocGFyZW50LCAnX3VpZCcpKSB7XG4gICAgY29udGV4dFZtID0gT2JqZWN0LmNyZWF0ZShwYXJlbnQpO1xuICAgIC8vICRmbG93LWRpc2FibGUtbGluZVxuICAgIGNvbnRleHRWbS5fb3JpZ2luYWwgPSBwYXJlbnQ7XG4gIH0gZWxzZSB7XG4gICAgLy8gdGhlIGNvbnRleHQgdm0gcGFzc2VkIGluIGlzIGEgZnVuY3Rpb25hbCBjb250ZXh0IGFzIHdlbGwuXG4gICAgLy8gaW4gdGhpcyBjYXNlIHdlIHdhbnQgdG8gbWFrZSBzdXJlIHdlIGFyZSBhYmxlIHRvIGdldCBhIGhvbGQgdG8gdGhlXG4gICAgLy8gcmVhbCBjb250ZXh0IGluc3RhbmNlLlxuICAgIGNvbnRleHRWbSA9IHBhcmVudDtcbiAgICAvLyAkZmxvdy1kaXNhYmxlLWxpbmVcbiAgICBwYXJlbnQgPSBwYXJlbnQuX29yaWdpbmFsO1xuICB9XG4gIHZhciBpc0NvbXBpbGVkID0gaXNUcnVlKG9wdGlvbnMuX2NvbXBpbGVkKTtcbiAgdmFyIG5lZWROb3JtYWxpemF0aW9uID0gIWlzQ29tcGlsZWQ7XG5cbiAgdGhpcy5kYXRhID0gZGF0YTtcbiAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICB0aGlzLmNoaWxkcmVuID0gY2hpbGRyZW47XG4gIHRoaXMucGFyZW50ID0gcGFyZW50O1xuICB0aGlzLmxpc3RlbmVycyA9IGRhdGEub24gfHwgZW1wdHlPYmplY3Q7XG4gIHRoaXMuaW5qZWN0aW9ucyA9IHJlc29sdmVJbmplY3Qob3B0aW9ucy5pbmplY3QsIHBhcmVudCk7XG4gIHRoaXMuc2xvdHMgPSBmdW5jdGlvbiAoKSB7IHJldHVybiByZXNvbHZlU2xvdHMoY2hpbGRyZW4sIHBhcmVudCk7IH07XG5cbiAgLy8gc3VwcG9ydCBmb3IgY29tcGlsZWQgZnVuY3Rpb25hbCB0ZW1wbGF0ZVxuICBpZiAoaXNDb21waWxlZCkge1xuICAgIC8vIGV4cG9zaW5nICRvcHRpb25zIGZvciByZW5kZXJTdGF0aWMoKVxuICAgIHRoaXMuJG9wdGlvbnMgPSBvcHRpb25zO1xuICAgIC8vIHByZS1yZXNvbHZlIHNsb3RzIGZvciByZW5kZXJTbG90KClcbiAgICB0aGlzLiRzbG90cyA9IHRoaXMuc2xvdHMoKTtcbiAgICB0aGlzLiRzY29wZWRTbG90cyA9IGRhdGEuc2NvcGVkU2xvdHMgfHwgZW1wdHlPYmplY3Q7XG4gIH1cblxuICBpZiAob3B0aW9ucy5fc2NvcGVJZCkge1xuICAgIHRoaXMuX2MgPSBmdW5jdGlvbiAoYSwgYiwgYywgZCkge1xuICAgICAgdmFyIHZub2RlID0gY3JlYXRlRWxlbWVudChjb250ZXh0Vm0sIGEsIGIsIGMsIGQsIG5lZWROb3JtYWxpemF0aW9uKTtcbiAgICAgIGlmICh2bm9kZSAmJiAhQXJyYXkuaXNBcnJheSh2bm9kZSkpIHtcbiAgICAgICAgdm5vZGUuZm5TY29wZUlkID0gb3B0aW9ucy5fc2NvcGVJZDtcbiAgICAgICAgdm5vZGUuZm5Db250ZXh0ID0gcGFyZW50O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHZub2RlXG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICB0aGlzLl9jID0gZnVuY3Rpb24gKGEsIGIsIGMsIGQpIHsgcmV0dXJuIGNyZWF0ZUVsZW1lbnQoY29udGV4dFZtLCBhLCBiLCBjLCBkLCBuZWVkTm9ybWFsaXphdGlvbik7IH07XG4gIH1cbn1cblxuaW5zdGFsbFJlbmRlckhlbHBlcnMoRnVuY3Rpb25hbFJlbmRlckNvbnRleHQucHJvdG90eXBlKTtcblxuZnVuY3Rpb24gY3JlYXRlRnVuY3Rpb25hbENvbXBvbmVudCAoXG4gIEN0b3IsXG4gIHByb3BzRGF0YSxcbiAgZGF0YSxcbiAgY29udGV4dFZtLFxuICBjaGlsZHJlblxuKSB7XG4gIHZhciBvcHRpb25zID0gQ3Rvci5vcHRpb25zO1xuICB2YXIgcHJvcHMgPSB7fTtcbiAgdmFyIHByb3BPcHRpb25zID0gb3B0aW9ucy5wcm9wcztcbiAgaWYgKGlzRGVmKHByb3BPcHRpb25zKSkge1xuICAgIGZvciAodmFyIGtleSBpbiBwcm9wT3B0aW9ucykge1xuICAgICAgcHJvcHNba2V5XSA9IHZhbGlkYXRlUHJvcChrZXksIHByb3BPcHRpb25zLCBwcm9wc0RhdGEgfHwgZW1wdHlPYmplY3QpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAoaXNEZWYoZGF0YS5hdHRycykpIHsgbWVyZ2VQcm9wcyhwcm9wcywgZGF0YS5hdHRycyk7IH1cbiAgICBpZiAoaXNEZWYoZGF0YS5wcm9wcykpIHsgbWVyZ2VQcm9wcyhwcm9wcywgZGF0YS5wcm9wcyk7IH1cbiAgfVxuXG4gIHZhciByZW5kZXJDb250ZXh0ID0gbmV3IEZ1bmN0aW9uYWxSZW5kZXJDb250ZXh0KFxuICAgIGRhdGEsXG4gICAgcHJvcHMsXG4gICAgY2hpbGRyZW4sXG4gICAgY29udGV4dFZtLFxuICAgIEN0b3JcbiAgKTtcblxuICB2YXIgdm5vZGUgPSBvcHRpb25zLnJlbmRlci5jYWxsKG51bGwsIHJlbmRlckNvbnRleHQuX2MsIHJlbmRlckNvbnRleHQpO1xuXG4gIGlmICh2bm9kZSBpbnN0YW5jZW9mIFZOb2RlKSB7XG4gICAgcmV0dXJuIGNsb25lQW5kTWFya0Z1bmN0aW9uYWxSZXN1bHQodm5vZGUsIGRhdGEsIHJlbmRlckNvbnRleHQucGFyZW50LCBvcHRpb25zLCByZW5kZXJDb250ZXh0KVxuICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodm5vZGUpKSB7XG4gICAgdmFyIHZub2RlcyA9IG5vcm1hbGl6ZUNoaWxkcmVuKHZub2RlKSB8fCBbXTtcbiAgICB2YXIgcmVzID0gbmV3IEFycmF5KHZub2Rlcy5sZW5ndGgpO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdm5vZGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICByZXNbaV0gPSBjbG9uZUFuZE1hcmtGdW5jdGlvbmFsUmVzdWx0KHZub2Rlc1tpXSwgZGF0YSwgcmVuZGVyQ29udGV4dC5wYXJlbnQsIG9wdGlvbnMsIHJlbmRlckNvbnRleHQpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzXG4gIH1cbn1cblxuZnVuY3Rpb24gY2xvbmVBbmRNYXJrRnVuY3Rpb25hbFJlc3VsdCAodm5vZGUsIGRhdGEsIGNvbnRleHRWbSwgb3B0aW9ucywgcmVuZGVyQ29udGV4dCkge1xuICAvLyAjNzgxNyBjbG9uZSBub2RlIGJlZm9yZSBzZXR0aW5nIGZuQ29udGV4dCwgb3RoZXJ3aXNlIGlmIHRoZSBub2RlIGlzIHJldXNlZFxuICAvLyAoZS5nLiBpdCB3YXMgZnJvbSBhIGNhY2hlZCBub3JtYWwgc2xvdCkgdGhlIGZuQ29udGV4dCBjYXVzZXMgbmFtZWQgc2xvdHNcbiAgLy8gdGhhdCBzaG91bGQgbm90IGJlIG1hdGNoZWQgdG8gbWF0Y2guXG4gIHZhciBjbG9uZSA9IGNsb25lVk5vZGUodm5vZGUpO1xuICBjbG9uZS5mbkNvbnRleHQgPSBjb250ZXh0Vm07XG4gIGNsb25lLmZuT3B0aW9ucyA9IG9wdGlvbnM7XG4gIGlmICh0cnVlKSB7XG4gICAgKGNsb25lLmRldnRvb2xzTWV0YSA9IGNsb25lLmRldnRvb2xzTWV0YSB8fCB7fSkucmVuZGVyQ29udGV4dCA9IHJlbmRlckNvbnRleHQ7XG4gIH1cbiAgaWYgKGRhdGEuc2xvdCkge1xuICAgIChjbG9uZS5kYXRhIHx8IChjbG9uZS5kYXRhID0ge30pKS5zbG90ID0gZGF0YS5zbG90O1xuICB9XG4gIHJldHVybiBjbG9uZVxufVxuXG5mdW5jdGlvbiBtZXJnZVByb3BzICh0bywgZnJvbSkge1xuICBmb3IgKHZhciBrZXkgaW4gZnJvbSkge1xuICAgIHRvW2NhbWVsaXplKGtleSldID0gZnJvbVtrZXldO1xuICB9XG59XG5cbi8qICAqL1xuXG4vKiAgKi9cblxuLyogICovXG5cbi8qICAqL1xuXG4vLyBpbmxpbmUgaG9va3MgdG8gYmUgaW52b2tlZCBvbiBjb21wb25lbnQgVk5vZGVzIGR1cmluZyBwYXRjaFxudmFyIGNvbXBvbmVudFZOb2RlSG9va3MgPSB7XG4gIGluaXQ6IGZ1bmN0aW9uIGluaXQgKHZub2RlLCBoeWRyYXRpbmcpIHtcbiAgICBpZiAoXG4gICAgICB2bm9kZS5jb21wb25lbnRJbnN0YW5jZSAmJlxuICAgICAgIXZub2RlLmNvbXBvbmVudEluc3RhbmNlLl9pc0Rlc3Ryb3llZCAmJlxuICAgICAgdm5vZGUuZGF0YS5rZWVwQWxpdmVcbiAgICApIHtcbiAgICAgIC8vIGtlcHQtYWxpdmUgY29tcG9uZW50cywgdHJlYXQgYXMgYSBwYXRjaFxuICAgICAgdmFyIG1vdW50ZWROb2RlID0gdm5vZGU7IC8vIHdvcmsgYXJvdW5kIGZsb3dcbiAgICAgIGNvbXBvbmVudFZOb2RlSG9va3MucHJlcGF0Y2gobW91bnRlZE5vZGUsIG1vdW50ZWROb2RlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIGNoaWxkID0gdm5vZGUuY29tcG9uZW50SW5zdGFuY2UgPSBjcmVhdGVDb21wb25lbnRJbnN0YW5jZUZvclZub2RlKFxuICAgICAgICB2bm9kZSxcbiAgICAgICAgYWN0aXZlSW5zdGFuY2VcbiAgICAgICk7XG4gICAgICBjaGlsZC4kbW91bnQoaHlkcmF0aW5nID8gdm5vZGUuZWxtIDogdW5kZWZpbmVkLCBoeWRyYXRpbmcpO1xuICAgIH1cbiAgfSxcblxuICBwcmVwYXRjaDogZnVuY3Rpb24gcHJlcGF0Y2ggKG9sZFZub2RlLCB2bm9kZSkge1xuICAgIHZhciBvcHRpb25zID0gdm5vZGUuY29tcG9uZW50T3B0aW9ucztcbiAgICB2YXIgY2hpbGQgPSB2bm9kZS5jb21wb25lbnRJbnN0YW5jZSA9IG9sZFZub2RlLmNvbXBvbmVudEluc3RhbmNlO1xuICAgIHVwZGF0ZUNoaWxkQ29tcG9uZW50KFxuICAgICAgY2hpbGQsXG4gICAgICBvcHRpb25zLnByb3BzRGF0YSwgLy8gdXBkYXRlZCBwcm9wc1xuICAgICAgb3B0aW9ucy5saXN0ZW5lcnMsIC8vIHVwZGF0ZWQgbGlzdGVuZXJzXG4gICAgICB2bm9kZSwgLy8gbmV3IHBhcmVudCB2bm9kZVxuICAgICAgb3B0aW9ucy5jaGlsZHJlbiAvLyBuZXcgY2hpbGRyZW5cbiAgICApO1xuICB9LFxuXG4gIGluc2VydDogZnVuY3Rpb24gaW5zZXJ0ICh2bm9kZSkge1xuICAgIHZhciBjb250ZXh0ID0gdm5vZGUuY29udGV4dDtcbiAgICB2YXIgY29tcG9uZW50SW5zdGFuY2UgPSB2bm9kZS5jb21wb25lbnRJbnN0YW5jZTtcbiAgICBpZiAoIWNvbXBvbmVudEluc3RhbmNlLl9pc01vdW50ZWQpIHtcbiAgICAgIGNvbXBvbmVudEluc3RhbmNlLl9pc01vdW50ZWQgPSB0cnVlO1xuICAgICAgY2FsbEhvb2soY29tcG9uZW50SW5zdGFuY2UsICdtb3VudGVkJyk7XG4gICAgfVxuICAgIGlmICh2bm9kZS5kYXRhLmtlZXBBbGl2ZSkge1xuICAgICAgaWYgKGNvbnRleHQuX2lzTW91bnRlZCkge1xuICAgICAgICAvLyB2dWUtcm91dGVyIzEyMTJcbiAgICAgICAgLy8gRHVyaW5nIHVwZGF0ZXMsIGEga2VwdC1hbGl2ZSBjb21wb25lbnQncyBjaGlsZCBjb21wb25lbnRzIG1heVxuICAgICAgICAvLyBjaGFuZ2UsIHNvIGRpcmVjdGx5IHdhbGtpbmcgdGhlIHRyZWUgaGVyZSBtYXkgY2FsbCBhY3RpdmF0ZWQgaG9va3NcbiAgICAgICAgLy8gb24gaW5jb3JyZWN0IGNoaWxkcmVuLiBJbnN0ZWFkIHdlIHB1c2ggdGhlbSBpbnRvIGEgcXVldWUgd2hpY2ggd2lsbFxuICAgICAgICAvLyBiZSBwcm9jZXNzZWQgYWZ0ZXIgdGhlIHdob2xlIHBhdGNoIHByb2Nlc3MgZW5kZWQuXG4gICAgICAgIHF1ZXVlQWN0aXZhdGVkQ29tcG9uZW50KGNvbXBvbmVudEluc3RhbmNlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFjdGl2YXRlQ2hpbGRDb21wb25lbnQoY29tcG9uZW50SW5zdGFuY2UsIHRydWUgLyogZGlyZWN0ICovKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG5cbiAgZGVzdHJveTogZnVuY3Rpb24gZGVzdHJveSAodm5vZGUpIHtcbiAgICB2YXIgY29tcG9uZW50SW5zdGFuY2UgPSB2bm9kZS5jb21wb25lbnRJbnN0YW5jZTtcbiAgICBpZiAoIWNvbXBvbmVudEluc3RhbmNlLl9pc0Rlc3Ryb3llZCkge1xuICAgICAgaWYgKCF2bm9kZS5kYXRhLmtlZXBBbGl2ZSkge1xuICAgICAgICBjb21wb25lbnRJbnN0YW5jZS4kZGVzdHJveSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVhY3RpdmF0ZUNoaWxkQ29tcG9uZW50KGNvbXBvbmVudEluc3RhbmNlLCB0cnVlIC8qIGRpcmVjdCAqLyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuXG52YXIgaG9va3NUb01lcmdlID0gT2JqZWN0LmtleXMoY29tcG9uZW50Vk5vZGVIb29rcyk7XG5cbmZ1bmN0aW9uIGNyZWF0ZUNvbXBvbmVudCAoXG4gIEN0b3IsXG4gIGRhdGEsXG4gIGNvbnRleHQsXG4gIGNoaWxkcmVuLFxuICB0YWdcbikge1xuICBpZiAoaXNVbmRlZihDdG9yKSkge1xuICAgIHJldHVyblxuICB9XG5cbiAgdmFyIGJhc2VDdG9yID0gY29udGV4dC4kb3B0aW9ucy5fYmFzZTtcblxuICAvLyBwbGFpbiBvcHRpb25zIG9iamVjdDogdHVybiBpdCBpbnRvIGEgY29uc3RydWN0b3JcbiAgaWYgKGlzT2JqZWN0KEN0b3IpKSB7XG4gICAgQ3RvciA9IGJhc2VDdG9yLmV4dGVuZChDdG9yKTtcbiAgfVxuXG4gIC8vIGlmIGF0IHRoaXMgc3RhZ2UgaXQncyBub3QgYSBjb25zdHJ1Y3RvciBvciBhbiBhc3luYyBjb21wb25lbnQgZmFjdG9yeSxcbiAgLy8gcmVqZWN0LlxuICBpZiAodHlwZW9mIEN0b3IgIT09ICdmdW5jdGlvbicpIHtcbiAgICBpZiAodHJ1ZSkge1xuICAgICAgd2FybigoXCJJbnZhbGlkIENvbXBvbmVudCBkZWZpbml0aW9uOiBcIiArIChTdHJpbmcoQ3RvcikpKSwgY29udGV4dCk7XG4gICAgfVxuICAgIHJldHVyblxuICB9XG5cbiAgLy8gYXN5bmMgY29tcG9uZW50XG4gIHZhciBhc3luY0ZhY3Rvcnk7XG4gIGlmIChpc1VuZGVmKEN0b3IuY2lkKSkge1xuICAgIGFzeW5jRmFjdG9yeSA9IEN0b3I7XG4gICAgQ3RvciA9IHJlc29sdmVBc3luY0NvbXBvbmVudChhc3luY0ZhY3RvcnksIGJhc2VDdG9yLCBjb250ZXh0KTtcbiAgICBpZiAoQ3RvciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyByZXR1cm4gYSBwbGFjZWhvbGRlciBub2RlIGZvciBhc3luYyBjb21wb25lbnQsIHdoaWNoIGlzIHJlbmRlcmVkXG4gICAgICAvLyBhcyBhIGNvbW1lbnQgbm9kZSBidXQgcHJlc2VydmVzIGFsbCB0aGUgcmF3IGluZm9ybWF0aW9uIGZvciB0aGUgbm9kZS5cbiAgICAgIC8vIHRoZSBpbmZvcm1hdGlvbiB3aWxsIGJlIHVzZWQgZm9yIGFzeW5jIHNlcnZlci1yZW5kZXJpbmcgYW5kIGh5ZHJhdGlvbi5cbiAgICAgIHJldHVybiBjcmVhdGVBc3luY1BsYWNlaG9sZGVyKFxuICAgICAgICBhc3luY0ZhY3RvcnksXG4gICAgICAgIGRhdGEsXG4gICAgICAgIGNvbnRleHQsXG4gICAgICAgIGNoaWxkcmVuLFxuICAgICAgICB0YWdcbiAgICAgIClcbiAgICB9XG4gIH1cblxuICBkYXRhID0gZGF0YSB8fCB7fTtcblxuICAvLyByZXNvbHZlIGNvbnN0cnVjdG9yIG9wdGlvbnMgaW4gY2FzZSBnbG9iYWwgbWl4aW5zIGFyZSBhcHBsaWVkIGFmdGVyXG4gIC8vIGNvbXBvbmVudCBjb25zdHJ1Y3RvciBjcmVhdGlvblxuICByZXNvbHZlQ29uc3RydWN0b3JPcHRpb25zKEN0b3IpO1xuXG4gIC8vIHRyYW5zZm9ybSBjb21wb25lbnQgdi1tb2RlbCBkYXRhIGludG8gcHJvcHMgJiBldmVudHNcbiAgaWYgKGlzRGVmKGRhdGEubW9kZWwpKSB7XG4gICAgdHJhbnNmb3JtTW9kZWwoQ3Rvci5vcHRpb25zLCBkYXRhKTtcbiAgfVxuXG4gIC8vIGV4dHJhY3QgcHJvcHNcbiAgdmFyIHByb3BzRGF0YSA9IGV4dHJhY3RQcm9wc0Zyb21WTm9kZURhdGEoZGF0YSwgQ3RvciwgdGFnKTtcblxuICAvLyBmdW5jdGlvbmFsIGNvbXBvbmVudFxuICBpZiAoaXNUcnVlKEN0b3Iub3B0aW9ucy5mdW5jdGlvbmFsKSkge1xuICAgIHJldHVybiBjcmVhdGVGdW5jdGlvbmFsQ29tcG9uZW50KEN0b3IsIHByb3BzRGF0YSwgZGF0YSwgY29udGV4dCwgY2hpbGRyZW4pXG4gIH1cblxuICAvLyBleHRyYWN0IGxpc3RlbmVycywgc2luY2UgdGhlc2UgbmVlZHMgdG8gYmUgdHJlYXRlZCBhc1xuICAvLyBjaGlsZCBjb21wb25lbnQgbGlzdGVuZXJzIGluc3RlYWQgb2YgRE9NIGxpc3RlbmVyc1xuICB2YXIgbGlzdGVuZXJzID0gZGF0YS5vbjtcbiAgLy8gcmVwbGFjZSB3aXRoIGxpc3RlbmVycyB3aXRoIC5uYXRpdmUgbW9kaWZpZXJcbiAgLy8gc28gaXQgZ2V0cyBwcm9jZXNzZWQgZHVyaW5nIHBhcmVudCBjb21wb25lbnQgcGF0Y2guXG4gIGRhdGEub24gPSBkYXRhLm5hdGl2ZU9uO1xuXG4gIGlmIChpc1RydWUoQ3Rvci5vcHRpb25zLmFic3RyYWN0KSkge1xuICAgIC8vIGFic3RyYWN0IGNvbXBvbmVudHMgZG8gbm90IGtlZXAgYW55dGhpbmdcbiAgICAvLyBvdGhlciB0aGFuIHByb3BzICYgbGlzdGVuZXJzICYgc2xvdFxuXG4gICAgLy8gd29yayBhcm91bmQgZmxvd1xuICAgIHZhciBzbG90ID0gZGF0YS5zbG90O1xuICAgIGRhdGEgPSB7fTtcbiAgICBpZiAoc2xvdCkge1xuICAgICAgZGF0YS5zbG90ID0gc2xvdDtcbiAgICB9XG4gIH1cblxuICAvLyBpbnN0YWxsIGNvbXBvbmVudCBtYW5hZ2VtZW50IGhvb2tzIG9udG8gdGhlIHBsYWNlaG9sZGVyIG5vZGVcbiAgaW5zdGFsbENvbXBvbmVudEhvb2tzKGRhdGEpO1xuXG4gIC8vIHJldHVybiBhIHBsYWNlaG9sZGVyIHZub2RlXG4gIHZhciBuYW1lID0gQ3Rvci5vcHRpb25zLm5hbWUgfHwgdGFnO1xuICB2YXIgdm5vZGUgPSBuZXcgVk5vZGUoXG4gICAgKFwidnVlLWNvbXBvbmVudC1cIiArIChDdG9yLmNpZCkgKyAobmFtZSA/IChcIi1cIiArIG5hbWUpIDogJycpKSxcbiAgICBkYXRhLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBjb250ZXh0LFxuICAgIHsgQ3RvcjogQ3RvciwgcHJvcHNEYXRhOiBwcm9wc0RhdGEsIGxpc3RlbmVyczogbGlzdGVuZXJzLCB0YWc6IHRhZywgY2hpbGRyZW46IGNoaWxkcmVuIH0sXG4gICAgYXN5bmNGYWN0b3J5XG4gICk7XG5cbiAgcmV0dXJuIHZub2RlXG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNvbXBvbmVudEluc3RhbmNlRm9yVm5vZGUgKFxuICB2bm9kZSwgLy8gd2Uga25vdyBpdCdzIE1vdW50ZWRDb21wb25lbnRWTm9kZSBidXQgZmxvdyBkb2Vzbid0XG4gIHBhcmVudCAvLyBhY3RpdmVJbnN0YW5jZSBpbiBsaWZlY3ljbGUgc3RhdGVcbikge1xuICB2YXIgb3B0aW9ucyA9IHtcbiAgICBfaXNDb21wb25lbnQ6IHRydWUsXG4gICAgX3BhcmVudFZub2RlOiB2bm9kZSxcbiAgICBwYXJlbnQ6IHBhcmVudFxuICB9O1xuICAvLyBjaGVjayBpbmxpbmUtdGVtcGxhdGUgcmVuZGVyIGZ1bmN0aW9uc1xuICB2YXIgaW5saW5lVGVtcGxhdGUgPSB2bm9kZS5kYXRhLmlubGluZVRlbXBsYXRlO1xuICBpZiAoaXNEZWYoaW5saW5lVGVtcGxhdGUpKSB7XG4gICAgb3B0aW9ucy5yZW5kZXIgPSBpbmxpbmVUZW1wbGF0ZS5yZW5kZXI7XG4gICAgb3B0aW9ucy5zdGF0aWNSZW5kZXJGbnMgPSBpbmxpbmVUZW1wbGF0ZS5zdGF0aWNSZW5kZXJGbnM7XG4gIH1cbiAgcmV0dXJuIG5ldyB2bm9kZS5jb21wb25lbnRPcHRpb25zLkN0b3Iob3B0aW9ucylcbn1cblxuZnVuY3Rpb24gaW5zdGFsbENvbXBvbmVudEhvb2tzIChkYXRhKSB7XG4gIHZhciBob29rcyA9IGRhdGEuaG9vayB8fCAoZGF0YS5ob29rID0ge30pO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGhvb2tzVG9NZXJnZS5sZW5ndGg7IGkrKykge1xuICAgIHZhciBrZXkgPSBob29rc1RvTWVyZ2VbaV07XG4gICAgdmFyIGV4aXN0aW5nID0gaG9va3Nba2V5XTtcbiAgICB2YXIgdG9NZXJnZSA9IGNvbXBvbmVudFZOb2RlSG9va3Nba2V5XTtcbiAgICBpZiAoZXhpc3RpbmcgIT09IHRvTWVyZ2UgJiYgIShleGlzdGluZyAmJiBleGlzdGluZy5fbWVyZ2VkKSkge1xuICAgICAgaG9va3Nba2V5XSA9IGV4aXN0aW5nID8gbWVyZ2VIb29rJDEodG9NZXJnZSwgZXhpc3RpbmcpIDogdG9NZXJnZTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gbWVyZ2VIb29rJDEgKGYxLCBmMikge1xuICB2YXIgbWVyZ2VkID0gZnVuY3Rpb24gKGEsIGIpIHtcbiAgICAvLyBmbG93IGNvbXBsYWlucyBhYm91dCBleHRyYSBhcmdzIHdoaWNoIGlzIHdoeSB3ZSB1c2UgYW55XG4gICAgZjEoYSwgYik7XG4gICAgZjIoYSwgYik7XG4gIH07XG4gIG1lcmdlZC5fbWVyZ2VkID0gdHJ1ZTtcbiAgcmV0dXJuIG1lcmdlZFxufVxuXG4vLyB0cmFuc2Zvcm0gY29tcG9uZW50IHYtbW9kZWwgaW5mbyAodmFsdWUgYW5kIGNhbGxiYWNrKSBpbnRvXG4vLyBwcm9wIGFuZCBldmVudCBoYW5kbGVyIHJlc3BlY3RpdmVseS5cbmZ1bmN0aW9uIHRyYW5zZm9ybU1vZGVsIChvcHRpb25zLCBkYXRhKSB7XG4gIHZhciBwcm9wID0gKG9wdGlvbnMubW9kZWwgJiYgb3B0aW9ucy5tb2RlbC5wcm9wKSB8fCAndmFsdWUnO1xuICB2YXIgZXZlbnQgPSAob3B0aW9ucy5tb2RlbCAmJiBvcHRpb25zLm1vZGVsLmV2ZW50KSB8fCAnaW5wdXQnXG4gIDsoZGF0YS5wcm9wcyB8fCAoZGF0YS5wcm9wcyA9IHt9KSlbcHJvcF0gPSBkYXRhLm1vZGVsLnZhbHVlO1xuICB2YXIgb24gPSBkYXRhLm9uIHx8IChkYXRhLm9uID0ge30pO1xuICB2YXIgZXhpc3RpbmcgPSBvbltldmVudF07XG4gIHZhciBjYWxsYmFjayA9IGRhdGEubW9kZWwuY2FsbGJhY2s7XG4gIGlmIChpc0RlZihleGlzdGluZykpIHtcbiAgICBpZiAoXG4gICAgICBBcnJheS5pc0FycmF5KGV4aXN0aW5nKVxuICAgICAgICA/IGV4aXN0aW5nLmluZGV4T2YoY2FsbGJhY2spID09PSAtMVxuICAgICAgICA6IGV4aXN0aW5nICE9PSBjYWxsYmFja1xuICAgICkge1xuICAgICAgb25bZXZlbnRdID0gW2NhbGxiYWNrXS5jb25jYXQoZXhpc3RpbmcpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBvbltldmVudF0gPSBjYWxsYmFjaztcbiAgfVxufVxuXG4vKiAgKi9cblxudmFyIFNJTVBMRV9OT1JNQUxJWkUgPSAxO1xudmFyIEFMV0FZU19OT1JNQUxJWkUgPSAyO1xuXG4vLyB3cmFwcGVyIGZ1bmN0aW9uIGZvciBwcm92aWRpbmcgYSBtb3JlIGZsZXhpYmxlIGludGVyZmFjZVxuLy8gd2l0aG91dCBnZXR0aW5nIHllbGxlZCBhdCBieSBmbG93XG5mdW5jdGlvbiBjcmVhdGVFbGVtZW50IChcbiAgY29udGV4dCxcbiAgdGFnLFxuICBkYXRhLFxuICBjaGlsZHJlbixcbiAgbm9ybWFsaXphdGlvblR5cGUsXG4gIGFsd2F5c05vcm1hbGl6ZVxuKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KGRhdGEpIHx8IGlzUHJpbWl0aXZlKGRhdGEpKSB7XG4gICAgbm9ybWFsaXphdGlvblR5cGUgPSBjaGlsZHJlbjtcbiAgICBjaGlsZHJlbiA9IGRhdGE7XG4gICAgZGF0YSA9IHVuZGVmaW5lZDtcbiAgfVxuICBpZiAoaXNUcnVlKGFsd2F5c05vcm1hbGl6ZSkpIHtcbiAgICBub3JtYWxpemF0aW9uVHlwZSA9IEFMV0FZU19OT1JNQUxJWkU7XG4gIH1cbiAgcmV0dXJuIF9jcmVhdGVFbGVtZW50KGNvbnRleHQsIHRhZywgZGF0YSwgY2hpbGRyZW4sIG5vcm1hbGl6YXRpb25UeXBlKVxufVxuXG5mdW5jdGlvbiBfY3JlYXRlRWxlbWVudCAoXG4gIGNvbnRleHQsXG4gIHRhZyxcbiAgZGF0YSxcbiAgY2hpbGRyZW4sXG4gIG5vcm1hbGl6YXRpb25UeXBlXG4pIHtcbiAgaWYgKGlzRGVmKGRhdGEpICYmIGlzRGVmKChkYXRhKS5fX29iX18pKSB7XG4gICAgIHRydWUgJiYgd2FybihcbiAgICAgIFwiQXZvaWQgdXNpbmcgb2JzZXJ2ZWQgZGF0YSBvYmplY3QgYXMgdm5vZGUgZGF0YTogXCIgKyAoSlNPTi5zdHJpbmdpZnkoZGF0YSkpICsgXCJcXG5cIiArXG4gICAgICAnQWx3YXlzIGNyZWF0ZSBmcmVzaCB2bm9kZSBkYXRhIG9iamVjdHMgaW4gZWFjaCByZW5kZXIhJyxcbiAgICAgIGNvbnRleHRcbiAgICApO1xuICAgIHJldHVybiBjcmVhdGVFbXB0eVZOb2RlKClcbiAgfVxuICAvLyBvYmplY3Qgc3ludGF4IGluIHYtYmluZFxuICBpZiAoaXNEZWYoZGF0YSkgJiYgaXNEZWYoZGF0YS5pcykpIHtcbiAgICB0YWcgPSBkYXRhLmlzO1xuICB9XG4gIGlmICghdGFnKSB7XG4gICAgLy8gaW4gY2FzZSBvZiBjb21wb25lbnQgOmlzIHNldCB0byBmYWxzeSB2YWx1ZVxuICAgIHJldHVybiBjcmVhdGVFbXB0eVZOb2RlKClcbiAgfVxuICAvLyB3YXJuIGFnYWluc3Qgbm9uLXByaW1pdGl2ZSBrZXlcbiAgaWYgKCB0cnVlICYmXG4gICAgaXNEZWYoZGF0YSkgJiYgaXNEZWYoZGF0YS5rZXkpICYmICFpc1ByaW1pdGl2ZShkYXRhLmtleSlcbiAgKSB7XG4gICAge1xuICAgICAgd2FybihcbiAgICAgICAgJ0F2b2lkIHVzaW5nIG5vbi1wcmltaXRpdmUgdmFsdWUgYXMga2V5LCAnICtcbiAgICAgICAgJ3VzZSBzdHJpbmcvbnVtYmVyIHZhbHVlIGluc3RlYWQuJyxcbiAgICAgICAgY29udGV4dFxuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgLy8gc3VwcG9ydCBzaW5nbGUgZnVuY3Rpb24gY2hpbGRyZW4gYXMgZGVmYXVsdCBzY29wZWQgc2xvdFxuICBpZiAoQXJyYXkuaXNBcnJheShjaGlsZHJlbikgJiZcbiAgICB0eXBlb2YgY2hpbGRyZW5bMF0gPT09ICdmdW5jdGlvbidcbiAgKSB7XG4gICAgZGF0YSA9IGRhdGEgfHwge307XG4gICAgZGF0YS5zY29wZWRTbG90cyA9IHsgZGVmYXVsdDogY2hpbGRyZW5bMF0gfTtcbiAgICBjaGlsZHJlbi5sZW5ndGggPSAwO1xuICB9XG4gIGlmIChub3JtYWxpemF0aW9uVHlwZSA9PT0gQUxXQVlTX05PUk1BTElaRSkge1xuICAgIGNoaWxkcmVuID0gbm9ybWFsaXplQ2hpbGRyZW4oY2hpbGRyZW4pO1xuICB9IGVsc2UgaWYgKG5vcm1hbGl6YXRpb25UeXBlID09PSBTSU1QTEVfTk9STUFMSVpFKSB7XG4gICAgY2hpbGRyZW4gPSBzaW1wbGVOb3JtYWxpemVDaGlsZHJlbihjaGlsZHJlbik7XG4gIH1cbiAgdmFyIHZub2RlLCBucztcbiAgaWYgKHR5cGVvZiB0YWcgPT09ICdzdHJpbmcnKSB7XG4gICAgdmFyIEN0b3I7XG4gICAgbnMgPSAoY29udGV4dC4kdm5vZGUgJiYgY29udGV4dC4kdm5vZGUubnMpIHx8IGNvbmZpZy5nZXRUYWdOYW1lc3BhY2UodGFnKTtcbiAgICBpZiAoY29uZmlnLmlzUmVzZXJ2ZWRUYWcodGFnKSkge1xuICAgICAgLy8gcGxhdGZvcm0gYnVpbHQtaW4gZWxlbWVudHNcbiAgICAgIHZub2RlID0gbmV3IFZOb2RlKFxuICAgICAgICBjb25maWcucGFyc2VQbGF0Zm9ybVRhZ05hbWUodGFnKSwgZGF0YSwgY2hpbGRyZW4sXG4gICAgICAgIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBjb250ZXh0XG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoKCFkYXRhIHx8ICFkYXRhLnByZSkgJiYgaXNEZWYoQ3RvciA9IHJlc29sdmVBc3NldChjb250ZXh0LiRvcHRpb25zLCAnY29tcG9uZW50cycsIHRhZykpKSB7XG4gICAgICAvLyBjb21wb25lbnRcbiAgICAgIHZub2RlID0gY3JlYXRlQ29tcG9uZW50KEN0b3IsIGRhdGEsIGNvbnRleHQsIGNoaWxkcmVuLCB0YWcpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyB1bmtub3duIG9yIHVubGlzdGVkIG5hbWVzcGFjZWQgZWxlbWVudHNcbiAgICAgIC8vIGNoZWNrIGF0IHJ1bnRpbWUgYmVjYXVzZSBpdCBtYXkgZ2V0IGFzc2lnbmVkIGEgbmFtZXNwYWNlIHdoZW4gaXRzXG4gICAgICAvLyBwYXJlbnQgbm9ybWFsaXplcyBjaGlsZHJlblxuICAgICAgdm5vZGUgPSBuZXcgVk5vZGUoXG4gICAgICAgIHRhZywgZGF0YSwgY2hpbGRyZW4sXG4gICAgICAgIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBjb250ZXh0XG4gICAgICApO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBkaXJlY3QgY29tcG9uZW50IG9wdGlvbnMgLyBjb25zdHJ1Y3RvclxuICAgIHZub2RlID0gY3JlYXRlQ29tcG9uZW50KHRhZywgZGF0YSwgY29udGV4dCwgY2hpbGRyZW4pO1xuICB9XG4gIGlmIChBcnJheS5pc0FycmF5KHZub2RlKSkge1xuICAgIHJldHVybiB2bm9kZVxuICB9IGVsc2UgaWYgKGlzRGVmKHZub2RlKSkge1xuICAgIGlmIChpc0RlZihucykpIHsgYXBwbHlOUyh2bm9kZSwgbnMpOyB9XG4gICAgaWYgKGlzRGVmKGRhdGEpKSB7IHJlZ2lzdGVyRGVlcEJpbmRpbmdzKGRhdGEpOyB9XG4gICAgcmV0dXJuIHZub2RlXG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGNyZWF0ZUVtcHR5Vk5vZGUoKVxuICB9XG59XG5cbmZ1bmN0aW9uIGFwcGx5TlMgKHZub2RlLCBucywgZm9yY2UpIHtcbiAgdm5vZGUubnMgPSBucztcbiAgaWYgKHZub2RlLnRhZyA9PT0gJ2ZvcmVpZ25PYmplY3QnKSB7XG4gICAgLy8gdXNlIGRlZmF1bHQgbmFtZXNwYWNlIGluc2lkZSBmb3JlaWduT2JqZWN0XG4gICAgbnMgPSB1bmRlZmluZWQ7XG4gICAgZm9yY2UgPSB0cnVlO1xuICB9XG4gIGlmIChpc0RlZih2bm9kZS5jaGlsZHJlbikpIHtcbiAgICBmb3IgKHZhciBpID0gMCwgbCA9IHZub2RlLmNoaWxkcmVuLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgdmFyIGNoaWxkID0gdm5vZGUuY2hpbGRyZW5baV07XG4gICAgICBpZiAoaXNEZWYoY2hpbGQudGFnKSAmJiAoXG4gICAgICAgIGlzVW5kZWYoY2hpbGQubnMpIHx8IChpc1RydWUoZm9yY2UpICYmIGNoaWxkLnRhZyAhPT0gJ3N2ZycpKSkge1xuICAgICAgICBhcHBseU5TKGNoaWxkLCBucywgZm9yY2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyByZWYgIzUzMThcbi8vIG5lY2Vzc2FyeSB0byBlbnN1cmUgcGFyZW50IHJlLXJlbmRlciB3aGVuIGRlZXAgYmluZGluZ3MgbGlrZSA6c3R5bGUgYW5kXG4vLyA6Y2xhc3MgYXJlIHVzZWQgb24gc2xvdCBub2Rlc1xuZnVuY3Rpb24gcmVnaXN0ZXJEZWVwQmluZGluZ3MgKGRhdGEpIHtcbiAgaWYgKGlzT2JqZWN0KGRhdGEuc3R5bGUpKSB7XG4gICAgdHJhdmVyc2UoZGF0YS5zdHlsZSk7XG4gIH1cbiAgaWYgKGlzT2JqZWN0KGRhdGEuY2xhc3MpKSB7XG4gICAgdHJhdmVyc2UoZGF0YS5jbGFzcyk7XG4gIH1cbn1cblxuLyogICovXG5cbmZ1bmN0aW9uIGluaXRSZW5kZXIgKHZtKSB7XG4gIHZtLl92bm9kZSA9IG51bGw7IC8vIHRoZSByb290IG9mIHRoZSBjaGlsZCB0cmVlXG4gIHZtLl9zdGF0aWNUcmVlcyA9IG51bGw7IC8vIHYtb25jZSBjYWNoZWQgdHJlZXNcbiAgdmFyIG9wdGlvbnMgPSB2bS4kb3B0aW9ucztcbiAgdmFyIHBhcmVudFZub2RlID0gdm0uJHZub2RlID0gb3B0aW9ucy5fcGFyZW50Vm5vZGU7IC8vIHRoZSBwbGFjZWhvbGRlciBub2RlIGluIHBhcmVudCB0cmVlXG4gIHZhciByZW5kZXJDb250ZXh0ID0gcGFyZW50Vm5vZGUgJiYgcGFyZW50Vm5vZGUuY29udGV4dDtcbiAgdm0uJHNsb3RzID0gcmVzb2x2ZVNsb3RzKG9wdGlvbnMuX3JlbmRlckNoaWxkcmVuLCByZW5kZXJDb250ZXh0KTtcbiAgdm0uJHNjb3BlZFNsb3RzID0gZW1wdHlPYmplY3Q7XG4gIC8vIGJpbmQgdGhlIGNyZWF0ZUVsZW1lbnQgZm4gdG8gdGhpcyBpbnN0YW5jZVxuICAvLyBzbyB0aGF0IHdlIGdldCBwcm9wZXIgcmVuZGVyIGNvbnRleHQgaW5zaWRlIGl0LlxuICAvLyBhcmdzIG9yZGVyOiB0YWcsIGRhdGEsIGNoaWxkcmVuLCBub3JtYWxpemF0aW9uVHlwZSwgYWx3YXlzTm9ybWFsaXplXG4gIC8vIGludGVybmFsIHZlcnNpb24gaXMgdXNlZCBieSByZW5kZXIgZnVuY3Rpb25zIGNvbXBpbGVkIGZyb20gdGVtcGxhdGVzXG4gIHZtLl9jID0gZnVuY3Rpb24gKGEsIGIsIGMsIGQpIHsgcmV0dXJuIGNyZWF0ZUVsZW1lbnQodm0sIGEsIGIsIGMsIGQsIGZhbHNlKTsgfTtcbiAgLy8gbm9ybWFsaXphdGlvbiBpcyBhbHdheXMgYXBwbGllZCBmb3IgdGhlIHB1YmxpYyB2ZXJzaW9uLCB1c2VkIGluXG4gIC8vIHVzZXItd3JpdHRlbiByZW5kZXIgZnVuY3Rpb25zLlxuICB2bS4kY3JlYXRlRWxlbWVudCA9IGZ1bmN0aW9uIChhLCBiLCBjLCBkKSB7IHJldHVybiBjcmVhdGVFbGVtZW50KHZtLCBhLCBiLCBjLCBkLCB0cnVlKTsgfTtcblxuICAvLyAkYXR0cnMgJiAkbGlzdGVuZXJzIGFyZSBleHBvc2VkIGZvciBlYXNpZXIgSE9DIGNyZWF0aW9uLlxuICAvLyB0aGV5IG5lZWQgdG8gYmUgcmVhY3RpdmUgc28gdGhhdCBIT0NzIHVzaW5nIHRoZW0gYXJlIGFsd2F5cyB1cGRhdGVkXG4gIHZhciBwYXJlbnREYXRhID0gcGFyZW50Vm5vZGUgJiYgcGFyZW50Vm5vZGUuZGF0YTtcblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICBpZiAodHJ1ZSkge1xuICAgIGRlZmluZVJlYWN0aXZlJCQxKHZtLCAnJGF0dHJzJywgcGFyZW50RGF0YSAmJiBwYXJlbnREYXRhLmF0dHJzIHx8IGVtcHR5T2JqZWN0LCBmdW5jdGlvbiAoKSB7XG4gICAgICAhaXNVcGRhdGluZ0NoaWxkQ29tcG9uZW50ICYmIHdhcm4oXCIkYXR0cnMgaXMgcmVhZG9ubHkuXCIsIHZtKTtcbiAgICB9LCB0cnVlKTtcbiAgICBkZWZpbmVSZWFjdGl2ZSQkMSh2bSwgJyRsaXN0ZW5lcnMnLCBvcHRpb25zLl9wYXJlbnRMaXN0ZW5lcnMgfHwgZW1wdHlPYmplY3QsIGZ1bmN0aW9uICgpIHtcbiAgICAgICFpc1VwZGF0aW5nQ2hpbGRDb21wb25lbnQgJiYgd2FybihcIiRsaXN0ZW5lcnMgaXMgcmVhZG9ubHkuXCIsIHZtKTtcbiAgICB9LCB0cnVlKTtcbiAgfSBlbHNlIHt9XG59XG5cbmZ1bmN0aW9uIHJlbmRlck1peGluIChWdWUpIHtcbiAgLy8gaW5zdGFsbCBydW50aW1lIGNvbnZlbmllbmNlIGhlbHBlcnNcbiAgaW5zdGFsbFJlbmRlckhlbHBlcnMoVnVlLnByb3RvdHlwZSk7XG5cbiAgVnVlLnByb3RvdHlwZS4kbmV4dFRpY2sgPSBmdW5jdGlvbiAoZm4pIHtcbiAgICByZXR1cm4gbmV4dFRpY2soZm4sIHRoaXMpXG4gIH07XG5cbiAgVnVlLnByb3RvdHlwZS5fcmVuZGVyID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciB2bSA9IHRoaXM7XG4gICAgdmFyIHJlZiA9IHZtLiRvcHRpb25zO1xuICAgIHZhciByZW5kZXIgPSByZWYucmVuZGVyO1xuICAgIHZhciBfcGFyZW50Vm5vZGUgPSByZWYuX3BhcmVudFZub2RlO1xuXG4gICAgaWYgKF9wYXJlbnRWbm9kZSkge1xuICAgICAgdm0uJHNjb3BlZFNsb3RzID0gX3BhcmVudFZub2RlLmRhdGEuc2NvcGVkU2xvdHMgfHwgZW1wdHlPYmplY3Q7XG4gICAgfVxuXG4gICAgLy8gc2V0IHBhcmVudCB2bm9kZS4gdGhpcyBhbGxvd3MgcmVuZGVyIGZ1bmN0aW9ucyB0byBoYXZlIGFjY2Vzc1xuICAgIC8vIHRvIHRoZSBkYXRhIG9uIHRoZSBwbGFjZWhvbGRlciBub2RlLlxuICAgIHZtLiR2bm9kZSA9IF9wYXJlbnRWbm9kZTtcbiAgICAvLyByZW5kZXIgc2VsZlxuICAgIHZhciB2bm9kZTtcbiAgICB0cnkge1xuICAgICAgdm5vZGUgPSByZW5kZXIuY2FsbCh2bS5fcmVuZGVyUHJveHksIHZtLiRjcmVhdGVFbGVtZW50KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBoYW5kbGVFcnJvcihlLCB2bSwgXCJyZW5kZXJcIik7XG4gICAgICAvLyByZXR1cm4gZXJyb3IgcmVuZGVyIHJlc3VsdCxcbiAgICAgIC8vIG9yIHByZXZpb3VzIHZub2RlIHRvIHByZXZlbnQgcmVuZGVyIGVycm9yIGNhdXNpbmcgYmxhbmsgY29tcG9uZW50XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKCB0cnVlICYmIHZtLiRvcHRpb25zLnJlbmRlckVycm9yKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgdm5vZGUgPSB2bS4kb3B0aW9ucy5yZW5kZXJFcnJvci5jYWxsKHZtLl9yZW5kZXJQcm94eSwgdm0uJGNyZWF0ZUVsZW1lbnQsIGUpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgaGFuZGxlRXJyb3IoZSwgdm0sIFwicmVuZGVyRXJyb3JcIik7XG4gICAgICAgICAgdm5vZGUgPSB2bS5fdm5vZGU7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZub2RlID0gdm0uX3Zub2RlO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyByZXR1cm4gZW1wdHkgdm5vZGUgaW4gY2FzZSB0aGUgcmVuZGVyIGZ1bmN0aW9uIGVycm9yZWQgb3V0XG4gICAgaWYgKCEodm5vZGUgaW5zdGFuY2VvZiBWTm9kZSkpIHtcbiAgICAgIGlmICggdHJ1ZSAmJiBBcnJheS5pc0FycmF5KHZub2RlKSkge1xuICAgICAgICB3YXJuKFxuICAgICAgICAgICdNdWx0aXBsZSByb290IG5vZGVzIHJldHVybmVkIGZyb20gcmVuZGVyIGZ1bmN0aW9uLiBSZW5kZXIgZnVuY3Rpb24gJyArXG4gICAgICAgICAgJ3Nob3VsZCByZXR1cm4gYSBzaW5nbGUgcm9vdCBub2RlLicsXG4gICAgICAgICAgdm1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHZub2RlID0gY3JlYXRlRW1wdHlWTm9kZSgpO1xuICAgIH1cbiAgICAvLyBzZXQgcGFyZW50XG4gICAgdm5vZGUucGFyZW50ID0gX3BhcmVudFZub2RlO1xuICAgIHJldHVybiB2bm9kZVxuICB9O1xufVxuXG4vKiAgKi9cblxudmFyIHVpZCQzID0gMDtcblxuZnVuY3Rpb24gaW5pdE1peGluIChWdWUpIHtcbiAgVnVlLnByb3RvdHlwZS5faW5pdCA9IGZ1bmN0aW9uIChvcHRpb25zKSB7XG4gICAgdmFyIHZtID0gdGhpcztcbiAgICAvLyBhIHVpZFxuICAgIHZtLl91aWQgPSB1aWQkMysrO1xuXG4gICAgdmFyIHN0YXJ0VGFnLCBlbmRUYWc7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKCB0cnVlICYmIGNvbmZpZy5wZXJmb3JtYW5jZSAmJiBtYXJrKSB7XG4gICAgICBzdGFydFRhZyA9IFwidnVlLXBlcmYtc3RhcnQ6XCIgKyAodm0uX3VpZCk7XG4gICAgICBlbmRUYWcgPSBcInZ1ZS1wZXJmLWVuZDpcIiArICh2bS5fdWlkKTtcbiAgICAgIG1hcmsoc3RhcnRUYWcpO1xuICAgIH1cblxuICAgIC8vIGEgZmxhZyB0byBhdm9pZCB0aGlzIGJlaW5nIG9ic2VydmVkXG4gICAgdm0uX2lzVnVlID0gdHJ1ZTtcbiAgICAvLyBtZXJnZSBvcHRpb25zXG4gICAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy5faXNDb21wb25lbnQpIHtcbiAgICAgIC8vIG9wdGltaXplIGludGVybmFsIGNvbXBvbmVudCBpbnN0YW50aWF0aW9uXG4gICAgICAvLyBzaW5jZSBkeW5hbWljIG9wdGlvbnMgbWVyZ2luZyBpcyBwcmV0dHkgc2xvdywgYW5kIG5vbmUgb2YgdGhlXG4gICAgICAvLyBpbnRlcm5hbCBjb21wb25lbnQgb3B0aW9ucyBuZWVkcyBzcGVjaWFsIHRyZWF0bWVudC5cbiAgICAgIGluaXRJbnRlcm5hbENvbXBvbmVudCh2bSwgb3B0aW9ucyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZtLiRvcHRpb25zID0gbWVyZ2VPcHRpb25zKFxuICAgICAgICByZXNvbHZlQ29uc3RydWN0b3JPcHRpb25zKHZtLmNvbnN0cnVjdG9yKSxcbiAgICAgICAgb3B0aW9ucyB8fCB7fSxcbiAgICAgICAgdm1cbiAgICAgICk7XG4gICAgfVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRydWUpIHtcbiAgICAgIGluaXRQcm94eSh2bSk7XG4gICAgfSBlbHNlIHt9XG4gICAgLy8gZXhwb3NlIHJlYWwgc2VsZlxuICAgIHZtLl9zZWxmID0gdm07XG4gICAgaW5pdExpZmVjeWNsZSh2bSk7XG4gICAgaW5pdEV2ZW50cyh2bSk7XG4gICAgaW5pdFJlbmRlcih2bSk7XG4gICAgY2FsbEhvb2sodm0sICdiZWZvcmVDcmVhdGUnKTtcbiAgICBpbml0SW5qZWN0aW9ucyh2bSk7IC8vIHJlc29sdmUgaW5qZWN0aW9ucyBiZWZvcmUgZGF0YS9wcm9wc1xuICAgIGluaXRTdGF0ZSh2bSk7XG4gICAgaW5pdFByb3ZpZGUodm0pOyAvLyByZXNvbHZlIHByb3ZpZGUgYWZ0ZXIgZGF0YS9wcm9wc1xuICAgIGNhbGxIb29rKHZtLCAnY3JlYXRlZCcpO1xuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKCB0cnVlICYmIGNvbmZpZy5wZXJmb3JtYW5jZSAmJiBtYXJrKSB7XG4gICAgICB2bS5fbmFtZSA9IGZvcm1hdENvbXBvbmVudE5hbWUodm0sIGZhbHNlKTtcbiAgICAgIG1hcmsoZW5kVGFnKTtcbiAgICAgIG1lYXN1cmUoKFwidnVlIFwiICsgKHZtLl9uYW1lKSArIFwiIGluaXRcIiksIHN0YXJ0VGFnLCBlbmRUYWcpO1xuICAgIH1cblxuICAgIGlmICh2bS4kb3B0aW9ucy5lbCkge1xuICAgICAgdm0uJG1vdW50KHZtLiRvcHRpb25zLmVsKTtcbiAgICB9XG4gIH07XG59XG5cbmZ1bmN0aW9uIGluaXRJbnRlcm5hbENvbXBvbmVudCAodm0sIG9wdGlvbnMpIHtcbiAgdmFyIG9wdHMgPSB2bS4kb3B0aW9ucyA9IE9iamVjdC5jcmVhdGUodm0uY29uc3RydWN0b3Iub3B0aW9ucyk7XG4gIC8vIGRvaW5nIHRoaXMgYmVjYXVzZSBpdCdzIGZhc3RlciB0aGFuIGR5bmFtaWMgZW51bWVyYXRpb24uXG4gIHZhciBwYXJlbnRWbm9kZSA9IG9wdGlvbnMuX3BhcmVudFZub2RlO1xuICBvcHRzLnBhcmVudCA9IG9wdGlvbnMucGFyZW50O1xuICBvcHRzLl9wYXJlbnRWbm9kZSA9IHBhcmVudFZub2RlO1xuXG4gIHZhciB2bm9kZUNvbXBvbmVudE9wdGlvbnMgPSBwYXJlbnRWbm9kZS5jb21wb25lbnRPcHRpb25zO1xuICBvcHRzLnByb3BzRGF0YSA9IHZub2RlQ29tcG9uZW50T3B0aW9ucy5wcm9wc0RhdGE7XG4gIG9wdHMuX3BhcmVudExpc3RlbmVycyA9IHZub2RlQ29tcG9uZW50T3B0aW9ucy5saXN0ZW5lcnM7XG4gIG9wdHMuX3JlbmRlckNoaWxkcmVuID0gdm5vZGVDb21wb25lbnRPcHRpb25zLmNoaWxkcmVuO1xuICBvcHRzLl9jb21wb25lbnRUYWcgPSB2bm9kZUNvbXBvbmVudE9wdGlvbnMudGFnO1xuXG4gIGlmIChvcHRpb25zLnJlbmRlcikge1xuICAgIG9wdHMucmVuZGVyID0gb3B0aW9ucy5yZW5kZXI7XG4gICAgb3B0cy5zdGF0aWNSZW5kZXJGbnMgPSBvcHRpb25zLnN0YXRpY1JlbmRlckZucztcbiAgfVxufVxuXG5mdW5jdGlvbiByZXNvbHZlQ29uc3RydWN0b3JPcHRpb25zIChDdG9yKSB7XG4gIHZhciBvcHRpb25zID0gQ3Rvci5vcHRpb25zO1xuICBpZiAoQ3Rvci5zdXBlcikge1xuICAgIHZhciBzdXBlck9wdGlvbnMgPSByZXNvbHZlQ29uc3RydWN0b3JPcHRpb25zKEN0b3Iuc3VwZXIpO1xuICAgIHZhciBjYWNoZWRTdXBlck9wdGlvbnMgPSBDdG9yLnN1cGVyT3B0aW9ucztcbiAgICBpZiAoc3VwZXJPcHRpb25zICE9PSBjYWNoZWRTdXBlck9wdGlvbnMpIHtcbiAgICAgIC8vIHN1cGVyIG9wdGlvbiBjaGFuZ2VkLFxuICAgICAgLy8gbmVlZCB0byByZXNvbHZlIG5ldyBvcHRpb25zLlxuICAgICAgQ3Rvci5zdXBlck9wdGlvbnMgPSBzdXBlck9wdGlvbnM7XG4gICAgICAvLyBjaGVjayBpZiB0aGVyZSBhcmUgYW55IGxhdGUtbW9kaWZpZWQvYXR0YWNoZWQgb3B0aW9ucyAoIzQ5NzYpXG4gICAgICB2YXIgbW9kaWZpZWRPcHRpb25zID0gcmVzb2x2ZU1vZGlmaWVkT3B0aW9ucyhDdG9yKTtcbiAgICAgIC8vIHVwZGF0ZSBiYXNlIGV4dGVuZCBvcHRpb25zXG4gICAgICBpZiAobW9kaWZpZWRPcHRpb25zKSB7XG4gICAgICAgIGV4dGVuZChDdG9yLmV4dGVuZE9wdGlvbnMsIG1vZGlmaWVkT3B0aW9ucyk7XG4gICAgICB9XG4gICAgICBvcHRpb25zID0gQ3Rvci5vcHRpb25zID0gbWVyZ2VPcHRpb25zKHN1cGVyT3B0aW9ucywgQ3Rvci5leHRlbmRPcHRpb25zKTtcbiAgICAgIGlmIChvcHRpb25zLm5hbWUpIHtcbiAgICAgICAgb3B0aW9ucy5jb21wb25lbnRzW29wdGlvbnMubmFtZV0gPSBDdG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gb3B0aW9uc1xufVxuXG5mdW5jdGlvbiByZXNvbHZlTW9kaWZpZWRPcHRpb25zIChDdG9yKSB7XG4gIHZhciBtb2RpZmllZDtcbiAgdmFyIGxhdGVzdCA9IEN0b3Iub3B0aW9ucztcbiAgdmFyIGV4dGVuZGVkID0gQ3Rvci5leHRlbmRPcHRpb25zO1xuICB2YXIgc2VhbGVkID0gQ3Rvci5zZWFsZWRPcHRpb25zO1xuICBmb3IgKHZhciBrZXkgaW4gbGF0ZXN0KSB7XG4gICAgaWYgKGxhdGVzdFtrZXldICE9PSBzZWFsZWRba2V5XSkge1xuICAgICAgaWYgKCFtb2RpZmllZCkgeyBtb2RpZmllZCA9IHt9OyB9XG4gICAgICBtb2RpZmllZFtrZXldID0gZGVkdXBlKGxhdGVzdFtrZXldLCBleHRlbmRlZFtrZXldLCBzZWFsZWRba2V5XSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBtb2RpZmllZFxufVxuXG5mdW5jdGlvbiBkZWR1cGUgKGxhdGVzdCwgZXh0ZW5kZWQsIHNlYWxlZCkge1xuICAvLyBjb21wYXJlIGxhdGVzdCBhbmQgc2VhbGVkIHRvIGVuc3VyZSBsaWZlY3ljbGUgaG9va3Mgd29uJ3QgYmUgZHVwbGljYXRlZFxuICAvLyBiZXR3ZWVuIG1lcmdlc1xuICBpZiAoQXJyYXkuaXNBcnJheShsYXRlc3QpKSB7XG4gICAgdmFyIHJlcyA9IFtdO1xuICAgIHNlYWxlZCA9IEFycmF5LmlzQXJyYXkoc2VhbGVkKSA/IHNlYWxlZCA6IFtzZWFsZWRdO1xuICAgIGV4dGVuZGVkID0gQXJyYXkuaXNBcnJheShleHRlbmRlZCkgPyBleHRlbmRlZCA6IFtleHRlbmRlZF07XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsYXRlc3QubGVuZ3RoOyBpKyspIHtcbiAgICAgIC8vIHB1c2ggb3JpZ2luYWwgb3B0aW9ucyBhbmQgbm90IHNlYWxlZCBvcHRpb25zIHRvIGV4Y2x1ZGUgZHVwbGljYXRlZCBvcHRpb25zXG4gICAgICBpZiAoZXh0ZW5kZWQuaW5kZXhPZihsYXRlc3RbaV0pID49IDAgfHwgc2VhbGVkLmluZGV4T2YobGF0ZXN0W2ldKSA8IDApIHtcbiAgICAgICAgcmVzLnB1c2gobGF0ZXN0W2ldKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBsYXRlc3RcbiAgfVxufVxuXG5mdW5jdGlvbiBWdWUgKG9wdGlvbnMpIHtcbiAgaWYgKCB0cnVlICYmXG4gICAgISh0aGlzIGluc3RhbmNlb2YgVnVlKVxuICApIHtcbiAgICB3YXJuKCdWdWUgaXMgYSBjb25zdHJ1Y3RvciBhbmQgc2hvdWxkIGJlIGNhbGxlZCB3aXRoIHRoZSBgbmV3YCBrZXl3b3JkJyk7XG4gIH1cbiAgdGhpcy5faW5pdChvcHRpb25zKTtcbn1cblxuaW5pdE1peGluKFZ1ZSk7XG5zdGF0ZU1peGluKFZ1ZSk7XG5ldmVudHNNaXhpbihWdWUpO1xubGlmZWN5Y2xlTWl4aW4oVnVlKTtcbnJlbmRlck1peGluKFZ1ZSk7XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBpbml0VXNlIChWdWUpIHtcbiAgVnVlLnVzZSA9IGZ1bmN0aW9uIChwbHVnaW4pIHtcbiAgICB2YXIgaW5zdGFsbGVkUGx1Z2lucyA9ICh0aGlzLl9pbnN0YWxsZWRQbHVnaW5zIHx8ICh0aGlzLl9pbnN0YWxsZWRQbHVnaW5zID0gW10pKTtcbiAgICBpZiAoaW5zdGFsbGVkUGx1Z2lucy5pbmRleE9mKHBsdWdpbikgPiAtMSkge1xuICAgICAgcmV0dXJuIHRoaXNcbiAgICB9XG5cbiAgICAvLyBhZGRpdGlvbmFsIHBhcmFtZXRlcnNcbiAgICB2YXIgYXJncyA9IHRvQXJyYXkoYXJndW1lbnRzLCAxKTtcbiAgICBhcmdzLnVuc2hpZnQodGhpcyk7XG4gICAgaWYgKHR5cGVvZiBwbHVnaW4uaW5zdGFsbCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcGx1Z2luLmluc3RhbGwuYXBwbHkocGx1Z2luLCBhcmdzKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBwbHVnaW4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHBsdWdpbi5hcHBseShudWxsLCBhcmdzKTtcbiAgICB9XG4gICAgaW5zdGFsbGVkUGx1Z2lucy5wdXNoKHBsdWdpbik7XG4gICAgcmV0dXJuIHRoaXNcbiAgfTtcbn1cblxuLyogICovXG5cbmZ1bmN0aW9uIGluaXRNaXhpbiQxIChWdWUpIHtcbiAgVnVlLm1peGluID0gZnVuY3Rpb24gKG1peGluKSB7XG4gICAgdGhpcy5vcHRpb25zID0gbWVyZ2VPcHRpb25zKHRoaXMub3B0aW9ucywgbWl4aW4pO1xuICAgIHJldHVybiB0aGlzXG4gIH07XG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBpbml0RXh0ZW5kIChWdWUpIHtcbiAgLyoqXG4gICAqIEVhY2ggaW5zdGFuY2UgY29uc3RydWN0b3IsIGluY2x1ZGluZyBWdWUsIGhhcyBhIHVuaXF1ZVxuICAgKiBjaWQuIFRoaXMgZW5hYmxlcyB1cyB0byBjcmVhdGUgd3JhcHBlZCBcImNoaWxkXG4gICAqIGNvbnN0cnVjdG9yc1wiIGZvciBwcm90b3R5cGFsIGluaGVyaXRhbmNlIGFuZCBjYWNoZSB0aGVtLlxuICAgKi9cbiAgVnVlLmNpZCA9IDA7XG4gIHZhciBjaWQgPSAxO1xuXG4gIC8qKlxuICAgKiBDbGFzcyBpbmhlcml0YW5jZVxuICAgKi9cbiAgVnVlLmV4dGVuZCA9IGZ1bmN0aW9uIChleHRlbmRPcHRpb25zKSB7XG4gICAgZXh0ZW5kT3B0aW9ucyA9IGV4dGVuZE9wdGlvbnMgfHwge307XG4gICAgdmFyIFN1cGVyID0gdGhpcztcbiAgICB2YXIgU3VwZXJJZCA9IFN1cGVyLmNpZDtcbiAgICB2YXIgY2FjaGVkQ3RvcnMgPSBleHRlbmRPcHRpb25zLl9DdG9yIHx8IChleHRlbmRPcHRpb25zLl9DdG9yID0ge30pO1xuICAgIGlmIChjYWNoZWRDdG9yc1tTdXBlcklkXSkge1xuICAgICAgcmV0dXJuIGNhY2hlZEN0b3JzW1N1cGVySWRdXG4gICAgfVxuXG4gICAgdmFyIG5hbWUgPSBleHRlbmRPcHRpb25zLm5hbWUgfHwgU3VwZXIub3B0aW9ucy5uYW1lO1xuICAgIGlmICggdHJ1ZSAmJiBuYW1lKSB7XG4gICAgICB2YWxpZGF0ZUNvbXBvbmVudE5hbWUobmFtZSk7XG4gICAgfVxuXG4gICAgdmFyIFN1YiA9IGZ1bmN0aW9uIFZ1ZUNvbXBvbmVudCAob3B0aW9ucykge1xuICAgICAgdGhpcy5faW5pdChvcHRpb25zKTtcbiAgICB9O1xuICAgIFN1Yi5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKFN1cGVyLnByb3RvdHlwZSk7XG4gICAgU3ViLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IFN1YjtcbiAgICBTdWIuY2lkID0gY2lkKys7XG4gICAgU3ViLm9wdGlvbnMgPSBtZXJnZU9wdGlvbnMoXG4gICAgICBTdXBlci5vcHRpb25zLFxuICAgICAgZXh0ZW5kT3B0aW9uc1xuICAgICk7XG4gICAgU3ViWydzdXBlciddID0gU3VwZXI7XG5cbiAgICAvLyBGb3IgcHJvcHMgYW5kIGNvbXB1dGVkIHByb3BlcnRpZXMsIHdlIGRlZmluZSB0aGUgcHJveHkgZ2V0dGVycyBvblxuICAgIC8vIHRoZSBWdWUgaW5zdGFuY2VzIGF0IGV4dGVuc2lvbiB0aW1lLCBvbiB0aGUgZXh0ZW5kZWQgcHJvdG90eXBlLiBUaGlzXG4gICAgLy8gYXZvaWRzIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBjYWxscyBmb3IgZWFjaCBpbnN0YW5jZSBjcmVhdGVkLlxuICAgIGlmIChTdWIub3B0aW9ucy5wcm9wcykge1xuICAgICAgaW5pdFByb3BzJDEoU3ViKTtcbiAgICB9XG4gICAgaWYgKFN1Yi5vcHRpb25zLmNvbXB1dGVkKSB7XG4gICAgICBpbml0Q29tcHV0ZWQkMShTdWIpO1xuICAgIH1cblxuICAgIC8vIGFsbG93IGZ1cnRoZXIgZXh0ZW5zaW9uL21peGluL3BsdWdpbiB1c2FnZVxuICAgIFN1Yi5leHRlbmQgPSBTdXBlci5leHRlbmQ7XG4gICAgU3ViLm1peGluID0gU3VwZXIubWl4aW47XG4gICAgU3ViLnVzZSA9IFN1cGVyLnVzZTtcblxuICAgIC8vIGNyZWF0ZSBhc3NldCByZWdpc3RlcnMsIHNvIGV4dGVuZGVkIGNsYXNzZXNcbiAgICAvLyBjYW4gaGF2ZSB0aGVpciBwcml2YXRlIGFzc2V0cyB0b28uXG4gICAgQVNTRVRfVFlQRVMuZm9yRWFjaChmdW5jdGlvbiAodHlwZSkge1xuICAgICAgU3ViW3R5cGVdID0gU3VwZXJbdHlwZV07XG4gICAgfSk7XG4gICAgLy8gZW5hYmxlIHJlY3Vyc2l2ZSBzZWxmLWxvb2t1cFxuICAgIGlmIChuYW1lKSB7XG4gICAgICBTdWIub3B0aW9ucy5jb21wb25lbnRzW25hbWVdID0gU3ViO1xuICAgIH1cblxuICAgIC8vIGtlZXAgYSByZWZlcmVuY2UgdG8gdGhlIHN1cGVyIG9wdGlvbnMgYXQgZXh0ZW5zaW9uIHRpbWUuXG4gICAgLy8gbGF0ZXIgYXQgaW5zdGFudGlhdGlvbiB3ZSBjYW4gY2hlY2sgaWYgU3VwZXIncyBvcHRpb25zIGhhdmVcbiAgICAvLyBiZWVuIHVwZGF0ZWQuXG4gICAgU3ViLnN1cGVyT3B0aW9ucyA9IFN1cGVyLm9wdGlvbnM7XG4gICAgU3ViLmV4dGVuZE9wdGlvbnMgPSBleHRlbmRPcHRpb25zO1xuICAgIFN1Yi5zZWFsZWRPcHRpb25zID0gZXh0ZW5kKHt9LCBTdWIub3B0aW9ucyk7XG5cbiAgICAvLyBjYWNoZSBjb25zdHJ1Y3RvclxuICAgIGNhY2hlZEN0b3JzW1N1cGVySWRdID0gU3ViO1xuICAgIHJldHVybiBTdWJcbiAgfTtcbn1cblxuZnVuY3Rpb24gaW5pdFByb3BzJDEgKENvbXApIHtcbiAgdmFyIHByb3BzID0gQ29tcC5vcHRpb25zLnByb3BzO1xuICBmb3IgKHZhciBrZXkgaW4gcHJvcHMpIHtcbiAgICBwcm94eShDb21wLnByb3RvdHlwZSwgXCJfcHJvcHNcIiwga2V5KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpbml0Q29tcHV0ZWQkMSAoQ29tcCkge1xuICB2YXIgY29tcHV0ZWQgPSBDb21wLm9wdGlvbnMuY29tcHV0ZWQ7XG4gIGZvciAodmFyIGtleSBpbiBjb21wdXRlZCkge1xuICAgIGRlZmluZUNvbXB1dGVkKENvbXAucHJvdG90eXBlLCBrZXksIGNvbXB1dGVkW2tleV0pO1xuICB9XG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBpbml0QXNzZXRSZWdpc3RlcnMgKFZ1ZSkge1xuICAvKipcbiAgICogQ3JlYXRlIGFzc2V0IHJlZ2lzdHJhdGlvbiBtZXRob2RzLlxuICAgKi9cbiAgQVNTRVRfVFlQRVMuZm9yRWFjaChmdW5jdGlvbiAodHlwZSkge1xuICAgIFZ1ZVt0eXBlXSA9IGZ1bmN0aW9uIChcbiAgICAgIGlkLFxuICAgICAgZGVmaW5pdGlvblxuICAgICkge1xuICAgICAgaWYgKCFkZWZpbml0aW9uKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnNbdHlwZSArICdzJ11baWRdXG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgICAgaWYgKCB0cnVlICYmIHR5cGUgPT09ICdjb21wb25lbnQnKSB7XG4gICAgICAgICAgdmFsaWRhdGVDb21wb25lbnROYW1lKGlkKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZSA9PT0gJ2NvbXBvbmVudCcgJiYgaXNQbGFpbk9iamVjdChkZWZpbml0aW9uKSkge1xuICAgICAgICAgIGRlZmluaXRpb24ubmFtZSA9IGRlZmluaXRpb24ubmFtZSB8fCBpZDtcbiAgICAgICAgICBkZWZpbml0aW9uID0gdGhpcy5vcHRpb25zLl9iYXNlLmV4dGVuZChkZWZpbml0aW9uKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZSA9PT0gJ2RpcmVjdGl2ZScgJiYgdHlwZW9mIGRlZmluaXRpb24gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICBkZWZpbml0aW9uID0geyBiaW5kOiBkZWZpbml0aW9uLCB1cGRhdGU6IGRlZmluaXRpb24gfTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9wdGlvbnNbdHlwZSArICdzJ11baWRdID0gZGVmaW5pdGlvbjtcbiAgICAgICAgcmV0dXJuIGRlZmluaXRpb25cbiAgICAgIH1cbiAgICB9O1xuICB9KTtcbn1cblxuLyogICovXG5cblxuXG5mdW5jdGlvbiBnZXRDb21wb25lbnROYW1lIChvcHRzKSB7XG4gIHJldHVybiBvcHRzICYmIChvcHRzLkN0b3Iub3B0aW9ucy5uYW1lIHx8IG9wdHMudGFnKVxufVxuXG5mdW5jdGlvbiBtYXRjaGVzIChwYXR0ZXJuLCBuYW1lKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KHBhdHRlcm4pKSB7XG4gICAgcmV0dXJuIHBhdHRlcm4uaW5kZXhPZihuYW1lKSA+IC0xXG4gIH0gZWxzZSBpZiAodHlwZW9mIHBhdHRlcm4gPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHBhdHRlcm4uc3BsaXQoJywnKS5pbmRleE9mKG5hbWUpID4gLTFcbiAgfSBlbHNlIGlmIChpc1JlZ0V4cChwYXR0ZXJuKSkge1xuICAgIHJldHVybiBwYXR0ZXJuLnRlc3QobmFtZSlcbiAgfVxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICByZXR1cm4gZmFsc2Vcbn1cblxuZnVuY3Rpb24gcHJ1bmVDYWNoZSAoa2VlcEFsaXZlSW5zdGFuY2UsIGZpbHRlcikge1xuICB2YXIgY2FjaGUgPSBrZWVwQWxpdmVJbnN0YW5jZS5jYWNoZTtcbiAgdmFyIGtleXMgPSBrZWVwQWxpdmVJbnN0YW5jZS5rZXlzO1xuICB2YXIgX3Zub2RlID0ga2VlcEFsaXZlSW5zdGFuY2UuX3Zub2RlO1xuICBmb3IgKHZhciBrZXkgaW4gY2FjaGUpIHtcbiAgICB2YXIgY2FjaGVkTm9kZSA9IGNhY2hlW2tleV07XG4gICAgaWYgKGNhY2hlZE5vZGUpIHtcbiAgICAgIHZhciBuYW1lID0gZ2V0Q29tcG9uZW50TmFtZShjYWNoZWROb2RlLmNvbXBvbmVudE9wdGlvbnMpO1xuICAgICAgaWYgKG5hbWUgJiYgIWZpbHRlcihuYW1lKSkge1xuICAgICAgICBwcnVuZUNhY2hlRW50cnkoY2FjaGUsIGtleSwga2V5cywgX3Zub2RlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJ1bmVDYWNoZUVudHJ5IChcbiAgY2FjaGUsXG4gIGtleSxcbiAga2V5cyxcbiAgY3VycmVudFxuKSB7XG4gIHZhciBjYWNoZWQkJDEgPSBjYWNoZVtrZXldO1xuICBpZiAoY2FjaGVkJCQxICYmICghY3VycmVudCB8fCBjYWNoZWQkJDEudGFnICE9PSBjdXJyZW50LnRhZykpIHtcbiAgICBjYWNoZWQkJDEuY29tcG9uZW50SW5zdGFuY2UuJGRlc3Ryb3koKTtcbiAgfVxuICBjYWNoZVtrZXldID0gbnVsbDtcbiAgcmVtb3ZlKGtleXMsIGtleSk7XG59XG5cbnZhciBwYXR0ZXJuVHlwZXMgPSBbU3RyaW5nLCBSZWdFeHAsIEFycmF5XTtcblxudmFyIEtlZXBBbGl2ZSA9IHtcbiAgbmFtZTogJ2tlZXAtYWxpdmUnLFxuICBhYnN0cmFjdDogdHJ1ZSxcblxuICBwcm9wczoge1xuICAgIGluY2x1ZGU6IHBhdHRlcm5UeXBlcyxcbiAgICBleGNsdWRlOiBwYXR0ZXJuVHlwZXMsXG4gICAgbWF4OiBbU3RyaW5nLCBOdW1iZXJdXG4gIH0sXG5cbiAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCAoKSB7XG4gICAgdGhpcy5jYWNoZSA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgdGhpcy5rZXlzID0gW107XG4gIH0sXG5cbiAgZGVzdHJveWVkOiBmdW5jdGlvbiBkZXN0cm95ZWQgKCkge1xuICAgIGZvciAodmFyIGtleSBpbiB0aGlzLmNhY2hlKSB7XG4gICAgICBwcnVuZUNhY2hlRW50cnkodGhpcy5jYWNoZSwga2V5LCB0aGlzLmtleXMpO1xuICAgIH1cbiAgfSxcblxuICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkICgpIHtcbiAgICB2YXIgdGhpcyQxID0gdGhpcztcblxuICAgIHRoaXMuJHdhdGNoKCdpbmNsdWRlJywgZnVuY3Rpb24gKHZhbCkge1xuICAgICAgcHJ1bmVDYWNoZSh0aGlzJDEsIGZ1bmN0aW9uIChuYW1lKSB7IHJldHVybiBtYXRjaGVzKHZhbCwgbmFtZSk7IH0pO1xuICAgIH0pO1xuICAgIHRoaXMuJHdhdGNoKCdleGNsdWRlJywgZnVuY3Rpb24gKHZhbCkge1xuICAgICAgcHJ1bmVDYWNoZSh0aGlzJDEsIGZ1bmN0aW9uIChuYW1lKSB7IHJldHVybiAhbWF0Y2hlcyh2YWwsIG5hbWUpOyB9KTtcbiAgICB9KTtcbiAgfSxcblxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlciAoKSB7XG4gICAgdmFyIHNsb3QgPSB0aGlzLiRzbG90cy5kZWZhdWx0O1xuICAgIHZhciB2bm9kZSA9IGdldEZpcnN0Q29tcG9uZW50Q2hpbGQoc2xvdCk7XG4gICAgdmFyIGNvbXBvbmVudE9wdGlvbnMgPSB2bm9kZSAmJiB2bm9kZS5jb21wb25lbnRPcHRpb25zO1xuICAgIGlmIChjb21wb25lbnRPcHRpb25zKSB7XG4gICAgICAvLyBjaGVjayBwYXR0ZXJuXG4gICAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWUoY29tcG9uZW50T3B0aW9ucyk7XG4gICAgICB2YXIgcmVmID0gdGhpcztcbiAgICAgIHZhciBpbmNsdWRlID0gcmVmLmluY2x1ZGU7XG4gICAgICB2YXIgZXhjbHVkZSA9IHJlZi5leGNsdWRlO1xuICAgICAgaWYgKFxuICAgICAgICAvLyBub3QgaW5jbHVkZWRcbiAgICAgICAgKGluY2x1ZGUgJiYgKCFuYW1lIHx8ICFtYXRjaGVzKGluY2x1ZGUsIG5hbWUpKSkgfHxcbiAgICAgICAgLy8gZXhjbHVkZWRcbiAgICAgICAgKGV4Y2x1ZGUgJiYgbmFtZSAmJiBtYXRjaGVzKGV4Y2x1ZGUsIG5hbWUpKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiB2bm9kZVxuICAgICAgfVxuXG4gICAgICB2YXIgcmVmJDEgPSB0aGlzO1xuICAgICAgdmFyIGNhY2hlID0gcmVmJDEuY2FjaGU7XG4gICAgICB2YXIga2V5cyA9IHJlZiQxLmtleXM7XG4gICAgICB2YXIga2V5ID0gdm5vZGUua2V5ID09IG51bGxcbiAgICAgICAgLy8gc2FtZSBjb25zdHJ1Y3RvciBtYXkgZ2V0IHJlZ2lzdGVyZWQgYXMgZGlmZmVyZW50IGxvY2FsIGNvbXBvbmVudHNcbiAgICAgICAgLy8gc28gY2lkIGFsb25lIGlzIG5vdCBlbm91Z2ggKCMzMjY5KVxuICAgICAgICA/IGNvbXBvbmVudE9wdGlvbnMuQ3Rvci5jaWQgKyAoY29tcG9uZW50T3B0aW9ucy50YWcgPyAoXCI6OlwiICsgKGNvbXBvbmVudE9wdGlvbnMudGFnKSkgOiAnJylcbiAgICAgICAgOiB2bm9kZS5rZXk7XG4gICAgICBpZiAoY2FjaGVba2V5XSkge1xuICAgICAgICB2bm9kZS5jb21wb25lbnRJbnN0YW5jZSA9IGNhY2hlW2tleV0uY29tcG9uZW50SW5zdGFuY2U7XG4gICAgICAgIC8vIG1ha2UgY3VycmVudCBrZXkgZnJlc2hlc3RcbiAgICAgICAgcmVtb3ZlKGtleXMsIGtleSk7XG4gICAgICAgIGtleXMucHVzaChrZXkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2FjaGVba2V5XSA9IHZub2RlO1xuICAgICAgICBrZXlzLnB1c2goa2V5KTtcbiAgICAgICAgLy8gcHJ1bmUgb2xkZXN0IGVudHJ5XG4gICAgICAgIGlmICh0aGlzLm1heCAmJiBrZXlzLmxlbmd0aCA+IHBhcnNlSW50KHRoaXMubWF4KSkge1xuICAgICAgICAgIHBydW5lQ2FjaGVFbnRyeShjYWNoZSwga2V5c1swXSwga2V5cywgdGhpcy5fdm5vZGUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHZub2RlLmRhdGEua2VlcEFsaXZlID0gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHZub2RlIHx8IChzbG90ICYmIHNsb3RbMF0pXG4gIH1cbn07XG5cbnZhciBidWlsdEluQ29tcG9uZW50cyA9IHtcbiAgS2VlcEFsaXZlOiBLZWVwQWxpdmVcbn07XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBpbml0R2xvYmFsQVBJIChWdWUpIHtcbiAgLy8gY29uZmlnXG4gIHZhciBjb25maWdEZWYgPSB7fTtcbiAgY29uZmlnRGVmLmdldCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGNvbmZpZzsgfTtcbiAgaWYgKHRydWUpIHtcbiAgICBjb25maWdEZWYuc2V0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgd2FybihcbiAgICAgICAgJ0RvIG5vdCByZXBsYWNlIHRoZSBWdWUuY29uZmlnIG9iamVjdCwgc2V0IGluZGl2aWR1YWwgZmllbGRzIGluc3RlYWQuJ1xuICAgICAgKTtcbiAgICB9O1xuICB9XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShWdWUsICdjb25maWcnLCBjb25maWdEZWYpO1xuXG4gIC8vIGV4cG9zZWQgdXRpbCBtZXRob2RzLlxuICAvLyBOT1RFOiB0aGVzZSBhcmUgbm90IGNvbnNpZGVyZWQgcGFydCBvZiB0aGUgcHVibGljIEFQSSAtIGF2b2lkIHJlbHlpbmcgb25cbiAgLy8gdGhlbSB1bmxlc3MgeW91IGFyZSBhd2FyZSBvZiB0aGUgcmlzay5cbiAgVnVlLnV0aWwgPSB7XG4gICAgd2Fybjogd2FybixcbiAgICBleHRlbmQ6IGV4dGVuZCxcbiAgICBtZXJnZU9wdGlvbnM6IG1lcmdlT3B0aW9ucyxcbiAgICBkZWZpbmVSZWFjdGl2ZTogZGVmaW5lUmVhY3RpdmUkJDFcbiAgfTtcblxuICBWdWUuc2V0ID0gc2V0O1xuICBWdWUuZGVsZXRlID0gZGVsO1xuICBWdWUubmV4dFRpY2sgPSBuZXh0VGljaztcblxuICBWdWUub3B0aW9ucyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gIEFTU0VUX1RZUEVTLmZvckVhY2goZnVuY3Rpb24gKHR5cGUpIHtcbiAgICBWdWUub3B0aW9uc1t0eXBlICsgJ3MnXSA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gIH0pO1xuXG4gIC8vIHRoaXMgaXMgdXNlZCB0byBpZGVudGlmeSB0aGUgXCJiYXNlXCIgY29uc3RydWN0b3IgdG8gZXh0ZW5kIGFsbCBwbGFpbi1vYmplY3RcbiAgLy8gY29tcG9uZW50cyB3aXRoIGluIFdlZXgncyBtdWx0aS1pbnN0YW5jZSBzY2VuYXJpb3MuXG4gIFZ1ZS5vcHRpb25zLl9iYXNlID0gVnVlO1xuXG4gIGV4dGVuZChWdWUub3B0aW9ucy5jb21wb25lbnRzLCBidWlsdEluQ29tcG9uZW50cyk7XG5cbiAgaW5pdFVzZShWdWUpO1xuICBpbml0TWl4aW4kMShWdWUpO1xuICBpbml0RXh0ZW5kKFZ1ZSk7XG4gIGluaXRBc3NldFJlZ2lzdGVycyhWdWUpO1xufVxuXG5pbml0R2xvYmFsQVBJKFZ1ZSk7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShWdWUucHJvdG90eXBlLCAnJGlzU2VydmVyJywge1xuICBnZXQ6IGlzU2VydmVyUmVuZGVyaW5nXG59KTtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KFZ1ZS5wcm90b3R5cGUsICckc3NyQ29udGV4dCcsIHtcbiAgZ2V0OiBmdW5jdGlvbiBnZXQgKCkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHRoaXMuJHZub2RlICYmIHRoaXMuJHZub2RlLnNzckNvbnRleHRcbiAgfVxufSk7XG5cbi8vIGV4cG9zZSBGdW5jdGlvbmFsUmVuZGVyQ29udGV4dCBmb3Igc3NyIHJ1bnRpbWUgaGVscGVyIGluc3RhbGxhdGlvblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KFZ1ZSwgJ0Z1bmN0aW9uYWxSZW5kZXJDb250ZXh0Jywge1xuICB2YWx1ZTogRnVuY3Rpb25hbFJlbmRlckNvbnRleHRcbn0pO1xuXG5WdWUudmVyc2lvbiA9ICcyLjUuMjEnO1xuXG4vKiAgKi9cblxuLy8gdGhlc2UgYXJlIHJlc2VydmVkIGZvciB3ZWIgYmVjYXVzZSB0aGV5IGFyZSBkaXJlY3RseSBjb21waWxlZCBhd2F5XG4vLyBkdXJpbmcgdGVtcGxhdGUgY29tcGlsYXRpb25cbnZhciBpc1Jlc2VydmVkQXR0ciA9IG1ha2VNYXAoJ3N0eWxlLGNsYXNzJyk7XG5cbi8vIGF0dHJpYnV0ZXMgdGhhdCBzaG91bGQgYmUgdXNpbmcgcHJvcHMgZm9yIGJpbmRpbmdcbnZhciBhY2NlcHRWYWx1ZSA9IG1ha2VNYXAoJ2lucHV0LHRleHRhcmVhLG9wdGlvbixzZWxlY3QscHJvZ3Jlc3MnKTtcbnZhciBtdXN0VXNlUHJvcCA9IGZ1bmN0aW9uICh0YWcsIHR5cGUsIGF0dHIpIHtcbiAgcmV0dXJuIChcbiAgICAoYXR0ciA9PT0gJ3ZhbHVlJyAmJiBhY2NlcHRWYWx1ZSh0YWcpKSAmJiB0eXBlICE9PSAnYnV0dG9uJyB8fFxuICAgIChhdHRyID09PSAnc2VsZWN0ZWQnICYmIHRhZyA9PT0gJ29wdGlvbicpIHx8XG4gICAgKGF0dHIgPT09ICdjaGVja2VkJyAmJiB0YWcgPT09ICdpbnB1dCcpIHx8XG4gICAgKGF0dHIgPT09ICdtdXRlZCcgJiYgdGFnID09PSAndmlkZW8nKVxuICApXG59O1xuXG52YXIgaXNFbnVtZXJhdGVkQXR0ciA9IG1ha2VNYXAoJ2NvbnRlbnRlZGl0YWJsZSxkcmFnZ2FibGUsc3BlbGxjaGVjaycpO1xuXG52YXIgaXNCb29sZWFuQXR0ciA9IG1ha2VNYXAoXG4gICdhbGxvd2Z1bGxzY3JlZW4sYXN5bmMsYXV0b2ZvY3VzLGF1dG9wbGF5LGNoZWNrZWQsY29tcGFjdCxjb250cm9scyxkZWNsYXJlLCcgK1xuICAnZGVmYXVsdCxkZWZhdWx0Y2hlY2tlZCxkZWZhdWx0bXV0ZWQsZGVmYXVsdHNlbGVjdGVkLGRlZmVyLGRpc2FibGVkLCcgK1xuICAnZW5hYmxlZCxmb3Jtbm92YWxpZGF0ZSxoaWRkZW4saW5kZXRlcm1pbmF0ZSxpbmVydCxpc21hcCxpdGVtc2NvcGUsbG9vcCxtdWx0aXBsZSwnICtcbiAgJ211dGVkLG5vaHJlZixub3Jlc2l6ZSxub3NoYWRlLG5vdmFsaWRhdGUsbm93cmFwLG9wZW4scGF1c2VvbmV4aXQscmVhZG9ubHksJyArXG4gICdyZXF1aXJlZCxyZXZlcnNlZCxzY29wZWQsc2VhbWxlc3Msc2VsZWN0ZWQsc29ydGFibGUsdHJhbnNsYXRlLCcgK1xuICAndHJ1ZXNwZWVkLHR5cGVtdXN0bWF0Y2gsdmlzaWJsZSdcbik7XG5cbnZhciB4bGlua05TID0gJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnO1xuXG52YXIgaXNYbGluayA9IGZ1bmN0aW9uIChuYW1lKSB7XG4gIHJldHVybiBuYW1lLmNoYXJBdCg1KSA9PT0gJzonICYmIG5hbWUuc2xpY2UoMCwgNSkgPT09ICd4bGluaydcbn07XG5cbnZhciBnZXRYbGlua1Byb3AgPSBmdW5jdGlvbiAobmFtZSkge1xuICByZXR1cm4gaXNYbGluayhuYW1lKSA/IG5hbWUuc2xpY2UoNiwgbmFtZS5sZW5ndGgpIDogJydcbn07XG5cbnZhciBpc0ZhbHN5QXR0clZhbHVlID0gZnVuY3Rpb24gKHZhbCkge1xuICByZXR1cm4gdmFsID09IG51bGwgfHwgdmFsID09PSBmYWxzZVxufTtcblxuLyogICovXG5cbmZ1bmN0aW9uIGdlbkNsYXNzRm9yVm5vZGUgKHZub2RlKSB7XG4gIHZhciBkYXRhID0gdm5vZGUuZGF0YTtcbiAgdmFyIHBhcmVudE5vZGUgPSB2bm9kZTtcbiAgdmFyIGNoaWxkTm9kZSA9IHZub2RlO1xuICB3aGlsZSAoaXNEZWYoY2hpbGROb2RlLmNvbXBvbmVudEluc3RhbmNlKSkge1xuICAgIGNoaWxkTm9kZSA9IGNoaWxkTm9kZS5jb21wb25lbnRJbnN0YW5jZS5fdm5vZGU7XG4gICAgaWYgKGNoaWxkTm9kZSAmJiBjaGlsZE5vZGUuZGF0YSkge1xuICAgICAgZGF0YSA9IG1lcmdlQ2xhc3NEYXRhKGNoaWxkTm9kZS5kYXRhLCBkYXRhKTtcbiAgICB9XG4gIH1cbiAgd2hpbGUgKGlzRGVmKHBhcmVudE5vZGUgPSBwYXJlbnROb2RlLnBhcmVudCkpIHtcbiAgICBpZiAocGFyZW50Tm9kZSAmJiBwYXJlbnROb2RlLmRhdGEpIHtcbiAgICAgIGRhdGEgPSBtZXJnZUNsYXNzRGF0YShkYXRhLCBwYXJlbnROb2RlLmRhdGEpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVuZGVyQ2xhc3MoZGF0YS5zdGF0aWNDbGFzcywgZGF0YS5jbGFzcylcbn1cblxuZnVuY3Rpb24gbWVyZ2VDbGFzc0RhdGEgKGNoaWxkLCBwYXJlbnQpIHtcbiAgcmV0dXJuIHtcbiAgICBzdGF0aWNDbGFzczogY29uY2F0KGNoaWxkLnN0YXRpY0NsYXNzLCBwYXJlbnQuc3RhdGljQ2xhc3MpLFxuICAgIGNsYXNzOiBpc0RlZihjaGlsZC5jbGFzcylcbiAgICAgID8gW2NoaWxkLmNsYXNzLCBwYXJlbnQuY2xhc3NdXG4gICAgICA6IHBhcmVudC5jbGFzc1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlbmRlckNsYXNzIChcbiAgc3RhdGljQ2xhc3MsXG4gIGR5bmFtaWNDbGFzc1xuKSB7XG4gIGlmIChpc0RlZihzdGF0aWNDbGFzcykgfHwgaXNEZWYoZHluYW1pY0NsYXNzKSkge1xuICAgIHJldHVybiBjb25jYXQoc3RhdGljQ2xhc3MsIHN0cmluZ2lmeUNsYXNzKGR5bmFtaWNDbGFzcykpXG4gIH1cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcmV0dXJuICcnXG59XG5cbmZ1bmN0aW9uIGNvbmNhdCAoYSwgYikge1xuICByZXR1cm4gYSA/IGIgPyAoYSArICcgJyArIGIpIDogYSA6IChiIHx8ICcnKVxufVxuXG5mdW5jdGlvbiBzdHJpbmdpZnlDbGFzcyAodmFsdWUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHN0cmluZ2lmeUFycmF5KHZhbHVlKVxuICB9XG4gIGlmIChpc09iamVjdCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gc3RyaW5naWZ5T2JqZWN0KHZhbHVlKVxuICB9XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHZhbHVlXG4gIH1cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcmV0dXJuICcnXG59XG5cbmZ1bmN0aW9uIHN0cmluZ2lmeUFycmF5ICh2YWx1ZSkge1xuICB2YXIgcmVzID0gJyc7XG4gIHZhciBzdHJpbmdpZmllZDtcbiAgZm9yICh2YXIgaSA9IDAsIGwgPSB2YWx1ZS5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICBpZiAoaXNEZWYoc3RyaW5naWZpZWQgPSBzdHJpbmdpZnlDbGFzcyh2YWx1ZVtpXSkpICYmIHN0cmluZ2lmaWVkICE9PSAnJykge1xuICAgICAgaWYgKHJlcykgeyByZXMgKz0gJyAnOyB9XG4gICAgICByZXMgKz0gc3RyaW5naWZpZWQ7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXNcbn1cblxuZnVuY3Rpb24gc3RyaW5naWZ5T2JqZWN0ICh2YWx1ZSkge1xuICB2YXIgcmVzID0gJyc7XG4gIGZvciAodmFyIGtleSBpbiB2YWx1ZSkge1xuICAgIGlmICh2YWx1ZVtrZXldKSB7XG4gICAgICBpZiAocmVzKSB7IHJlcyArPSAnICc7IH1cbiAgICAgIHJlcyArPSBrZXk7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXNcbn1cblxuLyogICovXG5cbnZhciBuYW1lc3BhY2VNYXAgPSB7XG4gIHN2ZzogJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyxcbiAgbWF0aDogJ2h0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUwnXG59O1xuXG52YXIgaXNIVE1MVGFnID0gbWFrZU1hcChcbiAgJ2h0bWwsYm9keSxiYXNlLGhlYWQsbGluayxtZXRhLHN0eWxlLHRpdGxlLCcgK1xuICAnYWRkcmVzcyxhcnRpY2xlLGFzaWRlLGZvb3RlcixoZWFkZXIsaDEsaDIsaDMsaDQsaDUsaDYsaGdyb3VwLG5hdixzZWN0aW9uLCcgK1xuICAnZGl2LGRkLGRsLGR0LGZpZ2NhcHRpb24sZmlndXJlLHBpY3R1cmUsaHIsaW1nLGxpLG1haW4sb2wscCxwcmUsdWwsJyArXG4gICdhLGIsYWJicixiZGksYmRvLGJyLGNpdGUsY29kZSxkYXRhLGRmbixlbSxpLGtiZCxtYXJrLHEscnAscnQscnRjLHJ1YnksJyArXG4gICdzLHNhbXAsc21hbGwsc3BhbixzdHJvbmcsc3ViLHN1cCx0aW1lLHUsdmFyLHdicixhcmVhLGF1ZGlvLG1hcCx0cmFjayx2aWRlbywnICtcbiAgJ2VtYmVkLG9iamVjdCxwYXJhbSxzb3VyY2UsY2FudmFzLHNjcmlwdCxub3NjcmlwdCxkZWwsaW5zLCcgK1xuICAnY2FwdGlvbixjb2wsY29sZ3JvdXAsdGFibGUsdGhlYWQsdGJvZHksdGQsdGgsdHIsJyArXG4gICdidXR0b24sZGF0YWxpc3QsZmllbGRzZXQsZm9ybSxpbnB1dCxsYWJlbCxsZWdlbmQsbWV0ZXIsb3B0Z3JvdXAsb3B0aW9uLCcgK1xuICAnb3V0cHV0LHByb2dyZXNzLHNlbGVjdCx0ZXh0YXJlYSwnICtcbiAgJ2RldGFpbHMsZGlhbG9nLG1lbnUsbWVudWl0ZW0sc3VtbWFyeSwnICtcbiAgJ2NvbnRlbnQsZWxlbWVudCxzaGFkb3csdGVtcGxhdGUsYmxvY2txdW90ZSxpZnJhbWUsdGZvb3QnXG4pO1xuXG4vLyB0aGlzIG1hcCBpcyBpbnRlbnRpb25hbGx5IHNlbGVjdGl2ZSwgb25seSBjb3ZlcmluZyBTVkcgZWxlbWVudHMgdGhhdCBtYXlcbi8vIGNvbnRhaW4gY2hpbGQgZWxlbWVudHMuXG52YXIgaXNTVkcgPSBtYWtlTWFwKFxuICAnc3ZnLGFuaW1hdGUsY2lyY2xlLGNsaXBwYXRoLGN1cnNvcixkZWZzLGRlc2MsZWxsaXBzZSxmaWx0ZXIsZm9udC1mYWNlLCcgK1xuICAnZm9yZWlnbk9iamVjdCxnLGdseXBoLGltYWdlLGxpbmUsbWFya2VyLG1hc2ssbWlzc2luZy1nbHlwaCxwYXRoLHBhdHRlcm4sJyArXG4gICdwb2x5Z29uLHBvbHlsaW5lLHJlY3Qsc3dpdGNoLHN5bWJvbCx0ZXh0LHRleHRwYXRoLHRzcGFuLHVzZSx2aWV3JyxcbiAgdHJ1ZVxuKTtcblxudmFyIGlzUmVzZXJ2ZWRUYWcgPSBmdW5jdGlvbiAodGFnKSB7XG4gIHJldHVybiBpc0hUTUxUYWcodGFnKSB8fCBpc1NWRyh0YWcpXG59O1xuXG5mdW5jdGlvbiBnZXRUYWdOYW1lc3BhY2UgKHRhZykge1xuICBpZiAoaXNTVkcodGFnKSkge1xuICAgIHJldHVybiAnc3ZnJ1xuICB9XG4gIC8vIGJhc2ljIHN1cHBvcnQgZm9yIE1hdGhNTFxuICAvLyBub3RlIGl0IGRvZXNuJ3Qgc3VwcG9ydCBvdGhlciBNYXRoTUwgZWxlbWVudHMgYmVpbmcgY29tcG9uZW50IHJvb3RzXG4gIGlmICh0YWcgPT09ICdtYXRoJykge1xuICAgIHJldHVybiAnbWF0aCdcbiAgfVxufVxuXG52YXIgdW5rbm93bkVsZW1lbnRDYWNoZSA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG5mdW5jdGlvbiBpc1Vua25vd25FbGVtZW50ICh0YWcpIHtcbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlmICghaW5Ccm93c2VyKSB7XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuICBpZiAoaXNSZXNlcnZlZFRhZyh0YWcpKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbiAgdGFnID0gdGFnLnRvTG93ZXJDYXNlKCk7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAodW5rbm93bkVsZW1lbnRDYWNoZVt0YWddICE9IG51bGwpIHtcbiAgICByZXR1cm4gdW5rbm93bkVsZW1lbnRDYWNoZVt0YWddXG4gIH1cbiAgdmFyIGVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWcpO1xuICBpZiAodGFnLmluZGV4T2YoJy0nKSA+IC0xKSB7XG4gICAgLy8gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMjgyMTAzNjQvMTA3MDI0NFxuICAgIHJldHVybiAodW5rbm93bkVsZW1lbnRDYWNoZVt0YWddID0gKFxuICAgICAgZWwuY29uc3RydWN0b3IgPT09IHdpbmRvdy5IVE1MVW5rbm93bkVsZW1lbnQgfHxcbiAgICAgIGVsLmNvbnN0cnVjdG9yID09PSB3aW5kb3cuSFRNTEVsZW1lbnRcbiAgICApKVxuICB9IGVsc2Uge1xuICAgIHJldHVybiAodW5rbm93bkVsZW1lbnRDYWNoZVt0YWddID0gL0hUTUxVbmtub3duRWxlbWVudC8udGVzdChlbC50b1N0cmluZygpKSlcbiAgfVxufVxuXG52YXIgaXNUZXh0SW5wdXRUeXBlID0gbWFrZU1hcCgndGV4dCxudW1iZXIscGFzc3dvcmQsc2VhcmNoLGVtYWlsLHRlbCx1cmwnKTtcblxuLyogICovXG5cbi8qKlxuICogUXVlcnkgYW4gZWxlbWVudCBzZWxlY3RvciBpZiBpdCdzIG5vdCBhbiBlbGVtZW50IGFscmVhZHkuXG4gKi9cbmZ1bmN0aW9uIHF1ZXJ5IChlbCkge1xuICBpZiAodHlwZW9mIGVsID09PSAnc3RyaW5nJykge1xuICAgIHZhciBzZWxlY3RlZCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoZWwpO1xuICAgIGlmICghc2VsZWN0ZWQpIHtcbiAgICAgICB0cnVlICYmIHdhcm4oXG4gICAgICAgICdDYW5ub3QgZmluZCBlbGVtZW50OiAnICsgZWxcbiAgICAgICk7XG4gICAgICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JylcbiAgICB9XG4gICAgcmV0dXJuIHNlbGVjdGVkXG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGVsXG4gIH1cbn1cblxuLyogICovXG5cbmZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnQkMSAodGFnTmFtZSwgdm5vZGUpIHtcbiAgdmFyIGVsbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7XG4gIGlmICh0YWdOYW1lICE9PSAnc2VsZWN0Jykge1xuICAgIHJldHVybiBlbG1cbiAgfVxuICAvLyBmYWxzZSBvciBudWxsIHdpbGwgcmVtb3ZlIHRoZSBhdHRyaWJ1dGUgYnV0IHVuZGVmaW5lZCB3aWxsIG5vdFxuICBpZiAodm5vZGUuZGF0YSAmJiB2bm9kZS5kYXRhLmF0dHJzICYmIHZub2RlLmRhdGEuYXR0cnMubXVsdGlwbGUgIT09IHVuZGVmaW5lZCkge1xuICAgIGVsbS5zZXRBdHRyaWJ1dGUoJ211bHRpcGxlJywgJ211bHRpcGxlJyk7XG4gIH1cbiAgcmV0dXJuIGVsbVxufVxuXG5mdW5jdGlvbiBjcmVhdGVFbGVtZW50TlMgKG5hbWVzcGFjZSwgdGFnTmFtZSkge1xuICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKG5hbWVzcGFjZU1hcFtuYW1lc3BhY2VdLCB0YWdOYW1lKVxufVxuXG5mdW5jdGlvbiBjcmVhdGVUZXh0Tm9kZSAodGV4dCkge1xuICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodGV4dClcbn1cblxuZnVuY3Rpb24gY3JlYXRlQ29tbWVudCAodGV4dCkge1xuICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlQ29tbWVudCh0ZXh0KVxufVxuXG5mdW5jdGlvbiBpbnNlcnRCZWZvcmUgKHBhcmVudE5vZGUsIG5ld05vZGUsIHJlZmVyZW5jZU5vZGUpIHtcbiAgcGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobmV3Tm9kZSwgcmVmZXJlbmNlTm9kZSk7XG59XG5cbmZ1bmN0aW9uIHJlbW92ZUNoaWxkIChub2RlLCBjaGlsZCkge1xuICBub2RlLnJlbW92ZUNoaWxkKGNoaWxkKTtcbn1cblxuZnVuY3Rpb24gYXBwZW5kQ2hpbGQgKG5vZGUsIGNoaWxkKSB7XG4gIG5vZGUuYXBwZW5kQ2hpbGQoY2hpbGQpO1xufVxuXG5mdW5jdGlvbiBwYXJlbnROb2RlIChub2RlKSB7XG4gIHJldHVybiBub2RlLnBhcmVudE5vZGVcbn1cblxuZnVuY3Rpb24gbmV4dFNpYmxpbmcgKG5vZGUpIHtcbiAgcmV0dXJuIG5vZGUubmV4dFNpYmxpbmdcbn1cblxuZnVuY3Rpb24gdGFnTmFtZSAobm9kZSkge1xuICByZXR1cm4gbm9kZS50YWdOYW1lXG59XG5cbmZ1bmN0aW9uIHNldFRleHRDb250ZW50IChub2RlLCB0ZXh0KSB7XG4gIG5vZGUudGV4dENvbnRlbnQgPSB0ZXh0O1xufVxuXG5mdW5jdGlvbiBzZXRTdHlsZVNjb3BlIChub2RlLCBzY29wZUlkKSB7XG4gIG5vZGUuc2V0QXR0cmlidXRlKHNjb3BlSWQsICcnKTtcbn1cblxudmFyIG5vZGVPcHMgPSAvKiNfX1BVUkVfXyovT2JqZWN0LmZyZWV6ZSh7XG4gIGNyZWF0ZUVsZW1lbnQ6IGNyZWF0ZUVsZW1lbnQkMSxcbiAgY3JlYXRlRWxlbWVudE5TOiBjcmVhdGVFbGVtZW50TlMsXG4gIGNyZWF0ZVRleHROb2RlOiBjcmVhdGVUZXh0Tm9kZSxcbiAgY3JlYXRlQ29tbWVudDogY3JlYXRlQ29tbWVudCxcbiAgaW5zZXJ0QmVmb3JlOiBpbnNlcnRCZWZvcmUsXG4gIHJlbW92ZUNoaWxkOiByZW1vdmVDaGlsZCxcbiAgYXBwZW5kQ2hpbGQ6IGFwcGVuZENoaWxkLFxuICBwYXJlbnROb2RlOiBwYXJlbnROb2RlLFxuICBuZXh0U2libGluZzogbmV4dFNpYmxpbmcsXG4gIHRhZ05hbWU6IHRhZ05hbWUsXG4gIHNldFRleHRDb250ZW50OiBzZXRUZXh0Q29udGVudCxcbiAgc2V0U3R5bGVTY29wZTogc2V0U3R5bGVTY29wZVxufSk7XG5cbi8qICAqL1xuXG52YXIgcmVmID0ge1xuICBjcmVhdGU6IGZ1bmN0aW9uIGNyZWF0ZSAoXywgdm5vZGUpIHtcbiAgICByZWdpc3RlclJlZih2bm9kZSk7XG4gIH0sXG4gIHVwZGF0ZTogZnVuY3Rpb24gdXBkYXRlIChvbGRWbm9kZSwgdm5vZGUpIHtcbiAgICBpZiAob2xkVm5vZGUuZGF0YS5yZWYgIT09IHZub2RlLmRhdGEucmVmKSB7XG4gICAgICByZWdpc3RlclJlZihvbGRWbm9kZSwgdHJ1ZSk7XG4gICAgICByZWdpc3RlclJlZih2bm9kZSk7XG4gICAgfVxuICB9LFxuICBkZXN0cm95OiBmdW5jdGlvbiBkZXN0cm95ICh2bm9kZSkge1xuICAgIHJlZ2lzdGVyUmVmKHZub2RlLCB0cnVlKTtcbiAgfVxufTtcblxuZnVuY3Rpb24gcmVnaXN0ZXJSZWYgKHZub2RlLCBpc1JlbW92YWwpIHtcbiAgdmFyIGtleSA9IHZub2RlLmRhdGEucmVmO1xuICBpZiAoIWlzRGVmKGtleSkpIHsgcmV0dXJuIH1cblxuICB2YXIgdm0gPSB2bm9kZS5jb250ZXh0O1xuICB2YXIgcmVmID0gdm5vZGUuY29tcG9uZW50SW5zdGFuY2UgfHwgdm5vZGUuZWxtO1xuICB2YXIgcmVmcyA9IHZtLiRyZWZzO1xuICBpZiAoaXNSZW1vdmFsKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkocmVmc1trZXldKSkge1xuICAgICAgcmVtb3ZlKHJlZnNba2V5XSwgcmVmKTtcbiAgICB9IGVsc2UgaWYgKHJlZnNba2V5XSA9PT0gcmVmKSB7XG4gICAgICByZWZzW2tleV0gPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGlmICh2bm9kZS5kYXRhLnJlZkluRm9yKSB7XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkocmVmc1trZXldKSkge1xuICAgICAgICByZWZzW2tleV0gPSBbcmVmXTtcbiAgICAgIH0gZWxzZSBpZiAocmVmc1trZXldLmluZGV4T2YocmVmKSA8IDApIHtcbiAgICAgICAgLy8gJGZsb3ctZGlzYWJsZS1saW5lXG4gICAgICAgIHJlZnNba2V5XS5wdXNoKHJlZik7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlZnNba2V5XSA9IHJlZjtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBWaXJ0dWFsIERPTSBwYXRjaGluZyBhbGdvcml0aG0gYmFzZWQgb24gU25hYmJkb20gYnlcbiAqIFNpbW9uIEZyaWlzIFZpbmR1bSAoQHBhbGRlcGluZClcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZVxuICogaHR0cHM6Ly9naXRodWIuY29tL3BhbGRlcGluZC9zbmFiYmRvbS9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKlxuICogbW9kaWZpZWQgYnkgRXZhbiBZb3UgKEB5eXg5OTA4MDMpXG4gKlxuICogTm90IHR5cGUtY2hlY2tpbmcgdGhpcyBiZWNhdXNlIHRoaXMgZmlsZSBpcyBwZXJmLWNyaXRpY2FsIGFuZCB0aGUgY29zdFxuICogb2YgbWFraW5nIGZsb3cgdW5kZXJzdGFuZCBpdCBpcyBub3Qgd29ydGggaXQuXG4gKi9cblxudmFyIGVtcHR5Tm9kZSA9IG5ldyBWTm9kZSgnJywge30sIFtdKTtcblxudmFyIGhvb2tzID0gWydjcmVhdGUnLCAnYWN0aXZhdGUnLCAndXBkYXRlJywgJ3JlbW92ZScsICdkZXN0cm95J107XG5cbmZ1bmN0aW9uIHNhbWVWbm9kZSAoYSwgYikge1xuICByZXR1cm4gKFxuICAgIGEua2V5ID09PSBiLmtleSAmJiAoXG4gICAgICAoXG4gICAgICAgIGEudGFnID09PSBiLnRhZyAmJlxuICAgICAgICBhLmlzQ29tbWVudCA9PT0gYi5pc0NvbW1lbnQgJiZcbiAgICAgICAgaXNEZWYoYS5kYXRhKSA9PT0gaXNEZWYoYi5kYXRhKSAmJlxuICAgICAgICBzYW1lSW5wdXRUeXBlKGEsIGIpXG4gICAgICApIHx8IChcbiAgICAgICAgaXNUcnVlKGEuaXNBc3luY1BsYWNlaG9sZGVyKSAmJlxuICAgICAgICBhLmFzeW5jRmFjdG9yeSA9PT0gYi5hc3luY0ZhY3RvcnkgJiZcbiAgICAgICAgaXNVbmRlZihiLmFzeW5jRmFjdG9yeS5lcnJvcilcbiAgICAgIClcbiAgICApXG4gIClcbn1cblxuZnVuY3Rpb24gc2FtZUlucHV0VHlwZSAoYSwgYikge1xuICBpZiAoYS50YWcgIT09ICdpbnB1dCcpIHsgcmV0dXJuIHRydWUgfVxuICB2YXIgaTtcbiAgdmFyIHR5cGVBID0gaXNEZWYoaSA9IGEuZGF0YSkgJiYgaXNEZWYoaSA9IGkuYXR0cnMpICYmIGkudHlwZTtcbiAgdmFyIHR5cGVCID0gaXNEZWYoaSA9IGIuZGF0YSkgJiYgaXNEZWYoaSA9IGkuYXR0cnMpICYmIGkudHlwZTtcbiAgcmV0dXJuIHR5cGVBID09PSB0eXBlQiB8fCBpc1RleHRJbnB1dFR5cGUodHlwZUEpICYmIGlzVGV4dElucHV0VHlwZSh0eXBlQilcbn1cblxuZnVuY3Rpb24gY3JlYXRlS2V5VG9PbGRJZHggKGNoaWxkcmVuLCBiZWdpbklkeCwgZW5kSWR4KSB7XG4gIHZhciBpLCBrZXk7XG4gIHZhciBtYXAgPSB7fTtcbiAgZm9yIChpID0gYmVnaW5JZHg7IGkgPD0gZW5kSWR4OyArK2kpIHtcbiAgICBrZXkgPSBjaGlsZHJlbltpXS5rZXk7XG4gICAgaWYgKGlzRGVmKGtleSkpIHsgbWFwW2tleV0gPSBpOyB9XG4gIH1cbiAgcmV0dXJuIG1hcFxufVxuXG5mdW5jdGlvbiBjcmVhdGVQYXRjaEZ1bmN0aW9uIChiYWNrZW5kKSB7XG4gIHZhciBpLCBqO1xuICB2YXIgY2JzID0ge307XG5cbiAgdmFyIG1vZHVsZXMgPSBiYWNrZW5kLm1vZHVsZXM7XG4gIHZhciBub2RlT3BzID0gYmFja2VuZC5ub2RlT3BzO1xuXG4gIGZvciAoaSA9IDA7IGkgPCBob29rcy5sZW5ndGg7ICsraSkge1xuICAgIGNic1tob29rc1tpXV0gPSBbXTtcbiAgICBmb3IgKGogPSAwOyBqIDwgbW9kdWxlcy5sZW5ndGg7ICsraikge1xuICAgICAgaWYgKGlzRGVmKG1vZHVsZXNbal1baG9va3NbaV1dKSkge1xuICAgICAgICBjYnNbaG9va3NbaV1dLnB1c2gobW9kdWxlc1tqXVtob29rc1tpXV0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGVtcHR5Tm9kZUF0IChlbG0pIHtcbiAgICByZXR1cm4gbmV3IFZOb2RlKG5vZGVPcHMudGFnTmFtZShlbG0pLnRvTG93ZXJDYXNlKCksIHt9LCBbXSwgdW5kZWZpbmVkLCBlbG0pXG4gIH1cblxuICBmdW5jdGlvbiBjcmVhdGVSbUNiIChjaGlsZEVsbSwgbGlzdGVuZXJzKSB7XG4gICAgZnVuY3Rpb24gcmVtb3ZlJCQxICgpIHtcbiAgICAgIGlmICgtLXJlbW92ZSQkMS5saXN0ZW5lcnMgPT09IDApIHtcbiAgICAgICAgcmVtb3ZlTm9kZShjaGlsZEVsbSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJlbW92ZSQkMS5saXN0ZW5lcnMgPSBsaXN0ZW5lcnM7XG4gICAgcmV0dXJuIHJlbW92ZSQkMVxuICB9XG5cbiAgZnVuY3Rpb24gcmVtb3ZlTm9kZSAoZWwpIHtcbiAgICB2YXIgcGFyZW50ID0gbm9kZU9wcy5wYXJlbnROb2RlKGVsKTtcbiAgICAvLyBlbGVtZW50IG1heSBoYXZlIGFscmVhZHkgYmVlbiByZW1vdmVkIGR1ZSB0byB2LWh0bWwgLyB2LXRleHRcbiAgICBpZiAoaXNEZWYocGFyZW50KSkge1xuICAgICAgbm9kZU9wcy5yZW1vdmVDaGlsZChwYXJlbnQsIGVsKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBpc1Vua25vd25FbGVtZW50JCQxICh2bm9kZSwgaW5WUHJlKSB7XG4gICAgcmV0dXJuIChcbiAgICAgICFpblZQcmUgJiZcbiAgICAgICF2bm9kZS5ucyAmJlxuICAgICAgIShcbiAgICAgICAgY29uZmlnLmlnbm9yZWRFbGVtZW50cy5sZW5ndGggJiZcbiAgICAgICAgY29uZmlnLmlnbm9yZWRFbGVtZW50cy5zb21lKGZ1bmN0aW9uIChpZ25vcmUpIHtcbiAgICAgICAgICByZXR1cm4gaXNSZWdFeHAoaWdub3JlKVxuICAgICAgICAgICAgPyBpZ25vcmUudGVzdCh2bm9kZS50YWcpXG4gICAgICAgICAgICA6IGlnbm9yZSA9PT0gdm5vZGUudGFnXG4gICAgICAgIH0pXG4gICAgICApICYmXG4gICAgICBjb25maWcuaXNVbmtub3duRWxlbWVudCh2bm9kZS50YWcpXG4gICAgKVxuICB9XG5cbiAgdmFyIGNyZWF0aW5nRWxtSW5WUHJlID0gMDtcblxuICBmdW5jdGlvbiBjcmVhdGVFbG0gKFxuICAgIHZub2RlLFxuICAgIGluc2VydGVkVm5vZGVRdWV1ZSxcbiAgICBwYXJlbnRFbG0sXG4gICAgcmVmRWxtLFxuICAgIG5lc3RlZCxcbiAgICBvd25lckFycmF5LFxuICAgIGluZGV4XG4gICkge1xuICAgIGlmIChpc0RlZih2bm9kZS5lbG0pICYmIGlzRGVmKG93bmVyQXJyYXkpKSB7XG4gICAgICAvLyBUaGlzIHZub2RlIHdhcyB1c2VkIGluIGEgcHJldmlvdXMgcmVuZGVyIVxuICAgICAgLy8gbm93IGl0J3MgdXNlZCBhcyBhIG5ldyBub2RlLCBvdmVyd3JpdGluZyBpdHMgZWxtIHdvdWxkIGNhdXNlXG4gICAgICAvLyBwb3RlbnRpYWwgcGF0Y2ggZXJyb3JzIGRvd24gdGhlIHJvYWQgd2hlbiBpdCdzIHVzZWQgYXMgYW4gaW5zZXJ0aW9uXG4gICAgICAvLyByZWZlcmVuY2Ugbm9kZS4gSW5zdGVhZCwgd2UgY2xvbmUgdGhlIG5vZGUgb24tZGVtYW5kIGJlZm9yZSBjcmVhdGluZ1xuICAgICAgLy8gYXNzb2NpYXRlZCBET00gZWxlbWVudCBmb3IgaXQuXG4gICAgICB2bm9kZSA9IG93bmVyQXJyYXlbaW5kZXhdID0gY2xvbmVWTm9kZSh2bm9kZSk7XG4gICAgfVxuXG4gICAgdm5vZGUuaXNSb290SW5zZXJ0ID0gIW5lc3RlZDsgLy8gZm9yIHRyYW5zaXRpb24gZW50ZXIgY2hlY2tcbiAgICBpZiAoY3JlYXRlQ29tcG9uZW50KHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUsIHBhcmVudEVsbSwgcmVmRWxtKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdmFyIGRhdGEgPSB2bm9kZS5kYXRhO1xuICAgIHZhciBjaGlsZHJlbiA9IHZub2RlLmNoaWxkcmVuO1xuICAgIHZhciB0YWcgPSB2bm9kZS50YWc7XG4gICAgaWYgKGlzRGVmKHRhZykpIHtcbiAgICAgIGlmICh0cnVlKSB7XG4gICAgICAgIGlmIChkYXRhICYmIGRhdGEucHJlKSB7XG4gICAgICAgICAgY3JlYXRpbmdFbG1JblZQcmUrKztcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNVbmtub3duRWxlbWVudCQkMSh2bm9kZSwgY3JlYXRpbmdFbG1JblZQcmUpKSB7XG4gICAgICAgICAgd2FybihcbiAgICAgICAgICAgICdVbmtub3duIGN1c3RvbSBlbGVtZW50OiA8JyArIHRhZyArICc+IC0gZGlkIHlvdSAnICtcbiAgICAgICAgICAgICdyZWdpc3RlciB0aGUgY29tcG9uZW50IGNvcnJlY3RseT8gRm9yIHJlY3Vyc2l2ZSBjb21wb25lbnRzLCAnICtcbiAgICAgICAgICAgICdtYWtlIHN1cmUgdG8gcHJvdmlkZSB0aGUgXCJuYW1lXCIgb3B0aW9uLicsXG4gICAgICAgICAgICB2bm9kZS5jb250ZXh0XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB2bm9kZS5lbG0gPSB2bm9kZS5uc1xuICAgICAgICA/IG5vZGVPcHMuY3JlYXRlRWxlbWVudE5TKHZub2RlLm5zLCB0YWcpXG4gICAgICAgIDogbm9kZU9wcy5jcmVhdGVFbGVtZW50KHRhZywgdm5vZGUpO1xuICAgICAgc2V0U2NvcGUodm5vZGUpO1xuXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgIHtcbiAgICAgICAgY3JlYXRlQ2hpbGRyZW4odm5vZGUsIGNoaWxkcmVuLCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAgICBpZiAoaXNEZWYoZGF0YSkpIHtcbiAgICAgICAgICBpbnZva2VDcmVhdGVIb29rcyh2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtcbiAgICAgICAgfVxuICAgICAgICBpbnNlcnQocGFyZW50RWxtLCB2bm9kZS5lbG0sIHJlZkVsbSk7XG4gICAgICB9XG5cbiAgICAgIGlmICggdHJ1ZSAmJiBkYXRhICYmIGRhdGEucHJlKSB7XG4gICAgICAgIGNyZWF0aW5nRWxtSW5WUHJlLS07XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpc1RydWUodm5vZGUuaXNDb21tZW50KSkge1xuICAgICAgdm5vZGUuZWxtID0gbm9kZU9wcy5jcmVhdGVDb21tZW50KHZub2RlLnRleHQpO1xuICAgICAgaW5zZXJ0KHBhcmVudEVsbSwgdm5vZGUuZWxtLCByZWZFbG0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB2bm9kZS5lbG0gPSBub2RlT3BzLmNyZWF0ZVRleHROb2RlKHZub2RlLnRleHQpO1xuICAgICAgaW5zZXJ0KHBhcmVudEVsbSwgdm5vZGUuZWxtLCByZWZFbG0pO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZUNvbXBvbmVudCAodm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgcGFyZW50RWxtLCByZWZFbG0pIHtcbiAgICB2YXIgaSA9IHZub2RlLmRhdGE7XG4gICAgaWYgKGlzRGVmKGkpKSB7XG4gICAgICB2YXIgaXNSZWFjdGl2YXRlZCA9IGlzRGVmKHZub2RlLmNvbXBvbmVudEluc3RhbmNlKSAmJiBpLmtlZXBBbGl2ZTtcbiAgICAgIGlmIChpc0RlZihpID0gaS5ob29rKSAmJiBpc0RlZihpID0gaS5pbml0KSkge1xuICAgICAgICBpKHZub2RlLCBmYWxzZSAvKiBoeWRyYXRpbmcgKi8pO1xuICAgICAgfVxuICAgICAgLy8gYWZ0ZXIgY2FsbGluZyB0aGUgaW5pdCBob29rLCBpZiB0aGUgdm5vZGUgaXMgYSBjaGlsZCBjb21wb25lbnRcbiAgICAgIC8vIGl0IHNob3VsZCd2ZSBjcmVhdGVkIGEgY2hpbGQgaW5zdGFuY2UgYW5kIG1vdW50ZWQgaXQuIHRoZSBjaGlsZFxuICAgICAgLy8gY29tcG9uZW50IGFsc28gaGFzIHNldCB0aGUgcGxhY2Vob2xkZXIgdm5vZGUncyBlbG0uXG4gICAgICAvLyBpbiB0aGF0IGNhc2Ugd2UgY2FuIGp1c3QgcmV0dXJuIHRoZSBlbGVtZW50IGFuZCBiZSBkb25lLlxuICAgICAgaWYgKGlzRGVmKHZub2RlLmNvbXBvbmVudEluc3RhbmNlKSkge1xuICAgICAgICBpbml0Q29tcG9uZW50KHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAgICBpbnNlcnQocGFyZW50RWxtLCB2bm9kZS5lbG0sIHJlZkVsbSk7XG4gICAgICAgIGlmIChpc1RydWUoaXNSZWFjdGl2YXRlZCkpIHtcbiAgICAgICAgICByZWFjdGl2YXRlQ29tcG9uZW50KHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUsIHBhcmVudEVsbSwgcmVmRWxtKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGluaXRDb21wb25lbnQgKHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUpIHtcbiAgICBpZiAoaXNEZWYodm5vZGUuZGF0YS5wZW5kaW5nSW5zZXJ0KSkge1xuICAgICAgaW5zZXJ0ZWRWbm9kZVF1ZXVlLnB1c2guYXBwbHkoaW5zZXJ0ZWRWbm9kZVF1ZXVlLCB2bm9kZS5kYXRhLnBlbmRpbmdJbnNlcnQpO1xuICAgICAgdm5vZGUuZGF0YS5wZW5kaW5nSW5zZXJ0ID0gbnVsbDtcbiAgICB9XG4gICAgdm5vZGUuZWxtID0gdm5vZGUuY29tcG9uZW50SW5zdGFuY2UuJGVsO1xuICAgIGlmIChpc1BhdGNoYWJsZSh2bm9kZSkpIHtcbiAgICAgIGludm9rZUNyZWF0ZUhvb2tzKHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAgc2V0U2NvcGUodm5vZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBlbXB0eSBjb21wb25lbnQgcm9vdC5cbiAgICAgIC8vIHNraXAgYWxsIGVsZW1lbnQtcmVsYXRlZCBtb2R1bGVzIGV4Y2VwdCBmb3IgcmVmICgjMzQ1NSlcbiAgICAgIHJlZ2lzdGVyUmVmKHZub2RlKTtcbiAgICAgIC8vIG1ha2Ugc3VyZSB0byBpbnZva2UgdGhlIGluc2VydCBob29rXG4gICAgICBpbnNlcnRlZFZub2RlUXVldWUucHVzaCh2bm9kZSk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gcmVhY3RpdmF0ZUNvbXBvbmVudCAodm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgcGFyZW50RWxtLCByZWZFbG0pIHtcbiAgICB2YXIgaTtcbiAgICAvLyBoYWNrIGZvciAjNDMzOTogYSByZWFjdGl2YXRlZCBjb21wb25lbnQgd2l0aCBpbm5lciB0cmFuc2l0aW9uXG4gICAgLy8gZG9lcyBub3QgdHJpZ2dlciBiZWNhdXNlIHRoZSBpbm5lciBub2RlJ3MgY3JlYXRlZCBob29rcyBhcmUgbm90IGNhbGxlZFxuICAgIC8vIGFnYWluLiBJdCdzIG5vdCBpZGVhbCB0byBpbnZvbHZlIG1vZHVsZS1zcGVjaWZpYyBsb2dpYyBpbiBoZXJlIGJ1dFxuICAgIC8vIHRoZXJlIGRvZXNuJ3Qgc2VlbSB0byBiZSBhIGJldHRlciB3YXkgdG8gZG8gaXQuXG4gICAgdmFyIGlubmVyTm9kZSA9IHZub2RlO1xuICAgIHdoaWxlIChpbm5lck5vZGUuY29tcG9uZW50SW5zdGFuY2UpIHtcbiAgICAgIGlubmVyTm9kZSA9IGlubmVyTm9kZS5jb21wb25lbnRJbnN0YW5jZS5fdm5vZGU7XG4gICAgICBpZiAoaXNEZWYoaSA9IGlubmVyTm9kZS5kYXRhKSAmJiBpc0RlZihpID0gaS50cmFuc2l0aW9uKSkge1xuICAgICAgICBmb3IgKGkgPSAwOyBpIDwgY2JzLmFjdGl2YXRlLmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgY2JzLmFjdGl2YXRlW2ldKGVtcHR5Tm9kZSwgaW5uZXJOb2RlKTtcbiAgICAgICAgfVxuICAgICAgICBpbnNlcnRlZFZub2RlUXVldWUucHVzaChpbm5lck5vZGUpO1xuICAgICAgICBicmVha1xuICAgICAgfVxuICAgIH1cbiAgICAvLyB1bmxpa2UgYSBuZXdseSBjcmVhdGVkIGNvbXBvbmVudCxcbiAgICAvLyBhIHJlYWN0aXZhdGVkIGtlZXAtYWxpdmUgY29tcG9uZW50IGRvZXNuJ3QgaW5zZXJ0IGl0c2VsZlxuICAgIGluc2VydChwYXJlbnRFbG0sIHZub2RlLmVsbSwgcmVmRWxtKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGluc2VydCAocGFyZW50LCBlbG0sIHJlZiQkMSkge1xuICAgIGlmIChpc0RlZihwYXJlbnQpKSB7XG4gICAgICBpZiAoaXNEZWYocmVmJCQxKSkge1xuICAgICAgICBpZiAobm9kZU9wcy5wYXJlbnROb2RlKHJlZiQkMSkgPT09IHBhcmVudCkge1xuICAgICAgICAgIG5vZGVPcHMuaW5zZXJ0QmVmb3JlKHBhcmVudCwgZWxtLCByZWYkJDEpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBub2RlT3BzLmFwcGVuZENoaWxkKHBhcmVudCwgZWxtKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBjcmVhdGVDaGlsZHJlbiAodm5vZGUsIGNoaWxkcmVuLCBpbnNlcnRlZFZub2RlUXVldWUpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShjaGlsZHJlbikpIHtcbiAgICAgIGlmICh0cnVlKSB7XG4gICAgICAgIGNoZWNrRHVwbGljYXRlS2V5cyhjaGlsZHJlbik7XG4gICAgICB9XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgKytpKSB7XG4gICAgICAgIGNyZWF0ZUVsbShjaGlsZHJlbltpXSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCB2bm9kZS5lbG0sIG51bGwsIHRydWUsIGNoaWxkcmVuLCBpKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGlzUHJpbWl0aXZlKHZub2RlLnRleHQpKSB7XG4gICAgICBub2RlT3BzLmFwcGVuZENoaWxkKHZub2RlLmVsbSwgbm9kZU9wcy5jcmVhdGVUZXh0Tm9kZShTdHJpbmcodm5vZGUudGV4dCkpKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBpc1BhdGNoYWJsZSAodm5vZGUpIHtcbiAgICB3aGlsZSAodm5vZGUuY29tcG9uZW50SW5zdGFuY2UpIHtcbiAgICAgIHZub2RlID0gdm5vZGUuY29tcG9uZW50SW5zdGFuY2UuX3Zub2RlO1xuICAgIH1cbiAgICByZXR1cm4gaXNEZWYodm5vZGUudGFnKVxuICB9XG5cbiAgZnVuY3Rpb24gaW52b2tlQ3JlYXRlSG9va3MgKHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUpIHtcbiAgICBmb3IgKHZhciBpJDEgPSAwOyBpJDEgPCBjYnMuY3JlYXRlLmxlbmd0aDsgKytpJDEpIHtcbiAgICAgIGNicy5jcmVhdGVbaSQxXShlbXB0eU5vZGUsIHZub2RlKTtcbiAgICB9XG4gICAgaSA9IHZub2RlLmRhdGEuaG9vazsgLy8gUmV1c2UgdmFyaWFibGVcbiAgICBpZiAoaXNEZWYoaSkpIHtcbiAgICAgIGlmIChpc0RlZihpLmNyZWF0ZSkpIHsgaS5jcmVhdGUoZW1wdHlOb2RlLCB2bm9kZSk7IH1cbiAgICAgIGlmIChpc0RlZihpLmluc2VydCkpIHsgaW5zZXJ0ZWRWbm9kZVF1ZXVlLnB1c2godm5vZGUpOyB9XG4gICAgfVxuICB9XG5cbiAgLy8gc2V0IHNjb3BlIGlkIGF0dHJpYnV0ZSBmb3Igc2NvcGVkIENTUy5cbiAgLy8gdGhpcyBpcyBpbXBsZW1lbnRlZCBhcyBhIHNwZWNpYWwgY2FzZSB0byBhdm9pZCB0aGUgb3ZlcmhlYWRcbiAgLy8gb2YgZ29pbmcgdGhyb3VnaCB0aGUgbm9ybWFsIGF0dHJpYnV0ZSBwYXRjaGluZyBwcm9jZXNzLlxuICBmdW5jdGlvbiBzZXRTY29wZSAodm5vZGUpIHtcbiAgICB2YXIgaTtcbiAgICBpZiAoaXNEZWYoaSA9IHZub2RlLmZuU2NvcGVJZCkpIHtcbiAgICAgIG5vZGVPcHMuc2V0U3R5bGVTY29wZSh2bm9kZS5lbG0sIGkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgYW5jZXN0b3IgPSB2bm9kZTtcbiAgICAgIHdoaWxlIChhbmNlc3Rvcikge1xuICAgICAgICBpZiAoaXNEZWYoaSA9IGFuY2VzdG9yLmNvbnRleHQpICYmIGlzRGVmKGkgPSBpLiRvcHRpb25zLl9zY29wZUlkKSkge1xuICAgICAgICAgIG5vZGVPcHMuc2V0U3R5bGVTY29wZSh2bm9kZS5lbG0sIGkpO1xuICAgICAgICB9XG4gICAgICAgIGFuY2VzdG9yID0gYW5jZXN0b3IucGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBmb3Igc2xvdCBjb250ZW50IHRoZXkgc2hvdWxkIGFsc28gZ2V0IHRoZSBzY29wZUlkIGZyb20gdGhlIGhvc3QgaW5zdGFuY2UuXG4gICAgaWYgKGlzRGVmKGkgPSBhY3RpdmVJbnN0YW5jZSkgJiZcbiAgICAgIGkgIT09IHZub2RlLmNvbnRleHQgJiZcbiAgICAgIGkgIT09IHZub2RlLmZuQ29udGV4dCAmJlxuICAgICAgaXNEZWYoaSA9IGkuJG9wdGlvbnMuX3Njb3BlSWQpXG4gICAgKSB7XG4gICAgICBub2RlT3BzLnNldFN0eWxlU2NvcGUodm5vZGUuZWxtLCBpKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBhZGRWbm9kZXMgKHBhcmVudEVsbSwgcmVmRWxtLCB2bm9kZXMsIHN0YXJ0SWR4LCBlbmRJZHgsIGluc2VydGVkVm5vZGVRdWV1ZSkge1xuICAgIGZvciAoOyBzdGFydElkeCA8PSBlbmRJZHg7ICsrc3RhcnRJZHgpIHtcbiAgICAgIGNyZWF0ZUVsbSh2bm9kZXNbc3RhcnRJZHhdLCBpbnNlcnRlZFZub2RlUXVldWUsIHBhcmVudEVsbSwgcmVmRWxtLCBmYWxzZSwgdm5vZGVzLCBzdGFydElkeCk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gaW52b2tlRGVzdHJveUhvb2sgKHZub2RlKSB7XG4gICAgdmFyIGksIGo7XG4gICAgdmFyIGRhdGEgPSB2bm9kZS5kYXRhO1xuICAgIGlmIChpc0RlZihkYXRhKSkge1xuICAgICAgaWYgKGlzRGVmKGkgPSBkYXRhLmhvb2spICYmIGlzRGVmKGkgPSBpLmRlc3Ryb3kpKSB7IGkodm5vZGUpOyB9XG4gICAgICBmb3IgKGkgPSAwOyBpIDwgY2JzLmRlc3Ryb3kubGVuZ3RoOyArK2kpIHsgY2JzLmRlc3Ryb3lbaV0odm5vZGUpOyB9XG4gICAgfVxuICAgIGlmIChpc0RlZihpID0gdm5vZGUuY2hpbGRyZW4pKSB7XG4gICAgICBmb3IgKGogPSAwOyBqIDwgdm5vZGUuY2hpbGRyZW4ubGVuZ3RoOyArK2opIHtcbiAgICAgICAgaW52b2tlRGVzdHJveUhvb2sodm5vZGUuY2hpbGRyZW5bal0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHJlbW92ZVZub2RlcyAocGFyZW50RWxtLCB2bm9kZXMsIHN0YXJ0SWR4LCBlbmRJZHgpIHtcbiAgICBmb3IgKDsgc3RhcnRJZHggPD0gZW5kSWR4OyArK3N0YXJ0SWR4KSB7XG4gICAgICB2YXIgY2ggPSB2bm9kZXNbc3RhcnRJZHhdO1xuICAgICAgaWYgKGlzRGVmKGNoKSkge1xuICAgICAgICBpZiAoaXNEZWYoY2gudGFnKSkge1xuICAgICAgICAgIHJlbW92ZUFuZEludm9rZVJlbW92ZUhvb2soY2gpO1xuICAgICAgICAgIGludm9rZURlc3Ryb3lIb29rKGNoKTtcbiAgICAgICAgfSBlbHNlIHsgLy8gVGV4dCBub2RlXG4gICAgICAgICAgcmVtb3ZlTm9kZShjaC5lbG0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gcmVtb3ZlQW5kSW52b2tlUmVtb3ZlSG9vayAodm5vZGUsIHJtKSB7XG4gICAgaWYgKGlzRGVmKHJtKSB8fCBpc0RlZih2bm9kZS5kYXRhKSkge1xuICAgICAgdmFyIGk7XG4gICAgICB2YXIgbGlzdGVuZXJzID0gY2JzLnJlbW92ZS5sZW5ndGggKyAxO1xuICAgICAgaWYgKGlzRGVmKHJtKSkge1xuICAgICAgICAvLyB3ZSBoYXZlIGEgcmVjdXJzaXZlbHkgcGFzc2VkIGRvd24gcm0gY2FsbGJhY2tcbiAgICAgICAgLy8gaW5jcmVhc2UgdGhlIGxpc3RlbmVycyBjb3VudFxuICAgICAgICBybS5saXN0ZW5lcnMgKz0gbGlzdGVuZXJzO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gZGlyZWN0bHkgcmVtb3ZpbmdcbiAgICAgICAgcm0gPSBjcmVhdGVSbUNiKHZub2RlLmVsbSwgbGlzdGVuZXJzKTtcbiAgICAgIH1cbiAgICAgIC8vIHJlY3Vyc2l2ZWx5IGludm9rZSBob29rcyBvbiBjaGlsZCBjb21wb25lbnQgcm9vdCBub2RlXG4gICAgICBpZiAoaXNEZWYoaSA9IHZub2RlLmNvbXBvbmVudEluc3RhbmNlKSAmJiBpc0RlZihpID0gaS5fdm5vZGUpICYmIGlzRGVmKGkuZGF0YSkpIHtcbiAgICAgICAgcmVtb3ZlQW5kSW52b2tlUmVtb3ZlSG9vayhpLCBybSk7XG4gICAgICB9XG4gICAgICBmb3IgKGkgPSAwOyBpIDwgY2JzLnJlbW92ZS5sZW5ndGg7ICsraSkge1xuICAgICAgICBjYnMucmVtb3ZlW2ldKHZub2RlLCBybSk7XG4gICAgICB9XG4gICAgICBpZiAoaXNEZWYoaSA9IHZub2RlLmRhdGEuaG9vaykgJiYgaXNEZWYoaSA9IGkucmVtb3ZlKSkge1xuICAgICAgICBpKHZub2RlLCBybSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBybSgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZW1vdmVOb2RlKHZub2RlLmVsbSk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlQ2hpbGRyZW4gKHBhcmVudEVsbSwgb2xkQ2gsIG5ld0NoLCBpbnNlcnRlZFZub2RlUXVldWUsIHJlbW92ZU9ubHkpIHtcbiAgICB2YXIgb2xkU3RhcnRJZHggPSAwO1xuICAgIHZhciBuZXdTdGFydElkeCA9IDA7XG4gICAgdmFyIG9sZEVuZElkeCA9IG9sZENoLmxlbmd0aCAtIDE7XG4gICAgdmFyIG9sZFN0YXJ0Vm5vZGUgPSBvbGRDaFswXTtcbiAgICB2YXIgb2xkRW5kVm5vZGUgPSBvbGRDaFtvbGRFbmRJZHhdO1xuICAgIHZhciBuZXdFbmRJZHggPSBuZXdDaC5sZW5ndGggLSAxO1xuICAgIHZhciBuZXdTdGFydFZub2RlID0gbmV3Q2hbMF07XG4gICAgdmFyIG5ld0VuZFZub2RlID0gbmV3Q2hbbmV3RW5kSWR4XTtcbiAgICB2YXIgb2xkS2V5VG9JZHgsIGlkeEluT2xkLCB2bm9kZVRvTW92ZSwgcmVmRWxtO1xuXG4gICAgLy8gcmVtb3ZlT25seSBpcyBhIHNwZWNpYWwgZmxhZyB1c2VkIG9ubHkgYnkgPHRyYW5zaXRpb24tZ3JvdXA+XG4gICAgLy8gdG8gZW5zdXJlIHJlbW92ZWQgZWxlbWVudHMgc3RheSBpbiBjb3JyZWN0IHJlbGF0aXZlIHBvc2l0aW9uc1xuICAgIC8vIGR1cmluZyBsZWF2aW5nIHRyYW5zaXRpb25zXG4gICAgdmFyIGNhbk1vdmUgPSAhcmVtb3ZlT25seTtcblxuICAgIGlmICh0cnVlKSB7XG4gICAgICBjaGVja0R1cGxpY2F0ZUtleXMobmV3Q2gpO1xuICAgIH1cblxuICAgIHdoaWxlIChvbGRTdGFydElkeCA8PSBvbGRFbmRJZHggJiYgbmV3U3RhcnRJZHggPD0gbmV3RW5kSWR4KSB7XG4gICAgICBpZiAoaXNVbmRlZihvbGRTdGFydFZub2RlKSkge1xuICAgICAgICBvbGRTdGFydFZub2RlID0gb2xkQ2hbKytvbGRTdGFydElkeF07IC8vIFZub2RlIGhhcyBiZWVuIG1vdmVkIGxlZnRcbiAgICAgIH0gZWxzZSBpZiAoaXNVbmRlZihvbGRFbmRWbm9kZSkpIHtcbiAgICAgICAgb2xkRW5kVm5vZGUgPSBvbGRDaFstLW9sZEVuZElkeF07XG4gICAgICB9IGVsc2UgaWYgKHNhbWVWbm9kZShvbGRTdGFydFZub2RlLCBuZXdTdGFydFZub2RlKSkge1xuICAgICAgICBwYXRjaFZub2RlKG9sZFN0YXJ0Vm5vZGUsIG5ld1N0YXJ0Vm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgbmV3Q2gsIG5ld1N0YXJ0SWR4KTtcbiAgICAgICAgb2xkU3RhcnRWbm9kZSA9IG9sZENoWysrb2xkU3RhcnRJZHhdO1xuICAgICAgICBuZXdTdGFydFZub2RlID0gbmV3Q2hbKytuZXdTdGFydElkeF07XG4gICAgICB9IGVsc2UgaWYgKHNhbWVWbm9kZShvbGRFbmRWbm9kZSwgbmV3RW5kVm5vZGUpKSB7XG4gICAgICAgIHBhdGNoVm5vZGUob2xkRW5kVm5vZGUsIG5ld0VuZFZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUsIG5ld0NoLCBuZXdFbmRJZHgpO1xuICAgICAgICBvbGRFbmRWbm9kZSA9IG9sZENoWy0tb2xkRW5kSWR4XTtcbiAgICAgICAgbmV3RW5kVm5vZGUgPSBuZXdDaFstLW5ld0VuZElkeF07XG4gICAgICB9IGVsc2UgaWYgKHNhbWVWbm9kZShvbGRTdGFydFZub2RlLCBuZXdFbmRWbm9kZSkpIHsgLy8gVm5vZGUgbW92ZWQgcmlnaHRcbiAgICAgICAgcGF0Y2hWbm9kZShvbGRTdGFydFZub2RlLCBuZXdFbmRWbm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBuZXdDaCwgbmV3RW5kSWR4KTtcbiAgICAgICAgY2FuTW92ZSAmJiBub2RlT3BzLmluc2VydEJlZm9yZShwYXJlbnRFbG0sIG9sZFN0YXJ0Vm5vZGUuZWxtLCBub2RlT3BzLm5leHRTaWJsaW5nKG9sZEVuZFZub2RlLmVsbSkpO1xuICAgICAgICBvbGRTdGFydFZub2RlID0gb2xkQ2hbKytvbGRTdGFydElkeF07XG4gICAgICAgIG5ld0VuZFZub2RlID0gbmV3Q2hbLS1uZXdFbmRJZHhdO1xuICAgICAgfSBlbHNlIGlmIChzYW1lVm5vZGUob2xkRW5kVm5vZGUsIG5ld1N0YXJ0Vm5vZGUpKSB7IC8vIFZub2RlIG1vdmVkIGxlZnRcbiAgICAgICAgcGF0Y2hWbm9kZShvbGRFbmRWbm9kZSwgbmV3U3RhcnRWbm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBuZXdDaCwgbmV3U3RhcnRJZHgpO1xuICAgICAgICBjYW5Nb3ZlICYmIG5vZGVPcHMuaW5zZXJ0QmVmb3JlKHBhcmVudEVsbSwgb2xkRW5kVm5vZGUuZWxtLCBvbGRTdGFydFZub2RlLmVsbSk7XG4gICAgICAgIG9sZEVuZFZub2RlID0gb2xkQ2hbLS1vbGRFbmRJZHhdO1xuICAgICAgICBuZXdTdGFydFZub2RlID0gbmV3Q2hbKytuZXdTdGFydElkeF07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoaXNVbmRlZihvbGRLZXlUb0lkeCkpIHsgb2xkS2V5VG9JZHggPSBjcmVhdGVLZXlUb09sZElkeChvbGRDaCwgb2xkU3RhcnRJZHgsIG9sZEVuZElkeCk7IH1cbiAgICAgICAgaWR4SW5PbGQgPSBpc0RlZihuZXdTdGFydFZub2RlLmtleSlcbiAgICAgICAgICA/IG9sZEtleVRvSWR4W25ld1N0YXJ0Vm5vZGUua2V5XVxuICAgICAgICAgIDogZmluZElkeEluT2xkKG5ld1N0YXJ0Vm5vZGUsIG9sZENoLCBvbGRTdGFydElkeCwgb2xkRW5kSWR4KTtcbiAgICAgICAgaWYgKGlzVW5kZWYoaWR4SW5PbGQpKSB7IC8vIE5ldyBlbGVtZW50XG4gICAgICAgICAgY3JlYXRlRWxtKG5ld1N0YXJ0Vm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgcGFyZW50RWxtLCBvbGRTdGFydFZub2RlLmVsbSwgZmFsc2UsIG5ld0NoLCBuZXdTdGFydElkeCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdm5vZGVUb01vdmUgPSBvbGRDaFtpZHhJbk9sZF07XG4gICAgICAgICAgaWYgKHNhbWVWbm9kZSh2bm9kZVRvTW92ZSwgbmV3U3RhcnRWbm9kZSkpIHtcbiAgICAgICAgICAgIHBhdGNoVm5vZGUodm5vZGVUb01vdmUsIG5ld1N0YXJ0Vm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgbmV3Q2gsIG5ld1N0YXJ0SWR4KTtcbiAgICAgICAgICAgIG9sZENoW2lkeEluT2xkXSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNhbk1vdmUgJiYgbm9kZU9wcy5pbnNlcnRCZWZvcmUocGFyZW50RWxtLCB2bm9kZVRvTW92ZS5lbG0sIG9sZFN0YXJ0Vm5vZGUuZWxtKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gc2FtZSBrZXkgYnV0IGRpZmZlcmVudCBlbGVtZW50LiB0cmVhdCBhcyBuZXcgZWxlbWVudFxuICAgICAgICAgICAgY3JlYXRlRWxtKG5ld1N0YXJ0Vm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgcGFyZW50RWxtLCBvbGRTdGFydFZub2RlLmVsbSwgZmFsc2UsIG5ld0NoLCBuZXdTdGFydElkeCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIG5ld1N0YXJ0Vm5vZGUgPSBuZXdDaFsrK25ld1N0YXJ0SWR4XTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKG9sZFN0YXJ0SWR4ID4gb2xkRW5kSWR4KSB7XG4gICAgICByZWZFbG0gPSBpc1VuZGVmKG5ld0NoW25ld0VuZElkeCArIDFdKSA/IG51bGwgOiBuZXdDaFtuZXdFbmRJZHggKyAxXS5lbG07XG4gICAgICBhZGRWbm9kZXMocGFyZW50RWxtLCByZWZFbG0sIG5ld0NoLCBuZXdTdGFydElkeCwgbmV3RW5kSWR4LCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgIH0gZWxzZSBpZiAobmV3U3RhcnRJZHggPiBuZXdFbmRJZHgpIHtcbiAgICAgIHJlbW92ZVZub2RlcyhwYXJlbnRFbG0sIG9sZENoLCBvbGRTdGFydElkeCwgb2xkRW5kSWR4KTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBjaGVja0R1cGxpY2F0ZUtleXMgKGNoaWxkcmVuKSB7XG4gICAgdmFyIHNlZW5LZXlzID0ge307XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHZub2RlID0gY2hpbGRyZW5baV07XG4gICAgICB2YXIga2V5ID0gdm5vZGUua2V5O1xuICAgICAgaWYgKGlzRGVmKGtleSkpIHtcbiAgICAgICAgaWYgKHNlZW5LZXlzW2tleV0pIHtcbiAgICAgICAgICB3YXJuKFxuICAgICAgICAgICAgKFwiRHVwbGljYXRlIGtleXMgZGV0ZWN0ZWQ6ICdcIiArIGtleSArIFwiJy4gVGhpcyBtYXkgY2F1c2UgYW4gdXBkYXRlIGVycm9yLlwiKSxcbiAgICAgICAgICAgIHZub2RlLmNvbnRleHRcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNlZW5LZXlzW2tleV0gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gZmluZElkeEluT2xkIChub2RlLCBvbGRDaCwgc3RhcnQsIGVuZCkge1xuICAgIGZvciAodmFyIGkgPSBzdGFydDsgaSA8IGVuZDsgaSsrKSB7XG4gICAgICB2YXIgYyA9IG9sZENoW2ldO1xuICAgICAgaWYgKGlzRGVmKGMpICYmIHNhbWVWbm9kZShub2RlLCBjKSkgeyByZXR1cm4gaSB9XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gcGF0Y2hWbm9kZSAoXG4gICAgb2xkVm5vZGUsXG4gICAgdm5vZGUsXG4gICAgaW5zZXJ0ZWRWbm9kZVF1ZXVlLFxuICAgIG93bmVyQXJyYXksXG4gICAgaW5kZXgsXG4gICAgcmVtb3ZlT25seVxuICApIHtcbiAgICBpZiAob2xkVm5vZGUgPT09IHZub2RlKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoaXNEZWYodm5vZGUuZWxtKSAmJiBpc0RlZihvd25lckFycmF5KSkge1xuICAgICAgLy8gY2xvbmUgcmV1c2VkIHZub2RlXG4gICAgICB2bm9kZSA9IG93bmVyQXJyYXlbaW5kZXhdID0gY2xvbmVWTm9kZSh2bm9kZSk7XG4gICAgfVxuXG4gICAgdmFyIGVsbSA9IHZub2RlLmVsbSA9IG9sZFZub2RlLmVsbTtcblxuICAgIGlmIChpc1RydWUob2xkVm5vZGUuaXNBc3luY1BsYWNlaG9sZGVyKSkge1xuICAgICAgaWYgKGlzRGVmKHZub2RlLmFzeW5jRmFjdG9yeS5yZXNvbHZlZCkpIHtcbiAgICAgICAgaHlkcmF0ZShvbGRWbm9kZS5lbG0sIHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdm5vZGUuaXNBc3luY1BsYWNlaG9sZGVyID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIC8vIHJldXNlIGVsZW1lbnQgZm9yIHN0YXRpYyB0cmVlcy5cbiAgICAvLyBub3RlIHdlIG9ubHkgZG8gdGhpcyBpZiB0aGUgdm5vZGUgaXMgY2xvbmVkIC1cbiAgICAvLyBpZiB0aGUgbmV3IG5vZGUgaXMgbm90IGNsb25lZCBpdCBtZWFucyB0aGUgcmVuZGVyIGZ1bmN0aW9ucyBoYXZlIGJlZW5cbiAgICAvLyByZXNldCBieSB0aGUgaG90LXJlbG9hZC1hcGkgYW5kIHdlIG5lZWQgdG8gZG8gYSBwcm9wZXIgcmUtcmVuZGVyLlxuICAgIGlmIChpc1RydWUodm5vZGUuaXNTdGF0aWMpICYmXG4gICAgICBpc1RydWUob2xkVm5vZGUuaXNTdGF0aWMpICYmXG4gICAgICB2bm9kZS5rZXkgPT09IG9sZFZub2RlLmtleSAmJlxuICAgICAgKGlzVHJ1ZSh2bm9kZS5pc0Nsb25lZCkgfHwgaXNUcnVlKHZub2RlLmlzT25jZSkpXG4gICAgKSB7XG4gICAgICB2bm9kZS5jb21wb25lbnRJbnN0YW5jZSA9IG9sZFZub2RlLmNvbXBvbmVudEluc3RhbmNlO1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdmFyIGk7XG4gICAgdmFyIGRhdGEgPSB2bm9kZS5kYXRhO1xuICAgIGlmIChpc0RlZihkYXRhKSAmJiBpc0RlZihpID0gZGF0YS5ob29rKSAmJiBpc0RlZihpID0gaS5wcmVwYXRjaCkpIHtcbiAgICAgIGkob2xkVm5vZGUsIHZub2RlKTtcbiAgICB9XG5cbiAgICB2YXIgb2xkQ2ggPSBvbGRWbm9kZS5jaGlsZHJlbjtcbiAgICB2YXIgY2ggPSB2bm9kZS5jaGlsZHJlbjtcbiAgICBpZiAoaXNEZWYoZGF0YSkgJiYgaXNQYXRjaGFibGUodm5vZGUpKSB7XG4gICAgICBmb3IgKGkgPSAwOyBpIDwgY2JzLnVwZGF0ZS5sZW5ndGg7ICsraSkgeyBjYnMudXBkYXRlW2ldKG9sZFZub2RlLCB2bm9kZSk7IH1cbiAgICAgIGlmIChpc0RlZihpID0gZGF0YS5ob29rKSAmJiBpc0RlZihpID0gaS51cGRhdGUpKSB7IGkob2xkVm5vZGUsIHZub2RlKTsgfVxuICAgIH1cbiAgICBpZiAoaXNVbmRlZih2bm9kZS50ZXh0KSkge1xuICAgICAgaWYgKGlzRGVmKG9sZENoKSAmJiBpc0RlZihjaCkpIHtcbiAgICAgICAgaWYgKG9sZENoICE9PSBjaCkgeyB1cGRhdGVDaGlsZHJlbihlbG0sIG9sZENoLCBjaCwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCByZW1vdmVPbmx5KTsgfVxuICAgICAgfSBlbHNlIGlmIChpc0RlZihjaCkpIHtcbiAgICAgICAgaWYgKHRydWUpIHtcbiAgICAgICAgICBjaGVja0R1cGxpY2F0ZUtleXMoY2gpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc0RlZihvbGRWbm9kZS50ZXh0KSkgeyBub2RlT3BzLnNldFRleHRDb250ZW50KGVsbSwgJycpOyB9XG4gICAgICAgIGFkZFZub2RlcyhlbG0sIG51bGwsIGNoLCAwLCBjaC5sZW5ndGggLSAxLCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAgfSBlbHNlIGlmIChpc0RlZihvbGRDaCkpIHtcbiAgICAgICAgcmVtb3ZlVm5vZGVzKGVsbSwgb2xkQ2gsIDAsIG9sZENoLmxlbmd0aCAtIDEpO1xuICAgICAgfSBlbHNlIGlmIChpc0RlZihvbGRWbm9kZS50ZXh0KSkge1xuICAgICAgICBub2RlT3BzLnNldFRleHRDb250ZW50KGVsbSwgJycpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAob2xkVm5vZGUudGV4dCAhPT0gdm5vZGUudGV4dCkge1xuICAgICAgbm9kZU9wcy5zZXRUZXh0Q29udGVudChlbG0sIHZub2RlLnRleHQpO1xuICAgIH1cbiAgICBpZiAoaXNEZWYoZGF0YSkpIHtcbiAgICAgIGlmIChpc0RlZihpID0gZGF0YS5ob29rKSAmJiBpc0RlZihpID0gaS5wb3N0cGF0Y2gpKSB7IGkob2xkVm5vZGUsIHZub2RlKTsgfVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGludm9rZUluc2VydEhvb2sgKHZub2RlLCBxdWV1ZSwgaW5pdGlhbCkge1xuICAgIC8vIGRlbGF5IGluc2VydCBob29rcyBmb3IgY29tcG9uZW50IHJvb3Qgbm9kZXMsIGludm9rZSB0aGVtIGFmdGVyIHRoZVxuICAgIC8vIGVsZW1lbnQgaXMgcmVhbGx5IGluc2VydGVkXG4gICAgaWYgKGlzVHJ1ZShpbml0aWFsKSAmJiBpc0RlZih2bm9kZS5wYXJlbnQpKSB7XG4gICAgICB2bm9kZS5wYXJlbnQuZGF0YS5wZW5kaW5nSW5zZXJ0ID0gcXVldWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcXVldWUubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgcXVldWVbaV0uZGF0YS5ob29rLmluc2VydChxdWV1ZVtpXSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFyIGh5ZHJhdGlvbkJhaWxlZCA9IGZhbHNlO1xuICAvLyBsaXN0IG9mIG1vZHVsZXMgdGhhdCBjYW4gc2tpcCBjcmVhdGUgaG9vayBkdXJpbmcgaHlkcmF0aW9uIGJlY2F1c2UgdGhleVxuICAvLyBhcmUgYWxyZWFkeSByZW5kZXJlZCBvbiB0aGUgY2xpZW50IG9yIGhhcyBubyBuZWVkIGZvciBpbml0aWFsaXphdGlvblxuICAvLyBOb3RlOiBzdHlsZSBpcyBleGNsdWRlZCBiZWNhdXNlIGl0IHJlbGllcyBvbiBpbml0aWFsIGNsb25lIGZvciBmdXR1cmVcbiAgLy8gZGVlcCB1cGRhdGVzICgjNzA2MykuXG4gIHZhciBpc1JlbmRlcmVkTW9kdWxlID0gbWFrZU1hcCgnYXR0cnMsY2xhc3Msc3RhdGljQ2xhc3Msc3RhdGljU3R5bGUsa2V5Jyk7XG5cbiAgLy8gTm90ZTogdGhpcyBpcyBhIGJyb3dzZXItb25seSBmdW5jdGlvbiBzbyB3ZSBjYW4gYXNzdW1lIGVsbXMgYXJlIERPTSBub2Rlcy5cbiAgZnVuY3Rpb24gaHlkcmF0ZSAoZWxtLCB2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBpblZQcmUpIHtcbiAgICB2YXIgaTtcbiAgICB2YXIgdGFnID0gdm5vZGUudGFnO1xuICAgIHZhciBkYXRhID0gdm5vZGUuZGF0YTtcbiAgICB2YXIgY2hpbGRyZW4gPSB2bm9kZS5jaGlsZHJlbjtcbiAgICBpblZQcmUgPSBpblZQcmUgfHwgKGRhdGEgJiYgZGF0YS5wcmUpO1xuICAgIHZub2RlLmVsbSA9IGVsbTtcblxuICAgIGlmIChpc1RydWUodm5vZGUuaXNDb21tZW50KSAmJiBpc0RlZih2bm9kZS5hc3luY0ZhY3RvcnkpKSB7XG4gICAgICB2bm9kZS5pc0FzeW5jUGxhY2Vob2xkZXIgPSB0cnVlO1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgLy8gYXNzZXJ0IG5vZGUgbWF0Y2hcbiAgICBpZiAodHJ1ZSkge1xuICAgICAgaWYgKCFhc3NlcnROb2RlTWF0Y2goZWxtLCB2bm9kZSwgaW5WUHJlKSkge1xuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGlzRGVmKGRhdGEpKSB7XG4gICAgICBpZiAoaXNEZWYoaSA9IGRhdGEuaG9vaykgJiYgaXNEZWYoaSA9IGkuaW5pdCkpIHsgaSh2bm9kZSwgdHJ1ZSAvKiBoeWRyYXRpbmcgKi8pOyB9XG4gICAgICBpZiAoaXNEZWYoaSA9IHZub2RlLmNvbXBvbmVudEluc3RhbmNlKSkge1xuICAgICAgICAvLyBjaGlsZCBjb21wb25lbnQuIGl0IHNob3VsZCBoYXZlIGh5ZHJhdGVkIGl0cyBvd24gdHJlZS5cbiAgICAgICAgaW5pdENvbXBvbmVudCh2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGlzRGVmKHRhZykpIHtcbiAgICAgIGlmIChpc0RlZihjaGlsZHJlbikpIHtcbiAgICAgICAgLy8gZW1wdHkgZWxlbWVudCwgYWxsb3cgY2xpZW50IHRvIHBpY2sgdXAgYW5kIHBvcHVsYXRlIGNoaWxkcmVuXG4gICAgICAgIGlmICghZWxtLmhhc0NoaWxkTm9kZXMoKSkge1xuICAgICAgICAgIGNyZWF0ZUNoaWxkcmVuKHZub2RlLCBjaGlsZHJlbiwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyB2LWh0bWwgYW5kIGRvbVByb3BzOiBpbm5lckhUTUxcbiAgICAgICAgICBpZiAoaXNEZWYoaSA9IGRhdGEpICYmIGlzRGVmKGkgPSBpLmRvbVByb3BzKSAmJiBpc0RlZihpID0gaS5pbm5lckhUTUwpKSB7XG4gICAgICAgICAgICBpZiAoaSAhPT0gZWxtLmlubmVySFRNTCkge1xuICAgICAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgICAgICAgICAgaWYgKCB0cnVlICYmXG4gICAgICAgICAgICAgICAgdHlwZW9mIGNvbnNvbGUgIT09ICd1bmRlZmluZWQnICYmXG4gICAgICAgICAgICAgICAgIWh5ZHJhdGlvbkJhaWxlZFxuICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBoeWRyYXRpb25CYWlsZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybignUGFyZW50OiAnLCBlbG0pO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2Fybignc2VydmVyIGlubmVySFRNTDogJywgaSk7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdjbGllbnQgaW5uZXJIVE1MOiAnLCBlbG0uaW5uZXJIVE1MKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gaXRlcmF0ZSBhbmQgY29tcGFyZSBjaGlsZHJlbiBsaXN0c1xuICAgICAgICAgICAgdmFyIGNoaWxkcmVuTWF0Y2ggPSB0cnVlO1xuICAgICAgICAgICAgdmFyIGNoaWxkTm9kZSA9IGVsbS5maXJzdENoaWxkO1xuICAgICAgICAgICAgZm9yICh2YXIgaSQxID0gMDsgaSQxIDwgY2hpbGRyZW4ubGVuZ3RoOyBpJDErKykge1xuICAgICAgICAgICAgICBpZiAoIWNoaWxkTm9kZSB8fCAhaHlkcmF0ZShjaGlsZE5vZGUsIGNoaWxkcmVuW2kkMV0sIGluc2VydGVkVm5vZGVRdWV1ZSwgaW5WUHJlKSkge1xuICAgICAgICAgICAgICAgIGNoaWxkcmVuTWF0Y2ggPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNoaWxkTm9kZSA9IGNoaWxkTm9kZS5uZXh0U2libGluZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGlmIGNoaWxkTm9kZSBpcyBub3QgbnVsbCwgaXQgbWVhbnMgdGhlIGFjdHVhbCBjaGlsZE5vZGVzIGxpc3QgaXNcbiAgICAgICAgICAgIC8vIGxvbmdlciB0aGFuIHRoZSB2aXJ0dWFsIGNoaWxkcmVuIGxpc3QuXG4gICAgICAgICAgICBpZiAoIWNoaWxkcmVuTWF0Y2ggfHwgY2hpbGROb2RlKSB7XG4gICAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgICAgICAgICBpZiAoIHRydWUgJiZcbiAgICAgICAgICAgICAgICB0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgICAgICAgICAgICAhaHlkcmF0aW9uQmFpbGVkXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGh5ZHJhdGlvbkJhaWxlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdQYXJlbnQ6ICcsIGVsbSk7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdNaXNtYXRjaGluZyBjaGlsZE5vZGVzIHZzLiBWTm9kZXM6ICcsIGVsbS5jaGlsZE5vZGVzLCBjaGlsZHJlbik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoaXNEZWYoZGF0YSkpIHtcbiAgICAgICAgdmFyIGZ1bGxJbnZva2UgPSBmYWxzZTtcbiAgICAgICAgZm9yICh2YXIga2V5IGluIGRhdGEpIHtcbiAgICAgICAgICBpZiAoIWlzUmVuZGVyZWRNb2R1bGUoa2V5KSkge1xuICAgICAgICAgICAgZnVsbEludm9rZSA9IHRydWU7XG4gICAgICAgICAgICBpbnZva2VDcmVhdGVIb29rcyh2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICghZnVsbEludm9rZSAmJiBkYXRhWydjbGFzcyddKSB7XG4gICAgICAgICAgLy8gZW5zdXJlIGNvbGxlY3RpbmcgZGVwcyBmb3IgZGVlcCBjbGFzcyBiaW5kaW5ncyBmb3IgZnV0dXJlIHVwZGF0ZXNcbiAgICAgICAgICB0cmF2ZXJzZShkYXRhWydjbGFzcyddKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZWxtLmRhdGEgIT09IHZub2RlLnRleHQpIHtcbiAgICAgIGVsbS5kYXRhID0gdm5vZGUudGV4dDtcbiAgICB9XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIGZ1bmN0aW9uIGFzc2VydE5vZGVNYXRjaCAobm9kZSwgdm5vZGUsIGluVlByZSkge1xuICAgIGlmIChpc0RlZih2bm9kZS50YWcpKSB7XG4gICAgICByZXR1cm4gdm5vZGUudGFnLmluZGV4T2YoJ3Z1ZS1jb21wb25lbnQnKSA9PT0gMCB8fCAoXG4gICAgICAgICFpc1Vua25vd25FbGVtZW50JCQxKHZub2RlLCBpblZQcmUpICYmXG4gICAgICAgIHZub2RlLnRhZy50b0xvd2VyQ2FzZSgpID09PSAobm9kZS50YWdOYW1lICYmIG5vZGUudGFnTmFtZS50b0xvd2VyQ2FzZSgpKVxuICAgICAgKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbm9kZS5ub2RlVHlwZSA9PT0gKHZub2RlLmlzQ29tbWVudCA/IDggOiAzKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmdW5jdGlvbiBwYXRjaCAob2xkVm5vZGUsIHZub2RlLCBoeWRyYXRpbmcsIHJlbW92ZU9ubHkpIHtcbiAgICBpZiAoaXNVbmRlZih2bm9kZSkpIHtcbiAgICAgIGlmIChpc0RlZihvbGRWbm9kZSkpIHsgaW52b2tlRGVzdHJveUhvb2sob2xkVm5vZGUpOyB9XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB2YXIgaXNJbml0aWFsUGF0Y2ggPSBmYWxzZTtcbiAgICB2YXIgaW5zZXJ0ZWRWbm9kZVF1ZXVlID0gW107XG5cbiAgICBpZiAoaXNVbmRlZihvbGRWbm9kZSkpIHtcbiAgICAgIC8vIGVtcHR5IG1vdW50IChsaWtlbHkgYXMgY29tcG9uZW50KSwgY3JlYXRlIG5ldyByb290IGVsZW1lbnRcbiAgICAgIGlzSW5pdGlhbFBhdGNoID0gdHJ1ZTtcbiAgICAgIGNyZWF0ZUVsbSh2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIGlzUmVhbEVsZW1lbnQgPSBpc0RlZihvbGRWbm9kZS5ub2RlVHlwZSk7XG4gICAgICBpZiAoIWlzUmVhbEVsZW1lbnQgJiYgc2FtZVZub2RlKG9sZFZub2RlLCB2bm9kZSkpIHtcbiAgICAgICAgLy8gcGF0Y2ggZXhpc3Rpbmcgcm9vdCBub2RlXG4gICAgICAgIHBhdGNoVm5vZGUob2xkVm5vZGUsIHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUsIG51bGwsIG51bGwsIHJlbW92ZU9ubHkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGlzUmVhbEVsZW1lbnQpIHtcbiAgICAgICAgICAvLyBtb3VudGluZyB0byBhIHJlYWwgZWxlbWVudFxuICAgICAgICAgIC8vIGNoZWNrIGlmIHRoaXMgaXMgc2VydmVyLXJlbmRlcmVkIGNvbnRlbnQgYW5kIGlmIHdlIGNhbiBwZXJmb3JtXG4gICAgICAgICAgLy8gYSBzdWNjZXNzZnVsIGh5ZHJhdGlvbi5cbiAgICAgICAgICBpZiAob2xkVm5vZGUubm9kZVR5cGUgPT09IDEgJiYgb2xkVm5vZGUuaGFzQXR0cmlidXRlKFNTUl9BVFRSKSkge1xuICAgICAgICAgICAgb2xkVm5vZGUucmVtb3ZlQXR0cmlidXRlKFNTUl9BVFRSKTtcbiAgICAgICAgICAgIGh5ZHJhdGluZyA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpc1RydWUoaHlkcmF0aW5nKSkge1xuICAgICAgICAgICAgaWYgKGh5ZHJhdGUob2xkVm5vZGUsIHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUpKSB7XG4gICAgICAgICAgICAgIGludm9rZUluc2VydEhvb2sodm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgdHJ1ZSk7XG4gICAgICAgICAgICAgIHJldHVybiBvbGRWbm9kZVxuICAgICAgICAgICAgfSBlbHNlIGlmICh0cnVlKSB7XG4gICAgICAgICAgICAgIHdhcm4oXG4gICAgICAgICAgICAgICAgJ1RoZSBjbGllbnQtc2lkZSByZW5kZXJlZCB2aXJ0dWFsIERPTSB0cmVlIGlzIG5vdCBtYXRjaGluZyAnICtcbiAgICAgICAgICAgICAgICAnc2VydmVyLXJlbmRlcmVkIGNvbnRlbnQuIFRoaXMgaXMgbGlrZWx5IGNhdXNlZCBieSBpbmNvcnJlY3QgJyArXG4gICAgICAgICAgICAgICAgJ0hUTUwgbWFya3VwLCBmb3IgZXhhbXBsZSBuZXN0aW5nIGJsb2NrLWxldmVsIGVsZW1lbnRzIGluc2lkZSAnICtcbiAgICAgICAgICAgICAgICAnPHA+LCBvciBtaXNzaW5nIDx0Ym9keT4uIEJhaWxpbmcgaHlkcmF0aW9uIGFuZCBwZXJmb3JtaW5nICcgK1xuICAgICAgICAgICAgICAgICdmdWxsIGNsaWVudC1zaWRlIHJlbmRlci4nXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIGVpdGhlciBub3Qgc2VydmVyLXJlbmRlcmVkLCBvciBoeWRyYXRpb24gZmFpbGVkLlxuICAgICAgICAgIC8vIGNyZWF0ZSBhbiBlbXB0eSBub2RlIGFuZCByZXBsYWNlIGl0XG4gICAgICAgICAgb2xkVm5vZGUgPSBlbXB0eU5vZGVBdChvbGRWbm9kZSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyByZXBsYWNpbmcgZXhpc3RpbmcgZWxlbWVudFxuICAgICAgICB2YXIgb2xkRWxtID0gb2xkVm5vZGUuZWxtO1xuICAgICAgICB2YXIgcGFyZW50RWxtID0gbm9kZU9wcy5wYXJlbnROb2RlKG9sZEVsbSk7XG5cbiAgICAgICAgLy8gY3JlYXRlIG5ldyBub2RlXG4gICAgICAgIGNyZWF0ZUVsbShcbiAgICAgICAgICB2bm9kZSxcbiAgICAgICAgICBpbnNlcnRlZFZub2RlUXVldWUsXG4gICAgICAgICAgLy8gZXh0cmVtZWx5IHJhcmUgZWRnZSBjYXNlOiBkbyBub3QgaW5zZXJ0IGlmIG9sZCBlbGVtZW50IGlzIGluIGFcbiAgICAgICAgICAvLyBsZWF2aW5nIHRyYW5zaXRpb24uIE9ubHkgaGFwcGVucyB3aGVuIGNvbWJpbmluZyB0cmFuc2l0aW9uICtcbiAgICAgICAgICAvLyBrZWVwLWFsaXZlICsgSE9Dcy4gKCM0NTkwKVxuICAgICAgICAgIG9sZEVsbS5fbGVhdmVDYiA/IG51bGwgOiBwYXJlbnRFbG0sXG4gICAgICAgICAgbm9kZU9wcy5uZXh0U2libGluZyhvbGRFbG0pXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gdXBkYXRlIHBhcmVudCBwbGFjZWhvbGRlciBub2RlIGVsZW1lbnQsIHJlY3Vyc2l2ZWx5XG4gICAgICAgIGlmIChpc0RlZih2bm9kZS5wYXJlbnQpKSB7XG4gICAgICAgICAgdmFyIGFuY2VzdG9yID0gdm5vZGUucGFyZW50O1xuICAgICAgICAgIHZhciBwYXRjaGFibGUgPSBpc1BhdGNoYWJsZSh2bm9kZSk7XG4gICAgICAgICAgd2hpbGUgKGFuY2VzdG9yKSB7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNicy5kZXN0cm95Lmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgICAgIGNicy5kZXN0cm95W2ldKGFuY2VzdG9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFuY2VzdG9yLmVsbSA9IHZub2RlLmVsbTtcbiAgICAgICAgICAgIGlmIChwYXRjaGFibGUpIHtcbiAgICAgICAgICAgICAgZm9yICh2YXIgaSQxID0gMDsgaSQxIDwgY2JzLmNyZWF0ZS5sZW5ndGg7ICsraSQxKSB7XG4gICAgICAgICAgICAgICAgY2JzLmNyZWF0ZVtpJDFdKGVtcHR5Tm9kZSwgYW5jZXN0b3IpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8vICM2NTEzXG4gICAgICAgICAgICAgIC8vIGludm9rZSBpbnNlcnQgaG9va3MgdGhhdCBtYXkgaGF2ZSBiZWVuIG1lcmdlZCBieSBjcmVhdGUgaG9va3MuXG4gICAgICAgICAgICAgIC8vIGUuZy4gZm9yIGRpcmVjdGl2ZXMgdGhhdCB1c2VzIHRoZSBcImluc2VydGVkXCIgaG9vay5cbiAgICAgICAgICAgICAgdmFyIGluc2VydCA9IGFuY2VzdG9yLmRhdGEuaG9vay5pbnNlcnQ7XG4gICAgICAgICAgICAgIGlmIChpbnNlcnQubWVyZ2VkKSB7XG4gICAgICAgICAgICAgICAgLy8gc3RhcnQgYXQgaW5kZXggMSB0byBhdm9pZCByZS1pbnZva2luZyBjb21wb25lbnQgbW91bnRlZCBob29rXG4gICAgICAgICAgICAgICAgZm9yICh2YXIgaSQyID0gMTsgaSQyIDwgaW5zZXJ0LmZucy5sZW5ndGg7IGkkMisrKSB7XG4gICAgICAgICAgICAgICAgICBpbnNlcnQuZm5zW2kkMl0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJlZ2lzdGVyUmVmKGFuY2VzdG9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFuY2VzdG9yID0gYW5jZXN0b3IucGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGRlc3Ryb3kgb2xkIG5vZGVcbiAgICAgICAgaWYgKGlzRGVmKHBhcmVudEVsbSkpIHtcbiAgICAgICAgICByZW1vdmVWbm9kZXMocGFyZW50RWxtLCBbb2xkVm5vZGVdLCAwLCAwKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc0RlZihvbGRWbm9kZS50YWcpKSB7XG4gICAgICAgICAgaW52b2tlRGVzdHJveUhvb2sob2xkVm5vZGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW52b2tlSW5zZXJ0SG9vayh2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBpc0luaXRpYWxQYXRjaCk7XG4gICAgcmV0dXJuIHZub2RlLmVsbVxuICB9XG59XG5cbi8qICAqL1xuXG52YXIgZGlyZWN0aXZlcyA9IHtcbiAgY3JlYXRlOiB1cGRhdGVEaXJlY3RpdmVzLFxuICB1cGRhdGU6IHVwZGF0ZURpcmVjdGl2ZXMsXG4gIGRlc3Ryb3k6IGZ1bmN0aW9uIHVuYmluZERpcmVjdGl2ZXMgKHZub2RlKSB7XG4gICAgdXBkYXRlRGlyZWN0aXZlcyh2bm9kZSwgZW1wdHlOb2RlKTtcbiAgfVxufTtcblxuZnVuY3Rpb24gdXBkYXRlRGlyZWN0aXZlcyAob2xkVm5vZGUsIHZub2RlKSB7XG4gIGlmIChvbGRWbm9kZS5kYXRhLmRpcmVjdGl2ZXMgfHwgdm5vZGUuZGF0YS5kaXJlY3RpdmVzKSB7XG4gICAgX3VwZGF0ZShvbGRWbm9kZSwgdm5vZGUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIF91cGRhdGUgKG9sZFZub2RlLCB2bm9kZSkge1xuICB2YXIgaXNDcmVhdGUgPSBvbGRWbm9kZSA9PT0gZW1wdHlOb2RlO1xuICB2YXIgaXNEZXN0cm95ID0gdm5vZGUgPT09IGVtcHR5Tm9kZTtcbiAgdmFyIG9sZERpcnMgPSBub3JtYWxpemVEaXJlY3RpdmVzJDEob2xkVm5vZGUuZGF0YS5kaXJlY3RpdmVzLCBvbGRWbm9kZS5jb250ZXh0KTtcbiAgdmFyIG5ld0RpcnMgPSBub3JtYWxpemVEaXJlY3RpdmVzJDEodm5vZGUuZGF0YS5kaXJlY3RpdmVzLCB2bm9kZS5jb250ZXh0KTtcblxuICB2YXIgZGlyc1dpdGhJbnNlcnQgPSBbXTtcbiAgdmFyIGRpcnNXaXRoUG9zdHBhdGNoID0gW107XG5cbiAgdmFyIGtleSwgb2xkRGlyLCBkaXI7XG4gIGZvciAoa2V5IGluIG5ld0RpcnMpIHtcbiAgICBvbGREaXIgPSBvbGREaXJzW2tleV07XG4gICAgZGlyID0gbmV3RGlyc1trZXldO1xuICAgIGlmICghb2xkRGlyKSB7XG4gICAgICAvLyBuZXcgZGlyZWN0aXZlLCBiaW5kXG4gICAgICBjYWxsSG9vayQxKGRpciwgJ2JpbmQnLCB2bm9kZSwgb2xkVm5vZGUpO1xuICAgICAgaWYgKGRpci5kZWYgJiYgZGlyLmRlZi5pbnNlcnRlZCkge1xuICAgICAgICBkaXJzV2l0aEluc2VydC5wdXNoKGRpcik7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGV4aXN0aW5nIGRpcmVjdGl2ZSwgdXBkYXRlXG4gICAgICBkaXIub2xkVmFsdWUgPSBvbGREaXIudmFsdWU7XG4gICAgICBjYWxsSG9vayQxKGRpciwgJ3VwZGF0ZScsIHZub2RlLCBvbGRWbm9kZSk7XG4gICAgICBpZiAoZGlyLmRlZiAmJiBkaXIuZGVmLmNvbXBvbmVudFVwZGF0ZWQpIHtcbiAgICAgICAgZGlyc1dpdGhQb3N0cGF0Y2gucHVzaChkaXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChkaXJzV2l0aEluc2VydC5sZW5ndGgpIHtcbiAgICB2YXIgY2FsbEluc2VydCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGlyc1dpdGhJbnNlcnQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY2FsbEhvb2skMShkaXJzV2l0aEluc2VydFtpXSwgJ2luc2VydGVkJywgdm5vZGUsIG9sZFZub2RlKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIGlmIChpc0NyZWF0ZSkge1xuICAgICAgbWVyZ2VWTm9kZUhvb2sodm5vZGUsICdpbnNlcnQnLCBjYWxsSW5zZXJ0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2FsbEluc2VydCgpO1xuICAgIH1cbiAgfVxuXG4gIGlmIChkaXJzV2l0aFBvc3RwYXRjaC5sZW5ndGgpIHtcbiAgICBtZXJnZVZOb2RlSG9vayh2bm9kZSwgJ3Bvc3RwYXRjaCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGlyc1dpdGhQb3N0cGF0Y2gubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY2FsbEhvb2skMShkaXJzV2l0aFBvc3RwYXRjaFtpXSwgJ2NvbXBvbmVudFVwZGF0ZWQnLCB2bm9kZSwgb2xkVm5vZGUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgaWYgKCFpc0NyZWF0ZSkge1xuICAgIGZvciAoa2V5IGluIG9sZERpcnMpIHtcbiAgICAgIGlmICghbmV3RGlyc1trZXldKSB7XG4gICAgICAgIC8vIG5vIGxvbmdlciBwcmVzZW50LCB1bmJpbmRcbiAgICAgICAgY2FsbEhvb2skMShvbGREaXJzW2tleV0sICd1bmJpbmQnLCBvbGRWbm9kZSwgb2xkVm5vZGUsIGlzRGVzdHJveSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbnZhciBlbXB0eU1vZGlmaWVycyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZURpcmVjdGl2ZXMkMSAoXG4gIGRpcnMsXG4gIHZtXG4pIHtcbiAgdmFyIHJlcyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gIGlmICghZGlycykge1xuICAgIC8vICRmbG93LWRpc2FibGUtbGluZVxuICAgIHJldHVybiByZXNcbiAgfVxuICB2YXIgaSwgZGlyO1xuICBmb3IgKGkgPSAwOyBpIDwgZGlycy5sZW5ndGg7IGkrKykge1xuICAgIGRpciA9IGRpcnNbaV07XG4gICAgaWYgKCFkaXIubW9kaWZpZXJzKSB7XG4gICAgICAvLyAkZmxvdy1kaXNhYmxlLWxpbmVcbiAgICAgIGRpci5tb2RpZmllcnMgPSBlbXB0eU1vZGlmaWVycztcbiAgICB9XG4gICAgcmVzW2dldFJhd0Rpck5hbWUoZGlyKV0gPSBkaXI7XG4gICAgZGlyLmRlZiA9IHJlc29sdmVBc3NldCh2bS4kb3B0aW9ucywgJ2RpcmVjdGl2ZXMnLCBkaXIubmFtZSwgdHJ1ZSk7XG4gIH1cbiAgLy8gJGZsb3ctZGlzYWJsZS1saW5lXG4gIHJldHVybiByZXNcbn1cblxuZnVuY3Rpb24gZ2V0UmF3RGlyTmFtZSAoZGlyKSB7XG4gIHJldHVybiBkaXIucmF3TmFtZSB8fCAoKGRpci5uYW1lKSArIFwiLlwiICsgKE9iamVjdC5rZXlzKGRpci5tb2RpZmllcnMgfHwge30pLmpvaW4oJy4nKSkpXG59XG5cbmZ1bmN0aW9uIGNhbGxIb29rJDEgKGRpciwgaG9vaywgdm5vZGUsIG9sZFZub2RlLCBpc0Rlc3Ryb3kpIHtcbiAgdmFyIGZuID0gZGlyLmRlZiAmJiBkaXIuZGVmW2hvb2tdO1xuICBpZiAoZm4pIHtcbiAgICB0cnkge1xuICAgICAgZm4odm5vZGUuZWxtLCBkaXIsIHZub2RlLCBvbGRWbm9kZSwgaXNEZXN0cm95KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBoYW5kbGVFcnJvcihlLCB2bm9kZS5jb250ZXh0LCAoXCJkaXJlY3RpdmUgXCIgKyAoZGlyLm5hbWUpICsgXCIgXCIgKyBob29rICsgXCIgaG9va1wiKSk7XG4gICAgfVxuICB9XG59XG5cbnZhciBiYXNlTW9kdWxlcyA9IFtcbiAgcmVmLFxuICBkaXJlY3RpdmVzXG5dO1xuXG4vKiAgKi9cblxuZnVuY3Rpb24gdXBkYXRlQXR0cnMgKG9sZFZub2RlLCB2bm9kZSkge1xuICB2YXIgb3B0cyA9IHZub2RlLmNvbXBvbmVudE9wdGlvbnM7XG4gIGlmIChpc0RlZihvcHRzKSAmJiBvcHRzLkN0b3Iub3B0aW9ucy5pbmhlcml0QXR0cnMgPT09IGZhbHNlKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgaWYgKGlzVW5kZWYob2xkVm5vZGUuZGF0YS5hdHRycykgJiYgaXNVbmRlZih2bm9kZS5kYXRhLmF0dHJzKSkge1xuICAgIHJldHVyblxuICB9XG4gIHZhciBrZXksIGN1ciwgb2xkO1xuICB2YXIgZWxtID0gdm5vZGUuZWxtO1xuICB2YXIgb2xkQXR0cnMgPSBvbGRWbm9kZS5kYXRhLmF0dHJzIHx8IHt9O1xuICB2YXIgYXR0cnMgPSB2bm9kZS5kYXRhLmF0dHJzIHx8IHt9O1xuICAvLyBjbG9uZSBvYnNlcnZlZCBvYmplY3RzLCBhcyB0aGUgdXNlciBwcm9iYWJseSB3YW50cyB0byBtdXRhdGUgaXRcbiAgaWYgKGlzRGVmKGF0dHJzLl9fb2JfXykpIHtcbiAgICBhdHRycyA9IHZub2RlLmRhdGEuYXR0cnMgPSBleHRlbmQoe30sIGF0dHJzKTtcbiAgfVxuXG4gIGZvciAoa2V5IGluIGF0dHJzKSB7XG4gICAgY3VyID0gYXR0cnNba2V5XTtcbiAgICBvbGQgPSBvbGRBdHRyc1trZXldO1xuICAgIGlmIChvbGQgIT09IGN1cikge1xuICAgICAgc2V0QXR0cihlbG0sIGtleSwgY3VyKTtcbiAgICB9XG4gIH1cbiAgLy8gIzQzOTE6IGluIElFOSwgc2V0dGluZyB0eXBlIGNhbiByZXNldCB2YWx1ZSBmb3IgaW5wdXRbdHlwZT1yYWRpb11cbiAgLy8gIzY2NjY6IElFL0VkZ2UgZm9yY2VzIHByb2dyZXNzIHZhbHVlIGRvd24gdG8gMSBiZWZvcmUgc2V0dGluZyBhIG1heFxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKChpc0lFIHx8IGlzRWRnZSkgJiYgYXR0cnMudmFsdWUgIT09IG9sZEF0dHJzLnZhbHVlKSB7XG4gICAgc2V0QXR0cihlbG0sICd2YWx1ZScsIGF0dHJzLnZhbHVlKTtcbiAgfVxuICBmb3IgKGtleSBpbiBvbGRBdHRycykge1xuICAgIGlmIChpc1VuZGVmKGF0dHJzW2tleV0pKSB7XG4gICAgICBpZiAoaXNYbGluayhrZXkpKSB7XG4gICAgICAgIGVsbS5yZW1vdmVBdHRyaWJ1dGVOUyh4bGlua05TLCBnZXRYbGlua1Byb3Aoa2V5KSk7XG4gICAgICB9IGVsc2UgaWYgKCFpc0VudW1lcmF0ZWRBdHRyKGtleSkpIHtcbiAgICAgICAgZWxtLnJlbW92ZUF0dHJpYnV0ZShrZXkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBzZXRBdHRyIChlbCwga2V5LCB2YWx1ZSkge1xuICBpZiAoZWwudGFnTmFtZS5pbmRleE9mKCctJykgPiAtMSkge1xuICAgIGJhc2VTZXRBdHRyKGVsLCBrZXksIHZhbHVlKTtcbiAgfSBlbHNlIGlmIChpc0Jvb2xlYW5BdHRyKGtleSkpIHtcbiAgICAvLyBzZXQgYXR0cmlidXRlIGZvciBibGFuayB2YWx1ZVxuICAgIC8vIGUuZy4gPG9wdGlvbiBkaXNhYmxlZD5TZWxlY3Qgb25lPC9vcHRpb24+XG4gICAgaWYgKGlzRmFsc3lBdHRyVmFsdWUodmFsdWUpKSB7XG4gICAgICBlbC5yZW1vdmVBdHRyaWJ1dGUoa2V5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gdGVjaG5pY2FsbHkgYWxsb3dmdWxsc2NyZWVuIGlzIGEgYm9vbGVhbiBhdHRyaWJ1dGUgZm9yIDxpZnJhbWU+LFxuICAgICAgLy8gYnV0IEZsYXNoIGV4cGVjdHMgYSB2YWx1ZSBvZiBcInRydWVcIiB3aGVuIHVzZWQgb24gPGVtYmVkPiB0YWdcbiAgICAgIHZhbHVlID0ga2V5ID09PSAnYWxsb3dmdWxsc2NyZWVuJyAmJiBlbC50YWdOYW1lID09PSAnRU1CRUQnXG4gICAgICAgID8gJ3RydWUnXG4gICAgICAgIDoga2V5O1xuICAgICAgZWwuc2V0QXR0cmlidXRlKGtleSwgdmFsdWUpO1xuICAgIH1cbiAgfSBlbHNlIGlmIChpc0VudW1lcmF0ZWRBdHRyKGtleSkpIHtcbiAgICBlbC5zZXRBdHRyaWJ1dGUoa2V5LCBpc0ZhbHN5QXR0clZhbHVlKHZhbHVlKSB8fCB2YWx1ZSA9PT0gJ2ZhbHNlJyA/ICdmYWxzZScgOiAndHJ1ZScpO1xuICB9IGVsc2UgaWYgKGlzWGxpbmsoa2V5KSkge1xuICAgIGlmIChpc0ZhbHN5QXR0clZhbHVlKHZhbHVlKSkge1xuICAgICAgZWwucmVtb3ZlQXR0cmlidXRlTlMoeGxpbmtOUywgZ2V0WGxpbmtQcm9wKGtleSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbC5zZXRBdHRyaWJ1dGVOUyh4bGlua05TLCBrZXksIHZhbHVlKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgYmFzZVNldEF0dHIoZWwsIGtleSwgdmFsdWUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGJhc2VTZXRBdHRyIChlbCwga2V5LCB2YWx1ZSkge1xuICBpZiAoaXNGYWxzeUF0dHJWYWx1ZSh2YWx1ZSkpIHtcbiAgICBlbC5yZW1vdmVBdHRyaWJ1dGUoa2V5KTtcbiAgfSBlbHNlIHtcbiAgICAvLyAjNzEzODogSUUxMCAmIDExIGZpcmVzIGlucHV0IGV2ZW50IHdoZW4gc2V0dGluZyBwbGFjZWhvbGRlciBvblxuICAgIC8vIDx0ZXh0YXJlYT4uLi4gYmxvY2sgdGhlIGZpcnN0IGlucHV0IGV2ZW50IGFuZCByZW1vdmUgdGhlIGJsb2NrZXJcbiAgICAvLyBpbW1lZGlhdGVseS5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoXG4gICAgICBpc0lFICYmICFpc0lFOSAmJlxuICAgICAgKGVsLnRhZ05hbWUgPT09ICdURVhUQVJFQScgfHwgZWwudGFnTmFtZSA9PT0gJ0lOUFVUJykgJiZcbiAgICAgIGtleSA9PT0gJ3BsYWNlaG9sZGVyJyAmJiAhZWwuX19pZXBoXG4gICAgKSB7XG4gICAgICB2YXIgYmxvY2tlciA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2lucHV0JywgYmxvY2tlcik7XG4gICAgICB9O1xuICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLCBibG9ja2VyKTtcbiAgICAgIC8vICRmbG93LWRpc2FibGUtbGluZVxuICAgICAgZWwuX19pZXBoID0gdHJ1ZTsgLyogSUUgcGxhY2Vob2xkZXIgcGF0Y2hlZCAqL1xuICAgIH1cbiAgICBlbC5zZXRBdHRyaWJ1dGUoa2V5LCB2YWx1ZSk7XG4gIH1cbn1cblxudmFyIGF0dHJzID0ge1xuICBjcmVhdGU6IHVwZGF0ZUF0dHJzLFxuICB1cGRhdGU6IHVwZGF0ZUF0dHJzXG59O1xuXG4vKiAgKi9cblxuZnVuY3Rpb24gdXBkYXRlQ2xhc3MgKG9sZFZub2RlLCB2bm9kZSkge1xuICB2YXIgZWwgPSB2bm9kZS5lbG07XG4gIHZhciBkYXRhID0gdm5vZGUuZGF0YTtcbiAgdmFyIG9sZERhdGEgPSBvbGRWbm9kZS5kYXRhO1xuICBpZiAoXG4gICAgaXNVbmRlZihkYXRhLnN0YXRpY0NsYXNzKSAmJlxuICAgIGlzVW5kZWYoZGF0YS5jbGFzcykgJiYgKFxuICAgICAgaXNVbmRlZihvbGREYXRhKSB8fCAoXG4gICAgICAgIGlzVW5kZWYob2xkRGF0YS5zdGF0aWNDbGFzcykgJiZcbiAgICAgICAgaXNVbmRlZihvbGREYXRhLmNsYXNzKVxuICAgICAgKVxuICAgIClcbiAgKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICB2YXIgY2xzID0gZ2VuQ2xhc3NGb3JWbm9kZSh2bm9kZSk7XG5cbiAgLy8gaGFuZGxlIHRyYW5zaXRpb24gY2xhc3Nlc1xuICB2YXIgdHJhbnNpdGlvbkNsYXNzID0gZWwuX3RyYW5zaXRpb25DbGFzc2VzO1xuICBpZiAoaXNEZWYodHJhbnNpdGlvbkNsYXNzKSkge1xuICAgIGNscyA9IGNvbmNhdChjbHMsIHN0cmluZ2lmeUNsYXNzKHRyYW5zaXRpb25DbGFzcykpO1xuICB9XG5cbiAgLy8gc2V0IHRoZSBjbGFzc1xuICBpZiAoY2xzICE9PSBlbC5fcHJldkNsYXNzKSB7XG4gICAgZWwuc2V0QXR0cmlidXRlKCdjbGFzcycsIGNscyk7XG4gICAgZWwuX3ByZXZDbGFzcyA9IGNscztcbiAgfVxufVxuXG52YXIga2xhc3MgPSB7XG4gIGNyZWF0ZTogdXBkYXRlQ2xhc3MsXG4gIHVwZGF0ZTogdXBkYXRlQ2xhc3Ncbn07XG5cbi8qICAqL1xuXG4vKiAgKi9cblxuLyogICovXG5cbi8qICAqL1xuXG4vLyBpbiBzb21lIGNhc2VzLCB0aGUgZXZlbnQgdXNlZCBoYXMgdG8gYmUgZGV0ZXJtaW5lZCBhdCBydW50aW1lXG4vLyBzbyB3ZSB1c2VkIHNvbWUgcmVzZXJ2ZWQgdG9rZW5zIGR1cmluZyBjb21waWxlLlxudmFyIFJBTkdFX1RPS0VOID0gJ19fcic7XG52YXIgQ0hFQ0tCT1hfUkFESU9fVE9LRU4gPSAnX19jJztcblxuLyogICovXG5cbi8vIG5vcm1hbGl6ZSB2LW1vZGVsIGV2ZW50IHRva2VucyB0aGF0IGNhbiBvbmx5IGJlIGRldGVybWluZWQgYXQgcnVudGltZS5cbi8vIGl0J3MgaW1wb3J0YW50IHRvIHBsYWNlIHRoZSBldmVudCBhcyB0aGUgZmlyc3QgaW4gdGhlIGFycmF5IGJlY2F1c2Vcbi8vIHRoZSB3aG9sZSBwb2ludCBpcyBlbnN1cmluZyB0aGUgdi1tb2RlbCBjYWxsYmFjayBnZXRzIGNhbGxlZCBiZWZvcmVcbi8vIHVzZXItYXR0YWNoZWQgaGFuZGxlcnMuXG5mdW5jdGlvbiBub3JtYWxpemVFdmVudHMgKG9uKSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAoaXNEZWYob25bUkFOR0VfVE9LRU5dKSkge1xuICAgIC8vIElFIGlucHV0W3R5cGU9cmFuZ2VdIG9ubHkgc3VwcG9ydHMgYGNoYW5nZWAgZXZlbnRcbiAgICB2YXIgZXZlbnQgPSBpc0lFID8gJ2NoYW5nZScgOiAnaW5wdXQnO1xuICAgIG9uW2V2ZW50XSA9IFtdLmNvbmNhdChvbltSQU5HRV9UT0tFTl0sIG9uW2V2ZW50XSB8fCBbXSk7XG4gICAgZGVsZXRlIG9uW1JBTkdFX1RPS0VOXTtcbiAgfVxuICAvLyBUaGlzIHdhcyBvcmlnaW5hbGx5IGludGVuZGVkIHRvIGZpeCAjNDUyMSBidXQgbm8gbG9uZ2VyIG5lY2Vzc2FyeVxuICAvLyBhZnRlciAyLjUuIEtlZXBpbmcgaXQgZm9yIGJhY2t3YXJkcyBjb21wYXQgd2l0aCBnZW5lcmF0ZWQgY29kZSBmcm9tIDwgMi40XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAoaXNEZWYob25bQ0hFQ0tCT1hfUkFESU9fVE9LRU5dKSkge1xuICAgIG9uLmNoYW5nZSA9IFtdLmNvbmNhdChvbltDSEVDS0JPWF9SQURJT19UT0tFTl0sIG9uLmNoYW5nZSB8fCBbXSk7XG4gICAgZGVsZXRlIG9uW0NIRUNLQk9YX1JBRElPX1RPS0VOXTtcbiAgfVxufVxuXG52YXIgdGFyZ2V0JDE7XG5cbmZ1bmN0aW9uIGNyZWF0ZU9uY2VIYW5kbGVyJDEgKGV2ZW50LCBoYW5kbGVyLCBjYXB0dXJlKSB7XG4gIHZhciBfdGFyZ2V0ID0gdGFyZ2V0JDE7IC8vIHNhdmUgY3VycmVudCB0YXJnZXQgZWxlbWVudCBpbiBjbG9zdXJlXG4gIHJldHVybiBmdW5jdGlvbiBvbmNlSGFuZGxlciAoKSB7XG4gICAgdmFyIHJlcyA9IGhhbmRsZXIuYXBwbHkobnVsbCwgYXJndW1lbnRzKTtcbiAgICBpZiAocmVzICE9PSBudWxsKSB7XG4gICAgICByZW1vdmUkMihldmVudCwgb25jZUhhbmRsZXIsIGNhcHR1cmUsIF90YXJnZXQpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBhZGQkMSAoXG4gIGV2ZW50LFxuICBoYW5kbGVyLFxuICBjYXB0dXJlLFxuICBwYXNzaXZlXG4pIHtcbiAgaGFuZGxlciA9IHdpdGhNYWNyb1Rhc2soaGFuZGxlcik7XG4gIHRhcmdldCQxLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgZXZlbnQsXG4gICAgaGFuZGxlcixcbiAgICBzdXBwb3J0c1Bhc3NpdmVcbiAgICAgID8geyBjYXB0dXJlOiBjYXB0dXJlLCBwYXNzaXZlOiBwYXNzaXZlIH1cbiAgICAgIDogY2FwdHVyZVxuICApO1xufVxuXG5mdW5jdGlvbiByZW1vdmUkMiAoXG4gIGV2ZW50LFxuICBoYW5kbGVyLFxuICBjYXB0dXJlLFxuICBfdGFyZ2V0XG4pIHtcbiAgKF90YXJnZXQgfHwgdGFyZ2V0JDEpLnJlbW92ZUV2ZW50TGlzdGVuZXIoXG4gICAgZXZlbnQsXG4gICAgaGFuZGxlci5fd2l0aFRhc2sgfHwgaGFuZGxlcixcbiAgICBjYXB0dXJlXG4gICk7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZURPTUxpc3RlbmVycyAob2xkVm5vZGUsIHZub2RlKSB7XG4gIGlmIChpc1VuZGVmKG9sZFZub2RlLmRhdGEub24pICYmIGlzVW5kZWYodm5vZGUuZGF0YS5vbikpIHtcbiAgICByZXR1cm5cbiAgfVxuICB2YXIgb24gPSB2bm9kZS5kYXRhLm9uIHx8IHt9O1xuICB2YXIgb2xkT24gPSBvbGRWbm9kZS5kYXRhLm9uIHx8IHt9O1xuICB0YXJnZXQkMSA9IHZub2RlLmVsbTtcbiAgbm9ybWFsaXplRXZlbnRzKG9uKTtcbiAgdXBkYXRlTGlzdGVuZXJzKG9uLCBvbGRPbiwgYWRkJDEsIHJlbW92ZSQyLCBjcmVhdGVPbmNlSGFuZGxlciQxLCB2bm9kZS5jb250ZXh0KTtcbiAgdGFyZ2V0JDEgPSB1bmRlZmluZWQ7XG59XG5cbnZhciBldmVudHMgPSB7XG4gIGNyZWF0ZTogdXBkYXRlRE9NTGlzdGVuZXJzLFxuICB1cGRhdGU6IHVwZGF0ZURPTUxpc3RlbmVyc1xufTtcblxuLyogICovXG5cbmZ1bmN0aW9uIHVwZGF0ZURPTVByb3BzIChvbGRWbm9kZSwgdm5vZGUpIHtcbiAgaWYgKGlzVW5kZWYob2xkVm5vZGUuZGF0YS5kb21Qcm9wcykgJiYgaXNVbmRlZih2bm9kZS5kYXRhLmRvbVByb3BzKSkge1xuICAgIHJldHVyblxuICB9XG4gIHZhciBrZXksIGN1cjtcbiAgdmFyIGVsbSA9IHZub2RlLmVsbTtcbiAgdmFyIG9sZFByb3BzID0gb2xkVm5vZGUuZGF0YS5kb21Qcm9wcyB8fCB7fTtcbiAgdmFyIHByb3BzID0gdm5vZGUuZGF0YS5kb21Qcm9wcyB8fCB7fTtcbiAgLy8gY2xvbmUgb2JzZXJ2ZWQgb2JqZWN0cywgYXMgdGhlIHVzZXIgcHJvYmFibHkgd2FudHMgdG8gbXV0YXRlIGl0XG4gIGlmIChpc0RlZihwcm9wcy5fX29iX18pKSB7XG4gICAgcHJvcHMgPSB2bm9kZS5kYXRhLmRvbVByb3BzID0gZXh0ZW5kKHt9LCBwcm9wcyk7XG4gIH1cblxuICBmb3IgKGtleSBpbiBvbGRQcm9wcykge1xuICAgIGlmIChpc1VuZGVmKHByb3BzW2tleV0pKSB7XG4gICAgICBlbG1ba2V5XSA9ICcnO1xuICAgIH1cbiAgfVxuICBmb3IgKGtleSBpbiBwcm9wcykge1xuICAgIGN1ciA9IHByb3BzW2tleV07XG4gICAgLy8gaWdub3JlIGNoaWxkcmVuIGlmIHRoZSBub2RlIGhhcyB0ZXh0Q29udGVudCBvciBpbm5lckhUTUwsXG4gICAgLy8gYXMgdGhlc2Ugd2lsbCB0aHJvdyBhd2F5IGV4aXN0aW5nIERPTSBub2RlcyBhbmQgY2F1c2UgcmVtb3ZhbCBlcnJvcnNcbiAgICAvLyBvbiBzdWJzZXF1ZW50IHBhdGNoZXMgKCMzMzYwKVxuICAgIGlmIChrZXkgPT09ICd0ZXh0Q29udGVudCcgfHwga2V5ID09PSAnaW5uZXJIVE1MJykge1xuICAgICAgaWYgKHZub2RlLmNoaWxkcmVuKSB7IHZub2RlLmNoaWxkcmVuLmxlbmd0aCA9IDA7IH1cbiAgICAgIGlmIChjdXIgPT09IG9sZFByb3BzW2tleV0pIHsgY29udGludWUgfVxuICAgICAgLy8gIzY2MDEgd29yayBhcm91bmQgQ2hyb21lIHZlcnNpb24gPD0gNTUgYnVnIHdoZXJlIHNpbmdsZSB0ZXh0Tm9kZVxuICAgICAgLy8gcmVwbGFjZWQgYnkgaW5uZXJIVE1ML3RleHRDb250ZW50IHJldGFpbnMgaXRzIHBhcmVudE5vZGUgcHJvcGVydHlcbiAgICAgIGlmIChlbG0uY2hpbGROb2Rlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgZWxtLnJlbW92ZUNoaWxkKGVsbS5jaGlsZE5vZGVzWzBdKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoa2V5ID09PSAndmFsdWUnKSB7XG4gICAgICAvLyBzdG9yZSB2YWx1ZSBhcyBfdmFsdWUgYXMgd2VsbCBzaW5jZVxuICAgICAgLy8gbm9uLXN0cmluZyB2YWx1ZXMgd2lsbCBiZSBzdHJpbmdpZmllZFxuICAgICAgZWxtLl92YWx1ZSA9IGN1cjtcbiAgICAgIC8vIGF2b2lkIHJlc2V0dGluZyBjdXJzb3IgcG9zaXRpb24gd2hlbiB2YWx1ZSBpcyB0aGUgc2FtZVxuICAgICAgdmFyIHN0ckN1ciA9IGlzVW5kZWYoY3VyKSA/ICcnIDogU3RyaW5nKGN1cik7XG4gICAgICBpZiAoc2hvdWxkVXBkYXRlVmFsdWUoZWxtLCBzdHJDdXIpKSB7XG4gICAgICAgIGVsbS52YWx1ZSA9IHN0ckN1cjtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgZWxtW2tleV0gPSBjdXI7XG4gICAgfVxuICB9XG59XG5cbi8vIGNoZWNrIHBsYXRmb3Jtcy93ZWIvdXRpbC9hdHRycy5qcyBhY2NlcHRWYWx1ZVxuXG5cbmZ1bmN0aW9uIHNob3VsZFVwZGF0ZVZhbHVlIChlbG0sIGNoZWNrVmFsKSB7XG4gIHJldHVybiAoIWVsbS5jb21wb3NpbmcgJiYgKFxuICAgIGVsbS50YWdOYW1lID09PSAnT1BUSU9OJyB8fFxuICAgIGlzTm90SW5Gb2N1c0FuZERpcnR5KGVsbSwgY2hlY2tWYWwpIHx8XG4gICAgaXNEaXJ0eVdpdGhNb2RpZmllcnMoZWxtLCBjaGVja1ZhbClcbiAgKSlcbn1cblxuZnVuY3Rpb24gaXNOb3RJbkZvY3VzQW5kRGlydHkgKGVsbSwgY2hlY2tWYWwpIHtcbiAgLy8gcmV0dXJuIHRydWUgd2hlbiB0ZXh0Ym94ICgubnVtYmVyIGFuZCAudHJpbSkgbG9zZXMgZm9jdXMgYW5kIGl0cyB2YWx1ZSBpc1xuICAvLyBub3QgZXF1YWwgdG8gdGhlIHVwZGF0ZWQgdmFsdWVcbiAgdmFyIG5vdEluRm9jdXMgPSB0cnVlO1xuICAvLyAjNjE1N1xuICAvLyB3b3JrIGFyb3VuZCBJRSBidWcgd2hlbiBhY2Nlc3NpbmcgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpbiBhbiBpZnJhbWVcbiAgdHJ5IHsgbm90SW5Gb2N1cyA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgIT09IGVsbTsgfSBjYXRjaCAoZSkge31cbiAgcmV0dXJuIG5vdEluRm9jdXMgJiYgZWxtLnZhbHVlICE9PSBjaGVja1ZhbFxufVxuXG5mdW5jdGlvbiBpc0RpcnR5V2l0aE1vZGlmaWVycyAoZWxtLCBuZXdWYWwpIHtcbiAgdmFyIHZhbHVlID0gZWxtLnZhbHVlO1xuICB2YXIgbW9kaWZpZXJzID0gZWxtLl92TW9kaWZpZXJzOyAvLyBpbmplY3RlZCBieSB2LW1vZGVsIHJ1bnRpbWVcbiAgaWYgKGlzRGVmKG1vZGlmaWVycykpIHtcbiAgICBpZiAobW9kaWZpZXJzLmxhenkpIHtcbiAgICAgIC8vIGlucHV0cyB3aXRoIGxhenkgc2hvdWxkIG9ubHkgYmUgdXBkYXRlZCB3aGVuIG5vdCBpbiBmb2N1c1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICAgIGlmIChtb2RpZmllcnMubnVtYmVyKSB7XG4gICAgICByZXR1cm4gdG9OdW1iZXIodmFsdWUpICE9PSB0b051bWJlcihuZXdWYWwpXG4gICAgfVxuICAgIGlmIChtb2RpZmllcnMudHJpbSkge1xuICAgICAgcmV0dXJuIHZhbHVlLnRyaW0oKSAhPT0gbmV3VmFsLnRyaW0oKVxuICAgIH1cbiAgfVxuICByZXR1cm4gdmFsdWUgIT09IG5ld1ZhbFxufVxuXG52YXIgZG9tUHJvcHMgPSB7XG4gIGNyZWF0ZTogdXBkYXRlRE9NUHJvcHMsXG4gIHVwZGF0ZTogdXBkYXRlRE9NUHJvcHNcbn07XG5cbi8qICAqL1xuXG52YXIgcGFyc2VTdHlsZVRleHQgPSBjYWNoZWQoZnVuY3Rpb24gKGNzc1RleHQpIHtcbiAgdmFyIHJlcyA9IHt9O1xuICB2YXIgbGlzdERlbGltaXRlciA9IC87KD8hW14oXSpcXCkpL2c7XG4gIHZhciBwcm9wZXJ0eURlbGltaXRlciA9IC86KC4rKS87XG4gIGNzc1RleHQuc3BsaXQobGlzdERlbGltaXRlcikuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkge1xuICAgIGlmIChpdGVtKSB7XG4gICAgICB2YXIgdG1wID0gaXRlbS5zcGxpdChwcm9wZXJ0eURlbGltaXRlcik7XG4gICAgICB0bXAubGVuZ3RoID4gMSAmJiAocmVzW3RtcFswXS50cmltKCldID0gdG1wWzFdLnRyaW0oKSk7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIHJlc1xufSk7XG5cbi8vIG1lcmdlIHN0YXRpYyBhbmQgZHluYW1pYyBzdHlsZSBkYXRhIG9uIHRoZSBzYW1lIHZub2RlXG5mdW5jdGlvbiBub3JtYWxpemVTdHlsZURhdGEgKGRhdGEpIHtcbiAgdmFyIHN0eWxlID0gbm9ybWFsaXplU3R5bGVCaW5kaW5nKGRhdGEuc3R5bGUpO1xuICAvLyBzdGF0aWMgc3R5bGUgaXMgcHJlLXByb2Nlc3NlZCBpbnRvIGFuIG9iamVjdCBkdXJpbmcgY29tcGlsYXRpb25cbiAgLy8gYW5kIGlzIGFsd2F5cyBhIGZyZXNoIG9iamVjdCwgc28gaXQncyBzYWZlIHRvIG1lcmdlIGludG8gaXRcbiAgcmV0dXJuIGRhdGEuc3RhdGljU3R5bGVcbiAgICA/IGV4dGVuZChkYXRhLnN0YXRpY1N0eWxlLCBzdHlsZSlcbiAgICA6IHN0eWxlXG59XG5cbi8vIG5vcm1hbGl6ZSBwb3NzaWJsZSBhcnJheSAvIHN0cmluZyB2YWx1ZXMgaW50byBPYmplY3RcbmZ1bmN0aW9uIG5vcm1hbGl6ZVN0eWxlQmluZGluZyAoYmluZGluZ1N0eWxlKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KGJpbmRpbmdTdHlsZSkpIHtcbiAgICByZXR1cm4gdG9PYmplY3QoYmluZGluZ1N0eWxlKVxuICB9XG4gIGlmICh0eXBlb2YgYmluZGluZ1N0eWxlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBwYXJzZVN0eWxlVGV4dChiaW5kaW5nU3R5bGUpXG4gIH1cbiAgcmV0dXJuIGJpbmRpbmdTdHlsZVxufVxuXG4vKipcbiAqIHBhcmVudCBjb21wb25lbnQgc3R5bGUgc2hvdWxkIGJlIGFmdGVyIGNoaWxkJ3NcbiAqIHNvIHRoYXQgcGFyZW50IGNvbXBvbmVudCdzIHN0eWxlIGNvdWxkIG92ZXJyaWRlIGl0XG4gKi9cbmZ1bmN0aW9uIGdldFN0eWxlICh2bm9kZSwgY2hlY2tDaGlsZCkge1xuICB2YXIgcmVzID0ge307XG4gIHZhciBzdHlsZURhdGE7XG5cbiAgaWYgKGNoZWNrQ2hpbGQpIHtcbiAgICB2YXIgY2hpbGROb2RlID0gdm5vZGU7XG4gICAgd2hpbGUgKGNoaWxkTm9kZS5jb21wb25lbnRJbnN0YW5jZSkge1xuICAgICAgY2hpbGROb2RlID0gY2hpbGROb2RlLmNvbXBvbmVudEluc3RhbmNlLl92bm9kZTtcbiAgICAgIGlmIChcbiAgICAgICAgY2hpbGROb2RlICYmIGNoaWxkTm9kZS5kYXRhICYmXG4gICAgICAgIChzdHlsZURhdGEgPSBub3JtYWxpemVTdHlsZURhdGEoY2hpbGROb2RlLmRhdGEpKVxuICAgICAgKSB7XG4gICAgICAgIGV4dGVuZChyZXMsIHN0eWxlRGF0YSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKChzdHlsZURhdGEgPSBub3JtYWxpemVTdHlsZURhdGEodm5vZGUuZGF0YSkpKSB7XG4gICAgZXh0ZW5kKHJlcywgc3R5bGVEYXRhKTtcbiAgfVxuXG4gIHZhciBwYXJlbnROb2RlID0gdm5vZGU7XG4gIHdoaWxlICgocGFyZW50Tm9kZSA9IHBhcmVudE5vZGUucGFyZW50KSkge1xuICAgIGlmIChwYXJlbnROb2RlLmRhdGEgJiYgKHN0eWxlRGF0YSA9IG5vcm1hbGl6ZVN0eWxlRGF0YShwYXJlbnROb2RlLmRhdGEpKSkge1xuICAgICAgZXh0ZW5kKHJlcywgc3R5bGVEYXRhKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc1xufVxuXG4vKiAgKi9cblxudmFyIGNzc1ZhclJFID0gL14tLS87XG52YXIgaW1wb3J0YW50UkUgPSAvXFxzKiFpbXBvcnRhbnQkLztcbnZhciBzZXRQcm9wID0gZnVuY3Rpb24gKGVsLCBuYW1lLCB2YWwpIHtcbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlmIChjc3NWYXJSRS50ZXN0KG5hbWUpKSB7XG4gICAgZWwuc3R5bGUuc2V0UHJvcGVydHkobmFtZSwgdmFsKTtcbiAgfSBlbHNlIGlmIChpbXBvcnRhbnRSRS50ZXN0KHZhbCkpIHtcbiAgICBlbC5zdHlsZS5zZXRQcm9wZXJ0eShuYW1lLCB2YWwucmVwbGFjZShpbXBvcnRhbnRSRSwgJycpLCAnaW1wb3J0YW50Jyk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIG5vcm1hbGl6ZWROYW1lID0gbm9ybWFsaXplKG5hbWUpO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbCkpIHtcbiAgICAgIC8vIFN1cHBvcnQgdmFsdWVzIGFycmF5IGNyZWF0ZWQgYnkgYXV0b3ByZWZpeGVyLCBlLmcuXG4gICAgICAvLyB7ZGlzcGxheTogW1wiLXdlYmtpdC1ib3hcIiwgXCItbXMtZmxleGJveFwiLCBcImZsZXhcIl19XG4gICAgICAvLyBTZXQgdGhlbSBvbmUgYnkgb25lLCBhbmQgdGhlIGJyb3dzZXIgd2lsbCBvbmx5IHNldCB0aG9zZSBpdCBjYW4gcmVjb2duaXplXG4gICAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gdmFsLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgIGVsLnN0eWxlW25vcm1hbGl6ZWROYW1lXSA9IHZhbFtpXTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgZWwuc3R5bGVbbm9ybWFsaXplZE5hbWVdID0gdmFsO1xuICAgIH1cbiAgfVxufTtcblxudmFyIHZlbmRvck5hbWVzID0gWydXZWJraXQnLCAnTW96JywgJ21zJ107XG5cbnZhciBlbXB0eVN0eWxlO1xudmFyIG5vcm1hbGl6ZSA9IGNhY2hlZChmdW5jdGlvbiAocHJvcCkge1xuICBlbXB0eVN0eWxlID0gZW1wdHlTdHlsZSB8fCBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKS5zdHlsZTtcbiAgcHJvcCA9IGNhbWVsaXplKHByb3ApO1xuICBpZiAocHJvcCAhPT0gJ2ZpbHRlcicgJiYgKHByb3AgaW4gZW1wdHlTdHlsZSkpIHtcbiAgICByZXR1cm4gcHJvcFxuICB9XG4gIHZhciBjYXBOYW1lID0gcHJvcC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHByb3Auc2xpY2UoMSk7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgdmVuZG9yTmFtZXMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgbmFtZSA9IHZlbmRvck5hbWVzW2ldICsgY2FwTmFtZTtcbiAgICBpZiAobmFtZSBpbiBlbXB0eVN0eWxlKSB7XG4gICAgICByZXR1cm4gbmFtZVxuICAgIH1cbiAgfVxufSk7XG5cbmZ1bmN0aW9uIHVwZGF0ZVN0eWxlIChvbGRWbm9kZSwgdm5vZGUpIHtcbiAgdmFyIGRhdGEgPSB2bm9kZS5kYXRhO1xuICB2YXIgb2xkRGF0YSA9IG9sZFZub2RlLmRhdGE7XG5cbiAgaWYgKGlzVW5kZWYoZGF0YS5zdGF0aWNTdHlsZSkgJiYgaXNVbmRlZihkYXRhLnN0eWxlKSAmJlxuICAgIGlzVW5kZWYob2xkRGF0YS5zdGF0aWNTdHlsZSkgJiYgaXNVbmRlZihvbGREYXRhLnN0eWxlKVxuICApIHtcbiAgICByZXR1cm5cbiAgfVxuXG4gIHZhciBjdXIsIG5hbWU7XG4gIHZhciBlbCA9IHZub2RlLmVsbTtcbiAgdmFyIG9sZFN0YXRpY1N0eWxlID0gb2xkRGF0YS5zdGF0aWNTdHlsZTtcbiAgdmFyIG9sZFN0eWxlQmluZGluZyA9IG9sZERhdGEubm9ybWFsaXplZFN0eWxlIHx8IG9sZERhdGEuc3R5bGUgfHwge307XG5cbiAgLy8gaWYgc3RhdGljIHN0eWxlIGV4aXN0cywgc3R5bGViaW5kaW5nIGFscmVhZHkgbWVyZ2VkIGludG8gaXQgd2hlbiBkb2luZyBub3JtYWxpemVTdHlsZURhdGFcbiAgdmFyIG9sZFN0eWxlID0gb2xkU3RhdGljU3R5bGUgfHwgb2xkU3R5bGVCaW5kaW5nO1xuXG4gIHZhciBzdHlsZSA9IG5vcm1hbGl6ZVN0eWxlQmluZGluZyh2bm9kZS5kYXRhLnN0eWxlKSB8fCB7fTtcblxuICAvLyBzdG9yZSBub3JtYWxpemVkIHN0eWxlIHVuZGVyIGEgZGlmZmVyZW50IGtleSBmb3IgbmV4dCBkaWZmXG4gIC8vIG1ha2Ugc3VyZSB0byBjbG9uZSBpdCBpZiBpdCdzIHJlYWN0aXZlLCBzaW5jZSB0aGUgdXNlciBsaWtlbHkgd2FudHNcbiAgLy8gdG8gbXV0YXRlIGl0LlxuICB2bm9kZS5kYXRhLm5vcm1hbGl6ZWRTdHlsZSA9IGlzRGVmKHN0eWxlLl9fb2JfXylcbiAgICA/IGV4dGVuZCh7fSwgc3R5bGUpXG4gICAgOiBzdHlsZTtcblxuICB2YXIgbmV3U3R5bGUgPSBnZXRTdHlsZSh2bm9kZSwgdHJ1ZSk7XG5cbiAgZm9yIChuYW1lIGluIG9sZFN0eWxlKSB7XG4gICAgaWYgKGlzVW5kZWYobmV3U3R5bGVbbmFtZV0pKSB7XG4gICAgICBzZXRQcm9wKGVsLCBuYW1lLCAnJyk7XG4gICAgfVxuICB9XG4gIGZvciAobmFtZSBpbiBuZXdTdHlsZSkge1xuICAgIGN1ciA9IG5ld1N0eWxlW25hbWVdO1xuICAgIGlmIChjdXIgIT09IG9sZFN0eWxlW25hbWVdKSB7XG4gICAgICAvLyBpZTkgc2V0dGluZyB0byBudWxsIGhhcyBubyBlZmZlY3QsIG11c3QgdXNlIGVtcHR5IHN0cmluZ1xuICAgICAgc2V0UHJvcChlbCwgbmFtZSwgY3VyID09IG51bGwgPyAnJyA6IGN1cik7XG4gICAgfVxuICB9XG59XG5cbnZhciBzdHlsZSA9IHtcbiAgY3JlYXRlOiB1cGRhdGVTdHlsZSxcbiAgdXBkYXRlOiB1cGRhdGVTdHlsZVxufTtcblxuLyogICovXG5cbnZhciB3aGl0ZXNwYWNlUkUgPSAvXFxzKy87XG5cbi8qKlxuICogQWRkIGNsYXNzIHdpdGggY29tcGF0aWJpbGl0eSBmb3IgU1ZHIHNpbmNlIGNsYXNzTGlzdCBpcyBub3Qgc3VwcG9ydGVkIG9uXG4gKiBTVkcgZWxlbWVudHMgaW4gSUVcbiAqL1xuZnVuY3Rpb24gYWRkQ2xhc3MgKGVsLCBjbHMpIHtcbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlmICghY2xzIHx8ICEoY2xzID0gY2xzLnRyaW0oKSkpIHtcbiAgICByZXR1cm5cbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gIGlmIChlbC5jbGFzc0xpc3QpIHtcbiAgICBpZiAoY2xzLmluZGV4T2YoJyAnKSA+IC0xKSB7XG4gICAgICBjbHMuc3BsaXQod2hpdGVzcGFjZVJFKS5mb3JFYWNoKGZ1bmN0aW9uIChjKSB7IHJldHVybiBlbC5jbGFzc0xpc3QuYWRkKGMpOyB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgZWwuY2xhc3NMaXN0LmFkZChjbHMpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICB2YXIgY3VyID0gXCIgXCIgKyAoZWwuZ2V0QXR0cmlidXRlKCdjbGFzcycpIHx8ICcnKSArIFwiIFwiO1xuICAgIGlmIChjdXIuaW5kZXhPZignICcgKyBjbHMgKyAnICcpIDwgMCkge1xuICAgICAgZWwuc2V0QXR0cmlidXRlKCdjbGFzcycsIChjdXIgKyBjbHMpLnRyaW0oKSk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogUmVtb3ZlIGNsYXNzIHdpdGggY29tcGF0aWJpbGl0eSBmb3IgU1ZHIHNpbmNlIGNsYXNzTGlzdCBpcyBub3Qgc3VwcG9ydGVkIG9uXG4gKiBTVkcgZWxlbWVudHMgaW4gSUVcbiAqL1xuZnVuY3Rpb24gcmVtb3ZlQ2xhc3MgKGVsLCBjbHMpIHtcbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlmICghY2xzIHx8ICEoY2xzID0gY2xzLnRyaW0oKSkpIHtcbiAgICByZXR1cm5cbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gIGlmIChlbC5jbGFzc0xpc3QpIHtcbiAgICBpZiAoY2xzLmluZGV4T2YoJyAnKSA+IC0xKSB7XG4gICAgICBjbHMuc3BsaXQod2hpdGVzcGFjZVJFKS5mb3JFYWNoKGZ1bmN0aW9uIChjKSB7IHJldHVybiBlbC5jbGFzc0xpc3QucmVtb3ZlKGMpOyB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZShjbHMpO1xuICAgIH1cbiAgICBpZiAoIWVsLmNsYXNzTGlzdC5sZW5ndGgpIHtcbiAgICAgIGVsLnJlbW92ZUF0dHJpYnV0ZSgnY2xhc3MnKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgdmFyIGN1ciA9IFwiIFwiICsgKGVsLmdldEF0dHJpYnV0ZSgnY2xhc3MnKSB8fCAnJykgKyBcIiBcIjtcbiAgICB2YXIgdGFyID0gJyAnICsgY2xzICsgJyAnO1xuICAgIHdoaWxlIChjdXIuaW5kZXhPZih0YXIpID49IDApIHtcbiAgICAgIGN1ciA9IGN1ci5yZXBsYWNlKHRhciwgJyAnKTtcbiAgICB9XG4gICAgY3VyID0gY3VyLnRyaW0oKTtcbiAgICBpZiAoY3VyKSB7XG4gICAgICBlbC5zZXRBdHRyaWJ1dGUoJ2NsYXNzJywgY3VyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZWwucmVtb3ZlQXR0cmlidXRlKCdjbGFzcycpO1xuICAgIH1cbiAgfVxufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gcmVzb2x2ZVRyYW5zaXRpb24gKGRlZiQkMSkge1xuICBpZiAoIWRlZiQkMSkge1xuICAgIHJldHVyblxuICB9XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gIGlmICh0eXBlb2YgZGVmJCQxID09PSAnb2JqZWN0Jykge1xuICAgIHZhciByZXMgPSB7fTtcbiAgICBpZiAoZGVmJCQxLmNzcyAhPT0gZmFsc2UpIHtcbiAgICAgIGV4dGVuZChyZXMsIGF1dG9Dc3NUcmFuc2l0aW9uKGRlZiQkMS5uYW1lIHx8ICd2JykpO1xuICAgIH1cbiAgICBleHRlbmQocmVzLCBkZWYkJDEpO1xuICAgIHJldHVybiByZXNcbiAgfSBlbHNlIGlmICh0eXBlb2YgZGVmJCQxID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBhdXRvQ3NzVHJhbnNpdGlvbihkZWYkJDEpXG4gIH1cbn1cblxudmFyIGF1dG9Dc3NUcmFuc2l0aW9uID0gY2FjaGVkKGZ1bmN0aW9uIChuYW1lKSB7XG4gIHJldHVybiB7XG4gICAgZW50ZXJDbGFzczogKG5hbWUgKyBcIi1lbnRlclwiKSxcbiAgICBlbnRlclRvQ2xhc3M6IChuYW1lICsgXCItZW50ZXItdG9cIiksXG4gICAgZW50ZXJBY3RpdmVDbGFzczogKG5hbWUgKyBcIi1lbnRlci1hY3RpdmVcIiksXG4gICAgbGVhdmVDbGFzczogKG5hbWUgKyBcIi1sZWF2ZVwiKSxcbiAgICBsZWF2ZVRvQ2xhc3M6IChuYW1lICsgXCItbGVhdmUtdG9cIiksXG4gICAgbGVhdmVBY3RpdmVDbGFzczogKG5hbWUgKyBcIi1sZWF2ZS1hY3RpdmVcIilcbiAgfVxufSk7XG5cbnZhciBoYXNUcmFuc2l0aW9uID0gaW5Ccm93c2VyICYmICFpc0lFOTtcbnZhciBUUkFOU0lUSU9OID0gJ3RyYW5zaXRpb24nO1xudmFyIEFOSU1BVElPTiA9ICdhbmltYXRpb24nO1xuXG4vLyBUcmFuc2l0aW9uIHByb3BlcnR5L2V2ZW50IHNuaWZmaW5nXG52YXIgdHJhbnNpdGlvblByb3AgPSAndHJhbnNpdGlvbic7XG52YXIgdHJhbnNpdGlvbkVuZEV2ZW50ID0gJ3RyYW5zaXRpb25lbmQnO1xudmFyIGFuaW1hdGlvblByb3AgPSAnYW5pbWF0aW9uJztcbnZhciBhbmltYXRpb25FbmRFdmVudCA9ICdhbmltYXRpb25lbmQnO1xuaWYgKGhhc1RyYW5zaXRpb24pIHtcbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlmICh3aW5kb3cub250cmFuc2l0aW9uZW5kID09PSB1bmRlZmluZWQgJiZcbiAgICB3aW5kb3cub253ZWJraXR0cmFuc2l0aW9uZW5kICE9PSB1bmRlZmluZWRcbiAgKSB7XG4gICAgdHJhbnNpdGlvblByb3AgPSAnV2Via2l0VHJhbnNpdGlvbic7XG4gICAgdHJhbnNpdGlvbkVuZEV2ZW50ID0gJ3dlYmtpdFRyYW5zaXRpb25FbmQnO1xuICB9XG4gIGlmICh3aW5kb3cub25hbmltYXRpb25lbmQgPT09IHVuZGVmaW5lZCAmJlxuICAgIHdpbmRvdy5vbndlYmtpdGFuaW1hdGlvbmVuZCAhPT0gdW5kZWZpbmVkXG4gICkge1xuICAgIGFuaW1hdGlvblByb3AgPSAnV2Via2l0QW5pbWF0aW9uJztcbiAgICBhbmltYXRpb25FbmRFdmVudCA9ICd3ZWJraXRBbmltYXRpb25FbmQnO1xuICB9XG59XG5cbi8vIGJpbmRpbmcgdG8gd2luZG93IGlzIG5lY2Vzc2FyeSB0byBtYWtlIGhvdCByZWxvYWQgd29yayBpbiBJRSBpbiBzdHJpY3QgbW9kZVxudmFyIHJhZiA9IGluQnJvd3NlclxuICA/IHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWVcbiAgICA/IHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUuYmluZCh3aW5kb3cpXG4gICAgOiBzZXRUaW1lb3V0XG4gIDogLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi8gZnVuY3Rpb24gKGZuKSB7IHJldHVybiBmbigpOyB9O1xuXG5mdW5jdGlvbiBuZXh0RnJhbWUgKGZuKSB7XG4gIHJhZihmdW5jdGlvbiAoKSB7XG4gICAgcmFmKGZuKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGFkZFRyYW5zaXRpb25DbGFzcyAoZWwsIGNscykge1xuICB2YXIgdHJhbnNpdGlvbkNsYXNzZXMgPSBlbC5fdHJhbnNpdGlvbkNsYXNzZXMgfHwgKGVsLl90cmFuc2l0aW9uQ2xhc3NlcyA9IFtdKTtcbiAgaWYgKHRyYW5zaXRpb25DbGFzc2VzLmluZGV4T2YoY2xzKSA8IDApIHtcbiAgICB0cmFuc2l0aW9uQ2xhc3Nlcy5wdXNoKGNscyk7XG4gICAgYWRkQ2xhc3MoZWwsIGNscyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVtb3ZlVHJhbnNpdGlvbkNsYXNzIChlbCwgY2xzKSB7XG4gIGlmIChlbC5fdHJhbnNpdGlvbkNsYXNzZXMpIHtcbiAgICByZW1vdmUoZWwuX3RyYW5zaXRpb25DbGFzc2VzLCBjbHMpO1xuICB9XG4gIHJlbW92ZUNsYXNzKGVsLCBjbHMpO1xufVxuXG5mdW5jdGlvbiB3aGVuVHJhbnNpdGlvbkVuZHMgKFxuICBlbCxcbiAgZXhwZWN0ZWRUeXBlLFxuICBjYlxuKSB7XG4gIHZhciByZWYgPSBnZXRUcmFuc2l0aW9uSW5mbyhlbCwgZXhwZWN0ZWRUeXBlKTtcbiAgdmFyIHR5cGUgPSByZWYudHlwZTtcbiAgdmFyIHRpbWVvdXQgPSByZWYudGltZW91dDtcbiAgdmFyIHByb3BDb3VudCA9IHJlZi5wcm9wQ291bnQ7XG4gIGlmICghdHlwZSkgeyByZXR1cm4gY2IoKSB9XG4gIHZhciBldmVudCA9IHR5cGUgPT09IFRSQU5TSVRJT04gPyB0cmFuc2l0aW9uRW5kRXZlbnQgOiBhbmltYXRpb25FbmRFdmVudDtcbiAgdmFyIGVuZGVkID0gMDtcbiAgdmFyIGVuZCA9IGZ1bmN0aW9uICgpIHtcbiAgICBlbC5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50LCBvbkVuZCk7XG4gICAgY2IoKTtcbiAgfTtcbiAgdmFyIG9uRW5kID0gZnVuY3Rpb24gKGUpIHtcbiAgICBpZiAoZS50YXJnZXQgPT09IGVsKSB7XG4gICAgICBpZiAoKytlbmRlZCA+PSBwcm9wQ291bnQpIHtcbiAgICAgICAgZW5kKCk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoZW5kZWQgPCBwcm9wQ291bnQpIHtcbiAgICAgIGVuZCgpO1xuICAgIH1cbiAgfSwgdGltZW91dCArIDEpO1xuICBlbC5hZGRFdmVudExpc3RlbmVyKGV2ZW50LCBvbkVuZCk7XG59XG5cbnZhciB0cmFuc2Zvcm1SRSA9IC9cXGIodHJhbnNmb3JtfGFsbCkoLHwkKS87XG5cbmZ1bmN0aW9uIGdldFRyYW5zaXRpb25JbmZvIChlbCwgZXhwZWN0ZWRUeXBlKSB7XG4gIHZhciBzdHlsZXMgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbCk7XG4gIC8vIEpTRE9NIG1heSByZXR1cm4gdW5kZWZpbmVkIGZvciB0cmFuc2l0aW9uIHByb3BlcnRpZXNcbiAgdmFyIHRyYW5zaXRpb25EZWxheXMgPSAoc3R5bGVzW3RyYW5zaXRpb25Qcm9wICsgJ0RlbGF5J10gfHwgJycpLnNwbGl0KCcsICcpO1xuICB2YXIgdHJhbnNpdGlvbkR1cmF0aW9ucyA9IChzdHlsZXNbdHJhbnNpdGlvblByb3AgKyAnRHVyYXRpb24nXSB8fCAnJykuc3BsaXQoJywgJyk7XG4gIHZhciB0cmFuc2l0aW9uVGltZW91dCA9IGdldFRpbWVvdXQodHJhbnNpdGlvbkRlbGF5cywgdHJhbnNpdGlvbkR1cmF0aW9ucyk7XG4gIHZhciBhbmltYXRpb25EZWxheXMgPSAoc3R5bGVzW2FuaW1hdGlvblByb3AgKyAnRGVsYXknXSB8fCAnJykuc3BsaXQoJywgJyk7XG4gIHZhciBhbmltYXRpb25EdXJhdGlvbnMgPSAoc3R5bGVzW2FuaW1hdGlvblByb3AgKyAnRHVyYXRpb24nXSB8fCAnJykuc3BsaXQoJywgJyk7XG4gIHZhciBhbmltYXRpb25UaW1lb3V0ID0gZ2V0VGltZW91dChhbmltYXRpb25EZWxheXMsIGFuaW1hdGlvbkR1cmF0aW9ucyk7XG5cbiAgdmFyIHR5cGU7XG4gIHZhciB0aW1lb3V0ID0gMDtcbiAgdmFyIHByb3BDb3VudCA9IDA7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAoZXhwZWN0ZWRUeXBlID09PSBUUkFOU0lUSU9OKSB7XG4gICAgaWYgKHRyYW5zaXRpb25UaW1lb3V0ID4gMCkge1xuICAgICAgdHlwZSA9IFRSQU5TSVRJT047XG4gICAgICB0aW1lb3V0ID0gdHJhbnNpdGlvblRpbWVvdXQ7XG4gICAgICBwcm9wQ291bnQgPSB0cmFuc2l0aW9uRHVyYXRpb25zLmxlbmd0aDtcbiAgICB9XG4gIH0gZWxzZSBpZiAoZXhwZWN0ZWRUeXBlID09PSBBTklNQVRJT04pIHtcbiAgICBpZiAoYW5pbWF0aW9uVGltZW91dCA+IDApIHtcbiAgICAgIHR5cGUgPSBBTklNQVRJT047XG4gICAgICB0aW1lb3V0ID0gYW5pbWF0aW9uVGltZW91dDtcbiAgICAgIHByb3BDb3VudCA9IGFuaW1hdGlvbkR1cmF0aW9ucy5sZW5ndGg7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHRpbWVvdXQgPSBNYXRoLm1heCh0cmFuc2l0aW9uVGltZW91dCwgYW5pbWF0aW9uVGltZW91dCk7XG4gICAgdHlwZSA9IHRpbWVvdXQgPiAwXG4gICAgICA/IHRyYW5zaXRpb25UaW1lb3V0ID4gYW5pbWF0aW9uVGltZW91dFxuICAgICAgICA/IFRSQU5TSVRJT05cbiAgICAgICAgOiBBTklNQVRJT05cbiAgICAgIDogbnVsbDtcbiAgICBwcm9wQ291bnQgPSB0eXBlXG4gICAgICA/IHR5cGUgPT09IFRSQU5TSVRJT05cbiAgICAgICAgPyB0cmFuc2l0aW9uRHVyYXRpb25zLmxlbmd0aFxuICAgICAgICA6IGFuaW1hdGlvbkR1cmF0aW9ucy5sZW5ndGhcbiAgICAgIDogMDtcbiAgfVxuICB2YXIgaGFzVHJhbnNmb3JtID1cbiAgICB0eXBlID09PSBUUkFOU0lUSU9OICYmXG4gICAgdHJhbnNmb3JtUkUudGVzdChzdHlsZXNbdHJhbnNpdGlvblByb3AgKyAnUHJvcGVydHknXSk7XG4gIHJldHVybiB7XG4gICAgdHlwZTogdHlwZSxcbiAgICB0aW1lb3V0OiB0aW1lb3V0LFxuICAgIHByb3BDb3VudDogcHJvcENvdW50LFxuICAgIGhhc1RyYW5zZm9ybTogaGFzVHJhbnNmb3JtXG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0VGltZW91dCAoZGVsYXlzLCBkdXJhdGlvbnMpIHtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgd2hpbGUgKGRlbGF5cy5sZW5ndGggPCBkdXJhdGlvbnMubGVuZ3RoKSB7XG4gICAgZGVsYXlzID0gZGVsYXlzLmNvbmNhdChkZWxheXMpO1xuICB9XG5cbiAgcmV0dXJuIE1hdGgubWF4LmFwcGx5KG51bGwsIGR1cmF0aW9ucy5tYXAoZnVuY3Rpb24gKGQsIGkpIHtcbiAgICByZXR1cm4gdG9NcyhkKSArIHRvTXMoZGVsYXlzW2ldKVxuICB9KSlcbn1cblxuLy8gT2xkIHZlcnNpb25zIG9mIENocm9taXVtIChiZWxvdyA2MS4wLjMxNjMuMTAwKSBmb3JtYXRzIGZsb2F0aW5nIHBvaW50ZXIgbnVtYmVyc1xuLy8gaW4gYSBsb2NhbGUtZGVwZW5kZW50IHdheSwgdXNpbmcgYSBjb21tYSBpbnN0ZWFkIG9mIGEgZG90LlxuLy8gSWYgY29tbWEgaXMgbm90IHJlcGxhY2VkIHdpdGggYSBkb3QsIHRoZSBpbnB1dCB3aWxsIGJlIHJvdW5kZWQgZG93biAoaS5lLiBhY3Rpbmdcbi8vIGFzIGEgZmxvb3IgZnVuY3Rpb24pIGNhdXNpbmcgdW5leHBlY3RlZCBiZWhhdmlvcnNcbmZ1bmN0aW9uIHRvTXMgKHMpIHtcbiAgcmV0dXJuIE51bWJlcihzLnNsaWNlKDAsIC0xKS5yZXBsYWNlKCcsJywgJy4nKSkgKiAxMDAwXG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBlbnRlciAodm5vZGUsIHRvZ2dsZURpc3BsYXkpIHtcbiAgdmFyIGVsID0gdm5vZGUuZWxtO1xuXG4gIC8vIGNhbGwgbGVhdmUgY2FsbGJhY2sgbm93XG4gIGlmIChpc0RlZihlbC5fbGVhdmVDYikpIHtcbiAgICBlbC5fbGVhdmVDYi5jYW5jZWxsZWQgPSB0cnVlO1xuICAgIGVsLl9sZWF2ZUNiKCk7XG4gIH1cblxuICB2YXIgZGF0YSA9IHJlc29sdmVUcmFuc2l0aW9uKHZub2RlLmRhdGEudHJhbnNpdGlvbik7XG4gIGlmIChpc1VuZGVmKGRhdGEpKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKGlzRGVmKGVsLl9lbnRlckNiKSB8fCBlbC5ub2RlVHlwZSAhPT0gMSkge1xuICAgIHJldHVyblxuICB9XG5cbiAgdmFyIGNzcyA9IGRhdGEuY3NzO1xuICB2YXIgdHlwZSA9IGRhdGEudHlwZTtcbiAgdmFyIGVudGVyQ2xhc3MgPSBkYXRhLmVudGVyQ2xhc3M7XG4gIHZhciBlbnRlclRvQ2xhc3MgPSBkYXRhLmVudGVyVG9DbGFzcztcbiAgdmFyIGVudGVyQWN0aXZlQ2xhc3MgPSBkYXRhLmVudGVyQWN0aXZlQ2xhc3M7XG4gIHZhciBhcHBlYXJDbGFzcyA9IGRhdGEuYXBwZWFyQ2xhc3M7XG4gIHZhciBhcHBlYXJUb0NsYXNzID0gZGF0YS5hcHBlYXJUb0NsYXNzO1xuICB2YXIgYXBwZWFyQWN0aXZlQ2xhc3MgPSBkYXRhLmFwcGVhckFjdGl2ZUNsYXNzO1xuICB2YXIgYmVmb3JlRW50ZXIgPSBkYXRhLmJlZm9yZUVudGVyO1xuICB2YXIgZW50ZXIgPSBkYXRhLmVudGVyO1xuICB2YXIgYWZ0ZXJFbnRlciA9IGRhdGEuYWZ0ZXJFbnRlcjtcbiAgdmFyIGVudGVyQ2FuY2VsbGVkID0gZGF0YS5lbnRlckNhbmNlbGxlZDtcbiAgdmFyIGJlZm9yZUFwcGVhciA9IGRhdGEuYmVmb3JlQXBwZWFyO1xuICB2YXIgYXBwZWFyID0gZGF0YS5hcHBlYXI7XG4gIHZhciBhZnRlckFwcGVhciA9IGRhdGEuYWZ0ZXJBcHBlYXI7XG4gIHZhciBhcHBlYXJDYW5jZWxsZWQgPSBkYXRhLmFwcGVhckNhbmNlbGxlZDtcbiAgdmFyIGR1cmF0aW9uID0gZGF0YS5kdXJhdGlvbjtcblxuICAvLyBhY3RpdmVJbnN0YW5jZSB3aWxsIGFsd2F5cyBiZSB0aGUgPHRyYW5zaXRpb24+IGNvbXBvbmVudCBtYW5hZ2luZyB0aGlzXG4gIC8vIHRyYW5zaXRpb24uIE9uZSBlZGdlIGNhc2UgdG8gY2hlY2sgaXMgd2hlbiB0aGUgPHRyYW5zaXRpb24+IGlzIHBsYWNlZFxuICAvLyBhcyB0aGUgcm9vdCBub2RlIG9mIGEgY2hpbGQgY29tcG9uZW50LiBJbiB0aGF0IGNhc2Ugd2UgbmVlZCB0byBjaGVja1xuICAvLyA8dHJhbnNpdGlvbj4ncyBwYXJlbnQgZm9yIGFwcGVhciBjaGVjay5cbiAgdmFyIGNvbnRleHQgPSBhY3RpdmVJbnN0YW5jZTtcbiAgdmFyIHRyYW5zaXRpb25Ob2RlID0gYWN0aXZlSW5zdGFuY2UuJHZub2RlO1xuICB3aGlsZSAodHJhbnNpdGlvbk5vZGUgJiYgdHJhbnNpdGlvbk5vZGUucGFyZW50KSB7XG4gICAgdHJhbnNpdGlvbk5vZGUgPSB0cmFuc2l0aW9uTm9kZS5wYXJlbnQ7XG4gICAgY29udGV4dCA9IHRyYW5zaXRpb25Ob2RlLmNvbnRleHQ7XG4gIH1cblxuICB2YXIgaXNBcHBlYXIgPSAhY29udGV4dC5faXNNb3VudGVkIHx8ICF2bm9kZS5pc1Jvb3RJbnNlcnQ7XG5cbiAgaWYgKGlzQXBwZWFyICYmICFhcHBlYXIgJiYgYXBwZWFyICE9PSAnJykge1xuICAgIHJldHVyblxuICB9XG5cbiAgdmFyIHN0YXJ0Q2xhc3MgPSBpc0FwcGVhciAmJiBhcHBlYXJDbGFzc1xuICAgID8gYXBwZWFyQ2xhc3NcbiAgICA6IGVudGVyQ2xhc3M7XG4gIHZhciBhY3RpdmVDbGFzcyA9IGlzQXBwZWFyICYmIGFwcGVhckFjdGl2ZUNsYXNzXG4gICAgPyBhcHBlYXJBY3RpdmVDbGFzc1xuICAgIDogZW50ZXJBY3RpdmVDbGFzcztcbiAgdmFyIHRvQ2xhc3MgPSBpc0FwcGVhciAmJiBhcHBlYXJUb0NsYXNzXG4gICAgPyBhcHBlYXJUb0NsYXNzXG4gICAgOiBlbnRlclRvQ2xhc3M7XG5cbiAgdmFyIGJlZm9yZUVudGVySG9vayA9IGlzQXBwZWFyXG4gICAgPyAoYmVmb3JlQXBwZWFyIHx8IGJlZm9yZUVudGVyKVxuICAgIDogYmVmb3JlRW50ZXI7XG4gIHZhciBlbnRlckhvb2sgPSBpc0FwcGVhclxuICAgID8gKHR5cGVvZiBhcHBlYXIgPT09ICdmdW5jdGlvbicgPyBhcHBlYXIgOiBlbnRlcilcbiAgICA6IGVudGVyO1xuICB2YXIgYWZ0ZXJFbnRlckhvb2sgPSBpc0FwcGVhclxuICAgID8gKGFmdGVyQXBwZWFyIHx8IGFmdGVyRW50ZXIpXG4gICAgOiBhZnRlckVudGVyO1xuICB2YXIgZW50ZXJDYW5jZWxsZWRIb29rID0gaXNBcHBlYXJcbiAgICA/IChhcHBlYXJDYW5jZWxsZWQgfHwgZW50ZXJDYW5jZWxsZWQpXG4gICAgOiBlbnRlckNhbmNlbGxlZDtcblxuICB2YXIgZXhwbGljaXRFbnRlckR1cmF0aW9uID0gdG9OdW1iZXIoXG4gICAgaXNPYmplY3QoZHVyYXRpb24pXG4gICAgICA/IGR1cmF0aW9uLmVudGVyXG4gICAgICA6IGR1cmF0aW9uXG4gICk7XG5cbiAgaWYgKCB0cnVlICYmIGV4cGxpY2l0RW50ZXJEdXJhdGlvbiAhPSBudWxsKSB7XG4gICAgY2hlY2tEdXJhdGlvbihleHBsaWNpdEVudGVyRHVyYXRpb24sICdlbnRlcicsIHZub2RlKTtcbiAgfVxuXG4gIHZhciBleHBlY3RzQ1NTID0gY3NzICE9PSBmYWxzZSAmJiAhaXNJRTk7XG4gIHZhciB1c2VyV2FudHNDb250cm9sID0gZ2V0SG9va0FyZ3VtZW50c0xlbmd0aChlbnRlckhvb2spO1xuXG4gIHZhciBjYiA9IGVsLl9lbnRlckNiID0gb25jZShmdW5jdGlvbiAoKSB7XG4gICAgaWYgKGV4cGVjdHNDU1MpIHtcbiAgICAgIHJlbW92ZVRyYW5zaXRpb25DbGFzcyhlbCwgdG9DbGFzcyk7XG4gICAgICByZW1vdmVUcmFuc2l0aW9uQ2xhc3MoZWwsIGFjdGl2ZUNsYXNzKTtcbiAgICB9XG4gICAgaWYgKGNiLmNhbmNlbGxlZCkge1xuICAgICAgaWYgKGV4cGVjdHNDU1MpIHtcbiAgICAgICAgcmVtb3ZlVHJhbnNpdGlvbkNsYXNzKGVsLCBzdGFydENsYXNzKTtcbiAgICAgIH1cbiAgICAgIGVudGVyQ2FuY2VsbGVkSG9vayAmJiBlbnRlckNhbmNlbGxlZEhvb2soZWwpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhZnRlckVudGVySG9vayAmJiBhZnRlckVudGVySG9vayhlbCk7XG4gICAgfVxuICAgIGVsLl9lbnRlckNiID0gbnVsbDtcbiAgfSk7XG5cbiAgaWYgKCF2bm9kZS5kYXRhLnNob3cpIHtcbiAgICAvLyByZW1vdmUgcGVuZGluZyBsZWF2ZSBlbGVtZW50IG9uIGVudGVyIGJ5IGluamVjdGluZyBhbiBpbnNlcnQgaG9va1xuICAgIG1lcmdlVk5vZGVIb29rKHZub2RlLCAnaW5zZXJ0JywgZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIHBhcmVudCA9IGVsLnBhcmVudE5vZGU7XG4gICAgICB2YXIgcGVuZGluZ05vZGUgPSBwYXJlbnQgJiYgcGFyZW50Ll9wZW5kaW5nICYmIHBhcmVudC5fcGVuZGluZ1t2bm9kZS5rZXldO1xuICAgICAgaWYgKHBlbmRpbmdOb2RlICYmXG4gICAgICAgIHBlbmRpbmdOb2RlLnRhZyA9PT0gdm5vZGUudGFnICYmXG4gICAgICAgIHBlbmRpbmdOb2RlLmVsbS5fbGVhdmVDYlxuICAgICAgKSB7XG4gICAgICAgIHBlbmRpbmdOb2RlLmVsbS5fbGVhdmVDYigpO1xuICAgICAgfVxuICAgICAgZW50ZXJIb29rICYmIGVudGVySG9vayhlbCwgY2IpO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gc3RhcnQgZW50ZXIgdHJhbnNpdGlvblxuICBiZWZvcmVFbnRlckhvb2sgJiYgYmVmb3JlRW50ZXJIb29rKGVsKTtcbiAgaWYgKGV4cGVjdHNDU1MpIHtcbiAgICBhZGRUcmFuc2l0aW9uQ2xhc3MoZWwsIHN0YXJ0Q2xhc3MpO1xuICAgIGFkZFRyYW5zaXRpb25DbGFzcyhlbCwgYWN0aXZlQ2xhc3MpO1xuICAgIG5leHRGcmFtZShmdW5jdGlvbiAoKSB7XG4gICAgICByZW1vdmVUcmFuc2l0aW9uQ2xhc3MoZWwsIHN0YXJ0Q2xhc3MpO1xuICAgICAgaWYgKCFjYi5jYW5jZWxsZWQpIHtcbiAgICAgICAgYWRkVHJhbnNpdGlvbkNsYXNzKGVsLCB0b0NsYXNzKTtcbiAgICAgICAgaWYgKCF1c2VyV2FudHNDb250cm9sKSB7XG4gICAgICAgICAgaWYgKGlzVmFsaWREdXJhdGlvbihleHBsaWNpdEVudGVyRHVyYXRpb24pKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KGNiLCBleHBsaWNpdEVudGVyRHVyYXRpb24pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB3aGVuVHJhbnNpdGlvbkVuZHMoZWwsIHR5cGUsIGNiKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGlmICh2bm9kZS5kYXRhLnNob3cpIHtcbiAgICB0b2dnbGVEaXNwbGF5ICYmIHRvZ2dsZURpc3BsYXkoKTtcbiAgICBlbnRlckhvb2sgJiYgZW50ZXJIb29rKGVsLCBjYik7XG4gIH1cblxuICBpZiAoIWV4cGVjdHNDU1MgJiYgIXVzZXJXYW50c0NvbnRyb2wpIHtcbiAgICBjYigpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGxlYXZlICh2bm9kZSwgcm0pIHtcbiAgdmFyIGVsID0gdm5vZGUuZWxtO1xuXG4gIC8vIGNhbGwgZW50ZXIgY2FsbGJhY2sgbm93XG4gIGlmIChpc0RlZihlbC5fZW50ZXJDYikpIHtcbiAgICBlbC5fZW50ZXJDYi5jYW5jZWxsZWQgPSB0cnVlO1xuICAgIGVsLl9lbnRlckNiKCk7XG4gIH1cblxuICB2YXIgZGF0YSA9IHJlc29sdmVUcmFuc2l0aW9uKHZub2RlLmRhdGEudHJhbnNpdGlvbik7XG4gIGlmIChpc1VuZGVmKGRhdGEpIHx8IGVsLm5vZGVUeXBlICE9PSAxKSB7XG4gICAgcmV0dXJuIHJtKClcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAoaXNEZWYoZWwuX2xlYXZlQ2IpKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICB2YXIgY3NzID0gZGF0YS5jc3M7XG4gIHZhciB0eXBlID0gZGF0YS50eXBlO1xuICB2YXIgbGVhdmVDbGFzcyA9IGRhdGEubGVhdmVDbGFzcztcbiAgdmFyIGxlYXZlVG9DbGFzcyA9IGRhdGEubGVhdmVUb0NsYXNzO1xuICB2YXIgbGVhdmVBY3RpdmVDbGFzcyA9IGRhdGEubGVhdmVBY3RpdmVDbGFzcztcbiAgdmFyIGJlZm9yZUxlYXZlID0gZGF0YS5iZWZvcmVMZWF2ZTtcbiAgdmFyIGxlYXZlID0gZGF0YS5sZWF2ZTtcbiAgdmFyIGFmdGVyTGVhdmUgPSBkYXRhLmFmdGVyTGVhdmU7XG4gIHZhciBsZWF2ZUNhbmNlbGxlZCA9IGRhdGEubGVhdmVDYW5jZWxsZWQ7XG4gIHZhciBkZWxheUxlYXZlID0gZGF0YS5kZWxheUxlYXZlO1xuICB2YXIgZHVyYXRpb24gPSBkYXRhLmR1cmF0aW9uO1xuXG4gIHZhciBleHBlY3RzQ1NTID0gY3NzICE9PSBmYWxzZSAmJiAhaXNJRTk7XG4gIHZhciB1c2VyV2FudHNDb250cm9sID0gZ2V0SG9va0FyZ3VtZW50c0xlbmd0aChsZWF2ZSk7XG5cbiAgdmFyIGV4cGxpY2l0TGVhdmVEdXJhdGlvbiA9IHRvTnVtYmVyKFxuICAgIGlzT2JqZWN0KGR1cmF0aW9uKVxuICAgICAgPyBkdXJhdGlvbi5sZWF2ZVxuICAgICAgOiBkdXJhdGlvblxuICApO1xuXG4gIGlmICggdHJ1ZSAmJiBpc0RlZihleHBsaWNpdExlYXZlRHVyYXRpb24pKSB7XG4gICAgY2hlY2tEdXJhdGlvbihleHBsaWNpdExlYXZlRHVyYXRpb24sICdsZWF2ZScsIHZub2RlKTtcbiAgfVxuXG4gIHZhciBjYiA9IGVsLl9sZWF2ZUNiID0gb25jZShmdW5jdGlvbiAoKSB7XG4gICAgaWYgKGVsLnBhcmVudE5vZGUgJiYgZWwucGFyZW50Tm9kZS5fcGVuZGluZykge1xuICAgICAgZWwucGFyZW50Tm9kZS5fcGVuZGluZ1t2bm9kZS5rZXldID0gbnVsbDtcbiAgICB9XG4gICAgaWYgKGV4cGVjdHNDU1MpIHtcbiAgICAgIHJlbW92ZVRyYW5zaXRpb25DbGFzcyhlbCwgbGVhdmVUb0NsYXNzKTtcbiAgICAgIHJlbW92ZVRyYW5zaXRpb25DbGFzcyhlbCwgbGVhdmVBY3RpdmVDbGFzcyk7XG4gICAgfVxuICAgIGlmIChjYi5jYW5jZWxsZWQpIHtcbiAgICAgIGlmIChleHBlY3RzQ1NTKSB7XG4gICAgICAgIHJlbW92ZVRyYW5zaXRpb25DbGFzcyhlbCwgbGVhdmVDbGFzcyk7XG4gICAgICB9XG4gICAgICBsZWF2ZUNhbmNlbGxlZCAmJiBsZWF2ZUNhbmNlbGxlZChlbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJtKCk7XG4gICAgICBhZnRlckxlYXZlICYmIGFmdGVyTGVhdmUoZWwpO1xuICAgIH1cbiAgICBlbC5fbGVhdmVDYiA9IG51bGw7XG4gIH0pO1xuXG4gIGlmIChkZWxheUxlYXZlKSB7XG4gICAgZGVsYXlMZWF2ZShwZXJmb3JtTGVhdmUpO1xuICB9IGVsc2Uge1xuICAgIHBlcmZvcm1MZWF2ZSgpO1xuICB9XG5cbiAgZnVuY3Rpb24gcGVyZm9ybUxlYXZlICgpIHtcbiAgICAvLyB0aGUgZGVsYXllZCBsZWF2ZSBtYXkgaGF2ZSBhbHJlYWR5IGJlZW4gY2FuY2VsbGVkXG4gICAgaWYgKGNiLmNhbmNlbGxlZCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIC8vIHJlY29yZCBsZWF2aW5nIGVsZW1lbnRcbiAgICBpZiAoIXZub2RlLmRhdGEuc2hvdyAmJiBlbC5wYXJlbnROb2RlKSB7XG4gICAgICAoZWwucGFyZW50Tm9kZS5fcGVuZGluZyB8fCAoZWwucGFyZW50Tm9kZS5fcGVuZGluZyA9IHt9KSlbKHZub2RlLmtleSldID0gdm5vZGU7XG4gICAgfVxuICAgIGJlZm9yZUxlYXZlICYmIGJlZm9yZUxlYXZlKGVsKTtcbiAgICBpZiAoZXhwZWN0c0NTUykge1xuICAgICAgYWRkVHJhbnNpdGlvbkNsYXNzKGVsLCBsZWF2ZUNsYXNzKTtcbiAgICAgIGFkZFRyYW5zaXRpb25DbGFzcyhlbCwgbGVhdmVBY3RpdmVDbGFzcyk7XG4gICAgICBuZXh0RnJhbWUoZnVuY3Rpb24gKCkge1xuICAgICAgICByZW1vdmVUcmFuc2l0aW9uQ2xhc3MoZWwsIGxlYXZlQ2xhc3MpO1xuICAgICAgICBpZiAoIWNiLmNhbmNlbGxlZCkge1xuICAgICAgICAgIGFkZFRyYW5zaXRpb25DbGFzcyhlbCwgbGVhdmVUb0NsYXNzKTtcbiAgICAgICAgICBpZiAoIXVzZXJXYW50c0NvbnRyb2wpIHtcbiAgICAgICAgICAgIGlmIChpc1ZhbGlkRHVyYXRpb24oZXhwbGljaXRMZWF2ZUR1cmF0aW9uKSkge1xuICAgICAgICAgICAgICBzZXRUaW1lb3V0KGNiLCBleHBsaWNpdExlYXZlRHVyYXRpb24pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgd2hlblRyYW5zaXRpb25FbmRzKGVsLCB0eXBlLCBjYik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgbGVhdmUgJiYgbGVhdmUoZWwsIGNiKTtcbiAgICBpZiAoIWV4cGVjdHNDU1MgJiYgIXVzZXJXYW50c0NvbnRyb2wpIHtcbiAgICAgIGNiKCk7XG4gICAgfVxuICB9XG59XG5cbi8vIG9ubHkgdXNlZCBpbiBkZXYgbW9kZVxuZnVuY3Rpb24gY2hlY2tEdXJhdGlvbiAodmFsLCBuYW1lLCB2bm9kZSkge1xuICBpZiAodHlwZW9mIHZhbCAhPT0gJ251bWJlcicpIHtcbiAgICB3YXJuKFxuICAgICAgXCI8dHJhbnNpdGlvbj4gZXhwbGljaXQgXCIgKyBuYW1lICsgXCIgZHVyYXRpb24gaXMgbm90IGEgdmFsaWQgbnVtYmVyIC0gXCIgK1xuICAgICAgXCJnb3QgXCIgKyAoSlNPTi5zdHJpbmdpZnkodmFsKSkgKyBcIi5cIixcbiAgICAgIHZub2RlLmNvbnRleHRcbiAgICApO1xuICB9IGVsc2UgaWYgKGlzTmFOKHZhbCkpIHtcbiAgICB3YXJuKFxuICAgICAgXCI8dHJhbnNpdGlvbj4gZXhwbGljaXQgXCIgKyBuYW1lICsgXCIgZHVyYXRpb24gaXMgTmFOIC0gXCIgK1xuICAgICAgJ3RoZSBkdXJhdGlvbiBleHByZXNzaW9uIG1pZ2h0IGJlIGluY29ycmVjdC4nLFxuICAgICAgdm5vZGUuY29udGV4dFxuICAgICk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNWYWxpZER1cmF0aW9uICh2YWwpIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICdudW1iZXInICYmICFpc05hTih2YWwpXG59XG5cbi8qKlxuICogTm9ybWFsaXplIGEgdHJhbnNpdGlvbiBob29rJ3MgYXJndW1lbnQgbGVuZ3RoLiBUaGUgaG9vayBtYXkgYmU6XG4gKiAtIGEgbWVyZ2VkIGhvb2sgKGludm9rZXIpIHdpdGggdGhlIG9yaWdpbmFsIGluIC5mbnNcbiAqIC0gYSB3cmFwcGVkIGNvbXBvbmVudCBtZXRob2QgKGNoZWNrIC5fbGVuZ3RoKVxuICogLSBhIHBsYWluIGZ1bmN0aW9uICgubGVuZ3RoKVxuICovXG5mdW5jdGlvbiBnZXRIb29rQXJndW1lbnRzTGVuZ3RoIChmbikge1xuICBpZiAoaXNVbmRlZihmbikpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuICB2YXIgaW52b2tlckZucyA9IGZuLmZucztcbiAgaWYgKGlzRGVmKGludm9rZXJGbnMpKSB7XG4gICAgLy8gaW52b2tlclxuICAgIHJldHVybiBnZXRIb29rQXJndW1lbnRzTGVuZ3RoKFxuICAgICAgQXJyYXkuaXNBcnJheShpbnZva2VyRm5zKVxuICAgICAgICA/IGludm9rZXJGbnNbMF1cbiAgICAgICAgOiBpbnZva2VyRm5zXG4gICAgKVxuICB9IGVsc2Uge1xuICAgIHJldHVybiAoZm4uX2xlbmd0aCB8fCBmbi5sZW5ndGgpID4gMVxuICB9XG59XG5cbmZ1bmN0aW9uIF9lbnRlciAoXywgdm5vZGUpIHtcbiAgaWYgKHZub2RlLmRhdGEuc2hvdyAhPT0gdHJ1ZSkge1xuICAgIGVudGVyKHZub2RlKTtcbiAgfVxufVxuXG52YXIgdHJhbnNpdGlvbiA9IGluQnJvd3NlciA/IHtcbiAgY3JlYXRlOiBfZW50ZXIsXG4gIGFjdGl2YXRlOiBfZW50ZXIsXG4gIHJlbW92ZTogZnVuY3Rpb24gcmVtb3ZlJCQxICh2bm9kZSwgcm0pIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh2bm9kZS5kYXRhLnNob3cgIT09IHRydWUpIHtcbiAgICAgIGxlYXZlKHZub2RlLCBybSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJtKCk7XG4gICAgfVxuICB9XG59IDoge307XG5cbnZhciBwbGF0Zm9ybU1vZHVsZXMgPSBbXG4gIGF0dHJzLFxuICBrbGFzcyxcbiAgZXZlbnRzLFxuICBkb21Qcm9wcyxcbiAgc3R5bGUsXG4gIHRyYW5zaXRpb25cbl07XG5cbi8qICAqL1xuXG4vLyB0aGUgZGlyZWN0aXZlIG1vZHVsZSBzaG91bGQgYmUgYXBwbGllZCBsYXN0LCBhZnRlciBhbGxcbi8vIGJ1aWx0LWluIG1vZHVsZXMgaGF2ZSBiZWVuIGFwcGxpZWQuXG52YXIgbW9kdWxlcyA9IHBsYXRmb3JtTW9kdWxlcy5jb25jYXQoYmFzZU1vZHVsZXMpO1xuXG52YXIgcGF0Y2ggPSBjcmVhdGVQYXRjaEZ1bmN0aW9uKHsgbm9kZU9wczogbm9kZU9wcywgbW9kdWxlczogbW9kdWxlcyB9KTtcblxuLyoqXG4gKiBOb3QgdHlwZSBjaGVja2luZyB0aGlzIGZpbGUgYmVjYXVzZSBmbG93IGRvZXNuJ3QgbGlrZSBhdHRhY2hpbmdcbiAqIHByb3BlcnRpZXMgdG8gRWxlbWVudHMuXG4gKi9cblxuLyogaXN0YW5idWwgaWdub3JlIGlmICovXG5pZiAoaXNJRTkpIHtcbiAgLy8gaHR0cDovL3d3dy5tYXR0czQxMS5jb20vcG9zdC9pbnRlcm5ldC1leHBsb3Jlci05LW9uaW5wdXQvXG4gIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3NlbGVjdGlvbmNoYW5nZScsIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgZWwgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuICAgIGlmIChlbCAmJiBlbC52bW9kZWwpIHtcbiAgICAgIHRyaWdnZXIoZWwsICdpbnB1dCcpO1xuICAgIH1cbiAgfSk7XG59XG5cbnZhciBkaXJlY3RpdmUgPSB7XG4gIGluc2VydGVkOiBmdW5jdGlvbiBpbnNlcnRlZCAoZWwsIGJpbmRpbmcsIHZub2RlLCBvbGRWbm9kZSkge1xuICAgIGlmICh2bm9kZS50YWcgPT09ICdzZWxlY3QnKSB7XG4gICAgICAvLyAjNjkwM1xuICAgICAgaWYgKG9sZFZub2RlLmVsbSAmJiAhb2xkVm5vZGUuZWxtLl92T3B0aW9ucykge1xuICAgICAgICBtZXJnZVZOb2RlSG9vayh2bm9kZSwgJ3Bvc3RwYXRjaCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBkaXJlY3RpdmUuY29tcG9uZW50VXBkYXRlZChlbCwgYmluZGluZywgdm5vZGUpO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldFNlbGVjdGVkKGVsLCBiaW5kaW5nLCB2bm9kZS5jb250ZXh0KTtcbiAgICAgIH1cbiAgICAgIGVsLl92T3B0aW9ucyA9IFtdLm1hcC5jYWxsKGVsLm9wdGlvbnMsIGdldFZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKHZub2RlLnRhZyA9PT0gJ3RleHRhcmVhJyB8fCBpc1RleHRJbnB1dFR5cGUoZWwudHlwZSkpIHtcbiAgICAgIGVsLl92TW9kaWZpZXJzID0gYmluZGluZy5tb2RpZmllcnM7XG4gICAgICBpZiAoIWJpbmRpbmcubW9kaWZpZXJzLmxhenkpIHtcbiAgICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcignY29tcG9zaXRpb25zdGFydCcsIG9uQ29tcG9zaXRpb25TdGFydCk7XG4gICAgICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NvbXBvc2l0aW9uZW5kJywgb25Db21wb3NpdGlvbkVuZCk7XG4gICAgICAgIC8vIFNhZmFyaSA8IDEwLjIgJiBVSVdlYlZpZXcgZG9lc24ndCBmaXJlIGNvbXBvc2l0aW9uZW5kIHdoZW5cbiAgICAgICAgLy8gc3dpdGNoaW5nIGZvY3VzIGJlZm9yZSBjb25maXJtaW5nIGNvbXBvc2l0aW9uIGNob2ljZVxuICAgICAgICAvLyB0aGlzIGFsc28gZml4ZXMgdGhlIGlzc3VlIHdoZXJlIHNvbWUgYnJvd3NlcnMgZS5nLiBpT1MgQ2hyb21lXG4gICAgICAgIC8vIGZpcmVzIFwiY2hhbmdlXCIgaW5zdGVhZCBvZiBcImlucHV0XCIgb24gYXV0b2NvbXBsZXRlLlxuICAgICAgICBlbC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBvbkNvbXBvc2l0aW9uRW5kKTtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgIGlmIChpc0lFOSkge1xuICAgICAgICAgIGVsLnZtb2RlbCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0sXG5cbiAgY29tcG9uZW50VXBkYXRlZDogZnVuY3Rpb24gY29tcG9uZW50VXBkYXRlZCAoZWwsIGJpbmRpbmcsIHZub2RlKSB7XG4gICAgaWYgKHZub2RlLnRhZyA9PT0gJ3NlbGVjdCcpIHtcbiAgICAgIHNldFNlbGVjdGVkKGVsLCBiaW5kaW5nLCB2bm9kZS5jb250ZXh0KTtcbiAgICAgIC8vIGluIGNhc2UgdGhlIG9wdGlvbnMgcmVuZGVyZWQgYnkgdi1mb3IgaGF2ZSBjaGFuZ2VkLFxuICAgICAgLy8gaXQncyBwb3NzaWJsZSB0aGF0IHRoZSB2YWx1ZSBpcyBvdXQtb2Ytc3luYyB3aXRoIHRoZSByZW5kZXJlZCBvcHRpb25zLlxuICAgICAgLy8gZGV0ZWN0IHN1Y2ggY2FzZXMgYW5kIGZpbHRlciBvdXQgdmFsdWVzIHRoYXQgbm8gbG9uZ2VyIGhhcyBhIG1hdGNoaW5nXG4gICAgICAvLyBvcHRpb24gaW4gdGhlIERPTS5cbiAgICAgIHZhciBwcmV2T3B0aW9ucyA9IGVsLl92T3B0aW9ucztcbiAgICAgIHZhciBjdXJPcHRpb25zID0gZWwuX3ZPcHRpb25zID0gW10ubWFwLmNhbGwoZWwub3B0aW9ucywgZ2V0VmFsdWUpO1xuICAgICAgaWYgKGN1ck9wdGlvbnMuc29tZShmdW5jdGlvbiAobywgaSkgeyByZXR1cm4gIWxvb3NlRXF1YWwobywgcHJldk9wdGlvbnNbaV0pOyB9KSkge1xuICAgICAgICAvLyB0cmlnZ2VyIGNoYW5nZSBldmVudCBpZlxuICAgICAgICAvLyBubyBtYXRjaGluZyBvcHRpb24gZm91bmQgZm9yIGF0IGxlYXN0IG9uZSB2YWx1ZVxuICAgICAgICB2YXIgbmVlZFJlc2V0ID0gZWwubXVsdGlwbGVcbiAgICAgICAgICA/IGJpbmRpbmcudmFsdWUuc29tZShmdW5jdGlvbiAodikgeyByZXR1cm4gaGFzTm9NYXRjaGluZ09wdGlvbih2LCBjdXJPcHRpb25zKTsgfSlcbiAgICAgICAgICA6IGJpbmRpbmcudmFsdWUgIT09IGJpbmRpbmcub2xkVmFsdWUgJiYgaGFzTm9NYXRjaGluZ09wdGlvbihiaW5kaW5nLnZhbHVlLCBjdXJPcHRpb25zKTtcbiAgICAgICAgaWYgKG5lZWRSZXNldCkge1xuICAgICAgICAgIHRyaWdnZXIoZWwsICdjaGFuZ2UnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufTtcblxuZnVuY3Rpb24gc2V0U2VsZWN0ZWQgKGVsLCBiaW5kaW5nLCB2bSkge1xuICBhY3R1YWxseVNldFNlbGVjdGVkKGVsLCBiaW5kaW5nLCB2bSk7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAoaXNJRSB8fCBpc0VkZ2UpIHtcbiAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgIGFjdHVhbGx5U2V0U2VsZWN0ZWQoZWwsIGJpbmRpbmcsIHZtKTtcbiAgICB9LCAwKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBhY3R1YWxseVNldFNlbGVjdGVkIChlbCwgYmluZGluZywgdm0pIHtcbiAgdmFyIHZhbHVlID0gYmluZGluZy52YWx1ZTtcbiAgdmFyIGlzTXVsdGlwbGUgPSBlbC5tdWx0aXBsZTtcbiAgaWYgKGlzTXVsdGlwbGUgJiYgIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgIHRydWUgJiYgd2FybihcbiAgICAgIFwiPHNlbGVjdCBtdWx0aXBsZSB2LW1vZGVsPVxcXCJcIiArIChiaW5kaW5nLmV4cHJlc3Npb24pICsgXCJcXFwiPiBcIiArXG4gICAgICBcImV4cGVjdHMgYW4gQXJyYXkgdmFsdWUgZm9yIGl0cyBiaW5kaW5nLCBidXQgZ290IFwiICsgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWx1ZSkuc2xpY2UoOCwgLTEpKSxcbiAgICAgIHZtXG4gICAgKTtcbiAgICByZXR1cm5cbiAgfVxuICB2YXIgc2VsZWN0ZWQsIG9wdGlvbjtcbiAgZm9yICh2YXIgaSA9IDAsIGwgPSBlbC5vcHRpb25zLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgIG9wdGlvbiA9IGVsLm9wdGlvbnNbaV07XG4gICAgaWYgKGlzTXVsdGlwbGUpIHtcbiAgICAgIHNlbGVjdGVkID0gbG9vc2VJbmRleE9mKHZhbHVlLCBnZXRWYWx1ZShvcHRpb24pKSA+IC0xO1xuICAgICAgaWYgKG9wdGlvbi5zZWxlY3RlZCAhPT0gc2VsZWN0ZWQpIHtcbiAgICAgICAgb3B0aW9uLnNlbGVjdGVkID0gc2VsZWN0ZWQ7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChsb29zZUVxdWFsKGdldFZhbHVlKG9wdGlvbiksIHZhbHVlKSkge1xuICAgICAgICBpZiAoZWwuc2VsZWN0ZWRJbmRleCAhPT0gaSkge1xuICAgICAgICAgIGVsLnNlbGVjdGVkSW5kZXggPSBpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgIH1cbiAgfVxuICBpZiAoIWlzTXVsdGlwbGUpIHtcbiAgICBlbC5zZWxlY3RlZEluZGV4ID0gLTE7XG4gIH1cbn1cblxuZnVuY3Rpb24gaGFzTm9NYXRjaGluZ09wdGlvbiAodmFsdWUsIG9wdGlvbnMpIHtcbiAgcmV0dXJuIG9wdGlvbnMuZXZlcnkoZnVuY3Rpb24gKG8pIHsgcmV0dXJuICFsb29zZUVxdWFsKG8sIHZhbHVlKTsgfSlcbn1cblxuZnVuY3Rpb24gZ2V0VmFsdWUgKG9wdGlvbikge1xuICByZXR1cm4gJ192YWx1ZScgaW4gb3B0aW9uXG4gICAgPyBvcHRpb24uX3ZhbHVlXG4gICAgOiBvcHRpb24udmFsdWVcbn1cblxuZnVuY3Rpb24gb25Db21wb3NpdGlvblN0YXJ0IChlKSB7XG4gIGUudGFyZ2V0LmNvbXBvc2luZyA9IHRydWU7XG59XG5cbmZ1bmN0aW9uIG9uQ29tcG9zaXRpb25FbmQgKGUpIHtcbiAgLy8gcHJldmVudCB0cmlnZ2VyaW5nIGFuIGlucHV0IGV2ZW50IGZvciBubyByZWFzb25cbiAgaWYgKCFlLnRhcmdldC5jb21wb3NpbmcpIHsgcmV0dXJuIH1cbiAgZS50YXJnZXQuY29tcG9zaW5nID0gZmFsc2U7XG4gIHRyaWdnZXIoZS50YXJnZXQsICdpbnB1dCcpO1xufVxuXG5mdW5jdGlvbiB0cmlnZ2VyIChlbCwgdHlwZSkge1xuICB2YXIgZSA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdIVE1MRXZlbnRzJyk7XG4gIGUuaW5pdEV2ZW50KHR5cGUsIHRydWUsIHRydWUpO1xuICBlbC5kaXNwYXRjaEV2ZW50KGUpO1xufVxuXG4vKiAgKi9cblxuLy8gcmVjdXJzaXZlbHkgc2VhcmNoIGZvciBwb3NzaWJsZSB0cmFuc2l0aW9uIGRlZmluZWQgaW5zaWRlIHRoZSBjb21wb25lbnQgcm9vdFxuZnVuY3Rpb24gbG9jYXRlTm9kZSAodm5vZGUpIHtcbiAgcmV0dXJuIHZub2RlLmNvbXBvbmVudEluc3RhbmNlICYmICghdm5vZGUuZGF0YSB8fCAhdm5vZGUuZGF0YS50cmFuc2l0aW9uKVxuICAgID8gbG9jYXRlTm9kZSh2bm9kZS5jb21wb25lbnRJbnN0YW5jZS5fdm5vZGUpXG4gICAgOiB2bm9kZVxufVxuXG52YXIgc2hvdyA9IHtcbiAgYmluZDogZnVuY3Rpb24gYmluZCAoZWwsIHJlZiwgdm5vZGUpIHtcbiAgICB2YXIgdmFsdWUgPSByZWYudmFsdWU7XG5cbiAgICB2bm9kZSA9IGxvY2F0ZU5vZGUodm5vZGUpO1xuICAgIHZhciB0cmFuc2l0aW9uJCQxID0gdm5vZGUuZGF0YSAmJiB2bm9kZS5kYXRhLnRyYW5zaXRpb247XG4gICAgdmFyIG9yaWdpbmFsRGlzcGxheSA9IGVsLl9fdk9yaWdpbmFsRGlzcGxheSA9XG4gICAgICBlbC5zdHlsZS5kaXNwbGF5ID09PSAnbm9uZScgPyAnJyA6IGVsLnN0eWxlLmRpc3BsYXk7XG4gICAgaWYgKHZhbHVlICYmIHRyYW5zaXRpb24kJDEpIHtcbiAgICAgIHZub2RlLmRhdGEuc2hvdyA9IHRydWU7XG4gICAgICBlbnRlcih2bm9kZSwgZnVuY3Rpb24gKCkge1xuICAgICAgICBlbC5zdHlsZS5kaXNwbGF5ID0gb3JpZ2luYWxEaXNwbGF5O1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVsLnN0eWxlLmRpc3BsYXkgPSB2YWx1ZSA/IG9yaWdpbmFsRGlzcGxheSA6ICdub25lJztcbiAgICB9XG4gIH0sXG5cbiAgdXBkYXRlOiBmdW5jdGlvbiB1cGRhdGUgKGVsLCByZWYsIHZub2RlKSB7XG4gICAgdmFyIHZhbHVlID0gcmVmLnZhbHVlO1xuICAgIHZhciBvbGRWYWx1ZSA9IHJlZi5vbGRWYWx1ZTtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmICghdmFsdWUgPT09ICFvbGRWYWx1ZSkgeyByZXR1cm4gfVxuICAgIHZub2RlID0gbG9jYXRlTm9kZSh2bm9kZSk7XG4gICAgdmFyIHRyYW5zaXRpb24kJDEgPSB2bm9kZS5kYXRhICYmIHZub2RlLmRhdGEudHJhbnNpdGlvbjtcbiAgICBpZiAodHJhbnNpdGlvbiQkMSkge1xuICAgICAgdm5vZGUuZGF0YS5zaG93ID0gdHJ1ZTtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICBlbnRlcih2bm9kZSwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGVsLnN0eWxlLmRpc3BsYXkgPSBlbC5fX3ZPcmlnaW5hbERpc3BsYXk7XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGVhdmUodm5vZGUsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBlbC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgZWwuc3R5bGUuZGlzcGxheSA9IHZhbHVlID8gZWwuX192T3JpZ2luYWxEaXNwbGF5IDogJ25vbmUnO1xuICAgIH1cbiAgfSxcblxuICB1bmJpbmQ6IGZ1bmN0aW9uIHVuYmluZCAoXG4gICAgZWwsXG4gICAgYmluZGluZyxcbiAgICB2bm9kZSxcbiAgICBvbGRWbm9kZSxcbiAgICBpc0Rlc3Ryb3lcbiAgKSB7XG4gICAgaWYgKCFpc0Rlc3Ryb3kpIHtcbiAgICAgIGVsLnN0eWxlLmRpc3BsYXkgPSBlbC5fX3ZPcmlnaW5hbERpc3BsYXk7XG4gICAgfVxuICB9XG59O1xuXG52YXIgcGxhdGZvcm1EaXJlY3RpdmVzID0ge1xuICBtb2RlbDogZGlyZWN0aXZlLFxuICBzaG93OiBzaG93XG59O1xuXG4vKiAgKi9cblxudmFyIHRyYW5zaXRpb25Qcm9wcyA9IHtcbiAgbmFtZTogU3RyaW5nLFxuICBhcHBlYXI6IEJvb2xlYW4sXG4gIGNzczogQm9vbGVhbixcbiAgbW9kZTogU3RyaW5nLFxuICB0eXBlOiBTdHJpbmcsXG4gIGVudGVyQ2xhc3M6IFN0cmluZyxcbiAgbGVhdmVDbGFzczogU3RyaW5nLFxuICBlbnRlclRvQ2xhc3M6IFN0cmluZyxcbiAgbGVhdmVUb0NsYXNzOiBTdHJpbmcsXG4gIGVudGVyQWN0aXZlQ2xhc3M6IFN0cmluZyxcbiAgbGVhdmVBY3RpdmVDbGFzczogU3RyaW5nLFxuICBhcHBlYXJDbGFzczogU3RyaW5nLFxuICBhcHBlYXJBY3RpdmVDbGFzczogU3RyaW5nLFxuICBhcHBlYXJUb0NsYXNzOiBTdHJpbmcsXG4gIGR1cmF0aW9uOiBbTnVtYmVyLCBTdHJpbmcsIE9iamVjdF1cbn07XG5cbi8vIGluIGNhc2UgdGhlIGNoaWxkIGlzIGFsc28gYW4gYWJzdHJhY3QgY29tcG9uZW50LCBlLmcuIDxrZWVwLWFsaXZlPlxuLy8gd2Ugd2FudCB0byByZWN1cnNpdmVseSByZXRyaWV2ZSB0aGUgcmVhbCBjb21wb25lbnQgdG8gYmUgcmVuZGVyZWRcbmZ1bmN0aW9uIGdldFJlYWxDaGlsZCAodm5vZGUpIHtcbiAgdmFyIGNvbXBPcHRpb25zID0gdm5vZGUgJiYgdm5vZGUuY29tcG9uZW50T3B0aW9ucztcbiAgaWYgKGNvbXBPcHRpb25zICYmIGNvbXBPcHRpb25zLkN0b3Iub3B0aW9ucy5hYnN0cmFjdCkge1xuICAgIHJldHVybiBnZXRSZWFsQ2hpbGQoZ2V0Rmlyc3RDb21wb25lbnRDaGlsZChjb21wT3B0aW9ucy5jaGlsZHJlbikpXG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHZub2RlXG4gIH1cbn1cblxuZnVuY3Rpb24gZXh0cmFjdFRyYW5zaXRpb25EYXRhIChjb21wKSB7XG4gIHZhciBkYXRhID0ge307XG4gIHZhciBvcHRpb25zID0gY29tcC4kb3B0aW9ucztcbiAgLy8gcHJvcHNcbiAgZm9yICh2YXIga2V5IGluIG9wdGlvbnMucHJvcHNEYXRhKSB7XG4gICAgZGF0YVtrZXldID0gY29tcFtrZXldO1xuICB9XG4gIC8vIGV2ZW50cy5cbiAgLy8gZXh0cmFjdCBsaXN0ZW5lcnMgYW5kIHBhc3MgdGhlbSBkaXJlY3RseSB0byB0aGUgdHJhbnNpdGlvbiBtZXRob2RzXG4gIHZhciBsaXN0ZW5lcnMgPSBvcHRpb25zLl9wYXJlbnRMaXN0ZW5lcnM7XG4gIGZvciAodmFyIGtleSQxIGluIGxpc3RlbmVycykge1xuICAgIGRhdGFbY2FtZWxpemUoa2V5JDEpXSA9IGxpc3RlbmVyc1trZXkkMV07XG4gIH1cbiAgcmV0dXJuIGRhdGFcbn1cblxuZnVuY3Rpb24gcGxhY2Vob2xkZXIgKGgsIHJhd0NoaWxkKSB7XG4gIGlmICgvXFxkLWtlZXAtYWxpdmUkLy50ZXN0KHJhd0NoaWxkLnRhZykpIHtcbiAgICByZXR1cm4gaCgna2VlcC1hbGl2ZScsIHtcbiAgICAgIHByb3BzOiByYXdDaGlsZC5jb21wb25lbnRPcHRpb25zLnByb3BzRGF0YVxuICAgIH0pXG4gIH1cbn1cblxuZnVuY3Rpb24gaGFzUGFyZW50VHJhbnNpdGlvbiAodm5vZGUpIHtcbiAgd2hpbGUgKCh2bm9kZSA9IHZub2RlLnBhcmVudCkpIHtcbiAgICBpZiAodm5vZGUuZGF0YS50cmFuc2l0aW9uKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpc1NhbWVDaGlsZCAoY2hpbGQsIG9sZENoaWxkKSB7XG4gIHJldHVybiBvbGRDaGlsZC5rZXkgPT09IGNoaWxkLmtleSAmJiBvbGRDaGlsZC50YWcgPT09IGNoaWxkLnRhZ1xufVxuXG52YXIgaXNOb3RUZXh0Tm9kZSA9IGZ1bmN0aW9uIChjKSB7IHJldHVybiBjLnRhZyB8fCBpc0FzeW5jUGxhY2Vob2xkZXIoYyk7IH07XG5cbnZhciBpc1ZTaG93RGlyZWN0aXZlID0gZnVuY3Rpb24gKGQpIHsgcmV0dXJuIGQubmFtZSA9PT0gJ3Nob3cnOyB9O1xuXG52YXIgVHJhbnNpdGlvbiA9IHtcbiAgbmFtZTogJ3RyYW5zaXRpb24nLFxuICBwcm9wczogdHJhbnNpdGlvblByb3BzLFxuICBhYnN0cmFjdDogdHJ1ZSxcblxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlciAoaCkge1xuICAgIHZhciB0aGlzJDEgPSB0aGlzO1xuXG4gICAgdmFyIGNoaWxkcmVuID0gdGhpcy4kc2xvdHMuZGVmYXVsdDtcbiAgICBpZiAoIWNoaWxkcmVuKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICAvLyBmaWx0ZXIgb3V0IHRleHQgbm9kZXMgKHBvc3NpYmxlIHdoaXRlc3BhY2VzKVxuICAgIGNoaWxkcmVuID0gY2hpbGRyZW4uZmlsdGVyKGlzTm90VGV4dE5vZGUpO1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmICghY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICAvLyB3YXJuIG11bHRpcGxlIGVsZW1lbnRzXG4gICAgaWYgKCB0cnVlICYmIGNoaWxkcmVuLmxlbmd0aCA+IDEpIHtcbiAgICAgIHdhcm4oXG4gICAgICAgICc8dHJhbnNpdGlvbj4gY2FuIG9ubHkgYmUgdXNlZCBvbiBhIHNpbmdsZSBlbGVtZW50LiBVc2UgJyArXG4gICAgICAgICc8dHJhbnNpdGlvbi1ncm91cD4gZm9yIGxpc3RzLicsXG4gICAgICAgIHRoaXMuJHBhcmVudFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB2YXIgbW9kZSA9IHRoaXMubW9kZTtcblxuICAgIC8vIHdhcm4gaW52YWxpZCBtb2RlXG4gICAgaWYgKCB0cnVlICYmXG4gICAgICBtb2RlICYmIG1vZGUgIT09ICdpbi1vdXQnICYmIG1vZGUgIT09ICdvdXQtaW4nXG4gICAgKSB7XG4gICAgICB3YXJuKFxuICAgICAgICAnaW52YWxpZCA8dHJhbnNpdGlvbj4gbW9kZTogJyArIG1vZGUsXG4gICAgICAgIHRoaXMuJHBhcmVudFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB2YXIgcmF3Q2hpbGQgPSBjaGlsZHJlblswXTtcblxuICAgIC8vIGlmIHRoaXMgaXMgYSBjb21wb25lbnQgcm9vdCBub2RlIGFuZCB0aGUgY29tcG9uZW50J3NcbiAgICAvLyBwYXJlbnQgY29udGFpbmVyIG5vZGUgYWxzbyBoYXMgdHJhbnNpdGlvbiwgc2tpcC5cbiAgICBpZiAoaGFzUGFyZW50VHJhbnNpdGlvbih0aGlzLiR2bm9kZSkpIHtcbiAgICAgIHJldHVybiByYXdDaGlsZFxuICAgIH1cblxuICAgIC8vIGFwcGx5IHRyYW5zaXRpb24gZGF0YSB0byBjaGlsZFxuICAgIC8vIHVzZSBnZXRSZWFsQ2hpbGQoKSB0byBpZ25vcmUgYWJzdHJhY3QgY29tcG9uZW50cyBlLmcuIGtlZXAtYWxpdmVcbiAgICB2YXIgY2hpbGQgPSBnZXRSZWFsQ2hpbGQocmF3Q2hpbGQpO1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmICghY2hpbGQpIHtcbiAgICAgIHJldHVybiByYXdDaGlsZFxuICAgIH1cblxuICAgIGlmICh0aGlzLl9sZWF2aW5nKSB7XG4gICAgICByZXR1cm4gcGxhY2Vob2xkZXIoaCwgcmF3Q2hpbGQpXG4gICAgfVxuXG4gICAgLy8gZW5zdXJlIGEga2V5IHRoYXQgaXMgdW5pcXVlIHRvIHRoZSB2bm9kZSB0eXBlIGFuZCB0byB0aGlzIHRyYW5zaXRpb25cbiAgICAvLyBjb21wb25lbnQgaW5zdGFuY2UuIFRoaXMga2V5IHdpbGwgYmUgdXNlZCB0byByZW1vdmUgcGVuZGluZyBsZWF2aW5nIG5vZGVzXG4gICAgLy8gZHVyaW5nIGVudGVyaW5nLlxuICAgIHZhciBpZCA9IFwiX190cmFuc2l0aW9uLVwiICsgKHRoaXMuX3VpZCkgKyBcIi1cIjtcbiAgICBjaGlsZC5rZXkgPSBjaGlsZC5rZXkgPT0gbnVsbFxuICAgICAgPyBjaGlsZC5pc0NvbW1lbnRcbiAgICAgICAgPyBpZCArICdjb21tZW50J1xuICAgICAgICA6IGlkICsgY2hpbGQudGFnXG4gICAgICA6IGlzUHJpbWl0aXZlKGNoaWxkLmtleSlcbiAgICAgICAgPyAoU3RyaW5nKGNoaWxkLmtleSkuaW5kZXhPZihpZCkgPT09IDAgPyBjaGlsZC5rZXkgOiBpZCArIGNoaWxkLmtleSlcbiAgICAgICAgOiBjaGlsZC5rZXk7XG5cbiAgICB2YXIgZGF0YSA9IChjaGlsZC5kYXRhIHx8IChjaGlsZC5kYXRhID0ge30pKS50cmFuc2l0aW9uID0gZXh0cmFjdFRyYW5zaXRpb25EYXRhKHRoaXMpO1xuICAgIHZhciBvbGRSYXdDaGlsZCA9IHRoaXMuX3Zub2RlO1xuICAgIHZhciBvbGRDaGlsZCA9IGdldFJlYWxDaGlsZChvbGRSYXdDaGlsZCk7XG5cbiAgICAvLyBtYXJrIHYtc2hvd1xuICAgIC8vIHNvIHRoYXQgdGhlIHRyYW5zaXRpb24gbW9kdWxlIGNhbiBoYW5kIG92ZXIgdGhlIGNvbnRyb2wgdG8gdGhlIGRpcmVjdGl2ZVxuICAgIGlmIChjaGlsZC5kYXRhLmRpcmVjdGl2ZXMgJiYgY2hpbGQuZGF0YS5kaXJlY3RpdmVzLnNvbWUoaXNWU2hvd0RpcmVjdGl2ZSkpIHtcbiAgICAgIGNoaWxkLmRhdGEuc2hvdyA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgb2xkQ2hpbGQgJiZcbiAgICAgIG9sZENoaWxkLmRhdGEgJiZcbiAgICAgICFpc1NhbWVDaGlsZChjaGlsZCwgb2xkQ2hpbGQpICYmXG4gICAgICAhaXNBc3luY1BsYWNlaG9sZGVyKG9sZENoaWxkKSAmJlxuICAgICAgLy8gIzY2ODcgY29tcG9uZW50IHJvb3QgaXMgYSBjb21tZW50IG5vZGVcbiAgICAgICEob2xkQ2hpbGQuY29tcG9uZW50SW5zdGFuY2UgJiYgb2xkQ2hpbGQuY29tcG9uZW50SW5zdGFuY2UuX3Zub2RlLmlzQ29tbWVudClcbiAgICApIHtcbiAgICAgIC8vIHJlcGxhY2Ugb2xkIGNoaWxkIHRyYW5zaXRpb24gZGF0YSB3aXRoIGZyZXNoIG9uZVxuICAgICAgLy8gaW1wb3J0YW50IGZvciBkeW5hbWljIHRyYW5zaXRpb25zIVxuICAgICAgdmFyIG9sZERhdGEgPSBvbGRDaGlsZC5kYXRhLnRyYW5zaXRpb24gPSBleHRlbmQoe30sIGRhdGEpO1xuICAgICAgLy8gaGFuZGxlIHRyYW5zaXRpb24gbW9kZVxuICAgICAgaWYgKG1vZGUgPT09ICdvdXQtaW4nKSB7XG4gICAgICAgIC8vIHJldHVybiBwbGFjZWhvbGRlciBub2RlIGFuZCBxdWV1ZSB1cGRhdGUgd2hlbiBsZWF2ZSBmaW5pc2hlc1xuICAgICAgICB0aGlzLl9sZWF2aW5nID0gdHJ1ZTtcbiAgICAgICAgbWVyZ2VWTm9kZUhvb2sob2xkRGF0YSwgJ2FmdGVyTGVhdmUnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgdGhpcyQxLl9sZWF2aW5nID0gZmFsc2U7XG4gICAgICAgICAgdGhpcyQxLiRmb3JjZVVwZGF0ZSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHBsYWNlaG9sZGVyKGgsIHJhd0NoaWxkKVxuICAgICAgfSBlbHNlIGlmIChtb2RlID09PSAnaW4tb3V0Jykge1xuICAgICAgICBpZiAoaXNBc3luY1BsYWNlaG9sZGVyKGNoaWxkKSkge1xuICAgICAgICAgIHJldHVybiBvbGRSYXdDaGlsZFxuICAgICAgICB9XG4gICAgICAgIHZhciBkZWxheWVkTGVhdmU7XG4gICAgICAgIHZhciBwZXJmb3JtTGVhdmUgPSBmdW5jdGlvbiAoKSB7IGRlbGF5ZWRMZWF2ZSgpOyB9O1xuICAgICAgICBtZXJnZVZOb2RlSG9vayhkYXRhLCAnYWZ0ZXJFbnRlcicsIHBlcmZvcm1MZWF2ZSk7XG4gICAgICAgIG1lcmdlVk5vZGVIb29rKGRhdGEsICdlbnRlckNhbmNlbGxlZCcsIHBlcmZvcm1MZWF2ZSk7XG4gICAgICAgIG1lcmdlVk5vZGVIb29rKG9sZERhdGEsICdkZWxheUxlYXZlJywgZnVuY3Rpb24gKGxlYXZlKSB7IGRlbGF5ZWRMZWF2ZSA9IGxlYXZlOyB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmF3Q2hpbGRcbiAgfVxufTtcblxuLyogICovXG5cbnZhciBwcm9wcyA9IGV4dGVuZCh7XG4gIHRhZzogU3RyaW5nLFxuICBtb3ZlQ2xhc3M6IFN0cmluZ1xufSwgdHJhbnNpdGlvblByb3BzKTtcblxuZGVsZXRlIHByb3BzLm1vZGU7XG5cbnZhciBUcmFuc2l0aW9uR3JvdXAgPSB7XG4gIHByb3BzOiBwcm9wcyxcblxuICBiZWZvcmVNb3VudDogZnVuY3Rpb24gYmVmb3JlTW91bnQgKCkge1xuICAgIHZhciB0aGlzJDEgPSB0aGlzO1xuXG4gICAgdmFyIHVwZGF0ZSA9IHRoaXMuX3VwZGF0ZTtcbiAgICB0aGlzLl91cGRhdGUgPSBmdW5jdGlvbiAodm5vZGUsIGh5ZHJhdGluZykge1xuICAgICAgdmFyIHJlc3RvcmVBY3RpdmVJbnN0YW5jZSA9IHNldEFjdGl2ZUluc3RhbmNlKHRoaXMkMSk7XG4gICAgICAvLyBmb3JjZSByZW1vdmluZyBwYXNzXG4gICAgICB0aGlzJDEuX19wYXRjaF9fKFxuICAgICAgICB0aGlzJDEuX3Zub2RlLFxuICAgICAgICB0aGlzJDEua2VwdCxcbiAgICAgICAgZmFsc2UsIC8vIGh5ZHJhdGluZ1xuICAgICAgICB0cnVlIC8vIHJlbW92ZU9ubHkgKCFpbXBvcnRhbnQsIGF2b2lkcyB1bm5lY2Vzc2FyeSBtb3ZlcylcbiAgICAgICk7XG4gICAgICB0aGlzJDEuX3Zub2RlID0gdGhpcyQxLmtlcHQ7XG4gICAgICByZXN0b3JlQWN0aXZlSW5zdGFuY2UoKTtcbiAgICAgIHVwZGF0ZS5jYWxsKHRoaXMkMSwgdm5vZGUsIGh5ZHJhdGluZyk7XG4gICAgfTtcbiAgfSxcblxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlciAoaCkge1xuICAgIHZhciB0YWcgPSB0aGlzLnRhZyB8fCB0aGlzLiR2bm9kZS5kYXRhLnRhZyB8fCAnc3Bhbic7XG4gICAgdmFyIG1hcCA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgdmFyIHByZXZDaGlsZHJlbiA9IHRoaXMucHJldkNoaWxkcmVuID0gdGhpcy5jaGlsZHJlbjtcbiAgICB2YXIgcmF3Q2hpbGRyZW4gPSB0aGlzLiRzbG90cy5kZWZhdWx0IHx8IFtdO1xuICAgIHZhciBjaGlsZHJlbiA9IHRoaXMuY2hpbGRyZW4gPSBbXTtcbiAgICB2YXIgdHJhbnNpdGlvbkRhdGEgPSBleHRyYWN0VHJhbnNpdGlvbkRhdGEodGhpcyk7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJhd0NoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgYyA9IHJhd0NoaWxkcmVuW2ldO1xuICAgICAgaWYgKGMudGFnKSB7XG4gICAgICAgIGlmIChjLmtleSAhPSBudWxsICYmIFN0cmluZyhjLmtleSkuaW5kZXhPZignX192bGlzdCcpICE9PSAwKSB7XG4gICAgICAgICAgY2hpbGRyZW4ucHVzaChjKTtcbiAgICAgICAgICBtYXBbYy5rZXldID0gY1xuICAgICAgICAgIDsoYy5kYXRhIHx8IChjLmRhdGEgPSB7fSkpLnRyYW5zaXRpb24gPSB0cmFuc2l0aW9uRGF0YTtcbiAgICAgICAgfSBlbHNlIGlmICh0cnVlKSB7XG4gICAgICAgICAgdmFyIG9wdHMgPSBjLmNvbXBvbmVudE9wdGlvbnM7XG4gICAgICAgICAgdmFyIG5hbWUgPSBvcHRzID8gKG9wdHMuQ3Rvci5vcHRpb25zLm5hbWUgfHwgb3B0cy50YWcgfHwgJycpIDogYy50YWc7XG4gICAgICAgICAgd2FybigoXCI8dHJhbnNpdGlvbi1ncm91cD4gY2hpbGRyZW4gbXVzdCBiZSBrZXllZDogPFwiICsgbmFtZSArIFwiPlwiKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocHJldkNoaWxkcmVuKSB7XG4gICAgICB2YXIga2VwdCA9IFtdO1xuICAgICAgdmFyIHJlbW92ZWQgPSBbXTtcbiAgICAgIGZvciAodmFyIGkkMSA9IDA7IGkkMSA8IHByZXZDaGlsZHJlbi5sZW5ndGg7IGkkMSsrKSB7XG4gICAgICAgIHZhciBjJDEgPSBwcmV2Q2hpbGRyZW5baSQxXTtcbiAgICAgICAgYyQxLmRhdGEudHJhbnNpdGlvbiA9IHRyYW5zaXRpb25EYXRhO1xuICAgICAgICBjJDEuZGF0YS5wb3MgPSBjJDEuZWxtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBpZiAobWFwW2MkMS5rZXldKSB7XG4gICAgICAgICAga2VwdC5wdXNoKGMkMSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVtb3ZlZC5wdXNoKGMkMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMua2VwdCA9IGgodGFnLCBudWxsLCBrZXB0KTtcbiAgICAgIHRoaXMucmVtb3ZlZCA9IHJlbW92ZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIGgodGFnLCBudWxsLCBjaGlsZHJlbilcbiAgfSxcblxuICB1cGRhdGVkOiBmdW5jdGlvbiB1cGRhdGVkICgpIHtcbiAgICB2YXIgY2hpbGRyZW4gPSB0aGlzLnByZXZDaGlsZHJlbjtcbiAgICB2YXIgbW92ZUNsYXNzID0gdGhpcy5tb3ZlQ2xhc3MgfHwgKCh0aGlzLm5hbWUgfHwgJ3YnKSArICctbW92ZScpO1xuICAgIGlmICghY2hpbGRyZW4ubGVuZ3RoIHx8ICF0aGlzLmhhc01vdmUoY2hpbGRyZW5bMF0uZWxtLCBtb3ZlQ2xhc3MpKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICAvLyB3ZSBkaXZpZGUgdGhlIHdvcmsgaW50byB0aHJlZSBsb29wcyB0byBhdm9pZCBtaXhpbmcgRE9NIHJlYWRzIGFuZCB3cml0ZXNcbiAgICAvLyBpbiBlYWNoIGl0ZXJhdGlvbiAtIHdoaWNoIGhlbHBzIHByZXZlbnQgbGF5b3V0IHRocmFzaGluZy5cbiAgICBjaGlsZHJlbi5mb3JFYWNoKGNhbGxQZW5kaW5nQ2JzKTtcbiAgICBjaGlsZHJlbi5mb3JFYWNoKHJlY29yZFBvc2l0aW9uKTtcbiAgICBjaGlsZHJlbi5mb3JFYWNoKGFwcGx5VHJhbnNsYXRpb24pO1xuXG4gICAgLy8gZm9yY2UgcmVmbG93IHRvIHB1dCBldmVyeXRoaW5nIGluIHBvc2l0aW9uXG4gICAgLy8gYXNzaWduIHRvIHRoaXMgdG8gYXZvaWQgYmVpbmcgcmVtb3ZlZCBpbiB0cmVlLXNoYWtpbmdcbiAgICAvLyAkZmxvdy1kaXNhYmxlLWxpbmVcbiAgICB0aGlzLl9yZWZsb3cgPSBkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodDtcblxuICAgIGNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24gKGMpIHtcbiAgICAgIGlmIChjLmRhdGEubW92ZWQpIHtcbiAgICAgICAgdmFyIGVsID0gYy5lbG07XG4gICAgICAgIHZhciBzID0gZWwuc3R5bGU7XG4gICAgICAgIGFkZFRyYW5zaXRpb25DbGFzcyhlbCwgbW92ZUNsYXNzKTtcbiAgICAgICAgcy50cmFuc2Zvcm0gPSBzLldlYmtpdFRyYW5zZm9ybSA9IHMudHJhbnNpdGlvbkR1cmF0aW9uID0gJyc7XG4gICAgICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIodHJhbnNpdGlvbkVuZEV2ZW50LCBlbC5fbW92ZUNiID0gZnVuY3Rpb24gY2IgKGUpIHtcbiAgICAgICAgICBpZiAoZSAmJiBlLnRhcmdldCAhPT0gZWwpIHtcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoIWUgfHwgL3RyYW5zZm9ybSQvLnRlc3QoZS5wcm9wZXJ0eU5hbWUpKSB7XG4gICAgICAgICAgICBlbC5yZW1vdmVFdmVudExpc3RlbmVyKHRyYW5zaXRpb25FbmRFdmVudCwgY2IpO1xuICAgICAgICAgICAgZWwuX21vdmVDYiA9IG51bGw7XG4gICAgICAgICAgICByZW1vdmVUcmFuc2l0aW9uQ2xhc3MoZWwsIG1vdmVDbGFzcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSxcblxuICBtZXRob2RzOiB7XG4gICAgaGFzTW92ZTogZnVuY3Rpb24gaGFzTW92ZSAoZWwsIG1vdmVDbGFzcykge1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICBpZiAoIWhhc1RyYW5zaXRpb24pIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICB9XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgIGlmICh0aGlzLl9oYXNNb3ZlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9oYXNNb3ZlXG4gICAgICB9XG4gICAgICAvLyBEZXRlY3Qgd2hldGhlciBhbiBlbGVtZW50IHdpdGggdGhlIG1vdmUgY2xhc3MgYXBwbGllZCBoYXNcbiAgICAgIC8vIENTUyB0cmFuc2l0aW9ucy4gU2luY2UgdGhlIGVsZW1lbnQgbWF5IGJlIGluc2lkZSBhbiBlbnRlcmluZ1xuICAgICAgLy8gdHJhbnNpdGlvbiBhdCB0aGlzIHZlcnkgbW9tZW50LCB3ZSBtYWtlIGEgY2xvbmUgb2YgaXQgYW5kIHJlbW92ZVxuICAgICAgLy8gYWxsIG90aGVyIHRyYW5zaXRpb24gY2xhc3NlcyBhcHBsaWVkIHRvIGVuc3VyZSBvbmx5IHRoZSBtb3ZlIGNsYXNzXG4gICAgICAvLyBpcyBhcHBsaWVkLlxuICAgICAgdmFyIGNsb25lID0gZWwuY2xvbmVOb2RlKCk7XG4gICAgICBpZiAoZWwuX3RyYW5zaXRpb25DbGFzc2VzKSB7XG4gICAgICAgIGVsLl90cmFuc2l0aW9uQ2xhc3Nlcy5mb3JFYWNoKGZ1bmN0aW9uIChjbHMpIHsgcmVtb3ZlQ2xhc3MoY2xvbmUsIGNscyk7IH0pO1xuICAgICAgfVxuICAgICAgYWRkQ2xhc3MoY2xvbmUsIG1vdmVDbGFzcyk7XG4gICAgICBjbG9uZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgdGhpcy4kZWwuYXBwZW5kQ2hpbGQoY2xvbmUpO1xuICAgICAgdmFyIGluZm8gPSBnZXRUcmFuc2l0aW9uSW5mbyhjbG9uZSk7XG4gICAgICB0aGlzLiRlbC5yZW1vdmVDaGlsZChjbG9uZSk7XG4gICAgICByZXR1cm4gKHRoaXMuX2hhc01vdmUgPSBpbmZvLmhhc1RyYW5zZm9ybSlcbiAgICB9XG4gIH1cbn07XG5cbmZ1bmN0aW9uIGNhbGxQZW5kaW5nQ2JzIChjKSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAoYy5lbG0uX21vdmVDYikge1xuICAgIGMuZWxtLl9tb3ZlQ2IoKTtcbiAgfVxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKGMuZWxtLl9lbnRlckNiKSB7XG4gICAgYy5lbG0uX2VudGVyQ2IoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZWNvcmRQb3NpdGlvbiAoYykge1xuICBjLmRhdGEubmV3UG9zID0gYy5lbG0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG59XG5cbmZ1bmN0aW9uIGFwcGx5VHJhbnNsYXRpb24gKGMpIHtcbiAgdmFyIG9sZFBvcyA9IGMuZGF0YS5wb3M7XG4gIHZhciBuZXdQb3MgPSBjLmRhdGEubmV3UG9zO1xuICB2YXIgZHggPSBvbGRQb3MubGVmdCAtIG5ld1Bvcy5sZWZ0O1xuICB2YXIgZHkgPSBvbGRQb3MudG9wIC0gbmV3UG9zLnRvcDtcbiAgaWYgKGR4IHx8IGR5KSB7XG4gICAgYy5kYXRhLm1vdmVkID0gdHJ1ZTtcbiAgICB2YXIgcyA9IGMuZWxtLnN0eWxlO1xuICAgIHMudHJhbnNmb3JtID0gcy5XZWJraXRUcmFuc2Zvcm0gPSBcInRyYW5zbGF0ZShcIiArIGR4ICsgXCJweCxcIiArIGR5ICsgXCJweClcIjtcbiAgICBzLnRyYW5zaXRpb25EdXJhdGlvbiA9ICcwcyc7XG4gIH1cbn1cblxudmFyIHBsYXRmb3JtQ29tcG9uZW50cyA9IHtcbiAgVHJhbnNpdGlvbjogVHJhbnNpdGlvbixcbiAgVHJhbnNpdGlvbkdyb3VwOiBUcmFuc2l0aW9uR3JvdXBcbn07XG5cbi8qICAqL1xuXG4vLyBpbnN0YWxsIHBsYXRmb3JtIHNwZWNpZmljIHV0aWxzXG5WdWUuY29uZmlnLm11c3RVc2VQcm9wID0gbXVzdFVzZVByb3A7XG5WdWUuY29uZmlnLmlzUmVzZXJ2ZWRUYWcgPSBpc1Jlc2VydmVkVGFnO1xuVnVlLmNvbmZpZy5pc1Jlc2VydmVkQXR0ciA9IGlzUmVzZXJ2ZWRBdHRyO1xuVnVlLmNvbmZpZy5nZXRUYWdOYW1lc3BhY2UgPSBnZXRUYWdOYW1lc3BhY2U7XG5WdWUuY29uZmlnLmlzVW5rbm93bkVsZW1lbnQgPSBpc1Vua25vd25FbGVtZW50O1xuXG4vLyBpbnN0YWxsIHBsYXRmb3JtIHJ1bnRpbWUgZGlyZWN0aXZlcyAmIGNvbXBvbmVudHNcbmV4dGVuZChWdWUub3B0aW9ucy5kaXJlY3RpdmVzLCBwbGF0Zm9ybURpcmVjdGl2ZXMpO1xuZXh0ZW5kKFZ1ZS5vcHRpb25zLmNvbXBvbmVudHMsIHBsYXRmb3JtQ29tcG9uZW50cyk7XG5cbi8vIGluc3RhbGwgcGxhdGZvcm0gcGF0Y2ggZnVuY3Rpb25cblZ1ZS5wcm90b3R5cGUuX19wYXRjaF9fID0gaW5Ccm93c2VyID8gcGF0Y2ggOiBub29wO1xuXG4vLyBwdWJsaWMgbW91bnQgbWV0aG9kXG5WdWUucHJvdG90eXBlLiRtb3VudCA9IGZ1bmN0aW9uIChcbiAgZWwsXG4gIGh5ZHJhdGluZ1xuKSB7XG4gIGVsID0gZWwgJiYgaW5Ccm93c2VyID8gcXVlcnkoZWwpIDogdW5kZWZpbmVkO1xuICByZXR1cm4gbW91bnRDb21wb25lbnQodGhpcywgZWwsIGh5ZHJhdGluZylcbn07XG5cbi8vIGRldnRvb2xzIGdsb2JhbCBob29rXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuaWYgKGluQnJvd3Nlcikge1xuICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoY29uZmlnLmRldnRvb2xzKSB7XG4gICAgICBpZiAoZGV2dG9vbHMpIHtcbiAgICAgICAgZGV2dG9vbHMuZW1pdCgnaW5pdCcsIFZ1ZSk7XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgdHJ1ZSAmJlxuICAgICAgICBpc0Nocm9tZVxuICAgICAgKSB7XG4gICAgICAgIGNvbnNvbGVbY29uc29sZS5pbmZvID8gJ2luZm8nIDogJ2xvZyddKFxuICAgICAgICAgICdEb3dubG9hZCB0aGUgVnVlIERldnRvb2xzIGV4dGVuc2lvbiBmb3IgYSBiZXR0ZXIgZGV2ZWxvcG1lbnQgZXhwZXJpZW5jZTpcXG4nICtcbiAgICAgICAgICAnaHR0cHM6Ly9naXRodWIuY29tL3Z1ZWpzL3Z1ZS1kZXZ0b29scydcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKCB0cnVlICYmXG4gICAgICBjb25maWcucHJvZHVjdGlvblRpcCAhPT0gZmFsc2UgJiZcbiAgICAgIHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJ1xuICAgICkge1xuICAgICAgY29uc29sZVtjb25zb2xlLmluZm8gPyAnaW5mbycgOiAnbG9nJ10oXG4gICAgICAgIFwiWW91IGFyZSBydW5uaW5nIFZ1ZSBpbiBkZXZlbG9wbWVudCBtb2RlLlxcblwiICtcbiAgICAgICAgXCJNYWtlIHN1cmUgdG8gdHVybiBvbiBwcm9kdWN0aW9uIG1vZGUgd2hlbiBkZXBsb3lpbmcgZm9yIHByb2R1Y3Rpb24uXFxuXCIgK1xuICAgICAgICBcIlNlZSBtb3JlIHRpcHMgYXQgaHR0cHM6Ly92dWVqcy5vcmcvZ3VpZGUvZGVwbG95bWVudC5odG1sXCJcbiAgICAgICk7XG4gICAgfVxuICB9LCAwKTtcbn1cblxuLyogICovXG5cbi8qIGhhcm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSAoVnVlKTtcblxuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovfS5jYWxsKHRoaXMsIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vLi4vd2VicGFjay9idWlsZGluL2dsb2JhbC5qcyAqLyBcIi4vbm9kZV9tb2R1bGVzL3dlYnBhY2svYnVpbGRpbi9nbG9iYWwuanNcIikpKS8vIyBzb3VyY2VVUkw9W21vZHVsZV1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZkblZsTDJScGMzUXZkblZsTG5KMWJuUnBiV1V1WlhOdExtcHpMbXB6SWl3aWMyOTFjbU5sY3lJNld5SjNaV0p3WVdOck9pOHZMeTR2Ym05a1pWOXRiMlIxYkdWekwzWjFaUzlrYVhOMEwzWjFaUzV5ZFc1MGFXMWxMbVZ6YlM1cWN6OHlZakJsSWwwc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHFJVnh1SUNvZ1ZuVmxMbXB6SUhZeUxqVXVNakZjYmlBcUlDaGpLU0F5TURFMExUSXdNVGdnUlhaaGJpQlpiM1ZjYmlBcUlGSmxiR1ZoYzJWa0lIVnVaR1Z5SUhSb1pTQk5TVlFnVEdsalpXNXpaUzVjYmlBcUwxeHVMeW9nSUNvdlhHNWNiblpoY2lCbGJYQjBlVTlpYW1WamRDQTlJRTlpYW1WamRDNW1jbVZsZW1Vb2UzMHBPMXh1WEc0dkx5QlVhR1Z6WlNCb1pXeHdaWEp6SUhCeWIyUjFZMlVnWW1WMGRHVnlJRlpOSUdOdlpHVWdhVzRnU2xNZ1pXNW5hVzVsY3lCa2RXVWdkRzhnZEdobGFYSmNiaTh2SUdWNGNHeHBZMmwwYm1WemN5QmhibVFnWm5WdVkzUnBiMjRnYVc1c2FXNXBibWN1WEc1bWRXNWpkR2x2YmlCcGMxVnVaR1ZtSUNoMktTQjdYRzRnSUhKbGRIVnliaUIySUQwOVBTQjFibVJsWm1sdVpXUWdmSHdnZGlBOVBUMGdiblZzYkZ4dWZWeHVYRzVtZFc1amRHbHZiaUJwYzBSbFppQW9kaWtnZTF4dUlDQnlaWFIxY200Z2RpQWhQVDBnZFc1a1pXWnBibVZrSUNZbUlIWWdJVDA5SUc1MWJHeGNibjFjYmx4dVpuVnVZM1JwYjI0Z2FYTlVjblZsSUNoMktTQjdYRzRnSUhKbGRIVnliaUIySUQwOVBTQjBjblZsWEc1OVhHNWNibVoxYm1OMGFXOXVJR2x6Um1Gc2MyVWdLSFlwSUh0Y2JpQWdjbVYwZFhKdUlIWWdQVDA5SUdaaGJITmxYRzU5WEc1Y2JpOHFLbHh1SUNvZ1EyaGxZMnNnYVdZZ2RtRnNkV1VnYVhNZ2NISnBiV2wwYVhabExseHVJQ292WEc1bWRXNWpkR2x2YmlCcGMxQnlhVzFwZEdsMlpTQW9kbUZzZFdVcElIdGNiaUFnY21WMGRYSnVJQ2hjYmlBZ0lDQjBlWEJsYjJZZ2RtRnNkV1VnUFQwOUlDZHpkSEpwYm1jbklIeDhYRzRnSUNBZ2RIbHdaVzltSUhaaGJIVmxJRDA5UFNBbmJuVnRZbVZ5SnlCOGZGeHVJQ0FnSUM4dklDUm1iRzkzTFdScGMyRmliR1V0YkdsdVpWeHVJQ0FnSUhSNWNHVnZaaUIyWVd4MVpTQTlQVDBnSjNONWJXSnZiQ2NnZkh4Y2JpQWdJQ0IwZVhCbGIyWWdkbUZzZFdVZ1BUMDlJQ2RpYjI5c1pXRnVKMXh1SUNBcFhHNTlYRzVjYmk4cUtseHVJQ29nVVhWcFkyc2diMkpxWldOMElHTm9aV05ySUMwZ2RHaHBjeUJwY3lCd2NtbHRZWEpwYkhrZ2RYTmxaQ0IwYnlCMFpXeHNYRzRnS2lCUFltcGxZM1J6SUdaeWIyMGdjSEpwYldsMGFYWmxJSFpoYkhWbGN5QjNhR1Z1SUhkbElHdHViM2NnZEdobElIWmhiSFZsWEc0Z0tpQnBjeUJoSUVwVFQwNHRZMjl0Y0d4cFlXNTBJSFI1Y0dVdVhHNGdLaTljYm1aMWJtTjBhVzl1SUdselQySnFaV04wSUNodlltb3BJSHRjYmlBZ2NtVjBkWEp1SUc5aWFpQWhQVDBnYm5Wc2JDQW1KaUIwZVhCbGIyWWdiMkpxSUQwOVBTQW5iMkpxWldOMEoxeHVmVnh1WEc0dktpcGNiaUFxSUVkbGRDQjBhR1VnY21GM0lIUjVjR1VnYzNSeWFXNW5JRzltSUdFZ2RtRnNkV1VzSUdVdVp5NHNJRnR2WW1wbFkzUWdUMkpxWldOMFhTNWNiaUFxTDF4dWRtRnlJRjkwYjFOMGNtbHVaeUE5SUU5aWFtVmpkQzV3Y205MGIzUjVjR1V1ZEc5VGRISnBibWM3WEc1Y2JtWjFibU4wYVc5dUlIUnZVbUYzVkhsd1pTQW9kbUZzZFdVcElIdGNiaUFnY21WMGRYSnVJRjkwYjFOMGNtbHVaeTVqWVd4c0tIWmhiSFZsS1M1emJHbGpaU2c0TENBdE1TbGNibjFjYmx4dUx5b3FYRzRnS2lCVGRISnBZM1FnYjJKcVpXTjBJSFI1Y0dVZ1kyaGxZMnN1SUU5dWJIa2djbVYwZFhKdWN5QjBjblZsWEc0Z0tpQm1iM0lnY0d4aGFXNGdTbUYyWVZOamNtbHdkQ0J2WW1wbFkzUnpMbHh1SUNvdlhHNW1kVzVqZEdsdmJpQnBjMUJzWVdsdVQySnFaV04wSUNodlltb3BJSHRjYmlBZ2NtVjBkWEp1SUY5MGIxTjBjbWx1Wnk1allXeHNLRzlpYWlrZ1BUMDlJQ2RiYjJKcVpXTjBJRTlpYW1WamRGMG5YRzU5WEc1Y2JtWjFibU4wYVc5dUlHbHpVbVZuUlhod0lDaDJLU0I3WEc0Z0lISmxkSFZ5YmlCZmRHOVRkSEpwYm1jdVkyRnNiQ2gyS1NBOVBUMGdKMXR2WW1wbFkzUWdVbVZuUlhod1hTZGNibjFjYmx4dUx5b3FYRzRnS2lCRGFHVmpheUJwWmlCMllXd2dhWE1nWVNCMllXeHBaQ0JoY25KaGVTQnBibVJsZUM1Y2JpQXFMMXh1Wm5WdVkzUnBiMjRnYVhOV1lXeHBaRUZ5Y21GNVNXNWtaWGdnS0haaGJDa2dlMXh1SUNCMllYSWdiaUE5SUhCaGNuTmxSbXh2WVhRb1UzUnlhVzVuS0haaGJDa3BPMXh1SUNCeVpYUjFjbTRnYmlBK1BTQXdJQ1ltSUUxaGRHZ3VabXh2YjNJb2Jpa2dQVDA5SUc0Z0ppWWdhWE5HYVc1cGRHVW9kbUZzS1Z4dWZWeHVYRzR2S2lwY2JpQXFJRU52Ym5abGNuUWdZU0IyWVd4MVpTQjBieUJoSUhOMGNtbHVaeUIwYUdGMElHbHpJR0ZqZEhWaGJHeDVJSEpsYm1SbGNtVmtMbHh1SUNvdlhHNW1kVzVqZEdsdmJpQjBiMU4wY21sdVp5QW9kbUZzS1NCN1hHNGdJSEpsZEhWeWJpQjJZV3dnUFQwZ2JuVnNiRnh1SUNBZ0lEOGdKeWRjYmlBZ0lDQTZJSFI1Y0dWdlppQjJZV3dnUFQwOUlDZHZZbXBsWTNRblhHNGdJQ0FnSUNBL0lFcFRUMDR1YzNSeWFXNW5hV1o1S0haaGJDd2diblZzYkN3Z01pbGNiaUFnSUNBZ0lEb2dVM1J5YVc1bktIWmhiQ2xjYm4xY2JseHVMeW9xWEc0Z0tpQkRiMjUyWlhKMElHRnVJR2x1Y0hWMElIWmhiSFZsSUhSdklHRWdiblZ0WW1WeUlHWnZjaUJ3WlhKemFYTjBaVzVqWlM1Y2JpQXFJRWxtSUhSb1pTQmpiMjUyWlhKemFXOXVJR1poYVd4ekxDQnlaWFIxY200Z2IzSnBaMmx1WVd3Z2MzUnlhVzVuTGx4dUlDb3ZYRzVtZFc1amRHbHZiaUIwYjA1MWJXSmxjaUFvZG1Gc0tTQjdYRzRnSUhaaGNpQnVJRDBnY0dGeWMyVkdiRzloZENoMllXd3BPMXh1SUNCeVpYUjFjbTRnYVhOT1lVNG9iaWtnUHlCMllXd2dPaUJ1WEc1OVhHNWNiaThxS2x4dUlDb2dUV0ZyWlNCaElHMWhjQ0JoYm1RZ2NtVjBkWEp1SUdFZ1puVnVZM1JwYjI0Z1ptOXlJR05vWldOcmFXNW5JR2xtSUdFZ2EyVjVYRzRnS2lCcGN5QnBiaUIwYUdGMElHMWhjQzVjYmlBcUwxeHVablZ1WTNScGIyNGdiV0ZyWlUxaGNDQW9YRzRnSUhOMGNpeGNiaUFnWlhod1pXTjBjMHh2ZDJWeVEyRnpaVnh1S1NCN1hHNGdJSFpoY2lCdFlYQWdQU0JQWW1wbFkzUXVZM0psWVhSbEtHNTFiR3dwTzF4dUlDQjJZWElnYkdsemRDQTlJSE4wY2k1emNHeHBkQ2duTENjcE8xeHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUd4cGMzUXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0J0WVhCYmJHbHpkRnRwWFYwZ1BTQjBjblZsTzF4dUlDQjlYRzRnSUhKbGRIVnliaUJsZUhCbFkzUnpURzkzWlhKRFlYTmxYRzRnSUNBZ1B5Qm1kVzVqZEdsdmJpQW9kbUZzS1NCN0lISmxkSFZ5YmlCdFlYQmJkbUZzTG5SdlRHOTNaWEpEWVhObEtDbGRPeUI5WEc0Z0lDQWdPaUJtZFc1amRHbHZiaUFvZG1Gc0tTQjdJSEpsZEhWeWJpQnRZWEJiZG1Gc1hUc2dmVnh1ZlZ4dVhHNHZLaXBjYmlBcUlFTm9aV05ySUdsbUlHRWdkR0ZuSUdseklHRWdZblZwYkhRdGFXNGdkR0ZuTGx4dUlDb3ZYRzUyWVhJZ2FYTkNkV2xzZEVsdVZHRm5JRDBnYldGclpVMWhjQ2duYzJ4dmRDeGpiMjF3YjI1bGJuUW5MQ0IwY25WbEtUdGNibHh1THlvcVhHNGdLaUJEYUdWamF5QnBaaUJoYmlCaGRIUnlhV0oxZEdVZ2FYTWdZU0J5WlhObGNuWmxaQ0JoZEhSeWFXSjFkR1V1WEc0Z0tpOWNiblpoY2lCcGMxSmxjMlZ5ZG1Wa1FYUjBjbWxpZFhSbElEMGdiV0ZyWlUxaGNDZ25hMlY1TEhKbFppeHpiRzkwTEhOc2IzUXRjMk52Y0dVc2FYTW5LVHRjYmx4dUx5b3FYRzRnS2lCU1pXMXZkbVVnWVc0Z2FYUmxiU0JtY205dElHRnVJR0Z5Y21GNUxseHVJQ292WEc1bWRXNWpkR2x2YmlCeVpXMXZkbVVnS0dGeWNpd2dhWFJsYlNrZ2UxeHVJQ0JwWmlBb1lYSnlMbXhsYm1kMGFDa2dlMXh1SUNBZ0lIWmhjaUJwYm1SbGVDQTlJR0Z5Y2k1cGJtUmxlRTltS0dsMFpXMHBPMXh1SUNBZ0lHbG1JQ2hwYm1SbGVDQStJQzB4S1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWVhKeUxuTndiR2xqWlNocGJtUmxlQ3dnTVNsY2JpQWdJQ0I5WEc0Z0lIMWNibjFjYmx4dUx5b3FYRzRnS2lCRGFHVmpheUIzYUdWMGFHVnlJR0Z1SUc5aWFtVmpkQ0JvWVhNZ2RHaGxJSEJ5YjNCbGNuUjVMbHh1SUNvdlhHNTJZWElnYUdGelQzZHVVSEp2Y0dWeWRIa2dQU0JQWW1wbFkzUXVjSEp2ZEc5MGVYQmxMbWhoYzA5M2JsQnliM0JsY25SNU8xeHVablZ1WTNScGIyNGdhR0Z6VDNkdUlDaHZZbW9zSUd0bGVTa2dlMXh1SUNCeVpYUjFjbTRnYUdGelQzZHVVSEp2Y0dWeWRIa3VZMkZzYkNodlltb3NJR3RsZVNsY2JuMWNibHh1THlvcVhHNGdLaUJEY21WaGRHVWdZU0JqWVdOb1pXUWdkbVZ5YzJsdmJpQnZaaUJoSUhCMWNtVWdablZ1WTNScGIyNHVYRzRnS2k5Y2JtWjFibU4wYVc5dUlHTmhZMmhsWkNBb1ptNHBJSHRjYmlBZ2RtRnlJR05oWTJobElEMGdUMkpxWldOMExtTnlaV0YwWlNodWRXeHNLVHRjYmlBZ2NtVjBkWEp1SUNobWRXNWpkR2x2YmlCallXTm9aV1JHYmlBb2MzUnlLU0I3WEc0Z0lDQWdkbUZ5SUdocGRDQTlJR05oWTJobFczTjBjbDA3WEc0Z0lDQWdjbVYwZFhKdUlHaHBkQ0I4ZkNBb1kyRmphR1ZiYzNSeVhTQTlJR1p1S0hOMGNpa3BYRzRnSUgwcFhHNTlYRzVjYmk4cUtseHVJQ29nUTJGdFpXeHBlbVVnWVNCb2VYQm9aVzR0WkdWc2FXMXBkR1ZrSUhOMGNtbHVaeTVjYmlBcUwxeHVkbUZ5SUdOaGJXVnNhWHBsVWtVZ1BTQXZMU2hjWEhjcEwyYzdYRzUyWVhJZ1kyRnRaV3hwZW1VZ1BTQmpZV05vWldRb1puVnVZM1JwYjI0Z0tITjBjaWtnZTF4dUlDQnlaWFIxY200Z2MzUnlMbkpsY0d4aFkyVW9ZMkZ0Wld4cGVtVlNSU3dnWm5WdVkzUnBiMjRnS0Y4c0lHTXBJSHNnY21WMGRYSnVJR01nUHlCakxuUnZWWEJ3WlhKRFlYTmxLQ2tnT2lBbkp6c2dmU2xjYm4wcE8xeHVYRzR2S2lwY2JpQXFJRU5oY0dsMFlXeHBlbVVnWVNCemRISnBibWN1WEc0Z0tpOWNiblpoY2lCallYQnBkR0ZzYVhwbElEMGdZMkZqYUdWa0tHWjFibU4wYVc5dUlDaHpkSElwSUh0Y2JpQWdjbVYwZFhKdUlITjBjaTVqYUdGeVFYUW9NQ2t1ZEc5VmNIQmxja05oYzJVb0tTQXJJSE4wY2k1emJHbGpaU2d4S1Z4dWZTazdYRzVjYmk4cUtseHVJQ29nU0hsd2FHVnVZWFJsSUdFZ1kyRnRaV3hEWVhObElITjBjbWx1Wnk1Y2JpQXFMMXh1ZG1GeUlHaDVjR2hsYm1GMFpWSkZJRDBnTDF4Y1FpaGJRUzFhWFNrdlp6dGNiblpoY2lCb2VYQm9aVzVoZEdVZ1BTQmpZV05vWldRb1puVnVZM1JwYjI0Z0tITjBjaWtnZTF4dUlDQnlaWFIxY200Z2MzUnlMbkpsY0d4aFkyVW9hSGx3YUdWdVlYUmxVa1VzSUNjdEpERW5LUzUwYjB4dmQyVnlRMkZ6WlNncFhHNTlLVHRjYmx4dUx5b3FYRzRnS2lCVGFXMXdiR1VnWW1sdVpDQndiMng1Wm1sc2JDQm1iM0lnWlc1MmFYSnZibTFsYm5SeklIUm9ZWFFnWkc4Z2JtOTBJSE4xY0hCdmNuUWdhWFFzWEc0Z0tpQmxMbWN1TENCUWFHRnVkRzl0U2xNZ01TNTRMaUJVWldOb2JtbGpZV3hzZVN3Z2QyVWdaRzl1SjNRZ2JtVmxaQ0IwYUdseklHRnVlVzF2Y21WY2JpQXFJSE5wYm1ObElHNWhkR2wyWlNCaWFXNWtJR2x6SUc1dmR5QndaWEptYjNKdFlXNTBJR1Z1YjNWbmFDQnBiaUJ0YjNOMElHSnliM2R6WlhKekxseHVJQ29nUW5WMElISmxiVzkyYVc1bklHbDBJSGR2ZFd4a0lHMWxZVzRnWW5KbFlXdHBibWNnWTI5a1pTQjBhR0YwSUhkaGN5QmhZbXhsSUhSdklISjFiaUJwYmx4dUlDb2dVR2hoYm5SdmJVcFRJREV1ZUN3Z2MyOGdkR2hwY3lCdGRYTjBJR0psSUd0bGNIUWdabTl5SUdKaFkydDNZWEprSUdOdmJYQmhkR2xpYVd4cGRIa3VYRzRnS2k5Y2JseHVMeW9nYVhOMFlXNWlkV3dnYVdkdWIzSmxJRzVsZUhRZ0tpOWNibVoxYm1OMGFXOXVJSEJ2YkhsbWFXeHNRbWx1WkNBb1ptNHNJR04wZUNrZ2UxeHVJQ0JtZFc1amRHbHZiaUJpYjNWdVpFWnVJQ2hoS1NCN1hHNGdJQ0FnZG1GeUlHd2dQU0JoY21kMWJXVnVkSE11YkdWdVozUm9PMXh1SUNBZ0lISmxkSFZ5YmlCc1hHNGdJQ0FnSUNBL0lHd2dQaUF4WEc0Z0lDQWdJQ0FnSUQ4Z1ptNHVZWEJ3Ykhrb1kzUjRMQ0JoY21kMWJXVnVkSE1wWEc0Z0lDQWdJQ0FnSURvZ1ptNHVZMkZzYkNoamRIZ3NJR0VwWEc0Z0lDQWdJQ0E2SUdadUxtTmhiR3dvWTNSNEtWeHVJQ0I5WEc1Y2JpQWdZbTkxYm1SR2JpNWZiR1Z1WjNSb0lEMGdabTR1YkdWdVozUm9PMXh1SUNCeVpYUjFjbTRnWW05MWJtUkdibHh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnVZWFJwZG1WQ2FXNWtJQ2htYml3Z1kzUjRLU0I3WEc0Z0lISmxkSFZ5YmlCbWJpNWlhVzVrS0dOMGVDbGNibjFjYmx4dWRtRnlJR0pwYm1RZ1BTQkdkVzVqZEdsdmJpNXdjbTkwYjNSNWNHVXVZbWx1WkZ4dUlDQS9JRzVoZEdsMlpVSnBibVJjYmlBZ09pQndiMng1Wm1sc2JFSnBibVE3WEc1Y2JpOHFLbHh1SUNvZ1EyOXVkbVZ5ZENCaGJpQkJjbkpoZVMxc2FXdGxJRzlpYW1WamRDQjBieUJoSUhKbFlXd2dRWEp5WVhrdVhHNGdLaTljYm1aMWJtTjBhVzl1SUhSdlFYSnlZWGtnS0d4cGMzUXNJSE4wWVhKMEtTQjdYRzRnSUhOMFlYSjBJRDBnYzNSaGNuUWdmSHdnTUR0Y2JpQWdkbUZ5SUdrZ1BTQnNhWE4wTG14bGJtZDBhQ0F0SUhOMFlYSjBPMXh1SUNCMllYSWdjbVYwSUQwZ2JtVjNJRUZ5Y21GNUtHa3BPMXh1SUNCM2FHbHNaU0FvYVMwdEtTQjdYRzRnSUNBZ2NtVjBXMmxkSUQwZ2JHbHpkRnRwSUNzZ2MzUmhjblJkTzF4dUlDQjlYRzRnSUhKbGRIVnliaUJ5WlhSY2JuMWNibHh1THlvcVhHNGdLaUJOYVhnZ2NISnZjR1Z5ZEdsbGN5QnBiblJ2SUhSaGNtZGxkQ0J2WW1wbFkzUXVYRzRnS2k5Y2JtWjFibU4wYVc5dUlHVjRkR1Z1WkNBb2RHOHNJRjltY205dEtTQjdYRzRnSUdadmNpQW9kbUZ5SUd0bGVTQnBiaUJmWm5KdmJTa2dlMXh1SUNBZ0lIUnZXMnRsZVYwZ1BTQmZabkp2YlZ0clpYbGRPMXh1SUNCOVhHNGdJSEpsZEhWeWJpQjBiMXh1ZlZ4dVhHNHZLaXBjYmlBcUlFMWxjbWRsSUdGdUlFRnljbUY1SUc5bUlFOWlhbVZqZEhNZ2FXNTBieUJoSUhOcGJtZHNaU0JQWW1wbFkzUXVYRzRnS2k5Y2JtWjFibU4wYVc5dUlIUnZUMkpxWldOMElDaGhjbklwSUh0Y2JpQWdkbUZ5SUhKbGN5QTlJSHQ5TzF4dUlDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR0Z5Y2k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lHbG1JQ2hoY25KYmFWMHBJSHRjYmlBZ0lDQWdJR1Y0ZEdWdVpDaHlaWE1zSUdGeWNsdHBYU2s3WEc0Z0lDQWdmVnh1SUNCOVhHNGdJSEpsZEhWeWJpQnlaWE5jYm4xY2JseHVMeW9nWlhOc2FXNTBMV1JwYzJGaWJHVWdibTh0ZFc1MWMyVmtMWFpoY25NZ0tpOWNibHh1THlvcVhHNGdLaUJRWlhKbWIzSnRJRzV2SUc5d1pYSmhkR2x2Ymk1Y2JpQXFJRk4wZFdKaWFXNW5JR0Z5WjNNZ2RHOGdiV0ZyWlNCR2JHOTNJR2hoY0hCNUlIZHBkR2h2ZFhRZ2JHVmhkbWx1WnlCMWMyVnNaWE56SUhSeVlXNXpjR2xzWldRZ1kyOWtaVnh1SUNvZ2QybDBhQ0F1TGk1eVpYTjBJQ2hvZEhSd2N6b3ZMMlpzYjNjdWIzSm5MMkpzYjJjdk1qQXhOeTh3TlM4d055OVRkSEpwWTNRdFJuVnVZM1JwYjI0dFEyRnNiQzFCY21sMGVTOHBMbHh1SUNvdlhHNW1kVzVqZEdsdmJpQnViMjl3SUNoaExDQmlMQ0JqS1NCN2ZWeHVYRzR2S2lwY2JpQXFJRUZzZDJGNWN5QnlaWFIxY200Z1ptRnNjMlV1WEc0Z0tpOWNiblpoY2lCdWJ5QTlJR1oxYm1OMGFXOXVJQ2hoTENCaUxDQmpLU0I3SUhKbGRIVnliaUJtWVd4elpUc2dmVHRjYmx4dUx5b2daWE5zYVc1MExXVnVZV0pzWlNCdWJ5MTFiblZ6WldRdGRtRnljeUFxTDF4dVhHNHZLaXBjYmlBcUlGSmxkSFZ5YmlCMGFHVWdjMkZ0WlNCMllXeDFaUzVjYmlBcUwxeHVkbUZ5SUdsa1pXNTBhWFI1SUQwZ1puVnVZM1JwYjI0Z0tGOHBJSHNnY21WMGRYSnVJRjg3SUgwN1hHNWNiaThxS2x4dUlDb2dRMmhsWTJzZ2FXWWdkSGR2SUhaaGJIVmxjeUJoY21VZ2JHOXZjMlZzZVNCbGNYVmhiQ0F0SUhSb1lYUWdhWE1zWEc0Z0tpQnBaaUIwYUdWNUlHRnlaU0J3YkdGcGJpQnZZbXBsWTNSekxDQmtieUIwYUdWNUlHaGhkbVVnZEdobElITmhiV1VnYzJoaGNHVS9YRzRnS2k5Y2JtWjFibU4wYVc5dUlHeHZiM05sUlhGMVlXd2dLR0VzSUdJcElIdGNiaUFnYVdZZ0tHRWdQVDA5SUdJcElIc2djbVYwZFhKdUlIUnlkV1VnZlZ4dUlDQjJZWElnYVhOUFltcGxZM1JCSUQwZ2FYTlBZbXBsWTNRb1lTazdYRzRnSUhaaGNpQnBjMDlpYW1WamRFSWdQU0JwYzA5aWFtVmpkQ2hpS1R0Y2JpQWdhV1lnS0dselQySnFaV04wUVNBbUppQnBjMDlpYW1WamRFSXBJSHRjYmlBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnZG1GeUlHbHpRWEp5WVhsQklEMGdRWEp5WVhrdWFYTkJjbkpoZVNoaEtUdGNiaUFnSUNBZ0lIWmhjaUJwYzBGeWNtRjVRaUE5SUVGeWNtRjVMbWx6UVhKeVlYa29ZaWs3WEc0Z0lDQWdJQ0JwWmlBb2FYTkJjbkpoZVVFZ0ppWWdhWE5CY25KaGVVSXBJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR0V1YkdWdVozUm9JRDA5UFNCaUxteGxibWQwYUNBbUppQmhMbVYyWlhKNUtHWjFibU4wYVc5dUlDaGxMQ0JwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHeHZiM05sUlhGMVlXd29aU3dnWWx0cFhTbGNiaUFnSUNBZ0lDQWdmU2xjYmlBZ0lDQWdJSDBnWld4elpTQnBaaUFvWVNCcGJuTjBZVzVqWlc5bUlFUmhkR1VnSmlZZ1lpQnBibk4wWVc1alpXOW1JRVJoZEdVcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHRXVaMlYwVkdsdFpTZ3BJRDA5UFNCaUxtZGxkRlJwYldVb0tWeHVJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDZ2hhWE5CY25KaGVVRWdKaVlnSVdselFYSnlZWGxDS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJyWlhselFTQTlJRTlpYW1WamRDNXJaWGx6S0dFcE8xeHVJQ0FnSUNBZ0lDQjJZWElnYTJWNWMwSWdQU0JQWW1wbFkzUXVhMlY1Y3loaUtUdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHdGxlWE5CTG14bGJtZDBhQ0E5UFQwZ2EyVjVjMEl1YkdWdVozUm9JQ1ltSUd0bGVYTkJMbVYyWlhKNUtHWjFibU4wYVc5dUlDaHJaWGtwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2JHOXZjMlZGY1hWaGJDaGhXMnRsZVYwc0lHSmJhMlY1WFNsY2JpQWdJQ0FnSUNBZ2ZTbGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDOHFJR2x6ZEdGdVluVnNJR2xuYm05eVpTQnVaWGgwSUNvdlhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCbVlXeHpaVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMGdZMkYwWTJnZ0tHVXBJSHRjYmlBZ0lDQWdJQzhxSUdsemRHRnVZblZzSUdsbmJtOXlaU0J1WlhoMElDb3ZYRzRnSUNBZ0lDQnlaWFIxY200Z1ptRnNjMlZjYmlBZ0lDQjlYRzRnSUgwZ1pXeHpaU0JwWmlBb0lXbHpUMkpxWldOMFFTQW1KaUFoYVhOUFltcGxZM1JDS1NCN1hHNGdJQ0FnY21WMGRYSnVJRk4wY21sdVp5aGhLU0E5UFQwZ1UzUnlhVzVuS0dJcFhHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2NtVjBkWEp1SUdaaGJITmxYRzRnSUgxY2JuMWNibHh1THlvcVhHNGdLaUJTWlhSMWNtNGdkR2hsSUdacGNuTjBJR2x1WkdWNElHRjBJSGRvYVdOb0lHRWdiRzl2YzJWc2VTQmxjWFZoYkNCMllXeDFaU0JqWVc0Z1ltVmNiaUFxSUdadmRXNWtJR2x1SUhSb1pTQmhjbkpoZVNBb2FXWWdkbUZzZFdVZ2FYTWdZU0J3YkdGcGJpQnZZbXBsWTNRc0lIUm9aU0JoY25KaGVTQnRkWE4wWEc0Z0tpQmpiMjUwWVdsdUlHRnVJRzlpYW1WamRDQnZaaUIwYUdVZ2MyRnRaU0J6YUdGd1pTa3NJRzl5SUMweElHbG1JR2wwSUdseklHNXZkQ0J3Y21WelpXNTBMbHh1SUNvdlhHNW1kVzVqZEdsdmJpQnNiMjl6WlVsdVpHVjRUMllnS0dGeWNpd2dkbUZzS1NCN1hHNGdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnWVhKeUxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdhV1lnS0d4dmIzTmxSWEYxWVd3b1lYSnlXMmxkTENCMllXd3BLU0I3SUhKbGRIVnliaUJwSUgxY2JpQWdmVnh1SUNCeVpYUjFjbTRnTFRGY2JuMWNibHh1THlvcVhHNGdLaUJGYm5OMWNtVWdZU0JtZFc1amRHbHZiaUJwY3lCallXeHNaV1FnYjI1c2VTQnZibU5sTGx4dUlDb3ZYRzVtZFc1amRHbHZiaUJ2Ym1ObElDaG1iaWtnZTF4dUlDQjJZWElnWTJGc2JHVmtJRDBnWm1Gc2MyVTdYRzRnSUhKbGRIVnliaUJtZFc1amRHbHZiaUFvS1NCN1hHNGdJQ0FnYVdZZ0tDRmpZV3hzWldRcElIdGNiaUFnSUNBZ0lHTmhiR3hsWkNBOUlIUnlkV1U3WEc0Z0lDQWdJQ0JtYmk1aGNIQnNlU2gwYUdsekxDQmhjbWQxYldWdWRITXBPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVYRzUyWVhJZ1UxTlNYMEZVVkZJZ1BTQW5aR0YwWVMxelpYSjJaWEl0Y21WdVpHVnlaV1FuTzF4dVhHNTJZWElnUVZOVFJWUmZWRmxRUlZNZ1BTQmJYRzRnSUNkamIyMXdiMjVsYm5RbkxGeHVJQ0FuWkdseVpXTjBhWFpsSnl4Y2JpQWdKMlpwYkhSbGNpZGNibDA3WEc1Y2JuWmhjaUJNU1VaRlExbERURVZmU0U5UFMxTWdQU0JiWEc0Z0lDZGlaV1p2Y21WRGNtVmhkR1VuTEZ4dUlDQW5ZM0psWVhSbFpDY3NYRzRnSUNkaVpXWnZjbVZOYjNWdWRDY3NYRzRnSUNkdGIzVnVkR1ZrSnl4Y2JpQWdKMkpsWm05eVpWVndaR0YwWlNjc1hHNGdJQ2QxY0dSaGRHVmtKeXhjYmlBZ0oySmxabTl5WlVSbGMzUnliM2tuTEZ4dUlDQW5aR1Z6ZEhKdmVXVmtKeXhjYmlBZ0oyRmpkR2wyWVhSbFpDY3NYRzRnSUNka1pXRmpkR2wyWVhSbFpDY3NYRzRnSUNkbGNuSnZja05oY0hSMWNtVmtKMXh1WFR0Y2JseHVMeW9nSUNvdlhHNWNibHh1WEc1MllYSWdZMjl1Wm1sbklEMGdLSHRjYmlBZ0x5b3FYRzRnSUNBcUlFOXdkR2x2YmlCdFpYSm5aU0J6ZEhKaGRHVm5hV1Z6SUNoMWMyVmtJR2x1SUdOdmNtVXZkWFJwYkM5dmNIUnBiMjV6S1Z4dUlDQWdLaTljYmlBZ0x5OGdKR1pzYjNjdFpHbHpZV0pzWlMxc2FXNWxYRzRnSUc5d2RHbHZiazFsY21kbFUzUnlZWFJsWjJsbGN6b2dUMkpxWldOMExtTnlaV0YwWlNodWRXeHNLU3hjYmx4dUlDQXZLaXBjYmlBZ0lDb2dWMmhsZEdobGNpQjBieUJ6ZFhCd2NtVnpjeUIzWVhKdWFXNW5jeTVjYmlBZ0lDb3ZYRzRnSUhOcGJHVnVkRG9nWm1Gc2MyVXNYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGTm9iM2NnY0hKdlpIVmpkR2x2YmlCdGIyUmxJSFJwY0NCdFpYTnpZV2RsSUc5dUlHSnZiM1EvWEc0Z0lDQXFMMXh1SUNCd2NtOWtkV04wYVc5dVZHbHdPaUJ3Y205alpYTnpMbVZ1ZGk1T1QwUkZYMFZPVmlBaFBUMGdKM0J5YjJSMVkzUnBiMjRuTEZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJYYUdWMGFHVnlJSFJ2SUdWdVlXSnNaU0JrWlhaMGIyOXNjMXh1SUNBZ0tpOWNiaUFnWkdWMmRHOXZiSE02SUhCeWIyTmxjM011Wlc1MkxrNVBSRVZmUlU1V0lDRTlQU0FuY0hKdlpIVmpkR2x2Ymljc1hHNWNiaUFnTHlvcVhHNGdJQ0FxSUZkb1pYUm9aWElnZEc4Z2NtVmpiM0prSUhCbGNtWmNiaUFnSUNvdlhHNGdJSEJsY21admNtMWhibU5sT2lCbVlXeHpaU3hjYmx4dUlDQXZLaXBjYmlBZ0lDb2dSWEp5YjNJZ2FHRnVaR3hsY2lCbWIzSWdkMkYwWTJobGNpQmxjbkp2Y25OY2JpQWdJQ292WEc0Z0lHVnljbTl5U0dGdVpHeGxjam9nYm5Wc2JDeGNibHh1SUNBdktpcGNiaUFnSUNvZ1YyRnliaUJvWVc1a2JHVnlJR1p2Y2lCM1lYUmphR1Z5SUhkaGNtNXpYRzRnSUNBcUwxeHVJQ0IzWVhKdVNHRnVaR3hsY2pvZ2JuVnNiQ3hjYmx4dUlDQXZLaXBjYmlBZ0lDb2dTV2R1YjNKbElHTmxjblJoYVc0Z1kzVnpkRzl0SUdWc1pXMWxiblJ6WEc0Z0lDQXFMMXh1SUNCcFoyNXZjbVZrUld4bGJXVnVkSE02SUZ0ZExGeHVYRzRnSUM4cUtseHVJQ0FnS2lCRGRYTjBiMjBnZFhObGNpQnJaWGtnWVd4cFlYTmxjeUJtYjNJZ2RpMXZibHh1SUNBZ0tpOWNiaUFnTHk4Z0pHWnNiM2N0WkdsellXSnNaUzFzYVc1bFhHNGdJR3RsZVVOdlpHVnpPaUJQWW1wbFkzUXVZM0psWVhSbEtHNTFiR3dwTEZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJEYUdWamF5QnBaaUJoSUhSaFp5QnBjeUJ5WlhObGNuWmxaQ0J6YnlCMGFHRjBJR2wwSUdOaGJtNXZkQ0JpWlNCeVpXZHBjM1JsY21Wa0lHRnpJR0ZjYmlBZ0lDb2dZMjl0Y0c5dVpXNTBMaUJVYUdseklHbHpJSEJzWVhSbWIzSnRMV1JsY0dWdVpHVnVkQ0JoYm1RZ2JXRjVJR0psSUc5MlpYSjNjbWwwZEdWdUxseHVJQ0FnS2k5Y2JpQWdhWE5TWlhObGNuWmxaRlJoWnpvZ2JtOHNYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFTm9aV05ySUdsbUlHRnVJR0YwZEhKcFluVjBaU0JwY3lCeVpYTmxjblpsWkNCemJ5QjBhR0YwSUdsMElHTmhibTV2ZENCaVpTQjFjMlZrSUdGeklHRWdZMjl0Y0c5dVpXNTBYRzRnSUNBcUlIQnliM0F1SUZSb2FYTWdhWE1nY0d4aGRHWnZjbTB0WkdWd1pXNWtaVzUwSUdGdVpDQnRZWGtnWW1VZ2IzWmxjbmR5YVhSMFpXNHVYRzRnSUNBcUwxeHVJQ0JwYzFKbGMyVnlkbVZrUVhSMGNqb2dibThzWEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRU5vWldOcklHbG1JR0VnZEdGbklHbHpJR0Z1SUhWdWEyNXZkMjRnWld4bGJXVnVkQzVjYmlBZ0lDb2dVR3hoZEdadmNtMHRaR1Z3Wlc1a1pXNTBMbHh1SUNBZ0tpOWNiaUFnYVhOVmJtdHViM2R1Uld4bGJXVnVkRG9nYm04c1hHNWNiaUFnTHlvcVhHNGdJQ0FxSUVkbGRDQjBhR1VnYm1GdFpYTndZV05sSUc5bUlHRnVJR1ZzWlcxbGJuUmNiaUFnSUNvdlhHNGdJR2RsZEZSaFowNWhiV1Z6Y0dGalpUb2dibTl2Y0N4Y2JseHVJQ0F2S2lwY2JpQWdJQ29nVUdGeWMyVWdkR2hsSUhKbFlXd2dkR0ZuSUc1aGJXVWdabTl5SUhSb1pTQnpjR1ZqYVdacFl5QndiR0YwWm05eWJTNWNiaUFnSUNvdlhHNGdJSEJoY25ObFVHeGhkR1p2Y20xVVlXZE9ZVzFsT2lCcFpHVnVkR2wwZVN4Y2JseHVJQ0F2S2lwY2JpQWdJQ29nUTJobFkyc2dhV1lnWVc0Z1lYUjBjbWxpZFhSbElHMTFjM1FnWW1VZ1ltOTFibVFnZFhOcGJtY2djSEp2Y0dWeWRIa3NJR1V1Wnk0Z2RtRnNkV1ZjYmlBZ0lDb2dVR3hoZEdadmNtMHRaR1Z3Wlc1a1pXNTBMbHh1SUNBZ0tpOWNiaUFnYlhWemRGVnpaVkJ5YjNBNklHNXZMRnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlFaWEptYjNKdElIVndaR0YwWlhNZ1lYTjVibU5vY205dWIzVnpiSGt1SUVsdWRHVnVaR1ZrSUhSdklHSmxJSFZ6WldRZ1lua2dWblZsSUZSbGMzUWdWWFJwYkhOY2JpQWdJQ29nVkdocGN5QjNhV3hzSUhOcFoyNXBabWxqWVc1MGJIa2djbVZrZFdObElIQmxjbVp2Y20xaGJtTmxJR2xtSUhObGRDQjBieUJtWVd4elpTNWNiaUFnSUNvdlhHNGdJR0Z6ZVc1ak9pQjBjblZsTEZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJGZUhCdmMyVmtJR1p2Y2lCc1pXZGhZM2tnY21WaGMyOXVjMXh1SUNBZ0tpOWNiaUFnWDJ4cFptVmplV05zWlVodmIydHpPaUJNU1VaRlExbERURVZmU0U5UFMxTmNibjBwTzF4dVhHNHZLaUFnS2k5Y2JseHVMeW9xWEc0Z0tpQkRhR1ZqYXlCcFppQmhJSE4wY21sdVp5QnpkR0Z5ZEhNZ2QybDBhQ0FrSUc5eUlGOWNiaUFxTDF4dVpuVnVZM1JwYjI0Z2FYTlNaWE5sY25abFpDQW9jM1J5S1NCN1hHNGdJSFpoY2lCaklEMGdLSE4wY2lBcklDY25LUzVqYUdGeVEyOWtaVUYwS0RBcE8xeHVJQ0J5WlhSMWNtNGdZeUE5UFQwZ01IZ3lOQ0I4ZkNCaklEMDlQU0F3ZURWR1hHNTlYRzVjYmk4cUtseHVJQ29nUkdWbWFXNWxJR0VnY0hKdmNHVnlkSGt1WEc0Z0tpOWNibVoxYm1OMGFXOXVJR1JsWmlBb2IySnFMQ0JyWlhrc0lIWmhiQ3dnWlc1MWJXVnlZV0pzWlNrZ2UxeHVJQ0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2IySnFMQ0JyWlhrc0lIdGNiaUFnSUNCMllXeDFaVG9nZG1Gc0xGeHVJQ0FnSUdWdWRXMWxjbUZpYkdVNklDRWhaVzUxYldWeVlXSnNaU3hjYmlBZ0lDQjNjbWwwWVdKc1pUb2dkSEoxWlN4Y2JpQWdJQ0JqYjI1bWFXZDFjbUZpYkdVNklIUnlkV1ZjYmlBZ2ZTazdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1VHRnljMlVnYzJsdGNHeGxJSEJoZEdndVhHNGdLaTljYm5aaGNpQmlZV2xzVWtVZ1BTQXZXMTVjWEhjdUpGMHZPMXh1Wm5WdVkzUnBiMjRnY0dGeWMyVlFZWFJvSUNod1lYUm9LU0I3WEc0Z0lHbG1JQ2hpWVdsc1VrVXVkR1Z6ZENod1lYUm9LU2tnZTF4dUlDQWdJSEpsZEhWeWJseHVJQ0I5WEc0Z0lIWmhjaUJ6WldkdFpXNTBjeUE5SUhCaGRHZ3VjM0JzYVhRb0p5NG5LVHRjYmlBZ2NtVjBkWEp1SUdaMWJtTjBhVzl1SUNodlltb3BJSHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJSE5sWjIxbGJuUnpMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCcFppQW9JVzlpYWlrZ2V5QnlaWFIxY200Z2ZWeHVJQ0FnSUNBZ2IySnFJRDBnYjJKcVczTmxaMjFsYm5SelcybGRYVHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUc5aWFseHVJQ0I5WEc1OVhHNWNiaThxSUNBcUwxeHVYRzR2THlCallXNGdkMlVnZFhObElGOWZjSEp2ZEc5Zlh6OWNiblpoY2lCb1lYTlFjbTkwYnlBOUlDZGZYM0J5YjNSdlgxOG5JR2x1SUh0OU8xeHVYRzR2THlCQ2NtOTNjMlZ5SUdWdWRtbHliMjV0Wlc1MElITnVhV1ptYVc1blhHNTJZWElnYVc1Q2NtOTNjMlZ5SUQwZ2RIbHdaVzltSUhkcGJtUnZkeUFoUFQwZ0ozVnVaR1ZtYVc1bFpDYzdYRzUyWVhJZ2FXNVhaV1Y0SUQwZ2RIbHdaVzltSUZkWVJXNTJhWEp2Ym0xbGJuUWdJVDA5SUNkMWJtUmxabWx1WldRbklDWW1JQ0VoVjFoRmJuWnBjbTl1YldWdWRDNXdiR0YwWm05eWJUdGNiblpoY2lCM1pXVjRVR3hoZEdadmNtMGdQU0JwYmxkbFpYZ2dKaVlnVjFoRmJuWnBjbTl1YldWdWRDNXdiR0YwWm05eWJTNTBiMHh2ZDJWeVEyRnpaU2dwTzF4dWRtRnlJRlZCSUQwZ2FXNUNjbTkzYzJWeUlDWW1JSGRwYm1SdmR5NXVZWFpwWjJGMGIzSXVkWE5sY2tGblpXNTBMblJ2VEc5M1pYSkRZWE5sS0NrN1hHNTJZWElnYVhOSlJTQTlJRlZCSUNZbUlDOXRjMmxsZkhSeWFXUmxiblF2TG5SbGMzUW9WVUVwTzF4dWRtRnlJR2x6U1VVNUlEMGdWVUVnSmlZZ1ZVRXVhVzVrWlhoUFppZ25iWE5wWlNBNUxqQW5LU0ErSURBN1hHNTJZWElnYVhORlpHZGxJRDBnVlVFZ0ppWWdWVUV1YVc1a1pYaFBaaWduWldSblpTOG5LU0ErSURBN1hHNTJZWElnYVhOQmJtUnliMmxrSUQwZ0tGVkJJQ1ltSUZWQkxtbHVaR1Y0VDJZb0oyRnVaSEp2YVdRbktTQStJREFwSUh4OElDaDNaV1Y0VUd4aGRHWnZjbTBnUFQwOUlDZGhibVJ5YjJsa0p5azdYRzUyWVhJZ2FYTkpUMU1nUFNBb1ZVRWdKaVlnTDJsd2FHOXVaWHhwY0dGa2ZHbHdiMlI4YVc5ekx5NTBaWE4wS0ZWQktTa2dmSHdnS0hkbFpYaFFiR0YwWm05eWJTQTlQVDBnSjJsdmN5Y3BPMXh1ZG1GeUlHbHpRMmh5YjIxbElEMGdWVUVnSmlZZ0wyTm9jbTl0WlZ4Y0wxeGNaQ3N2TG5SbGMzUW9WVUVwSUNZbUlDRnBjMFZrWjJVN1hHNWNiaTh2SUVacGNtVm1iM2dnYUdGeklHRWdYQ0ozWVhSamFGd2lJR1oxYm1OMGFXOXVJRzl1SUU5aWFtVmpkQzV3Y205MGIzUjVjR1V1TGk1Y2JuWmhjaUJ1WVhScGRtVlhZWFJqYUNBOUlDaDdmU2t1ZDJGMFkyZzdYRzVjYm5aaGNpQnpkWEJ3YjNKMGMxQmhjM05wZG1VZ1BTQm1ZV3h6WlR0Y2JtbG1JQ2hwYmtKeWIzZHpaWElwSUh0Y2JpQWdkSEo1SUh0Y2JpQWdJQ0IyWVhJZ2IzQjBjeUE5SUh0OU8xeHVJQ0FnSUU5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaHZjSFJ6TENBbmNHRnpjMmwyWlNjc0lDaDdYRzRnSUNBZ0lDQm5aWFE2SUdaMWJtTjBhVzl1SUdkbGRDQW9LU0I3WEc0Z0lDQWdJQ0FnSUM4cUlHbHpkR0Z1WW5Wc0lHbG5ibTl5WlNCdVpYaDBJQ292WEc0Z0lDQWdJQ0FnSUhOMWNIQnZjblJ6VUdGemMybDJaU0E5SUhSeWRXVTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTa3BPeUF2THlCb2RIUndjem92TDJkcGRHaDFZaTVqYjIwdlptRmpaV0p2YjJzdlpteHZkeTlwYzNOMVpYTXZNamcxWEc0Z0lDQWdkMmx1Wkc5M0xtRmtaRVYyWlc1MFRHbHpkR1Z1WlhJb0ozUmxjM1F0Y0dGemMybDJaU2NzSUc1MWJHd3NJRzl3ZEhNcE8xeHVJQ0I5SUdOaGRHTm9JQ2hsS1NCN2ZWeHVmVnh1WEc0dkx5QjBhR2x6SUc1bFpXUnpJSFJ2SUdKbElHeGhlbmt0WlhaaGJHVmtJR0psWTJGMWMyVWdkblZsSUcxaGVTQmlaU0J5WlhGMWFYSmxaQ0JpWldadmNtVmNiaTh2SUhaMVpTMXpaWEoyWlhJdGNtVnVaR1Z5WlhJZ1kyRnVJSE5sZENCV1ZVVmZSVTVXWEc1MllYSWdYMmx6VTJWeWRtVnlPMXh1ZG1GeUlHbHpVMlZ5ZG1WeVVtVnVaR1Z5YVc1bklEMGdablZ1WTNScGIyNGdLQ2tnZTF4dUlDQnBaaUFvWDJselUyVnlkbVZ5SUQwOVBTQjFibVJsWm1sdVpXUXBJSHRjYmlBZ0lDQXZLaUJwYzNSaGJtSjFiQ0JwWjI1dmNtVWdhV1lnS2k5Y2JpQWdJQ0JwWmlBb0lXbHVRbkp2ZDNObGNpQW1KaUFoYVc1WFpXVjRJQ1ltSUhSNWNHVnZaaUJuYkc5aVlXd2dJVDA5SUNkMWJtUmxabWx1WldRbktTQjdYRzRnSUNBZ0lDQXZMeUJrWlhSbFkzUWdjSEpsYzJWdVkyVWdiMllnZG5WbExYTmxjblpsY2kxeVpXNWtaWEpsY2lCaGJtUWdZWFp2YVdSY2JpQWdJQ0FnSUM4dklGZGxZbkJoWTJzZ2MyaHBiVzFwYm1jZ2RHaGxJSEJ5YjJObGMzTmNiaUFnSUNBZ0lGOXBjMU5sY25abGNpQTlJR2RzYjJKaGJGc25jSEp2WTJWemN5ZGRJQ1ltSUdkc2IySmhiRnNuY0hKdlkyVnpjeWRkTG1WdWRpNVdWVVZmUlU1V0lEMDlQU0FuYzJWeWRtVnlKenRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1gybHpVMlZ5ZG1WeUlEMGdabUZzYzJVN1hHNGdJQ0FnZlZ4dUlDQjlYRzRnSUhKbGRIVnliaUJmYVhOVFpYSjJaWEpjYm4wN1hHNWNiaTh2SUdSbGRHVmpkQ0JrWlhaMGIyOXNjMXh1ZG1GeUlHUmxkblJ2YjJ4eklEMGdhVzVDY205M2MyVnlJQ1ltSUhkcGJtUnZkeTVmWDFaVlJWOUVSVlpVVDA5TVUxOUhURTlDUVV4ZlNFOVBTMTlmTzF4dVhHNHZLaUJwYzNSaGJtSjFiQ0JwWjI1dmNtVWdibVY0ZENBcUwxeHVablZ1WTNScGIyNGdhWE5PWVhScGRtVWdLRU4wYjNJcElIdGNiaUFnY21WMGRYSnVJSFI1Y0dWdlppQkRkRzl5SUQwOVBTQW5ablZ1WTNScGIyNG5JQ1ltSUM5dVlYUnBkbVVnWTI5a1pTOHVkR1Z6ZENoRGRHOXlMblJ2VTNSeWFXNW5LQ2twWEc1OVhHNWNiblpoY2lCb1lYTlRlVzFpYjJ3Z1BWeHVJQ0IwZVhCbGIyWWdVM2x0WW05c0lDRTlQU0FuZFc1a1pXWnBibVZrSnlBbUppQnBjMDVoZEdsMlpTaFRlVzFpYjJ3cElDWW1YRzRnSUhSNWNHVnZaaUJTWldac1pXTjBJQ0U5UFNBbmRXNWtaV1pwYm1Wa0p5QW1KaUJwYzA1aGRHbDJaU2hTWldac1pXTjBMbTkzYmt0bGVYTXBPMXh1WEc1MllYSWdYMU5sZER0Y2JpOHFJR2x6ZEdGdVluVnNJR2xuYm05eVpTQnBaaUFxTHlBdkx5QWtabXh2ZHkxa2FYTmhZbXhsTFd4cGJtVmNibWxtSUNoMGVYQmxiMllnVTJWMElDRTlQU0FuZFc1a1pXWnBibVZrSnlBbUppQnBjMDVoZEdsMlpTaFRaWFFwS1NCN1hHNGdJQzh2SUhWelpTQnVZWFJwZG1VZ1UyVjBJSGRvWlc0Z1lYWmhhV3hoWW14bExseHVJQ0JmVTJWMElEMGdVMlYwTzF4dWZTQmxiSE5sSUh0Y2JpQWdMeThnWVNCdWIyNHRjM1JoYm1SaGNtUWdVMlYwSUhCdmJIbG1hV3hzSUhSb1lYUWdiMjVzZVNCM2IzSnJjeUIzYVhSb0lIQnlhVzFwZEdsMlpTQnJaWGx6TGx4dUlDQmZVMlYwSUQwZ0x5cEFYMTlRVlZKRlgxOHFMeWhtZFc1amRHbHZiaUFvS1NCN1hHNGdJQ0FnWm5WdVkzUnBiMjRnVTJWMElDZ3BJSHRjYmlBZ0lDQWdJSFJvYVhNdWMyVjBJRDBnVDJKcVpXTjBMbU55WldGMFpTaHVkV3hzS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdVMlYwTG5CeWIzUnZkSGx3WlM1b1lYTWdQU0JtZFc1amRHbHZiaUJvWVhNZ0tHdGxlU2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWMyVjBXMnRsZVYwZ1BUMDlJSFJ5ZFdWY2JpQWdJQ0I5TzF4dUlDQWdJRk5sZEM1d2NtOTBiM1I1Y0dVdVlXUmtJRDBnWm5WdVkzUnBiMjRnWVdSa0lDaHJaWGtwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVjMlYwVzJ0bGVWMGdQU0IwY25WbE8xeHVJQ0FnSUgwN1hHNGdJQ0FnVTJWMExuQnliM1J2ZEhsd1pTNWpiR1ZoY2lBOUlHWjFibU4wYVc5dUlHTnNaV0Z5SUNncElIdGNiaUFnSUNBZ0lIUm9hWE11YzJWMElEMGdUMkpxWldOMExtTnlaV0YwWlNodWRXeHNLVHRjYmlBZ0lDQjlPMXh1WEc0Z0lDQWdjbVYwZFhKdUlGTmxkRHRjYmlBZ2ZTZ3BLVHRjYm4xY2JseHVMeW9nSUNvdlhHNWNiblpoY2lCM1lYSnVJRDBnYm05dmNEdGNiblpoY2lCMGFYQWdQU0J1YjI5d08xeHVkbUZ5SUdkbGJtVnlZWFJsUTI5dGNHOXVaVzUwVkhKaFkyVWdQU0FvYm05dmNDazdJQzh2SUhkdmNtc2dZWEp2ZFc1a0lHWnNiM2NnWTJobFkydGNiblpoY2lCbWIzSnRZWFJEYjIxd2IyNWxiblJPWVcxbElEMGdLRzV2YjNBcE8xeHVYRzVwWmlBb2NISnZZMlZ6Y3k1bGJuWXVUazlFUlY5RlRsWWdJVDA5SUNkd2NtOWtkV04wYVc5dUp5a2dlMXh1SUNCMllYSWdhR0Z6UTI5dWMyOXNaU0E5SUhSNWNHVnZaaUJqYjI1emIyeGxJQ0U5UFNBbmRXNWtaV1pwYm1Wa0p6dGNiaUFnZG1GeUlHTnNZWE56YVdaNVVrVWdQU0F2S0Q4NlhueGJMVjlkS1NoY1hIY3BMMmM3WEc0Z0lIWmhjaUJqYkdGemMybG1lU0E5SUdaMWJtTjBhVzl1SUNoemRISXBJSHNnY21WMGRYSnVJSE4wY2x4dUlDQWdJQzV5WlhCc1lXTmxLR05zWVhOemFXWjVVa1VzSUdaMWJtTjBhVzl1SUNoaktTQjdJSEpsZEhWeWJpQmpMblJ2VlhCd1pYSkRZWE5sS0NrN0lIMHBYRzRnSUNBZ0xuSmxjR3hoWTJVb0wxc3RYMTB2Wnl3Z0p5Y3BPeUI5TzF4dVhHNGdJSGRoY200Z1BTQm1kVzVqZEdsdmJpQW9iWE5uTENCMmJTa2dlMXh1SUNBZ0lIWmhjaUIwY21GalpTQTlJSFp0SUQ4Z1oyVnVaWEpoZEdWRGIyMXdiMjVsYm5SVWNtRmpaU2gyYlNrZ09pQW5KenRjYmx4dUlDQWdJR2xtSUNoamIyNW1hV2N1ZDJGeWJraGhibVJzWlhJcElIdGNiaUFnSUNBZ0lHTnZibVpwWnk1M1lYSnVTR0Z1Wkd4bGNpNWpZV3hzS0c1MWJHd3NJRzF6Wnl3Z2RtMHNJSFJ5WVdObEtUdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHaGhjME52Ym5OdmJHVWdKaVlnS0NGamIyNW1hV2N1YzJsc1pXNTBLU2tnZTF4dUlDQWdJQ0FnWTI5dWMyOXNaUzVsY25KdmNpZ29YQ0piVm5WbElIZGhjbTVkT2lCY0lpQXJJRzF6WnlBcklIUnlZV05sS1NrN1hHNGdJQ0FnZlZ4dUlDQjlPMXh1WEc0Z0lIUnBjQ0E5SUdaMWJtTjBhVzl1SUNodGMyY3NJSFp0S1NCN1hHNGdJQ0FnYVdZZ0tHaGhjME52Ym5OdmJHVWdKaVlnS0NGamIyNW1hV2N1YzJsc1pXNTBLU2tnZTF4dUlDQWdJQ0FnWTI5dWMyOXNaUzUzWVhKdUtGd2lXMVoxWlNCMGFYQmRPaUJjSWlBcklHMXpaeUFySUNoY2JpQWdJQ0FnSUNBZ2RtMGdQeUJuWlc1bGNtRjBaVU52YlhCdmJtVnVkRlJ5WVdObEtIWnRLU0E2SUNjblhHNGdJQ0FnSUNBcEtUdGNiaUFnSUNCOVhHNGdJSDA3WEc1Y2JpQWdabTl5YldGMFEyOXRjRzl1Wlc1MFRtRnRaU0E5SUdaMWJtTjBhVzl1SUNoMmJTd2dhVzVqYkhWa1pVWnBiR1VwSUh0Y2JpQWdJQ0JwWmlBb2RtMHVKSEp2YjNRZ1BUMDlJSFp0S1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnSnp4U2IyOTBQaWRjYmlBZ0lDQjlYRzRnSUNBZ2RtRnlJRzl3ZEdsdmJuTWdQU0IwZVhCbGIyWWdkbTBnUFQwOUlDZG1kVzVqZEdsdmJpY2dKaVlnZG0wdVkybGtJQ0U5SUc1MWJHeGNiaUFnSUNBZ0lEOGdkbTB1YjNCMGFXOXVjMXh1SUNBZ0lDQWdPaUIyYlM1ZmFYTldkV1ZjYmlBZ0lDQWdJQ0FnUHlCMmJTNGtiM0IwYVc5dWN5QjhmQ0IyYlM1amIyNXpkSEoxWTNSdmNpNXZjSFJwYjI1elhHNGdJQ0FnSUNBZ0lEb2dkbTBnZkh3Z2UzMDdYRzRnSUNBZ2RtRnlJRzVoYldVZ1BTQnZjSFJwYjI1ekxtNWhiV1VnZkh3Z2IzQjBhVzl1Y3k1ZlkyOXRjRzl1Wlc1MFZHRm5PMXh1SUNBZ0lIWmhjaUJtYVd4bElEMGdiM0IwYVc5dWN5NWZYMlpwYkdVN1hHNGdJQ0FnYVdZZ0tDRnVZVzFsSUNZbUlHWnBiR1VwSUh0Y2JpQWdJQ0FnSUhaaGNpQnRZWFJqYUNBOUlHWnBiR1V1YldGMFkyZ29MeWhiWGk5Y1hGeGNYU3NwWEZ3dWRuVmxKQzhwTzF4dUlDQWdJQ0FnYm1GdFpTQTlJRzFoZEdOb0lDWW1JRzFoZEdOb1d6RmRPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlBb1hHNGdJQ0FnSUNBb2JtRnRaU0EvSUNoY0lqeGNJaUFySUNoamJHRnpjMmxtZVNodVlXMWxLU2tnS3lCY0lqNWNJaWtnT2lCY0lqeEJibTl1ZVcxdmRYTStYQ0lwSUN0Y2JpQWdJQ0FnSUNobWFXeGxJQ1ltSUdsdVkyeDFaR1ZHYVd4bElDRTlQU0JtWVd4elpTQS9JQ2hjSWlCaGRDQmNJaUFySUdacGJHVXBJRG9nSnljcFhHNGdJQ0FnS1Z4dUlDQjlPMXh1WEc0Z0lIWmhjaUJ5WlhCbFlYUWdQU0JtZFc1amRHbHZiaUFvYzNSeUxDQnVLU0I3WEc0Z0lDQWdkbUZ5SUhKbGN5QTlJQ2NuTzF4dUlDQWdJSGRvYVd4bElDaHVLU0I3WEc0Z0lDQWdJQ0JwWmlBb2JpQWxJRElnUFQwOUlERXBJSHNnY21WeklDczlJSE4wY2pzZ2ZWeHVJQ0FnSUNBZ2FXWWdLRzRnUGlBeEtTQjdJSE4wY2lBclBTQnpkSEk3SUgxY2JpQWdJQ0FnSUc0Z1BqNDlJREU3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCeVpYTmNiaUFnZlR0Y2JseHVJQ0JuWlc1bGNtRjBaVU52YlhCdmJtVnVkRlJ5WVdObElEMGdablZ1WTNScGIyNGdLSFp0S1NCN1hHNGdJQ0FnYVdZZ0tIWnRMbDlwYzFaMVpTQW1KaUIyYlM0a2NHRnlaVzUwS1NCN1hHNGdJQ0FnSUNCMllYSWdkSEpsWlNBOUlGdGRPMXh1SUNBZ0lDQWdkbUZ5SUdOMWNuSmxiblJTWldOMWNuTnBkbVZUWlhGMVpXNWpaU0E5SURBN1hHNGdJQ0FnSUNCM2FHbHNaU0FvZG0wcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0hSeVpXVXViR1Z1WjNSb0lENGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJzWVhOMElEMGdkSEpsWlZ0MGNtVmxMbXhsYm1kMGFDQXRJREZkTzF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2hzWVhOMExtTnZibk4wY25WamRHOXlJRDA5UFNCMmJTNWpiMjV6ZEhKMVkzUnZjaWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZM1Z5Y21WdWRGSmxZM1Z5YzJsMlpWTmxjWFZsYm1ObEt5czdYRzRnSUNBZ0lDQWdJQ0FnSUNCMmJTQTlJSFp0TGlSd1lYSmxiblE3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjUwYVc1MVpWeHVJQ0FnSUNBZ0lDQWdJSDBnWld4elpTQnBaaUFvWTNWeWNtVnVkRkpsWTNWeWMybDJaVk5sY1hWbGJtTmxJRDRnTUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZEhKbFpWdDBjbVZsTG14bGJtZDBhQ0F0SURGZElEMGdXMnhoYzNRc0lHTjFjbkpsYm5SU1pXTjFjbk5wZG1WVFpYRjFaVzVqWlYwN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqZFhKeVpXNTBVbVZqZFhKemFYWmxVMlZ4ZFdWdVkyVWdQU0F3TzF4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0IwY21WbExuQjFjMmdvZG0wcE8xeHVJQ0FnSUNBZ0lDQjJiU0E5SUhadExpUndZWEpsYm5RN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCeVpYUjFjbTRnSjF4Y2JseGNibVp2ZFc1a0lHbHVYRnh1WEZ4dUp5QXJJSFJ5WldWY2JpQWdJQ0FnSUNBZ0xtMWhjQ2htZFc1amRHbHZiaUFvZG0wc0lHa3BJSHNnY21WMGRYSnVJQ2hjSWx3aUlDc2dLR2tnUFQwOUlEQWdQeUFuTFMwdFBpQW5JRG9nY21Wd1pXRjBLQ2NnSnl3Z05TQXJJR2tnS2lBeUtTa2dLeUFvUVhKeVlYa3VhWE5CY25KaGVTaDJiU2xjYmlBZ0lDQWdJQ0FnSUNBZ0lEOGdLQ2htYjNKdFlYUkRiMjF3YjI1bGJuUk9ZVzFsS0hadFd6QmRLU2tnS3lCY0lpNHVMaUFvWENJZ0t5QW9kbTFiTVYwcElDc2dYQ0lnY21WamRYSnphWFpsSUdOaGJHeHpLVndpS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdPaUJtYjNKdFlYUkRiMjF3YjI1bGJuUk9ZVzFsS0hadEtTa3BPeUI5S1Z4dUlDQWdJQ0FnSUNBdWFtOXBiaWduWEZ4dUp5bGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnY21WMGRYSnVJQ2hjSWx4Y2JseGNiaWhtYjNWdVpDQnBiaUJjSWlBcklDaG1iM0p0WVhSRGIyMXdiMjVsYm5ST1lXMWxLSFp0S1NrZ0t5QmNJaWxjSWlsY2JpQWdJQ0I5WEc0Z0lIMDdYRzU5WEc1Y2JpOHFJQ0FxTDF4dVhHNTJZWElnZFdsa0lEMGdNRHRjYmx4dUx5b3FYRzRnS2lCQklHUmxjQ0JwY3lCaGJpQnZZbk5sY25aaFlteGxJSFJvWVhRZ1kyRnVJR2hoZG1VZ2JYVnNkR2x3YkdWY2JpQXFJR1JwY21WamRHbDJaWE1nYzNWaWMyTnlhV0pwYm1jZ2RHOGdhWFF1WEc0Z0tpOWNiblpoY2lCRVpYQWdQU0JtZFc1amRHbHZiaUJFWlhBZ0tDa2dlMXh1SUNCMGFHbHpMbWxrSUQwZ2RXbGtLeXM3WEc0Z0lIUm9hWE11YzNWaWN5QTlJRnRkTzF4dWZUdGNibHh1UkdWd0xuQnliM1J2ZEhsd1pTNWhaR1JUZFdJZ1BTQm1kVzVqZEdsdmJpQmhaR1JUZFdJZ0tITjFZaWtnZTF4dUlDQjBhR2x6TG5OMVluTXVjSFZ6YUNoemRXSXBPMXh1ZlR0Y2JseHVSR1Z3TG5CeWIzUnZkSGx3WlM1eVpXMXZkbVZUZFdJZ1BTQm1kVzVqZEdsdmJpQnlaVzF2ZG1WVGRXSWdLSE4xWWlrZ2UxeHVJQ0J5WlcxdmRtVW9kR2hwY3k1emRXSnpMQ0J6ZFdJcE8xeHVmVHRjYmx4dVJHVndMbkJ5YjNSdmRIbHdaUzVrWlhCbGJtUWdQU0JtZFc1amRHbHZiaUJrWlhCbGJtUWdLQ2tnZTF4dUlDQnBaaUFvUkdWd0xuUmhjbWRsZENrZ2UxeHVJQ0FnSUVSbGNDNTBZWEpuWlhRdVlXUmtSR1Z3S0hSb2FYTXBPMXh1SUNCOVhHNTlPMXh1WEc1RVpYQXVjSEp2ZEc5MGVYQmxMbTV2ZEdsbWVTQTlJR1oxYm1OMGFXOXVJRzV2ZEdsbWVTQW9LU0I3WEc0Z0lDOHZJSE4wWVdKcGJHbDZaU0IwYUdVZ2MzVmljMk55YVdKbGNpQnNhWE4wSUdacGNuTjBYRzRnSUhaaGNpQnpkV0p6SUQwZ2RHaHBjeTV6ZFdKekxuTnNhV05sS0NrN1hHNGdJR2xtSUNod2NtOWpaWE56TG1WdWRpNU9UMFJGWDBWT1ZpQWhQVDBnSjNCeWIyUjFZM1JwYjI0bklDWW1JQ0ZqYjI1bWFXY3VZWE41Ym1NcElIdGNiaUFnSUNBdkx5QnpkV0p6SUdGeVpXNG5kQ0J6YjNKMFpXUWdhVzRnYzJOb1pXUjFiR1Z5SUdsbUlHNXZkQ0J5ZFc1dWFXNW5JR0Z6ZVc1alhHNGdJQ0FnTHk4Z2QyVWdibVZsWkNCMGJ5QnpiM0owSUhSb1pXMGdibTkzSUhSdklHMWhhMlVnYzNWeVpTQjBhR1Y1SUdacGNtVWdhVzRnWTI5eWNtVmpkRnh1SUNBZ0lDOHZJRzl5WkdWeVhHNGdJQ0FnYzNWaWN5NXpiM0owS0daMWJtTjBhVzl1SUNoaExDQmlLU0I3SUhKbGRIVnliaUJoTG1sa0lDMGdZaTVwWkRzZ2ZTazdYRzRnSUgxY2JpQWdabTl5SUNoMllYSWdhU0E5SURBc0lHd2dQU0J6ZFdKekxteGxibWQwYURzZ2FTQThJR3c3SUdrckt5a2dlMXh1SUNBZ0lITjFZbk5iYVYwdWRYQmtZWFJsS0NrN1hHNGdJSDFjYm4wN1hHNWNiaTh2SUhSb1pTQmpkWEp5Wlc1MElIUmhjbWRsZENCM1lYUmphR1Z5SUdKbGFXNW5JR1YyWVd4MVlYUmxaQzVjYmk4dklIUm9hWE1nYVhNZ1oyeHZZbUZzYkhrZ2RXNXBjWFZsSUdKbFkyRjFjMlVnZEdobGNtVWdZMjkxYkdRZ1ltVWdiMjVzZVNCdmJtVmNiaTh2SUhkaGRHTm9aWElnWW1WcGJtY2daWFpoYkhWaGRHVmtJR0YwSUdGdWVTQjBhVzFsTGx4dVJHVndMblJoY21kbGRDQTlJRzUxYkd3N1hHNTJZWElnZEdGeVoyVjBVM1JoWTJzZ1BTQmJYVHRjYmx4dVpuVnVZM1JwYjI0Z2NIVnphRlJoY21kbGRDQW9kR0Z5WjJWMEtTQjdYRzRnSUhSaGNtZGxkRk4wWVdOckxuQjFjMmdvZEdGeVoyVjBLVHRjYmlBZ1JHVndMblJoY21kbGRDQTlJSFJoY21kbGREdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2NHOXdWR0Z5WjJWMElDZ3BJSHRjYmlBZ2RHRnlaMlYwVTNSaFkyc3VjRzl3S0NrN1hHNGdJRVJsY0M1MFlYSm5aWFFnUFNCMFlYSm5aWFJUZEdGamExdDBZWEpuWlhSVGRHRmpheTVzWlc1bmRHZ2dMU0F4WFR0Y2JuMWNibHh1THlvZ0lDb3ZYRzVjYm5aaGNpQldUbTlrWlNBOUlHWjFibU4wYVc5dUlGWk9iMlJsSUNoY2JpQWdkR0ZuTEZ4dUlDQmtZWFJoTEZ4dUlDQmphR2xzWkhKbGJpeGNiaUFnZEdWNGRDeGNiaUFnWld4dExGeHVJQ0JqYjI1MFpYaDBMRnh1SUNCamIyMXdiMjVsYm5SUGNIUnBiMjV6TEZ4dUlDQmhjM2x1WTBaaFkzUnZjbmxjYmlrZ2UxeHVJQ0IwYUdsekxuUmhaeUE5SUhSaFp6dGNiaUFnZEdocGN5NWtZWFJoSUQwZ1pHRjBZVHRjYmlBZ2RHaHBjeTVqYUdsc1pISmxiaUE5SUdOb2FXeGtjbVZ1TzF4dUlDQjBhR2x6TG5SbGVIUWdQU0IwWlhoME8xeHVJQ0IwYUdsekxtVnNiU0E5SUdWc2JUdGNiaUFnZEdocGN5NXVjeUE5SUhWdVpHVm1hVzVsWkR0Y2JpQWdkR2hwY3k1amIyNTBaWGgwSUQwZ1kyOXVkR1Y0ZER0Y2JpQWdkR2hwY3k1bWJrTnZiblJsZUhRZ1BTQjFibVJsWm1sdVpXUTdYRzRnSUhSb2FYTXVabTVQY0hScGIyNXpJRDBnZFc1a1pXWnBibVZrTzF4dUlDQjBhR2x6TG1adVUyTnZjR1ZKWkNBOUlIVnVaR1ZtYVc1bFpEdGNiaUFnZEdocGN5NXJaWGtnUFNCa1lYUmhJQ1ltSUdSaGRHRXVhMlY1TzF4dUlDQjBhR2x6TG1OdmJYQnZibVZ1ZEU5d2RHbHZibk1nUFNCamIyMXdiMjVsYm5SUGNIUnBiMjV6TzF4dUlDQjBhR2x6TG1OdmJYQnZibVZ1ZEVsdWMzUmhibU5sSUQwZ2RXNWtaV1pwYm1Wa08xeHVJQ0IwYUdsekxuQmhjbVZ1ZENBOUlIVnVaR1ZtYVc1bFpEdGNiaUFnZEdocGN5NXlZWGNnUFNCbVlXeHpaVHRjYmlBZ2RHaHBjeTVwYzFOMFlYUnBZeUE5SUdaaGJITmxPMXh1SUNCMGFHbHpMbWx6VW05dmRFbHVjMlZ5ZENBOUlIUnlkV1U3WEc0Z0lIUm9hWE11YVhORGIyMXRaVzUwSUQwZ1ptRnNjMlU3WEc0Z0lIUm9hWE11YVhORGJHOXVaV1FnUFNCbVlXeHpaVHRjYmlBZ2RHaHBjeTVwYzA5dVkyVWdQU0JtWVd4elpUdGNiaUFnZEdocGN5NWhjM2x1WTBaaFkzUnZjbmtnUFNCaGMzbHVZMFpoWTNSdmNuazdYRzRnSUhSb2FYTXVZWE41Ym1OTlpYUmhJRDBnZFc1a1pXWnBibVZrTzF4dUlDQjBhR2x6TG1selFYTjVibU5RYkdGalpXaHZiR1JsY2lBOUlHWmhiSE5sTzF4dWZUdGNibHh1ZG1GeUlIQnliM1J2ZEhsd1pVRmpZMlZ6YzI5eWN5QTlJSHNnWTJocGJHUTZJSHNnWTI5dVptbG5kWEpoWW14bE9pQjBjblZsSUgwZ2ZUdGNibHh1THk4Z1JFVlFVa1ZEUVZSRlJEb2dZV3hwWVhNZ1ptOXlJR052YlhCdmJtVnVkRWx1YzNSaGJtTmxJR1p2Y2lCaVlXTnJkMkZ5WkhNZ1kyOXRjR0YwTGx4dUx5b2dhWE4wWVc1aWRXd2dhV2R1YjNKbElHNWxlSFFnS2k5Y2JuQnliM1J2ZEhsd1pVRmpZMlZ6YzI5eWN5NWphR2xzWkM1blpYUWdQU0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJSEpsZEhWeWJpQjBhR2x6TG1OdmJYQnZibVZ1ZEVsdWMzUmhibU5sWEc1OU8xeHVYRzVQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEdsbGN5Z2dWazV2WkdVdWNISnZkRzkwZVhCbExDQndjbTkwYjNSNWNHVkJZMk5sYzNOdmNuTWdLVHRjYmx4dWRtRnlJR055WldGMFpVVnRjSFI1Vms1dlpHVWdQU0JtZFc1amRHbHZiaUFvZEdWNGRDa2dlMXh1SUNCcFppQW9JSFJsZUhRZ1BUMDlJSFp2YVdRZ01DQXBJSFJsZUhRZ1BTQW5KenRjYmx4dUlDQjJZWElnYm05a1pTQTlJRzVsZHlCV1RtOWtaU2dwTzF4dUlDQnViMlJsTG5SbGVIUWdQU0IwWlhoME8xeHVJQ0J1YjJSbExtbHpRMjl0YldWdWRDQTlJSFJ5ZFdVN1hHNGdJSEpsZEhWeWJpQnViMlJsWEc1OU8xeHVYRzVtZFc1amRHbHZiaUJqY21WaGRHVlVaWGgwVms1dlpHVWdLSFpoYkNrZ2UxeHVJQ0J5WlhSMWNtNGdibVYzSUZaT2IyUmxLSFZ1WkdWbWFXNWxaQ3dnZFc1a1pXWnBibVZrTENCMWJtUmxabWx1WldRc0lGTjBjbWx1WnloMllXd3BLVnh1ZlZ4dVhHNHZMeUJ2Y0hScGJXbDZaV1FnYzJoaGJHeHZkeUJqYkc5dVpWeHVMeThnZFhObFpDQm1iM0lnYzNSaGRHbGpJRzV2WkdWeklHRnVaQ0J6Ykc5MElHNXZaR1Z6SUdKbFkyRjFjMlVnZEdobGVTQnRZWGtnWW1VZ2NtVjFjMlZrSUdGamNtOXpjMXh1THk4Z2JYVnNkR2x3YkdVZ2NtVnVaR1Z5Y3l3Z1kyeHZibWx1WnlCMGFHVnRJR0YyYjJsa2N5Qmxjbkp2Y25NZ2QyaGxiaUJFVDAwZ2JXRnVhWEIxYkdGMGFXOXVjeUJ5Wld4NVhHNHZMeUJ2YmlCMGFHVnBjaUJsYkcwZ2NtVm1aWEpsYm1ObExseHVablZ1WTNScGIyNGdZMnh2Ym1WV1RtOWtaU0FvZG01dlpHVXBJSHRjYmlBZ2RtRnlJR05zYjI1bFpDQTlJRzVsZHlCV1RtOWtaU2hjYmlBZ0lDQjJibTlrWlM1MFlXY3NYRzRnSUNBZ2RtNXZaR1V1WkdGMFlTeGNiaUFnSUNBdkx5QWpOemszTlZ4dUlDQWdJQzh2SUdOc2IyNWxJR05vYVd4a2NtVnVJR0Z5Y21GNUlIUnZJR0YyYjJsa0lHMTFkR0YwYVc1bklHOXlhV2RwYm1Gc0lHbHVJR05oYzJVZ2IyWWdZMnh2Ym1sdVoxeHVJQ0FnSUM4dklHRWdZMmhwYkdRdVhHNGdJQ0FnZG01dlpHVXVZMmhwYkdSeVpXNGdKaVlnZG01dlpHVXVZMmhwYkdSeVpXNHVjMnhwWTJVb0tTeGNiaUFnSUNCMmJtOWtaUzUwWlhoMExGeHVJQ0FnSUhadWIyUmxMbVZzYlN4Y2JpQWdJQ0IyYm05a1pTNWpiMjUwWlhoMExGeHVJQ0FnSUhadWIyUmxMbU52YlhCdmJtVnVkRTl3ZEdsdmJuTXNYRzRnSUNBZ2RtNXZaR1V1WVhONWJtTkdZV04wYjNKNVhHNGdJQ2s3WEc0Z0lHTnNiMjVsWkM1dWN5QTlJSFp1YjJSbExtNXpPMXh1SUNCamJHOXVaV1F1YVhOVGRHRjBhV01nUFNCMmJtOWtaUzVwYzFOMFlYUnBZenRjYmlBZ1kyeHZibVZrTG10bGVTQTlJSFp1YjJSbExtdGxlVHRjYmlBZ1kyeHZibVZrTG1selEyOXRiV1Z1ZENBOUlIWnViMlJsTG1selEyOXRiV1Z1ZER0Y2JpQWdZMnh2Ym1Wa0xtWnVRMjl1ZEdWNGRDQTlJSFp1YjJSbExtWnVRMjl1ZEdWNGREdGNiaUFnWTJ4dmJtVmtMbVp1VDNCMGFXOXVjeUE5SUhadWIyUmxMbVp1VDNCMGFXOXVjenRjYmlBZ1kyeHZibVZrTG1adVUyTnZjR1ZKWkNBOUlIWnViMlJsTG1adVUyTnZjR1ZKWkR0Y2JpQWdZMnh2Ym1Wa0xtRnplVzVqVFdWMFlTQTlJSFp1YjJSbExtRnplVzVqVFdWMFlUdGNiaUFnWTJ4dmJtVmtMbWx6UTJ4dmJtVmtJRDBnZEhKMVpUdGNiaUFnY21WMGRYSnVJR05zYjI1bFpGeHVmVnh1WEc0dktseHVJQ29nYm05MElIUjVjR1VnWTJobFkydHBibWNnZEdocGN5Qm1hV3hsSUdKbFkyRjFjMlVnWm14dmR5QmtiMlZ6YmlkMElIQnNZWGtnZDJWc2JDQjNhWFJvWEc0Z0tpQmtlVzVoYldsallXeHNlU0JoWTJObGMzTnBibWNnYldWMGFHOWtjeUJ2YmlCQmNuSmhlU0J3Y205MGIzUjVjR1ZjYmlBcUwxeHVYRzUyWVhJZ1lYSnlZWGxRY205MGJ5QTlJRUZ5Y21GNUxuQnliM1J2ZEhsd1pUdGNiblpoY2lCaGNuSmhlVTFsZEdodlpITWdQU0JQWW1wbFkzUXVZM0psWVhSbEtHRnljbUY1VUhKdmRHOHBPMXh1WEc1MllYSWdiV1YwYUc5a2MxUnZVR0YwWTJnZ1BTQmJYRzRnSUNkd2RYTm9KeXhjYmlBZ0ozQnZjQ2NzWEc0Z0lDZHphR2xtZENjc1hHNGdJQ2QxYm5Ob2FXWjBKeXhjYmlBZ0ozTndiR2xqWlNjc1hHNGdJQ2R6YjNKMEp5eGNiaUFnSjNKbGRtVnljMlVuWEc1ZE8xeHVYRzR2S2lwY2JpQXFJRWx1ZEdWeVkyVndkQ0J0ZFhSaGRHbHVaeUJ0WlhSb2IyUnpJR0Z1WkNCbGJXbDBJR1YyWlc1MGMxeHVJQ292WEc1dFpYUm9iMlJ6Vkc5UVlYUmphQzVtYjNKRllXTm9LR1oxYm1OMGFXOXVJQ2h0WlhSb2IyUXBJSHRjYmlBZ0x5OGdZMkZqYUdVZ2IzSnBaMmx1WVd3Z2JXVjBhRzlrWEc0Z0lIWmhjaUJ2Y21sbmFXNWhiQ0E5SUdGeWNtRjVVSEp2ZEc5YmJXVjBhRzlrWFR0Y2JpQWdaR1ZtS0dGeWNtRjVUV1YwYUc5a2N5d2diV1YwYUc5a0xDQm1kVzVqZEdsdmJpQnRkWFJoZEc5eUlDZ3BJSHRjYmlBZ0lDQjJZWElnWVhKbmN5QTlJRnRkTENCc1pXNGdQU0JoY21kMWJXVnVkSE11YkdWdVozUm9PMXh1SUNBZ0lIZG9hV3hsSUNnZ2JHVnVMUzBnS1NCaGNtZHpXeUJzWlc0Z1hTQTlJR0Z5WjNWdFpXNTBjMXNnYkdWdUlGMDdYRzVjYmlBZ0lDQjJZWElnY21WemRXeDBJRDBnYjNKcFoybHVZV3d1WVhCd2JIa29kR2hwY3l3Z1lYSm5jeWs3WEc0Z0lDQWdkbUZ5SUc5aUlEMGdkR2hwY3k1ZlgyOWlYMTg3WEc0Z0lDQWdkbUZ5SUdsdWMyVnlkR1ZrTzF4dUlDQWdJSE4zYVhSamFDQW9iV1YwYUc5a0tTQjdYRzRnSUNBZ0lDQmpZWE5sSUNkd2RYTm9KenBjYmlBZ0lDQWdJR05oYzJVZ0ozVnVjMmhwWm5Rbk9seHVJQ0FnSUNBZ0lDQnBibk5sY25SbFpDQTlJR0Z5WjNNN1hHNGdJQ0FnSUNBZ0lHSnlaV0ZyWEc0Z0lDQWdJQ0JqWVhObElDZHpjR3hwWTJVbk9seHVJQ0FnSUNBZ0lDQnBibk5sY25SbFpDQTlJR0Z5WjNNdWMyeHBZMlVvTWlrN1hHNGdJQ0FnSUNBZ0lHSnlaV0ZyWEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2hwYm5ObGNuUmxaQ2tnZXlCdllpNXZZbk5sY25abFFYSnlZWGtvYVc1elpYSjBaV1FwT3lCOVhHNGdJQ0FnTHk4Z2JtOTBhV1o1SUdOb1lXNW5aVnh1SUNBZ0lHOWlMbVJsY0M1dWIzUnBabmtvS1R0Y2JpQWdJQ0J5WlhSMWNtNGdjbVZ6ZFd4MFhHNGdJSDBwTzF4dWZTazdYRzVjYmk4cUlDQXFMMXh1WEc1MllYSWdZWEp5WVhsTFpYbHpJRDBnVDJKcVpXTjBMbWRsZEU5M2JsQnliM0JsY25SNVRtRnRaWE1vWVhKeVlYbE5aWFJvYjJSektUdGNibHh1THlvcVhHNGdLaUJKYmlCemIyMWxJR05oYzJWeklIZGxJRzFoZVNCM1lXNTBJSFJ2SUdScGMyRmliR1VnYjJKelpYSjJZWFJwYjI0Z2FXNXphV1JsSUdFZ1kyOXRjRzl1Wlc1MEozTmNiaUFxSUhWd1pHRjBaU0JqYjIxd2RYUmhkR2x2Ymk1Y2JpQXFMMXh1ZG1GeUlITm9iM1ZzWkU5aWMyVnlkbVVnUFNCMGNuVmxPMXh1WEc1bWRXNWpkR2x2YmlCMGIyZG5iR1ZQWW5ObGNuWnBibWNnS0haaGJIVmxLU0I3WEc0Z0lITm9iM1ZzWkU5aWMyVnlkbVVnUFNCMllXeDFaVHRjYm4xY2JseHVMeW9xWEc0Z0tpQlBZbk5sY25abGNpQmpiR0Z6Y3lCMGFHRjBJR2x6SUdGMGRHRmphR1ZrSUhSdklHVmhZMmdnYjJKelpYSjJaV1JjYmlBcUlHOWlhbVZqZEM0Z1QyNWpaU0JoZEhSaFkyaGxaQ3dnZEdobElHOWljMlZ5ZG1WeUlHTnZiblpsY25SeklIUm9aU0IwWVhKblpYUmNiaUFxSUc5aWFtVmpkQ2R6SUhCeWIzQmxjblI1SUd0bGVYTWdhVzUwYnlCblpYUjBaWEl2YzJWMGRHVnljeUIwYUdGMFhHNGdLaUJqYjJ4c1pXTjBJR1JsY0dWdVpHVnVZMmxsY3lCaGJtUWdaR2x6Y0dGMFkyZ2dkWEJrWVhSbGN5NWNiaUFxTDF4dWRtRnlJRTlpYzJWeWRtVnlJRDBnWm5WdVkzUnBiMjRnVDJKelpYSjJaWElnS0haaGJIVmxLU0I3WEc0Z0lIUm9hWE11ZG1Gc2RXVWdQU0IyWVd4MVpUdGNiaUFnZEdocGN5NWtaWEFnUFNCdVpYY2dSR1Z3S0NrN1hHNGdJSFJvYVhNdWRtMURiM1Z1ZENBOUlEQTdYRzRnSUdSbFppaDJZV3gxWlN3Z0oxOWZiMkpmWHljc0lIUm9hWE1wTzF4dUlDQnBaaUFvUVhKeVlYa3VhWE5CY25KaGVTaDJZV3gxWlNrcElIdGNiaUFnSUNCcFppQW9hR0Z6VUhKdmRHOHBJSHRjYmlBZ0lDQWdJSEJ5YjNSdlFYVm5iV1Z1ZENoMllXeDFaU3dnWVhKeVlYbE5aWFJvYjJSektUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnWTI5d2VVRjFaMjFsYm5Rb2RtRnNkV1VzSUdGeWNtRjVUV1YwYUc5a2N5d2dZWEp5WVhsTFpYbHpLVHRjYmlBZ0lDQjlYRzRnSUNBZ2RHaHBjeTV2WW5ObGNuWmxRWEp5WVhrb2RtRnNkV1VwTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhSb2FYTXVkMkZzYXloMllXeDFaU2s3WEc0Z0lIMWNibjA3WEc1Y2JpOHFLbHh1SUNvZ1YyRnNheUIwYUhKdmRXZG9JR0ZzYkNCd2NtOXdaWEowYVdWeklHRnVaQ0JqYjI1MlpYSjBJSFJvWlcwZ2FXNTBiMXh1SUNvZ1oyVjBkR1Z5TDNObGRIUmxjbk11SUZSb2FYTWdiV1YwYUc5a0lITm9iM1ZzWkNCdmJteDVJR0psSUdOaGJHeGxaQ0IzYUdWdVhHNGdLaUIyWVd4MVpTQjBlWEJsSUdseklFOWlhbVZqZEM1Y2JpQXFMMXh1VDJKelpYSjJaWEl1Y0hKdmRHOTBlWEJsTG5kaGJHc2dQU0JtZFc1amRHbHZiaUIzWVd4cklDaHZZbW9wSUh0Y2JpQWdkbUZ5SUd0bGVYTWdQU0JQWW1wbFkzUXVhMlY1Y3lodlltb3BPMXh1SUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHdGxlWE11YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNCa1pXWnBibVZTWldGamRHbDJaU1FrTVNodlltb3NJR3RsZVhOYmFWMHBPMXh1SUNCOVhHNTlPMXh1WEc0dktpcGNiaUFxSUU5aWMyVnlkbVVnWVNCc2FYTjBJRzltSUVGeWNtRjVJR2wwWlcxekxseHVJQ292WEc1UFluTmxjblpsY2k1d2NtOTBiM1I1Y0dVdWIySnpaWEoyWlVGeWNtRjVJRDBnWm5WdVkzUnBiMjRnYjJKelpYSjJaVUZ5Y21GNUlDaHBkR1Z0Y3lrZ2UxeHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Dd2diQ0E5SUdsMFpXMXpMbXhsYm1kMGFEc2dhU0E4SUd3N0lHa3JLeWtnZTF4dUlDQWdJRzlpYzJWeWRtVW9hWFJsYlhOYmFWMHBPMXh1SUNCOVhHNTlPMXh1WEc0dkx5Qm9aV3h3WlhKelhHNWNiaThxS2x4dUlDb2dRWFZuYldWdWRDQmhJSFJoY21kbGRDQlBZbXBsWTNRZ2IzSWdRWEp5WVhrZ1lua2dhVzUwWlhKalpYQjBhVzVuWEc0Z0tpQjBhR1VnY0hKdmRHOTBlWEJsSUdOb1lXbHVJSFZ6YVc1bklGOWZjSEp2ZEc5ZlgxeHVJQ292WEc1bWRXNWpkR2x2YmlCd2NtOTBiMEYxWjIxbGJuUWdLSFJoY21kbGRDd2djM0pqS1NCN1hHNGdJQzhxSUdWemJHbHVkQzFrYVhOaFlteGxJRzV2TFhCeWIzUnZJQ292WEc0Z0lIUmhjbWRsZEM1ZlgzQnliM1J2WDE4Z1BTQnpjbU03WEc0Z0lDOHFJR1Z6YkdsdWRDMWxibUZpYkdVZ2JtOHRjSEp2ZEc4Z0tpOWNibjFjYmx4dUx5b3FYRzRnS2lCQmRXZHRaVzUwSUdFZ2RHRnlaMlYwSUU5aWFtVmpkQ0J2Y2lCQmNuSmhlU0JpZVNCa1pXWnBibWx1WjF4dUlDb2dhR2xrWkdWdUlIQnliM0JsY25ScFpYTXVYRzRnS2k5Y2JpOHFJR2x6ZEdGdVluVnNJR2xuYm05eVpTQnVaWGgwSUNvdlhHNW1kVzVqZEdsdmJpQmpiM0I1UVhWbmJXVnVkQ0FvZEdGeVoyVjBMQ0J6Y21Nc0lHdGxlWE1wSUh0Y2JpQWdabTl5SUNoMllYSWdhU0E5SURBc0lHd2dQU0JyWlhsekxteGxibWQwYURzZ2FTQThJR3c3SUdrckt5a2dlMXh1SUNBZ0lIWmhjaUJyWlhrZ1BTQnJaWGx6VzJsZE8xeHVJQ0FnSUdSbFppaDBZWEpuWlhRc0lHdGxlU3dnYzNKalcydGxlVjBwTzF4dUlDQjlYRzU5WEc1Y2JpOHFLbHh1SUNvZ1FYUjBaVzF3ZENCMGJ5QmpjbVZoZEdVZ1lXNGdiMkp6WlhKMlpYSWdhVzV6ZEdGdVkyVWdabTl5SUdFZ2RtRnNkV1VzWEc0Z0tpQnlaWFIxY201eklIUm9aU0J1WlhjZ2IySnpaWEoyWlhJZ2FXWWdjM1ZqWTJWemMyWjFiR3g1SUc5aWMyVnlkbVZrTEZ4dUlDb2diM0lnZEdobElHVjRhWE4wYVc1bklHOWljMlZ5ZG1WeUlHbG1JSFJvWlNCMllXeDFaU0JoYkhKbFlXUjVJR2hoY3lCdmJtVXVYRzRnS2k5Y2JtWjFibU4wYVc5dUlHOWljMlZ5ZG1VZ0tIWmhiSFZsTENCaGMxSnZiM1JFWVhSaEtTQjdYRzRnSUdsbUlDZ2hhWE5QWW1wbFkzUW9kbUZzZFdVcElIeDhJSFpoYkhWbElHbHVjM1JoYm1ObGIyWWdWazV2WkdVcElIdGNiaUFnSUNCeVpYUjFjbTVjYmlBZ2ZWeHVJQ0IyWVhJZ2IySTdYRzRnSUdsbUlDaG9ZWE5QZDI0b2RtRnNkV1VzSUNkZlgyOWlYMThuS1NBbUppQjJZV3gxWlM1ZlgyOWlYMThnYVc1emRHRnVZMlZ2WmlCUFluTmxjblpsY2lrZ2UxeHVJQ0FnSUc5aUlEMGdkbUZzZFdVdVgxOXZZbDlmTzF4dUlDQjlJR1ZzYzJVZ2FXWWdLRnh1SUNBZ0lITm9iM1ZzWkU5aWMyVnlkbVVnSmlaY2JpQWdJQ0FoYVhOVFpYSjJaWEpTWlc1a1pYSnBibWNvS1NBbUpseHVJQ0FnSUNoQmNuSmhlUzVwYzBGeWNtRjVLSFpoYkhWbEtTQjhmQ0JwYzFCc1lXbHVUMkpxWldOMEtIWmhiSFZsS1NrZ0ppWmNiaUFnSUNCUFltcGxZM1F1YVhORmVIUmxibk5wWW14bEtIWmhiSFZsS1NBbUpseHVJQ0FnSUNGMllXeDFaUzVmYVhOV2RXVmNiaUFnS1NCN1hHNGdJQ0FnYjJJZ1BTQnVaWGNnVDJKelpYSjJaWElvZG1Gc2RXVXBPMXh1SUNCOVhHNGdJR2xtSUNoaGMxSnZiM1JFWVhSaElDWW1JRzlpS1NCN1hHNGdJQ0FnYjJJdWRtMURiM1Z1ZENzck8xeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCdllseHVmVnh1WEc0dktpcGNiaUFxSUVSbFptbHVaU0JoSUhKbFlXTjBhWFpsSUhCeWIzQmxjblI1SUc5dUlHRnVJRTlpYW1WamRDNWNiaUFxTDF4dVpuVnVZM1JwYjI0Z1pHVm1hVzVsVW1WaFkzUnBkbVVrSkRFZ0tGeHVJQ0J2WW1vc1hHNGdJR3RsZVN4Y2JpQWdkbUZzTEZ4dUlDQmpkWE4wYjIxVFpYUjBaWElzWEc0Z0lITm9ZV3hzYjNkY2Jpa2dlMXh1SUNCMllYSWdaR1Z3SUQwZ2JtVjNJRVJsY0NncE8xeHVYRzRnSUhaaGNpQndjbTl3WlhKMGVTQTlJRTlpYW1WamRDNW5aWFJQZDI1UWNtOXdaWEowZVVSbGMyTnlhWEIwYjNJb2IySnFMQ0JyWlhrcE8xeHVJQ0JwWmlBb2NISnZjR1Z5ZEhrZ0ppWWdjSEp2Y0dWeWRIa3VZMjl1Wm1sbmRYSmhZbXhsSUQwOVBTQm1ZV3h6WlNrZ2UxeHVJQ0FnSUhKbGRIVnlibHh1SUNCOVhHNWNiaUFnTHk4Z1kyRjBaWElnWm05eUlIQnlaUzFrWldacGJtVmtJR2RsZEhSbGNpOXpaWFIwWlhKelhHNGdJSFpoY2lCblpYUjBaWElnUFNCd2NtOXdaWEowZVNBbUppQndjbTl3WlhKMGVTNW5aWFE3WEc0Z0lIWmhjaUJ6WlhSMFpYSWdQU0J3Y205d1pYSjBlU0FtSmlCd2NtOXdaWEowZVM1elpYUTdYRzRnSUdsbUlDZ29JV2RsZEhSbGNpQjhmQ0J6WlhSMFpYSXBJQ1ltSUdGeVozVnRaVzUwY3k1c1pXNW5kR2dnUFQwOUlESXBJSHRjYmlBZ0lDQjJZV3dnUFNCdlltcGJhMlY1WFR0Y2JpQWdmVnh1WEc0Z0lIWmhjaUJqYUdsc1pFOWlJRDBnSVhOb1lXeHNiM2NnSmlZZ2IySnpaWEoyWlNoMllXd3BPMXh1SUNCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29iMkpxTENCclpYa3NJSHRjYmlBZ0lDQmxiblZ0WlhKaFlteGxPaUIwY25WbExGeHVJQ0FnSUdOdmJtWnBaM1Z5WVdKc1pUb2dkSEoxWlN4Y2JpQWdJQ0JuWlhRNklHWjFibU4wYVc5dUlISmxZV04wYVhabFIyVjBkR1Z5SUNncElIdGNiaUFnSUNBZ0lIWmhjaUIyWVd4MVpTQTlJR2RsZEhSbGNpQS9JR2RsZEhSbGNpNWpZV3hzS0c5aWFpa2dPaUIyWVd3N1hHNGdJQ0FnSUNCcFppQW9SR1Z3TG5SaGNtZGxkQ2tnZTF4dUlDQWdJQ0FnSUNCa1pYQXVaR1Z3Wlc1a0tDazdYRzRnSUNBZ0lDQWdJR2xtSUNoamFHbHNaRTlpS1NCN1hHNGdJQ0FnSUNBZ0lDQWdZMmhwYkdSUFlpNWtaWEF1WkdWd1pXNWtLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLRUZ5Y21GNUxtbHpRWEp5WVhrb2RtRnNkV1VwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JrWlhCbGJtUkJjbkpoZVNoMllXeDFaU2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnlaWFIxY200Z2RtRnNkV1ZjYmlBZ0lDQjlMRnh1SUNBZ0lITmxkRG9nWm5WdVkzUnBiMjRnY21WaFkzUnBkbVZUWlhSMFpYSWdLRzVsZDFaaGJDa2dlMXh1SUNBZ0lDQWdkbUZ5SUhaaGJIVmxJRDBnWjJWMGRHVnlJRDhnWjJWMGRHVnlMbU5oYkd3b2IySnFLU0E2SUhaaGJEdGNiaUFnSUNBZ0lDOHFJR1Z6YkdsdWRDMWthWE5oWW14bElHNXZMWE5sYkdZdFkyOXRjR0Z5WlNBcUwxeHVJQ0FnSUNBZ2FXWWdLRzVsZDFaaGJDQTlQVDBnZG1Gc2RXVWdmSHdnS0c1bGQxWmhiQ0FoUFQwZ2JtVjNWbUZzSUNZbUlIWmhiSFZsSUNFOVBTQjJZV3gxWlNrcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdVhHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNBdktpQmxjMnhwYm5RdFpXNWhZbXhsSUc1dkxYTmxiR1l0WTI5dGNHRnlaU0FxTDF4dUlDQWdJQ0FnYVdZZ0tIQnliMk5sYzNNdVpXNTJMazVQUkVWZlJVNVdJQ0U5UFNBbmNISnZaSFZqZEdsdmJpY2dKaVlnWTNWemRHOXRVMlYwZEdWeUtTQjdYRzRnSUNBZ0lDQWdJR04xYzNSdmJWTmxkSFJsY2lncE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0x5OGdJemM1T0RFNklHWnZjaUJoWTJObGMzTnZjaUJ3Y205d1pYSjBhV1Z6SUhkcGRHaHZkWFFnYzJWMGRHVnlYRzRnSUNBZ0lDQnBaaUFvWjJWMGRHVnlJQ1ltSUNGelpYUjBaWElwSUhzZ2NtVjBkWEp1SUgxY2JpQWdJQ0FnSUdsbUlDaHpaWFIwWlhJcElIdGNiaUFnSUNBZ0lDQWdjMlYwZEdWeUxtTmhiR3dvYjJKcUxDQnVaWGRXWVd3cE8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2RtRnNJRDBnYm1WM1ZtRnNPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdZMmhwYkdSUFlpQTlJQ0Z6YUdGc2JHOTNJQ1ltSUc5aWMyVnlkbVVvYm1WM1ZtRnNLVHRjYmlBZ0lDQWdJR1JsY0M1dWIzUnBabmtvS1R0Y2JpQWdJQ0I5WEc0Z0lIMHBPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlGTmxkQ0JoSUhCeWIzQmxjblI1SUc5dUlHRnVJRzlpYW1WamRDNGdRV1JrY3lCMGFHVWdibVYzSUhCeWIzQmxjblI1SUdGdVpGeHVJQ29nZEhKcFoyZGxjbk1nWTJoaGJtZGxJRzV2ZEdsbWFXTmhkR2x2YmlCcFppQjBhR1VnY0hKdmNHVnlkSGtnWkc5bGMyNG5kRnh1SUNvZ1lXeHlaV0ZrZVNCbGVHbHpkQzVjYmlBcUwxeHVablZ1WTNScGIyNGdjMlYwSUNoMFlYSm5aWFFzSUd0bGVTd2dkbUZzS1NCN1hHNGdJR2xtSUNod2NtOWpaWE56TG1WdWRpNU9UMFJGWDBWT1ZpQWhQVDBnSjNCeWIyUjFZM1JwYjI0bklDWW1YRzRnSUNBZ0tHbHpWVzVrWldZb2RHRnlaMlYwS1NCOGZDQnBjMUJ5YVcxcGRHbDJaU2gwWVhKblpYUXBLVnh1SUNBcElIdGNiaUFnSUNCM1lYSnVLQ2hjSWtOaGJtNXZkQ0J6WlhRZ2NtVmhZM1JwZG1VZ2NISnZjR1Z5ZEhrZ2IyNGdkVzVrWldacGJtVmtMQ0J1ZFd4c0xDQnZjaUJ3Y21sdGFYUnBkbVVnZG1Gc2RXVTZJRndpSUNzZ0tDaDBZWEpuWlhRcEtTa3BPMXh1SUNCOVhHNGdJR2xtSUNoQmNuSmhlUzVwYzBGeWNtRjVLSFJoY21kbGRDa2dKaVlnYVhOV1lXeHBaRUZ5Y21GNVNXNWtaWGdvYTJWNUtTa2dlMXh1SUNBZ0lIUmhjbWRsZEM1c1pXNW5kR2dnUFNCTllYUm9MbTFoZUNoMFlYSm5aWFF1YkdWdVozUm9MQ0JyWlhrcE8xeHVJQ0FnSUhSaGNtZGxkQzV6Y0d4cFkyVW9hMlY1TENBeExDQjJZV3dwTzF4dUlDQWdJSEpsZEhWeWJpQjJZV3hjYmlBZ2ZWeHVJQ0JwWmlBb2EyVjVJR2x1SUhSaGNtZGxkQ0FtSmlBaEtHdGxlU0JwYmlCUFltcGxZM1F1Y0hKdmRHOTBlWEJsS1NrZ2UxeHVJQ0FnSUhSaGNtZGxkRnRyWlhsZElEMGdkbUZzTzF4dUlDQWdJSEpsZEhWeWJpQjJZV3hjYmlBZ2ZWeHVJQ0IyWVhJZ2IySWdQU0FvZEdGeVoyVjBLUzVmWDI5aVgxODdYRzRnSUdsbUlDaDBZWEpuWlhRdVgybHpWblZsSUh4OElDaHZZaUFtSmlCdllpNTJiVU52ZFc1MEtTa2dlMXh1SUNBZ0lIQnliMk5sYzNNdVpXNTJMazVQUkVWZlJVNVdJQ0U5UFNBbmNISnZaSFZqZEdsdmJpY2dKaVlnZDJGeWJpaGNiaUFnSUNBZ0lDZEJkbTlwWkNCaFpHUnBibWNnY21WaFkzUnBkbVVnY0hKdmNHVnlkR2xsY3lCMGJ5QmhJRloxWlNCcGJuTjBZVzVqWlNCdmNpQnBkSE1nY205dmRDQWtaR0YwWVNBbklDdGNiaUFnSUNBZ0lDZGhkQ0J5ZFc1MGFXMWxJQzBnWkdWamJHRnlaU0JwZENCMWNHWnliMjUwSUdsdUlIUm9aU0JrWVhSaElHOXdkR2x2Ymk0blhHNGdJQ0FnS1R0Y2JpQWdJQ0J5WlhSMWNtNGdkbUZzWEc0Z0lIMWNiaUFnYVdZZ0tDRnZZaWtnZTF4dUlDQWdJSFJoY21kbGRGdHJaWGxkSUQwZ2RtRnNPMXh1SUNBZ0lISmxkSFZ5YmlCMllXeGNiaUFnZlZ4dUlDQmtaV1pwYm1WU1pXRmpkR2wyWlNRa01TaHZZaTUyWVd4MVpTd2dhMlY1TENCMllXd3BPMXh1SUNCdllpNWtaWEF1Ym05MGFXWjVLQ2s3WEc0Z0lISmxkSFZ5YmlCMllXeGNibjFjYmx4dUx5b3FYRzRnS2lCRVpXeGxkR1VnWVNCd2NtOXdaWEowZVNCaGJtUWdkSEpwWjJkbGNpQmphR0Z1WjJVZ2FXWWdibVZqWlhOellYSjVMbHh1SUNvdlhHNW1kVzVqZEdsdmJpQmtaV3dnS0hSaGNtZGxkQ3dnYTJWNUtTQjdYRzRnSUdsbUlDaHdjbTlqWlhOekxtVnVkaTVPVDBSRlgwVk9WaUFoUFQwZ0ozQnliMlIxWTNScGIyNG5JQ1ltWEc0Z0lDQWdLR2x6Vlc1a1pXWW9kR0Z5WjJWMEtTQjhmQ0JwYzFCeWFXMXBkR2wyWlNoMFlYSm5aWFFwS1Z4dUlDQXBJSHRjYmlBZ0lDQjNZWEp1S0NoY0lrTmhibTV2ZENCa1pXeGxkR1VnY21WaFkzUnBkbVVnY0hKdmNHVnlkSGtnYjI0Z2RXNWtaV1pwYm1Wa0xDQnVkV3hzTENCdmNpQndjbWx0YVhScGRtVWdkbUZzZFdVNklGd2lJQ3NnS0NoMFlYSm5aWFFwS1NrcE8xeHVJQ0I5WEc0Z0lHbG1JQ2hCY25KaGVTNXBjMEZ5Y21GNUtIUmhjbWRsZENrZ0ppWWdhWE5XWVd4cFpFRnljbUY1U1c1a1pYZ29hMlY1S1NrZ2UxeHVJQ0FnSUhSaGNtZGxkQzV6Y0d4cFkyVW9hMlY1TENBeEtUdGNiaUFnSUNCeVpYUjFjbTVjYmlBZ2ZWeHVJQ0IyWVhJZ2IySWdQU0FvZEdGeVoyVjBLUzVmWDI5aVgxODdYRzRnSUdsbUlDaDBZWEpuWlhRdVgybHpWblZsSUh4OElDaHZZaUFtSmlCdllpNTJiVU52ZFc1MEtTa2dlMXh1SUNBZ0lIQnliMk5sYzNNdVpXNTJMazVQUkVWZlJVNVdJQ0U5UFNBbmNISnZaSFZqZEdsdmJpY2dKaVlnZDJGeWJpaGNiaUFnSUNBZ0lDZEJkbTlwWkNCa1pXeGxkR2x1WnlCd2NtOXdaWEowYVdWeklHOXVJR0VnVm5WbElHbHVjM1JoYm1ObElHOXlJR2wwY3lCeWIyOTBJQ1JrWVhSaElDY2dLMXh1SUNBZ0lDQWdKeTBnYW5WemRDQnpaWFFnYVhRZ2RHOGdiblZzYkM0blhHNGdJQ0FnS1R0Y2JpQWdJQ0J5WlhSMWNtNWNiaUFnZlZ4dUlDQnBaaUFvSVdoaGMwOTNiaWgwWVhKblpYUXNJR3RsZVNrcElIdGNiaUFnSUNCeVpYUjFjbTVjYmlBZ2ZWeHVJQ0JrWld4bGRHVWdkR0Z5WjJWMFcydGxlVjA3WEc0Z0lHbG1JQ2doYjJJcElIdGNiaUFnSUNCeVpYUjFjbTVjYmlBZ2ZWeHVJQ0J2WWk1a1pYQXVibTkwYVdaNUtDazdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1EyOXNiR1ZqZENCa1pYQmxibVJsYm1OcFpYTWdiMjRnWVhKeVlYa2daV3hsYldWdWRITWdkMmhsYmlCMGFHVWdZWEp5WVhrZ2FYTWdkRzkxWTJobFpDd2djMmx1WTJWY2JpQXFJSGRsSUdOaGJtNXZkQ0JwYm5SbGNtTmxjSFFnWVhKeVlYa2daV3hsYldWdWRDQmhZMk5sYzNNZ2JHbHJaU0J3Y205d1pYSjBlU0JuWlhSMFpYSnpMbHh1SUNvdlhHNW1kVzVqZEdsdmJpQmtaWEJsYm1SQmNuSmhlU0FvZG1Gc2RXVXBJSHRjYmlBZ1ptOXlJQ2gyWVhJZ1pTQTlJQ2gyYjJsa0lEQXBMQ0JwSUQwZ01Dd2diQ0E5SUhaaGJIVmxMbXhsYm1kMGFEc2dhU0E4SUd3N0lHa3JLeWtnZTF4dUlDQWdJR1VnUFNCMllXeDFaVnRwWFR0Y2JpQWdJQ0JsSUNZbUlHVXVYMTl2WWw5ZklDWW1JR1V1WDE5dllsOWZMbVJsY0M1a1pYQmxibVFvS1R0Y2JpQWdJQ0JwWmlBb1FYSnlZWGt1YVhOQmNuSmhlU2hsS1NrZ2UxeHVJQ0FnSUNBZ1pHVndaVzVrUVhKeVlYa29aU2s3WEc0Z0lDQWdmVnh1SUNCOVhHNTlYRzVjYmk4cUlDQXFMMXh1WEc0dktpcGNiaUFxSUU5d2RHbHZiaUJ2ZG1WeWQzSnBkR2x1WnlCemRISmhkR1ZuYVdWeklHRnlaU0JtZFc1amRHbHZibk1nZEdoaGRDQm9ZVzVrYkdWY2JpQXFJR2h2ZHlCMGJ5QnRaWEpuWlNCaElIQmhjbVZ1ZENCdmNIUnBiMjRnZG1Gc2RXVWdZVzVrSUdFZ1kyaHBiR1FnYjNCMGFXOXVYRzRnS2lCMllXeDFaU0JwYm5SdklIUm9aU0JtYVc1aGJDQjJZV3gxWlM1Y2JpQXFMMXh1ZG1GeUlITjBjbUYwY3lBOUlHTnZibVpwWnk1dmNIUnBiMjVOWlhKblpWTjBjbUYwWldkcFpYTTdYRzVjYmk4cUtseHVJQ29nVDNCMGFXOXVjeUIzYVhSb0lISmxjM1J5YVdOMGFXOXVjMXh1SUNvdlhHNXBaaUFvY0hKdlkyVnpjeTVsYm5ZdVRrOUVSVjlGVGxZZ0lUMDlJQ2R3Y205a2RXTjBhVzl1SnlrZ2UxeHVJQ0J6ZEhKaGRITXVaV3dnUFNCemRISmhkSE11Y0hKdmNITkVZWFJoSUQwZ1puVnVZM1JwYjI0Z0tIQmhjbVZ1ZEN3Z1kyaHBiR1FzSUhadExDQnJaWGtwSUh0Y2JpQWdJQ0JwWmlBb0lYWnRLU0I3WEc0Z0lDQWdJQ0IzWVhKdUtGeHVJQ0FnSUNBZ0lDQmNJbTl3ZEdsdmJpQmNYRndpWENJZ0t5QnJaWGtnS3lCY0lseGNYQ0lnWTJGdUlHOXViSGtnWW1VZ2RYTmxaQ0JrZFhKcGJtY2dhVzV6ZEdGdVkyVWdYQ0lnSzF4dUlDQWdJQ0FnSUNBblkzSmxZWFJwYjI0Z2QybDBhQ0IwYUdVZ1lHNWxkMkFnYTJWNWQyOXlaQzRuWEc0Z0lDQWdJQ0FwTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z1pHVm1ZWFZzZEZOMGNtRjBLSEJoY21WdWRDd2dZMmhwYkdRcFhHNGdJSDA3WEc1OVhHNWNiaThxS2x4dUlDb2dTR1ZzY0dWeUlIUm9ZWFFnY21WamRYSnphWFpsYkhrZ2JXVnlaMlZ6SUhSM2J5QmtZWFJoSUc5aWFtVmpkSE1nZEc5blpYUm9aWEl1WEc0Z0tpOWNibVoxYm1OMGFXOXVJRzFsY21kbFJHRjBZU0FvZEc4c0lHWnliMjBwSUh0Y2JpQWdhV1lnS0NGbWNtOXRLU0I3SUhKbGRIVnliaUIwYnlCOVhHNGdJSFpoY2lCclpYa3NJSFJ2Vm1Gc0xDQm1jbTl0Vm1Gc08xeHVJQ0IyWVhJZ2EyVjVjeUE5SUU5aWFtVmpkQzVyWlhsektHWnliMjBwTzF4dUlDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR3RsZVhNdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQnJaWGtnUFNCclpYbHpXMmxkTzF4dUlDQWdJSFJ2Vm1Gc0lEMGdkRzliYTJWNVhUdGNiaUFnSUNCbWNtOXRWbUZzSUQwZ1puSnZiVnRyWlhsZE8xeHVJQ0FnSUdsbUlDZ2hhR0Z6VDNkdUtIUnZMQ0JyWlhrcEtTQjdYRzRnSUNBZ0lDQnpaWFFvZEc4c0lHdGxlU3dnWm5KdmJWWmhiQ2s3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2hjYmlBZ0lDQWdJSFJ2Vm1Gc0lDRTlQU0JtY205dFZtRnNJQ1ltWEc0Z0lDQWdJQ0JwYzFCc1lXbHVUMkpxWldOMEtIUnZWbUZzS1NBbUpseHVJQ0FnSUNBZ2FYTlFiR0ZwYms5aWFtVmpkQ2htY205dFZtRnNLVnh1SUNBZ0lDa2dlMXh1SUNBZ0lDQWdiV1Z5WjJWRVlYUmhLSFJ2Vm1Gc0xDQm1jbTl0Vm1Gc0tUdGNiaUFnSUNCOVhHNGdJSDFjYmlBZ2NtVjBkWEp1SUhSdlhHNTlYRzVjYmk4cUtseHVJQ29nUkdGMFlWeHVJQ292WEc1bWRXNWpkR2x2YmlCdFpYSm5aVVJoZEdGUGNrWnVJQ2hjYmlBZ2NHRnlaVzUwVm1Gc0xGeHVJQ0JqYUdsc1pGWmhiQ3hjYmlBZ2RtMWNiaWtnZTF4dUlDQnBaaUFvSVhadEtTQjdYRzRnSUNBZ0x5OGdhVzRnWVNCV2RXVXVaWGgwWlc1a0lHMWxjbWRsTENCaWIzUm9JSE5vYjNWc1pDQmlaU0JtZFc1amRHbHZibk5jYmlBZ0lDQnBaaUFvSVdOb2FXeGtWbUZzS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnY0dGeVpXNTBWbUZzWEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2doY0dGeVpXNTBWbUZzS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWTJocGJHUldZV3hjYmlBZ0lDQjlYRzRnSUNBZ0x5OGdkMmhsYmlCd1lYSmxiblJXWVd3Z0ppQmphR2xzWkZaaGJDQmhjbVVnWW05MGFDQndjbVZ6Wlc1MExGeHVJQ0FnSUM4dklIZGxJRzVsWldRZ2RHOGdjbVYwZFhKdUlHRWdablZ1WTNScGIyNGdkR2hoZENCeVpYUjFjbTV6SUhSb1pWeHVJQ0FnSUM4dklHMWxjbWRsWkNCeVpYTjFiSFFnYjJZZ1ltOTBhQ0JtZFc1amRHbHZibk11TGk0Z2JtOGdibVZsWkNCMGIxeHVJQ0FnSUM4dklHTm9aV05ySUdsbUlIQmhjbVZ1ZEZaaGJDQnBjeUJoSUdaMWJtTjBhVzl1SUdobGNtVWdZbVZqWVhWelpWeHVJQ0FnSUM4dklHbDBJR2hoY3lCMGJ5QmlaU0JoSUdaMWJtTjBhVzl1SUhSdklIQmhjM01nY0hKbGRtbHZkWE1nYldWeVoyVnpMbHh1SUNBZ0lISmxkSFZ5YmlCbWRXNWpkR2x2YmlCdFpYSm5aV1JFWVhSaFJtNGdLQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRzFsY21kbFJHRjBZU2hjYmlBZ0lDQWdJQ0FnZEhsd1pXOW1JR05vYVd4a1ZtRnNJRDA5UFNBblpuVnVZM1JwYjI0bklEOGdZMmhwYkdSV1lXd3VZMkZzYkNoMGFHbHpMQ0IwYUdsektTQTZJR05vYVd4a1ZtRnNMRnh1SUNBZ0lDQWdJQ0IwZVhCbGIyWWdjR0Z5Wlc1MFZtRnNJRDA5UFNBblpuVnVZM1JwYjI0bklEOGdjR0Z5Wlc1MFZtRnNMbU5oYkd3b2RHaHBjeXdnZEdocGN5a2dPaUJ3WVhKbGJuUldZV3hjYmlBZ0lDQWdJQ2xjYmlBZ0lDQjlYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdjbVYwZFhKdUlHWjFibU4wYVc5dUlHMWxjbWRsWkVsdWMzUmhibU5sUkdGMFlVWnVJQ2dwSUh0Y2JpQWdJQ0FnSUM4dklHbHVjM1JoYm1ObElHMWxjbWRsWEc0Z0lDQWdJQ0IyWVhJZ2FXNXpkR0Z1WTJWRVlYUmhJRDBnZEhsd1pXOW1JR05vYVd4a1ZtRnNJRDA5UFNBblpuVnVZM1JwYjI0blhHNGdJQ0FnSUNBZ0lEOGdZMmhwYkdSV1lXd3VZMkZzYkNoMmJTd2dkbTBwWEc0Z0lDQWdJQ0FnSURvZ1kyaHBiR1JXWVd3N1hHNGdJQ0FnSUNCMllYSWdaR1ZtWVhWc2RFUmhkR0VnUFNCMGVYQmxiMllnY0dGeVpXNTBWbUZzSUQwOVBTQW5ablZ1WTNScGIyNG5YRzRnSUNBZ0lDQWdJRDhnY0dGeVpXNTBWbUZzTG1OaGJHd29kbTBzSUhadEtWeHVJQ0FnSUNBZ0lDQTZJSEJoY21WdWRGWmhiRHRjYmlBZ0lDQWdJR2xtSUNocGJuTjBZVzVqWlVSaGRHRXBJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRzFsY21kbFJHRjBZU2hwYm5OMFlXNWpaVVJoZEdFc0lHUmxabUYxYkhSRVlYUmhLVnh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHUmxabUYxYkhSRVlYUmhYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNibk4wY21GMGN5NWtZWFJoSUQwZ1puVnVZM1JwYjI0Z0tGeHVJQ0J3WVhKbGJuUldZV3dzWEc0Z0lHTm9hV3hrVm1Gc0xGeHVJQ0IyYlZ4dUtTQjdYRzRnSUdsbUlDZ2hkbTBwSUh0Y2JpQWdJQ0JwWmlBb1kyaHBiR1JXWVd3Z0ppWWdkSGx3Wlc5bUlHTm9hV3hrVm1Gc0lDRTlQU0FuWm5WdVkzUnBiMjRuS1NCN1hHNGdJQ0FnSUNCd2NtOWpaWE56TG1WdWRpNU9UMFJGWDBWT1ZpQWhQVDBnSjNCeWIyUjFZM1JwYjI0bklDWW1JSGRoY200b1hHNGdJQ0FnSUNBZ0lDZFVhR1VnWENKa1lYUmhYQ0lnYjNCMGFXOXVJSE5vYjNWc1pDQmlaU0JoSUdaMWJtTjBhVzl1SUNjZ0sxeHVJQ0FnSUNBZ0lDQW5kR2hoZENCeVpYUjFjbTV6SUdFZ2NHVnlMV2x1YzNSaGJtTmxJSFpoYkhWbElHbHVJR052YlhCdmJtVnVkQ0FuSUN0Y2JpQWdJQ0FnSUNBZ0oyUmxabWx1YVhScGIyNXpMaWNzWEc0Z0lDQWdJQ0FnSUhadFhHNGdJQ0FnSUNBcE8xeHVYRzRnSUNBZ0lDQnlaWFIxY200Z2NHRnlaVzUwVm1Gc1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnRaWEpuWlVSaGRHRlBja1p1S0hCaGNtVnVkRlpoYkN3Z1kyaHBiR1JXWVd3cFhHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2JXVnlaMlZFWVhSaFQzSkdiaWh3WVhKbGJuUldZV3dzSUdOb2FXeGtWbUZzTENCMmJTbGNibjA3WEc1Y2JpOHFLbHh1SUNvZ1NHOXZhM01nWVc1a0lIQnliM0J6SUdGeVpTQnRaWEpuWldRZ1lYTWdZWEp5WVhsekxseHVJQ292WEc1bWRXNWpkR2x2YmlCdFpYSm5aVWh2YjJzZ0tGeHVJQ0J3WVhKbGJuUldZV3dzWEc0Z0lHTm9hV3hrVm1Gc1hHNHBJSHRjYmlBZ2NtVjBkWEp1SUdOb2FXeGtWbUZzWEc0Z0lDQWdQeUJ3WVhKbGJuUldZV3hjYmlBZ0lDQWdJRDhnY0dGeVpXNTBWbUZzTG1OdmJtTmhkQ2hqYUdsc1pGWmhiQ2xjYmlBZ0lDQWdJRG9nUVhKeVlYa3VhWE5CY25KaGVTaGphR2xzWkZaaGJDbGNiaUFnSUNBZ0lDQWdQeUJqYUdsc1pGWmhiRnh1SUNBZ0lDQWdJQ0E2SUZ0amFHbHNaRlpoYkYxY2JpQWdJQ0E2SUhCaGNtVnVkRlpoYkZ4dWZWeHVYRzVNU1VaRlExbERURVZmU0U5UFMxTXVabTl5UldGamFDaG1kVzVqZEdsdmJpQW9hRzl2YXlrZ2UxeHVJQ0J6ZEhKaGRITmJhRzl2YTEwZ1BTQnRaWEpuWlVodmIyczdYRzU5S1R0Y2JseHVMeW9xWEc0Z0tpQkJjM05sZEhOY2JpQXFYRzRnS2lCWGFHVnVJR0VnZG0wZ2FYTWdjSEpsYzJWdWRDQW9hVzV6ZEdGdVkyVWdZM0psWVhScGIyNHBMQ0IzWlNCdVpXVmtJSFJ2SUdSdlhHNGdLaUJoSUhSb2NtVmxMWGRoZVNCdFpYSm5aU0JpWlhSM1pXVnVJR052Ym5OMGNuVmpkRzl5SUc5d2RHbHZibk1zSUdsdWMzUmhibU5sWEc0Z0tpQnZjSFJwYjI1eklHRnVaQ0J3WVhKbGJuUWdiM0IwYVc5dWN5NWNiaUFxTDF4dVpuVnVZM1JwYjI0Z2JXVnlaMlZCYzNObGRITWdLRnh1SUNCd1lYSmxiblJXWVd3c1hHNGdJR05vYVd4a1ZtRnNMRnh1SUNCMmJTeGNiaUFnYTJWNVhHNHBJSHRjYmlBZ2RtRnlJSEpsY3lBOUlFOWlhbVZqZEM1amNtVmhkR1VvY0dGeVpXNTBWbUZzSUh4OElHNTFiR3dwTzF4dUlDQnBaaUFvWTJocGJHUldZV3dwSUh0Y2JpQWdJQ0J3Y205alpYTnpMbVZ1ZGk1T1QwUkZYMFZPVmlBaFBUMGdKM0J5YjJSMVkzUnBiMjRuSUNZbUlHRnpjMlZ5ZEU5aWFtVmpkRlI1Y0dVb2EyVjVMQ0JqYUdsc1pGWmhiQ3dnZG0wcE8xeHVJQ0FnSUhKbGRIVnliaUJsZUhSbGJtUW9jbVZ6TENCamFHbHNaRlpoYkNsY2JpQWdmU0JsYkhObElIdGNiaUFnSUNCeVpYUjFjbTRnY21WelhHNGdJSDFjYm4xY2JseHVRVk5UUlZSZlZGbFFSVk11Wm05eVJXRmphQ2htZFc1amRHbHZiaUFvZEhsd1pTa2dlMXh1SUNCemRISmhkSE5iZEhsd1pTQXJJQ2R6SjEwZ1BTQnRaWEpuWlVGemMyVjBjenRjYm4wcE8xeHVYRzR2S2lwY2JpQXFJRmRoZEdOb1pYSnpMbHh1SUNwY2JpQXFJRmRoZEdOb1pYSnpJR2hoYzJobGN5QnphRzkxYkdRZ2JtOTBJRzkyWlhKM2NtbDBaU0J2Ym1WY2JpQXFJR0Z1YjNSb1pYSXNJSE52SUhkbElHMWxjbWRsSUhSb1pXMGdZWE1nWVhKeVlYbHpMbHh1SUNvdlhHNXpkSEpoZEhNdWQyRjBZMmdnUFNCbWRXNWpkR2x2YmlBb1hHNGdJSEJoY21WdWRGWmhiQ3hjYmlBZ1kyaHBiR1JXWVd3c1hHNGdJSFp0TEZ4dUlDQnJaWGxjYmlrZ2UxeHVJQ0F2THlCM2IzSnJJR0Z5YjNWdVpDQkdhWEpsWm05NEozTWdUMkpxWldOMExuQnliM1J2ZEhsd1pTNTNZWFJqYUM0dUxseHVJQ0JwWmlBb2NHRnlaVzUwVm1Gc0lEMDlQU0J1WVhScGRtVlhZWFJqYUNrZ2V5QndZWEpsYm5SV1lXd2dQU0IxYm1SbFptbHVaV1E3SUgxY2JpQWdhV1lnS0dOb2FXeGtWbUZzSUQwOVBTQnVZWFJwZG1WWFlYUmphQ2tnZXlCamFHbHNaRlpoYkNBOUlIVnVaR1ZtYVc1bFpEc2dmVnh1SUNBdktpQnBjM1JoYm1KMWJDQnBaMjV2Y21VZ2FXWWdLaTljYmlBZ2FXWWdLQ0ZqYUdsc1pGWmhiQ2tnZXlCeVpYUjFjbTRnVDJKcVpXTjBMbU55WldGMFpTaHdZWEpsYm5SV1lXd2dmSHdnYm5Wc2JDa2dmVnh1SUNCcFppQW9jSEp2WTJWemN5NWxibll1VGs5RVJWOUZUbFlnSVQwOUlDZHdjbTlrZFdOMGFXOXVKeWtnZTF4dUlDQWdJR0Z6YzJWeWRFOWlhbVZqZEZSNWNHVW9hMlY1TENCamFHbHNaRlpoYkN3Z2RtMHBPMXh1SUNCOVhHNGdJR2xtSUNnaGNHRnlaVzUwVm1Gc0tTQjdJSEpsZEhWeWJpQmphR2xzWkZaaGJDQjlYRzRnSUhaaGNpQnlaWFFnUFNCN2ZUdGNiaUFnWlhoMFpXNWtLSEpsZEN3Z2NHRnlaVzUwVm1Gc0tUdGNiaUFnWm05eUlDaDJZWElnYTJWNUpERWdhVzRnWTJocGJHUldZV3dwSUh0Y2JpQWdJQ0IyWVhJZ2NHRnlaVzUwSUQwZ2NtVjBXMnRsZVNReFhUdGNiaUFnSUNCMllYSWdZMmhwYkdRZ1BTQmphR2xzWkZaaGJGdHJaWGtrTVYwN1hHNGdJQ0FnYVdZZ0tIQmhjbVZ1ZENBbUppQWhRWEp5WVhrdWFYTkJjbkpoZVNod1lYSmxiblFwS1NCN1hHNGdJQ0FnSUNCd1lYSmxiblFnUFNCYmNHRnlaVzUwWFR0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwVzJ0bGVTUXhYU0E5SUhCaGNtVnVkRnh1SUNBZ0lDQWdQeUJ3WVhKbGJuUXVZMjl1WTJGMEtHTm9hV3hrS1Z4dUlDQWdJQ0FnT2lCQmNuSmhlUzVwYzBGeWNtRjVLR05vYVd4a0tTQS9JR05vYVd4a0lEb2dXMk5vYVd4a1hUdGNiaUFnZlZ4dUlDQnlaWFIxY200Z2NtVjBYRzU5TzF4dVhHNHZLaXBjYmlBcUlFOTBhR1Z5SUc5aWFtVmpkQ0JvWVhOb1pYTXVYRzRnS2k5Y2JuTjBjbUYwY3k1d2NtOXdjeUE5WEc1emRISmhkSE11YldWMGFHOWtjeUE5WEc1emRISmhkSE11YVc1cVpXTjBJRDFjYm5OMGNtRjBjeTVqYjIxd2RYUmxaQ0E5SUdaMWJtTjBhVzl1SUNoY2JpQWdjR0Z5Wlc1MFZtRnNMRnh1SUNCamFHbHNaRlpoYkN4Y2JpQWdkbTBzWEc0Z0lHdGxlVnh1S1NCN1hHNGdJR2xtSUNoamFHbHNaRlpoYkNBbUppQndjbTlqWlhOekxtVnVkaTVPVDBSRlgwVk9WaUFoUFQwZ0ozQnliMlIxWTNScGIyNG5LU0I3WEc0Z0lDQWdZWE56WlhKMFQySnFaV04wVkhsd1pTaHJaWGtzSUdOb2FXeGtWbUZzTENCMmJTazdYRzRnSUgxY2JpQWdhV1lnS0NGd1lYSmxiblJXWVd3cElIc2djbVYwZFhKdUlHTm9hV3hrVm1Gc0lIMWNiaUFnZG1GeUlISmxkQ0E5SUU5aWFtVmpkQzVqY21WaGRHVW9iblZzYkNrN1hHNGdJR1Y0ZEdWdVpDaHlaWFFzSUhCaGNtVnVkRlpoYkNrN1hHNGdJR2xtSUNoamFHbHNaRlpoYkNrZ2V5QmxlSFJsYm1Rb2NtVjBMQ0JqYUdsc1pGWmhiQ2s3SUgxY2JpQWdjbVYwZFhKdUlISmxkRnh1ZlR0Y2JuTjBjbUYwY3k1d2NtOTJhV1JsSUQwZ2JXVnlaMlZFWVhSaFQzSkdianRjYmx4dUx5b3FYRzRnS2lCRVpXWmhkV3gwSUhOMGNtRjBaV2Q1TGx4dUlDb3ZYRzUyWVhJZ1pHVm1ZWFZzZEZOMGNtRjBJRDBnWm5WdVkzUnBiMjRnS0hCaGNtVnVkRlpoYkN3Z1kyaHBiR1JXWVd3cElIdGNiaUFnY21WMGRYSnVJR05vYVd4a1ZtRnNJRDA5UFNCMWJtUmxabWx1WldSY2JpQWdJQ0EvSUhCaGNtVnVkRlpoYkZ4dUlDQWdJRG9nWTJocGJHUldZV3hjYm4wN1hHNWNiaThxS2x4dUlDb2dWbUZzYVdSaGRHVWdZMjl0Y0c5dVpXNTBJRzVoYldWelhHNGdLaTljYm1aMWJtTjBhVzl1SUdOb1pXTnJRMjl0Y0c5dVpXNTBjeUFvYjNCMGFXOXVjeWtnZTF4dUlDQm1iM0lnS0haaGNpQnJaWGtnYVc0Z2IzQjBhVzl1Y3k1amIyMXdiMjVsYm5SektTQjdYRzRnSUNBZ2RtRnNhV1JoZEdWRGIyMXdiMjVsYm5ST1lXMWxLR3RsZVNrN1hHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdkbUZzYVdSaGRHVkRiMjF3YjI1bGJuUk9ZVzFsSUNodVlXMWxLU0I3WEc0Z0lHbG1JQ2doTDE1YllTMTZRUzFhWFZ0Y1hIY3RYU29rTHk1MFpYTjBLRzVoYldVcEtTQjdYRzRnSUNBZ2QyRnliaWhjYmlBZ0lDQWdJQ2RKYm5aaGJHbGtJR052YlhCdmJtVnVkQ0J1WVcxbE9pQmNJaWNnS3lCdVlXMWxJQ3NnSjF3aUxpQkRiMjF3YjI1bGJuUWdibUZ0WlhNZ0p5QXJYRzRnSUNBZ0lDQW5ZMkZ1SUc5dWJIa2dZMjl1ZEdGcGJpQmhiSEJvWVc1MWJXVnlhV01nWTJoaGNtRmpkR1Z5Y3lCaGJtUWdkR2hsSUdoNWNHaGxiaXdnSnlBclhHNGdJQ0FnSUNBbllXNWtJRzExYzNRZ2MzUmhjblFnZDJsMGFDQmhJR3hsZEhSbGNpNG5YRzRnSUNBZ0tUdGNiaUFnZlZ4dUlDQnBaaUFvYVhOQ2RXbHNkRWx1VkdGbktHNWhiV1VwSUh4OElHTnZibVpwWnk1cGMxSmxjMlZ5ZG1Wa1ZHRm5LRzVoYldVcEtTQjdYRzRnSUNBZ2QyRnliaWhjYmlBZ0lDQWdJQ2RFYnlCdWIzUWdkWE5sSUdKMWFXeDBMV2x1SUc5eUlISmxjMlZ5ZG1Wa0lFaFVUVXdnWld4bGJXVnVkSE1nWVhNZ1kyOXRjRzl1Wlc1MElDY2dLMXh1SUNBZ0lDQWdKMmxrT2lBbklDc2dibUZ0WlZ4dUlDQWdJQ2s3WEc0Z0lIMWNibjFjYmx4dUx5b3FYRzRnS2lCRmJuTjFjbVVnWVd4c0lIQnliM0J6SUc5d2RHbHZiaUJ6ZVc1MFlYZ2dZWEpsSUc1dmNtMWhiR2w2WldRZ2FXNTBieUIwYUdWY2JpQXFJRTlpYW1WamRDMWlZWE5sWkNCbWIzSnRZWFF1WEc0Z0tpOWNibVoxYm1OMGFXOXVJRzV2Y20xaGJHbDZaVkJ5YjNCeklDaHZjSFJwYjI1ekxDQjJiU2tnZTF4dUlDQjJZWElnY0hKdmNITWdQU0J2Y0hScGIyNXpMbkJ5YjNCek8xeHVJQ0JwWmlBb0lYQnliM0J6S1NCN0lISmxkSFZ5YmlCOVhHNGdJSFpoY2lCeVpYTWdQU0I3ZlR0Y2JpQWdkbUZ5SUdrc0lIWmhiQ3dnYm1GdFpUdGNiaUFnYVdZZ0tFRnljbUY1TG1selFYSnlZWGtvY0hKdmNITXBLU0I3WEc0Z0lDQWdhU0E5SUhCeWIzQnpMbXhsYm1kMGFEdGNiaUFnSUNCM2FHbHNaU0FvYVMwdEtTQjdYRzRnSUNBZ0lDQjJZV3dnUFNCd2NtOXdjMXRwWFR0Y2JpQWdJQ0FnSUdsbUlDaDBlWEJsYjJZZ2RtRnNJRDA5UFNBbmMzUnlhVzVuSnlrZ2UxeHVJQ0FnSUNBZ0lDQnVZVzFsSUQwZ1kyRnRaV3hwZW1Vb2RtRnNLVHRjYmlBZ0lDQWdJQ0FnY21WelcyNWhiV1ZkSUQwZ2V5QjBlWEJsT2lCdWRXeHNJSDA3WEc0Z0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0hCeWIyTmxjM011Wlc1MkxrNVBSRVZmUlU1V0lDRTlQU0FuY0hKdlpIVmpkR2x2YmljcElIdGNiaUFnSUNBZ0lDQWdkMkZ5YmlnbmNISnZjSE1nYlhWemRDQmlaU0J6ZEhKcGJtZHpJSGRvWlc0Z2RYTnBibWNnWVhKeVlYa2djM2x1ZEdGNExpY3BPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnZlNCbGJITmxJR2xtSUNocGMxQnNZV2x1VDJKcVpXTjBLSEJ5YjNCektTa2dlMXh1SUNBZ0lHWnZjaUFvZG1GeUlHdGxlU0JwYmlCd2NtOXdjeWtnZTF4dUlDQWdJQ0FnZG1Gc0lEMGdjSEp2Y0hOYmEyVjVYVHRjYmlBZ0lDQWdJRzVoYldVZ1BTQmpZVzFsYkdsNlpTaHJaWGtwTzF4dUlDQWdJQ0FnY21WelcyNWhiV1ZkSUQwZ2FYTlFiR0ZwYms5aWFtVmpkQ2gyWVd3cFhHNGdJQ0FnSUNBZ0lEOGdkbUZzWEc0Z0lDQWdJQ0FnSURvZ2V5QjBlWEJsT2lCMllXd2dmVHRjYmlBZ0lDQjlYRzRnSUgwZ1pXeHpaU0JwWmlBb2NISnZZMlZ6Y3k1bGJuWXVUazlFUlY5RlRsWWdJVDA5SUNkd2NtOWtkV04wYVc5dUp5a2dlMXh1SUNBZ0lIZGhjbTRvWEc0Z0lDQWdJQ0JjSWtsdWRtRnNhV1FnZG1Gc2RXVWdabTl5SUc5d2RHbHZiaUJjWEZ3aWNISnZjSE5jWEZ3aU9pQmxlSEJsWTNSbFpDQmhiaUJCY25KaGVTQnZjaUJoYmlCUFltcGxZM1FzSUZ3aUlDdGNiaUFnSUNBZ0lGd2lZblYwSUdkdmRDQmNJaUFySUNoMGIxSmhkMVI1Y0dVb2NISnZjSE1wS1NBcklGd2lMbHdpTEZ4dUlDQWdJQ0FnZG0xY2JpQWdJQ0FwTzF4dUlDQjlYRzRnSUc5d2RHbHZibk11Y0hKdmNITWdQU0J5WlhNN1hHNTlYRzVjYmk4cUtseHVJQ29nVG05eWJXRnNhWHBsSUdGc2JDQnBibXBsWTNScGIyNXpJR2x1ZEc4Z1QySnFaV04wTFdKaGMyVmtJR1p2Y20xaGRGeHVJQ292WEc1bWRXNWpkR2x2YmlCdWIzSnRZV3hwZW1WSmJtcGxZM1FnS0c5d2RHbHZibk1zSUhadEtTQjdYRzRnSUhaaGNpQnBibXBsWTNRZ1BTQnZjSFJwYjI1ekxtbHVhbVZqZER0Y2JpQWdhV1lnS0NGcGJtcGxZM1FwSUhzZ2NtVjBkWEp1SUgxY2JpQWdkbUZ5SUc1dmNtMWhiR2w2WldRZ1BTQnZjSFJwYjI1ekxtbHVhbVZqZENBOUlIdDlPMXh1SUNCcFppQW9RWEp5WVhrdWFYTkJjbkpoZVNocGJtcGxZM1FwS1NCN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCcGJtcGxZM1F1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lHNXZjbTFoYkdsNlpXUmJhVzVxWldOMFcybGRYU0E5SUhzZ1puSnZiVG9nYVc1cVpXTjBXMmxkSUgwN1hHNGdJQ0FnZlZ4dUlDQjlJR1ZzYzJVZ2FXWWdLR2x6VUd4aGFXNVBZbXBsWTNRb2FXNXFaV04wS1NrZ2UxeHVJQ0FnSUdadmNpQW9kbUZ5SUd0bGVTQnBiaUJwYm1wbFkzUXBJSHRjYmlBZ0lDQWdJSFpoY2lCMllXd2dQU0JwYm1wbFkzUmJhMlY1WFR0Y2JpQWdJQ0FnSUc1dmNtMWhiR2w2WldSYmEyVjVYU0E5SUdselVHeGhhVzVQWW1wbFkzUW9kbUZzS1Z4dUlDQWdJQ0FnSUNBL0lHVjRkR1Z1WkNoN0lHWnliMjA2SUd0bGVTQjlMQ0IyWVd3cFhHNGdJQ0FnSUNBZ0lEb2dleUJtY205dE9pQjJZV3dnZlR0Y2JpQWdJQ0I5WEc0Z0lIMGdaV3h6WlNCcFppQW9jSEp2WTJWemN5NWxibll1VGs5RVJWOUZUbFlnSVQwOUlDZHdjbTlrZFdOMGFXOXVKeWtnZTF4dUlDQWdJSGRoY200b1hHNGdJQ0FnSUNCY0lrbHVkbUZzYVdRZ2RtRnNkV1VnWm05eUlHOXdkR2x2YmlCY1hGd2lhVzVxWldOMFhGeGNJam9nWlhod1pXTjBaV1FnWVc0Z1FYSnlZWGtnYjNJZ1lXNGdUMkpxWldOMExDQmNJaUFyWEc0Z0lDQWdJQ0JjSW1KMWRDQm5iM1FnWENJZ0t5QW9kRzlTWVhkVWVYQmxLR2x1YW1WamRDa3BJQ3NnWENJdVhDSXNYRzRnSUNBZ0lDQjJiVnh1SUNBZ0lDazdYRzRnSUgxY2JuMWNibHh1THlvcVhHNGdLaUJPYjNKdFlXeHBlbVVnY21GM0lHWjFibU4wYVc5dUlHUnBjbVZqZEdsMlpYTWdhVzUwYnlCdlltcGxZM1FnWm05eWJXRjBMbHh1SUNvdlhHNW1kVzVqZEdsdmJpQnViM0p0WVd4cGVtVkVhWEpsWTNScGRtVnpJQ2h2Y0hScGIyNXpLU0I3WEc0Z0lIWmhjaUJrYVhKeklEMGdiM0IwYVc5dWN5NWthWEpsWTNScGRtVnpPMXh1SUNCcFppQW9aR2x5Y3lrZ2UxeHVJQ0FnSUdadmNpQW9kbUZ5SUd0bGVTQnBiaUJrYVhKektTQjdYRzRnSUNBZ0lDQjJZWElnWkdWbUlEMGdaR2x5YzF0clpYbGRPMXh1SUNBZ0lDQWdhV1lnS0hSNWNHVnZaaUJrWldZZ1BUMDlJQ2RtZFc1amRHbHZiaWNwSUh0Y2JpQWdJQ0FnSUNBZ1pHbHljMXRyWlhsZElEMGdleUJpYVc1a09pQmtaV1lzSUhWd1pHRjBaVG9nWkdWbUlIMDdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR0Z6YzJWeWRFOWlhbVZqZEZSNWNHVWdLRzVoYldVc0lIWmhiSFZsTENCMmJTa2dlMXh1SUNCcFppQW9JV2x6VUd4aGFXNVBZbXBsWTNRb2RtRnNkV1VwS1NCN1hHNGdJQ0FnZDJGeWJpaGNiaUFnSUNBZ0lGd2lTVzUyWVd4cFpDQjJZV3gxWlNCbWIzSWdiM0IwYVc5dUlGeGNYQ0pjSWlBcklHNWhiV1VnS3lCY0lseGNYQ0k2SUdWNGNHVmpkR1ZrSUdGdUlFOWlhbVZqZEN3Z1hDSWdLMXh1SUNBZ0lDQWdYQ0ppZFhRZ1oyOTBJRndpSUNzZ0tIUnZVbUYzVkhsd1pTaDJZV3gxWlNrcElDc2dYQ0l1WENJc1hHNGdJQ0FnSUNCMmJWeHVJQ0FnSUNrN1hHNGdJSDFjYm4xY2JseHVMeW9xWEc0Z0tpQk5aWEpuWlNCMGQyOGdiM0IwYVc5dUlHOWlhbVZqZEhNZ2FXNTBieUJoSUc1bGR5QnZibVV1WEc0Z0tpQkRiM0psSUhWMGFXeHBkSGtnZFhObFpDQnBiaUJpYjNSb0lHbHVjM1JoYm5ScFlYUnBiMjRnWVc1a0lHbHVhR1Z5YVhSaGJtTmxMbHh1SUNvdlhHNW1kVzVqZEdsdmJpQnRaWEpuWlU5d2RHbHZibk1nS0Z4dUlDQndZWEpsYm5Rc1hHNGdJR05vYVd4a0xGeHVJQ0IyYlZ4dUtTQjdYRzRnSUdsbUlDaHdjbTlqWlhOekxtVnVkaTVPVDBSRlgwVk9WaUFoUFQwZ0ozQnliMlIxWTNScGIyNG5LU0I3WEc0Z0lDQWdZMmhsWTJ0RGIyMXdiMjVsYm5SektHTm9hV3hrS1R0Y2JpQWdmVnh1WEc0Z0lHbG1JQ2gwZVhCbGIyWWdZMmhwYkdRZ1BUMDlJQ2RtZFc1amRHbHZiaWNwSUh0Y2JpQWdJQ0JqYUdsc1pDQTlJR05vYVd4a0xtOXdkR2x2Ym5NN1hHNGdJSDFjYmx4dUlDQnViM0p0WVd4cGVtVlFjbTl3Y3loamFHbHNaQ3dnZG0wcE8xeHVJQ0J1YjNKdFlXeHBlbVZKYm1wbFkzUW9ZMmhwYkdRc0lIWnRLVHRjYmlBZ2JtOXliV0ZzYVhwbFJHbHlaV04wYVhabGN5aGphR2xzWkNrN1hHNGdJRnh1SUNBdkx5QkJjSEJzZVNCbGVIUmxibVJ6SUdGdVpDQnRhWGhwYm5NZ2IyNGdkR2hsSUdOb2FXeGtJRzl3ZEdsdmJuTXNYRzRnSUM4dklHSjFkQ0J2Ym14NUlHbG1JR2wwSUdseklHRWdjbUYzSUc5d2RHbHZibk1nYjJKcVpXTjBJSFJvWVhRZ2FYTnVKM1JjYmlBZ0x5OGdkR2hsSUhKbGMzVnNkQ0J2WmlCaGJtOTBhR1Z5SUcxbGNtZGxUM0IwYVc5dWN5QmpZV3hzTGx4dUlDQXZMeUJQYm14NUlHMWxjbWRsWkNCdmNIUnBiMjV6SUdoaGN5QjBhR1VnWDJKaGMyVWdjSEp2Y0dWeWRIa3VYRzRnSUdsbUlDZ2hZMmhwYkdRdVgySmhjMlVwSUh0Y2JpQWdJQ0JwWmlBb1kyaHBiR1F1WlhoMFpXNWtjeWtnZTF4dUlDQWdJQ0FnY0dGeVpXNTBJRDBnYldWeVoyVlBjSFJwYjI1ektIQmhjbVZ1ZEN3Z1kyaHBiR1F1WlhoMFpXNWtjeXdnZG0wcE8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb1kyaHBiR1F1YldsNGFXNXpLU0I3WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Dd2diQ0E5SUdOb2FXeGtMbTFwZUdsdWN5NXNaVzVuZEdnN0lHa2dQQ0JzT3lCcEt5c3BJSHRjYmlBZ0lDQWdJQ0FnY0dGeVpXNTBJRDBnYldWeVoyVlBjSFJwYjI1ektIQmhjbVZ1ZEN3Z1kyaHBiR1F1YldsNGFXNXpXMmxkTENCMmJTazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdkbUZ5SUc5d2RHbHZibk1nUFNCN2ZUdGNiaUFnZG1GeUlHdGxlVHRjYmlBZ1ptOXlJQ2hyWlhrZ2FXNGdjR0Z5Wlc1MEtTQjdYRzRnSUNBZ2JXVnlaMlZHYVdWc1pDaHJaWGtwTzF4dUlDQjlYRzRnSUdadmNpQW9hMlY1SUdsdUlHTm9hV3hrS1NCN1hHNGdJQ0FnYVdZZ0tDRm9ZWE5QZDI0b2NHRnlaVzUwTENCclpYa3BLU0I3WEc0Z0lDQWdJQ0J0WlhKblpVWnBaV3hrS0d0bGVTazdYRzRnSUNBZ2ZWeHVJQ0I5WEc0Z0lHWjFibU4wYVc5dUlHMWxjbWRsUm1sbGJHUWdLR3RsZVNrZ2UxeHVJQ0FnSUhaaGNpQnpkSEpoZENBOUlITjBjbUYwYzF0clpYbGRJSHg4SUdSbFptRjFiSFJUZEhKaGREdGNiaUFnSUNCdmNIUnBiMjV6VzJ0bGVWMGdQU0J6ZEhKaGRDaHdZWEpsYm5SYmEyVjVYU3dnWTJocGJHUmJhMlY1WFN3Z2RtMHNJR3RsZVNrN1hHNGdJSDFjYmlBZ2NtVjBkWEp1SUc5d2RHbHZibk5jYm4xY2JseHVMeW9xWEc0Z0tpQlNaWE52YkhabElHRnVJR0Z6YzJWMExseHVJQ29nVkdocGN5Qm1kVzVqZEdsdmJpQnBjeUIxYzJWa0lHSmxZMkYxYzJVZ1kyaHBiR1FnYVc1emRHRnVZMlZ6SUc1bFpXUWdZV05qWlhOelhHNGdLaUIwYnlCaGMzTmxkSE1nWkdWbWFXNWxaQ0JwYmlCcGRITWdZVzVqWlhOMGIzSWdZMmhoYVc0dVhHNGdLaTljYm1aMWJtTjBhVzl1SUhKbGMyOXNkbVZCYzNObGRDQW9YRzRnSUc5d2RHbHZibk1zWEc0Z0lIUjVjR1VzWEc0Z0lHbGtMRnh1SUNCM1lYSnVUV2x6YzJsdVoxeHVLU0I3WEc0Z0lDOHFJR2x6ZEdGdVluVnNJR2xuYm05eVpTQnBaaUFxTDF4dUlDQnBaaUFvZEhsd1pXOW1JR2xrSUNFOVBTQW5jM1J5YVc1bkp5a2dlMXh1SUNBZ0lISmxkSFZ5Ymx4dUlDQjlYRzRnSUhaaGNpQmhjM05sZEhNZ1BTQnZjSFJwYjI1elczUjVjR1ZkTzF4dUlDQXZMeUJqYUdWamF5QnNiMk5oYkNCeVpXZHBjM1J5WVhScGIyNGdkbUZ5YVdGMGFXOXVjeUJtYVhKemRGeHVJQ0JwWmlBb2FHRnpUM2R1S0dGemMyVjBjeXdnYVdRcEtTQjdJSEpsZEhWeWJpQmhjM05sZEhOYmFXUmRJSDFjYmlBZ2RtRnlJR05oYldWc2FYcGxaRWxrSUQwZ1kyRnRaV3hwZW1Vb2FXUXBPMXh1SUNCcFppQW9hR0Z6VDNkdUtHRnpjMlYwY3l3Z1kyRnRaV3hwZW1Wa1NXUXBLU0I3SUhKbGRIVnliaUJoYzNObGRITmJZMkZ0Wld4cGVtVmtTV1JkSUgxY2JpQWdkbUZ5SUZCaGMyTmhiRU5oYzJWSlpDQTlJR05oY0dsMFlXeHBlbVVvWTJGdFpXeHBlbVZrU1dRcE8xeHVJQ0JwWmlBb2FHRnpUM2R1S0dGemMyVjBjeXdnVUdGelkyRnNRMkZ6WlVsa0tTa2dleUJ5WlhSMWNtNGdZWE56WlhSelcxQmhjMk5oYkVOaGMyVkpaRjBnZlZ4dUlDQXZMeUJtWVd4c1ltRmpheUIwYnlCd2NtOTBiM1I1Y0dVZ1kyaGhhVzVjYmlBZ2RtRnlJSEpsY3lBOUlHRnpjMlYwYzF0cFpGMGdmSHdnWVhOelpYUnpXMk5oYldWc2FYcGxaRWxrWFNCOGZDQmhjM05sZEhOYlVHRnpZMkZzUTJGelpVbGtYVHRjYmlBZ2FXWWdLSEJ5YjJObGMzTXVaVzUyTGs1UFJFVmZSVTVXSUNFOVBTQW5jSEp2WkhWamRHbHZiaWNnSmlZZ2QyRnliazFwYzNOcGJtY2dKaVlnSVhKbGN5a2dlMXh1SUNBZ0lIZGhjbTRvWEc0Z0lDQWdJQ0FuUm1GcGJHVmtJSFJ2SUhKbGMyOXNkbVVnSnlBcklIUjVjR1V1YzJ4cFkyVW9NQ3dnTFRFcElDc2dKem9nSnlBcklHbGtMRnh1SUNBZ0lDQWdiM0IwYVc5dWMxeHVJQ0FnSUNrN1hHNGdJSDFjYmlBZ2NtVjBkWEp1SUhKbGMxeHVmVnh1WEc0dktpQWdLaTljYmx4dVhHNWNibVoxYm1OMGFXOXVJSFpoYkdsa1lYUmxVSEp2Y0NBb1hHNGdJR3RsZVN4Y2JpQWdjSEp2Y0U5d2RHbHZibk1zWEc0Z0lIQnliM0J6UkdGMFlTeGNiaUFnZG0xY2Jpa2dlMXh1SUNCMllYSWdjSEp2Y0NBOUlIQnliM0JQY0hScGIyNXpXMnRsZVYwN1hHNGdJSFpoY2lCaFluTmxiblFnUFNBaGFHRnpUM2R1S0hCeWIzQnpSR0YwWVN3Z2EyVjVLVHRjYmlBZ2RtRnlJSFpoYkhWbElEMGdjSEp2Y0hORVlYUmhXMnRsZVYwN1hHNGdJQzh2SUdKdmIyeGxZVzRnWTJGemRHbHVaMXh1SUNCMllYSWdZbTl2YkdWaGJrbHVaR1Y0SUQwZ1oyVjBWSGx3WlVsdVpHVjRLRUp2YjJ4bFlXNHNJSEJ5YjNBdWRIbHdaU2s3WEc0Z0lHbG1JQ2hpYjI5c1pXRnVTVzVrWlhnZ1BpQXRNU2tnZTF4dUlDQWdJR2xtSUNoaFluTmxiblFnSmlZZ0lXaGhjMDkzYmlod2NtOXdMQ0FuWkdWbVlYVnNkQ2NwS1NCN1hHNGdJQ0FnSUNCMllXeDFaU0E5SUdaaGJITmxPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9kbUZzZFdVZ1BUMDlJQ2NuSUh4OElIWmhiSFZsSUQwOVBTQm9lWEJvWlc1aGRHVW9hMlY1S1NrZ2UxeHVJQ0FnSUNBZ0x5OGdiMjVzZVNCallYTjBJR1Z0Y0hSNUlITjBjbWx1WnlBdklITmhiV1VnYm1GdFpTQjBieUJpYjI5c1pXRnVJR2xtWEc0Z0lDQWdJQ0F2THlCaWIyOXNaV0Z1SUdoaGN5Qm9hV2RvWlhJZ2NISnBiM0pwZEhsY2JpQWdJQ0FnSUhaaGNpQnpkSEpwYm1kSmJtUmxlQ0E5SUdkbGRGUjVjR1ZKYm1SbGVDaFRkSEpwYm1jc0lIQnliM0F1ZEhsd1pTazdYRzRnSUNBZ0lDQnBaaUFvYzNSeWFXNW5TVzVrWlhnZ1BDQXdJSHg4SUdKdmIyeGxZVzVKYm1SbGVDQThJSE4wY21sdVowbHVaR1Y0S1NCN1hHNGdJQ0FnSUNBZ0lIWmhiSFZsSUQwZ2RISjFaVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUgxY2JpQWdMeThnWTJobFkyc2daR1ZtWVhWc2RDQjJZV3gxWlZ4dUlDQnBaaUFvZG1Gc2RXVWdQVDA5SUhWdVpHVm1hVzVsWkNrZ2UxeHVJQ0FnSUhaaGJIVmxJRDBnWjJWMFVISnZjRVJsWm1GMWJIUldZV3gxWlNoMmJTd2djSEp2Y0N3Z2EyVjVLVHRjYmlBZ0lDQXZMeUJ6YVc1alpTQjBhR1VnWkdWbVlYVnNkQ0IyWVd4MVpTQnBjeUJoSUdaeVpYTm9JR052Y0hrc1hHNGdJQ0FnTHk4Z2JXRnJaU0J6ZFhKbElIUnZJRzlpYzJWeWRtVWdhWFF1WEc0Z0lDQWdkbUZ5SUhCeVpYWlRhRzkxYkdSUFluTmxjblpsSUQwZ2MyaHZkV3hrVDJKelpYSjJaVHRjYmlBZ0lDQjBiMmRuYkdWUFluTmxjblpwYm1jb2RISjFaU2s3WEc0Z0lDQWdiMkp6WlhKMlpTaDJZV3gxWlNrN1hHNGdJQ0FnZEc5bloyeGxUMkp6WlhKMmFXNW5LSEJ5WlhaVGFHOTFiR1JQWW5ObGNuWmxLVHRjYmlBZ2ZWeHVJQ0JwWmlBb1hHNGdJQ0FnY0hKdlkyVnpjeTVsYm5ZdVRrOUVSVjlGVGxZZ0lUMDlJQ2R3Y205a2RXTjBhVzl1SnlBbUpseHVJQ0FnSUM4dklITnJhWEFnZG1Gc2FXUmhkR2x2YmlCbWIzSWdkMlZsZUNCeVpXTjVZMnhsTFd4cGMzUWdZMmhwYkdRZ1kyOXRjRzl1Wlc1MElIQnliM0J6WEc0Z0lDQWdJU2htWVd4elpTbGNiaUFnS1NCN1hHNGdJQ0FnWVhOelpYSjBVSEp2Y0Nod2NtOXdMQ0JyWlhrc0lIWmhiSFZsTENCMmJTd2dZV0p6Wlc1MEtUdGNiaUFnZlZ4dUlDQnlaWFIxY200Z2RtRnNkV1ZjYm4xY2JseHVMeW9xWEc0Z0tpQkhaWFFnZEdobElHUmxabUYxYkhRZ2RtRnNkV1VnYjJZZ1lTQndjbTl3TGx4dUlDb3ZYRzVtZFc1amRHbHZiaUJuWlhSUWNtOXdSR1ZtWVhWc2RGWmhiSFZsSUNoMmJTd2djSEp2Y0N3Z2EyVjVLU0I3WEc0Z0lDOHZJRzV2SUdSbFptRjFiSFFzSUhKbGRIVnliaUIxYm1SbFptbHVaV1JjYmlBZ2FXWWdLQ0ZvWVhOUGQyNG9jSEp2Y0N3Z0oyUmxabUYxYkhRbktTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMWJtUmxabWx1WldSY2JpQWdmVnh1SUNCMllYSWdaR1ZtSUQwZ2NISnZjQzVrWldaaGRXeDBPMXh1SUNBdkx5QjNZWEp1SUdGbllXbHVjM1FnYm05dUxXWmhZM1J2Y25rZ1pHVm1ZWFZzZEhNZ1ptOXlJRTlpYW1WamRDQW1JRUZ5Y21GNVhHNGdJR2xtSUNod2NtOWpaWE56TG1WdWRpNU9UMFJGWDBWT1ZpQWhQVDBnSjNCeWIyUjFZM1JwYjI0bklDWW1JR2x6VDJKcVpXTjBLR1JsWmlrcElIdGNiaUFnSUNCM1lYSnVLRnh1SUNBZ0lDQWdKMGx1ZG1Gc2FXUWdaR1ZtWVhWc2RDQjJZV3gxWlNCbWIzSWdjSEp2Y0NCY0lpY2dLeUJyWlhrZ0t5QW5YQ0k2SUNjZ0sxeHVJQ0FnSUNBZ0oxQnliM0J6SUhkcGRHZ2dkSGx3WlNCUFltcGxZM1F2UVhKeVlYa2diWFZ6ZENCMWMyVWdZU0JtWVdOMGIzSjVJR1oxYm1OMGFXOXVJQ2NnSzF4dUlDQWdJQ0FnSjNSdklISmxkSFZ5YmlCMGFHVWdaR1ZtWVhWc2RDQjJZV3gxWlM0bkxGeHVJQ0FnSUNBZ2RtMWNiaUFnSUNBcE8xeHVJQ0I5WEc0Z0lDOHZJSFJvWlNCeVlYY2djSEp2Y0NCMllXeDFaU0IzWVhNZ1lXeHpieUIxYm1SbFptbHVaV1FnWm5KdmJTQndjbVYyYVc5MWN5QnlaVzVrWlhJc1hHNGdJQzh2SUhKbGRIVnliaUJ3Y21WMmFXOTFjeUJrWldaaGRXeDBJSFpoYkhWbElIUnZJR0YyYjJsa0lIVnVibVZqWlhOellYSjVJSGRoZEdOb1pYSWdkSEpwWjJkbGNseHVJQ0JwWmlBb2RtMGdKaVlnZG0wdUpHOXdkR2x2Ym5NdWNISnZjSE5FWVhSaElDWW1YRzRnSUNBZ2RtMHVKRzl3ZEdsdmJuTXVjSEp2Y0hORVlYUmhXMnRsZVYwZ1BUMDlJSFZ1WkdWbWFXNWxaQ0FtSmx4dUlDQWdJSFp0TGw5d2NtOXdjMXRyWlhsZElDRTlQU0IxYm1SbFptbHVaV1JjYmlBZ0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhadExsOXdjbTl3YzF0clpYbGRYRzRnSUgxY2JpQWdMeThnWTJGc2JDQm1ZV04wYjNKNUlHWjFibU4wYVc5dUlHWnZjaUJ1YjI0dFJuVnVZM1JwYjI0Z2RIbHdaWE5jYmlBZ0x5OGdZU0IyWVd4MVpTQnBjeUJHZFc1amRHbHZiaUJwWmlCcGRITWdjSEp2ZEc5MGVYQmxJR2x6SUdaMWJtTjBhVzl1SUdWMlpXNGdZV055YjNOeklHUnBabVpsY21WdWRDQmxlR1ZqZFhScGIyNGdZMjl1ZEdWNGRGeHVJQ0J5WlhSMWNtNGdkSGx3Wlc5bUlHUmxaaUE5UFQwZ0oyWjFibU4wYVc5dUp5QW1KaUJuWlhSVWVYQmxLSEJ5YjNBdWRIbHdaU2tnSVQwOUlDZEdkVzVqZEdsdmJpZGNiaUFnSUNBL0lHUmxaaTVqWVd4c0tIWnRLVnh1SUNBZ0lEb2daR1ZtWEc1OVhHNWNiaThxS2x4dUlDb2dRWE56WlhKMElIZG9aWFJvWlhJZ1lTQndjbTl3SUdseklIWmhiR2xrTGx4dUlDb3ZYRzVtZFc1amRHbHZiaUJoYzNObGNuUlFjbTl3SUNoY2JpQWdjSEp2Y0N4Y2JpQWdibUZ0WlN4Y2JpQWdkbUZzZFdVc1hHNGdJSFp0TEZ4dUlDQmhZbk5sYm5SY2Jpa2dlMXh1SUNCcFppQW9jSEp2Y0M1eVpYRjFhWEpsWkNBbUppQmhZbk5sYm5RcElIdGNiaUFnSUNCM1lYSnVLRnh1SUNBZ0lDQWdKMDFwYzNOcGJtY2djbVZ4ZFdseVpXUWdjSEp2Y0RvZ1hDSW5JQ3NnYm1GdFpTQXJJQ2RjSWljc1hHNGdJQ0FnSUNCMmJWeHVJQ0FnSUNrN1hHNGdJQ0FnY21WMGRYSnVYRzRnSUgxY2JpQWdhV1lnS0haaGJIVmxJRDA5SUc1MWJHd2dKaVlnSVhCeWIzQXVjbVZ4ZFdseVpXUXBJSHRjYmlBZ0lDQnlaWFIxY201Y2JpQWdmVnh1SUNCMllYSWdkSGx3WlNBOUlIQnliM0F1ZEhsd1pUdGNiaUFnZG1GeUlIWmhiR2xrSUQwZ0lYUjVjR1VnZkh3Z2RIbHdaU0E5UFQwZ2RISjFaVHRjYmlBZ2RtRnlJR1Y0Y0dWamRHVmtWSGx3WlhNZ1BTQmJYVHRjYmlBZ2FXWWdLSFI1Y0dVcElIdGNiaUFnSUNCcFppQW9JVUZ5Y21GNUxtbHpRWEp5WVhrb2RIbHdaU2twSUh0Y2JpQWdJQ0FnSUhSNWNHVWdQU0JiZEhsd1pWMDdYRzRnSUNBZ2ZWeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2RIbHdaUzVzWlc1bmRHZ2dKaVlnSVhaaGJHbGtPeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUJoYzNObGNuUmxaRlI1Y0dVZ1BTQmhjM05sY25SVWVYQmxLSFpoYkhWbExDQjBlWEJsVzJsZEtUdGNiaUFnSUNBZ0lHVjRjR1ZqZEdWa1ZIbHdaWE11Y0hWemFDaGhjM05sY25SbFpGUjVjR1V1Wlhod1pXTjBaV1JVZVhCbElIeDhJQ2NuS1R0Y2JpQWdJQ0FnSUhaaGJHbGtJRDBnWVhOelpYSjBaV1JVZVhCbExuWmhiR2xrTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUdsbUlDZ2hkbUZzYVdRcElIdGNiaUFnSUNCM1lYSnVLRnh1SUNBZ0lDQWdaMlYwU1c1MllXeHBaRlI1Y0dWTlpYTnpZV2RsS0c1aGJXVXNJSFpoYkhWbExDQmxlSEJsWTNSbFpGUjVjR1Z6S1N4Y2JpQWdJQ0FnSUhadFhHNGdJQ0FnS1R0Y2JpQWdJQ0J5WlhSMWNtNWNiaUFnZlZ4dUlDQjJZWElnZG1Gc2FXUmhkRzl5SUQwZ2NISnZjQzUyWVd4cFpHRjBiM0k3WEc0Z0lHbG1JQ2gyWVd4cFpHRjBiM0lwSUh0Y2JpQWdJQ0JwWmlBb0lYWmhiR2xrWVhSdmNpaDJZV3gxWlNrcElIdGNiaUFnSUNBZ0lIZGhjbTRvWEc0Z0lDQWdJQ0FnSUNkSmJuWmhiR2xrSUhCeWIzQTZJR04xYzNSdmJTQjJZV3hwWkdGMGIzSWdZMmhsWTJzZ1ptRnBiR1ZrSUdadmNpQndjbTl3SUZ3aUp5QXJJRzVoYldVZ0t5QW5YQ0l1Snl4Y2JpQWdJQ0FnSUNBZ2RtMWNiaUFnSUNBZ0lDazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNiblpoY2lCemFXMXdiR1ZEYUdWamExSkZJRDBnTDE0b1UzUnlhVzVuZkU1MWJXSmxjbnhDYjI5c1pXRnVmRVoxYm1OMGFXOXVmRk41YldKdmJDa2tMenRjYmx4dVpuVnVZM1JwYjI0Z1lYTnpaWEowVkhsd1pTQW9kbUZzZFdVc0lIUjVjR1VwSUh0Y2JpQWdkbUZ5SUhaaGJHbGtPMXh1SUNCMllYSWdaWGh3WldOMFpXUlVlWEJsSUQwZ1oyVjBWSGx3WlNoMGVYQmxLVHRjYmlBZ2FXWWdLSE5wYlhCc1pVTm9aV05yVWtVdWRHVnpkQ2hsZUhCbFkzUmxaRlI1Y0dVcEtTQjdYRzRnSUNBZ2RtRnlJSFFnUFNCMGVYQmxiMllnZG1Gc2RXVTdYRzRnSUNBZ2RtRnNhV1FnUFNCMElEMDlQU0JsZUhCbFkzUmxaRlI1Y0dVdWRHOU1iM2RsY2tOaGMyVW9LVHRjYmlBZ0lDQXZMeUJtYjNJZ2NISnBiV2wwYVhabElIZHlZWEJ3WlhJZ2IySnFaV04wYzF4dUlDQWdJR2xtSUNnaGRtRnNhV1FnSmlZZ2RDQTlQVDBnSjI5aWFtVmpkQ2NwSUh0Y2JpQWdJQ0FnSUhaaGJHbGtJRDBnZG1Gc2RXVWdhVzV6ZEdGdVkyVnZaaUIwZVhCbE8xeHVJQ0FnSUgxY2JpQWdmU0JsYkhObElHbG1JQ2hsZUhCbFkzUmxaRlI1Y0dVZ1BUMDlJQ2RQWW1wbFkzUW5LU0I3WEc0Z0lDQWdkbUZzYVdRZ1BTQnBjMUJzWVdsdVQySnFaV04wS0haaGJIVmxLVHRjYmlBZ2ZTQmxiSE5sSUdsbUlDaGxlSEJsWTNSbFpGUjVjR1VnUFQwOUlDZEJjbkpoZVNjcElIdGNiaUFnSUNCMllXeHBaQ0E5SUVGeWNtRjVMbWx6UVhKeVlYa29kbUZzZFdVcE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lIWmhiR2xrSUQwZ2RtRnNkV1VnYVc1emRHRnVZMlZ2WmlCMGVYQmxPMXh1SUNCOVhHNGdJSEpsZEhWeWJpQjdYRzRnSUNBZ2RtRnNhV1E2SUhaaGJHbGtMRnh1SUNBZ0lHVjRjR1ZqZEdWa1ZIbHdaVG9nWlhod1pXTjBaV1JVZVhCbFhHNGdJSDFjYm4xY2JseHVMeW9xWEc0Z0tpQlZjMlVnWm5WdVkzUnBiMjRnYzNSeWFXNW5JRzVoYldVZ2RHOGdZMmhsWTJzZ1luVnBiSFF0YVc0Z2RIbHdaWE1zWEc0Z0tpQmlaV05oZFhObElHRWdjMmx0Y0d4bElHVnhkV0ZzYVhSNUlHTm9aV05ySUhkcGJHd2dabUZwYkNCM2FHVnVJSEoxYm01cGJtZGNiaUFxSUdGamNtOXpjeUJrYVdabVpYSmxiblFnZG0xeklDOGdhV1p5WVcxbGN5NWNiaUFxTDF4dVpuVnVZM1JwYjI0Z1oyVjBWSGx3WlNBb1ptNHBJSHRjYmlBZ2RtRnlJRzFoZEdOb0lEMGdabTRnSmlZZ1ptNHVkRzlUZEhKcGJtY29LUzV0WVhSamFDZ3ZYbHhjY3lwbWRXNWpkR2x2YmlBb1hGeDNLeWt2S1R0Y2JpQWdjbVYwZFhKdUlHMWhkR05vSUQ4Z2JXRjBZMmhiTVYwZ09pQW5KMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnBjMU5oYldWVWVYQmxJQ2hoTENCaUtTQjdYRzRnSUhKbGRIVnliaUJuWlhSVWVYQmxLR0VwSUQwOVBTQm5aWFJVZVhCbEtHSXBYRzU5WEc1Y2JtWjFibU4wYVc5dUlHZGxkRlI1Y0dWSmJtUmxlQ0FvZEhsd1pTd2daWGh3WldOMFpXUlVlWEJsY3lrZ2UxeHVJQ0JwWmlBb0lVRnljbUY1TG1selFYSnlZWGtvWlhod1pXTjBaV1JVZVhCbGN5a3BJSHRjYmlBZ0lDQnlaWFIxY200Z2FYTlRZVzFsVkhsd1pTaGxlSEJsWTNSbFpGUjVjR1Z6TENCMGVYQmxLU0EvSURBZ09pQXRNVnh1SUNCOVhHNGdJR1p2Y2lBb2RtRnlJR2tnUFNBd0xDQnNaVzRnUFNCbGVIQmxZM1JsWkZSNWNHVnpMbXhsYm1kMGFEc2dhU0E4SUd4bGJqc2dhU3NyS1NCN1hHNGdJQ0FnYVdZZ0tHbHpVMkZ0WlZSNWNHVW9aWGh3WldOMFpXUlVlWEJsYzF0cFhTd2dkSGx3WlNrcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCcFhHNGdJQ0FnZlZ4dUlDQjlYRzRnSUhKbGRIVnliaUF0TVZ4dWZWeHVYRzVtZFc1amRHbHZiaUJuWlhSSmJuWmhiR2xrVkhsd1pVMWxjM05oWjJVZ0tHNWhiV1VzSUhaaGJIVmxMQ0JsZUhCbFkzUmxaRlI1Y0dWektTQjdYRzRnSUhaaGNpQnRaWE56WVdkbElEMGdYQ0pKYm5aaGJHbGtJSEJ5YjNBNklIUjVjR1VnWTJobFkyc2dabUZwYkdWa0lHWnZjaUJ3Y205d0lGeGNYQ0pjSWlBcklHNWhiV1VnS3lCY0lseGNYQ0l1WENJZ0sxeHVJQ0FnSUZ3aUlFVjRjR1ZqZEdWa0lGd2lJQ3NnS0dWNGNHVmpkR1ZrVkhsd1pYTXViV0Z3S0dOaGNHbDBZV3hwZW1VcExtcHZhVzRvSnl3Z0p5a3BPMXh1SUNCMllYSWdaWGh3WldOMFpXUlVlWEJsSUQwZ1pYaHdaV04wWldSVWVYQmxjMXN3WFR0Y2JpQWdkbUZ5SUhKbFkyVnBkbVZrVkhsd1pTQTlJSFJ2VW1GM1ZIbHdaU2gyWVd4MVpTazdYRzRnSUhaaGNpQmxlSEJsWTNSbFpGWmhiSFZsSUQwZ2MzUjViR1ZXWVd4MVpTaDJZV3gxWlN3Z1pYaHdaV04wWldSVWVYQmxLVHRjYmlBZ2RtRnlJSEpsWTJWcGRtVmtWbUZzZFdVZ1BTQnpkSGxzWlZaaGJIVmxLSFpoYkhWbExDQnlaV05sYVhabFpGUjVjR1VwTzF4dUlDQXZMeUJqYUdWamF5QnBaaUIzWlNCdVpXVmtJSFJ2SUhOd1pXTnBabmtnWlhod1pXTjBaV1FnZG1Gc2RXVmNiaUFnYVdZZ0tHVjRjR1ZqZEdWa1ZIbHdaWE11YkdWdVozUm9JRDA5UFNBeElDWW1YRzRnSUNBZ0lDQnBjMFY0Y0d4cFkyRmliR1VvWlhod1pXTjBaV1JVZVhCbEtTQW1KbHh1SUNBZ0lDQWdJV2x6UW05dmJHVmhiaWhsZUhCbFkzUmxaRlI1Y0dVc0lISmxZMlZwZG1Wa1ZIbHdaU2twSUh0Y2JpQWdJQ0J0WlhOellXZGxJQ3M5SUZ3aUlIZHBkR2dnZG1Gc2RXVWdYQ0lnS3lCbGVIQmxZM1JsWkZaaGJIVmxPMXh1SUNCOVhHNGdJRzFsYzNOaFoyVWdLejBnWENJc0lHZHZkQ0JjSWlBcklISmxZMlZwZG1Wa1ZIbHdaU0FySUZ3aUlGd2lPMXh1SUNBdkx5QmphR1ZqYXlCcFppQjNaU0J1WldWa0lIUnZJSE53WldOcFpua2djbVZqWldsMlpXUWdkbUZzZFdWY2JpQWdhV1lnS0dselJYaHdiR2xqWVdKc1pTaHlaV05sYVhabFpGUjVjR1VwS1NCN1hHNGdJQ0FnYldWemMyRm5aU0FyUFNCY0luZHBkR2dnZG1Gc2RXVWdYQ0lnS3lCeVpXTmxhWFpsWkZaaGJIVmxJQ3NnWENJdVhDSTdYRzRnSUgxY2JpQWdjbVYwZFhKdUlHMWxjM05oWjJWY2JuMWNibHh1Wm5WdVkzUnBiMjRnYzNSNWJHVldZV3gxWlNBb2RtRnNkV1VzSUhSNWNHVXBJSHRjYmlBZ2FXWWdLSFI1Y0dVZ1BUMDlJQ2RUZEhKcGJtY25LU0I3WEc0Z0lDQWdjbVYwZFhKdUlDaGNJbHhjWENKY0lpQXJJSFpoYkhWbElDc2dYQ0pjWEZ3aVhDSXBYRzRnSUgwZ1pXeHpaU0JwWmlBb2RIbHdaU0E5UFQwZ0owNTFiV0psY2ljcElIdGNiaUFnSUNCeVpYUjFjbTRnS0Z3aVhDSWdLeUFvVG5WdFltVnlLSFpoYkhWbEtTa3BYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdjbVYwZFhKdUlDaGNJbHdpSUNzZ2RtRnNkV1VwWEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2FYTkZlSEJzYVdOaFlteGxJQ2gyWVd4MVpTa2dlMXh1SUNCMllYSWdaWGh3YkdsamFYUlVlWEJsY3lBOUlGc25jM1J5YVc1bkp5d2dKMjUxYldKbGNpY3NJQ2RpYjI5c1pXRnVKMTA3WEc0Z0lISmxkSFZ5YmlCbGVIQnNhV05wZEZSNWNHVnpMbk52YldVb1puVnVZM1JwYjI0Z0tHVnNaVzBwSUhzZ2NtVjBkWEp1SUhaaGJIVmxMblJ2VEc5M1pYSkRZWE5sS0NrZ1BUMDlJR1ZzWlcwN0lIMHBYRzU5WEc1Y2JtWjFibU4wYVc5dUlHbHpRbTl2YkdWaGJpQW9LU0I3WEc0Z0lIWmhjaUJoY21keklEMGdXMTBzSUd4bGJpQTlJR0Z5WjNWdFpXNTBjeTVzWlc1bmRHZzdYRzRnSUhkb2FXeGxJQ2dnYkdWdUxTMGdLU0JoY21keld5QnNaVzRnWFNBOUlHRnlaM1Z0Wlc1MGMxc2diR1Z1SUYwN1hHNWNiaUFnY21WMGRYSnVJR0Z5WjNNdWMyOXRaU2htZFc1amRHbHZiaUFvWld4bGJTa2dleUJ5WlhSMWNtNGdaV3hsYlM1MGIweHZkMlZ5UTJGelpTZ3BJRDA5UFNBblltOXZiR1ZoYmljN0lIMHBYRzU5WEc1Y2JpOHFJQ0FxTDF4dVhHNW1kVzVqZEdsdmJpQm9ZVzVrYkdWRmNuSnZjaUFvWlhKeUxDQjJiU3dnYVc1bWJ5a2dlMXh1SUNCcFppQW9kbTBwSUh0Y2JpQWdJQ0IyWVhJZ1kzVnlJRDBnZG0wN1hHNGdJQ0FnZDJocGJHVWdLQ2hqZFhJZ1BTQmpkWEl1SkhCaGNtVnVkQ2twSUh0Y2JpQWdJQ0FnSUhaaGNpQm9iMjlyY3lBOUlHTjFjaTRrYjNCMGFXOXVjeTVsY25KdmNrTmhjSFIxY21Wa08xeHVJQ0FnSUNBZ2FXWWdLR2h2YjJ0ektTQjdYRzRnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnYUc5dmEzTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUdOaGNIUjFjbVVnUFNCb2IyOXJjMXRwWFM1allXeHNLR04xY2l3Z1pYSnlMQ0IyYlN3Z2FXNW1ieWtnUFQwOUlHWmhiSE5sTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dOaGNIUjFjbVVwSUhzZ2NtVjBkWEp1SUgxY2JpQWdJQ0FnSUNBZ0lDQjlJR05oZEdOb0lDaGxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQm5iRzlpWVd4SVlXNWtiR1ZGY25KdmNpaGxMQ0JqZFhJc0lDZGxjbkp2Y2tOaGNIUjFjbVZrSUdodmIyc25LVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJSDFjYmlBZ1oyeHZZbUZzU0dGdVpHeGxSWEp5YjNJb1pYSnlMQ0IyYlN3Z2FXNW1ieWs3WEc1OVhHNWNibVoxYm1OMGFXOXVJR2RzYjJKaGJFaGhibVJzWlVWeWNtOXlJQ2hsY25Jc0lIWnRMQ0JwYm1adktTQjdYRzRnSUdsbUlDaGpiMjVtYVdjdVpYSnliM0pJWVc1a2JHVnlLU0I3WEc0Z0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJqYjI1bWFXY3VaWEp5YjNKSVlXNWtiR1Z5TG1OaGJHd29iblZzYkN3Z1pYSnlMQ0IyYlN3Z2FXNW1ieWxjYmlBZ0lDQjlJR05oZEdOb0lDaGxLU0I3WEc0Z0lDQWdJQ0JzYjJkRmNuSnZjaWhsTENCdWRXeHNMQ0FuWTI5dVptbG5MbVZ5Y205eVNHRnVaR3hsY2ljcE8xeHVJQ0FnSUgxY2JpQWdmVnh1SUNCc2IyZEZjbkp2Y2lobGNuSXNJSFp0TENCcGJtWnZLVHRjYm4xY2JseHVablZ1WTNScGIyNGdiRzluUlhKeWIzSWdLR1Z5Y2l3Z2RtMHNJR2x1Wm04cElIdGNiaUFnYVdZZ0tIQnliMk5sYzNNdVpXNTJMazVQUkVWZlJVNVdJQ0U5UFNBbmNISnZaSFZqZEdsdmJpY3BJSHRjYmlBZ0lDQjNZWEp1S0NoY0lrVnljbTl5SUdsdUlGd2lJQ3NnYVc1bWJ5QXJJRndpT2lCY1hGd2lYQ0lnS3lBb1pYSnlMblJ2VTNSeWFXNW5LQ2twSUNzZ1hDSmNYRndpWENJcExDQjJiU2s3WEc0Z0lIMWNiaUFnTHlvZ2FYTjBZVzVpZFd3Z2FXZHViM0psSUdWc2MyVWdLaTljYmlBZ2FXWWdLQ2hwYmtKeWIzZHpaWElnZkh3Z2FXNVhaV1Y0S1NBbUppQjBlWEJsYjJZZ1kyOXVjMjlzWlNBaFBUMGdKM1Z1WkdWbWFXNWxaQ2NwSUh0Y2JpQWdJQ0JqYjI1emIyeGxMbVZ5Y205eUtHVnljaWs3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnZEdoeWIzY2daWEp5WEc0Z0lIMWNibjFjYmx4dUx5b2dJQ292WEc1Y2JuWmhjaUJqWVd4c1ltRmphM01nUFNCYlhUdGNiblpoY2lCd1pXNWthVzVuSUQwZ1ptRnNjMlU3WEc1Y2JtWjFibU4wYVc5dUlHWnNkWE5vUTJGc2JHSmhZMnR6SUNncElIdGNiaUFnY0dWdVpHbHVaeUE5SUdaaGJITmxPMXh1SUNCMllYSWdZMjl3YVdWeklEMGdZMkZzYkdKaFkydHpMbk5zYVdObEtEQXBPMXh1SUNCallXeHNZbUZqYTNNdWJHVnVaM1JvSUQwZ01EdGNiaUFnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCamIzQnBaWE11YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNCamIzQnBaWE5iYVYwb0tUdGNiaUFnZlZ4dWZWeHVYRzR2THlCSVpYSmxJSGRsSUdoaGRtVWdZWE41Ym1NZ1pHVm1aWEp5YVc1bklIZHlZWEJ3WlhKeklIVnphVzVuSUdKdmRHZ2diV2xqY205MFlYTnJjeUJoYm1RZ0tHMWhZM0p2S1NCMFlYTnJjeTVjYmk4dklFbHVJRHdnTWk0MElIZGxJSFZ6WldRZ2JXbGpjbTkwWVhOcmN5QmxkbVZ5ZVhkb1pYSmxMQ0JpZFhRZ2RHaGxjbVVnWVhKbElITnZiV1VnYzJObGJtRnlhVzl6SUhkb1pYSmxYRzR2THlCdGFXTnliM1JoYzJ0eklHaGhkbVVnZEc5dklHaHBaMmdnWVNCd2NtbHZjbWwwZVNCaGJtUWdabWx5WlNCcGJpQmlaWFIzWldWdUlITjFjSEJ2YzJWa2JIbGNiaTh2SUhObGNYVmxiblJwWVd3Z1pYWmxiblJ6SUNobExtY3VJQ00wTlRJeExDQWpOalk1TUNrZ2IzSWdaWFpsYmlCaVpYUjNaV1Z1SUdKMVltSnNhVzVuSUc5bUlIUm9aU0J6WVcxbFhHNHZMeUJsZG1WdWRDQW9JelkxTmpZcExpQkliM2RsZG1WeUxDQjFjMmx1WnlBb2JXRmpjbThwSUhSaGMydHpJR1YyWlhKNWQyaGxjbVVnWVd4emJ5Qm9ZWE1nYzNWaWRHeGxJSEJ5YjJKc1pXMXpYRzR2THlCM2FHVnVJSE4wWVhSbElHbHpJR05vWVc1blpXUWdjbWxuYUhRZ1ltVm1iM0psSUhKbGNHRnBiblFnS0dVdVp5NGdJelk0TVRNc0lHOTFkQzFwYmlCMGNtRnVjMmwwYVc5dWN5a3VYRzR2THlCSVpYSmxJSGRsSUhWelpTQnRhV055YjNSaGMyc2dZbmtnWkdWbVlYVnNkQ3dnWW5WMElHVjRjRzl6WlNCaElIZGhlU0IwYnlCbWIzSmpaU0FvYldGamNtOHBJSFJoYzJzZ2QyaGxibHh1THk4Z2JtVmxaR1ZrSUNobExtY3VJR2x1SUdWMlpXNTBJR2hoYm1Sc1pYSnpJR0YwZEdGamFHVmtJR0o1SUhZdGIyNHBMbHh1ZG1GeUlHMXBZM0p2VkdsdFpYSkdkVzVqTzF4dWRtRnlJRzFoWTNKdlZHbHRaWEpHZFc1ak8xeHVkbUZ5SUhWelpVMWhZM0p2VkdGemF5QTlJR1poYkhObE8xeHVYRzR2THlCRVpYUmxjbTFwYm1VZ0tHMWhZM0p2S1NCMFlYTnJJR1JsWm1WeUlHbHRjR3hsYldWdWRHRjBhVzl1TGx4dUx5OGdWR1ZqYUc1cFkyRnNiSGtnYzJWMFNXMXRaV1JwWVhSbElITm9iM1ZzWkNCaVpTQjBhR1VnYVdSbFlXd2dZMmh2YVdObExDQmlkWFFnYVhRbmN5QnZibXg1SUdGMllXbHNZV0pzWlZ4dUx5OGdhVzRnU1VVdUlGUm9aU0J2Ym14NUlIQnZiSGxtYVd4c0lIUm9ZWFFnWTI5dWMybHpkR1Z1ZEd4NUlIRjFaWFZsY3lCMGFHVWdZMkZzYkdKaFkyc2dZV1owWlhJZ1lXeHNJRVJQVFZ4dUx5OGdaWFpsYm5SeklIUnlhV2RuWlhKbFpDQnBiaUIwYUdVZ2MyRnRaU0JzYjI5d0lHbHpJR0o1SUhWemFXNW5JRTFsYzNOaFoyVkRhR0Z1Ym1Wc0xseHVMeW9nYVhOMFlXNWlkV3dnYVdkdWIzSmxJR2xtSUNvdlhHNXBaaUFvZEhsd1pXOW1JSE5sZEVsdGJXVmthV0YwWlNBaFBUMGdKM1Z1WkdWbWFXNWxaQ2NnSmlZZ2FYTk9ZWFJwZG1Vb2MyVjBTVzF0WldScFlYUmxLU2tnZTF4dUlDQnRZV055YjFScGJXVnlSblZ1WXlBOUlHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ0lDQnpaWFJKYlcxbFpHbGhkR1VvWm14MWMyaERZV3hzWW1GamEzTXBPMXh1SUNCOU8xeHVmU0JsYkhObElHbG1JQ2gwZVhCbGIyWWdUV1Z6YzJGblpVTm9ZVzV1Wld3Z0lUMDlJQ2QxYm1SbFptbHVaV1FuSUNZbUlDaGNiaUFnYVhOT1lYUnBkbVVvVFdWemMyRm5aVU5vWVc1dVpXd3BJSHg4WEc0Z0lDOHZJRkJvWVc1MGIyMUtVMXh1SUNCTlpYTnpZV2RsUTJoaGJtNWxiQzUwYjFOMGNtbHVaeWdwSUQwOVBTQW5XMjlpYW1WamRDQk5aWE56WVdkbFEyaGhibTVsYkVOdmJuTjBjblZqZEc5eVhTZGNiaWtwSUh0Y2JpQWdkbUZ5SUdOb1lXNXVaV3dnUFNCdVpYY2dUV1Z6YzJGblpVTm9ZVzV1Wld3b0tUdGNiaUFnZG1GeUlIQnZjblFnUFNCamFHRnVibVZzTG5CdmNuUXlPMXh1SUNCamFHRnVibVZzTG5CdmNuUXhMbTl1YldWemMyRm5aU0E5SUdac2RYTm9RMkZzYkdKaFkydHpPMXh1SUNCdFlXTnliMVJwYldWeVJuVnVZeUE5SUdaMWJtTjBhVzl1SUNncElIdGNiaUFnSUNCd2IzSjBMbkJ2YzNSTlpYTnpZV2RsS0RFcE8xeHVJQ0I5TzF4dWZTQmxiSE5sSUh0Y2JpQWdMeW9nYVhOMFlXNWlkV3dnYVdkdWIzSmxJRzVsZUhRZ0tpOWNiaUFnYldGamNtOVVhVzFsY2taMWJtTWdQU0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJQ0FnYzJWMFZHbHRaVzkxZENobWJIVnphRU5oYkd4aVlXTnJjeXdnTUNrN1hHNGdJSDA3WEc1OVhHNWNiaTh2SUVSbGRHVnliV2x1WlNCdGFXTnliM1JoYzJzZ1pHVm1aWElnYVcxd2JHVnRaVzUwWVhScGIyNHVYRzR2S2lCcGMzUmhibUoxYkNCcFoyNXZjbVVnYm1WNGRDd2dKR1pzYjNjdFpHbHpZV0pzWlMxc2FXNWxJQ292WEc1cFppQW9kSGx3Wlc5bUlGQnliMjFwYzJVZ0lUMDlJQ2QxYm1SbFptbHVaV1FuSUNZbUlHbHpUbUYwYVhabEtGQnliMjFwYzJVcEtTQjdYRzRnSUhaaGNpQndJRDBnVUhKdmJXbHpaUzV5WlhOdmJIWmxLQ2s3WEc0Z0lHMXBZM0p2VkdsdFpYSkdkVzVqSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNBZ0lIQXVkR2hsYmlobWJIVnphRU5oYkd4aVlXTnJjeWs3WEc0Z0lDQWdMeThnYVc0Z2NISnZZbXhsYldGMGFXTWdWVWxYWldKV2FXVjNjeXdnVUhKdmJXbHpaUzUwYUdWdUlHUnZaWE51SjNRZ1kyOXRjR3hsZEdWc2VTQmljbVZoYXl3Z1luVjBYRzRnSUNBZ0x5OGdhWFFnWTJGdUlHZGxkQ0J6ZEhWamF5QnBiaUJoSUhkbGFYSmtJSE4wWVhSbElIZG9aWEpsSUdOaGJHeGlZV05yY3lCaGNtVWdjSFZ6YUdWa0lHbHVkRzhnZEdobFhHNGdJQ0FnTHk4Z2JXbGpjbTkwWVhOcklIRjFaWFZsSUdKMWRDQjBhR1VnY1hWbGRXVWdhWE51SjNRZ1ltVnBibWNnWm14MWMyaGxaQ3dnZFc1MGFXd2dkR2hsSUdKeWIzZHpaWEpjYmlBZ0lDQXZMeUJ1WldWa2N5QjBieUJrYnlCemIyMWxJRzkwYUdWeUlIZHZjbXNzSUdVdVp5NGdhR0Z1Wkd4bElHRWdkR2x0WlhJdUlGUm9aWEpsWm05eVpTQjNaU0JqWVc1Y2JpQWdJQ0F2THlCY0ltWnZjbU5sWENJZ2RHaGxJRzFwWTNKdmRHRnpheUJ4ZFdWMVpTQjBieUJpWlNCbWJIVnphR1ZrSUdKNUlHRmtaR2x1WnlCaGJpQmxiWEIwZVNCMGFXMWxjaTVjYmlBZ0lDQnBaaUFvYVhOSlQxTXBJSHNnYzJWMFZHbHRaVzkxZENodWIyOXdLVHNnZlZ4dUlDQjlPMXh1ZlNCbGJITmxJSHRjYmlBZ0x5OGdabUZzYkdKaFkyc2dkRzhnYldGamNtOWNiaUFnYldsamNtOVVhVzFsY2taMWJtTWdQU0J0WVdOeWIxUnBiV1Z5Um5WdVl6dGNibjFjYmx4dUx5b3FYRzRnS2lCWGNtRndJR0VnWm5WdVkzUnBiMjRnYzI4Z2RHaGhkQ0JwWmlCaGJua2dZMjlrWlNCcGJuTnBaR1VnZEhKcFoyZGxjbk1nYzNSaGRHVWdZMmhoYm1kbExGeHVJQ29nZEdobElHTm9ZVzVuWlhNZ1lYSmxJSEYxWlhWbFpDQjFjMmx1WnlCaElDaHRZV055YnlrZ2RHRnpheUJwYm5OMFpXRmtJRzltSUdFZ2JXbGpjbTkwWVhOckxseHVJQ292WEc1bWRXNWpkR2x2YmlCM2FYUm9UV0ZqY205VVlYTnJJQ2htYmlrZ2UxeHVJQ0J5WlhSMWNtNGdabTR1WDNkcGRHaFVZWE5ySUh4OElDaG1iaTVmZDJsMGFGUmhjMnNnUFNCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ2RYTmxUV0ZqY205VVlYTnJJRDBnZEhKMVpUdGNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHWnVMbUZ3Y0d4NUtHNTFiR3dzSUdGeVozVnRaVzUwY3lsY2JpQWdJQ0I5SUdacGJtRnNiSGtnZTF4dUlDQWdJQ0FnZFhObFRXRmpjbTlVWVhOcklEMGdabUZzYzJVN0lDQWdJRnh1SUNBZ0lIMWNiaUFnZlNsY2JuMWNibHh1Wm5WdVkzUnBiMjRnYm1WNGRGUnBZMnNnS0dOaUxDQmpkSGdwSUh0Y2JpQWdkbUZ5SUY5eVpYTnZiSFpsTzF4dUlDQmpZV3hzWW1GamEzTXVjSFZ6YUNobWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ2FXWWdLR05pS1NCN1hHNGdJQ0FnSUNCMGNua2dlMXh1SUNBZ0lDQWdJQ0JqWWk1allXeHNLR04wZUNrN1hHNGdJQ0FnSUNCOUlHTmhkR05vSUNobEtTQjdYRzRnSUNBZ0lDQWdJR2hoYm1Sc1pVVnljbTl5S0dVc0lHTjBlQ3dnSjI1bGVIUlVhV05ySnlrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlNCbGJITmxJR2xtSUNoZmNtVnpiMngyWlNrZ2UxeHVJQ0FnSUNBZ1gzSmxjMjlzZG1Vb1kzUjRLVHRjYmlBZ0lDQjlYRzRnSUgwcE8xeHVJQ0JwWmlBb0lYQmxibVJwYm1jcElIdGNiaUFnSUNCd1pXNWthVzVuSUQwZ2RISjFaVHRjYmlBZ0lDQnBaaUFvZFhObFRXRmpjbTlVWVhOcktTQjdYRzRnSUNBZ0lDQnRZV055YjFScGJXVnlSblZ1WXlncE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0J0YVdOeWIxUnBiV1Z5Um5WdVl5Z3BPMXh1SUNBZ0lIMWNiaUFnZlZ4dUlDQXZMeUFrWm14dmR5MWthWE5oWW14bExXeHBibVZjYmlBZ2FXWWdLQ0ZqWWlBbUppQjBlWEJsYjJZZ1VISnZiV2x6WlNBaFBUMGdKM1Z1WkdWbWFXNWxaQ2NwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdibVYzSUZCeWIyMXBjMlVvWm5WdVkzUnBiMjRnS0hKbGMyOXNkbVVwSUh0Y2JpQWdJQ0FnSUY5eVpYTnZiSFpsSUQwZ2NtVnpiMngyWlR0Y2JpQWdJQ0I5S1Z4dUlDQjlYRzU5WEc1Y2JpOHFJQ0FxTDF4dVhHNHZLaUJ1YjNRZ2RIbHdaU0JqYUdWamEybHVaeUIwYUdseklHWnBiR1VnWW1WallYVnpaU0JtYkc5M0lHUnZaWE51SjNRZ2NHeGhlU0IzWld4c0lIZHBkR2dnVUhKdmVIa2dLaTljYmx4dWRtRnlJR2x1YVhSUWNtOTRlVHRjYmx4dWFXWWdLSEJ5YjJObGMzTXVaVzUyTGs1UFJFVmZSVTVXSUNFOVBTQW5jSEp2WkhWamRHbHZiaWNwSUh0Y2JpQWdkbUZ5SUdGc2JHOTNaV1JIYkc5aVlXeHpJRDBnYldGclpVMWhjQ2hjYmlBZ0lDQW5TVzVtYVc1cGRIa3NkVzVrWldacGJtVmtMRTVoVGl4cGMwWnBibWwwWlN4cGMwNWhUaXduSUN0Y2JpQWdJQ0FuY0dGeWMyVkdiRzloZEN4d1lYSnpaVWx1ZEN4a1pXTnZaR1ZWVWtrc1pHVmpiMlJsVlZKSlEyOXRjRzl1Wlc1MExHVnVZMjlrWlZWU1NTeGxibU52WkdWVlVrbERiMjF3YjI1bGJuUXNKeUFyWEc0Z0lDQWdKMDFoZEdnc1RuVnRZbVZ5TEVSaGRHVXNRWEp5WVhrc1QySnFaV04wTEVKdmIyeGxZVzRzVTNSeWFXNW5MRkpsWjBWNGNDeE5ZWEFzVTJWMExFcFRUMDRzU1c1MGJDd25JQ3RjYmlBZ0lDQW5jbVZ4ZFdseVpTY2dMeThnWm05eUlGZGxZbkJoWTJzdlFuSnZkM05sY21sbWVWeHVJQ0FwTzF4dVhHNGdJSFpoY2lCM1lYSnVUbTl1VUhKbGMyVnVkQ0E5SUdaMWJtTjBhVzl1SUNoMFlYSm5aWFFzSUd0bGVTa2dlMXh1SUNBZ0lIZGhjbTRvWEc0Z0lDQWdJQ0JjSWxCeWIzQmxjblI1SUc5eUlHMWxkR2h2WkNCY1hGd2lYQ0lnS3lCclpYa2dLeUJjSWx4Y1hDSWdhWE1nYm05MElHUmxabWx1WldRZ2IyNGdkR2hsSUdsdWMzUmhibU5sSUdKMWRDQmNJaUFyWEc0Z0lDQWdJQ0FuY21WbVpYSmxibU5sWkNCa2RYSnBibWNnY21WdVpHVnlMaUJOWVd0bElITjFjbVVnZEdoaGRDQjBhR2x6SUhCeWIzQmxjblI1SUdseklISmxZV04wYVhabExDQW5JQ3RjYmlBZ0lDQWdJQ2RsYVhSb1pYSWdhVzRnZEdobElHUmhkR0VnYjNCMGFXOXVMQ0J2Y2lCbWIzSWdZMnhoYzNNdFltRnpaV1FnWTI5dGNHOXVaVzUwY3l3Z1lua2dKeUFyWEc0Z0lDQWdJQ0FuYVc1cGRHbGhiR2w2YVc1bklIUm9aU0J3Y205d1pYSjBlUzRnSnlBclhHNGdJQ0FnSUNBblUyVmxPaUJvZEhSd2N6b3ZMM1oxWldwekxtOXlaeTkyTWk5bmRXbGtaUzl5WldGamRHbDJhWFI1TG1oMGJXd2pSR1ZqYkdGeWFXNW5MVkpsWVdOMGFYWmxMVkJ5YjNCbGNuUnBaWE11Snl4Y2JpQWdJQ0FnSUhSaGNtZGxkRnh1SUNBZ0lDazdYRzRnSUgwN1hHNWNiaUFnZG1GeUlIZGhjbTVTWlhObGNuWmxaRkJ5WldacGVDQTlJR1oxYm1OMGFXOXVJQ2gwWVhKblpYUXNJR3RsZVNrZ2UxeHVJQ0FnSUhkaGNtNG9YRzRnSUNBZ0lDQmNJbEJ5YjNCbGNuUjVJRnhjWENKY0lpQXJJR3RsZVNBcklGd2lYRnhjSWlCdGRYTjBJR0psSUdGalkyVnpjMlZrSUhkcGRHZ2dYRnhjSWlSa1lYUmhMbHdpSUNzZ2EyVjVJQ3NnWENKY1hGd2lJR0psWTJGMWMyVWdYQ0lnSzF4dUlDQWdJQ0FnSjNCeWIzQmxjblJwWlhNZ2MzUmhjblJwYm1jZ2QybDBhQ0JjSWlSY0lpQnZjaUJjSWw5Y0lpQmhjbVVnYm05MElIQnliM2hwWldRZ2FXNGdkR2hsSUZaMVpTQnBibk4wWVc1alpTQjBieUFuSUN0Y2JpQWdJQ0FnSUNkd2NtVjJaVzUwSUdOdmJtWnNhV04wY3lCM2FYUm9JRloxWlNCcGJuUmxjbTVoYkhNbklDdGNiaUFnSUNBZ0lDZFRaV1U2SUdoMGRIQnpPaTh2ZG5WbGFuTXViM0puTDNZeUwyRndhUzhqWkdGMFlTY3NYRzRnSUNBZ0lDQjBZWEpuWlhSY2JpQWdJQ0FwTzF4dUlDQjlPMXh1WEc0Z0lIWmhjaUJvWVhOUWNtOTRlU0E5WEc0Z0lDQWdkSGx3Wlc5bUlGQnliM2g1SUNFOVBTQW5kVzVrWldacGJtVmtKeUFtSmlCcGMwNWhkR2wyWlNoUWNtOTRlU2s3WEc1Y2JpQWdhV1lnS0doaGMxQnliM2g1S1NCN1hHNGdJQ0FnZG1GeUlHbHpRblZwYkhSSmJrMXZaR2xtYVdWeUlEMGdiV0ZyWlUxaGNDZ25jM1J2Y0N4d2NtVjJaVzUwTEhObGJHWXNZM1J5YkN4emFHbG1kQ3hoYkhRc2JXVjBZU3hsZUdGamRDY3BPMXh1SUNBZ0lHTnZibVpwWnk1clpYbERiMlJsY3lBOUlHNWxkeUJRY205NGVTaGpiMjVtYVdjdWEyVjVRMjlrWlhNc0lIdGNiaUFnSUNBZ0lITmxkRG9nWm5WdVkzUnBiMjRnYzJWMElDaDBZWEpuWlhRc0lHdGxlU3dnZG1Gc2RXVXBJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHbHpRblZwYkhSSmJrMXZaR2xtYVdWeUtHdGxlU2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQjNZWEp1S0NoY0lrRjJiMmxrSUc5MlpYSjNjbWwwYVc1bklHSjFhV3gwTFdsdUlHMXZaR2xtYVdWeUlHbHVJR052Ym1acFp5NXJaWGxEYjJSbGN6b2dMbHdpSUNzZ2EyVjVLU2s3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdaaGJITmxYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnZEdGeVoyVjBXMnRsZVYwZ1BTQjJZV3gxWlR0Y2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RISjFaVnh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU2s3WEc0Z0lIMWNibHh1SUNCMllYSWdhR0Z6U0dGdVpHeGxjaUE5SUh0Y2JpQWdJQ0JvWVhNNklHWjFibU4wYVc5dUlHaGhjeUFvZEdGeVoyVjBMQ0JyWlhrcElIdGNiaUFnSUNBZ0lIWmhjaUJvWVhNZ1BTQnJaWGtnYVc0Z2RHRnlaMlYwTzF4dUlDQWdJQ0FnZG1GeUlHbHpRV3hzYjNkbFpDQTlJR0ZzYkc5M1pXUkhiRzlpWVd4ektHdGxlU2tnZkh4Y2JpQWdJQ0FnSUNBZ0tIUjVjR1Z2WmlCclpYa2dQVDA5SUNkemRISnBibWNuSUNZbUlHdGxlUzVqYUdGeVFYUW9NQ2tnUFQwOUlDZGZKeUFtSmlBaEtHdGxlU0JwYmlCMFlYSm5aWFF1SkdSaGRHRXBLVHRjYmlBZ0lDQWdJR2xtSUNnaGFHRnpJQ1ltSUNGcGMwRnNiRzkzWldRcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0d0bGVTQnBiaUIwWVhKblpYUXVKR1JoZEdFcElIc2dkMkZ5YmxKbGMyVnlkbVZrVUhKbFptbDRLSFJoY21kbGRDd2dhMlY1S1RzZ2ZWeHVJQ0FnSUNBZ0lDQmxiSE5sSUhzZ2QyRnliazV2YmxCeVpYTmxiblFvZEdGeVoyVjBMQ0JyWlhrcE95QjlYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnlaWFIxY200Z2FHRnpJSHg4SUNGcGMwRnNiRzkzWldSY2JpQWdJQ0I5WEc0Z0lIMDdYRzVjYmlBZ2RtRnlJR2RsZEVoaGJtUnNaWElnUFNCN1hHNGdJQ0FnWjJWME9pQm1kVzVqZEdsdmJpQm5aWFFnS0hSaGNtZGxkQ3dnYTJWNUtTQjdYRzRnSUNBZ0lDQnBaaUFvZEhsd1pXOW1JR3RsZVNBOVBUMGdKM04wY21sdVp5Y2dKaVlnSVNoclpYa2dhVzRnZEdGeVoyVjBLU2tnZTF4dUlDQWdJQ0FnSUNCcFppQW9hMlY1SUdsdUlIUmhjbWRsZEM0a1pHRjBZU2tnZXlCM1lYSnVVbVZ6WlhKMlpXUlFjbVZtYVhnb2RHRnlaMlYwTENCclpYa3BPeUI5WEc0Z0lDQWdJQ0FnSUdWc2MyVWdleUIzWVhKdVRtOXVVSEpsYzJWdWRDaDBZWEpuWlhRc0lHdGxlU2s3SUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUhKbGRIVnliaUIwWVhKblpYUmJhMlY1WFZ4dUlDQWdJSDFjYmlBZ2ZUdGNibHh1SUNCcGJtbDBVSEp2ZUhrZ1BTQm1kVzVqZEdsdmJpQnBibWwwVUhKdmVIa2dLSFp0S1NCN1hHNGdJQ0FnYVdZZ0tHaGhjMUJ5YjNoNUtTQjdYRzRnSUNBZ0lDQXZMeUJrWlhSbGNtMXBibVVnZDJocFkyZ2djSEp2ZUhrZ2FHRnVaR3hsY2lCMGJ5QjFjMlZjYmlBZ0lDQWdJSFpoY2lCdmNIUnBiMjV6SUQwZ2RtMHVKRzl3ZEdsdmJuTTdYRzRnSUNBZ0lDQjJZWElnYUdGdVpHeGxjbk1nUFNCdmNIUnBiMjV6TG5KbGJtUmxjaUFtSmlCdmNIUnBiMjV6TG5KbGJtUmxjaTVmZDJsMGFGTjBjbWx3Y0dWa1hHNGdJQ0FnSUNBZ0lEOGdaMlYwU0dGdVpHeGxjbHh1SUNBZ0lDQWdJQ0E2SUdoaGMwaGhibVJzWlhJN1hHNGdJQ0FnSUNCMmJTNWZjbVZ1WkdWeVVISnZlSGtnUFNCdVpYY2dVSEp2ZUhrb2RtMHNJR2hoYm1Sc1pYSnpLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2RtMHVYM0psYm1SbGNsQnliM2g1SUQwZ2RtMDdYRzRnSUNBZ2ZWeHVJQ0I5TzF4dWZWeHVYRzR2S2lBZ0tpOWNibHh1ZG1GeUlITmxaVzVQWW1wbFkzUnpJRDBnYm1WM0lGOVRaWFFvS1R0Y2JseHVMeW9xWEc0Z0tpQlNaV04xY25OcGRtVnNlU0IwY21GMlpYSnpaU0JoYmlCdlltcGxZM1FnZEc4Z1pYWnZhMlVnWVd4c0lHTnZiblpsY25SbFpGeHVJQ29nWjJWMGRHVnljeXdnYzI4Z2RHaGhkQ0JsZG1WeWVTQnVaWE4wWldRZ2NISnZjR1Z5ZEhrZ2FXNXphV1JsSUhSb1pTQnZZbXBsWTNSY2JpQXFJR2x6SUdOdmJHeGxZM1JsWkNCaGN5QmhJRndpWkdWbGNGd2lJR1JsY0dWdVpHVnVZM2t1WEc0Z0tpOWNibVoxYm1OMGFXOXVJSFJ5WVhabGNuTmxJQ2gyWVd3cElIdGNiaUFnWDNSeVlYWmxjbk5sS0haaGJDd2djMlZsYms5aWFtVmpkSE1wTzF4dUlDQnpaV1Z1VDJKcVpXTjBjeTVqYkdWaGNpZ3BPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmZkSEpoZG1WeWMyVWdLSFpoYkN3Z2MyVmxiaWtnZTF4dUlDQjJZWElnYVN3Z2EyVjVjenRjYmlBZ2RtRnlJR2x6UVNBOUlFRnljbUY1TG1selFYSnlZWGtvZG1Gc0tUdGNiaUFnYVdZZ0tDZ2hhWE5CSUNZbUlDRnBjMDlpYW1WamRDaDJZV3dwS1NCOGZDQlBZbXBsWTNRdWFYTkdjbTk2Wlc0b2RtRnNLU0I4ZkNCMllXd2dhVzV6ZEdGdVkyVnZaaUJXVG05a1pTa2dlMXh1SUNBZ0lISmxkSFZ5Ymx4dUlDQjlYRzRnSUdsbUlDaDJZV3d1WDE5dllsOWZLU0I3WEc0Z0lDQWdkbUZ5SUdSbGNFbGtJRDBnZG1Gc0xsOWZiMkpmWHk1a1pYQXVhV1E3WEc0Z0lDQWdhV1lnS0hObFpXNHVhR0Z6S0dSbGNFbGtLU2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVYRzRnSUNBZ2ZWeHVJQ0FnSUhObFpXNHVZV1JrS0dSbGNFbGtLVHRjYmlBZ2ZWeHVJQ0JwWmlBb2FYTkJLU0I3WEc0Z0lDQWdhU0E5SUhaaGJDNXNaVzVuZEdnN1hHNGdJQ0FnZDJocGJHVWdLR2t0TFNrZ2V5QmZkSEpoZG1WeWMyVW9kbUZzVzJsZExDQnpaV1Z1S1RzZ2ZWeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lHdGxlWE1nUFNCUFltcGxZM1F1YTJWNWN5aDJZV3dwTzF4dUlDQWdJR2tnUFNCclpYbHpMbXhsYm1kMGFEdGNiaUFnSUNCM2FHbHNaU0FvYVMwdEtTQjdJRjkwY21GMlpYSnpaU2gyWVd4YmEyVjVjMXRwWFYwc0lITmxaVzRwT3lCOVhHNGdJSDFjYm4xY2JseHVkbUZ5SUcxaGNtczdYRzUyWVhJZ2JXVmhjM1Z5WlR0Y2JseHVhV1lnS0hCeWIyTmxjM011Wlc1MkxrNVBSRVZmUlU1V0lDRTlQU0FuY0hKdlpIVmpkR2x2YmljcElIdGNiaUFnZG1GeUlIQmxjbVlnUFNCcGJrSnliM2R6WlhJZ0ppWWdkMmx1Wkc5M0xuQmxjbVp2Y20xaGJtTmxPMXh1SUNBdktpQnBjM1JoYm1KMWJDQnBaMjV2Y21VZ2FXWWdLaTljYmlBZ2FXWWdLRnh1SUNBZ0lIQmxjbVlnSmlaY2JpQWdJQ0J3WlhKbUxtMWhjbXNnSmlaY2JpQWdJQ0J3WlhKbUxtMWxZWE4xY21VZ0ppWmNiaUFnSUNCd1pYSm1MbU5zWldGeVRXRnlhM01nSmlaY2JpQWdJQ0J3WlhKbUxtTnNaV0Z5VFdWaGMzVnlaWE5jYmlBZ0tTQjdYRzRnSUNBZ2JXRnlheUE5SUdaMWJtTjBhVzl1SUNoMFlXY3BJSHNnY21WMGRYSnVJSEJsY21ZdWJXRnlheWgwWVdjcE95QjlPMXh1SUNBZ0lHMWxZWE4xY21VZ1BTQm1kVzVqZEdsdmJpQW9ibUZ0WlN3Z2MzUmhjblJVWVdjc0lHVnVaRlJoWnlrZ2UxeHVJQ0FnSUNBZ2NHVnlaaTV0WldGemRYSmxLRzVoYldVc0lITjBZWEowVkdGbkxDQmxibVJVWVdjcE8xeHVJQ0FnSUNBZ2NHVnlaaTVqYkdWaGNrMWhjbXR6S0hOMFlYSjBWR0ZuS1R0Y2JpQWdJQ0FnSUhCbGNtWXVZMnhsWVhKTllYSnJjeWhsYm1SVVlXY3BPMXh1SUNBZ0lDQWdjR1Z5Wmk1amJHVmhjazFsWVhOMWNtVnpLRzVoYldVcE8xeHVJQ0FnSUgwN1hHNGdJSDFjYm4xY2JseHVMeW9nSUNvdlhHNWNiblpoY2lCdWIzSnRZV3hwZW1WRmRtVnVkQ0E5SUdOaFkyaGxaQ2htZFc1amRHbHZiaUFvYm1GdFpTa2dlMXh1SUNCMllYSWdjR0Z6YzJsMlpTQTlJRzVoYldVdVkyaGhja0YwS0RBcElEMDlQU0FuSmljN1hHNGdJRzVoYldVZ1BTQndZWE56YVhabElEOGdibUZ0WlM1emJHbGpaU2d4S1NBNklHNWhiV1U3WEc0Z0lIWmhjaUJ2Ym1ObEpDUXhJRDBnYm1GdFpTNWphR0Z5UVhRb01Da2dQVDA5SUNkK0p6c2dMeThnVUhKbFptbDRaV1FnYkdGemRDd2dZMmhsWTJ0bFpDQm1hWEp6ZEZ4dUlDQnVZVzFsSUQwZ2IyNWpaU1FrTVNBL0lHNWhiV1V1YzJ4cFkyVW9NU2tnT2lCdVlXMWxPMXh1SUNCMllYSWdZMkZ3ZEhWeVpTQTlJRzVoYldVdVkyaGhja0YwS0RBcElEMDlQU0FuSVNjN1hHNGdJRzVoYldVZ1BTQmpZWEIwZFhKbElEOGdibUZ0WlM1emJHbGpaU2d4S1NBNklHNWhiV1U3WEc0Z0lISmxkSFZ5YmlCN1hHNGdJQ0FnYm1GdFpUb2dibUZ0WlN4Y2JpQWdJQ0J2Ym1ObE9pQnZibU5sSkNReExGeHVJQ0FnSUdOaGNIUjFjbVU2SUdOaGNIUjFjbVVzWEc0Z0lDQWdjR0Z6YzJsMlpUb2djR0Z6YzJsMlpWeHVJQ0I5WEc1OUtUdGNibHh1Wm5WdVkzUnBiMjRnWTNKbFlYUmxSbTVKYm5admEyVnlJQ2htYm5NcElIdGNiaUFnWm5WdVkzUnBiMjRnYVc1MmIydGxjaUFvS1NCN1hHNGdJQ0FnZG1GeUlHRnlaM1Z0Wlc1MGN5UXhJRDBnWVhKbmRXMWxiblJ6TzF4dVhHNGdJQ0FnZG1GeUlHWnVjeUE5SUdsdWRtOXJaWEl1Wm01ek8xeHVJQ0FnSUdsbUlDaEJjbkpoZVM1cGMwRnljbUY1S0dadWN5a3BJSHRjYmlBZ0lDQWdJSFpoY2lCamJHOXVaV1FnUFNCbWJuTXVjMnhwWTJVb0tUdGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dZMnh2Ym1Wa0xteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUdOc2IyNWxaRnRwWFM1aGNIQnNlU2h1ZFd4c0xDQmhjbWQxYldWdWRITWtNU2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDOHZJSEpsZEhWeWJpQm9ZVzVrYkdWeUlISmxkSFZ5YmlCMllXeDFaU0JtYjNJZ2MybHVaMnhsSUdoaGJtUnNaWEp6WEc0Z0lDQWdJQ0J5WlhSMWNtNGdabTV6TG1Gd2NHeDVLRzUxYkd3c0lHRnlaM1Z0Wlc1MGN5bGNiaUFnSUNCOVhHNGdJSDFjYmlBZ2FXNTJiMnRsY2k1bWJuTWdQU0JtYm5NN1hHNGdJSEpsZEhWeWJpQnBiblp2YTJWeVhHNTlYRzVjYm1aMWJtTjBhVzl1SUhWd1pHRjBaVXhwYzNSbGJtVnljeUFvWEc0Z0lHOXVMRnh1SUNCdmJHUlBiaXhjYmlBZ1lXUmtMRnh1SUNCeVpXMXZkbVVrSkRFc1hHNGdJR055WldGMFpVOXVZMlZJWVc1a2JHVnlMRnh1SUNCMmJWeHVLU0I3WEc0Z0lIWmhjaUJ1WVcxbExDQmtaV1lrSkRFc0lHTjFjaXdnYjJ4a0xDQmxkbVZ1ZER0Y2JpQWdabTl5SUNodVlXMWxJR2x1SUc5dUtTQjdYRzRnSUNBZ1pHVm1KQ1F4SUQwZ1kzVnlJRDBnYjI1YmJtRnRaVjA3WEc0Z0lDQWdiMnhrSUQwZ2IyeGtUMjViYm1GdFpWMDdYRzRnSUNBZ1pYWmxiblFnUFNCdWIzSnRZV3hwZW1WRmRtVnVkQ2h1WVcxbEtUdGNiaUFnSUNCcFppQW9hWE5WYm1SbFppaGpkWElwS1NCN1hHNGdJQ0FnSUNCd2NtOWpaWE56TG1WdWRpNU9UMFJGWDBWT1ZpQWhQVDBnSjNCeWIyUjFZM1JwYjI0bklDWW1JSGRoY200b1hHNGdJQ0FnSUNBZ0lGd2lTVzUyWVd4cFpDQm9ZVzVrYkdWeUlHWnZjaUJsZG1WdWRDQmNYRndpWENJZ0t5QW9aWFpsYm5RdWJtRnRaU2tnS3lCY0lseGNYQ0k2SUdkdmRDQmNJaUFySUZOMGNtbHVaeWhqZFhJcExGeHVJQ0FnSUNBZ0lDQjJiVnh1SUNBZ0lDQWdLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLR2x6Vlc1a1pXWW9iMnhrS1NrZ2UxeHVJQ0FnSUNBZ2FXWWdLR2x6Vlc1a1pXWW9ZM1Z5TG1adWN5a3BJSHRjYmlBZ0lDQWdJQ0FnWTNWeUlEMGdiMjViYm1GdFpWMGdQU0JqY21WaGRHVkdia2x1ZG05clpYSW9ZM1Z5S1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUdsbUlDaHBjMVJ5ZFdVb1pYWmxiblF1YjI1alpTa3BJSHRjYmlBZ0lDQWdJQ0FnWTNWeUlEMGdiMjViYm1GdFpWMGdQU0JqY21WaGRHVlBibU5sU0dGdVpHeGxjaWhsZG1WdWRDNXVZVzFsTENCamRYSXNJR1YyWlc1MExtTmhjSFIxY21VcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ1lXUmtLR1YyWlc1MExtNWhiV1VzSUdOMWNpd2daWFpsYm5RdVkyRndkSFZ5WlN3Z1pYWmxiblF1Y0dGemMybDJaU3dnWlhabGJuUXVjR0Z5WVcxektUdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHTjFjaUFoUFQwZ2IyeGtLU0I3WEc0Z0lDQWdJQ0J2YkdRdVptNXpJRDBnWTNWeU8xeHVJQ0FnSUNBZ2IyNWJibUZ0WlYwZ1BTQnZiR1E3WEc0Z0lDQWdmVnh1SUNCOVhHNGdJR1p2Y2lBb2JtRnRaU0JwYmlCdmJHUlBiaWtnZTF4dUlDQWdJR2xtSUNocGMxVnVaR1ZtS0c5dVcyNWhiV1ZkS1NrZ2UxeHVJQ0FnSUNBZ1pYWmxiblFnUFNCdWIzSnRZV3hwZW1WRmRtVnVkQ2h1WVcxbEtUdGNiaUFnSUNBZ0lISmxiVzkyWlNRa01TaGxkbVZ1ZEM1dVlXMWxMQ0J2YkdSUGJsdHVZVzFsWFN3Z1pYWmxiblF1WTJGd2RIVnlaU2s3WEc0Z0lDQWdmVnh1SUNCOVhHNTlYRzVjYmk4cUlDQXFMMXh1WEc1bWRXNWpkR2x2YmlCdFpYSm5aVlpPYjJSbFNHOXZheUFvWkdWbUxDQm9iMjlyUzJWNUxDQm9iMjlyS1NCN1hHNGdJR2xtSUNoa1pXWWdhVzV6ZEdGdVkyVnZaaUJXVG05a1pTa2dlMXh1SUNBZ0lHUmxaaUE5SUdSbFppNWtZWFJoTG1odmIyc2dmSHdnS0dSbFppNWtZWFJoTG1odmIyc2dQU0I3ZlNrN1hHNGdJSDFjYmlBZ2RtRnlJR2x1ZG05clpYSTdYRzRnSUhaaGNpQnZiR1JJYjI5cklEMGdaR1ZtVzJodmIydExaWGxkTzF4dVhHNGdJR1oxYm1OMGFXOXVJSGR5WVhCd1pXUkliMjlySUNncElIdGNiaUFnSUNCb2IyOXJMbUZ3Y0d4NUtIUm9hWE1zSUdGeVozVnRaVzUwY3lrN1hHNGdJQ0FnTHk4Z2FXMXdiM0owWVc1ME9pQnlaVzF2ZG1VZ2JXVnlaMlZrSUdodmIyc2dkRzhnWlc1emRYSmxJR2wwSjNNZ1kyRnNiR1ZrSUc5dWJIa2diMjVqWlZ4dUlDQWdJQzh2SUdGdVpDQndjbVYyWlc1MElHMWxiVzl5ZVNCc1pXRnJYRzRnSUNBZ2NtVnRiM1psS0dsdWRtOXJaWEl1Wm01ekxDQjNjbUZ3Y0dWa1NHOXZheWs3WEc0Z0lIMWNibHh1SUNCcFppQW9hWE5WYm1SbFppaHZiR1JJYjI5cktTa2dlMXh1SUNBZ0lDOHZJRzV2SUdWNGFYTjBhVzVuSUdodmIydGNiaUFnSUNCcGJuWnZhMlZ5SUQwZ1kzSmxZWFJsUm01SmJuWnZhMlZ5S0Z0M2NtRndjR1ZrU0c5dmExMHBPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJQzhxSUdsemRHRnVZblZzSUdsbmJtOXlaU0JwWmlBcUwxeHVJQ0FnSUdsbUlDaHBjMFJsWmlodmJHUkliMjlyTG1adWN5a2dKaVlnYVhOVWNuVmxLRzlzWkVodmIyc3ViV1Z5WjJWa0tTa2dlMXh1SUNBZ0lDQWdMeThnWVd4eVpXRmtlU0JoSUcxbGNtZGxaQ0JwYm5admEyVnlYRzRnSUNBZ0lDQnBiblp2YTJWeUlEMGdiMnhrU0c5dmF6dGNiaUFnSUNBZ0lHbHVkbTlyWlhJdVptNXpMbkIxYzJnb2QzSmhjSEJsWkVodmIyc3BPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBdkx5QmxlR2x6ZEdsdVp5QndiR0ZwYmlCb2IyOXJYRzRnSUNBZ0lDQnBiblp2YTJWeUlEMGdZM0psWVhSbFJtNUpiblp2YTJWeUtGdHZiR1JJYjI5ckxDQjNjbUZ3Y0dWa1NHOXZhMTBwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUdsdWRtOXJaWEl1YldWeVoyVmtJRDBnZEhKMVpUdGNiaUFnWkdWbVcyaHZiMnRMWlhsZElEMGdhVzUyYjJ0bGNqdGNibjFjYmx4dUx5b2dJQ292WEc1Y2JtWjFibU4wYVc5dUlHVjRkSEpoWTNSUWNtOXdjMFp5YjIxV1RtOWtaVVJoZEdFZ0tGeHVJQ0JrWVhSaExGeHVJQ0JEZEc5eUxGeHVJQ0IwWVdkY2Jpa2dlMXh1SUNBdkx5QjNaU0JoY21VZ2IyNXNlU0JsZUhSeVlXTjBhVzVuSUhKaGR5QjJZV3gxWlhNZ2FHVnlaUzVjYmlBZ0x5OGdkbUZzYVdSaGRHbHZiaUJoYm1RZ1pHVm1ZWFZzZENCMllXeDFaWE1nWVhKbElHaGhibVJzWldRZ2FXNGdkR2hsSUdOb2FXeGtYRzRnSUM4dklHTnZiWEJ2Ym1WdWRDQnBkSE5sYkdZdVhHNGdJSFpoY2lCd2NtOXdUM0IwYVc5dWN5QTlJRU4wYjNJdWIzQjBhVzl1Y3k1d2NtOXdjenRjYmlBZ2FXWWdLR2x6Vlc1a1pXWW9jSEp2Y0U5d2RHbHZibk1wS1NCN1hHNGdJQ0FnY21WMGRYSnVYRzRnSUgxY2JpQWdkbUZ5SUhKbGN5QTlJSHQ5TzF4dUlDQjJZWElnWVhSMGNuTWdQU0JrWVhSaExtRjBkSEp6TzF4dUlDQjJZWElnY0hKdmNITWdQU0JrWVhSaExuQnliM0J6TzF4dUlDQnBaaUFvYVhORVpXWW9ZWFIwY25NcElIeDhJR2x6UkdWbUtIQnliM0J6S1NrZ2UxeHVJQ0FnSUdadmNpQW9kbUZ5SUd0bGVTQnBiaUJ3Y205d1QzQjBhVzl1Y3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJR0ZzZEV0bGVTQTlJR2g1Y0dobGJtRjBaU2hyWlhrcE8xeHVJQ0FnSUNBZ2FXWWdLSEJ5YjJObGMzTXVaVzUyTGs1UFJFVmZSVTVXSUNFOVBTQW5jSEp2WkhWamRHbHZiaWNwSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJR3RsZVVsdVRHOTNaWEpEWVhObElEMGdhMlY1TG5SdlRHOTNaWEpEWVhObEtDazdYRzRnSUNBZ0lDQWdJR2xtSUNoY2JpQWdJQ0FnSUNBZ0lDQnJaWGtnSVQwOUlHdGxlVWx1VEc5M1pYSkRZWE5sSUNZbVhHNGdJQ0FnSUNBZ0lDQWdZWFIwY25NZ0ppWWdhR0Z6VDNkdUtHRjBkSEp6TENCclpYbEpia3h2ZDJWeVEyRnpaU2xjYmlBZ0lDQWdJQ0FnS1NCN1hHNGdJQ0FnSUNBZ0lDQWdkR2x3S0Z4dUlDQWdJQ0FnSUNBZ0lDQWdYQ0pRY205d0lGeGNYQ0pjSWlBcklHdGxlVWx1VEc5M1pYSkRZWE5sSUNzZ1hDSmNYRndpSUdseklIQmhjM05sWkNCMGJ5QmpiMjF3YjI1bGJuUWdYQ0lnSzF4dUlDQWdJQ0FnSUNBZ0lDQWdLR1p2Y20xaGRFTnZiWEJ2Ym1WdWRFNWhiV1VvZEdGbklIeDhJRU4wYjNJcEtTQXJJRndpTENCaWRYUWdkR2hsSUdSbFkyeGhjbVZrSUhCeWIzQWdibUZ0WlNCcGMxd2lJQ3RjYmlBZ0lDQWdJQ0FnSUNBZ0lGd2lJRnhjWENKY0lpQXJJR3RsZVNBcklGd2lYRnhjSWk0Z1hDSWdLMXh1SUNBZ0lDQWdJQ0FnSUNBZ1hDSk9iM1JsSUhSb1lYUWdTRlJOVENCaGRIUnlhV0oxZEdWeklHRnlaU0JqWVhObExXbHVjMlZ1YzJsMGFYWmxJR0Z1WkNCallXMWxiRU5oYzJWa0lGd2lJQ3RjYmlBZ0lDQWdJQ0FnSUNBZ0lGd2ljSEp2Y0hNZ2JtVmxaQ0IwYnlCMWMyVWdkR2hsYVhJZ2EyVmlZV0l0WTJGelpTQmxjWFZwZG1Gc1pXNTBjeUIzYUdWdUlIVnphVzVuSUdsdUxVUlBUU0JjSWlBclhHNGdJQ0FnSUNBZ0lDQWdJQ0JjSW5SbGJYQnNZWFJsY3k0Z1dXOTFJSE5vYjNWc1pDQndjbTlpWVdKc2VTQjFjMlVnWEZ4Y0lsd2lJQ3NnWVd4MFMyVjVJQ3NnWENKY1hGd2lJR2x1YzNSbFlXUWdiMllnWEZ4Y0lsd2lJQ3NnYTJWNUlDc2dYQ0pjWEZ3aUxsd2lYRzRnSUNBZ0lDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ1kyaGxZMnRRY205d0tISmxjeXdnY0hKdmNITXNJR3RsZVN3Z1lXeDBTMlY1TENCMGNuVmxLU0I4ZkZ4dUlDQWdJQ0FnWTJobFkydFFjbTl3S0hKbGN5d2dZWFIwY25Nc0lHdGxlU3dnWVd4MFMyVjVMQ0JtWVd4elpTazdYRzRnSUNBZ2ZWeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCeVpYTmNibjFjYmx4dVpuVnVZM1JwYjI0Z1kyaGxZMnRRY205d0lDaGNiaUFnY21WekxGeHVJQ0JvWVhOb0xGeHVJQ0JyWlhrc1hHNGdJR0ZzZEV0bGVTeGNiaUFnY0hKbGMyVnlkbVZjYmlrZ2UxeHVJQ0JwWmlBb2FYTkVaV1lvYUdGemFDa3BJSHRjYmlBZ0lDQnBaaUFvYUdGelQzZHVLR2hoYzJnc0lHdGxlU2twSUh0Y2JpQWdJQ0FnSUhKbGMxdHJaWGxkSUQwZ2FHRnphRnRyWlhsZE8xeHVJQ0FnSUNBZ2FXWWdLQ0Z3Y21WelpYSjJaU2tnZTF4dUlDQWdJQ0FnSUNCa1pXeGxkR1VnYUdGemFGdHJaWGxkTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnY21WMGRYSnVJSFJ5ZFdWY2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0doaGMwOTNiaWhvWVhOb0xDQmhiSFJMWlhrcEtTQjdYRzRnSUNBZ0lDQnlaWE5iYTJWNVhTQTlJR2hoYzJoYllXeDBTMlY1WFR0Y2JpQWdJQ0FnSUdsbUlDZ2hjSEpsYzJWeWRtVXBJSHRjYmlBZ0lDQWdJQ0FnWkdWc1pYUmxJR2hoYzJoYllXeDBTMlY1WFR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUhKbGRIVnliaUIwY25WbFhHNGdJQ0FnZlZ4dUlDQjlYRzRnSUhKbGRIVnliaUJtWVd4elpWeHVmVnh1WEc0dktpQWdLaTljYmx4dUx5OGdWR2hsSUhSbGJYQnNZWFJsSUdOdmJYQnBiR1Z5SUdGMGRHVnRjSFJ6SUhSdklHMXBibWx0YVhwbElIUm9aU0J1WldWa0lHWnZjaUJ1YjNKdFlXeHBlbUYwYVc5dUlHSjVYRzR2THlCemRHRjBhV05oYkd4NUlHRnVZV3g1ZW1sdVp5QjBhR1VnZEdWdGNHeGhkR1VnWVhRZ1kyOXRjR2xzWlNCMGFXMWxMbHh1THk5Y2JpOHZJRVp2Y2lCd2JHRnBiaUJJVkUxTUlHMWhjbXQxY0N3Z2JtOXliV0ZzYVhwaGRHbHZiaUJqWVc0Z1ltVWdZMjl0Y0d4bGRHVnNlU0J6YTJsd2NHVmtJR0psWTJGMWMyVWdkR2hsWEc0dkx5Qm5aVzVsY21GMFpXUWdjbVZ1WkdWeUlHWjFibU4wYVc5dUlHbHpJR2QxWVhKaGJuUmxaV1FnZEc4Z2NtVjBkWEp1SUVGeWNtRjVQRlpPYjJSbFBpNGdWR2hsY21VZ1lYSmxYRzR2THlCMGQyOGdZMkZ6WlhNZ2QyaGxjbVVnWlhoMGNtRWdibTl5YldGc2FYcGhkR2x2YmlCcGN5QnVaV1ZrWldRNlhHNWNiaTh2SURFdUlGZG9aVzRnZEdobElHTm9hV3hrY21WdUlHTnZiblJoYVc1eklHTnZiWEJ2Ym1WdWRITWdMU0JpWldOaGRYTmxJR0VnWm5WdVkzUnBiMjVoYkNCamIyMXdiMjVsYm5SY2JpOHZJRzFoZVNCeVpYUjFjbTRnWVc0Z1FYSnlZWGtnYVc1emRHVmhaQ0J2WmlCaElITnBibWRzWlNCeWIyOTBMaUJKYmlCMGFHbHpJR05oYzJVc0lHcDFjM1FnWVNCemFXMXdiR1ZjYmk4dklHNXZjbTFoYkdsNllYUnBiMjRnYVhNZ2JtVmxaR1ZrSUMwZ2FXWWdZVzU1SUdOb2FXeGtJR2x6SUdGdUlFRnljbUY1TENCM1pTQm1iR0YwZEdWdUlIUm9aU0IzYUc5c1pWeHVMeThnZEdocGJtY2dkMmwwYUNCQmNuSmhlUzV3Y205MGIzUjVjR1V1WTI5dVkyRjBMaUJKZENCcGN5Qm5kV0Z5WVc1MFpXVmtJSFJ2SUdKbElHOXViSGtnTVMxc1pYWmxiQ0JrWldWd1hHNHZMeUJpWldOaGRYTmxJR1oxYm1OMGFXOXVZV3dnWTI5dGNHOXVaVzUwY3lCaGJISmxZV1I1SUc1dmNtMWhiR2w2WlNCMGFHVnBjaUJ2ZDI0Z1kyaHBiR1J5Wlc0dVhHNW1kVzVqZEdsdmJpQnphVzF3YkdWT2IzSnRZV3hwZW1WRGFHbHNaSEpsYmlBb1kyaHBiR1J5Wlc0cElIdGNiaUFnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCamFHbHNaSEpsYmk1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lHbG1JQ2hCY25KaGVTNXBjMEZ5Y21GNUtHTm9hV3hrY21WdVcybGRLU2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRUZ5Y21GNUxuQnliM1J2ZEhsd1pTNWpiMjVqWVhRdVlYQndiSGtvVzEwc0lHTm9hV3hrY21WdUtWeHVJQ0FnSUgxY2JpQWdmVnh1SUNCeVpYUjFjbTRnWTJocGJHUnlaVzVjYm4xY2JseHVMeThnTWk0Z1YyaGxiaUIwYUdVZ1kyaHBiR1J5Wlc0Z1kyOXVkR0ZwYm5NZ1kyOXVjM1J5ZFdOMGN5QjBhR0YwSUdGc2QyRjVjeUJuWlc1bGNtRjBaV1FnYm1WemRHVmtJRUZ5Y21GNWN5eGNiaTh2SUdVdVp5NGdQSFJsYlhCc1lYUmxQaXdnUEhOc2IzUStMQ0IyTFdadmNpd2diM0lnZDJobGJpQjBhR1VnWTJocGJHUnlaVzRnYVhNZ2NISnZkbWxrWldRZ1lua2dkWE5sY2x4dUx5OGdkMmwwYUNCb1lXNWtMWGR5YVhSMFpXNGdjbVZ1WkdWeUlHWjFibU4wYVc5dWN5QXZJRXBUV0M0Z1NXNGdjM1ZqYUNCallYTmxjeUJoSUdaMWJHd2dibTl5YldGc2FYcGhkR2x2Ymx4dUx5OGdhWE1nYm1WbFpHVmtJSFJ2SUdOaGRHVnlJSFJ2SUdGc2JDQndiM056YVdKc1pTQjBlWEJsY3lCdlppQmphR2xzWkhKbGJpQjJZV3gxWlhNdVhHNW1kVzVqZEdsdmJpQnViM0p0WVd4cGVtVkRhR2xzWkhKbGJpQW9ZMmhwYkdSeVpXNHBJSHRjYmlBZ2NtVjBkWEp1SUdselVISnBiV2wwYVhabEtHTm9hV3hrY21WdUtWeHVJQ0FnSUQ4Z1cyTnlaV0YwWlZSbGVIUldUbTlrWlNoamFHbHNaSEpsYmlsZFhHNGdJQ0FnT2lCQmNuSmhlUzVwYzBGeWNtRjVLR05vYVd4a2NtVnVLVnh1SUNBZ0lDQWdQeUJ1YjNKdFlXeHBlbVZCY25KaGVVTm9hV3hrY21WdUtHTm9hV3hrY21WdUtWeHVJQ0FnSUNBZ09pQjFibVJsWm1sdVpXUmNibjFjYmx4dVpuVnVZM1JwYjI0Z2FYTlVaWGgwVG05a1pTQW9ibTlrWlNrZ2UxeHVJQ0J5WlhSMWNtNGdhWE5FWldZb2JtOWtaU2tnSmlZZ2FYTkVaV1lvYm05a1pTNTBaWGgwS1NBbUppQnBjMFpoYkhObEtHNXZaR1V1YVhORGIyMXRaVzUwS1Z4dWZWeHVYRzVtZFc1amRHbHZiaUJ1YjNKdFlXeHBlbVZCY25KaGVVTm9hV3hrY21WdUlDaGphR2xzWkhKbGJpd2dibVZ6ZEdWa1NXNWtaWGdwSUh0Y2JpQWdkbUZ5SUhKbGN5QTlJRnRkTzF4dUlDQjJZWElnYVN3Z1l5d2diR0Z6ZEVsdVpHVjRMQ0JzWVhOME8xeHVJQ0JtYjNJZ0tHa2dQU0F3T3lCcElEd2dZMmhwYkdSeVpXNHViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0JqSUQwZ1kyaHBiR1J5Wlc1YmFWMDdYRzRnSUNBZ2FXWWdLR2x6Vlc1a1pXWW9ZeWtnZkh3Z2RIbHdaVzltSUdNZ1BUMDlJQ2RpYjI5c1pXRnVKeWtnZXlCamIyNTBhVzUxWlNCOVhHNGdJQ0FnYkdGemRFbHVaR1Y0SUQwZ2NtVnpMbXhsYm1kMGFDQXRJREU3WEc0Z0lDQWdiR0Z6ZENBOUlISmxjMXRzWVhOMFNXNWtaWGhkTzF4dUlDQWdJQzh2SUNCdVpYTjBaV1JjYmlBZ0lDQnBaaUFvUVhKeVlYa3VhWE5CY25KaGVTaGpLU2tnZTF4dUlDQWdJQ0FnYVdZZ0tHTXViR1Z1WjNSb0lENGdNQ2tnZTF4dUlDQWdJQ0FnSUNCaklEMGdibTl5YldGc2FYcGxRWEp5WVhsRGFHbHNaSEpsYmloakxDQW9LRzVsYzNSbFpFbHVaR1Y0SUh4OElDY25LU0FySUZ3aVgxd2lJQ3NnYVNrcE8xeHVJQ0FnSUNBZ0lDQXZMeUJ0WlhKblpTQmhaR3BoWTJWdWRDQjBaWGgwSUc1dlpHVnpYRzRnSUNBZ0lDQWdJR2xtSUNocGMxUmxlSFJPYjJSbEtHTmJNRjBwSUNZbUlHbHpWR1Y0ZEU1dlpHVW9iR0Z6ZENrcElIdGNiaUFnSUNBZ0lDQWdJQ0J5WlhOYmJHRnpkRWx1WkdWNFhTQTlJR055WldGMFpWUmxlSFJXVG05a1pTaHNZWE4wTG5SbGVIUWdLeUFvWTFzd1hTa3VkR1Y0ZENrN1hHNGdJQ0FnSUNBZ0lDQWdZeTV6YUdsbWRDZ3BPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUhKbGN5NXdkWE5vTG1Gd2NHeDVLSEpsY3l3Z1l5azdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaHBjMUJ5YVcxcGRHbDJaU2hqS1NrZ2UxeHVJQ0FnSUNBZ2FXWWdLR2x6VkdWNGRFNXZaR1VvYkdGemRDa3BJSHRjYmlBZ0lDQWdJQ0FnTHk4Z2JXVnlaMlVnWVdScVlXTmxiblFnZEdWNGRDQnViMlJsYzF4dUlDQWdJQ0FnSUNBdkx5QjBhR2x6SUdseklHNWxZMlZ6YzJGeWVTQm1iM0lnVTFOU0lHaDVaSEpoZEdsdmJpQmlaV05oZFhObElIUmxlSFFnYm05a1pYTWdZWEpsWEc0Z0lDQWdJQ0FnSUM4dklHVnpjMlZ1ZEdsaGJHeDVJRzFsY21kbFpDQjNhR1Z1SUhKbGJtUmxjbVZrSUhSdklFaFVUVXdnYzNSeWFXNW5jMXh1SUNBZ0lDQWdJQ0J5WlhOYmJHRnpkRWx1WkdWNFhTQTlJR055WldGMFpWUmxlSFJXVG05a1pTaHNZWE4wTG5SbGVIUWdLeUJqS1R0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb1l5QWhQVDBnSnljcElIdGNiaUFnSUNBZ0lDQWdMeThnWTI5dWRtVnlkQ0J3Y21sdGFYUnBkbVVnZEc4Z2RtNXZaR1ZjYmlBZ0lDQWdJQ0FnY21WekxuQjFjMmdvWTNKbFlYUmxWR1Y0ZEZaT2IyUmxLR01wS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdhV1lnS0dselZHVjRkRTV2WkdVb1l5a2dKaVlnYVhOVVpYaDBUbTlrWlNoc1lYTjBLU2tnZTF4dUlDQWdJQ0FnSUNBdkx5QnRaWEpuWlNCaFpHcGhZMlZ1ZENCMFpYaDBJRzV2WkdWelhHNGdJQ0FnSUNBZ0lISmxjMXRzWVhOMFNXNWtaWGhkSUQwZ1kzSmxZWFJsVkdWNGRGWk9iMlJsS0d4aGMzUXVkR1Y0ZENBcklHTXVkR1Y0ZENrN1hHNGdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBdkx5QmtaV1poZFd4MElHdGxlU0JtYjNJZ2JtVnpkR1ZrSUdGeWNtRjVJR05vYVd4a2NtVnVJQ2hzYVd0bGJIa2daMlZ1WlhKaGRHVmtJR0o1SUhZdFptOXlLVnh1SUNBZ0lDQWdJQ0JwWmlBb2FYTlVjblZsS0dOb2FXeGtjbVZ1TGw5cGMxWk1hWE4wS1NBbUpseHVJQ0FnSUNBZ0lDQWdJR2x6UkdWbUtHTXVkR0ZuS1NBbUpseHVJQ0FnSUNBZ0lDQWdJR2x6Vlc1a1pXWW9ZeTVyWlhrcElDWW1YRzRnSUNBZ0lDQWdJQ0FnYVhORVpXWW9ibVZ6ZEdWa1NXNWtaWGdwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdZeTVyWlhrZ1BTQmNJbDlmZG14cGMzUmNJaUFySUc1bGMzUmxaRWx1WkdWNElDc2dYQ0pmWENJZ0t5QnBJQ3NnWENKZlgxd2lPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUhKbGN5NXdkWE5vS0dNcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdmVnh1SUNCeVpYUjFjbTRnY21WelhHNTlYRzVjYmk4cUlDQXFMMXh1WEc1bWRXNWpkR2x2YmlCbGJuTjFjbVZEZEc5eUlDaGpiMjF3TENCaVlYTmxLU0I3WEc0Z0lHbG1JQ2hjYmlBZ0lDQmpiMjF3TGw5ZlpYTk5iMlIxYkdVZ2ZIeGNiaUFnSUNBb2FHRnpVM2x0WW05c0lDWW1JR052YlhCYlUzbHRZbTlzTG5SdlUzUnlhVzVuVkdGblhTQTlQVDBnSjAxdlpIVnNaU2NwWEc0Z0lDa2dlMXh1SUNBZ0lHTnZiWEFnUFNCamIyMXdMbVJsWm1GMWJIUTdYRzRnSUgxY2JpQWdjbVYwZFhKdUlHbHpUMkpxWldOMEtHTnZiWEFwWEc0Z0lDQWdQeUJpWVhObExtVjRkR1Z1WkNoamIyMXdLVnh1SUNBZ0lEb2dZMjl0Y0Z4dWZWeHVYRzVtZFc1amRHbHZiaUJqY21WaGRHVkJjM2x1WTFCc1lXTmxhRzlzWkdWeUlDaGNiaUFnWm1GamRHOXllU3hjYmlBZ1pHRjBZU3hjYmlBZ1kyOXVkR1Y0ZEN4Y2JpQWdZMmhwYkdSeVpXNHNYRzRnSUhSaFoxeHVLU0I3WEc0Z0lIWmhjaUJ1YjJSbElEMGdZM0psWVhSbFJXMXdkSGxXVG05a1pTZ3BPMXh1SUNCdWIyUmxMbUZ6ZVc1alJtRmpkRzl5ZVNBOUlHWmhZM1J2Y25rN1hHNGdJRzV2WkdVdVlYTjVibU5OWlhSaElEMGdleUJrWVhSaE9pQmtZWFJoTENCamIyNTBaWGgwT2lCamIyNTBaWGgwTENCamFHbHNaSEpsYmpvZ1kyaHBiR1J5Wlc0c0lIUmhaem9nZEdGbklIMDdYRzRnSUhKbGRIVnliaUJ1YjJSbFhHNTlYRzVjYm1aMWJtTjBhVzl1SUhKbGMyOXNkbVZCYzNsdVkwTnZiWEJ2Ym1WdWRDQW9YRzRnSUdaaFkzUnZjbmtzWEc0Z0lHSmhjMlZEZEc5eUxGeHVJQ0JqYjI1MFpYaDBYRzRwSUh0Y2JpQWdhV1lnS0dselZISjFaU2htWVdOMGIzSjVMbVZ5Y205eUtTQW1KaUJwYzBSbFppaG1ZV04wYjNKNUxtVnljbTl5UTI5dGNDa3BJSHRjYmlBZ0lDQnlaWFIxY200Z1ptRmpkRzl5ZVM1bGNuSnZja052YlhCY2JpQWdmVnh1WEc0Z0lHbG1JQ2hwYzBSbFppaG1ZV04wYjNKNUxuSmxjMjlzZG1Wa0tTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCbVlXTjBiM0o1TG5KbGMyOXNkbVZrWEc0Z0lIMWNibHh1SUNCcFppQW9hWE5VY25WbEtHWmhZM1J2Y25rdWJHOWhaR2x1WnlrZ0ppWWdhWE5FWldZb1ptRmpkRzl5ZVM1c2IyRmthVzVuUTI5dGNDa3BJSHRjYmlBZ0lDQnlaWFIxY200Z1ptRmpkRzl5ZVM1c2IyRmthVzVuUTI5dGNGeHVJQ0I5WEc1Y2JpQWdhV1lnS0dselJHVm1LR1poWTNSdmNua3VZMjl1ZEdWNGRITXBLU0I3WEc0Z0lDQWdMeThnWVd4eVpXRmtlU0J3Wlc1a2FXNW5YRzRnSUNBZ1ptRmpkRzl5ZVM1amIyNTBaWGgwY3k1d2RYTm9LR052Ym5SbGVIUXBPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSFpoY2lCamIyNTBaWGgwY3lBOUlHWmhZM1J2Y25rdVkyOXVkR1Y0ZEhNZ1BTQmJZMjl1ZEdWNGRGMDdYRzRnSUNBZ2RtRnlJSE41Ym1NZ1BTQjBjblZsTzF4dVhHNGdJQ0FnZG1GeUlHWnZjbU5sVW1WdVpHVnlJRDBnWm5WdVkzUnBiMjRnS0hKbGJtUmxja052YlhCc1pYUmxaQ2tnZTF4dUlDQWdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQXNJR3dnUFNCamIyNTBaWGgwY3k1c1pXNW5kR2c3SUdrZ1BDQnNPeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdZMjl1ZEdWNGRITmJhVjB1SkdadmNtTmxWWEJrWVhSbEtDazdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR2xtSUNoeVpXNWtaWEpEYjIxd2JHVjBaV1FwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVkR1Y0ZEhNdWJHVnVaM1JvSUQwZ01EdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOU8xeHVYRzRnSUNBZ2RtRnlJSEpsYzI5c2RtVWdQU0J2Ym1ObEtHWjFibU4wYVc5dUlDaHlaWE1wSUh0Y2JpQWdJQ0FnSUM4dklHTmhZMmhsSUhKbGMyOXNkbVZrWEc0Z0lDQWdJQ0JtWVdOMGIzSjVMbkpsYzI5c2RtVmtJRDBnWlc1emRYSmxRM1J2Y2loeVpYTXNJR0poYzJWRGRHOXlLVHRjYmlBZ0lDQWdJQzh2SUdsdWRtOXJaU0JqWVd4c1ltRmphM01nYjI1c2VTQnBaaUIwYUdseklHbHpJRzV2ZENCaElITjVibU5vY205dWIzVnpJSEpsYzI5c2RtVmNiaUFnSUNBZ0lDOHZJQ2hoYzNsdVl5QnlaWE52YkhabGN5QmhjbVVnYzJocGJXMWxaQ0JoY3lCemVXNWphSEp2Ym05MWN5QmtkWEpwYm1jZ1UxTlNLVnh1SUNBZ0lDQWdhV1lnS0NGemVXNWpLU0I3WEc0Z0lDQWdJQ0FnSUdadmNtTmxVbVZ1WkdWeUtIUnlkV1VwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBwTzF4dVhHNGdJQ0FnZG1GeUlISmxhbVZqZENBOUlHOXVZMlVvWm5WdVkzUnBiMjRnS0hKbFlYTnZiaWtnZTF4dUlDQWdJQ0FnY0hKdlkyVnpjeTVsYm5ZdVRrOUVSVjlGVGxZZ0lUMDlJQ2R3Y205a2RXTjBhVzl1SnlBbUppQjNZWEp1S0Z4dUlDQWdJQ0FnSUNCY0lrWmhhV3hsWkNCMGJ5QnlaWE52YkhabElHRnplVzVqSUdOdmJYQnZibVZ1ZERvZ1hDSWdLeUFvVTNSeWFXNW5LR1poWTNSdmNua3BLU0FyWEc0Z0lDQWdJQ0FnSUNoeVpXRnpiMjRnUHlBb1hDSmNYRzVTWldGemIyNDZJRndpSUNzZ2NtVmhjMjl1S1NBNklDY25LVnh1SUNBZ0lDQWdLVHRjYmlBZ0lDQWdJR2xtSUNocGMwUmxaaWhtWVdOMGIzSjVMbVZ5Y205eVEyOXRjQ2twSUh0Y2JpQWdJQ0FnSUNBZ1ptRmpkRzl5ZVM1bGNuSnZjaUE5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJR1p2Y21ObFVtVnVaR1Z5S0hSeWRXVXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMHBPMXh1WEc0Z0lDQWdkbUZ5SUhKbGN5QTlJR1poWTNSdmNua29jbVZ6YjJ4MlpTd2djbVZxWldOMEtUdGNibHh1SUNBZ0lHbG1JQ2hwYzA5aWFtVmpkQ2h5WlhNcEtTQjdYRzRnSUNBZ0lDQnBaaUFvZEhsd1pXOW1JSEpsY3k1MGFHVnVJRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ0lDQWdJQzh2SUNncElEMCtJRkJ5YjIxcGMyVmNiaUFnSUNBZ0lDQWdhV1lnS0dselZXNWtaV1lvWm1GamRHOXllUzV5WlhOdmJIWmxaQ2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQnlaWE11ZEdobGJpaHlaWE52YkhabExDQnlaV3BsWTNRcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLR2x6UkdWbUtISmxjeTVqYjIxd2IyNWxiblFwSUNZbUlIUjVjR1Z2WmlCeVpYTXVZMjl0Y0c5dVpXNTBMblJvWlc0Z1BUMDlJQ2RtZFc1amRHbHZiaWNwSUh0Y2JpQWdJQ0FnSUNBZ2NtVnpMbU52YlhCdmJtVnVkQzUwYUdWdUtISmxjMjlzZG1Vc0lISmxhbVZqZENrN1hHNWNiaUFnSUNBZ0lDQWdhV1lnS0dselJHVm1LSEpsY3k1bGNuSnZjaWtwSUh0Y2JpQWdJQ0FnSUNBZ0lDQm1ZV04wYjNKNUxtVnljbTl5UTI5dGNDQTlJR1Z1YzNWeVpVTjBiM0lvY21WekxtVnljbTl5TENCaVlYTmxRM1J2Y2lrN1hHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0JwWmlBb2FYTkVaV1lvY21WekxteHZZV1JwYm1jcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnWm1GamRHOXllUzVzYjJGa2FXNW5RMjl0Y0NBOUlHVnVjM1Z5WlVOMGIzSW9jbVZ6TG14dllXUnBibWNzSUdKaGMyVkRkRzl5S1R0Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvY21WekxtUmxiR0Y1SUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQm1ZV04wYjNKNUxteHZZV1JwYm1jZ1BTQjBjblZsTzF4dUlDQWdJQ0FnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J6WlhSVWFXMWxiM1YwS0daMWJtTjBhVzl1SUNncElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR2x6Vlc1a1pXWW9abUZqZEc5eWVTNXlaWE52YkhabFpDa2dKaVlnYVhOVmJtUmxaaWhtWVdOMGIzSjVMbVZ5Y205eUtTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1poWTNSdmNua3ViRzloWkdsdVp5QTlJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1ptOXlZMlZTWlc1a1pYSW9abUZzYzJVcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0I5TENCeVpYTXVaR1ZzWVhrZ2ZId2dNakF3S1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCcFppQW9hWE5FWldZb2NtVnpMblJwYldWdmRYUXBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2MyVjBWR2x0Wlc5MWRDaG1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYVhOVmJtUmxaaWhtWVdOMGIzSjVMbkpsYzI5c2RtVmtLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0J5WldwbFkzUW9YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjSEp2WTJWemN5NWxibll1VGs5RVJWOUZUbFlnSVQwOUlDZHdjbTlrZFdOMGFXOXVKMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUHlBb1hDSjBhVzFsYjNWMElDaGNJaUFySUNoeVpYTXVkR2x0Wlc5MWRDa2dLeUJjSW0xektWd2lLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnT2lCdWRXeHNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDazdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdmU3dnY21WekxuUnBiV1Z2ZFhRcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2MzbHVZeUE5SUdaaGJITmxPMXh1SUNBZ0lDOHZJSEpsZEhWeWJpQnBiaUJqWVhObElISmxjMjlzZG1Wa0lITjVibU5vY205dWIzVnpiSGxjYmlBZ0lDQnlaWFIxY200Z1ptRmpkRzl5ZVM1c2IyRmthVzVuWEc0Z0lDQWdJQ0EvSUdaaFkzUnZjbmt1Ykc5aFpHbHVaME52YlhCY2JpQWdJQ0FnSURvZ1ptRmpkRzl5ZVM1eVpYTnZiSFpsWkZ4dUlDQjlYRzU5WEc1Y2JpOHFJQ0FxTDF4dVhHNW1kVzVqZEdsdmJpQnBjMEZ6ZVc1alVHeGhZMlZvYjJ4a1pYSWdLRzV2WkdVcElIdGNiaUFnY21WMGRYSnVJRzV2WkdVdWFYTkRiMjF0Wlc1MElDWW1JRzV2WkdVdVlYTjVibU5HWVdOMGIzSjVYRzU5WEc1Y2JpOHFJQ0FxTDF4dVhHNW1kVzVqZEdsdmJpQm5aWFJHYVhKemRFTnZiWEJ2Ym1WdWRFTm9hV3hrSUNoamFHbHNaSEpsYmlrZ2UxeHVJQ0JwWmlBb1FYSnlZWGt1YVhOQmNuSmhlU2hqYUdsc1pISmxiaWtwSUh0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUdOb2FXeGtjbVZ1TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQjJZWElnWXlBOUlHTm9hV3hrY21WdVcybGRPMXh1SUNBZ0lDQWdhV1lnS0dselJHVm1LR01wSUNZbUlDaHBjMFJsWmloakxtTnZiWEJ2Ym1WdWRFOXdkR2x2Ym5NcElIeDhJR2x6UVhONWJtTlFiR0ZqWldodmJHUmxjaWhqS1NrcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHTmNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJSDFjYm4xY2JseHVMeW9nSUNvdlhHNWNiaThxSUNBcUwxeHVYRzVtZFc1amRHbHZiaUJwYm1sMFJYWmxiblJ6SUNoMmJTa2dlMXh1SUNCMmJTNWZaWFpsYm5SeklEMGdUMkpxWldOMExtTnlaV0YwWlNodWRXeHNLVHRjYmlBZ2RtMHVYMmhoYzBodmIydEZkbVZ1ZENBOUlHWmhiSE5sTzF4dUlDQXZMeUJwYm1sMElIQmhjbVZ1ZENCaGRIUmhZMmhsWkNCbGRtVnVkSE5jYmlBZ2RtRnlJR3hwYzNSbGJtVnljeUE5SUhadExpUnZjSFJwYjI1ekxsOXdZWEpsYm5STWFYTjBaVzVsY25NN1hHNGdJR2xtSUNoc2FYTjBaVzVsY25NcElIdGNiaUFnSUNCMWNHUmhkR1ZEYjIxd2IyNWxiblJNYVhOMFpXNWxjbk1vZG0wc0lHeHBjM1JsYm1WeWN5azdYRzRnSUgxY2JuMWNibHh1ZG1GeUlIUmhjbWRsZER0Y2JseHVablZ1WTNScGIyNGdZV1JrSUNobGRtVnVkQ3dnWm00cElIdGNiaUFnZEdGeVoyVjBMaVJ2YmlobGRtVnVkQ3dnWm00cE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCeVpXMXZkbVVrTVNBb1pYWmxiblFzSUdadUtTQjdYRzRnSUhSaGNtZGxkQzRrYjJabUtHVjJaVzUwTENCbWJpazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHTnlaV0YwWlU5dVkyVklZVzVrYkdWeUlDaGxkbVZ1ZEN3Z1ptNHBJSHRjYmlBZ2RtRnlJRjkwWVhKblpYUWdQU0IwWVhKblpYUTdYRzRnSUhKbGRIVnliaUJtZFc1amRHbHZiaUJ2Ym1ObFNHRnVaR3hsY2lBb0tTQjdYRzRnSUNBZ2RtRnlJSEpsY3lBOUlHWnVMbUZ3Y0d4NUtHNTFiR3dzSUdGeVozVnRaVzUwY3lrN1hHNGdJQ0FnYVdZZ0tISmxjeUFoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnWDNSaGNtZGxkQzRrYjJabUtHVjJaVzUwTENCdmJtTmxTR0Z1Wkd4bGNpazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJSFZ3WkdGMFpVTnZiWEJ2Ym1WdWRFeHBjM1JsYm1WeWN5QW9YRzRnSUhadExGeHVJQ0JzYVhOMFpXNWxjbk1zWEc0Z0lHOXNaRXhwYzNSbGJtVnljMXh1S1NCN1hHNGdJSFJoY21kbGRDQTlJSFp0TzF4dUlDQjFjR1JoZEdWTWFYTjBaVzVsY25Nb2JHbHpkR1Z1WlhKekxDQnZiR1JNYVhOMFpXNWxjbk1nZkh3Z2UzMHNJR0ZrWkN3Z2NtVnRiM1psSkRFc0lHTnlaV0YwWlU5dVkyVklZVzVrYkdWeUxDQjJiU2s3WEc0Z0lIUmhjbWRsZENBOUlIVnVaR1ZtYVc1bFpEdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1pYWmxiblJ6VFdsNGFXNGdLRloxWlNrZ2UxeHVJQ0IyWVhJZ2FHOXZhMUpGSUQwZ0wxNW9iMjlyT2k4N1hHNGdJRloxWlM1d2NtOTBiM1I1Y0dVdUpHOXVJRDBnWm5WdVkzUnBiMjRnS0dWMlpXNTBMQ0JtYmlrZ2UxeHVJQ0FnSUhaaGNpQjJiU0E5SUhSb2FYTTdYRzRnSUNBZ2FXWWdLRUZ5Y21GNUxtbHpRWEp5WVhrb1pYWmxiblFwS1NCN1hHNGdJQ0FnSUNCbWIzSWdLSFpoY2lCcElEMGdNQ3dnYkNBOUlHVjJaVzUwTG14bGJtZDBhRHNnYVNBOElHdzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ0lDQjJiUzRrYjI0b1pYWmxiblJiYVYwc0lHWnVLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0tIWnRMbDlsZG1WdWRITmJaWFpsYm5SZElIeDhJQ2gyYlM1ZlpYWmxiblJ6VzJWMlpXNTBYU0E5SUZ0ZEtTa3VjSFZ6YUNobWJpazdYRzRnSUNBZ0lDQXZMeUJ2Y0hScGJXbDZaU0JvYjI5ck9tVjJaVzUwSUdOdmMzUWdZbmtnZFhOcGJtY2dZU0JpYjI5c1pXRnVJR1pzWVdjZ2JXRnlhMlZrSUdGMElISmxaMmx6ZEhKaGRHbHZibHh1SUNBZ0lDQWdMeThnYVc1emRHVmhaQ0J2WmlCaElHaGhjMmdnYkc5dmEzVndYRzRnSUNBZ0lDQnBaaUFvYUc5dmExSkZMblJsYzNRb1pYWmxiblFwS1NCN1hHNGdJQ0FnSUNBZ0lIWnRMbDlvWVhOSWIyOXJSWFpsYm5RZ1BTQjBjblZsTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2RtMWNiaUFnZlR0Y2JseHVJQ0JXZFdVdWNISnZkRzkwZVhCbExpUnZibU5sSUQwZ1puVnVZM1JwYjI0Z0tHVjJaVzUwTENCbWJpa2dlMXh1SUNBZ0lIWmhjaUIyYlNBOUlIUm9hWE03WEc0Z0lDQWdablZ1WTNScGIyNGdiMjRnS0NrZ2UxeHVJQ0FnSUNBZ2RtMHVKRzltWmlobGRtVnVkQ3dnYjI0cE8xeHVJQ0FnSUNBZ1ptNHVZWEJ3Ykhrb2RtMHNJR0Z5WjNWdFpXNTBjeWs3WEc0Z0lDQWdmVnh1SUNBZ0lHOXVMbVp1SUQwZ1ptNDdYRzRnSUNBZ2RtMHVKRzl1S0dWMlpXNTBMQ0J2YmlrN1hHNGdJQ0FnY21WMGRYSnVJSFp0WEc0Z0lIMDdYRzVjYmlBZ1ZuVmxMbkJ5YjNSdmRIbHdaUzRrYjJabUlEMGdablZ1WTNScGIyNGdLR1YyWlc1MExDQm1iaWtnZTF4dUlDQWdJSFpoY2lCMmJTQTlJSFJvYVhNN1hHNGdJQ0FnTHk4Z1lXeHNYRzRnSUNBZ2FXWWdLQ0ZoY21kMWJXVnVkSE11YkdWdVozUm9LU0I3WEc0Z0lDQWdJQ0IyYlM1ZlpYWmxiblJ6SUQwZ1QySnFaV04wTG1OeVpXRjBaU2h1ZFd4c0tUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMmJWeHVJQ0FnSUgxY2JpQWdJQ0F2THlCaGNuSmhlU0J2WmlCbGRtVnVkSE5jYmlBZ0lDQnBaaUFvUVhKeVlYa3VhWE5CY25KaGVTaGxkbVZ1ZENrcElIdGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3TENCc0lEMGdaWFpsYm5RdWJHVnVaM1JvT3lCcElEd2diRHNnYVNzcktTQjdYRzRnSUNBZ0lDQWdJSFp0TGlSdlptWW9aWFpsYm5SYmFWMHNJR1p1S1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUhKbGRIVnliaUIyYlZ4dUlDQWdJSDFjYmlBZ0lDQXZMeUJ6Y0dWamFXWnBZeUJsZG1WdWRGeHVJQ0FnSUhaaGNpQmpZbk1nUFNCMmJTNWZaWFpsYm5SelcyVjJaVzUwWFR0Y2JpQWdJQ0JwWmlBb0lXTmljeWtnZTF4dUlDQWdJQ0FnY21WMGRYSnVJSFp0WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2doWm00cElIdGNiaUFnSUNBZ0lIWnRMbDlsZG1WdWRITmJaWFpsYm5SZElEMGdiblZzYkR0Y2JpQWdJQ0FnSUhKbGRIVnliaUIyYlZ4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvWm00cElIdGNiaUFnSUNBZ0lDOHZJSE53WldOcFptbGpJR2hoYm1Sc1pYSmNiaUFnSUNBZ0lIWmhjaUJqWWp0Y2JpQWdJQ0FnSUhaaGNpQnBKREVnUFNCalluTXViR1Z1WjNSb08xeHVJQ0FnSUNBZ2QyaHBiR1VnS0dra01TMHRLU0I3WEc0Z0lDQWdJQ0FnSUdOaUlEMGdZMkp6VzJra01WMDdYRzRnSUNBZ0lDQWdJR2xtSUNoallpQTlQVDBnWm00Z2ZId2dZMkl1Wm00Z1BUMDlJR1p1S1NCN1hHNGdJQ0FnSUNBZ0lDQWdZMkp6TG5Od2JHbGpaU2hwSkRFc0lERXBPMXh1SUNBZ0lDQWdJQ0FnSUdKeVpXRnJYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhadFhHNGdJSDA3WEc1Y2JpQWdWblZsTG5CeWIzUnZkSGx3WlM0a1pXMXBkQ0E5SUdaMWJtTjBhVzl1SUNobGRtVnVkQ2tnZTF4dUlDQWdJSFpoY2lCMmJTQTlJSFJvYVhNN1hHNGdJQ0FnYVdZZ0tIQnliMk5sYzNNdVpXNTJMazVQUkVWZlJVNVdJQ0U5UFNBbmNISnZaSFZqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJSFpoY2lCc2IzZGxja05oYzJWRmRtVnVkQ0E5SUdWMlpXNTBMblJ2VEc5M1pYSkRZWE5sS0NrN1hHNGdJQ0FnSUNCcFppQW9iRzkzWlhKRFlYTmxSWFpsYm5RZ0lUMDlJR1YyWlc1MElDWW1JSFp0TGw5bGRtVnVkSE5iYkc5M1pYSkRZWE5sUlhabGJuUmRLU0I3WEc0Z0lDQWdJQ0FnSUhScGNDaGNiaUFnSUNBZ0lDQWdJQ0JjSWtWMlpXNTBJRnhjWENKY0lpQXJJR3h2ZDJWeVEyRnpaVVYyWlc1MElDc2dYQ0pjWEZ3aUlHbHpJR1Z0YVhSMFpXUWdhVzRnWTI5dGNHOXVaVzUwSUZ3aUlDdGNiaUFnSUNBZ0lDQWdJQ0FvWm05eWJXRjBRMjl0Y0c5dVpXNTBUbUZ0WlNoMmJTa3BJQ3NnWENJZ1luVjBJSFJvWlNCb1lXNWtiR1Z5SUdseklISmxaMmx6ZEdWeVpXUWdabTl5SUZ4Y1hDSmNJaUFySUdWMlpXNTBJQ3NnWENKY1hGd2lMaUJjSWlBclhHNGdJQ0FnSUNBZ0lDQWdYQ0pPYjNSbElIUm9ZWFFnU0ZSTlRDQmhkSFJ5YVdKMWRHVnpJR0Z5WlNCallYTmxMV2x1YzJWdWMybDBhWFpsSUdGdVpDQjViM1VnWTJGdWJtOTBJSFZ6WlNCY0lpQXJYRzRnSUNBZ0lDQWdJQ0FnWENKMkxXOXVJSFJ2SUd4cGMzUmxiaUIwYnlCallXMWxiRU5oYzJVZ1pYWmxiblJ6SUhkb1pXNGdkWE5wYm1jZ2FXNHRSRTlOSUhSbGJYQnNZWFJsY3k0Z1hDSWdLMXh1SUNBZ0lDQWdJQ0FnSUZ3aVdXOTFJSE5vYjNWc1pDQndjbTlpWVdKc2VTQjFjMlVnWEZ4Y0lsd2lJQ3NnS0doNWNHaGxibUYwWlNobGRtVnVkQ2twSUNzZ1hDSmNYRndpSUdsdWMzUmxZV1FnYjJZZ1hGeGNJbHdpSUNzZ1pYWmxiblFnS3lCY0lseGNYQ0l1WENKY2JpQWdJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnZG1GeUlHTmljeUE5SUhadExsOWxkbVZ1ZEhOYlpYWmxiblJkTzF4dUlDQWdJR2xtSUNoalluTXBJSHRjYmlBZ0lDQWdJR05pY3lBOUlHTmljeTVzWlc1bmRHZ2dQaUF4SUQ4Z2RHOUJjbkpoZVNoalk="}},"time_used":86,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":29,"receive":57,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/fonts/Montserrat-SemiBold.woff2","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.495Z","timestamp":1785120633495,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /fonts/Montserrat-SemiBold.woff2 HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/fonts/stylesheet.css\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: font/woff2\r\nContent-Length: 91412\r\nLast-Modified: Tue, 14 Apr 2026 04:20:06 GMT\r\nConnection: keep-alive\r\nETag: \"69ddc076-16514\"\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":91412,"size_decoded":91655,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 91412, version 1.0","md5":"a0d372074a83c2090d898c344ca2483d","sha1":"ac577bed1d7cf4af40a6e80caf4946e4b9296389","sha256":"e3e9e40fc62f8042c217c90abc145c88ebb0cc38c6a196c2585e522d05ab9913","sha512":"91c29c75b54e8b560f1c8e0ca09ad6fcf81bacda91ca4255dba127752902728c065db7f88e772f6bae853f44dc75040ce6e328d2d643820bd7fc93c9e5a22455","ssdeep":"1536:zpFU1vduGw3thW5eNDRYy+zuwIeZYq6ONcPyqdKkkkAE41Y8qplHWbfQmryhpKn7:FEdAh+Y0ywIeZH6Da8KZkTwY8qpaY4Y2","tlshash":"1a93123a87f94677577c592e7c2086a6ff280904b07ed708462f3d206e3a88f7478579","first_seen":"2023-04-19T00:11:12Z","last_seen":"2026-07-27T02:59:54.670588Z","times_seen":337,"resource_available":false,"data":"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"}},"time_used":32,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":31,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/87995.911b26181778fecc4b4e.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.894Z","timestamp":1785120633894,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/87995.911b26181778fecc4b4e.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-7a23\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:32:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: bd3ed08a839446cd140c065797ef30db\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":31267,"size_decoded":10843,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"6a05d8171572287378e38e6964e02fe8","sha1":"63d026c77be2140ec887f9ff6d3f073098c753d7","sha256":"6c8f663aeaed79d462dc53895df9b7870b0e620a0dfe1116cb122d17391b60ed","sha512":"a4076a5db83f1d9f5054f7bcbcbb078c8881c79fcd79ea086d710a4a25568695a0fb17213a40d0b396482e293c7d980d411e5f128a7a040a765286cf92d3595e","ssdeep":"768:72RxBdTMf+AnnZv7+SVxp9QYQ2UYfzvEB7DU0M/Zm8FNpVwLY8jnEM//i7XeBFK8:7SEnnZv7+S9Un78F/VwLY8jnEM//i7XM","tlshash":"97e2a642e342606702f381ed0c354503a339ebd5784649acb6a98defb56cd0cb5bab7d","first_seen":"2026-07-24T18:44:55.949977Z","last_seen":"2026-07-27T05:27:33.090756Z","times_seen":122,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s4Nzk5NV0sezEyNzE1Nyh0KXt0LmV4cG9ydHM9e2ZhZGU6ImZhZGUtTU9kVWlCWUQiLGhpZGRlbjoiaGlkZGVuLU1PZFVpQllEIn19LDQ3MDA5MCh0LGUsaSl7InVzZSBzdHJpY3QiO2kuZChlLHtNaW5pQ2hhcnQ6KCk9Pmp9KTt2YXIgcz1pKDY3ODMxMiksYT1pKDc0MDE2Miksbj1pKDc4MzI1NCkscj1pKDIzMjM2NCksbz1pKDQwMjA0NSksaD1pKDk0ODM4MCksbD1pKDEzODYzOCksYz1pKDYyNDY3OCksZD1pKDgyNjE1NiksbT1pKDIyMTA2MSksdT1pKDI1NDY3MyksXz1pKDUwNTU2KSxwPWkoNDU5OTk0KSxmPWkoNzczMDg4KSxiPWkoMTMxMjk0KSxnPWkoNTkxNzQxKSxTPWkoODAyNTg2KSx2PWkoMTg5ODYzKSx5PWkoMTQ2MDU4KSxDPWkoNjEwNTcxKTtjb25zdCBEPSgwLHMuZGVmYXVsdEhvcnpTY2FsZUJlaGF2aW9yKSgpO2NsYXNzIFQgZXh0ZW5kcyBEe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9sYXN0SGFzaD0iIn1zaG91bGRSZXNldFRpY2ttYXJrTGFiZWxzKHQpe2NvbnN0IGU9dGhpcy5jYWxjdWxhdGVJdGVtc0hhc2godCksaT1lIT09dGhpcy5fbGFzdEhhc2g7cmV0dXJuIHRoaXMuX2xhc3RIYXNoPWUsaX1jYWxjdWxhdGVJdGVtc0hhc2godCl7cmV0dXJuIHQucmVkdWNlKCgodCxlKT0+dCtlLmluZGV4KSwiIil9fXZhciBQPWkoNTg2MjQ3KSx3PWkoMTI3MTU3KTtjb25zdCBrPSgwLG0uZ2V0TG9nZ2VyKSgiQ2hhcnQuTWluaUNoYXJ0IiksTT17dmFsdWU6IjEyTSIsdHlwZToicGVyaW9kLWJhY2sifSxJPXt0b3A6LjAxLGJvdHRvbTouMDF9LHg9e2NoYXJ0VHlwZToiYXJlYSIsbGluZVdpZHRoOjIscHJpY2VMaW5lVmlzaWJsZTohMSxjcm9zc2hhaXJNYXJrZXJWaXNpYmxlOiExLGxhc3RWYWx1ZVZpc2libGU6ITEsc2NhbGVNYXJnaW5zOkl9LE89e2xpbmVXaWR0aDoyLHByaWNlTGluZVZpc2libGU6ITEsY3Jvc3NoYWlyTWFya2VyVmlzaWJsZTohMSxsYXN0VmFsdWVWaXNpYmxlOiExLHNjYWxlTWFyZ2luczpJfSxGPXtjaGFydFR5cGU6ImJhc2VsaW5lIn0sUj17cHJpY2VMaW5lVmlzaWJsZTohMSxsYXN0VmFsdWVWaXNpYmxlOiExLHNjYWxlTWFyZ2luczpJfSxWPXtwcmljZUxpbmVWaXNpYmxlOiExLGxhc3RWYWx1ZVZpc2libGU6ITEsc2NhbGVNYXJnaW5zOkl9LHo9e3NjYWxlTWFyZ2luczpJfSxFPXtjaGFydFR5cGU6InByZXR0eS1oaXN0b2dyYW0iLHNjYWxlTWFyZ2luczpJLHJhZGl1czoyLHdpZHRoUGVyY2VudDo1MH0sTD17dmlzaWJsZTohMSxjb2xvcjpfLmNvbG9yc1BhbGV0dGVbImNvbG9yLXR2LWJsdWUtNTAwIl0sbGluZVdpZHRoOjEsbGVuZ3RoOjksbGFzdFZhbHVlVmlzaWJsZTohMSxwcmljZUxpbmVWaXNpYmxlOiExfSxCPXtzcGlubmVyOnt2aXNpYmxlOiExLHdpZHRoOjQsY29sb3I6Xy5jb2xvcnNQYWxldHRlWyJjb2xvci1icmFuZCJdfSxmYWRlOnt2aXNpYmxlOiExLHdhaXRGb3JTdHVkeVBsb3RzOiJub25lIn0sY2xlYXJEYXRhT25TeW1ib2xDaGFuZ2U6ITAsY2xlYXJEYXRhT25UaW1lZnJhbWVDaGFuZ2U6ITB9LE49e29uRmlyc3REYXRhOm51bGwsZGVzY3JpcHRpb246IiIsc2hvd0Rlc2NyaXB0aW9uOiEwLG5vRGF0YVRpbWVvdXQ6MTVlMyx0aW1lZnJhbWU6e3Zpc2libGU6ITEsdmFsdWU6TX0sY2hhcnRPcHRpb25zOnttaW5XaWR0aDowLG1pbkhlaWdodDowLGNoYXJ0OntncmlkOntob3J6TGluZXM6e2NvbG9yOiJyZ2JhKDEyMCwgMTIzLCAxMzQsIDAuMSkiLHZpc2libGU6ITF9LHZlcnRMaW5lczp7Y29sb3I6IiNmZmZmZmYiLHZpc2libGU6ITF9fSxjcm9zc2hhaXI6e2hvcnpMaW5lOnt2aXNpYmxlOiExLHN0eWxlOjMsd2lkdGg6MSxsYWJlbFZpc2libGU6ITEsbGFiZWxCYWNrZ3JvdW5kQ29sb3I6IiMwZjBmMGYifSx2ZXJ0TGluZTp7dmlzaWJsZTohMSxzdHlsZTozLHdpZHRoOjEsbGFiZWxWaXNpYmxlOiExLGxhYmVsQmFja2dyb3VuZENvbG9yOiIjMGYwZjBmIn19LGxheW91dDp7Zm9udEZhbWlseToiVHJlYnVjaGV0IE1TIixmb250U2l6ZToxMCx0ZXh0Q29sb3I6IiM4Mzg4OEQiLGJhY2tncm91bmQ6e3R5cGU6cy5Db2xvclR5cGUuU29saWQsY29sb3I6InRyYW5zcGFyZW50In0sYXR0cmlidXRpb25Mb2dvOiExfSxyaWdodFByaWNlU2NhbGU6e3Zpc2libGU6ITAsYm9yZGVyVmlzaWJsZTohMSxlbnRpcmVUZXh0T25seTohMCxtb2RlOnMuUHJpY2VTY2FsZU1vZGUuTm9ybWFsfSxsZWZ0UHJpY2VTY2FsZTp7dmlzaWJsZTohMSxib3JkZXJWaXNpYmxlOiExLGVudGlyZVRleHRPbmx5OiEwLG1vZGU6cy5QcmljZVNjYWxlTW9kZS5Ob3JtYWx9LHRpbWVTY2FsZTp7Ym9yZGVyVmlzaWJsZTohMSx0aW1lVmlzaWJsZTohMCxzZWNvbmRzVmlzaWJsZTohMSxsb2NrVmlzaWJsZVRpbWVSYW5nZU9uUmVzaXplOiEwfSxoYW5kbGVTY2FsZTohMSxoYW5kbGVTY3JvbGw6ITF9LHNlcmllczp4LHZvbHVtZTpDLmRlZmF1bHRWb2x1bWVPcHRpb25zLG1hOkwsbG9hZGluZzpCfX0sVT17IjF5Ijp7dmFsdWU6IjEyTSIsdHlwZToicGVyaW9kLWJhY2sifSwiNXkiOnt2YWx1ZToiNjBNIix0eXBlOiJwZXJpb2QtYmFjayJ9LG1heDp7dmFsdWU6IkFMTCIsdHlwZToicGVyaW9kLWJhY2sifX07ZnVuY3Rpb24gVyh0LGUsaSxhLG4scil7cmV0dXJuISF0LmRheUFuZFRpbWVUaWNrTWFya0ZpeEVuYWJsZWQmJihhPT09cy5UaWNrTWFya1R5cGUuVGltZT9mdW5jdGlvbih0KXtyZXR1cm4idGltZS1yYW5nZSIhPT10LnR5cGUmJih0LnZhbHVlLmVuZHNXaXRoKCJNIil8fHQudmFsdWUuZW5kc1dpdGgoIlkiKXx8WyJZVEQiLCJBTEwiXS5pbmNsdWRlcyh0LnZhbHVlKSl9KGUpOiEoIW58fCFyfHxhPD1yKSYmKGE9PT1zLlRpY2tNYXJrVHlwZS5EYXlPZk1vbnRoJiYoaS5nZXRNb250aCgpIT09bi5nZXRNb250aCgpfHxpLmdldEZ1bGxZZWFyKCkhPT1uLmdldEZ1bGxZZWFyKCkpKSl9Y29uc3QgSD0oKCk9PntsZXQgdD1udWxsLGU9bnVsbCxpPW51bGw7cmV0dXJuKGEsbixyLG8saCxsKT0+e2NvbnN0IGM9e30sZD1uZXcgRGF0ZSgxZTMqbykKO2kmJigwLGYuYXJlRXF1YWxUaW1lRnJhbWVzKShpLHIpfHwodD1udWxsLGU9bnVsbCxpPXIpO2xldCBtPSExO2lmKG4pe209KG4uc3VwcHJlc3NGbj8/VykobixyLGQsaCx0LGUpfWlmKHQ9ZCxlPWgsbSlyZXR1cm4iIjtzd2l0Y2goaCl7Y2FzZSBzLlRpY2tNYXJrVHlwZS5ZZWFyOm4/LmhpZGVZZWFyc1RpY2tNYXJrcz9jLm1vbnRoPSJzaG9ydCI6Yy55ZWFyPSJudW1lcmljIjticmVhaztjYXNlIHMuVGlja01hcmtUeXBlLk1vbnRoOmMubW9udGg9InNob3J0IjticmVhaztjYXNlIHMuVGlja01hcmtUeXBlLkRheU9mTW9udGg6Yy5kYXk9Im51bWVyaWMiO2JyZWFrO2Nhc2Ugcy5UaWNrTWFya1R5cGUuVGltZTpjLmhvdXIxMj0iMTItaG91cnMiPT09YSxjLmhvdXI9IjItZGlnaXQiLGMubWludXRlPSIyLWRpZ2l0IjticmVhaztjYXNlIHMuVGlja01hcmtUeXBlLlRpbWVXaXRoU2Vjb25kczpjLmhvdXIxMj0iMTItaG91cnMiPT09YSxjLmhvdXI9IjItZGlnaXQiLGMubWludXRlPSIyLWRpZ2l0IixjLnNlY29uZD0iMi1kaWdpdCJ9Y29uc3QgdT1uZXcgRGF0ZShkLmdldFVUQ0Z1bGxZZWFyKCksZC5nZXRVVENNb250aCgpLGQuZ2V0VVRDRGF0ZSgpLGQuZ2V0VVRDSG91cnMoKSxkLmdldFVUQ01pbnV0ZXMoKSxkLmdldFVUQ1NlY29uZHMoKSxkLmdldFVUQ01pbGxpc2Vjb25kcygpKTtyZXR1cm4gdD1kLGU9aCx1LnRvTG9jYWxlU3RyaW5nKGwsYyl9fSkoKTtmdW5jdGlvbiBxKHQsZSl7cmV0dXJuIHQuc2VyaWVzKCkuc2VyaWVzT3JkZXIoKS1lLnNlcmllcygpLnNlcmllc09yZGVyKCl9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJih3aW5kb3cubWluaUNoYXJ0SW5zdGFuY2VzPXdpbmRvdy5taW5pQ2hhcnRJbnN0YW5jZXN8fHt9KTtjb25zdCBBPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdy5taW5pQ2hhcnRJbnN0YW5jZXM6e307bGV0IFk9MDtjb25zdCBHPXthY3F1aXJlOigpPT4oMCxiLm93bmVyc2hpcCkobmV3IHAuQ2hhcnRTZXNzaW9uKHdpbmRvdy5DaGFydEFwaUluc3RhbmNlLCEwKSl9O2NsYXNzIGp7Y29uc3RydWN0b3IodCxlLGksbil7dGhpcy5faXNEZXN0cm95ZWQ9ITEsdGhpcy5fc3R1ZHlQbG90c09yZGVySW52YWxpZGF0ZWQ9ITAsdGhpcy5fc3R1ZHlQbG90cz1bXSx0aGlzLl9lbFRpbWVmcmFtZT1udWxsLHRoaXMuX3RpbWVmcmFtZVZpZXc9bnVsbCx0aGlzLl90aWNrbWFya3M9bmV3IE1hcCx0aGlzLl9jYWNoZWRUaWNrbWFya3M9bmV3IE1hcCx0aGlzLl9jaGFydFNlc3Npb249bnVsbCx0aGlzLl9jaGFydFNlc3Npb25Db25uZWN0ZWQ9bnVsbCx0aGlzLl9jb25uZWN0Q2FsbGJhY2s9bnVsbCx0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5fbG9hZEVycm9yVGltZW91dD1udWxsLHRoaXMuX2lzTG9hZGluZz0hMSx0aGlzLl9zcGlubmVyPW51bGwsdGhpcy5fY3Jvc3NoYWlyTW92ZUhhbmRsZXJzPW5ldyBNYXAsdGhpcy5fYXRvbWljVXBkYXRlSXNHb2luZz0hMSx0aGlzLl9zZXJpZXNVcERvd25Db2xvcnM9e30sdGhpcy5faXNEV01SZXNvbHV0aW9uPSExLHRoaXMuX3VwZGF0ZVRpbWVySWQ9bnVsbCx0aGlzLl93aWR0aD1uZXcgci5XYXRjaGVkVmFsdWUoMCksdGhpcy5faGVpZ2h0PW5ldyByLldhdGNoZWRWYWx1ZSgwKSx0aGlzLl9zdGF0dXM9bmV3IHIuV2F0Y2hlZFZhbHVlKCJsb2FkaW5nIiksdGhpcy5fdGltZVNjYWxlU2l6ZUNoYW5nZWQ9bmV3IGguRGVsZWdhdGUsdGhpcy5fb25QbG90U3RhdHVzQ2hhbmdlZD0oKT0+e2NvbnN0IHQ9dGhpcy5fbWFpblBsb3Quc3RhdHVzKCkudmFsdWUoKSxlPXRoaXMuX3N0dWR5UGxvdHMuZXZlcnkoKHQ9PjAhPT10LnN0YXR1cygpLnZhbHVlKCkpKSxpPWV8fHRoaXMuX3N0dWR5UGxvdHMuc29tZSgodD0+MCE9PXQuc3RhdHVzKCkudmFsdWUoKSYmdC5pc1Zpc2libGUoKS52YWx1ZSgpKSk7c3dpdGNoKHQpe2Nhc2UgMzplJiZ0aGlzLl9vblBsb3RzRGF0YVJlYWR5KCk7YnJlYWs7Y2FzZSAyOnRoaXMuX29uTWFpblBsb3REYXRhRXJyb3IoKTticmVhaztjYXNlIDE6dGhpcy5fb25NYWluUGxvdFN5bWJvbFJlc29sdmluZ0Vycm9yKCl9Y29uc3Qgcz10aGlzLl9vcHRpb25zLmNoYXJ0T3B0aW9ucy5sb2FkaW5nLmZhZGU7aWYocy52aXNpYmxlKXN3aXRjaCh0aGlzLl9jYWNoZWRUaWNrbWFya3Muc2l6ZT4wfHx0KXtjYXNlIDA6dGhpcy5faW5uZXJDb250YWluZXIuY2xhc3NMaXN0LmFkZCh3LmZhZGUpO2JyZWFrO2Nhc2UgMjpjYXNlIDE6Y2FzZSEwOnRoaXMuX2lubmVyQ29udGFpbmVyLmNsYXNzTGlzdC5yZW1vdmUody5mYWRlKTticmVhaztjYXNlIDM6KCJub25lIj09PXMud2FpdEZvclN0dWR5UGxvdHN8fCJhbGwiPT09cy53YWl0Rm9yU3R1ZHlQbG90cyYmZXx8ImFueSI9PT1zLndhaXRGb3JTdHVkeVBsb3RzJiZpKSYmdGhpcy5faW5uZXJDb250YWluZXIuY2xhc3NMaXN0LnJlbW92ZSh3LmZhZGUpfXRoaXMuX3VwZGF0ZVN0YXR1cygpfSx0aGlzLl90aW1lRnJhbWVPcHRpb25zPWk/LnRpbWVmcmFtZT8ub3B0aW9ucz8/KDAsUy5nZXRNaW5pVGltZUZyYW1lT3B0aW9ucykoKSx0aGlzLl9vcHRpb25zPSgwLGEuZGVmYXVsdCkoe30sTixpKSx0aGlzLl9jaGFydFNlc3Npb25Qcm92aWRlcj1uPz9HLHRoaXMuX2NvbnRhaW5lcj1lLHRoaXMuX2lubmVyQ29udGFpbmVyPWUub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9pbm5lckNvbnRhaW5lci5zdHlsZS53aWR0aD0iMTAwJSIsdGhpcy5faW5uZXJDb250YWluZXIuc3R5bGUuaGVpZ2h0PSIxMDAlIix0aGlzLl9pbm5lckNvbnRhaW5lci5zdHlsZS5taW5IZWlnaHQ9ImluaGVyaXQiLHRoaXMuX2lubmVyQ29udGFpbmVyLnN0eWxlLm1pbldpZHRoPSJpbmhlcml0IixlLmFwcGVuZENoaWxkKHRoaXMuX2lubmVyQ29udGFpbmVyKSx0aGlzLl93aWRnZXQ9KDAscy5jcmVhdGVDaGFydEV4KSh0aGlzLl9pbm5lckNvbnRhaW5lcixuZXcgVCx7Li4udGhpcy5fb3B0aW9ucy5jaGFydE9wdGlvbnM/LmNoYXJ0LGF1dG9TaXplOiEwfSk7Y29uc3QgbD10aGlzLl93aWRnZXQucGFuZXMoKVswXTt0aGlzLl90ZXh0V2F0ZXJtYXJrPSgwLHMuY3JlYXRlVGV4dFdhdGVybWFyaykobCx7CnZpc2libGU6ITF9KSx0aGlzLl90aW1lZnJhbWU9bmV3IG8uV2F0Y2hlZE9iamVjdCh0aGlzLl9vcHRpb25zLnRpbWVmcmFtZS52YWx1ZSksdGhpcy5fbWFpblBsb3Q9dGhpcy5fY3JlYXRlTWFpblBsb3QodCksdGhpcy5zZXRUaW1lZnJhbWUodGhpcy5fdGltZWZyYW1lLnZhbHVlKCksITApO2NvbnN0IGM9KDAsZi5jb252ZXJ0VGltZUZyYW1lVG9TdHIpKHRoaXMuX3RpbWVmcmFtZS52YWx1ZSgpKSxkPXRoaXMuX29wdGlvbnMuY2FjaGU/LmxvYWREYXRhKGMpO2Q/KHRoaXMuX2NhY2hlZFRpY2ttYXJrcz1kLnRpY2ttYXJrcyx0aGlzLl90aWNrbWFya3M9bmV3IE1hcCh0aGlzLl9jYWNoZWRUaWNrbWFya3MpLHRoaXMuX2NyZWF0ZVRvb2x0aXBEYXRlRm9ybWF0dGVyKCkpOnRoaXMuY29ubmVjdCgpLHRoaXMuX3BhcmVudFJlc2l6ZU9ic2VydmVyPW5ldyBSZXNpemVPYnNlcnZlcigodD0+e3RoaXMuX21haW5QbG90LmZpdENvbnRlbnQoKTtmb3IoY29uc3QgZSBvZiB0KWlmKGUuY29udGVudEJveFNpemUpe2NvbnN0IHQ9ZS5jb250ZW50Qm94U2l6ZVswXTt0aGlzLl93aWR0aC5zZXRWYWx1ZSh0LmlubGluZVNpemUpLHRoaXMuX2hlaWdodC5zZXRWYWx1ZSh0LmJsb2NrU2l6ZSl9fSkpLHRoaXMuX3BhcmVudFJlc2l6ZU9ic2VydmVyLm9ic2VydmUoZSk7Y29uc3QgbT1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuX3dpZHRoLnNldFZhbHVlKG0ud2lkdGgpLHRoaXMuX2hlaWdodC5zZXRWYWx1ZShtLmhlaWdodCksdGhpcy5fY3JlYXRlTGVnZW5kKCksdGhpcy5fdXBkYXRlU2VyaWVzVXBEb3duQ29sb3JzKCksdGhpcy5fYm91bmRUaW1lU2NhbGVTaXplQ2hhbmdlZEhhbmRsZXI9dGhpcy5fdGltZVNjYWxlU2l6ZUNoYW5nZWRIYW5kbGVyLmJpbmQodGhpcyksdGhpcy5fd2lkZ2V0LnRpbWVTY2FsZSgpLnN1YnNjcmliZVNpemVDaGFuZ2UodGhpcy5fYm91bmRUaW1lU2NhbGVTaXplQ2hhbmdlZEhhbmRsZXIpLFkrPTEsdGhpcy5faW5uZXJDb250YWluZXIuZGF0YXNldC5taW5pQ2hhcnRJZD1gJHtZfWAsQVt0aGlzLl9pbm5lckNvbnRhaW5lci5kYXRhc2V0Lm1pbmlDaGFydElkXT10aGlzfWFzeW5jIHRha2VTY3JlZW5zaG90KCl7Y29uc3R7dGFrZVNjcmVlbnNob3Q6dH09YXdhaXQgUHJvbWlzZS5hbGwoW2kuZSg5Mjk2NCksaS5lKDEyMTgxKSxpLmUoMTkzMTEpXSkudGhlbihpLmJpbmQoaSwyMDE3ODEpKTtyZXR1cm4gdCh0aGlzLndpZGdldCgpLHRoaXMubWFpblBsb3QoKS5zeW1ib2xJbmZvKCkpfXNjcmVlbnNob3RTeW1ib2woKXtyZXR1cm4gdGhpcy5tYWluUGxvdCgpLnN5bWJvbCgpfWNvbnRhaW5lcigpe3JldHVybiB0aGlzLl9jb250YWluZXJ9aW5uZXJDb250YWluZXIoKXtyZXR1cm4gdGhpcy5faW5uZXJDb250YWluZXJ9Z2V0Q2hhcnRDb250YWluZXIoKXtyZXR1cm4gdGhpcy5fY29udGFpbmVyPygwLHkuZ2V0Q2hhcnRMYXlvdXRDb250YWluZXIpKHRoaXMuX2NvbnRhaW5lcik6bnVsbH13aWR0aCgpe3JldHVybiB0aGlzLl93aWR0aC5yZWFkb25seSgpfWhlaWdodCgpe3JldHVybiB0aGlzLl9oZWlnaHQucmVhZG9ubHkoKX1zdGF0dXMoKXtyZXR1cm4gdGhpcy5fc3RhdHVzLnJlYWRvbmx5KCl9c2VyaWVzRGF0YVNvdXJjZSgpe3JldHVybiB0aGlzLl9tYWluUGxvdC5zZXJpZXNEYXRhU291cmNlKCl9c3VwcG9ydFJlYWx0aW1lVXBkYXRlcygpe3JldHVybiBCb29sZWFuKHRoaXMuX29wdGlvbnMuZG9Ob3REaXNjb25uZWN0T25EYXRhUmVhZHkpfWNvbm5lY3QodCl7Y29uc3QgZT0oMCxmLmNvbnZlcnRUaW1lRnJhbWVUb1N0cikodGhpcy5fdGltZWZyYW1lLnZhbHVlKCkpOygwLGwuYXNzZXJ0KSghdGhpcy5fb3B0aW9ucy5jYWNoZT8ubG9hZERhdGEoZSksIkNoYXJ0IGNhbiBub3QgdG8gY29ubmVjdCBpZiB0aGVyZSBpcyBhbiBleGlzdGluZyBjYWNoZSBkYXRhIiksImZ1bmN0aW9uIj09dHlwZW9mIHQmJih0aGlzLl9jb25uZWN0Q2FsbGJhY2s9dCksdGhpcy5fY2xlYXJSZWNvbm5lY3Rpb25UaW1lb3V0KCksdGhpcy5jb25uZWN0ZWQoKXx8KHRoaXMuX3Nob3dMb2FkaW5nKCksdGhpcy5fbWFpblBsb3QuY2xlYXJEYXRhKCksdGhpcy5fc3R1ZHlQbG90cy5mb3JFYWNoKCh0PT50LmNsZWFyRGF0YSgpKSksdGhpcy5fY2hhcnRTZXNzaW9ufHwodGhpcy5fY2hhcnRTZXNzaW9uPXRoaXMuX2NoYXJ0U2Vzc2lvblByb3ZpZGVyLmFjcXVpcmUoKSx0aGlzLl9jaGFydFNlc3Npb24uY3JpdGljYWxFcnJvcigpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ2hhcnRTZXNzaW9uQ3JpdGljYWxFcnJvciksdGhpcy5fY2hhcnRTZXNzaW9uQ29ubmVjdGVkPXRoaXMuX2NoYXJ0U2Vzc2lvbi5pc0Nvbm5lY3RlZCgpLnNwYXduKCksdGhpcy5fY2hhcnRTZXNzaW9uQ29ubmVjdGVkLnN1YnNjcmliZSh0aGlzLl9vbkNoYXJ0U2Vzc2lvbklzQ29ubmVjdGVkQ2hhbmdlZC5iaW5kKHRoaXMpLHtjYWxsV2l0aExhc3Q6ITB9KSksdGhpcy5fY2hhcnRTZXNzaW9uLmNvbm5lY3QodGhpcy5fb25EYXRhLmJpbmQodGhpcykpLHRoaXMuX2NoYXJ0U2Vzc2lvbi5pc0Nvbm5lY3RlZCgpLnZhbHVlKCkmJnRoaXMuX3JlcXVlc3REYXRhKCksdGhpcy5fY2xlYXJOb0RhdGFUaW1lb3V0KCksdGhpcy5fY3JlYXRlTm9EYXRhVGltZW91dCgpKX1kaXNjb25uZWN0KCl7dGhpcy5fc3R1ZHlQbG90cy5mb3JFYWNoKCh0PT50LmRpc2Nvbm5lY3QoKSkpLHRoaXMuX21haW5QbG90LmRpc2Nvbm5lY3QoKSx0aGlzLl9jaGFydFNlc3Npb24/LmRpc2Nvbm5lY3QoKSx0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5fY2xlYXJOb0RhdGFUaW1lb3V0KCl9Y29ubmVjdGVkKCl7cmV0dXJuIEJvb2xlYW4odGhpcy5fY29ubmVjdGVkJiZ0aGlzLl9jaGFydFNlc3Npb24mJnRoaXMuX2NoYXJ0U2Vzc2lvbi5pc0Nvbm5lY3RlZCgpLnZhbHVlKCkpfXNldFRpbWVmcmFtZSh0LGUsaSl7Y29uc3Qgcz10aGlzLl90aW1lZnJhbWUudmFsdWUoKTtsZXQgYT10O2NvbnN0IG49InBlcmlvZC1iYWNrIj09PWEudHlwZT9VW2EudmFsdWVdOnZvaWQgMDt2b2lkIDAhPT1uJiYoYT1uKTtsZXQgcj1udWxsCjtpZihyPXRoaXMuX3RpbWVmcmFtZUlzQXZhaWxhYmxlKGEpP2E6dGhpcy5fdGltZWZyYW1lSXNBdmFpbGFibGUoTSk/TTp0aGlzLl90aW1lRnJhbWVPcHRpb25zLmZpbmQoKHQ9PnRoaXMuX3RpbWVmcmFtZUlzQXZhaWxhYmxlKHQudmFsdWUpKSk/LnZhbHVlPz9udWxsLG51bGw9PT1yKXJldHVybiB2b2lkIGsubG9nV2FybigiVGhlIGN1cnJlbnQgdGltZWZyYW1lIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggdGhlIHRpbWVmcmFtZXMgZnJvbSB0aW1lRnJhbWVPcHRpb25zIik7dGhpcy5fb3B0aW9ucy50aW1lZnJhbWUuY3VycmVudFRpbWVmcmFtZUNhbGxiYWNrJiZ0aGlzLl9vcHRpb25zLnRpbWVmcmFtZS5jdXJyZW50VGltZWZyYW1lQ2FsbGJhY2sociksdGhpcy5fdGltZWZyYW1lLnNldFZhbHVlKHIpO2NvbnN0IG89KDAsZi5jb252ZXJ0VGltZUZyYW1lVG9TdHIpKHRoaXMuX3RpbWVmcmFtZS52YWx1ZSgpKTt0aGlzLl9hY3RpdmVSYW5nZT1vLHRoaXMuX3RpbWVmcmFtZVZpZXcmJnRoaXMuX29wdGlvbnMudGltZWZyYW1lLnZpc2libGUmJnRoaXMuX3RpbWVmcmFtZVZpZXcudXBkYXRlKHthY3RpdmVSYW5nZTp0aGlzLl9hY3RpdmVSYW5nZX0pO2NvbnN0IGg9dGhpcy5fb3B0aW9ucy5jYWNoZT8ubG9hZERhdGEobyk7aWYoaClyZXR1cm4gdGhpcy5fY2FjaGVkVGlja21hcmtzPWgudGlja21hcmtzLHRoaXMuX3RpY2ttYXJrcz1uZXcgTWFwKHRoaXMuX2NhY2hlZFRpY2ttYXJrcyksdGhpcy5fY3JlYXRlVG9vbHRpcERhdGVGb3JtYXR0ZXIoKSx2b2lkIHRoaXMuX21haW5QbG90LnJlbG9hZENhY2hlKGgubWFpblBsb3QpO3RoaXMuX2NhY2hlZFRpY2ttYXJrcy5zaXplJiYodGhpcy5fY2FjaGVkVGlja21hcmtzPW5ldyBNYXAsdGhpcy5fdGlja21hcmtzPW5ldyBNYXAsdGhpcy5fbWFpblBsb3QucmVsb2FkQ2FjaGUoKSx0aGlzLl9tYWluUGxvdC5jbGVhckRhdGEoKSksKCFlJiZzIT09dGhpcy5fdGltZWZyYW1lLnZhbHVlKCl8fGkpJiZ0aGlzLl9yZXF1ZXN0RGF0YU9uVGltZWZyYW1lQ2hhbmdlKCl9Y2hhcnRTZXNzaW9uKCl7cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydFNlc3Npb24pfXdpZGdldCgpe3JldHVybiB0aGlzLl93aWRnZXR9dGltZWZyYW1lKCl7cmV0dXJuIHRoaXMuX3RpbWVmcmFtZS5yZWFkb25seSgpfXNldFRpbWVGcmFtZU9wdGlvbnModCxlKXtpZih0PT09dGhpcy5fdGltZUZyYW1lT3B0aW9ucylyZXR1cm47Y29uc3QgaT10aGlzLl90aW1lRnJhbWVPcHRpb25zLmZpbmQoKHQ9PigwLGYuYXJlRXF1YWxUaW1lRnJhbWVzKSh0LnZhbHVlLHRoaXMudGltZWZyYW1lKCkudmFsdWUoKSkpKSxzPWk/LnRhcmdldFJlc29sdXRpb24/P251bGw7dGhpcy5fdGltZUZyYW1lT3B0aW9ucz10LGU/dGhpcy5zZXRUaW1lZnJhbWUoZSk6dGhpcy5yZXNvbHV0aW9uKCkhPT1zJiZ0aGlzLl9yZXF1ZXN0RGF0YU9uVGltZWZyYW1lQ2hhbmdlKCksdGhpcy5faW5pdFRpbWVmcmFtZXNSZW5kZXJlcigpfXRpbWVGcmFtZU9wdGlvbnMoKXtyZXR1cm4gdGhpcy5fdGltZUZyYW1lT3B0aW9uc31yZXNvbHV0aW9uKCl7Y29uc3QgdD10aGlzLl90aW1lRnJhbWVPcHRpb25zLmZpbmQoKHQ9PigwLGYuYXJlRXF1YWxUaW1lRnJhbWVzKSh0LnZhbHVlLHRoaXMudGltZWZyYW1lKCkudmFsdWUoKSkpKTtyZXR1cm4oMCxsLmVuc3VyZURlZmluZWQpKHQ/LnRhcmdldFJlc29sdXRpb24pfWNoYW5nZVN5bWJvbCh0LGUpe3ZvaWQgMCE9PWUmJnRoaXMuX3VwZGF0ZVNlcmllc09wdGlvbnMoZSksdGhpcy5fb3B0aW9ucy5jaGFydE9wdGlvbnMubG9hZGluZy5jbGVhckRhdGFPblN5bWJvbENoYW5nZSYmKHRoaXMuX21haW5QbG90LmNsZWFyRGF0YSgpLHRoaXMuX21haW5QbG90LmRlbGV0ZVZpZXcoKSx0aGlzLl9zdHVkeVBsb3RzLmZvckVhY2goKHQ9PnQuY2xlYXJEYXRhKCkpKSx0aGlzLl9zdHVkeVBsb3RzLmZvckVhY2goKHQ9PnQuZGVsZXRlVmlldygpKSkpO3RoaXMuX21haW5QbG90LnNldFN5bWJvbCh0LHRoaXMuX29wdGlvbnMuY2hhcnRPcHRpb25zLnNlcmllcykmJih0aGlzLmNvbm5lY3RlZCgpJiYodGhpcy5fbWFpblBsb3QucmVxdWVzdERhdGEoKSx0aGlzLl9zdHVkeVBsb3RzLmZvckVhY2goKHQ9PnQucmVxdWVzdERhdGEoKSkpKSx0aGlzLmNvbm5lY3QoKSl9dXBkYXRlU2VyaWVzT3B0aW9ucyh0KXt0aGlzLl9hdG9taWNVcGRhdGVJc0dvaW5nPSEwLHRoaXMuX3VwZGF0ZVNlcmllc09wdGlvbnModCksdGhpcy5fbWFpblBsb3QudXBkYXRlU2VyaWVzT3B0aW9ucyh0KSx0aGlzLl91cGRhdGVTZXJpZXNVcERvd25Db2xvcnMoKSx0aGlzLl9hdG9taWNVcGRhdGVJc0dvaW5nPSExfWdldFNlcmllc09wdGlvbnMoKXtyZXR1cm4gdGhpcy5fbWFpblBsb3QuY3VycmVudFNlcmllc09wdGlvbnMoKX11cGRhdGVBZGRpdGlvbmFsU2VyaWVzT3B0aW9ucyh0LGUpe3RoaXMuX3N0dWR5UGxvdHNbZV0udXBkYXRlU2VyaWVzT3B0aW9ucyh0KX1zaG93TWVzc2FnZSh0KXt0aGlzLl9oaWRlTG9hZGluZygpLHRoaXMuX21haW5QbG90LmRlbGV0ZVZpZXcoKSx0aGlzLl9zdHVkeVBsb3RzLmZvckVhY2goKHQ9PnQuZGVsZXRlVmlldygpKSksdGhpcy5fdGV4dFdhdGVybWFyay5hcHBseU9wdGlvbnM/Lih7dmlzaWJsZTohMCxsaW5lczpbe2NvbG9yOiIjODM4ODhEIix0ZXh0OnQsZm9udFNpemU6MTJ9XX0pfWhpZGVNZXNzYWdlKCl7dGhpcy5fdGV4dFdhdGVybWFyay5hcHBseU9wdGlvbnM/Lih7dmlzaWJsZTohMSxsaW5lczpbXX0pfWZyb20oKXtjb25zdCB0PXRoaXMuX3RpbWVGcmFtZU9wdGlvbnMuZmluZCgodD0+KDAsZi5hcmVFcXVhbFRpbWVGcmFtZXMpKHQudmFsdWUsdGhpcy50aW1lZnJhbWUoKS52YWx1ZSgpKSkpO3JldHVyblt0Py5mcm9tXX1lbmFibGUodCl7dGhpcy5jb25uZWN0KHQpfWRpc2FibGUoKXt0aGlzLmRpc2Nvbm5lY3QoKX1kZXN0cm95KCl7dGhpcy5fYm91bmRUaW1lU2NhbGVTaXplQ2hhbmdlZEhhbmRsZXImJih0aGlzLl93aWRnZXQudGltZVNjYWxlKCkudW5zdWJzY3JpYmVTaXplQ2hhbmdlKHRoaXMuX2JvdW5kVGltZVNjYWxlU2l6ZUNoYW5nZWRIYW5kbGVyKSwKdGhpcy5fYm91bmRUaW1lU2NhbGVTaXplQ2hhbmdlZEhhbmRsZXI9dm9pZCAwKSx0aGlzLl9wYXJlbnRSZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCksdGhpcy5kaXNjb25uZWN0KCksdGhpcy5fd2lkZ2V0LnJlbW92ZSgpLHRoaXMuX21haW5QbG90LnN5bWJvbFJlc29sdmVkKCkudW5zdWJzY3JpYmVBbGwobnVsbCksdGhpcy5fbWFpblBsb3QudGltZUZyYW1lSW52YWxpZGF0ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9tYWluUGxvdC5kZXN0cm95KCksdGhpcy5fc3R1ZHlQbG90cy5mb3JFYWNoKCh0PT50LmRlc3Ryb3koKSkpLHRoaXMuX3RpbWVmcmFtZVZpZXc/LmRlc3Ryb3koKSx0aGlzLl9jaGFydFNlc3Npb25Db25uZWN0ZWQ/LmRlc3Ryb3koKSx0aGlzLl9jaGFydFNlc3Npb24/LmNyaXRpY2FsRXJyb3IoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9jaGFydFNlc3Npb24/LnJlbGVhc2UoKSxkZWxldGUgQVt0aGlzLl9pbm5lckNvbnRhaW5lci5kYXRhc2V0Lm1pbmlDaGFydElkXSx0aGlzLl9pbm5lckNvbnRhaW5lci5yZW1vdmUoKSx0aGlzLl9pc0Rlc3Ryb3llZD0hMH11cGRhdGVBdmFpbGFibGVUaW1lZnJhbWVzKCl7dGhpcy5fbWFpblBsb3Quc3ltYm9sSW5mbygpPyh0aGlzLl90aW1lZnJhbWVWaWV3JiZ0aGlzLl9vcHRpb25zLnRpbWVmcmFtZS52aXNpYmxlJiZ0aGlzLl90aW1lZnJhbWVWaWV3LnVwZGF0ZSh7cmFuZ2VzOnRoaXMuX2dldEF2YWlsYWJsZVRpbWVGcmFtZXMoKX0pLHRoaXMuc2V0VGltZWZyYW1lKHRoaXMuX3RpbWVmcmFtZS52YWx1ZSgpKSk6ay5sb2dXYXJuKCJVcGRhdGluZyBhdmFpbGFibGUgcmVzb2x1dGlvbnMgd2l0aG91dCBmdWxsIHN5bWJvbCBpbmZvIil9bWFpblBsb3QoKXtyZXR1cm4gdGhpcy5fbWFpblBsb3R9Zml0Q29udGVudCgpe3RoaXMuX21haW5QbG90LmZpdENvbnRlbnQoKX1oYXNTdHVkeVBsb3RzKCl7cmV0dXJuIHRoaXMuX3N0dWR5UGxvdHMubGVuZ3RoPjB9c3R1ZHlQbG90cygpe3JldHVybiB0aGlzLl9zdHVkeVBsb3RzT3JkZXJJbnZhbGlkYXRlZCYmKHRoaXMuX3N0dWR5UGxvdHMuc29ydChxKSx0aGlzLl9zdHVkeVBsb3RzT3JkZXJJbnZhbGlkYXRlZD0hMSksdGhpcy5fc3R1ZHlQbG90c31hZGRTdHVkeVBsb3QodCl7cmV0dXJuIHRoaXMuX2FkZFN0dWR5UGxvdCh0KSx7bm9EYXRhOnQubm9EYXRhKCksc3RhdHVzOnQuc3RhdHVzKCkscmVtb3ZlOigpPT57dGhpcy5fcmVtb3ZlU3R1ZHlQbG90KHQpfSxzeW1ib2w6KCk9PnQuc3ltYm9sKCksZXh0ZW5kZWRTeW1ib2w6KCk9PnQuZXh0ZW5kZWRTeW1ib2woKSxvcHRpb25zOigpPT50LmN1cnJlbnRTZXJpZXNPcHRpb25zKCl9fWluZGV4VG9UaW1lKHQpe2NvbnN0IGU9dGhpcy5fdGlja21hcmtzLnNpemU/dGhpcy5fdGlja21hcmtzOnRoaXMuX2NhY2hlZFRpY2ttYXJrcztyZXR1cm4gZS5nZXQodCk/LnRpbWU/P251bGx9c3Vic2NyaWJlQ3Jvc3NoYWlyTW92ZSh0KXtjb25zdCBlPWU9Pnt0aGlzLl9hdG9taWNVcGRhdGVJc0dvaW5nfHx0KGUpfTt0aGlzLl9jcm9zc2hhaXJNb3ZlSGFuZGxlcnMuc2V0KHQsZSksdGhpcy5fd2lkZ2V0LnN1YnNjcmliZUNyb3NzaGFpck1vdmUoZSl9dW5zdWJzY3JpYmVDcm9zc2hhaXJNb3ZlKHQpe2NvbnN0IGU9dGhpcy5fY3Jvc3NoYWlyTW92ZUhhbmRsZXJzLmdldCh0KTtlJiYodGhpcy5fY3Jvc3NoYWlyTW92ZUhhbmRsZXJzLmRlbGV0ZSh0KSx0aGlzLl93aWRnZXQudW5zdWJzY3JpYmVDcm9zc2hhaXJNb3ZlKGUpKX11cERvd25Db2xvcnModCl7cmV0dXJuIHRoaXMuX3Nlcmllc1VwRG93bkNvbG9yc1t0XXx8dGhpcy5fdXBkYXRlU2VyaWVzVXBEb3duQ29sb3JzSW1wbCgpLHRoaXMuX3Nlcmllc1VwRG93bkNvbG9yc1t0XT8/bnVsbH1kYXRlVGltZUZvcm1hdHRlcigpe3JldHVybiB0aGlzLl9kYXRlVGltZUZvcm1hdHRlcn1pc0RXTVJlc29sdXRpb24oKXtyZXR1cm4gdGhpcy5faXNEV01SZXNvbHV0aW9ufXVwZGF0ZUNoYXJ0UmlnaHRNYXJnaW5BY2NvcmRpbmdUb1RpdGxlcygpe2NvbnN0IHQ9dGhpcy5tYWluUGxvdCgpLmN1cnJlbnRTZXJpZXNPcHRpb25zKCkuaG9yek1hcmdpbnM/LnJpZ2h0UHg7aWYodCl0aGlzLm1haW5QbG90KCkudXBkYXRlSG9yek1hcmdpbnMoe3JpZ2h0UHg6dH0pO2Vsc2V7Y29uc3QgdD1bdGhpcy5tYWluUGxvdCgpLC4uLnRoaXMuX3N0dWR5UGxvdHNdO2xldCBlPTA7Zm9yKGNvbnN0IGkgb2YgdClmb3IoY29uc3QgdCBvZiBpLnRpdGxlcygpKWU9TWF0aC5tYXgoZSx0Lmxlbmd0aCk7dGhpcy5tYWluUGxvdCgpLnVwZGF0ZUhvcnpNYXJnaW5zKHtyaWdodFB4OjEyKmV9KX10aGlzLm1haW5QbG90KCkuZml0Q29udGVudCgpfWFjdGl2ZVJhbmdlKCl7cmV0dXJuIHRoaXMuX2FjdGl2ZVJhbmdlfXRpbWVTY2FsZVNpemVDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3RpbWVTY2FsZVNpemVDaGFuZ2VkfV9nZXRDaGFydFBsb3RDbGFzcygpe3JldHVybiBQLk1pbmlDaGFydFBsb3R9X2NyZWF0ZU1haW5QbG90KHQpe2NvbnN0IGU9KDAsZi5jb252ZXJ0VGltZUZyYW1lVG9TdHIpKHRoaXMuX3RpbWVmcmFtZS52YWx1ZSgpKSxpPW5ldyh0aGlzLl9nZXRDaGFydFBsb3RDbGFzcygpKSh0aGlzLHRoaXMuX29wdGlvbnMuY2hhcnRPcHRpb25zLnNlcmllcyx0aGlzLl9vcHRpb25zLmNoYXJ0T3B0aW9ucy52b2x1bWUsKCgpPT50aGlzLl9zdHVkeVBsb3RzKSx0aGlzLl9vcHRpb25zLm1haW5QbG90T3B0aW9ucyx0aGlzLl9vcHRpb25zLmNhY2hlPy5sb2FkRGF0YShlKT8ubWFpblBsb3QpO3JldHVybiBpLnNldFN5bWJvbCh0KSxpLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TeW1ib2xSZXNvbHZlZCksaS50aW1lRnJhbWVJbnZhbGlkYXRlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uVGltZUZyYW1lSW52YWxpZGF0ZWQpLGkuc3RhdHVzKCkuc3Vic2NyaWJlKHRoaXMuX29uUGxvdFN0YXR1c0NoYW5nZWQpLGl9X29uUGxvdHNEYXRhUmVhZHkoKXsiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5fb3B0aW9ucy5vbkZpcnN0RGF0YSYmKHRoaXMuX29wdGlvbnMub25GaXJzdERhdGEoKSwKdGhpcy5fb3B0aW9ucy5vbkZpcnN0RGF0YT1udWxsKSx0aGlzLl9oaWRlTG9hZGluZygpLHRoaXMuaGlkZU1lc3NhZ2UoKSx0aGlzLl9jbGVhck5vRGF0YVRpbWVvdXQoKSx0aGlzLl9vcHRpb25zLmRvTm90RGlzY29ubmVjdE9uRGF0YVJlYWR5fHx0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLl9jcmVhdGVSZWNvbm5lY3Rpb25UaW1lb3V0KCksdGhpcy5fc2F2ZUNhY2hlKCl9X2FkZFN0dWR5UGxvdCh0KXt0aGlzLl9zdHVkeVBsb3RzLnB1c2godCksdC5zdGF0dXMoKS5zdWJzY3JpYmUodGhpcy5fb25QbG90U3RhdHVzQ2hhbmdlZCksdGhpcy5jb25uZWN0ZWQoKT90LnJlcXVlc3REYXRhKCk6dGhpcy5jb25uZWN0KCksdC5mb3JjZVBlcmNlbnRhZ2VNb2RlKCkmJnRoaXMuX21haW5QbG90LnN3aXRjaFRvUGVyY2VudGFnZVNjYWxlTW9kZSgpLHRoaXMuX3VwZGF0ZVN0YXR1cygpLHRoaXMuX3N0dWR5UGxvdHNPcmRlckludmFsaWRhdGVkPSEwfV9yZW1vdmVTdHVkeVBsb3QodCl7Y29uc3QgZT10aGlzLl9zdHVkeVBsb3RzLmluZGV4T2YodCk7KDAsbC5hc3NlcnQpKC0xIT09ZSksdGhpcy5fc3R1ZHlQbG90cy5zcGxpY2UoZSwxKSx0LnN0YXR1cygpLnVuc3Vic2NyaWJlKHRoaXMuX29uUGxvdFN0YXR1c0NoYW5nZWQpLHQuZGVsZXRlVmlldygpLHQuY2xlYXJEYXRhKCksdC5kZXN0cm95KCksdGhpcy5fYXV0b1Jlc3RvcmVPcmlnaW5hbFNjYWxlTW9kZSgpJiZ0aGlzLl9zdHVkeVBsb3RzLmV2ZXJ5KCh0PT4hdC5mb3JjZVBlcmNlbnRhZ2VNb2RlKCkpKSYmdGhpcy5fbWFpblBsb3QucmVzdG9yZU9yaWdpbmFsU2NhbGVNb2RlKCksdGhpcy5fc3R1ZHlQbG90c09yZGVySW52YWxpZGF0ZWQ9ITAsdGhpcy5fdXBkYXRlU3RhdHVzKCl9X2F1dG9SZXN0b3JlT3JpZ2luYWxTY2FsZU1vZGUoKXtyZXR1cm4hMH1fdXBkYXRlU2VyaWVzVXBEb3duQ29sb3JzKCl7dGhpcy5fc2VyaWVzVXBEb3duQ29sb3JzPXt9fV91cGRhdGVTZXJpZXNVcERvd25Db2xvcnNJbXBsKCl7Y29uc3QgdD10aGlzLl9vcHRpb25zLmNoYXJ0T3B0aW9ucy5zZXJpZXMsZT10aGlzLl9tYWluUGxvdC5zZXJpZXMoKS5vcHRpb25zKCk7c3dpdGNoKHQuY2hhcnRUeXBlKXtjYXNlImNhbmRsZXN0aWNrcyI6Y29uc3QgaT1lO3RoaXMuX3Nlcmllc1VwRG93bkNvbG9ycy5DYW5kbGVzdGljaz17dXA6dC5ib3JkZXJVcENvbG9yPz90LnVwQ29sb3I/P2kuYm9yZGVyVXBDb2xvcj8/aS51cENvbG9yLGRvd246dC5ib3JkZXJEb3duQ29sb3I/P3QuZG93bkNvbG9yPz9pLmJvcmRlckRvd25Db2xvcj8/aS5kb3duQ29sb3J9O2JyZWFrO2Nhc2UiYmFycyI6Y29uc3Qgcz1lO3RoaXMuX3Nlcmllc1VwRG93bkNvbG9ycy5CYXI9e3VwOnQudXBDb2xvcj8/cy51cENvbG9yLGRvd246dC5kb3duQ29sb3I/P3MuZG93bkNvbG9yfTticmVhaztjYXNlImhpc3RvZ3JhbSI6Y29uc3QgYT1lO3RoaXMuX3Nlcmllc1VwRG93bkNvbG9ycy5IaXN0b2dyYW09e3VwOnQudXBDb2xvcj8/dC5jb2xvcj8/YS5jb2xvcixkb3duOnQuZG93bkNvbG9yPz90LmNvbG9yPz9hLmNvbG9yfX19X3VwZGF0ZVNlcmllc09wdGlvbnModCl7dGhpcy5fb3B0aW9ucy5jaGFydE9wdGlvbnMuc2VyaWVzPWZ1bmN0aW9uKHQpe2xldCBlO3N3aXRjaCh0LmNoYXJ0VHlwZT8/ImFyZWEiKXtjYXNlImJhcnMiOmU9UjticmVhaztjYXNlImNhbmRsZXN0aWNrcyI6ZT1WO2JyZWFrO2Nhc2UiYXJlYSI6ZT14O2JyZWFrO2Nhc2UibGluZSI6ZT1PO2JyZWFrO2Nhc2UiaGlzdG9ncmFtIjplPXo7YnJlYWs7Y2FzZSJwcmV0dHktaGlzdG9ncmFtIjplPUU7YnJlYWs7Y2FzZSJiYXNlbGluZSI6ZT1GfXJldHVybigwLGEuZGVmYXVsdCkoe30sZSx0KX0odCl9X3NhdmVDYWNoZSgpe2NvbnN0e2NhY2hlOnR9PXRoaXMuX29wdGlvbnM7aWYoIXQpcmV0dXJuO2NvbnN0IGU9dGhpcy5fcHJlcGFyZUNhY2hlRGF0YSgpLGk9KDAsZi5jb252ZXJ0VGltZUZyYW1lVG9TdHIpKHRoaXMuX3RpbWVmcmFtZS52YWx1ZSgpKTtlJiYodC5zYXZlRGF0YShpLGUpLHRoaXMuX2NhY2hlZFRpY2ttYXJrcz1lLnRpY2ttYXJrcyl9X3ByZXBhcmVDYWNoZURhdGEoKXtpZighdGhpcy5fdGlja21hcmtzLnNpemUpcmV0dXJuIG51bGw7Y29uc3QgdD10aGlzLl9tYWluUGxvdC5jYWNoZURhdGEoKTtyZXR1cm4gdD97bWFpblBsb3Q6dCx0aWNrbWFya3M6bmV3IE1hcCh0aGlzLl90aWNrbWFya3MpfTpudWxsfV9vbk1haW5QbG90RGF0YUVycm9yKCl7dGhpcy5faGlkZUxvYWRpbmcoKSx0aGlzLnNob3dNZXNzYWdlKG4udChudWxsLHZvaWQgMCxpKDg3MjM4KSkpLHRoaXMuX2NsZWFyTm9EYXRhVGltZW91dCgpLHRoaXMuZGlzY29ubmVjdCgpfV9vbk1haW5QbG90U3ltYm9sUmVzb2x2aW5nRXJyb3IoKXt0aGlzLl9oaWRlTG9hZGluZygpLHRoaXMuc2hvd01lc3NhZ2Uobi50KG51bGwsdm9pZCAwLGkoMTQ2ODA3KSkpLHRoaXMuX2NsZWFyTm9EYXRhVGltZW91dCgpLHRoaXMuZGlzY29ubmVjdCgpfV9jcmVhdGVSZWNvbm5lY3Rpb25UaW1lb3V0KCl7aWYodGhpcy5fb3B0aW9ucy5kb05vdERpc2Nvbm5lY3RPbkRhdGFSZWFkeSlyZXR1cm47Y29uc3QgdD10aGlzLl9vcHRpb25zLnVwZGF0ZVRpbWVvdXQ7dm9pZCAwIT09dCYmdD4wJiYodGhpcy5fdXBkYXRlVGltZXJJZD1zZXRUaW1lb3V0KCgoKT0+e3RoaXMuX3VwZGF0ZVRpbWVySWQ9bnVsbCx0aGlzLmNvbm5lY3RlZCgpP3RoaXMuX3JlcXVlc3REYXRhKCk6dGhpcy5jb25uZWN0KCl9KSx0KSl9X2NsZWFyUmVjb25uZWN0aW9uVGltZW91dCgpe251bGwhPT10aGlzLl91cGRhdGVUaW1lcklkJiYoY2xlYXJJbnRlcnZhbCh0aGlzLl91cGRhdGVUaW1lcklkKSx0aGlzLl91cGRhdGVUaW1lcklkPW51bGwpfV9jcmVhdGVOb0RhdGFUaW1lb3V0KCl7Y29uc3QgdD10aGlzLl9vcHRpb25zLm5vRGF0YVRpbWVvdXQ7dm9pZCAwIT09dCYmdD4wJiYodGhpcy5fbG9hZEVycm9yVGltZW91dD1zZXRUaW1lb3V0KCgoKT0+e3RoaXMuc2hvd01lc3NhZ2Uobi50KG51bGwsdm9pZCAwLGkoMTQ2ODA3KSkpLAoiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5fb3B0aW9ucy5vbkZpcnN0RGF0YSYmKHRoaXMuX29wdGlvbnMub25GaXJzdERhdGEoKSx0aGlzLl9vcHRpb25zLm9uRmlyc3REYXRhPW51bGwpfSksdCkpfV9jbGVhck5vRGF0YVRpbWVvdXQoKXt0aGlzLl9sb2FkRXJyb3JUaW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMuX2xvYWRFcnJvclRpbWVvdXQpLHRoaXMuX2xvYWRFcnJvclRpbWVvdXQ9bnVsbCl9X2luaXRUaW1lZnJhbWVzUmVuZGVyZXIoKXtpZighdGhpcy5fb3B0aW9ucy50aW1lZnJhbWUudmlzaWJsZSlyZXR1cm47e2NvbnN0IHQ9dGhpcy5fdGltZUZyYW1lT3B0aW9ucy5sZW5ndGg8MjtpZih0aGlzLl90aW1lZnJhbWVWaWV3Py51cGRhdGUoe2hpZGRlbjp0fSksKHRoaXMuX2VsVGltZWZyYW1lPz90aGlzLl9vcHRpb25zLnRpbWVmcmFtZS5jb250YWluZXIpPy5jbGFzc0xpc3QudG9nZ2xlKHcuaGlkZGVuLHQpLHQpcmV0dXJufWlmKHRoaXMuX2VsVGltZWZyYW1lKXJldHVybjt0aGlzLl9vcHRpb25zLnRpbWVmcmFtZS5jb250YWluZXI/dGhpcy5fZWxUaW1lZnJhbWU9dGhpcy5fb3B0aW9ucy50aW1lZnJhbWUuY29udGFpbmVyOih0aGlzLl9lbFRpbWVmcmFtZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9jb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5fZWxUaW1lZnJhbWUpKTtjb25zdCB0PSh0LGUpPT57Y29uc3QgaT10aGlzLl90aW1lRnJhbWVPcHRpb25zLmxlbmd0aDwyLHM9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9lbFRpbWVmcmFtZSk7cy5jbGFzc0xpc3QudG9nZ2xlKHcuaGlkZGVuLGkpLHRoaXMuX3RpbWVmcmFtZVZpZXc9bmV3IHQuVGltZUZyYW1lVmlld1JlbmRlcmVyKHMse25hbWU6Im1pbmljaGFydF90aW1lZnJhbWUiLGFjdGl2ZVJhbmdlOnRoaXMuX2FjdGl2ZVJhbmdlLHJhbmdlczp0aGlzLl9nZXRBdmFpbGFibGVUaW1lRnJhbWVzKCksb25TZWxlY3RSYW5nZTp0PT57dGhpcy5zZXRUaW1lZnJhbWUoe3ZhbHVlOnQsdHlwZToicGVyaW9kLWJhY2sifSl9LHNpemU6dGhpcy5fb3B0aW9ucy50aW1lZnJhbWUuc2l6ZSxoaWRkZW46aSx0aGVtZTplfSl9O1Byb21pc2UuYWxsKFtpLmUoMTIzODUpLGkuZSg4MDc4MiksaS5lKDMyMzg3KSxpLmUoNDQxNjIpXSkudGhlbihpLmJpbmQoaSwzOTU2MjUpKS50aGVuKChlPT57KHRoaXMuX29wdGlvbnMudGltZWZyYW1lLmdldFRoZW1lfHwoKCk9PlByb21pc2UucmVzb2x2ZSh2b2lkIDApKSkoKS50aGVuKChpPT50KGUsaSkpKX0pKX1fY3JlYXRlTGVnZW5kKCl7dGhpcy5fb3B0aW9ucy5sZWdlbmQmJnRoaXMuX29wdGlvbnMubGVnZW5kLnZpc2libGUmJlByb21pc2UuYWxsKFtpLmUoMzAzNzMpLGkuZSg1Njg5KSxpLmUoNjU4MyksaS5lKDMyMzg3KSxpLmUoMTY0NildKS50aGVuKGkuYmluZChpLDI5NzY1MCkpLnRoZW4oKHQ9PnQuY3JlYXRlTGVnZW5kKHRoaXMuX29wdGlvbnMubGVnZW5kLmNvbnRhaW5lcix0aGlzLl9vcHRpb25zLmxlZ2VuZC5pdGVtcykpKX1fZ2V0QXZhaWxhYmxlVGltZUZyYW1lcygpe2NvbnN0IHQ9W107Zm9yKGNvbnN0IGUgb2YgdGhpcy5fdGltZUZyYW1lT3B0aW9ucyl7aWYoIXRoaXMuX3RpbWVmcmFtZUlzQXZhaWxhYmxlKGUudmFsdWUpKWNvbnRpbnVlO2NvbnN0IGk9KDAsZi5jb252ZXJ0VGltZUZyYW1lVG9TdHIpKGUudmFsdWUpO3QucHVzaCh7dmFsdWU6aSx0ZXh0OmUudGV4dCxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9ufSl9cmV0dXJuIHR9X3RpbWVmcmFtZUlzQXZhaWxhYmxlKHQpe2NvbnN0IGU9dGhpcy5fdGltZUZyYW1lT3B0aW9ucy5maW5kKChlPT4oMCxmLmFyZUVxdWFsVGltZUZyYW1lcykoZS52YWx1ZSx0KSkpO2lmKCFlKXJldHVybiExO2NvbnN0IGk9dGhpcy5tYWluUGxvdCgpLnN5bWJvbEluZm8oKTtpZighaXx8aS5wcm9fbmFtZSE9PXRoaXMuX21haW5QbG90LnN5bWJvbCgpKXJldHVybiEwO2lmKGkuaGFzX2ludHJhZGF5KXJldHVybiEwO3JldHVybiF1LkludGVydmFsLnBhcnNlKGUudGFyZ2V0UmVzb2x1dGlvbikuaXNJbnRyYWRheSgpfV9vbkNoYXJ0U2Vzc2lvbklzQ29ubmVjdGVkQ2hhbmdlZCh0KXt0IT09dGhpcy5fY29ubmVjdGVkJiYodD8odGhpcy5fY29ubmVjdGVkPSEwLCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLl9jb25uZWN0Q2FsbGJhY2smJnRoaXMuX2Nvbm5lY3RDYWxsYmFjaygpLHRoaXMuX2NoYXJ0U2Vzc2lvbj8uc3dpdGNoVGltZXpvbmUoIkV0Yy9VVEMiKSx0aGlzLl9yZXF1ZXN0RGF0YSgpKToodGhpcy5fY29ubmVjdGVkPSExLHRoaXMuX21haW5QbG90LmRpc2Nvbm5lY3QoKSx0aGlzLl9zdHVkeVBsb3RzLmZvckVhY2goKHQ9PnQuZGlzY29ubmVjdCgpKSkpKX1fb25DaGFydFNlc3Npb25Dcml0aWNhbEVycm9yKCl7dGhpcy5fY29ubmVjdGVkPSExfV9jcmVhdGVUb29sdGlwRGF0ZUZvcm1hdHRlcigpe2NvbnN0IHQ9dS5JbnRlcnZhbC5wYXJzZSh0aGlzLnJlc29sdXRpb24oKSk7bGV0IGU7dGhpcy5faXNEV01SZXNvbHV0aW9uPXQuaXNEV00oKSx0aGlzLl93aWRnZXQudGltZVNjYWxlKCkuYXBwbHlPcHRpb25zKHt0aW1lVmlzaWJsZTohdGhpcy5faXNEV01SZXNvbHV0aW9uLHNlY29uZHNWaXNpYmxlOnQuaXNTZWNvbmRzKCl9KTtjb25zdHtkYXRlRm9ybWF0Omk9ImRkIE1NTSAneXkiLHRpbWVIb3Vyc0Zvcm1hdDpzPSIyNC1ob3VycyIsc3VwcHJlc3NUaWNrTWFya3M6YX09dGhpcy5fb3B0aW9ucy5jaGFydE9wdGlvbnM7ZT10aGlzLl9pc0RXTVJlc29sdXRpb24/bmV3IGMuRGF0ZUZvcm1hdHRlcihpKTpuZXcgZC5EYXRlVGltZUZvcm1hdHRlcih7ZGF0ZUZvcm1hdDppLHRpbWVGb3JtYXQ6KDAsZy5nZXRUaW1lRm9ybWF0Rm9ySW50ZXJ2YWwpKHQscyl9KSx0aGlzLl9kYXRlVGltZUZvcm1hdHRlcj1lLHRoaXMuX3dpZGdldC5hcHBseU9wdGlvbnMoe2xvY2FsaXphdGlvbjp7dGltZUZvcm1hdHRlcjp0PT5lLmZvcm1hdChuZXcgRGF0ZSgxZTMqdCkpfSx0aW1lU2NhbGU6e3RpY2tNYXJrRm9ybWF0dGVyOkguYmluZChudWxsLHMsYSx0aGlzLl90aW1lZnJhbWUudmFsdWUoKSl9fSksdGhpcy5fd2lkZ2V0LmFwcGx5T3B0aW9ucyh7dGltZVNjYWxlOnsKdGltZVZpc2libGU6IXUuSW50ZXJ2YWwucGFyc2UodGhpcy5fbWFpblBsb3QucmVzb2x1dGlvbigpKS5pc0RXTSgpfX0pfV9yZXF1ZXN0RGF0YSgpe3RoaXMuX2NyZWF0ZVRvb2x0aXBEYXRlRm9ybWF0dGVyKCksdGhpcy5fY2xlYXJSZWNvbm5lY3Rpb25UaW1lb3V0KCksdGhpcy5fbWFpblBsb3QucmVxdWVzdERhdGEoKSx0aGlzLl9zdHVkeVBsb3RzLmZvckVhY2goKHQ9PnQucmVxdWVzdERhdGEoKSkpfV9vbkRhdGEodCl7aWYodGhpcy5fbWFpblBsb3QuaXNDb25uZWN0ZWQoKSlzd2l0Y2godC5tZXRob2Qpe2Nhc2UidGltZXNjYWxlX3VwZGF0ZSI6e2NvbnN0IGU9dC5wYXJhbXM7aWYoZS5jbGVhcil7dGhpcy5fdGlja21hcmtzLmNsZWFyKCksdGhpcy5fbWFpblBsb3QuY2xlYXJTb3VyY2VEYXRhKCk7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fc3R1ZHlQbG90cyl0LmNsZWFyU291cmNlRGF0YSgpfWlmKGUuaW5kZXhfZGlmZi5sZW5ndGg+MCl7dGhpcy5fbWFpblBsb3QubW92ZVNvdXJjZURhdGEoZS5pbmRleF9kaWZmKTtmb3IoY29uc3QgdCBvZiB0aGlzLl9zdHVkeVBsb3RzKXQubW92ZVNvdXJjZURhdGEoZS5pbmRleF9kaWZmKX1jb25zdCBpPWUubWFya3M7bGV0IHM9MS8wLGE9LTEvMDtmb3IoY29uc3QgdCBvZiBpKXRoaXMuX3RpY2ttYXJrcy5oYXModC5pbmRleCl8fChzPU1hdGgubWluKHMsdC5pbmRleCksYT1NYXRoLm1heChhLHQuaW5kZXgpKSx0aGlzLl90aWNrbWFya3Muc2V0KHQuaW5kZXgsdCk7TnVtYmVyLmlzRmluaXRlKHMpJiZ0aGlzLl9tYWluUGxvdC5vblRpY2ttYXJrc0FkZGVkKHMsYSksdGhpcy5fc2F2ZUNhY2hlKCk7YnJlYWt9fX1fb25TeW1ib2xSZXNvbHZlZCgpe3RoaXMudXBkYXRlQXZhaWxhYmxlVGltZWZyYW1lcygpLHRoaXMuX2luaXRUaW1lZnJhbWVzUmVuZGVyZXIoKX1fb25UaW1lRnJhbWVJbnZhbGlkYXRlZCgpe3RoaXMuX2FjdGl2ZVJhbmdlPXZvaWQgMCx0aGlzLl90aW1lZnJhbWVWaWV3Py51cGRhdGUoe2FjdGl2ZVJhbmdlOnZvaWQgMH0pfV9zaG93TG9hZGluZygpe2lmKHRoaXMuX2lzTG9hZGluZylyZXR1cm47dGhpcy5oaWRlTWVzc2FnZSgpO2NvbnN0IHQ9dGhpcy5fb3B0aW9ucy5jaGFydE9wdGlvbnMubG9hZGluZzt0LnNwaW5uZXIudmlzaWJsZSYmKG51bGw9PT10aGlzLl9zcGlubmVyJiYodGhpcy5fc3Bpbm5lcj1uZXcgdi5TcGlubmVyKCJtaW5pIikuc2V0U3R5bGUoe2NvbG9yOnQuc3Bpbm5lci5jb2xvcix3aWR0aDp0LnNwaW5uZXIud2lkdGgudG9TdHJpbmcoKSx6SW5kZXg6IjEwIn0pKSx0aGlzLl9zcGlubmVyLnNwaW4odGhpcy5faW5uZXJDb250YWluZXIpKSx0LmZhZGUudmlzaWJsZSYmdGhpcy5faW5uZXJDb250YWluZXIuY2xhc3NMaXN0LmFkZCh3LmZhZGUpLHRoaXMuX2lzTG9hZGluZz0hMH1faGlkZUxvYWRpbmcoKXt0aGlzLl9pc0xvYWRpbmcmJih0aGlzLl9zcGlubmVyJiZ0aGlzLl9zcGlubmVyLnN0b3AoKSx0aGlzLl9pc0xvYWRpbmc9ITEpfV9yZXF1ZXN0RGF0YU9uVGltZWZyYW1lQ2hhbmdlKCl7dGhpcy5fb3B0aW9ucy5jaGFydE9wdGlvbnMubG9hZGluZy5jbGVhckRhdGFPblRpbWVmcmFtZUNoYW5nZSYmKHRoaXMuX3N0dWR5UGxvdHMuZm9yRWFjaCgodD0+dC5jbGVhckRhdGEoKSkpLHRoaXMuX3N0dWR5UGxvdHMuZm9yRWFjaCgodD0+dC5kZWxldGVWaWV3KCkpKSx0aGlzLm1haW5QbG90KCkuY2xlYXJEYXRhKCksdGhpcy5tYWluUGxvdCgpLmRlbGV0ZVZpZXcoKSksdGhpcy5jb25uZWN0ZWQoKT90aGlzLl9yZXF1ZXN0RGF0YSgpOnRoaXMuY29ubmVjdCgpfV91cGRhdGVTdGF0dXMoKXtjb25zdCB0PVt0aGlzLl9tYWluUGxvdC5zdGF0dXMoKS52YWx1ZSgpLC4uLnRoaXMuX3N0dWR5UGxvdHMubWFwKCh0PT50LnN0YXR1cygpLnZhbHVlKCkpKV0sZT10LmV2ZXJ5KCh0PT4wIT09dCkpPzM9PT10WzBdPyJyZWFkeSI6ImVycm9yIjoibG9hZGluZyI7dGhpcy5fc3RhdHVzLnNldFZhbHVlKGUpfV90aW1lU2NhbGVTaXplQ2hhbmdlZEhhbmRsZXIodCxlKXt0aGlzLl90aW1lU2NhbGVTaXplQ2hhbmdlZC5maXJlKHQsZSl9fX0sMTQ2MDU4KHQsZSxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyh0KXtyZXR1cm4gdC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiZGl2IikuaXRlbSgwKT8uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRhYmxlIikuaXRlbSgwKT8uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRyIikuaXRlbSgwKT8uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRkIikuaXRlbSgxKT8uZ2V0RWxlbWVudHNCeVRhZ05hbWUoImRpdiIpLml0ZW0oMCk/P251bGx9aS5kKGUse2dldENoYXJ0TGF5b3V0Q29udGFpbmVyOigpPT5zfSl9LDU4NjI0Nyh0LGUsaSl7InVzZSBzdHJpY3QiO2kuZChlLHtNaW5pQ2hhcnRQbG90OigpPT5jfSk7dmFyIHMsYT1pKDc0MDE2Mik7IWZ1bmN0aW9uKHQpe3QuRGVmYXVsdD0iZGVmYXVsdCIsdC5GdWxsU2luZ2xlU2Vzc2lvbj0iZnVsbF9zaW5nbGVfc2Vzc2lvbiJ9KHN8fChzPXt9KSk7dmFyIG49aSg5MzYzMjYpLHI9aSg4NTcxNTEpLG89aSgxMjE0NzkpLGg9aSg4MzcyMDMpLGw9aSgyNDIxNzEpO2NsYXNzIGMgZXh0ZW5kcyBsLk1pbmlDaGFydFBsb3RCYXNle2NvbnN0cnVjdG9yKHQsZSxpLHMsbixyKXtzdXBlcih0LGUsaSxuKSx0aGlzLl9zZXJpZXNEYXRhU291cmNlPW51bGwsdGhpcy5fY2FjaGVkRGF0YT1udWxsLHRoaXMuX3N0dWR5UGxvdHM9cyx0aGlzLl9vcHRpb25zPW4sdGhpcy5faG9yek1hcmdpbnM9KDAsYS5kZWZhdWx0KSh7fSxsLnNlcmllc0hvcnpNYXJnaW5zRGVmYXVsdHMsZS5ob3J6TWFyZ2lucyksciYmdGhpcy5fbG9hZENhY2hlKHIpfWRlc3Ryb3koKXt0aGlzLl9zZXJpZXNEYXRhU291cmNlPy5kZXN0cm95KCksc3VwZXIuZGVzdHJveSgpfXVwZGF0ZUhvcnpNYXJnaW5zKHQpe3RoaXMuX2hvcnpNYXJnaW5zPSgwLGEuZGVmYXVsdCkodGhpcy5faG9yek1hcmdpbnMsdCksdGhpcy5fbWluaUNoYXJ0LmZpdENvbnRlbnQoKX1yZWxvYWRDYWNoZSh0KXt0aGlzLl9jYWNoZT10LHQ/dGhpcy5fbG9hZENhY2hlKHQpOih0aGlzLl9taW5CYXJJbmRleD1udWxsLHRoaXMuX21heEJhckluZGV4PW51bGwsCnRoaXMuX2NhY2hlZERhdGE9bnVsbCx0aGlzLl9vbkRhdGEoKS50aGVuKCgoKT0+e3RoaXMuZml0Q29udGVudCgpfSkpKX1yZXF1ZXN0RGF0YSgpe2NvbnN0IHQ9dGhpcy5fZ2V0U2VyaWVzRGF0YVNvdXJjZSgpO3RoaXMuX3N0YXR1cy5zZXRWYWx1ZSgwKSx0aGlzLl9ub0RhdGEuc2V0VmFsdWUobnVsbCksdC5tb2RpZnlTZXJpZXModGhpcy5leHRlbmRlZFN5bWJvbCgpLCgwLG8uZ2V0U2VydmVySW50ZXJ2YWwpKHRoaXMucmVzb2x1dGlvbigpKSx0aGlzLl9taW5pQ2hhcnQudGltZWZyYW1lKCkudmFsdWUoKSksdC5pc1N0YXJ0ZWQoKXx8dC5zdGFydCgpfWNsZWFyU291cmNlRGF0YSgpe3RoaXMuX3Nlcmllc0RhdGFTb3VyY2U/LmNsZWFyRGF0YSgpLHRoaXMuX3N0dWR5UGxvdHMoKS5mb3JFYWNoKCh0PT50LmNsZWFyU291cmNlRGF0YSgpKSl9bW92ZVNvdXJjZURhdGEodCl7dGhpcy5fc2VyaWVzRGF0YVNvdXJjZT8ubW92ZURhdGEodCl9b25UaWNrbWFya3NBZGRlZCh0LGUpe2NvbnN0IGk9dGhpcy5tYXhCYXJJbmRleCgpO3RoaXMuX2lzTGFzdFNlc3Npb25JbnRlcnZhbC52YWx1ZSgpJiZudWxsIT09aSYmaT49dCYmaTw9ZSYmKHRoaXMudXBkYXRlRGF0YSghMSwhMCksdGhpcy5maXRDb250ZW50KCkpfWRpc2Nvbm5lY3QoKXt0aGlzLl9zZXJpZXNEYXRhU291cmNlPy5zdG9wKCl9aXNDb25uZWN0ZWQoKXtyZXR1cm4gQm9vbGVhbih0aGlzLl9zZXJpZXNEYXRhU291cmNlPy5pc1N0YXJ0ZWQoKSl9Y2xlYXJEYXRhKCl7aWYoc3VwZXIuY2xlYXJEYXRhKCksdGhpcy5fbWluQmFySW5kZXg9bnVsbCx0aGlzLl9tYXhCYXJJbmRleD1udWxsLG51bGwhPT10aGlzLl9zZXJpZXNEYXRhU291cmNlJiYodGhpcy5fc2VyaWVzRGF0YVNvdXJjZS5zdG9wKCksdGhpcy5jbGVhclNvdXJjZURhdGEoKSksdGhpcy5fY2FjaGUpe2NvbnN0e21pbkJhckluZGV4OnQsbWF4QmFySW5kZXg6ZSxzeW1ib2xJbmZvOml9PXRoaXMuX2NhY2hlO3RoaXMuX21pbkJhckluZGV4PXQsdGhpcy5fbWF4QmFySW5kZXg9ZSxpJiYodGhpcy5fc3ltYm9sSW5mbz1pLHRoaXMuX3N5bWJvbEluZm9XVi5zZXRWYWx1ZShpKSx0aGlzLl9pbml0QmFyQnVpbGRlcihpKS50aGVuKCgoKT0+e3RoaXMuX2lzRGVzdHJveWVkLnZhbHVlKCl8fHRoaXMuX29uRGF0YSgpLnRoZW4oKCgpPT57dGhpcy5maXRDb250ZW50KCl9KSl9KSkpfX1zZXJpZXNEYXRhU291cmNlKCl7cmV0dXJuIHRoaXMuX2dldFNlcmllc0RhdGFTb3VyY2UoKX1maXJzdEJhcigpe3JldHVybigwLGwuaXNUaW1lUG9pbnRJbmRleCkodGhpcy5fbWluQmFySW5kZXgpP3RoaXMuX2JhcnMoKS5zZWFyY2godGhpcy5fbWluQmFySW5kZXgpOnRoaXMuX2JhcnMoKS5maXJzdCgpfWxhc3RCYXIoKXtyZXR1cm4oMCxsLmlzVGltZVBvaW50SW5kZXgpKHRoaXMuX21heEJhckluZGV4KT90aGlzLl9iYXJzKCkuc2VhcmNoKHRoaXMuX21heEJhckluZGV4LG4uUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdExlZnQpOnRoaXMuX2JhcnMoKS5sYXN0KCl9Y2FjaGVEYXRhKCl7Y29uc3QgdD10aGlzLl9zZXJpZXNEYXRhU291cmNlPy5kYXRhKCk/LmNsb25lKCksZT10aGlzLl9zeW1ib2xJbmZvLGk9dGhpcy5fbWluQmFySW5kZXgscz10aGlzLl9tYXhCYXJJbmRleDtyZXR1cm4gdCYmbnVsbCE9PWUmJm51bGwhPT1pJiZudWxsIT09cz97ZGF0YTp0LHN5bWJvbEluZm86ZSxtaW5CYXJJbmRleDppLG1heEJhckluZGV4OnN9Om51bGx9Zml0Q29udGVudCgpe2lmKG51bGw9PT10aGlzLl9kYXRhTGVuZ3RoSW5mb3x8MD09PXRoaXMuX2RhdGFMZW5ndGhJbmZvLmhpc3RvcnkpcmV0dXJuO2NvbnN0e2hpc3Rvcnk6dCxyZWFsdGltZTplLHdoaXRlc3BhY2VzOmksbGFzdEJhclRpbWU6cyxmaXhMZWZ0RWRnZVVudGlsOmE9MH09dGhpcy5fZGF0YUxlbmd0aEluZm8sbj10aGlzLl9taW5pQ2hhcnQud2lkZ2V0KCkscj1uLnBhbmVTaXplKCkud2lkdGg7aWYoMD09PXIpcmV0dXJuO2NvbnN0e2xlZnRMb2dpY2FsOm8scmlnaHRMb2dpY2FsOmgsbGVmdFB4OmwscmlnaHRQeDpjfT10aGlzLl9ob3J6TWFyZ2lucztsZXQgZD10aGlzLl9maXRDb250ZW50TGVmdEluZGV4KCktby0obnVsbD09PXN8fGE+PXM/MDplKSxtPU1hdGgubWF4KGQsTWF0aC5tYXgoMCx0LTEpK2graStlKTtpZigwIT09bCl7ZC09bC8oKHItbCkvKG0tZCsxKSl9aWYoMCE9PWMpe20rPWMvKChyLWMpLyhtLWQrMSkpfWlmKG09TWF0aC5tYXgoZCxtKSxtLWQ8MSl7Y29uc3QgdD0oMS0obS1kKSkvMjtkLT10LG0rPXR9bi50aW1lU2NhbGUoKS5zZXRWaXNpYmxlTG9naWNhbFJhbmdlKHtmcm9tOmQsdG86bX0pLG4udGltZVNjYWxlKCkuYXBwbHlPcHRpb25zKHtsb2NrVmlzaWJsZVRpbWVSYW5nZU9uUmVzaXplOiEwfSl9X2ZpdENvbnRlbnRMZWZ0SW5kZXgoKXtyZXR1cm4gMH1fdXBkYXRlU2VyaWVzT3B0aW9ucyh0KXtzdXBlci5fdXBkYXRlU2VyaWVzT3B0aW9ucyh0KSx0LmhvcnpNYXJnaW5zJiZ0aGlzLnVwZGF0ZUhvcnpNYXJnaW5zKHQuaG9yek1hcmdpbnMpfV9pc01haW5QbG90KCl7cmV0dXJuITB9X2RhdGFVcGRhdGVkKHQsZSxpKXtpZihzdXBlci5fZGF0YVVwZGF0ZWQodCxlLGkpLCF0aGlzLl9pc0xhc3RTZXNzaW9uSW50ZXJ2YWwudmFsdWUoKXx8IXRoaXMuX21pbmlDaGFydC5zdXBwb3J0UmVhbHRpbWVVcGRhdGVzKCl8fCFpKXJldHVybjtjb25zdCBzPWkubGFzdEJhclNlc3Npb247MCE9PXMmJjEhPT1zJiYzIT09c3x8MiE9PWUubGFzdEJhclNlc3Npb258fFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCgpPT57dGhpcy5fbWluaUNoYXJ0LnNldFRpbWVmcmFtZSh0aGlzLl9taW5pQ2hhcnQudGltZWZyYW1lKCkudmFsdWUoKSwhMSwhMCl9KSl9X29uQ2hhcnRTdHlsZUNoYW5nZWQoKXtzdXBlci5fb25DaGFydFN0eWxlQ2hhbmdlZCgpLHRoaXMuX3N0dWR5UGxvdHMoKS5mb3JFYWNoKCh0PT50LnVwZGF0ZVNlcmllc09wdGlvbnMoe2NoYXJ0VHlwZTp0aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucy5jaGFydFR5cGV9KSkpfV9iZWZvcmVEYXRhUmVhZHkoKXtzdXBlci5fYmVmb3JlRGF0YVJlYWR5KCksCnRoaXMuX3N0dWR5UGxvdHMoKS5mb3JFYWNoKCh0PT50LmRlbGV0ZVZpZXcoKSkpfV9nZXRTZXJpZXNEYXRhU291cmNlKCl7aWYobnVsbD09PXRoaXMuX3Nlcmllc0RhdGFTb3VyY2Upe2NvbnN0IHQ9dGhpcy5fY3VycmVudFNlcmllc09wdGlvbnMuaW5pdGlhbFJlcXVlc3RPcHRpb25zLGU9dGhpcy5fc2VyaWVzRGF0YVNvdXJjZT1uZXcgaC5TZXJpZXNEYXRhU291cmNlKHRoaXMuY2hhcnRTZXNzaW9uKCksInMiLHQpLGk9ZS5kYXRhRXZlbnRzKCk7aS5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU3ltYm9sUmVzb2x2ZWQpLGkuc3ltYm9sTm90UGVybWl0dGVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TeW1ib2xOb3RQZXJtaXR0ZWQpLGkuc3ltYm9sR3JvdXBOb3RQZXJtaXR0ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblN5bWJvbEdyb3VwTm90UGVybWl0dGVkKSxpLmludHJhZGF5U3ByZWFkTm90UGVybWl0dGVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25JbnRyYWRheVNwcmVhZE5vdFBlcm1pdHRlZCksaS5zeW1ib2xJbnZhbGlkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TeW1ib2xJbnZhbGlkKSxpLnN5bWJvbEVycm9yKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TeW1ib2xFcnJvciksaS5pbnRyYWRheUV4Y2hhbmdlTm90UGVybWl0dGVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25SZXNvbHV0aW9uT3JFeGNoYW5nZU5vdFBlcm1pdHRlZEVycm9yKSxpLmN1c3RvbUludGVydmFsTm90UGVybWl0dGVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25SZXNvbHV0aW9uT3JFeGNoYW5nZU5vdFBlcm1pdHRlZEVycm9yKSxpLmNvbXBsZXRlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uRGF0YUNvbXBsZXRlZCksaS5zZXJpZXNFcnJvcigpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uRGF0YUVycm9yKSxpLnNlcmllc1RpbWVGcmFtZSgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uVGltZUZyYW1lKSxpLmRhdGFVcGRhdGVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25EYXRhSW50ZXJuYWwpLGkuY3JlYXRlZCgpLnN1YnNjcmliZShudWxsLCgoKT0+cGVyZm9ybWFuY2UubWFyaygiUkZEIix7ZGV0YWlsOiJSZXF1ZXN0IGZpcnN0IGRhdGEifSkpLCEwKSxpLmNyZWF0ZWQoKS5zdWJzY3JpYmUobnVsbCwoKCk9PmUuc2V0RnV0dXJlVGlja21hcmtzTW9kZShzLkZ1bGxTaW5nbGVTZXNzaW9uKSkpLGkuZGF0YVVwZGF0ZWQoKS5zdWJzY3JpYmUobnVsbCwoKCk9PntwZXJmb3JtYW5jZS5tYXJrKCJGRFIiLHtkZXRhaWw6IkZpcnN0IGRhdGEgcmVzcG9uc2UifSkscGVyZm9ybWFuY2UubWVhc3VyZSgiUmVzcG9uc2UgaWRsZSIsIlJGRCIsIkZEUiIpfSksITApfXJldHVybiB0aGlzLl9zZXJpZXNEYXRhU291cmNlfV9iYXJzKCl7cmV0dXJuIHRoaXMuX2NhY2hlZERhdGE/dGhpcy5fY2FjaGVkRGF0YS5zZXJpZXNEYXRhLmJhcnMoKTp0aGlzLl9zZXJpZXNEYXRhU291cmNlPy5kYXRhKCkuYmFycygpPz9uZXcgci5QbG90TGlzdH1fb25UaW1lRnJhbWUodCxlKXt0aGlzLl9jYWNoZWREYXRhfHwodGhpcy5fbWluQmFySW5kZXg9dCx0aGlzLl9tYXhCYXJJbmRleD1lKSx0aGlzLnVwZGF0ZURhdGEoITEpLHRoaXMuX3N0dWR5UGxvdHMoKS5mb3JFYWNoKCh0PT50LnVwZGF0ZURhdGEoITEsITApKSl9X29uRGF0YUNvbXBsZXRlZCgpe3RoaXMuX2NhY2hlZERhdGEmJih0aGlzLl9jYWNoZWREYXRhPW51bGwpLHRoaXMudXBkYXRlRGF0YSghMSwhMCksc3VwZXIuX29uRGF0YUNvbXBsZXRlZCgpLHRoaXMuZml0Q29udGVudCgpfV9vbkRhdGFJbnRlcm5hbCh0LGUsaSl7dGhpcy5fb25EYXRhKGU/dm9pZCAwOmk/LmluZGV4KX1hc3luYyBfbG9hZENhY2hlKHQpe2NvbnN0e2RhdGE6ZSxzeW1ib2xJbmZvOmksbWluQmFySW5kZXg6cyxtYXhCYXJJbmRleDphfT10O3RoaXMuX21pbkJhckluZGV4PXMsdGhpcy5fbWF4QmFySW5kZXg9YSx0aGlzLl9jYWNoZWREYXRhPXtzeW1ib2w6dGhpcy5leHRlbmRlZFN5bWJvbCgpLHJlc29sdXRpb246dGhpcy5yZXNvbHV0aW9uKCksdGltZUZyYW1lOnRoaXMuX21pbmlDaGFydC50aW1lZnJhbWUoKS52YWx1ZSgpLHNlcmllc0RhdGE6ZX0sdGhpcy5fc3ltYm9sSW5mbz1pLHRoaXMuX3N5bWJvbEluZm9XVi5zZXRWYWx1ZShpKTtjb25zdCBuPWF3YWl0IHRoaXMuX2luaXRCYXJCdWlsZGVyKGkpOyF0aGlzLl9pc0Rlc3Ryb3llZC52YWx1ZSgpJiZ0aGlzLl9zeW1ib2xJbmZvJiYodGhpcy5fc3ltYm9sSW5mbyE9PWkmJm4udXBkYXRlKHRoaXMuX3N5bWJvbEluZm8pLGF3YWl0IHRoaXMuX29uRGF0YSgpLHRoaXMuX3N0YXR1cy5zZXRWYWx1ZSgzKSx0aGlzLmZpdENvbnRlbnQoKSl9fX0sNjk1OTQ2KHQsZSxpKXsidXNlIHN0cmljdCI7aS5kKGUse1ByZXR0eUhpc3RvZ3JhbVNlcmllczooKT0+bn0pO2NvbnN0IHM9ey4uLmkoNjc4MzEyKS5jdXN0b21TZXJpZXNEZWZhdWx0T3B0aW9ucyxjb2xvcjoiI0Q2Mzg2NCIsd2lkdGhQZXJjZW50OjUwLHJhZGl1czo0fTtjbGFzcyBhe2NvbnN0cnVjdG9yKCl7dGhpcy5fZGF0YT1udWxsLHRoaXMuX29wdGlvbnM9bnVsbH1kcmF3KHQsZSl7dC51c2VCaXRtYXBDb29yZGluYXRlU3BhY2UoKHQ9PnRoaXMuX2RyYXdJbXBsKHQsZSkpKX11cGRhdGUodCxlKXt0aGlzLl9kYXRhPXQsdGhpcy5fb3B0aW9ucz1lfV9kcmF3SW1wbCh0LGUpe2lmKG51bGw9PT10aGlzLl9kYXRhfHwwPT09dGhpcy5fZGF0YS5iYXJzLmxlbmd0aHx8bnVsbD09PXRoaXMuX2RhdGEudmlzaWJsZVJhbmdlfHxudWxsPT09dGhpcy5fb3B0aW9ucylyZXR1cm47Y29uc3QgaT10aGlzLl9vcHRpb25zLHM9dGhpcy5fZGF0YS5iYXJzLm1hcCgocz0+KHt4OnMueCp0Lmhvcml6b250YWxQaXhlbFJhdGlvLHZhbHVlOmUocy5vcmlnaW5hbERhdGEudmFsdWUpPz9OYU4sY29sb3I6cy5iYXJDb2xvcj8/aS5jb2xvcn0pKSksYT1lKDApPz8wLG49dC5jb250ZXh0O2xldCByPW51bGw7bi5iZWdpblBhdGgoKQo7Y29uc3Qgbz1NYXRoLm1heCgxLE1hdGgucm91bmQoLjAxKmkud2lkdGhQZXJjZW50KnRoaXMuX2RhdGEuYmFyU3BhY2luZyp0Lmhvcml6b250YWxQaXhlbFJhdGlvKSksaD1NYXRoLmZsb29yKGkucmFkaXVzKnQuaG9yaXpvbnRhbFBpeGVsUmF0aW8pO3Muc2xpY2UodGhpcy5fZGF0YS52aXNpYmxlUmFuZ2UuZnJvbSx0aGlzLl9kYXRhLnZpc2libGVSYW5nZS50bysxKS5mb3JFYWNoKChlPT57Y29uc3QgaT1lLmNvbG9yO251bGwhPT1yJiZyIT09aSYmKG4uZmlsbCgpLG4uYmVnaW5QYXRoKCkpLG4uZmlsbFN0eWxlPWk7Y29uc3Qgcz1mdW5jdGlvbih0LGUsaSl7Y29uc3Qgcz1NYXRoLnJvdW5kKGkqdCksYT1NYXRoLnJvdW5kKGkqZSk7cmV0dXJue3Bvc2l0aW9uOk1hdGgubWluKHMsYSksbGVuZ3RoOk1hdGguYWJzKGEtcykrMX19KGEsZS52YWx1ZSx0LnZlcnRpY2FsUGl4ZWxSYXRpbyksbD1NYXRoLmZsb29yKE1hdGgubWluKGgsby8yLE1hdGguYWJzKHMubGVuZ3RoKSkpLGM9TWF0aC5yb3VuZChlLngtby8yKTtuLnJvdW5kUmVjdChjLHMucG9zaXRpb24sbyxzLmxlbmd0aCxlLnZhbHVlPGE/W2wsbCwwLDBdOlswLDAsbCxsXSkscj1pfSkpLG4uZmlsbCgpfX1jbGFzcyBue2NvbnN0cnVjdG9yKCl7dGhpcy5fcmVuZGVyZXI9bmV3IGF9cHJpY2VWYWx1ZUJ1aWxkZXIodCl7cmV0dXJuW3QudmFsdWVdfWlzV2hpdGVzcGFjZSh0KXtyZXR1cm4gdm9pZCAwPT09dC52YWx1ZX1yZW5kZXJlcigpe3JldHVybiB0aGlzLl9yZW5kZXJlcn11cGRhdGUodCxlKXt0aGlzLl9yZW5kZXJlci51cGRhdGUodCxlKX1kZWZhdWx0T3B0aW9ucygpe3JldHVybiBzfX19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/55969.43c3748014de2cd0bd1c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.903Z","timestamp":1785120633903,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/55969.43c3748014de2cd0bd1c.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-79ea\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 23fc59113a25f4d43f1f3ecfd80f70d2\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":31210,"size_decoded":10275,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"2ffe3f8909cfa5c00f9356969ce56989","sha1":"25fb185c3e390ae4bd33c6395913b100e0a4f6d9","sha256":"7d1513778a61b869e05173da3d33c80b937eaf583aeb370b947947ddcdce4c84","sha512":"2022abb3649827fd1f39c901fc168d99ac273164699e1ca00d77e017ee71f51fb199aac7cb5eb214ba12fe7bfb88a65a777fee03d3f0318dbaa768e188f74d6d","ssdeep":"768:YmdyerAdxxaVWiG7s8trffJtzTrcSWJMAchHTdv5UC1gMgFwMA+Mv60F00rFLfLL:5dyHaZG73TAVFd+60S0RuGpriakk","tlshash":"62e296ca3286733693d1c7850c750903f339a1743c0a55acf6ac6acfbe1a942617ab7d","first_seen":"2026-07-16T13:40:49.785089Z","last_seen":"2026-07-27T05:19:37.163595Z","times_seen":466,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNTU5NjldLHszMDgyMShlLHQscyl7cy5kKHQse0J1c2luZXNzRGF5OigpPT5pfSk7dmFyIG49cyg3MDA4MDkpLHI9cyg5MDI4NDIpO2NsYXNzIGl7Y29uc3RydWN0b3IoZSx0LHMpe3RoaXMuX2RheU9mV2Vlaz1udWxsLHRoaXMueWVhcj1lLHRoaXMubW9udGg9dCx0aGlzLmRheT1zfXRvU3RyaW5nKCl7cmV0dXJuYCR7KDAsci5hZGRMZWFkaW5nWmVyb3MpKHRoaXMueWVhciw0KX0tJHsoMCxyLmFkZExlYWRpbmdaZXJvKSh0aGlzLm1vbnRoKX0tJHsoMCxyLmFkZExlYWRpbmdaZXJvKSh0aGlzLmRheSl9YH10b3l5eXltbWRkKCl7cmV0dXJuYCR7KDAsci5hZGRMZWFkaW5nWmVyb3MpKHRoaXMueWVhciw0KX0keygwLHIuYWRkTGVhZGluZ1plcm8pKHRoaXMubW9udGgpfSR7KDAsci5hZGRMZWFkaW5nWmVybykodGhpcy5kYXkpfWB9Y29tcGFyZVRvKGUpe3JldHVybiB0aGlzLnllYXI+ZS55ZWFyfHx0aGlzLnllYXI9PT1lLnllYXImJnRoaXMubW9udGg+ZS5tb250aHx8dGhpcy55ZWFyPT09ZS55ZWFyJiZ0aGlzLm1vbnRoPT09ZS5tb250aCYmdGhpcy5kYXk+ZS5kYXk/MTp0aGlzLnllYXI9PT1lLnllYXImJnRoaXMubW9udGg9PT1lLm1vbnRoJiZ0aGlzLmRheT09PWUuZGF5PzA6LTF9YmVmb3JlKGUpe3JldHVybi0xPT09dGhpcy5jb21wYXJlVG8oZSl9dG9DYWxlbmRhcihlKXtyZXR1cm4oMCxuLmdldF9jYWwpKGU/PygwLG4uZ2V0X3RpbWV6b25lKSgiRXRjL1VUQyIpLHRoaXMueWVhcix0aGlzLm1vbnRoLTEsdGhpcy5kYXkpfWFkZERheXMoZSl7Y29uc3QgdD10aGlzLnRvQ2FsZW5kYXIoKDAsbi5nZXRfdGltZXpvbmUpKCJFdGMvVVRDIikpO3JldHVybigwLG4uYWRkX2RhdGUpKHQsZSksaS5mcm9tQ2FsZW5kYXIodCl9Zmlyc3REYXlPZlllYXIoKXtyZXR1cm4gbmV3IGkodGhpcy55ZWFyLDEsMSl9Z2V0RGF5T2ZXZWVrKCl7cmV0dXJuIG51bGw9PT10aGlzLl9kYXlPZldlZWsmJih0aGlzLl9kYXlPZldlZWs9KDAsbi5nZXRfZGF5X29mX3dlZWspKHRoaXMudG9DYWxlbmRhcigpKSksdGhpcy5fZGF5T2ZXZWVrfXN0YXRpYyBmcm9tQ2FsZW5kYXIoZSl7cmV0dXJuIG5ldyBpKCgwLG4uZ2V0X3llYXIpKGUpLCgwLG4uZ2V0X21vbnRoKShlKSsxLCgwLG4uZ2V0X2RheV9vZl9tb250aCkoZSkpfX19LDM0MTAzNihlLHQscyl7cy5kKHQse0V4dGVuZGVkRW50cnlEZWNvcmF0b3I6KCk9PkUsT2Zmc2V0RW50cnlEZWNvcmF0b3I6KCk9PnUsU0VTU0lPTl9TUEVDX1NZTUJPTF9CQVJTX09GRlNFVDooKT0+byxTRVNTSU9OX1NQRUNfU1lNQk9MX0VYVEVOREVEOigpPT5oLFNFU1NJT05fU1BFQ19TWU1CT0xfVU5JRklFRDooKT0+YSxTRVNTSU9OX1NQRUNfU1lNQk9MX1VOSUZJRURfU0hJRlRFRDooKT0+ZCxTZXNzaW9uc1NwZWNFbnRyaWVzOigpPT5tLFNlc3Npb25zU3BlY0VudHJ5OigpPT5fLFNlc3Npb25zU3BlY0VudHJ5SW5kZXg6KCk9Pk8sU2Vzc2lvbnNTcGVjSGlzdG9yeUVudHJ5OigpPT5XLFVuaWZpZWRFbnRyeURlY29yYXRvcjooKT0+ayxVbmlmaWVkU2hpZnRlZEVudHJ5RGVjb3JhdG9yOigpPT5wLGNvbXBhcmVTZXNzaW9uRW50cmllczooKT0+eSxpc0V4dGVuZGVkRW50cnk6KCk9PmcsaXNPZmZzZXRFbnRyeTooKT0+bCxpc1VuaWZpZWRFbnRyeTooKT0+Uyxpc1VuaWZpZWRTaGlmdGVkRW50cnk6KCk9PkR9KTt2YXIgbixyPXMoMTM4NjM4KSxpPXMoNzAwODA5KTshZnVuY3Rpb24oZSl7ZVtlLkxlZnRGaXJzdD0tMV09IkxlZnRGaXJzdCIsZVtlLlVuY2hhbmdlZD0wXT0iVW5jaGFuZ2VkIixlW2UuUmlnaHRGaXJzdD0xXT0iUmlnaHRGaXJzdCJ9KG58fChuPXt9KSk7Y29uc3Qgbz0iQSIsYT0iVSIsZD0iUyIsaD0iRSI7ZnVuY3Rpb24gZihlKXtyZXR1cm4gZT49MD8wOmUlaS5taW51dGVzUGVyRGF5PT0wPy1lL2kubWludXRlc1BlckRheToxLU1hdGgudHJ1bmMoZS9pLm1pbnV0ZXNQZXJEYXkpfWZ1bmN0aW9uIHkoZSx0KXtyZXR1cm4gZS5jb21wYXJlVG8odCl9dmFyIGM7IWZ1bmN0aW9uKGUpe2VbZS5Ob25lPTBdPSJOb25lIixlW2UuRXh0ZW5kZWRFbnRyeT0xXT0iRXh0ZW5kZWRFbnRyeSIsZVtlLk9mZnNldEVudHJ5PTJdPSJPZmZzZXRFbnRyeSIsZVtlLlVuaWZpZWRFbnRyeT0zXT0iVW5pZmllZEVudHJ5IixlW2UuVW5pZmllZFNoaWZ0ZWRFbnRyeT00XT0iVW5pZmllZFNoaWZ0ZWRFbnRyeSJ9KGN8fChjPXt9KSk7Y2xhc3MgX3tjb25zdHJ1Y3RvcihlLHQscyl7dGhpcy5kZWNvcmF0b3JUeXBlPTAsKDAsci5hc3NlcnQpKE51bWJlci5pc0Zpbml0ZShlKSYmTnVtYmVyLmlzRmluaXRlKHQpJiZOdW1iZXIuaXNGaW5pdGUocyksIkludmFsaWQgYXJndW1lbnRzIiksdGhpcy5fZGF5T2ZXZWVrPWUsdGhpcy5fc3RhcnQ9dCx0aGlzLl9sZW5ndGg9c31zdGFydCgpe3JldHVybiB0aGlzLl9zdGFydCtpLm1pbnV0ZXNQZXJEYXkqdGhpcy5zZXNzaW9uU3RhcnREYXlzT2Zmc2V0KCl9c3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fc3RhcnR9ZW5kT2Zmc2V0KCl7cmV0dXJuIHRoaXMuX3N0YXJ0K3RoaXMuX2xlbmd0aH1zZXNzaW9uU3RhcnREYXlzT2Zmc2V0KCl7cmV0dXJuIGYodGhpcy5fc3RhcnQpfWlzT3Zlcm5pZ2h0KCl7cmV0dXJuIHRoaXMuX3N0YXJ0PDB9ZGF5T2ZXZWVrKCl7cmV0dXJuIHRoaXMuX2RheU9mV2Vla31zZXNzaW9uU3RhcnREYXlPZldlZWsoKXtsZXQgZT10aGlzLl9kYXlPZldlZWstdGhpcy5zZXNzaW9uU3RhcnREYXlzT2Zmc2V0KCk7cmV0dXJuIGU8aS5TVU5EQVkmJihlKz03KSxlfWxlbmd0aCgpe3JldHVybiB0aGlzLl9sZW5ndGh9aXNFeHRlbmRlZCgpe3JldHVybiExfWV4dGVuZGVkU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5zdGFydE9mZnNldCgpfWV4dGVuZGVkRW5kT2Zmc2V0KCl7cmV0dXJuIHRoaXMuZW5kT2Zmc2V0KCl9Y29tcGFyZVRvKGUpe2NvbnN0IHQ9dGhpcy5fd2VpZ2h0KCkscz10K3RoaXMuX2xlbmd0aCxuPWUuX3dlaWdodCgpLHI9bitlLl9sZW5ndGgKO3JldHVybiB0PD1uJiZuPHN8fG48PXQmJnQ8cj8wOnQ+bj8xOi0xfWNvbnRhaW5zKGUpe3JldHVybiB0aGlzLl9jb250YWlucygoMCxpLmdldF9taW51dGVzX3dpdGhfaG91cnMpKGUpLCgwLGkuZ2V0X2RheV9vZl93ZWVrKShlKSl9X3dlaWdodCgpe3JldHVybiB0aGlzLl9kYXlPZldlZWsqaS5taW51dGVzUGVyRGF5K3RoaXMuX3N0YXJ0fV9jb250YWlucyhlLHQpe2xldCBzPXQtdGhpcy5fZGF5T2ZXZWVrO3M+MCYmKHMtPTcpO2NvbnN0IG49cyppLm1pbnV0ZXNQZXJEYXkrZTtyZXR1cm4gbj49dGhpcy5fc3RhcnQmJm48dGhpcy5fc3RhcnQrdGhpcy5fbGVuZ3RofX1mdW5jdGlvbiBsKGUpe3JldHVybiAyPT09ZS5kZWNvcmF0b3JUeXBlfWNsYXNzIHUgZXh0ZW5kcyBfe2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZS5kYXlPZldlZWsoKSxlLnN0YXJ0T2Zmc2V0KCksZS5sZW5ndGgoKSksdGhpcy5kZWNvcmF0b3JUeXBlPTIsdGhpcy5fZW50cnk9ZSx0aGlzLl9iYXJzT2Zmc2V0PXR9Z2V0RW50cnkoKXtyZXR1cm4gdGhpcy5fZW50cnl9YmFyc09mZnNldCgpe3JldHVybiB0aGlzLl9iYXJzT2Zmc2V0fWlzRXh0ZW5kZWQoKXtyZXR1cm4gdGhpcy5fZW50cnkuaXNFeHRlbmRlZCgpfWV4dGVuZGVkU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fZW50cnkuZXh0ZW5kZWRTdGFydE9mZnNldCgpfWV4dGVuZGVkRW5kT2Zmc2V0KCl7cmV0dXJuIHRoaXMuX2VudHJ5LmV4dGVuZGVkRW5kT2Zmc2V0KCl9fWZ1bmN0aW9uIGcoZSl7cmV0dXJuIDE9PT1lLmRlY29yYXRvclR5cGV9Y2xhc3MgRSBleHRlbmRzIF97Y29uc3RydWN0b3IoZSx0LHMpe3N1cGVyKGUuZGF5T2ZXZWVrKCksZS5zdGFydE9mZnNldCgpLGUubGVuZ3RoKCkpLHRoaXMuZGVjb3JhdG9yVHlwZT0xLHRoaXMuX2VudHJ5PWUsdGhpcy5fZXh0ZW5kZWRTdGFydE9mZnNldD10LHRoaXMuX2V4dGVuZGVkRW5kT2Zmc2V0PXN9Z2V0RW50cnkoKXtyZXR1cm4gdGhpcy5fZW50cnl9aXNFeHRlbmRlZCgpe3JldHVybiEwfWV4dGVuZGVkU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fZXh0ZW5kZWRTdGFydE9mZnNldH1leHRlbmRlZEVuZE9mZnNldCgpe3JldHVybiB0aGlzLl9leHRlbmRlZEVuZE9mZnNldH1leHRlbmRlZFN0YXJ0RGF5c09mZnNldCgpe3JldHVybiBmKHRoaXMuX2V4dGVuZGVkU3RhcnRPZmZzZXQpfWV4dGVuZGVkRW5kRGF5c09mZnNldCgpe3JldHVybiBmKHRoaXMuX2V4dGVuZGVkRW5kT2Zmc2V0KX19ZnVuY3Rpb24gUyhlKXtyZXR1cm4gMz09PWUuZGVjb3JhdG9yVHlwZX1jbGFzcyBrIGV4dGVuZHMgX3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUuZGF5T2ZXZWVrKCksZS5zdGFydE9mZnNldCgpLGUubGVuZ3RoKCkpLHRoaXMuZGVjb3JhdG9yVHlwZT0zLHRoaXMuX2VudHJ5PWUsdGhpcy5fdW5pZmllZEVudHJpZXM9dCx0LnB1c2godGhpcyl9Z2V0RW50cnkoKXtyZXR1cm4gdGhpcy5fZW50cnl9Z2V0VW5pZmllZEVudHJpZXMoKXtyZXR1cm4gdGhpcy5fdW5pZmllZEVudHJpZXN9aGFzRXh0ZW5kZWRFbnRyeSgpe3JldHVybiB0aGlzLl91bmlmaWVkRW50cmllcy5zb21lKChlPT5lLmlzRXh0ZW5kZWQoKSkpfWlzRXh0ZW5kZWQoKXtyZXR1cm4gdGhpcy5fZW50cnkuaXNFeHRlbmRlZCgpfWV4dGVuZGVkU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fZW50cnkuZXh0ZW5kZWRTdGFydE9mZnNldCgpfWV4dGVuZGVkRW5kT2Zmc2V0KCl7cmV0dXJuIHRoaXMuX2VudHJ5LmV4dGVuZGVkRW5kT2Zmc2V0KCl9fWZ1bmN0aW9uIEQoZSl7cmV0dXJuIDQ9PT1lLmRlY29yYXRvclR5cGV9Y2xhc3MgcCBleHRlbmRzIF97Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLmRheU9mV2VlaygpLGUuc3RhcnRPZmZzZXQoKSxlLmxlbmd0aCgpKSx0aGlzLmRlY29yYXRvclR5cGU9NCx0aGlzLl9lbnRyeT1lLHRoaXMuX3VuaWZpZWRFbnRyaWVzPXQsdC5wdXNoKHRoaXMpfWdldEVudHJ5KCl7cmV0dXJuIHRoaXMuX2VudHJ5fWdldFVuaWZpZWRFbnRyaWVzKCl7cmV0dXJuIHRoaXMuX3VuaWZpZWRFbnRyaWVzfWhhc0V4dGVuZGVkRW50cnkoKXtyZXR1cm4gdGhpcy5fdW5pZmllZEVudHJpZXMuc29tZSgoZT0+ZS5pc0V4dGVuZGVkKCkpKX1pc0V4dGVuZGVkKCl7cmV0dXJuIHRoaXMuX2VudHJ5LmlzRXh0ZW5kZWQoKX1leHRlbmRlZFN0YXJ0T2Zmc2V0KCl7cmV0dXJuIHRoaXMuX2VudHJ5LmV4dGVuZGVkU3RhcnRPZmZzZXQoKX1leHRlbmRlZEVuZE9mZnNldCgpe3JldHVybiB0aGlzLl9lbnRyeS5leHRlbmRlZEVuZE9mZnNldCgpfX1jbGFzcyBPe2NvbnN0cnVjdG9yKGUsdCxzKXt0aGlzLndlZWtJbmRleD1lLHRoaXMuZW50cnlJbmRleD10LHRoaXMuZW50cmllcz1zfWdldEVudHJ5KCl7cmV0dXJuIHRoaXMuZW50cmllc1t0aGlzLmVudHJ5SW5kZXhdfX1jbGFzcyBte2NvbnN0cnVjdG9yKGUsdCxzLG4pe3RoaXMuX21heFRyYWRpbmdEYXlMZW5ndGg9bnVsbCx0aGlzLl9saXN0PWUsdGhpcy5fZW50cmllc0J5RGF5PXQsdGhpcy5fZmlyc3REYXlPZldlZWs9cyx0aGlzLl93ZWVrRW5kc0NvdW50PW59Zmlyc3REYXlPZldlZWsoKXtyZXR1cm4gdGhpcy5fZmlyc3REYXlPZldlZWt9ZW50cmllc0J5RGF5KCl7cmV0dXJuIHRoaXMuX2VudHJpZXNCeURheX1saXN0KCl7cmV0dXJuIHRoaXMuX2xpc3R9aXNXZWVrRW5kKGUpe3JldHVybiF0aGlzLl9lbnRyaWVzQnlEYXkuaGFzKGUpfXdlZWtFbmRzQ291bnQoKXtyZXR1cm4gdGhpcy5fd2Vla0VuZHNDb3VudH1sb25nZXN0U2Vzc2lvbkxlbmd0aCgpe3JldHVybiAwPT09dGhpcy5fbGlzdC5sZW5ndGg/MDpNYXRoLm1heCguLi50aGlzLl9saXN0Lm1hcCgoZT0+ZS5sZW5ndGgoKSkpKX1tYXhUcmFkaW5nRGF5TGVuZ3RoKCl7aWYobnVsbD09dGhpcy5fbWF4VHJhZGluZ0RheUxlbmd0aCl7Y29uc3QgZT1uZXcgTWFwO2Zvcihjb25zdCB0IG9mIHRoaXMuX2xpc3Qpe2NvbnN0IHM9dC5kYXlPZldlZWsoKTtlLnNldChzLHQubGVuZ3RoKCkrKGUuZ2V0KHMpPz8wKSl9bGV0IHQ9MDtlLmZvckVhY2goKGU9Pnt0PU1hdGgubWF4KHQsZSl9KSksdGhpcy5fbWF4VHJhZGluZ0RheUxlbmd0aD10fQpyZXR1cm4gdGhpcy5fbWF4VHJhZGluZ0RheUxlbmd0aH19Y2xhc3MgV3tjb25zdHJ1Y3RvcihlLHQscyl7dGhpcy5fc3RhcnREYXk9ZSx0aGlzLl9lbnRyaWVzPXMsdGhpcy5fc3BlY0VuZERheT10fWdldEVudHJpZXMoKXtyZXR1cm4gdGhpcy5fZW50cmllc31nZXRTdGFydERheSgpe3JldHVybiB0aGlzLl9zdGFydERheX1nZXRTcGVjRW5kRGF5KCl7cmV0dXJuIHRoaXMuX3NwZWNFbmREYXl9aXNPcGVuRW5kZWQoKXtyZXR1cm4gbnVsbD09dGhpcy5fc3BlY0VuZERheX19fSwzMjkwNDEoZSx0LHMpe3MuZCh0LHtTZXNzaW9uc1NwZWNQYXJzZXI6KCk9Pmcsd29ya2luZ0RheXNBbmRXZWVrRW5kczooKT0+ZH0pO3ZhciBuPXMoMTM4NjM4KSxyPXMoNzAwODA5KSxpPXMoMzA4MjEpLG89cygzNDEwMzYpO2NvbnN0IGE9W3IuTU9OREFZLHIuVFVFU0RBWSxyLldFRE5FU0RBWSxyLlRIVVJTREFZLHIuRlJJREFZXSxkPVtyLlNVTkRBWSxyLk1PTkRBWSxyLlRVRVNEQVksci5XRURORVNEQVksci5USFVSU0RBWSxyLkZSSURBWSxyLlNBVFVSREFZXTtmdW5jdGlvbiBoKGUpe3JldHVybiBlPj00OCYmZTw9NTd9Y29uc3QgZj1bMCwzMSwyOCwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV07Y2xhc3MgeSBleHRlbmRzIE1hcHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fa2V5U3RyaW5nc1RvS2V5PW5ldyBNYXB9Z2V0KGUpe2NvbnN0IHQ9dGhpcy5fa2V5U3RyaW5nc1RvS2V5LmdldChlLnRvU3RyaW5nKCkpO3JldHVybiB0JiZzdXBlci5nZXQodCl9c2V0KGUsdCl7Y29uc3Qgcz1lLnRvU3RyaW5nKCksbj10aGlzLl9rZXlTdHJpbmdzVG9LZXkuZ2V0KHMpO3JldHVybiB2b2lkIDAhPT1uJiZzdXBlci5kZWxldGUobiksdGhpcy5fa2V5U3RyaW5nc1RvS2V5LnNldChzLGUpLHN1cGVyLnNldChlLHQpfWhhcyhlKXtyZXR1cm4gdGhpcy5fa2V5U3RyaW5nc1RvS2V5LmhhcyhlLnRvU3RyaW5nKCkpfX1mdW5jdGlvbiBjKGUpe3JldHVybiBlLmxlbmd0aD4wfWZ1bmN0aW9uIF8oZSl7cmV0dXJuIDA9PT1lP3IubWludXRlc1BlckRheTplfWZ1bmN0aW9uIGwoZSx0LHMsbil7cmV0dXJuIHM9PT1uJiZ0PD1lP3MrMTpzfWZ1bmN0aW9uIHUoZSx0KXtpZihlPDB8fGU+PTcpdGhyb3cgbmV3IEVycm9yKGBlcnJvciBwYXJzaW5nIHNlc3Npb24sICR7dH0gY2Fubm90IGJlIG91dHNpZGUgWzAsNyksICR7dH09JHtlfWApfWNsYXNzIGd7Y29uc3RydWN0b3IoKXt0aGlzLmhpc3RvcnlFbnRyaWVzPVtdLHRoaXMudGltZXpvbmU9IiIsdGhpcy5hZGp1c3RTZXNzaW9uc0luZGV4ZXM9bnVsbH1wYXJzZVNlc3Npb25zKGUsdCl7dGhpcy5fcGFyc2VIaXN0b3J5RW50cmllcyhlLHQsITEpfXBhcnNlU2Vzc2lvbnNBbmRWYWxpZGF0ZURhdGVUaW1lKGUsdCl7dGhpcy5fcGFyc2VIaXN0b3J5RW50cmllcyhlLHQsITApfXN0YXRpYyBwYXJzZUhvbGlkYXlzQW5kQ29ycmVjdGlvbnMoZSx0LHMsbil7cmV0dXJuIHRoaXMuX3BhcnNlSG9saWRheXNBbmRDb3JyZWN0aW9uc0ltcGwoZSx0LHMsbil9c3RhdGljIHBhcnNlSG9saWRheXNBbmRDb3JyZWN0aW9uc0FuZFZhbGlkYXRlRGF0ZVRpbWUoZSx0LHMpe3JldHVybiB0aGlzLl9wYXJzZUhvbGlkYXlzQW5kQ29ycmVjdGlvbnNJbXBsKGUsdCxzLCEwKX1fY2xlYXJBbGwoKXt0aGlzLnRpbWV6b25lPSIiLHRoaXMuaGlzdG9yeUVudHJpZXM9W10sdGhpcy5hZGp1c3RTZXNzaW9uc0luZGV4ZXM9W119X3BhcnNlSGlzdG9yeUVudHJpZXMoZSx0LHMpe3RoaXMuX2NsZWFyQWxsKCk7Y29uc3Qgbj10LnNwbGl0KCIvIik7bGV0IHI9bnVsbCxpPW51bGw7dGhpcy5oYXNIaXN0b3J5Q29ycmVjdGlvbnM9bi5sZW5ndGg+MTtmb3IobGV0IHQ9MDt0PG4ubGVuZ3RoO3QrKyl7Y29uc3QgYT1uW3RdLnNwbGl0KCIjIik7bGV0IGQ9bnVsbDtpZih0IT09bi5sZW5ndGgtMSl7aWYoMiE9PWEubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb24gaGlzdG9yeSBlbnRyeSBkZWZpbml0aW9uOiAke25bdF19YCk7ZD1nLl9wYXJzZURheShhWzFdLCJzZXNzaW9uIGhpc3RvcnkgZW50cnkgZW5kIixzKS50b0NhbGVuZGFyKCl9ZWxzZXtpZigxIT09YS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKGBiYWQgc2Vzc2lvbiBoaXN0b3J5IGVudHJ5IGRlZmluaXRpb246ICR7blt0XX1gKTtkPW51bGx9aWYobnVsbCE9PWkmJm51bGwhPT1kJiZkLmdldFRpbWUoKTxpLmdldFRpbWUoKSl0aHJvdyBuZXcgRXJyb3IoYGhpc3Rvcnkgc2Vzc2lvbnMgYXJlIG5vdCBsaXN0ZWQgaW4gYXNjZW5kaW5nIG9yZGVyICgke2l9IC0+ICR7ZH1gKTtjb25zdCBoPXRoaXMuX3BhcnNlU2Vzc2lvbnNJbXBsKGUsYVswXSxzKTtyPXRoaXMuX2FkanVzdFN0YXJ0VG9QcmV2aW91c1Nlc3Npb24oaC5maXJzdERheU9mV2VlaygpKTtjb25zdCBmPW5ldyBvLlNlc3Npb25zU3BlY0hpc3RvcnlFbnRyeShyLGQsaCk7dGhpcy5oaXN0b3J5RW50cmllcy5wdXNoKGYpLGk9ZH19X3BhcnNlU2Vzc2lvbnNJbXBsKGUsdCxzKXt0aGlzLnRpbWV6b25lPWUsdD10aGlzLl9wYXJzZUZpcnN0RGF5T2ZXZWVrKHQpO2NvbnN0IG49bmV3IE1hcCxyPVtdO2lmKCIyNHg3Ij09PXQudG9Mb3dlckNhc2UoKSlmb3IoY29uc3QgZSBvZiBkKXtjb25zdCB0PWcuX2NyZWF0ZVNlc3Npb25FbnRyeShlLDAsMCwwLDApO3IucHVzaCh0KTtjb25zdCBzPVtdO3MucHVzaCh0KSxuLnNldChlLHMpfWVsc2V7bGV0IGU9ITE7Y29uc3QgaT1uZXcgTWFwO2Zvcihjb25zdCBzIG9mIHQuc3BsaXQoInwiKSl7Y29uc3QgdD1zLnNwbGl0KCI6IikuZmlsdGVyKGMpO2lmKDEhPT10Lmxlbmd0aCYmMiE9PXQubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb24gc2VjdGlvbjogJHtzfWApO2NvbnN0IG49MT09PXQubGVuZ3RoO2lmKG4pe2lmKGUpdGhyb3cgbmV3IEVycm9yKGBkdXBsaWNhdGVkIGRlZmF1bHQgc2VjdGlvbjogJHtzfWApO2U9ITB9Y29uc3Qgcj1uP2E6Zy5fcGFyc2VXb3JraW5nRGF5cyh0WzFdKTtmb3IoY29uc3QgZSBvZiByKW4mJmkuaGFzKGUpfHxpLnNldChlLHRbMF0pfWZvcihjb25zdCBlIG9mIGQpe2NvbnN0IHQ9aS5nZXQoZSkKO2lmKHZvaWQgMD09PXQpY29udGludWU7Y29uc3Qgbz1nLl9wYXJzZVNlc3Npb25EYXkoZSx0LHMpO2xldCBhPW4uZ2V0KGUpO3ZvaWQgMD09PWEmJihhPVtdLG4uc2V0KGUsYSkpO2Zvcihjb25zdCBlIG9mIG8pYS5wdXNoKGUpLHIucHVzaChlKX19ci5zb3J0KG8uY29tcGFyZVNlc3Npb25FbnRyaWVzKTtjb25zdCBpPW5ldyBTZXQ7Zm9yKGNvbnN0IGUgb2YgcilpLmFkZChlLmRheU9mV2VlaygpKTtjb25zdCBoPTctaS5zaXplO3JldHVybiBuZXcgby5TZXNzaW9uc1NwZWNFbnRyaWVzKHIsbix0aGlzLl9maXJzdERheU9mV2VlayxoKX1fcGFyc2VGaXJzdERheU9mV2VlayhlKXtjb25zdCB0PWUuc3BsaXQoIjsiKTtpZih0aGlzLl9maXJzdERheU9mV2Vlaz1yLk1PTkRBWSx0Lmxlbmd0aD4yKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb25zIHNwZWM6ICR7ZX1gKTtpZigxPT09dC5sZW5ndGgpcmV0dXJuIGU7bGV0IHM9MTtsZXQgbj10WzBdLmluZGV4T2YoIi0iKT49MD9OYU46cGFyc2VJbnQodFswXSk7aWYoaXNOYU4obikmJihzPTAsbj1wYXJzZUludCh0WzFdKSksbjxyLlNVTkRBWXx8bj5yLlNBVFVSREFZKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb25zIHNwZWM6ICR7ZX1gKTtyZXR1cm4gdGhpcy5fZmlyc3REYXlPZldlZWs9bix0W3NdfV9hZGp1c3RTdGFydFRvUHJldmlvdXNTZXNzaW9uKGUpe2lmKDA9PT10aGlzLmhpc3RvcnlFbnRyaWVzLmxlbmd0aClyZXR1cm4gbnVsbDtjb25zdCB0PSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5oaXN0b3J5RW50cmllc1t0aGlzLmhpc3RvcnlFbnRyaWVzLmxlbmd0aC0xXS5nZXRTcGVjRW5kRGF5KCkpLHM9ZS0oMCxyLmdldF9kYXlfb2Zfd2VlaykodCk7aWYoMD09PXMpcmV0dXJuIHQ7Y29uc3QgaT0oMCxyLmNsb25lKSh0KTtyZXR1cm4oMCxyLmFkZF9kYXRlKShpLHMpLHQuZ2V0VGltZSgpPGkuZ2V0VGltZSgpfHwoMCxyLmFkZF9kYXRlKShpLDcpLGl9c3RhdGljIF9wYXJzZVNlc3Npb25EYXkoZSx0LHMpe2NvbnN0IG49W107Zm9yKGNvbnN0IHIgb2YgdC5zcGxpdCgiLCIpLmZpbHRlcihjKSlpZihyLmluY2x1ZGVzKG8uU0VTU0lPTl9TUEVDX1NZTUJPTF9VTklGSUVEKSl7Y29uc3QgaT1yLnNwbGl0KG8uU0VTU0lPTl9TUEVDX1NZTUJPTF9VTklGSUVEKSxhPVtdO2ZvcihsZXQgcj0wO3I8aS5sZW5ndGg7cisrKXtjb25zdCBkPXRoaXMuX3BhcnNlVW5pZmllZEludGVydmFsKGUsdCxpW3JdLDA9PT1yLHMpO24ucHVzaChuZXcgby5VbmlmaWVkRW50cnlEZWNvcmF0b3IoZCxhKSl9YS5zb3J0KG8uY29tcGFyZVNlc3Npb25FbnRyaWVzKX1lbHNlIGlmKHIuaW5jbHVkZXMoby5TRVNTSU9OX1NQRUNfU1lNQk9MX1VOSUZJRURfU0hJRlRFRCkpe2NvbnN0IGk9ci5zcGxpdChvLlNFU1NJT05fU1BFQ19TWU1CT0xfVU5JRklFRF9TSElGVEVEKSxhPVtdO2ZvcihsZXQgcj0wO3I8aS5sZW5ndGg7cisrKXtjb25zdCBkPXRoaXMuX3BhcnNlVW5pZmllZEludGVydmFsKGUsdCxpW3JdLDA9PT1yLHMpO24ucHVzaChuZXcgby5VbmlmaWVkU2hpZnRlZEVudHJ5RGVjb3JhdG9yKGQsYSkpfWEuc29ydChvLmNvbXBhcmVTZXNzaW9uRW50cmllcyl9ZWxzZSBuLnB1c2godGhpcy5fcGFyc2VTZXNzaW9uRW50cnkoZSxyLHMpKTtyZXR1cm4gbn1zdGF0aWMgX3BhcnNlVW5pZmllZEludGVydmFsKGUsdCxzLG4scil7aWYoIW4mJnMuaW5jbHVkZXMoby5TRVNTSU9OX1NQRUNfU1lNQk9MX0JBUlNfT0ZGU0VUKSl0aHJvdyBuZXcgRXJyb3IoYGJhZCBzZXNzaW9uOiAke3R9LiBVbmlmaWVkIGludGVydmFscyBjYW4gY29udGFpbiBvbmx5IG9uZSAnJHtvLlNFU1NJT05fU1BFQ19TWU1CT0xfQkFSU19PRkZTRVR9Jy4gU3BlY2lmeSAnJHtvLlNFU1NJT05fU1BFQ19TWU1CT0xfQkFSU19PRkZTRVR9JyBvbmx5IGZvciB0aGUgZmlyc3QgaW50ZXJ2YWxgKTtyZXR1cm4gdGhpcy5fcGFyc2VTZXNzaW9uRW50cnkoZSxzLHIpfXN0YXRpYyBfcGFyc2VTZXNzaW9uRW50cnkoZSx0LHMpe2NvbnN0IG49dC5zcGxpdChvLlNFU1NJT05fU1BFQ19TWU1CT0xfRVhURU5ERUQpO2lmKG4ubGVuZ3RoPjIpdGhyb3cgbmV3IEVycm9yKGBiYWQgc2Vzc2lvbjogJHt0fS4gT25seSBvbmUgJyR7by5TRVNTSU9OX1NQRUNfU1lNQk9MX0VYVEVOREVEfScgaXMgYWxsb3dlZCBwZXIgc2Vzc2lvbiBpbnRlcnZhbGApO2NvbnN0IHI9blswXS5zcGxpdChvLlNFU1NJT05fU1BFQ19TWU1CT0xfQkFSU19PRkZTRVQpO2lmKHIubGVuZ3RoPjIpdGhyb3cgbmV3IEVycm9yKGBiYWQgc2Vzc2lvbjogJHt0fS4gT25seSBvbmUgJyR7by5TRVNTSU9OX1NQRUNfU1lNQk9MX0JBUlNfT0ZGU0VUfScgaXMgYWxsb3dlZCBwZXIgc2Vzc2lvbiBpbnRlcnZhbGApO2NvbnN0IGk9clswXS5zcGxpdCgiLSIpO2lmKDIhPT1pLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoYGJhZCBzZXNzaW9uOiAke3R9YCk7bGV0IGE9MCxkPWlbMF07aWYoZC5pbmNsdWRlcygiRiIpKXtjb25zdCBlPWQuc3BsaXQoIkYiKTtkPWVbMF0sYT0iIiE9PWVbMV0/cGFyc2VJbnQoZVsxXSk6MX1sZXQgaD0wLGY9aVsxXTtpZihmLmluY2x1ZGVzKCJGIikpe2NvbnN0IGU9Zi5zcGxpdCgiRiIpO2Y9ZVswXSxoPSIiIT09ZVsxXT9wYXJzZUludChlWzFdKToxfWNvbnN0IHk9dGhpcy5fbWludXRlc0Zyb21ISE1NKGQsdCxzKSxjPXRoaXMuX21pbnV0ZXNGcm9tSEhNTShmLHQscyk7bGV0IF89dGhpcy5fY3JlYXRlU2Vzc2lvbkVudHJ5KGUseSxjLGEsaCk7aWYoMj09PXIubGVuZ3RoKXtjb25zdCBlPXRoaXMuX21pbnV0ZXNGcm9tSEhNTShyWzFdLHQscyk7Xz10aGlzLl9kZWNvcmF0ZVdpdGhPZmZzZXQoXyxlLHksYyxhLGgpfWlmKDI9PT1uLmxlbmd0aCl7Y29uc3QgZT1uWzFdLnNwbGl0KCItIik7aWYoMiE9PWUubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb246ICR7dH0uIEluY29ycmVjdCBleHRlbmRlZCBpbnRlcnZhbGApO2xldCByPTAsaT1lWzBdO2lmKGkuaW5jbHVkZXMoIkYiKSl7Y29uc3QgZT1pLnNwbGl0KCJGIik7aT1lWzBdLHI9IiIhPT1lWzFdP3BhcnNlSW50KGVbMV0pOjF9bGV0IG89MCxhPWVbMV0KO2lmKGEuaW5jbHVkZXMoIkYiKSl7Y29uc3QgZT1hLnNwbGl0KCJGIik7YT1lWzBdLG89IiIhPT1lWzFdP3BhcnNlSW50KGVbMV0pOjF9Y29uc3QgZD10aGlzLl9taW51dGVzRnJvbUhITU0oaSx0LHMpLGg9dGhpcy5fbWludXRlc0Zyb21ISE1NKGEsdCxzKTtfPXRoaXMuX2RlY29yYXRlV2l0aEV4dGVuc2lvbihfLGQsaCxyLG8pfXJldHVybiBffXN0YXRpYyBfbWludXRlc0Zyb21ISE1NKGUsdCxzKXtpZig0PT09ZS5sZW5ndGgmJmgoZS5jaGFyQ29kZUF0KDApKSYmaChlLmNoYXJDb2RlQXQoMSkpJiZoKGUuY2hhckNvZGVBdCgyKSkmJmgoZS5jaGFyQ29kZUF0KDMpKSl7Y29uc3QgdD1wYXJzZUludChlKSxuPU1hdGgudHJ1bmModC8xMDApLHI9dCUxMDA7aWYoIXN8fG48MjQmJnI8NjApcmV0dXJuIHIrNjAqbn10aHJvdyBuZXcgRXJyb3IoYGluY29ycmVjdCBlbnRyeSBzeW50YXg6ICR7dH1gKX1zdGF0aWMgX3BhcnNlRGF5KGUsdCxzKXtpZig4PT09ZS5sZW5ndGgmJmgoZS5jaGFyQ29kZUF0KDApKSYmaChlLmNoYXJDb2RlQXQoMSkpJiZoKGUuY2hhckNvZGVBdCgyKSkmJmgoZS5jaGFyQ29kZUF0KDMpKSYmaChlLmNoYXJDb2RlQXQoNCkpJiZoKGUuY2hhckNvZGVBdCg1KSkmJmgoZS5jaGFyQ29kZUF0KDYpKSYmaChlLmNoYXJDb2RlQXQoNykpKXtjb25zdCB0PXBhcnNlSW50KGUuc3Vic3RyaW5nKDAsNCkpLG49cGFyc2VJbnQoZS5zdWJzdHJpbmcoNCw2KSkscj1wYXJzZUludChlLnN1YnN0cmluZyg2LDgpKTtpZighc3x8dGhpcy5faXNWYWxpZERheU9mTW9udGgocixuLHQpKXJldHVybiBuZXcgaS5CdXNpbmVzc0RheSh0LG4scil9dGhyb3cgbmV3IEVycm9yKGBiYWQgJHt0fSBkYXRlOiAke2V9YCl9c3RhdGljIF9pc1ZhbGlkRGF5T2ZNb250aChlLHQscyl7cmV0dXJuISh0PDF8fHQ+MTIpJiYoIShlPDF8fGU+Zlt0XSl8fCEoMiE9PXR8fDI5IT09ZXx8ISgwLHIuaXNfbGVhcF95ZWFyKShzKSkpfXN0YXRpYyBfcGFyc2VXb3JraW5nRGF5cyhlKXtjb25zdCB0PVtdO2ZvcihsZXQgcz0wO3M8ZS5sZW5ndGg7cysrKXtjb25zdCBuPWUuY2hhckNvZGVBdChzKS00ODtpZihuPDF8fG4+Nyl0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGF5cyBzcGVjaWZpY2F0aW9uOiAke2V9YCk7dC5pbmNsdWRlcyhuKXx8dC5wdXNoKG4pfXJldHVybiB0fXN0YXRpYyBfY3JlYXRlU2Vzc2lvbkVudHJ5KGUsdCxzLG4saSl7aWYodShuLCJzdGFydERheXNBZ28iKSx1KGksImVuZERheXNBZ28iKSwobj1sKHQscz1fKHMpLG4saSkpPGkpdGhyb3cgbmV3IEVycm9yKGBlcnJvciBwYXJzaW5nIHNlc3Npb24sIHZpb2xhdGlvbiBzdGFydERheXNBZ28gPj0gZW5kRGF5c0Fnbywgc3RhcnREYXlzQWdvPSR7bn0sIGVuZERheXNBZ289JHtpfWApO24+MCYmKHQtPW4qci5taW51dGVzUGVyRGF5KSxpPjAmJihzLT1pKnIubWludXRlc1BlckRheSk7Y29uc3QgYT1zLXQ7aWYoIShlPj1yLlNVTkRBWSYmZTw9ci5TQVRVUkRBWSYmdDxyLm1pbnV0ZXNQZXJEYXkmJmE+MCkpdGhyb3cgbmV3IEVycm9yKCJlcnJvciBwYXJzaW5nIHNlc3Npb24sIGludmFsaWQgZGF0YSIpO3JldHVybiBuZXcgby5TZXNzaW9uc1NwZWNFbnRyeShlLHQsYSl9c3RhdGljIF9kZWNvcmF0ZVdpdGhFeHRlbnNpb24oZSx0LHMsbixpKXtpZih1KG4sImV4dGVuZGVkLnN0YXJ0RGF5c0FnbyIpLHUoaSwiZXh0ZW5kZWQuZW5kRGF5c0FnbyIpLChuPWwodCxzPV8ocyksbixpKSk+MCYmKHQtPW4qci5taW51dGVzUGVyRGF5KSxpPjAmJihzLT1pKnIubWludXRlc1BlckRheSksdD09PWUuc3RhcnRPZmZzZXQoKSYmcz09PWUuZW5kT2Zmc2V0KCkpcmV0dXJuIGU7aWYodD5lLnN0YXJ0T2Zmc2V0KCl8fHM8ZS5lbmRPZmZzZXQoKSl0aHJvdyBuZXcgRXJyb3IoImVycm9yIHBhcnNpbmcgc2Vzc2lvbiwgZXh0ZW5kZWQgaW50ZXJ2YWwgbXVzdCBiZSB3aWRlciB0aGFuIG9yIGVxdWFsIHRvIHRoZSBiYXNlIGludGVydmFsIik7cmV0dXJuIG5ldyBvLkV4dGVuZGVkRW50cnlEZWNvcmF0b3IoZSx0LHMpfXN0YXRpYyBfZGVjb3JhdGVXaXRoT2Zmc2V0KGUsdCxzLG4saSxhKXtyZXR1cm4gdD09PXM/ZTooaT1sKHMsbj1fKG4pLGksYSksdD5zJiYodC09ci5taW51dGVzUGVyRGF5KSxpPjAmJih0LT1pKnIubWludXRlc1BlckRheSksbmV3IG8uT2Zmc2V0RW50cnlEZWNvcmF0b3IoZSx0KSl9c3RhdGljIF9wYXJzZUhvbGlkYXlzQW5kQ29ycmVjdGlvbnNJbXBsKGUsdCxzLG4pe2NvbnN0IGk9bmV3IHk7aWYoIiIhPT10KXtjb25zdCBlPVtdO2Zvcihjb25zdCBzIG9mIHQuc3BsaXQoIiwiKSl7Y29uc3QgdD10aGlzLl9wYXJzZURheShzLCJob2xpZGF5IixuKTtpLnNldCh0LGUpfX1pZigiIj09PXMpcmV0dXJuIGk7Zm9yKGNvbnN0IGUgb2Ygcy5zcGxpdCgiOyIpKXtjb25zdCB0PWUuc3BsaXQoIjoiKTtpZigyIT09dC5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKGBiYWQgY29ycmVjdGlvbiBzZWN0aW9uOiAke2V9YCk7aWYoImRheW9mZiI9PT10WzBdKWZvcihjb25zdCBlIG9mIHRbMV0uc3BsaXQoIiwiKSl7Y29uc3QgdD10aGlzLl9wYXJzZURheShlLCJjb3JyZWN0aW9uIixuKTtpLnNldCh0LFtdKX1lbHNlIGZvcihjb25zdCBlIG9mIHRbMV0uc3BsaXQoIiwiKSl7Y29uc3Qgcz10aGlzLl9wYXJzZURheShlLCJjb3JyZWN0aW9uIixuKSxvPSgwLHIuZ2V0X2RheV9vZl93ZWVrKShzLnRvQ2FsZW5kYXIoKSksYT10aGlzLl9wYXJzZVNlc3Npb25EYXkobyx0WzBdLG4pO2kuc2V0KHMsYSl9fXJldHVybiBpfX19LDU1OTY5KGUsdCxzKXtzLmQodCx7U2Vzc2lvbnNTcGVjOigpPT5nfSk7dmFyIG49cygxMzg2MzgpLHI9cyg3MDA4MDkpLGk9cygxOTg5MDEpLG89cygzMDgyMSksYT1zKDM0MTAzNiksZD1zKDMyOTA0MSk7ZnVuY3Rpb24gaChlLHQpe3JldHVybiBlLmNvbXBhcmVUbyh0KTwwfWZ1bmN0aW9uIGYoZSx0KXsKY29uc3Qgcz1lLmRheU9mV2VlaygpKnIubWludXRlc1BlckRheSxuPXMrZS5leHRlbmRlZFN0YXJ0T2Zmc2V0KCksaT1zK2UuZXh0ZW5kZWRFbmRPZmZzZXQoKSxvPXQuZGF5T2ZXZWVrKCkqci5taW51dGVzUGVyRGF5LGE9byt0LmV4dGVuZGVkU3RhcnRPZmZzZXQoKSxkPW8rdC5leHRlbmRlZEVuZE9mZnNldCgpO3JldHVybiEobjw9YSYmYTxpfHxhPD1uJiZuPGQpJiZuPGF9ZnVuY3Rpb24geShlLHQpe2NvbnN0IHM9ZS5kYXlPZldlZWsoKSpyLm1pbnV0ZXNQZXJEYXksbj1zK2UuZXh0ZW5kZWRTdGFydE9mZnNldCgpLGk9cytlLmV4dGVuZGVkRW5kT2Zmc2V0KCksbz10LmRheU9mV2VlaygpKnIubWludXRlc1BlckRheSxhPW8rdC5leHRlbmRlZFN0YXJ0T2Zmc2V0KCksZD1vK3QuZXh0ZW5kZWRFbmRPZmZzZXQoKTtyZXR1cm4gbjw9YSYmYTxpfHxhPD1uJiZuPGQ/MDpuPmE/MTotMX1jb25zdCBjPSgwLHIuZ2V0X3RpbWV6b25lKSgiRXRjL1VUQyIpO2Z1bmN0aW9uIF8oZSl7cmV0dXJuIDFlNCplLnllYXIrMTAwKmUubW9udGgrZS5kYXl9dmFyIGw7IWZ1bmN0aW9uKGUpe2VbZS5DbG9zZXN0PTBdPSJDbG9zZXN0IixlW2UuRmlyc3RJbkRheT0tMV09IkZpcnN0SW5EYXkiLGVbZS5MYXN0SW5EYXk9MV09Ikxhc3RJbkRheSJ9KGx8fChsPXt9KSk7Y2xhc3MgdXtjb25zdHJ1Y3RvcihlKXt0aGlzLl92YWx1ZT1lfWdldCgpe3JldHVybiB0aGlzLl92YWx1ZX1zZXQoZSl7dGhpcy5fdmFsdWU9ZX19Y2xhc3MgZ3tjb25zdHJ1Y3RvcihlPSJFdGMvVVRDIix0PSIwMDAwLTAwMDAiLHM9IiIsbj0iIixpPSExKXtjb25zdCBvPW5ldyBkLlNlc3Npb25zU3BlY1BhcnNlcjtpP28ucGFyc2VTZXNzaW9uc0FuZFZhbGlkYXRlRGF0ZVRpbWUoZSx0KTpvLnBhcnNlU2Vzc2lvbnMoZSx0KSx0aGlzLl9lbnRyaWVzPW8uaGlzdG9yeUVudHJpZXMsdGhpcy5faGFzSGlzdG9yeUNvcnJlY3Rpb25zPW8uaGFzSGlzdG9yeUNvcnJlY3Rpb25zLHRoaXMuX3ByZXNlbnRIaXN0b3J5RW50cnk9by5oaXN0b3J5RW50cmllc1tvLmhpc3RvcnlFbnRyaWVzLmxlbmd0aC0xXSx0aGlzLl90aW1lem9uZT1vLnRpbWV6b25lLHRoaXMuX3RpbWV6b25lT2JqPSgwLHIuZ2V0X3RpbWV6b25lKShvLnRpbWV6b25lKSx0aGlzLl9ob2xpZGF5QW5kQ29ycmVjdGlvbk1hcD1pP2QuU2Vzc2lvbnNTcGVjUGFyc2VyLnBhcnNlSG9saWRheXNBbmRDb3JyZWN0aW9uc0FuZFZhbGlkYXRlRGF0ZVRpbWUoZSxzLG4pOmQuU2Vzc2lvbnNTcGVjUGFyc2VyLnBhcnNlSG9saWRheXNBbmRDb3JyZWN0aW9ucyhlLHMsbixpKTtjb25zdCBhPXRoaXMuX2hvbGlkYXlBbmRDb3JyZWN0aW9uTWFwLmtleXMoKTt0aGlzLl9lbnRyaWVzSGFzaD1uZXcgTWFwO2NvbnN0IGg9dGhpcy5fcHJlcGFyZVNlc3Npb25zQm9yZGVyUGFyYW1zKCk7dGhpcy5fYm9yZGVyV2Vla3NJbmRpY2VzSGFzaD1oLmJvcmRlcldlZWtzSW5kaWNlc0hhc2gsdGhpcy5feWVhclRvV2Vla3NJbmRpY2VzSGFzaD1oLnllYXJUb1dlZWtzSW5kaWNlc0hhc2gsdGhpcy5fd2Vla0luZGljZXNPZkxhc3RIaXN0b3J5V2Vlaz1oLndlZWtJbmRpY2VzT2ZMYXN0SGlzdG9yeVdlZWssdGhpcy5fcHJlc2VudFN0YXJ0V2Vla0luZGV4PWguc3RhcnRQcmVzZW50U2Vzc2lvbldlZWtJbmRleCx0aGlzLl95ZWFyVG9DYWxjdWxhdGVkQWRkZWRXZWVrSW5kaWNlc0hhc2g9bmV3IE1hcCwiIj09PXMmJiIiPT09biYmbnVsbD09PXRoaXMuX3dlZWtJbmRpY2VzT2ZMYXN0SGlzdG9yeVdlZWs/dGhpcy5faXNUaGVyZUNvcnJlY3Rpb25zPSExOnRoaXMuX2lzVGhlcmVDb3JyZWN0aW9ucz0hMDtmb3IoY29uc3QgZSBvZiBhKXtjb25zdCB0PXRoaXMuZ2V0V2Vla0luZGV4KGUudG9DYWxlbmRhcigpKTt0aGlzLl9lbnRyaWVzSGFzaC5zZXQodCxuZXcgdShudWxsKSl9dGhpcy5fc29ydGVkSG9saWRheXM9Wy4uLnRoaXMuX2hvbGlkYXlBbmRDb3JyZWN0aW9uTWFwLmVudHJpZXMoKV0ubWFwKCgoW2UsdF0pPT4oe2tleTpfKGUpLGRheTplLHNlc3Npb25zOnR9KSkpLnNvcnQoKChlLHQpPT5lLmtleS10LmtleSkpLHRoaXMuX2hvbGlkYXlDb3VudFByZWZpeFN1bXM9dGhpcy5faGFzSGlzdG9yeUNvcnJlY3Rpb25zP251bGw6dGhpcy5fYnVpbGRIb2xpZGF5Q291bnRQcmVmaXhTdW1zKCl9aGFzSGlzdG9yeUNvcnJlY3Rpb25zKCl7cmV0dXJuIHRoaXMuX2hhc0hpc3RvcnlDb3JyZWN0aW9uc31maXJzdERheU9mV2Vlaygpe3JldHVybiB0aGlzLl9wcmVzZW50SGlzdG9yeUVudHJ5LmdldEVudHJpZXMoKS5maXJzdERheU9mV2VlaygpfWluY2x1ZGVzRGF5KGUpe3JldHVybiB0aGlzLl9nZXRFbnRyaWVzRm9yRGF5KGUpLmxlbmd0aD4wfWdldEVudHJpZXNGb3JXZWVrKGUpe2lmKCF0aGlzLl9pc1RoZXJlQ29ycmVjdGlvbnMpcmV0dXJuIHRoaXMuX3ByZXNlbnRIaXN0b3J5RW50cnkuZ2V0RW50cmllcygpOygwLG4uYXNzZXJ0KShlPj0wKTtjb25zdCB0PWUscz10aGlzLl9lbnRyaWVzSGFzaC5nZXQodCk7aWYodm9pZCAwPT09cyl7cmV0dXJuIHRoaXMuX2dldEhpc3RvcnlBbmRJbmRleEZvcldlZWsodCkuZ2V0RW50cmllcygpfWxldCByPXMuZ2V0KCk7aWYobnVsbCE9PXIpcmV0dXJuIHI7bGV0IGk9bnVsbDtjb25zdCBoPXRoaXMuX2JvcmRlcldlZWtzSW5kaWNlc0hhc2guZ2V0KHQpO2k9dm9pZCAwPT09aD90aGlzLl9nZXRIaXN0b3J5QW5kSW5kZXhGb3JXZWVrKHQpLmdldEVudHJpZXMoKTp0aGlzLl9wcmVwYXJlQm9yZGVyV2Vla0hpc3RvcnkoaCk7Y29uc3QgZj1uZXcgTWFwKGkuZW50cmllc0J5RGF5KCkpO2xldCB5PVsuLi5pLmxpc3QoKV07Y29uc3QgYz10aGlzLl93ZWVrSW5kZXhUb0xvY2FsRGF0ZVRpbWUoZSksXz10aGlzLl93ZWVrSW5kZXhUb0xvY2FsRGF0ZVRpbWUoZSsxKSxsPW8uQnVzaW5lc3NEYXkuZnJvbUNhbGVuZGFyKGMpLHU9by5CdXNpbmVzc0RheS5mcm9tQ2FsZW5kYXIoXyk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fc2VsZWN0SG9saWRheXMobCx1KSl7Y29uc3QgdD1lLmRheS5nZXREYXlPZldlZWsoKTt5PXkuZmlsdGVyKChlPT5lLmRheU9mV2VlaygpIT09dCkpLHkucHVzaCguLi5lLnNlc3Npb25zKSwKMD09PWUuc2Vzc2lvbnMubGVuZ3RoP2YuZGVsZXRlKHQpOmYuc2V0KHQsZS5zZXNzaW9ucyl9eS5zb3J0KGEuY29tcGFyZVNlc3Npb25FbnRyaWVzKTtjb25zdCBnPWQud29ya2luZ0RheXNBbmRXZWVrRW5kcy5sZW5ndGgtZi5zaXplO3JldHVybiByPW5ldyBhLlNlc3Npb25zU3BlY0VudHJpZXMoeSxmLGkuZmlyc3REYXlPZldlZWsoKSxnKSxzLnNldChyKSxyfWdldEhpc3RvcnlCeUluZGV4KGUpe3JldHVybiB0aGlzLl9lbnRyaWVzW2VdfXRpbWV6b25lKCl7cmV0dXJuIHRoaXMuX3RpbWV6b25lfXRpbWV6b25lT2JqKCl7cmV0dXJuIHRoaXMuX3RpbWV6b25lT2JqfWxvbmdlc3RTZXNzaW9uTGVuZ3RoKCl7bGV0IGU9dGhpcy5fcHJlc2VudEhpc3RvcnlFbnRyeS5nZXRFbnRyaWVzKCkubG9uZ2VzdFNlc3Npb25MZW5ndGgoKTtmb3IobGV0IHQ9MDt0PHRoaXMuX2VudHJpZXMubGVuZ3RoLTE7dCsrKXtjb25zdCBzPXRoaXMuX2VudHJpZXNbdF0uZ2V0RW50cmllcygpLmxvbmdlc3RTZXNzaW9uTGVuZ3RoKCk7ZT1NYXRoLm1heChlLHMpfWxldCB0PS0xLzA7Zm9yKGNvbnN0IGUgb2YgdGhpcy5faG9saWRheUFuZENvcnJlY3Rpb25NYXAudmFsdWVzKCkpdD1NYXRoLm1heCh0LC4uLmUubWFwKChlPT5lLmxlbmd0aCgpKSkpO3JldHVybiBNYXRoLm1heCh0LGUpfWlzV2Vla0VuZChlKXtjb25zdCB0PXRoaXMuZ2V0V2Vla0luZGV4KGUpO2xldCBzO3JldHVybiBzPXZvaWQgMD09PXRoaXMuX2JvcmRlcldlZWtzSW5kaWNlc0hhc2guZ2V0KHQpP3RoaXMuX2dldEhpc3RvcnlBbmRJbmRleEZvcldlZWsodCkuZ2V0RW50cmllcygpOnRoaXMuZ2V0RW50cmllc0ZvcldlZWsodCkscy5pc1dlZWtFbmQoKDAsci5nZXRfZGF5X29mX3dlZWspKGUpKX1pc0NhbFdlZWtFbmQoZSl7Y29uc3QgdD0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSk7aWYoIXRoaXMuX2lzVGhlcmVDb3JyZWN0aW9ucylyZXR1cm4gdGhpcy5fcHJlc2VudEhpc3RvcnlFbnRyeS5nZXRFbnRyaWVzKCkuaXNXZWVrRW5kKHQpO2NvbnN0IHM9dGhpcy5nZXRXZWVrSW5kZXgoZSksbj10aGlzLmdldEVudHJpZXNGb3JXZWVrKHMpLGk9by5CdXNpbmVzc0RheS5mcm9tQ2FsZW5kYXIoZSksYT10aGlzLl9ob2xpZGF5QW5kQ29ycmVjdGlvbk1hcC5nZXQoaSk7cmV0dXJuIHZvaWQgMD09PWE/bi5pc1dlZWtFbmQodCk6MD09PWEubGVuZ3RofWhvbGlkYXlzRnJvbVllYXJTdGFydChlKXtjb25zdCB0PWUgaW5zdGFuY2VvZiBvLkJ1c2luZXNzRGF5P2U6by5CdXNpbmVzc0RheS5mcm9tQ2FsZW5kYXIoZSk7cmV0dXJuIHRoaXMuX2hvbGlkYXlzRnJvbVllYXJTdGFydCh0KX1kYXlzT2ZmRnJvbVllYXJTdGFydChlKXtjb25zdCB0PSgwLHIuZ2V0X2NhbCkoYywoMCxyLmdldF95ZWFyKShlKSxyLkpBTlVBUlksMSkscz10aGlzLmdldFdlZWtJbmRleCh0KSxuPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KSxpPSgwLHIuZ2V0X2RheV9vZl93ZWVrKShlKS0xO2lmKCgwLHIuZ2V0X2RheV9vZl95ZWFyKShlKStuPD1yLkxBU1RfREFZX09GX1dFRUsrci5GSVJTVF9EQVlfT0ZfV0VFSylyZXR1cm4gdGhpcy5fZ2V0RGF5c09mZkZvcldlZWtJbkJvcmRlcnMocyxuLGkpO2NvbnN0IG89dGhpcy5nZXRXZWVrSW5kZXgoZSk7bGV0IGE9dGhpcy5fZ2V0RGF5c09mZkZvcldlZWtJbkJvcmRlcnMocyxuLHIuTEFTVF9EQVlfT0ZfV0VFSyk7Zm9yKGxldCBlPXMrMTtlPG87ZSsrKXthKz10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpLndlZWtFbmRzQ291bnQoKX1yZXR1cm4gYSs9dGhpcy5fZ2V0RGF5c09mZkZvcldlZWtJbkJvcmRlcnMobyxyLkZJUlNUX0RBWV9PRl9XRUVLLGkpLGF9d2Vla0VuZHNDb3VudEZvclNpbmdsZVNlc3Npb24oKXtyZXR1cm4oMCxuLmFzc2VydCkoIXRoaXMuaGFzSGlzdG9yeUNvcnJlY3Rpb25zKCkpLHRoaXMuX3ByZXNlbnRIaXN0b3J5RW50cnkuZ2V0RW50cmllcygpLndlZWtFbmRzQ291bnQoKX1pbnRyYWRheUNhbkJlQnVpbHRGcm9tMjR4NyhlKXtmb3IoY29uc3QgdCBvZiB0aGlzLl9lbnRyaWVzKWlmKCF0LmdldEVudHJpZXMoKS5saXN0KCkuZXZlcnkoKHQ9PnQuc3RhcnQoKSVlPT0wJiZ0Lmxlbmd0aCgpJWU9PTApKSlyZXR1cm4hMTtyZXR1cm4hMH1pbnRyYWRheUNhbkJlQnVpbHRGcm9tMjR4N1NlY29uZHMoZSl7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fZW50cmllcylpZighdC5nZXRFbnRyaWVzKCkubGlzdCgpLmV2ZXJ5KCh0PT42MCp0LnN0YXJ0KCklZT09MCYmNjAqdC5sZW5ndGgoKSVlPT0wKSkpcmV0dXJuITE7cmV0dXJuITB9aW5kZXhPZlNlc3Npb24oZSx0LHMsbz1oKXsoMCxuLmFzc2VydCkodD49ci5TVU5EQVkmJnQ8PXIuU0FUVVJEQVkpLCgwLG4uYXNzZXJ0KShzPj0wJiZzPHIubWludXRlc1BlckRheSk7Y29uc3QgZD10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpLGY9ZC5saXN0KCk7bGV0IHk9KDAsaS5sb3dlcmJvdW5kKShmLG5ldyBhLlNlc3Npb25zU3BlY0VudHJ5KHQscywwKSxvKTtpZih5PGYubGVuZ3RoKXJldHVybiBuZXcgYS5TZXNzaW9uc1NwZWNFbnRyeUluZGV4KGUseSxbLi4uZl0pO2xldCBjPWUrMSxfPXRoaXMuZ2V0RW50cmllc0ZvcldlZWsoYyk7aWYoMCE9PV8ubGlzdCgpLmxlbmd0aCl7Y29uc3QgZT03LXQrXy5maXJzdERheU9mV2VlaygpLTE7aWYocz0tKHIubWludXRlc1BlckRheS1zK2Uqci5taW51dGVzUGVyRGF5KSx5PSgwLGkubG93ZXJib3VuZCkoXy5saXN0KCksbmV3IGEuU2Vzc2lvbnNTcGVjRW50cnkoXy5maXJzdERheU9mV2VlaygpLHMsMCksbykseTxfLmxpc3QoKS5sZW5ndGgpcmV0dXJuIG5ldyBhLlNlc3Npb25zU3BlY0VudHJ5SW5kZXgoYyx5LFsuLi5fLmxpc3QoKV0pfWZvcig7OylpZihjKysscy09ci5taW51dGVzUGVyV2VlayxfPXRoaXMuZ2V0RW50cmllc0ZvcldlZWsoYyksMCE9PV8ubGlzdCgpLmxlbmd0aCYmKHk9KDAsaS5sb3dlcmJvdW5kKShfLmxpc3QoKSxuZXcgYS5TZXNzaW9uc1NwZWNFbnRyeShkLmZpcnN0RGF5T2ZXZWVrKCkscywwKSxvKSwhKHk+PV8ubGlzdCgpLmxlbmd0aCkpKXJldHVybiBuZXcgYS5TZXNzaW9uc1NwZWNFbnRyeUluZGV4KGMseSxbLi4uXy5saXN0KCldKX0KZmluZFNlc3Npb24oZSx0LHMsbj0wLHI9aCl7Y29uc3QgaT10aGlzLmluZGV4T2ZTZXNzaW9uKGUsdCxzLHIpLG89aS5lbnRyaWVzO2xldCBkPWkuZW50cnlJbmRleDtpZigwIT09bil7Y29uc3QgZT1vW2RdLmRheU9mV2VlaygpLHQ9bj4wPzE6LTE7Zm9yKDs7KXtjb25zdCBzPWQrdDtpZihzPDB8fHM+PW8ubGVuZ3RofHxvW3NdLmRheU9mV2VlaygpIT09ZSlicmVhaztkPXN9fXJldHVybiBuZXcgYS5TZXNzaW9uc1NwZWNFbnRyeUluZGV4KGkud2Vla0luZGV4LGQsbyl9Z2V0V2Vla0luZGV4KGUpe3JldHVybiB0aGlzLl9pc1RoZXJlQ29ycmVjdGlvbnM/Zy5fZ2V0V2Vla0luZGV4SW1wbChlKTowfWNvcnJlY3RUcmFkaW5nRGF5KGUpe2NvbnN0IHQ9dGhpcy5fY29ycmVjdFRyYWRpbmdEYXkodGhpcy5nZXRXZWVrSW5kZXgoZSksKDAsci5nZXRfZGF5X29mX3dlZWspKGUpLCgwLHIuZ2V0X21pbnV0ZXNfd2l0aF9ob3VycykoZSkpLHM9KDAsci5jbG9uZSkoZSk7cmV0dXJuKDAsci5hZGRfZGF0ZSkocyx0KSxzfWFsaWduVG9TZXNzaW9uU3RhcnQoZSx0PTApe2NvbnN0IHM9KDAsci5nZXRfZGF5X29mX3dlZWspKGUpLG49KDAsci5nZXRfbWludXRlc19mcm9tX21pZG5pZ2h0KShlKSxpPXRoaXMuZ2V0V2Vla0luZGV4KGUpLG89dGhpcy5maW5kU2Vzc2lvbihpLHMsbix0KSxhPW8uZ2V0RW50cnkoKSxkPWEuZGF5T2ZXZWVrKCktcys3Kk1hdGgudHJ1bmMoby53ZWVrSW5kZXgtaSk7MCE9PWQmJigwLHIuYWRkX2RhdGUpKGUsZCk7Y29uc3QgaD1hLnN0YXJ0T2Zmc2V0KCk7cmV0dXJuKDAsci5zZXRfaG1zKShlLE1hdGgudHJ1bmMoaC82MCksaCU2MCwwLDApLGEubGVuZ3RoKCl9YWxpZ25Ub0VudHJ5U3RhcnQoZSx0PTApe3JldHVybiB0aGlzLl9kb0FsaWduVG9FbnRyeVN0YXJ0KGUsdCxoKX1hbGlnblRvRW50cnlTdGFydEV4dGVuZGVkKGUsdD0wKXtyZXR1cm4gdGhpcy5fZG9BbGlnblRvRW50cnlTdGFydChlLHQsZil9YnVzaW5lc3NEYXlzVG9DYWxlbmRhckRheXMoZSx0KXtyZXR1cm4gdGhpcy5fYnVzaW5lc3NEYXlzVG9DYWxlbmRhckRheXModGhpcy5nZXRXZWVrSW5kZXgoZSksKDAsci5nZXRfZGF5X29mX3dlZWspKGUpLHQpfWNhbGVuZGFyRGF5c1RvQnVzaW5lc3NEYXlzKGUsdCl7cmV0dXJuIHRoaXMuX2NhbGVuZGFyRGF5c1RvQnVzaW5lc3NEYXlzKHRoaXMuZ2V0V2Vla0luZGV4KGUpLCgwLHIuZ2V0X2RheV9vZl93ZWVrKShlKSx0KX1hbGlnblRvTmVhcmVzdFNlc3Npb25TdGFydChlLHQpe3JldHVybiB0aGlzLl9hbGlnblRvTmVhcmVzdFNlc3Npb25WYWx1ZShlLHQsdGhpcy5fZW50cnlTZXNzaW9uU3RhcnQuYmluZCh0aGlzKSl9YWxpZ25Ub05lYXJlc3RTZXNzaW9uRW5kKGUsdCl7cmV0dXJuIHRoaXMuX2FsaWduVG9OZWFyZXN0U2Vzc2lvblZhbHVlKGUsdCx0aGlzLl9lbnRyeVNlc3Npb25FbmQuYmluZCh0aGlzKSl9Ym9yZGVyc09mRGFpbHlCYXIoZSl7Y29uc3QgdD10aGlzLl9nZXRFbnRyaWVzRm9yRGF5KGUpO2lmKDA9PT10Lmxlbmd0aClyZXR1cm4gbnVsbDtjb25zdCBzPXQuc2xpY2UoKTtzLnNvcnQoYS5jb21wYXJlU2Vzc2lvbkVudHJpZXMpO2NvbnN0IG49dGhpcy5fZ2V0TGVmdEVudHJ5Qm9yZGVyKGUsc1swXSksaT1zW3MubGVuZ3RoLTFdLG89NjAqKGkuc3RhcnRPZmZzZXQoKStpLmxlbmd0aCgpKS0xLGQ9KDAsci5jbG9uZSkoZSk7cmV0dXJuKDAsci5zZXRfc2Vjb25kcykoZCxvKSx7ZnJvbTpuLHRvOmR9fWxlZnRCb3JkZXJPZkRhaWx5QmFyKGUpe2NvbnN0IHQ9dGhpcy5fZ2V0RW50cmllc0ZvckRheShlKTtpZigwPT09dC5sZW5ndGgpcmV0dXJuIG51bGw7Y29uc3Qgcz10LnNsaWNlKCk7cmV0dXJuIHMuc29ydChhLmNvbXBhcmVTZXNzaW9uRW50cmllcyksdGhpcy5fZ2V0TGVmdEVudHJ5Qm9yZGVyKGUsc1swXSl9Y2hlY2tTZXNzaW9uKCl7cmV0dXJuIHRoaXMuX2NoZWNrRWFjaEhpc3RvcnlTZXNzaW9uKCkmJnRoaXMuX2NoZWNrU3BlY2lhbEVudHJpZXMoKSYmdGhpcy5fY2hlY2tUb29NYW55Q29ycmVjdGlvbnNPbldlZWsoKX1pblNlc3Npb24oZSl7ZT1uZXcgRGF0ZSgxZTMqTWF0aC5mbG9vcihlLmdldFRpbWUoKS8xZTMpKTtjb25zdCB0PXRoaXMuYWxpZ25Ub05lYXJlc3RTZXNzaW9uU3RhcnQoZSwtMSkscz10aGlzLmFsaWduVG9OZWFyZXN0U2Vzc2lvbkVuZCh0LDEpO3JldHVybiEoZS5nZXRUaW1lKCk+cy5nZXRUaW1lKCkpfWhhc1dlZWtFbmRzKCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fZW50cmllcylpZigwIT09ZS5nZXRFbnRyaWVzKCkud2Vla0VuZHNDb3VudCgpKXJldHVybiEwO3JldHVybiExfWdldFdlZWtJbmRpY2VzV2l0aEFkZGl0aW9uYWxXZWVrQmFycyhlKXtsZXQgdD10aGlzLl95ZWFyVG9DYWxjdWxhdGVkQWRkZWRXZWVrSW5kaWNlc0hhc2guZ2V0KGUpO3JldHVybiB2b2lkIDA9PT10JiYodD10aGlzLl9jYWxjdWxhdGVBZGRlZEluZGljZXMoZSksdGhpcy5feWVhclRvQ2FsY3VsYXRlZEFkZGVkV2Vla0luZGljZXNIYXNoLnNldChlLHQpKSx0fV9kb0FsaWduVG9FbnRyeVN0YXJ0KGUsdCxzKXtjb25zdCBuPSgwLHIuZ2V0X2RheV9vZl93ZWVrKShlKSxpPSgwLHIuZ2V0X21pbnV0ZXNfZnJvbV9taWRuaWdodCkoZSksbz10aGlzLmdldFdlZWtJbmRleChlKSxhPXRoaXMuZmluZFNlc3Npb24obyxuLGksdCxzKSxkPWEuZ2V0RW50cnkoKSxoPWQuZGF5T2ZXZWVrKCktbis3Kk1hdGgudHJ1bmMoYS53ZWVrSW5kZXgtbyk7MCE9PWgmJigwLHIuYWRkX2RhdGUpKGUsaCk7Y29uc3QgZj1kLnN0YXJ0T2Zmc2V0KCk7cmV0dXJuKDAsci5zZXRfaG1zKShlLE1hdGgudHJ1bmMoZi82MCksZiU2MCwwLDApLHtsZW5ndGg6ZC5sZW5ndGgoKSxlbnRyeTpkfX1fcHJlcGFyZVNlc3Npb25zQm9yZGVyUGFyYW1zKCl7Y29uc3QgZT1uZXcgTWFwLHQ9bmV3IE1hcDtsZXQgcz1udWxsO3RoaXMuX2VudHJpZXMubGVuZ3RoPjEmJihzPUFycmF5LmZyb20oe2xlbmd0aDp0aGlzLl9lbnRyaWVzLmxlbmd0aC0xfSwoKCk9PjApKSk7bGV0IHI9MDtmb3IobGV0IGk9MDtpPHRoaXMuX2VudHJpZXMubGVuZ3RoLTE7aSsrKXtjb25zdCBvPXRoaXMuX2VudHJpZXNbaSsxXSxhPSgwLApuLmVuc3VyZU5vdE51bGwpKG8uZ2V0U3RhcnREYXkoKSk7cj1nLl9nZXRXZWVrSW5kZXhJbXBsKGEpLGUuc2V0KHIsaSsxKSx0aGlzLl9hZGRUb1llYXJIYXNoKHQsYSxyKSx0aGlzLl9lbnRyaWVzSGFzaC5zZXQocixuZXcgdShudWxsKSksKDAsbi5lbnN1cmVOb3ROdWxsKShzKVtpXT1yfXJldHVybntib3JkZXJXZWVrc0luZGljZXNIYXNoOmUseWVhclRvV2Vla3NJbmRpY2VzSGFzaDp0LHN0YXJ0UHJlc2VudFNlc3Npb25XZWVrSW5kZXg6cix3ZWVrSW5kaWNlc09mTGFzdEhpc3RvcnlXZWVrOnN9fV9hZGRUb1llYXJIYXNoKGUsdCxzKXtjb25zdCBuPSgwLHIuZ2V0X3llYXIpKHQpO2xldCBpPWUuZ2V0KG4pO3ZvaWQgMD09PWkmJihpPVtdLGUuc2V0KG4saSkpLGkucHVzaChzKX1fZ2V0SGlzdG9yeUFuZEluZGV4Rm9yV2VlayhlKXtpZih0aGlzLl9wcmVzZW50U3RhcnRXZWVrSW5kZXg8PWUpcmV0dXJuIHRoaXMuX3ByZXNlbnRIaXN0b3J5RW50cnk7Y29uc3QgdD10aGlzLl9nZXRJbmRleE9mSGlzdG9yeUVudHJ5KGUpO3JldHVybiB0aGlzLl9lbnRyaWVzW3RdfV9nZXRJbmRleE9mSGlzdG9yeUVudHJ5KGUpe2xldCB0PTAscz10aGlzLl9lbnRyaWVzLmxlbmd0aC0xLHI9TWF0aC5mbG9vcigodCtzKS8yKTtmb3IoKDAsbi5hc3NlcnQpKG51bGwhPT10aGlzLl93ZWVrSW5kaWNlc09mTGFzdEhpc3RvcnlXZWVrKTs7KXtpZih0aGlzLl93ZWVrSW5kaWNlc09mTGFzdEhpc3RvcnlXZWVrW3JdPj1lKXtpZihzPXItMSxzPHQpcmV0dXJuIHJ9ZWxzZSBpZih0PXIrMSxzPHQpcmV0dXJuIHIrMTtyPU1hdGguZmxvb3IoKHQrcykvMil9fV9zZWxlY3RIb2xpZGF5cyhlLHQpe2NvbnN0IHM9dGhpcy5fbG93ZXJCb3VuZEhvbGlkYXlJbmRleChfKGUpKSxuPXRoaXMuX2xvd2VyQm91bmRIb2xpZGF5SW5kZXgoXyh0KSk7cmV0dXJuIHRoaXMuX3NvcnRlZEhvbGlkYXlzLnNsaWNlKHMsbil9X2xvd2VyQm91bmRIb2xpZGF5SW5kZXgoZSl7cmV0dXJuKDAsaS5sb3dlcmJvdW5kKSh0aGlzLl9zb3J0ZWRIb2xpZGF5cyxlLCgoZSx0KT0+ZS5rZXk8dCkpfV9wcmVwYXJlQm9yZGVyV2Vla0hpc3RvcnkoZSl7Y29uc3QgdD10aGlzLl9lbnRyaWVzW2UtMV0scz10aGlzLl9lbnRyaWVzW2VdLGk9bmV3IE1hcCxvPVtdLGg9KDAsci5nZXRfZGF5X29mX3dlZWspKCgwLG4uZW5zdXJlTm90TnVsbCkocy5nZXRTdGFydERheSgpKSk7Zm9yKGxldCBlPTA7ZTxkLndvcmtpbmdEYXlzQW5kV2Vla0VuZHMubGVuZ3RoO2UrKyl7Y29uc3Qgbj1kLndvcmtpbmdEYXlzQW5kV2Vla0VuZHNbZV07aWYobjxoKXtjb25zdCBlPXQuZ2V0RW50cmllcygpLmVudHJpZXNCeURheSgpLmdldChuKTt2b2lkIDAhPT1lJiYoby5wdXNoKC4uLmUpLGkuc2V0KG4sZSkpfWVsc2V7Y29uc3QgZT1zLmdldEVudHJpZXMoKS5lbnRyaWVzQnlEYXkoKS5nZXQobik7dm9pZCAwIT09ZSYmKG8ucHVzaCguLi5lKSxpLnNldChuLGUpKX19cmV0dXJuIG5ldyBhLlNlc3Npb25zU3BlY0VudHJpZXMobyxpLHMuZ2V0RW50cmllcygpLmZpcnN0RGF5T2ZXZWVrKCksMCl9X2hvbGlkYXlzRnJvbVllYXJTdGFydChlKXtpZighdGhpcy5faXNUaGVyZUNvcnJlY3Rpb25zKXJldHVybiAwOygwLG4uYXNzZXJ0KSghdGhpcy5oYXNIaXN0b3J5Q29ycmVjdGlvbnMoKSk7Y29uc3QgdD0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2hvbGlkYXlDb3VudFByZWZpeFN1bXMpLHM9dGhpcy5fbG93ZXJCb3VuZEhvbGlkYXlJbmRleChfKGUuZmlyc3REYXlPZlllYXIoKSkpO3JldHVybiB0W3RoaXMuX2xvd2VyQm91bmRIb2xpZGF5SW5kZXgoXyhlKSldLXRbc119X2J1aWxkSG9saWRheUNvdW50UHJlZml4U3Vtcygpe2NvbnN0IGU9dGhpcy5fcHJlc2VudEhpc3RvcnlFbnRyeS5nZXRFbnRyaWVzKCksdD1uZXcgQXJyYXkodGhpcy5fc29ydGVkSG9saWRheXMubGVuZ3RoKzEpO3RbMF09MDtmb3IobGV0IHM9MDtzPHRoaXMuX3NvcnRlZEhvbGlkYXlzLmxlbmd0aDtzKyspe2NvbnN0IG49dGhpcy5fc29ydGVkSG9saWRheXNbc10scj0wPT09bi5zZXNzaW9ucy5sZW5ndGg7bGV0IGk9MDtpPWUuaXNXZWVrRW5kKG4uZGF5LmdldERheU9mV2VlaygpKT9yPzA6LTE6cj8xOjAsdFtzKzFdPXRbc10raX1yZXR1cm4gdH1fZ2V0RGF5c09mZkZvcldlZWtJbkJvcmRlcnMoZSx0LHMpe2xldCBuPTA7Y29uc3Qgcj10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpO2ZvcihsZXQgZT10O2U8PXM7ZSsrKXIuZW50cmllc0J5RGF5KCkuaGFzKGUpfHxuKys7cmV0dXJuIG59X3dlZWtJbmRleFRvTG9jYWxEYXRlVGltZShlKXtjb25zdCB0PU1hdGguZmxvb3IoODY0MDAqZSo3Kzg2NDAwLTYyMTY3MjE5MjAwKSxzPSgwLHIuZ2V0X2NhbF9mcm9tX3VuaXhfdGltZXN0YW1wX21zKShjLDFlMyp0KTtyZXR1cm4oMCxyLnNldF9obXMpKHMsMCwwLDAsMCksc31fY29ycmVjdFRyYWRpbmdEYXkoZSx0LHMpe2NvbnN0IG49dGhpcy5maW5kU2Vzc2lvbihlLHQscywwKTtyZXR1cm4gbi5nZXRFbnRyeSgpLmRheU9mV2VlaygpLXQrNypNYXRoLnRydW5jKG4ud2Vla0luZGV4LWUpfV9lbnRyeVNlc3Npb25WYWx1ZShlLHQscyxuKXt0PSgwLHIuY2xvbmUpKHQpO2xldCBpPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KTtjb25zdCBvPWUuZ2V0RW50cnkoKTtsZXQgYT1vLmRheU9mV2VlaygpLW8uc2Vzc2lvblN0YXJ0RGF5c09mZnNldCgpO2NvbnN0IGQ9dGhpcy5nZXRXZWVrSW5kZXgodCk7bGV0IGg9TWF0aC50cnVuYyhlLndlZWtJbmRleC1kKSxmPSExO2lmKGE8ci5TVU5EQVkmJihoPD0wP2Y9ITA6aC0tLGErPTcpLChoPjAmJnM+PTB8fGg8MCYmczwwKSYmKDAsci5hZGRfZGF0ZSkodCw3KmgpLCFvLmNvbnRhaW5zKHQpKXtsZXQgZT1hLWk7ZiYmczwwJiYoZT0tKDctYStpKSksKDAsci5hZGRfZGF0ZSkodCxlKSxpPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KX1pZihvLmlzT3Zlcm5pZ2h0KCkpe2NvbnN0IGU9by5zZXNzaW9uU3RhcnREYXlzT2Zmc2V0KCkscz0oaS0oby5kYXlPZldlZWsoKS1lKSs3KSU3OzAhPT1zJiYoMCxyLmFkZF9kYXRlKSh0LC1zKX1jb25zdCB5PW4obyk7cmV0dXJuKDAsci5zZXRfc2Vjb25kcykodCx5KSx0fQpfYnVzaW5lc3NEYXlzVG9DYWxlbmRhckRheXMoZSx0LHMpe2xldCBuPTAsaT0wO2Zvcig7aTxzOyl7Y29uc3Qgbz10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpO2ZvcihsZXQgZT10O2U8PXIuU0FUVVJEQVk7ZSsrKWlmKG4rKyx2b2lkIDAhPT1vLmVudHJpZXNCeURheSgpLmdldChlKSYmaSsrLGk+PXMpcmV0dXJuIG47ZSsrLHQ9ci5TVU5EQVl9cmV0dXJuIG59X2NhbGVuZGFyRGF5c1RvQnVzaW5lc3NEYXlzKGUsdCxzKXtsZXQgbj0wLGk9MDtmb3IoO248czspe2NvbnN0IG89dGhpcy5nZXRFbnRyaWVzRm9yV2VlayhlKTtmb3IobGV0IGU9dDtlPD1yLlNBVFVSREFZO2UrKylpZihuKyssdm9pZCAwIT09by5lbnRyaWVzQnlEYXkoKS5nZXQoZSkmJmkrKyxuPj1zKXJldHVybiBpO2UrKyx0PXIuU1VOREFZfXJldHVybiBpfV9lbnRyeVNlc3Npb25TdGFydChlLHQscyl7cmV0dXJuIHRoaXMuX2VudHJ5U2Vzc2lvblZhbHVlKGUsdCxzLChlPT42MCplLnN0YXJ0KCkpKX1fZW50cnlTZXNzaW9uRW5kKGUsdCxzKXtyZXR1cm4gdGhpcy5fZW50cnlTZXNzaW9uVmFsdWUoZSx0LHMsKGU9PjYwKihlLnN0YXJ0KCkrZS5sZW5ndGgoKSktMSkpfV9hbGlnblRvTmVhcmVzdFNlc3Npb25WYWx1ZShlLHQscyl7Y29uc3Qgbj0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSksaT0oMCxyLmdldF9taW51dGVzX3dpdGhfaG91cnMpKGUpLG89dGhpcy5nZXRXZWVrSW5kZXgoZSk7bGV0IGQ9dGhpcy5maW5kU2Vzc2lvbihvLG4saSk7aWYoMT09PXQpcmV0dXJuIHMoZCxlLHQpO2NvbnN0IGg9ZC5nZXRFbnRyeSgpLGY9aC5jb250YWlucyhlKSx5PW89PT1kLndlZWtJbmRleCxjPWguc2Vzc2lvblN0YXJ0RGF5c09mZnNldCgpLWguZGF5T2ZXZWVrKCk+PTA7aWYoZiYmKHl8fGMpKXJldHVybiBzKGQsZSx0KTtsZXQgXz1kLmVudHJ5SW5kZXgtMTtpZihfPDApe2xldCBlPWQud2Vla0luZGV4LHQ9ZC5lbnRyaWVzO2lmKDA9PT1lKWUtLSxfKz10Lmxlbmd0aDtlbHNlIGZvcig7XzwwOyllLS0sdD10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpLmxpc3QoKSxfKz10Lmxlbmd0aDtkPW5ldyBhLlNlc3Npb25zU3BlY0VudHJ5SW5kZXgoZSxfLHQpfWVsc2UgZD1uZXcgYS5TZXNzaW9uc1NwZWNFbnRyeUluZGV4KGQud2Vla0luZGV4LF8sZC5lbnRyaWVzKTtyZXR1cm4gcyhkLGUsdCl9X2dldEVudHJpZXNGb3JEYXkoZSl7Y29uc3QgdD0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSkscz10aGlzLmdldEVudHJpZXNGb3JXZWVrKHRoaXMuZ2V0V2Vla0luZGV4KGUpKS5lbnRyaWVzQnlEYXkoKS5nZXQodCk7cmV0dXJuIHZvaWQgMCE9PXM/czpbXX1fZ2V0TGVmdEVudHJ5Qm9yZGVyKGUsdCl7bGV0IHM9dC5zdGFydE9mZnNldCgpO2NvbnN0IG49LU1hdGgudHJ1bmMoKHMtMTQzOSkvMTQ0MCk7cys9MTQ0MCpuO2NvbnN0IGk9KDAsci5nZXRfY2FsKShjLCgwLHIuZ2V0X3llYXIpKGUpLCgwLHIuZ2V0X21vbnRoKShlKSwoMCxyLmdldF9kYXlfb2ZfbW9udGgpKGUpLE1hdGgudHJ1bmMocy82MCkscyU2MCwwKTtyZXR1cm4oMCxyLmFkZF9kYXRlKShpLC1uKSxpfV9jaGVja0VhY2hIaXN0b3J5U2Vzc2lvbigpe2Zvcihjb25zdCBlIG9mIHRoaXMuX2VudHJpZXMpe2NvbnN0IHQ9ZS5nZXRFbnRyaWVzKCkubGlzdCgpO2lmKCF0aGlzLl9jaGVja0VudHJpZXNGb3JJbnRlcnNlY3Rpb25zKHQsdCx0KSlyZXR1cm4hMX1yZXR1cm4hMH1fY2hlY2tFbnRyaWVzRm9ySW50ZXJzZWN0aW9ucyhlLHQscyl7Y29uc3Qgbj10aGlzLl9idWlsZFRlc3RFbnRyaWVzKGUsdCxzKTtmb3IobGV0IGU9MDtlPG4ubGVuZ3RoLTE7ZSsrKWZvcihsZXQgdD1lKzE7dDxuLmxlbmd0aDt0KyspaWYoMD09PXkobltlXSxuW3RdKSlyZXR1cm4hMTtyZXR1cm4hMH1fYnVpbGRUZXN0RW50cmllcyhlLHQscyl7Y29uc3Qgbj1bXTtmb3IoY29uc3QgdCBvZiBlKW4ucHVzaChnLl9jbG9uZUVudHJ5V2l0aERheSh0LHQuZGF5T2ZXZWVrKCkpKTtmb3IoY29uc3QgZSBvZiB0KW4ucHVzaChnLl9jbG9uZUVudHJ5V2l0aERheShlLGUuZGF5T2ZXZWVrKCkrNykpO2Zvcihjb25zdCBlIG9mIHMpbi5wdXNoKGcuX2Nsb25lRW50cnlXaXRoRGF5KGUsZS5kYXlPZldlZWsoKSsxNCkpO3JldHVybiBufV9jaGVja1NwZWNpYWxFbnRyaWVzKCl7Zm9yKGNvbnN0W2Vdb2YgdGhpcy5fZW50cmllc0hhc2gpe2NvbnN0IHQ9dGhpcy5nZXRFbnRyaWVzRm9yV2VlayhlKS5saXN0KCkscz10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUtMSkubGlzdCgpLG49dGhpcy5nZXRFbnRyaWVzRm9yV2VlayhlKzEpLmxpc3QoKTtpZighdGhpcy5fY2hlY2tFbnRyaWVzRm9ySW50ZXJzZWN0aW9ucyhzLHQsbikpcmV0dXJuITF9cmV0dXJuITB9X2NoZWNrVG9vTWFueUNvcnJlY3Rpb25zT25XZWVrKCl7aWYodGhpcy5fZW50cmllcy5sZW5ndGg8MilyZXR1cm4hMDtmb3IobGV0IGU9MDtlPHRoaXMuX2VudHJpZXMubGVuZ3RoLTI7ZSsrKXtjb25zdCB0PXRoaXMuX2VudHJpZXNbZV0scz10aGlzLl9lbnRyaWVzW2UrMV07aWYodGhpcy5nZXRXZWVrSW5kZXgoKDAsbi5lbnN1cmVOb3ROdWxsKSh0LmdldFNwZWNFbmREYXkoKSkpPT09dGhpcy5nZXRXZWVrSW5kZXgoKDAsbi5lbnN1cmVOb3ROdWxsKShzLmdldFNwZWNFbmREYXkoKSkpKXJldHVybiExfXJldHVybiEwfV9jYWxjdWxhdGVBZGRlZEluZGljZXMoZSl7Y29uc3QgdD1bXSxzPXRoaXMuX3llYXJUb1dlZWtzSW5kaWNlc0hhc2guZ2V0KGUpO2lmKHZvaWQgMD09PXMpcmV0dXJuIHQ7Zm9yKGNvbnN0IGUgb2Ygcyl7Y29uc3Qgcz0oMCxuLmVuc3VyZURlZmluZWQpKHRoaXMuX2JvcmRlcldlZWtzSW5kaWNlc0hhc2guZ2V0KGUpKSxpPXRoaXMuX2VudHJpZXNbc10sbz10aGlzLl9lbnRyaWVzW3MtMV07bGV0IGE9aS5nZXRFbnRyaWVzKCkuZmlyc3REYXlPZldlZWsoKS1vLmdldEVudHJpZXMoKS5maXJzdERheU9mV2VlaygpO2Zvcig7YT4wOyl7Y29uc3Qgbz0oMCxyLmNsb25lKSgoMCxuLmVuc3VyZU5vdE51bGwpKGkuZ2V0U3RhcnREYXkoKSkpO2lmKCgwLHIuYWRkX2RhdGUpKG8sLWEpLCF0aGlzLmlzQ2FsV2Vla0VuZChvKSl7Y29uc3Qgbj17ZW50cnlJbmRleDpzLAp3ZWVrSW5kZXg6ZX07dC5wdXNoKG4pO2JyZWFrfWEtLX19cmV0dXJuIHR9c3RhdGljIF9jbG9uZUVudHJ5V2l0aERheShlLHQpe2lmKGUuaXNFeHRlbmRlZCgpKXtjb25zdCBzPW5ldyBhLlNlc3Npb25zU3BlY0VudHJ5KHQsZS5zdGFydE9mZnNldCgpLGUubGVuZ3RoKCkpO3JldHVybiBuZXcgYS5FeHRlbmRlZEVudHJ5RGVjb3JhdG9yKHMsZS5leHRlbmRlZFN0YXJ0T2Zmc2V0KCksZS5leHRlbmRlZEVuZE9mZnNldCgpKX1yZXR1cm4gbmV3IGEuU2Vzc2lvbnNTcGVjRW50cnkodCxlLnN0YXJ0T2Zmc2V0KCksZS5sZW5ndGgoKSl9c3RhdGljIF9nZXRXZWVrSW5kZXhJbXBsKGUpe2NvbnN0IHQ9KDAsci5nZXRfY2FsX3V0YykoKDAsci5nZXRfeWVhcikoZSksKDAsci5nZXRfbW9udGgpKGUpLDEpOygwLHIuYWRkX2RhdGUpKHQsKDAsci5nZXRfZGF5X29mX21vbnRoKShlKS0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSkpO2NvbnN0IHM9dC5nZXRUaW1lKCkvMWUzO3JldHVybigwLG4uYXNzZXJ0KSgocys2MjE2NzIxOTIwMCklODY0MDA9PTApLE1hdGgudHJ1bmMoKHMrNjIxNjcyMTkyMDApLzg2NDAwLzcpfX19LDkwMjg0MihlLHQscyl7ZnVuY3Rpb24gbihlKXtyZXR1cm4gcihlLDIpfWZ1bmN0aW9uIHIoZSx0PTIpe2NvbnN0IHM9ZS50b1N0cmluZygpO3JldHVybiIwIi5yZXBlYXQoTWF0aC5tYXgoMCx0LXMubGVuZ3RoKSkrc31zLmQodCx7YWRkTGVhZGluZ1plcm86KCk9Pm4sYWRkTGVhZGluZ1plcm9zOigpPT5yfSl9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/54681.a717110e6749f307ed6d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.978Z","timestamp":1785120633978,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/54681.a717110e6749f307ed6d.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"6a041685-15e\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 13 May 2026 06:13:25 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.52\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/13/2026 09:56:17\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 28854dee42dcfa153a5548c92e365dc6\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":350,"size_decoded":954,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (350), with no line terminators","md5":"f2e28dcef513e7329db6a3a69720bb48","sha1":"d2b0bc2f96723e3d74402c72a78a9a449405c692","sha256":"b2adba47f3ef9121bd8fb32842dcca6edcc4b9e36084de7724ef7244f6b03640","sha512":"97e9c6797a664f80308677fd34c5ddaafe0f74b206038c67761074bc9062d4439f8bd8aaae50193cd70d06f3baa8f30eb1fad236115eb4cda845f8dc922c1e2f","ssdeep":"","tlshash":"60e08cc3f0c6000444a341329c00b738fdaf98588b836ea4805e77304b166cf3b30dae","first_seen":"2026-05-13T13:23:52.95015Z","last_seen":"2026-07-27T05:24:15.769905Z","times_seen":1850,"resource_available":false,"data":"LmktaGlkZGVue2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LmktaW52aXNpYmxle3Zpc2liaWxpdHk6aGlkZGVuIWltcG9ydGFudH0uaS1hbGlnbl9sZWZ0e3RleHQtYWxpZ246c3RhcnQhaW1wb3J0YW50fS5pLWFsaWduX3JpZ2h0e3RleHQtYWxpZ246ZW5kIWltcG9ydGFudH0uaS1hbGlnbl9jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50fS5pLWZsb2F0X2xlZnR7ZmxvYXQ6aW5saW5lLXN0YXJ0IWltcG9ydGFudH0uaS1mbG9hdF9yaWdodHtmbG9hdDppbmxpbmUtZW5kIWltcG9ydGFudH0uaS1mbG9hdF9ub25le2Zsb2F0Om5vbmUhaW1wb3J0YW50fS5pLW5vLWJyZWFre3doaXRlLXNwYWNlOm5vd3JhcH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"snowplow-pixel.tradingview.com/com.tradingview/track","fqdn":"snowplow-pixel.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"32.186.65.3","port":443,"asn":0,"as":"","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"beacon","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.609Z","timestamp":1785120634609,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"POST /com.tradingview/track HTTP/1.1\r\nHost: snowplow-pixel.tradingview.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: application/json\r\nContent-Length: 1596\r\nOrigin: https://www.tradingview-widget.com\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6\r\n\r\n","headers":null,"cookies":null,"method":"POST","post_data":{"size":1596,"data":"{\"schema\":\"iglu:com.snowplowanalytics.snowplow/payload_data/jsonschema/1-0-4\",\"data\":[{\"e\":\"ue\",\"eid\":\"b2486cf4-a5b9-44a9-8f9e-103bfa494386\",\"tv\":\"js-3.24.1\",\"tna\":\"tv_cf\",\"aid\":\"tradingview\",\"p\":\"web\",\"cookie\":\"1\",\"cs\":\"UTF-8\",\"lang\":\"en-US\",\"res\":\"1280x1024\",\"cd\":\"24\",\"dtm\":\"1785120634518\",\"ue_px\":\"eyJzY2hlbWEiOiJpZ2x1OmNvbS5zbm93cGxvd2FuYWx5dGljcy5zbm93cGxvdy91bnN0cnVjdF9ldmVudC9qc29uc2NoZW1hLzEtMC0wIiwiZGF0YSI6eyJzY2hlbWEiOiJpZ2x1OmNvbS50cmFkaW5ndmlldy93aWRnZXRzX3dpdGhvdXRfd2Vic29ja2V0L2pzb25zY2hlbWEvMS0wLTAiLCJkYXRhIjp7Imhvc3QiOiIyNDdvcHRpb250cmFkZWZ4LmNvbSIsInBhdGgiOiIvIiwid2lkZ2V0X2lkIjoiZm9yZXhzY3JlZW5lciIsImV2ZW50X25hbWUiOiJwYWdlX3ZpZXcifX19\",\"cx\":\"eyJzY2hlbWEiOiJpZ2x1OmNvbS5zbm93cGxvd2FuYWx5dGljcy5zbm93cGxvdy9jb250ZXh0cy9qc29uc2NoZW1hLzEtMC0wIiwiZGF0YSI6W3sic2NoZW1hIjoiaWdsdTpjb20uc25vd3Bsb3dhbmFseXRpY3Muc25vd3Bsb3cvd2ViX3BhZ2UvanNvbnNjaGVtYS8xLTAtMCIsImRhdGEiOnsiaWQiOiI5NTc3NmJlOC0yYWJmLTQ2YmUtYTIxNS0zYTc3MWY5MTdkZTYifX1dfQ\",\"vp\":\"1100x480\",\"ds\":\"1100x480\",\"vid\":\"1\",\"sid\":\"da711556-35ac-4ad3-a212-af7cb2170ed1\",\"refr\":\"https://247optiontradefx.com/\",\"url\":\"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D\",\"stm\":\"1785120634519\"}]}"}},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:35 GMT\r\ncontent-type: text/plain; charset=UTF-8\r\ncontent-length: 2\r\nset-cookie: sp=fcfa20c7-0424-4186-bc0a-dc3db7e889ec; Expires=Tue, 27 Jul 2027 02:50:35 GMT; Path=/; Secure; HttpOnly; SameSite=None\r\np3p: policyref=\"/w3c/p3p.xml\", CP=\"NOI DSP COR NID PSA OUR IND COM NAV STA\"\r\naccess-control-allow-origin: https://www.tradingview-widget.com\r\naccess-control-allow-credentials: true\r\nserver: akka-http/10.2.9\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Snowplow Analytics","description":"Snowplow is an open-source behavioral data management platform for businesses.","website":"https://snowplowanalytics.com","common_platform_enumeration":"","icon":"Snowplow.svg","categories":["Analytics","IaaS"]},{"name":"Akka HTTP:10.2.9","description":"","website":"https://akka.io","common_platform_enumeration":"cpe:2.3:a:lightbend:akka_http:*:*:*:*:*:*:*:*","icon":"akka-http.png","categories":["Web frameworks","Web servers"]},{"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":0,"size_decoded":0,"mime_type":"text/plain; charset=UTF-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-07-27T05:14:11.3544Z","times_seen":17556491,"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":"ssltvc.forexprostools.com/cc6698fccca44e51b088d9ddbbcf8ec8/1785120633/7/7/17/history?symbol=945629\u0026resolution=5\u0026from=1785117659\u0026to=1785120659","fqdn":"ssltvc.forexprostools.com","domain":"forexprostools.com","tld":"com"},"ip":{"addr":"172.64.145.17","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://tvc-invdn-cf-com.investing.com/tool/1.12.10/tool-prod-2-ssl.html?carrier=cc6698fccca44e51b088d9ddbbcf8ec8\u0026time=1785120633\u0026domain_ID=7\u0026lang_ID=7\u0026timezone_ID=17\u0026version=1.12.10\u0026locale=ru\u0026timezone=Europe/Moscow\u0026pair_ID=945629\u0026interval=5\u0026session=24x7\u0026prefix=ru\u0026suffix=\u0026client=0\u0026user=\u0026plotStyle=area\u0026geoc=NO\u0026styleOverride=","date":"2026-07-27T02:50:59.247Z","timestamp":1785120659247,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ssltvc.forexprostools.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 01 Jul 2026 07:28:49 GMT","end":"Tue, 29 Sep 2026 08:28:41 GMT"},"fingerprint":{"sha1":"A5:B9:A3:37:7A:C1:B6:8A:CE:8E:33:4E:C4:D0:99:66:F7:7A:73:97","sha256":"71:C3:86:3A:F2:24:C3:AF:EF:93:54:97:D5:74:4E:5F:D9:86:A5:FC:AC:5A:03:59:95:7F:14:56:28:BF:61:89"}}},"request":{"raw":"GET /cc6698fccca44e51b088d9ddbbcf8ec8/1785120633/7/7/17/history?symbol=945629\u0026resolution=5\u0026from=1785117659\u0026to=1785120659 HTTP/1.1\r\nHost: ssltvc.forexprostools.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://tvc-invdn-cf-com.investing.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://tvc-invdn-cf-com.investing.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 02:50:59 GMT\r\ncontent-type: text/html; charset=utf-8\r\nserver: cloudflare\r\nset-cookie: __cf_bm=dBP_2AyjYpY_1h_CqOuuyZjHVVQcHBI0Srood6yyqzc-1785120659.2490988-1.0.1.1-GpOPpnWiKxBqcW5bhDywEak2egDnLMmAUgYGPiu8P9S.zOi3sM0zy0Il.Qe9UGt2T9P72Ep1Dnzre83KReU3aRVTfbavxmDkn0s7CtTvABqjq9A3CLA3sph0oZ5O2j1K; HttpOnly; SameSite=None; Secure; Path=/; Domain=forexprostools.com; Expires=Mon, 27 Jul 2026 03:20:59 GMT\r\naccess-control-allow-origin: https://tvc-invdn-cf-com.investing.com\r\nx-requested-with: XMLHttpRequest\r\naccess-control-allow-methods: POST, GET, OPTIONS, PUT, DELETE\r\naccess-control-allow-headers: Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, accept, sessionid, x-csrftoken, content-type\r\nx-benchmark-1a: 0ms, mem alloc - 2.00Mb start\r\nx-benchmark-1b: 1ms, mem alloc - 2.00Mb getPairIdBySymbol\r\nx-benchmark-1c: 1ms, mem alloc - 2.00Mb getIntervalByResolution\r\nx-benchmark-1d: 6ms, mem alloc - 2.00Mb getPairDataAndAttributes in TradingviewConnector::findCandles\r\nx-benchmark-1e: 8ms, mem alloc - 2.00Mb getCandles in TradingviewConnector::findCandles\r\nx-benchmark-1f: 8ms, mem alloc - 2.00Mb end of TradingviewConnector::findCandles\r\nx-benchmark-1g: 8ms, mem alloc - 2.00Mb findCandles\r\nvary: Accept-Encoding,User-Agent\r\ncontent-security-policy: upgrade-insecure-requests; block-all-mixed-content\r\ncf-cache-status: DYNAMIC\r\ncontent-encoding: gzip\r\ncf-ray: a21856f84e4b1a30-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"Cloudflare Bot Management","description":"Cloudflare bot management solution identifies and mitigates automated traffic to protect websites from bad bots.","website":"https://www.cloudflare.com/en-gb/products/bot-management/","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["Security"]}],"data":{"size":416,"size_decoded":1678,"mime_type":"text/html; charset=utf-8","magic":"JSON text data","md5":"a92ef0dabf92edbc5543a3e5c1c5c974","sha1":"85941ef4ad70410249996397e41419f90ec6779c","sha256":"116107ba5d27255d77c65b0311a62bde9caf1cde77bfcff069d12975a6ee1f22","sha512":"6b88856e7ab4f89fac2cce0533ec1fc83ab0bca4d07d770ad7840c3a8d0af40f59a9479118fb6ad6dd6f60c83d02d40235191184bba4abe9b0a5b68925a637ab","ssdeep":"","tlshash":"16e01a32ebd3c02342d1b74503c92c2d2ae7ca1ea6d39934b3511a190f8e8d30f5db44","first_seen":"2026-07-27T02:51:26.847727Z","last_seen":"2026-07-27T02:51:26.847727Z","times_seen":1,"resource_available":false,"data":"eyJ0IjpbMTc4NTExNzkwMCwxNzg1MTE4MjAwLDE3ODUxMTg1MDAsMTc4NTExODgwMCwxNzg1MTE5MTAwLDE3ODUxMTk0MDAsMTc4NTExOTcwMCwxNzg1MTIwMDAwLDE3ODUxMjAzMDAsMTc4NTEyMDYwMF0sImMiOls2NTI2Myw2NTI2OCw2NTI2OSw2NTIyOSw2NTIzNiw2NTE5MSw2NTMwOCw2NTMwNiw2NTI3OSw2NTI1OF0sIm8iOls2NTIxNyw2NTI2Myw2NTI1Nyw2NTI2Niw2NTIzMSw2NTIzNiw2NTE5MSw2NTMwNSw2NTMwNiw2NTI3OV0sImgiOls2NTI2Myw2NTI3MCw2NTI2OSw2NTI4Nyw2NTI2NSw2NTIzNiw2NTMwOCw2NTMzMSw2NTMxNiw2NTI3OV0sImwiOls2NTIwOSw2NTIzNiw2NTIxOSw2NTIxOCw2NTIzMSw2NTE3NCw2NTE4NCw2NTI4NCw2NTI2Miw2NTI1OF0sInYiOlswLDAsMCwwLDAsMCwwLDAsMCwwXSwicyI6Im9rIn0="}},"time_used":52,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":52,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/css/ion.rangeSlider.css","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:32.883Z","timestamp":1785120632883,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /css/ion.rangeSlider.css HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:32 GMT\r\nContent-Type: text/css\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-dad\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":3501,"size_decoded":1192,"mime_type":"text/css","magic":"Unicode text, UTF-8 text, with CRLF line terminators","md5":"f5069b36da2397d9f5a85411a2eb2bec","sha1":"d665f3a2ed4984b74b27c9cc1d8861871e91b7c0","sha256":"fb3e85576e662d2b8afe16d00d9de193303185e8e41e99d2ee749199852c4d0f","sha512":"93e950351f76842255620ae6d1547dbc93ddbb02470ccea2de0392096ce285d2b46e44aa991653a7c734252ee571ab49ac42d51ebdeba35ad04412a1a16e07d9","ssdeep":"","tlshash":"1571902d595112409837f7b09f925b1eed31300fdb4251a8be8da7008f7a388a792f91","first_seen":"2023-04-08T09:24:49Z","last_seen":"2026-07-27T02:59:54.530952Z","times_seen":154,"resource_available":false,"data":"LyogSW9uLlJhbmdlU2xpZGVyDQovLyBjc3MgdmVyc2lvbiAyLjAuMw0KLy8gwqkgMjAxMy0yMDE0IERlbmlzIEluZXNoaW4gfCBJb25EZW4uY29tDQovLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8NCg0KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQovLyBSYW5nZVNsaWRlciAqLw0KDQouaXJzIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGJsb2NrOw0KICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTsNCiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOw0KICAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7DQogICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsNCiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lOw0KICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7DQp9DQogICAgLmlycy1saW5lIHsNCiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyBkaXNwbGF5OiBibG9jazsNCiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgICAgICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICAgICAgLmlycy1saW5lLWxlZnQsIC5pcnMtbGluZS1taWQsIC5pcnMtbGluZS1yaWdodCB7DQogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IGRpc3BsYXk6IGJsb2NrOw0KICAgICAgICAgICAgdG9wOiAwOw0KICAgICAgICB9DQogICAgICAgIC5pcnMtbGluZS1sZWZ0IHsNCiAgICAgICAgICAgIGxlZnQ6IDA7IHdpZHRoOiAxMSU7DQogICAgICAgIH0NCiAgICAgICAgLmlycy1saW5lLW1pZCB7DQogICAgICAgICAgICBsZWZ0OiA5JTsgd2lkdGg6IDgyJTsNCiAgICAgICAgfQ0KICAgICAgICAuaXJzLWxpbmUtcmlnaHQgew0KICAgICAgICAgICAgcmlnaHQ6IDA7IHdpZHRoOiAxMSU7DQogICAgICAgIH0NCg0KICAgIC5pcnMtYmFyIHsNCiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyBkaXNwbGF5OiBibG9jazsNCiAgICAgICAgbGVmdDogMDsgd2lkdGg6IDA7DQogICAgfQ0KICAgICAgICAuaXJzLWJhci1lZGdlIHsNCiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgZGlzcGxheTogYmxvY2s7DQogICAgICAgICAgICB0b3A6IDA7IGxlZnQ6IDA7DQogICAgICAgIH0NCg0KICAgIC5pcnMtc2hhZG93IHsNCiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyBkaXNwbGF5OiBub25lOw0KICAgICAgICBsZWZ0OiAwOyB3aWR0aDogMDsNCiAgICB9DQoNCiAgICAuaXJzLXNsaWRlciB7DQogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgZGlzcGxheTogYmxvY2s7DQogICAgICAgIGN1cnNvcjogZGVmYXVsdDsNCiAgICAgICAgei1pbmRleDogMTsNCiAgICB9DQogICAgICAgIC5pcnMtc2xpZGVyLnNpbmdsZSB7DQoNCiAgICAgICAgfQ0KICAgICAgICAuaXJzLXNsaWRlci5mcm9tIHsNCg0KICAgICAgICB9DQogICAgICAgIC5pcnMtc2xpZGVyLnRvIHsNCg0KICAgICAgICB9DQogICAgICAgIC5pcnMtc2xpZGVyLnR5cGVfbGFzdCB7DQogICAgICAgICAgICB6LWluZGV4OiAyOw0KICAgICAgICB9DQoNCiAgICAuaXJzLW1pbiB7DQogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgZGlzcGxheTogYmxvY2s7DQogICAgICAgIGxlZnQ6IDA7DQogICAgICAgIGN1cnNvcjogZGVmYXVsdDsNCiAgICB9DQogICAgLmlycy1tYXggew0KICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IGRpc3BsYXk6IGJsb2NrOw0KICAgICAgICByaWdodDogMDsNCiAgICAgICAgY3Vyc29yOiBkZWZhdWx0Ow0KICAgIH0NCg0KICAgIC5pcnMtZnJvbSwgLmlycy10bywgLmlycy1zaW5nbGUgew0KICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IGRpc3BsYXk6IGJsb2NrOw0KICAgICAgICB0b3A6IDA7IGxlZnQ6IDA7DQogICAgICAgIGN1cnNvcjogZGVmYXVsdDsNCiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsNCiAgICB9DQoNCi5pcnMtZ3JpZCB7DQogICAgcG9zaXRpb246IGFic29sdXRlOyBkaXNwbGF5OiBub25lOw0KICAgIGJvdHRvbTogMDsgbGVmdDogMDsNCiAgICB3aWR0aDogMTAwJTsgaGVpZ2h0OiAyMHB4Ow0KfQ0KLmlycy13aXRoLWdyaWQgLmlycy1ncmlkIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCn0NCiAgICAuaXJzLWdyaWQtcG9sIHsNCiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgICAgICB0b3A6IDA7IGxlZnQ6IDA7DQogICAgICAgIHdpZHRoOiAxcHg7IGhlaWdodDogOHB4Ow0KICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwOw0KICAgIH0NCiAgICAuaXJzLWdyaWQtcG9sLnNtYWxsIHsNCiAgICAgICAgaGVpZ2h0OiA0cHg7DQogICAgfQ0KICAgIC5pcnMtZ3JpZC10ZXh0IHsNCiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgICAgICBib3R0b206IDA7IGxlZnQ6IDA7DQogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgZm9udC1zaXplOiA5cHg7IGxpbmUtaGVpZ2h0OiA5cHg7DQogICAgICAgIHBhZGRpbmc6IDAgM3B4Ow0KICAgICAgICBjb2xvcjogIzAwMDsNCiAgICB9DQoNCi5pcnMtZGlzYWJsZS1tYXNrIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IGRpc3BsYXk6IGJsb2NrOw0KICAgIHRvcDogMDsgbGVmdDogLTElOw0KICAgIHdpZHRoOiAxMDIlOyBoZWlnaHQ6IDEwMCU7DQogICAgY3Vyc29yOiBkZWZhdWx0Ow0KICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4wKTsNCiAgICB6LWluZGV4OiAyOw0KfQ0KLmlycy1kaXNhYmxlZCB7DQogICAgb3BhY2l0eTogMC40Ow0KfQ0KLmx0LWllOSAuaXJzLWRpc2FibGVkIHsNCiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NDApOw0KfQ0KDQoNCi5pcnMtaGlkZGVuLWlucHV0IHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsNCiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50Ow0KICAgIHRvcDogMCAhaW1wb3J0YW50Ow0KICAgIGxlZnQ6IDAgIWltcG9ydGFudDsNCiAgICB3aWR0aDogMCAhaW1wb3J0YW50Ow0KICAgIGhlaWdodDogMCAhaW1wb3J0YW50Ow0KICAgIGZvbnQtc2l6ZTogMCAhaW1wb3J0YW50Ow0KICAgIGxpbmUtaGVpZ2h0OiAwICFpbXBvcnRhbnQ7DQogICAgcGFkZGluZzogMCAhaW1wb3J0YW50Ow0KICAgIG1hcmdpbjogMCAhaW1wb3J0YW50Ow0KICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDsNCiAgICB6LWluZGV4OiAtOTk5OSAhaW1wb3J0YW50Ow0KICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkICFpbXBvcnRhbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50Ow0KfQ0K"}},"time_used":92,"timings":{"blocked":-1,"dns":0,"connect":28,"send":0,"wait":27,"receive":0,"ssl":37},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/12385.78561ebdef05ce648b5d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.832Z","timestamp":1785120633832,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/12385.78561ebdef05ce648b5d.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=0\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 02:50:33 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-d425\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a43d9a5db7910bdafef36d631a57d753\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":54309,"size_decoded":5303,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (54309), with no line terminators","md5":"0c88f4a2822b7956fa6a494b66642d6b","sha1":"3d02fd6fb3670db4645274f9d9261007de2c2d4c","sha256":"34608d65050c9883ea16820ce35863032278a925ad8eb001a2b5fa65240fa0a6","sha512":"a3b3660c9b9d810cf9ca78bf392ecc0623bb244d94a7f4d7cabf1f8a56e4e640197527938f544c0d403050bd175789df4437808eec5503b5a7b07cc1a0b401b1","ssdeep":"768:DhiEt1AI8s3XbXbfLAP5xsxF6I00xXxrO/:Dhr8s3XbXbfLAP5xsxF6I00xXxrO/","tlshash":"063358abb6a1a7797b52637e5319f375b380ed7ae4733de3f050402410c69a704caa72","first_seen":"2026-07-16T13:40:49.677399Z","last_seen":"2026-07-27T05:29:38.638714Z","times_seen":264,"resource_available":false,"data":"LmxpZ2h0QnV0dG9uLWtqUmZUbGZ4e2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXVpLWxpYi1saWdodC1idXR0b24tY29sb3ItYmcsdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnKSk7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1saWdodC1idXR0b24tY29sb3ItYm9yZGVyLHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXIpKTtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjFweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6dmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb2xvci1jb250ZW50LHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50KSk7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTppbmxpbmUtZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21heC13aWR0aDoxMDAlO21pbi13aWR0aDo0MHB4O291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5saWdodEJ1dHRvbi1ralJmVGxmeDpmb2N1c3tvdXRsaW5lOm5vbmV9LmxpZ2h0QnV0dG9uLWtqUmZUbGZ4OmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5saWdodEJ1dHRvbi1ralJmVGxmeDphZnRlcntib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDEwcHgpO2luc2V0LWlubGluZS1zdGFydDotNXB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi01cHg7d2lkdGg6Y2FsYygxMDAlICsgMTBweCk7ei1pbmRleDoxfS5saWdodEJ1dHRvbi1ralJmVGxmeDpmb2N1czphZnRlcntkaXNwbGF5OmJsb2NrfS5saWdodEJ1dHRvbi1ralJmVGxmeDpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmxpZ2h0QnV0dG9uLWtqUmZUbGZ4OmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSk6YWZ0ZXJ7ZGlzcGxheTpub25lfS5saWdodEJ1dHRvbi1ralJmVGxmeDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlKX0ubGlnaHRCdXR0b24ta2pSZlRsZngubGluay1ralJmVGxmeHtjdXJzb3I6cG9pbnRlcjstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ubGlnaHRCdXR0b24ta2pSZlRsZngubHRyLWtqUmZUbGZ4e2RpcmVjdGlvbjpsdHJ9LmxpZ2h0QnV0dG9uLWtqUmZUbGZ4LnJ0bC1ralJmVGxmeHtkaXJlY3Rpb246cnRsfS5saWdodEJ1dHRvbi1ralJmVGxmeC50eXBvZ3JhcGh5LXJlZ3VsYXIxNnB4LWtqUmZUbGZ4e2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMH0ubGlnaHRCdXR0b24ta2pSZlRsZngudHlwb2dyYXBoeS1tZWRpdW0xNnB4LWtqUmZUbGZ4LC5saWdodEJ1dHRvbi1ralJmVGxmeC50eXBvZ3JhcGh5LXJlZ3VsYXIxNnB4LWtqUmZUbGZ4e2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS5saWdodEJ1dHRvbi1ralJmVGxmeC50eXBvZ3JhcGh5LW1lZGl1bTE2cHgta2pSZlRsZnh7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwfS5saWdodEJ1dHRvbi1ralJmVGxmeC50eXBvZ3JhcGh5LXJlZ3VsYXIxNHB4LWtqUmZUbGZ4e2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMH0ubGlnaHRCdXR0b24ta2pSZlRsZngudHlwb2dyYXBoeS1yZWd1bGFyMTRweC1ralJmVGxmeCwubGlnaHRCdXR0b24ta2pSZlRsZngudHlwb2dyYXBoeS1zZW1pYm9sZDE0cHgta2pSZlRsZnh7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxNHB4Oy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LmxpZ2h0QnV0dG9uLWtqUmZUbGZ4LnR5cG9ncmFwaHktc2VtaWJvbGQxNHB4LWtqUmZUbGZ4e2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjYwMH0ubGlnaHRCdXR0b24ta2pSZlRsZngudHlwb2dyYXBoeS1zZW1pYm9sZDE2cHgta2pSZlRsZnh7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxNnB4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjYwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS5jb250ZW50LWtqUmZUbGZ4e2Rpc3BsYXk6aW5saW5lLWJsb2NrO21pbi13aWR0aDowO3RleHQtYWxpZ246Y2VudGVyOy0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjazp2YXIoLS11aS1saWItbGlnaHRCdXR0b24tc2hvdy1jaGlsZHJlbiwxKTttYXgtd2lkdGg6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDEpICogKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkpICogOTk5OXB4ICsgbWF4KDAsIDEgLSAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAwKSAqICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDApKSAqIDBweCl9LnZpc3VhbGx5SGlkZGVuLWtqUmZUbGZ4e2Rpc3BsYXk6YmxvY2s7Zm9udC13ZWlnaHQ6NjAwO2hlaWdodDowO292ZXJmbG93OmhpZGRlbjt2aXNpYmlsaXR5OmhpZGRlbn0ubm93cmFwLWtqUmZUbGZ4e2FsaWduLXNlbGY6YXV0bztvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwfS5lbGxpcHNpc0NvbnRhaW5lci1ralJmVGxmeHtkaXNwbGF5OmluaGVyaXQ7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS50ZXh0V3JhcENvbnRhaW5lci1ralJmVGxmeHttYXgtaGVpZ2h0OmNhbGModmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb250ZW50LW1heC1saW5lcykqdmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpKTtvdmVyZmxvdzpoaWRkZW47d29yZC13cmFwOmJyZWFrLXdvcmQ7dGV4dC1hbGlnbjpzdGFydDt3b3JkLWJyZWFrOmJyZWFrLXdvcmR9LnRleHRXcmFwV2l0aEVsbGlwc2lzLWtqUmZUbGZ4e2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtbGluZS1jbGFtcDp2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLWNvbnRlbnQtbWF4LWxpbmVzKTstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpO21heC1oZWlnaHQ6Y2FsYyh2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCkqdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb250ZW50LW1heC1saW5lcykpfS5zbG90LWtqUmZUbGZ4e2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uY2FyZXQta2pSZlRsZngsLnNsb3Qta2pSZlRsZng+c3Bhbltyb2xlPWltZ117ZGlzcGxheTppbmxpbmUtZmxleDtmbGV4LXNocmluazowfS5jYXJldC1ralJmVGxmeHttYXgtaGVpZ2h0OjI4cHg7bWF4LXdpZHRoOjI4cHg7bWluLWhlaWdodDoxOHB4O21pbi13aWR0aDoxOHB4fS5hY3RpdmVDYXJldC1ralJmVGxmeHt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LmFjdGl2ZUNhcmV0LWtqUmZUbGZ4OmRpcihydGwpe3RyYW5zZm9ybTpyb3RhdGUoLTE4MGRlZyl9LmNhcmV0LWtqUmZUbGZ4Om5vdCg6bGFzdC1jaGlsZCksLmNvbnRlbnQta2pSZlRsZng6bm90KDpsYXN0LWNoaWxkKSwuc2xvdC1ralJmVGxmeDpub3QoOmxhc3QtY2hpbGQpey0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjazp2YXIoLS11aS1saWItbGlnaHRCdXR0b24tc2hvdy1jaGlsZHJlbiwxKTttYXJnaW4taW5saW5lLWVuZDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSkgKiA0cHggKyBtYXgoMCwgMSAtICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDApICogKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkpICogMHB4KX0ueHNtYWxsLWtqUmZUbGZ4e2JvcmRlci1yYWRpdXM6NnB4O2hlaWdodDoyOHB4O21pbi13aWR0aDoyOHB4Oy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0OjExcHg7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLWVuZC1kZWZhdWx0OjExcHg7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctYmxvY2stc3RhcnQtZGVmYXVsdDowOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWJsb2NrLWVuZC1kZWZhdWx0OjA7LS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrOnZhcigtLXVpLWxpYi1saWdodEJ1dHRvbi1zaG93LWNoaWxkcmVuLDEpO3BhZGRpbmctYmxvY2stZW5kOjA7cGFkZGluZy1ibG9jay1zdGFydDowO3BhZGRpbmctaW5saW5lLWVuZDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSkgKiBtYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQsIHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQpKSwgM3B4KSArIG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAwKSkgKiAwcHgpO3BhZGRpbmctaW5saW5lLXN0YXJ0OmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSAqICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDEpKSAqIG1heCh2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LCB2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQpKSwgM3B4KSArIG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAwKSkgKiAwcHgpfS54c21hbGwta2pSZlRsZng6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czoxMHB4fS54c21hbGwta2pSZlRsZngud2l0aFN0YXJ0U2xvdC1ralJmVGxmeHstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtc3RhcnQtZGVmYXVsdDo3cHh9LnhzbWFsbC1ralJmVGxmeC53aXRoRW5kU2xvdC1ralJmVGxmeHstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQ6N3B4fS54c21hbGwta2pSZlRsZngubm9Db250ZW50LWtqUmZUbGZ4ey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0OjRweDstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQ6NHB4O3BhZGRpbmctaW5saW5lLWVuZDptYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQsdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQtZGVmYXVsdCkpLDJweCk7cGFkZGluZy1pbmxpbmUtc3RhcnQ6bWF4KHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtc3RhcnQsdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0KSksMnB4KX0ueHNtYWxsLWtqUmZUbGZ4LndyYXAta2pSZlRsZnh7aGVpZ2h0OmF1dG87bWluLWhlaWdodDoyOHB4fS54c21hbGwta2pSZlRsZnggLmNvbnRlbnQta2pSZlRsZnh7cGFkZGluZy1ib3R0b206Y2FsYygoMjhweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCk7cGFkZGluZy10b3A6Y2FsYygoMjhweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCl9LnNtYWxsLWtqUmZUbGZ4e2JvcmRlci1yYWRpdXM6NnB4O2hlaWdodDozNHB4O21pbi13aWR0aDozNHB4Oy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0OjExcHg7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLWVuZC1kZWZhdWx0OjExcHg7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctYmxvY2stc3RhcnQtZGVmYXVsdDowOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWJsb2NrLWVuZC1kZWZhdWx0OjA7LS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrOnZhcigtLXVpLWxpYi1saWdodEJ1dHRvbi1zaG93LWNoaWxkcmVuLDEpO3BhZGRpbmctYmxvY2stZW5kOjA7cGFkZGluZy1ibG9jay1zdGFydDowO3BhZGRpbmctaW5saW5lLWVuZDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSkgKiBtYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQsIHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQpKSwgM3B4KSArIG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAwKSkgKiAwcHgpO3BhZGRpbmctaW5saW5lLXN0YXJ0OmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSAqICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDEpKSAqIG1heCh2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LCB2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQpKSwgM3B4KSArIG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAwKSkgKiAwcHgpfS5zbWFsbC1ralJmVGxmeDphZnRlcntib3JkZXItcmFkaXVzOjEwcHh9LnNtYWxsLWtqUmZUbGZ4LndpdGhTdGFydFNsb3Qta2pSZlRsZnh7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQ6N3B4fS5zbWFsbC1ralJmVGxmeC53aXRoRW5kU2xvdC1ralJmVGxmeHstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQ6N3B4fS5zbWFsbC1ralJmVGxmeC5ub0NvbnRlbnQta2pSZlRsZnh7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQ6MnB4Oy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQtZGVmYXVsdDoycHg7cGFkZGluZy1pbmxpbmUtZW5kOm1heCh2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLWVuZCx2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLWVuZC1kZWZhdWx0KSksMnB4KTtwYWRkaW5nLWlubGluZS1zdGFydDptYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydCx2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQpKSwycHgpfS5zbWFsbC1ralJmVGxmeC53cmFwLWtqUmZUbGZ4e2hlaWdodDphdXRvO21pbi1oZWlnaHQ6MzRweH0uc21hbGwta2pSZlRsZnggLmNvbnRlbnQta2pSZlRsZnh7cGFkZGluZy1ib3R0b206Y2FsYygoMzRweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCk7cGFkZGluZy10b3A6Y2FsYygoMzRweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCl9Lm1lZGl1bS1ralJmVGxmeHtib3JkZXItcmFkaXVzOjhweDtoZWlnaHQ6NDBweDttaW4td2lkdGg6NDBweDstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtc3RhcnQtZGVmYXVsdDoxNXB4Oy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQtZGVmYXVsdDoxNXB4Oy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWJsb2NrLXN0YXJ0LWRlZmF1bHQ6MDstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1ibG9jay1lbmQtZGVmYXVsdDowOy0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjazp2YXIoLS11aS1saWItbGlnaHRCdXR0b24tc2hvdy1jaGlsZHJlbiwxKTtwYWRkaW5nLWJsb2NrLWVuZDowO3BhZGRpbmctYmxvY2stc3RhcnQ6MDtwYWRkaW5nLWlubGluZS1lbmQ6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDEpICogKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkpICogbWF4KHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLCB2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLWVuZC1kZWZhdWx0KSksIDNweCkgKyBtYXgoMCwgMSAtICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDApICogKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkpICogMHB4KTtwYWRkaW5nLWlubGluZS1zdGFydDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSkgKiBtYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydCwgdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0KSksIDNweCkgKyBtYXgoMCwgMSAtICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDApICogKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkpICogMHB4KX0ubWVkaXVtLWtqUmZUbGZ4OmFmdGVye2JvcmRlci1yYWRpdXM6MTJweH0ubWVkaXVtLWtqUmZUbGZ4LndpdGhTdGFydFNsb3Qta2pSZlRsZnh7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQ6MTFweH0ubWVkaXVtLWtqUmZUbGZ4LndpdGhFbmRTbG90LWtqUmZUbGZ4ey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQtZGVmYXVsdDoxMXB4fS5tZWRpdW0ta2pSZlRsZngubm9Db250ZW50LWtqUmZUbGZ4ey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0OjVweDstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQ6NXB4O3BhZGRpbmctaW5saW5lLWVuZDptYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQsdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQtZGVmYXVsdCkpLDJweCk7cGFkZGluZy1pbmxpbmUtc3RhcnQ6bWF4KHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtc3RhcnQsdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0KSksMnB4KX0ubWVkaXVtLWtqUmZUbGZ4LndyYXAta2pSZlRsZnh7aGVpZ2h0OmF1dG87bWluLWhlaWdodDo0MHB4fS5tZWRpdW0ta2pSZlRsZnggLmNvbnRlbnQta2pSZlRsZnh7cGFkZGluZy1ib3R0b206Y2FsYygoNDBweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCk7cGFkZGluZy10b3A6Y2FsYygoNDBweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCl9LnBpbGxzLUllUXdQamNaLnBpbGxzLUllUXdQamNaLnBpbGxzLUllUXdQamNaLnBpbGxzLUllUXdQamNaLnBpbGxzLUllUXdQamNaLnBpbGxzLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWludmVyc2UpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucGlsbHMtSWVRd1BqY1oucGlsbHMtSWVRd1BqY1oucGlsbHMtSWVRd1BqY1oucGlsbHMtSWVRd1BqY1oucGlsbHMtSWVRd1BqY1oucGlsbHMtSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktaW52ZXJzZSl9fS5waWxscy1JZVF3UGpjWi5waWxscy1JZVF3UGpjWi5waWxscy1JZVF3UGpjWi5waWxscy1JZVF3UGpjWi5waWxscy1JZVF3UGpjWi5waWxscy1JZVF3UGpjWjphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktaW52ZXJzZSl9LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtaG92ZXIpfX19LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1pcy1zZWxlY3RlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtaG92ZXIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLnNlbGVjdGVkLUllUXdQamNaOm5vdCguZ3JvdXBlZC1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtaG92ZXIpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWhvdmVyKX19LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi5hY3RpdmUtSWVRd1BqY1osLnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYWN0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYWN0aXZlKX0ucHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWi5ncm91cGVkLUllUXdQamNaLC5wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXsucHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1hY3RpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1hY3RpdmUpfS5wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi53aXRoR3JvdXBlZC1JZVF3UGpjWi5xdWlldC1wcmltYXJ5LUllUXdQamNaOm5vdCguc2VsZWN0ZWQtSWVRd1BqY1opOm5vdCg6aG92ZXIpOm5vdCg6ZGlzYWJsZWQpey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOiMwMDAwOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjojMDAwMH19LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZGlzYWJsZWQpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXIpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyKX19fS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1pcy1zZWxlY3RlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXIpfX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWiwucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1hY3RpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYWN0aXZlKX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWi5ncm91cGVkLUllUXdQamNaLC5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1hY3RpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYWN0aXZlKX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX19QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1o6ZGlzYWJsZWR7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWRpc2FibGVkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LWRpc2FibGVkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWRpc2FibGVkKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1wb3NpdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCl9fX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWjpub3QoLmdyb3VwZWQtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmhvdmVyey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktcG9zaXRpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpfX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5hY3RpdmUtSWVRd1BqY1osLnF1aWV0LXByaW1hcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1saWdodCl9LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLnF1aWV0LXByaW1hcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi53aXRoR3JvdXBlZC1JZVF3UGpjWi5xdWlldC1wcmltYXJ5LUllUXdQamNaOm5vdCguc2VsZWN0ZWQtSWVRd1BqY1opOm5vdCg6aG92ZXIpOm5vdCg6ZGlzYWJsZWQpey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOiMwMDAwOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjojMDAwMH19LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6ZGlzYWJsZWR7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYmFja2dyb3VuZC1kaXNhYmxlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1kaXNhYmxlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1kaXNhYmxlZCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9LnF1aWV0LXByaW1hcnktSWVRd1BqY1oucmVkLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5xdWlldC1wcmltYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmVnYXRpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCl9fX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnF1aWV0LXByaW1hcnktSWVRd1BqY1oucmVkLUllUXdQamNaLnNlbGVjdGVkLUllUXdQamNaOm5vdCguZ3JvdXBlZC1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5lZ2F0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpfX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLC5xdWlldC1wcmltYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLnF1aWV0LXByaW1hcnktSWVRd1BqY1oucmVkLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7LnF1aWV0LXByaW1hcnktSWVRd1BqY1oucmVkLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItbGlnaHQpfS5xdWlldC1wcmltYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5xdWlldC1wcmltYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZGlzYWJsZWQpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWjpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KX19fS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWjpub3QoLmdyb3VwZWQtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmhvdmVyey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtc2VtaS1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQpfX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWiwucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1leHRyYS1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtbGlnaHQpfS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLnF1aWV0LXByaW1hcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9QG1lZGlhIG5vdCAocG9pbnRlcjpjb2Fyc2Upey5xdWlldC1wcmltYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LWV4dHJhLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCl9LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaLndpdGhHcm91cGVkLUllUXdQamNaLnF1aWV0LXByaW1hcnktSWVRd1BqY1o6bm90KC5zZWxlY3RlZC1JZVF3UGpjWik6bm90KDpob3Zlcik6bm90KDpkaXNhYmxlZCl7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6IzAwMDA7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOiMwMDAwfX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaOmRpc2FibGVkey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1kaXNhYmxlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1kaXNhYmxlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1kaXNhYmxlZCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9LnNlY29uZGFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1saWdodCl9QG1lZGlhIG5vdCAocG9pbnRlcjpjb2Fyc2Upe0BtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuc2Vjb25kYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0KX19fS5zZWNvbmRhcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuc2Vjb25kYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtaG92ZXIpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtaG92ZXIpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQpfX0uc2Vjb25kYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLC5zZWNvbmRhcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYWN0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KX0uc2Vjb25kYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLnNlY29uZGFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7LnNlY29uZGFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpfS5zZWNvbmRhcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuc2Vjb25kYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5zZWNvbmRhcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0uc2Vjb25kYXJ5LUllUXdQamNaLmdyZWVuLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktc3VjY2Vzcy1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5zZWNvbmRhcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1wb3NpdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCl9fX0uc2Vjb25kYXJ5LUllUXdQamNaLmdyZWVuLUllUXdQamNaLnNlbGVjdGVkLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzcyl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5zZWNvbmRhcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXBvc2l0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWxpZ2h0KX19LnNlY29uZGFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5hY3RpdmUtSWVRd1BqY1osLnNlY29uZGFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KX0uc2Vjb25kYXJ5LUllUXdQamNaLmdyZWVuLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWi5ncm91cGVkLUllUXdQamNaLC5zZWNvbmRhcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXsuc2Vjb25kYXJ5LUllUXdQamNaLmdyZWVuLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtbGlnaHQpfS5zZWNvbmRhcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNlY29uZGFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi53aXRoR3JvdXBlZC1JZVF3UGpjWi5xdWlldC1wcmltYXJ5LUllUXdQamNaOm5vdCguc2VsZWN0ZWQtSWVRd1BqY1opOm5vdCg6aG92ZXIpOm5vdCg6ZGlzYWJsZWQpey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOiMwMDAwOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjojMDAwMH19LnNlY29uZGFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0uc2Vjb25kYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItbGlnaHQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNlY29uZGFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5lZ2F0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpfX19LnNlY29uZGFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNlY29uZGFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmVnYXRpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCl9fS5zZWNvbmRhcnktSWVRd1BqY1oucmVkLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWiwuc2Vjb25kYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1kYW5nZXItYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KX0uc2Vjb25kYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWi5hY3RpdmUtSWVRd1BqY1ouZ3JvdXBlZC1JZVF3UGpjWiwuc2Vjb25kYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9QG1lZGlhIG5vdCAocG9pbnRlcjpjb2Fyc2Upey5zZWNvbmRhcnktSWVRd1BqY1oucmVkLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LWRhbmdlci1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItbGlnaHQpfS5zZWNvbmRhcnktSWVRd1BqY1oucmVkLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX19QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5zZWNvbmRhcnktSWVRd1BqY1oucmVkLUllUXdQamNaLndpdGhHcm91cGVkLUllUXdQamNaLnF1aWV0LXByaW1hcnktSWVRd1BqY1o6bm90KC5zZWxlY3RlZC1JZVF3UGpjWik6bm90KDpob3Zlcik6bm90KDpkaXNhYmxlZCl7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6IzAwMDA7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOiMwMDAwfX0uc2Vjb25kYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0uc2Vjb25kYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtZGVmYXVsdCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWxpZ2h0KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5zZWNvbmRhcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWjpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KX19fS5zZWNvbmRhcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuc2Vjb25kYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KX19LnNlY29uZGFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWiwuc2Vjb25kYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LWV4dHJhLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCl9LnNlY29uZGFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWi5ncm91cGVkLUllUXdQamNaLC5zZWNvbmRhcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9QG1lZGlhIG5vdCAocG9pbnRlcjpjb2Fyc2Upey5zZWNvbmRhcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtZXh0cmEtYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWxpZ2h0KX0uc2Vjb25kYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNlY29uZGFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaLndpdGhHcm91cGVkLUllUXdQamNaLnF1aWV0LXByaW1hcnktSWVRd1BqY1o6bm90KC5zZWxlY3RlZC1JZVF3UGpjWik6bm90KDpob3Zlcik6bm90KDpkaXNhYmxlZCl7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6IzAwMDA7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOiMwMDAwfX0uc2Vjb25kYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1o6ZGlzYWJsZWR7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LWRpc2FibGVkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1saWdodCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9Lmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5naG9zdC1JZVF3UGpjWi5ncmF5LUllUXdQamNaOmhvdmVyey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWhvdmVyKX19fS5naG9zdC1JZVF3UGpjWi5ncmF5LUllUXdQamNaLnNlbGVjdGVkLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWlzLXNlbGVjdGVkKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWJvbGQtaG92ZXIpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ob3Zlcil9fS5naG9zdC1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWiwuZ2hvc3QtSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZSl9Lmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXsuZ2hvc3QtSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZSl9Lmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5naG9zdC1JZVF3UGpjWi5ncmF5LUllUXdQamNaOmRpc2FibGVkey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9Lmdob3N0LUllUXdQamNaLmdyZWVuLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktc3VjY2Vzcy1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWjpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXBvc2l0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWxpZ2h0KX19fS5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtZGVmYXVsdCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWjpub3QoLmdyb3VwZWQtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmhvdmVyey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktcG9zaXRpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpfX0uZ2hvc3QtSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLC5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KX0uZ2hvc3QtSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLmdob3N0LUllUXdQamNaLmdyZWVuLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7Lmdob3N0LUllUXdQamNaLmdyZWVuLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtbGlnaHQpfS5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuZ2hvc3QtSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1kYW5nZXItZGVmYXVsdCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCl9QG1lZGlhIG5vdCAocG9pbnRlcjpjb2Fyc2Upe0BtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuZ2hvc3QtSWVRd1BqY1oucmVkLUllUXdQamNaOmhvdmVyey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZWdhdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWV4dHJhLWxpZ2h0KX19fS5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1kYW5nZXItZGVmYXVsdCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmVnYXRpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCl9fS5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLC5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktZGFuZ2VyLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1saWdodCl9Lmdob3N0LUllUXdQamNaLnJlZC1JZVF3UGpjWi5hY3RpdmUtSWVRd1BqY1ouZ3JvdXBlZC1JZVF3UGpjWiwuZ2hvc3QtSWVRd1BqY1oucmVkLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7Lmdob3N0LUllUXdQamNaLnJlZC1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1kYW5nZXItYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KX0uZ2hvc3QtSWVRd1BqY1oucmVkLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX19QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1o6ZGlzYWJsZWR7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LWRpc2FibGVkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0uZ2hvc3QtSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWRlZmF1bHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1zZW1pLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCl9fX0uZ2hvc3QtSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1kZWZhdWx0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KX19Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLC5naG9zdC1JZVF3UGpjWi5ibHVlLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1leHRyYS1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtbGlnaHQpfS5naG9zdC1JZVF3UGpjWi5ibHVlLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWi5ncm91cGVkLUllUXdQamNaLC5naG9zdC1JZVF3UGpjWi5ibHVlLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LWV4dHJhLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCl9Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5naG9zdC1JZVF3UGpjWi5ibHVlLUllUXdQamNaOmRpc2FibGVkey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1kaXNhYmxlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.12858.ad72d76c41bbd415231e.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.868Z","timestamp":1785120633868,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.12858.ad72d76c41bbd415231e.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a7-109c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:07 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:19:17\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: de865bf33f9c3ae620f22e8ee0ea8355\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4252,"size_decoded":2387,"mime_type":"application/javascript; charset=utf-8","magic":"Unicode text, UTF-8 text, with very long lines (3068)","md5":"ba9edaf93bd6d486a36ba355f758cc90","sha1":"918531d0606317a1c90c9a7b9ae1722f6e14a166","sha256":"bc555cf8e54ac82ab294e301570531b051716b29c08dd9ca453d3cd4a0c32a27","sha512":"580c166e5196ae546cc97d7a4a16ac7deded6dea86b5fe31c01a4f004d915df4141f62287edda623a8bc419bf0750aa62303123824c69fcfb76e694095b86308","ssdeep":"96:6vhtKURB2ytA5YoHgm61Nmub4Zy3DaTJRr:shNRz+Hgm61Fb4ZyzaTJh","tlshash":"40911e27d000c1ea6fb6d9287796dcd0b9f4b1d101f1e8ca7785af56c21be6528392f8","first_seen":"2026-07-23T22:46:45.851981Z","last_seen":"2026-07-27T06:01:16.237981Z","times_seen":25,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxMjg1OCwxNzg1OSwyNDkyOSw0MDI0MCw4NzIzOCw5NDM4OCw5NDcwMl0sezYxNzM0MChlKXtlLmV4cG9ydHM9WyJDb2x1bW5zIl19LDExODQ5MShlKXtlLmV4cG9ydHM9WyJDYW5kbGVzIl19LDc5NjA5MyhlKXtlLmV4cG9ydHM9WyJBcmVhIl19LDk0MTYyOShlKXtlLmV4cG9ydHM9WyJCYXJzIl19LDUyNTMzMShlKXtlLmV4cG9ydHM9WyJCYXNlbGluZSJdfSw0MTM0MyhlKXtlLmV4cG9ydHM9WyJLYWdpIl19LDk2Nzg0MShlKXtlLmV4cG9ydHM9WyJITEMgYXJlYSJdfSw2ODMwMChlKXtlLmV4cG9ydHM9WyJITEMgYmFycyJdfSwzMzE4MjQoZSl7ZS5leHBvcnRzPVsiSG9sbG93IGNhbmRsZXMiXX0sODM1NTQzKGUpe2UuZXhwb3J0cz1bIkhlaWtpbiBBc2hpIl19LDk1MjgxMChlKXtlLmV4cG9ydHM9WyJIaWdoLWxvdyJdfSwyMTA0OTkoZSl7ZS5leHBvcnRzPVsiTGluZSJdfSwxODYxNDcoZSl7ZS5leHBvcnRzPVsiTGluZSB3aXRoIG1hcmtlcnMiXX0sMzA3NDM2KGUpe2UuZXhwb3J0cz1bIkxpbmUgYnJlYWsiXX0sNjg3OTUxKGUpe2UuZXhwb3J0cz1bIlNlc3Npb24gdm9sdW1lIHByb2ZpbGUiXX0sOTE2MTQ4KGUpe2UuZXhwb3J0cz1bIlN0ZXAgbGluZSJdfSw4NjcwMjEoZSl7ZS5leHBvcnRzPVsiUG9pbnQgJiBmaWd1cmUiXX0sMTg4MzUyKGUpe2UuZXhwb3J0cz1bIlJhbmdlIl19LDQ2MTczOChlKXtlLmV4cG9ydHM9WyJSZW5rbyJdfSwxMTc5ODQoZSl7ZS5leHBvcnRzPVsiVGltZSBwcmljZSBvcHBvcnR1bml0eSJdfSw4OTIzNzUoZSl7ZS5leHBvcnRzPVsiVm9sdW1lIGNhbmRsZXMiXX0sMjAxMDczKGUpe2UuZXhwb3J0cz1bIlZvbHVtZSBmb290cHJpbnQiXX0sNTU4NDEyKGUpe2UuZXhwb3J0cz1bIiUgb2YgR0RQIl19LDIyOTk5NChlKXtlLmV4cG9ydHM9WyJDIl19LDk1NDYxNChlKXtlLmV4cG9ydHM9WyJIIl19LDgzOTQ2MyhlKXtlLmV4cG9ydHM9WyJMIl19LDk2MDUxMyhlKXtlLmV4cG9ydHM9WyJPIl19LDU2NTMyMShlKXtlLmV4cG9ydHM9WyJWb2wiXX0sNTQ1MjI0KGUpe2UuZXhwb3J0cz1bIk92ZXJuaWdodCB2aWEgQk9BVFMiXX0sODI5MjczKGUpe2UuZXhwb3J0cz1bIkludHJhZGF5IHNwcmVhZCBkYXRhIGlzIG5vdCBhdmFpbGFibGUiXX0sMjk5MTUzKGUpe2UuZXhwb3J0cz1bIk5vIGRhdGEiXX0sMjg1ODkzKGUpe2UuZXhwb3J0cz1bIk5vIGRhdGEgZm9yIHRoaXMgcmVzb2x1dGlvbiJdfSw3MzQ3NTAoZSl7ZS5leHBvcnRzPVsiTWF5Il19LDM4NDU5NyhlKXtlLmV4cG9ydHM9WyJDRkQiXX0sNjU1MjM1KGUpe2UuZXhwb3J0cz1bIkNyeXB0byJdfSwzNTAxNDYoZSl7ZS5leHBvcnRzPVsiQWxsIl19LDc2NTQ0MChlKXtlLmV4cG9ydHM9WyJCb25kcyJdfSw1NDgzMjIoZSl7ZS5leHBvcnRzPVsiRWNvbm9teSJdfSw5Nzk5NyhlKXtlLmV4cG9ydHM9WyJGb3JleCJdfSw1MDUwNzkoZSl7ZS5leHBvcnRzPVsiRnV0dXJlcyJdfSw1NjQ5MTcoZSl7ZS5leHBvcnRzPVsiRnVuZHMiXX0sOTI3NDExKGUpe2UuZXhwb3J0cz1bIkluZGljZXMiXX0sNzk2MDAoZSl7ZS5leHBvcnRzPVsiT3B0aW9ucyJdfSw1NTU1MTAoZSl7ZS5leHBvcnRzPVsiU3RvY2tzIl19LDU3MDYyKGUpe2UuZXhwb3J0cz1bIk4vQSJdfSw4MTkwNzgoZSl7ZS5leHBvcnRzPVsiM00iXX0sMjcyMDk4KGUpe2UuZXhwb3J0cz1bIjNZIl19LDExMTk3NihlKXtlLmV4cG9ydHM9WyIxIHllYXIiXX0sNjcwNTY4KGUpe2UuZXhwb3J0cz1bIjEwIHllYXJzIl19LDk5NTA2NihlKXtlLmV4cG9ydHM9WyIxMFkiXX0sODMyNzMzKGUpe2UuZXhwb3J0cz1bIjFNIl19LDkzODEwMChlKXtlLmV4cG9ydHM9WyIxRCJdfSw0OTIxMzUoZSl7ZS5leHBvcnRzPVsiMVciXX0sNzcwMzAzKGUpe2UuZXhwb3J0cz1bIjFZIl19LDkzNDc3NyhlKXtlLmV4cG9ydHM9WyIyWSJdfSwzMjgwMzAoZSl7ZS5leHBvcnRzPVsiMyBtb250aHMiXX0sODI4NTUoZSl7ZS5leHBvcnRzPVsiNUQiXX0sNDQ2NTYwKGUpe2UuZXhwb3J0cz1bIjVZIl19LDY4MDc2KGUpe2UuZXhwb3J0cz1bIjZNIl19LDY3MzQ4NyhlKXtlLmV4cG9ydHM9WyJDaGFuZ2UiXX0sMjMzNjkwKGUpe2UuZXhwb3J0cz1bIkFsbCJdfSwyOTA3ODcoZSl7ZS5leHBvcnRzPVsiQWxsIHRpbWUiXX0sNTI2Nzg1KGUpe2UuZXhwb3J0cz1bIkFwciJdfSw5Mzc2MihlKXtlLmV4cG9ydHM9WyJBdWciXX0sODY4ODEwKGUpe2UuZXhwb3J0cz1bIkJpbGxlZCBldmVyeSBtb250aC4iXX0sOTEzOTU1KGUpe2UuZXhwb3J0cz1bIkJpbGxlZCBldmVyeSB5ZWFyLiJdfSw3NjkwMzYoZSl7ZS5leHBvcnRzPVsiRGVjIl19LDg3MjM4KGUpe2UuZXhwb3J0cz1bIkVycm9yIl19LDYxNzM0MShlKXtlLmV4cG9ydHM9WyJGZWIiXX0sOTY4ODE1KGUpe2UuZXhwb3J0cz1bIkZyYWN0aW9uIHBhcnQgaXMgaW52YWxpZC4iXX0sNzMyNzc2KGUpe2UuZXhwb3J0cz1bIkludmFsaWQgc3ltYm9sIl19LDY1NzM3NChlKXtlLmV4cG9ydHM9WyJKYW4iXX0sMTgzOTU5KGUpe2UuZXhwb3J0cz1bIkp1bCJdfSw4Nzc0NShlKXtlLmV4cG9ydHM9WyJKdW4iXX0sNzI4MzM3KGUpe2UuZXhwb3J0cz1bIk9jdCJdfSw0MzExNTcoZSl7ZS5leHBvcnRzPVsiTGFzdCBwcmljZSJdfSwxMDMzMDUoZSl7ZS5leHBvcnRzPVsiTWFyIl19LDUxOTcoZSl7ZS5leHBvcnRzPVsiTm8gZGF0YSBoZXJlIl19LDE0NjgwNyhlKXtlLmV4cG9ydHM9WyJObyBkYXRhIGhlcmUgeWV0Il19LDY0NjU0NShlKXtlLmV4cG9ydHM9WyJOb3YiXX0sODUwMjk4KGUpe2UuZXhwb3J0cz1bIlNlY29uZCBmcmFjdGlvbiBwYXJ0IGlzIGludmFsaWQuIl19LDE3ODQ2OShlKXtlLmV4cG9ydHM9WyJTZXAiXX0sOTkyMzYyKGUpe2UuZXhwb3J0cz1bIlN0dWRpZXMgbGltaXQgZXhjZWVkZWQ6IHtudW1iZXJ9IHN0dWRpZXMgcGVyIGxheW91dC5cblBsZWFzZSwgcmVtb3ZlIHNvbWUgc3R1ZGllcy4iXX0sNjczNTIzKGUpe2UuZXhwb3J0cz1bIlBhc3QgeWVhciJdfSw4Nzg3MDgoZSl7ZS5leHBvcnRzPVsiUGFzdCBmaXZlIHllYXJzIl19LDQzMDMzMyhlKXsKZS5leHBvcnRzPVsiUGFzdCBtb250aCJdfSw0NDY1NihlKXtlLmV4cG9ydHM9WyJQYXN0IHF1YXJ0ZXIiXX0sNjE2MTgoZSl7ZS5leHBvcnRzPVsiUHJpY2UgZm9ybWF0IGlzIGludmFsaWQuIl19LDg5NzY3KGUpe2UuZXhwb3J0cz1bIlExIl19LDk0ODkyMyhlKXtlLmV4cG9ydHM9WyJRMiJdfSwzNjc5MzUoZSl7ZS5leHBvcnRzPVsiUTMiXX0sMTc1NTA3KGUpe2UuZXhwb3J0cz1bIlE0Il19LDkzNzAxNyhlKXtlLmV4cG9ydHM9WyJXYXJuaW5nIl19LDYxNDQ1MChlKXtlLmV4cG9ydHM9WyJUb2RheSJdfSwxMTQzMzgoZSl7ZS5leHBvcnRzPVsiVGhpcyBzeW1ib2wgaXMgb25seSBhdmFpbGFibGUgb24ge2xpbmtTdGFydH1UcmFkaW5nVmlld3tsaW5rRW5kfSJdfSw1MTc4NTkoZSl7ZS5leHBvcnRzPVsiVmlzaXQgVHJhZGluZ1ZpZXcg4oCUIGZpbmFuY2lhbCBjaGFydGluZyBwbGF0Zm9ybSBhbmQgdHJhZGluZyBjb21tdW5pdHkiXX0sNDIyMzY5KGUpe2UuZXhwb3J0cz1bIllURCJdfSw0ODU0MjAoZSl7ZS5leHBvcnRzPVsiWWVhciB0byBkYXRlIl19LDcyMTExOChlKXtlLmV4cG9ydHM9WyJhbm51YWxseSJdfSw2NTM2OShlKXtlLmV4cG9ydHM9WyJiaWxsZWQgbW9udGhseSJdfSwyNjAxOTMoZSl7ZS5leHBvcnRzPVsiYmlsbGVkIGFubnVhbGx5Il19LDU1NjU2OChlKXtlLmV4cG9ydHM9WyJtb250aGx5Il19LDg2Mzg1MihlKXtlLmV4cG9ydHM9WyJ0aHJlZSBtb250aHMiXX0sODM1OChlKXtlLmV4cG9ydHM9WyJ0cmlhbCJdfSwxNTM3NjYoZSl7ZS5leHBvcnRzPVsie3Byb1BsYW5OYW1lfSBUcmlhbCJdfSwzMjM0ODUoZSl7ZS5leHBvcnRzPVsibW9udGgiLCJtb250aHMiXX0sMTAzMDMwKGUpe2UuZXhwb3J0cz1bIntzdHJ9IGRheSIsIntzdHJ9IGRheXMiXX0sMjEwNTc0KGUpe2UuZXhwb3J0cz1bIntzdHJ9IGhvdXIiLCJ7c3RyfSBob3VycyJdfSw2OTQ2MTcoZSl7ZS5leHBvcnRzPVsie3N0cn0gbW9udGgiLCJ7c3RyfSBtb250aHMiXX0sNDM5MChlKXtlLmV4cG9ydHM9WyJ7c3RyfSBtaW51dGUiLCJ7c3RyfSBtaW51dGVzIl19LDY0NDYyNShlKXtlLmV4cG9ydHM9WyJ7c3RyfSB3ZWVrIiwie3N0cn0gd2Vla3MiXX0sMjE2NDAyKGUpe2UuZXhwb3J0cz1bIntzdHJ9IHllYXIiLCJ7c3RyfSB5ZWFycyJdfSw0NDI2NjYoZSl7ZS5leHBvcnRzPVsieWVhciIsInllYXJzIl19fV0pOw=="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/94708.73d2bca37207c67a41f4.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.198Z","timestamp":1785120634198,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/94708.73d2bca37207c67a41f4.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-8b98\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 17cfc3a2c6f74b46472e549bbbaf1923\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":35736,"size_decoded":12654,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3065)","md5":"eb8c592becd98b3361efe0b94719d5c6","sha1":"a0d1ee8521cfba7aa407ac50937aedd5f39bf878","sha256":"647fb8708ead9f5ba58a75d3b5e6d45f3df1f26a67f068d19a46752de40e327d","sha512":"27e850e1b55df1bfb523a33007db88c5bf3fca11c34b9f448fad508275031d48062410c7e49cd891d38f4058b2dad657828a8ce9f5a047b24a8804c477a90feb","ssdeep":"768:Qy2uEBDBP0oAifg+OMQjn3FMjhYVwPn9/meP+Tjwqcq8xGQKpb5dg+xU7wbwpEvK:k950TT3WOOP9AsqcK555x/dMDjcXRdH6","tlshash":"f4f2f917f1a7b46693db809ae4724213a33c18013d05486dbabc9ddd2a3f942b663f7d","first_seen":"2026-07-23T13:38:20.417189Z","last_seen":"2026-07-27T05:16:58.414957Z","times_seen":749,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTQ3MDhdLHs5MzAyMzEoZSx0LHMpe3MuZCh0LHtpc0ZlYXR1cmVzZXRFbmFibGVkOigpPT5hfSk7dmFyIG49cyg2MzUxOCk7Y29uc3QgaT1uZXcgTWFwLG89bmV3IE1hcCxyPW5ldyBTZXQ7ZnVuY3Rpb24gYShlKXtjb25zdCB0PWkuZ2V0KGUpO2lmKHZvaWQgMCE9PXQpcmV0dXJuIHQ7Y29uc3Qgcz1vLmdldChlKTtyZXR1cm4hIXMmJnMuc29tZShhKX1mdW5jdGlvbiBkKGUsdCl7aS5zZXQoU3RyaW5nKGUpLEJvb2xlYW4odCkpfSFmdW5jdGlvbigpe2Zvcihjb25zdFtlLHRdb2YgT2JqZWN0LmVudHJpZXMobikpaWYoci5hZGQoZSksInN1YnNldHMiaW4gdClmb3IoY29uc3QgcyBvZiB0LnN1YnNldHMpe3IuYWRkKHMpO2xldCB0PW8uZ2V0KHMpO3ZvaWQgMD09PXQmJih0PVtdLG8uc2V0KHMsdCkpLHQucHVzaChlKX19KCksIm9iamVjdCI9PXR5cGVvZiBfX2luaXRpYWxEaXNhYmxlZEZlYXR1cmVzZXRzJiZBcnJheS5pc0FycmF5KF9faW5pdGlhbERpc2FibGVkRmVhdHVyZXNldHMpJiZfX2luaXRpYWxEaXNhYmxlZEZlYXR1cmVzZXRzLmZvckVhY2goKGZ1bmN0aW9uKGUpe2QoZSwhMSl9KSksIm9iamVjdCI9PXR5cGVvZiBfX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMmJkFycmF5LmlzQXJyYXkoX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzKSYmX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzLmZvckVhY2goKGZ1bmN0aW9uKGUpe2QoZSwhMCl9KSl9LDg1NjE5NihlLHQscyl7cy5kKHQse3Nob3VsZEFmZmVjdFVzZXI6KCk9PmR9KTt2YXIgbj1zKDEwMDU5NSksaT1zLm4obiksbz1zKDkzMjM2NSk7Y29uc3Qgcj0iZmVhdHVyZXRvZ2dsZV9zZWVkIjtmdW5jdGlvbiBhKGUpe3RyeXtjb25zdCB0PWkoKShlK2Z1bmN0aW9uKCl7aWYod2luZG93LnVzZXImJndpbmRvdy51c2VyLmlkKXJldHVybiB3aW5kb3cudXNlci5pZDtjb25zdCBlPW8uVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShyKTtpZihudWxsIT09ZSlyZXR1cm4gZTtjb25zdCB0PU1hdGguZmxvb3IoMWU2Kk1hdGgucmFuZG9tKCkpO3JldHVybiBvLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0ocixgJHt0fWApLHR9KCkpLHM9bmV3IERhdGFWaWV3KHQpO3JldHVybiBzLmdldFVpbnQzMigwLCEwKS80Mjk0OTY3Mjk2fWNhdGNoKGUpe3JldHVybi41fX1mdW5jdGlvbiBkKGUsdCl7cmV0dXJuIGEoZSk8PXR9fSwxNTk1MTMoZSx0LHMpe3MuZCh0LHtnZXRRdW90ZVNlc3Npb25JbnN0YW5jZTooKT0+YX0pO3ZhciBuPXMoOTI3NTkzKSxpPXMoNzU1NjI3KSxvPXMoMTUwMTUwKTtjb25zdCByPXt9O2Z1bmN0aW9uIGEoZT0iZnVsbCIpe3JldHVybiByW2VdfHxmdW5jdGlvbihlPSJmdWxsIix0KXtyW2VdPXR9KGUsbmV3IG4uUXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXIoe25hbWU6ZSxhcGk6d2luZG93LkNoYXJ0QXBpSW5zdGFuY2UsZmllbGRzOmRbZV0sZXh0ZW5zaW9uczp7Zm9ybWF0dGVyOmU9Pm5ldyB1KGUpLmZvcm1hdHRlcixzbmFwc2hvdDplPT5uZXcgYyhlKS5zbmFwc2hvdH19KSkscltlXX1jb25zdCBkPXtzaW1wbGU6WyJiYXNlLWN1cnJlbmN5LWxvZ29pZCIsImxvZ28iLCJjaCIsImNocCIsImN1cnJlbmN5LWxvZ29pZCIsImN1cnJlbmN5X2NvZGUiLCJjdXJyZW5jeV9pZCIsImJhc2VfY3VycmVuY3lfaWQiLCJjdXJyZW50X3Nlc3Npb24iLCJkZXNjcmlwdGlvbiIsImV4Y2hhbmdlIiwiZm9ybWF0IiwiZnJhY3Rpb25hbCIsImlzX3RyYWRhYmxlIiwibGFuZ3VhZ2UiLCJsb2NhbF9kZXNjcmlwdGlvbiIsImxpc3RlZF9leGNoYW5nZSIsImxvZ29pZCIsImxwIiwibHBfdGltZSIsIm1pbm1vdiIsIm1pbm1vdmUyIiwib3JpZ2luYWxfbmFtZSIsInByaWNlc2NhbGUiLCJwcm9fbmFtZSIsInNob3J0X25hbWUiLCJ0eXBlIiwidHlwZXNwZWNzIiwidXBkYXRlX21vZGUiLCJ2b2x1bWUiLCJ2YXJpYWJsZV90aWNrX3NpemUiLCJ2YWx1ZV91bml0X2lkIiwidW5pdF9pZCIsIm1lYXN1cmUiXX07ZC5zaW1wbGVEZXRhaWxlZD1bLi4uZC5zaW1wbGUsImFzayIsImJpZCIsImZ1bmRhbWVudGFscyIsImhpZ2hfcHJpY2UiLCJpc190cmFkYWJsZSIsImxvd19wcmljZSIsIm9wZW5fcHJpY2UiLCJwcmV2X2Nsb3NlX3ByaWNlIiwicmNoIiwicmNocCIsInJ0YyIsInJ0Y190aW1lIiwic3RhdHVzIiwiYmFzaWNfZXBzX25ldF9pbmNvbWUiLCJiZXRhXzFfeWVhciIsImVhcm5pbmdzX3Blcl9zaGFyZV9iYXNpY190dG0iLCJpbmR1c3RyeSIsIm1hcmtldF9jYXBfYmFzaWMiLCJwcmljZV9lYXJuaW5nc190dG0iLCJzZWN0b3IiLCJ2b2x1bWUiLCJkaXZpZGVuZHNfeWllbGQiLCJ0aW1lem9uZSJdLGQuZnVsbD1bXSxkLndhdGNobGlzdD1bLi4uZC5zaW1wbGUsInJjaHAiLCJuY2hwIiwicnRjIiwiY291bnRyeV9jb2RlIiwicHJvdmlkZXJfaWQiLCJkaXZpZGVuZHNfYXZhaWxhYmlsaXR5IiwiZmluYW5jaWFsc19hdmFpbGFiaWxpdHkiLCJlYXJuaW5nc19hdmFpbGFiaWxpdHkiXSwKZC5wb3J0Zm9saW89WyJwcm9fbmFtZSIsInNob3J0X25hbWUiLCJleGNoYW5nZSIsImxpc3RlZF9leGNoYW5nZSIsImRlc2NyaXB0aW9uIiwibG9jYWxfZGVzY3JpcHRpb24iLCJsYW5ndWFnZSIsInNlY3RvciIsInR5cGUiLCJ0eXBlc3BlY3MiLCJpbmR1c3RyeSIsImN1cnJlbmN5X2NvZGUiLCJjdXJyZW5jeV9pZCIsImNoIiwiY2hwIiwibG9nbyIsImxvZ29pZCIsImN1cnJlbmN5LWxvZ29pZCIsImJhc2UtY3VycmVuY3ktbG9nb2lkIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnEiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZSIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcSIsImxwIiwiZnJhY3Rpb25hbCIsIm1pbm1vdiIsIm1pbm1vdmUyIiwicHJpY2VzY2FsZSIsInZvbHVtZSIsImF2ZXJhZ2Vfdm9sdW1lIiwibWFya2V0X2NhcF9jYWxjIiwibWFya2V0X2NhcF9iYXNpYyIsInRvdGFsX3JldmVudWUiLCJlYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtIiwicHJpY2VfZWFybmluZ3NfdHRtIiwiYmV0YV8xX3llYXIiLCJkcHNfY29tbW9uX3N0b2NrX3ByaW1faXNzdWVfZnkiLCJkaXZpZGVuZHNfeWllbGQiLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIiwicmF0ZXNfbWMiLCJyYXRlc19meSIsInJhdGVzX3R0bSIsImZvcm1hdCIsInZhbHVlX3VuaXRfaWQiLCJ1bml0X2lkIiwibWVhc3VyZSJdLGQubm90ZXM9WyJzaG9ydF9uYW1lIiwicHJvX25hbWUiLCJsb2dvaWQiLCJjdXJyZW5jeS1sb2dvaWQiLCJiYXNlLWN1cnJlbmN5LWxvZ29pZCIsImxvZ28iLCJzeW1ib2wtcHJpbWFyeW5hbWUiLCJ0eXBlIiwidHlwZXNwZWNzIl0sZC5lc3RpbWF0ZXM9WyJmdW5kYW1lbnRhbF9kYXRhIiwidHlwZSIsInR5cGVzcGVjcyIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X3N5bWJvbF9jdXJyZW5jeV9mcSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9hbGlnbmVkX2RhdGUiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfY2FsZW5kYXJfZGF0ZSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlIl0sZC5lY29ub21pYz1bInJlZmVyZW5jZS1sYXN0LXBlcmlvZCIsImxwIiwiY3VycmVuY3lfY29kZSIsInZhbHVlX3VuaXRfaWQiLCJ1bml0X2lkIiwibWVhc3VyZSJdLGQub3B0aW9ucz1bImFzayIsImJpZCIsImxwIiwidm9sdW1lIiwiY2giLCJjaHAiXTtjbGFzcyB1e2NvbnN0cnVjdG9yKGUpe3RoaXMuX2Zvcm1hdHRlclZhbHVlc0NhY2hlPXt9LHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzPXt9LHRoaXMuZm9ybWF0dGVyPShlLHQpPT57aWYodGhpcy5fd2FpdGluZ0ZvckZvcm1hdHRlcnNbZV0pcmV0dXJuIHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzW2VdO2Z1bmN0aW9uIHMoZSl7Y29uc3Qgcz10JiYhZS5mcmFjdGlvbmFsPzE6ZS5taW5tb3Y7cmV0dXJuIG5ldyBpLlByaWNlRm9ybWF0dGVyKHtwcmljZVNjYWxlOmUucHJpY2VzY2FsZSxtaW5Nb3ZlOnMsZnJhY3Rpb25hbDplLmZyYWN0aW9uYWwsbWluTW92ZTI6ZS5taW5tb3ZlMn0pfWNvbnN0IG49bmV3IFByb21pc2UoKCh0LG4pPT57aWYodGhpcy5fZm9ybWF0dGVyVmFsdWVzQ2FjaGVbZV0pdChzKHRoaXMuX2Zvcm1hdHRlclZhbHVlc0NhY2hlW2VdKSk7ZWxzZXtjb25zdCBpPSgwLG8uZ3VpZCkoKTt0aGlzLl9tdWx0aXBsZXhlci5zdWJzY3JpYmUoaSxbZV0sKG89PnsiZXJyb3IiPT09by5zdGF0dXMmJih0aGlzLl93YWl0aW5nRm9yRm9ybWF0dGVyc1tlXT1udWxsLG4oIlF1b3RlcyBzbmFwc2hvdCBpcyBub3QgcmVjZWl2ZWQiKSksZnVuY3Rpb24oZSl7cmV0dXJuIGUmJm51bGwhPWUucHJpY2VzY2FsZSYmbnVsbCE9ZS5taW5tb3Z9KG8udmFsdWVzKSYmKHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzW2VdPW51bGwsdGhpcy5fZm9ybWF0dGVyVmFsdWVzQ2FjaGVbZV09by52YWx1ZXMsdChzKG8udmFsdWVzKSksdGhpcy5fbXVsdGlwbGV4ZXIudW5zdWJzY3JpYmUoaSxlKSl9KSl9fSkpO3JldHVybiB0aGlzLl93YWl0aW5nRm9yRm9ybWF0dGVyc1tlXT1uLG59LHRoaXMuX211bHRpcGxleGVyPWV9fWNsYXNzIGN7Y29uc3RydWN0b3IoZSl7dGhpcy5fc25hcHNob3RWYWx1ZXNDYWNoZT17fSx0aGlzLl93YWl0aW5nRm9yU25hcHNob3Q9e30sdGhpcy5zbmFwc2hvdD1lPT57aWYodGhpcy5fd2FpdGluZ0ZvclNuYXBzaG90W2VdKXJldHVybiB0aGlzLl93YWl0aW5nRm9yU25hcHNob3RbZV07Y29uc3QgdD1uZXcgUHJvbWlzZSgoKHQscyk9PntpZih0aGlzLl9zbmFwc2hvdFZhbHVlc0NhY2hlW2VdKXQodGhpcy5fc25hcHNob3RWYWx1ZXNDYWNoZVtlXSk7ZWxzZXtjb25zdCBuPSgwLG8uZ3VpZCkoKTt0aGlzLl9tdWx0aXBsZXhlci5zdWJzY3JpYmUobixbZV0sKGk9PnsiZXJyb3IiPT09aS5zdGF0dXMmJih0aGlzLl93YWl0aW5nRm9yU25hcHNob3RbZV09bnVsbCxzKCJRdW90ZXMgc25hcHNob3QgaXMgbm90IHJlY2VpdmVkIikpO2NvbnN0IG89aS52YWx1ZXM7byYmby5taW5tb3YmJm8ucHJpY2VzY2FsZSYmby5kZXNjcmlwdGlvbiYmKHRoaXMuX3dhaXRpbmdGb3JTbmFwc2hvdFtlXT1udWxsLHRoaXMuX3NuYXBzaG90VmFsdWVzQ2FjaGVbZV09byx0KG8pLHRoaXMuX211bHRpcGxleGVyLnVuc3Vic2NyaWJlKG4sZSkpfSkpfX0pKTtyZXR1cm4gdGhpcy5fd2FpdGluZ0ZvclNuYXBzaG90W2VdPXQsdH0sdGhpcy5fbXVsdGlwbGV4ZXI9ZX19InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJih3aW5kb3cuZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2U9YSl9LDUzNTMwKGUsdCxzKXtzLmQodCx7Z2V0TWluVGlja0RhdGE6KCk9PmQsbWFrZVZhcmlhYmxlTWluVGlja0RhdGE6KCk9PmN9KTt2YXIgbj1zKDcxMjc0NSksaT1zKDYwMTg0MSksbz1zKDUzNDQ0MCkscj1zKDY0MDc0NCk7ZnVuY3Rpb24gYShlKXtyZXR1cm4gZT8oMCxuLkJpZykoZS5taW5Nb3ZlKS5kaXYoZS5wcmljZVNjYWxlKS50b051bWJlcigpOk5hTn1mdW5jdGlvbiBkKGUpe2NvbnN0e21pblRpY2s6dCxwcmljZTpzLHZhcmlhYmxlTWluVGlja0RhdGE6bixzaG91bGRDaGVja0ZvckVxdWFsaXR5Om99PWUscj0oMCwKaS5pc051bWJlcikodCk/dSh0KTp0O3JldHVybiB2b2lkIDA9PT1uP3I6ZnVuY3Rpb24oZSx0LHM9ITEpe2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKXtpZihlPHRbbl0ucHJpY2UpcmV0dXJuIHRbbl0ubWluVGljaztpZihzJiZlPT09dFtuXS5wcmljZSlyZXR1cm4gdFtuXS5taW5UaWNrfXJldHVybiB0W3QubGVuZ3RoLTFdLm1pblRpY2t9KHMsbixvKX1mdW5jdGlvbiB1KGUpe2NvbnN0IHQ9KDAsby5udW1PZkRlY2ltYWxQbGFjZXMpKGUpLHM9TWF0aC5wb3coMTAsdCk7cmV0dXJue3ByaWNlU2NhbGU6cyxtaW5Nb3ZlOigwLG4uQmlnKShlKS5tdWwocykudG9OdW1iZXIoKX19ZnVuY3Rpb24gYyhlLHQpe2NvbnN0IHM9W3ttaW5UaWNrOigwLGkuaXNOdW1iZXIpKGUpP3UoZSk6ZSxwcmljZToxLzAsbWF4SW5kZXg6MS8wfV07dHJ5e2NvbnN0IGU9dC5zcGxpdCgiICIpLm1hcCgoKGUsdCk9PigwLHIuaXNFdmVuKSh0KT9mdW5jdGlvbihlKXtjb25zdCB0PU51bWJlcihlKTtpZihOdW1iZXIuaXNGaW5pdGUodCkpcmV0dXJuIHUodCk7e2NvbnN0IHQ9ZS5zcGxpdCgiLyIpO2lmKHQubGVuZ3RoPDJ8fHQubGVuZ3RoPjMpdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIG1pbnRpY2s6ICR7ZX1gKTtjb25zdCBzPU51bWJlcih0WzFdKSxuPU51bWJlcih0WzBdKTtpZighTnVtYmVyLmlzRmluaXRlKHMpfHwhTnVtYmVyLmlzRmluaXRlKG4pKXRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBtaW50aWNrOiAke2V9YCk7Y29uc3QgaT0zPT09dC5sZW5ndGg/TnVtYmVyKHRbMl0pOnZvaWQgMDtpZih2b2lkIDAhPT1pJiYhTnVtYmVyLmlzRmluaXRlKGkpKXRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBtaW50aWNrOiAke2V9YCk7Y29uc3Qgbz17cHJpY2VTY2FsZTpzLG1pbk1vdmU6bn07cmV0dXJuIHZvaWQgMCE9PWkmJihvLm1pbk1vdmUyPWkpLG99fShlKTpmdW5jdGlvbihlKXtjb25zdCB0PU51bWJlcihlKTtpZihOdW1iZXIuaXNOYU4odCkpdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIHByaWNlIGxpbWl0OiAke2V9YCk7cmV0dXJuIHR9KGUpKSk7aWYoKDAsci5pc0V2ZW4pKGUubGVuZ3RoKSl0aHJvdyBuZXcgRXJyb3IoIlRoZW1lIG11c3Qgbm90IGJlIGV2ZW50IG51bWJlciBvZiBlbGVtZW50cyIpO2NvbnN0IHM9W107Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kz0yKXtjb25zdCBpPWVbdCsxXT8/MS8wLG89c1tzLmxlbmd0aC0xXT8ucHJpY2U/PzAscj1zW3MubGVuZ3RoLTFdPy5tYXhJbmRleD8/MCxkPWk9PT0xLzA/MS8wOm5ldyBuLkJpZyhpKS5taW51cyhvKS5kaXYoYShlW3RdKSkucGx1cyhyKS50b051bWJlcigpO3MucHVzaCh7bWluVGljazplW3RdLHByaWNlOmksbWF4SW5kZXg6ZH0pfXJldHVybiBzfWNhdGNoe3JldHVybiBzfX19LDgyMjQzMShlLHQscyl7cy5kKHQse251bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvOigpPT5pfSk7dmFyIG49cyg2MDE4NDEpO2Z1bmN0aW9uIGkoZSx0KXtpZighKDAsbi5pc051bWJlcikoZSkpcmV0dXJuIm4vYSI7aWYoISgwLG4uaXNJbnRlZ2VyKSh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGxlbmd0aCIpO2lmKHQ8MHx8dD4yNCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGxlbmd0aCIpO2lmKDA9PT10KXJldHVybiBlLnRvU3RyaW5nKCk7cmV0dXJuKCIwMDAwMDAwMDAwMDAwMDAwMDAwMCIrZS50b1N0cmluZygpKS5zbGljZSgtdCl9fSwzNjc5NDYoZSx0LHMpe2Z1bmN0aW9uIG4oZSl7Y29uc3QgdD1mdW5jdGlvbihlKXtpZih2b2lkIDA9PT1lKXJldHVybiBudWxsO2NvbnN0IHQ9ZS5tYXRjaCgvKGRlbGF5ZWRfc3RyZWFtaW5nKV8oXGQrKS8pO3JldHVybiBudWxsPT09dD9udWxsOnttb2RlOnRbMV0saW50ZXJ2YWw6cGFyc2VJbnQodFsyXSl9fShlLnVwZGF0ZV9tb2RlKTtyZXR1cm4gbnVsbD09PXR8fChlLnVwZGF0ZV9tb2RlPXQubW9kZSxlLnVwZGF0ZV9tb2RlX3NlY29uZHM9dC5pbnRlcnZhbCksZX1zLmQodCx7bm9ybWFsaXplVXBkYXRlTW9kZTooKT0+bn0pfSw3MjI1NzEoZSx0LHMpe3ZhciBuPXMoMjAzNjgxKSxpPXMoNTQ3ODUxKSxvPXMoMjA2NjczKSxyPXMoMzA0MjIxKSxhPXMoODE3MzUwKSxkPXMoMTM4NjM4KSx1PXMoNjAxODQxKSxjPXMoMjMyMzY0KSxsPXMoMjIxMDYxKSxoPXMoNzgwOTc1KSxfPXMoNzczMDg4KSxtPXMoOTMwMjMxKSxmPXMoNjA2MTApLHA9cyg0MDM2KSxnPXMoNTIxMzMzKSx5PXMoMjE3NTI3KSxiPXMoNzQ2OTQ5KSx3PXMoNjYxODU4KSxDPXMoMzg0MDE3KSxrPXMoODg5NTE1KSx2PXMoNzY4NzYwKSxTPXMoNTg5NzQ5KSxNPXMoMTE2MzEwKSxSPXMoNDc5MzQpLFQ9cyg1NjkzOTgpLHE9cyg4NjIyMTMpLE49cygxMTczMTMpLEQ9cygxNTY4NTApLEk9cyg2NDA3NDQpLFA9cyg3ODMzNDApLEU9cyg5MzAwNDUpLEY9cyg0NjM0NDcpO2NvbnN0IHg9KDAsbC5nZXRMb2dnZXIpKCJDaGFydC5TdHVkaWVzLlN0dWR5TWV0YUluZm9SZXBvc2l0b3J5Iix7Y29sb3I6IiM2MDYifSksSD0oMCxsLmdldExvZ2dlcikoIkNoYXJ0QXBpLlRyYWZmaWNNZXRlciIse21heENvdW50OjIwLGNvbG9yOiIjMjY4In0pLEE9KDAsbC5nZXRMb2dnZXIpKCJDaGFydEFwaS5Db3JlIix7Y29sb3I6IiM3MDYifSksQj0oMCxsLmdldExvZ2dlcikoIkNoYXJ0QXBpLkNoYXJ0U2Vzc2lvbiIse2NvbG9yOiIjNzA2In0pLEw9KDAsbC5nZXRMb2dnZXIpKCJDaGFydEFwaS5DaGFydFNlc3Npb24iLHtoaWdoUmF0ZTohMCxtYXhDb3VudDoxMDAsY29sb3I6IiM3MDYifSksTz0oMCxsLmdldExvZ2dlcikoIkNoYXJ0QXBpLkNoYXJ0U2Vzc2lvbiIse21heENvdW50OjAsY29sb3I6IiM3MDYifSksUT0oMCxsLmdldExvZ2dlcikoIkNoYXJ0QXBpLkNoYXJ0U2Vzc2lvbiIse21heENvdW50OjUwLGNvbG9yOiIjNzA2In0pLFY9KDAsbC5nZXRMb2dnZXIpKCJDaGFydEFwaS5RdW90ZVNlc3Npb24iLHttYXhDb3VudDo1MCxjb2xvcjoiIzY2MCJ9KSwkPSgwLGwuZ2V0TG9nZ2VyKSgiQ2hhcnRBcGkuUXVvdGVTZXNzaW9uIix7aGlnaFJhdGU6ITAsbWF4Q291bnQ6MTAsY29sb3I6IiM2NjAifSksVT0hKDAsCk4uaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKSxXPSgwLFQuaXNGZWF0dXJlRW5hYmxlZCkoImJyb2tlcl9pZF9zZXNzaW9uIiksaj0oMCxULmlzRmVhdHVyZUVuYWJsZWQpKCJjaGVja19hdXRoX3Rva2VuX2V4cGlyYXRpb25fb25fZXZlcnlfcmVxdWVzdCIpO2xldCB6PSExLEo9ITEsRz0hMTtjb25zdCBZPVsiIiwiS0IiLCJNQiIsIkdCIiwiVEIiXTtmdW5jdGlvbiBLKGUpe2lmKDA9PT1lKXJldHVybiIwIjtjb25zdCB0PSgwLEkudG9JbnQpKE1hdGguZmxvb3IoTWF0aC5sb2coZSkvTWF0aC5sb2coMTAyNCkpKTtyZXR1cm4oZS9NYXRoLnBvdygxMDI0LHQpKS50b0ZpeGVkKDIpK1lbdF19ZnVuY3Rpb24gWihlLHQpe3JldHVybmAke2V9X18ke3R9YH1mdW5jdGlvbiBYKGUsdCxzKXtjb25zdCBuPXRbc10/PzA7dFtzXT1uK2V9Y29uc3QgZWU9WC5iaW5kKG51bGwsMSksdGU9WC5iaW5kKG51bGwsLTEpLHNlPSgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpPyJzdHVkaWVzX21ldGFkYXRhX3dpZGdldCI6InN0dWRpZXNfbWV0YWRhdGEiLG5lPSIvY2hhcnQtYXBpL3Byb19oYXNoIixpZT0oMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKT8iL2NoYXJ0LWFwaS9zdHVkaWVzX21ldGFkYXRhX3dpZGdldCI6Ii9jaGFydC1hcGkvc3R1ZGllc19tZXRhZGF0YSI7bGV0IG9lPW51bGw7ZnVuY3Rpb24gcmUoKXtpZihudWxsPT09b2Upe2NvbnN0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignbGlua1tyZWx+PSJjb252ZXJzaW9ucy1jb25maWciXScpLHQ9bmV3IFVSTCgoMCxkLmVuc3VyZU5vdE51bGwpKGUpLmhyZWYpO29lPSgwLEMuZmV0Y2gpKHQudG9TdHJpbmcoKSx7bWV0aG9kOiJHRVQifSkudGhlbigoZT0+e2lmKCFlLm9rKXRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIGxvYWQgY29udmVyc2lvbnMgY29uZmlnIGZyb20gJHtlLnVybH0gd2l0aCBzdGF0dXMgJHtlLnN0YXR1c30gYW5kIHN0YXR1c1RleHQgJHtlLnN0YXR1c1RleHR9LmApO3JldHVybiBlLmpzb24oKX0pKS50aGVuKChlPT57Y29uc3QgdD0oMCxxLmdldExvZ29VcmxSZXNvbHZlcikoKTtyZXR1cm4gZS5jdXJyZW5jaWVzLmZvckVhY2goKGU9Pnt2b2lkIDAhPT1lLmxvZ29pZCYmKGUubG9nb1VybD10LmdldFN5bWJvbExvZ29VcmwoZS5sb2dvaWQscS5Mb2dvU2l6ZS5NZWRpdW0pKX0pKSxlfSkpfXJldHVybiBvZX1sZXQgYWU9bnVsbDtjbGFzcyBkZXtjb25zdHJ1Y3RvcihlKXt0aGlzLnNlc3Npb25pZD1udWxsLHRoaXMuX2JhbkluZm89bmV3IGMuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2lzQXV0aFRva2VuTG9hZGVkPSExLHRoaXMuX2F1dGhUb2tlbkRmZD1udWxsLHRoaXMuX3NlcnZlclRpbWVCYXNlUG9pbnQ9RGF0ZS5ub3coKS1wZXJmb3JtYW5jZS5ub3coKSx0aGlzLl9pbml0Q2FjaGVQcm9taXNlPSgwLE0uY3JlYXRlSnNvblNlcmlhbGl6YWJsZUNhY2hlKSgiVFZDaGFydEFwaSIpLHRoaXMuX3RyYWZmaWNTdGF0cz17dG90YWw6MCxzaW5jZUNvbm5lY3Q6MCxsYXN0Q2h1bms6MH0sdGhpcy5fbG93UXVhbGl0eUVuYWJsZWQ9ITEsdGhpcy5fYnJva2VySWQ9IiIsdGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnQ9MCx0aGlzLl9tb2RpZnlTdHVkeU1hcD1uZXcgTWFwLHRoaXMuX2Rpc2Nvbm5lY3RDb3VudD0wLHRoaXMuX2lzQ29ubmVjdGVkPSExLHRoaXMuX21ldGFkYXRhRGVmZXJyZWRQcm9taXNlPW51bGwsdGhpcy5fZGF0YUhhbmRsZU1vZHVsZT1uZXcgRS5KU09ORGF0YUhhbmRsZXIsdGhpcy5fc2Vzc2lvbnM9e30sdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnM9e30sdGhpcy5fcGVuZGluZ01lc3NhZ2VzUXVldWU9W10sdGhpcy5fbG9hZE5ld0JhcnM9ITEsdGhpcy5fbWV0YWRhdGFSZXF1ZXN0TmV4dE51bWJlcj0xLHRoaXMuX2Z1bmRhbWVudGFsQ291bnRlcj17fSx0aGlzLl9zdHVkeUNvdW50ZXI9e30sdGhpcy5fY2hpbGRTdHVkeUNvdW50ZXI9e30sdGhpcy5fc3R1ZHlTcGVjcz1uZXcgTWFwLHRoaXMuX2Nvbm5lY3Rpb25zTGltaXRSZWFjaGVkPW5ldyBjLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fc2VudE1ldGhvZHNDb3VudGVycz1uZXcgTWFwLHRoaXMuX3JlY2VpdmVkTWV0aG9kc0NvdW50ZXJzPW5ldyBNYXAsdGhpcy5fcmVxdWVzdERhdGFQcm9ibGVtc1Byb21pc2U9bnVsbCx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uPWUsdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5vblJlY29ubmVjdCh0aGlzLl9iaW5kU29ja2V0RXZlbnRzLmJpbmQodGhpcykpLHRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uc2V0TG9nZ2VyKEEsbC5nZXRMb2dIaXN0b3J5KSx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLnNldFRlbGVtZXRyeShELnRlbGVtZXRyeSksdGhpcy5fYmluZFNvY2tldEV2ZW50cygpLHRoaXMuX2lzTm9uQ291bnRlZFN0dWR5PSgpPT4hMCx3aW5kb3c/LlRyYWRpbmdWaWV3Py5vbkNoYXJ0UGFnZXx8dGhpcy5fZW5hYmxlTG93UXVhbGl0eU1vZGUoKSxzZXRJbnRlcnZhbCgoKCk9PntILmxvZ05vcm1hbCgiTGFzdCAzMCBzZWNvbmRzOiIrSyh0aGlzLl90cmFmZmljU3RhdHMubGFzdENodW5rKSsiIFNpbmNlIGxhc3QgY29ubmVjdDoiK0sodGhpcy5fdHJhZmZpY1N0YXRzLnNpbmNlQ29ubmVjdCkrIiBUb3RhbCB0cmFmZmljOiIrSyh0aGlzLl90cmFmZmljU3RhdHMudG90YWwpKSx0aGlzLl90cmFmZmljU3RhdHMubGFzdENodW5rPTB9KSwzZTQpLHRoaXMuX2Nvbm5lY3Rpb25zTGltaXRSZWFjaGVkLnN1YnNjcmliZSgoZT0+e2UmJnRoaXMuZGlzY29ubmVjdCgpfSkpfWNvbm5lY3QoZSl7dGhpcy5fY29ubmVjdE9ubHlPcHRpb25zPWUsdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5pc0Nvbm5lY3RlZCgpfHx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLmlzQ29ubmVjdGluZygpfHx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLmNvbm5lY3QoKX1kaXNjb25uZWN0KCl7dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5kaXNjb25uZWN0KCl9c2VudE1ldGhvZHNDb3VudGVycygpe3JldHVybiB0aGlzLl9zZW50TWV0aG9kc0NvdW50ZXJzfXJlY2VpdmVkTWV0aG9kc0NvdW50ZXJzKCl7CnJldHVybiB0aGlzLl9yZWNlaXZlZE1ldGhvZHNDb3VudGVyc31kZWZhdWx0UmVzb2x1dGlvbnMoKXtyZXR1cm4oMCxnLmdldERlZmF1bHRSZXNvbHV0aW9ucykoKX1hdmFpbGFibGVDdXJyZW5jaWVzKCl7cmV0dXJuIHJlKCkudGhlbigoZT0+ZS5jdXJyZW5jaWVzKSl9YXZhaWxhYmxlVW5pdHMoKXtyZXR1cm4gcmUoKS50aGVuKChlPT57Y29uc3QgdD17fTtmb3IoY29uc3QgcyBvZiBlLnVuaXRzKXRbcy50eXBlXXx8KHRbcy50eXBlXT1bXSksdFtzLnR5cGVdLnB1c2gocyk7cmV0dXJuIHR9KSl9YXN5bmMgYXZhaWxhYmxlTWV0cmljcygpe3JldHVybiBmdW5jdGlvbigpe2lmKG51bGw9PT1hZSl7Y29uc3QgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdsaW5rW3JlbH49Im1ldHJpY3MtY29uZmlnIl0nKSx0PW5ldyBVUkwoKDAsZC5lbnN1cmVOb3ROdWxsKShlKS5ocmVmKTthZT0oMCxDLmZldGNoKSh0LnRvU3RyaW5nKCkse21ldGhvZDoiR0VUIn0pLnRoZW4oKGFzeW5jIGU9PntpZighZS5vayl0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBsb2FkIG1ldHJpY3MgY29uZmlnIGZyb20gJHtlLnVybH0gd2l0aCBzdGF0dXMgJHtlLnN0YXR1c30gYW5kIHN0YXR1c1RleHQgJHtlLnN0YXR1c1RleHR9LmApO2NvbnN0IHQ9YXdhaXQgZS5qc29uKCk7cmV0dXJuIHQubWV0cmljc19mdWxsX25hbWU/LmZvckVhY2goKGU9Pntjb25zdCBzPXQubWV0cmljcy5maW5kKCh0PT50LmlkPT09ZS5pZCkpO3MmJihzLmRlc2NyaXB0aW9uPWUubmFtZSl9KSksdH0pKX1yZXR1cm4gYWV9KCkudGhlbigoZT0+ZS5tZXRyaWNzKSl9YXZhaWxhYmxlUHJpY2VTb3VyY2VzKCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSl9c3VwcG9ydGVkU3ltYm9sc1R5cGVzKCl7Y29uc3QgZT13aW5kb3cuVHJhZGluZ1ZpZXc/LndpZGdldEN1c3RvbWVyPz8iIjtyZXR1cm4iYm92ZXNwYSI9PT1lP3cuZmlsdGVyKChlPT5bIiIsInN0b2NrIiwiZnV0dXJlcyIsImluZGV4Il0uaW5jbHVkZXMoZS52YWx1ZSkpKToiY21lIj09PWU/dy5maWx0ZXIoKGU9PmUudmFsdWUhPT15LnR5cGVzLlFVQU5ETCkpOnd9c3ltYm9sc0dyb3VwaW5nKCl7cmV0dXJue2Z1dHVyZXM6L14oLis/KShbMTJdIXxcd1xkezR9KT8kL319Y29ubmVjdGVkKCl7cmV0dXJuISF0aGlzLl9pc0Nvbm5lY3RlZH1hdXRoVG9rZW5NYW5hZ2VyKCl7cmV0dXJuKDAsZC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9hdXRoVG9rZW5NYW5hZ2VyKX1jcmVhdGVTZXNzaW9uKGUsdCl7dGhpcy5fc2Vzc2lvbnNbZV09dCx0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXT17fSx0aGlzLmNvbm5lY3RlZCgpJiZ0aGlzLl9pc0F1dGhUb2tlbkxvYWRlZCYmdC5vbk1lc3NhZ2Uoe21ldGhvZDpoLkNoYXJ0QXBpTWVzc2FnZU1ldGhvZC5Db25uZWN0ZWQscGFyYW1zOltdfSl9cmVtb3ZlU2Vzc2lvbihlKXtkZWxldGUgdGhpcy5fc2Vzc2lvbnNbZV0sZGVsZXRlIHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdfWRpc2Nvbm5lY3RDb3VudCgpe3JldHVybiB0aGlzLl9kaXNjb25uZWN0Q291bnR8fDB9Z2V0UGluZ0luZm8oKXtyZXR1cm4gdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5nZXRQaW5nSW5mbygpfWNvbm5lY3Rpb25CYW5JbmZvKCl7cmV0dXJuIHRoaXMuX2JhbkluZm8ucmVhZG9ubHkoKX1jb25uZWN0aW9uc0xpbWl0UmVhY2hlZCgpe3JldHVybiB0aGlzLl9jb25uZWN0aW9uc0xpbWl0UmVhY2hlZC5yZWFkb25seSgpfXNlcnZlclRpbWUoKXtyZXR1cm4gTWF0aC5yb3VuZCh0aGlzLl9zZXJ2ZXJUaW1lQmFzZVBvaW50K3BlcmZvcm1hbmNlLm5vdygpKX1jb21wZW5zYXRlQ29ubmVjdGlvbkxhZyhlKXtjb25zdCB0PXRoaXMuc2VydmVyVGltZSgpLHM9TWF0aC5mbG9vcihlLXQpO3M+MCYmKHRoaXMuX3NlcnZlclRpbWVCYXNlUG9pbnQrPXMpfXNldEJyb2tlcihlKXtyZXR1cm4gZT09PXRoaXMuX2Jyb2tlcklkfHwodGhpcy5fYnJva2VySWQ9ZSx0aGlzLl9zZW5kQnJva2VySWRUb1Nlc3Npb24odGhpcy5fYnJva2VySWQpKX1jaGFydENyZWF0ZVNlc3Npb24oZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoImNoYXJ0X2NyZWF0ZV9zZXNzaW9uIixbZSx0XSl9Y2hhcnREZWxldGVTZXNzaW9uKGUpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiY2hhcnRfZGVsZXRlX3Nlc3Npb24iLFtlXSl9c3dpdGNoVGltZXpvbmUoZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInN3aXRjaF90aW1lem9uZSIsW2UsdF0pfXJlc29sdmVTeW1ib2woZSx0LHMsbil7cmV0dXJuIEQudGVsZW1ldHJ5LnRpbWVDb3VudGVycy5zZXJpZXNbInJlc29sdmVfc3ltYm9sXyIrZV09d2luZG93LnBlcmZvcm1hbmNlLm5vdygpLHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdPW5ldyBGLkhhbmRsZXJJbmZvKG4sdCwhMCksdGhpcy5fc2VuZFJlcXVlc3QoInJlc29sdmVfc3ltYm9sIixbZSx0LHNdKX1yZXF1ZXN0Rmlyc3RCYXJUaW1lKGUsdCxzLG4pe3JldHVybiB0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgRi5IYW5kbGVySW5mbyhuLHQsITApLHRoaXMuX3NlbmRSZXF1ZXN0KCJnZXRfZmlyc3RfYmFyX3RpbWUiLFtlLHQsc10pfWNyZWF0ZVNlcmllcyhlLHQscyxuLGksbyxyLGEpe0QudGVsZW1ldHJ5LnRpbWVDb3VudGVycy5zZXJpZXMubWFya3MucHVzaCgiY3JlYXRlX3Nlcmllc18iK2UpLHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdPW5ldyBGLkhhbmRsZXJJbmZvKGEsdCk7Y29uc3QgZD1udWxsPT09cj8iIjooMCxfLmNvbnZlcnRUaW1lRnJhbWVUb1N0cikociwhMCk7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJjcmVhdGVfc2VyaWVzIixbZSx0LHMsbixpLG8sZF0pfXJlbW92ZVNlcmllcyhlLHQpe3JldHVybiBkZWxldGUgdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF0sdGhpcy5fc2VuZFJlcXVlc3QoInJlbW92ZV9zZXJpZXMiLFtlLHRdKX1tb2RpZnlTZXJpZXMoZSx0LHMsbixpLG8scixhKXt0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgRi5IYW5kbGVySW5mbyhhLHQpO2NvbnN0IGQ9bnVsbD09PXI/IiI6KDAsCl8uY29udmVydFRpbWVGcmFtZVRvU3RyKShyLCEwKTtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoIm1vZGlmeV9zZXJpZXMiLFtlLHQscyxuLGksZF0pfWdldFN0dWR5Q291bnRlcihlKXtyZXR1cm4gdGhpcy5fc3R1ZHlDb3VudGVyW2VdPz8wfWdldEZ1bmRhbWVudGFsQ291bnRlcihlKXtyZXR1cm4gdGhpcy5fZnVuZGFtZW50YWxDb3VudGVyW2VdPz8wfWdldENoaWxkU3R1ZHlDb3VudGVyKGUpe3JldHVybiB0aGlzLl9jaGlsZFN0dWR5Q291bnRlcltlXT8/MH1yZXF1ZXN0TW9yZURhdGEoZSx0LHMsbil7aWYodm9pZCAwPT09c3x8dm9pZCAwPT09bil0aHJvdyBuZXcgRXJyb3IoInVuc3VwcG9ydGVkIHJlcXVlc3QgdG8gbG9hZCBtb3JlIGRhdGEsIGJhcnM9IitzKTtjb25zdCBpPXQ7cmV0dXJuIHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW2ldPW5ldyBGLkhhbmRsZXJJbmZvKG4saSksdGhpcy5fc2VuZFJlcXVlc3QoInJlcXVlc3RfbW9yZV9kYXRhIixbZSxpLHNdKX1yZXF1ZXN0TW9yZVRpY2ttYXJrcyhlLHQscyxuKXtyZXR1cm4gbiYmKHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdPW5ldyBGLkhhbmRsZXJJbmZvKG4sdCkpLHRoaXMuX3NlbmRSZXF1ZXN0KCJyZXF1ZXN0X21vcmVfdGlja21hcmtzIixbZSx0LHNdKX1zZXRGdXR1cmVUaWNrbWFya3NNb2RlKGUsdCl7dGhpcy5fc2VuZFJlcXVlc3QoInNldF9mdXR1cmVfdGlja21hcmtzX21vZGUiLFtlLHRdKX1yZXF1ZXN0RGF0YVByb2JsZW1zKCl7cmV0dXJuIHRoaXMuX3JlcXVlc3REYXRhUHJvYmxlbXNQcm9taXNlfHwodGhpcy5fcmVxdWVzdERhdGFQcm9ibGVtc1Byb21pc2U9dGhpcy5jb25uZWN0RGZkLnRoZW4oKCgpPT5uZXcgUHJvbWlzZSgoKGUsdCk9Pnt0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VFcnJiYWNrPXQsdGhpcy5fc2VuZFJlcXVlc3QoInJlcXVlc3RfZGF0YV9wcm9ibGVtcyIsW10pP3RoaXMuX29uRGF0YVByb2JsZW1zUHJvbWlzZUNiPWU6dCgpfSkpKSkuZmluYWxseSgoKCk9Pnt0aGlzLl9yZXF1ZXN0RGF0YVByb2JsZW1zUHJvbWlzZT1udWxsfSkpKSx0aGlzLl9yZXF1ZXN0RGF0YVByb2JsZW1zUHJvbWlzZX1hc3luYyByZXF1ZXN0TWV0YWRhdGEoKXtyZXR1cm4gbnVsbD09PXRoaXMuX21ldGFkYXRhRGVmZXJyZWRQcm9taXNlJiYodGhpcy5fbWV0YWRhdGFEZWZlcnJlZFByb21pc2U9KDAsdi5jcmVhdGVEZWZlcnJlZFByb21pc2UpKCksdGhpcy5fbWV0YWRhdGFEZWZlcnJlZFByb21pc2UucHJvbWlzZS5maW5hbGx5KCgoKT0+e3RoaXMuX21ldGFkYXRhRGVmZXJyZWRQcm9taXNlPW51bGx9KSksdGhpcy5fcmVxdWVzdE1ldGFkYXRhKCkpLHRoaXMuX21ldGFkYXRhRGVmZXJyZWRQcm9taXNlLnByb21pc2V9YWxsU3R1ZGllc01ldGFkYXRhKCl7dGhyb3cgbmV3IEVycm9yKCJUaGlzIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQiKX1zZXRMb2FkTmV3KGUpe3RoaXMuX2xvYWROZXdCYXJzPSEhZX1zZXRJc05vbkNvdW50ZWRTdHVkeUZuKGUpe3RoaXMuX2lzTm9uQ291bnRlZFN0dWR5PWV9Y2FuQ3JlYXRlU3R1ZHkoZSx0LHMpe2NvbnN0e2lkOm4sY2hpbGQ6aSxmdW5kYW1lbnRhbDpvLGZvcmVjYXN0OnIsc3R1YlRpdGxlOmF9PXQsdT0oMCxkLmVuc3VyZU5vdE51bGwpKCgwLFIuZ2V0Q29uZmlnKSgiU1RVRFlfT05fU1RVRFkiKSkuY2hpbGRfbGltaXQ7aWYoaSYmKCEoMCxSLmVuYWJsZWQpKCJTVFVEWV9PTl9TVFVEWSIpfHwodGhpcy5fY2hpbGRTdHVkeUNvdW50ZXJbZV0/PzApPj11KSlyZXR1cm57c3VjY2VzczohMSxyZWFzb246ImNoaWxkIixsaW1pdFZhbHVlOnV9O2lmKHMpcmV0dXJue3N1Y2Nlc3M6ITB9O2lmKHImJiEoMCxSLmVuYWJsZWQpKCJGVU5EQU1FTlRBTFNfRk9SRUNBU1QiKSlyZXR1cm57c3VjY2VzczohMSxyZWFzb246ImZvcmVjYXN0IixzY3JpcHROYW1lOmF9O2NvbnN0IGM9KDAsZC5lbnN1cmVOb3ROdWxsKSgoMCxSLmdldENvbmZpZykoIkZVTkRBTUVOVEFMU19PTl9DSEFSVCIpKS5saW1pdDtpZihvJiYoISgwLFIuZW5hYmxlZCkoIkZVTkRBTUVOVEFMU19PTl9DSEFSVCIpfHx0aGlzLmdldEZ1bmRhbWVudGFsQ291bnRlcihlKT49YykpcmV0dXJue3N1Y2Nlc3M6ITEscmVhc29uOiJmdW5kYW1lbnRhbCIsbGltaXRWYWx1ZTpjfTtjb25zdCBsPSgwLGQuZW5zdXJlTm90TnVsbCkoKDAsUi5nZXRDb25maWcpKCJJTkRJQ0FUT1JTX09OX0NIQVJUIikpLmxpbWl0O3JldHVybiBvfHx0aGlzLl9pc05vbkNvdW50ZWRTdHVkeShuKXx8KDAsUi5lbmFibGVkKSgiSU5ESUNBVE9SU19PTl9DSEFSVCIpJiYhKHRoaXMuZ2V0U3R1ZHlDb3VudGVyKGUpPj1sKT97c3VjY2VzczohMH06e3N1Y2Nlc3M6ITEscmVhc29uOiJnZW5lcmFsIixsaW1pdFZhbHVlOmx9fWNyZWF0ZVN0dWR5KGUsdCxzLG4saSxvLHIsYSl7Y29uc3QgZD10aGlzLmNhbkNyZWF0ZVN0dWR5KGUsYSk7cmV0dXJuIGQuc3VjY2Vzc3x8ImNoaWxkIiE9PWQucmVhc29uPyh0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgRi5IYW5kbGVySW5mbyhyLHQpLHRoaXMuX3NlbmRSZXF1ZXN0KCJjcmVhdGVfc3R1ZHkiLFtlLHQscyxuLGksb10pLGEuZnVuZGFtZW50YWw/ZWUodGhpcy5fZnVuZGFtZW50YWxDb3VudGVyLGUpOnRoaXMuX2lzTm9uQ291bnRlZFN0dWR5KGEuaWQpfHxlZSh0aGlzLl9zdHVkeUNvdW50ZXIsZSksYS5jaGlsZCYmZWUodGhpcy5fY2hpbGRTdHVkeUNvdW50ZXIsZSksdGhpcy5fc3R1ZHlTcGVjcy5zZXQoWihlLHQpLGEpLCEwKTooKDAsay5zaG93VG9vTWFueVN0dWRpZXNOb3RpY2UpKGQubGltaXRWYWx1ZSksITEpfW1vZGlmeVN0dWR5KGUsdCxzLG4sbyxyKXtYKHI9cj8/MCx0aGlzLl9jaGlsZFN0dWR5Q291bnRlcixlKSwwIT09ciYmKCgwLGQuZW5zdXJlRGVmaW5lZCkodGhpcy5fc3R1ZHlTcGVjcy5nZXQoWihlLHQpKSkuY2hpbGQ9cj4wKSx0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgRi5IYW5kbGVySW5mbyhvLHQpO2NvbnN0IGE9ZSt0O2lmKHRoaXMuX21vZGlmeVN0dWR5TWFwLmhhcyhhKSl7cmV0dXJuKDAsCmQuZW5zdXJlRGVmaW5lZCkodGhpcy5fbW9kaWZ5U3R1ZHlNYXAuZ2V0KGEpKShlLHQscyxuKT8/ITB9e2NvbnN0IG89KDAsaS5kZWZhdWx0KSgoKGUsdCxzLG4pPT50aGlzLl9zZW5kUmVxdWVzdCgibW9kaWZ5X3N0dWR5IixbZSx0LHMsbl0pKSw1MDAse21heFdhaXQ6NTUwfSk7cmV0dXJuIHRoaXMuX21vZGlmeVN0dWR5TWFwLnNldChhLG8pLG8oZSx0LHMsbik/PyEwfX1ub3RpZnlTdHVkeShlLHQscyxuKXtyZXR1cm4gQS5sb2dOb3JtYWwoYFNlbmQgbm90aWZ5X3N0dWR5LCBbJHtlfSwgJHt0fSwgJHtzfSwgJHtKU09OLnN0cmluZ2lmeShuKX1dYCksdGhpcy5fc2VuZFJlcXVlc3QoIm5vdGlmeV9zdHVkeSIsW2UsdCxzLEpTT04uc3RyaW5naWZ5KG4pXSl9cmVtb3ZlU3R1ZHkoZSx0KXtjb25zdCBzPWUrdDtkZWxldGUgdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF0sdGhpcy5fbW9kaWZ5U3R1ZHlNYXAuZ2V0KHMpPy5mbHVzaCgpO2NvbnN0IG49dGhpcy5fc2VuZFJlcXVlc3QoInJlbW92ZV9zdHVkeSIsW2UsdF0pO2lmKCExPT09bilyZXR1cm4hMTt0aGlzLl9tb2RpZnlTdHVkeU1hcC5kZWxldGUocyk7Y29uc3QgaT1aKGUsdCksbz0oMCxkLmVuc3VyZURlZmluZWQpKHRoaXMuX3N0dWR5U3BlY3MuZ2V0KGkpKTtyZXR1cm4gdGhpcy5fc3R1ZHlTcGVjcy5kZWxldGUoaSksby5mdW5kYW1lbnRhbD90ZSh0aGlzLl9mdW5kYW1lbnRhbENvdW50ZXIsZSk6dGhpcy5faXNOb25Db3VudGVkU3R1ZHkoby5pZCl8fHRlKHRoaXMuX3N0dWR5Q291bnRlcixlKSxvLmNoaWxkJiZ0ZSh0aGlzLl9jaGlsZFN0dWR5Q291bnRlcixlKSxufWNyZWF0ZVBvaW50c2V0KGUsdCxzLG4saSxvLHIpe3JldHVybiB0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgRi5IYW5kbGVySW5mbyhyLHQpLHRoaXMuX3NlbmRSZXF1ZXN0KCJjcmVhdGVfcG9pbnRzZXQiLFtlLHQscyxuLGksb10pfW1vZGlmeVBvaW50c2V0KGUsdCxzLG4saSl7cmV0dXJuIHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdPW5ldyBGLkhhbmRsZXJJbmZvKGksdCksdGhpcy5fc2VuZFJlcXVlc3QoIm1vZGlmeV9wb2ludHNldCIsW2UsdCxzLG5dKX1yZW1vdmVQb2ludHNldChlLHQpe3JldHVybiBkZWxldGUgdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF0sdGhpcy5fc2VuZFJlcXVlc3QoInJlbW92ZV9wb2ludHNldCIsW2UsdF0pfWdldE1hcmtzKGUsdCxzLG4saSl7dGhyb3cgRXJyb3IoIlRoaXMgbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZCIpfWdldFRpbWVzY2FsZU1hcmtzKGUsdCxzLG4saSl7dGhyb3cgRXJyb3IoIlRoaXMgbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZCIpfXF1b3RlQ3JlYXRlU2Vzc2lvbihlKXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX2NyZWF0ZV9zZXNzaW9uIixbZV0pfXF1b3RlRGVsZXRlU2Vzc2lvbihlKXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX2RlbGV0ZV9zZXNzaW9uIixbZV0pfXF1b3RlQWRkU3ltYm9scyhlLHQpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgicXVvdGVfYWRkX3N5bWJvbHMiLFtlLHRdKX1xdW90ZVJlbW92ZVN5bWJvbHMoZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX3JlbW92ZV9zeW1ib2xzIixbZSx0XSl9cXVvdGVGYXN0U3ltYm9scyhlLHQpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgicXVvdGVfZmFzdF9zeW1ib2xzIixbZSx0XSl9cXVvdGVTZXRGaWVsZHMoZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX3NldF9maWVsZHMiLFtlLHRdKX1xdW90ZUhpYmVybmF0ZUFsbChlKXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX2hpYmVybmF0ZV9hbGwiLFtlXSl9ZGVwdGhDcmVhdGVTZXNzaW9uKGUsdCxzKXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoImRlcHRoX2NyZWF0ZV9zZXNzaW9uIixbZSx0LHNdKX1kZXB0aERlbGV0ZVNlc3Npb24oZSl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJkZXB0aF9kZWxldGVfc2Vzc2lvbiIsW2VdKX1kZXB0aFNldFN5bWJvbChlLHQpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiZGVwdGhfc2V0X3N5bWJvbCIsW2UsdF0pfWRlcHRoQ2xlYXJTeW1ib2woZSl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJkZXB0aF9jbGVhcl9zeW1ib2wiLFtlXSl9ZGVwdGhTZXRTY2FsZShlLHQpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiZGVwdGhfc2V0X3NjYWxlIixbZSx0XSl9dW5wYWNrKGUpe3JldHVybiB0aGlzLl9kYXRhSGFuZGxlTW9kdWxlLnVucGFjayhlKX1zZW5kUmVxdWVzdChlLHQpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdChlLHQpfXNldFZpc2libGVUaW1lUmFuZ2UoKXt0aHJvdyBuZXcgRXJyb3IoInNldFZpc2libGVUaW1lUmFuZ2UgaXMgZGVwcmVjYXRlZCBhbmQgc2hvdWxkIG5vdCBiZSB1c2VkIil9X2luaXQoKXt0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVycz17fSx0aGlzLl9zdHVkeUNvdW50ZXI9e30sdGhpcy5fY2hpbGRTdHVkeUNvdW50ZXI9e30sdGhpcy5fZnVuZGFtZW50YWxDb3VudGVyPXt9LHRoaXMuX21vZGlmeVN0dWR5TWFwPW5ldyBNYXB9X2NoZWNrQXV0aFRva2VuRXhwaXJhdGlvbihlKXswPT09dGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnQmJnRoaXMuX2F1dGhUb2tlbk1hbmFnZXImJiF0aGlzLl9hdXRoVG9rZW5NYW5hZ2VyLmN1cnJlbnRUb2tlbklzVmFsaWQoKSYmKEEubG9nSW5mbyhlKSx0aGlzLl9hdXRoVG9rZW5NYW5hZ2VyLnJlc2V0KCkpfV9zZW5kUmVxdWVzdChlLHQpe3JldHVybiBqJiZ0aGlzLl9jaGVja0F1dGhUb2tlbkV4cGlyYXRpb24oIkF1dGhUb2tlbiBpbnZhbGlkYXRpb24gZGV0ZWN0ZWQgb24gc2VuZGluZyBhIG1lc3NhZ2UsIHJlcXVlc3RpbmcgbmV3IHRva2VuIiksMCE9PXRoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50Pyh0aGlzLl9wZW5kaW5nTWVzc2FnZXNRdWV1ZS5wdXNoKHttZXRob2Q6ZSxhcmdzOnR9KSwhMCk6dGhpcy5fc2VuZFJlcXVlc3RJbXBsKGUsdCl9X3NlbmRSZXF1ZXN0SW1wbChlLHQpewpjb25zdCBzPXRoaXMuX3NlbnRNZXRob2RzQ291bnRlcnMuZ2V0KGUpPz8wO3RoaXMuX3NlbnRNZXRob2RzQ291bnRlcnMuc2V0KGUscysxKTtjb25zdCBpPXRoaXMuX2RhdGFIYW5kbGVNb2R1bGVbZV0uYXBwbHkodGhpcy5fZGF0YUhhbmRsZU1vZHVsZSx0KSxkPXttOmUscDooMCxuLmRlZmF1bHQpKGkpfSxjPWQubS5pbmNsdWRlcygic3R1ZHkiKSYmZC5wWzVdO2MmJmZ1bmN0aW9uKGUpe2lmKCEoMCx1LmlzT2JqZWN0KShlKSlyZXR1cm4hMTtmb3IoY29uc3QgdCBvZiBPYmplY3Qua2V5cyhlKSl7Y29uc3Qgcz1lW3RdO2lmKCEoKDAsdS5pc09iamVjdCkocyl8fCgwLHIuZGVmYXVsdCkocyl8fCgwLG8uZGVmYXVsdCkocyl8fCgwLGEuZGVmYXVsdCkocykpKXJldHVybiExfXJldHVybiEwfShjKSYmInRleHQiaW4gYyYmKGMudGV4dD1jLnRleHQuc2xpY2UoMCwxMCkpO2NvbnN0IGw9SlNPTi5zdHJpbmdpZnkoZCk7aWYoaS5sZW5ndGg+MCl7Y29uc3QgZT1pWzBdO2Uuc3RhcnRzV2l0aCgicXNfIik/Vi5sb2dOb3JtYWwoInNlbmQ6ICIrbCk6ZS5zdGFydHNXaXRoKCJjc18iKSYmQi5sb2dOb3JtYWwoInNlbmQ6ICIrbCw0MDk2KX1lbHNlIEEubG9nTm9ybWFsKCJzZW5kOiAiK2wpO2NvbnN0IGg9dGhpcy5fZGF0YUhhbmRsZU1vZHVsZS5wcmVwYXJlRW5jb2RlTWVzc2FnZShlLGkpO3JldHVybiB0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLnNlbmQoaCl9X29uQ29ubmVjdCgpe2lmKHRoaXMuY29ubmVjdGVkKCkpcmV0dXJuO2lmKHRoaXMuX3RyYWZmaWNTdGF0cy5zaW5jZUNvbm5lY3Q9MCx0aGlzLl9pc0F1dGhUb2tlbkxvYWRlZD0hMSx0aGlzLl9jb25uZWN0T25seU9wdGlvbnM9dGhpcy5fY29ubmVjdE9ubHlPcHRpb25zfHx7fSx0aGlzLl9hdXRoVG9rZW5EZmQ9dGhpcy5fZ2V0QXV0aFRva2VuRGZkKHRoaXMuX2Nvbm5lY3RPbmx5T3B0aW9ucy50b2tlbkdyYWJTZXNzaW9uKSx0aGlzLl9jb25uZWN0T25seU9wdGlvbnM9e30sdGhpcy5zZXNzaW9uaWQ9dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5nZXRTZXNzaW9uSWQoKSwhdGhpcy5zZXNzaW9uaWR8fHRoaXMuX2lzQ29ubmVjdGVkKXJldHVybjt0aGlzLl9wZW5kaW5nTWVzc2FnZXNRdWV1ZT1bXSx0aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudD0wLHRoaXMuX3N0dWR5Q291bnRlcj17fSx0aGlzLl9jaGlsZFN0dWR5Q291bnRlcj17fSx0aGlzLl9mdW5kYW1lbnRhbENvdW50ZXI9e30sdGhpcy5fc3R1ZHlTcGVjcy5jbGVhcigpLHRoaXMuX2lzQ29ubmVjdGVkPSEwLHRoaXMuX2JhbkluZm8uc2V0VmFsdWUobnVsbCksdGhpcy5fY29ubmVjdGlvbnNMaW1pdFJlYWNoZWQuc2V0VmFsdWUoITEpO2NvbnN0IGU9SlNPTi5wYXJzZSh0aGlzLnNlc3Npb25pZCk7dGhpcy5fc2VuZExvd1F1YWxpdHlNb2RlSWZFbmFibGVkKCksdGhpcy5fbWV0YWRhdGFTZXJ2ZXJIYXNoPWUuc3R1ZGllc19tZXRhZGF0YV9oYXNofHxudWxsO2NvbnN0IHQ9dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5nZXRDb25uZWN0aW9uRXN0YWJsaXNoZWQoKTt0cnl7dGhpcy5fc2VydmVyVGltZUJhc2VQb2ludD1NYXRoLnJvdW5kKGUudGltZXN0YW1wTXMtdCl9Y2F0Y2goZSl7dGhpcy5fc2VydmVyVGltZUJhc2VQb2ludD1EYXRlLm5vdygpLXBlcmZvcm1hbmNlLm5vdygpfWlmKEEubG9nSW5mbygiVGltZSBzaGlmdCB3aXRoIHNlcnZlcjogIit0aGlzLl9mb3JtYXRUaW1lKHRoaXMuc2VydmVyVGltZSgpLURhdGUubm93KCkpKSx0aGlzLl9hdXRoVG9rZW5EZmQpe3RoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50Kz0xLEEubG9nSW5mbygiV2FpdCBmb3IgYXV0aCB0b2tlbiBiZWZvcmUgc2VuZCBtZXNzYWdlcyIpO2NvbnN0IGU9dGhpcy5fYXV0aFRva2VuRGZkO2UudGhlbigodD0+e2lmKG51bGwhPT10aGlzLl9hdXRoVG9rZW5EZmQmJnRoaXMuX2F1dGhUb2tlbkRmZD09PWUpe2lmKEEubG9nTm9ybWFsKCJBdXRoIHRva2VuIHJlcXVlc3QgaXMgZmluaXNoZWQsIHRva2VuOiAiK0Jvb2xlYW4odCkpLHRoaXMuX2F1dGhUb2tlbkRmZD1udWxsLHQpe2NvbnN0IGU9W3ttZXRob2Q6InNldF9hdXRoX3Rva2VuIixhcmdzOlt0XX1dO2lmKFUpe2NvbnN0IHQ9d2luZG93LmluaXREYXRhJiZ3aW5kb3cuaW5pdERhdGEuY3VycmVudExvY2FsZUluZm87dCYmZS5wdXNoKHttZXRob2Q6InNldF9sb2NhbGUiLGFyZ3M6W3QuaXNvLHQuZmxhZy50b1VwcGVyQ2FzZSgpXX0pfXRoaXMuX3BlbmRpbmdNZXNzYWdlc1F1ZXVlLnVuc2hpZnQoLi4uZSl9dGhpcy5fb25TZW5kaW5nUXVldWVSZXF1ZXN0RmluaXNoZWQoKSx0aGlzLl9pc0F1dGhUb2tlbkxvYWRlZD0hMCx0aGlzLl9ub3RpZnlTZXNzaW9ucyh7bWV0aG9kOmguQ2hhcnRBcGlNZXNzYWdlTWV0aG9kLkNvbm5lY3RlZCxwYXJhbXM6W119KX1lbHNlIEEubG9nTm9ybWFsKCJDb21lcyBhdXRoIHRva2VuIGFmdGVyIHJlcXVlc3RpbmcgbmV3IHRva2VuIG9yIGFmdGVyIHNvY2tldCBkaXNjb25uZWN0ZWQiKX0pKS5jYXRjaCgoZT0+e0EubG9nTm9ybWFsKCgwLFMuZXJyb3JUb1N0cmluZykoZSkpfSkpfWVsc2UgQS5sb2dXYXJuKCJEZWZlcnJlZCBhdXRoIHRva2VuIG9iamVjdCBpcyBub3QgdmFsaWQiKSx0aGlzLl9pc0F1dGhUb2tlbkxvYWRlZD0hMDsiIiE9PXRoaXMuX2Jyb2tlcklkJiZ0aGlzLl9zZW5kQnJva2VySWRUb1Nlc3Npb24odGhpcy5fYnJva2VySWQpO2NvbnN0IHM9dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5nZXRDb25uZWN0aW9uU3RhcnQoKTtELnRlbGVtZXRyeS5zZXRTZXNzaW9uSW5mbyh0aGlzLnNlc3Npb25pZCksRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJ3ZWJzb2NrZXRfY29ubmVjdGVkIiksRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJ3ZWJzb2NrZXRfY29ubmVjdGlvbl90aW1lX2ZyYW1lIix7dmFsdWU6dC1zfSksRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJyZWNvbm5lY3RfY291bnRfZnJhbWUiLHt2YWx1ZTp0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLmdldFJlY29ubmVjdENvdW50KCl9KSwKRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJyZWRpcmVjdF9jb3VudF9mcmFtZSIse3ZhbHVlOnRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uZ2V0UmVkaXJlY3RDb3VudCgpfSksenx8KHo9ITAsRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJiZWZvcmVfd2Vic29ja2V0X2Nvbm5lY3Rpb25fdGltZV9mcmFtZSIse3ZhbHVlOnN9KSksdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5yZXNldENvdW50ZXJzKCksY2xlYXJUaW1lb3V0KHRoaXMuX3RlbGVtZXRyeURpc2Nvbm5lY3RUaW1lb3V0KX1fZm9ybWF0VGltZShlKXtyZXR1cm5gJHsoZS8xZTMpLnRvRml4ZWQoMil9IHNlY29uZHMuYH1fZGlzcGF0Y2hOb3RpZmljYXRpb24oZSx0KXtpZigicmVxdWVzdF9kYXRhX3Byb2JsZW1zIj09PWUubWV0aG9kJiZ0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VDYilyZXR1cm4gdm9pZCB0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VDYihlLnBhcmFtcyk7aWYoZS5tZXRob2Q9PT1QLldlYmNoYXJ0Q2hhcnRTZXNzaW9uUmVzcG9uc2VNZXRob2QuU3R1ZGllc01ldGFkYXRhJiZudWxsIT09dGhpcy5fbWV0YWRhdGFEZWZlcnJlZFByb21pc2UpcmV0dXJuIHZvaWQgdGhpcy5fcHJvY2Vzc2VkTWV0YWRhdGEoZSk7Y29uc3Qgcz1lLnBhcmFtcy5zaGlmdCgpO2lmKCF0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tzXSlyZXR1cm47aWYoInN5bWJvbF9yZXNvbHZlZCI9PT1lLm1ldGhvZCl7Y29uc3QgdD1lLnBhcmFtc1sxXS5mdWxsX25hbWU7RC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJzeW1ib2xfcmVzb2x2ZWQiLHtjb3VudDoxLGFkZGl0aW9uYWw6e3N5bWJvbDp0fX0pO2NvbnN0IG49RC50ZWxlbWV0cnkudGltZUNvdW50ZXJzLnNlcmllc1sicmVzb2x2ZV9zeW1ib2xfIitzXTsibnVtYmVyIj09dHlwZW9mIG4mJkQudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgic3ltYm9sX3Jlc29sdmVfdGltZV9mcmFtZSIse3ZhbHVlOndpbmRvdy5wZXJmb3JtYW5jZS5ub3coKS1uLGFkZGl0aW9uYWw6e3N5bWJvbDp0fX0pfWlmKFsic2VyaWVzX2Vycm9yIiwic2VyaWVzX2NvbXBsZXRlZCJdLmluY2x1ZGVzKGUubWV0aG9kKSYmRC50ZWxlbWV0cnkudGltZUNvdW50ZXJzLnNlcmllcy5tYXJrcy5sZW5ndGg+MCl7Y29uc3QgZT0iY3JlYXRlX3Nlcmllc18iK3MsdD1ELnRlbGVtZXRyeS50aW1lQ291bnRlcnMuc2VyaWVzLm1hcmtzLmluZGV4T2YoZSk7dD49MCYmRC50ZWxlbWV0cnkudGltZUNvdW50ZXJzLnNlcmllcy5tYXJrcy5zcGxpY2UodCwxKX1HfHwic2VyaWVzX2Vycm9yIiE9PWUubWV0aG9kfHwoRz0hMCk7Y29uc3Qgbj10aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLmdldENvbm5lY3Rpb25Fc3RhYmxpc2hlZCgpO2lmKG51bGwhPT1uJiYic2VyaWVzX2NvbXBsZXRlZCI9PT1lLm1ldGhvZCYmKEd8fChHPSEwLEQudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgiZmlyc3Rfc2VyaWVzX2Z1bGxfdGltZV9mcmFtZSIse3ZhbHVlOndpbmRvdy5wZXJmb3JtYW5jZS5ub3coKS1ufSksRC50ZWxlbWV0cnkudGltZUNvdW50ZXJzLnNlcmllcy5tYXJrcz1bXSksSnx8KEo9ITAsRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJwYWdlX2Z1bGxfbG9hZF90aW1lX2ZyYW1lIix7dmFsdWU6d2luZG93LnBlcmZvcm1hbmNlLm5vdygpfSkpKSxzLnN0YXJ0c1dpdGgoImNzXyIpKXtsZXQgcz0icmVjdjogIit0OyJkYXRhX3VwZGF0ZSI9PT1lLm1ldGhvZD8ocz0oMCxsLmlzSGlnaFJhdGVFbmFibGVkKSgpP3M6cy5zbGljZSgwLDUwMCksTC5sb2dOb3JtYWwodGhpcy5fYXBwZW5kRHVyYXRpb24ocyxlLnRpbWUpKSk6InN0dWR5X2xvYWRpbmciPT09ZS5tZXRob2Q/Ty5sb2dOb3JtYWwodGhpcy5fYXBwZW5kRHVyYXRpb24ocyxlLnRpbWUpKToidGlja21hcmtfdXBkYXRlIj09PWUubWV0aG9kP1EubG9nTm9ybWFsKHRoaXMuX2FwcGVuZER1cmF0aW9uKHMsZS50aW1lKSk6Qi5sb2dOb3JtYWwodGhpcy5fYXBwZW5kRHVyYXRpb24ocyxlLnRpbWUpKX1pZihzLnN0YXJ0c1dpdGgoInFzXyIpKXsoInF1b3RlX3N5bWJvbF9kYXRhIj09PWUubWV0aG9kPyQubG9nTm9ybWFsOlYubG9nTm9ybWFsKSgicmVjdjogIit0KX1zd2l0Y2goZS5tZXRob2Qpe2Nhc2UgUC5XZWJjaGFydENoYXJ0U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlRpbWVTY2FsZVVwZGF0ZTp7Y29uc3QgdD10aGlzLl9kYXRhSGFuZGxlTW9kdWxlLmdldFRpbWVzY2FsZU9iamVjdHMoZSksbj10aGlzLl9kYXRhSGFuZGxlTW9kdWxlLmdldFRpbWVzY2FsZUNoYW5nZXNldChlKSxpPXRoaXMuX2NvbnZlcnRUaW1lc2NhbGVSZXNwb25zZShuKTt0aGlzLl9zZXNzaW9uc1tzXS5vbk1lc3NhZ2Uoe21ldGhvZDpQLldlYmNoYXJ0Q2hhcnRTZXNzaW9uUmVzcG9uc2VNZXRob2QuVGltZVNjYWxlVXBkYXRlLHBhcmFtczppfSksdGhpcy5fZGF0YUhhbmRsZU1vZHVsZS5wcmVwYXJlRGF0YVVwZGF0ZU9iamVjdHMocyx0LCgoZSx0LHMpPT57dGhpcy5faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihlLHQscyl9KSk7YnJlYWt9Y2FzZSJ0aWNrbWFya191cGRhdGUiOmNvbnN0IHQ9ey4uLnRoaXMuX2NvbnZlcnRUaW1lc2NhbGVSZXNwb25zZShlLnBhcmFtc1swXSksY2hhbmdlczpbXX07dGhpcy5fc2Vzc2lvbnNbc10ub25NZXNzYWdlKHttZXRob2Q6UC5XZWJjaGFydENoYXJ0U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlRpbWVTY2FsZVVwZGF0ZSxwYXJhbXM6dH0pO2JyZWFrO2Nhc2UgUC5XZWJjaGFydENoYXJ0U2Vzc2lvblJlc3BvbnNlTWV0aG9kLkRhdGFVcGRhdGU6e2NvbnN0IHQ9dGhpcy5fZGF0YUhhbmRsZU1vZHVsZS5nZXREYXRhVXBkYXRlT2JqZWN0cyhlKTt0aGlzLl9kYXRhSGFuZGxlTW9kdWxlLnByZXBhcmVEYXRhVXBkYXRlT2JqZWN0cyhzLHQsKChlLHQscyk9Pnt0aGlzLl9pbnZva2VOb3RpZmljYXRpb25IYW5kbGVyKGUsdCxzKX0pKTticmVha31jYXNlImluZGV4X3VwZGF0ZSI6Zm9yKGNvbnN0IHQgaW4gZS5wYXJhbXNbMF0paWYoZS5wYXJhbXNbMF0uaGFzT3duUHJvcGVydHkodCkpe2NvbnN0IG49e21ldGhvZDoiaW5kZXhfdXBkYXRlIiwKcGFyYW1zOmUucGFyYW1zWzBdW3RdfTt0aGlzLl9pbnZva2VOb3RpZmljYXRpb25IYW5kbGVyKHMsdCxuKX1icmVhaztjYXNlIFAuV2ViY2hhcnRSZXNwb25zZU1ldGhvZC5Dcml0aWNhbEVycm9yOkEubG9nSW5mbyhuZXcgRGF0ZSsiIGNyaXRpY2FsX2Vycm9yIHNlc3Npb246Iit0aGlzLnNlc3Npb25pZCsiIHJlYXNvbjoiK2UucGFyYW1zWzBdKSxELnRlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoImNyaXRpY2FsX2Vycm9yIiksdGhpcy5fc2Vzc2lvbnNbc10ub25NZXNzYWdlKHttZXRob2Q6UC5XZWJjaGFydFJlc3BvbnNlTWV0aG9kLkNyaXRpY2FsRXJyb3IscGFyYW1zOmUucGFyYW1zfSk7YnJlYWs7Y2FzZSJ0aW1lc2NhbGVfY29tcGxldGVkIjpjYXNlInF1b3RlX3N5bWJvbF9kYXRhIjpjYXNlInF1b3RlX2xpc3RfZmllbGRzIjpjYXNlInF1b3RlX2NvbXBsZXRlZCI6Y2FzZSJkZXB0aF9zeW1ib2xfZXJyb3IiOmNhc2UiZGVwdGhfc3ltYm9sX3N1Y2Nlc3MiOmNhc2UiZGQiOmNhc2UiZHB1IjpjYXNlImRlcHRoX2Jhcl9sYXN0X3ZhbHVlIjp0aGlzLl9zZXNzaW9uc1tzXS5vbk1lc3NhZ2Uoe21ldGhvZDplLm1ldGhvZCxwYXJhbXM6ZS5wYXJhbXN9KTticmVhaztjYXNlImNsZWFyX2RhdGEiOmZvcihjb25zdCB0IGluIGUucGFyYW1zWzBdKWUucGFyYW1zWzBdLmhhc093blByb3BlcnR5KHQpJiZ0aGlzLl9pbnZva2VOb3RpZmljYXRpb25IYW5kbGVyKHMsdCx7bWV0aG9kOlAuV2ViY2hhcnRDaGFydFNlc3Npb25SZXNwb25zZU1ldGhvZC5DbGVhckRhdGEscGFyYW1zOmUucGFyYW1zWzBdW3RdfSk7YnJlYWs7Y2FzZSBQLldlYmNoYXJ0UmVwbGF5U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlJlcGxheVBvaW50OmNhc2UgUC5XZWJjaGFydFJlcGxheVNlc3Npb25SZXNwb25zZU1ldGhvZC5SZXBsYXlSZXNvbHV0aW9uczpjYXNlIFAuV2ViY2hhcnRSZXBsYXlTZXNzaW9uUmVzcG9uc2VNZXRob2QuUmVwbGF5RGF0YUVuZDpjYXNlIFAuV2ViY2hhcnRSZXBsYXlTZXNzaW9uUmVzcG9uc2VNZXRob2QuUmVwbGF5SW5zdGFuY2VJZDpjYXNlIFAuV2ViY2hhcnRSZXBsYXlTZXNzaW9uUmVzcG9uc2VNZXRob2QuUmVwbGF5RGVwdGg6Y2FzZSBQLldlYmNoYXJ0UmVwbGF5U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlJlcGxheUVycm9yOmNhc2UgUC5XZWJjaGFydFJlcGxheVNlc3Npb25SZXNwb25zZU1ldGhvZC5SZXBsYXlPazp0aGlzLl9zZXNzaW9uc1tzXS5vbk1lc3NhZ2UoZSk7YnJlYWs7Y2FzZSJzZXJpZXNfdGltZWZyYW1lIjpjb25zdCBuPWUucGFyYW1zWzRdO2UucGFyYW1zWzRdPW51bGw9PW4/bnVsbDooMCxfLmNvbnZlcnRTdHJUb1RpbWVGcmFtZSkobiksdGhpcy5faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihzLGUucGFyYW1zWzBdLGUpO2JyZWFrO2Nhc2Uic3ltYm9sX3Jlc29sdmVkIjohZnVuY3Rpb24oZSl7aWYodm9pZCAwPT09ZS5jb3JyZWN0aW9ucyl7Y29uc3QgdD0oZS5zdWJzZXNzaW9ucz8/W10pLmZpbmQoKHQ9PnQuaWQ9PT1lLnN1YnNlc3Npb25faWQpKTt2b2lkIDAhPT10JiYoZS5jb3JyZWN0aW9ucz10WyJzZXNzaW9uLWNvcnJlY3Rpb24iXSl9fShlLnBhcmFtc1sxXSksdGhpcy5faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihzLGUucGFyYW1zWzBdLGUpO2JyZWFrO2RlZmF1bHQ6dGhpcy5faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihzLGUucGFyYW1zWzBdLGUpfX1fbm90aWZ5U2Vzc2lvbnMoZSl7Zm9yKGNvbnN0IHQgaW4gdGhpcy5fc2Vzc2lvbnMpaWYodGhpcy5fc2Vzc2lvbnMuaGFzT3duUHJvcGVydHkodCkpe2NvbnN0IHM9dGhpcy5fc2Vzc2lvbnNbdF07ImZ1bmN0aW9uIj09dHlwZW9mIHMub25NZXNzYWdlJiZzLm9uTWVzc2FnZShlKX19X29uTWVzc2FnZShlKXtqJiZ0aGlzLl9jaGVja0F1dGhUb2tlbkV4cGlyYXRpb24oIkF1dGhUb2tlbiBpbnZhbGlkYXRpb24gZGV0ZWN0ZWQgb24gcmVjZWl2aW5nIGEgbWVzc2FnZSwgcmVxdWVzdGluZyBuZXcgdG9rZW4iKSx0aGlzLl9jYWxjVHJhZmZpY1N0YXRzKGUpO2NvbnN0IHQ9dGhpcy51bnBhY2soZSk7dGhpcy5fcmVjZWl2ZWRNZXRob2RzQ291bnRlcnMuc2V0KHQubWV0aG9kLCh0aGlzLl9yZWNlaXZlZE1ldGhvZHNDb3VudGVycy5nZXQodC5tZXRob2QpPz8wKSsxKSwidF9tcyJpbiB0JiYoMCxvLmRlZmF1bHQpKHQudF9tcykmJndpbmRvdy5DaGFydEFwaUluc3RhbmNlLmNvbXBlbnNhdGVDb25uZWN0aW9uTGFnKHQudF9tcyksInByb3RvY29sX3N3aXRjaGVkIiE9PXQubWV0aG9kPyJwcm90b2NvbF9lcnJvciIhPT10Lm1ldGhvZD90aGlzLl9kaXNwYXRjaE5vdGlmaWNhdGlvbih0LGUpOnRoaXMuX3Byb2Nlc3NQcm90b2NvbEVycm9yKHQpOkEubG9nRXJyb3IoIlVuZXhwZWN0ZWQgcHJvdG9jb2wgY2hhbmdpbmcgcmVxdWVzdCwgdHJ5IHNraXBwaW5nLiBSZXF1ZXN0ZWQgcHJvdG9jb2w6Iit0LnBhcmFtc1swXSl9YXN5bmMgX3Byb2Nlc3NlZE1ldGFkYXRhKGUpe2NvbnN0IHQ9KDAsZC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZSkscz1hd2FpdCB0aGlzLl9pbml0Q2FjaGVQcm9taXNlLGk9d2luZG93LnByby5oYXNoKCksbz0oMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKTt0cnl7YXdhaXQgcy5zZXRWYWx1ZShpZSwoMCxuLmRlZmF1bHQpKGUpKTtjb25zdCByPUFycmF5LmZyb20obmV3IFNldChlLnBhcmFtc1sxXS5tZXRhaW5mby5tYXAoKGU9PntyZXR1cm5gJHsodD0oMCxwLnBhcnNlSWRTdHJpbmcpKGUuaWQpKS5wYWNrYWdlSWR9LSR7dC52ZXJzaW9ufWA7dmFyIHR9KSkpKTtpZihBLmxvZ05vcm1hbChgVXBkYXRlZCBzdHVkaWVzX21ldGFkYXRhIGNhY2hlLCB1bmlxdWUgcGFja2FnZSBpZHM6ICR7ci5qb2luKCIsICIpfWApLCFvKXRyeXthd2FpdCBzLnNldFZhbHVlKG5lLCgwLG4uZGVmYXVsdCkoaSkpLEEubG9nTm9ybWFsKCJVcGRhdGVkIHByb19oYXNoIGNhY2hlIil9Y2F0Y2goZSl7dC5yZWplY3QoKSxBLmxvZ0Vycm9yKCJDYW5ub3QgdXBkYXRlIHByb19oYXNoIGNhY2hlLCByZWFzb246ICIrZSl9fWNhdGNoKGUpe3QucmVqZWN0KCksCkEubG9nRXJyb3IoIkNhbm5vdCB1cGRhdGUgc3R1ZGllc19tZXRhZGF0YSBjYWNoZSwgcmVhc29uOiAiK2UpfXQucmVzb2x2ZSgoMCxuLmRlZmF1bHQpKGUpKX1faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihlLHQscyl7aWYodm9pZCAwPT09dClyZXR1cm47Y29uc3Qgbj10aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XTt2b2lkIDAhPT1uJiYobi5zaW5nbGVTaG90JiZkZWxldGUgdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF0sbi5oYW5kbGVyPy4ocykpfV9jb252ZXJ0VGltZXNjYWxlUmVzcG9uc2UoZSl7cmV0dXJuIHRoaXMuX2RhdGFIYW5kbGVNb2R1bGUuY29udmVydFRpbWVzY2FsZVJlc3BvbnNlKGUpfV9hcHBlbmREdXJhdGlvbihlLHQpe3JldHVybiB0P2Ake2V9LCBkdXJhdGlvbjogJHt0aGlzLl9mb3JtYXRUaW1lKHRoaXMuc2VydmVyVGltZSgpLTFlMyp0KX1gOmV9YXN5bmMgX3JlcXVlc3RNZXRhZGF0YSgpe2NvbnN0IGU9dGhpcy5fbWFrZU5leHRSZXF1ZXN0SWQoKTt4LmxvZ05vcm1hbChgUmVxdWVzdGluZyBtZXRhaW5mbyAjJHtlfWApO2NvbnN0IHQ9KDAsZC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZSkscz13aW5kb3cucHJvLGk9cy5oYXNoKCksbz0oMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKTtBLmxvZ05vcm1hbCgiUmVxdWVzdGluZyBwcm8gaGFzaCIpO3RyeXtjb25zdCByPWF3YWl0IHRoaXMuX2luaXRDYWNoZVByb21pc2U7YXdhaXQgci5taWdyYXRlVmFsdWUoInByb19oYXNoIixuZSksYXdhaXQgci5taWdyYXRlVmFsdWUoc2UsaWUpO2NvbnN0IGE9YXdhaXQgci5nZXRWYWx1ZShuZSk7aWYobnVsbCE9PWEmJmE9PT1pfHxvKXtBLmxvZ05vcm1hbCgiUHJvIGhhc2ggaGFzIG5vdCBjaGFuZ2VkLCByZXF1ZXN0aW5nIGZyb20gbG9jYWwiKTtjb25zdCBvPWF3YWl0IHIuZ2V0VmFsdWUoaWUpLGE9bnVsbCE9PW8mJm8ucGFyYW1zWzFdLmhhc2h8fG51bGw7aWYobnVsbD09PWF8fG51bGw9PT10aGlzLl9tZXRhZGF0YVNlcnZlckhhc2h8fHRoaXMuX21ldGFkYXRhU2VydmVySGFzaCE9PWEpQS5sb2dOb3JtYWwoYE1ldGFkYXRhIGhhc2ggaGFzIGNoYW5nZWQgKGNhY2hlZDogJyR7YX0nLCBzZXJ2ZXI6ICcke3RoaXMuX21ldGFkYXRhU2VydmVySGFzaH0nKWApLHRoaXMuX3JlcXVlc3RNZXRhZGF0YUZyb21TZXJ2ZXIoZSk7ZWxzZXtpZighcy5oYXNQYWNrYWdlKCJ0di12b2x1bWVieXByaWNlIil8fHZvaWQgMCE9PW8ucGFyYW1zWzFdLm1ldGFpbmZvLmZpbmQoKGU9PmUuaWQuaW5jbHVkZXMoIkB0di12b2x1bWVieXByaWNlIikpKSlyZXR1cm4gQS5sb2dOb3JtYWwoIlVzaW5nIHN0dWRpZXNfbWV0YWRhdGEgZnJvbSBicm93c2VyIGNhY2hlIiksdm9pZCB0LnJlc29sdmUoKDAsbi5kZWZhdWx0KShvKSk7QS5sb2dOb3JtYWwoYERlLXN5bmMgZGV0ZWN0ZWQhIHByby5oYXNoIGNvbnRhaW5zIFZiUFIgc3R1ZGllcywgYnV0IGRhdGEgZnJvbSBjYWNoZSBkb2Vzbid0IGFuZCBwcm8uaGFzaCBpc24ndCBjaGFuZ2VkLCBwcm8uaGFzaD0ke2l9YCksdGhpcy5fcmVxdWVzdE1ldGFkYXRhRnJvbVNlcnZlcihlKX19ZWxzZSBBLmxvZ05vcm1hbChgUHJvIGhhc2ggaGFzIGNoYW5nZWQgKGNhY2hlZDogJyR7YX0nLCBjdXJyZW50OiAnJHtpfScpYCksdGhpcy5fcmVxdWVzdE1ldGFkYXRhRnJvbVNlcnZlcihlKX1jYXRjaCh0KXtBLmxvZ0Vycm9yKCJDYW5ub3QgZ2V0IHN0dWRpZXNfbWV0YWRhdGEsIHJlYXNvbjogIit0KSx0aGlzLl9yZXF1ZXN0TWV0YWRhdGFGcm9tU2VydmVyKGUpfWZpbmFsbHl7eC5sb2dOb3JtYWwoYFJlcXVlc3Rpbmcgc3R1ZGllcyBtZXRhZGF0YSAjJHtlfSBmaW5pc2hlZGApfX1fbWFrZU5leHRSZXF1ZXN0SWQoKXtyZXR1cm4ibWV0YWRhdGFfIit0aGlzLl9tZXRhZGF0YVJlcXVlc3ROZXh0TnVtYmVyKyt9X3Byb2Nlc3NQcm90b2NvbEVycm9yKGUpe2NvbnN0IHQ9ZS5wYXJhbXNbMF07QS5sb2dFcnJvcihgUHJvdG9jb2wgZXJyb3IuIFJlYXNvbj0ke3R9LmApLCJiYW5uZWQiIT09dCYmImJhbm5lZCBieSB1c2VyX2lkIiE9PXQmJiJiYW5uZWQgYnkgaXAiIT09dHx8KHRoaXMuX2JhbkluZm8uc2V0VmFsdWUoe3JlYXNvbjp0fSksdGhpcy5kaXNjb25uZWN0KCkpLHRoaXMuX2Nvbm5lY3Rpb25zTGltaXRSZWFjaGVkLnNldFZhbHVlKCJ1c2VyIGNvbm5lY3Rpb25zIGxpbWl0IHJlYWNoZWQiPT09dCl9X3JlcXVlc3RNZXRhZGF0YUZyb21TZXJ2ZXIoZSl7cmV0dXJuIEEubG9nTm9ybWFsKCJSZXF1ZXN0IHN0dWRpZXNfbWV0YWRhdGEgZnJvbSBzZXJ2ZXIiKSx0aGlzLl9zZW5kUmVxdWVzdCgicmVxdWVzdF9zdHVkaWVzX21ldGFkYXRhIixbZV0pfV9iaW5kU29ja2V0RXZlbnRzKCl7dGhpcy5jb25uZWN0RGZkPW5ldyBQcm9taXNlKCgoZSx0KT0+e3RoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24ub24oImNvbm5lY3QiLCgoKT0+e3RoaXMuX29uQ29ubmVjdCgpLGUoKX0pKSx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLm9uKCJtZXNzYWdlIix0aGlzLl9vbk1lc3NhZ2UuYmluZCh0aGlzKSksdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5vbigiZGlzY29ubmVjdCIsKCgpPT57dGhpcy5fYXV0aFRva2VuRGZkJiYodGhpcy5fYXV0aFRva2VuRGZkPW51bGwpLHRoaXMuX29uRGF0YVByb2JsZW1zUHJvbWlzZUVycmJhY2smJnRoaXMuX29uRGF0YVByb2JsZW1zUHJvbWlzZUVycmJhY2soKSx0aGlzLl9pc0Nvbm5lY3RlZD0hMSx0aGlzLl9ub3RpZnlTZXNzaW9ucyh7bWV0aG9kOmguQ2hhcnRBcGlNZXNzYWdlTWV0aG9kLkRpc2Nvbm5lY3RlZCxwYXJhbXM6W119KSx0aGlzLl9iYW5JbmZvLnZhbHVlKCl8fCh0aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZT1udWxsKSx0aGlzLl9kaXNjb25uZWN0Q291bnQ9KHRoaXMuX2Rpc2Nvbm5lY3RDb3VudHx8MCkrMSx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLmlzQ29ubmVjdGVkKCkmJih0aGlzLl90ZWxlbWV0cnlEaXNjb25uZWN0VGltZW91dD1zZXRUaW1lb3V0KCgoKT0+e0QudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgiZGlzY29ubmVjdCIpfSksNWUzKSwKdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5pc01heFJlY29ubmVjdHMoKSYmKHRoaXMuX25vdGlmeVNlc3Npb25zKHttZXRob2Q6aC5DaGFydEFwaU1lc3NhZ2VNZXRob2QuUmVjb25uZWN0QmFpbG91dCxwYXJhbXM6W119KSx0KCksRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJyZWNvbm5lY3RfYmFpbG91dCIpKSl9KSl9KSl9X2NhbGNUcmFmZmljU3RhdHMoZSl7Y29uc3QgdD1lLmxlbmd0aDt0aGlzLl90cmFmZmljU3RhdHMudG90YWwrPXQsdGhpcy5fdHJhZmZpY1N0YXRzLnNpbmNlQ29ubmVjdCs9dCx0aGlzLl90cmFmZmljU3RhdHMubGFzdENodW5rKz10fV9zZW5kQnJva2VySWRUb1Nlc3Npb24oZSl7cmV0dXJuIVd8fHRoaXMuX3NlbmRSZXF1ZXN0KCJzZXRfYnJva2VyIixbZV0pfV9lbmFibGVMb3dRdWFsaXR5TW9kZSgpe0EubG9nTm9ybWFsKCJsb3cgcXVhbGl0eSBtb2RlIGlzIGVuYWJsZWQiKSx0aGlzLl9sb3dRdWFsaXR5RW5hYmxlZD0hMCx0aGlzLl9zZW5kTG93UXVhbGl0eU1vZGVJZkVuYWJsZWQoKX1fc2VuZExvd1F1YWxpdHlNb2RlSWZFbmFibGVkKCl7dGhpcy5fbG93UXVhbGl0eUVuYWJsZWQmJnRoaXMuY29ubmVjdGVkKCkmJnRoaXMuX3NlbmRSZXF1ZXN0KCJzZXRfZGF0YV9xdWFsaXR5IixbXSl9X2dldEF1dGhUb2tlbkRmZChlKXtpZih0aGlzLl9sb2FkTmV3QmFycylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCJsb2FkX25ld190b2tlbiIpO2lmKCgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpfHwtMSE9PXdpbmRvdy5sb2NhdGlvbi5zZWFyY2guaW5kZXhPZigid2lkZ2V0X3Rva2VuIil8fC0xIT09d2luZG93LmxvY2F0aW9uLmhhc2guaW5kZXhPZigid2lkZ2V0X3Rva2VuIikpe2NvbnN0IGU9d2luZG93LlRyYWRpbmdWaWV3JiZ3aW5kb3cuVHJhZGluZ1ZpZXcud2lkZ2V0Q3VzdG9tZXJ8fCIiO3JldHVybiBQcm9taXNlLnJlc29sdmUoYltlXXx8IndpZGdldF91c2VyX3Rva2VuIil9aWYoIXdpbmRvdy5pc19hdXRoZW50aWNhdGVkKXJldHVybiBQcm9taXNlLnJlc29sdmUoInVuYXV0aG9yaXplZF91c2VyX3Rva2VuIik7aWYoIXRoaXMuX2F1dGhUb2tlbk1hbmFnZXIpe2NvbnN0IGU9dGhpcy5fYXV0aFRva2VuTWFuYWdlcj1uZXcgZi5BdXRoVG9rZW47ZS5pbnZhbGlkYXRlZC5zdWJzY3JpYmUobnVsbCwoYXN5bmMoKT0+e3RyeXt0aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudCs9MTtjb25zdCB0PWF3YWl0IGUuZ2V0KCk7aWYoIXQpcmV0dXJuIHZvaWQgQS5sb2dJbmZvKCJBdXRoVG9rZW4gaW52YWxpZGF0ZWQsIGJ1dCBuZXcgdG9rZW4gaXMgZW1wdHkiKTtpZighdGhpcy5jb25uZWN0ZWQoKSlyZXR1cm4gdm9pZCBBLmxvZ0luZm8oYEF1dGhUb2tlbiBpbnZhbGlkYXRlZCwgYnV0IHNvY2tldCBpcyBub3QgY29ubmVjdGVkLiBUb2tlbjogJHt0fWApO0EubG9nSW5mbygiQXV0aFRva2VuIGludmFsaWRhdGVkLCByZWZyZXNoaW5nIHRva2VuIGFuZCByZXNlbmRpbmcgdG8gc2Vzc2lvbiIpLHRoaXMuX3NlbmRSZXF1ZXN0SW1wbCgic2V0X2F1dGhfdG9rZW4iLFt0XSl9Y2F0Y2goZSl7dGhyb3cgQS5sb2dFcnJvcihgRmFpbGVkIHRvIHJlZnJlc2ggYXV0aCB0b2tlbiBhZnRlciBpbnZhbGlkYXRpb246ICR7KDAsUy5lcnJvclRvU3RyaW5nKShlKX1gKSxlfWZpbmFsbHl7dGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnQtPTEsMD09PXRoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50JiZlLmN1cnJlbnRUb2tlbklzVmFsaWQoKSYmdGhpcy5fZmx1c2hQZW5kaW5nTWVzc2FnZXMoKX19KSl9cmV0dXJuIHRoaXMuX2F1dGhUb2tlbk1hbmFnZXIuZ2V0KGUpfV9vblNlbmRpbmdRdWV1ZVJlcXVlc3RGaW5pc2hlZCgpe3RoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50LT0xLEEubG9nSW5mbyhgU2VuZGluZyBxdWV1ZSByZXF1ZXN0IGZpbmlzaGVkLiBSZW1haW5pbmcgcGVuZGluZyByZXF1ZXN0cz0ke3RoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50fWApLHRoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50PDAmJkEubG9nRXJyb3IoYEludmFsaWQgcXVldWUgc3RhdGU9JHt0aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudH1gKSwwPT09dGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnQmJnRoaXMuX2ZsdXNoUGVuZGluZ01lc3NhZ2VzKCl9X2ZsdXNoUGVuZGluZ01lc3NhZ2VzKCl7QS5sb2dJbmZvKGBGbHVzaCBwZW5kaW5nIG1lc3NhZ2VzLiBDb3VudD0ke3RoaXMuX3BlbmRpbmdNZXNzYWdlc1F1ZXVlLmxlbmd0aH1gKSx0aGlzLl9wZW5kaW5nTWVzc2FnZXNRdWV1ZS5mb3JFYWNoKChlPT50aGlzLl9zZW5kUmVxdWVzdChlLm1ldGhvZCxlLmFyZ3MpKSksdGhpcy5fcGVuZGluZ01lc3NhZ2VzUXVldWU9W119fSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiYod2luZG93LkNoYXJ0QXBpSW5zdGFuY2U9bmV3IGRlKHdpbmRvdy5XU0JhY2tlbmRDb25uZWN0aW9uKSl9LDg4OTUxNShlLHQscyl7cy5kKHQse3Nob3dUb29NYW55U3R1ZGllc05vdGljZTooKT0+b30pO3ZhciBuPXMoMTg1MjcxKSxpPXMoMjM0OTY0KTtmdW5jdGlvbiBvKGUpeygwLGkuc2hvd1dhcm5pbmcpKHt0aXRsZTpuLnQobnVsbCx2b2lkIDAscyg5MzcwMTcpKSx0ZXh0Om4udChudWxsLHtyZXBsYWNlOntudW1iZXI6YCR7ZX1gfX0scyg5OTIzNjIpKX0pfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/94708.73d2bca37207c67a41f4.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.259Z","timestamp":1785120634259,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/94708.73d2bca37207c67a41f4.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-8b98\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b10aa0a12992350a38459a35790b361e\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":35736,"size_decoded":12654,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3065)","md5":"eb8c592becd98b3361efe0b94719d5c6","sha1":"a0d1ee8521cfba7aa407ac50937aedd5f39bf878","sha256":"647fb8708ead9f5ba58a75d3b5e6d45f3df1f26a67f068d19a46752de40e327d","sha512":"27e850e1b55df1bfb523a33007db88c5bf3fca11c34b9f448fad508275031d48062410c7e49cd891d38f4058b2dad657828a8ce9f5a047b24a8804c477a90feb","ssdeep":"768:Qy2uEBDBP0oAifg+OMQjn3FMjhYVwPn9/meP+Tjwqcq8xGQKpb5dg+xU7wbwpEvK:k950TT3WOOP9AsqcK555x/dMDjcXRdH6","tlshash":"f4f2f917f1a7b46693db809ae4724213a33c18013d05486dbabc9ddd2a3f942b663f7d","first_seen":"2026-07-23T13:38:20.417189Z","last_seen":"2026-07-27T05:16:58.414957Z","times_seen":749,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTQ3MDhdLHs5MzAyMzEoZSx0LHMpe3MuZCh0LHtpc0ZlYXR1cmVzZXRFbmFibGVkOigpPT5hfSk7dmFyIG49cyg2MzUxOCk7Y29uc3QgaT1uZXcgTWFwLG89bmV3IE1hcCxyPW5ldyBTZXQ7ZnVuY3Rpb24gYShlKXtjb25zdCB0PWkuZ2V0KGUpO2lmKHZvaWQgMCE9PXQpcmV0dXJuIHQ7Y29uc3Qgcz1vLmdldChlKTtyZXR1cm4hIXMmJnMuc29tZShhKX1mdW5jdGlvbiBkKGUsdCl7aS5zZXQoU3RyaW5nKGUpLEJvb2xlYW4odCkpfSFmdW5jdGlvbigpe2Zvcihjb25zdFtlLHRdb2YgT2JqZWN0LmVudHJpZXMobikpaWYoci5hZGQoZSksInN1YnNldHMiaW4gdClmb3IoY29uc3QgcyBvZiB0LnN1YnNldHMpe3IuYWRkKHMpO2xldCB0PW8uZ2V0KHMpO3ZvaWQgMD09PXQmJih0PVtdLG8uc2V0KHMsdCkpLHQucHVzaChlKX19KCksIm9iamVjdCI9PXR5cGVvZiBfX2luaXRpYWxEaXNhYmxlZEZlYXR1cmVzZXRzJiZBcnJheS5pc0FycmF5KF9faW5pdGlhbERpc2FibGVkRmVhdHVyZXNldHMpJiZfX2luaXRpYWxEaXNhYmxlZEZlYXR1cmVzZXRzLmZvckVhY2goKGZ1bmN0aW9uKGUpe2QoZSwhMSl9KSksIm9iamVjdCI9PXR5cGVvZiBfX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMmJkFycmF5LmlzQXJyYXkoX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzKSYmX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzLmZvckVhY2goKGZ1bmN0aW9uKGUpe2QoZSwhMCl9KSl9LDg1NjE5NihlLHQscyl7cy5kKHQse3Nob3VsZEFmZmVjdFVzZXI6KCk9PmR9KTt2YXIgbj1zKDEwMDU5NSksaT1zLm4obiksbz1zKDkzMjM2NSk7Y29uc3Qgcj0iZmVhdHVyZXRvZ2dsZV9zZWVkIjtmdW5jdGlvbiBhKGUpe3RyeXtjb25zdCB0PWkoKShlK2Z1bmN0aW9uKCl7aWYod2luZG93LnVzZXImJndpbmRvdy51c2VyLmlkKXJldHVybiB3aW5kb3cudXNlci5pZDtjb25zdCBlPW8uVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShyKTtpZihudWxsIT09ZSlyZXR1cm4gZTtjb25zdCB0PU1hdGguZmxvb3IoMWU2Kk1hdGgucmFuZG9tKCkpO3JldHVybiBvLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0ocixgJHt0fWApLHR9KCkpLHM9bmV3IERhdGFWaWV3KHQpO3JldHVybiBzLmdldFVpbnQzMigwLCEwKS80Mjk0OTY3Mjk2fWNhdGNoKGUpe3JldHVybi41fX1mdW5jdGlvbiBkKGUsdCl7cmV0dXJuIGEoZSk8PXR9fSwxNTk1MTMoZSx0LHMpe3MuZCh0LHtnZXRRdW90ZVNlc3Npb25JbnN0YW5jZTooKT0+YX0pO3ZhciBuPXMoOTI3NTkzKSxpPXMoNzU1NjI3KSxvPXMoMTUwMTUwKTtjb25zdCByPXt9O2Z1bmN0aW9uIGEoZT0iZnVsbCIpe3JldHVybiByW2VdfHxmdW5jdGlvbihlPSJmdWxsIix0KXtyW2VdPXR9KGUsbmV3IG4uUXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXIoe25hbWU6ZSxhcGk6d2luZG93LkNoYXJ0QXBpSW5zdGFuY2UsZmllbGRzOmRbZV0sZXh0ZW5zaW9uczp7Zm9ybWF0dGVyOmU9Pm5ldyB1KGUpLmZvcm1hdHRlcixzbmFwc2hvdDplPT5uZXcgYyhlKS5zbmFwc2hvdH19KSkscltlXX1jb25zdCBkPXtzaW1wbGU6WyJiYXNlLWN1cnJlbmN5LWxvZ29pZCIsImxvZ28iLCJjaCIsImNocCIsImN1cnJlbmN5LWxvZ29pZCIsImN1cnJlbmN5X2NvZGUiLCJjdXJyZW5jeV9pZCIsImJhc2VfY3VycmVuY3lfaWQiLCJjdXJyZW50X3Nlc3Npb24iLCJkZXNjcmlwdGlvbiIsImV4Y2hhbmdlIiwiZm9ybWF0IiwiZnJhY3Rpb25hbCIsImlzX3RyYWRhYmxlIiwibGFuZ3VhZ2UiLCJsb2NhbF9kZXNjcmlwdGlvbiIsImxpc3RlZF9leGNoYW5nZSIsImxvZ29pZCIsImxwIiwibHBfdGltZSIsIm1pbm1vdiIsIm1pbm1vdmUyIiwib3JpZ2luYWxfbmFtZSIsInByaWNlc2NhbGUiLCJwcm9fbmFtZSIsInNob3J0X25hbWUiLCJ0eXBlIiwidHlwZXNwZWNzIiwidXBkYXRlX21vZGUiLCJ2b2x1bWUiLCJ2YXJpYWJsZV90aWNrX3NpemUiLCJ2YWx1ZV91bml0X2lkIiwidW5pdF9pZCIsIm1lYXN1cmUiXX07ZC5zaW1wbGVEZXRhaWxlZD1bLi4uZC5zaW1wbGUsImFzayIsImJpZCIsImZ1bmRhbWVudGFscyIsImhpZ2hfcHJpY2UiLCJpc190cmFkYWJsZSIsImxvd19wcmljZSIsIm9wZW5fcHJpY2UiLCJwcmV2X2Nsb3NlX3ByaWNlIiwicmNoIiwicmNocCIsInJ0YyIsInJ0Y190aW1lIiwic3RhdHVzIiwiYmFzaWNfZXBzX25ldF9pbmNvbWUiLCJiZXRhXzFfeWVhciIsImVhcm5pbmdzX3Blcl9zaGFyZV9iYXNpY190dG0iLCJpbmR1c3RyeSIsIm1hcmtldF9jYXBfYmFzaWMiLCJwcmljZV9lYXJuaW5nc190dG0iLCJzZWN0b3IiLCJ2b2x1bWUiLCJkaXZpZGVuZHNfeWllbGQiLCJ0aW1lem9uZSJdLGQuZnVsbD1bXSxkLndhdGNobGlzdD1bLi4uZC5zaW1wbGUsInJjaHAiLCJuY2hwIiwicnRjIiwiY291bnRyeV9jb2RlIiwicHJvdmlkZXJfaWQiLCJkaXZpZGVuZHNfYXZhaWxhYmlsaXR5IiwiZmluYW5jaWFsc19hdmFpbGFiaWxpdHkiLCJlYXJuaW5nc19hdmFpbGFiaWxpdHkiXSwKZC5wb3J0Zm9saW89WyJwcm9fbmFtZSIsInNob3J0X25hbWUiLCJleGNoYW5nZSIsImxpc3RlZF9leGNoYW5nZSIsImRlc2NyaXB0aW9uIiwibG9jYWxfZGVzY3JpcHRpb24iLCJsYW5ndWFnZSIsInNlY3RvciIsInR5cGUiLCJ0eXBlc3BlY3MiLCJpbmR1c3RyeSIsImN1cnJlbmN5X2NvZGUiLCJjdXJyZW5jeV9pZCIsImNoIiwiY2hwIiwibG9nbyIsImxvZ29pZCIsImN1cnJlbmN5LWxvZ29pZCIsImJhc2UtY3VycmVuY3ktbG9nb2lkIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnEiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZSIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcSIsImxwIiwiZnJhY3Rpb25hbCIsIm1pbm1vdiIsIm1pbm1vdmUyIiwicHJpY2VzY2FsZSIsInZvbHVtZSIsImF2ZXJhZ2Vfdm9sdW1lIiwibWFya2V0X2NhcF9jYWxjIiwibWFya2V0X2NhcF9iYXNpYyIsInRvdGFsX3JldmVudWUiLCJlYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtIiwicHJpY2VfZWFybmluZ3NfdHRtIiwiYmV0YV8xX3llYXIiLCJkcHNfY29tbW9uX3N0b2NrX3ByaW1faXNzdWVfZnkiLCJkaXZpZGVuZHNfeWllbGQiLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIiwicmF0ZXNfbWMiLCJyYXRlc19meSIsInJhdGVzX3R0bSIsImZvcm1hdCIsInZhbHVlX3VuaXRfaWQiLCJ1bml0X2lkIiwibWVhc3VyZSJdLGQubm90ZXM9WyJzaG9ydF9uYW1lIiwicHJvX25hbWUiLCJsb2dvaWQiLCJjdXJyZW5jeS1sb2dvaWQiLCJiYXNlLWN1cnJlbmN5LWxvZ29pZCIsImxvZ28iLCJzeW1ib2wtcHJpbWFyeW5hbWUiLCJ0eXBlIiwidHlwZXNwZWNzIl0sZC5lc3RpbWF0ZXM9WyJmdW5kYW1lbnRhbF9kYXRhIiwidHlwZSIsInR5cGVzcGVjcyIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X3N5bWJvbF9jdXJyZW5jeV9mcSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9hbGlnbmVkX2RhdGUiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfY2FsZW5kYXJfZGF0ZSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlIl0sZC5lY29ub21pYz1bInJlZmVyZW5jZS1sYXN0LXBlcmlvZCIsImxwIiwiY3VycmVuY3lfY29kZSIsInZhbHVlX3VuaXRfaWQiLCJ1bml0X2lkIiwibWVhc3VyZSJdLGQub3B0aW9ucz1bImFzayIsImJpZCIsImxwIiwidm9sdW1lIiwiY2giLCJjaHAiXTtjbGFzcyB1e2NvbnN0cnVjdG9yKGUpe3RoaXMuX2Zvcm1hdHRlclZhbHVlc0NhY2hlPXt9LHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzPXt9LHRoaXMuZm9ybWF0dGVyPShlLHQpPT57aWYodGhpcy5fd2FpdGluZ0ZvckZvcm1hdHRlcnNbZV0pcmV0dXJuIHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzW2VdO2Z1bmN0aW9uIHMoZSl7Y29uc3Qgcz10JiYhZS5mcmFjdGlvbmFsPzE6ZS5taW5tb3Y7cmV0dXJuIG5ldyBpLlByaWNlRm9ybWF0dGVyKHtwcmljZVNjYWxlOmUucHJpY2VzY2FsZSxtaW5Nb3ZlOnMsZnJhY3Rpb25hbDplLmZyYWN0aW9uYWwsbWluTW92ZTI6ZS5taW5tb3ZlMn0pfWNvbnN0IG49bmV3IFByb21pc2UoKCh0LG4pPT57aWYodGhpcy5fZm9ybWF0dGVyVmFsdWVzQ2FjaGVbZV0pdChzKHRoaXMuX2Zvcm1hdHRlclZhbHVlc0NhY2hlW2VdKSk7ZWxzZXtjb25zdCBpPSgwLG8uZ3VpZCkoKTt0aGlzLl9tdWx0aXBsZXhlci5zdWJzY3JpYmUoaSxbZV0sKG89PnsiZXJyb3IiPT09by5zdGF0dXMmJih0aGlzLl93YWl0aW5nRm9yRm9ybWF0dGVyc1tlXT1udWxsLG4oIlF1b3RlcyBzbmFwc2hvdCBpcyBub3QgcmVjZWl2ZWQiKSksZnVuY3Rpb24oZSl7cmV0dXJuIGUmJm51bGwhPWUucHJpY2VzY2FsZSYmbnVsbCE9ZS5taW5tb3Z9KG8udmFsdWVzKSYmKHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzW2VdPW51bGwsdGhpcy5fZm9ybWF0dGVyVmFsdWVzQ2FjaGVbZV09by52YWx1ZXMsdChzKG8udmFsdWVzKSksdGhpcy5fbXVsdGlwbGV4ZXIudW5zdWJzY3JpYmUoaSxlKSl9KSl9fSkpO3JldHVybiB0aGlzLl93YWl0aW5nRm9yRm9ybWF0dGVyc1tlXT1uLG59LHRoaXMuX211bHRpcGxleGVyPWV9fWNsYXNzIGN7Y29uc3RydWN0b3IoZSl7dGhpcy5fc25hcHNob3RWYWx1ZXNDYWNoZT17fSx0aGlzLl93YWl0aW5nRm9yU25hcHNob3Q9e30sdGhpcy5zbmFwc2hvdD1lPT57aWYodGhpcy5fd2FpdGluZ0ZvclNuYXBzaG90W2VdKXJldHVybiB0aGlzLl93YWl0aW5nRm9yU25hcHNob3RbZV07Y29uc3QgdD1uZXcgUHJvbWlzZSgoKHQscyk9PntpZih0aGlzLl9zbmFwc2hvdFZhbHVlc0NhY2hlW2VdKXQodGhpcy5fc25hcHNob3RWYWx1ZXNDYWNoZVtlXSk7ZWxzZXtjb25zdCBuPSgwLG8uZ3VpZCkoKTt0aGlzLl9tdWx0aXBsZXhlci5zdWJzY3JpYmUobixbZV0sKGk9PnsiZXJyb3IiPT09aS5zdGF0dXMmJih0aGlzLl93YWl0aW5nRm9yU25hcHNob3RbZV09bnVsbCxzKCJRdW90ZXMgc25hcHNob3QgaXMgbm90IHJlY2VpdmVkIikpO2NvbnN0IG89aS52YWx1ZXM7byYmby5taW5tb3YmJm8ucHJpY2VzY2FsZSYmby5kZXNjcmlwdGlvbiYmKHRoaXMuX3dhaXRpbmdGb3JTbmFwc2hvdFtlXT1udWxsLHRoaXMuX3NuYXBzaG90VmFsdWVzQ2FjaGVbZV09byx0KG8pLHRoaXMuX211bHRpcGxleGVyLnVuc3Vic2NyaWJlKG4sZSkpfSkpfX0pKTtyZXR1cm4gdGhpcy5fd2FpdGluZ0ZvclNuYXBzaG90W2VdPXQsdH0sdGhpcy5fbXVsdGlwbGV4ZXI9ZX19InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJih3aW5kb3cuZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2U9YSl9LDUzNTMwKGUsdCxzKXtzLmQodCx7Z2V0TWluVGlja0RhdGE6KCk9PmQsbWFrZVZhcmlhYmxlTWluVGlja0RhdGE6KCk9PmN9KTt2YXIgbj1zKDcxMjc0NSksaT1zKDYwMTg0MSksbz1zKDUzNDQ0MCkscj1zKDY0MDc0NCk7ZnVuY3Rpb24gYShlKXtyZXR1cm4gZT8oMCxuLkJpZykoZS5taW5Nb3ZlKS5kaXYoZS5wcmljZVNjYWxlKS50b051bWJlcigpOk5hTn1mdW5jdGlvbiBkKGUpe2NvbnN0e21pblRpY2s6dCxwcmljZTpzLHZhcmlhYmxlTWluVGlja0RhdGE6bixzaG91bGRDaGVja0ZvckVxdWFsaXR5Om99PWUscj0oMCwKaS5pc051bWJlcikodCk/dSh0KTp0O3JldHVybiB2b2lkIDA9PT1uP3I6ZnVuY3Rpb24oZSx0LHM9ITEpe2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKXtpZihlPHRbbl0ucHJpY2UpcmV0dXJuIHRbbl0ubWluVGljaztpZihzJiZlPT09dFtuXS5wcmljZSlyZXR1cm4gdFtuXS5taW5UaWNrfXJldHVybiB0W3QubGVuZ3RoLTFdLm1pblRpY2t9KHMsbixvKX1mdW5jdGlvbiB1KGUpe2NvbnN0IHQ9KDAsby5udW1PZkRlY2ltYWxQbGFjZXMpKGUpLHM9TWF0aC5wb3coMTAsdCk7cmV0dXJue3ByaWNlU2NhbGU6cyxtaW5Nb3ZlOigwLG4uQmlnKShlKS5tdWwocykudG9OdW1iZXIoKX19ZnVuY3Rpb24gYyhlLHQpe2NvbnN0IHM9W3ttaW5UaWNrOigwLGkuaXNOdW1iZXIpKGUpP3UoZSk6ZSxwcmljZToxLzAsbWF4SW5kZXg6MS8wfV07dHJ5e2NvbnN0IGU9dC5zcGxpdCgiICIpLm1hcCgoKGUsdCk9PigwLHIuaXNFdmVuKSh0KT9mdW5jdGlvbihlKXtjb25zdCB0PU51bWJlcihlKTtpZihOdW1iZXIuaXNGaW5pdGUodCkpcmV0dXJuIHUodCk7e2NvbnN0IHQ9ZS5zcGxpdCgiLyIpO2lmKHQubGVuZ3RoPDJ8fHQubGVuZ3RoPjMpdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIG1pbnRpY2s6ICR7ZX1gKTtjb25zdCBzPU51bWJlcih0WzFdKSxuPU51bWJlcih0WzBdKTtpZighTnVtYmVyLmlzRmluaXRlKHMpfHwhTnVtYmVyLmlzRmluaXRlKG4pKXRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBtaW50aWNrOiAke2V9YCk7Y29uc3QgaT0zPT09dC5sZW5ndGg/TnVtYmVyKHRbMl0pOnZvaWQgMDtpZih2b2lkIDAhPT1pJiYhTnVtYmVyLmlzRmluaXRlKGkpKXRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBtaW50aWNrOiAke2V9YCk7Y29uc3Qgbz17cHJpY2VTY2FsZTpzLG1pbk1vdmU6bn07cmV0dXJuIHZvaWQgMCE9PWkmJihvLm1pbk1vdmUyPWkpLG99fShlKTpmdW5jdGlvbihlKXtjb25zdCB0PU51bWJlcihlKTtpZihOdW1iZXIuaXNOYU4odCkpdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIHByaWNlIGxpbWl0OiAke2V9YCk7cmV0dXJuIHR9KGUpKSk7aWYoKDAsci5pc0V2ZW4pKGUubGVuZ3RoKSl0aHJvdyBuZXcgRXJyb3IoIlRoZW1lIG11c3Qgbm90IGJlIGV2ZW50IG51bWJlciBvZiBlbGVtZW50cyIpO2NvbnN0IHM9W107Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kz0yKXtjb25zdCBpPWVbdCsxXT8/MS8wLG89c1tzLmxlbmd0aC0xXT8ucHJpY2U/PzAscj1zW3MubGVuZ3RoLTFdPy5tYXhJbmRleD8/MCxkPWk9PT0xLzA/MS8wOm5ldyBuLkJpZyhpKS5taW51cyhvKS5kaXYoYShlW3RdKSkucGx1cyhyKS50b051bWJlcigpO3MucHVzaCh7bWluVGljazplW3RdLHByaWNlOmksbWF4SW5kZXg6ZH0pfXJldHVybiBzfWNhdGNoe3JldHVybiBzfX19LDgyMjQzMShlLHQscyl7cy5kKHQse251bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvOigpPT5pfSk7dmFyIG49cyg2MDE4NDEpO2Z1bmN0aW9uIGkoZSx0KXtpZighKDAsbi5pc051bWJlcikoZSkpcmV0dXJuIm4vYSI7aWYoISgwLG4uaXNJbnRlZ2VyKSh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGxlbmd0aCIpO2lmKHQ8MHx8dD4yNCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGxlbmd0aCIpO2lmKDA9PT10KXJldHVybiBlLnRvU3RyaW5nKCk7cmV0dXJuKCIwMDAwMDAwMDAwMDAwMDAwMDAwMCIrZS50b1N0cmluZygpKS5zbGljZSgtdCl9fSwzNjc5NDYoZSx0LHMpe2Z1bmN0aW9uIG4oZSl7Y29uc3QgdD1mdW5jdGlvbihlKXtpZih2b2lkIDA9PT1lKXJldHVybiBudWxsO2NvbnN0IHQ9ZS5tYXRjaCgvKGRlbGF5ZWRfc3RyZWFtaW5nKV8oXGQrKS8pO3JldHVybiBudWxsPT09dD9udWxsOnttb2RlOnRbMV0saW50ZXJ2YWw6cGFyc2VJbnQodFsyXSl9fShlLnVwZGF0ZV9tb2RlKTtyZXR1cm4gbnVsbD09PXR8fChlLnVwZGF0ZV9tb2RlPXQubW9kZSxlLnVwZGF0ZV9tb2RlX3NlY29uZHM9dC5pbnRlcnZhbCksZX1zLmQodCx7bm9ybWFsaXplVXBkYXRlTW9kZTooKT0+bn0pfSw3MjI1NzEoZSx0LHMpe3ZhciBuPXMoMjAzNjgxKSxpPXMoNTQ3ODUxKSxvPXMoMjA2NjczKSxyPXMoMzA0MjIxKSxhPXMoODE3MzUwKSxkPXMoMTM4NjM4KSx1PXMoNjAxODQxKSxjPXMoMjMyMzY0KSxsPXMoMjIxMDYxKSxoPXMoNzgwOTc1KSxfPXMoNzczMDg4KSxtPXMoOTMwMjMxKSxmPXMoNjA2MTApLHA9cyg0MDM2KSxnPXMoNTIxMzMzKSx5PXMoMjE3NTI3KSxiPXMoNzQ2OTQ5KSx3PXMoNjYxODU4KSxDPXMoMzg0MDE3KSxrPXMoODg5NTE1KSx2PXMoNzY4NzYwKSxTPXMoNTg5NzQ5KSxNPXMoMTE2MzEwKSxSPXMoNDc5MzQpLFQ9cyg1NjkzOTgpLHE9cyg4NjIyMTMpLE49cygxMTczMTMpLEQ9cygxNTY4NTApLEk9cyg2NDA3NDQpLFA9cyg3ODMzNDApLEU9cyg5MzAwNDUpLEY9cyg0NjM0NDcpO2NvbnN0IHg9KDAsbC5nZXRMb2dnZXIpKCJDaGFydC5TdHVkaWVzLlN0dWR5TWV0YUluZm9SZXBvc2l0b3J5Iix7Y29sb3I6IiM2MDYifSksSD0oMCxsLmdldExvZ2dlcikoIkNoYXJ0QXBpLlRyYWZmaWNNZXRlciIse21heENvdW50OjIwLGNvbG9yOiIjMjY4In0pLEE9KDAsbC5nZXRMb2dnZXIpKCJDaGFydEFwaS5Db3JlIix7Y29sb3I6IiM3MDYifSksQj0oMCxsLmdldExvZ2dlcikoIkNoYXJ0QXBpLkNoYXJ0U2Vzc2lvbiIse2NvbG9yOiIjNzA2In0pLEw9KDAsbC5nZXRMb2dnZXIpKCJDaGFydEFwaS5DaGFydFNlc3Npb24iLHtoaWdoUmF0ZTohMCxtYXhDb3VudDoxMDAsY29sb3I6IiM3MDYifSksTz0oMCxsLmdldExvZ2dlcikoIkNoYXJ0QXBpLkNoYXJ0U2Vzc2lvbiIse21heENvdW50OjAsY29sb3I6IiM3MDYifSksUT0oMCxsLmdldExvZ2dlcikoIkNoYXJ0QXBpLkNoYXJ0U2Vzc2lvbiIse21heENvdW50OjUwLGNvbG9yOiIjNzA2In0pLFY9KDAsbC5nZXRMb2dnZXIpKCJDaGFydEFwaS5RdW90ZVNlc3Npb24iLHttYXhDb3VudDo1MCxjb2xvcjoiIzY2MCJ9KSwkPSgwLGwuZ2V0TG9nZ2VyKSgiQ2hhcnRBcGkuUXVvdGVTZXNzaW9uIix7aGlnaFJhdGU6ITAsbWF4Q291bnQ6MTAsY29sb3I6IiM2NjAifSksVT0hKDAsCk4uaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKSxXPSgwLFQuaXNGZWF0dXJlRW5hYmxlZCkoImJyb2tlcl9pZF9zZXNzaW9uIiksaj0oMCxULmlzRmVhdHVyZUVuYWJsZWQpKCJjaGVja19hdXRoX3Rva2VuX2V4cGlyYXRpb25fb25fZXZlcnlfcmVxdWVzdCIpO2xldCB6PSExLEo9ITEsRz0hMTtjb25zdCBZPVsiIiwiS0IiLCJNQiIsIkdCIiwiVEIiXTtmdW5jdGlvbiBLKGUpe2lmKDA9PT1lKXJldHVybiIwIjtjb25zdCB0PSgwLEkudG9JbnQpKE1hdGguZmxvb3IoTWF0aC5sb2coZSkvTWF0aC5sb2coMTAyNCkpKTtyZXR1cm4oZS9NYXRoLnBvdygxMDI0LHQpKS50b0ZpeGVkKDIpK1lbdF19ZnVuY3Rpb24gWihlLHQpe3JldHVybmAke2V9X18ke3R9YH1mdW5jdGlvbiBYKGUsdCxzKXtjb25zdCBuPXRbc10/PzA7dFtzXT1uK2V9Y29uc3QgZWU9WC5iaW5kKG51bGwsMSksdGU9WC5iaW5kKG51bGwsLTEpLHNlPSgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpPyJzdHVkaWVzX21ldGFkYXRhX3dpZGdldCI6InN0dWRpZXNfbWV0YWRhdGEiLG5lPSIvY2hhcnQtYXBpL3Byb19oYXNoIixpZT0oMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKT8iL2NoYXJ0LWFwaS9zdHVkaWVzX21ldGFkYXRhX3dpZGdldCI6Ii9jaGFydC1hcGkvc3R1ZGllc19tZXRhZGF0YSI7bGV0IG9lPW51bGw7ZnVuY3Rpb24gcmUoKXtpZihudWxsPT09b2Upe2NvbnN0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignbGlua1tyZWx+PSJjb252ZXJzaW9ucy1jb25maWciXScpLHQ9bmV3IFVSTCgoMCxkLmVuc3VyZU5vdE51bGwpKGUpLmhyZWYpO29lPSgwLEMuZmV0Y2gpKHQudG9TdHJpbmcoKSx7bWV0aG9kOiJHRVQifSkudGhlbigoZT0+e2lmKCFlLm9rKXRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIGxvYWQgY29udmVyc2lvbnMgY29uZmlnIGZyb20gJHtlLnVybH0gd2l0aCBzdGF0dXMgJHtlLnN0YXR1c30gYW5kIHN0YXR1c1RleHQgJHtlLnN0YXR1c1RleHR9LmApO3JldHVybiBlLmpzb24oKX0pKS50aGVuKChlPT57Y29uc3QgdD0oMCxxLmdldExvZ29VcmxSZXNvbHZlcikoKTtyZXR1cm4gZS5jdXJyZW5jaWVzLmZvckVhY2goKGU9Pnt2b2lkIDAhPT1lLmxvZ29pZCYmKGUubG9nb1VybD10LmdldFN5bWJvbExvZ29VcmwoZS5sb2dvaWQscS5Mb2dvU2l6ZS5NZWRpdW0pKX0pKSxlfSkpfXJldHVybiBvZX1sZXQgYWU9bnVsbDtjbGFzcyBkZXtjb25zdHJ1Y3RvcihlKXt0aGlzLnNlc3Npb25pZD1udWxsLHRoaXMuX2JhbkluZm89bmV3IGMuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2lzQXV0aFRva2VuTG9hZGVkPSExLHRoaXMuX2F1dGhUb2tlbkRmZD1udWxsLHRoaXMuX3NlcnZlclRpbWVCYXNlUG9pbnQ9RGF0ZS5ub3coKS1wZXJmb3JtYW5jZS5ub3coKSx0aGlzLl9pbml0Q2FjaGVQcm9taXNlPSgwLE0uY3JlYXRlSnNvblNlcmlhbGl6YWJsZUNhY2hlKSgiVFZDaGFydEFwaSIpLHRoaXMuX3RyYWZmaWNTdGF0cz17dG90YWw6MCxzaW5jZUNvbm5lY3Q6MCxsYXN0Q2h1bms6MH0sdGhpcy5fbG93UXVhbGl0eUVuYWJsZWQ9ITEsdGhpcy5fYnJva2VySWQ9IiIsdGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnQ9MCx0aGlzLl9tb2RpZnlTdHVkeU1hcD1uZXcgTWFwLHRoaXMuX2Rpc2Nvbm5lY3RDb3VudD0wLHRoaXMuX2lzQ29ubmVjdGVkPSExLHRoaXMuX21ldGFkYXRhRGVmZXJyZWRQcm9taXNlPW51bGwsdGhpcy5fZGF0YUhhbmRsZU1vZHVsZT1uZXcgRS5KU09ORGF0YUhhbmRsZXIsdGhpcy5fc2Vzc2lvbnM9e30sdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnM9e30sdGhpcy5fcGVuZGluZ01lc3NhZ2VzUXVldWU9W10sdGhpcy5fbG9hZE5ld0JhcnM9ITEsdGhpcy5fbWV0YWRhdGFSZXF1ZXN0TmV4dE51bWJlcj0xLHRoaXMuX2Z1bmRhbWVudGFsQ291bnRlcj17fSx0aGlzLl9zdHVkeUNvdW50ZXI9e30sdGhpcy5fY2hpbGRTdHVkeUNvdW50ZXI9e30sdGhpcy5fc3R1ZHlTcGVjcz1uZXcgTWFwLHRoaXMuX2Nvbm5lY3Rpb25zTGltaXRSZWFjaGVkPW5ldyBjLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fc2VudE1ldGhvZHNDb3VudGVycz1uZXcgTWFwLHRoaXMuX3JlY2VpdmVkTWV0aG9kc0NvdW50ZXJzPW5ldyBNYXAsdGhpcy5fcmVxdWVzdERhdGFQcm9ibGVtc1Byb21pc2U9bnVsbCx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uPWUsdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5vblJlY29ubmVjdCh0aGlzLl9iaW5kU29ja2V0RXZlbnRzLmJpbmQodGhpcykpLHRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uc2V0TG9nZ2VyKEEsbC5nZXRMb2dIaXN0b3J5KSx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLnNldFRlbGVtZXRyeShELnRlbGVtZXRyeSksdGhpcy5fYmluZFNvY2tldEV2ZW50cygpLHRoaXMuX2lzTm9uQ291bnRlZFN0dWR5PSgpPT4hMCx3aW5kb3c/LlRyYWRpbmdWaWV3Py5vbkNoYXJ0UGFnZXx8dGhpcy5fZW5hYmxlTG93UXVhbGl0eU1vZGUoKSxzZXRJbnRlcnZhbCgoKCk9PntILmxvZ05vcm1hbCgiTGFzdCAzMCBzZWNvbmRzOiIrSyh0aGlzLl90cmFmZmljU3RhdHMubGFzdENodW5rKSsiIFNpbmNlIGxhc3QgY29ubmVjdDoiK0sodGhpcy5fdHJhZmZpY1N0YXRzLnNpbmNlQ29ubmVjdCkrIiBUb3RhbCB0cmFmZmljOiIrSyh0aGlzLl90cmFmZmljU3RhdHMudG90YWwpKSx0aGlzLl90cmFmZmljU3RhdHMubGFzdENodW5rPTB9KSwzZTQpLHRoaXMuX2Nvbm5lY3Rpb25zTGltaXRSZWFjaGVkLnN1YnNjcmliZSgoZT0+e2UmJnRoaXMuZGlzY29ubmVjdCgpfSkpfWNvbm5lY3QoZSl7dGhpcy5fY29ubmVjdE9ubHlPcHRpb25zPWUsdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5pc0Nvbm5lY3RlZCgpfHx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLmlzQ29ubmVjdGluZygpfHx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLmNvbm5lY3QoKX1kaXNjb25uZWN0KCl7dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5kaXNjb25uZWN0KCl9c2VudE1ldGhvZHNDb3VudGVycygpe3JldHVybiB0aGlzLl9zZW50TWV0aG9kc0NvdW50ZXJzfXJlY2VpdmVkTWV0aG9kc0NvdW50ZXJzKCl7CnJldHVybiB0aGlzLl9yZWNlaXZlZE1ldGhvZHNDb3VudGVyc31kZWZhdWx0UmVzb2x1dGlvbnMoKXtyZXR1cm4oMCxnLmdldERlZmF1bHRSZXNvbHV0aW9ucykoKX1hdmFpbGFibGVDdXJyZW5jaWVzKCl7cmV0dXJuIHJlKCkudGhlbigoZT0+ZS5jdXJyZW5jaWVzKSl9YXZhaWxhYmxlVW5pdHMoKXtyZXR1cm4gcmUoKS50aGVuKChlPT57Y29uc3QgdD17fTtmb3IoY29uc3QgcyBvZiBlLnVuaXRzKXRbcy50eXBlXXx8KHRbcy50eXBlXT1bXSksdFtzLnR5cGVdLnB1c2gocyk7cmV0dXJuIHR9KSl9YXN5bmMgYXZhaWxhYmxlTWV0cmljcygpe3JldHVybiBmdW5jdGlvbigpe2lmKG51bGw9PT1hZSl7Y29uc3QgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdsaW5rW3JlbH49Im1ldHJpY3MtY29uZmlnIl0nKSx0PW5ldyBVUkwoKDAsZC5lbnN1cmVOb3ROdWxsKShlKS5ocmVmKTthZT0oMCxDLmZldGNoKSh0LnRvU3RyaW5nKCkse21ldGhvZDoiR0VUIn0pLnRoZW4oKGFzeW5jIGU9PntpZighZS5vayl0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBsb2FkIG1ldHJpY3MgY29uZmlnIGZyb20gJHtlLnVybH0gd2l0aCBzdGF0dXMgJHtlLnN0YXR1c30gYW5kIHN0YXR1c1RleHQgJHtlLnN0YXR1c1RleHR9LmApO2NvbnN0IHQ9YXdhaXQgZS5qc29uKCk7cmV0dXJuIHQubWV0cmljc19mdWxsX25hbWU/LmZvckVhY2goKGU9Pntjb25zdCBzPXQubWV0cmljcy5maW5kKCh0PT50LmlkPT09ZS5pZCkpO3MmJihzLmRlc2NyaXB0aW9uPWUubmFtZSl9KSksdH0pKX1yZXR1cm4gYWV9KCkudGhlbigoZT0+ZS5tZXRyaWNzKSl9YXZhaWxhYmxlUHJpY2VTb3VyY2VzKCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSl9c3VwcG9ydGVkU3ltYm9sc1R5cGVzKCl7Y29uc3QgZT13aW5kb3cuVHJhZGluZ1ZpZXc/LndpZGdldEN1c3RvbWVyPz8iIjtyZXR1cm4iYm92ZXNwYSI9PT1lP3cuZmlsdGVyKChlPT5bIiIsInN0b2NrIiwiZnV0dXJlcyIsImluZGV4Il0uaW5jbHVkZXMoZS52YWx1ZSkpKToiY21lIj09PWU/dy5maWx0ZXIoKGU9PmUudmFsdWUhPT15LnR5cGVzLlFVQU5ETCkpOnd9c3ltYm9sc0dyb3VwaW5nKCl7cmV0dXJue2Z1dHVyZXM6L14oLis/KShbMTJdIXxcd1xkezR9KT8kL319Y29ubmVjdGVkKCl7cmV0dXJuISF0aGlzLl9pc0Nvbm5lY3RlZH1hdXRoVG9rZW5NYW5hZ2VyKCl7cmV0dXJuKDAsZC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9hdXRoVG9rZW5NYW5hZ2VyKX1jcmVhdGVTZXNzaW9uKGUsdCl7dGhpcy5fc2Vzc2lvbnNbZV09dCx0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXT17fSx0aGlzLmNvbm5lY3RlZCgpJiZ0aGlzLl9pc0F1dGhUb2tlbkxvYWRlZCYmdC5vbk1lc3NhZ2Uoe21ldGhvZDpoLkNoYXJ0QXBpTWVzc2FnZU1ldGhvZC5Db25uZWN0ZWQscGFyYW1zOltdfSl9cmVtb3ZlU2Vzc2lvbihlKXtkZWxldGUgdGhpcy5fc2Vzc2lvbnNbZV0sZGVsZXRlIHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdfWRpc2Nvbm5lY3RDb3VudCgpe3JldHVybiB0aGlzLl9kaXNjb25uZWN0Q291bnR8fDB9Z2V0UGluZ0luZm8oKXtyZXR1cm4gdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5nZXRQaW5nSW5mbygpfWNvbm5lY3Rpb25CYW5JbmZvKCl7cmV0dXJuIHRoaXMuX2JhbkluZm8ucmVhZG9ubHkoKX1jb25uZWN0aW9uc0xpbWl0UmVhY2hlZCgpe3JldHVybiB0aGlzLl9jb25uZWN0aW9uc0xpbWl0UmVhY2hlZC5yZWFkb25seSgpfXNlcnZlclRpbWUoKXtyZXR1cm4gTWF0aC5yb3VuZCh0aGlzLl9zZXJ2ZXJUaW1lQmFzZVBvaW50K3BlcmZvcm1hbmNlLm5vdygpKX1jb21wZW5zYXRlQ29ubmVjdGlvbkxhZyhlKXtjb25zdCB0PXRoaXMuc2VydmVyVGltZSgpLHM9TWF0aC5mbG9vcihlLXQpO3M+MCYmKHRoaXMuX3NlcnZlclRpbWVCYXNlUG9pbnQrPXMpfXNldEJyb2tlcihlKXtyZXR1cm4gZT09PXRoaXMuX2Jyb2tlcklkfHwodGhpcy5fYnJva2VySWQ9ZSx0aGlzLl9zZW5kQnJva2VySWRUb1Nlc3Npb24odGhpcy5fYnJva2VySWQpKX1jaGFydENyZWF0ZVNlc3Npb24oZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoImNoYXJ0X2NyZWF0ZV9zZXNzaW9uIixbZSx0XSl9Y2hhcnREZWxldGVTZXNzaW9uKGUpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiY2hhcnRfZGVsZXRlX3Nlc3Npb24iLFtlXSl9c3dpdGNoVGltZXpvbmUoZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInN3aXRjaF90aW1lem9uZSIsW2UsdF0pfXJlc29sdmVTeW1ib2woZSx0LHMsbil7cmV0dXJuIEQudGVsZW1ldHJ5LnRpbWVDb3VudGVycy5zZXJpZXNbInJlc29sdmVfc3ltYm9sXyIrZV09d2luZG93LnBlcmZvcm1hbmNlLm5vdygpLHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdPW5ldyBGLkhhbmRsZXJJbmZvKG4sdCwhMCksdGhpcy5fc2VuZFJlcXVlc3QoInJlc29sdmVfc3ltYm9sIixbZSx0LHNdKX1yZXF1ZXN0Rmlyc3RCYXJUaW1lKGUsdCxzLG4pe3JldHVybiB0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgRi5IYW5kbGVySW5mbyhuLHQsITApLHRoaXMuX3NlbmRSZXF1ZXN0KCJnZXRfZmlyc3RfYmFyX3RpbWUiLFtlLHQsc10pfWNyZWF0ZVNlcmllcyhlLHQscyxuLGksbyxyLGEpe0QudGVsZW1ldHJ5LnRpbWVDb3VudGVycy5zZXJpZXMubWFya3MucHVzaCgiY3JlYXRlX3Nlcmllc18iK2UpLHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdPW5ldyBGLkhhbmRsZXJJbmZvKGEsdCk7Y29uc3QgZD1udWxsPT09cj8iIjooMCxfLmNvbnZlcnRUaW1lRnJhbWVUb1N0cikociwhMCk7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJjcmVhdGVfc2VyaWVzIixbZSx0LHMsbixpLG8sZF0pfXJlbW92ZVNlcmllcyhlLHQpe3JldHVybiBkZWxldGUgdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF0sdGhpcy5fc2VuZFJlcXVlc3QoInJlbW92ZV9zZXJpZXMiLFtlLHRdKX1tb2RpZnlTZXJpZXMoZSx0LHMsbixpLG8scixhKXt0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgRi5IYW5kbGVySW5mbyhhLHQpO2NvbnN0IGQ9bnVsbD09PXI/IiI6KDAsCl8uY29udmVydFRpbWVGcmFtZVRvU3RyKShyLCEwKTtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoIm1vZGlmeV9zZXJpZXMiLFtlLHQscyxuLGksZF0pfWdldFN0dWR5Q291bnRlcihlKXtyZXR1cm4gdGhpcy5fc3R1ZHlDb3VudGVyW2VdPz8wfWdldEZ1bmRhbWVudGFsQ291bnRlcihlKXtyZXR1cm4gdGhpcy5fZnVuZGFtZW50YWxDb3VudGVyW2VdPz8wfWdldENoaWxkU3R1ZHlDb3VudGVyKGUpe3JldHVybiB0aGlzLl9jaGlsZFN0dWR5Q291bnRlcltlXT8/MH1yZXF1ZXN0TW9yZURhdGEoZSx0LHMsbil7aWYodm9pZCAwPT09c3x8dm9pZCAwPT09bil0aHJvdyBuZXcgRXJyb3IoInVuc3VwcG9ydGVkIHJlcXVlc3QgdG8gbG9hZCBtb3JlIGRhdGEsIGJhcnM9IitzKTtjb25zdCBpPXQ7cmV0dXJuIHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW2ldPW5ldyBGLkhhbmRsZXJJbmZvKG4saSksdGhpcy5fc2VuZFJlcXVlc3QoInJlcXVlc3RfbW9yZV9kYXRhIixbZSxpLHNdKX1yZXF1ZXN0TW9yZVRpY2ttYXJrcyhlLHQscyxuKXtyZXR1cm4gbiYmKHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdPW5ldyBGLkhhbmRsZXJJbmZvKG4sdCkpLHRoaXMuX3NlbmRSZXF1ZXN0KCJyZXF1ZXN0X21vcmVfdGlja21hcmtzIixbZSx0LHNdKX1zZXRGdXR1cmVUaWNrbWFya3NNb2RlKGUsdCl7dGhpcy5fc2VuZFJlcXVlc3QoInNldF9mdXR1cmVfdGlja21hcmtzX21vZGUiLFtlLHRdKX1yZXF1ZXN0RGF0YVByb2JsZW1zKCl7cmV0dXJuIHRoaXMuX3JlcXVlc3REYXRhUHJvYmxlbXNQcm9taXNlfHwodGhpcy5fcmVxdWVzdERhdGFQcm9ibGVtc1Byb21pc2U9dGhpcy5jb25uZWN0RGZkLnRoZW4oKCgpPT5uZXcgUHJvbWlzZSgoKGUsdCk9Pnt0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VFcnJiYWNrPXQsdGhpcy5fc2VuZFJlcXVlc3QoInJlcXVlc3RfZGF0YV9wcm9ibGVtcyIsW10pP3RoaXMuX29uRGF0YVByb2JsZW1zUHJvbWlzZUNiPWU6dCgpfSkpKSkuZmluYWxseSgoKCk9Pnt0aGlzLl9yZXF1ZXN0RGF0YVByb2JsZW1zUHJvbWlzZT1udWxsfSkpKSx0aGlzLl9yZXF1ZXN0RGF0YVByb2JsZW1zUHJvbWlzZX1hc3luYyByZXF1ZXN0TWV0YWRhdGEoKXtyZXR1cm4gbnVsbD09PXRoaXMuX21ldGFkYXRhRGVmZXJyZWRQcm9taXNlJiYodGhpcy5fbWV0YWRhdGFEZWZlcnJlZFByb21pc2U9KDAsdi5jcmVhdGVEZWZlcnJlZFByb21pc2UpKCksdGhpcy5fbWV0YWRhdGFEZWZlcnJlZFByb21pc2UucHJvbWlzZS5maW5hbGx5KCgoKT0+e3RoaXMuX21ldGFkYXRhRGVmZXJyZWRQcm9taXNlPW51bGx9KSksdGhpcy5fcmVxdWVzdE1ldGFkYXRhKCkpLHRoaXMuX21ldGFkYXRhRGVmZXJyZWRQcm9taXNlLnByb21pc2V9YWxsU3R1ZGllc01ldGFkYXRhKCl7dGhyb3cgbmV3IEVycm9yKCJUaGlzIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQiKX1zZXRMb2FkTmV3KGUpe3RoaXMuX2xvYWROZXdCYXJzPSEhZX1zZXRJc05vbkNvdW50ZWRTdHVkeUZuKGUpe3RoaXMuX2lzTm9uQ291bnRlZFN0dWR5PWV9Y2FuQ3JlYXRlU3R1ZHkoZSx0LHMpe2NvbnN0e2lkOm4sY2hpbGQ6aSxmdW5kYW1lbnRhbDpvLGZvcmVjYXN0OnIsc3R1YlRpdGxlOmF9PXQsdT0oMCxkLmVuc3VyZU5vdE51bGwpKCgwLFIuZ2V0Q29uZmlnKSgiU1RVRFlfT05fU1RVRFkiKSkuY2hpbGRfbGltaXQ7aWYoaSYmKCEoMCxSLmVuYWJsZWQpKCJTVFVEWV9PTl9TVFVEWSIpfHwodGhpcy5fY2hpbGRTdHVkeUNvdW50ZXJbZV0/PzApPj11KSlyZXR1cm57c3VjY2VzczohMSxyZWFzb246ImNoaWxkIixsaW1pdFZhbHVlOnV9O2lmKHMpcmV0dXJue3N1Y2Nlc3M6ITB9O2lmKHImJiEoMCxSLmVuYWJsZWQpKCJGVU5EQU1FTlRBTFNfRk9SRUNBU1QiKSlyZXR1cm57c3VjY2VzczohMSxyZWFzb246ImZvcmVjYXN0IixzY3JpcHROYW1lOmF9O2NvbnN0IGM9KDAsZC5lbnN1cmVOb3ROdWxsKSgoMCxSLmdldENvbmZpZykoIkZVTkRBTUVOVEFMU19PTl9DSEFSVCIpKS5saW1pdDtpZihvJiYoISgwLFIuZW5hYmxlZCkoIkZVTkRBTUVOVEFMU19PTl9DSEFSVCIpfHx0aGlzLmdldEZ1bmRhbWVudGFsQ291bnRlcihlKT49YykpcmV0dXJue3N1Y2Nlc3M6ITEscmVhc29uOiJmdW5kYW1lbnRhbCIsbGltaXRWYWx1ZTpjfTtjb25zdCBsPSgwLGQuZW5zdXJlTm90TnVsbCkoKDAsUi5nZXRDb25maWcpKCJJTkRJQ0FUT1JTX09OX0NIQVJUIikpLmxpbWl0O3JldHVybiBvfHx0aGlzLl9pc05vbkNvdW50ZWRTdHVkeShuKXx8KDAsUi5lbmFibGVkKSgiSU5ESUNBVE9SU19PTl9DSEFSVCIpJiYhKHRoaXMuZ2V0U3R1ZHlDb3VudGVyKGUpPj1sKT97c3VjY2VzczohMH06e3N1Y2Nlc3M6ITEscmVhc29uOiJnZW5lcmFsIixsaW1pdFZhbHVlOmx9fWNyZWF0ZVN0dWR5KGUsdCxzLG4saSxvLHIsYSl7Y29uc3QgZD10aGlzLmNhbkNyZWF0ZVN0dWR5KGUsYSk7cmV0dXJuIGQuc3VjY2Vzc3x8ImNoaWxkIiE9PWQucmVhc29uPyh0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgRi5IYW5kbGVySW5mbyhyLHQpLHRoaXMuX3NlbmRSZXF1ZXN0KCJjcmVhdGVfc3R1ZHkiLFtlLHQscyxuLGksb10pLGEuZnVuZGFtZW50YWw/ZWUodGhpcy5fZnVuZGFtZW50YWxDb3VudGVyLGUpOnRoaXMuX2lzTm9uQ291bnRlZFN0dWR5KGEuaWQpfHxlZSh0aGlzLl9zdHVkeUNvdW50ZXIsZSksYS5jaGlsZCYmZWUodGhpcy5fY2hpbGRTdHVkeUNvdW50ZXIsZSksdGhpcy5fc3R1ZHlTcGVjcy5zZXQoWihlLHQpLGEpLCEwKTooKDAsay5zaG93VG9vTWFueVN0dWRpZXNOb3RpY2UpKGQubGltaXRWYWx1ZSksITEpfW1vZGlmeVN0dWR5KGUsdCxzLG4sbyxyKXtYKHI9cj8/MCx0aGlzLl9jaGlsZFN0dWR5Q291bnRlcixlKSwwIT09ciYmKCgwLGQuZW5zdXJlRGVmaW5lZCkodGhpcy5fc3R1ZHlTcGVjcy5nZXQoWihlLHQpKSkuY2hpbGQ9cj4wKSx0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgRi5IYW5kbGVySW5mbyhvLHQpO2NvbnN0IGE9ZSt0O2lmKHRoaXMuX21vZGlmeVN0dWR5TWFwLmhhcyhhKSl7cmV0dXJuKDAsCmQuZW5zdXJlRGVmaW5lZCkodGhpcy5fbW9kaWZ5U3R1ZHlNYXAuZ2V0KGEpKShlLHQscyxuKT8/ITB9e2NvbnN0IG89KDAsaS5kZWZhdWx0KSgoKGUsdCxzLG4pPT50aGlzLl9zZW5kUmVxdWVzdCgibW9kaWZ5X3N0dWR5IixbZSx0LHMsbl0pKSw1MDAse21heFdhaXQ6NTUwfSk7cmV0dXJuIHRoaXMuX21vZGlmeVN0dWR5TWFwLnNldChhLG8pLG8oZSx0LHMsbik/PyEwfX1ub3RpZnlTdHVkeShlLHQscyxuKXtyZXR1cm4gQS5sb2dOb3JtYWwoYFNlbmQgbm90aWZ5X3N0dWR5LCBbJHtlfSwgJHt0fSwgJHtzfSwgJHtKU09OLnN0cmluZ2lmeShuKX1dYCksdGhpcy5fc2VuZFJlcXVlc3QoIm5vdGlmeV9zdHVkeSIsW2UsdCxzLEpTT04uc3RyaW5naWZ5KG4pXSl9cmVtb3ZlU3R1ZHkoZSx0KXtjb25zdCBzPWUrdDtkZWxldGUgdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF0sdGhpcy5fbW9kaWZ5U3R1ZHlNYXAuZ2V0KHMpPy5mbHVzaCgpO2NvbnN0IG49dGhpcy5fc2VuZFJlcXVlc3QoInJlbW92ZV9zdHVkeSIsW2UsdF0pO2lmKCExPT09bilyZXR1cm4hMTt0aGlzLl9tb2RpZnlTdHVkeU1hcC5kZWxldGUocyk7Y29uc3QgaT1aKGUsdCksbz0oMCxkLmVuc3VyZURlZmluZWQpKHRoaXMuX3N0dWR5U3BlY3MuZ2V0KGkpKTtyZXR1cm4gdGhpcy5fc3R1ZHlTcGVjcy5kZWxldGUoaSksby5mdW5kYW1lbnRhbD90ZSh0aGlzLl9mdW5kYW1lbnRhbENvdW50ZXIsZSk6dGhpcy5faXNOb25Db3VudGVkU3R1ZHkoby5pZCl8fHRlKHRoaXMuX3N0dWR5Q291bnRlcixlKSxvLmNoaWxkJiZ0ZSh0aGlzLl9jaGlsZFN0dWR5Q291bnRlcixlKSxufWNyZWF0ZVBvaW50c2V0KGUsdCxzLG4saSxvLHIpe3JldHVybiB0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgRi5IYW5kbGVySW5mbyhyLHQpLHRoaXMuX3NlbmRSZXF1ZXN0KCJjcmVhdGVfcG9pbnRzZXQiLFtlLHQscyxuLGksb10pfW1vZGlmeVBvaW50c2V0KGUsdCxzLG4saSl7cmV0dXJuIHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdPW5ldyBGLkhhbmRsZXJJbmZvKGksdCksdGhpcy5fc2VuZFJlcXVlc3QoIm1vZGlmeV9wb2ludHNldCIsW2UsdCxzLG5dKX1yZW1vdmVQb2ludHNldChlLHQpe3JldHVybiBkZWxldGUgdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF0sdGhpcy5fc2VuZFJlcXVlc3QoInJlbW92ZV9wb2ludHNldCIsW2UsdF0pfWdldE1hcmtzKGUsdCxzLG4saSl7dGhyb3cgRXJyb3IoIlRoaXMgbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZCIpfWdldFRpbWVzY2FsZU1hcmtzKGUsdCxzLG4saSl7dGhyb3cgRXJyb3IoIlRoaXMgbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZCIpfXF1b3RlQ3JlYXRlU2Vzc2lvbihlKXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX2NyZWF0ZV9zZXNzaW9uIixbZV0pfXF1b3RlRGVsZXRlU2Vzc2lvbihlKXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX2RlbGV0ZV9zZXNzaW9uIixbZV0pfXF1b3RlQWRkU3ltYm9scyhlLHQpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgicXVvdGVfYWRkX3N5bWJvbHMiLFtlLHRdKX1xdW90ZVJlbW92ZVN5bWJvbHMoZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX3JlbW92ZV9zeW1ib2xzIixbZSx0XSl9cXVvdGVGYXN0U3ltYm9scyhlLHQpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgicXVvdGVfZmFzdF9zeW1ib2xzIixbZSx0XSl9cXVvdGVTZXRGaWVsZHMoZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX3NldF9maWVsZHMiLFtlLHRdKX1xdW90ZUhpYmVybmF0ZUFsbChlKXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX2hpYmVybmF0ZV9hbGwiLFtlXSl9ZGVwdGhDcmVhdGVTZXNzaW9uKGUsdCxzKXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoImRlcHRoX2NyZWF0ZV9zZXNzaW9uIixbZSx0LHNdKX1kZXB0aERlbGV0ZVNlc3Npb24oZSl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJkZXB0aF9kZWxldGVfc2Vzc2lvbiIsW2VdKX1kZXB0aFNldFN5bWJvbChlLHQpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiZGVwdGhfc2V0X3N5bWJvbCIsW2UsdF0pfWRlcHRoQ2xlYXJTeW1ib2woZSl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJkZXB0aF9jbGVhcl9zeW1ib2wiLFtlXSl9ZGVwdGhTZXRTY2FsZShlLHQpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiZGVwdGhfc2V0X3NjYWxlIixbZSx0XSl9dW5wYWNrKGUpe3JldHVybiB0aGlzLl9kYXRhSGFuZGxlTW9kdWxlLnVucGFjayhlKX1zZW5kUmVxdWVzdChlLHQpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdChlLHQpfXNldFZpc2libGVUaW1lUmFuZ2UoKXt0aHJvdyBuZXcgRXJyb3IoInNldFZpc2libGVUaW1lUmFuZ2UgaXMgZGVwcmVjYXRlZCBhbmQgc2hvdWxkIG5vdCBiZSB1c2VkIil9X2luaXQoKXt0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVycz17fSx0aGlzLl9zdHVkeUNvdW50ZXI9e30sdGhpcy5fY2hpbGRTdHVkeUNvdW50ZXI9e30sdGhpcy5fZnVuZGFtZW50YWxDb3VudGVyPXt9LHRoaXMuX21vZGlmeVN0dWR5TWFwPW5ldyBNYXB9X2NoZWNrQXV0aFRva2VuRXhwaXJhdGlvbihlKXswPT09dGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnQmJnRoaXMuX2F1dGhUb2tlbk1hbmFnZXImJiF0aGlzLl9hdXRoVG9rZW5NYW5hZ2VyLmN1cnJlbnRUb2tlbklzVmFsaWQoKSYmKEEubG9nSW5mbyhlKSx0aGlzLl9hdXRoVG9rZW5NYW5hZ2VyLnJlc2V0KCkpfV9zZW5kUmVxdWVzdChlLHQpe3JldHVybiBqJiZ0aGlzLl9jaGVja0F1dGhUb2tlbkV4cGlyYXRpb24oIkF1dGhUb2tlbiBpbnZhbGlkYXRpb24gZGV0ZWN0ZWQgb24gc2VuZGluZyBhIG1lc3NhZ2UsIHJlcXVlc3RpbmcgbmV3IHRva2VuIiksMCE9PXRoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50Pyh0aGlzLl9wZW5kaW5nTWVzc2FnZXNRdWV1ZS5wdXNoKHttZXRob2Q6ZSxhcmdzOnR9KSwhMCk6dGhpcy5fc2VuZFJlcXVlc3RJbXBsKGUsdCl9X3NlbmRSZXF1ZXN0SW1wbChlLHQpewpjb25zdCBzPXRoaXMuX3NlbnRNZXRob2RzQ291bnRlcnMuZ2V0KGUpPz8wO3RoaXMuX3NlbnRNZXRob2RzQ291bnRlcnMuc2V0KGUscysxKTtjb25zdCBpPXRoaXMuX2RhdGFIYW5kbGVNb2R1bGVbZV0uYXBwbHkodGhpcy5fZGF0YUhhbmRsZU1vZHVsZSx0KSxkPXttOmUscDooMCxuLmRlZmF1bHQpKGkpfSxjPWQubS5pbmNsdWRlcygic3R1ZHkiKSYmZC5wWzVdO2MmJmZ1bmN0aW9uKGUpe2lmKCEoMCx1LmlzT2JqZWN0KShlKSlyZXR1cm4hMTtmb3IoY29uc3QgdCBvZiBPYmplY3Qua2V5cyhlKSl7Y29uc3Qgcz1lW3RdO2lmKCEoKDAsdS5pc09iamVjdCkocyl8fCgwLHIuZGVmYXVsdCkocyl8fCgwLG8uZGVmYXVsdCkocyl8fCgwLGEuZGVmYXVsdCkocykpKXJldHVybiExfXJldHVybiEwfShjKSYmInRleHQiaW4gYyYmKGMudGV4dD1jLnRleHQuc2xpY2UoMCwxMCkpO2NvbnN0IGw9SlNPTi5zdHJpbmdpZnkoZCk7aWYoaS5sZW5ndGg+MCl7Y29uc3QgZT1pWzBdO2Uuc3RhcnRzV2l0aCgicXNfIik/Vi5sb2dOb3JtYWwoInNlbmQ6ICIrbCk6ZS5zdGFydHNXaXRoKCJjc18iKSYmQi5sb2dOb3JtYWwoInNlbmQ6ICIrbCw0MDk2KX1lbHNlIEEubG9nTm9ybWFsKCJzZW5kOiAiK2wpO2NvbnN0IGg9dGhpcy5fZGF0YUhhbmRsZU1vZHVsZS5wcmVwYXJlRW5jb2RlTWVzc2FnZShlLGkpO3JldHVybiB0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLnNlbmQoaCl9X29uQ29ubmVjdCgpe2lmKHRoaXMuY29ubmVjdGVkKCkpcmV0dXJuO2lmKHRoaXMuX3RyYWZmaWNTdGF0cy5zaW5jZUNvbm5lY3Q9MCx0aGlzLl9pc0F1dGhUb2tlbkxvYWRlZD0hMSx0aGlzLl9jb25uZWN0T25seU9wdGlvbnM9dGhpcy5fY29ubmVjdE9ubHlPcHRpb25zfHx7fSx0aGlzLl9hdXRoVG9rZW5EZmQ9dGhpcy5fZ2V0QXV0aFRva2VuRGZkKHRoaXMuX2Nvbm5lY3RPbmx5T3B0aW9ucy50b2tlbkdyYWJTZXNzaW9uKSx0aGlzLl9jb25uZWN0T25seU9wdGlvbnM9e30sdGhpcy5zZXNzaW9uaWQ9dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5nZXRTZXNzaW9uSWQoKSwhdGhpcy5zZXNzaW9uaWR8fHRoaXMuX2lzQ29ubmVjdGVkKXJldHVybjt0aGlzLl9wZW5kaW5nTWVzc2FnZXNRdWV1ZT1bXSx0aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudD0wLHRoaXMuX3N0dWR5Q291bnRlcj17fSx0aGlzLl9jaGlsZFN0dWR5Q291bnRlcj17fSx0aGlzLl9mdW5kYW1lbnRhbENvdW50ZXI9e30sdGhpcy5fc3R1ZHlTcGVjcy5jbGVhcigpLHRoaXMuX2lzQ29ubmVjdGVkPSEwLHRoaXMuX2JhbkluZm8uc2V0VmFsdWUobnVsbCksdGhpcy5fY29ubmVjdGlvbnNMaW1pdFJlYWNoZWQuc2V0VmFsdWUoITEpO2NvbnN0IGU9SlNPTi5wYXJzZSh0aGlzLnNlc3Npb25pZCk7dGhpcy5fc2VuZExvd1F1YWxpdHlNb2RlSWZFbmFibGVkKCksdGhpcy5fbWV0YWRhdGFTZXJ2ZXJIYXNoPWUuc3R1ZGllc19tZXRhZGF0YV9oYXNofHxudWxsO2NvbnN0IHQ9dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5nZXRDb25uZWN0aW9uRXN0YWJsaXNoZWQoKTt0cnl7dGhpcy5fc2VydmVyVGltZUJhc2VQb2ludD1NYXRoLnJvdW5kKGUudGltZXN0YW1wTXMtdCl9Y2F0Y2goZSl7dGhpcy5fc2VydmVyVGltZUJhc2VQb2ludD1EYXRlLm5vdygpLXBlcmZvcm1hbmNlLm5vdygpfWlmKEEubG9nSW5mbygiVGltZSBzaGlmdCB3aXRoIHNlcnZlcjogIit0aGlzLl9mb3JtYXRUaW1lKHRoaXMuc2VydmVyVGltZSgpLURhdGUubm93KCkpKSx0aGlzLl9hdXRoVG9rZW5EZmQpe3RoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50Kz0xLEEubG9nSW5mbygiV2FpdCBmb3IgYXV0aCB0b2tlbiBiZWZvcmUgc2VuZCBtZXNzYWdlcyIpO2NvbnN0IGU9dGhpcy5fYXV0aFRva2VuRGZkO2UudGhlbigodD0+e2lmKG51bGwhPT10aGlzLl9hdXRoVG9rZW5EZmQmJnRoaXMuX2F1dGhUb2tlbkRmZD09PWUpe2lmKEEubG9nTm9ybWFsKCJBdXRoIHRva2VuIHJlcXVlc3QgaXMgZmluaXNoZWQsIHRva2VuOiAiK0Jvb2xlYW4odCkpLHRoaXMuX2F1dGhUb2tlbkRmZD1udWxsLHQpe2NvbnN0IGU9W3ttZXRob2Q6InNldF9hdXRoX3Rva2VuIixhcmdzOlt0XX1dO2lmKFUpe2NvbnN0IHQ9d2luZG93LmluaXREYXRhJiZ3aW5kb3cuaW5pdERhdGEuY3VycmVudExvY2FsZUluZm87dCYmZS5wdXNoKHttZXRob2Q6InNldF9sb2NhbGUiLGFyZ3M6W3QuaXNvLHQuZmxhZy50b1VwcGVyQ2FzZSgpXX0pfXRoaXMuX3BlbmRpbmdNZXNzYWdlc1F1ZXVlLnVuc2hpZnQoLi4uZSl9dGhpcy5fb25TZW5kaW5nUXVldWVSZXF1ZXN0RmluaXNoZWQoKSx0aGlzLl9pc0F1dGhUb2tlbkxvYWRlZD0hMCx0aGlzLl9ub3RpZnlTZXNzaW9ucyh7bWV0aG9kOmguQ2hhcnRBcGlNZXNzYWdlTWV0aG9kLkNvbm5lY3RlZCxwYXJhbXM6W119KX1lbHNlIEEubG9nTm9ybWFsKCJDb21lcyBhdXRoIHRva2VuIGFmdGVyIHJlcXVlc3RpbmcgbmV3IHRva2VuIG9yIGFmdGVyIHNvY2tldCBkaXNjb25uZWN0ZWQiKX0pKS5jYXRjaCgoZT0+e0EubG9nTm9ybWFsKCgwLFMuZXJyb3JUb1N0cmluZykoZSkpfSkpfWVsc2UgQS5sb2dXYXJuKCJEZWZlcnJlZCBhdXRoIHRva2VuIG9iamVjdCBpcyBub3QgdmFsaWQiKSx0aGlzLl9pc0F1dGhUb2tlbkxvYWRlZD0hMDsiIiE9PXRoaXMuX2Jyb2tlcklkJiZ0aGlzLl9zZW5kQnJva2VySWRUb1Nlc3Npb24odGhpcy5fYnJva2VySWQpO2NvbnN0IHM9dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5nZXRDb25uZWN0aW9uU3RhcnQoKTtELnRlbGVtZXRyeS5zZXRTZXNzaW9uSW5mbyh0aGlzLnNlc3Npb25pZCksRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJ3ZWJzb2NrZXRfY29ubmVjdGVkIiksRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJ3ZWJzb2NrZXRfY29ubmVjdGlvbl90aW1lX2ZyYW1lIix7dmFsdWU6dC1zfSksRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJyZWNvbm5lY3RfY291bnRfZnJhbWUiLHt2YWx1ZTp0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLmdldFJlY29ubmVjdENvdW50KCl9KSwKRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJyZWRpcmVjdF9jb3VudF9mcmFtZSIse3ZhbHVlOnRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uZ2V0UmVkaXJlY3RDb3VudCgpfSksenx8KHo9ITAsRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJiZWZvcmVfd2Vic29ja2V0X2Nvbm5lY3Rpb25fdGltZV9mcmFtZSIse3ZhbHVlOnN9KSksdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5yZXNldENvdW50ZXJzKCksY2xlYXJUaW1lb3V0KHRoaXMuX3RlbGVtZXRyeURpc2Nvbm5lY3RUaW1lb3V0KX1fZm9ybWF0VGltZShlKXtyZXR1cm5gJHsoZS8xZTMpLnRvRml4ZWQoMil9IHNlY29uZHMuYH1fZGlzcGF0Y2hOb3RpZmljYXRpb24oZSx0KXtpZigicmVxdWVzdF9kYXRhX3Byb2JsZW1zIj09PWUubWV0aG9kJiZ0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VDYilyZXR1cm4gdm9pZCB0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VDYihlLnBhcmFtcyk7aWYoZS5tZXRob2Q9PT1QLldlYmNoYXJ0Q2hhcnRTZXNzaW9uUmVzcG9uc2VNZXRob2QuU3R1ZGllc01ldGFkYXRhJiZudWxsIT09dGhpcy5fbWV0YWRhdGFEZWZlcnJlZFByb21pc2UpcmV0dXJuIHZvaWQgdGhpcy5fcHJvY2Vzc2VkTWV0YWRhdGEoZSk7Y29uc3Qgcz1lLnBhcmFtcy5zaGlmdCgpO2lmKCF0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tzXSlyZXR1cm47aWYoInN5bWJvbF9yZXNvbHZlZCI9PT1lLm1ldGhvZCl7Y29uc3QgdD1lLnBhcmFtc1sxXS5mdWxsX25hbWU7RC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJzeW1ib2xfcmVzb2x2ZWQiLHtjb3VudDoxLGFkZGl0aW9uYWw6e3N5bWJvbDp0fX0pO2NvbnN0IG49RC50ZWxlbWV0cnkudGltZUNvdW50ZXJzLnNlcmllc1sicmVzb2x2ZV9zeW1ib2xfIitzXTsibnVtYmVyIj09dHlwZW9mIG4mJkQudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgic3ltYm9sX3Jlc29sdmVfdGltZV9mcmFtZSIse3ZhbHVlOndpbmRvdy5wZXJmb3JtYW5jZS5ub3coKS1uLGFkZGl0aW9uYWw6e3N5bWJvbDp0fX0pfWlmKFsic2VyaWVzX2Vycm9yIiwic2VyaWVzX2NvbXBsZXRlZCJdLmluY2x1ZGVzKGUubWV0aG9kKSYmRC50ZWxlbWV0cnkudGltZUNvdW50ZXJzLnNlcmllcy5tYXJrcy5sZW5ndGg+MCl7Y29uc3QgZT0iY3JlYXRlX3Nlcmllc18iK3MsdD1ELnRlbGVtZXRyeS50aW1lQ291bnRlcnMuc2VyaWVzLm1hcmtzLmluZGV4T2YoZSk7dD49MCYmRC50ZWxlbWV0cnkudGltZUNvdW50ZXJzLnNlcmllcy5tYXJrcy5zcGxpY2UodCwxKX1HfHwic2VyaWVzX2Vycm9yIiE9PWUubWV0aG9kfHwoRz0hMCk7Y29uc3Qgbj10aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLmdldENvbm5lY3Rpb25Fc3RhYmxpc2hlZCgpO2lmKG51bGwhPT1uJiYic2VyaWVzX2NvbXBsZXRlZCI9PT1lLm1ldGhvZCYmKEd8fChHPSEwLEQudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgiZmlyc3Rfc2VyaWVzX2Z1bGxfdGltZV9mcmFtZSIse3ZhbHVlOndpbmRvdy5wZXJmb3JtYW5jZS5ub3coKS1ufSksRC50ZWxlbWV0cnkudGltZUNvdW50ZXJzLnNlcmllcy5tYXJrcz1bXSksSnx8KEo9ITAsRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJwYWdlX2Z1bGxfbG9hZF90aW1lX2ZyYW1lIix7dmFsdWU6d2luZG93LnBlcmZvcm1hbmNlLm5vdygpfSkpKSxzLnN0YXJ0c1dpdGgoImNzXyIpKXtsZXQgcz0icmVjdjogIit0OyJkYXRhX3VwZGF0ZSI9PT1lLm1ldGhvZD8ocz0oMCxsLmlzSGlnaFJhdGVFbmFibGVkKSgpP3M6cy5zbGljZSgwLDUwMCksTC5sb2dOb3JtYWwodGhpcy5fYXBwZW5kRHVyYXRpb24ocyxlLnRpbWUpKSk6InN0dWR5X2xvYWRpbmciPT09ZS5tZXRob2Q/Ty5sb2dOb3JtYWwodGhpcy5fYXBwZW5kRHVyYXRpb24ocyxlLnRpbWUpKToidGlja21hcmtfdXBkYXRlIj09PWUubWV0aG9kP1EubG9nTm9ybWFsKHRoaXMuX2FwcGVuZER1cmF0aW9uKHMsZS50aW1lKSk6Qi5sb2dOb3JtYWwodGhpcy5fYXBwZW5kRHVyYXRpb24ocyxlLnRpbWUpKX1pZihzLnN0YXJ0c1dpdGgoInFzXyIpKXsoInF1b3RlX3N5bWJvbF9kYXRhIj09PWUubWV0aG9kPyQubG9nTm9ybWFsOlYubG9nTm9ybWFsKSgicmVjdjogIit0KX1zd2l0Y2goZS5tZXRob2Qpe2Nhc2UgUC5XZWJjaGFydENoYXJ0U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlRpbWVTY2FsZVVwZGF0ZTp7Y29uc3QgdD10aGlzLl9kYXRhSGFuZGxlTW9kdWxlLmdldFRpbWVzY2FsZU9iamVjdHMoZSksbj10aGlzLl9kYXRhSGFuZGxlTW9kdWxlLmdldFRpbWVzY2FsZUNoYW5nZXNldChlKSxpPXRoaXMuX2NvbnZlcnRUaW1lc2NhbGVSZXNwb25zZShuKTt0aGlzLl9zZXNzaW9uc1tzXS5vbk1lc3NhZ2Uoe21ldGhvZDpQLldlYmNoYXJ0Q2hhcnRTZXNzaW9uUmVzcG9uc2VNZXRob2QuVGltZVNjYWxlVXBkYXRlLHBhcmFtczppfSksdGhpcy5fZGF0YUhhbmRsZU1vZHVsZS5wcmVwYXJlRGF0YVVwZGF0ZU9iamVjdHMocyx0LCgoZSx0LHMpPT57dGhpcy5faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihlLHQscyl9KSk7YnJlYWt9Y2FzZSJ0aWNrbWFya191cGRhdGUiOmNvbnN0IHQ9ey4uLnRoaXMuX2NvbnZlcnRUaW1lc2NhbGVSZXNwb25zZShlLnBhcmFtc1swXSksY2hhbmdlczpbXX07dGhpcy5fc2Vzc2lvbnNbc10ub25NZXNzYWdlKHttZXRob2Q6UC5XZWJjaGFydENoYXJ0U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlRpbWVTY2FsZVVwZGF0ZSxwYXJhbXM6dH0pO2JyZWFrO2Nhc2UgUC5XZWJjaGFydENoYXJ0U2Vzc2lvblJlc3BvbnNlTWV0aG9kLkRhdGFVcGRhdGU6e2NvbnN0IHQ9dGhpcy5fZGF0YUhhbmRsZU1vZHVsZS5nZXREYXRhVXBkYXRlT2JqZWN0cyhlKTt0aGlzLl9kYXRhSGFuZGxlTW9kdWxlLnByZXBhcmVEYXRhVXBkYXRlT2JqZWN0cyhzLHQsKChlLHQscyk9Pnt0aGlzLl9pbnZva2VOb3RpZmljYXRpb25IYW5kbGVyKGUsdCxzKX0pKTticmVha31jYXNlImluZGV4X3VwZGF0ZSI6Zm9yKGNvbnN0IHQgaW4gZS5wYXJhbXNbMF0paWYoZS5wYXJhbXNbMF0uaGFzT3duUHJvcGVydHkodCkpe2NvbnN0IG49e21ldGhvZDoiaW5kZXhfdXBkYXRlIiwKcGFyYW1zOmUucGFyYW1zWzBdW3RdfTt0aGlzLl9pbnZva2VOb3RpZmljYXRpb25IYW5kbGVyKHMsdCxuKX1icmVhaztjYXNlIFAuV2ViY2hhcnRSZXNwb25zZU1ldGhvZC5Dcml0aWNhbEVycm9yOkEubG9nSW5mbyhuZXcgRGF0ZSsiIGNyaXRpY2FsX2Vycm9yIHNlc3Npb246Iit0aGlzLnNlc3Npb25pZCsiIHJlYXNvbjoiK2UucGFyYW1zWzBdKSxELnRlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoImNyaXRpY2FsX2Vycm9yIiksdGhpcy5fc2Vzc2lvbnNbc10ub25NZXNzYWdlKHttZXRob2Q6UC5XZWJjaGFydFJlc3BvbnNlTWV0aG9kLkNyaXRpY2FsRXJyb3IscGFyYW1zOmUucGFyYW1zfSk7YnJlYWs7Y2FzZSJ0aW1lc2NhbGVfY29tcGxldGVkIjpjYXNlInF1b3RlX3N5bWJvbF9kYXRhIjpjYXNlInF1b3RlX2xpc3RfZmllbGRzIjpjYXNlInF1b3RlX2NvbXBsZXRlZCI6Y2FzZSJkZXB0aF9zeW1ib2xfZXJyb3IiOmNhc2UiZGVwdGhfc3ltYm9sX3N1Y2Nlc3MiOmNhc2UiZGQiOmNhc2UiZHB1IjpjYXNlImRlcHRoX2Jhcl9sYXN0X3ZhbHVlIjp0aGlzLl9zZXNzaW9uc1tzXS5vbk1lc3NhZ2Uoe21ldGhvZDplLm1ldGhvZCxwYXJhbXM6ZS5wYXJhbXN9KTticmVhaztjYXNlImNsZWFyX2RhdGEiOmZvcihjb25zdCB0IGluIGUucGFyYW1zWzBdKWUucGFyYW1zWzBdLmhhc093blByb3BlcnR5KHQpJiZ0aGlzLl9pbnZva2VOb3RpZmljYXRpb25IYW5kbGVyKHMsdCx7bWV0aG9kOlAuV2ViY2hhcnRDaGFydFNlc3Npb25SZXNwb25zZU1ldGhvZC5DbGVhckRhdGEscGFyYW1zOmUucGFyYW1zWzBdW3RdfSk7YnJlYWs7Y2FzZSBQLldlYmNoYXJ0UmVwbGF5U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlJlcGxheVBvaW50OmNhc2UgUC5XZWJjaGFydFJlcGxheVNlc3Npb25SZXNwb25zZU1ldGhvZC5SZXBsYXlSZXNvbHV0aW9uczpjYXNlIFAuV2ViY2hhcnRSZXBsYXlTZXNzaW9uUmVzcG9uc2VNZXRob2QuUmVwbGF5RGF0YUVuZDpjYXNlIFAuV2ViY2hhcnRSZXBsYXlTZXNzaW9uUmVzcG9uc2VNZXRob2QuUmVwbGF5SW5zdGFuY2VJZDpjYXNlIFAuV2ViY2hhcnRSZXBsYXlTZXNzaW9uUmVzcG9uc2VNZXRob2QuUmVwbGF5RGVwdGg6Y2FzZSBQLldlYmNoYXJ0UmVwbGF5U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlJlcGxheUVycm9yOmNhc2UgUC5XZWJjaGFydFJlcGxheVNlc3Npb25SZXNwb25zZU1ldGhvZC5SZXBsYXlPazp0aGlzLl9zZXNzaW9uc1tzXS5vbk1lc3NhZ2UoZSk7YnJlYWs7Y2FzZSJzZXJpZXNfdGltZWZyYW1lIjpjb25zdCBuPWUucGFyYW1zWzRdO2UucGFyYW1zWzRdPW51bGw9PW4/bnVsbDooMCxfLmNvbnZlcnRTdHJUb1RpbWVGcmFtZSkobiksdGhpcy5faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihzLGUucGFyYW1zWzBdLGUpO2JyZWFrO2Nhc2Uic3ltYm9sX3Jlc29sdmVkIjohZnVuY3Rpb24oZSl7aWYodm9pZCAwPT09ZS5jb3JyZWN0aW9ucyl7Y29uc3QgdD0oZS5zdWJzZXNzaW9ucz8/W10pLmZpbmQoKHQ9PnQuaWQ9PT1lLnN1YnNlc3Npb25faWQpKTt2b2lkIDAhPT10JiYoZS5jb3JyZWN0aW9ucz10WyJzZXNzaW9uLWNvcnJlY3Rpb24iXSl9fShlLnBhcmFtc1sxXSksdGhpcy5faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihzLGUucGFyYW1zWzBdLGUpO2JyZWFrO2RlZmF1bHQ6dGhpcy5faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihzLGUucGFyYW1zWzBdLGUpfX1fbm90aWZ5U2Vzc2lvbnMoZSl7Zm9yKGNvbnN0IHQgaW4gdGhpcy5fc2Vzc2lvbnMpaWYodGhpcy5fc2Vzc2lvbnMuaGFzT3duUHJvcGVydHkodCkpe2NvbnN0IHM9dGhpcy5fc2Vzc2lvbnNbdF07ImZ1bmN0aW9uIj09dHlwZW9mIHMub25NZXNzYWdlJiZzLm9uTWVzc2FnZShlKX19X29uTWVzc2FnZShlKXtqJiZ0aGlzLl9jaGVja0F1dGhUb2tlbkV4cGlyYXRpb24oIkF1dGhUb2tlbiBpbnZhbGlkYXRpb24gZGV0ZWN0ZWQgb24gcmVjZWl2aW5nIGEgbWVzc2FnZSwgcmVxdWVzdGluZyBuZXcgdG9rZW4iKSx0aGlzLl9jYWxjVHJhZmZpY1N0YXRzKGUpO2NvbnN0IHQ9dGhpcy51bnBhY2soZSk7dGhpcy5fcmVjZWl2ZWRNZXRob2RzQ291bnRlcnMuc2V0KHQubWV0aG9kLCh0aGlzLl9yZWNlaXZlZE1ldGhvZHNDb3VudGVycy5nZXQodC5tZXRob2QpPz8wKSsxKSwidF9tcyJpbiB0JiYoMCxvLmRlZmF1bHQpKHQudF9tcykmJndpbmRvdy5DaGFydEFwaUluc3RhbmNlLmNvbXBlbnNhdGVDb25uZWN0aW9uTGFnKHQudF9tcyksInByb3RvY29sX3N3aXRjaGVkIiE9PXQubWV0aG9kPyJwcm90b2NvbF9lcnJvciIhPT10Lm1ldGhvZD90aGlzLl9kaXNwYXRjaE5vdGlmaWNhdGlvbih0LGUpOnRoaXMuX3Byb2Nlc3NQcm90b2NvbEVycm9yKHQpOkEubG9nRXJyb3IoIlVuZXhwZWN0ZWQgcHJvdG9jb2wgY2hhbmdpbmcgcmVxdWVzdCwgdHJ5IHNraXBwaW5nLiBSZXF1ZXN0ZWQgcHJvdG9jb2w6Iit0LnBhcmFtc1swXSl9YXN5bmMgX3Byb2Nlc3NlZE1ldGFkYXRhKGUpe2NvbnN0IHQ9KDAsZC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZSkscz1hd2FpdCB0aGlzLl9pbml0Q2FjaGVQcm9taXNlLGk9d2luZG93LnByby5oYXNoKCksbz0oMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKTt0cnl7YXdhaXQgcy5zZXRWYWx1ZShpZSwoMCxuLmRlZmF1bHQpKGUpKTtjb25zdCByPUFycmF5LmZyb20obmV3IFNldChlLnBhcmFtc1sxXS5tZXRhaW5mby5tYXAoKGU9PntyZXR1cm5gJHsodD0oMCxwLnBhcnNlSWRTdHJpbmcpKGUuaWQpKS5wYWNrYWdlSWR9LSR7dC52ZXJzaW9ufWA7dmFyIHR9KSkpKTtpZihBLmxvZ05vcm1hbChgVXBkYXRlZCBzdHVkaWVzX21ldGFkYXRhIGNhY2hlLCB1bmlxdWUgcGFja2FnZSBpZHM6ICR7ci5qb2luKCIsICIpfWApLCFvKXRyeXthd2FpdCBzLnNldFZhbHVlKG5lLCgwLG4uZGVmYXVsdCkoaSkpLEEubG9nTm9ybWFsKCJVcGRhdGVkIHByb19oYXNoIGNhY2hlIil9Y2F0Y2goZSl7dC5yZWplY3QoKSxBLmxvZ0Vycm9yKCJDYW5ub3QgdXBkYXRlIHByb19oYXNoIGNhY2hlLCByZWFzb246ICIrZSl9fWNhdGNoKGUpe3QucmVqZWN0KCksCkEubG9nRXJyb3IoIkNhbm5vdCB1cGRhdGUgc3R1ZGllc19tZXRhZGF0YSBjYWNoZSwgcmVhc29uOiAiK2UpfXQucmVzb2x2ZSgoMCxuLmRlZmF1bHQpKGUpKX1faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihlLHQscyl7aWYodm9pZCAwPT09dClyZXR1cm47Y29uc3Qgbj10aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XTt2b2lkIDAhPT1uJiYobi5zaW5nbGVTaG90JiZkZWxldGUgdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF0sbi5oYW5kbGVyPy4ocykpfV9jb252ZXJ0VGltZXNjYWxlUmVzcG9uc2UoZSl7cmV0dXJuIHRoaXMuX2RhdGFIYW5kbGVNb2R1bGUuY29udmVydFRpbWVzY2FsZVJlc3BvbnNlKGUpfV9hcHBlbmREdXJhdGlvbihlLHQpe3JldHVybiB0P2Ake2V9LCBkdXJhdGlvbjogJHt0aGlzLl9mb3JtYXRUaW1lKHRoaXMuc2VydmVyVGltZSgpLTFlMyp0KX1gOmV9YXN5bmMgX3JlcXVlc3RNZXRhZGF0YSgpe2NvbnN0IGU9dGhpcy5fbWFrZU5leHRSZXF1ZXN0SWQoKTt4LmxvZ05vcm1hbChgUmVxdWVzdGluZyBtZXRhaW5mbyAjJHtlfWApO2NvbnN0IHQ9KDAsZC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZSkscz13aW5kb3cucHJvLGk9cy5oYXNoKCksbz0oMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKTtBLmxvZ05vcm1hbCgiUmVxdWVzdGluZyBwcm8gaGFzaCIpO3RyeXtjb25zdCByPWF3YWl0IHRoaXMuX2luaXRDYWNoZVByb21pc2U7YXdhaXQgci5taWdyYXRlVmFsdWUoInByb19oYXNoIixuZSksYXdhaXQgci5taWdyYXRlVmFsdWUoc2UsaWUpO2NvbnN0IGE9YXdhaXQgci5nZXRWYWx1ZShuZSk7aWYobnVsbCE9PWEmJmE9PT1pfHxvKXtBLmxvZ05vcm1hbCgiUHJvIGhhc2ggaGFzIG5vdCBjaGFuZ2VkLCByZXF1ZXN0aW5nIGZyb20gbG9jYWwiKTtjb25zdCBvPWF3YWl0IHIuZ2V0VmFsdWUoaWUpLGE9bnVsbCE9PW8mJm8ucGFyYW1zWzFdLmhhc2h8fG51bGw7aWYobnVsbD09PWF8fG51bGw9PT10aGlzLl9tZXRhZGF0YVNlcnZlckhhc2h8fHRoaXMuX21ldGFkYXRhU2VydmVySGFzaCE9PWEpQS5sb2dOb3JtYWwoYE1ldGFkYXRhIGhhc2ggaGFzIGNoYW5nZWQgKGNhY2hlZDogJyR7YX0nLCBzZXJ2ZXI6ICcke3RoaXMuX21ldGFkYXRhU2VydmVySGFzaH0nKWApLHRoaXMuX3JlcXVlc3RNZXRhZGF0YUZyb21TZXJ2ZXIoZSk7ZWxzZXtpZighcy5oYXNQYWNrYWdlKCJ0di12b2x1bWVieXByaWNlIil8fHZvaWQgMCE9PW8ucGFyYW1zWzFdLm1ldGFpbmZvLmZpbmQoKGU9PmUuaWQuaW5jbHVkZXMoIkB0di12b2x1bWVieXByaWNlIikpKSlyZXR1cm4gQS5sb2dOb3JtYWwoIlVzaW5nIHN0dWRpZXNfbWV0YWRhdGEgZnJvbSBicm93c2VyIGNhY2hlIiksdm9pZCB0LnJlc29sdmUoKDAsbi5kZWZhdWx0KShvKSk7QS5sb2dOb3JtYWwoYERlLXN5bmMgZGV0ZWN0ZWQhIHByby5oYXNoIGNvbnRhaW5zIFZiUFIgc3R1ZGllcywgYnV0IGRhdGEgZnJvbSBjYWNoZSBkb2Vzbid0IGFuZCBwcm8uaGFzaCBpc24ndCBjaGFuZ2VkLCBwcm8uaGFzaD0ke2l9YCksdGhpcy5fcmVxdWVzdE1ldGFkYXRhRnJvbVNlcnZlcihlKX19ZWxzZSBBLmxvZ05vcm1hbChgUHJvIGhhc2ggaGFzIGNoYW5nZWQgKGNhY2hlZDogJyR7YX0nLCBjdXJyZW50OiAnJHtpfScpYCksdGhpcy5fcmVxdWVzdE1ldGFkYXRhRnJvbVNlcnZlcihlKX1jYXRjaCh0KXtBLmxvZ0Vycm9yKCJDYW5ub3QgZ2V0IHN0dWRpZXNfbWV0YWRhdGEsIHJlYXNvbjogIit0KSx0aGlzLl9yZXF1ZXN0TWV0YWRhdGFGcm9tU2VydmVyKGUpfWZpbmFsbHl7eC5sb2dOb3JtYWwoYFJlcXVlc3Rpbmcgc3R1ZGllcyBtZXRhZGF0YSAjJHtlfSBmaW5pc2hlZGApfX1fbWFrZU5leHRSZXF1ZXN0SWQoKXtyZXR1cm4ibWV0YWRhdGFfIit0aGlzLl9tZXRhZGF0YVJlcXVlc3ROZXh0TnVtYmVyKyt9X3Byb2Nlc3NQcm90b2NvbEVycm9yKGUpe2NvbnN0IHQ9ZS5wYXJhbXNbMF07QS5sb2dFcnJvcihgUHJvdG9jb2wgZXJyb3IuIFJlYXNvbj0ke3R9LmApLCJiYW5uZWQiIT09dCYmImJhbm5lZCBieSB1c2VyX2lkIiE9PXQmJiJiYW5uZWQgYnkgaXAiIT09dHx8KHRoaXMuX2JhbkluZm8uc2V0VmFsdWUoe3JlYXNvbjp0fSksdGhpcy5kaXNjb25uZWN0KCkpLHRoaXMuX2Nvbm5lY3Rpb25zTGltaXRSZWFjaGVkLnNldFZhbHVlKCJ1c2VyIGNvbm5lY3Rpb25zIGxpbWl0IHJlYWNoZWQiPT09dCl9X3JlcXVlc3RNZXRhZGF0YUZyb21TZXJ2ZXIoZSl7cmV0dXJuIEEubG9nTm9ybWFsKCJSZXF1ZXN0IHN0dWRpZXNfbWV0YWRhdGEgZnJvbSBzZXJ2ZXIiKSx0aGlzLl9zZW5kUmVxdWVzdCgicmVxdWVzdF9zdHVkaWVzX21ldGFkYXRhIixbZV0pfV9iaW5kU29ja2V0RXZlbnRzKCl7dGhpcy5jb25uZWN0RGZkPW5ldyBQcm9taXNlKCgoZSx0KT0+e3RoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24ub24oImNvbm5lY3QiLCgoKT0+e3RoaXMuX29uQ29ubmVjdCgpLGUoKX0pKSx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLm9uKCJtZXNzYWdlIix0aGlzLl9vbk1lc3NhZ2UuYmluZCh0aGlzKSksdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5vbigiZGlzY29ubmVjdCIsKCgpPT57dGhpcy5fYXV0aFRva2VuRGZkJiYodGhpcy5fYXV0aFRva2VuRGZkPW51bGwpLHRoaXMuX29uRGF0YVByb2JsZW1zUHJvbWlzZUVycmJhY2smJnRoaXMuX29uRGF0YVByb2JsZW1zUHJvbWlzZUVycmJhY2soKSx0aGlzLl9pc0Nvbm5lY3RlZD0hMSx0aGlzLl9ub3RpZnlTZXNzaW9ucyh7bWV0aG9kOmguQ2hhcnRBcGlNZXNzYWdlTWV0aG9kLkRpc2Nvbm5lY3RlZCxwYXJhbXM6W119KSx0aGlzLl9iYW5JbmZvLnZhbHVlKCl8fCh0aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZT1udWxsKSx0aGlzLl9kaXNjb25uZWN0Q291bnQ9KHRoaXMuX2Rpc2Nvbm5lY3RDb3VudHx8MCkrMSx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLmlzQ29ubmVjdGVkKCkmJih0aGlzLl90ZWxlbWV0cnlEaXNjb25uZWN0VGltZW91dD1zZXRUaW1lb3V0KCgoKT0+e0QudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgiZGlzY29ubmVjdCIpfSksNWUzKSwKdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5pc01heFJlY29ubmVjdHMoKSYmKHRoaXMuX25vdGlmeVNlc3Npb25zKHttZXRob2Q6aC5DaGFydEFwaU1lc3NhZ2VNZXRob2QuUmVjb25uZWN0QmFpbG91dCxwYXJhbXM6W119KSx0KCksRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJyZWNvbm5lY3RfYmFpbG91dCIpKSl9KSl9KSl9X2NhbGNUcmFmZmljU3RhdHMoZSl7Y29uc3QgdD1lLmxlbmd0aDt0aGlzLl90cmFmZmljU3RhdHMudG90YWwrPXQsdGhpcy5fdHJhZmZpY1N0YXRzLnNpbmNlQ29ubmVjdCs9dCx0aGlzLl90cmFmZmljU3RhdHMubGFzdENodW5rKz10fV9zZW5kQnJva2VySWRUb1Nlc3Npb24oZSl7cmV0dXJuIVd8fHRoaXMuX3NlbmRSZXF1ZXN0KCJzZXRfYnJva2VyIixbZV0pfV9lbmFibGVMb3dRdWFsaXR5TW9kZSgpe0EubG9nTm9ybWFsKCJsb3cgcXVhbGl0eSBtb2RlIGlzIGVuYWJsZWQiKSx0aGlzLl9sb3dRdWFsaXR5RW5hYmxlZD0hMCx0aGlzLl9zZW5kTG93UXVhbGl0eU1vZGVJZkVuYWJsZWQoKX1fc2VuZExvd1F1YWxpdHlNb2RlSWZFbmFibGVkKCl7dGhpcy5fbG93UXVhbGl0eUVuYWJsZWQmJnRoaXMuY29ubmVjdGVkKCkmJnRoaXMuX3NlbmRSZXF1ZXN0KCJzZXRfZGF0YV9xdWFsaXR5IixbXSl9X2dldEF1dGhUb2tlbkRmZChlKXtpZih0aGlzLl9sb2FkTmV3QmFycylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCJsb2FkX25ld190b2tlbiIpO2lmKCgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpfHwtMSE9PXdpbmRvdy5sb2NhdGlvbi5zZWFyY2guaW5kZXhPZigid2lkZ2V0X3Rva2VuIil8fC0xIT09d2luZG93LmxvY2F0aW9uLmhhc2guaW5kZXhPZigid2lkZ2V0X3Rva2VuIikpe2NvbnN0IGU9d2luZG93LlRyYWRpbmdWaWV3JiZ3aW5kb3cuVHJhZGluZ1ZpZXcud2lkZ2V0Q3VzdG9tZXJ8fCIiO3JldHVybiBQcm9taXNlLnJlc29sdmUoYltlXXx8IndpZGdldF91c2VyX3Rva2VuIil9aWYoIXdpbmRvdy5pc19hdXRoZW50aWNhdGVkKXJldHVybiBQcm9taXNlLnJlc29sdmUoInVuYXV0aG9yaXplZF91c2VyX3Rva2VuIik7aWYoIXRoaXMuX2F1dGhUb2tlbk1hbmFnZXIpe2NvbnN0IGU9dGhpcy5fYXV0aFRva2VuTWFuYWdlcj1uZXcgZi5BdXRoVG9rZW47ZS5pbnZhbGlkYXRlZC5zdWJzY3JpYmUobnVsbCwoYXN5bmMoKT0+e3RyeXt0aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudCs9MTtjb25zdCB0PWF3YWl0IGUuZ2V0KCk7aWYoIXQpcmV0dXJuIHZvaWQgQS5sb2dJbmZvKCJBdXRoVG9rZW4gaW52YWxpZGF0ZWQsIGJ1dCBuZXcgdG9rZW4gaXMgZW1wdHkiKTtpZighdGhpcy5jb25uZWN0ZWQoKSlyZXR1cm4gdm9pZCBBLmxvZ0luZm8oYEF1dGhUb2tlbiBpbnZhbGlkYXRlZCwgYnV0IHNvY2tldCBpcyBub3QgY29ubmVjdGVkLiBUb2tlbjogJHt0fWApO0EubG9nSW5mbygiQXV0aFRva2VuIGludmFsaWRhdGVkLCByZWZyZXNoaW5nIHRva2VuIGFuZCByZXNlbmRpbmcgdG8gc2Vzc2lvbiIpLHRoaXMuX3NlbmRSZXF1ZXN0SW1wbCgic2V0X2F1dGhfdG9rZW4iLFt0XSl9Y2F0Y2goZSl7dGhyb3cgQS5sb2dFcnJvcihgRmFpbGVkIHRvIHJlZnJlc2ggYXV0aCB0b2tlbiBhZnRlciBpbnZhbGlkYXRpb246ICR7KDAsUy5lcnJvclRvU3RyaW5nKShlKX1gKSxlfWZpbmFsbHl7dGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnQtPTEsMD09PXRoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50JiZlLmN1cnJlbnRUb2tlbklzVmFsaWQoKSYmdGhpcy5fZmx1c2hQZW5kaW5nTWVzc2FnZXMoKX19KSl9cmV0dXJuIHRoaXMuX2F1dGhUb2tlbk1hbmFnZXIuZ2V0KGUpfV9vblNlbmRpbmdRdWV1ZVJlcXVlc3RGaW5pc2hlZCgpe3RoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50LT0xLEEubG9nSW5mbyhgU2VuZGluZyBxdWV1ZSByZXF1ZXN0IGZpbmlzaGVkLiBSZW1haW5pbmcgcGVuZGluZyByZXF1ZXN0cz0ke3RoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50fWApLHRoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50PDAmJkEubG9nRXJyb3IoYEludmFsaWQgcXVldWUgc3RhdGU9JHt0aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudH1gKSwwPT09dGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnQmJnRoaXMuX2ZsdXNoUGVuZGluZ01lc3NhZ2VzKCl9X2ZsdXNoUGVuZGluZ01lc3NhZ2VzKCl7QS5sb2dJbmZvKGBGbHVzaCBwZW5kaW5nIG1lc3NhZ2VzLiBDb3VudD0ke3RoaXMuX3BlbmRpbmdNZXNzYWdlc1F1ZXVlLmxlbmd0aH1gKSx0aGlzLl9wZW5kaW5nTWVzc2FnZXNRdWV1ZS5mb3JFYWNoKChlPT50aGlzLl9zZW5kUmVxdWVzdChlLm1ldGhvZCxlLmFyZ3MpKSksdGhpcy5fcGVuZGluZ01lc3NhZ2VzUXVldWU9W119fSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiYod2luZG93LkNoYXJ0QXBpSW5zdGFuY2U9bmV3IGRlKHdpbmRvdy5XU0JhY2tlbmRDb25uZWN0aW9uKSl9LDg4OTUxNShlLHQscyl7cy5kKHQse3Nob3dUb29NYW55U3R1ZGllc05vdGljZTooKT0+b30pO3ZhciBuPXMoMTg1MjcxKSxpPXMoMjM0OTY0KTtmdW5jdGlvbiBvKGUpeygwLGkuc2hvd1dhcm5pbmcpKHt0aXRsZTpuLnQobnVsbCx2b2lkIDAscyg5MzcwMTcpKSx0ZXh0Om4udChudWxsLHtyZXBsYWNlOntudW1iZXI6YCR7ZX1gfX0scyg5OTIzNjIpKX0pfX19XSk7"}},"time_used":1,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.94947.78350a9903056b993c26.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.594Z","timestamp":1785120634594,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.94947.78350a9903056b993c26.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\ncontent-length: 112\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"69f98b72-70\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:20:00\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 161c2e429ab35b4458b79b7a22b90b6e\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":112,"size_decoded":911,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"ca07c1961f9b98a2b190f872aebba5c1","sha1":"9e765a84de461cb72d1dda1a992eb168a347762a","sha256":"a73e581e82580c634a0afa42bd7a8ada31e093c3eb60aa347c906aae841b3aeb","sha512":"a67762b341ac2d78faa332f26b523a96315b5af223ab2412020c2f5ddb5da9672e687275ff53b962f79998a9e3156f990109016fd3d54e511ff855544a441857","ssdeep":"","tlshash":"1cb092222060fc24386b140875a10eb268b822e5282684eebb2518442026a680900f8c","first_seen":"2026-05-05T10:36:04.862254Z","last_seen":"2026-07-27T06:01:16.335674Z","times_seen":693,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s5NDk0N10sezM5NDk0NyhlKXtlLmV4cG9ydHM9WyJNb3JlIl19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/42288.47ecaeca1012ee3e1d8c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.503Z","timestamp":1785120634503,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/42288.47ecaeca1012ee3e1d8c.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-4efd\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:41\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a443447270eb143479bffbbc55c4d532\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":20221,"size_decoded":8618,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3070)","md5":"146c86b697d57edadedb79e577a2b819","sha1":"fac3ccefeac950dd75b09bf983e4db643acb17cf","sha256":"e7c1e85bb4c79e48526d268113263cbed1b8dc51caa0f7ece95022ce45c6426a","sha512":"0c8f76ba43c26ac96ac8ce77228656bc32000075828146c8e3f5f6c8d83aa1124958db4a287753456a136751fe65d9fc935c7e8efead69cb7bc5587e6f54cd75","ssdeep":"384:IPLZpvbUA+tmPj2DF4ciyLHBoIUEDHfKXqEVKtwAqXrNc2G/p5RuePAU32wDP7Fb:IT78mPj0FHLHevUfKa+EwBxnJePTr6Y","tlshash":"a29219c260053875dddf6eef405b45ade33e243538055499b238adec02a9a5873a7f2f","first_seen":"2026-07-22T11:33:41.962494Z","last_seen":"2026-07-27T05:19:37.105418Z","times_seen":82,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0MjI4OF0sezIwMjA0MShlKXtlLmV4cG9ydHM9e2hpZGRlbjoiaGlkZGVuLW5NdHhYVFhfIixmYWRlSW5XcmFwcGVyOiJmYWRlSW5XcmFwcGVyLW5NdHhYVFhfIixpc0FuaW1hdGVkOiJpc0FuaW1hdGVkLW5NdHhYVFhfIn19LDU2NzI2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZUZhZGVJbkNvbnRleHQ6KCk9PnJ9KTt2YXIgaT1uKDc3OTQ3NCk7big5MTQ0ODcpLG4oMjAyMDQxKTtjb25zdCBvPWkuY3JlYXRlQ29udGV4dCh7Y2hpbGRyZW46e30sc2V0SXNSZWFkeTooKT0+e319KTtmdW5jdGlvbiByKCl7Y29uc3R7c2V0SXNSZWFkeTplLGNoaWxkcmVuOnR9PSgwLGkudXNlQ29udGV4dCkobyksbj0oMCxpLnVzZVJlZikoKDAsaS51c2VJZCkoKSk7dFtuLmN1cnJlbnRdfHwodFtuLmN1cnJlbnRdPXtpc1JlYWR5OiExfSk7cmV0dXJuKDAsaS51c2VDYWxsYmFjaykoKCgpPT57dFtuLmN1cnJlbnRdLmlzUmVhZHk9ITAsZShPYmplY3QudmFsdWVzKHQpLmV2ZXJ5KChlPT5lLmlzUmVhZHkpKSl9KSxbdCxlXSl9fSwxODM1NzIoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgaTtuLmQodCx7Q29sbGFwc2VEaXJlY3Rpb246KCk9Pml9KSxmdW5jdGlvbihlKXtlLlN0YXJ0Rmlyc3Q9InN0YXJ0LWZpcnN0IixlLkVuZEZpcnN0PSJlbmQtZmlyc3QifShpfHwoaT17fSkpfSwxMzc2NjkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlQ29sbGFwc2libGVDb21tb246KCk9PmN9KTt2YXIgaT1uKDc3OTQ3NCksbz1uKDcxOTQyNSkscj1uKDMxNDcyMCkscz1uKDk5MTA5MSksbD1uKDYxNjMxMSksYT1uKDk2NDU5NCk7ZnVuY3Rpb24gYyhlKXtjb25zdHtpdGVtc0xpc3Q6dCxnZXRJdGVtSWQ6bixjYWxjVmlzaWJsZUFuZEhpZGRlbkl0ZW1zOmMsc2hvdWxkS2VlcEl0ZW1WaXNpYmxlOmQsb25NZWFzdXJlQ2FsbGJhY2s6Zixmb3JjZVVwZGF0ZTpiPSExfT1lLFtoLG1dPSgwLHMudXNlUmVmc01hcCkoKSxwPSgwLGkudXNlUmVmKShudWxsKSx2PSgwLGkudXNlUmVmKSh7d2lkdGhzTWFwOm5ldyBNYXAsY29udGFpbmVyV2lkdGg6MCxtb3JlQnV0dG9uV2lkdGg6MH0pLFtnLEldPSgwLGkudXNlU3RhdGUpKHt2aXNpYmxlOnQsaGlkZGVuOltdfSksQz0oMCxpLnVzZU1lbW8pKCgoKT0+dC5yZWR1Y2UoKChlLHQsbik9PihkKHQpJiZlLnB1c2gobiksZSkpLFtdKSksW3QsZF0pLFI9KDAsaS51c2VDYWxsYmFjaykoKCgpPT57aWYodi5jdXJyZW50LmNvbnRhaW5lcldpZHRoKXtjb25zdCBlPWModi5jdXJyZW50LEMpOyhmdW5jdGlvbihlLHQpe3JldHVybiF1KGUudmlzaWJsZSx0LnZpc2libGUpfHwhdShlLmhpZGRlbix0LmhpZGRlbil9KShnLGUpJiZJKGUpfX0pLFt2LEksZyxDLGNdKSxTPSgwLGkudXNlQ2FsbGJhY2spKCgoKT0+e3YuY3VycmVudC5tb3JlQnV0dG9uV2lkdGg9cC5jdXJyZW50PygwLHIub3V0ZXJXaWR0aCkocC5jdXJyZW50LCEwKTowO2NvbnN0IGU9bmV3IE1hcCh2LmN1cnJlbnQud2lkdGhzTWFwKTtmb3IoY29uc3QgaSBvZiB0KXtjb25zdCB0PW4oaSksbz1oLmN1cnJlbnQuZ2V0KHQpO2lmKG8pe2NvbnN0IG49KDAsci5vdXRlcldpZHRoKShvLCEwKTtlLnNldCh0LG4pfX12LmN1cnJlbnQud2lkdGhzTWFwPWUsZiYmZigpfSksW3YsdCxuLGgsZl0pLGs9KDAsaS51c2VSZWYpKG51bGwpLHk9KDAsaS51c2VDYWxsYmFjaykoKChbZV0pPT57ZS5jb250ZW50UmVjdC53aWR0aCE9PXYuY3VycmVudC5jb250YWluZXJXaWR0aCYmKGsuY3VycmVudCYmY2FuY2VsQW5pbWF0aW9uRnJhbWUoay5jdXJyZW50KSx2LmN1cnJlbnQuY29udGFpbmVyV2lkdGg9ZS5jb250ZW50UmVjdC53aWR0aCxrLmN1cnJlbnQ9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e1IoKX0pKSl9KSxbdixSXSksTT0oMCxpLnVzZVJlZikobnVsbCksSD0oMCxpLnVzZUNhbGxiYWNrKSgoKFtlXSk9PntNLmN1cnJlbnQmJmNhbmNlbEFuaW1hdGlvbkZyYW1lKE0uY3VycmVudCksUygpLE0uY3VycmVudD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT57UigpfSkpfSksW1MsUl0pLEE9KDAsby51c2VSZXNpemVPYnNlcnZlcikoSCksdz0oMCxvLnVzZVJlc2l6ZU9ic2VydmVyKSh5KSxUPSgwLGkudXNlUmVmKShudWxsKSxFPSgwLGEubWVyZ2VSZWZzKShbdyxUXSkseD0oMCxpLnVzZVJlZikodCksej0oMCxpLnVzZVJlZikoITApLEI9KDAsaS51c2VSZWYpKFtdKTtyZXR1cm4oMCxsLnVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QpKCgoKT0+e2NvbnN0IGU9di5jdXJyZW50LndpZHRoc01hcC5zaXplPT09dC5sZW5ndGg7IWImJiF6LmN1cnJlbnQmJnUoeC5jdXJyZW50LHQpJiZ1KEIuY3VycmVudCxDKSYmZXx8KFMoKSxSKCksei5jdXJyZW50PSExLHguY3VycmVudD10LEIuY3VycmVudD1DKX0pLFt0LEMsYixTLFJdKSx7Y29udGFpbmVyUmVmQ2FsbGJhY2s6RSxtb3JlQnV0dG9uUmVmOnAsaW5uZXJDb250YWluZXJSZWZDYWxsYmFjazpBLGl0ZW1zUmVmczpoLHNldEl0ZW1SZWY6bSxoaWRkZW5JdGVtczpnLmhpZGRlbix2aXNpYmxlSXRlbXM6Zy52aXNpYmxlLGl0ZW1zTWVhc3VyZW1lbnRzOnZ9fWZ1bmN0aW9uIHUoZSx0KXtyZXR1cm4gZS5sZW5ndGg9PT10Lmxlbmd0aCYmZS5yZWR1Y2UoKChlLG4saSk9PmUmJm49PT10W2ldKSwhMCl9fSw4NjgzMzkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlQ29sbGFwc2libGU6KCk9PnN9KTt2YXIgaT1uKDc3OTQ3NCksbz1uKDE4MzU3Mikscj1uKDEzNzY2OSk7ZnVuY3Rpb24gcyhlLHQsbixzPW8uQ29sbGFwc2VEaXJlY3Rpb24uRW5kRmlyc3Qpe2NvbnN0IGw9KDAsaS51c2VDYWxsYmFjaykoKChuLGkpPT57Y29uc3Qgcj1lLm1hcCgoZT0+bi53aWR0aHNNYXAuZ2V0KHQoZSkpPz8wKSk7cmV0dXJuIGZ1bmN0aW9uKHtpdGVtczplLGNvbnRhaW5lcldpZHRoOnQsZWxlbWVudHNXaWR0aHM6bixtZW51SXRlbVdpZHRoOmksa2VlcFZpc2libGU6cixkaXJlY3Rpb246c30pe2NvbnN0IGw9Wy4uLmVdLGE9W10sYz1bXTtsZXQgdT0wO2Zvcihjb25zdCBlIG9mIG4pdSs9ZQo7aWYodTw9dClyZXR1cm57dmlzaWJsZTpsLGhpZGRlbjpjfTtjb25zdCBkPVsuLi5uXTtpZih1PXIubWFwKChlPT5kW2VdKSkucmVkdWNlKCgoZSx0KT0+ZSt0KSwwKStpLHM9PT1vLkNvbGxhcHNlRGlyZWN0aW9uLkVuZEZpcnN0KWZvcihsZXQgZT0wO2U8bC5sZW5ndGg7ZSsrKXIuaW5jbHVkZXMoZSk/YS5wdXNoKGxbZV0pOih1Kz1kW2VdLHU8PXQ/YS5wdXNoKGxbZV0pOmMucHVzaChsW2VdKSk7ZWxzZSBmb3IobGV0IGU9bC5sZW5ndGgtMTtlPj0wO2UtLSlyLmluY2x1ZGVzKGUpP2EudW5zaGlmdChsW2VdKToodSs9ZFtlXSx1PD10P2EudW5zaGlmdChsW2VdKTpjLnVuc2hpZnQobFtlXSkpO3JldHVybnt2aXNpYmxlOmEsaGlkZGVuOmN9fSh7aXRlbXM6ZSxjb250YWluZXJXaWR0aDpuLmNvbnRhaW5lcldpZHRoLGVsZW1lbnRzV2lkdGhzOnIsbWVudUl0ZW1XaWR0aDpuLm1vcmVCdXR0b25XaWR0aCxrZWVwVmlzaWJsZTppLGRpcmVjdGlvbjpzfSl9KSxbZV0pO3JldHVybigwLHIudXNlQ29sbGFwc2libGVDb21tb24pKHtpdGVtc0xpc3Q6ZSxnZXRJdGVtSWQ6dCxjYWxjVmlzaWJsZUFuZEhpZGRlbkl0ZW1zOmwsc2hvdWxkS2VlcEl0ZW1WaXNpYmxlOm59KX19LDQ1NjQ4NyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VEaXNjbG9zdXJlOigpPT5jfSk7dmFyIGk9big3Nzk0NzQpLG89bigxMzg2MzgpLHI9big3MjEzNjkpLHM9bigxNDU5ODQpLGw9big4MzM5MDMpLGE9big0MTkxODEpO2Z1bmN0aW9uIGMoZSl7Y29uc3R7aWQ6dCxsaXN0Ym94SWQ6bixkaXNhYmxlZDpjLGJ1dHRvblRhYkluZGV4OnU9MCxvbkZvY3VzOmQsb25CbHVyOmYsb25DbGljazpifT1lLFtoLG1dPSgwLGkudXNlU3RhdGUpKCExKSxbcCx2XT0oMCxzLnVzZUZvY3VzKSgpLGc9cHx8aCxJPW4/P3ZvaWQgMCE9PXQ/KDAsYS5jcmVhdGVEb21JZCkodCwibGlzdGJveCIpOnZvaWQgMCxDPSgwLGkudXNlUmVmKShudWxsKSxSPSgwLGkudXNlQ2FsbGJhY2spKChlPT5DLmN1cnJlbnQ/LmZvY3VzKGUpKSxbQ10pLFM9KDAsaS51c2VSZWYpKG51bGwpLGs9KDAsaS51c2VDYWxsYmFjaykoKCgpPT4oMCxvLmVuc3VyZU5vdE51bGwpKFMuY3VycmVudCkuZm9jdXMoKSksW1NdKSx5PSgwLGkudXNlQ2FsbGJhY2spKCgoKT0+bSghMCkpLFttXSksTT0oMCxpLnVzZUNhbGxiYWNrKSgoKGU9ITEsdD0hMSk9PnttKCExKTtjb25zdHthY3RpdmVFbGVtZW50Om59PWRvY3VtZW50O24mJigwLHIuaXNUZXh0RWRpdGluZ0ZpZWxkKShuKXx8dHx8Uih7cHJldmVudFNjcm9sbDplfSl9KSxbbSxSXSksSD0oMCxpLnVzZUNhbGxiYWNrKSgoKCk9PntoP00oKTp5KCl9KSxbaCxNLHldKSxBPWM/W106W2Qsdi5vbkZvY3VzXSx3PWM/W106W2Ysdi5vbkJsdXJdLFQ9Yz9bXTpbYixIXSxFPSgwLGwuY3JlYXRlU2FmZU11bHRpY2FzdEV2ZW50SGFuZGxlcikoLi4uQSkseD0oMCxsLmNyZWF0ZVNhZmVNdWx0aWNhc3RFdmVudEhhbmRsZXIpKC4uLncpLHo9KDAsbC5jcmVhdGVTYWZlTXVsdGljYXN0RXZlbnRIYW5kbGVyKSguLi5UKTtyZXR1cm57bGlzdGJveElkOkksaXNPcGVuZWQ6aCxpc0ZvY3VzZWQ6ZyxidXR0b25UYWJJbmRleDpjPy0xOnUsbGlzdGJveFRhYkluZGV4Oi0xLG9wZW46eSxjbG9zZTpNLHRvZ2dsZTpILG9uT3BlbjprLGJ1dHRvbkZvY3VzQmluZGluZ3M6e29uRm9jdXM6RSxvbkJsdXI6eH0sb25CdXR0b25DbGljazp6LGJ1dHRvblJlZjpDLGxpc3Rib3hSZWY6UyxidXR0b25BcmlhOnsiYXJpYS1jb250cm9scyI6aD9JOnZvaWQgMCwiYXJpYS1leHBhbmRlZCI6aCwiYXJpYS1kaXNhYmxlZCI6Y319fX0sNzA4MjA3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZUl0ZW1zS2V5Ym9hcmROYXZpZ2F0aW9uOigpPT5sfSk7dmFyIGksbz1uKDc3OTQ3NCkscj1uKDc2MzU0OSk7ZnVuY3Rpb24gcyhlLHQpe3JldHVybiBlPj0wP2UldDoodC1NYXRoLmFicyhlKSV0KSV0fSFmdW5jdGlvbihlKXtlLk5leHQ9Im5leHQiLGUuUHJldmlvdXM9InByZXZpb3VzIixlLkZpcnN0PSJmaXJzdCIsZS5MYXN0PSJsYXN0In0oaXx8KGk9e30pKTtmdW5jdGlvbiBsKGUsdCxuLGksbCxhLGM9e30sdSxkKXtjb25zdCBmPSgwLG8udXNlQ2FsbGJhY2spKChlPT57Y29uc3QgdD1uLmZpbmRJbmRleChpKTtpZih0PT09bi5sZW5ndGgtMSYmIWEpcmV0dXJuIHZvaWQodT8ub25GYWlsTmV4dCYmdS5vbkZhaWxOZXh0KGUpKTtjb25zdCBvPXModCsxLG4ubGVuZ3RoKTtsJiZsKG5bb10sIm5leHQiKX0pLFtuLGksbCxhXSksYj0oMCxvLnVzZUNhbGxiYWNrKSgoZT0+e2NvbnN0IHQ9bi5maW5kSW5kZXgoaSk7aWYoMD09PXQmJiFhKXJldHVybiB2b2lkKHU/Lm9uRmFpbFByZXYmJnUub25GYWlsUHJldihlKSk7Y29uc3Qgbz1zKHQtMSxuLmxlbmd0aCk7bCYmbChuW29dLCJwcmV2aW91cyIpfSksW24saSxsLGFdKSxoPSgwLG8udXNlQ2FsbGJhY2spKCgoKT0+e2wmJmwoblswXSwiZmlyc3QiKX0pLFtsLG5dKSxtPSgwLG8udXNlQ2FsbGJhY2spKCgoKT0+e2wmJmwobltuLmxlbmd0aC0xXSwibGFzdCIpfSksW2wsbl0pLHA9KDAsby51c2VNZW1vKSgoKCk9PihlPT4oe25leHQ6WzQwLCgpPT5lKCk/Mzc6MzldLHByZXZpb3VzOlszOCwoKT0+ZSgpPzM5OjM3XSxmaXJzdDpbMzMsKCk9PmUoKT8zNTozNl0sbGFzdDpbMzQsKCk9PmUoKT8zNjozNV19KSkodCkpLFt0XSkse25leHQ6dj1wLm5leHQscHJldmlvdXM6Zz1wLnByZXZpb3VzLGZpcnN0Okk9cC5maXJzdCxsYXN0OkM9cC5sYXN0fT1jO3JldHVybigwLHIudXNlQ29tcG9zZWRLZXlib2FyZEFjdGlvbkhhbmRsZXJzKSgoMCxyLnVzZUtleWJvYXJkQWN0aW9uSGFuZGxlcikodixmLGQ/Lm5leHQ/PygoKT0+ITApLGUpLCgwLHIudXNlS2V5Ym9hcmRBY3Rpb25IYW5kbGVyKShnLGIsZD8ucHJldmlvdXM/PygoKT0+ITApLGUpLCgwLHIudXNlS2V5Ym9hcmRBY3Rpb25IYW5kbGVyKShJLGgsKCgpPT4hMCksZSksKDAsci51c2VLZXlib2FyZEFjdGlvbkhhbmRsZXIpKEMsbSwoKCk9PiEwKSxlKSl9fSw2NjI3NjEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlS2VlcEFjdGl2ZUl0ZW1JbnRvVmlldzooKT0+c30pCjt2YXIgaT1uKDc3OTQ3NCksbz1uKDEzODYzOCkscj1uKDk5MzgzOSk7ZnVuY3Rpb24gcyhlPXt9KXtjb25zdHthY3RpdmVJdGVtOnQsZ2V0S2V5Om4sLi4uc309ZSxsPSgwLGkudXNlUmVmKShudWxsKSxhPSgwLGkudXNlUmVmKShuZXcgTWFwKSxjPSgwLHIudXNlU2Nyb2xsSW50b1ZpZXdIZWxwZXIpKGwuY3VycmVudCksdT0oMCxpLnVzZUNhbGxiYWNrKSgoKCk9PntudWxsIT09Yy5jdXJyZW50JiZudWxsIT09bC5jdXJyZW50JiZjLmN1cnJlbnQuZ2V0Q29udGFpbmVyKCkhPT1sLmN1cnJlbnQmJmMuY3VycmVudC5zZXRDb250YWluZXIobC5jdXJyZW50KX0pLFtjLGxdKSxkPSgwLGkudXNlQ2FsbGJhY2spKChlPT57bC5jdXJyZW50PWV9KSxbbF0pLGY9KDAsaS51c2VDYWxsYmFjaykoKChlLHQpPT57Y29uc3QgaT1uP24oZSk6ZTt0P2EuY3VycmVudC5zZXQoaSx0KTphLmN1cnJlbnQuZGVsZXRlKGkpfSksW2Esbl0pLGI9KDAsaS51c2VDYWxsYmFjaykoKChlLHQpPT57aWYoIWUpcmV0dXJuO2NvbnN0IGk9bj9uKGUpOmUscj1hLmN1cnJlbnQuZ2V0KGkpO3ImJih1KCksKDAsby5lbnN1cmVOb3ROdWxsKShjLmN1cnJlbnQpLnNjcm9sbFRvKHIsdCkpfSksW2EsYyxuXSk7cmV0dXJuKDAsaS51c2VFZmZlY3QpKCgoKT0+Yih0LHMpKSxbYix0XSksW2QsZixiXX19LDQxODM4NihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VNb2JpbGVUb3VjaFN0YXRlOigpPT5yfSk7dmFyIGk9big3Nzk0NzQpLG89big3Mzg0NTgpO2Z1bmN0aW9uIHIoKXtjb25zdFtlLHRdPSgwLGkudXNlU3RhdGUpKCExKTtyZXR1cm4oMCxpLnVzZUVmZmVjdCkoKCgpPT57dChvLm1vYmlsZXRvdWNoKX0pLFtdKSxlfX0sNTg2MjIzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVByZXZpb3VzOigpPT5vfSk7dmFyIGk9big3Nzk0NzQpO2Z1bmN0aW9uIG8oZSl7Y29uc3QgdD0oMCxpLnVzZVJlZikobnVsbCk7cmV0dXJuKDAsaS51c2VFZmZlY3QpKCgoKT0+e3QuY3VycmVudD1lfSksW2VdKSx0LmN1cnJlbnR9fSw5OTEwOTEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlUmVmc01hcDooKT0+b30pO3ZhciBpPW4oNzc5NDc0KTtmdW5jdGlvbiBvKCl7Y29uc3QgZT0oMCxpLnVzZVJlZikobmV3IE1hcCksdD0oMCxpLnVzZUNhbGxiYWNrKSgodD0+bj0+e251bGwhPT1uP2UuY3VycmVudC5zZXQodCxuKTplLmN1cnJlbnQuZGVsZXRlKHQpfSksW2VdKTtyZXR1cm5bZSx0XX19LDk5MzgzOShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VTY3JvbGxJbnRvVmlld0hlbHBlcjooKT0+c30pO3ZhciBpPW4oNzc5NDc0KSxvPW4oMTM4NjM4KSxyPW4oODY2NzQzKTtmdW5jdGlvbiBzKGUpe2NvbnN0IHQ9KDAsaS51c2VSZWYpKG51bGwpO3JldHVybigwLGkudXNlRWZmZWN0KSgoKCk9Pih0LmN1cnJlbnQ9bmV3IHIuU2Nyb2xsSW50b1ZpZXdIZWxwZXIoZSksKCk9PigwLG8uZW5zdXJlTm90TnVsbCkodC5jdXJyZW50KS5kZXN0cm95KCkpKSxbXSksdH19LDU5MTU3MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VUYWJzS2V5Ym9hcmROYXZpZ2F0aW9uOigpPT5jfSk7dmFyIGk9big3Nzk0NzQpLG89bigxMzg2MzgpLHI9big3NjM1NDkpLHM9big3MDgyMDcpO2Z1bmN0aW9uIGwoKXtyZXR1cm4hMX1mdW5jdGlvbiBhKGUsdCl7cmV0dXJue25leHQ6KCk9PnQhPT1lLmxlbmd0aC0xLHByZXZpb3VzOigpPT4wIT09dH19ZnVuY3Rpb24gYyhlKXtjb25zdHthY3RpdmF0aW9uVHlwZTp0PSJtYW51YWwifT1lLG49KDAsaS51c2VNZW1vKSgoKCk9PnQpLFtdKTtyZXR1cm4oMCxvLmFzc2VydCkodD09PW4sIkFjdGl2YXRpb24gdHlwZSBtdXN0IGJlIGludmFyaWFudC4iKSwiYXV0b21hdGljIj09PXQ/ZnVuY3Rpb24oZSl7Y29uc3R7aXNSdGw6dCxpdGVtczpuLHByZXZlbnREZWZhdWx0SWZIYW5kbGVkOm89ITAsc3RvcFByb3BhZ2F0aW9uSWZIYW5kbGVkOmM9ITEsbG9vcDp1PSEwLGlzSGlnaGxpZ2h0ZWQ6ZCxvbkhpZ2hsaWdodDpmLG9uQWN0aXZhdGU6Yixpc0NvbGxhcHNlZDpoPWwsb3JpZW50YXRpb246bX09ZSxwPSgwLGkudXNlQ2FsbGJhY2spKChlPT57ZihlKSxoKGUpfHxiKGUpfSksW2YsYixoXSksdj0hdSYmYz9hKG4sbi5maW5kSW5kZXgoZCkpOnZvaWQgMDtyZXR1cm4oMCxyLnVzZUtleWJvYXJkRXZlbnRIYW5kbGVyKShbKDAscy51c2VJdGVtc0tleWJvYXJkTmF2aWdhdGlvbikobSx0LG4sZCxwLHUse30sdm9pZCAwLHYpXSxvLGMpfShlKTpmdW5jdGlvbihlKXtjb25zdHtpc1J0bDp0LGl0ZW1zOm4scHJldmVudERlZmF1bHRJZkhhbmRsZWQ6bz0hMCxzdG9wUHJvcGFnYXRpb25JZkhhbmRsZWQ6bD0hMSxsb29wOmM9ITAsaXNIaWdobGlnaHRlZDp1LG9uSGlnaGxpZ2h0OmQsb25BY3RpdmF0ZTpmLG9yaWVudGF0aW9uOmJ9PWUsaD1uLmZpbmRJbmRleCh1KSxtPW5baF0scD0oMCxpLnVzZUNhbGxiYWNrKSgoKCk9Pnt2b2lkIDAhPT1tJiZmKG0pfSksW20sZl0pLHY9IWMmJmw/YShuLGgpOnZvaWQgMCxnPSgwLGkudXNlQ2FsbGJhY2spKChlPT5kKGUpKSxbZF0pLEk9KDAscy51c2VJdGVtc0tleWJvYXJkTmF2aWdhdGlvbikoYix0LG4sdSxnLGMse30sdm9pZCAwLHYpLEM9KDAsci51c2VLZXlib2FyZEFjdGlvbkhhbmRsZXIpKFsxMywzMl0scCk7cmV0dXJuKDAsci51c2VLZXlib2FyZEV2ZW50SGFuZGxlcikoW0ksQ10sbyxsKX0oZSl9fSw0NTQxNzQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlVGFiczooKT0+ZH0pO3ZhciBpPW4oNzc5NDc0KTtmdW5jdGlvbiBvKGUsdD0iaG9yaXpvbnRhbCIsbixpLG8scil7cmV0dXJue2lkOmUscm9sZTpyPyJyYWRpb2dyb3VwIjoidGFibGlzdCIsImFyaWEtb3JpZW50YXRpb24iOnQsImFyaWEtbGFiZWwiOm8sImFyaWEtbGFiZWxsZWRieSI6aSwiYXJpYS1kaXNhYmxlZCI6bn19ZnVuY3Rpb24gcihlLHQsbixpLG8scixzLGwpe3JldHVybntpZDplLHJvbGU6cj8icmFkaW8iOiJ0YWIiLHRhYkluZGV4OnQ/bD8udGFiSW5kZXg/PzA6LTEsZGlzYWJsZWQ6bywiYXJpYS1zZWxlY3RlZCI6cj92b2lkIDA6biwiYXJpYS1jaGVja2VkIjpyP246dm9pZCAwLAoiYXJpYS1jb250cm9scyI6aSwiYXJpYS1kaXNhYmxlZCI6bywiYXJpYS1sYWJlbCI6cywiZGF0YS1mb2N1cy1tYW5hZ2VyIjp2b2lkIDAhPT1sP2xbImRhdGEtZm9jdXMtbWFuYWdlciJdOnZvaWQgMH19dmFyIHM9big4MzM5MDMpLGw9bigxNDU5ODQpLGE9big2NjI3NjEpLGM9big1OTE1NzIpLHU9big0MTgzODYpO2Z1bmN0aW9uIGQoZSl7Y29uc3R7aWQ6dCxpdGVtczpuLG9yaWVudGF0aW9uOmQsYWN0aXZhdGlvblR5cGU6Zj0ibWFudWFsIixkaXNhYmxlZDpiLHRhYmxpc3RMYWJlbElkOmgsdGFibGlzdExhYmVsOm0sZm9jdXNPbkhpZ2hsaWdodDpwPSEwLHByZXZlbnREZWZhdWx0SWZLZXlib2FyZEFjdGlvbkhhbmRsZWQ6dj0hMCxzdG9wUHJvcGFnYXRpb25JZktleWJvYXJkQWN0aW9uSGFuZGxlZDpnPSExLGtleWJvYXJkTmF2aWdhdGlvbkxvb3A6ST0hMCxzY3JvbGxJbnRvVmlld09wdGlvbnM6Qyxpc0FjdGl2ZTpSLG9uQWN0aXZhdGU6Uyxpc0NvbGxhcHNlZDprLGlzUnRsOnksaXNEaXNjbG9zdXJlT3BlbmVkOk0saXNSYWRpb0dyb3VwOkgsZGVmYXVsdEtleWJvYXJkRm9jdXM6QSxmb2N1c2FibGVJdGVtQXR0cmlidXRlczp3PXt9fT1lLFQ9KDAsdS51c2VNb2JpbGVUb3VjaFN0YXRlKSgpLEU9TT9udWxsOmR8fCJob3Jpem9udGFsIix4PSgwLGkudXNlUmVmKShlLml0ZW1zUmVmcz8uY3VycmVudD8/bmV3IE1hcCksW3osQl09KDAsaS51c2VTdGF0ZSkoKSxbXyxGXT0oMCxsLnVzZUZvY3VzKSgpLEs9bi5maW5kKFIpLFc9KDAsaS51c2VDYWxsYmFjaykoKGU9PmUuaWQ9PT16Py5pZCksW3pdKSxWPSgwLGkudXNlQ2FsbGJhY2spKChlPT57Y29uc3QgdD14LmN1cnJlbnQuZ2V0KGUuaWQpO3AmJnZvaWQgMCE9PXQmJnQhPT1kb2N1bWVudC5hY3RpdmVFbGVtZW50JiZ0LmZvY3VzKCl9KSxbcF0pLEQ9KDAsaS51c2VSZWYpKCksTz0oMCxpLnVzZUNhbGxiYWNrKSgoKGUsdCk9PntCKGUpLCJudW1iZXIiPT10eXBlb2YgdD8oY2xlYXJUaW1lb3V0KEQuY3VycmVudCksRC5jdXJyZW50PXNldFRpbWVvdXQoKCgpPT5WKGUpKSx0KSk6VihlKX0pLFtCLFZdKSxOPSgwLGkudXNlQ2FsbGJhY2spKChlPT57Ynx8ZS5kaXNhYmxlZHx8KFMoZSksVyhlKXx8TyhlKSl9KSxbYixTLFcsT10pLEw9KDAsYy51c2VUYWJzS2V5Ym9hcmROYXZpZ2F0aW9uKSh7aXNSdGw6eSxpdGVtczpuLGFjdGl2YXRpb25UeXBlOmYscHJldmVudERlZmF1bHRJZkhhbmRsZWQ6dixzdG9wUHJvcGFnYXRpb25JZkhhbmRsZWQ6Zyxsb29wOkksb25BY3RpdmF0ZTpOLGlzSGlnaGxpZ2h0ZWQ6VyxvbkhpZ2hsaWdodDpPLGlzQ29sbGFwc2VkOmssb3JpZW50YXRpb246RX0pOygwLGkudXNlRWZmZWN0KSgoKCk9PntUfHx2b2lkIDAhPT1LJiZCKEspfSksW0ssVF0pLCgwLGkudXNlRWZmZWN0KSgoKCk9PntffHxCKHZvaWQgMCl9KSxbX10pLCgwLGkudXNlRWZmZWN0KSgoKCk9PigpPT5jbGVhclRpbWVvdXQoRC5jdXJyZW50KSksW10pO2NvbnN0IFA9Qz8uYWRkaXRpb25hbFNjcm9sbD8/MCxbcSxYXT0oMCxhLnVzZUtlZXBBY3RpdmVJdGVtSW50b1ZpZXcpKHsuLi5DLHZpc2liaWxpdHlEZXRlY3Rpb25PZmZzZXRJbmxpbmU6UCsyNCxzbmFwVG9NaWRkbGU6ITAsYWN0aXZlSXRlbTp6Pz9LLGdldEtleTooMCxpLnVzZUNhbGxiYWNrKSgoZT0+ZS5pZCksW10pfSksVT0oMCxpLnVzZUNhbGxiYWNrKSgoKGUsdCk9PntudWxsIT09dD94LmN1cnJlbnQuc2V0KGUuaWQsdCk6eC5jdXJyZW50LmRlbGV0ZShlLmlkKSxYKGUsdCl9KSxbWF0pLHtmaXJzdEVkZ2VJdGVtSW5kZXg6RyxsYXN0RWRnZUl0ZW1JbmRleDpqfT1mdW5jdGlvbihlLHQpe2xldCBuLGk7Zm9yKGxldCBvPTA7bzxlLmxlbmd0aDtvKyspe2NvbnN0IHI9ZS5sZW5ndGgtKG8rMSkscz12b2lkIDAhPT10JiZ0KGVbcl0pO2lmKCFlW29dLmRpc2FibGVkJiZ2b2lkIDA9PT1uJiYobj1vKSwhZVtyXS5kaXNhYmxlZCYmIXMmJnZvaWQgMD09PWkmJihpPXIpLHZvaWQgMCE9PW4mJnZvaWQgMCE9PWkpYnJlYWt9cmV0dXJue2ZpcnN0RWRnZUl0ZW1JbmRleDpuLGxhc3RFZGdlSXRlbUluZGV4Oml9fShuLGspO3JldHVybnt0YWJzQmluZGluZ3M6bi5tYXAoKChlLHQpPT57Y29uc3Qgbj1XKGUpLGk9UihlKSxvPWUuZGlzYWJsZWQ/P2I/PyExLHM9MT09PUE/Xz9uOnQ9PT1HfHx0PT09ajpfP246aTtyZXR1cm57Li4ucihlLmlkLHMsaSxlLnRhYnBhbmVsSWQsbyxILGVbImFyaWEtbGFiZWwiXSx3KSxoaWdobGlnaHRlZDpuLGFjdGl2ZTppLGhhbmRsZUl0ZW1SZWY6VX19KSksdGFibGlzdEJpbmRpbmc6ey4uLm8odCxkLGIsaCxtLEgpLG9uQmx1cjpGLm9uQmx1cixvbkZvY3VzOigwLHMuY3JlYXRlU2FmZU11bHRpY2FzdEV2ZW50SGFuZGxlcikoRi5vbkZvY3VzLChlPT57bGV0IHQ9bnVsbDtmb3IoY29uc3RbaSxvXW9mIHguY3VycmVudC5lbnRyaWVzKCkpaWYoZS50YXJnZXQ9PT1vKXt0PW4uZmluZCgoZT0+ZS5pZD09PWkpKT8/bnVsbDticmVha310JiYhVyh0KSYmKCJhdXRvbWF0aWMiPT09ZiYmayYmIWsodCk/Tih0KTpPKHQpKX0pKSxvbktleURvd246TH0sc2Nyb2xsV3JhcEJpbmRpbmc6e3JlZjpxfSxvbkFjdGl2YXRlOk4sb25IaWdobGlnaHQ6Tyxpc0hpZ2hsaWdodGVkOld9fX0sODQ2ODU4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVRhYnNNYWluSGFuZGxlcnM6KCk9Pmd9KTt2YXIgaT1uKDc3OTQ3NCksbz1uKDgzMzkwMykscj1uKDQxODM4Nikscz1uKDgwOTQzNiksbD1uKDcxNzkzMik7dmFyIGE9big4NjgzMzkpLGM9big0NTQxNzQpLHU9big0NTY0ODcpLGQ9bigzMTk2OSksZj1uKDc2MzU0OSksYj1uKDU2NzI2KSxoPW4oNTI5NDExKSxtPW4oNzE5NDI1KSxwPW4oNTg2MjIzKTt2YXIgdj1uKDM5NjQzMSk7ZnVuY3Rpb24gZyhlLHQsbil7CmNvbnN0e2lkOmcsaXRlbXM6SSxhY3RpdmF0aW9uVHlwZTpDLG9yaWVudGF0aW9uOlI9Imhvcml6b250YWwiLGRpc2FibGVkOlMsb25BY3RpdmF0ZTprLGlzQWN0aXZlOnksb3ZlcmZsb3dCZWhhdmlvdXI6TSxlbmFibGVBY3RpdmVTdGF0ZVN0eWxlczpILHRhYmxpc3RMYWJlbElkOkEsdGFibGlzdExhYmVsOncscHJldmVudERlZmF1bHRJZktleWJvYXJkQWN0aW9uSGFuZGxlZDpULHNpemU6RSxzdG9wUHJvcGFnYXRpb25JZktleWJvYXJkQWN0aW9uSGFuZGxlZDp4LGtleWJvYXJkTmF2aWdhdGlvbkxvb3A6eixkZWZhdWx0S2V5Ym9hcmRGb2N1czpCLGZvY3VzYWJsZUl0ZW1BdHRyaWJ1dGVzOl99PXQsRj0oMCxpLnVzZU1lbW8pKCgoKT0+KDAsdi50cmFuc2Zvcm1UYWJzV2l0aENvdW50ZXJzKShJLFMsRSkpLFtJLFMsRV0pLEs9KDAsci51c2VNb2JpbGVUb3VjaFN0YXRlKSgpLFc9ZnVuY3Rpb24oZSl7Y29uc3QgdD0oMCxsLnVzZVNhZmVNYXRjaE1lZGlhKShzWyJtZWRpYS1tZi1waG9uZS1sYW5kc2NhcGUiXSwhMCksbj0oMCxyLnVzZU1vYmlsZVRvdWNoU3RhdGUpKCk7cmV0dXJuIGU/PyhufHwhdD8ic2Nyb2xsIjoiY29sbGFwc2UiKX0oTSksVj0oMCxpLnVzZVJlZikoITEpLEQ9KDAsaS51c2VDYWxsYmFjaykoKGU9PmUuaWQpLFtdKSxPPUg/PyFLLE49KDAsYi51c2VGYWRlSW5Db250ZXh0KSgpLHt2aXNpYmxlSXRlbXM6TCxoaWRkZW5JdGVtczpQLGNvbnRhaW5lclJlZkNhbGxiYWNrOnEsaW5uZXJDb250YWluZXJSZWZDYWxsYmFjazpYLG1vcmVCdXR0b25SZWY6VSxzZXRJdGVtUmVmOkcsaXRlbXNNZWFzdXJlbWVudHM6an09KDAsYS51c2VDb2xsYXBzaWJsZSkoRixELHkpLEo9KDAscC51c2VQcmV2aW91cykoai5jdXJyZW50Py5jb250YWluZXJXaWR0aCk/PzAsUT0oMCxoLnVzZUlzTm9uRmlyc3RSZW5kZXIpKCksWT1qLmN1cnJlbnQ/LmNvbnRhaW5lcldpZHRoPz8wO2xldCBaPSExO2ouY3VycmVudCYmUSYmKFo9ZnVuY3Rpb24oZSx0LG4saSxvKXtpZigiY29sbGFwc2UiIT09aSlyZXR1cm4hMDtjb25zdCByPWZ1bmN0aW9uKGUsdCxuKXtjb25zdCBpPWUuZmlsdGVyKChlPT50LmZpbmQoKHQ9PnQuaWQ9PT1lWzBdKSkpKTtyZXR1cm4gdC5sZW5ndGg+MD9pWzBdWzFdK246MH0oQXJyYXkuZnJvbShlLndpZHRoc01hcC5lbnRyaWVzKCkpLHQsbykscz1lLm1vcmVCdXR0b25XaWR0aD8/MDtsZXQgbD1mdW5jdGlvbihlLHQpe3JldHVybiBlLnJlZHVjZSgoKGUsbik9PmUrKHQuZ2V0KG4uaWQpPz8wKSksMCl9KG4sZS53aWR0aHNNYXApO3JldHVybiBsKz10Lmxlbmd0aD4wP3M6MCxmdW5jdGlvbihlLHQsbixpKXtyZXR1cm4gMCE9PWU/dC1uPGUmJnQtbj5pOm48dH0ocixlLmNvbnRhaW5lcldpZHRoLGwsbyl9KGouY3VycmVudCxQLEwsVyxuLmdhcD8/MCl8fDA9PT1ZKTtjb25zdCAkPSgwLG0udXNlUmVzaXplT2JzZXJ2ZXIpKCgoW2VdKT0+e3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9PntRJiZaJiZlLmNvbnRlbnRSZWN0LndpZHRoPT09SiYmTigpfSkpfSkpLGVlPSJjb2xsYXBzZSI9PT1XP0w6Rix0ZT0oMCxpLnVzZU1lbW8pKCgoKT0+ImNvbGxhcHNlIj09PVc/UDpbXSksW1csUF0pLG5lPSgwLGkudXNlQ2FsbGJhY2spKChlPT50ZS5pbmNsdWRlcyhlKSksW3RlXSkse2lzT3BlbmVkOmllLG9wZW46b2UsY2xvc2U6cmUsb25CdXR0b25DbGljazpzZX09KDAsdS51c2VEaXNjbG9zdXJlKSh7aWQ6ZyxkaXNhYmxlZDpTfSkse3RhYnNCaW5kaW5nczpsZSx0YWJsaXN0QmluZGluZzphZSxzY3JvbGxXcmFwQmluZGluZzpjZSxvbkFjdGl2YXRlOnVlLG9uSGlnaGxpZ2h0OmRlLGlzSGlnaGxpZ2h0ZWQ6ZmV9PSgwLGMudXNlVGFicykoe2lkOmcsaXRlbXM6Wy4uLmVlLC4uLnRlXSxhY3RpdmF0aW9uVHlwZTpDLG9yaWVudGF0aW9uOlIsZGlzYWJsZWQ6Uyx0YWJsaXN0TGFiZWxJZDpBLHRhYmxpc3RMYWJlbDp3LHByZXZlbnREZWZhdWx0SWZLZXlib2FyZEFjdGlvbkhhbmRsZWQ6VCxzY3JvbGxJbnRvVmlld09wdGlvbnM6bi5zY3JvbGxJbnRvVmlld09wdGlvbnMsb25BY3RpdmF0ZTprLGlzQWN0aXZlOnksaXNDb2xsYXBzZWQ6bmUsaXNSdGw6bi5pc1J0bCxpc0Rpc2Nsb3N1cmVPcGVuZWQ6aWUsaXNSYWRpb0dyb3VwOm4uaXNSYWRpb0dyb3VwLHN0b3BQcm9wYWdhdGlvbklmS2V5Ym9hcmRBY3Rpb25IYW5kbGVkOngsa2V5Ym9hcmROYXZpZ2F0aW9uTG9vcDp6LGRlZmF1bHRLZXlib2FyZEZvY3VzOkIsZm9jdXNhYmxlSXRlbUF0dHJpYnV0ZXM6X30pLGJlPXRlLmZpbmQoZmUpLGhlPSgwLGkudXNlQ2FsbGJhY2spKCgoKT0+e2NvbnN0IGU9Ri5maW5kKHkpO2UmJmRlKGUpfSksW2RlLHksRl0pLG1lPSgwLGkudXNlQ2FsbGJhY2spKCgoKT0+e3JlKCksaGUoKSxWLmN1cnJlbnQ9ITB9KSxbcmUsaGVdKSxwZT0oMCxpLnVzZUNhbGxiYWNrKSgoKCk9PntiZSYmKHVlKGJlKSxkZShiZSwyNTApKX0pLFt1ZSxkZSxiZV0pO2NlLnJlZj0oMCxkLnVzZU1lcmdlZFJlZnMpKFskLGNlLnJlZixxXSksYWUucmVmPSgwLGQudXNlTWVyZ2VkUmVmcykoW2FlLnJlZixYXSksYWUub25LZXlEb3duPSgwLG8uY3JlYXRlU2FmZU11bHRpY2FzdEV2ZW50SGFuZGxlcikoKDAsZi51c2VLZXlib2FyZEV2ZW50SGFuZGxlcikoWygwLGYudXNlS2V5Ym9hcmRDbG9zZSkoaWUsbWUpLCgwLGYudXNlS2V5Ym9hcmRBY3Rpb25IYW5kbGVyKShbMTMsMzJdLHBlLCgwLGkudXNlQ2FsbGJhY2spKCgoKT0+Qm9vbGVhbihiZSkpLFtiZV0pKV0sVCksYWUub25LZXlEb3duKTtjb25zdCB2ZT0oMCxpLnVzZUNhbGxiYWNrKSgoZT0+e1YuY3VycmVudD0hMCxzZShlKX0pLFtWLHNlXSksZ2U9KDAsaS51c2VDYWxsYmFjaykoKGU9PntlJiZ1ZShlKX0pLFt1ZV0pO3JldHVybigwLGkudXNlRWZmZWN0KSgoKCk9PntWLmN1cnJlbnQ/Vi5jdXJyZW50PSExOmJlJiYhaWU/b2UoKTohYmUmJmllJiZyZSgpfSksW2JlLGllLG9lLHJlXSkse2VuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOk8sbW9yZUJ1dHRvblJlZjpVLHNldEl0ZW1SZWY6RyxnZXRCaW5kaW5nczplPT5sZS5maW5kKCh0PT50LmlkPT09ZS5pZCkpLGhhbmRsZU1vcmVCdXR0b25DbGljazp2ZSwKaGFuZGxlQ29sbGFwc2VkSXRlbUNsaWNrOmdlLHNjcm9sbFdyYXBCaW5kaW5nOmNlLG92ZXJmbG93QmVoYXZpb3VyOlcsdGFibGlzdEJpbmRpbmc6YWUsdmlzaWJsZVRhYnM6ZWUsaGlkZGVuVGFiczp0ZSxoYW5kbGVBY3RpdmF0ZTp1ZSxpc01vYmlsZVRvdWNoOkssZ2V0SXRlbUlkOkQsaXNEaXNjbG9zdXJlT3BlbmVkOmllLGlzSGlnaGxpZ2h0ZWQ6ZmUsY2xvc2VEaXNjbG9zdXJlOnJlfX19LDM5NjQzMShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtjb3VudGVyU2l6ZUZyb21TcXVhcmVUYWJzU2l6ZTooKT0+cyxnZXRUYWJDb3VudGVyOigpPT5yLHRyYW5zZm9ybVRhYnNXaXRoQ291bnRlcnM6KCk9Pmx9KTt2YXIgaT1uKDc3OTQ3NCksbz1uKDcyMTkxMCk7ZnVuY3Rpb24gcih7Y291bnQ6ZSxjb2xvcjp0PSJkYW5nZXIiLHNpemU6bj0ieHNtYWxsIixkaXNhYmxlZDpyfSl7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChvLkNvdW50ZXIseyJhcmlhLWxhYmVsIjoiVGFiIGNvdW50ZXIiLGNvdW50OmUsc2l6ZTpuLGNvbG9yOnQsYm9yZGVyQ29sb3I6InByaW1hcnkiLGRpc2FibGVkOnJ9KX1mdW5jdGlvbiBzKGUpe3JldHVybnt4c21hbGw6InhzbWFsbCIsc21hbGw6InNtYWxsIixtZWRpdW06Im1lZGl1bSIsbWVkaXVtV2l0aFNtYWxsRm9udDoibWVkaXVtIix4bGFyZ2U6ImxhcmdlIn1bZV19ZnVuY3Rpb24gbChlLHQsbil7cmV0dXJuIGUubWFwKChlPT57Y29uc3QgaT1lLmNvdW50ZXI7cmV0dXJuIGk/ey4uLmUsZW5kVXBwZXJTbG90OnIoe2NvdW50OmkuY291bnQsY29sb3I6aS5jb2xvcixzaXplOnMobiksZGlzYWJsZWQ6dH0pLGNvdW50ZXI6dm9pZCAwfTplfSkpfX0sMjEyMTI1KGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIGksbyxyLHMsbDtuLmQodCx7VGFiTmFtZXM6KCk9Pmx9KSxmdW5jdGlvbihlKXtlW2UuQWN0aXZlPTBdPSJBY3RpdmUiLGVbZS5FZGdlcz0xXT0iRWRnZXMifShpfHwoaT17fSkpLGZ1bmN0aW9uKGUpe2UuSG9yaXpvbnRhbD0iaG9yaXpvbnRhbCIsZS5WZXJ0aWNhbD0idmVydGljYWwifShvfHwobz17fSkpLGZ1bmN0aW9uKGUpe2UuQXV0b21hdGljPSJhdXRvbWF0aWMiLGUuTWFudWFsPSJtYW51YWwifShyfHwocj17fSkpLGZ1bmN0aW9uKGUpe2UuQ29sbGFwc2U9ImNvbGxhcHNlIixlLlNjcm9sbD0ic2Nyb2xsIixlLldyYXA9IndyYXAiLGUuTm9uZT0ibm9uZSJ9KHN8fChzPXt9KSksZnVuY3Rpb24oZSl7ZS5TcXVhcmVCdXR0b25UYWJzPSJzcXVhcmUtYnV0dG9uLXRhYnMiLGUuVW5kZXJsaW5lQnV0dG9uVGFicz0idW5kZXJsaW5lLWJ1dHRvbi10YWJzIixlLlVuZGVybGluZUFuY2hvclRhYnM9InVuZGVybGluZS1hbmNob3ItdGFicyIsZS5Sb3VuZEFuY2hvclRhYnM9InJvdW5kLWFuY2hvci10YWJzIixlLlJvdW5kQnV0dG9uVGFicz0icm91bmQtYnV0dG9uLXRhYnMiLGUuTGlnaHRCdXR0b25UYWJzPSJsaWdodC1idXR0b24tdGFicyJ9KGx8fChsPXt9KSl9LDIzNDI5MihlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0LG49MCl7Y29uc3QgaT1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG89dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4gaS50b3Atby50b3A+PTAmJm8uYm90dG9tLWkuYm90dG9tPj0wJiZpLmxlZnQtby5sZWZ0Pj1uJiZvLnJpZ2h0LWkucmlnaHQ+PW59bi5kKHQse2lzRWxlbWVudEluVmlldzooKT0+aX0pfSw4NjY3NDMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U2Nyb2xsSW50b1ZpZXdIZWxwZXI6KCk9PmN9KTt2YXIgaT1uKDk1MDE5NCksbz1uKDIzNDI5Mik7Y29uc3Qgcj17ZHVyYXRpb246MjAwLGFkZGl0aW9uYWxTY3JvbGw6MH0scz17dmVydGljYWw6e3Njcm9sbFNpemU6InNjcm9sbEhlaWdodCIsY2xpZW50U2l6ZToiY2xpZW50SGVpZ2h0IixzdGFydDoidG9wIixlbmQ6ImJvdHRvbSIsc2l6ZToiaGVpZ2h0In0saG9yaXpvbnRhbDp7c2Nyb2xsU2l6ZToic2Nyb2xsV2lkdGgiLGNsaWVudFNpemU6ImNsaWVudFdpZHRoIixzdGFydDoibGVmdCIsZW5kOiJyaWdodCIsc2l6ZToid2lkdGgifX07ZnVuY3Rpb24gbChlLHQpe2NvbnN0IG49c1tlXTtyZXR1cm4gdFtuLnNjcm9sbFNpemVdPnRbbi5jbGllbnRTaXplXX1mdW5jdGlvbiBhKGUsdCxuLG8scixsKXtjb25zdCBhPWZ1bmN0aW9uKGUsdCxuLGk9MCl7Y29uc3Qgbz1zW2VdO3JldHVybntzdGFydDotMSppLG1pZGRsZTotMSooTWF0aC5mbG9vcihuW28uc2l6ZV0vMiktTWF0aC5mbG9vcih0W28uc2l6ZV0vMikpLGVuZDotMSoobltvLnNpemVdLXRbby5zaXplXSkraX19KGUsbyxyLGwuYWRkaXRpb25hbFNjcm9sbCk7bGV0IGM9MDtpZihsLnNuYXBUb01pZGRsZXx8ZnVuY3Rpb24oZSx0LG4pe2NvbnN0IGk9c1tlXTtyZXR1cm4gdFtpLnN0YXJ0XTxuW2kuc3RhcnRdLW5baS5zaXplXS8yfHx0W2kuZW5kXT5uW2kuZW5kXStuW2kuc2l6ZV0vMn0oZSxvLHIpKWM9YS5taWRkbGU7ZWxzZXtjb25zdCB0PWZ1bmN0aW9uKGUsdCxuLGk9MCl7Y29uc3Qgbz1zW2VdLHI9dFtvLnN0YXJ0XStNYXRoLmZsb29yKHRbby5zaXplXS8yKSxsPW5bby5zdGFydF0rTWF0aC5mbG9vcihuW28uc2l6ZV0vMik7cmV0dXJue3N0YXJ0OnRbby5zdGFydF0tbltvLnN0YXJ0XS1pLG1pZGRsZTpyLWwsZW5kOnRbby5lbmRdLW5bby5lbmRdK2l9fShlLG8scixsLmFkZGl0aW9uYWxTY3JvbGwpLG49ZnVuY3Rpb24oZSl7Y29uc3R7c3RhcnQ6dCxtaWRkbGU6bixlbmQ6aX09ZSxvPW5ldyBNYXAoW1tNYXRoLmFicyh0KSx7a2V5OiJzdGFydCIsdmFsdWU6TWF0aC5zaWduKHQpfV0sW01hdGguYWJzKG4pLHtrZXk6Im1pZGRsZSIsdmFsdWU6TWF0aC5zaWduKG4pfV0sW01hdGguYWJzKGkpLHtrZXk6ImVuZCIsdmFsdWU6TWF0aC5zaWduKGkpfV1dKSxyPU1hdGgubWluKC4uLm8ua2V5cygpKTtyZXR1cm4gby5nZXQocil9KHQpO2M9dm9pZCAwIT09bj9hW24ua2V5XTowfXJldHVybiBsLmFsaWduJiYoYz1hW2wuYWxpZ25dKSwoMCxpLnNjcm9sbFRvKSh7Li4ubCx0YXJnZXQ6dCx0YXJnZXRSZWN0Om8sd3JhcDpuLHdyYXBSZWN0OnIsYWRkaXRpb25hbFNjcm9sbDpjLGRpcmVjdGlvbjplfSl9Y2xhc3MgY3sKY29uc3RydWN0b3IoZT1udWxsKXt0aGlzLl9jb250YWluZXI9bnVsbCx0aGlzLl9sYXN0U2Nyb2xsZWRFbGVtZW50PW51bGwsdGhpcy5fc3RvcFZlcnRpY2FsU2Nyb2xsPW51bGwsdGhpcy5fc3RvcEhvcml6b250YWxTY3JvbGw9bnVsbCx0aGlzLl9jb250YWluZXI9ZX1zY3JvbGxUbyhlLHQ9cil7aWYobnVsbCE9PXRoaXMuX2NvbnRhaW5lciYmbnVsbCE9PWUmJiEoMCxvLmlzRWxlbWVudEluVmlldykoZSx0aGlzLl9jb250YWluZXIsdC52aXNpYmlsaXR5RGV0ZWN0aW9uT2Zmc2V0SW5saW5lKSl7Y29uc3Qgbj1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGk9dGhpcy5fY29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuc3RvcFNjcm9sbCgpLGwoInZlcnRpY2FsIix0aGlzLl9jb250YWluZXIpJiYodGhpcy5fc3RvcFZlcnRpY2FsU2Nyb2xsPWEoInZlcnRpY2FsIixlLHRoaXMuX2NvbnRhaW5lcixuLGksdGhpcy5fbW9kaWZ5T3B0aW9ucygidmVydGljYWwiLHQpKSksbCgiaG9yaXpvbnRhbCIsdGhpcy5fY29udGFpbmVyKSYmKHRoaXMuX3N0b3BIb3Jpem9udGFsU2Nyb2xsPWEoImhvcml6b250YWwiLGUsdGhpcy5fY29udGFpbmVyLG4saSx0aGlzLl9tb2RpZnlPcHRpb25zKCJob3Jpem9udGFsIix0KSkpfXRoaXMuX2xhc3RTY3JvbGxlZEVsZW1lbnQ9ZX1zY3JvbGxUb0xhc3RFbGVtZW50KGUpe3RoaXMuc2Nyb2xsVG8odGhpcy5fbGFzdFNjcm9sbGVkRWxlbWVudCxlKX1zdG9wU2Nyb2xsKCl7bnVsbCE9PXRoaXMuX3N0b3BWZXJ0aWNhbFNjcm9sbCYmdGhpcy5fc3RvcFZlcnRpY2FsU2Nyb2xsKCksbnVsbCE9PXRoaXMuX3N0b3BIb3Jpem9udGFsU2Nyb2xsJiZ0aGlzLl9zdG9wSG9yaXpvbnRhbFNjcm9sbCgpfWdldENvbnRhaW5lcigpe3JldHVybiB0aGlzLl9jb250YWluZXJ9c2V0Q29udGFpbmVyKGUpe3RoaXMuX2NvbnRhaW5lcj1lLHRoaXMuX2NvbnRhaW5lcj8uY29udGFpbnModGhpcy5fbGFzdFNjcm9sbGVkRWxlbWVudCl8fCh0aGlzLl9sYXN0U2Nyb2xsZWRFbGVtZW50PW51bGwpfWRlc3Ryb3koKXt0aGlzLnN0b3BTY3JvbGwoKSx0aGlzLl9jb250YWluZXI9bnVsbCx0aGlzLl9sYXN0U2Nyb2xsZWRFbGVtZW50PW51bGx9X2hhbmRsZVNjcm9sbEVuZChlKXsidmVydGljYWwiPT09ZT90aGlzLl9zdG9wVmVydGljYWxTY3JvbGw9bnVsbDp0aGlzLl9zdG9wSG9yaXpvbnRhbFNjcm9sbD1udWxsfV9tb2RpZnlPcHRpb25zKGUsdCl7cmV0dXJuIE9iamVjdC5hc3NpZ24oe30sdCx7b25TY3JvbGxFbmQ6KCk9Pnt0aGlzLl9oYW5kbGVTY3JvbGxFbmQoZSksdm9pZCAwIT09dC5vblNjcm9sbEVuZCYmdC5vblNjcm9sbEVuZCgpfX0pfX19LDk1MDE5NChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtzY3JvbGxUbzooKT0+b30pO3ZhciBpPW4oMjE4ODE0KTtmdW5jdGlvbiBvKGUpe2NvbnN0e2FkZGl0aW9uYWxTY3JvbGw6dD0wLGR1cmF0aW9uOm49aS5kdXIsZnVuYzpvPWkuZWFzaW5nRnVuYy5lYXNlSW5PdXRDdWJpYyxvblNjcm9sbEVuZDpyLHRhcmdldDpzLHdyYXA6bCxkaXJlY3Rpb246YT0idmVydGljYWwifT1lO2xldHt0YXJnZXRSZWN0OmMsd3JhcFJlY3Q6dX09ZTtjPWM/P3MuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksdT11Pz9sLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2NvbnN0IGQ9KCJ2ZXJ0aWNhbCI9PT1hP2MudG9wLXUudG9wOmMubGVmdC11LmxlZnQpK3QsZj0idmVydGljYWwiPT09YT8ic2Nyb2xsVG9wIjoic2Nyb2xsTGVmdCIsYj1sP2xbZl06MDtsZXQgaCxtPTA7cmV0dXJuIG09d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoZnVuY3Rpb24gZSh0KXtsZXQgaTtpZihoP2k9dC1oOihpPTAsaD10KSxpPj1uKXJldHVybiBsW2ZdPWIrZCx2b2lkKHImJnIoKSk7Y29uc3Qgcz1iK2QqbyhpL24pO2xbZl09TWF0aC5mbG9vcihzKSxtPXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZSl9KSksZnVuY3Rpb24oKXt3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUobSksciYmcigpfX19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/84306.31d6cfe0d16ae931b73c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.595Z","timestamp":1785120634595,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/84306.31d6cfe0d16ae931b73c.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\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/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 0\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a58abe8-0\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 10:01:12 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: da2dea9befd95440d50e70ea7db4a387\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":782,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-07-27T05:14:11.3544Z","times_seen":17556491,"resource_available":true,"data":""}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"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.27","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:40.233Z","timestamp":1785120640233,"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://247optiontradefx.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 02:50:40 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: k9avlyA9ovR307NpqWAC+Cfy1VjOsygACGKk8tohfWqp3dHAfwMKDKY66zsrb0m064pdN9M\r\nx-77-nzt-ray: fdb541235919e1fa80c7666adab91b0e\r\nx-77-cache: HIT\r\nx-77-age: 1707597\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-07-27T05:17:26.354095Z","times_seen":1428,"resource_available":false,"data":"LmJ0bi5zdmVsdGUteXdvZm1se2JvcmRlci1yYWRpdXM6OTk5OXB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6LjI1cmVtO2ZvbnQtc2l6ZToxLjEyNXJlbTtsaW5lLWhlaWdodDoxLjc1cmVtO3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3IsYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3IsdGV4dC1kZWNvcmF0aW9uLWNvbG9yLGZpbGwsc3Ryb2tlO3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtkaXNwbGF5OmlubGluZS1mbGV4fS5idG4tcHJpbWFyeS5zdmVsdGUteXdvZm1se2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIDtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1jb250ZW50KSB9LmJ0bi1wcmltYXJ5LnN2ZWx0ZS15d29mbWw6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1ob3ZlcikgfS5idG4tZ2hvc3Quc3ZlbHRlLXl3b2ZtbDpob3ZlcnstLXVuLWJnLW9wYWNpdHk6LjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMCAwIDAvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYnRuLXN1Y2Nlc3Muc3ZlbHRlLXl3b2ZtbHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigxNiAxODUgMTI5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSA7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5idG4tc3VjY2Vzcy5zdmVsdGUteXdvZm1sOmhvdmVyey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDUgMTUwIDEwNS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5idG4tc20uc3ZlbHRlLXl3b2ZtbHt3aWR0aDoxLjVyZW07aGVpZ2h0OjEuNXJlbX0uYnRuLW1kLnN2ZWx0ZS15d29mbWx7d2lkdGg6MnJlbTtoZWlnaHQ6MnJlbX0uYnRuLWxnLnN2ZWx0ZS15d29mbWx7d2lkdGg6Mi43NXJlbTtoZWlnaHQ6Mi43NXJlbX0uYnRuLXhsLnN2ZWx0ZS15d29mbWx7d2lkdGg6M3JlbTtoZWlnaHQ6M3JlbX0uYnRuLWRpc2FibGVkLnN2ZWx0ZS15d29mbWx7Y3Vyc29yOm5vdC1hbGxvd2VkO29wYWNpdHk6LjJ9LmJ0bi1kaXNhYmxlZC5zdmVsdGUteXdvZm1sOmhvdmVyOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzAwMDB9Kiw6YmVmb3JlLDphZnRlcntib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDowO2JvcmRlci1jb2xvcjp2YXIoLS11bi1kZWZhdWx0LWJvcmRlci1jb2xvciwjZTVlN2ViKX06YmVmb3JlLDphZnRlcnstLXVuLWNvbnRlbnQ6IiJ9aHRtbCw6aG9zdHstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTt0YWItc2l6ZTo0O2ZvbnQtZmVhdHVyZS1zZXR0aW5nczpub3JtYWw7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6bm9ybWFsOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDtmb250LWZhbWlseTp1aS1zYW5zLXNlcmlmLHN5c3RlbS11aSxzYW5zLXNlcmlmLEFwcGxlIENvbG9yIEVtb2ppLFNlZ29lIFVJIEVtb2ppLFNlZ29lIFVJIFN5bWJvbCxOb3RvIENvbG9yIEVtb2ppO2xpbmUtaGVpZ2h0OjEuNX1ib2R5e2xpbmUtaGVpZ2h0OmluaGVyaXQ7bWFyZ2luOjB9aHJ7aGVpZ2h0OjA7Y29sb3I6aW5oZXJpdDtib3JkZXItdG9wLXdpZHRoOjFweH1hYmJyOndoZXJlKFt0aXRsZV0pey13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWQ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWR9aDEsaDIsaDMsaDQsaDUsaDZ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6aW5oZXJpdH1he2NvbG9yOmluaGVyaXQ7LXdlYmtpdC10ZXh0LWRlY29yYXRpb246aW5oZXJpdDt0ZXh0LWRlY29yYXRpb246aW5oZXJpdH1iLHN0cm9uZ3tmb250LXdlaWdodDpib2xkZXJ9Y29kZSxrYmQsc2FtcCxwcmV7Zm9udC1mZWF0dXJlLXNldHRpbmdzOm5vcm1hbDtmb250LXZhcmlhdGlvbi1zZXR0aW5nczpub3JtYWw7Zm9udC1mYW1pbHk6dWktbW9ub3NwYWNlLFNGTW9uby1SZWd1bGFyLE1lbmxvLE1vbmFjbyxDb25zb2xhcyxMaWJlcmF0aW9uIE1vbm8sQ291cmllciBOZXcsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxZW19c21hbGx7Zm9udC1zaXplOjgwJX1zdWIsc3Vwe3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO2ZvbnQtc2l6ZTo3NSU7bGluZS1oZWlnaHQ6MDtwb3NpdGlvbjpyZWxhdGl2ZX1zdWJ7Ym90dG9tOi0uMjVlbX1zdXB7dG9wOi0uNWVtfXRhYmxle3RleHQtaW5kZW50OjA7Ym9yZGVyLWNvbG9yOmluaGVyaXQ7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlfWJ1dHRvbixpbnB1dCxvcHRncm91cCxzZWxlY3QsdGV4dGFyZWF7Zm9udC1mZWF0dXJlLXNldHRpbmdzOmluaGVyaXQ7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6aW5oZXJpdDtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZToxMDAlO2ZvbnQtd2VpZ2h0OmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdDtjb2xvcjppbmhlcml0O21hcmdpbjowO3BhZGRpbmc6MH1idXR0b24sc2VsZWN0e3RleHQtdHJhbnNmb3JtOm5vbmV9YnV0dG9uLFt0eXBlPWJ1dHRvbl0sW3R5cGU9cmVzZXRdLFt0eXBlPXN1Ym1pdF17LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO2JhY2tncm91bmQtaW1hZ2U6bm9uZX06LW1vei1mb2N1c3Jpbmd7b3V0bGluZTphdXRvfTotbW96LXVpLWludmFsaWR7Ym94LXNoYWRvdzpub25lfXByb2dyZXNze3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b306Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b257aGVpZ2h0OmF1dG99W3R5cGU9c2VhcmNoXXstd2Via2l0LWFwcGVhcmFuY2U6dGV4dGZpZWxkO291dGxpbmUtb2Zmc2V0Oi0ycHh9Ojotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lfTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b257LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbjtmb250OmluaGVyaXR9c3VtbWFyeXtkaXNwbGF5Omxpc3QtaXRlbX1ibG9ja3F1b3RlLGRsLGRkLGgxLGgyLGgzLGg0LGg1LGg2LGhyLGZpZ3VyZSxwLHByZXttYXJnaW46MH1maWVsZHNldHttYXJnaW46MDtwYWRkaW5nOjB9bGVnZW5ke3BhZGRpbmc6MH1vbCx1bCxtZW51e21hcmdpbjowO3BhZGRpbmc6MDtsaXN0LXN0eWxlOm5vbmV9ZGlhbG9ne3BhZGRpbmc6MH10ZXh0YXJlYXtyZXNpemU6dmVydGljYWx9aW5wdXQ6OnBsYWNlaG9sZGVyLHRleHRhcmVhOjpwbGFjZWhvbGRlcntvcGFjaXR5OjE7Y29sb3I6IzljYTNhZn1idXR0b24sW3JvbGU9YnV0dG9uXXtjdXJzb3I6cG9pbnRlcn06ZGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHR9aW1nLHN2Zyx2aWRlbyxjYW52YXMsYXVkaW8saWZyYW1lLGVtYmVkLG9iamVjdHt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7ZGlzcGxheTpibG9ja31pbWcsdmlkZW97bWF4LXdpZHRoOjEwMCU7aGVpZ2h0OmF1dG99W2hpZGRlbl06d2hlcmUoOm5vdChbaGlkZGVuPXVudGlsLWZvdW5kXSkpe2Rpc3BsYXk6bm9uZX0qLDpiZWZvcmUsOmFmdGVyLDo6YmFja2Ryb3B7LS11bi1yb3RhdGU6MDstLXVuLXJvdGF0ZS14OjA7LS11bi1yb3RhdGUteTowOy0tdW4tcm90YXRlLXo6MDstLXVuLXNjYWxlLXg6MTstLXVuLXNjYWxlLXk6MTstLXVuLXNjYWxlLXo6MTstLXVuLXNrZXcteDowOy0tdW4tc2tldy15OjA7LS11bi10cmFuc2xhdGUteDowOy0tdW4tdHJhbnNsYXRlLXk6MDstLXVuLXRyYW5zbGF0ZS16OjA7LS11bi1wYW4teDogOy0tdW4tcGFuLXk6IDstLXVuLXBpbmNoLXpvb206IDstLXVuLXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6cHJveGltaXR5Oy0tdW4tb3JkaW5hbDogOy0tdW4tc2xhc2hlZC16ZXJvOiA7LS11bi1udW1lcmljLWZpZ3VyZTogOy0tdW4tbnVtZXJpYy1zcGFjaW5nOiA7LS11bi1udW1lcmljLWZyYWN0aW9uOiA7LS11bi1ib3JkZXItc3BhY2luZy14OjA7LS11bi1ib3JkZXItc3BhY2luZy15OjA7LS11bi1yaW5nLW9mZnNldC1zaGFkb3c6MCAwICMwMDAwOy0tdW4tcmluZy1zaGFkb3c6MCAwICMwMDAwOy0tdW4tc2hhZG93LWluc2V0OiA7LS11bi1zaGFkb3c6MCAwICMwMDAwOy0tdW4tcmluZy1pbnNldDogOy0tdW4tcmluZy1vZmZzZXQtd2lkdGg6MHB4Oy0tdW4tcmluZy1vZmZzZXQtY29sb3I6I2ZmZjstLXVuLXJpbmctd2lkdGg6MHB4Oy0tdW4tcmluZy1jb2xvcjojOTNjNWZkODA7LS11bi1ibHVyOiA7LS11bi1icmlnaHRuZXNzOiA7LS11bi1jb250cmFzdDogOy0tdW4tZHJvcC1zaGFkb3c6IDstLXVuLWdyYXlzY2FsZTogOy0tdW4taHVlLXJvdGF0ZTogOy0tdW4taW52ZXJ0OiA7LS11bi1zYXR1cmF0ZTogOy0tdW4tc2VwaWE6IDstLXVuLWJhY2tkcm9wLWJsdXI6IDstLXVuLWJhY2tkcm9wLWJyaWdodG5lc3M6IDstLXVuLWJhY2tkcm9wLWNvbnRyYXN0OiA7LS11bi1iYWNrZHJvcC1ncmF5c2NhbGU6IDstLXVuLWJhY2tkcm9wLWh1ZS1yb3RhdGU6IDstLXVuLWJhY2tkcm9wLWludmVydDogOy0tdW4tYmFja2Ryb3Atb3BhY2l0eTogOy0tdW4tYmFja2Ryb3Atc2F0dXJhdGU6IDstLXVuLWJhY2tkcm9wLXNlcGlhOiB9LmZsZXgtY2VudGVye2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0uYnV0dG9uLWZvY3VzOmZvY3VzLXZpc2libGV7b3V0bGluZS13aWR0aDoycHg7b3V0bGluZS1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWZvY3VzKSA7b3V0bGluZS1vZmZzZXQ6MXB4O291dGxpbmUtc3R5bGU6c29saWR9LmJ1dHRvbi1mb2N1cy1zZWNvbmRhcnk6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLXdpZHRoOjJweDtvdXRsaW5lLWNvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktZm9jdXMpIDtvdXRsaW5lLWNvbG9yOnZhcigtLWNvbG9yLXNlY29uZGFyeS1mb2N1cykgO291dGxpbmUtb2Zmc2V0OjFweDtvdXRsaW5lLXN0eWxlOnNvbGlkfS5jb250ZW50LWZvY3VzOmZvY3VzLXZpc2libGV7b3V0bGluZS13aWR0aDoycHg7b3V0bGluZS1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWZvY3VzKSA7b3V0bGluZS1vZmZzZXQ6LTVweDtvdXRsaW5lLXN0eWxlOnNvbGlkfS5jb250ZW50LWZvY3VzLXNlY29uZGFyeTpmb2N1cy12aXNpYmxle291dGxpbmUtd2lkdGg6MnB4O291dGxpbmUtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1mb2N1cykgO291dGxpbmUtY29sb3I6dmFyKC0tY29sb3Itc2Vjb25kYXJ5LWZvY3VzKSA7b3V0bGluZS1vZmZzZXQ6LTVweDtvdXRsaW5lLXN0eWxlOnNvbGlkfS5cW2NsaXBcOnJlY3RcKDBcLDBcLDBcLDBcKVxde2NsaXA6cmVjdCgwLDAsMCwwKX0uc3Itb25seXtjbGlwOnJlY3QoMCwwLDAsMCk7d2hpdGUtc3BhY2U6bm93cmFwO2JvcmRlci13aWR0aDowO3dpZHRoOjFweDtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTtvdmVyZmxvdzpoaWRkZW59LnBvaW50ZXItZXZlbnRzLWF1dG97cG9pbnRlci1ldmVudHM6YXV0b30ucG9pbnRlci1ldmVudHMtbm9uZXtwb2ludGVyLWV2ZW50czpub25lfS5hYnNvbHV0ZXtwb3NpdGlvbjphYnNvbHV0ZX0uZml4ZWR7cG9zaXRpb246Zml4ZWR9LnJlbGF0aXZle3Bvc2l0aW9uOnJlbGF0aXZlfS5zdGlja3l7cG9zaXRpb246c3RpY2t5fS4tYm90dG9tLTRcLjV7Ym90dG9tOi0xLjEyNXJlbX0uLXJpZ2h0LVxbNHB4XF17cmlnaHQ6LTRweH0uLXRvcC1cWzRweFxde3RvcDotNHB4fS5ib3R0b20tXFstOHB4XF17Ym90dG9tOi04cHh9LmJvdHRvbS0we2JvdHRvbTowfS5ib3R0b20tM3tib3R0b206Ljc1cmVtfS5ib3R0b20tZnVsbHtib3R0b206MTAwJX0ubGVmdC1cWzJweFxde2xlZnQ6MnB4fS5sZWZ0LTB7bGVmdDowfS5sZWZ0LTFcLzJ7bGVmdDo1MCV9LmxlZnQtMntsZWZ0Oi41cmVtfS5sZWZ0LTNcLjd7bGVmdDouOTI1cmVtfS5yaWdodC1cWzE2cHhcXXtyaWdodDoxNnB4fS5yaWdodC0we3JpZ2h0OjB9LnJpZ2h0LTBcLjV7cmlnaHQ6LjEyNXJlbX0ucmlnaHQtMntyaWdodDouNXJlbX0ucmlnaHQtM3tyaWdodDouNzVyZW19LnRvcC1cWzJweFxde3RvcDoycHh9LnRvcC0we3RvcDowfS50b3AtMnt0b3A6LjVyZW19LnRvcC0ze3RvcDouNzVyZW19LnRvcC0zXC43e3RvcDouOTI1cmVtfS50b3AtMzB7dG9wOjcuNXJlbX0udG9wLTQwe3RvcDoxMHJlbX0ubGluZS1jbGFtcC0xey13ZWJraXQtbGluZS1jbGFtcDoxO2xpbmUtY2xhbXA6MTstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtvdmVyZmxvdzpoaWRkZW59LmxpbmUtY2xhbXAtMnstd2Via2l0LWxpbmUtY2xhbXA6MjtsaW5lLWNsYW1wOjI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVufS5saW5lLWNsYW1wLTN7LXdlYmtpdC1saW5lLWNsYW1wOjM7bGluZS1jbGFtcDozOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtkaXNwbGF5Oi13ZWJraXQtYm94O292ZXJmbG93OmhpZGRlbn0ubGluZS1jbGFtcC01ey13ZWJraXQtbGluZS1jbGFtcDo1O2xpbmUtY2xhbXA6NTstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtvdmVyZmxvdzpoaWRkZW59LnotMXt6LWluZGV4OjF9LnotMTB7ei1pbmRleDoxMH0uei0xMDB7ei1pbmRleDoxMDB9LnotNTB7ei1pbmRleDo1MH0uZ3JpZHtkaXNwbGF5OmdyaWR9LmZsb2F0LXJpZ2h0e2Zsb2F0OnJpZ2h0fS4tbS1weHttYXJnaW46LTFweH0ubS0ze21hcmdpbjouNzVyZW19Lm0tYXV0b3ttYXJnaW46YXV0b30ubTE1e21hcmdpbjozLjc1cmVtfS5tMTZ7bWFyZ2luOjRyZW19Lm0xOHttYXJnaW46NC41cmVtfS5tMjF7bWFyZ2luOjUuMjVyZW19Lm0yMnttYXJnaW46NS41cmVtfS5tNnttYXJnaW46MS41cmVtfS5tN3ttYXJnaW46MS43NXJlbX0ubTh7bWFyZ2luOjJyZW19Lm05e21hcmdpbjoyLjI1cmVtfS5teC0ye21hcmdpbi1sZWZ0Oi41cmVtO21hcmdpbi1yaWdodDouNXJlbX0ubXgtM3ttYXJnaW4tbGVmdDouNzVyZW07bWFyZ2luLXJpZ2h0Oi43NXJlbX0ubXgtNHttYXJnaW4tbGVmdDoxcmVtO21hcmdpbi1yaWdodDoxcmVtfS5teS0ze21hcmdpbi10b3A6Ljc1cmVtO21hcmdpbi1ib3R0b206Ljc1cmVtfS5teS00e21hcmdpbi10b3A6MXJlbTttYXJnaW4tYm90dG9tOjFyZW19Li1tdC0ze21hcmdpbi10b3A6LS43NXJlbX0ubWItXFsycHhcXXttYXJnaW4tYm90dG9tOjJweH0ubWItMHttYXJnaW4tYm90dG9tOjB9Lm1iLTEsLm5vdC1sYXN0LW9mLXR5cGVcOm1iLTE6bm90KDpsYXN0LW9mLXR5cGUpe21hcmdpbi1ib3R0b206LjI1cmVtfS5tYi0ye21hcmdpbi1ib3R0b206LjVyZW19Lm1iLTN7bWFyZ2luLWJvdHRvbTouNzVyZW19Lm1iLTR7bWFyZ2luLWJvdHRvbToxcmVtfS5tYi02e21hcmdpbi1ib3R0b206MS41cmVtfS5tbC0wXC41e21hcmdpbi1sZWZ0Oi4xMjVyZW19Lm1sLTF7bWFyZ2luLWxlZnQ6LjI1cmVtfS5tbC0ye21hcmdpbi1sZWZ0Oi41cmVtfS5tbC0ze21hcmdpbi1sZWZ0Oi43NXJlbX0ubWwtNHttYXJnaW4tbGVmdDoxcmVtfS5tbC04e21hcmdpbi1sZWZ0OjJyZW19Lm1yLTF7bWFyZ2luLXJpZ2h0Oi4yNXJlbX0ubXItMVwuNXttYXJnaW4tcmlnaHQ6LjM3NXJlbX0ubXItMTB7bWFyZ2luLXJpZ2h0OjIuNXJlbX0ubXItMnttYXJnaW4tcmlnaHQ6LjVyZW19Lm1yLTN7bWFyZ2luLXJpZ2h0Oi43NXJlbX0ubXItNHttYXJnaW4tcmlnaHQ6MXJlbX0ubXQtXFsxcHhcXXttYXJnaW4tdG9wOjFweH0ubXQtMFwuNXttYXJnaW4tdG9wOi4xMjVyZW19Lm10LTJ7bWFyZ2luLXRvcDouNXJlbX0ubXQtM3ttYXJnaW4tdG9wOi43NXJlbX0ubXQtNHttYXJnaW4tdG9wOjFyZW19Lm10LTZ7bWFyZ2luLXRvcDoxLjVyZW19Lm10LTh7bWFyZ2luLXRvcDoycmVtfS5maXJzdC1vZi10eXBlXDptdC0yOmZpcnN0LW9mLXR5cGV7bWFyZ2luLXRvcDouNXJlbX0uaW5saW5le2Rpc3BsYXk6aW5saW5lfS5ibG9ja3tkaXNwbGF5OmJsb2NrfS5pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmhpZGRlbntkaXNwbGF5Om5vbmV9LmgtXFsxXC4yZW1cXXtoZWlnaHQ6MS4yZW19LmgtXFsxZW1cXXtoZWlnaHQ6MWVtfS5oLVxbNTBweFxde2hlaWdodDo1MHB4fS5oLTF7aGVpZ2h0Oi4yNXJlbX0uaC0xMHtoZWlnaHQ6Mi41cmVtfS5oLTExe2hlaWdodDoyLjc1cmVtfS5oLTEye2hlaWdodDozcmVtfS5oLTJ7aGVpZ2h0Oi41cmVtfS5oLTJcLjV7aGVpZ2h0Oi42MjVyZW19LmgtMjB7aGVpZ2h0OjVyZW19LmgtMzB7aGVpZ2h0OjcuNXJlbX0uaC00e2hlaWdodDoxcmVtfS5oLTQwe2hlaWdodDoxMHJlbX0uaC00MDBweHtoZWlnaHQ6NDAwcHh9LmgtNXtoZWlnaHQ6MS4yNXJlbX0uaC01NHB4e2hlaWdodDo1NHB4fS5oLTZ7aGVpZ2h0OjEuNXJlbX0uaC02MHB4e2hlaWdodDo2MHB4fS5oLTY0cHh7aGVpZ2h0OjY0cHh9LmgtN3toZWlnaHQ6MS43NXJlbX0uaC04e2hlaWdodDoycmVtfS5oLWZ1bGx7aGVpZ2h0OjEwMCV9LmgtcHh7aGVpZ2h0OjFweH0ubWF4LWgtXFsxMjVweFxde21heC1oZWlnaHQ6MTI1cHh9Lm1heC1oLVxbMjQwcHhcXXttYXgtaGVpZ2h0OjI0MHB4fS5tYXgtaC1cWzMycHhcXXttYXgtaGVpZ2h0OjMycHh9Lm1heC1oLTEzMnB4e21heC1oZWlnaHQ6MTMycHh9Lm1heC1oLTY0e21heC1oZWlnaHQ6MTZyZW19Lm1heC1oLTgwdmh7bWF4LWhlaWdodDo4MHZofS5tYXgtaC04NnttYXgtaGVpZ2h0OjIxLjVyZW19Lm1heC1oLWZ1bGx7bWF4LWhlaWdodDoxMDAlfS5tYXgtdy1cWzgwXCVcXXttYXgtd2lkdGg6ODAlfS5tYXgtdy1cWzg1XCVcXXttYXgtd2lkdGg6ODUlfS5tYXgtdy1cW2NhbGNcKDEwMFwlLTE1MHB4XClcXXttYXgtd2lkdGg6Y2FsYygxMDAlIC0gMTUwcHgpfS5tYXgtdy1mdWxse21heC13aWR0aDoxMDAlfS5taW4taC1cWzE2cHhcXXttaW4taGVpZ2h0OjE2cHh9Lm1pbi13LVxbMTZweFxde21pbi13aWR0aDoxNnB4fS5taW4tdy0we21pbi13aWR0aDowfS5taW4tdy01e21pbi13aWR0aDoxLjI1cmVtfS5taW4tdy01XC41e21pbi13aWR0aDoxLjM3NXJlbX0ubWluLXctNnttaW4td2lkdGg6MS41cmVtfS53LVxbMVwuMmVtXF17d2lkdGg6MS4yZW19LnctXFsxZW1cXXt3aWR0aDoxZW19LnctXFs1MHB4XF17d2lkdGg6NTBweH0udy0we3dpZHRoOjB9LnctMXt3aWR0aDouMjVyZW19LnctMTF7d2lkdGg6Mi43NXJlbX0udy0xMTZ7d2lkdGg6MjlyZW19LnctMTJ7d2lkdGg6M3JlbX0udy0ye3dpZHRoOi41cmVtfS53LTJcLjV7d2lkdGg6LjYyNXJlbX0udy0yODBweHt3aWR0aDoyODBweH0udy0zNDhweHt3aWR0aDozNDhweH0udy00e3dpZHRoOjFyZW19LnctNXt3aWR0aDoxLjI1cmVtfS53LTUye3dpZHRoOjEzcmVtfS53LTU2e3dpZHRoOjE0cmVtfS53LTZ7d2lkdGg6MS41cmVtfS53LTYwcHh7d2lkdGg6NjBweH0udy03e3dpZHRoOjEuNzVyZW19LnctOHt3aWR0aDoycmVtfS53LWZ1bGx7d2lkdGg6MTAwJX0udy1tYXh7d2lkdGg6bWF4LWNvbnRlbnR9LnctcHh7d2lkdGg6MXB4fS5mbGV4e2Rpc3BsYXk6ZmxleH0uaW5saW5lLWZsZXh7ZGlzcGxheTppbmxpbmUtZmxleH0uZmxleC0xe2ZsZXg6MX0uZmxleC1ub25le2ZsZXg6bm9uZX0uZmxleC1zaHJpbmt7ZmxleC1zaHJpbms6MX0uZmxleC1zaHJpbmstMCwuc2hyaW5rLTB7ZmxleC1zaHJpbms6MH0uZmxleC1ncm93LC5ncm93e2ZsZXgtZ3JvdzoxfS5mbGV4LXJvd3tmbGV4LWRpcmVjdGlvbjpyb3d9LmZsZXgtY29se2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uZmxleC13cmFwe2ZsZXgtd3JhcDp3cmFwfS4tdHJhbnNsYXRlLXgtMVwvMnstLXVuLXRyYW5zbGF0ZS14Oi01MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0udHJhbnNsYXRlLXgtZnVsbHstLXVuLXRyYW5zbGF0ZS14OjEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0uZ3JvdXA6aG92ZXIgLmdyb3VwLWhvdmVyXDpzY2FsZS0xMTV7LS11bi1zY2FsZS14OjEuMTU7LS11bi1zY2FsZS15OjEuMTU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0uaG92ZXJcOnNjYWxlLTEyMDpob3ZlcnstLXVuLXNjYWxlLXg6MS4yOy0tdW4tc2NhbGUteToxLjI7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0udHJhbnNmb3Jte3RyYW5zZm9ybTp0cmFuc2xhdGVYKHZhcigtLXVuLXRyYW5zbGF0ZS14KSkgdHJhbnNsYXRlWSh2YXIoLS11bi10cmFuc2xhdGUteSkpIHRyYW5zbGF0ZVoodmFyKC0tdW4tdHJhbnNsYXRlLXopKSByb3RhdGUodmFyKC0tdW4tcm90YXRlKSkgcm90YXRlWCh2YXIoLS11bi1yb3RhdGUteCkpIHJvdGF0ZVkodmFyKC0tdW4tcm90YXRlLXkpKSByb3RhdGVaKHZhcigtLXVuLXJvdGF0ZS16KSkgc2tld1godmFyKC0tdW4tc2tldy14KSkgc2tld1kodmFyKC0tdW4tc2tldy15KSkgc2NhbGVYKHZhcigtLXVuLXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdW4tc2NhbGUteSkpIHNjYWxlWih2YXIoLS11bi1zY2FsZS16KSl9QGtleWZyYW1lcyBwdWxzZXswJSx0b3tvcGFjaXR5OjF9NTAle29wYWNpdHk6LjV9fUBrZXlmcmFtZXMgcHVzaC10by1sZWZ0ezAle21hcmdpbi1yaWdodDotNTAlO3RyYW5zZm9ybTpzY2FsZSgwKX10b3ttYXJnaW4tcmlnaHQ6aW5oZXJpdDt0cmFuc2Zvcm06c2NhbGUoMSl9fUBrZXlmcmFtZXMgc3BpbnswJXtyb3RhdGU6MGRlZ310b3tyb3RhdGU6MzYwZGVnfX1Aa2V5ZnJhbWVzIHR5cGluZ3swJSw1MCUsdG97dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9MjUle3RyYW5zZm9ybTp0cmFuc2xhdGVZKC02cHgpfX0uYW5pbWF0ZS1wdWxzZXthbmltYXRpb246MnMgY3ViaWMtYmV6aWVyKC40LDAsLjYsMSkgaW5maW5pdGUgcHVsc2V9LmFuaW1hdGUtcHVzaC10by1sZWZ0e2FuaW1hdGlvbjouMjVzIGVhc2UtaW4tb3V0IHB1c2gtdG8tbGVmdH0uYW5pbWF0ZS1zcGlue2FuaW1hdGlvbjoxcyBsaW5lYXIgaW5maW5pdGUgc3Bpbn0uYW5pbWF0ZS10eXBpbmd7YW5pbWF0aW9uOi44cyBlYXNlLWluLW91dCB0eXBpbmd9LmN1cnNvci1hdXRve2N1cnNvcjphdXRvfS5jdXJzb3ItcG9pbnRlciwuaG92ZXJcOmN1cnNvci1wb2ludGVyOmhvdmVye2N1cnNvcjpwb2ludGVyfS5jdXJzb3Itbm90LWFsbG93ZWR7Y3Vyc29yOm5vdC1hbGxvd2VkfS5zZWxlY3Qtbm9uZXstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ucmVzaXple3Jlc2l6ZTpib3RofS5yZXNpemUtbm9uZXtyZXNpemU6bm9uZX0uc2Nyb2xsLW10LTJ7c2Nyb2xsLW1hcmdpbi10b3A6LjVyZW19Lmxpc3QtZGVjaW1hbHtsaXN0LXN0eWxlLXR5cGU6ZGVjaW1hbH0ubGlzdC1kaXNje2xpc3Qtc3R5bGUtdHlwZTpkaXNjfS5jb250ZW50LWNlbnRlcnthbGlnbi1jb250ZW50OmNlbnRlcn0uaXRlbXMtc3RhcnR7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0uaXRlbXMtZW5ke2FsaWduLWl0ZW1zOmZsZXgtZW5kfS5pdGVtcy1jZW50ZXJ7YWxpZ24taXRlbXM6Y2VudGVyfS5pdGVtcy1iYXNlbGluZXthbGlnbi1pdGVtczpiYXNlbGluZX0uc2VsZi1zdHJldGNoe2FsaWduLXNlbGY6c3RyZXRjaH0uanVzdGlmeS1zdGFydHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0uanVzdGlmeS1lbmR7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5qdXN0aWZ5LWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5qdXN0aWZ5LWJldHdlZW57anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LmdhcC0ye2dhcDouNXJlbX0uZ2FwLTN7Z2FwOi43NXJlbX0uc3BhY2UteC0yPjpub3QoW2hpZGRlbl0pfjpub3QoW2hpZGRlbl0pey0tdW4tc3BhY2UteC1yZXZlcnNlOjA7bWFyZ2luLWxlZnQ6Y2FsYyguNXJlbSAqIGNhbGMoMSAtIHZhcigtLXVuLXNwYWNlLXgtcmV2ZXJzZSkpKTttYXJnaW4tcmlnaHQ6Y2FsYyguNXJlbSAqIHZhcigtLXVuLXNwYWNlLXgtcmV2ZXJzZSkpfS5zcGFjZS14LTU+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS11bi1zcGFjZS14LXJldmVyc2U6MDttYXJnaW4tbGVmdDpjYWxjKDEuMjVyZW0gKiBjYWxjKDEgLSB2YXIoLS11bi1zcGFjZS14LXJldmVyc2UpKSk7bWFyZ2luLXJpZ2h0OmNhbGMoMS4yNXJlbSAqIHZhcigtLXVuLXNwYWNlLXgtcmV2ZXJzZSkpfS5zcGFjZS15LTI+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS11bi1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tdG9wOmNhbGMoLjVyZW0gKiBjYWxjKDEgLSB2YXIoLS11bi1zcGFjZS15LXJldmVyc2UpKSk7bWFyZ2luLWJvdHRvbTpjYWxjKC41cmVtICogdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSl9LnNwYWNlLXktND46bm90KFtoaWRkZW5dKX46bm90KFtoaWRkZW5dKXstLXVuLXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi10b3A6Y2FsYygxcmVtICogY2FsYygxIC0gdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSkpO21hcmdpbi1ib3R0b206Y2FsYygxcmVtICogdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSl9LnNwYWNlLXktNT46bm90KFtoaWRkZW5dKX46bm90KFtoaWRkZW5dKXstLXVuLXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi10b3A6Y2FsYygxLjI1cmVtICogY2FsYygxIC0gdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSkpO21hcmdpbi1ib3R0b206Y2FsYygxLjI1cmVtICogdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSl9Lm92ZXJmbG93LWF1dG97b3ZlcmZsb3c6YXV0b30ub3ZlcmZsb3ctY2xpcHtvdmVyZmxvdzpjbGlwfS5vdmVyZmxvdy1oaWRkZW57b3ZlcmZsb3c6aGlkZGVufS5vdmVyZmxvdy14LWhpZGRlbntvdmVyZmxvdy14OmhpZGRlbn0ub3ZlcmZsb3cteS1hdXRve292ZXJmbG93LXk6YXV0b30ub3ZlcmZsb3cteS1zY3JvbGx7b3ZlcmZsb3cteTpzY3JvbGx9Lm92ZXJzY3JvbGwtY29udGFpbntvdmVyc2Nyb2xsLWJlaGF2aW9yOmNvbnRhaW59LnRydW5jYXRle3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbn0udGV4dC1lbGxpcHNpc3t0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS53aGl0ZXNwYWNlLW5vcm1hbHt3aGl0ZS1zcGFjZTpub3JtYWx9LndoaXRlc3BhY2Utbm93cmFwe3doaXRlLXNwYWNlOm5vd3JhcH0ud2hpdGVzcGFjZS1wcmV7d2hpdGUtc3BhY2U6cHJlfS53aGl0ZXNwYWNlLXByZS13cmFwe3doaXRlLXNwYWNlOnByZS13cmFwfS5icmVhay13b3Jkc3tvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmR9LmJyZWFrLWFsbHt3b3JkLWJyZWFrOmJyZWFrLWFsbH0uYm9yZGVyLC5ib3JkZXItMXtib3JkZXItd2lkdGg6MXB4fS5ib3JkZXItMHtib3JkZXItd2lkdGg6MH0uYm9yZGVyLTJ7Ym9yZGVyLXdpZHRoOjJweH0uYm9yZGVyLXQtMntib3JkZXItdG9wLXdpZHRoOjJweH0uYm9yZGVyLWdyYXktMzAwey0tdW4tYm9yZGVyLW9wYWNpdHk6MTtib3JkZXItY29sb3I6cmdiKDIwOSAyMTMgMjE5L3ZhcigtLXVuLWJvcmRlci1vcGFjaXR5KSl9LmJvcmRlci1ncmVlbi00MDB7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoNzQgMjIyIDEyOC92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpfS5ib3JkZXItcHJpbWFyeXtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeSl9LmJvcmRlci1wcmltYXJ5LWJ1dHRvbntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pfS5ib3JkZXItcmVkLTUwMHstLXVuLWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYigyMzkgNjggNjgvdmFyKC0tdW4tYm9yZGVyLW9wYWNpdHkpKX0uYm9yZGVyLXNsYXRlLTIwMHstLXVuLWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYigyMjYgMjMyIDI0MC92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpfS5ib3JkZXItd2hpdGV7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tYm9yZGVyLW9wYWNpdHkpKX0uZm9jdXNcOmJvcmRlci1ibHVlLTUwMDpmb2N1c3stLXVuLWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYig1OSAxMzAgMjQ2L3ZhcigtLXVuLWJvcmRlci1vcGFjaXR5KSl9LmJvcmRlci10LW5ldXRyYWwtMTAwey0tdW4tYm9yZGVyLW9wYWNpdHk6MTstLXVuLWJvcmRlci10b3Atb3BhY2l0eTp2YXIoLS11bi1ib3JkZXItb3BhY2l0eSk7Ym9yZGVyLXRvcC1jb2xvcjpyZ2IoMjQ1IDI0NSAyNDUvdmFyKC0tdW4tYm9yZGVyLXRvcC1vcGFjaXR5KSl9LmJvcmRlci1yb3VuZGVkLWZ1bGwsLnJvdW5kZWQtZnVsbHtib3JkZXItcmFkaXVzOjk5OTlweH0ucm91bmRlZC0yLC5yb3VuZGVkLWxne2JvcmRlci1yYWRpdXM6LjVyZW19LnJvdW5kZWQtMnhse2JvcmRlci1yYWRpdXM6MXJlbX0ucm91bmRlZC0zeGwsLnJvdW5kZWQtNntib3JkZXItcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1tZHtib3JkZXItcmFkaXVzOi4zNzVyZW19LnJvdW5kZWQteGx7Ym9yZGVyLXJhZGl1czouNzVyZW19LnJvdW5kZWQtbHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOi4yNXJlbTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOi4yNXJlbX0ucm91bmRlZC1sLTN4bHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjEuNXJlbTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1ye2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4yNXJlbTtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czouMjVyZW19LnJvdW5kZWQtci0zeGx7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC10LTZ7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoxLjVyZW07Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtfS5yb3VuZGVkLWxiLTN4bHtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1sdC0zeGx7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoxLjVyZW19LnJvdW5kZWQtcmItM3hse2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1ydC0zeGx7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtfS5ib3JkZXItZGFzaGVke2JvcmRlci1zdHlsZTpkYXNoZWR9LmJvcmRlci1ub25le2JvcmRlci1zdHlsZTpub25lfS5iZy1ibGFja3stLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigwIDAgMC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ibGFja1wvODB7YmFja2dyb3VuZC1jb2xvcjojMDAwY30uYmctZW1lcmFsZC01MDB7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMTYgMTg1IDEyOS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ncmF5LTIwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMjkgMjMxIDIzNS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ncmF5LTMwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMDkgMjEzIDIxOS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ncmF5LTQwMFwvXFtcLjk1XF17YmFja2dyb3VuZC1jb2xvcjojOWNhM2FmZjJ9LmJnLWdyYXktNjAwXC9cW1wuOTVcXXtiYWNrZ3JvdW5kLWNvbG9yOiM0YjU1NjNmMn0uYmctZ3JlZW4tNDAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDc0IDIyMiAxMjgvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctZ3JlZW4tNTAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDM0IDE5NyA5NC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1uZXV0cmFsLTEwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDUgMjQ1IDI0NS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1uZXV0cmFsLTEwMFwvNTB7YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1ODB9LmJnLW5ldXRyYWwtNjAwXC80MHtiYWNrZ3JvdW5kLWNvbG9yOiM1MjUyNTI2Nn0uYmctb3JhbmdlLTUwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDkgMTE1IDIyL3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLXByaW1hcnktYnV0dG9ue2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIH0uYmctcmVkLTUwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMzkgNjggNjgvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctcmVkLTYwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMjAgMzggMzgvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctc2xhdGUtMTAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0MSAyNDUgMjQ5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLXNsYXRlLTIwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMjYgMjMyIDI0MC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1zbGF0ZS0zMDB7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjAzIDIxMyAyMjUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctc2xhdGUtNDAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDE0OCAxNjMgMTg0L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLXNsYXRlLTUwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigxMDAgMTE2IDEzOS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy10cmFuc3BhcmVudHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5iZy13aGl0ZXstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUgMjU1IDI1NS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5ob3Zlci1iZy1ibGFjazpob3ZlcnstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigwIDAgMC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5ob3Zlci1iZy1lbWVyYWxkLTYwMDpob3ZlcnstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYig1IDE1MCAxMDUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uaG92ZXItYmctcHJpbWFyeS1idXR0b24taG92ZXI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1ob3ZlcikgfS5ob3Zlci1iZy1wcmltYXJ5LWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uKSB9LmhvdmVyLWJnLXNsYXRlLTEwMDpob3ZlcnstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDEgMjQ1IDI0OS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5ob3Zlci1iZy10cmFuc3BhcmVudDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5ob3Zlclw6Ymctc2xhdGUtMTAwOmhvdmVyey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0MSAyNDUgMjQ5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLW9wYWNpdHktMTAsLmhvdmVyLWJnLW9wYWNpdHktMTA6aG92ZXJ7LS11bi1iZy1vcGFjaXR5Oi4xfS5mcm9tLXdoaXRlXC8xMDB7LS11bi1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOjAlOy0tdW4tZ3JhZGllbnQtZnJvbTojZmZmIHZhcigtLXVuLWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdW4tZ3JhZGllbnQtdG8tcG9zaXRpb246MTAwJTstLXVuLWdyYWRpZW50LXRvOiNmZmYwIHZhcigtLXVuLWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXVuLWdyYWRpZW50LXN0b3BzOnZhcigtLXVuLWdyYWRpZW50LWZyb20pLCB2YXIoLS11bi1ncmFkaWVudC10byl9LnZpYS13aGl0ZVwvNDB7LS11bi1ncmFkaWVudC12aWEtcG9zaXRpb246NTAlOy0tdW4tZ3JhZGllbnQtdG86I2ZmZjA7LS11bi1ncmFkaWVudC1zdG9wczp2YXIoLS11bi1ncmFkaWVudC1mcm9tKSwgI2ZmZjYgdmFyKC0tdW4tZ3JhZGllbnQtdmlhLXBvc2l0aW9uKSwgdmFyKC0tdW4tZ3JhZGllbnQtdG8pfS52aWEtd2hpdGVcLzUwey0tdW4tZ3JhZGllbnQtdmlhLXBvc2l0aW9uOjUwJTstLXVuLWdyYWRpZW50LXRvOiNmZmYwOy0tdW4tZ3JhZGllbnQtc3RvcHM6dmFyKC0tdW4tZ3JhZGllbnQtZnJvbSksICNmZmZmZmY4MCB2YXIoLS11bi1ncmFkaWVudC12aWEtcG9zaXRpb24pLCB2YXIoLS11bi1ncmFkaWVudC10byl9LnRvLXRyYW5zcGFyZW50ey0tdW4tZ3JhZGllbnQtdG8tcG9zaXRpb246MTAwJTstLXVuLWdyYWRpZW50LXRvOnRyYW5zcGFyZW50IHZhcigtLXVuLWdyYWRpZW50LXRvLXBvc2l0aW9uKX0uZnJvbS0wXCV7LS11bi1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOjAlfS52aWEtNTBcJXstLXVuLWdyYWRpZW50LXZpYS1wb3NpdGlvbjo1MCV9LnZpYS03MFwley0tdW4tZ3JhZGllbnQtdmlhLXBvc2l0aW9uOjcwJX0uYmctZ3JhZGllbnQtdG8tdHstLXVuLWdyYWRpZW50LXNoYXBlOnRvIHRvcCBpbiBva2xjaDstLXVuLWdyYWRpZW50OnZhcigtLXVuLWdyYWRpZW50LXNoYXBlKSwgdmFyKC0tdW4tZ3JhZGllbnQtc3RvcHMpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHZhcigtLXVuLWdyYWRpZW50KSl9LmZpbGwtY3VycmVudHtmaWxsOmN1cnJlbnRDb2xvcn0uZmlsbC1wcmltYXJ5LWJ1dHRvbntmaWxsOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uKSB9LmZpbGwtcHJpbWFyeS1idXR0b24tY29udGVudHtmaWxsOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uLWNvbnRlbnQpIH0ub2JqZWN0LWNvbnRhaW57b2JqZWN0LWZpdDpjb250YWlufS5wLTB7cGFkZGluZzowfS5wLTBcLjh7cGFkZGluZzouMnJlbX0ucC0xe3BhZGRpbmc6LjI1cmVtfS5wLTFcLjV7cGFkZGluZzouMzc1cmVtfS5wLTJ7cGFkZGluZzouNXJlbX0ucC0ze3BhZGRpbmc6Ljc1cmVtfS5wLTR7cGFkZGluZzoxcmVtfS5wLTh7cGFkZGluZzoycmVtfS5weCwucHgtNHtwYWRkaW5nLWxlZnQ6MXJlbTtwYWRkaW5nLXJpZ2h0OjFyZW19LnB4LTF7cGFkZGluZy1sZWZ0Oi4yNXJlbTtwYWRkaW5nLXJpZ2h0Oi4yNXJlbX0ucHgtMntwYWRkaW5nLWxlZnQ6LjVyZW07cGFkZGluZy1yaWdodDouNXJlbX0ucHgtM3twYWRkaW5nLWxlZnQ6Ljc1cmVtO3BhZGRpbmctcmlnaHQ6Ljc1cmVtfS5weC04e3BhZGRpbmctbGVmdDoycmVtO3BhZGRpbmctcmlnaHQ6MnJlbX0ucHktMXtwYWRkaW5nLXRvcDouMjVyZW07cGFkZGluZy1ib3R0b206LjI1cmVtfS5weS0ye3BhZGRpbmctdG9wOi41cmVtO3BhZGRpbmctYm90dG9tOi41cmVtfS5weS0yXC41e3BhZGRpbmctdG9wOi42MjVyZW07cGFkZGluZy1ib3R0b206LjYyNXJlbX0ucHktM3twYWRkaW5nLXRvcDouNzVyZW07cGFkZGluZy1ib3R0b206Ljc1cmVtfS5wYi0we3BhZGRpbmctYm90dG9tOjB9LnBiLTF7cGFkZGluZy1ib3R0b206LjI1cmVtfS5wYi0ye3BhZGRpbmctYm90dG9tOi41cmVtfS5wYi0ze3BhZGRpbmctYm90dG9tOi43NXJlbX0ucGItNHtwYWRkaW5nLWJvdHRvbToxcmVtfS5wbC0ye3BhZGRpbmctbGVmdDouNXJlbX0ucGwtNCwuZ3JvdXA6aG92ZXIgLmdyb3VwLWhvdmVyXDpub3QtZmlyc3RcOnBsLTQ6bm90KDpmaXJzdC1jaGlsZCl7cGFkZGluZy1sZWZ0OjFyZW19LnByLTF7cGFkZGluZy1yaWdodDouMjVyZW19LnByLTR7cGFkZGluZy1yaWdodDoxcmVtfS5wdC0xe3BhZGRpbmctdG9wOi4yNXJlbX0ucHQtNntwYWRkaW5nLXRvcDoxLjVyZW19LnB0LTl7cGFkZGluZy10b3A6Mi4yNXJlbX0udGV4dC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LnRleHQtbGVmdHt0ZXh0LWFsaWduOmxlZnR9LnRleHQtMnhse2ZvbnQtc2l6ZToxLjVyZW07bGluZS1oZWlnaHQ6MnJlbX0udGV4dC1iYXNle2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjEuNXJlbX0udGV4dC1iYXNlLWlucHV0e2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjEuMjVyZW19LnRleHQtbGd7Zm9udC1zaXplOjEuMTI1cmVtO2xpbmUtaGVpZ2h0OjEuNzVyZW19LnRleHQtc217Zm9udC1zaXplOi44NzVyZW07bGluZS1oZWlnaHQ6MS4yNXJlbX0udGV4dC14c3tmb250LXNpemU6Ljc1cmVtO2xpbmUtaGVpZ2h0OjFyZW19LnRleHQtYmxhY2t7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMCAwIDAvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS50ZXh0LWdyYXktMzAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDIwOSAyMTMgMjE5L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0udGV4dC1ncmF5LTUwMHstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigxMDcgMTE0IDEyOC92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LnRleHQtbmV1dHJhbC00MDB7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMTYzIDE2MyAxNjMvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS50ZXh0LW5ldXRyYWwtNTAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDExNSAxMTUgMTE1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0udGV4dC1wcmltYXJ5e2NvbG9yOnZhcigtLWNvbG9yLXByaW1hcnkpIH0udGV4dC1wcmltYXJ5LWJ1dHRvbntjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbikgfS50ZXh0LXByaW1hcnktYnV0dG9uLWNvbnRlbnR7Y29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24tY29udGVudCkgfS50ZXh0LXByaW1hcnktY29udGVudHtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRlbnQpIH0udGV4dC1yZWQtNTAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDIzOSA2OCA2OC92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LnRleHQtc2xhdGUtNDAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDE0OCAxNjMgMTg0L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0uY29sb3Itc2xhdGUtNTAwLC50ZXh0LXNsYXRlLTUwMHstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigxMDAgMTE2IDEzOS92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LnRleHQtc2xhdGUtNjAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDcxIDg1IDEwNS92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LmNvbG9yLXNsYXRlLTgwMCwudGV4dC1zbGF0ZS04MDB7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMzAgNDEgNTkvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS50ZXh0LXdoaXRley0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDI1NSAyNTUgMjU1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0uaG92ZXItdGV4dC1wcmltYXJ5LWJ1dHRvbi1jb250ZW50OmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uLWNvbnRlbnQpIH0uaG92ZXJcOnRleHQtZ3JheS00MDA6aG92ZXJ7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMTU2IDE2MyAxNzUvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5ob3Zlclw6dGV4dC1zbGF0ZS04MDA6aG92ZXJ7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMzAgNDEgNTkvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5wbGFjZWhvbGRlclw6dGV4dC1zbGF0ZS0zMDA6OnBsYWNlaG9sZGVyey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDIwMyAyMTMgMjI1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0uY29sb3ItcmVkLTYwMHstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigyMjAgMzggMzgvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5ob3Zlclw6Y29sb3Itc2xhdGUtNzAwOmhvdmVyey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDUxIDY1IDg1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0udGV4dC1vcGFjaXR5LTIwey0tdW4tdGV4dC1vcGFjaXR5Oi4yfS5mb250LTIwMHtmb250LXdlaWdodDoyMDB9LmZvbnQtNTAwLC5mb250LW1lZGl1bXtmb250LXdlaWdodDo1MDB9LmZvbnQtYm9sZHtmb250LXdlaWdodDo3MDB9LmZvbnQtbGlnaHR7Zm9udC13ZWlnaHQ6MzAwfS5mb250LXNlbWlib2xke2ZvbnQtd2VpZ2h0OjYwMH0ubGVhZGluZy1cWzIycHhcXXtsaW5lLWhlaWdodDoyMnB4fS5sZWFkaW5nLTRcLjV7bGluZS1oZWlnaHQ6MS4xMjVyZW19LmxlYWRpbmctNVwuNXtsaW5lLWhlaWdodDoxLjM3NXJlbX0ubGVhZGluZy02e2xpbmUtaGVpZ2h0OjEuNXJlbX0ubGVhZGluZy1ub3JtYWx7bGluZS1oZWlnaHQ6MS41fS5pdGFsaWN7Zm9udC1zdHlsZTppdGFsaWN9LnVuZGVybGluZXt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9Lm5vLXVuZGVybGluZSwuaG92ZXItbm8tdW5kZXJsaW5lOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5vcGFjaXR5LTEwe29wYWNpdHk6LjF9Lm9wYWNpdHktMTAwe29wYWNpdHk6MX0ub3BhY2l0eS0yMHtvcGFjaXR5Oi4yfS5vcGFjaXR5LTMwe29wYWNpdHk6LjN9Lm9wYWNpdHktNjB7b3BhY2l0eTouNn0uc2hhZG93ey0tdW4tc2hhZG93OnZhcigtLXVuLXNoYWRvdy1pbnNldCkgMCAxcHggM3B4IDAgdmFyKC0tdW4tc2hhZG93LWNvbG9yLCMwMDAwMDAxYSksdmFyKC0tdW4tc2hhZG93LWluc2V0KSAwIDFweCAycHggLTFweCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKTtib3gtc2hhZG93OnZhcigtLXVuLXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXVuLXJpbmctc2hhZG93KSwgdmFyKC0tdW4tc2hhZG93KX0uc2hhZG93LWxney0tdW4tc2hhZG93OnZhcigtLXVuLXNoYWRvdy1pbnNldCkgMCAxMHB4IDE1cHggLTNweCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSx2YXIoLS11bi1zaGFkb3ctaW5zZXQpIDAgNHB4IDZweCAtNHB4IHZhcigtLXVuLXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdW4tcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdW4tcmluZy1zaGFkb3cpLCB2YXIoLS11bi1zaGFkb3cpfS5zaGFkb3ctbWR7LS11bi1zaGFkb3c6dmFyKC0tdW4tc2hhZG93LWluc2V0KSAwIDRweCA2cHggLTFweCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSx2YXIoLS11bi1zaGFkb3ctaW5zZXQpIDAgMnB4IDRweCAtMnB4IHZhcigtLXVuLXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdW4tcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdW4tcmluZy1zaGFkb3cpLCB2YXIoLS11bi1zaGFkb3cpfS5zaGFkb3ctc217LS11bi1zaGFkb3c6dmFyKC0tdW4tc2hhZG93LWluc2V0KSAwIDFweCAycHggMCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDBkKTtib3gtc2hhZG93OnZhcigtLXVuLXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXVuLXJpbmctc2hhZG93KSwgdmFyKC0tdW4tc2hhZG93KX0uZm9jdXMtd2l0aGluXDpvdXRsaW5lLTI6Zm9jdXMtd2l0aGlue291dGxpbmUtd2lkdGg6MnB4fS5mb2N1cy13aXRoaW5cOm91dGxpbmUtcHJpbWFyeS1mb2N1czpmb2N1cy13aXRoaW57b3V0bGluZS1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWZvY3VzKSB9Lm91dGxpbmUsLmZvY3VzLXdpdGhpblw6b3V0bGluZS1zb2xpZDpmb2N1cy13aXRoaW57b3V0bGluZS1zdHlsZTpzb2xpZH0ub3V0bGluZS1ub25lLC5mb2N1c1w6b3V0bGluZS1ub25lOmZvY3VzLC5mb2N1cy12aXNpYmxlXDpvdXRsaW5lLW5vbmU6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLW9mZnNldDoycHg7b3V0bGluZToycHggc29saWQgIzAwMDB9LmZvY3VzLXdpdGhpblw6cmluZy0zOmZvY3VzLXdpdGhpbnstLXVuLXJpbmctd2lkdGg6M3B4Oy0tdW4tcmluZy1vZmZzZXQtc2hhZG93OnZhcigtLXVuLXJpbmctaW5zZXQpIDAgMCAwIHZhcigtLXVuLXJpbmctb2Zmc2V0LXdpZHRoKSB2YXIoLS11bi1yaW5nLW9mZnNldC1jb2xvcik7LS11bi1yaW5nLXNoYWRvdzp2YXIoLS11bi1yaW5nLWluc2V0KSAwIDAgMCBjYWxjKHZhcigtLXVuLXJpbmctd2lkdGgpICsgdmFyKC0tdW4tcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS11bi1yaW5nLWNvbG9yKTtib3gtc2hhZG93OnZhcigtLXVuLXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXVuLXJpbmctc2hhZG93KSwgdmFyKC0tdW4tc2hhZG93KX0uZm9jdXMtd2l0aGluXDpyaW5nLW9mZnNldC0xOmZvY3VzLXdpdGhpbnstLXVuLXJpbmctb2Zmc2V0LXdpZHRoOjFweH0uZm9jdXMtd2l0aGluXDpyaW5nLWJsdWUtNDAwOmZvY3VzLXdpdGhpbnstLXVuLXJpbmctb3BhY2l0eToxOy0tdW4tcmluZy1jb2xvcjpyZ2IoOTYgMTY1IDI1MC92YXIoLS11bi1yaW5nLW9wYWNpdHkpKSB9LmZvY3VzXDpyaW5nLWJsdWUtNTAwOmZvY3Vzey0tdW4tcmluZy1vcGFjaXR5OjE7LS11bi1yaW5nLWNvbG9yOnJnYig1OSAxMzAgMjQ2L3ZhcigtLXVuLXJpbmctb3BhY2l0eSkpIH0udHJhbnNpdGlvbnt0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yLGJhY2tncm91bmQtY29sb3IsYm9yZGVyLWNvbG9yLHRleHQtZGVjb3JhdGlvbi1jb2xvcixmaWxsLHN0cm9rZSxvcGFjaXR5LGJveC1zaGFkb3csdHJhbnNmb3JtLGZpbHRlciwtd2Via2l0LWJhY2tkcm9wLWZpbHRlcixiYWNrZHJvcC1maWx0ZXI7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS50cmFuc2l0aW9uLWFsbHt0cmFuc2l0aW9uLXByb3BlcnR5OmFsbDt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LnRyYW5zaXRpb24tY29sb3Jze3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3IsYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3IsdGV4dC1kZWNvcmF0aW9uLWNvbG9yLGZpbGwsc3Ryb2tlO3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0udHJhbnNpdGlvbi1vcGFjaXR5e3RyYW5zaXRpb24tcHJvcGVydHk6b3BhY2l0eTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LnRyYW5zaXRpb24tcGFkZGluZy00MDB7dHJhbnNpdGlvbi1wcm9wZXJ0eTpwYWRkaW5nO3RyYW5zaXRpb24tZHVyYXRpb246LjRzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS50cmFuc2l0aW9uLXRyYW5zZm9ybXt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LnRyYW5zaXRpb24td2lkdGgtMjUwe3RyYW5zaXRpb24tcHJvcGVydHk6d2lkdGg7dHJhbnNpdGlvbi1kdXJhdGlvbjouMjVzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS5kdXJhdGlvbi0xNTB7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzfS5kdXJhdGlvbi0zMDB7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9LmR1cmF0aW9uLTc1e3RyYW5zaXRpb24tZHVyYXRpb246NzVtc30uZGVsYXktMHt0cmFuc2l0aW9uLWRlbGF5OjBzfS5lYXNlLWluLW91dHt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0uZWFzZS1vdXR7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0uY29udGVudC1cW1wiXCJcXXtjb250ZW50OiIifS5iZy1wcmltYXJ5LWdyYWRpZW50e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDgwZGVnLCB2YXIoLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LWZyb20pLCB2YXIoLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LXRvKSAxMzAlKX0uYmctcHJpbWFyeS1ncmFkaWVudC1idXR0b257YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoODBkZWcsIHZhcigtLWNvbG9yLXByaW1hcnktZ3JhZGllbnQtYnV0dG9uLWZyb20pLCB2YXIoLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LWJ1dHRvbi10bykgMTMwJSl9LmJnLXByaW1hcnktZ3JhZGllbnQtaG92ZXI6aG92ZXJ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoODBkZWcsIHZhcigtLWNvbG9yLXByaW1hcnktZ3JhZGllbnQtaG92ZXItZnJvbSksIHZhcigtLWNvbG9yLXByaW1hcnktZ3JhZGllbnQtaG92ZXItdG8pIDEzMCUpfS5saW5lLWNsYW1wLTV7LXdlYmtpdC1saW5lLWNsYW1wOjU7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVufS50eXBpbmctaW5kaWNhdG9yLnN2ZWx0ZS1zNDB4Z2t7Ym9yZGVyLXJhZGl1czo5OTk5cHh9LnR5cGluZy1pbmRpY2F0b3Iuc20uc3ZlbHRlLXM0MHhna3t3aWR0aDouMjVyZW07aGVpZ2h0Oi4yNXJlbX0udHlwaW5nLWluZGljYXRvci5tZC5zdmVsdGUtczQweGdre3dpZHRoOi41cmVtO2hlaWdodDouNXJlbX0udHlwaW5nLWluZGljYXRvci5pbmRpY2F0b3ItY29sb3ItYmxhY2suc3ZlbHRlLXM0MHhna3stLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigwIDAgMC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS50eXBpbmctaW5kaWNhdG9yLmluZGljYXRvci1jb2xvci1ncmF5LnN2ZWx0ZS1zNDB4Z2t7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMTAwIDExNiAxMzkvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0udHlwaW5nLWluZGljYXRvci5zdmVsdGUtczQweGdrOm5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1sZWZ0Oi4yNXJlbX0udHlwaW5nLWluZGljYXRvci1zZWNvbmQuc3ZlbHRlLXM0MHhna3thbmltYXRpb24tZGVsYXk6LjFzfS50eXBpbmctaW5kaWNhdG9yLXRoaXJkLnN2ZWx0ZS1zNDB4Z2t7YW5pbWF0aW9uLWRlbGF5Oi4yc30uYnRuLnN2ZWx0ZS0xZTg0bjd3e2JvcmRlci1yYWRpdXM6MS41cmVtO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmctbGVmdDoxcmVtO3BhZGRpbmctcmlnaHQ6MXJlbTt0cmFuc2l0aW9uLXByb3BlcnR5OmFsbDt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7ZGlzcGxheTppbmxpbmUtZmxleH0uYnRuLXByaW1hcnkuc3ZlbHRlLTFlODRuN3d7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbikgO2NvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uLWNvbnRlbnQpIH0uYnRuLXByaW1hcnkuc3ZlbHRlLTFlODRuN3c6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1ob3ZlcikgfS5idG4tb3V0bGluZS5zdmVsdGUtMWU4NG43d3tib3JkZXItd2lkdGg6MXB4O2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbik7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIDstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigwIDAgMC92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LmJ0bi1vdXRsaW5lLnN2ZWx0ZS0xZTg0bjd3OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIDtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1jb250ZW50KSB9LmJ0bi1yYWlzZWQuc3ZlbHRlLTFlODRuN3d7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIDstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigxMDAgMTE2IDEzOS92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSA7Ym94LXNoYWRvdzowIDJweCA2cHggIzAwMDAwMDI5fS5idG4tcmFpc2VkLnN2ZWx0ZS0xZTg0bjd3OmhvdmVyey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0MSAyNDUgMjQ5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJ0bi1zbS5zdmVsdGUtMWU4NG43d3toZWlnaHQ6MnJlbX0uYnRuLW1kLnN2ZWx0ZS0xZTg0bjd3e2hlaWdodDoyLjVyZW19LmJ0bi1sZy5zdmVsdGUtMWU4NG43d3toZWlnaHQ6M3JlbX0uYnRuLWRpc2FibGVkLnN2ZWx0ZS0xZTg0bjd3e2N1cnNvcjpub3QtYWxsb3dlZDtvcGFjaXR5Oi4yfS5kYXJrLnN2ZWx0ZS1zajk5aDN7YmFja2dyb3VuZC1jb2xvcjojNGI1NTYzZjI7cGFkZGluZzouNXJlbSAuNzVyZW19LmxpZ2h0LnN2ZWx0ZS1zajk5aDN7YmFja2dyb3VuZC1jb2xvcjojOWNhM2FmZjI7cGFkZGluZzouMjVyZW0gLjVyZW19c3ZnLnN2ZWx0ZS15aXhoYXR7ZmlsbDpjdXJyZW50Q29sb3I7d2lkdGg6MWVtO2hlaWdodDoxZW19LmNhcm91c2VsLnN2ZWx0ZS0xMHFxanpke2p1c3RpZnktY29udGVudDpzdGFydDthbGlnbi1pdGVtczpzdGFydDt3aWR0aDoxMDAlfS5jYXJvdXNlbC5zdmVsdGUtMTBxcWp6ZDpob3ZlciAuYnV0dG9uOndoZXJlKC5zdmVsdGUtMTBxcWp6ZCksLmNhcm91c2VsLnN2ZWx0ZS0xMHFxanpkOmZvY3VzLXdpdGhpbiAuYnV0dG9uOndoZXJlKC5zdmVsdGUtMTBxcWp6ZCl7b3BhY2l0eToxfS5idXR0b24uc3ZlbHRlLTEwcXFqemR7b3BhY2l0eTowO3otaW5kZXg6MTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO2JvcmRlcjpub25lO3RyYW5zaXRpb246b3BhY2l0eSAuNHM7cG9zaXRpb246YWJzb2x1dGV9LmxlZnQuc3ZlbHRlLTEwcXFqemR7bGVmdDotMWVtfS5yaWdodC5zdmVsdGUtMTBxcWp6ZHtyaWdodDotMWVtfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCB1bHttYXJnaW4tcmlnaHQ6LjI1cmVtO3BhZGRpbmctbGVmdDoxcmVtO2xpc3Qtc3R5bGUtdHlwZTpkaXNjfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCBsaTpub3QoOmZpcnN0LWNoaWxkKSwubWVzc2FnZS1jb250ZW50LWh0bWwgbGk+dWwsLm1lc3NhZ2UtY29udGVudC1odG1sIGxpPm9se21hcmdpbi10b3A6LjVyZW19Lm1lc3NhZ2UtY29udGVudC1odG1sIG9se21hcmdpbi1yaWdodDouMjVyZW07cGFkZGluZy1sZWZ0OjFyZW07bGlzdC1zdHlsZS10eXBlOmRlY2ltYWx9Lm1lc3NhZ2UtY29udGVudC1odG1sIGF7dGV4dC1kZWNvcmF0aW9uLWxpbmU6dW5kZXJsaW5lfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCBhOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCAqe3doaXRlLXNwYWNlOm5vcm1hbDtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmR9Lm1lc3NhZ2UtY29udGVudC10ZXh0LnN2ZWx0ZS1uZmIweW17b3ZlcmZsb3ctd3JhcDpicmVhay13b3JkO3dvcmQtYnJlYWs6YnJlYWstd29yZDt3aGl0ZS1zcGFjZTpwcmUtd3JhcH0ubWVzc2FnZS1jb250ZW50LXRleHQgYXt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9Lm1lc3NhZ2UtY29udGVudC10ZXh0IGE6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmF2YXRhci1ncm91cC1pdGVtLnN2ZWx0ZS15ZnhhN3Q6Zmlyc3Qtb2YtdHlwZXt6LWluZGV4OjN9LmF2YXRhci1ncm91cC1pdGVtLnN2ZWx0ZS15ZnhhN3Q6bnRoLW9mLXR5cGUoMil7ei1pbmRleDoyfS5hdmF0YXItZ3JvdXAtaXRlbS5zdmVsdGUteWZ4YTd0Om50aC1vZi10eXBlKDMpe3otaW5kZXg6MX0uYXZhdGFyLXNtLnN2ZWx0ZS15ZnhhN3Q6bm90KDpmaXJzdC1jaGlsZCl7bWFyZ2luLWxlZnQ6LTEycHh9LmF2YXRhci1tZC5zdmVsdGUteWZ4YTd0Om5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1sZWZ0Oi0xNnB4fS5hdmF0YXItbGcuc3ZlbHRlLXlmeGE3dDpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4tbGVmdDotMjJweH0ucmVtb3ZlSWNvbi5zdmVsdGUtMTFmM2Jkd3tvcGFjaXR5OjA7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5O3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0uYXR0YWNobWVudFdyYXBwZXIuc3ZlbHRlLTExZjNiZHc6aG92ZXIgLnJlbW92ZUljb246d2hlcmUoLnN2ZWx0ZS0xMWYzYmR3KSwuYXR0YWNobWVudFdyYXBwZXIuc3ZlbHRlLTExZjNiZHc6Zm9jdXMtd2l0aGluIC5yZW1vdmVJY29uOndoZXJlKC5zdmVsdGUtMTFmM2Jkdyl7b3BhY2l0eToxfS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2V7b3ZlcnNjcm9sbC1iZWhhdmlvcjpjb250YWluO3Njcm9sbGJhci13aWR0aDpub25lO2ZsZXg6MTttYXgtaGVpZ2h0OjMycHg7bWFyZ2luLXRvcDouNzVyZW07bWFyZ2luLWJvdHRvbTouNzVyZW07ZGlzcGxheTpncmlkO292ZXJmbG93OmhpZGRlbiBhdXRvfS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2U6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0udGV4dGFyZWEtY29udGFpbmVyLXJlc2l6YWJsZS5zdmVsdGUtMXRsOWxjZXttYXgtaGVpZ2h0OjEyNXB4fS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2U6YWZ0ZXJ7Y29udGVudDphdHRyKGRhdGEtdGV4dGFyZWEtdmFsdWUpICIgIjt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt2aXNpYmlsaXR5OmhpZGRlbjtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmQ7d29yZC1icmVhazpicmVhay13b3JkfS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2U6YWZ0ZXIsdGV4dGFyZWEuc3ZlbHRlLTF0bDlsY2V7Zm9udC1zaXplOmluaGVyaXQ7Z3JpZC1hcmVhOjEvMS8yLzI7bWFyZ2luLWxlZnQ6MXJlbTttYXJnaW4tcmlnaHQ6Ljc1cmVtfXRleHRhcmVhLnN2ZWx0ZS0xdGw5bGNlOjpwbGFjZWhvbGRlcnt3b3JkLWJyZWFrOmJyZWFrLWFsbDtvdmVyZmxvdzpoaWRkZW59ZW0tZW1vamktcGlja2Vyey0tYm9yZGVyLXJhZGl1czoxMnB4Oy0tdW4tYm9yZGVyLW9wYWNpdHk6MTtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1jb2xvcjpyZ2IoMjI2IDIzMiAyNDAvdmFyKC0tdW4tYm9yZGVyLW9wYWNpdHkpKTtib3JkZXItcmFkaXVzOi43NXJlbTt3aWR0aDoxMDAlO2hlaWdodDo0MDBweDttYXgtaGVpZ2h0Ojgwdmg7cGFkZGluZy10b3A6LjI1cmVtO2JveC1zaGFkb3c6MCAxcHggMTVweCAxcHggIzAwMDAwMDFmfS5zd2l0Y2guc3ZlbHRlLTF5emZ6em97LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjI5IDIzMSAyMzUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIDtib3JkZXItcmFkaXVzOjk5OTlweDt3aWR0aDoyLjc1cmVtO2hlaWdodDoxLjVyZW07dHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcixiYWNrZ3JvdW5kLWNvbG9yLGJvcmRlci1jb2xvcix0ZXh0LWRlY29yYXRpb24tY29sb3IsZmlsbCxzdHJva2U7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS5zd2l0Y2guc3ZlbHRlLTF5emZ6em86Zm9jdXN7b3V0bGluZS1vZmZzZXQ6MnB4O291dGxpbmU6MnB4IHNvbGlkICMwMDAwfS5zd2l0Y2guc3ZlbHRlLTF5emZ6em86YWZ0ZXJ7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci13aWR0aDoxcHg7Ym9yZGVyLWNvbG9yOnJnYigyMDkgMjEzIDIxOS92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpOy0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0NSAyNDUgMjQ1L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSA7Y29udGVudDoiIjtib3JkZXItcmFkaXVzOjk5OTlweDt3aWR0aDoxLjI1cmVtO2hlaWdodDoxLjI1cmVtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MnB4O2xlZnQ6MnB4fS5zd2l0Y2guY2hlY2tlZC5zdmVsdGUtMXl6Znp6b3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uKSB9LnN3aXRjaC5jaGVja2VkLnN2ZWx0ZS0xeXpmenpvOmFmdGVyey0tdW4tdHJhbnNsYXRlLXg6MTAwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWCh2YXIoLS11bi10cmFuc2xhdGUteCkpIHRyYW5zbGF0ZVkodmFyKC0tdW4tdHJhbnNsYXRlLXkpKSB0cmFuc2xhdGVaKHZhcigtLXVuLXRyYW5zbGF0ZS16KSkgcm90YXRlKHZhcigtLXVuLXJvdGF0ZSkpIHJvdGF0ZVgodmFyKC0tdW4tcm90YXRlLXgpKSByb3RhdGVZKHZhcigtLXVuLXJvdGF0ZS15KSkgcm90YXRlWih2YXIoLS11bi1yb3RhdGUteikpIHNrZXdYKHZhcigtLXVuLXNrZXcteCkpIHNrZXdZKHZhcigtLXVuLXNrZXcteSkpIHNjYWxlWCh2YXIoLS11bi1zY2FsZS14KSkgc2NhbGVZKHZhcigtLXVuLXNjYWxlLXkpKSBzY2FsZVoodmFyKC0tdW4tc2NhbGUteikpOy0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0NSAyNDUgMjQ1L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmludmFsaWQuc3ZlbHRlLTEyZjRjMWcsLmludmFsaWQuc3ZlbHRlLTE5bTN1Y3l7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoMjM5IDY4IDY4L3ZhcigtLXVuLWJvcmRlci1vcGFjaXR5KSl9c2VsZWN0LnN2ZWx0ZS04aDVycTR7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSdub25lJyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDcGF0aCBzdHJva2U9JyUyMzZCNzI4MCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzEuNScgZD0nbTYgOCA0IDQgNC00Jy8lM0UlM0Mvc3ZnJTNFIik7YmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCAuNXJlbSBjZW50ZXI7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZToxLjVlbSAxLjVlbX0uaW52YWxpZC5zdmVsdGUtOGg1cnE0ey0tdW4tYm9yZGVyLW9wYWNpdHk6MTtib3JkZXItY29sb3I6cmdiKDIzOSA2OCA2OC92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpfS5pY29uLnN2ZWx0ZS0xcnNhMnF2e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIDtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1jb250ZW50KSA7Ym9yZGVyLXJhZGl1czoxLjVyZW07cGFkZGluZzouNXJlbTtkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX0uZHJhd2VyLWJ1dHRvbi5zdmVsdGUtajZleHEwe3RleHQtYWxpZ246bGVmdDtib3JkZXItcmFkaXVzOi41cmVtO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDoxMDAlO3BhZGRpbmc6LjVyZW07dHJhbnNpdGlvbjpjb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLGJhY2tncm91bmQtY29sb3IgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxib3JkZXItY29sb3IgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSx0ZXh0LWRlY29yYXRpb24tY29sb3IgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxmaWxsIDc1bXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksc3Ryb2tlIDc1bXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7ZGlzcGxheTpmbGV4fS5kcmF3ZXItYnV0dG9uLnN2ZWx0ZS1qNmV4cTA6aG92ZXJ7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjQ1IDI0NSAyNDUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uZHJhd2VyLWJ1dHRvbi1kaXNhYmxlZC5zdmVsdGUtajZleHEwe3RleHQtYWxpZ246bGVmdDtvcGFjaXR5Oi4zO2JvcmRlci1yYWRpdXM6LjVyZW07YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOjEwMCU7cGFkZGluZzouNXJlbTtkaXNwbGF5OmZsZXh9LmRyYXdlci1idXR0b24tZGlzYWJsZWQuc3ZlbHRlLWo2ZXhxMDpob3ZlcntjdXJzb3I6bm90LWFsbG93ZWR9LmRyYXdlci1zd2l0Y2guc3ZlbHRlLTFqZXN4dGN7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7dGV4dC1hbGlnbjpsZWZ0O2JvcmRlci1yYWRpdXM6LjVyZW07YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOjEwMCU7cGFkZGluZzouNXJlbTt0cmFuc2l0aW9uOmNvbG9yIDc1bXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksYmFja2dyb3VuZC1jb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLGJvcmRlci1jb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLHRleHQtZGVjb3JhdGlvbi1jb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLGZpbGwgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxzdHJva2UgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtkaXNwbGF5OmZsZXh9LmRyYXdlci1zd2l0Y2guc3ZlbHRlLTFqZXN4dGM6aG92ZXJ7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjQ1IDI0NSAyNDUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0ubWVzc2FnZS1jb250ZW50LnN2ZWx0ZS0xZ2Z2aGk2e292ZXJmbG93LXdyYXA6YnJlYWstd29yZDt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7d2hpdGUtc3BhY2U6cHJlLXdyYXB9Lm1lc3NhZ2UtY29udGVudC1sZWZ0LnN2ZWx0ZS0xZ2Z2aGk2e2JvcmRlci1yYWRpdXM6LjI1cmVtIDEuNXJlbSAxLjVyZW0gLjI1cmVtfS5tZXNzYWdlLWNvbnRlbnQtbGVmdC1maXJzdC5zdmVsdGUtMWdmdmhpNntib3JkZXItdG9wLWxlZnQtcmFkaXVzOjEuNXJlbX0ubWVzc2FnZS1jb250ZW50LWxlZnQtbGFzdC5zdmVsdGUtMWdmdmhpNntib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjEuNXJlbX0ubWVzc2FnZS1jb250ZW50LXJpZ2h0LnN2ZWx0ZS0xZ2Z2aGk2e2JvcmRlci1yYWRpdXM6MS41cmVtIC4yNXJlbSAuMjVyZW0gMS41cmVtfS5tZXNzYWdlLWNvbnRlbnQtcmlnaHQtZmlyc3Quc3ZlbHRlLTFnZnZoaTZ7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtfS5tZXNzYWdlLWNvbnRlbnQtcmlnaHQtbGFzdC5zdmVsdGUtMWdmdmhpNntib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czoxLjVyZW19LmNvdW50LWFuaW1hdGUuc3ZlbHRlLTIyOGM3bnthbmltYXRpb246LjJzIGN1YmljLWJlemllciguNCwyLC42LDEpIHN2ZWx0ZS0yMjhjN24tcG9wLXNjYWxlfUBrZXlmcmFtZXMgc3ZlbHRlLTIyOGM3bi1wb3Atc2NhbGV7MCV7dHJhbnNmb3JtOnNjYWxlKDEpfTUwJXt0cmFuc2Zvcm06c2NhbGUoMS4xKX10b3t0cmFuc2Zvcm06c2NhbGUoMSl9fQovKiR2aXRlJDoxKi8="}},"time_used":29,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":29,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"binarymate.com/assets/landing/platform-tiny/images/arrow-put.svg","fqdn":"binarymate.com","domain":"binarymate.com","tld":"com"},"ip":{"addr":"172.67.160.195","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://binarymate.com/en/tyni-platform?r=https://247optiontradefx.live/dashboard/register","date":"2026-07-27T02:50:33.781Z","timestamp":1785120633781,"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":"binarymate.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 14 Jun 2026 17:48:17 GMT","end":"Sat, 12 Sep 2026 18:48:16 GMT"},"fingerprint":{"sha1":"26:CD:F2:69:FE:7F:C6:01:56:78:36:8F:A3:D6:FB:30:04:43:72:C0","sha256":"84:94:E9:41:71:FF:C7:FC:0D:D1:FE:9F:61:E9:EB:27:62:B3:01:D9:AA:F6:35:FB:C6:FA:4A:CE:9B:16:0B:7E"}}},"request":{"raw":"GET /assets/landing/platform-tiny/images/arrow-put.svg HTTP/1.1\r\nHost: binarymate.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://binarymate.com/en/tyni-platform?r=https://247optiontradefx.live/dashboard/register\r\nCookie: laravel_session=UYESX7wELN8BSPz4LvfUKeGrrWO22l12CaQ7FWII\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\npriority: u=5,i\r\ncontent-type: image/svg+xml\r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nlast-modified: Thu, 12 May 2016 06:50:27 GMT\r\nserver: cloudflare\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=nPnO%2Ff6AJOzvfZTZ%2FeswlO3uqW18PTwafOyAX5HF%2FwpY8LYkdJcNP8pzebkrLRot420WIMLG73oPKVa1BmjRIHXf8BBXsBPf9h1CxGO2WcLyFUw2YB1s8aK4T%2B9xU7FDaw%3D%3D\"}]}\r\nage: 373\r\ncache-control: max-age=14400\r\ncf-cache-status: HIT\r\ncontent-encoding: zstd\r\netag: W/\"573427b3-2b7\"\r\ncf-ray: a21856592ad98be6-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"]}],"data":{"size":695,"size_decoded":1132,"mime_type":"image/svg+xml","magic":"SVG Scalable Vector Graphics image","md5":"78bb6c6425b71a3fb165f78f42df16a2","sha1":"d94aa9f3426a38d02f594cdd40c5bf5cc3e34d64","sha256":"b97e6130e33d5cb960bc09c84ba5397fce8345c3181cd76a8ad36f320d74062f","sha512":"14d6b4e2af1014dce1efca3c3c0c9f0745cd8a92addb6178c620fb16ba24cafa4d8fcd89d1ab2e296231d9e4f0a5c1541a4388103719b248e8741b5f9e48cc98","ssdeep":"","tlshash":"520123775398279c948807294e2412872650c4537b30d5a8ffce3563df04ce310e6d5b","first_seen":"2023-05-30T11:35:28Z","last_seen":"2026-07-27T05:39:36.889636Z","times_seen":105,"resource_available":false,"data":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzNSIgaGVpZ2h0PSIyNyIgdmlld0JveD0iMCAwIDM1IDI3Ij4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjZmZmOwogICAgICAgIGZpbGwtcnVsZTogZXZlbm9kZDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTMuMjQxLDIyLjc4MWMxLjMsMS4xMywyLjEyOC4xNTksMi4xMjgsMC4xNTksMS4wNzQsMC4xODQsMS43NDYtMS45ODIsMi42LTIuNjFsMC4wMTcsNi42NTlMMTAsMjcsOS45ODksMTguOTk0QTM4LjcyMiwzOC43MjIsMCwwLDAsMTMuMjQxLDIyLjc4MVptLTcuMi02Ljc3MiwxLjk1NCwyLjRWMjdIMC4wMTRMMCw5Wm03LjkwNy00LjU3Mkw0LjMzNiwwLjgyOEEyLjUyNiwyLjUyNiwwLDAsMCwuODMxLjYxNiwyLjM4LDIuMzgsMCwwLDAsLjYxMyw0LjAzNEwxMi4xMjksMTYuNzQzYTIuNDcsMi40NywwLDAsMCwxLjg4OS44MTcsMi41MTIsMi41MTIsMCwwLDAsMS44Ny0uODU3bDMuMzIzLTMuODM2TDI1LjMxNywyMC4xLDE5LjYsMjQuODc4LDMzLjg0LDI2LDM1LDExLjk4NGwtNS45Miw0Ljk1NEwyMS4xNTIsNy41NDhhMi41MDYsMi41MDYsMCwwLDAtMS45LS44OCwyLjQ3NSwyLjQ3NSwwLDAsMC0xLjkxMi44NTlaIi8+Cjwvc3ZnPgo="}},"time_used":6,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/80706.a5913aa6ad62d9dbf031.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.879Z","timestamp":1785120633879,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/80706.a5913aa6ad62d9dbf031.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-1be6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c1ba3562ccf0d0c39d45258b25dc49ac\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":7142,"size_decoded":4236,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3068)","md5":"7d7a3ddeb844a1fdfe8b024f9df9f0b6","sha1":"b3afece36b14fafc7889e9b954f9736c892a2849","sha256":"0752584a0f2ad3bba4f44bbd6a44bf08a76726c524b79367996ab9b20e03bfba","sha512":"c0b04bf9ca52fee536a54ae9fcb3fcac9ee210f95be1205e4fe48f0cbb1f25a4db788a4ae10cd4b5ee13e1dc5159c2a4d48516d50bf1ee07d2da1a00fa95ac38","ssdeep":"96:VI23hKdh7P1lIbeWL9aqfMbFNriK6Vizc/MuomCA9P0LX4BYyCnsI6T:n3wT9lIbeWJaqfvXQcEA0LHxnf6T","tlshash":"c4e1c6c832b1f0eaa3e325e480ab5806e13a6d5a558e60b6e34557d37874fc540ffec5","first_seen":"2026-07-23T13:38:20.481503Z","last_seen":"2026-07-27T05:16:58.386461Z","times_seen":759,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s4MDcwNl0sezcxMjc0NShyLGUsdCl7dmFyIG47IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBpLG89MWU2LHM9MWU2LGM9IltiaWcuanNdICIsZj1jKyJJbnZhbGlkICIsdT1mKyJkZWNpbWFsIHBsYWNlcyIsaD1mKyJyb3VuZGluZyBtb2RlIixsPWMrIkRpdmlzaW9uIGJ5IHplcm8iLGE9e30sZz12b2lkIDAsdj0vXi0/KFxkKyhcLlxkKik/fFwuXGQrKShlWystXT9cZCspPyQvaTtmdW5jdGlvbiB3KHIsZSx0LG4pe3ZhciBpPXIuYztpZih0PT09ZyYmKHQ9ci5jb25zdHJ1Y3Rvci5STSksMCE9PXQmJjEhPT10JiYyIT09dCYmMyE9PXQpdGhyb3cgRXJyb3IoaCk7aWYoZTwxKW49Mz09PXQmJihufHwhIWlbMF0pfHwwPT09ZSYmKDE9PT10JiZpWzBdPj01fHwyPT09dCYmKGlbMF0+NXx8NT09PWlbMF0mJihufHxpWzFdIT09ZykpKSxpLmxlbmd0aD0xLG4/KHIuZT1yLmUtZSsxLGlbMF09MSk6aVswXT1yLmU9MDtlbHNlIGlmKGU8aS5sZW5ndGgpe2lmKG49MT09PXQmJmlbZV0+PTV8fDI9PT10JiYoaVtlXT41fHw1PT09aVtlXSYmKG58fGlbZSsxXSE9PWd8fDEmaVtlLTFdKSl8fDM9PT10JiYobnx8ISFpWzBdKSxpLmxlbmd0aD1lLS0sbilmb3IoOysraVtlXT45OylpW2VdPTAsZS0tfHwoKytyLmUsaS51bnNoaWZ0KDEpKTtmb3IoZT1pLmxlbmd0aDshaVstLWVdOylpLnBvcCgpfXJldHVybiByfWZ1bmN0aW9uIHAocixlLHQpe3ZhciBuPXIuZSxpPXIuYy5qb2luKCIiKSxvPWkubGVuZ3RoO2lmKGUpaT1pLmNoYXJBdCgwKSsobz4xPyIuIitpLnNsaWNlKDEpOiIiKSsobjwwPyJlIjoiZSsiKStuO2Vsc2UgaWYobjwwKXtmb3IoOysrbjspaT0iMCIraTtpPSIwLiIraX1lbHNlIGlmKG4+MClpZigrK24+bylmb3Iobi09bztuLS07KWkrPSIwIjtlbHNlIG48byYmKGk9aS5zbGljZSgwLG4pKyIuIitpLnNsaWNlKG4pKTtlbHNlIG8+MSYmKGk9aS5jaGFyQXQoMCkrIi4iK2kuc2xpY2UoMSkpO3JldHVybiByLnM8MCYmdD8iLSIraTppfWEuYWJzPWZ1bmN0aW9uKCl7dmFyIHI9bmV3IHRoaXMuY29uc3RydWN0b3IodGhpcyk7cmV0dXJuIHIucz0xLHJ9LGEuY21wPWZ1bmN0aW9uKHIpe3ZhciBlLHQ9dGhpcyxuPXQuYyxpPShyPW5ldyB0LmNvbnN0cnVjdG9yKHIpKS5jLG89dC5zLHM9ci5zLGM9dC5lLGY9ci5lO2lmKCFuWzBdfHwhaVswXSlyZXR1cm4gblswXT9vOmlbMF0/LXM6MDtpZihvIT1zKXJldHVybiBvO2lmKGU9bzwwLGMhPWYpcmV0dXJuIGM+Zl5lPzE6LTE7Zm9yKHM9KGM9bi5sZW5ndGgpPChmPWkubGVuZ3RoKT9jOmYsbz0tMTsrK288czspaWYobltvXSE9aVtvXSlyZXR1cm4gbltvXT5pW29dXmU/MTotMTtyZXR1cm4gYz09Zj8wOmM+Zl5lPzE6LTF9LGEuZGl2PWZ1bmN0aW9uKHIpe3ZhciBlPXRoaXMsdD1lLmNvbnN0cnVjdG9yLG49ZS5jLGk9KHI9bmV3IHQocikpLmMscz1lLnM9PXIucz8xOi0xLGM9dC5EUDtpZihjIT09fn5jfHxjPDB8fGM+byl0aHJvdyBFcnJvcih1KTtpZighaVswXSl0aHJvdyBFcnJvcihsKTtpZighblswXSlyZXR1cm4gci5zPXMsci5jPVtyLmU9MF0scjt2YXIgZixoLGEsdixwLGQ9aS5zbGljZSgpLEU9Zj1pLmxlbmd0aCxtPW4ubGVuZ3RoLGI9bi5zbGljZSgwLGYpLFA9Yi5sZW5ndGgsXz1yLEQ9Xy5jPVtdLGs9MCxNPWMrKF8uZT1lLmUtci5lKSsxO2ZvcihfLnM9cyxzPU08MD8wOk0sZC51bnNoaWZ0KDApO1ArKzxmOyliLnB1c2goMCk7ZG97Zm9yKGE9MDthPDEwO2ErKyl7aWYoZiE9KFA9Yi5sZW5ndGgpKXY9Zj5QPzE6LTE7ZWxzZSBmb3IocD0tMSx2PTA7KytwPGY7KWlmKGlbcF0hPWJbcF0pe3Y9aVtwXT5iW3BdPzE6LTE7YnJlYWt9aWYoISh2PDApKWJyZWFrO2ZvcihoPVA9PWY/aTpkO1A7KXtpZihiWy0tUF08aFtQXSl7Zm9yKHA9UDtwJiYhYlstLXBdOyliW3BdPTk7LS1iW3BdLGJbUF0rPTEwfWJbUF0tPWhbUF19Zm9yKDshYlswXTspYi5zaGlmdCgpfURbaysrXT12P2E6KythLGJbMF0mJnY/YltQXT1uW0VdfHwwOmI9W25bRV1dfXdoaWxlKChFKys8bXx8YlswXSE9PWcpJiZzLS0pO3JldHVybiBEWzBdfHwxPT1rfHwoRC5zaGlmdCgpLF8uZS0tLE0tLSksaz5NJiZ3KF8sTSx0LlJNLGJbMF0hPT1nKSxffSxhLmVxPWZ1bmN0aW9uKHIpe3JldHVybiAwPT09dGhpcy5jbXAocil9LGEuZ3Q9ZnVuY3Rpb24ocil7cmV0dXJuIHRoaXMuY21wKHIpPjB9LGEuZ3RlPWZ1bmN0aW9uKHIpe3JldHVybiB0aGlzLmNtcChyKT4tMX0sYS5sdD1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy5jbXAocik8MH0sYS5sdGU9ZnVuY3Rpb24ocil7cmV0dXJuIHRoaXMuY21wKHIpPDF9LGEubWludXM9YS5zdWI9ZnVuY3Rpb24ocil7dmFyIGUsdCxuLGksbz10aGlzLHM9by5jb25zdHJ1Y3RvcixjPW8ucyxmPShyPW5ldyBzKHIpKS5zO2lmKGMhPWYpcmV0dXJuIHIucz0tZixvLnBsdXMocik7dmFyIHU9by5jLnNsaWNlKCksaD1vLmUsbD1yLmMsYT1yLmU7aWYoIXVbMF18fCFsWzBdKXJldHVybiBsWzBdP3Iucz0tZjp1WzBdP3I9bmV3IHMobyk6ci5zPTEscjtpZihjPWgtYSl7Zm9yKChpPWM8MCk/KGM9LWMsbj11KTooYT1oLG49bCksbi5yZXZlcnNlKCksZj1jO2YtLTspbi5wdXNoKDApO24ucmV2ZXJzZSgpfWVsc2UgZm9yKHQ9KChpPXUubGVuZ3RoPGwubGVuZ3RoKT91OmwpLmxlbmd0aCxjPWY9MDtmPHQ7ZisrKWlmKHVbZl0hPWxbZl0pe2k9dVtmXTxsW2ZdO2JyZWFrfWlmKGkmJihuPXUsdT1sLGw9bixyLnM9LXIucyksKGY9KHQ9bC5sZW5ndGgpLShlPXUubGVuZ3RoKSk+MClmb3IoO2YtLTspdVtlKytdPTA7Zm9yKGY9ZTt0PmM7KXtpZih1Wy0tdF08bFt0XSl7Zm9yKGU9dDtlJiYhdVstLWVdOyl1W2VdPTk7LS11W2VdLHVbdF0rPTEwfXVbdF0tPWxbdF19Zm9yKDswPT09dVstLWZdOyl1LnBvcCgpO2Zvcig7MD09PXVbMF07KXUuc2hpZnQoKSwtLWE7cmV0dXJuIHVbMF18fChyLnM9MSx1PVthPTBdKSxyLmM9dSxyLmU9YSxyfSxhLm1vZD1mdW5jdGlvbihyKXt2YXIgZSx0PXRoaXMsbj10LmNvbnN0cnVjdG9yLGk9dC5zLG89KHI9bmV3IG4ocikpLnMKO2lmKCFyLmNbMF0pdGhyb3cgRXJyb3IobCk7cmV0dXJuIHQucz1yLnM9MSxlPTE9PXIuY21wKHQpLHQucz1pLHIucz1vLGU/bmV3IG4odCk6KGk9bi5EUCxvPW4uUk0sbi5EUD1uLlJNPTAsdD10LmRpdihyKSxuLkRQPWksbi5STT1vLHRoaXMubWludXModC50aW1lcyhyKSkpfSxhLnBsdXM9YS5hZGQ9ZnVuY3Rpb24ocil7dmFyIGUsdCxuLGk9dGhpcyxvPWkuY29uc3RydWN0b3I7aWYocj1uZXcgbyhyKSxpLnMhPXIucylyZXR1cm4gci5zPS1yLnMsaS5taW51cyhyKTt2YXIgcz1pLmUsYz1pLmMsZj1yLmUsdT1yLmM7aWYoIWNbMF18fCF1WzBdKXJldHVybiB1WzBdfHwoY1swXT9yPW5ldyBvKGkpOnIucz1pLnMpLHI7aWYoYz1jLnNsaWNlKCksZT1zLWYpe2ZvcihlPjA/KGY9cyxuPXUpOihlPS1lLG49Yyksbi5yZXZlcnNlKCk7ZS0tOyluLnB1c2goMCk7bi5yZXZlcnNlKCl9Zm9yKGMubGVuZ3RoLXUubGVuZ3RoPDAmJihuPXUsdT1jLGM9biksZT11Lmxlbmd0aCx0PTA7ZTtjW2VdJT0xMCl0PShjWy0tZV09Y1tlXSt1W2VdK3QpLzEwfDA7Zm9yKHQmJihjLnVuc2hpZnQodCksKytmKSxlPWMubGVuZ3RoOzA9PT1jWy0tZV07KWMucG9wKCk7cmV0dXJuIHIuYz1jLHIuZT1mLHJ9LGEucG93PWZ1bmN0aW9uKHIpe3ZhciBlPXRoaXMsdD1uZXcgZS5jb25zdHJ1Y3RvcigiMSIpLG49dCxpPXI8MDtpZihyIT09fn5yfHxyPC0xZTZ8fHI+cyl0aHJvdyBFcnJvcihmKyJleHBvbmVudCIpO2ZvcihpJiYocj0tcik7MSZyJiYobj1uLnRpbWVzKGUpKSxyPj49MTspZT1lLnRpbWVzKGUpO3JldHVybiBpP3QuZGl2KG4pOm59LGEucHJlYz1mdW5jdGlvbihyLGUpe2lmKHIhPT1+fnJ8fHI8MXx8cj5vKXRocm93IEVycm9yKGYrInByZWNpc2lvbiIpO3JldHVybiB3KG5ldyB0aGlzLmNvbnN0cnVjdG9yKHRoaXMpLHIsZSl9LGEucm91bmQ9ZnVuY3Rpb24ocixlKXtpZihyPT09ZylyPTA7ZWxzZSBpZihyIT09fn5yfHxyPC1vfHxyPm8pdGhyb3cgRXJyb3IodSk7cmV0dXJuIHcobmV3IHRoaXMuY29uc3RydWN0b3IodGhpcykscit0aGlzLmUrMSxlKX0sYS5zcXJ0PWZ1bmN0aW9uKCl7dmFyIHIsZSx0LG49dGhpcyxpPW4uY29uc3RydWN0b3Isbz1uLnMscz1uLmUsZj1uZXcgaSgiMC41Iik7aWYoIW4uY1swXSlyZXR1cm4gbmV3IGkobik7aWYobzwwKXRocm93IEVycm9yKGMrIk5vIHNxdWFyZSByb290Iik7MD09PShvPU1hdGguc3FydChuKyIiKSl8fG89PT0xLzA/KChlPW4uYy5qb2luKCIiKSkubGVuZ3RoK3MmMXx8KGUrPSIwIikscz0oKHMrMSkvMnwwKS0oczwwfHwxJnMpLHI9bmV3IGkoKChvPU1hdGguc3FydChlKSk9PTEvMD8iNWUiOihvPW8udG9FeHBvbmVudGlhbCgpKS5zbGljZSgwLG8uaW5kZXhPZigiZSIpKzEpKStzKSk6cj1uZXcgaShvKyIiKSxzPXIuZSsoaS5EUCs9NCk7ZG97dD1yLHI9Zi50aW1lcyh0LnBsdXMobi5kaXYodCkpKX13aGlsZSh0LmMuc2xpY2UoMCxzKS5qb2luKCIiKSE9PXIuYy5zbGljZSgwLHMpLmpvaW4oIiIpKTtyZXR1cm4gdyhyLChpLkRQLT00KStyLmUrMSxpLlJNKX0sYS50aW1lcz1hLm11bD1mdW5jdGlvbihyKXt2YXIgZSx0PXRoaXMsbj10LmNvbnN0cnVjdG9yLGk9dC5jLG89KHI9bmV3IG4ocikpLmMscz1pLmxlbmd0aCxjPW8ubGVuZ3RoLGY9dC5lLHU9ci5lO2lmKHIucz10LnM9PXIucz8xOi0xLCFpWzBdfHwhb1swXSlyZXR1cm4gci5jPVtyLmU9MF0scjtmb3Ioci5lPWYrdSxzPGMmJihlPWksaT1vLG89ZSx1PXMscz1jLGM9dSksZT1uZXcgQXJyYXkodT1zK2MpO3UtLTspZVt1XT0wO2ZvcihmPWM7Zi0tOyl7Zm9yKGM9MCx1PXMrZjt1PmY7KWM9ZVt1XStvW2ZdKmlbdS1mLTFdK2MsZVt1LS1dPWMlMTAsYz1jLzEwfDA7ZVt1XT1jfWZvcihjPysrci5lOmUuc2hpZnQoKSxmPWUubGVuZ3RoOyFlWy0tZl07KWUucG9wKCk7cmV0dXJuIHIuYz1lLHJ9LGEudG9FeHBvbmVudGlhbD1mdW5jdGlvbihyLGUpe3ZhciB0PXRoaXMsbj10LmNbMF07aWYociE9PWcpe2lmKHIhPT1+fnJ8fHI8MHx8cj5vKXRocm93IEVycm9yKHUpO2Zvcih0PXcobmV3IHQuY29uc3RydWN0b3IodCksKytyLGUpO3QuYy5sZW5ndGg8cjspdC5jLnB1c2goMCl9cmV0dXJuIHAodCwhMCwhIW4pfSxhLnRvRml4ZWQ9ZnVuY3Rpb24ocixlKXt2YXIgdD10aGlzLG49dC5jWzBdO2lmKHIhPT1nKXtpZihyIT09fn5yfHxyPDB8fHI+byl0aHJvdyBFcnJvcih1KTtmb3Iocj1yKyh0PXcobmV3IHQuY29uc3RydWN0b3IodCkscit0LmUrMSxlKSkuZSsxO3QuYy5sZW5ndGg8cjspdC5jLnB1c2goMCl9cmV0dXJuIHAodCwhMSwhIW4pfSxhLnRvSlNPTj1hLnRvU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIHI9dGhpcyxlPXIuY29uc3RydWN0b3I7cmV0dXJuIHAocixyLmU8PWUuTkV8fHIuZT49ZS5QRSwhIXIuY1swXSl9LGEudG9OdW1iZXI9ZnVuY3Rpb24oKXt2YXIgcj1OdW1iZXIocCh0aGlzLCEwLCEwKSk7aWYoITA9PT10aGlzLmNvbnN0cnVjdG9yLnN0cmljdCYmIXRoaXMuZXEoci50b1N0cmluZygpKSl0aHJvdyBFcnJvcihjKyJJbXByZWNpc2UgY29udmVyc2lvbiIpO3JldHVybiByfSxhLnRvUHJlY2lzaW9uPWZ1bmN0aW9uKHIsZSl7dmFyIHQ9dGhpcyxuPXQuY29uc3RydWN0b3IsaT10LmNbMF07aWYociE9PWcpe2lmKHIhPT1+fnJ8fHI8MXx8cj5vKXRocm93IEVycm9yKGYrInByZWNpc2lvbiIpO2Zvcih0PXcobmV3IG4odCkscixlKTt0LmMubGVuZ3RoPHI7KXQuYy5wdXNoKDApfXJldHVybiBwKHQscjw9dC5lfHx0LmU8PW4uTkV8fHQuZT49bi5QRSwhIWkpfSxhLnZhbHVlT2Y9ZnVuY3Rpb24oKXt2YXIgcj10aGlzLGU9ci5jb25zdHJ1Y3RvcjtpZighMD09PWUuc3RyaWN0KXRocm93IEVycm9yKGMrInZhbHVlT2YgZGlzYWxsb3dlZCIpO3JldHVybiBwKHIsci5lPD1lLk5FfHxyLmU+PWUuUEUsITApfSxpPWZ1bmN0aW9uIHIoKXtmdW5jdGlvbiBlKHQpe3ZhciBuPXRoaXM7aWYoIShuIGluc3RhbmNlb2YgZSkpcmV0dXJuIHQ9PT1nP3IoKTpuZXcgZSh0KTtpZih0IGluc3RhbmNlb2YgZSluLnM9dC5zLG4uZT10LmUsbi5jPXQuYy5zbGljZSgpO2Vsc2V7aWYoInN0cmluZyIhPXR5cGVvZiB0KXsKaWYoITA9PT1lLnN0cmljdCl0aHJvdyBUeXBlRXJyb3IoZisibnVtYmVyIik7dD0wPT09dCYmMS90PDA/Ii0wIjpTdHJpbmcodCl9IWZ1bmN0aW9uKHIsZSl7dmFyIHQsbixpO2lmKCF2LnRlc3QoZSkpdGhyb3cgRXJyb3IoZisibnVtYmVyIik7ci5zPSItIj09ZS5jaGFyQXQoMCk/KGU9ZS5zbGljZSgxKSwtMSk6MSwodD1lLmluZGV4T2YoIi4iKSk+LTEmJihlPWUucmVwbGFjZSgiLiIsIiIpKTsobj1lLnNlYXJjaCgvZS9pKSk+MD8odDwwJiYodD1uKSx0Kz0rZS5zbGljZShuKzEpLGU9ZS5zdWJzdHJpbmcoMCxuKSk6dDwwJiYodD1lLmxlbmd0aCk7Zm9yKGk9ZS5sZW5ndGgsbj0wO248aSYmIjAiPT1lLmNoYXJBdChuKTspKytuO2lmKG49PWkpci5jPVtyLmU9MF07ZWxzZXtmb3IoO2k+MCYmIjAiPT1lLmNoYXJBdCgtLWkpOyk7Zm9yKHIuZT10LW4tMSxyLmM9W10sdD0wO248PWk7KXIuY1t0KytdPStlLmNoYXJBdChuKyspfX0obix0KX1uLmNvbnN0cnVjdG9yPWV9cmV0dXJuIGUucHJvdG90eXBlPWEsZS5EUD0yMCxlLlJNPTEsZS5ORT0tNyxlLlBFPTIxLGUuc3RyaWN0PWZhbHNlLGUucm91bmREb3duPTAsZS5yb3VuZEhhbGZVcD0xLGUucm91bmRIYWxmRXZlbj0yLGUucm91bmRVcD0zLGV9KCksaS5kZWZhdWx0PWkuQmlnPWksdm9pZCAwPT09KG49ZnVuY3Rpb24oKXtyZXR1cm4gaX0uY2FsbChlLHQsZSxyKSl8fChyLmV4cG9ydHM9bil9KCl9LDk2MzA5OChyLGUsdCl7InVzZSBzdHJpY3QiO3QuZChlLHtnZXRJc29MYW5ndWFnZUNvZGVGcm9tTGFuZ3VhZ2U6KCk9Pml9KTtjb25zdCBuPXthcl9BRToiYXIiLGJyOiJwdCIsZGVfREU6ImRlIixjYV9FUzoiY2EiLGhlX0lMOiJoZSIsaWRfSUQ6ImlkIixpbjoiZW4iLGtyOiJrbyIsbXNfTVk6Im1zIixzdl9TRToic3YiLHRoX1RIOiJ0aCIsdWs6ImVuIix2aV9WTjoidmkiLHpoX0NOOiJ6aC1IYW5zIix6aF9UVzoiemgtSGFudCIsemg6InpoLUhhbnMiLGh1X0hVOiJodS1IVSJ9O2Z1bmN0aW9uIGkocil7cmV0dXJuIG5bcl18fHJ9fX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/62630.53732daea8178447393f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.179Z","timestamp":1785120634179,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/62630.53732daea8178447393f.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a2900e8-81\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 10 Jun 2026 06:15:04 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.55\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/10/2026 10:16:48\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: aaf0b9ed8c125d98e29eaa8a53065a47\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":129,"size_decoded":881,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"e5f07c5aaef58d5986915a301b87421f","sha1":"bb55df8bc52b7214dada6d5d4ae37eb47151784f","sha256":"49d455199479291a3af612b0f532703169f142725fde325723b363a726fd0ea1","sha512":"9d6d6ae7362ec7e4be470196877102b5a670aa65a7dd5005699788845f5ccd947c955a0b7621e3ad9caf3290a852edf6c6d446adc1f4418e2e91fec9146f22f0","ssdeep":"","tlshash":"8ab02b90a2c00b9800534289e4ff330b007954c77f60108c089dcc804a03120c073bd1","first_seen":"2026-06-10T15:56:02.644043Z","last_seen":"2026-07-27T05:24:15.730235Z","times_seen":838,"resource_available":false,"data":"LmZhZGUtTU9kVWlCWUQgY2FudmFze2ZpbHRlcjpvcGFjaXR5KC4zKTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246ZmlsdGVyIC4zcyBlYXNlLWluLW91dCAuMXN9LmhpZGRlbi1NT2RVaUJZRHtkaXNwbGF5Om5vbmV9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/51031.535f27b776f394c7e43a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.257Z","timestamp":1785120634257,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/51031.535f27b776f394c7e43a.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-ab54\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 63df10d8f375ccc18d5b9a64e9c0c37a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":43860,"size_decoded":14999,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (12910)","md5":"cd701b7197ef255d09501c8c91343508","sha1":"d84cab0e7c13c5801a0a2c6df4aba3f32e6b316d","sha256":"714cb61cc6924e6d1e8241ff191fc5aeb03baebbbaa81c15949838a09fb406f6","sha512":"ae8f1406dc1e5c9e8082d922e8a0d6257582733129c26617fefb99243013fa5f0bc9eb178dd69665786b8fb7fd0b7ccdd7ed719fe60676564b82598253efca75","ssdeep":"768:CcDTi4tT8YE9xSrNtzDcsIj/XWm9hIz4dp9VUZ+n5Vz2mpehIeVeLh9zoJZemINE:hryj/XWgGET5Vz2mp9emzoJZemINyKfS","tlshash":"7e131a35652af5f79ee941ea543754829bbc00523444042876bccdec278caf9f23aef9","first_seen":"2026-07-24T11:36:48.046407Z","last_seen":"2026-07-27T05:19:37.114846Z","times_seen":789,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s1MTAzMV0sezE1Njg1MChlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHt0ZWxlbWV0cnk6KCk9Pmh9KTt2YXIgcz1fKDk0ODM4MCksaT1fKDIyMTA2MSksbj1fKDM4NDAxNyksYT1fKDM3NzIyNikscj1fKDExNzMxMyk7XygzMDAyODYpO2NvbnN0IG89KDAsaS5nZXRMb2dnZXIpKCJDb21tb24uVGVsZW1ldHJ5IiksbD17ZGVmYXVsdDoxNWUzLHNpdGU6M2U1fSxjPVsiYmVmb3JlX3dlYnNvY2tldF9jb25uZWN0aW9uX3RpbWVfZnJhbWUiLCJ3ZWJzb2NrZXRfY29ubmVjdGlvbl90aW1lX2ZyYW1lIiwiZmlyc3Rfc2VyaWVzX2Z1bGxfdGltZV9mcmFtZSIsInBhZ2VfZnVsbF9sb2FkX3RpbWVfZnJhbWUiLCJwYWdlX2xvYWRfdGltZV9mcmFtZSJdO2NvbnN0IGg9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5yZXBvcnRTZW50PW5ldyBzLkRlbGVnYXRlLHRoaXMudGltZUNvdW50ZXJzPXtzZXJpZXM6e21hcmtzOltdfSxzdHVkeTp7fSxwaW5lOnt9fSx0aGlzLl90aW1lb3V0SWRzPXt9LHRoaXMuX2NvbW1vbkFkZGl0aW9uYWxEYXRhPXtjbHVzdGVyOm51bGwsdXNlcklkOiIwIn0sdGhpcy5fcmVwb3J0U3Rhc2g9e319c2V0U2Vzc2lvbkluZm8oZSl7Y29uc3QgdD10aGlzLl9wYXJzZUNsdXN0ZXIoZSk7bnVsbCE9PXQmJih0aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YS5jbHVzdGVyPXQpfXNlbmRSZXBvcnQoZSx0LF8pe2lmKCF0aGlzLl9pc0FibGVUb1NlbmRSZXBvcnQodCkpcmV0dXJuO2NvbnN0IHM9dGhpcy5fZ2V0U3Vic2VydmljZVR5cGUoZSksaT10aGlzLl9nZXRIb3N0KGUscyk7aWYobnVsbCE9PWkpe2lmKF89dm9pZCAwPT09Xz97Y291bnQ6MX06Xyx0aGlzLl9hZGRSZXBvcnRUb1N0YXNoKF8sdCxpKSwhdGhpcy5fdGltZW91dElkc1tlXSl7Y29uc3QgdD1sW2VdPz9sLmRlZmF1bHQ7dGhpcy5fdGltZW91dElkc1tlXT1zZXRUaW1lb3V0KHRoaXMuX3NlbmRUZWxlbWV0cnlUb1NlcnZpY2UuYmluZCh0aGlzLGUsaSksdCl9fWVsc2Ugby5sb2dFcnJvcihgVW5hYmxlIHRvIGdldCBob3N0IGZvciBjb3VudGVyOiAke3R9LCBtZXRyaWMgdHlwZTogJHtlfSwgc2VyaXZjZSB0eXBlOiAke3N9YCl9c2VuZENoYXJ0UmVwb3J0KGUsdCxfPSEwKXt0aGlzLl9zZW5kU2VydmljZVNwZWNpZmllZFJlcG9ydCgiY2hhcnRzIixlLHQsXyl9c2VuZExpbmVUb29sc1N0b3JhZ2VSZXBvcnQoZSx0LF89ITApe3RoaXMuX3NlbmRTZXJ2aWNlU3BlY2lmaWVkUmVwb3J0KCJsaW5lX3Rvb2xzX3N0b3JhZ2UiLGUsdCxfKX1fc2VuZFNlcnZpY2VTcGVjaWZpZWRSZXBvcnQoZSx0LF8scz0hMCl7dGhpcy5fdXBkYXRlVXNlckluZm8oKSxfPXZvaWQgMD09PV8/e2NvdW50OjF9Ol8scyYmKF89dGhpcy5fYXBwZW5kQ29tbW9uQWRkaXRpb25hbEluZm8oXyxbImNsdXN0ZXIiLCJ1c2VySWQiXSkpLHRoaXMuc2VuZFJlcG9ydChlLHQsXyl9X3VwZGF0ZVVzZXJJbmZvKCl7Y29uc3QgZT0idXNlciJpbiB3aW5kb3cmJiJpZCJpbiB3aW5kb3cudXNlcj93aW5kb3cudXNlci5pZDoiMCI7dGhpcy5fY29tbW9uQWRkaXRpb25hbERhdGEudXNlcklkPVN0cmluZyhlKX1faXNBYmxlVG9TZW5kUmVwb3J0KGUpe2NvbnN0IHQ9d2luZG93LlRFTEVNRVRSWV9IT1NUUyxfPWMuaW5jbHVkZXMoZSkscz1Cb29sZWFuKHdpbmRvdy5UcmFkaW5nVmlldz8ub25DaGFydFBhZ2V8fCgwLGEub25XaWRnZXQpKCkpO3JldHVybiB0JiYoIV98fHMpfV9zZW5kVGVsZW1ldHJ5VG9TZXJ2aWNlKGUsdCl7aWYodGhpcy5fcmVwb3J0U3Rhc2guaGFzT3duUHJvcGVydHkodCkpe2NvbnN0IGU9dGhpcy5fY3JvcFBhcmFtcyh0aGlzLl9yZXBvcnRTdGFzaFt0XSksXz10aGlzLl9yZW5hbWVBbGxQYXJhbXMoZSkscz17ZXZlbnQ6InJlcG9ydF9zdGFzaCIscGFyYW1zOnRoaXMuX2NsZWFuQWxsUGFyYW1zKF8pfTtvLmxvZ0RlYnVnKGBSZXBvcnQgdG8gaG9zdDogJHt0fTsgc3Rhc2g6ICR7SlNPTi5zdHJpbmdpZnkodGhpcy5fcmVwb3J0U3Rhc2hbdF0pfWApLHRoaXMucmVwb3J0U2VudC5maXJlKHRoaXMuX3JlcG9ydFN0YXNoW3RdKSxkZWxldGUgdGhpcy5fcmVwb3J0U3Rhc2hbdF0sKDAsbi5mZXRjaCkoYCR7dH0vcmVwb3J0YCx7bWV0aG9kOiJQT1NUIixib2R5OkpTT04uc3RyaW5naWZ5KHMpfSl9dGhpcy5fdGltZW91dElkc1tlXT1udWxsfV9nZXRIb3N0KGUsdCl7Y29uc3QgXz13aW5kb3cuVEVMRU1FVFJZX0hPU1RTLHM9X1tlXSYmX1tlXVt0XTtyZXR1cm4gQm9vbGVhbihzKT9zOm51bGx9X2dldFN1YnNlcnZpY2VUeXBlKGUpe2lmKCFbImNoYXJ0cyIsInNpdGUiXS5pbmNsdWRlcyhlKSlyZXR1cm4iYWxsIjtsZXQgdD0iZnJlZSI7Y29uc3QgXz13aW5kb3cudXNlci5pc19wcm87cmV0dXJuImNoYXJ0cyI9PT1lJiYoMCxyLmlzT25Nb2JpbGVBcHBQYWdlKSgib2xkIik/dD1fPyJpb3NfcHJvIjoiaW9zX2ZyZWUiOiJjaGFydHMiPT09ZSYmKDAsci5pc09uTW9iaWxlQXBwUGFnZSkoIm5ldyIpP3Q9Xz8iYW5kcm9pZF9wcm8iOiJhbmRyb2lkX2ZyZWUiOigwLGEub25XaWRnZXQpKCk/dD0id2lkZ2V0IjpfJiYodD0icHJvIiksdH1fcGFyc2VDbHVzdGVyKGUpe2xldCB0O3RyeXt0PUpTT04ucGFyc2UoZSkuc2Vzc2lvbl9pZH1jYXRjaChlKXtyZXR1cm4gby5sb2dFcnJvcigiQ291bGQgbm90IHBhcnNlIGNsdXN0ZXIgaWQgKHNlc3Npb24gaWQpIiksbnVsbH1jb25zdCBfPS8oLipAKSguKikvZ2kuZXhlYyh0KTtyZXR1cm4gbnVsbCE9PV8mJl8ubGVuZ3RoPj0zP19bMl06bnVsbH1fYXBwZW5kQ29tbW9uQWRkaXRpb25hbEluZm8oZSx0KXtyZXR1cm4gdC5mb3JFYWNoKCh0PT57dCBpbiB0aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YSYmKGUuYWRkaXRpb25hbD1lLmFkZGl0aW9uYWx8fHt9LGUuYWRkaXRpb25hbFt0XT10aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YVt0XSl9KSksZX1fY3JvcFBhcmFtcyhlKXsKZm9yKGNvbnN0IHQgaW4gZSllLmhhc093blByb3BlcnR5KHQpJiZlW3RdLmxlbmd0aD4xZTMmJihlLnRvb19tdWNoX21ldHJpY3NfZnJhbWU9ZS50b29fbXVjaF9tZXRyaWNzX2ZyYW1lPz9bXSxlLnRvb19tdWNoX21ldHJpY3NfZnJhbWUucHVzaCh7dmFsdWU6ZVt0XS5sZW5ndGgsYWRkaXRpb25hbDp7ZXZlbnQ6dH19KSxkZWxldGUgZVt0XSk7cmV0dXJuIGV9X3JlbmFtZUFsbFBhcmFtcyhlKXtjb25zdCB0PXt9O2Zvcihjb25zdCBfIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShfKSYmKHRbX109W10sZVtfXS5mb3JFYWNoKChlPT57dFtfXS5wdXNoKHRoaXMuX3JlbmFtZUVudHJ5UGFyYW1zKGUpKX0pKSk7cmV0dXJuIHR9X3JlbmFtZUVudHJ5UGFyYW1zKGUpe2NvbnN0IHQ9e2NvdW50OiJjIix2YWx1ZToidiIsdGV4dDoidCIsYWRkaXRpb25hbDoiYSJ9O3JldHVybiBPYmplY3Qua2V5cyhlKS5yZWR1Y2UoKChfLHMpPT4oX1t0W3NdXT1lW3NdLF8pKSx7fSl9X2NsZWFuQWxsUGFyYW1zKGUpe2NvbnN0IHQ9e307Zm9yKGNvbnN0IF8gaW4gZSlpZihlLmhhc093blByb3BlcnR5KF8pKXt0W19dPVtdO2NvbnN0IHM9e2M6MH07ZVtfXS5mb3JFYWNoKChlPT57Y29uc3QgaT10aGlzLl9jbGVhbkVudHJ5UGFyYW1zKGUpLG49T2JqZWN0LmtleXMoaSkubGVuZ3RoOzE9PT1uJiZ2b2lkIDAhPT1pLmM/cy5jKz1pLmM6bj4wJiZ0W19dLnB1c2goaSl9KSkscy5jPjAmJnRbX10ucHVzaChzKSwwPT09dFtfXS5sZW5ndGgmJmRlbGV0ZSB0W19dfXJldHVybiB0fV9jbGVhbkVudHJ5UGFyYW1zKGUpe2NvbnN0IHQ9T2JqZWN0LmtleXMoZSkucmVkdWNlKCgodCxfKT0+ImMiIT09XyYmInQiIT09X3x8ZVtfXT8odFtfXT1lW19dLHQpOnQpLHt9KTtyZXR1cm4iYyJpbiB0fHwidiJpbiB0fHwidCJpbiB0P3Q6e319X2FkZFJlcG9ydFRvU3Rhc2goZSx0LF8pe18gaW4gdGhpcy5fcmVwb3J0U3Rhc2h8fCh0aGlzLl9yZXBvcnRTdGFzaFtfXT17fSksdCBpbiB0aGlzLl9yZXBvcnRTdGFzaFtfXXx8KHRoaXMuX3JlcG9ydFN0YXNoW19dW3RdPVtdKSxPYmplY3Qua2V5cyhlKS5sZW5ndGg+MCYmdGhpcy5fcmVwb3J0U3Rhc2hbX11bdF0ucHVzaChlKX19fSw5NjQ0ODYoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7ZGVlcEV4dGVuZDooKT0+aX0pO2NvbnN0IHM9bmV3IFNldChbIl9fcHJvdG9fXyIsInByb3RvdHlwZSIsImNvbnN0cnVjdG9yIl0pO2Z1bmN0aW9uIGkoZSwuLi50KXtyZXR1cm4gZSYmIm9iamVjdCI9PXR5cGVvZiBlPygwPT09dC5sZW5ndGh8fHQuZm9yRWFjaCgodD0+e251bGwhPXQmJiJvYmplY3QiPT10eXBlb2YgdCYmT2JqZWN0LmtleXModCkuZm9yRWFjaCgoXz0+e2lmKGZ1bmN0aW9uKGUpe3JldHVybiBzLmhhcyhlKX0oXykpcmV0dXJuO2NvbnN0IGE9ZVtfXSxyPXRbX107aWYocj09PWUpcmV0dXJuO2NvbnN0IG89QXJyYXkuaXNBcnJheShyKTtpZihyJiYobihyKXx8bykpe2xldCB0O3Q9bz9hJiZBcnJheS5pc0FycmF5KGEpP2E6W106YSYmbihhKT9hOnt9LGVbX109aSh0LHIpfWVsc2Ugdm9pZCAwIT09ciYmKGVbX109cil9KSl9KSksZSk6ZX1mdW5jdGlvbiBuKGUpe2lmKCFlfHwiW29iamVjdCBPYmplY3RdIiE9PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKSlyZXR1cm4hMTtjb25zdCB0PU9iamVjdC5nZXRQcm90b3R5cGVPZihlKTtpZighdClyZXR1cm4hMDtjb25zdCBfPU9iamVjdC5oYXNPd25Qcm9wZXJ0eS50b1N0cmluZyxzPXQuaGFzT3duUHJvcGVydHkoImNvbnN0cnVjdG9yIikmJnQuY29uc3RydWN0b3I7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHMmJl8uY2FsbChzKT09PV8uY2FsbChPYmplY3QpfX0sNzY4NzYwKGUsdCxfKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcygpe2xldCBlLHQ7cmV0dXJue3Byb21pc2U6bmV3IFByb21pc2UoKChfLHMpPT57ZT1fLHQ9c30pKSxyZWplY3Q6dCxyZXNvbHZlOmV9fV8uZCh0LHtjcmVhdGVEZWZlcnJlZFByb21pc2U6KCk9PnN9KX0sNTg5NzQ5KGUsdCxfKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtpZih2b2lkIDA9PT1lKXJldHVybiIiO2lmKGUgaW5zdGFuY2VvZiBFcnJvcil7bGV0IHQ9ZS5tZXNzYWdlO3JldHVybiBlLnN0YWNrJiYodCs9IiAiK2Uuc3RhY2spLHR9cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlP2UudG9TdHJpbmcoKTpKU09OLnN0cmluZ2lmeShlKX1fLmQodCx7ZXJyb3JUb1N0cmluZzooKT0+c30pfSwxMTYzMTAoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7Y3JlYXRlSnNvblNlcmlhbGl6YWJsZUNhY2hlOigpPT5hfSk7dmFyIHM9XygxMzg2MzgpO2NsYXNzIGl7Y29uc3RydWN0b3IoZSl7dGhpcy5fY2FjaGU9ZX1hc3luYyBnZXRWYWx1ZShlKXtjb25zdCB0PWF3YWl0IHRoaXMuX2NhY2hlLm1hdGNoKGUpO2lmKCF0KXJldHVybiBudWxsO3JldHVybiJhcHBsaWNhdGlvbi9qc29uIj09PSgwLHMuZW5zdXJlTm90TnVsbCkodC5oZWFkZXJzLmdldCgiQ29udGVudC1UeXBlIikpP3QuanNvbigpOnQudGV4dCgpfWFzeW5jIHNldFZhbHVlKGUsdCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P3RoaXMuX2NhY2hlLnB1dChlLG5ldyBSZXNwb25zZSh0LHtoZWFkZXJzOnsiY29udGVudC10eXBlIjoidGV4dC9wbGFpbiJ9fSkpOnRoaXMuX2NhY2hlLnB1dChlLG5ldyBSZXNwb25zZShKU09OLnN0cmluZ2lmeSh0KSx7aGVhZGVyczp7ImNvbnRlbnQtdHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifX0pKX1hc3luYyBtaWdyYXRlVmFsdWUoZSx0KXtjb25zdCBfPWF3YWl0IHRoaXMuZ2V0VmFsdWUoZSk7XyYmKGF3YWl0IHRoaXMuc2V0VmFsdWUodCxfKSxhd2FpdCB0aGlzLl9jYWNoZS5kZWxldGUoZSkpfWFzeW5jIGRlbGV0ZVZhbHVlKGUpe3JldHVybiB0aGlzLl9jYWNoZS5kZWxldGUoZSl9fWNsYXNzIG57Y29uc3RydWN0b3IoKXt0aGlzLl9kYXRhPW5ldyBNYXB9YXN5bmMgZ2V0VmFsdWUoZSl7cmV0dXJuIHRoaXMuX2RhdGEuZ2V0KGUpPz9udWxsfWFzeW5jIHNldFZhbHVlKGUsdCl7dGhpcy5fZGF0YS5zZXQoZSx0KX1hc3luYyBtaWdyYXRlVmFsdWUoZSx0KXsKdGhpcy5fZGF0YS5oYXMoZSkmJih0aGlzLl9kYXRhLnNldCh0LHRoaXMuX2RhdGEuZ2V0KGUpKSx0aGlzLl9kYXRhLmRlbGV0ZShlKSl9YXN5bmMgZGVsZXRlVmFsdWUoZSl7cmV0dXJuIHRoaXMuX2RhdGEuZGVsZXRlKGUpfX1hc3luYyBmdW5jdGlvbiBhKGUpe3RyeXtjb25zdCB0PWF3YWl0IGNhY2hlcy5vcGVuKGUpO3JldHVybiBuZXcgaSh0KX1jYXRjaHtyZXR1cm4gbmV3IG59fX0sNDAzNihlLHQsXyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7Y29uc3QgdD17fTtpZigtMT09PWUuaW5kZXhPZigiQCIpKXQuc2hvcnRJZD1lLHQucGFja2FnZUlkPSJ0di1iYXNpY3N0dWRpZXMiLHQuaWQ9ZSsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPTE7ZWxzZXtjb25zdCBfPWUuc3BsaXQoIkAiKTt0LnNob3J0SWQ9X1swXTtjb25zdCBzPV9bMV0uc3BsaXQoIi0iKTtpZigzPT09cy5sZW5ndGgpdC5wYWNrYWdlSWQ9cy5zbGljZSgwLDIpLmpvaW4oIi0iKSx0LmlkPXQuc2hvcnRJZCsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPXBhcnNlSW50KHNbMl0pO2Vsc2UgaWYoMT09PXMubGVuZ3RoJiYiZGVjaXNpb25iYXIiPT09c1swXSl0LnBhY2thZ2VJZD0ibGVzLSIrc1swXSx0LmlkPXQuc2hvcnRJZCsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPTE7ZWxzZXtpZigxIT09cy5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJ1bmV4cGVjdGVkIHN0dWR5IGlkOiIrZSk7dC5wYWNrYWdlSWQ9InR2LSIrc1swXSx0LmlkPXQuc2hvcnRJZCsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPTF9fWlmKHQuZnVsbElkPXQuaWQrIi0iK3QudmVyc2lvbiwidHYtc2NyaXB0aW5nIj09PXQucGFja2FnZUlkKXtjb25zdCBlPXQuc2hvcnRJZDtpZigwPT09ZS5pbmRleE9mKCJTY3JpcHQkIil8fDA9PT1lLmluZGV4T2YoIlN0cmF0ZWd5U2NyaXB0JCIpKXtjb25zdCBfPWUuaW5kZXhPZigiXyIpO3QucHJvZHVjdElkPV8+PTA/ZS5zdWJzdHJpbmcoMCxfKTp0LnBhY2thZ2VJZH1lbHNlIHQucHJvZHVjdElkPXQucGFja2FnZUlkfWVsc2UgdC5wcm9kdWN0SWQ9dC5wYWNrYWdlSWQ7cmV0dXJuIHR9Xy5kKHQse3BhcnNlSWRTdHJpbmc6KCk9PnN9KX0sNzgwOTc1KGUsdCxfKXsidXNlIHN0cmljdCI7dmFyIHM7Xy5kKHQse0NoYXJ0QXBpTWVzc2FnZU1ldGhvZDooKT0+c30pLGZ1bmN0aW9uKGUpe2UuQ29ubmVjdGVkPSJjb25uZWN0ZWQiLGUuRGlzY29ubmVjdGVkPSJkaXNjb25uZWN0ZWQiLGUuUmVjb25uZWN0QmFpbG91dD0icmVjb25uZWN0X2JhaWxvdXQifShzfHwocz17fSkpfSwzMDkwNTIoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7UVVPVEVfRklFTERTOigpPT5pLFFVT1RFX0ZJRUxEU19DQUNIRTooKT0+bn0pO3ZhciBzPV8oMTM4NjM4KQo7Y29uc3QgaT1uZXcgU2V0KFsicHJvX25hbWUiLCJiYXNlX25hbWUiLCJsb2dvIiwibG9nb2lkIiwiY3VycmVuY3ktbG9nb2lkIiwiYmFzZS1jdXJyZW5jeS1sb2dvaWQiLCJzb3VyY2UtbG9nb2lkIiwic2hvcnRfbmFtZSIsIndlYl9zaXRlX3VybCIsInByb19wZXJtIiwidGltZXpvbmUiLCJjdXJyZW50X3Nlc3Npb24iLCJzZXNzaW9uX2hvbGlkYXlzIiwibGFzdF9wcmljZSIsImxwX3RpbWUiLCJzdWJzZXNzaW9ucyIsInByZXZfY2xvc2VfcHJpY2UiLCJvcGVuX3ByaWNlIiwiaGlnaF9wcmljZSIsImxvd19wcmljZSIsInByaWNlXzUyX3dlZWtfaGlnaCIsInByaWNlXzUyX3dlZWtfbG93IiwiYXNrIiwiYXNrX3NpemUiLCJiaWQiLCJiaWRfc2l6ZSIsInJjaCIsInJjaHAiLCJydGMiLCJydGNfdGltZSIsIm5jaCIsIm5jaHAiLCJudGMiLCJudGNfdGltZSIsImRhdGFfZnJlcXVlbmN5IiwicmVmZXJlbmNlLWxhc3QtcGVyaW9kLXN0YXJ0IiwiYnVzaW5lc3NfZGVzY3JpcHRpb24iLCJ3ZWJfc2l0ZV91cmwiLCJmaWdpIiwibnVtYmVyX29mX2VtcGxveWVlcyIsImZsb2F0X3NoYXJlc19vdXRzdGFuZGluZyIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9jYWxlbmRhcl9kYXRlIiwicm9vdCIsImRlc2NyaXB0aW9uIiwiZXhjaGFuZ2UiLCJsaXN0ZWRfZXhjaGFuZ2UiLCJ0eXBlIiwiY291bnRyeV9jb2RlIiwicHJvdmlkZXJfaWQiLCJpc190cmFkYWJsZSIsInNlY3RvciIsInR5cGVzcGVjcyIsInZpc2libGUtcGxvdHMtc2V0IiwiaW5kdXN0cnkiLCJjdXJyZW5jeV9pZCIsImxhc3RfcHJpY2UiLCJmcmFjdGlvbmFsIiwibWlubW92IiwibWlubW92ZTIiLCJwcmljZXNjYWxlIiwidmFyaWFibGVfdGlja19zaXplIiwiY2hhbmdlIiwiY2hhbmdlX3BlcmNlbnQiLCJ2b2x1bWUiLCJhdmVyYWdlX3ZvbHVtZSIsIm1hcmtldF9jYXBfYmFzaWMiLCJtYXJrZXRfY2FwX2NhbGMiLCJ0b3RhbF9yZXZlbnVlIiwiZWFybmluZ3NfcGVyX3NoYXJlX2Jhc2ljX3R0bSIsInByaWNlX2Vhcm5pbmdzX3R0bSIsImJldGFfMV95ZWFyIiwiZHBzX2NvbW1vbl9zdG9ja19wcmltX2lzc3VlX2Z5IiwiZGl2aWRlbmRzX3lpZWxkIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcSIsImVhcm5pbmdzX3B1YmxpY2F0aW9uX3R5cGVfbmV4dF9mcSIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9mcSIsImZvcmVjYXN0X3JhdyIsImxhc3RfcmVsZWFzZV9kYXRlIiwibmV4dF9yZWxlYXNlX2RhdGUiLCJyZWZlcmVuY2VfbGFzdF9wZXJpb2QiLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIiwibnVtYmVyX29mX2VtcGxveWVlcyIsIndlYl9zaXRlX3VybCIsImJ1c2luZXNzX2Rlc2NyaXB0aW9uIiwiZm91bmRlZCIsImNlbyIsImZsb2F0X3NoYXJlc19vdXRzdGFuZGluZyIsInRvdGFsX3NoYXJlc19vdXRzdGFuZGluZyIsImRpdmlkZW5kX3BheW91dF9yYXRpb190dG0iLCJkaXZpZGVuZHNfeWllbGRfY3VycmVudCIsImRpdmlkZW5kX2V4X2RhdGVfdXBjb21pbmciLCJkaXZpZGVuZF9hbW91bnRfdXBjb21pbmciLCJkaXZpZGVuZF9hbW91bnRfcmVjZW50IiwiZGl2aWRlbmRfZXhfZGF0ZV9yZWNlbnQiLCJkaXZpZGVuZF9hbW91bnRfaCIsImRpdmlkZW5kX3BheW1lbnRfZGF0ZV91cGNvbWluZyIsImRpdmlkZW5kX3BheW1lbnRfZGF0ZV9yZWNlbnQiLCJ0b3RhbF9yZXZlbnVlX2ZxX2giLCJ0b3RhbF9yZXZlbnVlX2Z5X2giLCJuZXRfaW5jb21lX2Z5X2giLCJuZXRfaW5jb21lX2ZxX2giLCJ0b3RhbF9hc3NldHNfZnlfaCIsInRvdGFsX2Fzc2V0c19mcV9oIiwidG90YWxfbGlhYmlsaXRpZXNfZnlfaCIsInRvdGFsX2xpYWJpbGl0aWVzX2ZxX2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZnlfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19mcV9oIiwiY2FzaF9mX2ludmVzdGluZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9maW5hbmNpbmdfYWN0aXZpdGllc19meV9oIiwiY2FzaF9mX2ZpbmFuY2luZ19hY3Rpdml0aWVzX2ZxX2giLCJmaXNjYWxfcGVyaW9kX2Z5X2giLCJmaXNjYWxfcGVyaW9kX2ZxX2giLCJmaXNjYWxfcGVyaW9kX2ZoX2giLCJlYXJuaW5nc19yZWxlYXNlX2RhdGVfZnFfaCIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlX2ZxIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnEiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfZnFfaCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcV9oIiwiZWFybmluZ3NfZmlzY2FsX3BlcmlvZF9mcV9oIiwibmV4dF9lYXJuaW5nc19maXNjYWxfcGVyaW9kX2ZxIiwiaXNfbmV4dF9lYXJuaW5nc19yZWxlYXNlX2RhdGVfZXN0aW1hdGVkIiwic3ltYm9sLXByaW1hcnluYW1lIiwiY3VycmVuY3lfY29kZSIsInJhdGVzX21jIiwicmF0ZXNfZnkiLCJyYXRlc190dG0iLCJtZWFzdXJlIiwidmFsdWVfdW5pdF9pZCIsInZhbHVlLXVuaXQtaWQiLCJ1cGRhdGVfbW9kZSIsImxhbmd1YWdlIiwibG9jYWxfZGVzY3JpcHRpb24iLCJzaG9ydF9kZXNjcmlwdGlvbiIsInNvdXJjZSIsInNvdXJjZTIiLCJmb3JtYXQiLCJyZWNvbW1lbmRhdGlvbl9tYXJrIiwibGFzdF9yZXBvcnRfZnJlcXVlbmN5IiwicHJpY2VfdGFyZ2V0X2VzdGltYXRlc19udW0iLCJwcmljZV90YXJnZXRfYXZlcmFnZSIsInVwZGF0ZV9tb2RlX3NlY29uZHMiLCJyZWNvbW1lbmRhdGlvbl90b3RhbCIsInJlY29tbWVuZGF0aW9uX2J1eSIsInJlY29tbWVuZGF0aW9uX292ZXIiLCJyZWNvbW1lbmRhdGlvbl9ob2xkIiwicmVjb21tZW5kYXRpb25fdW5kZXIiLCJyZWNvbW1lbmRhdGlvbl9zZWxsIiwicmVjb21tZW5kYXRpb25fdG90YWwiLCJwcmljZV90YXJnZXRfaGlnaCIsInByaWNlX3RhcmdldF9sb3ciLCJyYXRlc19wdCIsInJhdGVzX3B0IiwidG90YWxfcmV2ZW51ZV9meV9oIiwidG90YWxfcmV2ZW51ZV9mcV9oIiwidG90YWxfcmV2ZW51ZV9maF9oIiwibmV0X3JldmVudWVfZnlfaCIsIm5ldF9yZXZlbnVlX2ZxX2giLCJuZXRfcmV2ZW51ZV9maF9oIiwibmV0X2luY29tZV9meV9oIiwibmV0X2luY29tZV9mcV9oIiwibmV0X2luY29tZV9maF9oIiwidG90YWxfYXNzZXRzX2Z5X2giLCJ0b3RhbF9hc3NldHNfZnFfaCIsInRvdGFsX2Fzc2V0c19maF9oIiwidG90YWxfbGlhYmlsaXRpZXNfZnlfaCIsInRvdGFsX2xpYWJpbGl0aWVzX2ZxX2giLCJ0b3RhbF9saWFiaWxpdGllc19maF9oIiwiY2FzaF9mX29wZXJhdGluZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19maF9oIiwiY2FzaF9mX2ludmVzdGluZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9pbnZlc3RpbmdfYWN0aXZpdGllc19maF9oIiwiY2FzaF9mX2ZpbmFuY2luZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9maW5hbmNpbmdfYWN0aXZpdGllc19maF9oIiwiZmlzY2FsX3BlcmlvZF9meSIsImZpc2NhbF9wZXJpb2RfZnEiLCJmaXNjYWxfcGVyaW9kX2ZoIiwiZWFybmluZ3NfcmVsZWFzZV9kYXRlX2ZxX2giLCJlYXJuaW5nc19yZWxlYXNlX2RhdGVfZnlfaCIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZV9maF9oIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGVfZnEiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZV9meSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlX2ZoIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X3RpbWUiLCJlYXJuaW5nc19yZWxlYXNlX3RpbWUiLCJpc19uZXh0X2Vhcm5pbmdzX3JlbGVhc2VfZGF0ZV9lc3RpbWF0ZWQiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X2Z5IiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZmgiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfZnFfaCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9meV9oIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X2ZoX2giLCJlYXJuaW5nc19wZXJfc2hhcmVfZnFfaCIsImVhcm5pbmdzX3Blcl9zaGFyZV9meV9oIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZoX2giLCJlYXJuaW5nc19maXNjYWxfcGVyaW9kX2ZxX2giLCJlYXJuaW5nc19maXNjYWxfcGVyaW9kX2Z5X2giLCJlYXJuaW5nc19maXNjYWxfcGVyaW9kX2ZoX2giLCJuZXh0X2Vhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZnEiLCJuZXh0X2Vhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZnkiLCJuZXh0X2Vhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZmgiLCJyZXZlbnVlX2ZxX2giLCJyZXZlbnVlX2Z5X2giLCJyZXZlbnVlX2ZoX2giLCJyZXZlbnVlX2ZvcmVjYXN0X2ZxX2giLCJyZXZlbnVlX2ZvcmVjYXN0X2Z5X2giLCJyZXZlbnVlX2ZvcmVjYXN0X2ZoX2giLCJyZXZlbnVlX2ZvcmVjYXN0X25leHRfZnEiLCJyZXZlbnVlX2ZvcmVjYXN0X25leHRfZnkiLCJyZXZlbnVlX2ZvcmVjYXN0X25leHRfZmgiLCJyZXZlbnVlX3NlZ19ieV9idXNpbmVzc19oIiwicmV2ZW51ZV9zZWdfYnlfcmVnaW9uX2giLCJ0b3RhbF9yZXZlbnVlX2Z5IiwidG90YWxfcmV2ZW51ZV9mcSIsInRvdGFsX3JldmVudWVfZmgiLCJncm9zc19wcm9maXRfZnkiLCJncm9zc19wcm9maXRfZnEiLCJncm9zc19wcm9maXRfZmgiLCJlYml0ZGFfZnkiLCJlYml0X2Z5IiwibmV0X2luY29tZV9meSIsIm5ldF9pbmNvbWVfZnEiLCJuZXRfaW5jb21lX2ZoIiwidG90YWxfZGVidF9meV9oIiwidG90YWxfZGVidF9mcV9oIiwidG90YWxfZGVidF9maF9oIiwiZnJlZV9jYXNoX2Zsb3dfZnlfaCIsImZyZWVfY2FzaF9mbG93X2ZxX2giLCJmcmVlX2Nhc2hfZmxvd19maF9oIiwiY2FzaF9uX2VxdWl2YWxlbnRzX2Z5X2giLCJjYXNoX25fZXF1aXZhbGVudHNfZnFfaCIsImNhc2hfbl9lcXVpdmFsZW50c19maF9oIiwidG90YWxfY3VycmVudF9hc3NldHNfZnkiLCJ0b3RhbF9jdXJyZW50X2Fzc2V0c19mcSIsInRvdGFsX2N1cnJlbnRfYXNzZXRzX2ZoIiwidG90YWxfY3VycmVudF9saWFiaWxpdGllc19meSIsInRvdGFsX2N1cnJlbnRfbGlhYmlsaXRpZXNfZnEiLCJ0b3RhbF9jdXJyZW50X2xpYWJpbGl0aWVzX2ZoIiwidG90YWxfbm9uX2N1cnJlbnRfYXNzZXRzX2Z5IiwidG90YWxfbm9uX2N1cnJlbnRfYXNzZXRzX2ZxIiwidG90YWxfbm9uX2N1cnJlbnRfYXNzZXRzX2ZoIiwidG90YWxfbm9uX2N1cnJlbnRfbGlhYmlsaXRpZXNfZnkiLCJ0b3RhbF9ub25fY3VycmVudF9saWFiaWxpdGllc19mcSIsInRvdGFsX25vbl9jdXJyZW50X2xpYWJpbGl0aWVzX2ZoIiwibG9hbnNfbmV0X2Z5IiwibG9hbnNfbmV0X2Z5X2giLCJsb2Fuc19uZXRfZnFfaCIsImxvYW5zX25ldF9maF9oIiwidG90YWxfZGVwb3NpdHNfZnkiLCJ0b3RhbF9kZXBvc2l0c19meV9oIiwidG90YWxfZGVwb3NpdHNfZnFfaCIsInRvdGFsX2RlcG9zaXRzX2ZoX2giLCJsb2FuX2xvc3NfYWxsb3dhbmNlc19meSIsImxvYW5fbG9zc19hbGxvd2FuY2VzX2Z5X2giLCJsb2FuX2xvc3NfYWxsb3dhbmNlc19mcV9oIiwibG9hbl9sb3NzX2FsbG93YW5jZXNfZmhfaCIsInJlc2VydmVfdG9fdG90YWxfY2FwaXRhbF9meV9oIiwicmVzZXJ2ZV90b190b3RhbF9jYXBpdGFsX2ZxX2giLCJyZXNlcnZlX3RvX3RvdGFsX2NhcGl0YWxfZmhfaCIsInVuZWFybmVkX3ByZW1pdW1fdG9fdG90YWxfY2FwaXRhbF9meV9oIiwidW5lYXJuZWRfcHJlbWl1bV90b190b3RhbF9jYXBpdGFsX2ZxX2giLCJ1bmVhcm5lZF9wcmVtaXVtX3RvX3RvdGFsX2NhcGl0YWxfZmhfaCIsImluc3VyYW5jZV9yZXNlcnZlc19meV9oIiwiaW5zdXJhbmNlX3Jlc2VydmVzX2ZxX2giLCJpbnN1cmFuY2VfcmVzZXJ2ZXNfZmhfaCIsInBvbGljeV9jbGFpbXNfZnlfaCIsInBvbGljeV9jbGFpbXNfZnFfaCIsInBvbGljeV9jbGFpbXNfZmhfaCIsInByZW1pdW1zX2Vhcm5lZF9meV9oIiwicHJlbWl1bXNfZWFybmVkX2ZxX2giLCJwcmVtaXVtc19lYXJuZWRfZmhfaCIsInByaWNlX2Vhcm5pbmdzX2ZxX2giLCJwcmljZV9lYXJuaW5nc19meV9oIiwicHJpY2VfZWFybmluZ3NfZmhfaCIsInByaWNlX3NhbGVzX2ZxX2giLCJwcmljZV9zYWxlc19meV9oIiwicHJpY2Vfc2FsZXNfZmhfaCIsImRpbHV0ZWRfbmV0X2luY29tZV90dG0iLCJ0b3RhbF9yZXZlbnVlX3R0bSIsIm5ldF9yZXZlbnVlX3R0bSIsInByaWNlX2Vhcm5pbmdzX2N1cnJlbnQiLCJwcmljZV9zYWxlc19jdXJyZW50IiwiaXNpbi1kaXNwbGF5ZWQiLCJjdXNpcCIsImNmaV9jb2RlIiwiaW50ZXJlc3RfaW5jb21lX2Z5X2giLCJpbnRlcmVzdF9pbmNvbWVfZnFfaCIsImludGVyZXN0X2luY29tZV9maF9oIiwibm9uX2ludGVyZXN0X2luY29tZV9meV9oIiwibm9uX2ludGVyZXN0X2luY29tZV9mcV9oIiwibm9uX2ludGVyZXN0X2luY29tZV9maF9oIiwid2Vic2l0ZSIsImRvYyIsImV4cGxvcmVyIiwic291cmNlcyIsImNvbnRyYWN0cyIsImNyeXB0b19jb21tb25fY2F0ZWdvcmllcyIsImNyeXB0b19hc3NldCIsImNvbW11bml0eSIsImRpdmlkZW5kc19hdmFpbGFiaWxpdHkiLCJlYXJuaW5nc19hdmFpbGFiaWxpdHkiLCJmaW5hbmNpYWxzX2F2YWlsYWJpbGl0eSIsImRvY3VtZW50cyIsImV0Zl9hc3NldF90eXBlX2V4cG9zdXJlIiwiZXRmX3JlZ2lvbl9leHBvc3VyZSIsInRvcF9ob2xkaW5ncyIsInVuaXQtaWQiLCJvcHRpb25zLWluZm8iLCJvcHRpb24tdHlwZSIsImludGVyZXN0X2luY29tZV9meSIsImludGVyZXN0X2luY29tZV9mcSIsImludGVyZXN0X2luY29tZV9maCIsIm5vbl9pbnRlcmVzdF9pbmNvbWVfZnkiLCJub25faW50ZXJlc3RfaW5jb21lX2ZxIiwibm9uX2ludGVyZXN0X2luY29tZV9maCIsImludGVyZXN0X2V4cGVuc2VfZnkiLCJpbnRlcmVzdF9leHBlbnNlX2ZxIiwiaW50ZXJlc3RfZXhwZW5zZV9maCIsImxvYW5fbG9zc19wcm92aXNpb25fZnkiLCJsb2FuX2xvc3NfcHJvdmlzaW9uX2ZxIiwibG9hbl9sb3NzX3Byb3Zpc2lvbl9maCIsIm5vbl9pbnRlcmVzdF9leHBlbnNlX2Z5Iiwibm9uX2ludGVyZXN0X2V4cGVuc2VfZnEiLCJub25faW50ZXJlc3RfZXhwZW5zZV9maCIsIm5vbl9vcGVyX2luY29tZV9meSIsIm5vbl9vcGVyX2luY29tZV9mcSIsIm5vbl9vcGVyX2luY29tZV9maCIsInVudXN1YWxfZXhwZW5zZV9pbmNfZnkiLCJ1bnVzdWFsX2V4cGVuc2VfaW5jX2ZxIiwidW51c3VhbF9leHBlbnNlX2luY19maCIsInByZXRheF9pbmNvbWVfZnkiLCJwcmV0YXhfaW5jb21lX2ZxIiwicHJldGF4X2luY29tZV9maCIsImluY29tZV90YXhfZnkiLCJpbmNvbWVfdGF4X2ZxIiwiaW5jb21lX3RheF9maCIsImFmdGVyX3RheF9vdGhlcl9pbmNvbWVfZnkiLCJhZnRlcl90YXhfb3RoZXJfaW5jb21lX2ZxIiwiYWZ0ZXJfdGF4X290aGVyX2luY29tZV9maCIsInRvdGFsX25vbl9vcGVyX2luY29tZV9meSIsInRvdGFsX25vbl9vcGVyX2luY29tZV9mcSIsInRvdGFsX25vbl9vcGVyX2luY29tZV9maCIsIm9wZXJfaW5jb21lX2Z5Iiwib3Blcl9pbmNvbWVfZnEiLCJvcGVyX2luY29tZV9maCIsIm9wZXJhdGluZ19leHBlbnNlc19meSIsIm9wZXJhdGluZ19leHBlbnNlc19mcSIsIm9wZXJhdGluZ19leHBlbnNlc19maCIsImNvc3Rfb2ZfZ29vZHNfZnkiLCJjb3N0X29mX2dvb2RzX2ZxIiwiY29zdF9vZl9nb29kc19maCIsImVxdWl0eV9pbl9lYXJuaW5nc19meSIsImVxdWl0eV9pbl9lYXJuaW5nc19mcSIsImVxdWl0eV9pbl9lYXJuaW5nc19maCIsIm1pbm9yaXR5X2ludGVyZXN0X2V4cF9meSIsIm1pbm9yaXR5X2ludGVyZXN0X2V4cF9mcSIsIm1pbm9yaXR5X2ludGVyZXN0X2V4cF9maCIsImRpc2NvbnRpbnVlZF9vcGVyYXRpb25zX2Z5IiwiZGlzY29udGludWVkX29wZXJhdGlvbnNfZnEiLCJkaXNjb250aW51ZWRfb3BlcmF0aW9uc19maCIsImZyb250X2NvbnRyYWN0IiwibWluX2NvbnRyYWN0IiwicG9pbnR2YWx1ZSIsInVuaXRfaWQiLCJleHBpcmF0aW9uIiwiYXVtIiwiYXNzZXRfY2xhc3MiLCJmb2N1cyIsImV4cGVuc2VfcmF0aW8iLCJsYXVuY2hfZGF0ZSIsImlzc3VlciIsImJyYW5kIiwiaG9tZXBhZ2UiLCJpbmRleF90cmFja2VkIiwiYWN0aXZlbHlfbWFuYWdlZCIsImZ1bmRfdmlld19tb2RlcyIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZnlfaCIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZnFfaCIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZmhfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZnlfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZnFfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZmhfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZnlfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZnFfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZmhfaCIsInByZWZlcnJlZF9zdG9ja19jYXJyeWluZ192YWx1ZV9maCIsInByZWZlcnJlZF9zdG9ja19jYXJyeWluZ192YWx1ZV9mcSIsInRvdGFsX2RlYnRfZnEiLCJtaW5vcml0eV9pbnRlcmVzdF9maCIsIm1pbm9yaXR5X2ludGVyZXN0X2ZxIiwiY2FzaF9uX3Nob3J0X3Rlcm1faW52ZXN0X2ZxIiwiY2FzaF9uX2R1ZV9mX2JhbmtzX2ZoIiwiY2FzaF9uX2R1ZV9mX2JhbmtzX2ZxIiwiZW50ZXJwcmlzZV92YWx1ZV9jdXJyZW50IiwiZXRmX2hvbGRpbmdzX2NvdW50IiwiY29udHJhY3QtZGVzY3JpcHRpb24iLCJyZWZlcmVuY2UtbGFzdC1wZXJpb2QiLCJhbGxfdGltZV9oaWdoIiwiYWxsX3RpbWVfaGlnaF9kYXkiLCJhbGxfdGltZV9sb3ciLCJhbGxfdGltZV9sb3dfZGF5Iiwib3V0c3RhbmRpbmdfYW1vdW50Iiwibm9taW5hbF92YWx1ZSIsImRlbm9tX21pbiIsImN1cnJlbnRfY291cG9uIiwiY291cG9uX3R5cGVfZ2VuZXJhbCIsImNvdXBvbl9mcmVxdWVuY3kiLCJ5aWVsZF90b19tYXR1cml0eSIsIm1hdHVyaXR5LWRhdGUiLCJkYXlzX3RvX21hdHVyaXR5IiwiYm9uZF9pc3N1ZXIiLCJpc3N1ZV9kYXRlIiwiYm9uZF9pc3N1ZXJfc3RvY2tfc3ltYm9sIiwidG90YWxfaXNzdWVkX2Ftb3VudCIsInBhaWRfYW1vdW50IiwiYm9uZF9zbnBfcmF0aW5nX2x0X2giLCJwbGFjZW1lbnRfdHlwZSIsImR1cmF0aW9uX3R5cGUiLCJtYXR1cml0eV90eXBlIiwib2ZmZXJfdHlwZSIsInJlZGVtcHRpb25fdHlwZSIsImNvbnZlcnNpb25fb3B0aW9uIiwic2lua2luZ19mdW5kIiwib3duZXJzaGlwX2Zvcm0iLCJkYWlseS1zdW1tYXJ5LWFzdCIsImlzc3VlX3N0YXR1cyIsImNvdXBvbl9oIiwic2lua2luZ19mdW5kX25leHRfZGF0ZSIsInNpbmtpbmdfZnVuZF9taW5fYW1vdW50X25leHQiLCJjYWxsX25leHRfZGF0ZSIsInJlZGVtcHRpb25zX2giLCJjYWxsX25vdGljZV9kYXlzIiwicHV0X25leHRfZGF0ZSIsInB1dF9ub3RpY2VfZGF5c19taW4iLCJzZW5pb3JpdHlfbGV2ZWwiLCJpbmZsYXRpb25fcHJvdGVjdGlvbiIsInBsZWRnZV9zdGF0dXMiLCJib25kX2lzc3Vlcl9jb3VudHJ5X29mX3Jpc2siLCJib25kX2lzc3Vlcl9jcl9wYXJlbnQiLCJjcmVkaXRfZW5oYW5jZW1lbnRfdHlwZSIsImNyZWRpdF9lbmhhbmNlbWVudF9zdGF0dXMiLCJ1c2Vfb2ZfcHJvY2VlZHMiLCJib25kX2lzc3Vlcl9zbnBfcmF0aW5nX2x0X2giLCJib25kX2lzc3Vlcl9zbnBfcmF0aW5nX3N0X2giLCJib25kX2FnZW50c190ciIsImZpcnN0X2Jhcl90aW1lXzFkIiwiZmluYW5jaWFsLWluZGljYXRvci1pZCIsImV4Y2hhbmdlLWluZm8iLCJ1bmRlcmx5aW5nLXN5bWJvbCIsInN0cmlrZSIsImxvdHNpemUiLCJvcHRpb24tc3R5bGUiLCJoYXNfYm9uZHMiLCJvcGVuX3RpbWUiLCJoYXNfYm9uZHMiLCJkZXhfYnV5c18xNW0iLCJkZXhfc2VsbHNfMTVtIiwiZGV4X2J1eV92b2x1bWVfMTVtIiwiZGV4X3NlbGxfdm9sdW1lXzE1bSIsImRleF9idXllcnNfMTVtIiwiZGV4X3NlbGxlcnNfMTVtIiwiZGV4X2J1eXNfMWgiLCJkZXhfc2VsbHNfMWgiLCJkZXhfYnV5X3ZvbHVtZV8xaCIsImRleF9zZWxsX3ZvbHVtZV8xaCIsImRleF9idXllcnNfMWgiLCJkZXhfc2VsbGVyc18xaCIsImRleF9idXlzXzRoIiwiZGV4X3NlbGxzXzRoIiwiZGV4X2J1eV92b2x1bWVfNGgiLCJkZXhfc2VsbF92b2x1bWVfNGgiLCJkZXhfYnV5ZXJzXzRoIiwiZGV4X3NlbGxlcnNfNGgiLCJkZXhfYnV5c18xMmgiLCJkZXhfc2VsbHNfMTJoIiwiZGV4X2J1eV92b2x1bWVfMTJoIiwiZGV4X3NlbGxfdm9sdW1lXzEyaCIsImRleF9idXllcnNfMTJoIiwiZGV4X3NlbGxlcnNfMTJoIiwiZGV4X2J1eXNfMjRoIiwiZGV4X3NlbGxzXzI0aCIsImRleF9idXlfdm9sdW1lXzI0aCIsImRleF9zZWxsX3ZvbHVtZV8yNGgiLCJkZXhfYnV5ZXJzXzI0aCIsImRleF9zZWxsZXJzXzI0aCIsImRleF9jb252ZXJ0ZWRfc3ltYm9sIiwiZGV4X3RyYWRpbmdfdm9sdW1lXzI0aCIsImRleF9jcmVhdGVkX3RpbWUiLCJkZXhfY3VycmVuY3kiLCJkZXhfY3VycmVuY3lfbG9nb2lkIiwiYmxvY2tjaGFpbl9hZGRyZXNzZXNfdXJscyIsImJsb2NrY2hhaW5fYWRkcmVzc2VzIiwiYmFzZV9jdXJyZW5jeSIsImlwb19vZmZlcl9zdGF0dXMiLCJoYXNfaXBvX2RldGFpbHNfdmlzaWJsZSIsImlwb19wcmljZV9yYW5nZV91c2RfbWF4IiwiaXBvX3ByaWNlX3JhbmdlX3VzZF9taW4iLCJpcG9fb2ZmZXJfcHJpY2VfdXNkIiwiaXBvX29mZmVyZWRfc2hhcmVzIiwiaXBvX2RlYWxfYW1vdW50X3VzZCIsImlwb19hbm5vdW5jZW1lbnRfZGF0ZSIsImlwb19vZmZlcl9kYXRlIiwiYXZhaWxhYmxlX2RhdGFfcmFuZ2VfYmVnaW5fZGF0ZSIsImF2YWlsYWJsZV9kYXRhX3JhbmdlX2VuZF9kYXRlIiwiaGFzX2V0Zl9vd25lcnNoaXAiLCJzeW1ib2xfcHJpbWFyeV9saXN0aW5nIiwibWV0cmljX3l0bSIsIm1ldHJpY3MiLCJlcHNfZXN0aW1hdGVzX2Z5X2giLCJlcHNfZXN0aW1hdGVzX2ZxX2giLCJlcHNfZXN0aW1hdGVzX2ZoX2giLCJyZXZlbnVlX2VzdGltYXRlc19meV9oIiwicmV2ZW51ZV9lc3RpbWF0ZXNfZnFfaCIsInJldmVudWVfZXN0aW1hdGVzX2ZoX2giLCJkcHNfZXN0aW1hdGVzX2Z5X2giLCJkcHNfZXN0aW1hdGVzX2ZxX2giLCJkcHNfZXN0aW1hdGVzX2ZoX2giLCJjb3N0X29mX2dvb2RzX2VzdGltYXRlc19meV9oIiwiY29zdF9vZl9nb29kc19lc3RpbWF0ZXNfZnFfaCIsImNvc3Rfb2ZfZ29vZHNfZXN0aW1hdGVzX2ZoX2giLCJncm9zc19wcm9maXRfZXN0aW1hdGVzX2Z5X2giLCJncm9zc19wcm9maXRfZXN0aW1hdGVzX2ZxX2giLCJncm9zc19wcm9maXRfZXN0aW1hdGVzX2ZoX2giLCJzZWxsX2dlbl9hZG1pbl9leHBfdG90YWxfZXN0aW1hdGVzX2Z5X2giLCJzZWxsX2dlbl9hZG1pbl9leHBfdG90YWxfZXN0aW1hdGVzX2ZxX2giLCJzZWxsX2dlbl9hZG1pbl9leHBfdG90YWxfZXN0aW1hdGVzX2ZoX2giLCJyZXNlYXJjaF9hbmRfZGV2X2VzdGltYXRlc19meV9oIiwicmVzZWFyY2hfYW5kX2Rldl9lc3RpbWF0ZXNfZnFfaCIsInJlc2VhcmNoX2FuZF9kZXZfZXN0aW1hdGVzX2ZoX2giLCJlYml0ZGFfZXN0aW1hdGVzX2Z5X2giLCJlYml0ZGFfZXN0aW1hdGVzX2ZxX2giLCJlYml0ZGFfZXN0aW1hdGVzX2ZoX2giLCJlYml0X2VzdGltYXRlc19meV9oIiwiZWJpdF9lc3RpbWF0ZXNfZnFfaCIsImViaXRfZXN0aW1hdGVzX2ZoX2giLCJuZXRfaW5jb21lX2VzdGltYXRlc19meV9oIiwibmV0X2luY29tZV9lc3RpbWF0ZXNfZnFfaCIsIm5ldF9pbmNvbWVfZXN0aW1hdGVzX2ZoX2giLCJ0b3RhbF9hc3NldHNfZXN0aW1hdGVzX2Z5X2giLCJ0b3RhbF9hc3NldHNfZXN0aW1hdGVzX2ZxX2giLCJ0b3RhbF9hc3NldHNfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX25fc2hvcnRfdGVybV9pbnZlc3RfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX25fc2hvcnRfdGVybV9pbnZlc3RfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX25fc2hvcnRfdGVybV9pbnZlc3RfZXN0aW1hdGVzX2ZoX2giLCJ0b3RhbF9kZWJ0X2VzdGltYXRlc19meV9oIiwidG90YWxfZGVidF9lc3RpbWF0ZXNfZnFfaCIsInRvdGFsX2RlYnRfZXN0aW1hdGVzX2ZoX2giLCJib29rX3ZhbHVlX3Blcl9zaGFyZV9lc3RpbWF0ZXNfZnlfaCIsImJvb2tfdmFsdWVfcGVyX3NoYXJlX2VzdGltYXRlc19mcV9oIiwiYm9va192YWx1ZV9wZXJfc2hhcmVfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZoX2giLCJjYXBpdGFsX2V4cGVuZGl0dXJlc19lc3RpbWF0ZXNfZnlfaCIsImNhcGl0YWxfZXhwZW5kaXR1cmVzX2VzdGltYXRlc19mcV9oIiwiY2FwaXRhbF9leHBlbmRpdHVyZXNfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZoX2giLCJmcmVlX2Nhc2hfZmxvd19lc3RpbWF0ZXNfZnlfaCIsImZyZWVfY2FzaF9mbG93X2VzdGltYXRlc19mcV9oIiwiZnJlZV9jYXNoX2Zsb3dfZXN0aW1hdGVzX2ZoX2giLCJlc3RpbWF0ZXNfZmlzY2FsX3BlcmlvZF9meV9oIiwiZXN0aW1hdGVzX2Zpc2NhbF9wZXJpb2RfZnFfaCIsImVzdGltYXRlc19maXNjYWxfcGVyaW9kX2ZoX2giLCJmb3JlY2FzdF9hdmFpbGFiaWxpdHkiXSksbj1uZXcgY2xhc3N7CmNvbnN0cnVjdG9yKGUpe3RoaXMuX2NhY2hlPW5ldyBNYXAsdGhpcy5fdGltZXM9bmV3IE1hcCx0aGlzLl9maWVsZHM9Wy4uLmUuZmllbGRzXX11cGRhdGUoZSx0LF8pe2NvbnN0IGk9KDAscy5lbnN1cmVEZWZpbmVkKShlLnN5bWJvbG5hbWUpLG49RGF0ZS5ub3coKTtpZih0aGlzLl9jYWNoZS5oYXMoaSl8fHRoaXMuX2NhY2hlLnNldChpLHtzeW1ib2xuYW1lOmksc3RhdHVzOmUuc3RhdHVzLHZhbHVlczp7fX0pLHRoaXMuX3RpbWVzLmhhcyhpKXx8dGhpcy5fdGltZXMuc2V0KGksbmV3IE1hcCksImVycm9yIj09PWUuc3RhdHVzKXJldHVybjtjb25zdCBhPSgwLHMuZW5zdXJlRGVmaW5lZCkodGhpcy5fY2FjaGUuZ2V0KGkpKSxyPSgwLHMuZW5zdXJlRGVmaW5lZCkodGhpcy5fdGltZXMuZ2V0KGkpKTthLnN0YXR1cz1lLnN0YXR1cztmb3IoY29uc3QgcyBvZiB0aGlzLl9maWVsZHMpdC5oYXMocykmJihffHx2b2lkIDAhPT1lLnZhbHVlc1tzXSkmJihhLnZhbHVlc1tzXT1lLnZhbHVlc1tzXSxyLnNldChzLG4pKX1nZXQoZSl7cmV0dXJuIHRoaXMuX2NhY2hlLmdldChlKT8/bnVsbH1nZXRUaW1lcyhlKXtyZXR1cm4gdGhpcy5fdGltZXMuZ2V0KGUpPz9udWxsfWZpZWxkcygpe3JldHVybiB0aGlzLl9maWVsZHN9fSh7ZmllbGRzOml9KX0sOTI3NTkzKGUsdCxfKXsidXNlIHN0cmljdCI7Xy5kKHQse1F1b3RlU2Vzc2lvbk11bHRpcGxleGVyOigpPT5mfSk7dmFyIHM9Xyg1ODcxNjgpLGk9Xyg1NDc4NTEpLG49XygzNTI4MzcpLGE9XygxMzg2MzgpLHI9XygyMjEwNjEpLG89Xyg5NDgzODApLGw9Xyg5NjQ0ODYpLGM9XygxNTAxNTApLGg9XygzMDkwNTIpLGQ9XygzNjc5NDYpO2xldCB1PSExO3ZhciBtPV8oOTcwNzc0KTtjb25zdCBwPSgwLHIuZ2V0TG9nZ2VyKSgiV2ViY2hhcnRDbGllbnQuUXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXIiKTtjbGFzcyBme2NvbnN0cnVjdG9yKGUpe3RoaXMub25Db25uZWN0PW5ldyBvLkRlbGVnYXRlLHRoaXMub25EaXNjb25uZWN0PW5ldyBvLkRlbGVnYXRlLHRoaXMuX2Nvbm5lY3RlZD0hMSx0aGlzLl9zdWJzY3JpcHRpb25zPXt9LHRoaXMuX3N5bWJvbF9kYXRhPXt9LHRoaXMuX2RlbGF5VXBkYXRlRmFzdFN5bWJvbHM9KDAsaS5kZWZhdWx0KSh0aGlzLl91cGRhdGVGYXN0U3ltYm9scywyNTApLHRoaXMuX3Rocm90dGxlZFN5bWJvbERhdGE9e30sdGhpcy5fZXh0ZW5zaW9ucz17fSx0aGlzLm9wdGlvbnM9e3Rocm90dGxlVGltZW91dDoxMjUsLi4uZX0sdGhpcy5fc2Vzc2lvbj1uZXcgbS5RdW90ZVNlc3Npb24oZS5hcGksWyJtdWx0aXBsZXhlciIsZS5uYW1lLCgwLGMucmFuZG9tSGFzaCkoKV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIl8iKSksdGhpcy5vcHRpb25zLmV4dGVuc2lvbnM/LmZvcm1hdHRlciYmKHRoaXMuX2V4dGVuc2lvbnMuZm9ybWF0dGVyPXRoaXMub3B0aW9ucy5leHRlbnNpb25zLmZvcm1hdHRlcih0aGlzKSksdGhpcy5vcHRpb25zLmV4dGVuc2lvbnM/LnNuYXBzaG90JiYodGhpcy5fZXh0ZW5zaW9ucy5zbmFwc2hvdD10aGlzLm9wdGlvbnMuZXh0ZW5zaW9ucy5zbmFwc2hvdCh0aGlzKSksdGhpcy5jb25uZWN0KCl9ZGVzdHJveSgpe3RoaXMuX3Nlc3Npb24uZGVzdHJveSgpLHRoaXMuX2Nvbm5lY3RlZD0hMSx0aGlzLm9uRGlzY29ubmVjdC5maXJlKCl9aW50ZXJuYWxzKCl7cmV0dXJue3Nlc3Npb246KCk9PnRoaXMuX3Nlc3Npb24sc3Vic2NyaXB0aW9uczooKT0+dGhpcy5fc3Vic2NyaXB0aW9ucyxkYXRhOigpPT50aGlzLl9zeW1ib2xfZGF0YX19Y29ubmVjdCgpe3RoaXMuX3Nlc3Npb24uY29ubmVjdCh0aGlzLnF1b3RlSGFuZGxlci5iaW5kKHRoaXMpKX1xdW90ZUhhbmRsZXIoZSl7Y29uc3R7bWV0aG9kOnQscGFyYW1zOl99PWU7c3dpdGNoKHQpe2Nhc2UiY29ubmVjdGVkIjp0aGlzLl9jb25uZWN0ZWR8fCh0aGlzLl9jb25uZWN0ZWQ9ITAsdGhpcy5vbkNvbm5lY3RlZCgpKTticmVhaztjYXNlInF1b3RlX2xpc3RfZmllbGRzIjpicmVhaztjYXNlInF1b3RlX3N5bWJvbF9kYXRhIjp0aGlzLl9jb25uZWN0ZWQmJnRoaXMub25TeW1ib2xEYXRhKF9bMF0pO2JyZWFrO2Nhc2UicXVvdGVfY29tcGxldGVkIjp0aGlzLl9jb25uZWN0ZWQmJnRoaXMub25TeW1ib2xEYXRhKHtzeW1ib2xuYW1lOl9bMF0sY29tcGxldGU6cGVyZm9ybWFuY2Uubm93KCksdmFsdWVzOnt9fSk7YnJlYWs7Y2FzZSJkaXNjb25uZWN0ZWQiOnRoaXMuX2Nvbm5lY3RlZCYmKHRoaXMuX2Nvbm5lY3RlZD0hMSx0aGlzLm9uRGlzY29ubmVjdC5maXJlKCkpfX1vbkNvbm5lY3RlZCgpe3RoaXMuc2V0RmllbGRzKCk7Y29uc3QgZT1PYmplY3Qua2V5cyh0aGlzLl9zeW1ib2xfZGF0YSk7ZS5sZW5ndGgmJih0aGlzLl9zZXNzaW9uLnF1b3RlQWRkU3ltYm9scyhlKSx0aGlzLl9kZWxheVVwZGF0ZUZhc3RTeW1ib2xzKCkpLHRoaXMub25Db25uZWN0LmZpcmUoKX1zZXRGaWVsZHMoKXtjb25zdHtmaWVsZHM6ZX09dGhpcy5vcHRpb25zO2UmJmUubGVuZ3RoJiZ0aGlzLl9zZXNzaW9uLnF1b3RlU2V0RmllbGRzKGUpfW9uU3ltYm9sRGF0YShlKXt0cnl7ZS5zdGF0dXMmJmguUVVPVEVfRklFTERTX0NBQ0hFLnVwZGF0ZShlLGguUVVPVEVfRklFTERTLCExKX1jYXRjaChlKXt9Y29uc3QgdD1lLnN5bWJvbG5hbWU7bGV0IF89dGhpcy5fdGhyb3R0bGVkU3ltYm9sRGF0YVt0XTt1JiYoZGVsZXRlIGUudmFsdWVzLnByZXZfY2xvc2VfcHJpY2Usdm9pZCAwIT09ZS52YWx1ZXMucmVndWxhcl9jbG9zZSYmKGUudmFsdWVzLnByZXZfY2xvc2VfcHJpY2U9ZS52YWx1ZXMucmVndWxhcl9jbG9zZSkpLF98fChfPXRoaXMuX3Rocm90dGxlZFN5bWJvbERhdGFbdF09e2ZuRGlzcGF0Y2g6KDAscy5kZWZhdWx0KSh0aGlzLmRpc3BhdGNoU3ltYm9sRGF0YS5iaW5kKHRoaXMpLHRoaXMub3B0aW9ucy50aHJvdHRsZVRpbWVvdXQpfSksXy5jYWNoZT8oMCxsLmRlZXBFeHRlbmQpKF8uY2FjaGUsZSk6Xy5jYWNoZT1lLF8uZm5EaXNwYXRjaCh0KX1kaXNwYXRjaFN5bWJvbERhdGEoZSl7Y29uc3QgdD10aGlzLl9zeW1ib2xfZGF0YVtlXSxfPXRoaXMuX3Rocm90dGxlZFN5bWJvbERhdGFbZV0uY2FjaGUKO2lmKGRlbGV0ZSB0aGlzLl90aHJvdHRsZWRTeW1ib2xEYXRhW2VdLmNhY2hlLHRoaXMuX3N5bWJvbF9kYXRhW2VdKXsoMCxsLmRlZXBFeHRlbmQpKHQsXyksdC52YWx1ZXMmJnRoaXMuX3BhcnNlVXBkYXRlTW9kZSh0LnZhbHVlcyk7Zm9yKGNvbnN0IHMgaW4gdGhpcy5fc3Vic2NyaXB0aW9ucyl7Y29uc3QgaT10aGlzLl9zdWJzY3JpcHRpb25zW3NdO2lmKGkuaGFzKGUpKXtbLi4uKDAsYS5lbnN1cmVEZWZpbmVkKShpLmdldChlKSldLmZvckVhY2goKGU9PntlKHQsXyl9KSl9fX19c3Vic2NyaWJlKGUsdCxfKXt0aGlzLl9zdWJzY3JpcHRpb25zW2VdPXRoaXMuX3N1YnNjcmlwdGlvbnNbZV18fG5ldyBNYXA7Y29uc3Qgcz10aGlzLl9zdWJzY3JpcHRpb25zW2VdO3Q9QXJyYXkuaXNBcnJheSh0KT9bLi4udF06W3RdO2NvbnN0IGk9W107dC5mb3JFYWNoKChlPT57dGhpcy5fc3ltYm9sX2RhdGFbZV0/cyYmcy5oYXMoZSl8fHRoaXMuX3N5bWJvbF9kYXRhW2VdLnN1YnNjcmliZXJzX2NvdW50Kys6KHRoaXMuX3N5bWJvbF9kYXRhW2VdPXtzdWJzY3JpYmVyc19jb3VudDoxfSxpLnB1c2goZSkpLHMuaGFzKGUpfHxzLnNldChlLFtdKTtjb25zdCB0PSgwLGEuZW5zdXJlRGVmaW5lZCkocy5nZXQoZSkpO3QucHVzaChfKSx0LmZhc3Q9ITAsdGhpcy5fc3ltYm9sX2RhdGFbZV0mJnRoaXMuX3N5bWJvbF9kYXRhW2VdLnZhbHVlcyYmXyh0aGlzLl9zeW1ib2xfZGF0YVtlXSx0aGlzLl9zeW1ib2xfZGF0YVtlXSl9KSksaS5sZW5ndGgmJnRoaXMuX2Nvbm5lY3RlZCYmKHRoaXMuX3Nlc3Npb24ucXVvdGVBZGRTeW1ib2xzKGkpLHRoaXMuX2RlbGF5VXBkYXRlRmFzdFN5bWJvbHMoKSl9dW5zdWJzY3JpYmUoZSx0LF8pe3Q9QXJyYXkuaXNBcnJheSh0KT9bLi4udF06W3RdO2NvbnN0IHM9dGhpcy5fc3Vic2NyaXB0aW9uc1tlXSxpPVtdO2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKXtjb25zdCByPXRbbl07aWYocyYmcy5oYXMocikpe2lmKF8pe2NvbnN0IGU9KDAsYS5lbnN1cmVEZWZpbmVkKShzLmdldChyKSksdD1lLmluZGV4T2YoXyk7fnQmJmUuc3BsaWNlKHQsMSksZS5sZW5ndGh8fHMuZGVsZXRlKHIpfWVsc2Ugcy5kZWxldGUocik7MD09PXMuc2l6ZSYmZGVsZXRlIHRoaXMuX3N1YnNjcmlwdGlvbnNbZV0sdGhpcy5fc3ltYm9sX2RhdGEuaGFzT3duUHJvcGVydHkocikmJihzLmhhcyhyKXx8dGhpcy5fc3ltYm9sX2RhdGFbcl0uc3Vic2NyaWJlcnNfY291bnQtLSx0aGlzLl9zeW1ib2xfZGF0YVtyXS5zdWJzY3JpYmVyc19jb3VudHx8KGRlbGV0ZSB0aGlzLl9zeW1ib2xfZGF0YVtyXSxpLnB1c2gocikpKX1lbHNlIHAubG9nV2FybihgQ2hlY2sgeW91ciBzdWIvdW5zdWIgbG9va3MgaXQgaXMgbGVha2luZyAoY2xpZW50X2lkPSR7ZX0sIHN5bWJvbD0ke3J9KWApfWkubGVuZ3RoJiZ0aGlzLl9jb25uZWN0ZWQmJih0aGlzLl9zZXNzaW9uLnF1b3RlUmVtb3ZlU3ltYm9scyhpKSx0aGlzLl9kZWxheVVwZGF0ZUZhc3RTeW1ib2xzKCkpfXNldEZhc3RTeW1ib2xzKGUsdCl7aWYodGhpcy5fc3Vic2NyaXB0aW9uc1tlXSl7Y29uc3QgXz10aGlzLl9zdWJzY3JpcHRpb25zW2VdLHM9QXJyYXkuZnJvbShfLmtleXMoKSk7Zm9yKGxldCBlPTA7ZTxzLmxlbmd0aDsrK2Upe2NvbnN0IGk9c1tlXTsoMCxhLmVuc3VyZURlZmluZWQpKF8uZ2V0KGkpKS5mYXN0PS0xIT09dC5pbmRleE9mKGkpfX10aGlzLl9kZWxheVVwZGF0ZUZhc3RTeW1ib2xzKCl9c25hcHNob3QoZSl7cmV0dXJuIHZvaWQgMD09PXRoaXMuX2V4dGVuc2lvbnMuc25hcHNob3Q/UHJvbWlzZS5yZWplY3QoIk5vIGZvcm1hdHRlciBleHRlbnNpb24gcHJvdmlkZWQiKTp0aGlzLl9leHRlbnNpb25zLnNuYXBzaG90KGUpfWZvcm1hdHRlcihlLHQpe3JldHVybiB2b2lkIDA9PT10aGlzLl9leHRlbnNpb25zLmZvcm1hdHRlcj9Qcm9taXNlLnJlamVjdCgiTm8gZm9ybWF0dGVyIGV4dGVuc2lvbiBwcm92aWRlZCIpOnRoaXMuX2V4dGVuc2lvbnMuZm9ybWF0dGVyKGUsdCl9X3VwZGF0ZUZhc3RTeW1ib2xzKCl7aWYoIXRoaXMuX2Nvbm5lY3RlZClyZXR1cm47Y29uc3QgZT10aGlzLl9mYXN0U3ltYm9scygpOzA9PT1lLmxlbmd0aD90aGlzLl9zZXNzaW9uLnF1b3RlSGliZXJuYXRlQWxsKCk6dGhpcy5fc2Vzc2lvbi5xdW90ZUZhc3RTeW1ib2xzKGUpfV9mYXN0U3ltYm9scygpe2xldCBlPVtdO2Zvcihjb25zdCB0IGluIHRoaXMuX3N1YnNjcmlwdGlvbnMpe2NvbnN0IF89dGhpcy5fc3Vic2NyaXB0aW9uc1t0XSxzPUFycmF5LmZyb20oXy5rZXlzKCkpO2ZvcihsZXQgdD0wO3Q8cy5sZW5ndGg7Kyt0KXtjb25zdCBpPXNbdF07KDAsYS5lbnN1cmVEZWZpbmVkKShfLmdldChpKSkuZmFzdCYmZS5wdXNoKGkpfX1yZXR1cm4gZT0oMCxuLmRlZmF1bHQpKGUpLGV9X3BhcnNlVXBkYXRlTW9kZShlKXsoMCxkLm5vcm1hbGl6ZVVwZGF0ZU1vZGUpKGUpfX19LDk3MDc3NChlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHtRdW90ZVNlc3Npb246KCk9Pml9KTt2YXIgcz1fKDE1MDE1MCk7Y2xhc3MgaXtjb25zdHJ1Y3RvcihlLHQ9KDAscy5yYW5kb21IYXNoKSgpKXt0aGlzLl9zZXNzaW9uc3RhcnRlZD0hMSx0aGlzLl9nbG9iYWxIYW5kbGVyPW51bGwsdGhpcy5fY2hhcnRBcGk9ZSx0aGlzLl9zZXNzaW9uaWQ9InFzXyIrdH1kZXN0cm95KCl7dGhpcy5fc2Vzc2lvbnN0YXJ0ZWQmJih0aGlzLl9jaGFydEFwaS5xdW90ZURlbGV0ZVNlc3Npb24odGhpcy5fc2Vzc2lvbmlkKSx0aGlzLl9zZXNzaW9uc3RhcnRlZD0hMSl9Y29ubmVjdGVkKCl7cmV0dXJuIHRoaXMuX2NoYXJ0QXBpLmNvbm5lY3RlZCgpfWNvbm5lY3QoZSl7dGhpcy5fZ2xvYmFsSGFuZGxlcj1lLHRoaXMuX2NoYXJ0QXBpLmNyZWF0ZVNlc3Npb24odGhpcy5fc2Vzc2lvbmlkLHRoaXMpLHRoaXMuX2NoYXJ0QXBpLmNvbm5lY3QoKX1kaXNjb25uZWN0KCl7dGhpcy5fY2hhcnRBcGkuZGlzY29ubmVjdCgpfXF1b3RlQWRkU3ltYm9scyhlKXt0aGlzLl9jaGFydEFwaS5xdW90ZUFkZFN5bWJvbHModGhpcy5fc2Vzc2lvbmlkLGUpfXF1b3RlUmVtb3ZlU3ltYm9scyhlKXsKdGhpcy5fY2hhcnRBcGkucXVvdGVSZW1vdmVTeW1ib2xzKHRoaXMuX3Nlc3Npb25pZCxlKX1xdW90ZUZhc3RTeW1ib2xzKGUpe3RoaXMuX2NoYXJ0QXBpLnF1b3RlRmFzdFN5bWJvbHModGhpcy5fc2Vzc2lvbmlkLGUpfXF1b3RlU2V0RmllbGRzKGUpe3RoaXMuX2NoYXJ0QXBpLnF1b3RlU2V0RmllbGRzKHRoaXMuX3Nlc3Npb25pZCxlKX1vbk1lc3NhZ2UoZSl7c3dpdGNoKGUubWV0aG9kKXtjYXNlImNvbm5lY3RlZCI6dGhpcy5fc2Vzc2lvbnN0YXJ0ZWR8fCh0aGlzLl9jaGFydEFwaS5xdW90ZUNyZWF0ZVNlc3Npb24odGhpcy5fc2Vzc2lvbmlkKSx0aGlzLl9zZXNzaW9uc3RhcnRlZD0hMCk7YnJlYWs7Y2FzZSJkaXNjb25uZWN0ZWQiOnRoaXMuX3Nlc3Npb25zdGFydGVkPSExfXRoaXMuX2dsb2JhbEhhbmRsZXI/LihlKX1xdW90ZUhpYmVybmF0ZUFsbCgpe3RoaXMuX2NoYXJ0QXBpLnF1b3RlSGliZXJuYXRlQWxsKHRoaXMuX3Nlc3Npb25pZCl9fX0sNjYxODU4KGUsdCxfKXtlLmV4cG9ydHM9W3tuYW1lOl8uaTE4bmV4dChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxfKDM1MDE0NikpLHZhbHVlOiIiLHNlYXJjaF90eXBlOiJ1bmRlZmluZWQifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg1NTU1MTApKSx2YWx1ZToic3RvY2tzIixzZWFyY2hfdHlwZToic3RvY2tzIn0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oNTY0OTE3KSksdmFsdWU6ImZ1bmRzIixzZWFyY2hfdHlwZToiZnVuZHMifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg1MDUwNzkpKSx2YWx1ZToiZnV0dXJlcyIsc2VhcmNoX3R5cGU6ImZ1dHVyZXMifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg5Nzk5NykpLHZhbHVlOiJmb3JleCIsc2VhcmNoX3R5cGU6ImZvcmV4In0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oMzg0NTk3KSksdmFsdWU6ImNmZCIsc2VhcmNoX3R5cGU6ImNmZCJ9LHtuYW1lOl8uaTE4bmV4dChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxfKDY1NTIzNSkpLHZhbHVlOiJiaXRjb2luLGNyeXB0byIsc2VhcmNoX3R5cGU6ImNyeXB0byJ9LHtuYW1lOl8uaTE4bmV4dChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxfKDkyNzQxMSkpLHZhbHVlOiJpbmRleCIsc2VhcmNoX3R5cGU6ImluZGV4In0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oNzY1NDQwKSksdmFsdWU6ImJvbmQiLHNlYXJjaF90eXBlOiJib25kIn0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oNTQ4MzIyKSksdmFsdWU6ImVjb25vbWljIixzZWFyY2hfdHlwZToiZWNvbm9taWMifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg3OTYwMCkpLHZhbHVlOiJvcHRpb25zIixzZWFyY2hfdHlwZToib3B0aW9ucyJ9XX0sNjA2MTAoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7QXV0aFRva2VuOigpPT5vfSk7dmFyIHM9XygyMjEwNjEpLGk9Xyg5NDgzODApLG49XygzODQwMTcpO2NvbnN0IGE9KDAscy5nZXRMb2dnZXIpKCJDaGFydEFwaS5BdXRoVG9rZW4iLHtjb2xvcjoiIzE3MyJ9KTt2YXIgcjshZnVuY3Rpb24oZSl7ZVtlLkV4cGlyYXRpb25SZXNlcnZlPTNlNV09IkV4cGlyYXRpb25SZXNlcnZlIixlW2UuTWF4UmV0cmllcz0zXT0iTWF4UmV0cmllcyIsZVtlLlJldHJ5RGVsYXlNdWx0aXBsaWVyPTFlM109IlJldHJ5RGVsYXlNdWx0aXBsaWVyIixlW2UuRmFsbGJhY2tFeHBpcmF0aW9uPTE0NGU1XT0iRmFsbGJhY2tFeHBpcmF0aW9uIixlW2UuTWluRXhwaXJhdGlvbj0zZTVdPSJNaW5FeHBpcmF0aW9uIn0ocnx8KHI9e30pKTtjbGFzcyBve2NvbnN0cnVjdG9yKCl7dGhpcy5pbnZhbGlkYXRlZD1uZXcgaS5EZWxlZ2F0ZSx0aGlzLl90aWQ9MCx0aGlzLl9vbkdvaW5nQXV0aFRva2VuUmVxdWVzdD1udWxsLHRoaXMuX29uT25saW5lPSgpPT57YS5sb2dJbmZvKCJPbmxpbmUsIG5ldyB0b2tlbiB3aWxsIGJlIGZldGNoZWQgaWYgbmVlZGVkIiksdGhpcy5fdHJ5VG9VcGRhdGVUb2tlbigpfSx0aGlzLl9vblZpc2liaWxpdHlDaGFuZ2U9KCk9PnsidmlzaWJsZSI9PT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGUmJihhLmxvZ0luZm8oIlBhZ2UgdmlzaWJsZSwgbmV3IHRva2VuIHNob3VsZCBiZSBmZXRjaGVkIiksdGhpcy5fdHJ5VG9VcGRhdGVUb2tlbigpKX0sd2luZG93LmxvZ2luU3RhdGVDaGFuZ2V8fCh3aW5kb3cubG9naW5TdGF0ZUNoYW5nZT1uZXcgaS5EZWxlZ2F0ZSksd2luZG93LmxvZ2luU3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKHRoaXMsKGU9PntlfHwodGhpcy5fc2V0KHdpbmRvdy51c2VyLmF1dGhfdG9rZW4pLHRoaXMuaW52YWxpZGF0ZWQuZmlyZSgpKX0pKSx0aGlzLl9zZXQod2luZG93LnVzZXIuYXV0aF90b2tlbiksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9ubGluZSIsdGhpcy5fb25PbmxpbmUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLHRoaXMuX29uVmlzaWJpbGl0eUNoYW5nZSl9ZGVzdHJveSgpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvbmxpbmUiLHRoaXMuX29uT25saW5lKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLl9vblZpc2liaWxpdHlDaGFuZ2UpfWdldChlKXtyZXR1cm4gd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ/IWUmJnRoaXMuY3VycmVudFRva2VuSXNWYWxpZCgpPyhhLmxvZ0luZm8oYFVzaW5nIGNhY2hlZCB0b2tlbiAke3RoaXMuX2NhY2hlLnRva2VufWApLFByb21pc2UucmVzb2x2ZSh0aGlzLl9jYWNoZS50b2tlbikpOndpbmRvdy5uYXZpZ2F0b3Iub25MaW5lP3RoaXMuX29uR29pbmdBdXRoVG9rZW5SZXF1ZXN0fHw9dGhpcy5fZmV0Y2goQm9vbGVhbihlKSwwKS50aGVuKChlPT57CmlmKCF3aW5kb3cuaXNfYXV0aGVudGljYXRlZCl0aHJvdyBuZXcgRXJyb3IoIlVzZXIgbG9nZ2VkIG91dCB3aGlsZSB0aGUgcmVxdWVzdCB3YXMgaW4gZmxpZ2h0Iik7cmV0dXJuIHRoaXMuX3NldChlKSxlfSkpLmNhdGNoKChlPT4oYS5sb2dFcnJvcihgRXJyb3IgZmV0Y2hpbmcgbmV3IHRva2VuOiAke2UmJmUubWVzc2FnZX1gKSwiIikpKS5maW5hbGx5KCgoKT0+e3RoaXMuX29uR29pbmdBdXRoVG9rZW5SZXF1ZXN0PW51bGx9KSk6KGEubG9nV2FybigiT2ZmbGluZSwgY2Fubm90IGZldGNoIG5ldyB0b2tlbiwgdXNpbmcgY2FjaGVkIHRva2VuIiksUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2NhY2hlLnRva2VuKSk6UHJvbWlzZS5yZXNvbHZlKCIiKX1yZXNldCgpe3RoaXMuX3NldCh2b2lkIDApLHRoaXMuaW52YWxpZGF0ZWQuZmlyZSgpfWN1cnJlbnRUb2tlbklzVmFsaWQoKXtyZXR1cm4hd2luZG93LmlzX2F1dGhlbnRpY2F0ZWR8fCEhdGhpcy5fY2FjaGUmJihwZXJmb3JtYW5jZS5ub3coKTx0aGlzLl9jYWNoZS5tb25vVmFsaWRUaHJ1JiZEYXRlLm5vdygpPHRoaXMuX2NhY2hlLndhbGxWYWxpZFRocnUpfV9zZXQoZSl7aWYod2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJnZvaWQgMCE9PWUpe2NvbnN0IHQ9ZnVuY3Rpb24oZSl7aWYoIiI9PT1lKXJldHVybiAxNDRlNTt0cnl7Y29uc3QgdD1KU09OLnBhcnNlKGF0b2IoZS5zcGxpdCgiLiIpWzFdLnJlcGxhY2UoLy0vZywiKyIpLnJlcGxhY2UoL18vZywiLyIpKSksXz0xZTMqKHQuZXhwLXQuaWF0KTtpZighaXNGaW5pdGUoXykpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGV4cGlyYXRpb24iKTtyZXR1cm4gTWF0aC5tYXgoXy0zZTUsM2U1KX1jYXRjaCh0KXtyZXR1cm4gYS5sb2dFcnJvcihgJHtlfSBpcyBpbnZhbGlkOiAke3QubWVzc2FnZX1gKSwxNDRlNX19KGUpO3RoaXMuX2NhY2hlPXt0b2tlbjplLG1vbm9WYWxpZFRocnU6cGVyZm9ybWFuY2Uubm93KCkrdCx3YWxsVmFsaWRUaHJ1OkRhdGUubm93KCkrdH0sY2xlYXJUaW1lb3V0KHRoaXMuX3RpZCksdGhpcy5fdGlkPXNldFRpbWVvdXQoKCgpPT57d2luZG93Lm5hdmlnYXRvci5vbkxpbmU/dGhpcy5yZXNldCgpOmEubG9nSW5mbygiT2ZmbGluZSwgY2FjaGUgd2lsbCBub3QgYmUgaW52YWxpZGF0ZWQiKX0pLHQpLGEubG9nSW5mbyhgQ2FjaGVkIGZvciAke3R9IG1zOiAke2V9YCl9ZWxzZSB0aGlzLl9jYWNoZT17dG9rZW46IiIsbW9ub1ZhbGlkVGhydTotMS8wLHdhbGxWYWxpZFRocnU6LTEvMH0sY2xlYXJUaW1lb3V0KHRoaXMuX3RpZCksYS5sb2dJbmZvKCJDYWNoZSBkcm9wcGVkIil9X2ZldGNoKGUsdCl7cmV0dXJuIGEubG9nTm9ybWFsKGBGZXRjaGluZyBhIG5ldyB0b2tlbiwgZ3JhYlNlc3Npb249JHtlfWApLCgwLG4uZmV0Y2gpKCIvcXVvdGVfdG9rZW4vIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIn0sYm9keTplPyJncmFiU2Vzc2lvbj10cnVlIjoiIn0pLnRoZW4oKGU9PntpZighZS5vayl0aHJvdyBuZXcgRXJyb3IoYFJlc3BvbnNlIHN0YXR1cyBpcyBub3Qgb2s6ICR7ZS5zdGF0dXN9YCk7cmV0dXJuIGUuanNvbigpLnRoZW4oU3RyaW5nKX0pLChfPT57aWYodD49Myl0aHJvdyBfO3JldHVybiBhLmxvZ1dhcm4oIlJlcXVlc3QgZmFpbGVkLCB3aWxsIHJldHJ5IiksZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBQcm9taXNlKCh0PT5zZXRUaW1lb3V0KHQsMWUzKmUpKSl9KHQpLnRoZW4oKCgpPT50aGlzLl9mZXRjaChlLHQrMSkpKX0pKX1hc3luYyBfdHJ5VG9VcGRhdGVUb2tlbigpe3RoaXMuX2NhY2hlLnRva2VuIT09YXdhaXQgdGhpcy5nZXQoKSYmdGhpcy5pbnZhbGlkYXRlZC5maXJlKCl9fX0sOTMwMDQ1KGUsdCxfKXsidXNlIHN0cmljdCI7Xy5kKHQse0pTT05EYXRhSGFuZGxlcjooKT0+YX0pO3ZhciBzPV8oNzgzMzQwKTtmdW5jdGlvbiBpKGUpe3JldHVybntpbmRleDplLmksdmFsdWU6ZS52fX1mdW5jdGlvbiBuKGUpe2Zvcihjb25zdCB0IG9mIE9iamVjdC5rZXlzKGUpKXtjb25zdCBfPWVbdF07Xy50JiYoXy50dXJuYXJvdW5kPWVbdF0udCksInMiaW4gZVt0XSYmZVt0XS5zJiYhXy5zZXJpZXMmJihfLnNlcmllcz1lW3RdLnMubWFwKGkpKSwic3QiaW4gZVt0XSYmZVt0XS5zdCYmIV8uc2VyaWVzJiYoXy5zZXJpZXM9ZVt0XS5zdC5tYXAoaSkpfX1jbGFzcyBhe3NldF9icm9rZXIoZSl7cmV0dXJuW2VdfXNldF9kYXRhX3F1YWxpdHkoKXtyZXR1cm5bImxvdyJdfXF1b3RlX2NyZWF0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1xdW90ZV9kZWxldGVfc2Vzc2lvbihlKXtyZXR1cm5bZV19cXVvdGVfc2V0X2ZpZWxkcyhlLHQpe3JldHVybltlXS5jb25jYXQodCl9cXVvdGVfYWRkX3N5bWJvbHMoZSx0KXtyZXR1cm5bZV0uY29uY2F0KHQpfXF1b3RlX3JlbW92ZV9zeW1ib2xzKGUsdCl7cmV0dXJuW2VdLmNvbmNhdCh0KX1xdW90ZV9mYXN0X3N5bWJvbHMoZSx0KXtyZXR1cm5bZV0uY29uY2F0KHQpfXF1b3RlX2hpYmVybmF0ZV9hbGwoZSl7cmV0dXJuW2VdfWRlcHRoX2NyZWF0ZV9zZXNzaW9uKGUsdCxfKXtyZXR1cm5bZSx0LF9dfWRlcHRoX2RlbGV0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1kZXB0aF9zZXRfc3ltYm9sKGUsdCl7cmV0dXJuW2UsdF19ZGVwdGhfY2xlYXJfc3ltYm9sKGUpe3JldHVybltlXX1kZXB0aF9zZXRfc2NhbGUoZSx0KXtyZXR1cm5bZSx0XX1jaGFydF9jcmVhdGVfc2Vzc2lvbihlLHQpe3JldHVybltlLHQ/ImRpc2FibGVfc3RhdGlzdGljcyI6IiJdfWNoYXJ0X2RlbGV0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1zZXRfYXV0aF90b2tlbihlKXtyZXR1cm5bZV19c2V0X2xvY2FsZShlLHQpe3JldHVybltlLHRdfXN3aXRjaF90aW1lem9uZShlLHQpe3JldHVybltlLHRdfXJlc29sdmVfc3ltYm9sKGUsdCxfKXtyZXR1cm5bZSx0LF9dfWNyZWF0ZV9zZXJpZXMoZSx0LF8scyxpLG4sYSl7cmV0dXJuW2UsdCxfPV98fCIiLHMsaSxuLGFdfXJlbW92ZV9zZXJpZXMoZSx0KXtyZXR1cm5bZSx0XX1tb2RpZnlfc2VyaWVzKGUsdCxfLHMsaSxuKXtyZXR1cm5bZSx0LF89X3x8IiIscyxpLG5dfQpyZXF1ZXN0X21vcmVfZGF0YShlLHQsXyl7cmV0dXJuW2UsdCxfXX1zZXRfZnV0dXJlX3RpY2ttYXJrc19tb2RlKGUsdCl7cmV0dXJuW2UsdF19cmVxdWVzdF9zdHVkaWVzX21ldGFkYXRhKGUpe3JldHVybltlXX1jcmVhdGVfc3R1ZHkoZSx0LF8scyxpLG4pe3JldHVybltlLHQsXz1ffHwiIixzLGldLmNvbmNhdChuKX1jcmVhdGVfY2hpbGRfc3R1ZHkoZSx0LF8scyxpLG4pe3JldHVybiB0aGlzLmNyZWF0ZV9zdHVkeShlLHQsXyxzLGksbil9cmVtb3ZlX3N0dWR5KGUsdCl7cmV0dXJuW2UsdF19bW9kaWZ5X3N0dWR5KGUsdCxfLHMpe3JldHVybltlLHQsXz1ffHwiIl0uY29uY2F0KHMpfW5vdGlmeV9zdHVkeShlLHQsXyxzKXtyZXR1cm5bZSx0LF89X3x8IiIsc119Y3JlYXRlX3BvaW50c2V0KGUsdCxfLHMsaSxuKXtyZXR1cm5bZSx0LF89X3x8IiIscyxpXS5jb25jYXQobil9bW9kaWZ5X3BvaW50c2V0KGUsdCxfLHMpe3JldHVybltlLHQsXz1ffHwiIl0uY29uY2F0KHMpfXJlbW92ZV9wb2ludHNldChlLHQpe3JldHVybltlLHRdfXJlcXVlc3RfbW9yZV90aWNrbWFya3MoZSx0LF8pe3JldHVybltlLHQsX119Z2V0X2ZpcnN0X2Jhcl90aW1lKGUsdCxfKXtyZXR1cm5bZSx0LF9dfXJlcGxheV9jcmVhdGVfc2Vzc2lvbihlKXtyZXR1cm5bZV19cmVwbGF5X2RlbGV0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1yZXBsYXlfcmVzZXQoZSx0LF8pe3JldHVybltlLHQsX119cmVwbGF5X3N0YXJ0KGUsdCxfKXtyZXR1cm5bZSx0LF9dfXJlcGxheV9zdG9wKGUsdCl7cmV0dXJuW2UsdF19cmVwbGF5X3N0ZXAoZSx0LF8pe3JldHVybltlLHQsX119cmVwbGF5X2FkZF9zZXJpZXMoZSx0LF8scyl7cmV0dXJuW2UsdCxfLHNdfXJlcGxheV9yZW1vdmVfc2VyaWVzKGUsdCxfLHMpe3JldHVybltlLHQsXyxzXX1yZXBsYXlfc2V0X3Jlc29sdXRpb24oZSx0LF8pe3JldHVybltlLHQsX119cmVwbGF5X2dldF9kZXB0aChlLHQsXyxzKXtyZXR1cm5bZSx0LF8sc119Y29udmVydFRpbWVzY2FsZVJlc3BvbnNlKGUpe2NvbnN0IHQ9ZS5tYXJrcy5tYXAoKGU9Pih7c3BhbjplWzBdLHRpbWU6ZVsxXSxpbmRleDplWzJdfSkpKSxfPXZvaWQgMD09PWUuaW5kZXhfZGlmZj9bXTplLmluZGV4X2RpZmYubWFwKChlPT4oe29sZDplWzBdLG5ldzplWzFdfSkpKTtyZXR1cm57Li4uZSxtYXJrczp0LGluZGV4X2RpZmY6XyxjbGVhcjowPT09ZS5jaGFuZ2VzLmxlbmd0aCYmMD09PV8ubGVuZ3RoJiYwPT09dC5sZW5ndGh9fWdldERhdGFVcGRhdGVPYmplY3RzKGUpe3JldHVybiBlLnBhcmFtc1swXX1nZXRUaW1lc2NhbGVPYmplY3RzKGUpe3JldHVybiBlLnBhcmFtc1swXX1nZXRUaW1lc2NhbGVDaGFuZ2VzZXQoZSl7cmV0dXJuIGUucGFyYW1zWzFdfXByZXBhcmVEYXRhVXBkYXRlT2JqZWN0cyhlLHQsXyl7Zm9yKGNvbnN0W2ksbl1vZiBPYmplY3QuZW50cmllcyh0KSl7Y29uc3QgdD0icGxvdHMiaW4gbj9uLnBsb3RzOm4uc2VyaWVzLGE9e2N1c3RvbUlkOmksdHVybmFyb3VuZDpuLnR1cm5hcm91bmQscGxvdHM6dH07Im5zImluIG4mJm4ubnMmJihhLm5vbnNlcmllcz1uLm5zKSwibGJzImluIG4mJm4ubGJzJiYoYS5sYXN0QmFyPXtjbG9zZVRpbWU6bi5sYnMuYmFyX2Nsb3NlX3RpbWV9KTtmb3IoY29uc3QgZSBvZiBhLnBsb3RzKWZvcihjb25zdFt0LF9db2YgT2JqZWN0LmVudHJpZXMoZS52YWx1ZSkpXyYmTWF0aC5hYnMoXyk+PTFlMTAwJiYoZS52YWx1ZVsrdF09dm9pZCAwKTtfKGUsaSx7bWV0aG9kOnMuV2ViY2hhcnRDaGFydFNlc3Npb25SZXNwb25zZU1ldGhvZC5EYXRhVXBkYXRlLHBhcmFtczphfSl9fXVucGFjayhlKXtjb25zdCB0PUpTT04ucGFyc2UoZSk7dC5tJiZ0LnAmJih0Lm1ldGhvZD10Lm0sdC5wYXJhbXM9dC5wLHQudGltZT10LnQpO2NvbnN0IF89dC5wYXJhbXNbMV07c3dpdGNoKHQubWV0aG9kKXtjYXNlInFzZCI6dC5tZXRob2Q9InF1b3RlX3N5bWJvbF9kYXRhIixfLnN5bWJvbG5hbWU9Xy5uLF8uc3RhdHVzPV8ucyxfLnZhbHVlcz1fLnYsXy52YWx1ZXMuY2hhbmdlPV8udi5jaCxfLnZhbHVlcy5sYXN0X3ByaWNlPV8udi5scCxfLnZhbHVlcy5jaGFuZ2VfcGVyY2VudD1fLnYuY2hwLGRlbGV0ZSBfLm4sZGVsZXRlIF8ucyxkZWxldGUgXy52LGRlbGV0ZSBfLnZhbHVlcy5jaCxkZWxldGUgXy52YWx1ZXMubHAsZGVsZXRlIF8udmFsdWVzLmNocDticmVhaztjYXNlImR1Ijp0Lm1ldGhvZD0iZGF0YV91cGRhdGUiLG4oXyk7YnJlYWs7Y2FzZSJjbGVhcl9kYXRhIjpmb3IoY29uc3QgZSBvZiBPYmplY3Qua2V5cyhfKSlfW2VdLnR1cm5hcm91bmQ9X1tlXS50O2JyZWFrO2Nhc2UidGltZXNjYWxlX3VwZGF0ZSI6bihfKX1yZXR1cm4gdH1wcmVwYXJlRW5jb2RlTWVzc2FnZShlLHQpe3JldHVybiBKU09OLnN0cmluZ2lmeSh7bTplLHA6dH0pfXJlcXVlc3RfZGF0YV9wcm9ibGVtcygpe3JldHVybltdfX19LDQ2MzQ0NyhlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHtIYW5kbGVySW5mbzooKT0+c30pO2NsYXNzIHN7Y29uc3RydWN0b3IoZSx0LF8pe3RoaXMuaGFuZGxlcj1lLHRoaXMuY3VzdG9tSWQ9dCx0aGlzLnNpbmdsZVNob3Q9X319fSw3ODMzNDAoZSx0LF8peyJ1c2Ugc3RyaWN0Ijt2YXIgcyxpLG47Xy5kKHQse1dlYmNoYXJ0Q2hhcnRTZXNzaW9uUmVzcG9uc2VNZXRob2Q6KCk9PmksV2ViY2hhcnRSZXBsYXlTZXNzaW9uUmVzcG9uc2VNZXRob2Q6KCk9Pm4sV2ViY2hhcnRSZXNwb25zZU1ldGhvZDooKT0+c30pLGZ1bmN0aW9uKGUpe2UuUmVxdWVzdERhdGFQcm9ibGVtcz0icmVxdWVzdF9kYXRhX3Byb2JsZW1zIixlLlByb3RvY29sRXJyb3I9InByb3RvY29sX2Vycm9yIixlLlByb3RvY29sU3dpdGNoZWQ9InByb3RvY29sX3N3aXRjaGVkIixlLkNyaXRpY2FsRXJyb3I9ImNyaXRpY2FsX2Vycm9yIn0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlLlN0dWRpZXNNZXRhZGF0YT0ic3R1ZGllc19tZXRhZGF0YSIsZS5UaW1lU2NhbGVVcGRhdGU9InRpbWVzY2FsZV91cGRhdGUiLGUuVGlja01hcmtVcGRhdGU9InRpY2ttYXJrX3VwZGF0ZSIsZS5EVT0iZHUiLGUuRGF0YVVwZGF0ZT0iZGF0YV91cGRhdGUiLAplLkluZGV4VXBkYXRlPSJpbmRleF91cGRhdGUiLGUuVGltZVNjYWxlQ29tcGxldGVkPSJ0aW1lc2NhbGVfY29tcGxldGVkIixlLlFTRD0icXNkIixlLlF1b3RlTGlzdEZpZWxkPSJxdW90ZV9saXN0X2ZpZWxkcyIsZS5RdW90ZVN5bWJvbERhdGE9InF1b3RlX3N5bWJvbF9kYXRhIixlLlF1b3RlQ29tcGxldGVkPSJxdW90ZV9jb21wbGV0ZWQiLGUuRGVwdGhTeW1ib2xFcnJvcj0iZGVwdGhfc3ltYm9sX2Vycm9yIixlLkRlcHRoU3ltYm9sU3VjY2Vzcz0iZGVwdGhfc3ltYm9sX3N1Y2Nlc3MiLGUuRGVwdGhEYXRhPSJkZCIsZS5EZXB0aERhdGFVcGRhdGU9ImRwdSIsZS5EZXB0aEJhckxhc3RWYWx1ZT0iZGVwdGhfYmFyX2xhc3RfdmFsdWUiLGUuQ2xlYXJEYXRhPSJjbGVhcl9kYXRhIixlLlNlcmllc1RpbWVGcmFtZT0ic2VyaWVzX3RpbWVmcmFtZSIsZS5TeW1ib2xSZXNvbHZlZD0ic3ltYm9sX3Jlc29sdmVkIixlLlNlcmllc0Vycm9yPSJzZXJpZXNfZXJyb3IiLGUuU2VyaWVzQ29tcGxldGVkPSJzZXJpZXNfY29tcGxldGVkIixlLlN0dWR5TG9hZGluZz0ic3R1ZHlfbG9hZGluZyJ9KGl8fChpPXt9KSksZnVuY3Rpb24oZSl7ZS5SZXBsYXlFcnJvcj0icmVwbGF5X2Vycm9yIixlLlJlcGxheVBvaW50PSJyZXBsYXlfcG9pbnQiLGUuUmVwbGF5T2s9InJlcGxheV9vayIsZS5SZXBsYXlSZXNvbHV0aW9ucz0icmVwbGF5X3Jlc29sdXRpb25zIixlLlJlcGxheURhdGFFbmQ9InJlcGxheV9kYXRhX2VuZCIsZS5SZXBsYXlJbnN0YW5jZUlkPSJyZXBsYXlfaW5zdGFuY2VfaWQiLGUuUmVwbGF5RGVwdGg9InJlcGxheV9kZXB0aCJ9KG58fChuPXt9KSl9LDUyMTMzMyhlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHtnZXREZWZhdWx0UmVzb2x1dGlvbnM6KCk9Pm59KTt2YXIgcz1fKDkzMDIzMSksaT1fKDYxOTk5Mik7ZnVuY3Rpb24gbigpe2NvbnN0IGU9WyIxIiwiMyIsIjUiLCIxNSIsIjMwIiwiNDUiLCI2MCIsIjEyMCIsIjE4MCIsIjI0MCIsIjFEIiwiMVciLCIxTSIsIjNNIiwiNk0iLCIxMk0iLCIxUiIsIjEwUiIsIjEwMFIiLCIxMDAwUiJdO2lmKCEoMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSl7bGV0IHQ9WyIxUyIsIjVTIiwiMTBTIiwiMTVTIiwiMzBTIiwiNDVzIl07cmV0dXJuKDAsaS5pc1RpY2tzRW5hYmxlZCkoKSYmKHQ9WyIxVCIsIjEwVCIsIjEwMFQiLCIxMDAwVCJdLmNvbmNhdCh0KSksdC5jb25jYXQoZSl9cmV0dXJuIGV9fSwyMTc1MjcoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7dHlwZXM6KCk9PnN9KTtjb25zdCBzPXtFQ09OT01JQzoiZWNvbm9taWMiLFFVQU5ETDoicXVhbmRsIn19LDEyNzcxMShlKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPUpTT04ucGFyc2UoJ3siY21lIjp7IklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjk5OTk5fX0sImJvdmVzcGEiOnsiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6OTk5OTl9fSwicWVjb21xYSI6eyJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0Ijo5OTk5OX19LCJzYW50YW5kZXJjb21hciI6eyJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0Ijo5OTk5OX19fScpfSw1MDI1ODcoZSl7InVzZSBzdHJpY3QiCjtlLmV4cG9ydHM9SlNPTi5wYXJzZSgneyJmcmVlIjp7IkNIQVRfQVNTSVNUQU5UIjp7ImxpbWl0Ijo1LCJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiQ0hBUlRfU1RPUkFHRSI6eyJsaW1pdCI6MX0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6MX0sIklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjJ9LCJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiOnsibGltaXQiOjF9LCJISVNUT1JJQ0FMX0JBUlMiOnsibGltaXQiOjV9LCJTVFVEWV9PTl9TVFVEWSI6eyJsaW1pdCI6ODAwLCJjaGlsZF9saW1pdCI6MX0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0Ijo1MCwibGltaXQiOjMsImNvbXBsZXhfbGltaXQiOjAsInByaW1pdGl2ZV9saW1pdCI6M30sIlNDUkVFTkVSX0lOVEVSVkFMUyI6eyJpbnRlcnZhbCI6WyIxRCIsIjFXIiwiMU0iXX0sIlNUVURZX1RFTVBMQVRFUyI6eyJsaW1pdCI6MX0sIlNJTVVMVEFORU9VU19DT05ORUNUSU9OUyI6eyJsaW1pdCI6MX0sIkJBQ0tFTkRfQ09OTkVDVElPTlMiOnsibGltaXQiOjJ9LCJJREVBX1NPQ0lBTF9MSU5LUyI6eyJzb2NpYWxzIjpbIlR3aXR0ZXIiLCJZb3V0dWJlIl19LCJNVUxUSUNPTE9SX0ZMQUdHRURfU1lNQk9MUyI6eyJsaW1pdCI6MX0sIldBVENITElTVF9TWU1CT0xTIjp7ImxpbWl0IjozMH0sIlZJREVPX0lERUFTX0xFTkdUSCI6eyJsaW1pdCI6MjB9LCJDUkVBVEVfTU9SRV9QT1JURk9MSU9TIjp7ImxpbWl0IjoxfSwiUE9SVEZPTElPX1RSQU5TQUNUSU9OUyI6eyJsaW1pdCI6MjAwMH0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6MjB9fSwicHJvIjp7IkRSQVdJTkdTIjp7fSwiQkFDS1RFU1RJTkdfQ0hBUlRfRVhQQU5EIjp7fSwiQkFDS1RFU1RJTkdfRVhURU5ERURfTUVUUklDUyI6e30sIkJBQ0tURVNUSU5HX0VYUE9SVF9YTFNYIjp7fSwiQkFDS1RFU1RJTkdfRVhQT1JUX0NTViI6e30sIkNIQVRfQVNTSVNUQU5UIjp7ImxpbWl0Ijo1LCJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiUEVSU09OQUxfU1VQUE9SVCI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiQ0hBUlRfU1RPUkFHRSI6eyJsaW1pdCI6NX0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6Mn0sIk1BUktFVF9EQVRBX0xJTUlUUyI6eyJsaW1pdCI6MiwicHJpbWl0aXZlX2xpbWl0IjoyfSwiQ1VTVE9NX0lOVEVSVkFMUyI6e30sIk1VTFRJUExFX1dBVENITElTVFMiOnt9LCJJTVBPUlRfV0FUQ0hMSVNUUyI6e30sIkVYUE9SVF9XQVRDSExJU1RTIjp7fSwiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6NX0sIkZVTkRBTUVOVEFMU19GT1JFQ0FTVCI6e30sIkZVTkRBTUVOVEFMU19PTl9DSEFSVCI6eyJsaW1pdCI6NH0sIlRWX1BST1NUVURJRVMiOnsic3R1ZHlfcGFja2FnZXMiOlsidHYtY2hhcnRwYXR0ZXJucyJdfSwiSElTVE9SSUNBTF9CQVJTIjp7ImxpbWl0IjoxMH0sIlRWX1ZPTFVNRUJZUFJJQ0UiOnsic3R1ZHlfcGFja2FnZXMiOlsidHYtdm9sdW1lYnlwcmljZSJdfSwiU1RVRFlfT05fU1RVRFkiOnsibGltaXQiOjgwMCwiY2hpbGRfbGltaXQiOjF9LCJUSUNLX0JZX1RJQ0tfUFVTSF9EQVRBIjp7fSwiU0VSVkVSX1NJREVfQUxFUlRTIjp7Im92ZXJhbGxfbGltaXQiOjIwMDAsImxpbWl0IjoyMCwiY29tcGxleF9saW1pdCI6MjAsInByaW1pdGl2ZV9saW1pdCI6MjB9LCJTQ1JFRU5FUl9BVVRPX1JFRlJFU0giOnt9LCJTQ1JFRU5FUl9ORVdfQVVUT19SRUZSRVNIIjp7fSwiU0NSRUVORVJfTkVXX0VYUE9SVF9DU1ZfREFUQSI6e30sIlNDUkVFTkVSX05FV19TSE9XX1JFU1RSSUNURURfREFUQSI6e30sIlNIT1dfQk9ORFNfUkVTVFJJQ1RFRF9EQVRBIjp7fSwiUE9SVEZPTElPX0RBVEFfTElNSVQiOnt9LCJDUkVBVEVfTU9SRV9QT1JURk9MSU9TIjp7ImxpbWl0IjozfSwiUE9SVEZPTElPX1RSQU5TQUNUSU9OUyI6eyJsaW1pdCI6NTAwMH0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6NTB9LCJTQ1JFRU5FUl9JTlRFUlZBTFMiOnsiaW50ZXJ2YWwiOlsiMW0iLCI1bSIsIjE1bSIsIjMwbSIsIjFoIiwiMmgiLCI0aCIsIjFEIiwiMVciLCIxTSJdfSwiTk9fU1BPTlNPUkVEX0FEUyI6eyJkaXNhYmxlX29uX2xpdGVfcGxhbiI6ImV4Y2x1ZGVfbW9iaWxlIn0sIlNUVURZX1RFTVBMQVRFUyI6eyJsaW1pdCI6OTk5OTl9LCJTSU1VTFRBTkVPVVNfQ09OTkVDVElPTlMiOnsibGltaXQiOjF9LCJCQUNLRU5EX0NPTk5FQ1RJT05TIjp7ImxpbWl0IjoxMH0sIklEQ19BVkFJTEFCTEVfREVMQVkiOnt9LCJTVEFUVVMiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkJBUl9SRVBMQVlfSU5UUkFEQVkiOnsibGltaXQiOjF9LCJNVUxUSUZMQUdHRURfU1lNQk9MU19MSVNUUyI6e30sIlNIT1dTIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJBTEVSVFNfV0VCSE9PSyI6e30sIkFMRVJUU19PTl9FQVJOSU5HUyI6e30sIkFMRVJUU19PTl9GVU5EQU1FTlRBTF9NRVRSSUNTIjp7fSwiREVFUF9GVU5EQU1FTlRBTFNfSElTVE9SWSI6e30sIlBVQkxJU0hfUFJPVEVDVEVEX1NDUklQVFMiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIklERUFfU09DSUFMX0xJTktTIjp7InNvY2lhbHMiOlsiVHdpdHRlciIsIllvdXR1YmUiXX0sIkVYVEVOREVEX1NPQ0lBTF9MSU5LUyI6eyJzb2NpYWxzIjpbIkZhY2Vib29rIiwiSW5zdGFncmFtIl0sImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJNVUxUSV9NT05JVE9SIjp7fSwiTVVMVElDT0xPUl9GTEFHR0VEX1NZTUJPTFMiOnsibGltaXQiOjd9LCJJTlRSQURBWV9FWENIQU5HRSI6e30sIlZPTFVNRV9QUk9GSUxFIjp7fSwiU1RSRUFNU19BQ0NFU1MiOnsiZm9sbG93ZXJzIjoxMH0sIlNNU18yRkFfVkVSSUZJQ0FUSU9OIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJTT0NJQUxfQUNUSVZJVFkiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIldBVENITElTVF9TWU1CT0xTIjp7ImxpbWl0IjoxMDAwfSwiRklFTERTX1BFUk1JU1NJT05TIjp7Iml0ZW1zIjpbInJlZmJvbmRzIl19LCJDVVNUT01fUkFOR0VfQkFSUyI6e30sIkZBU1RFU1RfREFUQV9GTE9XIjp7fSwiU0VTU0lPTl9WT0xVTUVfUFJPRklMRSI6e30sIlNIT1dfRVRGX0hPTERJTkdTX0RBVEEiOnt9fSwicHJvX3JlYWx0aW1lIjp7ImV4dGVuZHMiOiJwcm8iLCJDSEFSVF9TVE9SQUdFIjp7ImxpbWl0IjoxMH0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6NH0sIk1BUktFVF9EQVRBX0xJTUlUUyI6eyJsaW1pdCI6NCwicHJpbWl0aXZlX2xpbWl0Ijo0fSwiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6MTB9LCJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiOnsibGltaXQiOjd9LCJUVl9QUk9TVFVESUVTIjp7InN0dWR5X3BhY2thZ2VzIjpbInR2LXByb3N0dWRpZXMiLCJ0di1jaGFydHBhdHRlcm5zIl19LCJTVFVEWV9PTl9TVFVEWSI6eyJsaW1pdCI6ODAwLCJjaGlsZF9saW1pdCI6OX0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0IjoyMDAwLCJsaW1pdCI6MTAwLCJjb21wbGV4X2xpbWl0IjoxMDAsInByaW1pdGl2ZV9saW1pdCI6MTAwfSwiQUxFUlRTX01VTFRJQ09ORElUSU9OUyI6eyJjb25kaXRpb25fbGltaXQiOjV9LCJDSEFUX0FTU0lTVEFOVCI6eyJsaW1pdCI6NSwiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkNBTl9FRElUX1BVQkxJQ19DSEFUUyI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiQkFDS0VORF9DT05ORUNUSU9OUyI6eyJsaW1pdCI6MjB9LCJFWFBPUlRfQ0hBUlRfREFUQSI6e30sIkNVU1RPTV9GT1JNVUxBUyI6e30sIklOVFJBREFZX0VYT1RJQ19DSEFSVFMiOnt9LCJLQUdJX1JFTktPIjp7fSwiSU5UUkFEQVlfU1BSRUFEIjp7fSwiQ1VTVE9NX0NIQVRTIjp7fSwiQ1JFQVRFX01PUkVfUE9SVEZPTElPUyI6eyJsaW1pdCI6NH0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6NzV9fSwicHJvX3ByZW1pdW0iOnsiZXh0ZW5kcyI6InByb19yZWFsdGltZSIsIkJBUl9ERVRBTElaQVRJT04iOnt9LCJTQ1JJUFRfRVhFQ1VUSU9OX09OX0hJU1RPUllfQkFSUyI6e30sIkNIQVJUX1NUT1JBR0UiOnsibGltaXQiOjk5OTk5fSwiTVVMVElQTEVfQ0hBUlRTIjp7ImxpbWl0Ijo4fSwiTUFSS0VUX0RBVEFfTElNSVRTIjp7ImxpbWl0Ijo2LCJwcmltaXRpdmVfbGltaXQiOjZ9LCJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0IjoyNX0sIkZVTkRBTUVOVEFMU19PTl9DSEFSVCI6eyJsaW1pdCI6MTB9LCJGVU5EQU1FTlRBTF9HUkFQSFNfTEFSR0VfVElNRV9SQU5HRSI6e30sIkNIQVRfQVNTSVNUQU5UIjp7ImxpbWl0Ijo5OTk5OSwiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkNIQVJUX1BBVFRFUk5TIjp7InN0dWR5X3BhY2thZ2VzIjpbInR2LWNoYXJ0cGF0dGVybnMiLCJ0di1jaGFydF9wYXR0ZXJucyJdfSwiSElTVE9SSUNBTF9CQVJTIjp7ImxpbWl0IjoyMH0sIlNUVURZX09OX1NUVURZIjp7ImxpbWl0Ijo4MDAsImNoaWxkX2xpbWl0IjoyNH0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0IjoyMDAwLCJsaW1pdCI6NDAwLCJjb21wbGV4X2xpbWl0Ijo0MDAsInByaW1pdGl2ZV9saW1pdCI6NDAwLCJ3YXRjaGxpc3RfbGltaXQiOjIsIm92ZXJhbGxfd2F0Y2hsaXN0X2xpbWl0Ijo1fSwiU0lNVUxUQU5FT1VTX0NPTk5FQ1RJT05TIjp7ImxpbWl0IjoyfSwiQkFDS0VORF9DT05ORUNUSU9OUyI6eyJsaW1pdCI6NTB9LCJJREVBX1NJR05BVFVSRSI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiUFJPRklMRV9XRUJTSVRFX0ZJRUxEIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJCQVJfUkVQTEFZX0lOVFJBREFZIjp7ImxpbWl0Ijo0fSwiQkFSX1JFUExBWV8xUyI6e30sIkFMRVJUU19OT19FWFBJUkFUSU9OIjp7fSwiUFVCTElTSF9JTlZJVEVfT05MWV9TQ1JJUFRTIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJFWFBPUlRfQ0hBUlRfREFUQSI6e30sIkRFRVBfSElTVE9SWV9CQUNLVEVTVCI6e30sIkFMRVJUU19PTl9TRUNPTkRTIjp7fSwiUEVSTUFORU5UX1NUUkVBTV9SRUNPUkRTIjp7fSwiRVhURU5ERURfU09DSUFMX0xJTktTIjp7InNvY2lhbHMiOlsiRmFjZWJvb2siLCJJbnN0YWdyYW0iLCJXZWJzaXRlIl0sImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJTRUNPTkRTX0lOVEVSVkFMUyI6e30sIlRQT19QRVJJT0RJQyI6eyJzdHVkeV9wYWNrYWdlcyI6WyJ0di12b2x1bWVieXByaWNlIl19LCJUUE9fQ0hBUlRfU1RZTEUiOnt9LCJWT0xVTUVfQ0FORExFUyI6e30sIlZJREVPX0lERUFTX0xFTkdUSCI6eyJsaW1pdCI6NjB9LCJWT0xVTUVfRk9PVFBSSU5UIjp7fSwiUElORV9TQ1JFRU5FUiI6e30sIkNSRUFURV9NT1JFX1BPUlRGT0xJT1MiOnsibGltaXQiOjV9LCJQT1JURk9MSU9fSE9MRElOR1MiOnsibGltaXQiOjEwMH0sIlNPQ0lBTF9UUlVTVEVEX1VTRVIiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkZPTExPV0VSU19PTkxZX01JTkRTIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9fSwicHJvX2V4cGVydCI6eyJleHRlbmRzIjoicHJvX3ByZW1pdW0iLCJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0IjozMH0sIkZVTkRBTUVOVEFMU19PTl9DSEFSVCI6eyJsaW1pdCI6MTV9LCJTVFVEWV9PTl9TVFVEWSI6eyJsaW1pdCI6ODAwLCJjaGlsZF9saW1pdCI6Mjl9LCJNVUxUSVBMRV9DSEFSVFMiOnsibGltaXQiOjEwfSwiTUFSS0VUX0RBVEFfTElNSVRTIjp7ImxpbWl0IjoxMiwicHJpbWl0aXZlX2xpbWl0IjoxMn0sIkhJU1RPUklDQUxfQkFSUyI6eyJsaW1pdCI6MjV9LCJTRVJWRVJfU0lERV9BTEVSVFMiOnsib3ZlcmFsbF9saW1pdCI6MjAwMCwibGltaXQiOjYwMCwiY29tcGxleF9saW1pdCI6NjAwLCJwcmltaXRpdmVfbGltaXQiOjYwMCwid2F0Y2hsaXN0X2xpbWl0IjoxMCwib3ZlcmFsbF93YXRjaGxpc3RfbGltaXQiOjIwfSwiQkFDS0VORF9DT05ORUNUSU9OUyI6eyJsaW1pdCI6ODB9LCJCQVJfUkVQTEFZX0lOVFJBREFZIjp7ImxpbWl0Ijo2fSwiQkFSX1JFUExBWV8xUyI6e30sIkJBUl9SRVBMQVlfMVQiOnt9LCJFWFBPUlRfRklOQU5DSUFMU19EQVRBIjp7fSwiVElDS19JTlRFUlZBTFMiOnt9LCJGSVJTVF9QUklPUklUWV9TVVBQT1JUIjp7fSwiQlVZX1BST19EQVRBIjp7fSwiQ1JFQVRFX01PUkVfUE9SVEZPTElPUyI6eyJsaW1pdCI6Nn0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6MTI1fX0sInByb19wcmVtaXVtX2V4cGVydCI6eyJleHRlbmRzIjoicHJvX2V4cGVydCIsIklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjUwfSwiRlVOREFNRU5UQUxTX09OX0NIQVJUIjp7ImxpbWl0IjoyNX0sIlNUVURZX09OX1NUVURZIjp7ImxpbWl0Ijo4MDAsImNoaWxkX2xpbWl0Ijo0OX0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6MTZ9LCJNQVJLRVRfREFUQV9MSU1JVFMiOnsibGltaXQiOjk5OTk5LCJwcmltaXRpdmVfbGltaXQiOjI1fSwiSElTVE9SSUNBTF9CQVJTIjp7ImxpbWl0Ijo0MH0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0Ijo0MDAwLCJsaW1pdCI6MTAwMCwiY29tcGxleF9saW1pdCI6MTAwMCwicHJpbWl0aXZlX2xpbWl0IjoxMDAwLCJ3YXRjaGxpc3RfbGltaXQiOjE1LCJvdmVyYWxsX3dhdGNobGlzdF9saW1pdCI6MzB9LCJCQUNLRU5EX0NPTk5FQ1RJT05TIjp7ImxpbWl0IjoyMDB9LCJCQVJfUkVQTEFZX0lOVFJBREFZIjp7ImxpbWl0IjoxMH0sIkNSRUFURV9NT1JFX1BPUlRGT0xJT1MiOnsibGltaXQiOjd9LCJQT1JURk9MSU9fSE9MRElOR1MiOnsibGltaXQiOjE1MH19fScpCn19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-sheriff.tradingview-widget.com/sheriff/api/v1/rules/search?origin=https%3A%2F%2F247optiontradefx.com","fqdn":"widget-sheriff.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"143.204.238.28","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.422Z","timestamp":1785120634422,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sat, 27 Dec 2025 00:00:00 GMT","end":"Sun, 24 Jan 2027 23:59:59 GMT"},"fingerprint":{"sha1":"0A:93:73:BB:95:EC:D1:52:11:5B:CC:2D:92:43:D4:FD:5A:2E:BE:A4","sha256":"70:E8:96:A5:F6:09:13:92:CB:0D:3F:A5:37:C4:A1:0D:4A:F7:52:C0:C1:B6:21:DB:D5:92:33:3F:B5:7D:EE:0F"}}},"request":{"raw":"GET /sheriff/api/v1/rules/search?origin=https%3A%2F%2F247optiontradefx.com HTTP/1.1\r\nHost: widget-sheriff.tradingview-widget.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://www.tradingview-widget.com/\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-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 204 \r\nalt-svc: h3=\":443\"; ma=86400\r\ndate: Mon, 27 Jul 2026 02:41:03 GMT\r\naccess-control-allow-methods: GET, HEAD, POST, OPTIONS\r\ncache-control: public, max-age=3600, s-maxage=3600\r\nserver: tv\r\nvia: 443, 1.1 b418063dcc03162b1d63103f1a01b6a0.cloudfront.net (CloudFront)\r\naccess-control-allow-origin: https://www.tradingview-widget.com\r\ncross-origin-resource-policy: same-site\r\naccess-control-max-age: 86400\r\nvary: Origin\r\nx-cache: Hit from cloudfront\r\nage: 571\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: Xt1Rq2VPvdGsDsBOa_aM53JRsnDrNPB4fKKeF2jutsDHdYx4pBwmaA==\r\n\r\n","headers":null,"cookies":null,"status_code":"204","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":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":564,"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-07-27T05:14:11.3544Z","times_seen":17556491,"resource_available":true,"data":""}},"time_used":47,"timings":{"blocked":-1,"dns":16,"connect":18,"send":0,"wait":12,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/img/ps_b/1000.png","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.149Z","timestamp":1785120633149,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /img/ps_b/1000.png HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: image/png\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-afc\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":2812,"size_decoded":2785,"mime_type":"image/png","magic":"PNG image data, 40 x 40, 8-bit/color RGBA, non-interlaced","md5":"96279f801cbb25e6af28ade5ab515d2f","sha1":"6660165b17e7703752627a66aa2210b1ea6bb4b1","sha256":"2a59dbee6c30202a5d81e1ea799facf6a063649f97ecd5accfa63804738b02b2","sha512":"9a513803f8e529afb27b548be213fb72ff5c1dc2fd563255b762f8703227139b3354274b81c8616ce1f3fbf6a7efd1c5f7cab37312ed25c7aa0ba35623d918ae","ssdeep":"","tlshash":"cc514b47eb2144a36695e405f4f6510b9a6916c0b9c4f24efdeffd2b25902325807bc7","first_seen":"2026-07-27T02:45:25.089248Z","last_seen":"2026-07-27T02:59:54.65095Z","times_seen":4,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA8xpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wUmlnaHRzPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvcmlnaHRzLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcFJpZ2h0czpNYXJrZWQ9IkZhbHNlIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InV1aWQ6MEMzMUQxMDk2Q0MzRTIxMUI1MDJCQkE3MjNFQTVDNUMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjE0MUUxNDc5NTcxMTFFODgyNkFEMjI3NkRDOUFBQTYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjE0MUUxNDY5NTcxMTFFODgyNkFEMjI3NkRDOUFBQTYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NGVmYjQ5OTgtZDljMC00OGIyLThjNzAtNmRiZmFh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"}},"time_used":28,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":28,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/46907.c5af8aa7b5082b1875a5.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.829Z","timestamp":1785120633829,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/46907.c5af8aa7b5082b1875a5.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=0\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 02:50:33 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-6bc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 230256b6e7fe9d5da24a66b0d49f7952\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1724,"size_decoded":1396,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1724), with no line terminators","md5":"8212d60d44748bb18233778e23b8f7b2","sha1":"35debdd9067ec06aa3648e5d7a9cddde39873397","sha256":"cc31664050fc2b670129f7e7d1a11bda8d20efa47a713598bbb96d4da6e297ba","sha512":"3f0235fe9fb761707020a01990077cf65fd4d774216e7d49fe218ea8e4ffa73a0d3d662536e662eb978f3d790446e7ee75ab139468bc6a0371653a48512aa994","ssdeep":"","tlshash":"d931cc75936ad2387a770b376241558a3199f64773730239e680bda881e16ba3b333c4","first_seen":"2026-07-16T11:36:17.893966Z","last_seen":"2026-07-27T05:15:36.977022Z","times_seen":1161,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtQUVROTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLUFFUTk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LndyYXBwZXItaGN0MnlKdkt7Y29sb3I6dmFyKC0tXzAtQUVROSl9LmFuaW1hdGVkLWhjdDJ5SnZLe2FuaW1hdGlvbjoxcyBlYXNlLWluLW91dCAwcyBpbmZpbml0ZSBhbHRlcm5hdGUgbm9uZSBydW5uaW5nO2FuaW1hdGlvbi1uYW1lOnB1bHNhdGlvbi1oY3QyeUp2S31Aa2V5ZnJhbWVzIHB1bHNhdGlvbi1oY3QyeUp2S3swJXtvcGFjaXR5OjF9dG97b3BhY2l0eTouNH19W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtX19ycTp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMS1fX3JxOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtX19ycTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLV8xLV9fcnE6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LmxvZ28tVkNOS3ViV3F7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ubG9nby1WQ05LdWJXcTpub3QoaW1nKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xLV9fcnEpfS5oaWRkZW4tVkNOS3ViV3F7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlfS54eGNlcHRpb25hbGx5c21hbGxkb25vdHVzZWJydjEwMjMtVkNOS3ViV3F7Zm9udC1zaXplOjEwcHg7aGVpZ2h0OjEycHg7bGluZS1oZWlnaHQ6MTBweDttaW4td2lkdGg6MTJweDt3aWR0aDoxMnB4fS54eHhzbWFsbC1WQ05LdWJXcXtmb250LXNpemU6MTFweDtoZWlnaHQ6MThweDtsaW5lLWhlaWdodDoxNnB4O21pbi13aWR0aDoxOHB4O3dpZHRoOjE4cHh9Lnh4c21hbGwtVkNOS3ViV3F7Zm9udC1zaXplOjExcHg7aGVpZ2h0OjIwcHg7bGluZS1oZWlnaHQ6MTZweDttaW4td2lkdGg6MjBweDt3aWR0aDoyMHB4fS54c21hbGwtVkNOS3ViV3F7Zm9udC1zaXplOjExcHg7aGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6MTZweDttaW4td2lkdGg6MjRweDt3aWR0aDoyNHB4fS5zbWFsbC1WQ05LdWJXcXtmb250LXNpemU6MTRweDtoZWlnaHQ6MjhweDtsaW5lLWhlaWdodDoxNnB4O21pbi13aWR0aDoyOHB4O3dpZHRoOjI4cHh9Lm1lZGl1bS1WQ05LdWJXcXtmb250LXNpemU6MTZweDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDoxNnB4O21pbi13aWR0aDozNnB4O3dpZHRoOjM2cHh9LmxhcmdlLVZDTkt1Yldxe2ZvbnQtc2l6ZToyNHB4O2hlaWdodDo0OHB4O2xpbmUtaGVpZ2h0OjMycHg7bWluLXdpZHRoOjQ4cHg7d2lkdGg6NDhweH0ueGxhcmdlLVZDTkt1Yldxe2ZvbnQtc2l6ZTo0MHB4O2hlaWdodDo1NnB4O2xpbmUtaGVpZ2h0OjQwcHg7bWluLXdpZHRoOjU2cHg7d2lkdGg6NTZweH0ueHhsYXJnZS1WQ05LdWJXcXtmb250LXNpemU6ODBweDtoZWlnaHQ6MTEycHg7bGluZS1oZWlnaHQ6ODBweDttaW4td2lkdGg6MTEycHg7d2lkdGg6MTEycHh9Lnh4eGxhcmdlLVZDTkt1Yldxe2ZvbnQtc2l6ZToxNjBweDtoZWlnaHQ6MTY4cHg7bGluZS1oZWlnaHQ6MTYwcHg7bWluLXdpZHRoOjE2OHB4O3dpZHRoOjE2OHB4fS5za2VsZXRvbi1WQ05LdWJXcXtiYWNrZ3JvdW5kLWNvbG9yOmN1cnJlbnRDb2xvcn0ubGV0dGVyLVZDTkt1Yldxe2NvbG9yOnZhcigtLV8wLV9fcnEpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjcwMH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/87995.911b26181778fecc4b4e.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.934Z","timestamp":1785120633934,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/87995.911b26181778fecc4b4e.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-7a23\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:32:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ab7e280923e7223442c8169f819e4411\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":31267,"size_decoded":10843,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"6a05d8171572287378e38e6964e02fe8","sha1":"63d026c77be2140ec887f9ff6d3f073098c753d7","sha256":"6c8f663aeaed79d462dc53895df9b7870b0e620a0dfe1116cb122d17391b60ed","sha512":"a4076a5db83f1d9f5054f7bcbcbb078c8881c79fcd79ea086d710a4a25568695a0fb17213a40d0b396482e293c7d980d411e5f128a7a040a765286cf92d3595e","ssdeep":"768:72RxBdTMf+AnnZv7+SVxp9QYQ2UYfzvEB7DU0M/Zm8FNpVwLY8jnEM//i7XeBFK8:7SEnnZv7+S9Un78F/VwLY8jnEM//i7XM","tlshash":"97e2a642e342606702f381ed0c354503a339ebd5784649acb6a98defb56cd0cb5bab7d","first_seen":"2026-07-24T18:44:55.949977Z","last_seen":"2026-07-27T05:27:33.090756Z","times_seen":122,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s4Nzk5NV0sezEyNzE1Nyh0KXt0LmV4cG9ydHM9e2ZhZGU6ImZhZGUtTU9kVWlCWUQiLGhpZGRlbjoiaGlkZGVuLU1PZFVpQllEIn19LDQ3MDA5MCh0LGUsaSl7InVzZSBzdHJpY3QiO2kuZChlLHtNaW5pQ2hhcnQ6KCk9Pmp9KTt2YXIgcz1pKDY3ODMxMiksYT1pKDc0MDE2Miksbj1pKDc4MzI1NCkscj1pKDIzMjM2NCksbz1pKDQwMjA0NSksaD1pKDk0ODM4MCksbD1pKDEzODYzOCksYz1pKDYyNDY3OCksZD1pKDgyNjE1NiksbT1pKDIyMTA2MSksdT1pKDI1NDY3MyksXz1pKDUwNTU2KSxwPWkoNDU5OTk0KSxmPWkoNzczMDg4KSxiPWkoMTMxMjk0KSxnPWkoNTkxNzQxKSxTPWkoODAyNTg2KSx2PWkoMTg5ODYzKSx5PWkoMTQ2MDU4KSxDPWkoNjEwNTcxKTtjb25zdCBEPSgwLHMuZGVmYXVsdEhvcnpTY2FsZUJlaGF2aW9yKSgpO2NsYXNzIFQgZXh0ZW5kcyBEe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9sYXN0SGFzaD0iIn1zaG91bGRSZXNldFRpY2ttYXJrTGFiZWxzKHQpe2NvbnN0IGU9dGhpcy5jYWxjdWxhdGVJdGVtc0hhc2godCksaT1lIT09dGhpcy5fbGFzdEhhc2g7cmV0dXJuIHRoaXMuX2xhc3RIYXNoPWUsaX1jYWxjdWxhdGVJdGVtc0hhc2godCl7cmV0dXJuIHQucmVkdWNlKCgodCxlKT0+dCtlLmluZGV4KSwiIil9fXZhciBQPWkoNTg2MjQ3KSx3PWkoMTI3MTU3KTtjb25zdCBrPSgwLG0uZ2V0TG9nZ2VyKSgiQ2hhcnQuTWluaUNoYXJ0IiksTT17dmFsdWU6IjEyTSIsdHlwZToicGVyaW9kLWJhY2sifSxJPXt0b3A6LjAxLGJvdHRvbTouMDF9LHg9e2NoYXJ0VHlwZToiYXJlYSIsbGluZVdpZHRoOjIscHJpY2VMaW5lVmlzaWJsZTohMSxjcm9zc2hhaXJNYXJrZXJWaXNpYmxlOiExLGxhc3RWYWx1ZVZpc2libGU6ITEsc2NhbGVNYXJnaW5zOkl9LE89e2xpbmVXaWR0aDoyLHByaWNlTGluZVZpc2libGU6ITEsY3Jvc3NoYWlyTWFya2VyVmlzaWJsZTohMSxsYXN0VmFsdWVWaXNpYmxlOiExLHNjYWxlTWFyZ2luczpJfSxGPXtjaGFydFR5cGU6ImJhc2VsaW5lIn0sUj17cHJpY2VMaW5lVmlzaWJsZTohMSxsYXN0VmFsdWVWaXNpYmxlOiExLHNjYWxlTWFyZ2luczpJfSxWPXtwcmljZUxpbmVWaXNpYmxlOiExLGxhc3RWYWx1ZVZpc2libGU6ITEsc2NhbGVNYXJnaW5zOkl9LHo9e3NjYWxlTWFyZ2luczpJfSxFPXtjaGFydFR5cGU6InByZXR0eS1oaXN0b2dyYW0iLHNjYWxlTWFyZ2luczpJLHJhZGl1czoyLHdpZHRoUGVyY2VudDo1MH0sTD17dmlzaWJsZTohMSxjb2xvcjpfLmNvbG9yc1BhbGV0dGVbImNvbG9yLXR2LWJsdWUtNTAwIl0sbGluZVdpZHRoOjEsbGVuZ3RoOjksbGFzdFZhbHVlVmlzaWJsZTohMSxwcmljZUxpbmVWaXNpYmxlOiExfSxCPXtzcGlubmVyOnt2aXNpYmxlOiExLHdpZHRoOjQsY29sb3I6Xy5jb2xvcnNQYWxldHRlWyJjb2xvci1icmFuZCJdfSxmYWRlOnt2aXNpYmxlOiExLHdhaXRGb3JTdHVkeVBsb3RzOiJub25lIn0sY2xlYXJEYXRhT25TeW1ib2xDaGFuZ2U6ITAsY2xlYXJEYXRhT25UaW1lZnJhbWVDaGFuZ2U6ITB9LE49e29uRmlyc3REYXRhOm51bGwsZGVzY3JpcHRpb246IiIsc2hvd0Rlc2NyaXB0aW9uOiEwLG5vRGF0YVRpbWVvdXQ6MTVlMyx0aW1lZnJhbWU6e3Zpc2libGU6ITEsdmFsdWU6TX0sY2hhcnRPcHRpb25zOnttaW5XaWR0aDowLG1pbkhlaWdodDowLGNoYXJ0OntncmlkOntob3J6TGluZXM6e2NvbG9yOiJyZ2JhKDEyMCwgMTIzLCAxMzQsIDAuMSkiLHZpc2libGU6ITF9LHZlcnRMaW5lczp7Y29sb3I6IiNmZmZmZmYiLHZpc2libGU6ITF9fSxjcm9zc2hhaXI6e2hvcnpMaW5lOnt2aXNpYmxlOiExLHN0eWxlOjMsd2lkdGg6MSxsYWJlbFZpc2libGU6ITEsbGFiZWxCYWNrZ3JvdW5kQ29sb3I6IiMwZjBmMGYifSx2ZXJ0TGluZTp7dmlzaWJsZTohMSxzdHlsZTozLHdpZHRoOjEsbGFiZWxWaXNpYmxlOiExLGxhYmVsQmFja2dyb3VuZENvbG9yOiIjMGYwZjBmIn19LGxheW91dDp7Zm9udEZhbWlseToiVHJlYnVjaGV0IE1TIixmb250U2l6ZToxMCx0ZXh0Q29sb3I6IiM4Mzg4OEQiLGJhY2tncm91bmQ6e3R5cGU6cy5Db2xvclR5cGUuU29saWQsY29sb3I6InRyYW5zcGFyZW50In0sYXR0cmlidXRpb25Mb2dvOiExfSxyaWdodFByaWNlU2NhbGU6e3Zpc2libGU6ITAsYm9yZGVyVmlzaWJsZTohMSxlbnRpcmVUZXh0T25seTohMCxtb2RlOnMuUHJpY2VTY2FsZU1vZGUuTm9ybWFsfSxsZWZ0UHJpY2VTY2FsZTp7dmlzaWJsZTohMSxib3JkZXJWaXNpYmxlOiExLGVudGlyZVRleHRPbmx5OiEwLG1vZGU6cy5QcmljZVNjYWxlTW9kZS5Ob3JtYWx9LHRpbWVTY2FsZTp7Ym9yZGVyVmlzaWJsZTohMSx0aW1lVmlzaWJsZTohMCxzZWNvbmRzVmlzaWJsZTohMSxsb2NrVmlzaWJsZVRpbWVSYW5nZU9uUmVzaXplOiEwfSxoYW5kbGVTY2FsZTohMSxoYW5kbGVTY3JvbGw6ITF9LHNlcmllczp4LHZvbHVtZTpDLmRlZmF1bHRWb2x1bWVPcHRpb25zLG1hOkwsbG9hZGluZzpCfX0sVT17IjF5Ijp7dmFsdWU6IjEyTSIsdHlwZToicGVyaW9kLWJhY2sifSwiNXkiOnt2YWx1ZToiNjBNIix0eXBlOiJwZXJpb2QtYmFjayJ9LG1heDp7dmFsdWU6IkFMTCIsdHlwZToicGVyaW9kLWJhY2sifX07ZnVuY3Rpb24gVyh0LGUsaSxhLG4scil7cmV0dXJuISF0LmRheUFuZFRpbWVUaWNrTWFya0ZpeEVuYWJsZWQmJihhPT09cy5UaWNrTWFya1R5cGUuVGltZT9mdW5jdGlvbih0KXtyZXR1cm4idGltZS1yYW5nZSIhPT10LnR5cGUmJih0LnZhbHVlLmVuZHNXaXRoKCJNIil8fHQudmFsdWUuZW5kc1dpdGgoIlkiKXx8WyJZVEQiLCJBTEwiXS5pbmNsdWRlcyh0LnZhbHVlKSl9KGUpOiEoIW58fCFyfHxhPD1yKSYmKGE9PT1zLlRpY2tNYXJrVHlwZS5EYXlPZk1vbnRoJiYoaS5nZXRNb250aCgpIT09bi5nZXRNb250aCgpfHxpLmdldEZ1bGxZZWFyKCkhPT1uLmdldEZ1bGxZZWFyKCkpKSl9Y29uc3QgSD0oKCk9PntsZXQgdD1udWxsLGU9bnVsbCxpPW51bGw7cmV0dXJuKGEsbixyLG8saCxsKT0+e2NvbnN0IGM9e30sZD1uZXcgRGF0ZSgxZTMqbykKO2kmJigwLGYuYXJlRXF1YWxUaW1lRnJhbWVzKShpLHIpfHwodD1udWxsLGU9bnVsbCxpPXIpO2xldCBtPSExO2lmKG4pe209KG4uc3VwcHJlc3NGbj8/VykobixyLGQsaCx0LGUpfWlmKHQ9ZCxlPWgsbSlyZXR1cm4iIjtzd2l0Y2goaCl7Y2FzZSBzLlRpY2tNYXJrVHlwZS5ZZWFyOm4/LmhpZGVZZWFyc1RpY2tNYXJrcz9jLm1vbnRoPSJzaG9ydCI6Yy55ZWFyPSJudW1lcmljIjticmVhaztjYXNlIHMuVGlja01hcmtUeXBlLk1vbnRoOmMubW9udGg9InNob3J0IjticmVhaztjYXNlIHMuVGlja01hcmtUeXBlLkRheU9mTW9udGg6Yy5kYXk9Im51bWVyaWMiO2JyZWFrO2Nhc2Ugcy5UaWNrTWFya1R5cGUuVGltZTpjLmhvdXIxMj0iMTItaG91cnMiPT09YSxjLmhvdXI9IjItZGlnaXQiLGMubWludXRlPSIyLWRpZ2l0IjticmVhaztjYXNlIHMuVGlja01hcmtUeXBlLlRpbWVXaXRoU2Vjb25kczpjLmhvdXIxMj0iMTItaG91cnMiPT09YSxjLmhvdXI9IjItZGlnaXQiLGMubWludXRlPSIyLWRpZ2l0IixjLnNlY29uZD0iMi1kaWdpdCJ9Y29uc3QgdT1uZXcgRGF0ZShkLmdldFVUQ0Z1bGxZZWFyKCksZC5nZXRVVENNb250aCgpLGQuZ2V0VVRDRGF0ZSgpLGQuZ2V0VVRDSG91cnMoKSxkLmdldFVUQ01pbnV0ZXMoKSxkLmdldFVUQ1NlY29uZHMoKSxkLmdldFVUQ01pbGxpc2Vjb25kcygpKTtyZXR1cm4gdD1kLGU9aCx1LnRvTG9jYWxlU3RyaW5nKGwsYyl9fSkoKTtmdW5jdGlvbiBxKHQsZSl7cmV0dXJuIHQuc2VyaWVzKCkuc2VyaWVzT3JkZXIoKS1lLnNlcmllcygpLnNlcmllc09yZGVyKCl9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJih3aW5kb3cubWluaUNoYXJ0SW5zdGFuY2VzPXdpbmRvdy5taW5pQ2hhcnRJbnN0YW5jZXN8fHt9KTtjb25zdCBBPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdy5taW5pQ2hhcnRJbnN0YW5jZXM6e307bGV0IFk9MDtjb25zdCBHPXthY3F1aXJlOigpPT4oMCxiLm93bmVyc2hpcCkobmV3IHAuQ2hhcnRTZXNzaW9uKHdpbmRvdy5DaGFydEFwaUluc3RhbmNlLCEwKSl9O2NsYXNzIGp7Y29uc3RydWN0b3IodCxlLGksbil7dGhpcy5faXNEZXN0cm95ZWQ9ITEsdGhpcy5fc3R1ZHlQbG90c09yZGVySW52YWxpZGF0ZWQ9ITAsdGhpcy5fc3R1ZHlQbG90cz1bXSx0aGlzLl9lbFRpbWVmcmFtZT1udWxsLHRoaXMuX3RpbWVmcmFtZVZpZXc9bnVsbCx0aGlzLl90aWNrbWFya3M9bmV3IE1hcCx0aGlzLl9jYWNoZWRUaWNrbWFya3M9bmV3IE1hcCx0aGlzLl9jaGFydFNlc3Npb249bnVsbCx0aGlzLl9jaGFydFNlc3Npb25Db25uZWN0ZWQ9bnVsbCx0aGlzLl9jb25uZWN0Q2FsbGJhY2s9bnVsbCx0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5fbG9hZEVycm9yVGltZW91dD1udWxsLHRoaXMuX2lzTG9hZGluZz0hMSx0aGlzLl9zcGlubmVyPW51bGwsdGhpcy5fY3Jvc3NoYWlyTW92ZUhhbmRsZXJzPW5ldyBNYXAsdGhpcy5fYXRvbWljVXBkYXRlSXNHb2luZz0hMSx0aGlzLl9zZXJpZXNVcERvd25Db2xvcnM9e30sdGhpcy5faXNEV01SZXNvbHV0aW9uPSExLHRoaXMuX3VwZGF0ZVRpbWVySWQ9bnVsbCx0aGlzLl93aWR0aD1uZXcgci5XYXRjaGVkVmFsdWUoMCksdGhpcy5faGVpZ2h0PW5ldyByLldhdGNoZWRWYWx1ZSgwKSx0aGlzLl9zdGF0dXM9bmV3IHIuV2F0Y2hlZFZhbHVlKCJsb2FkaW5nIiksdGhpcy5fdGltZVNjYWxlU2l6ZUNoYW5nZWQ9bmV3IGguRGVsZWdhdGUsdGhpcy5fb25QbG90U3RhdHVzQ2hhbmdlZD0oKT0+e2NvbnN0IHQ9dGhpcy5fbWFpblBsb3Quc3RhdHVzKCkudmFsdWUoKSxlPXRoaXMuX3N0dWR5UGxvdHMuZXZlcnkoKHQ9PjAhPT10LnN0YXR1cygpLnZhbHVlKCkpKSxpPWV8fHRoaXMuX3N0dWR5UGxvdHMuc29tZSgodD0+MCE9PXQuc3RhdHVzKCkudmFsdWUoKSYmdC5pc1Zpc2libGUoKS52YWx1ZSgpKSk7c3dpdGNoKHQpe2Nhc2UgMzplJiZ0aGlzLl9vblBsb3RzRGF0YVJlYWR5KCk7YnJlYWs7Y2FzZSAyOnRoaXMuX29uTWFpblBsb3REYXRhRXJyb3IoKTticmVhaztjYXNlIDE6dGhpcy5fb25NYWluUGxvdFN5bWJvbFJlc29sdmluZ0Vycm9yKCl9Y29uc3Qgcz10aGlzLl9vcHRpb25zLmNoYXJ0T3B0aW9ucy5sb2FkaW5nLmZhZGU7aWYocy52aXNpYmxlKXN3aXRjaCh0aGlzLl9jYWNoZWRUaWNrbWFya3Muc2l6ZT4wfHx0KXtjYXNlIDA6dGhpcy5faW5uZXJDb250YWluZXIuY2xhc3NMaXN0LmFkZCh3LmZhZGUpO2JyZWFrO2Nhc2UgMjpjYXNlIDE6Y2FzZSEwOnRoaXMuX2lubmVyQ29udGFpbmVyLmNsYXNzTGlzdC5yZW1vdmUody5mYWRlKTticmVhaztjYXNlIDM6KCJub25lIj09PXMud2FpdEZvclN0dWR5UGxvdHN8fCJhbGwiPT09cy53YWl0Rm9yU3R1ZHlQbG90cyYmZXx8ImFueSI9PT1zLndhaXRGb3JTdHVkeVBsb3RzJiZpKSYmdGhpcy5faW5uZXJDb250YWluZXIuY2xhc3NMaXN0LnJlbW92ZSh3LmZhZGUpfXRoaXMuX3VwZGF0ZVN0YXR1cygpfSx0aGlzLl90aW1lRnJhbWVPcHRpb25zPWk/LnRpbWVmcmFtZT8ub3B0aW9ucz8/KDAsUy5nZXRNaW5pVGltZUZyYW1lT3B0aW9ucykoKSx0aGlzLl9vcHRpb25zPSgwLGEuZGVmYXVsdCkoe30sTixpKSx0aGlzLl9jaGFydFNlc3Npb25Qcm92aWRlcj1uPz9HLHRoaXMuX2NvbnRhaW5lcj1lLHRoaXMuX2lubmVyQ29udGFpbmVyPWUub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9pbm5lckNvbnRhaW5lci5zdHlsZS53aWR0aD0iMTAwJSIsdGhpcy5faW5uZXJDb250YWluZXIuc3R5bGUuaGVpZ2h0PSIxMDAlIix0aGlzLl9pbm5lckNvbnRhaW5lci5zdHlsZS5taW5IZWlnaHQ9ImluaGVyaXQiLHRoaXMuX2lubmVyQ29udGFpbmVyLnN0eWxlLm1pbldpZHRoPSJpbmhlcml0IixlLmFwcGVuZENoaWxkKHRoaXMuX2lubmVyQ29udGFpbmVyKSx0aGlzLl93aWRnZXQ9KDAscy5jcmVhdGVDaGFydEV4KSh0aGlzLl9pbm5lckNvbnRhaW5lcixuZXcgVCx7Li4udGhpcy5fb3B0aW9ucy5jaGFydE9wdGlvbnM/LmNoYXJ0LGF1dG9TaXplOiEwfSk7Y29uc3QgbD10aGlzLl93aWRnZXQucGFuZXMoKVswXTt0aGlzLl90ZXh0V2F0ZXJtYXJrPSgwLHMuY3JlYXRlVGV4dFdhdGVybWFyaykobCx7CnZpc2libGU6ITF9KSx0aGlzLl90aW1lZnJhbWU9bmV3IG8uV2F0Y2hlZE9iamVjdCh0aGlzLl9vcHRpb25zLnRpbWVmcmFtZS52YWx1ZSksdGhpcy5fbWFpblBsb3Q9dGhpcy5fY3JlYXRlTWFpblBsb3QodCksdGhpcy5zZXRUaW1lZnJhbWUodGhpcy5fdGltZWZyYW1lLnZhbHVlKCksITApO2NvbnN0IGM9KDAsZi5jb252ZXJ0VGltZUZyYW1lVG9TdHIpKHRoaXMuX3RpbWVmcmFtZS52YWx1ZSgpKSxkPXRoaXMuX29wdGlvbnMuY2FjaGU/LmxvYWREYXRhKGMpO2Q/KHRoaXMuX2NhY2hlZFRpY2ttYXJrcz1kLnRpY2ttYXJrcyx0aGlzLl90aWNrbWFya3M9bmV3IE1hcCh0aGlzLl9jYWNoZWRUaWNrbWFya3MpLHRoaXMuX2NyZWF0ZVRvb2x0aXBEYXRlRm9ybWF0dGVyKCkpOnRoaXMuY29ubmVjdCgpLHRoaXMuX3BhcmVudFJlc2l6ZU9ic2VydmVyPW5ldyBSZXNpemVPYnNlcnZlcigodD0+e3RoaXMuX21haW5QbG90LmZpdENvbnRlbnQoKTtmb3IoY29uc3QgZSBvZiB0KWlmKGUuY29udGVudEJveFNpemUpe2NvbnN0IHQ9ZS5jb250ZW50Qm94U2l6ZVswXTt0aGlzLl93aWR0aC5zZXRWYWx1ZSh0LmlubGluZVNpemUpLHRoaXMuX2hlaWdodC5zZXRWYWx1ZSh0LmJsb2NrU2l6ZSl9fSkpLHRoaXMuX3BhcmVudFJlc2l6ZU9ic2VydmVyLm9ic2VydmUoZSk7Y29uc3QgbT1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuX3dpZHRoLnNldFZhbHVlKG0ud2lkdGgpLHRoaXMuX2hlaWdodC5zZXRWYWx1ZShtLmhlaWdodCksdGhpcy5fY3JlYXRlTGVnZW5kKCksdGhpcy5fdXBkYXRlU2VyaWVzVXBEb3duQ29sb3JzKCksdGhpcy5fYm91bmRUaW1lU2NhbGVTaXplQ2hhbmdlZEhhbmRsZXI9dGhpcy5fdGltZVNjYWxlU2l6ZUNoYW5nZWRIYW5kbGVyLmJpbmQodGhpcyksdGhpcy5fd2lkZ2V0LnRpbWVTY2FsZSgpLnN1YnNjcmliZVNpemVDaGFuZ2UodGhpcy5fYm91bmRUaW1lU2NhbGVTaXplQ2hhbmdlZEhhbmRsZXIpLFkrPTEsdGhpcy5faW5uZXJDb250YWluZXIuZGF0YXNldC5taW5pQ2hhcnRJZD1gJHtZfWAsQVt0aGlzLl9pbm5lckNvbnRhaW5lci5kYXRhc2V0Lm1pbmlDaGFydElkXT10aGlzfWFzeW5jIHRha2VTY3JlZW5zaG90KCl7Y29uc3R7dGFrZVNjcmVlbnNob3Q6dH09YXdhaXQgUHJvbWlzZS5hbGwoW2kuZSg5Mjk2NCksaS5lKDEyMTgxKSxpLmUoMTkzMTEpXSkudGhlbihpLmJpbmQoaSwyMDE3ODEpKTtyZXR1cm4gdCh0aGlzLndpZGdldCgpLHRoaXMubWFpblBsb3QoKS5zeW1ib2xJbmZvKCkpfXNjcmVlbnNob3RTeW1ib2woKXtyZXR1cm4gdGhpcy5tYWluUGxvdCgpLnN5bWJvbCgpfWNvbnRhaW5lcigpe3JldHVybiB0aGlzLl9jb250YWluZXJ9aW5uZXJDb250YWluZXIoKXtyZXR1cm4gdGhpcy5faW5uZXJDb250YWluZXJ9Z2V0Q2hhcnRDb250YWluZXIoKXtyZXR1cm4gdGhpcy5fY29udGFpbmVyPygwLHkuZ2V0Q2hhcnRMYXlvdXRDb250YWluZXIpKHRoaXMuX2NvbnRhaW5lcik6bnVsbH13aWR0aCgpe3JldHVybiB0aGlzLl93aWR0aC5yZWFkb25seSgpfWhlaWdodCgpe3JldHVybiB0aGlzLl9oZWlnaHQucmVhZG9ubHkoKX1zdGF0dXMoKXtyZXR1cm4gdGhpcy5fc3RhdHVzLnJlYWRvbmx5KCl9c2VyaWVzRGF0YVNvdXJjZSgpe3JldHVybiB0aGlzLl9tYWluUGxvdC5zZXJpZXNEYXRhU291cmNlKCl9c3VwcG9ydFJlYWx0aW1lVXBkYXRlcygpe3JldHVybiBCb29sZWFuKHRoaXMuX29wdGlvbnMuZG9Ob3REaXNjb25uZWN0T25EYXRhUmVhZHkpfWNvbm5lY3QodCl7Y29uc3QgZT0oMCxmLmNvbnZlcnRUaW1lRnJhbWVUb1N0cikodGhpcy5fdGltZWZyYW1lLnZhbHVlKCkpOygwLGwuYXNzZXJ0KSghdGhpcy5fb3B0aW9ucy5jYWNoZT8ubG9hZERhdGEoZSksIkNoYXJ0IGNhbiBub3QgdG8gY29ubmVjdCBpZiB0aGVyZSBpcyBhbiBleGlzdGluZyBjYWNoZSBkYXRhIiksImZ1bmN0aW9uIj09dHlwZW9mIHQmJih0aGlzLl9jb25uZWN0Q2FsbGJhY2s9dCksdGhpcy5fY2xlYXJSZWNvbm5lY3Rpb25UaW1lb3V0KCksdGhpcy5jb25uZWN0ZWQoKXx8KHRoaXMuX3Nob3dMb2FkaW5nKCksdGhpcy5fbWFpblBsb3QuY2xlYXJEYXRhKCksdGhpcy5fc3R1ZHlQbG90cy5mb3JFYWNoKCh0PT50LmNsZWFyRGF0YSgpKSksdGhpcy5fY2hhcnRTZXNzaW9ufHwodGhpcy5fY2hhcnRTZXNzaW9uPXRoaXMuX2NoYXJ0U2Vzc2lvblByb3ZpZGVyLmFjcXVpcmUoKSx0aGlzLl9jaGFydFNlc3Npb24uY3JpdGljYWxFcnJvcigpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ2hhcnRTZXNzaW9uQ3JpdGljYWxFcnJvciksdGhpcy5fY2hhcnRTZXNzaW9uQ29ubmVjdGVkPXRoaXMuX2NoYXJ0U2Vzc2lvbi5pc0Nvbm5lY3RlZCgpLnNwYXduKCksdGhpcy5fY2hhcnRTZXNzaW9uQ29ubmVjdGVkLnN1YnNjcmliZSh0aGlzLl9vbkNoYXJ0U2Vzc2lvbklzQ29ubmVjdGVkQ2hhbmdlZC5iaW5kKHRoaXMpLHtjYWxsV2l0aExhc3Q6ITB9KSksdGhpcy5fY2hhcnRTZXNzaW9uLmNvbm5lY3QodGhpcy5fb25EYXRhLmJpbmQodGhpcykpLHRoaXMuX2NoYXJ0U2Vzc2lvbi5pc0Nvbm5lY3RlZCgpLnZhbHVlKCkmJnRoaXMuX3JlcXVlc3REYXRhKCksdGhpcy5fY2xlYXJOb0RhdGFUaW1lb3V0KCksdGhpcy5fY3JlYXRlTm9EYXRhVGltZW91dCgpKX1kaXNjb25uZWN0KCl7dGhpcy5fc3R1ZHlQbG90cy5mb3JFYWNoKCh0PT50LmRpc2Nvbm5lY3QoKSkpLHRoaXMuX21haW5QbG90LmRpc2Nvbm5lY3QoKSx0aGlzLl9jaGFydFNlc3Npb24/LmRpc2Nvbm5lY3QoKSx0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5fY2xlYXJOb0RhdGFUaW1lb3V0KCl9Y29ubmVjdGVkKCl7cmV0dXJuIEJvb2xlYW4odGhpcy5fY29ubmVjdGVkJiZ0aGlzLl9jaGFydFNlc3Npb24mJnRoaXMuX2NoYXJ0U2Vzc2lvbi5pc0Nvbm5lY3RlZCgpLnZhbHVlKCkpfXNldFRpbWVmcmFtZSh0LGUsaSl7Y29uc3Qgcz10aGlzLl90aW1lZnJhbWUudmFsdWUoKTtsZXQgYT10O2NvbnN0IG49InBlcmlvZC1iYWNrIj09PWEudHlwZT9VW2EudmFsdWVdOnZvaWQgMDt2b2lkIDAhPT1uJiYoYT1uKTtsZXQgcj1udWxsCjtpZihyPXRoaXMuX3RpbWVmcmFtZUlzQXZhaWxhYmxlKGEpP2E6dGhpcy5fdGltZWZyYW1lSXNBdmFpbGFibGUoTSk/TTp0aGlzLl90aW1lRnJhbWVPcHRpb25zLmZpbmQoKHQ9PnRoaXMuX3RpbWVmcmFtZUlzQXZhaWxhYmxlKHQudmFsdWUpKSk/LnZhbHVlPz9udWxsLG51bGw9PT1yKXJldHVybiB2b2lkIGsubG9nV2FybigiVGhlIGN1cnJlbnQgdGltZWZyYW1lIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggdGhlIHRpbWVmcmFtZXMgZnJvbSB0aW1lRnJhbWVPcHRpb25zIik7dGhpcy5fb3B0aW9ucy50aW1lZnJhbWUuY3VycmVudFRpbWVmcmFtZUNhbGxiYWNrJiZ0aGlzLl9vcHRpb25zLnRpbWVmcmFtZS5jdXJyZW50VGltZWZyYW1lQ2FsbGJhY2sociksdGhpcy5fdGltZWZyYW1lLnNldFZhbHVlKHIpO2NvbnN0IG89KDAsZi5jb252ZXJ0VGltZUZyYW1lVG9TdHIpKHRoaXMuX3RpbWVmcmFtZS52YWx1ZSgpKTt0aGlzLl9hY3RpdmVSYW5nZT1vLHRoaXMuX3RpbWVmcmFtZVZpZXcmJnRoaXMuX29wdGlvbnMudGltZWZyYW1lLnZpc2libGUmJnRoaXMuX3RpbWVmcmFtZVZpZXcudXBkYXRlKHthY3RpdmVSYW5nZTp0aGlzLl9hY3RpdmVSYW5nZX0pO2NvbnN0IGg9dGhpcy5fb3B0aW9ucy5jYWNoZT8ubG9hZERhdGEobyk7aWYoaClyZXR1cm4gdGhpcy5fY2FjaGVkVGlja21hcmtzPWgudGlja21hcmtzLHRoaXMuX3RpY2ttYXJrcz1uZXcgTWFwKHRoaXMuX2NhY2hlZFRpY2ttYXJrcyksdGhpcy5fY3JlYXRlVG9vbHRpcERhdGVGb3JtYXR0ZXIoKSx2b2lkIHRoaXMuX21haW5QbG90LnJlbG9hZENhY2hlKGgubWFpblBsb3QpO3RoaXMuX2NhY2hlZFRpY2ttYXJrcy5zaXplJiYodGhpcy5fY2FjaGVkVGlja21hcmtzPW5ldyBNYXAsdGhpcy5fdGlja21hcmtzPW5ldyBNYXAsdGhpcy5fbWFpblBsb3QucmVsb2FkQ2FjaGUoKSx0aGlzLl9tYWluUGxvdC5jbGVhckRhdGEoKSksKCFlJiZzIT09dGhpcy5fdGltZWZyYW1lLnZhbHVlKCl8fGkpJiZ0aGlzLl9yZXF1ZXN0RGF0YU9uVGltZWZyYW1lQ2hhbmdlKCl9Y2hhcnRTZXNzaW9uKCl7cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydFNlc3Npb24pfXdpZGdldCgpe3JldHVybiB0aGlzLl93aWRnZXR9dGltZWZyYW1lKCl7cmV0dXJuIHRoaXMuX3RpbWVmcmFtZS5yZWFkb25seSgpfXNldFRpbWVGcmFtZU9wdGlvbnModCxlKXtpZih0PT09dGhpcy5fdGltZUZyYW1lT3B0aW9ucylyZXR1cm47Y29uc3QgaT10aGlzLl90aW1lRnJhbWVPcHRpb25zLmZpbmQoKHQ9PigwLGYuYXJlRXF1YWxUaW1lRnJhbWVzKSh0LnZhbHVlLHRoaXMudGltZWZyYW1lKCkudmFsdWUoKSkpKSxzPWk/LnRhcmdldFJlc29sdXRpb24/P251bGw7dGhpcy5fdGltZUZyYW1lT3B0aW9ucz10LGU/dGhpcy5zZXRUaW1lZnJhbWUoZSk6dGhpcy5yZXNvbHV0aW9uKCkhPT1zJiZ0aGlzLl9yZXF1ZXN0RGF0YU9uVGltZWZyYW1lQ2hhbmdlKCksdGhpcy5faW5pdFRpbWVmcmFtZXNSZW5kZXJlcigpfXRpbWVGcmFtZU9wdGlvbnMoKXtyZXR1cm4gdGhpcy5fdGltZUZyYW1lT3B0aW9uc31yZXNvbHV0aW9uKCl7Y29uc3QgdD10aGlzLl90aW1lRnJhbWVPcHRpb25zLmZpbmQoKHQ9PigwLGYuYXJlRXF1YWxUaW1lRnJhbWVzKSh0LnZhbHVlLHRoaXMudGltZWZyYW1lKCkudmFsdWUoKSkpKTtyZXR1cm4oMCxsLmVuc3VyZURlZmluZWQpKHQ/LnRhcmdldFJlc29sdXRpb24pfWNoYW5nZVN5bWJvbCh0LGUpe3ZvaWQgMCE9PWUmJnRoaXMuX3VwZGF0ZVNlcmllc09wdGlvbnMoZSksdGhpcy5fb3B0aW9ucy5jaGFydE9wdGlvbnMubG9hZGluZy5jbGVhckRhdGFPblN5bWJvbENoYW5nZSYmKHRoaXMuX21haW5QbG90LmNsZWFyRGF0YSgpLHRoaXMuX21haW5QbG90LmRlbGV0ZVZpZXcoKSx0aGlzLl9zdHVkeVBsb3RzLmZvckVhY2goKHQ9PnQuY2xlYXJEYXRhKCkpKSx0aGlzLl9zdHVkeVBsb3RzLmZvckVhY2goKHQ9PnQuZGVsZXRlVmlldygpKSkpO3RoaXMuX21haW5QbG90LnNldFN5bWJvbCh0LHRoaXMuX29wdGlvbnMuY2hhcnRPcHRpb25zLnNlcmllcykmJih0aGlzLmNvbm5lY3RlZCgpJiYodGhpcy5fbWFpblBsb3QucmVxdWVzdERhdGEoKSx0aGlzLl9zdHVkeVBsb3RzLmZvckVhY2goKHQ9PnQucmVxdWVzdERhdGEoKSkpKSx0aGlzLmNvbm5lY3QoKSl9dXBkYXRlU2VyaWVzT3B0aW9ucyh0KXt0aGlzLl9hdG9taWNVcGRhdGVJc0dvaW5nPSEwLHRoaXMuX3VwZGF0ZVNlcmllc09wdGlvbnModCksdGhpcy5fbWFpblBsb3QudXBkYXRlU2VyaWVzT3B0aW9ucyh0KSx0aGlzLl91cGRhdGVTZXJpZXNVcERvd25Db2xvcnMoKSx0aGlzLl9hdG9taWNVcGRhdGVJc0dvaW5nPSExfWdldFNlcmllc09wdGlvbnMoKXtyZXR1cm4gdGhpcy5fbWFpblBsb3QuY3VycmVudFNlcmllc09wdGlvbnMoKX11cGRhdGVBZGRpdGlvbmFsU2VyaWVzT3B0aW9ucyh0LGUpe3RoaXMuX3N0dWR5UGxvdHNbZV0udXBkYXRlU2VyaWVzT3B0aW9ucyh0KX1zaG93TWVzc2FnZSh0KXt0aGlzLl9oaWRlTG9hZGluZygpLHRoaXMuX21haW5QbG90LmRlbGV0ZVZpZXcoKSx0aGlzLl9zdHVkeVBsb3RzLmZvckVhY2goKHQ9PnQuZGVsZXRlVmlldygpKSksdGhpcy5fdGV4dFdhdGVybWFyay5hcHBseU9wdGlvbnM/Lih7dmlzaWJsZTohMCxsaW5lczpbe2NvbG9yOiIjODM4ODhEIix0ZXh0OnQsZm9udFNpemU6MTJ9XX0pfWhpZGVNZXNzYWdlKCl7dGhpcy5fdGV4dFdhdGVybWFyay5hcHBseU9wdGlvbnM/Lih7dmlzaWJsZTohMSxsaW5lczpbXX0pfWZyb20oKXtjb25zdCB0PXRoaXMuX3RpbWVGcmFtZU9wdGlvbnMuZmluZCgodD0+KDAsZi5hcmVFcXVhbFRpbWVGcmFtZXMpKHQudmFsdWUsdGhpcy50aW1lZnJhbWUoKS52YWx1ZSgpKSkpO3JldHVyblt0Py5mcm9tXX1lbmFibGUodCl7dGhpcy5jb25uZWN0KHQpfWRpc2FibGUoKXt0aGlzLmRpc2Nvbm5lY3QoKX1kZXN0cm95KCl7dGhpcy5fYm91bmRUaW1lU2NhbGVTaXplQ2hhbmdlZEhhbmRsZXImJih0aGlzLl93aWRnZXQudGltZVNjYWxlKCkudW5zdWJzY3JpYmVTaXplQ2hhbmdlKHRoaXMuX2JvdW5kVGltZVNjYWxlU2l6ZUNoYW5nZWRIYW5kbGVyKSwKdGhpcy5fYm91bmRUaW1lU2NhbGVTaXplQ2hhbmdlZEhhbmRsZXI9dm9pZCAwKSx0aGlzLl9wYXJlbnRSZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCksdGhpcy5kaXNjb25uZWN0KCksdGhpcy5fd2lkZ2V0LnJlbW92ZSgpLHRoaXMuX21haW5QbG90LnN5bWJvbFJlc29sdmVkKCkudW5zdWJzY3JpYmVBbGwobnVsbCksdGhpcy5fbWFpblBsb3QudGltZUZyYW1lSW52YWxpZGF0ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9tYWluUGxvdC5kZXN0cm95KCksdGhpcy5fc3R1ZHlQbG90cy5mb3JFYWNoKCh0PT50LmRlc3Ryb3koKSkpLHRoaXMuX3RpbWVmcmFtZVZpZXc/LmRlc3Ryb3koKSx0aGlzLl9jaGFydFNlc3Npb25Db25uZWN0ZWQ/LmRlc3Ryb3koKSx0aGlzLl9jaGFydFNlc3Npb24/LmNyaXRpY2FsRXJyb3IoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9jaGFydFNlc3Npb24/LnJlbGVhc2UoKSxkZWxldGUgQVt0aGlzLl9pbm5lckNvbnRhaW5lci5kYXRhc2V0Lm1pbmlDaGFydElkXSx0aGlzLl9pbm5lckNvbnRhaW5lci5yZW1vdmUoKSx0aGlzLl9pc0Rlc3Ryb3llZD0hMH11cGRhdGVBdmFpbGFibGVUaW1lZnJhbWVzKCl7dGhpcy5fbWFpblBsb3Quc3ltYm9sSW5mbygpPyh0aGlzLl90aW1lZnJhbWVWaWV3JiZ0aGlzLl9vcHRpb25zLnRpbWVmcmFtZS52aXNpYmxlJiZ0aGlzLl90aW1lZnJhbWVWaWV3LnVwZGF0ZSh7cmFuZ2VzOnRoaXMuX2dldEF2YWlsYWJsZVRpbWVGcmFtZXMoKX0pLHRoaXMuc2V0VGltZWZyYW1lKHRoaXMuX3RpbWVmcmFtZS52YWx1ZSgpKSk6ay5sb2dXYXJuKCJVcGRhdGluZyBhdmFpbGFibGUgcmVzb2x1dGlvbnMgd2l0aG91dCBmdWxsIHN5bWJvbCBpbmZvIil9bWFpblBsb3QoKXtyZXR1cm4gdGhpcy5fbWFpblBsb3R9Zml0Q29udGVudCgpe3RoaXMuX21haW5QbG90LmZpdENvbnRlbnQoKX1oYXNTdHVkeVBsb3RzKCl7cmV0dXJuIHRoaXMuX3N0dWR5UGxvdHMubGVuZ3RoPjB9c3R1ZHlQbG90cygpe3JldHVybiB0aGlzLl9zdHVkeVBsb3RzT3JkZXJJbnZhbGlkYXRlZCYmKHRoaXMuX3N0dWR5UGxvdHMuc29ydChxKSx0aGlzLl9zdHVkeVBsb3RzT3JkZXJJbnZhbGlkYXRlZD0hMSksdGhpcy5fc3R1ZHlQbG90c31hZGRTdHVkeVBsb3QodCl7cmV0dXJuIHRoaXMuX2FkZFN0dWR5UGxvdCh0KSx7bm9EYXRhOnQubm9EYXRhKCksc3RhdHVzOnQuc3RhdHVzKCkscmVtb3ZlOigpPT57dGhpcy5fcmVtb3ZlU3R1ZHlQbG90KHQpfSxzeW1ib2w6KCk9PnQuc3ltYm9sKCksZXh0ZW5kZWRTeW1ib2w6KCk9PnQuZXh0ZW5kZWRTeW1ib2woKSxvcHRpb25zOigpPT50LmN1cnJlbnRTZXJpZXNPcHRpb25zKCl9fWluZGV4VG9UaW1lKHQpe2NvbnN0IGU9dGhpcy5fdGlja21hcmtzLnNpemU/dGhpcy5fdGlja21hcmtzOnRoaXMuX2NhY2hlZFRpY2ttYXJrcztyZXR1cm4gZS5nZXQodCk/LnRpbWU/P251bGx9c3Vic2NyaWJlQ3Jvc3NoYWlyTW92ZSh0KXtjb25zdCBlPWU9Pnt0aGlzLl9hdG9taWNVcGRhdGVJc0dvaW5nfHx0KGUpfTt0aGlzLl9jcm9zc2hhaXJNb3ZlSGFuZGxlcnMuc2V0KHQsZSksdGhpcy5fd2lkZ2V0LnN1YnNjcmliZUNyb3NzaGFpck1vdmUoZSl9dW5zdWJzY3JpYmVDcm9zc2hhaXJNb3ZlKHQpe2NvbnN0IGU9dGhpcy5fY3Jvc3NoYWlyTW92ZUhhbmRsZXJzLmdldCh0KTtlJiYodGhpcy5fY3Jvc3NoYWlyTW92ZUhhbmRsZXJzLmRlbGV0ZSh0KSx0aGlzLl93aWRnZXQudW5zdWJzY3JpYmVDcm9zc2hhaXJNb3ZlKGUpKX11cERvd25Db2xvcnModCl7cmV0dXJuIHRoaXMuX3Nlcmllc1VwRG93bkNvbG9yc1t0XXx8dGhpcy5fdXBkYXRlU2VyaWVzVXBEb3duQ29sb3JzSW1wbCgpLHRoaXMuX3Nlcmllc1VwRG93bkNvbG9yc1t0XT8/bnVsbH1kYXRlVGltZUZvcm1hdHRlcigpe3JldHVybiB0aGlzLl9kYXRlVGltZUZvcm1hdHRlcn1pc0RXTVJlc29sdXRpb24oKXtyZXR1cm4gdGhpcy5faXNEV01SZXNvbHV0aW9ufXVwZGF0ZUNoYXJ0UmlnaHRNYXJnaW5BY2NvcmRpbmdUb1RpdGxlcygpe2NvbnN0IHQ9dGhpcy5tYWluUGxvdCgpLmN1cnJlbnRTZXJpZXNPcHRpb25zKCkuaG9yek1hcmdpbnM/LnJpZ2h0UHg7aWYodCl0aGlzLm1haW5QbG90KCkudXBkYXRlSG9yek1hcmdpbnMoe3JpZ2h0UHg6dH0pO2Vsc2V7Y29uc3QgdD1bdGhpcy5tYWluUGxvdCgpLC4uLnRoaXMuX3N0dWR5UGxvdHNdO2xldCBlPTA7Zm9yKGNvbnN0IGkgb2YgdClmb3IoY29uc3QgdCBvZiBpLnRpdGxlcygpKWU9TWF0aC5tYXgoZSx0Lmxlbmd0aCk7dGhpcy5tYWluUGxvdCgpLnVwZGF0ZUhvcnpNYXJnaW5zKHtyaWdodFB4OjEyKmV9KX10aGlzLm1haW5QbG90KCkuZml0Q29udGVudCgpfWFjdGl2ZVJhbmdlKCl7cmV0dXJuIHRoaXMuX2FjdGl2ZVJhbmdlfXRpbWVTY2FsZVNpemVDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3RpbWVTY2FsZVNpemVDaGFuZ2VkfV9nZXRDaGFydFBsb3RDbGFzcygpe3JldHVybiBQLk1pbmlDaGFydFBsb3R9X2NyZWF0ZU1haW5QbG90KHQpe2NvbnN0IGU9KDAsZi5jb252ZXJ0VGltZUZyYW1lVG9TdHIpKHRoaXMuX3RpbWVmcmFtZS52YWx1ZSgpKSxpPW5ldyh0aGlzLl9nZXRDaGFydFBsb3RDbGFzcygpKSh0aGlzLHRoaXMuX29wdGlvbnMuY2hhcnRPcHRpb25zLnNlcmllcyx0aGlzLl9vcHRpb25zLmNoYXJ0T3B0aW9ucy52b2x1bWUsKCgpPT50aGlzLl9zdHVkeVBsb3RzKSx0aGlzLl9vcHRpb25zLm1haW5QbG90T3B0aW9ucyx0aGlzLl9vcHRpb25zLmNhY2hlPy5sb2FkRGF0YShlKT8ubWFpblBsb3QpO3JldHVybiBpLnNldFN5bWJvbCh0KSxpLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TeW1ib2xSZXNvbHZlZCksaS50aW1lRnJhbWVJbnZhbGlkYXRlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uVGltZUZyYW1lSW52YWxpZGF0ZWQpLGkuc3RhdHVzKCkuc3Vic2NyaWJlKHRoaXMuX29uUGxvdFN0YXR1c0NoYW5nZWQpLGl9X29uUGxvdHNEYXRhUmVhZHkoKXsiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5fb3B0aW9ucy5vbkZpcnN0RGF0YSYmKHRoaXMuX29wdGlvbnMub25GaXJzdERhdGEoKSwKdGhpcy5fb3B0aW9ucy5vbkZpcnN0RGF0YT1udWxsKSx0aGlzLl9oaWRlTG9hZGluZygpLHRoaXMuaGlkZU1lc3NhZ2UoKSx0aGlzLl9jbGVhck5vRGF0YVRpbWVvdXQoKSx0aGlzLl9vcHRpb25zLmRvTm90RGlzY29ubmVjdE9uRGF0YVJlYWR5fHx0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLl9jcmVhdGVSZWNvbm5lY3Rpb25UaW1lb3V0KCksdGhpcy5fc2F2ZUNhY2hlKCl9X2FkZFN0dWR5UGxvdCh0KXt0aGlzLl9zdHVkeVBsb3RzLnB1c2godCksdC5zdGF0dXMoKS5zdWJzY3JpYmUodGhpcy5fb25QbG90U3RhdHVzQ2hhbmdlZCksdGhpcy5jb25uZWN0ZWQoKT90LnJlcXVlc3REYXRhKCk6dGhpcy5jb25uZWN0KCksdC5mb3JjZVBlcmNlbnRhZ2VNb2RlKCkmJnRoaXMuX21haW5QbG90LnN3aXRjaFRvUGVyY2VudGFnZVNjYWxlTW9kZSgpLHRoaXMuX3VwZGF0ZVN0YXR1cygpLHRoaXMuX3N0dWR5UGxvdHNPcmRlckludmFsaWRhdGVkPSEwfV9yZW1vdmVTdHVkeVBsb3QodCl7Y29uc3QgZT10aGlzLl9zdHVkeVBsb3RzLmluZGV4T2YodCk7KDAsbC5hc3NlcnQpKC0xIT09ZSksdGhpcy5fc3R1ZHlQbG90cy5zcGxpY2UoZSwxKSx0LnN0YXR1cygpLnVuc3Vic2NyaWJlKHRoaXMuX29uUGxvdFN0YXR1c0NoYW5nZWQpLHQuZGVsZXRlVmlldygpLHQuY2xlYXJEYXRhKCksdC5kZXN0cm95KCksdGhpcy5fYXV0b1Jlc3RvcmVPcmlnaW5hbFNjYWxlTW9kZSgpJiZ0aGlzLl9zdHVkeVBsb3RzLmV2ZXJ5KCh0PT4hdC5mb3JjZVBlcmNlbnRhZ2VNb2RlKCkpKSYmdGhpcy5fbWFpblBsb3QucmVzdG9yZU9yaWdpbmFsU2NhbGVNb2RlKCksdGhpcy5fc3R1ZHlQbG90c09yZGVySW52YWxpZGF0ZWQ9ITAsdGhpcy5fdXBkYXRlU3RhdHVzKCl9X2F1dG9SZXN0b3JlT3JpZ2luYWxTY2FsZU1vZGUoKXtyZXR1cm4hMH1fdXBkYXRlU2VyaWVzVXBEb3duQ29sb3JzKCl7dGhpcy5fc2VyaWVzVXBEb3duQ29sb3JzPXt9fV91cGRhdGVTZXJpZXNVcERvd25Db2xvcnNJbXBsKCl7Y29uc3QgdD10aGlzLl9vcHRpb25zLmNoYXJ0T3B0aW9ucy5zZXJpZXMsZT10aGlzLl9tYWluUGxvdC5zZXJpZXMoKS5vcHRpb25zKCk7c3dpdGNoKHQuY2hhcnRUeXBlKXtjYXNlImNhbmRsZXN0aWNrcyI6Y29uc3QgaT1lO3RoaXMuX3Nlcmllc1VwRG93bkNvbG9ycy5DYW5kbGVzdGljaz17dXA6dC5ib3JkZXJVcENvbG9yPz90LnVwQ29sb3I/P2kuYm9yZGVyVXBDb2xvcj8/aS51cENvbG9yLGRvd246dC5ib3JkZXJEb3duQ29sb3I/P3QuZG93bkNvbG9yPz9pLmJvcmRlckRvd25Db2xvcj8/aS5kb3duQ29sb3J9O2JyZWFrO2Nhc2UiYmFycyI6Y29uc3Qgcz1lO3RoaXMuX3Nlcmllc1VwRG93bkNvbG9ycy5CYXI9e3VwOnQudXBDb2xvcj8/cy51cENvbG9yLGRvd246dC5kb3duQ29sb3I/P3MuZG93bkNvbG9yfTticmVhaztjYXNlImhpc3RvZ3JhbSI6Y29uc3QgYT1lO3RoaXMuX3Nlcmllc1VwRG93bkNvbG9ycy5IaXN0b2dyYW09e3VwOnQudXBDb2xvcj8/dC5jb2xvcj8/YS5jb2xvcixkb3duOnQuZG93bkNvbG9yPz90LmNvbG9yPz9hLmNvbG9yfX19X3VwZGF0ZVNlcmllc09wdGlvbnModCl7dGhpcy5fb3B0aW9ucy5jaGFydE9wdGlvbnMuc2VyaWVzPWZ1bmN0aW9uKHQpe2xldCBlO3N3aXRjaCh0LmNoYXJ0VHlwZT8/ImFyZWEiKXtjYXNlImJhcnMiOmU9UjticmVhaztjYXNlImNhbmRsZXN0aWNrcyI6ZT1WO2JyZWFrO2Nhc2UiYXJlYSI6ZT14O2JyZWFrO2Nhc2UibGluZSI6ZT1PO2JyZWFrO2Nhc2UiaGlzdG9ncmFtIjplPXo7YnJlYWs7Y2FzZSJwcmV0dHktaGlzdG9ncmFtIjplPUU7YnJlYWs7Y2FzZSJiYXNlbGluZSI6ZT1GfXJldHVybigwLGEuZGVmYXVsdCkoe30sZSx0KX0odCl9X3NhdmVDYWNoZSgpe2NvbnN0e2NhY2hlOnR9PXRoaXMuX29wdGlvbnM7aWYoIXQpcmV0dXJuO2NvbnN0IGU9dGhpcy5fcHJlcGFyZUNhY2hlRGF0YSgpLGk9KDAsZi5jb252ZXJ0VGltZUZyYW1lVG9TdHIpKHRoaXMuX3RpbWVmcmFtZS52YWx1ZSgpKTtlJiYodC5zYXZlRGF0YShpLGUpLHRoaXMuX2NhY2hlZFRpY2ttYXJrcz1lLnRpY2ttYXJrcyl9X3ByZXBhcmVDYWNoZURhdGEoKXtpZighdGhpcy5fdGlja21hcmtzLnNpemUpcmV0dXJuIG51bGw7Y29uc3QgdD10aGlzLl9tYWluUGxvdC5jYWNoZURhdGEoKTtyZXR1cm4gdD97bWFpblBsb3Q6dCx0aWNrbWFya3M6bmV3IE1hcCh0aGlzLl90aWNrbWFya3MpfTpudWxsfV9vbk1haW5QbG90RGF0YUVycm9yKCl7dGhpcy5faGlkZUxvYWRpbmcoKSx0aGlzLnNob3dNZXNzYWdlKG4udChudWxsLHZvaWQgMCxpKDg3MjM4KSkpLHRoaXMuX2NsZWFyTm9EYXRhVGltZW91dCgpLHRoaXMuZGlzY29ubmVjdCgpfV9vbk1haW5QbG90U3ltYm9sUmVzb2x2aW5nRXJyb3IoKXt0aGlzLl9oaWRlTG9hZGluZygpLHRoaXMuc2hvd01lc3NhZ2Uobi50KG51bGwsdm9pZCAwLGkoMTQ2ODA3KSkpLHRoaXMuX2NsZWFyTm9EYXRhVGltZW91dCgpLHRoaXMuZGlzY29ubmVjdCgpfV9jcmVhdGVSZWNvbm5lY3Rpb25UaW1lb3V0KCl7aWYodGhpcy5fb3B0aW9ucy5kb05vdERpc2Nvbm5lY3RPbkRhdGFSZWFkeSlyZXR1cm47Y29uc3QgdD10aGlzLl9vcHRpb25zLnVwZGF0ZVRpbWVvdXQ7dm9pZCAwIT09dCYmdD4wJiYodGhpcy5fdXBkYXRlVGltZXJJZD1zZXRUaW1lb3V0KCgoKT0+e3RoaXMuX3VwZGF0ZVRpbWVySWQ9bnVsbCx0aGlzLmNvbm5lY3RlZCgpP3RoaXMuX3JlcXVlc3REYXRhKCk6dGhpcy5jb25uZWN0KCl9KSx0KSl9X2NsZWFyUmVjb25uZWN0aW9uVGltZW91dCgpe251bGwhPT10aGlzLl91cGRhdGVUaW1lcklkJiYoY2xlYXJJbnRlcnZhbCh0aGlzLl91cGRhdGVUaW1lcklkKSx0aGlzLl91cGRhdGVUaW1lcklkPW51bGwpfV9jcmVhdGVOb0RhdGFUaW1lb3V0KCl7Y29uc3QgdD10aGlzLl9vcHRpb25zLm5vRGF0YVRpbWVvdXQ7dm9pZCAwIT09dCYmdD4wJiYodGhpcy5fbG9hZEVycm9yVGltZW91dD1zZXRUaW1lb3V0KCgoKT0+e3RoaXMuc2hvd01lc3NhZ2Uobi50KG51bGwsdm9pZCAwLGkoMTQ2ODA3KSkpLAoiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5fb3B0aW9ucy5vbkZpcnN0RGF0YSYmKHRoaXMuX29wdGlvbnMub25GaXJzdERhdGEoKSx0aGlzLl9vcHRpb25zLm9uRmlyc3REYXRhPW51bGwpfSksdCkpfV9jbGVhck5vRGF0YVRpbWVvdXQoKXt0aGlzLl9sb2FkRXJyb3JUaW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMuX2xvYWRFcnJvclRpbWVvdXQpLHRoaXMuX2xvYWRFcnJvclRpbWVvdXQ9bnVsbCl9X2luaXRUaW1lZnJhbWVzUmVuZGVyZXIoKXtpZighdGhpcy5fb3B0aW9ucy50aW1lZnJhbWUudmlzaWJsZSlyZXR1cm47e2NvbnN0IHQ9dGhpcy5fdGltZUZyYW1lT3B0aW9ucy5sZW5ndGg8MjtpZih0aGlzLl90aW1lZnJhbWVWaWV3Py51cGRhdGUoe2hpZGRlbjp0fSksKHRoaXMuX2VsVGltZWZyYW1lPz90aGlzLl9vcHRpb25zLnRpbWVmcmFtZS5jb250YWluZXIpPy5jbGFzc0xpc3QudG9nZ2xlKHcuaGlkZGVuLHQpLHQpcmV0dXJufWlmKHRoaXMuX2VsVGltZWZyYW1lKXJldHVybjt0aGlzLl9vcHRpb25zLnRpbWVmcmFtZS5jb250YWluZXI/dGhpcy5fZWxUaW1lZnJhbWU9dGhpcy5fb3B0aW9ucy50aW1lZnJhbWUuY29udGFpbmVyOih0aGlzLl9lbFRpbWVmcmFtZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9jb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5fZWxUaW1lZnJhbWUpKTtjb25zdCB0PSh0LGUpPT57Y29uc3QgaT10aGlzLl90aW1lRnJhbWVPcHRpb25zLmxlbmd0aDwyLHM9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9lbFRpbWVmcmFtZSk7cy5jbGFzc0xpc3QudG9nZ2xlKHcuaGlkZGVuLGkpLHRoaXMuX3RpbWVmcmFtZVZpZXc9bmV3IHQuVGltZUZyYW1lVmlld1JlbmRlcmVyKHMse25hbWU6Im1pbmljaGFydF90aW1lZnJhbWUiLGFjdGl2ZVJhbmdlOnRoaXMuX2FjdGl2ZVJhbmdlLHJhbmdlczp0aGlzLl9nZXRBdmFpbGFibGVUaW1lRnJhbWVzKCksb25TZWxlY3RSYW5nZTp0PT57dGhpcy5zZXRUaW1lZnJhbWUoe3ZhbHVlOnQsdHlwZToicGVyaW9kLWJhY2sifSl9LHNpemU6dGhpcy5fb3B0aW9ucy50aW1lZnJhbWUuc2l6ZSxoaWRkZW46aSx0aGVtZTplfSl9O1Byb21pc2UuYWxsKFtpLmUoMTIzODUpLGkuZSg4MDc4MiksaS5lKDMyMzg3KSxpLmUoNDQxNjIpXSkudGhlbihpLmJpbmQoaSwzOTU2MjUpKS50aGVuKChlPT57KHRoaXMuX29wdGlvbnMudGltZWZyYW1lLmdldFRoZW1lfHwoKCk9PlByb21pc2UucmVzb2x2ZSh2b2lkIDApKSkoKS50aGVuKChpPT50KGUsaSkpKX0pKX1fY3JlYXRlTGVnZW5kKCl7dGhpcy5fb3B0aW9ucy5sZWdlbmQmJnRoaXMuX29wdGlvbnMubGVnZW5kLnZpc2libGUmJlByb21pc2UuYWxsKFtpLmUoMzAzNzMpLGkuZSg1Njg5KSxpLmUoNjU4MyksaS5lKDMyMzg3KSxpLmUoMTY0NildKS50aGVuKGkuYmluZChpLDI5NzY1MCkpLnRoZW4oKHQ9PnQuY3JlYXRlTGVnZW5kKHRoaXMuX29wdGlvbnMubGVnZW5kLmNvbnRhaW5lcix0aGlzLl9vcHRpb25zLmxlZ2VuZC5pdGVtcykpKX1fZ2V0QXZhaWxhYmxlVGltZUZyYW1lcygpe2NvbnN0IHQ9W107Zm9yKGNvbnN0IGUgb2YgdGhpcy5fdGltZUZyYW1lT3B0aW9ucyl7aWYoIXRoaXMuX3RpbWVmcmFtZUlzQXZhaWxhYmxlKGUudmFsdWUpKWNvbnRpbnVlO2NvbnN0IGk9KDAsZi5jb252ZXJ0VGltZUZyYW1lVG9TdHIpKGUudmFsdWUpO3QucHVzaCh7dmFsdWU6aSx0ZXh0OmUudGV4dCxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9ufSl9cmV0dXJuIHR9X3RpbWVmcmFtZUlzQXZhaWxhYmxlKHQpe2NvbnN0IGU9dGhpcy5fdGltZUZyYW1lT3B0aW9ucy5maW5kKChlPT4oMCxmLmFyZUVxdWFsVGltZUZyYW1lcykoZS52YWx1ZSx0KSkpO2lmKCFlKXJldHVybiExO2NvbnN0IGk9dGhpcy5tYWluUGxvdCgpLnN5bWJvbEluZm8oKTtpZighaXx8aS5wcm9fbmFtZSE9PXRoaXMuX21haW5QbG90LnN5bWJvbCgpKXJldHVybiEwO2lmKGkuaGFzX2ludHJhZGF5KXJldHVybiEwO3JldHVybiF1LkludGVydmFsLnBhcnNlKGUudGFyZ2V0UmVzb2x1dGlvbikuaXNJbnRyYWRheSgpfV9vbkNoYXJ0U2Vzc2lvbklzQ29ubmVjdGVkQ2hhbmdlZCh0KXt0IT09dGhpcy5fY29ubmVjdGVkJiYodD8odGhpcy5fY29ubmVjdGVkPSEwLCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLl9jb25uZWN0Q2FsbGJhY2smJnRoaXMuX2Nvbm5lY3RDYWxsYmFjaygpLHRoaXMuX2NoYXJ0U2Vzc2lvbj8uc3dpdGNoVGltZXpvbmUoIkV0Yy9VVEMiKSx0aGlzLl9yZXF1ZXN0RGF0YSgpKToodGhpcy5fY29ubmVjdGVkPSExLHRoaXMuX21haW5QbG90LmRpc2Nvbm5lY3QoKSx0aGlzLl9zdHVkeVBsb3RzLmZvckVhY2goKHQ9PnQuZGlzY29ubmVjdCgpKSkpKX1fb25DaGFydFNlc3Npb25Dcml0aWNhbEVycm9yKCl7dGhpcy5fY29ubmVjdGVkPSExfV9jcmVhdGVUb29sdGlwRGF0ZUZvcm1hdHRlcigpe2NvbnN0IHQ9dS5JbnRlcnZhbC5wYXJzZSh0aGlzLnJlc29sdXRpb24oKSk7bGV0IGU7dGhpcy5faXNEV01SZXNvbHV0aW9uPXQuaXNEV00oKSx0aGlzLl93aWRnZXQudGltZVNjYWxlKCkuYXBwbHlPcHRpb25zKHt0aW1lVmlzaWJsZTohdGhpcy5faXNEV01SZXNvbHV0aW9uLHNlY29uZHNWaXNpYmxlOnQuaXNTZWNvbmRzKCl9KTtjb25zdHtkYXRlRm9ybWF0Omk9ImRkIE1NTSAneXkiLHRpbWVIb3Vyc0Zvcm1hdDpzPSIyNC1ob3VycyIsc3VwcHJlc3NUaWNrTWFya3M6YX09dGhpcy5fb3B0aW9ucy5jaGFydE9wdGlvbnM7ZT10aGlzLl9pc0RXTVJlc29sdXRpb24/bmV3IGMuRGF0ZUZvcm1hdHRlcihpKTpuZXcgZC5EYXRlVGltZUZvcm1hdHRlcih7ZGF0ZUZvcm1hdDppLHRpbWVGb3JtYXQ6KDAsZy5nZXRUaW1lRm9ybWF0Rm9ySW50ZXJ2YWwpKHQscyl9KSx0aGlzLl9kYXRlVGltZUZvcm1hdHRlcj1lLHRoaXMuX3dpZGdldC5hcHBseU9wdGlvbnMoe2xvY2FsaXphdGlvbjp7dGltZUZvcm1hdHRlcjp0PT5lLmZvcm1hdChuZXcgRGF0ZSgxZTMqdCkpfSx0aW1lU2NhbGU6e3RpY2tNYXJrRm9ybWF0dGVyOkguYmluZChudWxsLHMsYSx0aGlzLl90aW1lZnJhbWUudmFsdWUoKSl9fSksdGhpcy5fd2lkZ2V0LmFwcGx5T3B0aW9ucyh7dGltZVNjYWxlOnsKdGltZVZpc2libGU6IXUuSW50ZXJ2YWwucGFyc2UodGhpcy5fbWFpblBsb3QucmVzb2x1dGlvbigpKS5pc0RXTSgpfX0pfV9yZXF1ZXN0RGF0YSgpe3RoaXMuX2NyZWF0ZVRvb2x0aXBEYXRlRm9ybWF0dGVyKCksdGhpcy5fY2xlYXJSZWNvbm5lY3Rpb25UaW1lb3V0KCksdGhpcy5fbWFpblBsb3QucmVxdWVzdERhdGEoKSx0aGlzLl9zdHVkeVBsb3RzLmZvckVhY2goKHQ9PnQucmVxdWVzdERhdGEoKSkpfV9vbkRhdGEodCl7aWYodGhpcy5fbWFpblBsb3QuaXNDb25uZWN0ZWQoKSlzd2l0Y2godC5tZXRob2Qpe2Nhc2UidGltZXNjYWxlX3VwZGF0ZSI6e2NvbnN0IGU9dC5wYXJhbXM7aWYoZS5jbGVhcil7dGhpcy5fdGlja21hcmtzLmNsZWFyKCksdGhpcy5fbWFpblBsb3QuY2xlYXJTb3VyY2VEYXRhKCk7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fc3R1ZHlQbG90cyl0LmNsZWFyU291cmNlRGF0YSgpfWlmKGUuaW5kZXhfZGlmZi5sZW5ndGg+MCl7dGhpcy5fbWFpblBsb3QubW92ZVNvdXJjZURhdGEoZS5pbmRleF9kaWZmKTtmb3IoY29uc3QgdCBvZiB0aGlzLl9zdHVkeVBsb3RzKXQubW92ZVNvdXJjZURhdGEoZS5pbmRleF9kaWZmKX1jb25zdCBpPWUubWFya3M7bGV0IHM9MS8wLGE9LTEvMDtmb3IoY29uc3QgdCBvZiBpKXRoaXMuX3RpY2ttYXJrcy5oYXModC5pbmRleCl8fChzPU1hdGgubWluKHMsdC5pbmRleCksYT1NYXRoLm1heChhLHQuaW5kZXgpKSx0aGlzLl90aWNrbWFya3Muc2V0KHQuaW5kZXgsdCk7TnVtYmVyLmlzRmluaXRlKHMpJiZ0aGlzLl9tYWluUGxvdC5vblRpY2ttYXJrc0FkZGVkKHMsYSksdGhpcy5fc2F2ZUNhY2hlKCk7YnJlYWt9fX1fb25TeW1ib2xSZXNvbHZlZCgpe3RoaXMudXBkYXRlQXZhaWxhYmxlVGltZWZyYW1lcygpLHRoaXMuX2luaXRUaW1lZnJhbWVzUmVuZGVyZXIoKX1fb25UaW1lRnJhbWVJbnZhbGlkYXRlZCgpe3RoaXMuX2FjdGl2ZVJhbmdlPXZvaWQgMCx0aGlzLl90aW1lZnJhbWVWaWV3Py51cGRhdGUoe2FjdGl2ZVJhbmdlOnZvaWQgMH0pfV9zaG93TG9hZGluZygpe2lmKHRoaXMuX2lzTG9hZGluZylyZXR1cm47dGhpcy5oaWRlTWVzc2FnZSgpO2NvbnN0IHQ9dGhpcy5fb3B0aW9ucy5jaGFydE9wdGlvbnMubG9hZGluZzt0LnNwaW5uZXIudmlzaWJsZSYmKG51bGw9PT10aGlzLl9zcGlubmVyJiYodGhpcy5fc3Bpbm5lcj1uZXcgdi5TcGlubmVyKCJtaW5pIikuc2V0U3R5bGUoe2NvbG9yOnQuc3Bpbm5lci5jb2xvcix3aWR0aDp0LnNwaW5uZXIud2lkdGgudG9TdHJpbmcoKSx6SW5kZXg6IjEwIn0pKSx0aGlzLl9zcGlubmVyLnNwaW4odGhpcy5faW5uZXJDb250YWluZXIpKSx0LmZhZGUudmlzaWJsZSYmdGhpcy5faW5uZXJDb250YWluZXIuY2xhc3NMaXN0LmFkZCh3LmZhZGUpLHRoaXMuX2lzTG9hZGluZz0hMH1faGlkZUxvYWRpbmcoKXt0aGlzLl9pc0xvYWRpbmcmJih0aGlzLl9zcGlubmVyJiZ0aGlzLl9zcGlubmVyLnN0b3AoKSx0aGlzLl9pc0xvYWRpbmc9ITEpfV9yZXF1ZXN0RGF0YU9uVGltZWZyYW1lQ2hhbmdlKCl7dGhpcy5fb3B0aW9ucy5jaGFydE9wdGlvbnMubG9hZGluZy5jbGVhckRhdGFPblRpbWVmcmFtZUNoYW5nZSYmKHRoaXMuX3N0dWR5UGxvdHMuZm9yRWFjaCgodD0+dC5jbGVhckRhdGEoKSkpLHRoaXMuX3N0dWR5UGxvdHMuZm9yRWFjaCgodD0+dC5kZWxldGVWaWV3KCkpKSx0aGlzLm1haW5QbG90KCkuY2xlYXJEYXRhKCksdGhpcy5tYWluUGxvdCgpLmRlbGV0ZVZpZXcoKSksdGhpcy5jb25uZWN0ZWQoKT90aGlzLl9yZXF1ZXN0RGF0YSgpOnRoaXMuY29ubmVjdCgpfV91cGRhdGVTdGF0dXMoKXtjb25zdCB0PVt0aGlzLl9tYWluUGxvdC5zdGF0dXMoKS52YWx1ZSgpLC4uLnRoaXMuX3N0dWR5UGxvdHMubWFwKCh0PT50LnN0YXR1cygpLnZhbHVlKCkpKV0sZT10LmV2ZXJ5KCh0PT4wIT09dCkpPzM9PT10WzBdPyJyZWFkeSI6ImVycm9yIjoibG9hZGluZyI7dGhpcy5fc3RhdHVzLnNldFZhbHVlKGUpfV90aW1lU2NhbGVTaXplQ2hhbmdlZEhhbmRsZXIodCxlKXt0aGlzLl90aW1lU2NhbGVTaXplQ2hhbmdlZC5maXJlKHQsZSl9fX0sMTQ2MDU4KHQsZSxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyh0KXtyZXR1cm4gdC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiZGl2IikuaXRlbSgwKT8uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRhYmxlIikuaXRlbSgwKT8uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRyIikuaXRlbSgwKT8uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRkIikuaXRlbSgxKT8uZ2V0RWxlbWVudHNCeVRhZ05hbWUoImRpdiIpLml0ZW0oMCk/P251bGx9aS5kKGUse2dldENoYXJ0TGF5b3V0Q29udGFpbmVyOigpPT5zfSl9LDU4NjI0Nyh0LGUsaSl7InVzZSBzdHJpY3QiO2kuZChlLHtNaW5pQ2hhcnRQbG90OigpPT5jfSk7dmFyIHMsYT1pKDc0MDE2Mik7IWZ1bmN0aW9uKHQpe3QuRGVmYXVsdD0iZGVmYXVsdCIsdC5GdWxsU2luZ2xlU2Vzc2lvbj0iZnVsbF9zaW5nbGVfc2Vzc2lvbiJ9KHN8fChzPXt9KSk7dmFyIG49aSg5MzYzMjYpLHI9aSg4NTcxNTEpLG89aSgxMjE0NzkpLGg9aSg4MzcyMDMpLGw9aSgyNDIxNzEpO2NsYXNzIGMgZXh0ZW5kcyBsLk1pbmlDaGFydFBsb3RCYXNle2NvbnN0cnVjdG9yKHQsZSxpLHMsbixyKXtzdXBlcih0LGUsaSxuKSx0aGlzLl9zZXJpZXNEYXRhU291cmNlPW51bGwsdGhpcy5fY2FjaGVkRGF0YT1udWxsLHRoaXMuX3N0dWR5UGxvdHM9cyx0aGlzLl9vcHRpb25zPW4sdGhpcy5faG9yek1hcmdpbnM9KDAsYS5kZWZhdWx0KSh7fSxsLnNlcmllc0hvcnpNYXJnaW5zRGVmYXVsdHMsZS5ob3J6TWFyZ2lucyksciYmdGhpcy5fbG9hZENhY2hlKHIpfWRlc3Ryb3koKXt0aGlzLl9zZXJpZXNEYXRhU291cmNlPy5kZXN0cm95KCksc3VwZXIuZGVzdHJveSgpfXVwZGF0ZUhvcnpNYXJnaW5zKHQpe3RoaXMuX2hvcnpNYXJnaW5zPSgwLGEuZGVmYXVsdCkodGhpcy5faG9yek1hcmdpbnMsdCksdGhpcy5fbWluaUNoYXJ0LmZpdENvbnRlbnQoKX1yZWxvYWRDYWNoZSh0KXt0aGlzLl9jYWNoZT10LHQ/dGhpcy5fbG9hZENhY2hlKHQpOih0aGlzLl9taW5CYXJJbmRleD1udWxsLHRoaXMuX21heEJhckluZGV4PW51bGwsCnRoaXMuX2NhY2hlZERhdGE9bnVsbCx0aGlzLl9vbkRhdGEoKS50aGVuKCgoKT0+e3RoaXMuZml0Q29udGVudCgpfSkpKX1yZXF1ZXN0RGF0YSgpe2NvbnN0IHQ9dGhpcy5fZ2V0U2VyaWVzRGF0YVNvdXJjZSgpO3RoaXMuX3N0YXR1cy5zZXRWYWx1ZSgwKSx0aGlzLl9ub0RhdGEuc2V0VmFsdWUobnVsbCksdC5tb2RpZnlTZXJpZXModGhpcy5leHRlbmRlZFN5bWJvbCgpLCgwLG8uZ2V0U2VydmVySW50ZXJ2YWwpKHRoaXMucmVzb2x1dGlvbigpKSx0aGlzLl9taW5pQ2hhcnQudGltZWZyYW1lKCkudmFsdWUoKSksdC5pc1N0YXJ0ZWQoKXx8dC5zdGFydCgpfWNsZWFyU291cmNlRGF0YSgpe3RoaXMuX3Nlcmllc0RhdGFTb3VyY2U/LmNsZWFyRGF0YSgpLHRoaXMuX3N0dWR5UGxvdHMoKS5mb3JFYWNoKCh0PT50LmNsZWFyU291cmNlRGF0YSgpKSl9bW92ZVNvdXJjZURhdGEodCl7dGhpcy5fc2VyaWVzRGF0YVNvdXJjZT8ubW92ZURhdGEodCl9b25UaWNrbWFya3NBZGRlZCh0LGUpe2NvbnN0IGk9dGhpcy5tYXhCYXJJbmRleCgpO3RoaXMuX2lzTGFzdFNlc3Npb25JbnRlcnZhbC52YWx1ZSgpJiZudWxsIT09aSYmaT49dCYmaTw9ZSYmKHRoaXMudXBkYXRlRGF0YSghMSwhMCksdGhpcy5maXRDb250ZW50KCkpfWRpc2Nvbm5lY3QoKXt0aGlzLl9zZXJpZXNEYXRhU291cmNlPy5zdG9wKCl9aXNDb25uZWN0ZWQoKXtyZXR1cm4gQm9vbGVhbih0aGlzLl9zZXJpZXNEYXRhU291cmNlPy5pc1N0YXJ0ZWQoKSl9Y2xlYXJEYXRhKCl7aWYoc3VwZXIuY2xlYXJEYXRhKCksdGhpcy5fbWluQmFySW5kZXg9bnVsbCx0aGlzLl9tYXhCYXJJbmRleD1udWxsLG51bGwhPT10aGlzLl9zZXJpZXNEYXRhU291cmNlJiYodGhpcy5fc2VyaWVzRGF0YVNvdXJjZS5zdG9wKCksdGhpcy5jbGVhclNvdXJjZURhdGEoKSksdGhpcy5fY2FjaGUpe2NvbnN0e21pbkJhckluZGV4OnQsbWF4QmFySW5kZXg6ZSxzeW1ib2xJbmZvOml9PXRoaXMuX2NhY2hlO3RoaXMuX21pbkJhckluZGV4PXQsdGhpcy5fbWF4QmFySW5kZXg9ZSxpJiYodGhpcy5fc3ltYm9sSW5mbz1pLHRoaXMuX3N5bWJvbEluZm9XVi5zZXRWYWx1ZShpKSx0aGlzLl9pbml0QmFyQnVpbGRlcihpKS50aGVuKCgoKT0+e3RoaXMuX2lzRGVzdHJveWVkLnZhbHVlKCl8fHRoaXMuX29uRGF0YSgpLnRoZW4oKCgpPT57dGhpcy5maXRDb250ZW50KCl9KSl9KSkpfX1zZXJpZXNEYXRhU291cmNlKCl7cmV0dXJuIHRoaXMuX2dldFNlcmllc0RhdGFTb3VyY2UoKX1maXJzdEJhcigpe3JldHVybigwLGwuaXNUaW1lUG9pbnRJbmRleCkodGhpcy5fbWluQmFySW5kZXgpP3RoaXMuX2JhcnMoKS5zZWFyY2godGhpcy5fbWluQmFySW5kZXgpOnRoaXMuX2JhcnMoKS5maXJzdCgpfWxhc3RCYXIoKXtyZXR1cm4oMCxsLmlzVGltZVBvaW50SW5kZXgpKHRoaXMuX21heEJhckluZGV4KT90aGlzLl9iYXJzKCkuc2VhcmNoKHRoaXMuX21heEJhckluZGV4LG4uUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdExlZnQpOnRoaXMuX2JhcnMoKS5sYXN0KCl9Y2FjaGVEYXRhKCl7Y29uc3QgdD10aGlzLl9zZXJpZXNEYXRhU291cmNlPy5kYXRhKCk/LmNsb25lKCksZT10aGlzLl9zeW1ib2xJbmZvLGk9dGhpcy5fbWluQmFySW5kZXgscz10aGlzLl9tYXhCYXJJbmRleDtyZXR1cm4gdCYmbnVsbCE9PWUmJm51bGwhPT1pJiZudWxsIT09cz97ZGF0YTp0LHN5bWJvbEluZm86ZSxtaW5CYXJJbmRleDppLG1heEJhckluZGV4OnN9Om51bGx9Zml0Q29udGVudCgpe2lmKG51bGw9PT10aGlzLl9kYXRhTGVuZ3RoSW5mb3x8MD09PXRoaXMuX2RhdGFMZW5ndGhJbmZvLmhpc3RvcnkpcmV0dXJuO2NvbnN0e2hpc3Rvcnk6dCxyZWFsdGltZTplLHdoaXRlc3BhY2VzOmksbGFzdEJhclRpbWU6cyxmaXhMZWZ0RWRnZVVudGlsOmE9MH09dGhpcy5fZGF0YUxlbmd0aEluZm8sbj10aGlzLl9taW5pQ2hhcnQud2lkZ2V0KCkscj1uLnBhbmVTaXplKCkud2lkdGg7aWYoMD09PXIpcmV0dXJuO2NvbnN0e2xlZnRMb2dpY2FsOm8scmlnaHRMb2dpY2FsOmgsbGVmdFB4OmwscmlnaHRQeDpjfT10aGlzLl9ob3J6TWFyZ2lucztsZXQgZD10aGlzLl9maXRDb250ZW50TGVmdEluZGV4KCktby0obnVsbD09PXN8fGE+PXM/MDplKSxtPU1hdGgubWF4KGQsTWF0aC5tYXgoMCx0LTEpK2graStlKTtpZigwIT09bCl7ZC09bC8oKHItbCkvKG0tZCsxKSl9aWYoMCE9PWMpe20rPWMvKChyLWMpLyhtLWQrMSkpfWlmKG09TWF0aC5tYXgoZCxtKSxtLWQ8MSl7Y29uc3QgdD0oMS0obS1kKSkvMjtkLT10LG0rPXR9bi50aW1lU2NhbGUoKS5zZXRWaXNpYmxlTG9naWNhbFJhbmdlKHtmcm9tOmQsdG86bX0pLG4udGltZVNjYWxlKCkuYXBwbHlPcHRpb25zKHtsb2NrVmlzaWJsZVRpbWVSYW5nZU9uUmVzaXplOiEwfSl9X2ZpdENvbnRlbnRMZWZ0SW5kZXgoKXtyZXR1cm4gMH1fdXBkYXRlU2VyaWVzT3B0aW9ucyh0KXtzdXBlci5fdXBkYXRlU2VyaWVzT3B0aW9ucyh0KSx0LmhvcnpNYXJnaW5zJiZ0aGlzLnVwZGF0ZUhvcnpNYXJnaW5zKHQuaG9yek1hcmdpbnMpfV9pc01haW5QbG90KCl7cmV0dXJuITB9X2RhdGFVcGRhdGVkKHQsZSxpKXtpZihzdXBlci5fZGF0YVVwZGF0ZWQodCxlLGkpLCF0aGlzLl9pc0xhc3RTZXNzaW9uSW50ZXJ2YWwudmFsdWUoKXx8IXRoaXMuX21pbmlDaGFydC5zdXBwb3J0UmVhbHRpbWVVcGRhdGVzKCl8fCFpKXJldHVybjtjb25zdCBzPWkubGFzdEJhclNlc3Npb247MCE9PXMmJjEhPT1zJiYzIT09c3x8MiE9PWUubGFzdEJhclNlc3Npb258fFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCgpPT57dGhpcy5fbWluaUNoYXJ0LnNldFRpbWVmcmFtZSh0aGlzLl9taW5pQ2hhcnQudGltZWZyYW1lKCkudmFsdWUoKSwhMSwhMCl9KSl9X29uQ2hhcnRTdHlsZUNoYW5nZWQoKXtzdXBlci5fb25DaGFydFN0eWxlQ2hhbmdlZCgpLHRoaXMuX3N0dWR5UGxvdHMoKS5mb3JFYWNoKCh0PT50LnVwZGF0ZVNlcmllc09wdGlvbnMoe2NoYXJ0VHlwZTp0aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucy5jaGFydFR5cGV9KSkpfV9iZWZvcmVEYXRhUmVhZHkoKXtzdXBlci5fYmVmb3JlRGF0YVJlYWR5KCksCnRoaXMuX3N0dWR5UGxvdHMoKS5mb3JFYWNoKCh0PT50LmRlbGV0ZVZpZXcoKSkpfV9nZXRTZXJpZXNEYXRhU291cmNlKCl7aWYobnVsbD09PXRoaXMuX3Nlcmllc0RhdGFTb3VyY2Upe2NvbnN0IHQ9dGhpcy5fY3VycmVudFNlcmllc09wdGlvbnMuaW5pdGlhbFJlcXVlc3RPcHRpb25zLGU9dGhpcy5fc2VyaWVzRGF0YVNvdXJjZT1uZXcgaC5TZXJpZXNEYXRhU291cmNlKHRoaXMuY2hhcnRTZXNzaW9uKCksInMiLHQpLGk9ZS5kYXRhRXZlbnRzKCk7aS5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU3ltYm9sUmVzb2x2ZWQpLGkuc3ltYm9sTm90UGVybWl0dGVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TeW1ib2xOb3RQZXJtaXR0ZWQpLGkuc3ltYm9sR3JvdXBOb3RQZXJtaXR0ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblN5bWJvbEdyb3VwTm90UGVybWl0dGVkKSxpLmludHJhZGF5U3ByZWFkTm90UGVybWl0dGVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25JbnRyYWRheVNwcmVhZE5vdFBlcm1pdHRlZCksaS5zeW1ib2xJbnZhbGlkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TeW1ib2xJbnZhbGlkKSxpLnN5bWJvbEVycm9yKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TeW1ib2xFcnJvciksaS5pbnRyYWRheUV4Y2hhbmdlTm90UGVybWl0dGVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25SZXNvbHV0aW9uT3JFeGNoYW5nZU5vdFBlcm1pdHRlZEVycm9yKSxpLmN1c3RvbUludGVydmFsTm90UGVybWl0dGVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25SZXNvbHV0aW9uT3JFeGNoYW5nZU5vdFBlcm1pdHRlZEVycm9yKSxpLmNvbXBsZXRlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uRGF0YUNvbXBsZXRlZCksaS5zZXJpZXNFcnJvcigpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uRGF0YUVycm9yKSxpLnNlcmllc1RpbWVGcmFtZSgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uVGltZUZyYW1lKSxpLmRhdGFVcGRhdGVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25EYXRhSW50ZXJuYWwpLGkuY3JlYXRlZCgpLnN1YnNjcmliZShudWxsLCgoKT0+cGVyZm9ybWFuY2UubWFyaygiUkZEIix7ZGV0YWlsOiJSZXF1ZXN0IGZpcnN0IGRhdGEifSkpLCEwKSxpLmNyZWF0ZWQoKS5zdWJzY3JpYmUobnVsbCwoKCk9PmUuc2V0RnV0dXJlVGlja21hcmtzTW9kZShzLkZ1bGxTaW5nbGVTZXNzaW9uKSkpLGkuZGF0YVVwZGF0ZWQoKS5zdWJzY3JpYmUobnVsbCwoKCk9PntwZXJmb3JtYW5jZS5tYXJrKCJGRFIiLHtkZXRhaWw6IkZpcnN0IGRhdGEgcmVzcG9uc2UifSkscGVyZm9ybWFuY2UubWVhc3VyZSgiUmVzcG9uc2UgaWRsZSIsIlJGRCIsIkZEUiIpfSksITApfXJldHVybiB0aGlzLl9zZXJpZXNEYXRhU291cmNlfV9iYXJzKCl7cmV0dXJuIHRoaXMuX2NhY2hlZERhdGE/dGhpcy5fY2FjaGVkRGF0YS5zZXJpZXNEYXRhLmJhcnMoKTp0aGlzLl9zZXJpZXNEYXRhU291cmNlPy5kYXRhKCkuYmFycygpPz9uZXcgci5QbG90TGlzdH1fb25UaW1lRnJhbWUodCxlKXt0aGlzLl9jYWNoZWREYXRhfHwodGhpcy5fbWluQmFySW5kZXg9dCx0aGlzLl9tYXhCYXJJbmRleD1lKSx0aGlzLnVwZGF0ZURhdGEoITEpLHRoaXMuX3N0dWR5UGxvdHMoKS5mb3JFYWNoKCh0PT50LnVwZGF0ZURhdGEoITEsITApKSl9X29uRGF0YUNvbXBsZXRlZCgpe3RoaXMuX2NhY2hlZERhdGEmJih0aGlzLl9jYWNoZWREYXRhPW51bGwpLHRoaXMudXBkYXRlRGF0YSghMSwhMCksc3VwZXIuX29uRGF0YUNvbXBsZXRlZCgpLHRoaXMuZml0Q29udGVudCgpfV9vbkRhdGFJbnRlcm5hbCh0LGUsaSl7dGhpcy5fb25EYXRhKGU/dm9pZCAwOmk/LmluZGV4KX1hc3luYyBfbG9hZENhY2hlKHQpe2NvbnN0e2RhdGE6ZSxzeW1ib2xJbmZvOmksbWluQmFySW5kZXg6cyxtYXhCYXJJbmRleDphfT10O3RoaXMuX21pbkJhckluZGV4PXMsdGhpcy5fbWF4QmFySW5kZXg9YSx0aGlzLl9jYWNoZWREYXRhPXtzeW1ib2w6dGhpcy5leHRlbmRlZFN5bWJvbCgpLHJlc29sdXRpb246dGhpcy5yZXNvbHV0aW9uKCksdGltZUZyYW1lOnRoaXMuX21pbmlDaGFydC50aW1lZnJhbWUoKS52YWx1ZSgpLHNlcmllc0RhdGE6ZX0sdGhpcy5fc3ltYm9sSW5mbz1pLHRoaXMuX3N5bWJvbEluZm9XVi5zZXRWYWx1ZShpKTtjb25zdCBuPWF3YWl0IHRoaXMuX2luaXRCYXJCdWlsZGVyKGkpOyF0aGlzLl9pc0Rlc3Ryb3llZC52YWx1ZSgpJiZ0aGlzLl9zeW1ib2xJbmZvJiYodGhpcy5fc3ltYm9sSW5mbyE9PWkmJm4udXBkYXRlKHRoaXMuX3N5bWJvbEluZm8pLGF3YWl0IHRoaXMuX29uRGF0YSgpLHRoaXMuX3N0YXR1cy5zZXRWYWx1ZSgzKSx0aGlzLmZpdENvbnRlbnQoKSl9fX0sNjk1OTQ2KHQsZSxpKXsidXNlIHN0cmljdCI7aS5kKGUse1ByZXR0eUhpc3RvZ3JhbVNlcmllczooKT0+bn0pO2NvbnN0IHM9ey4uLmkoNjc4MzEyKS5jdXN0b21TZXJpZXNEZWZhdWx0T3B0aW9ucyxjb2xvcjoiI0Q2Mzg2NCIsd2lkdGhQZXJjZW50OjUwLHJhZGl1czo0fTtjbGFzcyBhe2NvbnN0cnVjdG9yKCl7dGhpcy5fZGF0YT1udWxsLHRoaXMuX29wdGlvbnM9bnVsbH1kcmF3KHQsZSl7dC51c2VCaXRtYXBDb29yZGluYXRlU3BhY2UoKHQ9PnRoaXMuX2RyYXdJbXBsKHQsZSkpKX11cGRhdGUodCxlKXt0aGlzLl9kYXRhPXQsdGhpcy5fb3B0aW9ucz1lfV9kcmF3SW1wbCh0LGUpe2lmKG51bGw9PT10aGlzLl9kYXRhfHwwPT09dGhpcy5fZGF0YS5iYXJzLmxlbmd0aHx8bnVsbD09PXRoaXMuX2RhdGEudmlzaWJsZVJhbmdlfHxudWxsPT09dGhpcy5fb3B0aW9ucylyZXR1cm47Y29uc3QgaT10aGlzLl9vcHRpb25zLHM9dGhpcy5fZGF0YS5iYXJzLm1hcCgocz0+KHt4OnMueCp0Lmhvcml6b250YWxQaXhlbFJhdGlvLHZhbHVlOmUocy5vcmlnaW5hbERhdGEudmFsdWUpPz9OYU4sY29sb3I6cy5iYXJDb2xvcj8/aS5jb2xvcn0pKSksYT1lKDApPz8wLG49dC5jb250ZXh0O2xldCByPW51bGw7bi5iZWdpblBhdGgoKQo7Y29uc3Qgbz1NYXRoLm1heCgxLE1hdGgucm91bmQoLjAxKmkud2lkdGhQZXJjZW50KnRoaXMuX2RhdGEuYmFyU3BhY2luZyp0Lmhvcml6b250YWxQaXhlbFJhdGlvKSksaD1NYXRoLmZsb29yKGkucmFkaXVzKnQuaG9yaXpvbnRhbFBpeGVsUmF0aW8pO3Muc2xpY2UodGhpcy5fZGF0YS52aXNpYmxlUmFuZ2UuZnJvbSx0aGlzLl9kYXRhLnZpc2libGVSYW5nZS50bysxKS5mb3JFYWNoKChlPT57Y29uc3QgaT1lLmNvbG9yO251bGwhPT1yJiZyIT09aSYmKG4uZmlsbCgpLG4uYmVnaW5QYXRoKCkpLG4uZmlsbFN0eWxlPWk7Y29uc3Qgcz1mdW5jdGlvbih0LGUsaSl7Y29uc3Qgcz1NYXRoLnJvdW5kKGkqdCksYT1NYXRoLnJvdW5kKGkqZSk7cmV0dXJue3Bvc2l0aW9uOk1hdGgubWluKHMsYSksbGVuZ3RoOk1hdGguYWJzKGEtcykrMX19KGEsZS52YWx1ZSx0LnZlcnRpY2FsUGl4ZWxSYXRpbyksbD1NYXRoLmZsb29yKE1hdGgubWluKGgsby8yLE1hdGguYWJzKHMubGVuZ3RoKSkpLGM9TWF0aC5yb3VuZChlLngtby8yKTtuLnJvdW5kUmVjdChjLHMucG9zaXRpb24sbyxzLmxlbmd0aCxlLnZhbHVlPGE/W2wsbCwwLDBdOlswLDAsbCxsXSkscj1pfSkpLG4uZmlsbCgpfX1jbGFzcyBue2NvbnN0cnVjdG9yKCl7dGhpcy5fcmVuZGVyZXI9bmV3IGF9cHJpY2VWYWx1ZUJ1aWxkZXIodCl7cmV0dXJuW3QudmFsdWVdfWlzV2hpdGVzcGFjZSh0KXtyZXR1cm4gdm9pZCAwPT09dC52YWx1ZX1yZW5kZXJlcigpe3JldHVybiB0aGlzLl9yZW5kZXJlcn11cGRhdGUodCxlKXt0aGlzLl9yZW5kZXJlci51cGRhdGUodCxlKX1kZWZhdWx0T3B0aW9ucygpe3JldHVybiBzfX19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.57184.dc579b0699ead7c4ae5d.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.783Z","timestamp":1785120634783,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/en.57184.dc579b0699ead7c4ae5d.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"247optiontradefx.com/img/grad_bg.png","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.443Z","timestamp":1785120633443,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /img/grad_bg.png HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/css/style.css\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: image/png\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-6ed8\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":28376,"size_decoded":21708,"mime_type":"image/png","magic":"PNG image data, 1920 x 953, 8-bit/color RGBA, non-interlaced","md5":"0bfe0ddd3f5ae8121b84a7b22fbdd98f","sha1":"f4d26f300f57fce2d9fea8482d0cc23acc1e19c4","sha256":"e2d01953853d7da6f461bfd9d8c94b9672e84862fd1d0562e87065ad9421c819","sha512":"19df4c6cd5be679a6ccc8dadf2e8f60edb4c2d46c926c660fb4cbee28945d4251c65a6da98d6f683be58fa0b1e159edb807c83a48a386999159681ded0d5f00e","ssdeep":"384:o4Uy9uxDOFlEsd0/H4QfY8DndKbIWieK3Fa/eYshJmSSQYBcOL/tKnVfFEkk:oaiOFlZWH4QfYcn6iJ3k/E/SZN8Vf2","tlshash":"fcd22ab9a8b19df5c94c927fadcf2a707bb92fa522411302136ed3365de33b0c855885","first_seen":"2026-07-27T02:45:25.240953Z","last_seen":"2026-07-27T02:59:54.631607Z","times_seen":4,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAB4AAAAO5CAYAAAD4mDiwAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDg3MTZCQkQ5MTcwMTFFODlFM0VCNEE1OEVDN0E1MDgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDg3MTZCQkU5MTcwMTFFODlFM0VCNEE1OEVDN0E1MDgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowODcxNkJCQjkxNzAxMUU4OUUzRUI0QTU4RUM3QTUwOCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowODcxNkJCQzkxNzAxMUU4OUUzRUI0QTU4RUM3QTUwOCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PnAGyxcAAGtMSURBVHja7N0HuF1V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AAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgAAAAAAAEhCAQwAAAAAAACQhAIYAAAAAAAAIAkFMAAAAAAAAEASCmAAAAAAAACAJBTAAAAAAAAAAEkogAEAAAAAAACSUAADAAAAAAAAJKEABgCA/8+eHcgAAAAADPK3vsdXGgEAAADAhAAGAAAAAAAAmBDAAAAAAAAAABMCGAAAAAAAAGBCAAMAAAAAAABMCGAAAAAAAACACQEMAAAAAAAAMCGAAQAAAAAAACYEMAAAAAAAAMCEAAYAAAAAAACYEMAAAAAAAAAAEwIYAAAAAAAAYEIAAwAAAAAAAEwIYAAAAAAAAIAJAQwAAAAAAAAwIYABAAAAAAAAJgQwAAAAAAAAwIQABgAAAAAAAJgQwAAAAAAAAAATAhgAAAAAAABgQgADAAAAAAAATAhgAAAAAAAAgAkBDAAAAAAAADAhgAEAAAAAAAAmBDAAAAAAAADAhAAGAAAAAAAAmBDAAAAAAAAAABMCGAAAAAAAAGBCAAMAAAAAAABMCGAAAAAAAACACQEMAAAAAAAAMCGAAQAAAAAAACYEMAAAAAAAAMCEAAYAAAAAAACYEMAAAAAAAAAAEwIYAAAAAAAAYEIAAwAAAAAAAEwIYAAAAAAAAIAJAQwAAAAAAAAwIYABAAAAAAAAJgQwAAAAAAAAwIQABgAAAAAAAJgQwAAAAAAAAAATAhgAAAAAAABgQgADAAAAAAAATAhgAAAAAAAAgAkBDAAAAAAAADAhgAEAAAAAAAAmBDAAAAAAAADAhAAGAAAAAAAAmBDAAAAAAAAAABMCGAAAAAAAAGBCAAMAAAAAAABMCGAAAAAAAACACQEMAAAAAAAAMCGAAQAAAAAAACYEMAAAAAAAAMCEAAYAAAAAAACYEMAAAAAAAAAAEwIYAAAAAAAAYEIAAwAAAAAAAEwIYAAAAAAAAIAJAQwAAAAAAAAwIYABAAAAAAAAJgQwAAAAAAAAwIQABgAAAAAAAJgQwAAAAAAAAAATAhgAAAAAAABgQgADAAAAAAAATAhgAAAAAAAAgAkBDAAAAAAAADAhgAEAAAAAAAAmBDAAAAAAAADAhAAGAAAAAAAAmBDAAAAAAAAAABMCGAAAAAAAAGBCAAMAAAAAAABMCGAAAAAAAACACQEMAAAAAAAAMCGAAQAAAAAAACYEMAAAAAAAAMCEAAYAAAAAAACYEMAAAAAAAAAAEwIYAAAAAAAAYEIAAwAAAAAAAEwIYAAAAAAAAIAJAQwAAAAAAAAwIYABAAAAAAAAJgQwAAAAAAAAwIQABgAAAAAAAJgQwAAAAAAAAAATAhgAAAAAAABgQgADAAAAAAAATAhgAAAAAAAAgAkBDAAAAAAAADAhgAEAAAAAAAAmBDAAAAAAAADAhAAGAAAAAAAAmBDAAAAAAAAAABMCGAAAAAAAAGBCAAMAAAAAAABMCGAAAAAAAACACQEMAAAAAAAAMCGAAQAAAAAAACYEMAAAAAAAAMCEAAYAAAAAAACYEMAAAAAAAAAAEwIYAAAAAAAAYEIAAwAAAAAAAEwIYAAAAAAAAIAJAQwAAAAAAAAwIYABAAAAAAAAJgQwAAAAAAAAwIQABgAAAAAAAJgQwAAAAAAAAAATAhgAAAAAAABgQgADAAAAAAAATAhgAAAAAAAAgAkBDAAAAAAAADAhgAEAAAAAAAAmBDAAAAAAAADAhAAGAAAAAAAAmBDAAAAAAAAAABMCGAAAAAAAAGBCAAMAAAAAAABMCGAAAAAAAACACQEMAAAAAAAAMCGAAQAAAAAAACYEMAAAAAAAAMCEAAYAAAAAAACYEMAAAAAAAAAAEwIYAAAAAAAAYEIAAwAAAAAAAEwIYAAAAAAAAIAJAQwAAAAAAAAwIYABAAAAAAAAJgQwAAAAAAAAwIQABgAAAAAAAJgQwAAAAAAAAAATAhgAAAAAAABgQgADAAAAAAAATAhgAAAAAAAAgAkBDAAAAAAAADAhgAEAAAAAAAAmBDAAAAAAAADAhAAGAAAAAAAAmBDAAAAAAAAAABMCGAAAAAAAAGBCAAMAAAAAAABMCGAAAAAAAACACQEMAAAAAAAAMCGAAQAAAAAAACYEMAAAAAAAAMCEAAYAAAAAAACYEMAAAAAAAAAAEwIYAAAAAAAAYEIAAwAAAAAAAEwIYAAAAAAAAIAJAQwAAAAAAAAwIYABAAAAAAAAJgQwAAAAAAAAwIQABgAAAAAAAJgQwAAAAAAAAAATAhgAAAAAAABgQgADAAAAAAAATCSAAAMAJTDzaPzlqCoAAAAASUVORK5CYII="}},"time_used":106,"timings":{"blocked":77,"dns":0,"connect":0,"send":0,"wait":29,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/img/payment_8.png","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.157Z","timestamp":1785120633157,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /img/payment_8.png HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: image/png\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-8de\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":2270,"size_decoded":2274,"mime_type":"image/png","magic":"PNG image data, 106 x 27, 8-bit/color RGBA, non-interlaced","md5":"60f824418faedff9c9622a5feb25b30c","sha1":"1bee88b27eec1ca6d3c0c660f08d9f79268350ad","sha256":"8687fe1d8f909464d9f8e06d84f3e3f13ee6e1e3542a04f436226694218decb1","sha512":"f94c9b6fdd1e012b3fee4f2e0b164016366baf2241a528bce6799e58b66e79fcc6b4772958808f4c042c80e9c09989ff5885eefa1d2b0e2bd6d152cff1e0a5a4","ssdeep":"","tlshash":"1141c6dfe9196d0ba749441114e39813992585d04be0f8cc7ecfc06a7d225f1603dcda","first_seen":"2026-07-27T02:45:25.243825Z","last_seen":"2026-07-27T02:59:54.633614Z","times_seen":4,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAGoAAAAbCAYAAACUXxrzAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDREFGQTg1OTlCMDAxMUU4QkMyOENCN0U4MUFEM0Y0RSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDREFGQTg1QTlCMDAxMUU4QkMyOENCN0U4MUFEM0Y0RSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkNEQUZBODU3OUIwMDExRThCQzI4Q0I3RTgxQUQzRjRFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkNEQUZBODU4OUIwMDExRThCQzI4Q0I3RTgxQUQzRjRFIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Z1MITAAABVNJREFUeNrsWn1olVUYf+92dZvNlmaRmh+TBElBCbJcH5IfhBWlVuowDR0aJugSTYtGZVliQau0citCQfyIldQM+pBaopWCM51KhmxLsQ+d1swZ887b78nfyw6H59x7Z12vf5wHfrzs3Oc97znP5+8cFuk/eGjgkBuBO4F3Ai9pk/q6PSnpZTnGI8ASoBwY6s2ZeXE5ajRQDOQAzybQ85JBR+UCzwBR/v0AcL831eXnqBJgpKXzAtA9g+uUzO7kHdUufYCnFb0hwNwMrnM2cJt3VLtIP+rl0J0HDM7QOnsDV3lHXZC7gEcS6PYAysgIL7WcA9q8o4IgD3iOvSCRPASMT9NapAf287QhsaNKeLhNJtksj1emYS1FwAzvErejCnm4TVXkADw/DWs5C7R6l+gSpZN6d/C9J4DNwL4USMAUPn8G1gO/WTrXsqRKAFwPlALfA98aOnGgBRgO3Md+9WGS74ve7Xx3K/ClopMPDAD2AmOBAs573tCRY8EkYBhwBtgC7FLm6skzaL01LvP/BfxujA0CTglxKxwybDz7fnV93Z6d8iPG7iXL/RPYgPHGrCQEwiXdSCxyE+jcFLTfE35F3crgwh2iRhZidMA5y1Bhtsk6JwM/Ar8AyxyUXcrzCmAiUAvsZ2l/StG9jr8t5TNifVtK/NvAzcAO4AiPLzOVuUbRobbIuu9QgkhsMw04TOcuhoNGAfM5zz7uuxxjAyWjulxkNj4MvAV8rfxWwA29CtRw7BPgHt56lHARASOtkhuVjFmlzNeV2faYUR7rgDnAbmMukUf5/RJmk8gm4D3esHxs6J4GxgCfA9OV0ivZ3cgDfyjy/rsMglor6zWJK0w5wiozFdnSwiz6Bo8q4KDsAeOtHD8h+5SMWqNEcDI5wEjZ7fhdiMlxRmE+DZ3P8hN3EJcuCTL0PI1jGnInn72s6y85ZrxPBtuVEMOsY6RmW2WtCXhNcdI1zP41ZMXhXH8An4mRFYfEHWuPKzctG1jO/xU4Jsys6tBJFAn0KySjFgJrGTVFSRwkNbOcmXIDS2CzoieH0xHMlKi16L5Bxy9522ggmwidsebPYTlbzHVlG9+VNZ3ke22GvvSnXx2BI0GwnPoRYy09GYR2lsQdPEDbT5MyflTpcbL2szLJRlLuMSwtixy3E1XsS1Knn2f9XuAw7N/Ad3R+Z2uBp4mOstPOimFs48RoAOkrDUZAxLmmZvZAuz9qh/hWOvBlrjdiEZtmxaCaU/qxTyYrh6F9Yto+s8iutgGvkJXdAlQYL0hTm0BmNoiMZzIbsMvg28nmshkhIU6yF8XTxGIlw35g8240vtvAMjZAecd10yLs9BjZXoM1V5FylvyJV2xmtbgauJVBovWuwBF8alq+SFYzl2xkOe/1NpEyV7CRf2TcStzNzHLJMfYEieyVwCGgPy9Xdzl6YqcEPSo30G/P86yeE5BNvcHs38wxod4jlQqQlaQvvg68SadsZTl8kHupsfRr6dyl7JEF1D3h2E+OYz9RZY15UXpbHPMF01SMW8w6X8nnPCOClpElJZMqLrzYiJ61PIdocsgReQG/d9QaizF4jlvjcj55nIwwvPE/QhZoG62JLC7m+K5k0CzOEx7yhZW9xOy1HVvGM+Yizik2+FSpPDXs97ZUKwkgJXZLxPifiak0ZJi6LTR0ofGSUMhxJlvx4rxIiKWieDH/M7GOjjJZT6EVqaXeSSlJ7P+e0KbJS3iQ1KTMOuB5ucSXsjbTKVXq7wfAam+uy8dRAdlNufG3XKY+mY509vLfHBXwkBfeXi/g2cFLhtmJ6+C4kAyvypsp8/KPAAMAjphVv5vcUBsAAAAASUVORK5CYII="}},"time_used":53,"timings":{"blocked":25,"dns":0,"connect":0,"send":0,"wait":28,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/80782.975fb41d42ae2d51c08b.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.841Z","timestamp":1785120633841,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/80782.975fb41d42ae2d51c08b.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=0\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 02:50:33 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b75-bb\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:25 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:17:08\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 61529930b16e1d810e8cf860214a77ca\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":187,"size_decoded":916,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"d41e2d9340f0acb54930ab3ac629035b","sha1":"543a7964ec708fd72f33fd1e5ade7f185832cd98","sha256":"fc71e7aea9892d509794361261cfa1aa19e87f31e89548399eeb05a041de477d","sha512":"a3dd70c85f122c9cc97275462880cfb30f0f8959c1346593c92b9cfa1b73fee7fb83ef73dbfd36f3f317d22008729044e9a856748f65e8444f56aa0d241bb1a3","ssdeep":"","tlshash":"37c0120790472b6054a3cafa0fa034516524eabe881147e855919bd1d97ee1c651342a","first_seen":"2026-03-24T10:38:42.744841Z","last_seen":"2026-07-27T05:27:08.950025Z","times_seen":1913,"resource_available":false,"data":"Lm9wdGlvbnMtYkNLZTduMDd7ZGlzcGxheTppbmxpbmUtYmxvY2s7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7d2hpdGUtc3BhY2U6bm93cmFwfS5vcHRpb24tYkNLZTduMDd7bWFyZ2luLWlubGluZS1lbmQ6NHB4fS5vcHRpb24tYkNLZTduMDc6bGFzdC1jaGlsZHttYXJnaW4taW5saW5lLWVuZDowfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/44031.2691fc2c3468293bfd16.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.993Z","timestamp":1785120633993,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/44031.2691fc2c3468293bfd16.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1ff-90\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:17:35 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:26\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 4e14ceb41240a73b808c0d33ab0421d7\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":144,"size_decoded":886,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"669466b98876123099594e1a8ff0556e","sha1":"f7b7d85273ef4a6de745e7d1977d6eaeb4e25f41","sha256":"634134c6e0cfe9953231051ead0975df8ee84bfbd6df8222218fdea0f1b04497","sha512":"ecd87db6f1f0eb9c5d7b76d4b2a7f4dbff140856b0addb002e166951b7c534f59c42c8acf7638bb7b769ecbb39022454b989196dfe7b376e759e63163119856f","ssdeep":"","tlshash":"48c02b8871c0302aba0f312ac33cc55830301940ec001f6a992de4f288c0fda13e2f39","first_seen":"2026-07-23T14:00:31.42266Z","last_seen":"2026-07-27T05:29:38.910957Z","times_seen":136,"resource_available":false,"data":"LnNlcGFyYXRvci1LSHR5TVRZR3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtZGl2aWRlci1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLW1lbnUtc2VwYXJhdG9yKSk7aGVpZ2h0OjFweDttYXJnaW46NnB4IDB9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/56252.2b82f575ba1ceb54fa29.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.842Z","timestamp":1785120634842,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/56252.2b82f575ba1ceb54fa29.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"www.tradingview-widget.com/static/bundles/embed/36938.58456da0cdb4bb9bb485.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.855Z","timestamp":1785120634855,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/36938.58456da0cdb4bb9bb485.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"www.tradingview-widget.com/static/bundles/embed/30288.59207aa2607ea1597287.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.905Z","timestamp":1785120633905,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/30288.59207aa2607ea1597287.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-c680\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 6e1d4f3d89e04b4a04901f5b2d857d0e\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":50816,"size_decoded":20318,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3072)","md5":"ea1d9d8d3342c88f33ec3b530e0573ef","sha1":"d655950fc76c40243ee9494c5fcc45e069dbaad3","sha256":"5c4b42f42930e52d140aec5e82b967b86ea0bc4581cfea3ecd33ca21c156520f","sha512":"4a85bff8bc70939b4386535712fa0ce2eae8d2f970a7e4c0f966b40eef502520b53f0bcc55b8062e0d4154ec40c589d4be511f57f11176afdb68166e3b090436","ssdeep":"1536:M/5WmDah7ltfnbgA/bllhJ9AwCh85Q9BO9X/tH78kJM:MZilpvbAR9By/5M","tlshash":"6e330ac572d6f0ab03d605e584bb5042f33d49a9b80d84a1f658e9d13c66c9e63b3fac","first_seen":"2026-07-23T22:46:45.786098Z","last_seen":"2026-07-27T05:29:38.643518Z","times_seen":109,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szMDI4OF0sezg2MDAyNShlKXtlLmV4cG9ydHM9e3BhaXI6InBhaXIteHdHc1NYUjAiLHh4Y2VwdGlvbmFsbHlzbWFsbGRvbm90dXNlYnJ2MTAyMzoieHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwIix4eHh4c21hbGw6Inh4eHhzbWFsbC14d0dzU1hSMCIseHh4c21hbGw6Inh4eHNtYWxsLXh3R3NTWFIwIix4eHNtYWxsOiJ4eHNtYWxsLXh3R3NTWFIwIix4c21hbGw6InhzbWFsbC14d0dzU1hSMCIsc21hbGw6InNtYWxsLXh3R3NTWFIwIixtZWRpdW06Im1lZGl1bS14d0dzU1hSMCIsbGFyZ2U6ImxhcmdlLXh3R3NTWFIwIix4bGFyZ2U6InhsYXJnZS14d0dzU1hSMCIseHhsYXJnZToieHhsYXJnZS14d0dzU1hSMCIseHh4bGFyZ2U6Inh4eGxhcmdlLXh3R3NTWFIwIixsb2dvOiJsb2dvLXh3R3NTWFIwIixza2VsZXRvbjoic2tlbGV0b24teHdHc1NYUjAiLGVtcHR5OiJlbXB0eS14d0dzU1hSMCJ9fSwxNDAwMTcoZSl7ZS5leHBvcnRzPXtsb2dvOiJsb2dvLVZDTkt1YldxIixoaWRkZW46ImhpZGRlbi1WQ05LdWJXcSIseHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzOiJ4eGNlcHRpb25hbGx5c21hbGxkb25vdHVzZWJydjEwMjMtVkNOS3ViV3EiLHh4eHNtYWxsOiJ4eHhzbWFsbC1WQ05LdWJXcSIseHhzbWFsbDoieHhzbWFsbC1WQ05LdWJXcSIseHNtYWxsOiJ4c21hbGwtVkNOS3ViV3EiLHNtYWxsOiJzbWFsbC1WQ05LdWJXcSIsbWVkaXVtOiJtZWRpdW0tVkNOS3ViV3EiLGxhcmdlOiJsYXJnZS1WQ05LdWJXcSIseGxhcmdlOiJ4bGFyZ2UtVkNOS3ViV3EiLHh4bGFyZ2U6Inh4bGFyZ2UtVkNOS3ViV3EiLHh4eGxhcmdlOiJ4eHhsYXJnZS1WQ05LdWJXcSIsc2tlbGV0b246InNrZWxldG9uLVZDTkt1YldxIixsZXR0ZXI6ImxldHRlci1WQ05LdWJXcSJ9fSw5NzUyODUoZSl7ZS5leHBvcnRzPXt3cmFwcGVyOiJ3cmFwcGVyLWhjdDJ5SnZLIixhbmltYXRlZDoiYW5pbWF0ZWQtaGN0MnlKdksiLHB1bHNhdGlvbjoicHVsc2F0aW9uLWhjdDJ5SnZLIn19LDM5OTA5MihlKXtlLmV4cG9ydHM9eyJjc3MtdmFsdWUtY29weXJpZ2h0LXRyYW5zaXRpb24tcGFyYW1zIjoiLjZzIDBzIGN1YmljLWJlemllciguNCwgLjAxLCAuMjIsIDEpIiwiY3NzLXZhbHVlLWNvcHlyaWdodC10cmFuc2l0aW9uLXBhcmFtcy1oYWxmLXRpbWUiOiIuM3MgMHMgY3ViaWMtYmV6aWVyKC40LCAuMDEsIC4yMiwgMSkiLGxhYmVsOiJsYWJlbC1kemJkN2x5ViIsbG9nb1dyYXA6ImxvZ29XcmFwLWR6YmQ3bHlWIixleHBhbmRlZFdpdGhUcmFuc2l0aW9uOiJleHBhbmRlZFdpdGhUcmFuc2l0aW9uLWR6YmQ3bHlWIixleHBhbmRlZEJ5Q2xpY2s6ImV4cGFuZGVkQnlDbGljay1kemJkN2x5ViIsc3RhcnQ6InN0YXJ0LWR6YmQ3bHlWIixlbmQ6ImVuZC1kemJkN2x5ViIsc25hcDoic25hcC1kemJkN2x5ViIsdG9wOiJ0b3AtZHpiZDdseVYiLGJvdHRvbToiYm90dG9tLWR6YmQ3bHlWIixsYXJnZToibGFyZ2UtZHpiZDdseVYiLGV4cGFuZGVkOiJleHBhbmRlZC1kemJkN2x5ViIsbGFiZWxfX2xpbms6ImxhYmVsX19saW5rLWR6YmQ3bHlWIn19LDU2OTM5OChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtpc0ZlYXR1cmVFbmFibGVkOigpPT5wLG9uRmVhdHVyZXNTdGF0ZUNoYW5nZWQ6KCk9PmN9KTt2YXIgcj1uKDk0ODM4MCksaT1uKDM3NzIyNiksbz1uKDg1NjE5Nikscz1uKDkzMjM2NSk7Y29uc3QgYT1uZXcgci5EZWxlZ2F0ZSxjPSgpPT5hLGw9ImZvcmNlZmVhdHVyZXRvZ2dsZS4iO2NvbnN0IHU9bmV3IGNsYXNze2VuYWJsZUZlYXR1cmUoZSl7cy5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKGwrZSwidHJ1ZSIpLGEuZmlyZShlKX1kaXNhYmxlRmVhdHVyZShlKXtzLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0obCtlLCJmYWxzZSIpLGEuZmlyZShlKX1yZXNldEZlYXR1cmUoZSl7cy5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGwrZSksYS5maXJlKGUpfW9uRmVhdHVyZXNTdGF0ZUNoYW5nZWQoKXtyZXR1cm4gYX19O2Z1bmN0aW9uIGQoZSx0KXtyZXR1cm4oIWVbdF18fC0xIT09ZVt0XSkmJighISgidHJ1ZSI9PT1zLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0obCt0KXx8d2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJiJ0cnVlIj09PXdpbmRvdy51c2VyPy5zZXR0aW5ncz8uW2wrdF0pfHwhKCJmYWxzZSI9PT1zLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0obCt0KXx8d2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJiJmYWxzZSI9PT13aW5kb3cudXNlcj8uc2V0dGluZ3M/LltsK3RdKSYmKCEhZVt0XSYmKDE9PT1lW3RdfHwoMCxvLnNob3VsZEFmZmVjdFVzZXIpKHQsZVt0XSkpKSl9d2luZG93LlRyYWRpbmdWaWV3PXdpbmRvdy5UcmFkaW5nVmlld3x8e30sd2luZG93LlRyYWRpbmdWaWV3LkZlYXR1cmVUb2dnbGU9dTtjb25zdCBwPShnPXdpbmRvdy5mZWF0dXJlVG9nZ2xlU3RhdGV8fHt9LCgwLGkub25XaWRnZXQpKCl8fFByb21pc2UuYWxsKFtuLmUoODU0MzQpLG4uZSg3Mjg1KSxuLmUoMTM5OTMpXSkudGhlbihuLmJpbmQobiw1MDcyODUpKS50aGVuKChlPT57ZS5wdXNoU3RyZWFtTXVsdGlwbGV4ZXIub24oImZlYXR1cmV0b2dnbGUiLChlPT57Y29uc3QgdD1kKGcsZS5uYW1lKTtnW2UubmFtZV09ZS5zdGF0ZSx0IT09ZChnLGUubmFtZSkmJmEuZmlyZShlLm5hbWUpfSkpfSkpLGQuYmluZChudWxsLGcpKTt2YXIgZzt3aW5kb3cuVHJhZGluZ1ZpZXcuaXNGZWF0dXJlRW5hYmxlZD1wfSw3OTI2MTIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Z2V0RnJlc2hJbml0RGF0YTooKT0+bCxnZXRJbml0RGF0YTooKT0+Yyx1cGRhdGVJbml0RGF0YTooKT0+YX0pO3ZhciByPW4oMTM4NjM4KTtjb25zdCBpPSgwLG4oMjIxMDYxKS5nZXRMb2dnZXIpKCJDb21tb24uSW5pdERhdGEiKSxvPXdpbmRvdy5pbml0RGF0YXx8e307ZnVuY3Rpb24gcygpeyFmdW5jdGlvbigpe2NvbnN0IGU9d2luZG93O2UuaW5pdERhdGEmJmUuaW5pdERhdGEhPT1vJiYoT2JqZWN0LmFzc2lnbihvLGUuaW5pdERhdGEpLGUuaW5pdERhdGE9bykKfSgpO2NvbnN0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnc2NyaXB0W3R5cGU9ImFwcGxpY2F0aW9uL3Bycy5pbml0LWRhdGEranNvbiJdJyk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspe2NvbnN0IG49ZVt0XTt0cnl7Y29uc3QgZT1KU09OLnBhcnNlKCgwLHIuZW5zdXJlTm90TnVsbCkobi50ZXh0Q29udGVudCkpO09iamVjdC5hc3NpZ24obyxlKX1jYXRjaChlKXtpLmxvZ1dhcm4oYEZhaWxlZCB0byBwYXJzZSBpbml0RGF0YSBlbGVtZW50LiAke2V9YCl9ZmluYWxseXsoMCxyLmVuc3VyZU5vdE51bGwpKG4ucGFyZW50Tm9kZSkucmVtb3ZlQ2hpbGQobil9fWNvbnN0IHQ9by5jb250ZW50O3QmJm8uc3R1ZHlfbWV0YV9pbmZvX21hcCYmKHQuc3R1ZHlNZXRhSW5mb01hcD17Li4udC5zdHVkeU1ldGFJbmZvTWFwLC4uLm8uc3R1ZHlfbWV0YV9pbmZvX21hcH0pfWZ1bmN0aW9uIGEoKXtzKCl9ZnVuY3Rpb24gYygpe3JldHVybiBvfWZ1bmN0aW9uIGwoKXtyZXR1cm4gcygpLG99fSwxMTczMTMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7aXNPbk1vYmlsZUFwcFBhZ2U6KCk9PmksdXJsV2l0aE1vYmlsZUFwcFBhcmFtczooKT0+b30pO3ZhciByPW4oNTg3NDM2KTtmdW5jdGlvbiBpKGUsdD0hMSl7Y29uc3R7c2VhcmNoUGFyYW1zOm59PW5ldyBVUkwoU3RyaW5nKGxvY2F0aW9uKSk7bGV0IGk9InRydWUiPT09bi5nZXQoIm1vYmlsZWFwcF9uZXciKSxvPSJ0cnVlIj09PW4uZ2V0KCJtb2JpbGVhcHAiKTtpZighdCl7Y29uc3QgZT1yLmdldCgidHZfYXBwIil8fCIiO2l8fD1bImFuZHJvaWQiLCJhbmRyb2lkX25wcyJdLmluY2x1ZGVzKGUpLG98fD0iaW9zIj09PWV9cmV0dXJuISgibmV3IiE9PWUmJiJhbnkiIT09ZXx8IWkpfHwhKCJuZXciPT09ZXx8IW8pfWZ1bmN0aW9uIG8oZSx0PSExKXtpZihpKCJuZXciLHQpKXtjb25zdCB0PW5ldyBVUkwoZSxsb2NhdGlvbi5ocmVmKTt0LnNlYXJjaFBhcmFtcy5zZXQoIm1vYmlsZWFwcF9uZXciLCJ0cnVlIiksZT10LnRvU3RyaW5nKCl9aWYoaSgib2xkIix0KSl7Y29uc3QgdD1uZXcgVVJMKGUsbG9jYXRpb24uaHJlZik7dC5zZWFyY2hQYXJhbXMuc2V0KCJtb2JpbGVhcHAiLCJ0cnVlIiksZT10LnRvU3RyaW5nKCl9cmV0dXJuIGV9fSw5MzA1NjYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLnIodCksbi5kKHQse2RlZmF1bHQ6KCk9PkosZ2V0Qm9vbDooKT0+SSxnZXRGbG9hdDooKT0+TyxnZXRJbnQ6KCk9PkQsZ2V0SlNPTjooKT0+TSxnZXRWYWx1ZTooKT0+TixrZXlzOigpPT5CLGtleXNNYXNrOigpPT5XLGxvYWRlZDooKT0+Ryxsb2FkZWRNb2RlbDooKT0+cSxvblN5bmM6KCk9PmoscmVtb3ZlOigpPT5WLHNldEpTT046KCk9PkEsc2V0U2V0dGluZ3NBZGFwdGVyOigpPT5LLHNldFZhbHVlOigpPT5SLHN5bmM6KCk9Pkh9KTt2YXIgcj1uKDk0ODM4MCksaT1uKDIyMTA2MSksbz1uKDU0MDU3OCkscz1uKDkzMDIzMSksYT1uKDU2OTM5OCksYz1uKDkwOTc5OCksbD1uKDM3NzIyNiksdT1uKDM4NDAxNyksZD1uKDE1MjY5OSkscD1uKDkzMjM2NSk7d2luZG93LlRyYWRpbmdWaWV3PXdpbmRvdy5UcmFkaW5nVmlld3x8e307Y29uc3QgZz1bInMudHJhZGluZ3ZpZXcuY29tIiwiYmV0YWNkbi50cmFkaW5ndmlldy5jb20iXSxmPSgoMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1c2VfbG9jYWxzdG9yYWdlX2Zvcl9zZXR0aW5ncyIpLCJsb2NhbCI9PT13aW5kb3cuZW52aXJvbm1lbnQ/NWUzOjEyZTQpLG09KDAsbC5vbldpZGdldCkoKT8idHJhZGluZ3ZpZXctd2lkZ2V0IjoidHJhZGluZ3ZpZXciLGg9bSsiLiI7bGV0IHksdix3LGI9ITEsXz1udWxsLHg9e30sUz1bXTtjb25zdCBrPVsvXndpZGdldGJhclwud2lkZ2V0XC53YXRjaGxpc3QuKy8sLy4rcXVpY2tzJC8sL153aWRnZXRiYXJcLmxheW91dC1zZXR0aW5ncyQvLC9eQ2hhcnRTaWRlVG9vbGJhcldpZGdldFwudmlzaWJsZSQvLC9eb253aWRnZXRcLndhdGNobGlzdCQvLC9eY2hhcnRcLmZhdm9yaXRlRHJhd2luZ3MkLywvXmNoYXJ0XC5mYXZvcml0ZURyYXdpbmdzUG9zaXRpb24kLywvXmNoYXJ0XC5mYXZvcml0ZUxpYnJhcnlJbmRpY2F0b3JzJC8sL15sb2FkQ2hhcnREaWFsb2cuZmF2b3JpdGVzJC8sL15DaGFydEZhdm9yaXRlRHJhd2luZ1Rvb2xiYXJXaWRnZXRcLnZpc2libGUvLC9edHJhZGluZ1wuY2hhcnRcLnByb3RlcnR5JC8sL150cmFkaW5nX2Zsb2F0aW5nX3Rvb2xiYXJcLnBvc2l0aW9uJC8sL150cmFkaW5nXC5vcmRlcldpZGdldE1vZGVcLi8sL15zeW1ib2xXYXRlcm1hcmskLywvXnBpbmVyZWZlcmVuY2VcLnNpemUkLywvXnBpbmVyZWZlcmVuY2VcLnBvc2l0aW9uJC8sL15oaW50XC4rLywvXkNoYXJ0RHJhd2luZ1Rvb2xiYXJXaWRnZXRcLnZpc2libGUvXTtjb25zdCBUPSgpPT4hKF98fHdpbmRvdy5pc19hdXRoZW50aWNhdGVkKSxQPWU9PmgrZSxDPSgwLGkuZ2V0TG9nZ2VyKSgiTGliLlRWU2V0dGluZ3MiKSxFPWU9PntpZihifHx3KXJldHVybjtpZigoMCxhLmlzRmVhdHVyZUVuYWJsZWQpKCJkaXNhYmxlX3NhdmVfc2V0dGluZ3MiKSlyZXR1cm4gdm9pZCBDPy5sb2dXYXJuKCJTZXR0aW5ncyBmbGFzaGluZyBoYXMgYmVlbiBza2lwcGVkIGJlY2F1c2Ugb2YgZGlzYWJsZV9zYXZlX3NldHRpbmdzIGZlYXR1cmV0b2dnbGUiKTtpZigoMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSlyZXR1cm47aWYoVCgpKXJldHVybjtpZigwPT09Uy5sZW5ndGgpcmV0dXJuO2NvbnN0IHQ9UztTPVtdO2NvbnN0IG49e307Zm9yKGxldCBlPXQubGVuZ3RoO2UtLTspe2NvbnN0IHI9dFtlXTtuW3JdPXhbcl0/P251bGx9Y29uc3Qgcj1uZXcgRm9ybURhdGE7ci5hcHBlbmQoImRlbHRhIixKU09OLnN0cmluZ2lmeShuKSksZSYmbmF2aWdhdG9yLnNlbmRCZWFjb24/bmF2aWdhdG9yLnNlbmRCZWFjb24oIi9zYXZlc2V0dGluZ3MvIixyKTooMCx1LmZldGNoKSgiL3NhdmVzZXR0aW5ncy8iLHttZXRob2Q6IlBPU1QiLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixib2R5OnJ9KS50aGVuKChuPT57aWYobi5va3x8KFM9Uy5jb25jYXQodCkpLFs0MjksNTAzXS5pbmNsdWRlcyhuLnN0YXR1cykpewpjb25zdCB0PTFlMyorKG4uaGVhZGVycy5nZXQoInJldHJ5LWFmdGVyIil8fDApfHwzZTU7dz1zZXRUaW1lb3V0KCgoKT0+e3c9dm9pZCAwLEUoZSl9KSx0KX19KSkuY2F0Y2goKCgpPT57Uz1TLmNvbmNhdCh0KX0pKX0sRj0oKT0+e3k9dm9pZCAwLFMubGVuZ3RoJiZFKCl9LEw9KGUsdD17fSk9PntpZihfKW51bGw9PXhbZV0/Xy5yZW1vdmVWYWx1ZShlKTpfLnNldFZhbHVlKGUseFtlXSk7ZWxzZSBpZihUKCkpdHJ5e251bGw9PXhbZV0/cC5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFAoZSkpOnAuVFZMb2NhbFN0b3JhZ2Uuc2V0SXRlbShQKGUpLHhbZV0pfWNhdGNoKGUpe31lbHNlIFMucHVzaChlKSx5fHwoeT1zZXRUaW1lb3V0KEYsZikpO3Quc2tpcENyb3NzV2luZG93RXZlbnR8fGQuVFZYV2luZG93RXZlbnRzLmVtaXQoInNldHRpbmdzIixKU09OLnN0cmluZ2lmeSh7a2V5OmUsdmFsdWU6eFtlXX0pKX07ZnVuY3Rpb24gTihlLHQpe2NvbnN0IG49eFtlXTtyZXR1cm4gbj8/dH1mdW5jdGlvbiBNKGUsdCl7Y29uc3Qgbj1OKGUpO2lmKG51bGw9PW4pcmV0dXJuIHQ7dHJ5e3JldHVybiBKU09OLnBhcnNlKG4pfWNhdGNoKG4pe3JldHVybiBWKGUpLHR9fWZ1bmN0aW9uIFYoZSx0PXt9KXtyZXR1cm4gbnVsbCE9eFtlXSYmKGRlbGV0ZSB4W2VdLEwoZSkpLHQuZm9yY2VGbHVzaCYmRSgpLFh9ZnVuY3Rpb24gSShlLHQpe2NvbnN0IG49TihlKTtyZXR1cm4gbnVsbD09bj90OiEoIW58fCJmYWxzZSI9PT1ufHwwPT0rbil9ZnVuY3Rpb24gTyhlLHQpe2NvbnN0IG49TihlKTtpZihudWxsPT1uKXJldHVybiB0O2NvbnN0IHI9cGFyc2VGbG9hdChuKTtpZighaXNGaW5pdGUocikpdGhyb3cgbmV3IFR5cGVFcnJvcignIicrbisnIiBpcyBub3QgZmxvYXQgKGtleTogIicrZSsnIiknKTtyZXR1cm4gcn1mdW5jdGlvbiBEKGUsdCl7Y29uc3Qgbj1OKGUpO2lmKG51bGw9PW4pcmV0dXJuIHQ7Y29uc3Qgcj1wYXJzZUludChuLDEwKTtpZighaXNGaW5pdGUocikpdGhyb3cgbmV3IFR5cGVFcnJvcignIicrbisnIiBpcyBub3QgaW50IChrZXk6ICInK2UrJyIpJyk7cmV0dXJuIHJ9ZnVuY3Rpb24gUihlLHQsbj17fSl7Y29uc3Qgcj0iIit0O3JldHVybiB4W2VdIT09ciYmKHhbZV09cixMKGUsbikpLG4uZm9yY2VGbHVzaCYmIXYmJih2PXNldFRpbWVvdXQoKCgpPT57dj12b2lkIDAsRSgpfSksMTApKSxYfWZ1bmN0aW9uIEEoZSx0LG4pe3JldHVybiBSKGUsSlNPTi5zdHJpbmdpZnkodCksbiksWH1mdW5jdGlvbiBCKCl7cmV0dXJuIE9iamVjdC5rZXlzKHgpfWZ1bmN0aW9uIFcoZSl7Y29uc3QgdD1CKCksbj1bXSxyPW5ldyBSZWdFeHAoIl4iKygwLG8ucmVnRXhwRXNjYXBlKShlKS5yZXBsYWNlKC9cXFwqXFxcKi9naSwiLisiKS5yZXBsYWNlKC9cXFwqL2dpLCJbXi5dKyIpKyIkIiwiZ2kiKTtmb3IobGV0IGU9dC5sZW5ndGgtMTtlPj0wO2UtLSlyLnRlc3QodFtlXSkmJm4ucHVzaCh0W2VdKSxyLmxhc3RJbmRleD0wO3JldHVybiBufWQuVFZYV2luZG93RXZlbnRzLm9uKCJzZXR0aW5ncyIsKGU9Pntjb25zdCB0PUpTT04ucGFyc2UoZSk7bnVsbD09dC52YWx1ZT9kZWxldGUgeFt0LmtleV06eFt0LmtleV09dC52YWx1ZX0pKTtjb25zdCBVPWU9Pntmb3IobGV0IHQ9MDt0PGsubGVuZ3RoOysrdClpZihrW3RdLmV4ZWMoZSkpcmV0dXJuITA7cmV0dXJuITF9LCQ9ZT0+ZS5zdWJzdHJpbmcoMCxoLmxlbmd0aCk9PT1oLHo9ZT0+e3g9e307Y29uc3QgdD0wPT09T2JqZWN0LmtleXMoZSkubGVuZ3RoO3R8fChlPT57T2JqZWN0LmtleXMoZSkuZm9yRWFjaCgodD0+e3hbdF09ZVt0XSsiIn0pKX0pKGUpLChlPT57Zm9yKGxldCB0PXAuVFZMb2NhbFN0b3JhZ2UubGVuZ3RoO3QtLTspe2NvbnN0IG49cC5UVkxvY2FsU3RvcmFnZS5rZXkodCk7biYmJChuKSYmKGUmJlIobi5zdWJzdHJpbmcoaC5sZW5ndGgpLHAuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShuKSkscC5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKG4pKX19KSh0KX0saj1uZXcgci5EZWxlZ2F0ZTtmdW5jdGlvbiBIKGUpe251bGwhPT1lPyhfP3ooXy5pbml0aWFsU2V0dGluZ3N8fHt9KTpUKCk/KCgoKT0+e2lmKCEoMCxsLm9uV2lkZ2V0KSgpfHwhZy5pbmNsdWRlcyh3aW5kb3cubG9jYXRpb24uaG9zdCkpcmV0dXJuO2NvbnN0IGU9InRyYWRpbmd2aWV3LiI7Zm9yKGxldCB0PXAuVFZMb2NhbFN0b3JhZ2UubGVuZ3RoO3QtLTspe2NvbnN0IG49cC5UVkxvY2FsU3RvcmFnZS5rZXkodCk7aWYoMD09PW4uaW5kZXhPZihlKSl7Y29uc3QgdD1uLnJlcGxhY2UoZSxtKyIuIik7cC5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKHQscC5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKG4pKSxwLlRWTG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0obil9fX0pKCksKCgpPT57eD17fTtjb25zdCBlPSEoMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzYXZlX2NoYXJ0X3Byb3BlcnRpZXNfdG9fbG9jYWxfc3RvcmFnZSIpO2ZvcihsZXQgdD1wLlRWTG9jYWxTdG9yYWdlLmxlbmd0aDt0LS07KXtjb25zdCBuPXAuVFZMb2NhbFN0b3JhZ2Uua2V5KHQpO2lmKCFufHwhJChuKSljb250aW51ZTtjb25zdCByPW4uc3Vic3RyaW5nKGgubGVuZ3RoKTtlJiYhVShyKXx8KHhbcl09cC5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKG4pKX19KSgpKTp6KGV8fHt9KSxqLmZpcmUoKSk6Yj0hMH1mdW5jdGlvbiBLKGUpe189ZX1jb25zdCBHPSExLHE9ITEsWD17bG9hZGVkOkcsbG9hZGVkTW9kZWw6cSxnZXRWYWx1ZTpOLGdldEpTT046TSxnZXRCb29sOkksZ2V0RmxvYXQ6TyxnZXRJbnQ6RCxzZXRWYWx1ZTpSLHNldEpTT046QSxyZW1vdmU6VixrZXlzOkIsa2V5c01hc2s6VyxzeW5jOkgsb25TeW5jOmosc2V0U2V0dGluZ3NBZGFwdGVyOkt9LEo9WDt3aW5kb3cuVFZTZXR0aW5ncz1YLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLCgoKT0+eyJoaWRkZW4iIT09ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlJiYhMCE9PWRvY3VtZW50LmhpZGRlbnx8RSgpfSkpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlaGlkZSIsKCgpPT57RSghMCl9KSksCndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmV1bmxvYWQiLCgoKT0+e0UoITApfSkpLGMuZmx1c2hEZWxlZ2F0ZS5zdWJzY3JpYmUobnVsbCwoKCk9PntFKCl9KSksc2V0VGltZW91dCgoYXN5bmMoKT0+e2NvbnN0e2NsZWFyT2xkU2V0dGluZ3M6ZX09YXdhaXQgbi5lKDM1OTgwKS50aGVuKG4uYmluZChuLDc1NDE4NSkpO2UoKX0pLDNlNCl9LDE1MjE4MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnZXRDaXJjbGVMb2dvUGFpckh0bWw6KCk9Pml9KTt2YXIgcj1uKDYyNzg0OCk7ZnVuY3Rpb24gaShlKXtjb25zdHtwcmltYXJ5TG9nb1VybDp0LHNlY29uZGFyeUxvZ29Vcmw6bixzaXplOmksY2xhc3NOYW1lOnN9PWU7cmV0dXJuYDxzcGFuIGNsYXNzPSIkeygwLHIuZ2V0QmxvY2tTdHlsZUNsYXNzZXMpKGkscyl9Ij5cblx0XHRcdCR7byh7bG9nb1VybDpuLHNpemU6aX0pfVxuXHRcdFx0JHtvKHtsb2dvVXJsOnQsc2l6ZTppfSl9XG5cdFx0PC9zcGFuPmB9ZnVuY3Rpb24gbyhlKXtjb25zdHtsb2dvVXJsOnQsc2l6ZTpufT1lLGk9KDAsci5nZXRMb2dvU3R5bGVDbGFzc2VzKShuLDIsQm9vbGVhbih0KSk7cmV0dXJuIHZvaWQgMD09PXQ/YDxzcGFuIGNsYXNzPSIke2l9Ij48L3NwYW4+YDpgPGltZyBjbGFzcz0iJHtpfSIgY3Jvc3NvcmlnaW4gc3JjPSIke3R9IiBhbHQ9IiIgLz5gfX0sNjI3ODQ4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2dldEJsb2NrU3R5bGVDbGFzc2VzOigpPT5jLGdldExvZ29TdHlsZUNsYXNzZXM6KCk9Pmx9KTt2YXIgcj1uKDkxNDQ4NyksaT1uLm4ociksbz1uKDEzNjQpLHM9big4NjAwMjUpLGE9bi5uKHMpO2Z1bmN0aW9uIGMoZSx0KXtyZXR1cm4gaSgpKGEoKS5wYWlyLGEoKVtlXSx0KX1mdW5jdGlvbiBsKGUsdD0yLG49ITApe3JldHVybiBpKCkoYSgpLmxvZ28sYSgpW2VdLGEoKS5za2VsZXRvbixvLnNrZWxldG9uVGhlbWUud3JhcHBlciwhbiYmYSgpLmVtcHR5LDE9PT10JiZpKCkoby5za2VsZXRvblRoZW1lLmFuaW1hdGVkKSl9fSw4ODQ3OTgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Z2V0Q2lyY2xlTG9nb0h0bWw6KCk9Pml9KTt2YXIgcj1uKDc5NDE4Nyk7bigxNDAwMTcpO2Z1bmN0aW9uIGkoZSl7Y29uc3QgdD0oMCxyLmdldFN0eWxlQ2xhc3NlcykoZS5zaXplLDIsZS5jbGFzc05hbWUpO3JldHVybigwLHIuaXNDaXJjbGVMb2dvV2l0aFVybFByb3BzKShlKT9gPGltZyBjbGFzcz0iJHt0fSIgY3Jvc3NvcmlnaW4gc3JjPSIke2UubG9nb1VybH0iIGFsdD0iIj5gOmA8c3BhbiBjbGFzcz0iJHt0fSI+JHtlLnBsYWNlaG9sZGVyTGV0dGVyfHwiIn08L3NwYW4+YH19LDc5NDE4NyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnZXRTdHlsZUNsYXNzZXM6KCk9PmMsaXNDaXJjbGVMb2dvV2l0aFVybFByb3BzOigpPT5sfSk7dmFyIHI9big5MTQ0ODcpLGk9bi5uKHIpLG89bigxMzY0KSxzPW4oMTQwMDE3KSxhPW4ubihzKTtmdW5jdGlvbiBjKGUsdD0yLG4pe3JldHVybiBpKCkoYSgpLmxvZ28sYSgpW2VdLG4sMD09PXR8fDE9PT10P2koKShvLnNrZWxldG9uVGhlbWUud3JhcHBlcixhKCkuc2tlbGV0b24pOmEoKS5sZXR0ZXIsMT09PXQmJm8uc2tlbGV0b25UaGVtZS5hbmltYXRlZCl9ZnVuY3Rpb24gbChlKXtyZXR1cm4ibG9nb1VybCJpbiBlJiZudWxsIT09ZS5sb2dvVXJsJiZ2b2lkIDAhPT1lLmxvZ29VcmwmJjAhPT1lLmxvZ29VcmwubGVuZ3RofX0sMzA5OTIwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0N1c3RvbUJlaGF2aW91ckNvbnRleHQ6KCk9PnJ9KTtjb25zdCByPSgwLG4oNzc5NDc0KS5jcmVhdGVDb250ZXh0KSh7ZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXM6ITB9KTtyLmRpc3BsYXlOYW1lPSJDdXN0b21CZWhhdmlvdXJDb250ZXh0In0sMjczMzEwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0ljb246KCk9Pml9KTt2YXIgcj1uKDc3OTQ3NCk7Y29uc3QgaT1yLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7aWNvbjpuPSIiLHRpdGxlOmksYXJpYUxhYmVsOm8sYXJpYUxhYmVsbGVkYnk6cyxhcmlhSGlkZGVuOmEsLi4uY309ZSxsPSEhKGl8fG98fHMpO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJpbWciLC4uLmMscmVmOnQsImFyaWEtbGFiZWwiOm8sImFyaWEtbGFiZWxsZWRieSI6cywiYXJpYS1oaWRkZW4iOmF8fCFsLHRpdGxlOmksZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDpufX0pfSkpfSwxMzY0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3NrZWxldG9uVGhlbWU6KCk9Pml9KTt2YXIgcj1uKDk3NTI4NSk7Y29uc3QgaT1uLm4ocikoKX0sMzQ0MTAzKGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgdD1be2Q6IkUtTWluaSBTJlAgNTAwIix0OiJFUyJ9LHtkOiJFLU1pbmkgTmFzZGFxIDEwMCIsdDoiTlEifSx7ZDoiR29sZCIsdDoiR0MifSx7ZDoiU2lsdmVyIix0OiJTSSJ9LHtkOiJDcnVkZSBPaWwgV1RJIix0OiJDTCJ9LHtkOiJOYXR1cmFsIEdhcyIsdDoiTkcifSx7ZDoiQXVzdHJhbGlhbiBEb2xsYXIiLHQ6IjZBIn0se2Q6IkF1c3RyYWxpYW4gRG9sbGFyIChGbG9vcikiLHQ6IkFEIn0se2Q6IkV1cm8gRlgiLHQ6IjZFIn0se2Q6IkV1cm8gRlggKEZsb29yKSIsdDoiRUMifSx7ZDoiQ29ybiIsdDoiWkMifSx7ZDoiQ29ybiAoRmxvb3IpIix0OiJDIn0se2Q6IkV1cm9kb2xsYXIiLHQ6IkdFIn0se2Q6IkV1cm9kb2xsYXIgKEZsb29yKSIsdDoiRUQifV0sbj1mdW5jdGlvbigpe3ZhciBlPVt7cGF0dGVybjoiKCIsY3RvcjpvfSx7cGF0dGVybjoiKSIsY3RvcjpzfSx7cGF0dGVybjoiKyIsY3RvcjpjfSx7cGF0dGVybjoiLSIsY3RvcjpsfSx7cGF0dGVybjoiKiIsY3Rvcjp1fSx7cGF0dGVybjoiLyIsY3RvcjpkfSx7cGF0dGVybjoiXiIsY3RvcjpwfSx7cGF0dGVybjovXGQrKD86XC5cZCp8KD8hW2EtekEtWjAtOV8hOi4mXSkpfFwuXGQrLyxjdG9yOmh9LHtwYXR0ZXJuOi9cLi8sY3Rvcjp3fSx7cGF0dGVybjovW2EtekEtWjAtOV9cdTAzNzAtXHUxRkZGX1x1MkU4MC1cdUZGRkZdW2EtekEtWjAtOV9cdTAwMjBcdTAzNzAtXHUxRkZGX1x1MkU4MC1cdUZGRkZfIXw6LiZdKnwnLis/Jy8sY3RvcjptfSx7CnBhdHRlcm46LydbXiddKi8sY3Rvcjp2fSx7cGF0dGVybjovW1wwLVx4MjBcc10rLyxjdG9yOml9XTtmdW5jdGlvbiBuKGUsdCl7dmFyIG49ZnVuY3Rpb24oKXt9O3JldHVybiBuLnByb3RvdHlwZT10LnByb3RvdHlwZSxlLnByb3RvdHlwZT1uZXcgbixlfWZ1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gaShlKXt0aGlzLnZhbHVlPWV9ZnVuY3Rpb24gbygpe31mdW5jdGlvbiBzKCl7fWZ1bmN0aW9uIGEoKXt9ZnVuY3Rpb24gYygpe31mdW5jdGlvbiBsKCl7fWZ1bmN0aW9uIHUoKXt9ZnVuY3Rpb24gZCgpe31mdW5jdGlvbiBwKCl7fXIucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9LG4oaSxyKSxuKG8sciksby5wcm90b3R5cGUudmFsdWU9IigiLG4ocyxyKSxzLnByb3RvdHlwZS52YWx1ZT0iKSIsbihhLHIpLG4oYyxhKSxjLnByb3RvdHlwZS52YWx1ZT0iKyIsYy5wcm90b3R5cGUucHJlY2VkZW5jZT0wLGMucHJvdG90eXBlLmNvbW11dGF0aXZlPSEwLG4obCxhKSxsLnByb3RvdHlwZS52YWx1ZT0iLSIsbC5wcm90b3R5cGUucHJlY2VkZW5jZT0wLGwucHJvdG90eXBlLmNvbW11dGF0aXZlPSExLG4odSxhKSx1LnByb3RvdHlwZS52YWx1ZT0iKiIsdS5wcm90b3R5cGUucHJlY2VkZW5jZT0xLHUucHJvdG90eXBlLmNvbW11dGF0aXZlPSEwLG4oZCxhKSxkLnByb3RvdHlwZS52YWx1ZT0iLyIsZC5wcm90b3R5cGUucHJlY2VkZW5jZT0xLGQucHJvdG90eXBlLmNvbW11dGF0aXZlPSExLG4ocCxhKSxwLnByb3RvdHlwZS52YWx1ZT0iXiIscC5wcm90b3R5cGUucHJlY2VkZW5jZT0yLHAucHJvdG90eXBlLmNvbW11dGF0aXZlPSExO3ZhciBnPS9eJz8oPzooW0EtWjAtOV9dKyk6KT8oLio/KSc/JC9pLGY9L1srXC0vKl0vO2Z1bmN0aW9uIG0oZSl7dGhpcy52YWx1ZT1lfWZ1bmN0aW9uIGgoZSl7dGhpcy52YWx1ZT1lfWZ1bmN0aW9uIHkoZSl7dGhpcy52YWx1ZT1lfWZ1bmN0aW9uIHYoKXttLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiB3KCl7aC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9bihtLHIpLG0ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7aWYodGhpcy5oYXNPd25Qcm9wZXJ0eSgiX3RpY2tlciIpKXt2YXIgZT1mLnRlc3QodGhpcy5fdGlja2VyKT8iJyI6IiI7cmV0dXJuIGUrKHRoaXMuX2V4Y2hhbmdlP3RoaXMuX2V4Y2hhbmdlKyI6IjoiIikrdGhpcy5fdGlja2VyK2V9cmV0dXJuIHRoaXMudmFsdWV9LG0ucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKCl7dmFyIGU9Zy5leGVjKHRoaXMudmFsdWUpO2VbMV0mJih0aGlzLl9leGNoYW5nZT1lWzFdKSx0aGlzLl90aWNrZXI9ZVsyXX0sbS5wcm90b3R5cGUucGFyc2VBc0Z1dHVyZXM9ZnVuY3Rpb24oKXt0aGlzLmhhc093blByb3BlcnR5KCJfdGlja2VyIil8fHRoaXMucGFyc2UoKTtmb3IodmFyIGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHQuc29tZSgoZnVuY3Rpb24odCl7cmV0dXJuIHQudD09PWV9KSl9LG49MjtuPj0xOy0tbil7dmFyIHI9dGhpcy5fdGlja2VyLnNsaWNlKDAsbik7aWYoZShyKSl7dGhpcy5fcm9vdD1yLHRoaXMuX2NvbnRyYWN0PXRoaXMuX3RpY2tlci5zbGljZShuKTticmVha319fSxtLnByb3RvdHlwZS5leGNoYW5nZT1mdW5jdGlvbihlKXtpZih0aGlzLmhhc093blByb3BlcnR5KCJfdGlja2VyIil8fHRoaXMucGFyc2UoKSwhKGFyZ3VtZW50cy5sZW5ndGg+MCkpcmV0dXJuIHRoaXMuX2V4Y2hhbmdlO251bGw9PWU/ZGVsZXRlIHRoaXMuX2V4Y2hhbmdlOnRoaXMuX2V4Y2hhbmdlPWUrIiJ9LG0ucHJvdG90eXBlLnRpY2tlcj1mdW5jdGlvbihlKXtpZih0aGlzLmhhc093blByb3BlcnR5KCJfdGlja2VyIil8fHRoaXMucGFyc2UoKSwhKGFyZ3VtZW50cy5sZW5ndGg+MCkpcmV0dXJuIHRoaXMuX3RpY2tlcjtudWxsPT1lP2RlbGV0ZSB0aGlzLl90aWNrZXI6dGhpcy5fdGlja2VyPWUrIiIsZGVsZXRlIHRoaXMuX3Jvb3QsZGVsZXRlIHRoaXMuX2NvbnRyYWN0fSxtLnByb3RvdHlwZS5yb290PWZ1bmN0aW9uKGUpe2lmKHRoaXMuaGFzT3duUHJvcGVydHkoIl9yb290Iil8fHRoaXMucGFyc2VBc0Z1dHVyZXMoKSwhKGFyZ3VtZW50cy5sZW5ndGg+MCkpcmV0dXJuIHRoaXMuX3Jvb3Q7bnVsbD09ZT9kZWxldGUgdGhpcy5fcm9vdDoodGhpcy5fcm9vdD1lKyIiLHRoaXMuX3Jvb3QmJih0aGlzLl90aWNrZXI9dGhpcy5fcm9vdCsodGhpcy5fY29udHJhY3R8fCIiKSkpfSxtLnByb3RvdHlwZS5jb250cmFjdD1mdW5jdGlvbihlKXtpZih0aGlzLmhhc093blByb3BlcnR5KCJfY29udHJhY3QiKXx8dGhpcy5wYXJzZUFzRnV0dXJlcygpLCEoYXJndW1lbnRzLmxlbmd0aD4wKSlyZXR1cm4gdGhpcy5fcm9vdDtudWxsPT1lP2RlbGV0ZSB0aGlzLl9jb250cmFjdDoodGhpcy5fY29udHJhY3Q9ZSsiIix0aGlzLl9yb290JiYodGhpcy5fdGlja2VyPXRoaXMuX3Jvb3QrdGhpcy5fY29udHJhY3QpKX0sbihoLHIpLGgucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaGFzT3duUHJvcGVydHkoIl9ub3JtYWxpemVkVmFsdWUiKT90aGlzLl9ub3JtYWxpemVkVmFsdWU6dGhpcy52YWx1ZX0saC5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24oKXt0aGlzLl9ub3JtYWxpemVkVmFsdWU9dGhpcy52YWx1ZS5yZXBsYWNlKC9eMCt8XC4wKiQvZywiIikucmVwbGFjZSgvKFwuXGQqPykwKyQvLCIkMSIpLnJlcGxhY2UoL14oXC58JCkvLCIwJDEiKX0seS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZX0sbih2LG0pLHYucHJvdG90eXBlLmlzSW5jb21wbGV0ZT0hMCx2LnByb3RvdHlwZS5pbmNvbXBsZXRlU3VnZ2VzdD1mdW5jdGlvbigpe2lmKCInIiE9PXRoaXMudmFsdWUpcmV0dXJuIFN0cmluZygiJyIpfSxuKHcsaCksdy5wcm90b3R5cGUuaXNJbmNvbXBsZXRlPSEwO3ZhciBiPW5ldyBSZWdFeHAoZS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiIoIisoInN0cmluZyI9PXR5cGVvZiBlLnBhdHRlcm4/ZS5wYXR0ZXJuLnJlcGxhY2UoL1tcXiQoKVtcXXt9Kis/fFxcXS9nLCJcXCQmIik6ZS5wYXR0ZXJuLnNvdXJjZSkrIikifSkpLmNvbmNhdCgiLiIpLmpvaW4oInwiKSwiZyIpCjtmdW5jdGlvbiBfKHQsbil7dmFyIHIsbz1bXTtlOmZvcig7cj1iLmV4ZWModCk7KXtmb3IodmFyIHM9ZS5sZW5ndGg7cy0tOylpZihyW3MrMV0pe2lmKGVbc10uY3Rvcil7dmFyIGE9bmV3IGVbc10uY3RvcihyW3MrMV0pO2EuX29mZnNldD1yLmluZGV4LG8ucHVzaChhKX1jb250aW51ZSBlfXZhciBjPW5ldyB5KHJbMF0pO2MuX29mZnNldD1yLmluZGV4LG8ucHVzaChjKX1pZihuJiZuLnJlY292ZXIpe3ZhciBsO2ZvcihzPW8ubGVuZ3RoO3MtLTspe3ZhciB1PW9bc107aWYodSBpbnN0YW5jZW9mIGh8fHUgaW5zdGFuY2VvZiBtKXtpZih2b2lkIDAhPT1sKXt2YXIgZD1uZXcgbSgiIikscD1vLnNwbGljZShzLGwtcysxLGQpO2QudmFsdWU9cC5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBlLnZhbHVlfSkpLmpvaW4oIiIpfWw9c31lbHNlIHUgaW5zdGFuY2VvZiBpfHwobD12b2lkIDApfX1yZXR1cm4gb31mdW5jdGlvbiB4KGUpe2Zvcih2YXIgdD1bXSxuPTA7bjxlLmxlbmd0aDtuKyspZVtuXWluc3RhbmNlb2YgaXx8dC5wdXNoKGVbbl0pO3JldHVybiB0fWZ1bmN0aW9uIFMoZSl7ZT14KGUpO2Zvcih2YXIgdCxuPVtdLHI9W10saT0wO2k8ZS5sZW5ndGg7aSsrKXt2YXIgYz1lW2ldO2lmKGMgaW5zdGFuY2VvZiBhKXIubGVuZ3RoJiZyW3IubGVuZ3RoLTFdLm1pblByZWNlZGVuY2U+Yy5wcmVjZWRlbmNlJiYocltyLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPWMucHJlY2VkZW5jZSk7ZWxzZSBpZihjIGluc3RhbmNlb2YgbylyLnB1c2godD17bWluUHJlY2VkZW5jZToxLzAsb3BlbkJyYWNlSW5kZXg6aX0pO2Vsc2UgaWYoYyBpbnN0YW5jZW9mIHMpe3ZhciBsPWVbKHQ9ci5wb3AoKSkub3BlbkJyYWNlSW5kZXgtMV0sdT1lW2krMV07dSBpbnN0YW5jZW9mIGEmJiEodS5wcmVjZWRlbmNlPD10Lm1pblByZWNlZGVuY2UpfHwhKCEobCBpbnN0YW5jZW9mIGEpfHxsLnByZWNlZGVuY2U8dC5taW5QcmVjZWRlbmNlfHxsLnByZWNlZGVuY2U9PT10Lm1pblByZWNlZGVuY2UmJmwuY29tbXV0YXRpdmUpfHwobi51bnNoaWZ0KHQub3BlbkJyYWNlSW5kZXgpLG4ucHVzaChpKSxyLmxlbmd0aCYmcltyLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPnQubWluUHJlY2VkZW5jZSYmKHJbci5sZW5ndGgtMV0ubWluUHJlY2VkZW5jZT10Lm1pblByZWNlZGVuY2UpKX19Zm9yKGk9bi5sZW5ndGg7aS0tOyllLnNwbGljZShuW2ldLDEpO3JldHVybiBlfWZ1bmN0aW9uIGsoZSl7aWYoInN0cmluZyIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoImV4cHJlc3Npb24gbXVzdCBiZSBhIHN0cmluZyIpO3JldHVybihlPV8oZSkpLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBtfSkpLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGUuZXhjaGFuZ2UoKX0pKS5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpfWZ1bmN0aW9uIFQoZSl7cmV0dXJuIDEhPT0oZT1rKGUpKS5sZW5ndGg/bnVsbDplWzBdfWZ1bmN0aW9uIFAoZSx0KXtyZXR1cm4oZT1rKGUpKS5zb21lKChmdW5jdGlvbihlKXtyZXR1cm4gdC5pbmNsdWRlcygoZXx8IiIpLnRvVXBwZXJDYXNlKCkpfSkpfWZ1bmN0aW9uIEMoZSl7cmV0dXJuIGUuam9pbigiIil9cmV0dXJue3Rva2VuaXplOl8sdmFsaWRhdGU6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PSJpbml0IixuPSJ2YXIiLHI9dCxjPXt3YXJuaW5nczpbXSxlcnJvcnM6W10saXNFbXB0eTohMH0sbD1bXSx1PTA7dTxlLmxlbmd0aDt1Kyspe2lmKCEoKHA9ZVt1XSlpbnN0YW5jZW9mIGkpKXtpZihkZWxldGUgYy5pc0VtcHR5LHAuaXNJbmNvbXBsZXRlKXt2YXIgZD17c3RhdHVzOiJpbmNvbXBsZXRlIixyZWFzb246ImluY29tcGxldGVfdG9rZW4iLG9mZnNldDpwLl9vZmZzZXQsdG9rZW46cH07aWYocC5pbmNvbXBsZXRlU3VnZ2VzdCYmKGQucmVjb3Zlcj17YXBwZW5kOnAuaW5jb21wbGV0ZVN1Z2dlc3QoKX0pLGMud2FybmluZ3MucHVzaChkKSx1IT09ZS5sZW5ndGgtMSl7ZC5zdGF0dXM9ImVycm9yIjtjb250aW51ZX19aWYocCBpbnN0YW5jZW9mIG18fHAgaW5zdGFuY2VvZiBoKXtpZihyPT09bil7Yy5lcnJvcnMucHVzaCh7c3RhdHVzOiJlcnJvciIscmVhc29uOiJ1bmV4cGVjdGVkX3Rva2VuIixvZmZzZXQ6cC5fb2Zmc2V0LHRva2VuOnB9KTtjb250aW51ZX1yPW59ZWxzZSBpZihwIGluc3RhbmNlb2YgYSl7aWYociE9PW4pe2MuZXJyb3JzLnB1c2goe3N0YXR1czoiZXJyb3IiLHJlYXNvbjoidW5leHBlY3RlZF90b2tlbiIsb2Zmc2V0OnAuX29mZnNldCx0b2tlbjpwfSk7Y29udGludWV9cj0ib3BlcmF0b3IifWVsc2UgaWYocCBpbnN0YW5jZW9mIG8pe2lmKHI9PT1uKXtjLmVycm9ycy5wdXNoKHtzdGF0dXM6ImVycm9yIixyZWFzb246InVuZXhwZWN0ZWRfdG9rZW4iLG9mZnNldDpwLl9vZmZzZXQsdG9rZW46cH0pO2NvbnRpbnVlfWwucHVzaChwKSxyPXR9ZWxzZSBpZihwIGluc3RhbmNlb2Ygcyl7aWYociE9PW4pe2MuZXJyb3JzLnB1c2goe3N0YXR1czoiZXJyb3IiLHJlYXNvbjoidW5leHBlY3RlZF90b2tlbiIsb2Zmc2V0OnAuX29mZnNldCx0b2tlbjpwfSk7Y29udGludWV9bC5wb3AoKXx8Yy5lcnJvcnMucHVzaCh7c3RhdHVzOiJlcnJvciIscmVhc29uOiJ1bmJhbGFuY2VkX2JyYWNlIixvZmZzZXQ6cC5fb2Zmc2V0LHRva2VuOnAscmVjb3Zlcjp7cHJlcGVuZDpuZXcgb319KSxyPW59ZWxzZSBwIGluc3RhbmNlb2YgeSYmYy5lcnJvcnMucHVzaCh7c3RhdHVzOiJlcnJvciIscmVhc29uOiJ1bnBhcnNlZF9lbnRpdHkiLG9mZnNldDpwLl9vZmZzZXQsdG9rZW46cH0pfX1mb3IoYy5icmFjZUJhbGFuY2U9bC5sZW5ndGgsciE9PW4mJmMud2FybmluZ3MucHVzaCh7c3RhdHVzOiJpbmNvbXBsZXRlIn0pO2wubGVuZ3RoOyl7dmFyIHA7ZD17c3RhdHVzOiJpbmNvbXBsZXRlIixyZWFzb246InVuYmFsYW5jZWRfYnJhY2UiLG9mZnNldDoocD1sLnBvcCgpKS5fb2Zmc2V0LHRva2VuOnB9O3I9PT1uJiYoZC5yZWNvdmVyPXthcHBlbmQ6bmV3IHN9KSxjLndhcm5pbmdzLnB1c2goZCl9cmV0dXJuIGMuY3VycmVudFN0YXRlPXIsMD09PWMud2FybmluZ3MubGVuZ3RoJiZkZWxldGUgYy53YXJuaW5ncywKMD09PWMuZXJyb3JzLmxlbmd0aCYmZGVsZXRlIGMuZXJyb3JzLGN9LGZhY3Rvck91dEJyYWNlczpTLG5vcm1hbGl6ZVRva2VuczpmdW5jdGlvbihlKXtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKyllW3RdLnBhcnNlJiZlW3RdLnBhcnNlKCk7cmV0dXJuIGV9LGZsaXA6ZnVuY3Rpb24oZSl7dmFyIHQ9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG49MCxyPTEsYz0yLGw9Myx1PW4scD0wLGc9MDtnPGUubGVuZ3RoO2crKyl7dmFyIGY9ZVtnXTtpZighKGYgaW5zdGFuY2VvZiBpKSlzd2l0Y2godSl7Y2FzZSBuOmlmKCEoZiBpbnN0YW5jZW9mIGgmJjE9PStmLnZhbHVlKSlyZXR1cm4hMTt1PXI7YnJlYWs7Y2FzZSByOmlmKCEodT09PXImJmYgaW5zdGFuY2VvZiBkKSlyZXR1cm4hMTt1PWMsdD1nKzE7YnJlYWs7Y2FzZSBjOmlmKGYgaW5zdGFuY2VvZiBvKXU9bCxwPTE7ZWxzZSBpZihmIGluc3RhbmNlb2YgYSlyZXR1cm4hMTticmVhaztjYXNlIGw6ZiBpbnN0YW5jZW9mIG8/cCsrOmYgaW5zdGFuY2VvZiBzJiYtLXA8PTAmJih1PWMpfX1yZXR1cm4gZS5zbGljZSh0KX0oZSk7cmV0dXJuIFModHx8W25ldyBoKCIxIiksbmV3IGQsbmV3IG9dLmNvbmNhdChlKS5jb25jYXQobmV3IHMpKX0saGFzQmF0c1N5bWJvbHM6ZnVuY3Rpb24oZSl7cmV0dXJuIFAoZSxbIkJBVFMiXSl9LGhhc0VvZFN5bWJvbHM6ZnVuY3Rpb24oZSl7cmV0dXJuKGU9VChlKSkmJi0xIT09ZS50b1VwcGVyQ2FzZSgpLmluZGV4T2YoIl9FT0QiKX0saGFzQ2h4anB5U3ltYm9sczpmdW5jdGlvbihlKXtyZXR1cm4gUChlLFsiQ0hYSlBZIl0pfSxoYXNGcmVlRGVsYXlTeW1ib2xzOmZ1bmN0aW9uKGUpe3JldHVybiBQKGUscHJvLmdldFByb2R1Y3RzQnlUeXBlKHByby5QUk9EVUNUX1RZUEVTLmV4Y2hhbmdlKS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBlLmV4Y2hhbmdlLnRvVXBwZXJDYXNlKCkrIl9ETFkifSkpKX0sZ2V0RXhjaGFuZ2U6VCxnZXRFeGNoYW5nZXM6ayxpc0V4Y2hhbmdlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuISEoZT1UKGUpKSYmZS5zdWJzdHJpbmcoMCx0Lmxlbmd0aCk9PT10fSxTeW1ib2xUb2tlbjptLEluY29tcGxldGVTeW1ib2xUb2tlbjp2LE51bWJlclRva2VuOmgsQmluYXJ5T3BlcmF0b3JUb2tlbjphLE9wZW5CcmFjZVRva2VuOm8sQ2xvc2VCcmFjZVRva2VuOnMsdGlja2VyOmZ1bmN0aW9uKGUpe3JldHVybiBuZXcgbShlKS50aWNrZXIoKX0sc2hvcnROYW1lOmZ1bmN0aW9uKGUpe2lmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJleHByZXNzaW9uIG11c3QgYmUgYSBzdHJpbmciKTt2YXIgdD1TKHgoXyhlKSkpO3JldHVybiB0LmZvckVhY2goKGZ1bmN0aW9uKGUpe2UgaW5zdGFuY2VvZiBtJiZlLmV4Y2hhbmdlKG51bGwpfSkpLEModCl9LG5vcm1hbGl6ZTpmdW5jdGlvbihlKXtpZigic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcigiZXhwcmVzc2lvbiBtdXN0IGJlIGEgc3RyaW5nIik7cmV0dXJuIEMoUyh4KF8oZSkpKSl9fX0oKTtlLmV4cG9ydHM9bn0sMjMyOTQ4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2dldFByb2R1Y3RJZDooKT0+dSxpc0V4Y2hhbmdlOigpPT5sLGlzUGFpZFBybzooKT0+YSxpc1BsYW46KCk9PmMsaXNQcm86KCk9PnMsaXNQcm9kdWN0RGVmaW5lZDooKT0+aSxpc1RyaWFsOigpPT5vfSk7dmFyIHI9big1ODE4OTMpO2Z1bmN0aW9uIGkoZSl7cmV0dXJuISghZXx8IU9iamVjdC5rZXlzKGUpLmxlbmd0aCl9ZnVuY3Rpb24gbyhlKXtyZXR1cm4hIWUuaXNfdHJpYWx9ZnVuY3Rpb24gcyhlKXtyZXR1cm4hIWU/LnByb19wbGFufWZ1bmN0aW9uIGEoZSl7cmV0dXJuIHMoZSkmJiFvKGUpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGUudHlwZT09PXIuUHJvZHVjdFR5cGUuUHJvUGxhbn1mdW5jdGlvbiBsKGUpe3JldHVybiBlLnR5cGU9PT1yLlByb2R1Y3RUeXBlLkV4Y2hhbmdlfWZ1bmN0aW9uIHUoZSl7cmV0dXJuIGU/bChlKXx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUudHlwZT09PXIuUHJvZHVjdFR5cGUuQ29pbnN9KGUpP2UudGV4dF9pZD8/IiI6ZS5kaXNjb3VudF90ZXh0X2lkPz9lLnRleHRfaWQ/PyIiOiIifX0sODY0MDM0KGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI7bi5kKHQse0JpbGxpbmdDeWNsZTooKT0+cixNT05USExZX1NVQlNDUklQVElPTl9EQVlTX0xFTjooKT0+byxXRUVLTFlfU1VCU0NSSVBUSU9OX0RBWVNfTEVOOigpPT5pfSksZnVuY3Rpb24oZSl7ZS5Nb250aGx5PSJtIixlLlRocmVlTW9udGhzPSIzbSIsZS5PbmVZZWFyPSJ5In0ocnx8KHI9e30pKTtjb25zdCBpPTcsbz0zMH0sNTgxODkzKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI7bi5kKHQse1Byb2R1Y3RUeXBlOigpPT5yfSksZnVuY3Rpb24oZSl7ZVtlLlByb1BsYW49MV09IlByb1BsYW4iLGVbZS5OZXdzRmVlZD0zXT0iTmV3c0ZlZWQiLGVbZS5FeGNoYW5nZT00XT0iRXhjaGFuZ2UiLGVbZS5Db25uZWN0aW9uPTZdPSJDb25uZWN0aW9uIixlW2UuQ29pbnM9OF09IkNvaW5zIixlW2UuU2NyaXB0UGFja2FnZT05XT0iU2NyaXB0UGFja2FnZSJ9KHJ8fChyPXt9KSl9LDQ5ODY1MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtpc0lEQ0V4Y2hhbmdlOigpPT5pfSk7dmFyIHI9bigyMzI5NDgpO2Z1bmN0aW9uIGkoZSx0PSExKXtpZihlJiZlLnN0YXJ0c1dpdGgoImV4Y2hhbmdlLSIpKXJldHVybiBmdW5jdGlvbihlLHQ9ITEpe2NvbnN0IG49d2luZG93LnBybz8uZ2V0UHJvZHVjdChlKTtyZXR1cm4hKHZvaWQgMD09PW58fCEoMCxyLmlzUHJvZHVjdERlZmluZWQpKG4pfHwodD8hbi5pZGNfc2VydmljZV9jb2Rlc19kZWxheTohbi5pZGNfc2VydmljZV9jb2RlcykpfShlLHQpO2NvbnN0IG49KGV8fCIiKS50b0xvd2VyQ2FzZSgpO3JldHVybiB3aW5kb3cucHJvPy5nZXRJRENFeGNoYW5nZXModCk/LmluY2x1ZGVzKG4pPz8hMX19LDk1MjkwMChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHthY2N1bXVsYXRlOigpPT5zLGNvbWJpbmU6KCk9Pm99KTt2YXIgcj1uKDIzMjM2NCk7ZnVuY3Rpb24gaShlLHQsLi4ubil7bGV0IGk9bnVsbAo7Y29uc3Qgbz0oLi4udCk9PmUoLi4udC5tYXAoKGU9PmUudmFsdWUoKSkpLGk/LnZhbHVlKCkpLHM9aT1uZXcgci5XYXRjaGVkVmFsdWUobyguLi5uKSksYT0oKT0+e2NvbnN0IGU9bi5tYXAoKChlLHQpPT5lLnZhbHVlKCkpKTt0KC4uLmUpJiZzLnNldFZhbHVlKG8oLi4ubikpfSxjPW4ubWFwKChlPT5lLnNwYXduKCkpKTtmb3IoY29uc3QgZSBvZiBjKWUuc3Vic2NyaWJlKGEpO3JldHVybiBzLnJlYWRvbmx5KCkuc3Bhd24oKCgpPT57Yy5mb3JFYWNoKChlPT5lLmRlc3Ryb3koKSkpLG4uZm9yRWFjaCgoZT0+ZS5yZWxlYXNlKCkpKX0pKX1mdW5jdGlvbiBvKGUsLi4udCl7cmV0dXJuIGkoZSwoKCk9PiEwKSwuLi50KX1mdW5jdGlvbiBzKGUsdCwuLi5uKXtsZXQgaT1udWxsO2NvbnN0IHM9bygoKC4uLmUpPT4oZS5zcGxpY2UoLTEpLGUpKSwuLi5uKSxhPXQuc3Bhd24oKSxjPSh0LC4uLm4pPT57Y29uc3Qgcj10Lm1hcCgoZT0+ZS52YWx1ZSgpKSk7cmV0dXJuIGUociwuLi5uLGk/LnZhbHVlKCkpfSxsPWk9bmV3IHIuV2F0Y2hlZFZhbHVlKGMoYS52YWx1ZSgpLC4uLnMudmFsdWUoKSkpO2xldCB1PVtdO2NvbnN0IGQ9KCk9PntsLnNldFZhbHVlKGModSwuLi5zLnZhbHVlKCkpKX0scD1lPT57dS5mb3JFYWNoKChlPT5lLmRlc3Ryb3koKSkpLHU9ZS5tYXAoKGU9PmUuc3Bhd24oKSkpLHUuZm9yRWFjaCgoZT0+ZS5zdWJzY3JpYmUoZCkpKSxkKCl9O3AoYS52YWx1ZSgpKSxhLnN1YnNjcmliZShwKSxzLnN1YnNjcmliZShkKTtyZXR1cm4gbC5yZWFkb25seSgpLnNwYXduKCgoKT0+e3UuZm9yRWFjaCgoZT0+ZS5kZXN0cm95KCkpKSxhLmRlc3Ryb3koKSxzLmRlc3Ryb3koKSx0LnJlbGVhc2UoKX0pKX19LDE1MDE1MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtndWlkOigpPT5pLHJhbmRvbUhhc2g6KCk9Pm8scmFuZG9tSGFzaE46KCk9PnN9KTtjb25zdCByPSIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiI7ZnVuY3Rpb24gaSgpe3JldHVybiJ4eHh4eHh4eC14eHh4LTR4eHgteXh4eC14eHh4eHh4eHh4eHgiLnJlcGxhY2UoL1t4eV0vZywoZT0+e2NvbnN0IHQ9MTYqTWF0aC5yYW5kb20oKXwwO3JldHVybigieCI9PT1lP3Q6MyZ0fDgpLnRvU3RyaW5nKDE2KX0pKX1mdW5jdGlvbiBvKCl7cmV0dXJuIHMoMTIpfWZ1bmN0aW9uIHMoZSl7bGV0IHQ9IiI7Zm9yKGxldCBuPTA7bjxlOysrbil7Y29uc3QgZT1NYXRoLmZsb29yKDYyKk1hdGgucmFuZG9tKCkpO3QrPXJbZV19cmV0dXJuIHR9fSw2NDA3NDQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUsdCxuKXtyZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgoZSx0KSxuKX1mdW5jdGlvbiBpKGUpe2NvbnN0IHQ9TWF0aC5jZWlsKGUpO3JldHVybiB0JTIhPTA/dC0xOnR9ZnVuY3Rpb24gbyhlKXtjb25zdCB0PU1hdGguY2VpbChlKTtyZXR1cm4gdCUyPT0wP3QtMTp0fWZ1bmN0aW9uIHMoZSl7cmV0dXJuIGU+MD9NYXRoLmZsb29yKGUpOk1hdGguY2VpbChlKX1mdW5jdGlvbiBhKGUpe3JldHVybiBlJTI9PTB9bi5kKHQse2NlaWxlZEV2ZW46KCk9PmksY2VpbGVkT2RkOigpPT5vLGNsYW1wOigpPT5yLGlzRXZlbjooKT0+YSx0b0ludDooKT0+c30pfSwyNDE5NTYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Y3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9uOigpPT5pfSk7dmFyIHI9bigyMzIzNjQpO2Z1bmN0aW9uIGkoZSx0KXtjb25zdCBuPW5ldyByLldhdGNoZWRWYWx1ZShlKCkpLGk9e307dC5zdWJzY3JpYmUoaSwoKCk9PntuLnNldFZhbHVlKGUobi52YWx1ZSgpKSl9KSk7cmV0dXJuIG4ucmVhZG9ubHkoKS5zcGF3bigoKCk9PnQudW5zdWJzY3JpYmVBbGwoaSkpKX19LDYwMTg0MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtjbG9uZTooKT0+cyxkZWVwRXF1YWxzOigpPT5kLGhhc1Byb3BlcnR5OigpPT5sLGlzQXJyYXk6KCk9PnAsaXNFeGlzdGVudDooKT0+Zixpc0ludGVnZXI6KCk9Pm0saXNOYU46KCk9PmcsaXNOdW1iZXI6KCk9Pm8saXNPYmplY3Q6KCk9PmMsaXNTdHJpbmc6KCk9PmgsbWVyZ2U6KCk9PmEsbm90TnVsbDooKT0+eX0pO2NvbnN0IHI9bmV3IFNldChbIl9fcHJvdG9fXyIsInByb3RvdHlwZSIsImNvbnN0cnVjdG9yIl0pO2Z1bmN0aW9uIGkoZSl7cmV0dXJuIHIuaGFzKGUpfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiBlJiZpc0Zpbml0ZShlKX1mdW5jdGlvbiBzKGUpe2lmKCFlfHwib2JqZWN0IiE9dHlwZW9mIGUpcmV0dXJuIGU7bGV0IHQ7dD1BcnJheS5pc0FycmF5KGUpP1tdOnt9O2Zvcihjb25zdCBuIGluIGUpaWYoZS5oYXNPd25Qcm9wZXJ0eShuKSl7Y29uc3Qgcj1lW25dO3Rbbl09ciYmIm9iamVjdCI9PXR5cGVvZiByP3Mocik6cn1yZXR1cm4gdH1mdW5jdGlvbiBhKGUsdCl7aWYoIWMoZSl8fCFjKHQpKXJldHVybiBlO2Zvcihjb25zdFtuLHJdb2YgT2JqZWN0LmVudHJpZXModCkpaShuKXx8KHImJih1KHIpfHwhcChyKSYmT2JqZWN0LmdldFByb3RvdHlwZU9mKHIpIT09T2JqZWN0LnByb3RvdHlwZSk/ZVtuXT1yOihlLmhhc093blByb3BlcnR5KG4pJiZjKGVbbl0pfHwhYyhyKXx8KGVbbl09QXJyYXkuaXNBcnJheShyKT9bXTp7fSksYyhyKSYmYyhlW25dKT9hKGVbbl0scik6ZVtuXT1yKSk7cmV0dXJuIGV9ZnVuY3Rpb24gYyhlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lfWZ1bmN0aW9uIGwoZSx0KXtyZXR1cm4gdCBpbiBlfWZ1bmN0aW9uIHUoZSl7cmV0dXJuIG51bGwhPWUmJihlLmNvbnN0cnVjdG9yPT09RnVuY3Rpb258fCJbb2JqZWN0IEZ1bmN0aW9uXSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkpfWZ1bmN0aW9uIGQoZSx0LG49IiIpe2lmKGU9PT10KXJldHVyblshMCxuXTtpZih1KGUpJiYoZT12b2lkIDApLHUodCkmJih0PXZvaWQgMCksbnVsbD09ZXx8bnVsbD09dClyZXR1cm5bZT09PXQsbl07aWYoIm9iamVjdCIhPXR5cGVvZiBlJiYib2JqZWN0IiE9dHlwZW9mIHQpcmV0dXJuW2U9PT10LG5dO2lmKEFycmF5LmlzQXJyYXkoZSkmJkFycmF5LmlzQXJyYXkodCkpewpjb25zdCByPWUubGVuZ3RoO2lmKHIhPT10Lmxlbmd0aClyZXR1cm5bITEsbl07Zm9yKGxldCBpPTA7aTxyO2krKyl7Y29uc3Qgcj1kKGVbaV0sdFtpXSxuKyJbIitpKyJdIik7aWYoIXJbMF0pcmV0dXJuIHJ9cmV0dXJuWyEwLG5dfWlmKEFycmF5LmlzQXJyYXkoZSl8fEFycmF5LmlzQXJyYXkodCkpcmV0dXJuWyExLG5dO2lmKE9iamVjdC5rZXlzKGUpLmxlbmd0aCE9PU9iamVjdC5rZXlzKHQpLmxlbmd0aClyZXR1cm5bITEsbl07Zm9yKGNvbnN0IHIgaW4gZSl7Y29uc3QgaT1kKGVbcl0sdFtyXSxuKyJbIityKyJdIik7aWYoIWlbMF0pcmV0dXJuIGl9cmV0dXJuWyEwLG5dfWNvbnN0IHA9QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24oZSl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKX07ZnVuY3Rpb24gZyhlKXtyZXR1cm4hKGU8PTB8fGU+MCl9ZnVuY3Rpb24gZihlKXtyZXR1cm4gbnVsbCE9ZX1mdW5jdGlvbiBtKGUpe3JldHVybiJudW1iZXIiPT10eXBlb2YgZSYmZSUxPT0wfWZ1bmN0aW9uIGgoZSl7cmV0dXJuIG51bGwhPWUmJmUuY29uc3RydWN0b3I9PT1TdHJpbmd9ZnVuY3Rpb24geShlKXtyZXR1cm4gbnVsbCE9PWV9TnVtYmVyLmlzTmFOPU51bWJlci5pc05hTnx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUhPWV9fSw0OTI2NzcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUpe3JldHVybiBkZWNvZGVVUklDb21wb25lbnQoZS5yZXBsYWNlKC9cKy9nLCIgIikpLnJlcGxhY2UoLzxcLz9bXj5dKyg+fCQpL2csIiIpfWZ1bmN0aW9uIGkoZSl7Y29uc3QgdD0vKFteJj1dKyk9PyhbXiZdKikvZyxuPXt9O2lmKCFlKXJldHVybiBuO2xldCBpPXQuZXhlYyhlKTtmb3IoO2k7KW5bcihpWzFdKV09cihpWzJdKSxpPXQuZXhlYyhlKTtyZXR1cm4gbn1mdW5jdGlvbiBvKCl7cmV0dXJuIGkod2luZG93LmxvY2F0aW9uLnNlYXJjaC5zdWJzdHJpbmcoMSkpfWZ1bmN0aW9uIHMoKXtjb25zdCBlPXdpbmRvdy5sb2NhdGlvbi5ocmVmLnNwbGl0KCIjIilbMF07d2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKCIiLGRvY3VtZW50LnRpdGxlLGUpfWZ1bmN0aW9uIGEoZSl7Y29uc3QgdD1bXTtmb3IoY29uc3QgbiBpbiBlKWlmKGUuaGFzT3duUHJvcGVydHkobikmJm51bGwhPWVbbl0pe2NvbnN0IHI9ZVtuXSxpPSJvYmplY3QiPT10eXBlb2Ygcj9KU09OLnN0cmluZ2lmeShyKTpTdHJpbmcocik7dC5wdXNoKHtrZXk6bixwYWlyOmVuY29kZVVSSUNvbXBvbmVudChuKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGkpfSl9cmV0dXJuIHQuc29ydCgoKGUsdCk9PmUua2V5PnQua2V5PzE6ZS5rZXk8dC5rZXk/LTE6MCkpLm1hcCgoZT0+ZS5wYWlyKSkuam9pbigiJiIpfW4uZCh0LHtjcmVhdGVVcmxQYXJhbXM6KCk9PmEsZ2V0VXJsUGFyYW1zOigpPT5vLHJlbW92ZUhhc2hGcm9tVXJsOigpPT5zfSl9LDEwNzA0NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtOdW1lcmljRm9ybWF0dGVyOigpPT5vfSk7dmFyIHI9big1OTg5MjIpLGk9big1NDY0ODUpO2NsYXNzIG97Y29uc3RydWN0b3IoZT17fSl7dGhpcy5fb3B0aW9ucz1lfWZvcm1hdChlLHQ9e30pe2lmKCFOdW1iZXIuaXNGaW5pdGUoZSkpcmV0dXJuIFN0cmluZyhlKTtjb25zdHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6bj10aGlzLl9vcHRpb25zLmlnbm9yZUxvY2FsZU51bWJlckZvcm1hdCxub0V4cG9uZW50aWFsRm9ybTpzPXRoaXMuX29wdGlvbnMubm9FeHBvbmVudGlhbEZvcm19PXQse21pblByZWNpc2lvbjphLHByZWNpc2lvbjpjfT10aGlzLl9vcHRpb25zLGw9KDAsaS5nZXROdW1iZXJGb3JtYXQpKG4pO3JldHVybiB2b2lkIDA9PT1jP28uX2Zvcm1hdE5vRUltcGwoZSxsLGMsYSk6KDAsci5mb3JtYXROdW1iZXIpKGUsbCxjLHMsYSl9cGFyc2UoZSx0KXtjb25zdHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6bixwcmVjaXNpb246b309dGhpcy5fb3B0aW9ucyxzPSgwLGkuZ2V0TnVtYmVyRm9ybWF0KShufHx0Py5pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQpO2xldCBhPSgwLHIucGFyc2VOdW1iZXIpKGUscyk7cmV0dXJuIE51bWJlci5pc0Zpbml0ZShhKT8obyYmKGE9K2EudG9GaXhlZChvKSkse3JlczohMCx2YWx1ZTphfSk6e3JlczohMX19c3RhdGljIGZvcm1hdE5vRShlLHQpe3JldHVybiB0aGlzLl9mb3JtYXROb0VJbXBsKGUsdCl9c3RhdGljIF9mb3JtYXROb0VJbXBsKGUsdCxuLGkpe3JldHVybiBOdW1iZXIuaXNGaW5pdGUoZSk/KHQ9dD8/e2dyb3VwaW5nU2VwYXJhdG9yOiIiLGRlY2ltYWxTaWduOiIuIn0sKDAsci5mb3JtYXROdW1iZXIpKGUsdCxuLCEwLGkpKTpTdHJpbmcoZSl9fX0sMTI1MjE4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1BlcmNlbnRhZ2VGb3JtYXR0ZXI6KCk9Pm99KTt2YXIgcj1uKDExNTI5MyksaT1uKDc1NTYyNyk7Y2xhc3MgbyBleHRlbmRzIGkuUHJpY2VGb3JtYXR0ZXJ7Y29uc3RydWN0b3IoZT17fSl7dm9pZCAwIT09ZS5kZWNpbWFsUGxhY2VzJiYoZS5wcmljZVNjYWxlPU1hdGgucG93KDEwLGUuZGVjaW1hbFBsYWNlcykpLHN1cGVyKGUpLHRoaXMudHlwZT0icGVyY2VudGFnZSJ9c3RhdGUoKXtyZXR1cm57Li4uc3VwZXIuc3RhdGUoKSxwZXJjZW50OiEwfX1wYXJzZShlLHQpe3JldHVybiBlPWUucmVwbGFjZSgiJSIsIiIpLHN1cGVyLnBhcnNlKGUsdCl9Zm9ybWF0KGUsdD17fSl7Y29uc3R7dXNlUnRsRm9ybWF0Om49ITB9PXQsaT1zdXBlci5mb3JtYXQoZSx7Li4udCx1c2VSdGxGb3JtYXQ6ITF9KSsiJSI7cmV0dXJuIG4/KDAsci5mb3JjZUxUUlN0cikoaSk6aX1zdGF0aWMgc2VyaWFsaXplKGUpe3JldHVybiBlLnN0YXRlKCl9c3RhdGljIGRlc2VyaWFsaXplKGUpe3JldHVybiBuZXcgbyhlKX19fSw5ODQzNzYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UExBQ0VfSE9MREVSOigpPT5zLFZvbHVtZUZvcm1hdHRlcjooKT0+bH0pO3ZhciByPW4oNzgzMjU0KSxpPW4oNjAxODQxKSxvPW4oMTA3MDQ1KTtjb25zdCBzPSItLS0iLGE9W3t2YWx1ZTozLGxldHRlcjoiSyJ9LHt2YWx1ZTo2LGxldHRlcjoiTSJ9LHt2YWx1ZTo5LGxldHRlcjoiQiJ9LHsKdmFsdWU6MTIsbGV0dGVyOiJUIn1dO2Z1bmN0aW9uIGMoZSx0KXtjb25zdCBuPWUtdDtyZXR1cm4gYS5maW5kKChlPT5lLnZhbHVlPj1uKSk/P2FbYS5sZW5ndGgtMV19Y2xhc3MgbHtjb25zdHJ1Y3RvcihlPXt9KXt0aGlzLnR5cGU9InZvbHVtZSI7Y29uc3R7cHJlY2lzaW9uOnQ9MCxtaW5QcmVjaXNpb246bj0wLGRpbWVuc2lvblByZWNpc2lvbjpyPTIsZGltZW5zaW9uTWluUHJlY2lzaW9uOmk9MCxzaWduaWZpY2FudERpZ2l0czpzPTMsaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmEsbm9FeHBvbmVudGlhbEZvcm06YyxyZW1vdmVTcGFjZUJlZm9yZURpbWVuc2lvbjpsfT1lO3RoaXMuX3ByZWNpc2lvbj10LHRoaXMuX2Zvcm1hdHRlcj1uZXcgby5OdW1lcmljRm9ybWF0dGVyKHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6YSxwcmVjaXNpb246dGhpcy5fcHJlY2lzaW9uLG1pblByZWNpc2lvbjpuLG5vRXhwb25lbnRpYWxGb3JtOmN9KSx0aGlzLl9kaW1lbnNpb25QcmVjaXNpb249cix0aGlzLl9kaW1lbnNpb25Gb3JtYXR0ZXI9bmV3IG8uTnVtZXJpY0Zvcm1hdHRlcih7aWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmEscHJlY2lzaW9uOnRoaXMuX2RpbWVuc2lvblByZWNpc2lvbixtaW5QcmVjaXNpb246aSxub0V4cG9uZW50aWFsRm9ybTpjfSksdGhpcy5fc2lnbmlmaWNhbnREaWdpdHM9cyx0aGlzLl9mcmFjdGlvbmFsVmFsdWVzPXZvaWQgMCE9PXQmJnQ+MCx0aGlzLl9zcGFjZUJlZm9yZURpbWVuc2lvbj1sPyIiOiLigK8iLHRoaXMuX29wdGlvbnM9ZX1zdGF0ZSgpe2NvbnN0e2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDplLC4uLnR9PXRoaXMuX29wdGlvbnM7cmV0dXJuIHR9Zm9ybWF0KGUsdCl7aWYoISgwLGkuaXNOdW1iZXIpKGUpKXJldHVybiBzO2lmKE1hdGguYWJzKGUpPj0xZTEwMClyZXR1cm4gci50KG51bGwse2NvbnRleHQ6InZvbHVtZS1mb3JtYXR0ZXIifSxuKDU3MDYyKSk7bGV0IG89IiI7TWF0aC5hYnMoZSk8MSYmKGU9K2UudG9GaXhlZCh0aGlzLl9wcmVjaXNpb24pKSxlPDA/bz0i4oiSIjplPjAmJnQ/LnNpZ25Qb3NpdGl2ZSYmKG89IisiKSxlPU1hdGguYWJzKGUpO2NvbnN0IGE9ISEodD8uaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0Pz90aGlzLl9vcHRpb25zLmlnbm9yZUxvY2FsZU51bWJlckZvcm1hdCk7bGV0IGwsdSxkPU1hdGguZmxvb3IoTWF0aC5sb2cxMChlKSkrMTtpZihkPD10aGlzLl9zaWduaWZpY2FudERpZ2l0cyYmKGU9K2UudG9GaXhlZCh0aGlzLl9wcmVjaXNpb24pLGQ9TWF0aC5mbG9vcihNYXRoLmxvZzEwKGUpKSsxKSxkPD10aGlzLl9zaWduaWZpY2FudERpZ2l0cylsPXRoaXMuX2Zvcm1hdE51bWJlcihlLGEsdGhpcy5fZm9ybWF0dGVyKTtlbHNle2xldCB0PWMoZCx0aGlzLl9zaWduaWZpY2FudERpZ2l0cyk7Y29uc3Qgbj1NYXRoLnBvdygxMCx0LnZhbHVlKTtlPSsoZS9uKS50b0ZpeGVkKHRoaXMuX2RpbWVuc2lvblByZWNpc2lvbikqbix0PWMoTWF0aC5mbG9vcihNYXRoLmxvZzEwKGUpKSsxLHRoaXMuX3NpZ25pZmljYW50RGlnaXRzKSxsPXRoaXMuX2Zvcm1hdE51bWJlcihlL01hdGgucG93KDEwLHQudmFsdWUpLGEsdGhpcy5fZGltZW5zaW9uRm9ybWF0dGVyKSx1PXQubGV0dGVyfXJldHVybiB1P2Ake299JHtsfSR7dGhpcy5fc3BhY2VCZWZvcmVEaW1lbnNpb259JHt1fWA6YCR7b30ke2x9YH1wYXJzZShlLHQpe2lmKGU9PT1zKXJldHVybntlcnJvcjoibm90IGEgbnVtYmVyIixyZXM6ITEsdmFsdWU6TmFOfTtjb25zdCBuPXtLOjFlMyxNOjFlNixCOjFlOSxUOjFlMTJ9LHI9KGU9ZS5yZXBsYWNlKCLiiJIiLCItIikpLnNsaWNlKC0xKTtpZihuLmhhc093blByb3BlcnR5KHIpKXtjb25zdCBvPXRoaXMuX2Zvcm1hdHRlci5wYXJzZShlLnNsaWNlKDAsLTEpLnRyaW0oKSx0KSxzPW8ucmVzP28udmFsdWU6TmFOO3JldHVybigwLGkuaXNOdW1iZXIpKHMpP3tyZXM6ITAsdmFsdWU6cypuW3JdfTp7ZXJyb3I6Im5vdCBhIG51bWJlciIscmVzOiExLHZhbHVlOk5hTn19e2NvbnN0IG49dGhpcy5fZm9ybWF0dGVyLnBhcnNlKGUudHJpbSgpLHQpO2xldCByPW4ucmVzP24udmFsdWU6TmFOO3JldHVybi0wPT09ciYmKHI9MCksKDAsaS5pc051bWJlcikocik/e3JlczohMCx2YWx1ZTpyfTp7ZXJyb3I6Im5vdCBhIG51bWJlciIscmVzOiExLHZhbHVlOk5hTn19fXN0YXRpYyBzZXJpYWxpemUoZSl7cmV0dXJuIGUuc3RhdGUoKX1zdGF0aWMgZGVzZXJpYWxpemUoZSl7cmV0dXJuIG5ldyBsKGUpfV9mb3JtYXROdW1iZXIoZSx0LG4pe2lmKHRoaXMuX2ZyYWN0aW9uYWxWYWx1ZXMmJjAhPT1lKXtjb25zdCB0PTE0LU1hdGguY2VpbChNYXRoLmxvZzEwKGUpKSxuPU1hdGgucG93KDEwLHQpO2U9TWF0aC5yb3VuZChlKm4pL259cmV0dXJuIG4uZm9ybWF0KGUse2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDp0fSl9fX0sOTAxMDIyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1NFUEFSQVRPUl9QUkVGSVg6KCk9PnIsaXNTZXBhcmF0b3JJdGVtOigpPT5pfSk7Y29uc3Qgcj0iIyMjIjtmdW5jdGlvbiBpKGUpe3JldHVybiBlLnN0YXJ0c1dpdGgocil9fSw2NDE1OTMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Y2FwaXRhbGl6ZUZpcnN0TGV0dGVySW5Xb3JkOigpPT5kLGRlY29kZUhUTUxFbnRpdGllczooKT0+YyxnZXRGaXJzdFNlZ21lbnRPckNvZGVQb2ludFN0cmluZzooKT0+cCxodG1sRXNjYXBlOigpPT5sLHJlbW92ZVRhZ3M6KCk9PnV9KTtjb25zdCByPS9bPCInJj5dL2csaT1lPT5gJiMke2UuY2hhckNvZGVBdCgwKX07YCxvPXsiJmx0OyI6IjwiLCImZ3Q7IjoiPiIsIiZxdW90OyI6JyInLCImYXBvczsiOiInIiwiJmFtcDsiOiImIiwiJiM2MDsiOiI8IiwiJiM2MjsiOiI+IiwiJiMzNDsiOiciJywiJiMzOTsiOiInIiwiJiMwMzk7IjoiJyIsIiYjMzg7IjoiJiJ9LHM9T2JqZWN0LmFzc2lnbih7fSwuLi5PYmplY3QuZW50cmllcyhvKS5tYXAoKChbZSx0XSk9Pih7W3RdOmV9KSkpKSxhPW5ldyBSZWdFeHAoT2JqZWN0LmtleXMobykuam9pbigifCIpLCJnIik7bmV3IFJlZ0V4cChPYmplY3Qua2V5cyhzKS5qb2luKCJ8IiksImciKTtmdW5jdGlvbiBjKGUpewpyZXR1cm4gZS5yZXBsYWNlKGEsKGU9Pm9bZV18fGUpKX1mdW5jdGlvbiBsKGUpe3JldHVybiBlLnJlcGxhY2UocixpKX1mdW5jdGlvbiB1KGU9IiIpe3JldHVybiBlLnJlcGxhY2UoLyg8KFtePl0rKT4pL2dpLCIiKX1mdW5jdGlvbiBkKGU9IiIpe3JldHVybiBlLnJlcGxhY2UoL1xiXHcvZywoZT0+ZS50b1VwcGVyQ2FzZSgpKSl9ZnVuY3Rpb24gcChlKXtjb25zdCB0PUludGwuU2VnbWVudGVyO2lmKHQpe2NvbnN0IG49bmV3IHQodm9pZCAwLHtncmFudWxhcml0eToiZ3JhcGhlbWUifSksW3tzZWdtZW50OnJ9PXtzZWdtZW50Om51bGx9XT1uLnNlZ21lbnQoZSk7cmV0dXJuIHI/LnRvVXBwZXJDYXNlKCk/P251bGx9e2NvbnN0IHQ9ZS5jb2RlUG9pbnRBdCgwKTtyZXR1cm4gdD9TdHJpbmcuZnJvbUNvZGVQb2ludCh0KS50b1VwcGVyQ2FzZSgpOm51bGx9fX0sMTM2OTkxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NvcHlyaWdodFBvc2l0aW9uOigpPT5yLGNvcHlyaWdodExhYmVsOigpPT51fSk7dmFyIHIsaT1uKDE4NTI3MSksbz1uKDkxNDQ4Nykscz1uLm4obyksYT1uKDYwMTg0MSksYz1uKDM4NzIzMSksbD1uKDM5OTA5Mik7ZnVuY3Rpb24gdSh7c3ZnVGV4dDplLGljb246dCx0aGVtZTpvLHVybDp1LG1vZGU6ZCx2ZXJ0aWNhbFBvc2l0aW9uOnA9ci5WZXJ0aWNhbC5Cb3R0b20saG9yaXpvbnRhbFBvc2l0aW9uOmc9ci5Ib3Jpem9udGFsLkVuZCxzbmFwVG9FZGdlOmY9ITAsaXNFeHBhbmRlZDptPSExLGNsYXNzTmFtZTpofSl7bGV0IHk7c3dpdGNoKGQpe2Nhc2UibmV3IjpjYXNlIndpdGhfYm9yZGVyIjpjYXNlImxhcmdlX3RyYWRlIjp5PSgwLGEuY2xvbmUpKG8pO2JyZWFrO2RlZmF1bHQ6eT0oMCxjLm1lcmdlVGhlbWVzKSgoMCxhLmNsb25lKShsKSxvKX1jb25zdCB2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtsZXQgdzt1JiYodz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIiksdy5jbGFzc0xpc3QuYWRkKC4uLnkubGFiZWxfX2xpbmsuc3BsaXQoL1xzLykpLHcuaHJlZj11LHcudGFyZ2V0PSJfYmxhbmsiLHcucmVsPSJub29wZW5lciBub3JlZmVycmVyIix3LnNldEF0dHJpYnV0ZSgiZGF0YS10YXJnZXQtdHlwZSIsImNvcHlyaWdodCIpLHcuYXJpYUxhYmVsPWkudChudWxsLHZvaWQgMCxuKDUxNzg1OSkpLHYuYXBwZW5kKHcpKSx2LmNsYXNzTmFtZT1zKCkoeS5sYWJlbCxnPT09ci5Ib3Jpem9udGFsLlN0YXJ0JiZ5LnN0YXJ0LGc9PT1yLkhvcml6b250YWwuRW5kJiZ5LmVuZCxwPT09ci5WZXJ0aWNhbC5Ub3AmJnkudG9wLHA9PT1yLlZlcnRpY2FsLkJvdHRvbSYmeS5ib3R0b20sZiYmImxhcmdlX3RyYWRlIiE9PWQmJnkuc25hcCwibGFyZ2Vfb2xkIj09PWQmJnkubGFyZ2UsKG18fCJsYXJnZV90cmFkZSI9PT1kKSYmeS5leHBhbmRlZCxoLCJqcy1jb3B5cmlnaHQtbGFiZWwiKSx2LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKCk9PntmdW5jdGlvbiBlKCl7di5jbGFzc0xpc3QucmVtb3ZlKHkuZXhwYW5kZWRCeUNsaWNrKSx2LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGUpfXYuY2xhc3NMaXN0LmNvbnRhaW5zKHkuZXhwYW5kZWRXaXRoVHJhbnNpdGlvbil8fHYuY2xhc3NMaXN0LmNvbnRhaW5zKHkuZXhwYW5kZWQpfHwodi5jbGFzc0xpc3QuY29udGFpbnMoeS5leHBhbmRlZEJ5Q2xpY2spP3V8fGUoKToodi5jbGFzc0xpc3QuYWRkKHkuZXhwYW5kZWRCeUNsaWNrKSx2LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGUpKSl9KSk7Y29uc3QgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7Yi5jbGFzc05hbWU9eS5sb2dvV3JhcCxiLmlubmVySFRNTD10O2NvbnN0IF89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO3JldHVybiBfLmNsYXNzTmFtZT15LnN2Z1RleHRXcmFwLF8uaW5uZXJIVE1MPWUsdi5hcHBlbmQoYixfKSxbdix5XX0hZnVuY3Rpb24oZSl7bGV0IHQsbjshZnVuY3Rpb24oZSl7ZVtlLkJvdHRvbT0wXT0iQm90dG9tIixlW2UuVG9wPTFdPSJUb3AifSh0PWUuVmVydGljYWx8fChlLlZlcnRpY2FsPXt9KSksZnVuY3Rpb24oZSl7ZVtlLlN0YXJ0PTBdPSJTdGFydCIsZVtlLkVuZD0xXT0iRW5kIn0obj1lLkhvcml6b250YWx8fChlLkhvcml6b250YWw9e30pKX0ocnx8KHI9e30pKX0sNjUzODE3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NvcHlyaWdodFBvc2l0aW9uOigpPT5vLkNvcHlyaWdodFBvc2l0aW9uLGNyZWF0ZUNvcHlyaWdodExhYmVsOigpPT5hfSk7dmFyIHI9big5MTQ0ODcpLGk9bi5uKHIpLG89bigxMzY5OTEpLHM9big1Mjg4NjQpO2Z1bmN0aW9uIGEoe3NoZXJpZmZPcHRpb25zOmUsLi4udH0pe2NvbnN0W24scl09KDAsby5jb3B5cmlnaHRMYWJlbCkodCksYT1lJiZlLmluY2x1ZGVzKHMuS25vd25BY3Rpb24uRXhwYW5kKSxjPWUmJmUuaW5jbHVkZXMocy5Lbm93bkFjdGlvbi5MYXJnZVRyYWRlTG9nbyk7cmV0dXJuIG4uY2xhc3NOYW1lPWkoKShuLmNsYXNzTmFtZSwoYXx8YykmJnIuZXhwYW5kZWRXaXRoVHJhbnNpdGlvbiksbn19LDc0MjU3NyhlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSx0KXtyZXR1cm4gZSYmZS51dG1fY2FtcGFpZ24mJihlLnV0bV9jYW1wYWlnbis9YC0ke3R9YCksZX1hc3luYyBmdW5jdGlvbiBpKGUsdCxyLGkpe2lmKCJsZW50YXJ1Ij09PWUpe2NvbnN0e2dldExlbnRhQ29weXJpZ2h0RGF0YTplfT1hd2FpdCBQcm9taXNlLmFsbChbbi5lKDQ0MjUzKSxuLmUoODUwMzgpXSkudGhlbihuLmJpbmQobiwyODQwNDEpKTtyZXR1cm4gZSgpfWlmKCJjbW9uZXljb210dyI9PT1lKXtjb25zdHtnZXRDbW9uZXljb210d0NvcHlyaWdodERhdGE6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW24uZSg1OTk0MSksbi5lKDY0NDUpLG4uZSg3MTM5NCldKS50aGVuKG4uYmluZChuLDc3Nzc2OSkpO3JldHVybiBlKHQscil9aWYoIm5ldyI9PT1pKXtjb25zdHtnZXRUcmFkaW5nVmlld0NvcHlyaWdodERhdGE6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW24uZSg5Nzc5Nyksbi5lKDc2MDQwKV0pLnRoZW4obi5iaW5kKG4sOTgxMTU3KSk7cmV0dXJuIGUodCxyKX1pZigid2l0aF9ib3JkZXIiPT09aSl7CmNvbnN0e2dldFRyYWRpbmdWaWV3Q29weXJpZ2h0RGF0YTplfT1hd2FpdCBQcm9taXNlLmFsbChbbi5lKDUzNTIxKSxuLmUoMTY4MTMpXSkudGhlbihuLmJpbmQobiw4NTI2NjkpKTtyZXR1cm4gZSh0LHIpfWlmKCJsYXJnZV90cmFkZSI9PT1pKXtjb25zdHtnZXRUcmFkaW5nVmlld0NvcHlyaWdodERhdGE6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW24uZSg3NDAxMSksbi5lKDc5MDQxKV0pLnRoZW4obi5iaW5kKG4sNDkzNTU5KSk7cmV0dXJuIGUodCxyKX17Y29uc3R7Z2V0VHJhZGluZ1ZpZXdDb3B5cmlnaHREYXRhOmV9PWF3YWl0IFByb21pc2UuYWxsKFtuLmUoNTk5NDEpLG4uZSg5NzUwOSldKS50aGVuKG4uYmluZChuLDcwNTc5MCkpO3JldHVybiBlKHQscil9fW4uZCh0LHthZGRVdG1DYW1wYWlnblNvdXJjZTooKT0+cixnZXRDdXN0b21lckNvcHlyaWdodERhdGE6KCk9Pml9KX0sNzQ4MDAyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2dldFdpZGdldFNoZXJpZmZBY3Rpb25zOigpPT5sfSk7dmFyIHI9bigyMjEwNjEpLGk9bigzODQwMTcpLG89big1Mjg4NjQpO2NvbnN0IHM9d2luZG93LldJREdFVF9TSEVSSUZGX0hPU1R8fCJodHRwczovL3dpZGdldC1zaGVyaWZmLnhzdGFnaW5nLXdpZGdldC50diIsYT0oMCxyLmdldExvZ2dlcikoIldpZGdldFNoZXJpZmYuV2lkZ2V0Iik7bGV0IGM9bnVsbDthc3luYyBmdW5jdGlvbiBsKCl7cmV0dXJuIG51bGw9PT1jJiYoYz1hd2FpdCBhc3luYyBmdW5jdGlvbigpe2NvbnN0IGU9ZnVuY3Rpb24oKXtpZihkb2N1bWVudC5sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnMmJmRvY3VtZW50LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucy5sZW5ndGgpcmV0dXJuIGRvY3VtZW50LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2luc1tkb2N1bWVudC5sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnMubGVuZ3RoLTFdO3RyeXtyZXR1cm4gbmV3IFVSTChkb2N1bWVudC5yZWZlcnJlcikub3JpZ2lufWNhdGNoKGUpe3JldHVybiBkb2N1bWVudC5sb2NhdGlvbi5vcmlnaW58fG51bGx9fSgpO2lmKG51bGw9PT1lKXJldHVybiBhLmxvZ1dhcm4oImFuY2VzdG9yT3JpZ2luIGlzIHVuZGVmaW5lZCIpLFByb21pc2UucmVzb2x2ZShbXSk7Y29uc3QgdD1uZXcgVVJMKCIvc2hlcmlmZi9hcGkvdjEvcnVsZXMvc2VhcmNoIixzKTt0LnNlYXJjaFBhcmFtcy5hcHBlbmQoIm9yaWdpbiIsZSk7cmV0dXJuKGF3YWl0KDAsaS5mZXRjaCkodC50b0pTT04oKSkudGhlbigoZT0+e2lmKCFlLm9rKXRocm93IG5ldyBFcnJvcigiR3VhcmQgcmVxdWVzdCBlcnJvciBvY2N1cmVkIik7cmV0dXJuIDIwND09PWUuc3RhdHVzP1Byb21pc2UucmVzb2x2ZSh7YWN0aW9uczpbXX0pOmUuanNvbigpfSkpLmNhdGNoKChlPT4oYS5sb2dXYXJuKGUubWVzc2FnZSksUHJvbWlzZS5yZXNvbHZlKHthY3Rpb25zOltdfSkpKSkpLmFjdGlvbnMuZmlsdGVyKChlPT5vLndpZGdldFNoZXJpZmZBY3Rpb25zLmhhcyhlKSkpfSgpKSxQcm9taXNlLnJlc29sdmUoYyl9fSw1Mjg4NjQoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcjtuLmQodCx7S25vd25BY3Rpb246KCk9PnIsd2lkZ2V0U2hlcmlmZkFjdGlvbnM6KCk9Pml9KSxmdW5jdGlvbihlKXtlLkV4cGFuZD0iZXhwYW5kLWxvZ28iLGUuTGFyZ2VUcmFkZUxvZ289ImxhcmdlLXRyYWRlLWxvZ28ifShyfHwocj17fSkpO2NvbnN0IGk9bmV3IFNldChbci5FeHBhbmQsci5MYXJnZVRyYWRlTG9nb10pfSw0NzkzNChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtlbmFibGVkOigpPT5jLGdldENvbmZpZzooKT0+dSxnZXRQcm9kdWN0SWQ6KCk9PmF9KTt2YXIgcj1uKDUwMjU4NyksaT1uKDEyNzcxMSksbz1uKDMxODk3NCkscz1uKDIxMjIyOSk7ZnVuY3Rpb24gYShlKXtsZXQgdD13aW5kb3cudXNlcjsidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmd2luZG93LnVzZXImJih0PXdpbmRvdy51c2VyKSxlJiYodD1lKTtsZXQgbj10Py5wcm9fcGxhbnx8ImZyZWUiO3JldHVybiJmcmVlIiE9PW4mJiEoMCxzLmlzVHJpYWxQcm9kdWN0KShuKXx8KG49KDAscy5nZXRQcm9kdWN0Rm9yVHJpYWwpKG4pKSxufWZ1bmN0aW9uIGMoZSx0LG4pe2xldCByPXdpbmRvdy51c2VyO24mJihyPW4pO2NvbnN0IGk9dShlLHQscik7aWYoIWkpcmV0dXJuITE7aWYoaS5kaXNhYmxlX29uX3RyaWFsJiYoIXJ8fHIuaXNfdHJpYWwpKXJldHVybiExO2NvbnN0IHM9aS5kaXNhYmxlX29uX2xpdGVfcGxhbjtpZihzJiZyLmlzX2xpdGVfcGxhbil7aWYoImFsbCI9PT1zKXJldHVybiExO2lmKCJleGNsdWRlX21vYmlsZSI9PT1zJiYhby5DaGVja01vYmlsZS5hbnkoKSlyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiBsKGUpe2NvbnN0IHQ9cltlXTtyZXR1cm4gdD90LmV4dGVuZHM/T2JqZWN0LmFzc2lnbih7fSxsKHQuZXh0ZW5kcyksdCk6dDpudWxsfWZ1bmN0aW9uIHUoZSx0LG4pe2xldCByPWwodHx8KGEobik/PyIiKSk7aWYoIXIpcmV0dXJuIG51bGw7Y29uc3Qgbz13aW5kb3cuVHJhZGluZ1ZpZXc/LndpZGdldEN1c3RvbWVyO3JldHVybiBvJiZpW29dJiYocj1PYmplY3QuYXNzaWduKHt9LHIsaVtvXSkpLHImJnJbZV18fG51bGx9fSw0Mjk2NihlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KTt2YXIgcj1uKDg1NjMyNCksaT1uKDk2MzA5OCk7KDAsci5yZWdpc3Rlckxhbmd1YWdlR2V0dGVyKSgoKCk9PndpbmRvdy5sYW5ndWFnZXx8IiIpKSwoMCxyLnJlZ2lzdGVyTGFuZ3VhZ2VDb2RlTWFwcGVyKShpLmdldElzb0xhbmd1YWdlQ29kZUZyb21MYW5ndWFnZSl9LDYzMTYzNChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnZXRGcmVzaEluaXREYXRhOigpPT5zLGdldEluaXREYXRhOigpPT5vLHVwZGF0ZUluaXREYXRhOigpPT5pfSk7dmFyIHI9big3OTI2MTIpO2Z1bmN0aW9uIGkoKXsoMCxyLnVwZGF0ZUluaXREYXRhKSgpfWZ1bmN0aW9uIG8oKXtyZXR1cm4oMCxyLmdldEluaXREYXRhKSgpfWZ1bmN0aW9uIHMoKXtyZXR1cm4oMCxyLmdldEZyZXNoSW5pdERhdGEpKCl9fSw4NjIyMTMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7TG9nb1NpemU6KCk9PnIuTG9nb1NpemUsZ2V0TG9nb1VybFJlc29sdmVyOigpPT51fSkKO3ZhciByPW4oNjIwMzU0KSxpPW4oMTM4NjM4KSxvPW4oNjMxNjM0KSxzPW4oODEwNDEpO2NvbnN0IGE9KDAsbigyMjEwNjEpLmdldExvZ2dlcikoIkxvZ29VcmxSZXNvbHZlciIpO2NsYXNzIGN7Y29uc3RydWN0b3IoZSl7KDAsaS5hc3NlcnQpKCIiIT09ZSwiUzMgYmFzZSB1cmwgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmciKSx0aGlzLl9iYXNlVXJsPWV9Z2V0U3ltYm9sTG9nb1VybChlLHQpe2lmKCIiPT09ZSlyZXR1cm4gYS5sb2dXYXJuKCJsb2dvIGlkIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nIiksIiI7c3dpdGNoKHQpe2Nhc2Ugci5Mb2dvU2l6ZS5NZWRpdW06cmV0dXJuIHRoaXMuX2Jhc2VVcmwrYCR7ZX0uc3ZnYDtjYXNlIHIuTG9nb1NpemUuTGFyZ2U6cmV0dXJuIHRoaXMuX2Jhc2VVcmwrYCR7ZX0tLWJpZy5zdmdgfX1nZXRDb3VudHJ5RmxhZ1VybChlLHQpe3JldHVybiB0aGlzLmdldFN5bWJvbExvZ29VcmwoImNvdW50cnkvIitlLHQpfWdldFByb3ZpZGVyTG9nb1VybChlLHQpe3JldHVybiB0aGlzLmdldFN5bWJvbExvZ29VcmwoInByb3ZpZGVyLyIrZSx0KX1nZXRTb3VyY2VMb2dvVXJsKGUsdCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybCgic291cmNlLyIrZSx0KX1nZXRCbG9ja2NoYWluQ29udHJhY3RMb2dvVXJsKGUsdCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybCgiYmxvY2tjaGFpbi8iK2UsdCl9Z2V0Q2FuZGxlc3RpY2tQYXR0ZXJuTG9nb1VybChlLHQ9cy5TdGRUaGVtZS5MaWdodCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybChgY2FuZGxlcGF0dGVybi8ke2V9LSR7dH1gLHIuTG9nb1NpemUuTWVkaXVtKX19bGV0IGw7ZnVuY3Rpb24gdSgpe3JldHVybiBmdW5jdGlvbigpe2lmKCFsKXtjb25zdCBlPSgwLG8uZ2V0SW5pdERhdGEpKCksdD1lLnNldHRpbmdzP2Uuc2V0dGluZ3MuUzNfTE9HT19TRVJWSUNFX0JBU0VfVVJMOiIiO2w9bmV3IGModCl9cmV0dXJuIGx9KCl9fSw0MDAxODEoZSx0LG4peyJ1c2Ugc3RyaWN0Ijthc3luYyBmdW5jdGlvbiByKCl7Y29uc3R7Z2V0VHJhY2tlckluc3RhbmNlOmV9PWF3YWl0IFByb21pc2UuYWxsKFtuLmUoNzA2NDQpLG4uZSg5NTIwNyldKS50aGVuKG4uYmluZChuLDQ3NzE1MCkpO3JldHVybiBlKCl9bi5kKHQse2dldFRyYWNrZXI6KCk9PnJ9KX0sMTU2ODI5KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlKXtyZXR1cm4gdm9pZCAwIT09ZSYmZS5pbmNsdWRlcygiY3J5cHRvIil9ZnVuY3Rpb24gaShlKXtyZXR1cm4iYm9uZCI9PT1lfWZ1bmN0aW9uIG8oZSl7cmV0dXJuImVjb25vbWljIj09PWV9ZnVuY3Rpb24gcyhlKXtyZXR1cm4iZnV0dXJlcyI9PT1lfW4uZCh0LHtoYXNDcnlwdG9UeXBlc3BlYzooKT0+cixpc0JvbmQ6KCk9PmksaXNFY29ub21pY1N5bWJvbDooKT0+byxpc0Z1dHVyZXM6KCk9PnN9KX0sODUxNDU4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3Rva2VuaXplOigpPT5jfSk7dmFyIHIsaT1uKDkwMTAyMiksbz1uKDU2OTM5OCk7IWZ1bmN0aW9uKGUpe2UuU3ltYm9sPSJzeW1ib2wiLGUuSW5jb21wbGV0ZVN5bWJvbD0iaW5jb21wbGV0ZVN5bWJvbCIsZS5OdW1iZXI9Im51bWJlciIsZS5JbmNvbXBsZXRlTnVtYmVyPSJpbmNvbXBsZXRlTnVtYmVyIixlLlNlcGFyYXRvclByZWZpeD0ic2VwYXJhdG9yUHJlZml4IixlLk9wZW5CcmFjZT0ib3BlbkJyYWNlIixlLkNsb3NlQnJhY2U9ImNsb3NlQnJhY2UiLGUuUGx1cz0icGx1cyIsZS5NaW51cz0ibWludXMiLGUuTXVsdGlwbHk9Im11bHRpcGx5IixlLkRpdmlkZT0iZGl2aWRlIixlLlBvd2VyPSJwb3dlciIsZS5XaGl0ZXNwYWNlPSJ3aGl0ZXNwYWNlIixlLlVucGFyc2VkPSJ1bnBhcnNlZCJ9KHJ8fChyPXt9KSk7Y29uc3Qgcz0vKD86W14tK1wvKl5cc10nfFthLXpBLVowLTlfXHUwMzcwLVx1MUZGRl9cdTJFODAtXHVGRkZGXSkoPzpbXi0rXC8qXlxzXSd8W2EtekEtWjAtOV9cdTAwMjBcdTAzNzAtXHUxRkZGX1x1MkU4MC1cdUZGRkZfIXw6LiZdKSp8Jy4rPycvLGE9KGU9KDAsby5pc0ZlYXR1cmVFbmFibGVkKSgiYWxsb3dfdHJhaWxpbmdfd2hpdGVzcGFjZV9pbl9udW1iZXJfdG9rZW4iKSk9Pih7bnVtYmVyOmU/L1xkKyg/OlwuXGQqfCg/IVthLXpBLVowLTlfITouJl0pKSg/OlxzKig/PVxzKiQpKT98XC5cZCsoPzpccyooPz1ccyokKSk/LzovXGQrKD86XC5cZCp8KD8hW2EtekEtWjAtOV8hOi4mXSkpfFwuXGQrLyxpbmNvbXBsZXRlTnVtYmVyOi9cLi8sc3ltYm9sOnMsaW5jb21wbGV0ZVN5bWJvbDovJ1teJ10qLyxzZXBhcmF0b3JQcmVmaXg6aS5TRVBBUkFUT1JfUFJFRklYLG9wZW5CcmFjZToiKCIsY2xvc2VCcmFjZToiKSIscGx1czoiKyIsbWludXM6Ii0iLG11bHRpcGx5OiIqIixkaXZpZGU6Ii8iLHBvd2VyOiJeIix3aGl0ZXNwYWNlOi9bXDAtXHgyMFxzXSsvLHVucGFyc2VkOm51bGx9KTtmdW5jdGlvbiBjKGUsdD1hKCkpe2lmKCFlKXJldHVybltdO2NvbnN0IG49W10scj1PYmplY3Qua2V5cyh0KTtsZXQgaTtjb25zdCBvPSgoZT1hKCkpPT5uZXcgUmVnRXhwKE9iamVjdC52YWx1ZXMoZSkubWFwKChlPT57cmV0dXJuIG51bGw9PT1lPyIiOmAoJHsic3RyaW5nIj09dHlwZW9mIGU/KHQ9ZSx0LnJlcGxhY2UoL1tcXiQoKVtcXXt9Kis/fFxcXS9nLCJcXCQmIikpOmUuc291cmNlfSlgO3ZhciB0fSkpLmZpbHRlcigoZT0+IiIhPT1lKSkuY29uY2F0KCIuIikuam9pbigifCIpLCJnIikpKHQpO2Zvcig7aT1vLmV4ZWMoZSk7KXtsZXQgZT0hMTtmb3IobGV0IHQ9ci5sZW5ndGg7dC0tOylpZihpW3QrMV0pe3JbdF0mJm4ucHVzaCh7dmFsdWU6aVt0KzFdLHR5cGU6clt0XSxwcmVjZWRlbmNlOjAsb2Zmc2V0OmkuaW5kZXh9KSxlPSEwO2JyZWFrfWV8fG4ucHVzaCh7dmFsdWU6aVswXSx0eXBlOiJ1bnBhcnNlZCIscHJlY2VkZW5jZTowLG9mZnNldDppLmluZGV4fSl9cmV0dXJuIG59fSw3OTUzODMoZSx0LG4pe24oMzYzMjY5KS5zZXRDbGFzc2VzKCksbig0Mjk2Niksbig2MTAyNjgpO3ZhciByPW4oNzQ5NjQ4KS53aGVuRG9jdW1lbnRSZWFkeSxpPW4oOTMxMTk4KS5oYW5kbGVUVkxpbmtzQ2xpY2s7cigoKCk9PntpKCl9KSl9LAo3OTgzOChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtTVFlMRV9TSE9SVF9OQU1FUzooKT0+cyxTWU1CT0xfU1RSSU5HX0RBVEE6KCk9PmwsaXNDaGFydFN0eWxlU3R1ZHlJbmZvQ29tcGxleDooKT0+YX0pO24oNTgwMzcpO3ZhciByPW4oNzI4NDM2KSxpPW4oNzc3NjYxKSxvPW4oNTUwMzkzKTtuZXcgU2V0KFszLDYsNyw4LDksMTFdKSxuZXcgU2V0KFsxLDJdKTtjb25zdCBzPXswOiJiYXIiLDE6ImNhbmRsZSIsOToiaG9sbG93Q2FuZGxlIiwyOiJsaW5lIiwxNDoibGluZVdpdGhNYXJrZXJzIiwxNToic3RlcGxpbmUiLDM6ImFyZWEiLDE2OiJobGNBcmVhIiw0OiJyZW5rbyIsNzoicGIiLDU6ImthZ2kiLDY6InBuZiIsODoiaGEiLDEwOiJiYXNlbGluZSIsMTE6InJhbmdlIiwxMjoiaGlsbyIsMTM6ImNvbHVtbiIsMTc6InZvbEZvb3RwcmludCIsMTg6InRwbyIsMTk6InZvbENhbmRsZXMiLDIwOiJzdnAiLDIxOiJobGNCYXJzIn07ZnVuY3Rpb24gYShlKXtyZXR1cm4idmFyaWFudHMiaW4gZX1jb25zdCBjPVt7dHlwZTppLnN0dWR5VHBvUHJlcmlvZGljSWQsYmFzaWNTdHVkeVZlcnNpb246MTA0fSx7dHlwZTppLnN0dWR5VHBvU2Vzc2lvbnNJZCxiYXNpY1N0dWR5VmVyc2lvbjoxMDR9XSxsPXs0Ont0eXBlOiJCYXJTZXRSZW5rb0B0di1wcm9zdHVkaWVzIixiYXNpY1N0dWR5VmVyc2lvbjo3M30sNzp7dHlwZToiQmFyU2V0UHJpY2VCcmVha0B0di1wcm9zdHVkaWVzIixiYXNpY1N0dWR5VmVyc2lvbjozNH0sNTp7dHlwZToiQmFyU2V0S2FnaUB0di1wcm9zdHVkaWVzIixiYXNpY1N0dWR5VmVyc2lvbjo3M30sNjp7dHlwZToiQmFyU2V0UG5GQHR2LXByb3N0dWRpZXMiLGJhc2ljU3R1ZHlWZXJzaW9uOjczfSw4Ont0eXBlOiJCYXJTZXRIZWlrZW5Bc2hpQHR2LWJhc2ljc3R1ZGllcyIsYmFzaWNTdHVkeVZlcnNpb246NjB9LDExOnt0eXBlOiJCYXJTZXRSYW5nZUB0di1iYXNpY3N0dWRpZXMiLGJhc2ljU3R1ZHlWZXJzaW9uOjcyfSwxNzp7dHlwZTpyLnN0dWR5Vm9sRm9vdHByaW50SWQsYmFzaWNTdHVkeVZlcnNpb246MTA0fSwxODp7dmFyaWFudHM6YyxzZWxlY3RvcjplPT57Y29uc3QgdD1lO3JldHVybiJEYXkiPT09dC5wZXJpb2QmJjE9PT10LnBlcmlvZHNOdW0/Y1sxXTpjWzBdfX0sMjA6e3R5cGU6by5zdHVkeVZiUFNlc3Npb25zSWQsYmFzaWNTdHVkeVZlcnNpb246MTI2fX19LDYxMDI2OChlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KSwoMCxuKDExNTI5Mykuc2V0RG9jdW1lbnREaXJHZXR0ZXIpKCgoKT0+d2luZG93LmRvY3VtZW50LmRpcikpfSw5NjM5MDAoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcjshZnVuY3Rpb24oZSl7ZS5FbXB0eT0iIixlLlRlY2huaWNhbHNQYXRoPSJ0ZWNobmljYWxzLyIsZS5GaW5hbmNpYWxzT3ZlcnZpZXdQYXRoPSJmaW5hbmNpYWxzLW92ZXJ2aWV3LyIsZS5UaW1lbGluZVBhdGg9Imhpc3RvcnktdGltZWxpbmUvIixlLk5ld3NQYXRoPSJuZXdzLyIsZS5PcHRpb25zUGF0aD0ib3B0aW9ucy8iLGUuUHJvZmlsZVBhdGg9InByb2ZpbGUvIixlLkhvbGRpbmdzUGF0aD0iaG9sZGluZ3MvIn0ocnx8KHI9e30pKX0sMjEyMjI5KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NVU1RPTV9TVUZGSVg6KCk9PmEsRUFfU1VGRklYOigpPT5zLFRSSUFMX1NVRkZJWDooKT0+byxiaWxsaW5nQ3ljbGVUb01vbnRoOigpPT52LGJpbGxpbmdDeWNsZVRvVGltZVVuaXQ6KCk9PmMsY291bnREaXNjb3VudEJ5QmlsbGluZ0N5Y2xlOigpPT55LGdldERpc2NvdW50UHJvZHVjdElkOigpPT5nLGdldFBsYW5OYW1lOigpPT54LGdldFByb2R1Y3RGb3JUcmlhbDooKT0+cCxnZXRSZWFkYWJsZUN5Y2xlOigpPT5sLGdldFJlYWRhYmxlTnVtZXJpY0N5Y2xlOigpPT51LGdldFJlbGF0aXZlQW1vdW50T2ZEYXlzRnJvbUJpbGxpbmdDeWNsZTooKT0+aCxodW1hbml6ZUNhcmRQbGFuOigpPT5tLGh1bWFuaXplUHJvUGxhbjooKT0+Zixpc1RyaWFsUHJvZHVjdDooKT0+ZCxyb3VuZDA6KCk9PmIscm91bmQyOigpPT53LHJvdW5kMm9yMDooKT0+X30pO24oODI5MTgwKTt2YXIgcj1uKDE4NTI3MSksaT1uKDg2NDAzNCk7Y29uc3Qgbz0iX3RyaWFsIixzPSJfZGlzY291bnQiLGE9Il9jdXN0b20iO2Z1bmN0aW9uIGMoZSl7cmV0dXJue3k6ci50KG51bGwse3BsdXJhbDoieWVhcnMiLGNvdW50OjF9LG4oNDQyNjY2KSksbTpyLnQobnVsbCx7cGx1cmFsOiJtb250aHMiLGNvdW50OjF9LG4oMzIzNDg1KSksIjNtIjpyLnQobnVsbCx2b2lkIDAsbig4NjM4NTIpKX1bZV18fCIifWZ1bmN0aW9uIGwoZSl7cmV0dXJue206ci50KG51bGwsdm9pZCAwLG4oNTU2NTY4KSkseTpyLnQobnVsbCx2b2lkIDAsbig3MjExMTgpKSwiM20iOnIudChudWxsLHZvaWQgMCxuKDMyODAzMCkpfVtlXXx8IiJ9ZnVuY3Rpb24gdShlKXtyZXR1cm57W2kuQmlsbGluZ0N5Y2xlLk1vbnRobHldOnIudChudWxsLHZvaWQgMCxuKDU1NjU2OCkpLFtpLkJpbGxpbmdDeWNsZS5PbmVZZWFyXTpyLnQobnVsbCx2b2lkIDAsbigxMTE5NzYpKSxbaS5CaWxsaW5nQ3ljbGUuVGhyZWVNb250aHNdOnIudChudWxsLHZvaWQgMCxuKDMyODAzMCkpfVtlXXx8IiJ9ZnVuY3Rpb24gZChlKXtyZXR1cm4gbmV3IFJlZ0V4cChvKyIkIikudGVzdChlKX1mdW5jdGlvbiBwKGUpe3JldHVybiBlLnNwbGl0KG8pWzBdfWZ1bmN0aW9uIGcoZSx0LG4pe3JldHVybmAke2V9XyR7dH0ke259YH1mdW5jdGlvbiBmKGUsdCl7bGV0IGk9ZTtzd2l0Y2goZSl7Y2FzZSJmcmVlIjppPSJCYXNpYyI7YnJlYWs7Y2FzZSJwcm8iOmk9IkVzc2VudGlhbCI7YnJlYWs7Y2FzZSJwcm9fcmVhbHRpbWUiOmk9IlBsdXMiO2JyZWFrO2Nhc2UicHJvX3ByZW1pdW0iOmk9IlByZW1pdW0iO2JyZWFrO2Nhc2UicHJvX2V4cGVydCI6aT0iRXhwZXJ0IjticmVhaztjYXNlInByb19wcmVtaXVtX2V4cGVydCI6aT0iVWx0aW1hdGUifXJldHVybiB0JiYoaSs9IiAiK3IudChudWxsLHZvaWQgMCxuKDgzNTgpKSksaX1mdW5jdGlvbiBtKGUpe2xldCB0PWU7c3dpdGNoKGUpe2Nhc2UicHJvIjp0PSJFc3NlbnRpYWwiO2JyZWFrO2Nhc2UicHJvX3JlYWx0aW1lIjp0PSJQbHVzIjticmVhawo7Y2FzZSJwcm9fcHJlbWl1bSI6dD0iUHJlbWl1bSI7YnJlYWs7Y2FzZSJwcm9fZXhwZXJ0Ijp0PSJFeHBlcnQiO2JyZWFrO2Nhc2UicHJvX3ByZW1pdW1fZXhwZXJ0Ijp0PSJVbHRpbWF0ZSI7YnJlYWs7Y2FzZSJmcmVlIjp0PSJCYXNpYyJ9cmV0dXJuIHR9ZnVuY3Rpb24gaChlLHQpe2NvbnN0IG49dHx8bmV3IERhdGUscj12KGUpLGk9bi5nZXRNb250aCgpK3Isbz1uZXcgRGF0ZShuZXcgRGF0ZShuKS5zZXRNb250aChpKSk7cmV0dXJuIG8uZ2V0TW9udGgoKT5pJTEyJiZvLnNldERhdGUoMCksZnVuY3Rpb24oZSx0KXtjb25zdCBuPXQuZ2V0VGltZSgpLWUuZ2V0VGltZSgpO3JldHVybiBNYXRoLnJvdW5kKG4vMWUzLzYwLzYwLzI0KX0obixvKX1mdW5jdGlvbiB5KGUsdCxuKXtyZXR1cm4gTWF0aC5yb3VuZCgodC1lKSp2KG4pKX1mdW5jdGlvbiB2KGUpe3N3aXRjaChlKXtjYXNlIGkuQmlsbGluZ0N5Y2xlLk9uZVllYXI6cmV0dXJuIDEyO2Nhc2UgaS5CaWxsaW5nQ3ljbGUuVGhyZWVNb250aHM6cmV0dXJuIDM7ZGVmYXVsdDpyZXR1cm4gMX19ZnVuY3Rpb24gdyhlKXtyZXR1cm4oTWF0aC5yb3VuZCgxMDAqZSkvMTAwKS50b0ZpeGVkKDIpfWZ1bmN0aW9uIGIoZSl7Y29uc3QgdD1NYXRoLnJvdW5kKDEwMCplKS8xMDA7cmV0dXJuIE1hdGgucm91bmQodCkudG9GaXhlZCgwKX1mdW5jdGlvbiBfKGUpe2NvbnN0IHQ9TWF0aC5yb3VuZCgxMDAqZSkvMTAwLG49TWF0aC5yb3VuZCh0KTtyZXR1cm4gTWF0aC5hYnModC1uKT4wP3QudG9GaXhlZCgyKTpuLnRvRml4ZWQoMCl9ZnVuY3Rpb24geChlKXtjb25zdCB0PXIudChudWxsLHZvaWQgMCxuKDE1Mzc2NikpO2lmKGQoZSkpe2NvbnN0IG49ZihwKGUpKTtyZXR1cm4gdC5mb3JtYXQoe3Byb1BsYW5OYW1lOm59KX1yZXR1cm4gZihlKX19LDQ0MzU1NyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtwYXJzZUh0bWw6KCk9Pm8scGFyc2VIdG1sRWxlbWVudDooKT0+c30pO2NvbnN0IHI9bmV3IFdlYWtNYXA7dmFyIGk7ZnVuY3Rpb24gbyhlLHQpe2xldCBuLGk7cmV0dXJuIG49bnVsbD09dD9kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ6OT09PXQubm9kZVR5cGU/dC5kb2N1bWVudEVsZW1lbnQ6dCxyJiYoaT1yLmdldChuKSksaXx8KGk9bi5vd25lckRvY3VtZW50LmNyZWF0ZVJhbmdlKCksaS5zZWxlY3ROb2RlQ29udGVudHMobiksciYmci5zZXQobixpKSksaS5jcmVhdGVDb250ZXh0dWFsRnJhZ21lbnQoZSl9ZnVuY3Rpb24gcyhlLHQpe2NvbnN0IG49byhlLHQpLHI9bi5maXJzdEVsZW1lbnRDaGlsZDtyZXR1cm4gbnVsbCE9PXImJm4ucmVtb3ZlQ2hpbGQocikscn0hZnVuY3Rpb24oZSl7ZVtlLkVsZW1lbnQ9MV09IkVsZW1lbnQiLGVbZS5Eb2N1bWVudD05XT0iRG9jdW1lbnQifShpfHwoaT17fSkpfSw5MzExOTgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7aGFuZGxlVFZMaW5rc0NsaWNrOigpPT5hfSk7dmFyIHI9big0MDAxODEpLGk9big2MDE1ODcpLG89big3MzA2NDUpO2NvbnN0IHM9ImlnbHU6Y29tLnRyYWRpbmd2aWV3L3dpZGdldF90dl9saW5rX2NsaWNrL2pzb25zY2hlbWEvMS0wLTAiO2Z1bmN0aW9uIGEoKXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKGU9Pntjb25zdCB0PWUudGFyZ2V0LmNsb3Nlc3QoIjpsaW5rIik7dD8uaG9zdG5hbWUmJigwLG8uaXNJbnRlcm5hbEhvc3QpKHQuaG9zdG5hbWUsInRyYWRpbmd2aWV3LmNvbSIpJiZhc3luYyBmdW5jdGlvbihlLHQpe2NvbnN0IG49ZnVuY3Rpb24oKXtjb25zdCBlPXdpbmRvdy5pbml0RGF0YS5oYXNoU2V0dGluZ3M7aWYoT2JqZWN0LmtleXMoZSkubGVuZ3RoPjApcmV0dXJuKDAsaS5maWx0ZXJVdG1JbmZvKShlKTtjb25zdCB0PW5ldyBVUkxTZWFyY2hQYXJhbXMobG9jYXRpb24uaHJlZik7cmV0dXJue3V0bV9jYW1wYWlnbjp0LmdldCgidXRtX2NhbXBhaWduIil8fHZvaWQgMCx1dG1fc291cmNlOnQuZ2V0KCJ1dG1fc291cmNlIil8fHZvaWQgMH19KCk7KGF3YWl0KDAsci5nZXRUcmFja2VyKSgpKT8udHJhY2tTZWxmRGVzYyhzLHt3aWRnZXRfdHlwZTpsKG4pLGRvbWFpbjpjKG4pLGxpbms6ZSx0YXJnZXRfdHlwZTp0fSl9KHQuaHJlZix0LmRhdGFzZXQudGFyZ2V0VHlwZXx8bnVsbCl9KSl9ZnVuY3Rpb24gYyhlKXtjb25zdCB0PWxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucz8uWzBdfHxkb2N1bWVudC5yZWZlcnJlcjtyZXR1cm4gZS51dG1fc291cmNlfHxmdW5jdGlvbihlKXt0cnl7cmV0dXJuIG5ldyBVUkwoZSkuaG9zdH1jYXRjaChlKXtyZXR1cm4iIn19KHQpfWZ1bmN0aW9uIGwoZSl7aWYoZS51dG1fY2FtcGFpZ24pcmV0dXJuIGUudXRtX2NhbXBhaWduO2NvbnN0IHQ9bG9jYXRpb24ucGF0aG5hbWU7cmV0dXJuIHQuaW5jbHVkZXMoImVtYmVkLXdpZGdldCIpP3Quc3BsaXQoIi8iKVsyXTp0fX0sMzg5Mjk4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3RyYWNrV2lkZ2V0TG9hZE1ldGFJbmZvOigpPT5pfSk7dmFyIHI9big0MDAxODEpO2FzeW5jIGZ1bmN0aW9uIGkoZSl7TWF0aC5yYW5kb20oKT4uMDA1fHwoYXdhaXQoMCxyLmdldFRyYWNrZXIpKCkpPy50cmFja1NlbGZEZXNjKCJpZ2x1OmNvbS50cmFkaW5ndmlldy93aWRnZXRfbG9hZF9tZXRhX2luZm8vanNvbnNjaGVtYS8xLTAtMCIsZSl9fSw5MDIxMDAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZXh0cmFjdFdpZGdldFNldHRpbmdzOigpPT5pfSk7Y29uc3Qgcj17d2hpdGVsYWJlbDohMCxwZXJtaXNzaW9uT3ZlcnJpZGVzOiEwLGxpbmtDYXB0dXJpbmdBbGxvd2VkOiEwLHN5bWJvbF9zZWFyY2hfZGVmYXVsdF9leGNoYW5nZTohMCxzeW1ib2xfc2VhcmNoX2FsbG93ZWRfZXhjaGFuZ2VzOiEwfTtmdW5jdGlvbiBpKGUsdD1bXSxuKXtyZXR1cm4gZnVuY3Rpb24oZSx0LG4saT1bXSxvKXtjb25zdCBzPW4uc2xpY2UoMSksYT1kZWNvZGVVUklDb21wb25lbnQocyk7bGV0IGM9e307dHJ5eyIiIT09YSYmKGM9SlNPTi5wYXJzZShhKSx2b2lkIDAhPT1vJiZvKGUsYyksT2JqZWN0LmtleXMoYykuZm9yRWFjaCgoZT0+eyhyW2VdfHxpLmluY2x1ZGVzKGUpKSYmZGVsZXRlIGNbZV19KSkpfWNhdGNoKGUpe2M9e30sCmNvbnNvbGUud2FybigiSGFzaCBwYXJhbXMgcGFyc2luZyBlcnJvciEgSGFzaCBwYXJhbXMgaWdub3JlZC4iKX1jb25zdCBsPXQuc2xpY2UoMSksdT10LmluY2x1ZGVzKCIlIik/ZGVjb2RlVVJJQ29tcG9uZW50KGwpOnQsZD1uZXcgVVJMU2VhcmNoUGFyYW1zKHUpO2xldCBwPXt9O3RyeXtkLmZvckVhY2goKChlLHQpPT57aS5pbmNsdWRlcyh0KXx8KHBbdF09ZSl9KSksdm9pZCAwIT09byYmbyhlLHApfWNhdGNoKGUpe3A9e30sY29uc29sZS53YXJuKCJTZWFyY2ggcXVlcnkgcGFyYW1zIHBhcnNpbmcgZXJyb3IhIFNlYXJjaCBxdWVyeSBwYXJhbXMgaWdub3JlZC4iKX1yZXR1cm4gT2JqZWN0LmFzc2lnbih7fSxlLGMscCl9KGUsbG9jYXRpb24uc2VhcmNoLGxvY2F0aW9uLmhhc2gsdCxuKX19LDI1NDY3MyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtJbnRlcnZhbDooKT0+dSxSZXNvbHV0aW9uS2luZDooKT0+byxTcGVjaWFsUmVzb2x1dGlvbktpbmQ6KCk9PnN9KTtjb25zdCByPS9eKFxkKikoW1RTSERXTVJdKSQvLGk9L14oXGQrKSQvO3ZhciBvLHM7IWZ1bmN0aW9uKGUpe2UuVGlja3M9InRpY2tzIixlLlNlY29uZHM9InNlY29uZHMiLGUuTWludXRlcz0ibWludXRlcyIsZS5EYXlzPSJkYXlzIixlLldlZWtzPSJ3ZWVrcyIsZS5Nb250aHM9Im1vbnRocyIsZS5SYW5nZT0icmFuZ2UiLGUuSW52YWxpZD0iaW52YWxpZCJ9KG98fChvPXt9KSksZnVuY3Rpb24oZSl7ZS5Ib3Vycz0iaG91cnMifShzfHwocz17fSkpO2NvbnN0IGE9e307YVtvLlRpY2tzXT0xZTMsYVtvLlNlY29uZHNdPTFlMyxhW28uTWludXRlc109NjAqYVtvLlNlY29uZHNdLGFbby5EYXlzXT0xNDQwKmFbby5NaW51dGVzXSxhW28uV2Vla3NdPTcqYVtvLkRheXNdO2NvbnN0IGM9e1Q6by5UaWNrcyxTOm8uU2Vjb25kcyxEOm8uRGF5cyxXOm8uV2Vla3MsTTpvLk1vbnRocyxSOm8uUmFuZ2V9LGw9bmV3IFNldChbby5UaWNrcyxvLlNlY29uZHMsby5NaW51dGVzXSk7Y2xhc3MgdXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2tpbmQ9by5JbnZhbGlkLHRoaXMuX211bHRpcGxpZXI9MCxlIT09by5JbnZhbGlkJiZ0PjAmJih0aGlzLl9raW5kPWUsdGhpcy5fbXVsdGlwbGllcj10KX1raW5kKCl7cmV0dXJuIHRoaXMuX2tpbmR9Z3VpS2luZCgpe3JldHVybiB0aGlzLmlzTWludXRlSG91cnMoKT9zLkhvdXJzOnRoaXMuX2tpbmR9bXVsdGlwbGllcigpe3JldHVybiB0aGlzLl9tdWx0aXBsaWVyfWlzVmFsaWQoKXtyZXR1cm4gdGhpcy5raW5kKCkhPT1vLkludmFsaWQmJnRoaXMubXVsdGlwbGllcigpPjB9aXNEV00oKXtyZXR1cm4gdGhpcy5pc1ZhbGlkKCkmJiF0aGlzLmlzUmFuZ2UoKSYmIXRoaXMuaXNJbnRyYWRheSgpJiYhdGhpcy5pc1RpY2tzKCl9aXNJbnRyYWRheSgpe2NvbnN0IGU9bC5oYXModGhpcy5raW5kKCkpO3JldHVybiB0aGlzLmlzVmFsaWQoKSYmZX1pc1NlY29uZHMoKXtyZXR1cm4gdGhpcy5raW5kKCk9PT1vLlNlY29uZHN9aXNNaW51dGVzKCl7cmV0dXJuIHRoaXMua2luZCgpPT09by5NaW51dGVzfWlzTWludXRlSG91cnMoKXtyZXR1cm4gdGhpcy5raW5kKCk9PT1vLk1pbnV0ZXMmJigoZT10aGlzLm11bHRpcGxpZXIoKSk+PTYwJiYhKGUlNjApKTt2YXIgZX1pc0RheXMoKXtyZXR1cm4gdGhpcy5raW5kKCk9PT1vLkRheXN9aXNXZWVrcygpe3JldHVybiB0aGlzLmtpbmQoKT09PW8uV2Vla3N9aXNNb250aHMoKXtyZXR1cm4gdGhpcy5raW5kKCk9PT1vLk1vbnRoc31pc1JhbmdlKCl7cmV0dXJuIHRoaXMua2luZCgpPT09by5SYW5nZX1pc1RpY2tzKCl7cmV0dXJuIHRoaXMua2luZCgpPT09by5UaWNrc31pczFUaWNrKCl7cmV0dXJuIHRoaXMuaXNUaWNrcygpJiYxPT09dGhpcy5tdWx0aXBsaWVyKCl9aXNUaW1lQmFzZWQoKXtyZXR1cm4hdGhpcy5pc1JhbmdlKCl9bGV0dGVyKCl7cmV0dXJuIHRoaXMuaXNWYWxpZCgpJiZ0aGlzLmtpbmQoKSE9PW8uTWludXRlcz90aGlzLmtpbmQoKVswXS50b1VwcGVyQ2FzZSgpOiIifXZhbHVlKCl7cmV0dXJuIHRoaXMuaXNWYWxpZCgpP3RoaXMua2luZCgpPT09by5NaW51dGVzP3RoaXMubXVsdGlwbGllcigpKyIiOnRoaXMubXVsdGlwbGllcigpK3RoaXMubGV0dGVyKCk6IiJ9aXNFcXVhbFRvKGUpe2lmKCEoZSBpbnN0YW5jZW9mIHUpKXRocm93IG5ldyBFcnJvcigiQXJndW1lbnQgaXMgbm90IGFuIEludGVydmFsIik7cmV0dXJuISghdGhpcy5pc1ZhbGlkKCl8fCFlLmlzVmFsaWQoKSkmJih0aGlzLmtpbmQoKT09PWUua2luZCgpJiZ0aGlzLm11bHRpcGxpZXIoKT09PWUubXVsdGlwbGllcigpKX1pbk1pbGxpc2Vjb25kcyhlPURhdGUubm93KCkpe2lmKCF0aGlzLmlzVmFsaWQoKXx8dGhpcy5pc1JhbmdlKCkpcmV0dXJuIE5hTjtpZih0aGlzLmlzTW9udGhzKCkpe2NvbnN0IHQ9bmV3IERhdGUoZSk7dC5zZXRVVENNb250aCh0LmdldFVUQ01vbnRoKCkrKHRoaXMubXVsdGlwbGllcigpfHwxKSk7cmV0dXJuK3QtZX1jb25zdCB0PXRoaXMubXVsdGlwbGllcigpO3JldHVybiBhW3RoaXMua2luZCgpXSp0fXN0YXRpYyBpc0VxdWFsKGUsdCl7cmV0dXJuIGU9PT10fHx1LnBhcnNlKGUpLmlzRXF1YWxUbyh1LnBhcnNlKHQpKX1zdGF0aWMgcGFyc2VFeHQoZSl7ZT0oZSsiIikudG9VcHBlckNhc2UoKS5zcGxpdCgiLCIpWzBdO2xldCB0PXIuZXhlYyhlKTtyZXR1cm4gbnVsbCE9PXQ/IkgiPT09dFsyXT97aW50ZXJ2YWw6bmV3IHUoby5NaW51dGVzLDYwKmQodFsxXSkpLGd1aVJlc29sdXRpb25LaW5kOnMuSG91cnN9OntpbnRlcnZhbDpuZXcgdShjW3RbMl1dLGQodFsxXSkpLGd1aVJlc29sdXRpb25LaW5kOmNbdFsyXV19Oih0PWkuZXhlYyhlKSxudWxsIT09dD97aW50ZXJ2YWw6bmV3IHUoby5NaW51dGVzLGQodFsxXSkpLGd1aVJlc29sdXRpb25LaW5kOm8uTWludXRlc306e2ludGVydmFsOm5ldyB1KG8uSW52YWxpZCwwKSxndWlSZXNvbHV0aW9uS2luZDpvLkludmFsaWR9KX1zdGF0aWMgcGFyc2UoZSl7cmV0dXJuIHUucGFyc2VFeHQoZSkuaW50ZXJ2YWx9c3RhdGljIGtpbmQoZSl7cmV0dXJuIHUucGFyc2UoZSkua2luZCgpfXN0YXRpYyBpc1ZhbGlkKGUpe3JldHVybiB1LnBhcnNlKGUpLmlzVmFsaWQoKQp9c3RhdGljIGlzRFdNKGUpe3JldHVybiB1LnBhcnNlKGUpLmlzRFdNKCl9c3RhdGljIGlzSW50cmFkYXkoZSl7cmV0dXJuIHUucGFyc2UoZSkuaXNJbnRyYWRheSgpfXN0YXRpYyBpc1NlY29uZHMoZSl7cmV0dXJuIHUucGFyc2UoZSkuaXNTZWNvbmRzKCl9c3RhdGljIGlzTWludXRlcyhlKXtyZXR1cm4gdS5wYXJzZShlKS5pc01pbnV0ZXMoKX1zdGF0aWMgaXNNaW51dGVIb3VycyhlKXtyZXR1cm4gdS5wYXJzZShlKS5pc01pbnV0ZUhvdXJzKCl9c3RhdGljIGlzRGF5cyhlKXtyZXR1cm4gdS5wYXJzZShlKS5pc0RheXMoKX1zdGF0aWMgaXNXZWVrcyhlKXtyZXR1cm4gdS5wYXJzZShlKS5pc1dlZWtzKCl9c3RhdGljIGlzTW9udGhzKGUpe3JldHVybiB1LnBhcnNlKGUpLmlzTW9udGhzKCl9c3RhdGljIGlzUmFuZ2UoZSl7cmV0dXJuIHUucGFyc2UoZSkuaXNSYW5nZSgpfXN0YXRpYyBpc1RpY2tzKGUpe3JldHVybiB1LnBhcnNlKGUpLmlzVGlja3MoKX1zdGF0aWMgaXNUaW1lQmFzZWQoZSl7cmV0dXJuIHUucGFyc2UoZSkuaXNUaW1lQmFzZWQoKX1zdGF0aWMgbm9ybWFsaXplKGUpe2NvbnN0IHQ9dS5wYXJzZShlKTtyZXR1cm4gdC5pc1ZhbGlkKCk/dC52YWx1ZSgpOm51bGx9fWZ1bmN0aW9uIGQoZSl7cmV0dXJuIDA9PT1lLmxlbmd0aD8xOnBhcnNlSW50KGUsMTApfX0sNzM4NDU4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2lzQW5kcm9pZDooKT0+Zyxpc0FueU1vYmlsZTooKT0+dixpc0JsYWNrQmVycnk6KCk9PmYsaXNDaHJvbWU6KCk9PmEsaXNFZGdlOigpPT5sLGlzRkY6KCk9PmMsaXNJT1M6KCk9Pm0saXNJUGFkOigpPT55LGlzTGludXg6KCk9PnAsaXNNYWM6KCk9PmQsaXNPcGVyYU1pbmk6KCk9PmgsaXNTYWZhcmk6KCk9PnUsbW9iaWxldG91Y2g6KCk9Pm8sdG91Y2g6KCk9PnN9KTtjb25zdCByPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiYidW5kZWZpbmVkIiE9dHlwZW9mIG5hdmlnYXRvcixpPXImJiJvbnRvdWNoc3RhcnQiaW4gd2luZG93LG89ciYmaSYmIm9ub3JpZW50YXRpb25jaGFuZ2UiaW4gd2luZG93LHM9ciYmKGl8fCEhbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzKSxhPXImJndpbmRvdy5jaHJvbWUmJndpbmRvdy5jaHJvbWUucnVudGltZSxjPXImJndpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkuaW5kZXhPZigiZmlyZWZveCIpPi0xLGw9ciYmL1xzRWRnZVwvXGRcZFxiLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLHU9ciYmQm9vbGVhbihuYXZpZ2F0b3IudmVuZG9yKSYmbmF2aWdhdG9yLnZlbmRvci5pbmRleE9mKCJBcHBsZSIpPi0xJiYtMT09PW5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiQ3JpT1MiKSYmLTE9PT1uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIkZ4aU9TIiksZD1yJiYvbWFjL2kudGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pLHA9KHImJi9XaW4zMnxXaW42NC9pLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSxyJiYvTGludXgvaS50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSkpLGc9ciYmL0FuZHJvaWQvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGY9ciYmL0JsYWNrQmVycnkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLG09ciYmL2lQaG9uZXxpUGFkfGlQb2QvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSxoPXImJi9PcGVyYSBNaW5pL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSx5PXImJigiTWFjSW50ZWwiPT09bmF2aWdhdG9yLnBsYXRmb3JtJiZuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHM+MXx8L2lQYWQvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSksdj1nfHxmfHxtfHxofX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/83310.b995ac6804b2844d9f8b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.193Z","timestamp":1785120634193,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/83310.b995ac6804b2844d9f8b.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-2bb2b\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9becb232e21297582e5497e72332492d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":178987,"size_decoded":64109,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3072)","md5":"93d9421cbd613c344fe0d2304fc3f56f","sha1":"488c1099e8abbd1bd652f70a4a61838d0b67e451","sha256":"1db5831972e58d8dc696e62def3b0343254ce1fb96a088ca6cba4ac88bb22420","sha512":"4b73865ddf6a1691c2f219c408f45ed06d53e6385e9d8bf060d94f31f9f2902cb68383199c313d520a2ad7f35b7088b94661ec4290f35392d1a06713ddb8a5b1","ssdeep":"3072:1tp9AP81XDnSSgpogm3i3G3qCd3lnxEB6s7KXzR96wB6:1trAPMzSBpU3i3G3qCd3lnxEB6s7KXKx","tlshash":"3104d6963296e02213f185f908760442f31a7989394b85acf5bd9cd73c9ac4e72bdf78","first_seen":"2026-07-23T22:46:45.81119Z","last_seen":"2026-07-27T06:01:16.237212Z","times_seen":25,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNjQ2NDQsNzgzMTIsODMzMTBdLHs4MjkxODAodCxpLHMpe3MucihpKTt2YXIgZT1zKDYwMTg0MSk7Y29uc3QgaD0veyhcdyspfS9nLG49L3soXGQrKX0vZztTdHJpbmcucHJvdG90eXBlLmZvcm1hdD1mdW5jdGlvbiguLi50KXtjb25zdCBpPSgwLGUuaXNPYmplY3QpKHRbMF0pLHM9aT9oOm4scj1pPyhpLHMpPT57Y29uc3QgZT10WzBdO3JldHVybiB2b2lkIDAhPT1lW3NdP2Vbc106aX06KGkscyk9Pntjb25zdCBlPXBhcnNlSW50KHMsMTApLGg9dFtlXTtyZXR1cm4gdm9pZCAwIT09aD9oOml9O3JldHVybiB0aGlzLnJlcGxhY2UocyxyKX19LDM2MzI2OSh0LGkscyl7cy5kKGkse21vYmlsZXRvdWNoOigpPT5oLHNldENsYXNzZXM6KCk9PnIsdG91Y2g6KCk9Pm59KTt2YXIgZT1zKDczODQ1OCk7Y29uc3QgaD1lLm1vYmlsZXRvdWNoLG49ZS50b3VjaDtmdW5jdGlvbiByKCl7ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoZS50b3VjaD8iZmVhdHVyZS10b3VjaCI6ImZlYXR1cmUtbm8tdG91Y2giLGUubW9iaWxldG91Y2g/ImZlYXR1cmUtbW9iaWxldG91Y2giOiJmZWF0dXJlLW5vLW1vYmlsZXRvdWNoIil9fSwzMTg5NzQodCxpLHMpe3MuZChpLHtDaGVja01vYmlsZTooKT0+dSxpc0Rlc2t0b3BBcHA6KCk9PmwsaXNMaW51eDooKT0+byxpc01hYzooKT0+cixpc1N5bXBob255RW1iZWQ6KCk9PmEsb25Hb1BybzooKT0+ZixvbldpZGdldDooKT0+aC5vbldpZGdldCxzdXBwb3J0VG91Y2g6KCk9PmN9KTt2YXIgZT1zKDczODQ1OCksaD1zKDM3NzIyNik7Y29uc3Qgbj13aW5kb3cuVHJhZGluZ1ZpZXc9d2luZG93LlRyYWRpbmdWaWV3fHx7fTtmdW5jdGlvbiByKCl7cmV0dXJuIGUuaXNNYWN9ZnVuY3Rpb24gbygpe3JldHVybiBlLmlzTGludXh9ZnVuY3Rpb24gbCgpe3JldHVybi9UVkRlc2t0b3AvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpfWZ1bmN0aW9uIGEoKXtyZXR1cm4gbi5pc1N5bXBob255fHwhMX1jb25zdCB1PXtBbmRyb2lkOigpPT5lLmlzQW5kcm9pZCxCbGFja0JlcnJ5OigpPT5lLmlzQmxhY2tCZXJyeSxpT1M6KCk9PmUuaXNJT1MsT3BlcmE6KCk9PmUuaXNPcGVyYU1pbmksaXNJUGFkOigpPT5lLmlzSVBhZCxhbnk6KCk9PmUuaXNBbnlNb2JpbGV9O2Z1bmN0aW9uIGMoKXtyZXR1cm4gZS5tb2JpbGV0b3VjaHx8ZS50b3VjaHx8ZS5pc0FueU1vYmlsZX1uLmlzTW9iaWxlPXUsbi5vbldpZGdldD1oLm9uV2lkZ2V0O2UuaXNDaHJvbWUsZS5pc0ZGLGUuaXNFZGdlLGUuaXNTYWZhcmk7ZnVuY3Rpb24gZigpe3JldHVybiIvcHJpY2luZy8iPT09d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lfX0sMTg1MjcxKHQsaSxzKXtzLnIoaSkscy5kKGkse3Q6KCk9PmUudCx3aXRoVHJhbnNsYXRpb25Db250ZXh0OigpPT5ofSk7cyg4MjkxODApO3ZhciBlPXMoNzgzMjU0KTtmdW5jdGlvbiBoKHQpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9fSwxMjI3NDkodCxpKXt2YXIgcz1TeW1ib2wuZm9yKCJyZWFjdC5lbGVtZW50IiksZT1TeW1ib2wuZm9yKCJyZWFjdC5wb3J0YWwiKSxoPVN5bWJvbC5mb3IoInJlYWN0LmZyYWdtZW50Iiksbj1TeW1ib2wuZm9yKCJyZWFjdC5zdHJpY3RfbW9kZSIpLHI9U3ltYm9sLmZvcigicmVhY3QucHJvZmlsZXIiKSxvPVN5bWJvbC5mb3IoInJlYWN0LnByb3ZpZGVyIiksbD1TeW1ib2wuZm9yKCJyZWFjdC5jb250ZXh0IiksYT1TeW1ib2wuZm9yKCJyZWFjdC5mb3J3YXJkX3JlZiIpLHU9U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2UiKSxjPVN5bWJvbC5mb3IoInJlYWN0Lm1lbW8iKSxmPVN5bWJvbC5mb3IoInJlYWN0LmxhenkiKSxkPVN5bWJvbC5pdGVyYXRvcjt2YXIgbT17aXNNb3VudGVkOmZ1bmN0aW9uKCl7cmV0dXJuITF9LGVucXVldWVGb3JjZVVwZGF0ZTpmdW5jdGlvbigpe30sZW5xdWV1ZVJlcGxhY2VTdGF0ZTpmdW5jdGlvbigpe30sZW5xdWV1ZVNldFN0YXRlOmZ1bmN0aW9uKCl7fX0scD1PYmplY3QuYXNzaWduLGc9e307ZnVuY3Rpb24gdih0LGkscyl7dGhpcy5wcm9wcz10LHRoaXMuY29udGV4dD1pLHRoaXMucmVmcz1nLHRoaXMudXBkYXRlcj1zfHxtfWZ1bmN0aW9uIGIoKXt9ZnVuY3Rpb24gdyh0LGkscyl7dGhpcy5wcm9wcz10LHRoaXMuY29udGV4dD1pLHRoaXMucmVmcz1nLHRoaXMudXBkYXRlcj1zfHxtfXYucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9e30sdi5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24odCxpKXtpZigib2JqZWN0IiE9dHlwZW9mIHQmJiJmdW5jdGlvbiIhPXR5cGVvZiB0JiZudWxsIT10KXRocm93IEVycm9yKCJzZXRTdGF0ZSguLi4pOiB0YWtlcyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzIHRvIHVwZGF0ZSBvciBhIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcy4iKTt0aGlzLnVwZGF0ZXIuZW5xdWV1ZVNldFN0YXRlKHRoaXMsdCxpLCJzZXRTdGF0ZSIpfSx2LnByb3RvdHlwZS5mb3JjZVVwZGF0ZT1mdW5jdGlvbih0KXt0aGlzLnVwZGF0ZXIuZW5xdWV1ZUZvcmNlVXBkYXRlKHRoaXMsdCwiZm9yY2VVcGRhdGUiKX0sYi5wcm90b3R5cGU9di5wcm90b3R5cGU7dmFyIE09dy5wcm90b3R5cGU9bmV3IGI7TS5jb25zdHJ1Y3Rvcj13LHAoTSx2LnByb3RvdHlwZSksTS5pc1B1cmVSZWFjdENvbXBvbmVudD0hMDt2YXIgeT1BcnJheS5pc0FycmF5LFM9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSx4PXtjdXJyZW50Om51bGx9LF89e2tleTohMCxyZWY6ITAsX19zZWxmOiEwLF9fc291cmNlOiEwfTtmdW5jdGlvbiBDKHQsaSxlKXt2YXIgaCxuPXt9LHI9bnVsbCxvPW51bGw7aWYobnVsbCE9aSlmb3IoaCBpbiB2b2lkIDAhPT1pLnJlZiYmKG89aS5yZWYpLHZvaWQgMCE9PWkua2V5JiYocj0iIitpLmtleSksaSlTLmNhbGwoaSxoKSYmIV8uaGFzT3duUHJvcGVydHkoaCkmJihuW2hdPWlbaF0pO3ZhciBsPWFyZ3VtZW50cy5sZW5ndGgtMgo7aWYoMT09PWwpbi5jaGlsZHJlbj1lO2Vsc2UgaWYoMTxsKXtmb3IodmFyIGE9QXJyYXkobCksdT0wO3U8bDt1KyspYVt1XT1hcmd1bWVudHNbdSsyXTtuLmNoaWxkcmVuPWF9aWYodCYmdC5kZWZhdWx0UHJvcHMpZm9yKGggaW4gbD10LmRlZmF1bHRQcm9wcyl2b2lkIDA9PT1uW2hdJiYobltoXT1sW2hdKTtyZXR1cm57JCR0eXBlb2Y6cyx0eXBlOnQsa2V5OnIscmVmOm8scHJvcHM6bixfb3duZXI6eC5jdXJyZW50fX1mdW5jdGlvbiBrKHQpe3JldHVybiJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXQmJnQuJCR0eXBlb2Y9PT1zfXZhciBFPS9cLysvZztmdW5jdGlvbiBOKHQsaSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiB0JiZudWxsIT09dCYmbnVsbCE9dC5rZXk/ZnVuY3Rpb24odCl7dmFyIGk9eyI9IjoiPTAiLCI6IjoiPTIifTtyZXR1cm4iJCIrdC5yZXBsYWNlKC9bPTpdL2csKGZ1bmN0aW9uKHQpe3JldHVybiBpW3RdfSkpfSgiIit0LmtleSk6aS50b1N0cmluZygzNil9ZnVuY3Rpb24gVCh0LGksaCxuLHIpe3ZhciBvPXR5cGVvZiB0OyJ1bmRlZmluZWQiIT09byYmImJvb2xlYW4iIT09b3x8KHQ9bnVsbCk7dmFyIGw9ITE7aWYobnVsbD09PXQpbD0hMDtlbHNlIHN3aXRjaChvKXtjYXNlInN0cmluZyI6Y2FzZSJudW1iZXIiOmw9ITA7YnJlYWs7Y2FzZSJvYmplY3QiOnN3aXRjaCh0LiQkdHlwZW9mKXtjYXNlIHM6Y2FzZSBlOmw9ITB9fWlmKGwpcmV0dXJuIHI9cihsPXQpLHQ9IiI9PT1uPyIuIitOKGwsMCk6bix5KHIpPyhoPSIiLG51bGwhPXQmJihoPXQucmVwbGFjZShFLCIkJi8iKSsiLyIpLFQocixpLGgsIiIsKGZ1bmN0aW9uKHQpe3JldHVybiB0fSkpKTpudWxsIT1yJiYoayhyKSYmKHI9ZnVuY3Rpb24odCxpKXtyZXR1cm57JCR0eXBlb2Y6cyx0eXBlOnQudHlwZSxrZXk6aSxyZWY6dC5yZWYscHJvcHM6dC5wcm9wcyxfb3duZXI6dC5fb3duZXJ9fShyLGgrKCFyLmtleXx8bCYmbC5rZXk9PT1yLmtleT8iIjooIiIrci5rZXkpLnJlcGxhY2UoRSwiJCYvIikrIi8iKSt0KSksaS5wdXNoKHIpKSwxO2lmKGw9MCxuPSIiPT09bj8iLiI6bisiOiIseSh0KSlmb3IodmFyIGE9MDthPHQubGVuZ3RoO2ErKyl7dmFyIHU9bitOKG89dFthXSxhKTtsKz1UKG8saSxoLHUscil9ZWxzZSBpZih1PWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT09dHx8Im9iamVjdCIhPXR5cGVvZiB0P251bGw6ImZ1bmN0aW9uIj09dHlwZW9mKHQ9ZCYmdFtkXXx8dFsiQEBpdGVyYXRvciJdKT90Om51bGx9KHQpLCJmdW5jdGlvbiI9PXR5cGVvZiB1KWZvcih0PXUuY2FsbCh0KSxhPTA7IShvPXQubmV4dCgpKS5kb25lOylsKz1UKG89by52YWx1ZSxpLGgsdT1uK04obyxhKyspLHIpO2Vsc2UgaWYoIm9iamVjdCI9PT1vKXRocm93IGk9U3RyaW5nKHQpLEVycm9yKCJPYmplY3RzIGFyZSBub3QgdmFsaWQgYXMgYSBSZWFjdCBjaGlsZCAoZm91bmQ6ICIrKCJbb2JqZWN0IE9iamVjdF0iPT09aT8ib2JqZWN0IHdpdGgga2V5cyB7IitPYmplY3Qua2V5cyh0KS5qb2luKCIsICIpKyJ9IjppKSsiKS4gSWYgeW91IG1lYW50IHRvIHJlbmRlciBhIGNvbGxlY3Rpb24gb2YgY2hpbGRyZW4sIHVzZSBhbiBhcnJheSBpbnN0ZWFkLiIpO3JldHVybiBsfWZ1bmN0aW9uIFIodCxpLHMpe2lmKG51bGw9PXQpcmV0dXJuIHQ7dmFyIGU9W10saD0wO3JldHVybiBUKHQsZSwiIiwiIiwoZnVuY3Rpb24odCl7cmV0dXJuIGkuY2FsbChzLHQsaCsrKX0pKSxlfWZ1bmN0aW9uIFAodCl7aWYoLTE9PT10Ll9zdGF0dXMpe3ZhciBpPXQuX3Jlc3VsdDsoaT1pKCkpLnRoZW4oKGZ1bmN0aW9uKGkpezAhPT10Ll9zdGF0dXMmJi0xIT09dC5fc3RhdHVzfHwodC5fc3RhdHVzPTEsdC5fcmVzdWx0PWkpfSksKGZ1bmN0aW9uKGkpezAhPT10Ll9zdGF0dXMmJi0xIT09dC5fc3RhdHVzfHwodC5fc3RhdHVzPTIsdC5fcmVzdWx0PWkpfSkpLC0xPT09dC5fc3RhdHVzJiYodC5fc3RhdHVzPTAsdC5fcmVzdWx0PWkpfWlmKDE9PT10Ll9zdGF0dXMpcmV0dXJuIHQuX3Jlc3VsdC5kZWZhdWx0O3Rocm93IHQuX3Jlc3VsdH12YXIgej17Y3VycmVudDpudWxsfSxJPXt0cmFuc2l0aW9uOm51bGx9LEw9e1JlYWN0Q3VycmVudERpc3BhdGNoZXI6eixSZWFjdEN1cnJlbnRCYXRjaENvbmZpZzpJLFJlYWN0Q3VycmVudE93bmVyOnh9O2kuQ2hpbGRyZW49e21hcDpSLGZvckVhY2g6ZnVuY3Rpb24odCxpLHMpe1IodCwoZnVuY3Rpb24oKXtpLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pLHMpfSxjb3VudDpmdW5jdGlvbih0KXt2YXIgaT0wO3JldHVybiBSKHQsKGZ1bmN0aW9uKCl7aSsrfSkpLGl9LHRvQXJyYXk6ZnVuY3Rpb24odCl7cmV0dXJuIFIodCwoZnVuY3Rpb24odCl7cmV0dXJuIHR9KSl8fFtdfSxvbmx5OmZ1bmN0aW9uKHQpe2lmKCFrKHQpKXRocm93IEVycm9yKCJSZWFjdC5DaGlsZHJlbi5vbmx5IGV4cGVjdGVkIHRvIHJlY2VpdmUgYSBzaW5nbGUgUmVhY3QgZWxlbWVudCBjaGlsZC4iKTtyZXR1cm4gdH19LGkuQ29tcG9uZW50PXYsaS5GcmFnbWVudD1oLGkuUHJvZmlsZXI9cixpLlB1cmVDb21wb25lbnQ9dyxpLlN0cmljdE1vZGU9bixpLlN1c3BlbnNlPXUsaS5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRD1MLGkuY2xvbmVFbGVtZW50PWZ1bmN0aW9uKHQsaSxlKXtpZihudWxsPT10KXRocm93IEVycm9yKCJSZWFjdC5jbG9uZUVsZW1lbnQoLi4uKTogVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBSZWFjdCBlbGVtZW50LCBidXQgeW91IHBhc3NlZCAiK3QrIi4iKTt2YXIgaD1wKHt9LHQucHJvcHMpLG49dC5rZXkscj10LnJlZixvPXQuX293bmVyO2lmKG51bGwhPWkpe2lmKHZvaWQgMCE9PWkucmVmJiYocj1pLnJlZixvPXguY3VycmVudCksdm9pZCAwIT09aS5rZXkmJihuPSIiK2kua2V5KSx0LnR5cGUmJnQudHlwZS5kZWZhdWx0UHJvcHMpdmFyIGw9dC50eXBlLmRlZmF1bHRQcm9wcztmb3IoYSBpbiBpKVMuY2FsbChpLGEpJiYhXy5oYXNPd25Qcm9wZXJ0eShhKSYmKGhbYV09dm9pZCAwPT09aVthXSYmdm9pZCAwIT09bD9sW2FdOmlbYV0pfXZhciBhPWFyZ3VtZW50cy5sZW5ndGgtMgo7aWYoMT09PWEpaC5jaGlsZHJlbj1lO2Vsc2UgaWYoMTxhKXtsPUFycmF5KGEpO2Zvcih2YXIgdT0wO3U8YTt1KyspbFt1XT1hcmd1bWVudHNbdSsyXTtoLmNoaWxkcmVuPWx9cmV0dXJueyQkdHlwZW9mOnMsdHlwZTp0LnR5cGUsa2V5Om4scmVmOnIscHJvcHM6aCxfb3duZXI6b319LGkuY3JlYXRlQ29udGV4dD1mdW5jdGlvbih0KXtyZXR1cm4odD17JCR0eXBlb2Y6bCxfY3VycmVudFZhbHVlOnQsX2N1cnJlbnRWYWx1ZTI6dCxfdGhyZWFkQ291bnQ6MCxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2RlZmF1bHRWYWx1ZTpudWxsLF9nbG9iYWxOYW1lOm51bGx9KS5Qcm92aWRlcj17JCR0eXBlb2Y6byxfY29udGV4dDp0fSx0LkNvbnN1bWVyPXR9LGkuY3JlYXRlRWxlbWVudD1DLGkuY3JlYXRlRmFjdG9yeT1mdW5jdGlvbih0KXt2YXIgaT1DLmJpbmQobnVsbCx0KTtyZXR1cm4gaS50eXBlPXQsaX0saS5jcmVhdGVSZWY9ZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpudWxsfX0saS5mb3J3YXJkUmVmPWZ1bmN0aW9uKHQpe3JldHVybnskJHR5cGVvZjphLHJlbmRlcjp0fX0saS5pc1ZhbGlkRWxlbWVudD1rLGkubGF6eT1mdW5jdGlvbih0KXtyZXR1cm57JCR0eXBlb2Y6ZixfcGF5bG9hZDp7X3N0YXR1czotMSxfcmVzdWx0OnR9LF9pbml0OlB9fSxpLm1lbW89ZnVuY3Rpb24odCxpKXtyZXR1cm57JCR0eXBlb2Y6Yyx0eXBlOnQsY29tcGFyZTp2b2lkIDA9PT1pP251bGw6aX19LGkuc3RhcnRUcmFuc2l0aW9uPWZ1bmN0aW9uKHQpe3ZhciBpPUkudHJhbnNpdGlvbjtJLnRyYW5zaXRpb249e307dHJ5e3QoKX1maW5hbGx5e0kudHJhbnNpdGlvbj1pfX0saS51bnN0YWJsZV9hY3Q9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiYWN0KC4uLikgaXMgbm90IHN1cHBvcnRlZCBpbiBwcm9kdWN0aW9uIGJ1aWxkcyBvZiBSZWFjdC4iKX0saS51c2VDYWxsYmFjaz1mdW5jdGlvbih0LGkpe3JldHVybiB6LmN1cnJlbnQudXNlQ2FsbGJhY2sodCxpKX0saS51c2VDb250ZXh0PWZ1bmN0aW9uKHQpe3JldHVybiB6LmN1cnJlbnQudXNlQ29udGV4dCh0KX0saS51c2VEZWJ1Z1ZhbHVlPWZ1bmN0aW9uKCl7fSxpLnVzZURlZmVycmVkVmFsdWU9ZnVuY3Rpb24odCl7cmV0dXJuIHouY3VycmVudC51c2VEZWZlcnJlZFZhbHVlKHQpfSxpLnVzZUVmZmVjdD1mdW5jdGlvbih0LGkpe3JldHVybiB6LmN1cnJlbnQudXNlRWZmZWN0KHQsaSl9LGkudXNlSWQ9ZnVuY3Rpb24oKXtyZXR1cm4gei5jdXJyZW50LnVzZUlkKCl9LGkudXNlSW1wZXJhdGl2ZUhhbmRsZT1mdW5jdGlvbih0LGkscyl7cmV0dXJuIHouY3VycmVudC51c2VJbXBlcmF0aXZlSGFuZGxlKHQsaSxzKX0saS51c2VJbnNlcnRpb25FZmZlY3Q9ZnVuY3Rpb24odCxpKXtyZXR1cm4gei5jdXJyZW50LnVzZUluc2VydGlvbkVmZmVjdCh0LGkpfSxpLnVzZUxheW91dEVmZmVjdD1mdW5jdGlvbih0LGkpe3JldHVybiB6LmN1cnJlbnQudXNlTGF5b3V0RWZmZWN0KHQsaSl9LGkudXNlTWVtbz1mdW5jdGlvbih0LGkpe3JldHVybiB6LmN1cnJlbnQudXNlTWVtbyh0LGkpfSxpLnVzZVJlZHVjZXI9ZnVuY3Rpb24odCxpLHMpe3JldHVybiB6LmN1cnJlbnQudXNlUmVkdWNlcih0LGkscyl9LGkudXNlUmVmPWZ1bmN0aW9uKHQpe3JldHVybiB6LmN1cnJlbnQudXNlUmVmKHQpfSxpLnVzZVN0YXRlPWZ1bmN0aW9uKHQpe3JldHVybiB6LmN1cnJlbnQudXNlU3RhdGUodCl9LGkudXNlU3luY0V4dGVybmFsU3RvcmU9ZnVuY3Rpb24odCxpLHMpe3JldHVybiB6LmN1cnJlbnQudXNlU3luY0V4dGVybmFsU3RvcmUodCxpLHMpfSxpLnVzZVRyYW5zaXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gei5jdXJyZW50LnVzZVRyYW5zaXRpb24oKX0saS52ZXJzaW9uPSIxOC4yLjAifSw3Nzk0NzQodCxpLHMpe3QuZXhwb3J0cz1zKDEyMjc0OSl9LDY3ODMxMih0LGkscyl7cy5kKGkse0FyZWFTZXJpZXM6KCk9PmtoLEJhclNlcmllczooKT0+UmgsQmFzZWxpbmVTZXJpZXM6KCk9PnhoLENhbmRsZXN0aWNrU2VyaWVzOigpPT5JaCxDb2xvclR5cGU6KCk9PlZpLENyb3NzaGFpck1vZGU6KCk9PlUsSGlzdG9ncmFtU2VyaWVzOigpPT5xaCxMYXN0UHJpY2VBbmltYXRpb25Nb2RlOigpPT5PaSxMaW5lU2VyaWVzOigpPT5naCxMaW5lU3R5bGU6KCk9PnIsTGluZVR5cGU6KCk9Pm4sTWlzbWF0Y2hEaXJlY3Rpb246KCk9PlJ0LFByaWNlU2NhbGVNb2RlOigpPT53aSxUaWNrTWFya1R5cGU6KCk9PiRpLGNyZWF0ZUNoYXJ0RXg6KCk9PnRoLGNyZWF0ZVRleHRXYXRlcm1hcms6KCk9PkhoLGN1c3RvbVNlcmllc0RlZmF1bHRPcHRpb25zOigpPT5HaCxkZWZhdWx0SG9yelNjYWxlQmVoYXZpb3I6KCk9PmlofSk7dmFyIGU9cyg5MTg3NzkpO2NvbnN0IGg9e3RpdGxlOiIiLHZpc2libGU6ITAsaGl0VGVzdFRvbGVyYW5jZTozLGxhc3RWYWx1ZVZpc2libGU6ITAscHJpY2VMaW5lVmlzaWJsZTohMCxwcmljZUxpbmVTb3VyY2U6MCxwcmljZUxpbmVXaWR0aDoxLHByaWNlTGluZUNvbG9yOiIiLHByaWNlTGluZVN0eWxlOjIsYmFzZUxpbmVWaXNpYmxlOiEwLGJhc2VMaW5lV2lkdGg6MSxiYXNlTGluZUNvbG9yOiIjQjJCNUJFIixiYXNlTGluZVN0eWxlOjAscHJpY2VGb3JtYXQ6e3R5cGU6InByaWNlIixwcmVjaXNpb246MixtaW5Nb3ZlOi4wMX19O3ZhciBuLHIsbztmdW5jdGlvbiBsKHQsaSl7Y29uc3Qgcz1mdW5jdGlvbih0LGkpe3N3aXRjaCh0KXtjYXNlIDA6ZGVmYXVsdDpyZXR1cm5bXTtjYXNlIDE6cmV0dXJuW2ksaV07Y2FzZSAyOnJldHVyblsyKmksMippXTtjYXNlIDM6cmV0dXJuWzYqaSw2KmldO2Nhc2UgNDpyZXR1cm5baSw0KmldfX0oaSx0LmxpbmVXaWR0aCk7cmV0dXJuIHQuc2V0TGluZURhc2gocyksc31mdW5jdGlvbiBhKHQsaSxzLGUpe3QuYmVnaW5QYXRoKCk7Y29uc3QgaD10LmxpbmVXaWR0aCUyPy41OjA7dC5tb3ZlVG8ocyxpK2gpLHQubGluZVRvKGUsaStoKSx0LnN0cm9rZSgpfWZ1bmN0aW9uIHUodCxpKXtpZighdCl0aHJvdyBuZXcgRXJyb3IoIkFzc2VydGlvbiBmYWlsZWQiKyhpPyI6ICIraToiIikpfWZ1bmN0aW9uIGModCl7CmlmKHZvaWQgMD09PXQpdGhyb3cgbmV3IEVycm9yKCJWYWx1ZSBpcyB1bmRlZmluZWQiKTtyZXR1cm4gdH1mdW5jdGlvbiBmKHQpe2lmKG51bGw9PT10KXRocm93IG5ldyBFcnJvcigiVmFsdWUgaXMgbnVsbCIpO3JldHVybiB0fWZ1bmN0aW9uIGQodCl7cmV0dXJuIGYoYyh0KSl9KG89bnx8KG49e30pKVtvLlNpbXBsZT0wXT0iU2ltcGxlIixvW28uV2l0aFN0ZXBzPTFdPSJXaXRoU3RlcHMiLG9bby5DdXJ2ZWQ9Ml09IkN1cnZlZCIsZnVuY3Rpb24odCl7dFt0LlNvbGlkPTBdPSJTb2xpZCIsdFt0LkRvdHRlZD0xXT0iRG90dGVkIix0W3QuRGFzaGVkPTJdPSJEYXNoZWQiLHRbdC5MYXJnZURhc2hlZD0zXT0iTGFyZ2VEYXNoZWQiLHRbdC5TcGFyc2VEb3R0ZWQ9NF09IlNwYXJzZURvdHRlZCJ9KHJ8fChyPXt9KSk7Y2xhc3MgbXtjb25zdHJ1Y3Rvcigpe3RoaXMudD1bXX1pKHQsaSxzKXtjb25zdCBlPXtoOnQsbDppLG86ITA9PT1zfTt0aGlzLnQucHVzaChlKX1fKHQpe2NvbnN0IGk9dGhpcy50LmZpbmRJbmRleCgoaT0+dD09PWkuaCkpO2k+LTEmJnRoaXMudC5zcGxpY2UoaSwxKX11KHQpe3RoaXMudD10aGlzLnQuZmlsdGVyKChpPT5pLmwhPT10KSl9cCh0LGkscyl7Y29uc3QgZT1bLi4udGhpcy50XTt0aGlzLnQ9dGhpcy50LmZpbHRlcigodD0+IXQubykpLGUuZm9yRWFjaCgoZT0+ZS5oKHQsaSxzKSkpfXYoKXtyZXR1cm4gdGhpcy50Lmxlbmd0aD4wfW0oKXt0aGlzLnQ9W119fWZ1bmN0aW9uIHAodCwuLi5pKXtmb3IoY29uc3QgcyBvZiBpKWZvcihjb25zdCBpIGluIHMpdm9pZCAwIT09c1tpXSYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsaSkmJiFbIl9fcHJvdG9fXyIsImNvbnN0cnVjdG9yIiwicHJvdG90eXBlIl0uaW5jbHVkZXMoaSkmJigib2JqZWN0IiE9dHlwZW9mIHNbaV18fHZvaWQgMD09PXRbaV18fEFycmF5LmlzQXJyYXkoc1tpXSk/dFtpXT1zW2ldOnAodFtpXSxzW2ldKSk7cmV0dXJuIHR9ZnVuY3Rpb24gZyh0KXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHQmJmlzRmluaXRlKHQpfWZ1bmN0aW9uIHYodCl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0JiZ0JTE9PTB9ZnVuY3Rpb24gYih0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHR9ZnVuY3Rpb24gdyh0KXtyZXR1cm4iYm9vbGVhbiI9PXR5cGVvZiB0fWZ1bmN0aW9uIE0odCl7Y29uc3QgaT10O2lmKCFpfHwib2JqZWN0IiE9dHlwZW9mIGkpcmV0dXJuIGk7bGV0IHMsZSxoO2ZvcihlIGluIHM9QXJyYXkuaXNBcnJheShpKT9bXTp7fSxpKWkuaGFzT3duUHJvcGVydHkoZSkmJihoPWlbZV0sc1tlXT1oJiYib2JqZWN0Ij09dHlwZW9mIGg/TShoKTpoKTtyZXR1cm4gc31mdW5jdGlvbiB5KHQpe3JldHVybiBudWxsIT09dH1mdW5jdGlvbiBTKHQpe3JldHVybiBudWxsPT09dD92b2lkIDA6dH1jb25zdCB4PSItYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdUcmVidWNoZXQgTVMnLCBSb2JvdG8sIFVidW50dSwgc2Fucy1zZXJpZiI7ZnVuY3Rpb24gXyh0LGkscyl7cmV0dXJuIHZvaWQgMD09PWkmJihpPXgpLGAke3M9dm9pZCAwIT09cz9gJHtzfSBgOiIifSR7dH1weCAke2l9YH1jbGFzcyBDe2NvbnN0cnVjdG9yKHQpe3RoaXMuTT17UzoxLEM6NSxrOk5hTixQOiIiLFQ6IiIsUjoiIixEOiIiLEk6MCxWOjAsQjowLEE6MCxMOjB9LHRoaXMuTz10fU4oKXtjb25zdCB0PXRoaXMuTSxpPXRoaXMuRigpLHM9dGhpcy5XKCk7cmV0dXJuIHQuaz09PWkmJnQuVD09PXN8fCh0Lms9aSx0LlQ9cyx0LlA9XyhpLHMpLHQuQT0yLjUvMTIqaSx0Lkk9dC5BLHQuVj1pLzEyKnQuQyx0LkI9aS8xMip0LkMsdC5MPTApLHQuUj10aGlzLkgoKSx0LkQ9dGhpcy5VKCksdGhpcy5NfUgoKXtyZXR1cm4gdGhpcy5PLk4oKS5sYXlvdXQudGV4dENvbG9yfVUoKXtyZXR1cm4gdGhpcy5PLiQoKX1GKCl7cmV0dXJuIHRoaXMuTy5OKCkubGF5b3V0LmZvbnRTaXplfVcoKXtyZXR1cm4gdGhpcy5PLk4oKS5sYXlvdXQuZm9udEZhbWlseX19ZnVuY3Rpb24gayh0KXtyZXR1cm4gdDwwPzA6dD4yNTU/MjU1Ok1hdGgucm91bmQodCl8fDB9ZnVuY3Rpb24gRSh0KXtyZXR1cm4uMTk5KnRbMF0rLjY4Nyp0WzFdKy4xMTQqdFsyXX1jbGFzcyBOe2NvbnN0cnVjdG9yKHQsaSl7dGhpcy5qPW5ldyBNYXAsdGhpcy5xPXQsaSYmKHRoaXMuaj1pKX1ZKHQsaSl7aWYoInRyYW5zcGFyZW50Ij09PXQpcmV0dXJuIHQ7Y29uc3Qgcz10aGlzLksodCksZT1zWzNdO3JldHVybmByZ2JhKCR7c1swXX0sICR7c1sxXX0sICR7c1syXX0sICR7aSplfSlgfVoodCl7Y29uc3QgaT10aGlzLksodCk7cmV0dXJue0c6YHJnYigke2lbMF19LCAke2lbMV19LCAke2lbMl19KWAsWDpFKGkpPjE2MD8iYmxhY2siOiJ3aGl0ZSJ9fUoodCl7cmV0dXJuIEUodGhpcy5LKHQpKX10dCh0LGkscyl7Y29uc3RbZSxoLG4scl09dGhpcy5LKHQpLFtvLGwsYSx1XT10aGlzLksoaSksYz1bayhlK3MqKG8tZSkpLGsoaCtzKihsLWgpKSxrKG4rcyooYS1uKSksKGY9citzKih1LXIpLGY8PTB8fGY+MT9NYXRoLm1pbihNYXRoLm1heChmLDApLDEpOk1hdGgucm91bmQoMWU0KmYpLzFlNCldO3ZhciBmO3JldHVybmByZ2JhKCR7Y1swXX0sICR7Y1sxXX0sICR7Y1syXX0sICR7Y1szXX0pYH1LKHQpe2NvbnN0IGk9dGhpcy5qLmdldCh0KTtpZihpKXJldHVybiBpO2NvbnN0IHM9ZnVuY3Rpb24odCl7Y29uc3QgaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtpLnN0eWxlLmRpc3BsYXk9Im5vbmUiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaSksaS5zdHlsZS5jb2xvcj10O2NvbnN0IHM9d2luZG93LmdldENvbXB1dGVkU3R5bGUoaSkuY29sb3I7cmV0dXJuIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoaSksc30odCksZT1zLm1hdGNoKC9ecmdiYT9ccypcKChcZCspLFxzKihcZCspLFxzKihcZCspKD86LFxzKihcZCpcLj9cZCspKT9cKSQvKTtpZighZSl7aWYodGhpcy5xLmxlbmd0aClmb3IoY29uc3QgaSBvZiB0aGlzLnEpe2NvbnN0IHM9aSh0KTtpZihzKXJldHVybiB0aGlzLmouc2V0KHQscyksc310aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBwYXJzZSBjb2xvcjogJHt0fWApfQpjb25zdCBoPVtwYXJzZUludChlWzFdLDEwKSxwYXJzZUludChlWzJdLDEwKSxwYXJzZUludChlWzNdLDEwKSxlWzRdP3BhcnNlRmxvYXQoZVs0XSk6MV07cmV0dXJuIHRoaXMuai5zZXQodCxoKSxofX1jbGFzcyBUe2NvbnN0cnVjdG9yKCl7dGhpcy5pdD1bXX1udCh0KXt0aGlzLml0PXR9c3QodCxpLHMpe3RoaXMuaXQuZm9yRWFjaCgoZT0+e2Uuc3QodCxpLHMpfSkpfX1jbGFzcyBSe3N0KHQsaSxzKXt0LnVzZUJpdG1hcENvb3JkaW5hdGVTcGFjZSgodD0+dGhpcy5ldCh0LGkscykpKX19Y2xhc3MgUCBleHRlbmRzIFJ7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMucnQ9bnVsbH1odCh0KXt0aGlzLnJ0PXR9ZXQoe2NvbnRleHQ6dCxob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzpzfSl7aWYobnVsbD09PXRoaXMucnR8fG51bGw9PT10aGlzLnJ0Lmx0KXJldHVybjtjb25zdCBlPXRoaXMucnQubHQsaD10aGlzLnJ0LG49TWF0aC5tYXgoMSxNYXRoLmZsb29yKGkpKSUyLzIscj1yPT57dC5iZWdpblBhdGgoKTtmb3IobGV0IG89ZS50by0xO28+PWUuZnJvbTstLW8pe2NvbnN0IGU9aC5vdFtvXSxsPU1hdGgucm91bmQoZS5fdCppKStuLGE9ZS51dCpzLHU9cipzK247dC5tb3ZlVG8obCxhKSx0LmFyYyhsLGEsdSwwLDIqTWF0aC5QSSl9dC5maWxsKCl9O2guY3Q+MCYmKHQuZmlsbFN0eWxlPWguZHQscihoLmZ0K2guY3QpKSx0LmZpbGxTdHlsZT1oLnZ0LHIoaC5mdCl9fWZ1bmN0aW9uIHooKXtyZXR1cm57b3Q6W3tfdDowLHV0OjAsd3Q6MCxNdDowfV0sdnQ6IiIsZHQ6IiIsZnQ6MCxjdDowLGx0Om51bGx9fWNvbnN0IEk9e2Zyb206MCx0bzoxfTtjbGFzcyBMe2NvbnN0cnVjdG9yKHQsaSxzKXt0aGlzLmd0PW5ldyBULHRoaXMuYnQ9W10sdGhpcy5TdD1bXSx0aGlzLnh0PSEwLHRoaXMuTz10LHRoaXMuQ3Q9aSx0aGlzLnl0PXMsdGhpcy5ndC5udCh0aGlzLmJ0KX1rdCh0KXt0aGlzLlB0KCksdGhpcy54dD0hMH1UdCgpe3JldHVybiB0aGlzLnh0JiYodGhpcy5SdCgpLHRoaXMueHQ9ITEpLHRoaXMuZ3R9UHQoKXtjb25zdCB0PXRoaXMueXQuRHQoKTt0Lmxlbmd0aCE9PXRoaXMuYnQubGVuZ3RoJiYodGhpcy5TdD10Lm1hcCh6KSx0aGlzLmJ0PXRoaXMuU3QubWFwKCh0PT57Y29uc3QgaT1uZXcgUDtyZXR1cm4gaS5odCh0KSxpfSkpLHRoaXMuZ3QubnQodGhpcy5idCkpfVJ0KCl7Y29uc3QgdD0yPT09dGhpcy5DdC5OKCkubW9kZXx8IXRoaXMuQ3QuSXQoKSxpPXRoaXMueXQuVnQoKSxzPXRoaXMuQ3QuQnQoKSxlPXRoaXMuTy5FdCgpO3RoaXMuUHQoKSxpLmZvckVhY2goKChpLGgpPT57Y29uc3Qgbj10aGlzLlN0W2hdLHI9aS5BdChzKSxvPWkuTHQoKTshdCYmbnVsbCE9PXImJmkuSXQoKSYmbnVsbCE9PW8/KG4udnQ9ci56dCxuLmZ0PXIuZnQsbi5jdD1yLk90LG4ub3RbMF0uTXQ9ci5NdCxuLm90WzBdLnV0PWkuRnQoKS5OdChyLk10LG8uV3QpLG4uZHQ9ci5IdD8/dGhpcy5PLlV0KG4ub3RbMF0udXQvaS5GdCgpLiR0KCkpLG4ub3RbMF0ud3Q9cyxuLm90WzBdLl90PWUuanQocyksbi5sdD1JKTpuLmx0PW51bGx9KSl9fWNsYXNzIEYgZXh0ZW5kcyBSe2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5xdD10fWV0KHtjb250ZXh0OnQsYml0bWFwU2l6ZTppLGhvcml6b250YWxQaXhlbFJhdGlvOnMsdmVydGljYWxQaXhlbFJhdGlvOmV9KXtpZihudWxsPT09dGhpcy5xdClyZXR1cm47Y29uc3QgaD10aGlzLnF0Lll0Lkl0LG49dGhpcy5xdC5LdC5JdDtpZighaCYmIW4pcmV0dXJuO2NvbnN0IHI9TWF0aC5yb3VuZCh0aGlzLnF0Ll90KnMpLG89TWF0aC5yb3VuZCh0aGlzLnF0LnV0KmUpO3QubGluZUNhcD0iYnV0dCIsaCYmcj49MCYmKHQubGluZVdpZHRoPU1hdGguZmxvb3IodGhpcy5xdC5ZdC5jdCpzKSx0LnN0cm9rZVN0eWxlPXRoaXMucXQuWXQuUix0LmZpbGxTdHlsZT10aGlzLnF0Lll0LlIsbCh0LHRoaXMucXQuWXQuWnQpLGZ1bmN0aW9uKHQsaSxzLGUpe3QuYmVnaW5QYXRoKCk7Y29uc3QgaD10LmxpbmVXaWR0aCUyPy41OjA7dC5tb3ZlVG8oaStoLDApLHQubGluZVRvKGkraCxlKSx0LnN0cm9rZSgpfSh0LHIsMCxpLmhlaWdodCkpLG4mJm8+PTAmJih0LmxpbmVXaWR0aD1NYXRoLmZsb29yKHRoaXMucXQuS3QuY3QqZSksdC5zdHJva2VTdHlsZT10aGlzLnF0Lkt0LlIsdC5maWxsU3R5bGU9dGhpcy5xdC5LdC5SLGwodCx0aGlzLnF0Lkt0Llp0KSxhKHQsbywwLGkud2lkdGgpKX19Y2xhc3MgcXtjb25zdHJ1Y3Rvcih0LGkpe3RoaXMueHQ9ITAsdGhpcy5HdD17WXQ6e2N0OjEsWnQ6MCxSOiIiLEl0OiExfSxLdDp7Y3Q6MSxadDowLFI6IiIsSXQ6ITF9LF90OjAsdXQ6MH0sdGhpcy5YdD1uZXcgRih0aGlzLkd0KSx0aGlzLkp0PXQsdGhpcy55dD1pfWt0KCl7dGhpcy54dD0hMH1UdCh0KXtyZXR1cm4gdGhpcy54dCYmKHRoaXMuUnQoKSx0aGlzLnh0PSExKSx0aGlzLlh0fVJ0KCl7Y29uc3QgdD10aGlzLkp0Lkl0KCksaT10aGlzLnl0LlF0KCkuTigpLmNyb3NzaGFpcixzPXRoaXMuR3Q7aWYoMj09PWkubW9kZSlyZXR1cm4gcy5LdC5JdD0hMSx2b2lkKHMuWXQuSXQ9ITEpO3MuS3QuSXQ9dCYmdGhpcy5KdC50aSh0aGlzLnl0KSxzLll0Lkl0PXQmJnRoaXMuSnQuaWkoKSxzLkt0LmN0PWkuaG9yekxpbmUud2lkdGgscy5LdC5adD1pLmhvcnpMaW5lLnN0eWxlLHMuS3QuUj1pLmhvcnpMaW5lLmNvbG9yLHMuWXQuY3Q9aS52ZXJ0TGluZS53aWR0aCxzLll0Llp0PWkudmVydExpbmUuc3R5bGUscy5ZdC5SPWkudmVydExpbmUuY29sb3Iscy5fdD10aGlzLkp0Lm5pKCkscy51dD10aGlzLkp0LnNpKCl9fWZ1bmN0aW9uIFcodCxpLHMsZSxoLG4pe3QuZmlsbFJlY3QoaStuLHMsZS0yKm4sbiksdC5maWxsUmVjdChpK24scytoLW4sZS0yKm4sbiksdC5maWxsUmVjdChpLHMsbixoKSx0LmZpbGxSZWN0KGkrZS1uLHMsbixoKX1mdW5jdGlvbiBRKHQsaSxzLGUsaCxuKXt0LnNhdmUoKSx0Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbj0iY29weSIsdC5maWxsU3R5bGU9bix0LmZpbGxSZWN0KGkscyxlLGgpLHQucmVzdG9yZSgpfWZ1bmN0aW9uIEQodCxpLHMsZSxoLG4pewp0LmJlZ2luUGF0aCgpLHQucm91bmRSZWN0P3Qucm91bmRSZWN0KGkscyxlLGgsbik6KHQubGluZVRvKGkrZS1uWzFdLHMpLDAhPT1uWzFdJiZ0LmFyY1RvKGkrZSxzLGkrZSxzK25bMV0sblsxXSksdC5saW5lVG8oaStlLHMraC1uWzJdKSwwIT09blsyXSYmdC5hcmNUbyhpK2UscytoLGkrZS1uWzJdLHMraCxuWzJdKSx0LmxpbmVUbyhpK25bM10scytoKSwwIT09blszXSYmdC5hcmNUbyhpLHMraCxpLHMraC1uWzNdLG5bM10pLHQubGluZVRvKGkscytuWzBdKSwwIT09blswXSYmdC5hcmNUbyhpLHMsaStuWzBdLHMsblswXSkpfWZ1bmN0aW9uIE8odCxpLHMsZSxoLG4scj0wLG89WzAsMCwwLDBdLGw9IiIpe2lmKHQuc2F2ZSgpLCFyfHwhbHx8bD09PW4pcmV0dXJuIEQodCxpLHMsZSxoLG8pLHQuZmlsbFN0eWxlPW4sdC5maWxsKCksdm9pZCB0LnJlc3RvcmUoKTtjb25zdCBhPXIvMjt2YXIgdTtEKHQsaSthLHMrYSxlLXIsaC1yLCh1PS1hLG8ubWFwKCh0PT4wPT09dD90OnQrdSkpKSksInRyYW5zcGFyZW50IiE9PW4mJih0LmZpbGxTdHlsZT1uLHQuZmlsbCgpKSwidHJhbnNwYXJlbnQiIT09bCYmKHQubGluZVdpZHRoPXIsdC5zdHJva2VTdHlsZT1sLHQuY2xvc2VQYXRoKCksdC5zdHJva2UoKSksdC5yZXN0b3JlKCl9ZnVuY3Rpb24gSyh0LGkscyxlLGgsbixyKXt0LnNhdmUoKSx0Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbj0iY29weSI7Y29uc3Qgbz10LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsMCwwLGgpO28uYWRkQ29sb3JTdG9wKDAsbiksby5hZGRDb2xvclN0b3AoMSxyKSx0LmZpbGxTdHlsZT1vLHQuZmlsbFJlY3QoaSxzLGUsaCksdC5yZXN0b3JlKCl9Y2xhc3MgVntjb25zdHJ1Y3Rvcih0LGkpe3RoaXMuaHQodCxpKX1odCh0LGkpe3RoaXMucXQ9dCx0aGlzLmVpPWl9JHQodCxpKXtyZXR1cm4gdGhpcy5xdC5JdD90LmsrdC5BK3QuSTowfXN0KHQsaSxzLGUpe2lmKCF0aGlzLnF0Lkl0fHwwPT09dGhpcy5xdC5yaS5sZW5ndGgpcmV0dXJuO2NvbnN0IGg9dGhpcy5xdC5SLG49dGhpcy5laS5HLHI9dC51c2VCaXRtYXBDb29yZGluYXRlU3BhY2UoKHQ9Pntjb25zdCByPXQuY29udGV4dDtyLmZvbnQ9aS5QO2NvbnN0IG89dGhpcy5oaSh0LGkscyxlKSxsPW8uYWk7cmV0dXJuIG8ubGk/TyhyLGwub2ksbC5faSxsLnVpLGwuY2ksbixsLmRpLFtsLmZ0LDAsMCxsLmZ0XSxuKTpPKHIsbC5maSxsLl9pLGwudWksbC5jaSxuLGwuZGksWzAsbC5mdCxsLmZ0LDBdLG4pLHRoaXMucXQucGkmJihyLmZpbGxTdHlsZT1oLHIuZmlsbFJlY3QobC5maSxsLm1pLGwud2ktbC5maSxsLk1pKSksdGhpcy5xdC5naSYmKHIuZmlsbFN0eWxlPWkuRCxyLmZpbGxSZWN0KG8ubGk/bC5iaS1sLmRpOjAsbC5faSxsLmRpLGwuU2ktbC5faSkpLG99KSk7dC51c2VNZWRpYUNvb3JkaW5hdGVTcGFjZSgoKHtjb250ZXh0OnR9KT0+e2NvbnN0IHM9ci54aTt0LmZvbnQ9aS5QLHQudGV4dEFsaWduPXIubGk/InJpZ2h0IjoibGVmdCIsdC50ZXh0QmFzZWxpbmU9Im1pZGRsZSIsdC5maWxsU3R5bGU9aCx0LmZpbGxUZXh0KHRoaXMucXQucmkscy5DaSwocy5faStzLlNpKS8yK3MueWkpfSkpfWhpKHQsaSxzLGUpe2NvbnN0e2NvbnRleHQ6aCxiaXRtYXBTaXplOm4sbWVkaWFTaXplOnIsaG9yaXpvbnRhbFBpeGVsUmF0aW86byx2ZXJ0aWNhbFBpeGVsUmF0aW86bH09dCxhPXRoaXMucXQucGl8fCF0aGlzLnF0LmtpP2kuQzowLHU9dGhpcy5xdC5QaT9pLlM6MCxjPWkuQSt0aGlzLmVpLlRpLGY9aS5JK3RoaXMuZWkuUmksZD1pLlYsbT1pLkIscD10aGlzLnF0LnJpLGc9aS5rLHY9cy5EaShoLHApLGI9TWF0aC5jZWlsKHMuSWkoaCxwKSksdz1nK2MrZixNPWkuUytkK20rYithLHk9TWF0aC5tYXgoMSxNYXRoLmZsb29yKGwpKTtsZXQgUz1NYXRoLnJvdW5kKHcqbCk7UyUyIT15JTImJihTKz0xKTtjb25zdCB4PXU+MD9NYXRoLm1heCgxLE1hdGguZmxvb3IodSpvKSk6MCxfPU1hdGgucm91bmQoTSpvKSxDPU1hdGgucm91bmQoYSpvKSxrPXRoaXMuZWkuVmk/P3RoaXMuZWkuQmk/P3RoaXMuZWkuRWksRT1NYXRoLnJvdW5kKGsqbCktTWF0aC5mbG9vciguNSpsKSxOPU1hdGguZmxvb3IoRSt5LzItUy8yKSxUPU4rUyxSPSJyaWdodCI9PT1lLFA9Uj9yLndpZHRoLXU6dSx6PVI/bi53aWR0aC14Ong7bGV0IEksTCxGO3JldHVybiBSPyhJPXotXyxMPXotQyxGPVAtYS1kLXUpOihJPXorXyxMPXorQyxGPVArYStkKSx7bGk6UixhaTp7X2k6TixtaTpFLFNpOlQsdWk6XyxjaTpTLGZ0OjIqbyxkaTp4LG9pOkksZmk6eix3aTpMLE1pOnksYmk6bi53aWR0aH0seGk6e19pOk4vbCxTaTpUL2wsQ2k6Rix5aTp2fX19fWNsYXNzICR7Y29uc3RydWN0b3IodCl7dGhpcy5BaT17RWk6MCxHOiIjMDAwIixSaTowLFRpOjB9LHRoaXMuTGk9e3JpOiIiLEl0OiExLHBpOiEwLGtpOiExLEh0OiIiLFI6IiNGRkYiLGdpOiExLFBpOiExfSx0aGlzLnppPXtyaToiIixJdDohMSxwaTohMSxraTohMCxIdDoiIixSOiIjRkZGIixnaTohMCxQaTohMH0sdGhpcy54dD0hMCx0aGlzLk9pPW5ldyh0fHxWKSh0aGlzLkxpLHRoaXMuQWkpLHRoaXMuTmk9bmV3KHR8fFYpKHRoaXMuemksdGhpcy5BaSl9cmkoKXtyZXR1cm4gdGhpcy5GaSgpLHRoaXMuTGkucml9RWkoKXtyZXR1cm4gdGhpcy5GaSgpLHRoaXMuQWkuRWl9a3QoKXt0aGlzLnh0PSEwfSR0KHQsaT0hMSl7cmV0dXJuIE1hdGgubWF4KHRoaXMuT2kuJHQodCxpKSx0aGlzLk5pLiR0KHQsaSkpfVdpKCl7cmV0dXJuIHRoaXMuQWkuVmk/P251bGx9SGkoKXtyZXR1cm4gdGhpcy5BaS5WaT8/dGhpcy5BaS5CaT8/dGhpcy5FaSgpfVVpKHQpe3RoaXMuQWkuQmk9dD8/dm9pZCAwfSRpKCl7cmV0dXJuIHRoaXMuRmkoKSx0aGlzLkxpLkl0fHx0aGlzLnppLkl0fWppKCl7cmV0dXJuIHRoaXMuRmkoKSx0aGlzLkxpLkl0fVR0KHQpe3JldHVybiB0aGlzLkZpKCksdGhpcy5MaS5waT10aGlzLkxpLnBpJiZ0Lk4oKS50aWNrc1Zpc2libGUsdGhpcy56aS5waT10aGlzLnppLnBpJiZ0Lk4oKS50aWNrc1Zpc2libGUsdGhpcy5PaS5odCh0aGlzLkxpLHRoaXMuQWkpLHRoaXMuTmkuaHQodGhpcy56aSx0aGlzLkFpKSx0aGlzLk9pfXFpKCl7CnJldHVybiB0aGlzLkZpKCksdGhpcy5PaS5odCh0aGlzLkxpLHRoaXMuQWkpLHRoaXMuTmkuaHQodGhpcy56aSx0aGlzLkFpKSx0aGlzLk5pfUZpKCl7dGhpcy54dCYmKHRoaXMuTGkucGk9ITAsdGhpcy56aS5waT0hMSx0aGlzLllpKHRoaXMuTGksdGhpcy56aSx0aGlzLkFpKSl9fWNsYXNzIEIgZXh0ZW5kcyAke2NvbnN0cnVjdG9yKHQsaSxzKXtzdXBlcigpLHRoaXMuSnQ9dCx0aGlzLktpPWksdGhpcy5aaT1zfVlpKHQsaSxzKXtpZih0Lkl0PSExLDI9PT10aGlzLkp0Lk4oKS5tb2RlKXJldHVybjtjb25zdCBlPXRoaXMuSnQuTigpLmhvcnpMaW5lO2lmKCFlLmxhYmVsVmlzaWJsZSlyZXR1cm47Y29uc3QgaD10aGlzLktpLkx0KCk7aWYoIXRoaXMuSnQuSXQoKXx8dGhpcy5LaS5HaSgpfHxudWxsPT09aClyZXR1cm47Y29uc3Qgbj10aGlzLktpLlhpKCkuWihlLmxhYmVsQmFja2dyb3VuZENvbG9yKTtzLkc9bi5HLHQuUj1uLlg7Y29uc3Qgcj0yLzEyKnRoaXMuS2kuaygpO3MuVGk9cixzLlJpPXI7Y29uc3Qgbz10aGlzLlppKHRoaXMuS2kpO3MuRWk9by5FaSx0LnJpPXRoaXMuS2kuSmkoby5NdCxoKSx0Lkl0PSEwfX1jb25zdCBBPS9bMS05XS9nO2NsYXNzIFp7Y29uc3RydWN0b3IoKXt0aGlzLnF0PW51bGx9aHQodCl7dGhpcy5xdD10fXN0KHQsaSl7aWYobnVsbD09PXRoaXMucXR8fCExPT09dGhpcy5xdC5JdHx8MD09PXRoaXMucXQucmkubGVuZ3RoKXJldHVybjtjb25zdCBzPXQudXNlTWVkaWFDb29yZGluYXRlU3BhY2UoKCh7Y29udGV4dDp0fSk9Pih0LmZvbnQ9aS5QLE1hdGgucm91bmQoaS5RaS5JaSh0LGYodGhpcy5xdCkucmksQSkpKSkpO2lmKHM8PTApcmV0dXJuO2NvbnN0IGU9aS50bixoPXMrMiplLG49aC8yLHI9dGhpcy5xdC5ubjtsZXQgbz10aGlzLnF0LkVpLGw9TWF0aC5mbG9vcihvLW4pKy41O2w8MD8obys9TWF0aC5hYnMoMC1sKSxsPU1hdGguZmxvb3Ioby1uKSsuNSk6bCtoPnImJihvLT1NYXRoLmFicyhyLShsK2gpKSxsPU1hdGguZmxvb3Ioby1uKSsuNSk7Y29uc3QgYT1sK2gsdT1NYXRoLmNlaWwoMCtpLlMraS5DK2kuQStpLmsraS5JKTt0LnVzZUJpdG1hcENvb3JkaW5hdGVTcGFjZSgoKHtjb250ZXh0OnQsaG9yaXpvbnRhbFBpeGVsUmF0aW86cyx2ZXJ0aWNhbFBpeGVsUmF0aW86ZX0pPT57Y29uc3QgaD1mKHRoaXMucXQpO3QuZmlsbFN0eWxlPWguRztjb25zdCBuPU1hdGgucm91bmQobCpzKSxyPU1hdGgucm91bmQoMCplKSxvPU1hdGgucm91bmQoYSpzKSxjPU1hdGgucm91bmQodSplKSxkPU1hdGgucm91bmQoMipzKTtpZih0LmJlZ2luUGF0aCgpLHQubW92ZVRvKG4sciksdC5saW5lVG8obixjLWQpLHQuYXJjVG8obixjLG4rZCxjLGQpLHQubGluZVRvKG8tZCxjKSx0LmFyY1RvKG8sYyxvLGMtZCxkKSx0LmxpbmVUbyhvLHIpLHQuZmlsbCgpLGgucGkpe2NvbnN0IG49TWF0aC5yb3VuZChoLkVpKnMpLG89cixsPU1hdGgucm91bmQoKG8raS5DKSplKTt0LmZpbGxTdHlsZT1oLlI7Y29uc3QgYT1NYXRoLm1heCgxLE1hdGguZmxvb3IocykpLHU9TWF0aC5mbG9vciguNSpzKTt0LmZpbGxSZWN0KG4tdSxvLGEsbC1vKX19KSksdC51c2VNZWRpYUNvb3JkaW5hdGVTcGFjZSgoKHtjb250ZXh0OnR9KT0+e2NvbnN0IHM9Zih0aGlzLnF0KSxoPTAraS5TK2kuQytpLkEraS5rLzI7dC5mb250PWkuUCx0LnRleHRBbGlnbj0ibGVmdCIsdC50ZXh0QmFzZWxpbmU9Im1pZGRsZSIsdC5maWxsU3R5bGU9cy5SO2NvbnN0IG49aS5RaS5EaSh0LCJBcHIwIik7dC50cmFuc2xhdGUobCtlLGgrbiksdC5maWxsVGV4dChzLnJpLDAsMCl9KSl9fWNsYXNzIEh7Y29uc3RydWN0b3IodCxpLHMpe3RoaXMueHQ9ITAsdGhpcy5YdD1uZXcgWix0aGlzLkd0PXtJdDohMSxHOiIjNGM1MjVlIixSOiJ3aGl0ZSIscmk6IiIsbm46MCxFaTpOYU4scGk6ITB9LHRoaXMuQ3Q9dCx0aGlzLnNuPWksdGhpcy5aaT1zfWt0KCl7dGhpcy54dD0hMH1UdCgpe3JldHVybiB0aGlzLnh0JiYodGhpcy5SdCgpLHRoaXMueHQ9ITEpLHRoaXMuWHQuaHQodGhpcy5HdCksdGhpcy5YdH1SdCgpe2NvbnN0IHQ9dGhpcy5HdDtpZih0Lkl0PSExLDI9PT10aGlzLkN0Lk4oKS5tb2RlKXJldHVybjtjb25zdCBpPXRoaXMuQ3QuTigpLnZlcnRMaW5lO2lmKCFpLmxhYmVsVmlzaWJsZSlyZXR1cm47Y29uc3Qgcz10aGlzLnNuLkV0KCk7aWYocy5HaSgpKXJldHVybjt0Lm5uPXMubm4oKTtjb25zdCBlPXRoaXMuWmkoKTtpZihudWxsPT09ZSlyZXR1cm47dC5FaT1lLkVpO2NvbnN0IGg9cy5lbih0aGlzLkN0LkJ0KCkpO3Qucmk9cy5ybihmKGgpKSx0Lkl0PSEwO2NvbnN0IG49dGhpcy5zbi5YaSgpLlooaS5sYWJlbEJhY2tncm91bmRDb2xvcik7dC5HPW4uRyx0LlI9bi5YLHQucGk9cy5OKCkudGlja3NWaXNpYmxlfX1jbGFzcyBHe2NvbnN0cnVjdG9yKCl7dGhpcy5obj1udWxsLHRoaXMuYW49MH1sbigpe3JldHVybiB0aGlzLmFufV9uKHQpe3RoaXMuYW49dH1GdCgpe3JldHVybiB0aGlzLmhufXVuKHQpe3RoaXMuaG49dH1jbih0KXtyZXR1cm5bXX1kbigpe3JldHVybltdfUl0KCl7cmV0dXJuITB9fXZhciBVOyFmdW5jdGlvbih0KXt0W3QuTm9ybWFsPTBdPSJOb3JtYWwiLHRbdC5NYWduZXQ9MV09Ik1hZ25ldCIsdFt0LkhpZGRlbj0yXT0iSGlkZGVuIix0W3QuTWFnbmV0T0hMQz0zXT0iTWFnbmV0T0hMQyJ9KFV8fChVPXt9KSk7Y2xhc3MgWSBleHRlbmRzIEd7Y29uc3RydWN0b3IodCxpKXtzdXBlcigpLHRoaXMueXQ9bnVsbCx0aGlzLmZuPU5hTix0aGlzLnBuPTAsdGhpcy52bj0hMSx0aGlzLm1uPW5ldyBNYXAsdGhpcy53bj0hMSx0aGlzLk1uPW5ldyBXZWFrTWFwLHRoaXMuZ249bmV3IFdlYWtNYXAsdGhpcy5ibj1OYU4sdGhpcy5Tbj1OYU4sdGhpcy54bj1OYU4sdGhpcy5Dbj1OYU4sdGhpcy5zbj10LHRoaXMueW49aSx0aGlzLmtuPSgodCxpKT0+cz0+e2NvbnN0IGU9aSgpLGg9dCgpO2lmKHM9PT1mKHRoaXMueXQpLlBuKCkpcmV0dXJue010OmgsRWk6ZX07e2NvbnN0IHQ9ZihzLkx0KCkpO3JldHVybntNdDpzLlRuKGUsdCksRWk6ZX19fSkoKCgpPT50aGlzLmZuKSwoKCk9PnRoaXMuU24pKTtjb25zdCBzPSgodCxpKT0+KCk9PnsKY29uc3Qgcz10aGlzLnNuLkV0KCkuUm4odCgpKSxlPWkoKTtyZXR1cm4gcyYmTnVtYmVyLmlzRmluaXRlKGUpP3t3dDpzLEVpOmV9Om51bGx9KSgoKCk9PnRoaXMucG4pLCgoKT0+dGhpcy5uaSgpKSk7dGhpcy5Ebj1uZXcgSCh0aGlzLHQscyl9Tigpe3JldHVybiB0aGlzLnlufUluKHQsaSl7dGhpcy54bj10LHRoaXMuQ249aX1Wbigpe3RoaXMueG49TmFOLHRoaXMuQ249TmFOfUJuKCl7cmV0dXJuIHRoaXMueG59RW4oKXtyZXR1cm4gdGhpcy5Dbn1Bbih0LGkscyl7dGhpcy53bnx8KHRoaXMud249ITApLHRoaXMudm49ITAsdGhpcy5Mbih0LGkscyl9QnQoKXtyZXR1cm4gdGhpcy5wbn1uaSgpe3JldHVybiB0aGlzLmJufXNpKCl7cmV0dXJuIHRoaXMuU259SXQoKXtyZXR1cm4gdGhpcy52bn16bigpe3RoaXMudm49ITEsdGhpcy5PbigpLHRoaXMuZm49TmFOLHRoaXMuYm49TmFOLHRoaXMuU249TmFOLHRoaXMueXQ9bnVsbCx0aGlzLlZuKCksdGhpcy5ObigpfUZuKHQpe2lmKCF0aGlzLnluLmRvTm90U25hcFRvSGlkZGVuU2VyaWVzSW5kaWNlcylyZXR1cm4gdDtjb25zdCBpPXRoaXMuc24scz1pLkV0KCk7bGV0IGU9bnVsbCxoPW51bGw7Zm9yKGNvbnN0IHMgb2YgaS5XbigpKXtjb25zdCBpPXMuVW4oKS5Ibih0LC0xKTtpZihpKXtpZihpLiRuPT09dClyZXR1cm4gdDsobnVsbD09PWV8fGkuJG4+ZSkmJihlPWkuJG4pfWNvbnN0IG49cy5VbigpLkhuKHQsMSk7aWYobil7aWYobi4kbj09PXQpcmV0dXJuIHQ7KG51bGw9PT1ofHxuLiRuPGgpJiYoaD1uLiRuKX19Y29uc3Qgbj1bZSxoXS5maWx0ZXIoeSk7aWYoMD09PW4ubGVuZ3RoKXJldHVybiB0O2NvbnN0IHI9cy5qdCh0KSxvPW4ubWFwKCh0PT5NYXRoLmFicyhyLXMuanQodCkpKSk7cmV0dXJuIG5bby5pbmRleE9mKE1hdGgubWluKC4uLm8pKV19am4odCl7bGV0IGk9dGhpcy5Nbi5nZXQodCk7aXx8KGk9bmV3IHEodGhpcyx0KSx0aGlzLk1uLnNldCh0LGkpKTtsZXQgcz10aGlzLmduLmdldCh0KTtyZXR1cm4gc3x8KHM9bmV3IEwodGhpcy5zbix0aGlzLHQpLHRoaXMuZ24uc2V0KHQscykpLFtpLHNdfXRpKHQpe3JldHVybiB0PT09dGhpcy55dCYmdGhpcy55bi5ob3J6TGluZS52aXNpYmxlfWlpKCl7cmV0dXJuIHRoaXMueW4udmVydExpbmUudmlzaWJsZX1xbih0LGkpe3RoaXMudm4mJnRoaXMueXQ9PT10fHx0aGlzLm1uLmNsZWFyKCk7Y29uc3Qgcz1bXTtyZXR1cm4gdGhpcy55dD09PXQmJnMucHVzaCh0aGlzLlluKHRoaXMubW4saSx0aGlzLmtuKSksc31kbigpe3JldHVybiB0aGlzLnZuP1t0aGlzLkRuXTpbXX1Lbigpe3JldHVybiB0aGlzLnl0fU5uKCl7dGhpcy5zbi5abigpLmZvckVhY2goKHQ9Pnt0aGlzLk1uLmdldCh0KT8ua3QoKSx0aGlzLmduLmdldCh0KT8ua3QoKX0pKSx0aGlzLm1uLmZvckVhY2goKHQ9PnQua3QoKSkpLHRoaXMuRG4ua3QoKX1Hbih0KXtyZXR1cm4gdCYmIXQuUG4oKS5HaSgpP3QuUG4oKTpudWxsfUxuKHQsaSxzKXt0aGlzLlhuKHQsaSxzKSYmdGhpcy5ObigpfVhuKHQsaSxzKXtjb25zdCBlPXRoaXMuYm4saD10aGlzLlNuLG49dGhpcy5mbixyPXRoaXMucG4sbz10aGlzLnl0LGw9dGhpcy5HbihzKTt0aGlzLnBuPXQsdGhpcy5ibj1pc05hTih0KT9OYU46dGhpcy5zbi5FdCgpLmp0KHQpLHRoaXMueXQ9cztjb25zdCBhPW51bGwhPT1sP2wuTHQoKTpudWxsO3JldHVybiBudWxsIT09bCYmbnVsbCE9PWE/KHRoaXMuZm49aSx0aGlzLlNuPWwuTnQoaSxhKSk6KHRoaXMuZm49TmFOLHRoaXMuU249TmFOKSxlIT09dGhpcy5ibnx8aCE9PXRoaXMuU258fHIhPT10aGlzLnBufHxuIT09dGhpcy5mbnx8byE9PXRoaXMueXR9T24oKXtjb25zdCB0PXRoaXMuc24uSm4oKS5tYXAoKHQ9PnQuVW4oKS5RbigpKSkuZmlsdGVyKHkpLGk9MD09PXQubGVuZ3RoP251bGw6TWF0aC5tYXgoLi4udCk7dGhpcy5wbj1udWxsIT09aT9pOk5hTn1Zbih0LGkscyl7bGV0IGU9dC5nZXQoaSk7cmV0dXJuIHZvaWQgMD09PWUmJihlPW5ldyBCKHRoaXMsaSxzKSx0LnNldChpLGUpKSxlfX1mdW5jdGlvbiBqKHQpe3JldHVybiJsZWZ0Ij09PXR8fCJyaWdodCI9PT10fWNsYXNzIFh7Y29uc3RydWN0b3IodCl7dGhpcy50cz1uZXcgTWFwLHRoaXMubnM9W10sdGhpcy5zcz10fWVzKHQsaSl7Y29uc3Qgcz1mdW5jdGlvbih0LGkpe3JldHVybiB2b2lkIDA9PT10P2k6e3JzOk1hdGgubWF4KHQucnMsaS5ycyksaHM6dC5oc3x8aS5oc319KHRoaXMudHMuZ2V0KHQpLGkpO3RoaXMudHMuc2V0KHQscyl9bHMoKXtyZXR1cm4gdGhpcy5zc31fcyh0KXtjb25zdCBpPXRoaXMudHMuZ2V0KHQpO3JldHVybiB2b2lkIDA9PT1pP3tyczp0aGlzLnNzfTp7cnM6TWF0aC5tYXgodGhpcy5zcyxpLnJzKSxoczppLmhzfX11cygpe3RoaXMuY3MoKSx0aGlzLm5zPVt7ZHM6MH1dfWZzKHQpe3RoaXMuY3MoKSx0aGlzLm5zPVt7ZHM6MSxXdDp0fV19cHModCl7dGhpcy52cygpLHRoaXMubnMucHVzaCh7ZHM6NSxXdDp0fSl9Y3MoKXt0aGlzLnZzKCksdGhpcy5ucy5wdXNoKHtkczo2fSl9d3MoKXt0aGlzLmNzKCksdGhpcy5ucz1be2RzOjR9XX1Ncyh0KXt0aGlzLmNzKCksdGhpcy5ucy5wdXNoKHtkczoyLFd0OnR9KX1ncyh0KXt0aGlzLmNzKCksdGhpcy5ucy5wdXNoKHtkczozLFd0OnR9KX1icygpe3JldHVybiB0aGlzLm5zfVNzKHQpe2Zvcihjb25zdCBpIG9mIHQubnMpdGhpcy54cyhpKTt0aGlzLnNzPU1hdGgubWF4KHRoaXMuc3MsdC5zcyksdC50cy5mb3JFYWNoKCgodCxpKT0+e3RoaXMuZXMoaSx0KX0pKX1zdGF0aWMgQ3MoKXtyZXR1cm4gbmV3IFgoMil9c3RhdGljIHlzKCl7cmV0dXJuIG5ldyBYKDMpfXhzKHQpe3N3aXRjaCh0LmRzKXtjYXNlIDA6dGhpcy51cygpO2JyZWFrO2Nhc2UgMTp0aGlzLmZzKHQuV3QpO2JyZWFrO2Nhc2UgMjp0aGlzLk1zKHQuV3QpO2JyZWFrO2Nhc2UgMzp0aGlzLmdzKHQuV3QpO2JyZWFrO2Nhc2UgNDp0aGlzLndzKCk7YnJlYWs7Y2FzZSA1OnRoaXMucHModC5XdCk7YnJlYWs7Y2FzZSA2OnRoaXMudnMoKX19dnMoKXtjb25zdCB0PXRoaXMubnMuZmluZEluZGV4KCh0PT41PT09dC5kcykpOy0xIT09dCYmdGhpcy5ucy5zcGxpY2UodCwxKX19CmNsYXNzIEp7Zm9ybWF0VGlja21hcmtzKHQpe3JldHVybiB0Lm1hcCgodD0+dGhpcy5mb3JtYXQodCkpKX19ZnVuY3Rpb24gdHQodCxpKXtpZighZyh0KSlyZXR1cm4ibi9hIjtpZighdihpKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGxlbmd0aCIpO2lmKGk8MHx8aT4xNil0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGxlbmd0aCIpO3JldHVybiAwPT09aT90LnRvU3RyaW5nKCk6KCIwMDAwMDAwMDAwMDAwMDAwIit0LnRvU3RyaW5nKCkpLnNsaWNlKC1pKX1jbGFzcyBpdCBleHRlbmRzIEp7Y29uc3RydWN0b3IodCxpKXtpZihzdXBlcigpLGl8fChpPTEpLGcodCkmJnYodCl8fCh0PTEwMCksdDwwKXRocm93IG5ldyBUeXBlRXJyb3IoImludmFsaWQgYmFzZSIpO3RoaXMuS2k9dCx0aGlzLmtzPWksdGhpcy5QcygpfWZvcm1hdCh0KXtjb25zdCBpPXQ8MD8i4oiSIjoiIjtyZXR1cm4gdD1NYXRoLmFicyh0KSxpK3RoaXMuVHModCl9UHMoKXtpZih0aGlzLlJzPTAsdGhpcy5LaT4wJiZ0aGlzLmtzPjApe2xldCB0PXRoaXMuS2k7Zm9yKDt0PjE7KXQvPTEwLHRoaXMuUnMrK319VHModCl7Y29uc3QgaT10aGlzLktpL3RoaXMua3M7bGV0IHM9TWF0aC5mbG9vcih0KSxlPSIiO2NvbnN0IGg9dm9pZCAwIT09dGhpcy5Scz90aGlzLlJzOk5hTjtpZihpPjEpe2xldCBuPSsoTWF0aC5yb3VuZCh0KmkpLXMqaSkudG9GaXhlZCh0aGlzLlJzKTtuPj1pJiYobi09aSxzKz0xKSxlPSIuIit0dCgrbi50b0ZpeGVkKHRoaXMuUnMpKnRoaXMua3MsaCl9ZWxzZSBzPU1hdGgucm91bmQocyppKS9pLGg+MCYmKGU9Ii4iK3R0KDAsaCkpO3JldHVybiBzLnRvRml4ZWQoMCkrZX19Y2xhc3Mgc3QgZXh0ZW5kcyBpdHtjb25zdHJ1Y3Rvcih0PTEwMCl7c3VwZXIodCl9Zm9ybWF0KHQpe3JldHVybmAke3N1cGVyLmZvcm1hdCh0KX0lYH19Y2xhc3MgZXQgZXh0ZW5kcyBKe2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5Ecz10fWZvcm1hdCh0KXtsZXQgaT0iIjtyZXR1cm4gdDwwJiYoaT0iLSIsdD0tdCksdDw5OTU/aSt0aGlzLklzKHQpOnQ8OTk5OTk1P2krdGhpcy5Jcyh0LzFlMykrIksiOnQ8OTk5OTk5OTk1Pyh0PTFlMypNYXRoLnJvdW5kKHQvMWUzKSxpK3RoaXMuSXModC8xZTYpKyJNIik6KHQ9MWU2Kk1hdGgucm91bmQodC8xZTYpLGkrdGhpcy5Jcyh0LzFlOSkrIkIiKX1Jcyh0KXtsZXQgaTtjb25zdCBzPU1hdGgucG93KDEwLHRoaXMuRHMpO3JldHVybiBpPSh0PU1hdGgucm91bmQodCpzKS9zKT49MWUtMTUmJnQ8MT90LnRvRml4ZWQodGhpcy5EcykucmVwbGFjZSgvXC4/MCskLywiIik6U3RyaW5nKHQpLGkucmVwbGFjZSgvKFwuWzEtOV0qKTArJC8sKCh0LGkpPT5pKSl9fWNvbnN0IGh0PS9bMi05XS9nO2NsYXNzIG50e2NvbnN0cnVjdG9yKHQ9NTApe3RoaXMuVnM9MCx0aGlzLkJzPTEsdGhpcy5Fcz0xLHRoaXMuQXM9e30sdGhpcy5Mcz1uZXcgTWFwLHRoaXMuenM9dH1Pcygpe3RoaXMuVnM9MCx0aGlzLkxzLmNsZWFyKCksdGhpcy5Ccz0xLHRoaXMuRXM9MSx0aGlzLkFzPXt9fUlpKHQsaSxzKXtyZXR1cm4gdGhpcy5Ocyh0LGkscykud2lkdGh9RGkodCxpLHMpe2NvbnN0IGU9dGhpcy5Ocyh0LGkscyk7cmV0dXJuKChlLmFjdHVhbEJvdW5kaW5nQm94QXNjZW50fHwwKS0oZS5hY3R1YWxCb3VuZGluZ0JveERlc2NlbnR8fDApKS8yfU5zKHQsaSxzKXtjb25zdCBlPXN8fGh0LGg9U3RyaW5nKGkpLnJlcGxhY2UoZSwiMCIpO2lmKHRoaXMuTHMuaGFzKGgpKXJldHVybiBjKHRoaXMuTHMuZ2V0KGgpKS5GcztpZih0aGlzLlZzPT09dGhpcy56cyl7Y29uc3QgdD10aGlzLkFzW3RoaXMuRXNdO2RlbGV0ZSB0aGlzLkFzW3RoaXMuRXNdLHRoaXMuTHMuZGVsZXRlKHQpLHRoaXMuRXMrKyx0aGlzLlZzLS19dC5zYXZlKCksdC50ZXh0QmFzZWxpbmU9Im1pZGRsZSI7Y29uc3Qgbj10Lm1lYXN1cmVUZXh0KGgpO3JldHVybiB0LnJlc3RvcmUoKSwwPT09bi53aWR0aCYmaS5sZW5ndGh8fCh0aGlzLkxzLnNldChoLHtGczpuLFdzOnRoaXMuQnN9KSx0aGlzLkFzW3RoaXMuQnNdPWgsdGhpcy5WcysrLHRoaXMuQnMrKyksbn19Y2xhc3MgcnR7Y29uc3RydWN0b3IodCl7dGhpcy5Icz1udWxsLHRoaXMuTT1udWxsLHRoaXMuVXM9InJpZ2h0Iix0aGlzLiRzPXR9anModCxpLHMpe3RoaXMuSHM9dCx0aGlzLk09aSx0aGlzLlVzPXN9c3QodCl7bnVsbCE9PXRoaXMuTSYmbnVsbCE9PXRoaXMuSHMmJnRoaXMuSHMuc3QodCx0aGlzLk0sdGhpcy4kcyx0aGlzLlVzKX19Y2xhc3Mgb3R7Y29uc3RydWN0b3IodCxpLHMpe3RoaXMucXM9dCx0aGlzLiRzPW5ldyBudCg1MCksdGhpcy5Zcz1pLHRoaXMuTz1zLHRoaXMuRj0tMSx0aGlzLlh0PW5ldyBydCh0aGlzLiRzKX1UdCgpe2NvbnN0IHQ9dGhpcy5PLktzKHRoaXMuWXMpO2lmKG51bGw9PT10KXJldHVybiBudWxsO2NvbnN0IGk9dC5acyh0aGlzLllzKT90LkdzKCk6dGhpcy5Zcy5GdCgpO2lmKG51bGw9PT1pKXJldHVybiBudWxsO2NvbnN0IHM9dC5YcyhpKTtpZigib3ZlcmxheSI9PT1zKXJldHVybiBudWxsO2NvbnN0IGU9dGhpcy5PLkpzKCk7cmV0dXJuIGUuayE9PXRoaXMuRiYmKHRoaXMuRj1lLmssdGhpcy4kcy5PcygpKSx0aGlzLlh0LmpzKHRoaXMucXMucWkoKSxlLHMpLHRoaXMuWHR9fWNsYXNzIGx0IGV4dGVuZHMgUntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5xdD1udWxsfWh0KHQpe3RoaXMucXQ9dH1Rcyh0LGkpe2lmKCF0aGlzLnF0Py5JdClyZXR1cm4gbnVsbDtjb25zdHt1dDpzLGN0OmUsdGU6aH09dGhpcy5xdDtyZXR1cm4gaT49cy1lLTcmJmk8PXMrZSs3P3tpZTp0aGlzLnF0LG5lOk1hdGguYWJzKGktcyksc2U6MixlZToicHJpY2UtbGluZSIsdGU6aH06bnVsbH1ldCh7Y29udGV4dDp0LGJpdG1hcFNpemU6aSxob3Jpem9udGFsUGl4ZWxSYXRpbzpzLHZlcnRpY2FsUGl4ZWxSYXRpbzplfSl7aWYobnVsbD09PXRoaXMucXQpcmV0dXJuO2lmKCExPT09dGhpcy5xdC5JdClyZXR1cm47Y29uc3QgaD1NYXRoLnJvdW5kKHRoaXMucXQudXQqZSk7aDwwfHxoPmkuaGVpZ2h0fHwodC5saW5lQ2FwPSJidXR0Iix0LnN0cm9rZVN0eWxlPXRoaXMucXQuUiwKdC5saW5lV2lkdGg9TWF0aC5mbG9vcih0aGlzLnF0LmN0KnMpLGwodCx0aGlzLnF0Llp0KSxhKHQsaCwwLGkud2lkdGgpKX19Y2xhc3MgYXR7Y29uc3RydWN0b3IodCl7dGhpcy5yZT17dXQ6MCxSOiJyZ2JhKDAsIDAsIDAsIDApIixjdDoxLFp0OjAsSXQ6ITF9LHRoaXMuaGU9bmV3IGx0LHRoaXMueHQ9ITAsdGhpcy5hZT10LHRoaXMubGU9dC5RdCgpLHRoaXMuaGUuaHQodGhpcy5yZSl9a3QoKXt0aGlzLnh0PSEwfVR0KCl7cmV0dXJuIHRoaXMuYWUuSXQoKT8odGhpcy54dCYmKHRoaXMub2UoKSx0aGlzLnh0PSExKSx0aGlzLmhlKTpudWxsfX1jbGFzcyB1dCBleHRlbmRzIGF0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpfW9lKCl7dGhpcy5yZS5JdD0hMTtjb25zdCB0PXRoaXMuYWUuRnQoKSxpPXQuX2UoKS5fZTtpZigyIT09aSYmMyE9PWkpcmV0dXJuO2NvbnN0IHM9dGhpcy5hZS5OKCk7aWYoIXMuYmFzZUxpbmVWaXNpYmxlfHwhdGhpcy5hZS5JdCgpKXJldHVybjtjb25zdCBlPXRoaXMuYWUuTHQoKTtudWxsIT09ZSYmKHRoaXMucmUuSXQ9ITAsdGhpcy5yZS51dD10Lk50KGUuV3QsZS5XdCksdGhpcy5yZS5SPXMuYmFzZUxpbmVDb2xvcix0aGlzLnJlLmN0PXMuYmFzZUxpbmVXaWR0aCx0aGlzLnJlLlp0PXMuYmFzZUxpbmVTdHlsZSl9fWNsYXNzIGN0IGV4dGVuZHMgUntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5xdD1udWxsfWh0KHQpe3RoaXMucXQ9dH11ZSgpe3JldHVybiB0aGlzLnF0fWV0KHtjb250ZXh0OnQsaG9yaXpvbnRhbFBpeGVsUmF0aW86aSx2ZXJ0aWNhbFBpeGVsUmF0aW86c30pe2NvbnN0IGU9dGhpcy5xdDtpZihudWxsPT09ZSlyZXR1cm47Y29uc3QgaD1NYXRoLm1heCgxLE1hdGguZmxvb3IoaSkpLG49aCUyLzIscj1NYXRoLnJvdW5kKGUuY2UueCppKStuLG89ZS5jZS55KnM7dC5maWxsU3R5bGU9ZS5kZSx0LmJlZ2luUGF0aCgpO2NvbnN0IGw9TWF0aC5tYXgoMiwxLjUqZS5mZSkqaTt0LmFyYyhyLG8sbCwwLDIqTWF0aC5QSSwhMSksdC5maWxsKCksdC5maWxsU3R5bGU9ZS5wZSx0LmJlZ2luUGF0aCgpLHQuYXJjKHIsbyxlLmZ0KmksMCwyKk1hdGguUEksITEpLHQuZmlsbCgpLHQubGluZVdpZHRoPWgsdC5zdHJva2VTdHlsZT1lLnZlLHQuYmVnaW5QYXRoKCksdC5hcmMocixvLGUuZnQqaStoLzIsMCwyKk1hdGguUEksITEpLHQuc3Ryb2tlKCl9fWNvbnN0IGZ0PVt7bWU6MCx3ZTouMjUsTWU6NCxnZToxMCxiZTouMjUsU2U6MCx4ZTouNCxDZTouOH0se21lOi4yNSx3ZTouNTI1LE1lOjEwLGdlOjE0LGJlOjAsU2U6MCx4ZTouOCxDZTowfSx7bWU6LjUyNSx3ZToxLE1lOjE0LGdlOjE0LGJlOjAsU2U6MCx4ZTowLENlOjB9XTtjbGFzcyBkdHtjb25zdHJ1Y3Rvcih0KXt0aGlzLlh0PW5ldyBjdCx0aGlzLnh0PSEwLHRoaXMueWU9ITAsdGhpcy5rZT1wZXJmb3JtYW5jZS5ub3coKSx0aGlzLlBlPXRoaXMua2UtMSx0aGlzLlRlPXR9UmUoKXt0aGlzLlBlPXRoaXMua2UtMSx0aGlzLmt0KCl9RGUoKXtpZih0aGlzLmt0KCksMj09PXRoaXMuVGUuTigpLmxhc3RQcmljZUFuaW1hdGlvbil7Y29uc3QgdD1wZXJmb3JtYW5jZS5ub3coKSxpPXRoaXMuUGUtdDtpZihpPjApcmV0dXJuIHZvaWQoaTw2NTAmJih0aGlzLlBlKz0yNjAwKSk7dGhpcy5rZT10LHRoaXMuUGU9dCsyNjAwfX1rdCgpe3RoaXMueHQ9ITB9SWUoKXt0aGlzLnllPSEwfUl0KCl7cmV0dXJuIDAhPT10aGlzLlRlLk4oKS5sYXN0UHJpY2VBbmltYXRpb259VmUoKXtzd2l0Y2godGhpcy5UZS5OKCkubGFzdFByaWNlQW5pbWF0aW9uKXtjYXNlIDA6cmV0dXJuITE7Y2FzZSAxOnJldHVybiEwO2Nhc2UgMjpyZXR1cm4gcGVyZm9ybWFuY2Uubm93KCk8PXRoaXMuUGV9fVR0KCl7cmV0dXJuIHRoaXMueHQ/KHRoaXMuUnQoKSx0aGlzLnh0PSExLHRoaXMueWU9ITEpOnRoaXMueWUmJih0aGlzLkJlKCksdGhpcy55ZT0hMSksdGhpcy5YdH1SdCgpe3RoaXMuWHQuaHQobnVsbCk7Y29uc3QgdD10aGlzLlRlLlF0KCkuRXQoKSxpPXQuRWUoKSxzPXRoaXMuVGUuTHQoKTtpZihudWxsPT09aXx8bnVsbD09PXMpcmV0dXJuO2NvbnN0IGU9dGhpcy5UZS5BZSghMCk7aWYoZS5MZXx8IWkuemUoZS4kbikpcmV0dXJuO2NvbnN0IGg9e3g6dC5qdChlLiRuKSx5OnRoaXMuVGUuRnQoKS5OdChlLk10LHMuV3QpfSxuPWUuUixyPXRoaXMuVGUuTigpLmxpbmVXaWR0aCxvPXRoaXMuT2UodGhpcy5OZSgpLG4pO3RoaXMuWHQuaHQoe2RlOm4sZmU6cixwZTpvLnBlLHZlOm8udmUsZnQ6by5mdCxjZTpofSl9QmUoKXtjb25zdCB0PXRoaXMuWHQudWUoKTtpZihudWxsIT09dCl7Y29uc3QgaT10aGlzLk9lKHRoaXMuTmUoKSx0LmRlKTt0LnBlPWkucGUsdC52ZT1pLnZlLHQuZnQ9aS5mdH19TmUoKXtyZXR1cm4gdGhpcy5WZSgpP3BlcmZvcm1hbmNlLm5vdygpLXRoaXMua2U6MjU5OX1GZSh0LGkscyxlKXtjb25zdCBoPXMrKGUtcykqaTtyZXR1cm4gdGhpcy5UZS5RdCgpLlhpKCkuWSh0LGgpfU9lKHQsaSl7Y29uc3Qgcz10JTI2MDAvMjYwMDtsZXQgZTtmb3IoY29uc3QgdCBvZiBmdClpZihzPj10Lm1lJiZzPD10LndlKXtlPXQ7YnJlYWt9dSh2b2lkIDAhPT1lLCJMYXN0IHByaWNlIGFuaW1hdGlvbiBpbnRlcm5hbCBsb2dpYyBlcnJvciIpO2NvbnN0IGg9KHMtZS5tZSkvKGUud2UtZS5tZSk7cmV0dXJue3BlOnRoaXMuRmUoaSxoLGUuYmUsZS5TZSksdmU6dGhpcy5GZShpLGgsZS54ZSxlLkNlKSxmdDoobj1oLHI9ZS5NZSxvPWUuZ2Uscisoby1yKSpuKX07dmFyIG4scixvfX1jbGFzcyBtdCBleHRlbmRzIGF0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpfW9lKCl7Y29uc3QgdD10aGlzLnJlO3QuSXQ9ITE7Y29uc3QgaT10aGlzLmFlLk4oKTtpZighaS5wcmljZUxpbmVWaXNpYmxlfHwhdGhpcy5hZS5JdCgpKXJldHVybjtjb25zdCBzPXRoaXMuYWUuQWUoMD09PWkucHJpY2VMaW5lU291cmNlKTtzLkxlfHwodC5JdD0hMCx0LnV0PXMuRWksdC5SPXRoaXMuYWUuV2Uocy5SKSx0LmN0PWkucHJpY2VMaW5lV2lkdGgsdC5adD1pLnByaWNlTGluZVN0eWxlKX19Y2xhc3MgcHQgZXh0ZW5kcyAke2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5KdD10fQpZaSh0LGkscyl7dC5JdD0hMSxpLkl0PSExO2NvbnN0IGU9dGhpcy5KdDtpZighZS5JdCgpKXJldHVybjtjb25zdCBoPWUuTigpLG49aC5sYXN0VmFsdWVWaXNpYmxlLHI9IiIhPT1lLkhlKCksbz0wPT09aC5zZXJpZXNMYXN0VmFsdWVNb2RlLGw9ZS5BZSghMSk7aWYobC5MZSlyZXR1cm47biYmKHQucmk9dGhpcy5VZShsLG4sbyksdC5JdD0wIT09dC5yaS5sZW5ndGgpLChyfHxvKSYmKGkucmk9dGhpcy4kZShsLG4scixvKSxpLkl0PWkucmkubGVuZ3RoPjApO2NvbnN0IGE9ZS5XZShsLlIpLHU9dGhpcy5KdC5RdCgpLlhpKCkuWihhKTtzLkc9dS5HLHMuRWk9bC5FaSxpLkh0PWUuUXQoKS5VdChsLkVpL2UuRnQoKS4kdCgpKSx0Lkh0PWEsdC5SPXUuWCxpLlI9dS5YfSRlKHQsaSxzLGUpe2xldCBoPSIiO2NvbnN0IG49dGhpcy5KdC5IZSgpO3JldHVybiBzJiYwIT09bi5sZW5ndGgmJihoKz1gJHtufSBgKSxpJiZlJiYoaCs9dGhpcy5KdC5GdCgpLmplKCk/dC5xZTp0LlllKSxoLnRyaW0oKX1VZSh0LGkscyl7cmV0dXJuIGk/cz90aGlzLkp0LkZ0KCkuamUoKT90LlllOnQucWU6dC5yaToiIn19ZnVuY3Rpb24gZ3QodCxpLHMsZSl7Y29uc3QgaD1OdW1iZXIuaXNGaW5pdGUoaSksbj1OdW1iZXIuaXNGaW5pdGUocyk7cmV0dXJuIGgmJm4/dChpLHMpOmh8fG4/aD9pOnM6ZX1jbGFzcyB2dHtjb25zdHJ1Y3Rvcih0LGkpe3RoaXMuS2U9dCx0aGlzLlplPWl9R2UodCl7cmV0dXJuIG51bGwhPT10JiZ0aGlzLktlPT09dC5LZSYmdGhpcy5aZT09PXQuWmV9WGUoKXtyZXR1cm4gbmV3IHZ0KHRoaXMuS2UsdGhpcy5aZSl9SmUoKXtyZXR1cm4gdGhpcy5LZX1RZSgpe3JldHVybiB0aGlzLlplfXRyKCl7cmV0dXJuIHRoaXMuWmUtdGhpcy5LZX1HaSgpe3JldHVybiB0aGlzLlplPT09dGhpcy5LZXx8TnVtYmVyLmlzTmFOKHRoaXMuWmUpfHxOdW1iZXIuaXNOYU4odGhpcy5LZSl9U3ModCl7cmV0dXJuIG51bGw9PT10P3RoaXM6bmV3IHZ0KGd0KE1hdGgubWluLHRoaXMuSmUoKSx0LkplKCksLTEvMCksZ3QoTWF0aC5tYXgsdGhpcy5RZSgpLHQuUWUoKSwxLzApKX1pcih0KXtpZighZyh0KSlyZXR1cm47aWYoMD09dGhpcy5aZS10aGlzLktlKXJldHVybjtjb25zdCBpPS41Kih0aGlzLlplK3RoaXMuS2UpO2xldCBzPXRoaXMuWmUtaSxlPXRoaXMuS2UtaTtzKj10LGUqPXQsdGhpcy5aZT1pK3MsdGhpcy5LZT1pK2V9bnIodCl7Zyh0KSYmKHRoaXMuWmUrPXQsdGhpcy5LZSs9dCl9c3IoKXtyZXR1cm57bWluVmFsdWU6dGhpcy5LZSxtYXhWYWx1ZTp0aGlzLlplfX1zdGF0aWMgZXIodCl7cmV0dXJuIG51bGw9PT10P251bGw6bmV3IHZ0KHQubWluVmFsdWUsdC5tYXhWYWx1ZSl9fWNsYXNzIGJ0e2NvbnN0cnVjdG9yKHQsaSl7dGhpcy5ycj10LHRoaXMuaHI9aXx8bnVsbH1hcigpe3JldHVybiB0aGlzLnJyfWxyKCl7cmV0dXJuIHRoaXMuaHJ9c3IoKXtyZXR1cm57cHJpY2VSYW5nZTpudWxsPT09dGhpcy5ycj9udWxsOnRoaXMucnIuc3IoKSxtYXJnaW5zOnRoaXMuaHJ8fHZvaWQgMH19c3RhdGljIGVyKHQpe3JldHVybiBudWxsPT09dD9udWxsOm5ldyBidCh2dC5lcih0LnByaWNlUmFuZ2UpLHQubWFyZ2lucyl9fWNvbnN0IHd0PVsyLDQsOCwxNiwzMiw2NCwxMjgsMjU2LDUxMl07Y2xhc3MgTXQgZXh0ZW5kcyBhdHtjb25zdHJ1Y3Rvcih0LGkpe3N1cGVyKHQpLHRoaXMuX3I9aX1vZSgpe2NvbnN0IHQ9dGhpcy5yZTt0Lkl0PSExO2NvbnN0IGk9dGhpcy5fci5OKCk7aWYoIXRoaXMuYWUuSXQoKXx8IWkubGluZVZpc2libGUpcmV0dXJuO2NvbnN0IHM9dGhpcy5fci51cigpO251bGwhPT1zJiYodC5JdD0hMCx0LnV0PXMsdC5SPWkuY29sb3IsdC5jdD1pLmxpbmVXaWR0aCx0Llp0PWkubGluZVN0eWxlLHQudGU9dGhpcy5fci5OKCkuaWQpfX1jbGFzcyB5dCBleHRlbmRzICR7Y29uc3RydWN0b3IodCxpKXtzdXBlcigpLHRoaXMuVGU9dCx0aGlzLl9yPWl9WWkodCxpLHMpe3QuSXQ9ITEsaS5JdD0hMTtjb25zdCBlPXRoaXMuX3IuTigpLGg9ZS5heGlzTGFiZWxWaXNpYmxlLG49IiIhPT1lLnRpdGxlLHI9dGhpcy5UZTtpZighaHx8IXIuSXQoKSlyZXR1cm47Y29uc3Qgbz10aGlzLl9yLnVyKCk7aWYobnVsbD09PW8pcmV0dXJuO24mJihpLnJpPWUudGl0bGUsaS5JdD0hMCksaS5IdD1yLlF0KCkuVXQoby9yLkZ0KCkuJHQoKSksdC5yaT10aGlzLmNyKGUucHJpY2UpLHQuSXQ9ITA7Y29uc3QgbD10aGlzLlRlLlF0KCkuWGkoKS5aKGUuYXhpc0xhYmVsQ29sb3J8fGUuY29sb3IpO3MuRz1sLkc7Y29uc3QgYT1lLmF4aXNMYWJlbFRleHRDb2xvcnx8bC5YO3QuUj1hLGkuUj1hLHMuRWk9b31jcih0KXtjb25zdCBpPXRoaXMuVGUuTHQoKTtyZXR1cm4gbnVsbD09PWk/IiI6dGhpcy5UZS5GdCgpLkppKHQsaS5XdCl9fWNsYXNzIFN0e2NvbnN0cnVjdG9yKHQsaSl7dGhpcy5UZT10LHRoaXMueW49aSx0aGlzLmRyPW5ldyBNdCh0LHRoaXMpLHRoaXMucXM9bmV3IHl0KHQsdGhpcyksdGhpcy5wcj1uZXcgb3QodGhpcy5xcyx0LHQuUXQoKSl9dnIodCl7cCh0aGlzLnluLHQpLHRoaXMua3QoKSx0aGlzLlRlLlF0KCkubXIoKX1OKCl7cmV0dXJuIHRoaXMueW59d3IoKXtyZXR1cm4gdGhpcy5kcn1Ncigpe3JldHVybiB0aGlzLnByfWdyKCl7cmV0dXJuIHRoaXMucXN9a3QoKXt0aGlzLmRyLmt0KCksdGhpcy5xcy5rdCgpfXVyKCl7Y29uc3QgdD10aGlzLlRlLGk9dC5GdCgpO2lmKHQuUXQoKS5FdCgpLkdpKCl8fGkuR2koKSlyZXR1cm4gbnVsbDtjb25zdCBzPXQuTHQoKTtyZXR1cm4gbnVsbD09PXM/bnVsbDppLk50KHRoaXMueW4ucHJpY2Uscy5XdCl9fWNsYXNzIHh0e2NvbnN0cnVjdG9yKCl7dGhpcy5icj1uZXcgV2Vha01hcH1Tcih0LGkscyl7Y29uc3QgZT0xL2kqcztpZih0Pj1lKXJldHVybiAxO2NvbnN0IGg9ZS90LG49TWF0aC5wb3coMixNYXRoLmZsb29yKE1hdGgubG9nMihoKSkpO3JldHVybiBNYXRoLm1pbihuLDUxMil9Q3IodCxpLHMsZT0hMSxoKXtpZigwPT09dC5sZW5ndGh8fGk8PTEpcmV0dXJuIHQ7Y29uc3Qgbj10aGlzLnlyKGkpO2lmKG48PTEpcmV0dXJuIHQ7Y29uc3Qgcj10aGlzLmtyKHQpO2xldCBvPXIuUHIuZ2V0KG4pCjtyZXR1cm4gdm9pZCAwIT09b3x8KG89dGhpcy5Ucih0LG4scyxlLGgsci5Qciksci5Qci5zZXQobixvKSksb31Scih0LGkscyxlLGg9ITEsbil7aWYoczwxfHwwPT09dC5sZW5ndGgpcmV0dXJuIHQ7Y29uc3Qgcj10aGlzLmtyKHQpLG89ci5Qci5nZXQocyk7aWYoIW8pcmV0dXJuIHRoaXMuQ3IodCxzLGUsaCxuKTtjb25zdCBsPXRoaXMuRHIodCxpLHMsbyxoLGUsbik7cmV0dXJuIHIuUHIuc2V0KHMsbCksbH15cih0KXtpZih0PD0yKXJldHVybiAyO2Zvcihjb25zdCBpIG9mIHd0KWlmKHQ8PWkpcmV0dXJuIGk7cmV0dXJuIDUxMn1Jcih0KXtpZigwPT09dC5sZW5ndGgpcmV0dXJuIDA7Y29uc3QgaT10WzBdLHM9dFt0Lmxlbmd0aC0xXTtyZXR1cm4gMzEqdC5sZW5ndGgrMTcqaS4kbisxMypzLiRufVRyKHQsaSxzLGU9ITEsaCxuPW5ldyBNYXApe2lmKDI9PT1pKXJldHVybiB0aGlzLlZyKHQsMixzLGUsaCk7Y29uc3Qgcj1pLzI7bGV0IG89bi5nZXQocik7cmV0dXJuIG98fChvPXRoaXMuVHIodCxyLHMsZSxoLG4pLG4uc2V0KHIsbykpLHRoaXMuQnIobyxzLGUsaCl9VnIodCxpLHMsZT0hMSxoKXtjb25zdCBuPXRoaXMuRXIodCxpLHMsZSxoKTtyZXR1cm4gdGhpcy5BcihuLGUpfUJyKHQsaSxzPSExLGUpe2NvbnN0IGg9dGhpcy5Fcih0LDIsaSxzLGUpO3JldHVybiB0aGlzLkFyKGgscyl9RXIodCxpLHMsZT0hMSxoKXtjb25zdCBuPVtdO2ZvcihsZXQgcj0wO3I8dC5sZW5ndGg7cis9aSlpZih0Lmxlbmd0aC1yPj1pKXtjb25zdCBpPXRoaXMuTHIodFtyXSx0W3IrMV0scyxlLGgpO2kuenI9ITEsbi5wdXNoKGkpfWVsc2UgaWYoMD09PW4ubGVuZ3RoKW4ucHVzaCh0aGlzLk9yKHRbcl0sITApKTtlbHNle2NvbnN0IGk9bltuLmxlbmd0aC0xXTtuW24ubGVuZ3RoLTFdPXRoaXMuTnIoaSx0W3JdLHMsZSxoKX1yZXR1cm4gbn1Gcih0LGkpe3JldHVybih0Pz8xKSsoaT8/MSl9THIodCxpLHMsZT0hMSxoKXtpZighZXx8IXN8fCFoKXtjb25zdCBzPXQuV3RbMV0+aS5XdFsxXT90Lld0WzFdOmkuV3RbMV0sZT10Lld0WzJdPGkuV3RbMl0/dC5XdFsyXTppLld0WzJdO3JldHVybntXcjp0LiRuLEhyOmkuJG4sVXI6dC53dCwkcjppLnd0LGpyOnQuV3RbMF0scXI6cyxZcjplLEtyOmkuV3RbM10sWnI6dGhpcy5Gcih0LlpyLGkuWnIpLEdyOnZvaWQgMCx6cjohMX19Y29uc3Qgbj1zKHRoaXMuWHIodCxoKSx0aGlzLlhyKGksaCkpLHI9aChuKSxvPXIubGVuZ3RoP3Jbci5sZW5ndGgtMV06MDtyZXR1cm57V3I6dC4kbixIcjppLiRuLFVyOnQud3QsJHI6aS53dCxqcjp0Lld0WzBdLHFyOk1hdGgubWF4KHQuV3RbMV0sbyksWXI6TWF0aC5taW4odC5XdFsyXSxvKSxLcjpvLFpyOnRoaXMuRnIodC5acixpLlpyKSxHcjpuLHpyOiExfX1Ocih0LGkscyxlPSExLGgpe2lmKCFlfHwhc3x8IWgpcmV0dXJue1dyOnQuV3IsSHI6aS4kbixVcjp0LlVyLCRyOmkud3QsanI6dC5qcixxcjp0LnFyPmkuV3RbMV0/dC5xcjppLld0WzFdLFlyOnQuWXI8aS5XdFsyXT90LllyOmkuV3RbMl0sS3I6aS5XdFszXSxacjp0LlpyKyhpLlpyPz8xKSxHcjp0LkdyLHpyOiExfTtjb25zdCBuPXQuR3Iscj10aGlzLlhyKGksaCksbz1uP3tkYXRhOm4saW5kZXg6dC5XcixvcmlnaW5hbFRpbWU6dC5Vcix0aW1lOnQuVXIscHJpY2VWYWx1ZXM6aChuKX06bnVsbCxsPW8/cyhvLHIpOnIuZGF0YSxhPW8/aChsKTpyLnByaWNlVmFsdWVzLHU9YS5sZW5ndGg/YVthLmxlbmd0aC0xXTowO3JldHVybntXcjp0LldyLEhyOmkuJG4sVXI6dC5VciwkcjppLnd0LGpyOnQuanIscXI6TWF0aC5tYXgodC5xcix1KSxZcjpNYXRoLm1pbih0LllyLHUpLEtyOnUsWnI6dC5acisoaS5acj8/MSksR3I6bCx6cjohMX19SnIodCxpLHMsZSxoLG4scj0hMSxvKXtjb25zdCBsPWk9PT1lP2g6dFtpXTtpZihzLWk9PTEpcmV0dXJuIHRoaXMuT3IobCwhMCk7Y29uc3QgYT1pKzE9PT1lP2g6dFtpKzFdO2xldCB1PXRoaXMuTHIobCxhLG4scixvKTtmb3IobGV0IGw9aSsyO2w8cztsKyspe2NvbnN0IGk9bD09PWU/aDp0W2xdO3U9dGhpcy5Ocih1LGksbixyLG8pfXJldHVybiB1fVhyKHQsaSl7Y29uc3Qgcz10LnVlPz97fTtyZXR1cm57ZGF0YTp0LnVlLGluZGV4OnQuJG4sb3JpZ2luYWxUaW1lOnQuUXIsdGltZTp0Lnd0LHByaWNlVmFsdWVzOmkocyl9fXRoKHQsaT0hMSl7Y29uc3Qgcz0hMD09PWksZT0hIXQuR3I7cmV0dXJueyRuOnQuV3Isd3Q6dC5VcixRcjp0LlVyLFd0OltzP3QuS3I6dC5qcix0LnFyLHQuWXIsdC5Lcl0sWnI6dC5acix1ZTpzP2U/dC5Hcjp7d3Q6dC5Vcn06dm9pZCAwfX1Bcih0LGk9ITEpe3JldHVybiB0Lm1hcCgodD0+dGhpcy50aCh0LGkpKSl9RHIodCxpLHMsZSxoPSExLG4scil7aWYoMD09PWUubGVuZ3RoKXJldHVybiBlO2NvbnN0IG89dC5sZW5ndGgtMSxsPU1hdGguZmxvb3Ioby9zKSpzO2lmKE1hdGgubWluKGwrcyx0Lmxlbmd0aCktbDxzJiZ0Lmxlbmd0aD5zKXtjb25zdCBlPXQuc2xpY2UoKTtyZXR1cm4gZVtlLmxlbmd0aC0xXT1pLHRoaXMuQ3IoZSxzLG4saCxyKX1pZihNYXRoLmZsb29yKChvLTEpL3MpPT09TWF0aC5mbG9vcihvL3MpfHwxPT09ZS5sZW5ndGgpe2NvbnN0IGE9TWF0aC5taW4obCtzLHQubGVuZ3RoKSx1PWEtbDtpZih1PD0wKXJldHVybiBlO2NvbnN0IGM9MT09PXU/dGhpcy5PcihsPT09bz9pOnRbbF0sITApOnRoaXMuSnIodCxsLGEsbyxpLG4saCxyKTtyZXR1cm4gZVtlLmxlbmd0aC0xXT10aGlzLnRoKGMsaCksZX17Y29uc3QgZT10LnNsaWNlKCk7cmV0dXJuIGVbZS5sZW5ndGgtMV09aSx0aGlzLkNyKGUscyxuLGgscil9fU9yKHQsaT0hMSl7cmV0dXJue1dyOnQuJG4sSHI6dC4kbixVcjp0Lnd0LCRyOnQud3QsanI6dC5XdFswXSxxcjp0Lld0WzFdLFlyOnQuV3RbMl0sS3I6dC5XdFszXSxacjp0LlpyPz8xLEdyOnQudWUsenI6aX19a3IodCl7Y29uc3QgaT10aGlzLmloKHQpLHM9dGhpcy5Jcih0KTtyZXR1cm4gaS5uaCE9PXMmJihpLlByLmNsZWFyKCksaS5uaD1zKSxpfWloKHQpe2xldCBpPXRoaXMuYnIuZ2V0KHQpO3JldHVybiB2b2lkIDA9PT1pJiYoaT17bmg6dGhpcy5Jcih0KSxQcjpuZXcgTWFwfSx0aGlzLmJyLnNldCh0LGkpKSxpfQp9Y2xhc3MgX3QgZXh0ZW5kcyBHe2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5zbj10fVF0KCl7cmV0dXJuIHRoaXMuc259fWNvbnN0IEN0PXtCYXI6KHQsaSxzLGUpPT57Y29uc3QgaD1pLnVwQ29sb3Isbj1pLmRvd25Db2xvcixyPWYodChzLGUpKSxvPWQoci5XdFswXSk8PWQoci5XdFszXSk7cmV0dXJue3NoOnIuUj8/KG8/aDpuKX19LENhbmRsZXN0aWNrOih0LGkscyxlKT0+e2NvbnN0IGg9aS51cENvbG9yLG49aS5kb3duQ29sb3Iscj1pLmJvcmRlclVwQ29sb3Isbz1pLmJvcmRlckRvd25Db2xvcixsPWkud2lja1VwQ29sb3IsYT1pLndpY2tEb3duQ29sb3IsdT1mKHQocyxlKSksYz1kKHUuV3RbMF0pPD1kKHUuV3RbM10pO3JldHVybntzaDp1LlI/PyhjP2g6biksZWg6dS5IdD8/KGM/cjpvKSxyaDp1LmhoPz8oYz9sOmEpfX0sQ3VzdG9tOih0LGkscyxlKT0+KHtzaDpmKHQocyxlKSkuUj8/aS5jb2xvcn0pLEFyZWE6KHQsaSxzLGUpPT57Y29uc3QgaD1mKHQocyxlKSk7cmV0dXJue3NoOmgudnQ/P2kubGluZUNvbG9yLHZ0OmgudnQ/P2kubGluZUNvbG9yLGFoOmguYWg/P2kudG9wQ29sb3Isb2g6aC5vaD8/aS5ib3R0b21Db2xvcn19LEJhc2VsaW5lOih0LGkscyxlKT0+e2NvbnN0IGg9Zih0KHMsZSkpO3JldHVybntzaDpoLld0WzNdPj1pLmJhc2VWYWx1ZS5wcmljZT9pLnRvcExpbmVDb2xvcjppLmJvdHRvbUxpbmVDb2xvcixfaDpoLl9oPz9pLnRvcExpbmVDb2xvcix1aDpoLnVoPz9pLmJvdHRvbUxpbmVDb2xvcixkaDpoLmRoPz9pLnRvcEZpbGxDb2xvcjEsZmg6aC5maD8/aS50b3BGaWxsQ29sb3IyLHBoOmgucGg/P2kuYm90dG9tRmlsbENvbG9yMSxtaDpoLm1oPz9pLmJvdHRvbUZpbGxDb2xvcjJ9fSxMaW5lOih0LGkscyxlKT0+e2NvbnN0IGg9Zih0KHMsZSkpO3JldHVybntzaDpoLlI/P2kuY29sb3IsdnQ6aC5SPz9pLmNvbG9yfX0sSGlzdG9ncmFtOih0LGkscyxlKT0+KHtzaDpmKHQocyxlKSkuUj8/aS5jb2xvcn0pfTtjbGFzcyBrdHtjb25zdHJ1Y3Rvcih0KXt0aGlzLndoPSh0LGkpPT52b2lkIDAhPT1pP2kuV3Q6dGhpcy5UZS5VbigpLk1oKHQpLHRoaXMuVGU9dCx0aGlzLmdoPUN0W3QuYmgoKV19U2godCxpKXtyZXR1cm4gdGhpcy5naCh0aGlzLndoLHRoaXMuVGUuTigpLHQsaSl9fWZ1bmN0aW9uIEV0KHQsaSxzLGUsaD0wLG49aS5sZW5ndGgpe2xldCByPW4taDtmb3IoOzA8cjspe2NvbnN0IG49cj4+MSxvPWgrbjtlKGlbb10scyk9PT10PyhoPW8rMSxyLT1uKzEpOnI9bn1yZXR1cm4gaH1jb25zdCBOdD1FdC5iaW5kKG51bGwsITApLFR0PUV0LmJpbmQobnVsbCwhMSk7dmFyIFJ0OyFmdW5jdGlvbih0KXt0W3QuTmVhcmVzdExlZnQ9LTFdPSJOZWFyZXN0TGVmdCIsdFt0Lk5vbmU9MF09Ik5vbmUiLHRbdC5OZWFyZXN0UmlnaHQ9MV09Ik5lYXJlc3RSaWdodCJ9KFJ0fHwoUnQ9e30pKTtjb25zdCBQdD0zMDtjbGFzcyB6dHtjb25zdHJ1Y3Rvcigpe3RoaXMueGg9W10sdGhpcy5DaD1uZXcgTWFwLHRoaXMueWg9bmV3IE1hcCx0aGlzLmtoPVtdfVBoKCl7cmV0dXJuIHRoaXMuVGgoKT4wP3RoaXMueGhbdGhpcy54aC5sZW5ndGgtMV06bnVsbH1SaCgpe3JldHVybiB0aGlzLlRoKCk+MD90aGlzLkRoKDApOm51bGx9UW4oKXtyZXR1cm4gdGhpcy5UaCgpPjA/dGhpcy5EaCh0aGlzLnhoLmxlbmd0aC0xKTpudWxsfVRoKCl7cmV0dXJuIHRoaXMueGgubGVuZ3RofUdpKCl7cmV0dXJuIDA9PT10aGlzLlRoKCl9emUodCl7cmV0dXJuIG51bGwhPT10aGlzLkloKHQsMCl9TWgodCl7cmV0dXJuIHRoaXMuSG4odCl9SG4odCxpPTApe2NvbnN0IHM9dGhpcy5JaCh0LGkpO3JldHVybiBudWxsPT09cz9udWxsOnsuLi50aGlzLlZoKHMpLCRuOnRoaXMuRGgocyl9fUJoKCl7cmV0dXJuIHRoaXMueGh9RWgodCxpLHMpe2lmKHRoaXMuR2koKSlyZXR1cm4gbnVsbDtsZXQgZT1udWxsO2Zvcihjb25zdCBoIG9mIHMpZT1JdChlLHRoaXMuQWgodCxpLGgpKTtyZXR1cm4gZX1odCh0KXt0aGlzLnloLmNsZWFyKCksdGhpcy5DaC5jbGVhcigpLHRoaXMueGg9dCx0aGlzLmtoPXQubWFwKCh0PT50LiRuKSl9TGgoKXtyZXR1cm4gdGhpcy5raH1EaCh0KXtyZXR1cm4gdGhpcy54aFt0XS4kbn1WaCh0KXtyZXR1cm4gdGhpcy54aFt0XX1JaCh0LGkpe2NvbnN0IHM9dGhpcy56aCh0KTtpZihudWxsPT09cyYmMCE9PWkpc3dpdGNoKGkpe2Nhc2UtMTpyZXR1cm4gdGhpcy5PaCh0KTtjYXNlIDE6cmV0dXJuIHRoaXMuTmgodCk7ZGVmYXVsdDp0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmtub3duIHNlYXJjaCBtb2RlIil9cmV0dXJuIHN9T2godCl7bGV0IGk9dGhpcy5GaCh0KTtyZXR1cm4gaT4wJiYoaS09MSksaSE9PXRoaXMueGgubGVuZ3RoJiZ0aGlzLkRoKGkpPHQ/aTpudWxsfU5oKHQpe2NvbnN0IGk9dGhpcy5XaCh0KTtyZXR1cm4gaSE9PXRoaXMueGgubGVuZ3RoJiZ0PHRoaXMuRGgoaSk/aTpudWxsfXpoKHQpe2NvbnN0IGk9dGhpcy5GaCh0KTtyZXR1cm4gaT09PXRoaXMueGgubGVuZ3RofHx0PHRoaXMueGhbaV0uJG4/bnVsbDppfUZoKHQpe3JldHVybiBOdCh0aGlzLnhoLHQsKCh0LGkpPT50LiRuPGkpKX1XaCh0KXtyZXR1cm4gVHQodGhpcy54aCx0LCgodCxpKT0+dC4kbj5pKSl9SGgodCxpLHMpe2xldCBlPW51bGw7Zm9yKGxldCBoPXQ7aDxpO2grKyl7Y29uc3QgdD10aGlzLnhoW2hdLld0W3NdO051bWJlci5pc05hTih0KXx8KG51bGw9PT1lP2U9e1VoOnQsJGg6dH06KHQ8ZS5VaCYmKGUuVWg9dCksdD5lLiRoJiYoZS4kaD10KSkpfXJldHVybiBlfUFoKHQsaSxzKXtpZih0aGlzLkdpKCkpcmV0dXJuIG51bGw7bGV0IGU9bnVsbDtjb25zdCBoPWYodGhpcy5SaCgpKSxuPWYodGhpcy5RbigpKSxyPU1hdGgubWF4KHQsaCksbz1NYXRoLm1pbihpLG4pLGw9TWF0aC5jZWlsKHIvUHQpKlB0LGE9TWF0aC5tYXgobCxNYXRoLmZsb29yKG8vUHQpKlB0KTt7Y29uc3QgdD10aGlzLkZoKHIpLGg9dGhpcy5XaChNYXRoLm1pbihvLGwsaSkpO2U9SXQoZSx0aGlzLkhoKHQsaCxzKSl9bGV0IHU9dGhpcy5DaC5nZXQocyk7dm9pZCAwPT09dSYmKHU9bmV3IE1hcCx0aGlzLkNoLnNldChzLHUpKQo7Zm9yKGxldCB0PU1hdGgubWF4KGwrMSxyKTt0PGE7dCs9UHQpe2NvbnN0IGk9TWF0aC5mbG9vcih0L1B0KTtsZXQgaD11LmdldChpKTtpZih2b2lkIDA9PT1oKXtjb25zdCB0PXRoaXMuRmgoaSpQdCksZT10aGlzLldoKChpKzEpKlB0LTEpO2g9dGhpcy5IaCh0LGUscyksdS5zZXQoaSxoKX1lPUl0KGUsaCl9e2NvbnN0IHQ9dGhpcy5GaChhKSxpPXRoaXMuV2gobyk7ZT1JdChlLHRoaXMuSGgodCxpLHMpKX1yZXR1cm4gZX19ZnVuY3Rpb24gSXQodCxpKXtyZXR1cm4gbnVsbD09PXQ/aTpudWxsPT09aT90OntVaDpNYXRoLm1pbih0LlVoLGkuVWgpLCRoOk1hdGgubWF4KHQuJGgsaS4kaCl9fWZ1bmN0aW9uIEx0KCl7cmV0dXJuIG5ldyB6dH1jb25zdCBGdD17c2V0TGluZVN0eWxlOmx9O2NsYXNzIHF0e2NvbnN0cnVjdG9yKHQpe3RoaXMuamg9dH1zdCh0LGkscyl7dGhpcy5qaC5kcmF3KHQsRnQpfXFoKHQsaSxzKXt0aGlzLmpoLmRyYXdCYWNrZ3JvdW5kPy4odCxGdCl9fWNsYXNzIFd0e2NvbnN0cnVjdG9yKHQpe3RoaXMuTHM9bnVsbCx0aGlzLlloPXR9VHQoKXtjb25zdCB0PXRoaXMuWWgucmVuZGVyZXIoKTtpZihudWxsPT09dClyZXR1cm4gbnVsbDtpZih0aGlzLkxzPy5LaD09PXQpcmV0dXJuIHRoaXMuTHMuWmg7Y29uc3QgaT1uZXcgcXQodCk7cmV0dXJuIHRoaXMuTHM9e0toOnQsWmg6aX0saX1HaCgpe3JldHVybiB0aGlzLlloLnpPcmRlcj8uKCk/PyJub3JtYWwifX1jbGFzcyBRdHtjb25zdHJ1Y3Rvcih0KXt0aGlzLlhoPW51bGwsdGhpcy5KaD10fVFoKCl7cmV0dXJuIHRoaXMuSmh9Tm4oKXt0aGlzLkpoLnVwZGF0ZUFsbFZpZXdzPy4oKX1qbigpe2NvbnN0IHQ9dGhpcy5KaC5wYW5lVmlld3M/LigpPz9bXTtpZih0aGlzLlhoPy5LaD09PXQpcmV0dXJuIHRoaXMuWGguWmg7Y29uc3QgaT10Lm1hcCgodD0+bmV3IFd0KHQpKSk7cmV0dXJuIHRoaXMuWGg9e0toOnQsWmg6aX0saX1Rcyh0LGkpe3JldHVybiB0aGlzLkpoLmhpdFRlc3Q/Lih0LGkpPz9udWxsfX1sZXQgRHQ9Y2xhc3MgZXh0ZW5kcyBRdHtjbigpe3JldHVybltdfX07Y2xhc3MgT3R7Y29uc3RydWN0b3IodCl7dGhpcy5qaD10fXN0KHQsaSxzKXt0aGlzLmpoLmRyYXcodCxGdCl9cWgodCxpLHMpe3RoaXMuamguZHJhd0JhY2tncm91bmQ/Lih0LEZ0KX19Y2xhc3MgS3R7Y29uc3RydWN0b3IodCl7dGhpcy5Mcz1udWxsLHRoaXMuWWg9dH1UdCgpe2NvbnN0IHQ9dGhpcy5ZaC5yZW5kZXJlcigpO2lmKG51bGw9PT10KXJldHVybiBudWxsO2lmKHRoaXMuTHM/LktoPT09dClyZXR1cm4gdGhpcy5Mcy5aaDtjb25zdCBpPW5ldyBPdCh0KTtyZXR1cm4gdGhpcy5Mcz17S2g6dCxaaDppfSxpfUdoKCl7cmV0dXJuIHRoaXMuWWguek9yZGVyPy4oKT8/Im5vcm1hbCJ9fWZ1bmN0aW9uIFZ0KHQpe3JldHVybntyaTp0LnRleHQoKSxFaTp0LmNvb3JkaW5hdGUoKSxWaTp0LmZpeGVkQ29vcmRpbmF0ZT8uKCksUjp0LnRleHRDb2xvcigpLEc6dC5iYWNrQ29sb3IoKSxJdDp0LnZpc2libGU/LigpPz8hMCxwaTp0LnRpY2tWaXNpYmxlPy4oKT8/ITB9fWNsYXNzICR0e2NvbnN0cnVjdG9yKHQsaSl7dGhpcy5YdD1uZXcgWix0aGlzLnRhPXQsdGhpcy5pYT1pfVR0KCl7cmV0dXJuIHRoaXMuWHQuaHQoe25uOnRoaXMuaWEubm4oKSwuLi5WdCh0aGlzLnRhKX0pLHRoaXMuWHR9fWNsYXNzIEJ0IGV4dGVuZHMgJHtjb25zdHJ1Y3Rvcih0LGkpe3N1cGVyKCksdGhpcy50YT10LHRoaXMuS2k9aX1ZaSh0LGkscyl7Y29uc3QgZT1WdCh0aGlzLnRhKTtzLkc9ZS5HLHQuUj1lLlI7Y29uc3QgaD0yLzEyKnRoaXMuS2kuaygpO3MuVGk9aCxzLlJpPWgscy5FaT1lLkVpLHMuVmk9ZS5WaSx0LnJpPWUucmksdC5JdD1lLkl0LHQucGk9ZS5waX19Y2xhc3MgQXQgZXh0ZW5kcyBRdHtjb25zdHJ1Y3Rvcih0LGkpe3N1cGVyKHQpLHRoaXMubmE9bnVsbCx0aGlzLnNhPW51bGwsdGhpcy5lYT1udWxsLHRoaXMucmE9bnVsbCx0aGlzLlRlPWl9ZG4oKXtjb25zdCB0PXRoaXMuSmgudGltZUF4aXNWaWV3cz8uKCk/P1tdO2lmKHRoaXMubmE/LktoPT09dClyZXR1cm4gdGhpcy5uYS5aaDtjb25zdCBpPXRoaXMuVGUuUXQoKS5FdCgpLHM9dC5tYXAoKHQ9Pm5ldyAkdCh0LGkpKSk7cmV0dXJuIHRoaXMubmE9e0toOnQsWmg6c30sc31xbigpe2NvbnN0IHQ9dGhpcy5KaC5wcmljZUF4aXNWaWV3cz8uKCk/P1tdO2lmKHRoaXMuc2E/LktoPT09dClyZXR1cm4gdGhpcy5zYS5aaDtjb25zdCBpPXRoaXMuVGUuRnQoKSxzPXQubWFwKCh0PT5uZXcgQnQodCxpKSkpO3JldHVybiB0aGlzLnNhPXtLaDp0LFpoOnN9LHN9aGEoKXtjb25zdCB0PXRoaXMuSmgucHJpY2VBeGlzUGFuZVZpZXdzPy4oKT8/W107aWYodGhpcy5lYT8uS2g9PT10KXJldHVybiB0aGlzLmVhLlpoO2NvbnN0IGk9dC5tYXAoKHQ9Pm5ldyBLdCh0KSkpO3JldHVybiB0aGlzLmVhPXtLaDp0LFpoOml9LGl9YWEoKXtjb25zdCB0PXRoaXMuSmgudGltZUF4aXNQYW5lVmlld3M/LigpPz9bXTtpZih0aGlzLnJhPy5LaD09PXQpcmV0dXJuIHRoaXMucmEuWmg7Y29uc3QgaT10Lm1hcCgodD0+bmV3IEt0KHQpKSk7cmV0dXJuIHRoaXMucmE9e0toOnQsWmg6aX0saX1sYSh0LGkpe3JldHVybiB0aGlzLkpoLmF1dG9zY2FsZUluZm8/Lih0LGkpPz9udWxsfX1mdW5jdGlvbiBadCh0LGkscyxlKXt0LmZvckVhY2goKHQ9PntpKHQpLmZvckVhY2goKHQ9Pnt0LkdoKCk9PT1zJiZlLnB1c2godCl9KSl9KSl9ZnVuY3Rpb24gSHQodCl7cmV0dXJuIHQuam4oKX1mdW5jdGlvbiBHdCh0KXtyZXR1cm4gdC5oYSgpfWZ1bmN0aW9uIFV0KHQpe3JldHVybiB0LmFhKCl9Y29uc3QgWXQ9WyJBcmVhIiwiTGluZSIsIkJhc2VsaW5lIl07Y2xhc3MganQgZXh0ZW5kcyBfdHtjb25zdHJ1Y3Rvcih0LGkscyxlLGgpe3N1cGVyKHQpLHRoaXMucXQ9THQoKSx0aGlzLmRyPW5ldyBtdCh0aGlzKSx0aGlzLm9hPVtdLHRoaXMuX2E9bmV3IHV0KHRoaXMpLHRoaXMudWE9bnVsbCx0aGlzLmNhPW51bGwsdGhpcy5kYT1udWxsLHRoaXMuZmE9W10sdGhpcy5wYT1uZXcgeHQsdGhpcy52YT1uZXcgTWFwLHRoaXMubWE9bnVsbCx0aGlzLnluPXMsdGhpcy53YT1pCjtjb25zdCBuPW5ldyBwdCh0aGlzKTtpZih0aGlzLm1uPVtuXSx0aGlzLnByPW5ldyBvdChuLHRoaXMsdCksWXQuaW5jbHVkZXModGhpcy53YSkmJih0aGlzLnVhPW5ldyBkdCh0aGlzKSksdGhpcy5NYSgpLHRoaXMuWWg9ZSh0aGlzLHRoaXMuUXQoKSxoKSwiQ3VzdG9tIj09PXRoaXMud2Epe2NvbnN0IHQ9dGhpcy5ZaDt0LmdhJiZ0aGlzLmJhKHQuZ2EpfX1tKCl7bnVsbCE9PXRoaXMuZGEmJmNsZWFyVGltZW91dCh0aGlzLmRhKX1XZSh0KXtyZXR1cm4gdGhpcy55bi5wcmljZUxpbmVDb2xvcnx8dH1BZSh0KXtjb25zdCBpPXtMZTohMH0scz10aGlzLkZ0KCk7aWYodGhpcy5RdCgpLkV0KCkuR2koKXx8cy5HaSgpfHx0aGlzLnF0LkdpKCkpcmV0dXJuIGk7Y29uc3QgZT10aGlzLlF0KCkuRXQoKS5FZSgpLGg9dGhpcy5MdCgpO2lmKG51bGw9PT1lfHxudWxsPT09aClyZXR1cm4gaTtsZXQgbixyO2lmKHQpe2NvbnN0IHQ9dGhpcy5xdC5QaCgpO2lmKG51bGw9PT10KXJldHVybiBpO249dCxyPXQuJG59ZWxzZXtjb25zdCB0PXRoaXMucXQuSG4oZS5iaSgpLC0xKTtpZihudWxsPT09dClyZXR1cm4gaTtpZihuPXRoaXMucXQuTWgodC4kbiksbnVsbD09PW4pcmV0dXJuIGk7cj10LiRufWNvbnN0IG89bi5XdFszXSxsPXRoaXMuU2EoKS5TaChyLHtXdDpufSksYT1zLk50KG8saC5XdCk7cmV0dXJue0xlOiExLE10Om8scmk6cy5KaShvLGguV3QpLHFlOnMueGEobyksWWU6cy5DYShvLGguV3QpLFI6bC5zaCxFaTphLCRuOnJ9fVNhKCl7cmV0dXJuIG51bGwhPT10aGlzLmNhfHwodGhpcy5jYT1uZXcga3QodGhpcykpLHRoaXMuY2F9Tigpe3JldHVybiB0aGlzLnlufXZyKHQpe2NvbnN0IGk9dGhpcy5RdCgpLHtwcmljZVNjYWxlSWQ6cyx2aXNpYmxlOmUscHJpY2VGb3JtYXQ6aH09dDt2b2lkIDAhPT1zJiZzIT09dGhpcy55bi5wcmljZVNjYWxlSWQmJmkueWEodGhpcyxzKSx2b2lkIDAhPT1lJiZlIT09dGhpcy55bi52aXNpYmxlJiZpLmthKCk7Y29uc3Qgbj12b2lkIDAhPT10LmNvbmZsYXRpb25UaHJlc2hvbGRGYWN0b3I7cCh0aGlzLnluLHQpLG4mJih0aGlzLnZhLmNsZWFyKCksdGhpcy5RdCgpLm1yKCkpLHZvaWQgMCE9PWgmJih0aGlzLk1hKCksaS5QYSgpKSxpLlRhKHRoaXMpLGkuUmEoKSx0aGlzLlloLmt0KCJvcHRpb25zIil9aHQodCxpKXt0aGlzLnF0Lmh0KHQpLHRoaXMudmEuY2xlYXIoKTtjb25zdCBzPXRoaXMuUXQoKS5FdCgpLk4oKTtzLmVuYWJsZUNvbmZsYXRpb24mJnMucHJlY29tcHV0ZUNvbmZsYXRpb25PbkluaXQmJnRoaXMuRGEocy5wcmVjb21wdXRlQ29uZmxhdGlvblByaW9yaXR5KSx0aGlzLlloLmt0KCJkYXRhIiksbnVsbCE9PXRoaXMudWEmJihpJiZpLklhP3RoaXMudWEuRGUoKTowPT09dC5sZW5ndGgmJnRoaXMudWEuUmUoKSk7Y29uc3QgZT10aGlzLlF0KCkuS3ModGhpcyk7dGhpcy5RdCgpLlZhKGUpLHRoaXMuUXQoKS5UYSh0aGlzKSx0aGlzLlF0KCkuUmEoKSx0aGlzLlF0KCkubXIoKX1CYSh0KXtjb25zdCBpPW5ldyBTdCh0aGlzLHQpO3JldHVybiB0aGlzLm9hLnB1c2goaSksdGhpcy5RdCgpLlRhKHRoaXMpLGl9RWEodCl7Y29uc3QgaT10aGlzLm9hLmluZGV4T2YodCk7LTEhPT1pJiZ0aGlzLm9hLnNwbGljZShpLDEpLHRoaXMuUXQoKS5UYSh0aGlzKX1BYSgpe3JldHVybiB0aGlzLm9hfWJoKCl7cmV0dXJuIHRoaXMud2F9THQoKXtjb25zdCB0PXRoaXMuTGEoKTtyZXR1cm4gbnVsbD09PXQ/bnVsbDp7V3Q6dC5XdFszXSx6YTp0Lnd0fX1MYSgpe2NvbnN0IHQ9dGhpcy5RdCgpLkV0KCkuRWUoKTtpZihudWxsPT09dClyZXR1cm4gbnVsbDtjb25zdCBpPXQuT2EoKTtyZXR1cm4gdGhpcy5xdC5IbihpLDEpfVVuKCl7cmV0dXJuIHRoaXMucXR9YmEodCl7dGhpcy5tYT10LHRoaXMudmEuY2xlYXIoKX1OYSgpe3JldHVybiEhdGhpcy5RdCgpLkV0KCkuTigpLmVuYWJsZUNvbmZsYXRpb24mJnRoaXMuRmEoKT4xfVJyKHQpe2lmKCF0aGlzLk5hKCkpcmV0dXJuO2NvbnN0IGk9dGhpcy5GYSgpO2lmKCF0aGlzLnZhLmhhcyhpKSlyZXR1cm47Y29uc3Qgcz0iQ3VzdG9tIj09PXRoaXMud2EsZT1zJiZ0aGlzLm1hfHx2b2lkIDAsaD1zJiZ0aGlzLlloLldhP3Q9Pntjb25zdCBpPXQscz10aGlzLlloLldhKGkpO3JldHVybiBBcnJheS5pc0FycmF5KHMpP3M6WyJudW1iZXIiPT10eXBlb2Ygcz9zOjBdfTp2b2lkIDAsbj10aGlzLnBhLlJyKHRoaXMucXQuQmgoKSx0LGksZSxzLGgpLHI9THQoKTtyLmh0KG4pLHRoaXMudmEuc2V0KGkscil9SGEoKXtjb25zdCB0PXRoaXMuUXQoKS5FdCgpLk4oKS5lbmFibGVDb25mbGF0aW9uO2lmKCJDdXN0b20iPT09dGhpcy53YSYmbnVsbD09PXRoaXMubWEpcmV0dXJuIHRoaXMucXQ7aWYoIXQpcmV0dXJuIHRoaXMucXQ7Y29uc3QgaT10aGlzLkZhKCkscz10aGlzLnZhLmdldChpKTtyZXR1cm4gc3x8KHRoaXMuVWEoaSksdGhpcy52YS5nZXQoaSk/P3RoaXMucXQpfSRhKHQpe2NvbnN0IGk9dGhpcy5xdC5NaCh0KTtyZXR1cm4gbnVsbD09PWk/bnVsbDoiQmFyIj09PXRoaXMud2F8fCJDYW5kbGVzdGljayI9PT10aGlzLndhfHwiQ3VzdG9tIj09PXRoaXMud2E/e2pyOmkuV3RbMF0scXI6aS5XdFsxXSxZcjppLld0WzJdLEtyOmkuV3RbM119OmkuV3RbM119amEodCl7Y29uc3QgaT1bXTtadCh0aGlzLmZhLEh0LCJ0b3AiLGkpO2NvbnN0IHM9dGhpcy51YTtyZXR1cm4gbnVsbCE9PXMmJnMuSXQoKT8obnVsbD09PXRoaXMuZGEmJnMuVmUoKSYmKHRoaXMuZGE9c2V0VGltZW91dCgoKCk9Pnt0aGlzLmRhPW51bGwsdGhpcy5RdCgpLnFhKCl9KSwwKSkscy5JZSgpLGkudW5zaGlmdChzKSxpKTppfWpuKCl7Y29uc3QgdD1bXTt0aGlzLllhKCl8fHQucHVzaCh0aGlzLl9hKSx0LnB1c2godGhpcy5ZaCx0aGlzLmRyKTtjb25zdCBpPXRoaXMub2EubWFwKCh0PT50LndyKCkpKTtyZXR1cm4gdC5wdXNoKC4uLmkpLFp0KHRoaXMuZmEsSHQsIm5vcm1hbCIsdCksdH1LYSgpe3JldHVybiB0aGlzLlphKEh0LCJib3R0b20iKX1HYSh0KXtyZXR1cm4gdGhpcy5aYShHdCx0KX1YYSh0KXtyZXR1cm4gdGhpcy5aYShVdCx0KX1KYSh0LGkpewpyZXR1cm4gdGhpcy5mYS5tYXAoKHM9PnMuUXModCxpKSkpLmZpbHRlcigodD0+bnVsbCE9PXQpKX1jbigpe3JldHVyblt0aGlzLnByLC4uLnRoaXMub2EubWFwKCh0PT50Lk1yKCkpKV19cW4odCxpKXtpZihpIT09dGhpcy5obiYmIXRoaXMuWWEoKSlyZXR1cm5bXTtjb25zdCBzPVsuLi50aGlzLm1uXTtmb3IoY29uc3QgdCBvZiB0aGlzLm9hKXMucHVzaCh0LmdyKCkpO3JldHVybiB0aGlzLmZhLmZvckVhY2goKHQ9PntzLnB1c2goLi4udC5xbigpKX0pKSxzfWRuKCl7Y29uc3QgdD1bXTtyZXR1cm4gdGhpcy5mYS5mb3JFYWNoKChpPT57dC5wdXNoKC4uLmkuZG4oKSl9KSksdH1sYSh0LGkpe2lmKHZvaWQgMCE9PXRoaXMueW4uYXV0b3NjYWxlSW5mb1Byb3ZpZGVyKXtjb25zdCBzPXRoaXMueW4uYXV0b3NjYWxlSW5mb1Byb3ZpZGVyKCgoKT0+e2NvbnN0IHM9dGhpcy5RYSh0LGkpO3JldHVybiBudWxsPT09cz9udWxsOnMuc3IoKX0pKTtyZXR1cm4gYnQuZXIocyl9cmV0dXJuIHRoaXMuUWEodCxpKX1LaCgpe2NvbnN0IHQ9dGhpcy55bi5wcmljZUZvcm1hdDtyZXR1cm4gdC5iYXNlPz8xL3QubWluTW92ZX10bCgpe3JldHVybiB0aGlzLmlsfU5uKCl7dGhpcy5ZaC5rdCgpO2Zvcihjb25zdCB0IG9mIHRoaXMubW4pdC5rdCgpO2Zvcihjb25zdCB0IG9mIHRoaXMub2EpdC5rdCgpO3RoaXMuZHIua3QoKSx0aGlzLl9hLmt0KCksdGhpcy51YT8ua3QoKSx0aGlzLmZhLmZvckVhY2goKHQ9PnQuTm4oKSkpfUZ0KCl7cmV0dXJuIGYoc3VwZXIuRnQoKSl9QXQodCl7aWYoIkxpbmUiIT09dGhpcy53YSYmIkFyZWEiIT09dGhpcy53YSYmIkJhc2VsaW5lIiE9PXRoaXMud2F8fCF0aGlzLnluLmNyb3NzaGFpck1hcmtlclZpc2libGUpcmV0dXJuIG51bGw7Y29uc3QgaT10aGlzLnF0Lk1oKHQpO3JldHVybiBudWxsPT09aT9udWxsOntNdDppLld0WzNdLGZ0OnRoaXMubmwoKSxIdDp0aGlzLnNsKCksT3Q6dGhpcy5lbCgpLHp0OnRoaXMucmwodCl9fUhlKCl7cmV0dXJuIHRoaXMueW4udGl0bGV9SXQoKXtyZXR1cm4gdGhpcy55bi52aXNpYmxlfWhsKHQpe3RoaXMuZmEucHVzaChuZXcgQXQodCx0aGlzKSl9YWwodCl7dGhpcy5mYT10aGlzLmZhLmZpbHRlcigoaT0+aS5RaCgpIT09dCkpfWxsKCl7aWYoIkN1c3RvbSI9PT10aGlzLndhKXJldHVybiB0PT50aGlzLlloLldhKHQpfW9sKCl7aWYoIkN1c3RvbSI9PT10aGlzLndhKXJldHVybiB0PT50aGlzLlloLl9sKHQpfXVsKCl7cmV0dXJuIHRoaXMucXQuTGgoKX1ZYSgpe3JldHVybiFqKHRoaXMuRnQoKS5jbCgpKX1RYSh0LGkpe2lmKCF2KHQpfHwhdihpKXx8dGhpcy5xdC5HaSgpKXJldHVybiBudWxsO2NvbnN0IHM9IkxpbmUiPT09dGhpcy53YXx8IkFyZWEiPT09dGhpcy53YXx8IkJhc2VsaW5lIj09PXRoaXMud2F8fCJIaXN0b2dyYW0iPT09dGhpcy53YT9bM106WzIsMV0sZT10aGlzLnF0LkVoKHQsaSxzKTtsZXQgaD1udWxsIT09ZT9uZXcgdnQoZS5VaCxlLiRoKTpudWxsLG49bnVsbDtpZigiSGlzdG9ncmFtIj09PXRoaXMuYmgoKSl7Y29uc3QgdD10aGlzLnluLmJhc2UsaT1uZXcgdnQodCx0KTtoPW51bGwhPT1oP2guU3MoaSk6aX1yZXR1cm4gdGhpcy5mYS5mb3JFYWNoKChzPT57Y29uc3QgZT1zLmxhKHQsaSk7aWYoZT8ucHJpY2VSYW5nZSl7Y29uc3QgdD1uZXcgdnQoZS5wcmljZVJhbmdlLm1pblZhbHVlLGUucHJpY2VSYW5nZS5tYXhWYWx1ZSk7aD1udWxsIT09aD9oLlNzKHQpOnR9ZT8ubWFyZ2lucyYmKG49ZS5tYXJnaW5zKX0pKSxuZXcgYnQoaCxuKX1ubCgpe3N3aXRjaCh0aGlzLndhKXtjYXNlIkxpbmUiOmNhc2UiQXJlYSI6Y2FzZSJCYXNlbGluZSI6cmV0dXJuIHRoaXMueW4uY3Jvc3NoYWlyTWFya2VyUmFkaXVzfXJldHVybiAwfXNsKCl7c3dpdGNoKHRoaXMud2Epe2Nhc2UiTGluZSI6Y2FzZSJBcmVhIjpjYXNlIkJhc2VsaW5lIjp7Y29uc3QgdD10aGlzLnluLmNyb3NzaGFpck1hcmtlckJvcmRlckNvbG9yO2lmKDAhPT10Lmxlbmd0aClyZXR1cm4gdH19cmV0dXJuIG51bGx9ZWwoKXtzd2l0Y2godGhpcy53YSl7Y2FzZSJMaW5lIjpjYXNlIkFyZWEiOmNhc2UiQmFzZWxpbmUiOnJldHVybiB0aGlzLnluLmNyb3NzaGFpck1hcmtlckJvcmRlcldpZHRofXJldHVybiAwfXJsKHQpe3N3aXRjaCh0aGlzLndhKXtjYXNlIkxpbmUiOmNhc2UiQXJlYSI6Y2FzZSJCYXNlbGluZSI6e2NvbnN0IHQ9dGhpcy55bi5jcm9zc2hhaXJNYXJrZXJCYWNrZ3JvdW5kQ29sb3I7aWYoMCE9PXQubGVuZ3RoKXJldHVybiB0fX1yZXR1cm4gdGhpcy5TYSgpLlNoKHQpLnNofU1hKCl7c3dpdGNoKHRoaXMueW4ucHJpY2VGb3JtYXQudHlwZSl7Y2FzZSJjdXN0b20iOntjb25zdCB0PXRoaXMueW4ucHJpY2VGb3JtYXQuZm9ybWF0dGVyO3RoaXMuaWw9e2Zvcm1hdDp0LGZvcm1hdFRpY2ttYXJrczp0aGlzLnluLnByaWNlRm9ybWF0LnRpY2ttYXJrc0Zvcm1hdHRlcj8/KGk9PmkubWFwKHQpKX07YnJlYWt9Y2FzZSJ2b2x1bWUiOnRoaXMuaWw9bmV3IGV0KHRoaXMueW4ucHJpY2VGb3JtYXQucHJlY2lzaW9uKTticmVhaztjYXNlInBlcmNlbnQiOnRoaXMuaWw9bmV3IHN0KHRoaXMueW4ucHJpY2VGb3JtYXQucHJlY2lzaW9uKTticmVhaztkZWZhdWx0Ontjb25zdCB0PU1hdGgucG93KDEwLHRoaXMueW4ucHJpY2VGb3JtYXQucHJlY2lzaW9uKTt0aGlzLmlsPW5ldyBpdCh0LHRoaXMueW4ucHJpY2VGb3JtYXQubWluTW92ZSp0KX19bnVsbCE9PXRoaXMuaG4mJnRoaXMuaG4uZGwoKX1aYSh0LGkpe2NvbnN0IHM9W107cmV0dXJuIFp0KHRoaXMuZmEsdCxpLHMpLHN9RmEoKXtjb25zdHtmbDp0LHBsOmksdmw6c309dGhpcy5tbCgpO3JldHVybiB0aGlzLnBhLlNyKHQsaSxzKX1tbCgpe2NvbnN0IHQ9dGhpcy5RdCgpLkV0KCksaT10LmZsKCkscz13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MSxlPXQuTigpLmNvbmZsYXRpb25UaHJlc2hvbGRGYWN0b3I7cmV0dXJue2ZsOmkscGw6cyx2bDp0aGlzLnluLmNvbmZsYXRpb25UaHJlc2hvbGRGYWN0b3I/P2U/PzF9fXdsKHQpe2NvbnN0IGk9dGhpcy5xdC5CaCgpO2xldCBzO2lmKCJDdXN0b20iPT09dGhpcy53YSYmbnVsbCE9PXRoaXMubWEpewpjb25zdCBlPXRoaXMubGwoKTtpZighZSl0aHJvdyBuZXcgRXJyb3IoIkN1c3RvbSBzZXJpZXMgd2l0aCBjb25mbGF0aW9uIHJlZHVjZXIgbXVzdCBoYXZlIGEgcHJpY2VWYWx1ZUJ1aWxkZXIgbWV0aG9kIik7cz10aGlzLnBhLkNyKGksdCx0aGlzLm1hLCEwLCh0PT5lKHQpKSl9ZWxzZSBzPXRoaXMucGEuQ3IoaSx0KTtjb25zdCBlPUx0KCk7cmV0dXJuIGUuaHQocyksZX1VYSh0KXtjb25zdCBpPXRoaXMud2wodCk7dGhpcy52YS5zZXQodCxpKX1EYSh0KXtpZigiQ3VzdG9tIj09PXRoaXMud2EmJihudWxsPT09dGhpcy5tYXx8IXRoaXMubGwoKSkpcmV0dXJuO3RoaXMudmEuY2xlYXIoKTtjb25zdCBpPXRoaXMuUXQoKS5FdCgpLk1sKCk7Zm9yKGNvbnN0IHMgb2YgaSl7Y29uc3QgaT0oKT0+e3RoaXMuZ2wocyl9LGU9Im9iamVjdCI9PXR5cGVvZiB3aW5kb3cmJndpbmRvd3x8Im9iamVjdCI9PXR5cGVvZiBzZWxmJiZzZWxmO2U/LlNsPy5ibD9lLlNsLmJsKCgoKT0+e2koKX0pLHtzZTp0fSk6UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKCk9PmkoKSkpfX1nbCh0KXtpZih0aGlzLnZhLmhhcyh0KSlyZXR1cm47aWYoMD09PXRoaXMucXQuQmgoKS5sZW5ndGgpcmV0dXJuO2NvbnN0IGk9dGhpcy53bCh0KTt0aGlzLnZhLnNldCh0LGkpfX1jb25zdCBYdD1bM10sSnQ9WzAsMSwyLDNdO2NsYXNzIHRpe2NvbnN0cnVjdG9yKHQpe3RoaXMueW49dH14bCh0LGkscyl7bGV0IGU9dDtpZigwPT09dGhpcy55bi5tb2RlKXJldHVybiBlO2NvbnN0IGg9cy5QbigpLG49aC5MdCgpO2lmKG51bGw9PT1uKXJldHVybiBlO2NvbnN0IHI9aC5OdCh0LG4pLG89cy5DbCgpLmZpbHRlcigodD0+dCBpbnN0YW5jZW9mIGp0KSkucmVkdWNlKCgodCxlKT0+e2lmKHMuWnMoZSl8fCFlLkl0KCkpcmV0dXJuIHQ7Y29uc3QgaD1lLkZ0KCksbj1lLlVuKCk7aWYoaC5HaSgpfHwhbi56ZShpKSlyZXR1cm4gdDtjb25zdCByPW4uTWgoaSk7aWYobnVsbD09PXIpcmV0dXJuIHQ7Y29uc3Qgbz1kKGUuTHQoKSksbD0zPT09dGhpcy55bi5tb2RlP0p0Olh0O3JldHVybiB0LmNvbmNhdChsLm1hcCgodD0+aC5OdChyLld0W3RdLG8uV3QpKSkpfSksW10pO2lmKDA9PT1vLmxlbmd0aClyZXR1cm4gZTtvLnNvcnQoKCh0LGkpPT5NYXRoLmFicyh0LXIpLU1hdGguYWJzKGktcikpKTtjb25zdCBsPW9bMF07cmV0dXJuIGU9aC5UbihsLG4pLGV9fWZ1bmN0aW9uIGlpKHQsaSxzKXtyZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgodCxpKSxzKX1mdW5jdGlvbiBzaSh0LGkscyl7cmV0dXJuIGktdDw9c31jbGFzcyBlaSBleHRlbmRzIFJ7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMucXQ9bnVsbH1odCh0KXt0aGlzLnF0PXR9ZXQoe2NvbnRleHQ6dCxiaXRtYXBTaXplOmksaG9yaXpvbnRhbFBpeGVsUmF0aW86cyx2ZXJ0aWNhbFBpeGVsUmF0aW86ZX0pe2lmKG51bGw9PT10aGlzLnF0KXJldHVybjtjb25zdCBoPU1hdGgubWF4KDEsTWF0aC5mbG9vcihzKSk7dC5saW5lV2lkdGg9aCxmdW5jdGlvbih0LGkpe3Quc2F2ZSgpLHQubGluZVdpZHRoJTImJnQudHJhbnNsYXRlKC41LC41KSxpKCksdC5yZXN0b3JlKCl9KHQsKCgpPT57Y29uc3Qgbj1mKHRoaXMucXQpO2lmKG4ueWwpe3Quc3Ryb2tlU3R5bGU9bi5rbCxsKHQsbi5QbCksdC5iZWdpblBhdGgoKTtmb3IoY29uc3QgZSBvZiBuLlRsKXtjb25zdCBuPU1hdGgucm91bmQoZS5SbCpzKTt0Lm1vdmVUbyhuLC1oKSx0LmxpbmVUbyhuLGkuaGVpZ2h0K2gpfXQuc3Ryb2tlKCl9aWYobi5EbCl7dC5zdHJva2VTdHlsZT1uLklsLGwodCxuLlZsKSx0LmJlZ2luUGF0aCgpO2Zvcihjb25zdCBzIG9mIG4uQmwpe2NvbnN0IG49TWF0aC5yb3VuZChzLlJsKmUpO3QubW92ZVRvKC1oLG4pLHQubGluZVRvKGkud2lkdGgraCxuKX10LnN0cm9rZSgpfX0pKX19Y2xhc3MgaGl7Y29uc3RydWN0b3IodCl7dGhpcy5YdD1uZXcgZWksdGhpcy54dD0hMCx0aGlzLnl0PXR9a3QoKXt0aGlzLnh0PSEwfVR0KCl7aWYodGhpcy54dCl7Y29uc3QgdD10aGlzLnl0LlF0KCkuTigpLmdyaWQsaT17RGw6dC5ob3J6TGluZXMudmlzaWJsZSx5bDp0LnZlcnRMaW5lcy52aXNpYmxlLElsOnQuaG9yekxpbmVzLmNvbG9yLGtsOnQudmVydExpbmVzLmNvbG9yLFZsOnQuaG9yekxpbmVzLnN0eWxlLFBsOnQudmVydExpbmVzLnN0eWxlLEJsOnRoaXMueXQuUG4oKS5FbCgpLFRsOih0aGlzLnl0LlF0KCkuRXQoKS5FbCgpfHxbXSkubWFwKCh0PT4oe1JsOnQuY29vcmR9KSkpfTt0aGlzLlh0Lmh0KGkpLHRoaXMueHQ9ITF9cmV0dXJuIHRoaXMuWHR9fWNsYXNzIG5pe2NvbnN0cnVjdG9yKHQpe3RoaXMuWWg9bmV3IGhpKHQpfXdyKCl7cmV0dXJuIHRoaXMuWWh9fWNvbnN0IHJpPXtBbDo0LExsOjFlLTR9O2Z1bmN0aW9uIG9pKHQsaSl7Y29uc3Qgcz0xMDAqKHQtaSkvaTtyZXR1cm4gaTwwPy1zOnN9ZnVuY3Rpb24gbGkodCxpKXtjb25zdCBzPW9pKHQuSmUoKSxpKSxlPW9pKHQuUWUoKSxpKTtyZXR1cm4gbmV3IHZ0KHMsZSl9ZnVuY3Rpb24gYWkodCxpKXtjb25zdCBzPTEwMCoodC1pKS9pKzEwMDtyZXR1cm4gaTwwPy1zOnN9ZnVuY3Rpb24gdWkodCxpKXtjb25zdCBzPWFpKHQuSmUoKSxpKSxlPWFpKHQuUWUoKSxpKTtyZXR1cm4gbmV3IHZ0KHMsZSl9ZnVuY3Rpb24gY2kodCxpKXtjb25zdCBzPU1hdGguYWJzKHQpO2lmKHM8MWUtMTUpcmV0dXJuIDA7Y29uc3QgZT1NYXRoLmxvZzEwKHMraS5MbCkraS5BbDtyZXR1cm4gdDwwPy1lOmV9ZnVuY3Rpb24gZmkodCxpKXtjb25zdCBzPU1hdGguYWJzKHQpO2lmKHM8MWUtMTUpcmV0dXJuIDA7Y29uc3QgZT1NYXRoLnBvdygxMCxzLWkuQWwpLWkuTGw7cmV0dXJuIHQ8MD8tZTplfWZ1bmN0aW9uIGRpKHQsaSl7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3Qgcz1jaSh0LkplKCksaSksZT1jaSh0LlFlKCksaSk7cmV0dXJuIG5ldyB2dChzLGUpfWZ1bmN0aW9uIG1pKHQsaSl7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3Qgcz1maSh0LkplKCksaSksZT1maSh0LlFlKCksaSk7cmV0dXJuIG5ldyB2dChzLGUpfWZ1bmN0aW9uIHBpKHQpe2lmKG51bGw9PT10KXJldHVybiByaQo7Y29uc3QgaT1NYXRoLmFicyh0LlFlKCktdC5KZSgpKTtpZihpPj0xfHxpPDFlLTE1KXJldHVybiByaTtjb25zdCBzPU1hdGguY2VpbChNYXRoLmFicyhNYXRoLmxvZzEwKGkpKSksZT1yaS5BbCtzO3JldHVybntBbDplLExsOjEvTWF0aC5wb3coMTAsZSl9fWNsYXNzIGdpe2NvbnN0cnVjdG9yKHQsaSl7aWYodGhpcy56bD10LHRoaXMuT2w9aSxmdW5jdGlvbih0KXtpZih0PDApcmV0dXJuITE7aWYodD4xZTE4KXJldHVybiEwO2ZvcihsZXQgaT10O2k+MTtpLz0xMClpZihpJTEwIT0wKXJldHVybiExO3JldHVybiEwfSh0aGlzLnpsKSl0aGlzLk5sPVsyLDIuNSwyXTtlbHNle3RoaXMuTmw9W107Zm9yKGxldCB0PXRoaXMuemw7MSE9PXQ7KXtpZih0JTI9PTApdGhpcy5ObC5wdXNoKDIpLHQvPTI7ZWxzZXtpZih0JTUhPTApdGhyb3cgbmV3IEVycm9yKCJ1bmV4cGVjdGVkIGJhc2UiKTt0aGlzLk5sLnB1c2goMiwyLjUpLHQvPTV9aWYodGhpcy5ObC5sZW5ndGg+MTAwKXRocm93IG5ldyBFcnJvcigic29tZXRoaW5nIHdyb25nIHdpdGggYmFzZSIpfX19RmwodCxpLHMpe2NvbnN0IGU9MD09PXRoaXMuemw/MDoxL3RoaXMuemw7bGV0IGg9TWF0aC5wb3coMTAsTWF0aC5tYXgoMCxNYXRoLmNlaWwoTWF0aC5sb2cxMCh0LWkpKSkpLG49MCxyPXRoaXMuT2xbMF07Zm9yKDs7KXtjb25zdCB0PXNpKGgsZSwxZS0xNCkmJmg+ZSsxZS0xNCxpPXNpKGgscypyLDFlLTE0KSxvPXNpKGgsMSwxZS0xNCk7aWYoISh0JiZpJiZvKSlicmVhaztoLz1yLHI9dGhpcy5PbFsrK24ldGhpcy5PbC5sZW5ndGhdfWlmKGg8PWUrMWUtMTQmJihoPWUpLGg9TWF0aC5tYXgoMSxoKSx0aGlzLk5sLmxlbmd0aD4wJiYobz1oLE1hdGguYWJzKG8tMSk8MWUtMTQpKWZvcihuPTAscj10aGlzLk5sWzBdO3NpKGgscypyLDFlLTE0KSYmaD5lKzFlLTE0OyloLz1yLHI9dGhpcy5ObFsrK24ldGhpcy5ObC5sZW5ndGhdO3ZhciBvO3JldHVybiBofX1jbGFzcyB2aXtjb25zdHJ1Y3Rvcih0LGkscyxlKXt0aGlzLldsPVtdLHRoaXMuS2k9dCx0aGlzLnpsPWksdGhpcy5IbD1zLHRoaXMuVWw9ZX1GbCh0LGkpe2lmKHQ8aSl0aHJvdyBuZXcgRXJyb3IoImhpZ2ggPCBsb3ciKTtjb25zdCBzPXRoaXMuS2kuJHQoKSxlPSh0LWkpKnRoaXMuJGwoKS9zLGg9bmV3IGdpKHRoaXMuemwsWzIsMi41LDJdKSxuPW5ldyBnaSh0aGlzLnpsLFsyLDIsMi41XSkscj1uZXcgZ2kodGhpcy56bCxbMi41LDIsMl0pLG89W107cmV0dXJuIG8ucHVzaChoLkZsKHQsaSxlKSxuLkZsKHQsaSxlKSxyLkZsKHQsaSxlKSksZnVuY3Rpb24odCl7aWYodC5sZW5ndGg8MSl0aHJvdyBFcnJvcigiYXJyYXkgaXMgZW1wdHkiKTtsZXQgaT10WzBdO2ZvcihsZXQgcz0xO3M8dC5sZW5ndGg7KytzKXRbc108aSYmKGk9dFtzXSk7cmV0dXJuIGl9KG8pfWpsKCl7Y29uc3QgdD10aGlzLktpLGk9dC5MdCgpO2lmKG51bGw9PT1pKXJldHVybiB2b2lkKHRoaXMuV2w9W10pO2NvbnN0IHM9dC4kdCgpLGU9dGhpcy5IbChzLTEsaSksaD10aGlzLkhsKDAsaSksbj10aGlzLktpLk4oKS5lbnRpcmVUZXh0T25seT90aGlzLnFsKCkvMjowLHI9bixvPXMtMS1uLGw9TWF0aC5tYXgoZSxoKSxhPU1hdGgubWluKGUsaCk7aWYobD09PWEpcmV0dXJuIHZvaWQodGhpcy5XbD1bXSk7Y29uc3QgdT10aGlzLkZsKGwsYSk7aWYodGhpcy5ZbChpLHUsbCxhLHIsbyksdC5LbCgpJiZ0aGlzLlpsKHUsYSxsKSl7Y29uc3QgdD10aGlzLktpLkdsKCk7dGhpcy5YbChpLHUscixvLHQsMip0KX1jb25zdCBjPXRoaXMuV2wubWFwKCh0PT50LkpsKSksZj10aGlzLktpLlFsKGMpO2ZvcihsZXQgdD0wO3Q8dGhpcy5XbC5sZW5ndGg7dCsrKXRoaXMuV2xbdF0uaW89Zlt0XX1FbCgpe3JldHVybiB0aGlzLldsfXFsKCl7cmV0dXJuIHRoaXMuS2kuaygpfSRsKCl7cmV0dXJuIE1hdGguY2VpbCh0aGlzLnFsKCkqdGhpcy5LaS5OKCkudGlja01hcmtEZW5zaXR5KX1ZbCh0LGkscyxlLGgsbil7Y29uc3Qgcj10aGlzLldsLG89dGhpcy5LaTtsZXQgbD1zJWk7bCs9bDwwP2k6MDtjb25zdCBhPXM+PWU/MTotMTtsZXQgdT1udWxsLGM9MDtmb3IobGV0IGY9cy1sO2Y+ZTtmLT1pKXtjb25zdCBzPXRoaXMuVWwoZix0LCEwKTtudWxsIT09dSYmTWF0aC5hYnMocy11KTx0aGlzLiRsKCl8fHM8aHx8cz5ufHwoYzxyLmxlbmd0aD8ocltjXS5SbD1zLHJbY10uaW89by5ubyhmKSxyW2NdLkpsPWYpOnIucHVzaCh7Umw6cyxpbzpvLm5vKGYpLEpsOmZ9KSxjKyssdT1zLG8uc28oKSYmKGk9dGhpcy5GbChmKmEsZSkpKX1yLmxlbmd0aD1jfVhsKHQsaSxzLGUsaCxuKXtjb25zdCByPXRoaXMuV2wsbz10aGlzLmVvKHQscyxoLG4pLGw9dGhpcy5lbyh0LGUsLW4sLWgpLGE9dGhpcy5VbCgwLHQsITApLXRoaXMuVWwoaSx0LCEwKTtyLmxlbmd0aD4wJiZyWzBdLlJsLW8uUmw8YS8yJiZyLnNoaWZ0KCksci5sZW5ndGg+MCYmbC5SbC1yW3IubGVuZ3RoLTFdLlJsPGEvMiYmci5wb3AoKSxyLnVuc2hpZnQobyksci5wdXNoKGwpfWVvKHQsaSxzLGUpe2NvbnN0IGg9KHMrZSkvMixuPXRoaXMuSGwoaStzLHQpLHI9dGhpcy5IbChpK2UsdCksbz1NYXRoLm1pbihuLHIpLGw9TWF0aC5tYXgobixyKSxhPU1hdGgubWF4KC4xLHRoaXMuRmwobCxvKSksdT10aGlzLkhsKGkraCx0KSxjPXUtdSVhLGY9dGhpcy5VbChjLHQsITApO3JldHVybntpbzp0aGlzLktpLm5vKGMpLFJsOmYsSmw6Y319WmwodCxpLHMpe2xldCBlPWQodGhpcy5LaS5hcigpKTtyZXR1cm4gdGhpcy5LaS5zbygpJiYoZT1taShlLHRoaXMuS2kucm8oKSkpLGUuSmUoKS1pPHQmJnMtZS5RZSgpPHR9fWZ1bmN0aW9uIGJpKHQpe3JldHVybiB0LnNsaWNlKCkuc29ydCgoKHQsaSk9PmYodC5sbigpKS1mKGkubG4oKSkpKX12YXIgd2k7IWZ1bmN0aW9uKHQpe3RbdC5Ob3JtYWw9MF09Ik5vcm1hbCIsdFt0LkxvZ2FyaXRobWljPTFdPSJMb2dhcml0aG1pYyIsdFt0LlBlcmNlbnRhZ2U9Ml09IlBlcmNlbnRhZ2UiLHRbdC5JbmRleGVkVG8xMDA9M109IkluZGV4ZWRUbzEwMCJ9KHdpfHwod2k9e30pKTtjb25zdCBNaT1uZXcgc3QseWk9bmV3IGl0KDEwMCwxKTtjbGFzcyBTaXtjb25zdHJ1Y3Rvcih0LGkscyxlLGgpewp0aGlzLmhvPTAsdGhpcy5hbz1udWxsLHRoaXMucnI9bnVsbCx0aGlzLmxvPW51bGwsdGhpcy5vbz17X286ITEsdW86bnVsbH0sdGhpcy5jbz0hMSx0aGlzLmRvPTAsdGhpcy5mbz0wLHRoaXMucG89bmV3IG0sdGhpcy52bz1uZXcgbSx0aGlzLm1vPVtdLHRoaXMud289bnVsbCx0aGlzLk1vPW51bGwsdGhpcy5ibz1udWxsLHRoaXMuU289bnVsbCx0aGlzLnhvPW51bGwsdGhpcy5pbD15aSx0aGlzLkNvPXBpKG51bGwpLHRoaXMueW89dCx0aGlzLnluPWksdGhpcy5rbz1zLHRoaXMuUG89ZSx0aGlzLlRvPWgsdGhpcy5Sbz1uZXcgdmkodGhpcywxMDAsdGhpcy5Eby5iaW5kKHRoaXMpLHRoaXMuSW8uYmluZCh0aGlzKSl9Y2woKXtyZXR1cm4gdGhpcy55b31OKCl7cmV0dXJuIHRoaXMueW59dnIodCl7aWYocCh0aGlzLnluLHQpLHRoaXMuZGwoKSx2b2lkIDAhPT10Lm1vZGUmJnRoaXMuVm8oe19lOnQubW9kZX0pLHZvaWQgMCE9PXQuc2NhbGVNYXJnaW5zKXtjb25zdCBpPWModC5zY2FsZU1hcmdpbnMudG9wKSxzPWModC5zY2FsZU1hcmdpbnMuYm90dG9tKTtpZihpPDB8fGk+MSl0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdG9wIG1hcmdpbiAtIGV4cGVjdCB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDEsIGdpdmVuPSR7aX1gKTtpZihzPDB8fHM+MSl0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYm90dG9tIG1hcmdpbiAtIGV4cGVjdCB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDEsIGdpdmVuPSR7c31gKTtpZihpK3M+MSl0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbWFyZ2lucyAtIHN1bSBvZiBtYXJnaW5zIG11c3QgYmUgbGVzcyB0aGFuIDEsIGdpdmVuPSR7aStzfWApO3RoaXMuQm8oKSx0aGlzLmJvPW51bGx9fUVvKCl7cmV0dXJuIHRoaXMueW4uYXV0b1NjYWxlfUFvKCl7cmV0dXJuIHRoaXMuY299c28oKXtyZXR1cm4gMT09PXRoaXMueW4ubW9kZX1qZSgpe3JldHVybiAyPT09dGhpcy55bi5tb2RlfUxvKCl7cmV0dXJuIDM9PT10aGlzLnluLm1vZGV9cm8oKXtyZXR1cm4gdGhpcy5Db31fZSgpe3JldHVybntoczp0aGlzLnluLmF1dG9TY2FsZSx6bzp0aGlzLnluLmludmVydFNjYWxlLF9lOnRoaXMueW4ubW9kZX19Vm8odCl7Y29uc3QgaT10aGlzLl9lKCk7bGV0IHM9bnVsbDt2b2lkIDAhPT10LmhzJiYodGhpcy55bi5hdXRvU2NhbGU9dC5ocyksdm9pZCAwIT09dC5fZSYmKHRoaXMueW4ubW9kZT10Ll9lLDIhPT10Ll9lJiYzIT09dC5fZXx8KHRoaXMueW4uYXV0b1NjYWxlPSEwKSx0aGlzLm9vLl9vPSExKSwxPT09aS5fZSYmdC5fZSE9PWkuX2UmJihmdW5jdGlvbih0LGkpe2lmKG51bGw9PT10KXJldHVybiExO2NvbnN0IHM9ZmkodC5KZSgpLGkpLGU9ZmkodC5RZSgpLGkpO3JldHVybiBpc0Zpbml0ZShzKSYmaXNGaW5pdGUoZSl9KHRoaXMucnIsdGhpcy5Dbyk/KHM9bWkodGhpcy5ycix0aGlzLkNvKSxudWxsIT09cyYmdGhpcy5PbyhzKSk6dGhpcy55bi5hdXRvU2NhbGU9ITApLDE9PT10Ll9lJiZ0Ll9lIT09aS5fZSYmKHM9ZGkodGhpcy5ycix0aGlzLkNvKSxudWxsIT09cyYmdGhpcy5PbyhzKSk7Y29uc3QgZT1pLl9lIT09dGhpcy55bi5tb2RlO2UmJigyPT09aS5fZXx8dGhpcy5qZSgpKSYmdGhpcy5kbCgpLGUmJigzPT09aS5fZXx8dGhpcy5MbygpKSYmdGhpcy5kbCgpLHZvaWQgMCE9PXQuem8mJmkuem8hPT10LnpvJiYodGhpcy55bi5pbnZlcnRTY2FsZT10LnpvLHRoaXMuTm8oKSksdGhpcy52by5wKGksdGhpcy5fZSgpKX1Gbygpe3JldHVybiB0aGlzLnZvfWsoKXtyZXR1cm4gdGhpcy5rby5mb250U2l6ZX0kdCgpe3JldHVybiB0aGlzLmhvfVdvKHQpe3RoaXMuaG8hPT10JiYodGhpcy5obz10LHRoaXMuQm8oKSx0aGlzLmJvPW51bGwpfUhvKCl7aWYodGhpcy5hbylyZXR1cm4gdGhpcy5hbztjb25zdCB0PXRoaXMuJHQoKS10aGlzLlVvKCktdGhpcy4kbygpO3JldHVybiB0aGlzLmFvPXQsdH1hcigpe3JldHVybiB0aGlzLmpvKCksdGhpcy5ycn1Pbyh0LGkpe2NvbnN0IHM9dGhpcy5ycjsoaXx8bnVsbD09PXMmJm51bGwhPT10fHxudWxsIT09cyYmIXMuR2UodCkpJiYodGhpcy5ibz1udWxsLHRoaXMucnI9dCl9cW8odCl7dGhpcy5Pbyh0KSx0aGlzLllvKG51bGwhPT10KX1HaSgpe3JldHVybiB0aGlzLmpvKCksMD09PXRoaXMuaG98fCF0aGlzLnJyfHx0aGlzLnJyLkdpKCl9S28odCl7cmV0dXJuIHRoaXMuem8oKT90OnRoaXMuJHQoKS0xLXR9TnQodCxpKXtyZXR1cm4gdGhpcy5qZSgpP3Q9b2kodCxpKTp0aGlzLkxvKCkmJih0PWFpKHQsaSkpLHRoaXMuSW8odCxpKX1abyh0LGkscyl7dGhpcy5qbygpO2NvbnN0IGU9dGhpcy4kbygpLGg9Zih0aGlzLmFyKCkpLG49aC5KZSgpLHI9aC5RZSgpLG89dGhpcy5IbygpLTEsbD10aGlzLnpvKCksYT1vLyhyLW4pLHU9dm9pZCAwPT09cz8wOnMuZnJvbSxjPXZvaWQgMD09PXM/dC5sZW5ndGg6cy50byxkPXRoaXMuR28oKTtmb3IobGV0IHM9dTtzPGM7cysrKXtjb25zdCBoPXRbc10scj1oLk10O2lmKGlzTmFOKHIpKWNvbnRpbnVlO2xldCBvPXI7bnVsbCE9PWQmJihvPWQoaC5NdCxpKSk7Y29uc3QgdT1lK2EqKG8tbiksYz1sP3U6dGhpcy5oby0xLXU7aC51dD1jfX1Ybyh0LGkscyl7dGhpcy5qbygpO2NvbnN0IGU9dGhpcy4kbygpLGg9Zih0aGlzLmFyKCkpLG49aC5KZSgpLHI9aC5RZSgpLG89dGhpcy5IbygpLTEsbD10aGlzLnpvKCksYT1vLyhyLW4pLHU9dm9pZCAwPT09cz8wOnMuZnJvbSxjPXZvaWQgMD09PXM/dC5sZW5ndGg6cy50byxkPXRoaXMuR28oKTtmb3IobGV0IHM9dTtzPGM7cysrKXtjb25zdCBoPXRbc107bGV0IHI9aC5qcixvPWgucXIsdT1oLllyLGM9aC5LcjtudWxsIT09ZCYmKHI9ZChoLmpyLGkpLG89ZChoLnFyLGkpLHU9ZChoLllyLGkpLGM9ZChoLktyLGkpKTtsZXQgZj1lK2EqKHItbiksbT1sP2Y6dGhpcy5oby0xLWY7aC5Kbz1tLGY9ZSthKihvLW4pLG09bD9mOnRoaXMuaG8tMS1mLGguUW89bSxmPWUrYSoodS1uKSxtPWw/Zjp0aGlzLmhvLTEtZixoLnRfPW0sZj1lK2EqKGMtbiksbT1sP2Y6dGhpcy5oby0xLWYsaC5pXz1tfX1Ubih0LGkpe2NvbnN0IHM9dGhpcy5Ebyh0LGkpO3JldHVybiB0aGlzLm5fKHMsaSl9bl8odCxpKXtsZXQgcz10CjtyZXR1cm4gdGhpcy5qZSgpP3M9ZnVuY3Rpb24odCxpKXtyZXR1cm4gaTwwJiYodD0tdCksdC8xMDAqaStpfShzLGkpOnRoaXMuTG8oKSYmKHM9ZnVuY3Rpb24odCxpKXtyZXR1cm4gdC09MTAwLGk8MCYmKHQ9LXQpLHQvMTAwKmkraX0ocyxpKSksc31DbCgpe3JldHVybiB0aGlzLm1vfUR0KCl7cmV0dXJuIHRoaXMuTW98fCh0aGlzLk1vPWJpKHRoaXMubW8pKSx0aGlzLk1vfXNfKHQpey0xPT09dGhpcy5tby5pbmRleE9mKHQpJiYodGhpcy5tby5wdXNoKHQpLHRoaXMuZGwoKSx0aGlzLmVfKCkpfXJfKHQpe2NvbnN0IGk9dGhpcy5tby5pbmRleE9mKHQpO2lmKC0xPT09aSl0aHJvdyBuZXcgRXJyb3IoInNvdXJjZSBpcyBub3QgYXR0YWNoZWQgdG8gc2NhbGUiKTt0aGlzLm1vLnNwbGljZShpLDEpLDA9PT10aGlzLm1vLmxlbmd0aCYmKHRoaXMuVm8oe2hzOiEwfSksdGhpcy5PbyhudWxsKSksdGhpcy5kbCgpLHRoaXMuZV8oKX1MdCgpe2xldCB0PW51bGw7Zm9yKGNvbnN0IGkgb2YgdGhpcy5tbyl7Y29uc3Qgcz1pLkx0KCk7bnVsbCE9PXMmJihudWxsPT09dHx8cy56YTx0LnphKSYmKHQ9cyl9cmV0dXJuIG51bGw9PT10P251bGw6dC5XdH16bygpe3JldHVybiB0aGlzLnluLmludmVydFNjYWxlfUVsKCl7Y29uc3QgdD1udWxsPT09dGhpcy5MdCgpO2lmKG51bGwhPT10aGlzLmJvJiYodHx8dGhpcy5iby5oXz09PXQpKXJldHVybiB0aGlzLmJvLkVsO3RoaXMuUm8uamwoKTtjb25zdCBpPXRoaXMuUm8uRWwoKTtyZXR1cm4gdGhpcy5ibz17RWw6aSxoXzp0fSx0aGlzLnBvLnAoKSxpfWFfKCl7cmV0dXJuIHRoaXMucG99bF8odCl7dGhpcy5qZSgpfHx0aGlzLkxvKCl8fG51bGw9PT10aGlzLlNvJiZudWxsPT09dGhpcy5sbyYmKHRoaXMuR2koKXx8KHRoaXMuU289dGhpcy5oby10LHRoaXMubG89Zih0aGlzLmFyKCkpLlhlKCkpKX1vXyh0KXtpZih0aGlzLmplKCl8fHRoaXMuTG8oKSlyZXR1cm47aWYobnVsbD09PXRoaXMuU28pcmV0dXJuO3RoaXMuVm8oe2hzOiExfSksKHQ9dGhpcy5oby10KTwwJiYodD0wKTtsZXQgaT0odGhpcy5TbysuMioodGhpcy5oby0xKSkvKHQrLjIqKHRoaXMuaG8tMSkpO2NvbnN0IHM9Zih0aGlzLmxvKS5YZSgpO2k9TWF0aC5tYXgoaSwuMSkscy5pcihpKSx0aGlzLk9vKHMpfV9fKCl7dGhpcy5qZSgpfHx0aGlzLkxvKCl8fCh0aGlzLlNvPW51bGwsdGhpcy5sbz1udWxsKX11Xyh0KXt0aGlzLkVvKCl8fG51bGw9PT10aGlzLnhvJiZudWxsPT09dGhpcy5sbyYmKHRoaXMuR2koKXx8KHRoaXMueG89dCx0aGlzLmxvPWYodGhpcy5hcigpKS5YZSgpKSl9Y18odCl7aWYodGhpcy5FbygpKXJldHVybjtpZihudWxsPT09dGhpcy54bylyZXR1cm47Y29uc3QgaT1mKHRoaXMuYXIoKSkudHIoKS8odGhpcy5IbygpLTEpO2xldCBzPXQtdGhpcy54bzt0aGlzLnpvKCkmJihzKj0tMSk7Y29uc3QgZT1zKmksaD1mKHRoaXMubG8pLlhlKCk7aC5ucihlKSx0aGlzLk9vKGgsITApLHRoaXMuYm89bnVsbH1kXygpe3RoaXMuRW8oKXx8bnVsbCE9PXRoaXMueG8mJih0aGlzLnhvPW51bGwsdGhpcy5sbz1udWxsKX10bCgpe3JldHVybiB0aGlzLmlsfHx0aGlzLmRsKCksdGhpcy5pbH1KaSh0LGkpe3N3aXRjaCh0aGlzLnluLm1vZGUpe2Nhc2UgMjpyZXR1cm4gdGhpcy5mXyhvaSh0LGkpKTtjYXNlIDM6cmV0dXJuIHRoaXMudGwoKS5mb3JtYXQoYWkodCxpKSk7ZGVmYXVsdDpyZXR1cm4gdGhpcy5jcih0KX19bm8odCl7c3dpdGNoKHRoaXMueW4ubW9kZSl7Y2FzZSAyOnJldHVybiB0aGlzLmZfKHQpO2Nhc2UgMzpyZXR1cm4gdGhpcy50bCgpLmZvcm1hdCh0KTtkZWZhdWx0OnJldHVybiB0aGlzLmNyKHQpfX1RbCh0KXtzd2l0Y2godGhpcy55bi5tb2RlKXtjYXNlIDI6cmV0dXJuIHRoaXMucF8odCk7Y2FzZSAzOnJldHVybiB0aGlzLnRsKCkuZm9ybWF0VGlja21hcmtzKHQpO2RlZmF1bHQ6cmV0dXJuIHRoaXMudl8odCl9fXhhKHQpe3JldHVybiB0aGlzLmNyKHQsZih0aGlzLndvKS50bCgpKX1DYSh0LGkpe3JldHVybiB0PW9pKHQsaSksdGhpcy5mXyh0LE1pKX1tXygpe3JldHVybiB0aGlzLm1vfXdfKHQpe3RoaXMub289e3VvOnQsX286ITF9fU5uKCl7dGhpcy5tby5mb3JFYWNoKCh0PT50Lk5uKCkpKX1LbCgpe3JldHVybiB0aGlzLnluLmVuc3VyZUVkZ2VUaWNrTWFya3NWaXNpYmxlJiZ0aGlzLkVvKCl9R2woKXtyZXR1cm4gdGhpcy5rKCkvMn1kbCgpe3RoaXMuYm89bnVsbDtsZXQgdD0xLzA7dGhpcy53bz1udWxsO2Zvcihjb25zdCBpIG9mIHRoaXMubW8paS5sbigpPHQmJih0PWkubG4oKSx0aGlzLndvPWkpO2xldCBpPTEwMDtudWxsIT09dGhpcy53byYmKGk9TWF0aC5yb3VuZCh0aGlzLndvLktoKCkpKSx0aGlzLmlsPXlpLHRoaXMuamUoKT8odGhpcy5pbD1NaSxpPTEwMCk6dGhpcy5MbygpPyh0aGlzLmlsPW5ldyBpdCgxMDAsMSksaT0xMDApOm51bGwhPT10aGlzLndvJiYodGhpcy5pbD10aGlzLndvLnRsKCkpLHRoaXMuUm89bmV3IHZpKHRoaXMsaSx0aGlzLkRvLmJpbmQodGhpcyksdGhpcy5Jby5iaW5kKHRoaXMpKSx0aGlzLlJvLmpsKCl9ZV8oKXt0aGlzLk1vPW51bGx9TV8oKXtyZXR1cm4gbnVsbD09PXRoaXMud298fHRoaXMuamUoKXx8dGhpcy5MbygpPzE6MS90aGlzLndvLktoKCl9WGkoKXtyZXR1cm4gdGhpcy5Ub31Zbyh0KXt0aGlzLmNvPXR9VW8oKXtyZXR1cm4gdGhpcy56bygpP3RoaXMueW4uc2NhbGVNYXJnaW5zLmJvdHRvbSp0aGlzLiR0KCkrdGhpcy5mbzp0aGlzLnluLnNjYWxlTWFyZ2lucy50b3AqdGhpcy4kdCgpK3RoaXMuZG99JG8oKXtyZXR1cm4gdGhpcy56bygpP3RoaXMueW4uc2NhbGVNYXJnaW5zLnRvcCp0aGlzLiR0KCkrdGhpcy5kbzp0aGlzLnluLnNjYWxlTWFyZ2lucy5ib3R0b20qdGhpcy4kdCgpK3RoaXMuZm99am8oKXt0aGlzLm9vLl9vfHwodGhpcy5vby5fbz0hMCx0aGlzLmdfKCkpfUJvKCl7dGhpcy5hbz1udWxsfUlvKHQsaSl7aWYodGhpcy5qbygpLHRoaXMuR2koKSlyZXR1cm4gMDt0PXRoaXMuc28oKSYmdD9jaSh0LHRoaXMuQ28pOnQ7Y29uc3Qgcz1mKHRoaXMuYXIoKSksZT10aGlzLiRvKCkrKHRoaXMuSG8oKS0xKSoodC1zLkplKCkpL3MudHIoKQo7cmV0dXJuIHRoaXMuS28oZSl9RG8odCxpKXtpZih0aGlzLmpvKCksdGhpcy5HaSgpKXJldHVybiAwO2NvbnN0IHM9dGhpcy5Lbyh0KSxlPWYodGhpcy5hcigpKSxoPWUuSmUoKStlLnRyKCkqKChzLXRoaXMuJG8oKSkvKHRoaXMuSG8oKS0xKSk7cmV0dXJuIHRoaXMuc28oKT9maShoLHRoaXMuQ28pOmh9Tm8oKXt0aGlzLmJvPW51bGwsdGhpcy5Sby5qbCgpfWdfKCl7aWYodGhpcy5BbygpJiYhdGhpcy5FbygpKXJldHVybjtjb25zdCB0PXRoaXMub28udW87aWYobnVsbD09PXQpcmV0dXJuO2xldCBpPW51bGw7Y29uc3Qgcz10aGlzLm1fKCk7bGV0IGU9MCxoPTA7Zm9yKGNvbnN0IG4gb2Ygcyl7aWYoIW4uSXQoKSljb250aW51ZTtjb25zdCBzPW4uTHQoKTtpZihudWxsPT09cyljb250aW51ZTtjb25zdCByPW4ubGEodC5PYSgpLHQuYmkoKSk7bGV0IG89ciYmci5hcigpO2lmKG51bGwhPT1vKXtzd2l0Y2godGhpcy55bi5tb2RlKXtjYXNlIDE6bz1kaShvLHRoaXMuQ28pO2JyZWFrO2Nhc2UgMjpvPWxpKG8scy5XdCk7YnJlYWs7Y2FzZSAzOm89dWkobyxzLld0KX1pZihpPW51bGw9PT1pP286aS5TcyhmKG8pKSxudWxsIT09cil7Y29uc3QgdD1yLmxyKCk7bnVsbCE9PXQmJihlPU1hdGgubWF4KGUsdC5hYm92ZSksaD1NYXRoLm1heChoLHQuYmVsb3cpKX19fWlmKHRoaXMuS2woKSYmKGU9TWF0aC5tYXgoZSx0aGlzLkdsKCkpLGg9TWF0aC5tYXgoaCx0aGlzLkdsKCkpKSxlPT09dGhpcy5kbyYmaD09PXRoaXMuZm98fCh0aGlzLmRvPWUsdGhpcy5mbz1oLHRoaXMuYm89bnVsbCx0aGlzLkJvKCkpLG51bGwhPT1pKXtpZihpLkplKCk9PT1pLlFlKCkpe2NvbnN0IHQ9NSp0aGlzLk1fKCk7dGhpcy5zbygpJiYoaT1taShpLHRoaXMuQ28pKSxpPW5ldyB2dChpLkplKCktdCxpLlFlKCkrdCksdGhpcy5zbygpJiYoaT1kaShpLHRoaXMuQ28pKX1pZih0aGlzLnNvKCkpe2NvbnN0IHQ9bWkoaSx0aGlzLkNvKSxzPXBpKHQpO2lmKG49cyxyPXRoaXMuQ28sbi5BbCE9PXIuQWx8fG4uTGwhPT1yLkxsKXtjb25zdCBlPW51bGwhPT10aGlzLmxvP21pKHRoaXMubG8sdGhpcy5Dbyk6bnVsbDt0aGlzLkNvPXMsaT1kaSh0LHMpLG51bGwhPT1lJiYodGhpcy5sbz1kaShlLHMpKX19dGhpcy5PbyhpKX1lbHNlIG51bGw9PT10aGlzLnJyJiYodGhpcy5PbyhuZXcgdnQoLS41LC41KSksdGhpcy5Dbz1waShudWxsKSk7dmFyIG4scn1Hbygpe3JldHVybiB0aGlzLmplKCk/b2k6dGhpcy5MbygpP2FpOnRoaXMuc28oKT90PT5jaSh0LHRoaXMuQ28pOm51bGx9Yl8odCxpLHMpe3JldHVybiB2b2lkIDA9PT1pPyh2b2lkIDA9PT1zJiYocz10aGlzLnRsKCkpLHMuZm9ybWF0KHQpKTppKHQpfVNfKHQsaSxzKXtyZXR1cm4gdm9pZCAwPT09aT8odm9pZCAwPT09cyYmKHM9dGhpcy50bCgpKSxzLmZvcm1hdFRpY2ttYXJrcyh0KSk6aSh0KX1jcih0LGkpe3JldHVybiB0aGlzLmJfKHQsdGhpcy5Qby5wcmljZUZvcm1hdHRlcixpKX12Xyh0LGkpe2NvbnN0IHM9dGhpcy5Qby5wcmljZUZvcm1hdHRlcjtyZXR1cm4gdGhpcy5TXyh0LHRoaXMuUG8udGlja21hcmtzUHJpY2VGb3JtYXR0ZXI/PyhzP3Q9PnQubWFwKHMpOnZvaWQgMCksaSl9Zl8odCxpKXtyZXR1cm4gdGhpcy5iXyh0LHRoaXMuUG8ucGVyY2VudGFnZUZvcm1hdHRlcixpKX1wXyh0LGkpe2NvbnN0IHM9dGhpcy5Qby5wZXJjZW50YWdlRm9ybWF0dGVyO3JldHVybiB0aGlzLlNfKHQsdGhpcy5Qby50aWNrbWFya3NQZXJjZW50YWdlRm9ybWF0dGVyPz8ocz90PT50Lm1hcChzKTp2b2lkIDApLGkpfX1mdW5jdGlvbiB4aSh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIGp0fWNsYXNzIF9pe2NvbnN0cnVjdG9yKHQsaSl7dGhpcy5tbz1bXSx0aGlzLnhfPW5ldyBNYXAsdGhpcy5obz0wLHRoaXMuQ189MCx0aGlzLnlfPTEsdGhpcy5Nbz1udWxsLHRoaXMua189bnVsbCx0aGlzLlBfPSExLHRoaXMuVF89bmV3IG0sdGhpcy5mYT1bXSx0aGlzLmlhPXQsdGhpcy5zbj1pLHRoaXMuUl89bmV3IG5pKHRoaXMpO2NvbnN0IHM9aS5OKCk7dGhpcy5EXz10aGlzLklfKCJsZWZ0IixzLmxlZnRQcmljZVNjYWxlKSx0aGlzLlZfPXRoaXMuSV8oInJpZ2h0IixzLnJpZ2h0UHJpY2VTY2FsZSksdGhpcy5EXy5GbygpLmkodGhpcy5CXy5iaW5kKHRoaXMsdGhpcy5EXyksdGhpcyksdGhpcy5WXy5GbygpLmkodGhpcy5CXy5iaW5kKHRoaXMsdGhpcy5WXyksdGhpcyksdGhpcy5FXyhzKX1FXyh0KXtpZih0LmxlZnRQcmljZVNjYWxlJiZ0aGlzLkRfLnZyKHQubGVmdFByaWNlU2NhbGUpLHQucmlnaHRQcmljZVNjYWxlJiZ0aGlzLlZfLnZyKHQucmlnaHRQcmljZVNjYWxlKSx0LmxvY2FsaXphdGlvbiYmKHRoaXMuRF8uZGwoKSx0aGlzLlZfLmRsKCkpLHQub3ZlcmxheVByaWNlU2NhbGVzKXtjb25zdCBpPUFycmF5LmZyb20odGhpcy54Xy52YWx1ZXMoKSk7Zm9yKGNvbnN0IHMgb2YgaSl7Y29uc3QgaT1mKHNbMF0uRnQoKSk7aS52cih0Lm92ZXJsYXlQcmljZVNjYWxlcyksdC5sb2NhbGl6YXRpb24mJmkuZGwoKX19fUFfKHQpe3N3aXRjaCh0KXtjYXNlImxlZnQiOnJldHVybiB0aGlzLkRfO2Nhc2UicmlnaHQiOnJldHVybiB0aGlzLlZffXJldHVybiB0aGlzLnhfLmhhcyh0KT9jKHRoaXMueF8uZ2V0KHQpKVswXS5GdCgpOm51bGx9bSgpe3RoaXMuUXQoKS5MXygpLnUodGhpcyksdGhpcy5EXy5GbygpLnUodGhpcyksdGhpcy5WXy5GbygpLnUodGhpcyksdGhpcy5tby5mb3JFYWNoKCh0PT57dC5tJiZ0Lm0oKX0pKSx0aGlzLmZhPXRoaXMuZmEuZmlsdGVyKCh0PT57Y29uc3QgaT10LlFoKCk7cmV0dXJuIGkuZGV0YWNoZWQmJmkuZGV0YWNoZWQoKSwhMX0pKSx0aGlzLlRfLnAoKX16Xygpe3JldHVybiB0aGlzLnlffU9fKHQpe3RoaXMueV89dH1RdCgpe3JldHVybiB0aGlzLnNufW5uKCl7cmV0dXJuIHRoaXMuQ199JHQoKXtyZXR1cm4gdGhpcy5ob31OXyh0KXt0aGlzLkNfPXQsdGhpcy5GXygpfVdvKHQpe3RoaXMuaG89dCx0aGlzLkRfLldvKHQpLHRoaXMuVl8uV28odCksdGhpcy5tby5mb3JFYWNoKChpPT57aWYodGhpcy5acyhpKSl7Y29uc3Qgcz1pLkZ0KCk7bnVsbCE9PXMmJnMuV28odCl9fSkpLHRoaXMuRl8oKX1XXyh0KXsKdGhpcy5QXz10fUhfKCl7cmV0dXJuIHRoaXMuUF99VV8oKXtyZXR1cm4gdGhpcy5tby5maWx0ZXIoeGkpfUNsKCl7cmV0dXJuIHRoaXMubW99WnModCl7Y29uc3QgaT10LkZ0KCk7cmV0dXJuIG51bGw9PT1pfHx0aGlzLkRfIT09aSYmdGhpcy5WXyE9PWl9c18odCxpLHMpe3RoaXMual8odCxpLHM/dC5sbigpOnRoaXMubW8ubGVuZ3RoKX1yXyh0LGkpe2NvbnN0IHM9dGhpcy5tby5pbmRleE9mKHQpO3UoLTEhPT1zLCJyZW1vdmVEYXRhU291cmNlOiBpbnZhbGlkIGRhdGEgc291cmNlIiksdGhpcy5tby5zcGxpY2UocywxKSxpfHx0aGlzLm1vLmZvckVhY2goKCh0LGkpPT50Ll9uKGkpKSk7Y29uc3QgZT1mKHQuRnQoKSkuY2woKTtpZih0aGlzLnhfLmhhcyhlKSl7Y29uc3QgaT1jKHRoaXMueF8uZ2V0KGUpKSxzPWkuaW5kZXhPZih0KTstMSE9PXMmJihpLnNwbGljZShzLDEpLDA9PT1pLmxlbmd0aCYmdGhpcy54Xy5kZWxldGUoZSkpfWNvbnN0IGg9dC5GdCgpO2gmJmguQ2woKS5pbmRleE9mKHQpPj0wJiYoaC5yXyh0KSx0aGlzLnFfKGgpKSx0aGlzLllfKCl9WHModCl7cmV0dXJuIHQ9PT10aGlzLkRfPyJsZWZ0Ijp0PT09dGhpcy5WXz8icmlnaHQiOiJvdmVybGF5In1LXygpe3JldHVybiB0aGlzLkRffVpfKCl7cmV0dXJuIHRoaXMuVl99R18odCxpKXt0LmxfKGkpfVhfKHQsaSl7dC5vXyhpKSx0aGlzLkZfKCl9Sl8odCl7dC5fXygpfVFfKHQsaSl7dC51XyhpKX10dSh0LGkpe3QuY18oaSksdGhpcy5GXygpfWl1KHQpe3QuZF8oKX1GXygpe3RoaXMubW8uZm9yRWFjaCgodD0+e3QuTm4oKX0pKX1Qbigpe2NvbnN0W3QsaV09dGhpcy5udSgpO2xldCBzPW51bGw7cmV0dXJuIHQuTigpLnZpc2libGUmJjAhPT10LkNsKCkubGVuZ3RoP3M9dDppLk4oKS52aXNpYmxlJiYwIT09aS5DbCgpLmxlbmd0aD9zPWk6MCE9PXRoaXMubW8ubGVuZ3RoJiYocz10aGlzLm1vWzBdLkZ0KCkpLG51bGw9PT1zJiYocz10aGlzLkdzKCk/P3QpLHN9R3MoKXtjb25zdFt0LGldPXRoaXMubnUoKTtyZXR1cm4gdC5OKCkudmlzaWJsZT90OmkuTigpLnZpc2libGU/aTpudWxsfXFfKHQpe251bGwhPT10JiZ0LkVvKCkmJnRoaXMuc3UodCl9ZXUodCl7Y29uc3QgaT10aGlzLmlhLkVlKCk7dC5Wbyh7aHM6ITB9KSxudWxsIT09aSYmdC53XyhpKSx0aGlzLkZfKCl9cnUoKXt0aGlzLnN1KHRoaXMuRF8pLHRoaXMuc3UodGhpcy5WXyl9aHUoKXt0aGlzLnFfKHRoaXMuRF8pLHRoaXMucV8odGhpcy5WXyksdGhpcy5tby5mb3JFYWNoKCh0PT57dGhpcy5acyh0KSYmdGhpcy5xXyh0LkZ0KCkpfSkpLHRoaXMuRl8oKSx0aGlzLnNuLm1yKCl9RHQoKXtyZXR1cm4gbnVsbD09PXRoaXMuTW8mJih0aGlzLk1vPWJpKHRoaXMubW8pKSx0aGlzLk1vfWF1KCl7Y29uc3QgdD10aGlzLkR0KCksaT10aGlzLnNuLm91KCk/Lmx1LHM9dGhpcy5zbi5OKCkuaG92ZXJlZFNlcmllc09uVG9wLGU9dGhpcy5rXztpZihudWxsIT09ZSYmZS5LaD09PXQmJmUuX3U9PT1pJiZlLnV1PT09cylyZXR1cm4gZS5jdTtjb25zdCBoPWZ1bmN0aW9uKHQsaSxzKXtpZighcylyZXR1cm4gdDtjb25zdCBlPXQuaW5kZXhPZihpKTtpZigtMT09PWV8fGU9PT10Lmxlbmd0aC0xKXJldHVybiB0O2NvbnN0IGg9W107Zm9yKGxldCBpPTA7aTx0Lmxlbmd0aDtpKyspaSE9PWUmJmgucHVzaCh0W2ldKTtyZXR1cm4gaC5wdXNoKHRbZV0pLGh9KHQsaSxzKTtyZXR1cm4gdGhpcy5rXz17S2g6dCxfdTppLHV1OnMsY3U6aH0saH1kdSh0LGkpe2k9aWkoaSwwLHRoaXMubW8ubGVuZ3RoLTEpO2NvbnN0IHM9dGhpcy5tby5pbmRleE9mKHQpO3UoLTEhPT1zLCJzZXRTZXJpZXNPcmRlcjogaW52YWxpZCBkYXRhIHNvdXJjZSIpLHRoaXMubW8uc3BsaWNlKHMsMSksdGhpcy5tby5zcGxpY2UoaSwwLHQpLHRoaXMubW8uZm9yRWFjaCgoKHQsaSk9PnQuX24oaSkpKSx0aGlzLllfKCk7Zm9yKGNvbnN0IHQgb2ZbdGhpcy5EXyx0aGlzLlZfXSl0LmVfKCksdC5kbCgpO3RoaXMuc24ubXIoKX1WdCgpe3JldHVybiB0aGlzLkR0KCkuZmlsdGVyKHhpKX1mdSgpe3JldHVybiB0aGlzLlRffXB1KCl7cmV0dXJuIHRoaXMuUl99aGwodCl7dGhpcy5mYS5wdXNoKG5ldyBEdCh0KSl9YWwodCl7dGhpcy5mYT10aGlzLmZhLmZpbHRlcigoaT0+aS5RaCgpIT09dCkpLHQuZGV0YWNoZWQmJnQuZGV0YWNoZWQoKSx0aGlzLnNuLm1yKCl9dnUoKXtyZXR1cm4gdGhpcy5mYX1KYSh0LGkpe3JldHVybiB0aGlzLmZhLm1hcCgocz0+cy5Rcyh0LGkpKSkuZmlsdGVyKCh0PT5udWxsIT09dCkpfXN1KHQpe2NvbnN0IGk9dC5tXygpO2lmKGkmJmkubGVuZ3RoPjAmJiF0aGlzLmlhLkdpKCkpe2NvbnN0IGk9dGhpcy5pYS5FZSgpO251bGwhPT1pJiZ0LndfKGkpfXQuTm4oKX1qXyh0LGkscyl7bGV0IGU9dGhpcy5BXyhpKTtpZihudWxsPT09ZSYmKGU9dGhpcy5JXyhpLHRoaXMuc24uTigpLm92ZXJsYXlQcmljZVNjYWxlcykpLHRoaXMubW8uc3BsaWNlKHMsMCx0KSwhaihpKSl7Y29uc3Qgcz10aGlzLnhfLmdldChpKXx8W107cy5wdXNoKHQpLHRoaXMueF8uc2V0KGkscyl9dC5fbihzKSxlLnNfKHQpLHQudW4oZSksdGhpcy5xXyhlKSx0aGlzLllfKCl9WV8oKXt0aGlzLk1vPW51bGwsdGhpcy5rXz1udWxsfW51KCl7cmV0dXJuImxlZnQiPT09dGhpcy5zbi5OKCkuZGVmYXVsdFZpc2libGVQcmljZVNjYWxlSWQ/W3RoaXMuRF8sdGhpcy5WX106W3RoaXMuVl8sdGhpcy5EX119Ql8odCxpLHMpe2kuX2UhPT1zLl9lJiZ0aGlzLnN1KHQpfUlfKHQsaSl7Y29uc3Qgcz17dmlzaWJsZTohMCxhdXRvU2NhbGU6ITAsLi4uTShpKX0sZT1uZXcgU2kodCxzLHRoaXMuc24uTigpLmxheW91dCx0aGlzLnNuLk4oKS5sb2NhbGl6YXRpb24sdGhpcy5zbi5YaSgpKTtyZXR1cm4gZS5Xbyh0aGlzLiR0KCkpLGV9fWZ1bmN0aW9uIENpKHQsaSl7cmV0dXJuIG51bGw9PT1pfHwyPT09dC5zZSYmMiE9PWkuc2V8fCgyIT09aS5zZXx8Mj09PXQuc2UpJiZ0Lm5lIT09aS5uZSYmdC5uZTxpLm5lfWZ1bmN0aW9uIGtpKHQpe3JldHVybnt0ZTp0LnRlLGllOnQuaWV9fWZ1bmN0aW9uIEVpKHQpe3JldHVybntuZTp0LmRpc3RhbmNlPz8wLApzZTp0LmhpdFRlc3RQcmlvcml0eT8/KCJtYXJrZXIiPT09dC5pdGVtVHlwZT8yOjApLGVlOnQuaXRlbVR5cGU/PyJwcmltaXRpdmUiLG11OnQuY3Vyc29yU3R5bGUsdGU6dC5leHRlcm5hbElkfX1mdW5jdGlvbiBOaSh0KXtyZXR1cm57bHU6dC5sdSx3dTpraSh0Lk11KSxtdTp0Lk11Lm11LGVlOnQuTXUuZWU/PyJwcmltaXRpdmUifX1mdW5jdGlvbiBUaSh0LGkscyxlKXtsZXQgaD1udWxsO2Zvcihjb25zdCBuIG9mIHQpe2xldCB0PW4uUXM/LihpLHMsZSk/P251bGw7aWYobnVsbD09PXQpe2NvbnN0IGg9bi5UdChlKTt0PW51bGwhPT1oJiZoLlFzP2guUXMoaSxzKTpudWxsfWlmKG51bGwhPT10KXtjb25zdCBpPXtndTpuLE11OnR9OyhudWxsPT09aHx8Q2koaS5NdSxoLk11KSkmJihoPWkpfX1yZXR1cm4gaH1mdW5jdGlvbiBSaSh0KXtyZXR1cm4gdm9pZCAwIT09dC5qbn1mdW5jdGlvbiBQaSh0LGkscyl7Y29uc3QgZT1bdCwuLi50LkR0KCldLnJldmVyc2UoKSxoPWZ1bmN0aW9uKHQsaSxzKXtsZXQgZSxoLG47Zm9yKGNvbnN0IGwgb2YgdCl7Y29uc3QgdD1sLkphPy4oaSxzKT8/W107Zm9yKGNvbnN0IGkgb2YgdCl7Y29uc3QgdD1FaShpKTtyPWkuek9yZGVyLG89ZT8uek9yZGVyLCghb3x8InRvcCI9PT1yJiYidG9wIiE9PW98fCJub3JtYWwiPT09ciYmImJvdHRvbSI9PT1vfHxpLnpPcmRlcj09PWU/LnpPcmRlciYmdm9pZCAwIT09aCYmQ2kodCxoKXx8aS56T3JkZXI9PT1lPy56T3JkZXImJnZvaWQgMD09PWgpJiYoZT1pLGg9dCxuPWwpfX12YXIgcixvO3JldHVybiBlJiZuJiZoP3tNdTpoLGJ1OmUsbHU6bn06bnVsbH0oZSxpLHMpO2lmKCJ0b3AiPT09aD8uYnUuek9yZGVyKXJldHVybiBOaShoKTtsZXQgbj1udWxsLHI9bnVsbDtmb3IoY29uc3QgbyBvZiBlKXtpZihoJiZoLmx1PT09byYmImJvdHRvbSIhPT1oLmJ1LnpPcmRlciYmIWguYnUuaXNCYWNrZ3JvdW5kKXJldHVybiBuPz9OaShoKTtpZihSaShvKSl7Y29uc3QgZT1UaShvLmpuKHQpLGkscyx0KTtpZihudWxsIT09ZSl7Y29uc3QgdD17bHU6byxndTplLmd1LHd1OmtpKGUuTXUpLG11OmUuTXUubXUsZWU6ZS5NdS5lZT8/InByaW1pdGl2ZSJ9OyhudWxsPT09bnx8Q2koZS5NdSxyKSkmJihuPXQscj1lLk11KX19aWYoaCYmaC5sdT09PW8mJiJib3R0b20iIT09aC5idS56T3JkZXImJmguYnUuaXNCYWNrZ3JvdW5kKXJldHVybiBuPz9OaShoKX1yZXR1cm4gbnVsbCE9PW4/bjpoPy5idT9OaShoKTpudWxsfWNsYXNzIHppe2NvbnN0cnVjdG9yKHQsaSxzPTUwKXt0aGlzLlZzPTAsdGhpcy5Ccz0xLHRoaXMuRXM9MSx0aGlzLkxzPW5ldyBNYXAsdGhpcy5Bcz1uZXcgTWFwLHRoaXMuU3U9dCx0aGlzLnh1PWksdGhpcy56cz1zfUN1KHQpe2NvbnN0IGk9dC50aW1lLHM9dGhpcy54dS5jYWNoZUtleShpKSxlPXRoaXMuTHMuZ2V0KHMpO2lmKHZvaWQgMCE9PWUpcmV0dXJuIGUueXU7aWYodGhpcy5Wcz09PXRoaXMuenMpe2NvbnN0IHQ9dGhpcy5Bcy5nZXQodGhpcy5Fcyk7dGhpcy5Bcy5kZWxldGUodGhpcy5FcyksdGhpcy5Mcy5kZWxldGUoYyh0KSksdGhpcy5FcysrLHRoaXMuVnMtLX1jb25zdCBoPXRoaXMuU3UodCk7cmV0dXJuIHRoaXMuTHMuc2V0KHMse3l1OmgsV3M6dGhpcy5Cc30pLHRoaXMuQXMuc2V0KHRoaXMuQnMscyksdGhpcy5WcysrLHRoaXMuQnMrKyxofX1jbGFzcyBJaXtjb25zdHJ1Y3Rvcih0LGkpe3UodDw9aSwicmlnaHQgc2hvdWxkIGJlID49IGxlZnQiKSx0aGlzLmt1PXQsdGhpcy5QdT1pfU9hKCl7cmV0dXJuIHRoaXMua3V9YmkoKXtyZXR1cm4gdGhpcy5QdX1UdSgpe3JldHVybiB0aGlzLlB1LXRoaXMua3UrMX16ZSh0KXtyZXR1cm4gdGhpcy5rdTw9dCYmdDw9dGhpcy5QdX1HZSh0KXtyZXR1cm4gdGhpcy5rdT09PXQuT2EoKSYmdGhpcy5QdT09PXQuYmkoKX19ZnVuY3Rpb24gTGkodCxpKXtyZXR1cm4gbnVsbD09PXR8fG51bGw9PT1pP3Q9PT1pOnQuR2UoaSl9Y2xhc3MgRml7Y29uc3RydWN0b3IoKXt0aGlzLlJ1PW5ldyBNYXAsdGhpcy5Mcz1udWxsLHRoaXMuRHU9ITF9SXUodCl7dGhpcy5EdT10LHRoaXMuTHM9bnVsbH1WdSh0LGkpe3RoaXMuQnUoaSksdGhpcy5Mcz1udWxsO2ZvcihsZXQgcz1pO3M8dC5sZW5ndGg7KytzKXtjb25zdCBpPXRbc107bGV0IGU9dGhpcy5SdS5nZXQoaS50aW1lV2VpZ2h0KTt2b2lkIDA9PT1lJiYoZT1bXSx0aGlzLlJ1LnNldChpLnRpbWVXZWlnaHQsZSkpLGUucHVzaCh7aW5kZXg6cyx0aW1lOmkudGltZSx3ZWlnaHQ6aS50aW1lV2VpZ2h0LG9yaWdpbmFsVGltZTppLm9yaWdpbmFsVGltZX0pfX1FdSh0LGkscyxlLGgpe2NvbnN0IG49TWF0aC5jZWlsKGkvdCk7cmV0dXJuIG51bGwhPT10aGlzLkxzJiZ0aGlzLkxzLkF1PT09biYmaD09PXRoaXMuTHMuTHUmJnM9PT10aGlzLkxzLnp1fHwodGhpcy5Mcz17THU6aCx6dTpzLEVsOnRoaXMuT3UobixzLGUpLEF1Om59KSx0aGlzLkxzLkVsfUJ1KHQpe2lmKDA9PT10KXJldHVybiB2b2lkIHRoaXMuUnUuY2xlYXIoKTtjb25zdCBpPVtdO3RoaXMuUnUuZm9yRWFjaCgoKHMsZSk9Pnt0PD1zWzBdLmluZGV4P2kucHVzaChlKTpzLnNwbGljZShOdChzLHQsKGk9PmkuaW5kZXg8dCkpLDEvMCl9KSk7Zm9yKGNvbnN0IHQgb2YgaSl0aGlzLlJ1LmRlbGV0ZSh0KX1PdSh0LGkscyl7bGV0IGU9W107Y29uc3QgaD10PT4haXx8cy5oYXModC5pbmRleCk7Zm9yKGNvbnN0IGkgb2YgQXJyYXkuZnJvbSh0aGlzLlJ1LmtleXMoKSkuc29ydCgoKHQsaSk9PmktdCkpKXtpZighdGhpcy5SdS5nZXQoaSkpY29udGludWU7Y29uc3Qgcz1lO2U9W107Y29uc3Qgbj1zLmxlbmd0aDtsZXQgcj0wO2NvbnN0IG89Yyh0aGlzLlJ1LmdldChpKSksbD1vLmxlbmd0aDtsZXQgYT0xLzAsdT0tMS8wO2ZvcihsZXQgaT0wO2k8bDtpKyspe2NvbnN0IGw9b1tpXSxjPWwuaW5kZXg7Zm9yKDtyPG47KXtjb25zdCB0PXNbcl0saT10LmluZGV4O2lmKCEoaTxjJiZoKHQpKSl7YT1pO2JyZWFrfXIrKyxlLnB1c2godCksdT1pLGE9MS8wfWlmKGEtYz49dCYmYy11Pj10JiZoKGwpKWUucHVzaChsKSx1PWM7ZWxzZSBpZih0aGlzLkR1KXJldHVybiBzfQpmb3IoO3I8bjtyKyspaChzW3JdKSYmZS5wdXNoKHNbcl0pfXJldHVybiBlfX1jbGFzcyBxaXtjb25zdHJ1Y3Rvcih0KXt0aGlzLk51PXR9RnUoKXtyZXR1cm4gbnVsbD09PXRoaXMuTnU/bnVsbDpuZXcgSWkoTWF0aC5mbG9vcih0aGlzLk51Lk9hKCkpLE1hdGguY2VpbCh0aGlzLk51LmJpKCkpKX1XdSgpe3JldHVybiB0aGlzLk51fXN0YXRpYyBIdSgpe3JldHVybiBuZXcgcWkobnVsbCl9fWZ1bmN0aW9uIFdpKHQsaSl7cmV0dXJuIHQud2VpZ2h0Pmkud2VpZ2h0P3Q6aX1jbGFzcyBRaXtjb25zdHJ1Y3Rvcih0LGkscyxlKXt0aGlzLkNfPTAsdGhpcy5VdT1udWxsLHRoaXMuJHU9W10sdGhpcy54bz1udWxsLHRoaXMuU289bnVsbCx0aGlzLmp1PW5ldyBGaSx0aGlzLnF1PW5ldyBNYXAsdGhpcy5ZdT1xaS5IdSgpLHRoaXMuS3U9ITAsdGhpcy5adT1uZXcgbSx0aGlzLkd1PW5ldyBtLHRoaXMuWHU9bmV3IG0sdGhpcy5KdT1udWxsLHRoaXMuUXU9bnVsbCx0aGlzLnRjPW5ldyBNYXAsdGhpcy5uYz0tMSx0aGlzLnNjPVtdLHRoaXMuZWM9MSx0aGlzLnluPWksdGhpcy5Qbz1zLHRoaXMucmM9aS5yaWdodE9mZnNldCx0aGlzLmhjPWkuYmFyU3BhY2luZyx0aGlzLnNuPXQsdGhpcy5hYyhpKSx0aGlzLnh1PWUsdGhpcy5sYygpLHRoaXMuanUuSXUoaS51bmlmb3JtRGlzdHJpYnV0aW9uKSx0aGlzLm9jKCksdGhpcy5fYygpfU4oKXtyZXR1cm4gdGhpcy55bn11Yyh0KXtwKHRoaXMuUG8sdCksdGhpcy5jYygpLHRoaXMubGMoKX12cih0LGkpe3AodGhpcy55bix0KSx0aGlzLnluLmZpeExlZnRFZGdlJiZ0aGlzLmRjKCksdGhpcy55bi5maXhSaWdodEVkZ2UmJnRoaXMuZmMoKSx2b2lkIDAhPT10LmJhclNwYWNpbmcmJnRoaXMuc24uTXModC5iYXJTcGFjaW5nKSx2b2lkIDAhPT10LnJpZ2h0T2Zmc2V0JiZ0aGlzLnNuLmdzKHQucmlnaHRPZmZzZXQpLHRoaXMuYWModCksdm9pZCAwPT09dC5taW5CYXJTcGFjaW5nJiZ2b2lkIDA9PT10Lm1heEJhclNwYWNpbmd8fHRoaXMuc24uTXModC5iYXJTcGFjaW5nPz90aGlzLmhjKSx2b2lkIDAhPT10Lmlnbm9yZVdoaXRlc3BhY2VJbmRpY2VzJiZ0Lmlnbm9yZVdoaXRlc3BhY2VJbmRpY2VzIT09dGhpcy55bi5pZ25vcmVXaGl0ZXNwYWNlSW5kaWNlcyYmdGhpcy5fYygpLHRoaXMuY2MoKSx0aGlzLmxjKCksdm9pZCAwPT09dC5lbmFibGVDb25mbGF0aW9uJiZ2b2lkIDA9PT10LmNvbmZsYXRpb25UaHJlc2hvbGRGYWN0b3J8fHRoaXMub2MoKSx0aGlzLlh1LnAoKX1Sbih0KXtyZXR1cm4gdGhpcy4kdVt0XT8udGltZT8/bnVsbH1lbih0KXtyZXR1cm4gdGhpcy4kdVt0XT8/bnVsbH12Yyh0LGkpe2lmKHRoaXMuJHUubGVuZ3RoPDEpcmV0dXJuIG51bGw7aWYodGhpcy54dS5rZXkodCk+dGhpcy54dS5rZXkodGhpcy4kdVt0aGlzLiR1Lmxlbmd0aC0xXS50aW1lKSlyZXR1cm4gaT90aGlzLiR1Lmxlbmd0aC0xOm51bGw7Y29uc3Qgcz1OdCh0aGlzLiR1LHRoaXMueHUua2V5KHQpLCgodCxpKT0+dGhpcy54dS5rZXkodC50aW1lKTxpKSk7cmV0dXJuIHRoaXMueHUua2V5KHQpPHRoaXMueHUua2V5KHRoaXMuJHVbc10udGltZSk/aT9zOm51bGw6c31HaSgpe3JldHVybiAwPT09dGhpcy5DX3x8MD09PXRoaXMuJHUubGVuZ3RofHxudWxsPT09dGhpcy5VdX1tYygpe3JldHVybiB0aGlzLiR1Lmxlbmd0aD4wfUVlKCl7cmV0dXJuIHRoaXMud2MoKSx0aGlzLll1LkZ1KCl9TWMoKXtyZXR1cm4gdGhpcy53YygpLHRoaXMuWXUuV3UoKX1nYygpe2NvbnN0IHQ9dGhpcy5FZSgpO2lmKG51bGw9PT10KXJldHVybiBudWxsO2NvbnN0IGk9e2Zyb206dC5PYSgpLHRvOnQuYmkoKX07cmV0dXJuIHRoaXMuYmMoaSl9YmModCl7Y29uc3QgaT1NYXRoLnJvdW5kKHQuZnJvbSkscz1NYXRoLnJvdW5kKHQudG8pLGU9Zih0aGlzLlNjKCkpLGg9Zih0aGlzLnhjKCkpO3JldHVybntmcm9tOmYodGhpcy5lbihNYXRoLm1heChlLGkpKSksdG86Zih0aGlzLmVuKE1hdGgubWluKGgscykpKX19Q2ModCl7cmV0dXJue2Zyb206Zih0aGlzLnZjKHQuZnJvbSwhMCkpLHRvOmYodGhpcy52Yyh0LnRvLCEwKSl9fW5uKCl7cmV0dXJuIHRoaXMuQ199Tl8odCl7aWYoIWlzRmluaXRlKHQpfHx0PD0wKXJldHVybjtpZih0aGlzLkNfPT09dClyZXR1cm47Y29uc3QgaT10aGlzLk1jKCkscz10aGlzLkNfO2lmKHRoaXMuQ189dCx0aGlzLkt1PSEwLHRoaXMueW4ubG9ja1Zpc2libGVUaW1lUmFuZ2VPblJlc2l6ZSYmMCE9PXMpe2NvbnN0IGk9dGhpcy5oYyp0L3M7dGhpcy5oYz1pfWlmKHRoaXMueW4uZml4TGVmdEVkZ2UmJm51bGwhPT1pJiZpLk9hKCk8PTApe2NvbnN0IGk9cy10O3RoaXMucmMtPU1hdGgucm91bmQoaS90aGlzLmhjKSsxLHRoaXMuS3U9ITB9dGhpcy55YygpLHRoaXMua2MoKX1qdCh0KXtpZih0aGlzLkdpKCl8fCF2KHQpKXJldHVybiAwO2NvbnN0IGk9dGhpcy5QYygpK3RoaXMucmMtdDtyZXR1cm4gdGhpcy5DXy0oaSsuNSkqdGhpcy5oYy0xfVRjKHQsaSl7Y29uc3Qgcz10aGlzLlBjKCksZT12b2lkIDA9PT1pPzA6aS5mcm9tLGg9dm9pZCAwPT09aT90Lmxlbmd0aDppLnRvO2ZvcihsZXQgaT1lO2k8aDtpKyspe2NvbnN0IGU9dFtpXS53dCxoPXMrdGhpcy5yYy1lLG49dGhpcy5DXy0oaCsuNSkqdGhpcy5oYy0xO3RbaV0uX3Q9bn19UmModCxpKXtjb25zdCBzPU1hdGguY2VpbCh0aGlzLkRjKHQpKTtyZXR1cm4gaSYmdGhpcy55bi5pZ25vcmVXaGl0ZXNwYWNlSW5kaWNlcyYmIXRoaXMuSWMocyk/dGhpcy5WYyhzKTpzfWdzKHQpe3RoaXMuS3U9ITAsdGhpcy5yYz10LHRoaXMua2MoKSx0aGlzLnNuLkJjKCksdGhpcy5zbi5tcigpfWZsKCl7cmV0dXJuIHRoaXMuaGN9TXModCl7Y29uc3QgaT10aGlzLmhjO2lmKHRoaXMuRWModCksdm9pZCAwIT09dGhpcy55bi5yaWdodE9mZnNldFBpeGVscyYmMCE9PWkpe2NvbnN0IHQ9dGhpcy5yYyppL3RoaXMuaGM7dGhpcy5yYz10fXRoaXMua2MoKSx0aGlzLnNuLkJjKCksdGhpcy5zbi5tcigpfUFjKCl7cmV0dXJuIHRoaXMucmN9RWwoKXtpZih0aGlzLkdpKCkpcmV0dXJuIG51bGw7aWYobnVsbCE9PXRoaXMuUXUpcmV0dXJuIHRoaXMuUXUKO2NvbnN0IHQ9dGhpcy5oYyxpPTUqKHRoaXMuc24uTigpLmxheW91dC5mb250U2l6ZSs0KS84Kih0aGlzLnluLnRpY2tNYXJrTWF4Q2hhcmFjdGVyTGVuZ3RofHw4KSxzPU1hdGgucm91bmQoaS90KSxlPWYodGhpcy5FZSgpKSxoPU1hdGgubWF4KGUuT2EoKSxlLk9hKCktcyksbj1NYXRoLm1heChlLmJpKCksZS5iaSgpLXMpLHI9dGhpcy5qdS5FdSh0LGksdGhpcy55bi5pZ25vcmVXaGl0ZXNwYWNlSW5kaWNlcyx0aGlzLnRjLHRoaXMubmMpLG89dGhpcy5TYygpK3MsbD10aGlzLnhjKCktcyxhPXRoaXMuTGMoKSx1PXRoaXMueW4uZml4TGVmdEVkZ2V8fGEsYz10aGlzLnluLmZpeFJpZ2h0RWRnZXx8YTtsZXQgZD0wO2Zvcihjb25zdCB0IG9mIHIpe2lmKCEoaDw9dC5pbmRleCYmdC5pbmRleDw9bikpY29udGludWU7bGV0IHM7ZDx0aGlzLnNjLmxlbmd0aD8ocz10aGlzLnNjW2RdLHMuY29vcmQ9dGhpcy5qdCh0LmluZGV4KSxzLmxhYmVsPXRoaXMuemModCkscy53ZWlnaHQ9dC53ZWlnaHQpOihzPXtuZWVkQWxpZ25Db29yZGluYXRlOiExLGNvb3JkOnRoaXMuanQodC5pbmRleCksbGFiZWw6dGhpcy56Yyh0KSx3ZWlnaHQ6dC53ZWlnaHR9LHRoaXMuc2MucHVzaChzKSksdGhpcy5oYz5pLzImJiFhP3MubmVlZEFsaWduQ29vcmRpbmF0ZT0hMTpzLm5lZWRBbGlnbkNvb3JkaW5hdGU9dSYmdC5pbmRleDw9b3x8YyYmdC5pbmRleD49bCxkKyt9cmV0dXJuIHRoaXMuc2MubGVuZ3RoPWQsdGhpcy5RdT10aGlzLnNjLHRoaXMuc2N9T2MoKXtsZXQgdDt0aGlzLkt1PSEwLHRoaXMuTXModGhpcy55bi5iYXJTcGFjaW5nKSx0PXZvaWQgMCE9PXRoaXMueW4ucmlnaHRPZmZzZXRQaXhlbHM/dGhpcy55bi5yaWdodE9mZnNldFBpeGVscy90aGlzLmZsKCk6dGhpcy55bi5yaWdodE9mZnNldCx0aGlzLmdzKHQpfU5jKHQpe3RoaXMuS3U9ITAsdGhpcy5VdT10LHRoaXMua2MoKSx0aGlzLmRjKCl9RmModCxpKXtjb25zdCBzPXRoaXMuRGModCksZT10aGlzLmZsKCksaD1lK2kqKGUvMTApO3RoaXMuTXMoaCksdGhpcy55bi5yaWdodEJhclN0YXlzT25TY3JvbGx8fHRoaXMuZ3ModGhpcy5BYygpKyhzLXRoaXMuRGModCkpKX1sXyh0KXt0aGlzLnhvJiZ0aGlzLmRfKCksbnVsbD09PXRoaXMuU28mJm51bGw9PT10aGlzLkp1JiYodGhpcy5HaSgpfHwodGhpcy5Tbz10LHRoaXMuV2MoKSkpfW9fKHQpe2lmKG51bGw9PT10aGlzLkp1KXJldHVybjtjb25zdCBpPWlpKHRoaXMuQ18tdCwwLHRoaXMuQ18pLHM9aWkodGhpcy5DXy1mKHRoaXMuU28pLDAsdGhpcy5DXyk7MCE9PWkmJjAhPT1zJiZ0aGlzLk1zKHRoaXMuSnUuZmwqaS9zKX1fXygpe251bGwhPT10aGlzLlNvJiYodGhpcy5Tbz1udWxsLHRoaXMuSGMoKSl9dV8odCl7bnVsbD09PXRoaXMueG8mJm51bGw9PT10aGlzLkp1JiYodGhpcy5HaSgpfHwodGhpcy54bz10LHRoaXMuV2MoKSkpfWNfKHQpe2lmKG51bGw9PT10aGlzLnhvKXJldHVybjtjb25zdCBpPSh0aGlzLnhvLXQpL3RoaXMuZmwoKTt0aGlzLnJjPWYodGhpcy5KdSkuQWMraSx0aGlzLkt1PSEwLHRoaXMua2MoKX1kXygpe251bGwhPT10aGlzLnhvJiYodGhpcy54bz1udWxsLHRoaXMuSGMoKSl9VWMoKXt0aGlzLiRjKHRoaXMueW4ucmlnaHRPZmZzZXQpfSRjKHQsaT00MDApe2lmKCFpc0Zpbml0ZSh0KSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigib2Zmc2V0IGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGZpbml0ZSBudW1iZXIiKTtpZighaXNGaW5pdGUoaSl8fGk8PTApdGhyb3cgbmV3IFJhbmdlRXJyb3IoImFuaW1hdGlvbkR1cmF0aW9uIChvcHRpb25hbCkgbXVzdCBiZSBmaW5pdGUgcG9zaXRpdmUgbnVtYmVyIik7Y29uc3Qgcz10aGlzLnJjLGU9cGVyZm9ybWFuY2Uubm93KCk7dGhpcy5zbi5wcyh7amM6dD0+KHQtZSkvaT49MSxxYzpoPT57Y29uc3Qgbj0oaC1lKS9pO3JldHVybiBuPj0xP3Q6cysodC1zKSpufX0pfWt0KHQsaSl7dGhpcy5LdT0hMCx0aGlzLiR1PXQsdGhpcy5qdS5WdSh0LGkpLHRoaXMua2MoKX1ZYygpe3JldHVybiB0aGlzLlp1fUtjKCl7cmV0dXJuIHRoaXMuR3V9WmMoKXtyZXR1cm4gdGhpcy5YdX1QYygpe3JldHVybiB0aGlzLlV1fHwwfUdjKHQsaSl7Y29uc3Qgcz10LlR1KCksZT1pJiZ0aGlzLnluLnJpZ2h0T2Zmc2V0UGl4ZWxzfHwwO3RoaXMuRWMoKHRoaXMuQ18tZSkvcyksdGhpcy5yYz10LmJpKCktdGhpcy5QYygpLGkmJih0aGlzLnJjPWU/ZS90aGlzLmZsKCk6dGhpcy55bi5yaWdodE9mZnNldCksdGhpcy5rYygpLHRoaXMuS3U9ITAsdGhpcy5zbi5CYygpLHRoaXMuc24ubXIoKX1YYygpe2NvbnN0IHQ9dGhpcy5TYygpLGk9dGhpcy54YygpO2lmKG51bGw9PT10fHxudWxsPT09aSlyZXR1cm47Y29uc3Qgcz0hdGhpcy55bi5yaWdodE9mZnNldFBpeGVscyYmdGhpcy55bi5yaWdodE9mZnNldHx8MDt0aGlzLkdjKG5ldyBJaSh0LGkrcyksITApfUpjKHQpe2NvbnN0IGk9bmV3IElpKHQuZnJvbSx0LnRvKTt0aGlzLkdjKGkpfXJuKHQpe3JldHVybiB2b2lkIDAhPT10aGlzLlBvLnRpbWVGb3JtYXR0ZXI/dGhpcy5Qby50aW1lRm9ybWF0dGVyKHQub3JpZ2luYWxUaW1lKTp0aGlzLnh1LmZvcm1hdEhvcnpJdGVtKHQudGltZSl9X2MoKXtpZighdGhpcy55bi5pZ25vcmVXaGl0ZXNwYWNlSW5kaWNlcylyZXR1cm47dGhpcy50Yy5jbGVhcigpO2NvbnN0IHQ9dGhpcy5zbi5KbigpO2Zvcihjb25zdCBpIG9mIHQpZm9yKGNvbnN0IHQgb2YgaS51bCgpKXRoaXMudGMuc2V0KHQsITApO3RoaXMubmMrK31RYygpe3JldHVybiB0aGlzLmVjfU1sKCl7Y29uc3QgdD0xLyh3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MSksaT10aGlzLnluLm1pbkJhclNwYWNpbmc7aWYoaT49dClyZXR1cm5bMV07Y29uc3Qgcz1bMV07bGV0IGU9Mjtmb3IoO2U8PTUxMjspaTx0L2UmJnMucHVzaChlKSxlKj0yO3JldHVybiBzfUxjKCl7Y29uc3QgdD10aGlzLnNuLk4oKS5oYW5kbGVTY3JvbGwsaT10aGlzLnNuLk4oKS5oYW5kbGVTY2FsZQo7cmV0dXJuISh0LmhvcnpUb3VjaERyYWd8fHQubW91c2VXaGVlbHx8dC5wcmVzc2VkTW91c2VNb3ZlfHx0LnZlcnRUb3VjaERyYWd8fGkuYXhpc0RvdWJsZUNsaWNrUmVzZXQudGltZXx8aS5heGlzUHJlc3NlZE1vdXNlTW92ZS50aW1lfHxpLm1vdXNlV2hlZWx8fGkucGluY2gpfVNjKCl7cmV0dXJuIDA9PT10aGlzLiR1Lmxlbmd0aD9udWxsOjB9eGMoKXtyZXR1cm4gMD09PXRoaXMuJHUubGVuZ3RoP251bGw6dGhpcy4kdS5sZW5ndGgtMX10ZCh0KXtyZXR1cm4odGhpcy5DXy0xLXQpL3RoaXMuaGN9RGModCl7Y29uc3QgaT10aGlzLnRkKHQpLHM9dGhpcy5QYygpK3RoaXMucmMtaTtyZXR1cm4gTWF0aC5yb3VuZCgxZTYqcykvMWU2fUVjKHQpe2NvbnN0IGk9dGhpcy5oYzt0aGlzLmhjPXQsdGhpcy55YygpLGkhPT10aGlzLmhjJiYodGhpcy5LdT0hMCx0aGlzLm5kKCksdGhpcy5vYygpKX13Yygpe2lmKCF0aGlzLkt1KXJldHVybjtpZih0aGlzLkt1PSExLHRoaXMuR2koKSlyZXR1cm4gdm9pZCB0aGlzLnNkKHFpLkh1KCkpO2NvbnN0IHQ9dGhpcy5QYygpLGk9dGhpcy5DXy90aGlzLmhjLHM9dGhpcy5yYyt0LGU9bmV3IElpKHMtaSsxLHMpO3RoaXMuc2QobmV3IHFpKGUpKX15Yygpe2NvbnN0IHQ9aWkodGhpcy5oYyx0aGlzLmVkKCksdGhpcy5yZCgpKTt0aGlzLmhjIT09dCYmKHRoaXMuaGM9dCx0aGlzLkt1PSEwKX1yZCgpe3JldHVybiB0aGlzLnluLm1heEJhclNwYWNpbmc+MD90aGlzLnluLm1heEJhclNwYWNpbmc6LjUqdGhpcy5DX31lZCgpe3JldHVybiB0aGlzLnluLmZpeExlZnRFZGdlJiZ0aGlzLnluLmZpeFJpZ2h0RWRnZSYmMCE9PXRoaXMuJHUubGVuZ3RoP3RoaXMuQ18vdGhpcy4kdS5sZW5ndGg6dGhpcy55bi5taW5CYXJTcGFjaW5nfW9jKCl7aWYoIXRoaXMueW4uZW5hYmxlQ29uZmxhdGlvbilyZXR1cm4gdm9pZCh0aGlzLmVjPTEpO2NvbnN0IHQ9MS8od2luZG93LmRldmljZVBpeGVsUmF0aW98fDEpKih0aGlzLnluLmNvbmZsYXRpb25UaHJlc2hvbGRGYWN0b3I/PzEpO2lmKHRoaXMuaGM+PXQpcmV0dXJuIHZvaWQodGhpcy5lYz0xKTtjb25zdCBpPXQvdGhpcy5oYyxzPU1hdGgucG93KDIsTWF0aC5mbG9vcihNYXRoLmxvZzIoaSkpKTt0aGlzLmVjPU1hdGgubWluKHMsNTEyKX1rYygpe2NvbnN0IHQ9dGhpcy5oZCgpO251bGwhPT10JiZ0aGlzLnJjPHQmJih0aGlzLnJjPXQsdGhpcy5LdT0hMCk7Y29uc3QgaT10aGlzLmFkKCk7dGhpcy5yYz5pJiYodGhpcy5yYz1pLHRoaXMuS3U9ITApfWhkKCl7Y29uc3QgdD10aGlzLlNjKCksaT10aGlzLlV1O3JldHVybiBudWxsPT09dHx8bnVsbD09PWk/bnVsbDp0LWktMSsodGhpcy55bi5maXhMZWZ0RWRnZT90aGlzLkNfL3RoaXMuaGM6TWF0aC5taW4oMix0aGlzLiR1Lmxlbmd0aCkpfWFkKCl7cmV0dXJuIHRoaXMueW4uZml4UmlnaHRFZGdlPzA6dGhpcy5DXy90aGlzLmhjLU1hdGgubWluKDIsdGhpcy4kdS5sZW5ndGgpfVdjKCl7dGhpcy5KdT17Zmw6dGhpcy5mbCgpLEFjOnRoaXMuQWMoKX19SGMoKXt0aGlzLkp1PW51bGx9emModCl7bGV0IGk9dGhpcy5xdS5nZXQodC53ZWlnaHQpO3JldHVybiB2b2lkIDA9PT1pJiYoaT1uZXcgemkoKHQ9PnRoaXMubGQodCkpLHRoaXMueHUpLHRoaXMucXUuc2V0KHQud2VpZ2h0LGkpKSxpLkN1KHQpfWxkKHQpe3JldHVybiB0aGlzLnh1LmZvcm1hdFRpY2ttYXJrKHQsdGhpcy5Qbyl9c2QodCl7Y29uc3QgaT10aGlzLll1O3RoaXMuWXU9dCxMaShpLkZ1KCksdGhpcy5ZdS5GdSgpKXx8dGhpcy5adS5wKCksTGkoaS5XdSgpLHRoaXMuWXUuV3UoKSl8fHRoaXMuR3UucCgpLHRoaXMubmQoKX1uZCgpe3RoaXMuUXU9bnVsbH1jYygpe3RoaXMubmQoKSx0aGlzLnF1LmNsZWFyKCl9bGMoKXt0aGlzLnh1LnVwZGF0ZUZvcm1hdHRlcih0aGlzLlBvKX1kYygpe2lmKCF0aGlzLnluLmZpeExlZnRFZGdlKXJldHVybjtjb25zdCB0PXRoaXMuU2MoKTtpZihudWxsPT09dClyZXR1cm47Y29uc3QgaT10aGlzLkVlKCk7aWYobnVsbD09PWkpcmV0dXJuO2NvbnN0IHM9aS5PYSgpLXQ7aWYoczwwKXtjb25zdCB0PXRoaXMucmMtcy0xO3RoaXMuZ3ModCl9dGhpcy55YygpfWZjKCl7dGhpcy5rYygpLHRoaXMueWMoKX1JYyh0KXtyZXR1cm4hdGhpcy55bi5pZ25vcmVXaGl0ZXNwYWNlSW5kaWNlc3x8dGhpcy50Yy5nZXQodCl8fCExfVZjKHQpe2NvbnN0IGk9ZnVuY3Rpb24qKHQpe2NvbnN0IGk9TWF0aC5yb3VuZCh0KSxzPWk8dDtsZXQgZT0xO2Zvcig7OylzPyh5aWVsZCBpK2UseWllbGQgaS1lKTooeWllbGQgaS1lLHlpZWxkIGkrZSksZSsrfSh0KSxzPXRoaXMueGMoKTtmb3IoO3M7KXtjb25zdCB0PWkubmV4dCgpLnZhbHVlO2lmKHRoaXMudGMuZ2V0KHQpKXJldHVybiB0O2lmKHQ8MHx8dD5zKWJyZWFrfXJldHVybiB0fWFjKHQpe2lmKHZvaWQgMCE9PXQucmlnaHRPZmZzZXRQaXhlbHMpe2NvbnN0IGk9dC5yaWdodE9mZnNldFBpeGVscy8odC5iYXJTcGFjaW5nfHx0aGlzLmhjKTt0aGlzLnNuLmdzKGkpfX19dmFyIERpLE9pLEtpLFZpLCRpOyFmdW5jdGlvbih0KXt0W3QuT25Ub3VjaEVuZD0wXT0iT25Ub3VjaEVuZCIsdFt0Lk9uTmV4dFRhcD0xXT0iT25OZXh0VGFwIn0oRGl8fChEaT17fSkpO2NsYXNzIEJpe2NvbnN0cnVjdG9yKHQsaSxzKXt0aGlzLm9kPVtdLHRoaXMuX2Q9W10sdGhpcy51ZD1udWxsLHRoaXMuQ189MCx0aGlzLmRkPW51bGwsdGhpcy5mZD1uZXcgbSx0aGlzLnBkPW5ldyBtLHRoaXMudmQ9bnVsbCx0aGlzLm1kPXQsdGhpcy55bj1pLHRoaXMueHU9cyx0aGlzLlRvPW5ldyBOKHRoaXMueW4ubGF5b3V0LmNvbG9yUGFyc2VycyksdGhpcy53ZD1uZXcgQyh0aGlzKSx0aGlzLmlhPW5ldyBRaSh0aGlzLGkudGltZVNjYWxlLHRoaXMueW4ubG9jYWxpemF0aW9uLHMpLHRoaXMuQ3Q9bmV3IFkodGhpcyxpLmNyb3NzaGFpciksdGhpcy5NZD1uZXcgdGkoaS5jcm9zc2hhaXIpLGkuYWRkRGVmYXVsdFBhbmUmJih0aGlzLmdkKDApLHRoaXMub2RbMF0uT18oMikpLHRoaXMuYmQ9dGhpcy5TZCgwKSx0aGlzLnhkPXRoaXMuU2QoMSl9UGEoKXt0aGlzLkNkKFgueXMoKSl9bXIoKXt0aGlzLkNkKFguQ3MoKSl9cWEoKXsKdGhpcy5DZChuZXcgWCgxKSl9VGEodCl7Y29uc3QgaT10aGlzLnlkKHQpO3RoaXMuQ2QoaSl9b3UoKXtyZXR1cm4gdGhpcy5kZH1rZCh0KXtpZih0aGlzLmRkPy5sdT09PXQ/Lmx1JiZ0aGlzLmRkPy53dT8udGU9PT10Py53dT8udGUmJnRoaXMuZGQ/Lnd1Py5pZT09PXQ/Lnd1Py5pZSYmdGhpcy5kZD8ubXU9PT10Py5tdSYmdGhpcy5kZD8uZWU9PT10Py5lZSlyZXR1cm47Y29uc3QgaT10aGlzLmRkO3RoaXMuZGQ9dCxudWxsIT09aSYmdGhpcy5UYShpLmx1KSxudWxsIT09dCYmdC5sdSE9PWk/Lmx1JiZ0aGlzLlRhKHQubHUpfU4oKXtyZXR1cm4gdGhpcy55bn12cih0KXtwKHRoaXMueW4sdCksdGhpcy5vZC5mb3JFYWNoKChpPT5pLkVfKHQpKSksdm9pZCAwIT09dC50aW1lU2NhbGUmJnRoaXMuaWEudnIodC50aW1lU2NhbGUpLHZvaWQgMCE9PXQubG9jYWxpemF0aW9uJiZ0aGlzLmlhLnVjKHQubG9jYWxpemF0aW9uKSwodC5sZWZ0UHJpY2VTY2FsZXx8dC5yaWdodFByaWNlU2NhbGUpJiZ0aGlzLmZkLnAoKSx0aGlzLmJkPXRoaXMuU2QoMCksdGhpcy54ZD10aGlzLlNkKDEpLHRoaXMuUGEoKX1QZCh0LGkscz0wKXtjb25zdCBlPXRoaXMub2Rbc107aWYodm9pZCAwPT09ZSlyZXR1cm47aWYoImxlZnQiPT09dClyZXR1cm4gcCh0aGlzLnluLHtsZWZ0UHJpY2VTY2FsZTppfSksZS5FXyh7bGVmdFByaWNlU2NhbGU6aX0pLHRoaXMuZmQucCgpLHZvaWQgdGhpcy5QYSgpO2lmKCJyaWdodCI9PT10KXJldHVybiBwKHRoaXMueW4se3JpZ2h0UHJpY2VTY2FsZTppfSksZS5FXyh7cmlnaHRQcmljZVNjYWxlOml9KSx0aGlzLmZkLnAoKSx2b2lkIHRoaXMuUGEoKTtjb25zdCBoPXRoaXMuVGQodCxzKTtudWxsIT09aCYmKGguRnQudnIoaSksdGhpcy5mZC5wKCkpfVRkKHQsaSl7Y29uc3Qgcz10aGlzLm9kW2ldO2lmKHZvaWQgMD09PXMpcmV0dXJuIG51bGw7Y29uc3QgZT1zLkFfKHQpO3JldHVybiBudWxsIT09ZT97S246cyxGdDplfTpudWxsfUV0KCl7cmV0dXJuIHRoaXMuaWF9Wm4oKXtyZXR1cm4gdGhpcy5vZH1SZCgpe3JldHVybiB0aGlzLkN0fURkKCl7cmV0dXJuIHRoaXMucGR9SWQodCxpKXt0LldvKGkpLHRoaXMuQmMoKX1OXyh0KXt0aGlzLkNfPXQsdGhpcy5pYS5OXyh0aGlzLkNfKSx0aGlzLm9kLmZvckVhY2goKGk9PmkuTl8odCkpKSx0aGlzLkJjKCl9VmQodCl7MSE9PXRoaXMub2QubGVuZ3RoJiYodSh0Pj0wJiZ0PHRoaXMub2QubGVuZ3RoLCJJbnZhbGlkIHBhbmUgaW5kZXgiKSx0aGlzLm9kLnNwbGljZSh0LDEpLHRoaXMuUGEoKSl9QmQodCxpKXtpZih0aGlzLm9kLmxlbmd0aDwyKXJldHVybjt1KHQ+PTAmJnQ8dGhpcy5vZC5sZW5ndGgsIkludmFsaWQgcGFuZSBpbmRleCIpO2NvbnN0IHM9dGhpcy5vZFt0XSxlPXRoaXMub2QucmVkdWNlKCgodCxpKT0+dCtpLnpfKCkpLDApLGg9dGhpcy5vZC5yZWR1Y2UoKCh0LGkpPT50K2kuJHQoKSksMCksbj1oLTMwKih0aGlzLm9kLmxlbmd0aC0xKTtpPU1hdGgubWluKG4sTWF0aC5tYXgoMzAsaSkpO2NvbnN0IHI9ZS9oLG89cy4kdCgpO3MuT18oaSpyKTtsZXQgbD1pLW8sYT10aGlzLm9kLmxlbmd0aC0xO2Zvcihjb25zdCB0IG9mIHRoaXMub2QpaWYodCE9PXMpe2NvbnN0IGk9TWF0aC5taW4obixNYXRoLm1heCgzMCx0LiR0KCktbC9hKSk7bC09dC4kdCgpLWksYS09MTtjb25zdCBzPWkqcjt0Lk9fKHMpfXRoaXMuUGEoKX1FZCh0LGkpe3UodD49MCYmdDx0aGlzLm9kLmxlbmd0aCYmaT49MCYmaTx0aGlzLm9kLmxlbmd0aCwiSW52YWxpZCBwYW5lIGluZGV4Iik7Y29uc3Qgcz10aGlzLm9kW3RdLGU9dGhpcy5vZFtpXTt0aGlzLm9kW3RdPWUsdGhpcy5vZFtpXT1zLHRoaXMuUGEoKX1BZCh0LGkpe2lmKHUodD49MCYmdDx0aGlzLm9kLmxlbmd0aCYmaT49MCYmaTx0aGlzLm9kLmxlbmd0aCwiSW52YWxpZCBwYW5lIGluZGV4IiksdD09PWkpcmV0dXJuO2NvbnN0W3NdPXRoaXMub2Quc3BsaWNlKHQsMSk7dGhpcy5vZC5zcGxpY2UoaSwwLHMpLHRoaXMuUGEoKX1HXyh0LGkscyl7dC5HXyhpLHMpfVhfKHQsaSxzKXt0LlhfKGkscyksdGhpcy5SYSgpLHRoaXMuQ2QodGhpcy5MZCh0LDIpKX1KXyh0LGkpe3QuSl8oaSksdGhpcy5DZCh0aGlzLkxkKHQsMikpfVFfKHQsaSxzKXtpLkVvKCl8fHQuUV8oaSxzKX10dSh0LGkscyl7aS5FbygpfHwodC50dShpLHMpLHRoaXMuUmEoKSx0aGlzLkNkKHRoaXMuTGQodCwyKSkpfWl1KHQsaSl7aS5FbygpfHwodC5pdShpKSx0aGlzLkNkKHRoaXMuTGQodCwyKSkpfWV1KHQsaSl7dC5ldShpKSx0aGlzLkNkKHRoaXMuTGQodCwyKSl9emQodCl7dGhpcy5pYS5sXyh0KX1PZCh0LGkpe2NvbnN0IHM9dGhpcy5FdCgpO2lmKHMuR2koKXx8MD09PWkpcmV0dXJuO2NvbnN0IGU9cy5ubigpO3Q9TWF0aC5tYXgoMSxNYXRoLm1pbih0LGUpKSxzLkZjKHQsaSksdGhpcy5CYygpfU5kKHQpe3RoaXMuRmQoMCksdGhpcy5XZCh0KSx0aGlzLkhkKCl9VWQodCl7dGhpcy5pYS5vXyh0KSx0aGlzLkJjKCl9JGQoKXt0aGlzLmlhLl9fKCksdGhpcy5tcigpfUZkKHQpe3RoaXMuaWEudV8odCl9V2QodCl7dGhpcy5pYS5jXyh0KSx0aGlzLkJjKCl9SGQoKXt0aGlzLmlhLmRfKCksdGhpcy5tcigpfUpuKCl7cmV0dXJuIHRoaXMuX2R9V24oKXtyZXR1cm4gbnVsbD09PXRoaXMudWQmJih0aGlzLnVkPXRoaXMuX2QuZmlsdGVyKCh0PT50Lkl0KCkpKSksdGhpcy51ZH1rYSgpe3RoaXMudWQ9bnVsbH1qZCh0LGkscyxlLGgpe3RoaXMuQ3QuSW4odCxpKTtsZXQgbj1OYU4scj10aGlzLmlhLlJjKHQsITApO2NvbnN0IG89dGhpcy5pYS5FZSgpO251bGwhPT1vJiYocj1NYXRoLm1pbihNYXRoLm1heChvLk9hKCksciksby5iaSgpKSkscj10aGlzLkN0LkZuKHIpO2NvbnN0IGw9ZS5QbigpLGE9bC5MdCgpO2lmKG51bGwhPT1hJiYobj1sLlRuKGksYSkpLG49dGhpcy5NZC54bChuLHIsZSksdGhpcy5DdC5BbihyLG4sZSksdGhpcy5xYSgpLCFoKXtjb25zdCBoPVBpKGUsdCxpKTt0aGlzLmtkKGgmJntsdTpoLmx1LHd1Omgud3UsbXU6aC5tdXx8bnVsbCxlZTpoLmVlfSksdGhpcy5wZC5wKHRoaXMuQ3QuQnQoKSx7eDp0LHk6aX0scyl9fXFkKHQsaSxzKXsKY29uc3QgZT1zLlBuKCksaD1lLkx0KCksbj1lLk50KHQsZihoKSkscj10aGlzLmlhLnZjKGksITApLG89dGhpcy5pYS5qdChmKHIpKTt0aGlzLmpkKG8sbixudWxsLHMsITApfVlkKHQpe3RoaXMuUmQoKS56bigpLHRoaXMucWEoKSx0fHx0aGlzLnBkLnAobnVsbCxudWxsLG51bGwpfVJhKCl7Y29uc3QgdD10aGlzLkN0LktuKCk7aWYobnVsbCE9PXQpe2NvbnN0IGk9dGhpcy5DdC5CbigpLHM9dGhpcy5DdC5FbigpO3RoaXMuamQoaSxzLG51bGwsdCl9dGhpcy5DdC5ObigpfUtkKHQsaSxzKXtjb25zdCBlPXRoaXMuaWEuUm4oMCk7dm9pZCAwIT09aSYmdm9pZCAwIT09cyYmdGhpcy5pYS5rdChpLHMpO2NvbnN0IGg9dGhpcy5pYS5SbigwKSxuPXRoaXMuaWEuUGMoKSxyPXRoaXMuaWEuRWUoKTtpZihudWxsIT09ciYmbnVsbCE9PWUmJm51bGwhPT1oKXtjb25zdCBpPXIuemUobiksbz10aGlzLnh1LmtleShlKT50aGlzLnh1LmtleShoKSxsPW51bGwhPT10JiZ0Pm4mJiFvLGE9dGhpcy5pYS5OKCkuYWxsb3dTaGlmdFZpc2libGVSYW5nZU9uV2hpdGVzcGFjZVJlcGxhY2VtZW50LHU9aSYmKCEodm9pZCAwPT09cyl8fGEpJiZ0aGlzLmlhLk4oKS5zaGlmdFZpc2libGVSYW5nZU9uTmV3QmFyO2lmKGwmJiF1KXtjb25zdCBpPXQtbjt0aGlzLmlhLmdzKHRoaXMuaWEuQWMoKS1pKX19dGhpcy5pYS5OYyh0KX1WYSh0KXtudWxsIT09dCYmdC5odSgpfUtzKHQpe2lmKGZ1bmN0aW9uKHQpe3JldHVybiB0IGluc3RhbmNlb2YgX2l9KHQpKXJldHVybiB0O2NvbnN0IGk9dGhpcy5vZC5maW5kKChpPT5pLkR0KCkuaW5jbHVkZXModCkpKTtyZXR1cm4gdm9pZCAwPT09aT9udWxsOml9QmMoKXt0aGlzLm9kLmZvckVhY2goKHQ9PnQuaHUoKSkpLHRoaXMuUmEoKX1tKCl7dGhpcy5vZC5mb3JFYWNoKCh0PT50Lm0oKSkpLHRoaXMub2QubGVuZ3RoPTAsdGhpcy55bi5sb2NhbGl6YXRpb24ucHJpY2VGb3JtYXR0ZXI9dm9pZCAwLHRoaXMueW4ubG9jYWxpemF0aW9uLnBlcmNlbnRhZ2VGb3JtYXR0ZXI9dm9pZCAwLHRoaXMueW4ubG9jYWxpemF0aW9uLnRpbWVGb3JtYXR0ZXI9dm9pZCAwfVpkKCl7cmV0dXJuIHRoaXMud2R9SnMoKXtyZXR1cm4gdGhpcy53ZC5OKCl9TF8oKXtyZXR1cm4gdGhpcy5mZH1HZCh0LGkpe2NvbnN0IHM9dGhpcy5nZChpKTt0aGlzLlhkKHQscyksdGhpcy5fZC5wdXNoKHQpLHRoaXMua2EoKSwxPT09dGhpcy5fZC5sZW5ndGg/dGhpcy5QYSgpOnRoaXMubXIoKX1KZCh0KXtjb25zdCBpPXRoaXMuS3ModCkscz10aGlzLl9kLmluZGV4T2YodCk7dSgtMSE9PXMsIlNlcmllcyBub3QgZm91bmQiKTtjb25zdCBlPWYoaSk7dGhpcy5fZC5zcGxpY2UocywxKSxlLnJfKHQpLHQubSYmdC5tKCksdGhpcy5rYSgpLHRoaXMuaWEuX2MoKSx0aGlzLlFkKGUpfXlhKHQsaSl7Y29uc3Qgcz1mKHRoaXMuS3ModCkpO3Mucl8odCwhMCkscy5zXyh0LGksITApfVhjKCl7Y29uc3QgdD1YLkNzKCk7dC51cygpLHRoaXMuQ2QodCl9dGYodCl7Y29uc3QgaT1YLkNzKCk7aS5mcyh0KSx0aGlzLkNkKGkpfXdzKCl7Y29uc3QgdD1YLkNzKCk7dC53cygpLHRoaXMuQ2QodCl9TXModCl7Y29uc3QgaT1YLkNzKCk7aS5Ncyh0KSx0aGlzLkNkKGkpfWdzKHQpe2NvbnN0IGk9WC5DcygpO2kuZ3ModCksdGhpcy5DZChpKX1wcyh0KXtjb25zdCBpPVguQ3MoKTtpLnBzKHQpLHRoaXMuQ2QoaSl9Y3MoKXtjb25zdCB0PVguQ3MoKTt0LmNzKCksdGhpcy5DZCh0KX1pZigpe2NvbnN0IHQ9dGhpcy55bi5kZWZhdWx0VmlzaWJsZVByaWNlU2NhbGVJZCxpPXRoaXMueW4ubGVmdFByaWNlU2NhbGUudmlzaWJsZTtyZXR1cm4gaSE9PXRoaXMueW4ucmlnaHRQcmljZVNjYWxlLnZpc2libGU/aT8ibGVmdCI6InJpZ2h0Ijp0fW5mKHQsaSl7aWYodShpPj0wLCJJbmRleCBzaG91bGQgYmUgZ3JlYXRlciBvciBlcXVhbCB0byAwIiksaT09PXRoaXMuc2YodCkpcmV0dXJuO2NvbnN0IHM9Zih0aGlzLktzKHQpKTtzLnJfKHQpO2NvbnN0IGU9dGhpcy5nZChpKTt0aGlzLlhkKHQsZSk7bGV0IGg9ITE7MD09PXMuQ2woKS5sZW5ndGgmJihoPXRoaXMuUWQocykpLGh8fHRoaXMuUGEoKX1lZigpe3JldHVybiB0aGlzLnhkfSQoKXtyZXR1cm4gdGhpcy5iZH1VdCh0KXtjb25zdCBpPXRoaXMueGQscz10aGlzLmJkO2lmKGk9PT1zKXJldHVybiBpO2lmKHQ9TWF0aC5tYXgoMCxNYXRoLm1pbigxMDAsTWF0aC5yb3VuZCgxMDAqdCkpKSxudWxsPT09dGhpcy52ZHx8dGhpcy52ZC5haCE9PXN8fHRoaXMudmQub2ghPT1pKXRoaXMudmQ9e2FoOnMsb2g6aSxyZjpuZXcgTWFwfTtlbHNle2NvbnN0IGk9dGhpcy52ZC5yZi5nZXQodCk7aWYodm9pZCAwIT09aSlyZXR1cm4gaX1jb25zdCBlPXRoaXMuVG8udHQocyxpLHQvMTAwKTtyZXR1cm4gdGhpcy52ZC5yZi5zZXQodCxlKSxlfWhmKHQpe3JldHVybiB0aGlzLm9kLmluZGV4T2YodCl9WGkoKXtyZXR1cm4gdGhpcy5Ub31hZigpe3JldHVybiB0aGlzLmxmKCl9bGYodCl7Y29uc3QgaT1uZXcgX2kodGhpcy5pYSx0aGlzKTt0aGlzLm9kLnB1c2goaSk7Y29uc3Qgcz10Pz90aGlzLm9kLmxlbmd0aC0xLGU9WC55cygpO3JldHVybiBlLmVzKHMse3JzOjAsaHM6ITB9KSx0aGlzLkNkKGUpLGl9Z2QodCl7cmV0dXJuIHUodD49MCwiSW5kZXggc2hvdWxkIGJlIGdyZWF0ZXIgb3IgZXF1YWwgdG8gMCIpLCh0PU1hdGgubWluKHRoaXMub2QubGVuZ3RoLHQpKTx0aGlzLm9kLmxlbmd0aD90aGlzLm9kW3RdOnRoaXMubGYodCl9c2YodCl7cmV0dXJuIHRoaXMub2QuZmluZEluZGV4KChpPT5pLlVfKCkuaW5jbHVkZXModCkpKX1MZCh0LGkpe2NvbnN0IHM9bmV3IFgoaSk7aWYobnVsbCE9PXQpe2NvbnN0IGU9dGhpcy5vZC5pbmRleE9mKHQpO3MuZXMoZSx7cnM6aX0pfXJldHVybiBzfXlkKHQsaSl7cmV0dXJuIHZvaWQgMD09PWkmJihpPTIpLHRoaXMuTGQodGhpcy5Lcyh0KSxpKX1DZCh0KXt0aGlzLm1kJiZ0aGlzLm1kKHQpLHRoaXMub2QuZm9yRWFjaCgodD0+dC5wdSgpLndyKCkua3QoKSkpfVhkKHQsaSl7Y29uc3Qgcz10Lk4oKS5wcmljZVNjYWxlSWQsZT12b2lkIDAhPT1zP3M6dGhpcy5pZigpO2kuc18odCxlKSxqKGUpfHx0LnZyKHQuTigpKX0KU2QodCl7Y29uc3QgaT10aGlzLnluLmxheW91dDtyZXR1cm4iZ3JhZGllbnQiPT09aS5iYWNrZ3JvdW5kLnR5cGU/MD09PXQ/aS5iYWNrZ3JvdW5kLnRvcENvbG9yOmkuYmFja2dyb3VuZC5ib3R0b21Db2xvcjppLmJhY2tncm91bmQuY29sb3J9UWQodCl7cmV0dXJuIXQuSF8oKSYmMD09PXQuQ2woKS5sZW5ndGgmJnRoaXMub2QubGVuZ3RoPjEmJih0aGlzLm9kLnNwbGljZSh0aGlzLmhmKHQpLDEpLHRoaXMuUGEoKSwhMCl9fWZ1bmN0aW9uIEFpKHQpe2lmKHQ+PTEpcmV0dXJuIDA7bGV0IGk9MDtmb3IoO2k8ODtpKyspe2NvbnN0IHM9TWF0aC5yb3VuZCh0KTtpZihNYXRoLmFicyhzLXQpPDFlLTgpcmV0dXJuIGk7dCo9MTB9cmV0dXJuIGl9ZnVuY3Rpb24gWmkodCl7cmV0dXJuIWcodCkmJiFiKHQpfWZ1bmN0aW9uIEhpKHQpe3JldHVybiBnKHQpfSFmdW5jdGlvbih0KXt0W3QuRGlzYWJsZWQ9MF09IkRpc2FibGVkIix0W3QuQ29udGludW91cz0xXT0iQ29udGludW91cyIsdFt0Lk9uRGF0YVVwZGF0ZT0yXT0iT25EYXRhVXBkYXRlIn0oT2l8fChPaT17fSkpLGZ1bmN0aW9uKHQpe3RbdC5MYXN0QmFyPTBdPSJMYXN0QmFyIix0W3QuTGFzdFZpc2libGU9MV09Ikxhc3RWaXNpYmxlIn0oS2l8fChLaT17fSkpLGZ1bmN0aW9uKHQpe3QuU29saWQ9InNvbGlkIix0LlZlcnRpY2FsR3JhZGllbnQ9ImdyYWRpZW50In0oVml8fChWaT17fSkpLGZ1bmN0aW9uKHQpe3RbdC5ZZWFyPTBdPSJZZWFyIix0W3QuTW9udGg9MV09Ik1vbnRoIix0W3QuRGF5T2ZNb250aD0yXT0iRGF5T2ZNb250aCIsdFt0LlRpbWU9M109IlRpbWUiLHRbdC5UaW1lV2l0aFNlY29uZHM9NF09IlRpbWVXaXRoU2Vjb25kcyJ9KCRpfHwoJGk9e30pKTtjb25zdCBHaT10PT50LmdldFVUQ0Z1bGxZZWFyKCk7Y2xhc3MgVWl7Y29uc3RydWN0b3IodD0ieXl5eS1NTS1kZCIsaT0iZGVmYXVsdCIpe3RoaXMuX2Y9dCx0aGlzLnVmPWl9Q3UodCl7cmV0dXJuIGZ1bmN0aW9uKHQsaSxzKXtyZXR1cm4gaS5yZXBsYWNlKC95eXl5L2csKHQ9PnR0KEdpKHQpLDQpKSh0KSkucmVwbGFjZSgveXkvZywodD0+dHQoR2kodCklMTAwLDIpKSh0KSkucmVwbGFjZSgvTU1NTS9nLCgodCxpKT0+bmV3IERhdGUodC5nZXRVVENGdWxsWWVhcigpLHQuZ2V0VVRDTW9udGgoKSwxKS50b0xvY2FsZVN0cmluZyhpLHttb250aDoibG9uZyJ9KSkodCxzKSkucmVwbGFjZSgvTU1NL2csKCh0LGkpPT5uZXcgRGF0ZSh0LmdldFVUQ0Z1bGxZZWFyKCksdC5nZXRVVENNb250aCgpLDEpLnRvTG9jYWxlU3RyaW5nKGkse21vbnRoOiJzaG9ydCJ9KSkodCxzKSkucmVwbGFjZSgvTU0vZywodD0+dHQoKHQ9PnQuZ2V0VVRDTW9udGgoKSsxKSh0KSwyKSkodCkpLnJlcGxhY2UoL2RkL2csKHQ9PnR0KCh0PT50LmdldFVUQ0RhdGUoKSkodCksMikpKHQpKX0odCx0aGlzLl9mLHRoaXMudWYpfX1jbGFzcyBZaXtjb25zdHJ1Y3Rvcih0KXt0aGlzLmNmPXR8fCIlaDolbTolcyJ9Q3UodCl7cmV0dXJuIHRoaXMuY2YucmVwbGFjZSgiJWgiLHR0KHQuZ2V0VVRDSG91cnMoKSwyKSkucmVwbGFjZSgiJW0iLHR0KHQuZ2V0VVRDTWludXRlcygpLDIpKS5yZXBsYWNlKCIlcyIsdHQodC5nZXRVVENTZWNvbmRzKCksMikpfX1jb25zdCBqaT17ZGY6Inl5eXktTU0tZGQiLGZmOiIlaDolbTolcyIscGY6IiAiLHZmOiJkZWZhdWx0In07Y2xhc3MgWGl7Y29uc3RydWN0b3IodD17fSl7Y29uc3QgaT17Li4uamksLi4udH07dGhpcy5tZj1uZXcgVWkoaS5kZixpLnZmKSx0aGlzLndmPW5ldyBZaShpLmZmKSx0aGlzLk1mPWkucGZ9Q3UodCl7cmV0dXJuYCR7dGhpcy5tZi5DdSh0KX0ke3RoaXMuTWZ9JHt0aGlzLndmLkN1KHQpfWB9fWZ1bmN0aW9uIEppKHQpe3JldHVybiA2MCp0KjYwKjFlM31mdW5jdGlvbiB0cyh0KXtyZXR1cm4gNjAqdCoxZTN9Y29uc3QgaXM9W3tnZjoxZTMsYmY6MTB9LHtnZjp0cygxKSxiZjoyMH0se2dmOnRzKDUpLGJmOjIxfSx7Z2Y6dHMoMzApLGJmOjIyfSx7Z2Y6SmkoMSksYmY6MzB9LHtnZjpKaSgzKSxiZjozMX0se2dmOkppKDYpLGJmOjMyfSx7Z2Y6SmkoMTIpLGJmOjMzfV07ZnVuY3Rpb24gc3ModCxpKXtpZih0LmdldFVUQ0Z1bGxZZWFyKCkhPT1pLmdldFVUQ0Z1bGxZZWFyKCkpcmV0dXJuIDcwO2lmKHQuZ2V0VVRDTW9udGgoKSE9PWkuZ2V0VVRDTW9udGgoKSlyZXR1cm4gNjA7aWYodC5nZXRVVENEYXRlKCkhPT1pLmdldFVUQ0RhdGUoKSlyZXR1cm4gNTA7Zm9yKGxldCBzPWlzLmxlbmd0aC0xO3M+PTA7LS1zKWlmKE1hdGguZmxvb3IoaS5nZXRUaW1lKCkvaXNbc10uZ2YpIT09TWF0aC5mbG9vcih0LmdldFRpbWUoKS9pc1tzXS5nZikpcmV0dXJuIGlzW3NdLmJmO3JldHVybiAwfWZ1bmN0aW9uIGVzKHQpe2xldCBpPXQ7aWYoYih0KSYmKGk9bnModCkpLCFaaShpKSl0aHJvdyBuZXcgRXJyb3IoInRpbWUgbXVzdCBiZSBvZiB0eXBlIEJ1c2luZXNzRGF5Iik7Y29uc3Qgcz1uZXcgRGF0ZShEYXRlLlVUQyhpLnllYXIsaS5tb250aC0xLGkuZGF5LDAsMCwwLDApKTtyZXR1cm57U2Y6TWF0aC5yb3VuZChzLmdldFRpbWUoKS8xZTMpLHhmOml9fWZ1bmN0aW9uIGhzKHQpe2lmKCFIaSh0KSl0aHJvdyBuZXcgRXJyb3IoInRpbWUgbXVzdCBiZSBvZiB0eXBlIGlzVVRDVGltZXN0YW1wIik7cmV0dXJue1NmOnR9fWZ1bmN0aW9uIG5zKHQpe2NvbnN0IGk9bmV3IERhdGUodCk7aWYoaXNOYU4oaS5nZXRUaW1lKCkpKXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkYXRlIHN0cmluZz0ke3R9LCBleHBlY3RlZCBmb3JtYXQ9eXl5eS1tbS1kZGApO3JldHVybntkYXk6aS5nZXRVVENEYXRlKCksbW9udGg6aS5nZXRVVENNb250aCgpKzEseWVhcjppLmdldFVUQ0Z1bGxZZWFyKCl9fWZ1bmN0aW9uIHJzKHQpe2IodC50aW1lKSYmKHQudGltZT1ucyh0LnRpbWUpKX1jbGFzcyBvc3tvcHRpb25zKCl7cmV0dXJuIHRoaXMueW59c2V0T3B0aW9ucyh0KXt0aGlzLnluPXQsdGhpcy51cGRhdGVGb3JtYXR0ZXIodC5sb2NhbGl6YXRpb24pfXByZXByb2Nlc3NEYXRhKHQpe0FycmF5LmlzQXJyYXkodCk/ZnVuY3Rpb24odCl7dC5mb3JFYWNoKHJzKX0odCk6cnModCl9CmNyZWF0ZUNvbnZlcnRlclRvSW50ZXJuYWxPYmoodCl7cmV0dXJuIGYoZnVuY3Rpb24odCl7cmV0dXJuIDA9PT10Lmxlbmd0aD9udWxsOlppKHRbMF0udGltZSl8fGIodFswXS50aW1lKT9lczpoc30odCkpfWtleSh0KXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIHQmJiJTZiJpbiB0P3QuU2Y6dGhpcy5rZXkodGhpcy5jb252ZXJ0SG9yekl0ZW1Ub0ludGVybmFsKHQpKX1jYWNoZUtleSh0KXtjb25zdCBpPXQ7cmV0dXJuIHZvaWQgMD09PWkueGY/bmV3IERhdGUoMWUzKmkuU2YpLmdldFRpbWUoKTpuZXcgRGF0ZShEYXRlLlVUQyhpLnhmLnllYXIsaS54Zi5tb250aC0xLGkueGYuZGF5KSkuZ2V0VGltZSgpfWNvbnZlcnRIb3J6SXRlbVRvSW50ZXJuYWwodCl7cmV0dXJuIEhpKGk9dCk/aHMoaSk6WmkoaSk/ZXMoaSk6ZXMobnMoaSkpO3ZhciBpfXVwZGF0ZUZvcm1hdHRlcih0KXtpZighdGhpcy55bilyZXR1cm47Y29uc3QgaT10LmRhdGVGb3JtYXQ7dGhpcy55bi50aW1lU2NhbGUudGltZVZpc2libGU/dGhpcy5DZj1uZXcgWGkoe2RmOmksZmY6dGhpcy55bi50aW1lU2NhbGUuc2Vjb25kc1Zpc2libGU/IiVoOiVtOiVzIjoiJWg6JW0iLHBmOiIgICAiLHZmOnQubG9jYWxlfSk6dGhpcy5DZj1uZXcgVWkoaSx0LmxvY2FsZSl9Zm9ybWF0SG9yekl0ZW0odCl7Y29uc3QgaT10O3JldHVybiB0aGlzLkNmLkN1KG5ldyBEYXRlKDFlMyppLlNmKSl9Zm9ybWF0VGlja21hcmsodCxpKXtjb25zdCBzPWZ1bmN0aW9uKHQsaSxzKXtzd2l0Y2godCl7Y2FzZSAwOmNhc2UgMTA6cmV0dXJuIGk/cz80OjM6MjtjYXNlIDIwOmNhc2UgMjE6Y2FzZSAyMjpjYXNlIDMwOmNhc2UgMzE6Y2FzZSAzMjpjYXNlIDMzOnJldHVybiBpPzM6MjtjYXNlIDUwOnJldHVybiAyO2Nhc2UgNjA6cmV0dXJuIDE7Y2FzZSA3MDpyZXR1cm4gMH19KHQud2VpZ2h0LHRoaXMueW4udGltZVNjYWxlLnRpbWVWaXNpYmxlLHRoaXMueW4udGltZVNjYWxlLnNlY29uZHNWaXNpYmxlKSxlPXRoaXMueW4udGltZVNjYWxlO2lmKHZvaWQgMCE9PWUudGlja01hcmtGb3JtYXR0ZXIpe2NvbnN0IGg9ZS50aWNrTWFya0Zvcm1hdHRlcih0Lm9yaWdpbmFsVGltZSxzLGkubG9jYWxlKTtpZihudWxsIT09aClyZXR1cm4gaH1yZXR1cm4gZnVuY3Rpb24odCxpLHMpe2NvbnN0IGU9e307c3dpdGNoKGkpe2Nhc2UgMDplLnllYXI9Im51bWVyaWMiO2JyZWFrO2Nhc2UgMTplLm1vbnRoPSJzaG9ydCI7YnJlYWs7Y2FzZSAyOmUuZGF5PSJudW1lcmljIjticmVhaztjYXNlIDM6ZS5ob3VyMTI9ITEsZS5ob3VyPSIyLWRpZ2l0IixlLm1pbnV0ZT0iMi1kaWdpdCI7YnJlYWs7Y2FzZSA0OmUuaG91cjEyPSExLGUuaG91cj0iMi1kaWdpdCIsZS5taW51dGU9IjItZGlnaXQiLGUuc2Vjb25kPSIyLWRpZ2l0In1jb25zdCBoPXZvaWQgMD09PXQueGY/bmV3IERhdGUoMWUzKnQuU2YpOm5ldyBEYXRlKERhdGUuVVRDKHQueGYueWVhcix0LnhmLm1vbnRoLTEsdC54Zi5kYXkpKTtyZXR1cm4gbmV3IERhdGUoaC5nZXRVVENGdWxsWWVhcigpLGguZ2V0VVRDTW9udGgoKSxoLmdldFVUQ0RhdGUoKSxoLmdldFVUQ0hvdXJzKCksaC5nZXRVVENNaW51dGVzKCksaC5nZXRVVENTZWNvbmRzKCksaC5nZXRVVENNaWxsaXNlY29uZHMoKSkudG9Mb2NhbGVTdHJpbmcocyxlKX0odC50aW1lLHMsaS5sb2NhbGUpfW1heFRpY2tNYXJrV2VpZ2h0KHQpe2xldCBpPXQucmVkdWNlKFdpLHRbMF0pLndlaWdodDtyZXR1cm4gaT4zMCYmaTw1MCYmKGk9MzApLGl9ZmlsbFdlaWdodHNGb3JQb2ludHModCxpKXshZnVuY3Rpb24odCxpPTApe2lmKDA9PT10Lmxlbmd0aClyZXR1cm47bGV0IHM9MD09PWk/bnVsbDp0W2ktMV0udGltZS5TZixlPW51bGwhPT1zP25ldyBEYXRlKDFlMypzKTpudWxsLGg9MDtmb3IobGV0IG49aTtuPHQubGVuZ3RoOysrbil7Y29uc3QgaT10W25dLHI9bmV3IERhdGUoMWUzKmkudGltZS5TZik7bnVsbCE9PWUmJihpLnRpbWVXZWlnaHQ9c3MocixlKSksaCs9aS50aW1lLlNmLShzfHxpLnRpbWUuU2YpLHM9aS50aW1lLlNmLGU9cn1pZigwPT09aSYmdC5sZW5ndGg+MSl7Y29uc3QgaT1NYXRoLmNlaWwoaC8odC5sZW5ndGgtMSkpLHM9bmV3IERhdGUoMWUzKih0WzBdLnRpbWUuU2YtaSkpO3RbMF0udGltZVdlaWdodD1zcyhuZXcgRGF0ZSgxZTMqdFswXS50aW1lLlNmKSxzKX19KHQsaSl9c3RhdGljIHlmKHQpe3JldHVybiBwKHtsb2NhbGl6YXRpb246e2RhdGVGb3JtYXQ6ImRkIE1NTSAneXkifX0sdD8/e30pfX1jb25zdCBscz0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdztmdW5jdGlvbiBhcygpe3JldHVybiEhbHMmJndpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkuaW5kZXhPZigiZmlyZWZveCIpPi0xfWZ1bmN0aW9uIHVzKCl7cmV0dXJuISFscyYmL2lQaG9uZXxpUGFkfGlQb2QvLnRlc3Qod2luZG93Lm5hdmlnYXRvci5wbGF0Zm9ybSl9ZnVuY3Rpb24gY3ModCxpKXtzd2l0Y2godCl7Y2FzZSJjdXN0b20iOnJldHVybiB2b2lkIDAhPT1pPyJjdXN0b20tb2JqZWN0Ijoic2VyaWVzIjtjYXNlInByaWNlLWxpbmUiOnJldHVybiJjdXN0b20tcHJpY2UtbGluZSI7Y2FzZSJtYXJrZXIiOnJldHVybiJzZXJpZXMtbWFya2VyIjtjYXNlInByaW1pdGl2ZSI6cmV0dXJuInByaW1pdGl2ZSI7ZGVmYXVsdDpyZXR1cm4ic2VyaWVzIn19ZnVuY3Rpb24gZnModCl7cmV0dXJuIHQrdCUyfWNsYXNzIGRze2NvbnN0cnVjdG9yKHQsaSxzKXt0aGlzLmtmPTAsdGhpcy5QZj1udWxsLHRoaXMuVGY9e190Ok51bWJlci5ORUdBVElWRV9JTkZJTklUWSx1dDpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFl9LHRoaXMuUmY9MCx0aGlzLkRmPW51bGwsdGhpcy5JZj17X3Q6TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLHV0Ok51bWJlci5QT1NJVElWRV9JTkZJTklUWX0sdGhpcy5WZj1udWxsLHRoaXMuQmY9ITEsdGhpcy5FZj1udWxsLHRoaXMuQWY9bnVsbCx0aGlzLkxmPSExLHRoaXMuemY9ITEsdGhpcy5PZj0hMSx0aGlzLk5mPW51bGwsdGhpcy5GZj1udWxsLHRoaXMuV2Y9bnVsbCx0aGlzLkhmPW51bGwsdGhpcy5VZj1udWxsLHRoaXMuJGY9bnVsbCx0aGlzLmpmPW51bGwsdGhpcy5xZj0wLAp0aGlzLllmPSExLHRoaXMuS2Y9ITEsdGhpcy5aZj0hMSx0aGlzLkdmPTAsdGhpcy5YZj1udWxsLHRoaXMuSmY9IXVzKCksdGhpcy5RZj10PT57dGhpcy50cCh0KX0sdGhpcy5pcD10PT57aWYodGhpcy5ucCh0KSl7Y29uc3QgaT10aGlzLnNwKHQpO2lmKCsrdGhpcy5SZix0aGlzLkRmJiZ0aGlzLlJmPjEpe2NvbnN0e2VwOnN9PXRoaXMucnAoZ3ModCksdGhpcy5JZik7czwzMCYmIXRoaXMuT2YmJnRoaXMuaHAoaSx0aGlzLmxwLmFwKSx0aGlzLm9wKCl9fWVsc2V7Y29uc3QgaT10aGlzLnNwKHQpO2lmKCsrdGhpcy5rZix0aGlzLlBmJiZ0aGlzLmtmPjEpe2NvbnN0e2VwOnN9PXRoaXMucnAoZ3ModCksdGhpcy5UZik7czw1JiYhdGhpcy56ZiYmdGhpcy5fcChpLHRoaXMubHAudXApLHRoaXMuY3AoKX19fSx0aGlzLmRwPXQsdGhpcy5scD1pLHRoaXMueW49cyx0aGlzLmZwKCl9bSgpe251bGwhPT10aGlzLk5mJiYodGhpcy5OZigpLHRoaXMuTmY9bnVsbCksbnVsbCE9PXRoaXMuRmYmJih0aGlzLkZmKCksdGhpcy5GZj1udWxsKSxudWxsIT09dGhpcy5IZiYmKHRoaXMuSGYoKSx0aGlzLkhmPW51bGwpLG51bGwhPT10aGlzLlVmJiYodGhpcy5VZigpLHRoaXMuVWY9bnVsbCksbnVsbCE9PXRoaXMuJGYmJih0aGlzLiRmKCksdGhpcy4kZj1udWxsKSxudWxsIT09dGhpcy5XZiYmKHRoaXMuV2YoKSx0aGlzLldmPW51bGwpLHRoaXMucHAoKSx0aGlzLmNwKCl9dnAodCl7dGhpcy5IZiYmdGhpcy5IZigpO2NvbnN0IGk9dGhpcy5tcC5iaW5kKHRoaXMpO2lmKHRoaXMuSGY9KCk9Pnt0aGlzLmRwLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsaSl9LHRoaXMuZHAuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixpKSx0aGlzLm5wKHQpKXJldHVybjtjb25zdCBzPXRoaXMuc3AodCk7dGhpcy5fcChzLHRoaXMubHAud3ApLHRoaXMuSmY9ITB9Y3AoKXtudWxsIT09dGhpcy5QZiYmY2xlYXJUaW1lb3V0KHRoaXMuUGYpLHRoaXMua2Y9MCx0aGlzLlBmPW51bGwsdGhpcy5UZj17X3Q6TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLHV0Ok51bWJlci5QT1NJVElWRV9JTkZJTklUWX19b3AoKXtudWxsIT09dGhpcy5EZiYmY2xlYXJUaW1lb3V0KHRoaXMuRGYpLHRoaXMuUmY9MCx0aGlzLkRmPW51bGwsdGhpcy5JZj17X3Q6TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLHV0Ok51bWJlci5QT1NJVElWRV9JTkZJTklUWX19bXAodCl7aWYodGhpcy5aZnx8bnVsbCE9PXRoaXMuQWYpcmV0dXJuO2lmKHRoaXMubnAodCkpcmV0dXJuO2NvbnN0IGk9dGhpcy5zcCh0KTt0aGlzLl9wKGksdGhpcy5scC5NcCksdGhpcy5KZj0hMH1ncCh0KXtjb25zdCBpPWJzKHQuY2hhbmdlZFRvdWNoZXMsZih0aGlzLlhmKSk7aWYobnVsbD09PWkpcmV0dXJuO2lmKHRoaXMuR2Y9dnModCksbnVsbCE9PXRoaXMuamYpcmV0dXJuO2lmKHRoaXMuS2YpcmV0dXJuO3RoaXMuWWY9ITA7Y29uc3Qgcz10aGlzLnJwKGdzKGkpLGYodGhpcy5BZikpLHticDplLFNwOmgsZXA6bn09cztpZih0aGlzLkxmfHwhKG48NSkpe2lmKCF0aGlzLkxmKXtjb25zdCB0PS41KmUsaT1oPj10JiYhdGhpcy55bi54cCgpLHM9dD5oJiYhdGhpcy55bi5DcCgpO2l8fHN8fCh0aGlzLktmPSEwKSx0aGlzLkxmPSEwLHRoaXMuT2Y9ITAsdGhpcy5wcCgpLHRoaXMub3AoKX1pZighdGhpcy5LZil7Y29uc3Qgcz10aGlzLnNwKHQsaSk7dGhpcy5ocChzLHRoaXMubHAueXApLHBzKHQpfX19a3AodCl7aWYoMCE9PXQuYnV0dG9uKXJldHVybjtjb25zdCBpPXRoaXMucnAoZ3ModCksZih0aGlzLkVmKSkse2VwOnN9PWk7aWYocz49NSYmKHRoaXMuemY9ITAsdGhpcy5jcCgpKSx0aGlzLnpmKXtjb25zdCBpPXRoaXMuc3AodCk7dGhpcy5fcChpLHRoaXMubHAuUHApfX1ycCh0LGkpe2NvbnN0IHM9TWF0aC5hYnMoaS5fdC10Ll90KSxlPU1hdGguYWJzKGkudXQtdC51dCk7cmV0dXJue2JwOnMsU3A6ZSxlcDpzK2V9fVRwKHQpe2xldCBpPWJzKHQuY2hhbmdlZFRvdWNoZXMsZih0aGlzLlhmKSk7aWYobnVsbD09PWkmJjA9PT10LnRvdWNoZXMubGVuZ3RoJiYoaT10LmNoYW5nZWRUb3VjaGVzWzBdKSxudWxsPT09aSlyZXR1cm47dGhpcy5YZj1udWxsLHRoaXMuR2Y9dnModCksdGhpcy5wcCgpLHRoaXMuQWY9bnVsbCx0aGlzLiRmJiYodGhpcy4kZigpLHRoaXMuJGY9bnVsbCk7Y29uc3Qgcz10aGlzLnNwKHQsaSk7aWYodGhpcy5ocChzLHRoaXMubHAuUnApLCsrdGhpcy5SZix0aGlzLkRmJiZ0aGlzLlJmPjEpe2NvbnN0e2VwOnR9PXRoaXMucnAoZ3MoaSksdGhpcy5JZik7dDwzMCYmIXRoaXMuT2YmJnRoaXMuaHAocyx0aGlzLmxwLmFwKSx0aGlzLm9wKCl9ZWxzZSB0aGlzLk9mfHwodGhpcy5ocChzLHRoaXMubHAuRHApLHRoaXMubHAuRHAmJnBzKHQpKTswPT09dGhpcy5SZiYmcHModCksMD09PXQudG91Y2hlcy5sZW5ndGgmJnRoaXMuQmYmJih0aGlzLkJmPSExLHBzKHQpKX10cCh0KXtpZigwIT09dC5idXR0b24pcmV0dXJuO2NvbnN0IGk9dGhpcy5zcCh0KTtpZih0aGlzLkVmPW51bGwsdGhpcy5aZj0hMSx0aGlzLlVmJiYodGhpcy5VZigpLHRoaXMuVWY9bnVsbCksYXMoKSYmdGhpcy5kcC5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIix0aGlzLlFmKSwhdGhpcy5ucCh0KSlpZih0aGlzLl9wKGksdGhpcy5scC5JcCksKyt0aGlzLmtmLHRoaXMuUGYmJnRoaXMua2Y+MSl7Y29uc3R7ZXA6c309dGhpcy5ycChncyh0KSx0aGlzLlRmKTtzPDUmJiF0aGlzLnpmJiZ0aGlzLl9wKGksdGhpcy5scC51cCksdGhpcy5jcCgpfWVsc2UgdGhpcy56Znx8dGhpcy5fcChpLHRoaXMubHAuVnApfXBwKCl7bnVsbCE9PXRoaXMuVmYmJihjbGVhclRpbWVvdXQodGhpcy5WZiksdGhpcy5WZj1udWxsKX1CcCh0KXtpZihudWxsIT09dGhpcy5YZilyZXR1cm47Y29uc3QgaT10LmNoYW5nZWRUb3VjaGVzWzBdO3RoaXMuWGY9aS5pZGVudGlmaWVyLHRoaXMuR2Y9dnModCk7Y29uc3Qgcz10aGlzLmRwLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O3RoaXMuT2Y9ITEsdGhpcy5MZj0hMSx0aGlzLktmPSExLHRoaXMuQWY9Z3MoaSksCnRoaXMuJGYmJih0aGlzLiRmKCksdGhpcy4kZj1udWxsKTt7Y29uc3QgaT10aGlzLmdwLmJpbmQodGhpcyksZT10aGlzLlRwLmJpbmQodGhpcyk7dGhpcy4kZj0oKT0+e3MucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixpKSxzLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixlKX0scy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGkse3Bhc3NpdmU6ITF9KSxzLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixlLHtwYXNzaXZlOiExfSksdGhpcy5wcCgpLHRoaXMuVmY9c2V0VGltZW91dCh0aGlzLkVwLmJpbmQodGhpcyx0KSwyNDApfWNvbnN0IGU9dGhpcy5zcCh0LGkpO3RoaXMuaHAoZSx0aGlzLmxwLkFwKSx0aGlzLkRmfHwodGhpcy5SZj0wLHRoaXMuRGY9c2V0VGltZW91dCh0aGlzLm9wLmJpbmQodGhpcyksNTAwKSx0aGlzLklmPWdzKGkpKX1McCh0KXtpZigwIT09dC5idXR0b24pcmV0dXJuO2NvbnN0IGk9dGhpcy5kcC5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudDthcygpJiZpLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuUWYpLHRoaXMuemY9ITEsdGhpcy5FZj1ncyh0KSx0aGlzLlVmJiYodGhpcy5VZigpLHRoaXMuVWY9bnVsbCk7e2NvbnN0IHQ9dGhpcy5rcC5iaW5kKHRoaXMpLHM9dGhpcy50cC5iaW5kKHRoaXMpO3RoaXMuVWY9KCk9PntpLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdCksaS5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIixzKX0saS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHQpLGkuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIscyl9aWYodGhpcy5aZj0hMCx0aGlzLm5wKHQpKXJldHVybjtjb25zdCBzPXRoaXMuc3AodCk7dGhpcy5fcChzLHRoaXMubHAuenApLHRoaXMuUGZ8fCh0aGlzLmtmPTAsdGhpcy5QZj1zZXRUaW1lb3V0KHRoaXMuY3AuYmluZCh0aGlzKSw1MDApLHRoaXMuVGY9Z3ModCkpfWZwKCl7dGhpcy5kcC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIix0aGlzLnZwLmJpbmQodGhpcykpLHRoaXMuZHAuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hjYW5jZWwiLHRoaXMucHAuYmluZCh0aGlzKSk7e2NvbnN0IHQ9dGhpcy5kcC5vd25lckRvY3VtZW50LGk9dD0+e3RoaXMubHAuT3AmJih0LmNvbXBvc2VkJiZ0aGlzLmRwLmNvbnRhaW5zKHQuY29tcG9zZWRQYXRoKClbMF0pfHx0LnRhcmdldCYmdGhpcy5kcC5jb250YWlucyh0LnRhcmdldCl8fHRoaXMubHAuT3AoKSl9O3RoaXMuRmY9KCk9Pnt0LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGkpfSx0aGlzLk5mPSgpPT57dC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLGkpfSx0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsaSksdC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixpLHtwYXNzaXZlOiEwfSl9dXMoKSYmKHRoaXMuV2Y9KCk9Pnt0aGlzLmRwLnJlbW92ZUV2ZW50TGlzdGVuZXIoImRibGNsaWNrIix0aGlzLmlwKX0sdGhpcy5kcC5hZGRFdmVudExpc3RlbmVyKCJkYmxjbGljayIsdGhpcy5pcCkpLHRoaXMuZHAuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdGhpcy5OcC5iaW5kKHRoaXMpKSx0aGlzLmRwLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHRoaXMuQnAuYmluZCh0aGlzKSx7cGFzc2l2ZTohMH0pLGZ1bmN0aW9uKHQpe2xzJiZ2b2lkIDAhPT13aW5kb3cuY2hyb21lJiZ0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsKHQ9PntpZigxPT09dC5idXR0b24pcmV0dXJuIHQucHJldmVudERlZmF1bHQoKSwhMX0pKX0odGhpcy5kcCksdGhpcy5kcC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLHRoaXMuTHAuYmluZCh0aGlzKSksdGhpcy5GcCgpLHRoaXMuZHAuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIiwoKCk9Pnt9KSx7cGFzc2l2ZTohMX0pfUZwKCl7dm9pZCAwPT09dGhpcy5scC5XcCYmdm9pZCAwPT09dGhpcy5scC5IcCYmdm9pZCAwPT09dGhpcy5scC5VcHx8KHRoaXMuZHAuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsKHQ9PnRoaXMuJHAodC50b3VjaGVzKSkse3Bhc3NpdmU6ITB9KSx0aGlzLmRwLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsKHQ9PntpZigyPT09dC50b3VjaGVzLmxlbmd0aCYmbnVsbCE9PXRoaXMuamYmJnZvaWQgMCE9PXRoaXMubHAuSHApe2NvbnN0IGk9bXModC50b3VjaGVzWzBdLHQudG91Y2hlc1sxXSkvdGhpcy5xZjt0aGlzLmxwLkhwKHRoaXMuamYsaSkscHModCl9fSkse3Bhc3NpdmU6ITF9KSx0aGlzLmRwLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIiwodD0+e3RoaXMuJHAodC50b3VjaGVzKX0pKSl9JHAodCl7MT09PXQubGVuZ3RoJiYodGhpcy5ZZj0hMSksMiE9PXQubGVuZ3RofHx0aGlzLllmfHx0aGlzLkJmP3RoaXMuanAoKTp0aGlzLnFwKHQpfXFwKHQpe2NvbnN0IGk9dGhpcy5kcC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKXx8e2xlZnQ6MCx0b3A6MH07dGhpcy5qZj17X3Q6KHRbMF0uY2xpZW50WC1pLmxlZnQrKHRbMV0uY2xpZW50WC1pLmxlZnQpKS8yLHV0Oih0WzBdLmNsaWVudFktaS50b3ArKHRbMV0uY2xpZW50WS1pLnRvcCkpLzJ9LHRoaXMucWY9bXModFswXSx0WzFdKSx2b2lkIDAhPT10aGlzLmxwLldwJiZ0aGlzLmxwLldwKCksdGhpcy5wcCgpfWpwKCl7bnVsbCE9PXRoaXMuamYmJih0aGlzLmpmPW51bGwsdm9pZCAwIT09dGhpcy5scC5VcCYmdGhpcy5scC5VcCgpKX1OcCh0KXtpZih0aGlzLkhmJiZ0aGlzLkhmKCksdGhpcy5ucCh0KSlyZXR1cm47aWYoIXRoaXMuSmYpcmV0dXJuO2NvbnN0IGk9dGhpcy5zcCh0KTt0aGlzLl9wKGksdGhpcy5scC5ZcCksdGhpcy5KZj0hdXMoKX1FcCh0KXtjb25zdCBpPWJzKHQudG91Y2hlcyxmKHRoaXMuWGYpKTtpZihudWxsPT09aSlyZXR1cm47Y29uc3Qgcz10aGlzLnNwKHQsaSk7dGhpcy5ocChzLHRoaXMubHAuS3ApLHRoaXMuT2Y9ITAsdGhpcy5CZj0hMH1ucCh0KXsKcmV0dXJuIHQuc291cmNlQ2FwYWJpbGl0aWVzJiZ2b2lkIDAhPT10LnNvdXJjZUNhcGFiaWxpdGllcy5maXJlc1RvdWNoRXZlbnRzP3Quc291cmNlQ2FwYWJpbGl0aWVzLmZpcmVzVG91Y2hFdmVudHM6dnModCk8dGhpcy5HZis1MDB9aHAodCxpKXtpJiZpLmNhbGwodGhpcy5scCx0KX1fcCh0LGkpe2kmJmkuY2FsbCh0aGlzLmxwLHQpfXNwKHQsaSl7Y29uc3Qgcz1pfHx0LGU9dGhpcy5kcC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKXx8e2xlZnQ6MCx0b3A6MH07cmV0dXJue2NsaWVudFg6cy5jbGllbnRYLGNsaWVudFk6cy5jbGllbnRZLHBhZ2VYOnMucGFnZVgscGFnZVk6cy5wYWdlWSxzY3JlZW5YOnMuc2NyZWVuWCxzY3JlZW5ZOnMuc2NyZWVuWSxsb2NhbFg6cy5jbGllbnRYLWUubGVmdCxsb2NhbFk6cy5jbGllbnRZLWUudG9wLGN0cmxLZXk6dC5jdHJsS2V5LGFsdEtleTp0LmFsdEtleSxzaGlmdEtleTp0LnNoaWZ0S2V5LG1ldGFLZXk6dC5tZXRhS2V5LFpwOiF0LnR5cGUuc3RhcnRzV2l0aCgibW91c2UiKSYmImNvbnRleHRtZW51IiE9PXQudHlwZSYmImNsaWNrIiE9PXQudHlwZSxHcDp0LnR5cGUsWHA6cy50YXJnZXQsZ3U6dC52aWV3LEpwOigpPT57InRvdWNoc3RhcnQiIT09dC50eXBlJiZwcyh0KX19fX1mdW5jdGlvbiBtcyh0LGkpe2NvbnN0IHM9dC5jbGllbnRYLWkuY2xpZW50WCxlPXQuY2xpZW50WS1pLmNsaWVudFk7cmV0dXJuIE1hdGguc3FydChzKnMrZSplKX1mdW5jdGlvbiBwcyh0KXt0LmNhbmNlbGFibGUmJnQucHJldmVudERlZmF1bHQoKX1mdW5jdGlvbiBncyh0KXtyZXR1cm57X3Q6dC5wYWdlWCx1dDp0LnBhZ2VZfX1mdW5jdGlvbiB2cyh0KXtyZXR1cm4gdC50aW1lU3RhbXB8fHBlcmZvcm1hbmNlLm5vdygpfWZ1bmN0aW9uIGJzKHQsaSl7Zm9yKGxldCBzPTA7czx0Lmxlbmd0aDsrK3MpaWYodFtzXS5pZGVudGlmaWVyPT09aSlyZXR1cm4gdFtzXTtyZXR1cm4gbnVsbH1jbGFzcyB3c3tjb25zdHJ1Y3Rvcih0LGkscyl7dGhpcy5RcD1udWxsLHRoaXMudHY9bnVsbCx0aGlzLml2PSEwLHRoaXMubnY9bnVsbCx0aGlzLnN2PXQsdGhpcy5ldj10LnJ2KClbaV0sdGhpcy5odj10LnJ2KClbc10sdGhpcy5hdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ciIpLHRoaXMuYXYuc3R5bGUuaGVpZ2h0PSIxcHgiLHRoaXMubHY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKSx0aGlzLmx2LnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSIsdGhpcy5sdi5zdHlsZS5wYWRkaW5nPSIwIix0aGlzLmx2LnN0eWxlLm1hcmdpbj0iMCIsdGhpcy5sdi5zZXRBdHRyaWJ1dGUoImNvbHNwYW4iLCIzIiksdGhpcy5vdigpLHRoaXMuYXYuYXBwZW5kQ2hpbGQodGhpcy5sdiksdGhpcy5pdj10aGlzLnN2Lk4oKS5sYXlvdXQucGFuZXMuZW5hYmxlUmVzaXplLHRoaXMuaXY/dGhpcy5fdigpOih0aGlzLlFwPW51bGwsdGhpcy50dj1udWxsKX1tKCl7bnVsbCE9PXRoaXMudHYmJnRoaXMudHYubSgpfXV2KCl7cmV0dXJuIHRoaXMuYXZ9Y3YoKXtyZXR1cm4gZS5zaXplKHt3aWR0aDp0aGlzLmV2LmN2KCkud2lkdGgsaGVpZ2h0OjF9KX1kdigpe3JldHVybiBlLnNpemUoe3dpZHRoOnRoaXMuZXYuZHYoKS53aWR0aCxoZWlnaHQ6MSp3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb30pfWZ2KHQsaSxzKXtjb25zdCBlPXRoaXMuZHYoKTt0LmZpbGxTdHlsZT10aGlzLnN2Lk4oKS5sYXlvdXQucGFuZXMuc2VwYXJhdG9yQ29sb3IsdC5maWxsUmVjdChpLHMsZS53aWR0aCxlLmhlaWdodCl9a3QoKXt0aGlzLm92KCksdGhpcy5zdi5OKCkubGF5b3V0LnBhbmVzLmVuYWJsZVJlc2l6ZSE9PXRoaXMuaXYmJih0aGlzLml2PXRoaXMuc3YuTigpLmxheW91dC5wYW5lcy5lbmFibGVSZXNpemUsdGhpcy5pdj90aGlzLl92KCk6KG51bGwhPT10aGlzLlFwJiYodGhpcy5sdi5yZW1vdmVDaGlsZCh0aGlzLlFwLnB2KSx0aGlzLmx2LnJlbW92ZUNoaWxkKHRoaXMuUXAudnYpLHRoaXMuUXA9bnVsbCksbnVsbCE9PXRoaXMudHYmJih0aGlzLnR2Lm0oKSx0aGlzLnR2PW51bGwpKSl9X3YoKXtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGk9dC5zdHlsZTtpLnBvc2l0aW9uPSJmaXhlZCIsaS5kaXNwbGF5PSJub25lIixpLnpJbmRleD0iNDkiLGkudG9wPSIwIixpLmxlZnQ9IjAiLGkud2lkdGg9IjEwMCUiLGkuaGVpZ2h0PSIxMDAlIixpLmN1cnNvcj0icm93LXJlc2l6ZSIsdGhpcy5sdi5hcHBlbmRDaGlsZCh0KTtjb25zdCBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGU9cy5zdHlsZTtlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsZS56SW5kZXg9IjUwIixlLnRvcD0iLTRweCIsZS5oZWlnaHQ9IjlweCIsZS53aWR0aD0iMTAwJSIsZS5iYWNrZ3JvdW5kQ29sb3I9IiIsZS5jdXJzb3I9InJvdy1yZXNpemUiLHRoaXMubHYuYXBwZW5kQ2hpbGQocyk7Y29uc3QgaD17d3A6dGhpcy5tdi5iaW5kKHRoaXMpLFlwOnRoaXMud3YuYmluZCh0aGlzKSx6cDp0aGlzLk12LmJpbmQodGhpcyksQXA6dGhpcy5Ndi5iaW5kKHRoaXMpLFBwOnRoaXMuZ3YuYmluZCh0aGlzKSx5cDp0aGlzLmd2LmJpbmQodGhpcyksSXA6dGhpcy5idi5iaW5kKHRoaXMpLFJwOnRoaXMuYnYuYmluZCh0aGlzKX07dGhpcy50dj1uZXcgZHMocyxoLHt4cDooKT0+ITEsQ3A6KCk9PiEwfSksdGhpcy5RcD17dnY6cyxwdjp0fX1vdigpe3RoaXMubHYuc3R5bGUuYmFja2dyb3VuZD10aGlzLnN2Lk4oKS5sYXlvdXQucGFuZXMuc2VwYXJhdG9yQ29sb3J9bXYodCl7bnVsbCE9PXRoaXMuUXAmJih0aGlzLlFwLnZ2LnN0eWxlLmJhY2tncm91bmRDb2xvcj10aGlzLnN2Lk4oKS5sYXlvdXQucGFuZXMuc2VwYXJhdG9ySG92ZXJDb2xvcil9d3YodCl7bnVsbCE9PXRoaXMuUXAmJm51bGw9PT10aGlzLm52JiYodGhpcy5RcC52di5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I9IiIpfU12KHQpe2lmKG51bGw9PT10aGlzLlFwKXJldHVybjtjb25zdCBpPXRoaXMuZXYuU3YoKS56XygpK3RoaXMuaHYuU3YoKS56XygpLHM9aS8odGhpcy5ldi5jdigpLmhlaWdodCt0aGlzLmh2LmN2KCkuaGVpZ2h0KSxlPTMwKnM7aTw9MiplfHwodGhpcy5udj17eHY6dC5wYWdlWSwKQ3Y6dGhpcy5ldi5TdigpLnpfKCkseXY6aS1lLGt2OmksUHY6cyxUdjplfSx0aGlzLlFwLnB2LnN0eWxlLmRpc3BsYXk9ImJsb2NrIil9Z3YodCl7Y29uc3QgaT10aGlzLm52O2lmKG51bGw9PT1pKXJldHVybjtjb25zdCBzPSh0LnBhZ2VZLWkueHYpKmkuUHYsZT1paShpLkN2K3MsaS5UdixpLnl2KTt0aGlzLmV2LlN2KCkuT18oZSksdGhpcy5odi5TdigpLk9fKGkua3YtZSksdGhpcy5zdi5RdCgpLlBhKCl9YnYodCl7bnVsbCE9PXRoaXMubnYmJm51bGwhPT10aGlzLlFwJiYodGhpcy5udj1udWxsLHRoaXMuUXAucHYuc3R5bGUuZGlzcGxheT0ibm9uZSIpfX1mdW5jdGlvbiBNcyh0LGkpe3JldHVybiB0LlJ2LWkuUnZ9ZnVuY3Rpb24geXModCxpLHMpe2NvbnN0IGU9KHQuUnYtaS5SdikvKHQud3QtaS53dCk7cmV0dXJuIE1hdGguc2lnbihlKSpNYXRoLm1pbihNYXRoLmFicyhlKSxzKX1jbGFzcyBTc3tjb25zdHJ1Y3Rvcih0LGkscyxlKXt0aGlzLkR2PW51bGwsdGhpcy5Jdj1udWxsLHRoaXMuVnY9bnVsbCx0aGlzLkJ2PW51bGwsdGhpcy5Fdj1udWxsLHRoaXMuQXY9MCx0aGlzLkx2PTAsdGhpcy56dj10LHRoaXMuT3Y9aSx0aGlzLk52PXMsdGhpcy5rcz1lfUZ2KHQsaSl7aWYobnVsbCE9PXRoaXMuRHYpe2lmKHRoaXMuRHYud3Q9PT1pKXJldHVybiB2b2lkKHRoaXMuRHYuUnY9dCk7aWYoTWF0aC5hYnModGhpcy5Edi5Sdi10KTx0aGlzLmtzKXJldHVybn10aGlzLkJ2PXRoaXMuVnYsdGhpcy5Wdj10aGlzLkl2LHRoaXMuSXY9dGhpcy5Edix0aGlzLkR2PXt3dDppLFJ2OnR9fW1lKHQsaSl7aWYobnVsbD09PXRoaXMuRHZ8fG51bGw9PT10aGlzLkl2KXJldHVybjtpZihpLXRoaXMuRHYud3Q+NTApcmV0dXJuO2xldCBzPTA7Y29uc3QgZT15cyh0aGlzLkR2LHRoaXMuSXYsdGhpcy5PdiksaD1Ncyh0aGlzLkR2LHRoaXMuSXYpLG49W2VdLHI9W2hdO2lmKHMrPWgsbnVsbCE9PXRoaXMuVnYpe2NvbnN0IHQ9eXModGhpcy5Jdix0aGlzLlZ2LHRoaXMuT3YpO2lmKE1hdGguc2lnbih0KT09PU1hdGguc2lnbihlKSl7Y29uc3QgaT1Ncyh0aGlzLkl2LHRoaXMuVnYpO2lmKG4ucHVzaCh0KSxyLnB1c2goaSkscys9aSxudWxsIT09dGhpcy5Cdil7Y29uc3QgdD15cyh0aGlzLlZ2LHRoaXMuQnYsdGhpcy5Pdik7aWYoTWF0aC5zaWduKHQpPT09TWF0aC5zaWduKGUpKXtjb25zdCBpPU1zKHRoaXMuVnYsdGhpcy5Cdik7bi5wdXNoKHQpLHIucHVzaChpKSxzKz1pfX19fWxldCBvPTA7Zm9yKGxldCB0PTA7dDxuLmxlbmd0aDsrK3Qpbys9clt0XS9zKm5bdF07TWF0aC5hYnMobyk8dGhpcy56dnx8KHRoaXMuRXY9e1J2OnQsd3Q6aX0sdGhpcy5Mdj1vLHRoaXMuQXY9ZnVuY3Rpb24odCxpKXtjb25zdCBzPU1hdGgubG9nKGkpO3JldHVybiBNYXRoLmxvZygxKnMvLXQpL3N9KE1hdGguYWJzKG8pLHRoaXMuTnYpKX1xYyh0KXtjb25zdCBpPWYodGhpcy5Fdikscz10LWkud3Q7cmV0dXJuIGkuUnYrdGhpcy5MdiooTWF0aC5wb3codGhpcy5OdixzKS0xKS9NYXRoLmxvZyh0aGlzLk52KX1qYyh0KXtyZXR1cm4gbnVsbD09PXRoaXMuRXZ8fHRoaXMuV3YodCk9PT10aGlzLkF2fVd2KHQpe2NvbnN0IGk9dC1mKHRoaXMuRXYpLnd0O3JldHVybiBNYXRoLm1pbihpLHRoaXMuQXYpfX1jbGFzcyB4c3tjb25zdHJ1Y3Rvcih0LGkpe3RoaXMuSHY9dm9pZCAwLHRoaXMuVXY9dm9pZCAwLHRoaXMuJHY9dm9pZCAwLHRoaXMudm49ITEsdGhpcy5qdj10LHRoaXMucXY9aSx0aGlzLll2KCl9a3QoKXt0aGlzLll2KCl9S3YoKXt0aGlzLkh2JiZ0aGlzLmp2LnJlbW92ZUNoaWxkKHRoaXMuSHYpLHRoaXMuVXYmJnRoaXMuanYucmVtb3ZlQ2hpbGQodGhpcy5VdiksdGhpcy5Idj12b2lkIDAsdGhpcy5Vdj12b2lkIDB9WnYoKXtyZXR1cm4gdGhpcy52biE9PXRoaXMuR3YoKXx8dGhpcy4kdiE9PXRoaXMuWHYoKX1Ydigpe3JldHVybiB0aGlzLnF2LlF0KCkuWGkoKS5KKHRoaXMucXYuTigpLmxheW91dC50ZXh0Q29sb3IpPjE2MD8iZGFyayI6ImxpZ2h0In1Hdigpe3JldHVybiB0aGlzLnF2Lk4oKS5sYXlvdXQuYXR0cmlidXRpb25Mb2dvfUp2KCl7Y29uc3QgdD1uZXcgVVJMKGxvY2F0aW9uLmhyZWYpO3JldHVybiB0Lmhvc3RuYW1lPyImdXRtX3NvdXJjZT0iK3QuaG9zdG5hbWUrdC5wYXRobmFtZToiIn1Zdigpe3RoaXMuWnYoKSYmKHRoaXMuS3YoKSx0aGlzLnZuPXRoaXMuR3YoKSx0aGlzLnZuJiYodGhpcy4kdj10aGlzLlh2KCksdGhpcy5Vdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpLHRoaXMuVXYuaW5uZXJUZXh0PSJhI3R2LWF0dHItbG9nb3stLWZpbGw6IzEzMTcyMjstLXN0cm9rZTojZmZmO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MTBweDtib3R0b206MTBweDtoZWlnaHQ6MTlweDt3aWR0aDozNXB4O21hcmdpbjowO3BhZGRpbmc6MDtib3JkZXI6MDt6LWluZGV4OjM7fWEjdHYtYXR0ci1sb2dvW2RhdGEtZGFya117LS1maWxsOiNEMUQ0REM7LS1zdHJva2U6IzEzMTcyMjt9Iix0aGlzLkh2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKSx0aGlzLkh2LmhyZWY9YGh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LmNvbS8/dXRtX21lZGl1bT1sd2MtbGluayZ1dG1fY2FtcGFpZ249bHdjLWNoYXJ0JHt0aGlzLkp2KCl9YCx0aGlzLkh2LnRpdGxlPSJDaGFydGluZyBieSBUcmFkaW5nVmlldyIsdGhpcy5Idi5pZD0idHYtYXR0ci1sb2dvIix0aGlzLkh2LnRhcmdldD0iX2JsYW5rIiwKdGhpcy5Idi5pbm5lckhUTUw9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzUiIGhlaWdodD0iMTkiIGZpbGw9Im5vbmUiPjxnIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1wYXRoPSJ1cmwoI2EpIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGZpbGw9InZhcigtLXN0cm9rZSkiIGQ9Ik0yIDBIMHYxMGg2djloMjEuNGwuNS0xLjMgNi0xNSAxLTIuN0gyMy43bC0uNSAxLjMtLjIuNmE1IDUgMCAwIDAtNy0uOVYwSDJabTIwIDE3aDRsNS4yLTEzIC44LTJoLTdsLTEgMi41LS4yLjUtMS41IDMuOC0uMy43VjE3Wm0tLjgtMTBhMyAzIDAgMCAwIC43LTIuN0EzIDMgMCAxIDAgMTYuOCA3aDQuNFpNMTQgN1YySDJ2Nmg2djloNFY3aDJaIi8+PHBhdGggZmlsbD0idmFyKC0tZmlsbCkiIGQ9Ik0xNCAySDJ2Nmg2djloNlYyWm0xMiAxNWgtN2w2LTE1aDdsLTYgMTVabS03LTlhMyAzIDAgMSAwIDAtNiAzIDMgMCAwIDAgMCA2WiIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGZpbGw9InZhcigtLXN0cm9rZSkiIGQ9Ik0wIDBoMzV2MTlIMHoiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4nLHRoaXMuSHYudG9nZ2xlQXR0cmlidXRlKCJkYXRhLWRhcmsiLCJkYXJrIj09PXRoaXMuJHYpLHRoaXMuanYuYXBwZW5kQ2hpbGQodGhpcy5VdiksdGhpcy5qdi5hcHBlbmRDaGlsZCh0aGlzLkh2KSkpfX1mdW5jdGlvbiBfcyh0LGkpe2NvbnN0IHM9Zih0Lm93bmVyRG9jdW1lbnQpLmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpO3QuYXBwZW5kQ2hpbGQocyk7Y29uc3QgaD0oMCxlLmJpbmRDYW52YXNFbGVtZW50Qml0bWFwU2l6ZVRvKShzLHt0eXBlOiJkZXZpY2UtcGl4ZWwtY29udGVudC1ib3giLG9wdGlvbnM6e2FsbG93UmVzaXplT2JzZXJ2ZXI6ITB9LHRyYW5zZm9ybToodCxpKT0+KHt3aWR0aDpNYXRoLm1heCh0LndpZHRoLGkud2lkdGgpLGhlaWdodDpNYXRoLm1heCh0LmhlaWdodCxpLmhlaWdodCl9KX0pO3JldHVybiBoLnJlc2l6ZUNhbnZhc0VsZW1lbnQoaSksaH1mdW5jdGlvbiBDcyh0KXt0LndpZHRoPTEsdC5oZWlnaHQ9MSx0LmdldENvbnRleHQoIjJkIik/LmNsZWFyUmVjdCgwLDAsMSwxKX1mdW5jdGlvbiBrcyh0LGkscyxlKXt0LnFoJiZ0LnFoKGkscyxlKX1mdW5jdGlvbiBFcyh0LGkscyxlKXt0LnN0KGkscyxlKX1mdW5jdGlvbiBOcyh0LGkscyxlKXtjb25zdCBoPXQocyxlKTtmb3IoY29uc3QgdCBvZiBoKXtjb25zdCBzPXQuVHQoZSk7bnVsbCE9PXMmJmkocyl9fWZ1bmN0aW9uIFRzKHQsaSl7cmV0dXJuIHM9PmZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDAhPT10LkZ0fShzKT8ocy5GdCgpPy5jbCgpPz8iIikhPT1pP1tdOnMuR2E/Lih0KT8/W106W119ZnVuY3Rpb24gUnModCxpLHMsZSl7aWYoIXQubGVuZ3RoKXJldHVybjtsZXQgaD0wO2NvbnN0IG49dFswXS4kdChlLCEwKTtsZXQgcj0xPT09aT9zLzItKHRbMF0uSGkoKS1uLzIpOnRbMF0uSGkoKS1uLzItcy8yO3I9TWF0aC5tYXgoMCxyKTtmb3IobGV0IG49MTtuPHQubGVuZ3RoO24rKyl7Y29uc3Qgbz10W25dLGw9dFtuLTFdLGE9bC4kdChlLCExKSx1PW8uSGkoKSxjPWwuSGkoKTtpZigxPT09aT91PmMtYTp1PGMrYSl7Y29uc3QgZT1jLWEqaTtvLlVpKGUpO2NvbnN0IG49ZS1pKmEvMjtpZigoMT09PWk/bjwwOm4+cykmJnI+MCl7Y29uc3QgZT0xPT09aT8tMS1uOm4tcyxvPU1hdGgubWluKGUscik7Zm9yKGxldCBzPWg7czx0Lmxlbmd0aDtzKyspdFtzXS5VaSh0W3NdLkhpKCkraSpvKTtyLT1vfX1lbHNlIGg9bixyPTE9PT1pP2MtYS11OnUtKGMrYSl9fWNsYXNzIFBze2NvbnN0cnVjdG9yKHQsaSxzLGgpe3RoaXMuS2k9bnVsbCx0aGlzLlF2PW51bGwsdGhpcy50bT0hMSx0aGlzLmltPW5ldyBudCgyMDApLHRoaXMubm09bnVsbCx0aGlzLnNtPTAsdGhpcy5ybT0hMSx0aGlzLmhtPSgpPT57dGhpcy5ybXx8dGhpcy55dC5hbSgpLlF0KCkubXIoKX0sdGhpcy5sbT0oKT0+e3RoaXMucm18fHRoaXMueXQuYW0oKS5RdCgpLm1yKCl9LHRoaXMueXQ9dCx0aGlzLnluPWksdGhpcy5rbz1pLmxheW91dCx0aGlzLndkPXMsdGhpcy5vbT0ibGVmdCI9PT1oLHRoaXMuX209VHMoIm5vcm1hbCIsaCksdGhpcy51bT1UcygidG9wIixoKSx0aGlzLmRtPVRzKCJib3R0b20iLGgpLHRoaXMubHY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5sdi5zdHlsZS5oZWlnaHQ9IjEwMCUiLHRoaXMubHYuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIsdGhpcy5sdi5zdHlsZS53aWR0aD0iMjVweCIsdGhpcy5sdi5zdHlsZS5sZWZ0PSIwIix0aGlzLmx2LnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSIsdGhpcy5mbT1fcyh0aGlzLmx2LGUuc2l6ZSh7d2lkdGg6MTYsaGVpZ2h0OjE2fSkpLHRoaXMuZm0uc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5obSk7Y29uc3Qgbj10aGlzLmZtLmNhbnZhc0VsZW1lbnQ7bi5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLG4uc3R5bGUuekluZGV4PSIxIixuLnN0eWxlLmxlZnQ9IjAiLG4uc3R5bGUudG9wPSIwIix0aGlzLnBtPV9zKHRoaXMubHYsZS5zaXplKHt3aWR0aDoxNixoZWlnaHQ6MTZ9KSksdGhpcy5wbS5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0aGlzLmxtKTtjb25zdCByPXRoaXMucG0uY2FudmFzRWxlbWVudDtyLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsci5zdHlsZS56SW5kZXg9IjIiLHIuc3R5bGUubGVmdD0iMCIsci5zdHlsZS50b3A9IjAiO2NvbnN0IG89e3pwOnRoaXMuTXYuYmluZCh0aGlzKSxBcDp0aGlzLk12LmJpbmQodGhpcyksUHA6dGhpcy5ndi5iaW5kKHRoaXMpLHlwOnRoaXMuZ3YuYmluZCh0aGlzKSxPcDp0aGlzLnZtLmJpbmQodGhpcyksSXA6dGhpcy5idi5iaW5kKHRoaXMpLFJwOnRoaXMuYnYuYmluZCh0aGlzKSx1cDp0aGlzLndtLmJpbmQodGhpcyksYXA6dGhpcy53bS5iaW5kKHRoaXMpLHdwOnRoaXMuTW0uYmluZCh0aGlzKSxZcDp0aGlzLnd2LmJpbmQodGhpcyl9O3RoaXMudHY9bmV3IGRzKHRoaXMucG0uY2FudmFzRWxlbWVudCxvLHsKeHA6KCk9PiF0aGlzLnluLmhhbmRsZVNjcm9sbC52ZXJ0VG91Y2hEcmFnLENwOigpPT4hMH0pfW0oKXt0aGlzLnR2Lm0oKSx0aGlzLnBtLnVuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5sbSksQ3ModGhpcy5wbS5jYW52YXNFbGVtZW50KSx0aGlzLnBtLmRpc3Bvc2UoKSx0aGlzLmZtLnVuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5obSksQ3ModGhpcy5mbS5jYW52YXNFbGVtZW50KSx0aGlzLmZtLmRpc3Bvc2UoKSxudWxsIT09dGhpcy5LaSYmdGhpcy5LaS5hXygpLnUodGhpcyksdGhpcy5LaT1udWxsfXV2KCl7cmV0dXJuIHRoaXMubHZ9aygpe3JldHVybiB0aGlzLmtvLmZvbnRTaXplfWdtKCl7Y29uc3QgdD10aGlzLndkLk4oKTtyZXR1cm4gdGhpcy5ubSE9PXQuUCYmKHRoaXMuaW0uT3MoKSx0aGlzLm5tPXQuUCksdH1ibSgpe2lmKG51bGw9PT10aGlzLktpKXJldHVybiAwO2xldCB0PTA7Y29uc3QgaT10aGlzLmdtKCkscz1mKHRoaXMuZm0uY2FudmFzRWxlbWVudC5nZXRDb250ZXh0KCIyZCIse2NvbG9yU3BhY2U6dGhpcy55dC5hbSgpLk4oKS5sYXlvdXQuY29sb3JTcGFjZX0pKTtzLnNhdmUoKTtjb25zdCBlPXRoaXMuS2kuRWwoKTtzLmZvbnQ9dGhpcy5TbSgpLGUubGVuZ3RoPjAmJih0PU1hdGgubWF4KHRoaXMuaW0uSWkocyxlWzBdLmlvKSx0aGlzLmltLklpKHMsZVtlLmxlbmd0aC0xXS5pbykpKTtjb25zdCBoPXRoaXMueG0oKTtmb3IobGV0IGk9aC5sZW5ndGg7aS0tOyl7Y29uc3QgZT10aGlzLmltLklpKHMsaFtpXS5yaSgpKTtlPnQmJih0PWUpfWNvbnN0IG49dGhpcy5LaS5MdCgpO2lmKG51bGwhPT1uJiZudWxsIT09dGhpcy5RdiYmMiE9PShyPXRoaXMueW4uY3Jvc3NoYWlyKS5tb2RlJiZyLmhvcnpMaW5lLnZpc2libGUmJnIuaG9yekxpbmUubGFiZWxWaXNpYmxlKXtjb25zdCBpPXRoaXMuS2kuVG4oMSxuKSxlPXRoaXMuS2kuVG4odGhpcy5Rdi5oZWlnaHQtMixuKTt0PU1hdGgubWF4KHQsdGhpcy5pbS5JaShzLHRoaXMuS2kuSmkoTWF0aC5mbG9vcihNYXRoLm1pbihpLGUpKSsuMTExMTExMTExMTExMTEsbikpLHRoaXMuaW0uSWkocyx0aGlzLktpLkppKE1hdGguY2VpbChNYXRoLm1heChpLGUpKS0uMTExMTExMTExMTExMTEsbikpKX12YXIgcjtzLnJlc3RvcmUoKTtjb25zdCBvPXR8fDM0O3JldHVybiBmcyhNYXRoLmNlaWwoaS5TK2kuQytpLlYraS5CKzUrbykpfUNtKHQpe251bGwhPT10aGlzLlF2JiYoMCxlLmVxdWFsU2l6ZXMpKHRoaXMuUXYsdCl8fCh0aGlzLlF2PXQsdGhpcy5ybT0hMCx0aGlzLmZtLnJlc2l6ZUNhbnZhc0VsZW1lbnQodCksdGhpcy5wbS5yZXNpemVDYW52YXNFbGVtZW50KHQpLHRoaXMucm09ITEsdGhpcy5sdi5zdHlsZS53aWR0aD1gJHt0LndpZHRofXB4YCx0aGlzLmx2LnN0eWxlLmhlaWdodD1gJHt0LmhlaWdodH1weGApfXltKCl7cmV0dXJuIGYodGhpcy5Rdikud2lkdGh9dW4odCl7dGhpcy5LaSE9PXQmJihudWxsIT09dGhpcy5LaSYmdGhpcy5LaS5hXygpLnUodGhpcyksdGhpcy5LaT10LHQuYV8oKS5pKHRoaXMucG8uYmluZCh0aGlzKSx0aGlzKSl9RnQoKXtyZXR1cm4gdGhpcy5LaX1Pcygpe2NvbnN0IHQ9dGhpcy55dC5TdigpO3RoaXMueXQuYW0oKS5RdCgpLmV1KHQsZih0aGlzLkZ0KCkpKX1rbSh0KXtpZihudWxsPT09dGhpcy5RdilyZXR1cm47Y29uc3QgaT17Y29sb3JTcGFjZTp0aGlzLnl0LmFtKCkuTigpLmxheW91dC5jb2xvclNwYWNlfTtpZigxIT09dCl7dGhpcy5QbSgpLHRoaXMuZm0uYXBwbHlTdWdnZXN0ZWRCaXRtYXBTaXplKCk7Y29uc3QgdD0oMCxlLnRyeUNyZWF0ZUNhbnZhc1JlbmRlcmluZ1RhcmdldDJEKSh0aGlzLmZtLGkpO251bGwhPT10JiYodC51c2VCaXRtYXBDb29yZGluYXRlU3BhY2UoKHQ9Pnt0aGlzLlRtKHQpLHRoaXMuUm0odCl9KSksdGhpcy55dC5EbSh0LHRoaXMuZG0pLHRoaXMuSW0odCksdGhpcy55dC5EbSh0LHRoaXMuX20pLHRoaXMuVm0odCkpfXRoaXMucG0uYXBwbHlTdWdnZXN0ZWRCaXRtYXBTaXplKCk7Y29uc3Qgcz0oMCxlLnRyeUNyZWF0ZUNhbnZhc1JlbmRlcmluZ1RhcmdldDJEKSh0aGlzLnBtLGkpO251bGwhPT1zJiYocy51c2VCaXRtYXBDb29yZGluYXRlU3BhY2UoKCh7Y29udGV4dDp0LGJpdG1hcFNpemU6aX0pPT57dC5jbGVhclJlY3QoMCwwLGkud2lkdGgsaS5oZWlnaHQpfSkpLHRoaXMuQm0ocyksdGhpcy55dC5EbShzLHRoaXMudW0pKX1kdigpe3JldHVybiB0aGlzLmZtLmJpdG1hcFNpemV9ZnYodCxpLHMsZSl7Y29uc3QgaD10aGlzLmR2KCk7aWYoaC53aWR0aD4wJiZoLmhlaWdodD4wJiYodC5kcmF3SW1hZ2UodGhpcy5mbS5jYW52YXNFbGVtZW50LGkscyksZSkpe2NvbnN0IGU9dGhpcy5wbS5jYW52YXNFbGVtZW50O3QuZHJhd0ltYWdlKGUsaSxzKX19a3QoKXt0aGlzLktpPy5FbCgpfU12KHQpe2lmKG51bGw9PT10aGlzLktpfHx0aGlzLktpLkdpKCl8fCF0aGlzLnluLmhhbmRsZVNjYWxlLmF4aXNQcmVzc2VkTW91c2VNb3ZlLnByaWNlKXJldHVybjtjb25zdCBpPXRoaXMueXQuYW0oKS5RdCgpLHM9dGhpcy55dC5TdigpO3RoaXMudG09ITAsaS5HXyhzLHRoaXMuS2ksdC5sb2NhbFkpfWd2KHQpe2lmKG51bGw9PT10aGlzLktpfHwhdGhpcy55bi5oYW5kbGVTY2FsZS5heGlzUHJlc3NlZE1vdXNlTW92ZS5wcmljZSlyZXR1cm47Y29uc3QgaT10aGlzLnl0LmFtKCkuUXQoKSxzPXRoaXMueXQuU3YoKSxlPXRoaXMuS2k7aS5YXyhzLGUsdC5sb2NhbFkpfXZtKCl7aWYobnVsbD09PXRoaXMuS2l8fCF0aGlzLnluLmhhbmRsZVNjYWxlLmF4aXNQcmVzc2VkTW91c2VNb3ZlLnByaWNlKXJldHVybjtjb25zdCB0PXRoaXMueXQuYW0oKS5RdCgpLGk9dGhpcy55dC5TdigpLHM9dGhpcy5LaTt0aGlzLnRtJiYodGhpcy50bT0hMSx0LkpfKGkscykpfWJ2KHQpe2lmKG51bGw9PT10aGlzLktpfHwhdGhpcy55bi5oYW5kbGVTY2FsZS5heGlzUHJlc3NlZE1vdXNlTW92ZS5wcmljZSlyZXR1cm47Y29uc3QgaT10aGlzLnl0LmFtKCkuUXQoKSxzPXRoaXMueXQuU3YoKTt0aGlzLnRtPSExLGkuSl8ocyx0aGlzLktpKX13bSh0KXsKdGhpcy55bi5oYW5kbGVTY2FsZS5heGlzRG91YmxlQ2xpY2tSZXNldC5wcmljZSYmdGhpcy5PcygpfU1tKHQpe251bGwhPT10aGlzLktpJiYoIXRoaXMueXQuYW0oKS5RdCgpLk4oKS5oYW5kbGVTY2FsZS5heGlzUHJlc3NlZE1vdXNlTW92ZS5wcmljZXx8dGhpcy5LaS5qZSgpfHx0aGlzLktpLkxvKCl8fHRoaXMuRW0oMSkpfXd2KHQpe3RoaXMuRW0oMCl9eG0oKXtjb25zdCB0PVtdLGk9bnVsbD09PXRoaXMuS2k/dm9pZCAwOnRoaXMuS2k7cmV0dXJuKHM9Pntmb3IobGV0IGU9MDtlPHMubGVuZ3RoOysrZSl7Y29uc3QgaD1zW2VdLnFuKHRoaXMueXQuU3YoKSxpKTtmb3IobGV0IGk9MDtpPGgubGVuZ3RoO2krKyl0LnB1c2goaFtpXSl9fSkodGhpcy55dC5TdigpLkR0KCkpLHR9VG0oe2NvbnRleHQ6dCxiaXRtYXBTaXplOml9KXtjb25zdHt3aWR0aDpzLGhlaWdodDplfT1pLGg9dGhpcy55dC5TdigpLlF0KCksbj1oLiQoKSxyPWguZWYoKTtuPT09cj9RKHQsMCwwLHMsZSxuKTpLKHQsMCwwLHMsZSxuLHIpfVJtKHtjb250ZXh0OnQsYml0bWFwU2l6ZTppLGhvcml6b250YWxQaXhlbFJhdGlvOnN9KXtpZihudWxsPT09dGhpcy5Rdnx8bnVsbD09PXRoaXMuS2l8fCF0aGlzLktpLk4oKS5ib3JkZXJWaXNpYmxlKXJldHVybjt0LmZpbGxTdHlsZT10aGlzLktpLk4oKS5ib3JkZXJDb2xvcjtjb25zdCBlPU1hdGgubWF4KDEsTWF0aC5mbG9vcih0aGlzLmdtKCkuUypzKSk7bGV0IGg7aD10aGlzLm9tP2kud2lkdGgtZTowLHQuZmlsbFJlY3QoaCwwLGUsaS5oZWlnaHQpfUltKHQpe2lmKG51bGw9PT10aGlzLlF2fHxudWxsPT09dGhpcy5LaSlyZXR1cm47Y29uc3QgaT10aGlzLktpLkVsKCkscz10aGlzLktpLk4oKSxlPXRoaXMuZ20oKSxoPXRoaXMub20/dGhpcy5Rdi53aWR0aC1lLkM6MDtzLmJvcmRlclZpc2libGUmJnMudGlja3NWaXNpYmxlJiZ0LnVzZUJpdG1hcENvb3JkaW5hdGVTcGFjZSgoKHtjb250ZXh0OnQsaG9yaXpvbnRhbFBpeGVsUmF0aW86bix2ZXJ0aWNhbFBpeGVsUmF0aW86cn0pPT57dC5maWxsU3R5bGU9cy5ib3JkZXJDb2xvcjtjb25zdCBvPU1hdGgubWF4KDEsTWF0aC5mbG9vcihyKSksbD1NYXRoLmZsb29yKC41KnIpLGE9TWF0aC5yb3VuZChlLkMqbik7dC5iZWdpblBhdGgoKTtmb3IoY29uc3QgcyBvZiBpKXQucmVjdChNYXRoLmZsb29yKGgqbiksTWF0aC5yb3VuZChzLlJsKnIpLWwsYSxvKTt0LmZpbGwoKX0pKSx0LnVzZU1lZGlhQ29vcmRpbmF0ZVNwYWNlKCgoe2NvbnRleHQ6dH0pPT57dC5mb250PXRoaXMuU20oKSx0LmZpbGxTdHlsZT1zLnRleHRDb2xvcj8/dGhpcy5rby50ZXh0Q29sb3IsdC50ZXh0QWxpZ249dGhpcy5vbT8icmlnaHQiOiJsZWZ0Iix0LnRleHRCYXNlbGluZT0ibWlkZGxlIjtjb25zdCBuPXRoaXMub20/TWF0aC5yb3VuZChoLWUuVik6TWF0aC5yb3VuZChoK2UuQytlLlYpLHI9aS5tYXAoKGk9PnRoaXMuaW0uRGkodCxpLmlvKSkpO2ZvcihsZXQgcz1pLmxlbmd0aDtzLS07KXtjb25zdCBlPWlbc107dC5maWxsVGV4dChlLmlvLG4sZS5SbCtyW3NdKX19KSl9UG0oKXtpZihudWxsPT09dGhpcy5Rdnx8bnVsbD09PXRoaXMuS2kpcmV0dXJuO2xldCB0PXRoaXMuUXYuaGVpZ2h0LzI7Y29uc3QgaT1bXSxzPXRoaXMuS2kuRHQoKS5zbGljZSgpLGU9dGhpcy55dC5TdigpLGg9dGhpcy5nbSgpO3RoaXMuS2k9PT1lLkdzKCkmJnRoaXMueXQuU3YoKS5EdCgpLmZvckVhY2goKHQ9PntlLlpzKHQpJiZzLnB1c2godCl9KSk7Y29uc3Qgbj10aGlzLktpLkNsKClbMF0scj10aGlzLktpO3MuZm9yRWFjaCgocz0+e2NvbnN0IGg9cy5xbihlLHIpO2guZm9yRWFjaCgodD0+e3QuJGkoKSYmbnVsbD09PXQuV2koKSYmKHQuVWkobnVsbCksaS5wdXNoKHQpKX0pKSxuPT09cyYmaC5sZW5ndGg+MCYmKHQ9aFswXS5FaSgpKX0pKSx0aGlzLktpLk4oKS5hbGlnbkxhYmVscyYmdGhpcy5BbShpLGgsdCl9QW0odCxpLHMpe2lmKG51bGw9PT10aGlzLlF2KXJldHVybjtjb25zdCBlPXQuZmlsdGVyKCh0PT50LkVpKCk8PXMpKSxoPXQuZmlsdGVyKCh0PT50LkVpKCk+cykpO2Uuc29ydCgoKHQsaSk9PmkuRWkoKS10LkVpKCkpKSxlLmxlbmd0aCYmaC5sZW5ndGgmJmgucHVzaChlWzBdKSxoLnNvcnQoKCh0LGkpPT50LkVpKCktaS5FaSgpKSk7Zm9yKGNvbnN0IHMgb2YgdCl7Y29uc3QgdD1NYXRoLmZsb29yKHMuJHQoaSkvMiksZT1zLkVpKCk7ZT4tdCYmZTx0JiZzLlVpKHQpLGU+dGhpcy5Rdi5oZWlnaHQtdCYmZTx0aGlzLlF2LmhlaWdodCt0JiZzLlVpKHRoaXMuUXYuaGVpZ2h0LXQpfVJzKGUsMSx0aGlzLlF2LmhlaWdodCxpKSxScyhoLC0xLHRoaXMuUXYuaGVpZ2h0LGkpfVZtKHQpe2lmKG51bGw9PT10aGlzLlF2KXJldHVybjtjb25zdCBpPXRoaXMueG0oKSxzPXRoaXMuZ20oKSxlPXRoaXMub20/InJpZ2h0IjoibGVmdCI7aS5mb3JFYWNoKChpPT57aS5qaSgpJiZpLlR0KGYodGhpcy5LaSkpLnN0KHQscyx0aGlzLmltLGUpfSkpfUJtKHQpe2lmKG51bGw9PT10aGlzLlF2fHxudWxsPT09dGhpcy5LaSlyZXR1cm47Y29uc3QgaT10aGlzLnl0LmFtKCkuUXQoKSxzPVtdLGU9dGhpcy55dC5TdigpLGg9aS5SZCgpLnFuKGUsdGhpcy5LaSk7aC5sZW5ndGgmJnMucHVzaChoKTtjb25zdCBuPXRoaXMuZ20oKSxyPXRoaXMub20/InJpZ2h0IjoibGVmdCI7cy5mb3JFYWNoKChpPT57aS5mb3JFYWNoKChpPT57aS5UdChmKHRoaXMuS2kpKS5zdCh0LG4sdGhpcy5pbSxyKX0pKX0pKX1FbSh0KXt0aGlzLmx2LnN0eWxlLmN1cnNvcj0xPT09dD8ibnMtcmVzaXplIjoiZGVmYXVsdCJ9cG8oKXtjb25zdCB0PXRoaXMuYm0oKTt0aGlzLnNtPHQmJnRoaXMueXQuYW0oKS5RdCgpLlBhKCksdGhpcy5zbT10fVNtKCl7cmV0dXJuIF8odGhpcy5rby5mb250U2l6ZSx0aGlzLmtvLmZvbnRGYW1pbHkpfX1mdW5jdGlvbiB6cyh0LGkpe3JldHVybiB0LkthPy4oaSk/P1tdfWZ1bmN0aW9uIElzKHQsaSl7cmV0dXJuIHQuam4/LihpKT8/W119ZnVuY3Rpb24gTHModCxpKXtyZXR1cm4gdC5jbj8uKGkpPz9bXX1mdW5jdGlvbiBGcyh0LGkpe3JldHVybiB0LmphPy4oaSk/P1tdfWNsYXNzIHFze2NvbnN0cnVjdG9yKHQsaSl7CnRoaXMuUXY9ZS5zaXplKHt3aWR0aDowLGhlaWdodDowfSksdGhpcy5MbT1udWxsLHRoaXMuem09bnVsbCx0aGlzLk9tPW51bGwsdGhpcy5ObT1udWxsLHRoaXMuRm09ITEsdGhpcy5XbT1uZXcgbSx0aGlzLkhtPW5ldyBtLHRoaXMuVW09MCx0aGlzLiRtPSExLHRoaXMuam09bnVsbCx0aGlzLnFtPSExLHRoaXMuWW09bnVsbCx0aGlzLkttPW51bGwsdGhpcy5ybT0hMSx0aGlzLmhtPSgpPT57dGhpcy5ybXx8bnVsbD09PXRoaXMuWm18fHRoaXMuc24oKS5tcigpfSx0aGlzLmxtPSgpPT57dGhpcy5ybXx8bnVsbD09PXRoaXMuWm18fHRoaXMuc24oKS5tcigpfSx0aGlzLnF2PXQsdGhpcy5abT1pLHRoaXMuWm0uZnUoKS5pKHRoaXMuR20uYmluZCh0aGlzKSx0aGlzLCEwKSx0aGlzLlhtPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIiksdGhpcy5YbS5zdHlsZS5wYWRkaW5nPSIwIix0aGlzLlhtLnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSI7Y29uc3Qgcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtzLnN0eWxlLndpZHRoPSIxMDAlIixzLnN0eWxlLmhlaWdodD0iMTAwJSIscy5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiLHMuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIsdGhpcy5KbT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpLHRoaXMuSm0uc3R5bGUucGFkZGluZz0iMCIsdGhpcy5RbT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpLHRoaXMuUW0uc3R5bGUucGFkZGluZz0iMCIsdGhpcy5YbS5hcHBlbmRDaGlsZChzKSx0aGlzLmZtPV9zKHMsZS5zaXplKHt3aWR0aDoxNixoZWlnaHQ6MTZ9KSksdGhpcy5mbS5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0aGlzLmhtKTtjb25zdCBoPXRoaXMuZm0uY2FudmFzRWxlbWVudDtoLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsaC5zdHlsZS56SW5kZXg9IjEiLGguc3R5bGUubGVmdD0iMCIsaC5zdHlsZS50b3A9IjAiLHRoaXMucG09X3MocyxlLnNpemUoe3dpZHRoOjE2LGhlaWdodDoxNn0pKSx0aGlzLnBtLnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMubG0pO2NvbnN0IG49dGhpcy5wbS5jYW52YXNFbGVtZW50O24uc3R5bGUucG9zaXRpb249ImFic29sdXRlIixuLnN0eWxlLnpJbmRleD0iMiIsbi5zdHlsZS5sZWZ0PSIwIixuLnN0eWxlLnRvcD0iMCIsdGhpcy5hdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ciIpLHRoaXMuYXYuYXBwZW5kQ2hpbGQodGhpcy5KbSksdGhpcy5hdi5hcHBlbmRDaGlsZCh0aGlzLlhtKSx0aGlzLmF2LmFwcGVuZENoaWxkKHRoaXMuUW0pLHRoaXMudHcoKSx0aGlzLnR2PW5ldyBkcyh0aGlzLnBtLmNhbnZhc0VsZW1lbnQsdGhpcyx7eHA6KCk9Pm51bGw9PT10aGlzLmptJiYhdGhpcy5xdi5OKCkuaGFuZGxlU2Nyb2xsLnZlcnRUb3VjaERyYWcsQ3A6KCk9Pm51bGw9PT10aGlzLmptJiYhdGhpcy5xdi5OKCkuaGFuZGxlU2Nyb2xsLmhvcnpUb3VjaERyYWd9KX1tKCl7bnVsbCE9PXRoaXMuTG0mJnRoaXMuTG0ubSgpLG51bGwhPT10aGlzLnptJiZ0aGlzLnptLm0oKSx0aGlzLk9tPW51bGwsdGhpcy5wbS51bnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMubG0pLENzKHRoaXMucG0uY2FudmFzRWxlbWVudCksdGhpcy5wbS5kaXNwb3NlKCksdGhpcy5mbS51bnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMuaG0pLENzKHRoaXMuZm0uY2FudmFzRWxlbWVudCksdGhpcy5mbS5kaXNwb3NlKCksbnVsbCE9PXRoaXMuWm0mJih0aGlzLlptLmZ1KCkudSh0aGlzKSx0aGlzLlptLm0oKSksdGhpcy50di5tKCl9U3YoKXtyZXR1cm4gZih0aGlzLlptKX1pdyh0KXtudWxsIT09dGhpcy5abSYmdGhpcy5abS5mdSgpLnUodGhpcyksdGhpcy5abT10LG51bGwhPT10aGlzLlptJiZ0aGlzLlptLmZ1KCkuaShxcy5wcm90b3R5cGUuR20uYmluZCh0aGlzKSx0aGlzLCEwKSx0aGlzLnR3KCksdGhpcy5xdi5ydigpLmluZGV4T2YodGhpcyk9PT10aGlzLnF2LnJ2KCkubGVuZ3RoLTE/KHRoaXMuT209dGhpcy5PbT8/bmV3IHhzKHRoaXMuWG0sdGhpcy5xdiksdGhpcy5PbS5rdCgpKToodGhpcy5PbT8uS3YoKSx0aGlzLk9tPW51bGwpfWFtKCl7cmV0dXJuIHRoaXMucXZ9dXYoKXtyZXR1cm4gdGhpcy5hdn10dygpe2lmKG51bGwhPT10aGlzLlptJiYodGhpcy5udygpLDAhPT10aGlzLnNuKCkuSm4oKS5sZW5ndGgpKXtpZihudWxsIT09dGhpcy5MbSl7Y29uc3QgdD10aGlzLlptLktfKCk7dGhpcy5MbS51bihmKHQpKX1pZihudWxsIT09dGhpcy56bSl7Y29uc3QgdD10aGlzLlptLlpfKCk7dGhpcy56bS51bihmKHQpKX19fXN3KCl7bnVsbCE9PXRoaXMuTG0mJnRoaXMuTG0ua3QoKSxudWxsIT09dGhpcy56bSYmdGhpcy56bS5rdCgpfXpfKCl7cmV0dXJuIG51bGwhPT10aGlzLlptP3RoaXMuWm0uel8oKTowfU9fKHQpe3RoaXMuWm0mJnRoaXMuWm0uT18odCl9d3AodCl7aWYoIXRoaXMuWm0pcmV0dXJuO3RoaXMuZXcoKTtjb25zdCBpPXQubG9jYWxYLHM9dC5sb2NhbFk7dGhpcy5ydyhpLHMsdCl9enAodCl7dGhpcy5ldygpLHRoaXMuaHcoKSx0aGlzLnJ3KHQubG9jYWxYLHQubG9jYWxZLHQpfU1wKHQpe2lmKCF0aGlzLlptKXJldHVybjt0aGlzLmV3KCk7Y29uc3QgaT10LmxvY2FsWCxzPXQubG9jYWxZO3RoaXMucncoaSxzLHQpfVZwKHQpe251bGwhPT10aGlzLlptJiYodGhpcy5ldygpLHRoaXMucncodC5sb2NhbFgsdC5sb2NhbFksdCksdGhpcy5hdyh0KSl9dXAodCl7bnVsbCE9PXRoaXMuWm0mJnRoaXMubHcodGhpcy5IbSx0KX1hcCh0KXt0aGlzLnVwKHQpfVBwKHQpe3RoaXMuZXcoKSx0aGlzLm93KHQpLHRoaXMucncodC5sb2NhbFgsdC5sb2NhbFksdCl9SXAodCl7bnVsbCE9PXRoaXMuWm0mJih0aGlzLmV3KCksdGhpcy4kbT0hMSx0aGlzLl93KHQpKX1EcCh0KXtudWxsIT09dGhpcy5abSYmdGhpcy5hdyh0KX1LcCh0KXtpZih0aGlzLiRtPSEwLG51bGw9PT10aGlzLmptKXtjb25zdCBpPXt4OnQubG9jYWxYLHk6dC5sb2NhbFl9O3RoaXMudXcoaSxpLHQpfX1ZcCh0KXtudWxsIT09dGhpcy5abSYmKHRoaXMuZXcoKSwKdGhpcy5abS5RdCgpLmtkKG51bGwpLHRoaXMuY3coKSl9ZHcoKXtyZXR1cm4gdGhpcy5XbX1mdygpe3JldHVybiB0aGlzLkhtfVdwKCl7dGhpcy5VbT0xLHRoaXMuc24oKS5jcygpfUhwKHQsaSl7aWYoIXRoaXMucXYuTigpLmhhbmRsZVNjYWxlLnBpbmNoKXJldHVybjtjb25zdCBzPTUqKGktdGhpcy5VbSk7dGhpcy5VbT1pLHRoaXMuc24oKS5PZCh0Ll90LHMpfUFwKHQpe3RoaXMuJG09ITEsdGhpcy5xbT1udWxsIT09dGhpcy5qbSx0aGlzLmh3KCk7Y29uc3QgaT10aGlzLnNuKCkuUmQoKTtudWxsIT09dGhpcy5qbSYmaS5JdCgpJiYodGhpcy5ZbT17eDppLm5pKCkseTppLnNpKCl9LHRoaXMuam09e3g6dC5sb2NhbFgseTp0LmxvY2FsWX0pfXlwKHQpe2lmKG51bGw9PT10aGlzLlptKXJldHVybjtjb25zdCBpPXQubG9jYWxYLHM9dC5sb2NhbFk7aWYobnVsbD09PXRoaXMuam0pdGhpcy5vdyh0KTtlbHNle3RoaXMucW09ITE7Y29uc3QgZT1mKHRoaXMuWW0pLGg9ZS54KyhpLXRoaXMuam0ueCksbj1lLnkrKHMtdGhpcy5qbS55KTt0aGlzLnJ3KGgsbix0KX19UnAodCl7MD09PXRoaXMuYW0oKS5OKCkudHJhY2tpbmdNb2RlLmV4aXRNb2RlJiYodGhpcy5xbT0hMCksdGhpcy5wdygpLHRoaXMuX3codCl9UXModCxpKXtjb25zdCBzPXRoaXMuWm07cmV0dXJuIG51bGw9PT1zP251bGw6UGkocyx0LGkpfW13KHQsaSl7ZigibGVmdCI9PT1pP3RoaXMuTG06dGhpcy56bSkuQ20oZS5zaXplKHt3aWR0aDp0LGhlaWdodDp0aGlzLlF2LmhlaWdodH0pKX1jdigpe3JldHVybiB0aGlzLlF2fUNtKHQpeygwLGUuZXF1YWxTaXplcykodGhpcy5Rdix0KXx8KHRoaXMuUXY9dCx0aGlzLnJtPSEwLHRoaXMuZm0ucmVzaXplQ2FudmFzRWxlbWVudCh0KSx0aGlzLnBtLnJlc2l6ZUNhbnZhc0VsZW1lbnQodCksdGhpcy5ybT0hMSx0aGlzLlhtLnN0eWxlLndpZHRoPXQud2lkdGgrInB4Iix0aGlzLlhtLnN0eWxlLmhlaWdodD10LmhlaWdodCsicHgiKX13dygpe2NvbnN0IHQ9Zih0aGlzLlptKTt0LnFfKHQuS18oKSksdC5xXyh0LlpfKCkpO2Zvcihjb25zdCBpIG9mIHQuQ2woKSlpZih0LlpzKGkpKXtjb25zdCBzPWkuRnQoKTtudWxsIT09cyYmdC5xXyhzKSxpLk5uKCl9Zm9yKGNvbnN0IGkgb2YgdC52dSgpKWkuTm4oKX1kdigpe3JldHVybiB0aGlzLmZtLmJpdG1hcFNpemV9ZnYodCxpLHMsZSl7Y29uc3QgaD10aGlzLmR2KCk7aWYoaC53aWR0aD4wJiZoLmhlaWdodD4wJiYodC5kcmF3SW1hZ2UodGhpcy5mbS5jYW52YXNFbGVtZW50LGkscyksZSkpe2NvbnN0IGU9dGhpcy5wbS5jYW52YXNFbGVtZW50O251bGwhPT10JiZ0LmRyYXdJbWFnZShlLGkscyl9fWttKHQpe2lmKDA9PT10KXJldHVybjtpZihudWxsPT09dGhpcy5abSlyZXR1cm47dD4xJiZ0aGlzLnd3KCksbnVsbCE9PXRoaXMuTG0mJnRoaXMuTG0ua20odCksbnVsbCE9PXRoaXMuem0mJnRoaXMuem0ua20odCk7Y29uc3QgaT17Y29sb3JTcGFjZTp0aGlzLnF2Lk4oKS5sYXlvdXQuY29sb3JTcGFjZX07aWYoMSE9PXQpe3RoaXMuZm0uYXBwbHlTdWdnZXN0ZWRCaXRtYXBTaXplKCk7Y29uc3QgdD0oMCxlLnRyeUNyZWF0ZUNhbnZhc1JlbmRlcmluZ1RhcmdldDJEKSh0aGlzLmZtLGkpO251bGwhPT10JiYodC51c2VCaXRtYXBDb29yZGluYXRlU3BhY2UoKHQ9Pnt0aGlzLlRtKHQpfSkpLHRoaXMuWm0mJih0aGlzLk13KHQsenMpLHRoaXMuZ3codCksdGhpcy5Ndyh0LElzKSx0aGlzLk13KHQsTHMpKSl9dGhpcy5wbS5hcHBseVN1Z2dlc3RlZEJpdG1hcFNpemUoKTtjb25zdCBzPSgwLGUudHJ5Q3JlYXRlQ2FudmFzUmVuZGVyaW5nVGFyZ2V0MkQpKHRoaXMucG0saSk7bnVsbCE9PXMmJihzLnVzZUJpdG1hcENvb3JkaW5hdGVTcGFjZSgoKHtjb250ZXh0OnQsYml0bWFwU2l6ZTppfSk9Pnt0LmNsZWFyUmVjdCgwLDAsaS53aWR0aCxpLmhlaWdodCl9KSksdGhpcy5idyhzKSx0aGlzLk13KHMsRnMpLHRoaXMuTXcocyxMcykpfVN3KCl7cmV0dXJuIHRoaXMuTG19eHcoKXtyZXR1cm4gdGhpcy56bX1EbSh0LGkpe3RoaXMuTXcodCxpKX1HbSgpe251bGwhPT10aGlzLlptJiZ0aGlzLlptLmZ1KCkudSh0aGlzKSx0aGlzLlptPW51bGx9YXcodCl7dGhpcy5sdyh0aGlzLldtLHQpfWx3KHQsaSl7Y29uc3Qgcz1pLmxvY2FsWCxlPWkubG9jYWxZO3QudigpJiZ0LnAodGhpcy5zbigpLkV0KCkuUmMocykse3g6cyx5OmV9LGkpfVRtKHtjb250ZXh0OnQsYml0bWFwU2l6ZTppfSl7Y29uc3R7d2lkdGg6cyxoZWlnaHQ6ZX09aSxoPXRoaXMuc24oKSxuPWguJCgpLHI9aC5lZigpO249PT1yP1EodCwwLDAscyxlLHIpOksodCwwLDAscyxlLG4scil9Z3codCl7Y29uc3QgaT1mKHRoaXMuWm0pLHM9aS5wdSgpLndyKCkuVHQoaSk7bnVsbCE9PXMmJnMuc3QodCwhMSl9YncodCl7dGhpcy5Ddyh0LElzLEVzLHRoaXMuc24oKS5SZCgpKX1Ndyh0LGkpe2NvbnN0IHM9Zih0aGlzLlptKSxlPXMuYXUoKSxoPXMudnUoKTtmb3IoY29uc3QgcyBvZiBoKXRoaXMuQ3codCxpLGtzLHMpO2Zvcihjb25zdCBzIG9mIGUpdGhpcy5Ddyh0LGksa3Mscyk7Zm9yKGNvbnN0IHMgb2YgaCl0aGlzLkN3KHQsaSxFcyxzKTtmb3IoY29uc3QgcyBvZiBlKXRoaXMuQ3codCxpLEVzLHMpfUN3KHQsaSxzLGUpe2NvbnN0IGg9Zih0aGlzLlptKSxuPWguUXQoKS5vdSgpLHI9bnVsbCE9PW4mJm4ubHU9PT1lLG89bnVsbCE9PW4mJnImJnZvaWQgMCE9PW4ud3U/bi53dS5pZTp2b2lkIDA7TnMoaSwoaT0+cyhpLHQscixvKSksZSxoKX1udygpe2lmKG51bGw9PT10aGlzLlptKXJldHVybjtjb25zdCB0PXRoaXMucXYsaT10aGlzLlptLktfKCkuTigpLnZpc2libGUscz10aGlzLlptLlpfKCkuTigpLnZpc2libGU7aXx8bnVsbD09PXRoaXMuTG18fCh0aGlzLkptLnJlbW92ZUNoaWxkKHRoaXMuTG0udXYoKSksdGhpcy5MbS5tKCksdGhpcy5MbT1udWxsKSxzfHxudWxsPT09dGhpcy56bXx8KHRoaXMuUW0ucmVtb3ZlQ2hpbGQodGhpcy56bS51digpKSx0aGlzLnptLm0oKSx0aGlzLnptPW51bGwpO2NvbnN0IGU9dC5RdCgpLlpkKCk7aSYmbnVsbD09PXRoaXMuTG0mJih0aGlzLkxtPW5ldyBQcyh0aGlzLHQuTigpLGUsImxlZnQiKSwKdGhpcy5KbS5hcHBlbmRDaGlsZCh0aGlzLkxtLnV2KCkpKSxzJiZudWxsPT09dGhpcy56bSYmKHRoaXMuem09bmV3IFBzKHRoaXMsdC5OKCksZSwicmlnaHQiKSx0aGlzLlFtLmFwcGVuZENoaWxkKHRoaXMuem0udXYoKSkpfXl3KHQpe3JldHVybiB0LlpwJiZ0aGlzLiRtfHxudWxsIT09dGhpcy5qbX1ydyh0LGkscyl7dD1NYXRoLm1heCgwLE1hdGgubWluKHQsdGhpcy5Rdi53aWR0aC0xKSksaT1NYXRoLm1heCgwLE1hdGgubWluKGksdGhpcy5Rdi5oZWlnaHQtMSkpLHRoaXMuc24oKS5qZCh0LGkscyxmKHRoaXMuWm0pKX1jdygpe3RoaXMuc24oKS5ZZCgpfXB3KCl7dGhpcy5xbSYmKHRoaXMuam09bnVsbCx0aGlzLmN3KCkpfXV3KHQsaSxzKXt0aGlzLmptPXQsdGhpcy5xbT0hMSx0aGlzLnJ3KGkueCxpLnkscyk7Y29uc3QgZT10aGlzLnNuKCkuUmQoKTt0aGlzLlltPXt4OmUubmkoKSx5OmUuc2koKX19c24oKXtyZXR1cm4gdGhpcy5xdi5RdCgpfV93KHQpe2lmKCF0aGlzLkZtKXJldHVybjtjb25zdCBpPXRoaXMuc24oKSxzPXRoaXMuU3YoKTtpZihpLml1KHMscy5QbigpKSx0aGlzLk5tPW51bGwsdGhpcy5GbT0hMSxpLkhkKCksbnVsbCE9PXRoaXMuS20pe2NvbnN0IHQ9cGVyZm9ybWFuY2Uubm93KCkscz1pLkV0KCk7dGhpcy5LbS5tZShzLkFjKCksdCksdGhpcy5LbS5qYyh0KXx8aS5wcyh0aGlzLkttKX19ZXcoKXt0aGlzLmptPW51bGx9aHcoKXtpZih0aGlzLlptKXtpZih0aGlzLnNuKCkuY3MoKSxkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09ZG9jdW1lbnQuYm9keSYmZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudClmKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpLmJsdXIoKTtlbHNle2NvbnN0IHQ9ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7bnVsbCE9PXQmJnQucmVtb3ZlQWxsUmFuZ2VzKCl9IXRoaXMuWm0uUG4oKS5HaSgpJiZ0aGlzLnNuKCkuRXQoKS5HaSgpfX1vdyh0KXtpZihudWxsPT09dGhpcy5abSlyZXR1cm47Y29uc3QgaT10aGlzLnNuKCkscz1pLkV0KCk7aWYocy5HaSgpKXJldHVybjtjb25zdCBlPXRoaXMucXYuTigpLGg9ZS5oYW5kbGVTY3JvbGwsbj1lLmtpbmV0aWNTY3JvbGw7aWYoKCFoLnByZXNzZWRNb3VzZU1vdmV8fHQuWnApJiYoIWguaG9yelRvdWNoRHJhZyYmIWgudmVydFRvdWNoRHJhZ3x8IXQuWnApKXJldHVybjtjb25zdCByPXRoaXMuWm0uUG4oKSxvPXBlcmZvcm1hbmNlLm5vdygpO2lmKG51bGwhPT10aGlzLk5tfHx0aGlzLnl3KHQpfHwodGhpcy5ObT17eDp0LmNsaWVudFgseTp0LmNsaWVudFksU2Y6byxrdzp0LmxvY2FsWCxQdzp0LmxvY2FsWX0pLG51bGwhPT10aGlzLk5tJiYhdGhpcy5GbSYmKHRoaXMuTm0ueCE9PXQuY2xpZW50WHx8dGhpcy5ObS55IT09dC5jbGllbnRZKSl7aWYodC5acCYmbi50b3VjaHx8IXQuWnAmJm4ubW91c2Upe2NvbnN0IHQ9cy5mbCgpO3RoaXMuS209bmV3IFNzKC4yL3QsNy90LC45OTcsMTUvdCksdGhpcy5LbS5GdihzLkFjKCksdGhpcy5ObS5TZil9ZWxzZSB0aGlzLkttPW51bGw7ci5HaSgpfHxpLlFfKHRoaXMuWm0scix0LmxvY2FsWSksaS5GZCh0LmxvY2FsWCksdGhpcy5GbT0hMH10aGlzLkZtJiYoci5HaSgpfHxpLnR1KHRoaXMuWm0scix0LmxvY2FsWSksaS5XZCh0LmxvY2FsWCksbnVsbCE9PXRoaXMuS20mJnRoaXMuS20uRnYocy5BYygpLG8pKX19Y2xhc3MgV3N7Y29uc3RydWN0b3IodCxpLHMsaCxuKXt0aGlzLnh0PSEwLHRoaXMuUXY9ZS5zaXplKHt3aWR0aDowLGhlaWdodDowfSksdGhpcy5obT0oKT0+dGhpcy5rbSgzKSx0aGlzLm9tPSJsZWZ0Ij09PXQsdGhpcy53ZD1zLlpkLHRoaXMueW49aSx0aGlzLlR3PWgsdGhpcy5Sdz1uLHRoaXMubHY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5sdi5zdHlsZS53aWR0aD0iMjVweCIsdGhpcy5sdi5zdHlsZS5oZWlnaHQ9IjEwMCUiLHRoaXMubHYuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIsdGhpcy5mbT1fcyh0aGlzLmx2LGUuc2l6ZSh7d2lkdGg6MTYsaGVpZ2h0OjE2fSkpLHRoaXMuZm0uc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5obSl9bSgpe3RoaXMuZm0udW5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0aGlzLmhtKSxDcyh0aGlzLmZtLmNhbnZhc0VsZW1lbnQpLHRoaXMuZm0uZGlzcG9zZSgpfXV2KCl7cmV0dXJuIHRoaXMubHZ9Y3YoKXtyZXR1cm4gdGhpcy5Rdn1DbSh0KXsoMCxlLmVxdWFsU2l6ZXMpKHRoaXMuUXYsdCl8fCh0aGlzLlF2PXQsdGhpcy5mbS5yZXNpemVDYW52YXNFbGVtZW50KHQpLHRoaXMubHYuc3R5bGUud2lkdGg9YCR7dC53aWR0aH1weGAsdGhpcy5sdi5zdHlsZS5oZWlnaHQ9YCR7dC5oZWlnaHR9cHhgLHRoaXMueHQ9ITApfWttKHQpe2lmKHQ8MyYmIXRoaXMueHQpcmV0dXJuO2lmKDA9PT10aGlzLlF2LndpZHRofHwwPT09dGhpcy5Rdi5oZWlnaHQpcmV0dXJuO3RoaXMueHQ9ITEsdGhpcy5mbS5hcHBseVN1Z2dlc3RlZEJpdG1hcFNpemUoKTtjb25zdCBpPSgwLGUudHJ5Q3JlYXRlQ2FudmFzUmVuZGVyaW5nVGFyZ2V0MkQpKHRoaXMuZm0se2NvbG9yU3BhY2U6dGhpcy55bi5sYXlvdXQuY29sb3JTcGFjZX0pO251bGwhPT1pJiZpLnVzZUJpdG1hcENvb3JkaW5hdGVTcGFjZSgodD0+e3RoaXMuVG0odCksdGhpcy5SbSh0KX0pKX1kdigpe3JldHVybiB0aGlzLmZtLmJpdG1hcFNpemV9ZnYodCxpLHMpe2NvbnN0IGU9dGhpcy5kdigpO2Uud2lkdGg+MCYmZS5oZWlnaHQ+MCYmdC5kcmF3SW1hZ2UodGhpcy5mbS5jYW52YXNFbGVtZW50LGkscyl9Um0oe2NvbnRleHQ6dCxiaXRtYXBTaXplOmksaG9yaXpvbnRhbFBpeGVsUmF0aW86cyx2ZXJ0aWNhbFBpeGVsUmF0aW86ZX0pe2lmKCF0aGlzLlR3KCkpcmV0dXJuO3QuZmlsbFN0eWxlPXRoaXMueW4udGltZVNjYWxlLmJvcmRlckNvbG9yO2NvbnN0IGg9TWF0aC5mbG9vcih0aGlzLndkLk4oKS5TKnMpLG49TWF0aC5mbG9vcih0aGlzLndkLk4oKS5TKmUpLHI9dGhpcy5vbT9pLndpZHRoLWg6MDt0LmZpbGxSZWN0KHIsMCxoLG4pfVRtKHtjb250ZXh0OnQsYml0bWFwU2l6ZTppfSl7ClEodCwwLDAsaS53aWR0aCxpLmhlaWdodCx0aGlzLlJ3KCkpfX1mdW5jdGlvbiBRcyh0KXtyZXR1cm4gaT0+aS5YYT8uKHQpPz9bXX1jb25zdCBEcz1Rcygibm9ybWFsIiksT3M9UXMoInRvcCIpLEtzPVFzKCJib3R0b20iKTtjbGFzcyBWc3tjb25zdHJ1Y3Rvcih0LGkpe3RoaXMuRHc9bnVsbCx0aGlzLkl3PW51bGwsdGhpcy5NPW51bGwsdGhpcy5Wdz0hMSx0aGlzLlF2PWUuc2l6ZSh7d2lkdGg6MCxoZWlnaHQ6MH0pLHRoaXMuQnc9bmV3IG0sdGhpcy5pbT1uZXcgbnQoNSksdGhpcy5ybT0hMSx0aGlzLmhtPSgpPT57dGhpcy5ybXx8dGhpcy5xdi5RdCgpLm1yKCl9LHRoaXMubG09KCk9Pnt0aGlzLnJtfHx0aGlzLnF2LlF0KCkubXIoKX0sdGhpcy5xdj10LHRoaXMueHU9aSx0aGlzLnluPXQuTigpLmxheW91dCx0aGlzLkh2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRyIiksdGhpcy5Fdz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpLHRoaXMuRXcuc3R5bGUucGFkZGluZz0iMCIsdGhpcy5Bdz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpLHRoaXMuQXcuc3R5bGUucGFkZGluZz0iMCIsdGhpcy5sdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpLHRoaXMubHYuc3R5bGUuaGVpZ2h0PSIyNXB4Iix0aGlzLmx2LnN0eWxlLnBhZGRpbmc9IjAiLHRoaXMuTHc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5Mdy5zdHlsZS53aWR0aD0iMTAwJSIsdGhpcy5Mdy5zdHlsZS5oZWlnaHQ9IjEwMCUiLHRoaXMuTHcuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIix0aGlzLkx3LnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iLHRoaXMubHYuYXBwZW5kQ2hpbGQodGhpcy5MdyksdGhpcy5mbT1fcyh0aGlzLkx3LGUuc2l6ZSh7d2lkdGg6MTYsaGVpZ2h0OjE2fSkpLHRoaXMuZm0uc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5obSk7Y29uc3Qgcz10aGlzLmZtLmNhbnZhc0VsZW1lbnQ7cy5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLHMuc3R5bGUuekluZGV4PSIxIixzLnN0eWxlLmxlZnQ9IjAiLHMuc3R5bGUudG9wPSIwIix0aGlzLnBtPV9zKHRoaXMuTHcsZS5zaXplKHt3aWR0aDoxNixoZWlnaHQ6MTZ9KSksdGhpcy5wbS5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0aGlzLmxtKTtjb25zdCBoPXRoaXMucG0uY2FudmFzRWxlbWVudDtoLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsaC5zdHlsZS56SW5kZXg9IjIiLGguc3R5bGUubGVmdD0iMCIsaC5zdHlsZS50b3A9IjAiLHRoaXMuSHYuYXBwZW5kQ2hpbGQodGhpcy5FdyksdGhpcy5Idi5hcHBlbmRDaGlsZCh0aGlzLmx2KSx0aGlzLkh2LmFwcGVuZENoaWxkKHRoaXMuQXcpLHRoaXMuencoKSx0aGlzLnF2LlF0KCkuTF8oKS5pKHRoaXMuencuYmluZCh0aGlzKSx0aGlzKSx0aGlzLnR2PW5ldyBkcyh0aGlzLnBtLmNhbnZhc0VsZW1lbnQsdGhpcyx7eHA6KCk9PiEwLENwOigpPT4hdGhpcy5xdi5OKCkuaGFuZGxlU2Nyb2xsLmhvcnpUb3VjaERyYWd9KX1tKCl7dGhpcy50di5tKCksbnVsbCE9PXRoaXMuRHcmJnRoaXMuRHcubSgpLG51bGwhPT10aGlzLkl3JiZ0aGlzLkl3Lm0oKSx0aGlzLnBtLnVuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5sbSksQ3ModGhpcy5wbS5jYW52YXNFbGVtZW50KSx0aGlzLnBtLmRpc3Bvc2UoKSx0aGlzLmZtLnVuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5obSksQ3ModGhpcy5mbS5jYW52YXNFbGVtZW50KSx0aGlzLmZtLmRpc3Bvc2UoKX11digpe3JldHVybiB0aGlzLkh2fU93KCl7cmV0dXJuIHRoaXMuRHd9TncoKXtyZXR1cm4gdGhpcy5Jd316cCh0KXtpZih0aGlzLlZ3KXJldHVybjt0aGlzLlZ3PSEwO2NvbnN0IGk9dGhpcy5xdi5RdCgpOyFpLkV0KCkuR2koKSYmdGhpcy5xdi5OKCkuaGFuZGxlU2NhbGUuYXhpc1ByZXNzZWRNb3VzZU1vdmUudGltZSYmaS56ZCh0LmxvY2FsWCl9QXAodCl7dGhpcy56cCh0KX1PcCgpe2NvbnN0IHQ9dGhpcy5xdi5RdCgpOyF0LkV0KCkuR2koKSYmdGhpcy5WdyYmKHRoaXMuVnc9ITEsdGhpcy5xdi5OKCkuaGFuZGxlU2NhbGUuYXhpc1ByZXNzZWRNb3VzZU1vdmUudGltZSYmdC4kZCgpKX1QcCh0KXtjb25zdCBpPXRoaXMucXYuUXQoKTshaS5FdCgpLkdpKCkmJnRoaXMucXYuTigpLmhhbmRsZVNjYWxlLmF4aXNQcmVzc2VkTW91c2VNb3ZlLnRpbWUmJmkuVWQodC5sb2NhbFgpfXlwKHQpe3RoaXMuUHAodCl9SXAoKXt0aGlzLlZ3PSExO2NvbnN0IHQ9dGhpcy5xdi5RdCgpO3QuRXQoKS5HaSgpJiYhdGhpcy5xdi5OKCkuaGFuZGxlU2NhbGUuYXhpc1ByZXNzZWRNb3VzZU1vdmUudGltZXx8dC4kZCgpfVJwKCl7dGhpcy5JcCgpfXVwKCl7dGhpcy5xdi5OKCkuaGFuZGxlU2NhbGUuYXhpc0RvdWJsZUNsaWNrUmVzZXQudGltZSYmdGhpcy5xdi5RdCgpLndzKCl9YXAoKXt0aGlzLnVwKCl9d3AoKXt0aGlzLnF2LlF0KCkuTigpLmhhbmRsZVNjYWxlLmF4aXNQcmVzc2VkTW91c2VNb3ZlLnRpbWUmJnRoaXMuRW0oMSl9WXAoKXt0aGlzLkVtKDApfWN2KCl7cmV0dXJuIHRoaXMuUXZ9RncoKXtyZXR1cm4gdGhpcy5Cd31Xdyh0LGkscyl7KDAsZS5lcXVhbFNpemVzKSh0aGlzLlF2LHQpfHwodGhpcy5Rdj10LHRoaXMucm09ITAsdGhpcy5mbS5yZXNpemVDYW52YXNFbGVtZW50KHQpLHRoaXMucG0ucmVzaXplQ2FudmFzRWxlbWVudCh0KSx0aGlzLnJtPSExLHRoaXMubHYuc3R5bGUud2lkdGg9YCR7dC53aWR0aH1weGAsdGhpcy5sdi5zdHlsZS5oZWlnaHQ9YCR7dC5oZWlnaHR9cHhgLHRoaXMuQncucCh0KSksbnVsbCE9PXRoaXMuRHcmJnRoaXMuRHcuQ20oZS5zaXplKHt3aWR0aDppLGhlaWdodDp0LmhlaWdodH0pKSxudWxsIT09dGhpcy5JdyYmdGhpcy5Jdy5DbShlLnNpemUoe3dpZHRoOnMsaGVpZ2h0OnQuaGVpZ2h0fSkpfUh3KCl7Y29uc3QgdD10aGlzLlV3KCk7cmV0dXJuIE1hdGguY2VpbCh0LlMrdC5DK3Quayt0LkErdC5JK3QuJHcpfWt0KCl7dGhpcy5xdi5RdCgpLkV0KCkuRWwoKX1kdigpe3JldHVybiB0aGlzLmZtLmJpdG1hcFNpemV9ZnYodCxpLHMsZSl7CmNvbnN0IGg9dGhpcy5kdigpO2lmKGgud2lkdGg+MCYmaC5oZWlnaHQ+MCYmKHQuZHJhd0ltYWdlKHRoaXMuZm0uY2FudmFzRWxlbWVudCxpLHMpLGUpKXtjb25zdCBlPXRoaXMucG0uY2FudmFzRWxlbWVudDt0LmRyYXdJbWFnZShlLGkscyl9fWttKHQpe2lmKDA9PT10KXJldHVybjtjb25zdCBpPXtjb2xvclNwYWNlOnRoaXMueW4uY29sb3JTcGFjZX07aWYoMSE9PXQpe3RoaXMuZm0uYXBwbHlTdWdnZXN0ZWRCaXRtYXBTaXplKCk7Y29uc3Qgcz0oMCxlLnRyeUNyZWF0ZUNhbnZhc1JlbmRlcmluZ1RhcmdldDJEKSh0aGlzLmZtLGkpO251bGwhPT1zJiYocy51c2VCaXRtYXBDb29yZGluYXRlU3BhY2UoKHQ9Pnt0aGlzLlRtKHQpLHRoaXMuUm0odCksdGhpcy5qdyhzLEtzKX0pKSx0aGlzLkltKHMpLHRoaXMuancocyxEcykpLG51bGwhPT10aGlzLkR3JiZ0aGlzLkR3LmttKHQpLG51bGwhPT10aGlzLkl3JiZ0aGlzLkl3LmttKHQpfXRoaXMucG0uYXBwbHlTdWdnZXN0ZWRCaXRtYXBTaXplKCk7Y29uc3Qgcz0oMCxlLnRyeUNyZWF0ZUNhbnZhc1JlbmRlcmluZ1RhcmdldDJEKSh0aGlzLnBtLGkpO251bGwhPT1zJiYocy51c2VCaXRtYXBDb29yZGluYXRlU3BhY2UoKCh7Y29udGV4dDp0LGJpdG1hcFNpemU6aX0pPT57dC5jbGVhclJlY3QoMCwwLGkud2lkdGgsaS5oZWlnaHQpfSkpLHRoaXMucXcoWy4uLnRoaXMucXYuUXQoKS5KbigpLHRoaXMucXYuUXQoKS5SZCgpXSxzKSx0aGlzLmp3KHMsT3MpKX1qdyh0LGkpe2NvbnN0IHM9dGhpcy5xdi5RdCgpLkpuKCk7Zm9yKGNvbnN0IGUgb2YgcylOcyhpLChpPT5rcyhpLHQsITEsdm9pZCAwKSksZSx2b2lkIDApO2Zvcihjb25zdCBlIG9mIHMpTnMoaSwoaT0+RXMoaSx0LCExLHZvaWQgMCkpLGUsdm9pZCAwKX1UbSh7Y29udGV4dDp0LGJpdG1hcFNpemU6aX0pe1EodCwwLDAsaS53aWR0aCxpLmhlaWdodCx0aGlzLnF2LlF0KCkuZWYoKSl9Um0oe2NvbnRleHQ6dCxiaXRtYXBTaXplOmksdmVydGljYWxQaXhlbFJhdGlvOnN9KXtpZih0aGlzLnF2Lk4oKS50aW1lU2NhbGUuYm9yZGVyVmlzaWJsZSl7dC5maWxsU3R5bGU9dGhpcy5ZdygpO2NvbnN0IGU9TWF0aC5tYXgoMSxNYXRoLmZsb29yKHRoaXMuVXcoKS5TKnMpKTt0LmZpbGxSZWN0KDAsMCxpLndpZHRoLGUpfX1JbSh0KXtjb25zdCBpPXRoaXMucXYuUXQoKS5FdCgpLHM9aS5FbCgpO2lmKCFzfHwwPT09cy5sZW5ndGgpcmV0dXJuO2NvbnN0IGU9dGhpcy54dS5tYXhUaWNrTWFya1dlaWdodChzKSxoPXRoaXMuVXcoKSxuPWkuTigpO24uYm9yZGVyVmlzaWJsZSYmbi50aWNrc1Zpc2libGUmJnQudXNlQml0bWFwQ29vcmRpbmF0ZVNwYWNlKCgoe2NvbnRleHQ6dCxob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzplfSk9Pnt0LnN0cm9rZVN0eWxlPXRoaXMuWXcoKSx0LmZpbGxTdHlsZT10aGlzLll3KCk7Y29uc3Qgbj1NYXRoLm1heCgxLE1hdGguZmxvb3IoaSkpLHI9TWF0aC5mbG9vciguNSppKTt0LmJlZ2luUGF0aCgpO2NvbnN0IG89TWF0aC5yb3VuZChoLkMqZSk7Zm9yKGxldCBlPXMubGVuZ3RoO2UtLTspe2NvbnN0IGg9TWF0aC5yb3VuZChzW2VdLmNvb3JkKmkpO3QucmVjdChoLXIsMCxuLG8pfXQuZmlsbCgpfSkpLHQudXNlTWVkaWFDb29yZGluYXRlU3BhY2UoKCh7Y29udGV4dDp0fSk9Pntjb25zdCBpPWguUytoLkMraC5BK2guay8yO3QudGV4dEFsaWduPSJjZW50ZXIiLHQudGV4dEJhc2VsaW5lPSJtaWRkbGUiLHQuZmlsbFN0eWxlPXRoaXMuSCgpLHQuZm9udD10aGlzLlNtKCk7Zm9yKGNvbnN0IGggb2YgcylpZihoLndlaWdodDxlKXtjb25zdCBzPWgubmVlZEFsaWduQ29vcmRpbmF0ZT90aGlzLkt3KHQsaC5jb29yZCxoLmxhYmVsKTpoLmNvb3JkO3QuZmlsbFRleHQoaC5sYWJlbCxzLGkpfXRoaXMucXYuTigpLnRpbWVTY2FsZS5hbGxvd0JvbGRMYWJlbHMmJih0LmZvbnQ9dGhpcy5adygpKTtmb3IoY29uc3QgaCBvZiBzKWlmKGgud2VpZ2h0Pj1lKXtjb25zdCBzPWgubmVlZEFsaWduQ29vcmRpbmF0ZT90aGlzLkt3KHQsaC5jb29yZCxoLmxhYmVsKTpoLmNvb3JkO3QuZmlsbFRleHQoaC5sYWJlbCxzLGkpfX0pKX1Ldyh0LGkscyl7Y29uc3QgZT10aGlzLmltLklpKHQscyksaD1lLzIsbj1NYXRoLmZsb29yKGktaCkrLjU7cmV0dXJuIG48MD9pKz1NYXRoLmFicygwLW4pOm4rZT50aGlzLlF2LndpZHRoJiYoaS09TWF0aC5hYnModGhpcy5Rdi53aWR0aC0obitlKSkpLGl9cXcodCxpKXtjb25zdCBzPXRoaXMuVXcoKTtmb3IoY29uc3QgZSBvZiB0KWZvcihjb25zdCB0IG9mIGUuZG4oKSl0LlR0KCkuc3QoaSxzKX1Zdygpe3JldHVybiB0aGlzLnF2Lk4oKS50aW1lU2NhbGUuYm9yZGVyQ29sb3J9SCgpe3JldHVybiB0aGlzLnluLnRleHRDb2xvcn1GKCl7cmV0dXJuIHRoaXMueW4uZm9udFNpemV9U20oKXtyZXR1cm4gXyh0aGlzLkYoKSx0aGlzLnluLmZvbnRGYW1pbHkpfVp3KCl7cmV0dXJuIF8odGhpcy5GKCksdGhpcy55bi5mb250RmFtaWx5LCJib2xkIil9VXcoKXtudWxsPT09dGhpcy5NJiYodGhpcy5NPXtTOjEsTDpOYU4sQTpOYU4sSTpOYU4sdG46TmFOLEM6NSxrOk5hTixQOiIiLFFpOm5ldyBudCwkdzowfSk7Y29uc3QgdD10aGlzLk0saT10aGlzLlNtKCk7aWYodC5QIT09aSl7Y29uc3Qgcz10aGlzLkYoKTt0Lms9cyx0LlA9aSx0LkE9MypzLzEyLHQuST0zKnMvMTIsdC50bj05KnMvMTIsdC5MPTAsdC4kdz00KnMvMTIsdC5RaS5PcygpfXJldHVybiB0aGlzLk19RW0odCl7dGhpcy5sdi5zdHlsZS5jdXJzb3I9MT09PXQ/ImV3LXJlc2l6ZSI6ImRlZmF1bHQifXp3KCl7Y29uc3QgdD10aGlzLnF2LlF0KCksaT10Lk4oKTtpLmxlZnRQcmljZVNjYWxlLnZpc2libGV8fG51bGw9PT10aGlzLkR3fHwodGhpcy5Fdy5yZW1vdmVDaGlsZCh0aGlzLkR3LnV2KCkpLHRoaXMuRHcubSgpLHRoaXMuRHc9bnVsbCksaS5yaWdodFByaWNlU2NhbGUudmlzaWJsZXx8bnVsbD09PXRoaXMuSXd8fCh0aGlzLkF3LnJlbW92ZUNoaWxkKHRoaXMuSXcudXYoKSksdGhpcy5Jdy5tKCksdGhpcy5Jdz1udWxsKTtjb25zdCBzPXtaZDp0aGlzLnF2LlF0KCkuWmQoKQp9LGU9KCk9PmkubGVmdFByaWNlU2NhbGUuYm9yZGVyVmlzaWJsZSYmdC5FdCgpLk4oKS5ib3JkZXJWaXNpYmxlLGg9KCk9PnQuZWYoKTtpLmxlZnRQcmljZVNjYWxlLnZpc2libGUmJm51bGw9PT10aGlzLkR3JiYodGhpcy5Edz1uZXcgV3MoImxlZnQiLGkscyxlLGgpLHRoaXMuRXcuYXBwZW5kQ2hpbGQodGhpcy5Edy51digpKSksaS5yaWdodFByaWNlU2NhbGUudmlzaWJsZSYmbnVsbD09PXRoaXMuSXcmJih0aGlzLkl3PW5ldyBXcygicmlnaHQiLGkscyxlLGgpLHRoaXMuQXcuYXBwZW5kQ2hpbGQodGhpcy5Jdy51digpKSl9fWNvbnN0ICRzPSEhbHMmJiEhbmF2aWdhdG9yLnVzZXJBZ2VudERhdGEmJm5hdmlnYXRvci51c2VyQWdlbnREYXRhLmJyYW5kcy5zb21lKCh0PT50LmJyYW5kLmluY2x1ZGVzKCJDaHJvbWl1bSIpKSkmJiEhbHMmJihuYXZpZ2F0b3I/LnVzZXJBZ2VudERhdGE/LnBsYXRmb3JtPyJXaW5kb3dzIj09PW5hdmlnYXRvci51c2VyQWdlbnREYXRhLnBsYXRmb3JtOm5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ3aW4iKT49MCk7Y2xhc3MgQnN7Y29uc3RydWN0b3IodCxpLHMpe3ZhciBlO3RoaXMuR3c9W10sdGhpcy5Ydz1bXSx0aGlzLkp3PTAsdGhpcy5obz0wLHRoaXMuQ189MCx0aGlzLlF3PTAsdGhpcy50TT0wLHRoaXMuaU09bnVsbCx0aGlzLm5NPSExLHRoaXMuV209bmV3IG0sdGhpcy5IbT1uZXcgbSx0aGlzLnBkPW5ldyBtLHRoaXMuc009bnVsbCx0aGlzLmVNPW51bGwsdGhpcy5qdj10LHRoaXMueW49aSx0aGlzLnh1PXMsdGhpcy5Idj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLkh2LmNsYXNzTGlzdC5hZGQoInR2LWxpZ2h0d2VpZ2h0LWNoYXJ0cyIpLHRoaXMuSHYuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIsdGhpcy5Idi5zdHlsZS5kaXJlY3Rpb249Imx0ciIsdGhpcy5Idi5zdHlsZS53aWR0aD0iMTAwJSIsdGhpcy5Idi5zdHlsZS5oZWlnaHQ9IjEwMCUiLChlPXRoaXMuSHYpLnN0eWxlLnVzZXJTZWxlY3Q9Im5vbmUiLGUuc3R5bGUud2Via2l0VXNlclNlbGVjdD0ibm9uZSIsZS5zdHlsZS5tc1VzZXJTZWxlY3Q9Im5vbmUiLGUuc3R5bGUuTW96VXNlclNlbGVjdD0ibm9uZSIsZS5zdHlsZS53ZWJraXRUYXBIaWdobGlnaHRDb2xvcj0idHJhbnNwYXJlbnQiLHRoaXMuck09ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGFibGUiKSx0aGlzLnJNLnNldEF0dHJpYnV0ZSgiY2VsbHNwYWNpbmciLCIwIiksdGhpcy5Idi5hcHBlbmRDaGlsZCh0aGlzLnJNKSx0aGlzLmhNPXRoaXMuYU0uYmluZCh0aGlzKSxBcyh0aGlzLnluKSYmdGhpcy5sTSghMCksdGhpcy5zbj1uZXcgQmkodGhpcy5tZC5iaW5kKHRoaXMpLHRoaXMueW4scyksdGhpcy5RdCgpLkRkKCkuaSh0aGlzLm9NLmJpbmQodGhpcyksdGhpcyksdGhpcy5fTT1uZXcgVnModGhpcyx0aGlzLnh1KSx0aGlzLnJNLmFwcGVuZENoaWxkKHRoaXMuX00udXYoKSk7Y29uc3QgaD1pLmF1dG9TaXplJiZ0aGlzLnVNKCk7bGV0IG49dGhpcy55bi53aWR0aCxyPXRoaXMueW4uaGVpZ2h0O2lmKGh8fDA9PT1ufHwwPT09cil7Y29uc3QgaT10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO249bnx8aS53aWR0aCxyPXJ8fGkuaGVpZ2h0fXRoaXMuY00obixyKSx0aGlzLmRNKCksdC5hcHBlbmRDaGlsZCh0aGlzLkh2KSx0aGlzLmZNKCksdGhpcy5zbi5FdCgpLlpjKCkuaSh0aGlzLnNuLlBhLmJpbmQodGhpcy5zbiksdGhpcyksdGhpcy5zbi5MXygpLmkodGhpcy5zbi5QYS5iaW5kKHRoaXMuc24pLHRoaXMpfVF0KCl7cmV0dXJuIHRoaXMuc259Tigpe3JldHVybiB0aGlzLnlufXJ2KCl7cmV0dXJuIHRoaXMuR3d9cE0oKXtyZXR1cm4gdGhpcy5fTX1tKCl7dGhpcy5sTSghMSksMCE9PXRoaXMuSncmJndpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLkp3KSx0aGlzLnNuLkRkKCkudSh0aGlzKSx0aGlzLnNuLkV0KCkuWmMoKS51KHRoaXMpLHRoaXMuc24uTF8oKS51KHRoaXMpLHRoaXMuc24ubSgpO2Zvcihjb25zdCB0IG9mIHRoaXMuR3cpdGhpcy5yTS5yZW1vdmVDaGlsZCh0LnV2KCkpLHQuZHcoKS51KHRoaXMpLHQuZncoKS51KHRoaXMpLHQubSgpO3RoaXMuR3c9W107Zm9yKGNvbnN0IHQgb2YgdGhpcy5Ydyl0aGlzLnZNKHQpO3RoaXMuWHc9W10sZih0aGlzLl9NKS5tKCksbnVsbCE9PXRoaXMuSHYucGFyZW50RWxlbWVudCYmdGhpcy5Idi5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuSHYpLHRoaXMucGQubSgpLHRoaXMuV20ubSgpLHRoaXMuSG0ubSgpLHRoaXMubU0oKX1jTSh0LGkscz0hMSl7aWYodGhpcy5obz09PWkmJnRoaXMuQ189PT10KXJldHVybjtjb25zdCBoPWZ1bmN0aW9uKHQpe2NvbnN0IGk9TWF0aC5mbG9vcih0LndpZHRoKSxzPU1hdGguZmxvb3IodC5oZWlnaHQpO3JldHVybiBlLnNpemUoe3dpZHRoOmktaSUyLGhlaWdodDpzLXMlMn0pfShlLnNpemUoe3dpZHRoOnQsaGVpZ2h0Oml9KSk7dGhpcy5obz1oLmhlaWdodCx0aGlzLkNfPWgud2lkdGg7Y29uc3Qgbj10aGlzLmhvKyJweCIscj10aGlzLkNfKyJweCI7aWYodGhpcy53TSgpfHwoZih0aGlzLkh2KS5zdHlsZS5oZWlnaHQ9bixmKHRoaXMuSHYpLnN0eWxlLndpZHRoPXIpLHRoaXMuck0uc3R5bGUuaGVpZ2h0PW4sdGhpcy5yTS5zdHlsZS53aWR0aD1yLHMpezAhPT10aGlzLkp3JiYod2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuSncpLHRoaXMuSnc9MCksdGhpcy5uTT0hMTtjb25zdCB0PVgueXMoKTtudWxsIT09dGhpcy5pTSYmKHQuU3ModGhpcy5pTSksdGhpcy5pTT1udWxsKSx0aGlzLk1NKHQscGVyZm9ybWFuY2Uubm93KCkpfWVsc2UgdGhpcy5zbi5QYSgpfWttKHQpe3ZvaWQgMD09PXQmJih0PVgueXMoKSk7Zm9yKGxldCBpPTA7aTx0aGlzLkd3Lmxlbmd0aDtpKyspdGhpcy5Hd1tpXS5rbSh0Ll9zKGkpLnJzKTt0aGlzLnluLnRpbWVTY2FsZS52aXNpYmxlJiZ0aGlzLl9NLmttKHQubHMoKSl9dnIodCl7Y29uc3QgaT1Bcyh0aGlzLnluKTt0aGlzLnNuLnZyKHQpO2NvbnN0IHM9QXModGhpcy55bik7cyE9PWkmJnRoaXMubE0ocyksdC5sYXlvdXQ/LnBhbmVzJiZ0aGlzLmdNKCksdGhpcy5mTSgpLAp0aGlzLmJNKHQpfWR3KCl7cmV0dXJuIHRoaXMuV219ZncoKXtyZXR1cm4gdGhpcy5IbX1EZCgpe3JldHVybiB0aGlzLnBkfVNNKHQ9ITEpe251bGwhPT10aGlzLmlNJiYodGhpcy5NTSh0aGlzLmlNLHBlcmZvcm1hbmNlLm5vdygpKSx0aGlzLmlNPW51bGwpO2NvbnN0IGk9dGhpcy54TShudWxsKSxzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpO3Mud2lkdGg9aS53aWR0aCxzLmhlaWdodD1pLmhlaWdodDtjb25zdCBlPWYocy5nZXRDb250ZXh0KCIyZCIpKTtyZXR1cm4gdGhpcy54TShlLHQpLHN9Q00odCl7cmV0dXJuKCJsZWZ0IiE9PXR8fHRoaXMueU0oKSkmJigicmlnaHQiIT09dHx8dGhpcy5rTSgpKT8wPT09dGhpcy5Hdy5sZW5ndGg/MDpmKCJsZWZ0Ij09PXQ/dGhpcy5Hd1swXS5TdygpOnRoaXMuR3dbMF0ueHcoKSkueW0oKTowfXdNKCl7cmV0dXJuIHRoaXMueW4uYXV0b1NpemUmJm51bGwhPT10aGlzLnNNfXZ2KCl7cmV0dXJuIHRoaXMuSHZ9UE0odCl7dGhpcy5lTT10LHRoaXMuZU0/dGhpcy52digpLnN0eWxlLnNldFByb3BlcnR5KCJjdXJzb3IiLHQpOnRoaXMudnYoKS5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgiY3Vyc29yIil9VE0oKXtyZXR1cm4gdGhpcy5lTX1STSh0KXtyZXR1cm4gYyh0aGlzLkd3W3RdKS5jdigpfWdNKCl7dGhpcy5Ydy5mb3JFYWNoKCh0PT57dC5rdCgpfSkpfWJNKHQpeyh2b2lkIDAhPT10LmF1dG9TaXplfHwhdGhpcy5zTXx8dm9pZCAwPT09dC53aWR0aCYmdm9pZCAwPT09dC5oZWlnaHQpJiYodC5hdXRvU2l6ZSYmIXRoaXMuc00mJnRoaXMudU0oKSwhMT09PXQuYXV0b1NpemUmJm51bGwhPT10aGlzLnNNJiZ0aGlzLm1NKCksdC5hdXRvU2l6ZXx8dm9pZCAwPT09dC53aWR0aCYmdm9pZCAwPT09dC5oZWlnaHR8fHRoaXMuY00odC53aWR0aHx8dGhpcy5DXyx0LmhlaWdodHx8dGhpcy5obykpfXhNKHQsaSl7bGV0IHM9MCxoPTA7Y29uc3Qgbj10aGlzLkd3WzBdLHI9KHMsZSk9PntsZXQgaD0wO2ZvcihsZXQgbj0wO248dGhpcy5Hdy5sZW5ndGg7bisrKXtjb25zdCByPXRoaXMuR3dbbl0sbz1mKCJsZWZ0Ij09PXM/ci5TdygpOnIueHcoKSksbD1vLmR2KCk7aWYobnVsbCE9PXQmJm8uZnYodCxlLGgsaSksaCs9bC5oZWlnaHQsbjx0aGlzLkd3Lmxlbmd0aC0xKXtjb25zdCBpPXRoaXMuWHdbbl0scz1pLmR2KCk7bnVsbCE9PXQmJmkuZnYodCxlLGgpLGgrPXMuaGVpZ2h0fX19O3RoaXMueU0oKSYmKHIoImxlZnQiLDApLHMrPWYobi5TdygpKS5kdigpLndpZHRoKTtmb3IobGV0IGU9MDtlPHRoaXMuR3cubGVuZ3RoO2UrKyl7Y29uc3Qgbj10aGlzLkd3W2VdLHI9bi5kdigpO2lmKG51bGwhPT10JiZuLmZ2KHQscyxoLGkpLGgrPXIuaGVpZ2h0LGU8dGhpcy5Hdy5sZW5ndGgtMSl7Y29uc3QgaT10aGlzLlh3W2VdLG49aS5kdigpO251bGwhPT10JiZpLmZ2KHQscyxoKSxoKz1uLmhlaWdodH19cys9bi5kdigpLndpZHRoLHRoaXMua00oKSYmKHIoInJpZ2h0IixzKSxzKz1mKG4ueHcoKSkuZHYoKS53aWR0aCk7Y29uc3Qgbz0oaSxzLGUpPT57ZigibGVmdCI9PT1pP3RoaXMuX00uT3coKTp0aGlzLl9NLk53KCkpLmZ2KGYodCkscyxlKX07aWYodGhpcy55bi50aW1lU2NhbGUudmlzaWJsZSl7Y29uc3Qgcz10aGlzLl9NLmR2KCk7aWYobnVsbCE9PXQpe2xldCBlPTA7dGhpcy55TSgpJiYobygibGVmdCIsZSxoKSxlPWYobi5TdygpKS5kdigpLndpZHRoKSx0aGlzLl9NLmZ2KHQsZSxoLGkpLGUrPXMud2lkdGgsdGhpcy5rTSgpJiZvKCJyaWdodCIsZSxoKX1oKz1zLmhlaWdodH1yZXR1cm4gZS5zaXplKHt3aWR0aDpzLGhlaWdodDpofSl9RE0oKXtsZXQgdD0wLGk9MCxzPTA7Zm9yKGNvbnN0IGUgb2YgdGhpcy5Hdyl0aGlzLnlNKCkmJihpPU1hdGgubWF4KGksZihlLlN3KCkpLmJtKCksdGhpcy55bi5sZWZ0UHJpY2VTY2FsZS5taW5pbXVtV2lkdGgpKSx0aGlzLmtNKCkmJihzPU1hdGgubWF4KHMsZihlLnh3KCkpLmJtKCksdGhpcy55bi5yaWdodFByaWNlU2NhbGUubWluaW11bVdpZHRoKSksdCs9ZS56XygpO2k9ZnMoaSkscz1mcyhzKTtjb25zdCBoPXRoaXMuQ18sbj10aGlzLmhvLHI9TWF0aC5tYXgoaC1pLXMsMCksbz0xKnRoaXMuWHcubGVuZ3RoLGw9dGhpcy55bi50aW1lU2NhbGUudmlzaWJsZTtsZXQgYT1sP01hdGgubWF4KHRoaXMuX00uSHcoKSx0aGlzLnluLnRpbWVTY2FsZS5taW5pbXVtSGVpZ2h0KTowO3ZhciB1O2E9KHU9YSkrdSUyO2NvbnN0IGM9bythLGQ9bjxjPzA6bi1jLG09ZC90O2xldCBwPTA7Y29uc3QgZz13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MTtmb3IobGV0IHQ9MDt0PHRoaXMuR3cubGVuZ3RoOysrdCl7Y29uc3QgaD10aGlzLkd3W3RdO2guaXcodGhpcy5zbi5abigpW3RdKTtsZXQgbj0wLG89MDtvPXQ9PT10aGlzLkd3Lmxlbmd0aC0xP01hdGguY2VpbCgoZC1wKSpnKS9nOk1hdGgucm91bmQoaC56XygpKm0qZykvZyxuPU1hdGgubWF4KG8sMikscCs9bixoLkNtKGUuc2l6ZSh7d2lkdGg6cixoZWlnaHQ6bn0pKSx0aGlzLnlNKCkmJmgubXcoaSwibGVmdCIpLHRoaXMua00oKSYmaC5tdyhzLCJyaWdodCIpLGguU3YoKSYmdGhpcy5zbi5JZChoLlN2KCksbil9dGhpcy5fTS5XdyhlLnNpemUoe3dpZHRoOmw/cjowLGhlaWdodDphfSksbD9pOjAsbD9zOjApLHRoaXMuc24uTl8ociksdGhpcy5RdyE9PWkmJih0aGlzLlF3PWkpLHRoaXMudE0hPT1zJiYodGhpcy50TT1zKX1sTSh0KXt0P3RoaXMuSHYuYWRkRXZlbnRMaXN0ZW5lcigid2hlZWwiLHRoaXMuaE0se3Bhc3NpdmU6ITF9KTp0aGlzLkh2LnJlbW92ZUV2ZW50TGlzdGVuZXIoIndoZWVsIix0aGlzLmhNKX1JTSh0KXtzd2l0Y2godC5kZWx0YU1vZGUpe2Nhc2UgdC5ET01fREVMVEFfUEFHRTpyZXR1cm4gMTIwO2Nhc2UgdC5ET01fREVMVEFfTElORTpyZXR1cm4gMzJ9cmV0dXJuICRzPzEvd2luZG93LmRldmljZVBpeGVsUmF0aW86MX1hTSh0KXtpZighKDAhPT10LmRlbHRhWCYmdGhpcy55bi5oYW5kbGVTY3JvbGwubW91c2VXaGVlbHx8MCE9PXQuZGVsdGFZJiZ0aGlzLnluLmhhbmRsZVNjYWxlLm1vdXNlV2hlZWwpKXJldHVybgo7Y29uc3QgaT10aGlzLklNKHQpLHM9aSp0LmRlbHRhWC8xMDAsZT0taSp0LmRlbHRhWS8xMDA7aWYodC5jYW5jZWxhYmxlJiZ0LnByZXZlbnREZWZhdWx0KCksMCE9PWUmJnRoaXMueW4uaGFuZGxlU2NhbGUubW91c2VXaGVlbCl7Y29uc3QgaT1NYXRoLnNpZ24oZSkqTWF0aC5taW4oMSxNYXRoLmFicyhlKSkscz10LmNsaWVudFgtdGhpcy5Idi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0O3RoaXMuUXQoKS5PZChzLGkpfTAhPT1zJiZ0aGlzLnluLmhhbmRsZVNjcm9sbC5tb3VzZVdoZWVsJiZ0aGlzLlF0KCkuTmQoLTgwKnMpfU1NKHQsaSl7Y29uc3Qgcz10LmxzKCk7Mz09PXMmJnRoaXMuVk0oKSwzIT09cyYmMiE9PXN8fCh0aGlzLkJNKHQpLHRoaXMuRU0odCxpKSx0aGlzLl9NLmt0KCksdGhpcy5Hdy5mb3JFYWNoKCh0PT57dC5zdygpfSkpLDM9PT10aGlzLmlNPy5scygpJiYodGhpcy5pTS5Tcyh0KSx0aGlzLlZNKCksdGhpcy5CTSh0aGlzLmlNKSx0aGlzLkVNKHRoaXMuaU0saSksdD10aGlzLmlNLHRoaXMuaU09bnVsbCkpLHRoaXMua20odCl9RU0odCxpKXtmb3IoY29uc3QgcyBvZiB0LmJzKCkpdGhpcy54cyhzLGkpfUJNKHQpe2NvbnN0IGk9dGhpcy5zbi5abigpO2ZvcihsZXQgcz0wO3M8aS5sZW5ndGg7cysrKXQuX3MocykuaHMmJmlbc10ucnUoKX14cyh0LGkpe2NvbnN0IHM9dGhpcy5zbi5FdCgpO3N3aXRjaCh0LmRzKXtjYXNlIDA6cy5YYygpO2JyZWFrO2Nhc2UgMTpzLkpjKHQuV3QpO2JyZWFrO2Nhc2UgMjpzLk1zKHQuV3QpO2JyZWFrO2Nhc2UgMzpzLmdzKHQuV3QpO2JyZWFrO2Nhc2UgNDpzLk9jKCk7YnJlYWs7Y2FzZSA1OnQuV3QuamMoaSl8fHMuZ3ModC5XdC5xYyhpKSl9fW1kKHQpe251bGwhPT10aGlzLmlNP3RoaXMuaU0uU3ModCk6dGhpcy5pTT10LHRoaXMubk18fCh0aGlzLm5NPSEwLHRoaXMuSnc9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgodD0+e2lmKHRoaXMubk09ITEsdGhpcy5Kdz0wLG51bGwhPT10aGlzLmlNKXtjb25zdCBpPXRoaXMuaU07dGhpcy5pTT1udWxsLHRoaXMuTU0oaSx0KTtmb3IoY29uc3QgcyBvZiBpLmJzKCkpaWYoNT09PXMuZHMmJiFzLld0LmpjKHQpKXt0aGlzLlF0KCkucHMocy5XdCk7YnJlYWt9fX0pKSl9Vk0oKXt0aGlzLmRNKCl9dk0odCl7dGhpcy5yTS5yZW1vdmVDaGlsZCh0LnV2KCkpLHQubSgpfWRNKCl7Y29uc3QgdD10aGlzLnNuLlpuKCksaT10Lmxlbmd0aCxzPXRoaXMuR3cubGVuZ3RoO2ZvcihsZXQgdD1pO3Q8czt0Kyspe2NvbnN0IHQ9Yyh0aGlzLkd3LnBvcCgpKTt0aGlzLnJNLnJlbW92ZUNoaWxkKHQudXYoKSksdC5kdygpLnUodGhpcyksdC5mdygpLnUodGhpcyksdC5tKCk7Y29uc3QgaT10aGlzLlh3LnBvcCgpO3ZvaWQgMCE9PWkmJnRoaXMudk0oaSl9Zm9yKGxldCBlPXM7ZTxpO2UrKyl7Y29uc3QgaT1uZXcgcXModGhpcyx0W2VdKTtpZihpLmR3KCkuaSh0aGlzLkFNLmJpbmQodGhpcyxpKSx0aGlzKSxpLmZ3KCkuaSh0aGlzLkxNLmJpbmQodGhpcyxpKSx0aGlzKSx0aGlzLkd3LnB1c2goaSksZT4wKXtjb25zdCB0PW5ldyB3cyh0aGlzLGUtMSxlKTt0aGlzLlh3LnB1c2godCksdGhpcy5yTS5pbnNlcnRCZWZvcmUodC51digpLHRoaXMuX00udXYoKSl9dGhpcy5yTS5pbnNlcnRCZWZvcmUoaS51digpLHRoaXMuX00udXYoKSl9Zm9yKGxldCBzPTA7czxpO3MrKyl7Y29uc3QgaT10W3NdLGU9dGhpcy5Hd1tzXTtlLlN2KCkhPT1pP2UuaXcoaSk6ZS50dygpfXRoaXMuZk0oKSx0aGlzLkRNKCl9ek0odCxpLHMsZSl7Y29uc3QgaD1uZXcgTWFwO2xldCBuO2lmKG51bGwhPT10JiZ0aGlzLnNuLkpuKCkuZm9yRWFjaCgoaT0+e2NvbnN0IHM9aS5VbigpLkhuKHQpO251bGwhPT1zJiZoLnNldChpLHMpfSkpLG51bGwhPT10KXtjb25zdCBpPXRoaXMuc24uRXQoKS5lbih0KT8ub3JpZ2luYWxUaW1lO3ZvaWQgMCE9PWkmJihuPWkpfWNvbnN0IHI9dGhpcy5RdCgpLm91KCksbz10aGlzLk9NKGUpLGw9ZnVuY3Rpb24odCxpKXtjb25zdCBzPW51bGwhPT10JiZ0Lmx1IGluc3RhbmNlb2YganQ/dC5sdTp2b2lkIDAsZT10Py53dT8udGUsaD12b2lkIDAhPT1pJiYtMSE9PWk/aTp2b2lkIDA7cmV0dXJuIG51bGw9PT10fHx2b2lkIDA9PT10LmVlP3tOTTpzLEZNOmV9OntOTTpzLEZNOmUsV006e2RzOnQuZWUsSE06KG49dC5sdSxyPXQuZWUsbiBpbnN0YW5jZW9mIF9pPyJwYW5lLXByaW1pdGl2ZSI6Im1hcmtlciI9PT1yfHwicHJpbWl0aXZlIj09PXI/InNlcmllcy1wcmltaXRpdmUiOiJzZXJpZXMiKSxVTTpjcyh0LmVlLGUpLFVfOnMsJE06ZSxqTTpofX07dmFyIG4scn0ocixvKTtyZXR1cm57UXI6biwkbjp0Pz92b2lkIDAscU06aT8/dm9pZCAwLGpNOi0xIT09bz9vOnZvaWQgMCxOTTpsLk5NLFlNOmgsRk06bC5GTSxXTTpsLldNLEtNOnM/P3ZvaWQgMH19T00odCl7bGV0IGk9LTE7aWYodClpPXRoaXMuR3cuaW5kZXhPZih0KTtlbHNle2NvbnN0IHQ9dGhpcy5RdCgpLlJkKCkuS24oKTtudWxsIT09dCYmKGk9dGhpcy5RdCgpLlpuKCkuaW5kZXhPZih0KSl9cmV0dXJuIGl9QU0odCxpLHMsZSl7dGhpcy5XbS5wKCgoKT0+dGhpcy56TShpLHMsZSx0KSkpfUxNKHQsaSxzLGUpe3RoaXMuSG0ucCgoKCk9PnRoaXMuek0oaSxzLGUsdCkpKX1vTSh0LGkscyl7dGhpcy5QTSh0aGlzLlF0KCkub3UoKT8ubXU/P251bGwpLHRoaXMucGQucCgoKCk9PnRoaXMuek0odCxpLHMpKSl9Zk0oKXtjb25zdCB0PXRoaXMueW4udGltZVNjYWxlLnZpc2libGU/IiI6Im5vbmUiO3RoaXMuX00udXYoKS5zdHlsZS5kaXNwbGF5PXR9eU0oKXtyZXR1cm4gdGhpcy5Hd1swXS5TdigpLktfKCkuTigpLnZpc2libGV9a00oKXtyZXR1cm4gdGhpcy5Hd1swXS5TdigpLlpfKCkuTigpLnZpc2libGV9dU0oKXtyZXR1cm4iUmVzaXplT2JzZXJ2ZXIiaW4gd2luZG93JiYodGhpcy5zTT1uZXcgUmVzaXplT2JzZXJ2ZXIoKHQ9Pntjb25zdCBpPXRbdC5sZW5ndGgtMV07aWYoIWkpcmV0dXJuO2NvbnN0IHM9aS5jb250ZW50UmVjdC53aWR0aCxlPWkuY29udGVudFJlY3QuaGVpZ2h0O3RoaXMuY00ocyxlLCEwKX0pKSx0aGlzLnNNLm9ic2VydmUodGhpcy5qdix7CmJveDoiYm9yZGVyLWJveCJ9KSwhMCl9bU0oKXtudWxsIT09dGhpcy5zTSYmdGhpcy5zTS5kaXNjb25uZWN0KCksdGhpcy5zTT1udWxsfX1mdW5jdGlvbiBBcyh0KXtyZXR1cm4gQm9vbGVhbih0LmhhbmRsZVNjcm9sbC5tb3VzZVdoZWVsfHx0LmhhbmRsZVNjYWxlLm1vdXNlV2hlZWwpfWZ1bmN0aW9uIFpzKHQpe3JldHVybiB2b2lkIDA9PT10Lm9wZW4mJnZvaWQgMD09PXQudmFsdWV9ZnVuY3Rpb24gSHModCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDAhPT10Lm9wZW59KHQpfHxmdW5jdGlvbih0KXtyZXR1cm4gdm9pZCAwIT09dC52YWx1ZX0odCl9ZnVuY3Rpb24gR3ModCxpLHMsZSl7Y29uc3QgaD1zLnZhbHVlLG49eyRuOmksd3Q6dCxXdDpbaCxoLGgsaF0sUXI6ZX07cmV0dXJuIHZvaWQgMCE9PXMuY29sb3ImJihuLlI9cy5jb2xvciksbn1mdW5jdGlvbiBVcyh0LGkscyxlKXtjb25zdCBoPXMudmFsdWUsbj17JG46aSx3dDp0LFd0OltoLGgsaCxoXSxRcjplfTtyZXR1cm4gdm9pZCAwIT09cy5saW5lQ29sb3ImJihuLnZ0PXMubGluZUNvbG9yKSx2b2lkIDAhPT1zLnRvcENvbG9yJiYobi5haD1zLnRvcENvbG9yKSx2b2lkIDAhPT1zLmJvdHRvbUNvbG9yJiYobi5vaD1zLmJvdHRvbUNvbG9yKSxufWZ1bmN0aW9uIFlzKHQsaSxzLGUpe2NvbnN0IGg9cy52YWx1ZSxuPXskbjppLHd0OnQsV3Q6W2gsaCxoLGhdLFFyOmV9O3JldHVybiB2b2lkIDAhPT1zLnRvcExpbmVDb2xvciYmKG4uX2g9cy50b3BMaW5lQ29sb3IpLHZvaWQgMCE9PXMuYm90dG9tTGluZUNvbG9yJiYobi51aD1zLmJvdHRvbUxpbmVDb2xvciksdm9pZCAwIT09cy50b3BGaWxsQ29sb3IxJiYobi5kaD1zLnRvcEZpbGxDb2xvcjEpLHZvaWQgMCE9PXMudG9wRmlsbENvbG9yMiYmKG4uZmg9cy50b3BGaWxsQ29sb3IyKSx2b2lkIDAhPT1zLmJvdHRvbUZpbGxDb2xvcjEmJihuLnBoPXMuYm90dG9tRmlsbENvbG9yMSksdm9pZCAwIT09cy5ib3R0b21GaWxsQ29sb3IyJiYobi5taD1zLmJvdHRvbUZpbGxDb2xvcjIpLG59ZnVuY3Rpb24ganModCxpLHMsZSl7Y29uc3QgaD17JG46aSx3dDp0LFd0OltzLm9wZW4scy5oaWdoLHMubG93LHMuY2xvc2VdLFFyOmV9O3JldHVybiB2b2lkIDAhPT1zLmNvbG9yJiYoaC5SPXMuY29sb3IpLGh9ZnVuY3Rpb24gWHModCxpLHMsZSl7Y29uc3QgaD17JG46aSx3dDp0LFd0OltzLm9wZW4scy5oaWdoLHMubG93LHMuY2xvc2VdLFFyOmV9O3JldHVybiB2b2lkIDAhPT1zLmNvbG9yJiYoaC5SPXMuY29sb3IpLHZvaWQgMCE9PXMuYm9yZGVyQ29sb3ImJihoLkh0PXMuYm9yZGVyQ29sb3IpLHZvaWQgMCE9PXMud2lja0NvbG9yJiYoaC5oaD1zLndpY2tDb2xvciksaH1mdW5jdGlvbiBKcyh0LGkscyxlLGgpe2NvbnN0IG49YyhoKShzKSxyPU1hdGgubWF4KC4uLm4pLG89TWF0aC5taW4oLi4ubiksbD1uW24ubGVuZ3RoLTFdLGE9W2wscixvLGxdLHt0aW1lOnUsY29sb3I6ZiwuLi5kfT1zO3JldHVybnskbjppLHd0OnQsV3Q6YSxRcjplLHVlOmQsUjpmfX1mdW5jdGlvbiB0ZSh0KXtyZXR1cm4gdm9pZCAwIT09dC5XdH1mdW5jdGlvbiBpZSh0LGkpe3JldHVybiB2b2lkIDAhPT1pLmN1c3RvbVZhbHVlcyYmKHQuWk09aS5jdXN0b21WYWx1ZXMpLHR9ZnVuY3Rpb24gc2UodCl7cmV0dXJuKGkscyxlLGgsbixyKT0+ZnVuY3Rpb24odCxpKXtyZXR1cm4gaT9pKHQpOlpzKHQpfShlLHIpP2llKHt3dDppLCRuOnMsUXI6aH0sZSk6aWUodChpLHMsZSxoLG4pLGUpfWZ1bmN0aW9uIGVlKHQpe3JldHVybntDYW5kbGVzdGljazpzZShYcyksQmFyOnNlKGpzKSxBcmVhOnNlKFVzKSxCYXNlbGluZTpzZShZcyksSGlzdG9ncmFtOnNlKEdzKSxMaW5lOnNlKEdzKSxDdXN0b206c2UoSnMpfVt0XX1mdW5jdGlvbiBoZSh0KXtyZXR1cm57JG46MCxHTTpuZXcgTWFwLHphOnR9fWZ1bmN0aW9uIG5lKHQsaSl7aWYodm9pZCAwIT09dCYmMCE9PXQubGVuZ3RoKXJldHVybntYTTppLmtleSh0WzBdLnd0KSxKTTppLmtleSh0W3QubGVuZ3RoLTFdLnd0KX19ZnVuY3Rpb24gcmUodCl7bGV0IGk7cmV0dXJuIHQuZm9yRWFjaCgodD0+e3ZvaWQgMD09PWkmJihpPXQuUXIpfSkpLGMoaSl9Y2xhc3Mgb2V7Y29uc3RydWN0b3IodCl7dGhpcy5RTT1uZXcgTWFwLHRoaXMudGc9bmV3IE1hcCx0aGlzLmlnPW5ldyBNYXAsdGhpcy5uZz1bXSx0aGlzLnh1PXR9bSgpe3RoaXMuUU0uY2xlYXIoKSx0aGlzLnRnLmNsZWFyKCksdGhpcy5pZy5jbGVhcigpLHRoaXMubmc9W119c2codCxpKXtsZXQgcz0wIT09dGhpcy5RTS5zaXplLGU9ITE7Y29uc3QgaD10aGlzLnRnLmdldCh0KTtpZih2b2lkIDAhPT1oKWlmKDE9PT10aGlzLnRnLnNpemUpcz0hMSxlPSEwLHRoaXMuUU0uY2xlYXIoKTtlbHNlIGZvcihjb25zdCBpIG9mIHRoaXMubmcpaS5wb2ludERhdGEuR00uZGVsZXRlKHQpJiYoZT0hMCk7bGV0IG49W107aWYoMCE9PWkubGVuZ3RoKXtjb25zdCBzPWkubWFwKCh0PT50LnRpbWUpKSxoPXRoaXMueHUuY3JlYXRlQ29udmVydGVyVG9JbnRlcm5hbE9iaihpKSxyPWVlKHQuYmgoKSksbz10LmxsKCksbD10Lm9sKCk7bj1pLm1hcCgoKGksbik9Pntjb25zdCBhPWgoaS50aW1lKSx1PXRoaXMueHUua2V5KGEpO2xldCBjPXRoaXMuUU0uZ2V0KHUpO3ZvaWQgMD09PWMmJihjPWhlKGEpLHRoaXMuUU0uc2V0KHUsYyksZT0hMCk7Y29uc3QgZj1yKGEsYy4kbixpLHNbbl0sbyxsKTtyZXR1cm4gYy5HTS5zZXQodCxmKSxmfSkpfXMmJnRoaXMuZWcoKSx0aGlzLnJnKHQsbik7bGV0IHI9LTE7aWYoZSl7Y29uc3QgdD1bXTt0aGlzLlFNLmZvckVhY2goKGk9Pnt0LnB1c2goe3RpbWVXZWlnaHQ6MCx0aW1lOmkuemEscG9pbnREYXRhOmksb3JpZ2luYWxUaW1lOnJlKGkuR00pfSl9KSksdC5zb3J0KCgodCxpKT0+dGhpcy54dS5rZXkodC50aW1lKS10aGlzLnh1LmtleShpLnRpbWUpKSkscj10aGlzLmhnKHQpfXJldHVybiB0aGlzLmFnKHQscixmdW5jdGlvbih0LGkscyl7Y29uc3QgZT1uZSh0LHMpLGg9bmUoaSxzKTtpZih2b2lkIDAhPT1lJiZ2b2lkIDAhPT1oKXJldHVybntsZzohMSxJYTplLkpNPj1oLkpNJiZlLlhNPj1oLlhNfQp9KHRoaXMudGcuZ2V0KHQpLGgsdGhpcy54dSkpfUpkKHQpe3JldHVybiB0aGlzLnNnKHQsW10pfW9nKHQsaSxzKXtpZihzJiZ0Lk5hKCkpdGhyb3cgbmV3IEVycm9yKCJIaXN0b3JpY2FsIHVwZGF0ZXMgYXJlIG5vdCBzdXBwb3J0ZWQgd2hlbiBjb25mbGF0aW9uIGlzIGVuYWJsZWQuIENvbmZsYXRpb24gcmVxdWlyZXMgZGF0YSB0byBiZSBwcm9jZXNzZWQgaW4gb3JkZXIuIik7Y29uc3QgZT1pOyFmdW5jdGlvbih0KXt2b2lkIDA9PT10LlFyJiYodC5Rcj10LnRpbWUpfShlKSx0aGlzLnh1LnByZXByb2Nlc3NEYXRhKGkpO2NvbnN0IGg9dGhpcy54dS5jcmVhdGVDb252ZXJ0ZXJUb0ludGVybmFsT2JqKFtpXSkoaS50aW1lKSxuPXRoaXMuaWcuZ2V0KHQpO2lmKCFzJiZ2b2lkIDAhPT1uJiZ0aGlzLnh1LmtleShoKTx0aGlzLnh1LmtleShuKSl0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCB1cGRhdGUgb2xkZXN0IGRhdGEsIGxhc3QgdGltZT0ke259LCBuZXcgdGltZT0ke2h9YCk7bGV0IHI9dGhpcy5RTS5nZXQodGhpcy54dS5rZXkoaCkpO2lmKHMmJnZvaWQgMD09PXIpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgdXBkYXRlIG5vbi1leGlzdGluZyBkYXRhIHBvaW50IHdoZW4gaGlzdG9yaWNhbFVwZGF0ZSBpcyB0cnVlIik7Y29uc3Qgbz12b2lkIDA9PT1yO3ZvaWQgMD09PXImJihyPWhlKGgpLHRoaXMuUU0uc2V0KHRoaXMueHUua2V5KGgpLHIpKTtjb25zdCBsPWVlKHQuYmgoKSksYT10LmxsKCksdT10Lm9sKCksYz1sKGgsci4kbixpLGUuUXIsYSx1KSxmPSFzJiYhbyYmdm9pZCAwIT09biYmdGhpcy54dS5rZXkoaCk9PT10aGlzLnh1LmtleShuKTtyLkdNLnNldCh0LGMpLHM/dGhpcy5fZyh0LGMsci4kbik6ZiYmdC5OYSgpJiZ0ZShjKT8odC5ScihjKSx0aGlzLnVnKHQsYykpOnRoaXMudWcodCxjKTtjb25zdCBkPXtJYTp0ZShjKSxsZzpzfTtpZighbylyZXR1cm4gdGhpcy5hZyh0LC0xLGQpO2NvbnN0IG09e3RpbWVXZWlnaHQ6MCx0aW1lOnIuemEscG9pbnREYXRhOnIsb3JpZ2luYWxUaW1lOnJlKHIuR00pfSxwPU50KHRoaXMubmcsdGhpcy54dS5rZXkobS50aW1lKSwoKHQsaSk9PnRoaXMueHUua2V5KHQudGltZSk8aSkpO3RoaXMubmcuc3BsaWNlKHAsMCxtKTtmb3IobGV0IHQ9cDt0PHRoaXMubmcubGVuZ3RoOysrdClsZSh0aGlzLm5nW3RdLnBvaW50RGF0YSx0KTtyZXR1cm4gdGhpcy54dS5maWxsV2VpZ2h0c0ZvclBvaW50cyh0aGlzLm5nLHApLHRoaXMuYWcodCxwLGQpfWNnKHQsaSl7Y29uc3Qgcz10aGlzLnRnLmdldCh0KTtpZih2b2lkIDA9PT1zfHxpPD0wKXJldHVybltbXSx0aGlzLmRnKCldO2k9TWF0aC5taW4oaSxzLmxlbmd0aCk7Y29uc3QgZT1zLnNwbGljZSgtaSkucmV2ZXJzZSgpOzA9PT1zLmxlbmd0aD90aGlzLmlnLmRlbGV0ZSh0KTp0aGlzLmlnLnNldCh0LHNbcy5sZW5ndGgtMV0ud3QpO2Zvcihjb25zdCBpIG9mIGUpe2NvbnN0IHM9dGhpcy5RTS5nZXQodGhpcy54dS5rZXkoaS53dCkpO2lmKHMmJihzLkdNLmRlbGV0ZSh0KSwwPT09cy5HTS5zaXplKSl7dGhpcy5RTS5kZWxldGUodGhpcy54dS5rZXkocy56YSkpLHRoaXMubmcuc3BsaWNlKHMuJG4sMSk7Zm9yKGxldCB0PXMuJG47dDx0aGlzLm5nLmxlbmd0aDsrK3QpbGUodGhpcy5uZ1t0XS5wb2ludERhdGEsdCl9fXJldHVybltlLHRoaXMuYWcodCx0aGlzLm5nLmxlbmd0aC0xLHtsZzohMSxJYTohMX0pXX11Zyh0LGkpe2xldCBzPXRoaXMudGcuZ2V0KHQpO3ZvaWQgMD09PXMmJihzPVtdLHRoaXMudGcuc2V0KHQscykpO2NvbnN0IGU9MCE9PXMubGVuZ3RoP3Nbcy5sZW5ndGgtMV06bnVsbDtudWxsPT09ZXx8dGhpcy54dS5rZXkoaS53dCk+dGhpcy54dS5rZXkoZS53dCk/dGUoaSkmJnMucHVzaChpKTp0ZShpKT9zW3MubGVuZ3RoLTFdPWk6cy5zcGxpY2UoLTEsMSksdGhpcy5pZy5zZXQodCxpLnd0KX1fZyh0LGkscyl7Y29uc3QgZT10aGlzLnRnLmdldCh0KTtpZih2b2lkIDA9PT1lKXJldHVybjtjb25zdCBoPU50KGUscywoKHQsaSk9PnQuJG48aSkpO3RlKGkpP2VbaF09aTplLnNwbGljZShoLDEpfXJnKHQsaSl7MCE9PWkubGVuZ3RoPyh0aGlzLnRnLnNldCh0LGkuZmlsdGVyKHRlKSksdGhpcy5pZy5zZXQodCxpW2kubGVuZ3RoLTFdLnd0KSk6KHRoaXMudGcuZGVsZXRlKHQpLHRoaXMuaWcuZGVsZXRlKHQpKX1lZygpe2Zvcihjb25zdCB0IG9mIHRoaXMubmcpMD09PXQucG9pbnREYXRhLkdNLnNpemUmJnRoaXMuUU0uZGVsZXRlKHRoaXMueHUua2V5KHQudGltZSkpfWhnKHQpe2xldCBpPS0xO2ZvcihsZXQgcz0wO3M8dGhpcy5uZy5sZW5ndGgmJnM8dC5sZW5ndGg7KytzKXtjb25zdCBlPXRoaXMubmdbc10saD10W3NdO2lmKHRoaXMueHUua2V5KGUudGltZSkhPT10aGlzLnh1LmtleShoLnRpbWUpKXtpPXM7YnJlYWt9aC50aW1lV2VpZ2h0PWUudGltZVdlaWdodCxsZShoLnBvaW50RGF0YSxzKX1pZigtMT09PWkmJnRoaXMubmcubGVuZ3RoIT09dC5sZW5ndGgmJihpPU1hdGgubWluKHRoaXMubmcubGVuZ3RoLHQubGVuZ3RoKSksLTE9PT1pKXJldHVybi0xO2ZvcihsZXQgcz1pO3M8dC5sZW5ndGg7KytzKWxlKHRbc10ucG9pbnREYXRhLHMpO3JldHVybiB0aGlzLnh1LmZpbGxXZWlnaHRzRm9yUG9pbnRzKHQsaSksdGhpcy5uZz10LGl9ZmcoKXtpZigwPT09dGhpcy50Zy5zaXplKXJldHVybiBudWxsO2xldCB0PTA7cmV0dXJuIHRoaXMudGcuZm9yRWFjaCgoaT0+ezAhPT1pLmxlbmd0aCYmKHQ9TWF0aC5tYXgodCxpW2kubGVuZ3RoLTFdLiRuKSl9KSksdH1hZyh0LGkscyl7Y29uc3QgZT10aGlzLmRnKCk7aWYoLTEhPT1pKXRoaXMudGcuZm9yRWFjaCgoKGksaCk9PntlLlVfLnNldChoLHt1ZTppLHBnOmg9PT10P3M6dm9pZCAwfSl9KSksdGhpcy50Zy5oYXModCl8fGUuVV8uc2V0KHQse3VlOltdLHBnOnN9KSxlLkV0LnZnPXRoaXMubmcsZS5FdC5tZz1pO2Vsc2V7Y29uc3QgaT10aGlzLnRnLmdldCh0KTtlLlVfLnNldCh0LHt1ZTppfHxbXSxwZzpzfSl9cmV0dXJuIGV9ZGcoKXtyZXR1cm57VV86bmV3IE1hcCxFdDp7UGM6dGhpcy5mZygpfX19fWZ1bmN0aW9uIGxlKHQsaSl7dC4kbj1pLHQuR00uZm9yRWFjaCgodD0+e3QuJG49aQp9KSl9ZnVuY3Rpb24gYWUodCxpKXtyZXR1cm4gdC5fdDxpfWZ1bmN0aW9uIHVlKHQsaSl7cmV0dXJuIGk8dC5fdH1mdW5jdGlvbiBjZSh0LGkscyxlKXtyZXR1cm4gTnQodCxpLGFlLHMsZSl9ZnVuY3Rpb24gZmUodCxpLHMsZSl7cmV0dXJuIFR0KHQsaSx1ZSxzLGUpfWZ1bmN0aW9uIGRlKHQsaSxzKXtyZXR1cm57bmU6dCxzZTppLGVlOnN9fWZ1bmN0aW9uIG1lKHQsaSxzLGUpe3JldHVybiB0Pj1pLWUmJnQ8PXMrZX1mdW5jdGlvbiBwZSh0LGkscyxlLGgsbil7Y29uc3Qgcj1oLXMsbz1uLWU7aWYoMD09PXImJjA9PT1vKXJldHVybiBNYXRoLmh5cG90KHQtcyxpLWUpO2NvbnN0IGw9KCh0LXMpKnIrKGktZSkqbykvKHIqcitvKm8pLGE9TWF0aC5tYXgoMCxNYXRoLm1pbigxLGwpKSx1PXMrciphLGM9ZStvKmE7cmV0dXJuIE1hdGguaHlwb3QodC11LGktYyl9Y29uc3QgZ2U9WzAsMF07ZnVuY3Rpb24gdmUodCxpLHMpe3JldHVybiB2b2lkIDA9PT1pfHxpLnd0IT09dC53dC0xP3QuX3Qtcy8yOihpLl90K3QuX3QpLzJ9ZnVuY3Rpb24gYmUodCxpLHMpe3JldHVybiB2b2lkIDA9PT1pfHxpLnd0IT09dC53dCsxP3QuX3Qrcy8yOih0Ll90K2kuX3QpLzJ9ZnVuY3Rpb24gd2UodCxpLHMsZSxoLG4scil7aWYobnVsbD09PWl8fGkuZnJvbT49aS50b3x8MD09PXQubGVuZ3RoKXJldHVybiBudWxsO2NvbnN0IG89aC8yK24sbD1jZSh0LHMtbyxpLmZyb20saS50byksYT1mZSh0LHMrbyxsLGkudG8pO2lmKGw+PWEpcmV0dXJuIG51bGw7bGV0IHU9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZO2ZvcihsZXQgbz1sO288YTtvKyspe2NvbnN0IGw9dFtvXSxhPW8+aS5mcm9tP3Rbby0xXTp2b2lkIDAsYz1vPGkudG8tMT90W28rMV06dm9pZCAwLGY9dmUobCxhLGgpLW4sZD1iZShsLGMsaCkrbjtpZihzPGZ8fHM+ZCljb250aW51ZTtyKGwsZ2UpO2NvbnN0IG09Z2VbMF0scD1nZVsxXSxnPU1hdGgubWluKG0scCksdj1NYXRoLm1heChtLHApLGI9Zy1uLHc9dituO2lmKGU+PWcmJmU8PXYpdT1NYXRoLm1pbih1LDApO2Vsc2UgaWYoZT49YiYmZTw9dyl7Y29uc3QgdD1NYXRoLm1pbihNYXRoLmFicyhlLWcpLE1hdGguYWJzKHYtZSkpO3U9TWF0aC5taW4odSx0KX19cmV0dXJuIE51bWJlci5pc0Zpbml0ZSh1KT9kZSh1LDAsInNlcmllcy1yYW5nZSIpOm51bGx9ZnVuY3Rpb24gTWUodCxpKXtyZXR1cm4gdC53dDxpfWZ1bmN0aW9uIHllKHQsaSl7cmV0dXJuIGk8dC53dH1mdW5jdGlvbiBTZSh0LGkscyl7Y29uc3QgZT1pLk9hKCksaD1pLmJpKCksbj1OdCh0LGUsTWUpLHI9VHQodCxoLHllKTtpZighcylyZXR1cm57ZnJvbTpuLHRvOnJ9O2xldCBvPW4sbD1yO3JldHVybiBuPjAmJm48dC5sZW5ndGgmJnRbbl0ud3Q+PWUmJihvPW4tMSkscj4wJiZyPHQubGVuZ3RoJiZ0W3ItMV0ud3Q8PWgmJihsPXIrMSkse2Zyb206byx0bzpsfX1jbGFzcyB4ZXtjb25zdHJ1Y3Rvcih0LGkscyl7dGhpcy53Zz0hMCx0aGlzLk1nPSEwLHRoaXMuZ2c9ITAsdGhpcy5iZz1bXSx0aGlzLlNnPW51bGwsdGhpcy54Zz0tMSx0aGlzLmFlPXQsdGhpcy5sZT1pLHRoaXMuQ2c9c31rdCh0KXt0aGlzLndnPSEwLCJkYXRhIj09PXQmJih0aGlzLk1nPSEwKSwib3B0aW9ucyI9PT10JiYodGhpcy5nZz0hMCl9VHQoKXtyZXR1cm4gdGhpcy5hZS5JdCgpPyh0aGlzLnlnKCksbnVsbD09PXRoaXMuU2c/bnVsbDp0aGlzLmtnKTpudWxsfVFzKHQsaSl7cmV0dXJuIHRoaXMuYWUuSXQoKT8odGhpcy55ZygpLG51bGw9PT10aGlzLlNnP251bGw6dGhpcy5QZyh0LGkpKTpudWxsfVBnKHQsaSl7cmV0dXJuIG51bGx9VGcoKXt0aGlzLmJnPXRoaXMuYmcubWFwKCh0PT4oey4uLnQsLi4udGhpcy5hZS5TYSgpLlNoKHQud3QpfSkpKX1SZygpe3RoaXMuU2c9bnVsbH15Zygpe2NvbnN0IHQ9dGhpcy5sZS5FdCgpLGk9dC5OKCkuZW5hYmxlQ29uZmxhdGlvbj90LlFjKCk6MDtpIT09dGhpcy54ZyYmKHRoaXMuTWc9ITAsdGhpcy54Zz1pKSx0aGlzLk1nJiYodGhpcy5EZygpLHRoaXMuTWc9ITEpLHRoaXMuZ2cmJih0aGlzLlRnKCksdGhpcy5nZz0hMSksdGhpcy53ZyYmKHRoaXMuSWcoKSx0aGlzLndnPSExKX1JZygpe2NvbnN0IHQ9dGhpcy5hZS5GdCgpLGk9dGhpcy5sZS5FdCgpO2lmKHRoaXMuUmcoKSxpLkdpKCl8fHQuR2koKSlyZXR1cm47Y29uc3Qgcz1pLkVlKCk7aWYobnVsbD09PXMpcmV0dXJuO2lmKDA9PT10aGlzLmFlLlVuKCkuVGgoKSlyZXR1cm47Y29uc3QgZT10aGlzLmFlLkx0KCk7bnVsbCE9PWUmJih0aGlzLlNnPVNlKHRoaXMuYmcscyx0aGlzLkNnKSx0aGlzLlZnKHQsaSxlLld0KSx0aGlzLkJnKCkpfX1jbGFzcyBfZXtjb25zdHJ1Y3Rvcih0LGkpe3RoaXMuRWc9dCx0aGlzLktpPWl9c3QodCxpLHMpe3RoaXMuRWcuZHJhdyh0LHRoaXMuS2ksaSxzKX19ZnVuY3Rpb24gQ2UodCl7c3dpdGNoKHQpe2Nhc2UicG9pbnQiOnJldHVybiAyO2Nhc2UicmFuZ2UiOnJldHVybiAwO2RlZmF1bHQ6cmV0dXJuIDF9fWNsYXNzIGtlIGV4dGVuZHMgeGV7Y29uc3RydWN0b3IodCxpLHMpe3N1cGVyKHQsaSwhMSksdGhpcy5ZaD1zLHRoaXMuRWc9dGhpcy5ZaC5yZW5kZXJlcigpLHRoaXMua2c9bmV3IF9lKHRoaXMuRWcsKHQ9PnRoaXMuQWcodCkpKX1nZXQgZ2EoKXtyZXR1cm4gdGhpcy5ZaC5jb25mbGF0aW9uUmVkdWNlcn1XYSh0KXtyZXR1cm4gdGhpcy5ZaC5wcmljZVZhbHVlQnVpbGRlcih0KX1fbCh0KXtyZXR1cm4gdGhpcy5ZaC5pc1doaXRlc3BhY2UodCl9UGcodCxpKXtjb25zdCBzPXRoaXMuRWcuaGl0VGVzdD8uKHQsaSwodD0+dGhpcy5BZyh0KSkpO2lmKG51bGwhPXMpcmV0dXJue25lOihlPXMpLmRpc3RhbmNlLHNlOkNlKGUudHlwZSksZWU6ImN1c3RvbSIsbXU6ZS5jdXJzb3JTdHlsZSx0ZTplLm9iamVjdElkLGllOmUuaGl0VGVzdERhdGF9O3ZhciBlO2NvbnN0IGg9d2UodGhpcy5iZyx0aGlzLlNnLHQsaSx0aGlzLmxlLkV0KCkuZmwoKSx0aGlzLmFlLk4oKS5oaXRUZXN0VG9sZXJhbmNlLCgodCxpKT0+e2NvbnN0IHM9dC5MZztsZXQgZT1OYU4saD1OYU4KO2lmKHZvaWQgMCE9PXMmJiF0aGlzLlloLmlzV2hpdGVzcGFjZShzKSlmb3IoY29uc3QgdCBvZiB0aGlzLlloLnByaWNlVmFsdWVCdWlsZGVyKHMpKXtjb25zdCBpPXRoaXMuQWcodCk7bnVsbCE9PWkmJihlPU51bWJlci5pc05hTihlKT9pOk1hdGgubWluKGUsaSksaD1OdW1iZXIuaXNOYU4oaCk/aTpNYXRoLm1heChoLGkpKX1pWzBdPWUsaVsxXT1ofSkpO3JldHVybiBudWxsPT09aD9udWxsOnsuLi5oLGVlOiJjdXN0b20ifX1EZygpe2NvbnN0IHQ9dGhpcy5hZS5TYSgpO3RoaXMuYmc9dGhpcy5hZS5IYSgpLkJoKCkubWFwKChpPT4oe3d0OmkuJG4sX3Q6TmFOLC4uLnQuU2goaS4kbiksTGc6aS51ZX0pKSl9VmcodCxpKXtpLlRjKHRoaXMuYmcsUyh0aGlzLlNnKSl9QmcoKXt0aGlzLlloLnVwZGF0ZSh7YmFyczp0aGlzLmJnLm1hcChFZSksYmFyU3BhY2luZzp0aGlzLmxlLkV0KCkuZmwoKSx2aXNpYmxlUmFuZ2U6dGhpcy5TZyxjb25mbGF0aW9uRmFjdG9yOnRoaXMubGUuRXQoKS5RYygpfSx0aGlzLmFlLk4oKSl9QWcodCl7Y29uc3QgaT10aGlzLmFlLkx0KCk7cmV0dXJuIG51bGw9PT1pP251bGw6dGhpcy5hZS5GdCgpLk50KHQsaS5XdCl9fWZ1bmN0aW9uIEVlKHQpe3JldHVybnt4OnQuX3QsdGltZTp0Lnd0LG9yaWdpbmFsRGF0YTp0LkxnLGJhckNvbG9yOnQuc2h9fWNvbnN0IE5lPXtjb2xvcjoiIzIxOTZmMyJ9LFRlPSh0LGkscyk9Pntjb25zdCBlPWQocyk7cmV0dXJuIG5ldyBrZSh0LGksZSl9O2Z1bmN0aW9uIFJlKHQpe2NvbnN0IGk9e3ZhbHVlOnQuV3RbM10sdGltZTp0LlFyfTtyZXR1cm4gdm9pZCAwIT09dC5aTSYmKGkuY3VzdG9tVmFsdWVzPXQuWk0pLGl9ZnVuY3Rpb24gUGUodCl7Y29uc3QgaT1SZSh0KTtyZXR1cm4gdm9pZCAwIT09dC5SJiYoaS5jb2xvcj10LlIpLGl9ZnVuY3Rpb24gemUodCl7Y29uc3QgaT1SZSh0KTtyZXR1cm4gdm9pZCAwIT09dC52dCYmKGkubGluZUNvbG9yPXQudnQpLHZvaWQgMCE9PXQuYWgmJihpLnRvcENvbG9yPXQuYWgpLHZvaWQgMCE9PXQub2gmJihpLmJvdHRvbUNvbG9yPXQub2gpLGl9ZnVuY3Rpb24gSWUodCl7Y29uc3QgaT1SZSh0KTtyZXR1cm4gdm9pZCAwIT09dC5faCYmKGkudG9wTGluZUNvbG9yPXQuX2gpLHZvaWQgMCE9PXQudWgmJihpLmJvdHRvbUxpbmVDb2xvcj10LnVoKSx2b2lkIDAhPT10LmRoJiYoaS50b3BGaWxsQ29sb3IxPXQuZGgpLHZvaWQgMCE9PXQuZmgmJihpLnRvcEZpbGxDb2xvcjI9dC5maCksdm9pZCAwIT09dC5waCYmKGkuYm90dG9tRmlsbENvbG9yMT10LnBoKSx2b2lkIDAhPT10Lm1oJiYoaS5ib3R0b21GaWxsQ29sb3IyPXQubWgpLGl9ZnVuY3Rpb24gTGUodCl7Y29uc3QgaT17b3Blbjp0Lld0WzBdLGhpZ2g6dC5XdFsxXSxsb3c6dC5XdFsyXSxjbG9zZTp0Lld0WzNdLHRpbWU6dC5Rcn07cmV0dXJuIHZvaWQgMCE9PXQuWk0mJihpLmN1c3RvbVZhbHVlcz10LlpNKSxpfWZ1bmN0aW9uIEZlKHQpe2NvbnN0IGk9TGUodCk7cmV0dXJuIHZvaWQgMCE9PXQuUiYmKGkuY29sb3I9dC5SKSxpfWZ1bmN0aW9uIHFlKHQpe2NvbnN0IGk9TGUodCkse1I6cyxIdDplLGhoOmh9PXQ7cmV0dXJuIHZvaWQgMCE9PXMmJihpLmNvbG9yPXMpLHZvaWQgMCE9PWUmJihpLmJvcmRlckNvbG9yPWUpLHZvaWQgMCE9PWgmJihpLndpY2tDb2xvcj1oKSxpfWZ1bmN0aW9uIFdlKHQpe3JldHVybntBcmVhOnplLExpbmU6UGUsQmFzZWxpbmU6SWUsSGlzdG9ncmFtOlBlLEJhcjpGZSxDYW5kbGVzdGljazpxZSxDdXN0b206UWV9W3RdfWZ1bmN0aW9uIFFlKHQpe2NvbnN0IGk9dC5RcjtyZXR1cm57Li4udC51ZSx0aW1lOml9fWNvbnN0IERlPXt2ZXJ0TGluZTp7Y29sb3I6IiM5NTk4QTEiLHdpZHRoOjEsc3R5bGU6Myx2aXNpYmxlOiEwLGxhYmVsVmlzaWJsZTohMCxsYWJlbEJhY2tncm91bmRDb2xvcjoiIzEzMTcyMiJ9LGhvcnpMaW5lOntjb2xvcjoiIzk1OThBMSIsd2lkdGg6MSxzdHlsZTozLHZpc2libGU6ITAsbGFiZWxWaXNpYmxlOiEwLGxhYmVsQmFja2dyb3VuZENvbG9yOiIjMTMxNzIyIn0sbW9kZToxLGRvTm90U25hcFRvSGlkZGVuU2VyaWVzSW5kaWNlczohMX0sT2U9e3ZlcnRMaW5lczp7Y29sb3I6IiNENkRDREUiLHN0eWxlOjAsdmlzaWJsZTohMH0saG9yekxpbmVzOntjb2xvcjoiI0Q2RENERSIsc3R5bGU6MCx2aXNpYmxlOiEwfX0sS2U9e2JhY2tncm91bmQ6e3R5cGU6InNvbGlkIixjb2xvcjoiI0ZGRkZGRiJ9LHRleHRDb2xvcjoiIzE5MTkxOSIsZm9udFNpemU6MTIsZm9udEZhbWlseTp4LHBhbmVzOntlbmFibGVSZXNpemU6ITAsc2VwYXJhdG9yQ29sb3I6IiNFMEUzRUIiLHNlcGFyYXRvckhvdmVyQ29sb3I6InJnYmEoMTc4LCAxODEsIDE4OSwgMC4yKSJ9LGF0dHJpYnV0aW9uTG9nbzohMCxjb2xvclNwYWNlOiJzcmdiIixjb2xvclBhcnNlcnM6W119LFZlPXthdXRvU2NhbGU6ITAsbW9kZTowLGludmVydFNjYWxlOiExLGFsaWduTGFiZWxzOiEwLGJvcmRlclZpc2libGU6ITAsYm9yZGVyQ29sb3I6IiMyQjJCNDMiLGVudGlyZVRleHRPbmx5OiExLHZpc2libGU6ITEsdGlja3NWaXNpYmxlOiExLHNjYWxlTWFyZ2luczp7Ym90dG9tOi4xLHRvcDouMn0sbWluaW11bVdpZHRoOjAsZW5zdXJlRWRnZVRpY2tNYXJrc1Zpc2libGU6ITEsdGlja01hcmtEZW5zaXR5OjIuNX0sJGU9e3JpZ2h0T2Zmc2V0OjAsYmFyU3BhY2luZzo2LG1pbkJhclNwYWNpbmc6LjUsbWF4QmFyU3BhY2luZzowLGZpeExlZnRFZGdlOiExLGZpeFJpZ2h0RWRnZTohMSxsb2NrVmlzaWJsZVRpbWVSYW5nZU9uUmVzaXplOiExLHJpZ2h0QmFyU3RheXNPblNjcm9sbDohMSxib3JkZXJWaXNpYmxlOiEwLGJvcmRlckNvbG9yOiIjMkIyQjQzIix2aXNpYmxlOiEwLHRpbWVWaXNpYmxlOiExLHNlY29uZHNWaXNpYmxlOiEwLHNoaWZ0VmlzaWJsZVJhbmdlT25OZXdCYXI6ITAsYWxsb3dTaGlmdFZpc2libGVSYW5nZU9uV2hpdGVzcGFjZVJlcGxhY2VtZW50OiExLHRpY2tzVmlzaWJsZTohMSx1bmlmb3JtRGlzdHJpYnV0aW9uOiExLG1pbmltdW1IZWlnaHQ6MCxhbGxvd0JvbGRMYWJlbHM6ITAsaWdub3JlV2hpdGVzcGFjZUluZGljZXM6ITEsZW5hYmxlQ29uZmxhdGlvbjohMSwKY29uZmxhdGlvblRocmVzaG9sZEZhY3RvcjoxLHByZWNvbXB1dGVDb25mbGF0aW9uT25Jbml0OiExLHByZWNvbXB1dGVDb25mbGF0aW9uUHJpb3JpdHk6ImJhY2tncm91bmQifTtmdW5jdGlvbiBCZSgpe3JldHVybnthZGREZWZhdWx0UGFuZTohMCxob3ZlcmVkU2VyaWVzT25Ub3A6ITAsd2lkdGg6MCxoZWlnaHQ6MCxhdXRvU2l6ZTohMSxsYXlvdXQ6S2UsY3Jvc3NoYWlyOkRlLGdyaWQ6T2Usb3ZlcmxheVByaWNlU2NhbGVzOnsuLi5WZX0sbGVmdFByaWNlU2NhbGU6ey4uLlZlLHZpc2libGU6ITF9LHJpZ2h0UHJpY2VTY2FsZTp7Li4uVmUsdmlzaWJsZTohMH0sZGVmYXVsdFZpc2libGVQcmljZVNjYWxlSWQ6InJpZ2h0Iix0aW1lU2NhbGU6JGUsbG9jYWxpemF0aW9uOntsb2NhbGU6bHM/bmF2aWdhdG9yLmxhbmd1YWdlOiIiLGRhdGVGb3JtYXQ6ImRkIE1NTSAneXkifSxoYW5kbGVTY3JvbGw6e21vdXNlV2hlZWw6ITAscHJlc3NlZE1vdXNlTW92ZTohMCxob3J6VG91Y2hEcmFnOiEwLHZlcnRUb3VjaERyYWc6ITB9LGhhbmRsZVNjYWxlOntheGlzUHJlc3NlZE1vdXNlTW92ZTp7dGltZTohMCxwcmljZTohMH0sYXhpc0RvdWJsZUNsaWNrUmVzZXQ6e3RpbWU6ITAscHJpY2U6ITB9LG1vdXNlV2hlZWw6ITAscGluY2g6ITB9LGtpbmV0aWNTY3JvbGw6e21vdXNlOiExLHRvdWNoOiEwfSx0cmFja2luZ01vZGU6e2V4aXRNb2RlOjF9fX1jbGFzcyBBZXtjb25zdHJ1Y3Rvcih0LGkscyl7dGhpcy5zdj10LHRoaXMuemc9aSx0aGlzLk9nPXM/PzB9YXBwbHlPcHRpb25zKHQpe3RoaXMuc3YuUXQoKS5QZCh0aGlzLnpnLHQsdGhpcy5PZyl9b3B0aW9ucygpe3JldHVybiB0aGlzLktpKCkuTigpfXdpZHRoKCl7cmV0dXJuIGoodGhpcy56Zyk/dGhpcy5zdi5DTSh0aGlzLnpnKTowfXNldFZpc2libGVSYW5nZSh0KXt0aGlzLnNldEF1dG9TY2FsZSghMSksdGhpcy5LaSgpLnFvKG5ldyB2dCh0LmZyb20sdC50bykpfWdldFZpc2libGVSYW5nZSgpe2xldCB0LGkscz10aGlzLktpKCkuYXIoKTtpZihudWxsPT09cylyZXR1cm4gbnVsbDtpZih0aGlzLktpKCkuc28oKSl7Y29uc3QgZT10aGlzLktpKCkuTV8oKSxoPUFpKGUpO3M9bWkocyx0aGlzLktpKCkucm8oKSksdD1OdW1iZXIoKE1hdGgucm91bmQocy5KZSgpL2UpKmUpLnRvRml4ZWQoaCkpLGk9TnVtYmVyKChNYXRoLnJvdW5kKHMuUWUoKS9lKSplKS50b0ZpeGVkKGgpKX1lbHNlIHQ9cy5KZSgpLGk9cy5RZSgpO3JldHVybntmcm9tOnQsdG86aX19c2V0QXV0b1NjYWxlKHQpe3RoaXMuYXBwbHlPcHRpb25zKHthdXRvU2NhbGU6dH0pfUtpKCl7cmV0dXJuIGYodGhpcy5zdi5RdCgpLlRkKHRoaXMuemcsdGhpcy5PZykpLkZ0fX1jbGFzcyBaZXtjb25zdHJ1Y3Rvcih0LGkscyxlKXt0aGlzLnN2PXQsdGhpcy55dD1zLHRoaXMuTmc9aSx0aGlzLkZnPWV9Z2V0SGVpZ2h0KCl7cmV0dXJuIHRoaXMueXQuJHQoKX1zZXRIZWlnaHQodCl7Y29uc3QgaT10aGlzLnN2LlF0KCkscz1pLmhmKHRoaXMueXQpO2kuQmQocyx0KX1nZXRTdHJldGNoRmFjdG9yKCl7cmV0dXJuIHRoaXMueXQuel8oKX1zZXRTdHJldGNoRmFjdG9yKHQpe3RoaXMueXQuT18odCksdGhpcy5zdi5RdCgpLlBhKCl9cGFuZUluZGV4KCl7cmV0dXJuIHRoaXMuc3YuUXQoKS5oZih0aGlzLnl0KX1tb3ZlVG8odCl7Y29uc3QgaT10aGlzLnBhbmVJbmRleCgpO2khPT10JiYodSh0Pj0wJiZ0PHRoaXMuc3YucnYoKS5sZW5ndGgsIkludmFsaWQgcGFuZSBpbmRleCIpLHRoaXMuc3YuUXQoKS5BZChpLHQpKX1nZXRTZXJpZXMoKXtyZXR1cm4gdGhpcy55dC5VXygpLm1hcCgodD0+dGhpcy5OZyh0KSkpPz9bXX1nZXRIVE1MRWxlbWVudCgpe2NvbnN0IHQ9dGhpcy5zdi5ydigpO3JldHVybiB0JiYwIT09dC5sZW5ndGgmJnRbdGhpcy5wYW5lSW5kZXgoKV0/dFt0aGlzLnBhbmVJbmRleCgpXS51digpOm51bGx9YXR0YWNoUHJpbWl0aXZlKHQpe3RoaXMueXQuaGwodCksdC5hdHRhY2hlZCYmdC5hdHRhY2hlZCh7Y2hhcnQ6dGhpcy5GZyxyZXF1ZXN0VXBkYXRlOigpPT50aGlzLnl0LlF0KCkuUGEoKX0pfWRldGFjaFByaW1pdGl2ZSh0KXt0aGlzLnl0LmFsKHQpfXByaWNlU2NhbGUodCl7aWYobnVsbD09PXRoaXMueXQuQV8odCkpdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgZmluZCBwcmljZSBzY2FsZSB3aXRoIGlkOiAke3R9YCk7cmV0dXJuIG5ldyBBZSh0aGlzLnN2LHQsdGhpcy5wYW5lSW5kZXgoKSl9c2V0UHJlc2VydmVFbXB0eVBhbmUodCl7dGhpcy55dC5XXyh0KX1wcmVzZXJ2ZUVtcHR5UGFuZSgpe3JldHVybiB0aGlzLnl0LkhfKCl9YWRkQ3VzdG9tU2VyaWVzKHQsaT17fSxzPTApe3JldHVybiB0aGlzLkZnLmFkZEN1c3RvbVNlcmllcyh0LGkscyl9YWRkU2VyaWVzKHQsaT17fSl7cmV0dXJuIHRoaXMuRmcuYWRkU2VyaWVzKHQsaSx0aGlzLnBhbmVJbmRleCgpKX19Y29uc3QgSGU9e2NvbG9yOiIjRkYwMDAwIixwcmljZTowLGxpbmVTdHlsZToyLGxpbmVXaWR0aDoxLGxpbmVWaXNpYmxlOiEwLGF4aXNMYWJlbFZpc2libGU6ITAsdGl0bGU6IiIsYXhpc0xhYmVsQ29sb3I6IiIsYXhpc0xhYmVsVGV4dENvbG9yOiIifTtjbGFzcyBHZXtjb25zdHJ1Y3Rvcih0KXt0aGlzLl9yPXR9YXBwbHlPcHRpb25zKHQpe3RoaXMuX3IudnIodCl9b3B0aW9ucygpe3JldHVybiB0aGlzLl9yLk4oKX1XZygpe3JldHVybiB0aGlzLl9yfX1jbGFzcyBVZXtjb25zdHJ1Y3Rvcih0LGkscyxlLGgsbil7dGhpcy5IZz1uZXcgbSx0aGlzLmFlPXQsdGhpcy5VZz1pLHRoaXMuJGc9cyx0aGlzLnh1PWgsdGhpcy5GZz1lLHRoaXMuamc9bn1tKCl7dGhpcy5IZy5tKCl9cHJpY2VGb3JtYXR0ZXIoKXtyZXR1cm4gdGhpcy5hZS50bCgpfXByaWNlVG9Db29yZGluYXRlKHQpe2NvbnN0IGk9dGhpcy5hZS5MdCgpO3JldHVybiBudWxsPT09aT9udWxsOnRoaXMuYWUuRnQoKS5OdCh0LGkuV3QpfWNvb3JkaW5hdGVUb1ByaWNlKHQpe2NvbnN0IGk9dGhpcy5hZS5MdCgpO3JldHVybiBudWxsPT09aT9udWxsOnRoaXMuYWUuRnQoKS5Ubih0LGkuV3QpfWJhcnNJbkxvZ2ljYWxSYW5nZSh0KXtpZihudWxsPT09dClyZXR1cm4gbnVsbAo7Y29uc3QgaT1uZXcgcWkobmV3IElpKHQuZnJvbSx0LnRvKSkuRnUoKSxzPXRoaXMuYWUuVW4oKTtpZihzLkdpKCkpcmV0dXJuIG51bGw7Y29uc3QgZT1zLkhuKGkuT2EoKSwxKSxoPXMuSG4oaS5iaSgpLC0xKSxuPWYocy5SaCgpKSxyPWYocy5RbigpKTtpZihudWxsIT09ZSYmbnVsbCE9PWgmJmUuJG4+aC4kbilyZXR1cm57YmFyc0JlZm9yZTp0LmZyb20tbixiYXJzQWZ0ZXI6ci10LnRvfTtjb25zdCBvPXtiYXJzQmVmb3JlOm51bGw9PT1lfHxlLiRuPT09bj90LmZyb20tbjplLiRuLW4sYmFyc0FmdGVyOm51bGw9PT1ofHxoLiRuPT09cj9yLXQudG86ci1oLiRufTtyZXR1cm4gbnVsbCE9PWUmJm51bGwhPT1oJiYoby5mcm9tPWUuUXIsby50bz1oLlFyKSxvfXNldERhdGEodCl7dGhpcy54dSx0aGlzLmFlLmJoKCksdGhpcy5VZy5xZyh0aGlzLmFlLHQpLHRoaXMuWWcoImZ1bGwiKX11cGRhdGUodCxpPSExKXt0aGlzLmFlLmJoKCksdGhpcy5VZy5LZyh0aGlzLmFlLHQsaSksdGhpcy5ZZygidXBkYXRlIil9cG9wKHQ9MSl7Y29uc3QgaT10aGlzLlVnLlpnKHRoaXMuYWUsdCk7MCE9PWkubGVuZ3RoJiZ0aGlzLllnKCJ1cGRhdGUiKTtjb25zdCBzPVdlKHRoaXMuc2VyaWVzVHlwZSgpKTtyZXR1cm4gaS5tYXAoKHQ9PnModCkpKX1kYXRhQnlJbmRleCh0LGkpe2NvbnN0IHM9dGhpcy5hZS5VbigpLkhuKHQsaSk7cmV0dXJuIG51bGw9PT1zP251bGw6V2UodGhpcy5zZXJpZXNUeXBlKCkpKHMpfWRhdGEoKXtjb25zdCB0PVdlKHRoaXMuc2VyaWVzVHlwZSgpKTtyZXR1cm4gdGhpcy5hZS5VbigpLkJoKCkubWFwKChpPT50KGkpKSl9c3Vic2NyaWJlRGF0YUNoYW5nZWQodCl7dGhpcy5IZy5pKHQpfXVuc3Vic2NyaWJlRGF0YUNoYW5nZWQodCl7dGhpcy5IZy5fKHQpfWFwcGx5T3B0aW9ucyh0KXt0aGlzLmFlLnZyKHQpfW9wdGlvbnMoKXtyZXR1cm4gTSh0aGlzLmFlLk4oKSl9cHJpY2VTY2FsZSgpe3JldHVybiB0aGlzLiRnLnByaWNlU2NhbGUodGhpcy5hZS5GdCgpLmNsKCksdGhpcy5nZXRQYW5lKCkucGFuZUluZGV4KCkpfWNyZWF0ZVByaWNlTGluZSh0KXtjb25zdCBpPXAoTShIZSksdCkscz10aGlzLmFlLkJhKGkpO3JldHVybiBuZXcgR2Uocyl9cmVtb3ZlUHJpY2VMaW5lKHQpe3RoaXMuYWUuRWEodC5XZygpKX1wcmljZUxpbmVzKCl7cmV0dXJuIHRoaXMuYWUuQWEoKS5tYXAoKHQ9Pm5ldyBHZSh0KSkpfXNlcmllc1R5cGUoKXtyZXR1cm4gdGhpcy5hZS5iaCgpfWxhc3RWYWx1ZURhdGEodCl7Y29uc3QgaT10aGlzLmFlLkFlKHQpO3JldHVybiBpLkxlP3tub0RhdGE6ITB9Ontub0RhdGE6ITEscHJpY2U6aS5NdCxjb2xvcjppLlJ9fWF0dGFjaFByaW1pdGl2ZSh0KXt0aGlzLmFlLmhsKHQpLHQuYXR0YWNoZWQmJnQuYXR0YWNoZWQoe2NoYXJ0OnRoaXMuRmcsc2VyaWVzOnRoaXMscmVxdWVzdFVwZGF0ZTooKT0+dGhpcy5hZS5RdCgpLlBhKCksaG9yelNjYWxlQmVoYXZpb3I6dGhpcy54dX0pfWRldGFjaFByaW1pdGl2ZSh0KXt0aGlzLmFlLmFsKHQpLHQuZGV0YWNoZWQmJnQuZGV0YWNoZWQoKSx0aGlzLmFlLlF0KCkuUGEoKX1nZXRQYW5lKCl7Y29uc3QgdD10aGlzLmFlLGk9Zih0aGlzLmFlLlF0KCkuS3ModCkpO3JldHVybiB0aGlzLmpnKGkpfW1vdmVUb1BhbmUodCl7dGhpcy5hZS5RdCgpLm5mKHRoaXMuYWUsdCl9c2VyaWVzT3JkZXIoKXtjb25zdCB0PXRoaXMuYWUuUXQoKS5Lcyh0aGlzLmFlKTtyZXR1cm4gbnVsbD09PXQ/LTE6dC5VXygpLmluZGV4T2YodGhpcy5hZSl9c2V0U2VyaWVzT3JkZXIodCl7Y29uc3QgaT10aGlzLmFlLlF0KCkuS3ModGhpcy5hZSk7bnVsbCE9PWkmJmkuZHUodGhpcy5hZSx0KX1ZZyh0KXt0aGlzLkhnLnYoKSYmdGhpcy5IZy5wKHQpfX1jbGFzcyBZZXtjb25zdHJ1Y3Rvcih0LGkscyl7dGhpcy5HZz1uZXcgbSx0aGlzLkd1PW5ldyBtLHRoaXMuQnc9bmV3IG0sdGhpcy5zbj10LHRoaXMuaWE9dC5FdCgpLHRoaXMuX009aSx0aGlzLmlhLlljKCkuaSh0aGlzLlhnLmJpbmQodGhpcykpLHRoaXMuaWEuS2MoKS5pKHRoaXMuSmcuYmluZCh0aGlzKSksdGhpcy5fTS5GdygpLmkodGhpcy5RZy5iaW5kKHRoaXMpKSx0aGlzLnh1PXN9bSgpe3RoaXMuaWEuWWMoKS51KHRoaXMpLHRoaXMuaWEuS2MoKS51KHRoaXMpLHRoaXMuX00uRncoKS51KHRoaXMpLHRoaXMuR2cubSgpLHRoaXMuR3UubSgpLHRoaXMuQncubSgpfXNjcm9sbFBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuaWEuQWMoKX1zY3JvbGxUb1Bvc2l0aW9uKHQsaSl7aT90aGlzLmlhLiRjKHQsMWUzKTp0aGlzLnNuLmdzKHQpfXNjcm9sbFRvUmVhbFRpbWUoKXt0aGlzLmlhLlVjKCl9Z2V0VmlzaWJsZVJhbmdlKCl7Y29uc3QgdD10aGlzLmlhLmdjKCk7cmV0dXJuIG51bGw9PT10P251bGw6e2Zyb206dC5mcm9tLm9yaWdpbmFsVGltZSx0bzp0LnRvLm9yaWdpbmFsVGltZX19c2V0VmlzaWJsZVJhbmdlKHQpe2NvbnN0IGk9e2Zyb206dGhpcy54dS5jb252ZXJ0SG9yekl0ZW1Ub0ludGVybmFsKHQuZnJvbSksdG86dGhpcy54dS5jb252ZXJ0SG9yekl0ZW1Ub0ludGVybmFsKHQudG8pfSxzPXRoaXMuaWEuQ2MoaSk7dGhpcy5zbi50ZihzKX1nZXRWaXNpYmxlTG9naWNhbFJhbmdlKCl7Y29uc3QgdD10aGlzLmlhLk1jKCk7cmV0dXJuIG51bGw9PT10P251bGw6e2Zyb206dC5PYSgpLHRvOnQuYmkoKX19c2V0VmlzaWJsZUxvZ2ljYWxSYW5nZSh0KXt1KHQuZnJvbTw9dC50bywiVGhlIGZyb20gaW5kZXggY2Fubm90IGJlIGFmdGVyIHRoZSB0byBpbmRleC4iKSx0aGlzLnNuLnRmKHQpfXJlc2V0VGltZVNjYWxlKCl7dGhpcy5zbi53cygpfWZpdENvbnRlbnQoKXt0aGlzLnNuLlhjKCl9bG9naWNhbFRvQ29vcmRpbmF0ZSh0KXtjb25zdCBpPXRoaXMuc24uRXQoKTtyZXR1cm4gaS5HaSgpP251bGw6aS5qdCh0KX1jb29yZGluYXRlVG9Mb2dpY2FsKHQpe3JldHVybiB0aGlzLmlhLkdpKCk/bnVsbDp0aGlzLmlhLlJjKHQpfXRpbWVUb0luZGV4KHQsaSl7Y29uc3Qgcz10aGlzLnh1LmNvbnZlcnRIb3J6SXRlbVRvSW50ZXJuYWwodCk7cmV0dXJuIHRoaXMuaWEudmMocyxpKX10aW1lVG9Db29yZGluYXRlKHQpewpjb25zdCBpPXRoaXMudGltZVRvSW5kZXgodCwhMSk7cmV0dXJuIG51bGw9PT1pP251bGw6dGhpcy5pYS5qdChpKX1jb29yZGluYXRlVG9UaW1lKHQpe2NvbnN0IGk9dGhpcy5zbi5FdCgpLHM9aS5SYyh0KSxlPWkuZW4ocyk7cmV0dXJuIG51bGw9PT1lP251bGw6ZS5vcmlnaW5hbFRpbWV9d2lkdGgoKXtyZXR1cm4gdGhpcy5fTS5jdigpLndpZHRofWhlaWdodCgpe3JldHVybiB0aGlzLl9NLmN2KCkuaGVpZ2h0fXN1YnNjcmliZVZpc2libGVUaW1lUmFuZ2VDaGFuZ2UodCl7dGhpcy5HZy5pKHQpfXVuc3Vic2NyaWJlVmlzaWJsZVRpbWVSYW5nZUNoYW5nZSh0KXt0aGlzLkdnLl8odCl9c3Vic2NyaWJlVmlzaWJsZUxvZ2ljYWxSYW5nZUNoYW5nZSh0KXt0aGlzLkd1LmkodCl9dW5zdWJzY3JpYmVWaXNpYmxlTG9naWNhbFJhbmdlQ2hhbmdlKHQpe3RoaXMuR3UuXyh0KX1zdWJzY3JpYmVTaXplQ2hhbmdlKHQpe3RoaXMuQncuaSh0KX11bnN1YnNjcmliZVNpemVDaGFuZ2UodCl7dGhpcy5Cdy5fKHQpfWFwcGx5T3B0aW9ucyh0KXt0aGlzLmlhLnZyKHQpfW9wdGlvbnMoKXtyZXR1cm57Li4uTSh0aGlzLmlhLk4oKSksYmFyU3BhY2luZzp0aGlzLmlhLmZsKCl9fVhnKCl7dGhpcy5HZy52KCkmJnRoaXMuR2cucCh0aGlzLmdldFZpc2libGVSYW5nZSgpKX1KZygpe3RoaXMuR3UudigpJiZ0aGlzLkd1LnAodGhpcy5nZXRWaXNpYmxlTG9naWNhbFJhbmdlKCkpfVFnKHQpe3RoaXMuQncucCh0LndpZHRoLHQuaGVpZ2h0KX19ZnVuY3Rpb24gamUodCl7cmV0dXJuIGZ1bmN0aW9uKHQpe2lmKHcodC5oYW5kbGVTY2FsZSkpe2NvbnN0IGk9dC5oYW5kbGVTY2FsZTt0LmhhbmRsZVNjYWxlPXtheGlzRG91YmxlQ2xpY2tSZXNldDp7dGltZTppLHByaWNlOml9LGF4aXNQcmVzc2VkTW91c2VNb3ZlOnt0aW1lOmkscHJpY2U6aX0sbW91c2VXaGVlbDppLHBpbmNoOml9fWVsc2UgaWYodm9pZCAwIT09dC5oYW5kbGVTY2FsZSl7Y29uc3R7YXhpc1ByZXNzZWRNb3VzZU1vdmU6aSxheGlzRG91YmxlQ2xpY2tSZXNldDpzfT10LmhhbmRsZVNjYWxlO3coaSkmJih0LmhhbmRsZVNjYWxlLmF4aXNQcmVzc2VkTW91c2VNb3ZlPXt0aW1lOmkscHJpY2U6aX0pLHcocykmJih0LmhhbmRsZVNjYWxlLmF4aXNEb3VibGVDbGlja1Jlc2V0PXt0aW1lOnMscHJpY2U6c30pfWNvbnN0IGk9dC5oYW5kbGVTY3JvbGw7dyhpKSYmKHQuaGFuZGxlU2Nyb2xsPXtob3J6VG91Y2hEcmFnOmksdmVydFRvdWNoRHJhZzppLG1vdXNlV2hlZWw6aSxwcmVzc2VkTW91c2VNb3ZlOml9KX0odCksdH1jbGFzcyBYZXtjb25zdHJ1Y3Rvcih0LGkscyl7dGhpcy50Yj1uZXcgTWFwLHRoaXMuaWI9bmV3IE1hcCx0aGlzLm5iPW5ldyBtLHRoaXMuc2I9bmV3IG0sdGhpcy5lYj1uZXcgbSx0aGlzLm9kPW5ldyBXZWFrTWFwLHRoaXMucmI9bmV3IG9lKGkpO2NvbnN0IGU9dm9pZCAwPT09cz9NKEJlKCkpOnAoTShCZSgpKSxqZShzKSk7dGhpcy5oYj1pLHRoaXMuc3Y9bmV3IEJzKHQsZSxpKSx0aGlzLnN2LmR3KCkuaSgodD0+e3RoaXMubmIudigpJiZ0aGlzLm5iLnAodGhpcy5hYih0KCkpKX0pLHRoaXMpLHRoaXMuc3YuZncoKS5pKCh0PT57dGhpcy5zYi52KCkmJnRoaXMuc2IucCh0aGlzLmFiKHQoKSkpfSksdGhpcyksdGhpcy5zdi5EZCgpLmkoKHQ9Pnt0aGlzLmViLnYoKSYmdGhpcy5lYi5wKHRoaXMuYWIodCgpKSl9KSx0aGlzKTtjb25zdCBoPXRoaXMuc3YuUXQoKTt0aGlzLmxiPW5ldyBZZShoLHRoaXMuc3YucE0oKSx0aGlzLmhiKX1yZW1vdmUoKXt0aGlzLnN2LmR3KCkudSh0aGlzKSx0aGlzLnN2LmZ3KCkudSh0aGlzKSx0aGlzLnN2LkRkKCkudSh0aGlzKSx0aGlzLmxiLm0oKSx0aGlzLnN2Lm0oKSx0aGlzLnRiLmNsZWFyKCksdGhpcy5pYi5jbGVhcigpLHRoaXMubmIubSgpLHRoaXMuc2IubSgpLHRoaXMuZWIubSgpLHRoaXMucmIubSgpfXJlc2l6ZSh0LGkscyl7dGhpcy5hdXRvU2l6ZUFjdGl2ZSgpfHx0aGlzLnN2LmNNKHQsaSxzKX1hZGRDdXN0b21TZXJpZXModCxpPXt9LHM9MCl7Y29uc3QgZT0odD0+KHt0eXBlOiJDdXN0b20iLGlzQnVpbHRJbjohMSxkZWZhdWx0T3B0aW9uczp7Li4uTmUsLi4udC5kZWZhdWx0T3B0aW9ucygpfSxvYjpUZSxfYjp0fSkpKGQodCkpO3JldHVybiB0aGlzLnViKGUsaSxzKX1hZGRTZXJpZXModCxpPXt9LHM9MCl7cmV0dXJuIHRoaXMudWIodCxpLHMpfXJlbW92ZVNlcmllcyh0KXtjb25zdCBpPWModGhpcy50Yi5nZXQodCkpLHM9dGhpcy5yYi5KZChpKTt0aGlzLnN2LlF0KCkuSmQoaSksdGhpcy5jYihzKSx0aGlzLnRiLmRlbGV0ZSh0KSx0aGlzLmliLmRlbGV0ZShpKX1xZyh0LGkpe3RoaXMuY2IodGhpcy5yYi5zZyh0LGkpKX1LZyh0LGkscyl7dGhpcy5jYih0aGlzLnJiLm9nKHQsaSxzKSl9WmcodCxpKXtjb25zdFtzLGVdPXRoaXMucmIuY2codCxpKTtyZXR1cm4gMCE9PXMubGVuZ3RoJiZ0aGlzLmNiKGUpLHN9c3Vic2NyaWJlQ2xpY2sodCl7dGhpcy5uYi5pKHQpfXVuc3Vic2NyaWJlQ2xpY2sodCl7dGhpcy5uYi5fKHQpfXN1YnNjcmliZUNyb3NzaGFpck1vdmUodCl7dGhpcy5lYi5pKHQpfXVuc3Vic2NyaWJlQ3Jvc3NoYWlyTW92ZSh0KXt0aGlzLmViLl8odCl9c3Vic2NyaWJlRGJsQ2xpY2sodCl7dGhpcy5zYi5pKHQpfXVuc3Vic2NyaWJlRGJsQ2xpY2sodCl7dGhpcy5zYi5fKHQpfXByaWNlU2NhbGUodCxpPTApe3JldHVybiBuZXcgQWUodGhpcy5zdix0LGkpfXRpbWVTY2FsZSgpe3JldHVybiB0aGlzLmxifWFwcGx5T3B0aW9ucyh0KXt0aGlzLnN2LnZyKGplKHQpKX1vcHRpb25zKCl7cmV0dXJuIHRoaXMuc3YuTigpfXRha2VTY3JlZW5zaG90KHQ9ITEsaT0hMSl7bGV0IHMsZTt0cnl7aXx8KHM9dGhpcy5zdi5RdCgpLk4oKS5jcm9zc2hhaXIubW9kZSx0aGlzLnN2LnZyKHtjcm9zc2hhaXI6e21vZGU6Mn19KSksZT10aGlzLnN2LlNNKHQpfWZpbmFsbHl7aXx8dm9pZCAwPT09c3x8dGhpcy5zdi5RdCgpLnZyKHtjcm9zc2hhaXI6e21vZGU6c319KX1yZXR1cm4gZX1hZGRQYW5lKHQ9ITEpe2NvbnN0IGk9dGhpcy5zdi5RdCgpLmFmKCk7cmV0dXJuIGkuV18odCksdGhpcy5mYihpKX1yZW1vdmVQYW5lKHQpewp0aGlzLnN2LlF0KCkuVmQodCl9c3dhcFBhbmVzKHQsaSl7dGhpcy5zdi5RdCgpLkVkKHQsaSl9YXV0b1NpemVBY3RpdmUoKXtyZXR1cm4gdGhpcy5zdi53TSgpfWNoYXJ0RWxlbWVudCgpe3JldHVybiB0aGlzLnN2LnZ2KCl9cGFuZXMoKXtyZXR1cm4gdGhpcy5zdi5RdCgpLlpuKCkubWFwKCh0PT50aGlzLmZiKHQpKSl9cGFuZVNpemUodD0wKXtjb25zdCBpPXRoaXMuc3YuUk0odCk7cmV0dXJue2hlaWdodDppLmhlaWdodCx3aWR0aDppLndpZHRofX1zZXRDcm9zc2hhaXJQb3NpdGlvbih0LGkscyl7Y29uc3QgZT10aGlzLnRiLmdldChzKTtpZih2b2lkIDA9PT1lKXJldHVybjtjb25zdCBoPXRoaXMuc3YuUXQoKS5LcyhlKTtudWxsIT09aCYmdGhpcy5zdi5RdCgpLnFkKHQsaSxoKX1jbGVhckNyb3NzaGFpclBvc2l0aW9uKCl7dGhpcy5zdi5RdCgpLllkKCEwKX1ob3J6QmVoYXZpb3VyKCl7cmV0dXJuIHRoaXMuaGJ9dWIodCxpPXt9LHM9MCl7dSh2b2lkIDAhPT10Lm9iKSxmdW5jdGlvbih0KXtpZih2b2lkIDA9PT10fHwiY3VzdG9tIj09PXQudHlwZSlyZXR1cm47Y29uc3QgaT10O3ZvaWQgMCE9PWkubWluTW92ZSYmdm9pZCAwPT09aS5wcmVjaXNpb24mJihpLnByZWNpc2lvbj1BaShpLm1pbk1vdmUpKX0oaS5wcmljZUZvcm1hdCksIkNhbmRsZXN0aWNrIj09PXQudHlwZSYmZnVuY3Rpb24odCl7dm9pZCAwIT09dC5ib3JkZXJDb2xvciYmKHQuYm9yZGVyVXBDb2xvcj10LmJvcmRlckNvbG9yLHQuYm9yZGVyRG93bkNvbG9yPXQuYm9yZGVyQ29sb3IpLHZvaWQgMCE9PXQud2lja0NvbG9yJiYodC53aWNrVXBDb2xvcj10LndpY2tDb2xvcix0LndpY2tEb3duQ29sb3I9dC53aWNrQ29sb3IpfShpKTtjb25zdCBlPXAoTShoKSxNKHQuZGVmYXVsdE9wdGlvbnMpLGkpLG49dC5vYixyPW5ldyBqdCh0aGlzLnN2LlF0KCksdC50eXBlLGUsbix0Ll9iKTt0aGlzLnN2LlF0KCkuR2QocixzKTtjb25zdCBvPW5ldyBVZShyLHRoaXMsdGhpcyx0aGlzLHRoaXMuaGIsKHQ9PnRoaXMuZmIodCkpKTtyZXR1cm4gdGhpcy50Yi5zZXQobyxyKSx0aGlzLmliLnNldChyLG8pLG99Y2IodCl7Y29uc3QgaT10aGlzLnN2LlF0KCk7aS5LZCh0LkV0LlBjLHQuRXQudmcsdC5FdC5tZyksdC5VXy5mb3JFYWNoKCgodCxpKT0+aS5odCh0LnVlLHQucGcpKSksaS5FdCgpLl9jKCksaS5CYygpfXBiKHQpe3JldHVybiBjKHRoaXMuaWIuZ2V0KHQpKX1tYih0KXtyZXR1cm4gdm9pZCAwIT09dCYmdGhpcy5pYi5oYXModCk/dGhpcy5wYih0KTp2b2lkIDB9YWIodCl7Y29uc3QgaT1uZXcgTWFwO3QuWU0uZm9yRWFjaCgoKHQscyk9Pntjb25zdCBlPXMuYmgoKSxoPVdlKGUpKHQpO2lmKCJDdXN0b20iIT09ZSl1KEhzKGgpKTtlbHNle2NvbnN0IHQ9cy5vbCgpO3UoIXR8fCExPT09dChoKSl9aS5zZXQodGhpcy5wYihzKSxoKX0pKTtjb25zdCBzPXRoaXMubWIodC5OTSksZT12b2lkIDA9PT10LldNP3ZvaWQgMDp7dHlwZTp0LldNLmRzLHNvdXJjZUtpbmQ6dC5XTS5ITSxvYmplY3RLaW5kOnQuV00uVU0sc2VyaWVzOnRoaXMubWIodC5XTS5VXyksb2JqZWN0SWQ6dC5XTS4kTSxwYW5lSW5kZXg6dC5XTS5qTX07cmV0dXJue3RpbWU6dC5Rcixsb2dpY2FsOnQuJG4scG9pbnQ6dC5xTSxwYW5lSW5kZXg6dC5qTSxob3ZlcmVkSW5mbzplLGhvdmVyZWRTZXJpZXM6cyxob3ZlcmVkT2JqZWN0SWQ6dC5GTSxzZXJpZXNEYXRhOmksc291cmNlRXZlbnQ6dC5LTX19ZmIodCl7bGV0IGk9dGhpcy5vZC5nZXQodCk7cmV0dXJuIGl8fChpPW5ldyBaZSh0aGlzLnN2LCh0PT50aGlzLnBiKHQpKSx0LHRoaXMpLHRoaXMub2Quc2V0KHQsaSkpLGl9fWZ1bmN0aW9uIEplKHQpe2lmKGIodCkpe2NvbnN0IGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodCk7cmV0dXJuIHUobnVsbCE9PWksYENhbm5vdCBmaW5kIGVsZW1lbnQgaW4gRE9NIHdpdGggaWQ9JHt0fWApLGl9cmV0dXJuIHR9ZnVuY3Rpb24gdGgodCxpLHMpe2NvbnN0IGU9SmUodCksaD1uZXcgWGUoZSxpLHMpO3JldHVybiBpLnNldE9wdGlvbnMoaC5vcHRpb25zKCkpLGh9ZnVuY3Rpb24gaWgoKXtyZXR1cm4gb3N9ZnVuY3Rpb24gc2godCxpLHMsZSl7cmV0dXJuIE1hdGguaHlwb3Qocy10LGUtaSl9ZnVuY3Rpb24gZWgodCxpLHMsZSxoLG4scixvPTApe2lmKDA9PT1pLmxlbmd0aHx8ZS5mcm9tPj1pLmxlbmd0aHx8ZS50bzw9MClyZXR1cm47Y29uc3R7Y29udGV4dDpsLGhvcml6b250YWxQaXhlbFJhdGlvOmEsdmVydGljYWxQaXhlbFJhdGlvOnV9PXQsYz1pW2UuZnJvbV07bGV0IGY9bih0LGMpLGQ9YztpZihlLnRvLWUuZnJvbTwyKXtjb25zdCBpPWgvMjtsLmJlZ2luUGF0aCgpO2NvbnN0IHM9e190OmMuX3QtaSx1dDpjLnV0fSxlPXtfdDpjLl90K2ksdXQ6Yy51dH07bC5tb3ZlVG8ocy5fdCphLHMudXQqdSksbC5saW5lVG8oZS5fdCphLGUudXQqdSkscih0LGYscyxlKX1lbHNle2NvbnN0IGg9bz4wO2xldCBtPTA7Y29uc3QgcD0oaSxzKT0+e2lmKHIodCxmLGQscyksbC5iZWdpblBhdGgoKSxmPWksZD1zLGgpe2NvbnN0IHQ9bSVvO2wubGluZURhc2hPZmZzZXQ9dCxtPXR9fTtsZXQgZz1kO2wuYmVnaW5QYXRoKCksbC5tb3ZlVG8oYy5fdCphLGMudXQqdSk7Zm9yKGxldCByPWUuZnJvbSsxO3I8ZS50bzsrK3Ipe2c9aVtyXTtjb25zdCBlPWcuX3QqYSxvPWcudXQqdSxjPW4odCxnKTtzd2l0Y2gocyl7Y2FzZSAwOmlmKGwubGluZVRvKGUsbyksaCl7Y29uc3QgdD1pW3ItMV0scz10Ll90KmEsaD10LnV0KnU7bSs9c2gocyxoLGUsbyl9YnJlYWs7Y2FzZSAxOntjb25zdCB0PWlbci0xXSxzPXQudXQqdTtsLmxpbmVUbyhlLHMpLGgmJihtKz1NYXRoLmFicyhnLl90LXQuX3QpKmEpLGMhPT1mJiYocChjLGcpLGwubGluZVRvKGUscykpLGwubGluZVRvKGUsbyksaCYmKG0rPU1hdGguYWJzKGcudXQtdC51dCkqdSk7YnJlYWt9Y2FzZSAyOntjb25zdFt0LHNdPXJoKGksci0xLHIpLG49dC5fdCphLGM9dC51dCp1LGY9cy5fdCphLGQ9cy51dCp1O2lmKGwuYmV6aWVyQ3VydmVUbyhuLGMsZixkLGUsbyksaCl7CmNvbnN0IHQ9aVtyLTFdLHM9dC5fdCphLGg9dC51dCp1LGw9c2gocyxoLGUsbykscD1zaChzLGgsbixjKStzaChuLGMsZixkKStzaChmLGQsZSxvKTttKz0obCtwKS8yfWJyZWFrfX0xIT09cyYmYyE9PWYmJihwKGMsZyksbC5tb3ZlVG8oZSxvKSl9KGQhPT1nfHxkPT09ZyYmMT09PXMpJiZyKHQsZixkLGcpLGgmJihsLmxpbmVEYXNoT2Zmc2V0PTApfX1mdW5jdGlvbiBoaCh0LGkpe3JldHVybntfdDp0Ll90LWkuX3QsdXQ6dC51dC1pLnV0fX1mdW5jdGlvbiBuaCh0LGkpe3JldHVybntfdDp0Ll90L2ksdXQ6dC51dC9pfX1mdW5jdGlvbiByaCh0LGkscyl7Y29uc3QgZT1NYXRoLm1heCgwLGktMSksaD1NYXRoLm1pbih0Lmxlbmd0aC0xLHMrMSk7dmFyIG4scjtyZXR1cm5bKG49dFtpXSxyPW5oKGhoKHRbc10sdFtlXSksNikse190Om4uX3Qrci5fdCx1dDpuLnV0K3IudXR9KSxoaCh0W3NdLG5oKGhoKHRbaF0sdFtpXSksNikpXX1mdW5jdGlvbiBvaCh0LGkpe2NvbnN0IHM9dC5jb250ZXh0O3Muc3Ryb2tlU3R5bGU9aSxzLnN0cm9rZSgpfWNsYXNzIGxoIGV4dGVuZHMgUntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5ydD1udWxsfWh0KHQpe3RoaXMucnQ9dH1ldCh0KXtpZihudWxsPT09dGhpcy5ydClyZXR1cm47Y29uc3R7b3Q6aSxsdDpzLHdiOmUsTWI6aCxjdDpuLFp0OnIsZ2I6b309dGhpcy5ydDtpZihudWxsPT09cylyZXR1cm47Y29uc3QgYT10LmNvbnRleHQ7YS5saW5lQ2FwPSJidXR0IixhLmxpbmVXaWR0aD1uKnQudmVydGljYWxQaXhlbFJhdGlvO2NvbnN0IHU9bChhLHIpO2EubGluZUpvaW49InJvdW5kIjtjb25zdCBjPXRoaXMuYmIuYmluZCh0aGlzKSxmPWZ1bmN0aW9uKHQpe3JldHVybiB0LnJlZHVjZSgoKHQsaSk9PnQraSksMCl9KHUpO3ZvaWQgMCE9PWgmJmVoKHQsaSxoLHMsZSxjLG9oLGYpLG8mJmZ1bmN0aW9uKHQsaSxzLGUsaCl7aWYoZS50by1lLmZyb208PTApcmV0dXJuO2NvbnN0e2hvcml6b250YWxQaXhlbFJhdGlvOm4sdmVydGljYWxQaXhlbFJhdGlvOnIsY29udGV4dDpvfT10O2xldCBsPW51bGw7Y29uc3QgYT1NYXRoLm1heCgxLE1hdGguZmxvb3IobikpJTIvMix1PXMqcithO2ZvcihsZXQgcz1lLnRvLTE7cz49ZS5mcm9tOy0tcyl7Y29uc3QgZT1pW3NdO2lmKGUpe2NvbnN0IGk9aCh0LGUpO2khPT1sJiYobnVsbCE9PWwmJm8uZmlsbCgpLG8uYmVnaW5QYXRoKCksby5maWxsU3R5bGU9aSxsPWkpO2NvbnN0IHM9TWF0aC5yb3VuZChlLl90Km4pK2EsYz1lLnV0KnI7by5tb3ZlVG8ocyxjKSxvLmFyYyhzLGMsdSwwLDIqTWF0aC5QSSl9fW8uZmlsbCgpfSh0LGksbyxzLGMpfX1jbGFzcyBhaCBleHRlbmRzIGxoe2JiKHQsaSl7cmV0dXJuIGkudnR9fWZ1bmN0aW9uIHVoKHQsaSxzLGUsaCl7Y29uc3Qgbj0xLWg7cmV0dXJuIG4qbipuKnQrMypuKm4qaCppKzMqbipoKmgqcytoKmgqaCplfWZ1bmN0aW9uIGNoKHQsaSxzLGUsaCl7aWYoMj09PXMpe2NvbnN0W3Msbl09cmgoZSxoLTEsaCk7cmV0dXJuW01hdGgubWluKHQuX3QsaS5fdCxzLl90LG4uX3QpLE1hdGgubWF4KHQuX3QsaS5fdCxzLl90LG4uX3QpXX1yZXR1cm5bTWF0aC5taW4odC5fdCxpLl90KSxNYXRoLm1heCh0Ll90LGkuX3QpXX1mdW5jdGlvbiBmaCh0LGkscyxlLGgsbixyLG8pe3N3aXRjaChoKXtjYXNlIDE6e2NvbnN0IGg9cGUodCxpLHMuX3Qscy51dCxlLl90LHMudXQpLG49cGUodCxpLGUuX3Qscy51dCxlLl90LGUudXQpLHI9TWF0aC5taW4oaCxuKTtyZXR1cm4gcjw9bz9yOm51bGx9Y2FzZSAyOntjb25zdFtoLGxdPXJoKG4sci0xLHIpLGE9ZnVuY3Rpb24odCxpLHMpe2xldCBlPU51bWJlci5QT1NJVElWRV9JTkZJTklUWSxoPXNbMF07Zm9yKGxldCBuPTE7bjw9MTI7bisrKXtjb25zdCByPW4vMTIsbz17X3Q6dWgoc1swXS5fdCxzWzFdLl90LHNbMl0uX3Qsc1szXS5fdCxyKSx1dDp1aChzWzBdLnV0LHNbMV0udXQsc1syXS51dCxzWzNdLnV0LHIpfTtlPU1hdGgubWluKGUscGUodCxpLGguX3QsaC51dCxvLl90LG8udXQpKSxoPW99cmV0dXJuIGV9KHQsaSxbcyxoLGwsZV0pO3JldHVybiBhPD1vP2E6bnVsbH1kZWZhdWx0Ontjb25zdCBoPXBlKHQsaSxzLl90LHMudXQsZS5fdCxlLnV0KTtyZXR1cm4gaDw9bz9oOm51bGx9fX1jbGFzcyBkaCBleHRlbmRzIHhle2NvbnN0cnVjdG9yKHQsaSl7c3VwZXIodCxpLCEwKX1WZyh0LGkscyl7aS5UYyh0aGlzLmJnLFModGhpcy5TZykpLHQuWm8odGhpcy5iZyxzLFModGhpcy5TZykpfVNiKHQsaSl7cmV0dXJue3d0OnQsTXQ6aSxfdDpOYU4sdXQ6TmFOfX1EZygpe2NvbnN0IHQ9dGhpcy5hZS5TYSgpO3RoaXMuYmc9dGhpcy5hZS5IYSgpLkJoKCkubWFwKChpPT57bGV0IHM7aWYoKGkuWnI/PzEpPjEpe2NvbnN0IHQ9aS5XdFsxXSxlPWkuV3RbMl0saD1pLld0WzNdO3M9TWF0aC5hYnModC1oKT5NYXRoLmFicyhlLWgpP3Q6ZX1lbHNlIHM9aS5XdFszXTtyZXR1cm4gdGhpcy54YihpLiRuLHMsdCl9KSl9fWNsYXNzIG1oIGV4dGVuZHMgZGh7UGcodCxpKXtjb25zdCBzPXRoaXMuYWUuTigpO3JldHVybiBmdW5jdGlvbih0LGkscyxlLGgsbixyLG89MCxsPTApe2lmKG51bGw9PT1pfHxpLmZyb20+PWkudG98fDA9PT10Lmxlbmd0aClyZXR1cm4gbnVsbDtjb25zdCBhPU1hdGgubWF4KG4vMixyPz8wKStsO2xldCB1PU51bWJlci5QT1NJVElWRV9JTkZJTklUWTtpZih2b2lkIDAhPT1yKXtjb25zdCBoPXIrbCxuPWNlKHQscy1oLGkuZnJvbSxpLnRvKSxvPWZlKHQscytoLG4saS50byk7Zm9yKGxldCBpPW47aTxvO2krKyl7Y29uc3QgaD10W2ldO2lmKCFtZShzLGguX3QsaC5fdCxyK2wpKWNvbnRpbnVlO2NvbnN0IG49TWF0aC5oeXBvdChzLWguX3QsZS1oLnV0KTtuPD1yK2wmJih1PU1hdGgubWluKHUsbikpfX1pZihpLnRvLWkuZnJvbTwyKXtjb25zdCBoPXRbaS5mcm9tXSxuPU1hdGgubWF4KG8vMixhKSxyPXBlKHMsZSxoLl90LW4saC51dCxoLl90K24saC51dCk7cmV0dXJuIHI8PWEmJih1PU1hdGgubWluKHUscikpLE51bWJlci5pc0Zpbml0ZSh1KT9kZSh1LDIsInNlcmllcy1wb2ludCIpOm51bGx9bGV0IGM9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZCjtjb25zdCBmPWNlKHQscy1hLGkuZnJvbSxpLnRvKSxkPWZlKHQscythLGYsaS50byksbT1NYXRoLm1heChpLmZyb20rMSxmKSxwPU1hdGgubWluKGkudG8sZCsxKTtmb3IobGV0IGk9bTtpPHA7aSsrKXtjb25zdCBuPXRbaS0xXSxyPXRbaV0sW28sbF09Y2gobixyLGgsdCxpKTtpZighbWUocyxvLGwsYSkpY29udGludWU7Y29uc3QgdT1maChzLGUsbixyLGgsdCxpLGEpO251bGwhPT11JiYoYz1NYXRoLm1pbihjLHUpKX1yZXR1cm4gTnVtYmVyLmlzRmluaXRlKHUpP2RlKHUsMiwic2VyaWVzLXBvaW50Iik6TnVtYmVyLmlzRmluaXRlKGMpP2RlKGMsMSwic2VyaWVzLWxpbmUiKTpudWxsfSh0aGlzLmJnLHRoaXMuU2csdCxpLHMubGluZVR5cGUscy5saW5lVmlzaWJsZT9zLmxpbmVXaWR0aDoxLHMucG9pbnRNYXJrZXJzVmlzaWJsZT9zLnBvaW50TWFya2Vyc1JhZGl1c3x8cy5saW5lV2lkdGgvMisyOnZvaWQgMCx0aGlzLmxlLkV0KCkuZmwoKSxzLmhpdFRlc3RUb2xlcmFuY2UpfX1jbGFzcyBwaCBleHRlbmRzIG1oe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLmtnPW5ldyBhaH14Yih0LGkscyl7cmV0dXJuey4uLnRoaXMuU2IodCxpKSwuLi5zLlNoKHQpfX1CZygpe2NvbnN0IHQ9dGhpcy5hZS5OKCksaT17b3Q6dGhpcy5iZyxadDp0LmxpbmVTdHlsZSxNYjp0LmxpbmVWaXNpYmxlP3QubGluZVR5cGU6dm9pZCAwLGN0OnQubGluZVdpZHRoLGdiOnQucG9pbnRNYXJrZXJzVmlzaWJsZT90LnBvaW50TWFya2Vyc1JhZGl1c3x8dC5saW5lV2lkdGgvMisyOnZvaWQgMCxsdDp0aGlzLlNnLHdiOnRoaXMubGUuRXQoKS5mbCgpfTt0aGlzLmtnLmh0KGkpfX1jb25zdCBnaD17dHlwZToiTGluZSIsaXNCdWlsdEluOiEwLGRlZmF1bHRPcHRpb25zOntjb2xvcjoiIzIxOTZmMyIsbGluZVN0eWxlOjAsbGluZVdpZHRoOjMsbGluZVR5cGU6MCxsaW5lVmlzaWJsZTohMCxjcm9zc2hhaXJNYXJrZXJWaXNpYmxlOiEwLGNyb3NzaGFpck1hcmtlclJhZGl1czo0LGNyb3NzaGFpck1hcmtlckJvcmRlckNvbG9yOiIiLGNyb3NzaGFpck1hcmtlckJvcmRlcldpZHRoOjIsY3Jvc3NoYWlyTWFya2VyQmFja2dyb3VuZENvbG9yOiIiLGxhc3RQcmljZUFuaW1hdGlvbjowLHBvaW50TWFya2Vyc1Zpc2libGU6ITF9LG9iOih0LGkpPT5uZXcgcGgodCxpKX07ZnVuY3Rpb24gdmgodCxpLHMsZSxoKXtjb25zdHtjb250ZXh0Om4saG9yaXpvbnRhbFBpeGVsUmF0aW86cix2ZXJ0aWNhbFBpeGVsUmF0aW86b309aTtuLmxpbmVUbyhoLl90KnIsdCpvKSxuLmxpbmVUbyhlLl90KnIsdCpvKSxuLmNsb3NlUGF0aCgpLG4uZmlsbFN0eWxlPXMsbi5maWxsKCl9Y2xhc3MgYmggZXh0ZW5kcyBSe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnJ0PW51bGx9aHQodCl7dGhpcy5ydD10fWV0KHQpe2lmKG51bGw9PT10aGlzLnJ0KXJldHVybjtjb25zdHtvdDppLGx0OnMsd2I6ZSxjdDpoLFp0Om4sTWI6cn09dGhpcy5ydCxvPXRoaXMucnQuRGI/Pyh0aGlzLnJ0LkliPzA6dC5tZWRpYVNpemUuaGVpZ2h0KTtpZihudWxsPT09cylyZXR1cm47Y29uc3QgYT10LmNvbnRleHQ7YS5saW5lQ2FwPSJidXR0IixhLmxpbmVKb2luPSJyb3VuZCIsYS5saW5lV2lkdGg9aCxsKGEsbiksYS5saW5lV2lkdGg9MSxlaCh0LGkscixzLGUsdGhpcy5WYi5iaW5kKHRoaXMpLHZoLmJpbmQobnVsbCxvKSl9fWNsYXNzIHdoe0JiKHQsaSl7Y29uc3Qgcz10aGlzLkViLHtBYjplLExiOmgsemI6bixPYjpyLERiOm8sTmI6bCxGYjphfT1pO2lmKHZvaWQgMD09PXRoaXMuV2J8fHZvaWQgMD09PXN8fHMuQWIhPT1lfHxzLkxiIT09aHx8cy56YiE9PW58fHMuT2IhPT1yfHxzLkRiIT09b3x8cy5OYiE9PWx8fHMuRmIhPT1hKXtjb25zdHt2ZXJ0aWNhbFBpeGVsUmF0aW86c309dCx1PW98fGw+MD9zOjEsYz1sKnUsZj1hPT09dC5iaXRtYXBTaXplLmhlaWdodD9hOmEqdSxkPShvPz8wKSp1LG09dC5jb250ZXh0LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsYywwLGYpO2lmKG0uYWRkQ29sb3JTdG9wKDAsZSksbnVsbCE9byl7Y29uc3QgdD1paSgoZC1jKS8oZi1jKSwwLDEpO20uYWRkQ29sb3JTdG9wKHQsaCksbS5hZGRDb2xvclN0b3AodCxuKX1tLmFkZENvbG9yU3RvcCgxLHIpLHRoaXMuV2I9bSx0aGlzLkViPWl9cmV0dXJuIHRoaXMuV2J9fWNsYXNzIE1oIGV4dGVuZHMgYmh7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuSGI9bmV3IHdofVZiKHQsaSl7Y29uc3Qgcz10aGlzLnJ0O3JldHVybiB0aGlzLkhiLkJiKHQse0FiOmkuZGgsTGI6aS5maCx6YjppLnBoLE9iOmkubWgsRGI6cy5EYixOYjpzLk5iPz8wLEZiOnMuRmI/P3QuYml0bWFwU2l6ZS5oZWlnaHR9KX19Y2xhc3MgeWggZXh0ZW5kcyBsaHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5VYj1uZXcgd2h9YmIodCxpKXtjb25zdCBzPXRoaXMucnQ7cmV0dXJuIHRoaXMuVWIuQmIodCx7QWI6aS5faCxMYjppLl9oLHpiOmkudWgsT2I6aS51aCxEYjpzLkRiLE5iOnMuTmI/PzAsRmI6cy5GYj8/dC5iaXRtYXBTaXplLmhlaWdodH0pfX1jbGFzcyBTaCBleHRlbmRzIG1oe2NvbnN0cnVjdG9yKHQsaSl7c3VwZXIodCxpKSx0aGlzLmtnPW5ldyBULHRoaXMuJGI9bmV3IE1oLHRoaXMuamI9bmV3IHloLHRoaXMua2cubnQoW3RoaXMuJGIsdGhpcy5qYl0pfXhiKHQsaSxzKXtyZXR1cm57Li4udGhpcy5TYih0LGkpLC4uLnMuU2godCl9fUJnKCl7Y29uc3QgdD10aGlzLmFlLkx0KCk7aWYobnVsbD09PXQpcmV0dXJuO2NvbnN0IGk9dGhpcy5hZS5OKCkscz10aGlzLmFlLkZ0KCkuTnQoaS5iYXNlVmFsdWUucHJpY2UsdC5XdCksZT10aGlzLmxlLkV0KCkuZmwoKTtpZihudWxsPT09dGhpcy5TZ3x8MD09PXRoaXMuYmcubGVuZ3RoKXJldHVybjtsZXQgaCxuO2lmKGkucmVsYXRpdmVHcmFkaWVudCl7aD10aGlzLmJnW3RoaXMuU2cuZnJvbV0udXQsbj10aGlzLmJnW3RoaXMuU2cuZnJvbV0udXQ7Zm9yKGxldCB0PXRoaXMuU2cuZnJvbTt0PHRoaXMuU2cudG87dCsrKXtjb25zdCBpPXRoaXMuYmdbdF07aS51dDxoJiYoaD1pLnV0KSxpLnV0Pm4mJihuPWkudXQpfX0KdGhpcy4kYi5odCh7b3Q6dGhpcy5iZyxjdDppLmxpbmVXaWR0aCxadDppLmxpbmVTdHlsZSxNYjppLmxpbmVUeXBlLERiOnMsTmI6aCxGYjpuLEliOiExLGx0OnRoaXMuU2csd2I6ZX0pLHRoaXMuamIuaHQoe290OnRoaXMuYmcsY3Q6aS5saW5lV2lkdGgsWnQ6aS5saW5lU3R5bGUsTWI6aS5saW5lVmlzaWJsZT9pLmxpbmVUeXBlOnZvaWQgMCxnYjppLnBvaW50TWFya2Vyc1Zpc2libGU/aS5wb2ludE1hcmtlcnNSYWRpdXN8fGkubGluZVdpZHRoLzIrMjp2b2lkIDAsRGI6cyxOYjpoLEZiOm4sbHQ6dGhpcy5TZyx3YjplfSl9fWNvbnN0IHhoPXt0eXBlOiJCYXNlbGluZSIsaXNCdWlsdEluOiEwLGRlZmF1bHRPcHRpb25zOntiYXNlVmFsdWU6e3R5cGU6InByaWNlIixwcmljZTowfSxyZWxhdGl2ZUdyYWRpZW50OiExLHRvcEZpbGxDb2xvcjE6InJnYmEoMzgsIDE2NiwgMTU0LCAwLjI4KSIsdG9wRmlsbENvbG9yMjoicmdiYSgzOCwgMTY2LCAxNTQsIDAuMDUpIix0b3BMaW5lQ29sb3I6InJnYmEoMzgsIDE2NiwgMTU0LCAxKSIsYm90dG9tRmlsbENvbG9yMToicmdiYSgyMzksIDgzLCA4MCwgMC4wNSkiLGJvdHRvbUZpbGxDb2xvcjI6InJnYmEoMjM5LCA4MywgODAsIDAuMjgpIixib3R0b21MaW5lQ29sb3I6InJnYmEoMjM5LCA4MywgODAsIDEpIixsaW5lV2lkdGg6MyxsaW5lU3R5bGU6MCxsaW5lVHlwZTowLGxpbmVWaXNpYmxlOiEwLGNyb3NzaGFpck1hcmtlclZpc2libGU6ITAsY3Jvc3NoYWlyTWFya2VyUmFkaXVzOjQsY3Jvc3NoYWlyTWFya2VyQm9yZGVyQ29sb3I6IiIsY3Jvc3NoYWlyTWFya2VyQm9yZGVyV2lkdGg6Mixjcm9zc2hhaXJNYXJrZXJCYWNrZ3JvdW5kQ29sb3I6IiIsbGFzdFByaWNlQW5pbWF0aW9uOjAscG9pbnRNYXJrZXJzVmlzaWJsZTohMX0sb2I6KHQsaSk9Pm5ldyBTaCh0LGkpfTtjbGFzcyBfaCBleHRlbmRzIGJoe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLkhiPW5ldyB3aH1WYih0LGkpe3JldHVybiB0aGlzLkhiLkJiKHQse0FiOmkuYWgsTGI6IiIsemI6IiIsT2I6aS5vaCxOYjp0aGlzLnJ0Py5OYj8/MCxGYjp0LmJpdG1hcFNpemUuaGVpZ2h0fSl9fWNsYXNzIENoIGV4dGVuZHMgbWh7Y29uc3RydWN0b3IodCxpKXtzdXBlcih0LGkpLHRoaXMua2c9bmV3IFQsdGhpcy5xYj1uZXcgX2gsdGhpcy5ZYj1uZXcgYWgsdGhpcy5rZy5udChbdGhpcy5xYix0aGlzLlliXSl9eGIodCxpLHMpe3JldHVybnsuLi50aGlzLlNiKHQsaSksLi4ucy5TaCh0KX19QmcoKXtjb25zdCB0PXRoaXMuYWUuTigpO2lmKG51bGw9PT10aGlzLlNnfHwwPT09dGhpcy5iZy5sZW5ndGgpcmV0dXJuO2xldCBpO2lmKHQucmVsYXRpdmVHcmFkaWVudCl7aT10aGlzLmJnW3RoaXMuU2cuZnJvbV0udXQ7Zm9yKGxldCB0PXRoaXMuU2cuZnJvbTt0PHRoaXMuU2cudG87dCsrKXtjb25zdCBzPXRoaXMuYmdbdF07cy51dDxpJiYoaT1zLnV0KX19dGhpcy5xYi5odCh7TWI6dC5saW5lVHlwZSxvdDp0aGlzLmJnLFp0OnQubGluZVN0eWxlLGN0OnQubGluZVdpZHRoLERiOm51bGwsTmI6aSxJYjp0LmludmVydEZpbGxlZEFyZWEsbHQ6dGhpcy5TZyx3Yjp0aGlzLmxlLkV0KCkuZmwoKX0pLHRoaXMuWWIuaHQoe01iOnQubGluZVZpc2libGU/dC5saW5lVHlwZTp2b2lkIDAsb3Q6dGhpcy5iZyxadDp0LmxpbmVTdHlsZSxjdDp0LmxpbmVXaWR0aCxsdDp0aGlzLlNnLHdiOnRoaXMubGUuRXQoKS5mbCgpLGdiOnQucG9pbnRNYXJrZXJzVmlzaWJsZT90LnBvaW50TWFya2Vyc1JhZGl1c3x8dC5saW5lV2lkdGgvMisyOnZvaWQgMH0pfX1jb25zdCBraD17dHlwZToiQXJlYSIsaXNCdWlsdEluOiEwLGRlZmF1bHRPcHRpb25zOnt0b3BDb2xvcjoicmdiYSggNDYsIDIyMCwgMTM1LCAwLjQpIixib3R0b21Db2xvcjoicmdiYSggNDAsIDIyMSwgMTAwLCAwKSIsaW52ZXJ0RmlsbGVkQXJlYTohMSxyZWxhdGl2ZUdyYWRpZW50OiExLGxpbmVDb2xvcjoiIzMzRDc3OCIsbGluZVN0eWxlOjAsbGluZVdpZHRoOjMsbGluZVR5cGU6MCxsaW5lVmlzaWJsZTohMCxjcm9zc2hhaXJNYXJrZXJWaXNpYmxlOiEwLGNyb3NzaGFpck1hcmtlclJhZGl1czo0LGNyb3NzaGFpck1hcmtlckJvcmRlckNvbG9yOiIiLGNyb3NzaGFpck1hcmtlckJvcmRlcldpZHRoOjIsY3Jvc3NoYWlyTWFya2VyQmFja2dyb3VuZENvbG9yOiIiLGxhc3RQcmljZUFuaW1hdGlvbjowLHBvaW50TWFya2Vyc1Zpc2libGU6ITF9LG9iOih0LGkpPT5uZXcgQ2godCxpKX07Y2xhc3MgRWggZXh0ZW5kcyBSe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnF0PW51bGwsdGhpcy5LYj0wLHRoaXMuWmI9MH1odCh0KXt0aGlzLnF0PXR9ZXQoe2NvbnRleHQ6dCxob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzpzfSl7aWYobnVsbD09PXRoaXMucXR8fDA9PT10aGlzLnF0LlVuLmxlbmd0aHx8bnVsbD09PXRoaXMucXQubHQpcmV0dXJuO3RoaXMuS2I9dGhpcy5HYihpKSx0aGlzLktiPj0yJiZNYXRoLm1heCgxLE1hdGguZmxvb3IoaSkpJTIhPXRoaXMuS2IlMiYmdGhpcy5LYi0tLHRoaXMuWmI9dGhpcy5xdC5YYj9NYXRoLm1pbih0aGlzLktiLE1hdGguZmxvb3IoaSkpOnRoaXMuS2I7bGV0IGU9bnVsbDtjb25zdCBoPXRoaXMuWmI8PXRoaXMuS2ImJnRoaXMucXQuZmw+PU1hdGguZmxvb3IoMS41KmkpO2ZvcihsZXQgbj10aGlzLnF0Lmx0LmZyb207bjx0aGlzLnF0Lmx0LnRvOysrbil7Y29uc3Qgcj10aGlzLnF0LlVuW25dO2UhPT1yLnNoJiYodC5maWxsU3R5bGU9ci5zaCxlPXIuc2gpO2NvbnN0IG89TWF0aC5mbG9vciguNSp0aGlzLlpiKSxsPU1hdGgucm91bmQoci5fdCppKSxhPWwtbyx1PXRoaXMuWmIsYz1hK3UtMSxmPU1hdGgubWluKHIuUW8sci50XyksZD1NYXRoLm1heChyLlFvLHIudF8pLG09TWF0aC5yb3VuZChmKnMpLW8scD1NYXRoLnJvdW5kKGQqcykrbyxnPU1hdGgubWF4KHAtbSx0aGlzLlpiKTt0LmZpbGxSZWN0KGEsbSx1LGcpO2NvbnN0IHY9TWF0aC5jZWlsKDEuNSp0aGlzLktiKTtpZihoKXtpZih0aGlzLnF0LkpiKXtjb25zdCBpPWwtdgo7bGV0IGU9TWF0aC5tYXgobSxNYXRoLnJvdW5kKHIuSm8qcyktbyksaD1lK3UtMTtoPm0rZy0xJiYoaD1tK2ctMSxlPWgtdSsxKSx0LmZpbGxSZWN0KGksZSxhLWksaC1lKzEpfWNvbnN0IGk9bCt2O2xldCBlPU1hdGgubWF4KG0sTWF0aC5yb3VuZChyLmlfKnMpLW8pLGg9ZSt1LTE7aD5tK2ctMSYmKGg9bStnLTEsZT1oLXUrMSksdC5maWxsUmVjdChjKzEsZSxpLWMsaC1lKzEpfX19R2IodCl7Y29uc3QgaT1NYXRoLmZsb29yKHQpO3JldHVybiBNYXRoLm1heChpLE1hdGguZmxvb3IoZnVuY3Rpb24odCxpKXtyZXR1cm4gTWF0aC5mbG9vciguMyp0KmkpfShmKHRoaXMucXQpLmZsLHQpKSl9fWNsYXNzIE5oIGV4dGVuZHMgeGV7Y29uc3RydWN0b3IodCxpKXtzdXBlcih0LGksITEpfVBnKHQsaSl7cmV0dXJuIHdlKHRoaXMuYmcsdGhpcy5TZyx0LGksdGhpcy5sZS5FdCgpLmZsKCksdGhpcy5hZS5OKCkuaGl0VGVzdFRvbGVyYW5jZSwoKHQsaSk9PntpWzBdPXQuUW8saVsxXT10LnRffSkpfVZnKHQsaSxzKXtpLlRjKHRoaXMuYmcsUyh0aGlzLlNnKSksdC5Ybyh0aGlzLmJnLHMsUyh0aGlzLlNnKSl9UWIodCxpLHMpe3JldHVybnt3dDp0LGpyOmkuV3RbMF0scXI6aS5XdFsxXSxZcjppLld0WzJdLEtyOmkuV3RbM10sX3Q6TmFOLEpvOk5hTixRbzpOYU4sdF86TmFOLGlfOk5hTn19RGcoKXtjb25zdCB0PXRoaXMuYWUuU2EoKTt0aGlzLmJnPXRoaXMuYWUuSGEoKS5CaCgpLm1hcCgoaT0+dGhpcy54YihpLiRuLGksdCkpKX19Y2xhc3MgVGggZXh0ZW5kcyBOaHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5rZz1uZXcgRWh9eGIodCxpLHMpe3JldHVybnsuLi50aGlzLlFiKHQsaSxzKSwuLi5zLlNoKHQpfX1CZygpe2NvbnN0IHQ9dGhpcy5hZS5OKCk7dGhpcy5rZy5odCh7VW46dGhpcy5iZyxmbDp0aGlzLmxlLkV0KCkuZmwoKSxKYjp0Lm9wZW5WaXNpYmxlLFhiOnQudGhpbkJhcnMsbHQ6dGhpcy5TZ30pfX1jb25zdCBSaD17dHlwZToiQmFyIixpc0J1aWx0SW46ITAsZGVmYXVsdE9wdGlvbnM6e3VwQ29sb3I6IiMyNmE2OWEiLGRvd25Db2xvcjoiI2VmNTM1MCIsb3BlblZpc2libGU6ITAsdGhpbkJhcnM6ITB9LG9iOih0LGkpPT5uZXcgVGgodCxpKX07Y2xhc3MgUGggZXh0ZW5kcyBSe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnF0PW51bGwsdGhpcy5LYj0wfWh0KHQpe3RoaXMucXQ9dH1ldCh0KXtpZihudWxsPT09dGhpcy5xdHx8MD09PXRoaXMucXQuVW4ubGVuZ3RofHxudWxsPT09dGhpcy5xdC5sdClyZXR1cm47Y29uc3R7aG9yaXpvbnRhbFBpeGVsUmF0aW86aX09dDt0aGlzLktiPWZ1bmN0aW9uKHQsaSl7aWYodD49Mi41JiZ0PD00KXJldHVybiBNYXRoLmZsb29yKDMqaSk7Y29uc3Qgcz0xLS4yKk1hdGguYXRhbihNYXRoLm1heCg0LHQpLTQpLyguNSpNYXRoLlBJKSxlPU1hdGguZmxvb3IodCpzKmkpLGg9TWF0aC5mbG9vcih0KmkpLG49TWF0aC5taW4oZSxoKTtyZXR1cm4gTWF0aC5tYXgoTWF0aC5mbG9vcihpKSxuKX0odGhpcy5xdC5mbCxpKSx0aGlzLktiPj0yJiZNYXRoLmZsb29yKGkpJTIhPXRoaXMuS2IlMiYmdGhpcy5LYi0tO2NvbnN0IHM9dGhpcy5xdC5Vbjt0aGlzLnF0LnRTJiZ0aGlzLmlTKHQscyx0aGlzLnF0Lmx0KSx0aGlzLnF0LmdpJiZ0aGlzLlJtKHQscyx0aGlzLnF0Lmx0KTtjb25zdCBlPXRoaXMublMoaSk7KCF0aGlzLnF0LmdpfHx0aGlzLktiPjIqZSkmJnRoaXMuc1ModCxzLHRoaXMucXQubHQpfWlTKHQsaSxzKXtpZihudWxsPT09dGhpcy5xdClyZXR1cm47Y29uc3R7Y29udGV4dDplLGhvcml6b250YWxQaXhlbFJhdGlvOmgsdmVydGljYWxQaXhlbFJhdGlvOm59PXQ7bGV0IHI9IiIsbz1NYXRoLm1pbihNYXRoLmZsb29yKGgpLE1hdGguZmxvb3IodGhpcy5xdC5mbCpoKSk7bz1NYXRoLm1heChNYXRoLmZsb29yKGgpLE1hdGgubWluKG8sdGhpcy5LYikpO2NvbnN0IGw9TWF0aC5mbG9vciguNSpvKTtsZXQgYT1udWxsO2ZvcihsZXQgdD1zLmZyb207dDxzLnRvO3QrKyl7Y29uc3Qgcz1pW3RdO3MucmghPT1yJiYoZS5maWxsU3R5bGU9cy5yaCxyPXMucmgpO2NvbnN0IHU9TWF0aC5yb3VuZChNYXRoLm1pbihzLkpvLHMuaV8pKm4pLGM9TWF0aC5yb3VuZChNYXRoLm1heChzLkpvLHMuaV8pKm4pLGY9TWF0aC5yb3VuZChzLlFvKm4pLGQ9TWF0aC5yb3VuZChzLnRfKm4pO2xldCBtPU1hdGgucm91bmQoaCpzLl90KS1sO2NvbnN0IHA9bStvLTE7bnVsbCE9PWEmJihtPU1hdGgubWF4KGErMSxtKSxtPU1hdGgubWluKG0scCkpO2NvbnN0IGc9cC1tKzE7ZS5maWxsUmVjdChtLGYsZyx1LWYpLGUuZmlsbFJlY3QobSxjKzEsZyxkLWMpLGE9cH19blModCl7bGV0IGk9TWF0aC5mbG9vcigxKnQpO3RoaXMuS2I8PTIqaSYmKGk9TWF0aC5mbG9vciguNSoodGhpcy5LYi0xKSkpO2NvbnN0IHM9TWF0aC5tYXgoTWF0aC5mbG9vcih0KSxpKTtyZXR1cm4gdGhpcy5LYjw9MipzP01hdGgubWF4KE1hdGguZmxvb3IodCksTWF0aC5mbG9vcigxKnQpKTpzfVJtKHQsaSxzKXtpZihudWxsPT09dGhpcy5xdClyZXR1cm47Y29uc3R7Y29udGV4dDplLGhvcml6b250YWxQaXhlbFJhdGlvOmgsdmVydGljYWxQaXhlbFJhdGlvOm59PXQ7bGV0IHI9IiI7Y29uc3Qgbz10aGlzLm5TKGgpO2xldCBsPW51bGw7Zm9yKGxldCB0PXMuZnJvbTt0PHMudG87dCsrKXtjb25zdCBzPWlbdF07cy5laCE9PXImJihlLmZpbGxTdHlsZT1zLmVoLHI9cy5laCk7bGV0IGE9TWF0aC5yb3VuZChzLl90KmgpLU1hdGguZmxvb3IoLjUqdGhpcy5LYik7Y29uc3QgdT1hK3RoaXMuS2ItMSxjPU1hdGgucm91bmQoTWF0aC5taW4ocy5KbyxzLmlfKSpuKSxmPU1hdGgucm91bmQoTWF0aC5tYXgocy5KbyxzLmlfKSpuKTtpZihudWxsIT09bCYmKGE9TWF0aC5tYXgobCsxLGEpLGE9TWF0aC5taW4oYSx1KSksdGhpcy5xdC5mbCpoPjIqbylXKGUsYSxjLHUtYSsxLGYtYysxLG8pO2Vsc2V7Y29uc3QgdD11LWErMTtlLmZpbGxSZWN0KGEsYyx0LGYtYysxKX1sPXV9fXNTKHQsaSxzKXtpZihudWxsPT09dGhpcy5xdClyZXR1cm4KO2NvbnN0e2NvbnRleHQ6ZSxob3Jpem9udGFsUGl4ZWxSYXRpbzpoLHZlcnRpY2FsUGl4ZWxSYXRpbzpufT10O2xldCByPSIiO2NvbnN0IG89dGhpcy5uUyhoKTtmb3IobGV0IHQ9cy5mcm9tO3Q8cy50bzt0Kyspe2NvbnN0IHM9aVt0XTtsZXQgbD1NYXRoLnJvdW5kKE1hdGgubWluKHMuSm8scy5pXykqbiksYT1NYXRoLnJvdW5kKE1hdGgubWF4KHMuSm8scy5pXykqbiksdT1NYXRoLnJvdW5kKHMuX3QqaCktTWF0aC5mbG9vciguNSp0aGlzLktiKSxjPXUrdGhpcy5LYi0xO2lmKHMuc2ghPT1yKXtjb25zdCB0PXMuc2g7ZS5maWxsU3R5bGU9dCxyPXR9dGhpcy5xdC5naSYmKHUrPW8sbCs9byxjLT1vLGEtPW8pLGw+YXx8ZS5maWxsUmVjdCh1LGwsYy11KzEsYS1sKzEpfX19Y2xhc3MgemggZXh0ZW5kcyBOaHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5rZz1uZXcgUGh9eGIodCxpLHMpe3JldHVybnsuLi50aGlzLlFiKHQsaSxzKSwuLi5zLlNoKHQpfX1CZygpe2NvbnN0IHQ9dGhpcy5hZS5OKCk7dGhpcy5rZy5odCh7VW46dGhpcy5iZyxmbDp0aGlzLmxlLkV0KCkuZmwoKSx0Uzp0LndpY2tWaXNpYmxlLGdpOnQuYm9yZGVyVmlzaWJsZSxsdDp0aGlzLlNnfSl9fWNvbnN0IEloPXt0eXBlOiJDYW5kbGVzdGljayIsaXNCdWlsdEluOiEwLGRlZmF1bHRPcHRpb25zOnt1cENvbG9yOiIjMjZhNjlhIixkb3duQ29sb3I6IiNlZjUzNTAiLHdpY2tWaXNpYmxlOiEwLGJvcmRlclZpc2libGU6ITAsYm9yZGVyQ29sb3I6IiMzNzg2NTgiLGJvcmRlclVwQ29sb3I6IiMyNmE2OWEiLGJvcmRlckRvd25Db2xvcjoiI2VmNTM1MCIsd2lja0NvbG9yOiIjNzM3Mzc1Iix3aWNrVXBDb2xvcjoiIzI2YTY5YSIsd2lja0Rvd25Db2xvcjoiI2VmNTM1MCJ9LG9iOih0LGkpPT5uZXcgemgodCxpKX07Y2xhc3MgTGggZXh0ZW5kcyBSe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnF0PW51bGwsdGhpcy5lUz1bXX1odCh0KXt0aGlzLnF0PXQsdGhpcy5lUz1bXX1ldCh7Y29udGV4dDp0LGhvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOnN9KXtpZihudWxsPT09dGhpcy5xdHx8MD09PXRoaXMucXQub3QubGVuZ3RofHxudWxsPT09dGhpcy5xdC5sdClyZXR1cm47dGhpcy5lUy5sZW5ndGh8fHRoaXMuclMoaSk7Y29uc3QgZT1NYXRoLm1heCgxLE1hdGguZmxvb3IocykpLGg9TWF0aC5yb3VuZCh0aGlzLnF0LmhTKnMpLU1hdGguZmxvb3IoZS8yKSxuPWgrZTtmb3IobGV0IGk9dGhpcy5xdC5sdC5mcm9tO2k8dGhpcy5xdC5sdC50bztpKyspe2NvbnN0IHI9dGhpcy5xdC5vdFtpXSxvPXRoaXMuZVNbaS10aGlzLnF0Lmx0LmZyb21dLGw9TWF0aC5yb3VuZChyLnV0KnMpO2xldCBhLHU7dC5maWxsU3R5bGU9ci5zaCxsPD1oPyhhPWwsdT1uKTooYT1oLHU9bC1NYXRoLmZsb29yKGUvMikrZSksdC5maWxsUmVjdChvLk9hLGEsby5iaS1vLk9hKzEsdS1hKX19clModCl7aWYobnVsbD09PXRoaXMucXR8fDA9PT10aGlzLnF0Lm90Lmxlbmd0aHx8bnVsbD09PXRoaXMucXQubHQpcmV0dXJuIHZvaWQodGhpcy5lUz1bXSk7Y29uc3QgaT1NYXRoLmNlaWwodGhpcy5xdC5mbCp0KTw9MT8wOk1hdGgubWF4KDEsTWF0aC5mbG9vcih0KSkscz1NYXRoLnJvdW5kKHRoaXMucXQuZmwqdCktaTt0aGlzLmVTPW5ldyBBcnJheSh0aGlzLnF0Lmx0LnRvLXRoaXMucXQubHQuZnJvbSk7Zm9yKGxldCBpPXRoaXMucXQubHQuZnJvbTtpPHRoaXMucXQubHQudG87aSsrKXtjb25zdCBlPXRoaXMucXQub3RbaV0saD1NYXRoLnJvdW5kKGUuX3QqdCk7bGV0IG4scjtpZihzJTIpe2NvbnN0IHQ9KHMtMSkvMjtuPWgtdCxyPWgrdH1lbHNle2NvbnN0IHQ9cy8yO249aC10LHI9aCt0LTF9dGhpcy5lU1tpLXRoaXMucXQubHQuZnJvbV09e09hOm4sYmk6cixhUzpoLGNlOmUuX3QqdCx3dDplLnd0fX1mb3IobGV0IHQ9dGhpcy5xdC5sdC5mcm9tKzE7dDx0aGlzLnF0Lmx0LnRvO3QrKyl7Y29uc3Qgcz10aGlzLmVTW3QtdGhpcy5xdC5sdC5mcm9tXSxlPXRoaXMuZVNbdC10aGlzLnF0Lmx0LmZyb20tMV07cy53dD09PWUud3QrMSYmcy5PYS1lLmJpIT09aSsxJiYoZS5hUz5lLmNlP2UuYmk9cy5PYS1pLTE6cy5PYT1lLmJpK2krMSl9bGV0IGU9TWF0aC5jZWlsKHRoaXMucXQuZmwqdCk7Zm9yKGxldCB0PXRoaXMucXQubHQuZnJvbTt0PHRoaXMucXQubHQudG87dCsrKXtjb25zdCBpPXRoaXMuZVNbdC10aGlzLnF0Lmx0LmZyb21dO2kuYmk8aS5PYSYmKGkuYmk9aS5PYSk7Y29uc3Qgcz1pLmJpLWkuT2ErMTtlPU1hdGgubWluKHMsZSl9aWYoaT4wJiZlPDQpZm9yKGxldCB0PXRoaXMucXQubHQuZnJvbTt0PHRoaXMucXQubHQudG87dCsrKXtjb25zdCBpPXRoaXMuZVNbdC10aGlzLnF0Lmx0LmZyb21dO2kuYmktaS5PYSsxPmUmJihpLmFTPmkuY2U/aS5iaS09MTppLk9hKz0xKX19fWNsYXNzIEZoIGV4dGVuZHMgZGh7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMua2c9bmV3IExofVBnKHQsaSl7Y29uc3Qgcz10aGlzLmFlLkZ0KCkuTnQodGhpcy5hZS5OKCkuYmFzZSxmKHRoaXMuYWUuTHQoKSkuV3QpO3JldHVybiBudWxsPT09cz9udWxsOndlKHRoaXMuYmcsdGhpcy5TZyx0LGksdGhpcy5sZS5FdCgpLmZsKCksdGhpcy5hZS5OKCkuaGl0VGVzdFRvbGVyYW5jZSwoKHQsaSk9PntpWzBdPXQudXQsaVsxXT1zfSkpfXhiKHQsaSxzKXtyZXR1cm57Li4udGhpcy5TYih0LGkpLC4uLnMuU2godCl9fUJnKCl7Y29uc3QgdD17b3Q6dGhpcy5iZyxmbDp0aGlzLmxlLkV0KCkuZmwoKSxsdDp0aGlzLlNnLGhTOnRoaXMuYWUuRnQoKS5OdCh0aGlzLmFlLk4oKS5iYXNlLGYodGhpcy5hZS5MdCgpKS5XdCl9O3RoaXMua2cuaHQodCl9fWNvbnN0IHFoPXt0eXBlOiJIaXN0b2dyYW0iLGlzQnVpbHRJbjohMCxkZWZhdWx0T3B0aW9uczp7Y29sb3I6IiMyNmE2OWEiLGJhc2U6MH0sb2I6KHQsaSk9Pm5ldyBGaCh0LGkpfTtjbGFzcyBXaHtjb25zdHJ1Y3Rvcih0LGkpe3RoaXMueXQ9dCx0aGlzLmxTPWksdGhpcy5vUygpfWRldGFjaCgpe3RoaXMueXQuZGV0YWNoUHJpbWl0aXZlKHRoaXMubFMpfWdldFBhbmUoKXsKcmV0dXJuIHRoaXMueXR9YXBwbHlPcHRpb25zKHQpe3RoaXMubFMudnI/Lih0KX1vUygpe3RoaXMueXQuYXR0YWNoUHJpbWl0aXZlKHRoaXMubFMpfX1jb25zdCBRaD17dmlzaWJsZTohMCxob3J6QWxpZ246ImNlbnRlciIsdmVydEFsaWduOiJjZW50ZXIiLGxpbmVzOltdfSxEaD17Y29sb3I6InJnYmEoMCwgMCwgMCwgMC41KSIsZm9udFNpemU6NDgsZm9udEZhbWlseTp4LGZvbnRTdHlsZToiIix0ZXh0OiIifTtjbGFzcyBPaHtjb25zdHJ1Y3Rvcih0KXt0aGlzLl9TPW5ldyBNYXAsdGhpcy5xdD10fWRyYXcodCl7dC51c2VNZWRpYUNvb3JkaW5hdGVTcGFjZSgodD0+e2lmKCF0aGlzLnF0LnZpc2libGUpcmV0dXJuO2NvbnN0e2NvbnRleHQ6aSxtZWRpYVNpemU6c309dDtsZXQgZT0wO2Zvcihjb25zdCB0IG9mIHRoaXMucXQubGluZXMpe2lmKDA9PT10LnRleHQubGVuZ3RoKWNvbnRpbnVlO2kuZm9udD10LlA7Y29uc3QgaD10aGlzLnVTKGksdC50ZXh0KTtoPnMud2lkdGg/dC5GYz1zLndpZHRoL2g6dC5GYz0xLGUrPXQubGluZUhlaWdodCp0LkZjfWxldCBoPTA7c3dpdGNoKHRoaXMucXQudmVydEFsaWduKXtjYXNlInRvcCI6aD0wO2JyZWFrO2Nhc2UiY2VudGVyIjpoPU1hdGgubWF4KChzLmhlaWdodC1lKS8yLDApO2JyZWFrO2Nhc2UiYm90dG9tIjpoPU1hdGgubWF4KHMuaGVpZ2h0LWUsMCl9Zm9yKGNvbnN0IHQgb2YgdGhpcy5xdC5saW5lcyl7aS5zYXZlKCksaS5maWxsU3R5bGU9dC5jb2xvcjtsZXQgZT0wO3N3aXRjaCh0aGlzLnF0LmhvcnpBbGlnbil7Y2FzZSJsZWZ0IjppLnRleHRBbGlnbj0ibGVmdCIsZT10LmxpbmVIZWlnaHQvMjticmVhaztjYXNlImNlbnRlciI6aS50ZXh0QWxpZ249ImNlbnRlciIsZT1zLndpZHRoLzI7YnJlYWs7Y2FzZSJyaWdodCI6aS50ZXh0QWxpZ249InJpZ2h0IixlPXMud2lkdGgtMS10LmxpbmVIZWlnaHQvMn1pLnRyYW5zbGF0ZShlLGgpLGkudGV4dEJhc2VsaW5lPSJ0b3AiLGkuZm9udD10LlAsaS5zY2FsZSh0LkZjLHQuRmMpLGkuZmlsbFRleHQodC50ZXh0LDAsdC5jUyksaS5yZXN0b3JlKCksaCs9dC5saW5lSGVpZ2h0KnQuRmN9fSkpfXVTKHQsaSl7Y29uc3Qgcz10aGlzLmRTKHQuZm9udCk7bGV0IGU9cy5nZXQoaSk7cmV0dXJuIHZvaWQgMD09PWUmJihlPXQubWVhc3VyZVRleHQoaSkud2lkdGgscy5zZXQoaSxlKSksZX1kUyh0KXtsZXQgaT10aGlzLl9TLmdldCh0KTtyZXR1cm4gdm9pZCAwPT09aSYmKGk9bmV3IE1hcCx0aGlzLl9TLnNldCh0LGkpKSxpfX1jbGFzcyBLaHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnluPSRoKHQpfWt0KHQpe3RoaXMueW49JGgodCl9cmVuZGVyZXIoKXtyZXR1cm4gbmV3IE9oKHRoaXMueW4pfX1mdW5jdGlvbiBWaCh0KXtyZXR1cm57Li4udCxQOl8odC5mb250U2l6ZSx0LmZvbnRGYW1pbHksdC5mb250U3R5bGUpLGxpbmVIZWlnaHQ6dC5saW5lSGVpZ2h0fHwxLjIqdC5mb250U2l6ZSxjUzowLEZjOjB9fWZ1bmN0aW9uICRoKHQpe3JldHVybnsuLi50LGxpbmVzOnQubGluZXMubWFwKFZoKX19ZnVuY3Rpb24gQmgodCl7cmV0dXJuey4uLkRoLC4uLnR9fWZ1bmN0aW9uIEFoKHQpe3JldHVybnsuLi5RaCwuLi50LGxpbmVzOnQubGluZXM/Lm1hcChCaCk/P1tdfX1jbGFzcyBaaHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnluPUFoKHQpLHRoaXMuZlM9W25ldyBLaCh0aGlzLnluKV19dXBkYXRlQWxsVmlld3MoKXt0aGlzLmZTLmZvckVhY2goKHQ9PnQua3QodGhpcy55bikpKX1wYW5lVmlld3MoKXtyZXR1cm4gdGhpcy5mU31hdHRhY2hlZCh7cmVxdWVzdFVwZGF0ZTp0fSl7dGhpcy5wUz10fWRldGFjaGVkKCl7dGhpcy5wUz12b2lkIDB9dnIodCl7dGhpcy55bj1BaCh7Li4udGhpcy55biwuLi50fSksdGhpcy5wUyYmdGhpcy5wUygpfX1mdW5jdGlvbiBIaCh0LGkpe3JldHVybiBuZXcgV2godCxuZXcgWmgoaSkpfWNvbnN0IEdoPXsuLi5oLGNvbG9yOiIjMjE5NmYzIn19LDY3MTk0OSh0LGkscyl7cy5kKGkse2RlZmF1bHQ6KCk9PnV9KTt2YXIgZT1zKDE2ODUzMyksaD1zKDYxODU3KSxuPXMoNTc0NjY5KSxyPXMoMzkyOTA4KSxvPXMoNjkzOTQxKSxsPXMoMzA5MDgwKSxhPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7Y29uc3QgdT0oMCxuLmRlZmF1bHQpKChmdW5jdGlvbih0LGkpe2lmKCgwLG8uZGVmYXVsdCkoaSl8fCgwLHIuZGVmYXVsdCkoaSkpKDAsaC5kZWZhdWx0KShpLCgwLGwuZGVmYXVsdCkoaSksdCk7ZWxzZSBmb3IodmFyIHMgaW4gaSlhLmNhbGwoaSxzKSYmKDAsZS5kZWZhdWx0KSh0LHMsaVtzXSl9KSl9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/3552.4c5535183b7a0330a89d.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.802Z","timestamp":1785120634802,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/3552.4c5535183b7a0330a89d.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"www.tradingview-widget.com/static/bundles/embed/32816.355d75b21ae4b534a849.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.833Z","timestamp":1785120633833,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/32816.355d75b21ae4b534a849.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=0\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 02:50:33 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-102a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c15a5c381e4feb2db590ef9259f50eb5\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4138,"size_decoded":1890,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (4138), with no line terminators","md5":"1769fde9875fdbb634439ca894f9dbe9","sha1":"44ac405e2cfa40ef07cbca4bf97d2226e51258d3","sha256":"8b2250108bfd0dcb2848b28cd1bf2fec55df68d3105b3bf87664cfd86cf2ff10","sha512":"b537406a03c65c8c9859d1e4cb17c37e062cc846b9e763763bbbfa0670ed74ffd1a3f571e5e7654a7b809c6810990a95babd6183fced394492ae1095b4193bcf","ssdeep":"48:D+GIP+GI2LrVLjVQqpz5Cw83JJMeFtQSphXivmRE0r/VC5WNHC5mNVd:DaRLBLpQqpVv0JKOTphXiuREIVweHwmZ","tlshash":"f5814858835c4dafbb2647826762fc582164e3feb2324b6c534924fd46b4d6d39332c5","first_seen":"2026-07-16T11:36:17.974176Z","last_seen":"2026-07-27T05:15:36.996208Z","times_seen":1055,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtODRvdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLTg0b3Q6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LnBhaXIteHdHc1NYUjB7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmV9LnBhaXIteHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwe2hlaWdodDoxNHB4O3dpZHRoOjE0cHh9LnBhaXIteHdHc1NYUjAueHh4eHNtYWxsLXh3R3NTWFIwe2hlaWdodDoyMHB4O3dpZHRoOjIwcHh9LnBhaXIteHdHc1NYUjAueHh4c21hbGwteHdHc1NYUjB7aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0ucGFpci14d0dzU1hSMC54eHNtYWxsLXh3R3NTWFIwe2hlaWdodDoyMHB4O3dpZHRoOjIwcHh9LnBhaXIteHdHc1NYUjAueHNtYWxsLXh3R3NTWFIwe2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9LnBhaXIteHdHc1NYUjAuc21hbGwteHdHc1NYUjB7aGVpZ2h0OjI4cHg7d2lkdGg6MjhweH0ucGFpci14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjB7aGVpZ2h0OjM2cHg7d2lkdGg6MzZweH0ucGFpci14d0dzU1hSMC5sYXJnZS14d0dzU1hSMHtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4fS5wYWlyLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMHtoZWlnaHQ6NTZweDt3aWR0aDo1NnB4fS5wYWlyLXh3R3NTWFIwLnh4bGFyZ2UteHdHc1NYUjB7aGVpZ2h0OjExMnB4O3dpZHRoOjExMnB4fS5wYWlyLXh3R3NTWFIwLnh4eGxhcmdlLXh3R3NTWFIwe2hlaWdodDoxNjhweDt3aWR0aDoxNjhweH0ucGFpci14d0dzU1hSMC54eHh4c21hbGwteHdHc1NYUjB7aGVpZ2h0OjEycHh9LnBhaXIteHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwe2hlaWdodDo4cHh9LmxvZ28teHdHc1NYUjB7Ym9yZGVyLXJhZGl1czo1MCV9LmxvZ28teHdHc1NYUjA6bm90KGltZyl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC04NG90KX0ubG9nby14d0dzU1hSMDpmaXJzdC1jaGlsZCwubG9nby14d0dzU1hSMDpsYXN0LWNoaWxke3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjB9LmxvZ28teHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwe2hlaWdodDo4cHg7d2lkdGg6OHB4fS5sb2dvLXh3R3NTWFIwLnh4Y2VwdGlvbmFsbHlzbWFsbGRvbm90dXNlYnJ2MTAyMy14d0dzU1hSMDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGUoLTZweCl9LmxvZ28teHdHc1NYUjAueHh4eHNtYWxsLXh3R3NTWFIwe2hlaWdodDoxMnB4O3dpZHRoOjEycHh9LmxvZ28teHdHc1NYUjAueHh4eHNtYWxsLXh3R3NTWFIwOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtOHB4KX0ubG9nby14d0dzU1hSMC54eHhzbWFsbC14d0dzU1hSMHtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS5sb2dvLXh3R3NTWFIwLnh4eHNtYWxsLXh3R3NTWFIwOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNnB4LDZweCl9LmxvZ28teHdHc1NYUjAueHhzbWFsbC14d0dzU1hSMHtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS5sb2dvLXh3R3NTWFIwLnh4c21hbGwteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC04cHgsOHB4KX0ubG9nby14d0dzU1hSMC54c21hbGwteHdHc1NYUjB7aGVpZ2h0OjE2cHg7d2lkdGg6MTZweH0ubG9nby14d0dzU1hSMC54c21hbGwteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC04cHgsOHB4KX0ubG9nby14d0dzU1hSMC5zbWFsbC14d0dzU1hSMHtoZWlnaHQ6MThweDt3aWR0aDoxOHB4fS5sb2dvLXh3R3NTWFIwLnNtYWxsLXh3R3NTWFIwOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTBweCwxMHB4KX0ubG9nby14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjB7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ubG9nby14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xMnB4LDEycHgpfS5sb2dvLXh3R3NTWFIwLmxhcmdlLXh3R3NTWFIwe2hlaWdodDozMnB4O3dpZHRoOjMycHh9LmxvZ28teHdHc1NYUjAubGFyZ2UteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xNnB4LDE2cHgpfS5sb2dvLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMHtoZWlnaHQ6MzhweDt3aWR0aDozOHB4fS5sb2dvLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGUoLTE4cHgsMThweCl9LmxvZ28teHdHc1NYUjAueHhsYXJnZS14d0dzU1hSMHtoZWlnaHQ6NzZweDt3aWR0aDo3NnB4fS5sb2dvLXh3R3NTWFIwLnh4bGFyZ2UteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC0zNnB4LDM2cHgpfS5sb2dvLXh3R3NTWFIwLnh4eGxhcmdlLXh3R3NTWFIwe2hlaWdodDoxMTRweDt3aWR0aDoxMTRweH0ubG9nby14d0dzU1hSMC54eHhsYXJnZS14d0dzU1hSMDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGUoLTU0cHgsNTRweCl9LmxvZ28teHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwOmxhc3QtY2hpbGR7b3V0bGluZToxcHggc29saWQgdmFyKC0tdWktbGliLWJhZGdlLWFjdHVhbC1iYWNrZ3JvdW5kKX0ubG9nby14d0dzU1hSMC54eHh4c21hbGwteHdHc1NYUjA6Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0zLjc0ODgyIDExLjU2MzRDNS4xNDIzOSAxMC4xMjM2IDYgOC4xNjE5OCA2IDZDNiAzLjgzODAyIDUuMTQyMzkgMS44NzYzNSAzLjc0ODgyIDAuNDM2NjE3QzQuNDQzOTYgMC4xNTUwNTYgNS4yMDM4NyAtNS45NDEzNmUtMDcgNiAtNS4yNDUzN2UtMDdDOS4zMTM3MSAtMi4zNDg0M2UtMDcgMTIgMi42ODYyOSAxMiA2QzEyIDkuMzEzNzEgOS4zMTM3MSAxMiA2IDEyQzUuMjAzODcgMTIgNC40NDM5NiAxMS44NDQ5IDMuNzQ4ODIgMTEuNTYzNFoiKX0ubG9nby14d0dzU1hSMC54eHhzbWFsbC14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTEyIDBIMHY0YTggOCAwIDAgMSA4IDhoNFYwWiIpfS5sb2dvLXh3R3NTWFIwLnh4c21hbGwteHdHc1NYUjA6Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0xMiAwSDB2Ni4yNTRBOCA4IDAgMCAxIDUuNzQ2IDEySDEyWiIpfS5sb2dvLXh3R3NTWFIwLnhzbWFsbC14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTE2IDhBOCA4IDAgMCAwIC4zIDZhMTAgMTAgMCAwIDEgOS43IDkuN0E4IDggMCAwIDAgMTYgOFoiKX0ubG9nby14d0dzU1hSMC5zbWFsbC14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTE4IDBIMHY4LjA0QTExIDExIDAgMCAxIDkuOTYgMThIMThWMFoiKX0ubG9nby14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjA6Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0yNCAwSDB2MTBjOCAwIDE0IDYgMTQgMTRoMTBWMFoiKX0ubG9nby14d0dzU1hSMC5sYXJnZS14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTMyIDBIMHYxNGExOCAxOCAwIDAgMSAxOCAxOGgxNFYwWiIpfS5sb2dvLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTM4IDBIMHYxNi4wMkwxIDE2YTIxIDIxIDAgMCAxIDIwLjk4IDIySDM4VjBaIil9LmxvZ28teHdHc1NYUjAueHhsYXJnZS14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTc2IDBIMHYzMi4wNUE0MiA0MiAwIDAgMSA0My45NSA3Nkg3NlYwWiIpfS5sb2dvLXh3R3NTWFIwLnh4eGxhcmdlLXh3R3NTWFIwOmZpcnN0LWNoaWxke2NsaXAtcGF0aDpwYXRoKCJNMTEzIDBIMFY0OGMzNS0xIDY2IDI2IDY2IDY2djBoNDhWMFoiKX0uc2tlbGV0b24teHdHc1NYUjB7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3J9LmVtcHR5LXh3R3NTWFIwe2JhY2tncm91bmQtaW1hZ2U6dXJsKGVtcHR5LWNvaW4tbGlnaHQuNmQwYjczMWFjNmY0ODlmMDZlNjUuc3ZnKTtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbn1odG1sLnRoZW1lLWRhcmsgLmVtcHR5LXh3R3NTWFIwe2JhY2tncm91bmQtaW1hZ2U6dXJsKGVtcHR5LWNvaW4tZGFyay5kNmQwN2JmZjkyZDdlNGRmZjVhZC5zdmcpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/12181.b65a58355ff7cc34950f.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.897Z","timestamp":1785120633897,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/12181.b65a58355ff7cc34950f.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a44af20-21c82\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 01 Jul 2026 06:09:36 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/01/2026 11:40:37\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 21555e099040400fdaa966a27f4aace1\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":138370,"size_decoded":18187,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (3070)","md5":"90cd4a18a60bc908d0840ba4fec27dc6","sha1":"bb5de7eba54b0d9323f872960612df642a27716e","sha256":"ae043b44480c283e0e50b84e353fe3e98e560fb8f9bd14638f61a5dfadc231ba","sha512":"1ff83bc8bcac42839140d927da7b753dc51b3ab887327bf07fef3ca3b194425621ed7376ef404517f818a80b9f3d96955fd5c9239c1dc05e599503f7118edc99","ssdeep":"1536:U4ecrc2hMNlbPWqfxN+fUE44ld4e44IJmuJY7+fHfvWr05KNyhLcSbWd4+o:4CxdswjaWyn","tlshash":"10d345b217f406f473b80d5293f77e591b3c74a359882c52d2a4d9a0dd40fc2a96ba3e","first_seen":"2026-07-01T19:46:28.364877Z","last_seen":"2026-07-27T05:29:38.658636Z","times_seen":853,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxMjE4MV0sezcxMjE4MShlKXtlLmV4cG9ydHMudHpEYXRhPXsiQWZyaWNhL0NhaXJvIjp7dGltZTpbLTIxODU0MDE2MDAsLTkyOTgzNjgwMCwtOTIzMDk3NjAwLC05MDYxNjMyMDAsLTg5Mjg1NzYwMCwtODc1ODM2ODAwLC04NTc3NzkyMDAsLTg0NDMwMDgwMCwtODI1ODExMjAwLC04MTI2Nzg0MDAsLTc5NDE4ODgwMCwtNzc5ODQ2NDAwLC03NjI2NTI4MDAsLTM5OTA4MTYwMCwtMzg2NjRlNCwtMzY4MzIzMjAwLC0zNTUxMDRlMywtMzM2NzgzNjAwLC0zMjM2NDM2MDAsLTMwNTE2MTIwMCwtMjkyMDIxMjAwLC0yNzM2MjUyMDAsLTI2MDQ4NTIwMCwtMjQyMDg5MjAwLC0yMjg5NDkyMDAsLTIxMDU1MzIwMCwtMTk3NDEzMjAwLC0xNzg5MzA4MDAsLTE2NTc5MDgwMCwtMTQ3Mzk0ODAwLC0xMzQyNTQ4MDAsLTExNTg1ODgwMCwtMTAyNjMyNDAwLC04NDMyMjgwMCwtNzEwOTY0MDAsLTUyNzAwNDAwLC0zOTQ3NGUzLC0yMTE2NDQwMCwtNzkzOGUzLDEwMzcxNjAwLDIzNTk4ZTMsNDE5MDc2MDAsNTUxMzRlMyw3MzUzZTQsODY3NTY0MDAsMTA1MDY2ZTMsMTE4MjkyNDAwLDEzNjYwMmUzLDE0OTgyODQwMCwxNjgxMzhlMywxODEzNjQ0MDAsMTk5NzYwNDAwLDIxMjk4NjgwMCwyMzEyOTY0MDAsMjQ0NTIyODAwLDI2MjgzMjQwMCwyNzYwNTg4MDAsMjk0MzY4NDAwLDMwNzU5NDgwMCwzMjU5OTA4MDAsMzM5MjE3MjAwLDM1NzUyNjgwMCwzNzA3NTMyMDAsMzk2NDA2ODAwLDQwMjI4OTIwMCw0MjY4MTk2MDAsNDMzODI1MjAwLDQ1MjIyMTIwMCw0NjU0NDc2MDAsNDgzNzU3MjAwLDQ5Njk4MzYwMCw1MTUyOTMyMDAsNTI4NTE5NjAwLDU0NjgyOTIwMCw1NjAwNTU2MDAsNTc4NDUxNjAwLDU5MTY3OGUzLDYxMDQxOTYwMCw2MjMyMTRlMyw2NDE1MjM2MDAsNjU0NzVlNCw2NzMwNTk2MDAsNjg2Mjg2ZTMsNzA0NjgyZTMsNzE3OTA4NDAwLDczNjIxOGUzLDc0OTQ0NDQwMCw3Njc3NTRlMyw3ODA5ODA0MDAsNzk5MDI3MjAwLDgxMjMzMjgwMCw4MzA0NzY4MDAsODQzNzgyNDAwLDg2MTkyNjQwMCw4NzUyMzJlMyw4OTMzNzZlMyw5MDY2ODE2MDAsOTI1NDMwNDAwLDkzODczNmUzLDk1Njg4ZTQsOTcwMTg1NjAwLDk4ODMyOTYwMCwxMDAxNjM1MjAwLDEwMTk3NzkyMDAsMTAzMzA4NDgwMCwxMDUxMjI4ODAwLDEwNjQ1MzQ0MDAsMTA4MzI4MzIwMCwxMDk2NTg4ODAwLDExMTQ3MzI4MDAsMTEyODAzODQwMCwxMTQ2MTgyNDAwLDExNTg4ODMyMDAsMTE3NzYzMmUzLDExODkxMjMyMDAsMTIwOTA4MTYwMCwxMjE5OTY4ZTMsMTI0MDUzMTIwMCwxMjUwODEyODAwLDEyNzI1ODU2MDAsMTI4MTQ4NDgwMCwxMjg0MDc2ODAwLDEyODU4OTEyMDAsMTQwMDE5ODQwMCwxNDAzODI3MjAwLDE0MDY4NTEyMDAsMTQxMTY4OTYwMCwxNjgyNjRlNCwxNjk4MzY0ODAwLDE3MTQwODk2MDAsMTczMDQxOTIwMCwxNzQ1NTM5MjAwLDE3NjE4Njg4MDAsMTc3Njk4ODgwMCwxNzkzMzE4NDAwLDE4MDkwNDMyMDAsMTgyNDc2OGUzLDE4NDA0OTI4MDAsMTg1NjIxNzYwMCwxODcxOTQyNDAwLDE4ODc2NjcyMDAsMTkwMzM5MmUzLDE5MTk3MjE2MDAsMTkzNDg0MTYwMF0sb2Zmc2V0Ols3NTA5LDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwXX0sIkFmcmljYS9DYXNhYmxhbmNhIjp7CnRpbWU6Wy0xNzczMDE0NDAwLC05NTYzNjE2MDAsLTk1MDQ4NjQwMCwtOTQyMDE5MjAwLC03NjExODRlMywtNjE3MjQxNjAwLC02MDUxNDU2MDAsLTgxNDMyZTMsLTcxMTA3MjAwLDE0MTI2NGUzLDE0NzIyNTYwMCwxOTk3NTY4MDAsMjA3NzA1NjAwLDIzMTI5MjgwMCwyNDQyNTI4MDAsMjY1NTA3MjAwLDI3MTAzNjgwMCw0NDgyNDMyMDAsNTA0OTIxNjAwLDEyMTIyNzg0MDAsMTIyMDIyNzIwMCwxMjQzODE0NDAwLDEyNTA4MTI4MDAsMTI3Mjc1ODQwMCwxMjgxMjI1NjAwLDEzMDE3ODg4MDAsMTMxMjA3MDQwMCwxMzM1NjY0ODAwLDEzNDI3NTMyMDAsMTM0NTQyOGUzLDEzNDg5NzRlMywxMzY3MTE0NDAwLDEzNzMxNjZlMywxMzc2MWU1LDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDAzOTI0NDAwLDE0MDY5NDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0MzQyNTA4MDAsMTQzNzI3MTIwMCwxNDQ1NzQyZTMsMTQ1OTA0NGUzLDE0NjUwOTU2MDAsMTQ2ODExNmUzLDE0Nzc3OTY0MDAsMTQ5MDQ5MzYwMCwxNDk1MzM1NjAwLDE0OTg5NjA4MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTUyNjE4MDQwMCwxNTI5MjAwODAwLDE1NDA2OTU2MDAsMTU1NzAyNTIwMCwxNTYwMDQ1NjAwLDE1ODcyNjUyMDAsMTU5MDg5MDQwMCwxNjE4MTFlNCwxNjIxMTMwNDAwLDE2NDgzNWU0LDE2NTE5NzUyMDAsMTY3OTE5NDgwMCwxNjgyMjE1MjAwLDE3MTAwMzk2MDAsMTcxMzA2ZTQsMTc0MDI3OTYwMCwxNzQzOTA0ODAwLDE3NzExMjQ0MDAsMTc3NDE0NDgwMCwxODAxOTY5MjAwLDE4MDQ5ODk2MDAsMTgzMjIwOTIwMCwxODM1ODM0NDAwLDE4NjMwNTRlMywxODY2MDc0NDAwLDE4OTMyOTRlMywxODk2OTE5MjAwLDE5MjQxMzg4MDAsMTkyNzE1OTIwMF0sb2Zmc2V0OlstMTgyMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDBdfSwiQWZyaWNhL0pvaGFubmVzYnVyZyI6e3RpbWU6Wy0yNDU4MTY2NDAwLC0yMTA5MjgzMjAwLC04NjA5Njg4MDAsLTg0NTI0NGUzLC04Mjk1MTkyMDAsLTgxMzc5NDQwMCwxOTI0OTk5MjAwXSxvZmZzZXQ6WzY3MjAsNTQwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJBZnJpY2EvTGFnb3MiOnt0aW1lOlstMjAzNTU4NGUzLC0xOTQwODg5NjAwLC0xNzY3MjI1NjAwLC0xNTg4NDY0ZTMsMTkyNDk5NTYwMF0sb2Zmc2V0Ols4MTUsMCw4MTUsMTgwMCwzNjAwXX0sIkFmcmljYS9OYWlyb2JpIjp7dGltZTpbLTE5NDYxNmU0LC0xMzA5NzM3NjAwLC0xMjYxOTU4NDAwLC0xMDQxMzc5MjAwLC04NjUyOTZlMywxOTI1MDAyODAwXSxvZmZzZXQ6Wzg4MzYsOWUzLDEwODAwLDllMyw5OTAwLDEwODAwXX0sIkFmcmljYS9UdW5pcyI6e3RpbWU6Wy0yNzk3MmU1LC0xODU1OTU4NDAwLC05NjkyMzg4MDAsLTk1MDQ4NjQwMCwtOTQxOTM2NDAwLC04OTExMjk2MDAsLTg3NzgyNGUzLC04NTcyNWU0LC04NDQ1NTI4MDAsLTg0MjkxMTIwMCwtODQyMjJlNCwtODI4MjIzMjAwLC04MTI0OTg0MDAsLTc5NjI2MjQwMCwtNzgxMDQ4ODAwLC03NjY2MjcyMDAsMjMxMjA2NDAwLDI0MzkxMDgwMCwyNjI4Mjg4MDAsMjc2MDUxNjAwLDU4MTEyNjQwMCw1OTExNTI0MDAsNjA2ODczNjAwLDYyMjYwMmUzLDY0MTUyZTQsNjU0NjU2NDAwLDExMTQ5MDU2MDAsMTEyODA0NTYwMCwxMTQzMzM4NDAwLDExNjIwOTA4MDAsMTE3NDc4OGUzLDExOTM1NDA0MDAsMTIwNjg0MjQwMCwxMjI0OTllNCwxOTI0OTk1NjAwXSxvZmZzZXQ6WzI0NDQsNTYxLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkFtZXJpY2EvQW5jaG9yYWdlIjp7CnRpbWU6Wy0zMjI1MTczMzAzLC0yMTg4OTg3MjAwLC04ODAyMzZlMywtNzY5NDI4ZTMsLTc2NTQxMDQwMCwtODY5MTg0MDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDM4OTk4NDAwLDQ1MjA1MmUzLDQ2Nzc3NjgwMCw0ODM1MDE2MDAsNDk5MjI2NDAwLDUxNDk1MTIwMCw1MzA2NzZlMyw1NDQ1ODY0MDAsNTYyMTI1NjAwLDU3NjAzNmUzLDU5NDE4ZTQsNjA3NDg1NjAwLDYyNTYyOTYwMCw2Mzg5MzUyMDAsNjU3MDc5MjAwLDY3MDk4OTYwMCw2ODg1Mjg4MDAsNzAyNDM5MjAwLDcxOTk3ODQwMCw3MzM4ODg4MDAsNzUyMDMyODAwLDc2NTMzODQwMCw3ODM0ODI0MDAsNzk2Nzg4ZTMsODE0OTMyZTMsODI4ODQyNDAwLDg0NjM4MTYwMCw4NjAyOTJlMyw4Nzc4MzEyMDAsODkxNzQxNjAwLDkwOTI4MDgwMCw5MjMxOTEyMDAsOTQxMzM1MjAwLDk1NDY0MDgwMCw5NzI3ODQ4MDAsOTg2MDkwNDAwLDEwMDQyMzQ0MDAsMTAxODE0NDgwMCwxMDM1Njg0ZTMsMTA0OTU5NDQwMCwxMDY3MTMzNjAwLDEwODEwNDRlMywxMDk5MTg4ZTMsMTExMjQ5MzYwMCwxMTMwNjM3NjAwLDExNDM5NDMyMDAsMTE2MjA4NzIwMCwxMTczNTc4NDAwLDExOTQxNDE2MDAsMTIwNTAyOGUzLDEyMjU1OTEyMDAsMTIzNjQ3NzYwMCwxMjU3MDQwODAwLDEyNjg1MzJlMywxMjg5MDk1MjAwLDEyOTk5ODE2MDAsMTMyMDU0NDgwMCwxMzMxNDMxMjAwLDEzNTE5OTQ0MDAsMTM2Mjg4MDgwMCwxMzgzNDQ0ZTMsMTM5NDMzMDQwMCwxNDE0ODkzNjAwLDE0MjU3OGU0LDE0NDYzNDMyMDAsMTQ1NzgzNDQwMCwxNDc4Mzk3NjAwLDE0ODkyODRlMywxNTA5ODQ3MjAwLDE1MjA3MzM2MDAsMTU0MTI5NjgwMCwxNTUyMTgzMjAwLDE1NzI3NDY0MDAsMTU4MzYzMjgwMCwxNjA0MTk2ZTMsMTYxNTY4NzIwMCwxNjM2MjUwNDAwLDE2NDcxMzY4MDAsMTY2NzdlNSwxNjc4NTg2NDAwLDE2OTkxNDk2MDAsMTcxMDAzNmUzLDE3MzA1OTkyMDAsMTc0MTQ4NTYwMCwxNzYyMDQ4ODAwLDE3NzI5MzUyMDAsMTc5MzQ5ODQwMCwxODA0OTg5NjAwLDE4MjU1NTI4MDAsMTgzNjQzOTIwMCwxODU3MDAyNDAwLDE4Njc4ODg4MDAsMTg4ODQ1MmUzLDE4OTkzMzg0MDAsMTkxOTkwMTYwMCwxOTMwNzg4ZTNdLG9mZnNldDpbNTA0MjQsLTM1OTc2LC0zNmUzLC0zMjQwMCwtMzI0MDAsLTM2ZTMsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTMyNDAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDBdfSwiQW1lcmljYS9BcmdlbnRpbmEvQnVlbm9zX0FpcmVzIjp7dGltZTpbLTIzNzIxMTJlMywtMTU2NzQ2ODgwMCwtMTIzMzQ0NjQwMCwtMTIyMjk5MmUzLC0xMjA1OTcxMjAwLC0xMTk0MDQ4ZTMsLTExNzI4OGU0LC0xMTYyNTEyZTMsLTExNDEzNDRlMywtMTEzMDk3NmUzLC0xMTA5ODA4ZTMsLTEwOTk0NGU0LC0xMDc4MjcyZTMsLTEwNjc4MTc2MDAsLTEwNDY2NDk2MDAsLTEwMzYyODE2MDAsLTEwMTUxMTM2MDAsLTEwMDQ3NDU2MDAsLTk4MzU3NzYwMCwtOTczMjA5NjAwLC05NTIwNDE2MDAsLTk0MTU4NzIwMCwtOTMxMDQ2NDAwLC05MDA4OTI4MDAsLTg5MDM1MmUzLC04MzM3NmU0LC04MjcyOGU0LC03NTIyODQ4MDAsLTczMzc5NTIwMCwtMTk3MzM3NjAwLC0xOTA4NTc2MDAsLTE4NDIwNDgwMCwtMTY0NTA1NjAwLC0xNTI2Njg4MDAsLTEzMjk2OTYwMCwtMTIxMTMyODAwLC0xMDE0MzM2MDAsLTg2ODMyZTMsLTcxMTA3MjAwLC01NDc3NzYwMCwtMzkwNTI4MDAsLTIzMzI4ZTMsLTc2MDMyMDAsMTI4MTMxMjAwLDEzNjU5ODQwMCw1OTY5Mzc2MDAsNjA1MDU5MjAwLDYyNDQxMjgwMCw2MzY1MDg4MDAsNjU2NDY3MjAwLDY2Nzk1ODQwMCw2ODc5MTY4MDAsNjk5NDA4ZTMsNzE5MzY2NDAwLDczMTQ2MjQwMCw5Mzg5MDg4MDAsOTUyMDQxNjAwLDExOTg5NzI4MDAsMTIwNTYyNTYwMCwxMjI0Mzc0NDAwLDEyMzcwNzUyMDAsMTkyNDk4MTIwMF0sCm9mZnNldDpbLTE0MDI4LC0xNTQwOCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtMTA4MDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDBdfSwiQW1lcmljYS9Cb2dvdGEiOnt0aW1lOlstMjcwNzY4OTYwMCwtMTczOTA1OTIwMCw3MDQ4NTEyMDAsNzI5MDQzMjAwLDE5MjQ5NzRlM10sb2Zmc2V0OlstMTc3NzYsLTE3Nzc2LC0xOGUzLC0xNDQwMCwtMThlM119LCJBbWVyaWNhL0NhcmFjYXMiOnt0aW1lOlstMjUyNDUyMTYwMCwtMTgyNjc1NTIwMCwtMTU3NzY2NDAwLDExOTcxNjkyMDAsMTQ2MjA2OTgwMCwxOTI0OTc3NjAwXSxvZmZzZXQ6Wy0xNjA2NCwtMTYwNjAsLTE2MjAwLC0xNDQwMCwtMTYyMDAsLTE0NDAwXX0sIkFtZXJpY2EvQ2hpY2FnbyI6ewp0aW1lOlstMjcxNzY2ODIzNiwtMTYzMzI5ODQwMCwtMTYxNTE1NDQwMCwtMTYwMTg0ODgwMCwtMTU4MzcwNDgwMCwtMTU2Mzc0NjQwMCwtMTU1MTY1MDQwMCwtMTUzODk0OTYwMCwtMTUyMDIwMDgwMCwtMTUwNDQ3NmUzLC0xNDkxNzc1MjAwLC0xNDczMDI2NDAwLC0xNDU5NzIwODAwLC0xNDQxNTc2ODAwLC0xNDI4MjcxMjAwLC0xNDEwMTI3MjAwLC0xMzk2ODIxNjAwLC0xMzc4Njc3NjAwLC0xMzY1MzcyZTMsLTEzNDcyMjhlMywtMTMzMzkyMjQwMCwtMTMxNTE3MzYwMCwtMTMwMTg2OGUzLC0xMjgzNzI0ZTMsLTEyNzA0MTg0MDAsLTEyNTIyNzQ0MDAsLTEyMzg5Njg4MDAsLTEyMjA4MjQ4MDAsLTEyMDc1MTkyMDAsLTExODkzNzUyMDAsLTExNzYwNjk2MDAsLTExNTczMjA4MDAsLTExNDQ2MmU0LC0xMTI1ODcxMjAwLC0xMTEyNTY1NjAwLC0xMDk0NDIxNjAwLC0xMDgxMTE2ZTMsLTEwNjc4MTA0MDAsLTEwNDU0MzI4MDAsLTEwMzE1MjI0MDAsLTEwMTgyMTY4MDAsLTEwMDAwNzI4MDAsLTk4Njc2NzIwMCwtOTY4MDE4NDAwLC05NTUzMTc2MDAsLTkzNjU2ODgwMCwtOTIzMjYzMjAwLC05MDUxMTkyMDAsLTg5MTgxMzYwMCwtODgwMjM2ZTMsLTc2OTQxMzYwMCwtNzY1NDEwNDAwLC03NDcyNjY0MDAsLTczMzk2MDgwMCwtNzE1ODE2ODAwLC03MDI1MTEyMDAsLTY4NDM2NzIwMCwtNjcxMDYxNjAwLC02NTI5MTc2MDAsLTYzOTYxMmUzLC02MjA4NjMyMDAsLTYwODE2MjQwMCwtNTg5NDEzNjAwLC01NzYxMDhlMywtNTU3OTY0ZTMsLTU0NDY1ODQwMCwtNTI2NTE0NDAwLC01MTMyMDg4MDAsLTQ5NTA2NDgwMCwtNDgxNzU5MjAwLC00NjM2MTUyMDAsLTQ0NzI4NTYwMCwtNDMxNTYwODAwLC00MTU4MzZlMywtNDAwMTExMjAwLC0zODQzODY0MDAsLTM2ODY2MTYwMCwtMzUyOTM2ODAwLC0zMzcyMTJlMywtMzIxNDg3MjAwLC0zMDU3NjI0MDAsLTI4OTQzMjgwMCwtMjczNzA4ZTMsLTI1Nzk4MzIwMCwtMjQyMjU4NDAwLC0yMjY1MzM2MDAsLTIxMDgwODgwMCwtMTk1MDg0ZTMsLTE3OTM1OTIwMCwtMTYzNjM0NDAwLC0xNDc5MDk2MDAsLTEzMTU4ZTQsLTExNjQ2ZTQsLTEwMDEzMDQwMCwtODQ0MDU2MDAsLTY4NjgwODAwLC01Mjk1NmUzLC0zNzIzMTIwMCwtMjE1MDY0MDAsLTU3ODE2MDAsOTk0MzIwMCwyNTY2OGUzLDQxMzkyODAwLDU3NzIyNDAwLDczNDQ3MjAwLDg5MTcyZTMsMTA0ODk2ODAwLDEyMDYyMTYwMCwxMjY2Njk2MDAsMTUyMDcxMjAwLDE2MjM1MjgwMCwxODM1MjA4MDAsMTk5MjQ1NjAwLDIxNTU3NTIwMCwyMzA2OTUyMDAsMjQ3MDI0ODAwLDI2Mjc0OTYwMCwyNzg0NzQ0MDAsMjk0MTk5MjAwLDMwOTkyNGUzLDMyNTY0ODgwMCwzNDEzNzM2MDAsMzU3MDk4NDAwLDM3MjgyMzIwMCwzODg1NDhlMyw0MDQ4Nzc2MDAsNDE5OTk3NjAwLDQzNjMyNzIwMCw0NTIwNTJlMyw0Njc3NzY4MDAsNDgzNTAxNjAwLDQ5OTIyNjQwMCw1MTQ5NTEyMDAsNTMwNjc2ZTMsNTQ0NTg2NDAwLDU2MjEyNTYwMCw1NzYwMzZlMyw1OTQxOGU0LDYwNzQ4NTYwMCw2MjU2Mjk2MDAsNjM4OTM1MjAwLDY1NzA3OTIwMCw2NzA5ODk2MDAsNjg4NTI4ODAwLDcwMjQzOTIwMCw3MTk5Nzg0MDAsNzMzODg4ODAwLDc1MjAzMjgwMCw3NjUzMzg0MDAsNzgzNDgyNDAwLDc5Njc4OGUzLDgxNDkzMmUzLDgyODg0MjQwMCw4NDYzODE2MDAsODYwMjkyZTMsODc3ODMxMjAwLDg5MTc0MTYwMCw5MDkyODA4MDAsOTIzMTkxMjAwLDk0MTMzNTIwMCw5NTQ2NDA4MDAsOTcyNzg0ODAwLDk4NjA5MDQwMCwxMDA0MjM0NDAwLDEwMTgxNDQ4MDAsMTAzNTY4NGUzLDEwNDk1OTQ0MDAsMTA2NzEzMzYwMCwxMDgxMDQ0ZTMsMTA5OTE4OGUzLDExMTI0OTM2MDAsMTEzMDYzNzYwMCwxMTQzOTQzMjAwLDExNjIwODcyMDAsMTE3MzU3ODQwMCwxMTk0MTQxNjAwLDEyMDUwMjhlMywxMjI1NTkxMjAwLDEyMzY0Nzc2MDAsMTI1NzA0MDgwMCwxMjY4NTMyZTMsMTI4OTA5NTIwMCwxMjk5OTgxNjAwLDEzMjA1NDQ4MDAsMTMzMTQzMTIwMCwxMzUxOTk0NDAwLDEzNjI4ODA4MDAsMTM4MzQ0NGUzLDEzOTQzMzA0MDAsMTQxNDg5MzYwMCwxNDI1NzhlNCwxNDQ2MzQzMjAwLDE0NTc4MzQ0MDAsMTQ3ODM5NzYwMCwxNDg5Mjg0ZTMsMTUwOTg0NzIwMCwxNTIwNzMzNjAwLDE1NDEyOTY4MDAsMTU1MjE4MzIwMCwxNTcyNzQ2NDAwLDE1ODM2MzI4MDAsMTYwNDE5NmUzLDE2MTU2ODcyMDAsMTYzNjI1MDQwMCwxNjQ3MTM2ODAwLDE2Njc3ZTUsMTY3ODU4NjQwMCwxNjk5MTQ5NjAwLDE3MTAwMzZlMywxNzMwNTk5MjAwLDE3NDE0ODU2MDAsMTc2MjA0ODgwMCwxNzcyOTM1MjAwLDE3OTM0OTg0MDAsMTgwNDk4OTYwMCwxODI1NTUyODAwLDE4MzY0MzkyMDAsMTg1NzAwMjQwMCwxODY3ODg4ODAwLDE4ODg0NTJlMywxODk5MzM4NDAwLDE5MTk5MDE2MDAsMTkzMDc4OGUzXSwKb2Zmc2V0OlstMjEwMzYsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDBdfSwiQW1lcmljYS9FbF9TYWx2YWRvciI6e3RpbWU6Wy0xNTQ2MzAwODAwLDU0Njk5ODQwMCw1NTk2OTkyMDAsNTc4NDQ4ZTMsNTkxMTQ4ODAwLDE5MjQ5NzA0MDBdLG9mZnNldDpbLTIxNDA4LC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwXX0sIkFtZXJpY2EvSGFsaWZheCI6ewp0aW1lOlstMjEzMTY2MDgwMCwtMTY5NjI5MTIwMCwtMTY4MDQ4ZTQsLTE2MzIwODg4MDAsLTE2MTUxNTQ0MDAsLTE1NjY3Nzc2MDAsLTE1NTcxMDA4MDAsLTE1MzU1MDA4MDAsLTE1MjQ5NmU0LC0xNTA0NDgzMjAwLC0xNDkzNDI0ZTMsLTE0NzI0Mjg4MDAsLTE0NjE5NzQ0MDAsLTE0NDA5NzkyMDAsLTE0Mjk0MDE2MDAsLTE0MDk1Mjk2MDAsLTEzOTY3NDI0MDAsLTEzNzY4NzA0MDAsLTEzNjY1MDI0MDAsLTEzNDY2MzA0MDAsLTEzMzM4NDMyMDAsLTEzMTM5NzEyMDAsLTEzMDM2ODk2MDAsLTEyODI1MjE2MDAsLTEyNzI2NzJlMywtMTI1MTA3MmUzLC0xMjQwMDk5MjAwLC0xMjE5NjIyNDAwLC0xMjA3NDRlNCwtMTE4ODc3NzYwMCwtMTE3NTk5MDQwMCwtMTE1NzMyOGUzLC0xMTQzOTM2ZTMsLTExMjQwNjRlMywtMTExMzc4MjQwMCwtMTA5MTQwNDgwMCwtMTA4MTAzNjgwMCwtMTA1OTg2ODgwMCwtMTA1MDc5NjgwMCwtMTAzMDkyNDgwMCwtMTAxODEzNzYwMCwtOTk5NDc1MjAwLC05ODY2ODhlMywtOTY1NjA2NDAwLC05NTUyMzg0MDAsLTkzNTk3MTIwMCwtOTIzMTg0ZTMsLTkwNDUyMTYwMCwtODkxNzM0NDAwLC04ODAyMzZlMywtNzY5NDA2NDAwLC03NjU0MTA0MDAsLTc0NzI2NjQwMCwtNzMzOTYwODAwLC03MTU4MTY4MDAsLTcwMjUxMTIwMCwtNjg0MzY3MjAwLC02NzEwNjE2MDAsLTY1MjkxNzYwMCwtNjM5NjEyZTMsLTU4OTQxMzYwMCwtNTc2MTA4ZTMsLTU1Nzk2NGUzLC01NDQ2NTg0MDAsLTUyNjUxNDQwMCwtNTEzMjA4ODAwLC00OTUwNjQ4MDAsLTQ4MTc1OTIwMCwtNDMxNTYwODAwLC00MTgyNTUyMDAsLTQwMDExMTIwMCwtMzg2ODA1NjAwLC0zNjg2NjE2MDAsLTM1NTM1NmUzLC0zMzcyMTJlMywtMzIzOTA2NDAwLC0yNDIyNTg0MDAsLTIyNjUzMzYwMCwtMjEwODA4ODAwLC0xOTUwODRlMywtMTc5MzU5MjAwLC0xNjM2MzQ0MDAsLTE0NzkwOTYwMCwtMTMxNThlNCwtMTE2NDZlNCwtMTAwMTMwNDAwLC04NDQwNTYwMCwtNjg2ODA4MDAsLTUyOTU2ZTMsLTM3MjMxMjAwLC0yMTUwNjQwMCwtNTc4MTYwMCw5OTQzMjAwLDI1NjY4ZTMsNDEzOTI4MDAsNTc3MjI0MDAsNzM0NDcyMDAsODkxNzJlMywxMDQ4OTY4MDAsMTIwNjIxNjAwLDEzNjM0NjQwMCwxNTIwNzEyMDAsMTY3Nzk2ZTMsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sCm9mZnNldDpbLTE1MjY0LC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMF19LCJBbWVyaWNhL0p1bmVhdSI6e3RpbWU6Wy0zMjI1MTY5NTg4LC0yMTg4OTg3MjAwLC04ODAyMzZlMywtNzY5NDIwODAwLC03NjU0MTA0MDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDM4OTk4NDAwLDQ1MjA1MmUzLDQ2Nzc3NjgwMCw0ODM1MDE2MDAsNDk5MjI2NDAwLDUxNDk1MTIwMCw1MzA2NzZlMyw1NDQ1ODY0MDAsNTYyMTI1NjAwLDU3NjAzNmUzLDU5NDE4ZTQsNjA3NDg1NjAwLDYyNTYyOTYwMCw2Mzg5MzUyMDAsNjU3MDc5MjAwLDY3MDk4OTYwMCw2ODg1Mjg4MDAsNzAyNDM5MjAwLDcxOTk3ODQwMCw3MzM4ODg4MDAsNzUyMDMyODAwLDc2NTMzODQwMCw3ODM0ODI0MDAsNzk2Nzg4ZTMsODE0OTMyZTMsODI4ODQyNDAwLDg0NjM4MTYwMCw4NjAyOTJlMyw4Nzc4MzEyMDAsODkxNzQxNjAwLDkwOTI4MDgwMCw5MjMxOTEyMDAsOTQxMzM1MjAwLDk1NDY0MDgwMCw5NzI3ODQ4MDAsOTg2MDkwNDAwLDEwMDQyMzQ0MDAsMTAxODE0NDgwMCwxMDM1Njg0ZTMsMTA0OTU5NDQwMCwxMDY3MTMzNjAwLDEwODEwNDRlMywxMDk5MTg4ZTMsMTExMjQ5MzYwMCwxMTMwNjM3NjAwLDExNDM5NDMyMDAsMTE2MjA4NzIwMCwxMTczNTc4NDAwLDExOTQxNDE2MDAsMTIwNTAyOGUzLDEyMjU1OTEyMDAsMTIzNjQ3NzYwMCwxMjU3MDQwODAwLDEyNjg1MzJlMywxMjg5MDk1MjAwLDEyOTk5ODE2MDAsMTMyMDU0NDgwMCwxMzMxNDMxMjAwLDEzNTE5OTQ0MDAsMTM2Mjg4MDgwMCwxMzgzNDQ0ZTMsMTM5NDMzMDQwMCwxNDE0ODkzNjAwLDE0MjU3OGU0LDE0NDYzNDMyMDAsMTQ1NzgzNDQwMCwxNDc4Mzk3NjAwLDE0ODkyODRlMywxNTA5ODQ3MjAwLDE1MjA3MzM2MDAsMTU0MTI5NjgwMCwxNTUyMTgzMjAwLDE1NzI3NDY0MDAsMTU4MzYzMjgwMCwxNjA0MTk2ZTMsMTYxNTY4NzIwMCwxNjM2MjUwNDAwLDE2NDcxMzY4MDAsMTY2NzdlNSwxNjc4NTg2NDAwLDE2OTkxNDk2MDAsMTcxMDAzNmUzLDE3MzA1OTkyMDAsMTc0MTQ4NTYwMCwxNzYyMDQ4ODAwLDE3NzI5MzUyMDAsMTc5MzQ5ODQwMCwxODA0OTg5NjAwLDE4MjU1NTI4MDAsMTgzNjQzOTIwMCwxODU3MDAyNDAwLDE4Njc4ODg4MDAsMTg4ODQ1MmUzLDE4OTkzMzg0MDAsMTkxOTkwMTYwMCwxOTMwNzg4ZTNdLApvZmZzZXQ6WzU0MTM5LC0zMjI2MSwtMjg4MDAsLTI1MjAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yODgwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMzI0MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMF19LCJBbWVyaWNhL0xpbWEiOnt0aW1lOlstMjUyNDUyMTYwMCwtMTkzODU1NjgwMCwtMTAwOTg0MzIwMCwtMTAwMjA2NzIwMCwtOTg2Nzc0NDAwLC05NzEwNDk2MDAsLTk1NTMyNDgwMCwtOTM5NmU1LDUwNDkyMTYwMCw1MTI2OTc2MDAsNTM2NDU3NjAwLDU0NDIzMzYwMCw2MzExNTJlMyw2Mzg5MjhlMyw3NTczODI0MDAsNzY1MTU4NDAwLDE5MjQ5NzRlM10sb2Zmc2V0OlstMTg0OTIsLTE4NTE2LC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlM119LCJBbWVyaWNhL0xvc19BbmdlbGVzIjp7dGltZTpbLTI3MTc2NjgzNzgsLTE2MzMyOTg0MDAsLTE2MTUxNTQ0MDAsLTE2MDE4NDg4MDAsLTE1ODM3MDQ4MDAsLTg4MDIzNmUzLC03Njk0MjA4MDAsLTc2NTQxMDQwMCwtNjg3OTk1OTQwLC02NjI2ODA4MDAsLTYyMDg2NjgwMCwtNjA4MTYyNDAwLC01ODk0MTcyMDAsLTU3NjEwOGUzLC01NTc5Njc2MDAsLTU0NDY1ODQwMCwtNTI2NTE4ZTMsLTUxMzIwODgwMCwtNDk1MDY4NDAwLC00ODE3NTkyMDAsLTQ2MzYxODgwMCwtNDUwMzA5NjAwLC00MzE1NjQ0MDAsLTQxODI1NTIwMCwtNDAwMTE0ODAwLC0zODY4MDU2MDAsLTM2ODY2NTIwMCwtMzU1MzU2ZTMsLTMzNzIxNTYwMCwtMzIzOTA2NDAwLC0zMDU3NjZlMywtMjkyNDU2ODAwLC0yNzM3MTE2MDAsLTI2MTAwNzIwMCwtMjQyMjYyZTMsLTIyNjUzMzYwMCwtMjEwODEyNDAwLC0xOTUwODRlMywtMTc5MzYyODAwLC0xNjM2MzQ0MDAsLTE0NzkxMzIwMCwtMTMxNThlNCwtMTE2NDYzNjAwLC0xMDAxMzA0MDAsLTg0NDA1NjAwLC02ODY4MDgwMCwtNTI5NTZlMywtMzcyMzEyMDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sCm9mZnNldDpbLTI4Mzc4LC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMF19LCJBbWVyaWNhL01leGljb19DaXR5Ijp7dGltZTpbLTE1MTQ3NjMzOTYsLTEzNDMxNzQ0MDAsLTEyMzQ4Mjg4MDAsLTEyMjA0ODY0MDAsLTEyMDcxODA4MDAsLTExOTEzNjk2MDAsLTk3NTI4MzIwMCwtOTYzMTg3MjAwLC05MTcxMzZlMywtOTA3MzcyODAwLC04MjE5MjMyMDAsLTgxMDA4NjQwMCwtNjI3NTIzMjAwLC02MTMwMDhlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODkxMTQ0MDAsMTAwMTgxNTIwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzUzOTI4MDAsMTE5MzUzNjgwMCwxMjA3NDQ3MjAwLDEyMjQ5ODY0MDAsMTIzODg5NjgwMCwxMjU2NDM2ZTMsMTI3MDM0NjQwMCwxMjg4NDkwNDAwLDEzMDE3OTZlMywxMzE5OTRlNCwxMzMzMjQ1NjAwLDEzNTEzODk2MDAsMTM2NTNlNSwxMzgyODM5MjAwLDEzOTY3NDk2MDAsMTQxNDI4ODgwMCwxNDI4MTk5MjAwLDE0NDU3Mzg0MDAsMTQ1OTY0ODgwMCwxNDc3NzkyODAwLDE0OTEwOTg0MDAsMTUwOTI0MjQwMCwxNTIyNTQ4ZTMsMTU0MDY5MmUzLDE1NTQ2MDI0MDAsMTU3MjE0MTYwMCwxNTg2MDUyZTMsMTYwMzU5MTIwMCwxNjE3NTAxNjAwLDE2MzU2NDU2MDAsMTY0ODk1MTIwMCwxNjY3MDk1MjAwLDE5MjQ5NzA0MDBdLG9mZnNldDpbLTIzNzk2LC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMF19LCJBbWVyaWNhL05ld19Zb3JrIjp7CnRpbWU6Wy0yNzE3NjY4NTYyLC0xNjMzMjk4NDAwLC0xNjE1MTU0NDAwLC0xNjAxODQ4ODAwLC0xNTgzNzA0ODAwLC0xNTcwMzk5MjAwLC0xNTUxNjUwNDAwLC0xNTM2NTMwNDAwLC0xNTIzMjI0ODAwLC0xNTA0NDc2ZTMsLTE0OTE3NzUyMDAsLTE0NzMwMjY0MDAsLTE0NTk3MjA4MDAsLTE0NDE1NzY4MDAsLTE0MjgyNzEyMDAsLTE0MTAxMjcyMDAsLTEzOTY4MjE2MDAsLTEzNzg2Nzc2MDAsLTEzNjUzNzJlMywtMTM0NzIyOGUzLC0xMzMzOTIyNDAwLC0xMzE1MTczNjAwLC0xMzAxODY4ZTMsLTEyODM3MjRlMywtMTI3MDQxODQwMCwtMTI1MjI3NDQwMCwtMTIzODk2ODgwMCwtMTIyMDgyNDgwMCwtMTIwNzUxOTIwMCwtMTE4OTM3NTIwMCwtMTE3NjA2OTYwMCwtMTE1NzMyMDgwMCwtMTE0NDYyZTQsLTExMjU4NzEyMDAsLTExMTI1NjU2MDAsLTEwOTQ0MjE2MDAsLTEwODExMTZlMywtMTA2Mjk3MmUzLC0xMDQ5NjY2NDAwLC0xMDMxNTIyNDAwLC0xMDE4MjE2ODAwLC0xMDAwMDcyODAwLC05ODY3NjcyMDAsLTk2ODAxODQwMCwtOTU1MzE3NjAwLC05MzY1Njg4MDAsLTkyMzI2MzIwMCwtOTA1MTE5MjAwLC04OTE4MTM2MDAsLTg4MDIzNmUzLC03Njk0MWU0LC03NjU0MTA0MDAsLTc0NzI2NjQwMCwtNzMzOTYwODAwLC03MTU4MTY4MDAsLTcwMjUxMTIwMCwtNjg0MzY3MjAwLC02NzEwNjE2MDAsLTY1MjkxNzYwMCwtNjM5NjEyZTMsLTYyMDg2MzIwMCwtNjA4MTYyNDAwLC01ODk0MTM2MDAsLTU3NjEwOGUzLC01NTc5NjRlMywtNTQ0NjU4NDAwLC01MjY1MTQ0MDAsLTUxMzIwODgwMCwtNDk1MDY0ODAwLC00ODE3NTkyMDAsLTQ2MzYxNTIwMCwtNDQ3Mjg1NjAwLC00MzE1NjA4MDAsLTQxNTgzNmUzLC00MDAxMTEyMDAsLTM4NDM4NjQwMCwtMzY4NjYxNjAwLC0zNTI5MzY4MDAsLTMzNzIxMmUzLC0zMjE0ODcyMDAsLTMwNTc2MjQwMCwtMjg5NDMyODAwLC0yNzM3MDhlMywtMjU3OTgzMjAwLC0yNDIyNTg0MDAsLTIyNjUzMzYwMCwtMjEwODA4ODAwLC0xOTUwODRlMywtMTc5MzU5MjAwLC0xNjM2MzQ0MDAsLTE0NzkwOTYwMCwtMTMxNThlNCwtMTE2NDZlNCwtMTAwMTMwNDAwLC04NDQwNTYwMCwtNjg2ODA4MDAsLTUyOTU2ZTMsLTM3MjMxMjAwLC0yMTUwNjQwMCwtNTc4MTYwMCw5OTQzMjAwLDI1NjY4ZTMsNDEzOTI4MDAsNTc3MjI0MDAsNzM0NDcyMDAsODkxNzJlMywxMDQ4OTY4MDAsMTIwNjIxNjAwLDEyNjY2OTYwMCwxNTIwNzEyMDAsMTYyMzUyODAwLDE4MzUyMDgwMCwxOTkyNDU2MDAsMjE1NTc1MjAwLDIzMDY5NTIwMCwyNDcwMjQ4MDAsMjYyNzQ5NjAwLDI3ODQ3NDQwMCwyOTQxOTkyMDAsMzA5OTI0ZTMsMzI1NjQ4ODAwLDM0MTM3MzYwMCwzNTcwOTg0MDAsMzcyODIzMjAwLDM4ODU0OGUzLDQwNDg3NzYwMCw0MTk5OTc2MDAsNDM2MzI3MjAwLDQ1MjA1MmUzLDQ2Nzc3NjgwMCw0ODM1MDE2MDAsNDk5MjI2NDAwLDUxNDk1MTIwMCw1MzA2NzZlMyw1NDQ1ODY0MDAsNTYyMTI1NjAwLDU3NjAzNmUzLDU5NDE4ZTQsNjA3NDg1NjAwLDYyNTYyOTYwMCw2Mzg5MzUyMDAsNjU3MDc5MjAwLDY3MDk4OTYwMCw2ODg1Mjg4MDAsNzAyNDM5MjAwLDcxOTk3ODQwMCw3MzM4ODg4MDAsNzUyMDMyODAwLDc2NTMzODQwMCw3ODM0ODI0MDAsNzk2Nzg4ZTMsODE0OTMyZTMsODI4ODQyNDAwLDg0NjM4MTYwMCw4NjAyOTJlMyw4Nzc4MzEyMDAsODkxNzQxNjAwLDkwOTI4MDgwMCw5MjMxOTEyMDAsOTQxMzM1MjAwLDk1NDY0MDgwMCw5NzI3ODQ4MDAsOTg2MDkwNDAwLDEwMDQyMzQ0MDAsMTAxODE0NDgwMCwxMDM1Njg0ZTMsMTA0OTU5NDQwMCwxMDY3MTMzNjAwLDEwODEwNDRlMywxMDk5MTg4ZTMsMTExMjQ5MzYwMCwxMTMwNjM3NjAwLDExNDM5NDMyMDAsMTE2MjA4NzIwMCwxMTczNTc4NDAwLDExOTQxNDE2MDAsMTIwNTAyOGUzLDEyMjU1OTEyMDAsMTIzNjQ3NzYwMCwxMjU3MDQwODAwLDEyNjg1MzJlMywxMjg5MDk1MjAwLDEyOTk5ODE2MDAsMTMyMDU0NDgwMCwxMzMxNDMxMjAwLDEzNTE5OTQ0MDAsMTM2Mjg4MDgwMCwxMzgzNDQ0ZTMsMTM5NDMzMDQwMCwxNDE0ODkzNjAwLDE0MjU3OGU0LDE0NDYzNDMyMDAsMTQ1NzgzNDQwMCwxNDc4Mzk3NjAwLDE0ODkyODRlMywxNTA5ODQ3MjAwLDE1MjA3MzM2MDAsMTU0MTI5NjgwMCwxNTUyMTgzMjAwLDE1NzI3NDY0MDAsMTU4MzYzMjgwMCwxNjA0MTk2ZTMsMTYxNTY4NzIwMCwxNjM2MjUwNDAwLDE2NDcxMzY4MDAsMTY2NzdlNSwxNjc4NTg2NDAwLDE2OTkxNDk2MDAsMTcxMDAzNmUzLDE3MzA1OTkyMDAsMTc0MTQ4NTYwMCwxNzYyMDQ4ODAwLDE3NzI5MzUyMDAsMTc5MzQ5ODQwMCwxODA0OTg5NjAwLDE4MjU1NTI4MDAsMTgzNjQzOTIwMCwxODU3MDAyNDAwLDE4Njc4ODg4MDAsMTg4ODQ1MmUzLDE4OTkzMzg0MDAsMTkxOTkwMTYwMCwxOTMwNzg4ZTNdLApvZmZzZXQ6Wy0xNzc2MiwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlM119LCJBbWVyaWNhL1Bob2VuaXgiOnt0aW1lOlstMjcxNzY3MDQ5OCwtMTYzMzI5ODQwMCwtMTYxNTE1NDQwMCwtMTYwMTg0ODgwMCwtMTU4MzcwNDgwMCwtODgwMjM2ZTMsLTgyMDU0MDc0MCwtODEyNjc4MzQwLC03OTY4NjcxNDAsLTg0NDA1NjAwLC02ODY4MDgwMCwxOTI0OTY2ODAwXSxvZmZzZXQ6Wy0yNjg5OCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwXX0sIkFtZXJpY2EvU2FudGlhZ28iOnsKdGltZTpbLTI1MjQ1MjE2MDAsLTE4OTI2Nzg0MDAsLTE2ODg0Mjg4MDAsLTE2MTkyMjI0MDAsLTE1OTM4MjA4MDAsLTEzMzYwMDMyMDAsLTEzMTc2ZTUsLTEzMDQzODA4MDAsLTEyODYwNjRlMywtMTI3Mjg0NDgwMCwtMTI1NDUyOGUzLC0xMjQxMzA4ODAwLC0xMjIyOTkyZTMsLTEyMDk3NzI4MDAsLTExOTEzNjk2MDAsLTExNzgxNTA0MDAsLTg3MDU2NjQwMCwtODY1Mjk2ZTMsLTc0MDUzNDQwMCwtNzM2NjQ2NDAwLC03MTgwNzA0MDAsLTcxMzY2NzYwMCwtMzY2MzM2MDAsLTIzOTMyODAwLC0zMzY5NjAwLDc1MTY4MDAsMjQ0NTEyMDAsMzc3NTY4MDAsNTU5MDA4MDAsNjkyMDY0MDAsODc5NTUyMDAsMTAwNjU2ZTMsMTE4MTk1MjAwLDEzMjEwNTYwMCwxNTA4NTQ0MDAsMTYzNTU1MjAwLDE4MjMwNGUzLDE5NTYwOTYwMCwyMTM3NTM2MDAsMjI3MDU5MjAwLDI0NTIwMzIwMCwyNTg1MDg4MDAsMjc3MjU3NjAwLDI4OTk1ODQwMCwzMDg3MDcyMDAsMzIxNDA4ZTMsMzQwMTU2ODAwLDM1MzQ2MjQwMCwzNzE2MDY0MDAsMzg0OTEyZTMsNDAzMDU2ZTMsNDE2MzYxNjAwLDQzNDUwNTYwMCw0NDc4MTEyMDAsNDY2NTZlNCw0NzkyNjA4MDAsNDk4MDA5NjAwLDUxMDcxMDQwMCw1Mjk0NTkyMDAsNTQ1MTg0ZTMsNTYwOTA4ODAwLDU3NDIxNDQwMCw1OTIzNTg0MDAsNjA1NjY0ZTMsNjI0NDEyODAwLDYzNzExMzYwMCw2NTM0NDMyMDAsNjY4NTYzMjAwLDY4NzMxMmUzLDcwMDYxNzYwMCw3MTg3NjE2MDAsNzMyMDY3MjAwLDc1MDIxMTIwMCw3NjM1MTY4MDAsNzgxNjYwODAwLDc5NDk2NjQwMCw4MTM3MTUyMDAsODI2NDE2ZTMsODQ1MTY0ODAwLDg1OTY4ZTQsODc2NjE0NDAwLDg4OTkyZTQsOTA2ODU0NDAwLDkyMzE4NGUzLDkzOTUxMzYwMCw5NTI4MTkyMDAsOTcxNTY4ZTMsOTg0MjY4ODAwLDEwMDMwMTc2MDAsMTAxNTcxODQwMCwxMDM0NDY3MjAwLDEwNDcxNjhlMywxMDY1OTE2ODAwLDEwNzkyMjI0MDAsMTA5NzM2NjQwMCwxMTEwNjcyZTMsMTEyODgxNmUzLDExNDIxMjE2MDAsMTE2MDg3MDQwMCwxMTczNTcxMjAwLDExOTIzMmU0LDEyMDY4MzUyMDAsMTIyMzc2OTYwMCwxMjM3MDc1MjAwLDEyNTUyMTkyMDAsMTI3MDMzOTIwMCwxMjg2NjY4ODAwLDEzMDQ4MTI4MDAsMTMxMzg4NDgwMCwxMzM1NjU3NjAwLDEzNDY1NDRlMywxMzY3MTA3MjAwLDEzNzg1OTg0MDAsMTM5ODU1NjgwMCwxNDEwMDQ4ZTMsMTQ2MzI3MDQwMCwxNDcxMTMyODAwLDE0OTQ3MmU0LDE1MDI1ODI0MDAsMTUyNjE2OTYwMCwxNTM0MDMyZTMsMTU1NDU5NTIwMCwxNTY3OTAwODAwLDE1ODYwNDQ4MDAsMTU5OTM1MDQwMCwxNjE3NDk0NDAwLDE2MzA4ZTUsMTY0ODk0NGUzLDE2NjI4NTQ0MDAsMTY4MDM5MzYwMCwxNjkzNjk5MjAwLDE3MTI0NDhlMywxNzI1NzUzNjAwLDE3NDM4OTc2MDAsMTc1NzIwMzIwMCwxNzc1MzQ3MjAwLDE3ODg2NTI4MDAsMTgwNjc5NjgwMCwxODIwMTAyNDAwLDE4MzgyNDY0MDAsMTg1MTU1MmUzLDE4NzAzMDA4MDAsMTg4MzAwMTYwMCwxOTAxNzUwNDAwLDE5MTUwNTZlMywxOTMzMmU1XSxvZmZzZXQ6Wy0xNjk2NSwtMTY5NjUsLTE4ZTMsLTE2OTY1LC0xNDQwMCwtMTY5NjUsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwXX0sIkFtZXJpY2EvU2FvX1BhdWxvIjp7CnRpbWU6Wy0xNzY3MjI1NjAwLC0xMjA2OTY4NDAwLC0xMTkxMzY5NjAwLC0xMTc1Mzg1NjAwLC0xMTU5ODMzNjAwLC02MzM4MzA0MDAsLTYyMjA3NjQwMCwtNjAyMjk0NDAwLC01OTE4NGU0LC01NzA3NTg0MDAsLTU2MDIxNzYwMCwtNTM5MTM2ZTMsLTUzMTM2ZTQsLTE5NTQzNjgwMCwtMTg0MjA0ODAwLC0xNTUxNzQ0MDAsLTE1MDA3NjgwMCwtMTI4OTA4ODAwLC0xMjExMzI4MDAsLTk5OTY0ODAwLC04OTU5NjgwMCwtNjg0Mjg4MDAsLTU3OTc0NDAwLDQ5OTczNzYwMCw1MTEyMjg4MDAsNTMwNTgyNDAwLDU0MDI1OTIwMCw1NjIxMTg0MDAsNTcxMTkwNDAwLDU5Mjk2MzIwMCw2MDIwMzUyMDAsNjI0NDEyODAwLDYzNDY5NDQwMCw2NTY0NjcyMDAsNjY2NzQ4ODAwLDY4NzkxNjgwMCw2OTc1OTM2MDAsNzE5OTcxMjAwLDcyODQzODQwMCw3NTA4MTZlMyw3NjE3MDI0MDAsNzgyMjY1NjAwLDc5MzE1MmUzLDgxMzcxNTIwMCw4MjM5OTY4MDAsODQ0NTZlNCw4NTYwNTEyMDAsODc2MDk2ZTMsODg4NzEwNDAwLDkwODA2NGUzLDkxOTU1NTIwMCw5Mzg5MDg4MDAsOTUxNjA5NjAwLDk3MDk2MzIwMCw5ODI0NTQ0MDAsMTAwMzAxNzYwMCwxMDEzOTA0ZTMsMTAzNjI4MTYwMCwxMDQ1MzUzNjAwLDEwNjY1MjE2MDAsMTA3NjgwMzIwMCwxMDk5MzUzNjAwLDExMDg4NTc2MDAsMTEyOTQyMDgwMCwxMTQwMzA3MjAwLDExNjI2ODQ4MDAsMTE3MjM2MTYwMCwxMTkyMzJlNCwxMjAzMjA2NDAwLDEyMjQzNzQ0MDAsMTIzNDY1NmUzLDEyNTU4MjRlMywxMjY2NzEwNDAwLDEyODcyNzM2MDAsMTI5ODE2ZTQsMTMxODcyMzIwMCwxMzMwMjE0NDAwLDEzNTA3Nzc2MDAsMTM2MTA1OTIwMCwxMzgyMjI3MjAwLDEzOTI1MDg4MDAsMTQxMzY3NjgwMCwxNDI0NTYzMjAwLDE0NDUxMjY0MDAsMTQ1NjAxMjgwMCwxNDc2NTc2ZTMsMTQ4NzQ2MjQwMCwxNTA4MDI1NjAwLDE1MTg5MTJlMywxNTQxMjg5NjAwLDE1NTAzNjE2MDAsMTkyNDk4MTIwMF0sb2Zmc2V0OlstMTExODgsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwXX0sIkFtZXJpY2EvVG9yb250byI6ewp0aW1lOlstMjM2Njc1NTIwMCwtMTYzMjA4ODgwMCwtMTYxNTE1NDQwMCwtMTYwMTc3MTQwMCwtMTU4MzcxMmUzLC0xNTY3Mzc1MjAwLC0xNTU0NjgxNjAwLC0xNTM0NzE2ZTMsLTE1MjQwODg4MDAsLTE1MDMyNjY0MDAsLTE0OTIzOGU0LC0xNDcxODE2ODAwLC0xNDYwOTMwNDAwLC0xNDQwOTcyZTMsLTE0Mjg4NzZlMywtMTQwOTUyMjQwMCwtMTM5NzQyNjQwMCwtMTM3ODA3MjgwMCwtMTM2NTk3NjgwMCwtMTM0NjYyMzIwMCwtMTMzMzkyMjQwMCwtMTMxNTE3MzYwMCwtMTMwMTg2OGUzLC0xMjgzNzI0ZTMsLTEyNzA0MTg0MDAsLTEyNTIyNzQ0MDAsLTEyMzg5Njg4MDAsLTEyMjA4MjQ4MDAsLTEyMDc1MTkyMDAsLTExODg3NzA0MDAsLTExNzYwNjk2MDAsLTExNTczMjA4MDAsLTExNDQwMTUyMDAsLTExMjU4NzEyMDAsLTExMTI1NjU2MDAsLTEwOTQ0MjE2MDAsLTEwODExMTZlMywtMTA2Mjk3MmUzLC0xMDQ5NjY2NDAwLC0xMDMxNTIyNDAwLC0xMDE4MjE2ODAwLC0xMDAwMDcyODAwLC05ODY3NjcyMDAsLTk2ODAxODQwMCwtOTU1MzE3NjAwLC05MzY1Njg4MDAsLTg4MDIzMjQwMCwtNzY5NDFlNCwtNzY1NDEwNDAwLC03NDcyNjY0MDAsLTczMzk2MDgwMCwtNzE1ODE2ODAwLC03MDI1MTEyMDAsLTY4NDM2NzIwMCwtNjcxMDYxNjAwLC02NTI5MTc2MDAsLTYzNDE2ODgwMCwtNjIwODYzMjAwLC02MDI3MTkyMDAsLTU4OTQxMzYwMCwtNTc2MTA4ZTMsLTU1Nzk2NGUzLC01NDQ2NTg0MDAsLTUyNjUxNDQwMCwtNTEzMjA4ODAwLC00OTUwNjQ4MDAsLTQ4MTc1OTIwMCwtNDYzNjE1MjAwLC00NTAzMDk2MDAsLTQzMTU2MDgwMCwtNDE4MjU1MjAwLC00MDAxMTEyMDAsLTM4NDM4NjQwMCwtMzY4NjYxNjAwLC0zNTI5MzY4MDAsLTMzNzIxMmUzLC0zMjE0ODcyMDAsLTMwNTc2MjQwMCwtMjg5NDMyODAwLC0yNzM3MDhlMywtMjU3OTgzMjAwLC0yNDIyNTg0MDAsLTIyNjUzMzYwMCwtMjEwODA4ODAwLC0xOTUwODRlMywtMTc5MzU5MjAwLC0xNjM2MzQ0MDAsLTE0NzkwOTYwMCwtMTMxNThlNCwtMTE2NDZlNCwtMTAwMTMwNDAwLC04NDQwNTYwMCwtNjg2ODA4MDAsLTUyOTU2ZTMsLTM3MjMxMjAwLC0yMTUwNjQwMCwtNTc4MTYwMCw5OTQzMjAwLDI1NjY4ZTMsNDEzOTI4MDAsNTc3MjI0MDAsNzM0NDcyMDAsODkxNzJlMywxMDQ4OTY4MDAsMTIwNjIxNjAwLDEzNjM0NjQwMCwxNTIwNzEyMDAsMTY3Nzk2ZTMsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sCm9mZnNldDpbLTE5MDUyLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE0NDAwLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTNdfSwiQW1lcmljYS9WYW5jb3V2ZXIiOnsKdGltZTpbLTI3MTM5MTA0MDAsLTE2MzIwODg4MDAsLTE2MTUxNTQ0MDAsLTg4MDIzNmUzLC03Njk0MjA4MDAsLTc2NTQxMDQwMCwtNzQ3MjY2NDAwLC03MzM5NjA4MDAsLTcxNTgxNjgwMCwtNzAyNTExMjAwLC02ODQzNjcyMDAsLTY3MTA2MTYwMCwtNjUyOTE3NjAwLC02Mzk2MTJlMywtNjIwODYzMjAwLC02MDgxNjI0MDAsLTU4OTQxMzYwMCwtNTc2MTA4ZTMsLTU1Nzk2NGUzLC01NDQ2NTg0MDAsLTUyNjUxNDQwMCwtNTEzMjA4ODAwLC00OTUwNjQ4MDAsLTQ4MTc1OTIwMCwtNDYzNjE1MjAwLC00NTAzMDk2MDAsLTQzMTU2MDgwMCwtNDE4MjU1MjAwLC00MDAxMTEyMDAsLTM4NjgwNTYwMCwtMzY4NjYxNjAwLC0zNTUzNTZlMywtMzM3MjEyZTMsLTMyMzkwNjQwMCwtMzA1NzYyNDAwLC0yOTI0NTY4MDAsLTI3MzcwOGUzLC0yNjEwMDcyMDAsLTI0MjI1ODQwMCwtMjI2NTMzNjAwLC0yMTA4MDg4MDAsLTE5NTA4NGUzLC0xNzkzNTkyMDAsLTE2MzYzNDQwMCwtMTQ3OTA5NjAwLC0xMzE1OGU0LC0xMTY0NmU0LC0xMDAxMzA0MDAsLTg0NDA1NjAwLC02ODY4MDgwMCwtNTI5NTZlMywtMzcyMzEyMDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTM2MzQ2NDAwLDE1MjA3MTIwMCwxNjc3OTZlMywxODM1MjA4MDAsMTk5MjQ1NjAwLDIxNTU3NTIwMCwyMzA2OTUyMDAsMjQ3MDI0ODAwLDI2Mjc0OTYwMCwyNzg0NzQ0MDAsMjk0MTk5MjAwLDMwOTkyNGUzLDMyNTY0ODgwMCwzNDEzNzM2MDAsMzU3MDk4NDAwLDM3MjgyMzIwMCwzODg1NDhlMyw0MDQ4Nzc2MDAsNDE5OTk3NjAwLDQzNjMyNzIwMCw0NTIwNTJlMyw0Njc3NzY4MDAsNDgzNTAxNjAwLDQ5OTIyNjQwMCw1MTQ5NTEyMDAsNTMwNjc2ZTMsNTQ0NTg2NDAwLDU2MjEyNTYwMCw1NzYwMzZlMyw1OTQxOGU0LDYwNzQ4NTYwMCw2MjU2Mjk2MDAsNjM4OTM1MjAwLDY1NzA3OTIwMCw2NzA5ODk2MDAsNjg4NTI4ODAwLDcwMjQzOTIwMCw3MTk5Nzg0MDAsNzMzODg4ODAwLDc1MjAzMjgwMCw3NjUzMzg0MDAsNzgzNDgyNDAwLDc5Njc4OGUzLDgxNDkzMmUzLDgyODg0MjQwMCw4NDYzODE2MDAsODYwMjkyZTMsODc3ODMxMjAwLDg5MTc0MTYwMCw5MDkyODA4MDAsOTIzMTkxMjAwLDk0MTMzNTIwMCw5NTQ2NDA4MDAsOTcyNzg0ODAwLDk4NjA5MDQwMCwxMDA0MjM0NDAwLDEwMTgxNDQ4MDAsMTAzNTY4NGUzLDEwNDk1OTQ0MDAsMTA2NzEzMzYwMCwxMDgxMDQ0ZTMsMTA5OTE4OGUzLDExMTI0OTM2MDAsMTEzMDYzNzYwMCwxMTQzOTQzMjAwLDExNjIwODcyMDAsMTE3MzU3ODQwMCwxMTk0MTQxNjAwLDEyMDUwMjhlMywxMjI1NTkxMjAwLDEyMzY0Nzc2MDAsMTI1NzA0MDgwMCwxMjY4NTMyZTMsMTI4OTA5NTIwMCwxMjk5OTgxNjAwLDEzMjA1NDQ4MDAsMTMzMTQzMTIwMCwxMzUxOTk0NDAwLDEzNjI4ODA4MDAsMTM4MzQ0NGUzLDEzOTQzMzA0MDAsMTQxNDg5MzYwMCwxNDI1NzhlNCwxNDQ2MzQzMjAwLDE0NTc4MzQ0MDAsMTQ3ODM5NzYwMCwxNDg5Mjg0ZTMsMTUwOTg0NzIwMCwxNTIwNzMzNjAwLDE1NDEyOTY4MDAsMTU1MjE4MzIwMCwxNTcyNzQ2NDAwLDE1ODM2MzI4MDAsMTYwNDE5NmUzLDE2MTU2ODcyMDAsMTYzNjI1MDQwMCwxNjQ3MTM2ODAwLDE2Njc3ZTUsMTY3ODU4NjQwMCwxNjk5MTQ5NjAwLDE3MTAwMzZlMywxNzMwNTk5MjAwLDE3NDE0ODU2MDAsMTc2MjA0ODgwMCwxNzcyOTM1MjAwLDE3OTM0OTg0MDAsMTgwNDk4OTYwMCwxODI1NTUyODAwLDE4MzY0MzkyMDAsMTg1NzAwMjQwMCwxODY3ODg4ODAwLDE4ODg0NTJlMywxODk5MzM4NDAwLDE5MTk5MDE2MDAsMTkzMDc4OGUzXSwKb2Zmc2V0OlstMjk1NDgsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMF19LCJBc2lhL0FsbWF0eSI6e3RpbWU6Wy0xNDQxMTUyZTMsLTEyNDc1Mjk2MDAsMzU0OTMxMjAwLDM3MDc0MjQwMCwzODY0NjcyMDAsNDAyMjc4NDAwLDQxODAwMzIwMCw0MzM4MTQ0MDAsNDQ5NjI1NjAwLDQ2NTM2MTIwMCw0ODEwODI0MDAsNDk2ODEwODAwLDUxMjUzMmUzLDUyODI2MDQwMCw1NDM5ODE2MDAsNTU5NzFlNCw1NzU0MzEyMDAsNTkxMTU5NjAwLDYwNjg4MDgwMCw2MjI2MDkyMDAsNjM4MzMwNDAwLDY1NDY2MzYwMCw2NzAzODQ4MDAsNjg2MTEzMjAwLDY5NTc4NjQwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxNzA5MjUxMjAwLDE5MjUwMWU0XSxvZmZzZXQ6WzE4NDY4LDE4ZTMsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjE2MDAsMThlMywyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwxOGUzXX0sIkFzaWEvQXNoa2hhYmFkIjp7dGltZTpbLTE0NDExNTJlMywtMTI0NzUyOTYwMCwzNTQ5MzEyMDAsMzcwNzQyNDAwLDM4NjQ2NzIwMCw0MDIyNzg0MDAsNDE4MDAzMjAwLDQzMzgxNDQwMCw0NDk2MjU2MDAsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNjk1Nzg2NDAwLDE5MjUwMWU0XSxvZmZzZXQ6WzE0MDEyLDE0NDAwLDE4ZTMsMjE2MDAsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlMywxOGUzLDE0NDAwLDE4ZTNdfSwiQXNpYS9CYWhyYWluIjp7dGltZTpbLTg5Nzg2ODgwMCwtODIwNTQwODAwLDc2MjA0ODAwLDE5MjUwMDI4MDBdLG9mZnNldDpbMTIxNDAsMTI2MDAsMTQ0MDAsMTA4MDBdfSwiQXNpYS9CYW5na29rIjp7dGltZTpbLTI4NDAxNDA4MDAsLTE1NzAwNjA4MDAsMTkyNTAxNzIwMF0sb2Zmc2V0OlsyNDEyNCwyNDEyNCwyNTIwMF19LCJBc2lhL0Nob25ncWluZyI6ewp0aW1lOlstMjE3NzQ1MjgwMCwtMTYwMDY0NjQwMCwtMTU4NTg3MmUzLC05MzM2Mzg0MDAsLTkyMjA2MDgwMCwtOTA4ODQxNjAwLC04ODg3OTY4MDAsLTg4MTAyMDgwMCwtNzY3ODM2ODAwLC03NDU4MDQ4MDAsLTczMzc5NTIwMCwtNzE2ODYwODAwLC02OTk1ODA4MDAsLTY4Mzg1NmUzLC02NzA2MzY4MDAsLTY1MjMyZTQsLTY0OTk4NzIwMCw1MTU1NTZlMyw1MjcwNDcyMDAsNTQ1MTkxMjAwLDU1ODQ5NjgwMCw1NzcyNDU2MDAsNTg5OTQ2NDAwLDYwODY5NTIwMCw2MjIwMDA4MDAsNjQwMTQ0ODAwLDY1MzQ1MDQwMCw2NzE1OTQ0MDAsNjg0OWU1LDE5MjUwMjA4MDBdLG9mZnNldDpbMjkxNDMsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXNpYS9Db2xvbWJvIjp7dGltZTpbLTI4NDAxNDA4MDAsLTIwMTk2ODY0MDAsLTg4MzI2NzIwMCwtODYyNjE3NjAwLC03NjQwMjhlMyw4MzI5ODI0MDAsODQ2Mjg5ODAwLDExNDUwNjFlMywxOTI1MDExODAwXSxvZmZzZXQ6WzE5MTY0LDE5MTcyLDE5ODAwLDIxNjAwLDIzNDAwLDE5ODAwLDIzNDAwLDIxNjAwLDE5ODAwXX0sIkFzaWEvRGhha2EiOnt0aW1lOlstMjUyNDUyMTYwMCwtODkxNTYxNjAwLC04NzIwMzUyMDAsLTg2MjYxNzYwMCwtNTc2MTE1MjAwLDEyNDU0NTI0MDAsMTI2MjMwMzk5OSwxOTI1MDEzNjAwXSxvZmZzZXQ6WzIxNzAwLDIxMjAwLDIzNDAwLDE5ODAwLDIzNDAwLDIxNjAwLDI1MjAwLDIxNjAwXX0sIkFzaWEvRHViYWkiOnt0aW1lOlstMTU3NzkyMzIwMCwxOTI1MDA2NDAwXSxvZmZzZXQ6WzEzMjcyLDE0NDAwXX0sIkFzaWEvSG9fQ2hpX01pbmgiOnt0aW1lOlstMjAwNDA0OGUzLC0xODUxNTUyZTMsLTg1MjA4MDQwMCwtNzgyNjE0ODAwLC03Njc4MzY4MDAsLTcxODA3MDQwMCwtNDU3NzQzNjAwLC0zMTU2MjI4MDAsMTcxODQ5NjAwLDE5MjUwMTcyMDBdLG9mZnNldDpbMjU1OTAsMjU1OTAsMjUyMDAsMjg4MDAsMzI0MDAsMjUyMDAsMjg4MDAsMjUyMDAsMjg4MDAsMjUyMDBdfSwiQXNpYS9Ib25nX0tvbmciOnt0aW1lOlstMjA1NjY2MzM5OCwtOTAwODgyZTMsLTg5MTU0NzIwMCwtODg0MjE3NjAwLC03NjExNzY4MDAsLTc0Nzg3ODQwMCwtNzI4NTA4NjAwLC03MTcwMjFlMywtNjk3MDU5ZTMsLTY4Mzc1N2UzLC02NjgwMjg2MDAsLTY1NDcyNjYwMCwtNjM2NTc5ZTMsLTYyMzI3N2UzLC02MDUxMjk0MDAsLTU5MTgyNzQwMCwtNTczNjc5ODAwLC01NTk3NzNlMywtNTQxNjI1NDAwLC01MjgzMjM0MDAsLTUxMDE3OTQwMCwtNDk4MDgzNDAwLC00Nzg3Mjk4MDAsLTQ2NjYzMzgwMCwtNDQ2Njc1NDAwLC00MzUxODQyMDAsLTQxNTIyNTgwMCwtNDAzMTI5ODAwLC0zODM3NzYyMDAsLTM3MTY4MDIwMCwtMzUyMzI2NjAwLC0zNDAyMzA2MDAsLTMyMDg3N2UzLC0zMDg3ODFlMywtMjg4ODIyNjAwLC0yNzczMzE0MDAsLTI1NzM3M2UzLC0yNDU4ODE4MDAsLTIyNTkyMzQwMCwtMjEzODI3NDAwLC0xOTQ0NzM4MDAsLTE4MjM3NzgwMCwtMTYzMDI0MjAwLC0xNDg1MDllMywtMTMyNzg0MjAwLC0xMTcwNTk0MDAsLTEwMTMzNDYwMCwtODU2MDk4MDAsLTY5MjgwMjAwLC01MzU1NTQwMCwtMzc4MzA2MDAsLTIyMTA1ODAwLC02MzgxZTMsOTM0MzgwMCwyNTA2ODYwMCw0MDc5MzQwMCw1NjUxODIwMCw3MjI0M2UzLDg4NTcyNjAwLDEwNDI5NzQwMCwxMjAwMjIyMDAsMTI2MDcwMjAwLDE1MTQ3MTgwMCwxNjcxOTY2MDAsMTgyOTIxNDAwLDE5ODY0NjIwMCwyMTQzNzFlMywyOTU0MTQyMDAsMzA5MzI0NjAwLDE5MjUwMjA4MDBdLG9mZnNldDpbMjc0MDIsMjg4MDAsMzI0MDAsMzA2MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXNpYS9KYWthcnRhIjp7dGltZTpbLTMyMzEyNzM2MDAsLTE0NTE2OTM1NjgsLTExNzI4OGU0LC04NzY2MTQ0MDAsLTc2NjAyMjQwMCwtNjgzODU2ZTMsLTYyMDc4NGUzLC0xODkzODg4MDAsMTkyNTAxNzIwMF0sb2Zmc2V0OlsyNTYzMiwyNTYzMiwyNjQwMCwyN2UzLDMyNDAwLDI3ZTMsMjg4MDAsMjdlMywyNTIwMF19LCJBc2lhL0plcnVzYWxlbSI6ewp0aW1lOlstMjg0MDE0MDgwMCwtMTY0MDk5NTIwMCwtOTMzNjMxMjAwLC05MjMwODY4MDAsLTkxOTAyOTYwMCwtODU3MzM2NDAwLC04NDQyOTM2MDAsLTgyNTgwMDQwMCwtODEyNjcxMjAwLC03OTQxNzhlMywtNzc5ODM5MjAwLC03NjI2NDJlMywtNzQ4MzAzMjAwLC03MzExMDZlMywtNjgxOTQ4ZTMsLTY3MzIxNDQwMCwtNjY3OTQ3NjAwLC02NTIzMTI4MDAsLTYzNjQxMTYwMCwtNjIyMDcyODAwLC02MDg5MzY0MDAsLTU5MTgzMjgwMCwtNTcyNDc1NjAwLC01NTg1Njg4MDAsLTU0Mjg0MDQwMCwtNTI3NzI0ZTMsLTUxNDQxNDgwMCwtNDkwODMxMjAwLC00ODI5NjUyMDAsLTQ1OTM4MTYwMCwtNDUxNTE1NjAwLC00Mjg1MzY4MDAsLTQxODI1MTYwMCwtNDAwMTExMjAwLC0zODc0MDY4MDAsMTQyMzg3MjAwLDE1MDg1NDQwMCwxNjcxODRlMywxNzg2NzUyMDAsMzM0MTA4ODAwLDMzNzc0MTIwMCw0NTI2NDk2MDAsNDYyMzNlNCw0ODIyODQ4MDAsNDk0MzgwODAwLDUxNjc1ODQwMCw1MjY0MzUyMDAsNTQ1NDQzMjAwLDU1ODQ4OTYwMCw1NzY2MzM2MDAsNTg5MzM0NDAwLDYwOTg5NzYwMCw2MjA3ODRlMyw2MzgzMjMyMDAsNjUxNjI4ODAwLDY2OTc3MjgwMCw2ODM2ODMyMDAsNzAxODI3MjAwLDcxNTczNzYwMCw3MzM3MDg4MDAsNzQ3MTg3MjAwLDc2NTE1ODQwMCw3NzgwMzJlMyw3OTY2MDhlMyw4MTAwODY0MDAsODI2ODQ4ZTMsODQyODMyZTMsODU4OTAyNDAwLDg3NDE5NTIwMCw4OTAzNTJlMyw5MDUwNGU0LDkyMzAxODQwMCw5MzYzMjRlMyw5NTU2Nzc2MDAsOTcwNzk0ZTMsOTg2Nzc4ZTMsMTAwMTI5MzIwMCwxMDE3MzYzNjAwLDEwMzM5NTI0MDAsMTA0ODgxMzIwMCwxMDY1MTQyODAwLDEwODEyOTk2MDAsMTA5NTgxNDgwMCwxMTEyMzIwODAwLDExMjg4MjMyMDAsMTE0Mzc3MDQwMCwxMTU5NjY4ZTMsMTE3NTIyZTQsMTE4OTkwOGUzLDEyMDY2Njk2MDAsMTIyMzE3MmUzLDEyMzgxMTkyMDAsMTI1NDAxNjgwMCwxMjY5NTY4ODAwLDEyODQyNTY4MDAsMTMwMTYyMzIwMCwxMzE3NTIwODAwLDEzMzMwNzI4MDAsMTM0ODM2NTYwMCwxMzY0NTIyNDAwLDEzODI4MzkyMDAsMTM5NTk3MmUzLDE0MTQyODg4MDAsMTQyNzQyMTYwMCwxNDQ1NzM4NDAwLDE0NTg4NzEyMDAsMTQ3Nzc5MjgwMCwxNDkwMzIwODAwLDE1MDkyNDI0MDAsMTUyMTc3MDQwMCwxNTQwNjkyZTMsMTU1MzgyNDgwMCwxNTcyMTQxNjAwLDE1ODUyNzQ0MDAsMTYwMzU5MTIwMCwxNjE2NzI0ZTMsMTYzNTY0NTYwMCwxNjQ4MTczNjAwLDE2NjcwOTUyMDAsMTY3OTYyMzIwMCwxNjk4NTQ0ODAwLDE3MTE2Nzc2MDAsMTcyOTk5NDQwMCwxNzQzMTI3MjAwLDE3NjE0NDRlMywxNzc0NTc2ODAwLDE3OTI4OTM2MDAsMTgwNjAyNjQwMCwxODI0OTQ4ZTMsMTgzNzQ3NmUzLDE4NTYzOTc2MDAsMTg2ODkyNTYwMCwxODg3ODQ3MjAwLDE5MDA5OGU0LDE5MTkyOTY4MDAsMTkzMjQyOTYwMF0sb2Zmc2V0Ols4NDU0LDg0NDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxNDQwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJBc2lhL0thYnVsIjp7dGltZTpbLTI1MjQ1MjE2MDAsLTc4ODkxODQwMCwxOTI1MDA4MjAwXSxvZmZzZXQ6WzE2NjA4LDE0NDAwLDE2MjAwXX0sIkFzaWEvS2FyYWNoaSI6e3RpbWU6Wy0xOTg4MTUwNDAwLC04NjI2MTc2MDAsLTc2NDEyMTYwMCwtNTc2MTE1MjAwLDM4NzkzNjAwLDEwMTgxMzc2MDAsMTAzMzg2MjQwMCwxMjEyMjc4NDAwLDEyMjU0OTc2MDAsMTIzOTc1MzYwMCwxMjU3MDMzNjAwLDE5MjUwMWU0XSxvZmZzZXQ6WzE2MDkyLDE5ODAwLDIzNDAwLDE5ODAwLDE4ZTMsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlM119LCJBc2lhL0thdGhtYW5kdSI6e3RpbWU6Wy0xNTc3OTIzMjAwLDUwNDkyMTYwMCwxOTI1MDEyNzAwXSxvZmZzZXQ6WzIwNDc2LDE5ODAwLDIwNzAwXX0sIkFzaWEvS29sa2F0YSI6e3RpbWU6Wy0zNjQ1MjE2ZTMsLTMxNTU2NzM2MDAsLTIwMTk2ODY0MDAsLTg5MTU2MTYwMCwtODcyMDM1MjAwLC04NjI2MTc2MDAsLTc2NDEyMTYwMCwxOTI1MDExODAwXSxvZmZzZXQ6WzIxMjA4LDIxMjAwLDE5MjcwLDE5ODAwLDIzNDAwLDE5ODAwLDIzNDAwLDE5ODAwXX0sIkFzaWEvS3VhbGFfTHVtcHVyIjp7dGltZTpbLTIxNzc0NTI4MDAsLTIwMzgxNzZlMywtMTE2NzYwOTYwMCwtMTA3MzAwMTYwMCwtODk0MTUzNjAwLC04Nzk2Mzg0MDAsLTc2Njk3MjgwMCwzNzg2ODk0MDAsMTkyNTAyMDgwMF0sb2Zmc2V0OlsyNDQwNiwyNDkyNSwyNTIwMCwyNjQwMCwyNjQwMCwyN2UzLDMyNDAwLDI3ZTMsMjg4MDBdfSwiQXNpYS9LdXdhaXQiOnt0aW1lOlstNjMxMTUyZTMsMTkyNTAwMjgwMF0sb2Zmc2V0OlsxMTUxNiwxMDgwMF19LCJBc2lhL01hbmlsYSI6ewp0aW1lOlstMzk0NDY3ODQwMCwtMjIxOTA1NDE2OCwtMTA0NjY0OTYwMCwtMTA0MDA4MzIwMCwtODg0OTk1MjAwLC04Nzk5ODRlMywtNzgzNTYxNjAwLC03NjAwNjA4MDAsLTQ5NjE5NTIwMCwtNDkxNTI5NjAwLDIyODM1NTIwMCwyNDM3MzQ0MDAsNjQzMjQ4ZTMsNjQ5MjA5NjAwLDE5MjUwMjA4MDBdLG9mZnNldDpbLTU3MzY4LDI5MDMyLDI4ODAwLDMyNDAwLDI4ODAwLDMyNDAwLDMyNDAwLDMyNDAwLDI4ODAwLDMyNDAwLDI4ODAwLDMyNDAwLDI4ODAwLDMyNDAwLDI4ODAwXX0sIkFzaWEvTXVzY2F0Ijp7dGltZTpbLTE1Nzc5MjMyMDAsMTkyNTAwNjQwMF0sb2Zmc2V0OlsxNDA2NCwxNDQwMF19LCJBc2lhL05pY29zaWEiOnt0aW1lOlstMTUxODkxMmUzLDE2NjU3OTIwMCwxODIzMDRlMywyMDA5NjY0MDAsMjEzODRlNCwyMjg4NzM2MDAsMjQzOTkzNjAwLDI2MDMyMzIwMCwyNzYxMzQ0MDAsMjkxNzcyODAwLDMwNzQ5NzYwMCwzMjM4MjcyMDAsMzM4OTQ3MjAwLDM1NDY3MmUzLDM3MDM5NjgwMCwzODYxMjE2MDAsNDAxODQ2NDAwLDQxNzU3MTIwMCw0MzMyOTZlMyw0NDkwMjA4MDAsNDY1MzUwNDAwLDQ4MTA3NTIwMCw0OTY4ZTUsNTEyNTI0ODAwLDUyODI0OTYwMCw1NDM5NzQ0MDAsNTU5Njk5MjAwLDU3NTQyNGUzLDU5MTE0ODgwMCw2MDY4NzM2MDAsNjIyNTk4NDAwLDYzODMyMzIwMCw2NTQ2NTI4MDAsNjcwMzc3NjAwLDY4NjEwMjQwMCw3MDE4MjcyMDAsNzE3NTUyZTMsNzMzMjc2ODAwLDc0OTAwMTYwMCw3NjQ3MjY0MDAsNzgwNDUxMjAwLDc5NjE3NmUzLDgxMTkwMDgwMCw4MjgyMzA0MDAsODQzOTU1MjAwLDg1OTY4ZTQsODc1NDA0ODAwLDg5MTEyOTYwMCw5MDkyODhlMyw5MjI1OWU0LDk0MTM0MjQwMCw5NTQwMzk2MDAsOTcyNzkyZTMsOTg1NDg5MjAwLDEwMDQyNDE2MDAsMTAxNzU0MzYwMCwxMDM1NjkxMjAwLDEwNDg5OTMyMDAsMTA2NzE0MDgwMCwxMDgwNDQyODAwLDEwOTkxOTUyMDAsMTExMTg5MjQwMCwxMTMwNjQ0ODAwLDExNDMzNDJlMywxMTYyMDk0NDAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTE5NDgwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjE0ODQwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDU3NDU2MDAsMTQ1OTA0NzYwMCwxNDc3OGU1LDE0OTA0OTcyMDAsMTUwOTI0OTYwMCwxNTIxOTQ2ODAwLDE1NDA2OTkyMDAsMTU1NDAwMTIwMCwxNTcyMTQ4ODAwLDE1ODU0NTA4MDAsMTYwMzU5ODQwMCwxNjE2OTAwNDAwLDE2MzU2NTI4MDAsMTY0ODM1ZTQsMTY2NzEwMjQwMCwxNjc5Nzk5NjAwLDE2OTg1NTJlMywxNzExODU0ZTMsMTczMDAwMTYwMCwxNzQzMzAzNjAwLDE3NjE0NTEyMDAsMTc3NDc1MzIwMCwxNzkyOTAwODAwLDE4MDYyMDI4MDAsMTgyNDk1NTIwMCwxODM3NjUyNDAwLDE4NTY0MDQ4MDAsMTg2OTEwMmUzLDE4ODc4NTQ0MDAsMTkwMTE1NjQwMCwxOTE5MzA0ZTMsMTkzMjYwNmUzXSxvZmZzZXQ6WzgwMDgsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiQXNpYS9RYXRhciI6e3RpbWU6Wy0xNTc3OTIzMjAwLDc2MjA0ODAwLDE5MjUwMDI4MDBdLG9mZnNldDpbMTIzNjgsMTQ0MDAsMTA4MDBdfSwiQXNpYS9SaXlhZGgiOnt0aW1lOlstNzE5NjI1NjAwLDE5MjUwMDI4MDBdLG9mZnNldDpbMTEyMTIsMTA4MDBdfSwiQXNpYS9TZW91bCI6e3RpbWU6Wy0xOTQ4NzUyZTMsLTE4MzAzODRlMywtNzY3MzE4NDAwLC02ODExNzc2MDAsLTY3MjE5MmUzLC02NTQ3MzkyMDAsLTY0MDgyODgwMCwtNjIzMzc2ZTMsLTYwOTM3OTIwMCwtNTg4ODE2ZTMsLTU3NzkyOTYwMCwtNDk4MDk2ZTMsLTQ2MjY3MmUzLC00NTE2OTkyMDAsLTQyOTc1MzYwMCwtNDE4MjYyNDAwLC0zOTk1MTM2MDAsLTM4NzQxNzYwMCwtMzY4MDY0ZTMsLTM1NTk2OGUzLC0zMzY2MTQ0MDAsLTMyNDUxODQwMCwtMzA1MTY0ODAwLC0yOTMwNjg4MDAsLTI2NDkwMjQwMCw1NDc2MTA0MDAsNTYwOTE5NjAwLDU3OTA2ZTQsNTkyMzY5MjAwLDE5MjUwMjQ0MDBdLG9mZnNldDpbMzA0NzIsMzA2MDAsMzI0MDAsMzI0MDAsMzZlMywzMjQwMCwzNmUzLDMyNDAwLDM2ZTMsMzI0MDAsMzZlMywzMjQwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzMjQwMCwzNmUzLDMyNDAwLDM2ZTMsMzI0MDBdfSwiQXNpYS9TaGFuZ2hhaSI6ewp0aW1lOlstMjE3NzQ1MjgwMCwtMTYwMDY0NjQwMCwtMTU4NTg3MmUzLC05MzM2Mzg0MDAsLTkyMjA2MDgwMCwtOTA4ODQxNjAwLC04ODg3OTY4MDAsLTg4MTAyMDgwMCwtNzY3ODM2ODAwLC03NDU4MDQ4MDAsLTczMzc5NTIwMCwtNzE2ODYwODAwLC02OTk1ODA4MDAsLTY4Mzg1NmUzLC02NzA2MzY4MDAsLTY1MjMyZTQsLTY0OTk4NzIwMCw1MTU1NTZlMyw1MjcwNDcyMDAsNTQ1MTkxMjAwLDU1ODQ5NjgwMCw1NzcyNDU2MDAsNTg5OTQ2NDAwLDYwODY5NTIwMCw2MjIwMDA4MDAsNjQwMTQ0ODAwLDY1MzQ1MDQwMCw2NzE1OTQ0MDAsNjg0OWU1LDE5MjUwMjA4MDBdLG9mZnNldDpbMjkxNDMsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXNpYS9TaW5nYXBvcmUiOnt0aW1lOlstMjE3NzQ1MjgwMCwtMjAzODE3NmUzLC0xMTY3NjA5NjAwLC0xMDczMDAxNjAwLC04OTQxNTM2MDAsLTg3OTYzODQwMCwtNzY2OTcyODAwLDM3ODY4OTQwMCwxOTI1MDIwODAwXSxvZmZzZXQ6WzI0OTI1LDI0OTI1LDI1MjAwLDI2NDAwLDI2NDAwLDI3ZTMsMzI0MDAsMjdlMywyODgwMF19LCJBc2lhL1RhaXBlaSI6e3RpbWU6Wy0yMzM1MjE5MjAwLC0xMDE3NzkyZTMsLTc2NjE5MTYwMCwtNzQ1ODA0ODAwLC03MzM3OTUyMDAsLTcxNjg2MDgwMCwtNjk5NTgwODAwLC02ODM4NTZlMywtNjcwNjM2ODAwLC02NTIzMmU0LC02MzkxMDA4MDAsLTYyMDc4NGUzLC02MDc1NjQ4MDAsLTU4OTI0OGUzLC01NzYwMjg4MDAsLTU2Mjg5NmUzLC01NDE3MjhlMywtNTI4NjgxNjAwLC01MTAxOTJlMywtNDk3MTQ1NjAwLC00Nzg2NTZlMywtNDY1NjA5NjAwLC00NDk3OTg0MDAsLTQzMzk4NzIwMCwtNDE4MTc2ZTMsLTQwMjQ1MTIwMCwtMzg2NjRlNCwtMzcwOTE1MjAwLC0zNTUxMDRlMywtMzM5Mzc5MjAwLC0zMjM1NjhlMywtMzAyNDg2NDAwLC0yOTE5NDU2MDAsLTI3MDk1MDQwMCwtMjYwNDA5NjAwLDEzNDAwNjQwMCwxNDk4MTc2MDAsMTY1NTQyNDAwLDE4MTM1MzYwMCwyOTk2MzUyMDAsMzA3NTg0ZTMsMTkyNTAyMDgwMF0sb2Zmc2V0OlsyOTE2MCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMF19LCJBc2lhL1RlaHJhbiI6e3RpbWU6Wy0xNzA0MTUzNjAwLC0xMDkwNDU0NDAwLDIyNzgzMzIwMCwyNDYyNGU0LDI1OTYzMmUzLDI3MTEyNjgwMCwyNzk1OTA0MDAsMjk2NjExMjAwLDMwNjU0NzIwMCwzMjI0NDQ4MDAsMzM4NTE1MjAwLDY3MzIyODgwMCw2ODU0OTc2MDAsNzAxMjIyNDAwLDcxNzEyZTQsNzMyNzU4NDAwLDc0ODY1NmUzLDc2NDI5NDQwMCw3ODAxOTJlMyw3OTU4MzA0MDAsODExNzI4ZTMsODI3MzY2NDAwLDg0MzI2NGUzLDg1ODk4ODgwMCw4NzQ4ODY0MDAsODkwNTI0ODAwLDkwNjQyMjQwMCw5MjIwNjA4MDAsOTM3OTU4NDAwLDk1MzU5NjgwMCw5Njk0OTQ0MDAsOTg1MjE5MjAwLDEwMDExMTY4MDAsMTAxNjc1NTIwMCwxMDMyNjUyODAwLDEwNDgyOTEyMDAsMTA2NDE4ODgwMCwxMDc5ODI3MjAwLDEwOTU3MjQ4MDAsMTExMTQ0OTYwMCwxMTI3MzQ3MjAwLDEyMDYwNTc2MDAsMTIyMTk1NTIwMCwxMjM3NjhlNCwxMjUzNTc3NjAwLDEyNjkyMTZlMywxMjg1MTEzNjAwLDEzMDA3NTJlMywxMzE2NjQ5NjAwLDEzMzIyODhlMywxMzQ4MTg1NjAwLDEzNjM5MTA0MDAsMTM3OTgwOGUzLDEzOTU0NDY0MDAsMTQxMTM0NGUzLDE0MjY5ODI0MDAsMTQ0Mjg4ZTQsMTQ1ODUxODQwMCwxNDc0NDE2ZTMsMTQ5MDE0MDgwMCwxNTA2MDM4NDAwLDE1MjE2NzY4MDAsMTUzNzU3NDQwMCwxNTUzMjEyODAwLDE1NjkxMTA0MDAsMTU4NDc0ODgwMCwxNjAwNjQ2NDAwLDE2MTYzNzEyMDAsMTYzMjI2ODgwMCwxNjQ3OTA3MjAwLDE2NjM4MDQ4MDAsMTkyNTAwNDYwMF0sb2Zmc2V0OlsxMjM0NCwxMjM0NCwxMjYwMCwxNjIwMCwxNDQwMCwxOGUzLDE0NDAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwXX0sIkFzaWEvVG9reW8iOnt0aW1lOlstMjU4NzY3ODg2MSwtNjgzNzY5NjAwLC02NzIyNzQ4MDAsLTY1NDczOTIwMCwtNjQwODI1MjAwLC02MjAyNjU2MDAsLTYwOTM3NTYwMCwtNTg4ODE2ZTMsLTU3NzkyNmUzLDE5MjUwMjQ0MDBdLG9mZnNldDpbMzM1MzksMzI0MDAsMzZlMywzMjQwMCwzNmUzLDMyNDAwLDM2ZTMsMzI0MDAsMzZlMywzMjQwMF19LCJBc2lhL1lhbmdvbiI6e3RpbWU6Wy0yODQwMTQwODAwLC0xNTc3OTIzMjAwLC04NzMyNDQ4MDAsLTc3ODM3NzYwMCwxOTI1MDE1NDAwXSxvZmZzZXQ6WzIzMDg3LDIzMDg3LDIzNDAwLDMyNDAwLDIzNDAwXX0sIkF0bGFudGljL0F6b3JlcyI6ewp0aW1lOlstMjcxMzkxMDQwMCwtMTgzMDM4MzY3MiwtMTY4OTU1NTYwMCwtMTY3Nzc5OGUzLC0xNjY3NDMzNjAwLC0xNjQ3NzM0NDAwLC0xNjM1ODk3NjAwLC0xNjE2MTk4NDAwLC0xNjA0MzYxNjAwLC0xNTg0NjYyNDAwLC0xNTcyNzM5MjAwLC0xNTUzMDRlNCwtMTU0MTIwMzIwMCwtMTUyMTUwNGUzLC0xNDQyNDUxNjAwLC0xNDI3NjczNjAwLC0xMzc5MjkzMjAwLC0xMzY0Nzc0NDAwLC0xMzQ4NDQ4NDAwLC0xMzMzMzI0ODAwLC0xMzE2Mzk0ZTMsLTEzMDEyNzA0MDAsLTEyODQzMzk2MDAsLTEyNjk4MjA4MDAsLTEyMjE0NDA0MDAsLTEyMDY5MjE2MDAsLTExOTEyMDA0MDAsLTExNzU0NzJlMywtMTEyNzY5NjQwMCwtMTExMTk2OGUzLC0xMDk2ODUxNjAwLC0xMDgwNTE4NDAwLC0xMDYzNTg3NjAwLC0xMDQ5MDY4ODAwLC0xMDMzMzQ3NjAwLC0xMDE3NjE5MjAwLC0xMDAyNTAyODAwLC05ODYxNjk2MDAsLTk2OTIzODgwMCwtOTUwNDg2NDAwLC05NDIwMjI4MDAsLTkyMjQ5MjgwMCwtOTA2OTQ0NDAwLC04OTExMjk2MDAsLTg3NzMwOTIwMCwtODczNjgwNDAwLC04NjRlNiwtODU3OTUyZTMsLTg0NTg1OTYwMCwtODQyODM1NjAwLC04MzEzNDA4MDAsLTgyNTg5NzYwMCwtODE0NDFlNCwtODEwNzgxMjAwLC03OTk4OTEyMDAsLTc5NDQ0OGUzLC03ODI5NjA0MDAsLTc3OTMzMTYwMCwtNzY4NDQxNjAwLC03NjI5OTg0MDAsLTc0OTA5MTYwMCwtNzMzMzYzMjAwLC03MTc2MzEyMDAsLTcwMTkwMjgwMCwtNjg2MTgxNjAwLC02NzA0NTMyMDAsLTY1NDczMmUzLC02MzkwMDM2MDAsLTYyMzI4MjQwMCwtNjA3NTU0ZTMsLTU5MTgzMjgwMCwtNTc1NDk5NjAwLC01NTk3Nzg0MDAsLTU0NDA1ZTQsLTUyODMyODgwMCwtNTEyNjAwNDAwLC00OTY4NzkyMDAsLTQ4MTE1MDgwMCwtNDY1NDI5NjAwLC00NDk3MDEyMDAsLTQzMzk4ZTQsLTQxNzY0NjgwMCwtNDAxOTI1NjAwLC0zODYxOTcyMDAsLTM3MDQ3NmUzLC0zNTQ3NDc2MDAsLTMzOTAyNjQwMCwtMzIzMjk4ZTMsLTMwNzU3NjgwMCwtMjkxODQ4NDAwLC0yNzYxMjcyMDAsLTI2MDM5ODgwMCwtMjQ0Njc3NjAwLC0yMjgzNDQ0MDAsLTIxMjYyMzIwMCwtMTk2ODk0ODAwLC0xODExNzM2MDAsLTE2NTQ0NTIwMCwtMTQ5NzI0ZTMsLTEzMzk5NTYwMCwtMTE4Mjc0NDAwLC0xMDI1NDZlMywzODYxMjE2MDAsNDAxODVlNCw0MTc1NzEyMDAsNDMzMjk5NjAwLDQ0OTAyMDgwMCw0NjUzNTRlMyw0ODEwNzUyMDAsNDk2ODAzNjAwLDUxMjUyNDgwMCw1MjgyNTMyMDAsNTQzOTc0NDAwLDU1OTcwMjgwMCw1NzU0MjRlMyw1OTExNTI0MDAsNjA2ODczNjAwLDYyMjYwMmUzLDYzODMyMzIwMCw2NTQ2NTY0MDAsNjcwMzc3NjAwLDY4NjEwNmUzLDcwMTgyNzIwMCw3MTc1NTU2MDAsNzI1NDE4ZTMsNzMzMjgwNDAwLDc0MDI4MjQwMCw3NDkwMDUyMDAsNzY0NzI2NDAwLDc4MDQ1NDgwMCw3OTYxNzZlMyw4MTE5MDQ0MDAsODI4MjMwNDAwLDg0NjM3OGUzLDg1OTY4ZTQsODc3ODI3NjAwLDg5MTEyOTYwMCw5MDkyNzcyMDAsOTIyNTc5MjAwLDk0MTMzMTYwMCw5NTQwMjg4MDAsOTcyNzgxMjAwLDk4NTQ3ODQwMCwxMDA0MjMwODAwLDEwMTc1MzI4MDAsMTAzNTY4MDQwMCwxMDQ4OTgyNDAwLDEwNjcxM2U0LDEwODA0MzJlMywxMDk5MTg0NDAwLDExMTE4ODE2MDAsMTEzMDYzNGUzLDExNDMzMzEyMDAsMTE2MjA4MzYwMCwxMTc0NzgwODAwLDExOTM1MzMyMDAsMTIwNjgzNTIwMCwxMjI0OTgyODAwLDEyMzgyODQ4MDAsMTI1NjQzMjQwMCwxMjY5NzM0NDAwLDEyODg0ODY4MDAsMTMwMTE4NGUzLDEzMTk5MzY0MDAsMTMzMjYzMzYwMCwxMzUxMzg2ZTMsMTM2NDY4OGUzLDEzODI4MzU2MDAsMTM5NjEzNzYwMCwxNDE0Mjg1MjAwLDE0Mjc1ODcyMDAsMTQ0NTczNDgwMCwxNDU5MDM2ODAwLDE0Nzc3ODkyMDAsMTQ5MDQ4NjQwMCwxNTA5MjM4ODAwLDE1MjE5MzZlMywxNTQwNjg4NDAwLDE1NTM5OTA0MDAsMTU3MjEzOGUzLDE1ODU0NGU0LDE2MDM1ODc2MDAsMTYxNjg4OTYwMCwxNjM1NjQyZTMsMTY0ODMzOTIwMCwxNjY3MDkxNjAwLDE2Nzk3ODg4MDAsMTY5ODU0MTIwMCwxNzExODQzMjAwLDE3Mjk5OTA4MDAsMTc0MzI5MjgwMCwxNzYxNDQwNDAwLDE3NzQ3NDI0MDAsMTc5Mjg5ZTQsMTgwNjE5MmUzLDE4MjQ5NDQ0MDAsMTgzNzY0MTYwMCwxODU2Mzk0ZTMsMTg2OTA5MTIwMCwxODg3ODQzNjAwLDE5MDExNDU2MDAsMTkxOTI5MzIwMCwxOTMyNTk1MjAwXSwKb2Zmc2V0OlstNjE2MCwtNjg3MiwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwwLC0zNjAwLC03MjAwLC0zNjAwLDAsLTM2MDAsLTcyMDAsLTM2MDAsMCwtMzYwMCwtNzIwMCwtMzYwMCwwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLDM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwXX0sIkF0bGFudGljL1JleWtqYXZpayI6e3RpbWU6Wy0xOTU2NjE0NDAwLC0xNjY4MjE0ODAwLC0xNjQ3MjEyNDAwLC0xNjM2Njc4ODAwLC0xNjEzNDNlNCwtMTYwNTE0MjgwMCwtMTU4MTg5NGUzLC0xNTM5NTY1MjAwLC0xNTMxMzVlNCwtOTY4MDI5MjAwLC05NTIyOTM2MDAsLTk0MjAxMmUzLC05MjAyMzkyMDAsLTkwOTk2MTIwMCwtODg4Nzg5NjAwLC04Nzc5MDY4MDAsLTg1Nzk0NDgwMCwtODQ2NDU3MjAwLC04MjY0OTUyMDAsLTgxNTAwNzYwMCwtNzk1MDQ1NjAwLC03ODM1NThlMywtNzYyOTkxMjAwLC03NTIxMDg0MDAsLTczMTU0MTYwMCwtNzE3NjM0ODAwLC03MDAwOTJlMywtNjg2MTg1MjAwLC02Njg2NDI0MDAsLTY1NDczNTYwMCwtNjM2NTg4ZTMsLTYyMzI4NmUzLC02MDU3NDMyMDAsLTU5MTgzNjQwMCwtNTczNjg4ODAwLC01NTk3ODJlMywtNTQyMjM5MjAwLC01MjgzMzI0MDAsLTUxMDc4OTYwMCwtNDk2ODgyODAwLC00NzkzNGU0LC00NjU0MzMyMDAsLTQ0Nzg5MDQwMCwtNDMzOTgzNjAwLC00MTU4MzZlMywtNDAxOTI5MjAwLC0zODQzODY0MDAsLTM3MDQ3OTYwMCwtMzUyOTM2ODAwLC0zMzkwM2U0LC0zMjE0ODcyMDAsLTMwNzU4MDQwMCwtMjkwMDM3NjAwLC0yNzYxMzA4MDAsLTI1ODU4OGUzLC0yNDQ2ODEyMDAsLTIyNjUzMzYwMCwtMjEyNjI2ODAwLC0xOTUwODRlMywtMTgxMTc3MjAwLC0xNjM2MzQ0MDAsLTE0OTcyNzYwMCwtMTMyMTg0ODAwLC0xMTgyNzhlMywtMTAwNzM1MjAwLC04NjgyODQwMCwtNjg2ODA4MDAsLTU0Nzc0ZTMsMTkyNDk5MmUzXSxvZmZzZXQ6Wy01MjgwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDBdfSwiQXVzdHJhbGlhL0FDVCI6ewp0aW1lOlstMjM2NDA3NjgwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwtODI4MzA5NjAwLC04MTMxODZlMyw1NzcyMjQwMCw2ODAwNzYwMCw4OTE3MmUzLDEwMDA2MmUzLDEyMDYyMTYwMCwxMzE1MTE2MDAsMTUyMDcxMjAwLDE2Mjk2MTIwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NjczNzIwMCw0MDQ4Nzc2MDAsNDE1NzY3NjAwLDQzNjMyNzIwMCw0NDcyMTcyMDAsNDY3Nzc2ODAwLDQ3ODY2NjgwMCw0OTkyMjY0MDAsNTExMzI2ZTMsNTMwMDcxMjAwLDU0Mjc3NTYwMCw1NjIxMjU2MDAsNTc0ODNlNCw1OTQxOGU0LDYwNjI3OTYwMCw2MjU2Mjk2MDAsNjM2NTE5NjAwLDY1NzA3OTIwMCw2Njc5NjkyMDAsNjg4NTI4ODAwLDY5OTQxODgwMCw3MTk5Nzg0MDAsNzMxNDczMjAwLDc1MjAzMjgwMCw3NjI5MjI4MDAsNzgzNDgyNDAwLDc5NDM3MjQwMCw4MTQ5MzJlMyw4MjgyNDEyMDAsODQ2MzgxNjAwLDg1OTY5MDgwMCw4Nzc4MzEyMDAsODkxMTQwNDAwLDkwOTI4MDgwMCw5MjI1OWU0LDk0MTMzNTIwMCw5NTQwMzk2MDAsOTY3MzQxNjAwLDk4NTQ4OTIwMCwxMDA0MjM0NDAwLDEwMTc1NDM2MDAsMTAzNTY4NGUzLDEwNDg5OTMyMDAsMTA2NzEzMzYwMCwxMDgwNDQyODAwLDEwOTkxODhlMywxMTExODkyNDAwLDExMzA2Mzc2MDAsMTE0Mzk0NjgwMCwxMTYyMDg3MjAwLDExNzQ3OTE2MDAsMTE5MzUzNjgwMCwxMjA3NDUwODAwLDEyMjMxNzJlMywxMjM4OTAwNDAwLDEyNTQ2MjE2MDAsMTI3MDM1ZTQsMTI4NjA3MTIwMCwxMzAxNzk5NjAwLDEzMTc1MjA4MDAsMTMzMzI0OTIwMCwxMzQ5NTc1MjAwLDEzNjUzMDM2MDAsMTM4MTAyNDgwMCwxMzk2NzUzMjAwLDE0MTI0NzQ0MDAsMTQyODIwMjgwMCwxNDQzOTI0ZTMsMTQ1OTY1MjQwMCwxNDc1MzczNjAwLDE0OTExMDJlMywxNTA2ODIzMjAwLDE1MjI1NTE2MDAsMTUzODg3NzYwMCwxNTU0NjA2ZTMsMTU3MDMyNzIwMCwxNTg2MDU1NjAwLDE2MDE3NzY4MDAsMTYxNzUwNTIwMCwxNjMzMjI2NDAwLDE2NDg5NTQ4MDAsMTY2NDY3NmUzLDE2ODA0MDQ0MDAsMTY5NjEyNTYwMCwxNzEyNDU4ODAwLDE3MjgxOGU0LDE3NDM5MDg0MDAsMTc1OTYyOTYwMCwxNzc1MzU4ZTMsMTc5MTA3OTIwMCwxODA2ODA3NjAwLDE4MjI1Mjg4MDAsMTgzODI1NzIwMCwxODUzOTc4NDAwLDE4Njk3MDY4MDAsMTg4NjAzMjgwMCwxOTAxNzYxMjAwLDE5MTc0ODI0MDAsMTkzMzIxMDgwMF0sb2Zmc2V0OlszNjI5MiwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwXX0sIkF1c3RyYWxpYS9BZGVsYWlkZSI6ewp0aW1lOlstMjM2NDA3NjgwMCwtMjIzMDE1NjgwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwtODI4MzA5NjAwLC04MTMxODZlMyw1NzcyMjQwMCw2ODAwNzYwMCw4OTE3MmUzLDEwMDA2MmUzLDEyMDYyMTYwMCwxMzE1MTE2MDAsMTUyMDcxMjAwLDE2Mjk2MTIwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NDMxOGUzLDQwNDg3NzYwMCw0MTU3Njc2MDAsNDM2MzI3MjAwLDQ0NzIxNzIwMCw0Njc3NzY4MDAsNDc4NjY2ODAwLDQ5OTIyNjQwMCw1MTEzMjZlMyw1MzAwNzEyMDAsNTQyNzc1NjAwLDU2MjEyNTYwMCw1NzQ4M2U0LDU5NDE4ZTQsNjA2Mjc5NjAwLDYyNTYyOTYwMCw2Mzc3MjkyMDAsNjU3MDc5MjAwLDY2Nzk2OTIwMCw2ODg1Mjg4MDAsNzAxMjMzMjAwLDcxOTk3ODQwMCw3MzE0NzMyMDAsNzUyMDMyODAwLDc2NDEzMjQwMCw3ODM0ODI0MDAsNzk2MTg2ODAwLDgxNDkzMmUzLDgyODI0MTIwMCw4NDYzODE2MDAsODU5NjkwODAwLDg3NzgzMTIwMCw4OTExNDA0MDAsOTA5MjgwODAwLDkyMjU5ZTQsOTQxMzM1MjAwLDk1NDAzOTYwMCw5NzI3ODQ4MDAsOTg1NDg5MjAwLDEwMDQyMzQ0MDAsMTAxNzU0MzYwMCwxMDM1Njg0ZTMsMTA0ODk5MzIwMCwxMDY3MTMzNjAwLDEwODA0NDI4MDAsMTA5OTE4OGUzLDExMTE4OTI0MDAsMTEzMDYzNzYwMCwxMTQzOTQ2ODAwLDExNjIwODcyMDAsMTE3NDc5MTYwMCwxMTkzNTM2ODAwLDEyMDc0NTA4MDAsMTIyMzE3MmUzLDEyMzg5MDA0MDAsMTI1NDYyMTYwMCwxMjcwMzVlNCwxMjg2MDcxMjAwLDEzMDE3OTk2MDAsMTMxNzUyMDgwMCwxMzMzMjQ5MjAwLDEzNDk1NzUyMDAsMTM2NTMwMzYwMCwxMzgxMDI0ODAwLDEzOTY3NTMyMDAsMTQxMjQ3NDQwMCwxNDI4MjAyODAwLDE0NDM5MjRlMywxNDU5NjUyNDAwLDE0NzUzNzM2MDAsMTQ5MTEwMmUzLDE1MDY4MjMyMDAsMTUyMjU1MTYwMCwxNTM4ODc3NjAwLDE1NTQ2MDZlMywxNTcwMzI3MjAwLDE1ODYwNTU2MDAsMTYwMTc3NjgwMCwxNjE3NTA1MjAwLDE2MzMyMjY0MDAsMTY0ODk1NDgwMCwxNjY0Njc2ZTMsMTY4MDQwNDQwMCwxNjk2MTI1NjAwLDE3MTI0NTg4MDAsMTcyODE4ZTQsMTc0MzkwODQwMCwxNzU5NjI5NjAwLDE3NzUzNThlMywxNzkxMDc5MjAwLDE4MDY4MDc2MDAsMTgyMjUyODgwMCwxODM4MjU3MjAwLDE4NTM5Nzg0MDAsMTg2OTcwNjgwMCwxODg2MDMyODAwLDE5MDE3NjEyMDAsMTkxNzQ4MjQwMCwxOTMzMjEwODAwXSxvZmZzZXQ6WzMzMjYwLDMyNDAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwXX0sIkF1c3RyYWxpYS9CcmlzYmFuZSI6e3RpbWU6Wy0yMzY2NzU1MjAwLC0xNjcyNTI0ZTMsLTE2NjUzNDkyMDAsLTg4MzYwNTYwMCwtODc2MDg1MjAwLC04NjAzNjRlMywtODQ0NjM1NjAwLC04MjgzMDk2MDAsLTgxMzE4NmUzLDU3NzIyNDAwLDY4MDA3NjAwLDYyNTYyOTYwMCw2MzY1MTk2MDAsNjU3MDc5MjAwLDY2Nzk2OTIwMCw2ODg1Mjg4MDAsNjk5NDE4ODAwLDE5MjUwMjhlM10sb2Zmc2V0OlszNjcyOCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlM119LCJBdXN0cmFsaWEvUGVydGgiOnt0aW1lOlstMjMzNzg5NzYwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwxNTIwNzEyMDAsMTYyOTYxMjAwLDQzNjMyNzIwMCw0NDcyMTcyMDAsNjkwMzQzMjAwLDY5OTQxODgwMCwxMTY1MTExMjAwLDExNzQ3OTE2MDAsMTE5MzUzNjgwMCwxMjA2ODQ2ZTMsMTIyNDk4NjQwMCwxMjM4Mjk1NjAwLDE5MjUwMjA4MDBdLG9mZnNldDpbMjc4MDQsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXVzdHJhbGlhL1N5ZG5leSI6ewp0aW1lOlstMjM2NDA3NjgwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwtODI4MzA5NjAwLC04MTMxODZlMyw1NzcyMjQwMCw2ODAwNzYwMCw4OTE3MmUzLDEwMDA2MmUzLDEyMDYyMTYwMCwxMzE1MTE2MDAsMTUyMDcxMjAwLDE2Mjk2MTIwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NjczNzIwMCw0MDQ4Nzc2MDAsNDE1NzY3NjAwLDQzNjMyNzIwMCw0NDcyMTcyMDAsNDY3Nzc2ODAwLDQ3ODY2NjgwMCw0OTkyMjY0MDAsNTExMzI2ZTMsNTMwMDcxMjAwLDU0Mjc3NTYwMCw1NjIxMjU2MDAsNTc0ODNlNCw1OTQxOGU0LDYwNjI3OTYwMCw2MjU2Mjk2MDAsNjM2NTE5NjAwLDY1NzA3OTIwMCw2Njc5NjkyMDAsNjg4NTI4ODAwLDY5OTQxODgwMCw3MTk5Nzg0MDAsNzMxNDczMjAwLDc1MjAzMjgwMCw3NjI5MjI4MDAsNzgzNDgyNDAwLDc5NDM3MjQwMCw4MTQ5MzJlMyw4MjgyNDEyMDAsODQ2MzgxNjAwLDg1OTY5MDgwMCw4Nzc4MzEyMDAsODkxMTQwNDAwLDkwOTI4MDgwMCw5MjI1OWU0LDk0MTMzNTIwMCw5NTQwMzk2MDAsOTY3MzQxNjAwLDk4NTQ4OTIwMCwxMDA0MjM0NDAwLDEwMTc1NDM2MDAsMTAzNTY4NGUzLDEwNDg5OTMyMDAsMTA2NzEzMzYwMCwxMDgwNDQyODAwLDEwOTkxODhlMywxMTExODkyNDAwLDExMzA2Mzc2MDAsMTE0Mzk0NjgwMCwxMTYyMDg3MjAwLDExNzQ3OTE2MDAsMTE5MzUzNjgwMCwxMjA3NDUwODAwLDEyMjMxNzJlMywxMjM4OTAwNDAwLDEyNTQ2MjE2MDAsMTI3MDM1ZTQsMTI4NjA3MTIwMCwxMzAxNzk5NjAwLDEzMTc1MjA4MDAsMTMzMzI0OTIwMCwxMzQ5NTc1MjAwLDEzNjUzMDM2MDAsMTM4MTAyNDgwMCwxMzk2NzUzMjAwLDE0MTI0NzQ0MDAsMTQyODIwMjgwMCwxNDQzOTI0ZTMsMTQ1OTY1MjQwMCwxNDc1MzczNjAwLDE0OTExMDJlMywxNTA2ODIzMjAwLDE1MjI1NTE2MDAsMTUzODg3NzYwMCwxNTU0NjA2ZTMsMTU3MDMyNzIwMCwxNTg2MDU1NjAwLDE2MDE3NzY4MDAsMTYxNzUwNTIwMCwxNjMzMjI2NDAwLDE2NDg5NTQ4MDAsMTY2NDY3NmUzLDE2ODA0MDQ0MDAsMTY5NjEyNTYwMCwxNzEyNDU4ODAwLDE3MjgxOGU0LDE3NDM5MDg0MDAsMTc1OTYyOTYwMCwxNzc1MzU4ZTMsMTc5MTA3OTIwMCwxODA2ODA3NjAwLDE4MjI1Mjg4MDAsMTgzODI1NzIwMCwxODUzOTc4NDAwLDE4Njk3MDY4MDAsMTg4NjAzMjgwMCwxOTAxNzYxMjAwLDE5MTc0ODI0MDAsMTkzMzIxMDgwMF0sb2Zmc2V0OlszNjI5MiwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwXX0sIkV1cm9wZS9BbXN0ZXJkYW0iOnsKdGltZTpbLTQyNjAyMTEyMDAsLTE2OTM2OTkyMDAsLTE2ODA0OGU0LC0xNjYzNDUyZTMsLTE2NTAxNDI4MDAsLTE2MzMyMTJlMywtMTYxNzQ4MzYwMCwtMTYwMTE1NzYwMCwtMTU4NjAzNGUzLC0xNTY5NzA4ZTMsLTE1NTQ1ODQ0MDAsLTE1MzgyNTg0MDAsLTE1MjMxMzQ4MDAsLTE1MDc1ZTUsLTE0OTA1NjJlMywtMTQ3MDE3NTIwMCwtMTQ1OTExMjQwMCwtMTQ0Mzk5NmUzLC0xNDI3NjYyODAwLC0xNDA2NjcxMjAwLC0xMzk2MjEzMjAwLC0xMzc2OTQ5NjAwLC0xMzY0NzYzNjAwLC0xMzQ1NDEzNjAwLC0xMzMzMzE0ZTMsLTEzMTM3OTEyMDAsLTEzMDEyNTk2MDAsLTEyODIyNTUyMDAsLTEyNjk4MWU0LC0xMjUwNzE5MjAwLC0xMjM4MzYwNDAwLC0xMjE5MTgzMjAwLC0xMjA2OTEwODAwLC0xMTg2OTU2ZTMsLTExNzU0NjEyMDAsLTExNTYwMjQ4MDAsLTExNDM0MDY4MDAsLTExMjQ0ODg4MDAsLTExMTE5NTcyMDAsLTEwOTI5NTI4MDAsLTEwODA1MDc2MDAsLTEwNjEzMzA0MDAsLTEwNDkwNThlMywtMTAyOTE4OTYwMCwtMTAyNTc0MDgwMCwtMTAxNzYwODQwMCwtOTk4MjU4NDAwLC05ODYxNTg4MDAsLTk2NjcyMjQwMCwtOTU0MTA0NDAwLC05MzUwMjA4MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLDIyODg4MDgwMCwyNDQwMDQ0MDAsMjYwMzMwNDAwLDI3NjA1ODgwMCwyOTE3OGU0LDMwNzUwODQwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMTE3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsNDgwMCwxMjAwLDQ4MDAsMTIwMCw0ODAwLDEyMDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9BdGhlbnMiOnsKdGltZTpbLTIzNDQ2MzY4MDAsLTE2ODYwOTU5NDAsLTExODI5ODg4MDAsLTExNzgxNTA0MDAsLTkwNjg1NDQwMCwtOTA0ODY3MjAwLC04NTcyNWU0LC04NDQ0NzM2MDAsLTgyODIzMDQwMCwtODEyNDE5MjAwLC01NTIzNTUyMDAsLTU0MTY0MTYwMCwxNjY0OTI4MDAsMTg2MTk1NjAwLDE5ODAzNmUzLDIxMzc2NDQwMCwyMjg4ODA4MDAsMjQ0MDkwODAwLDI2MDMzMDQwMCwyNzU0NTc2MDAsMjkxODA1MjAwLDMwNzQxODQwMCwzMjMzOTUyMDAsMzM4OTQ3MjAwLDM1NDY4MjgwMCwzNzA0MTEyMDAsMzg2MTMyNDAwLDQwMTg2MDgwMCw0MTc1ODJlMyw0MzMzMTA0MDAsNDQ5MDMxNjAwLDQ2NTM2NDgwMCw0ODEwODZlMyw0OTY4MTQ0MDAsNTEyNTM1NjAwLDUyODI2NGUzLDU0Mzk4NTIwMCw1NTk3MTM2MDAsNTc1NDM0ODAwLDU5MTE2MzIwMCw2MDY4ODQ0MDAsNjIyNjEyODAwLDYzODMzNGUzLDY1NDY2NzIwMCw2NzAzODg0MDAsNjg2MTE2ODAwLDcwMTgzOGUzLDcxNzU2NjQwMCw3MzMyODc2MDAsNzQ5MDE2ZTMsNzY0NzM3MjAwLDc4MDQ2NTYwMCw3OTYxODY4MDAsODExOTE1MjAwLDgyODI0MTIwMCw4NDYzODg4MDAsODU5NjkwODAwLDg3NzgzODQwMCw4OTExNDA0MDAsOTA5Mjg4ZTMsOTIyNTllNCw5NDEzNDI0MDAsOTU0MDM5NjAwLDk3Mjc5MmUzLDk4NTQ4OTIwMCwxMDA0MjQxNjAwLDEwMTc1NDM2MDAsMTAzNTY5MTIwMCwxMDQ4OTkzMjAwLDEwNjcxNDA4MDAsMTA4MDQ0MjgwMCwxMDk5MTk1MjAwLDExMTE4OTI0MDAsMTEzMDY0NDgwMCwxMTQzMzQyZTMsMTE2MjA5NDQwMCwxMTc0NzkxNjAwLDExOTM1NDRlMywxMjA2ODQ2ZTMsMTIyNDk5MzYwMCwxMjM4Mjk1NjAwLDEyNTY0NDMyMDAsMTI2OTc0NTIwMCwxMjg4NDk3NjAwLDEzMDExOTQ4MDAsMTMxOTk0NzIwMCwxMzMyNjQ0NDAwLDEzNTEzOTY4MDAsMTM2NDY5ODgwMCwxMzgyODQ2NDAwLDEzOTYxNDg0MDAsMTQxNDI5NmUzLDE0Mjc1OThlMywxNDQ1NzQ1NjAwLDE0NTkwNDc2MDAsMTQ3NzhlNSwxNDkwNDk3MjAwLDE1MDkyNDk2MDAsMTUyMTk0NjgwMCwxNTQwNjk5MjAwLDE1NTQwMDEyMDAsMTU3MjE0ODgwMCwxNTg1NDUwODAwLDE2MDM1OTg0MDAsMTYxNjkwMDQwMCwxNjM1NjUyODAwLDE2NDgzNWU0LDE2NjcxMDI0MDAsMTY3OTc5OTYwMCwxNjk4NTUyZTMsMTcxMTg1NGUzLDE3MzAwMDE2MDAsMTc0MzMwMzYwMCwxNzYxNDUxMjAwLDE3NzQ3NTMyMDAsMTc5MjkwMDgwMCwxODA2MjAyODAwLDE4MjQ5NTUyMDAsMTgzNzY1MjQwMCwxODU2NDA0ODAwLDE4NjkxMDJlMywxODg3ODU0NDAwLDE5MDExNTY0MDAsMTkxOTMwNGUzLDE5MzI2MDZlM10sb2Zmc2V0Ols1NjkyLDU2OTIsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJFdXJvcGUvQmVsZ3JhZGUiOnsKdGltZTpbLTI3MTM5MTA0MDAsLTkwNTgyMTIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzc3OTM4NDAwLC03NjY2MTY0MDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0Ols0OTIwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9CZXJsaW4iOnt0aW1lOlstMjQyMjA1MTIwMCwtMTY5MzcwMjgwMCwtMTY4MDQ3NjQwMCwtMTY2MzQ1MmUzLC0xNjUwMTQyODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC05Mzg5MDE2MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc4MTA0ODgwMCwtNzc2NTU2ZTMsLTc2NTkyNTIwMCwtNzYxMTczMjAwLC03NDg0NzZlMywtNzMzMjY2ZTMsLTcxNzYyNzYwMCwtNzE0NjAzNjAwLC03MTAzN2U0LC03MDE5MDI4MDAsLTY4NDk3MmUzLC02NzA0NTMyMDAsLTY1NDEyNzIwMCwtNjM5MDAzNjAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbMzIwOCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMTA4MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9CcmF0aXNsYXZhIjp7dGltZTpbLTM3ODY4MjU2MDAsLTI0NjkzOTg0MDAsLTE2OTM3MDI4MDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtOTM4OTAxNjAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTY3N2U0LC03ODEwNDg4MDAsLTc2NTMyMDQwMCwtNzQ2NTc1MjAwLC03MzMzNTI0MDAsLTcyODUxNGUzLC03MjEyNmU0LC03MTY0MjE2MDAsLTcwMTkwMjgwMCwtNjg0OTcyZTMsLTY3MDQ1MzIwMCwtNjU0MjEzNjAwLC02MzkwMDM2MDAsMjkxNzhlNCwzMDc1MDg0MDAsMzIzODM0NDAwLDMzODk1OGUzLDM1NDY3OTIwMCwzNzA0MDc2MDAsMzg2MTI4ODAwLDQwMTg1NzIwMCw0MTc1Nzg0MDAsNDMzMzA2ODAwLDQ0OTAyOGUzLDQ2NTM2MTIwMCw0ODEwODI0MDAsNDk2ODEwODAwLDUxMjUzMmUzLDUyODI2MDQwMCw1NDM5ODE2MDAsNTU5NzFlNCw1NzU0MzEyMDAsNTkxMTU5NjAwLDYwNjg4MDgwMCw2MjI2MDkyMDAsNjM4MzMwNDAwLDY1NDY2MzYwMCw2NzAzODQ4MDAsNjg2MTEzMjAwLDcwMTgzNDQwMCw3MTc1NjI4MDAsNzMzMjg0ZTMsNzQ5MDEyNDAwLDc2NDczMzYwMCw3ODA0NjJlMyw3OTYxODMyMDAsODExOTExNjAwLDgyODIzNzYwMCw4NDYzODUyMDAsODU5Njg3MjAwLDg3NzgzNDgwMCw4OTExMzY4MDAsOTA5Mjg0NDAwLDkyMjU4NjQwMCw5NDEzMzg4MDAsOTU0MDM2ZTMsOTcyNzg4NDAwLDk4NTQ4NTYwMCwxMDA0MjM4ZTMsMTAxNzU0ZTQsMTAzNTY4NzYwMCwxMDQ4OTg5NjAwLDEwNjcxMzcyMDAsMTA4MDQzOTIwMCwxMDk5MTkxNjAwLDExMTE4ODg4MDAsMTEzMDY0MTIwMCwxMTQzMzM4NDAwLDExNjIwOTA4MDAsMTE3NDc4OGUzLDExOTM1NDA0MDAsMTIwNjg0MjQwMCwxMjI0OTllNCwxMjM4MjkyZTMsMTI1NjQzOTYwMCwxMjY5NzQxNjAwLDEyODg0OTRlMywxMzAxMTkxMjAwLDEzMTk5NDM2MDAsMTMzMjY0MDgwMCwxMzUxMzkzMjAwLDEzNjQ2OTUyMDAsMTM4Mjg0MjgwMCwxMzk2MTQ0ODAwLDE0MTQyOTI0MDAsMTQyNzU5NDQwMCwxNDQ1NzQyZTMsMTQ1OTA0NGUzLDE0Nzc3OTY0MDAsMTQ5MDQ5MzYwMCwxNTA5MjQ2ZTMsMTUyMTk0MzIwMCwxNTQwNjk1NjAwLDE1NTM5OTc2MDAsMTU3MjE0NTIwMCwxNTg1NDQ3MjAwLDE2MDM1OTQ4MDAsMTYxNjg5NjgwMCwxNjM1NjQ5MjAwLDE2NDgzNDY0MDAsMTY2NzA5ODgwMCwxNjc5Nzk2ZTMsMTY5ODU0ODQwMCwxNzExODUwNDAwLDE3Mjk5OThlMywxNzQzM2U1LDE3NjE0NDc2MDAsMTc3NDc0OTYwMCwxNzkyODk3MjAwLDE4MDYxOTkyMDAsMTgyNDk1MTYwMCwxODM3NjQ4ODAwLDE4NTY0MDEyMDAsMTg2OTA5ODQwMCwxODg3ODUwODAwLDE5MDExNTI4MDAsMTkxOTMwMDQwMCwxOTMyNjAyNDAwXSxvZmZzZXQ6WzM0NjQsMzQ2NCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvQnJ1c3NlbHMiOnsKdGltZTpbLTI4NDAxNDA4MDAsLTI0NTA5OTQxNTAsLTE3NDAzNTUyMDAsLTE2OTM2OTkyMDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTYxMzgyMjQwMCwtMTYwNDI3ODgwMCwtMTU4NTUyNjQwMCwtMTU3NDAzODgwMCwtMTU1MjI2MjQwMCwtMTUzOTk5NzIwMCwtMTUyMDU1MzYwMCwtMTUwNzUxMDgwMCwtMTQ5MDU3MjgwMCwtMTQ3MzY0MmUzLC0xNDU5MTIzMjAwLC0xNDQ0MDA2ODAwLC0xNDI3NjczNjAwLC0xNDExOTUyNDAwLC0xMzk2MjI0ZTMsLTEzNzkyOTMyMDAsLTEzNjQ3NzQ0MDAsLTEzNDg0NDg0MDAsLTEzMzMzMjQ4MDAsLTEzMTYzOTRlMywtMTMwMTI1OTYwMCwtMTI4NDMyODgwMCwtMTI2OTgxZTQsLTEyNTM0ODRlMywtMTIzODM2MDQwMCwtMTIyMTQyOTYwMCwtMTIwNjkxMDgwMCwtMTE5MTE4OTYwMCwtMTE3NTQ2MTIwMCwtMTE2MDM0NDgwMCwtMTE0MzQwNjgwMCwtMTEyNzY4NTYwMCwtMTExMTk1NzIwMCwtMTA5Njg0MDgwMCwtMTA4MDUwNzYwMCwtMTA2MzU3NjgwMCwtMTA0OTA1OGUzLC0xMDMzMzM2ODAwLC0xMDE3NjA4NDAwLC0xMDAyNDkyZTMsLTk4NjE1ODgwMCwtOTY5MjI4ZTMsLTk1MDQ3NTYwMCwtOTQyMDEyZTMsLTkzNDY2NDQwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk4MDY2ZTMsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLC03NDU0NTJlMywtNzMzMjY2ZTMsMjI4ODgwODAwLDI0NDAwNDQwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0OlsxMDUwLDEwNTAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9CdWNoYXJlc3QiOnsKdGltZTpbLTI0NjkzOTg0MDAsLTEyMTMxNDI0MDAsLTExODcwNDk2MDAsLTExNzU0Njg0MDAsLTExNTk3NDcyMDAsLTExNDQwMTg4MDAsLTExMjc2OTI4MDAsLTExMTE5NjQ0MDAsLTEwOTYyNDMyMDAsLTEwODA1MTQ4MDAsLTEwNjQ3OTM2MDAsLTEwNDkwNjUyMDAsLTEwMzMzNDRlMywtMTAxNzYxNTYwMCwtMTAwMTg5NDQwMCwtOTg2MTY2ZTMsLTk3MDQ0NDgwMCwtOTU0NzE2NDAwLDI5NjYxMTIwMCwzMDc0OTc2MDAsMzIzODIzNjAwLDMzODk1MDgwMCwzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzc3NjAwLDY4NjEwNmUzLDcwMTgyNzIwMCw3MTc1NTU2MDAsNzMzMjc2ODAwLDc0OTAwNTIwMCw3NjQ3MjY0MDAsNzgwNDUxMjAwLDc5NjE3NmUzLDgxMTkwMDgwMCw4MjgyMzA0MDAsODQ2Mzc0NDAwLDg1OTY5MDgwMCw4Nzc4Mzg0MDAsODkxMTQwNDAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDk1NDAzOTYwMCw5NzI3OTJlMyw5ODU0ODkyMDAsMTAwNDI0MTYwMCwxMDE3NTQzNjAwLDEwMzU2OTEyMDAsMTA0ODk5MzIwMCwxMDY3MTQwODAwLDEwODA0NDI4MDAsMTA5OTE5NTIwMCwxMTExODkyNDAwLDExMzA2NDQ4MDAsMTE0MzM0MmUzLDExNjIwOTQ0MDAsMTE3NDc5MTYwMCwxMTkzNTQ0ZTMsMTIwNjg0NmUzLDEyMjQ5OTM2MDAsMTIzODI5NTYwMCwxMjU2NDQzMjAwLDEyNjk3NDUyMDAsMTI4ODQ5NzYwMCwxMzAxMTk0ODAwLDEzMTk5NDcyMDAsMTMzMjY0NDQwMCwxMzUxMzk2ODAwLDEzNjQ2OTg4MDAsMTM4Mjg0NjQwMCwxMzk2MTQ4NDAwLDE0MTQyOTZlMywxNDI3NTk4ZTMsMTQ0NTc0NTYwMCwxNDU5MDQ3NjAwLDE0Nzc4ZTUsMTQ5MDQ5NzIwMCwxNTA5MjQ5NjAwLDE1MjE5NDY4MDAsMTU0MDY5OTIwMCwxNTU0MDAxMjAwLDE1NzIxNDg4MDAsMTU4NTQ1MDgwMCwxNjAzNTk4NDAwLDE2MTY5MDA0MDAsMTYzNTY1MjgwMCwxNjQ4MzVlNCwxNjY3MTAyNDAwLDE2Nzk3OTk2MDAsMTY5ODU1MmUzLDE3MTE4NTRlMywxNzMwMDAxNjAwLDE3NDMzMDM2MDAsMTc2MTQ1MTIwMCwxNzc0NzUzMjAwLDE3OTI5MDA4MDAsMTgwNjIwMjgwMCwxODI0OTU1MjAwLDE4Mzc2NTI0MDAsMTg1NjQwNDgwMCwxODY5MTAyZTMsMTg4Nzg1NDQwMCwxOTAxMTU2NDAwLDE5MTkzMDRlMywxOTMyNjA2ZTNdLG9mZnNldDpbNjI2NCw2MjY0LDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL0J1ZGFwZXN0Ijp7CnRpbWU6Wy0yNDk4MjU2ZTMsLTE2OTM3MDI4MDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTYwMDQ2NjQwMCwtMTU4NzI0MzYwMCwtMTU2OTcwOGUzLC0xNTU1MTg5MjAwLC05MDY3NzE2MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc3ODQ2NzYwMCwtNzYyNjQ5MjAwLC03NDk2ODU2MDAsLTczMzI2OTYwMCwtNzE3NjMxMjAwLC03MDE5MDI4MDAsLTY4NjE4MTYwMCwtNjcwNDUzMjAwLC02NTQxMjcyMDAsLTYzOTAwMzYwMCwtNDkyNjUyODAwLC00ODExNjE2MDAsLTQ2MTE5NmUzLC00NDk3MDEyMDAsLTQyODUzNjgwMCwtNDE4MjUxNjAwLC0zOTcwODcyMDAsLTM4NjgwMmUzLDMyMzgyNzIwMCwzMzg5NTA4MDAsMzU0NjcyZTMsMzcwNDAwNDAwLDM4NjEyMTYwMCw0MDE4NWU0LDQxNzU3MTIwMCw0MzMyOTk2MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbNDU4MCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDBdfSwiRXVyb3BlL0NvcGVuaGFnZW4iOnsKdGltZTpbLTI1MjQ1MjE2MDAsLTIzOTgyOTEyMDAsLTE2OTI0OTMyMDAsLTE2ODA0ODM2MDAsLTkzNTEwNzIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03NjkzODEyMDAsLTc0NzAwNzIwMCwtNzM2Mzc2NDAwLC03MTUyMTJlMywtNzA2NzQxMjAwLC02ODMxNTc2MDAsLTY3NTI5MTYwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMzAyMCwzMDIwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvRHVibGluIjp7CnRpbWU6Wy0yODIxNjUxMjAwLC0xNjkxOTY0ZTMsLTE2ODA0NjkyMDAsLTE2NjQxNDMyMDAsLTE2NTAxNDI4MDAsLTE2MzM5MDMyMDAsLTE2MTc0ODM2MDAsLTE2MDE4NDg4MDAsLTE1ODYwMzRlMywtMTU3MDM5OTIwMCwtMTU1MjE2NTIwMCwtMTUzODM0NDgwMCwtMTUyMjUzZTQsLTE1MDc1ZTUsLTE0OTA1NjJlMywtMTQ3MzYzMTIwMCwtMTQ2MDkyNjgwMCwtMTQ0Mjc4NjQwMCwtMTQyODg3MjQwMCwtMTQxMDczMmUzLC0xMzk2MjEzMjAwLC0xMzc5MjgyNDAwLC0xMzY0NzYzNjAwLC0xMzQ4NDM3NjAwLC0xMzMzMzE0ZTMsLTEzMTU3Nzg0MDAsLTEzMDEyNTk2MDAsLTEyODQzMjg4MDAsLTEyNjk4MWU0LC0xMjUzNDg0ZTMsLTEyMzgzNjA0MDAsLTEyMjE0Mjk2MDAsLTEyMDY5MTA4MDAsLTExODk5OGU0LC0xMTc1NDYxMjAwLC0xMTU5MTM1MjAwLC0xMTQzNDA2ODAwLC0xMTI2NDc2ZTMsLTExMTE5NTcyMDAsLTEwOTU2MzEyMDAsLTEwODA1MDc2MDAsLTEwNjM1NzY4MDAsLTEwNDkwNThlMywtMTAzMjEyNzIwMCwtMTAxNzYwODQwMCwtMTAwMTI4MjQwMCwtOTg2MTU4ODAwLC05NjkyMjhlMywtOTUwNDc1NjAwLC05NDIwMTJlMywtNzMzMzUyNDAwLC03MTk0NDU2MDAsLTY5OTQ4MzYwMCwtNjg0OTcyZTMsLTY2ODAzNGUzLC02NTQ3MzJlMywtNjM2NTg0NDAwLC02MjIwNzI4MDAsLTYwNTczOTYwMCwtNTkwNjIzMjAwLC01NzQyOWU0LC01NTg1Njg4MDAsLTU0MjIzNTYwMCwtNTI3MTE5MjAwLC01MTI2MDA0MDAsLTQ5NjI3NDQwMCwtNDgxMTUwODAwLC00NjQyMmU0LC00NDk3MDEyMDAsLTQzMjE2NTYwMCwtNDE3NjQ2ODAwLC00MDEzMjA4MDAsLTM4NjE5NzIwMCwtMzY5MjY2NDAwLC0zNTQ3NDc2MDAsLTMzNzgxNjgwMCwtMzIzMjk4ZTMsLTMwNjk3MmUzLC0yOTE4NDg0MDAsLTI3NjczMmUzLC0yNTc5Nzk2MDAsLTI0NTI4MjQwMCwtMjI2NTNlNCwtMjEzMjI4ZTMsLTE5NTA4MDQwMCwtMTgyMzgzMjAwLC0xNjM2MzA4MDAsLTE1MDkzMzYwMCwtMTMyMTgxMjAwLC0xMTk0ODRlMywtMTAwNzMxNjAwLC04ODAzNDQwMCwtNjg2NzcyMDAsLTU5MDA0ZTMsNTc3MjZlMyw2OTgxODQwMCw4OTE3NTYwMCwxMDEyNjhlMywxMjA2MjUyMDAsMTMyNzE3NjAwLDE1MjA3NDgwMCwxNjQxNjcyMDAsMTgzNTI0NDAwLDE5NjIyMTYwMCwyMTQ5NzRlMywyMjc2NzEyMDAsMjQ2NDIzNjAwLDI1OTEyMDgwMCwyNzg0NzhlMywyOTA1NzA0MDAsMzA5OTI3NjAwLDMyMjAyZTQsMzQxMzc3MjAwLDM1NDY3NTYwMCwzNzI4MjMyMDAsMzg2MTI1MjAwLDQwNDI3MjgwMCw0MTc1NzQ4MDAsNDM1NzIyNDAwLDQ0OTAyNDQwMCw0Njc3NzY4MDAsNDgxMDc4ODAwLDQ5OTIyNjQwMCw1MTI1Mjg0MDAsNTMwNjc2ZTMsNTQzOTc4ZTMsNTYyMTI1NjAwLDU3NTQyNzYwMCw1OTM1NzUyMDAsNjA2ODc3MjAwLDYyNTYyOTYwMCw2MzgzMjY4MDAsNjU3MDc5MjAwLDY3MDM4MTIwMCw2ODg1Mjg4MDAsNzAxODMwODAwLDcxOTk3ODQwMCw3MzMyODA0MDAsNzUxNDI4ZTMsNzY0NzNlNCw3ODI4Nzc2MDAsNzk2MTc5NjAwLDgxNDMyNzIwMCw4MjgyMzRlMyw4NDYzODE2MDAsODU5NjgzNjAwLDg3NzgzMTIwMCw4OTExMzMyMDAsOTA5MjgwODAwLDkyMjU4MjgwMCw5NDEzMzUyMDAsOTU0MDMyNDAwLDk3Mjc4NDgwMCw5ODU0ODJlMywxMDA0MjM0NDAwLDEwMTc1MzY0MDAsMTAzNTY4NGUzLDEwNDg5ODZlMywxMDY3MTMzNjAwLDEwODA0MzU2MDAsMTA5OTE4OGUzLDExMTE4ODUyMDAsMTEzMDYzNzYwMCwxMTQzMzM0ODAwLDExNjIwODcyMDAsMTE3NDc4NDQwMCwxMTkzNTM2ODAwLDEyMDY4Mzg4MDAsMTIyNDk4NjQwMCwxMjM4Mjg4NDAwLDEyNTY0MzZlMywxMjY5NzM4ZTMsMTI4ODQ5MDQwMCwxMzAxMTg3NjAwLDEzMTk5NGU0LDEzMzI2MzcyMDAsMTM1MTM4OTYwMCwxMzY0NjkxNjAwLDEzODI4MzkyMDAsMTM5NjE0MTIwMCwxNDE0Mjg4ODAwLDE0Mjc1OTA4MDAsMTQ0NTczODQwMCwxNDU5MDQwNDAwLDE0Nzc3OTI4MDAsMTQ5MDQ5ZTQsMTUwOTI0MjQwMCwxNTIxOTM5NjAwLDE1NDA2OTJlMywxNTUzOTk0ZTMsMTU3MjE0MTYwMCwxNTg1NDQzNjAwLDE2MDM1OTEyMDAsMTYxNjg5MzIwMCwxNjM1NjQ1NjAwLDE2NDgzNDI4MDAsMTY2NzA5NTIwMCwxNjc5NzkyNDAwLDE2OTg1NDQ4MDAsMTcxMTg0NjgwMCwxNzI5OTk0NDAwLDE3NDMyOTY0MDAsMTc2MTQ0NGUzLDE3NzQ3NDZlMywxNzkyODkzNjAwLDE4MDYxOTU2MDAsMTgyNDk0OGUzLDE4Mzc2NDUyMDAsMTg1NjM5NzYwMCwxODY5MDk0ODAwLDE4ODc4NDcyMDAsMTkwMTE0OTIwMCwxOTE5Mjk2ODAwLDE5MzI1OTg4MDBdLG9mZnNldDpbLTE1MjEsLTE1MjEsMjA3OSwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwXX0sIkV1cm9wZS9IZWxzaW5raSI6ewp0aW1lOlstMjg5MDI1MjgwMCwtMTUzNTkzMjgwMCwtODc1NjY0ZTMsLTg1OTc2MjgwMCwzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTgyZTMsNDMzMzEwNDAwLDQ0OTAzMTYwMCw0NjUzNjQ4MDAsNDgxMDg2ZTMsNDk2ODE0NDAwLDUxMjUzNTYwMCw1MjgyNjRlMyw1NDM5ODUyMDAsNTU5NzEzNjAwLDU3NTQzNDgwMCw1OTExNjMyMDAsNjA2ODg0NDAwLDYyMjYxMjgwMCw2MzgzMzRlMyw2NTQ2NjcyMDAsNjcwMzg4NDAwLDY4NjExNjgwMCw3MDE4MzhlMyw3MTc1NjY0MDAsNzMzMjg3NjAwLDc0OTAxNmUzLDc2NDczNzIwMCw3ODA0NjU2MDAsNzk2MTg2ODAwLDgxMTkxNTIwMCw4MjgyNDEyMDAsODQ2Mzg4ODAwLDg1OTY5MDgwMCw4Nzc4Mzg0MDAsODkxMTQwNDAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDk1NDAzOTYwMCw5NzI3OTJlMyw5ODU0ODkyMDAsMTAwNDI0MTYwMCwxMDE3NTQzNjAwLDEwMzU2OTEyMDAsMTA0ODk5MzIwMCwxMDY3MTQwODAwLDEwODA0NDI4MDAsMTA5OTE5NTIwMCwxMTExODkyNDAwLDExMzA2NDQ4MDAsMTE0MzM0MmUzLDExNjIwOTQ0MDAsMTE3NDc5MTYwMCwxMTkzNTQ0ZTMsMTIwNjg0NmUzLDEyMjQ5OTM2MDAsMTIzODI5NTYwMCwxMjU2NDQzMjAwLDEyNjk3NDUyMDAsMTI4ODQ5NzYwMCwxMzAxMTk0ODAwLDEzMTk5NDcyMDAsMTMzMjY0NDQwMCwxMzUxMzk2ODAwLDEzNjQ2OTg4MDAsMTM4Mjg0NjQwMCwxMzk2MTQ4NDAwLDE0MTQyOTZlMywxNDI3NTk4ZTMsMTQ0NTc0NTYwMCwxNDU5MDQ3NjAwLDE0Nzc4ZTUsMTQ5MDQ5NzIwMCwxNTA5MjQ5NjAwLDE1MjE5NDY4MDAsMTU0MDY5OTIwMCwxNTU0MDAxMjAwLDE1NzIxNDg4MDAsMTU4NTQ1MDgwMCwxNjAzNTk4NDAwLDE2MTY5MDA0MDAsMTYzNTY1MjgwMCwxNjQ4MzVlNCwxNjY3MTAyNDAwLDE2Nzk3OTk2MDAsMTY5ODU1MmUzLDE3MTE4NTRlMywxNzMwMDAxNjAwLDE3NDMzMDM2MDAsMTc2MTQ1MTIwMCwxNzc0NzUzMjAwLDE3OTI5MDA4MDAsMTgwNjIwMjgwMCwxODI0OTU1MjAwLDE4Mzc2NTI0MDAsMTg1NjQwNDgwMCwxODY5MTAyZTMsMTg4Nzg1NDQwMCwxOTAxMTU2NDAwLDE5MTkzMDRlMywxOTMyNjA2ZTNdLG9mZnNldDpbNTk4OSw1OTg5LDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL0lzdGFuYnVsIjp7dGltZTpbLTI4NDAxNDA4MDAsLTE4Njk4Njg4MDAsLTE2OTM2OTkyMDAsLTE2ODA0OGU0LC0xNTcwNDA2NDAwLC0xNTUyMTc2ZTMsLTE1MzgzNTJlMywtMTUyMjU0MDgwMCwtMTUwNzUwNzIwMCwtMTQ5MDU3MjgwMCwtMTQ0MDIwMTYwMCwtMTQyODAxOTIwMCwtMTQwOTcwMjQwMCwtMTM5NjQ4MzIwMCwtOTMxMDQ2NDAwLC05MjI2NjU2MDAsLTkxNzgyNzIwMCwtODkyNDI1NjAwLC04NzU4MzY4MDAsLTc2NDcyNjQwMCwtNzQ0MzM2ZTMsLTczMzc5NTIwMCwtNzE2NDI4ODAwLC03MDE5MTM2MDAsLTY4NDk3OTIwMCwtNjcwNDY0ZTMsLTY1NDEzNDQwMCwtNjM5MDE0NDAwLC02MjIwOGU0LC02MDY5NmU0LC01OTAwMjU2MDAsLTU3NTUxMDQwMCwtMjM1NjEyODAwLC0xOTQ4MzJlMywtMTc3NzI0ODAwLC0xNjU3MTUyMDAsMTA3OTE3MjAwLDEyMTIyNjQwMCwxMzM5MjcyMDAsMTUyNjc2ZTMsMTY0Njg1NjAwLDE4NDEyNTYwMCwxOTYyMjE2MDAsMjE1NTc1MjAwLDIyODg4MDgwMCwyNDU4MTUyMDAsMjYwMzMwNDAwLDI2NzkyNjQwMCw0Mjg0NjQ4MDAsNDMzOTA4ZTMsNDY4MTIyNDAwLDQ4MjgwNjgwMCw0OTY3MjA4MDAsNTEyNTI4NDAwLDUyODI1NjgwMCw1NDM5NzhlMyw1NTk3MDY0MDAsNTc1NDI3NjAwLDU5MTE1NmUzLDYwNjg3NzIwMCw2MjI2MDU2MDAsNjM4MzI2ODAwLDY1NDY2ZTQsNjcwMzgxMjAwLDY4NjEwOTYwMCw3MDE4MzA4MDAsNzE3NTU5MjAwLDczMzI4MDQwMCw3NDkwMDg4MDAsNzY0MTI1MjAwLDc4MDQ1ODQwMCw3OTYxNzk2MDAsODExOTA4ZTMsODI4MjM0ZTMsODQ2MzgxNjAwLDg1OTY4MzYwMCw4Nzc4MzEyMDAsODkxMTMzMjAwLDkwOTI4MDgwMCw5MjI1ODI4MDAsOTQxMzM1MjAwLDk1NDAzMjQwMCw5NzI3ODQ4MDAsOTg1NDgyZTMsMTAwNDIzNDQwMCwxMDE3NTM2NDAwLDEwMzU2ODRlMywxMDQ4OTg2ZTMsMTA2NzEzMzYwMCwxMDgwNDM1NjAwLDEwOTkxODhlMywxMTExODg1MjAwLDExMzA2Mzc2MDAsMTE0MzMzNDgwMCwxMTYyMDg3MjAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTI4MTIwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjIzNDgwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDY5NTUyMDAsMTQ1OTA0NzYwMCwxNDczMjA2NDAwLDE5MjUwMDI4MDBdLApvZmZzZXQ6WzY5NTIsNzAxNiw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsMTA4MDAsMTQ0MDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDEwODAwXX0sIkV1cm9wZS9MaXNib24iOnt0aW1lOlstMTgzMDM4NjIwNSwtMTY4OTU1NTYwMCwtMTY3Nzc5OGUzLC0xNjY3NDMzNjAwLC0xNjQ3NzM0NDAwLC0xNjM1ODk3NjAwLC0xNjE2MTk4NDAwLC0xNjA0MzYxNjAwLC0xNTg0NjYyNDAwLC0xNTcyNzM5MjAwLC0xNTUzMDRlNCwtMTU0MTIwMzIwMCwtMTUyMTUwNGUzLC0xNDQyNDUxNjAwLC0xNDI3NjczNjAwLC0xMzc5MjkzMjAwLC0xMzY0Nzc0NDAwLC0xMzQ4NDQ4NDAwLC0xMzMzMzI0ODAwLC0xMzE2Mzk0ZTMsLTEzMDEyNzA0MDAsLTEyODQzMzk2MDAsLTEyNjk4MjA4MDAsLTEyMjE0NDA0MDAsLTEyMDY5MjE2MDAsLTExOTEyMDA0MDAsLTExNzU0NzJlMywtMTEyNzY5NjQwMCwtMTExMTk2OGUzLC0xMDk2ODUxNjAwLC0xMDgwNTE4NDAwLC0xMDYzNTg3NjAwLC0xMDQ5MDY4ODAwLC0xMDMzMzQ3NjAwLC0xMDE3NjE5MjAwLC0xMDAyNTAyODAwLC05ODYxNjk2MDAsLTk2OTIzODgwMCwtOTUwNDg2NDAwLC05NDIwMjI4MDAsLTkyMjQ5MjgwMCwtOTA2OTQ0NDAwLC04OTExMjk2MDAsLTg3NzMwOTIwMCwtODczNjgwNDAwLC04NjRlNiwtODU3OTUyZTMsLTg0NTg1OTYwMCwtODQyODM1NjAwLC04MzEzNDA4MDAsLTgyNTg5NzYwMCwtODE0NDFlNCwtODEwNzgxMjAwLC03OTk4OTEyMDAsLTc5NDQ0OGUzLC03ODI5NjA0MDAsLTc3OTMzMTYwMCwtNzY4NDQxNjAwLC03NjI5OTg0MDAsLTc0OTA5MTYwMCwtNzMzMzYzMjAwLC03MTc2MzEyMDAsLTcwMTkwMjgwMCwtNjg2MTgxNjAwLC02NzA0NTMyMDAsLTY1NDczMmUzLC02MzkwMDM2MDAsLTYyMzI4MjQwMCwtNjA3NTU0ZTMsLTU5MTgzMjgwMCwtNTc1NDk5NjAwLC01NTk3Nzg0MDAsLTU0NDA1ZTQsLTUyODMyODgwMCwtNTEyNjAwNDAwLC00OTY4NzkyMDAsLTQ4MTE1MDgwMCwtNDY1NDI5NjAwLC00NDk3MDEyMDAsLTQzMzk4ZTQsLTQxNzY0NjgwMCwtNDAxOTI1NjAwLC0zODYxOTcyMDAsLTM3MDQ3NmUzLC0zNTQ3NDc2MDAsLTMzOTAyNjQwMCwtMzIzMjk4ZTMsLTMwNzU3NjgwMCwtMjkxODQ4NDAwLC0yNzYxMjcyMDAsLTI2MDM5ODgwMCwtMjQ0Njc3NjAwLC0yMjgzNDQ0MDAsLTIxMjYyMzIwMCwtMTk2ODk0ODAwLC0xODExNzM2MDAsLTE2NTQ0NTIwMCwtMTQ5NzI0ZTMsLTEzMzk5NTYwMCwtMTE4Mjc0NDAwLC0xMDI1NDZlMywyMTI1NDc2MDAsMjI4MjY4ODAwLDI0Mzk5NzIwMCwyNjAzMjY4MDAsMjc2MDU1MjAwLDI5MTc3NjQwMCwzMDc1MDQ4MDAsMzIzODMwODAwLDMzODk1NDQwMCwzNTQ2NzJlMywzNzA0MDA0MDAsMzg2MTIxNjAwLDQwMTg1ZTQsNDE3NTcxMjAwLDQzMzI5OTYwMCw0NDkwMjA4MDAsNDY1MzU0ZTMsNDgxMDc1MjAwLDQ5NjgwMzYwMCw1MTI1Mjg0MDAsNTI4MjU2ODAwLDU0Mzk3OGUzLDU1OTcwNjQwMCw1NzU0Mjc2MDAsNTkxMTU2ZTMsNjA2ODc3MjAwLDYyMjYwNTYwMCw2MzgzMjY4MDAsNjU0NjZlNCw2NzAzODEyMDAsNjg2MTA5NjAwLDcwMTgzMDgwMCw3MTc1NTkyMDAsNzMzMjg0ZTMsNzQ5MDEyNDAwLDc2NDczMzYwMCw3ODA0NjJlMyw3OTYxODMyMDAsODExOTExNjAwLDgyODIzNzYwMCw4NDYzODE2MDAsODU5NjgzNjAwLDg3NzgzMTIwMCw4OTExMzMyMDAsOTA5MjgwODAwLDkyMjU4MjgwMCw5NDEzMzUyMDAsOTU0MDMyNDAwLDk3Mjc4NDgwMCw5ODU0ODJlMywxMDA0MjM0NDAwLDEwMTc1MzY0MDAsMTAzNTY4NGUzLDEwNDg5ODZlMywxMDY3MTMzNjAwLDEwODA0MzU2MDAsMTA5OTE4OGUzLDExMTE4ODUyMDAsMTEzMDYzNzYwMCwxMTQzMzM0ODAwLDExNjIwODcyMDAsMTE3NDc4NDQwMCwxMTkzNTM2ODAwLDEyMDY4Mzg4MDAsMTIyNDk4NjQwMCwxMjM4Mjg4NDAwLDEyNTY0MzZlMywxMjY5NzM4ZTMsMTI4ODQ5MDQwMCwxMzAxMTg3NjAwLDEzMTk5NGU0LDEzMzI2MzcyMDAsMTM1MTM4OTYwMCwxMzY0NjkxNjAwLDEzODI4MzkyMDAsMTM5NjE0MTIwMCwxNDE0Mjg4ODAwLDE0Mjc1OTA4MDAsMTQ0NTczODQwMCwxNDU5MDQwNDAwLDE0Nzc3OTI4MDAsMTQ5MDQ5ZTQsMTUwOTI0MjQwMCwxNTIxOTM5NjAwLDE1NDA2OTJlMywxNTUzOTk0ZTMsMTU3MjE0MTYwMCwxNTg1NDQzNjAwLDE2MDM1OTEyMDAsMTYxNjg5MzIwMCwxNjM1NjQ1NjAwLDE2NDgzNDI4MDAsMTY2NzA5NTIwMCwxNjc5NzkyNDAwLDE2OTg1NDQ4MDAsMTcxMTg0NjgwMCwxNzI5OTk0NDAwLDE3NDMyOTY0MDAsMTc2MTQ0NGUzLDE3NzQ3NDZlMywxNzkyODkzNjAwLDE4MDYxOTU2MDAsMTgyNDk0OGUzLDE4Mzc2NDUyMDAsMTg1NjM5NzYwMCwxODY5MDk0ODAwLDE4ODc4NDcyMDAsMTkwMTE0OTIwMCwxOTE5Mjk2ODAwLDE5MzI1OTg4MDBdLApvZmZzZXQ6Wy0yMjA1LDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCwwLDM2MDAsNzIwMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwXX0sIkV1cm9wZS9ManVibGphbmEiOnt0aW1lOlstMjcxMzkxMDQwMCwtOTA1ODIxMjAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTY3N2U0LC03ODEwNDg4MDAsLTc2NjYxNjQwMCw0MTc1Nzg0MDAsNDMzMzA2ODAwLDQ0OTAyOGUzLDQ2NTM2MTIwMCw0ODEwODI0MDAsNDk2ODEwODAwLDUxMjUzMmUzLDUyODI2MDQwMCw1NDM5ODE2MDAsNTU5NzFlNCw1NzU0MzEyMDAsNTkxMTU5NjAwLDYwNjg4MDgwMCw2MjI2MDkyMDAsNjM4MzMwNDAwLDY1NDY2MzYwMCw2NzAzODQ4MDAsNjg2MTEzMjAwLDcwMTgzNDQwMCw3MTc1NjI4MDAsNzMzMjg0ZTMsNzQ5MDEyNDAwLDc2NDczMzYwMCw3ODA0NjJlMyw3OTYxODMyMDAsODExOTExNjAwLDgyODIzNzYwMCw4NDYzODUyMDAsODU5Njg3MjAwLDg3NzgzNDgwMCw4OTExMzY4MDAsOTA5Mjg0NDAwLDkyMjU4NjQwMCw5NDEzMzg4MDAsOTU0MDM2ZTMsOTcyNzg4NDAwLDk4NTQ4NTYwMCwxMDA0MjM4ZTMsMTAxNzU0ZTQsMTAzNTY4NzYwMCwxMDQ4OTg5NjAwLDEwNjcxMzcyMDAsMTA4MDQzOTIwMCwxMDk5MTkxNjAwLDExMTE4ODg4MDAsMTEzMDY0MTIwMCwxMTQzMzM4NDAwLDExNjIwOTA4MDAsMTE3NDc4OGUzLDExOTM1NDA0MDAsMTIwNjg0MjQwMCwxMjI0OTllNCwxMjM4MjkyZTMsMTI1NjQzOTYwMCwxMjY5NzQxNjAwLDEyODg0OTRlMywxMzAxMTkxMjAwLDEzMTk5NDM2MDAsMTMzMjY0MDgwMCwxMzUxMzkzMjAwLDEzNjQ2OTUyMDAsMTM4Mjg0MjgwMCwxMzk2MTQ0ODAwLDE0MTQyOTI0MDAsMTQyNzU5NDQwMCwxNDQ1NzQyZTMsMTQ1OTA0NGUzLDE0Nzc3OTY0MDAsMTQ5MDQ5MzYwMCwxNTA5MjQ2ZTMsMTUyMTk0MzIwMCwxNTQwNjk1NjAwLDE1NTM5OTc2MDAsMTU3MjE0NTIwMCwxNTg1NDQ3MjAwLDE2MDM1OTQ4MDAsMTYxNjg5NjgwMCwxNjM1NjQ5MjAwLDE2NDgzNDY0MDAsMTY2NzA5ODgwMCwxNjc5Nzk2ZTMsMTY5ODU0ODQwMCwxNzExODUwNDAwLDE3Mjk5OThlMywxNzQzM2U1LDE3NjE0NDc2MDAsMTc3NDc0OTYwMCwxNzkyODk3MjAwLDE4MDYxOTkyMDAsMTgyNDk1MTYwMCwxODM3NjQ4ODAwLDE4NTY0MDEyMDAsMTg2OTA5ODQwMCwxODg3ODUwODAwLDE5MDExNTI4MDAsMTkxOTMwMDQwMCwxOTMyNjAyNDAwXSxvZmZzZXQ6WzM0ODQsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDBdfSwiRXVyb3BlL0xvbmRvbiI6ewp0aW1lOlstMzg1MjY2MjQwMCwtMTY5MTk2NGUzLC0xNjgwNDY5MjAwLC0xNjY0MTQzMjAwLC0xNjUwMTQyODAwLC0xNjMzOTAzMjAwLC0xNjE3NDgzNjAwLC0xNjAxODQ4ODAwLC0xNTg2MDM0ZTMsLTE1NzAzOTkyMDAsLTE1NTIxNjUyMDAsLTE1MzgzNDQ4MDAsLTE1MjI1M2U0LC0xNTA3NWU1LC0xNDkwNTYyZTMsLTE0NzM2MzEyMDAsLTE0NjA5MjY4MDAsLTE0NDI3ODY0MDAsLTE0Mjg4NzI0MDAsLTE0MTA3MzJlMywtMTM5NjIxMzIwMCwtMTM3OTI4MjQwMCwtMTM2NDc2MzYwMCwtMTM0ODQzNzYwMCwtMTMzMzMxNGUzLC0xMzE1Nzc4NDAwLC0xMzAxMjU5NjAwLC0xMjg0MzI4ODAwLC0xMjY5ODFlNCwtMTI1MzQ4NGUzLC0xMjM4MzYwNDAwLC0xMjIxNDI5NjAwLC0xMjA2OTEwODAwLC0xMTg5OThlNCwtMTE3NTQ2MTIwMCwtMTE1OTEzNTIwMCwtMTE0MzQwNjgwMCwtMTEyNjQ3NmUzLC0xMTExOTU3MjAwLC0xMDk1NjMxMjAwLC0xMDgwNTA3NjAwLC0xMDYzNTc2ODAwLC0xMDQ5MDU4ZTMsLTEwMzIxMjcyMDAsLTEwMTc2MDg0MDAsLTEwMDEyODI0MDAsLTk4NjE1ODgwMCwtOTY5MjI4ZTMsLTk1MDQ3NTYwMCwtOTQyMDEyZTMsLTkwNDUxNDQwMCwtODk2MDQzNjAwLC04NzU0ODRlMywtODY0NTk0ZTMsLTg0NDAzNDQwMCwtODMyNTM5NjAwLC04MTI1ODQ4MDAsLTc5ODA2NmUzLC03ODEwNDg4MDAsLTc3MjA1OTYwMCwtNzY0ODAyZTMsLTc0ODQ3NmUzLC03MzMzNTI0MDAsLTcxOTQ0NTYwMCwtNzE3MDI2NDAwLC03MDY3NDEyMDAsLTY5OTQ4MzYwMCwtNjg3OTk2ZTMsLTY2ODAzNGUzLC02NTQ3MzJlMywtNjM2NTg0NDAwLC02MjIwNzI4MDAsLTYwNTczOTYwMCwtNTkwNjIzMjAwLC01NzQyOWU0LC01NTg1Njg4MDAsLTU0MjIzNTYwMCwtNTI3MTE5MjAwLC01MTI2MDA0MDAsLTQ5NjI3NDQwMCwtNDgxMTUwODAwLC00NjQyMmU0LC00NDk3MDEyMDAsLTQzMjE2NTYwMCwtNDE3NjQ2ODAwLC00MDEzMjA4MDAsLTM4NjE5NzIwMCwtMzY5MjY2NDAwLC0zNTQ3NDc2MDAsLTMzNzgxNjgwMCwtMzIzMjk4ZTMsLTMwNjk3MmUzLC0yOTE4NDg0MDAsLTI3NjczMmUzLC0yNTc5Nzk2MDAsLTI0NTI4MjQwMCwtMjI2NTNlNCwtMjEzMjI4ZTMsLTE5NTA4MDQwMCwtMTgyMzgzMjAwLC0xNjM2MzA4MDAsLTE1MDkzMzYwMCwtMTMyMTgxMjAwLC0xMTk0ODRlMywtMTAwNzMxNjAwLC04ODAzNDQwMCwtNjg2NzcyMDAsLTU5MDA0ZTMsLTM3MjM4NDAwLDU3NzI2ZTMsNjk4MTg0MDAsODkxNzU2MDAsMTAxMjY4ZTMsMTIwNjI1MjAwLDEzMjcxNzYwMCwxNTIwNzQ4MDAsMTY0MTY3MjAwLDE4MzUyNDQwMCwxOTYyMjE2MDAsMjE0OTc0ZTMsMjI3NjcxMjAwLDI0NjQyMzYwMCwyNTkxMjA4MDAsMjc4NDc4ZTMsMjkwNTcwNDAwLDMwOTkyNzYwMCwzMjIwMmU0LDM0MTM3NzIwMCwzNTQ2NzU2MDAsMzcyODIzMjAwLDM4NjEyNTIwMCw0MDQyNzI4MDAsNDE3NTc0ODAwLDQzNTcyMjQwMCw0NDkwMjQ0MDAsNDY3Nzc2ODAwLDQ4MTA3ODgwMCw0OTkyMjY0MDAsNTEyNTI4NDAwLDUzMDY3NmUzLDU0Mzk3OGUzLDU2MjEyNTYwMCw1NzU0Mjc2MDAsNTkzNTc1MjAwLDYwNjg3NzIwMCw2MjU2Mjk2MDAsNjM4MzI2ODAwLDY1NzA3OTIwMCw2NzAzODEyMDAsNjg4NTI4ODAwLDcwMTgzMDgwMCw3MTk5Nzg0MDAsNzMzMjgwNDAwLDc1MTQyOGUzLDc2NDczZTQsNzgyODc3NjAwLDc5NjE3OTYwMCw4MTQzMjcyMDAsODI4MjM0ZTMsODQ2MzgxNjAwLDg1OTY4MzYwMCw4Nzc4MzEyMDAsODkxMTMzMjAwLDkwOTI4MDgwMCw5MjI1ODI4MDAsOTQxMzM1MjAwLDk1NDAzMjQwMCw5NzI3ODQ4MDAsOTg1NDgyZTMsMTAwNDIzNDQwMCwxMDE3NTM2NDAwLDEwMzU2ODRlMywxMDQ4OTg2ZTMsMTA2NzEzMzYwMCwxMDgwNDM1NjAwLDEwOTkxODhlMywxMTExODg1MjAwLDExMzA2Mzc2MDAsMTE0MzMzNDgwMCwxMTYyMDg3MjAwLDExNzQ3ODQ0MDAsMTE5MzUzNjgwMCwxMjA2ODM4ODAwLDEyMjQ5ODY0MDAsMTIzODI4ODQwMCwxMjU2NDM2ZTMsMTI2OTczOGUzLDEyODg0OTA0MDAsMTMwMTE4NzYwMCwxMzE5OTRlNCwxMzMyNjM3MjAwLDEzNTEzODk2MDAsMTM2NDY5MTYwMCwxMzgyODM5MjAwLDEzOTYxNDEyMDAsMTQxNDI4ODgwMCwxNDI3NTkwODAwLDE0NDU3Mzg0MDAsMTQ1OTA0MDQwMCwxNDc3NzkyODAwLDE0OTA0OWU0LDE1MDkyNDI0MDAsMTUyMTkzOTYwMCwxNTQwNjkyZTMsMTU1Mzk5NGUzLDE1NzIxNDE2MDAsMTU4NTQ0MzYwMCwxNjAzNTkxMjAwLDE2MTY4OTMyMDAsMTYzNTY0NTYwMCwxNjQ4MzQyODAwLDE2NjcwOTUyMDAsMTY3OTc5MjQwMCwxNjk4NTQ0ODAwLDE3MTE4NDY4MDAsMTcyOTk5NDQwMCwxNzQzMjk2NDAwLDE3NjE0NDRlMywxNzc0NzQ2ZTMsMTc5Mjg5MzYwMCwxODA2MTk1NjAwLDE4MjQ5NDhlMywxODM3NjQ1MjAwLDE4NTYzOTc2MDAsMTg2OTA5NDgwMCwxODg3ODQ3MjAwLDE5MDExNDkyMDAsMTkxOTI5NjgwMCwxOTMyNTk4ODAwXSwKb2Zmc2V0OlstNzUsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDBdfSwiRXVyb3BlL0x1eGVtYm91cmciOnt0aW1lOlstMjA2OTcxMmUzLC0xNjkyNDkzMjAwLC0xNjgwNDc2NDAwLC0xNjYyMzM5NjAwLC0xNjUwMTVlNCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTYxMjY1NmUzLC0xNjA0Mjc4ODAwLC0xNTg1NTE1NjAwLC0xNTc0MDM4ODAwLC0xNTUyMjU1MjAwLC0xNTM5OTk3MjAwLC0xNTIwNTQ2NDAwLC0xNTA3NTEwODAwLC0xNDkwNTY5MjAwLC0xNDczNjQyZTMsLTE0NTkxMTZlMywtMTQ0NDAwNjgwMCwtMTQyNzY3ZTQsLTE0MTE4NjZlMywtMTM5NjIyMDQwMCwtMTM3OTI5MzIwMCwtMTM2NDc3MDgwMCwtMTM0ODQ0ODQwMCwtMTMzMzMyMTIwMCwtMTMxNjM5NGUzLC0xMzAxMjY2ODAwLC0xMjg0MzM5NjAwLC0xMjY5ODFlNCwtMTI1MzQ4NGUzLC0xMjM4MzYwNDAwLC0xMjIxNDI5NjAwLC0xMjA2OTEwODAwLC0xMTkxMTg5NjAwLC0xMTc1NDYxMjAwLC0xMTYwMzQ0ODAwLC0xMTQzNDA2ODAwLC0xMTI3Njg1NjAwLC0xMTExOTU3MjAwLC0xMDk2ODQwODAwLC0xMDgwNTA3NjAwLC0xMDYzNTc2ODAwLC0xMDQ5MDU4ZTMsLTEwMzMzMzY4MDAsLTEwMTc2MDg0MDAsLTEwMDI0OTJlMywtOTg2MTU4ODAwLC05NjkyMjhlMywtOTUwNDc1NjAwLC05NDIwMTJlMywtOTM1MTgyODAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTc5Nzk2MDAsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLC03NDU0NTJlMywtNzMzMjY2ZTMsMjI4ODgwODAwLDI0NDAwNDQwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbMTQ3NiwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9NYWRyaWQiOnt0aW1lOlstMjE3NzQ1MzY4NCwtMTYzMTkyNjgwMCwtMTYxNjg4NmUzLC0xNjAxMTY4NDAwLC0xNTg1MzVlNCwtMTQ0MjQ1MTYwMCwtMTQyNzY3ZTQsLTEzNzkyOTMyMDAsLTEzNjQ3NzA4MDAsLTEzNDg0NDg0MDAsLTEzMzMzMjEyMDAsLTEzMTYzOTA0MDAsLTEzMDEyNjY4MDAsLTEyODQzMzk2MDAsLTEyNjk4MTcyMDAsLTEwMjY5NTRlMywtMTAxNzYxNTYwMCwtMTAwMTg5OGUzLC05OTk0Nzg4MDAsLTk4NjA4MzIwMCwtOTU0MTExNjAwLC05NDAyMDg0MDAsLTg3MzA3NTYwMCwtODYyNjE0ZTMsLTg0MjgzNTYwMCwtODI4MzEzMjAwLC04MTEzODZlMywtNzk2ODYzNjAwLC03Nzk5MzY0MDAsLTc2NTQxNGUzLC03NDg0ODY4MDAsLTczMzk2NDQwMCwtNjUyMzIzNjAwLC02MzkwMTA4MDAsMTM1MTI2ZTMsMTUwMjUzMjAwLDE2NjU3NTYwMCwxODE3MDI4MDAsMTk2ODE1NjAwLDIxMjU0NzYwMCwyMjg4N2U0LDI0Mzk5NzIwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbLTg4NCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9NYWx0YSI6e3RpbWU6Wy0yNDAzNDc1MjAwLC0xNjkwNzYxNjAwLC0xNjgwNDhlNCwtMTY2NDc1NTIwMCwtMTY0ODk0NGUzLC0xNjM1MTJlNCwtMTYxNjg4OTYwMCwtMTYwNDI3NTIwMCwtMTU4NTUyNjQwMCwtMTU3MTAxMTIwMCwtMTU1NTI4NjQwMCwtOTMyNDI4ODAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNTg0ODAwLC03OTgwNjZlMywtNzgxMDQ4ODAwLC03NjY3MWU0LC03NTA4OTUyMDAsLTczMzM1MjQwMCwtNzE5NDUyODAwLC03MDE5MWU0LC02ODkyMDU2MDAsLTY3MDQ1MzIwMCwtMTE0MDQ4ZTMsLTEwMzE2MTYwMCwtODE5OTM2MDAsLTcxNzA4NDAwLC01MDU0NGUzLC00MDI1ODgwMCwtMTg0ODk2MDAsLTgyMDQ0MDAsMTI5NmU0LDIzMjQ1MjAwLDQzODA0ODAwLDU0Njk0ODAwLDc1ODU5MjAwLDg2NzQ5MjAwLDEwMjM4NGUzLDExODExMjQwMCwxMzU3MzQ0MDAsMTQ4NTI1MjAwLDE2NzE5MTIwMCwxODA0OTY4MDAsMTk4NjQwODAwLDIxMTk0NjQwMCwyMzAwOTA0MDAsMjQzMzk2ZTMsMjYxNTRlNCwyNzQ4NDU2MDAsMjkyOTg5NjAwLDMwNjI5NTIwMCwzMjMzMTZlMywzMzgzNDk2MDAsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLApvZmZzZXQ6WzM0ODQsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9Nb3Njb3ciOnt0aW1lOlstMjg0MDE0MDgwMCwtMTY4ODI1NmUzLC0xNjU2ODFlNCwtMTY0MTM0MDgwMCwtMTYyNzk1NmUzLC0xNjE4NzAwNDAwLC0xNTk2NDE2NDAwLC0xNTkzODA0NTIxLC0xNTg5ODQ2NDAwLC0xNTQyNDE2NDAwLC0xNTM5NDc4ODAwLC0xNTI1MzA1NjAwLC0xNTIyNzEzNjAwLC0xNDkxMTc3NjAwLC0xMjQ3NTI5NjAwLDM1NDkzMTIwMCwzNzA3NDI0MDAsMzg2NDY3MjAwLDQwMjI3ODQwMCw0MTgwMDMyMDAsNDMzODE0NDAwLDQ0OTYyNTYwMCw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw2OTU3ODY0MDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTQxNDI4ODgwMCwxOTI1MDAyODAwXSxvZmZzZXQ6WzkwMTcsOTAxNyw5MDc5LDEyNjc5LDkwNzksMTYyNzksMTI2NzksMTYyNzksMTQ0MDAsMTA4MDAsMTQ0MDAsMThlMywxNDQwMCwxMDgwMCw3MjAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDEwODAwLDcyMDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDBdfSwiRXVyb3BlL09zbG8iOnsKdGltZTpbLTIzNjY3NTUyMDAsLTE2OTE4ODEyMDAsLTE2ODA1NjY0MDAsLTkyNzUwNzYwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03NjUzMjA0MDAsLTM0MDg0MDgwMCwtMzI0NTA3NjAwLC0zMDg3ODY0MDAsLTI5MzA1OGUzLC0yNzczMzY4MDAsLTI2MTYwODQwMCwtMjQ1ODg3MjAwLC0yMzAxNTg4MDAsLTIxNDQzNzYwMCwtMTk4NzA5MjAwLC0xODI5ODhlMywtMTY2NjU0ODAwLC0xNDc5MDk2MDAsLTEzNTIwNTIwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMjU4MCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9QYXJpcyI6ewp0aW1lOlstMjQ4NjU5MmUzLC0xODU1OTU4NDAwLC0xNjg5ODE0ODAwLC0xNjgwMzkzNjAwLC0xNjY1MzYzNjAwLC0xNjQ4MzM5MjAwLC0xNjM1MTIzNjAwLC0xNjE2ODg5NjAwLC0xNjA0Mjc4ODAwLC0xNTg1NDRlNCwtMTU3NDAzODgwMCwtMTU1MjI2MjQwMCwtMTUzOTk5NzIwMCwtMTUyMDU1MzYwMCwtMTUwNzUxMDgwMCwtMTQ5MDU3MjgwMCwtMTQ3MDYxOGUzLC0xNDU5MTIzMjAwLC0xNDQ0MDA2ODAwLC0xNDI3NjczNjAwLC0xNDExOTUyNDAwLC0xMzk2MjI0ZTMsLTEzNzkyOTMyMDAsLTEzNjQ3NzQ0MDAsLTEzNDg0NDg0MDAsLTEzMzMzMjQ4MDAsLTEzMTYzOTRlMywtMTMwMTI3MDQwMCwtMTI4NDMzOTYwMCwtMTI2OTgyMDgwMCwtMTI1MzQ5NDgwMCwtMTIzODM3MTIwMCwtMTIyMTQ0MDQwMCwtMTIwNjkyMTYwMCwtMTE5MTIwMDQwMCwtMTE3NTQ3MmUzLC0xMTYwMzU1NjAwLC0xMTQzNDE3NjAwLC0xMTI3Njk2NDAwLC0xMTExOTY4ZTMsLTEwOTY4NTE2MDAsLTEwODA1MTg0MDAsLTEwNjM1ODc2MDAsLTEwNDkwNjg4MDAsLTEwMzMzNDc2MDAsLTEwMTc2MTkyMDAsLTEwMDI1MDI4MDAsLTk4NjE2OTYwMCwtOTY5MjM4ODAwLC05NTA0ODY0MDAsLTk0MjAxMmUzLC05MzI0MzI0MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTgwMDA2NGUzLC03OTYyNTg4MDAsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLDE5NjgyMjgwMCwyMTI1NDc2MDAsMjI4ODgwODAwLDI0NDAwNDQwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0Ols1NjEsNTYxLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDBdfSwiRXVyb3BlL1ByYWd1ZSI6ewp0aW1lOlstMzc4NjgyNTYwMCwtMjQ2OTM5ODQwMCwtMTY5MzcwMjgwMCwtMTY4MDQ3NjQwMCwtMTY2MzQ1MmUzLC0xNjUwMTQyODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC05Mzg5MDE2MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc4MTA0ODgwMCwtNzY1MzIwNDAwLC03NDY1NzUyMDAsLTczMzM1MjQwMCwtNzI4NTE0ZTMsLTcyMTI2ZTQsLTcxNjQyMTYwMCwtNzAxOTAyODAwLC02ODQ5NzJlMywtNjcwNDUzMjAwLC02NTQyMTM2MDAsLTYzOTAwMzYwMCwyOTE3OGU0LDMwNzUwODQwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMzQ2NCwzNDY0LDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCwwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9SaWdhIjp7CnRpbWU6Wy0yODQwMTQwODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC0xNjAxNjc2ZTMsLTE1OTcyNjZlMywtMTM3NzMwMjQwMCwtOTI4MDIyNDAwLC04OTk1MTA0MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc5NTgzMDQwMCwzNTQ5MzEyMDAsMzcwNzQyNDAwLDM4NjQ2NzIwMCw0MDIyNzg0MDAsNDE4MDAzMjAwLDQzMzgxNDQwMCw0NDk2MjU2MDAsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0Mzk2NmUzLDg1OTY5MDgwMCw4Nzc4Mzg0MDAsODkxMTQwNDAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDk4NTQ4OTIwMCwxMDA0MjQxNjAwLDEwMTc1NDM2MDAsMTAzNTY5MTIwMCwxMDQ4OTkzMjAwLDEwNjcxNDA4MDAsMTA4MDQ0MjgwMCwxMDk5MTk1MjAwLDExMTE4OTI0MDAsMTEzMDY0NDgwMCwxMTQzMzQyZTMsMTE2MjA5NDQwMCwxMTc0NzkxNjAwLDExOTM1NDRlMywxMjA2ODQ2ZTMsMTIyNDk5MzYwMCwxMjM4Mjk1NjAwLDEyNTY0NDMyMDAsMTI2OTc0NTIwMCwxMjg4NDk3NjAwLDEzMDExOTQ4MDAsMTMxOTk0NzIwMCwxMzMyNjQ0NDAwLDEzNTEzOTY4MDAsMTM2NDY5ODgwMCwxMzgyODQ2NDAwLDEzOTYxNDg0MDAsMTQxNDI5NmUzLDE0Mjc1OThlMywxNDQ1NzQ1NjAwLDE0NTkwNDc2MDAsMTQ3NzhlNSwxNDkwNDk3MjAwLDE1MDkyNDk2MDAsMTUyMTk0NjgwMCwxNTQwNjk5MjAwLDE1NTQwMDEyMDAsMTU3MjE0ODgwMCwxNTg1NDUwODAwLDE2MDM1OTg0MDAsMTYxNjkwMDQwMCwxNjM1NjUyODAwLDE2NDgzNWU0LDE2NjcxMDI0MDAsMTY3OTc5OTYwMCwxNjk4NTUyZTMsMTcxMTg1NGUzLDE3MzAwMDE2MDAsMTc0MzMwMzYwMCwxNzYxNDUxMjAwLDE3NzQ3NTMyMDAsMTc5MjkwMDgwMCwxODA2MjAyODAwLDE4MjQ5NTUyMDAsMTgzNzY1MjQwMCwxODU2NDA0ODAwLDE4NjkxMDJlMywxODg3ODU0NDAwLDE5MDExNTY0MDAsMTkxOTMwNGUzLDE5MzI2MDZlM10sb2Zmc2V0Ols1Nzk0LDU3OTQsOTM5NCw1Nzk0LDkzOTQsNTc5NCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJFdXJvcGUvUm9tZSI6ewp0aW1lOlstMzI1MjA5NmUzLC0yNDAzNTYyMjA0LC0xNjkwNzYxNjAwLC0xNjgwNDhlNCwtMTY2NDc1NTIwMCwtMTY0ODk0NGUzLC0xNjM1MTJlNCwtMTYxNjg4OTYwMCwtMTYwNDI3NTIwMCwtMTU4NTUyNjQwMCwtMTU3MTAxMTIwMCwtMTU1NTI4NjQwMCwtOTMyNDI4ODAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTgwNjZlMywtNzgxMDQ4ODAwLC03NjY3MWU0LC03NTA4OTUyMDAsLTczMzM1MjQwMCwtNzE5NDUyODAwLC03MDE5MWU0LC02ODkyMDU2MDAsLTY3MDQ1MzIwMCwtMTE0MDQ4ZTMsLTEwMzE2MTYwMCwtODE5OTM2MDAsLTcxNzA4NDAwLC01MDU0NGUzLC00MDI1ODgwMCwtMTg0ODk2MDAsLTgyMDQ0MDAsMTI5NmU0LDIzMjQ1MjAwLDQzODA0ODAwLDU0Njk0ODAwLDc1ODU5MjAwLDg2NzQ5MjAwLDEwNzkxMzYwMCwxMTgxOTg4MDAsMTM4NzU4NDAwLDE0OTY0ODQwMCwxNzA4MTI4MDAsMTgxMDk4ZTMsMjAyMjYyNDAwLDIxMjU0NzYwMCwyMzMxMDcyMDAsMjQzOTk3MjAwLDI2NTE2MTYwMCwyNzYwNTE2MDAsMjk2NjExMjAwLDMwNzUwMTIwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMjk5NiwyOTk2LDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvU29maWEiOnsKdGltZTpbLTI4NDAxNDA4MDAsLTIzNjk1MmU0LC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTY3N2U0LC03ODEwNDUyMDAsMjkxNzY5MjAwLDMwNzU4NzYwMCwzMjM4MjM2MDAsMzM5MDM3MjAwLDM1NTI3MzIwMCwzNzA0MDRlMywzODY3MjI4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM3NzYwMCw2ODYxMDI0MDAsNzAxODI3MjAwLDcxNzU1MmUzLDczMzI3NjgwMCw3NDkwMDE2MDAsNzY0NzI2NDAwLDc4MDQ1MTIwMCw3OTYxNzZlMyw4MTE5MDA4MDAsODI4MjMwNDAwLDg0NjM3NDQwMCw4NTk2OTA4MDAsODc3ODM4NDAwLDg5MTE0MDQwMCw5MDkyODhlMyw5MjI1OWU0LDk0MTM0MjQwMCw5NTQwMzk2MDAsOTcyNzkyZTMsOTg1NDg5MjAwLDEwMDQyNDE2MDAsMTAxNzU0MzYwMCwxMDM1NjkxMjAwLDEwNDg5OTMyMDAsMTA2NzE0MDgwMCwxMDgwNDQyODAwLDEwOTkxOTUyMDAsMTExMTg5MjQwMCwxMTMwNjQ0ODAwLDExNDMzNDJlMywxMTYyMDk0NDAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTE5NDgwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjE0ODQwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDU3NDU2MDAsMTQ1OTA0NzYwMCwxNDc3OGU1LDE0OTA0OTcyMDAsMTUwOTI0OTYwMCwxNTIxOTQ2ODAwLDE1NDA2OTkyMDAsMTU1NDAwMTIwMCwxNTcyMTQ4ODAwLDE1ODU0NTA4MDAsMTYwMzU5ODQwMCwxNjE2OTAwNDAwLDE2MzU2NTI4MDAsMTY0ODM1ZTQsMTY2NzEwMjQwMCwxNjc5Nzk5NjAwLDE2OTg1NTJlMywxNzExODU0ZTMsMTczMDAwMTYwMCwxNzQzMzAzNjAwLDE3NjE0NTEyMDAsMTc3NDc1MzIwMCwxNzkyOTAwODAwLDE4MDYyMDI4MDAsMTgyNDk1NTIwMCwxODM3NjUyNDAwLDE4NTY0MDQ4MDAsMTg2OTEwMmUzLDE4ODc4NTQ0MDAsMTkwMTE1NjQwMCwxOTE5MzA0ZTMsMTkzMjYwNmUzXSxvZmZzZXQ6WzU1OTYsNzAxNiw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL1N0b2NraG9sbSI6e3RpbWU6Wy0yODcxNjc2ODAwLC0yMjA4OTg4ODAwLC0xNjkyNDkzMjAwLC0xNjgwNDc2NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbNDMzMiwzNjE0LDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9UYWxsaW5uIjp7dGltZTpbLTI4NDAxNDA4MDAsLTE2MzgzMTY4MDAsLTE2MzIwMDI0MDAsLTE2MTg2OTMyMDAsLTE1OTM4MjA4MDAsLTE1MzU5MzI4MDAsLTkyNzkzNmUzLC04OTI5NDRlMywtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk3NjQ0ODAwLDM1NDkzMTIwMCwzNzA3NDI0MDAsMzg2NDY3MjAwLDQwMjI3ODQwMCw0MTgwMDMyMDAsNDMzODE0NDAwLDQ0OTYyNTYwMCw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDEwMTc1NDM2MDAsMTAzNTY5MTIwMCwxMDQ4OTkzMjAwLDEwNjcxNDA4MDAsMTA4MDQ0MjgwMCwxMDk5MTk1MjAwLDExMTE4OTI0MDAsMTEzMDY0NDgwMCwxMTQzMzQyZTMsMTE2MjA5NDQwMCwxMTc0NzkxNjAwLDExOTM1NDRlMywxMjA2ODQ2ZTMsMTIyNDk5MzYwMCwxMjM4Mjk1NjAwLDEyNTY0NDMyMDAsMTI2OTc0NTIwMCwxMjg4NDk3NjAwLDEzMDExOTQ4MDAsMTMxOTk0NzIwMCwxMzMyNjQ0NDAwLDEzNTEzOTY4MDAsMTM2NDY5ODgwMCwxMzgyODQ2NDAwLDEzOTYxNDg0MDAsMTQxNDI5NmUzLDE0Mjc1OThlMywxNDQ1NzQ1NjAwLDE0NTkwNDc2MDAsMTQ3NzhlNSwxNDkwNDk3MjAwLDE1MDkyNDk2MDAsMTUyMTk0NjgwMCwxNTQwNjk5MjAwLDE1NTQwMDEyMDAsMTU3MjE0ODgwMCwxNTg1NDUwODAwLDE2MDM1OTg0MDAsMTYxNjkwMDQwMCwxNjM1NjUyODAwLDE2NDgzNWU0LDE2NjcxMDI0MDAsMTY3OTc5OTYwMCwxNjk4NTUyZTMsMTcxMTg1NGUzLDE3MzAwMDE2MDAsMTc0MzMwMzYwMCwxNzYxNDUxMjAwLDE3NzQ3NTMyMDAsMTc5MjkwMDgwMCwxODA2MjAyODAwLDE4MjQ5NTUyMDAsMTgzNzY1MjQwMCwxODU2NDA0ODAwLDE4NjkxMDJlMywxODg3ODU0NDAwLDE5MDExNTY0MDAsMTkxOTMwNGUzLDE5MzI2MDZlM10sb2Zmc2V0Ols1OTQwLDU5NDAsMzYwMCw3MjAwLDM2MDAsNTk0MCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwXX0sIkV1cm9wZS9WaWVubmEiOnsKdGltZTpbLTI0MjIwNTEyMDAsLTE2OTM3MDI4MDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTU2OTcwOGUzLC0xNTU1Nzk0ZTMsLTkzODkwMTYwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03ODAxODEyMDAsLTc0ODQ3NmUzLC03MzMyNjZlMywtNzE3NjMxMjAwLC03MDE5MDI4MDAsLTY4NDk3MmUzLC02NzA0NTMyMDAsMzIzODI3MjAwLDMzODk0NzIwMCwzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0OlszOTIxLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvVmlsbml1cyI6ewp0aW1lOlstMjg0MDE0MDgwMCwtMTY3MjUzMTIwMCwtMTU4NTA5NDQwMCwtMTU2MTI0OGUzLC0xNTUzNTU4NDAwLC05MjgxOTUyMDAsLTkwMDExNTIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtODAyMTM3NjAwLDM1NDkzMTIwMCwzNzA3NDI0MDAsMzg2NDY3MjAwLDQwMjI3ODQwMCw0MTgwMDMyMDAsNDMzODE0NDAwLDQ0OTYyNTYwMCw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTQwNDAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDEwNDg5OTMyMDAsMTA2NzE0MDgwMCwxMDgwNDQyODAwLDEwOTkxOTUyMDAsMTExMTg5MjQwMCwxMTMwNjQ0ODAwLDExNDMzNDJlMywxMTYyMDk0NDAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTE5NDgwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjE0ODQwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDU3NDU2MDAsMTQ1OTA0NzYwMCwxNDc3OGU1LDE0OTA0OTcyMDAsMTUwOTI0OTYwMCwxNTIxOTQ2ODAwLDE1NDA2OTkyMDAsMTU1NDAwMTIwMCwxNTcyMTQ4ODAwLDE1ODU0NTA4MDAsMTYwMzU5ODQwMCwxNjE2OTAwNDAwLDE2MzU2NTI4MDAsMTY0ODM1ZTQsMTY2NzEwMjQwMCwxNjc5Nzk5NjAwLDE2OTg1NTJlMywxNzExODU0ZTMsMTczMDAwMTYwMCwxNzQzMzAzNjAwLDE3NjE0NTEyMDAsMTc3NDc1MzIwMCwxNzkyOTAwODAwLDE4MDYyMDI4MDAsMTgyNDk1NTIwMCwxODM3NjUyNDAwLDE4NTY0MDQ4MDAsMTg2OTEwMmUzLDE4ODc4NTQ0MDAsMTkwMTE1NjQwMCwxOTE5MzA0ZTMsMTkzMjYwNmUzXSxvZmZzZXQ6WzYwNzYsNTA0MCw1NzM2LDM2MDAsNzIwMCwzNjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCw3MjAwLDM2MDAsNzIwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL1dhcnNhdyI6ewp0aW1lOlstMjg0MDE0MDgwMCwtMTcxNzAyNzIwMCwtMTY5MzcwMjgwMCwtMTY4MDQ3NjQwMCwtMTY2MzQ1MmUzLC0xNjUwMTQyODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC0xNjAwNDY2NDAwLC0xNTg3MTU3MjAwLC0xNTAxNzE4NDAwLC05MzE3MzA0MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5NjYwMDgwMCwtNzc4NzIzMjAwLC03NjI2NTI4MDAsLTc0ODQ4MzIwMCwtNzMzMjY2ZTMsLTcxNTIxMmUzLC03MDE5MDI4MDAsLTY4NDk3MmUzLC02NzA0NTMyMDAsLTY1NDEyNzIwMCwtNjM5MDAzNjAwLC0zOTcwOTA4MDAsLTM4NjgwNTYwMCwtMzcxMDg0NDAwLC0zNTUzNTZlMywtMzM0MTkxNjAwLC0zMjMzMDE2MDAsLTMwNzU4MDQwMCwtMjkxODUyZTMsLTI3MTI5MjQwMCwtMjYwNDAyNDAwLC0yMzk4NDI4MDAsLTIyODk1MjgwMCwtMjA4MzkzMjAwLC0xOTc1MDMyMDAsLTE3NjMzODgwMCwtMTY2MDUzNjAwLDIyODg3NzIwMCwyNDQwMDA4MDAsMjYwMzI2ODAwLDI3NjA1NTIwMCwyOTE3NzY0MDAsMzA3NTA0ODAwLDMyMzgzMDgwMCwzMzg5NTQ0MDAsMzU0Njc1NjAwLDM3MDQwNGUzLDM4NjEyNTIwMCw0MDE4NTM2MDAsNDE3NTc0ODAwLDQzMzMwMzIwMCw0NDkwMjQ0MDAsNDY1MzU3NjAwLDQ4MTA3ODgwMCw0OTY4MDcyMDAsNTEyNTI4NDAwLDUyODI1NjgwMCw1NDM5NzhlMyw1NTk3MDY0MDAsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0Ols1MDQwLDUwNDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsNzIwMCwxMDgwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9aYWdyZWIiOnsKdGltZTpbLTI3MTM5MTA0MDAsLTkwNTgyMTIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03NjY2MTY0MDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0OlszODMyLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9adXJpY2giOnt0aW1lOlstMzY3NTE5NjgwMCwtMjM4NTI0NDgwMCwtOTA0NDMxNjAwLC04OTExMjI0MDAsLTg3Mjk4MmUzLC04NTk2NzI4MDAsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLApvZmZzZXQ6WzIwNDgsMTc4NiwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJQYWNpZmljL0F1Y2tsYW5kIjp7dGltZTpbLTMxOTIzOTM2MDAsLTEzMzAyOTM2MDAsLTEzMjAwMTJlMywtMTMwMDY1ODQwMCwtMTI4NzM1MjgwMCwtMTI2OTIwODgwMCwtMTI1NTkwMzIwMCwtMTIzNzc1OTIwMCwtMTIyNDQ1MzYwMCwtMTIwNjMwOTYwMCwtMTE5MjM5OTIwMCwtMTE3NDg2ZTQsLTExNjA5NDk2MDAsLTExNDM0MTA0MDAsLTExMjU4NzEyMDAsLTExMTI1NjU2MDAsLTEwOTQ0MjE2MDAsLTEwODExMTZlMywtMTA2Mjk3MmUzLC0xMDQ5NjY2NDAwLC0xMDMxNTIyNDAwLC0xMDE4MjE2ODAwLC0xMDAwMDcyODAwLC05ODY3NjcyMDAsLTk2ODAxODQwMCwtOTU1MzE3NjAwLC05MzY1Njg4MDAsLTkyMzI2MzIwMCwtNzU3MzgyNDAwLDE1MjY3NmUzLDE2MjM1NjQwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NDMxOGUzLDQwNDg3NzYwMCw0MTU3Njc2MDAsNDM2MzI3MjAwLDQ0NzIxNzIwMCw0Njc3NzY4MDAsNDc4NjY2ODAwLDQ5OTIyNjQwMCw1MTAxMTY0MDAsNTMwNjc2ZTMsNTQxNTY2ZTMsNTYyMTI1NjAwLDU3MzYyMDQwMCw1OTQxOGU0LDYwNTA3ZTQsNjIzODE1MjAwLDYzNzcyOTIwMCw2NTUyNjQ4MDAsNjY5MTc4ODAwLDY4NjcxNDQwMCw3MDA2Mjg0MDAsNzE4MTY0ZTMsNzMyNjgyODAwLDc0OTYxMzYwMCw3NjQxMzI0MDAsNzgxMDYzMjAwLDc5NTU4MmUzLDgxMjUxMjgwMCw4MjcwMzE2MDAsODQ0NTY3MjAwLDg1ODQ4MTIwMCw4NzYwMTY4MDAsODg5OTMwODAwLDkwNzQ2NjQwMCw5MjE5ODUyMDAsOTM4OTE2ZTMsOTUzNDM0ODAwLDk3MDM2NTYwMCw5ODQ4ODQ0MDAsMTAwMjQyZTQsMTAxNjMzNGUzLDEwMzM4Njk2MDAsMTA0Nzc4MzYwMCwxMDY1MzE5MjAwLDEwNzk4MzhlMywxMDk2NzY4ODAwLDExMTEyODc2MDAsMTEyODIxODQwMCwxMTQyNzM3MjAwLDExNTk2NjhlMywxMTc0MTg2ODAwLDExOTExMTc2MDAsMTIwNzQ1MDgwMCwxMjIyNTY3MjAwLDEyMzg5MDA0MDAsMTI1NDAxNjgwMCwxMjcwMzVlNCwxMjg1NDY2NDAwLDEzMDE3OTk2MDAsMTMxNjkxNmUzLDEzMzMyNDkyMDAsMTM0ODk3MDQwMCwxMzY1MzAzNjAwLDEzODA0MmU0LDEzOTY3NTMyMDAsMTQxMTg2OTYwMCwxNDI4MjAyODAwLDE0NDMzMTkyMDAsMTQ1OTY1MjQwMCwxNDc0NzY4ODAwLDE0OTExMDJlMywxNTA2MjE4NDAwLDE1MjI1NTE2MDAsMTUzODI3MjgwMCwxNTU0NjA2ZTMsMTU2OTcyMjQwMCwxNTg2MDU1NjAwLDE2MDExNzJlMywxNjE3NTA1MjAwLDE2MzI2MjE2MDAsMTY0ODk1NDgwMCwxNjY0MDcxMjAwLDE2ODA0MDQ0MDAsMTY5NTUyMDgwMCwxNzEyNDU4ODAwLDE3Mjc1NzUyMDAsMTc0MzkwODQwMCwxNzU5MDI0ODAwLDE3NzUzNThlMywxNzkwNDc0NDAwLDE4MDY4MDc2MDAsMTgyMTkyNGUzLDE4MzgyNTcyMDAsMTg1MzM3MzYwMCwxODY5NzA2ODAwLDE4ODU0MjhlMywxOTAxNzYxMjAwLDE5MTY4Nzc2MDAsMTkzMzIxMDgwMF0sb2Zmc2V0Ols0MTk0NCw0MTQwMCw0NWUzLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwXX0sIlBhY2lmaWMvQ2hhdGhhbSI6ewp0aW1lOlstMzE5MjM5MzYwMCwtNzU3MzgyNDAwLDE1MjY3ODcwMCwxNjIzNTkxMDAsMTgzNTIzNTAwLDE5NTAxODMwMCwyMTU1Nzc5MDAsMjI2NDY3OTAwLDI0NzAyNzUwMCwyNTc5MTc1MDAsMjc4NDc3MTAwLDI4OTM2NzEwMCwzMDk5MjY3MDAsMzIwODE2NzAwLDM0MTM3NjMwMCwzNTIyNjYzMDAsMzcyODI1OTAwLDM4NDMyMDcwMCw0MDQ4ODAzMDAsNDE1NzcwMzAwLDQzNjMyOTkwMCw0NDcyMTk5MDAsNDY3Nzc5NTAwLDQ3ODY2OTUwMCw0OTkyMjkxMDAsNTEwMTE5MTAwLDUzMDY3ODcwMCw1NDE1Njg3MDAsNTYyMTI4MzAwLDU3MzYyMzEwMCw1OTQxODI3MDAsNjA1MDcyNzAwLDYyMzgxNzkwMCw2Mzc3MzE5MDAsNjU1MjY3NTAwLDY2OTE4MTUwMCw2ODY3MTcxMDAsNzAwNjMxMTAwLDcxODE2NjcwMCw3MzI2ODU1MDAsNzQ5NjE2MzAwLDc2NDEzNTEwMCw3ODEwNjU5MDAsNzk1NTg0NzAwLDgxMjUxNTUwMCw4MjcwMzQzMDAsODQ0NTY5OTAwLDg1ODQ4MzkwMCw4NzYwMTk1MDAsODg5OTMzNTAwLDkwNzQ2OTEwMCw5MjE5ODc5MDAsOTM4OTE4NzAwLDk1MzQzNzUwMCw5NzAzNjgzMDAsOTg0ODg3MTAwLDEwMDI0MjI3MDAsMTAxNjMzNjcwMCwxMDMzODcyMzAwLDEwNDc3ODYzMDAsMTA2NTMyMTkwMCwxMDc5ODQwNzAwLDEwOTY3NzE1MDAsMTExMTI5MDMwMCwxMTI4MjIxMTAwLDExNDI3Mzk5MDAsMTE1OTY3MDcwMCwxMTc0MTg5NTAwLDExOTExMjAzMDAsMTIwNzQ1MzUwMCwxMjIyNTY5OTAwLDEyMzg5MDMxMDAsMTI1NDAxOTUwMCwxMjcwMzUyNzAwLDEyODU0NjkxMDAsMTMwMTgwMjMwMCwxMzE2OTE4NzAwLDEzMzMyNTE5MDAsMTM0ODk3MzEwMCwxMzY1MzA2MzAwLDEzODA0MjI3MDAsMTM5Njc1NTkwMCwxNDExODcyMzAwLDE0MjgyMDU1MDAsMTQ0MzMyMTkwMCwxNDU5NjU1MTAwLDE0NzQ3NzE1MDAsMTQ5MTEwNDcwMCwxNTA2MjIxMTAwLDE1MjI1NTQzMDAsMTUzODI3NTUwMCwxNTU0NjA4NzAwLDE1Njk3MjUxMDAsMTU4NjA1ODMwMCwxNjAxMTc0NzAwLDE2MTc1MDc5MDAsMTYzMjYyNDMwMCwxNjQ4OTU3NTAwLDE2NjQwNzM5MDAsMTY4MDQwNzEwMCwxNjk1NTIzNTAwLDE3MTI0NjE1MDAsMTcyNzU3NzkwMCwxNzQzOTExMTAwLDE3NTkwMjc1MDAsMTc3NTM2MDcwMCwxNzkwNDc3MTAwLDE4MDY4MTAzMDAsMTgyMTkyNjcwMCwxODM4MjU5OTAwLDE4NTMzNzYzMDAsMTg2OTcwOTUwMCwxODg1NDMwNzAwLDE5MDE3NjM5MDAsMTkxNjg4MDMwMCwxOTMzMjEzNTAwXSxvZmZzZXQ6WzQ0MDI4LDQ0MTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwXX0sIlBhY2lmaWMvRmFrYW9mbyI6e3RpbWU6Wy0yMTc3NDUyODAwLDEzMjUyMDMyMDAsMTkyNTAzODgwMF0sb2Zmc2V0OlstNDEwOTYsLTM5NjAwLDQ2ODAwXX0sIlBhY2lmaWMvSG9ub2x1bHUiOnt0aW1lOlstMjMzNDEzOTIwMCwtMTE1NzMyMDgwMCwtMTE1NTQ3MDQwMCwtODgwMjM2ZTMsLTc2OTQyOTgwMCwtNzY1NDEwNDAwLC03MTIxODhlMywxOTI0OTU2ZTNdLG9mZnNldDpbLTM3ODg2LC0zNzgwMCwtMzQyMDAsLTM3ODAwLC0zNDIwMCwtMzQyMDAsLTM3ODAwLC0zNmUzXX0sIlBhY2lmaWMvTm9yZm9sayI6e3RpbWU6Wy0yMTc3NDUyODAwLC01OTk2MTZlMywxNTIwNzEyMDAsMTYyOTYxMjAwLDE0NDM5MjRlMywxNTcwMzI3MjAwLDE1ODYwNTU2MDAsMTYwMTc3NjgwMCwxNjE3NTA1MjAwLDE2MzMyMjY0MDAsMTY0ODk1NDgwMCwxNjY0Njc2ZTMsMTY4MDQwNDQwMCwxNjk2MTI1NjAwLDE3MTI0NTg4MDAsMTcyODE4ZTQsMTc0MzkwODQwMCwxNzU5NjI5NjAwLDE3NzUzNThlMywxNzkxMDc5MjAwLDE4MDY4MDc2MDAsMTgyMjUyODgwMCwxODM4MjU3MjAwLDE4NTM5Nzg0MDAsMTg2OTcwNjgwMCwxODg2MDMyODAwLDE5MDE3NjEyMDAsMTkxNzQ4MjQwMCwxOTMzMjEwODAwXSxvZmZzZXQ6WzQwMzEyLDQwMzIwLDQxNDAwLDQ1ZTMsNDE0MDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDBdfSwiVVMvTW91bnRhaW4iOnsKdGltZTpbLTI3MTc2Njg3OTYsLTE2MzMyOTg0MDAsLTE2MTUxNTQ0MDAsLTE2MDE4NDg4MDAsLTE1ODM3MDQ4MDAsLTE1NzAzOTkyMDAsLTE1NTE2NTA0MDAsLTE1Mzg5NDk2MDAsLTE1MzQxMTEyMDAsLTg4MDIzNmUzLC03Njk0MTcyMDAsLTc2NTQxMDQwMCwtMTQ3OTA5NjAwLC0xMzE1OGU0LC0xMTY0NmU0LC0xMDAxMzA0MDAsLTg0NDA1NjAwLC02ODY4MDgwMCwtNTI5NTZlMywtMzcyMzEyMDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sb2Zmc2V0OlstMjUxOTYsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDBdfX19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/15049.08e0888e7d45f371417a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.902Z","timestamp":1785120633902,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/15049.08e0888e7d45f371417a.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-7e05\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:32:38\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a0d8db0c42d7bc4285e23858c3f11196\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":32261,"size_decoded":11983,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3440)","md5":"db48995ff5f730ecb170f36e4e2cc18a","sha1":"044ce4f192cecbee308979fbae086c96bfb8db14","sha256":"c81b7b8904e0431a7b79c10f58c825619389b9b17ab64e096121d6f89e2dbe44","sha512":"b421809d047c58d7c47154fd7dd0c211a8727f97c41abc92cb643758b44cc1861e7dc1a4ebc141ba015e211d59dee2becc24789ebb814d22544421123442befa","ssdeep":"768:ffIIzV3q50QTARuL5BAPuQ8GYzHdnj2WyvbVLKdrPQg4xGCSHyezAYMfKngc/oze:nw7H1awIgJdAag7nwvsBKJ/n","tlshash":"a8e2f8c23285b8773bf350e618791542962e35627c0a48bcfa6d29cf3c1cd8a617fa75","first_seen":"2026-07-24T18:44:55.936981Z","last_seen":"2026-07-27T05:27:33.151992Z","times_seen":119,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxNTA0OV0sezg0NTU3NyhlKXtlLmV4cG9ydHM9eyJ0di1zcGlubmVyX19jb250YWluZXItcm90YXRlIjoidHYtc3Bpbm5lcl9fY29udGFpbmVyLXJvdGF0ZS1qNEpscllWSCIsInR2LXNwaW5uZXJfX2NvbnRhaW5lci1yb3RhdGUtcnRsIjoidHYtc3Bpbm5lcl9fY29udGFpbmVyLXJvdGF0ZS1ydGwtajRKbHJZVkgifX0sMzg0MDE3KGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse2ZldGNoOigpPT5zfSk7dmFyIG49cigyMjEwNjEpO3IoMzAwMjg2KTtjb25zdCBpPSgwLG4uZ2V0TG9nZ2VyKSgiRmV0Y2giKTtmdW5jdGlvbiBzKGUsdCxyPXt9KXt7Y29uc3R7bG9nT25FcnJvclN0YXR1czpuPSEwLGxvZ0JvZHlPbkVycm9yOnM9ITF9PXI7dD10fHx7fSxmdW5jdGlvbihlKXtyZXR1cm4gbmV3IFVSTChlLGRvY3VtZW50LmJhc2VVUkkpLm9yaWdpbj09PWxvY2F0aW9uLm9yaWdpbn0oZSkmJih0LmhlYWRlcnM/dC5oZWFkZXJzIGluc3RhbmNlb2YgSGVhZGVyc3x8KHQuaGVhZGVycz1uZXcgSGVhZGVycyh0LmhlYWRlcnMpKTp0LmhlYWRlcnM9bmV3IEhlYWRlcnMsd2luZG93LmxvY2FsZSYmdC5oZWFkZXJzLnNldCgiWC1MYW5ndWFnZSIsd2luZG93LmxvY2FsZSksdC5oZWFkZXJzLnNldCgiWC1SZXF1ZXN0ZWQtV2l0aCIsIlhNTEh0dHBSZXF1ZXN0IikpLHZvaWQgMD09PXQuY3JlZGVudGlhbHMmJih0LmNyZWRlbnRpYWxzPSJzYW1lLW9yaWdpbiIpO2NvbnN0IGE9d2luZG93LmZldGNoKGUsdCk7cmV0dXJuIGEudGhlbigocj0+e2lmKCFyLm9rJiZuKXtsZXQgbj0iIjt0Lm1ldGhvZCYmKG4rPWAke3QubWV0aG9kLnRvVXBwZXJDYXNlKCl9IGApLG4rPWUsbis9YC4gU3RhdHVzICR7ci5zdGF0dXN9YCxyLnN0YXR1c1RleHQmJihuKz1gLiAke3Iuc3RhdHVzVGV4dH1gKSxyLmhlYWRlcnMudmlhJiYobis9YC4gVmlhOiAke3IuaGVhZGVycy52aWF9YCkscyYmInN0cmluZyI9PXR5cGVvZiB0LmJvZHkmJihuKz1gLiBCb2R5OiAke3QuYm9keS5zbGljZSgwLDEwMjQpfWApLGkubG9nRXJyb3Iobil9cmV0dXJuIHJ9KSwocj0+e2lmKHImJiJBYm9ydEVycm9yIj09PXIubmFtZSlyZXR1cm47bGV0IG49IiI7dC5tZXRob2QmJihuKz1gJHt0Lm1ldGhvZC50b1VwcGVyQ2FzZSgpfSBgKSxuKz1lLG5hdmlnYXRvci5vbkxpbmU/bis9YC4gJHtTdHJpbmcocil9YDpuKz0iLiBVc2VyIGlzIG9mZmxpbmUuIixpLmxvZ0Vycm9yKG4pfSkpLGF9fX0sOTA5Nzk4KGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse2ZsdXNoRGVsZWdhdGU6KCk9Pm59KTtjb25zdCBuPW5ldyhyKDk0ODM4MCkuRGVsZWdhdGUpfSwyNDc5MDEoZSx0LHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbjtyLmQodCx7U3RkVGhlbWU6KCk9Pm59KSxmdW5jdGlvbihlKXtlLkxpZ2h0PSJsaWdodCIsZS5EYXJrPSJkYXJrIn0obnx8KG49e30pKX0sMTUyNjk5KGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse1RWWFdpbmRvd0V2ZW50czooKT0+YX0pO3ZhciBuPXIoMjIxMDYxKSxpPXIoOTMyMzY1KTtjb25zdCBzPSgwLG4uZ2V0TG9nZ2VyKSgiWFdpbmRvd0V2ZW50cyIpO3ZhciBhOyFmdW5jdGlvbihlKXtjb25zdCB0PSJ0dnh3ZXZlbnRzLiIscj17fTtsZXQgbjt3aW5kb3cuQnJvYWRjYXN0Q2hhbm5lbD8obj1uZXcgQnJvYWRjYXN0Q2hhbm5lbCgidHZ4d2V2ZW50cyIpLG4uYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsKGZ1bmN0aW9uKGUpe2NvbnN0e2RhdGE6e2V2ZW50OnQsdmFsdWU6bn19PWU7clt0XSYmclt0XS5mb3JFYWNoKChlPT57ZShuKX0pKX0pKSxmdW5jdGlvbigpe2NvbnN0IGU9W10scj1wZXJmb3JtYW5jZS5ub3coKTtmb3IobGV0IHI9MDtyPGkuVFZMb2NhbFN0b3JhZ2UubGVuZ3RoO3IrKyl7Y29uc3Qgbj1pLlRWTG9jYWxTdG9yYWdlLmtleShyKTtuLnN0YXJ0c1dpdGgodCkmJmUucHVzaChuKX1jb25zdCBuPWkuVFZMb2NhbFN0b3JhZ2UubGVuZ3RoO2Zvcihjb25zdCB0IG9mIGUpaS5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHQpO2NvbnN0IGE9cGVyZm9ybWFuY2Uubm93KCktcjtzLmxvZ05vcm1hbChgVG90YWwga2V5cyBhbW91bnQgaW4gbG9jYWwgc3RvcmFnZSBvbiBvcGVyYXRpb24gc3RhcnQ6ICR7bn1gKSxzLmxvZ05vcm1hbChgS2V5cyBhbW91bnQgaW4gbG9jYWwgc3RvcmFnZSB0byBiZSBkZWxldGVkOiAke2UubGVuZ3RofWApLHMubG9nTm9ybWFsKGBLZXlzIHRvIGJlIGRlbGV0ZWQgZnJvbSBsb2NhbCBzdG9yYWdlOiAke0pTT04uc3RyaW5naWZ5KGUpfWApLHMubG9nTm9ybWFsKGBSZW1vdmluZyBrZXlzIGZyb20gbG9jYWwgc3RvcmFnZSB0b29rICR7YX0gbXNgKX0oKSk6d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInN0b3JhZ2UiLChmdW5jdGlvbihlKXtjb25zdHtuZXdWYWx1ZTpuLGtleTpzfT1lO2lmKG51bGw9PT1ufHwhc3x8IXMuc3RhcnRzV2l0aCh0KSlyZXR1cm47Y29uc3QgYT1zLnN1YnN0cmluZygxMSk7clthXSYmclthXS5mb3JFYWNoKCh0PT57dChlLm5ld1ZhbHVlKX0pKTtpLlRWTG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0ocyl9KSksZS5vbj1mdW5jdGlvbihlLHQpe3JbZV18fChyW2VdPVtdKSxyW2VdLnB1c2godCl9LGUub2ZmPWZ1bmN0aW9uKGUsdCl7aWYoIXJbZV0pcmV0dXJuO2NvbnN0IG49cltlXS5pbmRleE9mKHQpOy0xIT09biYmKDE9PT1yW2VdLmxlbmd0aD9kZWxldGUgcltlXTpyW2VdLnNwbGljZShuLDEpKX0sZS5lbWl0PWZ1bmN0aW9uKGUscj1EYXRlLm5vdygpKXt0cnl7bj9uLnBvc3RNZXNzYWdlKHtldmVudDplLHZhbHVlOnJ9KTppLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0odCtlLHIudG9TdHJpbmcoKSl9Y2F0Y2goZSl7cy5sb2dFcnJvcihlLm1lc3NhZ2UpfX19KGF8fChhPXt9KSl9LDgzMDc4MyhlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHt0cnlQYXJzZU5hbWVkUmdiYTooKT0+aX0pCjtjb25zdCBuPW5ldyBNYXAoW1siYWxpY2VibHVlIiwiI2YwZjhmZiJdLFsiYW50aXF1ZXdoaXRlIiwiI2ZhZWJkNyJdLFsiYXF1YSIsIiMwMGZmZmYiXSxbImFxdWFtYXJpbmUiLCIjN2ZmZmQ0Il0sWyJhenVyZSIsIiNmMGZmZmYiXSxbImJlaWdlIiwiI2Y1ZjVkYyJdLFsiYmlzcXVlIiwiI2ZmZTRjNCJdLFsiYmxhY2siLCIjMDAwMDAwIl0sWyJibGFuY2hlZGFsbW9uZCIsIiNmZmViY2QiXSxbImJsdWUiLCIjMDAwMGZmIl0sWyJibHVldmlvbGV0IiwiIzhhMmJlMiJdLFsiYnJvd24iLCIjYTUyYTJhIl0sWyJidXJseXdvb2QiLCIjZGViODg3Il0sWyJjYWRldGJsdWUiLCIjNWY5ZWEwIl0sWyJjaGFydHJldXNlIiwiIzdmZmYwMCJdLFsiY2hvY29sYXRlIiwiI2QyNjkxZSJdLFsiY29yYWwiLCIjZmY3ZjUwIl0sWyJjb3JuZmxvd2VyYmx1ZSIsIiM2NDk1ZWQiXSxbImNvcm5zaWxrIiwiI2ZmZjhkYyJdLFsiY3JpbXNvbiIsIiNkYzE0M2MiXSxbImN5YW4iLCIjMDBmZmZmIl0sWyJkYXJrYmx1ZSIsIiMwMDAwOGIiXSxbImRhcmtjeWFuIiwiIzAwOGI4YiJdLFsiZGFya2dvbGRlbnJvZCIsIiNiODg2MGIiXSxbImRhcmtncmF5IiwiI2E5YTlhOSJdLFsiZGFya2dyZWVuIiwiIzAwNjQwMCJdLFsiZGFya2toYWtpIiwiI2JkYjc2YiJdLFsiZGFya21hZ2VudGEiLCIjOGIwMDhiIl0sWyJkYXJrb2xpdmVncmVlbiIsIiM1NTZiMmYiXSxbImRhcmtvcmFuZ2UiLCIjZmY4YzAwIl0sWyJkYXJrb3JjaGlkIiwiIzk5MzJjYyJdLFsiZGFya3JlZCIsIiM4YjAwMDAiXSxbImRhcmtzYWxtb24iLCIjZTk5NjdhIl0sWyJkYXJrc2VhZ3JlZW4iLCIjOGZiYzhmIl0sWyJkYXJrc2xhdGVibHVlIiwiIzQ4M2Q4YiJdLFsiZGFya3NsYXRlZ3JheSIsIiMyZjRmNGYiXSxbImRhcmt0dXJxdW9pc2UiLCIjMDBjZWQxIl0sWyJkYXJrdmlvbGV0IiwiIzk0MDBkMyJdLFsiZGVlcHBpbmsiLCIjZmYxNDkzIl0sWyJkZWVwc2t5Ymx1ZSIsIiMwMGJmZmYiXSxbImRpbWdyYXkiLCIjNjk2OTY5Il0sWyJkb2RnZXJibHVlIiwiIzFlOTBmZiJdLFsiZmVsZHNwYXIiLCIjZDE5Mjc1Il0sWyJmaXJlYnJpY2siLCIjYjIyMjIyIl0sWyJmbG9yYWx3aGl0ZSIsIiNmZmZhZjAiXSxbImZvcmVzdGdyZWVuIiwiIzIyOGIyMiJdLFsiZnVjaHNpYSIsIiNmZjAwZmYiXSxbImdhaW5zYm9ybyIsIiNkY2RjZGMiXSxbImdob3N0d2hpdGUiLCIjZjhmOGZmIl0sWyJnb2xkIiwiI2ZmZDcwMCJdLFsiZ29sZGVucm9kIiwiI2RhYTUyMCJdLFsiZ3JheSIsIiM4MDgwODAiXSxbImdyZWVuIiwiIzAwODAwMCJdLFsiZ3JlZW55ZWxsb3ciLCIjYWRmZjJmIl0sWyJob25leWRldyIsIiNmMGZmZjAiXSxbImhvdHBpbmsiLCIjZmY2OWI0Il0sWyJpbmRpYW5yZWQiLCIjY2Q1YzVjIl0sWyJpbmRpZ28iLCIjNGIwMDgyIl0sWyJpdm9yeSIsIiNmZmZmZjAiXSxbImtoYWtpIiwiI2YwZTY4YyJdLFsibGF2ZW5kZXIiLCIjZTZlNmZhIl0sWyJsYXZlbmRlcmJsdXNoIiwiI2ZmZjBmNSJdLFsibGF3bmdyZWVuIiwiIzdjZmMwMCJdLFsibGVtb25jaGlmZm9uIiwiI2ZmZmFjZCJdLFsibGlnaHRibHVlIiwiI2FkZDhlNiJdLFsibGlnaHRjb3JhbCIsIiNmMDgwODAiXSxbImxpZ2h0Y3lhbiIsIiNlMGZmZmYiXSxbImxpZ2h0Z29sZGVucm9keWVsbG93IiwiI2ZhZmFkMiJdLFsibGlnaHRncmVlbiIsIiM5MGVlOTAiXSxbImxpZ2h0Z3JleSIsIiNkM2QzZDMiXSxbImxpZ2h0cGluayIsIiNmZmI2YzEiXSxbImxpZ2h0c2FsbW9uIiwiI2ZmYTA3YSJdLFsibGlnaHRzZWFncmVlbiIsIiMyMGIyYWEiXSxbImxpZ2h0c2t5Ymx1ZSIsIiM4N2NlZmEiXSxbImxpZ2h0c2xhdGVibHVlIiwiIzg0NzBmZiJdLFsibGlnaHRzbGF0ZWdyYXkiLCIjNzc4ODk5Il0sWyJsaWdodHN0ZWVsYmx1ZSIsIiNiMGM0ZGUiXSxbImxpZ2h0eWVsbG93IiwiI2ZmZmZlMCJdLFsibGltZSIsIiMwMGZmMDAiXSxbImxpbWVncmVlbiIsIiMzMmNkMzIiXSxbImxpbmVuIiwiI2ZhZjBlNiJdLFsibWFnZW50YSIsIiNmZjAwZmYiXSxbIm1hcm9vbiIsIiM4MDAwMDAiXSxbIm1lZGl1bWFxdWFtYXJpbmUiLCIjNjZjZGFhIl0sWyJtZWRpdW1ibHVlIiwiIzAwMDBjZCJdLFsibWVkaXVtb3JjaGlkIiwiI2JhNTVkMyJdLFsibWVkaXVtcHVycGxlIiwiIzkzNzBkOCJdLFsibWVkaXVtc2VhZ3JlZW4iLCIjM2NiMzcxIl0sWyJtZWRpdW1zbGF0ZWJsdWUiLCIjN2I2OGVlIl0sWyJtZWRpdW1zcHJpbmdncmVlbiIsIiMwMGZhOWEiXSxbIm1lZGl1bXR1cnF1b2lzZSIsIiM0OGQxY2MiXSxbIm1lZGl1bXZpb2xldHJlZCIsIiNjNzE1ODUiXSxbIm1pZG5pZ2h0Ymx1ZSIsIiMxOTE5NzAiXSxbIm1pbnRjcmVhbSIsIiNmNWZmZmEiXSxbIm1pc3R5cm9zZSIsIiNmZmU0ZTEiXSxbIm1vY2Nhc2luIiwiI2ZmZTRiNSJdLFsibmF2YWpvd2hpdGUiLCIjZmZkZWFkIl0sWyJuYXZ5IiwiIzAwMDA4MCJdLFsib2xkbGFjZSIsIiNmZGY1ZTYiXSxbIm9saXZlIiwiIzgwODAwMCJdLFsib2xpdmVkcmFiIiwiIzZiOGUyMyJdLFsib3JhbmdlIiwiI2ZmYTUwMCJdLFsib3JhbmdlcmVkIiwiI2ZmNDUwMCJdLFsib3JjaGlkIiwiI2RhNzBkNiJdLFsicGFsZWdvbGRlbnJvZCIsIiNlZWU4YWEiXSxbInBhbGVncmVlbiIsIiM5OGZiOTgiXSxbInBhbGV0dXJxdW9pc2UiLCIjYWZlZWVlIl0sWyJwYWxldmlvbGV0cmVkIiwiI2Q4NzA5MyJdLFsicGFwYXlhd2hpcCIsIiNmZmVmZDUiXSxbInBlYWNocHVmZiIsIiNmZmRhYjkiXSxbInBlcnUiLCIjY2Q4NTNmIl0sWyJwaW5rIiwiI2ZmYzBjYiJdLFsicGx1bSIsIiNkZGEwZGQiXSxbInBvd2RlcmJsdWUiLCIjYjBlMGU2Il0sWyJwdXJwbGUiLCIjODAwMDgwIl0sWyJyZWQiLCIjZmYwMDAwIl0sWyJyb3N5YnJvd24iLCIjYmM4ZjhmIl0sWyJyb3lhbGJsdWUiLCIjNDE2OWUxIl0sWyJzYWRkbGVicm93biIsIiM4YjQ1MTMiXSxbInNhbG1vbiIsIiNmYTgwNzIiXSxbInNhbmR5YnJvd24iLCIjZjRhNDYwIl0sWyJzZWFncmVlbiIsIiMyZThiNTciXSxbInNlYXNoZWxsIiwiI2ZmZjVlZSJdLFsic2llbm5hIiwiI2EwNTIyZCJdLFsic2lsdmVyIiwiI2MwYzBjMCJdLFsic2t5Ymx1ZSIsIiM4N2NlZWIiXSxbInNsYXRlYmx1ZSIsIiM2YTVhY2QiXSxbInNsYXRlZ3JheSIsIiM3MDgwOTAiXSxbInNub3ciLCIjZmZmYWZhIl0sWyJzcHJpbmdncmVlbiIsIiMwMGZmN2YiXSxbInN0ZWVsYmx1ZSIsIiM0NjgyYjQiXSxbInRhbiIsIiNkMmI0OGMiXSxbInRlYWwiLCIjMDA4MDgwIl0sWyJ0aGlzdGxlIiwiI2Q4YmZkOCJdLFsidG9tYXRvIiwiI2ZmNjM0NyJdLFsidHVycXVvaXNlIiwiIzQwZTBkMCJdLFsidmlvbGV0IiwiI2VlODJlZSJdLFsidmlvbGV0cmVkIiwiI2QwMjA5MCJdLFsid2hlYXQiLCIjZjVkZWIzIl0sWyJ3aGl0ZSIsIiNmZmZmZmYiXSxbIndoaXRlc21va2UiLCIjZjVmNWY1Il0sWyJ5ZWxsb3ciLCIjZmZmZjAwIl0sWyJ5ZWxsb3dncmVlbiIsIiM5YWNkMzIiXV0pCjtmdW5jdGlvbiBpKGUpe2NvbnN0IHQ9bi5nZXQoZSk7aWYodm9pZCAwPT09dClyZXR1cm4gbnVsbDtyZXR1cm5bcGFyc2VJbnQodC5zbGljZSgxLDMpLDE2KSxwYXJzZUludCh0LnNsaWNlKDMsNSksMTYpLHBhcnNlSW50KHQuc2xpY2UoNSw3KSwxNiksMV19fSw2OTM1MDAoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7Z2V0VGltZUZyYW1lczooKT0+c30pO3ZhciBuPXIoNzgzMjU0KSxpPXIoMjE1NzMwKTtmdW5jdGlvbiBzKGUpe3JldHVybnsiMWQiOnt0ZXh0Om4udChudWxsLHZvaWQgMCxyKDkzODEwMCkpLHZhbHVlOnt2YWx1ZToiMUQiLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5bIjFEIl0/PygwLGkuc3RyaW5nQXNSZXNvbHV0aW9uKSgiMSIpLGRlc2NyaXB0aW9uOigwLGkuZGF5c1N0cmluZ0xpdGVyYWwpKDEpfSwiNWQiOnt0ZXh0Om4udChudWxsLHZvaWQgMCxyKDgyODU1KSksdmFsdWU6e3ZhbHVlOiI1RCIsdHlwZToicGVyaW9kLWJhY2sifSx0YXJnZXRSZXNvbHV0aW9uOmU/LlsiNUQiXT8/KDAsaS5zdHJpbmdBc1Jlc29sdXRpb24pKCI1IiksZGVzY3JpcHRpb246KDAsaS5kYXlzU3RyaW5nTGl0ZXJhbCkoNSl9LCIxdyI6e3RleHQ6bi50KG51bGwsdm9pZCAwLHIoNDkyMTM1KSksdmFsdWU6e3ZhbHVlOiI3RCIsdHlwZToicGVyaW9kLWJhY2sifSx0YXJnZXRSZXNvbHV0aW9uOmU/LlsiNVciXT8/KDAsaS5zdHJpbmdBc1Jlc29sdXRpb24pKCIxNSIpLGRlc2NyaXB0aW9uOigwLGkud2Vla3NTdHJpbmdMaXRlcmFsKSgxKX0sIjFtIjp7dGV4dDpuLnQobnVsbCx2b2lkIDAscig4MzI3MzMpKSx2YWx1ZTp7dmFsdWU6IjFNIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyIxTSJdPz8oMCxpLnN0cmluZ0FzUmVzb2x1dGlvbikoIjMwIiksZGVzY3JpcHRpb246KDAsaS5tb250aHNTdHJpbmdMaXRlcmFsKSgxKX0sIjNtIjp7dGV4dDpuLnQobnVsbCx2b2lkIDAscig4MTkwNzgpKSx2YWx1ZTp7dmFsdWU6IjNNIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyIzTSJdPz8oMCxpLnN0cmluZ0FzUmVzb2x1dGlvbikoIjYwIiksZGVzY3JpcHRpb246KDAsaS5tb250aHNTdHJpbmdMaXRlcmFsKSgzKX0sIjZtIjp7dGV4dDpuLnQobnVsbCx2b2lkIDAscig2ODA3NikpLHZhbHVlOnt2YWx1ZToiNk0iLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5bIjZNIl0/PygwLGkuc3RyaW5nQXNSZXNvbHV0aW9uKSgiMTIwIiksZGVzY3JpcHRpb246KDAsaS5tb250aHNTdHJpbmdMaXRlcmFsKSg2KX0sIjEybSI6e3RleHQ6bi50KG51bGwsdm9pZCAwLHIoNzcwMzAzKSksdmFsdWU6e3ZhbHVlOiIxMk0iLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5bIjEyTSJdPz8oMCxpLnN0cmluZ0FzUmVzb2x1dGlvbikoIjFEIiksZGVzY3JpcHRpb246KDAsaS55ZWFyc1N0cmluZ0xpdGVyYWwpKDEpfSwiMjRtIjp7dGV4dDpuLnQobnVsbCx2b2lkIDAscig5MzQ3NzcpKSx2YWx1ZTp7dmFsdWU6IjI0TSIsdHlwZToicGVyaW9kLWJhY2sifSx0YXJnZXRSZXNvbHV0aW9uOmU/LlsiMjRNIl0/PygwLGkuc3RyaW5nQXNSZXNvbHV0aW9uKSgiMVciKSxkZXNjcmlwdGlvbjooMCxpLnllYXJzU3RyaW5nTGl0ZXJhbCkoMil9LCIzNm0iOnt0ZXh0Om4udChudWxsLHZvaWQgMCxyKDI3MjA5OCkpLHZhbHVlOnt2YWx1ZToiMzZNIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyIzNk0iXT8/KDAsaS5zdHJpbmdBc1Jlc29sdXRpb24pKCIxVyIpLGRlc2NyaXB0aW9uOigwLGkueWVhcnNTdHJpbmdMaXRlcmFsKSgzKX0sIjYwbSI6e3RleHQ6bi50KG51bGwsdm9pZCAwLHIoNDQ2NTYwKSksdmFsdWU6e3ZhbHVlOiI2ME0iLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5bIjYwTSJdPz8oMCxpLnN0cmluZ0FzUmVzb2x1dGlvbikoIjFXIiksZGVzY3JpcHRpb246KDAsaS55ZWFyc1N0cmluZ0xpdGVyYWwpKDUpfSwiMTIwbSI6e3RleHQ6bi50KG51bGwsdm9pZCAwLHIoOTk1MDY2KSksdmFsdWU6e3ZhbHVlOiIxMjBNIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyIxMjBNIl0/PygwLGkuc3RyaW5nQXNSZXNvbHV0aW9uKSgiMU0iKSxkZXNjcmlwdGlvbjooMCxpLnllYXJzU3RyaW5nTGl0ZXJhbCkoMTApfSx5dGQ6e3RleHQ6bi50KG51bGwsdm9pZCAwLHIoNDIyMzY5KSksdmFsdWU6e3ZhbHVlOiJZVEQiLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5ZVEQ/PygwLGkuc3RyaW5nQXNSZXNvbHV0aW9uKSgiMUQiKSxkZXNjcmlwdGlvbjpuLnQobnVsbCx2b2lkIDAscig0ODU0MjApKX0sYWxsOnt0ZXh0Om4udChudWxsLHZvaWQgMCxyKDIzMzY5MCkpLHZhbHVlOnt2YWx1ZToiQUxMIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uQUxMPz8oMCxpLnN0cmluZ0FzUmVzb2x1dGlvbikoIjFNIil9LGxhc3RzZXNzaW9uOnt0ZXh0Om4udChudWxsLHZvaWQgMCxyKDkzODEwMCkpLHZhbHVlOnt2YWx1ZToiTEFTVFNFU1NJT04iLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5MQVNUU0VTU0lPTj8/KDAsaS5zdHJpbmdBc1Jlc29sdXRpb24pKCIxIiksZGVzY3JpcHRpb246KDAsaS5kYXlzU3RyaW5nTGl0ZXJhbCkoMSl9fX19LDIxNTczMChlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtkYXlzU3RyaW5nTGl0ZXJhbDooKT0+aSxtb250aHNTdHJpbmdMaXRlcmFsOigpPT5hLHN0cmluZ0FzUmVzb2x1dGlvbjooKT0+bCx3ZWVrc1N0cmluZ0xpdGVyYWw6KCk9PnMseWVhcnNTdHJpbmdMaXRlcmFsOigpPT5vfSk7dmFyIG49cig3ODMyNTQpO2NvbnN0IGk9ZT0+bi50KG51bGwse3BsdXJhbDoie3N0cn0gZGF5cyIsY291bnQ6ZSxyZXBsYWNlOntzdHI6YCR7ZX1gfX0scigxMDMwMzApKSxzPWU9Pm4udChudWxsLHtwbHVyYWw6IntzdHJ9IHdlZWtzIixjb3VudDplLHJlcGxhY2U6e3N0cjpgJHtlfWB9fSxyKDY0NDYyNSkpLGE9ZT0+bi50KG51bGwsewpwbHVyYWw6IntzdHJ9IG1vbnRocyIsY291bnQ6ZSxyZXBsYWNlOntzdHI6YCR7ZX1gfX0scig2OTQ2MTcpKSxvPWU9Pm4udChudWxsLHtwbHVyYWw6IntzdHJ9IHllYXJzIixjb3VudDplLHJlcGxhY2U6e3N0cjpgJHtlfWB9fSxyKDIxNjQwMikpLGw9ZT0+ZX0sNDI5NTQ5KGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse2dldEFjdHVhbFRpbWVGcmFtZTooKT0+aX0pO3ZhciBuPXIoNjkzNTAwKTtmdW5jdGlvbiBpKGUpe2NvbnN0IHQ9bmV3IFNldChPYmplY3QudmFsdWVzKCgwLG4uZ2V0VGltZUZyYW1lcykoKSkubWFwKChlPT5lLnZhbHVlLnZhbHVlKSkpO2lmKHQuaGFzKGUpKXJldHVybiBlO2NvbnN0IHI9ZS50b1VwcGVyQ2FzZSgpO3JldHVybiB0LmhhcyhyKT9yOiIxMk0ifX0sNTA1NTYoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7Y29sb3JzUGFsZXR0ZTooKT0+YyxnZXRIZXhDb2xvckJ5TmFtZTooKT0+aH0pO3ZhciBuPXIoMzE3NjYzKSxpPXIoODY3NTIyKSxzPXIoMTM4NjM4KTtjb25zdCBhPXsuLi5uLC4uLml9LG89e30sbD1PYmplY3Qua2V5cyhhKS5sZW5ndGgsdT0vXiMoKFthLWYwLTldezJ9KXsyLDR9fFthLWYwLTldezN9KSQvaTtmdW5jdGlvbiBkKGUsdD1bXSxyPWEpe2NvbnN0IG49cltlXTtpZighbilyZXR1cm4gbnVsbDtpZih1LnRlc3QobikpcmV0dXJuIG47Y29uc3QgaT1uO3JldHVybiB0LnB1c2goZSksLTEhPT10LmluZGV4T2YoaSk/KGNvbnNvbGUud2FybigiQ29sb3JzIGRlZmluaXRpb25zIGN5Y2xlZCIpLG4pOnQubGVuZ3RoPmw/KGNvbnNvbGUud2FybigiVG9vIG1hbnkgdmFyaWFibGVzLWxpbmsgaW4gSEVYLWNvbG9yIHNlYXJjaDogIit0WzBdKSxudWxsKTpkKGksdCxyKX1PYmplY3Qua2V5cyhhKS5mb3JFYWNoKChlPT57Y29uc3QgdD1kKGUpO29bZV09KDAscy5lbnN1cmVOb3ROdWxsKSh0KX0pKTtjb25zdCBjPW87ZnVuY3Rpb24gaChlLHQ9Yyl7Y29uc3Qgcj10W2VdO2lmKCFyKXtpZih1LnRlc3QoZSkpcmV0dXJuIGU7dGhyb3cgbmV3IEVycm9yKCJObyBzdWNoIGNvbG9yICIrZSl9cmV0dXJuIHJ9fSw1Njc0NzkoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7REVGQVVMVF9TSVpFOigpPT5uLHNwaW5uZXJTaXplTWFwOigpPT5pfSk7Y29uc3Qgbj0ibGFyZ2UiLGk9e21pbmk6InhzbWFsbCIseHhzbWFsbDoieHhzbWFsbCIseHNtYWxsOiJ4c21hbGwiLHNtYWxsOiJzbWFsbCIsbWVkaXVtOiJtZWRpdW0iLGxhcmdlOiJsYXJnZSJ9fSwxOTg5MDEoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGUsdCxyLG49MCxpPWUubGVuZ3RoKXtyZXR1cm4gZnVuY3Rpb24oZSx0LHIsbixpKXtsZXQgcz1pLW47Zm9yKDswPHM7KXtjb25zdCBpPXM+PjEsYT1uK2k7cihlKGEpLHQpPyhuPWErMSxzLT1pKzEpOnM9aX1yZXR1cm4gbn0oKHQ9PmVbdF0pLHQscixuLGkpfWZ1bmN0aW9uIGkoZSx0LHIsbj0wLGk9ZS5sZW5ndGgpe2xldCBzPWktbjtmb3IoOzA8czspe2NvbnN0IGk9cz4+MSxhPW4raTtyKHQsZVthXSk/cz1pOihuPWErMSxzLT1pKzEpfXJldHVybiBufXIuZCh0LHtsb3dlcmJvdW5kOigpPT5uLHVwcGVyYm91bmQ6KCk9Pml9KX0sNTQwNTc4KGUsdCxyKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlKXtyZXR1cm4gZS5yZXBsYWNlKC9bLS9cXF4kKis/LigpfFtcXXt9XS9nLCJcXCQmIil9ci5kKHQse3JlZ0V4cEVzY2FwZTooKT0+bn0pfSw0OTExNjUoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7ZGF0ZUZvcm1hdEZ1bmN0aW9uczooKT0+eSxnZXREYXRlRm9ybWF0V2l0aFdlZWtkYXk6KCk9PmJ9KTt2YXIgbj1yKDc4MzI1NCksaT1yKDgyMjQzMSkscz1yKDg1NjMyNCk7Y29uc3QgYT17MTooKT0+bi50KG51bGwsdm9pZCAwLHIoNjU3Mzc0KSksMjooKT0+bi50KG51bGwsdm9pZCAwLHIoNjE3MzQxKSksMzooKT0+bi50KG51bGwsdm9pZCAwLHIoMTAzMzA1KSksNDooKT0+bi50KG51bGwsdm9pZCAwLHIoNTI2Nzg1KSksNTooKT0+bi50KG51bGwse2NvbnRleHQ6InNob3J0In0scig3MzQ3NTApKSw2OigpPT5uLnQobnVsbCx2b2lkIDAscig4Nzc0NSkpLDc6KCk9Pm4udChudWxsLHZvaWQgMCxyKDE4Mzk1OSkpLDg6KCk9Pm4udChudWxsLHZvaWQgMCxyKDkzNzYyKSksOTooKT0+bi50KG51bGwsdm9pZCAwLHIoMTc4NDY5KSksMTA6KCk9Pm4udChudWxsLHZvaWQgMCxyKDcyODMzNykpLDExOigpPT5uLnQobnVsbCx2b2lkIDAscig2NDY1NDUpKSwxMjooKT0+bi50KG51bGwsdm9pZCAwLHIoNzY5MDM2KSl9LG89ezE6KCk9Pm4udChudWxsLHZvaWQgMCxyKDg5NzY3KSksMjooKT0+bi50KG51bGwsdm9pZCAwLHIoOTQ4OTIzKSksMzooKT0+bi50KG51bGwsdm9pZCAwLHIoMzY3OTM1KSksNDooKT0+bi50KG51bGwsdm9pZCAwLHIoMTc1NTA3KSl9LGw9KGUsdCk9Pih0P2UuZ2V0TW9udGgoKTplLmdldFVUQ01vbnRoKCkpKzEsdT0oZSx0KT0+dD9lLmdldERhdGUoKTplLmdldFVUQ0RhdGUoKSxkPShlLHQpPT50P2UuZ2V0RnVsbFllYXIoKTplLmdldFVUQ0Z1bGxZZWFyKCksYz0oZSx0KT0+ZS50b0xvY2FsZURhdGVTdHJpbmcoKDAscy5nZXRMYW5ndWFnZSkoKT8oMCxzLm1hcExhbmd1YWdlQ29kZSkoKDAscy5nZXRMYW5ndWFnZSkoKSk6dm9pZCAwLHt3ZWVrZGF5OiJzaG9ydCIsdGltZVpvbmU6ImxvY2FsIj09PXQ/dm9pZCAwOnR9KSxoPShlLHQpPT5vWygoZSx0KT0+TWF0aC5mbG9vcigobChlLHQpLTEpLzMpKzEpKGUsdCldKCksZj0oZSx0KT0+KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykodShlLHQpLDIpLG09KGUsdCk9PmFbbChlLHQpXSgpLGc9KGUsdCk9PigwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGwoZSx0KSwyKSxfPShlLHQpPT4oMCxpLm51bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvKShkKGUsdCklMTAwLDIpLHA9KGUsdCk9PigwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGQoZSx0KSw0KSx5PXsicXEgJ3l5IjooZSx0KT0+YCR7aChlLHQpfSAnJHtfKGUsdCl9YCwicXEgeXl5eSI6KGUsdCk9PmAke2goZSx0KX0gJHtwKGUsdCl9YCwKImRkIE1NTSAneXkiOihlLHQpPT5gJHtmKGUsdCl9ICR7bShlLHQpfSAnJHtfKGUsdCl9YCwiTU1NICd5eSI6KGUsdCk9PmAke20oZSx0KX0gJyR7XyhlLHQpfWAsIk1NTSBkZCwgeXl5eSI6KGUsdCk9PmAke20oZSx0KX0gJHtmKGUsdCl9LCAke3AoZSx0KX1gLCJNTU0gZCwgeXl5eSI6KGUsdCk9PmAke20oZSx0KX0gJHsoKGUsdCk9PigwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKHUoZSx0KSwwKSkoZSx0KX0sICR7cChlLHQpfWAsIk1NTSB5eXl5IjooZSx0KT0+YCR7bShlLHQpfSAke3AoZSx0KX1gLCJNTU0gZGQiOihlLHQpPT5gJHttKGUsdCl9ICR7ZihlLHQpfWAsImRkIE1NTSI6KGUsdCk9PmAke2YoZSx0KX0gJHttKGUsdCl9YCwieXl5eS1NTS1kZCI6KGUsdCk9PmAke3AoZSx0KX0tJHtnKGUsdCl9LSR7ZihlLHQpfWAsInl5LU1NLWRkIjooZSx0KT0+YCR7XyhlLHQpfS0ke2coZSx0KX0tJHtmKGUsdCl9YCwieXkvTU0vZGQiOihlLHQpPT5gJHtfKGUsdCl9LyR7ZyhlLHQpfS8ke2YoZSx0KX1gLCJ5eXl5L01NL2RkIjooZSx0KT0+YCR7cChlLHQpfS8ke2coZSx0KX0vJHtmKGUsdCl9YCwiZGQtTU0teXl5eSI6KGUsdCk9PmAke2YoZSx0KX0tJHtnKGUsdCl9LSR7cChlLHQpfWAsImRkLU1NLXl5IjooZSx0KT0+YCR7ZihlLHQpfS0ke2coZSx0KX0tJHtfKGUsdCl9YCwiZGQvTU0veXkiOihlLHQpPT5gJHtmKGUsdCl9LyR7ZyhlLHQpfS8ke18oZSx0KX1gLCJkZC9NTS95eXl5IjooZSx0KT0+YCR7ZihlLHQpfS8ke2coZSx0KX0vJHtwKGUsdCl9YCwiTU0vZGQveXkiOihlLHQpPT5gJHtnKGUsdCl9LyR7ZihlLHQpfS8ke18oZSx0KX1gLCJNTS9kZC95eXl5IjooZSx0KT0+YCR7ZyhlLHQpfS8ke2YoZSx0KX0vJHtwKGUsdCl9YH07ZnVuY3Rpb24gYihlLHQpe3JldHVybiJqYSI9PT0oMCxzLmdldExhbmd1YWdlKSgpPyhyLG4pPT5gJHt5W2VdKHIsbil9ICgke2Mocix0KX0pYDoocixuKT0+YCR7YyhyLHQpfSAke3lbZV0ocixuKX1gfU9iamVjdC5rZXlzKHkpfSw4NTYzMjQoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7Z2V0TGFuZ3VhZ2U6KCk9PnMsbWFwTGFuZ3VhZ2VDb2RlOigpPT5sLHJlZ2lzdGVyTGFuZ3VhZ2VDb2RlTWFwcGVyOigpPT5vLHJlZ2lzdGVyTGFuZ3VhZ2VHZXR0ZXI6KCk9Pml9KTtsZXQgbj1udWxsO2Z1bmN0aW9uIGkoZSl7bj1lfWZ1bmN0aW9uIHMoKXtpZighbil0aHJvdyBuZXcgRXJyb3IoIkxhbmd1YWdlIGdldHRlciBub3QgcmVnaXN0ZXJlZC4gQ2FsbCByZWdpc3Rlckxhbmd1YWdlR2V0dGVyKCkgZmlyc3QuIik7cmV0dXJuIG4oKX1sZXQgYT1lPT5lO2Z1bmN0aW9uIG8oZSl7YT1lfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIGEoZSl9fSw4NTI5ODAoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGUsdCxyLG4saSl7Y29uc3R7cGF5QXR0ZW50aW9uVG9UaWNrZXJOb3RTeW1ib2w6cyx1c2VUaWNrZXJPblN5bWJvbEluZm9VcGRhdGU6YSxjaGFydGluZ0xpYnJhcnlTaW5nbGVTeW1ib2xSZXF1ZXN0Om8sdXBwZXJjYXNlSW5zdHJ1bWVudE5hbWVzOmx9PWU7bGV0IHU9dCYmKG4mJnQucHJvX25hbWV8fHQuZnVsbF9uYW1lfHx0Lm5hbWUpO3JldHVybiBvJiZyP3U9cjooYXx8IWkmJnMpJiZ0JiZ0LnRpY2tlciYmKHU9dC50aWNrZXIpLGwmJnUmJih1PXUudG9VcHBlckNhc2UoKSksdX1yLmQodCx7ZXh0cmFjdFN5bWJvbE5hbWVGcm9tU3ltYm9sSW5mbzooKT0+bn0pfSw4NTcxNTEoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7UGxvdExpc3Q6KCk9Pmh9KTt2YXIgbj1yKDEzODYzOCksaT1yKDIyMTA2MSkscz1yKDE5ODkwMSksYT1yKDgxNDU4OSksbz1yKDkzNjMyNik7Y29uc3QgbD0oMCxpLmdldExvZ2dlcikoIkNoYXJ0LlBsb3RMaXN0IiksdT0zMDtmdW5jdGlvbiBkKGUpe3JldHVybiBlLmluZGV4fWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGUudmFsdWVbMF19Y2xhc3MgaHtjb25zdHJ1Y3RvcihlPW51bGwsdD1udWxsKXt0aGlzLl9pdGVtcz1bXSx0aGlzLl9zdGFydD0wLHRoaXMuX2VuZD0wLHRoaXMuX3NoYXJlUmVhZD0hMSx0aGlzLl9taW5NYXhDYWNoZT1uZXcgTWFwLHRoaXMuX3Jvd1NlYXJjaENhY2hlQnlJbmRleD1uZXcgTWFwLHRoaXMuX3Jvd1NlYXJjaENhY2hlQnlJbmRleFdpdGhvdXRFbXB0eVZhbHVlcz1uZXcgTWFwLHRoaXMuX3Jvd1NlYXJjaENhY2hlQnlUaW1lPW5ldyBNYXAsdGhpcy5fcm93U2VhcmNoQ2FjaGVCeVRpbWVXaXRob3V0RW1wdHlWYWx1ZXM9bmV3IE1hcCx0aGlzLl9wbG90RnVuY3Rpb25zPWV8fG5ldyBNYXAsdGhpcy5fZW1wdHlWYWx1ZVByZWRpY2F0ZT10fWNsZWFyKCl7dGhpcy5faXRlbXM9W10sdGhpcy5fc3RhcnQ9MCx0aGlzLl9lbmQ9MCx0aGlzLl9zaGFyZVJlYWQ9ITEsdGhpcy5fbWluTWF4Q2FjaGUuY2xlYXIoKSx0aGlzLl9pbnZhbGlkYXRlU2VhcmNoQ2FjaGVzKCl9Zmlyc3QoKXtyZXR1cm4gdGhpcy5zaXplKCk+MD90aGlzLl9pdGVtc1t0aGlzLl9zdGFydF06bnVsbH1sYXN0KCl7cmV0dXJuIHRoaXMuc2l6ZSgpPjA/dGhpcy5faXRlbXNbdGhpcy5fZW5kLTFdOm51bGx9Zmlyc3RJbmRleCgpe3JldHVybiB0aGlzLnNpemUoKT4wP3RoaXMuX2luZGV4QXQodGhpcy5fc3RhcnQpOm51bGx9Zmlyc3RQbG90dGFibGVJbmRleCgpe2lmKHRoaXMuaXNFbXB0eSgpKXJldHVybiBudWxsO2ZvcihsZXQgZT10aGlzLl9zdGFydDtlPHRoaXMuX2VuZDsrK2Upe2NvbnN0IHQ9dGhpcy5faW5kZXhBdChlKTtpZih0PmEuVU5QTE9UVEFCTEVfVElNRV9QT0lOVF9JTkRFWClyZXR1cm4gdH1yZXR1cm4gbnVsbH1sYXN0SW5kZXgoKXtyZXR1cm4gdGhpcy5zaXplKCk+MD90aGlzLl9pbmRleEF0KHRoaXMuX2VuZC0xKTpudWxsfWNsb25lKCl7Y29uc3QgZT10aGlzLmZpcnN0SW5kZXgoKSx0PXRoaXMubGFzdEluZGV4KCk7cmV0dXJuIG51bGw9PT1lfHxudWxsPT09dD9uZXcgaDp0aGlzLnJhbmdlKGUsdCl9c2l6ZSgpe3JldHVybiB0aGlzLl9lbmQtdGhpcy5fc3RhcnR9aXNFbXB0eSgpe3JldHVybiAwPT09dGhpcy5zaXplKCl9Y29udGFpbnMoZSl7CnJldHVybiBudWxsIT09dGhpcy5zZWFyY2goZSxvLlBsb3RSb3dTZWFyY2hNb2RlLkV4YWN0KX12YWx1ZUF0KGUpe2NvbnN0IHQ9dGhpcy5zZWFyY2goZSk7cmV0dXJuIG51bGwhPT10P3QudmFsdWU6bnVsbH1hZGQoZSx0KXtpZih0aGlzLl9zaGFyZVJlYWQpcmV0dXJuIGwubG9nRGVidWcoImFkZDogcmVhZG9ubHkgY29sbGVjdGlvbiBtb2RpZmljYXRpb24gYXR0ZW1wdCIpLCExO2NvbnN0IHI9e2luZGV4OmUsdmFsdWU6dH0sbj10aGlzLl9ub25DYWNoZWRTZWFyY2goZSxvLlBsb3RSb3dTZWFyY2hNb2RlLkV4YWN0LGQpO3JldHVybiB0aGlzLl9pbnZhbGlkYXRlU2VhcmNoQ2FjaGVzKCksbnVsbD09PW4/KHRoaXMuX2l0ZW1zLnNwbGljZSh0aGlzLl9sb3dlcmJvdW5kKGUsZCksMCxyKSx0aGlzLl9zdGFydD0wLHRoaXMuX2VuZD10aGlzLl9pdGVtcy5sZW5ndGgsITApOih0aGlzLl9pdGVtc1tuXT1yLCExKX1zZWFyY2goZSx0PW8uUGxvdFJvd1NlYXJjaE1vZGUuRXhhY3Qscil7cmV0dXJuIHRoaXMuX3NlYXJjaEltcGwoZSx0LHRoaXMuX3Jvd1NlYXJjaENhY2hlQnlJbmRleCx0aGlzLl9yb3dTZWFyY2hDYWNoZUJ5SW5kZXhXaXRob3V0RW1wdHlWYWx1ZXMsZCxyKX1zZWFyY2hCeVRpbWUoZSx0PW8uUGxvdFJvd1NlYXJjaE1vZGUuRXhhY3Qscil7cmV0dXJuIHRoaXMuX3NlYXJjaEltcGwoZSx0LHRoaXMuX3Jvd1NlYXJjaENhY2hlQnlUaW1lLHRoaXMuX3Jvd1NlYXJjaENhY2hlQnlUaW1lV2l0aG91dEVtcHR5VmFsdWVzLGMscil9Zm9sZChlLHQpe2xldCByPXQ7Zm9yKGxldCB0PXRoaXMuX3N0YXJ0O3Q8dGhpcy5fZW5kOysrdCl7cj1lKHRoaXMuX2luZGV4QXQodCksdGhpcy5fdmFsdWVBdCh0KSxyKX1yZXR1cm4gcn1maW5kRmlyc3QoZSx0KXtjb25zdCByPXZvaWQgMCE9PXQmJk1hdGgubWluKHRoaXMuX3N0YXJ0K3QsdGhpcy5fZW5kKXx8dGhpcy5fZW5kO2ZvcihsZXQgdD10aGlzLl9zdGFydDt0PHI7Kyt0KXtjb25zdCByPXRoaXMuX2luZGV4QXQodCksbj10aGlzLl92YWx1ZUF0KHQpO2lmKGUocixuKSlyZXR1cm57aW5kZXg6cix2YWx1ZTpufX1yZXR1cm4gbnVsbH1maW5kTGFzdChlLHQpe2NvbnN0IHI9dm9pZCAwIT09dCYmTWF0aC5tYXgodGhpcy5fZW5kLXQsdGhpcy5fc3RhcnQpfHx0aGlzLl9zdGFydDtmb3IobGV0IHQ9dGhpcy5fZW5kLTE7dD49cjstLXQpe2NvbnN0IHI9dGhpcy5faW5kZXhBdCh0KSxuPXRoaXMuX3ZhbHVlQXQodCk7aWYoZShyLG4pKXJldHVybntpbmRleDpyLHZhbHVlOm59fXJldHVybiBudWxsfWVhY2goZSl7Zm9yKGxldCB0PXRoaXMuX3N0YXJ0O3Q8dGhpcy5fZW5kOysrdCl7aWYoZSh0aGlzLl9pbmRleEF0KHQpLHRoaXMuX3ZhbHVlQXQodCkpKWJyZWFrfX1yZWR1Y2UoZSx0KXtsZXQgcj10O2ZvcihsZXQgdD10aGlzLl9zdGFydDt0PHRoaXMuX2VuZDsrK3Qpe3I9ZShyLHRoaXMuX2luZGV4QXQodCksdGhpcy5fdmFsdWVBdCh0KSl9cmV0dXJuIHJ9cmFuZ2UoZSx0KXtjb25zdCByPW5ldyBoKHRoaXMuX3Bsb3RGdW5jdGlvbnMsdGhpcy5fZW1wdHlWYWx1ZVByZWRpY2F0ZSk7cmV0dXJuIHIuX2l0ZW1zPXRoaXMuX2l0ZW1zLHIuX3N0YXJ0PXRoaXMuX2xvd2VyYm91bmQoZSxkKSxyLl9lbmQ9dGhpcy5fdXBwZXJib3VuZCh0KSxyLl9zaGFyZVJlYWQ9ITAscn1wbG90dGFibGVSYW5nZShlKXtjb25zdCB0PW5ldyBoKHRoaXMuX3Bsb3RGdW5jdGlvbnMsdGhpcy5fZW1wdHlWYWx1ZVByZWRpY2F0ZSk7cmV0dXJuIHQuX2l0ZW1zPXRoaXMuX2l0ZW1zLHQuX3N0YXJ0PXRoaXMuX3VwcGVyYm91bmQoYS5VTlBMT1RUQUJMRV9USU1FX1BPSU5UX0lOREVYKSx0Ll9lbmQ9dGhpcy5fZW5kLHQuX3NoYXJlUmVhZD0hMCwhMD09PWUmJnQuX3N0YXJ0PnRoaXMuX3N0YXJ0JiYodC5fc3RhcnQtPTEpLHR9cmFuZ2VDb3VudGJhY2soZSx0KXtpZihudWxsPT09dGhpcy5maXJzdEluZGV4KCkpcmV0dXJuIG5ldyBoO2NvbnN0IHI9bmV3IGgodGhpcy5fcGxvdEZ1bmN0aW9ucyx0aGlzLl9lbXB0eVZhbHVlUHJlZGljYXRlKTtyZXR1cm4gci5faXRlbXM9dGhpcy5faXRlbXMsci5fZW5kPXRoaXMuX3VwcGVyYm91bmQoZSksci5fc3RhcnQ9TWF0aC5tYXgodGhpcy5fc3RhcnQsci5fZW5kLXQpLHIuX3NoYXJlUmVhZD0hMCxyfXJhbmdlSXRlcmF0b3IoZSx0KXtjb25zdCByPXRoaXMuX2xvd2VyYm91bmQoZSxkKSxuPXRoaXMuX3VwcGVyYm91bmQodCk7cmV0dXJuIHRoaXMuX3JhbmdlSXRlcmF0b3JJbXBsKHIsbil9ZnVsbFJhbmdlSXRlcmF0b3IoKXtyZXR1cm4gdGhpcy5fcmFuZ2VJdGVyYXRvckltcGwodGhpcy5fc3RhcnQsdGhpcy5fZW5kKX1taW5NYXhPblJhbmdlQ2FjaGVkKGUsdCxyKXtpZih0aGlzLmlzRW1wdHkoKSlyZXR1cm4gbnVsbDtsZXQgbj1udWxsO2Zvcihjb25zdCBpIG9mIHIpe249ZihuLHRoaXMuX21pbk1heE9uUmFuZ2VDYWNoZWRJbXBsKGUtaS5vZmZzZXQsdC1pLm9mZnNldCxpLm5hbWUpKX1yZXR1cm4gbn1taW5NYXhPblJhbmdlKGUsdCxyKXtpZih0aGlzLmlzRW1wdHkoKSlyZXR1cm4gbnVsbDtsZXQgbj1udWxsO2Zvcihjb25zdCBpIG9mIHIpe249ZihuLHRoaXMuX21pbk1heE9uUmFuZ2UoZS1pLm9mZnNldCx0LWkub2Zmc2V0LGkubmFtZSkpfXJldHVybiBufW1lcmdlKGUpe3JldHVybiB0aGlzLl9zaGFyZVJlYWQ/KGwubG9nRGVidWcoIm1lcmdlOiByZWFkb25seSBjb2xsZWN0aW9uIG1vZGlmaWNhdGlvbiBhdHRlbXB0IiksbnVsbCk6MD09PWUubGVuZ3RoP251bGw6dGhpcy5pc0VtcHR5KCl8fGVbZS5sZW5ndGgtMV0uaW5kZXg8dGhpcy5faXRlbXNbMF0uaW5kZXg/dGhpcy5fcHJlcGVuZChlKTplWzBdLmluZGV4PnRoaXMuX2l0ZW1zW3RoaXMuX2l0ZW1zLmxlbmd0aC0xXS5pbmRleD90aGlzLl9hcHBlbmQoZSk6MT09PWUubGVuZ3RoJiZlWzBdLmluZGV4PT09dGhpcy5faXRlbXNbdGhpcy5faXRlbXMubGVuZ3RoLTFdLmluZGV4Pyh0aGlzLl91cGRhdGVMYXN0KGVbMF0pLGVbMF0pOnRoaXMuX21lcmdlKGUpfWFkZFRhaWwoZSx0PSExKXtpZigwPT09ZS5sZW5ndGgpcmV0dXJuO2xldCByPTA7dCYmdGhpcy5fZW5kLXRoaXMuX3N0YXJ0PjAmJihyPTEsCnRoaXMuX2l0ZW1zW3RoaXMuX2VuZC10aGlzLl9zdGFydC0xXS52YWx1ZT1lWzBdLnZhbHVlKTtmb3IobGV0IHQ9cjt0PGUubGVuZ3RoOysrdCl7Y29uc3Qgcj1lW3RdLG49dGhpcy5sYXN0SW5kZXgoKTtpZihudWxsPT09bil7bC5sb2dFcnJvcigiQ2FuJ3QgYWRkIHRhaWwgdG8gdGhlIGVtcHR5IHBsb3RsaXN0Iik7YnJlYWt9dGhpcy5hZGQobisxLHIudmFsdWUpfXRoaXMuX2ludmFsaWRhdGVTZWFyY2hDYWNoZXMoKX1tb3ZlKGUpe2lmKHRoaXMuX3NoYXJlUmVhZClyZXR1cm4gdm9pZCBsLmxvZ0RlYnVnKCJtb3ZlOiByZWFkb25seSBjb2xsZWN0aW9uIG1vZGlmaWNhdGlvbiBhdHRlbXB0Iik7aWYoMD09PWUubGVuZ3RoKXJldHVybjtjb25zdCB0PXRoaXMuX2l0ZW1zLnNsaWNlKCk7Zm9yKGNvbnN0IHIgb2YgZSl7Y29uc3QgZT10aGlzLl9ic2VhcmNoKHIub2xkLGQpO2lmKG51bGwhPT1lJiZ2b2lkIDAhPT10W2VdKWlmKHIubmV3PT09YS5JTlZBTElEX1RJTUVfUE9JTlRfSU5ERVgpdFtlXT12b2lkIDA7ZWxzZXt0W2VdPXtpbmRleDpyLm5ldyx2YWx1ZTp0W2VdLnZhbHVlfTtjb25zdCBuPXRoaXMuX2JzZWFyY2goci5uZXcsZCk7aWYobnVsbCE9PW4pe2NvbnN0IGU9dFtuXTt2b2lkIDAhPT1lJiZlLmluZGV4PT09ci5uZXcmJih0W25dPXZvaWQgMCl9fX10aGlzLl9pdGVtcz10LmZpbHRlcigoZT0+dm9pZCAwIT09ZSkpLnNvcnQoKChlLHQpPT5lLmluZGV4LXQuaW5kZXgpKSx0aGlzLl9pbnZhbGlkYXRlU2VhcmNoQ2FjaGVzKCksdGhpcy5fbWluTWF4Q2FjaGUuY2xlYXIoKSx0aGlzLl9zdGFydD0wLHRoaXMuX2VuZD10aGlzLl9pdGVtcy5sZW5ndGh9cmVtb3ZlKGUpe2lmKHRoaXMuX3NoYXJlUmVhZClyZXR1cm4gbC5sb2dEZWJ1ZygicmVtb3ZlOiByZWFkb25seSBjb2xsZWN0aW9uIG1vZGlmaWNhdGlvbiBhdHRlbXB0IiksbnVsbDtjb25zdCB0PXRoaXMuX25vbkNhY2hlZFNlYXJjaChlLG8uUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdFJpZ2h0LGQpO2lmKG51bGw9PT10KXJldHVybiBudWxsO2NvbnN0IHI9dGhpcy5faXRlbXMuc3BsaWNlKHQpO3JldHVybiB0aGlzLl9lbmQ9dGhpcy5faXRlbXMubGVuZ3RoLHRoaXMuX21pbk1heENhY2hlLmNsZWFyKCksdGhpcy5faW52YWxpZGF0ZVNlYXJjaENhY2hlcygpLHIubGVuZ3RoPjA/clswXTpudWxsfXN0YXRlKCl7Y29uc3QgZT10aGlzLl9pdGVtcy5zbGljZSh0aGlzLl9zdGFydCx0aGlzLl9lbmQpO3JldHVybntzdGFydDowLGVuZDplLmxlbmd0aCxkYXRhOmV9fXJlc3RvcmVTdGF0ZShlKXtlPyh0aGlzLl9zdGFydD1lLnN0YXJ0LHRoaXMuX2VuZD1lLmVuZCx0aGlzLl9zaGFyZVJlYWQ9ITEsdGhpcy5faXRlbXM9ZS5kYXRhLHRoaXMuX21pbk1heENhY2hlLmNsZWFyKCksdGhpcy5faW52YWxpZGF0ZVNlYXJjaENhY2hlcygpKTp0aGlzLmNsZWFyKCl9X2luZGV4QXQoZSl7cmV0dXJuIHRoaXMuX2l0ZW1zW2VdLmluZGV4fV92YWx1ZUF0KGUpe3JldHVybiB0aGlzLl9pdGVtc1tlXS52YWx1ZX1fbGVuZ3RoKCl7cmV0dXJuIHRoaXMuX2l0ZW1zLmxlbmd0aH1fc2VhcmNoSW1wbChlLHQscixuLGkscyl7Y29uc3QgYT12b2lkIDAhPT1zP3I6bixvPXZvaWQgMCE9PXM/MWU0Kih0KzEpK3M6dDtsZXQgbD1hLmdldChlKTtpZih2b2lkIDAhPT1sKXtjb25zdCBlPWwuZ2V0KG8pO2lmKHZvaWQgMCE9PWUpcmV0dXJuIGV9Y29uc3QgdT10aGlzLl9ub25DYWNoZWRTZWFyY2goZSx0LGkscyk7aWYobnVsbD09PXUpcmV0dXJuIG51bGw7Y29uc3QgZD17aW5kZXg6dGhpcy5faW5kZXhBdCh1KSx2YWx1ZTp0aGlzLl92YWx1ZUF0KHUpfTtyZXR1cm4gdm9pZCAwPT09bCYmKGw9bmV3IE1hcCxhLnNldChlLGwpKSxsLnNldChvLGQpLGR9X25vbkNhY2hlZFNlYXJjaChlLHQscixuKXtjb25zdCBpPXRoaXMuX2xvd2VyYm91bmQoZSxyKSxzPWk9PT10aGlzLl9lbmR8fGUhPT1yKHRoaXMuX2l0ZW1zW2ldKTtpZihzJiZ0IT09by5QbG90Um93U2VhcmNoTW9kZS5FeGFjdClzd2l0Y2godCl7Y2FzZSBvLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RMZWZ0OnJldHVybiB0aGlzLl9zZWFyY2hOZWFyZXN0TGVmdChpLG4pO2Nhc2Ugby5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0UmlnaHQ6cmV0dXJuIHRoaXMuX3NlYXJjaE5lYXJlc3RSaWdodChpLG4pO2RlZmF1bHQ6dGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biBzZWFyY2ggbW9kZSIpfWlmKHZvaWQgMD09PW58fHN8fHQ9PT1vLlBsb3RSb3dTZWFyY2hNb2RlLkV4YWN0KXJldHVybiBzP251bGw6aTtzd2l0Y2godCl7Y2FzZSBvLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RMZWZ0OnJldHVybiB0aGlzLl9ub25FbXB0eU5lYXJlc3RMZWZ0KGksbik7Y2FzZSBvLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RSaWdodDpyZXR1cm4gdGhpcy5fbm9uRW1wdHlOZWFyZXN0UmlnaHQoaSxuKTtkZWZhdWx0OnRocm93IG5ldyBUeXBlRXJyb3IoIlVua25vd24gc2VhcmNoIG1vZGUiKX19X25vbkVtcHR5TmVhcmVzdFJpZ2h0KGUsdCl7Y29uc3Qgcj0oMCxuLmVuc3VyZSkodGhpcy5fZW1wdHlWYWx1ZVByZWRpY2F0ZSksaT0oMCxuLmVuc3VyZSkodCk7Zm9yKDtlPHRoaXMuX2VuZCYmcih0aGlzLl92YWx1ZUF0KGUpLGkpOyllKz0xO3JldHVybiBlPT09dGhpcy5fZW5kP251bGw6ZX1fbm9uRW1wdHlOZWFyZXN0TGVmdChlLHQpe2NvbnN0IHI9KDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9lbXB0eVZhbHVlUHJlZGljYXRlKSxpPSgwLG4uZW5zdXJlKSh0KTtmb3IoO2U+PXRoaXMuX3N0YXJ0JiZyKHRoaXMuX3ZhbHVlQXQoZSksaSk7KWUtPTE7cmV0dXJuIGU8dGhpcy5fc3RhcnQ/bnVsbDplfV9zZWFyY2hOZWFyZXN0TGVmdChlLHQpe2lmKGU9PT10aGlzLl9zdGFydClyZXR1cm4gbnVsbDtjb25zdCByPWUtMSxuPXIhPT10aGlzLl9lbmQ/cjpudWxsO3JldHVybiB2b2lkIDAhPT10JiZudWxsIT09bj90aGlzLl9ub25FbXB0eU5lYXJlc3RMZWZ0KG4sdCk6bn1fc2VhcmNoTmVhcmVzdFJpZ2h0KGUsdCl7Y29uc3Qgcj1lLG49ciE9PXRoaXMuX2VuZD9yOm51bGwKO3JldHVybiB2b2lkIDAhPT10JiZudWxsIT09bj90aGlzLl9ub25FbXB0eU5lYXJlc3RSaWdodChuLHQpOm59X2JzZWFyY2goZSx0KXtjb25zdCByPXRoaXMuX2xvd2VyYm91bmQoZSx0KTtyZXR1cm4gciE9PXRoaXMuX2VuZCYmZT09PXQodGhpcy5faXRlbXNbcl0pP3I6bnVsbH1fbG93ZXJib3VuZChlLHQpe3JldHVybigwLHMubG93ZXJib3VuZCkodGhpcy5faXRlbXMsZSwoKGUscik9PnQoZSk8ciksdGhpcy5fc3RhcnQsdGhpcy5fZW5kKX1fdXBwZXJib3VuZChlKXtyZXR1cm4oMCxzLnVwcGVyYm91bmQpKHRoaXMuX2l0ZW1zLGUsKChlLHQpPT50LmluZGV4PmUpLHRoaXMuX3N0YXJ0LHRoaXMuX2VuZCl9X3Bsb3RNaW5NYXgoZSx0LHIpe2xldCBuPW51bGw7Y29uc3QgaT10aGlzLl9wbG90RnVuY3Rpb25zLmdldChyKTtpZih2b2lkIDA9PT1pKXRocm93IG5ldyBFcnJvcihgUGxvdCAiJHtyfSIgaXMgbm90IHJlZ2lzdGVyZWRgKTtmb3IobGV0IHI9ZTtyPHQ7cisrKXtjb25zdCBlPWkodGhpcy5faXRlbXNbcl0udmFsdWUpO251bGw9PWV8fE51bWJlci5pc05hTihlKXx8KG51bGw9PT1uP249e21pbjplLG1heDplfTooZTxuLm1pbiYmKG4ubWluPWUpLGU+bi5tYXgmJihuLm1heD1lKSkpfXJldHVybiBufV9pbnZhbGlkYXRlQ2FjaGVGb3JSb3coZSl7Y29uc3QgdD1NYXRoLmZsb29yKGUuaW5kZXgvdSk7dGhpcy5fbWluTWF4Q2FjaGUuZm9yRWFjaCgoZT0+ZS5kZWxldGUodCkpKX1fcHJlcGVuZChlKXtyZXR1cm4oMCxuLmFzc2VydCkoIXRoaXMuX3NoYXJlUmVhZCwiY29sbGVjdGlvbiBzaG91bGQgbm90IGJlIHJlYWRvbmx5IiksKDAsbi5hc3NlcnQpKDAhPT1lLmxlbmd0aCwicGxvdFJvd3Mgc2hvdWxkIG5vdCBiZSBlbXB0eSIpLHRoaXMuX2ludmFsaWRhdGVTZWFyY2hDYWNoZXMoKSx0aGlzLl9taW5NYXhDYWNoZS5jbGVhcigpLHRoaXMuX2l0ZW1zPWUuY29uY2F0KHRoaXMuX2l0ZW1zKSx0aGlzLl9zdGFydD0wLHRoaXMuX2VuZD10aGlzLl9pdGVtcy5sZW5ndGgsZVswXX1fYXBwZW5kKGUpe3JldHVybigwLG4uYXNzZXJ0KSghdGhpcy5fc2hhcmVSZWFkLCJjb2xsZWN0aW9uIHNob3VsZCBub3QgYmUgcmVhZG9ubHkiKSwoMCxuLmFzc2VydCkoMCE9PWUubGVuZ3RoLCJwbG90Um93cyBzaG91bGQgbm90IGJlIGVtcHR5IiksdGhpcy5faW52YWxpZGF0ZVNlYXJjaENhY2hlcygpLHRoaXMuX21pbk1heENhY2hlLmNsZWFyKCksdGhpcy5faXRlbXM9dGhpcy5faXRlbXMuY29uY2F0KGUpLHRoaXMuX3N0YXJ0PTAsdGhpcy5fZW5kPXRoaXMuX2l0ZW1zLmxlbmd0aCxlWzBdfV91cGRhdGVMYXN0KGUpeygwLG4uYXNzZXJ0KSghdGhpcy5pc0VtcHR5KCksInBsb3QgbGlzdCBzaG91bGQgbm90IGJlIGVtcHR5Iik7Y29uc3QgdD10aGlzLl9pdGVtc1t0aGlzLl9lbmQtMV07KDAsbi5hc3NlcnQpKHQuaW5kZXg9PT1lLmluZGV4LCJsYXN0IHJvdyBpbmRleCBzaG91bGQgbWF0Y2ggbmV3IHJvdyBpbmRleCIpLHRoaXMuX2ludmFsaWRhdGVDYWNoZUZvclJvdyhlKSx0aGlzLl9pbnZhbGlkYXRlU2VhcmNoQ2FjaGVzKCksdGhpcy5faXRlbXNbdGhpcy5fZW5kLTFdPWV9X21lcmdlKGUpe3JldHVybigwLG4uYXNzZXJ0KSgwIT09ZS5sZW5ndGgsInBsb3Qgcm93cyBzaG91bGQgbm90IGJlIGVtcHR5IiksdGhpcy5faW52YWxpZGF0ZVNlYXJjaENhY2hlcygpLHRoaXMuX21pbk1heENhY2hlLmNsZWFyKCksdGhpcy5faXRlbXM9ZnVuY3Rpb24oZSx0KXtjb25zdCByPWZ1bmN0aW9uKGUsdCl7Y29uc3Qgcj1lLmxlbmd0aCxuPXQubGVuZ3RoO2xldCBpPXIrbixzPTAsYT0wO2Zvcig7czxyJiZhPG47KWVbc10uaW5kZXg8dFthXS5pbmRleD9zKys6ZVtzXS5pbmRleD50W2FdLmluZGV4P2ErKzoocysrLGErKyxpLS0pO3JldHVybiBpfShlLHQpLG49bmV3IEFycmF5KHIpO2xldCBpPTAscz0wO2NvbnN0IGE9ZS5sZW5ndGgsbz10Lmxlbmd0aDtsZXQgbD0wO2Zvcig7aTxhJiZzPG87KWVbaV0uaW5kZXg8dFtzXS5pbmRleD8obltsXT1lW2ldLGkrKyk6ZVtpXS5pbmRleD50W3NdLmluZGV4PyhuW2xdPXRbc10scysrKToobltsXT10W3NdLGkrKyxzKyspLGwrKztmb3IoO2k8YTspbltsXT1lW2ldLGkrKyxsKys7Zm9yKDtzPG87KW5bbF09dFtzXSxzKyssbCsrO3JldHVybiBufSh0aGlzLl9pdGVtcyxlKSx0aGlzLl9zdGFydD0wLHRoaXMuX2VuZD10aGlzLl9pdGVtcy5sZW5ndGgsZVswXX1fbWluTWF4T25SYW5nZUNhY2hlZEltcGwoZSx0LHIpe2lmKHRoaXMuaXNFbXB0eSgpKXJldHVybiBudWxsO2xldCBpPW51bGw7Y29uc3Qgcz0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuZmlyc3RJbmRleCgpKSxhPSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5sYXN0SW5kZXgoKSksbz1NYXRoLm1heChlLHMpLGw9TWF0aC5taW4odCxhKSxkPU1hdGguY2VpbChvL3UpKnUsYz1NYXRoLm1heChkLE1hdGguZmxvb3IobC91KSp1KTtpPWYoaSx0aGlzLl9taW5NYXhPblJhbmdlKG8sTWF0aC5taW4oZCx0LGwpLHIpKTtsZXQgaD10aGlzLl9taW5NYXhDYWNoZS5nZXQocik7dm9pZCAwPT09aCYmKGg9bmV3IE1hcCx0aGlzLl9taW5NYXhDYWNoZS5zZXQocixoKSk7Zm9yKGxldCBlPU1hdGgubWF4KGQrMSxvKTtlPGM7ZSs9dSl7Y29uc3QgdD1NYXRoLmZsb29yKGUvdSk7bGV0IG49aC5nZXQodCk7aWYodm9pZCAwPT09bil7Y29uc3QgZT10KnUsaT0odCsxKSp1LTE7bj10aGlzLl9taW5NYXhPblJhbmdlKGUsaSxyKSxoLnNldCh0LG4pfWk9ZihpLG4pfWk9ZihpLHRoaXMuX21pbk1heE9uUmFuZ2UoYyxsLHIpKTtyZXR1cm4gaX1fbWluTWF4T25SYW5nZShlLHQscil7cmV0dXJuIHRoaXMuX3Bsb3RNaW5NYXgodGhpcy5fbG93ZXJib3VuZChlLGQpLHRoaXMuX3VwcGVyYm91bmQodCkscil9X3JhbmdlSXRlcmF0b3JJbXBsKGUsdCl7bGV0IHI9ZS0xO3JldHVybntbU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiB0aGlzfSxuZXh0OigpPT4ocis9MSxyPj10P3tkb25lOiEwLHZhbHVlOnZvaWQgMH06e2RvbmU6ITEsdmFsdWU6dGhpcy5faXRlbXNbcl19KX19X2ludmFsaWRhdGVTZWFyY2hDYWNoZXMoKXsKdGhpcy5fcm93U2VhcmNoQ2FjaGVCeUluZGV4LmNsZWFyKCksdGhpcy5fcm93U2VhcmNoQ2FjaGVCeUluZGV4V2l0aG91dEVtcHR5VmFsdWVzLmNsZWFyKCksdGhpcy5fcm93U2VhcmNoQ2FjaGVCeVRpbWUuY2xlYXIoKSx0aGlzLl9yb3dTZWFyY2hDYWNoZUJ5VGltZVdpdGhvdXRFbXB0eVZhbHVlcy5jbGVhcigpfX1mdW5jdGlvbiBmKGUsdCl7aWYobnVsbD09PWUpcmV0dXJuIHQ7aWYobnVsbD09PXQpcmV0dXJuIGU7cmV0dXJue21pbjpNYXRoLm1pbihlLm1pbix0Lm1pbiksbWF4Ok1hdGgubWF4KGUubWF4LHQubWF4KX19fSw2MTkxNjUoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7U2VyaWVzRGF0YTooKT0+Zn0pO3ZhciBuLGkscz1yKDEzODYzOCksYT1yKDg1NzE1MSksbz1yKDQ3NTQ3OCk7IWZ1bmN0aW9uKGUpe2VbZS5Gcm9tTGVmdD0tMV09IkZyb21MZWZ0IixlW2UuRnJvbVJpZ2h0PTFdPSJGcm9tUmlnaHQifShufHwobj17fSkpLGZ1bmN0aW9uKGUpe2VbZS5UaW1lPTBdPSJUaW1lIixlW2UuT3Blbj0xXT0iT3BlbiIsZVtlLkhpZ2g9Ml09IkhpZ2giLGVbZS5Mb3c9M109IkxvdyIsZVtlLkNsb3NlPTRdPSJDbG9zZSIsZVtlLlZvbHVtZT01XT0iVm9sdW1lIixlW2UuQWR0PTZdPSJBZHQifShpfHwoaT17fSkpO2NvbnN0IGw9WyJvcGVuIiwiaGlnaCIsImxvdyIsImNsb3NlIiwiaGwyIiwiaGxjMyIsIm9obGM0Il07dmFyIHU7IWZ1bmN0aW9uKGUpe2VbZS5GaXJzdFByaWNlPTBdPSJGaXJzdFByaWNlIixlW2UuTGFzdFByaWNlPTFdPSJMYXN0UHJpY2UiLGVbZS5MYXN0VmFsdWVQcmljZT0yXT0iTGFzdFZhbHVlUHJpY2UifSh1fHwodT17fSkpO2NvbnN0IGQ9e29wZW46ZT0+ZVsxXSxoaWdoOmU9PmVbMl0sbG93OmU9PmVbM10sY2xvc2U6ZT0+ZVs0XSxobDI6ZT0+KGVbMl0rZVszXSkvMixobGMzOmU9PihlWzJdK2VbM10rZVs0XSkvMyxvaGxjNDplPT4oZVsxXStlWzJdK2VbM10rZVs0XSkvNH07ZnVuY3Rpb24gYygpe2NvbnN0IGU9bmV3IE1hcDtyZXR1cm4gbC5mb3JFYWNoKCgodCxyKT0+e2Uuc2V0KHQsZnVuY3Rpb24oZSx0LHIpe2NvbnN0IG49ZFt0Pz9lXSxpPWRbZV0scz1kW3I/P2VdO3JldHVybihlLHQpPT57c3dpdGNoKHQpe2Nhc2UgMDpyZXR1cm4gbihlKTtjYXNlIDI6cmV0dXJuIHMoZSk7ZGVmYXVsdDpyZXR1cm4gaShlKX19fSh0KSl9KSksZX1mdW5jdGlvbiBoKGUsdCl7cmV0dXJuIG51bGw9PWVbdF19Y2xhc3MgZntjb25zdHJ1Y3Rvcigpe3RoaXMubV9iYXJzPW5ldyBhLlBsb3RMaXN0KGMoKSxoKSx0aGlzLm1fbnNCYXJzPW5ldyBhLlBsb3RMaXN0KGMoKSxoKSx0aGlzLl9jb25mbGF0ZWRDaHVua3NCdWlsZGVyPW5ldyBvLkNvbmZsYXRlZENodW5rc0J1aWxkZXIodGhpcy5tX2JhcnMsKGU9PmRbZV0pKX1iYXJzKCl7cmV0dXJuIHRoaXMubV9iYXJzfW5zQmFycygpe3JldHVybiB0aGlzLm1fbnNCYXJzfWNvbmZsYXRlZENodW5rcyhlLHQpe3JldHVybiB0aGlzLl9jb25mbGF0ZWRDaHVua3NCdWlsZGVyLmNvbmZsYXRlZENodW5rcyhlLHQpfW1lcmdlUmVndWxhckJhcnMoZSl7cmV0dXJuIHRoaXMuX2NvbmZsYXRlZENodW5rc0J1aWxkZXIubWVyZ2VEYXRhKGUpfXNpemUoKXtyZXR1cm4gdGhpcy5tX2JhcnMuc2l6ZSgpK3RoaXMubV9uc0JhcnMuc2l6ZSgpfWVhY2goZSl7dGhpcy5tX2JhcnMuZWFjaChlKSx0aGlzLm1fbnNCYXJzLmVhY2goZSl9Y2xlYXIoKXt0aGlzLm1fbnNCYXJzLmNsZWFyKCksdGhpcy5sYXN0UHJvamVjdGlvblByaWNlPXZvaWQgMCx0aGlzLl9jb25mbGF0ZWRDaHVua3NCdWlsZGVyLmNsZWFyRGF0YSgpfWNsb25lKCl7Y29uc3QgZT1uZXcgZjtyZXR1cm4gZS5sYXN0UHJvamVjdGlvblByaWNlPXRoaXMubGFzdFByb2plY3Rpb25QcmljZSxlLmJveFNpemU9dGhpcy5ib3hTaXplLGUucmV2ZXJzYWxBbW91bnQ9dGhpcy5yZXZlcnNhbEFtb3VudCxlLm1fYmFycz10aGlzLm1fYmFycy5jbG9uZSgpLGUubV9uc0JhcnM9dGhpcy5tX2JhcnMuY2xvbmUoKSxlfWlzRW1wdHkoKXtyZXR1cm4gdGhpcy5tX2JhcnMuaXNFbXB0eSgpJiZ0aGlzLm1fbnNCYXJzLmlzRW1wdHkoKX1maXJzdCgpe3JldHVybiB0aGlzLm1fYmFycy5pc0VtcHR5KCk/dGhpcy5tX25zQmFycy5maXJzdCgpOnRoaXMubV9iYXJzLmZpcnN0KCl9bGFzdCgpe3JldHVybiB0aGlzLm1fbnNCYXJzLmlzRW1wdHkoKT90aGlzLm1fYmFycy5sYXN0KCk6dGhpcy5tX25zQmFycy5sYXN0KCl9c2VhcmNoKGUsdCxyKXtyZXR1cm4gdGhpcy5uc0JhcnMoKS5pc0VtcHR5KCk/dGhpcy5iYXJzKCkuc2VhcmNoKGUsdCxyKTp0aGlzLmJhcnMoKS5pc0VtcHR5KCl8fCgwLHMuZW5zdXJlTm90TnVsbCkodGhpcy5uc0JhcnMoKS5maXJzdEluZGV4KCkpPD1lP3RoaXMubnNCYXJzKCkuc2VhcmNoKGUsdCxyKTp0aGlzLmJhcnMoKS5zZWFyY2goZSx0LHIpfXZhbHVlQXQoZSl7Y29uc3QgdD10aGlzLnNlYXJjaChlKTtyZXR1cm4gbnVsbCE9PXQ/dC52YWx1ZTpudWxsfXBsb3RWYWx1ZVRvVGltZVBvaW50SW5kZXgoZSx0LHIpe2lmKHI9PT1uLkZyb21SaWdodCl7Y29uc3Qgcj0ocixuKT0+e2NvbnN0IGk9blt0XTtyZXR1cm4gbnVsbCE9aSYmZT49aX0sbj10aGlzLm1fYmFycy5maW5kTGFzdChyKTtpZihudWxsIT09bilyZXR1cm4gbi5pbmRleDtjb25zdCBpPXRoaXMubV9uc0JhcnMuZmluZExhc3Qocik7cmV0dXJuIG51bGwhPT1pP2kuaW5kZXg6dGhpcy5tX2JhcnMuZmlyc3RJbmRleCgpfWlmKHI9PT1uLkZyb21MZWZ0KXtjb25zdCByPShyLG4pPT57Y29uc3QgaT1uW3RdO3JldHVybiBudWxsIT1pJiZlPD1pfSxuPXRoaXMubV9iYXJzLmZpbmRGaXJzdChyKTtpZihudWxsIT09bilyZXR1cm4gbi5pbmRleDtjb25zdCBpPXRoaXMubV9uc0JhcnMuZmluZEZpcnN0KHIpO3JldHVybiBudWxsIT09aT9pLmluZGV4OnRoaXMubV9iYXJzLmxhc3RJbmRleCgpfXRocm93IG5ldyBFcnJvcigicGxvdFZhbHVlVG9UaW1lUG9pbnRJbmRleDogdW5zdXBwb3J0ZWQgc2VhcmNoIG1vZGUiKX1tb3ZlRGF0YShlKXt0aGlzLl9jb25mbGF0ZWRDaHVua3NCdWlsZGVyLm1vdmVEYXRhKGUpLHRoaXMubV9uc0JhcnMubW92ZShlKX19fSwKNzczMDg4KGUsdCxyKXsidXNlIHN0cmljdCI7dmFyIG47ZnVuY3Rpb24gaShlLHQpe3JldHVybiJwZXJpb2QtYmFjayI9PT1lLnR5cGUmJiJwZXJpb2QtYmFjayI9PT10LnR5cGU/ZS52YWx1ZT09PXQudmFsdWU6InRpbWUtcmFuZ2UiPT09ZS50eXBlJiYidGltZS1yYW5nZSI9PT10LnR5cGUmJihlLmZyb209PT10LmZyb20mJmUudG89PT10LnRvKX1mdW5jdGlvbiBzKGUsdD0hMSl7aWYoInBlcmlvZC1iYWNrIj09PWUudHlwZSl7bGV0IHI9ZS52YWx1ZTtyZXR1cm4gdCYmIllURCIhPT1yJiYiRCI9PT1yLnNsaWNlKC0xKSYmKHI9ci5zbGljZSgwLC0xKSkscn1yZXR1cm4iciwiK2UuZnJvbSsiOiIrZS50b31mdW5jdGlvbiBhKGUpe2NvbnN0IHQ9L3IsKFxkKyk6KFxkKykvLmV4ZWMoZSk7cmV0dXJuIG51bGwhPT10P3tmcm9tOk51bWJlcih0WzFdKSx0bzpOdW1iZXIodFsyXSksdHlwZToidGltZS1yYW5nZSJ9Ont2YWx1ZTplLHR5cGU6InBlcmlvZC1iYWNrIn19ci5kKHQse2FyZUVxdWFsVGltZUZyYW1lczooKT0+aSxjb252ZXJ0U3RyVG9UaW1lRnJhbWU6KCk9PmEsY29udmVydFRpbWVGcmFtZVRvU3RyOigpPT5zfSksZnVuY3Rpb24oZSl7ZS5QZXJpb2RCYWNrPSJwZXJpb2QtYmFjayIsZS5UaW1lUmFuZ2U9InRpbWUtcmFuZ2UifShufHwobj17fSkpfSw4MTA0MShlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtTdGRUaGVtZTooKT0+bi5TdGRUaGVtZX0pO3ZhciBuPXIoMjQ3OTAxKX0sNDA3Nzk5KGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse2VuY29kZUV4dGVuZGVkU3ltYm9sT3JHZXRTaW1wbGVTeW1ib2xTdHJpbmc6KCk9Pml9KTt2YXIgbj1yKDExMTk1Myk7ZnVuY3Rpb24gaShlKXtyZXR1cm4oMCxuLmVuY29kZUV4dGVuZGVkU3ltYm9sU3RydWN0dXJhbCkoZSl9fSwzMTQ5MTQoZSx0LHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDg1Mjk4MCksaT1yKDkzMDIzMSk7Y29uc3Qgcz0oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJwYXlfYXR0ZW50aW9uX3RvX3RpY2tlcl9ub3Rfc3ltYm9sIiksYT0oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJjaGFydGluZ19saWJyYXJ5X3NpbmdsZV9zeW1ib2xfcmVxdWVzdCIpLG89KDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgidXNlX3RpY2tlcl9vbl9zeW1ib2xfaW5mb191cGRhdGUiKSxsPSgwLGkuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIik7bi5leHRyYWN0U3ltYm9sTmFtZUZyb21TeW1ib2xJbmZvLmJpbmQobnVsbCx7cGF5QXR0ZW50aW9uVG9UaWNrZXJOb3RTeW1ib2w6cyxjaGFydGluZ0xpYnJhcnlTaW5nbGVTeW1ib2xSZXF1ZXN0OmEsdXNlVGlja2VyT25TeW1ib2xJbmZvVXBkYXRlOm8sdXBwZXJjYXNlSW5zdHJ1bWVudE5hbWVzOmx9KX0sNTgwMzcoZSx0LHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbixpOyFmdW5jdGlvbihlKXtlW2UuT2ZmbGluZT0wXT0iT2ZmbGluZSIsZVtlLlJlc29sdmluZz0xXT0iUmVzb2x2aW5nIixlW2UuTG9hZGluZz0yXT0iTG9hZGluZyIsZVtlLlJlYWR5PTNdPSJSZWFkeSIsZVtlLkludmFsaWRTeW1ib2w9NF09IkludmFsaWRTeW1ib2wiLGVbZS5TbmFwc2hvdD01XT0iU25hcHNob3QiLGVbZS5FT0Q9Nl09IkVPRCIsZVtlLlB1bHNlPTddPSJQdWxzZSIsZVtlLkRlbGF5ZWQ9OF09IkRlbGF5ZWQiLGVbZS5EZWxheWVkU3RlYW1pbmc9OV09IkRlbGF5ZWRTdGVhbWluZyIsZVtlLk5vQmFycz0xMF09Ik5vQmFycyIsZVtlLlJlcGxheT0xMV09IlJlcGxheSIsZVtlLkVycm9yPTEyXT0iRXJyb3IiLGVbZS5DYWxjdWxhdGlvbkVycm9yPTEzXT0iQ2FsY3VsYXRpb25FcnJvciIsZVtlLlVuc3VwcG9ydGVkUmVzb2x1dGlvbj0xNF09IlVuc3VwcG9ydGVkUmVzb2x1dGlvbiJ9KG58fChuPXt9KSksZnVuY3Rpb24oZSl7ZVtlLk1hcmtlcnM9MF09Ik1hcmtlcnMiLGVbZS5TdGVwbGluZT0xXT0iU3RlcGxpbmUiLGVbZS5TaW1wbGU9Ml09IlNpbXBsZSJ9KGl8fChpPXt9KSl9LDgzNzIwMyhlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtTZXJpZXNEYXRhU291cmNlOigpPT5uLlNlcmllc0RhdGFTb3VyY2V9KTt2YXIgbj1yKDkzNTI0MCksaT1yKDExMTk1Mykscz1yKDg1NjU2KSxhPXIoOTMwMjMxKTtuLlNlcmllc0RhdGFTb3VyY2Uuc2V0Tm9uU2VyaWVzRGF0YVVucGFja2VyKHMudW5wYWNrTm9uU2VyaWVzRGF0YUNvbXByZXNzZWQpLG4uU2VyaWVzRGF0YVNvdXJjZS5zZXRTeW1ib2xFbmNvZGVyKGkuZW5jb2RlRXh0ZW5kZWRTeW1ib2xTdHJ1Y3R1cmFsKSxuLlNlcmllc0RhdGFTb3VyY2Uuc2V0RXh0cmFjdFN5bWJvbEZlYXR1cmVzZXRzKHtwYXlBdHRlbnRpb25Ub1RpY2tlck5vdFN5bWJvbDooMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJwYXlfYXR0ZW50aW9uX3RvX3RpY2tlcl9ub3Rfc3ltYm9sIiksY2hhcnRpbmdMaWJyYXJ5U2luZ2xlU3ltYm9sUmVxdWVzdDooMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJjaGFydGluZ19saWJyYXJ5X3NpbmdsZV9zeW1ib2xfcmVxdWVzdCIpLHVzZVRpY2tlck9uU3ltYm9sSW5mb1VwZGF0ZTooMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1c2VfdGlja2VyX29uX3N5bWJvbF9pbmZvX3VwZGF0ZSIpLHVwcGVyY2FzZUluc3RydW1lbnROYW1lczooMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1cHBlcmNhc2VfaW5zdHJ1bWVudF9uYW1lcyIpfSl9LDc3NzY2MShlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtzdHVkeVRwb1ByZXJpb2RpY0lkOigpPT5uLHN0dWR5VHBvU2Vzc2lvbnNJZDooKT0+aX0pO2NvbnN0IG49IlRQT1BlcmlvZGljQHR2LXZvbHVtZWJ5cHJpY2UiLGk9IlRQT1Nlc3Npb25zQHR2LXZvbHVtZWJ5cHJpY2UifSw3Mjg0MzYoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7c3R1ZHlWb2xGb290cHJpbnRJZDooKT0+bn0pO2NvbnN0IG49IkZvb3RwcmludEB0di12b2x1bWVieXByaWNlIn0sNTUwMzkzKGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse3N0dWR5VmJQU2Vzc2lvbnNJZDooKT0+bn0pO2NvbnN0IG49IlZiUFNlc3Npb25zQHR2LXZvbHVtZWJ5cHJpY2UifSw1OTE3NDEoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7CmdldFRpbWVGb3JtYXRGb3JJbnRlcnZhbDooKT0+aX0pO3ZhciBuPXIoMjM4MTAzKTtmdW5jdGlvbiBpKGUsdCl7aWYoZS5pc1JhbmdlKCkpcmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiIxMi1ob3VycyI9PT1lP24udHdlbHZlSG91ck1pbnV0ZU5vblplcm9TZWNvbmRGb3JtYXQ6bi5ob3VyTWludXRlTm9uWmVyb1NlY29uZEZvcm1hdH0odCk7aWYoZS5pc1RpY2tzKCkpcmV0dXJuIG4uaG91ck1pbnV0ZVNlY29uZE1pbGxpc2VjRm9ybWF0O3JldHVybiBlLmlzU2Vjb25kcygpfHxlLmlzVGlja3MoKT9mdW5jdGlvbihlKXtyZXR1cm4iMTItaG91cnMiPT09ZT9uLnR3ZWx2ZUhvdXJNaW51dGVTZWNvbmRGb3JtYXQ6bi5ob3VyTWludXRlU2Vjb25kRm9ybWF0fSh0KTpmdW5jdGlvbihlKXtyZXR1cm4iMTItaG91cnMiPT09ZT9uLnR3ZWx2ZUhvdXJNaW51dGVGb3JtYXQ6bi5ob3VyTWludXRlRm9ybWF0fSh0KX19LDg3MzU3MyhlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHthcHBseUFscGhhOigpPT5zLGFwcGx5VHJhbnNwYXJlbmN5OigpPT5vLGdlbmVyYXRlQ29sb3I6KCk9PmkscmVzZXRUcmFuc3BhcmVuY3k6KCk9Pmx9KTt2YXIgbj1yKDEzNDY3KTtmdW5jdGlvbiBpKGUsdCxyKXtpZih0PXR8fDAsIXUoZSkpcmV0dXJuIHI/KDAsbi5yZ2JhVG9TdHJpbmcpKCgwLG4ucmdiYSkoKDAsbi5wYXJzZVJnYikoZSksKDAsbi5ub3JtYWxpemVBbHBoYUNvbXBvbmVudCkoYSh0KSkpKTplO2NvbnN0W2kscyxvXT0oMCxuLnBhcnNlUmdiKShlKSxsPSgwLG4ubm9ybWFsaXplQWxwaGFDb21wb25lbnQpKGEodCkpO3JldHVybigwLG4ucmdiYVRvU3RyaW5nKShbaSxzLG8sbF0pfWZ1bmN0aW9uIHMoZSx0LHIpe2NvbnN0IGk9KDAsbi50cnlQYXJzZVJnYmEpKGUpO2lmKG51bGw9PT1pKXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb2xvcjogJHtlfWApO2NvbnN0W3MsYSxvLGxdPWksdT0oMCxuLm5vcm1hbGl6ZUFscGhhQ29tcG9uZW50KSh0KihyP2w6MSkpO3JldHVybigwLG4ucmdiYVRvU3RyaW5nKSgoMCxuLnJnYmEpKFtzLGEsb10sdSkpfWZ1bmN0aW9uIGEoZSl7aWYoZTwwfHxlPjEwMCl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgdHJhbnNwYXJlbmN5Iik7cmV0dXJuIDEtZS8xMDB9ZnVuY3Rpb24gbyhlLHQpe2lmKCJ0cmFuc3BhcmVudCI9PT1lKXJldHVybiBlO2NvbnN0IHI9KDAsbi5wYXJzZVJnYmEpKGUpLGk9clszXTtyZXR1cm4oMCxuLnJnYmFUb1N0cmluZykoKDAsbi5yZ2JhKShyWzBdLHJbMV0sclsyXSxhKHQpKmkpKX1mdW5jdGlvbiBsKGUpe3JldHVybiJ0cmFuc3BhcmVudCI9PT1lP2U6dShlKT9lLnNsaWNlKDAsNyk6KDAsbi5yZ2JhVG9TdHJpbmcpKCgwLG4ucmdiYSkoKDAsbi5wYXJzZVJnYikoZSksKDAsbi5ub3JtYWxpemVBbHBoYUNvbXBvbmVudCkoMSkpKX1mdW5jdGlvbiB1KGUpe3JldHVybiAwPT09ZS5pbmRleE9mKCIjIil9fX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/65862.95764752c09f3f18f890.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.929Z","timestamp":1785120633929,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/65862.95764752c09f3f18f890.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-8593\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 97f7a8d04e943a794136acbaf50eec0b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":34195,"size_decoded":11853,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (13834)","md5":"d5f37343643dde0b01c1d10dbbdb91df","sha1":"acf466d1f2aaa1c4e577a663cc0c197647ff1b0c","sha256":"ad4421c24189dacdd5b62aa07485176e838543c7e572a23a90b2e5d70b28c982","sha512":"b6fba60ec4a7056bdda7602c545749c4b49d93c597e471e20f312b470a5c949b390f959900f2267b02646d6ce1c6f9fcd1ebddb7b4fbc2383344305b5179923d","ssdeep":"768:8HXyKsaOA/R4POygg6FUOaovTBa81zNh3h6kIRdnNy84MnxbDE3xZwDZscCDjvFR:OWgDagTBa0zNhRIRdnNy84y4BZw1FCHz","tlshash":"41e2e892aa135c331ed5176ad87b3902d1d80679f5863c68bdf858de0d8dac070f355e","first_seen":"2026-07-24T11:36:47.857631Z","last_seen":"2026-07-27T05:19:37.070003Z","times_seen":815,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNjU4NjJdLHszNzcyMjYoZSx0LG8pe28uZCh0LHtvbldpZGdldDooKT0+c30pO2NvbnN0IHI9bmV3IE1hcDtmdW5jdGlvbiBzKCl7Y29uc3QgZT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsdD13aW5kb3cubG9jYXRpb24uaG9zdCxvPWAke3R9JHtlfWA7cmV0dXJuIHIuaGFzKG8pfHxyLnNldChvLGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbz1bIl53aWRnZXQtZG9jcyJdO2Zvcihjb25zdCBlIG9mIG8paWYobmV3IFJlZ0V4cChlKS50ZXN0KHQpKXJldHVybiEwO2NvbnN0IHI9WyJed2lkZ2V0ZW1iZWQvPyQiLCJeY21ld2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL3dpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS93aWRnZXRzdGF0aWMvPyQiLCJeKFswLTlhLXpBLVotXSspPy8/bWVkaXVtd2lkZ2V0ZW1iZWQvPyQiLCJedHdpdHRlci1jaGFydC8/JCIsIl50ZWxlZ3JhbS9jaGFydC8/JCIsIl5lbWJlZC8oWzAtOWEtekEtWl17OH0pLz8kIiwiXndpZGdldHBvcHVwLz8kIiwiXmV4dGVuc2lvbi8/JCIsIl5pZGVhLXBvcHVwLz8kIiwiXmhvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL2hvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvbWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl5ldmVudHN3aWRnZXRlbWJlZC8/JCIsIl50aWNrZXJzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhjcm9zc3JhdGVzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhoZWF0bWFwd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0cXVvdGVzd2lkZ2V0ZW1iZWQvPyQiLCJec2NyZWVuZXJ3aWRnZXQvPyQiLCJeY3J5cHRvbWt0c2NyZWVuZXJ3aWRnZXQvPyQiLCJeKFswLTlhLXpBLVotXSspL2NyeXB0b21rdHNjcmVlbmVyd2lkZ2V0Lz8kIiwiXihbMC05YS16QS1aLV0rKS9tYXJrZXRxdW90ZXN3aWRnZXRlbWJlZC8/JCIsIl50ZWNobmljYWwtYW5hbHlzaXMtd2lkZ2V0LWVtYmVkLyQiLCJec2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvc2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl5lbWJlZC13aWRnZXQvKFswLTlhLXpBLVotXSspLygoWzAtOWEtekEtWi1dKykvKT8kIiwiXndpZGdldC1kb2NzLyhbMC05YS16QS1aLV0rKS8oWzAtOWEtekEtWi0vXSspPyQiXSxzPWUucmVwbGFjZSgvXlwvLywiIik7bGV0IF87Zm9yKGxldCBlPXIubGVuZ3RoLTE7ZT49MDtlLS0paWYoXz1uZXcgUmVnRXhwKHJbZV0pLF8udGVzdChzKSlyZXR1cm4hMDtyZXR1cm4hMX0oZSx0KSksci5nZXQobyk/PyExfX0sMzAwMjg2KGUsdCxvKXsidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmbmV3IGNsYXNze2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fdGVzdD1lW3RdPXt9fXByb3ZpZGUoZSx0KXt0aGlzLl90ZXN0W2VdPXR9fSh3aW5kb3csInFhR2xvYmFscyIpfSw1ODc0MzYoZSx0LG8pe2Z1bmN0aW9uIHIoZSx0LG8scixzKXtsZXQgXz0iIjtpZihyPXI/IjsgcGF0aD0iK3I6IiIscz1zPyI7IGRvbWFpbj0iK3M6IiIsbyl7Y29uc3QgZT1uZXcgRGF0ZTtlLnNldFRpbWUoZS5nZXRUaW1lKCkrMjQqbyo2MCo2MCoxZTMpLF89IjsgZXhwaXJlcz0iK2UudG9VVENTdHJpbmcoKX1lbHNlIF89IiI7ZG9jdW1lbnQuY29va2llPWUrIj0iK3QrXytzK3J9ZnVuY3Rpb24gcyhlKXtjb25zdCB0PWUrIj0iLG89ZG9jdW1lbnQuY29va2llLnNwbGl0KCI7Iik7Zm9yKGxldCBlPTA7ZTxvLmxlbmd0aDtlKyspe2xldCByPW9bZV07Zm9yKDsiICI9PT1yLmNoYXJBdCgwKTspcj1yLnN1YnN0cmluZygxLHIubGVuZ3RoKTtpZigwPT09ci5pbmRleE9mKHQpKXJldHVybiByLnN1YnN0cmluZyh0Lmxlbmd0aCxyLmxlbmd0aCl9cmV0dXJuIG51bGx9by5kKHQse2dldDooKT0+cyxzZXQ6KCk9PnJ9KX0sOTQ4MzgwKGUsdCxvKXtvLmQodCx7RGVsZWdhdGU6KCk9Pl99KTtjb25zdCByPSgwLG8oMjIxMDYxKS5nZXRMb2dnZXIpKCJDb21tb24uRGVsZWdhdGUiKTtmdW5jdGlvbiBzKGUpe3JldHVybiFlLnNpbmdsZVNob3R9Y2xhc3MgX3tjb25zdHJ1Y3Rvcigpe3RoaXMuZmlyZT10aGlzLl9maXJlSW1wbC5iaW5kKHRoaXMpLHRoaXMuX2xpc3RlbmVycz1bXX1zdWJzY3JpYmUoZSx0LG8pe3RoaXMuX2xpc3RlbmVycy5wdXNoKHtvYmplY3Q6ZSxtZW1iZXI6dCxzaW5nbGVTaG90OiEhbyxza2lwOiExfSl9dW5zdWJzY3JpYmUoZSx0KXtmb3IobGV0IG89MDtvPHRoaXMuX2xpc3RlbmVycy5sZW5ndGg7KytvKXtjb25zdCByPXRoaXMuX2xpc3RlbmVyc1tvXTtpZihyLm9iamVjdD09PWUmJnIubWVtYmVyPT09dCl7ci5za2lwPSEwLHRoaXMuX2xpc3RlbmVycy5zcGxpY2UobywxKTticmVha319fXVuc3Vic2NyaWJlQWxsKGUpe2ZvcihsZXQgdD10aGlzLl9saXN0ZW5lcnMubGVuZ3RoLTE7dD49MDstLXQpe2NvbnN0IG89dGhpcy5fbGlzdGVuZXJzW3RdO28ub2JqZWN0PT09ZSYmKG8uc2tpcD0hMCx0aGlzLl9saXN0ZW5lcnMuc3BsaWNlKHQsMSkpfX1kZXN0cm95KCl7dGhpcy5fbGlzdGVuZXJzPVtdfV9maXJlSW1wbCguLi5lKXtjb25zdCB0PXRoaXMuX2xpc3RlbmVyczt0aGlzLl9saXN0ZW5lcnM9dGhpcy5fbGlzdGVuZXJzLmZpbHRlcihzKTtjb25zdCBvPXQubGVuZ3RoO2ZvcihsZXQgcz0wO3M8bzsrK3Mpe2NvbnN0IG89dFtzXTtpZighby5za2lwKXRyeXtvLm1lbWJlci5hcHBseShvLm9iamVjdHx8bnVsbCxlKX1jYXRjaChlKXtyLmxvZ0Vycm9yKGAke2UmJihlLnN0YWNrfHxlLm1lc3NhZ2UpfWApfX19fX0sNTM0NDQwKGUsdCxvKXtvLmQodCx7bnVtT2ZEZWNpbWFsUGxhY2VzOigpPT5ffSk7dmFyIHI9byg3MTI3NDUpLHM9by5uKHIpO2Z1bmN0aW9uIF8oZSl7cmV0dXJuKG5ldyhzKCkpKGUpLnRvRml4ZWQoKS5zcGxpdCgiLiIpWzFdfHwiIikubGVuZ3RofX0sMjMyMzY0KGUsdCxvKXtvLmQodCx7V2F0Y2hlZFZhbHVlOigpPT5ffSk7Y29uc3Qgcj0oMCwKbygyMjEwNjEpLmdldExvZ2dlcikoIkNvbW1vbi5XYXRjaGVkVmFsdWUiKTtmdW5jdGlvbiBzKGUpe3IubG9nRXJyb3IoYCR7ZSYmKGUuc3RhY2t8fGUubWVzc2FnZSl9YCl9Y2xhc3MgX3tjb25zdHJ1Y3RvciguLi5lKXt0aGlzLl9saXN0ZW5lcnM9W10sZS5sZW5ndGg+MD90aGlzLl92YWx1ZT1lWzBdOmRlbGV0ZSB0aGlzLl92YWx1ZX1kZXN0cm95KCl7dGhpcy51bnN1YnNjcmliZSgpfXZhbHVlKCl7cmV0dXJuIHRoaXMuX293bmVyP3RoaXMuX293bmVyLl92YWx1ZTp0aGlzLl92YWx1ZX1zZXRWYWx1ZShlLHQpe2NvbnN0IG89dGhpcy5fb3duZXI/dGhpcy5fb3duZXI6dGhpcztpZihvLndyaXRlTG9jaylyZXR1cm47Y29uc3Qgcj1vLl92YWx1ZT09PWV8fE51bWJlci5pc05hTihvLl92YWx1ZSkmJk51bWJlci5pc05hTihlKTtpZighdCYmciYmby5oYXNPd25Qcm9wZXJ0eSgiX3ZhbHVlIikpcmV0dXJuO28uX3ZhbHVlPWU7Y29uc3QgXz1vLl9saXN0ZW5lcnMuc2xpY2UoKTtsZXQgaT0wO2ZvcihsZXQgdD0wO3Q8Xy5sZW5ndGg7dCsrKXtfW3RdLm9uY2UmJihvLl9saXN0ZW5lcnMuc3BsaWNlKHQtaSwxKSxpKyspO3RyeXtfW3RdLmNiKGUpfWNhdGNoKGUpe3MoZSl9fX1kZWxldGVWYWx1ZSgpe3RoaXMuc2V0VmFsdWUodm9pZCAwKX1zdWJzY3JpYmUoZSx0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJjYWxsYmFjayBtdXN0IGJlIGEgZnVuY3Rpb24iKTtjb25zdCBvPSEhdCYmISF0Lm9uY2Uscj0hIXQmJiEhdC5jYWxsV2l0aExhc3QsXz10aGlzLl9vd25lcj90aGlzLl9vd25lcjp0aGlzO2lmKHImJl8uaGFzT3duUHJvcGVydHkoIl92YWx1ZSIpKXt0cnl7ZShfLl92YWx1ZSl9Y2F0Y2goZSl7cyhlKX1pZihvKXJldHVybn1fLl9saXN0ZW5lcnMucHVzaCh7Y2I6ZSxvd25lcjp0aGlzLG9uY2U6ISF0JiYhIXQub25jZX0pfXVuc3Vic2NyaWJlKGUpe2NvbnN0IHQ9dGhpcy5fb3duZXI/dGhpcy5fb3duZXI6dGhpczt2b2lkIDA9PT1lJiYoZT1udWxsKTtjb25zdCBvPXQuX2xpc3RlbmVycztmb3IobGV0IHI9by5sZW5ndGg7ci0tOylvW3JdLm93bmVyIT09dGhpcyYmdCE9PXRoaXN8fG9bcl0uY2IhPT1lJiZudWxsIT09ZXx8by5zcGxpY2UociwxKX1yZWFkb25seSgpe2lmKHRoaXMuX3JlYWRvbmx5SW5zdGFuY2UpcmV0dXJuIHRoaXMuX3JlYWRvbmx5SW5zdGFuY2U7Y29uc3QgZT17c3Vic2NyaWJlOnRoaXMuc3Vic2NyaWJlLmJpbmQodGhpcyksdW5zdWJzY3JpYmU6dGhpcy51bnN1YnNjcmliZS5iaW5kKHRoaXMpLHZhbHVlOnRoaXMudmFsdWUuYmluZCh0aGlzKSx3aGVuOnRoaXMud2hlbi5iaW5kKHRoaXMpLG93bmVyc2hpcDp0aGlzLm93bmVyc2hpcC5iaW5kKHRoaXMpLHNwYXduT3duZXJzaGlwOnRoaXMuc3Bhd25Pd25lcnNoaXAuYmluZCh0aGlzKSx3ZWFrUmVmZXJlbmNlOnRoaXMud2Vha1JlZmVyZW5jZS5iaW5kKHRoaXMpLHNwYXduOmU9PnRoaXMuc3Bhd24oZSkucmVhZG9ubHkoKSxkZXN0cm95OnRoaXMuZGVzdHJveS5iaW5kKHRoaXMpfTtyZXR1cm4gdGhpcy5fcmVhZG9ubHlJbnN0YW5jZT1lLGV9c3Bhd24oZSl7cmV0dXJuIHRoaXMuX3NwYXduKGUpfXdoZW4oZSl7IWZ1bmN0aW9uKGUsdCxvKXtpZih0KGUudmFsdWUoKSkpcmV0dXJuIHZvaWQgbygpO2NvbnN0IHI9cz0+e3QocykmJihlLnVuc3Vic2NyaWJlKHIpLG8oKSl9O2Uuc3Vic2NyaWJlKHIse2NhbGxXaXRoTGFzdDohMH0pfSh0aGlzLChlPT5Cb29sZWFuKGUpKSwoKCk9Pnt0cnl7ZSh0aGlzLnZhbHVlKCkpfWNhdGNoKGUpe3MoZSl9fSkpfWFzc2VydE5vU3Vic2NyaXB0aW9ucygpezB9b3duZXJzaGlwKCl7cmV0dXJuIHRoaXN9cmVsZWFzZSgpe3RoaXMuZGVzdHJveSgpfXNwYXduT3duZXJzaGlwKCl7cmV0dXJuIHRoaXMuX3NwYXduKCl9d2Vha1JlZmVyZW5jZSgpe3JldHVybiB0aGlzLl9zcGF3bih2b2lkIDAsITApfV9zcGF3bihlLHQpe3JldHVybiBuZXcgaSh0aGlzLl9vd25lcnx8dGhpcyxlLHQpfX1jbGFzcyBpIGV4dGVuZHMgX3tjb25zdHJ1Y3RvcihlLHQsbyl7c3VwZXIoKSxkZWxldGUgdGhpcy5fbGlzdGVuZXJzLHRoaXMuX293bmVyPWUsdGhpcy5fb25EZXN0cm95PXQsdGhpcy5fd2Vha1JlZmVyZW5jZT0hIW99ZGVzdHJveSgpe3RyeXt0aGlzLl9vbkRlc3Ryb3k/LigpfWNhdGNoKGUpe3MoZSl9c3VwZXIuZGVzdHJveSgpfXJlYWRvbmx5KCl7cmV0dXJuIHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZXx8KHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZT17Li4uc3VwZXIucmVhZG9ubHkoKSxkZXN0cm95OigpPT50aGlzLmRlc3Ryb3koKSxyZWFkb25seSgpe3JldHVybiB0aGlzfX0pLHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZX1yZWxlYXNlKCl7dGhpcy5fd2Vha1JlZmVyZW5jZXx8c3VwZXIucmVsZWFzZSgpfX19LDU5ODkyMihlLHQsbyl7by5kKHQse2Zvcm1hdE51bWJlcjooKT0+aSxwYXJzZU51bWJlcjooKT0+bn0pO3ZhciByPW8oNzEyNzQ1KSxzPW8oNjYzMDQ2KSxfPW8oMTE1MjkzKTtmdW5jdGlvbiBpKGUsdCxvLHMsXyl7aWYoIU51bWJlci5pc0Zpbml0ZShlKSlyZXR1cm5gJHtlfWA7Y29uc3QgaT0tMT09PU1hdGguc2lnbihlKT8iLSI6IiI7ZT1NYXRoLmFicyhlKTtsZXQgYT12b2lkIDA9PT1vP2UudG9TdHJpbmcoKTplLnRvRml4ZWQobyk7aWYoYS5pbmNsdWRlcygiZSIpKXtpZighcylyZXR1cm5gJHtpfSR7YS5yZXBsYWNlKCIuIix0LmRlY2ltYWxTaWduKX1gO3tjb25zdCBvPW5ldyByLkJpZyhlKTtpZihhPW8ubHQoMSk/by50b0ZpeGVkKCk6by50b1N0cmluZygpLGEuaW5jbHVkZXMoImUiKSlyZXR1cm5gJHtpfSR7YS5yZXBsYWNlKCIuIix0LmRlY2ltYWxTaWduKX1gfX1jb25zdCBuPWEuc3BsaXQoIi4iKSxsPW5bMF07bGV0IGM9blsxXTtjb25zdCBkPWZ1bmN0aW9uKGUsdCl7bGV0IG89ZS5sZW5ndGg7Y29uc3Qgcj1bXTtmb3IoO28+MDspci51bnNoaWZ0KGUuc2xpY2UoTWF0aC5tYXgoby0zLDApLG8pKSxvLT0zO3JldHVybiByLmpvaW4odCl9KGwsdC5ncm91cGluZ1NlcGFyYXRvcikKO3JldHVybiB2b2lkIDAhPT1vJiYoYz0wPT09bz92b2lkIDA6ZS50b0ZpeGVkKG8pLnNsaWNlKC1vKSksdm9pZCAwIT09XyYmdm9pZCAwIT09YyYmKGM9ZnVuY3Rpb24oZSx0KXtsZXQgbz1lLmxlbmd0aC0xO2ZvcihsZXQgcj1vO3I+PXQmJiIwIj09PWVbcl07ci09MSlvLT0xO3JldHVybiBlLnNsaWNlKDAsbysxKX0oYyxfKSksYz9gJHtpfSR7ZH0ke3QuZGVjaW1hbFNpZ259JHtjfWA6YCR7aX0ke2R9YH1jb25zdCBhPSgwLHMuZGVmYXVsdCkoKGU9Pntjb25zdCB0PWUucmVwbGFjZSgvWy1bXF17fSgpKis/LixcXF4kfCNcc10vZywiXFwkJiIpO3JldHVybiBuZXcgUmVnRXhwKHQsImdtIil9KSk7ZnVuY3Rpb24gbihlLHQpe2lmKC9eKE5hTnxbK3wtXT9JbmZpbml0eSkkLy50ZXN0KGUpKXJldHVybiBwYXJzZUZsb2F0KGUpO2U9KDAsXy5zdHJpcExUUk1hcmtzKShlKTtjb25zdCBvPWEodC5ncm91cGluZ1NlcGFyYXRvcik7cmV0dXJuIG8mJihlPWUucmVwbGFjZShvLCIiKSksZT1lLnJlcGxhY2UodC5kZWNpbWFsU2lnbiwiLiIpLC9eKFwrfC0pP1xkKyhcLlxkK3xcLik/KGUoXCt8LSk/XGQrKT8kLy50ZXN0KGUpP3BhcnNlRmxvYXQoZSk6TmFOfX0sNTQ2NDg1KGUsdCxvKXtvLmQodCx7Z2V0TnVtYmVyRm9ybWF0OigpPT5kfSk7bGV0IHI9bnVsbDt2YXIgcz1vKDg1NjMyNCk7ZnVuY3Rpb24gXyhlLHQpe3JldHVybntncm91cGluZ1NlcGFyYXRvcjplLGRlY2ltYWxTaWduOnR9fWNvbnN0IGk9XygiLCIsIi4iKSxhPV8oIi4iLCIsIiksbj1fKCLigK8iLCIsIiksbD1fKCIiLCIuIiksYz1uZXcgTWFwKFtbImVuIixpXSxbInRoIixpXSxbImphIixpXSxbImtvIixpXSxbInpoIixpXSxbInpoX1RXIixpXSxbImFyIixpXSxbImhlX0lMIixpXSxbIm1zX01ZIixpXSxbInZpIixpXSxbImRlIixhXSxbImVzIixhXSxbIml0IixhXSxbInRyIixhXSxbInB0IixhXSxbImlkX0lEIixhXSxbImZyIixuXSxbInBsIixuXSxbInJ1IixuXV0pO2Z1bmN0aW9uIGQoZSl7cmV0dXJuIGU/bDoodD1jLmdldCgoMCxzLmdldExhbmd1YWdlKSgpKXx8bCxyP3IodCk6dCk7dmFyIHR9fSw3NTU2MjcoZSx0LG8pe28uZCh0LHtQcmljZUZvcm1hdHRlcjooKT0+eX0pO3ZhciByPW8oNjAxODQxKTtmdW5jdGlvbiBzKGUsdCxvLHIpe2xldCBzPTA7aWYoZT4wJiZ0PjApe2xldCB0PWU7Zm9yKG8mJnImJih0Lz1yKTt0PjE7KXQvPTEwLHMrK31yZXR1cm4gc312YXIgXz1vKDcxMjc0NSksaT1vKDgyMjQzMSksYT1vKDU5ODkyMiksbj1vKDU0NjQ4NSksbD1vKDc4MzI1NCksYz1vKDEzODYzOCksZD1vKDExNTI5MyksdT1vKDUzNTMwKTtmdW5jdGlvbiBtKGUsdCxvKXtjb25zdCByPSgwLGMuZW5zdXJlTm90TnVsbCkoKDAsdS5nZXRNaW5UaWNrRGF0YSkoe3ByaWNlOm8sbWluVGljazpudWxsLHZhcmlhYmxlTWluVGlja0RhdGE6dCxzaG91bGRDaGVja0ZvckVxdWFsaXR5OiEwfSkpLHtwcmljZVNjYWxlOl8sbWluTW92ZTppLG1pbk1vdmUyOmF9PXI7cmV0dXJue3ByaWNlU2NhbGU6XyxtaW5Nb3ZlOmksZnJhY3Rpb25hbExlbmd0aDpzKF8saSxlLGEpfX1jbGFzcyBoe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2Zvcm1hdHRlckVycm9ycz17Y3VzdG9tOmwudChudWxsLHZvaWQgMCxvKDYxNjE4KSksZnJhY3Rpb246bC50KG51bGwsdm9pZCAwLG8oOTY4ODE1KSksc2Vjb25kRnJhY3Rpb246bC50KG51bGwsdm9pZCAwLG8oODUwMjk4KSl9O2NvbnN0e3ByaWNlU2NhbGU6dCxtaW5Nb3ZlOnIsbWluTW92ZTI6cyxpZ25vcmVNaW5Nb3ZlOl8sdmFyaWFibGVNaW5UaWNrOmksZnJhY3Rpb25hbExlbmd0aDphfT1lO3RoaXMuX3ByaWNlU2NhbGU9dCx0aGlzLl9taW5Nb3ZlPXIsdGhpcy5fbWluTW92ZTI9cyx0aGlzLl9pZ25vcmVNaW5Nb3ZlPV8sdGhpcy5fZnJhY3Rpb25hbExlbmd0aD1hLHRoaXMuX3ZhcmlhYmxlTWluVGlja0RhdGE9dm9pZCAwPT09aT92b2lkIDA6KDAsdS5tYWtlVmFyaWFibGVNaW5UaWNrRGF0YSkoe3ByaWNlU2NhbGU6dCxtaW5Nb3ZlOnIsbWluTW92ZTI6c30saSl9Zm9ybWF0SW1wbChlLHQ9e30pe2NvbnN0e3NpZ25Qb3NpdGl2ZTpvLHNpZ25OZWdhdGl2ZTpyPSEwLHRhaWxTaXplOnMsY3V0RnJhY3Rpb25hbEJ5UHJlY2lzaW9uOl89ITEsdXNlUnRsRm9ybWF0Omk9ITAsdmFyaWFibGVNaW5UaWNrRGF0YVByaWNlOmEsaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0Om4sbm9FeHBvbmVudGlhbEZvcm06bCxyZW1vdmVBbGxFbmRpbmdaZXJvczpjfT10O2xldCB1PSIiO2U8MD91PSExPT09cj8iIjoi4oiSIjplJiYhMD09PW8mJih1PSIrIik7Y29uc3QgbT10aGlzLl9mb3JtYXRVbnNpZ25lZChNYXRoLmFicyhlKSx7dGFpbFNpemU6cyxjdXRGcmFjdGlvbmFsQnlQcmVjaXNpb246Xyx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6YSxpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6bixub0V4cG9uZW50aWFsRm9ybTpsLHJlbW92ZUFsbEVuZGluZ1plcm9zOmN9KSxoPSIwIj09PW0/bTp1K207cmV0dXJuIGk/KDAsZC5mb3JjZUxUUlN0cikoaCk6aH1wYXJzZShlLHQpe3JldHVybiIrIj09PShlPShlPSgwLGQuc3RyaXBMVFJNYXJrcykoZSkpLnJlcGxhY2UoIuKIkiIsIi0iKSlbMF0mJihlPWUuc3Vic3RyaW5nKDEpKSx0aGlzLl9wYXJzZVVuc2lnbmVkKGUsdCl9X3JlbW92ZUVuZGluZ1plcm9zKGUsdCl7Zm9yKGxldCBvPTA7bzx0JiYiMCI9PT1lW2UubGVuZ3RoLTFdO28rKyllPWUuc3Vic3RyaW5nKDAsZS5sZW5ndGgtMSk7cmV0dXJuIGV9fWNsYXNzIGcgZXh0ZW5kcyBoe2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDp0LG5vRXhwb25lbnRpYWxGb3JtOm99PWU7dGhpcy5faWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0PXQsdGhpcy5fbm9FeHBvbmVudGlhbEZvcm09b31oYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKXtyZXR1cm4gMTA9PT10aGlzLl9taW5Nb3ZlMn1fcGFyc2VVbnNpZ25lZChlLHQpe3JldHVybiB0aGlzLl9wYXJzZUFzRGVjaW1hbChlLHQpfV9mb3JtYXRVbnNpZ25lZChlLHQpewpjb25zdHt0YWlsU2l6ZTpvLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpyPSExLHZhcmlhYmxlTWluVGlja0RhdGFQcmljZTpzLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpfLG5vRXhwb25lbnRpYWxGb3JtOmkscmVtb3ZlQWxsRW5kaW5nWmVyb3M6YT0hMX09dCxuPXtwcmljZTpNYXRoLmFicyhlKSxwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsbWluTW92ZTp0aGlzLl9taW5Nb3ZlLGZyYWN0aW9uYWxMZW5ndGg6dGhpcy5fZnJhY3Rpb25hbExlbmd0aCx0YWlsU2l6ZTpvLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpyLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpfLG5vRXhwb25lbnRpYWxGb3JtOmkscmVtb3ZlQWxsRW5kaW5nWmVyb3M6YX07cmV0dXJuIHZvaWQgMCE9PXRoaXMuX3ZhcmlhYmxlTWluVGlja0RhdGEmJihPYmplY3QuYXNzaWduKG4sbSghMSx0aGlzLl92YXJpYWJsZU1pblRpY2tEYXRhLHM/P24ucHJpY2UpKSx0aGlzLl9pZ25vcmVNaW5Nb3ZlJiYobi5taW5Nb3ZlPTEpKSx0aGlzLl9mb3JtYXRBc0RlY2ltYWwobil9X2Zvcm1hdEFzRGVjaW1hbChlKXtjb25zdHtwcmljZTp0LHByaWNlU2NhbGU6byxtaW5Nb3ZlOnIsZnJhY3Rpb25hbExlbmd0aDpzPTAsdGFpbFNpemU6bD0wLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpjLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpkPXRoaXMuX2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdCxub0V4cG9uZW50aWFsRm9ybTp1PXRoaXMuX25vRXhwb25lbnRpYWxGb3JtLHJlbW92ZUFsbEVuZGluZ1plcm9zOm19PWUsaD0oMCxuLmdldE51bWJlckZvcm1hdCkoZCk7aWYodD49MWUyMSYmIXUpcmV0dXJuIHQudG9TdHJpbmcoKS5yZXBsYWNlKCIuIixoLmRlY2ltYWxTaWduKTtjb25zdCBnPU1hdGgucG93KDEwLGwpKm8vKGM/MTpyKSxwPTEvZztsZXQgYjtpZihnPjEpYj1NYXRoLmZsb29yKHQpO2Vsc2V7Y29uc3QgZT1NYXRoLnJvdW5kKHQvcCkqcDtiPTA9PT1NYXRoLnJvdW5kKCh0LWUpL3ApP2U6ZStwfWxldCB3PSIiO2lmKGc+MSl7bGV0IGU9Yz9uZXcgXy5CaWcodCkubXVsKGcpLnJvdW5kKHZvaWQgMCwwKS5taW51cyhuZXcgXy5CaWcoYikubXVsKGcpKS50b051bWJlcigpOnBhcnNlRmxvYXQoKE1hdGgucm91bmQodCpnKS1iKmcpLnRvRml4ZWQocykpO2U+PWcmJihlLT1nLGIrPTEpLGU9Yz9uZXcgXy5CaWcoZSkucm91bmQocywwKS50b051bWJlcigpOnBhcnNlRmxvYXQoZS50b0ZpeGVkKHMpKSpyO2NvbnN0IG89KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoZSxzK2wpO2lmKCF1JiZ0PDEmJnM+PTEwJiZvLnN0YXJ0c1dpdGgoIjAwMDAiKSl7bGV0IGU9NDtmb3IobGV0IHQ9ZTt0PG8ubGVuZ3RoJiYiMCI9PT1vW3RdO3QrKyllKys7Y29uc3QgdD10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhvLnNsaWNlKGUpLHMpO3JldHVybiIiPT09dD8iMCI6YDAke2guZGVjaW1hbFNpZ259JHt0fWUtJHtlfWB9Y29uc3QgYT10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhvLG0/by5sZW5ndGg6bCk7dz1hP2guZGVjaW1hbFNpZ24rYTphfWNvbnN0IHk9KDAsYS5mb3JtYXROdW1iZXIpKGIsaCx2b2lkIDAsdSk7cmV0dXJuIHkuaW5jbHVkZXMoImUiKT95Onkrd31fcGFyc2VBc0RlY2ltYWwoZSx0PXt9KXtjb25zdHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6b309dCxyPSgwLG4uZ2V0TnVtYmVyRm9ybWF0KSh0aGlzLl9pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXR8fG8pLHM9KDAsYS5wYXJzZU51bWJlcikoZSxyKTtyZXR1cm4gTnVtYmVyLmlzRmluaXRlKHMpP3t2YWx1ZTpzLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChzKX06e2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX19Y29uc3QgcD0iJyIsYj1uZXcgUmVnRXhwKC9eKC0/KVswLTldKyQvKTtjbGFzcyB3IGV4dGVuZHMgaHtoYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKXtyZXR1cm4hMX1fcGFyc2VVbnNpZ25lZChlKXtyZXR1cm4gdGhpcy5fbWluTW92ZTI/dGhpcy5fcGFyc2VBc0RvdWJsZUZyYWN0aW9uYWwoZSk6dGhpcy5fcGFyc2VBc1NpbmdsZUZyYWN0aW9uYWwoZSl9X2Zvcm1hdFVuc2lnbmVkKGUsdCl7Y29uc3R7dGFpbFNpemU6byx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6cn09dCxzPXtwcmljZTpNYXRoLmFicyhlKSxwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsbWluTW92ZTp0aGlzLl9taW5Nb3ZlLG1pbk1vdmUyOnRoaXMuX21pbk1vdmUyLGZyYWN0aW9uYWxMZW5ndGg6KDAsYy5lbnN1cmVEZWZpbmVkKSh0aGlzLl9mcmFjdGlvbmFsTGVuZ3RoKSx0YWlsU2l6ZTpvfTtyZXR1cm4gdm9pZCAwIT09dGhpcy5fdmFyaWFibGVNaW5UaWNrRGF0YSYmT2JqZWN0LmFzc2lnbihzLG0oITAsdGhpcy5fdmFyaWFibGVNaW5UaWNrRGF0YSxyPz9zLnByaWNlKSksdGhpcy5fZm9ybWF0QXNGcmFjdGlvbmFsKHMpfV9wYXJzZUFzU2luZ2xlRnJhY3Rpb25hbChlKXtsZXQgdD1iLmV4ZWMoZSk7aWYodCl7Y29uc3QgdD1wYXJzZUZsb2F0KGUpO3JldHVybnt2YWx1ZTp0LHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbCh0KX19aWYodD1uZXcgUmVnRXhwKCJeKC0/KShbMC05XSspXFwnKFswLTldKykkIikuZXhlYyhlKSx0KXtjb25zdCBlPSEhdFsxXSxvPXBhcnNlSW50KHRbMl0pLHI9dGhpcy5fcHJpY2VTY2FsZSxzPXRoaXMuX3BhdGNoRnJhY3RQYXJ0KHBhcnNlSW50KHRbM10pLDEscik7aWYocz49cnx8czwwKXJldHVybntlcnJvcjp0aGlzLl9mb3JtYXR0ZXJFcnJvcnMuZnJhY3Rpb24scmVzOiExfTtsZXQgXz1vK3MvcjtyZXR1cm4gZSYmKF89LV8pLHt2YWx1ZTpfLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChfKX19cmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX1fcGFyc2VBc0RvdWJsZUZyYWN0aW9uYWwoZSl7bGV0IHQ9Yi5leGVjKGUpO2lmKHQpe2NvbnN0IHQ9cGFyc2VGbG9hdChlKTtyZXR1cm57dmFsdWU6dCxyZXM6ITAsc3VnZ2VzdDp0aGlzLmZvcm1hdEltcGwodCl9fQppZih0PW5ldyBSZWdFeHAoIl4oLT8pKFswLTldKylcXCcoWzAtOV0rKVxcJyhbMC05XSspJCIpLmV4ZWMoZSksdCl7Y29uc3QgZT0hIXRbMV0sbz1wYXJzZUludCh0WzJdKSxyPXZvaWQgMCE9PXRoaXMuX21pbk1vdmUyJiZudWxsIT09dGhpcy5fbWluTW92ZTI/dGhpcy5fbWluTW92ZTI6TmFOLHM9dGhpcy5fcHJpY2VTY2FsZS9yLF89dGhpcy5fbWluTW92ZTIsaT10aGlzLl9wYXRjaEZyYWN0UGFydChwYXJzZUludCh0WzNdKSwxLHMpLGE9dGhpcy5fcGF0Y2hGcmFjdFBhcnQocGFyc2VJbnQodFs0XSksMixfKTtpZihpPj1zfHxpPDApcmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5mcmFjdGlvbixyZXM6ITF9O2lmKG51bGwhPV8mJmE+PV98fGE8MClyZXR1cm57ZXJyb3I6dGhpcy5fZm9ybWF0dGVyRXJyb3JzLnNlY29uZEZyYWN0aW9uLHJlczohMX07bGV0IG49bnVsbCE9Xz9vK2kvcythLyhzKl8pOk5hTjtyZXR1cm4gZSYmKG49LW4pLHt2YWx1ZTpuLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChuKX19cmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX1fcGF0Y2hGcmFjdFBhcnQoZSx0LG8pe2NvbnN0IHI9ezA6MCw1OjF9LHM9ezA6MCwyOjEsNToyLDc6M30sXz17MDowLDE6MSwyOjIsMzozLDU6NCw2OjUsNzo2LDg6N307cmV0dXJuIDI9PT1vP3ZvaWQgMD09PXJbZV0/LTE6cltlXTo0PT09bz92b2lkIDA9PT1zW2VdPy0xOnNbZV06OD09PW8mJjI9PT10P3ZvaWQgMD09PV9bZV0/LTE6X1tlXTplfV9mb3JtYXRBc0ZyYWN0aW9uYWwoZSl7Y29uc3R7cHJpY2U6dCx0YWlsU2l6ZTpvLHByaWNlU2NhbGU6cixtaW5Nb3ZlOnMsbWluTW92ZTI6XyxmcmFjdGlvbmFsTGVuZ3RoOmF9PWUsbj1yL3M7bGV0IGw9TWF0aC5mbG9vcih0KSxjPW8/TWF0aC5mbG9vcih0Km4pLWwqbjpNYXRoLnJvdW5kKHQqbiktbCpuO2M9PT1uJiYoYz0wLGwrPTEpO2xldCBkPSIiO2lmKG8pe2xldCBlPSh0LWwtYy9uKSpuO2U9TWF0aC5yb3VuZChlKk1hdGgucG93KDEwLG8pKSxkPSgwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGUsbyksZD10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhkLG8pfWlmKCFhKXRocm93IG5ldyBFcnJvcigiX2ZyYWN0aW9uYWxMZW5ndGggaXMgbm90IGNhbGN1bGF0ZWQiKTtsZXQgdT0iIjtpZihfKXtjb25zdCBlPWMlXztjPShjLWUpL187Y29uc3QgdD0oMCxpLm51bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvKShjLGEpLG89dGhpcy5fZ2V0RnJhY3RQYXJ0KGUsMixfKTt1PXQrcCtvfWVsc2UgYz10aGlzLl9nZXRGcmFjdFBhcnQoYywxLHIpLHU9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoYypzLGEpO3JldHVybiBsLnRvU3RyaW5nKCkrcCt1K2R9X2dldEZyYWN0UGFydChlLHQsbyl7Y29uc3Qgcj1bMCw1XSxzPVswLDIsNSw3XSxfPVswLDEsMiwzLDUsNiw3LDhdO3JldHVybiAyPT09bz92b2lkIDA9PT1yW2VdPy0xOnJbZV06ND09PW8/dm9pZCAwPT09c1tlXT8tMTpzW2VdOjg9PT1vJiYyPT09dD92b2lkIDA9PT1fW2VdPy0xOl9bZV06ZX19Y2xhc3MgeXtjb25zdHJ1Y3RvcihlPXt9KXt0aGlzLnR5cGU9InByaWNlIjtjb25zdHttaW5Nb3ZlMjp0LGZyYWN0aW9uYWw6byx2YXJpYWJsZU1pblRpY2s6XyxpZ25vcmVNaW5Nb3ZlOmksaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmF9PWUsbj0oMCxyLmlzTnVtYmVyKShlLnByaWNlU2NhbGUpJiYoMCxyLmlzSW50ZWdlcikoZS5wcmljZVNjYWxlKT9lLnByaWNlU2NhbGU6MTAwO2lmKG48MCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGJhc2UiKTtjb25zdCBsPSFlLm1pbk1vdmV8fGk/MTplLm1pbk1vdmUsYz1zKG4sbCxvLHQpLGQ9ey4uLmUsbWluTW92ZTpsLHByaWNlU2NhbGU6bixmcmFjdGlvbmFsTGVuZ3RoOmN9O3RoaXMuX3ByaWNlU2NhbGU9bix0aGlzLl9taW5Nb3ZlPWwsdGhpcy5fbWluTW92ZTI9dCx0aGlzLl9mcmFjdGlvbmFsPW8sdGhpcy5fdmFyaWFibGVNaW5UaWNrPV8sdGhpcy5faWdub3JlTWluTW92ZT1pLHRoaXMuX2ZyYWN0aW9uYWxMZW5ndGg9Yyx0aGlzLl9pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ9YSx0aGlzLl9ub0V4cG9uZW50aWFsRm9ybT1lLm5vRXhwb25lbnRpYWxGb3JtLHRoaXMuX2ltcGxlbWVudGF0aW9uPW8/bmV3IHcoZCk6bmV3IGcoZCl9aXNGcmFjdGlvbmFsKCl7cmV0dXJuISF0aGlzLl9mcmFjdGlvbmFsfXN0YXRlKCl7cmV0dXJue21pbk1vdmU6dGhpcy5fbWluTW92ZSxtaW5Nb3ZlMjp0aGlzLl9taW5Nb3ZlMixwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsdmFyaWFibGVNaW5UaWNrOnRoaXMuX3ZhcmlhYmxlTWluVGljayxpZ25vcmVNaW5Nb3ZlOnRoaXMuX2lnbm9yZU1pbk1vdmUsZnJhY3Rpb25hbDp0aGlzLl9mcmFjdGlvbmFsLG5vRXhwb25lbnRpYWxGb3JtOnRoaXMuX25vRXhwb25lbnRpYWxGb3JtfX1mb3JtYXRDaGFuZ2UoZSx0LG8pe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5mb3JtYXRJbXBsKGUtdCx7Li4ubyx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6TWF0aC5taW4oTWF0aC5hYnMoZSksTWF0aC5hYnModCkpfSl9Zm9ybWF0KGUsdCl7cmV0dXJuIHRoaXMuX2ltcGxlbWVudGF0aW9uLmZvcm1hdEltcGwoZSx0KX1wYXJzZShlLHQpe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5wYXJzZShlLHQpfWhhc0ZvcmV4QWRkaXRpb25hbFByZWNpc2lvbigpe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5oYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKX1zdGF0aWMgc2VyaWFsaXplKGUpe3JldHVybiBlLnN0YXRlKCl9c3RhdGljIGRlc2VyaWFsaXplKGUpe3JldHVybiBuZXcgeShlKX19fSw3ODMyNTQoZSx0LG8pe28uZCh0LHt0OigpPT5yfSk7Y29uc3Qgcj1vLmkxOG5leHR9LDYyMDM1NChlLHQsbyl7dmFyIHI7by5kKHQse0xvZ29TaXplOigpPT5yfSksZnVuY3Rpb24oZSl7ZVtlLk1lZGl1bT0wXT0iTWVkaXVtIixlW2UuTGFyZ2U9MV09IkxhcmdlIn0ocnx8KHI9e30pKX0sNzQ5NjQ4KGUsdCxvKXtmdW5jdGlvbiByKGUsdD0hMSl7CiJsb2FkaW5nIiE9PWRvY3VtZW50LnJlYWR5U3RhdGU/dD9zZXRUaW1lb3V0KCgoKT0+ZSgpKSwxKTplKCk6ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsKCgpPT5lKCkpKX1vLmQodCx7d2hlbkRvY3VtZW50UmVhZHk6KCk9PnJ9KTtuZXcgUHJvbWlzZSgoZT0+e3IoZSl9KSl9LDYzNTE4KGUpewplLmV4cG9ydHM9SlNPTi5wYXJzZSgneyIxNDg1MSI6e30sImN1c3RvbV9pdGVtc19pbl9jb250ZXh0X21lbnUiOnt9LCJjb3VudGRvd24iOnt9LCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiI6e30sInBheV9hdHRlbnRpb25fdG9fdGlja2VyX25vdF9zeW1ib2wiOnt9LCJncmF5aW5nX2Rpc2FibGVkX3Rvb2xzX2VuYWJsZWQiOnt9LCJ1cGRhdGVfc3R1ZHlfZm9ybWF0dGVyX29uX3N5bWJvbF9yZXNvbHZlIjp7fSwiY29uc3RyYWludF9kaWFsb2dzX21vdmVtZW50Ijp7fSwicGhvbmVfdmVyaWZpY2F0aW9uIjp7fSwic2hvd190cmFkaW5nX25vdGlmaWNhdGlvbnNfaGlzdG9yeSI6e30sInNob3dfaW50ZXJ2YWxfZGlhbG9nX29uX2tleV9wcmVzcyI6e30sImhlYWRlcl9pbnRlcnZhbF9kaWFsb2dfYnV0dG9uIjp7InN1YnNldHMiOlsic2hvd19pbnRlcnZhbF9kaWFsb2dfb25fa2V5X3ByZXNzIl19LCJoZWFkZXJfZnVsbHNjcmVlbl9idXR0b24iOnt9LCJoZWFkZXJfc3ltYm9sX3NlYXJjaCI6e30sInN5bWJvbF9zZWFyY2hfaG90X2tleSI6e30sImhlYWRlcl9yZXNvbHV0aW9ucyI6eyJzdWJzZXRzIjpbImhlYWRlcl9pbnRlcnZhbF9kaWFsb2dfYnV0dG9uIl19LCJoZWFkZXJfY2hhcnRfdHlwZSI6e30sImhlYWRlcl9zZXR0aW5ncyI6e30sImhlYWRlcl9pbmRpY2F0b3JzIjp7fSwiaGVhZGVyX2NvbXBhcmUiOnt9LCJoZWFkZXJfdW5kb19yZWRvIjp7fSwiaGVhZGVyX3F1aWNrX3NlYXJjaCI6e30sImhlYWRlcl9zY3JlZW5zaG90Ijp7fSwiaGVhZGVyX3NhdmVsb2FkIjp7fSwic3R1ZHlfb25fc3R1ZHkiOnt9LCJzY2FsZXNfZGF0ZV9mb3JtYXQiOnt9LCJzY2FsZXNfdGltZV9ob3Vyc19mb3JtYXQiOnt9LCJoZWFkZXJfd2lkZ2V0Ijp7InN1YnNldHMiOlsiaGVhZGVyX3dpZGdldF9kb21fbm9kZSIsImhlYWRlcl9zeW1ib2xfc2VhcmNoIiwiaGVhZGVyX3Jlc29sdXRpb25zIiwiaGVhZGVyX2NoYXJ0X3R5cGUiLCJoZWFkZXJfc2V0dGluZ3MiLCJoZWFkZXJfaW5kaWNhdG9ycyIsImhlYWRlcl9jb21wYXJlIiwiaGVhZGVyX3VuZG9fcmVkbyIsImhlYWRlcl9xdWlja19zZWFyY2giLCJoZWFkZXJfZnVsbHNjcmVlbl9idXR0b24iLCJjb21wYXJlX3N5bWJvbCIsImhlYWRlcl9zY3JlZW5zaG90Il19LCJsZWdlbmRfd2lkZ2V0Ijp7fSwiY29tcGFyZV9zeW1ib2wiOnsic3Vic2V0cyI6WyJoZWFkZXJfY29tcGFyZSJdfSwicHJvcGVydHlfcGFnZXMiOnsic3Vic2V0cyI6WyJzaG93X2NoYXJ0X3Byb3BlcnR5X3BhZ2UiLCJjaGFydF9wcm9wZXJ0eV9wYWdlIl19LCJzaG93X2NoYXJ0X3Byb3BlcnR5X3BhZ2UiOnt9LCJjaGFydF9wcm9wZXJ0eV9wYWdlIjp7InN1YnNldHMiOlsiY2hhcnRfcHJvcGVydHlfcGFnZV9zY2FsZXMiLCJjaGFydF9wcm9wZXJ0eV9wYWdlX3RyYWRpbmciLCJjaGFydF9wcm9wZXJ0eV9wYWdlX3JpZ2h0X21hcmdpbl9lZGl0b3IiXX0sImxlZnRfdG9vbGJhciI6e30sInJpZ2h0X3Rvb2xiYXIiOnt9LCJoaWRlX2xlZnRfdG9vbGJhcl9ieV9kZWZhdWx0Ijp7fSwiY29udHJvbF9iYXIiOnt9LCJ3aWRnZXRfbG9nbyI6e30sInRpbWVmcmFtZXNfdG9vbGJhciI6e30sImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiOnsic3Vic2V0cyI6WyJzaG93X2hpZGVfYnV0dG9uX2luX2xlZ2VuZCIsImZvcm1hdF9idXR0b25faW5fbGVnZW5kIiwic3R1ZHlfYnV0dG9uc19pbl9sZWdlbmQiLCJkZWxldGVfYnV0dG9uX2luX2xlZ2VuZCIsImxlZ2VuZF9pbnBsYWNlX2VkaXQiXX0sInNob3dfaGlkZV9idXR0b25faW5fbGVnZW5kIjp7fSwib2JqZWN0X3RyZWVfbGVnZW5kX21vZGUiOnt9LCJmb3JtYXRfYnV0dG9uX2luX2xlZ2VuZCI6e30sInN0dWR5X2J1dHRvbnNfaW5fbGVnZW5kIjp7fSwiZGVsZXRlX2J1dHRvbl9pbl9sZWdlbmQiOnt9LCJsZWdlbmRfaW5wbGFjZV9lZGl0Ijp7fSwiYnJva2VyX2J1dHRvbiI6e30sImJ1eV9zZWxsX2J1dHRvbnMiOnsic3Vic2V0cyI6WyJicm9rZXJfYnV0dG9uIl19LCJzaG93X2J1eV9zZWxsX2J1dHRvbnNfb25fdW5zdXBwb3J0ZWRfcmVzb2x1dGlvbiI6e30sInBhbmVfY29udGV4dF9tZW51Ijp7fSwic2NhbGVzX2NvbnRleHRfbWVudSI6e30sImxlZ2VuZF9jb250ZXh0X21lbnUiOnt9LCJjb250ZXh0X21lbnVzIjp7InN1YnNldHMiOlsicGFuZV9jb250ZXh0X21lbnUiLCJzY2FsZXNfY29udGV4dF9tZW51IiwibGVnZW5kX2NvbnRleHRfbWVudSIsIm9iamVjdHNfdHJlZV9jb250ZXh0X21lbnUiXX0sIml0ZW1zX2Zhdm9yaXRpbmciOnt9LCJzYXZlX2NoYXJ0X3Byb3BlcnRpZXNfdG9fbG9jYWxfc3RvcmFnZSI6e30sInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIjp7InN1YnNldHMiOlsiaXRlbXNfZmF2b3JpdGluZyIsInNhdmVfY2hhcnRfcHJvcGVydGllc190b19sb2NhbF9zdG9yYWdlIl19LCJoYW5kbGVfc2NhbGUiOnsic3Vic2V0cyI6WyJtb3VzZV93aGVlbF9zY2FsZSIsInBpbmNoX3NjYWxlIiwiYXhpc19wcmVzc2VkX21vdXNlX21vdmVfc2NhbGUiXX0sImhhbmRsZV9zY3JvbGwiOnsic3Vic2V0cyI6WyJtb3VzZV93aGVlbF9zY3JvbGwiLCJwcmVzc2VkX21vdXNlX21vdmVfc2Nyb2xsIiwiaG9yel90b3VjaF9kcmFnX3Njcm9sbCIsInZlcnRfdG91Y2hfZHJhZ19zY3JvbGwiXX0sInBsYWluX3N0dWR5bWFya2V0Ijp7fSwiZGlzYWJsZV9yZXNvbHV0aW9uX3JlYnVpbGQiOnt9LCJib3JkZXJfYXJvdW5kX3RoZV9jaGFydCI6e30sImNoYXJ0aW5nX2xpYnJhcnlfZGVidWdfbW9kZSI6e30sInNhdmVsb2FkX3JlcXVpcmVzX2F1dGhlbnRpY2F0aW9uIjp7fSwic2F2ZWxvYWRfc3RvcmFnZV9jdXN0b21pemF0aW9uIjp7fSwidm9sdW1lX2ZvcmNlX292ZXJsYXkiOnt9LCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0Ijp7fSwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdF9vbmNlIjp7fSwic2F2ZWRfY2hhcnRzX2NvdW50X3Jlc3RyaWN0aW9uIjp7fSwibGVhbl9jaGFydF9sb2FkIjp7fSwic3RvcF9zdHVkeV9vbl9yZXN0YXJ0Ijp7fSwic3Rhcl9zb21lX2ludGVydmFsc19ieV9kZWZhdWx0Ijp7fSwibW92ZV9sb2dvX3RvX21haW5fcGFuZSI6e30sInNob3dfYW5pbWF0ZWRfbG9nbyI6e30sImxpbmtfdG9fdHJhZGluZ3ZpZXciOnt9LCJsb2dvX3dpdGhvdXRfbGluayI6e30sImxvZ29fYWx3YXlzX21heGltaXplZCI6e30sInJpZ2h0X2Jhcl9zdGF5c19vbl9zY3JvbGwiOnt9LCJjaGFydF9jb250ZW50X292ZXJyaWRlc19ieV9kZWZhdWx0cyI6e30sInNuYXBzaG90X3RyYWRpbmdfZHJhd2luZ3MiOnt9LCJhbGxvd19zdXBwb3J0ZWRfcmVzb2x1dGlvbnNfc2V0X29ubHkiOnt9LCJ3aWRnZXRiYXJfdGFicyI6eyJzdWJzZXRzIjpbInJpZ2h0X3Rvb2xiYXIiXX0sInNob3dfb2JqZWN0X3RyZWUiOnsic3Vic2V0cyI6WyJyaWdodF90b29sYmFyIl19LCJkb21fd2lkZ2V0Ijp7InN1YnNldHMiOlsicmlnaHRfdG9vbGJhciJdfSwiY29sbGFwc2libGVfaGVhZGVyIjp7fSwic3R1ZHlfdGVtcGxhdGVzIjp7fSwia2VlcF9zZWxlY3RlZF9ncm91cF9vbl90b29sX2NyZWF0aW9uIjp7fSwic2lkZV90b29sYmFyX2luX2Z1bGxzY3JlZW5fbW9kZSI6e30sImhlYWRlcl9pbl9mdWxsc2NyZWVuX21vZGUiOnt9LCJyZW1vdmVfbGlicmFyeV9jb250YWluZXJfYm9yZGVyIjp7fSwid2hvdHJhZGVzX2F1dGhfb25seSI6e30sInN1cHBvcnRfbXVsdGljaGFydHMiOnt9LCJkaXNwbGF5X21hcmtldF9zdGF0dXMiOnt9LCJkaXNwbGF5X2RhdGFfbW9kZSI6e30sImRhdGFzb3VyY2VfY29weXBhc3RlIjp7fSwiZHJhd2luZ190ZW1wbGF0ZXMiOnsic3Vic2V0cyI6WyJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIl19LCJleHBhbmRfc3ltYm9sc2VhcmNoX2l0ZW1zIjp7fSwic3ltYm9sX3NlYXJjaF90aHJlZV9jb2x1bW5zX2V4Y2hhbmdlcyI6e30sInN5bWJvbF9zZWFyY2hfZmxhZ3MiOnt9LCJzeW1ib2xfc2VhcmNoX2xpbWl0ZWRfZXhjaGFuZ2VzIjp7fSwiYnVncmVwb3J0X2J1dHRvbiI6eyJzdWJzZXRzIjpbInJpZ2h0X3Rvb2xiYXIiXX0sImhlYWRlcl90cmFkZV9idXR0b24iOnt9LCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIjp7fSwiZm9vdGVyX3B1Ymxpc2hfaWRlYV9idXR0b24iOnt9LCJ0ZXh0X25vdGVzIjp7fSwic2hvd19zb3VyY2VfY29kZSI6e30sInN5bWJvbF9pbmZvIjp7fSwibm9fYmFyc19zdGF0dXMiOnt9LCJjbGVhcl9iYXJzX29uX3Nlcmllc19lcnJvciI6e30sImhpZGVfbG9hZGluZ19zY3JlZW5fb25fc2VyaWVzX2Vycm9yIjp7fSwic2Vjb25kc19yZXNvbHV0aW9uIjp7fSwiZG9udF9zaG93X2Jvb2xlYW5fc3R1ZHlfYXJndW1lbnRzIjp7fSwiaGlkZV9sYXN0X25hX3N0dWR5X291dHB1dCI6e30sInByaWNlX3NjYWxlX2Fsd2F5c19sYXN0X2Jhcl92YWx1ZSI6e30sInN0dWR5X2RpYWxvZ19mdW5kYW1lbnRhbHNfZWNvbm9teV9hZGRvbnMiOnt9LCJ1cHBlcmNhc2VfaW5zdHJ1bWVudF9uYW1lcyI6e30sInRyYWRpbmdfbm90aWZpY2F0aW9ucyI6e30sImNoYXJ0X2Nyb3NzaGFpcl9tZW51Ijp7fSwiamFwYW5lc2VfY2hhcnRfc3R5bGVzIjp7fSwiaGlkZV9zZXJpZXNfbGVnZW5kX2l0ZW0iOnt9LCJoaWRlX3N0dWR5X292ZXJsYXlfbGVnZW5kX2l0ZW0iOnt9LCJoaWRlX3N0dWR5X2NvbXBhcmVfbGVnZW5kX2l0ZW0iOnt9LCJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIjp7fSwidXNlX292ZXJyaWRlc19mb3Jfb3ZlcmxheSI6e30sInRpbWV6b25lX21lbnUiOnt9LCJtYWluX3Nlcmllc19zY2FsZV9tZW51Ijp7fSwic2hvd19sb2dpbl9kaWFsb2ciOnt9LCJyZW1vdmVfaW1nX2Zyb21fcnNzIjp7fSwiYmFyc19tYXJrcyI6e30sImNoYXJ0X3Njcm9sbCI6e30sImNoYXJ0X3pvb20iOnt9LCJzb3VyY2Vfc2VsZWN0aW9uX21hcmtlcnMiOnt9LCJsb3dfZGVuc2l0eV9iYXJzIjp7fSwiZW5kX29mX3BlcmlvZF90aW1lc2NhbGVfbWFya3MiOnt9LCJvcGVuX2FjY291bnRfbWFuYWdlciI6e30sInNob3dfb3JkZXJfcGFuZWxfb25fc3RhcnQiOnt9LCJvcmRlcl9wYW5lbCI6eyJzdWJzZXRzIjpbIm9yZGVyX3BhbmVsX2Nsb3NlX2J1dHRvbiIsIm9yZGVyX3BhbmVsX3VuZG9jayIsInJpZ2h0X3Rvb2xiYXIiLCJvcmRlcl9pbmZvIl19LCJtdWx0aXBsZV93YXRjaGxpc3RzIjp7fSwid2F0Y2hsaXN0X2ltcG9ydF9leHBvcnQiOnt9LCJzdHVkeV9vdmVybGF5X2NvbXBhcmVfbGVnZW5kX29wdGlvbiI6e30sIm1vYmlsZV9hcHBfYWN0aW9uX29wZW5fZGV0YWlsc193ZWJ2aWV3Ijp7fSwiY3VzdG9tX3Jlc29sdXRpb25zIjp7fSwicmVmZXJyYWxfcHJvZ3JhbV9mb3Jfd2lkZ2V0X293bmVycyI6e30sIm1vYmlsZV90cmFkaW5nIjp7fSwicmVhbF9icm9rZXJzIjp7fSwicXVpY2tfdHJhZGluZ19wYW5lbCI6e30sIm5hdGl2ZV9tb2JpbGVfYnJva2Vyc19saXN0Ijp7fSwibm9fbWluX2NoYXJ0X3dpZHRoIjp7fSwibG9ja192aXNpYmxlX3RpbWVfcmFuZ2Vfb25fcmVzaXplIjp7fSwicHJpY2VzY2FsZV9jdXJyZW5jeSI6e30sImNyb3BwZWRfdGlja19tYXJrcyI6e30sInRyYWRpbmdfYWNjb3VudF9tYW5hZ2VyIjp7fSwiZGlzYWJsZV9zYW1laW50ZXJ2YWxfYWxpZ25pbmciOnt9LCJkaXNwbGF5X2xlZ2VuZF9vbl9hbGxfY2hhcnRzIjp7fSwiY2hhcnRfc3R5bGVfaGlsbyI6e30sImNoYXJ0X3N0eWxlX2hpbG9fbGFzdF9wcmljZSI6e30sInByaWNlc2NhbGVfdW5pdCI6e30sInNob3dfc3ByZWFkX29wZXJhdG9ycyI6e30sImhpZGVfZXhwb25lbnRpYXRpb25fc3ByZWFkX29wZXJhdG9yIjp7fSwiaGlkZV9yZWNpcHJvY2FsX3NwcmVhZF9vcGVyYXRvciI6e30sImNvbXBhcmVfc3ltYm9sX3NlYXJjaF9zcHJlYWRfb3BlcmF0b3JzIjp7fSwic3R1ZGllc19zeW1ib2xfc2VhcmNoX3NwcmVhZF9vcGVyYXRvcnMiOnt9LCJoaWRlX3Jlc29sdXRpb25faW5fbGVnZW5kIjp7fSwiaGlkZV91bnJlc29sdmVkX3N5bWJvbHNfaW5fbGVnZW5kIjp7fSwiZml4X2xlZnRfZWRnZSI6e30sInN0dWR5X3N5bWJvbF90aWNrZXJfZGVzY3JpcHRpb24iOnt9LCJ0d29fY2hhcmFjdGVyX2Jhcl9tYXJrc19sYWJlbHMiOnt9LCJwaW5fYmFyX21hcmtfdG9vbHRpcHNfb25fY2xpY2siOnt9LCJ0aWNrX3Jlc29sdXRpb24iOnt9LCJzZWNvbmRhcnlfc2VyaWVzX2V4dGVuZF90aW1lX3NjYWxlIjp7fSwiaGlkZV92b2x1bWVfbWEiOnt9LCJzbWFsbF9ub19kaXNwbGF5Ijp7fSwiY2hhcnRpbmdfbGlicmFyeV9zaW5nbGVfc3ltYm9sX3JlcXVlc3QiOnt9LCJ1c2VfdGlja2VyX29uX3N5bWJvbF9pbmZvX3VwZGF0ZSI6e30sInNob3dfem9vbV9hbmRfbW92ZV9idXR0b25zX29uX3RvdWNoIjp7fSwiaGlkZV9tYWluX3Nlcmllc19zeW1ib2xfZnJvbV9pbmRpY2F0b3JfbGVnZW5kIjp7fSwiY2hhcnRfaGlkZV9jbG9zZV9wb3NpdGlvbl9idXR0b24iOnt9LCJjaGFydF9oaWRlX2Nsb3NlX29yZGVyX2J1dHRvbiI6e30sImhpZGVfcHJpY2Vfc2NhbGVfZ2xvYmFsX2xhc3RfYmFyX3ZhbHVlIjp7InN1YnNldHMiOlsidXNlX2xhc3RfdmlzaWJsZV9iYXJfdmFsdWVfaW5fbGVnZW5kIl19LCJrZWVwX29iamVjdF90cmVlX3dpZGdldF9pbl9yaWdodF90b29sYmFyIjp7fSwic2hvd19hdmVyYWdlX2Nsb3NlX3ByaWNlX2xpbmVfYW5kX2xhYmVsIjp7fSwiaGlkZV9pbWFnZV9pbnZhbGlkX3N5bWJvbCI6e30sImhpZGVfb2JqZWN0X3RyZWVfYW5kX3ByaWNlX3NjYWxlX2V4Y2hhbmdlX2xhYmVsIjp7fSwiY29uZmlybV9vdmVyd3JpdGVfaWZfY2hhcnRfbGF5b3V0X3dpdGhfbmFtZV9leGlzdHMiOnt9LCJkZXRlcm1pbmVfZmlyc3RfZGF0YV9yZXF1ZXN0X3NpemVfdXNpbmdfdmlzaWJsZV9yYW5nZSI6e30sInVzZV9uYV9zdHJpbmdfZm9yX25vdF9hdmFpbGFibGVfdmFsdWVzIjp7fSwic2hvd19sYXN0X3ByaWNlX2FuZF9jaGFuZ2Vfb25seV9pbl9zZXJpZXNfbGVnZW5kIjp7fSwibGVnZW5kX2xhc3RfZGF5X2NoYW5nZSI6e30sImlmcmFtZV9sb2FkaW5nX2NvbXBhdGliaWxpdHlfbW9kZSI6e30sInNob3dfcGVyY2VudF9vcHRpb25fZm9yX3JpZ2h0X21hcmdpbiI6e30sIndhdGNobGlzdF9jb250ZXh0X21lbnUiOnt9LCJhY2Nlc3NpYmxlX2tleWJvYXJkX3Nob3J0Y3V0cyI6e30sImFkdmFuY2VkX2Vtb2ppX2luX3RpdGxlcyI6e30sImFwcF9waG9uZSI6e30sImFwcF90YWJsZXQiOnt9LCJtb2JpbGVfYXBwX2hpZGVfcmVwbGF5X3Rvb2xiYXIiOnt9LCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciI6e30sInNob3dfbmF0aXZlX3N5bWJvbF9zZWFyY2hfb25fdGFwX2luX2xlZ2VuZCI6e30sInNob3dfbmF0aXZlX3N5bWJvbF9zZWFyY2hfb25fbm9uX3RyYWRhYmxlIjp7fSwic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyI6e30sInByZV9wb3N0X21hcmtldF9wcmljZV9saW5lIjp7fSwicHJlX3Bvc3RfbWFya2V0X3Nlc3Npb25zIjp7fSwic3R1ZGllc19leHRlbmRfdGltZV9zY2FsZSI6e30sImluYWN0aXZpdHlfZ2FwcyI6e30sImFsaWduX2R3bV9iYXJzX3RvX21haW5fc2VyaWVzIjp7fSwicmVxdWVzdF9vbmx5X3Zpc2libGVfcmFuZ2Vfb25fcmVzZXQiOnt9LCJleHRlbmRlZF9leHRyYXBvbGF0aW9uX2xpbWl0Ijp7fSwidHZfcHJvZHVjdGlvbiI6eyJzdWJzZXRzIjpbIndhdGNobGlzdF9zZWN0aW9ucyIsImFkdmFuY2VkX2Vtb2ppX2luX3RpdGxlcyIsImF1dG9fZW5hYmxlX3N5bWJvbF9sYWJlbHMiLCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiIsImhlYWRlcl9mdWxsc2NyZWVuX2J1dHRvbiIsImhlYWRlcl93aWRnZXQiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJsZWZ0X3Rvb2xiYXIiLCJyaWdodF90b29sYmFyIiwiYnV5X3NlbGxfYnV0dG9ucyIsImNvbnRyb2xfYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwiY29udGV4dF9tZW51cyIsImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiLCJvYmplY3RfdHJlZV9sZWdlbmRfbW9kZSIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwidXNlX2xvY2Fsc3RvcmFnZV9mb3Jfc2V0dGluZ3MiLCJzYXZlbG9hZF9yZXF1aXJlc19hdXRoZW50aWNhdGlvbiIsInZvbHVtZV9mb3JjZV9vdmVybGF5Iiwic2F2ZWRfY2hhcnRzX2NvdW50X3Jlc3RyaWN0aW9uIiwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdCIsImNyZWF0ZV92b2x1bWVfaW5kaWNhdG9yX2J5X2RlZmF1bHRfb25jZSIsImNoYXJ0c19hdXRvX3NhdmUiLCJzYXZlX29sZF9jaGFydF9iZWZvcmVfc2F2ZV9hcyIsImNoYXJ0X2NvbnRlbnRfb3ZlcnJpZGVzX2J5X2RlZmF1bHRzIiwiYWxlcnRzIiwiaGVhZGVyX3NhdmVsb2FkIiwiaGVhZGVyX2xheW91dHRvZ2dsZSIsImRhdGFzb3VyY2VfY29weXBhc3RlIiwic2hvd19zYXZlZF93YXRjaGxpc3RzIiwid2F0Y2hsaXN0c19mcm9tX3RvX2ZpbGUiLCJhZGRfdG9fd2F0Y2hsaXN0IiwicHJvcGVydHlfcGFnZXMiLCJzdXBwb3J0X211bHRpY2hhcnRzIiwiZGlzcGxheV9tYXJrZXRfc3RhdHVzIiwiZGlzcGxheV9kYXRhX21vZGUiLCJzaG93X2NoYXJ0X3dhcm5fbWVzc2FnZSIsInN1cHBvcnRfbWFuYWdlX2RyYXdpbmdzIiwid2lkZ2V0YmFyX3RhYnMiLCJzdHVkeV90ZW1wbGF0ZXMiLCJjb2xsYXBzaWJsZV9oZWFkZXIiLCJkcmF3aW5nX3RlbXBsYXRlcyIsImhlYWRlcl90cmFkZV9idXR0b24iLCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIiwiZm9vdGVyX3B1Ymxpc2hfaWRlYV9idXR0b24iLCJ0ZXh0X25vdGVzIiwic2hvd19zb3VyY2VfY29kZSIsInN5bWJvbF9pbmZvIiwibGluZXRvb2xwcm9wZXJ0aWVzd2lkZ2V0X3RlbXBsYXRlX2J1dHRvbiIsInRyYWRpbmdfbm90aWZpY2F0aW9ucyIsInN5bWJvbF9zZWFyY2hfdGhyZWVfY29sdW1uc19leGNoYW5nZXMiLCJzeW1ib2xfc2VhcmNoX2ZsYWdzIiwic3ltYm9sX3NlYXJjaF9saW1pdGVkX2V4Y2hhbmdlcyIsInBob25lX3ZlcmlmaWNhdGlvbiIsImN1c3RvbV9yZXNvbHV0aW9ucyIsImNvbXBhcmVfc3ltYm9sIiwic3R1ZHlfb25fc3R1ZHkiLCJqYXBhbmVzZV9jaGFydF9zdHlsZXMiLCJzaG93X2xvZ2luX2RpYWxvZyIsImRvbV93aWRnZXQiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNob3dfdHJhZGluZ19ub3RpZmljYXRpb25zX2hpc3RvcnkiLCJzb3VyY2Vfc2VsZWN0aW9uX21hcmtlcnMiLCJzdHVkeV9kaWFsb2dfZnVuZGFtZW50YWxzX2Vjb25vbXlfYWRkb25zIiwibXVsdGlwbGVfd2F0Y2hsaXN0cyIsIm1hcmtlZF9zeW1ib2xzIiwib3JkZXJfcGFuZWwiLCJwcmljZXNjYWxlX2N1cnJlbmN5Iiwic2hvd19hbmltYXRlZF9sb2dvIiwicHJpY2VzY2FsZV9jdXJyZW5jeSIsInNob3dfb2JqZWN0X3RyZWUiLCJ3YXRjaGxpc3RfaW1wb3J0X2V4cG9ydCIsInNjYWxlc19kYXRlX2Zvcm1hdCIsInNjYWxlc190aW1lX2hvdXJzX2Zvcm1hdCIsInBvcHVwX2hpbnRzIiwic2hvd19yaWdodF93aWRnZXRzX3BhbmVsX2J5X2RlZmF1bHQiLCJjb21wYXJlX3JlY2VudF9zeW1ib2xzX2VuYWJsZWQiLCJjaGFydF9zdHlsZV9oaWxvX2xhc3RfcHJpY2UiLCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIsInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiLCJrZWVwX3NlbGVjdGVkX2dyb3VwX29uX3Rvb2xfY3JlYXRpb24iXX0sIndpZGdldCI6eyJzdWJzZXRzIjpbImF1dG9fZW5hYmxlX3N5bWJvbF9sYWJlbHMiLCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwibGVmdF90b29sYmFyIiwicmlnaHRfdG9vbGJhciIsImNvbnRyb2xfYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwiY29udGV4dF9tZW51cyIsImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiLCJvYmplY3RfdHJlZV9sZWdlbmRfbW9kZSIsInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIiwic2F2ZWxvYWRfcmVxdWlyZXNfYXV0aGVudGljYXRpb24iLCJ2b2x1bWVfZm9yY2Vfb3ZlcmxheSIsImNyZWF0ZV92b2x1bWVfaW5kaWNhdG9yX2J5X2RlZmF1bHQiLCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0X29uY2UiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJoZWFkZXJfd2lkZ2V0X2RvbV9ub2RlIiwiaGVhZGVyX3N5bWJvbF9zZWFyY2giLCJoZWFkZXJfcmVzb2x1dGlvbnMiLCJoZWFkZXJfY2hhcnRfdHlwZSIsImhlYWRlcl9jb21wYXJlIiwiaGVhZGVyX2luZGljYXRvcnMiLCJzdGFyX3NvbWVfaW50ZXJ2YWxzX2J5X2RlZmF1bHQiLCJkaXNwbGF5X21hcmtldF9zdGF0dXMiLCJkaXNwbGF5X2RhdGFfbW9kZSIsInNob3dfY2hhcnRfd2Fybl9tZXNzYWdlIiwic3ltYm9sX2luZm8iLCJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIiwic3ltYm9sX3NlYXJjaF90aHJlZV9jb2x1bW5zX2V4Y2hhbmdlcyIsInN5bWJvbF9zZWFyY2hfZmxhZ3MiLCJzeW1ib2xfc2VhcmNoX2xpbWl0ZWRfZXhjaGFuZ2VzIiwid2lkZ2V0YmFyX3RhYnMiLCJjb21wYXJlX3N5bWJvbCIsInNob3dfbG9naW5fZGlhbG9nIiwicGxhaW5fc3R1ZHltYXJrZXQiLCJqYXBhbmVzZV9jaGFydF9zdHlsZXMiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNvdXJjZV9zZWxlY3Rpb25fbWFya2VycyIsInByb3BlcnR5X3BhZ2VzIiwic2hvd19yaWdodF93aWRnZXRzX3BhbmVsX2J5X2RlZmF1bHQiLCJjaGFydF9zdHlsZV9oaWxvX2xhc3RfcHJpY2UiLCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIl19LCJib3Zlc3BhX3dpZGdldCI6eyJzdWJzZXRzIjpbIndpZGdldCIsImhlYWRlcl9zZXR0aW5ncyIsImxpbmV0b29scHJvcGVydGllc3dpZGdldF90ZW1wbGF0ZV9idXR0b24iLCJjb21wYXJlX3JlY2VudF9zeW1ib2xzX2VuYWJsZWQiXX0sImNoYXJ0aW5nX2xpYnJhcnlfYmFzZSI6eyJzdWJzZXRzIjpbIjE0ODUxIiwiYWxsb3dfc3VwcG9ydGVkX3Jlc29sdXRpb25zX3NldF9vbmx5IiwiYXV0b19lbmFibGVfc3ltYm9sX2xhYmVscyIsImJvcmRlcl9hcm91bmRfdGhlX2NoYXJ0IiwiY29sbGFwc2libGVfaGVhZGVyIiwiY29uc3RyYWludF9kaWFsb2dzX21vdmVtZW50IiwiY29udGV4dF9tZW51cyIsImNvbnRyb2xfYmFyIiwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdCIsImN1c3RvbV9pdGVtc19pbl9jb250ZXh0X21lbnUiLCJkYXRhc291cmNlX2NvcHlwYXN0ZSIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwiZGlzcGxheV9tYXJrZXRfc3RhdHVzIiwiZWRpdF9idXR0b25zX2luX2xlZ2VuZCIsIm9iamVjdF90cmVlX2xlZ2VuZF9tb2RlIiwiZ3JheWluZ19kaXNhYmxlZF90b29sc19lbmFibGVkIiwiaGVhZGVyX3dpZGdldCIsImxlZ2VuZF93aWRnZXQiLCJoZWFkZXJfc2F2ZWxvYWQiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJsZWFuX2NoYXJ0X2xvYWQiLCJsZWZ0X3Rvb2xiYXIiLCJyaWdodF90b29sYmFyIiwibGlua190b190cmFkaW5ndmlldyIsInBheV9hdHRlbnRpb25fdG9fdGlja2VyX25vdF9zeW1ib2wiLCJwbGFpbl9zdHVkeW1hcmtldCIsInJlZnJlc2hfc2F2ZWRfY2hhcnRzX2xpc3Rfb25fZGlhbG9nX3Nob3ciLCJyaWdodF9iYXJfc3RheXNfb25fc2Nyb2xsIiwic2F2ZWxvYWRfc3RvcmFnZV9jdXN0b21pemF0aW9uIiwic3RvcF9zdHVkeV9vbl9yZXN0YXJ0IiwidGltZWZyYW1lc190b29sYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwidXBkYXRlX3N0dWR5X2Zvcm1hdHRlcl9vbl9zeW1ib2xfcmVzb2x2ZSIsInVwZGF0ZV90aW1lZnJhbWVzX3NldF9vbl9zeW1ib2xfcmVzb2x2ZSIsInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIiwidm9sdW1lX2ZvcmNlX292ZXJsYXkiLCJ3aWRnZXRfbG9nbyIsImNvdW50ZG93biIsInVzZV9vdmVycmlkZXNfZm9yX292ZXJsYXkiLCJ0cmFkaW5nX25vdGlmaWNhdGlvbnMiLCJjb21wYXJlX3N5bWJvbCIsInN5bWJvbF9pbmZvIiwidGltZXpvbmVfbWVudSIsIm1haW5fc2VyaWVzX3NjYWxlX21lbnUiLCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0X29uY2UiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNvdXJjZV9zZWxlY3Rpb25fbWFya2VycyIsInByb3BlcnR5X3BhZ2VzIiwiZ29fdG9fZGF0ZSIsImFkYXB0aXZlX2xvZ28iLCJzaG93X2FuaW1hdGVkX2xvZ28iLCJoYW5kbGVfc2NhbGUiLCJoYW5kbGVfc2Nyb2xsIiwic2hpZnRfdmlzaWJsZV9yYW5nZV9vbl9uZXdfYmFyIiwiY2hhcnRfY29udGVudF9vdmVycmlkZXNfYnlfZGVmYXVsdHMiLCJjcm9wcGVkX3RpY2tfbWFya3MiLCJzY2FsZXNfZGF0ZV9mb3JtYXQiLCJzY2FsZXNfdGltZV9ob3Vyc19mb3JtYXQiLCJwb3B1cF9oaW50cyIsInNhdmVfc2hvcnRjdXQiLCJzaG93X3JpZ2h0X3dpZGdldHNfcGFuZWxfYnlfZGVmYXVsdCIsInNob3dfb2JqZWN0X3RyZWUiLCJpbnNlcnRfaW5kaWNhdG9yX2RpYWxvZ19zaG9ydGN1dCIsImNvbXBhcmVfcmVjZW50X3N5bWJvbHNfZW5hYmxlZCIsImhpZGVfbWFpbl9zZXJpZXNfc3ltYm9sX2Zyb21faW5kaWNhdG9yX2xlZ2VuZCIsImNoYXJ0X3N0eWxlX2hpbG8iLCJyZXF1ZXN0X29ubHlfdmlzaWJsZV9yYW5nZV9vbl9yZXNldCIsImNsZWFyX3ByaWNlX3NjYWxlX29uX2Vycm9yX29yX2VtcHR5X2JhcnMiLCJzaG93X3N5bWJvbF9sb2dvX2luX2xlZ2VuZCIsInNob3dfc3ltYm9sX2xvZ29fZm9yX2NvbXBhcmVfc3R1ZGllcyIsImxpYnJhcnlfY3VzdG9tX2NvbG9yX3RoZW1lcyIsImxvbmdfcHJlc3NfZmxvYXRpbmdfdG9vbHRpcCIsInN5bWJvbF9zZWFyY2hfaGlnaGxpZ2h0X2FjdGl2ZV9zeW1ib2wiXX0sImNoYXJ0aW5nX2xpYnJhcnkiOnsic3Vic2V0cyI6WyJjaGFydGluZ19saWJyYXJ5X2Jhc2UiXX0sInN0YXRpY19jaGFydHNfc2VydmljZSI6eyJzdWJzZXRzIjpbImNoYXJ0aW5nX2xpYnJhcnkiLCJkaXNhYmxlX3Jlc29sdXRpb25fcmVidWlsZCJdfSwidHJhZGluZ190ZXJtaW5hbCI6eyJzdWJzZXRzIjpbImNoYXJ0aW5nX2xpYnJhcnlfYmFzZSIsInN1cHBvcnRfbXVsdGljaGFydHMiLCJoZWFkZXJfbGF5b3V0dG9nZ2xlIiwiamFwYW5lc2VfY2hhcnRfc3R5bGVzIiwiY2hhcnRfcHJvcGVydHlfcGFnZV90cmFkaW5nIiwiYWRkX3RvX3dhdGNobGlzdCIsIm9wZW5fYWNjb3VudF9tYW5hZ2VyIiwic2hvd19kb21fZmlyc3RfdGltZSIsIm9yZGVyX3BhbmVsIiwiYnV5X3NlbGxfYnV0dG9ucyIsIm11bHRpcGxlX3dhdGNobGlzdHMiLCJzaG93X3RyYWRpbmdfbm90aWZpY2F0aW9uc19oaXN0b3J5IiwiYWx3YXlzX3Bhc3NfY2FsbGVkX29yZGVyX3RvX21vZGlmeSIsInNob3dfb2JqZWN0X3RyZWUiLCJ3YXRjaGxpc3RfaW1wb3J0X2V4cG9ydCIsImRyYXdpbmdfdGVtcGxhdGVzIiwidHJhZGluZ19hY2NvdW50X21hbmFnZXIiLCJjaGFydF9jcm9zc2hhaXJfbWVudSIsImNvbXBhcmVfcmVjZW50X3N5bWJvbHNfZW5hYmxlZCIsIndhdGNobGlzdF9jb250ZXh0X21lbnUiLCJzaG93X3N5bWJvbF9sb2dvX2luX2FjY291bnRfbWFuYWdlciIsInNob3dfc3ltYm9sX2xvZ29faW5fY2xvc2VfcG9zaXRpb25fZGlhbG9nIiwic2hvd19zeW1ib2xfbG9nb19pbl9jYW5jZWxfb3JkZXJfZGlhbG9nIiwid2F0Y2hsaXN0X3NlY3Rpb25zIiwicHJlZmVyX3F1b3RlX3Nob3J0X25hbWUiLCJlbmFibGVfZG9tX2RhdGFfZm9yX3VudHJhZGFibGVfc3ltYm9scyIsInByZWZlcl9zeW1ib2xfbmFtZV9vdmVyX2Z1bGxuYW1lIiwid2F0Y2hsaXN0X2Nyb3NzX3RhYl9zeW5jIl19fScpCn0sNzQ2OTQ5KGUpewplLmV4cG9ydHM9SlNPTi5wYXJzZSgneyJhZHgiOiJ3aWRnZXRfdXNlcl90b2tlbi1hZHgiLCJhZHhEIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWR4RCIsImFnZW5jaWFsYm1jb21iciI6IndpZGdldF91c2VyX3Rva2VuLWFnZW5jaWFsYm1jb21iciIsImFsamF6aXJhY2FwaXRhbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbGphemlyYWNhcGl0YWxEIiwiYWxqYXppcmFjYXBpdGFsUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbGphemlyYWNhcGl0YWxSVCIsImFscmFqaGljYXBpdGFsY29tRCI6IndpZGdldF91c2VyX3Rva2VuLWFscmFqaGljYXBpdGFsY29tRCIsImFscmFqaGljYXBpdGFsY29tUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbHJhamhpY2FwaXRhbGNvbVJUIiwiYW1iaXRvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYW1iaXRvIiwiYXJlbmF4dHJvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYXJlbmF4dHJvIiwiYXJ0ZWNoZWNvbSI6IndpZGdldF91c2VyX3Rva2VuLUFydGVjaGVEIiwiYXRsY2FwaXRhbCI6IndpZGdldF91c2VyX3Rva2VuLWF0bGNhcGl0YWwiLCJiYW5raXJvc3J1Ijoid2lkZ2V0X3VzZXJfdG9rZW4tYmFua2lyb3NydSIsImJidmFjaCI6IndpZGdldF91c2VyX3Rva2VuLWJidmFjaCIsImJlZWtzZ3JvdXAiOiJ3aWRnZXRfdXNlcl90b2tlbi1iZWVrc2dyb3VwIiwiYmVsdWdhZ3JvdXBydSI6IndpZGdldF91c2VyX3Rva2VuLWJlbHVnYWdyb3VwcnUiLCJiaXZhY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tYml2YWNvbSIsImJsdWVmaWVsZCI6IndpZGdldF91c2VyX3Rva2VuLWJsdWVmaWVsZCIsImJsdWVsaW5lZnV0dXJlcyI6IndpZGdldF91c2VyX3Rva2VuLWJsdWVsaW5lZnV0dXJlcyIsImJvdmVzcGEiOiJ3aWRnZXRfdXNlcl90b2tlbi1ibWZib3Zlc3BhY29tYnIiLCJidmJybyI6IndpZGdldF91c2VyX3Rva2VuLWJ2YnJvIiwiYnl0ZXRyYXZlbCI6IndpZGdldF91c2VyX3Rva2VuLWJ5dGV0cmF2ZWwiLCJjYm9lY2FuYWRhIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2JvZWNhbmFkYSIsImNoYW1waW9ubmF0Ym91cnNlIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2hhbXBpb25uYXRib3Vyc2UiLCJjaW5jb2RpYXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jaW5jb2RpYXMiLCJjZW9jYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1jZW9jYUQiLCJjZW9jYVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2VvY2FSVCIsImNtY21hcmtldHMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jbWNtYXJrZXRzIiwiY29wZWVzIjoid2lkZ2V0X3VzZXJfdG9rZW4tY29wZWVzIiwiY3NlbGsiOiJ3aWRnZXRfdXNlcl90b2tlbi1jc2VsayIsImRhaWx5ZngiOiJ3aWRnZXRfdXNlcl90b2tlbi1kYWlseWZ4IiwiZGVlcHNlYXJjaCI6IndpZGdldF91c2VyX3Rva2VuLWRlZXBzZWFyY2giLCJkZXJheWFoY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGVyYXlhaGNvbSIsImRmbWFlRCI6IndpZGdldF91c2VyX3Rva2VuLWRmbWFlRCIsImRmbWFlUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kZm1hZVJUIiwiZGluYXJzYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kaW5hcnNhRCIsImRpbmFyc2FSVCI6IndpZGdldF91c2VyX3Rva2VuLWRpbmFyc2FSVCIsImRvbGFyaG95Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZG9sYXJob3kiLCJlYXN5bnZlc3Rjb21iciI6IndpZGdldF91c2VyX3Rva2VuLWVhc3ludmVzdGNvbWJyIiwiZWRhaWx5Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZWRhaWx5IiwiZWxlc3Bhbm9sY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxlc3Bhbm9sY29tIiwiZWxvYnJlcm9lcyI6IndpZGdldF91c2VyX3Rva2VuLWVsb2JyZXJvZXMiLCJlbG5hY2lvbmFsRCI6IndpZGdldF91c2VyX3Rva2VuLUVsTmFjaW9uYWxEIiwiZWxwYWlzZmluYW5jaWVybyI6IndpZGdldF91c2VyX3Rva2VuLWVscGFpc2ZpbmFuY2llcm8iLCJlbHBlcmlvZGljb2RlbGFlbmVyZ2lhIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxwZXJpb2RpY29kZWxhZW5lcmdpYSIsImV1cXVlcm9pbnZlc3RpciI6IndpZGdldF91c2VyX3Rva2VuLWV1cXVlcm9pbnZlc3RpcmNvbSIsImV1cmV4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZXVyZXgiLCJldXJvZmlucyI6IndpZGdldF91c2VyX3Rva2VuLWV1cm9maW5zIiwiZXBlIjoid2lkZ2V0X3VzZXJfdG9rZW4tZXBlIiwiZXVyb3BhcHJlc3NlcyI6IndpZGdldF91c2VyX3Rva2VuLWV1cm9wYXByZXNzZXMiLCJmaW5hbnphc0QiOiJ3aWRnZXRfdXNlcl90b2tlbi1GaW5hbnphc0QiLCJmb3JiZXNjb21iciI6IndpZGdldF91c2VyX3Rva2VuLWZvcmJlc2NvbWJyIiwiZ2VuaWFsaW52ZXN0aW1lbnRvcyI6IndpZGdldF91c2VyX3Rva2VuLWdlbmlhbGludmVzdGltZW50b3MiLCJoZWFsdGhpdGFsaWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1oZWFsdGhpdGFsaWEiLCJoZWduYXJubyI6IndpZGdldF91c2VyX3Rva2VuLWhlZ25hcm5vIiwiaGlwb3RlY2FyaW9jb21hciI6IndpZGdldF91c2VyX3Rva2VuLWhpcG90ZWNhcmlvY29tYXIiLCJpZ2NvbSI6IndpZGdldF91c2VyX3Rva2VuLWlnY29tIiwiaW52ZXN0ZWdhdGVjb3VrIjoid2lkZ2V0X3VzZXJfdG9rZW4taW52ZXN0ZWdhdGVjb3VrIiwiaW52ZXN0b3BlZGlhIjoid2lkZ2V0X3VzZXJfdG9rZW4taW52ZXN0b3BlZGlhIiwiaW50ZWdyYWx5YXRpcmltIjoid2lkZ2V0X3VzZXJfdG9rZW4taW50ZWdyYWx5YXRpcmltIiwiaXZzZ3JvdXAiOiJ3aWRnZXRfdXNlcl90b2tlbi1pdnNncm91cCIsImpzZWNvemEiOiJ3aWRnZXRfdXNlcl90b2tlbi1qc2Vjb3phIiwiYm9lcnNlbnplaXR1bmciOiJ3aWRnZXRfdXNlcl90b2tlbi1ib2Vyc2VuemVpdHVuZyIsImxhaW5mb3JtYWNpb25jb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1sYWluZm9ybWFjaW9uY29tIiwibWFyY29wb2xvY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1tYXJjb3BvbG9jb21iciIsIm1lcmNhZG9maW5hbmNpZXJvY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tbWVyY2Fkb2ZpbmFuY2llcm9jb20iLCJtb2V4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tbW9leCIsIm1vbmV5dGltZXNjb21iciI6IndpZGdldF91c2VyX3Rva2VuLW1vbmV5dGltZXNjb21iciIsIm1vbml0b3Jkb21lcmNhZG9EIjoid2lkZ2V0X3VzZXJfdG9rZW4tbW9uaXRvcmRvbWVyY2Fkb0QiLCJteW5ldGNvbSI6IndpZGdldF91c2VyX3Rva2VuLW15bmV0Y29tIiwibmVnb2Npb3MiOiJ3aWRnZXRfdXNlcl90b2tlbi1uZWdvY2lvcyIsIk5HWCI6IndpZGdldF91c2VyX3Rva2VuLU5HWCIsIk5vdGljaWFzYWdyaWNvbGFEIjoid2lkZ2V0X3VzZXJfdG9rZW4tbm90aWNpYXNhZ3JpY29sYUQiLCJub21tb21hIjoid2lkZ2V0X3VzZXJfdG9rZW4tbm9tbW9tYSIsIm5zZWNva3IiOiJ3aWRnZXRfdXNlcl90b2tlbi1uc2Vjb2tyIiwib2tkaWFyaW8iOiJ3aWRnZXRfdXNlcl90b2tlbi1va2RpYXJpbyIsInBhbmFmcmljYW5yZXNvdXJjZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1wYW5hZnJpY2FucmVzb3VyY2VzY29tIiwicHNlIjoid2lkZ2V0X3VzZXJfdG9rZW4tcHNlIiwicG9kZXIzNjAiOiJ3aWRnZXRfdXNlcl90b2tlbi1wb2RlcjM2MCIsInBzZUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1wc2VEIiwicml5YWRoY2FwaXRhbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1yaXlhZGhjYXBpdGFsRCIsInJpeWFkaGNhcGl0YWxSVCI6IndpZGdldF91c2VyX3Rva2VuLXJpeWFkaGNhcGl0YWxSVCIsInFlY29tcWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1xZWNvbXFhIiwic2Ftb2xldCI6IndpZGdldF91c2VyX3Rva2VuLXNhbW9sZXQiLCJzZWVpbmdtYWNoaW5lc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXNlZWluZ21hY2hpbmVzY29tIiwic2V1ZGluaGVpcm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1zZXVkaW5oZWlybyIsInNvZnR3YXJlYWciOiJ3aWRnZXRfdXNlcl90b2tlbi1zb2Z0d2FyZWFnIiwic29nZWNsYWlyIjoid2lkZ2V0X3VzZXJfdG9rZW4tc29nZWNsYWlyIiwic2djb21wYW55aXQiOiJ3aWRnZXRfdXNlcl90b2tlbi1zZ2NvbXBhbnlpdCIsInNoYXJlanVuY3Rpb24iOiJ3aWRnZXRfdXNlcl90b2tlbi1zaGFyZWp1bmN0aW9uIiwic21hcnRsYWItY3VzdG9tIjoid2lkZ2V0X3VzZXJfdG9rZW4tc21hcnRsYWIiLCJzbWFydGxhYiI6IndpZGdldF91c2VyX3Rva2VuLXNtYXJ0bGFiIiwic3BhY2Vtb25leWNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3BhY2Vtb25leWNvbWJyIiwic3RvbmV4d2RnIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3RvbmV4wqMtIXd3dy5zdG9uZXguY29tIiwic3RveGlvIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3RveGlvIiwic3RvbmV4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tc3RvbmV4IiwidG9yb2ludmVzdGltZW50b3Njb20iOiJ3aWRnZXRfdXNlcl90b2tlbi10b3JvaW52ZXN0aW1lbnRvc2NvbSIsInRoZWNzZWNvbSI6IndpZGdldF91c2VyX3Rva2VuLXRoZWNzZWNvbSIsInRyYWRlcnNjbHViYnJhc2lsIjoid2lkZ2V0X3VzZXJfdG9rZW4tdHJhZGVyc2NsdWJicmFzaWwiLCJ0cmFkZXJzY2x1YmJyYXNpbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi10cmFkZXJzY2x1YmJyYXNpbEQiLCJ0cmFkaW5ndmlldyI6IndpZGdldF91c2VyX3Rva2VuLXRyYWRpbmd2aWV3IiwieHRvb2xzIjoid2lkZ2V0X3VzZXJfdG9rZW4teHRvb2xzIiwidHdpdHRlciI6IndpZGdldF91c2VyX3Rva2VuLXR3aXR0ZXIiLCJ2ZWxvY2l0eWNvbXBvc2l0ZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi12ZWxvY2l0eWNvbXBvc2l0ZXNjb20iLCJ2b2Nlc2FhYnJpbGNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tdm9jZXNhYWJyaWxjb21iciIsIndlYWx0aHNpbXBsZSI6IndpZGdldF91c2VyX3Rva2VuLXdlYWx0aHNpbXBsZcKjLSFteS53ZWFsdGhzaW1wbGUuY29tIiwid29ybGRjaGVzc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXdvcmxkY2hlc3Njb20iLCJ4Q3J0eUprc3AiOiJ3aWRnZXRfdXNlcl90b2tlbi14Q3J0eUprc3AiLCJ4cGljb21iciI6IndpZGdldF91c2VyX3Rva2VuLXhwaWNvbWJyIn0nKQp9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/30288.59207aa2607ea1597287.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.944Z","timestamp":1785120633944,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/30288.59207aa2607ea1597287.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-c680\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 0ddf5f222201a4d87a041f3a3909e8fb\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":50816,"size_decoded":20318,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3072)","md5":"ea1d9d8d3342c88f33ec3b530e0573ef","sha1":"d655950fc76c40243ee9494c5fcc45e069dbaad3","sha256":"5c4b42f42930e52d140aec5e82b967b86ea0bc4581cfea3ecd33ca21c156520f","sha512":"4a85bff8bc70939b4386535712fa0ce2eae8d2f970a7e4c0f966b40eef502520b53f0bcc55b8062e0d4154ec40c589d4be511f57f11176afdb68166e3b090436","ssdeep":"1536:M/5WmDah7ltfnbgA/bllhJ9AwCh85Q9BO9X/tH78kJM:MZilpvbAR9By/5M","tlshash":"6e330ac572d6f0ab03d605e584bb5042f33d49a9b80d84a1f658e9d13c66c9e63b3fac","first_seen":"2026-07-23T22:46:45.786098Z","last_seen":"2026-07-27T05:29:38.643518Z","times_seen":109,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szMDI4OF0sezg2MDAyNShlKXtlLmV4cG9ydHM9e3BhaXI6InBhaXIteHdHc1NYUjAiLHh4Y2VwdGlvbmFsbHlzbWFsbGRvbm90dXNlYnJ2MTAyMzoieHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwIix4eHh4c21hbGw6Inh4eHhzbWFsbC14d0dzU1hSMCIseHh4c21hbGw6Inh4eHNtYWxsLXh3R3NTWFIwIix4eHNtYWxsOiJ4eHNtYWxsLXh3R3NTWFIwIix4c21hbGw6InhzbWFsbC14d0dzU1hSMCIsc21hbGw6InNtYWxsLXh3R3NTWFIwIixtZWRpdW06Im1lZGl1bS14d0dzU1hSMCIsbGFyZ2U6ImxhcmdlLXh3R3NTWFIwIix4bGFyZ2U6InhsYXJnZS14d0dzU1hSMCIseHhsYXJnZToieHhsYXJnZS14d0dzU1hSMCIseHh4bGFyZ2U6Inh4eGxhcmdlLXh3R3NTWFIwIixsb2dvOiJsb2dvLXh3R3NTWFIwIixza2VsZXRvbjoic2tlbGV0b24teHdHc1NYUjAiLGVtcHR5OiJlbXB0eS14d0dzU1hSMCJ9fSwxNDAwMTcoZSl7ZS5leHBvcnRzPXtsb2dvOiJsb2dvLVZDTkt1YldxIixoaWRkZW46ImhpZGRlbi1WQ05LdWJXcSIseHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzOiJ4eGNlcHRpb25hbGx5c21hbGxkb25vdHVzZWJydjEwMjMtVkNOS3ViV3EiLHh4eHNtYWxsOiJ4eHhzbWFsbC1WQ05LdWJXcSIseHhzbWFsbDoieHhzbWFsbC1WQ05LdWJXcSIseHNtYWxsOiJ4c21hbGwtVkNOS3ViV3EiLHNtYWxsOiJzbWFsbC1WQ05LdWJXcSIsbWVkaXVtOiJtZWRpdW0tVkNOS3ViV3EiLGxhcmdlOiJsYXJnZS1WQ05LdWJXcSIseGxhcmdlOiJ4bGFyZ2UtVkNOS3ViV3EiLHh4bGFyZ2U6Inh4bGFyZ2UtVkNOS3ViV3EiLHh4eGxhcmdlOiJ4eHhsYXJnZS1WQ05LdWJXcSIsc2tlbGV0b246InNrZWxldG9uLVZDTkt1YldxIixsZXR0ZXI6ImxldHRlci1WQ05LdWJXcSJ9fSw5NzUyODUoZSl7ZS5leHBvcnRzPXt3cmFwcGVyOiJ3cmFwcGVyLWhjdDJ5SnZLIixhbmltYXRlZDoiYW5pbWF0ZWQtaGN0MnlKdksiLHB1bHNhdGlvbjoicHVsc2F0aW9uLWhjdDJ5SnZLIn19LDM5OTA5MihlKXtlLmV4cG9ydHM9eyJjc3MtdmFsdWUtY29weXJpZ2h0LXRyYW5zaXRpb24tcGFyYW1zIjoiLjZzIDBzIGN1YmljLWJlemllciguNCwgLjAxLCAuMjIsIDEpIiwiY3NzLXZhbHVlLWNvcHlyaWdodC10cmFuc2l0aW9uLXBhcmFtcy1oYWxmLXRpbWUiOiIuM3MgMHMgY3ViaWMtYmV6aWVyKC40LCAuMDEsIC4yMiwgMSkiLGxhYmVsOiJsYWJlbC1kemJkN2x5ViIsbG9nb1dyYXA6ImxvZ29XcmFwLWR6YmQ3bHlWIixleHBhbmRlZFdpdGhUcmFuc2l0aW9uOiJleHBhbmRlZFdpdGhUcmFuc2l0aW9uLWR6YmQ3bHlWIixleHBhbmRlZEJ5Q2xpY2s6ImV4cGFuZGVkQnlDbGljay1kemJkN2x5ViIsc3RhcnQ6InN0YXJ0LWR6YmQ3bHlWIixlbmQ6ImVuZC1kemJkN2x5ViIsc25hcDoic25hcC1kemJkN2x5ViIsdG9wOiJ0b3AtZHpiZDdseVYiLGJvdHRvbToiYm90dG9tLWR6YmQ3bHlWIixsYXJnZToibGFyZ2UtZHpiZDdseVYiLGV4cGFuZGVkOiJleHBhbmRlZC1kemJkN2x5ViIsbGFiZWxfX2xpbms6ImxhYmVsX19saW5rLWR6YmQ3bHlWIn19LDU2OTM5OChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtpc0ZlYXR1cmVFbmFibGVkOigpPT5wLG9uRmVhdHVyZXNTdGF0ZUNoYW5nZWQ6KCk9PmN9KTt2YXIgcj1uKDk0ODM4MCksaT1uKDM3NzIyNiksbz1uKDg1NjE5Nikscz1uKDkzMjM2NSk7Y29uc3QgYT1uZXcgci5EZWxlZ2F0ZSxjPSgpPT5hLGw9ImZvcmNlZmVhdHVyZXRvZ2dsZS4iO2NvbnN0IHU9bmV3IGNsYXNze2VuYWJsZUZlYXR1cmUoZSl7cy5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKGwrZSwidHJ1ZSIpLGEuZmlyZShlKX1kaXNhYmxlRmVhdHVyZShlKXtzLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0obCtlLCJmYWxzZSIpLGEuZmlyZShlKX1yZXNldEZlYXR1cmUoZSl7cy5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGwrZSksYS5maXJlKGUpfW9uRmVhdHVyZXNTdGF0ZUNoYW5nZWQoKXtyZXR1cm4gYX19O2Z1bmN0aW9uIGQoZSx0KXtyZXR1cm4oIWVbdF18fC0xIT09ZVt0XSkmJighISgidHJ1ZSI9PT1zLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0obCt0KXx8d2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJiJ0cnVlIj09PXdpbmRvdy51c2VyPy5zZXR0aW5ncz8uW2wrdF0pfHwhKCJmYWxzZSI9PT1zLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0obCt0KXx8d2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJiJmYWxzZSI9PT13aW5kb3cudXNlcj8uc2V0dGluZ3M/LltsK3RdKSYmKCEhZVt0XSYmKDE9PT1lW3RdfHwoMCxvLnNob3VsZEFmZmVjdFVzZXIpKHQsZVt0XSkpKSl9d2luZG93LlRyYWRpbmdWaWV3PXdpbmRvdy5UcmFkaW5nVmlld3x8e30sd2luZG93LlRyYWRpbmdWaWV3LkZlYXR1cmVUb2dnbGU9dTtjb25zdCBwPShnPXdpbmRvdy5mZWF0dXJlVG9nZ2xlU3RhdGV8fHt9LCgwLGkub25XaWRnZXQpKCl8fFByb21pc2UuYWxsKFtuLmUoODU0MzQpLG4uZSg3Mjg1KSxuLmUoMTM5OTMpXSkudGhlbihuLmJpbmQobiw1MDcyODUpKS50aGVuKChlPT57ZS5wdXNoU3RyZWFtTXVsdGlwbGV4ZXIub24oImZlYXR1cmV0b2dnbGUiLChlPT57Y29uc3QgdD1kKGcsZS5uYW1lKTtnW2UubmFtZV09ZS5zdGF0ZSx0IT09ZChnLGUubmFtZSkmJmEuZmlyZShlLm5hbWUpfSkpfSkpLGQuYmluZChudWxsLGcpKTt2YXIgZzt3aW5kb3cuVHJhZGluZ1ZpZXcuaXNGZWF0dXJlRW5hYmxlZD1wfSw3OTI2MTIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Z2V0RnJlc2hJbml0RGF0YTooKT0+bCxnZXRJbml0RGF0YTooKT0+Yyx1cGRhdGVJbml0RGF0YTooKT0+YX0pO3ZhciByPW4oMTM4NjM4KTtjb25zdCBpPSgwLG4oMjIxMDYxKS5nZXRMb2dnZXIpKCJDb21tb24uSW5pdERhdGEiKSxvPXdpbmRvdy5pbml0RGF0YXx8e307ZnVuY3Rpb24gcygpeyFmdW5jdGlvbigpe2NvbnN0IGU9d2luZG93O2UuaW5pdERhdGEmJmUuaW5pdERhdGEhPT1vJiYoT2JqZWN0LmFzc2lnbihvLGUuaW5pdERhdGEpLGUuaW5pdERhdGE9bykKfSgpO2NvbnN0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnc2NyaXB0W3R5cGU9ImFwcGxpY2F0aW9uL3Bycy5pbml0LWRhdGEranNvbiJdJyk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspe2NvbnN0IG49ZVt0XTt0cnl7Y29uc3QgZT1KU09OLnBhcnNlKCgwLHIuZW5zdXJlTm90TnVsbCkobi50ZXh0Q29udGVudCkpO09iamVjdC5hc3NpZ24obyxlKX1jYXRjaChlKXtpLmxvZ1dhcm4oYEZhaWxlZCB0byBwYXJzZSBpbml0RGF0YSBlbGVtZW50LiAke2V9YCl9ZmluYWxseXsoMCxyLmVuc3VyZU5vdE51bGwpKG4ucGFyZW50Tm9kZSkucmVtb3ZlQ2hpbGQobil9fWNvbnN0IHQ9by5jb250ZW50O3QmJm8uc3R1ZHlfbWV0YV9pbmZvX21hcCYmKHQuc3R1ZHlNZXRhSW5mb01hcD17Li4udC5zdHVkeU1ldGFJbmZvTWFwLC4uLm8uc3R1ZHlfbWV0YV9pbmZvX21hcH0pfWZ1bmN0aW9uIGEoKXtzKCl9ZnVuY3Rpb24gYygpe3JldHVybiBvfWZ1bmN0aW9uIGwoKXtyZXR1cm4gcygpLG99fSwxMTczMTMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7aXNPbk1vYmlsZUFwcFBhZ2U6KCk9PmksdXJsV2l0aE1vYmlsZUFwcFBhcmFtczooKT0+b30pO3ZhciByPW4oNTg3NDM2KTtmdW5jdGlvbiBpKGUsdD0hMSl7Y29uc3R7c2VhcmNoUGFyYW1zOm59PW5ldyBVUkwoU3RyaW5nKGxvY2F0aW9uKSk7bGV0IGk9InRydWUiPT09bi5nZXQoIm1vYmlsZWFwcF9uZXciKSxvPSJ0cnVlIj09PW4uZ2V0KCJtb2JpbGVhcHAiKTtpZighdCl7Y29uc3QgZT1yLmdldCgidHZfYXBwIil8fCIiO2l8fD1bImFuZHJvaWQiLCJhbmRyb2lkX25wcyJdLmluY2x1ZGVzKGUpLG98fD0iaW9zIj09PWV9cmV0dXJuISgibmV3IiE9PWUmJiJhbnkiIT09ZXx8IWkpfHwhKCJuZXciPT09ZXx8IW8pfWZ1bmN0aW9uIG8oZSx0PSExKXtpZihpKCJuZXciLHQpKXtjb25zdCB0PW5ldyBVUkwoZSxsb2NhdGlvbi5ocmVmKTt0LnNlYXJjaFBhcmFtcy5zZXQoIm1vYmlsZWFwcF9uZXciLCJ0cnVlIiksZT10LnRvU3RyaW5nKCl9aWYoaSgib2xkIix0KSl7Y29uc3QgdD1uZXcgVVJMKGUsbG9jYXRpb24uaHJlZik7dC5zZWFyY2hQYXJhbXMuc2V0KCJtb2JpbGVhcHAiLCJ0cnVlIiksZT10LnRvU3RyaW5nKCl9cmV0dXJuIGV9fSw5MzA1NjYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLnIodCksbi5kKHQse2RlZmF1bHQ6KCk9PkosZ2V0Qm9vbDooKT0+SSxnZXRGbG9hdDooKT0+TyxnZXRJbnQ6KCk9PkQsZ2V0SlNPTjooKT0+TSxnZXRWYWx1ZTooKT0+TixrZXlzOigpPT5CLGtleXNNYXNrOigpPT5XLGxvYWRlZDooKT0+Ryxsb2FkZWRNb2RlbDooKT0+cSxvblN5bmM6KCk9PmoscmVtb3ZlOigpPT5WLHNldEpTT046KCk9PkEsc2V0U2V0dGluZ3NBZGFwdGVyOigpPT5LLHNldFZhbHVlOigpPT5SLHN5bmM6KCk9Pkh9KTt2YXIgcj1uKDk0ODM4MCksaT1uKDIyMTA2MSksbz1uKDU0MDU3OCkscz1uKDkzMDIzMSksYT1uKDU2OTM5OCksYz1uKDkwOTc5OCksbD1uKDM3NzIyNiksdT1uKDM4NDAxNyksZD1uKDE1MjY5OSkscD1uKDkzMjM2NSk7d2luZG93LlRyYWRpbmdWaWV3PXdpbmRvdy5UcmFkaW5nVmlld3x8e307Y29uc3QgZz1bInMudHJhZGluZ3ZpZXcuY29tIiwiYmV0YWNkbi50cmFkaW5ndmlldy5jb20iXSxmPSgoMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1c2VfbG9jYWxzdG9yYWdlX2Zvcl9zZXR0aW5ncyIpLCJsb2NhbCI9PT13aW5kb3cuZW52aXJvbm1lbnQ/NWUzOjEyZTQpLG09KDAsbC5vbldpZGdldCkoKT8idHJhZGluZ3ZpZXctd2lkZ2V0IjoidHJhZGluZ3ZpZXciLGg9bSsiLiI7bGV0IHksdix3LGI9ITEsXz1udWxsLHg9e30sUz1bXTtjb25zdCBrPVsvXndpZGdldGJhclwud2lkZ2V0XC53YXRjaGxpc3QuKy8sLy4rcXVpY2tzJC8sL153aWRnZXRiYXJcLmxheW91dC1zZXR0aW5ncyQvLC9eQ2hhcnRTaWRlVG9vbGJhcldpZGdldFwudmlzaWJsZSQvLC9eb253aWRnZXRcLndhdGNobGlzdCQvLC9eY2hhcnRcLmZhdm9yaXRlRHJhd2luZ3MkLywvXmNoYXJ0XC5mYXZvcml0ZURyYXdpbmdzUG9zaXRpb24kLywvXmNoYXJ0XC5mYXZvcml0ZUxpYnJhcnlJbmRpY2F0b3JzJC8sL15sb2FkQ2hhcnREaWFsb2cuZmF2b3JpdGVzJC8sL15DaGFydEZhdm9yaXRlRHJhd2luZ1Rvb2xiYXJXaWRnZXRcLnZpc2libGUvLC9edHJhZGluZ1wuY2hhcnRcLnByb3RlcnR5JC8sL150cmFkaW5nX2Zsb2F0aW5nX3Rvb2xiYXJcLnBvc2l0aW9uJC8sL150cmFkaW5nXC5vcmRlcldpZGdldE1vZGVcLi8sL15zeW1ib2xXYXRlcm1hcmskLywvXnBpbmVyZWZlcmVuY2VcLnNpemUkLywvXnBpbmVyZWZlcmVuY2VcLnBvc2l0aW9uJC8sL15oaW50XC4rLywvXkNoYXJ0RHJhd2luZ1Rvb2xiYXJXaWRnZXRcLnZpc2libGUvXTtjb25zdCBUPSgpPT4hKF98fHdpbmRvdy5pc19hdXRoZW50aWNhdGVkKSxQPWU9PmgrZSxDPSgwLGkuZ2V0TG9nZ2VyKSgiTGliLlRWU2V0dGluZ3MiKSxFPWU9PntpZihifHx3KXJldHVybjtpZigoMCxhLmlzRmVhdHVyZUVuYWJsZWQpKCJkaXNhYmxlX3NhdmVfc2V0dGluZ3MiKSlyZXR1cm4gdm9pZCBDPy5sb2dXYXJuKCJTZXR0aW5ncyBmbGFzaGluZyBoYXMgYmVlbiBza2lwcGVkIGJlY2F1c2Ugb2YgZGlzYWJsZV9zYXZlX3NldHRpbmdzIGZlYXR1cmV0b2dnbGUiKTtpZigoMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSlyZXR1cm47aWYoVCgpKXJldHVybjtpZigwPT09Uy5sZW5ndGgpcmV0dXJuO2NvbnN0IHQ9UztTPVtdO2NvbnN0IG49e307Zm9yKGxldCBlPXQubGVuZ3RoO2UtLTspe2NvbnN0IHI9dFtlXTtuW3JdPXhbcl0/P251bGx9Y29uc3Qgcj1uZXcgRm9ybURhdGE7ci5hcHBlbmQoImRlbHRhIixKU09OLnN0cmluZ2lmeShuKSksZSYmbmF2aWdhdG9yLnNlbmRCZWFjb24/bmF2aWdhdG9yLnNlbmRCZWFjb24oIi9zYXZlc2V0dGluZ3MvIixyKTooMCx1LmZldGNoKSgiL3NhdmVzZXR0aW5ncy8iLHttZXRob2Q6IlBPU1QiLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixib2R5OnJ9KS50aGVuKChuPT57aWYobi5va3x8KFM9Uy5jb25jYXQodCkpLFs0MjksNTAzXS5pbmNsdWRlcyhuLnN0YXR1cykpewpjb25zdCB0PTFlMyorKG4uaGVhZGVycy5nZXQoInJldHJ5LWFmdGVyIil8fDApfHwzZTU7dz1zZXRUaW1lb3V0KCgoKT0+e3c9dm9pZCAwLEUoZSl9KSx0KX19KSkuY2F0Y2goKCgpPT57Uz1TLmNvbmNhdCh0KX0pKX0sRj0oKT0+e3k9dm9pZCAwLFMubGVuZ3RoJiZFKCl9LEw9KGUsdD17fSk9PntpZihfKW51bGw9PXhbZV0/Xy5yZW1vdmVWYWx1ZShlKTpfLnNldFZhbHVlKGUseFtlXSk7ZWxzZSBpZihUKCkpdHJ5e251bGw9PXhbZV0/cC5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFAoZSkpOnAuVFZMb2NhbFN0b3JhZ2Uuc2V0SXRlbShQKGUpLHhbZV0pfWNhdGNoKGUpe31lbHNlIFMucHVzaChlKSx5fHwoeT1zZXRUaW1lb3V0KEYsZikpO3Quc2tpcENyb3NzV2luZG93RXZlbnR8fGQuVFZYV2luZG93RXZlbnRzLmVtaXQoInNldHRpbmdzIixKU09OLnN0cmluZ2lmeSh7a2V5OmUsdmFsdWU6eFtlXX0pKX07ZnVuY3Rpb24gTihlLHQpe2NvbnN0IG49eFtlXTtyZXR1cm4gbj8/dH1mdW5jdGlvbiBNKGUsdCl7Y29uc3Qgbj1OKGUpO2lmKG51bGw9PW4pcmV0dXJuIHQ7dHJ5e3JldHVybiBKU09OLnBhcnNlKG4pfWNhdGNoKG4pe3JldHVybiBWKGUpLHR9fWZ1bmN0aW9uIFYoZSx0PXt9KXtyZXR1cm4gbnVsbCE9eFtlXSYmKGRlbGV0ZSB4W2VdLEwoZSkpLHQuZm9yY2VGbHVzaCYmRSgpLFh9ZnVuY3Rpb24gSShlLHQpe2NvbnN0IG49TihlKTtyZXR1cm4gbnVsbD09bj90OiEoIW58fCJmYWxzZSI9PT1ufHwwPT0rbil9ZnVuY3Rpb24gTyhlLHQpe2NvbnN0IG49TihlKTtpZihudWxsPT1uKXJldHVybiB0O2NvbnN0IHI9cGFyc2VGbG9hdChuKTtpZighaXNGaW5pdGUocikpdGhyb3cgbmV3IFR5cGVFcnJvcignIicrbisnIiBpcyBub3QgZmxvYXQgKGtleTogIicrZSsnIiknKTtyZXR1cm4gcn1mdW5jdGlvbiBEKGUsdCl7Y29uc3Qgbj1OKGUpO2lmKG51bGw9PW4pcmV0dXJuIHQ7Y29uc3Qgcj1wYXJzZUludChuLDEwKTtpZighaXNGaW5pdGUocikpdGhyb3cgbmV3IFR5cGVFcnJvcignIicrbisnIiBpcyBub3QgaW50IChrZXk6ICInK2UrJyIpJyk7cmV0dXJuIHJ9ZnVuY3Rpb24gUihlLHQsbj17fSl7Y29uc3Qgcj0iIit0O3JldHVybiB4W2VdIT09ciYmKHhbZV09cixMKGUsbikpLG4uZm9yY2VGbHVzaCYmIXYmJih2PXNldFRpbWVvdXQoKCgpPT57dj12b2lkIDAsRSgpfSksMTApKSxYfWZ1bmN0aW9uIEEoZSx0LG4pe3JldHVybiBSKGUsSlNPTi5zdHJpbmdpZnkodCksbiksWH1mdW5jdGlvbiBCKCl7cmV0dXJuIE9iamVjdC5rZXlzKHgpfWZ1bmN0aW9uIFcoZSl7Y29uc3QgdD1CKCksbj1bXSxyPW5ldyBSZWdFeHAoIl4iKygwLG8ucmVnRXhwRXNjYXBlKShlKS5yZXBsYWNlKC9cXFwqXFxcKi9naSwiLisiKS5yZXBsYWNlKC9cXFwqL2dpLCJbXi5dKyIpKyIkIiwiZ2kiKTtmb3IobGV0IGU9dC5sZW5ndGgtMTtlPj0wO2UtLSlyLnRlc3QodFtlXSkmJm4ucHVzaCh0W2VdKSxyLmxhc3RJbmRleD0wO3JldHVybiBufWQuVFZYV2luZG93RXZlbnRzLm9uKCJzZXR0aW5ncyIsKGU9Pntjb25zdCB0PUpTT04ucGFyc2UoZSk7bnVsbD09dC52YWx1ZT9kZWxldGUgeFt0LmtleV06eFt0LmtleV09dC52YWx1ZX0pKTtjb25zdCBVPWU9Pntmb3IobGV0IHQ9MDt0PGsubGVuZ3RoOysrdClpZihrW3RdLmV4ZWMoZSkpcmV0dXJuITA7cmV0dXJuITF9LCQ9ZT0+ZS5zdWJzdHJpbmcoMCxoLmxlbmd0aCk9PT1oLHo9ZT0+e3g9e307Y29uc3QgdD0wPT09T2JqZWN0LmtleXMoZSkubGVuZ3RoO3R8fChlPT57T2JqZWN0LmtleXMoZSkuZm9yRWFjaCgodD0+e3hbdF09ZVt0XSsiIn0pKX0pKGUpLChlPT57Zm9yKGxldCB0PXAuVFZMb2NhbFN0b3JhZ2UubGVuZ3RoO3QtLTspe2NvbnN0IG49cC5UVkxvY2FsU3RvcmFnZS5rZXkodCk7biYmJChuKSYmKGUmJlIobi5zdWJzdHJpbmcoaC5sZW5ndGgpLHAuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShuKSkscC5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKG4pKX19KSh0KX0saj1uZXcgci5EZWxlZ2F0ZTtmdW5jdGlvbiBIKGUpe251bGwhPT1lPyhfP3ooXy5pbml0aWFsU2V0dGluZ3N8fHt9KTpUKCk/KCgoKT0+e2lmKCEoMCxsLm9uV2lkZ2V0KSgpfHwhZy5pbmNsdWRlcyh3aW5kb3cubG9jYXRpb24uaG9zdCkpcmV0dXJuO2NvbnN0IGU9InRyYWRpbmd2aWV3LiI7Zm9yKGxldCB0PXAuVFZMb2NhbFN0b3JhZ2UubGVuZ3RoO3QtLTspe2NvbnN0IG49cC5UVkxvY2FsU3RvcmFnZS5rZXkodCk7aWYoMD09PW4uaW5kZXhPZihlKSl7Y29uc3QgdD1uLnJlcGxhY2UoZSxtKyIuIik7cC5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKHQscC5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKG4pKSxwLlRWTG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0obil9fX0pKCksKCgpPT57eD17fTtjb25zdCBlPSEoMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzYXZlX2NoYXJ0X3Byb3BlcnRpZXNfdG9fbG9jYWxfc3RvcmFnZSIpO2ZvcihsZXQgdD1wLlRWTG9jYWxTdG9yYWdlLmxlbmd0aDt0LS07KXtjb25zdCBuPXAuVFZMb2NhbFN0b3JhZ2Uua2V5KHQpO2lmKCFufHwhJChuKSljb250aW51ZTtjb25zdCByPW4uc3Vic3RyaW5nKGgubGVuZ3RoKTtlJiYhVShyKXx8KHhbcl09cC5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKG4pKX19KSgpKTp6KGV8fHt9KSxqLmZpcmUoKSk6Yj0hMH1mdW5jdGlvbiBLKGUpe189ZX1jb25zdCBHPSExLHE9ITEsWD17bG9hZGVkOkcsbG9hZGVkTW9kZWw6cSxnZXRWYWx1ZTpOLGdldEpTT046TSxnZXRCb29sOkksZ2V0RmxvYXQ6TyxnZXRJbnQ6RCxzZXRWYWx1ZTpSLHNldEpTT046QSxyZW1vdmU6VixrZXlzOkIsa2V5c01hc2s6VyxzeW5jOkgsb25TeW5jOmosc2V0U2V0dGluZ3NBZGFwdGVyOkt9LEo9WDt3aW5kb3cuVFZTZXR0aW5ncz1YLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLCgoKT0+eyJoaWRkZW4iIT09ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlJiYhMCE9PWRvY3VtZW50LmhpZGRlbnx8RSgpfSkpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlaGlkZSIsKCgpPT57RSghMCl9KSksCndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmV1bmxvYWQiLCgoKT0+e0UoITApfSkpLGMuZmx1c2hEZWxlZ2F0ZS5zdWJzY3JpYmUobnVsbCwoKCk9PntFKCl9KSksc2V0VGltZW91dCgoYXN5bmMoKT0+e2NvbnN0e2NsZWFyT2xkU2V0dGluZ3M6ZX09YXdhaXQgbi5lKDM1OTgwKS50aGVuKG4uYmluZChuLDc1NDE4NSkpO2UoKX0pLDNlNCl9LDE1MjE4MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnZXRDaXJjbGVMb2dvUGFpckh0bWw6KCk9Pml9KTt2YXIgcj1uKDYyNzg0OCk7ZnVuY3Rpb24gaShlKXtjb25zdHtwcmltYXJ5TG9nb1VybDp0LHNlY29uZGFyeUxvZ29Vcmw6bixzaXplOmksY2xhc3NOYW1lOnN9PWU7cmV0dXJuYDxzcGFuIGNsYXNzPSIkeygwLHIuZ2V0QmxvY2tTdHlsZUNsYXNzZXMpKGkscyl9Ij5cblx0XHRcdCR7byh7bG9nb1VybDpuLHNpemU6aX0pfVxuXHRcdFx0JHtvKHtsb2dvVXJsOnQsc2l6ZTppfSl9XG5cdFx0PC9zcGFuPmB9ZnVuY3Rpb24gbyhlKXtjb25zdHtsb2dvVXJsOnQsc2l6ZTpufT1lLGk9KDAsci5nZXRMb2dvU3R5bGVDbGFzc2VzKShuLDIsQm9vbGVhbih0KSk7cmV0dXJuIHZvaWQgMD09PXQ/YDxzcGFuIGNsYXNzPSIke2l9Ij48L3NwYW4+YDpgPGltZyBjbGFzcz0iJHtpfSIgY3Jvc3NvcmlnaW4gc3JjPSIke3R9IiBhbHQ9IiIgLz5gfX0sNjI3ODQ4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2dldEJsb2NrU3R5bGVDbGFzc2VzOigpPT5jLGdldExvZ29TdHlsZUNsYXNzZXM6KCk9Pmx9KTt2YXIgcj1uKDkxNDQ4NyksaT1uLm4ociksbz1uKDEzNjQpLHM9big4NjAwMjUpLGE9bi5uKHMpO2Z1bmN0aW9uIGMoZSx0KXtyZXR1cm4gaSgpKGEoKS5wYWlyLGEoKVtlXSx0KX1mdW5jdGlvbiBsKGUsdD0yLG49ITApe3JldHVybiBpKCkoYSgpLmxvZ28sYSgpW2VdLGEoKS5za2VsZXRvbixvLnNrZWxldG9uVGhlbWUud3JhcHBlciwhbiYmYSgpLmVtcHR5LDE9PT10JiZpKCkoby5za2VsZXRvblRoZW1lLmFuaW1hdGVkKSl9fSw4ODQ3OTgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Z2V0Q2lyY2xlTG9nb0h0bWw6KCk9Pml9KTt2YXIgcj1uKDc5NDE4Nyk7bigxNDAwMTcpO2Z1bmN0aW9uIGkoZSl7Y29uc3QgdD0oMCxyLmdldFN0eWxlQ2xhc3NlcykoZS5zaXplLDIsZS5jbGFzc05hbWUpO3JldHVybigwLHIuaXNDaXJjbGVMb2dvV2l0aFVybFByb3BzKShlKT9gPGltZyBjbGFzcz0iJHt0fSIgY3Jvc3NvcmlnaW4gc3JjPSIke2UubG9nb1VybH0iIGFsdD0iIj5gOmA8c3BhbiBjbGFzcz0iJHt0fSI+JHtlLnBsYWNlaG9sZGVyTGV0dGVyfHwiIn08L3NwYW4+YH19LDc5NDE4NyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnZXRTdHlsZUNsYXNzZXM6KCk9PmMsaXNDaXJjbGVMb2dvV2l0aFVybFByb3BzOigpPT5sfSk7dmFyIHI9big5MTQ0ODcpLGk9bi5uKHIpLG89bigxMzY0KSxzPW4oMTQwMDE3KSxhPW4ubihzKTtmdW5jdGlvbiBjKGUsdD0yLG4pe3JldHVybiBpKCkoYSgpLmxvZ28sYSgpW2VdLG4sMD09PXR8fDE9PT10P2koKShvLnNrZWxldG9uVGhlbWUud3JhcHBlcixhKCkuc2tlbGV0b24pOmEoKS5sZXR0ZXIsMT09PXQmJm8uc2tlbGV0b25UaGVtZS5hbmltYXRlZCl9ZnVuY3Rpb24gbChlKXtyZXR1cm4ibG9nb1VybCJpbiBlJiZudWxsIT09ZS5sb2dvVXJsJiZ2b2lkIDAhPT1lLmxvZ29VcmwmJjAhPT1lLmxvZ29VcmwubGVuZ3RofX0sMzA5OTIwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0N1c3RvbUJlaGF2aW91ckNvbnRleHQ6KCk9PnJ9KTtjb25zdCByPSgwLG4oNzc5NDc0KS5jcmVhdGVDb250ZXh0KSh7ZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXM6ITB9KTtyLmRpc3BsYXlOYW1lPSJDdXN0b21CZWhhdmlvdXJDb250ZXh0In0sMjczMzEwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0ljb246KCk9Pml9KTt2YXIgcj1uKDc3OTQ3NCk7Y29uc3QgaT1yLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7aWNvbjpuPSIiLHRpdGxlOmksYXJpYUxhYmVsOm8sYXJpYUxhYmVsbGVkYnk6cyxhcmlhSGlkZGVuOmEsLi4uY309ZSxsPSEhKGl8fG98fHMpO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJpbWciLC4uLmMscmVmOnQsImFyaWEtbGFiZWwiOm8sImFyaWEtbGFiZWxsZWRieSI6cywiYXJpYS1oaWRkZW4iOmF8fCFsLHRpdGxlOmksZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDpufX0pfSkpfSwxMzY0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3NrZWxldG9uVGhlbWU6KCk9Pml9KTt2YXIgcj1uKDk3NTI4NSk7Y29uc3QgaT1uLm4ocikoKX0sMzQ0MTAzKGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgdD1be2Q6IkUtTWluaSBTJlAgNTAwIix0OiJFUyJ9LHtkOiJFLU1pbmkgTmFzZGFxIDEwMCIsdDoiTlEifSx7ZDoiR29sZCIsdDoiR0MifSx7ZDoiU2lsdmVyIix0OiJTSSJ9LHtkOiJDcnVkZSBPaWwgV1RJIix0OiJDTCJ9LHtkOiJOYXR1cmFsIEdhcyIsdDoiTkcifSx7ZDoiQXVzdHJhbGlhbiBEb2xsYXIiLHQ6IjZBIn0se2Q6IkF1c3RyYWxpYW4gRG9sbGFyIChGbG9vcikiLHQ6IkFEIn0se2Q6IkV1cm8gRlgiLHQ6IjZFIn0se2Q6IkV1cm8gRlggKEZsb29yKSIsdDoiRUMifSx7ZDoiQ29ybiIsdDoiWkMifSx7ZDoiQ29ybiAoRmxvb3IpIix0OiJDIn0se2Q6IkV1cm9kb2xsYXIiLHQ6IkdFIn0se2Q6IkV1cm9kb2xsYXIgKEZsb29yKSIsdDoiRUQifV0sbj1mdW5jdGlvbigpe3ZhciBlPVt7cGF0dGVybjoiKCIsY3RvcjpvfSx7cGF0dGVybjoiKSIsY3RvcjpzfSx7cGF0dGVybjoiKyIsY3RvcjpjfSx7cGF0dGVybjoiLSIsY3RvcjpsfSx7cGF0dGVybjoiKiIsY3Rvcjp1fSx7cGF0dGVybjoiLyIsY3RvcjpkfSx7cGF0dGVybjoiXiIsY3RvcjpwfSx7cGF0dGVybjovXGQrKD86XC5cZCp8KD8hW2EtekEtWjAtOV8hOi4mXSkpfFwuXGQrLyxjdG9yOmh9LHtwYXR0ZXJuOi9cLi8sY3Rvcjp3fSx7cGF0dGVybjovW2EtekEtWjAtOV9cdTAzNzAtXHUxRkZGX1x1MkU4MC1cdUZGRkZdW2EtekEtWjAtOV9cdTAwMjBcdTAzNzAtXHUxRkZGX1x1MkU4MC1cdUZGRkZfIXw6LiZdKnwnLis/Jy8sY3RvcjptfSx7CnBhdHRlcm46LydbXiddKi8sY3Rvcjp2fSx7cGF0dGVybjovW1wwLVx4MjBcc10rLyxjdG9yOml9XTtmdW5jdGlvbiBuKGUsdCl7dmFyIG49ZnVuY3Rpb24oKXt9O3JldHVybiBuLnByb3RvdHlwZT10LnByb3RvdHlwZSxlLnByb3RvdHlwZT1uZXcgbixlfWZ1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gaShlKXt0aGlzLnZhbHVlPWV9ZnVuY3Rpb24gbygpe31mdW5jdGlvbiBzKCl7fWZ1bmN0aW9uIGEoKXt9ZnVuY3Rpb24gYygpe31mdW5jdGlvbiBsKCl7fWZ1bmN0aW9uIHUoKXt9ZnVuY3Rpb24gZCgpe31mdW5jdGlvbiBwKCl7fXIucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9LG4oaSxyKSxuKG8sciksby5wcm90b3R5cGUudmFsdWU9IigiLG4ocyxyKSxzLnByb3RvdHlwZS52YWx1ZT0iKSIsbihhLHIpLG4oYyxhKSxjLnByb3RvdHlwZS52YWx1ZT0iKyIsYy5wcm90b3R5cGUucHJlY2VkZW5jZT0wLGMucHJvdG90eXBlLmNvbW11dGF0aXZlPSEwLG4obCxhKSxsLnByb3RvdHlwZS52YWx1ZT0iLSIsbC5wcm90b3R5cGUucHJlY2VkZW5jZT0wLGwucHJvdG90eXBlLmNvbW11dGF0aXZlPSExLG4odSxhKSx1LnByb3RvdHlwZS52YWx1ZT0iKiIsdS5wcm90b3R5cGUucHJlY2VkZW5jZT0xLHUucHJvdG90eXBlLmNvbW11dGF0aXZlPSEwLG4oZCxhKSxkLnByb3RvdHlwZS52YWx1ZT0iLyIsZC5wcm90b3R5cGUucHJlY2VkZW5jZT0xLGQucHJvdG90eXBlLmNvbW11dGF0aXZlPSExLG4ocCxhKSxwLnByb3RvdHlwZS52YWx1ZT0iXiIscC5wcm90b3R5cGUucHJlY2VkZW5jZT0yLHAucHJvdG90eXBlLmNvbW11dGF0aXZlPSExO3ZhciBnPS9eJz8oPzooW0EtWjAtOV9dKyk6KT8oLio/KSc/JC9pLGY9L1srXC0vKl0vO2Z1bmN0aW9uIG0oZSl7dGhpcy52YWx1ZT1lfWZ1bmN0aW9uIGgoZSl7dGhpcy52YWx1ZT1lfWZ1bmN0aW9uIHkoZSl7dGhpcy52YWx1ZT1lfWZ1bmN0aW9uIHYoKXttLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiB3KCl7aC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9bihtLHIpLG0ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7aWYodGhpcy5oYXNPd25Qcm9wZXJ0eSgiX3RpY2tlciIpKXt2YXIgZT1mLnRlc3QodGhpcy5fdGlja2VyKT8iJyI6IiI7cmV0dXJuIGUrKHRoaXMuX2V4Y2hhbmdlP3RoaXMuX2V4Y2hhbmdlKyI6IjoiIikrdGhpcy5fdGlja2VyK2V9cmV0dXJuIHRoaXMudmFsdWV9LG0ucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKCl7dmFyIGU9Zy5leGVjKHRoaXMudmFsdWUpO2VbMV0mJih0aGlzLl9leGNoYW5nZT1lWzFdKSx0aGlzLl90aWNrZXI9ZVsyXX0sbS5wcm90b3R5cGUucGFyc2VBc0Z1dHVyZXM9ZnVuY3Rpb24oKXt0aGlzLmhhc093blByb3BlcnR5KCJfdGlja2VyIil8fHRoaXMucGFyc2UoKTtmb3IodmFyIGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHQuc29tZSgoZnVuY3Rpb24odCl7cmV0dXJuIHQudD09PWV9KSl9LG49MjtuPj0xOy0tbil7dmFyIHI9dGhpcy5fdGlja2VyLnNsaWNlKDAsbik7aWYoZShyKSl7dGhpcy5fcm9vdD1yLHRoaXMuX2NvbnRyYWN0PXRoaXMuX3RpY2tlci5zbGljZShuKTticmVha319fSxtLnByb3RvdHlwZS5leGNoYW5nZT1mdW5jdGlvbihlKXtpZih0aGlzLmhhc093blByb3BlcnR5KCJfdGlja2VyIil8fHRoaXMucGFyc2UoKSwhKGFyZ3VtZW50cy5sZW5ndGg+MCkpcmV0dXJuIHRoaXMuX2V4Y2hhbmdlO251bGw9PWU/ZGVsZXRlIHRoaXMuX2V4Y2hhbmdlOnRoaXMuX2V4Y2hhbmdlPWUrIiJ9LG0ucHJvdG90eXBlLnRpY2tlcj1mdW5jdGlvbihlKXtpZih0aGlzLmhhc093blByb3BlcnR5KCJfdGlja2VyIil8fHRoaXMucGFyc2UoKSwhKGFyZ3VtZW50cy5sZW5ndGg+MCkpcmV0dXJuIHRoaXMuX3RpY2tlcjtudWxsPT1lP2RlbGV0ZSB0aGlzLl90aWNrZXI6dGhpcy5fdGlja2VyPWUrIiIsZGVsZXRlIHRoaXMuX3Jvb3QsZGVsZXRlIHRoaXMuX2NvbnRyYWN0fSxtLnByb3RvdHlwZS5yb290PWZ1bmN0aW9uKGUpe2lmKHRoaXMuaGFzT3duUHJvcGVydHkoIl9yb290Iil8fHRoaXMucGFyc2VBc0Z1dHVyZXMoKSwhKGFyZ3VtZW50cy5sZW5ndGg+MCkpcmV0dXJuIHRoaXMuX3Jvb3Q7bnVsbD09ZT9kZWxldGUgdGhpcy5fcm9vdDoodGhpcy5fcm9vdD1lKyIiLHRoaXMuX3Jvb3QmJih0aGlzLl90aWNrZXI9dGhpcy5fcm9vdCsodGhpcy5fY29udHJhY3R8fCIiKSkpfSxtLnByb3RvdHlwZS5jb250cmFjdD1mdW5jdGlvbihlKXtpZih0aGlzLmhhc093blByb3BlcnR5KCJfY29udHJhY3QiKXx8dGhpcy5wYXJzZUFzRnV0dXJlcygpLCEoYXJndW1lbnRzLmxlbmd0aD4wKSlyZXR1cm4gdGhpcy5fcm9vdDtudWxsPT1lP2RlbGV0ZSB0aGlzLl9jb250cmFjdDoodGhpcy5fY29udHJhY3Q9ZSsiIix0aGlzLl9yb290JiYodGhpcy5fdGlja2VyPXRoaXMuX3Jvb3QrdGhpcy5fY29udHJhY3QpKX0sbihoLHIpLGgucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaGFzT3duUHJvcGVydHkoIl9ub3JtYWxpemVkVmFsdWUiKT90aGlzLl9ub3JtYWxpemVkVmFsdWU6dGhpcy52YWx1ZX0saC5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24oKXt0aGlzLl9ub3JtYWxpemVkVmFsdWU9dGhpcy52YWx1ZS5yZXBsYWNlKC9eMCt8XC4wKiQvZywiIikucmVwbGFjZSgvKFwuXGQqPykwKyQvLCIkMSIpLnJlcGxhY2UoL14oXC58JCkvLCIwJDEiKX0seS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZX0sbih2LG0pLHYucHJvdG90eXBlLmlzSW5jb21wbGV0ZT0hMCx2LnByb3RvdHlwZS5pbmNvbXBsZXRlU3VnZ2VzdD1mdW5jdGlvbigpe2lmKCInIiE9PXRoaXMudmFsdWUpcmV0dXJuIFN0cmluZygiJyIpfSxuKHcsaCksdy5wcm90b3R5cGUuaXNJbmNvbXBsZXRlPSEwO3ZhciBiPW5ldyBSZWdFeHAoZS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiIoIisoInN0cmluZyI9PXR5cGVvZiBlLnBhdHRlcm4/ZS5wYXR0ZXJuLnJlcGxhY2UoL1tcXiQoKVtcXXt9Kis/fFxcXS9nLCJcXCQmIik6ZS5wYXR0ZXJuLnNvdXJjZSkrIikifSkpLmNvbmNhdCgiLiIpLmpvaW4oInwiKSwiZyIpCjtmdW5jdGlvbiBfKHQsbil7dmFyIHIsbz1bXTtlOmZvcig7cj1iLmV4ZWModCk7KXtmb3IodmFyIHM9ZS5sZW5ndGg7cy0tOylpZihyW3MrMV0pe2lmKGVbc10uY3Rvcil7dmFyIGE9bmV3IGVbc10uY3RvcihyW3MrMV0pO2EuX29mZnNldD1yLmluZGV4LG8ucHVzaChhKX1jb250aW51ZSBlfXZhciBjPW5ldyB5KHJbMF0pO2MuX29mZnNldD1yLmluZGV4LG8ucHVzaChjKX1pZihuJiZuLnJlY292ZXIpe3ZhciBsO2ZvcihzPW8ubGVuZ3RoO3MtLTspe3ZhciB1PW9bc107aWYodSBpbnN0YW5jZW9mIGh8fHUgaW5zdGFuY2VvZiBtKXtpZih2b2lkIDAhPT1sKXt2YXIgZD1uZXcgbSgiIikscD1vLnNwbGljZShzLGwtcysxLGQpO2QudmFsdWU9cC5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBlLnZhbHVlfSkpLmpvaW4oIiIpfWw9c31lbHNlIHUgaW5zdGFuY2VvZiBpfHwobD12b2lkIDApfX1yZXR1cm4gb31mdW5jdGlvbiB4KGUpe2Zvcih2YXIgdD1bXSxuPTA7bjxlLmxlbmd0aDtuKyspZVtuXWluc3RhbmNlb2YgaXx8dC5wdXNoKGVbbl0pO3JldHVybiB0fWZ1bmN0aW9uIFMoZSl7ZT14KGUpO2Zvcih2YXIgdCxuPVtdLHI9W10saT0wO2k8ZS5sZW5ndGg7aSsrKXt2YXIgYz1lW2ldO2lmKGMgaW5zdGFuY2VvZiBhKXIubGVuZ3RoJiZyW3IubGVuZ3RoLTFdLm1pblByZWNlZGVuY2U+Yy5wcmVjZWRlbmNlJiYocltyLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPWMucHJlY2VkZW5jZSk7ZWxzZSBpZihjIGluc3RhbmNlb2YgbylyLnB1c2godD17bWluUHJlY2VkZW5jZToxLzAsb3BlbkJyYWNlSW5kZXg6aX0pO2Vsc2UgaWYoYyBpbnN0YW5jZW9mIHMpe3ZhciBsPWVbKHQ9ci5wb3AoKSkub3BlbkJyYWNlSW5kZXgtMV0sdT1lW2krMV07dSBpbnN0YW5jZW9mIGEmJiEodS5wcmVjZWRlbmNlPD10Lm1pblByZWNlZGVuY2UpfHwhKCEobCBpbnN0YW5jZW9mIGEpfHxsLnByZWNlZGVuY2U8dC5taW5QcmVjZWRlbmNlfHxsLnByZWNlZGVuY2U9PT10Lm1pblByZWNlZGVuY2UmJmwuY29tbXV0YXRpdmUpfHwobi51bnNoaWZ0KHQub3BlbkJyYWNlSW5kZXgpLG4ucHVzaChpKSxyLmxlbmd0aCYmcltyLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPnQubWluUHJlY2VkZW5jZSYmKHJbci5sZW5ndGgtMV0ubWluUHJlY2VkZW5jZT10Lm1pblByZWNlZGVuY2UpKX19Zm9yKGk9bi5sZW5ndGg7aS0tOyllLnNwbGljZShuW2ldLDEpO3JldHVybiBlfWZ1bmN0aW9uIGsoZSl7aWYoInN0cmluZyIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoImV4cHJlc3Npb24gbXVzdCBiZSBhIHN0cmluZyIpO3JldHVybihlPV8oZSkpLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBtfSkpLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGUuZXhjaGFuZ2UoKX0pKS5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpfWZ1bmN0aW9uIFQoZSl7cmV0dXJuIDEhPT0oZT1rKGUpKS5sZW5ndGg/bnVsbDplWzBdfWZ1bmN0aW9uIFAoZSx0KXtyZXR1cm4oZT1rKGUpKS5zb21lKChmdW5jdGlvbihlKXtyZXR1cm4gdC5pbmNsdWRlcygoZXx8IiIpLnRvVXBwZXJDYXNlKCkpfSkpfWZ1bmN0aW9uIEMoZSl7cmV0dXJuIGUuam9pbigiIil9cmV0dXJue3Rva2VuaXplOl8sdmFsaWRhdGU6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PSJpbml0IixuPSJ2YXIiLHI9dCxjPXt3YXJuaW5nczpbXSxlcnJvcnM6W10saXNFbXB0eTohMH0sbD1bXSx1PTA7dTxlLmxlbmd0aDt1Kyspe2lmKCEoKHA9ZVt1XSlpbnN0YW5jZW9mIGkpKXtpZihkZWxldGUgYy5pc0VtcHR5LHAuaXNJbmNvbXBsZXRlKXt2YXIgZD17c3RhdHVzOiJpbmNvbXBsZXRlIixyZWFzb246ImluY29tcGxldGVfdG9rZW4iLG9mZnNldDpwLl9vZmZzZXQsdG9rZW46cH07aWYocC5pbmNvbXBsZXRlU3VnZ2VzdCYmKGQucmVjb3Zlcj17YXBwZW5kOnAuaW5jb21wbGV0ZVN1Z2dlc3QoKX0pLGMud2FybmluZ3MucHVzaChkKSx1IT09ZS5sZW5ndGgtMSl7ZC5zdGF0dXM9ImVycm9yIjtjb250aW51ZX19aWYocCBpbnN0YW5jZW9mIG18fHAgaW5zdGFuY2VvZiBoKXtpZihyPT09bil7Yy5lcnJvcnMucHVzaCh7c3RhdHVzOiJlcnJvciIscmVhc29uOiJ1bmV4cGVjdGVkX3Rva2VuIixvZmZzZXQ6cC5fb2Zmc2V0LHRva2VuOnB9KTtjb250aW51ZX1yPW59ZWxzZSBpZihwIGluc3RhbmNlb2YgYSl7aWYociE9PW4pe2MuZXJyb3JzLnB1c2goe3N0YXR1czoiZXJyb3IiLHJlYXNvbjoidW5leHBlY3RlZF90b2tlbiIsb2Zmc2V0OnAuX29mZnNldCx0b2tlbjpwfSk7Y29udGludWV9cj0ib3BlcmF0b3IifWVsc2UgaWYocCBpbnN0YW5jZW9mIG8pe2lmKHI9PT1uKXtjLmVycm9ycy5wdXNoKHtzdGF0dXM6ImVycm9yIixyZWFzb246InVuZXhwZWN0ZWRfdG9rZW4iLG9mZnNldDpwLl9vZmZzZXQsdG9rZW46cH0pO2NvbnRpbnVlfWwucHVzaChwKSxyPXR9ZWxzZSBpZihwIGluc3RhbmNlb2Ygcyl7aWYociE9PW4pe2MuZXJyb3JzLnB1c2goe3N0YXR1czoiZXJyb3IiLHJlYXNvbjoidW5leHBlY3RlZF90b2tlbiIsb2Zmc2V0OnAuX29mZnNldCx0b2tlbjpwfSk7Y29udGludWV9bC5wb3AoKXx8Yy5lcnJvcnMucHVzaCh7c3RhdHVzOiJlcnJvciIscmVhc29uOiJ1bmJhbGFuY2VkX2JyYWNlIixvZmZzZXQ6cC5fb2Zmc2V0LHRva2VuOnAscmVjb3Zlcjp7cHJlcGVuZDpuZXcgb319KSxyPW59ZWxzZSBwIGluc3RhbmNlb2YgeSYmYy5lcnJvcnMucHVzaCh7c3RhdHVzOiJlcnJvciIscmVhc29uOiJ1bnBhcnNlZF9lbnRpdHkiLG9mZnNldDpwLl9vZmZzZXQsdG9rZW46cH0pfX1mb3IoYy5icmFjZUJhbGFuY2U9bC5sZW5ndGgsciE9PW4mJmMud2FybmluZ3MucHVzaCh7c3RhdHVzOiJpbmNvbXBsZXRlIn0pO2wubGVuZ3RoOyl7dmFyIHA7ZD17c3RhdHVzOiJpbmNvbXBsZXRlIixyZWFzb246InVuYmFsYW5jZWRfYnJhY2UiLG9mZnNldDoocD1sLnBvcCgpKS5fb2Zmc2V0LHRva2VuOnB9O3I9PT1uJiYoZC5yZWNvdmVyPXthcHBlbmQ6bmV3IHN9KSxjLndhcm5pbmdzLnB1c2goZCl9cmV0dXJuIGMuY3VycmVudFN0YXRlPXIsMD09PWMud2FybmluZ3MubGVuZ3RoJiZkZWxldGUgYy53YXJuaW5ncywKMD09PWMuZXJyb3JzLmxlbmd0aCYmZGVsZXRlIGMuZXJyb3JzLGN9LGZhY3Rvck91dEJyYWNlczpTLG5vcm1hbGl6ZVRva2VuczpmdW5jdGlvbihlKXtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKyllW3RdLnBhcnNlJiZlW3RdLnBhcnNlKCk7cmV0dXJuIGV9LGZsaXA6ZnVuY3Rpb24oZSl7dmFyIHQ9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG49MCxyPTEsYz0yLGw9Myx1PW4scD0wLGc9MDtnPGUubGVuZ3RoO2crKyl7dmFyIGY9ZVtnXTtpZighKGYgaW5zdGFuY2VvZiBpKSlzd2l0Y2godSl7Y2FzZSBuOmlmKCEoZiBpbnN0YW5jZW9mIGgmJjE9PStmLnZhbHVlKSlyZXR1cm4hMTt1PXI7YnJlYWs7Y2FzZSByOmlmKCEodT09PXImJmYgaW5zdGFuY2VvZiBkKSlyZXR1cm4hMTt1PWMsdD1nKzE7YnJlYWs7Y2FzZSBjOmlmKGYgaW5zdGFuY2VvZiBvKXU9bCxwPTE7ZWxzZSBpZihmIGluc3RhbmNlb2YgYSlyZXR1cm4hMTticmVhaztjYXNlIGw6ZiBpbnN0YW5jZW9mIG8/cCsrOmYgaW5zdGFuY2VvZiBzJiYtLXA8PTAmJih1PWMpfX1yZXR1cm4gZS5zbGljZSh0KX0oZSk7cmV0dXJuIFModHx8W25ldyBoKCIxIiksbmV3IGQsbmV3IG9dLmNvbmNhdChlKS5jb25jYXQobmV3IHMpKX0saGFzQmF0c1N5bWJvbHM6ZnVuY3Rpb24oZSl7cmV0dXJuIFAoZSxbIkJBVFMiXSl9LGhhc0VvZFN5bWJvbHM6ZnVuY3Rpb24oZSl7cmV0dXJuKGU9VChlKSkmJi0xIT09ZS50b1VwcGVyQ2FzZSgpLmluZGV4T2YoIl9FT0QiKX0saGFzQ2h4anB5U3ltYm9sczpmdW5jdGlvbihlKXtyZXR1cm4gUChlLFsiQ0hYSlBZIl0pfSxoYXNGcmVlRGVsYXlTeW1ib2xzOmZ1bmN0aW9uKGUpe3JldHVybiBQKGUscHJvLmdldFByb2R1Y3RzQnlUeXBlKHByby5QUk9EVUNUX1RZUEVTLmV4Y2hhbmdlKS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBlLmV4Y2hhbmdlLnRvVXBwZXJDYXNlKCkrIl9ETFkifSkpKX0sZ2V0RXhjaGFuZ2U6VCxnZXRFeGNoYW5nZXM6ayxpc0V4Y2hhbmdlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuISEoZT1UKGUpKSYmZS5zdWJzdHJpbmcoMCx0Lmxlbmd0aCk9PT10fSxTeW1ib2xUb2tlbjptLEluY29tcGxldGVTeW1ib2xUb2tlbjp2LE51bWJlclRva2VuOmgsQmluYXJ5T3BlcmF0b3JUb2tlbjphLE9wZW5CcmFjZVRva2VuOm8sQ2xvc2VCcmFjZVRva2VuOnMsdGlja2VyOmZ1bmN0aW9uKGUpe3JldHVybiBuZXcgbShlKS50aWNrZXIoKX0sc2hvcnROYW1lOmZ1bmN0aW9uKGUpe2lmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJleHByZXNzaW9uIG11c3QgYmUgYSBzdHJpbmciKTt2YXIgdD1TKHgoXyhlKSkpO3JldHVybiB0LmZvckVhY2goKGZ1bmN0aW9uKGUpe2UgaW5zdGFuY2VvZiBtJiZlLmV4Y2hhbmdlKG51bGwpfSkpLEModCl9LG5vcm1hbGl6ZTpmdW5jdGlvbihlKXtpZigic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcigiZXhwcmVzc2lvbiBtdXN0IGJlIGEgc3RyaW5nIik7cmV0dXJuIEMoUyh4KF8oZSkpKSl9fX0oKTtlLmV4cG9ydHM9bn0sMjMyOTQ4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2dldFByb2R1Y3RJZDooKT0+dSxpc0V4Y2hhbmdlOigpPT5sLGlzUGFpZFBybzooKT0+YSxpc1BsYW46KCk9PmMsaXNQcm86KCk9PnMsaXNQcm9kdWN0RGVmaW5lZDooKT0+aSxpc1RyaWFsOigpPT5vfSk7dmFyIHI9big1ODE4OTMpO2Z1bmN0aW9uIGkoZSl7cmV0dXJuISghZXx8IU9iamVjdC5rZXlzKGUpLmxlbmd0aCl9ZnVuY3Rpb24gbyhlKXtyZXR1cm4hIWUuaXNfdHJpYWx9ZnVuY3Rpb24gcyhlKXtyZXR1cm4hIWU/LnByb19wbGFufWZ1bmN0aW9uIGEoZSl7cmV0dXJuIHMoZSkmJiFvKGUpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGUudHlwZT09PXIuUHJvZHVjdFR5cGUuUHJvUGxhbn1mdW5jdGlvbiBsKGUpe3JldHVybiBlLnR5cGU9PT1yLlByb2R1Y3RUeXBlLkV4Y2hhbmdlfWZ1bmN0aW9uIHUoZSl7cmV0dXJuIGU/bChlKXx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUudHlwZT09PXIuUHJvZHVjdFR5cGUuQ29pbnN9KGUpP2UudGV4dF9pZD8/IiI6ZS5kaXNjb3VudF90ZXh0X2lkPz9lLnRleHRfaWQ/PyIiOiIifX0sODY0MDM0KGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI7bi5kKHQse0JpbGxpbmdDeWNsZTooKT0+cixNT05USExZX1NVQlNDUklQVElPTl9EQVlTX0xFTjooKT0+byxXRUVLTFlfU1VCU0NSSVBUSU9OX0RBWVNfTEVOOigpPT5pfSksZnVuY3Rpb24oZSl7ZS5Nb250aGx5PSJtIixlLlRocmVlTW9udGhzPSIzbSIsZS5PbmVZZWFyPSJ5In0ocnx8KHI9e30pKTtjb25zdCBpPTcsbz0zMH0sNTgxODkzKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI7bi5kKHQse1Byb2R1Y3RUeXBlOigpPT5yfSksZnVuY3Rpb24oZSl7ZVtlLlByb1BsYW49MV09IlByb1BsYW4iLGVbZS5OZXdzRmVlZD0zXT0iTmV3c0ZlZWQiLGVbZS5FeGNoYW5nZT00XT0iRXhjaGFuZ2UiLGVbZS5Db25uZWN0aW9uPTZdPSJDb25uZWN0aW9uIixlW2UuQ29pbnM9OF09IkNvaW5zIixlW2UuU2NyaXB0UGFja2FnZT05XT0iU2NyaXB0UGFja2FnZSJ9KHJ8fChyPXt9KSl9LDQ5ODY1MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtpc0lEQ0V4Y2hhbmdlOigpPT5pfSk7dmFyIHI9bigyMzI5NDgpO2Z1bmN0aW9uIGkoZSx0PSExKXtpZihlJiZlLnN0YXJ0c1dpdGgoImV4Y2hhbmdlLSIpKXJldHVybiBmdW5jdGlvbihlLHQ9ITEpe2NvbnN0IG49d2luZG93LnBybz8uZ2V0UHJvZHVjdChlKTtyZXR1cm4hKHZvaWQgMD09PW58fCEoMCxyLmlzUHJvZHVjdERlZmluZWQpKG4pfHwodD8hbi5pZGNfc2VydmljZV9jb2Rlc19kZWxheTohbi5pZGNfc2VydmljZV9jb2RlcykpfShlLHQpO2NvbnN0IG49KGV8fCIiKS50b0xvd2VyQ2FzZSgpO3JldHVybiB3aW5kb3cucHJvPy5nZXRJRENFeGNoYW5nZXModCk/LmluY2x1ZGVzKG4pPz8hMX19LDk1MjkwMChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHthY2N1bXVsYXRlOigpPT5zLGNvbWJpbmU6KCk9Pm99KTt2YXIgcj1uKDIzMjM2NCk7ZnVuY3Rpb24gaShlLHQsLi4ubil7bGV0IGk9bnVsbAo7Y29uc3Qgbz0oLi4udCk9PmUoLi4udC5tYXAoKGU9PmUudmFsdWUoKSkpLGk/LnZhbHVlKCkpLHM9aT1uZXcgci5XYXRjaGVkVmFsdWUobyguLi5uKSksYT0oKT0+e2NvbnN0IGU9bi5tYXAoKChlLHQpPT5lLnZhbHVlKCkpKTt0KC4uLmUpJiZzLnNldFZhbHVlKG8oLi4ubikpfSxjPW4ubWFwKChlPT5lLnNwYXduKCkpKTtmb3IoY29uc3QgZSBvZiBjKWUuc3Vic2NyaWJlKGEpO3JldHVybiBzLnJlYWRvbmx5KCkuc3Bhd24oKCgpPT57Yy5mb3JFYWNoKChlPT5lLmRlc3Ryb3koKSkpLG4uZm9yRWFjaCgoZT0+ZS5yZWxlYXNlKCkpKX0pKX1mdW5jdGlvbiBvKGUsLi4udCl7cmV0dXJuIGkoZSwoKCk9PiEwKSwuLi50KX1mdW5jdGlvbiBzKGUsdCwuLi5uKXtsZXQgaT1udWxsO2NvbnN0IHM9bygoKC4uLmUpPT4oZS5zcGxpY2UoLTEpLGUpKSwuLi5uKSxhPXQuc3Bhd24oKSxjPSh0LC4uLm4pPT57Y29uc3Qgcj10Lm1hcCgoZT0+ZS52YWx1ZSgpKSk7cmV0dXJuIGUociwuLi5uLGk/LnZhbHVlKCkpfSxsPWk9bmV3IHIuV2F0Y2hlZFZhbHVlKGMoYS52YWx1ZSgpLC4uLnMudmFsdWUoKSkpO2xldCB1PVtdO2NvbnN0IGQ9KCk9PntsLnNldFZhbHVlKGModSwuLi5zLnZhbHVlKCkpKX0scD1lPT57dS5mb3JFYWNoKChlPT5lLmRlc3Ryb3koKSkpLHU9ZS5tYXAoKGU9PmUuc3Bhd24oKSkpLHUuZm9yRWFjaCgoZT0+ZS5zdWJzY3JpYmUoZCkpKSxkKCl9O3AoYS52YWx1ZSgpKSxhLnN1YnNjcmliZShwKSxzLnN1YnNjcmliZShkKTtyZXR1cm4gbC5yZWFkb25seSgpLnNwYXduKCgoKT0+e3UuZm9yRWFjaCgoZT0+ZS5kZXN0cm95KCkpKSxhLmRlc3Ryb3koKSxzLmRlc3Ryb3koKSx0LnJlbGVhc2UoKX0pKX19LDE1MDE1MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtndWlkOigpPT5pLHJhbmRvbUhhc2g6KCk9Pm8scmFuZG9tSGFzaE46KCk9PnN9KTtjb25zdCByPSIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiI7ZnVuY3Rpb24gaSgpe3JldHVybiJ4eHh4eHh4eC14eHh4LTR4eHgteXh4eC14eHh4eHh4eHh4eHgiLnJlcGxhY2UoL1t4eV0vZywoZT0+e2NvbnN0IHQ9MTYqTWF0aC5yYW5kb20oKXwwO3JldHVybigieCI9PT1lP3Q6MyZ0fDgpLnRvU3RyaW5nKDE2KX0pKX1mdW5jdGlvbiBvKCl7cmV0dXJuIHMoMTIpfWZ1bmN0aW9uIHMoZSl7bGV0IHQ9IiI7Zm9yKGxldCBuPTA7bjxlOysrbil7Y29uc3QgZT1NYXRoLmZsb29yKDYyKk1hdGgucmFuZG9tKCkpO3QrPXJbZV19cmV0dXJuIHR9fSw2NDA3NDQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUsdCxuKXtyZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgoZSx0KSxuKX1mdW5jdGlvbiBpKGUpe2NvbnN0IHQ9TWF0aC5jZWlsKGUpO3JldHVybiB0JTIhPTA/dC0xOnR9ZnVuY3Rpb24gbyhlKXtjb25zdCB0PU1hdGguY2VpbChlKTtyZXR1cm4gdCUyPT0wP3QtMTp0fWZ1bmN0aW9uIHMoZSl7cmV0dXJuIGU+MD9NYXRoLmZsb29yKGUpOk1hdGguY2VpbChlKX1mdW5jdGlvbiBhKGUpe3JldHVybiBlJTI9PTB9bi5kKHQse2NlaWxlZEV2ZW46KCk9PmksY2VpbGVkT2RkOigpPT5vLGNsYW1wOigpPT5yLGlzRXZlbjooKT0+YSx0b0ludDooKT0+c30pfSwyNDE5NTYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Y3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9uOigpPT5pfSk7dmFyIHI9bigyMzIzNjQpO2Z1bmN0aW9uIGkoZSx0KXtjb25zdCBuPW5ldyByLldhdGNoZWRWYWx1ZShlKCkpLGk9e307dC5zdWJzY3JpYmUoaSwoKCk9PntuLnNldFZhbHVlKGUobi52YWx1ZSgpKSl9KSk7cmV0dXJuIG4ucmVhZG9ubHkoKS5zcGF3bigoKCk9PnQudW5zdWJzY3JpYmVBbGwoaSkpKX19LDYwMTg0MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtjbG9uZTooKT0+cyxkZWVwRXF1YWxzOigpPT5kLGhhc1Byb3BlcnR5OigpPT5sLGlzQXJyYXk6KCk9PnAsaXNFeGlzdGVudDooKT0+Zixpc0ludGVnZXI6KCk9Pm0saXNOYU46KCk9PmcsaXNOdW1iZXI6KCk9Pm8saXNPYmplY3Q6KCk9PmMsaXNTdHJpbmc6KCk9PmgsbWVyZ2U6KCk9PmEsbm90TnVsbDooKT0+eX0pO2NvbnN0IHI9bmV3IFNldChbIl9fcHJvdG9fXyIsInByb3RvdHlwZSIsImNvbnN0cnVjdG9yIl0pO2Z1bmN0aW9uIGkoZSl7cmV0dXJuIHIuaGFzKGUpfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiBlJiZpc0Zpbml0ZShlKX1mdW5jdGlvbiBzKGUpe2lmKCFlfHwib2JqZWN0IiE9dHlwZW9mIGUpcmV0dXJuIGU7bGV0IHQ7dD1BcnJheS5pc0FycmF5KGUpP1tdOnt9O2Zvcihjb25zdCBuIGluIGUpaWYoZS5oYXNPd25Qcm9wZXJ0eShuKSl7Y29uc3Qgcj1lW25dO3Rbbl09ciYmIm9iamVjdCI9PXR5cGVvZiByP3Mocik6cn1yZXR1cm4gdH1mdW5jdGlvbiBhKGUsdCl7aWYoIWMoZSl8fCFjKHQpKXJldHVybiBlO2Zvcihjb25zdFtuLHJdb2YgT2JqZWN0LmVudHJpZXModCkpaShuKXx8KHImJih1KHIpfHwhcChyKSYmT2JqZWN0LmdldFByb3RvdHlwZU9mKHIpIT09T2JqZWN0LnByb3RvdHlwZSk/ZVtuXT1yOihlLmhhc093blByb3BlcnR5KG4pJiZjKGVbbl0pfHwhYyhyKXx8KGVbbl09QXJyYXkuaXNBcnJheShyKT9bXTp7fSksYyhyKSYmYyhlW25dKT9hKGVbbl0scik6ZVtuXT1yKSk7cmV0dXJuIGV9ZnVuY3Rpb24gYyhlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lfWZ1bmN0aW9uIGwoZSx0KXtyZXR1cm4gdCBpbiBlfWZ1bmN0aW9uIHUoZSl7cmV0dXJuIG51bGwhPWUmJihlLmNvbnN0cnVjdG9yPT09RnVuY3Rpb258fCJbb2JqZWN0IEZ1bmN0aW9uXSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkpfWZ1bmN0aW9uIGQoZSx0LG49IiIpe2lmKGU9PT10KXJldHVyblshMCxuXTtpZih1KGUpJiYoZT12b2lkIDApLHUodCkmJih0PXZvaWQgMCksbnVsbD09ZXx8bnVsbD09dClyZXR1cm5bZT09PXQsbl07aWYoIm9iamVjdCIhPXR5cGVvZiBlJiYib2JqZWN0IiE9dHlwZW9mIHQpcmV0dXJuW2U9PT10LG5dO2lmKEFycmF5LmlzQXJyYXkoZSkmJkFycmF5LmlzQXJyYXkodCkpewpjb25zdCByPWUubGVuZ3RoO2lmKHIhPT10Lmxlbmd0aClyZXR1cm5bITEsbl07Zm9yKGxldCBpPTA7aTxyO2krKyl7Y29uc3Qgcj1kKGVbaV0sdFtpXSxuKyJbIitpKyJdIik7aWYoIXJbMF0pcmV0dXJuIHJ9cmV0dXJuWyEwLG5dfWlmKEFycmF5LmlzQXJyYXkoZSl8fEFycmF5LmlzQXJyYXkodCkpcmV0dXJuWyExLG5dO2lmKE9iamVjdC5rZXlzKGUpLmxlbmd0aCE9PU9iamVjdC5rZXlzKHQpLmxlbmd0aClyZXR1cm5bITEsbl07Zm9yKGNvbnN0IHIgaW4gZSl7Y29uc3QgaT1kKGVbcl0sdFtyXSxuKyJbIityKyJdIik7aWYoIWlbMF0pcmV0dXJuIGl9cmV0dXJuWyEwLG5dfWNvbnN0IHA9QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24oZSl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKX07ZnVuY3Rpb24gZyhlKXtyZXR1cm4hKGU8PTB8fGU+MCl9ZnVuY3Rpb24gZihlKXtyZXR1cm4gbnVsbCE9ZX1mdW5jdGlvbiBtKGUpe3JldHVybiJudW1iZXIiPT10eXBlb2YgZSYmZSUxPT0wfWZ1bmN0aW9uIGgoZSl7cmV0dXJuIG51bGwhPWUmJmUuY29uc3RydWN0b3I9PT1TdHJpbmd9ZnVuY3Rpb24geShlKXtyZXR1cm4gbnVsbCE9PWV9TnVtYmVyLmlzTmFOPU51bWJlci5pc05hTnx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUhPWV9fSw0OTI2NzcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUpe3JldHVybiBkZWNvZGVVUklDb21wb25lbnQoZS5yZXBsYWNlKC9cKy9nLCIgIikpLnJlcGxhY2UoLzxcLz9bXj5dKyg+fCQpL2csIiIpfWZ1bmN0aW9uIGkoZSl7Y29uc3QgdD0vKFteJj1dKyk9PyhbXiZdKikvZyxuPXt9O2lmKCFlKXJldHVybiBuO2xldCBpPXQuZXhlYyhlKTtmb3IoO2k7KW5bcihpWzFdKV09cihpWzJdKSxpPXQuZXhlYyhlKTtyZXR1cm4gbn1mdW5jdGlvbiBvKCl7cmV0dXJuIGkod2luZG93LmxvY2F0aW9uLnNlYXJjaC5zdWJzdHJpbmcoMSkpfWZ1bmN0aW9uIHMoKXtjb25zdCBlPXdpbmRvdy5sb2NhdGlvbi5ocmVmLnNwbGl0KCIjIilbMF07d2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKCIiLGRvY3VtZW50LnRpdGxlLGUpfWZ1bmN0aW9uIGEoZSl7Y29uc3QgdD1bXTtmb3IoY29uc3QgbiBpbiBlKWlmKGUuaGFzT3duUHJvcGVydHkobikmJm51bGwhPWVbbl0pe2NvbnN0IHI9ZVtuXSxpPSJvYmplY3QiPT10eXBlb2Ygcj9KU09OLnN0cmluZ2lmeShyKTpTdHJpbmcocik7dC5wdXNoKHtrZXk6bixwYWlyOmVuY29kZVVSSUNvbXBvbmVudChuKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGkpfSl9cmV0dXJuIHQuc29ydCgoKGUsdCk9PmUua2V5PnQua2V5PzE6ZS5rZXk8dC5rZXk/LTE6MCkpLm1hcCgoZT0+ZS5wYWlyKSkuam9pbigiJiIpfW4uZCh0LHtjcmVhdGVVcmxQYXJhbXM6KCk9PmEsZ2V0VXJsUGFyYW1zOigpPT5vLHJlbW92ZUhhc2hGcm9tVXJsOigpPT5zfSl9LDEwNzA0NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtOdW1lcmljRm9ybWF0dGVyOigpPT5vfSk7dmFyIHI9big1OTg5MjIpLGk9big1NDY0ODUpO2NsYXNzIG97Y29uc3RydWN0b3IoZT17fSl7dGhpcy5fb3B0aW9ucz1lfWZvcm1hdChlLHQ9e30pe2lmKCFOdW1iZXIuaXNGaW5pdGUoZSkpcmV0dXJuIFN0cmluZyhlKTtjb25zdHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6bj10aGlzLl9vcHRpb25zLmlnbm9yZUxvY2FsZU51bWJlckZvcm1hdCxub0V4cG9uZW50aWFsRm9ybTpzPXRoaXMuX29wdGlvbnMubm9FeHBvbmVudGlhbEZvcm19PXQse21pblByZWNpc2lvbjphLHByZWNpc2lvbjpjfT10aGlzLl9vcHRpb25zLGw9KDAsaS5nZXROdW1iZXJGb3JtYXQpKG4pO3JldHVybiB2b2lkIDA9PT1jP28uX2Zvcm1hdE5vRUltcGwoZSxsLGMsYSk6KDAsci5mb3JtYXROdW1iZXIpKGUsbCxjLHMsYSl9cGFyc2UoZSx0KXtjb25zdHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6bixwcmVjaXNpb246b309dGhpcy5fb3B0aW9ucyxzPSgwLGkuZ2V0TnVtYmVyRm9ybWF0KShufHx0Py5pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQpO2xldCBhPSgwLHIucGFyc2VOdW1iZXIpKGUscyk7cmV0dXJuIE51bWJlci5pc0Zpbml0ZShhKT8obyYmKGE9K2EudG9GaXhlZChvKSkse3JlczohMCx2YWx1ZTphfSk6e3JlczohMX19c3RhdGljIGZvcm1hdE5vRShlLHQpe3JldHVybiB0aGlzLl9mb3JtYXROb0VJbXBsKGUsdCl9c3RhdGljIF9mb3JtYXROb0VJbXBsKGUsdCxuLGkpe3JldHVybiBOdW1iZXIuaXNGaW5pdGUoZSk/KHQ9dD8/e2dyb3VwaW5nU2VwYXJhdG9yOiIiLGRlY2ltYWxTaWduOiIuIn0sKDAsci5mb3JtYXROdW1iZXIpKGUsdCxuLCEwLGkpKTpTdHJpbmcoZSl9fX0sMTI1MjE4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1BlcmNlbnRhZ2VGb3JtYXR0ZXI6KCk9Pm99KTt2YXIgcj1uKDExNTI5MyksaT1uKDc1NTYyNyk7Y2xhc3MgbyBleHRlbmRzIGkuUHJpY2VGb3JtYXR0ZXJ7Y29uc3RydWN0b3IoZT17fSl7dm9pZCAwIT09ZS5kZWNpbWFsUGxhY2VzJiYoZS5wcmljZVNjYWxlPU1hdGgucG93KDEwLGUuZGVjaW1hbFBsYWNlcykpLHN1cGVyKGUpLHRoaXMudHlwZT0icGVyY2VudGFnZSJ9c3RhdGUoKXtyZXR1cm57Li4uc3VwZXIuc3RhdGUoKSxwZXJjZW50OiEwfX1wYXJzZShlLHQpe3JldHVybiBlPWUucmVwbGFjZSgiJSIsIiIpLHN1cGVyLnBhcnNlKGUsdCl9Zm9ybWF0KGUsdD17fSl7Y29uc3R7dXNlUnRsRm9ybWF0Om49ITB9PXQsaT1zdXBlci5mb3JtYXQoZSx7Li4udCx1c2VSdGxGb3JtYXQ6ITF9KSsiJSI7cmV0dXJuIG4/KDAsci5mb3JjZUxUUlN0cikoaSk6aX1zdGF0aWMgc2VyaWFsaXplKGUpe3JldHVybiBlLnN0YXRlKCl9c3RhdGljIGRlc2VyaWFsaXplKGUpe3JldHVybiBuZXcgbyhlKX19fSw5ODQzNzYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UExBQ0VfSE9MREVSOigpPT5zLFZvbHVtZUZvcm1hdHRlcjooKT0+bH0pO3ZhciByPW4oNzgzMjU0KSxpPW4oNjAxODQxKSxvPW4oMTA3MDQ1KTtjb25zdCBzPSItLS0iLGE9W3t2YWx1ZTozLGxldHRlcjoiSyJ9LHt2YWx1ZTo2LGxldHRlcjoiTSJ9LHt2YWx1ZTo5LGxldHRlcjoiQiJ9LHsKdmFsdWU6MTIsbGV0dGVyOiJUIn1dO2Z1bmN0aW9uIGMoZSx0KXtjb25zdCBuPWUtdDtyZXR1cm4gYS5maW5kKChlPT5lLnZhbHVlPj1uKSk/P2FbYS5sZW5ndGgtMV19Y2xhc3MgbHtjb25zdHJ1Y3RvcihlPXt9KXt0aGlzLnR5cGU9InZvbHVtZSI7Y29uc3R7cHJlY2lzaW9uOnQ9MCxtaW5QcmVjaXNpb246bj0wLGRpbWVuc2lvblByZWNpc2lvbjpyPTIsZGltZW5zaW9uTWluUHJlY2lzaW9uOmk9MCxzaWduaWZpY2FudERpZ2l0czpzPTMsaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmEsbm9FeHBvbmVudGlhbEZvcm06YyxyZW1vdmVTcGFjZUJlZm9yZURpbWVuc2lvbjpsfT1lO3RoaXMuX3ByZWNpc2lvbj10LHRoaXMuX2Zvcm1hdHRlcj1uZXcgby5OdW1lcmljRm9ybWF0dGVyKHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6YSxwcmVjaXNpb246dGhpcy5fcHJlY2lzaW9uLG1pblByZWNpc2lvbjpuLG5vRXhwb25lbnRpYWxGb3JtOmN9KSx0aGlzLl9kaW1lbnNpb25QcmVjaXNpb249cix0aGlzLl9kaW1lbnNpb25Gb3JtYXR0ZXI9bmV3IG8uTnVtZXJpY0Zvcm1hdHRlcih7aWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmEscHJlY2lzaW9uOnRoaXMuX2RpbWVuc2lvblByZWNpc2lvbixtaW5QcmVjaXNpb246aSxub0V4cG9uZW50aWFsRm9ybTpjfSksdGhpcy5fc2lnbmlmaWNhbnREaWdpdHM9cyx0aGlzLl9mcmFjdGlvbmFsVmFsdWVzPXZvaWQgMCE9PXQmJnQ+MCx0aGlzLl9zcGFjZUJlZm9yZURpbWVuc2lvbj1sPyIiOiLigK8iLHRoaXMuX29wdGlvbnM9ZX1zdGF0ZSgpe2NvbnN0e2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDplLC4uLnR9PXRoaXMuX29wdGlvbnM7cmV0dXJuIHR9Zm9ybWF0KGUsdCl7aWYoISgwLGkuaXNOdW1iZXIpKGUpKXJldHVybiBzO2lmKE1hdGguYWJzKGUpPj0xZTEwMClyZXR1cm4gci50KG51bGwse2NvbnRleHQ6InZvbHVtZS1mb3JtYXR0ZXIifSxuKDU3MDYyKSk7bGV0IG89IiI7TWF0aC5hYnMoZSk8MSYmKGU9K2UudG9GaXhlZCh0aGlzLl9wcmVjaXNpb24pKSxlPDA/bz0i4oiSIjplPjAmJnQ/LnNpZ25Qb3NpdGl2ZSYmKG89IisiKSxlPU1hdGguYWJzKGUpO2NvbnN0IGE9ISEodD8uaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0Pz90aGlzLl9vcHRpb25zLmlnbm9yZUxvY2FsZU51bWJlckZvcm1hdCk7bGV0IGwsdSxkPU1hdGguZmxvb3IoTWF0aC5sb2cxMChlKSkrMTtpZihkPD10aGlzLl9zaWduaWZpY2FudERpZ2l0cyYmKGU9K2UudG9GaXhlZCh0aGlzLl9wcmVjaXNpb24pLGQ9TWF0aC5mbG9vcihNYXRoLmxvZzEwKGUpKSsxKSxkPD10aGlzLl9zaWduaWZpY2FudERpZ2l0cylsPXRoaXMuX2Zvcm1hdE51bWJlcihlLGEsdGhpcy5fZm9ybWF0dGVyKTtlbHNle2xldCB0PWMoZCx0aGlzLl9zaWduaWZpY2FudERpZ2l0cyk7Y29uc3Qgbj1NYXRoLnBvdygxMCx0LnZhbHVlKTtlPSsoZS9uKS50b0ZpeGVkKHRoaXMuX2RpbWVuc2lvblByZWNpc2lvbikqbix0PWMoTWF0aC5mbG9vcihNYXRoLmxvZzEwKGUpKSsxLHRoaXMuX3NpZ25pZmljYW50RGlnaXRzKSxsPXRoaXMuX2Zvcm1hdE51bWJlcihlL01hdGgucG93KDEwLHQudmFsdWUpLGEsdGhpcy5fZGltZW5zaW9uRm9ybWF0dGVyKSx1PXQubGV0dGVyfXJldHVybiB1P2Ake299JHtsfSR7dGhpcy5fc3BhY2VCZWZvcmVEaW1lbnNpb259JHt1fWA6YCR7b30ke2x9YH1wYXJzZShlLHQpe2lmKGU9PT1zKXJldHVybntlcnJvcjoibm90IGEgbnVtYmVyIixyZXM6ITEsdmFsdWU6TmFOfTtjb25zdCBuPXtLOjFlMyxNOjFlNixCOjFlOSxUOjFlMTJ9LHI9KGU9ZS5yZXBsYWNlKCLiiJIiLCItIikpLnNsaWNlKC0xKTtpZihuLmhhc093blByb3BlcnR5KHIpKXtjb25zdCBvPXRoaXMuX2Zvcm1hdHRlci5wYXJzZShlLnNsaWNlKDAsLTEpLnRyaW0oKSx0KSxzPW8ucmVzP28udmFsdWU6TmFOO3JldHVybigwLGkuaXNOdW1iZXIpKHMpP3tyZXM6ITAsdmFsdWU6cypuW3JdfTp7ZXJyb3I6Im5vdCBhIG51bWJlciIscmVzOiExLHZhbHVlOk5hTn19e2NvbnN0IG49dGhpcy5fZm9ybWF0dGVyLnBhcnNlKGUudHJpbSgpLHQpO2xldCByPW4ucmVzP24udmFsdWU6TmFOO3JldHVybi0wPT09ciYmKHI9MCksKDAsaS5pc051bWJlcikocik/e3JlczohMCx2YWx1ZTpyfTp7ZXJyb3I6Im5vdCBhIG51bWJlciIscmVzOiExLHZhbHVlOk5hTn19fXN0YXRpYyBzZXJpYWxpemUoZSl7cmV0dXJuIGUuc3RhdGUoKX1zdGF0aWMgZGVzZXJpYWxpemUoZSl7cmV0dXJuIG5ldyBsKGUpfV9mb3JtYXROdW1iZXIoZSx0LG4pe2lmKHRoaXMuX2ZyYWN0aW9uYWxWYWx1ZXMmJjAhPT1lKXtjb25zdCB0PTE0LU1hdGguY2VpbChNYXRoLmxvZzEwKGUpKSxuPU1hdGgucG93KDEwLHQpO2U9TWF0aC5yb3VuZChlKm4pL259cmV0dXJuIG4uZm9ybWF0KGUse2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDp0fSl9fX0sOTAxMDIyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1NFUEFSQVRPUl9QUkVGSVg6KCk9PnIsaXNTZXBhcmF0b3JJdGVtOigpPT5pfSk7Y29uc3Qgcj0iIyMjIjtmdW5jdGlvbiBpKGUpe3JldHVybiBlLnN0YXJ0c1dpdGgocil9fSw2NDE1OTMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Y2FwaXRhbGl6ZUZpcnN0TGV0dGVySW5Xb3JkOigpPT5kLGRlY29kZUhUTUxFbnRpdGllczooKT0+YyxnZXRGaXJzdFNlZ21lbnRPckNvZGVQb2ludFN0cmluZzooKT0+cCxodG1sRXNjYXBlOigpPT5sLHJlbW92ZVRhZ3M6KCk9PnV9KTtjb25zdCByPS9bPCInJj5dL2csaT1lPT5gJiMke2UuY2hhckNvZGVBdCgwKX07YCxvPXsiJmx0OyI6IjwiLCImZ3Q7IjoiPiIsIiZxdW90OyI6JyInLCImYXBvczsiOiInIiwiJmFtcDsiOiImIiwiJiM2MDsiOiI8IiwiJiM2MjsiOiI+IiwiJiMzNDsiOiciJywiJiMzOTsiOiInIiwiJiMwMzk7IjoiJyIsIiYjMzg7IjoiJiJ9LHM9T2JqZWN0LmFzc2lnbih7fSwuLi5PYmplY3QuZW50cmllcyhvKS5tYXAoKChbZSx0XSk9Pih7W3RdOmV9KSkpKSxhPW5ldyBSZWdFeHAoT2JqZWN0LmtleXMobykuam9pbigifCIpLCJnIik7bmV3IFJlZ0V4cChPYmplY3Qua2V5cyhzKS5qb2luKCJ8IiksImciKTtmdW5jdGlvbiBjKGUpewpyZXR1cm4gZS5yZXBsYWNlKGEsKGU9Pm9bZV18fGUpKX1mdW5jdGlvbiBsKGUpe3JldHVybiBlLnJlcGxhY2UocixpKX1mdW5jdGlvbiB1KGU9IiIpe3JldHVybiBlLnJlcGxhY2UoLyg8KFtePl0rKT4pL2dpLCIiKX1mdW5jdGlvbiBkKGU9IiIpe3JldHVybiBlLnJlcGxhY2UoL1xiXHcvZywoZT0+ZS50b1VwcGVyQ2FzZSgpKSl9ZnVuY3Rpb24gcChlKXtjb25zdCB0PUludGwuU2VnbWVudGVyO2lmKHQpe2NvbnN0IG49bmV3IHQodm9pZCAwLHtncmFudWxhcml0eToiZ3JhcGhlbWUifSksW3tzZWdtZW50OnJ9PXtzZWdtZW50Om51bGx9XT1uLnNlZ21lbnQoZSk7cmV0dXJuIHI/LnRvVXBwZXJDYXNlKCk/P251bGx9e2NvbnN0IHQ9ZS5jb2RlUG9pbnRBdCgwKTtyZXR1cm4gdD9TdHJpbmcuZnJvbUNvZGVQb2ludCh0KS50b1VwcGVyQ2FzZSgpOm51bGx9fX0sMTM2OTkxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NvcHlyaWdodFBvc2l0aW9uOigpPT5yLGNvcHlyaWdodExhYmVsOigpPT51fSk7dmFyIHIsaT1uKDE4NTI3MSksbz1uKDkxNDQ4Nykscz1uLm4obyksYT1uKDYwMTg0MSksYz1uKDM4NzIzMSksbD1uKDM5OTA5Mik7ZnVuY3Rpb24gdSh7c3ZnVGV4dDplLGljb246dCx0aGVtZTpvLHVybDp1LG1vZGU6ZCx2ZXJ0aWNhbFBvc2l0aW9uOnA9ci5WZXJ0aWNhbC5Cb3R0b20saG9yaXpvbnRhbFBvc2l0aW9uOmc9ci5Ib3Jpem9udGFsLkVuZCxzbmFwVG9FZGdlOmY9ITAsaXNFeHBhbmRlZDptPSExLGNsYXNzTmFtZTpofSl7bGV0IHk7c3dpdGNoKGQpe2Nhc2UibmV3IjpjYXNlIndpdGhfYm9yZGVyIjpjYXNlImxhcmdlX3RyYWRlIjp5PSgwLGEuY2xvbmUpKG8pO2JyZWFrO2RlZmF1bHQ6eT0oMCxjLm1lcmdlVGhlbWVzKSgoMCxhLmNsb25lKShsKSxvKX1jb25zdCB2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtsZXQgdzt1JiYodz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIiksdy5jbGFzc0xpc3QuYWRkKC4uLnkubGFiZWxfX2xpbmsuc3BsaXQoL1xzLykpLHcuaHJlZj11LHcudGFyZ2V0PSJfYmxhbmsiLHcucmVsPSJub29wZW5lciBub3JlZmVycmVyIix3LnNldEF0dHJpYnV0ZSgiZGF0YS10YXJnZXQtdHlwZSIsImNvcHlyaWdodCIpLHcuYXJpYUxhYmVsPWkudChudWxsLHZvaWQgMCxuKDUxNzg1OSkpLHYuYXBwZW5kKHcpKSx2LmNsYXNzTmFtZT1zKCkoeS5sYWJlbCxnPT09ci5Ib3Jpem9udGFsLlN0YXJ0JiZ5LnN0YXJ0LGc9PT1yLkhvcml6b250YWwuRW5kJiZ5LmVuZCxwPT09ci5WZXJ0aWNhbC5Ub3AmJnkudG9wLHA9PT1yLlZlcnRpY2FsLkJvdHRvbSYmeS5ib3R0b20sZiYmImxhcmdlX3RyYWRlIiE9PWQmJnkuc25hcCwibGFyZ2Vfb2xkIj09PWQmJnkubGFyZ2UsKG18fCJsYXJnZV90cmFkZSI9PT1kKSYmeS5leHBhbmRlZCxoLCJqcy1jb3B5cmlnaHQtbGFiZWwiKSx2LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKCk9PntmdW5jdGlvbiBlKCl7di5jbGFzc0xpc3QucmVtb3ZlKHkuZXhwYW5kZWRCeUNsaWNrKSx2LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGUpfXYuY2xhc3NMaXN0LmNvbnRhaW5zKHkuZXhwYW5kZWRXaXRoVHJhbnNpdGlvbil8fHYuY2xhc3NMaXN0LmNvbnRhaW5zKHkuZXhwYW5kZWQpfHwodi5jbGFzc0xpc3QuY29udGFpbnMoeS5leHBhbmRlZEJ5Q2xpY2spP3V8fGUoKToodi5jbGFzc0xpc3QuYWRkKHkuZXhwYW5kZWRCeUNsaWNrKSx2LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGUpKSl9KSk7Y29uc3QgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7Yi5jbGFzc05hbWU9eS5sb2dvV3JhcCxiLmlubmVySFRNTD10O2NvbnN0IF89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO3JldHVybiBfLmNsYXNzTmFtZT15LnN2Z1RleHRXcmFwLF8uaW5uZXJIVE1MPWUsdi5hcHBlbmQoYixfKSxbdix5XX0hZnVuY3Rpb24oZSl7bGV0IHQsbjshZnVuY3Rpb24oZSl7ZVtlLkJvdHRvbT0wXT0iQm90dG9tIixlW2UuVG9wPTFdPSJUb3AifSh0PWUuVmVydGljYWx8fChlLlZlcnRpY2FsPXt9KSksZnVuY3Rpb24oZSl7ZVtlLlN0YXJ0PTBdPSJTdGFydCIsZVtlLkVuZD0xXT0iRW5kIn0obj1lLkhvcml6b250YWx8fChlLkhvcml6b250YWw9e30pKX0ocnx8KHI9e30pKX0sNjUzODE3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NvcHlyaWdodFBvc2l0aW9uOigpPT5vLkNvcHlyaWdodFBvc2l0aW9uLGNyZWF0ZUNvcHlyaWdodExhYmVsOigpPT5hfSk7dmFyIHI9big5MTQ0ODcpLGk9bi5uKHIpLG89bigxMzY5OTEpLHM9big1Mjg4NjQpO2Z1bmN0aW9uIGEoe3NoZXJpZmZPcHRpb25zOmUsLi4udH0pe2NvbnN0W24scl09KDAsby5jb3B5cmlnaHRMYWJlbCkodCksYT1lJiZlLmluY2x1ZGVzKHMuS25vd25BY3Rpb24uRXhwYW5kKSxjPWUmJmUuaW5jbHVkZXMocy5Lbm93bkFjdGlvbi5MYXJnZVRyYWRlTG9nbyk7cmV0dXJuIG4uY2xhc3NOYW1lPWkoKShuLmNsYXNzTmFtZSwoYXx8YykmJnIuZXhwYW5kZWRXaXRoVHJhbnNpdGlvbiksbn19LDc0MjU3NyhlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSx0KXtyZXR1cm4gZSYmZS51dG1fY2FtcGFpZ24mJihlLnV0bV9jYW1wYWlnbis9YC0ke3R9YCksZX1hc3luYyBmdW5jdGlvbiBpKGUsdCxyLGkpe2lmKCJsZW50YXJ1Ij09PWUpe2NvbnN0e2dldExlbnRhQ29weXJpZ2h0RGF0YTplfT1hd2FpdCBQcm9taXNlLmFsbChbbi5lKDQ0MjUzKSxuLmUoODUwMzgpXSkudGhlbihuLmJpbmQobiwyODQwNDEpKTtyZXR1cm4gZSgpfWlmKCJjbW9uZXljb210dyI9PT1lKXtjb25zdHtnZXRDbW9uZXljb210d0NvcHlyaWdodERhdGE6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW24uZSg1OTk0MSksbi5lKDY0NDUpLG4uZSg3MTM5NCldKS50aGVuKG4uYmluZChuLDc3Nzc2OSkpO3JldHVybiBlKHQscil9aWYoIm5ldyI9PT1pKXtjb25zdHtnZXRUcmFkaW5nVmlld0NvcHlyaWdodERhdGE6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW24uZSg5Nzc5Nyksbi5lKDc2MDQwKV0pLnRoZW4obi5iaW5kKG4sOTgxMTU3KSk7cmV0dXJuIGUodCxyKX1pZigid2l0aF9ib3JkZXIiPT09aSl7CmNvbnN0e2dldFRyYWRpbmdWaWV3Q29weXJpZ2h0RGF0YTplfT1hd2FpdCBQcm9taXNlLmFsbChbbi5lKDUzNTIxKSxuLmUoMTY4MTMpXSkudGhlbihuLmJpbmQobiw4NTI2NjkpKTtyZXR1cm4gZSh0LHIpfWlmKCJsYXJnZV90cmFkZSI9PT1pKXtjb25zdHtnZXRUcmFkaW5nVmlld0NvcHlyaWdodERhdGE6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW24uZSg3NDAxMSksbi5lKDc5MDQxKV0pLnRoZW4obi5iaW5kKG4sNDkzNTU5KSk7cmV0dXJuIGUodCxyKX17Y29uc3R7Z2V0VHJhZGluZ1ZpZXdDb3B5cmlnaHREYXRhOmV9PWF3YWl0IFByb21pc2UuYWxsKFtuLmUoNTk5NDEpLG4uZSg5NzUwOSldKS50aGVuKG4uYmluZChuLDcwNTc5MCkpO3JldHVybiBlKHQscil9fW4uZCh0LHthZGRVdG1DYW1wYWlnblNvdXJjZTooKT0+cixnZXRDdXN0b21lckNvcHlyaWdodERhdGE6KCk9Pml9KX0sNzQ4MDAyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2dldFdpZGdldFNoZXJpZmZBY3Rpb25zOigpPT5sfSk7dmFyIHI9bigyMjEwNjEpLGk9bigzODQwMTcpLG89big1Mjg4NjQpO2NvbnN0IHM9d2luZG93LldJREdFVF9TSEVSSUZGX0hPU1R8fCJodHRwczovL3dpZGdldC1zaGVyaWZmLnhzdGFnaW5nLXdpZGdldC50diIsYT0oMCxyLmdldExvZ2dlcikoIldpZGdldFNoZXJpZmYuV2lkZ2V0Iik7bGV0IGM9bnVsbDthc3luYyBmdW5jdGlvbiBsKCl7cmV0dXJuIG51bGw9PT1jJiYoYz1hd2FpdCBhc3luYyBmdW5jdGlvbigpe2NvbnN0IGU9ZnVuY3Rpb24oKXtpZihkb2N1bWVudC5sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnMmJmRvY3VtZW50LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucy5sZW5ndGgpcmV0dXJuIGRvY3VtZW50LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2luc1tkb2N1bWVudC5sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnMubGVuZ3RoLTFdO3RyeXtyZXR1cm4gbmV3IFVSTChkb2N1bWVudC5yZWZlcnJlcikub3JpZ2lufWNhdGNoKGUpe3JldHVybiBkb2N1bWVudC5sb2NhdGlvbi5vcmlnaW58fG51bGx9fSgpO2lmKG51bGw9PT1lKXJldHVybiBhLmxvZ1dhcm4oImFuY2VzdG9yT3JpZ2luIGlzIHVuZGVmaW5lZCIpLFByb21pc2UucmVzb2x2ZShbXSk7Y29uc3QgdD1uZXcgVVJMKCIvc2hlcmlmZi9hcGkvdjEvcnVsZXMvc2VhcmNoIixzKTt0LnNlYXJjaFBhcmFtcy5hcHBlbmQoIm9yaWdpbiIsZSk7cmV0dXJuKGF3YWl0KDAsaS5mZXRjaCkodC50b0pTT04oKSkudGhlbigoZT0+e2lmKCFlLm9rKXRocm93IG5ldyBFcnJvcigiR3VhcmQgcmVxdWVzdCBlcnJvciBvY2N1cmVkIik7cmV0dXJuIDIwND09PWUuc3RhdHVzP1Byb21pc2UucmVzb2x2ZSh7YWN0aW9uczpbXX0pOmUuanNvbigpfSkpLmNhdGNoKChlPT4oYS5sb2dXYXJuKGUubWVzc2FnZSksUHJvbWlzZS5yZXNvbHZlKHthY3Rpb25zOltdfSkpKSkpLmFjdGlvbnMuZmlsdGVyKChlPT5vLndpZGdldFNoZXJpZmZBY3Rpb25zLmhhcyhlKSkpfSgpKSxQcm9taXNlLnJlc29sdmUoYyl9fSw1Mjg4NjQoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcjtuLmQodCx7S25vd25BY3Rpb246KCk9PnIsd2lkZ2V0U2hlcmlmZkFjdGlvbnM6KCk9Pml9KSxmdW5jdGlvbihlKXtlLkV4cGFuZD0iZXhwYW5kLWxvZ28iLGUuTGFyZ2VUcmFkZUxvZ289ImxhcmdlLXRyYWRlLWxvZ28ifShyfHwocj17fSkpO2NvbnN0IGk9bmV3IFNldChbci5FeHBhbmQsci5MYXJnZVRyYWRlTG9nb10pfSw0NzkzNChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtlbmFibGVkOigpPT5jLGdldENvbmZpZzooKT0+dSxnZXRQcm9kdWN0SWQ6KCk9PmF9KTt2YXIgcj1uKDUwMjU4NyksaT1uKDEyNzcxMSksbz1uKDMxODk3NCkscz1uKDIxMjIyOSk7ZnVuY3Rpb24gYShlKXtsZXQgdD13aW5kb3cudXNlcjsidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmd2luZG93LnVzZXImJih0PXdpbmRvdy51c2VyKSxlJiYodD1lKTtsZXQgbj10Py5wcm9fcGxhbnx8ImZyZWUiO3JldHVybiJmcmVlIiE9PW4mJiEoMCxzLmlzVHJpYWxQcm9kdWN0KShuKXx8KG49KDAscy5nZXRQcm9kdWN0Rm9yVHJpYWwpKG4pKSxufWZ1bmN0aW9uIGMoZSx0LG4pe2xldCByPXdpbmRvdy51c2VyO24mJihyPW4pO2NvbnN0IGk9dShlLHQscik7aWYoIWkpcmV0dXJuITE7aWYoaS5kaXNhYmxlX29uX3RyaWFsJiYoIXJ8fHIuaXNfdHJpYWwpKXJldHVybiExO2NvbnN0IHM9aS5kaXNhYmxlX29uX2xpdGVfcGxhbjtpZihzJiZyLmlzX2xpdGVfcGxhbil7aWYoImFsbCI9PT1zKXJldHVybiExO2lmKCJleGNsdWRlX21vYmlsZSI9PT1zJiYhby5DaGVja01vYmlsZS5hbnkoKSlyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiBsKGUpe2NvbnN0IHQ9cltlXTtyZXR1cm4gdD90LmV4dGVuZHM/T2JqZWN0LmFzc2lnbih7fSxsKHQuZXh0ZW5kcyksdCk6dDpudWxsfWZ1bmN0aW9uIHUoZSx0LG4pe2xldCByPWwodHx8KGEobik/PyIiKSk7aWYoIXIpcmV0dXJuIG51bGw7Y29uc3Qgbz13aW5kb3cuVHJhZGluZ1ZpZXc/LndpZGdldEN1c3RvbWVyO3JldHVybiBvJiZpW29dJiYocj1PYmplY3QuYXNzaWduKHt9LHIsaVtvXSkpLHImJnJbZV18fG51bGx9fSw0Mjk2NihlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KTt2YXIgcj1uKDg1NjMyNCksaT1uKDk2MzA5OCk7KDAsci5yZWdpc3Rlckxhbmd1YWdlR2V0dGVyKSgoKCk9PndpbmRvdy5sYW5ndWFnZXx8IiIpKSwoMCxyLnJlZ2lzdGVyTGFuZ3VhZ2VDb2RlTWFwcGVyKShpLmdldElzb0xhbmd1YWdlQ29kZUZyb21MYW5ndWFnZSl9LDYzMTYzNChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnZXRGcmVzaEluaXREYXRhOigpPT5zLGdldEluaXREYXRhOigpPT5vLHVwZGF0ZUluaXREYXRhOigpPT5pfSk7dmFyIHI9big3OTI2MTIpO2Z1bmN0aW9uIGkoKXsoMCxyLnVwZGF0ZUluaXREYXRhKSgpfWZ1bmN0aW9uIG8oKXtyZXR1cm4oMCxyLmdldEluaXREYXRhKSgpfWZ1bmN0aW9uIHMoKXtyZXR1cm4oMCxyLmdldEZyZXNoSW5pdERhdGEpKCl9fSw4NjIyMTMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7TG9nb1NpemU6KCk9PnIuTG9nb1NpemUsZ2V0TG9nb1VybFJlc29sdmVyOigpPT51fSkKO3ZhciByPW4oNjIwMzU0KSxpPW4oMTM4NjM4KSxvPW4oNjMxNjM0KSxzPW4oODEwNDEpO2NvbnN0IGE9KDAsbigyMjEwNjEpLmdldExvZ2dlcikoIkxvZ29VcmxSZXNvbHZlciIpO2NsYXNzIGN7Y29uc3RydWN0b3IoZSl7KDAsaS5hc3NlcnQpKCIiIT09ZSwiUzMgYmFzZSB1cmwgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmciKSx0aGlzLl9iYXNlVXJsPWV9Z2V0U3ltYm9sTG9nb1VybChlLHQpe2lmKCIiPT09ZSlyZXR1cm4gYS5sb2dXYXJuKCJsb2dvIGlkIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nIiksIiI7c3dpdGNoKHQpe2Nhc2Ugci5Mb2dvU2l6ZS5NZWRpdW06cmV0dXJuIHRoaXMuX2Jhc2VVcmwrYCR7ZX0uc3ZnYDtjYXNlIHIuTG9nb1NpemUuTGFyZ2U6cmV0dXJuIHRoaXMuX2Jhc2VVcmwrYCR7ZX0tLWJpZy5zdmdgfX1nZXRDb3VudHJ5RmxhZ1VybChlLHQpe3JldHVybiB0aGlzLmdldFN5bWJvbExvZ29VcmwoImNvdW50cnkvIitlLHQpfWdldFByb3ZpZGVyTG9nb1VybChlLHQpe3JldHVybiB0aGlzLmdldFN5bWJvbExvZ29VcmwoInByb3ZpZGVyLyIrZSx0KX1nZXRTb3VyY2VMb2dvVXJsKGUsdCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybCgic291cmNlLyIrZSx0KX1nZXRCbG9ja2NoYWluQ29udHJhY3RMb2dvVXJsKGUsdCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybCgiYmxvY2tjaGFpbi8iK2UsdCl9Z2V0Q2FuZGxlc3RpY2tQYXR0ZXJuTG9nb1VybChlLHQ9cy5TdGRUaGVtZS5MaWdodCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybChgY2FuZGxlcGF0dGVybi8ke2V9LSR7dH1gLHIuTG9nb1NpemUuTWVkaXVtKX19bGV0IGw7ZnVuY3Rpb24gdSgpe3JldHVybiBmdW5jdGlvbigpe2lmKCFsKXtjb25zdCBlPSgwLG8uZ2V0SW5pdERhdGEpKCksdD1lLnNldHRpbmdzP2Uuc2V0dGluZ3MuUzNfTE9HT19TRVJWSUNFX0JBU0VfVVJMOiIiO2w9bmV3IGModCl9cmV0dXJuIGx9KCl9fSw0MDAxODEoZSx0LG4peyJ1c2Ugc3RyaWN0Ijthc3luYyBmdW5jdGlvbiByKCl7Y29uc3R7Z2V0VHJhY2tlckluc3RhbmNlOmV9PWF3YWl0IFByb21pc2UuYWxsKFtuLmUoNzA2NDQpLG4uZSg5NTIwNyldKS50aGVuKG4uYmluZChuLDQ3NzE1MCkpO3JldHVybiBlKCl9bi5kKHQse2dldFRyYWNrZXI6KCk9PnJ9KX0sMTU2ODI5KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlKXtyZXR1cm4gdm9pZCAwIT09ZSYmZS5pbmNsdWRlcygiY3J5cHRvIil9ZnVuY3Rpb24gaShlKXtyZXR1cm4iYm9uZCI9PT1lfWZ1bmN0aW9uIG8oZSl7cmV0dXJuImVjb25vbWljIj09PWV9ZnVuY3Rpb24gcyhlKXtyZXR1cm4iZnV0dXJlcyI9PT1lfW4uZCh0LHtoYXNDcnlwdG9UeXBlc3BlYzooKT0+cixpc0JvbmQ6KCk9PmksaXNFY29ub21pY1N5bWJvbDooKT0+byxpc0Z1dHVyZXM6KCk9PnN9KX0sODUxNDU4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3Rva2VuaXplOigpPT5jfSk7dmFyIHIsaT1uKDkwMTAyMiksbz1uKDU2OTM5OCk7IWZ1bmN0aW9uKGUpe2UuU3ltYm9sPSJzeW1ib2wiLGUuSW5jb21wbGV0ZVN5bWJvbD0iaW5jb21wbGV0ZVN5bWJvbCIsZS5OdW1iZXI9Im51bWJlciIsZS5JbmNvbXBsZXRlTnVtYmVyPSJpbmNvbXBsZXRlTnVtYmVyIixlLlNlcGFyYXRvclByZWZpeD0ic2VwYXJhdG9yUHJlZml4IixlLk9wZW5CcmFjZT0ib3BlbkJyYWNlIixlLkNsb3NlQnJhY2U9ImNsb3NlQnJhY2UiLGUuUGx1cz0icGx1cyIsZS5NaW51cz0ibWludXMiLGUuTXVsdGlwbHk9Im11bHRpcGx5IixlLkRpdmlkZT0iZGl2aWRlIixlLlBvd2VyPSJwb3dlciIsZS5XaGl0ZXNwYWNlPSJ3aGl0ZXNwYWNlIixlLlVucGFyc2VkPSJ1bnBhcnNlZCJ9KHJ8fChyPXt9KSk7Y29uc3Qgcz0vKD86W14tK1wvKl5cc10nfFthLXpBLVowLTlfXHUwMzcwLVx1MUZGRl9cdTJFODAtXHVGRkZGXSkoPzpbXi0rXC8qXlxzXSd8W2EtekEtWjAtOV9cdTAwMjBcdTAzNzAtXHUxRkZGX1x1MkU4MC1cdUZGRkZfIXw6LiZdKSp8Jy4rPycvLGE9KGU9KDAsby5pc0ZlYXR1cmVFbmFibGVkKSgiYWxsb3dfdHJhaWxpbmdfd2hpdGVzcGFjZV9pbl9udW1iZXJfdG9rZW4iKSk9Pih7bnVtYmVyOmU/L1xkKyg/OlwuXGQqfCg/IVthLXpBLVowLTlfITouJl0pKSg/OlxzKig/PVxzKiQpKT98XC5cZCsoPzpccyooPz1ccyokKSk/LzovXGQrKD86XC5cZCp8KD8hW2EtekEtWjAtOV8hOi4mXSkpfFwuXGQrLyxpbmNvbXBsZXRlTnVtYmVyOi9cLi8sc3ltYm9sOnMsaW5jb21wbGV0ZVN5bWJvbDovJ1teJ10qLyxzZXBhcmF0b3JQcmVmaXg6aS5TRVBBUkFUT1JfUFJFRklYLG9wZW5CcmFjZToiKCIsY2xvc2VCcmFjZToiKSIscGx1czoiKyIsbWludXM6Ii0iLG11bHRpcGx5OiIqIixkaXZpZGU6Ii8iLHBvd2VyOiJeIix3aGl0ZXNwYWNlOi9bXDAtXHgyMFxzXSsvLHVucGFyc2VkOm51bGx9KTtmdW5jdGlvbiBjKGUsdD1hKCkpe2lmKCFlKXJldHVybltdO2NvbnN0IG49W10scj1PYmplY3Qua2V5cyh0KTtsZXQgaTtjb25zdCBvPSgoZT1hKCkpPT5uZXcgUmVnRXhwKE9iamVjdC52YWx1ZXMoZSkubWFwKChlPT57cmV0dXJuIG51bGw9PT1lPyIiOmAoJHsic3RyaW5nIj09dHlwZW9mIGU/KHQ9ZSx0LnJlcGxhY2UoL1tcXiQoKVtcXXt9Kis/fFxcXS9nLCJcXCQmIikpOmUuc291cmNlfSlgO3ZhciB0fSkpLmZpbHRlcigoZT0+IiIhPT1lKSkuY29uY2F0KCIuIikuam9pbigifCIpLCJnIikpKHQpO2Zvcig7aT1vLmV4ZWMoZSk7KXtsZXQgZT0hMTtmb3IobGV0IHQ9ci5sZW5ndGg7dC0tOylpZihpW3QrMV0pe3JbdF0mJm4ucHVzaCh7dmFsdWU6aVt0KzFdLHR5cGU6clt0XSxwcmVjZWRlbmNlOjAsb2Zmc2V0OmkuaW5kZXh9KSxlPSEwO2JyZWFrfWV8fG4ucHVzaCh7dmFsdWU6aVswXSx0eXBlOiJ1bnBhcnNlZCIscHJlY2VkZW5jZTowLG9mZnNldDppLmluZGV4fSl9cmV0dXJuIG59fSw3OTUzODMoZSx0LG4pe24oMzYzMjY5KS5zZXRDbGFzc2VzKCksbig0Mjk2Niksbig2MTAyNjgpO3ZhciByPW4oNzQ5NjQ4KS53aGVuRG9jdW1lbnRSZWFkeSxpPW4oOTMxMTk4KS5oYW5kbGVUVkxpbmtzQ2xpY2s7cigoKCk9PntpKCl9KSl9LAo3OTgzOChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtTVFlMRV9TSE9SVF9OQU1FUzooKT0+cyxTWU1CT0xfU1RSSU5HX0RBVEE6KCk9PmwsaXNDaGFydFN0eWxlU3R1ZHlJbmZvQ29tcGxleDooKT0+YX0pO24oNTgwMzcpO3ZhciByPW4oNzI4NDM2KSxpPW4oNzc3NjYxKSxvPW4oNTUwMzkzKTtuZXcgU2V0KFszLDYsNyw4LDksMTFdKSxuZXcgU2V0KFsxLDJdKTtjb25zdCBzPXswOiJiYXIiLDE6ImNhbmRsZSIsOToiaG9sbG93Q2FuZGxlIiwyOiJsaW5lIiwxNDoibGluZVdpdGhNYXJrZXJzIiwxNToic3RlcGxpbmUiLDM6ImFyZWEiLDE2OiJobGNBcmVhIiw0OiJyZW5rbyIsNzoicGIiLDU6ImthZ2kiLDY6InBuZiIsODoiaGEiLDEwOiJiYXNlbGluZSIsMTE6InJhbmdlIiwxMjoiaGlsbyIsMTM6ImNvbHVtbiIsMTc6InZvbEZvb3RwcmludCIsMTg6InRwbyIsMTk6InZvbENhbmRsZXMiLDIwOiJzdnAiLDIxOiJobGNCYXJzIn07ZnVuY3Rpb24gYShlKXtyZXR1cm4idmFyaWFudHMiaW4gZX1jb25zdCBjPVt7dHlwZTppLnN0dWR5VHBvUHJlcmlvZGljSWQsYmFzaWNTdHVkeVZlcnNpb246MTA0fSx7dHlwZTppLnN0dWR5VHBvU2Vzc2lvbnNJZCxiYXNpY1N0dWR5VmVyc2lvbjoxMDR9XSxsPXs0Ont0eXBlOiJCYXJTZXRSZW5rb0B0di1wcm9zdHVkaWVzIixiYXNpY1N0dWR5VmVyc2lvbjo3M30sNzp7dHlwZToiQmFyU2V0UHJpY2VCcmVha0B0di1wcm9zdHVkaWVzIixiYXNpY1N0dWR5VmVyc2lvbjozNH0sNTp7dHlwZToiQmFyU2V0S2FnaUB0di1wcm9zdHVkaWVzIixiYXNpY1N0dWR5VmVyc2lvbjo3M30sNjp7dHlwZToiQmFyU2V0UG5GQHR2LXByb3N0dWRpZXMiLGJhc2ljU3R1ZHlWZXJzaW9uOjczfSw4Ont0eXBlOiJCYXJTZXRIZWlrZW5Bc2hpQHR2LWJhc2ljc3R1ZGllcyIsYmFzaWNTdHVkeVZlcnNpb246NjB9LDExOnt0eXBlOiJCYXJTZXRSYW5nZUB0di1iYXNpY3N0dWRpZXMiLGJhc2ljU3R1ZHlWZXJzaW9uOjcyfSwxNzp7dHlwZTpyLnN0dWR5Vm9sRm9vdHByaW50SWQsYmFzaWNTdHVkeVZlcnNpb246MTA0fSwxODp7dmFyaWFudHM6YyxzZWxlY3RvcjplPT57Y29uc3QgdD1lO3JldHVybiJEYXkiPT09dC5wZXJpb2QmJjE9PT10LnBlcmlvZHNOdW0/Y1sxXTpjWzBdfX0sMjA6e3R5cGU6by5zdHVkeVZiUFNlc3Npb25zSWQsYmFzaWNTdHVkeVZlcnNpb246MTI2fX19LDYxMDI2OChlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KSwoMCxuKDExNTI5Mykuc2V0RG9jdW1lbnREaXJHZXR0ZXIpKCgoKT0+d2luZG93LmRvY3VtZW50LmRpcikpfSw5NjM5MDAoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcjshZnVuY3Rpb24oZSl7ZS5FbXB0eT0iIixlLlRlY2huaWNhbHNQYXRoPSJ0ZWNobmljYWxzLyIsZS5GaW5hbmNpYWxzT3ZlcnZpZXdQYXRoPSJmaW5hbmNpYWxzLW92ZXJ2aWV3LyIsZS5UaW1lbGluZVBhdGg9Imhpc3RvcnktdGltZWxpbmUvIixlLk5ld3NQYXRoPSJuZXdzLyIsZS5PcHRpb25zUGF0aD0ib3B0aW9ucy8iLGUuUHJvZmlsZVBhdGg9InByb2ZpbGUvIixlLkhvbGRpbmdzUGF0aD0iaG9sZGluZ3MvIn0ocnx8KHI9e30pKX0sMjEyMjI5KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NVU1RPTV9TVUZGSVg6KCk9PmEsRUFfU1VGRklYOigpPT5zLFRSSUFMX1NVRkZJWDooKT0+byxiaWxsaW5nQ3ljbGVUb01vbnRoOigpPT52LGJpbGxpbmdDeWNsZVRvVGltZVVuaXQ6KCk9PmMsY291bnREaXNjb3VudEJ5QmlsbGluZ0N5Y2xlOigpPT55LGdldERpc2NvdW50UHJvZHVjdElkOigpPT5nLGdldFBsYW5OYW1lOigpPT54LGdldFByb2R1Y3RGb3JUcmlhbDooKT0+cCxnZXRSZWFkYWJsZUN5Y2xlOigpPT5sLGdldFJlYWRhYmxlTnVtZXJpY0N5Y2xlOigpPT51LGdldFJlbGF0aXZlQW1vdW50T2ZEYXlzRnJvbUJpbGxpbmdDeWNsZTooKT0+aCxodW1hbml6ZUNhcmRQbGFuOigpPT5tLGh1bWFuaXplUHJvUGxhbjooKT0+Zixpc1RyaWFsUHJvZHVjdDooKT0+ZCxyb3VuZDA6KCk9PmIscm91bmQyOigpPT53LHJvdW5kMm9yMDooKT0+X30pO24oODI5MTgwKTt2YXIgcj1uKDE4NTI3MSksaT1uKDg2NDAzNCk7Y29uc3Qgbz0iX3RyaWFsIixzPSJfZGlzY291bnQiLGE9Il9jdXN0b20iO2Z1bmN0aW9uIGMoZSl7cmV0dXJue3k6ci50KG51bGwse3BsdXJhbDoieWVhcnMiLGNvdW50OjF9LG4oNDQyNjY2KSksbTpyLnQobnVsbCx7cGx1cmFsOiJtb250aHMiLGNvdW50OjF9LG4oMzIzNDg1KSksIjNtIjpyLnQobnVsbCx2b2lkIDAsbig4NjM4NTIpKX1bZV18fCIifWZ1bmN0aW9uIGwoZSl7cmV0dXJue206ci50KG51bGwsdm9pZCAwLG4oNTU2NTY4KSkseTpyLnQobnVsbCx2b2lkIDAsbig3MjExMTgpKSwiM20iOnIudChudWxsLHZvaWQgMCxuKDMyODAzMCkpfVtlXXx8IiJ9ZnVuY3Rpb24gdShlKXtyZXR1cm57W2kuQmlsbGluZ0N5Y2xlLk1vbnRobHldOnIudChudWxsLHZvaWQgMCxuKDU1NjU2OCkpLFtpLkJpbGxpbmdDeWNsZS5PbmVZZWFyXTpyLnQobnVsbCx2b2lkIDAsbigxMTE5NzYpKSxbaS5CaWxsaW5nQ3ljbGUuVGhyZWVNb250aHNdOnIudChudWxsLHZvaWQgMCxuKDMyODAzMCkpfVtlXXx8IiJ9ZnVuY3Rpb24gZChlKXtyZXR1cm4gbmV3IFJlZ0V4cChvKyIkIikudGVzdChlKX1mdW5jdGlvbiBwKGUpe3JldHVybiBlLnNwbGl0KG8pWzBdfWZ1bmN0aW9uIGcoZSx0LG4pe3JldHVybmAke2V9XyR7dH0ke259YH1mdW5jdGlvbiBmKGUsdCl7bGV0IGk9ZTtzd2l0Y2goZSl7Y2FzZSJmcmVlIjppPSJCYXNpYyI7YnJlYWs7Y2FzZSJwcm8iOmk9IkVzc2VudGlhbCI7YnJlYWs7Y2FzZSJwcm9fcmVhbHRpbWUiOmk9IlBsdXMiO2JyZWFrO2Nhc2UicHJvX3ByZW1pdW0iOmk9IlByZW1pdW0iO2JyZWFrO2Nhc2UicHJvX2V4cGVydCI6aT0iRXhwZXJ0IjticmVhaztjYXNlInByb19wcmVtaXVtX2V4cGVydCI6aT0iVWx0aW1hdGUifXJldHVybiB0JiYoaSs9IiAiK3IudChudWxsLHZvaWQgMCxuKDgzNTgpKSksaX1mdW5jdGlvbiBtKGUpe2xldCB0PWU7c3dpdGNoKGUpe2Nhc2UicHJvIjp0PSJFc3NlbnRpYWwiO2JyZWFrO2Nhc2UicHJvX3JlYWx0aW1lIjp0PSJQbHVzIjticmVhawo7Y2FzZSJwcm9fcHJlbWl1bSI6dD0iUHJlbWl1bSI7YnJlYWs7Y2FzZSJwcm9fZXhwZXJ0Ijp0PSJFeHBlcnQiO2JyZWFrO2Nhc2UicHJvX3ByZW1pdW1fZXhwZXJ0Ijp0PSJVbHRpbWF0ZSI7YnJlYWs7Y2FzZSJmcmVlIjp0PSJCYXNpYyJ9cmV0dXJuIHR9ZnVuY3Rpb24gaChlLHQpe2NvbnN0IG49dHx8bmV3IERhdGUscj12KGUpLGk9bi5nZXRNb250aCgpK3Isbz1uZXcgRGF0ZShuZXcgRGF0ZShuKS5zZXRNb250aChpKSk7cmV0dXJuIG8uZ2V0TW9udGgoKT5pJTEyJiZvLnNldERhdGUoMCksZnVuY3Rpb24oZSx0KXtjb25zdCBuPXQuZ2V0VGltZSgpLWUuZ2V0VGltZSgpO3JldHVybiBNYXRoLnJvdW5kKG4vMWUzLzYwLzYwLzI0KX0obixvKX1mdW5jdGlvbiB5KGUsdCxuKXtyZXR1cm4gTWF0aC5yb3VuZCgodC1lKSp2KG4pKX1mdW5jdGlvbiB2KGUpe3N3aXRjaChlKXtjYXNlIGkuQmlsbGluZ0N5Y2xlLk9uZVllYXI6cmV0dXJuIDEyO2Nhc2UgaS5CaWxsaW5nQ3ljbGUuVGhyZWVNb250aHM6cmV0dXJuIDM7ZGVmYXVsdDpyZXR1cm4gMX19ZnVuY3Rpb24gdyhlKXtyZXR1cm4oTWF0aC5yb3VuZCgxMDAqZSkvMTAwKS50b0ZpeGVkKDIpfWZ1bmN0aW9uIGIoZSl7Y29uc3QgdD1NYXRoLnJvdW5kKDEwMCplKS8xMDA7cmV0dXJuIE1hdGgucm91bmQodCkudG9GaXhlZCgwKX1mdW5jdGlvbiBfKGUpe2NvbnN0IHQ9TWF0aC5yb3VuZCgxMDAqZSkvMTAwLG49TWF0aC5yb3VuZCh0KTtyZXR1cm4gTWF0aC5hYnModC1uKT4wP3QudG9GaXhlZCgyKTpuLnRvRml4ZWQoMCl9ZnVuY3Rpb24geChlKXtjb25zdCB0PXIudChudWxsLHZvaWQgMCxuKDE1Mzc2NikpO2lmKGQoZSkpe2NvbnN0IG49ZihwKGUpKTtyZXR1cm4gdC5mb3JtYXQoe3Byb1BsYW5OYW1lOm59KX1yZXR1cm4gZihlKX19LDQ0MzU1NyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtwYXJzZUh0bWw6KCk9Pm8scGFyc2VIdG1sRWxlbWVudDooKT0+c30pO2NvbnN0IHI9bmV3IFdlYWtNYXA7dmFyIGk7ZnVuY3Rpb24gbyhlLHQpe2xldCBuLGk7cmV0dXJuIG49bnVsbD09dD9kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ6OT09PXQubm9kZVR5cGU/dC5kb2N1bWVudEVsZW1lbnQ6dCxyJiYoaT1yLmdldChuKSksaXx8KGk9bi5vd25lckRvY3VtZW50LmNyZWF0ZVJhbmdlKCksaS5zZWxlY3ROb2RlQ29udGVudHMobiksciYmci5zZXQobixpKSksaS5jcmVhdGVDb250ZXh0dWFsRnJhZ21lbnQoZSl9ZnVuY3Rpb24gcyhlLHQpe2NvbnN0IG49byhlLHQpLHI9bi5maXJzdEVsZW1lbnRDaGlsZDtyZXR1cm4gbnVsbCE9PXImJm4ucmVtb3ZlQ2hpbGQocikscn0hZnVuY3Rpb24oZSl7ZVtlLkVsZW1lbnQ9MV09IkVsZW1lbnQiLGVbZS5Eb2N1bWVudD05XT0iRG9jdW1lbnQifShpfHwoaT17fSkpfSw5MzExOTgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7aGFuZGxlVFZMaW5rc0NsaWNrOigpPT5hfSk7dmFyIHI9big0MDAxODEpLGk9big2MDE1ODcpLG89big3MzA2NDUpO2NvbnN0IHM9ImlnbHU6Y29tLnRyYWRpbmd2aWV3L3dpZGdldF90dl9saW5rX2NsaWNrL2pzb25zY2hlbWEvMS0wLTAiO2Z1bmN0aW9uIGEoKXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKGU9Pntjb25zdCB0PWUudGFyZ2V0LmNsb3Nlc3QoIjpsaW5rIik7dD8uaG9zdG5hbWUmJigwLG8uaXNJbnRlcm5hbEhvc3QpKHQuaG9zdG5hbWUsInRyYWRpbmd2aWV3LmNvbSIpJiZhc3luYyBmdW5jdGlvbihlLHQpe2NvbnN0IG49ZnVuY3Rpb24oKXtjb25zdCBlPXdpbmRvdy5pbml0RGF0YS5oYXNoU2V0dGluZ3M7aWYoT2JqZWN0LmtleXMoZSkubGVuZ3RoPjApcmV0dXJuKDAsaS5maWx0ZXJVdG1JbmZvKShlKTtjb25zdCB0PW5ldyBVUkxTZWFyY2hQYXJhbXMobG9jYXRpb24uaHJlZik7cmV0dXJue3V0bV9jYW1wYWlnbjp0LmdldCgidXRtX2NhbXBhaWduIil8fHZvaWQgMCx1dG1fc291cmNlOnQuZ2V0KCJ1dG1fc291cmNlIil8fHZvaWQgMH19KCk7KGF3YWl0KDAsci5nZXRUcmFja2VyKSgpKT8udHJhY2tTZWxmRGVzYyhzLHt3aWRnZXRfdHlwZTpsKG4pLGRvbWFpbjpjKG4pLGxpbms6ZSx0YXJnZXRfdHlwZTp0fSl9KHQuaHJlZix0LmRhdGFzZXQudGFyZ2V0VHlwZXx8bnVsbCl9KSl9ZnVuY3Rpb24gYyhlKXtjb25zdCB0PWxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucz8uWzBdfHxkb2N1bWVudC5yZWZlcnJlcjtyZXR1cm4gZS51dG1fc291cmNlfHxmdW5jdGlvbihlKXt0cnl7cmV0dXJuIG5ldyBVUkwoZSkuaG9zdH1jYXRjaChlKXtyZXR1cm4iIn19KHQpfWZ1bmN0aW9uIGwoZSl7aWYoZS51dG1fY2FtcGFpZ24pcmV0dXJuIGUudXRtX2NhbXBhaWduO2NvbnN0IHQ9bG9jYXRpb24ucGF0aG5hbWU7cmV0dXJuIHQuaW5jbHVkZXMoImVtYmVkLXdpZGdldCIpP3Quc3BsaXQoIi8iKVsyXTp0fX0sMzg5Mjk4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3RyYWNrV2lkZ2V0TG9hZE1ldGFJbmZvOigpPT5pfSk7dmFyIHI9big0MDAxODEpO2FzeW5jIGZ1bmN0aW9uIGkoZSl7TWF0aC5yYW5kb20oKT4uMDA1fHwoYXdhaXQoMCxyLmdldFRyYWNrZXIpKCkpPy50cmFja1NlbGZEZXNjKCJpZ2x1OmNvbS50cmFkaW5ndmlldy93aWRnZXRfbG9hZF9tZXRhX2luZm8vanNvbnNjaGVtYS8xLTAtMCIsZSl9fSw5MDIxMDAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZXh0cmFjdFdpZGdldFNldHRpbmdzOigpPT5pfSk7Y29uc3Qgcj17d2hpdGVsYWJlbDohMCxwZXJtaXNzaW9uT3ZlcnJpZGVzOiEwLGxpbmtDYXB0dXJpbmdBbGxvd2VkOiEwLHN5bWJvbF9zZWFyY2hfZGVmYXVsdF9leGNoYW5nZTohMCxzeW1ib2xfc2VhcmNoX2FsbG93ZWRfZXhjaGFuZ2VzOiEwfTtmdW5jdGlvbiBpKGUsdD1bXSxuKXtyZXR1cm4gZnVuY3Rpb24oZSx0LG4saT1bXSxvKXtjb25zdCBzPW4uc2xpY2UoMSksYT1kZWNvZGVVUklDb21wb25lbnQocyk7bGV0IGM9e307dHJ5eyIiIT09YSYmKGM9SlNPTi5wYXJzZShhKSx2b2lkIDAhPT1vJiZvKGUsYyksT2JqZWN0LmtleXMoYykuZm9yRWFjaCgoZT0+eyhyW2VdfHxpLmluY2x1ZGVzKGUpKSYmZGVsZXRlIGNbZV19KSkpfWNhdGNoKGUpe2M9e30sCmNvbnNvbGUud2FybigiSGFzaCBwYXJhbXMgcGFyc2luZyBlcnJvciEgSGFzaCBwYXJhbXMgaWdub3JlZC4iKX1jb25zdCBsPXQuc2xpY2UoMSksdT10LmluY2x1ZGVzKCIlIik/ZGVjb2RlVVJJQ29tcG9uZW50KGwpOnQsZD1uZXcgVVJMU2VhcmNoUGFyYW1zKHUpO2xldCBwPXt9O3RyeXtkLmZvckVhY2goKChlLHQpPT57aS5pbmNsdWRlcyh0KXx8KHBbdF09ZSl9KSksdm9pZCAwIT09byYmbyhlLHApfWNhdGNoKGUpe3A9e30sY29uc29sZS53YXJuKCJTZWFyY2ggcXVlcnkgcGFyYW1zIHBhcnNpbmcgZXJyb3IhIFNlYXJjaCBxdWVyeSBwYXJhbXMgaWdub3JlZC4iKX1yZXR1cm4gT2JqZWN0LmFzc2lnbih7fSxlLGMscCl9KGUsbG9jYXRpb24uc2VhcmNoLGxvY2F0aW9uLmhhc2gsdCxuKX19LDI1NDY3MyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtJbnRlcnZhbDooKT0+dSxSZXNvbHV0aW9uS2luZDooKT0+byxTcGVjaWFsUmVzb2x1dGlvbktpbmQ6KCk9PnN9KTtjb25zdCByPS9eKFxkKikoW1RTSERXTVJdKSQvLGk9L14oXGQrKSQvO3ZhciBvLHM7IWZ1bmN0aW9uKGUpe2UuVGlja3M9InRpY2tzIixlLlNlY29uZHM9InNlY29uZHMiLGUuTWludXRlcz0ibWludXRlcyIsZS5EYXlzPSJkYXlzIixlLldlZWtzPSJ3ZWVrcyIsZS5Nb250aHM9Im1vbnRocyIsZS5SYW5nZT0icmFuZ2UiLGUuSW52YWxpZD0iaW52YWxpZCJ9KG98fChvPXt9KSksZnVuY3Rpb24oZSl7ZS5Ib3Vycz0iaG91cnMifShzfHwocz17fSkpO2NvbnN0IGE9e307YVtvLlRpY2tzXT0xZTMsYVtvLlNlY29uZHNdPTFlMyxhW28uTWludXRlc109NjAqYVtvLlNlY29uZHNdLGFbby5EYXlzXT0xNDQwKmFbby5NaW51dGVzXSxhW28uV2Vla3NdPTcqYVtvLkRheXNdO2NvbnN0IGM9e1Q6by5UaWNrcyxTOm8uU2Vjb25kcyxEOm8uRGF5cyxXOm8uV2Vla3MsTTpvLk1vbnRocyxSOm8uUmFuZ2V9LGw9bmV3IFNldChbby5UaWNrcyxvLlNlY29uZHMsby5NaW51dGVzXSk7Y2xhc3MgdXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2tpbmQ9by5JbnZhbGlkLHRoaXMuX211bHRpcGxpZXI9MCxlIT09by5JbnZhbGlkJiZ0PjAmJih0aGlzLl9raW5kPWUsdGhpcy5fbXVsdGlwbGllcj10KX1raW5kKCl7cmV0dXJuIHRoaXMuX2tpbmR9Z3VpS2luZCgpe3JldHVybiB0aGlzLmlzTWludXRlSG91cnMoKT9zLkhvdXJzOnRoaXMuX2tpbmR9bXVsdGlwbGllcigpe3JldHVybiB0aGlzLl9tdWx0aXBsaWVyfWlzVmFsaWQoKXtyZXR1cm4gdGhpcy5raW5kKCkhPT1vLkludmFsaWQmJnRoaXMubXVsdGlwbGllcigpPjB9aXNEV00oKXtyZXR1cm4gdGhpcy5pc1ZhbGlkKCkmJiF0aGlzLmlzUmFuZ2UoKSYmIXRoaXMuaXNJbnRyYWRheSgpJiYhdGhpcy5pc1RpY2tzKCl9aXNJbnRyYWRheSgpe2NvbnN0IGU9bC5oYXModGhpcy5raW5kKCkpO3JldHVybiB0aGlzLmlzVmFsaWQoKSYmZX1pc1NlY29uZHMoKXtyZXR1cm4gdGhpcy5raW5kKCk9PT1vLlNlY29uZHN9aXNNaW51dGVzKCl7cmV0dXJuIHRoaXMua2luZCgpPT09by5NaW51dGVzfWlzTWludXRlSG91cnMoKXtyZXR1cm4gdGhpcy5raW5kKCk9PT1vLk1pbnV0ZXMmJigoZT10aGlzLm11bHRpcGxpZXIoKSk+PTYwJiYhKGUlNjApKTt2YXIgZX1pc0RheXMoKXtyZXR1cm4gdGhpcy5raW5kKCk9PT1vLkRheXN9aXNXZWVrcygpe3JldHVybiB0aGlzLmtpbmQoKT09PW8uV2Vla3N9aXNNb250aHMoKXtyZXR1cm4gdGhpcy5raW5kKCk9PT1vLk1vbnRoc31pc1JhbmdlKCl7cmV0dXJuIHRoaXMua2luZCgpPT09by5SYW5nZX1pc1RpY2tzKCl7cmV0dXJuIHRoaXMua2luZCgpPT09by5UaWNrc31pczFUaWNrKCl7cmV0dXJuIHRoaXMuaXNUaWNrcygpJiYxPT09dGhpcy5tdWx0aXBsaWVyKCl9aXNUaW1lQmFzZWQoKXtyZXR1cm4hdGhpcy5pc1JhbmdlKCl9bGV0dGVyKCl7cmV0dXJuIHRoaXMuaXNWYWxpZCgpJiZ0aGlzLmtpbmQoKSE9PW8uTWludXRlcz90aGlzLmtpbmQoKVswXS50b1VwcGVyQ2FzZSgpOiIifXZhbHVlKCl7cmV0dXJuIHRoaXMuaXNWYWxpZCgpP3RoaXMua2luZCgpPT09by5NaW51dGVzP3RoaXMubXVsdGlwbGllcigpKyIiOnRoaXMubXVsdGlwbGllcigpK3RoaXMubGV0dGVyKCk6IiJ9aXNFcXVhbFRvKGUpe2lmKCEoZSBpbnN0YW5jZW9mIHUpKXRocm93IG5ldyBFcnJvcigiQXJndW1lbnQgaXMgbm90IGFuIEludGVydmFsIik7cmV0dXJuISghdGhpcy5pc1ZhbGlkKCl8fCFlLmlzVmFsaWQoKSkmJih0aGlzLmtpbmQoKT09PWUua2luZCgpJiZ0aGlzLm11bHRpcGxpZXIoKT09PWUubXVsdGlwbGllcigpKX1pbk1pbGxpc2Vjb25kcyhlPURhdGUubm93KCkpe2lmKCF0aGlzLmlzVmFsaWQoKXx8dGhpcy5pc1JhbmdlKCkpcmV0dXJuIE5hTjtpZih0aGlzLmlzTW9udGhzKCkpe2NvbnN0IHQ9bmV3IERhdGUoZSk7dC5zZXRVVENNb250aCh0LmdldFVUQ01vbnRoKCkrKHRoaXMubXVsdGlwbGllcigpfHwxKSk7cmV0dXJuK3QtZX1jb25zdCB0PXRoaXMubXVsdGlwbGllcigpO3JldHVybiBhW3RoaXMua2luZCgpXSp0fXN0YXRpYyBpc0VxdWFsKGUsdCl7cmV0dXJuIGU9PT10fHx1LnBhcnNlKGUpLmlzRXF1YWxUbyh1LnBhcnNlKHQpKX1zdGF0aWMgcGFyc2VFeHQoZSl7ZT0oZSsiIikudG9VcHBlckNhc2UoKS5zcGxpdCgiLCIpWzBdO2xldCB0PXIuZXhlYyhlKTtyZXR1cm4gbnVsbCE9PXQ/IkgiPT09dFsyXT97aW50ZXJ2YWw6bmV3IHUoby5NaW51dGVzLDYwKmQodFsxXSkpLGd1aVJlc29sdXRpb25LaW5kOnMuSG91cnN9OntpbnRlcnZhbDpuZXcgdShjW3RbMl1dLGQodFsxXSkpLGd1aVJlc29sdXRpb25LaW5kOmNbdFsyXV19Oih0PWkuZXhlYyhlKSxudWxsIT09dD97aW50ZXJ2YWw6bmV3IHUoby5NaW51dGVzLGQodFsxXSkpLGd1aVJlc29sdXRpb25LaW5kOm8uTWludXRlc306e2ludGVydmFsOm5ldyB1KG8uSW52YWxpZCwwKSxndWlSZXNvbHV0aW9uS2luZDpvLkludmFsaWR9KX1zdGF0aWMgcGFyc2UoZSl7cmV0dXJuIHUucGFyc2VFeHQoZSkuaW50ZXJ2YWx9c3RhdGljIGtpbmQoZSl7cmV0dXJuIHUucGFyc2UoZSkua2luZCgpfXN0YXRpYyBpc1ZhbGlkKGUpe3JldHVybiB1LnBhcnNlKGUpLmlzVmFsaWQoKQp9c3RhdGljIGlzRFdNKGUpe3JldHVybiB1LnBhcnNlKGUpLmlzRFdNKCl9c3RhdGljIGlzSW50cmFkYXkoZSl7cmV0dXJuIHUucGFyc2UoZSkuaXNJbnRyYWRheSgpfXN0YXRpYyBpc1NlY29uZHMoZSl7cmV0dXJuIHUucGFyc2UoZSkuaXNTZWNvbmRzKCl9c3RhdGljIGlzTWludXRlcyhlKXtyZXR1cm4gdS5wYXJzZShlKS5pc01pbnV0ZXMoKX1zdGF0aWMgaXNNaW51dGVIb3VycyhlKXtyZXR1cm4gdS5wYXJzZShlKS5pc01pbnV0ZUhvdXJzKCl9c3RhdGljIGlzRGF5cyhlKXtyZXR1cm4gdS5wYXJzZShlKS5pc0RheXMoKX1zdGF0aWMgaXNXZWVrcyhlKXtyZXR1cm4gdS5wYXJzZShlKS5pc1dlZWtzKCl9c3RhdGljIGlzTW9udGhzKGUpe3JldHVybiB1LnBhcnNlKGUpLmlzTW9udGhzKCl9c3RhdGljIGlzUmFuZ2UoZSl7cmV0dXJuIHUucGFyc2UoZSkuaXNSYW5nZSgpfXN0YXRpYyBpc1RpY2tzKGUpe3JldHVybiB1LnBhcnNlKGUpLmlzVGlja3MoKX1zdGF0aWMgaXNUaW1lQmFzZWQoZSl7cmV0dXJuIHUucGFyc2UoZSkuaXNUaW1lQmFzZWQoKX1zdGF0aWMgbm9ybWFsaXplKGUpe2NvbnN0IHQ9dS5wYXJzZShlKTtyZXR1cm4gdC5pc1ZhbGlkKCk/dC52YWx1ZSgpOm51bGx9fWZ1bmN0aW9uIGQoZSl7cmV0dXJuIDA9PT1lLmxlbmd0aD8xOnBhcnNlSW50KGUsMTApfX0sNzM4NDU4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2lzQW5kcm9pZDooKT0+Zyxpc0FueU1vYmlsZTooKT0+dixpc0JsYWNrQmVycnk6KCk9PmYsaXNDaHJvbWU6KCk9PmEsaXNFZGdlOigpPT5sLGlzRkY6KCk9PmMsaXNJT1M6KCk9Pm0saXNJUGFkOigpPT55LGlzTGludXg6KCk9PnAsaXNNYWM6KCk9PmQsaXNPcGVyYU1pbmk6KCk9PmgsaXNTYWZhcmk6KCk9PnUsbW9iaWxldG91Y2g6KCk9Pm8sdG91Y2g6KCk9PnN9KTtjb25zdCByPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiYidW5kZWZpbmVkIiE9dHlwZW9mIG5hdmlnYXRvcixpPXImJiJvbnRvdWNoc3RhcnQiaW4gd2luZG93LG89ciYmaSYmIm9ub3JpZW50YXRpb25jaGFuZ2UiaW4gd2luZG93LHM9ciYmKGl8fCEhbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzKSxhPXImJndpbmRvdy5jaHJvbWUmJndpbmRvdy5jaHJvbWUucnVudGltZSxjPXImJndpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkuaW5kZXhPZigiZmlyZWZveCIpPi0xLGw9ciYmL1xzRWRnZVwvXGRcZFxiLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLHU9ciYmQm9vbGVhbihuYXZpZ2F0b3IudmVuZG9yKSYmbmF2aWdhdG9yLnZlbmRvci5pbmRleE9mKCJBcHBsZSIpPi0xJiYtMT09PW5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiQ3JpT1MiKSYmLTE9PT1uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIkZ4aU9TIiksZD1yJiYvbWFjL2kudGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pLHA9KHImJi9XaW4zMnxXaW42NC9pLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSxyJiYvTGludXgvaS50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSkpLGc9ciYmL0FuZHJvaWQvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGY9ciYmL0JsYWNrQmVycnkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLG09ciYmL2lQaG9uZXxpUGFkfGlQb2QvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSxoPXImJi9PcGVyYSBNaW5pL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSx5PXImJigiTWFjSW50ZWwiPT09bmF2aWdhdG9yLnBsYXRmb3JtJiZuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHM+MXx8L2lQYWQvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSksdj1nfHxmfHxtfHxofX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/15049.08e0888e7d45f371417a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.267Z","timestamp":1785120634267,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/15049.08e0888e7d45f371417a.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-7e05\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:32:38\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 752be4b182d11b4c45fb05ecb3504180\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":32261,"size_decoded":11983,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3440)","md5":"db48995ff5f730ecb170f36e4e2cc18a","sha1":"044ce4f192cecbee308979fbae086c96bfb8db14","sha256":"c81b7b8904e0431a7b79c10f58c825619389b9b17ab64e096121d6f89e2dbe44","sha512":"b421809d047c58d7c47154fd7dd0c211a8727f97c41abc92cb643758b44cc1861e7dc1a4ebc141ba015e211d59dee2becc24789ebb814d22544421123442befa","ssdeep":"768:ffIIzV3q50QTARuL5BAPuQ8GYzHdnj2WyvbVLKdrPQg4xGCSHyezAYMfKngc/oze:nw7H1awIgJdAag7nwvsBKJ/n","tlshash":"a8e2f8c23285b8773bf350e618791542962e35627c0a48bcfa6d29cf3c1cd8a617fa75","first_seen":"2026-07-24T18:44:55.936981Z","last_seen":"2026-07-27T05:27:33.151992Z","times_seen":119,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxNTA0OV0sezg0NTU3NyhlKXtlLmV4cG9ydHM9eyJ0di1zcGlubmVyX19jb250YWluZXItcm90YXRlIjoidHYtc3Bpbm5lcl9fY29udGFpbmVyLXJvdGF0ZS1qNEpscllWSCIsInR2LXNwaW5uZXJfX2NvbnRhaW5lci1yb3RhdGUtcnRsIjoidHYtc3Bpbm5lcl9fY29udGFpbmVyLXJvdGF0ZS1ydGwtajRKbHJZVkgifX0sMzg0MDE3KGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse2ZldGNoOigpPT5zfSk7dmFyIG49cigyMjEwNjEpO3IoMzAwMjg2KTtjb25zdCBpPSgwLG4uZ2V0TG9nZ2VyKSgiRmV0Y2giKTtmdW5jdGlvbiBzKGUsdCxyPXt9KXt7Y29uc3R7bG9nT25FcnJvclN0YXR1czpuPSEwLGxvZ0JvZHlPbkVycm9yOnM9ITF9PXI7dD10fHx7fSxmdW5jdGlvbihlKXtyZXR1cm4gbmV3IFVSTChlLGRvY3VtZW50LmJhc2VVUkkpLm9yaWdpbj09PWxvY2F0aW9uLm9yaWdpbn0oZSkmJih0LmhlYWRlcnM/dC5oZWFkZXJzIGluc3RhbmNlb2YgSGVhZGVyc3x8KHQuaGVhZGVycz1uZXcgSGVhZGVycyh0LmhlYWRlcnMpKTp0LmhlYWRlcnM9bmV3IEhlYWRlcnMsd2luZG93LmxvY2FsZSYmdC5oZWFkZXJzLnNldCgiWC1MYW5ndWFnZSIsd2luZG93LmxvY2FsZSksdC5oZWFkZXJzLnNldCgiWC1SZXF1ZXN0ZWQtV2l0aCIsIlhNTEh0dHBSZXF1ZXN0IikpLHZvaWQgMD09PXQuY3JlZGVudGlhbHMmJih0LmNyZWRlbnRpYWxzPSJzYW1lLW9yaWdpbiIpO2NvbnN0IGE9d2luZG93LmZldGNoKGUsdCk7cmV0dXJuIGEudGhlbigocj0+e2lmKCFyLm9rJiZuKXtsZXQgbj0iIjt0Lm1ldGhvZCYmKG4rPWAke3QubWV0aG9kLnRvVXBwZXJDYXNlKCl9IGApLG4rPWUsbis9YC4gU3RhdHVzICR7ci5zdGF0dXN9YCxyLnN0YXR1c1RleHQmJihuKz1gLiAke3Iuc3RhdHVzVGV4dH1gKSxyLmhlYWRlcnMudmlhJiYobis9YC4gVmlhOiAke3IuaGVhZGVycy52aWF9YCkscyYmInN0cmluZyI9PXR5cGVvZiB0LmJvZHkmJihuKz1gLiBCb2R5OiAke3QuYm9keS5zbGljZSgwLDEwMjQpfWApLGkubG9nRXJyb3Iobil9cmV0dXJuIHJ9KSwocj0+e2lmKHImJiJBYm9ydEVycm9yIj09PXIubmFtZSlyZXR1cm47bGV0IG49IiI7dC5tZXRob2QmJihuKz1gJHt0Lm1ldGhvZC50b1VwcGVyQ2FzZSgpfSBgKSxuKz1lLG5hdmlnYXRvci5vbkxpbmU/bis9YC4gJHtTdHJpbmcocil9YDpuKz0iLiBVc2VyIGlzIG9mZmxpbmUuIixpLmxvZ0Vycm9yKG4pfSkpLGF9fX0sOTA5Nzk4KGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse2ZsdXNoRGVsZWdhdGU6KCk9Pm59KTtjb25zdCBuPW5ldyhyKDk0ODM4MCkuRGVsZWdhdGUpfSwyNDc5MDEoZSx0LHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbjtyLmQodCx7U3RkVGhlbWU6KCk9Pm59KSxmdW5jdGlvbihlKXtlLkxpZ2h0PSJsaWdodCIsZS5EYXJrPSJkYXJrIn0obnx8KG49e30pKX0sMTUyNjk5KGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse1RWWFdpbmRvd0V2ZW50czooKT0+YX0pO3ZhciBuPXIoMjIxMDYxKSxpPXIoOTMyMzY1KTtjb25zdCBzPSgwLG4uZ2V0TG9nZ2VyKSgiWFdpbmRvd0V2ZW50cyIpO3ZhciBhOyFmdW5jdGlvbihlKXtjb25zdCB0PSJ0dnh3ZXZlbnRzLiIscj17fTtsZXQgbjt3aW5kb3cuQnJvYWRjYXN0Q2hhbm5lbD8obj1uZXcgQnJvYWRjYXN0Q2hhbm5lbCgidHZ4d2V2ZW50cyIpLG4uYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsKGZ1bmN0aW9uKGUpe2NvbnN0e2RhdGE6e2V2ZW50OnQsdmFsdWU6bn19PWU7clt0XSYmclt0XS5mb3JFYWNoKChlPT57ZShuKX0pKX0pKSxmdW5jdGlvbigpe2NvbnN0IGU9W10scj1wZXJmb3JtYW5jZS5ub3coKTtmb3IobGV0IHI9MDtyPGkuVFZMb2NhbFN0b3JhZ2UubGVuZ3RoO3IrKyl7Y29uc3Qgbj1pLlRWTG9jYWxTdG9yYWdlLmtleShyKTtuLnN0YXJ0c1dpdGgodCkmJmUucHVzaChuKX1jb25zdCBuPWkuVFZMb2NhbFN0b3JhZ2UubGVuZ3RoO2Zvcihjb25zdCB0IG9mIGUpaS5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHQpO2NvbnN0IGE9cGVyZm9ybWFuY2Uubm93KCktcjtzLmxvZ05vcm1hbChgVG90YWwga2V5cyBhbW91bnQgaW4gbG9jYWwgc3RvcmFnZSBvbiBvcGVyYXRpb24gc3RhcnQ6ICR7bn1gKSxzLmxvZ05vcm1hbChgS2V5cyBhbW91bnQgaW4gbG9jYWwgc3RvcmFnZSB0byBiZSBkZWxldGVkOiAke2UubGVuZ3RofWApLHMubG9nTm9ybWFsKGBLZXlzIHRvIGJlIGRlbGV0ZWQgZnJvbSBsb2NhbCBzdG9yYWdlOiAke0pTT04uc3RyaW5naWZ5KGUpfWApLHMubG9nTm9ybWFsKGBSZW1vdmluZyBrZXlzIGZyb20gbG9jYWwgc3RvcmFnZSB0b29rICR7YX0gbXNgKX0oKSk6d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInN0b3JhZ2UiLChmdW5jdGlvbihlKXtjb25zdHtuZXdWYWx1ZTpuLGtleTpzfT1lO2lmKG51bGw9PT1ufHwhc3x8IXMuc3RhcnRzV2l0aCh0KSlyZXR1cm47Y29uc3QgYT1zLnN1YnN0cmluZygxMSk7clthXSYmclthXS5mb3JFYWNoKCh0PT57dChlLm5ld1ZhbHVlKX0pKTtpLlRWTG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0ocyl9KSksZS5vbj1mdW5jdGlvbihlLHQpe3JbZV18fChyW2VdPVtdKSxyW2VdLnB1c2godCl9LGUub2ZmPWZ1bmN0aW9uKGUsdCl7aWYoIXJbZV0pcmV0dXJuO2NvbnN0IG49cltlXS5pbmRleE9mKHQpOy0xIT09biYmKDE9PT1yW2VdLmxlbmd0aD9kZWxldGUgcltlXTpyW2VdLnNwbGljZShuLDEpKX0sZS5lbWl0PWZ1bmN0aW9uKGUscj1EYXRlLm5vdygpKXt0cnl7bj9uLnBvc3RNZXNzYWdlKHtldmVudDplLHZhbHVlOnJ9KTppLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0odCtlLHIudG9TdHJpbmcoKSl9Y2F0Y2goZSl7cy5sb2dFcnJvcihlLm1lc3NhZ2UpfX19KGF8fChhPXt9KSl9LDgzMDc4MyhlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHt0cnlQYXJzZU5hbWVkUmdiYTooKT0+aX0pCjtjb25zdCBuPW5ldyBNYXAoW1siYWxpY2VibHVlIiwiI2YwZjhmZiJdLFsiYW50aXF1ZXdoaXRlIiwiI2ZhZWJkNyJdLFsiYXF1YSIsIiMwMGZmZmYiXSxbImFxdWFtYXJpbmUiLCIjN2ZmZmQ0Il0sWyJhenVyZSIsIiNmMGZmZmYiXSxbImJlaWdlIiwiI2Y1ZjVkYyJdLFsiYmlzcXVlIiwiI2ZmZTRjNCJdLFsiYmxhY2siLCIjMDAwMDAwIl0sWyJibGFuY2hlZGFsbW9uZCIsIiNmZmViY2QiXSxbImJsdWUiLCIjMDAwMGZmIl0sWyJibHVldmlvbGV0IiwiIzhhMmJlMiJdLFsiYnJvd24iLCIjYTUyYTJhIl0sWyJidXJseXdvb2QiLCIjZGViODg3Il0sWyJjYWRldGJsdWUiLCIjNWY5ZWEwIl0sWyJjaGFydHJldXNlIiwiIzdmZmYwMCJdLFsiY2hvY29sYXRlIiwiI2QyNjkxZSJdLFsiY29yYWwiLCIjZmY3ZjUwIl0sWyJjb3JuZmxvd2VyYmx1ZSIsIiM2NDk1ZWQiXSxbImNvcm5zaWxrIiwiI2ZmZjhkYyJdLFsiY3JpbXNvbiIsIiNkYzE0M2MiXSxbImN5YW4iLCIjMDBmZmZmIl0sWyJkYXJrYmx1ZSIsIiMwMDAwOGIiXSxbImRhcmtjeWFuIiwiIzAwOGI4YiJdLFsiZGFya2dvbGRlbnJvZCIsIiNiODg2MGIiXSxbImRhcmtncmF5IiwiI2E5YTlhOSJdLFsiZGFya2dyZWVuIiwiIzAwNjQwMCJdLFsiZGFya2toYWtpIiwiI2JkYjc2YiJdLFsiZGFya21hZ2VudGEiLCIjOGIwMDhiIl0sWyJkYXJrb2xpdmVncmVlbiIsIiM1NTZiMmYiXSxbImRhcmtvcmFuZ2UiLCIjZmY4YzAwIl0sWyJkYXJrb3JjaGlkIiwiIzk5MzJjYyJdLFsiZGFya3JlZCIsIiM4YjAwMDAiXSxbImRhcmtzYWxtb24iLCIjZTk5NjdhIl0sWyJkYXJrc2VhZ3JlZW4iLCIjOGZiYzhmIl0sWyJkYXJrc2xhdGVibHVlIiwiIzQ4M2Q4YiJdLFsiZGFya3NsYXRlZ3JheSIsIiMyZjRmNGYiXSxbImRhcmt0dXJxdW9pc2UiLCIjMDBjZWQxIl0sWyJkYXJrdmlvbGV0IiwiIzk0MDBkMyJdLFsiZGVlcHBpbmsiLCIjZmYxNDkzIl0sWyJkZWVwc2t5Ymx1ZSIsIiMwMGJmZmYiXSxbImRpbWdyYXkiLCIjNjk2OTY5Il0sWyJkb2RnZXJibHVlIiwiIzFlOTBmZiJdLFsiZmVsZHNwYXIiLCIjZDE5Mjc1Il0sWyJmaXJlYnJpY2siLCIjYjIyMjIyIl0sWyJmbG9yYWx3aGl0ZSIsIiNmZmZhZjAiXSxbImZvcmVzdGdyZWVuIiwiIzIyOGIyMiJdLFsiZnVjaHNpYSIsIiNmZjAwZmYiXSxbImdhaW5zYm9ybyIsIiNkY2RjZGMiXSxbImdob3N0d2hpdGUiLCIjZjhmOGZmIl0sWyJnb2xkIiwiI2ZmZDcwMCJdLFsiZ29sZGVucm9kIiwiI2RhYTUyMCJdLFsiZ3JheSIsIiM4MDgwODAiXSxbImdyZWVuIiwiIzAwODAwMCJdLFsiZ3JlZW55ZWxsb3ciLCIjYWRmZjJmIl0sWyJob25leWRldyIsIiNmMGZmZjAiXSxbImhvdHBpbmsiLCIjZmY2OWI0Il0sWyJpbmRpYW5yZWQiLCIjY2Q1YzVjIl0sWyJpbmRpZ28iLCIjNGIwMDgyIl0sWyJpdm9yeSIsIiNmZmZmZjAiXSxbImtoYWtpIiwiI2YwZTY4YyJdLFsibGF2ZW5kZXIiLCIjZTZlNmZhIl0sWyJsYXZlbmRlcmJsdXNoIiwiI2ZmZjBmNSJdLFsibGF3bmdyZWVuIiwiIzdjZmMwMCJdLFsibGVtb25jaGlmZm9uIiwiI2ZmZmFjZCJdLFsibGlnaHRibHVlIiwiI2FkZDhlNiJdLFsibGlnaHRjb3JhbCIsIiNmMDgwODAiXSxbImxpZ2h0Y3lhbiIsIiNlMGZmZmYiXSxbImxpZ2h0Z29sZGVucm9keWVsbG93IiwiI2ZhZmFkMiJdLFsibGlnaHRncmVlbiIsIiM5MGVlOTAiXSxbImxpZ2h0Z3JleSIsIiNkM2QzZDMiXSxbImxpZ2h0cGluayIsIiNmZmI2YzEiXSxbImxpZ2h0c2FsbW9uIiwiI2ZmYTA3YSJdLFsibGlnaHRzZWFncmVlbiIsIiMyMGIyYWEiXSxbImxpZ2h0c2t5Ymx1ZSIsIiM4N2NlZmEiXSxbImxpZ2h0c2xhdGVibHVlIiwiIzg0NzBmZiJdLFsibGlnaHRzbGF0ZWdyYXkiLCIjNzc4ODk5Il0sWyJsaWdodHN0ZWVsYmx1ZSIsIiNiMGM0ZGUiXSxbImxpZ2h0eWVsbG93IiwiI2ZmZmZlMCJdLFsibGltZSIsIiMwMGZmMDAiXSxbImxpbWVncmVlbiIsIiMzMmNkMzIiXSxbImxpbmVuIiwiI2ZhZjBlNiJdLFsibWFnZW50YSIsIiNmZjAwZmYiXSxbIm1hcm9vbiIsIiM4MDAwMDAiXSxbIm1lZGl1bWFxdWFtYXJpbmUiLCIjNjZjZGFhIl0sWyJtZWRpdW1ibHVlIiwiIzAwMDBjZCJdLFsibWVkaXVtb3JjaGlkIiwiI2JhNTVkMyJdLFsibWVkaXVtcHVycGxlIiwiIzkzNzBkOCJdLFsibWVkaXVtc2VhZ3JlZW4iLCIjM2NiMzcxIl0sWyJtZWRpdW1zbGF0ZWJsdWUiLCIjN2I2OGVlIl0sWyJtZWRpdW1zcHJpbmdncmVlbiIsIiMwMGZhOWEiXSxbIm1lZGl1bXR1cnF1b2lzZSIsIiM0OGQxY2MiXSxbIm1lZGl1bXZpb2xldHJlZCIsIiNjNzE1ODUiXSxbIm1pZG5pZ2h0Ymx1ZSIsIiMxOTE5NzAiXSxbIm1pbnRjcmVhbSIsIiNmNWZmZmEiXSxbIm1pc3R5cm9zZSIsIiNmZmU0ZTEiXSxbIm1vY2Nhc2luIiwiI2ZmZTRiNSJdLFsibmF2YWpvd2hpdGUiLCIjZmZkZWFkIl0sWyJuYXZ5IiwiIzAwMDA4MCJdLFsib2xkbGFjZSIsIiNmZGY1ZTYiXSxbIm9saXZlIiwiIzgwODAwMCJdLFsib2xpdmVkcmFiIiwiIzZiOGUyMyJdLFsib3JhbmdlIiwiI2ZmYTUwMCJdLFsib3JhbmdlcmVkIiwiI2ZmNDUwMCJdLFsib3JjaGlkIiwiI2RhNzBkNiJdLFsicGFsZWdvbGRlbnJvZCIsIiNlZWU4YWEiXSxbInBhbGVncmVlbiIsIiM5OGZiOTgiXSxbInBhbGV0dXJxdW9pc2UiLCIjYWZlZWVlIl0sWyJwYWxldmlvbGV0cmVkIiwiI2Q4NzA5MyJdLFsicGFwYXlhd2hpcCIsIiNmZmVmZDUiXSxbInBlYWNocHVmZiIsIiNmZmRhYjkiXSxbInBlcnUiLCIjY2Q4NTNmIl0sWyJwaW5rIiwiI2ZmYzBjYiJdLFsicGx1bSIsIiNkZGEwZGQiXSxbInBvd2RlcmJsdWUiLCIjYjBlMGU2Il0sWyJwdXJwbGUiLCIjODAwMDgwIl0sWyJyZWQiLCIjZmYwMDAwIl0sWyJyb3N5YnJvd24iLCIjYmM4ZjhmIl0sWyJyb3lhbGJsdWUiLCIjNDE2OWUxIl0sWyJzYWRkbGVicm93biIsIiM4YjQ1MTMiXSxbInNhbG1vbiIsIiNmYTgwNzIiXSxbInNhbmR5YnJvd24iLCIjZjRhNDYwIl0sWyJzZWFncmVlbiIsIiMyZThiNTciXSxbInNlYXNoZWxsIiwiI2ZmZjVlZSJdLFsic2llbm5hIiwiI2EwNTIyZCJdLFsic2lsdmVyIiwiI2MwYzBjMCJdLFsic2t5Ymx1ZSIsIiM4N2NlZWIiXSxbInNsYXRlYmx1ZSIsIiM2YTVhY2QiXSxbInNsYXRlZ3JheSIsIiM3MDgwOTAiXSxbInNub3ciLCIjZmZmYWZhIl0sWyJzcHJpbmdncmVlbiIsIiMwMGZmN2YiXSxbInN0ZWVsYmx1ZSIsIiM0NjgyYjQiXSxbInRhbiIsIiNkMmI0OGMiXSxbInRlYWwiLCIjMDA4MDgwIl0sWyJ0aGlzdGxlIiwiI2Q4YmZkOCJdLFsidG9tYXRvIiwiI2ZmNjM0NyJdLFsidHVycXVvaXNlIiwiIzQwZTBkMCJdLFsidmlvbGV0IiwiI2VlODJlZSJdLFsidmlvbGV0cmVkIiwiI2QwMjA5MCJdLFsid2hlYXQiLCIjZjVkZWIzIl0sWyJ3aGl0ZSIsIiNmZmZmZmYiXSxbIndoaXRlc21va2UiLCIjZjVmNWY1Il0sWyJ5ZWxsb3ciLCIjZmZmZjAwIl0sWyJ5ZWxsb3dncmVlbiIsIiM5YWNkMzIiXV0pCjtmdW5jdGlvbiBpKGUpe2NvbnN0IHQ9bi5nZXQoZSk7aWYodm9pZCAwPT09dClyZXR1cm4gbnVsbDtyZXR1cm5bcGFyc2VJbnQodC5zbGljZSgxLDMpLDE2KSxwYXJzZUludCh0LnNsaWNlKDMsNSksMTYpLHBhcnNlSW50KHQuc2xpY2UoNSw3KSwxNiksMV19fSw2OTM1MDAoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7Z2V0VGltZUZyYW1lczooKT0+c30pO3ZhciBuPXIoNzgzMjU0KSxpPXIoMjE1NzMwKTtmdW5jdGlvbiBzKGUpe3JldHVybnsiMWQiOnt0ZXh0Om4udChudWxsLHZvaWQgMCxyKDkzODEwMCkpLHZhbHVlOnt2YWx1ZToiMUQiLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5bIjFEIl0/PygwLGkuc3RyaW5nQXNSZXNvbHV0aW9uKSgiMSIpLGRlc2NyaXB0aW9uOigwLGkuZGF5c1N0cmluZ0xpdGVyYWwpKDEpfSwiNWQiOnt0ZXh0Om4udChudWxsLHZvaWQgMCxyKDgyODU1KSksdmFsdWU6e3ZhbHVlOiI1RCIsdHlwZToicGVyaW9kLWJhY2sifSx0YXJnZXRSZXNvbHV0aW9uOmU/LlsiNUQiXT8/KDAsaS5zdHJpbmdBc1Jlc29sdXRpb24pKCI1IiksZGVzY3JpcHRpb246KDAsaS5kYXlzU3RyaW5nTGl0ZXJhbCkoNSl9LCIxdyI6e3RleHQ6bi50KG51bGwsdm9pZCAwLHIoNDkyMTM1KSksdmFsdWU6e3ZhbHVlOiI3RCIsdHlwZToicGVyaW9kLWJhY2sifSx0YXJnZXRSZXNvbHV0aW9uOmU/LlsiNVciXT8/KDAsaS5zdHJpbmdBc1Jlc29sdXRpb24pKCIxNSIpLGRlc2NyaXB0aW9uOigwLGkud2Vla3NTdHJpbmdMaXRlcmFsKSgxKX0sIjFtIjp7dGV4dDpuLnQobnVsbCx2b2lkIDAscig4MzI3MzMpKSx2YWx1ZTp7dmFsdWU6IjFNIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyIxTSJdPz8oMCxpLnN0cmluZ0FzUmVzb2x1dGlvbikoIjMwIiksZGVzY3JpcHRpb246KDAsaS5tb250aHNTdHJpbmdMaXRlcmFsKSgxKX0sIjNtIjp7dGV4dDpuLnQobnVsbCx2b2lkIDAscig4MTkwNzgpKSx2YWx1ZTp7dmFsdWU6IjNNIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyIzTSJdPz8oMCxpLnN0cmluZ0FzUmVzb2x1dGlvbikoIjYwIiksZGVzY3JpcHRpb246KDAsaS5tb250aHNTdHJpbmdMaXRlcmFsKSgzKX0sIjZtIjp7dGV4dDpuLnQobnVsbCx2b2lkIDAscig2ODA3NikpLHZhbHVlOnt2YWx1ZToiNk0iLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5bIjZNIl0/PygwLGkuc3RyaW5nQXNSZXNvbHV0aW9uKSgiMTIwIiksZGVzY3JpcHRpb246KDAsaS5tb250aHNTdHJpbmdMaXRlcmFsKSg2KX0sIjEybSI6e3RleHQ6bi50KG51bGwsdm9pZCAwLHIoNzcwMzAzKSksdmFsdWU6e3ZhbHVlOiIxMk0iLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5bIjEyTSJdPz8oMCxpLnN0cmluZ0FzUmVzb2x1dGlvbikoIjFEIiksZGVzY3JpcHRpb246KDAsaS55ZWFyc1N0cmluZ0xpdGVyYWwpKDEpfSwiMjRtIjp7dGV4dDpuLnQobnVsbCx2b2lkIDAscig5MzQ3NzcpKSx2YWx1ZTp7dmFsdWU6IjI0TSIsdHlwZToicGVyaW9kLWJhY2sifSx0YXJnZXRSZXNvbHV0aW9uOmU/LlsiMjRNIl0/PygwLGkuc3RyaW5nQXNSZXNvbHV0aW9uKSgiMVciKSxkZXNjcmlwdGlvbjooMCxpLnllYXJzU3RyaW5nTGl0ZXJhbCkoMil9LCIzNm0iOnt0ZXh0Om4udChudWxsLHZvaWQgMCxyKDI3MjA5OCkpLHZhbHVlOnt2YWx1ZToiMzZNIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyIzNk0iXT8/KDAsaS5zdHJpbmdBc1Jlc29sdXRpb24pKCIxVyIpLGRlc2NyaXB0aW9uOigwLGkueWVhcnNTdHJpbmdMaXRlcmFsKSgzKX0sIjYwbSI6e3RleHQ6bi50KG51bGwsdm9pZCAwLHIoNDQ2NTYwKSksdmFsdWU6e3ZhbHVlOiI2ME0iLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5bIjYwTSJdPz8oMCxpLnN0cmluZ0FzUmVzb2x1dGlvbikoIjFXIiksZGVzY3JpcHRpb246KDAsaS55ZWFyc1N0cmluZ0xpdGVyYWwpKDUpfSwiMTIwbSI6e3RleHQ6bi50KG51bGwsdm9pZCAwLHIoOTk1MDY2KSksdmFsdWU6e3ZhbHVlOiIxMjBNIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyIxMjBNIl0/PygwLGkuc3RyaW5nQXNSZXNvbHV0aW9uKSgiMU0iKSxkZXNjcmlwdGlvbjooMCxpLnllYXJzU3RyaW5nTGl0ZXJhbCkoMTApfSx5dGQ6e3RleHQ6bi50KG51bGwsdm9pZCAwLHIoNDIyMzY5KSksdmFsdWU6e3ZhbHVlOiJZVEQiLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5ZVEQ/PygwLGkuc3RyaW5nQXNSZXNvbHV0aW9uKSgiMUQiKSxkZXNjcmlwdGlvbjpuLnQobnVsbCx2b2lkIDAscig0ODU0MjApKX0sYWxsOnt0ZXh0Om4udChudWxsLHZvaWQgMCxyKDIzMzY5MCkpLHZhbHVlOnt2YWx1ZToiQUxMIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uQUxMPz8oMCxpLnN0cmluZ0FzUmVzb2x1dGlvbikoIjFNIil9LGxhc3RzZXNzaW9uOnt0ZXh0Om4udChudWxsLHZvaWQgMCxyKDkzODEwMCkpLHZhbHVlOnt2YWx1ZToiTEFTVFNFU1NJT04iLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5MQVNUU0VTU0lPTj8/KDAsaS5zdHJpbmdBc1Jlc29sdXRpb24pKCIxIiksZGVzY3JpcHRpb246KDAsaS5kYXlzU3RyaW5nTGl0ZXJhbCkoMSl9fX19LDIxNTczMChlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtkYXlzU3RyaW5nTGl0ZXJhbDooKT0+aSxtb250aHNTdHJpbmdMaXRlcmFsOigpPT5hLHN0cmluZ0FzUmVzb2x1dGlvbjooKT0+bCx3ZWVrc1N0cmluZ0xpdGVyYWw6KCk9PnMseWVhcnNTdHJpbmdMaXRlcmFsOigpPT5vfSk7dmFyIG49cig3ODMyNTQpO2NvbnN0IGk9ZT0+bi50KG51bGwse3BsdXJhbDoie3N0cn0gZGF5cyIsY291bnQ6ZSxyZXBsYWNlOntzdHI6YCR7ZX1gfX0scigxMDMwMzApKSxzPWU9Pm4udChudWxsLHtwbHVyYWw6IntzdHJ9IHdlZWtzIixjb3VudDplLHJlcGxhY2U6e3N0cjpgJHtlfWB9fSxyKDY0NDYyNSkpLGE9ZT0+bi50KG51bGwsewpwbHVyYWw6IntzdHJ9IG1vbnRocyIsY291bnQ6ZSxyZXBsYWNlOntzdHI6YCR7ZX1gfX0scig2OTQ2MTcpKSxvPWU9Pm4udChudWxsLHtwbHVyYWw6IntzdHJ9IHllYXJzIixjb3VudDplLHJlcGxhY2U6e3N0cjpgJHtlfWB9fSxyKDIxNjQwMikpLGw9ZT0+ZX0sNDI5NTQ5KGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse2dldEFjdHVhbFRpbWVGcmFtZTooKT0+aX0pO3ZhciBuPXIoNjkzNTAwKTtmdW5jdGlvbiBpKGUpe2NvbnN0IHQ9bmV3IFNldChPYmplY3QudmFsdWVzKCgwLG4uZ2V0VGltZUZyYW1lcykoKSkubWFwKChlPT5lLnZhbHVlLnZhbHVlKSkpO2lmKHQuaGFzKGUpKXJldHVybiBlO2NvbnN0IHI9ZS50b1VwcGVyQ2FzZSgpO3JldHVybiB0LmhhcyhyKT9yOiIxMk0ifX0sNTA1NTYoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7Y29sb3JzUGFsZXR0ZTooKT0+YyxnZXRIZXhDb2xvckJ5TmFtZTooKT0+aH0pO3ZhciBuPXIoMzE3NjYzKSxpPXIoODY3NTIyKSxzPXIoMTM4NjM4KTtjb25zdCBhPXsuLi5uLC4uLml9LG89e30sbD1PYmplY3Qua2V5cyhhKS5sZW5ndGgsdT0vXiMoKFthLWYwLTldezJ9KXsyLDR9fFthLWYwLTldezN9KSQvaTtmdW5jdGlvbiBkKGUsdD1bXSxyPWEpe2NvbnN0IG49cltlXTtpZighbilyZXR1cm4gbnVsbDtpZih1LnRlc3QobikpcmV0dXJuIG47Y29uc3QgaT1uO3JldHVybiB0LnB1c2goZSksLTEhPT10LmluZGV4T2YoaSk/KGNvbnNvbGUud2FybigiQ29sb3JzIGRlZmluaXRpb25zIGN5Y2xlZCIpLG4pOnQubGVuZ3RoPmw/KGNvbnNvbGUud2FybigiVG9vIG1hbnkgdmFyaWFibGVzLWxpbmsgaW4gSEVYLWNvbG9yIHNlYXJjaDogIit0WzBdKSxudWxsKTpkKGksdCxyKX1PYmplY3Qua2V5cyhhKS5mb3JFYWNoKChlPT57Y29uc3QgdD1kKGUpO29bZV09KDAscy5lbnN1cmVOb3ROdWxsKSh0KX0pKTtjb25zdCBjPW87ZnVuY3Rpb24gaChlLHQ9Yyl7Y29uc3Qgcj10W2VdO2lmKCFyKXtpZih1LnRlc3QoZSkpcmV0dXJuIGU7dGhyb3cgbmV3IEVycm9yKCJObyBzdWNoIGNvbG9yICIrZSl9cmV0dXJuIHJ9fSw1Njc0NzkoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7REVGQVVMVF9TSVpFOigpPT5uLHNwaW5uZXJTaXplTWFwOigpPT5pfSk7Y29uc3Qgbj0ibGFyZ2UiLGk9e21pbmk6InhzbWFsbCIseHhzbWFsbDoieHhzbWFsbCIseHNtYWxsOiJ4c21hbGwiLHNtYWxsOiJzbWFsbCIsbWVkaXVtOiJtZWRpdW0iLGxhcmdlOiJsYXJnZSJ9fSwxOTg5MDEoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGUsdCxyLG49MCxpPWUubGVuZ3RoKXtyZXR1cm4gZnVuY3Rpb24oZSx0LHIsbixpKXtsZXQgcz1pLW47Zm9yKDswPHM7KXtjb25zdCBpPXM+PjEsYT1uK2k7cihlKGEpLHQpPyhuPWErMSxzLT1pKzEpOnM9aX1yZXR1cm4gbn0oKHQ9PmVbdF0pLHQscixuLGkpfWZ1bmN0aW9uIGkoZSx0LHIsbj0wLGk9ZS5sZW5ndGgpe2xldCBzPWktbjtmb3IoOzA8czspe2NvbnN0IGk9cz4+MSxhPW4raTtyKHQsZVthXSk/cz1pOihuPWErMSxzLT1pKzEpfXJldHVybiBufXIuZCh0LHtsb3dlcmJvdW5kOigpPT5uLHVwcGVyYm91bmQ6KCk9Pml9KX0sNTQwNTc4KGUsdCxyKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlKXtyZXR1cm4gZS5yZXBsYWNlKC9bLS9cXF4kKis/LigpfFtcXXt9XS9nLCJcXCQmIil9ci5kKHQse3JlZ0V4cEVzY2FwZTooKT0+bn0pfSw0OTExNjUoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7ZGF0ZUZvcm1hdEZ1bmN0aW9uczooKT0+eSxnZXREYXRlRm9ybWF0V2l0aFdlZWtkYXk6KCk9PmJ9KTt2YXIgbj1yKDc4MzI1NCksaT1yKDgyMjQzMSkscz1yKDg1NjMyNCk7Y29uc3QgYT17MTooKT0+bi50KG51bGwsdm9pZCAwLHIoNjU3Mzc0KSksMjooKT0+bi50KG51bGwsdm9pZCAwLHIoNjE3MzQxKSksMzooKT0+bi50KG51bGwsdm9pZCAwLHIoMTAzMzA1KSksNDooKT0+bi50KG51bGwsdm9pZCAwLHIoNTI2Nzg1KSksNTooKT0+bi50KG51bGwse2NvbnRleHQ6InNob3J0In0scig3MzQ3NTApKSw2OigpPT5uLnQobnVsbCx2b2lkIDAscig4Nzc0NSkpLDc6KCk9Pm4udChudWxsLHZvaWQgMCxyKDE4Mzk1OSkpLDg6KCk9Pm4udChudWxsLHZvaWQgMCxyKDkzNzYyKSksOTooKT0+bi50KG51bGwsdm9pZCAwLHIoMTc4NDY5KSksMTA6KCk9Pm4udChudWxsLHZvaWQgMCxyKDcyODMzNykpLDExOigpPT5uLnQobnVsbCx2b2lkIDAscig2NDY1NDUpKSwxMjooKT0+bi50KG51bGwsdm9pZCAwLHIoNzY5MDM2KSl9LG89ezE6KCk9Pm4udChudWxsLHZvaWQgMCxyKDg5NzY3KSksMjooKT0+bi50KG51bGwsdm9pZCAwLHIoOTQ4OTIzKSksMzooKT0+bi50KG51bGwsdm9pZCAwLHIoMzY3OTM1KSksNDooKT0+bi50KG51bGwsdm9pZCAwLHIoMTc1NTA3KSl9LGw9KGUsdCk9Pih0P2UuZ2V0TW9udGgoKTplLmdldFVUQ01vbnRoKCkpKzEsdT0oZSx0KT0+dD9lLmdldERhdGUoKTplLmdldFVUQ0RhdGUoKSxkPShlLHQpPT50P2UuZ2V0RnVsbFllYXIoKTplLmdldFVUQ0Z1bGxZZWFyKCksYz0oZSx0KT0+ZS50b0xvY2FsZURhdGVTdHJpbmcoKDAscy5nZXRMYW5ndWFnZSkoKT8oMCxzLm1hcExhbmd1YWdlQ29kZSkoKDAscy5nZXRMYW5ndWFnZSkoKSk6dm9pZCAwLHt3ZWVrZGF5OiJzaG9ydCIsdGltZVpvbmU6ImxvY2FsIj09PXQ/dm9pZCAwOnR9KSxoPShlLHQpPT5vWygoZSx0KT0+TWF0aC5mbG9vcigobChlLHQpLTEpLzMpKzEpKGUsdCldKCksZj0oZSx0KT0+KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykodShlLHQpLDIpLG09KGUsdCk9PmFbbChlLHQpXSgpLGc9KGUsdCk9PigwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGwoZSx0KSwyKSxfPShlLHQpPT4oMCxpLm51bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvKShkKGUsdCklMTAwLDIpLHA9KGUsdCk9PigwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGQoZSx0KSw0KSx5PXsicXEgJ3l5IjooZSx0KT0+YCR7aChlLHQpfSAnJHtfKGUsdCl9YCwicXEgeXl5eSI6KGUsdCk9PmAke2goZSx0KX0gJHtwKGUsdCl9YCwKImRkIE1NTSAneXkiOihlLHQpPT5gJHtmKGUsdCl9ICR7bShlLHQpfSAnJHtfKGUsdCl9YCwiTU1NICd5eSI6KGUsdCk9PmAke20oZSx0KX0gJyR7XyhlLHQpfWAsIk1NTSBkZCwgeXl5eSI6KGUsdCk9PmAke20oZSx0KX0gJHtmKGUsdCl9LCAke3AoZSx0KX1gLCJNTU0gZCwgeXl5eSI6KGUsdCk9PmAke20oZSx0KX0gJHsoKGUsdCk9PigwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKHUoZSx0KSwwKSkoZSx0KX0sICR7cChlLHQpfWAsIk1NTSB5eXl5IjooZSx0KT0+YCR7bShlLHQpfSAke3AoZSx0KX1gLCJNTU0gZGQiOihlLHQpPT5gJHttKGUsdCl9ICR7ZihlLHQpfWAsImRkIE1NTSI6KGUsdCk9PmAke2YoZSx0KX0gJHttKGUsdCl9YCwieXl5eS1NTS1kZCI6KGUsdCk9PmAke3AoZSx0KX0tJHtnKGUsdCl9LSR7ZihlLHQpfWAsInl5LU1NLWRkIjooZSx0KT0+YCR7XyhlLHQpfS0ke2coZSx0KX0tJHtmKGUsdCl9YCwieXkvTU0vZGQiOihlLHQpPT5gJHtfKGUsdCl9LyR7ZyhlLHQpfS8ke2YoZSx0KX1gLCJ5eXl5L01NL2RkIjooZSx0KT0+YCR7cChlLHQpfS8ke2coZSx0KX0vJHtmKGUsdCl9YCwiZGQtTU0teXl5eSI6KGUsdCk9PmAke2YoZSx0KX0tJHtnKGUsdCl9LSR7cChlLHQpfWAsImRkLU1NLXl5IjooZSx0KT0+YCR7ZihlLHQpfS0ke2coZSx0KX0tJHtfKGUsdCl9YCwiZGQvTU0veXkiOihlLHQpPT5gJHtmKGUsdCl9LyR7ZyhlLHQpfS8ke18oZSx0KX1gLCJkZC9NTS95eXl5IjooZSx0KT0+YCR7ZihlLHQpfS8ke2coZSx0KX0vJHtwKGUsdCl9YCwiTU0vZGQveXkiOihlLHQpPT5gJHtnKGUsdCl9LyR7ZihlLHQpfS8ke18oZSx0KX1gLCJNTS9kZC95eXl5IjooZSx0KT0+YCR7ZyhlLHQpfS8ke2YoZSx0KX0vJHtwKGUsdCl9YH07ZnVuY3Rpb24gYihlLHQpe3JldHVybiJqYSI9PT0oMCxzLmdldExhbmd1YWdlKSgpPyhyLG4pPT5gJHt5W2VdKHIsbil9ICgke2Mocix0KX0pYDoocixuKT0+YCR7YyhyLHQpfSAke3lbZV0ocixuKX1gfU9iamVjdC5rZXlzKHkpfSw4NTYzMjQoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7Z2V0TGFuZ3VhZ2U6KCk9PnMsbWFwTGFuZ3VhZ2VDb2RlOigpPT5sLHJlZ2lzdGVyTGFuZ3VhZ2VDb2RlTWFwcGVyOigpPT5vLHJlZ2lzdGVyTGFuZ3VhZ2VHZXR0ZXI6KCk9Pml9KTtsZXQgbj1udWxsO2Z1bmN0aW9uIGkoZSl7bj1lfWZ1bmN0aW9uIHMoKXtpZighbil0aHJvdyBuZXcgRXJyb3IoIkxhbmd1YWdlIGdldHRlciBub3QgcmVnaXN0ZXJlZC4gQ2FsbCByZWdpc3Rlckxhbmd1YWdlR2V0dGVyKCkgZmlyc3QuIik7cmV0dXJuIG4oKX1sZXQgYT1lPT5lO2Z1bmN0aW9uIG8oZSl7YT1lfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIGEoZSl9fSw4NTI5ODAoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGUsdCxyLG4saSl7Y29uc3R7cGF5QXR0ZW50aW9uVG9UaWNrZXJOb3RTeW1ib2w6cyx1c2VUaWNrZXJPblN5bWJvbEluZm9VcGRhdGU6YSxjaGFydGluZ0xpYnJhcnlTaW5nbGVTeW1ib2xSZXF1ZXN0Om8sdXBwZXJjYXNlSW5zdHJ1bWVudE5hbWVzOmx9PWU7bGV0IHU9dCYmKG4mJnQucHJvX25hbWV8fHQuZnVsbF9uYW1lfHx0Lm5hbWUpO3JldHVybiBvJiZyP3U9cjooYXx8IWkmJnMpJiZ0JiZ0LnRpY2tlciYmKHU9dC50aWNrZXIpLGwmJnUmJih1PXUudG9VcHBlckNhc2UoKSksdX1yLmQodCx7ZXh0cmFjdFN5bWJvbE5hbWVGcm9tU3ltYm9sSW5mbzooKT0+bn0pfSw4NTcxNTEoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7UGxvdExpc3Q6KCk9Pmh9KTt2YXIgbj1yKDEzODYzOCksaT1yKDIyMTA2MSkscz1yKDE5ODkwMSksYT1yKDgxNDU4OSksbz1yKDkzNjMyNik7Y29uc3QgbD0oMCxpLmdldExvZ2dlcikoIkNoYXJ0LlBsb3RMaXN0IiksdT0zMDtmdW5jdGlvbiBkKGUpe3JldHVybiBlLmluZGV4fWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGUudmFsdWVbMF19Y2xhc3MgaHtjb25zdHJ1Y3RvcihlPW51bGwsdD1udWxsKXt0aGlzLl9pdGVtcz1bXSx0aGlzLl9zdGFydD0wLHRoaXMuX2VuZD0wLHRoaXMuX3NoYXJlUmVhZD0hMSx0aGlzLl9taW5NYXhDYWNoZT1uZXcgTWFwLHRoaXMuX3Jvd1NlYXJjaENhY2hlQnlJbmRleD1uZXcgTWFwLHRoaXMuX3Jvd1NlYXJjaENhY2hlQnlJbmRleFdpdGhvdXRFbXB0eVZhbHVlcz1uZXcgTWFwLHRoaXMuX3Jvd1NlYXJjaENhY2hlQnlUaW1lPW5ldyBNYXAsdGhpcy5fcm93U2VhcmNoQ2FjaGVCeVRpbWVXaXRob3V0RW1wdHlWYWx1ZXM9bmV3IE1hcCx0aGlzLl9wbG90RnVuY3Rpb25zPWV8fG5ldyBNYXAsdGhpcy5fZW1wdHlWYWx1ZVByZWRpY2F0ZT10fWNsZWFyKCl7dGhpcy5faXRlbXM9W10sdGhpcy5fc3RhcnQ9MCx0aGlzLl9lbmQ9MCx0aGlzLl9zaGFyZVJlYWQ9ITEsdGhpcy5fbWluTWF4Q2FjaGUuY2xlYXIoKSx0aGlzLl9pbnZhbGlkYXRlU2VhcmNoQ2FjaGVzKCl9Zmlyc3QoKXtyZXR1cm4gdGhpcy5zaXplKCk+MD90aGlzLl9pdGVtc1t0aGlzLl9zdGFydF06bnVsbH1sYXN0KCl7cmV0dXJuIHRoaXMuc2l6ZSgpPjA/dGhpcy5faXRlbXNbdGhpcy5fZW5kLTFdOm51bGx9Zmlyc3RJbmRleCgpe3JldHVybiB0aGlzLnNpemUoKT4wP3RoaXMuX2luZGV4QXQodGhpcy5fc3RhcnQpOm51bGx9Zmlyc3RQbG90dGFibGVJbmRleCgpe2lmKHRoaXMuaXNFbXB0eSgpKXJldHVybiBudWxsO2ZvcihsZXQgZT10aGlzLl9zdGFydDtlPHRoaXMuX2VuZDsrK2Upe2NvbnN0IHQ9dGhpcy5faW5kZXhBdChlKTtpZih0PmEuVU5QTE9UVEFCTEVfVElNRV9QT0lOVF9JTkRFWClyZXR1cm4gdH1yZXR1cm4gbnVsbH1sYXN0SW5kZXgoKXtyZXR1cm4gdGhpcy5zaXplKCk+MD90aGlzLl9pbmRleEF0KHRoaXMuX2VuZC0xKTpudWxsfWNsb25lKCl7Y29uc3QgZT10aGlzLmZpcnN0SW5kZXgoKSx0PXRoaXMubGFzdEluZGV4KCk7cmV0dXJuIG51bGw9PT1lfHxudWxsPT09dD9uZXcgaDp0aGlzLnJhbmdlKGUsdCl9c2l6ZSgpe3JldHVybiB0aGlzLl9lbmQtdGhpcy5fc3RhcnR9aXNFbXB0eSgpe3JldHVybiAwPT09dGhpcy5zaXplKCl9Y29udGFpbnMoZSl7CnJldHVybiBudWxsIT09dGhpcy5zZWFyY2goZSxvLlBsb3RSb3dTZWFyY2hNb2RlLkV4YWN0KX12YWx1ZUF0KGUpe2NvbnN0IHQ9dGhpcy5zZWFyY2goZSk7cmV0dXJuIG51bGwhPT10P3QudmFsdWU6bnVsbH1hZGQoZSx0KXtpZih0aGlzLl9zaGFyZVJlYWQpcmV0dXJuIGwubG9nRGVidWcoImFkZDogcmVhZG9ubHkgY29sbGVjdGlvbiBtb2RpZmljYXRpb24gYXR0ZW1wdCIpLCExO2NvbnN0IHI9e2luZGV4OmUsdmFsdWU6dH0sbj10aGlzLl9ub25DYWNoZWRTZWFyY2goZSxvLlBsb3RSb3dTZWFyY2hNb2RlLkV4YWN0LGQpO3JldHVybiB0aGlzLl9pbnZhbGlkYXRlU2VhcmNoQ2FjaGVzKCksbnVsbD09PW4/KHRoaXMuX2l0ZW1zLnNwbGljZSh0aGlzLl9sb3dlcmJvdW5kKGUsZCksMCxyKSx0aGlzLl9zdGFydD0wLHRoaXMuX2VuZD10aGlzLl9pdGVtcy5sZW5ndGgsITApOih0aGlzLl9pdGVtc1tuXT1yLCExKX1zZWFyY2goZSx0PW8uUGxvdFJvd1NlYXJjaE1vZGUuRXhhY3Qscil7cmV0dXJuIHRoaXMuX3NlYXJjaEltcGwoZSx0LHRoaXMuX3Jvd1NlYXJjaENhY2hlQnlJbmRleCx0aGlzLl9yb3dTZWFyY2hDYWNoZUJ5SW5kZXhXaXRob3V0RW1wdHlWYWx1ZXMsZCxyKX1zZWFyY2hCeVRpbWUoZSx0PW8uUGxvdFJvd1NlYXJjaE1vZGUuRXhhY3Qscil7cmV0dXJuIHRoaXMuX3NlYXJjaEltcGwoZSx0LHRoaXMuX3Jvd1NlYXJjaENhY2hlQnlUaW1lLHRoaXMuX3Jvd1NlYXJjaENhY2hlQnlUaW1lV2l0aG91dEVtcHR5VmFsdWVzLGMscil9Zm9sZChlLHQpe2xldCByPXQ7Zm9yKGxldCB0PXRoaXMuX3N0YXJ0O3Q8dGhpcy5fZW5kOysrdCl7cj1lKHRoaXMuX2luZGV4QXQodCksdGhpcy5fdmFsdWVBdCh0KSxyKX1yZXR1cm4gcn1maW5kRmlyc3QoZSx0KXtjb25zdCByPXZvaWQgMCE9PXQmJk1hdGgubWluKHRoaXMuX3N0YXJ0K3QsdGhpcy5fZW5kKXx8dGhpcy5fZW5kO2ZvcihsZXQgdD10aGlzLl9zdGFydDt0PHI7Kyt0KXtjb25zdCByPXRoaXMuX2luZGV4QXQodCksbj10aGlzLl92YWx1ZUF0KHQpO2lmKGUocixuKSlyZXR1cm57aW5kZXg6cix2YWx1ZTpufX1yZXR1cm4gbnVsbH1maW5kTGFzdChlLHQpe2NvbnN0IHI9dm9pZCAwIT09dCYmTWF0aC5tYXgodGhpcy5fZW5kLXQsdGhpcy5fc3RhcnQpfHx0aGlzLl9zdGFydDtmb3IobGV0IHQ9dGhpcy5fZW5kLTE7dD49cjstLXQpe2NvbnN0IHI9dGhpcy5faW5kZXhBdCh0KSxuPXRoaXMuX3ZhbHVlQXQodCk7aWYoZShyLG4pKXJldHVybntpbmRleDpyLHZhbHVlOm59fXJldHVybiBudWxsfWVhY2goZSl7Zm9yKGxldCB0PXRoaXMuX3N0YXJ0O3Q8dGhpcy5fZW5kOysrdCl7aWYoZSh0aGlzLl9pbmRleEF0KHQpLHRoaXMuX3ZhbHVlQXQodCkpKWJyZWFrfX1yZWR1Y2UoZSx0KXtsZXQgcj10O2ZvcihsZXQgdD10aGlzLl9zdGFydDt0PHRoaXMuX2VuZDsrK3Qpe3I9ZShyLHRoaXMuX2luZGV4QXQodCksdGhpcy5fdmFsdWVBdCh0KSl9cmV0dXJuIHJ9cmFuZ2UoZSx0KXtjb25zdCByPW5ldyBoKHRoaXMuX3Bsb3RGdW5jdGlvbnMsdGhpcy5fZW1wdHlWYWx1ZVByZWRpY2F0ZSk7cmV0dXJuIHIuX2l0ZW1zPXRoaXMuX2l0ZW1zLHIuX3N0YXJ0PXRoaXMuX2xvd2VyYm91bmQoZSxkKSxyLl9lbmQ9dGhpcy5fdXBwZXJib3VuZCh0KSxyLl9zaGFyZVJlYWQ9ITAscn1wbG90dGFibGVSYW5nZShlKXtjb25zdCB0PW5ldyBoKHRoaXMuX3Bsb3RGdW5jdGlvbnMsdGhpcy5fZW1wdHlWYWx1ZVByZWRpY2F0ZSk7cmV0dXJuIHQuX2l0ZW1zPXRoaXMuX2l0ZW1zLHQuX3N0YXJ0PXRoaXMuX3VwcGVyYm91bmQoYS5VTlBMT1RUQUJMRV9USU1FX1BPSU5UX0lOREVYKSx0Ll9lbmQ9dGhpcy5fZW5kLHQuX3NoYXJlUmVhZD0hMCwhMD09PWUmJnQuX3N0YXJ0PnRoaXMuX3N0YXJ0JiYodC5fc3RhcnQtPTEpLHR9cmFuZ2VDb3VudGJhY2soZSx0KXtpZihudWxsPT09dGhpcy5maXJzdEluZGV4KCkpcmV0dXJuIG5ldyBoO2NvbnN0IHI9bmV3IGgodGhpcy5fcGxvdEZ1bmN0aW9ucyx0aGlzLl9lbXB0eVZhbHVlUHJlZGljYXRlKTtyZXR1cm4gci5faXRlbXM9dGhpcy5faXRlbXMsci5fZW5kPXRoaXMuX3VwcGVyYm91bmQoZSksci5fc3RhcnQ9TWF0aC5tYXgodGhpcy5fc3RhcnQsci5fZW5kLXQpLHIuX3NoYXJlUmVhZD0hMCxyfXJhbmdlSXRlcmF0b3IoZSx0KXtjb25zdCByPXRoaXMuX2xvd2VyYm91bmQoZSxkKSxuPXRoaXMuX3VwcGVyYm91bmQodCk7cmV0dXJuIHRoaXMuX3JhbmdlSXRlcmF0b3JJbXBsKHIsbil9ZnVsbFJhbmdlSXRlcmF0b3IoKXtyZXR1cm4gdGhpcy5fcmFuZ2VJdGVyYXRvckltcGwodGhpcy5fc3RhcnQsdGhpcy5fZW5kKX1taW5NYXhPblJhbmdlQ2FjaGVkKGUsdCxyKXtpZih0aGlzLmlzRW1wdHkoKSlyZXR1cm4gbnVsbDtsZXQgbj1udWxsO2Zvcihjb25zdCBpIG9mIHIpe249ZihuLHRoaXMuX21pbk1heE9uUmFuZ2VDYWNoZWRJbXBsKGUtaS5vZmZzZXQsdC1pLm9mZnNldCxpLm5hbWUpKX1yZXR1cm4gbn1taW5NYXhPblJhbmdlKGUsdCxyKXtpZih0aGlzLmlzRW1wdHkoKSlyZXR1cm4gbnVsbDtsZXQgbj1udWxsO2Zvcihjb25zdCBpIG9mIHIpe249ZihuLHRoaXMuX21pbk1heE9uUmFuZ2UoZS1pLm9mZnNldCx0LWkub2Zmc2V0LGkubmFtZSkpfXJldHVybiBufW1lcmdlKGUpe3JldHVybiB0aGlzLl9zaGFyZVJlYWQ/KGwubG9nRGVidWcoIm1lcmdlOiByZWFkb25seSBjb2xsZWN0aW9uIG1vZGlmaWNhdGlvbiBhdHRlbXB0IiksbnVsbCk6MD09PWUubGVuZ3RoP251bGw6dGhpcy5pc0VtcHR5KCl8fGVbZS5sZW5ndGgtMV0uaW5kZXg8dGhpcy5faXRlbXNbMF0uaW5kZXg/dGhpcy5fcHJlcGVuZChlKTplWzBdLmluZGV4PnRoaXMuX2l0ZW1zW3RoaXMuX2l0ZW1zLmxlbmd0aC0xXS5pbmRleD90aGlzLl9hcHBlbmQoZSk6MT09PWUubGVuZ3RoJiZlWzBdLmluZGV4PT09dGhpcy5faXRlbXNbdGhpcy5faXRlbXMubGVuZ3RoLTFdLmluZGV4Pyh0aGlzLl91cGRhdGVMYXN0KGVbMF0pLGVbMF0pOnRoaXMuX21lcmdlKGUpfWFkZFRhaWwoZSx0PSExKXtpZigwPT09ZS5sZW5ndGgpcmV0dXJuO2xldCByPTA7dCYmdGhpcy5fZW5kLXRoaXMuX3N0YXJ0PjAmJihyPTEsCnRoaXMuX2l0ZW1zW3RoaXMuX2VuZC10aGlzLl9zdGFydC0xXS52YWx1ZT1lWzBdLnZhbHVlKTtmb3IobGV0IHQ9cjt0PGUubGVuZ3RoOysrdCl7Y29uc3Qgcj1lW3RdLG49dGhpcy5sYXN0SW5kZXgoKTtpZihudWxsPT09bil7bC5sb2dFcnJvcigiQ2FuJ3QgYWRkIHRhaWwgdG8gdGhlIGVtcHR5IHBsb3RsaXN0Iik7YnJlYWt9dGhpcy5hZGQobisxLHIudmFsdWUpfXRoaXMuX2ludmFsaWRhdGVTZWFyY2hDYWNoZXMoKX1tb3ZlKGUpe2lmKHRoaXMuX3NoYXJlUmVhZClyZXR1cm4gdm9pZCBsLmxvZ0RlYnVnKCJtb3ZlOiByZWFkb25seSBjb2xsZWN0aW9uIG1vZGlmaWNhdGlvbiBhdHRlbXB0Iik7aWYoMD09PWUubGVuZ3RoKXJldHVybjtjb25zdCB0PXRoaXMuX2l0ZW1zLnNsaWNlKCk7Zm9yKGNvbnN0IHIgb2YgZSl7Y29uc3QgZT10aGlzLl9ic2VhcmNoKHIub2xkLGQpO2lmKG51bGwhPT1lJiZ2b2lkIDAhPT10W2VdKWlmKHIubmV3PT09YS5JTlZBTElEX1RJTUVfUE9JTlRfSU5ERVgpdFtlXT12b2lkIDA7ZWxzZXt0W2VdPXtpbmRleDpyLm5ldyx2YWx1ZTp0W2VdLnZhbHVlfTtjb25zdCBuPXRoaXMuX2JzZWFyY2goci5uZXcsZCk7aWYobnVsbCE9PW4pe2NvbnN0IGU9dFtuXTt2b2lkIDAhPT1lJiZlLmluZGV4PT09ci5uZXcmJih0W25dPXZvaWQgMCl9fX10aGlzLl9pdGVtcz10LmZpbHRlcigoZT0+dm9pZCAwIT09ZSkpLnNvcnQoKChlLHQpPT5lLmluZGV4LXQuaW5kZXgpKSx0aGlzLl9pbnZhbGlkYXRlU2VhcmNoQ2FjaGVzKCksdGhpcy5fbWluTWF4Q2FjaGUuY2xlYXIoKSx0aGlzLl9zdGFydD0wLHRoaXMuX2VuZD10aGlzLl9pdGVtcy5sZW5ndGh9cmVtb3ZlKGUpe2lmKHRoaXMuX3NoYXJlUmVhZClyZXR1cm4gbC5sb2dEZWJ1ZygicmVtb3ZlOiByZWFkb25seSBjb2xsZWN0aW9uIG1vZGlmaWNhdGlvbiBhdHRlbXB0IiksbnVsbDtjb25zdCB0PXRoaXMuX25vbkNhY2hlZFNlYXJjaChlLG8uUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdFJpZ2h0LGQpO2lmKG51bGw9PT10KXJldHVybiBudWxsO2NvbnN0IHI9dGhpcy5faXRlbXMuc3BsaWNlKHQpO3JldHVybiB0aGlzLl9lbmQ9dGhpcy5faXRlbXMubGVuZ3RoLHRoaXMuX21pbk1heENhY2hlLmNsZWFyKCksdGhpcy5faW52YWxpZGF0ZVNlYXJjaENhY2hlcygpLHIubGVuZ3RoPjA/clswXTpudWxsfXN0YXRlKCl7Y29uc3QgZT10aGlzLl9pdGVtcy5zbGljZSh0aGlzLl9zdGFydCx0aGlzLl9lbmQpO3JldHVybntzdGFydDowLGVuZDplLmxlbmd0aCxkYXRhOmV9fXJlc3RvcmVTdGF0ZShlKXtlPyh0aGlzLl9zdGFydD1lLnN0YXJ0LHRoaXMuX2VuZD1lLmVuZCx0aGlzLl9zaGFyZVJlYWQ9ITEsdGhpcy5faXRlbXM9ZS5kYXRhLHRoaXMuX21pbk1heENhY2hlLmNsZWFyKCksdGhpcy5faW52YWxpZGF0ZVNlYXJjaENhY2hlcygpKTp0aGlzLmNsZWFyKCl9X2luZGV4QXQoZSl7cmV0dXJuIHRoaXMuX2l0ZW1zW2VdLmluZGV4fV92YWx1ZUF0KGUpe3JldHVybiB0aGlzLl9pdGVtc1tlXS52YWx1ZX1fbGVuZ3RoKCl7cmV0dXJuIHRoaXMuX2l0ZW1zLmxlbmd0aH1fc2VhcmNoSW1wbChlLHQscixuLGkscyl7Y29uc3QgYT12b2lkIDAhPT1zP3I6bixvPXZvaWQgMCE9PXM/MWU0Kih0KzEpK3M6dDtsZXQgbD1hLmdldChlKTtpZih2b2lkIDAhPT1sKXtjb25zdCBlPWwuZ2V0KG8pO2lmKHZvaWQgMCE9PWUpcmV0dXJuIGV9Y29uc3QgdT10aGlzLl9ub25DYWNoZWRTZWFyY2goZSx0LGkscyk7aWYobnVsbD09PXUpcmV0dXJuIG51bGw7Y29uc3QgZD17aW5kZXg6dGhpcy5faW5kZXhBdCh1KSx2YWx1ZTp0aGlzLl92YWx1ZUF0KHUpfTtyZXR1cm4gdm9pZCAwPT09bCYmKGw9bmV3IE1hcCxhLnNldChlLGwpKSxsLnNldChvLGQpLGR9X25vbkNhY2hlZFNlYXJjaChlLHQscixuKXtjb25zdCBpPXRoaXMuX2xvd2VyYm91bmQoZSxyKSxzPWk9PT10aGlzLl9lbmR8fGUhPT1yKHRoaXMuX2l0ZW1zW2ldKTtpZihzJiZ0IT09by5QbG90Um93U2VhcmNoTW9kZS5FeGFjdClzd2l0Y2godCl7Y2FzZSBvLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RMZWZ0OnJldHVybiB0aGlzLl9zZWFyY2hOZWFyZXN0TGVmdChpLG4pO2Nhc2Ugby5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0UmlnaHQ6cmV0dXJuIHRoaXMuX3NlYXJjaE5lYXJlc3RSaWdodChpLG4pO2RlZmF1bHQ6dGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biBzZWFyY2ggbW9kZSIpfWlmKHZvaWQgMD09PW58fHN8fHQ9PT1vLlBsb3RSb3dTZWFyY2hNb2RlLkV4YWN0KXJldHVybiBzP251bGw6aTtzd2l0Y2godCl7Y2FzZSBvLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RMZWZ0OnJldHVybiB0aGlzLl9ub25FbXB0eU5lYXJlc3RMZWZ0KGksbik7Y2FzZSBvLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RSaWdodDpyZXR1cm4gdGhpcy5fbm9uRW1wdHlOZWFyZXN0UmlnaHQoaSxuKTtkZWZhdWx0OnRocm93IG5ldyBUeXBlRXJyb3IoIlVua25vd24gc2VhcmNoIG1vZGUiKX19X25vbkVtcHR5TmVhcmVzdFJpZ2h0KGUsdCl7Y29uc3Qgcj0oMCxuLmVuc3VyZSkodGhpcy5fZW1wdHlWYWx1ZVByZWRpY2F0ZSksaT0oMCxuLmVuc3VyZSkodCk7Zm9yKDtlPHRoaXMuX2VuZCYmcih0aGlzLl92YWx1ZUF0KGUpLGkpOyllKz0xO3JldHVybiBlPT09dGhpcy5fZW5kP251bGw6ZX1fbm9uRW1wdHlOZWFyZXN0TGVmdChlLHQpe2NvbnN0IHI9KDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9lbXB0eVZhbHVlUHJlZGljYXRlKSxpPSgwLG4uZW5zdXJlKSh0KTtmb3IoO2U+PXRoaXMuX3N0YXJ0JiZyKHRoaXMuX3ZhbHVlQXQoZSksaSk7KWUtPTE7cmV0dXJuIGU8dGhpcy5fc3RhcnQ/bnVsbDplfV9zZWFyY2hOZWFyZXN0TGVmdChlLHQpe2lmKGU9PT10aGlzLl9zdGFydClyZXR1cm4gbnVsbDtjb25zdCByPWUtMSxuPXIhPT10aGlzLl9lbmQ/cjpudWxsO3JldHVybiB2b2lkIDAhPT10JiZudWxsIT09bj90aGlzLl9ub25FbXB0eU5lYXJlc3RMZWZ0KG4sdCk6bn1fc2VhcmNoTmVhcmVzdFJpZ2h0KGUsdCl7Y29uc3Qgcj1lLG49ciE9PXRoaXMuX2VuZD9yOm51bGwKO3JldHVybiB2b2lkIDAhPT10JiZudWxsIT09bj90aGlzLl9ub25FbXB0eU5lYXJlc3RSaWdodChuLHQpOm59X2JzZWFyY2goZSx0KXtjb25zdCByPXRoaXMuX2xvd2VyYm91bmQoZSx0KTtyZXR1cm4gciE9PXRoaXMuX2VuZCYmZT09PXQodGhpcy5faXRlbXNbcl0pP3I6bnVsbH1fbG93ZXJib3VuZChlLHQpe3JldHVybigwLHMubG93ZXJib3VuZCkodGhpcy5faXRlbXMsZSwoKGUscik9PnQoZSk8ciksdGhpcy5fc3RhcnQsdGhpcy5fZW5kKX1fdXBwZXJib3VuZChlKXtyZXR1cm4oMCxzLnVwcGVyYm91bmQpKHRoaXMuX2l0ZW1zLGUsKChlLHQpPT50LmluZGV4PmUpLHRoaXMuX3N0YXJ0LHRoaXMuX2VuZCl9X3Bsb3RNaW5NYXgoZSx0LHIpe2xldCBuPW51bGw7Y29uc3QgaT10aGlzLl9wbG90RnVuY3Rpb25zLmdldChyKTtpZih2b2lkIDA9PT1pKXRocm93IG5ldyBFcnJvcihgUGxvdCAiJHtyfSIgaXMgbm90IHJlZ2lzdGVyZWRgKTtmb3IobGV0IHI9ZTtyPHQ7cisrKXtjb25zdCBlPWkodGhpcy5faXRlbXNbcl0udmFsdWUpO251bGw9PWV8fE51bWJlci5pc05hTihlKXx8KG51bGw9PT1uP249e21pbjplLG1heDplfTooZTxuLm1pbiYmKG4ubWluPWUpLGU+bi5tYXgmJihuLm1heD1lKSkpfXJldHVybiBufV9pbnZhbGlkYXRlQ2FjaGVGb3JSb3coZSl7Y29uc3QgdD1NYXRoLmZsb29yKGUuaW5kZXgvdSk7dGhpcy5fbWluTWF4Q2FjaGUuZm9yRWFjaCgoZT0+ZS5kZWxldGUodCkpKX1fcHJlcGVuZChlKXtyZXR1cm4oMCxuLmFzc2VydCkoIXRoaXMuX3NoYXJlUmVhZCwiY29sbGVjdGlvbiBzaG91bGQgbm90IGJlIHJlYWRvbmx5IiksKDAsbi5hc3NlcnQpKDAhPT1lLmxlbmd0aCwicGxvdFJvd3Mgc2hvdWxkIG5vdCBiZSBlbXB0eSIpLHRoaXMuX2ludmFsaWRhdGVTZWFyY2hDYWNoZXMoKSx0aGlzLl9taW5NYXhDYWNoZS5jbGVhcigpLHRoaXMuX2l0ZW1zPWUuY29uY2F0KHRoaXMuX2l0ZW1zKSx0aGlzLl9zdGFydD0wLHRoaXMuX2VuZD10aGlzLl9pdGVtcy5sZW5ndGgsZVswXX1fYXBwZW5kKGUpe3JldHVybigwLG4uYXNzZXJ0KSghdGhpcy5fc2hhcmVSZWFkLCJjb2xsZWN0aW9uIHNob3VsZCBub3QgYmUgcmVhZG9ubHkiKSwoMCxuLmFzc2VydCkoMCE9PWUubGVuZ3RoLCJwbG90Um93cyBzaG91bGQgbm90IGJlIGVtcHR5IiksdGhpcy5faW52YWxpZGF0ZVNlYXJjaENhY2hlcygpLHRoaXMuX21pbk1heENhY2hlLmNsZWFyKCksdGhpcy5faXRlbXM9dGhpcy5faXRlbXMuY29uY2F0KGUpLHRoaXMuX3N0YXJ0PTAsdGhpcy5fZW5kPXRoaXMuX2l0ZW1zLmxlbmd0aCxlWzBdfV91cGRhdGVMYXN0KGUpeygwLG4uYXNzZXJ0KSghdGhpcy5pc0VtcHR5KCksInBsb3QgbGlzdCBzaG91bGQgbm90IGJlIGVtcHR5Iik7Y29uc3QgdD10aGlzLl9pdGVtc1t0aGlzLl9lbmQtMV07KDAsbi5hc3NlcnQpKHQuaW5kZXg9PT1lLmluZGV4LCJsYXN0IHJvdyBpbmRleCBzaG91bGQgbWF0Y2ggbmV3IHJvdyBpbmRleCIpLHRoaXMuX2ludmFsaWRhdGVDYWNoZUZvclJvdyhlKSx0aGlzLl9pbnZhbGlkYXRlU2VhcmNoQ2FjaGVzKCksdGhpcy5faXRlbXNbdGhpcy5fZW5kLTFdPWV9X21lcmdlKGUpe3JldHVybigwLG4uYXNzZXJ0KSgwIT09ZS5sZW5ndGgsInBsb3Qgcm93cyBzaG91bGQgbm90IGJlIGVtcHR5IiksdGhpcy5faW52YWxpZGF0ZVNlYXJjaENhY2hlcygpLHRoaXMuX21pbk1heENhY2hlLmNsZWFyKCksdGhpcy5faXRlbXM9ZnVuY3Rpb24oZSx0KXtjb25zdCByPWZ1bmN0aW9uKGUsdCl7Y29uc3Qgcj1lLmxlbmd0aCxuPXQubGVuZ3RoO2xldCBpPXIrbixzPTAsYT0wO2Zvcig7czxyJiZhPG47KWVbc10uaW5kZXg8dFthXS5pbmRleD9zKys6ZVtzXS5pbmRleD50W2FdLmluZGV4P2ErKzoocysrLGErKyxpLS0pO3JldHVybiBpfShlLHQpLG49bmV3IEFycmF5KHIpO2xldCBpPTAscz0wO2NvbnN0IGE9ZS5sZW5ndGgsbz10Lmxlbmd0aDtsZXQgbD0wO2Zvcig7aTxhJiZzPG87KWVbaV0uaW5kZXg8dFtzXS5pbmRleD8obltsXT1lW2ldLGkrKyk6ZVtpXS5pbmRleD50W3NdLmluZGV4PyhuW2xdPXRbc10scysrKToobltsXT10W3NdLGkrKyxzKyspLGwrKztmb3IoO2k8YTspbltsXT1lW2ldLGkrKyxsKys7Zm9yKDtzPG87KW5bbF09dFtzXSxzKyssbCsrO3JldHVybiBufSh0aGlzLl9pdGVtcyxlKSx0aGlzLl9zdGFydD0wLHRoaXMuX2VuZD10aGlzLl9pdGVtcy5sZW5ndGgsZVswXX1fbWluTWF4T25SYW5nZUNhY2hlZEltcGwoZSx0LHIpe2lmKHRoaXMuaXNFbXB0eSgpKXJldHVybiBudWxsO2xldCBpPW51bGw7Y29uc3Qgcz0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuZmlyc3RJbmRleCgpKSxhPSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5sYXN0SW5kZXgoKSksbz1NYXRoLm1heChlLHMpLGw9TWF0aC5taW4odCxhKSxkPU1hdGguY2VpbChvL3UpKnUsYz1NYXRoLm1heChkLE1hdGguZmxvb3IobC91KSp1KTtpPWYoaSx0aGlzLl9taW5NYXhPblJhbmdlKG8sTWF0aC5taW4oZCx0LGwpLHIpKTtsZXQgaD10aGlzLl9taW5NYXhDYWNoZS5nZXQocik7dm9pZCAwPT09aCYmKGg9bmV3IE1hcCx0aGlzLl9taW5NYXhDYWNoZS5zZXQocixoKSk7Zm9yKGxldCBlPU1hdGgubWF4KGQrMSxvKTtlPGM7ZSs9dSl7Y29uc3QgdD1NYXRoLmZsb29yKGUvdSk7bGV0IG49aC5nZXQodCk7aWYodm9pZCAwPT09bil7Y29uc3QgZT10KnUsaT0odCsxKSp1LTE7bj10aGlzLl9taW5NYXhPblJhbmdlKGUsaSxyKSxoLnNldCh0LG4pfWk9ZihpLG4pfWk9ZihpLHRoaXMuX21pbk1heE9uUmFuZ2UoYyxsLHIpKTtyZXR1cm4gaX1fbWluTWF4T25SYW5nZShlLHQscil7cmV0dXJuIHRoaXMuX3Bsb3RNaW5NYXgodGhpcy5fbG93ZXJib3VuZChlLGQpLHRoaXMuX3VwcGVyYm91bmQodCkscil9X3JhbmdlSXRlcmF0b3JJbXBsKGUsdCl7bGV0IHI9ZS0xO3JldHVybntbU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiB0aGlzfSxuZXh0OigpPT4ocis9MSxyPj10P3tkb25lOiEwLHZhbHVlOnZvaWQgMH06e2RvbmU6ITEsdmFsdWU6dGhpcy5faXRlbXNbcl19KX19X2ludmFsaWRhdGVTZWFyY2hDYWNoZXMoKXsKdGhpcy5fcm93U2VhcmNoQ2FjaGVCeUluZGV4LmNsZWFyKCksdGhpcy5fcm93U2VhcmNoQ2FjaGVCeUluZGV4V2l0aG91dEVtcHR5VmFsdWVzLmNsZWFyKCksdGhpcy5fcm93U2VhcmNoQ2FjaGVCeVRpbWUuY2xlYXIoKSx0aGlzLl9yb3dTZWFyY2hDYWNoZUJ5VGltZVdpdGhvdXRFbXB0eVZhbHVlcy5jbGVhcigpfX1mdW5jdGlvbiBmKGUsdCl7aWYobnVsbD09PWUpcmV0dXJuIHQ7aWYobnVsbD09PXQpcmV0dXJuIGU7cmV0dXJue21pbjpNYXRoLm1pbihlLm1pbix0Lm1pbiksbWF4Ok1hdGgubWF4KGUubWF4LHQubWF4KX19fSw2MTkxNjUoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7U2VyaWVzRGF0YTooKT0+Zn0pO3ZhciBuLGkscz1yKDEzODYzOCksYT1yKDg1NzE1MSksbz1yKDQ3NTQ3OCk7IWZ1bmN0aW9uKGUpe2VbZS5Gcm9tTGVmdD0tMV09IkZyb21MZWZ0IixlW2UuRnJvbVJpZ2h0PTFdPSJGcm9tUmlnaHQifShufHwobj17fSkpLGZ1bmN0aW9uKGUpe2VbZS5UaW1lPTBdPSJUaW1lIixlW2UuT3Blbj0xXT0iT3BlbiIsZVtlLkhpZ2g9Ml09IkhpZ2giLGVbZS5Mb3c9M109IkxvdyIsZVtlLkNsb3NlPTRdPSJDbG9zZSIsZVtlLlZvbHVtZT01XT0iVm9sdW1lIixlW2UuQWR0PTZdPSJBZHQifShpfHwoaT17fSkpO2NvbnN0IGw9WyJvcGVuIiwiaGlnaCIsImxvdyIsImNsb3NlIiwiaGwyIiwiaGxjMyIsIm9obGM0Il07dmFyIHU7IWZ1bmN0aW9uKGUpe2VbZS5GaXJzdFByaWNlPTBdPSJGaXJzdFByaWNlIixlW2UuTGFzdFByaWNlPTFdPSJMYXN0UHJpY2UiLGVbZS5MYXN0VmFsdWVQcmljZT0yXT0iTGFzdFZhbHVlUHJpY2UifSh1fHwodT17fSkpO2NvbnN0IGQ9e29wZW46ZT0+ZVsxXSxoaWdoOmU9PmVbMl0sbG93OmU9PmVbM10sY2xvc2U6ZT0+ZVs0XSxobDI6ZT0+KGVbMl0rZVszXSkvMixobGMzOmU9PihlWzJdK2VbM10rZVs0XSkvMyxvaGxjNDplPT4oZVsxXStlWzJdK2VbM10rZVs0XSkvNH07ZnVuY3Rpb24gYygpe2NvbnN0IGU9bmV3IE1hcDtyZXR1cm4gbC5mb3JFYWNoKCgodCxyKT0+e2Uuc2V0KHQsZnVuY3Rpb24oZSx0LHIpe2NvbnN0IG49ZFt0Pz9lXSxpPWRbZV0scz1kW3I/P2VdO3JldHVybihlLHQpPT57c3dpdGNoKHQpe2Nhc2UgMDpyZXR1cm4gbihlKTtjYXNlIDI6cmV0dXJuIHMoZSk7ZGVmYXVsdDpyZXR1cm4gaShlKX19fSh0KSl9KSksZX1mdW5jdGlvbiBoKGUsdCl7cmV0dXJuIG51bGw9PWVbdF19Y2xhc3MgZntjb25zdHJ1Y3Rvcigpe3RoaXMubV9iYXJzPW5ldyBhLlBsb3RMaXN0KGMoKSxoKSx0aGlzLm1fbnNCYXJzPW5ldyBhLlBsb3RMaXN0KGMoKSxoKSx0aGlzLl9jb25mbGF0ZWRDaHVua3NCdWlsZGVyPW5ldyBvLkNvbmZsYXRlZENodW5rc0J1aWxkZXIodGhpcy5tX2JhcnMsKGU9PmRbZV0pKX1iYXJzKCl7cmV0dXJuIHRoaXMubV9iYXJzfW5zQmFycygpe3JldHVybiB0aGlzLm1fbnNCYXJzfWNvbmZsYXRlZENodW5rcyhlLHQpe3JldHVybiB0aGlzLl9jb25mbGF0ZWRDaHVua3NCdWlsZGVyLmNvbmZsYXRlZENodW5rcyhlLHQpfW1lcmdlUmVndWxhckJhcnMoZSl7cmV0dXJuIHRoaXMuX2NvbmZsYXRlZENodW5rc0J1aWxkZXIubWVyZ2VEYXRhKGUpfXNpemUoKXtyZXR1cm4gdGhpcy5tX2JhcnMuc2l6ZSgpK3RoaXMubV9uc0JhcnMuc2l6ZSgpfWVhY2goZSl7dGhpcy5tX2JhcnMuZWFjaChlKSx0aGlzLm1fbnNCYXJzLmVhY2goZSl9Y2xlYXIoKXt0aGlzLm1fbnNCYXJzLmNsZWFyKCksdGhpcy5sYXN0UHJvamVjdGlvblByaWNlPXZvaWQgMCx0aGlzLl9jb25mbGF0ZWRDaHVua3NCdWlsZGVyLmNsZWFyRGF0YSgpfWNsb25lKCl7Y29uc3QgZT1uZXcgZjtyZXR1cm4gZS5sYXN0UHJvamVjdGlvblByaWNlPXRoaXMubGFzdFByb2plY3Rpb25QcmljZSxlLmJveFNpemU9dGhpcy5ib3hTaXplLGUucmV2ZXJzYWxBbW91bnQ9dGhpcy5yZXZlcnNhbEFtb3VudCxlLm1fYmFycz10aGlzLm1fYmFycy5jbG9uZSgpLGUubV9uc0JhcnM9dGhpcy5tX2JhcnMuY2xvbmUoKSxlfWlzRW1wdHkoKXtyZXR1cm4gdGhpcy5tX2JhcnMuaXNFbXB0eSgpJiZ0aGlzLm1fbnNCYXJzLmlzRW1wdHkoKX1maXJzdCgpe3JldHVybiB0aGlzLm1fYmFycy5pc0VtcHR5KCk/dGhpcy5tX25zQmFycy5maXJzdCgpOnRoaXMubV9iYXJzLmZpcnN0KCl9bGFzdCgpe3JldHVybiB0aGlzLm1fbnNCYXJzLmlzRW1wdHkoKT90aGlzLm1fYmFycy5sYXN0KCk6dGhpcy5tX25zQmFycy5sYXN0KCl9c2VhcmNoKGUsdCxyKXtyZXR1cm4gdGhpcy5uc0JhcnMoKS5pc0VtcHR5KCk/dGhpcy5iYXJzKCkuc2VhcmNoKGUsdCxyKTp0aGlzLmJhcnMoKS5pc0VtcHR5KCl8fCgwLHMuZW5zdXJlTm90TnVsbCkodGhpcy5uc0JhcnMoKS5maXJzdEluZGV4KCkpPD1lP3RoaXMubnNCYXJzKCkuc2VhcmNoKGUsdCxyKTp0aGlzLmJhcnMoKS5zZWFyY2goZSx0LHIpfXZhbHVlQXQoZSl7Y29uc3QgdD10aGlzLnNlYXJjaChlKTtyZXR1cm4gbnVsbCE9PXQ/dC52YWx1ZTpudWxsfXBsb3RWYWx1ZVRvVGltZVBvaW50SW5kZXgoZSx0LHIpe2lmKHI9PT1uLkZyb21SaWdodCl7Y29uc3Qgcj0ocixuKT0+e2NvbnN0IGk9blt0XTtyZXR1cm4gbnVsbCE9aSYmZT49aX0sbj10aGlzLm1fYmFycy5maW5kTGFzdChyKTtpZihudWxsIT09bilyZXR1cm4gbi5pbmRleDtjb25zdCBpPXRoaXMubV9uc0JhcnMuZmluZExhc3Qocik7cmV0dXJuIG51bGwhPT1pP2kuaW5kZXg6dGhpcy5tX2JhcnMuZmlyc3RJbmRleCgpfWlmKHI9PT1uLkZyb21MZWZ0KXtjb25zdCByPShyLG4pPT57Y29uc3QgaT1uW3RdO3JldHVybiBudWxsIT1pJiZlPD1pfSxuPXRoaXMubV9iYXJzLmZpbmRGaXJzdChyKTtpZihudWxsIT09bilyZXR1cm4gbi5pbmRleDtjb25zdCBpPXRoaXMubV9uc0JhcnMuZmluZEZpcnN0KHIpO3JldHVybiBudWxsIT09aT9pLmluZGV4OnRoaXMubV9iYXJzLmxhc3RJbmRleCgpfXRocm93IG5ldyBFcnJvcigicGxvdFZhbHVlVG9UaW1lUG9pbnRJbmRleDogdW5zdXBwb3J0ZWQgc2VhcmNoIG1vZGUiKX1tb3ZlRGF0YShlKXt0aGlzLl9jb25mbGF0ZWRDaHVua3NCdWlsZGVyLm1vdmVEYXRhKGUpLHRoaXMubV9uc0JhcnMubW92ZShlKX19fSwKNzczMDg4KGUsdCxyKXsidXNlIHN0cmljdCI7dmFyIG47ZnVuY3Rpb24gaShlLHQpe3JldHVybiJwZXJpb2QtYmFjayI9PT1lLnR5cGUmJiJwZXJpb2QtYmFjayI9PT10LnR5cGU/ZS52YWx1ZT09PXQudmFsdWU6InRpbWUtcmFuZ2UiPT09ZS50eXBlJiYidGltZS1yYW5nZSI9PT10LnR5cGUmJihlLmZyb209PT10LmZyb20mJmUudG89PT10LnRvKX1mdW5jdGlvbiBzKGUsdD0hMSl7aWYoInBlcmlvZC1iYWNrIj09PWUudHlwZSl7bGV0IHI9ZS52YWx1ZTtyZXR1cm4gdCYmIllURCIhPT1yJiYiRCI9PT1yLnNsaWNlKC0xKSYmKHI9ci5zbGljZSgwLC0xKSkscn1yZXR1cm4iciwiK2UuZnJvbSsiOiIrZS50b31mdW5jdGlvbiBhKGUpe2NvbnN0IHQ9L3IsKFxkKyk6KFxkKykvLmV4ZWMoZSk7cmV0dXJuIG51bGwhPT10P3tmcm9tOk51bWJlcih0WzFdKSx0bzpOdW1iZXIodFsyXSksdHlwZToidGltZS1yYW5nZSJ9Ont2YWx1ZTplLHR5cGU6InBlcmlvZC1iYWNrIn19ci5kKHQse2FyZUVxdWFsVGltZUZyYW1lczooKT0+aSxjb252ZXJ0U3RyVG9UaW1lRnJhbWU6KCk9PmEsY29udmVydFRpbWVGcmFtZVRvU3RyOigpPT5zfSksZnVuY3Rpb24oZSl7ZS5QZXJpb2RCYWNrPSJwZXJpb2QtYmFjayIsZS5UaW1lUmFuZ2U9InRpbWUtcmFuZ2UifShufHwobj17fSkpfSw4MTA0MShlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtTdGRUaGVtZTooKT0+bi5TdGRUaGVtZX0pO3ZhciBuPXIoMjQ3OTAxKX0sNDA3Nzk5KGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse2VuY29kZUV4dGVuZGVkU3ltYm9sT3JHZXRTaW1wbGVTeW1ib2xTdHJpbmc6KCk9Pml9KTt2YXIgbj1yKDExMTk1Myk7ZnVuY3Rpb24gaShlKXtyZXR1cm4oMCxuLmVuY29kZUV4dGVuZGVkU3ltYm9sU3RydWN0dXJhbCkoZSl9fSwzMTQ5MTQoZSx0LHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDg1Mjk4MCksaT1yKDkzMDIzMSk7Y29uc3Qgcz0oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJwYXlfYXR0ZW50aW9uX3RvX3RpY2tlcl9ub3Rfc3ltYm9sIiksYT0oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJjaGFydGluZ19saWJyYXJ5X3NpbmdsZV9zeW1ib2xfcmVxdWVzdCIpLG89KDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgidXNlX3RpY2tlcl9vbl9zeW1ib2xfaW5mb191cGRhdGUiKSxsPSgwLGkuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIik7bi5leHRyYWN0U3ltYm9sTmFtZUZyb21TeW1ib2xJbmZvLmJpbmQobnVsbCx7cGF5QXR0ZW50aW9uVG9UaWNrZXJOb3RTeW1ib2w6cyxjaGFydGluZ0xpYnJhcnlTaW5nbGVTeW1ib2xSZXF1ZXN0OmEsdXNlVGlja2VyT25TeW1ib2xJbmZvVXBkYXRlOm8sdXBwZXJjYXNlSW5zdHJ1bWVudE5hbWVzOmx9KX0sNTgwMzcoZSx0LHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbixpOyFmdW5jdGlvbihlKXtlW2UuT2ZmbGluZT0wXT0iT2ZmbGluZSIsZVtlLlJlc29sdmluZz0xXT0iUmVzb2x2aW5nIixlW2UuTG9hZGluZz0yXT0iTG9hZGluZyIsZVtlLlJlYWR5PTNdPSJSZWFkeSIsZVtlLkludmFsaWRTeW1ib2w9NF09IkludmFsaWRTeW1ib2wiLGVbZS5TbmFwc2hvdD01XT0iU25hcHNob3QiLGVbZS5FT0Q9Nl09IkVPRCIsZVtlLlB1bHNlPTddPSJQdWxzZSIsZVtlLkRlbGF5ZWQ9OF09IkRlbGF5ZWQiLGVbZS5EZWxheWVkU3RlYW1pbmc9OV09IkRlbGF5ZWRTdGVhbWluZyIsZVtlLk5vQmFycz0xMF09Ik5vQmFycyIsZVtlLlJlcGxheT0xMV09IlJlcGxheSIsZVtlLkVycm9yPTEyXT0iRXJyb3IiLGVbZS5DYWxjdWxhdGlvbkVycm9yPTEzXT0iQ2FsY3VsYXRpb25FcnJvciIsZVtlLlVuc3VwcG9ydGVkUmVzb2x1dGlvbj0xNF09IlVuc3VwcG9ydGVkUmVzb2x1dGlvbiJ9KG58fChuPXt9KSksZnVuY3Rpb24oZSl7ZVtlLk1hcmtlcnM9MF09Ik1hcmtlcnMiLGVbZS5TdGVwbGluZT0xXT0iU3RlcGxpbmUiLGVbZS5TaW1wbGU9Ml09IlNpbXBsZSJ9KGl8fChpPXt9KSl9LDgzNzIwMyhlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtTZXJpZXNEYXRhU291cmNlOigpPT5uLlNlcmllc0RhdGFTb3VyY2V9KTt2YXIgbj1yKDkzNTI0MCksaT1yKDExMTk1Mykscz1yKDg1NjU2KSxhPXIoOTMwMjMxKTtuLlNlcmllc0RhdGFTb3VyY2Uuc2V0Tm9uU2VyaWVzRGF0YVVucGFja2VyKHMudW5wYWNrTm9uU2VyaWVzRGF0YUNvbXByZXNzZWQpLG4uU2VyaWVzRGF0YVNvdXJjZS5zZXRTeW1ib2xFbmNvZGVyKGkuZW5jb2RlRXh0ZW5kZWRTeW1ib2xTdHJ1Y3R1cmFsKSxuLlNlcmllc0RhdGFTb3VyY2Uuc2V0RXh0cmFjdFN5bWJvbEZlYXR1cmVzZXRzKHtwYXlBdHRlbnRpb25Ub1RpY2tlck5vdFN5bWJvbDooMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJwYXlfYXR0ZW50aW9uX3RvX3RpY2tlcl9ub3Rfc3ltYm9sIiksY2hhcnRpbmdMaWJyYXJ5U2luZ2xlU3ltYm9sUmVxdWVzdDooMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJjaGFydGluZ19saWJyYXJ5X3NpbmdsZV9zeW1ib2xfcmVxdWVzdCIpLHVzZVRpY2tlck9uU3ltYm9sSW5mb1VwZGF0ZTooMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1c2VfdGlja2VyX29uX3N5bWJvbF9pbmZvX3VwZGF0ZSIpLHVwcGVyY2FzZUluc3RydW1lbnROYW1lczooMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1cHBlcmNhc2VfaW5zdHJ1bWVudF9uYW1lcyIpfSl9LDc3NzY2MShlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtzdHVkeVRwb1ByZXJpb2RpY0lkOigpPT5uLHN0dWR5VHBvU2Vzc2lvbnNJZDooKT0+aX0pO2NvbnN0IG49IlRQT1BlcmlvZGljQHR2LXZvbHVtZWJ5cHJpY2UiLGk9IlRQT1Nlc3Npb25zQHR2LXZvbHVtZWJ5cHJpY2UifSw3Mjg0MzYoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7c3R1ZHlWb2xGb290cHJpbnRJZDooKT0+bn0pO2NvbnN0IG49IkZvb3RwcmludEB0di12b2x1bWVieXByaWNlIn0sNTUwMzkzKGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse3N0dWR5VmJQU2Vzc2lvbnNJZDooKT0+bn0pO2NvbnN0IG49IlZiUFNlc3Npb25zQHR2LXZvbHVtZWJ5cHJpY2UifSw1OTE3NDEoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7CmdldFRpbWVGb3JtYXRGb3JJbnRlcnZhbDooKT0+aX0pO3ZhciBuPXIoMjM4MTAzKTtmdW5jdGlvbiBpKGUsdCl7aWYoZS5pc1JhbmdlKCkpcmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiIxMi1ob3VycyI9PT1lP24udHdlbHZlSG91ck1pbnV0ZU5vblplcm9TZWNvbmRGb3JtYXQ6bi5ob3VyTWludXRlTm9uWmVyb1NlY29uZEZvcm1hdH0odCk7aWYoZS5pc1RpY2tzKCkpcmV0dXJuIG4uaG91ck1pbnV0ZVNlY29uZE1pbGxpc2VjRm9ybWF0O3JldHVybiBlLmlzU2Vjb25kcygpfHxlLmlzVGlja3MoKT9mdW5jdGlvbihlKXtyZXR1cm4iMTItaG91cnMiPT09ZT9uLnR3ZWx2ZUhvdXJNaW51dGVTZWNvbmRGb3JtYXQ6bi5ob3VyTWludXRlU2Vjb25kRm9ybWF0fSh0KTpmdW5jdGlvbihlKXtyZXR1cm4iMTItaG91cnMiPT09ZT9uLnR3ZWx2ZUhvdXJNaW51dGVGb3JtYXQ6bi5ob3VyTWludXRlRm9ybWF0fSh0KX19LDg3MzU3MyhlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHthcHBseUFscGhhOigpPT5zLGFwcGx5VHJhbnNwYXJlbmN5OigpPT5vLGdlbmVyYXRlQ29sb3I6KCk9PmkscmVzZXRUcmFuc3BhcmVuY3k6KCk9Pmx9KTt2YXIgbj1yKDEzNDY3KTtmdW5jdGlvbiBpKGUsdCxyKXtpZih0PXR8fDAsIXUoZSkpcmV0dXJuIHI/KDAsbi5yZ2JhVG9TdHJpbmcpKCgwLG4ucmdiYSkoKDAsbi5wYXJzZVJnYikoZSksKDAsbi5ub3JtYWxpemVBbHBoYUNvbXBvbmVudCkoYSh0KSkpKTplO2NvbnN0W2kscyxvXT0oMCxuLnBhcnNlUmdiKShlKSxsPSgwLG4ubm9ybWFsaXplQWxwaGFDb21wb25lbnQpKGEodCkpO3JldHVybigwLG4ucmdiYVRvU3RyaW5nKShbaSxzLG8sbF0pfWZ1bmN0aW9uIHMoZSx0LHIpe2NvbnN0IGk9KDAsbi50cnlQYXJzZVJnYmEpKGUpO2lmKG51bGw9PT1pKXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb2xvcjogJHtlfWApO2NvbnN0W3MsYSxvLGxdPWksdT0oMCxuLm5vcm1hbGl6ZUFscGhhQ29tcG9uZW50KSh0KihyP2w6MSkpO3JldHVybigwLG4ucmdiYVRvU3RyaW5nKSgoMCxuLnJnYmEpKFtzLGEsb10sdSkpfWZ1bmN0aW9uIGEoZSl7aWYoZTwwfHxlPjEwMCl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgdHJhbnNwYXJlbmN5Iik7cmV0dXJuIDEtZS8xMDB9ZnVuY3Rpb24gbyhlLHQpe2lmKCJ0cmFuc3BhcmVudCI9PT1lKXJldHVybiBlO2NvbnN0IHI9KDAsbi5wYXJzZVJnYmEpKGUpLGk9clszXTtyZXR1cm4oMCxuLnJnYmFUb1N0cmluZykoKDAsbi5yZ2JhKShyWzBdLHJbMV0sclsyXSxhKHQpKmkpKX1mdW5jdGlvbiBsKGUpe3JldHVybiJ0cmFuc3BhcmVudCI9PT1lP2U6dShlKT9lLnNsaWNlKDAsNyk6KDAsbi5yZ2JhVG9TdHJpbmcpKCgwLG4ucmdiYSkoKDAsbi5wYXJzZVJnYikoZSksKDAsbi5ub3JtYWxpemVBbHBoYUNvbXBvbmVudCkoMSkpKX1mdW5jdGlvbiB1KGUpe3JldHVybiAwPT09ZS5pbmRleE9mKCIjIil9fX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/12181.b65a58355ff7cc34950f.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.024Z","timestamp":1785120634024,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/12181.b65a58355ff7cc34950f.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a44af20-21c82\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 01 Jul 2026 06:09:36 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/01/2026 11:40:37\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 966654269a3265fa0349d91e09aafa19\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":138370,"size_decoded":18187,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (3070)","md5":"90cd4a18a60bc908d0840ba4fec27dc6","sha1":"bb5de7eba54b0d9323f872960612df642a27716e","sha256":"ae043b44480c283e0e50b84e353fe3e98e560fb8f9bd14638f61a5dfadc231ba","sha512":"1ff83bc8bcac42839140d927da7b753dc51b3ab887327bf07fef3ca3b194425621ed7376ef404517f818a80b9f3d96955fd5c9239c1dc05e599503f7118edc99","ssdeep":"1536:U4ecrc2hMNlbPWqfxN+fUE44ld4e44IJmuJY7+fHfvWr05KNyhLcSbWd4+o:4CxdswjaWyn","tlshash":"10d345b217f406f473b80d5293f77e591b3c74a359882c52d2a4d9a0dd40fc2a96ba3e","first_seen":"2026-07-01T19:46:28.364877Z","last_seen":"2026-07-27T05:29:38.658636Z","times_seen":853,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxMjE4MV0sezcxMjE4MShlKXtlLmV4cG9ydHMudHpEYXRhPXsiQWZyaWNhL0NhaXJvIjp7dGltZTpbLTIxODU0MDE2MDAsLTkyOTgzNjgwMCwtOTIzMDk3NjAwLC05MDYxNjMyMDAsLTg5Mjg1NzYwMCwtODc1ODM2ODAwLC04NTc3NzkyMDAsLTg0NDMwMDgwMCwtODI1ODExMjAwLC04MTI2Nzg0MDAsLTc5NDE4ODgwMCwtNzc5ODQ2NDAwLC03NjI2NTI4MDAsLTM5OTA4MTYwMCwtMzg2NjRlNCwtMzY4MzIzMjAwLC0zNTUxMDRlMywtMzM2NzgzNjAwLC0zMjM2NDM2MDAsLTMwNTE2MTIwMCwtMjkyMDIxMjAwLC0yNzM2MjUyMDAsLTI2MDQ4NTIwMCwtMjQyMDg5MjAwLC0yMjg5NDkyMDAsLTIxMDU1MzIwMCwtMTk3NDEzMjAwLC0xNzg5MzA4MDAsLTE2NTc5MDgwMCwtMTQ3Mzk0ODAwLC0xMzQyNTQ4MDAsLTExNTg1ODgwMCwtMTAyNjMyNDAwLC04NDMyMjgwMCwtNzEwOTY0MDAsLTUyNzAwNDAwLC0zOTQ3NGUzLC0yMTE2NDQwMCwtNzkzOGUzLDEwMzcxNjAwLDIzNTk4ZTMsNDE5MDc2MDAsNTUxMzRlMyw3MzUzZTQsODY3NTY0MDAsMTA1MDY2ZTMsMTE4MjkyNDAwLDEzNjYwMmUzLDE0OTgyODQwMCwxNjgxMzhlMywxODEzNjQ0MDAsMTk5NzYwNDAwLDIxMjk4NjgwMCwyMzEyOTY0MDAsMjQ0NTIyODAwLDI2MjgzMjQwMCwyNzYwNTg4MDAsMjk0MzY4NDAwLDMwNzU5NDgwMCwzMjU5OTA4MDAsMzM5MjE3MjAwLDM1NzUyNjgwMCwzNzA3NTMyMDAsMzk2NDA2ODAwLDQwMjI4OTIwMCw0MjY4MTk2MDAsNDMzODI1MjAwLDQ1MjIyMTIwMCw0NjU0NDc2MDAsNDgzNzU3MjAwLDQ5Njk4MzYwMCw1MTUyOTMyMDAsNTI4NTE5NjAwLDU0NjgyOTIwMCw1NjAwNTU2MDAsNTc4NDUxNjAwLDU5MTY3OGUzLDYxMDQxOTYwMCw2MjMyMTRlMyw2NDE1MjM2MDAsNjU0NzVlNCw2NzMwNTk2MDAsNjg2Mjg2ZTMsNzA0NjgyZTMsNzE3OTA4NDAwLDczNjIxOGUzLDc0OTQ0NDQwMCw3Njc3NTRlMyw3ODA5ODA0MDAsNzk5MDI3MjAwLDgxMjMzMjgwMCw4MzA0NzY4MDAsODQzNzgyNDAwLDg2MTkyNjQwMCw4NzUyMzJlMyw4OTMzNzZlMyw5MDY2ODE2MDAsOTI1NDMwNDAwLDkzODczNmUzLDk1Njg4ZTQsOTcwMTg1NjAwLDk4ODMyOTYwMCwxMDAxNjM1MjAwLDEwMTk3NzkyMDAsMTAzMzA4NDgwMCwxMDUxMjI4ODAwLDEwNjQ1MzQ0MDAsMTA4MzI4MzIwMCwxMDk2NTg4ODAwLDExMTQ3MzI4MDAsMTEyODAzODQwMCwxMTQ2MTgyNDAwLDExNTg4ODMyMDAsMTE3NzYzMmUzLDExODkxMjMyMDAsMTIwOTA4MTYwMCwxMjE5OTY4ZTMsMTI0MDUzMTIwMCwxMjUwODEyODAwLDEyNzI1ODU2MDAsMTI4MTQ4NDgwMCwxMjg0MDc2ODAwLDEyODU4OTEyMDAsMTQwMDE5ODQwMCwxNDAzODI3MjAwLDE0MDY4NTEyMDAsMTQxMTY4OTYwMCwxNjgyNjRlNCwxNjk4MzY0ODAwLDE3MTQwODk2MDAsMTczMDQxOTIwMCwxNzQ1NTM5MjAwLDE3NjE4Njg4MDAsMTc3Njk4ODgwMCwxNzkzMzE4NDAwLDE4MDkwNDMyMDAsMTgyNDc2OGUzLDE4NDA0OTI4MDAsMTg1NjIxNzYwMCwxODcxOTQyNDAwLDE4ODc2NjcyMDAsMTkwMzM5MmUzLDE5MTk3MjE2MDAsMTkzNDg0MTYwMF0sb2Zmc2V0Ols3NTA5LDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwXX0sIkFmcmljYS9DYXNhYmxhbmNhIjp7CnRpbWU6Wy0xNzczMDE0NDAwLC05NTYzNjE2MDAsLTk1MDQ4NjQwMCwtOTQyMDE5MjAwLC03NjExODRlMywtNjE3MjQxNjAwLC02MDUxNDU2MDAsLTgxNDMyZTMsLTcxMTA3MjAwLDE0MTI2NGUzLDE0NzIyNTYwMCwxOTk3NTY4MDAsMjA3NzA1NjAwLDIzMTI5MjgwMCwyNDQyNTI4MDAsMjY1NTA3MjAwLDI3MTAzNjgwMCw0NDgyNDMyMDAsNTA0OTIxNjAwLDEyMTIyNzg0MDAsMTIyMDIyNzIwMCwxMjQzODE0NDAwLDEyNTA4MTI4MDAsMTI3Mjc1ODQwMCwxMjgxMjI1NjAwLDEzMDE3ODg4MDAsMTMxMjA3MDQwMCwxMzM1NjY0ODAwLDEzNDI3NTMyMDAsMTM0NTQyOGUzLDEzNDg5NzRlMywxMzY3MTE0NDAwLDEzNzMxNjZlMywxMzc2MWU1LDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDAzOTI0NDAwLDE0MDY5NDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0MzQyNTA4MDAsMTQzNzI3MTIwMCwxNDQ1NzQyZTMsMTQ1OTA0NGUzLDE0NjUwOTU2MDAsMTQ2ODExNmUzLDE0Nzc3OTY0MDAsMTQ5MDQ5MzYwMCwxNDk1MzM1NjAwLDE0OTg5NjA4MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTUyNjE4MDQwMCwxNTI5MjAwODAwLDE1NDA2OTU2MDAsMTU1NzAyNTIwMCwxNTYwMDQ1NjAwLDE1ODcyNjUyMDAsMTU5MDg5MDQwMCwxNjE4MTFlNCwxNjIxMTMwNDAwLDE2NDgzNWU0LDE2NTE5NzUyMDAsMTY3OTE5NDgwMCwxNjgyMjE1MjAwLDE3MTAwMzk2MDAsMTcxMzA2ZTQsMTc0MDI3OTYwMCwxNzQzOTA0ODAwLDE3NzExMjQ0MDAsMTc3NDE0NDgwMCwxODAxOTY5MjAwLDE4MDQ5ODk2MDAsMTgzMjIwOTIwMCwxODM1ODM0NDAwLDE4NjMwNTRlMywxODY2MDc0NDAwLDE4OTMyOTRlMywxODk2OTE5MjAwLDE5MjQxMzg4MDAsMTkyNzE1OTIwMF0sb2Zmc2V0OlstMTgyMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDBdfSwiQWZyaWNhL0pvaGFubmVzYnVyZyI6e3RpbWU6Wy0yNDU4MTY2NDAwLC0yMTA5MjgzMjAwLC04NjA5Njg4MDAsLTg0NTI0NGUzLC04Mjk1MTkyMDAsLTgxMzc5NDQwMCwxOTI0OTk5MjAwXSxvZmZzZXQ6WzY3MjAsNTQwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJBZnJpY2EvTGFnb3MiOnt0aW1lOlstMjAzNTU4NGUzLC0xOTQwODg5NjAwLC0xNzY3MjI1NjAwLC0xNTg4NDY0ZTMsMTkyNDk5NTYwMF0sb2Zmc2V0Ols4MTUsMCw4MTUsMTgwMCwzNjAwXX0sIkFmcmljYS9OYWlyb2JpIjp7dGltZTpbLTE5NDYxNmU0LC0xMzA5NzM3NjAwLC0xMjYxOTU4NDAwLC0xMDQxMzc5MjAwLC04NjUyOTZlMywxOTI1MDAyODAwXSxvZmZzZXQ6Wzg4MzYsOWUzLDEwODAwLDllMyw5OTAwLDEwODAwXX0sIkFmcmljYS9UdW5pcyI6e3RpbWU6Wy0yNzk3MmU1LC0xODU1OTU4NDAwLC05NjkyMzg4MDAsLTk1MDQ4NjQwMCwtOTQxOTM2NDAwLC04OTExMjk2MDAsLTg3NzgyNGUzLC04NTcyNWU0LC04NDQ1NTI4MDAsLTg0MjkxMTIwMCwtODQyMjJlNCwtODI4MjIzMjAwLC04MTI0OTg0MDAsLTc5NjI2MjQwMCwtNzgxMDQ4ODAwLC03NjY2MjcyMDAsMjMxMjA2NDAwLDI0MzkxMDgwMCwyNjI4Mjg4MDAsMjc2MDUxNjAwLDU4MTEyNjQwMCw1OTExNTI0MDAsNjA2ODczNjAwLDYyMjYwMmUzLDY0MTUyZTQsNjU0NjU2NDAwLDExMTQ5MDU2MDAsMTEyODA0NTYwMCwxMTQzMzM4NDAwLDExNjIwOTA4MDAsMTE3NDc4OGUzLDExOTM1NDA0MDAsMTIwNjg0MjQwMCwxMjI0OTllNCwxOTI0OTk1NjAwXSxvZmZzZXQ6WzI0NDQsNTYxLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkFtZXJpY2EvQW5jaG9yYWdlIjp7CnRpbWU6Wy0zMjI1MTczMzAzLC0yMTg4OTg3MjAwLC04ODAyMzZlMywtNzY5NDI4ZTMsLTc2NTQxMDQwMCwtODY5MTg0MDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDM4OTk4NDAwLDQ1MjA1MmUzLDQ2Nzc3NjgwMCw0ODM1MDE2MDAsNDk5MjI2NDAwLDUxNDk1MTIwMCw1MzA2NzZlMyw1NDQ1ODY0MDAsNTYyMTI1NjAwLDU3NjAzNmUzLDU5NDE4ZTQsNjA3NDg1NjAwLDYyNTYyOTYwMCw2Mzg5MzUyMDAsNjU3MDc5MjAwLDY3MDk4OTYwMCw2ODg1Mjg4MDAsNzAyNDM5MjAwLDcxOTk3ODQwMCw3MzM4ODg4MDAsNzUyMDMyODAwLDc2NTMzODQwMCw3ODM0ODI0MDAsNzk2Nzg4ZTMsODE0OTMyZTMsODI4ODQyNDAwLDg0NjM4MTYwMCw4NjAyOTJlMyw4Nzc4MzEyMDAsODkxNzQxNjAwLDkwOTI4MDgwMCw5MjMxOTEyMDAsOTQxMzM1MjAwLDk1NDY0MDgwMCw5NzI3ODQ4MDAsOTg2MDkwNDAwLDEwMDQyMzQ0MDAsMTAxODE0NDgwMCwxMDM1Njg0ZTMsMTA0OTU5NDQwMCwxMDY3MTMzNjAwLDEwODEwNDRlMywxMDk5MTg4ZTMsMTExMjQ5MzYwMCwxMTMwNjM3NjAwLDExNDM5NDMyMDAsMTE2MjA4NzIwMCwxMTczNTc4NDAwLDExOTQxNDE2MDAsMTIwNTAyOGUzLDEyMjU1OTEyMDAsMTIzNjQ3NzYwMCwxMjU3MDQwODAwLDEyNjg1MzJlMywxMjg5MDk1MjAwLDEyOTk5ODE2MDAsMTMyMDU0NDgwMCwxMzMxNDMxMjAwLDEzNTE5OTQ0MDAsMTM2Mjg4MDgwMCwxMzgzNDQ0ZTMsMTM5NDMzMDQwMCwxNDE0ODkzNjAwLDE0MjU3OGU0LDE0NDYzNDMyMDAsMTQ1NzgzNDQwMCwxNDc4Mzk3NjAwLDE0ODkyODRlMywxNTA5ODQ3MjAwLDE1MjA3MzM2MDAsMTU0MTI5NjgwMCwxNTUyMTgzMjAwLDE1NzI3NDY0MDAsMTU4MzYzMjgwMCwxNjA0MTk2ZTMsMTYxNTY4NzIwMCwxNjM2MjUwNDAwLDE2NDcxMzY4MDAsMTY2NzdlNSwxNjc4NTg2NDAwLDE2OTkxNDk2MDAsMTcxMDAzNmUzLDE3MzA1OTkyMDAsMTc0MTQ4NTYwMCwxNzYyMDQ4ODAwLDE3NzI5MzUyMDAsMTc5MzQ5ODQwMCwxODA0OTg5NjAwLDE4MjU1NTI4MDAsMTgzNjQzOTIwMCwxODU3MDAyNDAwLDE4Njc4ODg4MDAsMTg4ODQ1MmUzLDE4OTkzMzg0MDAsMTkxOTkwMTYwMCwxOTMwNzg4ZTNdLG9mZnNldDpbNTA0MjQsLTM1OTc2LC0zNmUzLC0zMjQwMCwtMzI0MDAsLTM2ZTMsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTMyNDAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDBdfSwiQW1lcmljYS9BcmdlbnRpbmEvQnVlbm9zX0FpcmVzIjp7dGltZTpbLTIzNzIxMTJlMywtMTU2NzQ2ODgwMCwtMTIzMzQ0NjQwMCwtMTIyMjk5MmUzLC0xMjA1OTcxMjAwLC0xMTk0MDQ4ZTMsLTExNzI4OGU0LC0xMTYyNTEyZTMsLTExNDEzNDRlMywtMTEzMDk3NmUzLC0xMTA5ODA4ZTMsLTEwOTk0NGU0LC0xMDc4MjcyZTMsLTEwNjc4MTc2MDAsLTEwNDY2NDk2MDAsLTEwMzYyODE2MDAsLTEwMTUxMTM2MDAsLTEwMDQ3NDU2MDAsLTk4MzU3NzYwMCwtOTczMjA5NjAwLC05NTIwNDE2MDAsLTk0MTU4NzIwMCwtOTMxMDQ2NDAwLC05MDA4OTI4MDAsLTg5MDM1MmUzLC04MzM3NmU0LC04MjcyOGU0LC03NTIyODQ4MDAsLTczMzc5NTIwMCwtMTk3MzM3NjAwLC0xOTA4NTc2MDAsLTE4NDIwNDgwMCwtMTY0NTA1NjAwLC0xNTI2Njg4MDAsLTEzMjk2OTYwMCwtMTIxMTMyODAwLC0xMDE0MzM2MDAsLTg2ODMyZTMsLTcxMTA3MjAwLC01NDc3NzYwMCwtMzkwNTI4MDAsLTIzMzI4ZTMsLTc2MDMyMDAsMTI4MTMxMjAwLDEzNjU5ODQwMCw1OTY5Mzc2MDAsNjA1MDU5MjAwLDYyNDQxMjgwMCw2MzY1MDg4MDAsNjU2NDY3MjAwLDY2Nzk1ODQwMCw2ODc5MTY4MDAsNjk5NDA4ZTMsNzE5MzY2NDAwLDczMTQ2MjQwMCw5Mzg5MDg4MDAsOTUyMDQxNjAwLDExOTg5NzI4MDAsMTIwNTYyNTYwMCwxMjI0Mzc0NDAwLDEyMzcwNzUyMDAsMTkyNDk4MTIwMF0sCm9mZnNldDpbLTE0MDI4LC0xNTQwOCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtMTA4MDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDBdfSwiQW1lcmljYS9Cb2dvdGEiOnt0aW1lOlstMjcwNzY4OTYwMCwtMTczOTA1OTIwMCw3MDQ4NTEyMDAsNzI5MDQzMjAwLDE5MjQ5NzRlM10sb2Zmc2V0OlstMTc3NzYsLTE3Nzc2LC0xOGUzLC0xNDQwMCwtMThlM119LCJBbWVyaWNhL0NhcmFjYXMiOnt0aW1lOlstMjUyNDUyMTYwMCwtMTgyNjc1NTIwMCwtMTU3NzY2NDAwLDExOTcxNjkyMDAsMTQ2MjA2OTgwMCwxOTI0OTc3NjAwXSxvZmZzZXQ6Wy0xNjA2NCwtMTYwNjAsLTE2MjAwLC0xNDQwMCwtMTYyMDAsLTE0NDAwXX0sIkFtZXJpY2EvQ2hpY2FnbyI6ewp0aW1lOlstMjcxNzY2ODIzNiwtMTYzMzI5ODQwMCwtMTYxNTE1NDQwMCwtMTYwMTg0ODgwMCwtMTU4MzcwNDgwMCwtMTU2Mzc0NjQwMCwtMTU1MTY1MDQwMCwtMTUzODk0OTYwMCwtMTUyMDIwMDgwMCwtMTUwNDQ3NmUzLC0xNDkxNzc1MjAwLC0xNDczMDI2NDAwLC0xNDU5NzIwODAwLC0xNDQxNTc2ODAwLC0xNDI4MjcxMjAwLC0xNDEwMTI3MjAwLC0xMzk2ODIxNjAwLC0xMzc4Njc3NjAwLC0xMzY1MzcyZTMsLTEzNDcyMjhlMywtMTMzMzkyMjQwMCwtMTMxNTE3MzYwMCwtMTMwMTg2OGUzLC0xMjgzNzI0ZTMsLTEyNzA0MTg0MDAsLTEyNTIyNzQ0MDAsLTEyMzg5Njg4MDAsLTEyMjA4MjQ4MDAsLTEyMDc1MTkyMDAsLTExODkzNzUyMDAsLTExNzYwNjk2MDAsLTExNTczMjA4MDAsLTExNDQ2MmU0LC0xMTI1ODcxMjAwLC0xMTEyNTY1NjAwLC0xMDk0NDIxNjAwLC0xMDgxMTE2ZTMsLTEwNjc4MTA0MDAsLTEwNDU0MzI4MDAsLTEwMzE1MjI0MDAsLTEwMTgyMTY4MDAsLTEwMDAwNzI4MDAsLTk4Njc2NzIwMCwtOTY4MDE4NDAwLC05NTUzMTc2MDAsLTkzNjU2ODgwMCwtOTIzMjYzMjAwLC05MDUxMTkyMDAsLTg5MTgxMzYwMCwtODgwMjM2ZTMsLTc2OTQxMzYwMCwtNzY1NDEwNDAwLC03NDcyNjY0MDAsLTczMzk2MDgwMCwtNzE1ODE2ODAwLC03MDI1MTEyMDAsLTY4NDM2NzIwMCwtNjcxMDYxNjAwLC02NTI5MTc2MDAsLTYzOTYxMmUzLC02MjA4NjMyMDAsLTYwODE2MjQwMCwtNTg5NDEzNjAwLC01NzYxMDhlMywtNTU3OTY0ZTMsLTU0NDY1ODQwMCwtNTI2NTE0NDAwLC01MTMyMDg4MDAsLTQ5NTA2NDgwMCwtNDgxNzU5MjAwLC00NjM2MTUyMDAsLTQ0NzI4NTYwMCwtNDMxNTYwODAwLC00MTU4MzZlMywtNDAwMTExMjAwLC0zODQzODY0MDAsLTM2ODY2MTYwMCwtMzUyOTM2ODAwLC0zMzcyMTJlMywtMzIxNDg3MjAwLC0zMDU3NjI0MDAsLTI4OTQzMjgwMCwtMjczNzA4ZTMsLTI1Nzk4MzIwMCwtMjQyMjU4NDAwLC0yMjY1MzM2MDAsLTIxMDgwODgwMCwtMTk1MDg0ZTMsLTE3OTM1OTIwMCwtMTYzNjM0NDAwLC0xNDc5MDk2MDAsLTEzMTU4ZTQsLTExNjQ2ZTQsLTEwMDEzMDQwMCwtODQ0MDU2MDAsLTY4NjgwODAwLC01Mjk1NmUzLC0zNzIzMTIwMCwtMjE1MDY0MDAsLTU3ODE2MDAsOTk0MzIwMCwyNTY2OGUzLDQxMzkyODAwLDU3NzIyNDAwLDczNDQ3MjAwLDg5MTcyZTMsMTA0ODk2ODAwLDEyMDYyMTYwMCwxMjY2Njk2MDAsMTUyMDcxMjAwLDE2MjM1MjgwMCwxODM1MjA4MDAsMTk5MjQ1NjAwLDIxNTU3NTIwMCwyMzA2OTUyMDAsMjQ3MDI0ODAwLDI2Mjc0OTYwMCwyNzg0NzQ0MDAsMjk0MTk5MjAwLDMwOTkyNGUzLDMyNTY0ODgwMCwzNDEzNzM2MDAsMzU3MDk4NDAwLDM3MjgyMzIwMCwzODg1NDhlMyw0MDQ4Nzc2MDAsNDE5OTk3NjAwLDQzNjMyNzIwMCw0NTIwNTJlMyw0Njc3NzY4MDAsNDgzNTAxNjAwLDQ5OTIyNjQwMCw1MTQ5NTEyMDAsNTMwNjc2ZTMsNTQ0NTg2NDAwLDU2MjEyNTYwMCw1NzYwMzZlMyw1OTQxOGU0LDYwNzQ4NTYwMCw2MjU2Mjk2MDAsNjM4OTM1MjAwLDY1NzA3OTIwMCw2NzA5ODk2MDAsNjg4NTI4ODAwLDcwMjQzOTIwMCw3MTk5Nzg0MDAsNzMzODg4ODAwLDc1MjAzMjgwMCw3NjUzMzg0MDAsNzgzNDgyNDAwLDc5Njc4OGUzLDgxNDkzMmUzLDgyODg0MjQwMCw4NDYzODE2MDAsODYwMjkyZTMsODc3ODMxMjAwLDg5MTc0MTYwMCw5MDkyODA4MDAsOTIzMTkxMjAwLDk0MTMzNTIwMCw5NTQ2NDA4MDAsOTcyNzg0ODAwLDk4NjA5MDQwMCwxMDA0MjM0NDAwLDEwMTgxNDQ4MDAsMTAzNTY4NGUzLDEwNDk1OTQ0MDAsMTA2NzEzMzYwMCwxMDgxMDQ0ZTMsMTA5OTE4OGUzLDExMTI0OTM2MDAsMTEzMDYzNzYwMCwxMTQzOTQzMjAwLDExNjIwODcyMDAsMTE3MzU3ODQwMCwxMTk0MTQxNjAwLDEyMDUwMjhlMywxMjI1NTkxMjAwLDEyMzY0Nzc2MDAsMTI1NzA0MDgwMCwxMjY4NTMyZTMsMTI4OTA5NTIwMCwxMjk5OTgxNjAwLDEzMjA1NDQ4MDAsMTMzMTQzMTIwMCwxMzUxOTk0NDAwLDEzNjI4ODA4MDAsMTM4MzQ0NGUzLDEzOTQzMzA0MDAsMTQxNDg5MzYwMCwxNDI1NzhlNCwxNDQ2MzQzMjAwLDE0NTc4MzQ0MDAsMTQ3ODM5NzYwMCwxNDg5Mjg0ZTMsMTUwOTg0NzIwMCwxNTIwNzMzNjAwLDE1NDEyOTY4MDAsMTU1MjE4MzIwMCwxNTcyNzQ2NDAwLDE1ODM2MzI4MDAsMTYwNDE5NmUzLDE2MTU2ODcyMDAsMTYzNjI1MDQwMCwxNjQ3MTM2ODAwLDE2Njc3ZTUsMTY3ODU4NjQwMCwxNjk5MTQ5NjAwLDE3MTAwMzZlMywxNzMwNTk5MjAwLDE3NDE0ODU2MDAsMTc2MjA0ODgwMCwxNzcyOTM1MjAwLDE3OTM0OTg0MDAsMTgwNDk4OTYwMCwxODI1NTUyODAwLDE4MzY0MzkyMDAsMTg1NzAwMjQwMCwxODY3ODg4ODAwLDE4ODg0NTJlMywxODk5MzM4NDAwLDE5MTk5MDE2MDAsMTkzMDc4OGUzXSwKb2Zmc2V0OlstMjEwMzYsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDBdfSwiQW1lcmljYS9FbF9TYWx2YWRvciI6e3RpbWU6Wy0xNTQ2MzAwODAwLDU0Njk5ODQwMCw1NTk2OTkyMDAsNTc4NDQ4ZTMsNTkxMTQ4ODAwLDE5MjQ5NzA0MDBdLG9mZnNldDpbLTIxNDA4LC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwXX0sIkFtZXJpY2EvSGFsaWZheCI6ewp0aW1lOlstMjEzMTY2MDgwMCwtMTY5NjI5MTIwMCwtMTY4MDQ4ZTQsLTE2MzIwODg4MDAsLTE2MTUxNTQ0MDAsLTE1NjY3Nzc2MDAsLTE1NTcxMDA4MDAsLTE1MzU1MDA4MDAsLTE1MjQ5NmU0LC0xNTA0NDgzMjAwLC0xNDkzNDI0ZTMsLTE0NzI0Mjg4MDAsLTE0NjE5NzQ0MDAsLTE0NDA5NzkyMDAsLTE0Mjk0MDE2MDAsLTE0MDk1Mjk2MDAsLTEzOTY3NDI0MDAsLTEzNzY4NzA0MDAsLTEzNjY1MDI0MDAsLTEzNDY2MzA0MDAsLTEzMzM4NDMyMDAsLTEzMTM5NzEyMDAsLTEzMDM2ODk2MDAsLTEyODI1MjE2MDAsLTEyNzI2NzJlMywtMTI1MTA3MmUzLC0xMjQwMDk5MjAwLC0xMjE5NjIyNDAwLC0xMjA3NDRlNCwtMTE4ODc3NzYwMCwtMTE3NTk5MDQwMCwtMTE1NzMyOGUzLC0xMTQzOTM2ZTMsLTExMjQwNjRlMywtMTExMzc4MjQwMCwtMTA5MTQwNDgwMCwtMTA4MTAzNjgwMCwtMTA1OTg2ODgwMCwtMTA1MDc5NjgwMCwtMTAzMDkyNDgwMCwtMTAxODEzNzYwMCwtOTk5NDc1MjAwLC05ODY2ODhlMywtOTY1NjA2NDAwLC05NTUyMzg0MDAsLTkzNTk3MTIwMCwtOTIzMTg0ZTMsLTkwNDUyMTYwMCwtODkxNzM0NDAwLC04ODAyMzZlMywtNzY5NDA2NDAwLC03NjU0MTA0MDAsLTc0NzI2NjQwMCwtNzMzOTYwODAwLC03MTU4MTY4MDAsLTcwMjUxMTIwMCwtNjg0MzY3MjAwLC02NzEwNjE2MDAsLTY1MjkxNzYwMCwtNjM5NjEyZTMsLTU4OTQxMzYwMCwtNTc2MTA4ZTMsLTU1Nzk2NGUzLC01NDQ2NTg0MDAsLTUyNjUxNDQwMCwtNTEzMjA4ODAwLC00OTUwNjQ4MDAsLTQ4MTc1OTIwMCwtNDMxNTYwODAwLC00MTgyNTUyMDAsLTQwMDExMTIwMCwtMzg2ODA1NjAwLC0zNjg2NjE2MDAsLTM1NTM1NmUzLC0zMzcyMTJlMywtMzIzOTA2NDAwLC0yNDIyNTg0MDAsLTIyNjUzMzYwMCwtMjEwODA4ODAwLC0xOTUwODRlMywtMTc5MzU5MjAwLC0xNjM2MzQ0MDAsLTE0NzkwOTYwMCwtMTMxNThlNCwtMTE2NDZlNCwtMTAwMTMwNDAwLC04NDQwNTYwMCwtNjg2ODA4MDAsLTUyOTU2ZTMsLTM3MjMxMjAwLC0yMTUwNjQwMCwtNTc4MTYwMCw5OTQzMjAwLDI1NjY4ZTMsNDEzOTI4MDAsNTc3MjI0MDAsNzM0NDcyMDAsODkxNzJlMywxMDQ4OTY4MDAsMTIwNjIxNjAwLDEzNjM0NjQwMCwxNTIwNzEyMDAsMTY3Nzk2ZTMsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sCm9mZnNldDpbLTE1MjY0LC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMF19LCJBbWVyaWNhL0p1bmVhdSI6e3RpbWU6Wy0zMjI1MTY5NTg4LC0yMTg4OTg3MjAwLC04ODAyMzZlMywtNzY5NDIwODAwLC03NjU0MTA0MDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDM4OTk4NDAwLDQ1MjA1MmUzLDQ2Nzc3NjgwMCw0ODM1MDE2MDAsNDk5MjI2NDAwLDUxNDk1MTIwMCw1MzA2NzZlMyw1NDQ1ODY0MDAsNTYyMTI1NjAwLDU3NjAzNmUzLDU5NDE4ZTQsNjA3NDg1NjAwLDYyNTYyOTYwMCw2Mzg5MzUyMDAsNjU3MDc5MjAwLDY3MDk4OTYwMCw2ODg1Mjg4MDAsNzAyNDM5MjAwLDcxOTk3ODQwMCw3MzM4ODg4MDAsNzUyMDMyODAwLDc2NTMzODQwMCw3ODM0ODI0MDAsNzk2Nzg4ZTMsODE0OTMyZTMsODI4ODQyNDAwLDg0NjM4MTYwMCw4NjAyOTJlMyw4Nzc4MzEyMDAsODkxNzQxNjAwLDkwOTI4MDgwMCw5MjMxOTEyMDAsOTQxMzM1MjAwLDk1NDY0MDgwMCw5NzI3ODQ4MDAsOTg2MDkwNDAwLDEwMDQyMzQ0MDAsMTAxODE0NDgwMCwxMDM1Njg0ZTMsMTA0OTU5NDQwMCwxMDY3MTMzNjAwLDEwODEwNDRlMywxMDk5MTg4ZTMsMTExMjQ5MzYwMCwxMTMwNjM3NjAwLDExNDM5NDMyMDAsMTE2MjA4NzIwMCwxMTczNTc4NDAwLDExOTQxNDE2MDAsMTIwNTAyOGUzLDEyMjU1OTEyMDAsMTIzNjQ3NzYwMCwxMjU3MDQwODAwLDEyNjg1MzJlMywxMjg5MDk1MjAwLDEyOTk5ODE2MDAsMTMyMDU0NDgwMCwxMzMxNDMxMjAwLDEzNTE5OTQ0MDAsMTM2Mjg4MDgwMCwxMzgzNDQ0ZTMsMTM5NDMzMDQwMCwxNDE0ODkzNjAwLDE0MjU3OGU0LDE0NDYzNDMyMDAsMTQ1NzgzNDQwMCwxNDc4Mzk3NjAwLDE0ODkyODRlMywxNTA5ODQ3MjAwLDE1MjA3MzM2MDAsMTU0MTI5NjgwMCwxNTUyMTgzMjAwLDE1NzI3NDY0MDAsMTU4MzYzMjgwMCwxNjA0MTk2ZTMsMTYxNTY4NzIwMCwxNjM2MjUwNDAwLDE2NDcxMzY4MDAsMTY2NzdlNSwxNjc4NTg2NDAwLDE2OTkxNDk2MDAsMTcxMDAzNmUzLDE3MzA1OTkyMDAsMTc0MTQ4NTYwMCwxNzYyMDQ4ODAwLDE3NzI5MzUyMDAsMTc5MzQ5ODQwMCwxODA0OTg5NjAwLDE4MjU1NTI4MDAsMTgzNjQzOTIwMCwxODU3MDAyNDAwLDE4Njc4ODg4MDAsMTg4ODQ1MmUzLDE4OTkzMzg0MDAsMTkxOTkwMTYwMCwxOTMwNzg4ZTNdLApvZmZzZXQ6WzU0MTM5LC0zMjI2MSwtMjg4MDAsLTI1MjAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yODgwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMzI0MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMF19LCJBbWVyaWNhL0xpbWEiOnt0aW1lOlstMjUyNDUyMTYwMCwtMTkzODU1NjgwMCwtMTAwOTg0MzIwMCwtMTAwMjA2NzIwMCwtOTg2Nzc0NDAwLC05NzEwNDk2MDAsLTk1NTMyNDgwMCwtOTM5NmU1LDUwNDkyMTYwMCw1MTI2OTc2MDAsNTM2NDU3NjAwLDU0NDIzMzYwMCw2MzExNTJlMyw2Mzg5MjhlMyw3NTczODI0MDAsNzY1MTU4NDAwLDE5MjQ5NzRlM10sb2Zmc2V0OlstMTg0OTIsLTE4NTE2LC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlM119LCJBbWVyaWNhL0xvc19BbmdlbGVzIjp7dGltZTpbLTI3MTc2NjgzNzgsLTE2MzMyOTg0MDAsLTE2MTUxNTQ0MDAsLTE2MDE4NDg4MDAsLTE1ODM3MDQ4MDAsLTg4MDIzNmUzLC03Njk0MjA4MDAsLTc2NTQxMDQwMCwtNjg3OTk1OTQwLC02NjI2ODA4MDAsLTYyMDg2NjgwMCwtNjA4MTYyNDAwLC01ODk0MTcyMDAsLTU3NjEwOGUzLC01NTc5Njc2MDAsLTU0NDY1ODQwMCwtNTI2NTE4ZTMsLTUxMzIwODgwMCwtNDk1MDY4NDAwLC00ODE3NTkyMDAsLTQ2MzYxODgwMCwtNDUwMzA5NjAwLC00MzE1NjQ0MDAsLTQxODI1NTIwMCwtNDAwMTE0ODAwLC0zODY4MDU2MDAsLTM2ODY2NTIwMCwtMzU1MzU2ZTMsLTMzNzIxNTYwMCwtMzIzOTA2NDAwLC0zMDU3NjZlMywtMjkyNDU2ODAwLC0yNzM3MTE2MDAsLTI2MTAwNzIwMCwtMjQyMjYyZTMsLTIyNjUzMzYwMCwtMjEwODEyNDAwLC0xOTUwODRlMywtMTc5MzYyODAwLC0xNjM2MzQ0MDAsLTE0NzkxMzIwMCwtMTMxNThlNCwtMTE2NDYzNjAwLC0xMDAxMzA0MDAsLTg0NDA1NjAwLC02ODY4MDgwMCwtNTI5NTZlMywtMzcyMzEyMDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sCm9mZnNldDpbLTI4Mzc4LC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMF19LCJBbWVyaWNhL01leGljb19DaXR5Ijp7dGltZTpbLTE1MTQ3NjMzOTYsLTEzNDMxNzQ0MDAsLTEyMzQ4Mjg4MDAsLTEyMjA0ODY0MDAsLTEyMDcxODA4MDAsLTExOTEzNjk2MDAsLTk3NTI4MzIwMCwtOTYzMTg3MjAwLC05MTcxMzZlMywtOTA3MzcyODAwLC04MjE5MjMyMDAsLTgxMDA4NjQwMCwtNjI3NTIzMjAwLC02MTMwMDhlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODkxMTQ0MDAsMTAwMTgxNTIwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzUzOTI4MDAsMTE5MzUzNjgwMCwxMjA3NDQ3MjAwLDEyMjQ5ODY0MDAsMTIzODg5NjgwMCwxMjU2NDM2ZTMsMTI3MDM0NjQwMCwxMjg4NDkwNDAwLDEzMDE3OTZlMywxMzE5OTRlNCwxMzMzMjQ1NjAwLDEzNTEzODk2MDAsMTM2NTNlNSwxMzgyODM5MjAwLDEzOTY3NDk2MDAsMTQxNDI4ODgwMCwxNDI4MTk5MjAwLDE0NDU3Mzg0MDAsMTQ1OTY0ODgwMCwxNDc3NzkyODAwLDE0OTEwOTg0MDAsMTUwOTI0MjQwMCwxNTIyNTQ4ZTMsMTU0MDY5MmUzLDE1NTQ2MDI0MDAsMTU3MjE0MTYwMCwxNTg2MDUyZTMsMTYwMzU5MTIwMCwxNjE3NTAxNjAwLDE2MzU2NDU2MDAsMTY0ODk1MTIwMCwxNjY3MDk1MjAwLDE5MjQ5NzA0MDBdLG9mZnNldDpbLTIzNzk2LC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMF19LCJBbWVyaWNhL05ld19Zb3JrIjp7CnRpbWU6Wy0yNzE3NjY4NTYyLC0xNjMzMjk4NDAwLC0xNjE1MTU0NDAwLC0xNjAxODQ4ODAwLC0xNTgzNzA0ODAwLC0xNTcwMzk5MjAwLC0xNTUxNjUwNDAwLC0xNTM2NTMwNDAwLC0xNTIzMjI0ODAwLC0xNTA0NDc2ZTMsLTE0OTE3NzUyMDAsLTE0NzMwMjY0MDAsLTE0NTk3MjA4MDAsLTE0NDE1NzY4MDAsLTE0MjgyNzEyMDAsLTE0MTAxMjcyMDAsLTEzOTY4MjE2MDAsLTEzNzg2Nzc2MDAsLTEzNjUzNzJlMywtMTM0NzIyOGUzLC0xMzMzOTIyNDAwLC0xMzE1MTczNjAwLC0xMzAxODY4ZTMsLTEyODM3MjRlMywtMTI3MDQxODQwMCwtMTI1MjI3NDQwMCwtMTIzODk2ODgwMCwtMTIyMDgyNDgwMCwtMTIwNzUxOTIwMCwtMTE4OTM3NTIwMCwtMTE3NjA2OTYwMCwtMTE1NzMyMDgwMCwtMTE0NDYyZTQsLTExMjU4NzEyMDAsLTExMTI1NjU2MDAsLTEwOTQ0MjE2MDAsLTEwODExMTZlMywtMTA2Mjk3MmUzLC0xMDQ5NjY2NDAwLC0xMDMxNTIyNDAwLC0xMDE4MjE2ODAwLC0xMDAwMDcyODAwLC05ODY3NjcyMDAsLTk2ODAxODQwMCwtOTU1MzE3NjAwLC05MzY1Njg4MDAsLTkyMzI2MzIwMCwtOTA1MTE5MjAwLC04OTE4MTM2MDAsLTg4MDIzNmUzLC03Njk0MWU0LC03NjU0MTA0MDAsLTc0NzI2NjQwMCwtNzMzOTYwODAwLC03MTU4MTY4MDAsLTcwMjUxMTIwMCwtNjg0MzY3MjAwLC02NzEwNjE2MDAsLTY1MjkxNzYwMCwtNjM5NjEyZTMsLTYyMDg2MzIwMCwtNjA4MTYyNDAwLC01ODk0MTM2MDAsLTU3NjEwOGUzLC01NTc5NjRlMywtNTQ0NjU4NDAwLC01MjY1MTQ0MDAsLTUxMzIwODgwMCwtNDk1MDY0ODAwLC00ODE3NTkyMDAsLTQ2MzYxNTIwMCwtNDQ3Mjg1NjAwLC00MzE1NjA4MDAsLTQxNTgzNmUzLC00MDAxMTEyMDAsLTM4NDM4NjQwMCwtMzY4NjYxNjAwLC0zNTI5MzY4MDAsLTMzNzIxMmUzLC0zMjE0ODcyMDAsLTMwNTc2MjQwMCwtMjg5NDMyODAwLC0yNzM3MDhlMywtMjU3OTgzMjAwLC0yNDIyNTg0MDAsLTIyNjUzMzYwMCwtMjEwODA4ODAwLC0xOTUwODRlMywtMTc5MzU5MjAwLC0xNjM2MzQ0MDAsLTE0NzkwOTYwMCwtMTMxNThlNCwtMTE2NDZlNCwtMTAwMTMwNDAwLC04NDQwNTYwMCwtNjg2ODA4MDAsLTUyOTU2ZTMsLTM3MjMxMjAwLC0yMTUwNjQwMCwtNTc4MTYwMCw5OTQzMjAwLDI1NjY4ZTMsNDEzOTI4MDAsNTc3MjI0MDAsNzM0NDcyMDAsODkxNzJlMywxMDQ4OTY4MDAsMTIwNjIxNjAwLDEyNjY2OTYwMCwxNTIwNzEyMDAsMTYyMzUyODAwLDE4MzUyMDgwMCwxOTkyNDU2MDAsMjE1NTc1MjAwLDIzMDY5NTIwMCwyNDcwMjQ4MDAsMjYyNzQ5NjAwLDI3ODQ3NDQwMCwyOTQxOTkyMDAsMzA5OTI0ZTMsMzI1NjQ4ODAwLDM0MTM3MzYwMCwzNTcwOTg0MDAsMzcyODIzMjAwLDM4ODU0OGUzLDQwNDg3NzYwMCw0MTk5OTc2MDAsNDM2MzI3MjAwLDQ1MjA1MmUzLDQ2Nzc3NjgwMCw0ODM1MDE2MDAsNDk5MjI2NDAwLDUxNDk1MTIwMCw1MzA2NzZlMyw1NDQ1ODY0MDAsNTYyMTI1NjAwLDU3NjAzNmUzLDU5NDE4ZTQsNjA3NDg1NjAwLDYyNTYyOTYwMCw2Mzg5MzUyMDAsNjU3MDc5MjAwLDY3MDk4OTYwMCw2ODg1Mjg4MDAsNzAyNDM5MjAwLDcxOTk3ODQwMCw3MzM4ODg4MDAsNzUyMDMyODAwLDc2NTMzODQwMCw3ODM0ODI0MDAsNzk2Nzg4ZTMsODE0OTMyZTMsODI4ODQyNDAwLDg0NjM4MTYwMCw4NjAyOTJlMyw4Nzc4MzEyMDAsODkxNzQxNjAwLDkwOTI4MDgwMCw5MjMxOTEyMDAsOTQxMzM1MjAwLDk1NDY0MDgwMCw5NzI3ODQ4MDAsOTg2MDkwNDAwLDEwMDQyMzQ0MDAsMTAxODE0NDgwMCwxMDM1Njg0ZTMsMTA0OTU5NDQwMCwxMDY3MTMzNjAwLDEwODEwNDRlMywxMDk5MTg4ZTMsMTExMjQ5MzYwMCwxMTMwNjM3NjAwLDExNDM5NDMyMDAsMTE2MjA4NzIwMCwxMTczNTc4NDAwLDExOTQxNDE2MDAsMTIwNTAyOGUzLDEyMjU1OTEyMDAsMTIzNjQ3NzYwMCwxMjU3MDQwODAwLDEyNjg1MzJlMywxMjg5MDk1MjAwLDEyOTk5ODE2MDAsMTMyMDU0NDgwMCwxMzMxNDMxMjAwLDEzNTE5OTQ0MDAsMTM2Mjg4MDgwMCwxMzgzNDQ0ZTMsMTM5NDMzMDQwMCwxNDE0ODkzNjAwLDE0MjU3OGU0LDE0NDYzNDMyMDAsMTQ1NzgzNDQwMCwxNDc4Mzk3NjAwLDE0ODkyODRlMywxNTA5ODQ3MjAwLDE1MjA3MzM2MDAsMTU0MTI5NjgwMCwxNTUyMTgzMjAwLDE1NzI3NDY0MDAsMTU4MzYzMjgwMCwxNjA0MTk2ZTMsMTYxNTY4NzIwMCwxNjM2MjUwNDAwLDE2NDcxMzY4MDAsMTY2NzdlNSwxNjc4NTg2NDAwLDE2OTkxNDk2MDAsMTcxMDAzNmUzLDE3MzA1OTkyMDAsMTc0MTQ4NTYwMCwxNzYyMDQ4ODAwLDE3NzI5MzUyMDAsMTc5MzQ5ODQwMCwxODA0OTg5NjAwLDE4MjU1NTI4MDAsMTgzNjQzOTIwMCwxODU3MDAyNDAwLDE4Njc4ODg4MDAsMTg4ODQ1MmUzLDE4OTkzMzg0MDAsMTkxOTkwMTYwMCwxOTMwNzg4ZTNdLApvZmZzZXQ6Wy0xNzc2MiwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlM119LCJBbWVyaWNhL1Bob2VuaXgiOnt0aW1lOlstMjcxNzY3MDQ5OCwtMTYzMzI5ODQwMCwtMTYxNTE1NDQwMCwtMTYwMTg0ODgwMCwtMTU4MzcwNDgwMCwtODgwMjM2ZTMsLTgyMDU0MDc0MCwtODEyNjc4MzQwLC03OTY4NjcxNDAsLTg0NDA1NjAwLC02ODY4MDgwMCwxOTI0OTY2ODAwXSxvZmZzZXQ6Wy0yNjg5OCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwXX0sIkFtZXJpY2EvU2FudGlhZ28iOnsKdGltZTpbLTI1MjQ1MjE2MDAsLTE4OTI2Nzg0MDAsLTE2ODg0Mjg4MDAsLTE2MTkyMjI0MDAsLTE1OTM4MjA4MDAsLTEzMzYwMDMyMDAsLTEzMTc2ZTUsLTEzMDQzODA4MDAsLTEyODYwNjRlMywtMTI3Mjg0NDgwMCwtMTI1NDUyOGUzLC0xMjQxMzA4ODAwLC0xMjIyOTkyZTMsLTEyMDk3NzI4MDAsLTExOTEzNjk2MDAsLTExNzgxNTA0MDAsLTg3MDU2NjQwMCwtODY1Mjk2ZTMsLTc0MDUzNDQwMCwtNzM2NjQ2NDAwLC03MTgwNzA0MDAsLTcxMzY2NzYwMCwtMzY2MzM2MDAsLTIzOTMyODAwLC0zMzY5NjAwLDc1MTY4MDAsMjQ0NTEyMDAsMzc3NTY4MDAsNTU5MDA4MDAsNjkyMDY0MDAsODc5NTUyMDAsMTAwNjU2ZTMsMTE4MTk1MjAwLDEzMjEwNTYwMCwxNTA4NTQ0MDAsMTYzNTU1MjAwLDE4MjMwNGUzLDE5NTYwOTYwMCwyMTM3NTM2MDAsMjI3MDU5MjAwLDI0NTIwMzIwMCwyNTg1MDg4MDAsMjc3MjU3NjAwLDI4OTk1ODQwMCwzMDg3MDcyMDAsMzIxNDA4ZTMsMzQwMTU2ODAwLDM1MzQ2MjQwMCwzNzE2MDY0MDAsMzg0OTEyZTMsNDAzMDU2ZTMsNDE2MzYxNjAwLDQzNDUwNTYwMCw0NDc4MTEyMDAsNDY2NTZlNCw0NzkyNjA4MDAsNDk4MDA5NjAwLDUxMDcxMDQwMCw1Mjk0NTkyMDAsNTQ1MTg0ZTMsNTYwOTA4ODAwLDU3NDIxNDQwMCw1OTIzNTg0MDAsNjA1NjY0ZTMsNjI0NDEyODAwLDYzNzExMzYwMCw2NTM0NDMyMDAsNjY4NTYzMjAwLDY4NzMxMmUzLDcwMDYxNzYwMCw3MTg3NjE2MDAsNzMyMDY3MjAwLDc1MDIxMTIwMCw3NjM1MTY4MDAsNzgxNjYwODAwLDc5NDk2NjQwMCw4MTM3MTUyMDAsODI2NDE2ZTMsODQ1MTY0ODAwLDg1OTY4ZTQsODc2NjE0NDAwLDg4OTkyZTQsOTA2ODU0NDAwLDkyMzE4NGUzLDkzOTUxMzYwMCw5NTI4MTkyMDAsOTcxNTY4ZTMsOTg0MjY4ODAwLDEwMDMwMTc2MDAsMTAxNTcxODQwMCwxMDM0NDY3MjAwLDEwNDcxNjhlMywxMDY1OTE2ODAwLDEwNzkyMjI0MDAsMTA5NzM2NjQwMCwxMTEwNjcyZTMsMTEyODgxNmUzLDExNDIxMjE2MDAsMTE2MDg3MDQwMCwxMTczNTcxMjAwLDExOTIzMmU0LDEyMDY4MzUyMDAsMTIyMzc2OTYwMCwxMjM3MDc1MjAwLDEyNTUyMTkyMDAsMTI3MDMzOTIwMCwxMjg2NjY4ODAwLDEzMDQ4MTI4MDAsMTMxMzg4NDgwMCwxMzM1NjU3NjAwLDEzNDY1NDRlMywxMzY3MTA3MjAwLDEzNzg1OTg0MDAsMTM5ODU1NjgwMCwxNDEwMDQ4ZTMsMTQ2MzI3MDQwMCwxNDcxMTMyODAwLDE0OTQ3MmU0LDE1MDI1ODI0MDAsMTUyNjE2OTYwMCwxNTM0MDMyZTMsMTU1NDU5NTIwMCwxNTY3OTAwODAwLDE1ODYwNDQ4MDAsMTU5OTM1MDQwMCwxNjE3NDk0NDAwLDE2MzA4ZTUsMTY0ODk0NGUzLDE2NjI4NTQ0MDAsMTY4MDM5MzYwMCwxNjkzNjk5MjAwLDE3MTI0NDhlMywxNzI1NzUzNjAwLDE3NDM4OTc2MDAsMTc1NzIwMzIwMCwxNzc1MzQ3MjAwLDE3ODg2NTI4MDAsMTgwNjc5NjgwMCwxODIwMTAyNDAwLDE4MzgyNDY0MDAsMTg1MTU1MmUzLDE4NzAzMDA4MDAsMTg4MzAwMTYwMCwxOTAxNzUwNDAwLDE5MTUwNTZlMywxOTMzMmU1XSxvZmZzZXQ6Wy0xNjk2NSwtMTY5NjUsLTE4ZTMsLTE2OTY1LC0xNDQwMCwtMTY5NjUsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwXX0sIkFtZXJpY2EvU2FvX1BhdWxvIjp7CnRpbWU6Wy0xNzY3MjI1NjAwLC0xMjA2OTY4NDAwLC0xMTkxMzY5NjAwLC0xMTc1Mzg1NjAwLC0xMTU5ODMzNjAwLC02MzM4MzA0MDAsLTYyMjA3NjQwMCwtNjAyMjk0NDAwLC01OTE4NGU0LC01NzA3NTg0MDAsLTU2MDIxNzYwMCwtNTM5MTM2ZTMsLTUzMTM2ZTQsLTE5NTQzNjgwMCwtMTg0MjA0ODAwLC0xNTUxNzQ0MDAsLTE1MDA3NjgwMCwtMTI4OTA4ODAwLC0xMjExMzI4MDAsLTk5OTY0ODAwLC04OTU5NjgwMCwtNjg0Mjg4MDAsLTU3OTc0NDAwLDQ5OTczNzYwMCw1MTEyMjg4MDAsNTMwNTgyNDAwLDU0MDI1OTIwMCw1NjIxMTg0MDAsNTcxMTkwNDAwLDU5Mjk2MzIwMCw2MDIwMzUyMDAsNjI0NDEyODAwLDYzNDY5NDQwMCw2NTY0NjcyMDAsNjY2NzQ4ODAwLDY4NzkxNjgwMCw2OTc1OTM2MDAsNzE5OTcxMjAwLDcyODQzODQwMCw3NTA4MTZlMyw3NjE3MDI0MDAsNzgyMjY1NjAwLDc5MzE1MmUzLDgxMzcxNTIwMCw4MjM5OTY4MDAsODQ0NTZlNCw4NTYwNTEyMDAsODc2MDk2ZTMsODg4NzEwNDAwLDkwODA2NGUzLDkxOTU1NTIwMCw5Mzg5MDg4MDAsOTUxNjA5NjAwLDk3MDk2MzIwMCw5ODI0NTQ0MDAsMTAwMzAxNzYwMCwxMDEzOTA0ZTMsMTAzNjI4MTYwMCwxMDQ1MzUzNjAwLDEwNjY1MjE2MDAsMTA3NjgwMzIwMCwxMDk5MzUzNjAwLDExMDg4NTc2MDAsMTEyOTQyMDgwMCwxMTQwMzA3MjAwLDExNjI2ODQ4MDAsMTE3MjM2MTYwMCwxMTkyMzJlNCwxMjAzMjA2NDAwLDEyMjQzNzQ0MDAsMTIzNDY1NmUzLDEyNTU4MjRlMywxMjY2NzEwNDAwLDEyODcyNzM2MDAsMTI5ODE2ZTQsMTMxODcyMzIwMCwxMzMwMjE0NDAwLDEzNTA3Nzc2MDAsMTM2MTA1OTIwMCwxMzgyMjI3MjAwLDEzOTI1MDg4MDAsMTQxMzY3NjgwMCwxNDI0NTYzMjAwLDE0NDUxMjY0MDAsMTQ1NjAxMjgwMCwxNDc2NTc2ZTMsMTQ4NzQ2MjQwMCwxNTA4MDI1NjAwLDE1MTg5MTJlMywxNTQxMjg5NjAwLDE1NTAzNjE2MDAsMTkyNDk4MTIwMF0sb2Zmc2V0OlstMTExODgsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwXX0sIkFtZXJpY2EvVG9yb250byI6ewp0aW1lOlstMjM2Njc1NTIwMCwtMTYzMjA4ODgwMCwtMTYxNTE1NDQwMCwtMTYwMTc3MTQwMCwtMTU4MzcxMmUzLC0xNTY3Mzc1MjAwLC0xNTU0NjgxNjAwLC0xNTM0NzE2ZTMsLTE1MjQwODg4MDAsLTE1MDMyNjY0MDAsLTE0OTIzOGU0LC0xNDcxODE2ODAwLC0xNDYwOTMwNDAwLC0xNDQwOTcyZTMsLTE0Mjg4NzZlMywtMTQwOTUyMjQwMCwtMTM5NzQyNjQwMCwtMTM3ODA3MjgwMCwtMTM2NTk3NjgwMCwtMTM0NjYyMzIwMCwtMTMzMzkyMjQwMCwtMTMxNTE3MzYwMCwtMTMwMTg2OGUzLC0xMjgzNzI0ZTMsLTEyNzA0MTg0MDAsLTEyNTIyNzQ0MDAsLTEyMzg5Njg4MDAsLTEyMjA4MjQ4MDAsLTEyMDc1MTkyMDAsLTExODg3NzA0MDAsLTExNzYwNjk2MDAsLTExNTczMjA4MDAsLTExNDQwMTUyMDAsLTExMjU4NzEyMDAsLTExMTI1NjU2MDAsLTEwOTQ0MjE2MDAsLTEwODExMTZlMywtMTA2Mjk3MmUzLC0xMDQ5NjY2NDAwLC0xMDMxNTIyNDAwLC0xMDE4MjE2ODAwLC0xMDAwMDcyODAwLC05ODY3NjcyMDAsLTk2ODAxODQwMCwtOTU1MzE3NjAwLC05MzY1Njg4MDAsLTg4MDIzMjQwMCwtNzY5NDFlNCwtNzY1NDEwNDAwLC03NDcyNjY0MDAsLTczMzk2MDgwMCwtNzE1ODE2ODAwLC03MDI1MTEyMDAsLTY4NDM2NzIwMCwtNjcxMDYxNjAwLC02NTI5MTc2MDAsLTYzNDE2ODgwMCwtNjIwODYzMjAwLC02MDI3MTkyMDAsLTU4OTQxMzYwMCwtNTc2MTA4ZTMsLTU1Nzk2NGUzLC01NDQ2NTg0MDAsLTUyNjUxNDQwMCwtNTEzMjA4ODAwLC00OTUwNjQ4MDAsLTQ4MTc1OTIwMCwtNDYzNjE1MjAwLC00NTAzMDk2MDAsLTQzMTU2MDgwMCwtNDE4MjU1MjAwLC00MDAxMTEyMDAsLTM4NDM4NjQwMCwtMzY4NjYxNjAwLC0zNTI5MzY4MDAsLTMzNzIxMmUzLC0zMjE0ODcyMDAsLTMwNTc2MjQwMCwtMjg5NDMyODAwLC0yNzM3MDhlMywtMjU3OTgzMjAwLC0yNDIyNTg0MDAsLTIyNjUzMzYwMCwtMjEwODA4ODAwLC0xOTUwODRlMywtMTc5MzU5MjAwLC0xNjM2MzQ0MDAsLTE0NzkwOTYwMCwtMTMxNThlNCwtMTE2NDZlNCwtMTAwMTMwNDAwLC04NDQwNTYwMCwtNjg2ODA4MDAsLTUyOTU2ZTMsLTM3MjMxMjAwLC0yMTUwNjQwMCwtNTc4MTYwMCw5OTQzMjAwLDI1NjY4ZTMsNDEzOTI4MDAsNTc3MjI0MDAsNzM0NDcyMDAsODkxNzJlMywxMDQ4OTY4MDAsMTIwNjIxNjAwLDEzNjM0NjQwMCwxNTIwNzEyMDAsMTY3Nzk2ZTMsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sCm9mZnNldDpbLTE5MDUyLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE0NDAwLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTNdfSwiQW1lcmljYS9WYW5jb3V2ZXIiOnsKdGltZTpbLTI3MTM5MTA0MDAsLTE2MzIwODg4MDAsLTE2MTUxNTQ0MDAsLTg4MDIzNmUzLC03Njk0MjA4MDAsLTc2NTQxMDQwMCwtNzQ3MjY2NDAwLC03MzM5NjA4MDAsLTcxNTgxNjgwMCwtNzAyNTExMjAwLC02ODQzNjcyMDAsLTY3MTA2MTYwMCwtNjUyOTE3NjAwLC02Mzk2MTJlMywtNjIwODYzMjAwLC02MDgxNjI0MDAsLTU4OTQxMzYwMCwtNTc2MTA4ZTMsLTU1Nzk2NGUzLC01NDQ2NTg0MDAsLTUyNjUxNDQwMCwtNTEzMjA4ODAwLC00OTUwNjQ4MDAsLTQ4MTc1OTIwMCwtNDYzNjE1MjAwLC00NTAzMDk2MDAsLTQzMTU2MDgwMCwtNDE4MjU1MjAwLC00MDAxMTEyMDAsLTM4NjgwNTYwMCwtMzY4NjYxNjAwLC0zNTUzNTZlMywtMzM3MjEyZTMsLTMyMzkwNjQwMCwtMzA1NzYyNDAwLC0yOTI0NTY4MDAsLTI3MzcwOGUzLC0yNjEwMDcyMDAsLTI0MjI1ODQwMCwtMjI2NTMzNjAwLC0yMTA4MDg4MDAsLTE5NTA4NGUzLC0xNzkzNTkyMDAsLTE2MzYzNDQwMCwtMTQ3OTA5NjAwLC0xMzE1OGU0LC0xMTY0NmU0LC0xMDAxMzA0MDAsLTg0NDA1NjAwLC02ODY4MDgwMCwtNTI5NTZlMywtMzcyMzEyMDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTM2MzQ2NDAwLDE1MjA3MTIwMCwxNjc3OTZlMywxODM1MjA4MDAsMTk5MjQ1NjAwLDIxNTU3NTIwMCwyMzA2OTUyMDAsMjQ3MDI0ODAwLDI2Mjc0OTYwMCwyNzg0NzQ0MDAsMjk0MTk5MjAwLDMwOTkyNGUzLDMyNTY0ODgwMCwzNDEzNzM2MDAsMzU3MDk4NDAwLDM3MjgyMzIwMCwzODg1NDhlMyw0MDQ4Nzc2MDAsNDE5OTk3NjAwLDQzNjMyNzIwMCw0NTIwNTJlMyw0Njc3NzY4MDAsNDgzNTAxNjAwLDQ5OTIyNjQwMCw1MTQ5NTEyMDAsNTMwNjc2ZTMsNTQ0NTg2NDAwLDU2MjEyNTYwMCw1NzYwMzZlMyw1OTQxOGU0LDYwNzQ4NTYwMCw2MjU2Mjk2MDAsNjM4OTM1MjAwLDY1NzA3OTIwMCw2NzA5ODk2MDAsNjg4NTI4ODAwLDcwMjQzOTIwMCw3MTk5Nzg0MDAsNzMzODg4ODAwLDc1MjAzMjgwMCw3NjUzMzg0MDAsNzgzNDgyNDAwLDc5Njc4OGUzLDgxNDkzMmUzLDgyODg0MjQwMCw4NDYzODE2MDAsODYwMjkyZTMsODc3ODMxMjAwLDg5MTc0MTYwMCw5MDkyODA4MDAsOTIzMTkxMjAwLDk0MTMzNTIwMCw5NTQ2NDA4MDAsOTcyNzg0ODAwLDk4NjA5MDQwMCwxMDA0MjM0NDAwLDEwMTgxNDQ4MDAsMTAzNTY4NGUzLDEwNDk1OTQ0MDAsMTA2NzEzMzYwMCwxMDgxMDQ0ZTMsMTA5OTE4OGUzLDExMTI0OTM2MDAsMTEzMDYzNzYwMCwxMTQzOTQzMjAwLDExNjIwODcyMDAsMTE3MzU3ODQwMCwxMTk0MTQxNjAwLDEyMDUwMjhlMywxMjI1NTkxMjAwLDEyMzY0Nzc2MDAsMTI1NzA0MDgwMCwxMjY4NTMyZTMsMTI4OTA5NTIwMCwxMjk5OTgxNjAwLDEzMjA1NDQ4MDAsMTMzMTQzMTIwMCwxMzUxOTk0NDAwLDEzNjI4ODA4MDAsMTM4MzQ0NGUzLDEzOTQzMzA0MDAsMTQxNDg5MzYwMCwxNDI1NzhlNCwxNDQ2MzQzMjAwLDE0NTc4MzQ0MDAsMTQ3ODM5NzYwMCwxNDg5Mjg0ZTMsMTUwOTg0NzIwMCwxNTIwNzMzNjAwLDE1NDEyOTY4MDAsMTU1MjE4MzIwMCwxNTcyNzQ2NDAwLDE1ODM2MzI4MDAsMTYwNDE5NmUzLDE2MTU2ODcyMDAsMTYzNjI1MDQwMCwxNjQ3MTM2ODAwLDE2Njc3ZTUsMTY3ODU4NjQwMCwxNjk5MTQ5NjAwLDE3MTAwMzZlMywxNzMwNTk5MjAwLDE3NDE0ODU2MDAsMTc2MjA0ODgwMCwxNzcyOTM1MjAwLDE3OTM0OTg0MDAsMTgwNDk4OTYwMCwxODI1NTUyODAwLDE4MzY0MzkyMDAsMTg1NzAwMjQwMCwxODY3ODg4ODAwLDE4ODg0NTJlMywxODk5MzM4NDAwLDE5MTk5MDE2MDAsMTkzMDc4OGUzXSwKb2Zmc2V0OlstMjk1NDgsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMF19LCJBc2lhL0FsbWF0eSI6e3RpbWU6Wy0xNDQxMTUyZTMsLTEyNDc1Mjk2MDAsMzU0OTMxMjAwLDM3MDc0MjQwMCwzODY0NjcyMDAsNDAyMjc4NDAwLDQxODAwMzIwMCw0MzM4MTQ0MDAsNDQ5NjI1NjAwLDQ2NTM2MTIwMCw0ODEwODI0MDAsNDk2ODEwODAwLDUxMjUzMmUzLDUyODI2MDQwMCw1NDM5ODE2MDAsNTU5NzFlNCw1NzU0MzEyMDAsNTkxMTU5NjAwLDYwNjg4MDgwMCw2MjI2MDkyMDAsNjM4MzMwNDAwLDY1NDY2MzYwMCw2NzAzODQ4MDAsNjg2MTEzMjAwLDY5NTc4NjQwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxNzA5MjUxMjAwLDE5MjUwMWU0XSxvZmZzZXQ6WzE4NDY4LDE4ZTMsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjE2MDAsMThlMywyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwxOGUzXX0sIkFzaWEvQXNoa2hhYmFkIjp7dGltZTpbLTE0NDExNTJlMywtMTI0NzUyOTYwMCwzNTQ5MzEyMDAsMzcwNzQyNDAwLDM4NjQ2NzIwMCw0MDIyNzg0MDAsNDE4MDAzMjAwLDQzMzgxNDQwMCw0NDk2MjU2MDAsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNjk1Nzg2NDAwLDE5MjUwMWU0XSxvZmZzZXQ6WzE0MDEyLDE0NDAwLDE4ZTMsMjE2MDAsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlMywxOGUzLDE0NDAwLDE4ZTNdfSwiQXNpYS9CYWhyYWluIjp7dGltZTpbLTg5Nzg2ODgwMCwtODIwNTQwODAwLDc2MjA0ODAwLDE5MjUwMDI4MDBdLG9mZnNldDpbMTIxNDAsMTI2MDAsMTQ0MDAsMTA4MDBdfSwiQXNpYS9CYW5na29rIjp7dGltZTpbLTI4NDAxNDA4MDAsLTE1NzAwNjA4MDAsMTkyNTAxNzIwMF0sb2Zmc2V0OlsyNDEyNCwyNDEyNCwyNTIwMF19LCJBc2lhL0Nob25ncWluZyI6ewp0aW1lOlstMjE3NzQ1MjgwMCwtMTYwMDY0NjQwMCwtMTU4NTg3MmUzLC05MzM2Mzg0MDAsLTkyMjA2MDgwMCwtOTA4ODQxNjAwLC04ODg3OTY4MDAsLTg4MTAyMDgwMCwtNzY3ODM2ODAwLC03NDU4MDQ4MDAsLTczMzc5NTIwMCwtNzE2ODYwODAwLC02OTk1ODA4MDAsLTY4Mzg1NmUzLC02NzA2MzY4MDAsLTY1MjMyZTQsLTY0OTk4NzIwMCw1MTU1NTZlMyw1MjcwNDcyMDAsNTQ1MTkxMjAwLDU1ODQ5NjgwMCw1NzcyNDU2MDAsNTg5OTQ2NDAwLDYwODY5NTIwMCw2MjIwMDA4MDAsNjQwMTQ0ODAwLDY1MzQ1MDQwMCw2NzE1OTQ0MDAsNjg0OWU1LDE5MjUwMjA4MDBdLG9mZnNldDpbMjkxNDMsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXNpYS9Db2xvbWJvIjp7dGltZTpbLTI4NDAxNDA4MDAsLTIwMTk2ODY0MDAsLTg4MzI2NzIwMCwtODYyNjE3NjAwLC03NjQwMjhlMyw4MzI5ODI0MDAsODQ2Mjg5ODAwLDExNDUwNjFlMywxOTI1MDExODAwXSxvZmZzZXQ6WzE5MTY0LDE5MTcyLDE5ODAwLDIxNjAwLDIzNDAwLDE5ODAwLDIzNDAwLDIxNjAwLDE5ODAwXX0sIkFzaWEvRGhha2EiOnt0aW1lOlstMjUyNDUyMTYwMCwtODkxNTYxNjAwLC04NzIwMzUyMDAsLTg2MjYxNzYwMCwtNTc2MTE1MjAwLDEyNDU0NTI0MDAsMTI2MjMwMzk5OSwxOTI1MDEzNjAwXSxvZmZzZXQ6WzIxNzAwLDIxMjAwLDIzNDAwLDE5ODAwLDIzNDAwLDIxNjAwLDI1MjAwLDIxNjAwXX0sIkFzaWEvRHViYWkiOnt0aW1lOlstMTU3NzkyMzIwMCwxOTI1MDA2NDAwXSxvZmZzZXQ6WzEzMjcyLDE0NDAwXX0sIkFzaWEvSG9fQ2hpX01pbmgiOnt0aW1lOlstMjAwNDA0OGUzLC0xODUxNTUyZTMsLTg1MjA4MDQwMCwtNzgyNjE0ODAwLC03Njc4MzY4MDAsLTcxODA3MDQwMCwtNDU3NzQzNjAwLC0zMTU2MjI4MDAsMTcxODQ5NjAwLDE5MjUwMTcyMDBdLG9mZnNldDpbMjU1OTAsMjU1OTAsMjUyMDAsMjg4MDAsMzI0MDAsMjUyMDAsMjg4MDAsMjUyMDAsMjg4MDAsMjUyMDBdfSwiQXNpYS9Ib25nX0tvbmciOnt0aW1lOlstMjA1NjY2MzM5OCwtOTAwODgyZTMsLTg5MTU0NzIwMCwtODg0MjE3NjAwLC03NjExNzY4MDAsLTc0Nzg3ODQwMCwtNzI4NTA4NjAwLC03MTcwMjFlMywtNjk3MDU5ZTMsLTY4Mzc1N2UzLC02NjgwMjg2MDAsLTY1NDcyNjYwMCwtNjM2NTc5ZTMsLTYyMzI3N2UzLC02MDUxMjk0MDAsLTU5MTgyNzQwMCwtNTczNjc5ODAwLC01NTk3NzNlMywtNTQxNjI1NDAwLC01MjgzMjM0MDAsLTUxMDE3OTQwMCwtNDk4MDgzNDAwLC00Nzg3Mjk4MDAsLTQ2NjYzMzgwMCwtNDQ2Njc1NDAwLC00MzUxODQyMDAsLTQxNTIyNTgwMCwtNDAzMTI5ODAwLC0zODM3NzYyMDAsLTM3MTY4MDIwMCwtMzUyMzI2NjAwLC0zNDAyMzA2MDAsLTMyMDg3N2UzLC0zMDg3ODFlMywtMjg4ODIyNjAwLC0yNzczMzE0MDAsLTI1NzM3M2UzLC0yNDU4ODE4MDAsLTIyNTkyMzQwMCwtMjEzODI3NDAwLC0xOTQ0NzM4MDAsLTE4MjM3NzgwMCwtMTYzMDI0MjAwLC0xNDg1MDllMywtMTMyNzg0MjAwLC0xMTcwNTk0MDAsLTEwMTMzNDYwMCwtODU2MDk4MDAsLTY5MjgwMjAwLC01MzU1NTQwMCwtMzc4MzA2MDAsLTIyMTA1ODAwLC02MzgxZTMsOTM0MzgwMCwyNTA2ODYwMCw0MDc5MzQwMCw1NjUxODIwMCw3MjI0M2UzLDg4NTcyNjAwLDEwNDI5NzQwMCwxMjAwMjIyMDAsMTI2MDcwMjAwLDE1MTQ3MTgwMCwxNjcxOTY2MDAsMTgyOTIxNDAwLDE5ODY0NjIwMCwyMTQzNzFlMywyOTU0MTQyMDAsMzA5MzI0NjAwLDE5MjUwMjA4MDBdLG9mZnNldDpbMjc0MDIsMjg4MDAsMzI0MDAsMzA2MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXNpYS9KYWthcnRhIjp7dGltZTpbLTMyMzEyNzM2MDAsLTE0NTE2OTM1NjgsLTExNzI4OGU0LC04NzY2MTQ0MDAsLTc2NjAyMjQwMCwtNjgzODU2ZTMsLTYyMDc4NGUzLC0xODkzODg4MDAsMTkyNTAxNzIwMF0sb2Zmc2V0OlsyNTYzMiwyNTYzMiwyNjQwMCwyN2UzLDMyNDAwLDI3ZTMsMjg4MDAsMjdlMywyNTIwMF19LCJBc2lhL0plcnVzYWxlbSI6ewp0aW1lOlstMjg0MDE0MDgwMCwtMTY0MDk5NTIwMCwtOTMzNjMxMjAwLC05MjMwODY4MDAsLTkxOTAyOTYwMCwtODU3MzM2NDAwLC04NDQyOTM2MDAsLTgyNTgwMDQwMCwtODEyNjcxMjAwLC03OTQxNzhlMywtNzc5ODM5MjAwLC03NjI2NDJlMywtNzQ4MzAzMjAwLC03MzExMDZlMywtNjgxOTQ4ZTMsLTY3MzIxNDQwMCwtNjY3OTQ3NjAwLC02NTIzMTI4MDAsLTYzNjQxMTYwMCwtNjIyMDcyODAwLC02MDg5MzY0MDAsLTU5MTgzMjgwMCwtNTcyNDc1NjAwLC01NTg1Njg4MDAsLTU0Mjg0MDQwMCwtNTI3NzI0ZTMsLTUxNDQxNDgwMCwtNDkwODMxMjAwLC00ODI5NjUyMDAsLTQ1OTM4MTYwMCwtNDUxNTE1NjAwLC00Mjg1MzY4MDAsLTQxODI1MTYwMCwtNDAwMTExMjAwLC0zODc0MDY4MDAsMTQyMzg3MjAwLDE1MDg1NDQwMCwxNjcxODRlMywxNzg2NzUyMDAsMzM0MTA4ODAwLDMzNzc0MTIwMCw0NTI2NDk2MDAsNDYyMzNlNCw0ODIyODQ4MDAsNDk0MzgwODAwLDUxNjc1ODQwMCw1MjY0MzUyMDAsNTQ1NDQzMjAwLDU1ODQ4OTYwMCw1NzY2MzM2MDAsNTg5MzM0NDAwLDYwOTg5NzYwMCw2MjA3ODRlMyw2MzgzMjMyMDAsNjUxNjI4ODAwLDY2OTc3MjgwMCw2ODM2ODMyMDAsNzAxODI3MjAwLDcxNTczNzYwMCw3MzM3MDg4MDAsNzQ3MTg3MjAwLDc2NTE1ODQwMCw3NzgwMzJlMyw3OTY2MDhlMyw4MTAwODY0MDAsODI2ODQ4ZTMsODQyODMyZTMsODU4OTAyNDAwLDg3NDE5NTIwMCw4OTAzNTJlMyw5MDUwNGU0LDkyMzAxODQwMCw5MzYzMjRlMyw5NTU2Nzc2MDAsOTcwNzk0ZTMsOTg2Nzc4ZTMsMTAwMTI5MzIwMCwxMDE3MzYzNjAwLDEwMzM5NTI0MDAsMTA0ODgxMzIwMCwxMDY1MTQyODAwLDEwODEyOTk2MDAsMTA5NTgxNDgwMCwxMTEyMzIwODAwLDExMjg4MjMyMDAsMTE0Mzc3MDQwMCwxMTU5NjY4ZTMsMTE3NTIyZTQsMTE4OTkwOGUzLDEyMDY2Njk2MDAsMTIyMzE3MmUzLDEyMzgxMTkyMDAsMTI1NDAxNjgwMCwxMjY5NTY4ODAwLDEyODQyNTY4MDAsMTMwMTYyMzIwMCwxMzE3NTIwODAwLDEzMzMwNzI4MDAsMTM0ODM2NTYwMCwxMzY0NTIyNDAwLDEzODI4MzkyMDAsMTM5NTk3MmUzLDE0MTQyODg4MDAsMTQyNzQyMTYwMCwxNDQ1NzM4NDAwLDE0NTg4NzEyMDAsMTQ3Nzc5MjgwMCwxNDkwMzIwODAwLDE1MDkyNDI0MDAsMTUyMTc3MDQwMCwxNTQwNjkyZTMsMTU1MzgyNDgwMCwxNTcyMTQxNjAwLDE1ODUyNzQ0MDAsMTYwMzU5MTIwMCwxNjE2NzI0ZTMsMTYzNTY0NTYwMCwxNjQ4MTczNjAwLDE2NjcwOTUyMDAsMTY3OTYyMzIwMCwxNjk4NTQ0ODAwLDE3MTE2Nzc2MDAsMTcyOTk5NDQwMCwxNzQzMTI3MjAwLDE3NjE0NDRlMywxNzc0NTc2ODAwLDE3OTI4OTM2MDAsMTgwNjAyNjQwMCwxODI0OTQ4ZTMsMTgzNzQ3NmUzLDE4NTYzOTc2MDAsMTg2ODkyNTYwMCwxODg3ODQ3MjAwLDE5MDA5OGU0LDE5MTkyOTY4MDAsMTkzMjQyOTYwMF0sb2Zmc2V0Ols4NDU0LDg0NDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxNDQwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJBc2lhL0thYnVsIjp7dGltZTpbLTI1MjQ1MjE2MDAsLTc4ODkxODQwMCwxOTI1MDA4MjAwXSxvZmZzZXQ6WzE2NjA4LDE0NDAwLDE2MjAwXX0sIkFzaWEvS2FyYWNoaSI6e3RpbWU6Wy0xOTg4MTUwNDAwLC04NjI2MTc2MDAsLTc2NDEyMTYwMCwtNTc2MTE1MjAwLDM4NzkzNjAwLDEwMTgxMzc2MDAsMTAzMzg2MjQwMCwxMjEyMjc4NDAwLDEyMjU0OTc2MDAsMTIzOTc1MzYwMCwxMjU3MDMzNjAwLDE5MjUwMWU0XSxvZmZzZXQ6WzE2MDkyLDE5ODAwLDIzNDAwLDE5ODAwLDE4ZTMsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlM119LCJBc2lhL0thdGhtYW5kdSI6e3RpbWU6Wy0xNTc3OTIzMjAwLDUwNDkyMTYwMCwxOTI1MDEyNzAwXSxvZmZzZXQ6WzIwNDc2LDE5ODAwLDIwNzAwXX0sIkFzaWEvS29sa2F0YSI6e3RpbWU6Wy0zNjQ1MjE2ZTMsLTMxNTU2NzM2MDAsLTIwMTk2ODY0MDAsLTg5MTU2MTYwMCwtODcyMDM1MjAwLC04NjI2MTc2MDAsLTc2NDEyMTYwMCwxOTI1MDExODAwXSxvZmZzZXQ6WzIxMjA4LDIxMjAwLDE5MjcwLDE5ODAwLDIzNDAwLDE5ODAwLDIzNDAwLDE5ODAwXX0sIkFzaWEvS3VhbGFfTHVtcHVyIjp7dGltZTpbLTIxNzc0NTI4MDAsLTIwMzgxNzZlMywtMTE2NzYwOTYwMCwtMTA3MzAwMTYwMCwtODk0MTUzNjAwLC04Nzk2Mzg0MDAsLTc2Njk3MjgwMCwzNzg2ODk0MDAsMTkyNTAyMDgwMF0sb2Zmc2V0OlsyNDQwNiwyNDkyNSwyNTIwMCwyNjQwMCwyNjQwMCwyN2UzLDMyNDAwLDI3ZTMsMjg4MDBdfSwiQXNpYS9LdXdhaXQiOnt0aW1lOlstNjMxMTUyZTMsMTkyNTAwMjgwMF0sb2Zmc2V0OlsxMTUxNiwxMDgwMF19LCJBc2lhL01hbmlsYSI6ewp0aW1lOlstMzk0NDY3ODQwMCwtMjIxOTA1NDE2OCwtMTA0NjY0OTYwMCwtMTA0MDA4MzIwMCwtODg0OTk1MjAwLC04Nzk5ODRlMywtNzgzNTYxNjAwLC03NjAwNjA4MDAsLTQ5NjE5NTIwMCwtNDkxNTI5NjAwLDIyODM1NTIwMCwyNDM3MzQ0MDAsNjQzMjQ4ZTMsNjQ5MjA5NjAwLDE5MjUwMjA4MDBdLG9mZnNldDpbLTU3MzY4LDI5MDMyLDI4ODAwLDMyNDAwLDI4ODAwLDMyNDAwLDMyNDAwLDMyNDAwLDI4ODAwLDMyNDAwLDI4ODAwLDMyNDAwLDI4ODAwLDMyNDAwLDI4ODAwXX0sIkFzaWEvTXVzY2F0Ijp7dGltZTpbLTE1Nzc5MjMyMDAsMTkyNTAwNjQwMF0sb2Zmc2V0OlsxNDA2NCwxNDQwMF19LCJBc2lhL05pY29zaWEiOnt0aW1lOlstMTUxODkxMmUzLDE2NjU3OTIwMCwxODIzMDRlMywyMDA5NjY0MDAsMjEzODRlNCwyMjg4NzM2MDAsMjQzOTkzNjAwLDI2MDMyMzIwMCwyNzYxMzQ0MDAsMjkxNzcyODAwLDMwNzQ5NzYwMCwzMjM4MjcyMDAsMzM4OTQ3MjAwLDM1NDY3MmUzLDM3MDM5NjgwMCwzODYxMjE2MDAsNDAxODQ2NDAwLDQxNzU3MTIwMCw0MzMyOTZlMyw0NDkwMjA4MDAsNDY1MzUwNDAwLDQ4MTA3NTIwMCw0OTY4ZTUsNTEyNTI0ODAwLDUyODI0OTYwMCw1NDM5NzQ0MDAsNTU5Njk5MjAwLDU3NTQyNGUzLDU5MTE0ODgwMCw2MDY4NzM2MDAsNjIyNTk4NDAwLDYzODMyMzIwMCw2NTQ2NTI4MDAsNjcwMzc3NjAwLDY4NjEwMjQwMCw3MDE4MjcyMDAsNzE3NTUyZTMsNzMzMjc2ODAwLDc0OTAwMTYwMCw3NjQ3MjY0MDAsNzgwNDUxMjAwLDc5NjE3NmUzLDgxMTkwMDgwMCw4MjgyMzA0MDAsODQzOTU1MjAwLDg1OTY4ZTQsODc1NDA0ODAwLDg5MTEyOTYwMCw5MDkyODhlMyw5MjI1OWU0LDk0MTM0MjQwMCw5NTQwMzk2MDAsOTcyNzkyZTMsOTg1NDg5MjAwLDEwMDQyNDE2MDAsMTAxNzU0MzYwMCwxMDM1NjkxMjAwLDEwNDg5OTMyMDAsMTA2NzE0MDgwMCwxMDgwNDQyODAwLDEwOTkxOTUyMDAsMTExMTg5MjQwMCwxMTMwNjQ0ODAwLDExNDMzNDJlMywxMTYyMDk0NDAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTE5NDgwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjE0ODQwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDU3NDU2MDAsMTQ1OTA0NzYwMCwxNDc3OGU1LDE0OTA0OTcyMDAsMTUwOTI0OTYwMCwxNTIxOTQ2ODAwLDE1NDA2OTkyMDAsMTU1NDAwMTIwMCwxNTcyMTQ4ODAwLDE1ODU0NTA4MDAsMTYwMzU5ODQwMCwxNjE2OTAwNDAwLDE2MzU2NTI4MDAsMTY0ODM1ZTQsMTY2NzEwMjQwMCwxNjc5Nzk5NjAwLDE2OTg1NTJlMywxNzExODU0ZTMsMTczMDAwMTYwMCwxNzQzMzAzNjAwLDE3NjE0NTEyMDAsMTc3NDc1MzIwMCwxNzkyOTAwODAwLDE4MDYyMDI4MDAsMTgyNDk1NTIwMCwxODM3NjUyNDAwLDE4NTY0MDQ4MDAsMTg2OTEwMmUzLDE4ODc4NTQ0MDAsMTkwMTE1NjQwMCwxOTE5MzA0ZTMsMTkzMjYwNmUzXSxvZmZzZXQ6WzgwMDgsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiQXNpYS9RYXRhciI6e3RpbWU6Wy0xNTc3OTIzMjAwLDc2MjA0ODAwLDE5MjUwMDI4MDBdLG9mZnNldDpbMTIzNjgsMTQ0MDAsMTA4MDBdfSwiQXNpYS9SaXlhZGgiOnt0aW1lOlstNzE5NjI1NjAwLDE5MjUwMDI4MDBdLG9mZnNldDpbMTEyMTIsMTA4MDBdfSwiQXNpYS9TZW91bCI6e3RpbWU6Wy0xOTQ4NzUyZTMsLTE4MzAzODRlMywtNzY3MzE4NDAwLC02ODExNzc2MDAsLTY3MjE5MmUzLC02NTQ3MzkyMDAsLTY0MDgyODgwMCwtNjIzMzc2ZTMsLTYwOTM3OTIwMCwtNTg4ODE2ZTMsLTU3NzkyOTYwMCwtNDk4MDk2ZTMsLTQ2MjY3MmUzLC00NTE2OTkyMDAsLTQyOTc1MzYwMCwtNDE4MjYyNDAwLC0zOTk1MTM2MDAsLTM4NzQxNzYwMCwtMzY4MDY0ZTMsLTM1NTk2OGUzLC0zMzY2MTQ0MDAsLTMyNDUxODQwMCwtMzA1MTY0ODAwLC0yOTMwNjg4MDAsLTI2NDkwMjQwMCw1NDc2MTA0MDAsNTYwOTE5NjAwLDU3OTA2ZTQsNTkyMzY5MjAwLDE5MjUwMjQ0MDBdLG9mZnNldDpbMzA0NzIsMzA2MDAsMzI0MDAsMzI0MDAsMzZlMywzMjQwMCwzNmUzLDMyNDAwLDM2ZTMsMzI0MDAsMzZlMywzMjQwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzMjQwMCwzNmUzLDMyNDAwLDM2ZTMsMzI0MDBdfSwiQXNpYS9TaGFuZ2hhaSI6ewp0aW1lOlstMjE3NzQ1MjgwMCwtMTYwMDY0NjQwMCwtMTU4NTg3MmUzLC05MzM2Mzg0MDAsLTkyMjA2MDgwMCwtOTA4ODQxNjAwLC04ODg3OTY4MDAsLTg4MTAyMDgwMCwtNzY3ODM2ODAwLC03NDU4MDQ4MDAsLTczMzc5NTIwMCwtNzE2ODYwODAwLC02OTk1ODA4MDAsLTY4Mzg1NmUzLC02NzA2MzY4MDAsLTY1MjMyZTQsLTY0OTk4NzIwMCw1MTU1NTZlMyw1MjcwNDcyMDAsNTQ1MTkxMjAwLDU1ODQ5NjgwMCw1NzcyNDU2MDAsNTg5OTQ2NDAwLDYwODY5NTIwMCw2MjIwMDA4MDAsNjQwMTQ0ODAwLDY1MzQ1MDQwMCw2NzE1OTQ0MDAsNjg0OWU1LDE5MjUwMjA4MDBdLG9mZnNldDpbMjkxNDMsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXNpYS9TaW5nYXBvcmUiOnt0aW1lOlstMjE3NzQ1MjgwMCwtMjAzODE3NmUzLC0xMTY3NjA5NjAwLC0xMDczMDAxNjAwLC04OTQxNTM2MDAsLTg3OTYzODQwMCwtNzY2OTcyODAwLDM3ODY4OTQwMCwxOTI1MDIwODAwXSxvZmZzZXQ6WzI0OTI1LDI0OTI1LDI1MjAwLDI2NDAwLDI2NDAwLDI3ZTMsMzI0MDAsMjdlMywyODgwMF19LCJBc2lhL1RhaXBlaSI6e3RpbWU6Wy0yMzM1MjE5MjAwLC0xMDE3NzkyZTMsLTc2NjE5MTYwMCwtNzQ1ODA0ODAwLC03MzM3OTUyMDAsLTcxNjg2MDgwMCwtNjk5NTgwODAwLC02ODM4NTZlMywtNjcwNjM2ODAwLC02NTIzMmU0LC02MzkxMDA4MDAsLTYyMDc4NGUzLC02MDc1NjQ4MDAsLTU4OTI0OGUzLC01NzYwMjg4MDAsLTU2Mjg5NmUzLC01NDE3MjhlMywtNTI4NjgxNjAwLC01MTAxOTJlMywtNDk3MTQ1NjAwLC00Nzg2NTZlMywtNDY1NjA5NjAwLC00NDk3OTg0MDAsLTQzMzk4NzIwMCwtNDE4MTc2ZTMsLTQwMjQ1MTIwMCwtMzg2NjRlNCwtMzcwOTE1MjAwLC0zNTUxMDRlMywtMzM5Mzc5MjAwLC0zMjM1NjhlMywtMzAyNDg2NDAwLC0yOTE5NDU2MDAsLTI3MDk1MDQwMCwtMjYwNDA5NjAwLDEzNDAwNjQwMCwxNDk4MTc2MDAsMTY1NTQyNDAwLDE4MTM1MzYwMCwyOTk2MzUyMDAsMzA3NTg0ZTMsMTkyNTAyMDgwMF0sb2Zmc2V0OlsyOTE2MCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMF19LCJBc2lhL1RlaHJhbiI6e3RpbWU6Wy0xNzA0MTUzNjAwLC0xMDkwNDU0NDAwLDIyNzgzMzIwMCwyNDYyNGU0LDI1OTYzMmUzLDI3MTEyNjgwMCwyNzk1OTA0MDAsMjk2NjExMjAwLDMwNjU0NzIwMCwzMjI0NDQ4MDAsMzM4NTE1MjAwLDY3MzIyODgwMCw2ODU0OTc2MDAsNzAxMjIyNDAwLDcxNzEyZTQsNzMyNzU4NDAwLDc0ODY1NmUzLDc2NDI5NDQwMCw3ODAxOTJlMyw3OTU4MzA0MDAsODExNzI4ZTMsODI3MzY2NDAwLDg0MzI2NGUzLDg1ODk4ODgwMCw4NzQ4ODY0MDAsODkwNTI0ODAwLDkwNjQyMjQwMCw5MjIwNjA4MDAsOTM3OTU4NDAwLDk1MzU5NjgwMCw5Njk0OTQ0MDAsOTg1MjE5MjAwLDEwMDExMTY4MDAsMTAxNjc1NTIwMCwxMDMyNjUyODAwLDEwNDgyOTEyMDAsMTA2NDE4ODgwMCwxMDc5ODI3MjAwLDEwOTU3MjQ4MDAsMTExMTQ0OTYwMCwxMTI3MzQ3MjAwLDEyMDYwNTc2MDAsMTIyMTk1NTIwMCwxMjM3NjhlNCwxMjUzNTc3NjAwLDEyNjkyMTZlMywxMjg1MTEzNjAwLDEzMDA3NTJlMywxMzE2NjQ5NjAwLDEzMzIyODhlMywxMzQ4MTg1NjAwLDEzNjM5MTA0MDAsMTM3OTgwOGUzLDEzOTU0NDY0MDAsMTQxMTM0NGUzLDE0MjY5ODI0MDAsMTQ0Mjg4ZTQsMTQ1ODUxODQwMCwxNDc0NDE2ZTMsMTQ5MDE0MDgwMCwxNTA2MDM4NDAwLDE1MjE2NzY4MDAsMTUzNzU3NDQwMCwxNTUzMjEyODAwLDE1NjkxMTA0MDAsMTU4NDc0ODgwMCwxNjAwNjQ2NDAwLDE2MTYzNzEyMDAsMTYzMjI2ODgwMCwxNjQ3OTA3MjAwLDE2NjM4MDQ4MDAsMTkyNTAwNDYwMF0sb2Zmc2V0OlsxMjM0NCwxMjM0NCwxMjYwMCwxNjIwMCwxNDQwMCwxOGUzLDE0NDAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwXX0sIkFzaWEvVG9reW8iOnt0aW1lOlstMjU4NzY3ODg2MSwtNjgzNzY5NjAwLC02NzIyNzQ4MDAsLTY1NDczOTIwMCwtNjQwODI1MjAwLC02MjAyNjU2MDAsLTYwOTM3NTYwMCwtNTg4ODE2ZTMsLTU3NzkyNmUzLDE5MjUwMjQ0MDBdLG9mZnNldDpbMzM1MzksMzI0MDAsMzZlMywzMjQwMCwzNmUzLDMyNDAwLDM2ZTMsMzI0MDAsMzZlMywzMjQwMF19LCJBc2lhL1lhbmdvbiI6e3RpbWU6Wy0yODQwMTQwODAwLC0xNTc3OTIzMjAwLC04NzMyNDQ4MDAsLTc3ODM3NzYwMCwxOTI1MDE1NDAwXSxvZmZzZXQ6WzIzMDg3LDIzMDg3LDIzNDAwLDMyNDAwLDIzNDAwXX0sIkF0bGFudGljL0F6b3JlcyI6ewp0aW1lOlstMjcxMzkxMDQwMCwtMTgzMDM4MzY3MiwtMTY4OTU1NTYwMCwtMTY3Nzc5OGUzLC0xNjY3NDMzNjAwLC0xNjQ3NzM0NDAwLC0xNjM1ODk3NjAwLC0xNjE2MTk4NDAwLC0xNjA0MzYxNjAwLC0xNTg0NjYyNDAwLC0xNTcyNzM5MjAwLC0xNTUzMDRlNCwtMTU0MTIwMzIwMCwtMTUyMTUwNGUzLC0xNDQyNDUxNjAwLC0xNDI3NjczNjAwLC0xMzc5MjkzMjAwLC0xMzY0Nzc0NDAwLC0xMzQ4NDQ4NDAwLC0xMzMzMzI0ODAwLC0xMzE2Mzk0ZTMsLTEzMDEyNzA0MDAsLTEyODQzMzk2MDAsLTEyNjk4MjA4MDAsLTEyMjE0NDA0MDAsLTEyMDY5MjE2MDAsLTExOTEyMDA0MDAsLTExNzU0NzJlMywtMTEyNzY5NjQwMCwtMTExMTk2OGUzLC0xMDk2ODUxNjAwLC0xMDgwNTE4NDAwLC0xMDYzNTg3NjAwLC0xMDQ5MDY4ODAwLC0xMDMzMzQ3NjAwLC0xMDE3NjE5MjAwLC0xMDAyNTAyODAwLC05ODYxNjk2MDAsLTk2OTIzODgwMCwtOTUwNDg2NDAwLC05NDIwMjI4MDAsLTkyMjQ5MjgwMCwtOTA2OTQ0NDAwLC04OTExMjk2MDAsLTg3NzMwOTIwMCwtODczNjgwNDAwLC04NjRlNiwtODU3OTUyZTMsLTg0NTg1OTYwMCwtODQyODM1NjAwLC04MzEzNDA4MDAsLTgyNTg5NzYwMCwtODE0NDFlNCwtODEwNzgxMjAwLC03OTk4OTEyMDAsLTc5NDQ0OGUzLC03ODI5NjA0MDAsLTc3OTMzMTYwMCwtNzY4NDQxNjAwLC03NjI5OTg0MDAsLTc0OTA5MTYwMCwtNzMzMzYzMjAwLC03MTc2MzEyMDAsLTcwMTkwMjgwMCwtNjg2MTgxNjAwLC02NzA0NTMyMDAsLTY1NDczMmUzLC02MzkwMDM2MDAsLTYyMzI4MjQwMCwtNjA3NTU0ZTMsLTU5MTgzMjgwMCwtNTc1NDk5NjAwLC01NTk3Nzg0MDAsLTU0NDA1ZTQsLTUyODMyODgwMCwtNTEyNjAwNDAwLC00OTY4NzkyMDAsLTQ4MTE1MDgwMCwtNDY1NDI5NjAwLC00NDk3MDEyMDAsLTQzMzk4ZTQsLTQxNzY0NjgwMCwtNDAxOTI1NjAwLC0zODYxOTcyMDAsLTM3MDQ3NmUzLC0zNTQ3NDc2MDAsLTMzOTAyNjQwMCwtMzIzMjk4ZTMsLTMwNzU3NjgwMCwtMjkxODQ4NDAwLC0yNzYxMjcyMDAsLTI2MDM5ODgwMCwtMjQ0Njc3NjAwLC0yMjgzNDQ0MDAsLTIxMjYyMzIwMCwtMTk2ODk0ODAwLC0xODExNzM2MDAsLTE2NTQ0NTIwMCwtMTQ5NzI0ZTMsLTEzMzk5NTYwMCwtMTE4Mjc0NDAwLC0xMDI1NDZlMywzODYxMjE2MDAsNDAxODVlNCw0MTc1NzEyMDAsNDMzMjk5NjAwLDQ0OTAyMDgwMCw0NjUzNTRlMyw0ODEwNzUyMDAsNDk2ODAzNjAwLDUxMjUyNDgwMCw1MjgyNTMyMDAsNTQzOTc0NDAwLDU1OTcwMjgwMCw1NzU0MjRlMyw1OTExNTI0MDAsNjA2ODczNjAwLDYyMjYwMmUzLDYzODMyMzIwMCw2NTQ2NTY0MDAsNjcwMzc3NjAwLDY4NjEwNmUzLDcwMTgyNzIwMCw3MTc1NTU2MDAsNzI1NDE4ZTMsNzMzMjgwNDAwLDc0MDI4MjQwMCw3NDkwMDUyMDAsNzY0NzI2NDAwLDc4MDQ1NDgwMCw3OTYxNzZlMyw4MTE5MDQ0MDAsODI4MjMwNDAwLDg0NjM3OGUzLDg1OTY4ZTQsODc3ODI3NjAwLDg5MTEyOTYwMCw5MDkyNzcyMDAsOTIyNTc5MjAwLDk0MTMzMTYwMCw5NTQwMjg4MDAsOTcyNzgxMjAwLDk4NTQ3ODQwMCwxMDA0MjMwODAwLDEwMTc1MzI4MDAsMTAzNTY4MDQwMCwxMDQ4OTgyNDAwLDEwNjcxM2U0LDEwODA0MzJlMywxMDk5MTg0NDAwLDExMTE4ODE2MDAsMTEzMDYzNGUzLDExNDMzMzEyMDAsMTE2MjA4MzYwMCwxMTc0NzgwODAwLDExOTM1MzMyMDAsMTIwNjgzNTIwMCwxMjI0OTgyODAwLDEyMzgyODQ4MDAsMTI1NjQzMjQwMCwxMjY5NzM0NDAwLDEyODg0ODY4MDAsMTMwMTE4NGUzLDEzMTk5MzY0MDAsMTMzMjYzMzYwMCwxMzUxMzg2ZTMsMTM2NDY4OGUzLDEzODI4MzU2MDAsMTM5NjEzNzYwMCwxNDE0Mjg1MjAwLDE0Mjc1ODcyMDAsMTQ0NTczNDgwMCwxNDU5MDM2ODAwLDE0Nzc3ODkyMDAsMTQ5MDQ4NjQwMCwxNTA5MjM4ODAwLDE1MjE5MzZlMywxNTQwNjg4NDAwLDE1NTM5OTA0MDAsMTU3MjEzOGUzLDE1ODU0NGU0LDE2MDM1ODc2MDAsMTYxNjg4OTYwMCwxNjM1NjQyZTMsMTY0ODMzOTIwMCwxNjY3MDkxNjAwLDE2Nzk3ODg4MDAsMTY5ODU0MTIwMCwxNzExODQzMjAwLDE3Mjk5OTA4MDAsMTc0MzI5MjgwMCwxNzYxNDQwNDAwLDE3NzQ3NDI0MDAsMTc5Mjg5ZTQsMTgwNjE5MmUzLDE4MjQ5NDQ0MDAsMTgzNzY0MTYwMCwxODU2Mzk0ZTMsMTg2OTA5MTIwMCwxODg3ODQzNjAwLDE5MDExNDU2MDAsMTkxOTI5MzIwMCwxOTMyNTk1MjAwXSwKb2Zmc2V0OlstNjE2MCwtNjg3MiwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwwLC0zNjAwLC03MjAwLC0zNjAwLDAsLTM2MDAsLTcyMDAsLTM2MDAsMCwtMzYwMCwtNzIwMCwtMzYwMCwwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLDM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwXX0sIkF0bGFudGljL1JleWtqYXZpayI6e3RpbWU6Wy0xOTU2NjE0NDAwLC0xNjY4MjE0ODAwLC0xNjQ3MjEyNDAwLC0xNjM2Njc4ODAwLC0xNjEzNDNlNCwtMTYwNTE0MjgwMCwtMTU4MTg5NGUzLC0xNTM5NTY1MjAwLC0xNTMxMzVlNCwtOTY4MDI5MjAwLC05NTIyOTM2MDAsLTk0MjAxMmUzLC05MjAyMzkyMDAsLTkwOTk2MTIwMCwtODg4Nzg5NjAwLC04Nzc5MDY4MDAsLTg1Nzk0NDgwMCwtODQ2NDU3MjAwLC04MjY0OTUyMDAsLTgxNTAwNzYwMCwtNzk1MDQ1NjAwLC03ODM1NThlMywtNzYyOTkxMjAwLC03NTIxMDg0MDAsLTczMTU0MTYwMCwtNzE3NjM0ODAwLC03MDAwOTJlMywtNjg2MTg1MjAwLC02Njg2NDI0MDAsLTY1NDczNTYwMCwtNjM2NTg4ZTMsLTYyMzI4NmUzLC02MDU3NDMyMDAsLTU5MTgzNjQwMCwtNTczNjg4ODAwLC01NTk3ODJlMywtNTQyMjM5MjAwLC01MjgzMzI0MDAsLTUxMDc4OTYwMCwtNDk2ODgyODAwLC00NzkzNGU0LC00NjU0MzMyMDAsLTQ0Nzg5MDQwMCwtNDMzOTgzNjAwLC00MTU4MzZlMywtNDAxOTI5MjAwLC0zODQzODY0MDAsLTM3MDQ3OTYwMCwtMzUyOTM2ODAwLC0zMzkwM2U0LC0zMjE0ODcyMDAsLTMwNzU4MDQwMCwtMjkwMDM3NjAwLC0yNzYxMzA4MDAsLTI1ODU4OGUzLC0yNDQ2ODEyMDAsLTIyNjUzMzYwMCwtMjEyNjI2ODAwLC0xOTUwODRlMywtMTgxMTc3MjAwLC0xNjM2MzQ0MDAsLTE0OTcyNzYwMCwtMTMyMTg0ODAwLC0xMTgyNzhlMywtMTAwNzM1MjAwLC04NjgyODQwMCwtNjg2ODA4MDAsLTU0Nzc0ZTMsMTkyNDk5MmUzXSxvZmZzZXQ6Wy01MjgwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDBdfSwiQXVzdHJhbGlhL0FDVCI6ewp0aW1lOlstMjM2NDA3NjgwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwtODI4MzA5NjAwLC04MTMxODZlMyw1NzcyMjQwMCw2ODAwNzYwMCw4OTE3MmUzLDEwMDA2MmUzLDEyMDYyMTYwMCwxMzE1MTE2MDAsMTUyMDcxMjAwLDE2Mjk2MTIwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NjczNzIwMCw0MDQ4Nzc2MDAsNDE1NzY3NjAwLDQzNjMyNzIwMCw0NDcyMTcyMDAsNDY3Nzc2ODAwLDQ3ODY2NjgwMCw0OTkyMjY0MDAsNTExMzI2ZTMsNTMwMDcxMjAwLDU0Mjc3NTYwMCw1NjIxMjU2MDAsNTc0ODNlNCw1OTQxOGU0LDYwNjI3OTYwMCw2MjU2Mjk2MDAsNjM2NTE5NjAwLDY1NzA3OTIwMCw2Njc5NjkyMDAsNjg4NTI4ODAwLDY5OTQxODgwMCw3MTk5Nzg0MDAsNzMxNDczMjAwLDc1MjAzMjgwMCw3NjI5MjI4MDAsNzgzNDgyNDAwLDc5NDM3MjQwMCw4MTQ5MzJlMyw4MjgyNDEyMDAsODQ2MzgxNjAwLDg1OTY5MDgwMCw4Nzc4MzEyMDAsODkxMTQwNDAwLDkwOTI4MDgwMCw5MjI1OWU0LDk0MTMzNTIwMCw5NTQwMzk2MDAsOTY3MzQxNjAwLDk4NTQ4OTIwMCwxMDA0MjM0NDAwLDEwMTc1NDM2MDAsMTAzNTY4NGUzLDEwNDg5OTMyMDAsMTA2NzEzMzYwMCwxMDgwNDQyODAwLDEwOTkxODhlMywxMTExODkyNDAwLDExMzA2Mzc2MDAsMTE0Mzk0NjgwMCwxMTYyMDg3MjAwLDExNzQ3OTE2MDAsMTE5MzUzNjgwMCwxMjA3NDUwODAwLDEyMjMxNzJlMywxMjM4OTAwNDAwLDEyNTQ2MjE2MDAsMTI3MDM1ZTQsMTI4NjA3MTIwMCwxMzAxNzk5NjAwLDEzMTc1MjA4MDAsMTMzMzI0OTIwMCwxMzQ5NTc1MjAwLDEzNjUzMDM2MDAsMTM4MTAyNDgwMCwxMzk2NzUzMjAwLDE0MTI0NzQ0MDAsMTQyODIwMjgwMCwxNDQzOTI0ZTMsMTQ1OTY1MjQwMCwxNDc1MzczNjAwLDE0OTExMDJlMywxNTA2ODIzMjAwLDE1MjI1NTE2MDAsMTUzODg3NzYwMCwxNTU0NjA2ZTMsMTU3MDMyNzIwMCwxNTg2MDU1NjAwLDE2MDE3NzY4MDAsMTYxNzUwNTIwMCwxNjMzMjI2NDAwLDE2NDg5NTQ4MDAsMTY2NDY3NmUzLDE2ODA0MDQ0MDAsMTY5NjEyNTYwMCwxNzEyNDU4ODAwLDE3MjgxOGU0LDE3NDM5MDg0MDAsMTc1OTYyOTYwMCwxNzc1MzU4ZTMsMTc5MTA3OTIwMCwxODA2ODA3NjAwLDE4MjI1Mjg4MDAsMTgzODI1NzIwMCwxODUzOTc4NDAwLDE4Njk3MDY4MDAsMTg4NjAzMjgwMCwxOTAxNzYxMjAwLDE5MTc0ODI0MDAsMTkzMzIxMDgwMF0sb2Zmc2V0OlszNjI5MiwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwXX0sIkF1c3RyYWxpYS9BZGVsYWlkZSI6ewp0aW1lOlstMjM2NDA3NjgwMCwtMjIzMDE1NjgwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwtODI4MzA5NjAwLC04MTMxODZlMyw1NzcyMjQwMCw2ODAwNzYwMCw4OTE3MmUzLDEwMDA2MmUzLDEyMDYyMTYwMCwxMzE1MTE2MDAsMTUyMDcxMjAwLDE2Mjk2MTIwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NDMxOGUzLDQwNDg3NzYwMCw0MTU3Njc2MDAsNDM2MzI3MjAwLDQ0NzIxNzIwMCw0Njc3NzY4MDAsNDc4NjY2ODAwLDQ5OTIyNjQwMCw1MTEzMjZlMyw1MzAwNzEyMDAsNTQyNzc1NjAwLDU2MjEyNTYwMCw1NzQ4M2U0LDU5NDE4ZTQsNjA2Mjc5NjAwLDYyNTYyOTYwMCw2Mzc3MjkyMDAsNjU3MDc5MjAwLDY2Nzk2OTIwMCw2ODg1Mjg4MDAsNzAxMjMzMjAwLDcxOTk3ODQwMCw3MzE0NzMyMDAsNzUyMDMyODAwLDc2NDEzMjQwMCw3ODM0ODI0MDAsNzk2MTg2ODAwLDgxNDkzMmUzLDgyODI0MTIwMCw4NDYzODE2MDAsODU5NjkwODAwLDg3NzgzMTIwMCw4OTExNDA0MDAsOTA5MjgwODAwLDkyMjU5ZTQsOTQxMzM1MjAwLDk1NDAzOTYwMCw5NzI3ODQ4MDAsOTg1NDg5MjAwLDEwMDQyMzQ0MDAsMTAxNzU0MzYwMCwxMDM1Njg0ZTMsMTA0ODk5MzIwMCwxMDY3MTMzNjAwLDEwODA0NDI4MDAsMTA5OTE4OGUzLDExMTE4OTI0MDAsMTEzMDYzNzYwMCwxMTQzOTQ2ODAwLDExNjIwODcyMDAsMTE3NDc5MTYwMCwxMTkzNTM2ODAwLDEyMDc0NTA4MDAsMTIyMzE3MmUzLDEyMzg5MDA0MDAsMTI1NDYyMTYwMCwxMjcwMzVlNCwxMjg2MDcxMjAwLDEzMDE3OTk2MDAsMTMxNzUyMDgwMCwxMzMzMjQ5MjAwLDEzNDk1NzUyMDAsMTM2NTMwMzYwMCwxMzgxMDI0ODAwLDEzOTY3NTMyMDAsMTQxMjQ3NDQwMCwxNDI4MjAyODAwLDE0NDM5MjRlMywxNDU5NjUyNDAwLDE0NzUzNzM2MDAsMTQ5MTEwMmUzLDE1MDY4MjMyMDAsMTUyMjU1MTYwMCwxNTM4ODc3NjAwLDE1NTQ2MDZlMywxNTcwMzI3MjAwLDE1ODYwNTU2MDAsMTYwMTc3NjgwMCwxNjE3NTA1MjAwLDE2MzMyMjY0MDAsMTY0ODk1NDgwMCwxNjY0Njc2ZTMsMTY4MDQwNDQwMCwxNjk2MTI1NjAwLDE3MTI0NTg4MDAsMTcyODE4ZTQsMTc0MzkwODQwMCwxNzU5NjI5NjAwLDE3NzUzNThlMywxNzkxMDc5MjAwLDE4MDY4MDc2MDAsMTgyMjUyODgwMCwxODM4MjU3MjAwLDE4NTM5Nzg0MDAsMTg2OTcwNjgwMCwxODg2MDMyODAwLDE5MDE3NjEyMDAsMTkxNzQ4MjQwMCwxOTMzMjEwODAwXSxvZmZzZXQ6WzMzMjYwLDMyNDAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwXX0sIkF1c3RyYWxpYS9CcmlzYmFuZSI6e3RpbWU6Wy0yMzY2NzU1MjAwLC0xNjcyNTI0ZTMsLTE2NjUzNDkyMDAsLTg4MzYwNTYwMCwtODc2MDg1MjAwLC04NjAzNjRlMywtODQ0NjM1NjAwLC04MjgzMDk2MDAsLTgxMzE4NmUzLDU3NzIyNDAwLDY4MDA3NjAwLDYyNTYyOTYwMCw2MzY1MTk2MDAsNjU3MDc5MjAwLDY2Nzk2OTIwMCw2ODg1Mjg4MDAsNjk5NDE4ODAwLDE5MjUwMjhlM10sb2Zmc2V0OlszNjcyOCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlM119LCJBdXN0cmFsaWEvUGVydGgiOnt0aW1lOlstMjMzNzg5NzYwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwxNTIwNzEyMDAsMTYyOTYxMjAwLDQzNjMyNzIwMCw0NDcyMTcyMDAsNjkwMzQzMjAwLDY5OTQxODgwMCwxMTY1MTExMjAwLDExNzQ3OTE2MDAsMTE5MzUzNjgwMCwxMjA2ODQ2ZTMsMTIyNDk4NjQwMCwxMjM4Mjk1NjAwLDE5MjUwMjA4MDBdLG9mZnNldDpbMjc4MDQsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXVzdHJhbGlhL1N5ZG5leSI6ewp0aW1lOlstMjM2NDA3NjgwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwtODI4MzA5NjAwLC04MTMxODZlMyw1NzcyMjQwMCw2ODAwNzYwMCw4OTE3MmUzLDEwMDA2MmUzLDEyMDYyMTYwMCwxMzE1MTE2MDAsMTUyMDcxMjAwLDE2Mjk2MTIwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NjczNzIwMCw0MDQ4Nzc2MDAsNDE1NzY3NjAwLDQzNjMyNzIwMCw0NDcyMTcyMDAsNDY3Nzc2ODAwLDQ3ODY2NjgwMCw0OTkyMjY0MDAsNTExMzI2ZTMsNTMwMDcxMjAwLDU0Mjc3NTYwMCw1NjIxMjU2MDAsNTc0ODNlNCw1OTQxOGU0LDYwNjI3OTYwMCw2MjU2Mjk2MDAsNjM2NTE5NjAwLDY1NzA3OTIwMCw2Njc5NjkyMDAsNjg4NTI4ODAwLDY5OTQxODgwMCw3MTk5Nzg0MDAsNzMxNDczMjAwLDc1MjAzMjgwMCw3NjI5MjI4MDAsNzgzNDgyNDAwLDc5NDM3MjQwMCw4MTQ5MzJlMyw4MjgyNDEyMDAsODQ2MzgxNjAwLDg1OTY5MDgwMCw4Nzc4MzEyMDAsODkxMTQwNDAwLDkwOTI4MDgwMCw5MjI1OWU0LDk0MTMzNTIwMCw5NTQwMzk2MDAsOTY3MzQxNjAwLDk4NTQ4OTIwMCwxMDA0MjM0NDAwLDEwMTc1NDM2MDAsMTAzNTY4NGUzLDEwNDg5OTMyMDAsMTA2NzEzMzYwMCwxMDgwNDQyODAwLDEwOTkxODhlMywxMTExODkyNDAwLDExMzA2Mzc2MDAsMTE0Mzk0NjgwMCwxMTYyMDg3MjAwLDExNzQ3OTE2MDAsMTE5MzUzNjgwMCwxMjA3NDUwODAwLDEyMjMxNzJlMywxMjM4OTAwNDAwLDEyNTQ2MjE2MDAsMTI3MDM1ZTQsMTI4NjA3MTIwMCwxMzAxNzk5NjAwLDEzMTc1MjA4MDAsMTMzMzI0OTIwMCwxMzQ5NTc1MjAwLDEzNjUzMDM2MDAsMTM4MTAyNDgwMCwxMzk2NzUzMjAwLDE0MTI0NzQ0MDAsMTQyODIwMjgwMCwxNDQzOTI0ZTMsMTQ1OTY1MjQwMCwxNDc1MzczNjAwLDE0OTExMDJlMywxNTA2ODIzMjAwLDE1MjI1NTE2MDAsMTUzODg3NzYwMCwxNTU0NjA2ZTMsMTU3MDMyNzIwMCwxNTg2MDU1NjAwLDE2MDE3NzY4MDAsMTYxNzUwNTIwMCwxNjMzMjI2NDAwLDE2NDg5NTQ4MDAsMTY2NDY3NmUzLDE2ODA0MDQ0MDAsMTY5NjEyNTYwMCwxNzEyNDU4ODAwLDE3MjgxOGU0LDE3NDM5MDg0MDAsMTc1OTYyOTYwMCwxNzc1MzU4ZTMsMTc5MTA3OTIwMCwxODA2ODA3NjAwLDE4MjI1Mjg4MDAsMTgzODI1NzIwMCwxODUzOTc4NDAwLDE4Njk3MDY4MDAsMTg4NjAzMjgwMCwxOTAxNzYxMjAwLDE5MTc0ODI0MDAsMTkzMzIxMDgwMF0sb2Zmc2V0OlszNjI5MiwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwXX0sIkV1cm9wZS9BbXN0ZXJkYW0iOnsKdGltZTpbLTQyNjAyMTEyMDAsLTE2OTM2OTkyMDAsLTE2ODA0OGU0LC0xNjYzNDUyZTMsLTE2NTAxNDI4MDAsLTE2MzMyMTJlMywtMTYxNzQ4MzYwMCwtMTYwMTE1NzYwMCwtMTU4NjAzNGUzLC0xNTY5NzA4ZTMsLTE1NTQ1ODQ0MDAsLTE1MzgyNTg0MDAsLTE1MjMxMzQ4MDAsLTE1MDc1ZTUsLTE0OTA1NjJlMywtMTQ3MDE3NTIwMCwtMTQ1OTExMjQwMCwtMTQ0Mzk5NmUzLC0xNDI3NjYyODAwLC0xNDA2NjcxMjAwLC0xMzk2MjEzMjAwLC0xMzc2OTQ5NjAwLC0xMzY0NzYzNjAwLC0xMzQ1NDEzNjAwLC0xMzMzMzE0ZTMsLTEzMTM3OTEyMDAsLTEzMDEyNTk2MDAsLTEyODIyNTUyMDAsLTEyNjk4MWU0LC0xMjUwNzE5MjAwLC0xMjM4MzYwNDAwLC0xMjE5MTgzMjAwLC0xMjA2OTEwODAwLC0xMTg2OTU2ZTMsLTExNzU0NjEyMDAsLTExNTYwMjQ4MDAsLTExNDM0MDY4MDAsLTExMjQ0ODg4MDAsLTExMTE5NTcyMDAsLTEwOTI5NTI4MDAsLTEwODA1MDc2MDAsLTEwNjEzMzA0MDAsLTEwNDkwNThlMywtMTAyOTE4OTYwMCwtMTAyNTc0MDgwMCwtMTAxNzYwODQwMCwtOTk4MjU4NDAwLC05ODYxNTg4MDAsLTk2NjcyMjQwMCwtOTU0MTA0NDAwLC05MzUwMjA4MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLDIyODg4MDgwMCwyNDQwMDQ0MDAsMjYwMzMwNDAwLDI3NjA1ODgwMCwyOTE3OGU0LDMwNzUwODQwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMTE3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsNDgwMCwxMjAwLDQ4MDAsMTIwMCw0ODAwLDEyMDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9BdGhlbnMiOnsKdGltZTpbLTIzNDQ2MzY4MDAsLTE2ODYwOTU5NDAsLTExODI5ODg4MDAsLTExNzgxNTA0MDAsLTkwNjg1NDQwMCwtOTA0ODY3MjAwLC04NTcyNWU0LC04NDQ0NzM2MDAsLTgyODIzMDQwMCwtODEyNDE5MjAwLC01NTIzNTUyMDAsLTU0MTY0MTYwMCwxNjY0OTI4MDAsMTg2MTk1NjAwLDE5ODAzNmUzLDIxMzc2NDQwMCwyMjg4ODA4MDAsMjQ0MDkwODAwLDI2MDMzMDQwMCwyNzU0NTc2MDAsMjkxODA1MjAwLDMwNzQxODQwMCwzMjMzOTUyMDAsMzM4OTQ3MjAwLDM1NDY4MjgwMCwzNzA0MTEyMDAsMzg2MTMyNDAwLDQwMTg2MDgwMCw0MTc1ODJlMyw0MzMzMTA0MDAsNDQ5MDMxNjAwLDQ2NTM2NDgwMCw0ODEwODZlMyw0OTY4MTQ0MDAsNTEyNTM1NjAwLDUyODI2NGUzLDU0Mzk4NTIwMCw1NTk3MTM2MDAsNTc1NDM0ODAwLDU5MTE2MzIwMCw2MDY4ODQ0MDAsNjIyNjEyODAwLDYzODMzNGUzLDY1NDY2NzIwMCw2NzAzODg0MDAsNjg2MTE2ODAwLDcwMTgzOGUzLDcxNzU2NjQwMCw3MzMyODc2MDAsNzQ5MDE2ZTMsNzY0NzM3MjAwLDc4MDQ2NTYwMCw3OTYxODY4MDAsODExOTE1MjAwLDgyODI0MTIwMCw4NDYzODg4MDAsODU5NjkwODAwLDg3NzgzODQwMCw4OTExNDA0MDAsOTA5Mjg4ZTMsOTIyNTllNCw5NDEzNDI0MDAsOTU0MDM5NjAwLDk3Mjc5MmUzLDk4NTQ4OTIwMCwxMDA0MjQxNjAwLDEwMTc1NDM2MDAsMTAzNTY5MTIwMCwxMDQ4OTkzMjAwLDEwNjcxNDA4MDAsMTA4MDQ0MjgwMCwxMDk5MTk1MjAwLDExMTE4OTI0MDAsMTEzMDY0NDgwMCwxMTQzMzQyZTMsMTE2MjA5NDQwMCwxMTc0NzkxNjAwLDExOTM1NDRlMywxMjA2ODQ2ZTMsMTIyNDk5MzYwMCwxMjM4Mjk1NjAwLDEyNTY0NDMyMDAsMTI2OTc0NTIwMCwxMjg4NDk3NjAwLDEzMDExOTQ4MDAsMTMxOTk0NzIwMCwxMzMyNjQ0NDAwLDEzNTEzOTY4MDAsMTM2NDY5ODgwMCwxMzgyODQ2NDAwLDEzOTYxNDg0MDAsMTQxNDI5NmUzLDE0Mjc1OThlMywxNDQ1NzQ1NjAwLDE0NTkwNDc2MDAsMTQ3NzhlNSwxNDkwNDk3MjAwLDE1MDkyNDk2MDAsMTUyMTk0NjgwMCwxNTQwNjk5MjAwLDE1NTQwMDEyMDAsMTU3MjE0ODgwMCwxNTg1NDUwODAwLDE2MDM1OTg0MDAsMTYxNjkwMDQwMCwxNjM1NjUyODAwLDE2NDgzNWU0LDE2NjcxMDI0MDAsMTY3OTc5OTYwMCwxNjk4NTUyZTMsMTcxMTg1NGUzLDE3MzAwMDE2MDAsMTc0MzMwMzYwMCwxNzYxNDUxMjAwLDE3NzQ3NTMyMDAsMTc5MjkwMDgwMCwxODA2MjAyODAwLDE4MjQ5NTUyMDAsMTgzNzY1MjQwMCwxODU2NDA0ODAwLDE4NjkxMDJlMywxODg3ODU0NDAwLDE5MDExNTY0MDAsMTkxOTMwNGUzLDE5MzI2MDZlM10sb2Zmc2V0Ols1NjkyLDU2OTIsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJFdXJvcGUvQmVsZ3JhZGUiOnsKdGltZTpbLTI3MTM5MTA0MDAsLTkwNTgyMTIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzc3OTM4NDAwLC03NjY2MTY0MDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0Ols0OTIwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9CZXJsaW4iOnt0aW1lOlstMjQyMjA1MTIwMCwtMTY5MzcwMjgwMCwtMTY4MDQ3NjQwMCwtMTY2MzQ1MmUzLC0xNjUwMTQyODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC05Mzg5MDE2MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc4MTA0ODgwMCwtNzc2NTU2ZTMsLTc2NTkyNTIwMCwtNzYxMTczMjAwLC03NDg0NzZlMywtNzMzMjY2ZTMsLTcxNzYyNzYwMCwtNzE0NjAzNjAwLC03MTAzN2U0LC03MDE5MDI4MDAsLTY4NDk3MmUzLC02NzA0NTMyMDAsLTY1NDEyNzIwMCwtNjM5MDAzNjAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbMzIwOCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMTA4MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9CcmF0aXNsYXZhIjp7dGltZTpbLTM3ODY4MjU2MDAsLTI0NjkzOTg0MDAsLTE2OTM3MDI4MDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtOTM4OTAxNjAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTY3N2U0LC03ODEwNDg4MDAsLTc2NTMyMDQwMCwtNzQ2NTc1MjAwLC03MzMzNTI0MDAsLTcyODUxNGUzLC03MjEyNmU0LC03MTY0MjE2MDAsLTcwMTkwMjgwMCwtNjg0OTcyZTMsLTY3MDQ1MzIwMCwtNjU0MjEzNjAwLC02MzkwMDM2MDAsMjkxNzhlNCwzMDc1MDg0MDAsMzIzODM0NDAwLDMzODk1OGUzLDM1NDY3OTIwMCwzNzA0MDc2MDAsMzg2MTI4ODAwLDQwMTg1NzIwMCw0MTc1Nzg0MDAsNDMzMzA2ODAwLDQ0OTAyOGUzLDQ2NTM2MTIwMCw0ODEwODI0MDAsNDk2ODEwODAwLDUxMjUzMmUzLDUyODI2MDQwMCw1NDM5ODE2MDAsNTU5NzFlNCw1NzU0MzEyMDAsNTkxMTU5NjAwLDYwNjg4MDgwMCw2MjI2MDkyMDAsNjM4MzMwNDAwLDY1NDY2MzYwMCw2NzAzODQ4MDAsNjg2MTEzMjAwLDcwMTgzNDQwMCw3MTc1NjI4MDAsNzMzMjg0ZTMsNzQ5MDEyNDAwLDc2NDczMzYwMCw3ODA0NjJlMyw3OTYxODMyMDAsODExOTExNjAwLDgyODIzNzYwMCw4NDYzODUyMDAsODU5Njg3MjAwLDg3NzgzNDgwMCw4OTExMzY4MDAsOTA5Mjg0NDAwLDkyMjU4NjQwMCw5NDEzMzg4MDAsOTU0MDM2ZTMsOTcyNzg4NDAwLDk4NTQ4NTYwMCwxMDA0MjM4ZTMsMTAxNzU0ZTQsMTAzNTY4NzYwMCwxMDQ4OTg5NjAwLDEwNjcxMzcyMDAsMTA4MDQzOTIwMCwxMDk5MTkxNjAwLDExMTE4ODg4MDAsMTEzMDY0MTIwMCwxMTQzMzM4NDAwLDExNjIwOTA4MDAsMTE3NDc4OGUzLDExOTM1NDA0MDAsMTIwNjg0MjQwMCwxMjI0OTllNCwxMjM4MjkyZTMsMTI1NjQzOTYwMCwxMjY5NzQxNjAwLDEyODg0OTRlMywxMzAxMTkxMjAwLDEzMTk5NDM2MDAsMTMzMjY0MDgwMCwxMzUxMzkzMjAwLDEzNjQ2OTUyMDAsMTM4Mjg0MjgwMCwxMzk2MTQ0ODAwLDE0MTQyOTI0MDAsMTQyNzU5NDQwMCwxNDQ1NzQyZTMsMTQ1OTA0NGUzLDE0Nzc3OTY0MDAsMTQ5MDQ5MzYwMCwxNTA5MjQ2ZTMsMTUyMTk0MzIwMCwxNTQwNjk1NjAwLDE1NTM5OTc2MDAsMTU3MjE0NTIwMCwxNTg1NDQ3MjAwLDE2MDM1OTQ4MDAsMTYxNjg5NjgwMCwxNjM1NjQ5MjAwLDE2NDgzNDY0MDAsMTY2NzA5ODgwMCwxNjc5Nzk2ZTMsMTY5ODU0ODQwMCwxNzExODUwNDAwLDE3Mjk5OThlMywxNzQzM2U1LDE3NjE0NDc2MDAsMTc3NDc0OTYwMCwxNzkyODk3MjAwLDE4MDYxOTkyMDAsMTgyNDk1MTYwMCwxODM3NjQ4ODAwLDE4NTY0MDEyMDAsMTg2OTA5ODQwMCwxODg3ODUwODAwLDE5MDExNTI4MDAsMTkxOTMwMDQwMCwxOTMyNjAyNDAwXSxvZmZzZXQ6WzM0NjQsMzQ2NCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvQnJ1c3NlbHMiOnsKdGltZTpbLTI4NDAxNDA4MDAsLTI0NTA5OTQxNTAsLTE3NDAzNTUyMDAsLTE2OTM2OTkyMDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTYxMzgyMjQwMCwtMTYwNDI3ODgwMCwtMTU4NTUyNjQwMCwtMTU3NDAzODgwMCwtMTU1MjI2MjQwMCwtMTUzOTk5NzIwMCwtMTUyMDU1MzYwMCwtMTUwNzUxMDgwMCwtMTQ5MDU3MjgwMCwtMTQ3MzY0MmUzLC0xNDU5MTIzMjAwLC0xNDQ0MDA2ODAwLC0xNDI3NjczNjAwLC0xNDExOTUyNDAwLC0xMzk2MjI0ZTMsLTEzNzkyOTMyMDAsLTEzNjQ3NzQ0MDAsLTEzNDg0NDg0MDAsLTEzMzMzMjQ4MDAsLTEzMTYzOTRlMywtMTMwMTI1OTYwMCwtMTI4NDMyODgwMCwtMTI2OTgxZTQsLTEyNTM0ODRlMywtMTIzODM2MDQwMCwtMTIyMTQyOTYwMCwtMTIwNjkxMDgwMCwtMTE5MTE4OTYwMCwtMTE3NTQ2MTIwMCwtMTE2MDM0NDgwMCwtMTE0MzQwNjgwMCwtMTEyNzY4NTYwMCwtMTExMTk1NzIwMCwtMTA5Njg0MDgwMCwtMTA4MDUwNzYwMCwtMTA2MzU3NjgwMCwtMTA0OTA1OGUzLC0xMDMzMzM2ODAwLC0xMDE3NjA4NDAwLC0xMDAyNDkyZTMsLTk4NjE1ODgwMCwtOTY5MjI4ZTMsLTk1MDQ3NTYwMCwtOTQyMDEyZTMsLTkzNDY2NDQwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk4MDY2ZTMsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLC03NDU0NTJlMywtNzMzMjY2ZTMsMjI4ODgwODAwLDI0NDAwNDQwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0OlsxMDUwLDEwNTAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9CdWNoYXJlc3QiOnsKdGltZTpbLTI0NjkzOTg0MDAsLTEyMTMxNDI0MDAsLTExODcwNDk2MDAsLTExNzU0Njg0MDAsLTExNTk3NDcyMDAsLTExNDQwMTg4MDAsLTExMjc2OTI4MDAsLTExMTE5NjQ0MDAsLTEwOTYyNDMyMDAsLTEwODA1MTQ4MDAsLTEwNjQ3OTM2MDAsLTEwNDkwNjUyMDAsLTEwMzMzNDRlMywtMTAxNzYxNTYwMCwtMTAwMTg5NDQwMCwtOTg2MTY2ZTMsLTk3MDQ0NDgwMCwtOTU0NzE2NDAwLDI5NjYxMTIwMCwzMDc0OTc2MDAsMzIzODIzNjAwLDMzODk1MDgwMCwzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzc3NjAwLDY4NjEwNmUzLDcwMTgyNzIwMCw3MTc1NTU2MDAsNzMzMjc2ODAwLDc0OTAwNTIwMCw3NjQ3MjY0MDAsNzgwNDUxMjAwLDc5NjE3NmUzLDgxMTkwMDgwMCw4MjgyMzA0MDAsODQ2Mzc0NDAwLDg1OTY5MDgwMCw4Nzc4Mzg0MDAsODkxMTQwNDAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDk1NDAzOTYwMCw5NzI3OTJlMyw5ODU0ODkyMDAsMTAwNDI0MTYwMCwxMDE3NTQzNjAwLDEwMzU2OTEyMDAsMTA0ODk5MzIwMCwxMDY3MTQwODAwLDEwODA0NDI4MDAsMTA5OTE5NTIwMCwxMTExODkyNDAwLDExMzA2NDQ4MDAsMTE0MzM0MmUzLDExNjIwOTQ0MDAsMTE3NDc5MTYwMCwxMTkzNTQ0ZTMsMTIwNjg0NmUzLDEyMjQ5OTM2MDAsMTIzODI5NTYwMCwxMjU2NDQzMjAwLDEyNjk3NDUyMDAsMTI4ODQ5NzYwMCwxMzAxMTk0ODAwLDEzMTk5NDcyMDAsMTMzMjY0NDQwMCwxMzUxMzk2ODAwLDEzNjQ2OTg4MDAsMTM4Mjg0NjQwMCwxMzk2MTQ4NDAwLDE0MTQyOTZlMywxNDI3NTk4ZTMsMTQ0NTc0NTYwMCwxNDU5MDQ3NjAwLDE0Nzc4ZTUsMTQ5MDQ5NzIwMCwxNTA5MjQ5NjAwLDE1MjE5NDY4MDAsMTU0MDY5OTIwMCwxNTU0MDAxMjAwLDE1NzIxNDg4MDAsMTU4NTQ1MDgwMCwxNjAzNTk4NDAwLDE2MTY5MDA0MDAsMTYzNTY1MjgwMCwxNjQ4MzVlNCwxNjY3MTAyNDAwLDE2Nzk3OTk2MDAsMTY5ODU1MmUzLDE3MTE4NTRlMywxNzMwMDAxNjAwLDE3NDMzMDM2MDAsMTc2MTQ1MTIwMCwxNzc0NzUzMjAwLDE3OTI5MDA4MDAsMTgwNjIwMjgwMCwxODI0OTU1MjAwLDE4Mzc2NTI0MDAsMTg1NjQwNDgwMCwxODY5MTAyZTMsMTg4Nzg1NDQwMCwxOTAxMTU2NDAwLDE5MTkzMDRlMywxOTMyNjA2ZTNdLG9mZnNldDpbNjI2NCw2MjY0LDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL0J1ZGFwZXN0Ijp7CnRpbWU6Wy0yNDk4MjU2ZTMsLTE2OTM3MDI4MDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTYwMDQ2NjQwMCwtMTU4NzI0MzYwMCwtMTU2OTcwOGUzLC0xNTU1MTg5MjAwLC05MDY3NzE2MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc3ODQ2NzYwMCwtNzYyNjQ5MjAwLC03NDk2ODU2MDAsLTczMzI2OTYwMCwtNzE3NjMxMjAwLC03MDE5MDI4MDAsLTY4NjE4MTYwMCwtNjcwNDUzMjAwLC02NTQxMjcyMDAsLTYzOTAwMzYwMCwtNDkyNjUyODAwLC00ODExNjE2MDAsLTQ2MTE5NmUzLC00NDk3MDEyMDAsLTQyODUzNjgwMCwtNDE4MjUxNjAwLC0zOTcwODcyMDAsLTM4NjgwMmUzLDMyMzgyNzIwMCwzMzg5NTA4MDAsMzU0NjcyZTMsMzcwNDAwNDAwLDM4NjEyMTYwMCw0MDE4NWU0LDQxNzU3MTIwMCw0MzMyOTk2MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbNDU4MCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDBdfSwiRXVyb3BlL0NvcGVuaGFnZW4iOnsKdGltZTpbLTI1MjQ1MjE2MDAsLTIzOTgyOTEyMDAsLTE2OTI0OTMyMDAsLTE2ODA0ODM2MDAsLTkzNTEwNzIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03NjkzODEyMDAsLTc0NzAwNzIwMCwtNzM2Mzc2NDAwLC03MTUyMTJlMywtNzA2NzQxMjAwLC02ODMxNTc2MDAsLTY3NTI5MTYwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMzAyMCwzMDIwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvRHVibGluIjp7CnRpbWU6Wy0yODIxNjUxMjAwLC0xNjkxOTY0ZTMsLTE2ODA0NjkyMDAsLTE2NjQxNDMyMDAsLTE2NTAxNDI4MDAsLTE2MzM5MDMyMDAsLTE2MTc0ODM2MDAsLTE2MDE4NDg4MDAsLTE1ODYwMzRlMywtMTU3MDM5OTIwMCwtMTU1MjE2NTIwMCwtMTUzODM0NDgwMCwtMTUyMjUzZTQsLTE1MDc1ZTUsLTE0OTA1NjJlMywtMTQ3MzYzMTIwMCwtMTQ2MDkyNjgwMCwtMTQ0Mjc4NjQwMCwtMTQyODg3MjQwMCwtMTQxMDczMmUzLC0xMzk2MjEzMjAwLC0xMzc5MjgyNDAwLC0xMzY0NzYzNjAwLC0xMzQ4NDM3NjAwLC0xMzMzMzE0ZTMsLTEzMTU3Nzg0MDAsLTEzMDEyNTk2MDAsLTEyODQzMjg4MDAsLTEyNjk4MWU0LC0xMjUzNDg0ZTMsLTEyMzgzNjA0MDAsLTEyMjE0Mjk2MDAsLTEyMDY5MTA4MDAsLTExODk5OGU0LC0xMTc1NDYxMjAwLC0xMTU5MTM1MjAwLC0xMTQzNDA2ODAwLC0xMTI2NDc2ZTMsLTExMTE5NTcyMDAsLTEwOTU2MzEyMDAsLTEwODA1MDc2MDAsLTEwNjM1NzY4MDAsLTEwNDkwNThlMywtMTAzMjEyNzIwMCwtMTAxNzYwODQwMCwtMTAwMTI4MjQwMCwtOTg2MTU4ODAwLC05NjkyMjhlMywtOTUwNDc1NjAwLC05NDIwMTJlMywtNzMzMzUyNDAwLC03MTk0NDU2MDAsLTY5OTQ4MzYwMCwtNjg0OTcyZTMsLTY2ODAzNGUzLC02NTQ3MzJlMywtNjM2NTg0NDAwLC02MjIwNzI4MDAsLTYwNTczOTYwMCwtNTkwNjIzMjAwLC01NzQyOWU0LC01NTg1Njg4MDAsLTU0MjIzNTYwMCwtNTI3MTE5MjAwLC01MTI2MDA0MDAsLTQ5NjI3NDQwMCwtNDgxMTUwODAwLC00NjQyMmU0LC00NDk3MDEyMDAsLTQzMjE2NTYwMCwtNDE3NjQ2ODAwLC00MDEzMjA4MDAsLTM4NjE5NzIwMCwtMzY5MjY2NDAwLC0zNTQ3NDc2MDAsLTMzNzgxNjgwMCwtMzIzMjk4ZTMsLTMwNjk3MmUzLC0yOTE4NDg0MDAsLTI3NjczMmUzLC0yNTc5Nzk2MDAsLTI0NTI4MjQwMCwtMjI2NTNlNCwtMjEzMjI4ZTMsLTE5NTA4MDQwMCwtMTgyMzgzMjAwLC0xNjM2MzA4MDAsLTE1MDkzMzYwMCwtMTMyMTgxMjAwLC0xMTk0ODRlMywtMTAwNzMxNjAwLC04ODAzNDQwMCwtNjg2NzcyMDAsLTU5MDA0ZTMsNTc3MjZlMyw2OTgxODQwMCw4OTE3NTYwMCwxMDEyNjhlMywxMjA2MjUyMDAsMTMyNzE3NjAwLDE1MjA3NDgwMCwxNjQxNjcyMDAsMTgzNTI0NDAwLDE5NjIyMTYwMCwyMTQ5NzRlMywyMjc2NzEyMDAsMjQ2NDIzNjAwLDI1OTEyMDgwMCwyNzg0NzhlMywyOTA1NzA0MDAsMzA5OTI3NjAwLDMyMjAyZTQsMzQxMzc3MjAwLDM1NDY3NTYwMCwzNzI4MjMyMDAsMzg2MTI1MjAwLDQwNDI3MjgwMCw0MTc1NzQ4MDAsNDM1NzIyNDAwLDQ0OTAyNDQwMCw0Njc3NzY4MDAsNDgxMDc4ODAwLDQ5OTIyNjQwMCw1MTI1Mjg0MDAsNTMwNjc2ZTMsNTQzOTc4ZTMsNTYyMTI1NjAwLDU3NTQyNzYwMCw1OTM1NzUyMDAsNjA2ODc3MjAwLDYyNTYyOTYwMCw2MzgzMjY4MDAsNjU3MDc5MjAwLDY3MDM4MTIwMCw2ODg1Mjg4MDAsNzAxODMwODAwLDcxOTk3ODQwMCw3MzMyODA0MDAsNzUxNDI4ZTMsNzY0NzNlNCw3ODI4Nzc2MDAsNzk2MTc5NjAwLDgxNDMyNzIwMCw4MjgyMzRlMyw4NDYzODE2MDAsODU5NjgzNjAwLDg3NzgzMTIwMCw4OTExMzMyMDAsOTA5MjgwODAwLDkyMjU4MjgwMCw5NDEzMzUyMDAsOTU0MDMyNDAwLDk3Mjc4NDgwMCw5ODU0ODJlMywxMDA0MjM0NDAwLDEwMTc1MzY0MDAsMTAzNTY4NGUzLDEwNDg5ODZlMywxMDY3MTMzNjAwLDEwODA0MzU2MDAsMTA5OTE4OGUzLDExMTE4ODUyMDAsMTEzMDYzNzYwMCwxMTQzMzM0ODAwLDExNjIwODcyMDAsMTE3NDc4NDQwMCwxMTkzNTM2ODAwLDEyMDY4Mzg4MDAsMTIyNDk4NjQwMCwxMjM4Mjg4NDAwLDEyNTY0MzZlMywxMjY5NzM4ZTMsMTI4ODQ5MDQwMCwxMzAxMTg3NjAwLDEzMTk5NGU0LDEzMzI2MzcyMDAsMTM1MTM4OTYwMCwxMzY0NjkxNjAwLDEzODI4MzkyMDAsMTM5NjE0MTIwMCwxNDE0Mjg4ODAwLDE0Mjc1OTA4MDAsMTQ0NTczODQwMCwxNDU5MDQwNDAwLDE0Nzc3OTI4MDAsMTQ5MDQ5ZTQsMTUwOTI0MjQwMCwxNTIxOTM5NjAwLDE1NDA2OTJlMywxNTUzOTk0ZTMsMTU3MjE0MTYwMCwxNTg1NDQzNjAwLDE2MDM1OTEyMDAsMTYxNjg5MzIwMCwxNjM1NjQ1NjAwLDE2NDgzNDI4MDAsMTY2NzA5NTIwMCwxNjc5NzkyNDAwLDE2OTg1NDQ4MDAsMTcxMTg0NjgwMCwxNzI5OTk0NDAwLDE3NDMyOTY0MDAsMTc2MTQ0NGUzLDE3NzQ3NDZlMywxNzkyODkzNjAwLDE4MDYxOTU2MDAsMTgyNDk0OGUzLDE4Mzc2NDUyMDAsMTg1NjM5NzYwMCwxODY5MDk0ODAwLDE4ODc4NDcyMDAsMTkwMTE0OTIwMCwxOTE5Mjk2ODAwLDE5MzI1OTg4MDBdLG9mZnNldDpbLTE1MjEsLTE1MjEsMjA3OSwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwXX0sIkV1cm9wZS9IZWxzaW5raSI6ewp0aW1lOlstMjg5MDI1MjgwMCwtMTUzNTkzMjgwMCwtODc1NjY0ZTMsLTg1OTc2MjgwMCwzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTgyZTMsNDMzMzEwNDAwLDQ0OTAzMTYwMCw0NjUzNjQ4MDAsNDgxMDg2ZTMsNDk2ODE0NDAwLDUxMjUzNTYwMCw1MjgyNjRlMyw1NDM5ODUyMDAsNTU5NzEzNjAwLDU3NTQzNDgwMCw1OTExNjMyMDAsNjA2ODg0NDAwLDYyMjYxMjgwMCw2MzgzMzRlMyw2NTQ2NjcyMDAsNjcwMzg4NDAwLDY4NjExNjgwMCw3MDE4MzhlMyw3MTc1NjY0MDAsNzMzMjg3NjAwLDc0OTAxNmUzLDc2NDczNzIwMCw3ODA0NjU2MDAsNzk2MTg2ODAwLDgxMTkxNTIwMCw4MjgyNDEyMDAsODQ2Mzg4ODAwLDg1OTY5MDgwMCw4Nzc4Mzg0MDAsODkxMTQwNDAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDk1NDAzOTYwMCw5NzI3OTJlMyw5ODU0ODkyMDAsMTAwNDI0MTYwMCwxMDE3NTQzNjAwLDEwMzU2OTEyMDAsMTA0ODk5MzIwMCwxMDY3MTQwODAwLDEwODA0NDI4MDAsMTA5OTE5NTIwMCwxMTExODkyNDAwLDExMzA2NDQ4MDAsMTE0MzM0MmUzLDExNjIwOTQ0MDAsMTE3NDc5MTYwMCwxMTkzNTQ0ZTMsMTIwNjg0NmUzLDEyMjQ5OTM2MDAsMTIzODI5NTYwMCwxMjU2NDQzMjAwLDEyNjk3NDUyMDAsMTI4ODQ5NzYwMCwxMzAxMTk0ODAwLDEzMTk5NDcyMDAsMTMzMjY0NDQwMCwxMzUxMzk2ODAwLDEzNjQ2OTg4MDAsMTM4Mjg0NjQwMCwxMzk2MTQ4NDAwLDE0MTQyOTZlMywxNDI3NTk4ZTMsMTQ0NTc0NTYwMCwxNDU5MDQ3NjAwLDE0Nzc4ZTUsMTQ5MDQ5NzIwMCwxNTA5MjQ5NjAwLDE1MjE5NDY4MDAsMTU0MDY5OTIwMCwxNTU0MDAxMjAwLDE1NzIxNDg4MDAsMTU4NTQ1MDgwMCwxNjAzNTk4NDAwLDE2MTY5MDA0MDAsMTYzNTY1MjgwMCwxNjQ4MzVlNCwxNjY3MTAyNDAwLDE2Nzk3OTk2MDAsMTY5ODU1MmUzLDE3MTE4NTRlMywxNzMwMDAxNjAwLDE3NDMzMDM2MDAsMTc2MTQ1MTIwMCwxNzc0NzUzMjAwLDE3OTI5MDA4MDAsMTgwNjIwMjgwMCwxODI0OTU1MjAwLDE4Mzc2NTI0MDAsMTg1NjQwNDgwMCwxODY5MTAyZTMsMTg4Nzg1NDQwMCwxOTAxMTU2NDAwLDE5MTkzMDRlMywxOTMyNjA2ZTNdLG9mZnNldDpbNTk4OSw1OTg5LDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL0lzdGFuYnVsIjp7dGltZTpbLTI4NDAxNDA4MDAsLTE4Njk4Njg4MDAsLTE2OTM2OTkyMDAsLTE2ODA0OGU0LC0xNTcwNDA2NDAwLC0xNTUyMTc2ZTMsLTE1MzgzNTJlMywtMTUyMjU0MDgwMCwtMTUwNzUwNzIwMCwtMTQ5MDU3MjgwMCwtMTQ0MDIwMTYwMCwtMTQyODAxOTIwMCwtMTQwOTcwMjQwMCwtMTM5NjQ4MzIwMCwtOTMxMDQ2NDAwLC05MjI2NjU2MDAsLTkxNzgyNzIwMCwtODkyNDI1NjAwLC04NzU4MzY4MDAsLTc2NDcyNjQwMCwtNzQ0MzM2ZTMsLTczMzc5NTIwMCwtNzE2NDI4ODAwLC03MDE5MTM2MDAsLTY4NDk3OTIwMCwtNjcwNDY0ZTMsLTY1NDEzNDQwMCwtNjM5MDE0NDAwLC02MjIwOGU0LC02MDY5NmU0LC01OTAwMjU2MDAsLTU3NTUxMDQwMCwtMjM1NjEyODAwLC0xOTQ4MzJlMywtMTc3NzI0ODAwLC0xNjU3MTUyMDAsMTA3OTE3MjAwLDEyMTIyNjQwMCwxMzM5MjcyMDAsMTUyNjc2ZTMsMTY0Njg1NjAwLDE4NDEyNTYwMCwxOTYyMjE2MDAsMjE1NTc1MjAwLDIyODg4MDgwMCwyNDU4MTUyMDAsMjYwMzMwNDAwLDI2NzkyNjQwMCw0Mjg0NjQ4MDAsNDMzOTA4ZTMsNDY4MTIyNDAwLDQ4MjgwNjgwMCw0OTY3MjA4MDAsNTEyNTI4NDAwLDUyODI1NjgwMCw1NDM5NzhlMyw1NTk3MDY0MDAsNTc1NDI3NjAwLDU5MTE1NmUzLDYwNjg3NzIwMCw2MjI2MDU2MDAsNjM4MzI2ODAwLDY1NDY2ZTQsNjcwMzgxMjAwLDY4NjEwOTYwMCw3MDE4MzA4MDAsNzE3NTU5MjAwLDczMzI4MDQwMCw3NDkwMDg4MDAsNzY0MTI1MjAwLDc4MDQ1ODQwMCw3OTYxNzk2MDAsODExOTA4ZTMsODI4MjM0ZTMsODQ2MzgxNjAwLDg1OTY4MzYwMCw4Nzc4MzEyMDAsODkxMTMzMjAwLDkwOTI4MDgwMCw5MjI1ODI4MDAsOTQxMzM1MjAwLDk1NDAzMjQwMCw5NzI3ODQ4MDAsOTg1NDgyZTMsMTAwNDIzNDQwMCwxMDE3NTM2NDAwLDEwMzU2ODRlMywxMDQ4OTg2ZTMsMTA2NzEzMzYwMCwxMDgwNDM1NjAwLDEwOTkxODhlMywxMTExODg1MjAwLDExMzA2Mzc2MDAsMTE0MzMzNDgwMCwxMTYyMDg3MjAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTI4MTIwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjIzNDgwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDY5NTUyMDAsMTQ1OTA0NzYwMCwxNDczMjA2NDAwLDE5MjUwMDI4MDBdLApvZmZzZXQ6WzY5NTIsNzAxNiw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsMTA4MDAsMTQ0MDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDEwODAwXX0sIkV1cm9wZS9MaXNib24iOnt0aW1lOlstMTgzMDM4NjIwNSwtMTY4OTU1NTYwMCwtMTY3Nzc5OGUzLC0xNjY3NDMzNjAwLC0xNjQ3NzM0NDAwLC0xNjM1ODk3NjAwLC0xNjE2MTk4NDAwLC0xNjA0MzYxNjAwLC0xNTg0NjYyNDAwLC0xNTcyNzM5MjAwLC0xNTUzMDRlNCwtMTU0MTIwMzIwMCwtMTUyMTUwNGUzLC0xNDQyNDUxNjAwLC0xNDI3NjczNjAwLC0xMzc5MjkzMjAwLC0xMzY0Nzc0NDAwLC0xMzQ4NDQ4NDAwLC0xMzMzMzI0ODAwLC0xMzE2Mzk0ZTMsLTEzMDEyNzA0MDAsLTEyODQzMzk2MDAsLTEyNjk4MjA4MDAsLTEyMjE0NDA0MDAsLTEyMDY5MjE2MDAsLTExOTEyMDA0MDAsLTExNzU0NzJlMywtMTEyNzY5NjQwMCwtMTExMTk2OGUzLC0xMDk2ODUxNjAwLC0xMDgwNTE4NDAwLC0xMDYzNTg3NjAwLC0xMDQ5MDY4ODAwLC0xMDMzMzQ3NjAwLC0xMDE3NjE5MjAwLC0xMDAyNTAyODAwLC05ODYxNjk2MDAsLTk2OTIzODgwMCwtOTUwNDg2NDAwLC05NDIwMjI4MDAsLTkyMjQ5MjgwMCwtOTA2OTQ0NDAwLC04OTExMjk2MDAsLTg3NzMwOTIwMCwtODczNjgwNDAwLC04NjRlNiwtODU3OTUyZTMsLTg0NTg1OTYwMCwtODQyODM1NjAwLC04MzEzNDA4MDAsLTgyNTg5NzYwMCwtODE0NDFlNCwtODEwNzgxMjAwLC03OTk4OTEyMDAsLTc5NDQ0OGUzLC03ODI5NjA0MDAsLTc3OTMzMTYwMCwtNzY4NDQxNjAwLC03NjI5OTg0MDAsLTc0OTA5MTYwMCwtNzMzMzYzMjAwLC03MTc2MzEyMDAsLTcwMTkwMjgwMCwtNjg2MTgxNjAwLC02NzA0NTMyMDAsLTY1NDczMmUzLC02MzkwMDM2MDAsLTYyMzI4MjQwMCwtNjA3NTU0ZTMsLTU5MTgzMjgwMCwtNTc1NDk5NjAwLC01NTk3Nzg0MDAsLTU0NDA1ZTQsLTUyODMyODgwMCwtNTEyNjAwNDAwLC00OTY4NzkyMDAsLTQ4MTE1MDgwMCwtNDY1NDI5NjAwLC00NDk3MDEyMDAsLTQzMzk4ZTQsLTQxNzY0NjgwMCwtNDAxOTI1NjAwLC0zODYxOTcyMDAsLTM3MDQ3NmUzLC0zNTQ3NDc2MDAsLTMzOTAyNjQwMCwtMzIzMjk4ZTMsLTMwNzU3NjgwMCwtMjkxODQ4NDAwLC0yNzYxMjcyMDAsLTI2MDM5ODgwMCwtMjQ0Njc3NjAwLC0yMjgzNDQ0MDAsLTIxMjYyMzIwMCwtMTk2ODk0ODAwLC0xODExNzM2MDAsLTE2NTQ0NTIwMCwtMTQ5NzI0ZTMsLTEzMzk5NTYwMCwtMTE4Mjc0NDAwLC0xMDI1NDZlMywyMTI1NDc2MDAsMjI4MjY4ODAwLDI0Mzk5NzIwMCwyNjAzMjY4MDAsMjc2MDU1MjAwLDI5MTc3NjQwMCwzMDc1MDQ4MDAsMzIzODMwODAwLDMzODk1NDQwMCwzNTQ2NzJlMywzNzA0MDA0MDAsMzg2MTIxNjAwLDQwMTg1ZTQsNDE3NTcxMjAwLDQzMzI5OTYwMCw0NDkwMjA4MDAsNDY1MzU0ZTMsNDgxMDc1MjAwLDQ5NjgwMzYwMCw1MTI1Mjg0MDAsNTI4MjU2ODAwLDU0Mzk3OGUzLDU1OTcwNjQwMCw1NzU0Mjc2MDAsNTkxMTU2ZTMsNjA2ODc3MjAwLDYyMjYwNTYwMCw2MzgzMjY4MDAsNjU0NjZlNCw2NzAzODEyMDAsNjg2MTA5NjAwLDcwMTgzMDgwMCw3MTc1NTkyMDAsNzMzMjg0ZTMsNzQ5MDEyNDAwLDc2NDczMzYwMCw3ODA0NjJlMyw3OTYxODMyMDAsODExOTExNjAwLDgyODIzNzYwMCw4NDYzODE2MDAsODU5NjgzNjAwLDg3NzgzMTIwMCw4OTExMzMyMDAsOTA5MjgwODAwLDkyMjU4MjgwMCw5NDEzMzUyMDAsOTU0MDMyNDAwLDk3Mjc4NDgwMCw5ODU0ODJlMywxMDA0MjM0NDAwLDEwMTc1MzY0MDAsMTAzNTY4NGUzLDEwNDg5ODZlMywxMDY3MTMzNjAwLDEwODA0MzU2MDAsMTA5OTE4OGUzLDExMTE4ODUyMDAsMTEzMDYzNzYwMCwxMTQzMzM0ODAwLDExNjIwODcyMDAsMTE3NDc4NDQwMCwxMTkzNTM2ODAwLDEyMDY4Mzg4MDAsMTIyNDk4NjQwMCwxMjM4Mjg4NDAwLDEyNTY0MzZlMywxMjY5NzM4ZTMsMTI4ODQ5MDQwMCwxMzAxMTg3NjAwLDEzMTk5NGU0LDEzMzI2MzcyMDAsMTM1MTM4OTYwMCwxMzY0NjkxNjAwLDEzODI4MzkyMDAsMTM5NjE0MTIwMCwxNDE0Mjg4ODAwLDE0Mjc1OTA4MDAsMTQ0NTczODQwMCwxNDU5MDQwNDAwLDE0Nzc3OTI4MDAsMTQ5MDQ5ZTQsMTUwOTI0MjQwMCwxNTIxOTM5NjAwLDE1NDA2OTJlMywxNTUzOTk0ZTMsMTU3MjE0MTYwMCwxNTg1NDQzNjAwLDE2MDM1OTEyMDAsMTYxNjg5MzIwMCwxNjM1NjQ1NjAwLDE2NDgzNDI4MDAsMTY2NzA5NTIwMCwxNjc5NzkyNDAwLDE2OTg1NDQ4MDAsMTcxMTg0NjgwMCwxNzI5OTk0NDAwLDE3NDMyOTY0MDAsMTc2MTQ0NGUzLDE3NzQ3NDZlMywxNzkyODkzNjAwLDE4MDYxOTU2MDAsMTgyNDk0OGUzLDE4Mzc2NDUyMDAsMTg1NjM5NzYwMCwxODY5MDk0ODAwLDE4ODc4NDcyMDAsMTkwMTE0OTIwMCwxOTE5Mjk2ODAwLDE5MzI1OTg4MDBdLApvZmZzZXQ6Wy0yMjA1LDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCwwLDM2MDAsNzIwMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwXX0sIkV1cm9wZS9ManVibGphbmEiOnt0aW1lOlstMjcxMzkxMDQwMCwtOTA1ODIxMjAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTY3N2U0LC03ODEwNDg4MDAsLTc2NjYxNjQwMCw0MTc1Nzg0MDAsNDMzMzA2ODAwLDQ0OTAyOGUzLDQ2NTM2MTIwMCw0ODEwODI0MDAsNDk2ODEwODAwLDUxMjUzMmUzLDUyODI2MDQwMCw1NDM5ODE2MDAsNTU5NzFlNCw1NzU0MzEyMDAsNTkxMTU5NjAwLDYwNjg4MDgwMCw2MjI2MDkyMDAsNjM4MzMwNDAwLDY1NDY2MzYwMCw2NzAzODQ4MDAsNjg2MTEzMjAwLDcwMTgzNDQwMCw3MTc1NjI4MDAsNzMzMjg0ZTMsNzQ5MDEyNDAwLDc2NDczMzYwMCw3ODA0NjJlMyw3OTYxODMyMDAsODExOTExNjAwLDgyODIzNzYwMCw4NDYzODUyMDAsODU5Njg3MjAwLDg3NzgzNDgwMCw4OTExMzY4MDAsOTA5Mjg0NDAwLDkyMjU4NjQwMCw5NDEzMzg4MDAsOTU0MDM2ZTMsOTcyNzg4NDAwLDk4NTQ4NTYwMCwxMDA0MjM4ZTMsMTAxNzU0ZTQsMTAzNTY4NzYwMCwxMDQ4OTg5NjAwLDEwNjcxMzcyMDAsMTA4MDQzOTIwMCwxMDk5MTkxNjAwLDExMTE4ODg4MDAsMTEzMDY0MTIwMCwxMTQzMzM4NDAwLDExNjIwOTA4MDAsMTE3NDc4OGUzLDExOTM1NDA0MDAsMTIwNjg0MjQwMCwxMjI0OTllNCwxMjM4MjkyZTMsMTI1NjQzOTYwMCwxMjY5NzQxNjAwLDEyODg0OTRlMywxMzAxMTkxMjAwLDEzMTk5NDM2MDAsMTMzMjY0MDgwMCwxMzUxMzkzMjAwLDEzNjQ2OTUyMDAsMTM4Mjg0MjgwMCwxMzk2MTQ0ODAwLDE0MTQyOTI0MDAsMTQyNzU5NDQwMCwxNDQ1NzQyZTMsMTQ1OTA0NGUzLDE0Nzc3OTY0MDAsMTQ5MDQ5MzYwMCwxNTA5MjQ2ZTMsMTUyMTk0MzIwMCwxNTQwNjk1NjAwLDE1NTM5OTc2MDAsMTU3MjE0NTIwMCwxNTg1NDQ3MjAwLDE2MDM1OTQ4MDAsMTYxNjg5NjgwMCwxNjM1NjQ5MjAwLDE2NDgzNDY0MDAsMTY2NzA5ODgwMCwxNjc5Nzk2ZTMsMTY5ODU0ODQwMCwxNzExODUwNDAwLDE3Mjk5OThlMywxNzQzM2U1LDE3NjE0NDc2MDAsMTc3NDc0OTYwMCwxNzkyODk3MjAwLDE4MDYxOTkyMDAsMTgyNDk1MTYwMCwxODM3NjQ4ODAwLDE4NTY0MDEyMDAsMTg2OTA5ODQwMCwxODg3ODUwODAwLDE5MDExNTI4MDAsMTkxOTMwMDQwMCwxOTMyNjAyNDAwXSxvZmZzZXQ6WzM0ODQsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDBdfSwiRXVyb3BlL0xvbmRvbiI6ewp0aW1lOlstMzg1MjY2MjQwMCwtMTY5MTk2NGUzLC0xNjgwNDY5MjAwLC0xNjY0MTQzMjAwLC0xNjUwMTQyODAwLC0xNjMzOTAzMjAwLC0xNjE3NDgzNjAwLC0xNjAxODQ4ODAwLC0xNTg2MDM0ZTMsLTE1NzAzOTkyMDAsLTE1NTIxNjUyMDAsLTE1MzgzNDQ4MDAsLTE1MjI1M2U0LC0xNTA3NWU1LC0xNDkwNTYyZTMsLTE0NzM2MzEyMDAsLTE0NjA5MjY4MDAsLTE0NDI3ODY0MDAsLTE0Mjg4NzI0MDAsLTE0MTA3MzJlMywtMTM5NjIxMzIwMCwtMTM3OTI4MjQwMCwtMTM2NDc2MzYwMCwtMTM0ODQzNzYwMCwtMTMzMzMxNGUzLC0xMzE1Nzc4NDAwLC0xMzAxMjU5NjAwLC0xMjg0MzI4ODAwLC0xMjY5ODFlNCwtMTI1MzQ4NGUzLC0xMjM4MzYwNDAwLC0xMjIxNDI5NjAwLC0xMjA2OTEwODAwLC0xMTg5OThlNCwtMTE3NTQ2MTIwMCwtMTE1OTEzNTIwMCwtMTE0MzQwNjgwMCwtMTEyNjQ3NmUzLC0xMTExOTU3MjAwLC0xMDk1NjMxMjAwLC0xMDgwNTA3NjAwLC0xMDYzNTc2ODAwLC0xMDQ5MDU4ZTMsLTEwMzIxMjcyMDAsLTEwMTc2MDg0MDAsLTEwMDEyODI0MDAsLTk4NjE1ODgwMCwtOTY5MjI4ZTMsLTk1MDQ3NTYwMCwtOTQyMDEyZTMsLTkwNDUxNDQwMCwtODk2MDQzNjAwLC04NzU0ODRlMywtODY0NTk0ZTMsLTg0NDAzNDQwMCwtODMyNTM5NjAwLC04MTI1ODQ4MDAsLTc5ODA2NmUzLC03ODEwNDg4MDAsLTc3MjA1OTYwMCwtNzY0ODAyZTMsLTc0ODQ3NmUzLC03MzMzNTI0MDAsLTcxOTQ0NTYwMCwtNzE3MDI2NDAwLC03MDY3NDEyMDAsLTY5OTQ4MzYwMCwtNjg3OTk2ZTMsLTY2ODAzNGUzLC02NTQ3MzJlMywtNjM2NTg0NDAwLC02MjIwNzI4MDAsLTYwNTczOTYwMCwtNTkwNjIzMjAwLC01NzQyOWU0LC01NTg1Njg4MDAsLTU0MjIzNTYwMCwtNTI3MTE5MjAwLC01MTI2MDA0MDAsLTQ5NjI3NDQwMCwtNDgxMTUwODAwLC00NjQyMmU0LC00NDk3MDEyMDAsLTQzMjE2NTYwMCwtNDE3NjQ2ODAwLC00MDEzMjA4MDAsLTM4NjE5NzIwMCwtMzY5MjY2NDAwLC0zNTQ3NDc2MDAsLTMzNzgxNjgwMCwtMzIzMjk4ZTMsLTMwNjk3MmUzLC0yOTE4NDg0MDAsLTI3NjczMmUzLC0yNTc5Nzk2MDAsLTI0NTI4MjQwMCwtMjI2NTNlNCwtMjEzMjI4ZTMsLTE5NTA4MDQwMCwtMTgyMzgzMjAwLC0xNjM2MzA4MDAsLTE1MDkzMzYwMCwtMTMyMTgxMjAwLC0xMTk0ODRlMywtMTAwNzMxNjAwLC04ODAzNDQwMCwtNjg2NzcyMDAsLTU5MDA0ZTMsLTM3MjM4NDAwLDU3NzI2ZTMsNjk4MTg0MDAsODkxNzU2MDAsMTAxMjY4ZTMsMTIwNjI1MjAwLDEzMjcxNzYwMCwxNTIwNzQ4MDAsMTY0MTY3MjAwLDE4MzUyNDQwMCwxOTYyMjE2MDAsMjE0OTc0ZTMsMjI3NjcxMjAwLDI0NjQyMzYwMCwyNTkxMjA4MDAsMjc4NDc4ZTMsMjkwNTcwNDAwLDMwOTkyNzYwMCwzMjIwMmU0LDM0MTM3NzIwMCwzNTQ2NzU2MDAsMzcyODIzMjAwLDM4NjEyNTIwMCw0MDQyNzI4MDAsNDE3NTc0ODAwLDQzNTcyMjQwMCw0NDkwMjQ0MDAsNDY3Nzc2ODAwLDQ4MTA3ODgwMCw0OTkyMjY0MDAsNTEyNTI4NDAwLDUzMDY3NmUzLDU0Mzk3OGUzLDU2MjEyNTYwMCw1NzU0Mjc2MDAsNTkzNTc1MjAwLDYwNjg3NzIwMCw2MjU2Mjk2MDAsNjM4MzI2ODAwLDY1NzA3OTIwMCw2NzAzODEyMDAsNjg4NTI4ODAwLDcwMTgzMDgwMCw3MTk5Nzg0MDAsNzMzMjgwNDAwLDc1MTQyOGUzLDc2NDczZTQsNzgyODc3NjAwLDc5NjE3OTYwMCw4MTQzMjcyMDAsODI4MjM0ZTMsODQ2MzgxNjAwLDg1OTY4MzYwMCw4Nzc4MzEyMDAsODkxMTMzMjAwLDkwOTI4MDgwMCw5MjI1ODI4MDAsOTQxMzM1MjAwLDk1NDAzMjQwMCw5NzI3ODQ4MDAsOTg1NDgyZTMsMTAwNDIzNDQwMCwxMDE3NTM2NDAwLDEwMzU2ODRlMywxMDQ4OTg2ZTMsMTA2NzEzMzYwMCwxMDgwNDM1NjAwLDEwOTkxODhlMywxMTExODg1MjAwLDExMzA2Mzc2MDAsMTE0MzMzNDgwMCwxMTYyMDg3MjAwLDExNzQ3ODQ0MDAsMTE5MzUzNjgwMCwxMjA2ODM4ODAwLDEyMjQ5ODY0MDAsMTIzODI4ODQwMCwxMjU2NDM2ZTMsMTI2OTczOGUzLDEyODg0OTA0MDAsMTMwMTE4NzYwMCwxMzE5OTRlNCwxMzMyNjM3MjAwLDEzNTEzODk2MDAsMTM2NDY5MTYwMCwxMzgyODM5MjAwLDEzOTYxNDEyMDAsMTQxNDI4ODgwMCwxNDI3NTkwODAwLDE0NDU3Mzg0MDAsMTQ1OTA0MDQwMCwxNDc3NzkyODAwLDE0OTA0OWU0LDE1MDkyNDI0MDAsMTUyMTkzOTYwMCwxNTQwNjkyZTMsMTU1Mzk5NGUzLDE1NzIxNDE2MDAsMTU4NTQ0MzYwMCwxNjAzNTkxMjAwLDE2MTY4OTMyMDAsMTYzNTY0NTYwMCwxNjQ4MzQyODAwLDE2NjcwOTUyMDAsMTY3OTc5MjQwMCwxNjk4NTQ0ODAwLDE3MTE4NDY4MDAsMTcyOTk5NDQwMCwxNzQzMjk2NDAwLDE3NjE0NDRlMywxNzc0NzQ2ZTMsMTc5Mjg5MzYwMCwxODA2MTk1NjAwLDE4MjQ5NDhlMywxODM3NjQ1MjAwLDE4NTYzOTc2MDAsMTg2OTA5NDgwMCwxODg3ODQ3MjAwLDE5MDExNDkyMDAsMTkxOTI5NjgwMCwxOTMyNTk4ODAwXSwKb2Zmc2V0OlstNzUsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDBdfSwiRXVyb3BlL0x1eGVtYm91cmciOnt0aW1lOlstMjA2OTcxMmUzLC0xNjkyNDkzMjAwLC0xNjgwNDc2NDAwLC0xNjYyMzM5NjAwLC0xNjUwMTVlNCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTYxMjY1NmUzLC0xNjA0Mjc4ODAwLC0xNTg1NTE1NjAwLC0xNTc0MDM4ODAwLC0xNTUyMjU1MjAwLC0xNTM5OTk3MjAwLC0xNTIwNTQ2NDAwLC0xNTA3NTEwODAwLC0xNDkwNTY5MjAwLC0xNDczNjQyZTMsLTE0NTkxMTZlMywtMTQ0NDAwNjgwMCwtMTQyNzY3ZTQsLTE0MTE4NjZlMywtMTM5NjIyMDQwMCwtMTM3OTI5MzIwMCwtMTM2NDc3MDgwMCwtMTM0ODQ0ODQwMCwtMTMzMzMyMTIwMCwtMTMxNjM5NGUzLC0xMzAxMjY2ODAwLC0xMjg0MzM5NjAwLC0xMjY5ODFlNCwtMTI1MzQ4NGUzLC0xMjM4MzYwNDAwLC0xMjIxNDI5NjAwLC0xMjA2OTEwODAwLC0xMTkxMTg5NjAwLC0xMTc1NDYxMjAwLC0xMTYwMzQ0ODAwLC0xMTQzNDA2ODAwLC0xMTI3Njg1NjAwLC0xMTExOTU3MjAwLC0xMDk2ODQwODAwLC0xMDgwNTA3NjAwLC0xMDYzNTc2ODAwLC0xMDQ5MDU4ZTMsLTEwMzMzMzY4MDAsLTEwMTc2MDg0MDAsLTEwMDI0OTJlMywtOTg2MTU4ODAwLC05NjkyMjhlMywtOTUwNDc1NjAwLC05NDIwMTJlMywtOTM1MTgyODAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTc5Nzk2MDAsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLC03NDU0NTJlMywtNzMzMjY2ZTMsMjI4ODgwODAwLDI0NDAwNDQwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbMTQ3NiwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9NYWRyaWQiOnt0aW1lOlstMjE3NzQ1MzY4NCwtMTYzMTkyNjgwMCwtMTYxNjg4NmUzLC0xNjAxMTY4NDAwLC0xNTg1MzVlNCwtMTQ0MjQ1MTYwMCwtMTQyNzY3ZTQsLTEzNzkyOTMyMDAsLTEzNjQ3NzA4MDAsLTEzNDg0NDg0MDAsLTEzMzMzMjEyMDAsLTEzMTYzOTA0MDAsLTEzMDEyNjY4MDAsLTEyODQzMzk2MDAsLTEyNjk4MTcyMDAsLTEwMjY5NTRlMywtMTAxNzYxNTYwMCwtMTAwMTg5OGUzLC05OTk0Nzg4MDAsLTk4NjA4MzIwMCwtOTU0MTExNjAwLC05NDAyMDg0MDAsLTg3MzA3NTYwMCwtODYyNjE0ZTMsLTg0MjgzNTYwMCwtODI4MzEzMjAwLC04MTEzODZlMywtNzk2ODYzNjAwLC03Nzk5MzY0MDAsLTc2NTQxNGUzLC03NDg0ODY4MDAsLTczMzk2NDQwMCwtNjUyMzIzNjAwLC02MzkwMTA4MDAsMTM1MTI2ZTMsMTUwMjUzMjAwLDE2NjU3NTYwMCwxODE3MDI4MDAsMTk2ODE1NjAwLDIxMjU0NzYwMCwyMjg4N2U0LDI0Mzk5NzIwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbLTg4NCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9NYWx0YSI6e3RpbWU6Wy0yNDAzNDc1MjAwLC0xNjkwNzYxNjAwLC0xNjgwNDhlNCwtMTY2NDc1NTIwMCwtMTY0ODk0NGUzLC0xNjM1MTJlNCwtMTYxNjg4OTYwMCwtMTYwNDI3NTIwMCwtMTU4NTUyNjQwMCwtMTU3MTAxMTIwMCwtMTU1NTI4NjQwMCwtOTMyNDI4ODAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNTg0ODAwLC03OTgwNjZlMywtNzgxMDQ4ODAwLC03NjY3MWU0LC03NTA4OTUyMDAsLTczMzM1MjQwMCwtNzE5NDUyODAwLC03MDE5MWU0LC02ODkyMDU2MDAsLTY3MDQ1MzIwMCwtMTE0MDQ4ZTMsLTEwMzE2MTYwMCwtODE5OTM2MDAsLTcxNzA4NDAwLC01MDU0NGUzLC00MDI1ODgwMCwtMTg0ODk2MDAsLTgyMDQ0MDAsMTI5NmU0LDIzMjQ1MjAwLDQzODA0ODAwLDU0Njk0ODAwLDc1ODU5MjAwLDg2NzQ5MjAwLDEwMjM4NGUzLDExODExMjQwMCwxMzU3MzQ0MDAsMTQ4NTI1MjAwLDE2NzE5MTIwMCwxODA0OTY4MDAsMTk4NjQwODAwLDIxMTk0NjQwMCwyMzAwOTA0MDAsMjQzMzk2ZTMsMjYxNTRlNCwyNzQ4NDU2MDAsMjkyOTg5NjAwLDMwNjI5NTIwMCwzMjMzMTZlMywzMzgzNDk2MDAsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLApvZmZzZXQ6WzM0ODQsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9Nb3Njb3ciOnt0aW1lOlstMjg0MDE0MDgwMCwtMTY4ODI1NmUzLC0xNjU2ODFlNCwtMTY0MTM0MDgwMCwtMTYyNzk1NmUzLC0xNjE4NzAwNDAwLC0xNTk2NDE2NDAwLC0xNTkzODA0NTIxLC0xNTg5ODQ2NDAwLC0xNTQyNDE2NDAwLC0xNTM5NDc4ODAwLC0xNTI1MzA1NjAwLC0xNTIyNzEzNjAwLC0xNDkxMTc3NjAwLC0xMjQ3NTI5NjAwLDM1NDkzMTIwMCwzNzA3NDI0MDAsMzg2NDY3MjAwLDQwMjI3ODQwMCw0MTgwMDMyMDAsNDMzODE0NDAwLDQ0OTYyNTYwMCw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw2OTU3ODY0MDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTQxNDI4ODgwMCwxOTI1MDAyODAwXSxvZmZzZXQ6WzkwMTcsOTAxNyw5MDc5LDEyNjc5LDkwNzksMTYyNzksMTI2NzksMTYyNzksMTQ0MDAsMTA4MDAsMTQ0MDAsMThlMywxNDQwMCwxMDgwMCw3MjAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDEwODAwLDcyMDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDBdfSwiRXVyb3BlL09zbG8iOnsKdGltZTpbLTIzNjY3NTUyMDAsLTE2OTE4ODEyMDAsLTE2ODA1NjY0MDAsLTkyNzUwNzYwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03NjUzMjA0MDAsLTM0MDg0MDgwMCwtMzI0NTA3NjAwLC0zMDg3ODY0MDAsLTI5MzA1OGUzLC0yNzczMzY4MDAsLTI2MTYwODQwMCwtMjQ1ODg3MjAwLC0yMzAxNTg4MDAsLTIxNDQzNzYwMCwtMTk4NzA5MjAwLC0xODI5ODhlMywtMTY2NjU0ODAwLC0xNDc5MDk2MDAsLTEzNTIwNTIwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMjU4MCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9QYXJpcyI6ewp0aW1lOlstMjQ4NjU5MmUzLC0xODU1OTU4NDAwLC0xNjg5ODE0ODAwLC0xNjgwMzkzNjAwLC0xNjY1MzYzNjAwLC0xNjQ4MzM5MjAwLC0xNjM1MTIzNjAwLC0xNjE2ODg5NjAwLC0xNjA0Mjc4ODAwLC0xNTg1NDRlNCwtMTU3NDAzODgwMCwtMTU1MjI2MjQwMCwtMTUzOTk5NzIwMCwtMTUyMDU1MzYwMCwtMTUwNzUxMDgwMCwtMTQ5MDU3MjgwMCwtMTQ3MDYxOGUzLC0xNDU5MTIzMjAwLC0xNDQ0MDA2ODAwLC0xNDI3NjczNjAwLC0xNDExOTUyNDAwLC0xMzk2MjI0ZTMsLTEzNzkyOTMyMDAsLTEzNjQ3NzQ0MDAsLTEzNDg0NDg0MDAsLTEzMzMzMjQ4MDAsLTEzMTYzOTRlMywtMTMwMTI3MDQwMCwtMTI4NDMzOTYwMCwtMTI2OTgyMDgwMCwtMTI1MzQ5NDgwMCwtMTIzODM3MTIwMCwtMTIyMTQ0MDQwMCwtMTIwNjkyMTYwMCwtMTE5MTIwMDQwMCwtMTE3NTQ3MmUzLC0xMTYwMzU1NjAwLC0xMTQzNDE3NjAwLC0xMTI3Njk2NDAwLC0xMTExOTY4ZTMsLTEwOTY4NTE2MDAsLTEwODA1MTg0MDAsLTEwNjM1ODc2MDAsLTEwNDkwNjg4MDAsLTEwMzMzNDc2MDAsLTEwMTc2MTkyMDAsLTEwMDI1MDI4MDAsLTk4NjE2OTYwMCwtOTY5MjM4ODAwLC05NTA0ODY0MDAsLTk0MjAxMmUzLC05MzI0MzI0MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTgwMDA2NGUzLC03OTYyNTg4MDAsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLDE5NjgyMjgwMCwyMTI1NDc2MDAsMjI4ODgwODAwLDI0NDAwNDQwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0Ols1NjEsNTYxLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDBdfSwiRXVyb3BlL1ByYWd1ZSI6ewp0aW1lOlstMzc4NjgyNTYwMCwtMjQ2OTM5ODQwMCwtMTY5MzcwMjgwMCwtMTY4MDQ3NjQwMCwtMTY2MzQ1MmUzLC0xNjUwMTQyODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC05Mzg5MDE2MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc4MTA0ODgwMCwtNzY1MzIwNDAwLC03NDY1NzUyMDAsLTczMzM1MjQwMCwtNzI4NTE0ZTMsLTcyMTI2ZTQsLTcxNjQyMTYwMCwtNzAxOTAyODAwLC02ODQ5NzJlMywtNjcwNDUzMjAwLC02NTQyMTM2MDAsLTYzOTAwMzYwMCwyOTE3OGU0LDMwNzUwODQwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMzQ2NCwzNDY0LDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCwwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9SaWdhIjp7CnRpbWU6Wy0yODQwMTQwODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC0xNjAxNjc2ZTMsLTE1OTcyNjZlMywtMTM3NzMwMjQwMCwtOTI4MDIyNDAwLC04OTk1MTA0MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc5NTgzMDQwMCwzNTQ5MzEyMDAsMzcwNzQyNDAwLDM4NjQ2NzIwMCw0MDIyNzg0MDAsNDE4MDAzMjAwLDQzMzgxNDQwMCw0NDk2MjU2MDAsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0Mzk2NmUzLDg1OTY5MDgwMCw4Nzc4Mzg0MDAsODkxMTQwNDAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDk4NTQ4OTIwMCwxMDA0MjQxNjAwLDEwMTc1NDM2MDAsMTAzNTY5MTIwMCwxMDQ4OTkzMjAwLDEwNjcxNDA4MDAsMTA4MDQ0MjgwMCwxMDk5MTk1MjAwLDExMTE4OTI0MDAsMTEzMDY0NDgwMCwxMTQzMzQyZTMsMTE2MjA5NDQwMCwxMTc0NzkxNjAwLDExOTM1NDRlMywxMjA2ODQ2ZTMsMTIyNDk5MzYwMCwxMjM4Mjk1NjAwLDEyNTY0NDMyMDAsMTI2OTc0NTIwMCwxMjg4NDk3NjAwLDEzMDExOTQ4MDAsMTMxOTk0NzIwMCwxMzMyNjQ0NDAwLDEzNTEzOTY4MDAsMTM2NDY5ODgwMCwxMzgyODQ2NDAwLDEzOTYxNDg0MDAsMTQxNDI5NmUzLDE0Mjc1OThlMywxNDQ1NzQ1NjAwLDE0NTkwNDc2MDAsMTQ3NzhlNSwxNDkwNDk3MjAwLDE1MDkyNDk2MDAsMTUyMTk0NjgwMCwxNTQwNjk5MjAwLDE1NTQwMDEyMDAsMTU3MjE0ODgwMCwxNTg1NDUwODAwLDE2MDM1OTg0MDAsMTYxNjkwMDQwMCwxNjM1NjUyODAwLDE2NDgzNWU0LDE2NjcxMDI0MDAsMTY3OTc5OTYwMCwxNjk4NTUyZTMsMTcxMTg1NGUzLDE3MzAwMDE2MDAsMTc0MzMwMzYwMCwxNzYxNDUxMjAwLDE3NzQ3NTMyMDAsMTc5MjkwMDgwMCwxODA2MjAyODAwLDE4MjQ5NTUyMDAsMTgzNzY1MjQwMCwxODU2NDA0ODAwLDE4NjkxMDJlMywxODg3ODU0NDAwLDE5MDExNTY0MDAsMTkxOTMwNGUzLDE5MzI2MDZlM10sb2Zmc2V0Ols1Nzk0LDU3OTQsOTM5NCw1Nzk0LDkzOTQsNTc5NCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJFdXJvcGUvUm9tZSI6ewp0aW1lOlstMzI1MjA5NmUzLC0yNDAzNTYyMjA0LC0xNjkwNzYxNjAwLC0xNjgwNDhlNCwtMTY2NDc1NTIwMCwtMTY0ODk0NGUzLC0xNjM1MTJlNCwtMTYxNjg4OTYwMCwtMTYwNDI3NTIwMCwtMTU4NTUyNjQwMCwtMTU3MTAxMTIwMCwtMTU1NTI4NjQwMCwtOTMyNDI4ODAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTgwNjZlMywtNzgxMDQ4ODAwLC03NjY3MWU0LC03NTA4OTUyMDAsLTczMzM1MjQwMCwtNzE5NDUyODAwLC03MDE5MWU0LC02ODkyMDU2MDAsLTY3MDQ1MzIwMCwtMTE0MDQ4ZTMsLTEwMzE2MTYwMCwtODE5OTM2MDAsLTcxNzA4NDAwLC01MDU0NGUzLC00MDI1ODgwMCwtMTg0ODk2MDAsLTgyMDQ0MDAsMTI5NmU0LDIzMjQ1MjAwLDQzODA0ODAwLDU0Njk0ODAwLDc1ODU5MjAwLDg2NzQ5MjAwLDEwNzkxMzYwMCwxMTgxOTg4MDAsMTM4NzU4NDAwLDE0OTY0ODQwMCwxNzA4MTI4MDAsMTgxMDk4ZTMsMjAyMjYyNDAwLDIxMjU0NzYwMCwyMzMxMDcyMDAsMjQzOTk3MjAwLDI2NTE2MTYwMCwyNzYwNTE2MDAsMjk2NjExMjAwLDMwNzUwMTIwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMjk5NiwyOTk2LDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvU29maWEiOnsKdGltZTpbLTI4NDAxNDA4MDAsLTIzNjk1MmU0LC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTY3N2U0LC03ODEwNDUyMDAsMjkxNzY5MjAwLDMwNzU4NzYwMCwzMjM4MjM2MDAsMzM5MDM3MjAwLDM1NTI3MzIwMCwzNzA0MDRlMywzODY3MjI4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM3NzYwMCw2ODYxMDI0MDAsNzAxODI3MjAwLDcxNzU1MmUzLDczMzI3NjgwMCw3NDkwMDE2MDAsNzY0NzI2NDAwLDc4MDQ1MTIwMCw3OTYxNzZlMyw4MTE5MDA4MDAsODI4MjMwNDAwLDg0NjM3NDQwMCw4NTk2OTA4MDAsODc3ODM4NDAwLDg5MTE0MDQwMCw5MDkyODhlMyw5MjI1OWU0LDk0MTM0MjQwMCw5NTQwMzk2MDAsOTcyNzkyZTMsOTg1NDg5MjAwLDEwMDQyNDE2MDAsMTAxNzU0MzYwMCwxMDM1NjkxMjAwLDEwNDg5OTMyMDAsMTA2NzE0MDgwMCwxMDgwNDQyODAwLDEwOTkxOTUyMDAsMTExMTg5MjQwMCwxMTMwNjQ0ODAwLDExNDMzNDJlMywxMTYyMDk0NDAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTE5NDgwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjE0ODQwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDU3NDU2MDAsMTQ1OTA0NzYwMCwxNDc3OGU1LDE0OTA0OTcyMDAsMTUwOTI0OTYwMCwxNTIxOTQ2ODAwLDE1NDA2OTkyMDAsMTU1NDAwMTIwMCwxNTcyMTQ4ODAwLDE1ODU0NTA4MDAsMTYwMzU5ODQwMCwxNjE2OTAwNDAwLDE2MzU2NTI4MDAsMTY0ODM1ZTQsMTY2NzEwMjQwMCwxNjc5Nzk5NjAwLDE2OTg1NTJlMywxNzExODU0ZTMsMTczMDAwMTYwMCwxNzQzMzAzNjAwLDE3NjE0NTEyMDAsMTc3NDc1MzIwMCwxNzkyOTAwODAwLDE4MDYyMDI4MDAsMTgyNDk1NTIwMCwxODM3NjUyNDAwLDE4NTY0MDQ4MDAsMTg2OTEwMmUzLDE4ODc4NTQ0MDAsMTkwMTE1NjQwMCwxOTE5MzA0ZTMsMTkzMjYwNmUzXSxvZmZzZXQ6WzU1OTYsNzAxNiw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL1N0b2NraG9sbSI6e3RpbWU6Wy0yODcxNjc2ODAwLC0yMjA4OTg4ODAwLC0xNjkyNDkzMjAwLC0xNjgwNDc2NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbNDMzMiwzNjE0LDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9UYWxsaW5uIjp7dGltZTpbLTI4NDAxNDA4MDAsLTE2MzgzMTY4MDAsLTE2MzIwMDI0MDAsLTE2MTg2OTMyMDAsLTE1OTM4MjA4MDAsLTE1MzU5MzI4MDAsLTkyNzkzNmUzLC04OTI5NDRlMywtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk3NjQ0ODAwLDM1NDkzMTIwMCwzNzA3NDI0MDAsMzg2NDY3MjAwLDQwMjI3ODQwMCw0MTgwMDMyMDAsNDMzODE0NDAwLDQ0OTYyNTYwMCw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDEwMTc1NDM2MDAsMTAzNTY5MTIwMCwxMDQ4OTkzMjAwLDEwNjcxNDA4MDAsMTA4MDQ0MjgwMCwxMDk5MTk1MjAwLDExMTE4OTI0MDAsMTEzMDY0NDgwMCwxMTQzMzQyZTMsMTE2MjA5NDQwMCwxMTc0NzkxNjAwLDExOTM1NDRlMywxMjA2ODQ2ZTMsMTIyNDk5MzYwMCwxMjM4Mjk1NjAwLDEyNTY0NDMyMDAsMTI2OTc0NTIwMCwxMjg4NDk3NjAwLDEzMDExOTQ4MDAsMTMxOTk0NzIwMCwxMzMyNjQ0NDAwLDEzNTEzOTY4MDAsMTM2NDY5ODgwMCwxMzgyODQ2NDAwLDEzOTYxNDg0MDAsMTQxNDI5NmUzLDE0Mjc1OThlMywxNDQ1NzQ1NjAwLDE0NTkwNDc2MDAsMTQ3NzhlNSwxNDkwNDk3MjAwLDE1MDkyNDk2MDAsMTUyMTk0NjgwMCwxNTQwNjk5MjAwLDE1NTQwMDEyMDAsMTU3MjE0ODgwMCwxNTg1NDUwODAwLDE2MDM1OTg0MDAsMTYxNjkwMDQwMCwxNjM1NjUyODAwLDE2NDgzNWU0LDE2NjcxMDI0MDAsMTY3OTc5OTYwMCwxNjk4NTUyZTMsMTcxMTg1NGUzLDE3MzAwMDE2MDAsMTc0MzMwMzYwMCwxNzYxNDUxMjAwLDE3NzQ3NTMyMDAsMTc5MjkwMDgwMCwxODA2MjAyODAwLDE4MjQ5NTUyMDAsMTgzNzY1MjQwMCwxODU2NDA0ODAwLDE4NjkxMDJlMywxODg3ODU0NDAwLDE5MDExNTY0MDAsMTkxOTMwNGUzLDE5MzI2MDZlM10sb2Zmc2V0Ols1OTQwLDU5NDAsMzYwMCw3MjAwLDM2MDAsNTk0MCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwXX0sIkV1cm9wZS9WaWVubmEiOnsKdGltZTpbLTI0MjIwNTEyMDAsLTE2OTM3MDI4MDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTU2OTcwOGUzLC0xNTU1Nzk0ZTMsLTkzODkwMTYwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03ODAxODEyMDAsLTc0ODQ3NmUzLC03MzMyNjZlMywtNzE3NjMxMjAwLC03MDE5MDI4MDAsLTY4NDk3MmUzLC02NzA0NTMyMDAsMzIzODI3MjAwLDMzODk0NzIwMCwzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0OlszOTIxLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvVmlsbml1cyI6ewp0aW1lOlstMjg0MDE0MDgwMCwtMTY3MjUzMTIwMCwtMTU4NTA5NDQwMCwtMTU2MTI0OGUzLC0xNTUzNTU4NDAwLC05MjgxOTUyMDAsLTkwMDExNTIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtODAyMTM3NjAwLDM1NDkzMTIwMCwzNzA3NDI0MDAsMzg2NDY3MjAwLDQwMjI3ODQwMCw0MTgwMDMyMDAsNDMzODE0NDAwLDQ0OTYyNTYwMCw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTQwNDAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDEwNDg5OTMyMDAsMTA2NzE0MDgwMCwxMDgwNDQyODAwLDEwOTkxOTUyMDAsMTExMTg5MjQwMCwxMTMwNjQ0ODAwLDExNDMzNDJlMywxMTYyMDk0NDAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTE5NDgwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjE0ODQwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDU3NDU2MDAsMTQ1OTA0NzYwMCwxNDc3OGU1LDE0OTA0OTcyMDAsMTUwOTI0OTYwMCwxNTIxOTQ2ODAwLDE1NDA2OTkyMDAsMTU1NDAwMTIwMCwxNTcyMTQ4ODAwLDE1ODU0NTA4MDAsMTYwMzU5ODQwMCwxNjE2OTAwNDAwLDE2MzU2NTI4MDAsMTY0ODM1ZTQsMTY2NzEwMjQwMCwxNjc5Nzk5NjAwLDE2OTg1NTJlMywxNzExODU0ZTMsMTczMDAwMTYwMCwxNzQzMzAzNjAwLDE3NjE0NTEyMDAsMTc3NDc1MzIwMCwxNzkyOTAwODAwLDE4MDYyMDI4MDAsMTgyNDk1NTIwMCwxODM3NjUyNDAwLDE4NTY0MDQ4MDAsMTg2OTEwMmUzLDE4ODc4NTQ0MDAsMTkwMTE1NjQwMCwxOTE5MzA0ZTMsMTkzMjYwNmUzXSxvZmZzZXQ6WzYwNzYsNTA0MCw1NzM2LDM2MDAsNzIwMCwzNjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCw3MjAwLDM2MDAsNzIwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL1dhcnNhdyI6ewp0aW1lOlstMjg0MDE0MDgwMCwtMTcxNzAyNzIwMCwtMTY5MzcwMjgwMCwtMTY4MDQ3NjQwMCwtMTY2MzQ1MmUzLC0xNjUwMTQyODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC0xNjAwNDY2NDAwLC0xNTg3MTU3MjAwLC0xNTAxNzE4NDAwLC05MzE3MzA0MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5NjYwMDgwMCwtNzc4NzIzMjAwLC03NjI2NTI4MDAsLTc0ODQ4MzIwMCwtNzMzMjY2ZTMsLTcxNTIxMmUzLC03MDE5MDI4MDAsLTY4NDk3MmUzLC02NzA0NTMyMDAsLTY1NDEyNzIwMCwtNjM5MDAzNjAwLC0zOTcwOTA4MDAsLTM4NjgwNTYwMCwtMzcxMDg0NDAwLC0zNTUzNTZlMywtMzM0MTkxNjAwLC0zMjMzMDE2MDAsLTMwNzU4MDQwMCwtMjkxODUyZTMsLTI3MTI5MjQwMCwtMjYwNDAyNDAwLC0yMzk4NDI4MDAsLTIyODk1MjgwMCwtMjA4MzkzMjAwLC0xOTc1MDMyMDAsLTE3NjMzODgwMCwtMTY2MDUzNjAwLDIyODg3NzIwMCwyNDQwMDA4MDAsMjYwMzI2ODAwLDI3NjA1NTIwMCwyOTE3NzY0MDAsMzA3NTA0ODAwLDMyMzgzMDgwMCwzMzg5NTQ0MDAsMzU0Njc1NjAwLDM3MDQwNGUzLDM4NjEyNTIwMCw0MDE4NTM2MDAsNDE3NTc0ODAwLDQzMzMwMzIwMCw0NDkwMjQ0MDAsNDY1MzU3NjAwLDQ4MTA3ODgwMCw0OTY4MDcyMDAsNTEyNTI4NDAwLDUyODI1NjgwMCw1NDM5NzhlMyw1NTk3MDY0MDAsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0Ols1MDQwLDUwNDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsNzIwMCwxMDgwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9aYWdyZWIiOnsKdGltZTpbLTI3MTM5MTA0MDAsLTkwNTgyMTIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03NjY2MTY0MDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0OlszODMyLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9adXJpY2giOnt0aW1lOlstMzY3NTE5NjgwMCwtMjM4NTI0NDgwMCwtOTA0NDMxNjAwLC04OTExMjI0MDAsLTg3Mjk4MmUzLC04NTk2NzI4MDAsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLApvZmZzZXQ6WzIwNDgsMTc4NiwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJQYWNpZmljL0F1Y2tsYW5kIjp7dGltZTpbLTMxOTIzOTM2MDAsLTEzMzAyOTM2MDAsLTEzMjAwMTJlMywtMTMwMDY1ODQwMCwtMTI4NzM1MjgwMCwtMTI2OTIwODgwMCwtMTI1NTkwMzIwMCwtMTIzNzc1OTIwMCwtMTIyNDQ1MzYwMCwtMTIwNjMwOTYwMCwtMTE5MjM5OTIwMCwtMTE3NDg2ZTQsLTExNjA5NDk2MDAsLTExNDM0MTA0MDAsLTExMjU4NzEyMDAsLTExMTI1NjU2MDAsLTEwOTQ0MjE2MDAsLTEwODExMTZlMywtMTA2Mjk3MmUzLC0xMDQ5NjY2NDAwLC0xMDMxNTIyNDAwLC0xMDE4MjE2ODAwLC0xMDAwMDcyODAwLC05ODY3NjcyMDAsLTk2ODAxODQwMCwtOTU1MzE3NjAwLC05MzY1Njg4MDAsLTkyMzI2MzIwMCwtNzU3MzgyNDAwLDE1MjY3NmUzLDE2MjM1NjQwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NDMxOGUzLDQwNDg3NzYwMCw0MTU3Njc2MDAsNDM2MzI3MjAwLDQ0NzIxNzIwMCw0Njc3NzY4MDAsNDc4NjY2ODAwLDQ5OTIyNjQwMCw1MTAxMTY0MDAsNTMwNjc2ZTMsNTQxNTY2ZTMsNTYyMTI1NjAwLDU3MzYyMDQwMCw1OTQxOGU0LDYwNTA3ZTQsNjIzODE1MjAwLDYzNzcyOTIwMCw2NTUyNjQ4MDAsNjY5MTc4ODAwLDY4NjcxNDQwMCw3MDA2Mjg0MDAsNzE4MTY0ZTMsNzMyNjgyODAwLDc0OTYxMzYwMCw3NjQxMzI0MDAsNzgxMDYzMjAwLDc5NTU4MmUzLDgxMjUxMjgwMCw4MjcwMzE2MDAsODQ0NTY3MjAwLDg1ODQ4MTIwMCw4NzYwMTY4MDAsODg5OTMwODAwLDkwNzQ2NjQwMCw5MjE5ODUyMDAsOTM4OTE2ZTMsOTUzNDM0ODAwLDk3MDM2NTYwMCw5ODQ4ODQ0MDAsMTAwMjQyZTQsMTAxNjMzNGUzLDEwMzM4Njk2MDAsMTA0Nzc4MzYwMCwxMDY1MzE5MjAwLDEwNzk4MzhlMywxMDk2NzY4ODAwLDExMTEyODc2MDAsMTEyODIxODQwMCwxMTQyNzM3MjAwLDExNTk2NjhlMywxMTc0MTg2ODAwLDExOTExMTc2MDAsMTIwNzQ1MDgwMCwxMjIyNTY3MjAwLDEyMzg5MDA0MDAsMTI1NDAxNjgwMCwxMjcwMzVlNCwxMjg1NDY2NDAwLDEzMDE3OTk2MDAsMTMxNjkxNmUzLDEzMzMyNDkyMDAsMTM0ODk3MDQwMCwxMzY1MzAzNjAwLDEzODA0MmU0LDEzOTY3NTMyMDAsMTQxMTg2OTYwMCwxNDI4MjAyODAwLDE0NDMzMTkyMDAsMTQ1OTY1MjQwMCwxNDc0NzY4ODAwLDE0OTExMDJlMywxNTA2MjE4NDAwLDE1MjI1NTE2MDAsMTUzODI3MjgwMCwxNTU0NjA2ZTMsMTU2OTcyMjQwMCwxNTg2MDU1NjAwLDE2MDExNzJlMywxNjE3NTA1MjAwLDE2MzI2MjE2MDAsMTY0ODk1NDgwMCwxNjY0MDcxMjAwLDE2ODA0MDQ0MDAsMTY5NTUyMDgwMCwxNzEyNDU4ODAwLDE3Mjc1NzUyMDAsMTc0MzkwODQwMCwxNzU5MDI0ODAwLDE3NzUzNThlMywxNzkwNDc0NDAwLDE4MDY4MDc2MDAsMTgyMTkyNGUzLDE4MzgyNTcyMDAsMTg1MzM3MzYwMCwxODY5NzA2ODAwLDE4ODU0MjhlMywxOTAxNzYxMjAwLDE5MTY4Nzc2MDAsMTkzMzIxMDgwMF0sb2Zmc2V0Ols0MTk0NCw0MTQwMCw0NWUzLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwXX0sIlBhY2lmaWMvQ2hhdGhhbSI6ewp0aW1lOlstMzE5MjM5MzYwMCwtNzU3MzgyNDAwLDE1MjY3ODcwMCwxNjIzNTkxMDAsMTgzNTIzNTAwLDE5NTAxODMwMCwyMTU1Nzc5MDAsMjI2NDY3OTAwLDI0NzAyNzUwMCwyNTc5MTc1MDAsMjc4NDc3MTAwLDI4OTM2NzEwMCwzMDk5MjY3MDAsMzIwODE2NzAwLDM0MTM3NjMwMCwzNTIyNjYzMDAsMzcyODI1OTAwLDM4NDMyMDcwMCw0MDQ4ODAzMDAsNDE1NzcwMzAwLDQzNjMyOTkwMCw0NDcyMTk5MDAsNDY3Nzc5NTAwLDQ3ODY2OTUwMCw0OTkyMjkxMDAsNTEwMTE5MTAwLDUzMDY3ODcwMCw1NDE1Njg3MDAsNTYyMTI4MzAwLDU3MzYyMzEwMCw1OTQxODI3MDAsNjA1MDcyNzAwLDYyMzgxNzkwMCw2Mzc3MzE5MDAsNjU1MjY3NTAwLDY2OTE4MTUwMCw2ODY3MTcxMDAsNzAwNjMxMTAwLDcxODE2NjcwMCw3MzI2ODU1MDAsNzQ5NjE2MzAwLDc2NDEzNTEwMCw3ODEwNjU5MDAsNzk1NTg0NzAwLDgxMjUxNTUwMCw4MjcwMzQzMDAsODQ0NTY5OTAwLDg1ODQ4MzkwMCw4NzYwMTk1MDAsODg5OTMzNTAwLDkwNzQ2OTEwMCw5MjE5ODc5MDAsOTM4OTE4NzAwLDk1MzQzNzUwMCw5NzAzNjgzMDAsOTg0ODg3MTAwLDEwMDI0MjI3MDAsMTAxNjMzNjcwMCwxMDMzODcyMzAwLDEwNDc3ODYzMDAsMTA2NTMyMTkwMCwxMDc5ODQwNzAwLDEwOTY3NzE1MDAsMTExMTI5MDMwMCwxMTI4MjIxMTAwLDExNDI3Mzk5MDAsMTE1OTY3MDcwMCwxMTc0MTg5NTAwLDExOTExMjAzMDAsMTIwNzQ1MzUwMCwxMjIyNTY5OTAwLDEyMzg5MDMxMDAsMTI1NDAxOTUwMCwxMjcwMzUyNzAwLDEyODU0NjkxMDAsMTMwMTgwMjMwMCwxMzE2OTE4NzAwLDEzMzMyNTE5MDAsMTM0ODk3MzEwMCwxMzY1MzA2MzAwLDEzODA0MjI3MDAsMTM5Njc1NTkwMCwxNDExODcyMzAwLDE0MjgyMDU1MDAsMTQ0MzMyMTkwMCwxNDU5NjU1MTAwLDE0NzQ3NzE1MDAsMTQ5MTEwNDcwMCwxNTA2MjIxMTAwLDE1MjI1NTQzMDAsMTUzODI3NTUwMCwxNTU0NjA4NzAwLDE1Njk3MjUxMDAsMTU4NjA1ODMwMCwxNjAxMTc0NzAwLDE2MTc1MDc5MDAsMTYzMjYyNDMwMCwxNjQ4OTU3NTAwLDE2NjQwNzM5MDAsMTY4MDQwNzEwMCwxNjk1NTIzNTAwLDE3MTI0NjE1MDAsMTcyNzU3NzkwMCwxNzQzOTExMTAwLDE3NTkwMjc1MDAsMTc3NTM2MDcwMCwxNzkwNDc3MTAwLDE4MDY4MTAzMDAsMTgyMTkyNjcwMCwxODM4MjU5OTAwLDE4NTMzNzYzMDAsMTg2OTcwOTUwMCwxODg1NDMwNzAwLDE5MDE3NjM5MDAsMTkxNjg4MDMwMCwxOTMzMjEzNTAwXSxvZmZzZXQ6WzQ0MDI4LDQ0MTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwXX0sIlBhY2lmaWMvRmFrYW9mbyI6e3RpbWU6Wy0yMTc3NDUyODAwLDEzMjUyMDMyMDAsMTkyNTAzODgwMF0sb2Zmc2V0OlstNDEwOTYsLTM5NjAwLDQ2ODAwXX0sIlBhY2lmaWMvSG9ub2x1bHUiOnt0aW1lOlstMjMzNDEzOTIwMCwtMTE1NzMyMDgwMCwtMTE1NTQ3MDQwMCwtODgwMjM2ZTMsLTc2OTQyOTgwMCwtNzY1NDEwNDAwLC03MTIxODhlMywxOTI0OTU2ZTNdLG9mZnNldDpbLTM3ODg2LC0zNzgwMCwtMzQyMDAsLTM3ODAwLC0zNDIwMCwtMzQyMDAsLTM3ODAwLC0zNmUzXX0sIlBhY2lmaWMvTm9yZm9sayI6e3RpbWU6Wy0yMTc3NDUyODAwLC01OTk2MTZlMywxNTIwNzEyMDAsMTYyOTYxMjAwLDE0NDM5MjRlMywxNTcwMzI3MjAwLDE1ODYwNTU2MDAsMTYwMTc3NjgwMCwxNjE3NTA1MjAwLDE2MzMyMjY0MDAsMTY0ODk1NDgwMCwxNjY0Njc2ZTMsMTY4MDQwNDQwMCwxNjk2MTI1NjAwLDE3MTI0NTg4MDAsMTcyODE4ZTQsMTc0MzkwODQwMCwxNzU5NjI5NjAwLDE3NzUzNThlMywxNzkxMDc5MjAwLDE4MDY4MDc2MDAsMTgyMjUyODgwMCwxODM4MjU3MjAwLDE4NTM5Nzg0MDAsMTg2OTcwNjgwMCwxODg2MDMyODAwLDE5MDE3NjEyMDAsMTkxNzQ4MjQwMCwxOTMzMjEwODAwXSxvZmZzZXQ6WzQwMzEyLDQwMzIwLDQxNDAwLDQ1ZTMsNDE0MDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDBdfSwiVVMvTW91bnRhaW4iOnsKdGltZTpbLTI3MTc2Njg3OTYsLTE2MzMyOTg0MDAsLTE2MTUxNTQ0MDAsLTE2MDE4NDg4MDAsLTE1ODM3MDQ4MDAsLTE1NzAzOTkyMDAsLTE1NTE2NTA0MDAsLTE1Mzg5NDk2MDAsLTE1MzQxMTEyMDAsLTg4MDIzNmUzLC03Njk0MTcyMDAsLTc2NTQxMDQwMCwtMTQ3OTA5NjAwLC0xMzE1OGU0LC0xMTY0NmU0LC0xMDAxMzA0MDAsLTg0NDA1NjAwLC02ODY4MDgwMCwtNTI5NTZlMywtMzcyMzEyMDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sb2Zmc2V0OlstMjUxOTYsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDBdfX19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/38411.5db44eb39bd0bdc9a078.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.497Z","timestamp":1785120634497,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/38411.5db44eb39bd0bdc9a078.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 90\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a323c19-5a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 17 Jun 2026 06:18:01 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/17/2026 11:16:03\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d0d85654d9b5bd8467070d86206bca52\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":90,"size_decoded":874,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"fc60edf251616c67af6375a5dfe63cab","sha1":"417cc7bbafcf180fe9f70639785a48072e8e4fe0","sha256":"648d4d8493db2723d3176a8585a637d1754f768fb18e1e37eb8c2ea2f03725e3","sha512":"e7026466d15a9a1d872225d0298cc01ec0d74c6d57415d93f5d1f9781288a8fb94c803173f9988fe1241a46e3cadbe0230a211472f58690d729461ef2fe0086b","ssdeep":"","tlshash":"05b012453b9220c876321550eb2ca0453282743200328c229103c2b030801043004075","first_seen":"2026-06-17T14:59:58.186978Z","last_seen":"2026-07-27T06:01:16.235581Z","times_seen":325,"resource_available":false,"data":"LnNxdWFyZVRhYnMtZHk2b05haTggLnNxdWFyZVRhYkJ1dHRvbi1keTZvTmFpODpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4taW5saW5lLXN0YXJ0OjEycHh9"}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.58667.d15fc4b5c631bb5ece8d.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.797Z","timestamp":1785120634797,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/en.58667.d15fc4b5c631bb5ece8d.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"www.tradingview-widget.com/static/bundles/embed/71300.b6709433940339dc1f66.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.825Z","timestamp":1785120634825,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/71300.b6709433940339dc1f66.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"www.tradingview-widget.com/static/bundles/embed/5184.0fb4574cacec16f6365d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.840Z","timestamp":1785120634840,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/5184.0fb4574cacec16f6365d.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"247optiontradefx.com/img/about_bg.html","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.446Z","timestamp":1785120633446,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /img/about_bg.html HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 404 Not Found\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: text/html; charset=iso-8859-1\r\nContent-Length: 283\r\nConnection: keep-alive\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"Not Found","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":283,"size_decoded":458,"mime_type":"text/html; charset=iso-8859-1","magic":"HTML document, ASCII text","md5":"f973e61ffb0a7990eb10a464b8dbe3f4","sha1":"384889221664f1536b04a83e93f0612e77015ca5","sha256":"fec9552fb9862e2786d6eb7ce34088e31244c829bb219584c01a52365b5dd1bd","sha512":"d5ebecf282277191a3eb8bd5661e7e0bcf11f30b567720f6f188f5f89b26697cc86104cfd1cda038381ef77490c75119d0da94c0114ee4335af9e14e59abd57a","ssdeep":"","tlshash":"f3d02b9e5043638b481315907ac525c2368d13f6a43b85e82d86e4cb52d867fcddaa9c","first_seen":"2026-07-27T02:45:25.079023Z","last_seen":"2026-07-27T02:59:54.542762Z","times_seen":4,"resource_available":false,"data":"PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTCAyLjAvL0VOIj4KPGh0bWw+PGhlYWQ+Cjx0aXRsZT40MDQgTm90IEZvdW5kPC90aXRsZT4KPC9oZWFkPjxib2R5Pgo8aDE+Tm90IEZvdW5kPC9oMT4KPHA+VGhlIHJlcXVlc3RlZCBVUkwgd2FzIG5vdCBmb3VuZCBvbiB0aGlzIHNlcnZlci48L3A+Cjxocj4KPGFkZHJlc3M+QXBhY2hlLzIuNC41OCAoVWJ1bnR1KSBTZXJ2ZXIgYXQgMjQ3b3B0aW9udHJhZGVmeC5jb20gUG9ydCA0NDM8L2FkZHJlc3M+CjwvYm9keT48L2h0bWw+Cg=="}},"time_used":110,"timings":{"blocked":76,"dns":0,"connect":0,"send":0,"wait":34,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/99827.d3976dc0c5cfa2c2140e.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.013Z","timestamp":1785120634013,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/99827.d3976dc0c5cfa2c2140e.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b71-15b86\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:21 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 20aca7eb96ad8fd90d6ca07436f8f5dd\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":88966,"size_decoded":33771,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3072)","md5":"0af33a0629a4a15d05b8d21be003c0eb","sha1":"d61ed97048a72976c85785513a62b5e8590fb75a","sha256":"4dbdbd0c38d1d6468cbd0ec6b02411faaeffeddfc87c7b638be2e1263931cd14","sha512":"4350a5eab085a85477d149b1a91edb41a808bb070818e9d43e5e1147e4c71a0a5c3438616ab61efb6497365cb84e1f518343afd20431bb8612ba9f7a2165f814","ssdeep":"1536:wjugPsJO3KbxBvr1tBzoxvAgVIvrKfu2DNzmR5axsx5Eng/vc2JZu4+ej3aNOtHm:k0yKlvh/Z+839HMY74qBs","tlshash":"149309ddb2c5b06257e731b910af650ab237249d680d8440f139e8f6bc74b4aa13be7d","first_seen":"2026-05-05T10:36:04.846561Z","last_seen":"2026-07-27T05:24:15.730806Z","times_seen":1971,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s5OTgyN10sezE5OTgyNyhlKXt2YXIgdD13aW5kb3cuZG9jdW1lbnQsbj13aW5kb3cubmF2aWdhdG9yLHI9d2luZG93LmxvY2F0aW9uLGk9ZnVuY3Rpb24oKXt2YXIgZSxyLGksbyxhPWZ1bmN0aW9uKHQsbil7cmV0dXJuIG5ldyBhLmZuLmluaXQodCxuLGUpfSxzPXdpbmRvdy5qUXVlcnksbD13aW5kb3cuJCx1PS9eKD86W14jPF0qKDxbXHdcV10rPilbXj5dKiR8IyhbXHdcLV0qKSQpLyxjPS9eXHMrLyxmPS9ccyskLyxkPS9ePChcdyspXHMqXC8/Pig/OjxcL1wxPik/JC8scD0vXltcXSw6e31cc10qJC8saD0vXFwoPzpbIlxcXC9iZm5ydF18dVswLTlhLWZBLUZdezR9KS9nLG09LyJbXiJcXFxuXHJdKiJ8dHJ1ZXxmYWxzZXxudWxsfC0/XGQrKD86XC5cZCopPyg/OltlRV1bK1wtXT9cZCspPy9nLGc9Lyg/Ol58OnwsKSg/OlxzKlxbKSsvZyx2PS8od2Via2l0KVsgXC9dKFtcdy5dKykvLHk9LyhvcGVyYSkoPzouKnZlcnNpb24pP1sgXC9dKFtcdy5dKykvLGI9Lyhtc2llKSAoW1x3Ll0rKS8seD0vKG1vemlsbGEpKD86Lio/IHJ2OihbXHcuXSspKT8vLHc9Ly0oW2Etel18WzAtOV0pL2dpLFQ9L14tbXMtLyxOPWZ1bmN0aW9uKGUsdCl7cmV0dXJuKHQrIiIpLnRvVXBwZXJDYXNlKCl9LEM9bi51c2VyQWdlbnQsUz1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLGs9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxFPUFycmF5LnByb3RvdHlwZS5wdXNoLEE9QXJyYXkucHJvdG90eXBlLnNsaWNlLEQ9U3RyaW5nLnByb3RvdHlwZS50cmltLEw9QXJyYXkucHJvdG90eXBlLmluZGV4T2YsRj17fTtmdW5jdGlvbiBqKCl7aWYoIWEuaXNSZWFkeSl7dHJ5e3QuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsKCJsZWZ0Iil9Y2F0Y2goZSl7cmV0dXJuIHZvaWQgc2V0VGltZW91dChqLDEpfWEucmVhZHkoKX19cmV0dXJuIGEuZm49YS5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOmEsaW5pdDpmdW5jdGlvbihlLG4scil7dmFyIGksbyxzLGw7aWYoIWUpcmV0dXJuIHRoaXM7aWYoZS5ub2RlVHlwZSlyZXR1cm4gdGhpcy5jb250ZXh0PXRoaXNbMF09ZSx0aGlzLmxlbmd0aD0xLHRoaXM7aWYoImJvZHkiPT09ZSYmIW4mJnQuYm9keSlyZXR1cm4gdGhpcy5jb250ZXh0PXQsdGhpc1swXT10LmJvZHksdGhpcy5zZWxlY3Rvcj1lLHRoaXMubGVuZ3RoPTEsdGhpcztpZigic3RyaW5nIj09dHlwZW9mIGUpe2lmKCEoaT0iPCI9PT1lLmNoYXJBdCgwKSYmIj4iPT09ZS5jaGFyQXQoZS5sZW5ndGgtMSkmJmUubGVuZ3RoPj0zP1tudWxsLGUsbnVsbF06dS5leGVjKGUpKXx8IWlbMV0mJm4pcmV0dXJuIW58fG4uanF1ZXJ5PyhufHxyKS5maW5kKGUpOnRoaXMuY29uc3RydWN0b3IobikuZmluZChlKTtpZihpWzFdKXJldHVybiBsPShuPW4gaW5zdGFuY2VvZiBhP25bMF06bik/bi5vd25lckRvY3VtZW50fHxuOnQsKHM9ZC5leGVjKGUpKT9hLmlzUGxhaW5PYmplY3Qobik/KGU9W3QuY3JlYXRlRWxlbWVudChzWzFdKV0sYS5mbi5hdHRyLmNhbGwoZSxuLCEwKSk6ZT1bbC5jcmVhdGVFbGVtZW50KHNbMV0pXTplPSgocz1hLmJ1aWxkRnJhZ21lbnQoW2lbMV1dLFtsXSkpLmNhY2hlYWJsZT9hLmNsb25lKHMuZnJhZ21lbnQpOnMuZnJhZ21lbnQpLmNoaWxkTm9kZXMsYS5tZXJnZSh0aGlzLGUpO2lmKChvPXQuZ2V0RWxlbWVudEJ5SWQoaVsyXSkpJiZvLnBhcmVudE5vZGUpe2lmKG8uaWQhPT1pWzJdKXJldHVybiByLmZpbmQoZSk7dGhpcy5sZW5ndGg9MSx0aGlzWzBdPW99cmV0dXJuIHRoaXMuY29udGV4dD10LHRoaXMuc2VsZWN0b3I9ZSx0aGlzfXJldHVybiBhLmlzRnVuY3Rpb24oZSk/ci5yZWFkeShlKToodm9pZCAwIT09ZS5zZWxlY3RvciYmKHRoaXMuc2VsZWN0b3I9ZS5zZWxlY3Rvcix0aGlzLmNvbnRleHQ9ZS5jb250ZXh0KSxhLm1ha2VBcnJheShlLHRoaXMpKX0sc2VsZWN0b3I6IiIsanF1ZXJ5OiIxLjcuMiIsbGVuZ3RoOjAsc2l6ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmxlbmd0aH0sdG9BcnJheTpmdW5jdGlvbigpe3JldHVybiBBLmNhbGwodGhpcywwKX0sZ2V0OmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lP3RoaXMudG9BcnJheSgpOmU8MD90aGlzW3RoaXMubGVuZ3RoK2VdOnRoaXNbZV19LHB1c2hTdGFjazpmdW5jdGlvbihlLHQsbil7dmFyIHI9dGhpcy5jb25zdHJ1Y3RvcigpO3JldHVybiBhLmlzQXJyYXkoZSk/RS5hcHBseShyLGUpOmEubWVyZ2UocixlKSxyLnByZXZPYmplY3Q9dGhpcyxyLmNvbnRleHQ9dGhpcy5jb250ZXh0LCJmaW5kIj09PXQ/ci5zZWxlY3Rvcj10aGlzLnNlbGVjdG9yKyh0aGlzLnNlbGVjdG9yPyIgIjoiIikrbjp0JiYoci5zZWxlY3Rvcj10aGlzLnNlbGVjdG9yKyIuIit0KyIoIituKyIpIikscn0sZWFjaDpmdW5jdGlvbihlLHQpe3JldHVybiBhLmVhY2godGhpcyxlLHQpfSxyZWFkeTpmdW5jdGlvbihlKXtyZXR1cm4gYS5iaW5kUmVhZHkoKSxpLmFkZChlKSx0aGlzfSxlcTpmdW5jdGlvbihlKXtyZXR1cm4tMT09PShlPStlKT90aGlzLnNsaWNlKGUpOnRoaXMuc2xpY2UoZSxlKzEpfSxmaXJzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKDApfSxsYXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoLTEpfSxzbGljZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhBLmFwcGx5KHRoaXMsYXJndW1lbnRzKSwic2xpY2UiLEEuY2FsbChhcmd1bWVudHMpLmpvaW4oIiwiKSl9LG1hcDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soYS5tYXAodGhpcywoZnVuY3Rpb24odCxuKXtyZXR1cm4gZS5jYWxsKHQsbix0KX0pKSl9LGVuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnByZXZPYmplY3R8fHRoaXMuY29uc3RydWN0b3IobnVsbCl9LHB1c2g6RSxzb3J0OltdLnNvcnQsc3BsaWNlOltdLnNwbGljZX0sYS5mbi5pbml0LnByb3RvdHlwZT1hLmZuLGEuZXh0ZW5kPWEuZm4uZXh0ZW5kPWZ1bmN0aW9uKCl7dmFyIGUsdCxuLHIsaSxvLHM9YXJndW1lbnRzWzBdfHx7fSxsPTEsdT1hcmd1bWVudHMubGVuZ3RoLGM9ITEKO2ZvcigiYm9vbGVhbiI9PXR5cGVvZiBzJiYoYz1zLHM9YXJndW1lbnRzWzFdfHx7fSxsPTIpLCJvYmplY3QiPT10eXBlb2Ygc3x8YS5pc0Z1bmN0aW9uKHMpfHwocz17fSksdT09PWwmJihzPXRoaXMsLS1sKTtsPHU7bCsrKWlmKG51bGwhPShlPWFyZ3VtZW50c1tsXSkpZm9yKHQgaW4gZSluPXNbdF0scyE9PShyPWVbdF0pJiYoYyYmciYmKGEuaXNQbGFpbk9iamVjdChyKXx8KGk9YS5pc0FycmF5KHIpKSk/KGk/KGk9ITEsbz1uJiZhLmlzQXJyYXkobik/bjpbXSk6bz1uJiZhLmlzUGxhaW5PYmplY3Qobik/bjp7fSxzW3RdPWEuZXh0ZW5kKGMsbyxyKSk6dm9pZCAwIT09ciYmKHNbdF09cikpO3JldHVybiBzfSxhLmV4dGVuZCh7bm9Db25mbGljdDpmdW5jdGlvbihlKXtyZXR1cm4gd2luZG93LiQ9PT1hJiYod2luZG93LiQ9bCksZSYmd2luZG93LmpRdWVyeT09PWEmJih3aW5kb3cualF1ZXJ5PXMpLGF9LGlzUmVhZHk6ITEscmVhZHlXYWl0OjEsaG9sZFJlYWR5OmZ1bmN0aW9uKGUpe2U/YS5yZWFkeVdhaXQrKzphLnJlYWR5KCEwKX0scmVhZHk6ZnVuY3Rpb24oZSl7aWYoITA9PT1lJiYhIC0tYS5yZWFkeVdhaXR8fCEwIT09ZSYmIWEuaXNSZWFkeSl7aWYoIXQuYm9keSlyZXR1cm4gc2V0VGltZW91dChhLnJlYWR5LDEpO2lmKGEuaXNSZWFkeT0hMCwhMCE9PWUmJi0tYS5yZWFkeVdhaXQ+MClyZXR1cm47aS5maXJlV2l0aCh0LFthXSksYS5mbi50cmlnZ2VyJiZhKHQpLnRyaWdnZXIoInJlYWR5Iikub2ZmKCJyZWFkeSIpfX0sYmluZFJlYWR5OmZ1bmN0aW9uKCl7aWYoIWkpe2lmKGk9YS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksImNvbXBsZXRlIj09PXQucmVhZHlTdGF0ZSlyZXR1cm4gc2V0VGltZW91dChhLnJlYWR5LDEpO2lmKHQuYWRkRXZlbnRMaXN0ZW5lcil0LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLG8sITEpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixhLnJlYWR5LCExKTtlbHNlIGlmKHQuYXR0YWNoRXZlbnQpe3QuYXR0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsbyksd2luZG93LmF0dGFjaEV2ZW50KCJvbmxvYWQiLGEucmVhZHkpO3ZhciBlPSExO3RyeXtlPW51bGw9PXdpbmRvdy5mcmFtZUVsZW1lbnR9Y2F0Y2goZSl7fXQuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsJiZlJiZqKCl9fX0saXNGdW5jdGlvbjpmdW5jdGlvbihlKXtyZXR1cm4iZnVuY3Rpb24iPT09YS50eXBlKGUpfSxpc0FycmF5OkFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKGUpe3JldHVybiJhcnJheSI9PT1hLnR5cGUoZSl9LGlzV2luZG93OmZ1bmN0aW9uKGUpe3JldHVybiBudWxsIT1lJiZlPT1lLndpbmRvd30saXNOdW1lcmljOmZ1bmN0aW9uKGUpe3JldHVybiFpc05hTihwYXJzZUZsb2F0KGUpKSYmaXNGaW5pdGUoZSl9LHR5cGU6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWU/U3RyaW5nKGUpOkZbUy5jYWxsKGUpXXx8Im9iamVjdCJ9LGlzUGxhaW5PYmplY3Q6ZnVuY3Rpb24oZSl7aWYoIWV8fCJvYmplY3QiIT09YS50eXBlKGUpfHxlLm5vZGVUeXBlfHxhLmlzV2luZG93KGUpKXJldHVybiExO3RyeXtpZihlLmNvbnN0cnVjdG9yJiYhay5jYWxsKGUsImNvbnN0cnVjdG9yIikmJiFrLmNhbGwoZS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsImlzUHJvdG90eXBlT2YiKSlyZXR1cm4hMX1jYXRjaChlKXtyZXR1cm4hMX12YXIgdDtmb3IodCBpbiBlKTtyZXR1cm4gdm9pZCAwPT09dHx8ay5jYWxsKGUsdCl9LGlzRW1wdHlPYmplY3Q6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0IGluIGUpcmV0dXJuITE7cmV0dXJuITB9LGVycm9yOmZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcihlKX0scGFyc2VKU09OOmZ1bmN0aW9uKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZSYmZT8oZT1hLnRyaW0oZSksd2luZG93LkpTT04mJndpbmRvdy5KU09OLnBhcnNlP3dpbmRvdy5KU09OLnBhcnNlKGUpOnAudGVzdChlLnJlcGxhY2UoaCwiQCIpLnJlcGxhY2UobSwiXSIpLnJlcGxhY2UoZywiIikpP25ldyBGdW5jdGlvbigicmV0dXJuICIrZSkoKTp2b2lkIGEuZXJyb3IoIkludmFsaWQgSlNPTjogIitlKSk6bnVsbH0scGFyc2VYTUw6ZnVuY3Rpb24oZSl7aWYoInN0cmluZyIhPXR5cGVvZiBlfHwhZSlyZXR1cm4gbnVsbDt2YXIgdDt0cnl7d2luZG93LkRPTVBhcnNlcj90PShuZXcgRE9NUGFyc2VyKS5wYXJzZUZyb21TdHJpbmcoZSwidGV4dC94bWwiKTooKHQ9bmV3IEFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxET00iKSkuYXN5bmM9ImZhbHNlIix0LmxvYWRYTUwoZSkpfWNhdGNoKGUpe3Q9dm9pZCAwfXJldHVybiB0JiZ0LmRvY3VtZW50RWxlbWVudCYmIXQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInBhcnNlcmVycm9yIikubGVuZ3RofHxhLmVycm9yKCJJbnZhbGlkIFhNTDogIitlKSx0fSxub29wOmZ1bmN0aW9uKCl7fSxnbG9iYWxFdmFsOmZ1bmN0aW9uKGUpe30sY2FtZWxDYXNlOmZ1bmN0aW9uKGUpe3JldHVybiBlLnJlcGxhY2UoVCwibXMtIikucmVwbGFjZSh3LE4pfSxub2RlTmFtZTpmdW5jdGlvbihlLHQpe3JldHVybiBlLm5vZGVOYW1lJiZlLm5vZGVOYW1lLnRvVXBwZXJDYXNlKCk9PT10LnRvVXBwZXJDYXNlKCl9LGVhY2g6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGk9MCxvPWUubGVuZ3RoLHM9dm9pZCAwPT09b3x8YS5pc0Z1bmN0aW9uKGUpO2lmKG4paWYocyl7Zm9yKHIgaW4gZSlpZighMT09PXQuYXBwbHkoZVtyXSxuKSlicmVha31lbHNlIGZvcig7aTxvJiYhMSE9PXQuYXBwbHkoZVtpKytdLG4pOyk7ZWxzZSBpZihzKXtmb3IociBpbiBlKWlmKCExPT09dC5jYWxsKGVbcl0scixlW3JdKSlicmVha31lbHNlIGZvcig7aTxvJiYhMSE9PXQuY2FsbChlW2ldLGksZVtpKytdKTspO3JldHVybiBlfSx0cmltOkQ/ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWU/IiI6RC5jYWxsKGUpfTpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT8iIjplLnRvU3RyaW5nKCkucmVwbGFjZShjLCIiKS5yZXBsYWNlKGYsIiIpfSxtYWtlQXJyYXk6ZnVuY3Rpb24oZSx0KXt2YXIgbj10fHxbXTtpZihudWxsIT1lKXt2YXIgcj1hLnR5cGUoZSkKO251bGw9PWUubGVuZ3RofHwic3RyaW5nIj09PXJ8fCJmdW5jdGlvbiI9PT1yfHwicmVnZXhwIj09PXJ8fGEuaXNXaW5kb3coZSk/RS5jYWxsKG4sZSk6YS5tZXJnZShuLGUpfXJldHVybiBufSxpbkFycmF5OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcjtpZih0KXtpZihMKXJldHVybiBMLmNhbGwodCxlLG4pO2ZvcihyPXQubGVuZ3RoLG49bj9uPDA/TWF0aC5tYXgoMCxyK24pOm46MDtuPHI7bisrKWlmKG4gaW4gdCYmdFtuXT09PWUpcmV0dXJuIG59cmV0dXJuLTF9LG1lcmdlOmZ1bmN0aW9uKGUsdCl7dmFyIG49ZS5sZW5ndGgscj0wO2lmKCJudW1iZXIiPT10eXBlb2YgdC5sZW5ndGgpZm9yKHZhciBpPXQubGVuZ3RoO3I8aTtyKyspZVtuKytdPXRbcl07ZWxzZSBmb3IoO3ZvaWQgMCE9PXRbcl07KWVbbisrXT10W3IrK107cmV0dXJuIGUubGVuZ3RoPW4sZX0sZ3JlcDpmdW5jdGlvbihlLHQsbil7dmFyIHI9W107bj0hIW47Zm9yKHZhciBpPTAsbz1lLmxlbmd0aDtpPG87aSsrKW4hPT0hIXQoZVtpXSxpKSYmci5wdXNoKGVbaV0pO3JldHVybiByfSxtYXA6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbz1bXSxzPTAsbD1lLmxlbmd0aDtpZihlIGluc3RhbmNlb2YgYXx8dm9pZCAwIT09bCYmIm51bWJlciI9PXR5cGVvZiBsJiYobD4wJiZlWzBdJiZlW2wtMV18fDA9PT1sfHxhLmlzQXJyYXkoZSkpKWZvcig7czxsO3MrKyludWxsIT0ocj10KGVbc10scyxuKSkmJihvW28ubGVuZ3RoXT1yKTtlbHNlIGZvcihpIGluIGUpbnVsbCE9KHI9dChlW2ldLGksbikpJiYob1tvLmxlbmd0aF09cik7cmV0dXJuIG8uY29uY2F0LmFwcGx5KFtdLG8pfSxndWlkOjEscHJveHk6ZnVuY3Rpb24oZSx0KXtpZigic3RyaW5nIj09dHlwZW9mIHQpe3ZhciBuPWVbdF07dD1lLGU9bn1pZihhLmlzRnVuY3Rpb24oZSkpe3ZhciByPUEuY2FsbChhcmd1bWVudHMsMiksaT1mdW5jdGlvbigpe3JldHVybiBlLmFwcGx5KHQsci5jb25jYXQoQS5jYWxsKGFyZ3VtZW50cykpKX07cmV0dXJuIGkuZ3VpZD1lLmd1aWQ9ZS5ndWlkfHxpLmd1aWR8fGEuZ3VpZCsrLGl9fSxhY2Nlc3M6ZnVuY3Rpb24oZSx0LG4scixpLG8scyl7dmFyIGwsdT1udWxsPT1uLGM9MCxmPWUubGVuZ3RoO2lmKG4mJiJvYmplY3QiPT10eXBlb2Ygbil7Zm9yKGMgaW4gbilhLmFjY2VzcyhlLHQsYyxuW2NdLDEsbyxyKTtpPTF9ZWxzZSBpZih2b2lkIDAhPT1yKXtpZihsPXZvaWQgMD09PXMmJmEuaXNGdW5jdGlvbihyKSx1JiYobD8obD10LHQ9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBsLmNhbGwoYShlKSxuKX0pOih0LmNhbGwoZSxyKSx0PW51bGwpKSx0KWZvcig7YzxmO2MrKyl0KGVbY10sbixsP3IuY2FsbChlW2NdLGMsdChlW2NdLG4pKTpyLHMpO2k9MX1yZXR1cm4gaT9lOnU/dC5jYWxsKGUpOmY/dChlWzBdLG4pOm99LG5vdzpmdW5jdGlvbigpe3JldHVybihuZXcgRGF0ZSkuZ2V0VGltZSgpfSx1YU1hdGNoOmZ1bmN0aW9uKGUpe2U9ZS50b0xvd2VyQ2FzZSgpO3ZhciB0PXYuZXhlYyhlKXx8eS5leGVjKGUpfHxiLmV4ZWMoZSl8fGUuaW5kZXhPZigiY29tcGF0aWJsZSIpPDAmJnguZXhlYyhlKXx8W107cmV0dXJue2Jyb3dzZXI6dFsxXXx8IiIsdmVyc2lvbjp0WzJdfHwiMCJ9fSxzdWI6ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQsbil7cmV0dXJuIG5ldyBlLmZuLmluaXQodCxuKX1hLmV4dGVuZCghMCxlLHRoaXMpLGUuc3VwZXJjbGFzcz10aGlzLGUuZm49ZS5wcm90b3R5cGU9dGhpcygpLGUuZm4uY29uc3RydWN0b3I9ZSxlLnN1Yj10aGlzLnN1YixlLmZuLmluaXQ9ZnVuY3Rpb24odCxyKXtyZXR1cm4gciYmciBpbnN0YW5jZW9mIGEmJiEociBpbnN0YW5jZW9mIGUpJiYocj1lKHIpKSxhLmZuLmluaXQuY2FsbCh0aGlzLHQscixuKX0sZS5mbi5pbml0LnByb3RvdHlwZT1lLmZuO3ZhciBuPWUodCk7cmV0dXJuIGV9LGJyb3dzZXI6e319KSxhLmVhY2goIkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRlIFJlZ0V4cCBPYmplY3QiLnNwbGl0KCIgIiksKGZ1bmN0aW9uKGUsdCl7RlsiW29iamVjdCAiK3QrIl0iXT10LnRvTG93ZXJDYXNlKCl9KSksKHI9YS51YU1hdGNoKEMpKS5icm93c2VyJiYoYS5icm93c2VyW3IuYnJvd3Nlcl09ITAsYS5icm93c2VyLnZlcnNpb249ci52ZXJzaW9uKSxhLmJyb3dzZXIud2Via2l0JiYoYS5icm93c2VyLnNhZmFyaT0hMCksL1xTLy50ZXN0KCLCoCIpJiYoYz0vXltcc1x4QTBdKy8sZj0vW1xzXHhBMF0rJC8pLGU9YSh0KSx0LmFkZEV2ZW50TGlzdGVuZXI/bz1mdW5jdGlvbigpe3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsbywhMSksYS5yZWFkeSgpfTp0LmF0dGFjaEV2ZW50JiYobz1mdW5jdGlvbigpeyJjb21wbGV0ZSI9PT10LnJlYWR5U3RhdGUmJih0LmRldGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLG8pLGEucmVhZHkoKSl9KSxhfSgpLG89e307aS5DYWxsYmFja3M9ZnVuY3Rpb24oZSl7ZT1lP29bZV18fGZ1bmN0aW9uKGUpe3ZhciB0LG4scj1vW2VdPXt9O2Zvcih0PTAsbj0oZT1lLnNwbGl0KC9ccysvKSkubGVuZ3RoO3Q8bjt0KyspcltlW3RdXT0hMDtyZXR1cm4gcn0oZSk6e307dmFyIHQsbixyLGEscyxsLHU9W10sYz1bXSxmPWZ1bmN0aW9uKHQpe3ZhciBuLHIsbyxhO2ZvcihuPTAscj10Lmxlbmd0aDtuPHI7bisrKW89dFtuXSwiYXJyYXkiPT09KGE9aS50eXBlKG8pKT9mKG8pOiJmdW5jdGlvbiI9PT1hJiYoZS51bmlxdWUmJnAuaGFzKG8pfHx1LnB1c2gobykpfSxkPWZ1bmN0aW9uKGksbyl7Zm9yKG89b3x8W10sdD0hZS5tZW1vcnl8fFtpLG9dLG49ITAscj0hMCxsPWF8fDAsYT0wLHM9dS5sZW5ndGg7dSYmbDxzO2wrKylpZighMT09PXVbbF0uYXBwbHkoaSxvKSYmZS5zdG9wT25GYWxzZSl7dD0hMDticmVha31yPSExLHUmJihlLm9uY2U/ITA9PT10P3AuZGlzYWJsZSgpOnU9W106YyYmYy5sZW5ndGgmJih0PWMuc2hpZnQoKSxwLmZpcmVXaXRoKHRbMF0sdFsxXSkpKX0scD17YWRkOmZ1bmN0aW9uKCl7aWYodSl7dmFyIGU9dS5sZW5ndGg7Zihhcmd1bWVudHMpLHI/cz11Lmxlbmd0aDp0JiYhMCE9PXQmJihhPWUsZCh0WzBdLHRbMV0pKX1yZXR1cm4gdGhpc30sCnJlbW92ZTpmdW5jdGlvbigpe2lmKHUpZm9yKHZhciB0PWFyZ3VtZW50cyxuPTAsaT10Lmxlbmd0aDtuPGk7bisrKWZvcih2YXIgbz0wO288dS5sZW5ndGgmJih0W25dIT09dVtvXXx8KHImJm88PXMmJihzLS0sbzw9bCYmbC0tKSx1LnNwbGljZShvLS0sMSksIWUudW5pcXVlKSk7bysrKTtyZXR1cm4gdGhpc30saGFzOmZ1bmN0aW9uKGUpe2lmKHUpZm9yKHZhciB0PTAsbj11Lmxlbmd0aDt0PG47dCsrKWlmKGU9PT11W3RdKXJldHVybiEwO3JldHVybiExfSxlbXB0eTpmdW5jdGlvbigpe3JldHVybiB1PVtdLHRoaXN9LGRpc2FibGU6ZnVuY3Rpb24oKXtyZXR1cm4gdT1jPXQ9dm9pZCAwLHRoaXN9LGRpc2FibGVkOmZ1bmN0aW9uKCl7cmV0dXJuIXV9LGxvY2s6ZnVuY3Rpb24oKXtyZXR1cm4gYz12b2lkIDAsdCYmITAhPT10fHxwLmRpc2FibGUoKSx0aGlzfSxsb2NrZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hY30sZmlyZVdpdGg6ZnVuY3Rpb24obixpKXtyZXR1cm4gYyYmKHI/ZS5vbmNlfHxjLnB1c2goW24saV0pOmUub25jZSYmdHx8ZChuLGkpKSx0aGlzfSxmaXJlOmZ1bmN0aW9uKCl7cmV0dXJuIHAuZmlyZVdpdGgodGhpcyxhcmd1bWVudHMpLHRoaXN9LGZpcmVkOmZ1bmN0aW9uKCl7cmV0dXJuISFufX07cmV0dXJuIHB9O3ZhciBhPVtdLnNsaWNlO2kuZXh0ZW5kKHtEZWZlcnJlZDpmdW5jdGlvbihlKXt2YXIgdCxuPWkuQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLHI9aS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5Iiksbz1pLkNhbGxiYWNrcygibWVtb3J5IiksYT0icGVuZGluZyIscz17cmVzb2x2ZTpuLHJlamVjdDpyLG5vdGlmeTpvfSxsPXtkb25lOm4uYWRkLGZhaWw6ci5hZGQscHJvZ3Jlc3M6by5hZGQsc3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gYX0saXNSZXNvbHZlZDpuLmZpcmVkLGlzUmVqZWN0ZWQ6ci5maXJlZCx0aGVuOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdS5kb25lKGUpLmZhaWwodCkucHJvZ3Jlc3MobiksdGhpc30sYWx3YXlzOmZ1bmN0aW9uKCl7cmV0dXJuIHUuZG9uZS5hcHBseSh1LGFyZ3VtZW50cykuZmFpbC5hcHBseSh1LGFyZ3VtZW50cyksdGhpc30scGlwZTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGkuRGVmZXJyZWQoKGZ1bmN0aW9uKHIpe2kuZWFjaCh7ZG9uZTpbZSwicmVzb2x2ZSJdLGZhaWw6W3QsInJlamVjdCJdLHByb2dyZXNzOltuLCJub3RpZnkiXX0sKGZ1bmN0aW9uKGUsdCl7dmFyIG4sbz10WzBdLGE9dFsxXTtpLmlzRnVuY3Rpb24obyk/dVtlXSgoZnVuY3Rpb24oKXsobj1vLmFwcGx5KHRoaXMsYXJndW1lbnRzKSkmJmkuaXNGdW5jdGlvbihuLnByb21pc2UpP24ucHJvbWlzZSgpLnRoZW4oci5yZXNvbHZlLHIucmVqZWN0LHIubm90aWZ5KTpyW2ErIldpdGgiXSh0aGlzPT09dT9yOnRoaXMsW25dKX0pKTp1W2VdKHJbYV0pfSkpfSkpLnByb21pc2UoKX0scHJvbWlzZTpmdW5jdGlvbihlKXtpZihudWxsPT1lKWU9bDtlbHNlIGZvcih2YXIgdCBpbiBsKWVbdF09bFt0XTtyZXR1cm4gZX19LHU9bC5wcm9taXNlKHt9KTtmb3IodCBpbiBzKXVbdF09c1t0XS5maXJlLHVbdCsiV2l0aCJdPXNbdF0uZmlyZVdpdGg7cmV0dXJuIHUuZG9uZSgoZnVuY3Rpb24oKXthPSJyZXNvbHZlZCJ9KSxyLmRpc2FibGUsby5sb2NrKS5mYWlsKChmdW5jdGlvbigpe2E9InJlamVjdGVkIn0pLG4uZGlzYWJsZSxvLmxvY2spLGUmJmUuY2FsbCh1LHUpLHV9LHdoZW46ZnVuY3Rpb24oZSl7dmFyIHQ9YS5jYWxsKGFyZ3VtZW50cywwKSxuPTAscj10Lmxlbmd0aCxvPW5ldyBBcnJheShyKSxzPXIsbD1yPD0xJiZlJiZpLmlzRnVuY3Rpb24oZS5wcm9taXNlKT9lOmkuRGVmZXJyZWQoKSx1PWwucHJvbWlzZSgpO2Z1bmN0aW9uIGMoZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3RbZV09YXJndW1lbnRzLmxlbmd0aD4xP2EuY2FsbChhcmd1bWVudHMsMCk6biwtLXN8fGwucmVzb2x2ZVdpdGgobCx0KX19ZnVuY3Rpb24gZihlKXtyZXR1cm4gZnVuY3Rpb24odCl7b1tlXT1hcmd1bWVudHMubGVuZ3RoPjE/YS5jYWxsKGFyZ3VtZW50cywwKTp0LGwubm90aWZ5V2l0aCh1LG8pfX1pZihyPjEpe2Zvcig7bjxyO24rKyl0W25dJiZ0W25dLnByb21pc2UmJmkuaXNGdW5jdGlvbih0W25dLnByb21pc2UpP3Rbbl0ucHJvbWlzZSgpLnRoZW4oYyhuKSxsLnJlamVjdCxmKG4pKTotLXM7c3x8bC5yZXNvbHZlV2l0aChsLHQpfWVsc2UgbCE9PWUmJmwucmVzb2x2ZVdpdGgobCxyP1tlXTpbXSk7cmV0dXJuIHV9fSksaS5zdXBwb3J0PXtsZWFkaW5nV2hpdGVzcGFjZTohMCx0Ym9keTohMCxodG1sU2VyaWFsaXplOiEwLHN0eWxlOiEwLGhyZWZOb3JtYWxpemVkOiEwLG9wYWNpdHk6ITAsY3NzRmxvYXQ6ITAsY2hlY2tPbjohMCxvcHRTZWxlY3RlZDohMCxnZXRTZXRBdHRyaWJ1dGU6ITAsZW5jdHlwZTohMCxodG1sNUNsb25lOiEwLHN1Ym1pdEJ1YmJsZXM6ITAsY2hhbmdlQnViYmxlczohMCxmb2N1c2luQnViYmxlczohMSxkZWxldGVFeHBhbmRvOiEwLG5vQ2xvbmVFdmVudDohMCxpbmxpbmVCbG9ja05lZWRzTGF5b3V0OiExLHNocmlua1dyYXBCbG9ja3M6ITEscmVsaWFibGVNYXJnaW5SaWdodDohMCxwaXhlbE1hcmdpbjohMCxib3hNb2RlbDohMCxub0Nsb25lQ2hlY2tlZDohMCxvcHREaXNhYmxlZDohMCxyYWRpb1ZhbHVlOiEwLGNoZWNrQ2xvbmU6ITAsYXBwZW5kQ2hlY2tlZDohMCxhamF4OiEwLGNvcnM6ITAscmVsaWFibGVIaWRkZW5PZmZzZXRzOiEwLGRvZXNOb3RBZGRCb3JkZXI6ITAsZG9lc0FkZEJvcmRlckZvclRhYmxlQW5kQ2VsbHM6ITEsZml4ZWRQb3NpdGlvbjohMCxzdWJ0cmFjdHNCb3JkZXJGb3JPdmVyZmxvd05vdFZpc2libGU6ITEsZG9lc05vdEluY2x1ZGVNYXJnaW5JbkJvZHlPZmZzZXQ6ITB9O3ZhciBzPS9eKD86XHsuKlx9fFxbLipcXSkkLyxsPS8oW0EtWl0pL2c7ZnVuY3Rpb24gdShlLHQsbil7aWYodm9pZCAwPT09biYmMT09PWUubm9kZVR5cGUpe3ZhciByPSJkYXRhLSIrdC5yZXBsYWNlKGwsIi0kMSIpLnRvTG93ZXJDYXNlKCk7aWYoInN0cmluZyI9PXR5cGVvZihuPWUuZ2V0QXR0cmlidXRlKHIpKSl7dHJ5ewpuPSJ0cnVlIj09PW58fCJmYWxzZSIhPT1uJiYoIm51bGwiPT09bj9udWxsOmkuaXNOdW1lcmljKG4pPytuOnMudGVzdChuKT9pLnBhcnNlSlNPTihuKTpuKX1jYXRjaChlKXt9aS5kYXRhKGUsdCxuKX1lbHNlIG49dm9pZCAwfXJldHVybiBufWZ1bmN0aW9uIGMoZSl7Zm9yKHZhciB0IGluIGUpaWYoKCJkYXRhIiE9PXR8fCFpLmlzRW1wdHlPYmplY3QoZVt0XSkpJiYidG9KU09OIiE9PXQpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gZihlLHQsbil7dmFyIHI9dCsiZGVmZXIiLG89dCsicXVldWUiLGE9dCsibWFyayIscz1pLl9kYXRhKGUscik7IXN8fCJxdWV1ZSIhPT1uJiZpLl9kYXRhKGUsbyl8fCJtYXJrIiE9PW4mJmkuX2RhdGEoZSxhKXx8c2V0VGltZW91dCgoZnVuY3Rpb24oKXtpLl9kYXRhKGUsbyl8fGkuX2RhdGEoZSxhKXx8KGkucmVtb3ZlRGF0YShlLHIsITApLHMuZmlyZSgpKX0pLDApfWkuZXh0ZW5kKHtjYWNoZTp7fSx1dWlkOjAsZXhwYW5kbzoialF1ZXJ5IisoaS5mbi5qcXVlcnkrTWF0aC5yYW5kb20oKSkucmVwbGFjZSgvXEQvZywiIiksbm9EYXRhOntlbWJlZDohMCxvYmplY3Q6ImNsc2lkOkQyN0NEQjZFLUFFNkQtMTFjZi05NkI4LTQ0NDU1MzU0MDAwMCIsYXBwbGV0OiEwfSxoYXNEYXRhOmZ1bmN0aW9uKGUpe3JldHVybiEhKGU9ZS5ub2RlVHlwZT9pLmNhY2hlW2VbaS5leHBhbmRvXV06ZVtpLmV4cGFuZG9dKSYmIWMoZSl9LGRhdGE6ZnVuY3Rpb24oZSx0LG4scil7aWYoaS5hY2NlcHREYXRhKGUpKXt2YXIgbyxhLHMsbD1pLmV4cGFuZG8sdT0ic3RyaW5nIj09dHlwZW9mIHQsYz1lLm5vZGVUeXBlLGY9Yz9pLmNhY2hlOmUsZD1jP2VbbF06ZVtsXSYmbCxwPSJldmVudHMiPT09dDtpZihkJiZmW2RdJiYocHx8cnx8ZltkXS5kYXRhKXx8IXV8fHZvaWQgMCE9PW4pcmV0dXJuIGR8fChjP2VbbF09ZD0rK2kudXVpZDpkPWwpLGZbZF18fChmW2RdPXt9LGN8fChmW2RdLnRvSlNPTj1pLm5vb3ApKSwib2JqZWN0IiE9dHlwZW9mIHQmJiJmdW5jdGlvbiIhPXR5cGVvZiB0fHwocj9mW2RdPWkuZXh0ZW5kKGZbZF0sdCk6ZltkXS5kYXRhPWkuZXh0ZW5kKGZbZF0uZGF0YSx0KSksbz1hPWZbZF0scnx8KGEuZGF0YXx8KGEuZGF0YT17fSksYT1hLmRhdGEpLHZvaWQgMCE9PW4mJihhW2kuY2FtZWxDYXNlKHQpXT1uKSxwJiYhYVt0XT9vLmV2ZW50czoodT9udWxsPT0ocz1hW3RdKSYmKHM9YVtpLmNhbWVsQ2FzZSh0KV0pOnM9YSxzKX19LHJlbW92ZURhdGE6ZnVuY3Rpb24oZSx0LG4pe2lmKGkuYWNjZXB0RGF0YShlKSl7dmFyIHIsbyxhLHM9aS5leHBhbmRvLGw9ZS5ub2RlVHlwZSx1PWw/aS5jYWNoZTplLGY9bD9lW3NdOnM7aWYodVtmXSl7aWYodCYmKHI9bj91W2ZdOnVbZl0uZGF0YSkpe2kuaXNBcnJheSh0KXx8KHQ9dCBpbiByfHwodD1pLmNhbWVsQ2FzZSh0KSlpbiByP1t0XTp0LnNwbGl0KCIgIikpO2ZvcihvPTAsYT10Lmxlbmd0aDtvPGE7bysrKWRlbGV0ZSByW3Rbb11dO2lmKCEobj9jOmkuaXNFbXB0eU9iamVjdCkocikpcmV0dXJufShufHwoZGVsZXRlIHVbZl0uZGF0YSxjKHVbZl0pKSkmJihpLnN1cHBvcnQuZGVsZXRlRXhwYW5kb3x8IXUuc2V0SW50ZXJ2YWw/ZGVsZXRlIHVbZl06dVtmXT1udWxsLGwmJihpLnN1cHBvcnQuZGVsZXRlRXhwYW5kbz9kZWxldGUgZVtzXTplLnJlbW92ZUF0dHJpYnV0ZT9lLnJlbW92ZUF0dHJpYnV0ZShzKTplW3NdPW51bGwpKX19fSxfZGF0YTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGkuZGF0YShlLHQsbiwhMCl9LGFjY2VwdERhdGE6ZnVuY3Rpb24oZSl7aWYoZS5ub2RlTmFtZSl7dmFyIHQ9aS5ub0RhdGFbZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXTtpZih0KXJldHVybiEoITA9PT10fHxlLmdldEF0dHJpYnV0ZSgiY2xhc3NpZCIpIT09dCl9cmV0dXJuITB9fSksaS5mbi5leHRlbmQoe2RhdGE6ZnVuY3Rpb24oZSx0KXt2YXIgbixyLG8sYSxzLGw9dGhpc1swXSxjPTAsZj1udWxsO2lmKHZvaWQgMD09PWUpe2lmKHRoaXMubGVuZ3RoJiYoZj1pLmRhdGEobCksMT09PWwubm9kZVR5cGUmJiFpLl9kYXRhKGwsInBhcnNlZEF0dHJzIikpKXtmb3Iocz0obz1sLmF0dHJpYnV0ZXMpLmxlbmd0aDtjPHM7YysrKTA9PT0oYT1vW2NdLm5hbWUpLmluZGV4T2YoImRhdGEtIikmJihhPWkuY2FtZWxDYXNlKGEuc3Vic3RyaW5nKDUpKSx1KGwsYSxmW2FdKSk7aS5fZGF0YShsLCJwYXJzZWRBdHRycyIsITApfXJldHVybiBmfXJldHVybiJvYmplY3QiPT10eXBlb2YgZT90aGlzLmVhY2goKGZ1bmN0aW9uKCl7aS5kYXRhKHRoaXMsZSl9KSk6KChuPWUuc3BsaXQoIi4iLDIpKVsxXT1uWzFdPyIuIituWzFdOiIiLHI9blsxXSsiISIsaS5hY2Nlc3ModGhpcywoZnVuY3Rpb24odCl7aWYodm9pZCAwPT09dClyZXR1cm4gdm9pZCAwPT09KGY9dGhpcy50cmlnZ2VySGFuZGxlcigiZ2V0RGF0YSIrcixbblswXV0pKSYmbCYmKGY9aS5kYXRhKGwsZSksZj11KGwsZSxmKSksdm9pZCAwPT09ZiYmblsxXT90aGlzLmRhdGEoblswXSk6ZjtuWzFdPXQsdGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciBvPWkodGhpcyk7by50cmlnZ2VySGFuZGxlcigic2V0RGF0YSIrcixuKSxpLmRhdGEodGhpcyxlLHQpLG8udHJpZ2dlckhhbmRsZXIoImNoYW5nZURhdGEiK3Isbil9KSl9KSxudWxsLHQsYXJndW1lbnRzLmxlbmd0aD4xLG51bGwsITEpKX0scmVtb3ZlRGF0YTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpe2kucmVtb3ZlRGF0YSh0aGlzLGUpfSkpfX0pLGkuZXh0ZW5kKHtfbWFyazpmdW5jdGlvbihlLHQpe2UmJih0PSh0fHwiZngiKSsibWFyayIsaS5fZGF0YShlLHQsKGkuX2RhdGEoZSx0KXx8MCkrMSkpfSxfdW5tYXJrOmZ1bmN0aW9uKGUsdCxuKXtpZighMCE9PWUmJihuPXQsdD1lLGU9ITEpLHQpe3ZhciByPShuPW58fCJmeCIpKyJtYXJrIixvPWU/MDooaS5fZGF0YSh0LHIpfHwxKS0xO28/aS5fZGF0YSh0LHIsbyk6KGkucmVtb3ZlRGF0YSh0LHIsITApLGYodCxuLCJtYXJrIikpfX0scXVldWU6ZnVuY3Rpb24oZSx0LG4pe3ZhciByO2lmKGUpcmV0dXJuIHQ9KHR8fCJmeCIpKyJxdWV1ZSIscj1pLl9kYXRhKGUsdCksCm4mJighcnx8aS5pc0FycmF5KG4pP3I9aS5fZGF0YShlLHQsaS5tYWtlQXJyYXkobikpOnIucHVzaChuKSkscnx8W119LGRlcXVldWU6ZnVuY3Rpb24oZSx0KXt0PXR8fCJmeCI7dmFyIG49aS5xdWV1ZShlLHQpLHI9bi5zaGlmdCgpLG89e307ImlucHJvZ3Jlc3MiPT09ciYmKHI9bi5zaGlmdCgpKSxyJiYoImZ4Ij09PXQmJm4udW5zaGlmdCgiaW5wcm9ncmVzcyIpLGkuX2RhdGEoZSx0KyIucnVuIixvKSxyLmNhbGwoZSwoZnVuY3Rpb24oKXtpLmRlcXVldWUoZSx0KX0pLG8pKSxuLmxlbmd0aHx8KGkucmVtb3ZlRGF0YShlLHQrInF1ZXVlICIrdCsiLnJ1biIsITApLGYoZSx0LCJxdWV1ZSIpKX19KSxpLmZuLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oZSx0KXt2YXIgbj0yO3JldHVybiJzdHJpbmciIT10eXBlb2YgZSYmKHQ9ZSxlPSJmeCIsbi0tKSxhcmd1bWVudHMubGVuZ3RoPG4/aS5xdWV1ZSh0aGlzWzBdLGUpOnZvaWQgMD09PXQ/dGhpczp0aGlzLmVhY2goKGZ1bmN0aW9uKCl7dmFyIG49aS5xdWV1ZSh0aGlzLGUsdCk7ImZ4Ij09PWUmJiJpbnByb2dyZXNzIiE9PW5bMF0mJmkuZGVxdWV1ZSh0aGlzLGUpfSkpfSxkZXF1ZXVlOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7aS5kZXF1ZXVlKHRoaXMsZSl9KSl9LGRlbGF5OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9aS5meCYmaS5meC5zcGVlZHNbZV18fGUsdD10fHwiZngiLHRoaXMucXVldWUodCwoZnVuY3Rpb24odCxuKXt2YXIgcj1zZXRUaW1lb3V0KHQsZSk7bi5zdG9wPWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KHIpfX0pKX0sY2xlYXJRdWV1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5xdWV1ZShlfHwiZngiLFtdKX0scHJvbWlzZTpmdW5jdGlvbihlLHQpeyJzdHJpbmciIT10eXBlb2YgZSYmKHQ9ZSxlPXZvaWQgMCksZT1lfHwiZngiO3ZhciBuLHI9aS5EZWZlcnJlZCgpLG89dGhpcyxhPW8ubGVuZ3RoLHM9MSxsPWUrImRlZmVyIix1PWUrInF1ZXVlIixjPWUrIm1hcmsiO2Z1bmN0aW9uIGYoKXstLXN8fHIucmVzb2x2ZVdpdGgobyxbb10pfWZvcig7YS0tOykobj1pLmRhdGEob1thXSxsLHZvaWQgMCwhMCl8fChpLmRhdGEob1thXSx1LHZvaWQgMCwhMCl8fGkuZGF0YShvW2FdLGMsdm9pZCAwLCEwKSkmJmkuZGF0YShvW2FdLGwsaS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksITApKSYmKHMrKyxuLmFkZChmKSk7cmV0dXJuIGYoKSxyLnByb21pc2UodCl9fSk7dmFyIGQscCxoLG09L1tcblx0XHJdL2csZz0vXHMrLyx2PS9cci9nLHk9L14oPzpidXR0b258aW5wdXQpJC9pLGI9L14oPzpidXR0b258aW5wdXR8b2JqZWN0fHNlbGVjdHx0ZXh0YXJlYSkkL2kseD0vXmEoPzpyZWEpPyQvaSx3PS9eKD86YXV0b2ZvY3VzfGF1dG9wbGF5fGFzeW5jfGNoZWNrZWR8Y29udHJvbHN8ZGVmZXJ8ZGlzYWJsZWR8aGlkZGVufGxvb3B8bXVsdGlwbGV8b3BlbnxyZWFkb25seXxyZXF1aXJlZHxzY29wZWR8c2VsZWN0ZWQpJC9pLFQ9aS5zdXBwb3J0LmdldFNldEF0dHJpYnV0ZTtpLmZuLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihlLHQpe3JldHVybiBpLmFjY2Vzcyh0aGlzLGkuYXR0cixlLHQsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlQXR0cjpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpe2kucmVtb3ZlQXR0cih0aGlzLGUpfSkpfSxwcm9wOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGkuYWNjZXNzKHRoaXMsaS5wcm9wLGUsdCxhcmd1bWVudHMubGVuZ3RoPjEpfSxyZW1vdmVQcm9wOmZ1bmN0aW9uKGUpe3JldHVybiBlPWkucHJvcEZpeFtlXXx8ZSx0aGlzLmVhY2goKGZ1bmN0aW9uKCl7dHJ5e3RoaXNbZV09dm9pZCAwLGRlbGV0ZSB0aGlzW2VdfWNhdGNoKGUpe319KSl9LGFkZENsYXNzOmZ1bmN0aW9uKGUpe3ZhciB0LG4scixvLGEscyxsO2lmKGkuaXNGdW5jdGlvbihlKSlyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbih0KXtpKHRoaXMpLmFkZENsYXNzKGUuY2FsbCh0aGlzLHQsdGhpcy5jbGFzc05hbWUpKX0pKTtpZihlJiYic3RyaW5nIj09dHlwZW9mIGUpZm9yKHQ9ZS5zcGxpdChnKSxuPTAscj10aGlzLmxlbmd0aDtuPHI7bisrKWlmKDE9PT0obz10aGlzW25dKS5ub2RlVHlwZSlpZihvLmNsYXNzTmFtZXx8MSE9PXQubGVuZ3RoKXtmb3IoYT0iICIrby5jbGFzc05hbWUrIiAiLHM9MCxsPXQubGVuZ3RoO3M8bDtzKyspfmEuaW5kZXhPZigiICIrdFtzXSsiICIpfHwoYSs9dFtzXSsiICIpO28uY2xhc3NOYW1lPWkudHJpbShhKX1lbHNlIG8uY2xhc3NOYW1lPWU7cmV0dXJuIHRoaXN9LHJlbW92ZUNsYXNzOmZ1bmN0aW9uKGUpe3ZhciB0LG4scixvLGEscyxsO2lmKGkuaXNGdW5jdGlvbihlKSlyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbih0KXtpKHRoaXMpLnJlbW92ZUNsYXNzKGUuY2FsbCh0aGlzLHQsdGhpcy5jbGFzc05hbWUpKX0pKTtpZihlJiYic3RyaW5nIj09dHlwZW9mIGV8fHZvaWQgMD09PWUpZm9yKHQ9KGV8fCIiKS5zcGxpdChnKSxuPTAscj10aGlzLmxlbmd0aDtuPHI7bisrKWlmKDE9PT0obz10aGlzW25dKS5ub2RlVHlwZSYmby5jbGFzc05hbWUpaWYoZSl7Zm9yKGE9KCIgIitvLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UobSwiICIpLHM9MCxsPXQubGVuZ3RoO3M8bDtzKyspYT1hLnJlcGxhY2UoIiAiK3Rbc10rIiAiLCIgIik7by5jbGFzc05hbWU9aS50cmltKGEpfWVsc2Ugby5jbGFzc05hbWU9IiI7cmV0dXJuIHRoaXN9LHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKGUsdCl7dmFyIG49dHlwZW9mIGUscj0iYm9vbGVhbiI9PXR5cGVvZiB0O3JldHVybiBpLmlzRnVuY3Rpb24oZSk/dGhpcy5lYWNoKChmdW5jdGlvbihuKXtpKHRoaXMpLnRvZ2dsZUNsYXNzKGUuY2FsbCh0aGlzLG4sdGhpcy5jbGFzc05hbWUsdCksdCl9KSk6dGhpcy5lYWNoKChmdW5jdGlvbigpe2lmKCJzdHJpbmciPT09bilmb3IodmFyIG8sYT0wLHM9aSh0aGlzKSxsPXQsdT1lLnNwbGl0KGcpO289dVthKytdOylsPXI/bDohcy5oYXNDbGFzcyhvKSwKc1tsPyJhZGRDbGFzcyI6InJlbW92ZUNsYXNzIl0obyk7ZWxzZSJ1bmRlZmluZWQiIT09biYmImJvb2xlYW4iIT09bnx8KHRoaXMuY2xhc3NOYW1lJiZpLl9kYXRhKHRoaXMsIl9fY2xhc3NOYW1lX18iLHRoaXMuY2xhc3NOYW1lKSx0aGlzLmNsYXNzTmFtZT10aGlzLmNsYXNzTmFtZXx8ITE9PT1lPyIiOmkuX2RhdGEodGhpcywiX19jbGFzc05hbWVfXyIpfHwiIil9KSl9LGhhc0NsYXNzOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0iICIrZSsiICIsbj0wLHI9dGhpcy5sZW5ndGg7bjxyO24rKylpZigxPT09dGhpc1tuXS5ub2RlVHlwZSYmKCIgIit0aGlzW25dLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UobSwiICIpLmluZGV4T2YodCk+LTEpcmV0dXJuITA7cmV0dXJuITF9LHZhbDpmdW5jdGlvbihlKXt2YXIgdCxuLHIsbz10aGlzWzBdO3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPWkuaXNGdW5jdGlvbihlKSx0aGlzLmVhY2goKGZ1bmN0aW9uKG4pe3ZhciBvLGE9aSh0aGlzKTsxPT09dGhpcy5ub2RlVHlwZSYmKG51bGw9PShvPXI/ZS5jYWxsKHRoaXMsbixhLnZhbCgpKTplKT9vPSIiOiJudW1iZXIiPT10eXBlb2Ygbz9vKz0iIjppLmlzQXJyYXkobykmJihvPWkubWFwKG8sKGZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lPyIiOmUrIiJ9KSkpLCh0PWkudmFsSG9va3NbdGhpcy50eXBlXXx8aS52YWxIb29rc1t0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldKSYmInNldCJpbiB0JiZ2b2lkIDAhPT10LnNldCh0aGlzLG8sInZhbHVlIil8fCh0aGlzLnZhbHVlPW8pKX0pKSk6bz8odD1pLnZhbEhvb2tzW28udHlwZV18fGkudmFsSG9va3Nbby5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSkmJiJnZXQiaW4gdCYmdm9pZCAwIT09KG49dC5nZXQobywidmFsdWUiKSk/bjoic3RyaW5nIj09dHlwZW9mKG49by52YWx1ZSk/bi5yZXBsYWNlKHYsIiIpOm4/PyIiOnZvaWQgMH19KSxpLmV4dGVuZCh7dmFsSG9va3M6e29wdGlvbjp7Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0PWUuYXR0cmlidXRlcy52YWx1ZTtyZXR1cm4hdHx8dC5zcGVjaWZpZWQ/ZS52YWx1ZTplLnRleHR9fSxzZWxlY3Q6e2dldDpmdW5jdGlvbihlKXt2YXIgdCxuLHIsbyxhPWUuc2VsZWN0ZWRJbmRleCxzPVtdLGw9ZS5vcHRpb25zLHU9InNlbGVjdC1vbmUiPT09ZS50eXBlO2lmKGE8MClyZXR1cm4gbnVsbDtmb3Iobj11P2E6MCxyPXU/YSsxOmwubGVuZ3RoO248cjtuKyspaWYoKG89bFtuXSkuc2VsZWN0ZWQmJihpLnN1cHBvcnQub3B0RGlzYWJsZWQ/IW8uZGlzYWJsZWQ6bnVsbD09PW8uZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpKSYmKCFvLnBhcmVudE5vZGUuZGlzYWJsZWR8fCFpLm5vZGVOYW1lKG8ucGFyZW50Tm9kZSwib3B0Z3JvdXAiKSkpe2lmKHQ9aShvKS52YWwoKSx1KXJldHVybiB0O3MucHVzaCh0KX1yZXR1cm4gdSYmIXMubGVuZ3RoJiZsLmxlbmd0aD9pKGxbYV0pLnZhbCgpOnN9LHNldDpmdW5jdGlvbihlLHQpe3ZhciBuPWkubWFrZUFycmF5KHQpO3JldHVybiBpKGUpLmZpbmQoIm9wdGlvbiIpLmVhY2goKGZ1bmN0aW9uKCl7dGhpcy5zZWxlY3RlZD1pLmluQXJyYXkoaSh0aGlzKS52YWwoKSxuKT49MH0pKSxuLmxlbmd0aHx8KGUuc2VsZWN0ZWRJbmRleD0tMSksbn19fSxhdHRyRm46e3ZhbDohMCxjc3M6ITAsaHRtbDohMCx0ZXh0OiEwLGRhdGE6ITAsd2lkdGg6ITAsaGVpZ2h0OiEwLG9mZnNldDohMH0sYXR0cjpmdW5jdGlvbihlLHQsbixyKXt2YXIgbyxhLHMsbD1lLm5vZGVUeXBlO2lmKGUmJjMhPT1sJiY4IT09bCYmMiE9PWwpcmV0dXJuIHImJnQgaW4gaS5hdHRyRm4/aShlKVt0XShuKTp2b2lkIDA9PT1lLmdldEF0dHJpYnV0ZT9pLnByb3AoZSx0LG4pOigocz0xIT09bHx8IWkuaXNYTUxEb2MoZSkpJiYodD10LnRvTG93ZXJDYXNlKCksYT1pLmF0dHJIb29rc1t0XXx8KHcudGVzdCh0KT9wOmQpKSx2b2lkIDAhPT1uP251bGw9PT1uP3ZvaWQgaS5yZW1vdmVBdHRyKGUsdCk6YSYmInNldCJpbiBhJiZzJiZ2b2lkIDAhPT0obz1hLnNldChlLG4sdCkpP286KGUuc2V0QXR0cmlidXRlKHQsIiIrbiksbik6YSYmImdldCJpbiBhJiZzJiZudWxsIT09KG89YS5nZXQoZSx0KSk/bzpudWxsPT09KG89ZS5nZXRBdHRyaWJ1dGUodCkpP3ZvaWQgMDpvKX0scmVtb3ZlQXR0cjpmdW5jdGlvbihlLHQpe3ZhciBuLHIsbyxhLHMsbD0wO2lmKHQmJjE9PT1lLm5vZGVUeXBlKWZvcihhPShyPXQudG9Mb3dlckNhc2UoKS5zcGxpdChnKSkubGVuZ3RoO2w8YTtsKyspKG89cltsXSkmJihuPWkucHJvcEZpeFtvXXx8bywocz13LnRlc3QobykpfHxpLmF0dHIoZSxvLCIiKSxlLnJlbW92ZUF0dHJpYnV0ZShUP286bikscyYmbiBpbiBlJiYoZVtuXT0hMSkpfSxhdHRySG9va3M6e3R5cGU6e3NldDpmdW5jdGlvbihlLHQpe2lmKHkudGVzdChlLm5vZGVOYW1lKSYmZS5wYXJlbnROb2RlKWkuZXJyb3IoInR5cGUgcHJvcGVydHkgY2FuJ3QgYmUgY2hhbmdlZCIpO2Vsc2UgaWYoIWkuc3VwcG9ydC5yYWRpb1ZhbHVlJiYicmFkaW8iPT09dCYmaS5ub2RlTmFtZShlLCJpbnB1dCIpKXt2YXIgbj1lLnZhbHVlO3JldHVybiBlLnNldEF0dHJpYnV0ZSgidHlwZSIsdCksbiYmKGUudmFsdWU9biksdH19fSx2YWx1ZTp7Z2V0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGQmJmkubm9kZU5hbWUoZSwiYnV0dG9uIik/ZC5nZXQoZSx0KTp0IGluIGU/ZS52YWx1ZTpudWxsfSxzZXQ6ZnVuY3Rpb24oZSx0LG4pe2lmKGQmJmkubm9kZU5hbWUoZSwiYnV0dG9uIikpcmV0dXJuIGQuc2V0KGUsdCxuKTtlLnZhbHVlPXR9fX0scHJvcEZpeDp7dGFiaW5kZXg6InRhYkluZGV4IixyZWFkb25seToicmVhZE9ubHkiLGZvcjoiaHRtbEZvciIsY2xhc3M6ImNsYXNzTmFtZSIsbWF4bGVuZ3RoOiJtYXhMZW5ndGgiLGNlbGxzcGFjaW5nOiJjZWxsU3BhY2luZyIsY2VsbHBhZGRpbmc6ImNlbGxQYWRkaW5nIixyb3dzcGFuOiJyb3dTcGFuIixjb2xzcGFuOiJjb2xTcGFuIix1c2VtYXA6InVzZU1hcCIsZnJhbWVib3JkZXI6ImZyYW1lQm9yZGVyIixjb250ZW50ZWRpdGFibGU6ImNvbnRlbnRFZGl0YWJsZSJ9LHByb3A6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLG8sYT1lLm5vZGVUeXBlCjtpZihlJiYzIT09YSYmOCE9PWEmJjIhPT1hKXJldHVybigxIT09YXx8IWkuaXNYTUxEb2MoZSkpJiYodD1pLnByb3BGaXhbdF18fHQsbz1pLnByb3BIb29rc1t0XSksdm9pZCAwIT09bj9vJiYic2V0ImluIG8mJnZvaWQgMCE9PShyPW8uc2V0KGUsbix0KSk/cjplW3RdPW46byYmImdldCJpbiBvJiZudWxsIT09KHI9by5nZXQoZSx0KSk/cjplW3RdfSxwcm9wSG9va3M6e3RhYkluZGV4OntnZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5nZXRBdHRyaWJ1dGVOb2RlKCJ0YWJpbmRleCIpO3JldHVybiB0JiZ0LnNwZWNpZmllZD9wYXJzZUludCh0LnZhbHVlLDEwKTpiLnRlc3QoZS5ub2RlTmFtZSl8fHgudGVzdChlLm5vZGVOYW1lKSYmZS5ocmVmPzA6dm9pZCAwfX19fSksaS5hdHRySG9va3MudGFiaW5kZXg9aS5wcm9wSG9va3MudGFiSW5kZXgscD17Z2V0OmZ1bmN0aW9uKGUsdCl7dmFyIG4scj1pLnByb3AoZSx0KTtyZXR1cm4hMD09PXJ8fCJib29sZWFuIiE9dHlwZW9mIHImJihuPWUuZ2V0QXR0cmlidXRlTm9kZSh0KSkmJiExIT09bi5ub2RlVmFsdWU/dC50b0xvd2VyQ2FzZSgpOnZvaWQgMH0sc2V0OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcjtyZXR1cm4hMT09PXQ/aS5yZW1vdmVBdHRyKGUsbik6KChyPWkucHJvcEZpeFtuXXx8bilpbiBlJiYoZVtyXT0hMCksZS5zZXRBdHRyaWJ1dGUobixuLnRvTG93ZXJDYXNlKCkpKSxufX0sVHx8KGg9e25hbWU6ITAsaWQ6ITAsY29vcmRzOiEwfSxkPWkudmFsSG9va3MuYnV0dG9uPXtnZXQ6ZnVuY3Rpb24oZSx0KXt2YXIgbjtyZXR1cm4obj1lLmdldEF0dHJpYnV0ZU5vZGUodCkpJiYoaFt0XT8iIiE9PW4ubm9kZVZhbHVlOm4uc3BlY2lmaWVkKT9uLm5vZGVWYWx1ZTp2b2lkIDB9LHNldDpmdW5jdGlvbihlLG4scil7dmFyIGk9ZS5nZXRBdHRyaWJ1dGVOb2RlKHIpO3JldHVybiBpfHwoaT10LmNyZWF0ZUF0dHJpYnV0ZShyKSxlLnNldEF0dHJpYnV0ZU5vZGUoaSkpLGkubm9kZVZhbHVlPW4rIiJ9fSxpLmF0dHJIb29rcy50YWJpbmRleC5zZXQ9ZC5zZXQsaS5lYWNoKFsid2lkdGgiLCJoZWlnaHQiXSwoZnVuY3Rpb24oZSx0KXtpLmF0dHJIb29rc1t0XT1pLmV4dGVuZChpLmF0dHJIb29rc1t0XSx7c2V0OmZ1bmN0aW9uKGUsbil7aWYoIiI9PT1uKXJldHVybiBlLnNldEF0dHJpYnV0ZSh0LCJhdXRvIiksbn19KX0pKSxpLmF0dHJIb29rcy5jb250ZW50ZWRpdGFibGU9e2dldDpkLmdldCxzZXQ6ZnVuY3Rpb24oZSx0LG4peyIiPT09dCYmKHQ9ImZhbHNlIiksZC5zZXQoZSx0LG4pfX0pLGkuc3VwcG9ydC5ocmVmTm9ybWFsaXplZHx8aS5lYWNoKFsiaHJlZiIsInNyYyIsIndpZHRoIiwiaGVpZ2h0Il0sKGZ1bmN0aW9uKGUsdCl7aS5hdHRySG9va3NbdF09aS5leHRlbmQoaS5hdHRySG9va3NbdF0se2dldDpmdW5jdGlvbihlKXt2YXIgbj1lLmdldEF0dHJpYnV0ZSh0LDIpO3JldHVybiBudWxsPT09bj92b2lkIDA6bn19KX0pKSxpLnN1cHBvcnQuc3R5bGV8fChpLmF0dHJIb29rcy5zdHlsZT17Z2V0OmZ1bmN0aW9uKGUpe3JldHVybiBlLnN0eWxlLmNzc1RleHQudG9Mb3dlckNhc2UoKXx8dm9pZCAwfSxzZXQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5zdHlsZS5jc3NUZXh0PSIiK3R9fSksaS5zdXBwb3J0Lm9wdFNlbGVjdGVkfHwoaS5wcm9wSG9va3Muc2VsZWN0ZWQ9aS5leHRlbmQoaS5wcm9wSG9va3Muc2VsZWN0ZWQse2dldDpmdW5jdGlvbihlKXt2YXIgdD1lLnBhcmVudE5vZGU7cmV0dXJuIHQmJih0LnNlbGVjdGVkSW5kZXgsdC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCksbnVsbH19KSksaS5zdXBwb3J0LmVuY3R5cGV8fChpLnByb3BGaXguZW5jdHlwZT0iZW5jb2RpbmciKSxpLnN1cHBvcnQuY2hlY2tPbnx8aS5lYWNoKFsicmFkaW8iLCJjaGVja2JveCJdLChmdW5jdGlvbigpe2kudmFsSG9va3NbdGhpc109e2dldDpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09PWUuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpPyJvbiI6ZS52YWx1ZX19fSkpLGkuZWFjaChbInJhZGlvIiwiY2hlY2tib3giXSwoZnVuY3Rpb24oKXtpLnZhbEhvb2tzW3RoaXNdPWkuZXh0ZW5kKGkudmFsSG9va3NbdGhpc10se3NldDpmdW5jdGlvbihlLHQpe2lmKGkuaXNBcnJheSh0KSlyZXR1cm4gZS5jaGVja2VkPWkuaW5BcnJheShpKGUpLnZhbCgpLHQpPj0wfX0pfSkpO3ZhciBOPS9eKD86dGV4dGFyZWF8aW5wdXR8c2VsZWN0KSQvaSxDPS9eKFteXC5dKik/KD86XC4oLispKT8kLyxTPS8oPzpefFxzKWhvdmVyKFwuXFMrKT9cYi8saz0vXmtleS8sRT0vXig/Om1vdXNlfGNvbnRleHRtZW51KXxjbGljay8sQT0vXig/OmZvY3VzaW5mb2N1c3xmb2N1c291dGJsdXIpJC8sRD0vXihcdyopKD86IyhbXHdcLV0rKSk/KD86XC4oW1x3XC1dKykpPyQvLEw9ZnVuY3Rpb24oZSl7dmFyIHQ9RC5leGVjKGUpO3JldHVybiB0JiYodFsxXT0odFsxXXx8IiIpLnRvTG93ZXJDYXNlKCksdFszXT10WzNdJiZuZXcgUmVnRXhwKCIoPzpefFxccykiK3RbM10rIig/Olxcc3wkKSIpKSx0fSxGPWZ1bmN0aW9uKGUpe3JldHVybiBpLmV2ZW50LnNwZWNpYWwuaG92ZXI/ZTplLnJlcGxhY2UoUywibW91c2VlbnRlciQxIG1vdXNlbGVhdmUkMSIpfTtmdW5jdGlvbiBqKCl7cmV0dXJuITF9ZnVuY3Rpb24gXygpe3JldHVybiEwfWkuZXZlbnQ9e2FkZDpmdW5jdGlvbihlLHQsbixyLG8pe3ZhciBhLHMsbCx1LGMsZixkLHAsaCxtLGc7aWYoMyE9PWUubm9kZVR5cGUmJjghPT1lLm5vZGVUeXBlJiZ0JiZuJiYoYT1pLl9kYXRhKGUpKSl7Zm9yKG4uaGFuZGxlciYmKG49KGg9bikuaGFuZGxlcixvPWguc2VsZWN0b3IpLG4uZ3VpZHx8KG4uZ3VpZD1pLmd1aWQrKyksKGw9YS5ldmVudHMpfHwoYS5ldmVudHM9bD17fSksKHM9YS5oYW5kbGUpfHwoYS5oYW5kbGU9cz1mdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwPT09aXx8ZSYmaS5ldmVudC50cmlnZ2VyZWQ9PT1lLnR5cGU/dm9pZCAwOmkuZXZlbnQuZGlzcGF0Y2guYXBwbHkocy5lbGVtLGFyZ3VtZW50cyl9LHMuZWxlbT1lKSx0PWkudHJpbShGKHQpKS5zcGxpdCgiICIpLHU9MDt1PHQubGVuZ3RoO3UrKylmPShjPUMuZXhlYyh0W3VdKXx8W10pWzFdLApkPShjWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksZz1pLmV2ZW50LnNwZWNpYWxbZl18fHt9LGY9KG8/Zy5kZWxlZ2F0ZVR5cGU6Zy5iaW5kVHlwZSl8fGYsZz1pLmV2ZW50LnNwZWNpYWxbZl18fHt9LHA9aS5leHRlbmQoe3R5cGU6ZixvcmlnVHlwZTpjWzFdLGRhdGE6cixoYW5kbGVyOm4sZ3VpZDpuLmd1aWQsc2VsZWN0b3I6byxxdWljazpvJiZMKG8pLG5hbWVzcGFjZTpkLmpvaW4oIi4iKX0saCksKG09bFtmXSl8fCgobT1sW2ZdPVtdKS5kZWxlZ2F0ZUNvdW50PTAsZy5zZXR1cCYmITEhPT1nLnNldHVwLmNhbGwoZSxyLGQscyl8fChlLmFkZEV2ZW50TGlzdGVuZXI/ZS5hZGRFdmVudExpc3RlbmVyKGYscywhMSk6ZS5hdHRhY2hFdmVudCYmZS5hdHRhY2hFdmVudCgib24iK2YscykpKSxnLmFkZCYmKGcuYWRkLmNhbGwoZSxwKSxwLmhhbmRsZXIuZ3VpZHx8KHAuaGFuZGxlci5ndWlkPW4uZ3VpZCkpLG8/bS5zcGxpY2UobS5kZWxlZ2F0ZUNvdW50KyssMCxwKTptLnB1c2gocCksaS5ldmVudC5nbG9iYWxbZl09ITA7ZT1udWxsfX0sZ2xvYmFsOnt9LHJlbW92ZTpmdW5jdGlvbihlLHQsbixyLG8pe3ZhciBhLHMsbCx1LGMsZixkLHAsaCxtLGcsdix5PWkuaGFzRGF0YShlKSYmaS5fZGF0YShlKTtpZih5JiYocD15LmV2ZW50cykpe2Zvcih0PWkudHJpbShGKHR8fCIiKSkuc3BsaXQoIiAiKSxhPTA7YTx0Lmxlbmd0aDthKyspaWYobD11PShzPUMuZXhlYyh0W2FdKXx8W10pWzFdLGM9c1syXSxsKXtmb3IoaD1pLmV2ZW50LnNwZWNpYWxbbF18fHt9LGY9KGc9cFtsPShyP2guZGVsZWdhdGVUeXBlOmguYmluZFR5cGUpfHxsXXx8W10pLmxlbmd0aCxjPWM/bmV3IFJlZ0V4cCgiKF58XFwuKSIrYy5zcGxpdCgiLiIpLnNvcnQoKS5qb2luKCJcXC4oPzouKlxcLik/IikrIihcXC58JCkiKTpudWxsLGQ9MDtkPGcubGVuZ3RoO2QrKyl2PWdbZF0sIW8mJnUhPT12Lm9yaWdUeXBlfHxuJiZuLmd1aWQhPT12Lmd1aWR8fGMmJiFjLnRlc3Qodi5uYW1lc3BhY2UpfHxyJiZyIT09di5zZWxlY3RvciYmKCIqKiIhPT1yfHwhdi5zZWxlY3Rvcil8fChnLnNwbGljZShkLS0sMSksdi5zZWxlY3RvciYmZy5kZWxlZ2F0ZUNvdW50LS0saC5yZW1vdmUmJmgucmVtb3ZlLmNhbGwoZSx2KSk7MD09PWcubGVuZ3RoJiZmIT09Zy5sZW5ndGgmJihoLnRlYXJkb3duJiYhMSE9PWgudGVhcmRvd24uY2FsbChlLGMpfHxpLnJlbW92ZUV2ZW50KGUsbCx5LmhhbmRsZSksZGVsZXRlIHBbbF0pfWVsc2UgZm9yKGwgaW4gcClpLmV2ZW50LnJlbW92ZShlLGwrdFthXSxuLHIsITApO2kuaXNFbXB0eU9iamVjdChwKSYmKChtPXkuaGFuZGxlKSYmKG0uZWxlbT1udWxsKSxpLnJlbW92ZURhdGEoZSxbImV2ZW50cyIsImhhbmRsZSJdLCEwKSl9fSxjdXN0b21FdmVudDp7Z2V0RGF0YTohMCxzZXREYXRhOiEwLGNoYW5nZURhdGE6ITB9LHRyaWdnZXI6ZnVuY3Rpb24oZSx0LG4scil7aWYoIW58fDMhPT1uLm5vZGVUeXBlJiY4IT09bi5ub2RlVHlwZSl7dmFyIG8sYSxzLGwsdSxjLGYsZCxwLGgsbT1lLnR5cGV8fGUsZz1bXTtpZighQS50ZXN0KG0raS5ldmVudC50cmlnZ2VyZWQpJiYobS5pbmRleE9mKCIhIik+PTAmJihtPW0uc2xpY2UoMCwtMSksYT0hMCksbS5pbmRleE9mKCIuIik+PTAmJihnPW0uc3BsaXQoIi4iKSxtPWcuc2hpZnQoKSxnLnNvcnQoKSksbiYmIWkuZXZlbnQuY3VzdG9tRXZlbnRbbV18fGkuZXZlbnQuZ2xvYmFsW21dKSlpZigoZT0ib2JqZWN0Ij09dHlwZW9mIGU/ZVtpLmV4cGFuZG9dP2U6bmV3IGkuRXZlbnQobSxlKTpuZXcgaS5FdmVudChtKSkudHlwZT1tLGUuaXNUcmlnZ2VyPSEwLGUuZXhjbHVzaXZlPWEsZS5uYW1lc3BhY2U9Zy5qb2luKCIuIiksZS5uYW1lc3BhY2VfcmU9ZS5uYW1lc3BhY2U/bmV3IFJlZ0V4cCgiKF58XFwuKSIrZy5qb2luKCJcXC4oPzouKlxcLik/IikrIihcXC58JCkiKTpudWxsLGM9bS5pbmRleE9mKCI6Iik8MD8ib24iK206IiIsbil7aWYoZS5yZXN1bHQ9dm9pZCAwLGUudGFyZ2V0fHwoZS50YXJnZXQ9biksKHQ9bnVsbCE9dD9pLm1ha2VBcnJheSh0KTpbXSkudW5zaGlmdChlKSwhKGY9aS5ldmVudC5zcGVjaWFsW21dfHx7fSkudHJpZ2dlcnx8ITEhPT1mLnRyaWdnZXIuYXBwbHkobix0KSl7aWYocD1bW24sZi5iaW5kVHlwZXx8bV1dLCFyJiYhZi5ub0J1YmJsZSYmIWkuaXNXaW5kb3cobikpe2ZvcihoPWYuZGVsZWdhdGVUeXBlfHxtLGw9QS50ZXN0KGgrbSk/bjpuLnBhcmVudE5vZGUsdT1udWxsO2w7bD1sLnBhcmVudE5vZGUpcC5wdXNoKFtsLGhdKSx1PWw7dSYmdT09PW4ub3duZXJEb2N1bWVudCYmcC5wdXNoKFt1LmRlZmF1bHRWaWV3fHx1LnBhcmVudFdpbmRvd3x8d2luZG93LGhdKX1mb3Iocz0wO3M8cC5sZW5ndGgmJiFlLmlzUHJvcGFnYXRpb25TdG9wcGVkKCk7cysrKWw9cFtzXVswXSxlLnR5cGU9cFtzXVsxXSwoZD0oaS5fZGF0YShsLCJldmVudHMiKXx8e30pW2UudHlwZV0mJmkuX2RhdGEobCwiaGFuZGxlIikpJiZkLmFwcGx5KGwsdCksKGQ9YyYmbFtjXSkmJmkuYWNjZXB0RGF0YShsKSYmITE9PT1kLmFwcGx5KGwsdCkmJmUucHJldmVudERlZmF1bHQoKTtyZXR1cm4gZS50eXBlPW0scnx8ZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8Zi5fZGVmYXVsdCYmITEhPT1mLl9kZWZhdWx0LmFwcGx5KG4ub3duZXJEb2N1bWVudCx0KXx8ImNsaWNrIj09PW0mJmkubm9kZU5hbWUobiwiYSIpfHwhaS5hY2NlcHREYXRhKG4pfHxjJiZuW21dJiYoImZvY3VzIiE9PW0mJiJibHVyIiE9PW18fDAhPT1lLnRhcmdldC5vZmZzZXRXaWR0aCkmJiFpLmlzV2luZG93KG4pJiYoKHU9bltjXSkmJihuW2NdPW51bGwpLGkuZXZlbnQudHJpZ2dlcmVkPW0sblttXSgpLGkuZXZlbnQudHJpZ2dlcmVkPXZvaWQgMCx1JiYobltjXT11KSksZS5yZXN1bHR9fWVsc2UgZm9yKHMgaW4gbz1pLmNhY2hlKW9bc10uZXZlbnRzJiZvW3NdLmV2ZW50c1ttXSYmaS5ldmVudC50cmlnZ2VyKGUsdCxvW3NdLmhhbmRsZS5lbGVtLCEwKX19LGRpc3BhdGNoOmZ1bmN0aW9uKGUpe2U9aS5ldmVudC5maXgoZXx8d2luZG93LmV2ZW50KQo7dmFyIHQsbixyLG8sYSxzLGwsdSxjLGYsZD0oaS5fZGF0YSh0aGlzLCJldmVudHMiKXx8e30pW2UudHlwZV18fFtdLHA9ZC5kZWxlZ2F0ZUNvdW50LGg9W10uc2xpY2UuY2FsbChhcmd1bWVudHMsMCksbT0hZS5leGNsdXNpdmUmJiFlLm5hbWVzcGFjZSxnPWkuZXZlbnQuc3BlY2lhbFtlLnR5cGVdfHx7fSx2PVtdO2lmKGhbMF09ZSxlLmRlbGVnYXRlVGFyZ2V0PXRoaXMsIWcucHJlRGlzcGF0Y2h8fCExIT09Zy5wcmVEaXNwYXRjaC5jYWxsKHRoaXMsZSkpe2lmKHAmJighZS5idXR0b258fCJjbGljayIhPT1lLnR5cGUpKWZvcigobz1pKHRoaXMpKS5jb250ZXh0PXRoaXMub3duZXJEb2N1bWVudHx8dGhpcyxyPWUudGFyZ2V0O3IhPXRoaXM7cj1yLnBhcmVudE5vZGV8fHRoaXMpaWYoITAhPT1yLmRpc2FibGVkKXtmb3Iocz17fSx1PVtdLG9bMF09cix0PTA7dDxwO3QrKyl2b2lkIDA9PT1zW2Y9KGM9ZFt0XSkuc2VsZWN0b3JdJiYoc1tmXT1jLnF1aWNrPyh5PXIsYj1jLnF1aWNrLHg9dm9pZCAwLHg9eS5hdHRyaWJ1dGVzfHx7fSwoIWJbMV18fHkubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PWJbMV0pJiYoIWJbMl18fCh4LmlkfHx7fSkudmFsdWU9PT1iWzJdKSYmKCFiWzNdfHxiWzNdLnRlc3QoKHguY2xhc3N8fHt9KS52YWx1ZSkpKTpvLmlzKGYpKSxzW2ZdJiZ1LnB1c2goYyk7dS5sZW5ndGgmJnYucHVzaCh7ZWxlbTpyLG1hdGNoZXM6dX0pfXZhciB5LGIseDtmb3IoZC5sZW5ndGg+cCYmdi5wdXNoKHtlbGVtOnRoaXMsbWF0Y2hlczpkLnNsaWNlKHApfSksdD0wO3Q8di5sZW5ndGgmJiFlLmlzUHJvcGFnYXRpb25TdG9wcGVkKCk7dCsrKWZvcihsPXZbdF0sZS5jdXJyZW50VGFyZ2V0PWwuZWxlbSxuPTA7bjxsLm1hdGNoZXMubGVuZ3RoJiYhZS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpO24rKyljPWwubWF0Y2hlc1tuXSwobXx8IWUubmFtZXNwYWNlJiYhYy5uYW1lc3BhY2V8fGUubmFtZXNwYWNlX3JlJiZlLm5hbWVzcGFjZV9yZS50ZXN0KGMubmFtZXNwYWNlKSkmJihlLmRhdGE9Yy5kYXRhLGUuaGFuZGxlT2JqPWMsdm9pZCAwIT09KGE9KChpLmV2ZW50LnNwZWNpYWxbYy5vcmlnVHlwZV18fHt9KS5oYW5kbGV8fGMuaGFuZGxlcikuYXBwbHkobC5lbGVtLGgpKSYmKGUucmVzdWx0PWEsITE9PT1hJiYoZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCkpKSk7cmV0dXJuIGcucG9zdERpc3BhdGNoJiZnLnBvc3REaXNwYXRjaC5jYWxsKHRoaXMsZSksZS5yZXN1bHR9fSxwcm9wczoiYXR0ckNoYW5nZSBhdHRyTmFtZSByZWxhdGVkTm9kZSBzcmNFbGVtZW50IGFsdEtleSBidWJibGVzIGNhbmNlbGFibGUgY3RybEtleSBjdXJyZW50VGFyZ2V0IGV2ZW50UGhhc2UgbWV0YUtleSByZWxhdGVkVGFyZ2V0IHNoaWZ0S2V5IHRhcmdldCB0aW1lU3RhbXAgdmlldyB3aGljaCIuc3BsaXQoIiAiKSxmaXhIb29rczp7fSxrZXlIb29rczp7cHJvcHM6ImNoYXIgY2hhckNvZGUga2V5IGtleUNvZGUiLnNwbGl0KCIgIiksZmlsdGVyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIG51bGw9PWUud2hpY2gmJihlLndoaWNoPW51bGwhPXQuY2hhckNvZGU/dC5jaGFyQ29kZTp0LmtleUNvZGUpLGV9fSxtb3VzZUhvb2tzOntwcm9wczoiYnV0dG9uIGJ1dHRvbnMgY2xpZW50WCBjbGllbnRZIGZyb21FbGVtZW50IG9mZnNldFggb2Zmc2V0WSBwYWdlWCBwYWdlWSBzY3JlZW5YIHNjcmVlblkgdG9FbGVtZW50Ii5zcGxpdCgiICIpLGZpbHRlcjpmdW5jdGlvbihlLG4pe3ZhciByLGksbyxhPW4uYnV0dG9uLHM9bi5mcm9tRWxlbWVudDtyZXR1cm4gbnVsbD09ZS5wYWdlWCYmbnVsbCE9bi5jbGllbnRYJiYoaT0ocj1lLnRhcmdldC5vd25lckRvY3VtZW50fHx0KS5kb2N1bWVudEVsZW1lbnQsbz1yLmJvZHksZS5wYWdlWD1uLmNsaWVudFgrKGkmJmkuc2Nyb2xsTGVmdHx8byYmby5zY3JvbGxMZWZ0fHwwKS0oaSYmaS5jbGllbnRMZWZ0fHxvJiZvLmNsaWVudExlZnR8fDApLGUucGFnZVk9bi5jbGllbnRZKyhpJiZpLnNjcm9sbFRvcHx8byYmby5zY3JvbGxUb3B8fDApLShpJiZpLmNsaWVudFRvcHx8byYmby5jbGllbnRUb3B8fDApKSwhZS5yZWxhdGVkVGFyZ2V0JiZzJiYoZS5yZWxhdGVkVGFyZ2V0PXM9PT1lLnRhcmdldD9uLnRvRWxlbWVudDpzKSxlLndoaWNofHx2b2lkIDA9PT1hfHwoZS53aGljaD0xJmE/MToyJmE/Mzo0JmE/MjowKSxlfX0sZml4OmZ1bmN0aW9uKGUpe2lmKGVbaS5leHBhbmRvXSlyZXR1cm4gZTt2YXIgbixyLG89ZSxhPWkuZXZlbnQuZml4SG9va3NbZS50eXBlXXx8e30scz1hLnByb3BzP3RoaXMucHJvcHMuY29uY2F0KGEucHJvcHMpOnRoaXMucHJvcHM7Zm9yKGU9aS5FdmVudChvKSxuPXMubGVuZ3RoO247KWVbcj1zWy0tbl1dPW9bcl07cmV0dXJuIGUudGFyZ2V0fHwoZS50YXJnZXQ9by5zcmNFbGVtZW50fHx0KSwzPT09ZS50YXJnZXQubm9kZVR5cGUmJihlLnRhcmdldD1lLnRhcmdldC5wYXJlbnROb2RlKSx2b2lkIDA9PT1lLm1ldGFLZXkmJihlLm1ldGFLZXk9ZS5jdHJsS2V5KSxhLmZpbHRlcj9hLmZpbHRlcihlLG8pOmV9LHNwZWNpYWw6e3JlYWR5OntzZXR1cDppLmJpbmRSZWFkeX0sbG9hZDp7bm9CdWJibGU6ITB9LGZvY3VzOntkZWxlZ2F0ZVR5cGU6ImZvY3VzaW4ifSxibHVyOntkZWxlZ2F0ZVR5cGU6ImZvY3Vzb3V0In0sYmVmb3JldW5sb2FkOntzZXR1cDpmdW5jdGlvbihlLHQsbil7aS5pc1dpbmRvdyh0aGlzKSYmKHRoaXMub25iZWZvcmV1bmxvYWQ9bil9LHRlYXJkb3duOmZ1bmN0aW9uKGUsdCl7dGhpcy5vbmJlZm9yZXVubG9hZD09PXQmJih0aGlzLm9uYmVmb3JldW5sb2FkPW51bGwpfX19LHNpbXVsYXRlOmZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBvPWkuZXh0ZW5kKG5ldyBpLkV2ZW50LG4se3R5cGU6ZSxpc1NpbXVsYXRlZDohMCxvcmlnaW5hbEV2ZW50Ont9fSk7cj9pLmV2ZW50LnRyaWdnZXIobyxudWxsLHQpOmkuZXZlbnQuZGlzcGF0Y2guY2FsbCh0LG8pLG8uaXNEZWZhdWx0UHJldmVudGVkKCkmJm4ucHJldmVudERlZmF1bHQoKX19LGkuZXZlbnQuaGFuZGxlPWkuZXZlbnQuZGlzcGF0Y2gsCmkucmVtb3ZlRXZlbnQ9dC5yZW1vdmVFdmVudExpc3RlbmVyP2Z1bmN0aW9uKGUsdCxuKXtlLnJlbW92ZUV2ZW50TGlzdGVuZXImJmUucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LG4sITEpfTpmdW5jdGlvbihlLHQsbil7ZS5kZXRhY2hFdmVudCYmZS5kZXRhY2hFdmVudCgib24iK3Qsbil9LGkuRXZlbnQ9ZnVuY3Rpb24oZSx0KXtpZighKHRoaXMgaW5zdGFuY2VvZiBpLkV2ZW50KSlyZXR1cm4gbmV3IGkuRXZlbnQoZSx0KTtlJiZlLnR5cGU/KHRoaXMub3JpZ2luYWxFdmVudD1lLHRoaXMudHlwZT1lLnR5cGUsdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9ZS5kZWZhdWx0UHJldmVudGVkfHwhMT09PWUucmV0dXJuVmFsdWV8fGUuZ2V0UHJldmVudERlZmF1bHQmJmUuZ2V0UHJldmVudERlZmF1bHQoKT9fOmopOnRoaXMudHlwZT1lLHQmJmkuZXh0ZW5kKHRoaXMsdCksdGhpcy50aW1lU3RhbXA9ZSYmZS50aW1lU3RhbXB8fGkubm93KCksdGhpc1tpLmV4cGFuZG9dPSEwfSxpLkV2ZW50LnByb3RvdHlwZT17cHJldmVudERlZmF1bHQ6ZnVuY3Rpb24oKXt0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1fO3ZhciBlPXRoaXMub3JpZ2luYWxFdmVudDtlJiYoZS5wcmV2ZW50RGVmYXVsdD9lLnByZXZlbnREZWZhdWx0KCk6ZS5yZXR1cm5WYWx1ZT0hMSl9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3RoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9Xzt2YXIgZT10aGlzLm9yaWdpbmFsRXZlbnQ7ZSYmKGUuc3RvcFByb3BhZ2F0aW9uJiZlLnN0b3BQcm9wYWdhdGlvbigpLGUuY2FuY2VsQnViYmxlPSEwKX0sc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dGhpcy5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZD1fLHRoaXMuc3RvcFByb3BhZ2F0aW9uKCl9LGlzRGVmYXVsdFByZXZlbnRlZDpqLGlzUHJvcGFnYXRpb25TdG9wcGVkOmosaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ6an0saS5lYWNoKHttb3VzZWVudGVyOiJtb3VzZW92ZXIiLG1vdXNlbGVhdmU6Im1vdXNlb3V0In0sKGZ1bmN0aW9uKGUsdCl7aS5ldmVudC5zcGVjaWFsW2VdPXtkZWxlZ2F0ZVR5cGU6dCxiaW5kVHlwZTp0LGhhbmRsZTpmdW5jdGlvbihlKXt2YXIgbixyPWUucmVsYXRlZFRhcmdldCxvPWUuaGFuZGxlT2JqO28uc2VsZWN0b3I7cmV0dXJuIHImJihyPT09dGhpc3x8aS5jb250YWlucyh0aGlzLHIpKXx8KGUudHlwZT1vLm9yaWdUeXBlLG49by5oYW5kbGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxlLnR5cGU9dCksbn19fSkpLGkuc3VwcG9ydC5zdWJtaXRCdWJibGVzfHwoaS5ldmVudC5zcGVjaWFsLnN1Ym1pdD17c2V0dXA6ZnVuY3Rpb24oKXtpZihpLm5vZGVOYW1lKHRoaXMsImZvcm0iKSlyZXR1cm4hMTtpLmV2ZW50LmFkZCh0aGlzLCJjbGljay5fc3VibWl0IGtleXByZXNzLl9zdWJtaXQiLChmdW5jdGlvbihlKXt2YXIgdD1lLnRhcmdldCxuPWkubm9kZU5hbWUodCwiaW5wdXQiKXx8aS5ub2RlTmFtZSh0LCJidXR0b24iKT90LmZvcm06dm9pZCAwO24mJiFuLl9zdWJtaXRfYXR0YWNoZWQmJihpLmV2ZW50LmFkZChuLCJzdWJtaXQuX3N1Ym1pdCIsKGZ1bmN0aW9uKGUpe2UuX3N1Ym1pdF9idWJibGU9ITB9KSksbi5fc3VibWl0X2F0dGFjaGVkPSEwKX0pKX0scG9zdERpc3BhdGNoOmZ1bmN0aW9uKGUpe2UuX3N1Ym1pdF9idWJibGUmJihkZWxldGUgZS5fc3VibWl0X2J1YmJsZSx0aGlzLnBhcmVudE5vZGUmJiFlLmlzVHJpZ2dlciYmaS5ldmVudC5zaW11bGF0ZSgic3VibWl0Iix0aGlzLnBhcmVudE5vZGUsZSwhMCkpfSx0ZWFyZG93bjpmdW5jdGlvbigpe2lmKGkubm9kZU5hbWUodGhpcywiZm9ybSIpKXJldHVybiExO2kuZXZlbnQucmVtb3ZlKHRoaXMsIi5fc3VibWl0Iil9fSksaS5zdXBwb3J0LmNoYW5nZUJ1YmJsZXN8fChpLmV2ZW50LnNwZWNpYWwuY2hhbmdlPXtzZXR1cDpmdW5jdGlvbigpe2lmKE4udGVzdCh0aGlzLm5vZGVOYW1lKSlyZXR1cm4iY2hlY2tib3giIT09dGhpcy50eXBlJiYicmFkaW8iIT09dGhpcy50eXBlfHwoaS5ldmVudC5hZGQodGhpcywicHJvcGVydHljaGFuZ2UuX2NoYW5nZSIsKGZ1bmN0aW9uKGUpeyJjaGVja2VkIj09PWUub3JpZ2luYWxFdmVudC5wcm9wZXJ0eU5hbWUmJih0aGlzLl9qdXN0X2NoYW5nZWQ9ITApfSkpLGkuZXZlbnQuYWRkKHRoaXMsImNsaWNrLl9jaGFuZ2UiLChmdW5jdGlvbihlKXt0aGlzLl9qdXN0X2NoYW5nZWQmJiFlLmlzVHJpZ2dlciYmKHRoaXMuX2p1c3RfY2hhbmdlZD0hMSxpLmV2ZW50LnNpbXVsYXRlKCJjaGFuZ2UiLHRoaXMsZSwhMCkpfSkpKSwhMTtpLmV2ZW50LmFkZCh0aGlzLCJiZWZvcmVhY3RpdmF0ZS5fY2hhbmdlIiwoZnVuY3Rpb24oZSl7dmFyIHQ9ZS50YXJnZXQ7Ti50ZXN0KHQubm9kZU5hbWUpJiYhdC5fY2hhbmdlX2F0dGFjaGVkJiYoaS5ldmVudC5hZGQodCwiY2hhbmdlLl9jaGFuZ2UiLChmdW5jdGlvbihlKXshdGhpcy5wYXJlbnROb2RlfHxlLmlzU2ltdWxhdGVkfHxlLmlzVHJpZ2dlcnx8aS5ldmVudC5zaW11bGF0ZSgiY2hhbmdlIix0aGlzLnBhcmVudE5vZGUsZSwhMCl9KSksdC5fY2hhbmdlX2F0dGFjaGVkPSEwKX0pKX0saGFuZGxlOmZ1bmN0aW9uKGUpe3ZhciB0PWUudGFyZ2V0O2lmKHRoaXMhPT10fHxlLmlzU2ltdWxhdGVkfHxlLmlzVHJpZ2dlcnx8InJhZGlvIiE9PXQudHlwZSYmImNoZWNrYm94IiE9PXQudHlwZSlyZXR1cm4gZS5oYW5kbGVPYmouaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7cmV0dXJuIGkuZXZlbnQucmVtb3ZlKHRoaXMsIi5fY2hhbmdlIiksTi50ZXN0KHRoaXMubm9kZU5hbWUpfX0pLGkuc3VwcG9ydC5mb2N1c2luQnViYmxlc3x8aS5lYWNoKHtmb2N1czoiZm9jdXNpbiIsYmx1cjoiZm9jdXNvdXQifSwoZnVuY3Rpb24oZSxuKXt2YXIgcj0wLG89ZnVuY3Rpb24oZSl7aS5ldmVudC5zaW11bGF0ZShuLGUudGFyZ2V0LGkuZXZlbnQuZml4KGUpLCEwKX07aS5ldmVudC5zcGVjaWFsW25dPXtzZXR1cDpmdW5jdGlvbigpezA9PXIrKyYmdC5hZGRFdmVudExpc3RlbmVyKGUsbywhMCl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7CjA9PS0tciYmdC5yZW1vdmVFdmVudExpc3RlbmVyKGUsbywhMCl9fX0pKSxpLmZuLmV4dGVuZCh7b246ZnVuY3Rpb24oZSx0LG4scixvKXt2YXIgYSxzO2lmKCJvYmplY3QiPT10eXBlb2YgZSl7Zm9yKHMgaW4ic3RyaW5nIiE9dHlwZW9mIHQmJihuPW58fHQsdD12b2lkIDApLGUpdGhpcy5vbihzLHQsbixlW3NdLG8pO3JldHVybiB0aGlzfWlmKG51bGw9PW4mJm51bGw9PXI/KHI9dCxuPXQ9dm9pZCAwKTpudWxsPT1yJiYoInN0cmluZyI9PXR5cGVvZiB0PyhyPW4sbj12b2lkIDApOihyPW4sbj10LHQ9dm9pZCAwKSksITE9PT1yKXI9ajtlbHNlIGlmKCFyKXJldHVybiB0aGlzO3JldHVybiAxPT09byYmKGE9cixyPWZ1bmN0aW9uKGUpe3JldHVybiBpKCkub2ZmKGUpLGEuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxyLmd1aWQ9YS5ndWlkfHwoYS5ndWlkPWkuZ3VpZCsrKSksdGhpcy5lYWNoKChmdW5jdGlvbigpe2kuZXZlbnQuYWRkKHRoaXMsZSxyLG4sdCl9KSl9LG9uZTpmdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gdGhpcy5vbihlLHQsbixyLDEpfSxvZmY6ZnVuY3Rpb24oZSx0LG4pe2lmKGUmJmUucHJldmVudERlZmF1bHQmJmUuaGFuZGxlT2JqKXt2YXIgcj1lLmhhbmRsZU9iajtyZXR1cm4gaShlLmRlbGVnYXRlVGFyZ2V0KS5vZmYoci5uYW1lc3BhY2U/ci5vcmlnVHlwZSsiLiIrci5uYW1lc3BhY2U6ci5vcmlnVHlwZSxyLnNlbGVjdG9yLHIuaGFuZGxlciksdGhpc31pZigib2JqZWN0Ij09dHlwZW9mIGUpe2Zvcih2YXIgbyBpbiBlKXRoaXMub2ZmKG8sdCxlW29dKTtyZXR1cm4gdGhpc31yZXR1cm4hMSE9PXQmJiJmdW5jdGlvbiIhPXR5cGVvZiB0fHwobj10LHQ9dm9pZCAwKSwhMT09PW4mJihuPWopLHRoaXMuZWFjaCgoZnVuY3Rpb24oKXtpLmV2ZW50LnJlbW92ZSh0aGlzLGUsbix0KX0pKX0sYmluZDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIHRoaXMub24oZSxudWxsLHQsbil9LHVuYmluZDpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLm9mZihlLG51bGwsdCl9LGxpdmU6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBpKHRoaXMuY29udGV4dCkub24oZSx0aGlzLnNlbGVjdG9yLHQsbiksdGhpc30sZGllOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGkodGhpcy5jb250ZXh0KS5vZmYoZSx0aGlzLnNlbGVjdG9yfHwiKioiLHQpLHRoaXN9LGRlbGVnYXRlOmZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiB0aGlzLm9uKHQsZSxuLHIpfSx1bmRlbGVnYXRlOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gMT09YXJndW1lbnRzLmxlbmd0aD90aGlzLm9mZihlLCIqKiIpOnRoaXMub2ZmKHQsZSxuKX0sdHJpZ2dlcjpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7aS5ldmVudC50cmlnZ2VyKGUsdCx0aGlzKX0pKX0sdHJpZ2dlckhhbmRsZXI6ZnVuY3Rpb24oZSx0KXtpZih0aGlzWzBdKXJldHVybiBpLmV2ZW50LnRyaWdnZXIoZSx0LHRoaXNbMF0sITApfSx0b2dnbGU6ZnVuY3Rpb24oZSl7dmFyIHQ9YXJndW1lbnRzLG49ZS5ndWlkfHxpLmd1aWQrKyxyPTAsbz1mdW5jdGlvbihuKXt2YXIgbz0oaS5fZGF0YSh0aGlzLCJsYXN0VG9nZ2xlIitlLmd1aWQpfHwwKSVyO3JldHVybiBpLl9kYXRhKHRoaXMsImxhc3RUb2dnbGUiK2UuZ3VpZCxvKzEpLG4ucHJldmVudERlZmF1bHQoKSx0W29dLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8ITF9O2ZvcihvLmd1aWQ9bjtyPHQubGVuZ3RoOyl0W3IrK10uZ3VpZD1uO3JldHVybiB0aGlzLmNsaWNrKG8pfSxob3ZlcjpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLm1vdXNlZW50ZXIoZSkubW91c2VsZWF2ZSh0fHxlKX19KSxpLmVhY2goImJsdXIgZm9jdXMgZm9jdXNpbiBmb2N1c291dCBsb2FkIHJlc2l6ZSBzY3JvbGwgdW5sb2FkIGNsaWNrIGRibGNsaWNrIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW92ZXIgbW91c2VvdXQgbW91c2VlbnRlciBtb3VzZWxlYXZlIGNoYW5nZSBzZWxlY3Qgc3VibWl0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgZXJyb3IgY29udGV4dG1lbnUiLnNwbGl0KCIgIiksKGZ1bmN0aW9uKGUsdCl7aS5mblt0XT1mdW5jdGlvbihlLG4pe3JldHVybiBudWxsPT1uJiYobj1lLGU9bnVsbCksYXJndW1lbnRzLmxlbmd0aD4wP3RoaXMub24odCxudWxsLGUsbik6dGhpcy50cmlnZ2VyKHQpfSxpLmF0dHJGbiYmKGkuYXR0ckZuW3RdPSEwKSxrLnRlc3QodCkmJihpLmV2ZW50LmZpeEhvb2tzW3RdPWkuZXZlbnQua2V5SG9va3MpLEUudGVzdCh0KSYmKGkuZXZlbnQuZml4SG9va3NbdF09aS5ldmVudC5tb3VzZUhvb2tzKX0pKSxmdW5jdGlvbigpe3ZhciBlPS8oKD86XCgoPzpcKFteKCldK1wpfFteKCldKykrXCl8XFsoPzpcW1teXFtcXV0qXF18WyciXVteJyJdKlsnIl18W15cW1xdJyJdKykrXF18XFwufFteID4rfiwoXFtcXF0rKSt8Wz4rfl0pKFxzKixccyopPygoPzoufFxyfFxuKSopL2csbj0ic2l6Y2FjaGUiKyhNYXRoLnJhbmRvbSgpKyIiKS5yZXBsYWNlKCIuIiwiIikscj0wLG89T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyxhPSExLHM9ITAsbD0vXFwvZyx1PS9cclxuL2csYz0vXFcvO1swLDBdLnNvcnQoKGZ1bmN0aW9uKCl7cmV0dXJuIHM9ITEsMH0pKTt2YXIgZj1mdW5jdGlvbihuLHIsaSxhKXtpPWl8fFtdO3ZhciBzPXI9cnx8dDtpZigxIT09ci5ub2RlVHlwZSYmOSE9PXIubm9kZVR5cGUpcmV0dXJuW107aWYoIW58fCJzdHJpbmciIT10eXBlb2YgbilyZXR1cm4gaTt2YXIgbCx1LGMsZCxtLGcsdix5LGI9ITAsdz1mLmlzWE1MKHIpLFQ9W10sQz1uO2Rve2lmKGUuZXhlYygiIiksKGw9ZS5leGVjKEMpKSYmKEM9bFszXSxULnB1c2gobFsxXSksbFsyXSkpe2Q9bFszXTticmVha319d2hpbGUobCk7aWYoVC5sZW5ndGg+MSYmaC5leGVjKG4pKWlmKDI9PT1ULmxlbmd0aCYmcC5yZWxhdGl2ZVtUWzBdXSl1PU4oVFswXStUWzFdLHIsYSk7ZWxzZSBmb3IodT1wLnJlbGF0aXZlW1RbMF1dP1tyXTpmKFQuc2hpZnQoKSxyKTtULmxlbmd0aDspbj1ULnNoaWZ0KCkscC5yZWxhdGl2ZVtuXSYmKG4rPVQuc2hpZnQoKSksCnU9TihuLHUsYSk7ZWxzZSBpZighYSYmVC5sZW5ndGg+MSYmOT09PXIubm9kZVR5cGUmJiF3JiZwLm1hdGNoLklELnRlc3QoVFswXSkmJiFwLm1hdGNoLklELnRlc3QoVFtULmxlbmd0aC0xXSkmJihyPShtPWYuZmluZChULnNoaWZ0KCkscix3KSkuZXhwcj9mLmZpbHRlcihtLmV4cHIsbS5zZXQpWzBdOm0uc2V0WzBdKSxyKWZvcih1PShtPWE/e2V4cHI6VC5wb3AoKSxzZXQ6eChhKX06Zi5maW5kKFQucG9wKCksMSE9PVQubGVuZ3RofHwifiIhPT1UWzBdJiYiKyIhPT1UWzBdfHwhci5wYXJlbnROb2RlP3I6ci5wYXJlbnROb2RlLHcpKS5leHByP2YuZmlsdGVyKG0uZXhwcixtLnNldCk6bS5zZXQsVC5sZW5ndGg+MD9jPXgodSk6Yj0hMTtULmxlbmd0aDspdj1nPVQucG9wKCkscC5yZWxhdGl2ZVtnXT92PVQucG9wKCk6Zz0iIixudWxsPT12JiYodj1yKSxwLnJlbGF0aXZlW2ddKGMsdix3KTtlbHNlIGM9VD1bXTtpZihjfHwoYz11KSxjfHxmLmVycm9yKGd8fG4pLCJbb2JqZWN0IEFycmF5XSI9PT1vLmNhbGwoYykpaWYoYilpZihyJiYxPT09ci5ub2RlVHlwZSlmb3IoeT0wO251bGwhPWNbeV07eSsrKWNbeV0mJighMD09PWNbeV18fDE9PT1jW3ldLm5vZGVUeXBlJiZmLmNvbnRhaW5zKHIsY1t5XSkpJiZpLnB1c2godVt5XSk7ZWxzZSBmb3IoeT0wO251bGwhPWNbeV07eSsrKWNbeV0mJjE9PT1jW3ldLm5vZGVUeXBlJiZpLnB1c2godVt5XSk7ZWxzZSBpLnB1c2guYXBwbHkoaSxjKTtlbHNlIHgoYyxpKTtyZXR1cm4gZCYmKGYoZCxzLGksYSksZi51bmlxdWVTb3J0KGkpKSxpfTtmLnVuaXF1ZVNvcnQ9ZnVuY3Rpb24oZSl7aWYodiYmKGE9cyxlLnNvcnQodiksYSkpZm9yKHZhciB0PTE7dDxlLmxlbmd0aDt0KyspZVt0XT09PWVbdC0xXSYmZS5zcGxpY2UodC0tLDEpO3JldHVybiBlfSxmLm1hdGNoZXM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZihlLG51bGwsbnVsbCx0KX0sZi5tYXRjaGVzU2VsZWN0b3I9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZih0LG51bGwsbnVsbCxbZV0pLmxlbmd0aD4wfSxmLmZpbmQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbyxhLHMsdTtpZighZSlyZXR1cm5bXTtmb3IoaT0wLG89cC5vcmRlci5sZW5ndGg7aTxvO2krKylpZihzPXAub3JkZXJbaV0sKGE9cC5sZWZ0TWF0Y2hbc10uZXhlYyhlKSkmJih1PWFbMV0sYS5zcGxpY2UoMSwxKSwiXFwiIT09dS5zdWJzdHIodS5sZW5ndGgtMSkmJihhWzFdPShhWzFdfHwiIikucmVwbGFjZShsLCIiKSxudWxsIT0ocj1wLmZpbmRbc10oYSx0LG4pKSkpKXtlPWUucmVwbGFjZShwLm1hdGNoW3NdLCIiKTticmVha31yZXR1cm4gcnx8KHI9dm9pZCAwIT09dC5nZXRFbGVtZW50c0J5VGFnTmFtZT90LmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIik6W10pLHtzZXQ6cixleHByOmV9fSxmLmZpbHRlcj1mdW5jdGlvbihlLHQsbixyKXtmb3IodmFyIGksbyxhLHMsbCx1LGMsZCxoLG09ZSxnPVtdLHY9dCx5PXQmJnRbMF0mJmYuaXNYTUwodFswXSk7ZSYmdC5sZW5ndGg7KXtmb3IoYSBpbiBwLmZpbHRlcilpZihudWxsIT0oaT1wLmxlZnRNYXRjaFthXS5leGVjKGUpKSYmaVsyXSl7aWYodT1wLmZpbHRlclthXSxjPWlbMV0sbz0hMSxpLnNwbGljZSgxLDEpLCJcXCI9PT1jLnN1YnN0cihjLmxlbmd0aC0xKSljb250aW51ZTtpZih2PT09ZyYmKGc9W10pLHAucHJlRmlsdGVyW2FdKWlmKGk9cC5wcmVGaWx0ZXJbYV0oaSx2LG4sZyxyLHkpKXtpZighMD09PWkpY29udGludWV9ZWxzZSBvPXM9ITA7aWYoaSlmb3IoZD0wO251bGwhPShsPXZbZF0pO2QrKylsJiYoaD1yXihzPXUobCxpLGQsdikpLG4mJm51bGwhPXM/aD9vPSEwOnZbZF09ITE6aCYmKGcucHVzaChsKSxvPSEwKSk7aWYodm9pZCAwIT09cyl7aWYobnx8KHY9ZyksZT1lLnJlcGxhY2UocC5tYXRjaFthXSwiIiksIW8pcmV0dXJuW107YnJlYWt9fWlmKGU9PT1tKXtpZihudWxsIT1vKWJyZWFrO2YuZXJyb3IoZSl9bT1lfXJldHVybiB2fSxmLmVycm9yPWZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcigiU3ludGF4IGVycm9yLCB1bnJlY29nbml6ZWQgZXhwcmVzc2lvbjogIitlKX07dmFyIGQ9Zi5nZXRUZXh0PWZ1bmN0aW9uKGUpe3ZhciB0LG4scj1lLm5vZGVUeXBlLGk9IiI7aWYocil7aWYoMT09PXJ8fDk9PT1yfHwxMT09PXIpe2lmKCJzdHJpbmciPT10eXBlb2YgZS50ZXh0Q29udGVudClyZXR1cm4gZS50ZXh0Q29udGVudDtpZigic3RyaW5nIj09dHlwZW9mIGUuaW5uZXJUZXh0KXJldHVybiBlLmlubmVyVGV4dC5yZXBsYWNlKHUsIiIpO2ZvcihlPWUuZmlyc3RDaGlsZDtlO2U9ZS5uZXh0U2libGluZylpKz1kKGUpfWVsc2UgaWYoMz09PXJ8fDQ9PT1yKXJldHVybiBlLm5vZGVWYWx1ZX1lbHNlIGZvcih0PTA7bj1lW3RdO3QrKyk4IT09bi5ub2RlVHlwZSYmKGkrPWQobikpO3JldHVybiBpfSxwPWYuc2VsZWN0b3JzPXtvcmRlcjpbIklEIiwiTkFNRSIsIlRBRyJdLG1hdGNoOntJRDovIygoPzpbXHdcdTAwYzAtXHVGRkZGXC1dfFxcLikrKS8sQ0xBU1M6L1wuKCg/Oltcd1x1MDBjMC1cdUZGRkZcLV18XFwuKSspLyxOQU1FOi9cW25hbWU9WyciXSooKD86W1x3XHUwMGMwLVx1RkZGRlwtXXxcXC4pKylbJyJdKlxdLyxBVFRSOi9cW1xzKigoPzpbXHdcdTAwYzAtXHVGRkZGXC1dfFxcLikrKVxzKig/OihcUz89KVxzKig/OihbJyJdKSguKj8pXDN8KCM/KD86W1x3XHUwMGMwLVx1RkZGRlwtXXxcXC4pKil8KXwpXHMqXF0vLFRBRzovXigoPzpbXHdcdTAwYzAtXHVGRkZGXCpcLV18XFwuKSspLyxDSElMRDovOihvbmx5fG50aHxsYXN0fGZpcnN0KS1jaGlsZCg/OlwoXHMqKGV2ZW58b2RkfCg/OlsrXC1dP1xkK3woPzpbK1wtXT9cZCopP25ccyooPzpbK1wtXVxzKlxkKyk/KSlccypcKSk/LyxQT1M6LzoobnRofGVxfGd0fGx0fGZpcnN0fGxhc3R8ZXZlbnxvZGQpKD86XCgoXGQqKVwpKT8oPz1bXlwtXXwkKS8sUFNFVURPOi86KCg/Oltcd1x1MDBjMC1cdUZGRkZcLV18XFwuKSspKD86XCgoWyciXT8pKCg/OlwoW15cKV0rXCl8W15cKFwpXSopKylcMlwpKT8vfSxsZWZ0TWF0Y2g6e30sYXR0ck1hcDp7Y2xhc3M6ImNsYXNzTmFtZSIsZm9yOiJodG1sRm9yIn0sYXR0ckhhbmRsZTp7CmhyZWY6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0QXR0cmlidXRlKCJocmVmIil9LHR5cGU6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0QXR0cmlidXRlKCJ0eXBlIil9fSxyZWxhdGl2ZTp7IisiOmZ1bmN0aW9uKGUsdCl7dmFyIG49InN0cmluZyI9PXR5cGVvZiB0LHI9biYmIWMudGVzdCh0KSxpPW4mJiFyO3ImJih0PXQudG9Mb3dlckNhc2UoKSk7Zm9yKHZhciBvLGE9MCxzPWUubGVuZ3RoO2E8czthKyspaWYobz1lW2FdKXtmb3IoOyhvPW8ucHJldmlvdXNTaWJsaW5nKSYmMSE9PW8ubm9kZVR5cGU7KTtlW2FdPWl8fG8mJm8ubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PXQ/b3x8ITE6bz09PXR9aSYmZi5maWx0ZXIodCxlLCEwKX0sIj4iOmZ1bmN0aW9uKGUsdCl7dmFyIG4scj0ic3RyaW5nIj09dHlwZW9mIHQsaT0wLG89ZS5sZW5ndGg7aWYociYmIWMudGVzdCh0KSl7Zm9yKHQ9dC50b0xvd2VyQ2FzZSgpO2k8bztpKyspaWYobj1lW2ldKXt2YXIgYT1uLnBhcmVudE5vZGU7ZVtpXT1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT10JiZhfX1lbHNle2Zvcig7aTxvO2krKykobj1lW2ldKSYmKGVbaV09cj9uLnBhcmVudE5vZGU6bi5wYXJlbnROb2RlPT09dCk7ciYmZi5maWx0ZXIodCxlLCEwKX19LCIiOmZ1bmN0aW9uKGUsdCxuKXt2YXIgaSxvPXIrKyxhPVQ7InN0cmluZyIhPXR5cGVvZiB0fHxjLnRlc3QodCl8fChpPXQ9dC50b0xvd2VyQ2FzZSgpLGE9dyksYSgicGFyZW50Tm9kZSIsdCxvLGUsaSxuKX0sIn4iOmZ1bmN0aW9uKGUsdCxuKXt2YXIgaSxvPXIrKyxhPVQ7InN0cmluZyIhPXR5cGVvZiB0fHxjLnRlc3QodCl8fChpPXQ9dC50b0xvd2VyQ2FzZSgpLGE9dyksYSgicHJldmlvdXNTaWJsaW5nIix0LG8sZSxpLG4pfX0sZmluZDp7SUQ6ZnVuY3Rpb24oZSx0LG4pe2lmKHZvaWQgMCE9PXQuZ2V0RWxlbWVudEJ5SWQmJiFuKXt2YXIgcj10LmdldEVsZW1lbnRCeUlkKGVbMV0pO3JldHVybiByJiZyLnBhcmVudE5vZGU/W3JdOltdfX0sTkFNRTpmdW5jdGlvbihlLHQpe2lmKHZvaWQgMCE9PXQuZ2V0RWxlbWVudHNCeU5hbWUpe2Zvcih2YXIgbj1bXSxyPXQuZ2V0RWxlbWVudHNCeU5hbWUoZVsxXSksaT0wLG89ci5sZW5ndGg7aTxvO2krKylyW2ldLmdldEF0dHJpYnV0ZSgibmFtZSIpPT09ZVsxXSYmbi5wdXNoKHJbaV0pO3JldHVybiAwPT09bi5sZW5ndGg/bnVsbDpufX0sVEFHOmZ1bmN0aW9uKGUsdCl7aWYodm9pZCAwIT09dC5nZXRFbGVtZW50c0J5VGFnTmFtZSlyZXR1cm4gdC5nZXRFbGVtZW50c0J5VGFnTmFtZShlWzFdKX19LHByZUZpbHRlcjp7Q0xBU1M6ZnVuY3Rpb24oZSx0LG4scixpLG8pe2lmKGU9IiAiK2VbMV0ucmVwbGFjZShsLCIiKSsiICIsbylyZXR1cm4gZTtmb3IodmFyIGEscz0wO251bGwhPShhPXRbc10pO3MrKylhJiYoaV4oYS5jbGFzc05hbWUmJigiICIrYS5jbGFzc05hbWUrIiAiKS5yZXBsYWNlKC9bXHRcblxyXS9nLCIgIikuaW5kZXhPZihlKT49MCk/bnx8ci5wdXNoKGEpOm4mJih0W3NdPSExKSk7cmV0dXJuITF9LElEOmZ1bmN0aW9uKGUpe3JldHVybiBlWzFdLnJlcGxhY2UobCwiIil9LFRBRzpmdW5jdGlvbihlLHQpe3JldHVybiBlWzFdLnJlcGxhY2UobCwiIikudG9Mb3dlckNhc2UoKX0sQ0hJTEQ6ZnVuY3Rpb24oZSl7aWYoIm50aCI9PT1lWzFdKXtlWzJdfHxmLmVycm9yKGVbMF0pLGVbMl09ZVsyXS5yZXBsYWNlKC9eXCt8XHMqL2csIiIpO3ZhciB0PS8oLT8pKFxkKikoPzpuKFsrXC1dP1xkKikpPy8uZXhlYygoImV2ZW4iPT09ZVsyXT8iMm4iOiJvZGQiPT09ZVsyXSYmIjJuKzEiKXx8IS9cRC8udGVzdChlWzJdKSYmIjBuKyIrZVsyXXx8ZVsyXSk7ZVsyXT10WzFdKyh0WzJdfHwxKS0wLGVbM109dFszXS0wfWVsc2UgZVsyXSYmZi5lcnJvcihlWzBdKTtyZXR1cm4gZVswXT1yKyssZX0sQVRUUjpmdW5jdGlvbihlLHQsbixyLGksbyl7dmFyIGE9ZVsxXT1lWzFdLnJlcGxhY2UobCwiIik7cmV0dXJuIW8mJnAuYXR0ck1hcFthXSYmKGVbMV09cC5hdHRyTWFwW2FdKSxlWzRdPShlWzRdfHxlWzVdfHwiIikucmVwbGFjZShsLCIiKSwifj0iPT09ZVsyXSYmKGVbNF09IiAiK2VbNF0rIiAiKSxlfSxQU0VVRE86ZnVuY3Rpb24odCxuLHIsaSxvKXtpZigibm90Ij09PXRbMV0pe2lmKCEoKGUuZXhlYyh0WzNdKXx8IiIpLmxlbmd0aD4xfHwvXlx3Ly50ZXN0KHRbM10pKSl7dmFyIGE9Zi5maWx0ZXIodFszXSxuLHIsITBebyk7cmV0dXJuIHJ8fGkucHVzaC5hcHBseShpLGEpLCExfXRbM109Zih0WzNdLG51bGwsbnVsbCxuKX1lbHNlIGlmKHAubWF0Y2guUE9TLnRlc3QodFswXSl8fHAubWF0Y2guQ0hJTEQudGVzdCh0WzBdKSlyZXR1cm4hMDtyZXR1cm4gdH0sUE9TOmZ1bmN0aW9uKGUpe3JldHVybiBlLnVuc2hpZnQoITApLGV9fSxmaWx0ZXJzOntlbmFibGVkOmZ1bmN0aW9uKGUpe3JldHVybiExPT09ZS5kaXNhYmxlZCYmImhpZGRlbiIhPT1lLnR5cGV9LGRpc2FibGVkOmZ1bmN0aW9uKGUpe3JldHVybiEwPT09ZS5kaXNhYmxlZH0sY2hlY2tlZDpmdW5jdGlvbihlKXtyZXR1cm4hMD09PWUuY2hlY2tlZH0sc2VsZWN0ZWQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUucGFyZW50Tm9kZSYmZS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsITA9PT1lLnNlbGVjdGVkfSxwYXJlbnQ6ZnVuY3Rpb24oZSl7cmV0dXJuISFlLmZpcnN0Q2hpbGR9LGVtcHR5OmZ1bmN0aW9uKGUpe3JldHVybiFlLmZpcnN0Q2hpbGR9LGhhczpmdW5jdGlvbihlLHQsbil7cmV0dXJuISFmKG5bM10sZSkubGVuZ3RofSxoZWFkZXI6ZnVuY3Rpb24oZSl7cmV0dXJuL2hcZC9pLnRlc3QoZS5ub2RlTmFtZSl9LHRleHQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5nZXRBdHRyaWJ1dGUoInR5cGUiKSxuPWUudHlwZTtyZXR1cm4iaW5wdXQiPT09ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpJiYidGV4dCI9PT1uJiYodD09PW58fG51bGw9PT10KX0scmFkaW86ZnVuY3Rpb24oZSl7cmV0dXJuImlucHV0Ij09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmInJhZGlvIj09PWUudHlwZX0sY2hlY2tib3g6ZnVuY3Rpb24oZSl7cmV0dXJuImlucHV0Ij09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmImNoZWNrYm94Ij09PWUudHlwZQp9LGZpbGU6ZnVuY3Rpb24oZSl7cmV0dXJuImlucHV0Ij09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmImZpbGUiPT09ZS50eXBlfSxwYXNzd29yZDpmdW5jdGlvbihlKXtyZXR1cm4iaW5wdXQiPT09ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpJiYicGFzc3dvcmQiPT09ZS50eXBlfSxzdWJtaXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybigiaW5wdXQiPT09dHx8ImJ1dHRvbiI9PT10KSYmInN1Ym1pdCI9PT1lLnR5cGV9LGltYWdlOmZ1bmN0aW9uKGUpe3JldHVybiJpbnB1dCI9PT1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkmJiJpbWFnZSI9PT1lLnR5cGV9LHJlc2V0OmZ1bmN0aW9uKGUpe3ZhciB0PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4oImlucHV0Ij09PXR8fCJidXR0b24iPT09dCkmJiJyZXNldCI9PT1lLnR5cGV9LGJ1dHRvbjpmdW5jdGlvbihlKXt2YXIgdD1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PXQmJiJidXR0b24iPT09ZS50eXBlfHwiYnV0dG9uIj09PXR9LGlucHV0OmZ1bmN0aW9uKGUpe3JldHVybi9pbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uL2kudGVzdChlLm5vZGVOYW1lKX0sZm9jdXM6ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT1lLm93bmVyRG9jdW1lbnQuYWN0aXZlRWxlbWVudH19LHNldEZpbHRlcnM6e2ZpcnN0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIDA9PT10fSxsYXN0OmZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiB0PT09ci5sZW5ndGgtMX0sZXZlbjpmdW5jdGlvbihlLHQpe3JldHVybiB0JTI9PTB9LG9kZDpmdW5jdGlvbihlLHQpe3JldHVybiB0JTI9PTF9LGx0OmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdDxuWzNdLTB9LGd0OmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdD5uWzNdLTB9LG50aDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIG5bM10tMD09PXR9LGVxOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gblszXS0wPT09dH19LGZpbHRlcjp7UFNFVURPOmZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBpPXRbMV0sbz1wLmZpbHRlcnNbaV07aWYobylyZXR1cm4gbyhlLG4sdCxyKTtpZigiY29udGFpbnMiPT09aSlyZXR1cm4oZS50ZXh0Q29udGVudHx8ZS5pbm5lclRleHR8fGQoW2VdKXx8IiIpLmluZGV4T2YodFszXSk+PTA7aWYoIm5vdCI9PT1pKXtmb3IodmFyIGE9dFszXSxzPTAsbD1hLmxlbmd0aDtzPGw7cysrKWlmKGFbc109PT1lKXJldHVybiExO3JldHVybiEwfWYuZXJyb3IoaSl9LENISUxEOmZ1bmN0aW9uKGUsdCl7dmFyIHIsaSxvLGEscyxsLHU9dFsxXSxjPWU7c3dpdGNoKHUpe2Nhc2Uib25seSI6Y2FzZSJmaXJzdCI6Zm9yKDtjPWMucHJldmlvdXNTaWJsaW5nOylpZigxPT09Yy5ub2RlVHlwZSlyZXR1cm4hMTtpZigiZmlyc3QiPT09dSlyZXR1cm4hMDtjPWU7Y2FzZSJsYXN0Ijpmb3IoO2M9Yy5uZXh0U2libGluZzspaWYoMT09PWMubm9kZVR5cGUpcmV0dXJuITE7cmV0dXJuITA7Y2FzZSJudGgiOmlmKHI9dFsyXSxpPXRbM10sMT09PXImJjA9PT1pKXJldHVybiEwO2lmKG89dFswXSwoYT1lLnBhcmVudE5vZGUpJiYoYVtuXSE9PW98fCFlLm5vZGVJbmRleCkpe2ZvcihzPTAsYz1hLmZpcnN0Q2hpbGQ7YztjPWMubmV4dFNpYmxpbmcpMT09PWMubm9kZVR5cGUmJihjLm5vZGVJbmRleD0rK3MpO2Fbbl09b31yZXR1cm4gbD1lLm5vZGVJbmRleC1pLDA9PT1yPzA9PT1sOmwlcj09MCYmbC9yPj0wfX0sSUQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gMT09PWUubm9kZVR5cGUmJmUuZ2V0QXR0cmlidXRlKCJpZCIpPT09dH0sVEFHOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIioiPT09dCYmMT09PWUubm9kZVR5cGV8fCEhZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09dH0sQ0xBU1M6ZnVuY3Rpb24oZSx0KXtyZXR1cm4oIiAiKyhlLmNsYXNzTmFtZXx8ZS5nZXRBdHRyaWJ1dGUoImNsYXNzIikpKyIgIikuaW5kZXhPZih0KT4tMX0sQVRUUjpmdW5jdGlvbihlLHQpe3ZhciBuPXRbMV0scj1mLmF0dHI/Zi5hdHRyKGUsbik6cC5hdHRySGFuZGxlW25dP3AuYXR0ckhhbmRsZVtuXShlKTpudWxsIT1lW25dP2Vbbl06ZS5nZXRBdHRyaWJ1dGUobiksaT1yKyIiLG89dFsyXSxhPXRbNF07cmV0dXJuIG51bGw9PXI/IiE9Ij09PW86IW8mJmYuYXR0cj9udWxsIT1yOiI9Ij09PW8/aT09PWE6Iio9Ij09PW8/aS5pbmRleE9mKGEpPj0wOiJ+PSI9PT1vPygiICIraSsiICIpLmluZGV4T2YoYSk+PTA6YT8iIT0iPT09bz9pIT09YToiXj0iPT09bz8wPT09aS5pbmRleE9mKGEpOiIkPSI9PT1vP2kuc3Vic3RyKGkubGVuZ3RoLWEubGVuZ3RoKT09PWE6Inw9Ij09PW8mJihpPT09YXx8aS5zdWJzdHIoMCxhLmxlbmd0aCsxKT09PWErIi0iKTppJiYhMSE9PXJ9LFBPUzpmdW5jdGlvbihlLHQsbixyKXt2YXIgaT10WzJdLG89cC5zZXRGaWx0ZXJzW2ldO2lmKG8pcmV0dXJuIG8oZSxuLHQscil9fX0saD1wLm1hdGNoLlBPUyxtPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIlxcIisodC0wKzEpfTtmb3IodmFyIGcgaW4gcC5tYXRjaClwLm1hdGNoW2ddPW5ldyBSZWdFeHAocC5tYXRjaFtnXS5zb3VyY2UrLyg/IVteXFtdKlxdKSg/IVteXChdKlwpKS8uc291cmNlKSxwLmxlZnRNYXRjaFtnXT1uZXcgUmVnRXhwKC8oXig/Oi58XHJ8XG4pKj8pLy5zb3VyY2UrcC5tYXRjaFtnXS5zb3VyY2UucmVwbGFjZSgvXFwoXGQrKS9nLG0pKTtwLm1hdGNoLmdsb2JhbFBPUz1oO3ZhciB2LHksYix4PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZSwwKSx0Pyh0LnB1c2guYXBwbHkodCxlKSx0KTplfTt0cnl7QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodC5kb2N1bWVudEVsZW1lbnQuY2hpbGROb2RlcywwKVswXS5ub2RlVHlwZX1jYXRjaChlKXt4PWZ1bmN0aW9uKGUsdCl7dmFyIG49MCxyPXR8fFtdCjtpZigiW29iamVjdCBBcnJheV0iPT09by5jYWxsKGUpKUFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KHIsZSk7ZWxzZSBpZigibnVtYmVyIj09dHlwZW9mIGUubGVuZ3RoKWZvcih2YXIgaT1lLmxlbmd0aDtuPGk7bisrKXIucHVzaChlW25dKTtlbHNlIGZvcig7ZVtuXTtuKyspci5wdXNoKGVbbl0pO3JldHVybiByfX1mdW5jdGlvbiB3KGUsdCxyLGksbyxhKXtmb3IodmFyIHM9MCxsPWkubGVuZ3RoO3M8bDtzKyspe3ZhciB1PWlbc107aWYodSl7dmFyIGM9ITE7Zm9yKHU9dVtlXTt1Oyl7aWYodVtuXT09PXIpe2M9aVt1LnNpenNldF07YnJlYWt9aWYoMSE9PXUubm9kZVR5cGV8fGF8fCh1W25dPXIsdS5zaXpzZXQ9cyksdS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09dCl7Yz11O2JyZWFrfXU9dVtlXX1pW3NdPWN9fX1mdW5jdGlvbiBUKGUsdCxyLGksbyxhKXtmb3IodmFyIHM9MCxsPWkubGVuZ3RoO3M8bDtzKyspe3ZhciB1PWlbc107aWYodSl7dmFyIGM9ITE7Zm9yKHU9dVtlXTt1Oyl7aWYodVtuXT09PXIpe2M9aVt1LnNpenNldF07YnJlYWt9aWYoMT09PXUubm9kZVR5cGUpaWYoYXx8KHVbbl09cix1LnNpenNldD1zKSwic3RyaW5nIiE9dHlwZW9mIHQpe2lmKHU9PT10KXtjPSEwO2JyZWFrfX1lbHNlIGlmKGYuZmlsdGVyKHQsW3VdKS5sZW5ndGg+MCl7Yz11O2JyZWFrfXU9dVtlXX1pW3NdPWN9fX10LmRvY3VtZW50RWxlbWVudC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj92PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9PT10PyhhPSEwLDApOmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24mJnQuY29tcGFyZURvY3VtZW50UG9zaXRpb24/NCZlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHQpPy0xOjE6ZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj8tMToxfToodj1mdW5jdGlvbihlLHQpe2lmKGU9PT10KXJldHVybiBhPSEwLDA7aWYoZS5zb3VyY2VJbmRleCYmdC5zb3VyY2VJbmRleClyZXR1cm4gZS5zb3VyY2VJbmRleC10LnNvdXJjZUluZGV4O3ZhciBuLHIsaT1bXSxvPVtdLHM9ZS5wYXJlbnROb2RlLGw9dC5wYXJlbnROb2RlLHU9cztpZihzPT09bClyZXR1cm4geShlLHQpO2lmKCFzKXJldHVybi0xO2lmKCFsKXJldHVybiAxO2Zvcig7dTspaS51bnNoaWZ0KHUpLHU9dS5wYXJlbnROb2RlO2Zvcih1PWw7dTspby51bnNoaWZ0KHUpLHU9dS5wYXJlbnROb2RlO249aS5sZW5ndGgscj1vLmxlbmd0aDtmb3IodmFyIGM9MDtjPG4mJmM8cjtjKyspaWYoaVtjXSE9PW9bY10pcmV0dXJuIHkoaVtjXSxvW2NdKTtyZXR1cm4gYz09PW4/eShlLG9bY10sLTEpOnkoaVtjXSx0LDEpfSx5PWZ1bmN0aW9uKGUsdCxuKXtpZihlPT09dClyZXR1cm4gbjtmb3IodmFyIHI9ZS5uZXh0U2libGluZztyOyl7aWYocj09PXQpcmV0dXJuLTE7cj1yLm5leHRTaWJsaW5nfXJldHVybiAxfSksZnVuY3Rpb24oKXt2YXIgZT10LmNyZWF0ZUVsZW1lbnQoImRpdiIpLG49InNjcmlwdCIrKG5ldyBEYXRlKS5nZXRUaW1lKCkscj10LmRvY3VtZW50RWxlbWVudDtlLmlubmVySFRNTD0iPGEgbmFtZT0nIituKyInLz4iLHIuaW5zZXJ0QmVmb3JlKGUsci5maXJzdENoaWxkKSx0LmdldEVsZW1lbnRCeUlkKG4pJiYocC5maW5kLklEPWZ1bmN0aW9uKGUsdCxuKXtpZih2b2lkIDAhPT10LmdldEVsZW1lbnRCeUlkJiYhbil7dmFyIHI9dC5nZXRFbGVtZW50QnlJZChlWzFdKTtyZXR1cm4gcj9yLmlkPT09ZVsxXXx8dm9pZCAwIT09ci5nZXRBdHRyaWJ1dGVOb2RlJiZyLmdldEF0dHJpYnV0ZU5vZGUoImlkIikubm9kZVZhbHVlPT09ZVsxXT9bcl06dm9pZCAwOltdfX0scC5maWx0ZXIuSUQ9ZnVuY3Rpb24oZSx0KXt2YXIgbj12b2lkIDAhPT1lLmdldEF0dHJpYnV0ZU5vZGUmJmUuZ2V0QXR0cmlidXRlTm9kZSgiaWQiKTtyZXR1cm4gMT09PWUubm9kZVR5cGUmJm4mJm4ubm9kZVZhbHVlPT09dH0pLHIucmVtb3ZlQ2hpbGQoZSkscj1lPW51bGx9KCksKGI9dC5jcmVhdGVFbGVtZW50KCJkaXYiKSkuYXBwZW5kQ2hpbGQodC5jcmVhdGVDb21tZW50KCIiKSksYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aD4wJiYocC5maW5kLlRBRz1mdW5jdGlvbihlLHQpe3ZhciBuPXQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoZVsxXSk7aWYoIioiPT09ZVsxXSl7Zm9yKHZhciByPVtdLGk9MDtuW2ldO2krKykxPT09bltpXS5ub2RlVHlwZSYmci5wdXNoKG5baV0pO249cn1yZXR1cm4gbn0pLGIuaW5uZXJIVE1MPSI8YSBocmVmPScjJz48L2E+IixiLmZpcnN0Q2hpbGQmJnZvaWQgMCE9PWIuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUmJiIjIiE9PWIuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoImhyZWYiKSYmKHAuYXR0ckhhbmRsZS5ocmVmPWZ1bmN0aW9uKGUpe3JldHVybiBlLmdldEF0dHJpYnV0ZSgiaHJlZiIsMil9KSxiPW51bGwsdC5xdWVyeVNlbGVjdG9yQWxsJiZmdW5jdGlvbigpe3ZhciBlPWYsbj10LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKG4uaW5uZXJIVE1MPSI8cCBjbGFzcz0nVEVTVCc+PC9wPiIsIW4ucXVlcnlTZWxlY3RvckFsbHx8MCE9PW4ucXVlcnlTZWxlY3RvckFsbCgiLlRFU1QiKS5sZW5ndGgpe2Zvcih2YXIgciBpbiBmPWZ1bmN0aW9uKG4scixpLG8pe2lmKHI9cnx8dCwhbyYmIWYuaXNYTUwocikpe3ZhciBhPS9eKFx3KyQpfF5cLihbXHdcLV0rJCl8XiMoW1x3XC1dKyQpLy5leGVjKG4pO2lmKGEmJigxPT09ci5ub2RlVHlwZXx8OT09PXIubm9kZVR5cGUpKXtpZihhWzFdKXJldHVybiB4KHIuZ2V0RWxlbWVudHNCeVRhZ05hbWUobiksaSk7aWYoYVsyXSYmcC5maW5kLkNMQVNTJiZyLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpcmV0dXJuIHgoci5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGFbMl0pLGkpfWlmKDk9PT1yLm5vZGVUeXBlKXtpZigiYm9keSI9PT1uJiZyLmJvZHkpcmV0dXJuIHgoW3IuYm9keV0saSk7aWYoYSYmYVszXSl7dmFyIHM9ci5nZXRFbGVtZW50QnlJZChhWzNdKTtpZighc3x8IXMucGFyZW50Tm9kZSlyZXR1cm4geChbXSxpKTtpZihzLmlkPT09YVszXSlyZXR1cm4geChbc10saSl9dHJ5e3JldHVybiB4KHIucXVlcnlTZWxlY3RvckFsbChuKSxpKX1jYXRjaChlKXt9Cn1lbHNlIGlmKDE9PT1yLm5vZGVUeXBlJiYib2JqZWN0IiE9PXIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSl7dmFyIGw9cix1PXIuZ2V0QXR0cmlidXRlKCJpZCIpLGM9dXx8Il9fc2l6emxlX18iLGQ9ci5wYXJlbnROb2RlLGg9L15ccypbK35dLy50ZXN0KG4pO3U/Yz1jLnJlcGxhY2UoLycvZywiXFwkJiIpOnIuc2V0QXR0cmlidXRlKCJpZCIsYyksaCYmZCYmKHI9ci5wYXJlbnROb2RlKTt0cnl7aWYoIWh8fGQpcmV0dXJuIHgoci5xdWVyeVNlbGVjdG9yQWxsKCJbaWQ9JyIrYysiJ10gIituKSxpKX1jYXRjaChlKXt9ZmluYWxseXt1fHxsLnJlbW92ZUF0dHJpYnV0ZSgiaWQiKX19fXJldHVybiBlKG4scixpLG8pfSxlKWZbcl09ZVtyXTtuPW51bGx9fSgpLGZ1bmN0aW9uKCl7dmFyIGU9dC5kb2N1bWVudEVsZW1lbnQsbj1lLm1hdGNoZXNTZWxlY3Rvcnx8ZS5tb3pNYXRjaGVzU2VsZWN0b3J8fGUud2Via2l0TWF0Y2hlc1NlbGVjdG9yfHxlLm1zTWF0Y2hlc1NlbGVjdG9yO2lmKG4pe3ZhciByPSFuLmNhbGwodC5jcmVhdGVFbGVtZW50KCJkaXYiKSwiZGl2IiksaT0hMTt0cnl7bi5jYWxsKHQuZG9jdW1lbnRFbGVtZW50LCJbdGVzdCE9JyddOnNpenpsZSIpfWNhdGNoKGUpe2k9ITB9Zi5tYXRjaGVzU2VsZWN0b3I9ZnVuY3Rpb24oZSx0KXtpZih0PXQucmVwbGFjZSgvXD1ccyooW14nIlxdXSopXHMqXF0vZywiPSckMSddIiksIWYuaXNYTUwoZSkpdHJ5e2lmKGl8fCFwLm1hdGNoLlBTRVVETy50ZXN0KHQpJiYhLyE9Ly50ZXN0KHQpKXt2YXIgbz1uLmNhbGwoZSx0KTtpZihvfHwhcnx8ZS5kb2N1bWVudCYmMTEhPT1lLmRvY3VtZW50Lm5vZGVUeXBlKXJldHVybiBvfX1jYXRjaChlKXt9cmV0dXJuIGYodCxudWxsLG51bGwsW2VdKS5sZW5ndGg+MH19fSgpLGZ1bmN0aW9uKCl7dmFyIGU9dC5jcmVhdGVFbGVtZW50KCJkaXYiKTtlLmlubmVySFRNTD0iPGRpdiBjbGFzcz0ndGVzdCBlJz48L2Rpdj48ZGl2IGNsYXNzPSd0ZXN0Jz48L2Rpdj4iLGUuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmMCE9PWUuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiZSIpLmxlbmd0aCYmKGUubGFzdENoaWxkLmNsYXNzTmFtZT0iZSIsMSE9PWUuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiZSIpLmxlbmd0aCYmKHAub3JkZXIuc3BsaWNlKDEsMCwiQ0xBU1MiKSxwLmZpbmQuQ0xBU1M9ZnVuY3Rpb24oZSx0LG4pe2lmKHZvaWQgMCE9PXQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmIW4pcmV0dXJuIHQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShlWzFdKX0sZT1udWxsKSl9KCksdC5kb2N1bWVudEVsZW1lbnQuY29udGFpbnM/Zi5jb250YWlucz1mdW5jdGlvbihlLHQpe3JldHVybiBlIT09dCYmKCFlLmNvbnRhaW5zfHxlLmNvbnRhaW5zKHQpKX06dC5kb2N1bWVudEVsZW1lbnQuY29tcGFyZURvY3VtZW50UG9zaXRpb24/Zi5jb250YWlucz1mdW5jdGlvbihlLHQpe3JldHVybiEhKDE2JmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24odCkpfTpmLmNvbnRhaW5zPWZ1bmN0aW9uKCl7cmV0dXJuITF9LGYuaXNYTUw9ZnVuY3Rpb24oZSl7dmFyIHQ9KGU/ZS5vd25lckRvY3VtZW50fHxlOjApLmRvY3VtZW50RWxlbWVudDtyZXR1cm4hIXQmJiJIVE1MIiE9PXQubm9kZU5hbWV9O3ZhciBOPWZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHIsaT1bXSxvPSIiLGE9dC5ub2RlVHlwZT9bdF06dDtyPXAubWF0Y2guUFNFVURPLmV4ZWMoZSk7KW8rPXJbMF0sZT1lLnJlcGxhY2UocC5tYXRjaC5QU0VVRE8sIiIpO2U9cC5yZWxhdGl2ZVtlXT9lKyIqIjplO2Zvcih2YXIgcz0wLGw9YS5sZW5ndGg7czxsO3MrKylmKGUsYVtzXSxpLG4pO3JldHVybiBmLmZpbHRlcihvLGkpfTtmLmF0dHI9aS5hdHRyLGYuc2VsZWN0b3JzLmF0dHJNYXA9e30saS5maW5kPWYsaS5leHByPWYuc2VsZWN0b3JzLGkuZXhwclsiOiJdPWkuZXhwci5maWx0ZXJzLGkudW5pcXVlPWYudW5pcXVlU29ydCxpLnRleHQ9Zi5nZXRUZXh0LGkuaXNYTUxEb2M9Zi5pc1hNTCxpLmNvbnRhaW5zPWYuY29udGFpbnN9KCk7dmFyIE09L1VudGlsJC8sTz0vXig/OnBhcmVudHN8cHJldlVudGlsfHByZXZBbGwpLyxIPS8sLyxQPS9eLlteOiNcW1wuLF0qJC8scT1BcnJheS5wcm90b3R5cGUuc2xpY2UsQj1pLmV4cHIubWF0Y2guZ2xvYmFsUE9TLFc9e2NoaWxkcmVuOiEwLGNvbnRlbnRzOiEwLG5leHQ6ITAscHJldjohMH07ZnVuY3Rpb24gSShlKXtyZXR1cm4hZXx8IWUucGFyZW50Tm9kZXx8MTE9PT1lLnBhcmVudE5vZGUubm9kZVR5cGV9ZnVuY3Rpb24gJChlLHQsbil7aWYodD10fHwwLGkuaXNGdW5jdGlvbih0KSlyZXR1cm4gaS5ncmVwKGUsKGZ1bmN0aW9uKGUscil7cmV0dXJuISF0LmNhbGwoZSxyLGUpPT09bn0pKTtpZih0Lm5vZGVUeXBlKXJldHVybiBpLmdyZXAoZSwoZnVuY3Rpb24oZSxyKXtyZXR1cm4gZT09PXQ9PT1ufSkpO2lmKCJzdHJpbmciPT10eXBlb2YgdCl7dmFyIHI9aS5ncmVwKGUsKGZ1bmN0aW9uKGUpe3JldHVybiAxPT09ZS5ub2RlVHlwZX0pKTtpZihQLnRlc3QodCkpcmV0dXJuIGkuZmlsdGVyKHQsciwhbik7dD1pLmZpbHRlcih0LHIpfXJldHVybiBpLmdyZXAoZSwoZnVuY3Rpb24oZSxyKXtyZXR1cm4gaS5pbkFycmF5KGUsdCk+PTA9PT1ufSkpfWZ1bmN0aW9uIFIoZSl7dmFyIHQ9WC5zcGxpdCgifCIpLG49ZS5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7aWYobi5jcmVhdGVFbGVtZW50KWZvcig7dC5sZW5ndGg7KW4uY3JlYXRlRWxlbWVudCh0LnBvcCgpKTtyZXR1cm4gbn1pLmZuLmV4dGVuZCh7ZmluZDpmdW5jdGlvbihlKXt2YXIgdCxuLHI9dGhpcztpZigic3RyaW5nIiE9dHlwZW9mIGUpcmV0dXJuIGkoZSkuZmlsdGVyKChmdW5jdGlvbigpe2Zvcih0PTAsbj1yLmxlbmd0aDt0PG47dCsrKWlmKGkuY29udGFpbnMoclt0XSx0aGlzKSlyZXR1cm4hMH0pKTt2YXIgbyxhLHMsbD10aGlzLnB1c2hTdGFjaygiIiwiZmluZCIsZSk7Zm9yKHQ9MCxuPXRoaXMubGVuZ3RoO3Q8bjt0KyspaWYobz1sLmxlbmd0aCxpLmZpbmQoZSx0aGlzW3RdLGwpLHQ+MClmb3IoYT1vO2E8bC5sZW5ndGg7YSsrKWZvcihzPTA7czxvO3MrKylpZihsW3NdPT09bFthXSl7bC5zcGxpY2UoYS0tLDEpCjticmVha31yZXR1cm4gbH0saGFzOmZ1bmN0aW9uKGUpe3ZhciB0PWkoZSk7cmV0dXJuIHRoaXMuZmlsdGVyKChmdW5jdGlvbigpe2Zvcih2YXIgZT0wLG49dC5sZW5ndGg7ZTxuO2UrKylpZihpLmNvbnRhaW5zKHRoaXMsdFtlXSkpcmV0dXJuITB9KSl9LG5vdDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soJCh0aGlzLGUsITEpLCJub3QiLGUpfSxmaWx0ZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKCQodGhpcyxlLCEwKSwiZmlsdGVyIixlKX0saXM6ZnVuY3Rpb24oZSl7cmV0dXJuISFlJiYoInN0cmluZyI9PXR5cGVvZiBlP0IudGVzdChlKT9pKGUsdGhpcy5jb250ZXh0KS5pbmRleCh0aGlzWzBdKT49MDppLmZpbHRlcihlLHRoaXMpLmxlbmd0aD4wOnRoaXMuZmlsdGVyKGUpLmxlbmd0aD4wKX0sY2xvc2VzdDpmdW5jdGlvbihlLHQpe3ZhciBuLHIsbz1bXSxhPXRoaXNbMF07aWYoaS5pc0FycmF5KGUpKXtmb3IodmFyIHM9MTthJiZhLm93bmVyRG9jdW1lbnQmJmEhPT10Oyl7Zm9yKG49MDtuPGUubGVuZ3RoO24rKylpKGEpLmlzKGVbbl0pJiZvLnB1c2goe3NlbGVjdG9yOmVbbl0sZWxlbTphLGxldmVsOnN9KTthPWEucGFyZW50Tm9kZSxzKyt9cmV0dXJuIG99dmFyIGw9Qi50ZXN0KGUpfHwic3RyaW5nIiE9dHlwZW9mIGU/aShlLHR8fHRoaXMuY29udGV4dCk6MDtmb3Iobj0wLHI9dGhpcy5sZW5ndGg7bjxyO24rKylmb3IoYT10aGlzW25dO2E7KXtpZihsP2wuaW5kZXgoYSk+LTE6aS5maW5kLm1hdGNoZXNTZWxlY3RvcihhLGUpKXtvLnB1c2goYSk7YnJlYWt9aWYoIShhPWEucGFyZW50Tm9kZSl8fCFhLm93bmVyRG9jdW1lbnR8fGE9PT10fHwxMT09PWEubm9kZVR5cGUpYnJlYWt9cmV0dXJuIG89by5sZW5ndGg+MT9pLnVuaXF1ZShvKTpvLHRoaXMucHVzaFN0YWNrKG8sImNsb3Nlc3QiLGUpfSxpbmRleDpmdW5jdGlvbihlKXtyZXR1cm4gZT8ic3RyaW5nIj09dHlwZW9mIGU/aS5pbkFycmF5KHRoaXNbMF0saShlKSk6aS5pbkFycmF5KGUuanF1ZXJ5P2VbMF06ZSx0aGlzKTp0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGU/dGhpcy5wcmV2QWxsKCkubGVuZ3RoOi0xfSxhZGQ6ZnVuY3Rpb24oZSx0KXt2YXIgbj0ic3RyaW5nIj09dHlwZW9mIGU/aShlLHQpOmkubWFrZUFycmF5KGUmJmUubm9kZVR5cGU/W2VdOmUpLHI9aS5tZXJnZSh0aGlzLmdldCgpLG4pO3JldHVybiB0aGlzLnB1c2hTdGFjayhJKG5bMF0pfHxJKHJbMF0pP3I6aS51bmlxdWUocikpfSxhbmRTZWxmOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYWRkKHRoaXMucHJldk9iamVjdCl9fSksaS5lYWNoKHtwYXJlbnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wYXJlbnROb2RlO3JldHVybiB0JiYxMSE9PXQubm9kZVR5cGU/dDpudWxsfSxwYXJlbnRzOmZ1bmN0aW9uKGUpe3JldHVybiBpLmRpcihlLCJwYXJlbnROb2RlIil9LHBhcmVudHNVbnRpbDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGkuZGlyKGUsInBhcmVudE5vZGUiLG4pfSxuZXh0OmZ1bmN0aW9uKGUpe3JldHVybiBpLm50aChlLDIsIm5leHRTaWJsaW5nIil9LHByZXY6ZnVuY3Rpb24oZSl7cmV0dXJuIGkubnRoKGUsMiwicHJldmlvdXNTaWJsaW5nIil9LG5leHRBbGw6ZnVuY3Rpb24oZSl7cmV0dXJuIGkuZGlyKGUsIm5leHRTaWJsaW5nIil9LHByZXZBbGw6ZnVuY3Rpb24oZSl7cmV0dXJuIGkuZGlyKGUsInByZXZpb3VzU2libGluZyIpfSxuZXh0VW50aWw6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBpLmRpcihlLCJuZXh0U2libGluZyIsbil9LHByZXZVbnRpbDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGkuZGlyKGUsInByZXZpb3VzU2libGluZyIsbil9LHNpYmxpbmdzOmZ1bmN0aW9uKGUpe3JldHVybiBpLnNpYmxpbmcoKGUucGFyZW50Tm9kZXx8e30pLmZpcnN0Q2hpbGQsZSl9LGNoaWxkcmVuOmZ1bmN0aW9uKGUpe3JldHVybiBpLnNpYmxpbmcoZS5maXJzdENoaWxkKX0sY29udGVudHM6ZnVuY3Rpb24oZSl7cmV0dXJuIGkubm9kZU5hbWUoZSwiaWZyYW1lIik/ZS5jb250ZW50RG9jdW1lbnR8fGUuY29udGVudFdpbmRvdy5kb2N1bWVudDppLm1ha2VBcnJheShlLmNoaWxkTm9kZXMpfX0sKGZ1bmN0aW9uKGUsdCl7aS5mbltlXT1mdW5jdGlvbihuLHIpe3ZhciBvPWkubWFwKHRoaXMsdCxuKTtyZXR1cm4gTS50ZXN0KGUpfHwocj1uKSxyJiYic3RyaW5nIj09dHlwZW9mIHImJihvPWkuZmlsdGVyKHIsbykpLG89dGhpcy5sZW5ndGg+MSYmIVdbZV0/aS51bmlxdWUobyk6bywodGhpcy5sZW5ndGg+MXx8SC50ZXN0KHIpKSYmTy50ZXN0KGUpJiYobz1vLnJldmVyc2UoKSksdGhpcy5wdXNoU3RhY2sobyxlLHEuY2FsbChhcmd1bWVudHMpLmpvaW4oIiwiKSl9fSkpLGkuZXh0ZW5kKHtmaWx0ZXI6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBuJiYoZT0iOm5vdCgiK2UrIikiKSwxPT09dC5sZW5ndGg/aS5maW5kLm1hdGNoZXNTZWxlY3Rvcih0WzBdLGUpP1t0WzBdXTpbXTppLmZpbmQubWF0Y2hlcyhlLHQpfSxkaXI6ZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgcj1bXSxvPWVbdF07byYmOSE9PW8ubm9kZVR5cGUmJih2b2lkIDA9PT1ufHwxIT09by5ub2RlVHlwZXx8IWkobykuaXMobikpOykxPT09by5ub2RlVHlwZSYmci5wdXNoKG8pLG89b1t0XTtyZXR1cm4gcn0sbnRoOmZ1bmN0aW9uKGUsdCxuLHIpe3Q9dHx8MTtmb3IodmFyIGk9MDtlJiYoMSE9PWUubm9kZVR5cGV8fCsraSE9PXQpO2U9ZVtuXSk7cmV0dXJuIGV9LHNpYmxpbmc6ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49W107ZTtlPWUubmV4dFNpYmxpbmcpMT09PWUubm9kZVR5cGUmJmUhPT10JiZuLnB1c2goZSk7cmV0dXJuIG59fSkKO3ZhciBYPSJhYmJyfGFydGljbGV8YXNpZGV8YXVkaW98YmRpfGNhbnZhc3xkYXRhfGRhdGFsaXN0fGRldGFpbHN8ZmlnY2FwdGlvbnxmaWd1cmV8Zm9vdGVyfGhlYWRlcnxoZ3JvdXB8bWFya3xtZXRlcnxuYXZ8b3V0cHV0fHByb2dyZXNzfHNlY3Rpb258c3VtbWFyeXx0aW1lfHZpZGVvIix6PS8galF1ZXJ5XGQrPSIoPzpcZCt8bnVsbCkiL2csVj0vXlxzKy8sVT0vPCg/IWFyZWF8YnJ8Y29sfGVtYmVkfGhyfGltZ3xpbnB1dHxsaW5rfG1ldGF8cGFyYW0pKChbXHc6XSspW14+XSopXC8+L2dpLFk9LzwoW1x3Ol0rKS8sSj0vPHRib2R5L2ksRz0vPHwmIz9cdys7LyxLPS88KD86c2NyaXB0fHN0eWxlKS9pLFE9LzwoPzpzY3JpcHR8b2JqZWN0fGVtYmVkfG9wdGlvbnxzdHlsZSkvaSxaPW5ldyBSZWdFeHAoIjwoPzoiK1grIilbXFxzLz5dIiwiaSIpLGVlPS9jaGVja2VkXHMqKD86W149XXw9XHMqLmNoZWNrZWQuKS9pLHRlPS9cLyhqYXZhfGVjbWEpc2NyaXB0L2ksbmU9e29wdGlvbjpbMSwiPHNlbGVjdCBtdWx0aXBsZT0nbXVsdGlwbGUnPiIsIjwvc2VsZWN0PiJdLGxlZ2VuZDpbMSwiPGZpZWxkc2V0PiIsIjwvZmllbGRzZXQ+Il0sdGhlYWQ6WzEsIjx0YWJsZT4iLCI8L3RhYmxlPiJdLHRyOlsyLCI8dGFibGU+PHRib2R5PiIsIjwvdGJvZHk+PC90YWJsZT4iXSx0ZDpbMywiPHRhYmxlPjx0Ym9keT48dHI+IiwiPC90cj48L3Rib2R5PjwvdGFibGU+Il0sY29sOlsyLCI8dGFibGU+PHRib2R5PjwvdGJvZHk+PGNvbGdyb3VwPiIsIjwvY29sZ3JvdXA+PC90YWJsZT4iXSxhcmVhOlsxLCI8bWFwPiIsIjwvbWFwPiJdLF9kZWZhdWx0OlswLCIiLCIiXX0scmU9Uih0KTtmdW5jdGlvbiBpZShlLHQpe2lmKDE9PT10Lm5vZGVUeXBlJiZpLmhhc0RhdGEoZSkpe3ZhciBuLHIsbyxhPWkuX2RhdGEoZSkscz1pLl9kYXRhKHQsYSksbD1hLmV2ZW50cztpZihsKWZvcihuIGluIGRlbGV0ZSBzLmhhbmRsZSxzLmV2ZW50cz17fSxsKWZvcihyPTAsbz1sW25dLmxlbmd0aDtyPG87cisrKWkuZXZlbnQuYWRkKHQsbixsW25dW3JdKTtzLmRhdGEmJihzLmRhdGE9aS5leHRlbmQoe30scy5kYXRhKSl9fWZ1bmN0aW9uIG9lKGUsdCl7dmFyIG47MT09PXQubm9kZVR5cGUmJih0LmNsZWFyQXR0cmlidXRlcyYmdC5jbGVhckF0dHJpYnV0ZXMoKSx0Lm1lcmdlQXR0cmlidXRlcyYmdC5tZXJnZUF0dHJpYnV0ZXMoZSksIm9iamVjdCI9PT0obj10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpP3Qub3V0ZXJIVE1MPWUub3V0ZXJIVE1MOiJpbnB1dCIhPT1ufHwiY2hlY2tib3giIT09ZS50eXBlJiYicmFkaW8iIT09ZS50eXBlPyJvcHRpb24iPT09bj90LnNlbGVjdGVkPWUuZGVmYXVsdFNlbGVjdGVkOiJpbnB1dCI9PT1ufHwidGV4dGFyZWEiPT09bj90LmRlZmF1bHRWYWx1ZT1lLmRlZmF1bHRWYWx1ZToic2NyaXB0Ij09PW4mJnQudGV4dCE9PWUudGV4dCYmKHQudGV4dD1lLnRleHQpOihlLmNoZWNrZWQmJih0LmRlZmF1bHRDaGVja2VkPXQuY2hlY2tlZD1lLmNoZWNrZWQpLHQudmFsdWUhPT1lLnZhbHVlJiYodC52YWx1ZT1lLnZhbHVlKSksdC5yZW1vdmVBdHRyaWJ1dGUoaS5leHBhbmRvKSx0LnJlbW92ZUF0dHJpYnV0ZSgiX3N1Ym1pdF9hdHRhY2hlZCIpLHQucmVtb3ZlQXR0cmlidXRlKCJfY2hhbmdlX2F0dGFjaGVkIikpfWZ1bmN0aW9uIGFlKGUpe3JldHVybiB2b2lkIDAhPT1lLmdldEVsZW1lbnRzQnlUYWdOYW1lP2UuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKTp2b2lkIDAhPT1lLnF1ZXJ5U2VsZWN0b3JBbGw/ZS5xdWVyeVNlbGVjdG9yQWxsKCIqIik6W119ZnVuY3Rpb24gc2UoZSl7ImNoZWNrYm94IiE9PWUudHlwZSYmInJhZGlvIiE9PWUudHlwZXx8KGUuZGVmYXVsdENoZWNrZWQ9ZS5jaGVja2VkKX1mdW5jdGlvbiBsZShlKXt2YXIgdD0oZS5ub2RlTmFtZXx8IiIpLnRvTG93ZXJDYXNlKCk7ImlucHV0Ij09PXQ/c2UoZSk6InNjcmlwdCIhPT10JiZ2b2lkIDAhPT1lLmdldEVsZW1lbnRzQnlUYWdOYW1lJiZpLmdyZXAoZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKSxzZSl9bmUub3B0Z3JvdXA9bmUub3B0aW9uLG5lLnRib2R5PW5lLnRmb290PW5lLmNvbGdyb3VwPW5lLmNhcHRpb249bmUudGhlYWQsbmUudGg9bmUudGQsaS5zdXBwb3J0Lmh0bWxTZXJpYWxpemV8fChuZS5fZGVmYXVsdD1bMSwiZGl2PGRpdj4iLCI8L2Rpdj4iXSksaS5mbi5leHRlbmQoe3RleHQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGkuYWNjZXNzKHRoaXMsKGZ1bmN0aW9uKGUpe3JldHVybiB2b2lkIDA9PT1lP2kudGV4dCh0aGlzKTp0aGlzLmVtcHR5KCkuYXBwZW5kKCh0aGlzWzBdJiZ0aGlzWzBdLm93bmVyRG9jdW1lbnR8fHQpLmNyZWF0ZVRleHROb2RlKGUpKX0pLG51bGwsZSxhcmd1bWVudHMubGVuZ3RoKX0sd3JhcEFsbDpmdW5jdGlvbihlKXtpZihpLmlzRnVuY3Rpb24oZSkpcmV0dXJuIHRoaXMuZWFjaCgoZnVuY3Rpb24odCl7aSh0aGlzKS53cmFwQWxsKGUuY2FsbCh0aGlzLHQpKX0pKTtpZih0aGlzWzBdKXt2YXIgdD1pKGUsdGhpc1swXS5vd25lckRvY3VtZW50KS5lcSgwKS5jbG9uZSghMCk7dGhpc1swXS5wYXJlbnROb2RlJiZ0Lmluc2VydEJlZm9yZSh0aGlzWzBdKSx0Lm1hcCgoZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcztlLmZpcnN0Q2hpbGQmJjE9PT1lLmZpcnN0Q2hpbGQubm9kZVR5cGU7KWU9ZS5maXJzdENoaWxkO3JldHVybiBlfSkpLmFwcGVuZCh0aGlzKX1yZXR1cm4gdGhpc30sd3JhcElubmVyOmZ1bmN0aW9uKGUpe3JldHVybiBpLmlzRnVuY3Rpb24oZSk/dGhpcy5lYWNoKChmdW5jdGlvbih0KXtpKHRoaXMpLndyYXBJbm5lcihlLmNhbGwodGhpcyx0KSl9KSk6dGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciB0PWkodGhpcyksbj10LmNvbnRlbnRzKCk7bi5sZW5ndGg/bi53cmFwQWxsKGUpOnQuYXBwZW5kKGUpfSkpfSx3cmFwOmZ1bmN0aW9uKGUpe3ZhciB0PWkuaXNGdW5jdGlvbihlKTtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbihuKXtpKHRoaXMpLndyYXBBbGwodD9lLmNhbGwodGhpcyxuKTplKX0pKX0sdW53cmFwOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFyZW50KCkuZWFjaCgoZnVuY3Rpb24oKXsKaS5ub2RlTmFtZSh0aGlzLCJib2R5Iil8fGkodGhpcykucmVwbGFjZVdpdGgodGhpcy5jaGlsZE5vZGVzKX0pKS5lbmQoKX0sYXBwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLCEwLChmdW5jdGlvbihlKXsxPT09dGhpcy5ub2RlVHlwZSYmdGhpcy5hcHBlbmRDaGlsZChlKX0pKX0scHJlcGVuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cywhMCwoZnVuY3Rpb24oZSl7MT09PXRoaXMubm9kZVR5cGUmJnRoaXMuaW5zZXJ0QmVmb3JlKGUsdGhpcy5maXJzdENoaWxkKX0pKX0sYmVmb3JlOmZ1bmN0aW9uKCl7aWYodGhpc1swXSYmdGhpc1swXS5wYXJlbnROb2RlKXJldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cywhMSwoZnVuY3Rpb24oZSl7dGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlLHRoaXMpfSkpO2lmKGFyZ3VtZW50cy5sZW5ndGgpe3ZhciBlPWkuY2xlYW4oYXJndW1lbnRzKTtyZXR1cm4gZS5wdXNoLmFwcGx5KGUsdGhpcy50b0FycmF5KCkpLHRoaXMucHVzaFN0YWNrKGUsImJlZm9yZSIsYXJndW1lbnRzKX19LGFmdGVyOmZ1bmN0aW9uKCl7aWYodGhpc1swXSYmdGhpc1swXS5wYXJlbnROb2RlKXJldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cywhMSwoZnVuY3Rpb24oZSl7dGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlLHRoaXMubmV4dFNpYmxpbmcpfSkpO2lmKGFyZ3VtZW50cy5sZW5ndGgpe3ZhciBlPXRoaXMucHVzaFN0YWNrKHRoaXMsImFmdGVyIixhcmd1bWVudHMpO3JldHVybiBlLnB1c2guYXBwbHkoZSxpLmNsZWFuKGFyZ3VtZW50cykpLGV9fSxyZW1vdmU6ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG4scj0wO251bGwhPShuPXRoaXNbcl0pO3IrKyllJiYhaS5maWx0ZXIoZSxbbl0pLmxlbmd0aHx8KHR8fDEhPT1uLm5vZGVUeXBlfHwoaS5jbGVhbkRhdGEobi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpKSxpLmNsZWFuRGF0YShbbl0pKSxuLnBhcmVudE5vZGUmJm4ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChuKSk7cmV0dXJuIHRoaXN9LGVtcHR5OmZ1bmN0aW9uKCl7Zm9yKHZhciBlLHQ9MDtudWxsIT0oZT10aGlzW3RdKTt0KyspZm9yKDE9PT1lLm5vZGVUeXBlJiZpLmNsZWFuRGF0YShlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikpO2UuZmlyc3RDaGlsZDspZS5yZW1vdmVDaGlsZChlLmZpcnN0Q2hpbGQpO3JldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbihlLHQpe3JldHVybiBlPWU/PyExLHQ9dD8/ZSx0aGlzLm1hcCgoZnVuY3Rpb24oKXtyZXR1cm4gaS5jbG9uZSh0aGlzLGUsdCl9KSl9LGh0bWw6ZnVuY3Rpb24oZSl7cmV0dXJuIGkuYWNjZXNzKHRoaXMsKGZ1bmN0aW9uKGUpe3ZhciB0PXRoaXNbMF18fHt9LG49MCxyPXRoaXMubGVuZ3RoO2lmKHZvaWQgMD09PWUpcmV0dXJuIDE9PT10Lm5vZGVUeXBlP3QuaW5uZXJIVE1MLnJlcGxhY2UoeiwiIik6bnVsbDtpZigic3RyaW5nIj09dHlwZW9mIGUmJiFLLnRlc3QoZSkmJihpLnN1cHBvcnQubGVhZGluZ1doaXRlc3BhY2V8fCFWLnRlc3QoZSkpJiYhbmVbKFkuZXhlYyhlKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKV0pe2U9ZS5yZXBsYWNlKFUsIjwkMT48LyQyPiIpO3RyeXtmb3IoO248cjtuKyspMT09PSh0PXRoaXNbbl18fHt9KS5ub2RlVHlwZSYmKGkuY2xlYW5EYXRhKHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSksdC5pbm5lckhUTUw9ZSk7dD0wfWNhdGNoKGUpe319dCYmdGhpcy5lbXB0eSgpLmFwcGVuZChlKX0pLG51bGwsZSxhcmd1bWVudHMubGVuZ3RoKX0scmVwbGFjZVdpdGg6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXNbMF0mJnRoaXNbMF0ucGFyZW50Tm9kZT9pLmlzRnVuY3Rpb24oZSk/dGhpcy5lYWNoKChmdW5jdGlvbih0KXt2YXIgbj1pKHRoaXMpLHI9bi5odG1sKCk7bi5yZXBsYWNlV2l0aChlLmNhbGwodGhpcyx0LHIpKX0pKTooInN0cmluZyIhPXR5cGVvZiBlJiYoZT1pKGUpLmRldGFjaCgpKSx0aGlzLmVhY2goKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5uZXh0U2libGluZyxuPXRoaXMucGFyZW50Tm9kZTtpKHRoaXMpLnJlbW92ZSgpLHQ/aSh0KS5iZWZvcmUoZSk6aShuKS5hcHBlbmQoZSl9KSkpOnRoaXMubGVuZ3RoP3RoaXMucHVzaFN0YWNrKGkoaS5pc0Z1bmN0aW9uKGUpP2UoKTplKSwicmVwbGFjZVdpdGgiLGUpOnRoaXN9LGRldGFjaDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5yZW1vdmUoZSwhMCl9LGRvbU1hbmlwOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixvLGEscyxsLHU9ZVswXSxjPVtdO2lmKCFpLnN1cHBvcnQuY2hlY2tDbG9uZSYmMz09PWFyZ3VtZW50cy5sZW5ndGgmJiJzdHJpbmciPT10eXBlb2YgdSYmZWUudGVzdCh1KSlyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpe2kodGhpcykuZG9tTWFuaXAoZSx0LG4sITApfSkpO2lmKGkuaXNGdW5jdGlvbih1KSlyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbihyKXt2YXIgbz1pKHRoaXMpO2VbMF09dS5jYWxsKHRoaXMscix0P28uaHRtbCgpOnZvaWQgMCksby5kb21NYW5pcChlLHQsbil9KSk7aWYodGhpc1swXSl7aWYocz11JiZ1LnBhcmVudE5vZGUsbz0xPT09KGE9KHI9aS5zdXBwb3J0LnBhcmVudE5vZGUmJnMmJjExPT09cy5ub2RlVHlwZSYmcy5jaGlsZE5vZGVzLmxlbmd0aD09PXRoaXMubGVuZ3RoP3tmcmFnbWVudDpzfTppLmJ1aWxkRnJhZ21lbnQoZSx0aGlzLGMpKS5mcmFnbWVudCkuY2hpbGROb2Rlcy5sZW5ndGg/YT1hLmZpcnN0Q2hpbGQ6YS5maXJzdENoaWxkKXt0PXQmJmkubm9kZU5hbWUobywidHIiKTtmb3IodmFyIGY9MCxkPXRoaXMubGVuZ3RoLHA9ZC0xO2Y8ZDtmKyspbi5jYWxsKHQ/KGw9dGhpc1tmXSxpLm5vZGVOYW1lKGwsInRhYmxlIik/bC5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGJvZHkiKVswXXx8bC5hcHBlbmRDaGlsZChsLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGJvZHkiKSk6bCk6dGhpc1tmXSxyLmNhY2hlYWJsZXx8ZD4xJiZmPHA/aS5jbG9uZShhLCEwLCEwKTphKX1jLmxlbmd0aCYmaS5lYWNoKGMsKGZ1bmN0aW9uKGUsdCl7dC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCl9KSl9CnJldHVybiB0aGlzfX0pLGkuYnVpbGRGcmFnbWVudD1mdW5jdGlvbihlLG4scil7dmFyIG8sYSxzLGwsdT1lWzBdO3JldHVybiBuJiZuWzBdJiYobD1uWzBdLm93bmVyRG9jdW1lbnR8fG5bMF0pLGwuY3JlYXRlRG9jdW1lbnRGcmFnbWVudHx8KGw9dCksISgxPT09ZS5sZW5ndGgmJiJzdHJpbmciPT10eXBlb2YgdSYmdS5sZW5ndGg8NTEyJiZsPT09dCYmIjwiPT09dS5jaGFyQXQoMCkpfHxRLnRlc3QodSl8fCFpLnN1cHBvcnQuY2hlY2tDbG9uZSYmZWUudGVzdCh1KXx8IWkuc3VwcG9ydC5odG1sNUNsb25lJiZaLnRlc3QodSl8fChhPSEwLChzPWkuZnJhZ21lbnRzW3VdKSYmMSE9PXMmJihvPXMpKSxvfHwobz1sLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxpLmNsZWFuKGUsbCxvLHIpKSxhJiYoaS5mcmFnbWVudHNbdV09cz9vOjEpLHtmcmFnbWVudDpvLGNhY2hlYWJsZTphfX0saS5mcmFnbWVudHM9e30saS5lYWNoKHthcHBlbmRUbzoiYXBwZW5kIixwcmVwZW5kVG86InByZXBlbmQiLGluc2VydEJlZm9yZToiYmVmb3JlIixpbnNlcnRBZnRlcjoiYWZ0ZXIiLHJlcGxhY2VBbGw6InJlcGxhY2VXaXRoIn0sKGZ1bmN0aW9uKGUsdCl7aS5mbltlXT1mdW5jdGlvbihuKXt2YXIgcj1bXSxvPWkobiksYT0xPT09dGhpcy5sZW5ndGgmJnRoaXNbMF0ucGFyZW50Tm9kZTtpZihhJiYxMT09PWEubm9kZVR5cGUmJjE9PT1hLmNoaWxkTm9kZXMubGVuZ3RoJiYxPT09by5sZW5ndGgpcmV0dXJuIG9bdF0odGhpc1swXSksdGhpcztmb3IodmFyIHM9MCxsPW8ubGVuZ3RoO3M8bDtzKyspe3ZhciB1PShzPjA/dGhpcy5jbG9uZSghMCk6dGhpcykuZ2V0KCk7aShvW3NdKVt0XSh1KSxyPXIuY29uY2F0KHUpfXJldHVybiB0aGlzLnB1c2hTdGFjayhyLGUsby5zZWxlY3Rvcil9fSkpLGkuZXh0ZW5kKHtjbG9uZTpmdW5jdGlvbihlLG4scil7dmFyIG8sYSxzLGw9aS5zdXBwb3J0Lmh0bWw1Q2xvbmV8fGkuaXNYTUxEb2MoZSl8fCFaLnRlc3QoIjwiK2Uubm9kZU5hbWUrIj4iKT9lLmNsb25lTm9kZSghMCk6ZnVuY3Rpb24oZSl7dmFyIG49dC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gcmUuYXBwZW5kQ2hpbGQobiksbi5pbm5lckhUTUw9ZS5vdXRlckhUTUwsbi5maXJzdENoaWxkfShlKTtpZighKGkuc3VwcG9ydC5ub0Nsb25lRXZlbnQmJmkuc3VwcG9ydC5ub0Nsb25lQ2hlY2tlZHx8MSE9PWUubm9kZVR5cGUmJjExIT09ZS5ub2RlVHlwZXx8aS5pc1hNTERvYyhlKSkpZm9yKG9lKGUsbCksbz1hZShlKSxhPWFlKGwpLHM9MDtvW3NdOysrcylhW3NdJiZvZShvW3NdLGFbc10pO2lmKG4mJihpZShlLGwpLHIpKWZvcihvPWFlKGUpLGE9YWUobCkscz0wO29bc107KytzKWllKG9bc10sYVtzXSk7cmV0dXJuIG89YT1udWxsLGx9LGNsZWFuOmZ1bmN0aW9uKGUsbixyLG8pe3ZhciBhLHMsbCx1PVtdO3ZvaWQgMD09PShuPW58fHQpLmNyZWF0ZUVsZW1lbnQmJihuPW4ub3duZXJEb2N1bWVudHx8blswXSYmblswXS5vd25lckRvY3VtZW50fHx0KTtmb3IodmFyIGMsZj0wO251bGwhPShjPWVbZl0pO2YrKylpZigibnVtYmVyIj09dHlwZW9mIGMmJihjKz0iIiksYyl7aWYoInN0cmluZyI9PXR5cGVvZiBjKWlmKEcudGVzdChjKSl7Yz1jLnJlcGxhY2UoVSwiPCQxPjwvJDI+Iik7dmFyIGQscD0oWS5leGVjKGMpfHxbIiIsIiJdKVsxXS50b0xvd2VyQ2FzZSgpLGg9bmVbcF18fG5lLl9kZWZhdWx0LG09aFswXSxnPW4uY3JlYXRlRWxlbWVudCgiZGl2Iiksdj1yZS5jaGlsZE5vZGVzO2ZvcihuPT09dD9yZS5hcHBlbmRDaGlsZChnKTpSKG4pLmFwcGVuZENoaWxkKGcpLGcuaW5uZXJIVE1MPWhbMV0rYytoWzJdO20tLTspZz1nLmxhc3RDaGlsZDtpZighaS5zdXBwb3J0LnRib2R5KXt2YXIgeT1KLnRlc3QoYyksYj0idGFibGUiIT09cHx8eT8iPHRhYmxlPiIhPT1oWzFdfHx5P1tdOmcuY2hpbGROb2RlczpnLmZpcnN0Q2hpbGQmJmcuZmlyc3RDaGlsZC5jaGlsZE5vZGVzO2ZvcihsPWIubGVuZ3RoLTE7bD49MDstLWwpaS5ub2RlTmFtZShiW2xdLCJ0Ym9keSIpJiYhYltsXS5jaGlsZE5vZGVzLmxlbmd0aCYmYltsXS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGJbbF0pfSFpLnN1cHBvcnQubGVhZGluZ1doaXRlc3BhY2UmJlYudGVzdChjKSYmZy5pbnNlcnRCZWZvcmUobi5jcmVhdGVUZXh0Tm9kZShWLmV4ZWMoYylbMF0pLGcuZmlyc3RDaGlsZCksYz1nLmNoaWxkTm9kZXMsZyYmKGcucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChnKSx2Lmxlbmd0aD4wJiYoZD12W3YubGVuZ3RoLTFdKSYmZC5wYXJlbnROb2RlJiZkLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZCkpfWVsc2UgYz1uLmNyZWF0ZVRleHROb2RlKGMpO3ZhciB4O2lmKCFpLnN1cHBvcnQuYXBwZW5kQ2hlY2tlZClpZihjWzBdJiYibnVtYmVyIj09dHlwZW9mKHg9Yy5sZW5ndGgpKWZvcihsPTA7bDx4O2wrKylsZShjW2xdKTtlbHNlIGxlKGMpO2Mubm9kZVR5cGU/dS5wdXNoKGMpOnU9aS5tZXJnZSh1LGMpfWlmKHIpZm9yKGE9ZnVuY3Rpb24oZSl7cmV0dXJuIWUudHlwZXx8dGUudGVzdChlLnR5cGUpfSxmPTA7dVtmXTtmKyspaWYocz11W2ZdLG8mJmkubm9kZU5hbWUocywic2NyaXB0IikmJighcy50eXBlfHx0ZS50ZXN0KHMudHlwZSkpKW8ucHVzaChzLnBhcmVudE5vZGU/cy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHMpOnMpO2Vsc2V7aWYoMT09PXMubm9kZVR5cGUpe3ZhciB3PWkuZ3JlcChzLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKSxhKTt1LnNwbGljZS5hcHBseSh1LFtmKzEsMF0uY29uY2F0KHcpKX1yLmFwcGVuZENoaWxkKHMpfXJldHVybiB1fSxjbGVhbkRhdGE6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG4scixvPWkuY2FjaGUsYT1pLmV2ZW50LnNwZWNpYWwscz1pLnN1cHBvcnQuZGVsZXRlRXhwYW5kbyxsPTA7bnVsbCE9KHI9ZVtsXSk7bCsrKWlmKCghci5ub2RlTmFtZXx8IWkubm9EYXRhW3Iubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0pJiYobj1yW2kuZXhwYW5kb10pKXtpZigodD1vW25dKSYmdC5ldmVudHMpe2Zvcih2YXIgdSBpbiB0LmV2ZW50cylhW3VdP2kuZXZlbnQucmVtb3ZlKHIsdSk6aS5yZW1vdmVFdmVudChyLHUsdC5oYW5kbGUpCjt0LmhhbmRsZSYmKHQuaGFuZGxlLmVsZW09bnVsbCl9cz9kZWxldGUgcltpLmV4cGFuZG9dOnIucmVtb3ZlQXR0cmlidXRlJiZyLnJlbW92ZUF0dHJpYnV0ZShpLmV4cGFuZG8pLGRlbGV0ZSBvW25dfX19KTt2YXIgdWUsY2UsZmUsZGU9L2FscGhhXChbXildKlwpL2kscGU9L29wYWNpdHk9KFteKV0qKS8saGU9LyhbQS1aXXxebXMpL2csbWU9L15bXC0rXT8oPzpcZCpcLik/XGQrJC9pLGdlPS9eLT8oPzpcZCpcLik/XGQrKD8hcHgpW15cZFxzXSskL2ksdmU9L14oW1wtK10pPShbXC0rLlxkZV0rKS8seWU9L15tYXJnaW4vLGJlPXtwb3NpdGlvbjoiYWJzb2x1dGUiLHZpc2liaWxpdHk6ImhpZGRlbiIsZGlzcGxheToiYmxvY2sifSx4ZT1bIlRvcCIsIlJpZ2h0IiwiQm90dG9tIiwiTGVmdCJdO2Z1bmN0aW9uIHdlKGUsdCxuKXt2YXIgcj0id2lkdGgiPT09dD9lLm9mZnNldFdpZHRoOmUub2Zmc2V0SGVpZ2h0LG89IndpZHRoIj09PXQ/MTowO2lmKHI+MCl7aWYoImJvcmRlciIhPT1uKWZvcig7bzw0O28rPTIpbnx8KHItPXBhcnNlRmxvYXQoaS5jc3MoZSwicGFkZGluZyIreGVbb10pKXx8MCksIm1hcmdpbiI9PT1uP3IrPXBhcnNlRmxvYXQoaS5jc3MoZSxuK3hlW29dKSl8fDA6ci09cGFyc2VGbG9hdChpLmNzcyhlLCJib3JkZXIiK3hlW29dKyJXaWR0aCIpKXx8MDtyZXR1cm4gcisicHgifWlmKCgocj11ZShlLHQpKTwwfHxudWxsPT1yKSYmKHI9ZS5zdHlsZVt0XSksZ2UudGVzdChyKSlyZXR1cm4gcjtpZihyPXBhcnNlRmxvYXQocil8fDAsbilmb3IoO288NDtvKz0yKXIrPXBhcnNlRmxvYXQoaS5jc3MoZSwicGFkZGluZyIreGVbb10pKXx8MCwicGFkZGluZyIhPT1uJiYocis9cGFyc2VGbG9hdChpLmNzcyhlLCJib3JkZXIiK3hlW29dKyJXaWR0aCIpKXx8MCksIm1hcmdpbiI9PT1uJiYocis9cGFyc2VGbG9hdChpLmNzcyhlLG4reGVbb10pKXx8MCk7cmV0dXJuIHIrInB4In1pLmZuLmNzcz1mdW5jdGlvbihlLHQpe3JldHVybiBpLmFjY2Vzcyh0aGlzLChmdW5jdGlvbihlLHQsbil7cmV0dXJuIHZvaWQgMCE9PW4/aS5zdHlsZShlLHQsbik6aS5jc3MoZSx0KX0pLGUsdCxhcmd1bWVudHMubGVuZ3RoPjEpfSxpLmV4dGVuZCh7Y3NzSG9va3M6e29wYWNpdHk6e2dldDpmdW5jdGlvbihlLHQpe2lmKHQpe3ZhciBuPXVlKGUsIm9wYWNpdHkiKTtyZXR1cm4iIj09PW4/IjEiOm59cmV0dXJuIGUuc3R5bGUub3BhY2l0eX19fSxjc3NOdW1iZXI6e2ZpbGxPcGFjaXR5OiEwLGZvbnRXZWlnaHQ6ITAsbGluZUhlaWdodDohMCxvcGFjaXR5OiEwLG9ycGhhbnM6ITAsd2lkb3dzOiEwLHpJbmRleDohMCx6b29tOiEwfSxjc3NQcm9wczp7ZmxvYXQ6aS5zdXBwb3J0LmNzc0Zsb2F0PyJjc3NGbG9hdCI6InN0eWxlRmxvYXQifSxzdHlsZTpmdW5jdGlvbihlLHQsbixyKXtpZihlJiYzIT09ZS5ub2RlVHlwZSYmOCE9PWUubm9kZVR5cGUmJmUuc3R5bGUpe3ZhciBvLGEscz1pLmNhbWVsQ2FzZSh0KSxsPWUuc3R5bGUsdT1pLmNzc0hvb2tzW3NdO2lmKHQ9aS5jc3NQcm9wc1tzXXx8cyx2b2lkIDA9PT1uKXJldHVybiB1JiYiZ2V0ImluIHUmJnZvaWQgMCE9PShvPXUuZ2V0KGUsITEscikpP286bFt0XTtpZighKCJzdHJpbmciPT09KGE9dHlwZW9mIG4pJiYobz12ZS5leGVjKG4pKSYmKG49KyhvWzFdKzEpKitvWzJdK3BhcnNlRmxvYXQoaS5jc3MoZSx0KSksYT0ibnVtYmVyIiksbnVsbD09bnx8Im51bWJlciI9PT1hJiZpc05hTihuKXx8KCJudW1iZXIiIT09YXx8aS5jc3NOdW1iZXJbc118fChuKz0icHgiKSx1JiYic2V0ImluIHUmJnZvaWQgMD09PShuPXUuc2V0KGUsbikpKSkpdHJ5e2xbdF09bn1jYXRjaChlKXt9fX0sY3NzOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixvO3JldHVybiB0PWkuY2FtZWxDYXNlKHQpLG89aS5jc3NIb29rc1t0XSwiY3NzRmxvYXQiPT09KHQ9aS5jc3NQcm9wc1t0XXx8dCkmJih0PSJmbG9hdCIpLG8mJiJnZXQiaW4gbyYmdm9pZCAwIT09KHI9by5nZXQoZSwhMCxuKSk/cjp1ZT91ZShlLHQpOnZvaWQgMH0sc3dhcDpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvPXt9O2ZvcihpIGluIHQpb1tpXT1lLnN0eWxlW2ldLGUuc3R5bGVbaV09dFtpXTtmb3IoaSBpbiByPW4uY2FsbChlKSx0KWUuc3R5bGVbaV09b1tpXTtyZXR1cm4gcn19KSxpLmN1ckNTUz1pLmNzcyx0LmRlZmF1bHRWaWV3JiZ0LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUmJihjZT1mdW5jdGlvbihlLHQpe3ZhciBuLHIsbyxhLHM9ZS5zdHlsZTtyZXR1cm4gdD10LnJlcGxhY2UoaGUsIi0kMSIpLnRvTG93ZXJDYXNlKCksKHI9ZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3KSYmKG89ci5nZXRDb21wdXRlZFN0eWxlKGUsbnVsbCkpJiYoIiIhPT0obj1vLmdldFByb3BlcnR5VmFsdWUodCkpfHxpLmNvbnRhaW5zKGUub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsZSl8fChuPWkuc3R5bGUoZSx0KSkpLCFpLnN1cHBvcnQucGl4ZWxNYXJnaW4mJm8mJnllLnRlc3QodCkmJmdlLnRlc3QobikmJihhPXMud2lkdGgscy53aWR0aD1uLG49by53aWR0aCxzLndpZHRoPWEpLG59KSx0LmRvY3VtZW50RWxlbWVudC5jdXJyZW50U3R5bGUmJihmZT1mdW5jdGlvbihlLHQpe3ZhciBuLHIsaSxvPWUuY3VycmVudFN0eWxlJiZlLmN1cnJlbnRTdHlsZVt0XSxhPWUuc3R5bGU7cmV0dXJuIG51bGw9PW8mJmEmJihpPWFbdF0pJiYobz1pKSxnZS50ZXN0KG8pJiYobj1hLmxlZnQsKHI9ZS5ydW50aW1lU3R5bGUmJmUucnVudGltZVN0eWxlLmxlZnQpJiYoZS5ydW50aW1lU3R5bGUubGVmdD1lLmN1cnJlbnRTdHlsZS5sZWZ0KSxhLmxlZnQ9ImZvbnRTaXplIj09PXQ/IjFlbSI6byxvPWEucGl4ZWxMZWZ0KyJweCIsYS5sZWZ0PW4sciYmKGUucnVudGltZVN0eWxlLmxlZnQ9cikpLCIiPT09bz8iYXV0byI6b30pLHVlPWNlfHxmZSxpLmVhY2goWyJoZWlnaHQiLCJ3aWR0aCJdLChmdW5jdGlvbihlLHQpe2kuY3NzSG9va3NbdF09e2dldDpmdW5jdGlvbihlLG4scil7aWYobilyZXR1cm4gMCE9PWUub2Zmc2V0V2lkdGg/d2UoZSx0LHIpOmkuc3dhcChlLGJlLChmdW5jdGlvbigpe3JldHVybiB3ZShlLHQscil9KSl9LHNldDpmdW5jdGlvbihlLHQpewpyZXR1cm4gbWUudGVzdCh0KT90KyJweCI6dH19fSkpLGkuc3VwcG9ydC5vcGFjaXR5fHwoaS5jc3NIb29rcy5vcGFjaXR5PXtnZXQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gcGUudGVzdCgodCYmZS5jdXJyZW50U3R5bGU/ZS5jdXJyZW50U3R5bGUuZmlsdGVyOmUuc3R5bGUuZmlsdGVyKXx8IiIpP3BhcnNlRmxvYXQoUmVnRXhwLiQxKS8xMDArIiI6dD8iMSI6IiJ9LHNldDpmdW5jdGlvbihlLHQpe3ZhciBuPWUuc3R5bGUscj1lLmN1cnJlbnRTdHlsZSxvPWkuaXNOdW1lcmljKHQpPyJhbHBoYShvcGFjaXR5PSIrMTAwKnQrIikiOiIiLGE9ciYmci5maWx0ZXJ8fG4uZmlsdGVyfHwiIjtuLnpvb209MSx0Pj0xJiYiIj09PWkudHJpbShhLnJlcGxhY2UoZGUsIiIpKSYmKG4ucmVtb3ZlQXR0cmlidXRlKCJmaWx0ZXIiKSxyJiYhci5maWx0ZXIpfHwobi5maWx0ZXI9ZGUudGVzdChhKT9hLnJlcGxhY2UoZGUsbyk6YSsiICIrbyl9fSksaSgoZnVuY3Rpb24oKXtpLnN1cHBvcnQucmVsaWFibGVNYXJnaW5SaWdodHx8KGkuY3NzSG9va3MubWFyZ2luUmlnaHQ9e2dldDpmdW5jdGlvbihlLHQpe3JldHVybiBpLnN3YXAoZSx7ZGlzcGxheToiaW5saW5lLWJsb2NrIn0sKGZ1bmN0aW9uKCl7cmV0dXJuIHQ/dWUoZSwibWFyZ2luLXJpZ2h0Iik6ZS5zdHlsZS5tYXJnaW5SaWdodH0pKX19KX0pKSxpLmV4cHImJmkuZXhwci5maWx0ZXJzJiYoaS5leHByLmZpbHRlcnMuaGlkZGVuPWZ1bmN0aW9uKGUpe3ZhciB0PWUub2Zmc2V0V2lkdGgsbj1lLm9mZnNldEhlaWdodDtyZXR1cm4gMD09PXQmJjA9PT1ufHwhaS5zdXBwb3J0LnJlbGlhYmxlSGlkZGVuT2Zmc2V0cyYmIm5vbmUiPT09KGUuc3R5bGUmJmUuc3R5bGUuZGlzcGxheXx8aS5jc3MoZSwiZGlzcGxheSIpKX0saS5leHByLmZpbHRlcnMudmlzaWJsZT1mdW5jdGlvbihlKXtyZXR1cm4haS5leHByLmZpbHRlcnMuaGlkZGVuKGUpfSksaS5lYWNoKHttYXJnaW46IiIscGFkZGluZzoiIixib3JkZXI6IldpZHRoIn0sKGZ1bmN0aW9uKGUsdCl7aS5jc3NIb29rc1tlK3RdPXtleHBhbmQ6ZnVuY3Rpb24obil7dmFyIHIsaT0ic3RyaW5nIj09dHlwZW9mIG4/bi5zcGxpdCgiICIpOltuXSxvPXt9O2ZvcihyPTA7cjw0O3IrKylvW2UreGVbcl0rdF09aVtyXXx8aVtyLTJdfHxpWzBdO3JldHVybiBvfX19KSk7dmFyIFRlLE5lLENlPS8lMjAvZyxTZT0vXFtcXSQvLGtlPS9ccj9cbi9nLEVlPS8jLiokLyxBZT0vXiguKj8pOlsgXHRdKihbXlxyXG5dKilccj8kL2dtLERlPS9eKD86Y29sb3J8ZGF0ZXxkYXRldGltZXxkYXRldGltZS1sb2NhbHxlbWFpbHxoaWRkZW58bW9udGh8bnVtYmVyfHBhc3N3b3JkfHJhbmdlfHNlYXJjaHx0ZWx8dGV4dHx0aW1lfHVybHx3ZWVrKSQvaSxMZT0vXig/OkdFVHxIRUFEKSQvLEZlPS9eXC9cLy8samU9L1w/LyxfZT0vPHNjcmlwdFxiW148XSooPzooPyE8XC9zY3JpcHQ+KTxbXjxdKikqPFwvc2NyaXB0Pi9naSxNZT0vXig/OnNlbGVjdHx0ZXh0YXJlYSkvaSxPZT0vXHMrLyxIZT0vKFs/Jl0pXz1bXiZdKi8sUGU9L14oW1x3XCtcLlwtXSs6KSg/OlwvXC8oW15cLz8jOl0qKSg/OjooXGQrKSk/KT8vLHFlPWkuZm4ubG9hZCxCZT17fSxXZT17fSxJZT1bIiovIl0rWyIqIl07dHJ5e1RlPXIuaHJlZn1jYXRjaChlKXsoVGU9dC5jcmVhdGVFbGVtZW50KCJhIikpLmhyZWY9IiIsVGU9VGUuaHJlZn1mdW5jdGlvbiAkZShlKXtyZXR1cm4gZnVuY3Rpb24odCxuKXtpZigic3RyaW5nIiE9dHlwZW9mIHQmJihuPXQsdD0iKiIpLGkuaXNGdW5jdGlvbihuKSlmb3IodmFyIHIsbyxhPXQudG9Mb3dlckNhc2UoKS5zcGxpdChPZSkscz0wLGw9YS5sZW5ndGg7czxsO3MrKylyPWFbc10sKG89L15cKy8udGVzdChyKSkmJihyPXIuc3Vic3RyKDEpfHwiKiIpLChlW3JdPWVbcl18fFtdKVtvPyJ1bnNoaWZ0IjoicHVzaCJdKG4pfX1mdW5jdGlvbiBSZShlLHQsbixyLGksbyl7KG89b3x8e30pW2k9aXx8dC5kYXRhVHlwZXNbMF1dPSEwO2Zvcih2YXIgYSxzPWVbaV0sbD0wLHU9cz9zLmxlbmd0aDowLGM9ZT09PUJlO2w8dSYmKGN8fCFhKTtsKyspInN0cmluZyI9PXR5cGVvZihhPXNbbF0odCxuLHIpKSYmKCFjfHxvW2FdP2E9dm9pZCAwOih0LmRhdGFUeXBlcy51bnNoaWZ0KGEpLGE9UmUoZSx0LG4scixhLG8pKSk7cmV0dXJuIWMmJmF8fG9bIioiXXx8KGE9UmUoZSx0LG4sciwiKiIsbykpLGF9ZnVuY3Rpb24gWGUoZSx0KXt2YXIgbixyLG89aS5hamF4U2V0dGluZ3MuZmxhdE9wdGlvbnN8fHt9O2ZvcihuIGluIHQpdm9pZCAwIT09dFtuXSYmKChvW25dP2U6cnx8KHI9e30pKVtuXT10W25dKTtyJiZpLmV4dGVuZCghMCxlLHIpfWZ1bmN0aW9uIHplKGUsdCxuLHIpe2lmKGkuaXNBcnJheSh0KSlpLmVhY2godCwoZnVuY3Rpb24odCxpKXtufHxTZS50ZXN0KGUpP3IoZSxpKTp6ZShlKyJbIisoIm9iamVjdCI9PXR5cGVvZiBpP3Q6IiIpKyJdIixpLG4scil9KSk7ZWxzZSBpZihufHwib2JqZWN0IiE9PWkudHlwZSh0KSlyKGUsdCk7ZWxzZSBmb3IodmFyIG8gaW4gdCl6ZShlKyJbIitvKyJdIix0W29dLG4scil9TmU9UGUuZXhlYyhUZS50b0xvd2VyQ2FzZSgpKXx8W10saS5mbi5leHRlbmQoe2xvYWQ6ZnVuY3Rpb24oZSx0LG4pe2lmKCJzdHJpbmciIT10eXBlb2YgZSYmcWUpcmV0dXJuIHFlLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtpZighdGhpcy5sZW5ndGgpcmV0dXJuIHRoaXM7dmFyIHI9ZS5pbmRleE9mKCIgIik7aWYocj49MCl7dmFyIG89ZS5zbGljZShyLGUubGVuZ3RoKTtlPWUuc2xpY2UoMCxyKX12YXIgYT0iR0VUIjt0JiYoaS5pc0Z1bmN0aW9uKHQpPyhuPXQsdD12b2lkIDApOiJvYmplY3QiPT10eXBlb2YgdCYmKHQ9aS5wYXJhbSh0LGkuYWpheFNldHRpbmdzLnRyYWRpdGlvbmFsKSxhPSJQT1NUIikpO3ZhciBzPXRoaXM7cmV0dXJuIGkuYWpheCh7dXJsOmUsdHlwZTphLGRhdGFUeXBlOiJodG1sIixkYXRhOnQsY29tcGxldGU6ZnVuY3Rpb24oZSx0LHIpe3I9ZS5yZXNwb25zZVRleHQsZS5pc1Jlc29sdmVkKCkmJihlLmRvbmUoKGZ1bmN0aW9uKGUpe3I9ZX0pKSxzLmh0bWwobz9pKCI8ZGl2PiIpLmFwcGVuZChyLnJlcGxhY2UoX2UsIiIpKS5maW5kKG8pOnIpKSwKbiYmcy5lYWNoKG4sW3IsdCxlXSl9fSksdGhpc30sc2VyaWFsaXplOmZ1bmN0aW9uKCl7cmV0dXJuIGkucGFyYW0odGhpcy5zZXJpYWxpemVBcnJheSgpKX0sc2VyaWFsaXplQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudHM/aS5tYWtlQXJyYXkodGhpcy5lbGVtZW50cyk6dGhpc30pKS5maWx0ZXIoKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmFtZSYmIXRoaXMuZGlzYWJsZWQmJih0aGlzLmNoZWNrZWR8fE1lLnRlc3QodGhpcy5ub2RlTmFtZSl8fERlLnRlc3QodGhpcy50eXBlKSl9KSkubWFwKChmdW5jdGlvbihlLHQpe3ZhciBuPWkodGhpcykudmFsKCk7cmV0dXJuIG51bGw9PW4/bnVsbDppLmlzQXJyYXkobik/aS5tYXAobiwoZnVuY3Rpb24oZSxuKXtyZXR1cm57bmFtZTp0Lm5hbWUsdmFsdWU6ZS5yZXBsYWNlKGtlLCJcclxuIil9fSkpOntuYW1lOnQubmFtZSx2YWx1ZTpuLnJlcGxhY2Uoa2UsIlxyXG4iKX19KSkuZ2V0KCl9fSksaS5lYWNoKCJhamF4U3RhcnQgYWpheFN0b3AgYWpheENvbXBsZXRlIGFqYXhFcnJvciBhamF4U3VjY2VzcyBhamF4U2VuZCIuc3BsaXQoIiAiKSwoZnVuY3Rpb24oZSx0KXtpLmZuW3RdPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLm9uKHQsZSl9fSkpLGkuZWFjaChbImdldCIsInBvc3QiXSwoZnVuY3Rpb24oZSx0KXtpW3RdPWZ1bmN0aW9uKGUsbixyLG8pe3JldHVybiBpLmlzRnVuY3Rpb24obikmJihvPW98fHIscj1uLG49dm9pZCAwKSxpLmFqYXgoe3R5cGU6dCx1cmw6ZSxkYXRhOm4sc3VjY2VzczpyLGRhdGFUeXBlOm99KX19KSksaS5leHRlbmQoe2dldFNjcmlwdDpmdW5jdGlvbihlLHQpe3JldHVybiBpLmdldChlLHZvaWQgMCx0LCJzY3JpcHQiKX0sZ2V0SlNPTjpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGkuZ2V0KGUsdCxuLCJqc29uIil9LGFqYXhTZXR1cDpmdW5jdGlvbihlLHQpe3JldHVybiB0P1hlKGUsaS5hamF4U2V0dGluZ3MpOih0PWUsZT1pLmFqYXhTZXR0aW5ncyksWGUoZSx0KSxlfSxhamF4U2V0dGluZ3M6e3VybDpUZSxpc0xvY2FsOi9eKD86YWJvdXR8YXBwfGFwcFwtc3RvcmFnZXwuK1wtZXh0ZW5zaW9ufGZpbGV8cmVzfHdpZGdldCk6JC8udGVzdChOZVsxXSksZ2xvYmFsOiEwLHR5cGU6IkdFVCIsY29udGVudFR5cGU6ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDsgY2hhcnNldD1VVEYtOCIscHJvY2Vzc0RhdGE6ITAsYXN5bmM6ITAsYWNjZXB0czp7eG1sOiJhcHBsaWNhdGlvbi94bWwsIHRleHQveG1sIixodG1sOiJ0ZXh0L2h0bWwiLHRleHQ6InRleHQvcGxhaW4iLGpzb246ImFwcGxpY2F0aW9uL2pzb24sIHRleHQvamF2YXNjcmlwdCIsIioiOkllfSxjb250ZW50czp7eG1sOi94bWwvLGh0bWw6L2h0bWwvLGpzb246L2pzb24vfSxyZXNwb25zZUZpZWxkczp7eG1sOiJyZXNwb25zZVhNTCIsdGV4dDoicmVzcG9uc2VUZXh0In0sY29udmVydGVyczp7IiogdGV4dCI6d2luZG93LlN0cmluZywidGV4dCBodG1sIjohMCwidGV4dCBqc29uIjppLnBhcnNlSlNPTiwidGV4dCB4bWwiOmkucGFyc2VYTUx9LGZsYXRPcHRpb25zOntjb250ZXh0OiEwLHVybDohMH19LGFqYXhQcmVmaWx0ZXI6JGUoQmUpLGFqYXhUcmFuc3BvcnQ6JGUoV2UpLGFqYXg6ZnVuY3Rpb24oZSx0KXsib2JqZWN0Ij09dHlwZW9mIGUmJih0PWUsZT12b2lkIDApLHQ9dHx8e307dmFyIG4scixvLGEscyxsLHUsYyxmPWkuYWpheFNldHVwKHt9LHQpLGQ9Zi5jb250ZXh0fHxmLHA9ZCE9PWYmJihkLm5vZGVUeXBlfHxkIGluc3RhbmNlb2YgaSk/aShkKTppLmV2ZW50LGg9aS5EZWZlcnJlZCgpLG09aS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksZz1mLnN0YXR1c0NvZGV8fHt9LHY9e30seT17fSxiPTAseD17cmVhZHlTdGF0ZTowLHNldFJlcXVlc3RIZWFkZXI6ZnVuY3Rpb24oZSx0KXtpZighYil7dmFyIG49ZS50b0xvd2VyQ2FzZSgpO2U9eVtuXT15W25dfHxlLHZbZV09dH1yZXR1cm4gdGhpc30sZ2V0QWxsUmVzcG9uc2VIZWFkZXJzOmZ1bmN0aW9uKCl7cmV0dXJuIDI9PT1iP3I6bnVsbH0sZ2V0UmVzcG9uc2VIZWFkZXI6ZnVuY3Rpb24oZSl7dmFyIHQ7aWYoMj09PWIpe2lmKCFvKWZvcihvPXt9O3Q9QWUuZXhlYyhyKTspb1t0WzFdLnRvTG93ZXJDYXNlKCldPXRbMl07dD1vW2UudG9Mb3dlckNhc2UoKV19cmV0dXJuIHZvaWQgMD09PXQ/bnVsbDp0fSxvdmVycmlkZU1pbWVUeXBlOmZ1bmN0aW9uKGUpe3JldHVybiBifHwoZi5taW1lVHlwZT1lKSx0aGlzfSxhYm9ydDpmdW5jdGlvbihlKXtyZXR1cm4gZT1lfHwiYWJvcnQiLGEmJmEuYWJvcnQoZSksdygwLGUpLHRoaXN9fTtmdW5jdGlvbiB3KGUsdCxvLGwpe2lmKDIhPT1iKXtiPTIscyYmY2xlYXJUaW1lb3V0KHMpLGE9dm9pZCAwLHI9bHx8IiIseC5yZWFkeVN0YXRlPWU+MD80OjA7dmFyIGMsdix5LHcsVCxOPXQsQz1vP2Z1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYSxzPWUuY29udGVudHMsbD1lLmRhdGFUeXBlcyx1PWUucmVzcG9uc2VGaWVsZHM7Zm9yKGkgaW4gdSlpIGluIG4mJih0W3VbaV1dPW5baV0pO2Zvcig7IioiPT09bFswXTspbC5zaGlmdCgpLHZvaWQgMD09PXImJihyPWUubWltZVR5cGV8fHQuZ2V0UmVzcG9uc2VIZWFkZXIoImNvbnRlbnQtdHlwZSIpKTtpZihyKWZvcihpIGluIHMpaWYoc1tpXSYmc1tpXS50ZXN0KHIpKXtsLnVuc2hpZnQoaSk7YnJlYWt9aWYobFswXWluIG4pbz1sWzBdO2Vsc2V7Zm9yKGkgaW4gbil7aWYoIWxbMF18fGUuY29udmVydGVyc1tpKyIgIitsWzBdXSl7bz1pO2JyZWFrfWF8fChhPWkpfW89b3x8YX1pZihvKXJldHVybiBvIT09bFswXSYmbC51bnNoaWZ0KG8pLG5bb119KGYseCxvKTp2b2lkIDA7aWYoZT49MjAwJiZlPDMwMHx8MzA0PT09ZSlpZihmLmlmTW9kaWZpZWQmJigodz14LmdldFJlc3BvbnNlSGVhZGVyKCJMYXN0LU1vZGlmaWVkIikpJiYoaS5sYXN0TW9kaWZpZWRbbl09dyksKFQ9eC5nZXRSZXNwb25zZUhlYWRlcigiRXRhZyIpKSYmKGkuZXRhZ1tuXT1UKSksMzA0PT09ZSlOPSJub3Rtb2RpZmllZCIsYz0hMDtlbHNlIHRyeXt2PWZ1bmN0aW9uKGUsdCl7CmUuZGF0YUZpbHRlciYmKHQ9ZS5kYXRhRmlsdGVyKHQsZS5kYXRhVHlwZSkpO3ZhciBuLHIsbyxhLHMsbCx1LGMsZj1lLmRhdGFUeXBlcyxkPXt9LHA9Zi5sZW5ndGgsaD1mWzBdO2ZvcihuPTE7bjxwO24rKyl7aWYoMT09PW4pZm9yKHIgaW4gZS5jb252ZXJ0ZXJzKSJzdHJpbmciPT10eXBlb2YgciYmKGRbci50b0xvd2VyQ2FzZSgpXT1lLmNvbnZlcnRlcnNbcl0pO2lmKGE9aCwiKiI9PT0oaD1mW25dKSloPWE7ZWxzZSBpZigiKiIhPT1hJiZhIT09aCl7aWYoIShsPWRbcz1hKyIgIitoXXx8ZFsiKiAiK2hdKSlmb3IodSBpbiBjPXZvaWQgMCxkKWlmKCgobz11LnNwbGl0KCIgIikpWzBdPT09YXx8IioiPT09b1swXSkmJihjPWRbb1sxXSsiICIraF0pKXshMD09PSh1PWRbdV0pP2w9YzohMD09PWMmJihsPXUpO2JyZWFrfWx8fGN8fGkuZXJyb3IoIk5vIGNvbnZlcnNpb24gZnJvbSAiK3MucmVwbGFjZSgiICIsIiB0byAiKSksITAhPT1sJiYodD1sP2wodCk6Yyh1KHQpKSl9fXJldHVybiB0fShmLEMpLE49InN1Y2Nlc3MiLGM9ITB9Y2F0Y2goZSl7Tj0icGFyc2VyZXJyb3IiLHk9ZX1lbHNlIHk9TixOJiYhZXx8KE49ImVycm9yIixlPDAmJihlPTApKTt4LnN0YXR1cz1lLHguc3RhdHVzVGV4dD0iIisodHx8TiksYz9oLnJlc29sdmVXaXRoKGQsW3YsTix4XSk6aC5yZWplY3RXaXRoKGQsW3gsTix5XSkseC5zdGF0dXNDb2RlKGcpLGc9dm9pZCAwLHUmJnAudHJpZ2dlcigiYWpheCIrKGM/IlN1Y2Nlc3MiOiJFcnJvciIpLFt4LGYsYz92OnldKSxtLmZpcmVXaXRoKGQsW3gsTl0pLHUmJihwLnRyaWdnZXIoImFqYXhDb21wbGV0ZSIsW3gsZl0pLC0taS5hY3RpdmV8fGkuZXZlbnQudHJpZ2dlcigiYWpheFN0b3AiKSl9fWlmKGgucHJvbWlzZSh4KSx4LnN1Y2Nlc3M9eC5kb25lLHguZXJyb3I9eC5mYWlsLHguY29tcGxldGU9bS5hZGQseC5zdGF0dXNDb2RlPWZ1bmN0aW9uKGUpe3ZhciB0O2lmKGUpaWYoYjwyKWZvcih0IGluIGUpZ1t0XT1bZ1t0XSxlW3RdXTtlbHNlIHQ9ZVt4LnN0YXR1c10seC50aGVuKHQsdCk7cmV0dXJuIHRoaXN9LGYudXJsPSgoZXx8Zi51cmwpKyIiKS5yZXBsYWNlKEVlLCIiKS5yZXBsYWNlKEZlLE5lWzFdKyIvLyIpLGYuZGF0YVR5cGVzPWkudHJpbShmLmRhdGFUeXBlfHwiKiIpLnRvTG93ZXJDYXNlKCkuc3BsaXQoT2UpLG51bGw9PWYuY3Jvc3NEb21haW4mJihsPVBlLmV4ZWMoZi51cmwudG9Mb3dlckNhc2UoKSksZi5jcm9zc0RvbWFpbj0hKCFsfHxsWzFdPT1OZVsxXSYmbFsyXT09TmVbMl0mJihsWzNdfHwoImh0dHA6Ij09PWxbMV0/ODA6NDQzKSk9PShOZVszXXx8KCJodHRwOiI9PT1OZVsxXT84MDo0NDMpKSkpLGYuZGF0YSYmZi5wcm9jZXNzRGF0YSYmInN0cmluZyIhPXR5cGVvZiBmLmRhdGEmJihmLmRhdGE9aS5wYXJhbShmLmRhdGEsZi50cmFkaXRpb25hbCkpLFJlKEJlLGYsdCx4KSwyPT09YilyZXR1cm4hMTtpZih1PWYuZ2xvYmFsLGYudHlwZT1mLnR5cGUudG9VcHBlckNhc2UoKSxmLmhhc0NvbnRlbnQ9IUxlLnRlc3QoZi50eXBlKSx1JiYwPT1pLmFjdGl2ZSsrJiZpLmV2ZW50LnRyaWdnZXIoImFqYXhTdGFydCIpLCFmLmhhc0NvbnRlbnQmJihmLmRhdGEmJihmLnVybCs9KGplLnRlc3QoZi51cmwpPyImIjoiPyIpK2YuZGF0YSxkZWxldGUgZi5kYXRhKSxuPWYudXJsLCExPT09Zi5jYWNoZSkpe3ZhciBUPWkubm93KCksTj1mLnVybC5yZXBsYWNlKEhlLCIkMV89IitUKTtmLnVybD1OKyhOPT09Zi51cmw/KGplLnRlc3QoZi51cmwpPyImIjoiPyIpKyJfPSIrVDoiIil9Zm9yKGMgaW4oZi5kYXRhJiZmLmhhc0NvbnRlbnQmJiExIT09Zi5jb250ZW50VHlwZXx8dC5jb250ZW50VHlwZSkmJnguc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIixmLmNvbnRlbnRUeXBlKSxmLmlmTW9kaWZpZWQmJihuPW58fGYudXJsLGkubGFzdE1vZGlmaWVkW25dJiZ4LnNldFJlcXVlc3RIZWFkZXIoIklmLU1vZGlmaWVkLVNpbmNlIixpLmxhc3RNb2RpZmllZFtuXSksaS5ldGFnW25dJiZ4LnNldFJlcXVlc3RIZWFkZXIoIklmLU5vbmUtTWF0Y2giLGkuZXRhZ1tuXSkpLHguc2V0UmVxdWVzdEhlYWRlcigiQWNjZXB0IixmLmRhdGFUeXBlc1swXSYmZi5hY2NlcHRzW2YuZGF0YVR5cGVzWzBdXT9mLmFjY2VwdHNbZi5kYXRhVHlwZXNbMF1dKygiKiIhPT1mLmRhdGFUeXBlc1swXT8iLCAiK0llKyI7IHE9MC4wMSI6IiIpOmYuYWNjZXB0c1siKiJdKSxmLmhlYWRlcnMpeC5zZXRSZXF1ZXN0SGVhZGVyKGMsZi5oZWFkZXJzW2NdKTtpZihmLmJlZm9yZVNlbmQmJighMT09PWYuYmVmb3JlU2VuZC5jYWxsKGQseCxmKXx8Mj09PWIpKXJldHVybiB4LmFib3J0KCksITE7Zm9yKGMgaW57c3VjY2VzczoxLGVycm9yOjEsY29tcGxldGU6MX0peFtjXShmW2NdKTtpZihhPVJlKFdlLGYsdCx4KSl7eC5yZWFkeVN0YXRlPTEsdSYmcC50cmlnZ2VyKCJhamF4U2VuZCIsW3gsZl0pLGYuYXN5bmMmJmYudGltZW91dD4wJiYocz1zZXRUaW1lb3V0KChmdW5jdGlvbigpe3guYWJvcnQoInRpbWVvdXQiKX0pLGYudGltZW91dCkpO3RyeXtiPTEsYS5zZW5kKHYsdyl9Y2F0Y2goZSl7aWYoIShiPDIpKXRocm93IGU7dygtMSxlKX19ZWxzZSB3KC0xLCJObyBUcmFuc3BvcnQiKTtyZXR1cm4geH0scGFyYW06ZnVuY3Rpb24oZSx0KXt2YXIgbj1bXSxyPWZ1bmN0aW9uKGUsdCl7dD1pLmlzRnVuY3Rpb24odCk/dCgpOnQsbltuLmxlbmd0aF09ZW5jb2RlVVJJQ29tcG9uZW50KGUpKyI9IitlbmNvZGVVUklDb21wb25lbnQodCl9O2lmKHZvaWQgMD09PXQmJih0PWkuYWpheFNldHRpbmdzLnRyYWRpdGlvbmFsKSxpLmlzQXJyYXkoZSl8fGUuanF1ZXJ5JiYhaS5pc1BsYWluT2JqZWN0KGUpKWkuZWFjaChlLChmdW5jdGlvbigpe3IodGhpcy5uYW1lLHRoaXMudmFsdWUpfSkpO2Vsc2UgZm9yKHZhciBvIGluIGUpemUobyxlW29dLHQscik7cmV0dXJuIG4uam9pbigiJiIpLnJlcGxhY2UoQ2UsIisiKX19KSxpLmV4dGVuZCh7YWN0aXZlOjAsbGFzdE1vZGlmaWVkOnt9LGV0YWc6e319KTt2YXIgVmUsVWUsWWU9ISF3aW5kb3cuQWN0aXZlWE9iamVjdCYmZnVuY3Rpb24oKXtmb3IodmFyIGUgaW4gVmUpVmVbZV0oMCwxKX0sSmU9MAo7ZnVuY3Rpb24gR2UoKXt0cnl7cmV0dXJuIG5ldyB3aW5kb3cuWE1MSHR0cFJlcXVlc3R9Y2F0Y2goZSl7fX1pLmFqYXhTZXR0aW5ncy54aHI9d2luZG93LkFjdGl2ZVhPYmplY3Q/ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5pc0xvY2FsJiZHZSgpfHxmdW5jdGlvbigpe3RyeXtyZXR1cm4gbmV3IHdpbmRvdy5BY3RpdmVYT2JqZWN0KCJNaWNyb3NvZnQuWE1MSFRUUCIpfWNhdGNoKGUpe319KCl9OkdlLFVlPWkuYWpheFNldHRpbmdzLnhocigpLGkuZXh0ZW5kKGkuc3VwcG9ydCx7YWpheDohIVVlLGNvcnM6ISFVZSYmIndpdGhDcmVkZW50aWFscyJpbiBVZX0pLGkuc3VwcG9ydC5hamF4JiZpLmFqYXhUcmFuc3BvcnQoKGZ1bmN0aW9uKGUpe3ZhciB0O2lmKCFlLmNyb3NzRG9tYWlufHxpLnN1cHBvcnQuY29ycylyZXR1cm57c2VuZDpmdW5jdGlvbihuLHIpe3ZhciBvLGEscz1lLnhocigpO2lmKGUudXNlcm5hbWU/cy5vcGVuKGUudHlwZSxlLnVybCxlLmFzeW5jLGUudXNlcm5hbWUsZS5wYXNzd29yZCk6cy5vcGVuKGUudHlwZSxlLnVybCxlLmFzeW5jKSxlLnhockZpZWxkcylmb3IoYSBpbiBlLnhockZpZWxkcylzW2FdPWUueGhyRmllbGRzW2FdO2UubWltZVR5cGUmJnMub3ZlcnJpZGVNaW1lVHlwZSYmcy5vdmVycmlkZU1pbWVUeXBlKGUubWltZVR5cGUpLGUuY3Jvc3NEb21haW58fG5bIlgtUmVxdWVzdGVkLVdpdGgiXXx8KG5bIlgtUmVxdWVzdGVkLVdpdGgiXT0iWE1MSHR0cFJlcXVlc3QiKTt0cnl7Zm9yKGEgaW4gbilzLnNldFJlcXVlc3RIZWFkZXIoYSxuW2FdKX1jYXRjaChlKXt9cy5zZW5kKGUuaGFzQ29udGVudCYmZS5kYXRhfHxudWxsKSx0PWZ1bmN0aW9uKG4sYSl7dmFyIGwsdSxjLGYsZDt0cnl7aWYodCYmKGF8fDQ9PT1zLnJlYWR5U3RhdGUpKWlmKHQ9dm9pZCAwLG8mJihzLm9ucmVhZHlzdGF0ZWNoYW5nZT1pLm5vb3AsWWUmJmRlbGV0ZSBWZVtvXSksYSk0IT09cy5yZWFkeVN0YXRlJiZzLmFib3J0KCk7ZWxzZXtsPXMuc3RhdHVzLGM9cy5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSxmPXt9LChkPXMucmVzcG9uc2VYTUwpJiZkLmRvY3VtZW50RWxlbWVudCYmKGYueG1sPWQpO3RyeXtmLnRleHQ9cy5yZXNwb25zZVRleHR9Y2F0Y2gobil7fXRyeXt1PXMuc3RhdHVzVGV4dH1jYXRjaChlKXt1PSIifWx8fCFlLmlzTG9jYWx8fGUuY3Jvc3NEb21haW4/MTIyMz09PWwmJihsPTIwNCk6bD1mLnRleHQ/MjAwOjQwNH19Y2F0Y2goZSl7YXx8cigtMSxlKX1mJiZyKGwsdSxmLGMpfSxlLmFzeW5jJiY0IT09cy5yZWFkeVN0YXRlPyhvPSsrSmUsWWUmJihWZXx8KFZlPXt9LGkod2luZG93KS51bmxvYWQoWWUpKSxWZVtvXT10KSxzLm9ucmVhZHlzdGF0ZWNoYW5nZT10KTp0KCl9LGFib3J0OmZ1bmN0aW9uKCl7dCYmdCgwLDEpfX19KSk7dmFyIEtlLFFlLFplLGV0LHR0PXt9LG50PS9eKD86dG9nZ2xlfHNob3d8aGlkZSkkLyxydD0vXihbK1wtXT0pPyhbXGQrLlwtXSspKFthLXolXSopJC9pLGl0PVtbImhlaWdodCIsIm1hcmdpblRvcCIsIm1hcmdpbkJvdHRvbSIsInBhZGRpbmdUb3AiLCJwYWRkaW5nQm90dG9tIl0sWyJ3aWR0aCIsIm1hcmdpbkxlZnQiLCJtYXJnaW5SaWdodCIsInBhZGRpbmdMZWZ0IiwicGFkZGluZ1JpZ2h0Il0sWyJvcGFjaXR5Il1dO2Z1bmN0aW9uIG90KCl7cmV0dXJuIHNldFRpbWVvdXQoYXQsMCksZXQ9aS5ub3coKX1mdW5jdGlvbiBhdCgpe2V0PXZvaWQgMH1mdW5jdGlvbiBzdChlLHQpe3ZhciBuPXt9O3JldHVybiBpLmVhY2goaXQuY29uY2F0LmFwcGx5KFtdLGl0LnNsaWNlKDAsdCkpLChmdW5jdGlvbigpe25bdGhpc109ZX0pKSxufWZ1bmN0aW9uIGx0KGUpe2lmKCF0dFtlXSl7dmFyIG49dC5ib2R5LHI9aSgiPCIrZSsiPiIpLmFwcGVuZFRvKG4pLG89ci5jc3MoImRpc3BsYXkiKTtyLnJlbW92ZSgpLCJub25lIiE9PW8mJiIiIT09b3x8KEtlfHwoKEtlPXQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIikpLmZyYW1lQm9yZGVyPUtlLndpZHRoPUtlLmhlaWdodD0wKSxuLmFwcGVuZENoaWxkKEtlKSxRZSYmS2UuY3JlYXRlRWxlbWVudHx8KChRZT0oS2UuY29udGVudFdpbmRvd3x8S2UuY29udGVudERvY3VtZW50KS5kb2N1bWVudCkud3JpdGUoKGkuc3VwcG9ydC5ib3hNb2RlbD8iPCFkb2N0eXBlIGh0bWw+IjoiIikrIjxodG1sPjxib2R5PiIpLFFlLmNsb3NlKCkpLHI9UWUuY3JlYXRlRWxlbWVudChlKSxRZS5ib2R5LmFwcGVuZENoaWxkKHIpLG89aS5jc3MociwiZGlzcGxheSIpLG4ucmVtb3ZlQ2hpbGQoS2UpKSx0dFtlXT1vfXJldHVybiB0dFtlXX1pLmZuLmV4dGVuZCh7c2hvdzpmdW5jdGlvbihlLHQsbil7dmFyIHIsbztpZihlfHwwPT09ZSlyZXR1cm4gdGhpcy5hbmltYXRlKHN0KCJzaG93IiwzKSxlLHQsbik7Zm9yKHZhciBhPTAscz10aGlzLmxlbmd0aDthPHM7YSsrKShyPXRoaXNbYV0pLnN0eWxlJiYobz1yLnN0eWxlLmRpc3BsYXksaS5fZGF0YShyLCJvbGRkaXNwbGF5Iil8fCJub25lIiE9PW98fChvPXIuc3R5bGUuZGlzcGxheT0iIiksKCIiPT09byYmIm5vbmUiPT09aS5jc3MociwiZGlzcGxheSIpfHwhaS5jb250YWlucyhyLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHIpKSYmaS5fZGF0YShyLCJvbGRkaXNwbGF5IixsdChyLm5vZGVOYW1lKSkpO2ZvcihhPTA7YTxzO2ErKykocj10aGlzW2FdKS5zdHlsZSYmKCIiIT09KG89ci5zdHlsZS5kaXNwbGF5KSYmIm5vbmUiIT09b3x8KHIuc3R5bGUuZGlzcGxheT1pLl9kYXRhKHIsIm9sZGRpc3BsYXkiKXx8IiIpKTtyZXR1cm4gdGhpc30saGlkZTpmdW5jdGlvbihlLHQsbil7aWYoZXx8MD09PWUpcmV0dXJuIHRoaXMuYW5pbWF0ZShzdCgiaGlkZSIsMyksZSx0LG4pO2Zvcih2YXIgcixvLGE9MCxzPXRoaXMubGVuZ3RoO2E8czthKyspKHI9dGhpc1thXSkuc3R5bGUmJigibm9uZSI9PT0obz1pLmNzcyhyLCJkaXNwbGF5IikpfHxpLl9kYXRhKHIsIm9sZGRpc3BsYXkiKXx8aS5fZGF0YShyLCJvbGRkaXNwbGF5IixvKSk7Zm9yKGE9MDthPHM7YSsrKXRoaXNbYV0uc3R5bGUmJih0aGlzW2FdLnN0eWxlLmRpc3BsYXk9Im5vbmUiKTtyZXR1cm4gdGhpc30sX3RvZ2dsZTppLmZuLnRvZ2dsZSwKdG9nZ2xlOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj0iYm9vbGVhbiI9PXR5cGVvZiBlO3JldHVybiBpLmlzRnVuY3Rpb24oZSkmJmkuaXNGdW5jdGlvbih0KT90aGlzLl90b2dnbGUuYXBwbHkodGhpcyxhcmd1bWVudHMpOm51bGw9PWV8fHI/dGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciB0PXI/ZTppKHRoaXMpLmlzKCI6aGlkZGVuIik7aSh0aGlzKVt0PyJzaG93IjoiaGlkZSJdKCl9KSk6dGhpcy5hbmltYXRlKHN0KCJ0b2dnbGUiLDMpLGUsdCxuKSx0aGlzfSxmYWRlVG86ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIHRoaXMuZmlsdGVyKCI6aGlkZGVuIikuY3NzKCJvcGFjaXR5IiwwKS5zaG93KCkuZW5kKCkuYW5pbWF0ZSh7b3BhY2l0eTp0fSxlLG4scil9LGFuaW1hdGU6ZnVuY3Rpb24oZSx0LG4scil7dmFyIG89aS5zcGVlZCh0LG4scik7aWYoaS5pc0VtcHR5T2JqZWN0KGUpKXJldHVybiB0aGlzLmVhY2goby5jb21wbGV0ZSxbITFdKTtmdW5jdGlvbiBhKCl7ITE9PT1vLnF1ZXVlJiZpLl9tYXJrKHRoaXMpO3ZhciB0LG4scixhLHMsbCx1LGMsZixkLHAsaD1pLmV4dGVuZCh7fSxvKSxtPTE9PT10aGlzLm5vZGVUeXBlLGc9bSYmaSh0aGlzKS5pcygiOmhpZGRlbiIpO2ZvcihyIGluIGguYW5pbWF0ZWRQcm9wZXJ0aWVzPXt9LGUpaWYociE9PSh0PWkuY2FtZWxDYXNlKHIpKSYmKGVbdF09ZVtyXSxkZWxldGUgZVtyXSksKHM9aS5jc3NIb29rc1t0XSkmJiJleHBhbmQiaW4gcylmb3IociBpbiBsPXMuZXhwYW5kKGVbdF0pLGRlbGV0ZSBlW3RdLGwpciBpbiBlfHwoZVtyXT1sW3JdKTtmb3IodCBpbiBlKXtpZihuPWVbdF0saS5pc0FycmF5KG4pPyhoLmFuaW1hdGVkUHJvcGVydGllc1t0XT1uWzFdLG49ZVt0XT1uWzBdKTpoLmFuaW1hdGVkUHJvcGVydGllc1t0XT1oLnNwZWNpYWxFYXNpbmcmJmguc3BlY2lhbEVhc2luZ1t0XXx8aC5lYXNpbmd8fCJzd2luZyIsImhpZGUiPT09biYmZ3x8InNob3ciPT09biYmIWcpcmV0dXJuIGguY29tcGxldGUuY2FsbCh0aGlzKTshbXx8ImhlaWdodCIhPT10JiYid2lkdGgiIT09dHx8KGgub3ZlcmZsb3c9W3RoaXMuc3R5bGUub3ZlcmZsb3csdGhpcy5zdHlsZS5vdmVyZmxvd1gsdGhpcy5zdHlsZS5vdmVyZmxvd1ldLCJpbmxpbmUiPT09aS5jc3ModGhpcywiZGlzcGxheSIpJiYibm9uZSI9PT1pLmNzcyh0aGlzLCJmbG9hdCIpJiYoaS5zdXBwb3J0LmlubGluZUJsb2NrTmVlZHNMYXlvdXQmJiJpbmxpbmUiIT09bHQodGhpcy5ub2RlTmFtZSk/dGhpcy5zdHlsZS56b29tPTE6dGhpcy5zdHlsZS5kaXNwbGF5PSJpbmxpbmUtYmxvY2siKSl9Zm9yKHIgaW4gbnVsbCE9aC5vdmVyZmxvdyYmKHRoaXMuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIpLGUpYT1uZXcgaS5meCh0aGlzLGgsciksbj1lW3JdLG50LnRlc3Qobik/KHA9aS5fZGF0YSh0aGlzLCJ0b2dnbGUiK3IpfHwoInRvZ2dsZSI9PT1uP2c/InNob3ciOiJoaWRlIjowKSk/KGkuX2RhdGEodGhpcywidG9nZ2xlIityLCJzaG93Ij09PXA/ImhpZGUiOiJzaG93IiksYVtwXSgpKTphW25dKCk6KHU9cnQuZXhlYyhuKSxjPWEuY3VyKCksdT8oZj1wYXJzZUZsb2F0KHVbMl0pLCJweCIhPT0oZD11WzNdfHwoaS5jc3NOdW1iZXJbcl0/IiI6InB4IikpJiYoaS5zdHlsZSh0aGlzLHIsKGZ8fDEpK2QpLGM9KGZ8fDEpL2EuY3VyKCkqYyxpLnN0eWxlKHRoaXMscixjK2QpKSx1WzFdJiYoZj0oIi09Ij09PXVbMV0/LTE6MSkqZitjKSxhLmN1c3RvbShjLGYsZCkpOmEuY3VzdG9tKGMsbiwiIikpO3JldHVybiEwfXJldHVybiBlPWkuZXh0ZW5kKHt9LGUpLCExPT09by5xdWV1ZT90aGlzLmVhY2goYSk6dGhpcy5xdWV1ZShvLnF1ZXVlLGEpfSxzdG9wOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGUmJihuPXQsdD1lLGU9dm9pZCAwKSx0JiYhMSE9PWUmJnRoaXMucXVldWUoZXx8ImZ4IixbXSksdGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciB0LHI9ITEsbz1pLnRpbWVycyxhPWkuX2RhdGEodGhpcyk7ZnVuY3Rpb24gcyhlLHQscil7dmFyIG89dFtyXTtpLnJlbW92ZURhdGEoZSxyLCEwKSxvLnN0b3Aobil9aWYobnx8aS5fdW5tYXJrKCEwLHRoaXMpLG51bGw9PWUpZm9yKHQgaW4gYSlhW3RdJiZhW3RdLnN0b3AmJnQuaW5kZXhPZigiLnJ1biIpPT09dC5sZW5ndGgtNCYmcyh0aGlzLGEsdCk7ZWxzZSBhW3Q9ZSsiLnJ1biJdJiZhW3RdLnN0b3AmJnModGhpcyxhLHQpO2Zvcih0PW8ubGVuZ3RoO3QtLTspb1t0XS5lbGVtIT09dGhpc3x8bnVsbCE9ZSYmb1t0XS5xdWV1ZSE9PWV8fChuP29bdF0oITApOm9bdF0uc2F2ZVN0YXRlKCkscj0hMCxvLnNwbGljZSh0LDEpKTtuJiZyfHxpLmRlcXVldWUodGhpcyxlKX0pKX19KSxpLmVhY2goe3NsaWRlRG93bjpzdCgic2hvdyIsMSksc2xpZGVVcDpzdCgiaGlkZSIsMSksc2xpZGVUb2dnbGU6c3QoInRvZ2dsZSIsMSksZmFkZUluOntvcGFjaXR5OiJzaG93In0sZmFkZU91dDp7b3BhY2l0eToiaGlkZSJ9LGZhZGVUb2dnbGU6e29wYWNpdHk6InRvZ2dsZSJ9fSwoZnVuY3Rpb24oZSx0KXtpLmZuW2VdPWZ1bmN0aW9uKGUsbixyKXtyZXR1cm4gdGhpcy5hbmltYXRlKHQsZSxuLHIpfX0pKSxpLmV4dGVuZCh7c3BlZWQ6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWUmJiJvYmplY3QiPT10eXBlb2YgZT9pLmV4dGVuZCh7fSxlKTp7Y29tcGxldGU6bnx8IW4mJnR8fGkuaXNGdW5jdGlvbihlKSYmZSxkdXJhdGlvbjplLGVhc2luZzpuJiZ0fHx0JiYhaS5pc0Z1bmN0aW9uKHQpJiZ0fTtyZXR1cm4gci5kdXJhdGlvbj1pLmZ4Lm9mZj8wOiJudW1iZXIiPT10eXBlb2Ygci5kdXJhdGlvbj9yLmR1cmF0aW9uOnIuZHVyYXRpb24gaW4gaS5meC5zcGVlZHM/aS5meC5zcGVlZHNbci5kdXJhdGlvbl06aS5meC5zcGVlZHMuX2RlZmF1bHQsbnVsbCE9ci5xdWV1ZSYmITAhPT1yLnF1ZXVlfHwoci5xdWV1ZT0iZngiKSxyLm9sZD1yLmNvbXBsZXRlLHIuY29tcGxldGU9ZnVuY3Rpb24oZSl7aS5pc0Z1bmN0aW9uKHIub2xkKSYmci5vbGQuY2FsbCh0aGlzKSxyLnF1ZXVlP2kuZGVxdWV1ZSh0aGlzLHIucXVldWUpOiExIT09ZSYmaS5fdW5tYXJrKHRoaXMpfSxyfSxlYXNpbmc6ewpsaW5lYXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGV9LHN3aW5nOmZ1bmN0aW9uKGUpe3JldHVybi1NYXRoLmNvcyhlKk1hdGguUEkpLzIrLjV9fSx0aW1lcnM6W10sZng6ZnVuY3Rpb24oZSx0LG4pe3RoaXMub3B0aW9ucz10LHRoaXMuZWxlbT1lLHRoaXMucHJvcD1uLHQub3JpZz10Lm9yaWd8fHt9fX0pLGkuZngucHJvdG90eXBlPXt1cGRhdGU6ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMuc3RlcCYmdGhpcy5vcHRpb25zLnN0ZXAuY2FsbCh0aGlzLmVsZW0sdGhpcy5ub3csdGhpcyksKGkuZnguc3RlcFt0aGlzLnByb3BdfHxpLmZ4LnN0ZXAuX2RlZmF1bHQpKHRoaXMpfSxjdXI6ZnVuY3Rpb24oKXtpZihudWxsIT10aGlzLmVsZW1bdGhpcy5wcm9wXSYmKCF0aGlzLmVsZW0uc3R5bGV8fG51bGw9PXRoaXMuZWxlbS5zdHlsZVt0aGlzLnByb3BdKSlyZXR1cm4gdGhpcy5lbGVtW3RoaXMucHJvcF07dmFyIGUsdD1pLmNzcyh0aGlzLmVsZW0sdGhpcy5wcm9wKTtyZXR1cm4gaXNOYU4oZT1wYXJzZUZsb2F0KHQpKT90JiYiYXV0byIhPT10P3Q6MDplfSxjdXN0b206ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXRoaXMsbz1pLmZ4O2Z1bmN0aW9uIGEoZSl7cmV0dXJuIHIuc3RlcChlKX10aGlzLnN0YXJ0VGltZT1ldHx8b3QoKSx0aGlzLmVuZD10LHRoaXMubm93PXRoaXMuc3RhcnQ9ZSx0aGlzLnBvcz10aGlzLnN0YXRlPTAsdGhpcy51bml0PW58fHRoaXMudW5pdHx8KGkuY3NzTnVtYmVyW3RoaXMucHJvcF0/IiI6InB4IiksYS5xdWV1ZT10aGlzLm9wdGlvbnMucXVldWUsYS5lbGVtPXRoaXMuZWxlbSxhLnNhdmVTdGF0ZT1mdW5jdGlvbigpe3ZvaWQgMD09PWkuX2RhdGEoci5lbGVtLCJmeHNob3ciK3IucHJvcCkmJihyLm9wdGlvbnMuaGlkZT9pLl9kYXRhKHIuZWxlbSwiZnhzaG93IityLnByb3Asci5zdGFydCk6ci5vcHRpb25zLnNob3cmJmkuX2RhdGEoci5lbGVtLCJmeHNob3ciK3IucHJvcCxyLmVuZCkpfSxhKCkmJmkudGltZXJzLnB1c2goYSkmJiFaZSYmKFplPXNldEludGVydmFsKG8udGljayxvLmludGVydmFsKSl9LHNob3c6ZnVuY3Rpb24oKXt2YXIgZT1pLl9kYXRhKHRoaXMuZWxlbSwiZnhzaG93Iit0aGlzLnByb3ApO3RoaXMub3B0aW9ucy5vcmlnW3RoaXMucHJvcF09ZXx8aS5zdHlsZSh0aGlzLmVsZW0sdGhpcy5wcm9wKSx0aGlzLm9wdGlvbnMuc2hvdz0hMCx2b2lkIDAhPT1lP3RoaXMuY3VzdG9tKHRoaXMuY3VyKCksZSk6dGhpcy5jdXN0b20oIndpZHRoIj09PXRoaXMucHJvcHx8ImhlaWdodCI9PT10aGlzLnByb3A/MTowLHRoaXMuY3VyKCkpLGkodGhpcy5lbGVtKS5zaG93KCl9LGhpZGU6ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMub3JpZ1t0aGlzLnByb3BdPWkuX2RhdGEodGhpcy5lbGVtLCJmeHNob3ciK3RoaXMucHJvcCl8fGkuc3R5bGUodGhpcy5lbGVtLHRoaXMucHJvcCksdGhpcy5vcHRpb25zLmhpZGU9ITAsdGhpcy5jdXN0b20odGhpcy5jdXIoKSwwKX0sc3RlcDpmdW5jdGlvbihlKXt2YXIgdCxuLHIsbz1ldHx8b3QoKSxhPSEwLHM9dGhpcy5lbGVtLGw9dGhpcy5vcHRpb25zO2lmKGV8fG8+PWwuZHVyYXRpb24rdGhpcy5zdGFydFRpbWUpe2Zvcih0IGluIHRoaXMubm93PXRoaXMuZW5kLHRoaXMucG9zPXRoaXMuc3RhdGU9MSx0aGlzLnVwZGF0ZSgpLGwuYW5pbWF0ZWRQcm9wZXJ0aWVzW3RoaXMucHJvcF09ITAsbC5hbmltYXRlZFByb3BlcnRpZXMpITAhPT1sLmFuaW1hdGVkUHJvcGVydGllc1t0XSYmKGE9ITEpO2lmKGEpe2lmKG51bGw9PWwub3ZlcmZsb3d8fGkuc3VwcG9ydC5zaHJpbmtXcmFwQmxvY2tzfHxpLmVhY2goWyIiLCJYIiwiWSJdLChmdW5jdGlvbihlLHQpe3Muc3R5bGVbIm92ZXJmbG93Iit0XT1sLm92ZXJmbG93W2VdfSkpLGwuaGlkZSYmaShzKS5oaWRlKCksbC5oaWRlfHxsLnNob3cpZm9yKHQgaW4gbC5hbmltYXRlZFByb3BlcnRpZXMpaS5zdHlsZShzLHQsbC5vcmlnW3RdKSxpLnJlbW92ZURhdGEocywiZnhzaG93Iit0LCEwKSxpLnJlbW92ZURhdGEocywidG9nZ2xlIit0LCEwKTsocj1sLmNvbXBsZXRlKSYmKGwuY29tcGxldGU9ITEsci5jYWxsKHMpKX1yZXR1cm4hMX1yZXR1cm4gbC5kdXJhdGlvbj09MS8wP3RoaXMubm93PW86KG49by10aGlzLnN0YXJ0VGltZSx0aGlzLnN0YXRlPW4vbC5kdXJhdGlvbix0aGlzLnBvcz1pLmVhc2luZ1tsLmFuaW1hdGVkUHJvcGVydGllc1t0aGlzLnByb3BdXSh0aGlzLnN0YXRlLG4sMCwxLGwuZHVyYXRpb24pLHRoaXMubm93PXRoaXMuc3RhcnQrKHRoaXMuZW5kLXRoaXMuc3RhcnQpKnRoaXMucG9zKSx0aGlzLnVwZGF0ZSgpLCEwfX0saS5leHRlbmQoaS5meCx7dGljazpmdW5jdGlvbigpe2Zvcih2YXIgZSx0PWkudGltZXJzLG49MDtuPHQubGVuZ3RoO24rKykoZT10W25dKSgpfHx0W25dIT09ZXx8dC5zcGxpY2Uobi0tLDEpO3QubGVuZ3RofHxpLmZ4LnN0b3AoKX0saW50ZXJ2YWw6MTMsc3RvcDpmdW5jdGlvbigpe2NsZWFySW50ZXJ2YWwoWmUpLFplPW51bGx9LHNwZWVkczp7c2xvdzo2MDAsZmFzdDoyMDAsX2RlZmF1bHQ6NDAwfSxzdGVwOntvcGFjaXR5OmZ1bmN0aW9uKGUpe2kuc3R5bGUoZS5lbGVtLCJvcGFjaXR5IixlLm5vdyl9LF9kZWZhdWx0OmZ1bmN0aW9uKGUpe2UuZWxlbS5zdHlsZSYmbnVsbCE9ZS5lbGVtLnN0eWxlW2UucHJvcF0/ZS5lbGVtLnN0eWxlW2UucHJvcF09ZS5ub3crZS51bml0OmUuZWxlbVtlLnByb3BdPWUubm93fX19KSxpLmVhY2goaXQuY29uY2F0LmFwcGx5KFtdLGl0KSwoZnVuY3Rpb24oZSx0KXt0LmluZGV4T2YoIm1hcmdpbiIpJiYoaS5meC5zdGVwW3RdPWZ1bmN0aW9uKGUpe2kuc3R5bGUoZS5lbGVtLHQsTWF0aC5tYXgoMCxlLm5vdykrZS51bml0KX0pfSkpLGkuZXhwciYmaS5leHByLmZpbHRlcnMmJihpLmV4cHIuZmlsdGVycy5hbmltYXRlZD1mdW5jdGlvbihlKXtyZXR1cm4gaS5ncmVwKGkudGltZXJzLChmdW5jdGlvbih0KXtyZXR1cm4gZT09PXQuZWxlbX0pKS5sZW5ndGh9KTt2YXIgdXQsY3Q9L150KD86YWJsZXxkfGgpJC9pLGZ0PS9eKD86Ym9keXxodG1sKSQvaTtmdW5jdGlvbiBkdChlKXsKcmV0dXJuIGkuaXNXaW5kb3coZSk/ZTo5PT09ZS5ub2RlVHlwZSYmKGUuZGVmYXVsdFZpZXd8fGUucGFyZW50V2luZG93KX11dD0iZ2V0Qm91bmRpbmdDbGllbnRSZWN0ImluIHQuZG9jdW1lbnRFbGVtZW50P2Z1bmN0aW9uKGUsdCxuLHIpe3RyeXtyPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9Y2F0Y2goZSl7fWlmKCFyfHwhaS5jb250YWlucyhuLGUpKXJldHVybiByP3t0b3A6ci50b3AsbGVmdDpyLmxlZnR9Ont0b3A6MCxsZWZ0OjB9O3ZhciBvPXQuYm9keSxhPWR0KHQpLHM9bi5jbGllbnRUb3B8fG8uY2xpZW50VG9wfHwwLGw9bi5jbGllbnRMZWZ0fHxvLmNsaWVudExlZnR8fDAsdT1hLnBhZ2VZT2Zmc2V0fHxpLnN1cHBvcnQuYm94TW9kZWwmJm4uc2Nyb2xsVG9wfHxvLnNjcm9sbFRvcCxjPWEucGFnZVhPZmZzZXR8fGkuc3VwcG9ydC5ib3hNb2RlbCYmbi5zY3JvbGxMZWZ0fHxvLnNjcm9sbExlZnQ7cmV0dXJue3RvcDpyLnRvcCt1LXMsbGVmdDpyLmxlZnQrYy1sfX06ZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgcixvPWUub2Zmc2V0UGFyZW50LGE9dC5ib2R5LHM9dC5kZWZhdWx0VmlldyxsPXM/cy5nZXRDb21wdXRlZFN0eWxlKGUsbnVsbCk6ZS5jdXJyZW50U3R5bGUsdT1lLm9mZnNldFRvcCxjPWUub2Zmc2V0TGVmdDsoZT1lLnBhcmVudE5vZGUpJiZlIT09YSYmZSE9PW4mJighaS5zdXBwb3J0LmZpeGVkUG9zaXRpb258fCJmaXhlZCIhPT1sLnBvc2l0aW9uKTspcj1zP3MuZ2V0Q29tcHV0ZWRTdHlsZShlLG51bGwpOmUuY3VycmVudFN0eWxlLHUtPWUuc2Nyb2xsVG9wLGMtPWUuc2Nyb2xsTGVmdCxlPT09byYmKHUrPWUub2Zmc2V0VG9wLGMrPWUub2Zmc2V0TGVmdCwhaS5zdXBwb3J0LmRvZXNOb3RBZGRCb3JkZXJ8fGkuc3VwcG9ydC5kb2VzQWRkQm9yZGVyRm9yVGFibGVBbmRDZWxscyYmY3QudGVzdChlLm5vZGVOYW1lKXx8KHUrPXBhcnNlRmxvYXQoci5ib3JkZXJUb3BXaWR0aCl8fDAsYys9cGFyc2VGbG9hdChyLmJvcmRlckxlZnRXaWR0aCl8fDApLG89ZS5vZmZzZXRQYXJlbnQpLGkuc3VwcG9ydC5zdWJ0cmFjdHNCb3JkZXJGb3JPdmVyZmxvd05vdFZpc2libGUmJiJ2aXNpYmxlIiE9PXIub3ZlcmZsb3cmJih1Kz1wYXJzZUZsb2F0KHIuYm9yZGVyVG9wV2lkdGgpfHwwLGMrPXBhcnNlRmxvYXQoci5ib3JkZXJMZWZ0V2lkdGgpfHwwKSxsPXI7cmV0dXJuInJlbGF0aXZlIiE9PWwucG9zaXRpb24mJiJzdGF0aWMiIT09bC5wb3NpdGlvbnx8KHUrPWEub2Zmc2V0VG9wLGMrPWEub2Zmc2V0TGVmdCksaS5zdXBwb3J0LmZpeGVkUG9zaXRpb24mJiJmaXhlZCI9PT1sLnBvc2l0aW9uJiYodSs9TWF0aC5tYXgobi5zY3JvbGxUb3AsYS5zY3JvbGxUb3ApLGMrPU1hdGgubWF4KG4uc2Nyb2xsTGVmdCxhLnNjcm9sbExlZnQpKSx7dG9wOnUsbGVmdDpjfX0saS5mbi5vZmZzZXQ9ZnVuY3Rpb24oZSl7aWYoYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdm9pZCAwPT09ZT90aGlzOnRoaXMuZWFjaCgoZnVuY3Rpb24odCl7aS5vZmZzZXQuc2V0T2Zmc2V0KHRoaXMsZSx0KX0pKTt2YXIgdD10aGlzWzBdLG49dCYmdC5vd25lckRvY3VtZW50O3JldHVybiBuP3Q9PT1uLmJvZHk/aS5vZmZzZXQuYm9keU9mZnNldCh0KTp1dCh0LG4sbi5kb2N1bWVudEVsZW1lbnQpOm51bGx9LGkub2Zmc2V0PXtib2R5T2Zmc2V0OmZ1bmN0aW9uKGUpe3ZhciB0PWUub2Zmc2V0VG9wLG49ZS5vZmZzZXRMZWZ0O3JldHVybiBpLnN1cHBvcnQuZG9lc05vdEluY2x1ZGVNYXJnaW5JbkJvZHlPZmZzZXQmJih0Kz1wYXJzZUZsb2F0KGkuY3NzKGUsIm1hcmdpblRvcCIpKXx8MCxuKz1wYXJzZUZsb2F0KGkuY3NzKGUsIm1hcmdpbkxlZnQiKSl8fDApLHt0b3A6dCxsZWZ0Om59fSxzZXRPZmZzZXQ6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWkuY3NzKGUsInBvc2l0aW9uIik7InN0YXRpYyI9PT1yJiYoZS5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiKTt2YXIgbyxhLHM9aShlKSxsPXMub2Zmc2V0KCksdT1pLmNzcyhlLCJ0b3AiKSxjPWkuY3NzKGUsImxlZnQiKSxmPXt9LGQ9e307KCJhYnNvbHV0ZSI9PT1yfHwiZml4ZWQiPT09cikmJmkuaW5BcnJheSgiYXV0byIsW3UsY10pPi0xPyhvPShkPXMucG9zaXRpb24oKSkudG9wLGE9ZC5sZWZ0KToobz1wYXJzZUZsb2F0KHUpfHwwLGE9cGFyc2VGbG9hdChjKXx8MCksaS5pc0Z1bmN0aW9uKHQpJiYodD10LmNhbGwoZSxuLGwpKSxudWxsIT10LnRvcCYmKGYudG9wPXQudG9wLWwudG9wK28pLG51bGwhPXQubGVmdCYmKGYubGVmdD10LmxlZnQtbC5sZWZ0K2EpLCJ1c2luZyJpbiB0P3QudXNpbmcuY2FsbChlLGYpOnMuY3NzKGYpfX0saS5mbi5leHRlbmQoe3Bvc2l0aW9uOmZ1bmN0aW9uKCl7aWYoIXRoaXNbMF0pcmV0dXJuIG51bGw7dmFyIGU9dGhpc1swXSx0PXRoaXMub2Zmc2V0UGFyZW50KCksbj10aGlzLm9mZnNldCgpLHI9ZnQudGVzdCh0WzBdLm5vZGVOYW1lKT97dG9wOjAsbGVmdDowfTp0Lm9mZnNldCgpO3JldHVybiBuLnRvcC09cGFyc2VGbG9hdChpLmNzcyhlLCJtYXJnaW5Ub3AiKSl8fDAsbi5sZWZ0LT1wYXJzZUZsb2F0KGkuY3NzKGUsIm1hcmdpbkxlZnQiKSl8fDAsci50b3ArPXBhcnNlRmxvYXQoaS5jc3ModFswXSwiYm9yZGVyVG9wV2lkdGgiKSl8fDAsci5sZWZ0Kz1wYXJzZUZsb2F0KGkuY3NzKHRbMF0sImJvcmRlckxlZnRXaWR0aCIpKXx8MCx7dG9wOm4udG9wLXIudG9wLGxlZnQ6bi5sZWZ0LXIubGVmdH19LG9mZnNldFBhcmVudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcCgoZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcy5vZmZzZXRQYXJlbnR8fHQuYm9keTtlJiYhZnQudGVzdChlLm5vZGVOYW1lKSYmInN0YXRpYyI9PT1pLmNzcyhlLCJwb3NpdGlvbiIpOyllPWUub2Zmc2V0UGFyZW50O3JldHVybiBlfSkpfX0pLGkuZWFjaCh7c2Nyb2xsTGVmdDoicGFnZVhPZmZzZXQiLHNjcm9sbFRvcDoicGFnZVlPZmZzZXQifSwoZnVuY3Rpb24oZSx0KXt2YXIgbj0vWS8udGVzdCh0KTtpLmZuW2VdPWZ1bmN0aW9uKHIpe3JldHVybiBpLmFjY2Vzcyh0aGlzLChmdW5jdGlvbihlLHIsbyl7dmFyIGE9ZHQoZSkKO2lmKHZvaWQgMD09PW8pcmV0dXJuIGE/dCBpbiBhP2FbdF06aS5zdXBwb3J0LmJveE1vZGVsJiZhLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFtyXXx8YS5kb2N1bWVudC5ib2R5W3JdOmVbcl07YT9hLnNjcm9sbFRvKG4/aShhKS5zY3JvbGxMZWZ0KCk6byxuP286aShhKS5zY3JvbGxUb3AoKSk6ZVtyXT1vfSksZSxyLGFyZ3VtZW50cy5sZW5ndGgsbnVsbCl9fSkpLGkuZWFjaCh7SGVpZ2h0OiJoZWlnaHQiLFdpZHRoOiJ3aWR0aCJ9LChmdW5jdGlvbihlLHQpe3ZhciBuPSJjbGllbnQiK2Uscj0ic2Nyb2xsIitlLG89Im9mZnNldCIrZTtpLmZuWyJpbm5lciIrZV09ZnVuY3Rpb24oKXt2YXIgZT10aGlzWzBdO3JldHVybiBlP2Uuc3R5bGU/cGFyc2VGbG9hdChpLmNzcyhlLHQsInBhZGRpbmciKSk6dGhpc1t0XSgpOm51bGx9LGkuZm5bIm91dGVyIitlXT1mdW5jdGlvbihlKXt2YXIgbj10aGlzWzBdO3JldHVybiBuP24uc3R5bGU/cGFyc2VGbG9hdChpLmNzcyhuLHQsZT8ibWFyZ2luIjoiYm9yZGVyIikpOnRoaXNbdF0oKTpudWxsfSxpLmZuW3RdPWZ1bmN0aW9uKGUpe3JldHVybiBpLmFjY2Vzcyh0aGlzLChmdW5jdGlvbihlLHQsYSl7dmFyIHMsbCx1LGM7cmV0dXJuIGkuaXNXaW5kb3coZSk/KGw9KHM9ZS5kb2N1bWVudCkuZG9jdW1lbnRFbGVtZW50W25dLGkuc3VwcG9ydC5ib3hNb2RlbCYmbHx8cy5ib2R5JiZzLmJvZHlbbl18fGwpOjk9PT1lLm5vZGVUeXBlPyhzPWUuZG9jdW1lbnRFbGVtZW50KVtuXT49c1tyXT9zW25dOk1hdGgubWF4KGUuYm9keVtyXSxzW3JdLGUuYm9keVtvXSxzW29dKTp2b2lkIDA9PT1hPyh1PWkuY3NzKGUsdCksYz1wYXJzZUZsb2F0KHUpLGkuaXNOdW1lcmljKGMpP2M6dSk6dm9pZCBpKGUpLmNzcyh0LGEpfSksdCxlLGFyZ3VtZW50cy5sZW5ndGgsbnVsbCl9fSkpLGUuZXhwb3J0cz13aW5kb3cualF1ZXJ5PXdpbmRvdy4kPWl9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":true,"resource_type":"document","requested_by":"","date":"2026-07-27T02:50:32.556Z","timestamp":1785120632556,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: 247optiontradefx.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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:32 GMT\r\nContent-Type: text/html; charset=UTF-8\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nX-Powered-By: PHP/8.4.12\r\nExpires: Thu, 19 Nov 1981 08:52:00 GMT\r\nCache-Control: no-store, no-cache, must-revalidate\r\nPragma: no-cache\r\nSet-Cookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a; path=/\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"PHP:8.4.12","description":"PHP is a general-purpose scripting language used for web development.","website":"https://php.net","common_platform_enumeration":"cpe:2.3:a:php:php:*:*:*:*:*:*:*:*","icon":"PHP.svg","categories":["Programming languages"]},{"name":"Bootstrap:5.1.3","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:3.3.1","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":"Clipboard.js","description":"","website":"https://clipboardjs.com/","common_platform_enumeration":"","icon":"Clipboard.js.svg","categories":["JavaScript libraries"]},{"name":"Tidio","description":"Tidio is a customer communication product. It provides multi-channel support so users can communicate with customers on the go. Live chat, messenger, or email are all supported.","website":"https://www.tidio.com","common_platform_enumeration":"","icon":"Tidio.svg","categories":["Live chat"]},{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":66860,"size_decoded":13278,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (437), with CRLF line terminators","md5":"5df2d9811111ae6b366d3c4701b47ca5","sha1":"92679f5518bf5ffae54f71ee3f9d3cb21583f2e6","sha256":"064f1fb54119462bcae4cdcf10e4d7abba8777b9a2807631c4294d75681ea69d","sha512":"aeafbdfe0ecb70e674b996186b2a9f17501a7ea9c2348a456a3fa419593cda072b560634f652112f848f77904d5ef2f28384d648116bd33dbdd013e4abd7a4e4","ssdeep":"768:hZOMrpGN5nUpGQPgJKSkCr5t1+LQeSlHb5nbnwLprI:VEN53J1+TSt5nj+FI","tlshash":"b0635124a8c2852300b7c1c69e755f69fee98207d64a894933fd67eb2ff2d14ec23558","first_seen":"2026-07-27T02:45:25.083026Z","last_seen":"2026-07-27T02:59:54.521866Z","times_seen":4,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+DQo8aHRtbD4NCjxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sO2NoYXJzZXQ9VVRGLTgiPg0KPG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7Y2hhcnNldD1VVEYtOCI+DQoNCjxoZWFkPg0KICAgIDxtZXRhIGNoYXJzZXQ9J1VURi04Jz4NCiAgICA8IS0tICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4tLT4NCiAgICA8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPWVkZ2UsY2hyb21lPTEiPg0KICAgIDx0aXRsZT4yNDdvcHRpb250cmFkZWZ4PC90aXRsZT4NCiAgPCEtLXN0YXJ0IGhlcmUtLT4NCiAgPG1ldGEgcHJvcGVydHk9Im9nOnRpdGxlIiBjb250ZW50PSIyNDdvcHRpb250cmFkZWZ4IHwgVHJhZGluZyBkaWdpdGFsIEZvcmV4LCBTdG9jaywgQmluYXJ5IG9wdGlvbiB0cmFkZSwgQ3J5cHRvY3VycmVuY3kgdHJhZGUiPg0KICA8bWV0YSBwcm9wZXJ0eT0ib2c6c2l0ZV9uYW1lIiBjb250ZW50PSIyNDdvcHRpb250cmFkZWZ4Ij4NCiAgPG1ldGEgcHJvcGVydHk9Im9nOmRlc2NyaXB0aW9uIiBjb250ZW50PSIyNDdvcHRpb250cmFkZWZ4IHwgVHJhZGluZyBkaWdpdGFsIEZvcmV4LCBTdG9jaywgQmluYXJ5IG9wdGlvbiB0cmFkZSwgQ3J5cHRvY3VycmVuY3kgdHJhZGUiPg0KICA8bWV0YSBwcm9wZXJ0eT0ib2c6dHlwZSIgY29udGVudD0id2Vic2l0ZSI+DQogIDxtZXRhIHByb3BlcnR5PSJvZzppbWFnZSIgY29udGVudD0iaHR0cDovLzI0N29wdGlvbnRyYWRlZnguY29tL2ltZy9mYi5wbmciPg0KICA8bWV0YSBwcm9wZXJ0eT0ib2c6dXJsIiBjb250ZW50PSJodHRwOi8vd3d3LjI0N29wdGlvbnRyYWRlZnguY29tIj4NCiAgPG1ldGEgcHJvcGVydHk9Im9nOmltYWdlOmFsdCIgbmFtZT0iaW1hZ2U6YWx0IiBjb250ZW50PSIyNDdvcHRpb250cmFkZWZ4Ij4NCiAgPCEtLSA8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9ImZhdmljb24ucG5nIiB0eXBlPSJpbWFnZS94LWljb24iPiAtLT4NCg0KICAgIDxsaW5rIHJlbD0nc2hvcnRjdXQgaWNvbicgaHJlZj0nRXJyb3IuaHRtbCcgdHlwZT0naW1hZ2UveC1pY29uJz4NCiAgICA8bGluayByZWw9J2ljb24nIGhyZWY9J0Vycm9yLmh0bWwnIHR5cGU9J2ltYWdlL3gtaWNvbic+DQoNCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIHR5cGU9J3RleHQvY3NzJyBocmVmPSdmb250cy9zdHlsZXNoZWV0LmNzcyc+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgaHJlZj0nZm9udHMvaWNvbW9vbi9zdHlsZS5jc3MnPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgdHlwZT0ndGV4dC9jc3MnIGhyZWY9J2Nzcy9qcXVlcnktdWkuY3NzJz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIHR5cGU9J3RleHQvY3NzJyBocmVmPSdjc3MvaW9uLnJhbmdlU2xpZGVyLmNzcyc+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgaHJlZj0nY3NzL2lvbi5yYW5nZVNsaWRlci5za2luU2ltcGxlLmNzcyc+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgaHJlZj0nY3NzL3NlbGVjdHJpYy5jc3MnPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgdHlwZT0ndGV4dC9jc3MnIGhyZWY9J2Nzcy9zdHlsZS5jc3MnPg0KDQogICAgPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0nanMvanF1ZXJ5LTMuMy4xLmpzJz48L3NjcmlwdD4NCiAgICA8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdqcy9qcXVlcnktdWkuanMnPjwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2pzL2NsaXBib2FyZC5qcyc+PC9zY3JpcHQ+DQogICAgPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0nanMvZGV0ZWN0LmpzJz48L3NjcmlwdD4NCiAgICA8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdqcy9pb24ucmFuZ2VTbGlkZXIuanMnPjwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2pzL2pxdWVyeS5zZWxlY3RyaWMuanMnPjwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2pzL3NjcmlwdC5qcyc+PC9zY3JpcHQ+DQogICAgDQogICAgDQogICAgPCEtLSA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vYm9vdHN0cmFwQDUuMS4zL2Rpc3QvY3NzL2Jvb3RzdHJhcC5taW4uY3NzIi8+IC0tPg0KICAgIA0KICAgIDwhLS0tLUFBMzIwLS0tLT4NCg0KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iYWpheC9saWJzL2FuaW1hdGUuY3NzLzQuMS4xL2FuaW1hdGUubWluLmNzcyI+DQogICAgPHNjcmlwdCBzcmM9Im5wbS9zd2VldGFsZXJ0MiU0MDEwIj48L3NjcmlwdD4NCg0KICAgIDxzdHlsZT4NCiAgICAgICAgLnNibXQgew0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOENCQTsNCiAgICAgICAgICAgIHdpZHRoOiAzMDBweDsNCiAgICAgICAgICAgIGJvcmRlcjogbm9uZTsNCiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTsNCiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMzJweDsNCiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5zYm10OmhvdmVyIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZmEwNzY7DQogICAgICAgICAgICB3aWR0aDogMzAwcHg7DQogICAgICAgICAgICBib3JkZXI6IG5vbmU7DQogICAgICAgICAgICBjb2xvcjogd2hpdGU7DQogICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDMycHg7DQogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgICAgICAgICBmb250LXNpemU6IDE2cHg7DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KDQoNCjwhLS0gZy1oaWRlIC0tPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj5pZnJhbWUuZ29vZy10ZS1iYW5uZXItZnJhbWV7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDt9PC9zdHlsZT4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Ym9keSB7cG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50OyB0b3A6MHB4ICFpbXBvcnRhbnQ7fTwvc3R5bGU+DQo8IS0tIGVuZC1nLWhpZGUgLS0+DQoNCg0KDQoNCg0KPC9oZWFkPg0KDQo8Ym9keSBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoI2JiYiAsIzAwOTBkYiwjMDA4MGRiKTtoZWlnaHQ6MTAwJSI+PGRpdiBjbGFzcz0iYm9keVdyYXAiPg0KICAgIDxoZWFkZXI+DQogICAgICAgIDxkaXYgY2xhc3M9InRvcExpbmUiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZSBmdWxsIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9nb1dyYXAgdENlbGwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9nbyBpbnZpc0xpbmsiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InR4dCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+Qzwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5MaW1pdGVkPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+LS0+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImltZy9sb2dvLnBuZyIgc3R5bGU9IndpZHRoOiAxMjBweDsgaGVpZ2h0OiA4MHB4OyIgYWx0PSJsb2dvIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjLiI+bWFpbjwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9nUmVnIHRDZWxsIHJpZ2h0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJkYXNoYm9hcmQvbG9naW4ucGhwIiBjbGFzcz0iYnRuRmlsbENvbG9yMUxnIj4gTG9naW48L2E+DQogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJkYXNoYm9hcmQvcmVnaXN0ZXIucGhwIiBjbGFzcz0iYnRuRmlsbENvbG9yMkxnIj5zaWduIHVwPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxhbmcgdENlbGwgcmlnaHQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8YSBocmVmPSIjLiIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybChpbWcvbGFuZ18xLmpwZyk7Ij48L2E+DQogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjLiIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybChpbWcvbGFuZ18yLmpwZyk7Ij48L2E+IC0tPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KDQoNCg0KDQogICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzb2NDb250SGVhZCB0Q2VsbCByaWdodCI+DQogICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICA8IS0tIDxzcGFuPkxhbmd1YWdlOjwvc3Bhbj4gLS0+DQogICAgICAgICAgPHNlbGVjdCBjbGFzcz0iY3VzdG9tLXNlbGVjdCBsYW5nLXNlbCIgaWQ9Imxhbmd1YWdlIiBvbmNoYW5nZT0iY2hhbmdlTGFuZ3VhZ2VCeUJ1dHRvbkNsaWNrKCkiPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZW4iIHNlbGVjdGVkPSIiPlNlbGVjdCBMYW5ndWFnZTwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iYWYiPkFmcmlrYW5uczwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ic3EiPkFsYmFuaWFuPC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJhciI+QXJhYmljPC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJoeSI+QXJtZW5pYW48L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImV1Ij5CYXNxdWU8L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImJuIj5CZW5nYWxpPC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJiZyI+QnVsZ2FyaWFuPC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJjYSI+Q2F0YWxhbjwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ia20iPkNhbWJvZGlhbjwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iemgtQ04iPkNoaW5lc2UgKE1hbmRhcmluKTwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iaHIiPkNyb2F0aW9uPC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJjcyI+Q3plY2g8L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImRhIj5EYW5pc2g8L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Im5sIj5EdXRjaDwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZXQiPkVzdG9uaWFuPC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJmaiI+RmlqaTwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZmkiPkZpbm5pc2g8L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImZyIj5GcmVuY2g8L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImthIj5HZW9yZ2lhbjwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZGUiPkdlcm1hbjwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZWwiPkdyZWVrPC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJndSI+R3VqYXJhdGk8L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImhlIj5IZWJyZXc8L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImhpIj5IaW5kaTwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iaHUiPkh1bmdhcmlhbjwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iaXMiPkljZWxhbmRpYzwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iaWQiPkluZG9uZXNpYW48L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImdhIj5JcmlzaDwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iaXQiPkl0YWxpYW48L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImphIj5KYXBhbmVzZTwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ianciPkphdmFuZXNlPC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJrbyI+S29yZWFuPC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJsYSI+TGF0aW48L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Imx2Ij5MYXR2aWFuPC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJsdCI+TGl0aHVhbmlhbjwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ibWsiPk1hY2Vkb25pYW48L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Im1zIj5NYWxheTwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ibWwiPk1hbGF5YWxhbTwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ibXQiPk1hbHRlc2U8L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Im1pIj5NYW9yaTwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ibXIiPk1hcmF0aGk8L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Im1uIj5Nb25nb2xpYW48L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Im5lIj5OZXBhbGk8L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Im5vIj5Ob3J3ZWdpYW48L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImZhIj5QZXJzaWFuPC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJwbCI+UG9saXNoPC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJwdCI+UG9ydHVndWVzZTwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0icGEiPlB1bmphYmk8L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9InF1Ij5RdWVjaHVhPC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJybyI+Um9tYW5pYW48L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9InJ1Ij5SdXNzaWFuPC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJzbSI+U2Ftb2FuPC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJzciI+U2VyYmlhbjwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ic2siPlNsb3Zhazwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ic2wiPlNsb3Zlbmlhbjwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZXMiPlNwYW5pc2g8L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9InN3Ij5Td2FoaWxpPC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJzdiI+U3dlZGlzaCA8L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9InRhIj5UYW1pbDwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0idHQiPlRhdGFyPC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJ0ZSI+VGVsdWd1PC9vcHRpb24+DQogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJ0aCI+VGhhaTwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iYm8iPlRpYmV0YW48L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9InRvIj5Ub25nYTwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0idHIiPlR1cmtpc2g8L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9InVrIj5Va3Jhbmlhbjwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0idXIiPlVyZHU8L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9InV6Ij5VemJlazwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0idmkiPlZpZXRuYW1lc2U8L29wdGlvbj4NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImN5Ij5XZWxzaDwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ieGgiPlhob3NhPC9vcHRpb24+DQogICAgICAgICAgPC9zZWxlY3Q+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHNwYW4gY2xhc3M9Imljb24tc29jMSBpbnZpc0xpbmsiPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS8iIHRhcmdldD0iX2JsYW5rIj5mYWNlYm9vazwvYT48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLXNvYzYgaW52aXNMaW5rIj48YSBocmVmPSJodHRwczovL3R3aXR0ZXIuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPnR3aXR0ZXI8L2E+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1zb2M3IGludmlzTGluayI+PGEgaHJlZj0iaHR0cHM6Ly90Lm1lLyIgdGFyZ2V0PSJfYmxhbmsiPnRlbGVncmFtPC9hPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tc29jNCBpbnZpc0xpbmsiPjxhIGhyZWY9InNreXBlOmxpdmU6P2NoYXQiIHRhcmdldD0iX2JsYW5rIj5za3lwZTwvYT48L3NwYW4+IC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQoNCg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbG9jayB0Q2VsbCByaWdodCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGltZSBncmFkVHh0IiBpZD0idGltZSI+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRhdGUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkYXkiIGlkPSJkYXkiPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ieWVhciIgaWQ9InllYXIiPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCg0KDQoNCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8c2NyaXB0IHNyYz0iY29pbmdlY2tvLWNvaW4tcHJpY2UtbWFycXVlZS13aWRnZXQuanMiPjwvc2NyaXB0Pg0KICAgICAgICA8Y29pbmdlY2tvLWNvaW4tcHJpY2UtbWFycXVlZS13aWRnZXQgY29pbi1pZHM9ImJpdGNvaW4sZXRoZXJldW0sZW9zLHJpcHBsZSxsaXRlY29pbiIgY3VycmVuY3k9InVzZCIgYmFja2dyb3VuZC1jb2xvcj0iI2ZmZmZmZiIgbG9jYWxlPSJlbiI+PC9jb2luZ2Vja28tY29pbi1wcmljZS1tYXJxdWVlLXdpZGdldD4NCg0KICAgICAgICA8ZGl2IGNsYXNzPSJtZW51Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogICAgICAgICAgICAgICAgPGNlbnRlcj4NCiAgICAgICAgICAgICAgICAgICAgPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9ImluZGV4Ij5IT01FPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iYWJvdXQiPkFCT1VUIFVTPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iYWZmaWxpYXRlIj5BRkZJTElBVEU8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJwbGFucyI+UExBTlM8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJuZXdzIj5ORVdTPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iZmFxIj5GQVE8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJyYXRldXMiPlJBVEUgVVM8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJydWxlcyI+UlVMRVM8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJjb250YWN0Ij5DT05UQUNUIFVTPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgPC9jZW50ZXI+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgPC9oZWFkZXI+DQo8ZGl2IGNsYXNzPSJtYWluQmFubmVyIGdyYWRJbWciIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1nL2hlYWRlcl9iZy5qcGcpOyI+DQogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgPGRpdiBjbGFzcz0iY29udGVudCI+DQogICAgICAgICAgICA8c3BhbiBjbGFzcz0iaGVhZGluZyI+V2VsY29tZSB0byAyNDdvcHRpb250cmFkZWZ4PC9zcGFuPg0KICAgICAgICAgICAgPHNwYW4+RGVwZW5kYWJpbGl0eSBhbmQgaW5ub3ZhdGlvbiBpbiB0cmFkaW5nPC9zcGFuPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dEJsb2NrIj4NCiAgICAgICAgICAgICAgICA8cD5BIGRpc3Rpbmd1aXNoZWQgcmVwdXRhdGlvbiwgaW5ub3ZhdGl2ZSBhcHByb2FjaCBhbmQgcHJvZml0YWJsZSB3b3JraW5nIGNvbmRpdGlvbnMgYXJlIG91cg0KICAgICAgICAgICAgICAgICAgICBtYWluIGFkdmFudGFnZXMgYW5kIHRoaXMgaXMgd2h5IHdlJ3JlIHRoZSBjaG9pY2Ugb2Ygb3ZlciAxMDAuMDAwIGNsaWVudHMuPC9wPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8YSBocmVmPSJkYXNoYm9hcmQvcmVnaXN0ZXIucGhwIiBjbGFzcz0iYnRuRmlsbEdyYWRMZyI+R2V0IHN0YXJ0ZWQgbm93PC9hPg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPGRpdiBjbGFzcz0iY2ZpeCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjdXJSYXRlIj4NCjwhLS0gVHJhZGluZ1ZpZXcgV2lkZ2V0IEJFR0lOIC0tPg0KPGRpdiBjbGFzcz0idHJhZGluZ3ZpZXctd2lkZ2V0LWNvbnRhaW5lciI+DQogIDxkaXYgY2xhc3M9InRyYWRpbmd2aWV3LXdpZGdldC1jb250YWluZXJfX3dpZGdldCI+PC9kaXY+DQogIDxkaXYgY2xhc3M9InRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQiPjxhIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LmNvbS8iIHJlbD0ibm9vcGVuZXIgbm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIj48c3BhbiBjbGFzcz0iYmx1ZS10ZXh0Ij5UcmFjayBhbGwgbWFya2V0cyBvbiBUcmFkaW5nVmlldzwvc3Bhbj48L2E+PC9kaXY+DQogIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vczMudHJhZGluZ3ZpZXcuY29tL2V4dGVybmFsLWVtYmVkZGluZy9lbWJlZC13aWRnZXQtc3ltYm9sLW92ZXJ2aWV3LmpzIiBhc3luYz4NCiAgew0KICAic3ltYm9scyI6IFsNCiAgICBbDQogICAgICAiQXBwbGUiLA0KICAgICAgIkFBUEx8MUQiDQogICAgXSwNCiAgICBbDQogICAgICAiR29vZ2xlIiwNCiAgICAgICJHT09HTHwxRCINCiAgICBdLA0KICAgIFsNCiAgICAgICJNaWNyb3NvZnQiLA0KICAgICAgIk1TRlR8MUQiDQogICAgXQ0KICBdLA0KICAiY2hhcnRPbmx5IjogZmFsc2UsDQogICJ3aWR0aCI6IDI2MCwNCiAgImhlaWdodCI6IDI0MCwNCiAgImxvY2FsZSI6ICJlbiIsDQogICJjb2xvclRoZW1lIjogImxpZ2h0IiwNCiAgImF1dG9zaXplIjogZmFsc2UsDQogICJzaG93Vm9sdW1lIjogZmFsc2UsDQogICJzaG93TUEiOiBmYWxzZSwNCiAgImhpZGVEYXRlUmFuZ2VzIjogZmFsc2UsDQogICJoaWRlTWFya2V0U3RhdHVzIjogZmFsc2UsDQogICJoaWRlU3ltYm9sTG9nbyI6IGZhbHNlLA0KICAic2NhbGVQb3NpdGlvbiI6ICJyaWdodCIsDQogICJzY2FsZU1vZGUiOiAiTm9ybWFsIiwNCiAgImZvbnRGYW1pbHkiOiAiLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBUcmVidWNoZXQgTVMsIFJvYm90bywgVWJ1bnR1LCBzYW5zLXNlcmlmIiwNCiAgImZvbnRTaXplIjogIjEwIiwNCiAgIm5vVGltZVNjYWxlIjogZmFsc2UsDQogICJ2YWx1ZXNUcmFja2luZyI6ICIxIiwNCiAgImNoYW5nZU1vZGUiOiAicHJpY2UtYW5kLXBlcmNlbnQiLA0KICAiY2hhcnRUeXBlIjogImFyZWEiLA0KICAibWFMaW5lQ29sb3IiOiAiIzI5NjJGRiIsDQogICJtYUxpbmVXaWR0aCI6IDEsDQogICJtYUxlbmd0aCI6IDksDQogICJsaW5lV2lkdGgiOiAyLA0KICAibGluZVR5cGUiOiAwLA0KICAiZGF0ZVJhbmdlcyI6IFsNCiAgICAiMWR8MSIsDQogICAgIjFtfDMwIiwNCiAgICAiM218NjAiLA0KICAgICIxMm18MUQiLA0KICAgICI2MG18MVciLA0KICAgICJhbGx8MU0iDQogIF0NCn0NCiAgPC9zY3JpcHQ+DQo8L2Rpdj4NCjwhLS0gVHJhZGluZ1ZpZXcgV2lkZ2V0IEVORCAtLT4NCg0KICAgICAgICAgICAgICANCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZEFkdiI+DQogICAgICAgICAgICA8dWw+DQogICAgICAgICAgICAgICAgPGxpPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpY29uTGVmdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1hZHYxIj48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGF0YSI+T2ZmaWNpYWxseSByZWdpc3RlcmVkIGNvbXBhbnk8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgPGxpPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpY29uTGVmdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1hZHYzIj48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGF0YSI+SW5ub3ZhdGl2ZTxicj5hcHByb2FjaDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICA8bGk+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imljb25MZWZ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWFkdjIiPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkYXRhIj5Qcm9maXRhYmxlIHdvcmtpbmcgY29uZGl0aW9uczwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICA8cD5BbGwgdGhpcyBpcyBvbmx5IHRoZSB0aXAgb2YgdGhlIGljZWJlcmcsIHJlZ2lzdGVyIG9uIG91ciB3ZWJzaXRlIGluIG9yZGVyIHRvIGV4cGVyaWVuY2UgYWxsIHRoZQ0KICAgICAgICAgICAgICAgIHByaXZpbGVnZXMgb2Ygd29ya2luZyB3aXRoIDI0N29wdGlvbnRyYWRlZng8L3A+DQogICAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9ImNpcmNsZUJnIj4NCiAgICAgICAgPGRpdiBjbGFzcz0iY2lyY2xlIj48L2Rpdj4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJjaGFydCI+DQogICAgICAgIDxpZnJhbWUgaGVpZ2h0PSIzOTgiIHdpZHRoPSI2MTgiIHNyYz0iaHR0cHM6Ly9zc2x0dmMuZm9yZXhwcm9zdG9vbHMuY29tLz9wYWlyX0lEPTk0NTYyOSZoZWlnaHQ9Mzk4JndpZHRoPTYxOCZpbnRlcnZhbD0zMDAmcGxvdFN0eWxlPWFyZWEmZG9tYWluX0lEPTcmbGFuZ19JRD03JnRpbWV6b25lX0lEPTE3Ij48L2lmcmFtZT4NCiAgICA8L2Rpdj4NCjwvZGl2Pg0KDQo8ZGl2IGNsYXNzPSJhYm91dCIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybChpbWcvYWJvdXRfYmcuaHRtbCk7Ij4NCiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KICAgICAgICA8ZGl2IGNsYXNzPSJjZml4Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxlZnQiPg0KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXB0aW9uTGlnaHQiIHN0eWxlPSJjb2xvcjpibGFjazsiPkFib3V0IGNvbXBhbnk8L3NwYW4+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGljZW5zZSI+DQogICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz0iaW1nIGludmlzTGluayIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybChpbWcvZmIucG5nKTsiPjxhIGhyZWY9ImltZy9mYi5wbmciIHRhcmdldD0iX2JsYW5rIj48L2E+PC9kaXY+IC0tPg0KICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1nL2ZiLnBuZyIgYWx0PSIiPg0KICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9ImltZyBpbnZpc0xpbmsiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoY2VydC8yLmpwZyk7Ij48YSBocmVmPSJjZXJ0LzIuanBnIiB0YXJnZXQ9Il9ibGFuayI+bGljZW5zZTwvYT48L2Rpdj4gLS0+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWRkcmVzcyI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imljb25MZWZ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWxvY2F0aW9uIGdyYWRUeHQiPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkYXRhIiBzdHlsZT0iY29sb3I6YmxhY2s7Ij41NTUtNTgxIE1hdGVvIFN0cmVldCwgTG9zIEFuZ2VsZXMsIDkwMDEzLCBDYWxpZm9ybmlhKENBKTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJpZ2h0Ij4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0QmxvY2siPg0KICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT0iY29sb3I6YmxhY2s7Ij5UaGUgY29tcGFueSAyNDdvcHRpb250cmFkZWZ4IHdhcyBmb3VuZGVkIGluIDIwMTYgYnkgYSBncm91cCBvZg0KICAgICAgICAgICAgICAgICAgICAgICAgcHJvZmVzc2lvbmFsIEZPUkVYIHRyYWRlcnMgd2l0aCB0aGUgYWltIG9mIGFjY3VtdWxhdGluZyBhc3NldHMgb2Ygc2V2ZXJhbCBsYXJnZQ0KICAgICAgICAgICAgICAgICAgICAgICAgaW52ZXN0b3JzIGZvciB0aGUgbW9zdCBlZmZpY2llbnQgdHJhZGluZyBvbiB0aGUgY3VycmVuY3kgYW5kIHN0b2NrIG1hcmtldHMuIFNpbmNlIHRoZQ0KICAgICAgICAgICAgICAgICAgICAgICAgZm91bmRpbmcgb2YgMjQ3b3B0aW9udHJhZGVmeCwgb3VyIHByaW5jaXBsZXMgaGF2ZSBiZWVuIGFic29sdXRlIHRyYW5zcGFyZW50LA0KICAgICAgICAgICAgICAgICAgICAgICAgZGVkaWNhdGlvbiB0byBvdXIgY2xpZW50cywgYXMgd2VsbCBhcyBhIGNvbXBsZXRlIHVuZGVyc3RhbmRpbmcgb2YgdGhlIGZlYXR1cmVzIG9mIG91cg0KICAgICAgICAgICAgICAgICAgICAgICAgcHJvZmlsZSBtYXJrZXQgYW5kIHRoZSBleHBlY3RhdGlvbnMgb2YgZGlmZmVyZW50IHR5cGVzIG9mIGludmVzdG9ycy48L3A+DQogICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPSJjb2xvcjpibGFjazsiPlVzaW5nIGEgdW5pcXVlIHN0cmF0ZWd5IG9mIHRoZSBnYW1lIGluIHRoZSBzdG9jayBtYXJrZXRzLCBvdXINCiAgICAgICAgICAgICAgICAgICAgICAgIHNwZWNpYWxpc3RzIGFyZSBndWFyYW50ZWVkIHRvIGJyaW5nIHByb2ZpdCB0byBhbGwgb3VyIHBhcnRuZXJzLCBzbyB5b3UgY2FuIG5vdCB3b3JyeQ0KICAgICAgICAgICAgICAgICAgICAgICAgYWJvdXQgdGhlIHNhZmV0eSBvZiB0aGVpciBmdW5kcywgZGVzcGl0ZSB0aGUgcG90ZW50aWFsIGxldmVsIG9mIHJpc2sgb2YgdGhpcyB0eXBlIG9mDQogICAgICAgICAgICAgICAgICAgICAgICBpbnZlc3RtZW50LjwvcD4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidG5zV3JhcCI+DQogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImFib3V0LnBocCIgY2xhc3M9ImJ0bkZpbGxDb2xvcjFMZyI+TGVhcm4gbW9yZTwvYT4NCiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iZGFzaGJvYXJkL3JlZ2lzdGVyLnBocA0KICAgICIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJidG5GaWxsQ29sb3IyTGciPlJlZ2lzdGVyIEFuIEFjY291bnQ8L2E+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQo8L2Rpdj4NCg0KDQoNCg0KPGRpdiBjbGFzcz0icGxhbiBwYWdlIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKGltZy9jaGFydF9iZy5wbmcpLCB1cmwoaW1nL2dyZXlfYmcucG5nKTttYXJnaW4tdG9wOi0xNTBweCI+DQogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgPHNwYW4gY2xhc3M9ImNhcHRpb25EYXJrIGNlbnRlciI+REVNTyBUUkFESU5HPC9zcGFuPg0KICAgICAgICA8YnI+DQogICAgICAgIA0KICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPg0KICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPSJjb2wtbWQtOCBjb2wtc20tMyI+IC0tPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSBjb2w3Ij4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyaWdodCI+DQoNCg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzY3JvbGxtZW51Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxpZnJhbWUgc3JjPSJodHRwczovL2JpbmFyeW1hdGUuY29tL2VuL3R5bmktcGxhdGZvcm0/cj1odHRwczovLzI0N29wdGlvbnRyYWRlZngubGl2ZS9kYXNoYm9hcmQvcmVnaXN0ZXIiIGNsYXNzPSJtaW5pLXBsYXRmb3JtIiB3aWR0aD0iNzA0cHgiIGZyYW1lYm9yZGVyPSIwIiBoZWlnaHQ9IjQwOHB4Ij48L2lmcmFtZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGltZyBzdHlsZT0id2lkdGg6MzAlIiBzcmM9Im1lZGlhL2RlbW8ucG5nIiBhbHQ9IiIgLz4gLS0+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtIGNvbDUiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxlZnQiPg0KICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1nL2ZhcXMucG5nIiBhbHQ9IiIgY2xhc3M9ImltZy1yZXNwb25zaXZlIj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPSJjb2wtc20tNCI+IC0tPg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCjwvZGl2Pg0KDQoNCg0KDQoNCg0KPGRpdiBjbGFzcz0icGxhbiBwYWdlIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKGltZy9jaGFydF9iZy5wbmcpLCB1cmwoaW1nL2dyZXlfYmcucG5nKTsiPg0KICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogICAgICAgIDxkaXYgY2xhc3M9InRleHRCbG9jayI+DQogICAgICAgICAgICA8cD4yNDdvcHRpb250cmFkZWZ4IGlzIGEgZGlzdGluY3RpdmUgaW52ZXN0bWVudCBzZXJ2aWNlcyBjb21wYW55IG9mZmVyaW5nIG91ciBpbnZlc3RvcnMgYWNjZXNzIHRvDQogICAgICAgICAgICAgICAgaGlnaC1ncm93dGggaW52ZXN0bWVudCBvcHBvcnR1bml0aWVzIGluIHRyYWRpbmcgb24gdGhlIHN0b2NrIGFuZCBjdXJyZW5jeSBtYXJrZXRzLiBXZSBpbXBsZW1lbnQNCiAgICAgICAgICAgICAgICB0aGUgbGF0ZXN0IGRldmVsb3BtZW50cyBpbiB0cmFkaW5nIGFuZCBmaW5hbmNpYWwgbWFya2V0IGFuYWx5c2lzIGFuZCBvZmZlciBvdXIgcGFydGljaXBhbnRzIGENCiAgICAgICAgICAgICAgICBjaG9pY2Ugb2YgNCBpbnZlc3RtZW50IHBsYW5zLiBPdXIgY29tcGFueSBiZW5lZml0cyBmcm9tIGFuIGV4dGVuc2l2ZSBuZXR3b3JrIG9mIGdsb2JhbCBjbGllbnRzLg0KICAgICAgICAgICAgPC9wPiA8YnI+PGJyPg0KDQoNCjwhLS0gVHJhZGluZ1ZpZXcgV2lkZ2V0IEJFR0lOIC0tPg0KPGRpdiBjbGFzcz0idHJhZGluZ3ZpZXctd2lkZ2V0LWNvbnRhaW5lciI+DQogIDxkaXYgY2xhc3M9InRyYWRpbmd2aWV3LXdpZGdldC1jb250YWluZXJfX3dpZGdldCI+PC9kaXY+DQogIDxkaXYgY2xhc3M9InRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQiPjxhIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LmNvbS8iIHJlbD0ibm9vcGVuZXIgbm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIj48c3BhbiBjbGFzcz0iYmx1ZS10ZXh0Ij5UcmFjayBhbGwgbWFya2V0cyBvbiBUcmFkaW5nVmlldzwvc3Bhbj48L2E+PC9kaXY+DQogIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vczMudHJhZGluZ3ZpZXcuY29tL2V4dGVybmFsLWVtYmVkZGluZy9lbWJlZC13aWRnZXQtc3ltYm9sLW92ZXJ2aWV3LmpzIiBhc3luYz4NCiAgew0KICAic3ltYm9scyI6IFsNCiAgICBbDQogICAgICAiQXBwbGUiLA0KICAgICAgIkFBUEx8MUQiDQogICAgXSwNCiAgICBbDQogICAgICAiR29vZ2xlIiwNCiAgICAgICJHT09HTHwxRCINCiAgICBdLA0KICAgIFsNCiAgICAgICJNaWNyb3NvZnQiLA0KICAgICAgIk1TRlR8MUQiDQogICAgXQ0KICBdLA0KICAiY2hhcnRPbmx5IjogZmFsc2UsDQogICJ3aWR0aCI6IDExNTAsDQogICJoZWlnaHQiOiA1NjksDQogICJsb2NhbGUiOiAiZW4iLA0KICAiY29sb3JUaGVtZSI6ICJsaWdodCIsDQogICJhdXRvc2l6ZSI6IGZhbHNlLA0KICAic2hvd1ZvbHVtZSI6IGZhbHNlLA0KICAic2hvd01BIjogZmFsc2UsDQogICJoaWRlRGF0ZVJhbmdlcyI6IGZhbHNlLA0KICAiaGlkZU1hcmtldFN0YXR1cyI6IGZhbHNlLA0KICAiaGlkZVN5bWJvbExvZ28iOiBmYWxzZSwNCiAgInNjYWxlUG9zaXRpb24iOiAicmlnaHQiLA0KICAic2NhbGVNb2RlIjogIk5vcm1hbCIsDQogICJmb250RmFtaWx5IjogIi1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgVHJlYnVjaGV0IE1TLCBSb2JvdG8sIFVidW50dSwgc2Fucy1zZXJpZiIsDQogICJmb250U2l6ZSI6ICIxMCIsDQogICJub1RpbWVTY2FsZSI6IGZhbHNlLA0KICAidmFsdWVzVHJhY2tpbmciOiAiMSIsDQogICJjaGFuZ2VNb2RlIjogInByaWNlLWFuZC1wZXJjZW50IiwNCiAgImNoYXJ0VHlwZSI6ICJhcmVhIiwNCiAgIm1hTGluZUNvbG9yIjogIiMyOTYyRkYiLA0KICAibWFMaW5lV2lkdGgiOiAxLA0KICAibWFMZW5ndGgiOiA5LA0KICAibGluZVdpZHRoIjogMiwNCiAgImxpbmVUeXBlIjogMCwNCiAgImRhdGVSYW5nZXMiOiBbDQogICAgIjFkfDEiLA0KICAgICIxbXwzMCIsDQogICAgIjNtfDYwIiwNCiAgICAiMTJtfDFEIiwNCiAgICAiNjBtfDFXIiwNCiAgICAiYWxsfDFNIg0KICBdDQp9DQogIDwvc2NyaXB0Pg0KPC9kaXY+DQoNCg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPHNwYW4gY2xhc3M9ImNhcHRpb25EYXJrIGNlbnRlciI+QUNDT1VOVCBQQUNLQUdFUzwvc3Bhbj4NCjxkaXYgY2xhc3M9IndyYXAiPg0KICAgIDxkaXYgY2xhc3M9InJvdyI+DQogICAgICAgIDxkaXYgY2xhc3M9InJvdyI+DQogICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0gY29sNiI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGFuQ2FyZEZpcnN0Ij4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsZWZ0IiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKGltZy9jYXJkX2JnXzEucG5nKTsiPg0KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2FwIj5CUk9OWkU8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgIDxwPlBheW91dHMgd29uJ3RiZSBhdmFpbGFiZSB0aWxsIGVuZCBvZiBwbGFuIGR1cmF0aW9uIDwvcD4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGVzY3IiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPCEtLQ0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBjdCI+NDAlPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+MzYgSE9VUlM8L3NwYW4+LS0+DQogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJkYXNoYm9hcmQvcmVnaXN0ZXIucGhwDQogICAgICAgICIgY2xhc3M9ImJ0bkZpbGxDb2xvcjFNZCI+Q2hvb3NlIFRoaXMgUGxhbjwvYT4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJpbmZvIj4NCiAgICAgICAgICAgICAgICAgICAgPGxpPk1pbiBEZXBvc2l0IDxzcGFuPjUwMCBVU0Q8L3NwYW4+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgPGxpPk1pbiBXaXRoZHJhdyBBbW91bnQgPHNwYW4+MzAwIFVTRDwvc3Bhbj48L2xpPg0KICAgICAgICAgICAgICAgICAgICA8bGk+TWluIFdpdGhkcmF3IENyeXB0byBBbW91bnQgPHNwYW4+MzAwIFVTRDwvc3Bhbj48L2xpPg0KICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJub3RlcyI+DQogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJoYXZlIj5Gb3IgN2RheShzKTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImhhdmUiPjIuMiBkYWlseSBwZXJjZW50PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iaGF2ZSI+JDEsNDk5IG1heCBwcmljZTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImhhdmUiPk9yZGVyIE5vdGlmaWNhdGlvbnM8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJoYXZlIj4yJSBSZWZlcnJhbCBwZXJjZW50PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iaGF2ZSI+U3VwcG9ydCAyNC83PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iaGF2ZSI+VXBkYXRlczwvbGk+DQogICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSBjb2w2Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InBsYW5DYXJkU2Vjb25kIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsZWZ0IiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKGltZy9jYXJkX2JnXzIucG5nKTsiPg0KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2FwIj5TSUxWRVI8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgIDxwPlBheW91dHMgd29uJ3RiZSBhdmFpbGFiZSB0aWxsIGVuZCBvZiBwbGFuIGR1cmF0aW9uIDwvcD4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGVzY3IiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPCEtLQ0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBjdCI+MjAlPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+MjQgSE9VUlM8L3NwYW4+LS0+DQogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJkYXNoYm9hcmQvcmVnaXN0ZXIucGhwDQogICAgICAgICIgY2xhc3M9ImJ0bkZpbGxDb2xvcjJNZCI+Q2hvb3NlIFRoaXMgUGxhbjwvYT4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJpbmZvIj4NCiAgICAgICAgICAgICAgICAgICAgPGxpPk1pbiBEZXBvc2l0IDxzcGFuPjEsNTAwIFVTRDwvc3Bhbj48L2xpPg0KICAgICAgICAgICAgICAgICAgICA8bGk+TWluIFdpdGhkcmF3IEFtb3VudCA8c3Bhbj4xLDAwMCBVU0Q8L3NwYW4+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgPGxpPk1pbiBXaXRoZHJhdyBDcnlwdG8gQW1vdW50IDxzcGFuPjEsMDAwIFVTRDwvc3Bhbj48L2xpPg0KICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJub3RlcyI+DQogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJoYXZlIj5Gb3IgN2RheShzKTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImhhdmUiPjIuNSBkYWlseSBwZXJjZW50PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iaGF2ZSI+JDMsNDk5IG1heCBwcmljZTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImhhdmUiPk9yZGVyIE5vdGlmaWNhdGlvbnM8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJoYXZlIj4yJSBSZWZlcnJhbCBwZXJjZW50PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iaGF2ZSI+U3VwcG9ydCAyNC83PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iaGF2ZSI+VXBkYXRlczwvbGk+DQogICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCjxocj4NCiAgICA8ZGl2IGNsYXNzPSJyb3ciPg0KICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtIGNvbDYiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0icGxhbkNhcmRGaXJzdCI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGVmdCIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybChpbWcvY2FyZF9iZ18xLnBuZyk7Ij4NCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhcCI+R09MRCBQTEFOPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICA8cD5QYXlvdXRzIHdvbid0YmUgYXZhaWxhYmUgdGlsbCBlbmQgb2YgcGxhbiBkdXJhdGlvbiA8L3A+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRlc2NyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwY3QiPjQwJTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjM2IEhPVVJTPC9zcGFuPi0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iZGFzaGJvYXJkL3JlZ2lzdGVyLnBocA0KICAgICAgICAiIGNsYXNzPSJidG5GaWxsQ29sb3IxTWQiPkNob29zZSBUaGlzIFBsYW48L2E+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iaW5mbyI+DQogICAgICAgICAgICAgICAgICAgIDxsaT5NaW4gRGVwb3NpdCA8c3Bhbj4zLDUwMCBVU0Q8L3NwYW4+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgPGxpPk1pbiBXaXRoZHJhdyBBbW91bnQgPHNwYW4+MywwMDAgVVNEPC9zcGFuPjwvbGk+DQogICAgICAgICAgICAgICAgICAgIDxsaT5NaW4gV2l0aGRyYXcgQ3J5cHRvIEFtb3VudCA8c3Bhbj4zLDAwMCBVU0Q8L3NwYW4+PC9saT4NCiAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibm90ZXMiPg0KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iaGF2ZSI+Rm9yIDdkYXkocyk8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJoYXZlIj4yLjc1IGRhaWx5IHBlcmNlbnQ8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJoYXZlIj4kNiw0OTkgbWF4IHByaWNlPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iaGF2ZSI+T3JkZXIgTm90aWZpY2F0aW9uczwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImhhdmUiPjMlIFJlZmVycmFsIHBlcmNlbnQ8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJoYXZlIj5TdXBwb3J0IDI0Lzc8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJoYXZlIj5VcGRhdGVzPC9saT4NCiAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtIGNvbDYiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0icGxhbkNhcmRTZWNvbmQiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxlZnQiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1nL2NhcmRfYmdfMi5wbmcpOyI+DQogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXAiPlBSRU1JVU0gUExBTjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgPHA+UGF5b3V0cyB3b24ndGJlIGF2YWlsYWJlIHRpbGwgZW5kIG9mIHBsYW4gZHVyYXRpb24gPC9wPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXNjciI+DQogICAgICAgICAgICAgICAgICAgICAgICA8IS0tDQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icGN0Ij41MCU8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj40OCBIT1VSUzwvc3Bhbj4tLT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImRhc2hib2FyZC9yZWdpc3Rlci5waHANCiAgICAgICAgIiBjbGFzcz0iYnRuRmlsbENvbG9yMk1kIj5DaG9vc2UgVGhpcyBQbGFuPC9hPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImluZm8iPg0KICAgICAgICAgICAgICAgICAgICA8bGk+TWluIERlcG9zaXQgPHNwYW4+NSwwMDAgVVNEPC9zcGFuPjwvbGk+DQogICAgICAgICAgICAgICAgICAgIDxsaT5NaW4gV2l0aGRyYXcgRUMgQW1vdW50IDxzcGFuPjQsNTAwIFVTRDwvc3Bhbj48L2xpPg0KICAgICAgICAgICAgICAgICAgICA8bGk+TWluIFdpdGhkcmF3IENyeXB0byBBbW91bnQgPHNwYW4+NSwwMDAgVVNEPC9zcGFuPjwvbGk+DQogICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5vdGVzIj4NCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImhhdmUiPkZvciA3ZGF5KHMpPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iaGF2ZSI+My41IGRhaWx5IHBlcmNlbnQ8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJoYXZlIj4kOSw5OTkgbWF4IHByaWNlPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iaGF2ZSI+T3JkZXIgTm90aWZpY2F0aW9uczwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImhhdmUiPjMuMiUgUmVmZXJyYWwgcGVyY2VudDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImhhdmUiPlN1cHBvcnQgMjQvNzwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImhhdmUiPlVwZGF0ZXM8L2xpPg0KICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQo8aHI+DQogICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0gY29sNiI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGFuQ2FyZFNlY29uZCI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGVmdCIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybChpbWcvY2FyZF9iZ18yLnBuZyk7Ij4NCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhcCI+RU1FUkFMRCBQTEFOPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICA8cD5QYXlvdXRzIHdvbid0YmUgYXZhaWxhYmUgdGlsbCBlbmQgb2YgcGxhbiBkdXJhdGlvbiA8L3A+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRlc2NyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwY3QiPjUwJTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjQ4IEhPVVJTPC9zcGFuPi0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iZGFzaGJvYXJkL3JlZ2lzdGVyLnBocA0KICAgICAgICAiIGNsYXNzPSJidG5GaWxsQ29sb3IyTWQiPkNob29zZSBUaGlzIFBsYW48L2E+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iaW5mbyI+DQogICAgICAgICAgICAgICAgICAgIDxsaT5NaW4gRGVwb3NpdCA8c3Bhbj4xMCwwMDAgVVNEPC9zcGFuPjwvbGk+DQogICAgICAgICAgICAgICAgICAgIDxsaT5NaW4gV2l0aGRyYXcgRUMgQW1vdW50IDxzcGFuPjksNTAwIFVTRDwvc3Bhbj48L2xpPg0KICAgICAgICAgICAgICAgICAgICA8bGk+TWluIFdpdGhkcmF3IENyeXB0byBBbW91bnQgPHNwYW4+OSw1MDAgVVNEPC9zcGFuPjwvbGk+DQogICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5vdGVzIj4NCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImhhdmUiPkZvciA3ZGF5KHMpPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iaGF2ZSI+My43NSBkYWlseSBwZXJjZW50PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iaGF2ZSI+JDIwLDAwMCBtYXggcHJpY2U8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJoYXZlIj5PcmRlciBOb3RpZmljYXRpb25zPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iaGF2ZSI+NCUgUmVmZXJyYWwgcGVyY2VudDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImhhdmUiPlN1cHBvcnQgMjQvNzwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImhhdmUiPlVwZGF0ZXM8L2xpPg0KICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgDQoNCiAgICAgICAgPHN0eWxlPg0KICAgICAgICAgICAgLmJvcmRlcmZvci10ZXh0ZmllbGQgew0KICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICFpbXBvcnRhbnQ7DQogICAgICAgICAgICB9DQogICAgICAgIDwvc3R5bGU+DQogICAgICAgIDxzdHlsZT4NCiAgICAgICAgICAgIC5mb250IHsNCiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgPC9zdHlsZT4NCg0KDQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dEJsb2NrIj4NCg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHRCbG9jayBjb250YWluZXIiPg0KICAgICAgICAgICAgICAgICAgICA8cD4tPGJyPjxicj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjZW50ZXI+PGI+Rk9SRVggVFJBRElORyBQTEFOPC9iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjZW50ZXI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxicj48YnI+IDxiPklOIDI0N29wdGlvbnRyYWRlZngsIFdFIEhBVkUgRUFSTkVEIFRIRSBSSUdIVCBUTyBIRUxQIFBFT1BMRQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJBREUgRk9SRUlHTiBFWENIQU5HRVMgV0hJQ0ggRU5BQkxFUyBUSEVNIEdFVCBBIEdPT0QgUFJPRklUIFJFVFVSTjwvYj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyPjxicj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJdCdzIGFsbCBhYm91dCBtYWtpbmcgdGhlIHJpZ2h0IHZhbHVhdGlvbiBhbmQgcHJlZGljdGlvbiBvbiB0aGUgc3RvY2sgbWFya2V0DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsaW5nIHlvdSB0byBlYXJuIGEgc3VmZmljaWVudCBhbW91bnQgb2YgbW9uZXkgd2hlbiB0aGUgdHJhZGUgaXMgZ29vZCwgaXQncw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3QgbWFnaWMgdGhhdCdzIHRoZSBiYXNpcyBvZiB3aGF0IEZPUkVYIGlzIGFsbCBhYm91dA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNvIGVzc2VudGlhbGx5IHdlIGhlbHAgeW91IG1ha2UgbW9uZXkgdGhyb3VnaCBvdXIgZXhwZXJ0IHRyYWRlcnMgd29ya2luZyB3aXRoDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSB3b3JsZCBiZXN0IGJyb2tlcnMgd2hvIGhlbHBzIHRvIGFuYWx5emUgdGhlIG1hcmtldCBhbmQgd2hhdCBwb3NzaWJseSB3aWxsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhcHBlbiBpbiB0aGUgbWFya2V0DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxicj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb3IgaW5zdGFuY2UsIHlvdSBjYW4gZ2VuZXJhdGUgYXMgbXVjaCBhcyA0MDAwJCBieSB0cmFkaW5nIHdpdGggNTAwJCBpbiBhIHdlZWsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiB5b3UgYXJlIHRyb3VibGVkIGFib3V0IHlvdXIgaW5leHBlcmllbmNlIGFuZCBhbGwsIHRoYXQncyB3aGVyZSB3ZSBjb21lIGluLg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaHJvdWdoIG91ciBleHBlcnRzIHdlIGhlbHAgeW91IGRvIHRoZSB0cmFkaW5nIHdoaWNoIGluY2x1ZGVzPGJyPjxicj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4gV2F0Y2hpbmcsIG1vbml0b3JpbmcgYW5kIGFuYWx5emluZyB0aGUgbWFya2V0IHZlcnkgd2VsbDxicj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMi4gY2hvb3NpbmcgYSB3ZWxsIGJhbGFuY2VkIGxvdCBzaXplIHdoaWNoIG1hdGNoZXMgeW91ciBhY2NvdW50IHRvIHByZXZlbnQgbG9zcw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMuIERlY2lkaW5nIHRoZSBwaXAgdGhhdCB3aWxsIHlpZWxkIGEgcHJvZml0YWJsZSBkYWlseSByZXR1cm48YnI+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC4gUGxhY2luZyBhbmQgbW9uaXRvcmluZyB0aGUgb3JkZXINCg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCB3ZSBjcmVhdGUgYW4gYXZlbnVlIHdoaWNoIGVuYWJsZXMgeW91IGNoZWNrIHlvdXIgcHJvZ3Jlc3MgYXQgdGhlIGVuZCBvZg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVyeSBkYXkgdG8gc2VlIGhvdyBpdCdzIG1vdmluZywgUXVpdGUgZmFpciBpc24ndCBpdC48YnI+PGJyPjxiPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUkFESU5HIFBMQU5TIElOQ0xVREVTDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdFRUtMWSBUUkFESU5HIFBMQU4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW0gJDEwMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW11bSBVTkxJTUlURUQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnI+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTk9URTogWU9VUiBQUk9GSVQgSVMgTk9UIENPTlNUQU5UIElOIFRIRSBTRU5TRSBUSEFUIFRIRSBJTlZFU1RNRU5UIFBMQU4gWU9VDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENIT09TRSBXSUxMIERFVEVSTUlORSBIT1cgTVVDSCBQUk9GSVQgSU4gUkVUVVJOIFlPVSBXSUxMIEdFVA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElOIEVTU0VOQ0UsIFRIRSBCSUdHRVIgWU9VUiBJTlZFU1RNRU5UIE9OIEVBQ0ggUExBTiBZT1UgT1BURUQgRk9SIFRIRSBCSUdHRVINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWU9VUiBJTkNPTUUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPkhPVyBXRSAoMjQ3b3B0aW9udHJhZGVmeCkgTFREIEVBUk48L2I+PGJyPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdFIEVBUk4gQVMgV0UgSEVMUCBZT1UgRUFSTiwgRE9OJ1QgR0VUIElUIFRXSVNURUQuIFdFIE9OTFkgVEFLRSAxMCUgT0YgWU9VUg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUVLTFkgUFJPRklUIEFGVEVSIEFTU0lTVElORyBZT1UgTUFLRSBBIEdPT0QgQUNDVU1VTEFURUQgV0VFS0xZIFBST0ZJVC4NCiAgICAgICAgICAgICAgICAgICAgPC9jZW50ZXI+PC9jZW50ZXI+PC9wPjxicj48YnI+DQogICAgICAgICAgICAgICAgPC9kaXY+DQoNCg0KICAgICAgICAgICAgICAgIDwhLS08ZGl2IGNsYXNzPSJpdGVtIGNvbDYiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGFuQ2FyZEZpcnN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxlZnQiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1nL2NhcmRfYmdfMi5wbmcpOyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhcCI+UFJPRkVTU0lPTkFMIFBMQU48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGVzY3IiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJkYXNoYm9hcmQvcmVnaXN0ZXIiIGNsYXNzPSJidG5GaWxsQ29sb3IyTWQiPk1ha2UgZGVwb3NpdDwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJpbmZvIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+TWluIERlcG9zaXQgPHNwYW4+MjAwMDAgVVNEPC9zcGFuPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPk1heCBEZXBvc2l0IDxzcGFuPjQ5MDAwIFVTRDwvc3Bhbj48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5NaW4gV2l0aGRyYXcgRUMgQW1vdW50IDxzcGFuPjUwMDAwIFVTRDwvc3Bhbj48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5NaW4gV2l0aGRyYXcgQ3J5cHRvIEFtb3VudCA8c3Bhbj41MDAwMCBVU0Q8L3NwYW4+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5vdGVzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+MjQvNyBzdXBwb3J0PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+UmlzayBNYW5hZ2VtZW50PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+RnJlZSBTaWduYWw8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5VbmxpbWl0ZWQgU3VwcG9ydDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtIGNvbDYiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGFuQ2FyZFNlY29uZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsZWZ0IiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKGltZy9jYXJkX2JnXzIucG5nKTsiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXAiPk1BWCBQTEFOPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRlc2NyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iZGFzaGJvYXJkL3JlZ2lzdGVyIiBjbGFzcz0iYnRuRmlsbENvbG9yMk1kIj5NYWtlIGRlcG9zaXQ8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iaW5mbyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPk1pbiBEZXBvc2l0IDxzcGFuPjUwMDAwIFVTRDwvc3Bhbj48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5NYXggRGVwb3NpdCA8c3Bhbj5VTkxJTUlURUQgVVNEPC9zcGFuPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPk1pbiBXaXRoZHJhdyBFQyBBbW91bnQgPHNwYW4+MTAwMDAwIFVTRDwvc3Bhbj48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5NaW4gV2l0aGRyYXcgQ3J5cHRvIEFtb3VudCA8c3Bhbj4xMDAwMDAgVVNEPC9zcGFuPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJub3RlcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjI0Lzcgc3VwcG9ydDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlJpc2sgTWFuYWdlbWVudDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPkZyZWUgU2lnbmFsPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+VW5saW1pdGVkIFN1cHBvcnQ8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+LS0+DQogICAgICAgICAgICA8L2Rpdj4NCg0KDQoNCiAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQo8L2Rpdj4NCg0KPGRpdiBjbGFzcz0icGxhblByb2ZpdCBncmFkQmFjayI+DQogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgPGRpdiBjbGFzcz0iY2ZpeCI+DQogICAgICAgICAgICA8Zm9ybSBvbnN1Ym1pdD0icmV0dXJuIGNhbGMoKSI+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZm9ybV9pZCIgdmFsdWU9IjE1ODQwMjcyODUzNTU2Ij4NCiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImZvcm1fdG9rZW4iIHZhbHVlPSIiPg0KICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZm9ybV9pZCIgdmFsdWU9IiI+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZm9ybV90b2tlbiIgdmFsdWU9IiI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybUJsb2NrTGlnaHQiPg0KICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJjYWxjX2Ftb3VudCI+QW1vdW50OjwvbGFiZWw+DQogICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZW50ZXJOdW0iIHR5cGU9Im51bWJlciIgbWluPSIyMCIgbWF4PSIxOTkiIHZhbHVlPSIiIGlkPSJjYWxjX2Ftb3VudCI+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybUJsb2NrTGlnaHQiPg0KICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJjYWxjX3BsYW4iPkNob29zaW5nIG9mIHBsYW46PC9sYWJlbD4NCiAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBuYW1lPSJjaG9vc2VQbGFuIiBpZD0iY2FsY19wbGFuIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjEiIGRhdGEtbWluPSI1MDAiIGRhdGEtbWF4PSI0OTk5IiBkYXRhLXBlcmM9IjUwIiBkYXRhLXBlcj0iMSIgY2hlY2tlZD0iIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVEFSVEVSPC9vcHRpb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSIyIiBkYXRhLW1pbj0iNTAwMCIgZGF0YS1tYXg9Ijk5OTkiIGRhdGEtcGVyYz0iNzAiIGRhdGEtcGVyPSIxIj5QUkVNSVVNDQogICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjMiIGRhdGEtbWluPSIyMDAwMCIgZGF0YS1tYXg9IjQ5OTk5IiBkYXRhLXBlcmM9IjgwIiBkYXRhLXBlcj0iMSI+RUxJVEUNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iNCIgZGF0YS1taW49IjUwMDAwIiBkYXRhLW1heD0iNTAwMDAwIiBkYXRhLXBlcmM9IjEyMCIgZGF0YS1wZXI9IjEiPlZJUA0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxvcHRpb24gdmFsdWU9IjQiIGRhdGEtbWluPSIyMDAwMCIgZGF0YS1tYXg9IjQ5MDAwIiBkYXRhLXBlcmM9IjE1MCIgZGF0YS1wZXI9IjEiPlBST0ZFU1NJT05BTA0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSI0IiBkYXRhLW1pbj0iNTAwMDAiIGRhdGEtbWF4PSIxMDAwMDAwMCIgZGF0YS1wZXJjPSIxNTAiIGRhdGEtcGVyPSIxIj5NQVgNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPiAtLT4NCiAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VtIj4NCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aXRsZSI+RXhwZWN0ZWQgWW91ciBwcm9maXQ6PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibnVtIj48YiBpZD0icHJvZml0Ij4wLjAwPC9iPiBVU0Q8L3NwYW4+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgaWQ9ImNhbGNfYnRuIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPg0KICAgICAgICAgICAgPC9mb3JtPg0KICAgICAgICAgICAgPGEgaHJlZj0iZGFzaGJvYXJkL3JlZ2lzdGVyLnBocCIgY2xhc3M9ImJ0bkZpbGxEYXJrTWQiPkdldCBtb25leTwvYT4NCiAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQo8L2Rpdj4NCg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIGZ1bmN0aW9uIGNhbGMoKSB7DQogICAgICAgIHBlcmNlbnQgPSBqUXVlcnkoJyNjYWxjX3BsYW4gb3B0aW9uOmNoZWNrZWQnKS5kYXRhKCdwZXJjJyk7DQogICAgICAgIHBlcmlvZCA9IGpRdWVyeSgnI2NhbGNfcGxhbiBvcHRpb246Y2hlY2tlZCcpLmRhdGEoJ3BlcicpOw0KICAgICAgICBhbW91bnQgPSBqUXVlcnkoJyNjYWxjX2Ftb3VudCcpLnZhbCgpOw0KICAgICAgICBqUXVlcnkoJyNwcm9maXQnKS5odG1sKChwZXJpb2QgKiBhbW91bnQgKiBwZXJjZW50IC8gMTAwKS50b0ZpeGVkKDIpKTsNCiAgICB9DQoNCiAgICBqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkgew0KICAgICAgICBjYWxjKCk7DQoNCiAgICAgICAgalF1ZXJ5KCcjY2FsY19hbW91bnQnKS5vbignY2hhbmdlIGtleXVwJywgZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBjYWxjKCk7DQogICAgICAgIH0pOw0KDQogICAgICAgIGpRdWVyeSgnI2NhbGNfcGxhbicpLm9uKCdjaGFuZ2UnLCBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIGpRdWVyeSgnI2NhbGNfYW1vdW50JykudmFsKGpRdWVyeSgnI2NhbGNfcGxhbiBvcHRpb246Y2hlY2tlZCcpLmRhdGEoJ21pbicpKTsNCiAgICAgICAgICAgIGpRdWVyeSgnI2NhbGNfYW1vdW50JykuYXR0cignbWluJywgalF1ZXJ5KCcjY2FsY19wbGFuIG9wdGlvbjpjaGVja2VkJykuZGF0YSgnbWluJykpOw0KICAgICAgICAgICAgalF1ZXJ5KCcjY2FsY19hbW91bnQnKS5hdHRyKCdtYXgnLCBqUXVlcnkoJyNjYWxjX3BsYW4gb3B0aW9uOmNoZWNrZWQnKS5kYXRhKCdtYXgnKSk7DQoNCiAgICAgICAgICAgIGNhbGMoKTsNCiAgICAgICAgfSk7DQogICAgfSkNCjwvc2NyaXB0Pg0KDQo8ZGl2IGNsYXNzPSJwcm9ncmFtIGdyYWRCYWNrIGdyZXlJbWdSZXYiPg0KICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogICAgICAgIDxzcGFuIGNsYXNzPSJjYXB0aW9uRGFyayBjZW50ZXIiPkFmZmlsaWF0ZSBwcm9ncmFtPC9zcGFuPg0KICAgICAgICA8ZGl2IGNsYXNzPSJ3cmFwIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSBjb2w2Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3JJbmZvRmlyc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5uZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJudW0iPjY8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+MVNUIDxicj5MRVZFTDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icGN0Ij4lPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0gY29sNiI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dySW5mb1NlY29uZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbm5lciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im51bSI+MTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4yTkQgPGJyPkxFVkVMPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwY3QiPiU8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhbXAiPiY8L3NwYW4+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0QmxvY2siPg0KICAgICAgICAgICAgPHA+MjQ3b3B0aW9udHJhZGVmeCBhcHByZWNpYXRlcyB0aGVpciBhY3RpdmUgcGFydG5lcnMgdGhhdCBoZWxwIHVzIGRldmVsb3AgYW5kDQogICAgICAgICAgICAgICAgYWR2YW5jZSBvdXIgY29tcGFueS4gQXMgYSB0aGFuayB5b3UgZm9yIGVhY2ggbmV3bHkgaW52aXRlZCBwYXJ0aWNpcGFudCBpbiB0aGUgcHJvamVjdCwgd2UgY2hhcmdlDQogICAgICAgICAgICAgICAgcmVmZXJyYWwgY29tbWlzc2lvbnMgdG8gdGhlaXIgc3BvbnNvcnMuIEluIGFkZGl0aW9uLCBpZiB5b3VyIGludml0ZWVzIHdpbGwgYWxzbyBkZXZlbG9wIG91cg0KICAgICAgICAgICAgICAgIGNvbXBhbnksIHlvdSB3aWxsIGFsc28gZ2V0IGV2ZW4gbW9yZSBib251c2VzIGZvciBpdCE8L3A+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8YSBocmVmPSJhZmZpbGlhdGUucGhwIiBjbGFzcz0iYnRuRmlsbEdyYWRMZyBjZW50ZXIiPkxlYXJuIE1vcmU8L2E+DQoNCiAgICAgICAgPGRpdiBjbGFzcz0iY2ZpeCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0aXN0aWMiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW1nIj48c3BhbiBjbGFzcz0iaWNvbi1kYXRlIj48L3NwYW4+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGl0bGUiPk9ubGluZSBEYXlzOjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJudW0iPjcwPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbWciPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLXByb2ZpbGUiPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpdGxlIj5PbmxpbmUgVXNlcnM6PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im51bSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbWluID0gNjIyNzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1heCA9IDIwMjczOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmFuZG9tID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKCttYXggLSArbWluKSkgKyArbWluOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC53cml0ZSgiIiArIHJhbmRvbSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zY3JpcHQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbWciPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLXBheV9pbiI+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGl0bGUiPnRvdGFsIHdpdGhkcmF3YWxzOjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJudW0iPjk5NzI3OTM4PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbWciPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLXBheV9vdXQiPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpdGxlIj50b3RhbCBkZXBvc2l0czo8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibnVtIj40NTQ3NjEwPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbWciPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLXBhcnRuZXIiPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpdGxlIj50b3RhbCB1c2Vyczo8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibnVtIj41MTAwPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdFRibCI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSBjb2w2Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPmxhc3QgZGVwb3NpdDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRhYmxlIGZ1bGwgaW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRSb3ciPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRDZWxsIG1pZGRsZSBuYW1lIj5nYXJ5PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRDZWxsIG1pZGRsZSBkYXRlIj5GcmlkYXkgMTB0aCBvZiBPY3QgMjAyNTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Q2VsbCBtaWRkbGUgc3VtIj4kDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbWluID0gOTI3Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbWF4ID0gNjI3MzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJhbmRvbSA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqICgrbWF4IC0gK21pbikpICsgK21pbjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQud3JpdGUoIiIgKyByYW5kb20pOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2NyaXB0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Q2VsbCBib3R0b20gcmlnaHQgcGF5Ij48aW1nIHNyYz0iaW1nL3BzX2IvMTAwMC5wbmciIGFsdD0icGF5Ij48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idFJvdyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idENlbGwgbWlkZGxlIG5hbWUiPkFtZTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Q2VsbCBtaWRkbGUgZGF0ZSI+RnJpZGF5IDEwdGggb2YgT2N0IDIwMjU8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idENlbGwgbWlkZGxlIHN1bSI+JA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1pbiA9IDUzNDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1heCA9IDExNDMwOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmFuZG9tID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKCttYXggLSArbWluKSkgKyArbWluOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC53cml0ZSgiIiArIHJhbmRvbSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zY3JpcHQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRDZWxsIGJvdHRvbSByaWdodCBwYXkiPjxpbWcgc3JjPSJpbWcvcHNfYi8xMDAwLnBuZyIgYWx0PSJwYXkiPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0Um93Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Q2VsbCBtaWRkbGUgbmFtZSI+amVycnkyMTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Q2VsbCBtaWRkbGUgZGF0ZSI+RnJpZGF5IDEwdGggb2YgT2N0IDIwMjU8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idENlbGwgbWlkZGxlIHN1bSI+JA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1pbiA9IDg0NzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1heCA9IDI2NDU7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByYW5kb20gPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAoK21heCAtICttaW4pKSArICttaW47DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LndyaXRlKCIiICsgcmFuZG9tKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NjcmlwdD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idENlbGwgYm90dG9tIHJpZ2h0IHBheSI+PGltZyBzcmM9ImltZy9wc19iLzEwMDAucG5nIiBhbHQ9InBheSI+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRSb3ciPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRDZWxsIG1pZGRsZSBuYW1lIj5Sa3VtYmhhcjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Q2VsbCBtaWRkbGUgZGF0ZSI+RnJpZGF5IDEwdGggb2YgT2N0IDIwMjU8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idENlbGwgbWlkZGxlIHN1bSI+JA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1pbiA9IDI3Mjc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBtYXggPSAxMDI3MzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJhbmRvbSA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqICgrbWF4IC0gK21pbikpICsgK21pbjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQud3JpdGUoIiIgKyByYW5kb20pOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2NyaXB0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Q2VsbCBib3R0b20gcmlnaHQgcGF5Ij48aW1nIHNyYz0iaW1nL3BzX2IvMTAwMC5wbmciIGFsdD0icGF5Ij48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idFJvdyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idENlbGwgbWlkZGxlIG5hbWUiPkphenpfOTk8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idENlbGwgbWlkZGxlIGRhdGUiPkZyaWRheSAxMHRoIG9mIE9jdCAyMDI1PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRDZWxsIG1pZGRsZSBzdW0iPiQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBtaW4gPSA0Mjc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBtYXggPSA2MjczOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmFuZG9tID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKCttYXggLSArbWluKSkgKyArbWluOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC53cml0ZSgiIiArIHJhbmRvbSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zY3JpcHQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRDZWxsIGJvdHRvbSByaWdodCBwYXkiPjxpbWcgc3JjPSJpbWcvcHNfYi8xMDAwLnBuZyIgYWx0PSJwYXkiPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KDQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0gY29sNiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbm5lciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5sYXN0IFdJVEhEUkFXQUxTPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0idGFibGUgZnVsbCBvdXQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tLS0NCiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0Um93Ij4NCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idENlbGwgbWlkZGxlIG5hbWUiPlRFU1Q8L3NwYW4+DQogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRDZWxsIG1pZGRsZSBkYXRlIj5URVNUPC9zcGFuPg0KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Q2VsbCBtaWRkbGUgc3VtIj5URVNUPC9zcGFuPg0KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Q2VsbCBib3R0b20gcmlnaHQgcGF5Ij5URVNUPC9zcGFuPg0KICAgICAgICAgICAgPC9saT4tLS0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRSb3ciPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRDZWxsIG1pZGRsZSBuYW1lIj5KYW5lPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRDZWxsIG1pZGRsZSBkYXRlIj5GcmlkYXkgMTB0aCBvZiBPY3QgMjAyNTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Q2VsbCBtaWRkbGUgc3VtIj4kDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbWluID0gMjQ4Mjc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBtYXggPSA3MDI3MzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJhbmRvbSA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqICgrbWF4IC0gK21pbikpICsgK21pbjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQud3JpdGUoIiIgKyByYW5kb20pOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2NyaXB0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Q2VsbCBib3R0b20gcmlnaHQgcGF5Ij48aW1nIHNyYz0iaW1nL3BzX2IvMTAwMC5wbmciIGFsdD0icGF5Ij48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idFJvdyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idENlbGwgbWlkZGxlIG5hbWUiPkRvbGFwbzwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Q2VsbCBtaWRkbGUgZGF0ZSI+RnJpZGF5IDEwdGggb2YgT2N0IDIwMjU8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idENlbGwgbWlkZGxlIHN1bSI+JA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1pbiA9IDQyODI3Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbWF4ID0gNjMyNzM7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByYW5kb20gPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAoK21heCAtICttaW4pKSArICttaW47DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LndyaXRlKCIiICsgcmFuZG9tKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NjcmlwdD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idENlbGwgYm90dG9tIHJpZ2h0IHBheSI+PGltZyBzcmM9ImltZy9wc19iLzEwMDAucG5nIiBhbHQ9InBheSI+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRSb3ciPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRDZWxsIG1pZGRsZSBuYW1lIj5JY2hraTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Q2VsbCBtaWRkbGUgZGF0ZSI+RnJpZGF5IDEwdGggb2YgT2N0IDIwMjU8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idENlbGwgbWlkZGxlIHN1bSI+JA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1pbiA9IDczNDUyOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbWF4ID0gOTQ3NjM7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByYW5kb20gPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAoK21heCAtICttaW4pKSArICttaW47DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LndyaXRlKCIiICsgcmFuZG9tKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NjcmlwdD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idENlbGwgYm90dG9tIHJpZ2h0IHBheSI+PGltZyBzcmM9ImltZy9wc19iLzEwMDAucG5nIiBhbHQ9InBheSI+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRSb3ciPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRDZWxsIG1pZGRsZSBuYW1lIj5DbGludG9uPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRDZWxsIG1pZGRsZSBkYXRlIj5GcmlkYXkgMTB0aCBvZiBPY3QgMjAyNTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Q2VsbCBtaWRkbGUgc3VtIj4kDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbWluID0gMTA4Mjc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBtYXggPSA5MDI3MzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJhbmRvbSA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqICgrbWF4IC0gK21pbikpICsgK21pbjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQud3JpdGUoIiIgKyByYW5kb20pOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2NyaXB0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Q2VsbCBib3R0b20gcmlnaHQgcGF5Ij48aW1nIHNyYz0iaW1nL3BzX2IvMTAwMC5wbmciIGFsdD0icGF5Ij48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idFJvdyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idENlbGwgbWlkZGxlIG5hbWUiPkFubjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0Q2VsbCBtaWRkbGUgZGF0ZSI+RnJpZGF5IDEwdGggb2YgT2N0IDIwMjU8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idENlbGwgbWlkZGxlIHN1bSI+JA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1pbiA9IDQyODI3Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbWF4ID0gNjMyNzM7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByYW5kb20gPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAoK21heCAtICttaW4pKSArICttaW47DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LndyaXRlKCIiICsgcmFuZG9tKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NjcmlwdD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idENlbGwgYm90dG9tIHJpZ2h0IHBheSI+PGltZyBzcmM9ImltZy9wc19iLzEwMDAucG5nIiBhbHQ9InBheSI+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJjaXJjbGVCZyI+DQogICAgICAgIDxkaXYgY2xhc3M9ImNpcmNsZSI+PC9kaXY+DQogICAgPC9kaXY+DQo8L2Rpdj4NCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQo8YnI+PGJyPjxicj4NCjxicj4NCjxzdHlsZT4NCiAgICAqew0KICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3gNCiAgICB9DQogICAgLmJvZHkxew0KICAgIG1hcmdpbjogMDsNCiAgICBwYWRkaW5nOiAwOw0KICAgIGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7DQogICAgZm9udC13ZWlnaHQ6IDEwMDsNCiAgICBjb2xvcjogIzc3NzsNCiAgICB9DQogICAgLmNvbnRhaW5lcjF7DQogICAgYmFja2dyb3VuZDogcmdiKDIzNywgMjM5LCAyNDApOw0KICAgIC8qIGhlaWdodDogMTAwdmg7ICovDQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KICAgIH0NCg0KICAgIC50ZXN0aW1vbmlhbC1jYXJkMXsNCiAgICBtaW4taGVpZ2h0OiA0MDBweDsNCiAgICB3aWR0aDogMzUwcHg7DQogICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7DQogICAgYm9yZGVyLXJhZGl1czogMTBweDsNCiAgICBib3gtc2hhZG93OiAwIDhweCAzMHB4IHJnYmEoMCwwLDAsLjMpOw0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgZmxleC1mbG93OiBjb2x1bW47DQogICAgbWFyZ2luOjdweCAxNHB4Ow0KICAgIGp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOw0KICAgIA0KICAgIH0NCiAgICAudGV4dDF7DQogICAgICAgIGNvbG9yOmJsYWNrOw0KICAgICAgICBmb250LXdlaWdodDpib2xkOw0KICAgIHBhZGRpbmc6IDIuMmVtOw0KICAgIGxpbmUtaGVpZ2h0OiAxLjdlbTsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgZm9udC1zaXplOiAxOHB4Ow0KICAgIH0NCiAgICAuaW1hZ2Uxew0KICAgIGJhY2tncm91bmQtY29sb3I6dG9tYXRvOw0KICAgIGhlaWdodDogMTIwcHg7DQogICAgd2lkdGg6IDEyMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDUwJTsNCiAgICBib3JkZXI6IDVweCBzb2xpZCB3aGl0ZTsNCiAgICBiYWNrZ3JvdW5kOm5vLXJlcGVhdCBjZW50ZXIvY292ZXIgdXJsKGZhdmljb24ucG5nKTsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdG9wOiAtNTAlOw0KICAgIGxlZnQ6IDUwJTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7DQogICAgZGlzcGxheTpmbGV4Ow0KICAgIGp1c3RpZnktY29udGVudDpjZW50ZXI7DQogICAgDQogICAgfQ0KDQogICAgLmZvb3RlcjF7DQogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjMWEyQjk2IDAlLCAjZDIyQjk2IDEwMCUpOw0KICAgIGhlaWdodDogMTQwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDEwcHggMTBweDsNCiAgICBwb3NpdGlvbjpyZWxhdGl2ZTsNCiAgICANCiAgICB9DQoNCiAgICAucXVvdGUxew0KICAgIGZvbnQtc2l6ZTogNDAwJTsNCiAgICBmbG9hdDogcmlnaHQ7DQogICAgb3BhY2l0eTogLjE7DQogICAgdHJhbnNmb3JtOiByb3RhdGUoMTBkZWcpIHRyYW5zbGF0ZSgtMTBweCwgLTQwcHgpOw0KICAgIGNvbG9yOiM0RDNGQTM7DQogICAgfQ0KDQogICAgLnBlcnNvbjF7DQogICAgY29sb3I6d2hpdGU7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRvcDogNTAlOw0KICAgIGxlZnQ6IDUwJTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMTAwJSk7DQogICAgZm9udC1zaXplOjEuM3JlbTsNCiAgICBmb250LXdlaWdodDogNTAwOw0KICAgIH0NCjwvc3R5bGU+DQoNCg0KDQo8ZGl2IGNsYXNzPSJib2R5MSBwbGFuIHBhZ2UiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1nL2NoYXJ0X2JnLnBuZyksIHVybChpbWcvZ3JleV9iZy5wbmcpOyI+DQoNCjxzcGFuIGNsYXNzPSJjYXB0aW9uRGFyayBjZW50ZXIiPlRvcCBUZXN0aW1vbmllczwvc3Bhbj4NCjxicj48YnI+PGJyPg0KPCEtLSA8Ym9keTE+IC0tPg0KPGRpdiBjbGFzcz0iY29udGFpbmVyMSI+DQogIDxkaXYgY2xhc3M9InRlc3RpbW9uaWFsLWNhcmQxIj4NCiAgICA8ZGl2IGNsYXNzPSJ0ZXh0MSI+SSBnb3QgbXkgaW52ZXN0bWVudCByaWdodCBvbiB0aW1lIHdpbGwgYmUgaW52ZXN0aW5nIG1vcmUgbmV4dCB0aW1lPGkgY2xhc3M9ImZhcyBmYS1xdW90ZS1yaWdodCBxdW90ZSI+PC9pPjwvZGl2Pg0KICAgIA0KICAgIA0KICAgIA0KICAgIDxkaXYgY2xhc3M9ImZvb3RlcjEiPg0KICAgICAgPGRpdiBjbGFzcz0iaW1hZ2UxIj4NCiAgICAgICANCiAgICAgIDwvZGl2Pg0KICAgICAgIDxoMyBjbGFzcz0ncGVyc29uMSc+SmFtZXMgTGFua2EgPC9oMz4NCiAgICAgIA0KICAgICAgDQogICAgPC9kaXY+DQogIDwvZGl2Pg0KICA8ZGl2IGNsYXNzPSJ0ZXN0aW1vbmlhbC1jYXJkMSI+DQogICAgPGRpdiBjbGFzcz0idGV4dDEiPkkganVzdCBnb3QgbXkgcHJvZml0IEkgd2lsbCBpbnZpdGUgbW9yZSBmcmllbmRzIGFuZCBmYW1pbHkgPGkgY2xhc3M9ImZhcyBmYS1xdW90ZS1yaWdodCBxdW90ZSI+PC9pPjwvZGl2Pg0KICAgIA0KICAgIA0KICAgIA0KICAgIDxkaXYgY2xhc3M9ImZvb3RlcjEiPg0KICAgICAgPGRpdiBjbGFzcz0iaW1hZ2UxIj4NCiAgICAgICANCiAgICAgIDwvZGl2Pg0KICAgICAgIDxoMyBjbGFzcz0ncGVyc29uMSc+TWFyaWEgYW1vcjwvaDM+DQogICAgICANCiAgICAgIA0KICAgIDwvZGl2Pg0KICA8L2Rpdj4NCiAgPGRpdiBjbGFzcz0idGVzdGltb25pYWwtY2FyZDEiPg0KICAgIDxkaXYgY2xhc3M9InRleHQxIj5TbyBIYXBweSBUcmFkaW5nIHdpdGggdGhpcyBwbGF0Zm9ybTxpIGNsYXNzPSJmYXMgZmEtcXVvdGUtcmlnaHQgcXVvdGUiPjwvaT48L2Rpdj4NCiAgICANCiAgICANCiAgICANCiAgICA8ZGl2IGNsYXNzPSJmb290ZXIxIj4NCiAgICAgIDxkaXYgY2xhc3M9ImltYWdlMSI+DQogICAgICAgDQogICAgICA8L2Rpdj4NCiAgICAgICA8aDMgY2xhc3M9J3BlcnNvbjEnPkhhcnJpc29uIEtlbHZpbiA8L2gzPg0KICAgICAgDQogICAgICANCiAgICA8L2Rpdj4NCiAgPC9kaXY+DQo8L2Rpdj4NCg0KPCEtLSA8L2JvZHkxPiAtLT4NCg0KPC9kaXY+DQoNCg0KPGJyPjxicj4NCg0KDQoNCg0KDQoNCg0KDQo8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0QmxvY2siPg0KICAgICAgICAgICAgPCEtLSA8aDQ+TGl2ZSBNYXJrZXQgQ2hhcnQ8L2g0PiA8YnI+PGJyPiAtLT4NCjwhLS0gVHJhZGluZ1ZpZXcgV2lkZ2V0IEJFR0lOIC0tPg0KPGRpdiBjbGFzcz0idHJhZGluZ3ZpZXctd2lkZ2V0LWNvbnRhaW5lciI+DQogIDxkaXYgY2xhc3M9InRyYWRpbmd2aWV3LXdpZGdldC1jb250YWluZXJfX3dpZGdldCI+PC9kaXY+DQogIDxkaXYgY2xhc3M9InRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQiPjxhIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LmNvbS8iIHJlbD0ibm9vcGVuZXIgbm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIj48c3BhbiBjbGFzcz0iYmx1ZS10ZXh0Ij5UcmFjayBhbGwgbWFya2V0cyBvbiBUcmFkaW5nVmlldzwvc3Bhbj48L2E+PC9kaXY+DQogIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vczMudHJhZGluZ3ZpZXcuY29tL2V4dGVybmFsLWVtYmVkZGluZy9lbWJlZC13aWRnZXQtc2NyZWVuZXIuanMiIGFzeW5jPg0KICB7DQogICJ3aWR0aCI6IDExMDAsDQogICJoZWlnaHQiOiA1MTIsDQogICJkZWZhdWx0Q29sdW1uIjogIm92ZXJ2aWV3IiwNCiAgImRlZmF1bHRTY3JlZW4iOiAiZ2VuZXJhbCIsDQogICJtYXJrZXQiOiAiZm9yZXgiLA0KICAic2hvd1Rvb2xiYXIiOiB0cnVlLA0KICAiY29sb3JUaGVtZSI6ICJkYXJrIiwNCiAgImxvY2FsZSI6ICJlbiINCn0NCiAgPC9zY3JpcHQ+DQo8L2Rpdj4NCjwhLS0gVHJhZGluZ1ZpZXcgV2lkZ2V0IEVORCAtLT4NCg0KICAgDQo8YnI+DQoNCiAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQo8L2Rpdj4NCg0KDQo8ZGl2IGNsYXNzPSJhZHZUZW1wbCIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybChpbWcvYWR2X2JnLmpwZyk7Ij4NCiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KICAgICAgICA8YnI+DQogICAgICAgIDxzcGFuIGNsYXNzPSJjYXB0aW9uTGlnaHQgY2VudGVyIj5XaHkgY2hvb3NlIHVzPzwvc3Bhbj4NCiAgICAgICAgPGRpdiBjbGFzcz0iYWR2V3JhcCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtIGNvbDQiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1waG9uZSBncmFkVHh0Ij48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGl0bGUiPlJvdW5kIHRoZSBjbG9jayB0ZWNobmljYWwgc3VwcG9ydDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxwPk91ciBzcGVjaWFsaXN0cyBhcmUgYXZhaWxhYmxlIDI0IGhvdXJzIDcgZGF5cyBhIHdlZWsgYW5kIGFyZSByZWFkeSB0byBhbnN3ZXIgYW55IG9mDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgeW91ciBxdWVzdGlvbnMgYXQgYW55IHRpbWUgY29udmVuaWVudCBmb3IgeW91ITwvcD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSBjb2w0Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tY2hhcnQgZ3JhZFR4dCI+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpdGxlIj5DYXJlZnVsIGFzc2V0IHNlbGVjdGlvbjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxwPldlIGtub3cgdGhlIHByaWNlIG9mIHZpY3RvcmllcyBhbmQgdGhlIGJpdHRlcm5lc3Mgb2YgZGVmZWF0cywgc28gd2UgY2FyZWZ1bGx5IHNlbGVjdA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludmVzdG1lbnQgYXNzZXRzLjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSBjb2w0Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tdGVhbSBncmFkVHh0Ij48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGl0bGUiPkNsb3NlLWtuaXQgdGVhbSBvZiBwcm9mZXNzaW9uYWxzPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHA+T3ZlciB0aGUgeWVhcnMgb2Ygc3VjY2Vzc2Z1bCB3b3JrIGluIHRoZSBmaW5hbmNpYWwgbWFya2V0cywgd2UgaGF2ZSBnYXRoZXJlZCBhIHRlYW0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiB0aGUgYmVzdCBzcGVjaWFsaXN0cyBpbiB0aGVpciBhcmVhcywgd2l0aCBleHRlbnNpdmUgZXhwZXJpZW5jZSBpbiBhbGwgbmVjZXNzYXJ5DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRzLjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSBjb2w0Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tZG9jcyBncmFkVHh0Ij48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGl0bGUiPk9mZmljaWFsbHkgcmVnaXN0ZXJlZCBjb21wYW55PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHA+T3VyIGNvbXBhbnkgaGFzIGFsbCB0aGUgbmVjZXNzYXJ5IGxpY2Vuc2VzIGFuZCBjZXJ0aWZpY2F0ZXMgdG8gY29uZHVjdCBpdHMNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpdml0aWVzLCBhbmQgaGFzIGFuIG9mZmljZSBpbiBVU0EuPC9wPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtIGNvbDQiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1jYXNoIGdyYWRUeHQiPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aXRsZSI+R3VhcmFudGVlIG9mIHNhZmV0eSBvZiB5b3VyIGZ1bmRzPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHA+VGhhbmtzIHRvIHRoZSBzZWxlY3Rpb24gb2YgZXh0cmVtZWx5IHJlbGlhYmxlIGludmVzdG1lbnQgYXNzZXRzLCBhcyB3ZWxsIGFzIGR1ZSB0bw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBhY3RpdmUgYXJiaXRyYXRpb24gcG9saWN5LCB3ZSBnaXZlIGdvb2QgcmVzdWx0IGZvciBlYWNoIG9mIG91ciBpbnZlc3RvcnMhDQogICAgICAgICAgICAgICAgICAgICAgICA8L3A+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0gY29sNCI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImluIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLXBhc3MgZ3JhZFR4dCI+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpdGxlIj5IaWdoIHNlY3VyaXR5PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHA+QWxsIHRyYW5zYWN0aW9ucyBhbmQgcGVyc29uYWwgZGF0YSBvZiBvdXIgaW52ZXN0b3JzIGFyZSBzZWN1cmVseSBwcm90ZWN0ZWQgZnJvbSBhbnkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWFrcyBhbmQgdGhpcmQtcGFydHkgaW50ZXJ2ZW50aW9ucyE8L3A+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KPC9kaXY+DQoNCjwhLS0NCiAgICAgPGRpdiBjbGFzcz0ibWFpbk5ld3MiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1nL2dyZXlfYmdfMi5wbmcpIj4NCiAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogICAgICAgIDxzcGFuIGNsYXNzPSJjYXB0aW9uRGFyayBjZW50ZXIiPm91ciBsYXRlc3QgbmV3czwvc3Bhbj4NCiAgICAgICAgPGRpdiBjbGFzcz0id3JhcCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgPC9kaXY+DQogICAgIDwvZGl2Pi0tPg0KDQo8ZGl2IGNsYXNzPSJwYXltZW50cyI+DQogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgPHVsIGNsYXNzPSJ0YWJsZSBmdWxsIj4NCiAgICAgICAgICAgIDxsaSBjbGFzcz0idENlbGwgYm90dG9tIGxlZnQiPjxpbWcgc3JjPSJpbWcvcGF5bWVudF8xLnBuZyIgYWx0PSJwYXltZW50Ij48L2xpPg0KICAgICAgICAgICAgPGxpIGNsYXNzPSJ0Q2VsbCBtaWRkbGUgbGVmdCI+PGltZyBzcmM9ImltZy9wYXltZW50XzIucG5nIiBhbHQ9InBheW1lbnQiPjwvbGk+DQogICAgICAgICAgICA8bGkgY2xhc3M9InRDZWxsIG1pZGRsZSByaWdodCI+PGltZyBzcmM9ImltZy9wYXltZW50XzQucG5nIiBhbHQ9InBheW1lbnQiPjwvbGk+DQogICAgICAgICAgICA8bGkgY2xhc3M9InRDZWxsIG1pZGRsZSByaWdodCI+PGltZyBzcmM9ImltZy9wYXltZW50XzUucG5nIiBhbHQ9InBheW1lbnQiPjwvbGk+DQogICAgICAgICAgICA8bGkgY2xhc3M9InRDZWxsIG1pZGRsZSByaWdodCI+PGltZyBzcmM9ImltZy9wYXltZW50XzYucG5nIiBhbHQ9InBheW1lbnQiPjwvbGk+DQogICAgICAgICAgICA8bGkgY2xhc3M9InRDZWxsIG1pZGRsZSByaWdodCI+PGltZyBzcmM9ImltZy9wYXltZW50XzgucG5nIiBhbHQ9InBheW1lbnQiPjwvbGk+DQogICAgICAgIDwvdWw+DQogICAgPC9kaXY+DQo8L2Rpdj4NCjwhLS0tLVZpc3VhbEh5aXAubGl2ZSBGb290ZXItLS0tPg0KPGZvb3Rlcj4NCiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KICAgICAgICA8ZGl2IGNsYXNzPSJjZml4Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3RDb2wiPg0KICAgICAgICAgICAgICAgIDxpbWcgc3R5bGU9IndpZHRoOiAzMDBweDsgaGVpZ2h0OiA3MHB4OyIgc3JjPSJpbWcvbG9nb193LnBuZyIgYWx0PSIiPjxicj48YnI+PGJyPjxicj4NCg0KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJjb3B5cmlnaHQiPkNvcHlyaWdodMKpIDIwMjYgMjQ3b3B0aW9udHJhZGVmeDwvcD4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPHVsIGNsYXNzPSJmb290TWVudSI+DQogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjb2wiPg0KICAgICAgICAgICAgICAgICAgICA8dWw+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaW5kZXgucGhwIj5IT01FPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iYWJvdXQucGhwIj5BQk9VVCBVUzwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9ImFmZmlsaWF0ZS5waHAiPkFGRklMSUFURTwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Im5ld3MucGhwIj5ORVdTPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iZGFzaGJvYXJkL2xvZ2luLnBocCI+TG9naW48L2E+PC9saT4gDQogICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNvbCI+DQogICAgICAgICAgICAgICAgICAgIDx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJmYXEucGhwIj5GQVE8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJyYXRldXMucGhwIj5SQVRFIFVTPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0icnVsZXMucGhwIj5SVUxFUzwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9ImNvbnRhY3QucGhwIj5DT05UQUNUIFVTPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iZGFzaGJvYXJkL3JlZ2lzdGVyLnBocCI+U2lnbiB1cDwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KDQogICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290Q29sIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250Ij4NCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpdGxlIj5BZGRyZXNzOjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgPHA+MzE1MSBaaW5mYW5kZWwgRHJpdmUgVW5pdCA1IFJhbmNobyBDb3Jkb3ZhIENBIDk1NjcwPC9wPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnQiPg0KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGl0bGUiPkUtbWFpbDo8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJsaW5rIiBocmVmPSJtYWlsdG86c3VwcG9ydEAyNDdvcHRpb250cmFkZWZ4LmNvbSI+Q29udGFjdCBVczwvYT4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250Ij4NCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpdGxlIj5XZWJTaXRlOjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxpbmsiIGhyZWY9ImluZGV4LnBocCI+MjQ3b3B0aW9udHJhZGVmeC5jb208L2E+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQo8L2Zvb3Rlcj4NCg0KDQoNCg0KPHN0eWxlPg0KCQkJCQkJI2ZyYW5rbHlud2ViIHsNCgkJCQkJCQlkaXNwbGF5OiBibG9jazsNCgkJCQkJCQlwb3NpdGlvbjogZml4ZWQ7DQoJCQkJCQkJYm90dG9tOiAtNzBweDsNCgkJCQkJCQlsZWZ0OiAwcHg7DQoJCQkJCQkJei1pbmRleDogOTk5Ow0KCQkJCQkJCWZvbnQtc2l6ZTogMThweDsNCgkJCQkJCQlib3JkZXI6IG5vbmU7DQoJCQkJCQkJb3V0bGluZTogbm9uZTsNCgkJCQkJCQliYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCgkJCQkJCQljb2xvcjogd2hpdGU7DQoJCQkJCQkJY3Vyc29yOiBwb2ludGVyOw0KCQkJCQkJCXBhZGRpbmc6IDE1cHg7DQoJCQkJCQkJYm9yZGVyLXJhZGl1czogNHB4Ow0KCQkJCQkJfQ0KDQoJCQkJCQkjZnJhbmtseW53ZWI6aG92ZXIgew0KCQkJCQkJCWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KCQkJCQkJfQ0KDQoJCQkJCQkuY2lyY2xlcyB7DQoJCQkJCQkJd2lkdGg6IDQyMHB4Ow0KCQkJCQkJCWhlaWdodDogMzIwcHg7DQoJCQkJCQkJLW1vei1ib3JkZXItcmFkaXVzOiA1MCU7DQoJCQkJCQkJLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7DQoJCQkJCQkJYm9yZGVyLXJhZGl1czogNTAlOw0KCQkJCQkJCW92ZXJmbG93OiBoaWRkZW47DQoJCQkJCQkJcG9zaXRpb246IHJlbGF0aXZlOw0KCQkJCQkJfQ0KCQkJCQk8L3N0eWxlPg0KCQkJCQk8ZGl2IGlkPSJmcmFua2x5bndlYiIgY2xhc3M9ImNpcmNsZXMiPg0KDQo8c3R5bGU+DQoubWdtIHsNCiAgICBib3JkZXItcmFkaXVzOiA3cHg7DQogICAgcG9zaXRpb246IGZpeGVkOw0KICAgIHotaW5kZXg6IDkwOw0KICAgIGJvdHRvbTogODBweDsNCiAgICByaWdodDogNTBweDsNCiAgICBiYWNrZ3JvdW5kOiAjZmZmOw0KICAgIGJvcmRlcjo0cHggc29saWQgIzAwODBkYjsNCiAgICBwYWRkaW5nOiAxMHB4IDI3cHg7DQogICAgYm94LXNoYWRvdzogMHB4IDVweCAxM3B4IDBweCByZ2JhKDAsIDAsIDAsIC4zKTsNCn0NCg0KLm1nbSBhIHsNCiAgICBmb250LXdlaWdodDogNzAwOw0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIGNvbG9yOiAjMDA4MGRiOw0KfQ0KDQoubWdtIGEsDQoubWdtIGE6YWN0aXZlIHsNCiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2U7DQogICAgY29sb3I6ICMwMDgwZGI7DQp9DQo8L3N0eWxlPg0KPGRpdiBjbGFzcz0ibWdtIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPg0KPGRpdiBjbGFzcz0idHh0IiBzdHlsZT0iY29sb3I6YmxhY2s7Ij48L2Rpdj4NCjwvZGl2Pg0KDQo8c2NyaXB0IGRhdGEtY2Zhc3luYz0iZmFsc2UiIHNyYz0iIyI+PC9zY3JpcHQ+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQogICAgdmFyIGxpc3RDb3VudHJpZXMgPSBbJ1VTQScsICdQb3J0dWdhbCcsICdHZXJtYW55JywgJ0ZyYW5jZScsICdJdGFseScsICdOYW1pYmlhJywgJ0F1c3RyYWxpYScsICdTb3V0aCBBZnJpY2EnLCAnQ2FuYWRhJywgJ0FyZ2VudGluYScsICdTYXVkaSBBcmFiaWEnLCAnTWV4aWNvJywgJ1BvcnR1Z2FsJywgJ0JyYXppbCcsICdWZW5lenVlbGEnLCAnSXNyZWFsJywgJ1N3ZWRlbicsICdVU0EnLCAnQ29sb21iaWEnLCAnSXRhbHknLCAnQ2FuYWRhJywgJ1VuaXRlZCBLaW5nZG9tJywgJ1VTQScsICdHcmVlY2UnLCAnQ3ViYScsICdHZXJtYW55JywgJ1BvcnR1Z2FsJywgJ0F1c3RyaWEnLCAnTWV4aWNvJywgJ1BhbmFtYScsICdTb3V0aCBBZnJpY2EnLCAnVVNBJywgJ05ldGhlcmxhbmRzJywgJ1N3aXR6ZXJsYW5kJywgJ0JlbGdpdW0nLCAnSXNyYWVsJywgJ0N5cHJ1cyddOw0KICAgIHZhciBsaXN0UGxhbnMgPSBbJyQ1MSwwMDAnLCAnJDE0LDUwMCcsICckNDAsMDAwJywgJyQxLDAwMCcsICckMTAsMDAwJywgJyQ1MCwwMDAnLCAnJDUyLDMwMCcsICckOSw3MDAnLCAnJDEwLDAwMCcsICckNCw1MDAnLCAnJDksNTAwJywgJyQzNCwwMDAnLCAnJDQyLDAwMCcsICckNCw2MDAnLCAnJDMsNzAwJywgJyQyNyw1MDAnLCckNTgsNjIzJywnJDMxLDYwMCddOw0KICAgIHZhciB0cmFuc2FycmF5ID0gWydqdXN0IDxiPmludmVzdGVkPC9iPicsICdoYXMgPGI+d2l0aGRyYXduPC9iPicsICdpcyA8Yj50cmFkaW5nIHdpdGg8L2I+J107DQogICAgaW50ZXJ2YWwgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAoNDAwMDAgLSA4MDAwICsgMSkgKyA4MDAwKTsNCiAgICB2YXIgcnVuID0gc2V0SW50ZXJ2YWwocmVxdWVzdCwgaW50ZXJ2YWwpOw0KDQogICAgZnVuY3Rpb24gcmVxdWVzdCgpIHsNCiAgICAgICAgY2xlYXJJbnRlcnZhbChydW4pOw0KICAgICAgICBpbnRlcnZhbCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqICg0MDAwMCAtIDgwMDAgKyAxKSArIDgwMDApOw0KICAgICAgICB2YXIgY291bnRyeSA9IGxpc3RDb3VudHJpZXNbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogbGlzdENvdW50cmllcy5sZW5ndGgpXTsNCiAgICAgICAgdmFyIHRyYW5zdHlwZSA9IHRyYW5zYXJyYXlbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogdHJhbnNhcnJheS5sZW5ndGgpXTsNCiAgICAgICAgdmFyIHBsYW4gPSBsaXN0UGxhbnNbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogbGlzdFBsYW5zLmxlbmd0aCldOw0KICAgICAgICB2YXIgbXNnID0gJ1NvbWVvbmUgZnJvbSA8Yj4nICsgY291bnRyeSArICc8L2I+ICcgKyB0cmFuc3R5cGUgKyAnIDxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKTsiIG9uY2xpY2s9ImphdmFzY3JpcHQ6dm9pZCgwKTsiPicgKyBwbGFuICsgJzwvYT4nOw0KICAgICAgICAkKCIubWdtIC50eHQiKS5odG1sKG1zZyk7DQogICAgICAgICQoIi5tZ20iKS5zdG9wKHRydWUpLmZhZGVJbigzMDApOw0KICAgICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICQoIi5tZ20iKS5zdG9wKHRydWUpLmZhZGVPdXQoMzAwKTsNCiAgICAgICAgfSwgMTAwMDApOw0KICAgICAgICBydW4gPSBzZXRJbnRlcnZhbChyZXF1ZXN0LCBpbnRlcnZhbCk7DQogICAgfQ0KPC9zY3JpcHQ+DQoNCgkJCQkJICAgIDxicj48YnI+IA0KCQkJCQkJDQogDQoJCQkJCTwvZGl2Pg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KPGRpdiBpZD0iZ29vZ2xlX3RyYW5zbGF0ZV9lbGVtZW50IiBzdHlsZT0idmlzaWJpbGl0eTp2aXNpYmxlO2Rpc3BsYXk6bm9uZSI+PC9kaXY+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQogIGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3NraXB0cmFuc2xhdGUnKVswXS5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbic7DQogIGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2dvb2ctdGUtYmFubmVyLWZyYW1lJylbMF0uc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nOw0KDQogIGZ1bmN0aW9uIGdvb2dsZVRyYW5zbGF0ZUVsZW1lbnRJbml0KCkgew0KICAgIG5ldyBnb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZUVsZW1lbnQoew0KICAgICAgcGFnZUxhbmd1YWdlOiAiZW4iDQogICAgfSwgJ2dvb2dsZV90cmFuc2xhdGVfZWxlbWVudCcpOw0KICB9DQoNCiAgZnVuY3Rpb24gY2hhbmdlTGFuZ3VhZ2VCeUJ1dHRvbkNsaWNrKCkgew0KDQoNCiAgICB2YXIgbGFuZ3VhZ2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGFuZ3VhZ2UiKS52YWx1ZTsNCiAgICB2YXIgc2VsZWN0RmllbGQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjZ29vZ2xlX3RyYW5zbGF0ZV9lbGVtZW50IHNlbGVjdCIpOw0KICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2VsZWN0RmllbGQuY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHsNCiAgICAgIHZhciBvcHRpb24gPSBzZWxlY3RGaWVsZC5jaGlsZHJlbltpXTsNCiAgICAgIC8vIGZpbmQgZGVzaXJlZCBsYW5nYXVnZSBhbmQgY2hhbmdlIHRoZSBmb3JtZXIgbGFuZ3VhZ2Ugb2YgdGhlIGhpZGRlbiBzZWxlY3Rpb24tZmllbGQgDQogICAgICBpZiAob3B0aW9uLnZhbHVlID09IGxhbmd1YWdlKSB7DQogICAgICAgIHNlbGVjdEZpZWxkLnNlbGVjdGVkSW5kZXggPSBpOw0KICAgICAgICAvLyB0cmlnZ2VyIGNoYW5nZSBldmVudCBhZnRlcndhcmRzIHRvIG1ha2UgZ29vZ2xlLWxpYiB0cmFuc2xhdGUgdGhpcyBzaWRlDQogICAgICAgIHNlbGVjdEZpZWxkLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdjaGFuZ2UnKSk7DQogICAgICAgIGJyZWFrOw0KICAgICAgfQ0KICAgIH0NCiAgfQ0KPC9zY3JpcHQ+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJ0cmFuc2xhdGVfYS9lbGVtZW50LmpzP2NiPWdvb2dsZVRyYW5zbGF0ZUVsZW1lbnRJbml0Ij48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSIvL2NvZGUudGlkaW8uY28vdjVrbTZ0dHdjY2Z4ajNqbmVkcXhqZXRraHY1c3JvZ20uanMiIGFzeW5jPjwvc2NyaXB0Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIChmdW5jdGlvbigpIHsNCiAgICAgICAgdmFyIG9wdGlvbnMgPSB7DQogICAgICAgICAgICB3aGF0c2FwcDogIisxOTQ3MjkxMzIzNSIsIC8vIFdoYXRzQXBwIG51bWJlcg0KICAgICAgICAgICAgY2FsbF90b19hY3Rpb246ICJDb250YWN0IHVzISIsIC8vIENhbGwgdG8gYWN0aW9uDQogICAgICAgICAgICBwb3NpdGlvbjogImxlZnQiLCAvLyBQb3NpdGlvbiBtYXkgYmUgInJpZ2h0IiBvciAibGVmdCINCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHByb3RvID0gZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2wsDQogICAgICAgICAgICBob3N0ID0gImdldGJ1dHRvbi5pbyIsDQogICAgICAgICAgICB1cmwgPSBwcm90byArICIvL3N0YXRpYy4iICsgaG9zdDsNCiAgICAgICAgdmFyIHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsNCiAgICAgICAgcy50eXBlID0gInRleHQvamF2YXNjcmlwdCI7DQogICAgICAgIHMuYXN5bmMgPSB0cnVlOw0KICAgICAgICBzLnNyYyA9IHVybCArICIvd2lkZ2V0LXNlbmQtYnV0dG9uL2pzL2luaXQuanMiOw0KICAgICAgICBzLm9ubG9hZCA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgV2hXaWRnZXRTZW5kQnV0dG9uLmluaXQoaG9zdCwgcHJvdG8sIG9wdGlvbnMpOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgeCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXTsNCiAgICAgICAgeC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzLCB4KTsNCiAgICB9KSgpOw0KPC9zY3JpcHQ+DQo8IS0tIFNtYXJ0c3VwcCBMaXZlIENoYXQgc2NyaXB0IC0tPg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KdmFyIF9zbWFydHN1cHAgPSBfc21hcnRzdXBwIHx8IHt9Ow0KX3NtYXJ0c3VwcC5rZXkgPSAnNGY3MWJkYmFhYTg5Mzg1MWMwMTFmM2Q0NzdiZGIwYjU4MDU2ODI1MCc7DQp3aW5kb3cuc21hcnRzdXBwfHwoZnVuY3Rpb24oZCkgew0KICB2YXIgcyxjLG89c21hcnRzdXBwPWZ1bmN0aW9uKCl7IG8uXy5wdXNoKGFyZ3VtZW50cyl9O28uXz1bXTsNCiAgcz1kLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKVswXTtjPWQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7DQogIGMudHlwZT0ndGV4dC9qYXZhc2NyaXB0JztjLmNoYXJzZXQ9J3V0Zi04JztjLmFzeW5jPXRydWU7DQogIGMuc3JjPSdodHRwczovL3d3dy5zbWFydHN1cHBjaGF0LmNvbS9sb2FkZXIuanM/JztzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGMscyk7DQp9KShkb2N1bWVudCk7DQo8L3NjcmlwdD4NCg0KDQo8L2JvZHk+DQoNCjwvaHRtbD4="}},"time_used":120,"timings":{"blocked":-1,"dns":5,"connect":28,"send":0,"wait":55,"receive":0,"ssl":32},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"binarymate.com/assets/landing/platform-tiny/css/font-awesome.min.css","fqdn":"binarymate.com","domain":"binarymate.com","tld":"com"},"ip":{"addr":"172.67.160.195","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://binarymate.com/en/tyni-platform?r=https://247optiontradefx.live/dashboard/register","date":"2026-07-27T02:50:33.770Z","timestamp":1785120633770,"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":"binarymate.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 14 Jun 2026 17:48:17 GMT","end":"Sat, 12 Sep 2026 18:48:16 GMT"},"fingerprint":{"sha1":"26:CD:F2:69:FE:7F:C6:01:56:78:36:8F:A3:D6:FB:30:04:43:72:C0","sha256":"84:94:E9:41:71:FF:C7:FC:0D:D1:FE:9F:61:E9:EB:27:62:B3:01:D9:AA:F6:35:FB:C6:FA:4A:CE:9B:16:0B:7E"}}},"request":{"raw":"GET /assets/landing/platform-tiny/css/font-awesome.min.css HTTP/1.1\r\nHost: binarymate.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://binarymate.com/en/tyni-platform?r=https://247optiontradefx.live/dashboard/register\r\nCookie: laravel_session=UYESX7wELN8BSPz4LvfUKeGrrWO22l12CaQ7FWII\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\npriority: u=2,i=?0\r\ncontent-type: text/css\r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nlast-modified: Thu, 12 May 2016 06:50:27 GMT\r\nserver: cloudflare\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=%2FQf40sfQeDLXdhS%2BJeelOu8LUq9hk9h2Kdlxy5a7JVyR9FaI4vu2yfiobAWZAb7%2BBwq%2FB02rmCOwE08%2BKHp9VQDo5DNFeC0cbD45lgwCROO9q%2B%2F1NAlg27NEr00dwYQUtQ%3D%3D\"}]}\r\nage: 373\r\ncache-control: max-age=14400\r\ncf-cache-status: HIT\r\ncontent-encoding: zstd\r\netag: W/\"573427b3-7056\"\r\ncf-ray: a21856591ad08be6-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"]}],"data":{"size":28758,"size_decoded":7534,"mime_type":"text/css","magic":"ASCII text, with very long lines (28596)","md5":"295235b28b6e649d99539a9d32b95d30","sha1":"da07571f53188bbea0acd96d774ac38b8f4e0e42","sha256":"362ae4d51c05c9c741214bb98169e3b1b8a502fe09a380a93fa8b2c566e67e9a","sha512":"cadf26ff8bd82bf10612e50c790726cb647953a2f9b44af42e67b4e75441d10d6e1966b12fb28bd4ad8c2c03c2035c40ec9ef86174514f0180dd527531e5983b","ssdeep":"384:2u5yWeTUKW+KlkJ5de2UYmydfwYUas8l8yQ/8dw3E:Zlr+Klk3YlKfwYUf8l8yQ/eh","tlshash":"68d240e8e54c01d66731c48bff81b36862b6fb3dd5814d99f01f690c29d22a522c5fba","first_seen":"2023-04-07T16:36:39Z","last_seen":"2026-07-27T05:25:19.1155Z","times_seen":320,"resource_available":false,"data":"LyohCiAqICBGb250IEF3ZXNvbWUgNC42LjEgYnkgQGRhdmVnYW5keSAtIGh0dHA6Ly9mb250YXdlc29tZS5pbyAtIEBmb250YXdlc29tZQogKiAgTGljZW5zZSAtIGh0dHA6Ly9mb250YXdlc29tZS5pby9saWNlbnNlIChGb250OiBTSUwgT0ZMIDEuMSwgQ1NTOiBNSVQgTGljZW5zZSkKICovQGZvbnQtZmFjZXtmb250LWZhbWlseTonRm9udEF3ZXNvbWUnO3NyYzp1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQuZW90P3Y9NC42LjEnKTtzcmM6dXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LmVvdD8jaWVmaXgmdj00LjYuMScpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSx1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQud29mZjI/dj00LjYuMScpIGZvcm1hdCgnd29mZjInKSx1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQud29mZj92PTQuNi4xJykgZm9ybWF0KCd3b2ZmJyksdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LnR0Zj92PTQuNi4xJykgZm9ybWF0KCd0cnVldHlwZScpLHVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC5zdmc/dj00LjYuMSNmb250YXdlc29tZXJlZ3VsYXInKSBmb3JtYXQoJ3N2ZycpO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXN0eWxlOm5vcm1hbH0uZmF7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udDpub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgRm9udEF3ZXNvbWU7Zm9udC1zaXplOmluaGVyaXQ7dGV4dC1yZW5kZXJpbmc6YXV0bzstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZX0uZmEtbGd7Zm9udC1zaXplOjEuMzMzMzMzMzNlbTtsaW5lLWhlaWdodDouNzVlbTt2ZXJ0aWNhbC1hbGlnbjotMTUlfS5mYS0yeHtmb250LXNpemU6MmVtfS5mYS0zeHtmb250LXNpemU6M2VtfS5mYS00eHtmb250LXNpemU6NGVtfS5mYS01eHtmb250LXNpemU6NWVtfS5mYS1md3t3aWR0aDoxLjI4NTcxNDI5ZW07dGV4dC1hbGlnbjpjZW50ZXJ9LmZhLXVse3BhZGRpbmctbGVmdDowO21hcmdpbi1sZWZ0OjIuMTQyODU3MTRlbTtsaXN0LXN0eWxlLXR5cGU6bm9uZX0uZmEtdWw+bGl7cG9zaXRpb246cmVsYXRpdmV9LmZhLWxpe3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTIuMTQyODU3MTRlbTt3aWR0aDoyLjE0Mjg1NzE0ZW07dG9wOi4xNDI4NTcxNGVtO3RleHQtYWxpZ246Y2VudGVyfS5mYS1saS5mYS1sZ3tsZWZ0Oi0xLjg1NzE0Mjg2ZW19LmZhLWJvcmRlcntwYWRkaW5nOi4yZW0gLjI1ZW0gLjE1ZW07Ym9yZGVyOnNvbGlkIC4wOGVtICNlZWU7Ym9yZGVyLXJhZGl1czouMWVtfS5mYS1wdWxsLWxlZnR7ZmxvYXQ6bGVmdH0uZmEtcHVsbC1yaWdodHtmbG9hdDpyaWdodH0uZmEuZmEtcHVsbC1sZWZ0e21hcmdpbi1yaWdodDouM2VtfS5mYS5mYS1wdWxsLXJpZ2h0e21hcmdpbi1sZWZ0Oi4zZW19LnB1bGwtcmlnaHR7ZmxvYXQ6cmlnaHR9LnB1bGwtbGVmdHtmbG9hdDpsZWZ0fS5mYS5wdWxsLWxlZnR7bWFyZ2luLXJpZ2h0Oi4zZW19LmZhLnB1bGwtcmlnaHR7bWFyZ2luLWxlZnQ6LjNlbX0uZmEtc3Bpbnstd2Via2l0LWFuaW1hdGlvbjpmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcjthbmltYXRpb246ZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXJ9LmZhLXB1bHNley13ZWJraXQtYW5pbWF0aW9uOmZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7YW5pbWF0aW9uOmZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCl9QC13ZWJraXQta2V5ZnJhbWVzIGZhLXNwaW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMzU5ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDM1OWRlZyl9fUBrZXlmcmFtZXMgZmEtc3BpbnswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgzNTlkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMzU5ZGVnKX19LmZhLXJvdGF0ZS05MHstbXMtZmlsdGVyOiJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0xKSI7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDkwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyl9LmZhLXJvdGF0ZS0xODB7LW1zLWZpbHRlcjoicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MikiOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfS5mYS1yb3RhdGUtMjcwey1tcy1maWx0ZXI6InByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTMpIjstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgyNzBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKX0uZmEtZmxpcC1ob3Jpem9udGFsey1tcy1maWx0ZXI6InByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTAsIG1pcnJvcj0xKSI7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLTEsIDEpOy1tcy10cmFuc2Zvcm06c2NhbGUoLTEsIDEpO3RyYW5zZm9ybTpzY2FsZSgtMSwgMSl9LmZhLWZsaXAtdmVydGljYWx7LW1zLWZpbHRlcjoicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MiwgbWlycm9yPTEpIjstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLCAtMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxLCAtMSk7dHJhbnNmb3JtOnNjYWxlKDEsIC0xKX06cm9vdCAuZmEtcm90YXRlLTkwLDpyb290IC5mYS1yb3RhdGUtMTgwLDpyb290IC5mYS1yb3RhdGUtMjcwLDpyb290IC5mYS1mbGlwLWhvcml6b250YWwsOnJvb3QgLmZhLWZsaXAtdmVydGljYWx7ZmlsdGVyOm5vbmV9LmZhLXN0YWNre3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjJlbTtoZWlnaHQ6MmVtO2xpbmUtaGVpZ2h0OjJlbTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmZhLXN0YWNrLTF4LC5mYS1zdGFjay0yeHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7d2lkdGg6MTAwJTt0ZXh0LWFsaWduOmNlbnRlcn0uZmEtc3RhY2stMXh7bGluZS1oZWlnaHQ6aW5oZXJpdH0uZmEtc3RhY2stMnh7Zm9udC1zaXplOjJlbX0uZmEtaW52ZXJzZXtjb2xvcjojZmZmfS5mYS1nbGFzczpiZWZvcmV7Y29udGVudDoiXGYwMDAifS5mYS1tdXNpYzpiZWZvcmV7Y29udGVudDoiXGYwMDEifS5mYS1zZWFyY2g6YmVmb3Jle2NvbnRlbnQ6IlxmMDAyIn0uZmEtZW52ZWxvcGUtbzpiZWZvcmV7Y29udGVudDoiXGYwMDMifS5mYS1oZWFydDpiZWZvcmV7Y29udGVudDoiXGYwMDQifS5mYS1zdGFyOmJlZm9yZXtjb250ZW50OiJcZjAwNSJ9LmZhLXN0YXItbzpiZWZvcmV7Y29udGVudDoiXGYwMDYifS5mYS11c2VyOmJlZm9yZXtjb250ZW50OiJcZjAwNyJ9LmZhLWZpbG06YmVmb3Jle2NvbnRlbnQ6IlxmMDA4In0uZmEtdGgtbGFyZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMDA5In0uZmEtdGg6YmVmb3Jle2NvbnRlbnQ6IlxmMDBhIn0uZmEtdGgtbGlzdDpiZWZvcmV7Y29udGVudDoiXGYwMGIifS5mYS1jaGVjazpiZWZvcmV7Y29udGVudDoiXGYwMGMifS5mYS1yZW1vdmU6YmVmb3JlLC5mYS1jbG9zZTpiZWZvcmUsLmZhLXRpbWVzOmJlZm9yZXtjb250ZW50OiJcZjAwZCJ9LmZhLXNlYXJjaC1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjAwZSJ9LmZhLXNlYXJjaC1taW51czpiZWZvcmV7Y29udGVudDoiXGYwMTAifS5mYS1wb3dlci1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxmMDExIn0uZmEtc2lnbmFsOmJlZm9yZXtjb250ZW50OiJcZjAxMiJ9LmZhLWdlYXI6YmVmb3JlLC5mYS1jb2c6YmVmb3Jle2NvbnRlbnQ6IlxmMDEzIn0uZmEtdHJhc2gtbzpiZWZvcmV7Y29udGVudDoiXGYwMTQifS5mYS1ob21lOmJlZm9yZXtjb250ZW50OiJcZjAxNSJ9LmZhLWZpbGUtbzpiZWZvcmV7Y29udGVudDoiXGYwMTYifS5mYS1jbG9jay1vOmJlZm9yZXtjb250ZW50OiJcZjAxNyJ9LmZhLXJvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDE4In0uZmEtZG93bmxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDE5In0uZmEtYXJyb3ctY2lyY2xlLW8tZG93bjpiZWZvcmV7Y29udGVudDoiXGYwMWEifS5mYS1hcnJvdy1jaXJjbGUtby11cDpiZWZvcmV7Y29udGVudDoiXGYwMWIifS5mYS1pbmJveDpiZWZvcmV7Y29udGVudDoiXGYwMWMifS5mYS1wbGF5LWNpcmNsZS1vOmJlZm9yZXtjb250ZW50OiJcZjAxZCJ9LmZhLXJvdGF0ZS1yaWdodDpiZWZvcmUsLmZhLXJlcGVhdDpiZWZvcmV7Y29udGVudDoiXGYwMWUifS5mYS1yZWZyZXNoOmJlZm9yZXtjb250ZW50OiJcZjAyMSJ9LmZhLWxpc3QtYWx0OmJlZm9yZXtjb250ZW50OiJcZjAyMiJ9LmZhLWxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDIzIn0uZmEtZmxhZzpiZWZvcmV7Y29udGVudDoiXGYwMjQifS5mYS1oZWFkcGhvbmVzOmJlZm9yZXtjb250ZW50OiJcZjAyNSJ9LmZhLXZvbHVtZS1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxmMDI2In0uZmEtdm9sdW1lLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMDI3In0uZmEtdm9sdW1lLXVwOmJlZm9yZXtjb250ZW50OiJcZjAyOCJ9LmZhLXFyY29kZTpiZWZvcmV7Y29udGVudDoiXGYwMjkifS5mYS1iYXJjb2RlOmJlZm9yZXtjb250ZW50OiJcZjAyYSJ9LmZhLXRhZzpiZWZvcmV7Y29udGVudDoiXGYwMmIifS5mYS10YWdzOmJlZm9yZXtjb250ZW50OiJcZjAyYyJ9LmZhLWJvb2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDJkIn0uZmEtYm9va21hcms6YmVmb3Jle2NvbnRlbnQ6IlxmMDJlIn0uZmEtcHJpbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDJmIn0uZmEtY2FtZXJhOmJlZm9yZXtjb250ZW50OiJcZjAzMCJ9LmZhLWZvbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDMxIn0uZmEtYm9sZDpiZWZvcmV7Y29udGVudDoiXGYwMzIifS5mYS1pdGFsaWM6YmVmb3Jle2NvbnRlbnQ6IlxmMDMzIn0uZmEtdGV4dC1oZWlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDM0In0uZmEtdGV4dC13aWR0aDpiZWZvcmV7Y29udGVudDoiXGYwMzUifS5mYS1hbGlnbi1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjAzNiJ9LmZhLWFsaWduLWNlbnRlcjpiZWZvcmV7Y29udGVudDoiXGYwMzcifS5mYS1hbGlnbi1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYwMzgifS5mYS1hbGlnbi1qdXN0aWZ5OmJlZm9yZXtjb250ZW50OiJcZjAzOSJ9LmZhLWxpc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMDNhIn0uZmEtZGVkZW50OmJlZm9yZSwuZmEtb3V0ZGVudDpiZWZvcmV7Y29udGVudDoiXGYwM2IifS5mYS1pbmRlbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDNjIn0uZmEtdmlkZW8tY2FtZXJhOmJlZm9yZXtjb250ZW50OiJcZjAzZCJ9LmZhLXBob3RvOmJlZm9yZSwuZmEtaW1hZ2U6YmVmb3JlLC5mYS1waWN0dXJlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMDNlIn0uZmEtcGVuY2lsOmJlZm9yZXtjb250ZW50OiJcZjA0MCJ9LmZhLW1hcC1tYXJrZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDQxIn0uZmEtYWRqdXN0OmJlZm9yZXtjb250ZW50OiJcZjA0MiJ9LmZhLXRpbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDQzIn0uZmEtZWRpdDpiZWZvcmUsLmZhLXBlbmNpbC1zcXVhcmUtbzpiZWZvcmV7Y29udGVudDoiXGYwNDQifS5mYS1zaGFyZS1zcXVhcmUtbzpiZWZvcmV7Y29udGVudDoiXGYwNDUifS5mYS1jaGVjay1zcXVhcmUtbzpiZWZvcmV7Y29udGVudDoiXGYwNDYifS5mYS1hcnJvd3M6YmVmb3Jle2NvbnRlbnQ6IlxmMDQ3In0uZmEtc3RlcC1iYWNrd2FyZDpiZWZvcmV7Y29udGVudDoiXGYwNDgifS5mYS1mYXN0LWJhY2t3YXJkOmJlZm9yZXtjb250ZW50OiJcZjA0OSJ9LmZhLWJhY2t3YXJkOmJlZm9yZXtjb250ZW50OiJcZjA0YSJ9LmZhLXBsYXk6YmVmb3Jle2NvbnRlbnQ6IlxmMDRiIn0uZmEtcGF1c2U6YmVmb3Jle2NvbnRlbnQ6IlxmMDRjIn0uZmEtc3RvcDpiZWZvcmV7Y29udGVudDoiXGYwNGQifS5mYS1mb3J3YXJkOmJlZm9yZXtjb250ZW50OiJcZjA0ZSJ9LmZhLWZhc3QtZm9yd2FyZDpiZWZvcmV7Y29udGVudDoiXGYwNTAifS5mYS1zdGVwLWZvcndhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDUxIn0uZmEtZWplY3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMDUyIn0uZmEtY2hldnJvbi1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjA1MyJ9LmZhLWNoZXZyb24tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDU0In0uZmEtcGx1cy1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDU1In0uZmEtbWludXMtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjA1NiJ9LmZhLXRpbWVzLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYwNTcifS5mYS1jaGVjay1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDU4In0uZmEtcXVlc3Rpb24tY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjA1OSJ9LmZhLWluZm8tY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjA1YSJ9LmZhLWNyb3NzaGFpcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMDViIn0uZmEtdGltZXMtY2lyY2xlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMDVjIn0uZmEtY2hlY2stY2lyY2xlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMDVkIn0uZmEtYmFuOmJlZm9yZXtjb250ZW50OiJcZjA1ZSJ9LmZhLWFycm93LWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDYwIn0uZmEtYXJyb3ctcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDYxIn0uZmEtYXJyb3ctdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMDYyIn0uZmEtYXJyb3ctZG93bjpiZWZvcmV7Y29udGVudDoiXGYwNjMifS5mYS1tYWlsLWZvcndhcmQ6YmVmb3JlLC5mYS1zaGFyZTpiZWZvcmV7Y29udGVudDoiXGYwNjQifS5mYS1leHBhbmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDY1In0uZmEtY29tcHJlc3M6YmVmb3Jle2NvbnRlbnQ6IlxmMDY2In0uZmEtcGx1czpiZWZvcmV7Y29udGVudDoiXGYwNjcifS5mYS1taW51czpiZWZvcmV7Y29udGVudDoiXGYwNjgifS5mYS1hc3RlcmlzazpiZWZvcmV7Y29udGVudDoiXGYwNjkifS5mYS1leGNsYW1hdGlvbi1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDZhIn0uZmEtZ2lmdDpiZWZvcmV7Y29udGVudDoiXGYwNmIifS5mYS1sZWFmOmJlZm9yZXtjb250ZW50OiJcZjA2YyJ9LmZhLWZpcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDZkIn0uZmEtZXllOmJlZm9yZXtjb250ZW50OiJcZjA2ZSJ9LmZhLWV5ZS1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGYwNzAifS5mYS13YXJuaW5nOmJlZm9yZSwuZmEtZXhjbGFtYXRpb24tdHJpYW5nbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDcxIn0uZmEtcGxhbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDcyIn0uZmEtY2FsZW5kYXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDczIn0uZmEtcmFuZG9tOmJlZm9yZXtjb250ZW50OiJcZjA3NCJ9LmZhLWNvbW1lbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDc1In0uZmEtbWFnbmV0OmJlZm9yZXtjb250ZW50OiJcZjA3NiJ9LmZhLWNoZXZyb24tdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMDc3In0uZmEtY2hldnJvbi1kb3duOmJlZm9yZXtjb250ZW50OiJcZjA3OCJ9LmZhLXJldHdlZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDc5In0uZmEtc2hvcHBpbmctY2FydDpiZWZvcmV7Y29udGVudDoiXGYwN2EifS5mYS1mb2xkZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDdiIn0uZmEtZm9sZGVyLW9wZW46YmVmb3Jle2NvbnRlbnQ6IlxmMDdjIn0uZmEtYXJyb3dzLXY6YmVmb3Jle2NvbnRlbnQ6IlxmMDdkIn0uZmEtYXJyb3dzLWg6YmVmb3Jle2NvbnRlbnQ6IlxmMDdlIn0uZmEtYmFyLWNoYXJ0LW86YmVmb3JlLC5mYS1iYXItY2hhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDgwIn0uZmEtdHdpdHRlci1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDgxIn0uZmEtZmFjZWJvb2stc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjA4MiJ9LmZhLWNhbWVyYS1yZXRybzpiZWZvcmV7Y29udGVudDoiXGYwODMifS5mYS1rZXk6YmVmb3Jle2NvbnRlbnQ6IlxmMDg0In0uZmEtZ2VhcnM6YmVmb3JlLC5mYS1jb2dzOmJlZm9yZXtjb250ZW50OiJcZjA4NSJ9LmZhLWNvbW1lbnRzOmJlZm9yZXtjb250ZW50OiJcZjA4NiJ9LmZhLXRodW1icy1vLXVwOmJlZm9yZXtjb250ZW50OiJcZjA4NyJ9LmZhLXRodW1icy1vLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMDg4In0uZmEtc3Rhci1oYWxmOmJlZm9yZXtjb250ZW50OiJcZjA4OSJ9LmZhLWhlYXJ0LW86YmVmb3Jle2NvbnRlbnQ6IlxmMDhhIn0uZmEtc2lnbi1vdXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDhiIn0uZmEtbGlua2VkaW4tc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjA4YyJ9LmZhLXRodW1iLXRhY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDhkIn0uZmEtZXh0ZXJuYWwtbGluazpiZWZvcmV7Y29udGVudDoiXGYwOGUifS5mYS1zaWduLWluOmJlZm9yZXtjb250ZW50OiJcZjA5MCJ9LmZhLXRyb3BoeTpiZWZvcmV7Y29udGVudDoiXGYwOTEifS5mYS1naXRodWItc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjA5MiJ9LmZhLXVwbG9hZDpiZWZvcmV7Y29udGVudDoiXGYwOTMifS5mYS1sZW1vbi1vOmJlZm9yZXtjb250ZW50OiJcZjA5NCJ9LmZhLXBob25lOmJlZm9yZXtjb250ZW50OiJcZjA5NSJ9LmZhLXNxdWFyZS1vOmJlZm9yZXtjb250ZW50OiJcZjA5NiJ9LmZhLWJvb2ttYXJrLW86YmVmb3Jle2NvbnRlbnQ6IlxmMDk3In0uZmEtcGhvbmUtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjA5OCJ9LmZhLXR3aXR0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDk5In0uZmEtZmFjZWJvb2stZjpiZWZvcmUsLmZhLWZhY2Vib29rOmJlZm9yZXtjb250ZW50OiJcZjA5YSJ9LmZhLWdpdGh1YjpiZWZvcmV7Y29udGVudDoiXGYwOWIifS5mYS11bmxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDljIn0uZmEtY3JlZGl0LWNhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDlkIn0uZmEtZmVlZDpiZWZvcmUsLmZhLXJzczpiZWZvcmV7Y29udGVudDoiXGYwOWUifS5mYS1oZGQtbzpiZWZvcmV7Y29udGVudDoiXGYwYTAifS5mYS1idWxsaG9ybjpiZWZvcmV7Y29udGVudDoiXGYwYTEifS5mYS1iZWxsOmJlZm9yZXtjb250ZW50OiJcZjBmMyJ9LmZhLWNlcnRpZmljYXRlOmJlZm9yZXtjb250ZW50OiJcZjBhMyJ9LmZhLWhhbmQtby1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYwYTQifS5mYS1oYW5kLW8tbGVmdDpiZWZvcmV7Y29udGVudDoiXGYwYTUifS5mYS1oYW5kLW8tdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMGE2In0uZmEtaGFuZC1vLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMGE3In0uZmEtYXJyb3ctY2lyY2xlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGE4In0uZmEtYXJyb3ctY2lyY2xlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjBhOSJ9LmZhLWFycm93LWNpcmNsZS11cDpiZWZvcmV7Y29udGVudDoiXGYwYWEifS5mYS1hcnJvdy1jaXJjbGUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYwYWIifS5mYS1nbG9iZTpiZWZvcmV7Y29udGVudDoiXGYwYWMifS5mYS13cmVuY2g6YmVmb3Jle2NvbnRlbnQ6IlxmMGFkIn0uZmEtdGFza3M6YmVmb3Jle2NvbnRlbnQ6IlxmMGFlIn0uZmEtZmlsdGVyOmJlZm9yZXtjb250ZW50OiJcZjBiMCJ9LmZhLWJyaWVmY2FzZTpiZWZvcmV7Y29udGVudDoiXGYwYjEifS5mYS1hcnJvd3MtYWx0OmJlZm9yZXtjb250ZW50OiJcZjBiMiJ9LmZhLWdyb3VwOmJlZm9yZSwuZmEtdXNlcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMGMwIn0uZmEtY2hhaW46YmVmb3JlLC5mYS1saW5rOmJlZm9yZXtjb250ZW50OiJcZjBjMSJ9LmZhLWNsb3VkOmJlZm9yZXtjb250ZW50OiJcZjBjMiJ9LmZhLWZsYXNrOmJlZm9yZXtjb250ZW50OiJcZjBjMyJ9LmZhLWN1dDpiZWZvcmUsLmZhLXNjaXNzb3JzOmJlZm9yZXtjb250ZW50OiJcZjBjNCJ9LmZhLWNvcHk6YmVmb3JlLC5mYS1maWxlcy1vOmJlZm9yZXtjb250ZW50OiJcZjBjNSJ9LmZhLXBhcGVyY2xpcDpiZWZvcmV7Y29udGVudDoiXGYwYzYifS5mYS1zYXZlOmJlZm9yZSwuZmEtZmxvcHB5LW86YmVmb3Jle2NvbnRlbnQ6IlxmMGM3In0uZmEtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjBjOCJ9LmZhLW5hdmljb246YmVmb3JlLC5mYS1yZW9yZGVyOmJlZm9yZSwuZmEtYmFyczpiZWZvcmV7Y29udGVudDoiXGYwYzkifS5mYS1saXN0LXVsOmJlZm9yZXtjb250ZW50OiJcZjBjYSJ9LmZhLWxpc3Qtb2w6YmVmb3Jle2NvbnRlbnQ6IlxmMGNiIn0uZmEtc3RyaWtldGhyb3VnaDpiZWZvcmV7Y29udGVudDoiXGYwY2MifS5mYS11bmRlcmxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGNkIn0uZmEtdGFibGU6YmVmb3Jle2NvbnRlbnQ6IlxmMGNlIn0uZmEtbWFnaWM6YmVmb3Jle2NvbnRlbnQ6IlxmMGQwIn0uZmEtdHJ1Y2s6YmVmb3Jle2NvbnRlbnQ6IlxmMGQxIn0uZmEtcGludGVyZXN0OmJlZm9yZXtjb250ZW50OiJcZjBkMiJ9LmZhLXBpbnRlcmVzdC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGQzIn0uZmEtZ29vZ2xlLXBsdXMtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjBkNCJ9LmZhLWdvb2dsZS1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjBkNSJ9LmZhLW1vbmV5OmJlZm9yZXtjb250ZW50OiJcZjBkNiJ9LmZhLWNhcmV0LWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMGQ3In0uZmEtY2FyZXQtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMGQ4In0uZmEtY2FyZXQtbGVmdDpiZWZvcmV7Y29udGVudDoiXGYwZDkifS5mYS1jYXJldC1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYwZGEifS5mYS1jb2x1bW5zOmJlZm9yZXtjb250ZW50OiJcZjBkYiJ9LmZhLXVuc29ydGVkOmJlZm9yZSwuZmEtc29ydDpiZWZvcmV7Y29udGVudDoiXGYwZGMifS5mYS1zb3J0LWRvd246YmVmb3JlLC5mYS1zb3J0LWRlc2M6YmVmb3Jle2NvbnRlbnQ6IlxmMGRkIn0uZmEtc29ydC11cDpiZWZvcmUsLmZhLXNvcnQtYXNjOmJlZm9yZXtjb250ZW50OiJcZjBkZSJ9LmZhLWVudmVsb3BlOmJlZm9yZXtjb250ZW50OiJcZjBlMCJ9LmZhLWxpbmtlZGluOmJlZm9yZXtjb250ZW50OiJcZjBlMSJ9LmZhLXJvdGF0ZS1sZWZ0OmJlZm9yZSwuZmEtdW5kbzpiZWZvcmV7Y29udGVudDoiXGYwZTIifS5mYS1sZWdhbDpiZWZvcmUsLmZhLWdhdmVsOmJlZm9yZXtjb250ZW50OiJcZjBlMyJ9LmZhLWRhc2hib2FyZDpiZWZvcmUsLmZhLXRhY2hvbWV0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMGU0In0uZmEtY29tbWVudC1vOmJlZm9yZXtjb250ZW50OiJcZjBlNSJ9LmZhLWNvbW1lbnRzLW86YmVmb3Jle2NvbnRlbnQ6IlxmMGU2In0uZmEtZmxhc2g6YmVmb3JlLC5mYS1ib2x0OmJlZm9yZXtjb250ZW50OiJcZjBlNyJ9LmZhLXNpdGVtYXA6YmVmb3Jle2NvbnRlbnQ6IlxmMGU4In0uZmEtdW1icmVsbGE6YmVmb3Jle2NvbnRlbnQ6IlxmMGU5In0uZmEtcGFzdGU6YmVmb3JlLC5mYS1jbGlwYm9hcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGVhIn0uZmEtbGlnaHRidWxiLW86YmVmb3Jle2NvbnRlbnQ6IlxmMGViIn0uZmEtZXhjaGFuZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMGVjIn0uZmEtY2xvdWQtZG93bmxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGVkIn0uZmEtY2xvdWQtdXBsb2FkOmJlZm9yZXtjb250ZW50OiJcZjBlZSJ9LmZhLXVzZXItbWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGYwIn0uZmEtc3RldGhvc2NvcGU6YmVmb3Jle2NvbnRlbnQ6IlxmMGYxIn0uZmEtc3VpdGNhc2U6YmVmb3Jle2NvbnRlbnQ6IlxmMGYyIn0uZmEtYmVsbC1vOmJlZm9yZXtjb250ZW50OiJcZjBhMiJ9LmZhLWNvZmZlZTpiZWZvcmV7Y29udGVudDoiXGYwZjQifS5mYS1jdXRsZXJ5OmJlZm9yZXtjb250ZW50OiJcZjBmNSJ9LmZhLWZpbGUtdGV4dC1vOmJlZm9yZXtjb250ZW50OiJcZjBmNiJ9LmZhLWJ1aWxkaW5nLW86YmVmb3Jle2NvbnRlbnQ6IlxmMGY3In0uZmEtaG9zcGl0YWwtbzpiZWZvcmV7Y29udGVudDoiXGYwZjgifS5mYS1hbWJ1bGFuY2U6YmVmb3Jle2NvbnRlbnQ6IlxmMGY5In0uZmEtbWVka2l0OmJlZm9yZXtjb250ZW50OiJcZjBmYSJ9LmZhLWZpZ2h0ZXItamV0OmJlZm9yZXtjb250ZW50OiJcZjBmYiJ9LmZhLWJlZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMGZjIn0uZmEtaC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGZkIn0uZmEtcGx1cy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGZlIn0uZmEtYW5nbGUtZG91YmxlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTAwIn0uZmEtYW5nbGUtZG91YmxlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjEwMSJ9LmZhLWFuZ2xlLWRvdWJsZS11cDpiZWZvcmV7Y29udGVudDoiXGYxMDIifS5mYS1hbmdsZS1kb3VibGUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxMDMifS5mYS1hbmdsZS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjEwNCJ9LmZhLWFuZ2xlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjEwNSJ9LmZhLWFuZ2xlLXVwOmJlZm9yZXtjb250ZW50OiJcZjEwNiJ9LmZhLWFuZ2xlLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMTA3In0uZmEtZGVza3RvcDpiZWZvcmV7Y29udGVudDoiXGYxMDgifS5mYS1sYXB0b3A6YmVmb3Jle2NvbnRlbnQ6IlxmMTA5In0uZmEtdGFibGV0OmJlZm9yZXtjb250ZW50OiJcZjEwYSJ9LmZhLW1vYmlsZS1waG9uZTpiZWZvcmUsLmZhLW1vYmlsZTpiZWZvcmV7Y29udGVudDoiXGYxMGIifS5mYS1jaXJjbGUtbzpiZWZvcmV7Y29udGVudDoiXGYxMGMifS5mYS1xdW90ZS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjEwZCJ9LmZhLXF1b3RlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjEwZSJ9LmZhLXNwaW5uZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMTEwIn0uZmEtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjExMSJ9LmZhLW1haWwtcmVwbHk6YmVmb3JlLC5mYS1yZXBseTpiZWZvcmV7Y29udGVudDoiXGYxMTIifS5mYS1naXRodWItYWx0OmJlZm9yZXtjb250ZW50OiJcZjExMyJ9LmZhLWZvbGRlci1vOmJlZm9yZXtjb250ZW50OiJcZjExNCJ9LmZhLWZvbGRlci1vcGVuLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTE1In0uZmEtc21pbGUtbzpiZWZvcmV7Y29udGVudDoiXGYxMTgifS5mYS1mcm93bi1vOmJlZm9yZXtjb250ZW50OiJcZjExOSJ9LmZhLW1laC1vOmJlZm9yZXtjb250ZW50OiJcZjExYSJ9LmZhLWdhbWVwYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTFiIn0uZmEta2V5Ym9hcmQtbzpiZWZvcmV7Y29udGVudDoiXGYxMWMifS5mYS1mbGFnLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTFkIn0uZmEtZmxhZy1jaGVja2VyZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTFlIn0uZmEtdGVybWluYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMTIwIn0uZmEtY29kZTpiZWZvcmV7Y29udGVudDoiXGYxMjEifS5mYS1tYWlsLXJlcGx5LWFsbDpiZWZvcmUsLmZhLXJlcGx5LWFsbDpiZWZvcmV7Y29udGVudDoiXGYxMjIifS5mYS1zdGFyLWhhbGYtZW1wdHk6YmVmb3JlLC5mYS1zdGFyLWhhbGYtZnVsbDpiZWZvcmUsLmZhLXN0YXItaGFsZi1vOmJlZm9yZXtjb250ZW50OiJcZjEyMyJ9LmZhLWxvY2F0aW9uLWFycm93OmJlZm9yZXtjb250ZW50OiJcZjEyNCJ9LmZhLWNyb3A6YmVmb3Jle2NvbnRlbnQ6IlxmMTI1In0uZmEtY29kZS1mb3JrOmJlZm9yZXtjb250ZW50OiJcZjEyNiJ9LmZhLXVubGluazpiZWZvcmUsLmZhLWNoYWluLWJyb2tlbjpiZWZvcmV7Y29udGVudDoiXGYxMjcifS5mYS1xdWVzdGlvbjpiZWZvcmV7Y29udGVudDoiXGYxMjgifS5mYS1pbmZvOmJlZm9yZXtjb250ZW50OiJcZjEyOSJ9LmZhLWV4Y2xhbWF0aW9uOmJlZm9yZXtjb250ZW50OiJcZjEyYSJ9LmZhLXN1cGVyc2NyaXB0OmJlZm9yZXtjb250ZW50OiJcZjEyYiJ9LmZhLXN1YnNjcmlwdDpiZWZvcmV7Y29udGVudDoiXGYxMmMifS5mYS1lcmFzZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMTJkIn0uZmEtcHV6emxlLXBpZWNlOmJlZm9yZXtjb250ZW50OiJcZjEyZSJ9LmZhLW1pY3JvcGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTMwIn0uZmEtbWljcm9waG9uZS1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGYxMzEifS5mYS1zaGllbGQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTMyIn0uZmEtY2FsZW5kYXItbzpiZWZvcmV7Y29udGVudDoiXGYxMzMifS5mYS1maXJlLWV4dGluZ3Vpc2hlcjpiZWZvcmV7Y29udGVudDoiXGYxMzQifS5mYS1yb2NrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTM1In0uZmEtbWF4Y2RuOmJlZm9yZXtjb250ZW50OiJcZjEzNiJ9LmZhLWNoZXZyb24tY2lyY2xlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTM3In0uZmEtY2hldnJvbi1jaXJjbGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTM4In0uZmEtY2hldnJvbi1jaXJjbGUtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTM5In0uZmEtY2hldnJvbi1jaXJjbGUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxM2EifS5mYS1odG1sNTpiZWZvcmV7Y29udGVudDoiXGYxM2IifS5mYS1jc3MzOmJlZm9yZXtjb250ZW50OiJcZjEzYyJ9LmZhLWFuY2hvcjpiZWZvcmV7Y29udGVudDoiXGYxM2QifS5mYS11bmxvY2stYWx0OmJlZm9yZXtjb250ZW50OiJcZjEzZSJ9LmZhLWJ1bGxzZXllOmJlZm9yZXtjb250ZW50OiJcZjE0MCJ9LmZhLWVsbGlwc2lzLWg6YmVmb3Jle2NvbnRlbnQ6IlxmMTQxIn0uZmEtZWxsaXBzaXMtdjpiZWZvcmV7Y29udGVudDoiXGYxNDIifS5mYS1yc3Mtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE0MyJ9LmZhLXBsYXktY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjE0NCJ9LmZhLXRpY2tldDpiZWZvcmV7Y29udGVudDoiXGYxNDUifS5mYS1taW51cy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTQ2In0uZmEtbWludXMtc3F1YXJlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTQ3In0uZmEtbGV2ZWwtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTQ4In0uZmEtbGV2ZWwtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxNDkifS5mYS1jaGVjay1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTRhIn0uZmEtcGVuY2lsLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxNGIifS5mYS1leHRlcm5hbC1saW5rLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxNGMifS5mYS1zaGFyZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTRkIn0uZmEtY29tcGFzczpiZWZvcmV7Y29udGVudDoiXGYxNGUifS5mYS10b2dnbGUtZG93bjpiZWZvcmUsLmZhLWNhcmV0LXNxdWFyZS1vLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMTUwIn0uZmEtdG9nZ2xlLXVwOmJlZm9yZSwuZmEtY2FyZXQtc3F1YXJlLW8tdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTUxIn0uZmEtdG9nZ2xlLXJpZ2h0OmJlZm9yZSwuZmEtY2FyZXQtc3F1YXJlLW8tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTUyIn0uZmEtZXVybzpiZWZvcmUsLmZhLWV1cjpiZWZvcmV7Y29udGVudDoiXGYxNTMifS5mYS1nYnA6YmVmb3Jle2NvbnRlbnQ6IlxmMTU0In0uZmEtZG9sbGFyOmJlZm9yZSwuZmEtdXNkOmJlZm9yZXtjb250ZW50OiJcZjE1NSJ9LmZhLXJ1cGVlOmJlZm9yZSwuZmEtaW5yOmJlZm9yZXtjb250ZW50OiJcZjE1NiJ9LmZhLWNueTpiZWZvcmUsLmZhLXJtYjpiZWZvcmUsLmZhLXllbjpiZWZvcmUsLmZhLWpweTpiZWZvcmV7Y29udGVudDoiXGYxNTcifS5mYS1ydWJsZTpiZWZvcmUsLmZhLXJvdWJsZTpiZWZvcmUsLmZhLXJ1YjpiZWZvcmV7Y29udGVudDoiXGYxNTgifS5mYS13b246YmVmb3JlLC5mYS1rcnc6YmVmb3Jle2NvbnRlbnQ6IlxmMTU5In0uZmEtYml0Y29pbjpiZWZvcmUsLmZhLWJ0YzpiZWZvcmV7Y29udGVudDoiXGYxNWEifS5mYS1maWxlOmJlZm9yZXtjb250ZW50OiJcZjE1YiJ9LmZhLWZpbGUtdGV4dDpiZWZvcmV7Y29udGVudDoiXGYxNWMifS5mYS1zb3J0LWFscGhhLWFzYzpiZWZvcmV7Y29udGVudDoiXGYxNWQifS5mYS1zb3J0LWFscGhhLWRlc2M6YmVmb3Jle2NvbnRlbnQ6IlxmMTVlIn0uZmEtc29ydC1hbW91bnQtYXNjOmJlZm9yZXtjb250ZW50OiJcZjE2MCJ9LmZhLXNvcnQtYW1vdW50LWRlc2M6YmVmb3Jle2NvbnRlbnQ6IlxmMTYxIn0uZmEtc29ydC1udW1lcmljLWFzYzpiZWZvcmV7Y29udGVudDoiXGYxNjIifS5mYS1zb3J0LW51bWVyaWMtZGVzYzpiZWZvcmV7Y29udGVudDoiXGYxNjMifS5mYS10aHVtYnMtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTY0In0uZmEtdGh1bWJzLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMTY1In0uZmEteW91dHViZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTY2In0uZmEteW91dHViZTpiZWZvcmV7Y29udGVudDoiXGYxNjcifS5mYS14aW5nOmJlZm9yZXtjb250ZW50OiJcZjE2OCJ9LmZhLXhpbmctc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE2OSJ9LmZhLXlvdXR1YmUtcGxheTpiZWZvcmV7Y29udGVudDoiXGYxNmEifS5mYS1kcm9wYm94OmJlZm9yZXtjb250ZW50OiJcZjE2YiJ9LmZhLXN0YWNrLW92ZXJmbG93OmJlZm9yZXtjb250ZW50OiJcZjE2YyJ9LmZhLWluc3RhZ3JhbTpiZWZvcmV7Y29udGVudDoiXGYxNmQifS5mYS1mbGlja3I6YmVmb3Jle2NvbnRlbnQ6IlxmMTZlIn0uZmEtYWRuOmJlZm9yZXtjb250ZW50OiJcZjE3MCJ9LmZhLWJpdGJ1Y2tldDpiZWZvcmV7Y29udGVudDoiXGYxNzEifS5mYS1iaXRidWNrZXQtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE3MiJ9LmZhLXR1bWJscjpiZWZvcmV7Y29udGVudDoiXGYxNzMifS5mYS10dW1ibHItc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE3NCJ9LmZhLWxvbmctYXJyb3ctZG93bjpiZWZvcmV7Y29udGVudDoiXGYxNzUifS5mYS1sb25nLWFycm93LXVwOmJlZm9yZXtjb250ZW50OiJcZjE3NiJ9LmZhLWxvbmctYXJyb3ctbGVmdDpiZWZvcmV7Y29udGVudDoiXGYxNzcifS5mYS1sb25nLWFycm93LXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjE3OCJ9LmZhLWFwcGxlOmJlZm9yZXtjb250ZW50OiJcZjE3OSJ9LmZhLXdpbmRvd3M6YmVmb3Jle2NvbnRlbnQ6IlxmMTdhIn0uZmEtYW5kcm9pZDpiZWZvcmV7Y29udGVudDoiXGYxN2IifS5mYS1saW51eDpiZWZvcmV7Y29udGVudDoiXGYxN2MifS5mYS1kcmliYmJsZTpiZWZvcmV7Y29udGVudDoiXGYxN2QifS5mYS1za3lwZTpiZWZvcmV7Y29udGVudDoiXGYxN2UifS5mYS1mb3Vyc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE4MCJ9LmZhLXRyZWxsbzpiZWZvcmV7Y29udGVudDoiXGYxODEifS5mYS1mZW1hbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTgyIn0uZmEtbWFsZTpiZWZvcmV7Y29udGVudDoiXGYxODMifS5mYS1naXR0aXA6YmVmb3JlLC5mYS1ncmF0aXBheTpiZWZvcmV7Y29udGVudDoiXGYxODQifS5mYS1zdW4tbzpiZWZvcmV7Y29udGVudDoiXGYxODUifS5mYS1tb29uLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTg2In0uZmEtYXJjaGl2ZTpiZWZvcmV7Y29udGVudDoiXGYxODcifS5mYS1idWc6YmVmb3Jle2NvbnRlbnQ6IlxmMTg4In0uZmEtdms6YmVmb3Jle2NvbnRlbnQ6IlxmMTg5In0uZmEtd2VpYm86YmVmb3Jle2NvbnRlbnQ6IlxmMThhIn0uZmEtcmVucmVuOmJlZm9yZXtjb250ZW50OiJcZjE4YiJ9LmZhLXBhZ2VsaW5lczpiZWZvcmV7Y29udGVudDoiXGYxOGMifS5mYS1zdGFjay1leGNoYW5nZTpiZWZvcmV7Y29udGVudDoiXGYxOGQifS5mYS1hcnJvdy1jaXJjbGUtby1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYxOGUifS5mYS1hcnJvdy1jaXJjbGUtby1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjE5MCJ9LmZhLXRvZ2dsZS1sZWZ0OmJlZm9yZSwuZmEtY2FyZXQtc3F1YXJlLW8tbGVmdDpiZWZvcmV7Y29udGVudDoiXGYxOTEifS5mYS1kb3QtY2lyY2xlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTkyIn0uZmEtd2hlZWxjaGFpcjpiZWZvcmV7Y29udGVudDoiXGYxOTMifS5mYS12aW1lby1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTk0In0uZmEtdHVya2lzaC1saXJhOmJlZm9yZSwuZmEtdHJ5OmJlZm9yZXtjb250ZW50OiJcZjE5NSJ9LmZhLXBsdXMtc3F1YXJlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTk2In0uZmEtc3BhY2Utc2h1dHRsZTpiZWZvcmV7Y29udGVudDoiXGYxOTcifS5mYS1zbGFjazpiZWZvcmV7Y29udGVudDoiXGYxOTgifS5mYS1lbnZlbG9wZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTk5In0uZmEtd29yZHByZXNzOmJlZm9yZXtjb250ZW50OiJcZjE5YSJ9LmZhLW9wZW5pZDpiZWZvcmV7Y29udGVudDoiXGYxOWIifS5mYS1pbnN0aXR1dGlvbjpiZWZvcmUsLmZhLWJhbms6YmVmb3JlLC5mYS11bml2ZXJzaXR5OmJlZm9yZXtjb250ZW50OiJcZjE5YyJ9LmZhLW1vcnRhci1ib2FyZDpiZWZvcmUsLmZhLWdyYWR1YXRpb24tY2FwOmJlZm9yZXtjb250ZW50OiJcZjE5ZCJ9LmZhLXlhaG9vOmJlZm9yZXtjb250ZW50OiJcZjE5ZSJ9LmZhLWdvb2dsZTpiZWZvcmV7Y29udGVudDoiXGYxYTAifS5mYS1yZWRkaXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWExIn0uZmEtcmVkZGl0LXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxYTIifS5mYS1zdHVtYmxldXBvbi1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMWEzIn0uZmEtc3R1bWJsZXVwb246YmVmb3Jle2NvbnRlbnQ6IlxmMWE0In0uZmEtZGVsaWNpb3VzOmJlZm9yZXtjb250ZW50OiJcZjFhNSJ9LmZhLWRpZ2c6YmVmb3Jle2NvbnRlbnQ6IlxmMWE2In0uZmEtcGllZC1waXBlcjpiZWZvcmV7Y29udGVudDoiXGYxYTcifS5mYS1waWVkLXBpcGVyLWFsdDpiZWZvcmV7Y29udGVudDoiXGYxYTgifS5mYS1kcnVwYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMWE5In0uZmEtam9vbWxhOmJlZm9yZXtjb250ZW50OiJcZjFhYSJ9LmZhLWxhbmd1YWdlOmJlZm9yZXtjb250ZW50OiJcZjFhYiJ9LmZhLWZheDpiZWZvcmV7Y29udGVudDoiXGYxYWMifS5mYS1idWlsZGluZzpiZWZvcmV7Y29udGVudDoiXGYxYWQifS5mYS1jaGlsZDpiZWZvcmV7Y29udGVudDoiXGYxYWUifS5mYS1wYXc6YmVmb3Jle2NvbnRlbnQ6IlxmMWIwIn0uZmEtc3Bvb246YmVmb3Jle2NvbnRlbnQ6IlxmMWIxIn0uZmEtY3ViZTpiZWZvcmV7Y29udGVudDoiXGYxYjIifS5mYS1jdWJlczpiZWZvcmV7Y29udGVudDoiXGYxYjMifS5mYS1iZWhhbmNlOmJlZm9yZXtjb250ZW50OiJcZjFiNCJ9LmZhLWJlaGFuY2Utc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjFiNSJ9LmZhLXN0ZWFtOmJlZm9yZXtjb250ZW50OiJcZjFiNiJ9LmZhLXN0ZWFtLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxYjcifS5mYS1yZWN5Y2xlOmJlZm9yZXtjb250ZW50OiJcZjFiOCJ9LmZhLWF1dG9tb2JpbGU6YmVmb3JlLC5mYS1jYXI6YmVmb3Jle2NvbnRlbnQ6IlxmMWI5In0uZmEtY2FiOmJlZm9yZSwuZmEtdGF4aTpiZWZvcmV7Y29udGVudDoiXGYxYmEifS5mYS10cmVlOmJlZm9yZXtjb250ZW50OiJcZjFiYiJ9LmZhLXNwb3RpZnk6YmVmb3Jle2NvbnRlbnQ6IlxmMWJjIn0uZmEtZGV2aWFudGFydDpiZWZvcmV7Y29udGVudDoiXGYxYmQifS5mYS1zb3VuZGNsb3VkOmJlZm9yZXtjb250ZW50OiJcZjFiZSJ9LmZhLWRhdGFiYXNlOmJlZm9yZXtjb250ZW50OiJcZjFjMCJ9LmZhLWZpbGUtcGRmLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWMxIn0uZmEtZmlsZS13b3JkLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWMyIn0uZmEtZmlsZS1leGNlbC1vOmJlZm9yZXtjb250ZW50OiJcZjFjMyJ9LmZhLWZpbGUtcG93ZXJwb2ludC1vOmJlZm9yZXtjb250ZW50OiJcZjFjNCJ9LmZhLWZpbGUtcGhvdG8tbzpiZWZvcmUsLmZhLWZpbGUtcGljdHVyZS1vOmJlZm9yZSwuZmEtZmlsZS1pbWFnZS1vOmJlZm9yZXtjb250ZW50OiJcZjFjNSJ9LmZhLWZpbGUtemlwLW86YmVmb3JlLC5mYS1maWxlLWFyY2hpdmUtbzpiZWZvcmV7Y29udGVudDoiXGYxYzYifS5mYS1maWxlLXNvdW5kLW86YmVmb3JlLC5mYS1maWxlLWF1ZGlvLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWM3In0uZmEtZmlsZS1tb3ZpZS1vOmJlZm9yZSwuZmEtZmlsZS12aWRlby1vOmJlZm9yZXtjb250ZW50OiJcZjFjOCJ9LmZhLWZpbGUtY29kZS1vOmJlZm9yZXtjb250ZW50OiJcZjFjOSJ9LmZhLXZpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWNhIn0uZmEtY29kZXBlbjpiZWZvcmV7Y29udGVudDoiXGYxY2IifS5mYS1qc2ZpZGRsZTpiZWZvcmV7Y29udGVudDoiXGYxY2MifS5mYS1saWZlLWJvdXk6YmVmb3JlLC5mYS1saWZlLWJ1b3k6YmVmb3JlLC5mYS1saWZlLXNhdmVyOmJlZm9yZSwuZmEtc3VwcG9ydDpiZWZvcmUsLmZhLWxpZmUtcmluZzpiZWZvcmV7Y29udGVudDoiXGYxY2QifS5mYS1jaXJjbGUtby1ub3RjaDpiZWZvcmV7Y29udGVudDoiXGYxY2UifS5mYS1yYTpiZWZvcmUsLmZhLXJlYmVsOmJlZm9yZXtjb250ZW50OiJcZjFkMCJ9LmZhLWdlOmJlZm9yZSwuZmEtZW1waXJlOmJlZm9yZXtjb250ZW50OiJcZjFkMSJ9LmZhLWdpdC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWQyIn0uZmEtZ2l0OmJlZm9yZXtjb250ZW50OiJcZjFkMyJ9LmZhLXktY29tYmluYXRvci1zcXVhcmU6YmVmb3JlLC5mYS15Yy1zcXVhcmU6YmVmb3JlLC5mYS1oYWNrZXItbmV3czpiZWZvcmV7Y29udGVudDoiXGYxZDQifS5mYS10ZW5jZW50LXdlaWJvOmJlZm9yZXtjb250ZW50OiJcZjFkNSJ9LmZhLXFxOmJlZm9yZXtjb250ZW50OiJcZjFkNiJ9LmZhLXdlY2hhdDpiZWZvcmUsLmZhLXdlaXhpbjpiZWZvcmV7Y29udGVudDoiXGYxZDcifS5mYS1zZW5kOmJlZm9yZSwuZmEtcGFwZXItcGxhbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWQ4In0uZmEtc2VuZC1vOmJlZm9yZSwuZmEtcGFwZXItcGxhbmUtbzpiZWZvcmV7Y29udGVudDoiXGYxZDkifS5mYS1oaXN0b3J5OmJlZm9yZXtjb250ZW50OiJcZjFkYSJ9LmZhLWNpcmNsZS10aGluOmJlZm9yZXtjb250ZW50OiJcZjFkYiJ9LmZhLWhlYWRlcjpiZWZvcmV7Y29udGVudDoiXGYxZGMifS5mYS1wYXJhZ3JhcGg6YmVmb3Jle2NvbnRlbnQ6IlxmMWRkIn0uZmEtc2xpZGVyczpiZWZvcmV7Y29udGVudDoiXGYxZGUifS5mYS1zaGFyZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWUwIn0uZmEtc2hhcmUtYWx0LXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxZTEifS5mYS1ib21iOmJlZm9yZXtjb250ZW50OiJcZjFlMiJ9LmZhLXNvY2Nlci1iYWxsLW86YmVmb3JlLC5mYS1mdXRib2wtbzpiZWZvcmV7Y29udGVudDoiXGYxZTMifS5mYS10dHk6YmVmb3Jle2NvbnRlbnQ6IlxmMWU0In0uZmEtYmlub2N1bGFyczpiZWZvcmV7Y29udGVudDoiXGYxZTUifS5mYS1wbHVnOmJlZm9yZXtjb250ZW50OiJcZjFlNiJ9LmZhLXNsaWRlc2hhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWU3In0uZmEtdHdpdGNoOmJlZm9yZXtjb250ZW50OiJcZjFlOCJ9LmZhLXllbHA6YmVmb3Jle2NvbnRlbnQ6IlxmMWU5In0uZmEtbmV3c3BhcGVyLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWVhIn0uZmEtd2lmaTpiZWZvcmV7Y29udGVudDoiXGYxZWIifS5mYS1jYWxjdWxhdG9yOmJlZm9yZXtjb250ZW50OiJcZjFlYyJ9LmZhLXBheXBhbDpiZWZvcmV7Y29udGVudDoiXGYxZWQifS5mYS1nb29nbGUtd2FsbGV0OmJlZm9yZXtjb250ZW50OiJcZjFlZSJ9LmZhLWNjLXZpc2E6YmVmb3Jle2NvbnRlbnQ6IlxmMWYwIn0uZmEtY2MtbWFzdGVyY2FyZDpiZWZvcmV7Y29udGVudDoiXGYxZjEifS5mYS1jYy1kaXNjb3ZlcjpiZWZvcmV7Y29udGVudDoiXGYxZjIifS5mYS1jYy1hbWV4OmJlZm9yZXtjb250ZW50OiJcZjFmMyJ9LmZhLWNjLXBheXBhbDpiZWZvcmV7Y29udGVudDoiXGYxZjQifS5mYS1jYy1zdHJpcGU6YmVmb3Jle2NvbnRlbnQ6IlxmMWY1In0uZmEtYmVsbC1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGYxZjYifS5mYS1iZWxsLXNsYXNoLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWY3In0uZmEtdHJhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmMWY4In0uZmEtY29weXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjFmOSJ9LmZhLWF0OmJlZm9yZXtjb250ZW50OiJcZjFmYSJ9LmZhLWV5ZWRyb3BwZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMWZiIn0uZmEtcGFpbnQtYnJ1c2g6YmVmb3Jle2NvbnRlbnQ6IlxmMWZjIn0uZmEtYmlydGhkYXktY2FrZTpiZWZvcmV7Y29udGVudDoiXGYxZmQifS5mYS1hcmVhLWNoYXJ0OmJlZm9yZXtjb250ZW50OiJcZjFmZSJ9LmZhLXBpZS1jaGFydDpiZWZvcmV7Y29udGVudDoiXGYyMDAifS5mYS1saW5lLWNoYXJ0OmJlZm9yZXtjb250ZW50OiJcZjIwMSJ9LmZhLWxhc3RmbTpiZWZvcmV7Y29udGVudDoiXGYyMDIifS5mYS1sYXN0Zm0tc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjIwMyJ9LmZhLXRvZ2dsZS1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxmMjA0In0uZmEtdG9nZ2xlLW9uOmJlZm9yZXtjb250ZW50OiJcZjIwNSJ9LmZhLWJpY3ljbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjA2In0uZmEtYnVzOmJlZm9yZXtjb250ZW50OiJcZjIwNyJ9LmZhLWlveGhvc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMjA4In0uZmEtYW5nZWxsaXN0OmJlZm9yZXtjb250ZW50OiJcZjIwOSJ9LmZhLWNjOmJlZm9yZXtjb250ZW50OiJcZjIwYSJ9LmZhLXNoZWtlbDpiZWZvcmUsLmZhLXNoZXFlbDpiZWZvcmUsLmZhLWlsczpiZWZvcmV7Y29udGVudDoiXGYyMGIifS5mYS1tZWFucGF0aDpiZWZvcmV7Y29udGVudDoiXGYyMGMifS5mYS1idXlzZWxsYWRzOmJlZm9yZXtjb250ZW50OiJcZjIwZCJ9LmZhLWNvbm5lY3RkZXZlbG9wOmJlZm9yZXtjb250ZW50OiJcZjIwZSJ9LmZhLWRhc2hjdWJlOmJlZm9yZXtjb250ZW50OiJcZjIxMCJ9LmZhLWZvcnVtYmVlOmJlZm9yZXtjb250ZW50OiJcZjIxMSJ9LmZhLWxlYW5wdWI6YmVmb3Jle2NvbnRlbnQ6IlxmMjEyIn0uZmEtc2VsbHN5OmJlZm9yZXtjb250ZW50OiJcZjIxMyJ9LmZhLXNoaXJ0c2luYnVsazpiZWZvcmV7Y29udGVudDoiXGYyMTQifS5mYS1zaW1wbHlidWlsdDpiZWZvcmV7Y29udGVudDoiXGYyMTUifS5mYS1za3lhdGxhczpiZWZvcmV7Y29udGVudDoiXGYyMTYifS5mYS1jYXJ0LXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjE3In0uZmEtY2FydC1hcnJvdy1kb3duOmJlZm9yZXtjb250ZW50OiJcZjIxOCJ9LmZhLWRpYW1vbmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjE5In0uZmEtc2hpcDpiZWZvcmV7Y29udGVudDoiXGYyMWEifS5mYS11c2VyLXNlY3JldDpiZWZvcmV7Y29udGVudDoiXGYyMWIifS5mYS1tb3RvcmN5Y2xlOmJlZm9yZXtjb250ZW50OiJcZjIxYyJ9LmZhLXN0cmVldC12aWV3OmJlZm9yZXtjb250ZW50OiJcZjIxZCJ9LmZhLWhlYXJ0YmVhdDpiZWZvcmV7Y29udGVudDoiXGYyMWUifS5mYS12ZW51czpiZWZvcmV7Y29udGVudDoiXGYyMjEifS5mYS1tYXJzOmJlZm9yZXtjb250ZW50OiJcZjIyMiJ9LmZhLW1lcmN1cnk6YmVmb3Jle2NvbnRlbnQ6IlxmMjIzIn0uZmEtaW50ZXJzZXg6YmVmb3JlLC5mYS10cmFuc2dlbmRlcjpiZWZvcmV7Y29udGVudDoiXGYyMjQifS5mYS10cmFuc2dlbmRlci1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjI1In0uZmEtdmVudXMtZG91YmxlOmJlZm9yZXtjb250ZW50OiJcZjIyNiJ9LmZhLW1hcnMtZG91YmxlOmJlZm9yZXtjb250ZW50OiJcZjIyNyJ9LmZhLXZlbnVzLW1hcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMjI4In0uZmEtbWFycy1zdHJva2U6YmVmb3Jle2NvbnRlbnQ6IlxmMjI5In0uZmEtbWFycy1zdHJva2UtdjpiZWZvcmV7Y29udGVudDoiXGYyMmEifS5mYS1tYXJzLXN0cm9rZS1oOmJlZm9yZXtjb250ZW50OiJcZjIyYiJ9LmZhLW5ldXRlcjpiZWZvcmV7Y29udGVudDoiXGYyMmMifS5mYS1nZW5kZXJsZXNzOmJlZm9yZXtjb250ZW50OiJcZjIyZCJ9LmZhLWZhY2Vib29rLW9mZmljaWFsOmJlZm9yZXtjb250ZW50OiJcZjIzMCJ9LmZhLXBpbnRlcmVzdC1wOmJlZm9yZXtjb250ZW50OiJcZjIzMSJ9LmZhLXdoYXRzYXBwOmJlZm9yZXtjb250ZW50OiJcZjIzMiJ9LmZhLXNlcnZlcjpiZWZvcmV7Y29udGVudDoiXGYyMzMifS5mYS11c2VyLXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjM0In0uZmEtdXNlci10aW1lczpiZWZvcmV7Y29udGVudDoiXGYyMzUifS5mYS1ob3RlbDpiZWZvcmUsLmZhLWJlZDpiZWZvcmV7Y29udGVudDoiXGYyMzYifS5mYS12aWFjb2luOmJlZm9yZXtjb250ZW50OiJcZjIzNyJ9LmZhLXRyYWluOmJlZm9yZXtjb250ZW50OiJcZjIzOCJ9LmZhLXN1YndheTpiZWZvcmV7Y29udGVudDoiXGYyMzkifS5mYS1tZWRpdW06YmVmb3Jle2NvbnRlbnQ6IlxmMjNhIn0uZmEteWM6YmVmb3JlLC5mYS15LWNvbWJpbmF0b3I6YmVmb3Jle2NvbnRlbnQ6IlxmMjNiIn0uZmEtb3B0aW4tbW9uc3RlcjpiZWZvcmV7Y29udGVudDoiXGYyM2MifS5mYS1vcGVuY2FydDpiZWZvcmV7Y29udGVudDoiXGYyM2QifS5mYS1leHBlZGl0ZWRzc2w6YmVmb3Jle2NvbnRlbnQ6IlxmMjNlIn0uZmEtYmF0dGVyeS00OmJlZm9yZSwuZmEtYmF0dGVyeS1mdWxsOmJlZm9yZXtjb250ZW50OiJcZjI0MCJ9LmZhLWJhdHRlcnktMzpiZWZvcmUsLmZhLWJhdHRlcnktdGhyZWUtcXVhcnRlcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMjQxIn0uZmEtYmF0dGVyeS0yOmJlZm9yZSwuZmEtYmF0dGVyeS1oYWxmOmJlZm9yZXtjb250ZW50OiJcZjI0MiJ9LmZhLWJhdHRlcnktMTpiZWZvcmUsLmZhLWJhdHRlcnktcXVhcnRlcjpiZWZvcmV7Y29udGVudDoiXGYyNDMifS5mYS1iYXR0ZXJ5LTA6YmVmb3JlLC5mYS1iYXR0ZXJ5LWVtcHR5OmJlZm9yZXtjb250ZW50OiJcZjI0NCJ9LmZhLW1vdXNlLXBvaW50ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjQ1In0uZmEtaS1jdXJzb3I6YmVmb3Jle2NvbnRlbnQ6IlxmMjQ2In0uZmEtb2JqZWN0LWdyb3VwOmJlZm9yZXtjb250ZW50OiJcZjI0NyJ9LmZhLW9iamVjdC11bmdyb3VwOmJlZm9yZXtjb250ZW50OiJcZjI0OCJ9LmZhLXN0aWNreS1ub3RlOmJlZm9yZXtjb250ZW50OiJcZjI0OSJ9LmZhLXN0aWNreS1ub3RlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjRhIn0uZmEtY2MtamNiOmJlZm9yZXtjb250ZW50OiJcZjI0YiJ9LmZhLWNjLWRpbmVycy1jbHViOmJlZm9yZXtjb250ZW50OiJcZjI0YyJ9LmZhLWNsb25lOmJlZm9yZXtjb250ZW50OiJcZjI0ZCJ9LmZhLWJhbGFuY2Utc2NhbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjRlIn0uZmEtaG91cmdsYXNzLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjUwIn0uZmEtaG91cmdsYXNzLTE6YmVmb3JlLC5mYS1ob3VyZ2xhc3Mtc3RhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjUxIn0uZmEtaG91cmdsYXNzLTI6YmVmb3JlLC5mYS1ob3VyZ2xhc3MtaGFsZjpiZWZvcmV7Y29udGVudDoiXGYyNTIifS5mYS1ob3VyZ2xhc3MtMzpiZWZvcmUsLmZhLWhvdXJnbGFzcy1lbmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjUzIn0uZmEtaG91cmdsYXNzOmJlZm9yZXtjb250ZW50OiJcZjI1NCJ9LmZhLWhhbmQtZ3JhYi1vOmJlZm9yZSwuZmEtaGFuZC1yb2NrLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjU1In0uZmEtaGFuZC1zdG9wLW86YmVmb3JlLC5mYS1oYW5kLXBhcGVyLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjU2In0uZmEtaGFuZC1zY2lzc29ycy1vOmJlZm9yZXtjb250ZW50OiJcZjI1NyJ9LmZhLWhhbmQtbGl6YXJkLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjU4In0uZmEtaGFuZC1zcG9jay1vOmJlZm9yZXtjb250ZW50OiJcZjI1OSJ9LmZhLWhhbmQtcG9pbnRlci1vOmJlZm9yZXtjb250ZW50OiJcZjI1YSJ9LmZhLWhhbmQtcGVhY2UtbzpiZWZvcmV7Y29udGVudDoiXGYyNWIifS5mYS10cmFkZW1hcms6YmVmb3Jle2NvbnRlbnQ6IlxmMjVjIn0uZmEtcmVnaXN0ZXJlZDpiZWZvcmV7Y29udGVudDoiXGYyNWQifS5mYS1jcmVhdGl2ZS1jb21tb25zOmJlZm9yZXtjb250ZW50OiJcZjI1ZSJ9LmZhLWdnOmJlZm9yZXtjb250ZW50OiJcZjI2MCJ9LmZhLWdnLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYyNjEifS5mYS10cmlwYWR2aXNvcjpiZWZvcmV7Y29udGVudDoiXGYyNjIifS5mYS1vZG5va2xhc3NuaWtpOmJlZm9yZXtjb250ZW50OiJcZjI2MyJ9LmZhLW9kbm9rbGFzc25pa2ktc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjI2NCJ9LmZhLWdldC1wb2NrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjY1In0uZmEtd2lraXBlZGlhLXc6YmVmb3Jle2NvbnRlbnQ6IlxmMjY2In0uZmEtc2FmYXJpOmJlZm9yZXtjb250ZW50OiJcZjI2NyJ9LmZhLWNocm9tZTpiZWZvcmV7Y29udGVudDoiXGYyNjgifS5mYS1maXJlZm94OmJlZm9yZXtjb250ZW50OiJcZjI2OSJ9LmZhLW9wZXJhOmJlZm9yZXtjb250ZW50OiJcZjI2YSJ9LmZhLWludGVybmV0LWV4cGxvcmVyOmJlZm9yZXtjb250ZW50OiJcZjI2YiJ9LmZhLXR2OmJlZm9yZSwuZmEtdGVsZXZpc2lvbjpiZWZvcmV7Y29udGVudDoiXGYyNmMifS5mYS1jb250YW86YmVmb3Jle2NvbnRlbnQ6IlxmMjZkIn0uZmEtNTAwcHg6YmVmb3Jle2NvbnRlbnQ6IlxmMjZlIn0uZmEtYW1hem9uOmJlZm9yZXtjb250ZW50OiJcZjI3MCJ9LmZhLWNhbGVuZGFyLXBsdXMtbzpiZWZvcmV7Y29udGVudDoiXGYyNzEifS5mYS1jYWxlbmRhci1taW51cy1vOmJlZm9yZXtjb250ZW50OiJcZjI3MiJ9LmZhLWNhbGVuZGFyLXRpbWVzLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjczIn0uZmEtY2FsZW5kYXItY2hlY2stbzpiZWZvcmV7Y29udGVudDoiXGYyNzQifS5mYS1pbmR1c3RyeTpiZWZvcmV7Y29udGVudDoiXGYyNzUifS5mYS1tYXAtcGluOmJlZm9yZXtjb250ZW50OiJcZjI3NiJ9LmZhLW1hcC1zaWduczpiZWZvcmV7Y29udGVudDoiXGYyNzcifS5mYS1tYXAtbzpiZWZvcmV7Y29udGVudDoiXGYyNzgifS5mYS1tYXA6YmVmb3Jle2NvbnRlbnQ6IlxmMjc5In0uZmEtY29tbWVudGluZzpiZWZvcmV7Y29udGVudDoiXGYyN2EifS5mYS1jb21tZW50aW5nLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjdiIn0uZmEtaG91eno6YmVmb3Jle2NvbnRlbnQ6IlxmMjdjIn0uZmEtdmltZW86YmVmb3Jle2NvbnRlbnQ6IlxmMjdkIn0uZmEtYmxhY2stdGllOmJlZm9yZXtjb250ZW50OiJcZjI3ZSJ9LmZhLWZvbnRpY29uczpiZWZvcmV7Y29udGVudDoiXGYyODAifS5mYS1yZWRkaXQtYWxpZW46YmVmb3Jle2NvbnRlbnQ6IlxmMjgxIn0uZmEtZWRnZTpiZWZvcmV7Y29udGVudDoiXGYyODIifS5mYS1jcmVkaXQtY2FyZC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjgzIn0uZmEtY29kaWVwaWU6YmVmb3Jle2NvbnRlbnQ6IlxmMjg0In0uZmEtbW9keDpiZWZvcmV7Y29udGVudDoiXGYyODUifS5mYS1mb3J0LWF3ZXNvbWU6YmVmb3Jle2NvbnRlbnQ6IlxmMjg2In0uZmEtdXNiOmJlZm9yZXtjb250ZW50OiJcZjI4NyJ9LmZhLXByb2R1Y3QtaHVudDpiZWZvcmV7Y29udGVudDoiXGYyODgifS5mYS1taXhjbG91ZDpiZWZvcmV7Y29udGVudDoiXGYyODkifS5mYS1zY3JpYmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjhhIn0uZmEtcGF1c2UtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjI4YiJ9LmZhLXBhdXNlLWNpcmNsZS1vOmJlZm9yZXtjb250ZW50OiJcZjI4YyJ9LmZhLXN0b3AtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjI4ZCJ9LmZhLXN0b3AtY2lyY2xlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjhlIn0uZmEtc2hvcHBpbmctYmFnOmJlZm9yZXtjb250ZW50OiJcZjI5MCJ9LmZhLXNob3BwaW5nLWJhc2tldDpiZWZvcmV7Y29udGVudDoiXGYyOTEifS5mYS1oYXNodGFnOmJlZm9yZXtjb250ZW50OiJcZjI5MiJ9LmZhLWJsdWV0b290aDpiZWZvcmV7Y29udGVudDoiXGYyOTMifS5mYS1ibHVldG9vdGgtYjpiZWZvcmV7Y29udGVudDoiXGYyOTQifS5mYS1wZXJjZW50OmJlZm9yZXtjb250ZW50OiJcZjI5NSJ9LmZhLWdpdGxhYjpiZWZvcmV7Y29udGVudDoiXGYyOTYifS5mYS13cGJlZ2lubmVyOmJlZm9yZXtjb250ZW50OiJcZjI5NyJ9LmZhLXdwZm9ybXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjk4In0uZmEtZW52aXJhOmJlZm9yZXtjb250ZW50OiJcZjI5OSJ9LmZhLXVuaXZlcnNhbC1hY2Nlc3M6YmVmb3Jle2NvbnRlbnQ6IlxmMjlhIn0uZmEtd2hlZWxjaGFpci1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjliIn0uZmEtcXVlc3Rpb24tY2lyY2xlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjljIn0uZmEtYmxpbmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjlkIn0uZmEtYXVkaW8tZGVzY3JpcHRpb246YmVmb3Jle2NvbnRlbnQ6IlxmMjllIn0uZmEtdm9sdW1lLWNvbnRyb2wtcGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMmEwIn0uZmEtYnJhaWxsZTpiZWZvcmV7Y29udGVudDoiXGYyYTEifS5mYS1hc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXM6YmVmb3Jle2NvbnRlbnQ6IlxmMmEyIn0uZmEtYXNsLWludGVycHJldGluZzpiZWZvcmUsLmZhLWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nOmJlZm9yZXtjb250ZW50OiJcZjJhMyJ9LmZhLWRlYWZuZXNzOmJlZm9yZSwuZmEtaGFyZC1vZi1oZWFyaW5nOmJlZm9yZSwuZmEtZGVhZjpiZWZvcmV7Y29udGVudDoiXGYyYTQifS5mYS1nbGlkZTpiZWZvcmV7Y29udGVudDoiXGYyYTUifS5mYS1nbGlkZS1nOmJlZm9yZXtjb250ZW50OiJcZjJhNiJ9LmZhLXNpZ25pbmc6YmVmb3JlLC5mYS1zaWduLWxhbmd1YWdlOmJlZm9yZXtjb250ZW50OiJcZjJhNyJ9LmZhLWxvdy12aXNpb246YmVmb3Jle2NvbnRlbnQ6IlxmMmE4In0uZmEtdmlhZGVvOmJlZm9yZXtjb250ZW50OiJcZjJhOSJ9LmZhLXZpYWRlby1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMmFhIn0uZmEtc25hcGNoYXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMmFiIn0uZmEtc25hcGNoYXQtZ2hvc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMmFjIn0uZmEtc25hcGNoYXQtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjJhZCJ9LnNyLW9ubHl7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O2hlaWdodDoxcHg7cGFkZGluZzowO21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtjbGlwOnJlY3QoMCwgMCwgMCwgMCk7Ym9yZGVyOjB9LnNyLW9ubHktZm9jdXNhYmxlOmFjdGl2ZSwuc3Itb25seS1mb2N1c2FibGU6Zm9jdXN7cG9zaXRpb246c3RhdGljO3dpZHRoOmF1dG87aGVpZ2h0OmF1dG87bWFyZ2luOjA7b3ZlcmZsb3c6dmlzaWJsZTtjbGlwOmF1dG99"}},"time_used":9,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":8,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/35794.0a273bafc5de50a0d21d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.976Z","timestamp":1785120633976,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/35794.0a273bafc5de50a0d21d.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608300-929\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:44:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 00db84c97d85d2d9d958bc00725eea0e\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2345,"size_decoded":1476,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2345), with no line terminators","md5":"070dbbdaf81468918cc345dc05f9a381","sha1":"2ab8968ccfc58991cdc8860741aecf9533393e0f","sha256":"8782990aacf2d956262c5608c1f9f9be2c54e5b100e7e1fd85521c2424944d72","sha512":"c162784e77aaebd46d2c606d8ec9f965be7c21092d5143c64badbc4cc2b380589455fd4eb60cdd25a9cff11dceab520faac1d1753d1b999596c4c462a0fa0e43","ssdeep":"","tlshash":"e7418bafa148d8b0fe116198b3dd638db6e5ec70a90a05cdb633b839cce17f15d50158","first_seen":"2026-07-22T16:00:00.426214Z","last_seen":"2026-07-27T05:29:38.705121Z","times_seen":140,"resource_available":false,"data":"LnNtYWxsLXRXRElDVGF5ey0tdWktbGliLXByaXZhdGUtc3dpdGNoVmlldy1zaXplOjN9Lm1lZGl1bS10V0RJQ1RheXstLXVpLWxpYi1wcml2YXRlLXN3aXRjaFZpZXctc2l6ZTo0fS5sYXJnZS10V0RJQ1RheXstLXVpLWxpYi1wcml2YXRlLXN3aXRjaFZpZXctc2l6ZTo1fS5zd2l0Y2hWaWV3LXRXRElDVGF5ey0tdWktbGliLXNpemUtZGVmOnZhcigtLXVpLWxpYi1pbi1zd2l0Y2hWaWV3LXNpemUsdmFyKC0tdWktbGliLXByaXZhdGUtc3dpdGNoVmlldy1zaXplLDQpKTstLXVpLWxpYi1zaXplLWRlZi1zbWFsbDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAzKSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gMykpKTstLXVpLWxpYi1zaXplLWRlZi1tZWRpdW06Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNCkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDQpKSk7LS11aS1saWItc2l6ZS1kZWYtbGFyZ2U6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNSkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDUpKSk7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTstLXN3aXRjaC1oZWlnaHQ6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjIwcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSoyOHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSozNHB4KTtoZWlnaHQ6dmFyKC0tc3dpdGNoLWhlaWdodCk7LS1zd2l0Y2gtd2lkdGg6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjM4cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSo1NHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo2NHB4KTt3aWR0aDp2YXIoLS1zd2l0Y2gtd2lkdGgpOy0tc3dpdGNoLXBhZGRpbmc6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjNweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqNXB4KTstLXN3aXRjaC10aHVtYjpjYWxjKHZhcigtLXN3aXRjaC1oZWlnaHQpIC0gdmFyKC0tc3dpdGNoLXBhZGRpbmcpKjIpOy0tZGVmYXVsdC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwpOy0tc3dpdGNoLWNvbG9yOnZhcigtLXVpLWxpYi1zd2l0Y2hWaWV3LWNvbG9yLHZhcigtLWRlZmF1bHQtY29sb3IpKX0uc3dpdGNoVmlldy10V0RJQ1RheS5jaGVja2VkLXRXRElDVGF5ey0tZGVmYXVsdC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCl9LmRpc2FibGVkLXRXRElDVGF5e29wYWNpdHk6LjV9LnRyYWNrLXRXRElDVGF5e2JhY2tncm91bmQtY29sb3I6dmFyKC0tc3dpdGNoLWNvbG9yKTtib3JkZXItY29sb3I6dmFyKC0tc3dpdGNoLWNvbG9yKTtib3JkZXItcmFkaXVzOjIwcHg7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoxcHg7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJX0udGh1bWItdFdESUNUYXl7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1xdWluYXJ5LWludmVyc2UpO2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OnZhcigtLXN3aXRjaC10aHVtYik7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS1zd2l0Y2gtcGFkZGluZyksdmFyKC0tc3dpdGNoLXBhZGRpbmcpKTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4yNXM7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7d2lkdGg6dmFyKC0tc3dpdGNoLXRodW1iKX0udGh1bWItdFdESUNUYXk6ZGlyKHJ0bCl7dHJhbnNmb3JtOnRyYW5zbGF0ZShjYWxjKHZhcigtLXN3aXRjaC1wYWRkaW5nKSotMSksdmFyKC0tc3dpdGNoLXBhZGRpbmcpKX0uY2hlY2tlZC10V0RJQ1RheSAudGh1bWItdFdESUNUYXl7dHJhbnNmb3JtOnRyYW5zbGF0ZShjYWxjKHZhcigtLXN3aXRjaC13aWR0aCkgLSB2YXIoLS1zd2l0Y2gtdGh1bWIpIC0gdmFyKC0tc3dpdGNoLXBhZGRpbmcpKSx2YXIoLS1zd2l0Y2gtcGFkZGluZykpfS5jaGVja2VkLXRXRElDVGF5IC50aHVtYi10V0RJQ1RheTpkaXIocnRsKXt0cmFuc2Zvcm06dHJhbnNsYXRlKGNhbGMoKHZhcigtLXN3aXRjaC13aWR0aCkgLSB2YXIoLS1zd2l0Y2gtdGh1bWIpIC0gdmFyKC0tc3dpdGNoLXBhZGRpbmcpKSotMSksdmFyKC0tc3dpdGNoLXBhZGRpbmcpKX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ssltvc.forexprostools.com/cc6698fccca44e51b088d9ddbbcf8ec8/1785120633/7/7/17/history?symbol=945629\u0026resolution=5\u0026from=1785117651\u0026to=1785120651","fqdn":"ssltvc.forexprostools.com","domain":"forexprostools.com","tld":"com"},"ip":{"addr":"172.64.145.17","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://tvc-invdn-cf-com.investing.com/tool/1.12.10/tool-prod-2-ssl.html?carrier=cc6698fccca44e51b088d9ddbbcf8ec8\u0026time=1785120633\u0026domain_ID=7\u0026lang_ID=7\u0026timezone_ID=17\u0026version=1.12.10\u0026locale=ru\u0026timezone=Europe/Moscow\u0026pair_ID=945629\u0026interval=5\u0026session=24x7\u0026prefix=ru\u0026suffix=\u0026client=0\u0026user=\u0026plotStyle=area\u0026geoc=NO\u0026styleOverride=","date":"2026-07-27T02:50:51.247Z","timestamp":1785120651247,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ssltvc.forexprostools.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 01 Jul 2026 07:28:49 GMT","end":"Tue, 29 Sep 2026 08:28:41 GMT"},"fingerprint":{"sha1":"A5:B9:A3:37:7A:C1:B6:8A:CE:8E:33:4E:C4:D0:99:66:F7:7A:73:97","sha256":"71:C3:86:3A:F2:24:C3:AF:EF:93:54:97:D5:74:4E:5F:D9:86:A5:FC:AC:5A:03:59:95:7F:14:56:28:BF:61:89"}}},"request":{"raw":"GET /cc6698fccca44e51b088d9ddbbcf8ec8/1785120633/7/7/17/history?symbol=945629\u0026resolution=5\u0026from=1785117651\u0026to=1785120651 HTTP/1.1\r\nHost: ssltvc.forexprostools.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://tvc-invdn-cf-com.investing.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://tvc-invdn-cf-com.investing.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 02:50:51 GMT\r\ncontent-type: text/html; charset=utf-8\r\nserver: cloudflare\r\nset-cookie: __cf_bm=vIG7zb8og_pVQUwRcpOJiuhW5D9fHV5EoNI6y6OSyew-1785120651.2490523-1.0.1.1-CBKIYakUCaI6TZOZuAPf7sE7dtYaiDYmYFJBZ43k.IIW1G0uEYuy0gpE_98g_5PFzpP4HoWNyXjOv5abUU3vv0CX5yiYKpBff2KIuKupN7lk25gboy.0PqJjradYfnTT; HttpOnly; SameSite=None; Secure; Path=/; Domain=forexprostools.com; Expires=Mon, 27 Jul 2026 03:20:51 GMT\r\naccess-control-allow-origin: https://tvc-invdn-cf-com.investing.com\r\nx-requested-with: XMLHttpRequest\r\naccess-control-allow-methods: POST, GET, OPTIONS, PUT, DELETE\r\naccess-control-allow-headers: Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, accept, sessionid, x-csrftoken, content-type\r\nx-benchmark-1a: 0ms, mem alloc - 2.00Mb start\r\nx-benchmark-1b: 1ms, mem alloc - 2.00Mb getPairIdBySymbol\r\nx-benchmark-1c: 1ms, mem alloc - 2.00Mb getIntervalByResolution\r\nx-benchmark-1d: 1ms, mem alloc - 2.00Mb getPairDataAndAttributes in TradingviewConnector::findCandles\r\nx-benchmark-1e: 4ms, mem alloc - 2.00Mb getCandles in TradingviewConnector::findCandles\r\nx-benchmark-1f: 4ms, mem alloc - 2.00Mb end of TradingviewConnector::findCandles\r\nx-benchmark-1g: 4ms, mem alloc - 2.00Mb findCandles\r\nvary: Accept-Encoding,User-Agent\r\ncontent-security-policy: upgrade-insecure-requests; block-all-mixed-content\r\ncf-cache-status: DYNAMIC\r\ncontent-encoding: gzip\r\ncf-ray: a21856c64b141a30-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"Cloudflare Bot Management","description":"Cloudflare bot management solution identifies and mitigates automated traffic to protect websites from bad bots.","website":"https://www.cloudflare.com/en-gb/products/bot-management/","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["Security"]}],"data":{"size":416,"size_decoded":1678,"mime_type":"text/html; charset=utf-8","magic":"JSON text data","md5":"a92ef0dabf92edbc5543a3e5c1c5c974","sha1":"85941ef4ad70410249996397e41419f90ec6779c","sha256":"116107ba5d27255d77c65b0311a62bde9caf1cde77bfcff069d12975a6ee1f22","sha512":"6b88856e7ab4f89fac2cce0533ec1fc83ab0bca4d07d770ad7840c3a8d0af40f59a9479118fb6ad6dd6f60c83d02d40235191184bba4abe9b0a5b68925a637ab","ssdeep":"","tlshash":"16e01a32ebd3c02342d1b74503c92c2d2ae7ca1ea6d39934b3511a190f8e8d30f5db44","first_seen":"2026-07-27T02:51:26.847727Z","last_seen":"2026-07-27T02:51:26.847727Z","times_seen":1,"resource_available":false,"data":"eyJ0IjpbMTc4NTExNzkwMCwxNzg1MTE4MjAwLDE3ODUxMTg1MDAsMTc4NTExODgwMCwxNzg1MTE5MTAwLDE3ODUxMTk0MDAsMTc4NTExOTcwMCwxNzg1MTIwMDAwLDE3ODUxMjAzMDAsMTc4NTEyMDYwMF0sImMiOls2NTI2Myw2NTI2OCw2NTI2OSw2NTIyOSw2NTIzNiw2NTE5MSw2NTMwOCw2NTMwNiw2NTI3OSw2NTI1OF0sIm8iOls2NTIxNyw2NTI2Myw2NTI1Nyw2NTI2Niw2NTIzMSw2NTIzNiw2NTE5MSw2NTMwNSw2NTMwNiw2NTI3OV0sImgiOls2NTI2Myw2NTI3MCw2NTI2OSw2NTI4Nyw2NTI2NSw2NTIzNiw2NTMwOCw2NTMzMSw2NTMxNiw2NTI3OV0sImwiOls2NTIwOSw2NTIzNiw2NTIxOSw2NTIxOCw2NTIzMSw2NTE3NCw2NTE4NCw2NTI4NCw2NTI2Miw2NTI1OF0sInYiOlswLDAsMCwwLDAsMCwwLDAsMCwwXSwicyI6Im9rIn0="}},"time_used":48,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":48,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/img/adv_bg.jpg","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.455Z","timestamp":1785120633455,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /img/adv_bg.jpg HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: image/jpeg\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-1ab0f\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":109327,"size_decoded":103648,"mime_type":"image/jpeg","magic":"JPEG image data, Exif standard: [TIFF image data, little-endian, direntries=0], baseline, precision 8, 1920x985, components 3","md5":"3a324cc929442f5582138da02c57d9b7","sha1":"6181b654a9f3597e0b10d642a82022df0029a915","sha256":"7ce6454501b150ee733f1e0ba7ef8003f1b4a82047b80e5addb222fb864c80f7","sha512":"d4d36a3bc04059710719e3e8a473853fca292a89e4a1a733f2fcd972c6cb97c31b087b50214ebc5a728bfcb0877dc3f7e4b41bbdf7747657793e675267f2837d","ssdeep":"1536:jtTWuXkiT16kdKqLcYhbO9OPehDSTYOZ9ifP39IfiVlWWRFaRciU:UuXX66BnhbOIPCEdU6alPGZU","tlshash":"bab3f222f6a36903c5cc577058a32b1e2fab92b5d3c19982abf482b1e15f34d7f05583","first_seen":"2024-08-20T12:18:59.275584Z","last_seen":"2026-07-27T02:59:54.568674Z","times_seen":5,"resource_available":false,"data":"/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMraHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjMtYzAxMSA2Ni4xNDU2NjEsIDIwMTIvMDIvMDYtMTQ6NTY6MjcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlGQUUxNkZGOTE3MDExRThBRUY1QzJFNTE0QTcwNThDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlGQUUxNzAwOTE3MDExRThBRUY1QzJFNTE0QTcwNThDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OUZBRTE2RkQ5MTcwMTFFOEFFRjVDMkU1MTRBNzA1OEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OUZBRTE2RkU5MTcwMTFFOEFFRjVDMkU1MTRBNzA1OEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAGBAQEBQQGBQUGCQYFBgkLCAYG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"}},"time_used":131,"timings":{"blocked":74,"dns":0,"connect":0,"send":0,"wait":29,"receive":28,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/49518.081f9637b94ee62a6e6f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.983Z","timestamp":1785120633983,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/49518.081f9637b94ee62a6e6f.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b70-14e9\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:20 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 70417a6cc8e05d0f4d27c1dd1a4a6c70\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5353,"size_decoded":1929,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (5353), with no line terminators","md5":"d7a9f60b8ae2b7f3ca613c9e5b32c1be","sha1":"96edacc2eaf0e2cf90be1c863bcdf71fce951db7","sha256":"62105e79933d1412be7816bc118e665a99e90c3d846b5e3282d35372ec43018a","sha512":"be8a4d2d71a8547c7dd2aa502370f205f86911c5def4816629a2da7cd82f3786e92dd78ecc49e89a9af136891ed67fb875ef4fcddcc07ccc31b5f51d430f4da3","ssdeep":"48:DVGIKVGI0GIKZGIpGIoVGIRGIqGIuGIjVGI0QVGIZGITZGI0LGI06GIHGI8GI/G7:D81CWQbawWxrGn5W+orw57Ur6Mpk98","tlshash":"12b1f676e8201aa675ba5a192380fad45034d022bf219ffff3c568168dcf1c6789381d","first_seen":"2026-03-24T10:46:27.490841Z","last_seen":"2026-07-27T05:29:38.645303Z","times_seen":1403,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV8xLTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1fMi02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tXzMtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV80LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1fNS02YW5NOnZhcigtLWNvbG9yLXdoaXRlKTstLV82LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1fNy02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tXzgtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLV85LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tXzEtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLV8yLTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1fMy02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tXzQtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLV81LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1fNi02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzctNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLV84LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1fOS02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApfS50di1jb250cm9sLWNoZWNrYm94ey13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0udHYtY29udHJvbC1jaGVja2JveC0taW4tYWN0aW9uc3ttYXgtd2lkdGg6NTAlfUBtZWRpYSAobWF4LXdpZHRoOjQ3OXB4KXsudHYtY29udHJvbC1jaGVja2JveC0taW4tYWN0aW9uc3ttYXgtd2lkdGg6bm9uZX19LnR2LWNvbnRyb2wtY2hlY2tib3gsLnR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVse2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0udHYtY29udHJvbC1jaGVja2JveC0tbm93cmFwLC50di1jb250cm9sLWNoZWNrYm94X19sYWJlbC0tbm93cmFwe3doaXRlLXNwYWNlOm5vd3JhcH0udHYtY29udHJvbC1jaGVja2JveF9faW5wdXR7aGVpZ2h0OjE4cHg7aW5zZXQtaW5saW5lLXN0YXJ0OjA7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjE4cHh9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveHtib3JkZXItcmFkaXVzOjNweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtsaW5lLWhlaWdodDoxO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4zNXMgZWFzZTt3aWR0aDoxOHB4fS50di1jb250cm9sLWNoZWNrYm94X19ib3g6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtib3JkZXItcmFkaXVzOjNweDtpbnNldC1pbmxpbmUtc3RhcnQ6NTAlO21hcmdpbi10b3A6LTlweDttYXJnaW4taW5saW5lLXN0YXJ0Oi05cHg7dG9wOjUwJTt0cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjM1cyBlYXNlLGJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlLGJvcmRlci1yYWRpdXMgLjM1cyBlYXNlfS50di1jb250cm9sLWNoZWNrYm94X19ib3g6YWZ0ZXIsLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE4cHh9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzAtNmFuTSk7Ym9yZGVyLXJhZGl1czozcHg7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoxcHg7Ym94LXNpemluZzpib3JkZXItYm94O2luc2V0LWlubGluZS1zdGFydDowO3RvcDowO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4zNXMgZWFzZX0udHYtY29udHJvbC1jaGVja2JveF9fYm94IHN2Z3tkaXNwbGF5OmJsb2NrO2hlaWdodDoxMnB4O2luc2V0LWlubGluZS1zdGFydDo1MCU7bWFyZ2luLXRvcDotNnB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6LTZweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOjEycHg7c3Ryb2tlOiMwMDAwO3RyYW5zZm9ybTpzY2FsZSgwKTt0cmFuc2l0aW9uOnN0cm9rZSAuMzVzIGVhc2UgMW1zLHRyYW5zZm9ybSAuMzVzIGVhc2UgMW1zfS50di1jb250cm9sLWNoZWNrYm94X19sYWJlbHttYXJnaW4taW5saW5lLWVuZDoxMHB4O3doaXRlLXNwYWNlOm5vcm1hbH0udHYtY29udHJvbC1jaGVja2JveF9fbGFiZWwtLXR3by1saW5lc3t3aWR0aDoxNTVweH0udHYtY29udHJvbC1jaGVja2JveF9fbGFiZWwtLW5vd3JhcHt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVsLS1saWwtbGluZS1oZWlnaHR7bGluZS1oZWlnaHQ6MTZweDttYXgtd2lkdGg6ODAlO21pbi13aWR0aDo0NSV9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVsKy50di1jb250cm9sLWNoZWNrYm94e21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0udHYtY29udHJvbC1jaGVja2JveCsudHYtY29udHJvbC1jaGVja2JveF9fbGFiZWx7bWFyZ2luLWlubGluZS1lbmQ6MDttYXJnaW4taW5saW5lLXN0YXJ0OjEwcHg7bWF4LXdpZHRoOmNhbGMoMTAwJSAtIDFleCAtIDI4cHgpfS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9fYm94LC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cysudHYtY29udHJvbC1jaGVja2JveF9fYm94e3dpbGwtY2hhbmdlOmJhY2tncm91bmQtY29sb3J9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWNoZWNrYm94OmhvdmVyIC50di1jb250cm9sLWNoZWNrYm94X19ib3h7d2lsbC1jaGFuZ2U6YmFja2dyb3VuZC1jb2xvcn19LnR2LWNvbnRyb2wtY2hlY2tib3g6YWN0aXZlIC50di1jb250cm9sLWNoZWNrYm94X19ib3g6YmVmb3JlLC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cysudHYtY29udHJvbC1jaGVja2JveF9fYm94OmJlZm9yZXt3aWxsLWNoYW5nZTp0cmFuc2Zvcm0sYm9yZGVyLXJhZGl1c31AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtY2hlY2tib3g6aG92ZXIgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDpiZWZvcmV7d2lsbC1jaGFuZ2U6dHJhbnNmb3JtLGJvcmRlci1yYWRpdXN9fS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVyLC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cysudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVye3dpbGwtY2hhbmdlOmJvcmRlci1jb2xvcn1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtY2hlY2tib3g6aG92ZXIgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzEtNmFuTSk7d2lsbC1jaGFuZ2U6Ym9yZGVyLWNvbG9yfX0udHYtY29udHJvbC1jaGVja2JveDphY3RpdmUgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlciwudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Zm9jdXMrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzItNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8zLTZhbk0pfS50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpjaGVja2VkKy50di1jb250cm9sLWNoZWNrYm94X19ib3gsLnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlciwudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94OmJlZm9yZXt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKX0udHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94OmJlZm9yZXtib3JkZXItcmFkaXVzOjUwJTt0cmFuc2Zvcm06c2NhbGUoMCl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzQtNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveCBzdmd7c3Ryb2tlOnZhcigtLV81LTZhbk0pO3RyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2l0aW9uLWRlbGF5Ojg3LjVtczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKTt3aWxsLWNoYW5nZTpzdHJva2UsdHJhbnNmb3JtfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1jaGVja2JveDpob3ZlciAudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94e2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzYtNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3g6aG92ZXIgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzctNmFuTSl9fS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94LC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cy12aXNpYmxlOmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV84LTZhbk0pfS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVyLC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cy12aXNpYmxlOmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzktNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0W2Rpc2FibGVkXSsudHYtY29udHJvbC1jaGVja2JveF9fYm94e29wYWNpdHk6LjV9LnR2LWNvbnRyb2wtY2hlY2tib3guaS1lcnJvciAudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/96587.97fdd65f2012106ff11e.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.846Z","timestamp":1785120634846,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/96587.97fdd65f2012106ff11e.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"247optiontradefx.com/js/detect.js","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:32.894Z","timestamp":1785120632894,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /js/detect.js HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:32 GMT\r\nContent-Type: application/javascript; charset=utf-8\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-cc25\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":52261,"size_decoded":11053,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (591), with CRLF line terminators","md5":"d524d3b4f074422418b1b299f0c8a37a","sha1":"5195ceb5b108e7a7c3440cadd18b278503905bb8","sha256":"dd1475779cbc7364d43209f87935c92ea16c251901a0e803e8588a0b9414afb1","sha512":"0e578bb7a3e74b699b118735b98d74129d10f55894e455df6bbd79d941a43a0342ec2791df5c97521721b23bbe5f7e8833da062b723ac05dd5d0b01e87a19154","ssdeep":"384:NictB2tGWDS9sXifWu2eqEQytKErjxZnuvE21v8lBmAcXVeJ0G51vvD:NB2sWgUeqEQycmjxZuftwEVQ0G5R","tlshash":"9a33011679aa219384b7f36d01a51e1af23107bf81cdd45e763d211a2f3c56e82a4fec","first_seen":"2026-07-27T02:45:25.202324Z","last_seen":"2026-07-27T02:59:54.511668Z","times_seen":4,"resource_available":true,"data":"LyoqDQogKiBEZXRlY3QuanM6IFVzZXItQWdlbnQgUGFyc2VyDQogKiBodHRwczovL2dpdGh1Yi5jb20vZGFyY3ljbGFya2UvRGV0ZWN0LmpzDQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgYW5kIEdQTCBsaWNlbnNlcy4NCiAqDQogKiBAdmVyc2lvbiAyLjIuMg0KICogQGF1dGhvciBEYXJjeSBDbGFya2UNCiAqIEB1cmwgaHR0cDovL2RhcmN5Y2xhcmtlLm1lDQogKiBAY3JlYXRlZGF0IE1vbiBPY3QgMjYgMjAxNSAwODoyMTo1NCBHTVQtMDIwMCAoSG9yw6FyaW8gYnJhc2lsZWlybyBkZSB2ZXLDo28pDQogKg0KICogQmFzZWQgb24gVUEtUGFyc2VyIChodHRwczovL2dpdGh1Yi5jb20vdG9iaWUvdWEtcGFyc2VyKSBieSBUb2JpZSBMYW5nZWwNCiAqDQogKiBFeGFtcGxlIFVzYWdlOg0KICogdmFyIGFnZW50SW5mbyA9IGRldGVjdC5wYXJzZShuYXZpZ2F0b3IudXNlckFnZW50KTsNCiAqIGNvbnNvbGUubG9nKGFnZW50SW5mby5icm93c2VyLmZhbWlseSk7IC8vIENocm9tZQ0KICoNCiAqLw0KKGZ1bmN0aW9uKHJvb3QsIHVuZGVmaW5lZCkgew0KICAgIC8vIFNoaW0gQXJyYXkucHJvdG90eXBlLm1hcCBpZiBuZWNlc3NhcnkNCiAgICAvLyBQcm9kdWN0aW9uIHN0ZXBzIG9mIEVDTUEtMjYyLCBFZGl0aW9uIDUsIDE1LjQuNC4xOQ0KICAgIC8vIFJlZmVyZW5jZTogaHR0cDovL2VzNS5naXRodWIuY29tLyN4MTUuNC40LjE5DQogICAgaWYgKCFBcnJheS5wcm90b3R5cGUubWFwKSB7DQogICAgICAgIEFycmF5LnByb3RvdHlwZS5tYXAgPSBmdW5jdGlvbihjYWxsYmFjaywgdGhpc0FyZykgew0KICAgICAgICAgICAgdmFyIFQsIEEsIGs7DQogICAgICAgICAgICBpZiAodGhpcyA9PSBudWxsKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigiIHRoaXMgaXMgbnVsbCBvciBub3QgZGVmaW5lZCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgLy8gMS4gTGV0IE8gYmUgdGhlIHJlc3VsdCBvZiBjYWxsaW5nIFRvT2JqZWN0IHBhc3NpIHRoZSB8dGhpc3wgdmFsdWUgYXMgdGhlIGFyZ3VtZW50Lg0KICAgICAgICAgICAgdmFyIE8gPSBPYmplY3QodGhpcyk7DQogICAgICAgICAgICAvLyAyLiBMZXQgbGVuVmFsdWUgYmUgdGhlIHJlc3VsdCBvZiBjYWxsaW5nIHRoZSBHZXQgaW50ZXJuYWwgbWV0aG9kIG9mIE8gd2l0aCB0aGUgYXJndW1lbnQgImxlbmd0aCIuDQogICAgICAgICAgICAvLyAzLiBMZXQgbGVuIGJlIFRvVWludDMyKGxlblZhbHVlKS4NCiAgICAgICAgICAgIHZhciBsZW4gPSBPLmxlbmd0aCA+Pj4gMDsNCiAgICAgICAgICAgIC8vIDQuIElmIElzQ2FsbGFibGUoY2FsbGJhY2spIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uDQogICAgICAgICAgICAvLyBTZWU6IGh0dHA6Ly9lczUuZ2l0aHViLmNvbS8jeDkuMTENCiAgICAgICAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgIT09ICJmdW5jdGlvbiIpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGNhbGxiYWNrICsgIiBpcyBub3QgYSBmdW5jdGlvbiIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgLy8gNS4gSWYgdGhpc0FyZyB3YXMgc3VwcGxpZWQsIGxldCBUIGJlIHRoaXNBcmc7IGVsc2UgbGV0IFQgYmUgdW5kZWZpbmVkLg0KICAgICAgICAgICAgaWYgKHRoaXNBcmcpIHsNCiAgICAgICAgICAgICAgICBUID0gdGhpc0FyZzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIC8vIDYuIExldCBBIGJlIGEgbmV3IGFycmF5IGNyZWF0ZWQgYXMgaWYgYnkgdGhlIGV4cHJlc3Npb24gbmV3IEFycmF5KGxlbikgd2hlcmUgQXJyYXkgaXMNCiAgICAgICAgICAgIC8vIHRoZSBzdGFuZGFyZCBidWlsdC1pbiBjb25zdHJ1Y3RvciB3aXRoIHRoYXQgbmFtZSBhbmQgbGVuIGlzIHRoZSB2YWx1ZSBvZiBsZW4uDQogICAgICAgICAgICBBID0gbmV3IEFycmF5KGxlbik7DQogICAgICAgICAgICAvLyA3LiBMZXQgayBiZSAwDQogICAgICAgICAgICBrID0gMDsNCiAgICAgICAgICAgIC8vIDguIFJlcGVhdCwgd2hpbGUgayA8IGxlbg0KICAgICAgICAgICAgd2hpbGUgKGsgPCBsZW4pIHsNCiAgICAgICAgICAgICAgICB2YXIga1ZhbHVlLCBtYXBwZWRWYWx1ZTsNCiAgICAgICAgICAgICAgICAvLyBhLiBMZXQgUGsgYmUgVG9TdHJpbmcoaykuDQogICAgICAgICAgICAgICAgLy8gICBUaGlzIGlzIGltcGxpY2l0IGZvciBMSFMgb3BlcmFuZHMgb2YgdGhlIGluIG9wZXJhdG9yDQogICAgICAgICAgICAgICAgLy8gYi4gTGV0IGtQcmVzZW50IGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyB0aGUgSGFzUHJvcGVydHkgaW50ZXJuYWwgbWV0aG9kIG9mIE8gd2l0aCBhcmd1bWVudCBQay4NCiAgICAgICAgICAgICAgICAvLyAgIFRoaXMgc3RlcCBjYW4gYmUgY29tYmluZWQgd2l0aCBjDQogICAgICAgICAgICAgICAgLy8gYy4gSWYga1ByZXNlbnQgaXMgdHJ1ZSwgdGhlbg0KICAgICAgICAgICAgICAgIGlmIChrIGluIE8pIHsNCiAgICAgICAgICAgICAgICAgICAgLy8gaS4gTGV0IGtWYWx1ZSBiZSB0aGUgcmVzdWx0IG9mIGNhbGxpbmcgdGhlIEdldCBpbnRlcm5hbCBtZXRob2Qgb2YgTyB3aXRoIGFyZ3VtZW50IFBrLg0KICAgICAgICAgICAgICAgICAgICBrVmFsdWUgPSBPW2tdOw0KICAgICAgICAgICAgICAgICAgICAvLyBpaS4gTGV0IG1hcHBlZFZhbHVlIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyB0aGUgQ2FsbCBpbnRlcm5hbCBtZXRob2Qgb2YgY2FsbGJhY2sNCiAgICAgICAgICAgICAgICAgICAgLy8gd2l0aCBUIGFzIHRoZSB0aGlzIHZhbHVlIGFuZCBhcmd1bWVudCBsaXN0IGNvbnRhaW5pbmcga1ZhbHVlLCBrLCBhbmQgTy4NCiAgICAgICAgICAgICAgICAgICAgbWFwcGVkVmFsdWUgPSBjYWxsYmFjay5jYWxsKFQsIGtWYWx1ZSwgaywgTyk7DQogICAgICAgICAgICAgICAgICAgIC8vIGlpaS4gQ2FsbCB0aGUgRGVmaW5lT3duUHJvcGVydHkgaW50ZXJuYWwgbWV0aG9kIG9mIEEgd2l0aCBhcmd1bWVudHMNCiAgICAgICAgICAgICAgICAgICAgLy8gUGssIFByb3BlcnR5IERlc2NyaXB0b3Ige1ZhbHVlOiBtYXBwZWRWYWx1ZSwgOiB0cnVlLCBFbnVtZXJhYmxlOiB0cnVlLCBDb25maWd1cmFibGU6IHRydWV9LA0KICAgICAgICAgICAgICAgICAgICAvLyBhbmQgZmFsc2UuDQogICAgICAgICAgICAgICAgICAgIC8vIEluIGJyb3dzZXJzIHRoYXQgc3VwcG9ydCBPYmplY3QuZGVmaW5lUHJvcGVydHksIHVzZSB0aGUgZm9sbG93aW5nOg0KICAgICAgICAgICAgICAgICAgICAvLyBPYmplY3QuZGVmaW5lUHJvcGVydHkoQSwgUGssIHsgdmFsdWU6IG1hcHBlZFZhbHVlLCB3cml0YWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0pOw0KICAgICAgICAgICAgICAgICAgICAvLyBGb3IgYmVzdCBicm93c2VyIHN1cHBvcnQsIHVzZSB0aGUgZm9sbG93aW5nOg0KICAgICAgICAgICAgICAgICAgICBBW2tdID0gbWFwcGVkVmFsdWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIC8vIGQuIEluY3JlYXNlIGsgYnkgMS4NCiAgICAgICAgICAgICAgICBrKys7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAvLyA5LiByZXR1cm4gQQ0KICAgICAgICAgICAgcmV0dXJuIEE7DQogICAgICAgIH07DQogICAgfQ0KICAgIC8vIERldGVjdA0KICAgIHZhciBkZXRlY3QgPSByb290LmRldGVjdCA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAvLyBDb250ZXh0DQogICAgICAgIHZhciBfdGhpcyA9IGZ1bmN0aW9uKCkge307DQogICAgICAgIC8vIFJlZ2V4ZXMNCiAgICAgICAgdmFyIHJlZ2V4ZXMgPSB7DQogICAgICAgICAgICBicm93c2VyX3BhcnNlcnM6IFsgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiXihPcGVyYSkvKFxcZCspXFwuKFxcZCspIFxcKE5pbnRlbmRvIFdpaSIsDQogICAgICAgICAgICAgICAgZmFtaWx5X3JlcGxhY2VtZW50OiAiV2lpIiwNCiAgICAgICAgICAgICAgICBtYW51ZmFjdHVyZXI6ICJOaW50ZW5kbyINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihTZWFNb25rZXl8Q2FtaW5vKS8oXFxkKylcXC4oXFxkKylcXC4/KFthYl0/XFxkK1thLXpdKikiLA0KICAgICAgICAgICAgICAgIGZhbWlseV9yZXBsYWNlbWVudDogIkNhbWlubyIsDQogICAgICAgICAgICAgICAgb3RoZXI6IHRydWUNCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihQYWxlW01tXW9vbikvKFxcZCspXFwuKFxcZCspXFwuPyhcXGQrKT8iLA0KICAgICAgICAgICAgICAgIGZhbWlseV9yZXBsYWNlbWVudDogIlBhbGUgTW9vbiAoRmlyZWZveCBWYXJpYW50KSIsDQogICAgICAgICAgICAgICAgb3RoZXI6IHRydWUNCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihGZW5uZWMpLyhcXGQrKVxcLihcXGQrKVxcLj8oW2FiXT9cXGQrW2Etel0qKSIsDQogICAgICAgICAgICAgICAgZmFtaWx5X3JlcGxhY2VtZW50OiAiRmlyZWZveCBNb2JpbGUiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoRmVubmVjKS8oXFxkKylcXC4oXFxkKykocHJlKSIsDQogICAgICAgICAgICAgICAgZmFtaWx5X3JlcGxhY21lbnQ6ICJGaXJlZm94IE1vYmlsZSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihGZW5uZWMpLyhcXGQrKVxcLihcXGQrKSIsDQogICAgICAgICAgICAgICAgZmFtaWx5X3JlcGxhY2VtZW50OiAiRmlyZWZveCBNb2JpbGUiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICJNb2JpbGUuKihGaXJlZm94KS8oXFxkKylcXC4oXFxkKykiLA0KICAgICAgICAgICAgICAgIGZhbWlseV9yZXBsYWNlbWVudDogIkZpcmVmb3ggTW9iaWxlIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKE5hbW9yb2thfFNoaXJldG9rb3xNaW5lZmllbGQpLyhcXGQrKVxcLihcXGQrKVxcLihcXGQrKD86cHJlKT8pIiwNCiAgICAgICAgICAgICAgICBmYW1pbHlfcmVwbGFjZW1lbnQ6ICJGaXJlZm94ICgkMSkiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoRmlyZWZveCkvKFxcZCspXFwuKFxcZCspKGFcXGQrW2Etel0qKSIsDQogICAgICAgICAgICAgICAgZmFtaWx5X3JlcGxhY2VtZW50OiAiRmlyZWZveCBBbHBoYSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihGaXJlZm94KS8oXFxkKylcXC4oXFxkKykoYlxcZCtbYS16XSopIiwNCiAgICAgICAgICAgICAgICBmYW1pbHlfcmVwbGFjZW1lbnQ6ICJGaXJlZm94IEJldGEiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoRmlyZWZveCktKD86XFxkK1xcLlxcZCspPy8oXFxkKylcXC4oXFxkKykoYVxcZCtbYS16XSopIiwNCiAgICAgICAgICAgICAgICBmYW1pbHlfcmVwbGFjZW1lbnQ6ICJGaXJlZm94IEFscGhhIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKEZpcmVmb3gpLSg/OlxcZCtcXC5cXGQrKT8vKFxcZCspXFwuKFxcZCspKGJcXGQrW2Etel0qKSIsDQogICAgICAgICAgICAgICAgZmFtaWx5X3JlcGxhY2VtZW50OiAiRmlyZWZveCBCZXRhIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKE5hbW9yb2thfFNoaXJldG9rb3xNaW5lZmllbGQpLyhcXGQrKVxcLihcXGQrKShbYWJdXFxkK1thLXpdKik/IiwNCiAgICAgICAgICAgICAgICBmYW1pbHlfcmVwbGFjZW1lbnQ6ICJGaXJlZm94ICgkMSkiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoRmlyZWZveCkuKlRhYmxldCBicm93c2VyIChcXGQrKVxcLihcXGQrKVxcLihcXGQrKSIsDQogICAgICAgICAgICAgICAgZmFtaWx5X3JlcGxhY2VtZW50OiAiTWljcm9CIiwNCiAgICAgICAgICAgICAgICB0YWJsZXQ6IHRydWUNCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihNb3ppbGxhRGV2ZWxvcGVyUHJldmlldykvKFxcZCspXFwuKFxcZCspKFthYl1cXGQrW2Etel0qKT8iDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoRmxvY2spLyhcXGQrKVxcLihcXGQrKShiXFxkKz8pIiwNCiAgICAgICAgICAgICAgICBmYW1pbHlfcmVwbGFjZW1lbnQ6ICJGbG9jayIsDQogICAgICAgICAgICAgICAgb3RoZXI6IHRydWUNCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihSb2NrTWVsdCkvKFxcZCspXFwuKFxcZCspXFwuKFxcZCspIiwNCiAgICAgICAgICAgICAgICBmYW1pbHlfcmVwbGFjZW1lbnQ6ICJSb2NrbWVsdCIsDQogICAgICAgICAgICAgICAgb3RoZXI6IHRydWUNCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihOYXZpZ2F0b3IpLyhcXGQrKVxcLihcXGQrKVxcLihcXGQrKSIsDQogICAgICAgICAgICAgICAgZmFtaWx5X3JlcGxhY2VtZW50OiAiTmV0c2NhcGUiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoTmF2aWdhdG9yKS8oXFxkKylcXC4oXFxkKykoW2FiXVxcZCspIiwNCiAgICAgICAgICAgICAgICBmYW1pbHlfcmVwbGFjZW1lbnQ6ICJOZXRzY2FwZSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihOZXRzY2FwZTYpLyhcXGQrKVxcLihcXGQrKVxcLihcXGQrKSIsDQogICAgICAgICAgICAgICAgZmFtaWx5X3JlcGxhY2VtZW50OiAiTmV0c2NhcGUiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoTXlJQnJvdykvKFxcZCspXFwuKFxcZCspIiwNCiAgICAgICAgICAgICAgICBmYW1pbHlfcmVwbGFjZW1lbnQ6ICJNeSBJbnRlcm5ldCBCcm93c2VyIiwNCiAgICAgICAgICAgICAgICBvdGhlcjogdHJ1ZQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKE9wZXJhIFRhYmxldCkuKlZlcnNpb24vKFxcZCspXFwuKFxcZCspKD86XFwuKFxcZCspKT8iLA0KICAgICAgICAgICAgICAgIGZhbWlseV9yZXBsYWNlbWVudDogIk9wZXJhIFRhYmxldCIsDQogICAgICAgICAgICAgICAgdGFibGV0OiB0cnVlDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoT3BlcmEpLy4rT3BlcmEgTW9iaS4rVmVyc2lvbi8oXFxkKylcXC4oXFxkKykiLA0KICAgICAgICAgICAgICAgIGZhbWlseV9yZXBsYWNlbWVudDogIk9wZXJhIE1vYmlsZSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIk9wZXJhIE1vYmkiLA0KICAgICAgICAgICAgICAgIGZhbWlseV9yZXBsYWNlbWVudDogIk9wZXJhIE1vYmlsZSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihPcGVyYSBNaW5pKS8oXFxkKylcXC4oXFxkKykiLA0KICAgICAgICAgICAgICAgIGZhbWlseV9yZXBsYWNlbWVudDogIk9wZXJhIE1pbmkiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoT3BlcmEgTWluaSkvYXR0LyhcXGQrKVxcLihcXGQrKSIsDQogICAgICAgICAgICAgICAgZmFtaWx5X3JlcGxhY2VtZW50OiAiT3BlcmEgTWluaSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihPcGVyYSkvOS44MC4qVmVyc2lvbi8oXFxkKylcXC4oXFxkKykoPzpcXC4oXFxkKykpPyIsDQogICAgICAgICAgICAgICAgZmFtaWx5X3JlcGxhY2VtZW50OiAiT3BlcmEiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoT1BSKS8oXFxkKylcXC4oXFxkKykoPzpcXC4oXFxkKykpPyIsDQogICAgICAgICAgICAgICAgZmFtaWx5X3JlcGxhY2VtZW50OiAiT3BlcmEiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIod2ViT1NCcm93c2VyKS8oXFxkKylcXC4oXFxkKykiLA0KICAgICAgICAgICAgICAgIGZhbWlseV9yZXBsYWNlbWVudDogIndlYk9TIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKHdlYk9TKS8oXFxkKylcXC4oXFxkKykiLA0KICAgICAgICAgICAgICAgIGZhbWlseV9yZXBsYWNlbWVudDogIndlYk9TIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKHdPU0Jyb3dzZXIpLitUb3VjaFBhZC8oXFxkKylcXC4oXFxkKykiLA0KICAgICAgICAgICAgICAgIGZhbWlseV9yZXBsYWNlbWVudDogIndlYk9TIFRvdWNoUGFkIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKGx1YWtpdCkiLA0KICAgICAgICAgICAgICAgIGZhbWlseV9yZXBsYWNlbWVudDogIkx1YUtpdCIsDQogICAgICAgICAgICAgICAgb3RoZXI6IHRydWUNCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihMaWdodG5pbmcpLyhcXGQrKVxcLihcXGQrKShbYWJdP1xcZCtbYS16XSopIiwNCiAgICAgICAgICAgICAgICBmYW1pbHlfcmVwbGFjZW1lbnQ6ICJMaWdodG5pbmciLA0KICAgICAgICAgICAgICAgIG90aGVyOiB0cnVlDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoRmlyZWZveCkvKFxcZCspXFwuKFxcZCspXFwuKFxcZCsoPzpwcmUpPykgXFwoU3dpZnRmb3hcXCkiLA0KICAgICAgICAgICAgICAgIGZhbWlseV9yZXBsYWNlbWVudDogIlN3aWZ0Zm94IiwNCiAgICAgICAgICAgICAgICBvdGhlcjogdHJ1ZQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKEZpcmVmb3gpLyhcXGQrKVxcLihcXGQrKShbYWJdXFxkK1thLXpdKik/IFxcKFN3aWZ0Zm94XFwpIiwNCiAgICAgICAgICAgICAgICBmYW1pbHlfcmVwbGFjZW1lbnQ6ICJTd2lmdGZveCIsDQogICAgICAgICAgICAgICAgb3RoZXI6IHRydWUNCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogInJla29ucSIsDQogICAgICAgICAgICAgICAgZmFtaWx5X3JlcGxhY2VtZW50OiAiUmVrb25xIiwNCiAgICAgICAgICAgICAgICBvdGhlcjogdHJ1ZQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKGNvbmtlcm9yfENvbmtlcm9yKS8oXFxkKylcXC4oXFxkKylcXC4/KFxcZCspPyIsDQogICAgICAgICAgICAgICAgZmFtaWx5X3JlcGxhY2VtZW50OiAiQ29ua2Vyb3IiLA0KICAgICAgICAgICAgICAgIG90aGVyOiB0cnVlDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoa29ucXVlcm9yKS8oXFxkKylcXC4oXFxkKylcXC4oXFxkKykiLA0KICAgICAgICAgICAgICAgIGZhbWlseV9yZXBsYWNlbWVudDogIktvbnF1ZXJvciIsDQogICAgICAgICAgICAgICAgb3RoZXI6IHRydWUNCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihXZVRhYiktQnJvd3NlciIsDQogICAgICAgICAgICAgICAgZmFtaWx5X3JlcGxhY2VtZW50OiAiV2VUYWIiLA0KICAgICAgICAgICAgICAgIG90aGVyOiB0cnVlDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoQ29tb2RvX0RyYWdvbikvKFxcZCspXFwuKFxcZCspXFwuKFxcZCspIiwNCiAgICAgICAgICAgICAgICBmYW1pbHlfcmVwbGFjZW1lbnQ6ICJDb21vZG8gRHJhZ29uIiwNCiAgICAgICAgICAgICAgICBvdGhlcjogdHJ1ZQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKFlvdHRhYU1vbml0b3IpIiwNCiAgICAgICAgICAgICAgICBmYW1pbHlfcmVwbGFjZW1lbnQ6ICJZb3R0YWEgTW9uaXRvciIsDQogICAgICAgICAgICAgICAgb3RoZXI6IHRydWUNCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihLaW5kbGUpLyhcXGQrKVxcLihcXGQrKSIsDQogICAgICAgICAgICAgICAgZmFtaWx5X3JlcGxhY2VtZW50OiAiS2luZGxlIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKFN5bXBob255KSAoXFxkKykuKFxcZCspIiwNCiAgICAgICAgICAgICAgICBmYW1pbHlfcmVwbGFjZW1lbnQ6ICJTeW1waG9ueSIsDQogICAgICAgICAgICAgICAgb3RoZXI6IHRydWUNCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIk1pbmltbyIsDQogICAgICAgICAgICAgICAgZmFtaWx5X3JlcGxhY2VtZW50OiAiTWluaW1vIiwNCiAgICAgICAgICAgICAgICBvdGhlcjogdHJ1ZQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKEVkZ2UpLyhcXGQrKVxcLihcXGQrKSIsDQogICAgICAgICAgICAgICAgZmFtaWx5X3JlcGxhY2VtZW50OiAiRWRnZSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihDck1vKS8oXFxkKylcXC4oXFxkKylcXC4oXFxkKylcXC4oXFxkKykiLA0KICAgICAgICAgICAgICAgIGZhbWlseV9yZXBsYWNlbWVudDogIkNocm9tZSBNb2JpbGUiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoQ3JpT1MpLyhcXGQrKVxcLihcXGQrKVxcLihcXGQrKVxcLihcXGQrKSIsDQogICAgICAgICAgICAgICAgZmFtaWx5X3JlcGxhY2VtZW50OiAiQ2hyb21lIE1vYmlsZSBpT1MiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoQ2hyb21lKS8oXFxkKylcXC4oXFxkKylcXC4oXFxkKylcXC4oXFxkKykgTW9iaWxlIiwNCiAgICAgICAgICAgICAgICBmYW1pbHlfcmVwbGFjZW1lbnQ6ICJDaHJvbWUgTW9iaWxlIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKGNocm9tZWZyYW1lKS8oXFxkKylcXC4oXFxkKylcXC4oXFxkKykiLA0KICAgICAgICAgICAgICAgIGZhbWlseV9yZXBsYWNlbWVudDogIkNocm9tZSBGcmFtZSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihVQyBCcm93c2VyKShcXGQrKVxcLihcXGQrKVxcLihcXGQrKSIsDQogICAgICAgICAgICAgICAgZmFtaWx5X3JlcGxhY2VtZW50OiAiVUMgQnJvd3NlciIsDQogICAgICAgICAgICAgICAgb3RoZXI6IHRydWUNCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihTTFAgQnJvd3NlcikvKFxcZCspXFwuKFxcZCspIiwNCiAgICAgICAgICAgICAgICBmYW1pbHlfcmVwbGFjZW1lbnQ6ICJUaXplbiBCcm93c2VyIiwNCiAgICAgICAgICAgICAgICBvdGhlcjogdHJ1ZQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKEVwaXBoYW55KS8oXFxkKylcXC4oXFxkKykuKFxcZCspIiwNCiAgICAgICAgICAgICAgICBmYW1pbHlfcmVwbGFjZW1lbnQ6ICJFcGlwaGFueSIsDQogICAgICAgICAgICAgICAgb3RoZXI6IHRydWUNCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihTRSAyXFwuWCkgTWV0YVNyIChcXGQrKVxcLihcXGQrKSIsDQogICAgICAgICAgICAgICAgZmFtaWx5X3JlcGxhY2VtZW50OiAiU29nb3UgRXhwbG9yZXIiLA0KICAgICAgICAgICAgICAgIG90aGVyOiB0cnVlDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoUGluZ2RvbS5jb21fYm90X3ZlcnNpb25fKShcXGQrKVxcLihcXGQrKSIsDQogICAgICAgICAgICAgICAgZmFtaWx5X3JlcGxhY2VtZW50OiAiUGluZ2RvbUJvdCIsDQogICAgICAgICAgICAgICAgb3RoZXI6IHRydWUNCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihmYWNlYm9va2V4dGVybmFsaGl0KS8oXFxkKylcXC4oXFxkKykiLA0KICAgICAgICAgICAgICAgIGZhbWlseV9yZXBsYWNlbWVudDogIkZhY2Vib29rQm90Ig0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKFR3aXR0ZXJib3QpLyhcXGQrKVxcLihcXGQrKSIsDQogICAgICAgICAgICAgICAgZmFtaWx5X3JlcGxhY2VtZW50OiAiVHdpdHRlckJvdCINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihBZG9iZUFJUnxDaHJvbWl1bXxGaXJlV2VifEphc21pbmV8QU5UR2FsaW98TWlkb3JpfEZyZXNjb3xMb2JvfFBhbGVNb29ufE1heHRob258THlueHxPbW5pV2VifERpbGxvfENhbWlub3xEZW1ldGVyfEZsdWlkfEZlbm5lY3xTaGlpcmF8U3VucmlzZXxDaHJvbWV8RmxvY2t8TmV0c2NhcGV8THVuYXNjYXBlfFdlYlBpbG90fE5ldEZyb250fE5ldGZyb250fEtvbnF1ZXJvcnxTZWFNb25rZXl8S2F6ZWhha2FzZXxWaWVubmF8SWNlYXBlfEljZXdlYXNlbHxJY2VXZWFzZWx8SXJvbnxLLU1lbGVvbnxTbGVpcG5pcnxHYWxlb258R3JhblBhcmFkaXNvfE9wZXJhIE1pbml8aUNhYnxOZXROZXdzV2lyZXxUaHVuZGVyQnJvd3NlfElyb258SXJpc3xVUFxcLkJyb3dzZXJ8QnVuamFsb298R29vZ2xlIEVhcnRofFJhdmVuIGZvciBNYWMpLyhcXGQrKVxcLihcXGQrKVxcLihcXGQrKSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihCb2x0fEphc21pbmV8SWNlQ2F0fFNreWZpcmV8TWlkb3JpfE1heHRob258THlueHxBcm9yYXxJQnJvd3NlfERpbGxvfENhbWlub3xTaGlpcmF8RmVubmVjfFBob2VuaXh8Q2hyb21lfEZsb2NrfE5ldHNjYXBlfEx1bmFzY2FwZXxFcGlwaGFueXxXZWJQaWxvdHxPcGVyYSBNaW5pfE9wZXJhfE5ldEZyb250fE5ldGZyb250fEtvbnF1ZXJvcnxHb29nbGVib3R8U2VhTW9ua2V5fEthemVoYWthc2V8Vmllbm5hfEljZWFwZXxJY2V3ZWFzZWx8SWNlV2Vhc2VsfElyb258Sy1NZWxlb258U2xlaXBuaXJ8R2FsZW9ufEdyYW5QYXJhZGlzb3xpQ2FifE5ldE5ld3NXaXJlfElyb258U3BhY2UgQmlzb258U3RhaW5sZXNzfE9yY2F8RG9sZmlufEJPTFR8TWluaW1vfFRpemVuIEJyb3dzZXJ8UG9sYXJpcykvKFxcZCspXFwuKFxcZCspIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKGlSaWRlcnxDcmF6eSBCcm93c2VyfFNraXBTdG9uZXxpQ2FifEx1bmFzY2FwZXxTbGVpcG5pcnxNYWVtbyBCcm93c2VyKSAoXFxkKylcXC4oXFxkKylcXC4oXFxkKykiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoaUNhYnxMdW5hc2NhcGV8T3BlcmF8QW5kcm9pZHxKYXNtaW5lfFBvbGFyaXN8QlJFVykgKFxcZCspXFwuKFxcZCspXFwuPyhcXGQrKT8iDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoQW5kcm9pZCkgRG9udXQiLA0KICAgICAgICAgICAgICAgIHYyX3JlcGxhY2VtZW50OiAiMiIsDQogICAgICAgICAgICAgICAgdjFfcmVwbGFjZW1lbnQ6ICIxIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKEFuZHJvaWQpIEVjbGFpciIsDQogICAgICAgICAgICAgICAgdjJfcmVwbGFjZW1lbnQ6ICIxIiwNCiAgICAgICAgICAgICAgICB2MV9yZXBsYWNlbWVudDogIjIiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoQW5kcm9pZCkgRnJveW8iLA0KICAgICAgICAgICAgICAgIHYyX3JlcGxhY2VtZW50OiAiMiIsDQogICAgICAgICAgICAgICAgdjFfcmVwbGFjZW1lbnQ6ICIyIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKEFuZHJvaWQpIEdpbmdlcmJyZWFkIiwNCiAgICAgICAgICAgICAgICB2Ml9yZXBsYWNlbWVudDogIjMiLA0KICAgICAgICAgICAgICAgIHYxX3JlcGxhY2VtZW50OiAiMiINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihBbmRyb2lkKSBIb25leWNvbWIiLA0KICAgICAgICAgICAgICAgIHYxX3JlcGxhY2VtZW50OiAiMyINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihJRU1vYmlsZSlbIC9dKFxcZCspXFwuKFxcZCspIiwNCiAgICAgICAgICAgICAgICBmYW1pbHlfcmVwbGFjZW1lbnQ6ICJJRSBNb2JpbGUiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoTVNJRSkgKFxcZCspXFwuKFxcZCspLipYQkxXUDciLA0KICAgICAgICAgICAgICAgIGZhbWlseV9yZXBsYWNlbWVudDogIklFIExhcmdlIFNjcmVlbiINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihGaXJlZm94KS8oXFxkKylcXC4oXFxkKylcXC4oXFxkKykiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoRmlyZWZveCkvKFxcZCspXFwuKFxcZCspKHByZXxbYWJdXFxkK1thLXpdKik/Ig0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKE9iaWdvKUludGVybmV0QnJvd3NlciIsDQogICAgICAgICAgICAgICAgb3RoZXI6IHRydWUNCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihPYmlnbylcXC1Ccm93c2VyIiwNCiAgICAgICAgICAgICAgICBvdGhlcjogdHJ1ZQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKE9iaWdvfE9CSUdPKVteXFxkXSooXFxkKykoPzouKFxcZCspKT8iLA0KICAgICAgICAgICAgICAgIG90aGVyOiB0cnVlDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoTUFYVEhPTnxNYXh0aG9uKSAoXFxkKylcXC4oXFxkKykiLA0KICAgICAgICAgICAgICAgIGZhbWlseV9yZXBsYWNlbWVudDogIk1heHRob24iLA0KICAgICAgICAgICAgICAgIG90aGVyOiB0cnVlDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoTWF4dGhvbnxNeUlFMnxVemJsfFNoaWlyYSkiLA0KICAgICAgICAgICAgICAgIHYxX3JlcGxhY2VtZW50OiAiMCIsDQogICAgICAgICAgICAgICAgb3RoZXI6IHRydWUNCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihQTEFZU1RBVElPTikgKFxcZCspIiwNCiAgICAgICAgICAgICAgICBmYW1pbHlfcmVwbGFjZW1lbnQ6ICJQbGF5U3RhdGlvbiIsDQogICAgICAgICAgICAgICAgbWFudWZhY3R1cmVyOiAiU29ueSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihQbGF5U3RhdGlvbiBQb3J0YWJsZSlbXlxcZF0rKFxcZCspLihcXGQrKSIsDQogICAgICAgICAgICAgICAgbWFudWZhY3R1cmVyOiAiU29ueSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihCcm93c2VYKSBcXCgoXFxkKylcXC4oXFxkKylcXC4oXFxkKykiLA0KICAgICAgICAgICAgICAgIG90aGVyOiB0cnVlDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoUE9MQVJJUykvKFxcZCspXFwuKFxcZCspIiwNCiAgICAgICAgICAgICAgICBmYW1pbHlfcmVwbGFjZW1lbnQ6ICJQb2xhcmlzIiwNCiAgICAgICAgICAgICAgICBvdGhlcjogdHJ1ZQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKEVtYmlkZXIpLyhcXGQrKVxcLihcXGQrKSIsDQogICAgICAgICAgICAgICAgZmFtaWx5X3JlcGxhY2VtZW50OiAiUG9sYXJpcyIsDQogICAgICAgICAgICAgICAgb3RoZXI6IHRydWUNCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihCb25FY2hvKS8oXFxkKylcXC4oXFxkKylcXC4oXFxkKykiLA0KICAgICAgICAgICAgICAgIGZhbWlseV9yZXBsYWNlbWVudDogIkJvbiBFY2hvIiwNCiAgICAgICAgICAgICAgICBvdGhlcjogdHJ1ZQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKGlQb2QpLitWZXJzaW9uLyhcXGQrKVxcLihcXGQrKVxcLihcXGQrKSIsDQogICAgICAgICAgICAgICAgZmFtaWx5X3JlcGxhY2VtZW50OiAiTW9iaWxlIFNhZmFyaSIsDQogICAgICAgICAgICAgICAgbWFudWZhY3R1cmVyOiAiQXBwbGUiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoaVBvZCkuKlZlcnNpb24vKFxcZCspXFwuKFxcZCspIiwNCiAgICAgICAgICAgICAgICBmYW1pbHlfcmVwbGFjZW1lbnQ6ICJNb2JpbGUgU2FmYXJpIiwNCiAgICAgICAgICAgICAgICBtYW51ZmFjdHVyZXI6ICJBcHBsZSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihpUG9kKSIsDQogICAgICAgICAgICAgICAgZmFtaWx5X3JlcGxhY2VtZW50OiAiTW9iaWxlIFNhZmFyaSIsDQogICAgICAgICAgICAgICAgbWFudWZhY3R1cmVyOiAiQXBwbGUiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoaVBob25lKS4qVmVyc2lvbi8oXFxkKylcXC4oXFxkKylcXC4oXFxkKykiLA0KICAgICAgICAgICAgICAgIGZhbWlseV9yZXBsYWNlbWVudDogIk1vYmlsZSBTYWZhcmkiLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIkFwcGxlIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKGlQaG9uZSkuKlZlcnNpb24vKFxcZCspXFwuKFxcZCspIiwNCiAgICAgICAgICAgICAgICBmYW1pbHlfcmVwbGFjZW1lbnQ6ICJNb2JpbGUgU2FmYXJpIiwNCiAgICAgICAgICAgICAgICBtYW51ZmFjdHVyZXI6ICJBcHBsZSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihpUGhvbmUpIiwNCiAgICAgICAgICAgICAgICBmYW1pbHlfcmVwbGFjZW1lbnQ6ICJNb2JpbGUgU2FmYXJpIiwNCiAgICAgICAgICAgICAgICBtYW51ZmFjdHVyZXI6ICJBcHBsZSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihpUGFkKS4qVmVyc2lvbi8oXFxkKylcXC4oXFxkKylcXC4oXFxkKykiLA0KICAgICAgICAgICAgICAgIGZhbWlseV9yZXBsYWNlbWVudDogIk1vYmlsZSBTYWZhcmkiLA0KICAgICAgICAgICAgICAgIHRhYmxldDogdHJ1ZSwNCiAgICAgICAgICAgICAgICBtYW51ZmFjdHVyZXI6ICJBcHBsZSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihpUGFkKS4qVmVyc2lvbi8oXFxkKylcXC4oXFxkKykiLA0KICAgICAgICAgICAgICAgIGZhbWlseV9yZXBsYWNlbWVudDogIk1vYmlsZSBTYWZhcmkiLA0KICAgICAgICAgICAgICAgIHRhYmxldDogdHJ1ZSwNCiAgICAgICAgICAgICAgICBtYW51ZmFjdHVyZXI6ICJBcHBsZSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihpUGFkKSIsDQogICAgICAgICAgICAgICAgZmFtaWx5X3JlcGxhY2VtZW50OiAiTW9iaWxlIFNhZmFyaSIsDQogICAgICAgICAgICAgICAgdGFibGV0OiB0cnVlLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIkFwcGxlIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKEF2YW50R28pIChcXGQrKS4oXFxkKykiLA0KICAgICAgICAgICAgICAgIG90aGVyOiB0cnVlDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoQXZhbnQpIiwNCiAgICAgICAgICAgICAgICB2MV9yZXBsYWNlbWVudDogIjEiLA0KICAgICAgICAgICAgICAgIG90aGVyOiB0cnVlDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICJeKE5va2lhKSIsDQogICAgICAgICAgICAgICAgZmFtaWx5X3JlcGxhY2VtZW50OiAiTm9raWEgU2VydmljZXMgKFdBUCkgQnJvd3NlciIsDQogICAgICAgICAgICAgICAgbWFudWZhY3R1cmVyOiAiTm9raWEiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoTm9raWFCcm93c2VyKS8oXFxkKylcXC4oXFxkKykuKFxcZCspXFwuKFxcZCspIiwNCiAgICAgICAgICAgICAgICBtYW51ZmFjdHVyZXI6ICJOb2tpYSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihOb2tpYUJyb3dzZXIpLyhcXGQrKVxcLihcXGQrKS4oXFxkKykiLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIk5va2lhIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKE5va2lhQnJvd3NlcikvKFxcZCspXFwuKFxcZCspIiwNCiAgICAgICAgICAgICAgICBtYW51ZmFjdHVyZXI6ICJOb2tpYSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihCcm93c2VyTkcpLyhcXGQrKVxcLihcXGQrKS4oXFxkKykiLA0KICAgICAgICAgICAgICAgIGZhbWlseV9yZXBsYWNlbWVudDogIk5va2lhQnJvd3NlciIsDQogICAgICAgICAgICAgICAgbWFudWZhY3R1cmVyOiAiTm9raWEiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoU2VyaWVzNjApLzVcXC4wIiwNCiAgICAgICAgICAgICAgICB2Ml9yZXBsYWNlbWVudDogIjAiLA0KICAgICAgICAgICAgICAgIHYxX3JlcGxhY2VtZW50OiAiNyIsDQogICAgICAgICAgICAgICAgZmFtaWx5X3JlcGxhY2VtZW50OiAiTm9raWFCcm93c2VyIiwNCiAgICAgICAgICAgICAgICBtYW51ZmFjdHVyZXI6ICJOb2tpYSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihTZXJpZXM2MCkvKFxcZCspXFwuKFxcZCspIiwNCiAgICAgICAgICAgICAgICBmYW1pbHlfcmVwbGFjZW1lbnQ6ICJOb2tpYSBPU1MgQnJvd3NlciIsDQogICAgICAgICAgICAgICAgbWFudWZhY3R1cmVyOiAiTm9raWEiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoUzQwT3ZpQnJvd3NlcikvKFxcZCspXFwuKFxcZCspXFwuKFxcZCspXFwuKFxcZCspIiwNCiAgICAgICAgICAgICAgICBmYW1pbHlfcmVwbGFjZW1lbnQ6ICJOb2tpYSBTZXJpZXMgNDAgT3ZpIEJyb3dzZXIiLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIk5va2lhIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKE5va2lhKVtFTl0/KFxcZCspIiwNCiAgICAgICAgICAgICAgICBtYW51ZmFjdHVyZXI6ICJOb2tpYSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihQbGF5Qm9vaykuK1JJTSBUYWJsZXQgT1MgKFxcZCspXFwuKFxcZCspXFwuKFxcZCspIiwNCiAgICAgICAgICAgICAgICBmYW1pbHlfcmVwbGFjZW1lbnQ6ICJCbGFja2JlcnJ5IFdlYktpdCIsDQogICAgICAgICAgICAgICAgdGFibGV0OiB0cnVlLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIk5va2lhIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKEJsYWNrW2JCXWVycnkpLitWZXJzaW9uLyhcXGQrKVxcLihcXGQrKVxcLihcXGQrKSIsDQogICAgICAgICAgICAgICAgZmFtaWx5X3JlcGxhY2VtZW50OiAiQmxhY2tiZXJyeSBXZWJLaXQiLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIlJJTSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihCbGFja1tiQl1lcnJ5KVxccz8oXFxkKykiLA0KICAgICAgICAgICAgICAgIGZhbWlseV9yZXBsYWNlbWVudDogIkJsYWNrYmVycnkiLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIlJJTSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihPbW5pV2ViKS92KFxcZCspXFwuKFxcZCspIiwNCiAgICAgICAgICAgICAgICBvdGhlcjogdHJ1ZQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKEJsYXplcikvKFxcZCspXFwuKFxcZCspIiwNCiAgICAgICAgICAgICAgICBmYW1pbHlfcmVwbGFjZW1lbnQ6ICJQYWxtIEJsYXplciIsDQogICAgICAgICAgICAgICAgbWFudWZhY3R1cmVyOiAiUGFsbSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihQcmUpLyhcXGQrKVxcLihcXGQrKSIsDQogICAgICAgICAgICAgICAgZmFtaWx5X3JlcGxhY2VtZW50OiAiUGFsbSBQcmUiLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIlBhbG0iDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoTGlua3MpIFxcKChcXGQrKVxcLihcXGQrKSIsDQogICAgICAgICAgICAgICAgb3RoZXI6IHRydWUNCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihRdFdlYikgSW50ZXJuZXQgQnJvd3Nlci8oXFxkKylcXC4oXFxkKykiLA0KICAgICAgICAgICAgICAgIG90aGVyOiB0cnVlDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoU2lsaykvKFxcZCspXFwuKFxcZCspKD86XFwuKFswLTlcXC1dKykpPyIsDQogICAgICAgICAgICAgICAgb3RoZXI6IHRydWUsDQogICAgICAgICAgICAgICAgdGFibGV0OiB0cnVlDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoQXBwbGVXZWJLaXQpLyhcXGQrKVxcLj8oXFxkKyk/XFwrIC4qIFZlcnNpb24vXFxkK1xcLlxcZCsuXFxkKyBTYWZhcmkvIiwNCiAgICAgICAgICAgICAgICBmYW1pbHlfcmVwbGFjZW1lbnQ6ICJXZWJLaXQgTmlnaHRseSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihWZXJzaW9uKS8oXFxkKylcXC4oXFxkKykoPzpcXC4oXFxkKykpPy4qU2FmYXJpLyIsDQogICAgICAgICAgICAgICAgZmFtaWx5X3JlcGxhY2VtZW50OiAiU2FmYXJpIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKFNhZmFyaSkvXFxkKyINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihPTFBDKS9VcGRhdGUoXFxkKylcXC4oXFxkKykiLA0KICAgICAgICAgICAgICAgIG90aGVyOiB0cnVlDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoT0xQQykvVXBkYXRlKClcXC4oXFxkKykiLA0KICAgICAgICAgICAgICAgIHYxX3JlcGxhY2VtZW50OiAiMCIsDQogICAgICAgICAgICAgICAgb3RoZXI6IHRydWUNCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihTRU1DXFwtQnJvd3NlcikvKFxcZCspXFwuKFxcZCspIiwNCiAgICAgICAgICAgICAgICBvdGhlcjogdHJ1ZQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKFRlbGVjYSkiLA0KICAgICAgICAgICAgICAgIGZhbWlseV9yZXBsYWNlbWVudDogIlRlbGVjYSBCcm93c2VyIiwNCiAgICAgICAgICAgICAgICBvdGhlcjogdHJ1ZQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiVHJpZGVudCguKilydi4oXFxkKylcXC4oXFxkKykiLA0KICAgICAgICAgICAgICAgIGZhbWlseV9yZXBsYWNlbWVudDogIklFIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKE1TSUUpIChcXGQrKVxcLihcXGQrKSIsDQogICAgICAgICAgICAgICAgZmFtaWx5X3JlcGxhY2VtZW50OiAiSUUiDQogICAgICAgICAgICB9IF0sDQogICAgICAgICAgICBvc19wYXJzZXJzOiBbIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihBbmRyb2lkKSAoXFxkKylcXC4oXFxkKykoPzpbLlxcLV0oW2EtejAtOV0rKSk/Ig0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKEFuZHJvaWQpXFwtKFxcZCspXFwuKFxcZCspKD86Wy5cXC1dKFthLXowLTldKykpPyINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihBbmRyb2lkKSBEb251dCIsDQogICAgICAgICAgICAgICAgb3NfdjJfcmVwbGFjZW1lbnQ6ICIyIiwNCiAgICAgICAgICAgICAgICBvc192MV9yZXBsYWNlbWVudDogIjEiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoQW5kcm9pZCkgRWNsYWlyIiwNCiAgICAgICAgICAgICAgICBvc192Ml9yZXBsYWNlbWVudDogIjEiLA0KICAgICAgICAgICAgICAgIG9zX3YxX3JlcGxhY2VtZW50OiAiMiINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihBbmRyb2lkKSBGcm95byIsDQogICAgICAgICAgICAgICAgb3NfdjJfcmVwbGFjZW1lbnQ6ICIyIiwNCiAgICAgICAgICAgICAgICBvc192MV9yZXBsYWNlbWVudDogIjIiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoQW5kcm9pZCkgR2luZ2VyYnJlYWQiLA0KICAgICAgICAgICAgICAgIG9zX3YyX3JlcGxhY2VtZW50OiAiMyIsDQogICAgICAgICAgICAgICAgb3NfdjFfcmVwbGFjZW1lbnQ6ICIyIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKEFuZHJvaWQpIEhvbmV5Y29tYiIsDQogICAgICAgICAgICAgICAgb3NfdjFfcmVwbGFjZW1lbnQ6ICIzIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKFNpbGstQWNjZWxlcmF0ZWQ9W2Etel17NCw1fSkiLA0KICAgICAgICAgICAgICAgIG9zX3JlcGxhY2VtZW50OiAiQW5kcm9pZCINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihXaW5kb3dzIFBob25lIDZcXC41KSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihXaW5kb3dzICg/Ok5UIDVcXC4yfE5UIDVcXC4xKSkiLA0KICAgICAgICAgICAgICAgIG9zX3JlcGxhY2VtZW50OiAiV2luZG93cyBYUCINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihYQkxXUDcpIiwNCiAgICAgICAgICAgICAgICBvc19yZXBsYWNlbWVudDogIldpbmRvd3MgUGhvbmUgT1MiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoV2luZG93cyBOVCA2XFwuMSkiLA0KICAgICAgICAgICAgICAgIG9zX3JlcGxhY2VtZW50OiAiV2luZG93cyA3Ig0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKFdpbmRvd3MgTlQgNlxcLjApIiwNCiAgICAgICAgICAgICAgICBvc19yZXBsYWNlbWVudDogIldpbmRvd3MgVmlzdGEiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoV2luZG93cyA5OHxXaW5kb3dzIFhQfFdpbmRvd3MgTUV8V2luZG93cyA5NXxXaW5kb3dzIENFfFdpbmRvd3MgN3xXaW5kb3dzIE5UIDRcXC4wfFdpbmRvd3MgVmlzdGF8V2luZG93cyAyMDAwKSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihXaW5kb3dzIE5UIDZcXC40fFdpbmRvd3MgTlQgMTBcXC4wKSIsDQogICAgICAgICAgICAgICAgb3NfcmVwbGFjZW1lbnQ6ICJXaW5kb3dzIDEwIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKFdpbmRvd3MgTlQgNlxcLjIpIiwNCiAgICAgICAgICAgICAgICBvc19yZXBsYWNlbWVudDogIldpbmRvd3MgOCINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihXaW5kb3dzIFBob25lIDgpIiwNCiAgICAgICAgICAgICAgICBvc19yZXBsYWNlbWVudDogIldpbmRvd3MgUGhvbmUgOCINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihXaW5kb3dzIE5UIDVcXC4wKSIsDQogICAgICAgICAgICAgICAgb3NfcmVwbGFjZW1lbnQ6ICJXaW5kb3dzIDIwMDAiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoV2luZG93cyBQaG9uZSBPUykgKFxcZCspXFwuKFxcZCspIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKFdpbmRvd3MgP01vYmlsZSkiLA0KICAgICAgICAgICAgICAgIG9zX3JlcGxhY2VtZW50OiAiV2luZG93cyBNb2JpbGUiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoV2luTlQ0LjApIiwNCiAgICAgICAgICAgICAgICBvc19yZXBsYWNlbWVudDogIldpbmRvd3MgTlQgNC4wIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKFdpbjk4KSIsDQogICAgICAgICAgICAgICAgb3NfcmVwbGFjZW1lbnQ6ICJXaW5kb3dzIDk4Ig0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKFRpemVuKS8oXFxkKylcXC4oXFxkKykiLA0KICAgICAgICAgICAgICAgIG90aGVyOiB0cnVlDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoTWFjIE9TIFgpIChcXGQrKVtfLl0oXFxkKykoPzpbXy5dKFxcZCspKT8iLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIkFwcGxlIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKD86UFBDfEludGVsKSAoTWFjIE9TIFgpIiwNCiAgICAgICAgICAgICAgICBtYW51ZmFjdHVyZXI6ICJBcHBsZSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihDUFUgT1N8aVBob25lIE9TKSAoXFxkKylfKFxcZCspKD86XyhcXGQrKSk/IiwNCiAgICAgICAgICAgICAgICBvc19yZXBsYWNlbWVudDogImlPUyIsDQogICAgICAgICAgICAgICAgbWFudWZhY3R1cmVyOiAiQXBwbGUiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoaVBob25lfGlQYWR8aVBvZCk7IE9wZXJhIiwNCiAgICAgICAgICAgICAgICBvc19yZXBsYWNlbWVudDogImlPUyIsDQogICAgICAgICAgICAgICAgbWFudWZhY3R1cmVyOiAiQXBwbGUiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoaVBhZCk7IE9wZXJhIiwNCiAgICAgICAgICAgICAgICB0YWJsZXQ6IHRydWUsDQogICAgICAgICAgICAgICAgbWFudWZhY3R1cmVyOiAiQXBwbGUiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoaVBob25lfGlQYWR8aVBvZCkuKk1hYyBPUyBYLipWZXJzaW9uLyhcXGQrKVxcLihcXGQrKSIsDQogICAgICAgICAgICAgICAgb3NfcmVwbGFjZW1lbnQ6ICJpT1MiLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIkFwcGxlIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKENyT1MpIFthLXowLTlfXSsgKFxcZCspXFwuKFxcZCspKD86XFwuKFxcZCspKT8iLA0KICAgICAgICAgICAgICAgIG9zX3JlcGxhY2VtZW50OiAiQ2hyb21lIE9TIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKERlYmlhbiktKFxcZCspXFwuKFxcZCspXFwuKFxcZCspKD86XFwuKFxcZCspKT8iLA0KICAgICAgICAgICAgICAgIG90aGVyOiB0cnVlDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoTGludXggTWludCkoPzovKFxcZCspKT8iLA0KICAgICAgICAgICAgICAgIG90aGVyOiB0cnVlDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoTWFuZHJpdmEpKD86IExpbnV4KT8vKFxcZCspXFwuKFxcZCspXFwuKFxcZCspKD86XFwuKFxcZCspKT8iLA0KICAgICAgICAgICAgICAgIG90aGVyOiB0cnVlDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoU3ltYmlhbltPb11bU3NdKS8oXFxkKylcXC4oXFxkKykiLA0KICAgICAgICAgICAgICAgIG9zX3JlcGxhY2VtZW50OiAiU3ltYmlhbiBPUyINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihTeW1iaWFuLzMpLitOb2tpYUJyb3dzZXIvN1xcLjMiLA0KICAgICAgICAgICAgICAgIG9zX3JlcGxhY2VtZW50OiAiU3ltYmlhbl4zIEFubmEiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoU3ltYmlhbi8zKS4rTm9raWFCcm93c2VyLzdcXC40IiwNCiAgICAgICAgICAgICAgICBvc19yZXBsYWNlbWVudDogIlN5bWJpYW5eMyBCZWxsZSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihTeW1iaWFuLzMpIiwNCiAgICAgICAgICAgICAgICBvc19yZXBsYWNlbWVudDogIlN5bWJpYW5eMyINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihTZXJpZXMgNjB8U3ltYk9TfFM2MCkiLA0KICAgICAgICAgICAgICAgIG9zX3JlcGxhY2VtZW50OiAiU3ltYmlhbiBPUyINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihNZWVHbykiLA0KICAgICAgICAgICAgICAgIG90aGVyOiB0cnVlDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICJTeW1iaWFuIFtPb11bU3NdIiwNCiAgICAgICAgICAgICAgICBvc19yZXBsYWNlbWVudDogIlN5bWJpYW4gT1MiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoQmxhY2tbQmJdZXJyeSlbMC05YS16XSsvKFxcZCspXFwuKFxcZCspXFwuKFxcZCspKD86XFwuKFxcZCspKT8iLA0KICAgICAgICAgICAgICAgIG9zX3JlcGxhY2VtZW50OiAiQmxhY2tCZXJyeSBPUyIsDQogICAgICAgICAgICAgICAgbWFudWZhY3R1cmVyOiAiUklNIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKEJsYWNrW0JiXWVycnkpLitWZXJzaW9uLyhcXGQrKVxcLihcXGQrKVxcLihcXGQrKSg/OlxcLihcXGQrKSk/IiwNCiAgICAgICAgICAgICAgICBvc19yZXBsYWNlbWVudDogIkJsYWNrQmVycnkgT1MiLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIlJJTSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihSSU0gVGFibGV0IE9TKSAoXFxkKylcXC4oXFxkKylcXC4oXFxkKykiLA0KICAgICAgICAgICAgICAgIG9zX3JlcGxhY2VtZW50OiAiQmxhY2tCZXJyeSBUYWJsZXQgT1MiLA0KICAgICAgICAgICAgICAgIHRhYmxldDogdHJ1ZSwNCiAgICAgICAgICAgICAgICBtYW51ZmFjdHVyZXI6ICJSSU0iDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoUGxheVtCYl1vb2spIiwNCiAgICAgICAgICAgICAgICBvc19yZXBsYWNlbWVudDogIkJsYWNrQmVycnkgVGFibGV0IE9TIiwNCiAgICAgICAgICAgICAgICB0YWJsZXQ6IHRydWUsDQogICAgICAgICAgICAgICAgbWFudWZhY3R1cmVyOiAiUklNIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKEJsYWNrW0JiXWVycnkpIiwNCiAgICAgICAgICAgICAgICBvc19yZXBsYWNlbWVudDogIkJsYWNrYmVycnkgT1MiLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIlJJTSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIih3ZWJPU3xocHdPUykvKFxcZCspXFwuKFxcZCspKD86XFwuKFxcZCspKT8iLA0KICAgICAgICAgICAgICAgIG9zX3JlcGxhY2VtZW50OiAid2ViT1MiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoU1VTRXxGZWRvcmF8UmVkIEhhdHxQQ0xpbnV4T1MpLyhcXGQrKVxcLihcXGQrKVxcLihcXGQrKVxcLihcXGQrKSIsDQogICAgICAgICAgICAgICAgb3RoZXI6IHRydWUNCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihTVVNFfEZlZG9yYXxSZWQgSGF0fFB1cHB5fFBDTGludXhPU3xDZW50T1MpLyhcXGQrKVxcLihcXGQrKVxcLihcXGQrKSIsDQogICAgICAgICAgICAgICAgb3RoZXI6IHRydWUNCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihVYnVudHV8S2luZGxlfEJhZGF8THVidW50dXxCYWNrVHJhY2t8UmVkIEhhdHxTbGFja3dhcmUpLyhcXGQrKVxcLihcXGQrKSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihXaW5kb3dzfE9wZW5CU0R8RnJlZUJTRHxOZXRCU0R8VWJ1bnR1fEt1YnVudHV8QW5kcm9pZHxBcmNoIExpbnV4fENlbnRPU3xXZVRhYnxTbGFja3dhcmUpIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKExpbnV4fEJTRCkiLA0KICAgICAgICAgICAgICAgIG90aGVyOiB0cnVlDQogICAgICAgICAgICB9IF0sDQogICAgICAgICAgICBtb2JpbGVfb3NfZmFtaWxpZXM6IFsgIldpbmRvd3MgUGhvbmUgNi41IiwgIldpbmRvd3MgQ0UiLCAiU3ltYmlhbiBPUyIgXSwNCiAgICAgICAgICAgIGRldmljZV9wYXJzZXJzOiBbIHsNCiAgICAgICAgICAgICAgICByZWdleDogIkhUQyAoW0EtWl1bYS16MC05XSspIEJ1aWxkIiwNCiAgICAgICAgICAgICAgICBkZXZpY2VfcmVwbGFjZW1lbnQ6ICJIVEMgJDEiLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIkhUQyINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIkhUQyAoW0EtWl1bYS16MC05IF0rKSBcXGQrXFwuXFxkK1xcLlxcZCtcXC5cXGQrIiwNCiAgICAgICAgICAgICAgICBkZXZpY2VfcmVwbGFjZW1lbnQ6ICJIVEMgJDEiLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIkhUQyINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIkhUQ19Ub3VjaF8oW0EtWmEtejAtOV0rKSIsDQogICAgICAgICAgICAgICAgZGV2aWNlX3JlcGxhY2VtZW50OiAiSFRDIFRvdWNoICgkMSkiLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIkhUQyINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIlVTQ0NIVEMoXFxkKykiLA0KICAgICAgICAgICAgICAgIGRldmljZV9yZXBsYWNlbWVudDogIkhUQyAkMSAoVVMgQ2VsbHVsYXIpIiwNCiAgICAgICAgICAgICAgICBtYW51ZmFjdHVyZXI6ICJIVEMiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICJTcHJpbnQgQVBBKDkyOTIpIiwNCiAgICAgICAgICAgICAgICBkZXZpY2VfcmVwbGFjZW1lbnQ6ICJIVEMgJDEgKFNwcmludCkiLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIkhUQyINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIkhUQyAoW0EtWmEtejAtOV0rIFtBLVpdKSIsDQogICAgICAgICAgICAgICAgZGV2aWNlX3JlcGxhY2VtZW50OiAiSFRDICQxIiwNCiAgICAgICAgICAgICAgICBtYW51ZmFjdHVyZXI6ICJIVEMiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICJIVEMtKFtBLVphLXowLTldKykiLA0KICAgICAgICAgICAgICAgIGRldmljZV9yZXBsYWNlbWVudDogIkhUQyAkMSIsDQogICAgICAgICAgICAgICAgbWFudWZhY3R1cmVyOiAiSFRDIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiSFRDXyhbQS1aYS16MC05XSspIiwNCiAgICAgICAgICAgICAgICBkZXZpY2VfcmVwbGFjZW1lbnQ6ICJIVEMgJDEiLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIkhUQyINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIkhUQyAoW0EtWmEtejAtOV0rKSIsDQogICAgICAgICAgICAgICAgZGV2aWNlX3JlcGxhY2VtZW50OiAiSFRDICQxIiwNCiAgICAgICAgICAgICAgICBtYW51ZmFjdHVyZXI6ICJIVEMiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoQURSW0EtWmEtejAtOV0rKSIsDQogICAgICAgICAgICAgICAgZGV2aWNlX3JlcGxhY2VtZW50OiAiSFRDICQxIiwNCiAgICAgICAgICAgICAgICBtYW51ZmFjdHVyZXI6ICJIVEMiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoSFRDKSIsDQogICAgICAgICAgICAgICAgbWFudWZhY3R1cmVyOiAiSFRDIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiU29ueUVyaWNzc29uKFtBLVphLXowLTldKykvIiwNCiAgICAgICAgICAgICAgICBkZXZpY2VfcmVwbGFjZW1lbnQ6ICJFcmljc3NvbiAkMSIsDQogICAgICAgICAgICAgICAgb3RoZXI6IHRydWUsDQogICAgICAgICAgICAgICAgbWFudWZhY3R1cmVyOiAiU29ueSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIkFuZHJvaWRbXFwtIF1bXFxkXStcXC5bXFxkXStcXDsgW0EtWmEtel17Mn1cXC1bQS1aYS16XXsyfVxcOyBXT1dNb2JpbGUgKC4rKSBCdWlsZCINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIkFuZHJvaWRbXFwtIF1bXFxkXStcXC5bXFxkXStcXC5bXFxkXSs7IFtBLVphLXpdezJ9XFwtW0EtWmEtel17Mn1cXDsgKC4rKSBCdWlsZCINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIkFuZHJvaWRbXFwtIF1bXFxkXStcXC5bXFxkXStcXC11cGRhdGUxXFw7IFtBLVphLXpdezJ9XFwtW0EtWmEtel17Mn1cXDsgKC4rKSBCdWlsZCINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIkFuZHJvaWRbXFwtIF1bXFxkXStcXC5bXFxkXStcXDsgW0EtWmEtel17Mn1cXC1bQS1aYS16XXsyfVxcOyAoLispIEJ1aWxkIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiQW5kcm9pZFtcXC0gXVtcXGRdK1xcLltcXGRdK1xcLltcXGRdKzsgKC4rKSBCdWlsZCINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIk5va2lhTihbMC05XSspIiwNCiAgICAgICAgICAgICAgICBkZXZpY2VfcmVwbGFjZW1lbnQ6ICJOb2tpYSBOJDEiLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIk5va2lhIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiTm9raWEoW0EtWmEtejAtOVxcdi1dKykiLA0KICAgICAgICAgICAgICAgIGRldmljZV9yZXBsYWNlbWVudDogIk5va2lhICQxIiwNCiAgICAgICAgICAgICAgICBtYW51ZmFjdHVyZXI6ICJOb2tpYSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIk5PS0lBIChbQS1aYS16MC05XFwtXSspIiwNCiAgICAgICAgICAgICAgICBkZXZpY2VfcmVwbGFjZW1lbnQ6ICJOb2tpYSAkMSIsDQogICAgICAgICAgICAgICAgbWFudWZhY3R1cmVyOiAiTm9raWEiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICJOb2tpYSAoW0EtWmEtejAtOVxcLV0rKSIsDQogICAgICAgICAgICAgICAgZGV2aWNlX3JlcGxhY2VtZW50OiAiTm9raWEgJDEiLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIk5va2lhIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiTHVtaWEgKFtBLVphLXowLTlcXC1dKykiLA0KICAgICAgICAgICAgICAgIGRldmljZV9yZXBsYWNlbWVudDogIkx1bWlhICQxIiwNCiAgICAgICAgICAgICAgICBtYW51ZmFjdHVyZXI6ICJOb2tpYSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIlN5bWJpYW4iLA0KICAgICAgICAgICAgICAgIGRldmljZV9yZXBsYWNlbWVudDogIk5va2lhIiwNCiAgICAgICAgICAgICAgICBtYW51ZmFjdHVyZXI6ICJOb2tpYSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihQbGF5Qm9vaykuK1JJTSBUYWJsZXQgT1MiLA0KICAgICAgICAgICAgICAgIGRldmljZV9yZXBsYWNlbWVudDogIkJsYWNrYmVycnkgUGxheWJvb2siLA0KICAgICAgICAgICAgICAgIHRhYmxldDogdHJ1ZSwNCiAgICAgICAgICAgICAgICBtYW51ZmFjdHVyZXI6ICJSSU0iDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoQmxhY2tbQmJdZXJyeSBbMC05XSspOyIsDQogICAgICAgICAgICAgICAgbWFudWZhY3R1cmVyOiAiUklNIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiQmxhY2tbQmJdZXJyeShbMC05XSspIiwNCiAgICAgICAgICAgICAgICBkZXZpY2VfcmVwbGFjZW1lbnQ6ICJCbGFja0JlcnJ5ICQxIiwNCiAgICAgICAgICAgICAgICBtYW51ZmFjdHVyZXI6ICJSSU0iDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoUHJlKS8oXFxkKylcXC4oXFxkKykiLA0KICAgICAgICAgICAgICAgIGRldmljZV9yZXBsYWNlbWVudDogIlBhbG0gUHJlIiwNCiAgICAgICAgICAgICAgICBtYW51ZmFjdHVyZXI6ICJQYWxtIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKFBpeGkpLyhcXGQrKVxcLihcXGQrKSIsDQogICAgICAgICAgICAgICAgZGV2aWNlX3JlcGxhY2VtZW50OiAiUGFsbSBQaXhpIiwNCiAgICAgICAgICAgICAgICBtYW51ZmFjdHVyZXI6ICJQYWxtIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKFRvdWNocGFkKS8oXFxkKylcXC4oXFxkKykiLA0KICAgICAgICAgICAgICAgIGRldmljZV9yZXBsYWNlbWVudDogIkhQIFRvdWNocGFkIiwNCiAgICAgICAgICAgICAgICBtYW51ZmFjdHVyZXI6ICJIUCINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIkhQaVBBUShbQS1aYS16MC05XSspLyhcXGQrKS4oXFxkKykiLA0KICAgICAgICAgICAgICAgIGRldmljZV9yZXBsYWNlbWVudDogIkhQIGlQQVEgJDEiLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIkhQIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiUGFsbShbQS1aYS16MC05XSspIiwNCiAgICAgICAgICAgICAgICBkZXZpY2VfcmVwbGFjZW1lbnQ6ICJQYWxtICQxIiwNCiAgICAgICAgICAgICAgICBtYW51ZmFjdHVyZXI6ICJQYWxtIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiVHJlbyhbQS1aYS16MC05XSspIiwNCiAgICAgICAgICAgICAgICBkZXZpY2VfcmVwbGFjZW1lbnQ6ICJQYWxtIFRyZW8gJDEiLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIlBhbG0iDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICJ3ZWJPUy4qKFAxNjBVTkEpLyhcXGQrKS4oXFxkKykiLA0KICAgICAgICAgICAgICAgIGRldmljZV9yZXBsYWNlbWVudDogIkhQIFZlZXIiLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIkhQIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKEtpbmRsZSBGaXJlKSIsDQogICAgICAgICAgICAgICAgbWFudWZhY3R1cmVyOiAiQW1hem9uIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKEtpbmRsZSkiLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIkFtYXpvbiINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihTaWxrKS8oXFxkKylcXC4oXFxkKykoPzpcXC4oWzAtOVxcLV0rKSk/IiwNCiAgICAgICAgICAgICAgICBkZXZpY2VfcmVwbGFjZW1lbnQ6ICJLaW5kbGUgRmlyZSIsDQogICAgICAgICAgICAgICAgdGFibGV0OiB0cnVlLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIkFtYXpvbiINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihpUGFkKSBTaW11bGF0b3I7IiwNCiAgICAgICAgICAgICAgICBtYW51ZmFjdHVyZXI6ICJBcHBsZSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihpUGFkKTsiLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIkFwcGxlIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKGlQb2QpOyIsDQogICAgICAgICAgICAgICAgbWFudWZhY3R1cmVyOiAiQXBwbGUiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoaVBob25lKSBTaW11bGF0b3I7IiwNCiAgICAgICAgICAgICAgICBtYW51ZmFjdHVyZXI6ICJBcHBsZSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihpUGhvbmUpOyIsDQogICAgICAgICAgICAgICAgbWFudWZhY3R1cmVyOiAiQXBwbGUiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICJOZXh1c1xcIChbQS1aYS16MC05XFwtXSspIiwNCiAgICAgICAgICAgICAgICBkZXZpY2VfcmVwbGFjZW1lbnQ6ICJOZXh1cyAkMSINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogImFjZXJfKFtBLVphLXowLTldKylfIiwNCiAgICAgICAgICAgICAgICBkZXZpY2VfcmVwbGFjZW1lbnQ6ICJBY2VyICQxIiwNCiAgICAgICAgICAgICAgICBtYW51ZmFjdHVyZXI6ICJBY2VyIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiYWNlcl8oW0EtWmEtejAtOV0rKV8iLA0KICAgICAgICAgICAgICAgIGRldmljZV9yZXBsYWNlbWVudDogIkFjZXIgJDEiLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIkFjZXIiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICJBbW9pXFwtKFtBLVphLXowLTldKykiLA0KICAgICAgICAgICAgICAgIGRldmljZV9yZXBsYWNlbWVudDogIkFtb2kgJDEiLA0KICAgICAgICAgICAgICAgIG90aGVyOiB0cnVlLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIkFtb2kiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICJBTU9JXFwtKFtBLVphLXowLTldKykiLA0KICAgICAgICAgICAgICAgIGRldmljZV9yZXBsYWNlbWVudDogIkFtb2kgJDEiLA0KICAgICAgICAgICAgICAgIG90aGVyOiB0cnVlLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIkFtb2kiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICJBc3VzXFwtKFtBLVphLXowLTldKykiLA0KICAgICAgICAgICAgICAgIGRldmljZV9yZXBsYWNlbWVudDogIkFzdXMgJDEiLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIkFzdXMiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICJBU1VTXFwtKFtBLVphLXowLTldKykiLA0KICAgICAgICAgICAgICAgIGRldmljZV9yZXBsYWNlbWVudDogIkFzdXMgJDEiLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIkFzdXMiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICJCSVJEXFwtKFtBLVphLXowLTldKykiLA0KICAgICAgICAgICAgICAgIGRldmljZV9yZXBsYWNlbWVudDogIkJpcmQgJDEiLA0KICAgICAgICAgICAgICAgIG90aGVyOiB0cnVlDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICJCSVJEXFwuKFtBLVphLXowLTldKykiLA0KICAgICAgICAgICAgICAgIGRldmljZV9yZXBsYWNlbWVudDogIkJpcmQgJDEiLA0KICAgICAgICAgICAgICAgIG90aGVyOiB0cnVlDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICJCSVJEIChbQS1aYS16MC05XSspIiwNCiAgICAgICAgICAgICAgICBkZXZpY2VfcmVwbGFjZW1lbnQ6ICJCaXJkICQxIiwNCiAgICAgICAgICAgICAgICBvdGhlcjogdHJ1ZQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiRGVsbCAoW0EtWmEtejAtOV0rKSIsDQogICAgICAgICAgICAgICAgZGV2aWNlX3JlcGxhY2VtZW50OiAiRGVsbCAkMSIsDQogICAgICAgICAgICAgICAgbWFudWZhY3R1cmVyOiAiRGVsbCINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIkRvQ29Nby8yXFwuMCAoW0EtWmEtejAtOV0rKSIsDQogICAgICAgICAgICAgICAgZGV2aWNlX3JlcGxhY2VtZW50OiAiRG9Db01vICQxIiwNCiAgICAgICAgICAgICAgICBvdGhlcjogdHJ1ZQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKFtBLVphLXowLTldKylcXF9XXFw7Rk9NQSIsDQogICAgICAgICAgICAgICAgZGV2aWNlX3JlcGxhY2VtZW50OiAiRG9Db01vICQxIiwNCiAgICAgICAgICAgICAgICBvdGhlcjogdHJ1ZQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKFtBLVphLXowLTldKylcXDtGT01BIiwNCiAgICAgICAgICAgICAgICBkZXZpY2VfcmVwbGFjZW1lbnQ6ICJEb0NvTW8gJDEiLA0KICAgICAgICAgICAgICAgIG90aGVyOiB0cnVlDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICJ2b2RhZm9uZShbQS1aYS16MC05XSspIiwNCiAgICAgICAgICAgICAgICBkZXZpY2VfcmVwbGFjZW1lbnQ6ICJIdWF3ZWkgVm9kYWZvbmUgJDEiLA0KICAgICAgICAgICAgICAgIG90aGVyOiB0cnVlDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICJpXFwtbWF0ZSAoW0EtWmEtejAtOV0rKSIsDQogICAgICAgICAgICAgICAgZGV2aWNlX3JlcGxhY2VtZW50OiAiaS1tYXRlICQxIiwNCiAgICAgICAgICAgICAgICBvdGhlcjogdHJ1ZQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiS3lvY2VyYVxcLShbQS1aYS16MC05XSspIiwNCiAgICAgICAgICAgICAgICBkZXZpY2VfcmVwbGFjZW1lbnQ6ICJLeW9jZXJhICQxIiwNCiAgICAgICAgICAgICAgICBvdGhlcjogdHJ1ZQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiS1dDXFwtKFtBLVphLXowLTldKykiLA0KICAgICAgICAgICAgICAgIGRldmljZV9yZXBsYWNlbWVudDogIkt5b2NlcmEgJDEiLA0KICAgICAgICAgICAgICAgIG90aGVyOiB0cnVlDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICJMZW5vdm9cXC0oW0EtWmEtejAtOV0rKSIsDQogICAgICAgICAgICAgICAgZGV2aWNlX3JlcGxhY2VtZW50OiAiTGVub3ZvICQxIiwNCiAgICAgICAgICAgICAgICBtYW51ZmFjdHVyZXI6ICJMZW5vdm8iDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICJMZW5vdm9cXF8oW0EtWmEtejAtOV0rKSIsDQogICAgICAgICAgICAgICAgZGV2aWNlX3JlcGxhY2VtZW50OiAiTGVub3ZvICQxIiwNCiAgICAgICAgICAgICAgICBtYW51ZmFjdHVyZXI6ICJMZXZvdm8iDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICJMRy8oW0EtWmEtejAtOV0rKSIsDQogICAgICAgICAgICAgICAgZGV2aWNlX3JlcGxhY2VtZW50OiAiTEcgJDEiLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIkxHIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiTEctTEcoW0EtWmEtejAtOV0rKSIsDQogICAgICAgICAgICAgICAgZGV2aWNlX3JlcGxhY2VtZW50OiAiTEcgJDEiLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIkxHIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiTEdFLUxHKFtBLVphLXowLTldKykiLA0KICAgICAgICAgICAgICAgIGRldmljZV9yZXBsYWNlbWVudDogIkxHICQxIiwNCiAgICAgICAgICAgICAgICBtYW51ZmFjdHVyZXI6ICJMRyINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIkxHRSBWWChbQS1aYS16MC05XSspIiwNCiAgICAgICAgICAgICAgICBkZXZpY2VfcmVwbGFjZW1lbnQ6ICJMRyAkMSIsDQogICAgICAgICAgICAgICAgbWFudWZhY3R1cmVyOiAiTEciDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICJMRyAoW0EtWmEtejAtOV0rKSIsDQogICAgICAgICAgICAgICAgZGV2aWNlX3JlcGxhY2VtZW50OiAiTEcgJDEiLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIkxHIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiTEdFIExHXFwtQVgoW0EtWmEtejAtOV0rKSIsDQogICAgICAgICAgICAgICAgZGV2aWNlX3JlcGxhY2VtZW50OiAiTEcgJDEiLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIkxHIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiTEdcXC0oW0EtWmEtejAtOV0rKSIsDQogICAgICAgICAgICAgICAgZGV2aWNlX3JlcGxhY2VtZW50OiAiTEcgJDEiLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIkxHIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiTEdFXFwtKFtBLVphLXowLTldKykiLA0KICAgICAgICAgICAgICAgIGRldmljZV9yZXBsYWNlbWVudDogIkxHICQxIiwNCiAgICAgICAgICAgICAgICBtYW51ZmFjdHVyZXI6ICJMRyINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIkxHKFtBLVphLXowLTldKykiLA0KICAgICAgICAgICAgICAgIGRldmljZV9yZXBsYWNlbWVudDogIkxHICQxIiwNCiAgICAgICAgICAgICAgICBtYW51ZmFjdHVyZXI6ICJMRyINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIihLSU4pXFwuT25lIChcXGQrKVxcLihcXGQrKSIsDQogICAgICAgICAgICAgICAgZGV2aWNlX3JlcGxhY2VtZW50OiAiTWljcm9zb2Z0ICQxIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKEtJTilcXC5Ud28gKFxcZCspXFwuKFxcZCspIiwNCiAgICAgICAgICAgICAgICBkZXZpY2VfcmVwbGFjZW1lbnQ6ICJNaWNyb3NvZnQgJDEiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoTW90b3JvbGEpXFwtKFtBLVphLXowLTldKykiLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIk1vdG9yb2xhIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiTU9UT1xcLShbQS1aYS16MC05XSspIiwNCiAgICAgICAgICAgICAgICBkZXZpY2VfcmVwbGFjZW1lbnQ6ICJNb3Rvcm9sYSAkMSIsDQogICAgICAgICAgICAgICAgbWFudWZhY3R1cmVyOiAiTW90b3JvbGEiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICJNT1RcXC0oW0EtWmEtejAtOV0rKSIsDQogICAgICAgICAgICAgICAgZGV2aWNlX3JlcGxhY2VtZW50OiAiTW90b3JvbGEgJDEiLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIk1vdG9yb2xhIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiUGhpbGlwcyhbQS1aYS16MC05XSspIiwNCiAgICAgICAgICAgICAgICBkZXZpY2VfcmVwbGFjZW1lbnQ6ICJQaGlsaXBzICQxIiwNCiAgICAgICAgICAgICAgICBtYW51ZmFjdHVyZXI6ICJQaGlsaXBzIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiUGhpbGlwcyAoW0EtWmEtejAtOV0rKSIsDQogICAgICAgICAgICAgICAgZGV2aWNlX3JlcGxhY2VtZW50OiAiUGhpbGlwcyAkMSIsDQogICAgICAgICAgICAgICAgbWFudWZhY3R1cmVyOiAiUGhpbGlwcyINCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICByZWdleDogIlNBTVNVTkctKFtBLVphLXowLTlcXC1dKykiLA0KICAgICAgICAgICAgICAgIGRldmljZV9yZXBsYWNlbWVudDogIlNhbXN1bmcgJDEiLA0KICAgICAgICAgICAgICAgIG1hbnVmYWN0dXJlcjogIlNhbXN1bmciDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICJTQU1TVU5HXFw7IChbQS1aYS16MC05XFwtXSspIiwNCiAgICAgICAgICAgICAgICBkZXZpY2VfcmVwbGFjZW1lbnQ6ICJTYW1zdW5nICQxIiwNCiAgICAgICAgICAgICAgICBtYW51ZmFjdHVyZXI6ICJTYW1zdW5nIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiU29mdGJhbmsvMVxcLjAvKFtBLVphLXowLTldKykiLA0KICAgICAgICAgICAgICAgIGRldmljZV9yZXBsYWNlbWVudDogIlNvZnRiYW5rICQxIiwNCiAgICAgICAgICAgICAgICBvdGhlcjogdHJ1ZQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiU29mdGJhbmsvMlxcLjAvKFtBLVphLXowLTldKykiLA0KICAgICAgICAgICAgICAgIGRldmljZV9yZXBsYWNlbWVudDogIlNvZnRiYW5rICQxIiwNCiAgICAgICAgICAgICAgICBvdGhlcjogdHJ1ZQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiKGhpcHRvcHxhdmFudGdvfHBsdWNrZXJ8eGlpbm98YmxhemVyfGVsYWluZXx1cC5icm93c2VyfHVwLmxpbmt8bW1wfHNtYXJ0cGhvbmV8bWlkcHx3YXB8dm9kYWZvbmV8bzJ8cG9ja2V0fG1vYmlsZXxwZGEpIiwNCiAgICAgICAgICAgICAgICBkZXZpY2VfcmVwbGFjZW1lbnQ6ICJHZW5lcmljIFNtYXJ0cGhvbmUiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICJeKDEyMDd8M2dzb3w0dGhwfDUwMWl8NTAyaXw1MDNpfDUwNGl8NTA1aXw1MDZpfDYzMTB8NjU5MHw3NzBzfDgwMnN8YSB3YXxhY2VyfGFjc1xcLXxhaXJufGFsYXZ8YXN1c3xhdHR3fGF1XFwtbXxhdXIgfGF1cyB8YWJhY3xhY29vfGFpa298YWxjb3xhbGNhfGFtb2l8YW5leHxhbm55fGFueXd8YXB0dXxhcmNofGFyZ298YmVsbHxiaXJkfGJ3XFwtbnxid1xcLXV8YmVja3xiZW5xfGJpbGJ8YmxhY3xjNTUvfGNkbVxcLXxjaHRtfGNhcGl8Y29tcHxjb25kfGNyYXd8ZGFsbHxkYnRlfGRjXFwtc3xkaWNhfGRzXFwtZHxkczEyfGRhaXR8ZGV2aXxkbW9ifGRvY298ZG9wb3xlbDQ5fGVyazB8ZXNsOHxlejQwfGV6NjB8ZXo3MHxlem9zfGV6emV8ZWxhaXxlbXVsfGVyaWN8ZXp3YXxmYWtlfGZseVxcLXxmbHlcXF98Z1xcLW1vfGcxIHV8ZzU2MHxnZlxcLTV8Z3J1bnxnZW5lfGdvLnd8Z29vZHxncmFkfGhjaXR8aGRcXC1tfGhkXFwtcHxoZFxcLXR8aGVpXFwtfGhwIGl8aHBpcHxoc1xcLWN8aHRjIHxodGNcXC18aHRjYXxodGNnKSIsDQogICAgICAgICAgICAgICAgZGV2aWNlX3JlcGxhY2VtZW50OiAiR2VuZXJpYyBGZWF0dXJlIFBob25lIg0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIHJlZ2V4OiAiXihodGNwfGh0Y3N8aHRjdHxodGNcXF98aGFpZXxoaXRhfGh1YXd8aHV0Y3xpXFwtMjB8aVxcLWdvfGlcXC1tYXxpMjMwfGlhY3xpYWNcXC18aWFjL3xpZzAxfGltMWt8aW5ub3xpcmlzfGphdGF8amF2YXxrZGRpfGtndHxrZ3QvfGtwdCB8a3djXFwtfGtsb258bGV4aXxsZyBnfGxnXFwtYXxsZ1xcLWJ8bGdcXC1jfGxnXFwtZHxsZ1xcLWZ8bGdcXC1nfGxnXFwta3xsZ1xcLWx8bGdcXC1tfGxnXFwtb3xsZ1xcLXB8bGdcXC1zfGxnXFwtdHxsZ1xcLXV8bGdcXC13fGxnL2t8bGcvbHxsZy91fGxnNTB8bGc1NHxsZ2VcXC18bGdlL3xseW54fGxlbm98bTFcXC13fG0zZ2F8bTUwL3xtYXVpfG1jMDF8bWMyMXxtY2NhfG1lZGl8bWVyaXxtaW84fG1pb2F8bW8wMXxtbzAyfG1vZGV8bW9kb3xtb3QgfG1vdFxcLXxtdDUwfG10cDF8bXR2IHxtYXRlfG1heG98bWVyY3xtaXRzfG1vYml8bW90dnxtb3p6fG4xMDB8bjEwMXxuMTAyfG4yMDJ8bjIwM3xuMzAwfG4zMDJ8bjUwMHxuNTAyfG41MDV8bjcwMHxuNzAxfG43MTB8bmVjXFwtfG5lbVxcLXxuZXdnfG5lb24pIiwNCiAgICAgICAgICAgICAgICBkZXZpY2VfcmVwbGFjZW1lbnQ6ICJHZW5lcmljIEZlYXR1cmUgUGhvbmUiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICJeKG5ldGZ8bm9raXxuenBofG8yIHh8bzJcXC14fG9wd3Z8b3dnMXxvcHRpfG9yYW58b3RcXC1zfHA4MDB8cGFuZHxwZ1xcLTF8cGdcXC0yfHBnXFwtM3xwZ1xcLTZ8cGdcXC04fHBnXFwtY3xwZzEzfHBoaWx8cG5cXC0yfHB0XFwtZ3xwYWxtfHBhbmF8cGlyZXxwb2NrfHBvc2V8cHNpb3xxYVxcLWF8cWNcXC0yfHFjXFwtM3xxY1xcLTV8cWNcXC03fHFjMDd8cWMxMnxxYzIxfHFjMzJ8cWM2MHxxY2lcXC18cXdhcHxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm92ZXxzNTUvfHNhZ2V8c2Ftc3xzYzAxfHNjaFxcLXxzY3BcXC18c2RrL3xzZTQ3fHNlY1xcLXxzZWMwfHNlYzF8c2VtY3xzZ2hcXC18c2hhcnxzaWVcXC18c2tcXC0wfHNsNDV8c2xpZHxzbWIzfHNtdDV8c3AwMXxzcGhcXC18c3B2IHxzcHZcXC18c3kwMXxzYW1tfHNhbnl8c2F2YXxzY29vfHNlbmR8c2llbXxzbWFyfHNtaXR8c29mdHxzb255fHRcXC1tb3x0MjE4fHQyNTB8dDYwMHx0NjEwfHQ2MTh8dGNsXFwtfHRkZ1xcLXx0ZWxtfHRpbVxcLXx0czcwfHRzbVxcLXx0c20zfHRzbTV8dHhcXC05fHRhZ3QpIiwNCiAgICAgICAgICAgICAgICBkZXZpY2VfcmVwbGFjZW1lbnQ6ICJHZW5lcmljIEZlYXR1cmUgUGhvbmUiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICJeKHRhbGt8dGVsaXx0b3BsfHRvc2h8dXAuYnx1cGcxfHV0c3R8djQwMHx2NzUwfHZlcml8dmtcXC12fHZrNDB8dms1MHx2azUyfHZrNTN8dm00MHx2eDk4fHZpcmd8dml0ZXx2b2RhfHZ1bGN8dzNjIHx3M2NcXC18d2Fwanx3YXBwfHdhcHV8d2FwbXx3aWcgfHdhcGl8d2Fwcnx3YXB2fHdhcHl8d2FwYXx3YXBzfHdhcHR8d2luY3x3aW53fHdvbnV8eDcwMHx4ZGEyfHhkYWd8eWFzXFwtfHlvdXJ8enRlXFwtfHpldG98YXN0ZXxhdWRpfGF2YW58YmxhenxicmV3fGJydnd8YnVtYnxjY3dhfGNlbGx8Y2xkY3xjbWRcXC18ZGFuZ3xlbWwyfGZldGN8aGlwdHxodHRwfGlicm98aWRlYXxpa29tfGlwYXF8amJyb3xqZW11fGppZ3N8a2VqaXxreW9jfGt5b2t8bGlid3xtXFwtY3J8bWlkcHxtbWVmfG1vdG98bXdicHxteXdhfG5ld3R8bm9rNnxvMmltfHBhbnR8cGR4Z3xwbGF5fHBsdWN8cG9ydHxwcm94fHJvem98c2FtYXxzZXJpfHNtYWx8c3ltYnx0cmVvfHVwc2l8dng1Mnx2eDUzfHZ4NjB8dng2MXx2eDcwfHZ4ODB8dng4MXx2eDgzfHZ4ODV8d2FwXFwtfHdlYmN8d2hpdHx3bWxifHhkYVxcLXx4ZGFcXF8pIiwNCiAgICAgICAgICAgICAgICBkZXZpY2VfcmVwbGFjZW1lbnQ6ICJHZW5lcmljIEZlYXR1cmUgUGhvbmUiDQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgcmVnZXg6ICIoYm90fGJvcmd8Z29vZ2xlKF50dil8eWFob298c2x1cnB8bXNuYm90fG1zcmJvdHxvcGVuYm90fGFyY2hpdmVyfG5ldHJlc2VhcmNofGx5Y29zfHNjb290ZXJ8YWx0YXZpc3RhfHRlb21hfGdpZ2Fib3R8YmFpZHVzcGlkZXJ8YmxpdHpib3R8b2VncHxjaGFybG90dGV8ZnVybGJvdHxodHRwJTIwY2xpZW50fHBvbHlib3R8aHRkaWd8aWNoaXJvfG1vZ2ltb2dpfGxhcmJpbnxwb21wb3N8c2NydWJieXxzZWFyY2hzaWdodHxzZWVrYm90fHNlbWFudGljZGlzY292ZXJ5fHNpbGt8c25hcHB5fHNwZWVkeXxzcGlkZXJ8dm9pbGF8dm9ydGV4fHZveWFnZXJ8emFvfHplYWx8ZmFzdFxcLXdlYmNyYXdsZXJ8Y29udmVyYWNyYXdsZXJ8ZGF0YXBhcmtzZWFyY2h8ZmluZGxpbmtzKSIsDQogICAgICAgICAgICAgICAgZGV2aWNlX3JlcGxhY2VtZW50OiAiU3BpZGVyIg0KICAgICAgICAgICAgfSBdLA0KICAgICAgICAgICAgbW9iaWxlX2Jyb3dzZXJfZmFtaWxpZXM6IFsgIkZpcmVmb3ggTW9iaWxlIiwgIk9wZXJhIE1vYmlsZSIsICJPcGVyYSBNaW5pIiwgIk1vYmlsZSBTYWZhcmkiLCAid2ViT1MiLCAiSUUgTW9iaWxlIiwgIlBsYXlzdGF0aW9uIFBvcnRhYmxlIiwgIk5va2lhIiwgIkJsYWNrYmVycnkiLCAiUGFsbSIsICJTaWxrIiwgIkFuZHJvaWQiLCAiTWFlbW8iLCAiT2JpZ28iLCAiTmV0ZnJvbnQiLCAiQXZhbnRHbyIsICJUZWxlY2EiLCAiU0VNQy1Ccm93c2VyIiwgIkJvbHQiLCAiSXJpcyIsICJVUC5Ccm93c2VyIiwgIlN5bXBob255IiwgIk1pbmltbyIsICJCdW5qYWxvbyIsICJKYXNtaW5lIiwgIkRvbGZpbiIsICJQb2xhcmlzIiwgIkJSRVciLCAiQ2hyb21lIE1vYmlsZSIsICJDaHJvbWUgTW9iaWxlIGlPUyIsICJVQyBCcm93c2VyIiwgIlRpemVuIEJyb3dzZXIiIF0NCiAgICAgICAgfTsNCiAgICAgICAgLy8gUGFyc2Vycw0KICAgICAgICBfdGhpcy5wYXJzZXJzID0gWyAiZGV2aWNlX3BhcnNlcnMiLCAiYnJvd3Nlcl9wYXJzZXJzIiwgIm9zX3BhcnNlcnMiLCAibW9iaWxlX29zX2ZhbWlsaWVzIiwgIm1vYmlsZV9icm93c2VyX2ZhbWlsaWVzIiBdOw0KICAgICAgICAvLyBUeXBlcw0KICAgICAgICBfdGhpcy50eXBlcyA9IFsgImJyb3dzZXIiLCAib3MiLCAiZGV2aWNlIiBdOw0KICAgICAgICAvLyBSZWd1bGFyIEV4cHJlc3Npb25zDQogICAgICAgIF90aGlzLnJlZ2V4ZXMgPSByZWdleGVzIHx8IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIHJlc3VsdHMgPSB7fTsNCiAgICAgICAgICAgIF90aGlzLnBhcnNlcnMubWFwKGZ1bmN0aW9uKHBhcnNlcikgew0KICAgICAgICAgICAgICAgIHJlc3VsdHNbcGFyc2VyXSA9IFtdOw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gcmVzdWx0czsNCiAgICAgICAgfSgpOw0KICAgICAgICAvLyBGYW1pbGllcw0KICAgICAgICBfdGhpcy5mYW1pbGllcyA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIHJlc3VsdHMgPSB7fTsNCiAgICAgICAgICAgIF90aGlzLnR5cGVzLm1hcChmdW5jdGlvbih0eXBlKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0c1t0eXBlXSA9IFtdOw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gcmVzdWx0czsNCiAgICAgICAgfSgpOw0KICAgICAgICAvLyBVdGlsaXR5IFZhcmlhYmxlcw0KICAgICAgICB2YXIgQXJyYXlQcm90byA9IEFycmF5LnByb3RvdHlwZSwgT2JqUHJvdG8gPSBPYmplY3QucHJvdG90eXBlLCBGdW5jUHJvdG8gPSBGdW5jdGlvbi5wcm90b3R5cGUsIG5hdGl2ZUZvckVhY2ggPSBBcnJheVByb3RvLmZvckVhY2gsIG5hdGl2ZUluZGV4T2YgPSBBcnJheVByb3RvLmluZGV4T2Y7DQogICAgICAgIC8vIEZpbmQgVXRpbGl0eQ0KICAgICAgICB2YXIgZmluZCA9IGZ1bmN0aW9uKHVhLCBvYmopIHsNCiAgICAgICAgICAgIHZhciByZXQgPSB7fTsNCiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb2JqLmxlbmd0aDsgaSsrKSB7DQogICAgICAgICAgICAgICAgcmV0ID0gb2JqW2ldKHVhKTsNCiAgICAgICAgICAgICAgICBpZiAocmV0KSB7DQogICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiByZXQ7DQogICAgICAgIH07DQogICAgICAgIC8vIFJlbW92ZSBVdGlsaXR5DQogICAgICAgIHZhciByZW1vdmUgPSBmdW5jdGlvbihhcnIsIHByb3BzKSB7DQogICAgICAgICAgICBlYWNoKGFyciwgZnVuY3Rpb24ob2JqKSB7DQogICAgICAgICAgICAgICAgZWFjaChwcm9wcywgZnVuY3Rpb24ocHJvcCkgew0KICAgICAgICAgICAgICAgICAgICBkZWxldGUgb2JqW3Byb3BdOw0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSk7DQogICAgICAgIH07DQogICAgICAgIC8vIENvbnRhaW5zIFV0aWxpdHkNCiAgICAgICAgdmFyIGNvbnRhaW5zID0gZnVuY3Rpb24ob2JqLCB0YXJnZXQpIHsNCiAgICAgICAgICAgIHZhciBmb3VuZCA9IGZhbHNlOw0KICAgICAgICAgICAgaWYgKG9iaiA9PSBudWxsKSByZXR1cm4gZm91bmQ7DQogICAgICAgICAgICBpZiAobmF0aXZlSW5kZXhPZiAmJiBvYmouaW5kZXhPZiA9PT0gbmF0aXZlSW5kZXhPZikgcmV0dXJuIG9iai5pbmRleE9mKHRhcmdldCkgIT0gLTE7DQogICAgICAgICAgICBmb3VuZCA9IGFueShvYmosIGZ1bmN0aW9uKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlID09PSB0YXJnZXQ7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmb3VuZDsNCiAgICAgICAgfTsNCiAgICAgICAgLy8gRWFjaCBVdGlsaXR5DQogICAgICAgIHZhciBlYWNoID0gZm9yRWFjaCA9IGZ1bmN0aW9uKG9iaiwgaXRlcmF0b3IsIGNvbnRleHQpIHsNCiAgICAgICAgICAgIGlmIChvYmogPT0gbnVsbCkgcmV0dXJuOw0KICAgICAgICAgICAgaWYgKG5hdGl2ZUZvckVhY2ggJiYgb2JqLmZvckVhY2ggPT09IG5hdGl2ZUZvckVhY2gpIHsNCiAgICAgICAgICAgICAgICBvYmouZm9yRWFjaChpdGVyYXRvciwgY29udGV4dCk7DQogICAgICAgICAgICB9IGVsc2UgaWYgKG9iai5sZW5ndGggPT09ICtvYmoubGVuZ3RoKSB7DQogICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSBvYmoubGVuZ3RoOyBpIDwgbDsgaSsrKSB7DQogICAgICAgICAgICAgICAgICAgIGl0ZXJhdG9yLmNhbGwoY29udGV4dCwgb2JqW2ldLCBpLCBvYmopOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgZm9yICh2YXIga2V5IGluIG9iaikgew0KICAgICAgICAgICAgICAgICAgICBpZiAoXy5oYXMob2JqLCBrZXkpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBpdGVyYXRvci5jYWxsKGNvbnRleHQsIG9ialtrZXldLCBrZXksIG9iaik7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgICAgIC8vIEV4dGVuZCBVdGlsdGl5DQogICAgICAgIHZhciBleHRlbmQgPSBmdW5jdGlvbihvYmopIHsNCiAgICAgICAgICAgIGVhY2goc2xpY2UuY2FsbChhcmd1bWVudHMsIDEpLCBmdW5jdGlvbihzb3VyY2UpIHsNCiAgICAgICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIHNvdXJjZSkgew0KICAgICAgICAgICAgICAgICAgICBvYmpbcHJvcF0gPSBzb3VyY2VbcHJvcF07DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gb2JqOw0KICAgICAgICB9Ow0KICAgICAgICAvLyBDaGVjayBTdHJpbmcgVXRpbGl0eQ0KICAgICAgICB2YXIgY2hlY2sgPSBmdW5jdGlvbihzdHIpIHsNCiAgICAgICAgICAgIHJldHVybiAhIShzdHIgJiYgdHlwZW9mIHN0ciAhPSAidW5kZWZpbmVkIiAmJiBzdHIgIT0gbnVsbCk7DQogICAgICAgIH07DQogICAgICAgIC8vIFRvIFZlcnNpb24gU3RyaW5nIFV0aWxpdHkNCiAgICAgICAgdmFyIHRvVmVyc2lvblN0cmluZyA9IGZ1bmN0aW9uKG9iaikgew0KICAgICAgICAgICAgdmFyIG91dHB1dCA9ICIiOw0KICAgICAgICAgICAgb2JqID0gb2JqIHx8IHt9Ow0KICAgICAgICAgICAgaWYgKGNoZWNrKG9iaikpIHsNCiAgICAgICAgICAgICAgICBpZiAoY2hlY2sob2JqLm1ham9yKSkgew0KICAgICAgICAgICAgICAgICAgICBvdXRwdXQgKz0gb2JqLm1ham9yOw0KICAgICAgICAgICAgICAgICAgICBpZiAoY2hlY2sob2JqLm1pbm9yKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0ICs9ICIuIiArIG9iai5taW5vcjsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjaGVjayhvYmoucGF0Y2gpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0ICs9ICIuIiArIG9iai5wYXRjaDsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBvdXRwdXQ7DQogICAgICAgIH07DQogICAgICAgIC8vIFRvIFN0cmluZyBVdGlsaXR5DQogICAgICAgIHZhciB0b1N0cmluZyA9IGZ1bmN0aW9uKG9iaikgew0KICAgICAgICAgICAgb2JqID0gb2JqIHx8IHt9Ow0KICAgICAgICAgICAgdmFyIHN1ZmZpeCA9IHRvVmVyc2lvblN0cmluZyhvYmopOw0KICAgICAgICAgICAgaWYgKHN1ZmZpeCkgc3VmZml4ID0gIiAiICsgc3VmZml4Ow0KICAgICAgICAgICAgcmV0dXJuIG9iaiAmJiBjaGVjayhvYmouZmFtaWx5KSA/IG9iai5mYW1pbHkgKyBzdWZmaXggOiAiIjsNCiAgICAgICAgfTsNCiAgICAgICAgLy8gUGFyc2UgVXNlci1BZ2VudCBTdHJpbmcNCiAgICAgICAgX3RoaXMucGFyc2UgPSBmdW5jdGlvbih1YSkgew0KICAgICAgICAgICAgLy8gUGFyc2VycyBVdGlsaXR5DQogICAgICAgICAgICB2YXIgcGFyc2VycyA9IGZ1bmN0aW9uKHR5cGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gX3RoaXMucmVnZXhlc1t0eXBlICsgIl9wYXJzZXJzIl0ubWFwKGZ1bmN0aW9uKG9iaikgew0KICAgICAgICAgICAgICAgICAgICB2YXIgcmVnZXhwID0gbmV3IFJlZ0V4cChvYmoucmVnZXgpLCByZXAgPSBvYmpbKHR5cGUgPT09ICJicm93c2VyIiA/ICJmYW1pbHkiIDogdHlwZSkgKyAiX3JlcGxhY2VtZW50Il0sIG1ham9yX3JlcCA9IG9iai5tYWpvcl92ZXJzaW9uX3JlcGxhY2VtZW50Ow0KICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBwYXJzZXIodWEpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBtID0gdWEubWF0Y2gocmVnZXhwKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbSkgcmV0dXJuIG51bGw7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmV0ID0ge307DQogICAgICAgICAgICAgICAgICAgICAgICByZXQuZmFtaWx5ID0gKHJlcCA/IHJlcC5yZXBsYWNlKCIkMSIsIG1bMV0pIDogbVsxXSkgfHwgIm90aGVyIjsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldC5tYWpvciA9IHBhcnNlSW50KG1ham9yX3JlcCA/IG1ham9yX3JlcCA6IG1bMl0pIHx8IG51bGw7DQogICAgICAgICAgICAgICAgICAgICAgICByZXQubWlub3IgPSBtWzNdID8gcGFyc2VJbnQobVszXSkgOiBudWxsOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0LnBhdGNoID0gbVs0XSA/IHBhcnNlSW50KG1bNF0pIDogbnVsbDsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldC50YWJsZXQgPSBvYmoudGFibGV0Ow0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0Lm1hbiA9IG9iai5tYW51ZmFjdHVyZXIgfHwgbnVsbDsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXQ7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBhcnNlcjsNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH07DQogICAgICAgICAgICAvLyBVc2VyIEFnZW50DQogICAgICAgICAgICB2YXIgVXNlckFnZW50ID0gZnVuY3Rpb24oKSB7fTsNCiAgICAgICAgICAgIC8vIEJyb3dzZXJzIFBhcnNlZA0KICAgICAgICAgICAgdmFyIGJyb3dzZXJfcGFyc2VycyA9IHBhcnNlcnMoImJyb3dzZXIiKTsNCiAgICAgICAgICAgIC8vIE9wZXJhdGluZyBTeXN0ZW1zIFBhcnNlZA0KICAgICAgICAgICAgdmFyIG9zX3BhcnNlcnMgPSBwYXJzZXJzKCJvcyIpOw0KICAgICAgICAgICAgLy8gRGV2aWNlcyBQYXJzZWQNCiAgICAgICAgICAgIHZhciBkZXZpY2VfcGFyc2VycyA9IHBhcnNlcnMoImRldmljZSIpOw0KICAgICAgICAgICAgLy8gU2V0IEFnZW50DQogICAgICAgICAgICB2YXIgYSA9IG5ldyBVc2VyQWdlbnQoKTsNCiAgICAgICAgICAgIC8vIFJlbWVtYmVyIHRoZSBvcmlnaW5hbCB1c2VyIGFnZW50IHN0cmluZw0KICAgICAgICAgICAgYS5zb3VyY2UgPSB1YTsNCiAgICAgICAgICAgIC8vIFNldCBCcm93c2VyDQogICAgICAgICAgICBhLmJyb3dzZXIgPSBmaW5kKHVhLCBicm93c2VyX3BhcnNlcnMpOw0KICAgICAgICAgICAgaWYgKGNoZWNrKGEuYnJvd3NlcikpIHsNCiAgICAgICAgICAgICAgICBhLmJyb3dzZXIubmFtZSA9IHRvU3RyaW5nKGEuYnJvd3Nlcik7DQogICAgICAgICAgICAgICAgYS5icm93c2VyLnZlcnNpb24gPSB0b1ZlcnNpb25TdHJpbmcoYS5icm93c2VyKTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgYS5icm93c2VyID0ge307DQogICAgICAgICAgICB9DQogICAgICAgICAgICAvLyBTZXQgT1MNCiAgICAgICAgICAgIGEub3MgPSBmaW5kKHVhLCBvc19wYXJzZXJzKTsNCiAgICAgICAgICAgIGlmIChjaGVjayhhLm9zKSkgew0KICAgICAgICAgICAgICAgIGEub3MubmFtZSA9IHRvU3RyaW5nKGEub3MpOw0KICAgICAgICAgICAgICAgIGEub3MudmVyc2lvbiA9IHRvVmVyc2lvblN0cmluZyhhLm9zKTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgYS5vcyA9IHt9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgLy8gU2V0IERldmljZQ0KICAgICAgICAgICAgYS5kZXZpY2UgPSBmaW5kKHVhLCBkZXZpY2VfcGFyc2Vycyk7DQogICAgICAgICAgICBpZiAoY2hlY2soYS5kZXZpY2UpKSB7DQogICAgICAgICAgICAgICAgYS5kZXZpY2UubmFtZSA9IHRvU3RyaW5nKGEuZGV2aWNlKTsNCiAgICAgICAgICAgICAgICBhLmRldmljZS52ZXJzaW9uID0gdG9WZXJzaW9uU3RyaW5nKGEuZGV2aWNlKTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgYS5kZXZpY2UgPSB7DQogICAgICAgICAgICAgICAgICAgIHRhYmxldDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgIGZhbWlseTogIk90aGVyIg0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgICAgICAvLyBEZXRlcm1pbmUgRGV2aWNlIFR5cGUNCiAgICAgICAgICAgIHZhciBtb2JpbGVfYWdlbnRzID0ge307DQogICAgICAgICAgICB2YXIgbW9iaWxlX2Jyb3dzZXJfZmFtaWxpZXMgPSBfdGhpcy5yZWdleGVzLm1vYmlsZV9icm93c2VyX2ZhbWlsaWVzLm1hcChmdW5jdGlvbihzdHIpIHsNCiAgICAgICAgICAgICAgICBtb2JpbGVfYWdlbnRzW3N0cl0gPSB0cnVlOw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgbW9iaWxlX29zX2ZhbWlsaWVzID0gX3RoaXMucmVnZXhlcy5tb2JpbGVfb3NfZmFtaWxpZXMubWFwKGZ1bmN0aW9uKHN0cikgew0KICAgICAgICAgICAgICAgIG1vYmlsZV9hZ2VudHNbc3RyXSA9IHRydWU7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIC8vIElzIFNwaWRlcg0KICAgICAgICAgICAgaWYgKGEuYnJvd3Nlci5mYW1pbHkgPT09ICJTcGlkZXIiKSB7DQogICAgICAgICAgICAgICAgYS5kZXZpY2UudHlwZSA9ICJTcGlkZXIiOw0KICAgICAgICAgICAgfSBlbHNlIGlmIChhLmJyb3dzZXIudGFibGV0IHx8IGEub3MudGFibGV0IHx8IGEuZGV2aWNlLnRhYmxldCkgew0KICAgICAgICAgICAgICAgIGEuZGV2aWNlLnR5cGUgPSAiVGFibGV0IjsNCiAgICAgICAgICAgIH0gZWxzZSBpZiAobW9iaWxlX2FnZW50cy5oYXNPd25Qcm9wZXJ0eShhLmJyb3dzZXIuZmFtaWx5KSkgew0KICAgICAgICAgICAgICAgIGEuZGV2aWNlLnR5cGUgPSAiTW9iaWxlIjsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgYS5kZXZpY2UudHlwZSA9ICJEZXNrdG9wIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIC8vIERldGVybWluZSBEZXZpY2UgTWFudWZhY3R1cmVyDQogICAgICAgICAgICBhLmRldmljZS5tYW51ZmFjdHVyZXIgPSBhLmJyb3dzZXIubWFuIHx8IGEub3MubWFuIHx8IGEuZGV2aWNlLm1hbiB8fCBudWxsOw0KICAgICAgICAgICAgLy8gQ2xlYW51cCBPYmplY3RzDQogICAgICAgICAgICByZW1vdmUoWyBhLmJyb3dzZXIsIGEub3MsIGEuZGV2aWNlIF0sIFsgInRhYmxldCIsICJtYW4iIF0pOw0KICAgICAgICAgICAgLy8gUmV0dXJuIEFnZW50DQogICAgICAgICAgICByZXR1cm4gYTsNCiAgICAgICAgfTsNCiAgICAgICAgLy8gUmV0dXJuIGNvbnRleHQNCiAgICAgICAgcmV0dXJuIF90aGlzOw0KICAgIH0oKTsNCiAgICAvLyBFeHBvcnQgdGhlIFVuZGVyc2NvcmUgb2JqZWN0IGZvciAqKk5vZGUuanMqKiBhbmQgKioiQ29tbW9uSlMiKiosDQogICAgLy8gYmFja3dhcmRzLWNvbXBhdGliaWxpdHkgZm9yIHRoZSBvbGQgYHJlcXVpcmUoKWAgQVBJLiBJZiB3ZSdyZSBub3QNCiAgICAvLyBDb21tb25KUywgYWRkIGBfYCB0byB0aGUgZ2xvYmFsIG9iamVjdCB2aWEgYSBzdHJpbmcgaWRlbnRpZmllcg0KICAgIC8vIHRoZSBDbG9zdXJlIENvbXBpbGVyICJhZHZhbmNlZCIgbW9kZS4gUmVnaXN0cmF0aW9uIGFzIGFuIEFNRA0KICAgIC8vIHZpYSBkZWZpbmUoKSBoYXBwZW5zIGF0IHRoZSBlbmQgb2YgdGhpcyBmaWxlDQogICAgaWYgKHR5cGVvZiBleHBvcnRzICE9PSAidW5kZWZpbmVkIikgew0KICAgICAgICBpZiAodHlwZW9mIG1vZHVsZSAhPT0gInVuZGVmaW5lZCIgJiYgbW9kdWxlLmV4cG9ydHMpIHsNCiAgICAgICAgICAgIGV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IGRldGVjdDsNCiAgICAgICAgfQ0KICAgICAgICBleHBvcnRzLmRldGVjdCA9IGRldGVjdDsNCiAgICB9IGVsc2Ugew0KICAgICAgICByb290WyJkZXRlY3QiXSA9IGRldGVjdDsNCiAgICB9DQogICAgLy8gQU1EIGRlZmluZSBoYXBwZW5zIGF0IHRoZSBlbmQgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBBTUQNCiAgICAvLyB0aGF0IGRvbid0IGVuZm9yY2UgbmV4dC10dXJuIHNlbWFudGljcyBvbiBtb2R1bGVzDQogICAgaWYgKHR5cGVvZiBkZWZpbmUgPT09ICJmdW5jdGlvbiIgJiYgZGVmaW5lLmFtZCkgew0KICAgICAgICBkZWZpbmUoZnVuY3Rpb24ocmVxdWlyZSkgew0KICAgICAgICAgICAgcmV0dXJuIGRldGVjdDsNCiAgICAgICAgfSk7DQogICAgfQ0KfSkod2luZG93KTsNCg0KJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsgDQoNCiAgICB2YXIgdWEgPSBkZXRlY3QucGFyc2UobmF2aWdhdG9yLnVzZXJBZ2VudCk7DQogICAgJCgiaHRtbCIpLmFkZENsYXNzKHVhLmRldmljZS50eXBlICsgIiAiICsgdWEuZGV2aWNlLmZhbWlseSArICIgIiArIHVhLm9zLmZhbWlseSArICIgIiArIHVhLmJyb3dzZXIuZmFtaWx5KQ0KICAgIC8vICQoImJvZHkiKS5wcmVwZW5kKCI8cD4iK3VhLmRldmljZS50eXBlICsgIiAiICsgdWEuZGV2aWNlLmZhbWlseSArICIgIiArIHVhLm9zLmZhbWlseSArICIgIiArIHVhLmJyb3dzZXIuZmFtaWx5KyI8L3A+IikNCg0KfSk="}},"time_used":28,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":28,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/43325.256fa5a5213b9cb70f5c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.835Z","timestamp":1785120633835,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/43325.256fa5a5213b9cb70f5c.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=0\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 02:50:33 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b74-b07\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:24 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:17:08\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 31a287cd2bf1fa2df0c30c5a510d257d\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2823,"size_decoded":1643,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2823), with no line terminators","md5":"9117f5417af5435afba6f7700053a6fc","sha1":"28521c103a762e72c133892f41ee2fb550e20888","sha256":"e121896dc20723795767320cb9facd147ce5ba20427b67b47b47eb2f85d85b67","sha512":"7e71e1b26466a549b6496d8e84f2581eff4877ff30f1d0deaa365a3c6729bf545e9672f4a4c8417b5dfe1c7d61cfd349b3c6d476823a50b074c4a6423cb09a67","ssdeep":"","tlshash":"275188abfbcb1e2de71bcea1e7a712ff91a405c1be584138e5b3ad71064ca741724184","first_seen":"2026-04-15T09:47:56.523899Z","last_seen":"2026-07-27T05:15:36.958933Z","times_seen":4148,"resource_available":false,"data":"LmxhYmVsLWR6YmQ3bHlWe2JvcmRlci1yYWRpdXM6MTJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6dmFyKC0tY29sb3Itd2hpdGUpO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjRweDttYXgtd2lkdGg6MjhweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowIDZweDtwb3NpdGlvbjphYnNvbHV0ZTt0cmFuc2l0aW9uOm1heC13aWR0aCAuNnMgY3ViaWMtYmV6aWVyKC40LC4wMSwuMjIsMSkgMHMsYmFja2dyb3VuZCAuM3MgY3ViaWMtYmV6aWVyKC40LC4wMSwuMjIsMSkgMHM7ei1pbmRleDozfS5sYWJlbC1kemJkN2x5ViAubG9nb1dyYXAtZHpiZDdseVZ7cGFkZGluZy1pbmxpbmUtZW5kOjVweH0ubGFiZWwtZHpiZDdseVYuZXhwYW5kZWRCeUNsaWNrLWR6YmQ3bHlWLC5sYWJlbC1kemJkN2x5Vi5leHBhbmRlZFdpdGhUcmFuc2l0aW9uLWR6YmQ3bHlWe21heC13aWR0aDoxMDVweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmxhYmVsLWR6YmQ3bHlWOmhvdmVye21heC13aWR0aDoxMDVweH19LmxhYmVsLWR6YmQ3bHlWOm5vdChhKXtjdXJzb3I6ZGVmYXVsdH0ubGFiZWwtZHpiZDdseVY6Zm9jdXN7b3V0bGluZTphdXRvO291dGxpbmUtY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApO291dGxpbmUtb2Zmc2V0Oi0ycHg7b3V0bGluZS13aWR0aDoycHh9LmxhYmVsLWR6YmQ3bHlWLnN0YXJ0LWR6YmQ3bHlWe2luc2V0LWlubGluZS1zdGFydDo4cHh9LmxhYmVsLWR6YmQ3bHlWLmVuZC1kemJkN2x5ViwubGFiZWwtZHpiZDdseVYuc3RhcnQtZHpiZDdseVZ7Ym94LXNoYWRvdzowIDJweCA0cHggMCB2YXIoLS1jb2xvci1vdGhlci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5KX0ubGFiZWwtZHpiZDdseVYuZW5kLWR6YmQ3bHlWe2luc2V0LWlubGluZS1lbmQ6OHB4fS5sYWJlbC1kemJkN2x5Vi5zbmFwLWR6YmQ3bHlWLnN0YXJ0LWR6YmQ3bHlWe2JvcmRlci1yYWRpdXM6MDtib3JkZXItZW5kLWVuZC1yYWRpdXM6MTJweDtib3JkZXItc3RhcnQtZW5kLXJhZGl1czoxMnB4O2luc2V0LWlubGluZS1zdGFydDowfS5sYWJlbC1kemJkN2x5Vi5zbmFwLWR6YmQ3bHlWLmVuZC1kemJkN2x5Vntib3JkZXItcmFkaXVzOjA7Ym9yZGVyLWVuZC1zdGFydC1yYWRpdXM6MTJweDtib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjEycHg7aW5zZXQtaW5saW5lLWVuZDowfS5sYWJlbC1kemJkN2x5Vi50b3AtZHpiZDdseVZ7dG9wOjhweH1AbWVkaWEgKG1heC1oZWlnaHQ6NTBweCl7LmxhYmVsLWR6YmQ3bHlWLnRvcC1kemJkN2x5Vnt0b3A6YXV0bzt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpfX0ubGFiZWwtZHpiZDdseVYuYm90dG9tLWR6YmQ3bHlWe2JvdHRvbTo4cHh9LmxhYmVsLWR6YmQ3bHlWLmxhcmdlLWR6YmQ3bHlWe2JvcmRlcjoxcHggc29saWQgdmFyKC0tY29sb3ItY29sZC1ncmF5LTUwKTtib3JkZXItcmFkaXVzOjE3cHg7aGVpZ2h0OjM0cHg7bWF4LXdpZHRoOjM0cHg7cGFkZGluZzowIDZweH0ubGFiZWwtZHpiZDdseVYubGFyZ2UtZHpiZDdseVYgLmxvZ29XcmFwLWR6YmQ3bHlWe3BhZGRpbmctaW5saW5lLWVuZDo1cHh9LmxhYmVsLWR6YmQ3bHlWLmxhcmdlLWR6YmQ3bHlWLmVuZC1kemJkN2x5ViwubGFiZWwtZHpiZDdseVYubGFyZ2UtZHpiZDdseVYuc3RhcnQtZHpiZDdseVZ7Ym94LXNoYWRvdzpub25lfS5sYWJlbC1kemJkN2x5Vi5sYXJnZS1kemJkN2x5Vi5zbmFwLWR6YmQ3bHlWLnN0YXJ0LWR6YmQ3bHlWe2JvcmRlci1yYWRpdXM6MCAxN3B4IDE3cHggMH0ubGFiZWwtZHpiZDdseVYubGFyZ2UtZHpiZDdseVYuc25hcC1kemJkN2x5Vi5zdGFydC1kemJkN2x5VjpkaXIocnRsKXtib3JkZXItcmFkaXVzOjE3cHggMCAwIDE3cHh9LmxhYmVsLWR6YmQ3bHlWLmxhcmdlLWR6YmQ3bHlWLnNuYXAtZHpiZDdseVYuZW5kLWR6YmQ3bHlWe2JvcmRlci1yYWRpdXM6MTdweCAwIDAgMTdweH0ubGFiZWwtZHpiZDdseVYubGFyZ2UtZHpiZDdseVYuc25hcC1kemJkN2x5Vi5lbmQtZHpiZDdseVY6ZGlyKHJ0bCl7Ym9yZGVyLXJhZGl1czowIDE3cHggMTdweCAwfS5sYWJlbC1kemJkN2x5Vi5sYXJnZS1kemJkN2x5Vi5leHBhbmRlZEJ5Q2xpY2stZHpiZDdseVYsLmxhYmVsLWR6YmQ3bHlWLmxhcmdlLWR6YmQ3bHlWLmV4cGFuZGVkV2l0aFRyYW5zaXRpb24tZHpiZDdseVZ7bWF4LXdpZHRoOjExMXB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsubGFiZWwtZHpiZDdseVYubGFyZ2UtZHpiZDdseVY6aG92ZXJ7bWF4LXdpZHRoOjExMXB4fX0ubGFiZWwtZHpiZDdseVYuZXhwYW5kZWQtZHpiZDdseVZ7bWF4LXdpZHRoOm5vbmU7dHJhbnNpdGlvbjpub25lfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsubGFiZWwtZHpiZDdseVYuZXhwYW5kZWQtZHpiZDdseVY6aG92ZXJ7bWF4LXdpZHRoOm5vbmV9fS5sYWJlbF9fbGluay1kemJkN2x5Vntib3JkZXItcmFkaXVzOmluaGVyaXQ7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfS5sYWJlbC1kemJkN2x5Vi5leHBhbmRlZC1kemJkN2x5ViAubGFiZWxfX2xpbmstZHpiZDdseVYsLmxhYmVsLWR6YmQ3bHlWLmV4cGFuZGVkQnlDbGljay1kemJkN2x5ViAubGFiZWxfX2xpbmstZHpiZDdseVYsLmxhYmVsLWR6YmQ3bHlWLmV4cGFuZGVkV2l0aFRyYW5zaXRpb24tZHpiZDdseVYgLmxhYmVsX19saW5rLWR6YmQ3bHlWe3BvaW50ZXItZXZlbnRzOmF1dG99QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5sYWJlbC1kemJkN2x5Vjpob3ZlciAubGFiZWxfX2xpbmstZHpiZDdseVZ7cG9pbnRlci1ldmVudHM6YXV0b319"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/js/jquery-ui.js","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:32.889Z","timestamp":1785120632889,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /js/jquery-ui.js HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:32 GMT\r\nContent-Type: application/javascript; charset=utf-8\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-76f2c\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":487212,"size_decoded":146241,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (547), with CRLF line terminators","md5":"2f665912e2ef0f984f13ad090ed67f4c","sha1":"a642a7c496158b625cd84a4ae0053ec6e04464c5","sha256":"8f69747cd27bdeadfa1d262558323ccde9ff077a6fd4118911357c68634ec2db","sha512":"9d1d56b2638c0006d861fb910d3f725e7fc18853a861abdc6df6e8c10becdd92b54fcd4fc32cba17ccadca3507b1f0a93144f9fe4a43d788e5127d566e426820","ssdeep":"6144:fnA+sJQfNb8wsucTHh5t5Ql862ErlSrJdYKF28cxwFjn5nn5ZOlhgpRgqu/GdTin:FbpsucTHh5t568Y0rJdYq28c47Ro","tlshash":"e3a4b7d5734f266f89ea3359583a9189ea3dc0b5d202807d789d58dc24a8c1843bbffd","first_seen":"2023-03-07T21:56:53Z","last_seen":"2026-07-27T02:59:54.681155Z","times_seen":5,"resource_available":true,"data":"LyohIGpRdWVyeSBVSSAtIHYxLjExLjQgLSAyMDE1LTA1LTEwDQoqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiogSW5jbHVkZXM6IGNvcmUuanMsIHdpZGdldC5qcywgbW91c2UuanMsIHBvc2l0aW9uLmpzLCBkcmFnZ2FibGUuanMsIGRyb3BwYWJsZS5qcywgcmVzaXphYmxlLmpzLCBzZWxlY3RhYmxlLmpzLCBzb3J0YWJsZS5qcywgYWNjb3JkaW9uLmpzLCBhdXRvY29tcGxldGUuanMsIGJ1dHRvbi5qcywgZGF0ZXBpY2tlci5qcywgZGlhbG9nLmpzLCBtZW51LmpzLCBwcm9ncmVzc2Jhci5qcywgc2VsZWN0bWVudS5qcywgc2xpZGVyLmpzLCBzcGlubmVyLmpzLCB0YWJzLmpzLCB0b29sdGlwLmpzLCBlZmZlY3QuanMsIGVmZmVjdC1ibGluZC5qcywgZWZmZWN0LWJvdW5jZS5qcywgZWZmZWN0LWNsaXAuanMsIGVmZmVjdC1kcm9wLmpzLCBlZmZlY3QtZXhwbG9kZS5qcywgZWZmZWN0LWZhZGUuanMsIGVmZmVjdC1mb2xkLmpzLCBlZmZlY3QtaGlnaGxpZ2h0LmpzLCBlZmZlY3QtcHVmZi5qcywgZWZmZWN0LXB1bHNhdGUuanMsIGVmZmVjdC1zY2FsZS5qcywgZWZmZWN0LXNoYWtlLmpzLCBlZmZlY3Qtc2l6ZS5qcywgZWZmZWN0LXNsaWRlLmpzLCBlZmZlY3QtdHJhbnNmZXIuanMNCiogQ29weXJpZ2h0IDIwMTUgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9yczsgTGljZW5zZWQgTUlUICovDQoNCihmdW5jdGlvbiggZmFjdG9yeSApIHsNCglpZiAoIHR5cGVvZiBkZWZpbmUgPT09ICJmdW5jdGlvbiIgJiYgZGVmaW5lLmFtZCApIHsNCg0KCQkvLyBBTUQuIFJlZ2lzdGVyIGFzIGFuIGFub255bW91cyBtb2R1bGUuDQoJCWRlZmluZShbICJqcXVlcnkiIF0sIGZhY3RvcnkgKTsNCgl9IGVsc2Ugew0KDQoJCS8vIEJyb3dzZXIgZ2xvYmFscw0KCQlmYWN0b3J5KCBqUXVlcnkgKTsNCgl9DQp9KGZ1bmN0aW9uKCAkICkgew0KLyohDQogKiBqUXVlcnkgVUkgQ29yZSAxLjExLjQNCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICoNCiAqIGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL2NhdGVnb3J5L3VpLWNvcmUvDQogKi8NCg0KDQovLyAkLnVpIG1pZ2h0IGV4aXN0IGZyb20gY29tcG9uZW50cyB3aXRoIG5vIGRlcGVuZGVuY2llcywgZS5nLiwgJC51aS5wb3NpdGlvbg0KJC51aSA9ICQudWkgfHwge307DQoNCiQuZXh0ZW5kKCAkLnVpLCB7DQoJdmVyc2lvbjogIjEuMTEuNCIsDQoNCglrZXlDb2RlOiB7DQoJCUJBQ0tTUEFDRTogOCwNCgkJQ09NTUE6IDE4OCwNCgkJREVMRVRFOiA0NiwNCgkJRE9XTjogNDAsDQoJCUVORDogMzUsDQoJCUVOVEVSOiAxMywNCgkJRVNDQVBFOiAyNywNCgkJSE9NRTogMzYsDQoJCUxFRlQ6IDM3LA0KCQlQQUdFX0RPV046IDM0LA0KCQlQQUdFX1VQOiAzMywNCgkJUEVSSU9EOiAxOTAsDQoJCVJJR0hUOiAzOSwNCgkJU1BBQ0U6IDMyLA0KCQlUQUI6IDksDQoJCVVQOiAzOA0KCX0NCn0pOw0KDQovLyBwbHVnaW5zDQokLmZuLmV4dGVuZCh7DQoJc2Nyb2xsUGFyZW50OiBmdW5jdGlvbiggaW5jbHVkZUhpZGRlbiApIHsNCgkJdmFyIHBvc2l0aW9uID0gdGhpcy5jc3MoICJwb3NpdGlvbiIgKSwNCgkJCWV4Y2x1ZGVTdGF0aWNQYXJlbnQgPSBwb3NpdGlvbiA9PT0gImFic29sdXRlIiwNCgkJCW92ZXJmbG93UmVnZXggPSBpbmNsdWRlSGlkZGVuID8gLyhhdXRvfHNjcm9sbHxoaWRkZW4pLyA6IC8oYXV0b3xzY3JvbGwpLywNCgkJCXNjcm9sbFBhcmVudCA9IHRoaXMucGFyZW50cygpLmZpbHRlciggZnVuY3Rpb24oKSB7DQoJCQkJdmFyIHBhcmVudCA9ICQoIHRoaXMgKTsNCgkJCQlpZiAoIGV4Y2x1ZGVTdGF0aWNQYXJlbnQgJiYgcGFyZW50LmNzcyggInBvc2l0aW9uIiApID09PSAic3RhdGljIiApIHsNCgkJCQkJcmV0dXJuIGZhbHNlOw0KCQkJCX0NCgkJCQlyZXR1cm4gb3ZlcmZsb3dSZWdleC50ZXN0KCBwYXJlbnQuY3NzKCAib3ZlcmZsb3ciICkgKyBwYXJlbnQuY3NzKCAib3ZlcmZsb3cteSIgKSArIHBhcmVudC5jc3MoICJvdmVyZmxvdy14IiApICk7DQoJCQl9KS5lcSggMCApOw0KDQoJCXJldHVybiBwb3NpdGlvbiA9PT0gImZpeGVkIiB8fCAhc2Nyb2xsUGFyZW50Lmxlbmd0aCA/ICQoIHRoaXNbIDAgXS5vd25lckRvY3VtZW50IHx8IGRvY3VtZW50ICkgOiBzY3JvbGxQYXJlbnQ7DQoJfSwNCg0KCXVuaXF1ZUlkOiAoZnVuY3Rpb24oKSB7DQoJCXZhciB1dWlkID0gMDsNCg0KCQlyZXR1cm4gZnVuY3Rpb24oKSB7DQoJCQlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgew0KCQkJCWlmICggIXRoaXMuaWQgKSB7DQoJCQkJCXRoaXMuaWQgPSAidWktaWQtIiArICggKyt1dWlkICk7DQoJCQkJfQ0KCQkJfSk7DQoJCX07DQoJfSkoKSwNCg0KCXJlbW92ZVVuaXF1ZUlkOiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpIHsNCgkJCWlmICggL151aS1pZC1cZCskLy50ZXN0KCB0aGlzLmlkICkgKSB7DQoJCQkJJCggdGhpcyApLnJlbW92ZUF0dHIoICJpZCIgKTsNCgkJCX0NCgkJfSk7DQoJfQ0KfSk7DQoNCi8vIHNlbGVjdG9ycw0KZnVuY3Rpb24gZm9jdXNhYmxlKCBlbGVtZW50LCBpc1RhYkluZGV4Tm90TmFOICkgew0KCXZhciBtYXAsIG1hcE5hbWUsIGltZywNCgkJbm9kZU5hbWUgPSBlbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7DQoJaWYgKCAiYXJlYSIgPT09IG5vZGVOYW1lICkgew0KCQltYXAgPSBlbGVtZW50LnBhcmVudE5vZGU7DQoJCW1hcE5hbWUgPSBtYXAubmFtZTsNCgkJaWYgKCAhZWxlbWVudC5ocmVmIHx8ICFtYXBOYW1lIHx8IG1hcC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpICE9PSAibWFwIiApIHsNCgkJCXJldHVybiBmYWxzZTsNCgkJfQ0KCQlpbWcgPSAkKCAiaW1nW3VzZW1hcD0nIyIgKyBtYXBOYW1lICsgIiddIiApWyAwIF07DQoJCXJldHVybiAhIWltZyAmJiB2aXNpYmxlKCBpbWcgKTsNCgl9DQoJcmV0dXJuICggL14oaW5wdXR8c2VsZWN0fHRleHRhcmVhfGJ1dHRvbnxvYmplY3QpJC8udGVzdCggbm9kZU5hbWUgKSA/DQoJCSFlbGVtZW50LmRpc2FibGVkIDoNCgkJImEiID09PSBub2RlTmFtZSA/DQoJCQllbGVtZW50LmhyZWYgfHwgaXNUYWJJbmRleE5vdE5hTiA6DQoJCQlpc1RhYkluZGV4Tm90TmFOKSAmJg0KCQkvLyB0aGUgZWxlbWVudCBhbmQgYWxsIG9mIGl0cyBhbmNlc3RvcnMgbXVzdCBiZSB2aXNpYmxlDQoJCXZpc2libGUoIGVsZW1lbnQgKTsNCn0NCg0KZnVuY3Rpb24gdmlzaWJsZSggZWxlbWVudCApIHsNCglyZXR1cm4gJC5leHByLmZpbHRlcnMudmlzaWJsZSggZWxlbWVudCApICYmDQoJCSEkKCBlbGVtZW50ICkucGFyZW50cygpLmFkZEJhY2soKS5maWx0ZXIoZnVuY3Rpb24oKSB7DQoJCQlyZXR1cm4gJC5jc3MoIHRoaXMsICJ2aXNpYmlsaXR5IiApID09PSAiaGlkZGVuIjsNCgkJfSkubGVuZ3RoOw0KfQ0KDQokLmV4dGVuZCggJC5leHByWyAiOiIgXSwgew0KCWRhdGE6ICQuZXhwci5jcmVhdGVQc2V1ZG8gPw0KCQkkLmV4cHIuY3JlYXRlUHNldWRvKGZ1bmN0aW9uKCBkYXRhTmFtZSApIHsNCgkJCXJldHVybiBmdW5jdGlvbiggZWxlbSApIHsNCgkJCQlyZXR1cm4gISEkLmRhdGEoIGVsZW0sIGRhdGFOYW1lICk7DQoJCQl9Ow0KCQl9KSA6DQoJCS8vIHN1cHBvcnQ6IGpRdWVyeSA8MS44DQoJCWZ1bmN0aW9uKCBlbGVtLCBpLCBtYXRjaCApIHsNCgkJCXJldHVybiAhISQuZGF0YSggZWxlbSwgbWF0Y2hbIDMgXSApOw0KCQl9LA0KDQoJZm9jdXNhYmxlOiBmdW5jdGlvbiggZWxlbWVudCApIHsNCgkJcmV0dXJuIGZvY3VzYWJsZSggZWxlbWVudCwgIWlzTmFOKCAkLmF0dHIoIGVsZW1lbnQsICJ0YWJpbmRleCIgKSApICk7DQoJfSwNCg0KCXRhYmJhYmxlOiBmdW5jdGlvbiggZWxlbWVudCApIHsNCgkJdmFyIHRhYkluZGV4ID0gJC5hdHRyKCBlbGVtZW50LCAidGFiaW5kZXgiICksDQoJCQlpc1RhYkluZGV4TmFOID0gaXNOYU4oIHRhYkluZGV4ICk7DQoJCXJldHVybiAoIGlzVGFiSW5kZXhOYU4gfHwgdGFiSW5kZXggPj0gMCApICYmIGZvY3VzYWJsZSggZWxlbWVudCwgIWlzVGFiSW5kZXhOYU4gKTsNCgl9DQp9KTsNCg0KLy8gc3VwcG9ydDogalF1ZXJ5IDwxLjgNCmlmICggISQoICI8YT4iICkub3V0ZXJXaWR0aCggMSApLmpxdWVyeSApIHsNCgkkLmVhY2goIFsgIldpZHRoIiwgIkhlaWdodCIgXSwgZnVuY3Rpb24oIGksIG5hbWUgKSB7DQoJCXZhciBzaWRlID0gbmFtZSA9PT0gIldpZHRoIiA/IFsgIkxlZnQiLCAiUmlnaHQiIF0gOiBbICJUb3AiLCAiQm90dG9tIiBdLA0KCQkJdHlwZSA9IG5hbWUudG9Mb3dlckNhc2UoKSwNCgkJCW9yaWcgPSB7DQoJCQkJaW5uZXJXaWR0aDogJC5mbi5pbm5lcldpZHRoLA0KCQkJCWlubmVySGVpZ2h0OiAkLmZuLmlubmVySGVpZ2h0LA0KCQkJCW91dGVyV2lkdGg6ICQuZm4ub3V0ZXJXaWR0aCwNCgkJCQlvdXRlckhlaWdodDogJC5mbi5vdXRlckhlaWdodA0KCQkJfTsNCg0KCQlmdW5jdGlvbiByZWR1Y2UoIGVsZW0sIHNpemUsIGJvcmRlciwgbWFyZ2luICkgew0KCQkJJC5lYWNoKCBzaWRlLCBmdW5jdGlvbigpIHsNCgkJCQlzaXplIC09IHBhcnNlRmxvYXQoICQuY3NzKCBlbGVtLCAicGFkZGluZyIgKyB0aGlzICkgKSB8fCAwOw0KCQkJCWlmICggYm9yZGVyICkgew0KCQkJCQlzaXplIC09IHBhcnNlRmxvYXQoICQuY3NzKCBlbGVtLCAiYm9yZGVyIiArIHRoaXMgKyAiV2lkdGgiICkgKSB8fCAwOw0KCQkJCX0NCgkJCQlpZiAoIG1hcmdpbiApIHsNCgkJCQkJc2l6ZSAtPSBwYXJzZUZsb2F0KCAkLmNzcyggZWxlbSwgIm1hcmdpbiIgKyB0aGlzICkgKSB8fCAwOw0KCQkJCX0NCgkJCX0pOw0KCQkJcmV0dXJuIHNpemU7DQoJCX0NCg0KCQkkLmZuWyAiaW5uZXIiICsgbmFtZSBdID0gZnVuY3Rpb24oIHNpemUgKSB7DQoJCQlpZiAoIHNpemUgPT09IHVuZGVmaW5lZCApIHsNCgkJCQlyZXR1cm4gb3JpZ1sgImlubmVyIiArIG5hbWUgXS5jYWxsKCB0aGlzICk7DQoJCQl9DQoNCgkJCXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7DQoJCQkJJCggdGhpcyApLmNzcyggdHlwZSwgcmVkdWNlKCB0aGlzLCBzaXplICkgKyAicHgiICk7DQoJCQl9KTsNCgkJfTsNCg0KCQkkLmZuWyAib3V0ZXIiICsgbmFtZV0gPSBmdW5jdGlvbiggc2l6ZSwgbWFyZ2luICkgew0KCQkJaWYgKCB0eXBlb2Ygc2l6ZSAhPT0gIm51bWJlciIgKSB7DQoJCQkJcmV0dXJuIG9yaWdbICJvdXRlciIgKyBuYW1lIF0uY2FsbCggdGhpcywgc2l6ZSApOw0KCQkJfQ0KDQoJCQlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgew0KCQkJCSQoIHRoaXMpLmNzcyggdHlwZSwgcmVkdWNlKCB0aGlzLCBzaXplLCB0cnVlLCBtYXJnaW4gKSArICJweCIgKTsNCgkJCX0pOw0KCQl9Ow0KCX0pOw0KfQ0KDQovLyBzdXBwb3J0OiBqUXVlcnkgPDEuOA0KaWYgKCAhJC5mbi5hZGRCYWNrICkgew0KCSQuZm4uYWRkQmFjayA9IGZ1bmN0aW9uKCBzZWxlY3RvciApIHsNCgkJcmV0dXJuIHRoaXMuYWRkKCBzZWxlY3RvciA9PSBudWxsID8NCgkJCXRoaXMucHJldk9iamVjdCA6IHRoaXMucHJldk9iamVjdC5maWx0ZXIoIHNlbGVjdG9yICkNCgkJKTsNCgl9Ow0KfQ0KDQovLyBzdXBwb3J0OiBqUXVlcnkgMS42LjEsIDEuNi4yIChodHRwOi8vYnVncy5qcXVlcnkuY29tL3RpY2tldC85NDEzKQ0KaWYgKCAkKCAiPGE+IiApLmRhdGEoICJhLWIiLCAiYSIgKS5yZW1vdmVEYXRhKCAiYS1iIiApLmRhdGEoICJhLWIiICkgKSB7DQoJJC5mbi5yZW1vdmVEYXRhID0gKGZ1bmN0aW9uKCByZW1vdmVEYXRhICkgew0KCQlyZXR1cm4gZnVuY3Rpb24oIGtleSApIHsNCgkJCWlmICggYXJndW1lbnRzLmxlbmd0aCApIHsNCgkJCQlyZXR1cm4gcmVtb3ZlRGF0YS5jYWxsKCB0aGlzLCAkLmNhbWVsQ2FzZSgga2V5ICkgKTsNCgkJCX0gZWxzZSB7DQoJCQkJcmV0dXJuIHJlbW92ZURhdGEuY2FsbCggdGhpcyApOw0KCQkJfQ0KCQl9Ow0KCX0pKCAkLmZuLnJlbW92ZURhdGEgKTsNCn0NCg0KLy8gZGVwcmVjYXRlZA0KJC51aS5pZSA9ICEhL21zaWUgW1x3Ll0rLy5leGVjKCBuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkgKTsNCg0KJC5mbi5leHRlbmQoew0KCWZvY3VzOiAoZnVuY3Rpb24oIG9yaWcgKSB7DQoJCXJldHVybiBmdW5jdGlvbiggZGVsYXksIGZuICkgew0KCQkJcmV0dXJuIHR5cGVvZiBkZWxheSA9PT0gIm51bWJlciIgPw0KCQkJCXRoaXMuZWFjaChmdW5jdGlvbigpIHsNCgkJCQkJdmFyIGVsZW0gPSB0aGlzOw0KCQkJCQlzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgew0KCQkJCQkJJCggZWxlbSApLmZvY3VzKCk7DQoJCQkJCQlpZiAoIGZuICkgew0KCQkJCQkJCWZuLmNhbGwoIGVsZW0gKTsNCgkJCQkJCX0NCgkJCQkJfSwgZGVsYXkgKTsNCgkJCQl9KSA6DQoJCQkJb3JpZy5hcHBseSggdGhpcywgYXJndW1lbnRzICk7DQoJCX07DQoJfSkoICQuZm4uZm9jdXMgKSwNCg0KCWRpc2FibGVTZWxlY3Rpb246IChmdW5jdGlvbigpIHsNCgkJdmFyIGV2ZW50VHlwZSA9ICJvbnNlbGVjdHN0YXJ0IiBpbiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCAiZGl2IiApID8NCgkJCSJzZWxlY3RzdGFydCIgOg0KCQkJIm1vdXNlZG93biI7DQoNCgkJcmV0dXJuIGZ1bmN0aW9uKCkgew0KCQkJcmV0dXJuIHRoaXMuYmluZCggZXZlbnRUeXBlICsgIi51aS1kaXNhYmxlU2VsZWN0aW9uIiwgZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJCQl9KTsNCgkJfTsNCgl9KSgpLA0KDQoJZW5hYmxlU2VsZWN0aW9uOiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHRoaXMudW5iaW5kKCAiLnVpLWRpc2FibGVTZWxlY3Rpb24iICk7DQoJfSwNCg0KCXpJbmRleDogZnVuY3Rpb24oIHpJbmRleCApIHsNCgkJaWYgKCB6SW5kZXggIT09IHVuZGVmaW5lZCApIHsNCgkJCXJldHVybiB0aGlzLmNzcyggInpJbmRleCIsIHpJbmRleCApOw0KCQl9DQoNCgkJaWYgKCB0aGlzLmxlbmd0aCApIHsNCgkJCXZhciBlbGVtID0gJCggdGhpc1sgMCBdICksIHBvc2l0aW9uLCB2YWx1ZTsNCgkJCXdoaWxlICggZWxlbS5sZW5ndGggJiYgZWxlbVsgMCBdICE9PSBkb2N1bWVudCApIHsNCgkJCQkvLyBJZ25vcmUgei1pbmRleCBpZiBwb3NpdGlvbiBpcyBzZXQgdG8gYSB2YWx1ZSB3aGVyZSB6LWluZGV4IGlzIGlnbm9yZWQgYnkgdGhlIGJyb3dzZXINCgkJCQkvLyBUaGlzIG1ha2VzIGJlaGF2aW9yIG9mIHRoaXMgZnVuY3Rpb24gY29uc2lzdGVudCBhY3Jvc3MgYnJvd3NlcnMNCgkJCQkvLyBXZWJLaXQgYWx3YXlzIHJldHVybnMgYXV0byBpZiB0aGUgZWxlbWVudCBpcyBwb3NpdGlvbmVkDQoJCQkJcG9zaXRpb24gPSBlbGVtLmNzcyggInBvc2l0aW9uIiApOw0KCQkJCWlmICggcG9zaXRpb24gPT09ICJhYnNvbHV0ZSIgfHwgcG9zaXRpb24gPT09ICJyZWxhdGl2ZSIgfHwgcG9zaXRpb24gPT09ICJmaXhlZCIgKSB7DQoJCQkJCS8vIElFIHJldHVybnMgMCB3aGVuIHpJbmRleCBpcyBub3Qgc3BlY2lmaWVkDQoJCQkJCS8vIG90aGVyIGJyb3dzZXJzIHJldHVybiBhIHN0cmluZw0KCQkJCQkvLyB3ZSBpZ25vcmUgdGhlIGNhc2Ugb2YgbmVzdGVkIGVsZW1lbnRzIHdpdGggYW4gZXhwbGljaXQgdmFsdWUgb2YgMA0KCQkJCQkvLyA8ZGl2IHN0eWxlPSJ6LWluZGV4OiAtMTA7Ij48ZGl2IHN0eWxlPSJ6LWluZGV4OiAwOyI+PC9kaXY+PC9kaXY+DQoJCQkJCXZhbHVlID0gcGFyc2VJbnQoIGVsZW0uY3NzKCAiekluZGV4IiApLCAxMCApOw0KCQkJCQlpZiAoICFpc05hTiggdmFsdWUgKSAmJiB2YWx1ZSAhPT0gMCApIHsNCgkJCQkJCXJldHVybiB2YWx1ZTsNCgkJCQkJfQ0KCQkJCX0NCgkJCQllbGVtID0gZWxlbS5wYXJlbnQoKTsNCgkJCX0NCgkJfQ0KDQoJCXJldHVybiAwOw0KCX0NCn0pOw0KDQovLyAkLnVpLnBsdWdpbiBpcyBkZXByZWNhdGVkLiBVc2UgJC53aWRnZXQoKSBleHRlbnNpb25zIGluc3RlYWQuDQokLnVpLnBsdWdpbiA9IHsNCglhZGQ6IGZ1bmN0aW9uKCBtb2R1bGUsIG9wdGlvbiwgc2V0ICkgew0KCQl2YXIgaSwNCgkJCXByb3RvID0gJC51aVsgbW9kdWxlIF0ucHJvdG90eXBlOw0KCQlmb3IgKCBpIGluIHNldCApIHsNCgkJCXByb3RvLnBsdWdpbnNbIGkgXSA9IHByb3RvLnBsdWdpbnNbIGkgXSB8fCBbXTsNCgkJCXByb3RvLnBsdWdpbnNbIGkgXS5wdXNoKCBbIG9wdGlvbiwgc2V0WyBpIF0gXSApOw0KCQl9DQoJfSwNCgljYWxsOiBmdW5jdGlvbiggaW5zdGFuY2UsIG5hbWUsIGFyZ3MsIGFsbG93RGlzY29ubmVjdGVkICkgew0KCQl2YXIgaSwNCgkJCXNldCA9IGluc3RhbmNlLnBsdWdpbnNbIG5hbWUgXTsNCg0KCQlpZiAoICFzZXQgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQlpZiAoICFhbGxvd0Rpc2Nvbm5lY3RlZCAmJiAoICFpbnN0YW5jZS5lbGVtZW50WyAwIF0ucGFyZW50Tm9kZSB8fCBpbnN0YW5jZS5lbGVtZW50WyAwIF0ucGFyZW50Tm9kZS5ub2RlVHlwZSA9PT0gMTEgKSApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCWZvciAoIGkgPSAwOyBpIDwgc2V0Lmxlbmd0aDsgaSsrICkgew0KCQkJaWYgKCBpbnN0YW5jZS5vcHRpb25zWyBzZXRbIGkgXVsgMCBdIF0gKSB7DQoJCQkJc2V0WyBpIF1bIDEgXS5hcHBseSggaW5zdGFuY2UuZWxlbWVudCwgYXJncyApOw0KCQkJfQ0KCQl9DQoJfQ0KfTsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBXaWRnZXQgMS4xMS40DQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqDQogKiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9qUXVlcnkud2lkZ2V0Lw0KICovDQoNCg0KdmFyIHdpZGdldF91dWlkID0gMCwNCgl3aWRnZXRfc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7DQoNCiQuY2xlYW5EYXRhID0gKGZ1bmN0aW9uKCBvcmlnICkgew0KCXJldHVybiBmdW5jdGlvbiggZWxlbXMgKSB7DQoJCXZhciBldmVudHMsIGVsZW0sIGk7DQoJCWZvciAoIGkgPSAwOyAoZWxlbSA9IGVsZW1zW2ldKSAhPSBudWxsOyBpKysgKSB7DQoJCQl0cnkgew0KDQoJCQkJLy8gT25seSB0cmlnZ2VyIHJlbW92ZSB3aGVuIG5lY2Vzc2FyeSB0byBzYXZlIHRpbWUNCgkJCQlldmVudHMgPSAkLl9kYXRhKCBlbGVtLCAiZXZlbnRzIiApOw0KCQkJCWlmICggZXZlbnRzICYmIGV2ZW50cy5yZW1vdmUgKSB7DQoJCQkJCSQoIGVsZW0gKS50cmlnZ2VySGFuZGxlciggInJlbW92ZSIgKTsNCgkJCQl9DQoNCgkJCS8vIGh0dHA6Ly9idWdzLmpxdWVyeS5jb20vdGlja2V0LzgyMzUNCgkJCX0gY2F0Y2ggKCBlICkge30NCgkJfQ0KCQlvcmlnKCBlbGVtcyApOw0KCX07DQp9KSggJC5jbGVhbkRhdGEgKTsNCg0KJC53aWRnZXQgPSBmdW5jdGlvbiggbmFtZSwgYmFzZSwgcHJvdG90eXBlICkgew0KCXZhciBmdWxsTmFtZSwgZXhpc3RpbmdDb25zdHJ1Y3RvciwgY29uc3RydWN0b3IsIGJhc2VQcm90b3R5cGUsDQoJCS8vIHByb3hpZWRQcm90b3R5cGUgYWxsb3dzIHRoZSBwcm92aWRlZCBwcm90b3R5cGUgdG8gcmVtYWluIHVubW9kaWZpZWQNCgkJLy8gc28gdGhhdCBpdCBjYW4gYmUgdXNlZCBhcyBhIG1peGluIGZvciBtdWx0aXBsZSB3aWRnZXRzICgjODg3NikNCgkJcHJveGllZFByb3RvdHlwZSA9IHt9LA0KCQluYW1lc3BhY2UgPSBuYW1lLnNwbGl0KCAiLiIgKVsgMCBdOw0KDQoJbmFtZSA9IG5hbWUuc3BsaXQoICIuIiApWyAxIF07DQoJZnVsbE5hbWUgPSBuYW1lc3BhY2UgKyAiLSIgKyBuYW1lOw0KDQoJaWYgKCAhcHJvdG90eXBlICkgew0KCQlwcm90b3R5cGUgPSBiYXNlOw0KCQliYXNlID0gJC5XaWRnZXQ7DQoJfQ0KDQoJLy8gY3JlYXRlIHNlbGVjdG9yIGZvciBwbHVnaW4NCgkkLmV4cHJbICI6IiBdWyBmdWxsTmFtZS50b0xvd2VyQ2FzZSgpIF0gPSBmdW5jdGlvbiggZWxlbSApIHsNCgkJcmV0dXJuICEhJC5kYXRhKCBlbGVtLCBmdWxsTmFtZSApOw0KCX07DQoNCgkkWyBuYW1lc3BhY2UgXSA9ICRbIG5hbWVzcGFjZSBdIHx8IHt9Ow0KCWV4aXN0aW5nQ29uc3RydWN0b3IgPSAkWyBuYW1lc3BhY2UgXVsgbmFtZSBdOw0KCWNvbnN0cnVjdG9yID0gJFsgbmFtZXNwYWNlIF1bIG5hbWUgXSA9IGZ1bmN0aW9uKCBvcHRpb25zLCBlbGVtZW50ICkgew0KCQkvLyBhbGxvdyBpbnN0YW50aWF0aW9uIHdpdGhvdXQgIm5ldyIga2V5d29yZA0KCQlpZiAoICF0aGlzLl9jcmVhdGVXaWRnZXQgKSB7DQoJCQlyZXR1cm4gbmV3IGNvbnN0cnVjdG9yKCBvcHRpb25zLCBlbGVtZW50ICk7DQoJCX0NCg0KCQkvLyBhbGxvdyBpbnN0YW50aWF0aW9uIHdpdGhvdXQgaW5pdGlhbGl6aW5nIGZvciBzaW1wbGUgaW5oZXJpdGFuY2UNCgkJLy8gbXVzdCB1c2UgIm5ldyIga2V5d29yZCAodGhlIGNvZGUgYWJvdmUgYWx3YXlzIHBhc3NlcyBhcmdzKQ0KCQlpZiAoIGFyZ3VtZW50cy5sZW5ndGggKSB7DQoJCQl0aGlzLl9jcmVhdGVXaWRnZXQoIG9wdGlvbnMsIGVsZW1lbnQgKTsNCgkJfQ0KCX07DQoJLy8gZXh0ZW5kIHdpdGggdGhlIGV4aXN0aW5nIGNvbnN0cnVjdG9yIHRvIGNhcnJ5IG92ZXIgYW55IHN0YXRpYyBwcm9wZXJ0aWVzDQoJJC5leHRlbmQoIGNvbnN0cnVjdG9yLCBleGlzdGluZ0NvbnN0cnVjdG9yLCB7DQoJCXZlcnNpb246IHByb3RvdHlwZS52ZXJzaW9uLA0KCQkvLyBjb3B5IHRoZSBvYmplY3QgdXNlZCB0byBjcmVhdGUgdGhlIHByb3RvdHlwZSBpbiBjYXNlIHdlIG5lZWQgdG8NCgkJLy8gcmVkZWZpbmUgdGhlIHdpZGdldCBsYXRlcg0KCQlfcHJvdG86ICQuZXh0ZW5kKCB7fSwgcHJvdG90eXBlICksDQoJCS8vIHRyYWNrIHdpZGdldHMgdGhhdCBpbmhlcml0IGZyb20gdGhpcyB3aWRnZXQgaW4gY2FzZSB0aGlzIHdpZGdldCBpcw0KCQkvLyByZWRlZmluZWQgYWZ0ZXIgYSB3aWRnZXQgaW5oZXJpdHMgZnJvbSBpdA0KCQlfY2hpbGRDb25zdHJ1Y3RvcnM6IFtdDQoJfSk7DQoNCgliYXNlUHJvdG90eXBlID0gbmV3IGJhc2UoKTsNCgkvLyB3ZSBuZWVkIHRvIG1ha2UgdGhlIG9wdGlvbnMgaGFzaCBhIHByb3BlcnR5IGRpcmVjdGx5IG9uIHRoZSBuZXcgaW5zdGFuY2UNCgkvLyBvdGhlcndpc2Ugd2UnbGwgbW9kaWZ5IHRoZSBvcHRpb25zIGhhc2ggb24gdGhlIHByb3RvdHlwZSB0aGF0IHdlJ3JlDQoJLy8gaW5oZXJpdGluZyBmcm9tDQoJYmFzZVByb3RvdHlwZS5vcHRpb25zID0gJC53aWRnZXQuZXh0ZW5kKCB7fSwgYmFzZVByb3RvdHlwZS5vcHRpb25zICk7DQoJJC5lYWNoKCBwcm90b3R5cGUsIGZ1bmN0aW9uKCBwcm9wLCB2YWx1ZSApIHsNCgkJaWYgKCAhJC5pc0Z1bmN0aW9uKCB2YWx1ZSApICkgew0KCQkJcHJveGllZFByb3RvdHlwZVsgcHJvcCBdID0gdmFsdWU7DQoJCQlyZXR1cm47DQoJCX0NCgkJcHJveGllZFByb3RvdHlwZVsgcHJvcCBdID0gKGZ1bmN0aW9uKCkgew0KCQkJdmFyIF9zdXBlciA9IGZ1bmN0aW9uKCkgew0KCQkJCQlyZXR1cm4gYmFzZS5wcm90b3R5cGVbIHByb3AgXS5hcHBseSggdGhpcywgYXJndW1lbnRzICk7DQoJCQkJfSwNCgkJCQlfc3VwZXJBcHBseSA9IGZ1bmN0aW9uKCBhcmdzICkgew0KCQkJCQlyZXR1cm4gYmFzZS5wcm90b3R5cGVbIHByb3AgXS5hcHBseSggdGhpcywgYXJncyApOw0KCQkJCX07DQoJCQlyZXR1cm4gZnVuY3Rpb24oKSB7DQoJCQkJdmFyIF9fc3VwZXIgPSB0aGlzLl9zdXBlciwNCgkJCQkJX19zdXBlckFwcGx5ID0gdGhpcy5fc3VwZXJBcHBseSwNCgkJCQkJcmV0dXJuVmFsdWU7DQoNCgkJCQl0aGlzLl9zdXBlciA9IF9zdXBlcjsNCgkJCQl0aGlzLl9zdXBlckFwcGx5ID0gX3N1cGVyQXBwbHk7DQoNCgkJCQlyZXR1cm5WYWx1ZSA9IHZhbHVlLmFwcGx5KCB0aGlzLCBhcmd1bWVudHMgKTsNCg0KCQkJCXRoaXMuX3N1cGVyID0gX19zdXBlcjsNCgkJCQl0aGlzLl9zdXBlckFwcGx5ID0gX19zdXBlckFwcGx5Ow0KDQoJCQkJcmV0dXJuIHJldHVyblZhbHVlOw0KCQkJfTsNCgkJfSkoKTsNCgl9KTsNCgljb25zdHJ1Y3Rvci5wcm90b3R5cGUgPSAkLndpZGdldC5leHRlbmQoIGJhc2VQcm90b3R5cGUsIHsNCgkJLy8gVE9ETzogcmVtb3ZlIHN1cHBvcnQgZm9yIHdpZGdldEV2ZW50UHJlZml4DQoJCS8vIGFsd2F5cyB1c2UgdGhlIG5hbWUgKyBhIGNvbG9uIGFzIHRoZSBwcmVmaXgsIGUuZy4sIGRyYWdnYWJsZTpzdGFydA0KCQkvLyBkb24ndCBwcmVmaXggZm9yIHdpZGdldHMgdGhhdCBhcmVuJ3QgRE9NLWJhc2VkDQoJCXdpZGdldEV2ZW50UHJlZml4OiBleGlzdGluZ0NvbnN0cnVjdG9yID8gKGJhc2VQcm90b3R5cGUud2lkZ2V0RXZlbnRQcmVmaXggfHwgbmFtZSkgOiBuYW1lDQoJfSwgcHJveGllZFByb3RvdHlwZSwgew0KCQljb25zdHJ1Y3RvcjogY29uc3RydWN0b3IsDQoJCW5hbWVzcGFjZTogbmFtZXNwYWNlLA0KCQl3aWRnZXROYW1lOiBuYW1lLA0KCQl3aWRnZXRGdWxsTmFtZTogZnVsbE5hbWUNCgl9KTsNCg0KCS8vIElmIHRoaXMgd2lkZ2V0IGlzIGJlaW5nIHJlZGVmaW5lZCB0aGVuIHdlIG5lZWQgdG8gZmluZCBhbGwgd2lkZ2V0cyB0aGF0DQoJLy8gYXJlIGluaGVyaXRpbmcgZnJvbSBpdCBhbmQgcmVkZWZpbmUgYWxsIG9mIHRoZW0gc28gdGhhdCB0aGV5IGluaGVyaXQgZnJvbQ0KCS8vIHRoZSBuZXcgdmVyc2lvbiBvZiB0aGlzIHdpZGdldC4gV2UncmUgZXNzZW50aWFsbHkgdHJ5aW5nIHRvIHJlcGxhY2Ugb25lDQoJLy8gbGV2ZWwgaW4gdGhlIHByb3RvdHlwZSBjaGFpbi4NCglpZiAoIGV4aXN0aW5nQ29uc3RydWN0b3IgKSB7DQoJCSQuZWFjaCggZXhpc3RpbmdDb25zdHJ1Y3Rvci5fY2hpbGRDb25zdHJ1Y3RvcnMsIGZ1bmN0aW9uKCBpLCBjaGlsZCApIHsNCgkJCXZhciBjaGlsZFByb3RvdHlwZSA9IGNoaWxkLnByb3RvdHlwZTsNCg0KCQkJLy8gcmVkZWZpbmUgdGhlIGNoaWxkIHdpZGdldCB1c2luZyB0aGUgc2FtZSBwcm90b3R5cGUgdGhhdCB3YXMNCgkJCS8vIG9yaWdpbmFsbHkgdXNlZCwgYnV0IGluaGVyaXQgZnJvbSB0aGUgbmV3IHZlcnNpb24gb2YgdGhlIGJhc2UNCgkJCSQud2lkZ2V0KCBjaGlsZFByb3RvdHlwZS5uYW1lc3BhY2UgKyAiLiIgKyBjaGlsZFByb3RvdHlwZS53aWRnZXROYW1lLCBjb25zdHJ1Y3RvciwgY2hpbGQuX3Byb3RvICk7DQoJCX0pOw0KCQkvLyByZW1vdmUgdGhlIGxpc3Qgb2YgZXhpc3RpbmcgY2hpbGQgY29uc3RydWN0b3JzIGZyb20gdGhlIG9sZCBjb25zdHJ1Y3Rvcg0KCQkvLyBzbyB0aGUgb2xkIGNoaWxkIGNvbnN0cnVjdG9ycyBjYW4gYmUgZ2FyYmFnZSBjb2xsZWN0ZWQNCgkJZGVsZXRlIGV4aXN0aW5nQ29uc3RydWN0b3IuX2NoaWxkQ29uc3RydWN0b3JzOw0KCX0gZWxzZSB7DQoJCWJhc2UuX2NoaWxkQ29uc3RydWN0b3JzLnB1c2goIGNvbnN0cnVjdG9yICk7DQoJfQ0KDQoJJC53aWRnZXQuYnJpZGdlKCBuYW1lLCBjb25zdHJ1Y3RvciApOw0KDQoJcmV0dXJuIGNvbnN0cnVjdG9yOw0KfTsNCg0KJC53aWRnZXQuZXh0ZW5kID0gZnVuY3Rpb24oIHRhcmdldCApIHsNCgl2YXIgaW5wdXQgPSB3aWRnZXRfc2xpY2UuY2FsbCggYXJndW1lbnRzLCAxICksDQoJCWlucHV0SW5kZXggPSAwLA0KCQlpbnB1dExlbmd0aCA9IGlucHV0Lmxlbmd0aCwNCgkJa2V5LA0KCQl2YWx1ZTsNCglmb3IgKCA7IGlucHV0SW5kZXggPCBpbnB1dExlbmd0aDsgaW5wdXRJbmRleCsrICkgew0KCQlmb3IgKCBrZXkgaW4gaW5wdXRbIGlucHV0SW5kZXggXSApIHsNCgkJCXZhbHVlID0gaW5wdXRbIGlucHV0SW5kZXggXVsga2V5IF07DQoJCQlpZiAoIGlucHV0WyBpbnB1dEluZGV4IF0uaGFzT3duUHJvcGVydHkoIGtleSApICYmIHZhbHVlICE9PSB1bmRlZmluZWQgKSB7DQoJCQkJLy8gQ2xvbmUgb2JqZWN0cw0KCQkJCWlmICggJC5pc1BsYWluT2JqZWN0KCB2YWx1ZSApICkgew0KCQkJCQl0YXJnZXRbIGtleSBdID0gJC5pc1BsYWluT2JqZWN0KCB0YXJnZXRbIGtleSBdICkgPw0KCQkJCQkJJC53aWRnZXQuZXh0ZW5kKCB7fSwgdGFyZ2V0WyBrZXkgXSwgdmFsdWUgKSA6DQoJCQkJCQkvLyBEb24ndCBleHRlbmQgc3RyaW5ncywgYXJyYXlzLCBldGMuIHdpdGggb2JqZWN0cw0KCQkJCQkJJC53aWRnZXQuZXh0ZW5kKCB7fSwgdmFsdWUgKTsNCgkJCQkvLyBDb3B5IGV2ZXJ5dGhpbmcgZWxzZSBieSByZWZlcmVuY2UNCgkJCQl9IGVsc2Ugew0KCQkJCQl0YXJnZXRbIGtleSBdID0gdmFsdWU7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJfQ0KCXJldHVybiB0YXJnZXQ7DQp9Ow0KDQokLndpZGdldC5icmlkZ2UgPSBmdW5jdGlvbiggbmFtZSwgb2JqZWN0ICkgew0KCXZhciBmdWxsTmFtZSA9IG9iamVjdC5wcm90b3R5cGUud2lkZ2V0RnVsbE5hbWUgfHwgbmFtZTsNCgkkLmZuWyBuYW1lIF0gPSBmdW5jdGlvbiggb3B0aW9ucyApIHsNCgkJdmFyIGlzTWV0aG9kQ2FsbCA9IHR5cGVvZiBvcHRpb25zID09PSAic3RyaW5nIiwNCgkJCWFyZ3MgPSB3aWRnZXRfc2xpY2UuY2FsbCggYXJndW1lbnRzLCAxICksDQoJCQlyZXR1cm5WYWx1ZSA9IHRoaXM7DQoNCgkJaWYgKCBpc01ldGhvZENhbGwgKSB7DQoJCQl0aGlzLmVhY2goZnVuY3Rpb24oKSB7DQoJCQkJdmFyIG1ldGhvZFZhbHVlLA0KCQkJCQlpbnN0YW5jZSA9ICQuZGF0YSggdGhpcywgZnVsbE5hbWUgKTsNCgkJCQlpZiAoIG9wdGlvbnMgPT09ICJpbnN0YW5jZSIgKSB7DQoJCQkJCXJldHVyblZhbHVlID0gaW5zdGFuY2U7DQoJCQkJCXJldHVybiBmYWxzZTsNCgkJCQl9DQoJCQkJaWYgKCAhaW5zdGFuY2UgKSB7DQoJCQkJCXJldHVybiAkLmVycm9yKCAiY2Fubm90IGNhbGwgbWV0aG9kcyBvbiAiICsgbmFtZSArICIgcHJpb3IgdG8gaW5pdGlhbGl6YXRpb247ICIgKw0KCQkJCQkJImF0dGVtcHRlZCB0byBjYWxsIG1ldGhvZCAnIiArIG9wdGlvbnMgKyAiJyIgKTsNCgkJCQl9DQoJCQkJaWYgKCAhJC5pc0Z1bmN0aW9uKCBpbnN0YW5jZVtvcHRpb25zXSApIHx8IG9wdGlvbnMuY2hhckF0KCAwICkgPT09ICJfIiApIHsNCgkJCQkJcmV0dXJuICQuZXJyb3IoICJubyBzdWNoIG1ldGhvZCAnIiArIG9wdGlvbnMgKyAiJyBmb3IgIiArIG5hbWUgKyAiIHdpZGdldCBpbnN0YW5jZSIgKTsNCgkJCQl9DQoJCQkJbWV0aG9kVmFsdWUgPSBpbnN0YW5jZVsgb3B0aW9ucyBdLmFwcGx5KCBpbnN0YW5jZSwgYXJncyApOw0KCQkJCWlmICggbWV0aG9kVmFsdWUgIT09IGluc3RhbmNlICYmIG1ldGhvZFZhbHVlICE9PSB1bmRlZmluZWQgKSB7DQoJCQkJCXJldHVyblZhbHVlID0gbWV0aG9kVmFsdWUgJiYgbWV0aG9kVmFsdWUuanF1ZXJ5ID8NCgkJCQkJCXJldHVyblZhbHVlLnB1c2hTdGFjayggbWV0aG9kVmFsdWUuZ2V0KCkgKSA6DQoJCQkJCQltZXRob2RWYWx1ZTsNCgkJCQkJcmV0dXJuIGZhbHNlOw0KCQkJCX0NCgkJCX0pOw0KCQl9IGVsc2Ugew0KDQoJCQkvLyBBbGxvdyBtdWx0aXBsZSBoYXNoZXMgdG8gYmUgcGFzc2VkIG9uIGluaXQNCgkJCWlmICggYXJncy5sZW5ndGggKSB7DQoJCQkJb3B0aW9ucyA9ICQud2lkZ2V0LmV4dGVuZC5hcHBseSggbnVsbCwgWyBvcHRpb25zIF0uY29uY2F0KGFyZ3MpICk7DQoJCQl9DQoNCgkJCXRoaXMuZWFjaChmdW5jdGlvbigpIHsNCgkJCQl2YXIgaW5zdGFuY2UgPSAkLmRhdGEoIHRoaXMsIGZ1bGxOYW1lICk7DQoJCQkJaWYgKCBpbnN0YW5jZSApIHsNCgkJCQkJaW5zdGFuY2Uub3B0aW9uKCBvcHRpb25zIHx8IHt9ICk7DQoJCQkJCWlmICggaW5zdGFuY2UuX2luaXQgKSB7DQoJCQkJCQlpbnN0YW5jZS5faW5pdCgpOw0KCQkJCQl9DQoJCQkJfSBlbHNlIHsNCgkJCQkJJC5kYXRhKCB0aGlzLCBmdWxsTmFtZSwgbmV3IG9iamVjdCggb3B0aW9ucywgdGhpcyApICk7DQoJCQkJfQ0KCQkJfSk7DQoJCX0NCg0KCQlyZXR1cm4gcmV0dXJuVmFsdWU7DQoJfTsNCn07DQoNCiQuV2lkZ2V0ID0gZnVuY3Rpb24oIC8qIG9wdGlvbnMsIGVsZW1lbnQgKi8gKSB7fTsNCiQuV2lkZ2V0Ll9jaGlsZENvbnN0cnVjdG9ycyA9IFtdOw0KDQokLldpZGdldC5wcm90b3R5cGUgPSB7DQoJd2lkZ2V0TmFtZTogIndpZGdldCIsDQoJd2lkZ2V0RXZlbnRQcmVmaXg6ICIiLA0KCWRlZmF1bHRFbGVtZW50OiAiPGRpdj4iLA0KCW9wdGlvbnM6IHsNCgkJZGlzYWJsZWQ6IGZhbHNlLA0KDQoJCS8vIGNhbGxiYWNrcw0KCQljcmVhdGU6IG51bGwNCgl9LA0KCV9jcmVhdGVXaWRnZXQ6IGZ1bmN0aW9uKCBvcHRpb25zLCBlbGVtZW50ICkgew0KCQllbGVtZW50ID0gJCggZWxlbWVudCB8fCB0aGlzLmRlZmF1bHRFbGVtZW50IHx8IHRoaXMgKVsgMCBdOw0KCQl0aGlzLmVsZW1lbnQgPSAkKCBlbGVtZW50ICk7DQoJCXRoaXMudXVpZCA9IHdpZGdldF91dWlkKys7DQoJCXRoaXMuZXZlbnROYW1lc3BhY2UgPSAiLiIgKyB0aGlzLndpZGdldE5hbWUgKyB0aGlzLnV1aWQ7DQoNCgkJdGhpcy5iaW5kaW5ncyA9ICQoKTsNCgkJdGhpcy5ob3ZlcmFibGUgPSAkKCk7DQoJCXRoaXMuZm9jdXNhYmxlID0gJCgpOw0KDQoJCWlmICggZWxlbWVudCAhPT0gdGhpcyApIHsNCgkJCSQuZGF0YSggZWxlbWVudCwgdGhpcy53aWRnZXRGdWxsTmFtZSwgdGhpcyApOw0KCQkJdGhpcy5fb24oIHRydWUsIHRoaXMuZWxlbWVudCwgew0KCQkJCXJlbW92ZTogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJCQlpZiAoIGV2ZW50LnRhcmdldCA9PT0gZWxlbWVudCApIHsNCgkJCQkJCXRoaXMuZGVzdHJveSgpOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfSk7DQoJCQl0aGlzLmRvY3VtZW50ID0gJCggZWxlbWVudC5zdHlsZSA/DQoJCQkJLy8gZWxlbWVudCB3aXRoaW4gdGhlIGRvY3VtZW50DQoJCQkJZWxlbWVudC5vd25lckRvY3VtZW50IDoNCgkJCQkvLyBlbGVtZW50IGlzIHdpbmRvdyBvciBkb2N1bWVudA0KCQkJCWVsZW1lbnQuZG9jdW1lbnQgfHwgZWxlbWVudCApOw0KCQkJdGhpcy53aW5kb3cgPSAkKCB0aGlzLmRvY3VtZW50WzBdLmRlZmF1bHRWaWV3IHx8IHRoaXMuZG9jdW1lbnRbMF0ucGFyZW50V2luZG93ICk7DQoJCX0NCg0KCQl0aGlzLm9wdGlvbnMgPSAkLndpZGdldC5leHRlbmQoIHt9LA0KCQkJdGhpcy5vcHRpb25zLA0KCQkJdGhpcy5fZ2V0Q3JlYXRlT3B0aW9ucygpLA0KCQkJb3B0aW9ucyApOw0KDQoJCXRoaXMuX2NyZWF0ZSgpOw0KCQl0aGlzLl90cmlnZ2VyKCAiY3JlYXRlIiwgbnVsbCwgdGhpcy5fZ2V0Q3JlYXRlRXZlbnREYXRhKCkgKTsNCgkJdGhpcy5faW5pdCgpOw0KCX0sDQoJX2dldENyZWF0ZU9wdGlvbnM6ICQubm9vcCwNCglfZ2V0Q3JlYXRlRXZlbnREYXRhOiAkLm5vb3AsDQoJX2NyZWF0ZTogJC5ub29wLA0KCV9pbml0OiAkLm5vb3AsDQoNCglkZXN0cm95OiBmdW5jdGlvbigpIHsNCgkJdGhpcy5fZGVzdHJveSgpOw0KCQkvLyB3ZSBjYW4gcHJvYmFibHkgcmVtb3ZlIHRoZSB1bmJpbmQgY2FsbHMgaW4gMi4wDQoJCS8vIGFsbCBldmVudCBiaW5kaW5ncyBzaG91bGQgZ28gdGhyb3VnaCB0aGlzLl9vbigpDQoJCXRoaXMuZWxlbWVudA0KCQkJLnVuYmluZCggdGhpcy5ldmVudE5hbWVzcGFjZSApDQoJCQkucmVtb3ZlRGF0YSggdGhpcy53aWRnZXRGdWxsTmFtZSApDQoJCQkvLyBzdXBwb3J0OiBqcXVlcnkgPDEuNi4zDQoJCQkvLyBodHRwOi8vYnVncy5qcXVlcnkuY29tL3RpY2tldC85NDEzDQoJCQkucmVtb3ZlRGF0YSggJC5jYW1lbENhc2UoIHRoaXMud2lkZ2V0RnVsbE5hbWUgKSApOw0KCQl0aGlzLndpZGdldCgpDQoJCQkudW5iaW5kKCB0aGlzLmV2ZW50TmFtZXNwYWNlICkNCgkJCS5yZW1vdmVBdHRyKCAiYXJpYS1kaXNhYmxlZCIgKQ0KCQkJLnJlbW92ZUNsYXNzKA0KCQkJCXRoaXMud2lkZ2V0RnVsbE5hbWUgKyAiLWRpc2FibGVkICIgKw0KCQkJCSJ1aS1zdGF0ZS1kaXNhYmxlZCIgKTsNCg0KCQkvLyBjbGVhbiB1cCBldmVudHMgYW5kIHN0YXRlcw0KCQl0aGlzLmJpbmRpbmdzLnVuYmluZCggdGhpcy5ldmVudE5hbWVzcGFjZSApOw0KCQl0aGlzLmhvdmVyYWJsZS5yZW1vdmVDbGFzcyggInVpLXN0YXRlLWhvdmVyIiApOw0KCQl0aGlzLmZvY3VzYWJsZS5yZW1vdmVDbGFzcyggInVpLXN0YXRlLWZvY3VzIiApOw0KCX0sDQoJX2Rlc3Ryb3k6ICQubm9vcCwNCg0KCXdpZGdldDogZnVuY3Rpb24oKSB7DQoJCXJldHVybiB0aGlzLmVsZW1lbnQ7DQoJfSwNCg0KCW9wdGlvbjogZnVuY3Rpb24oIGtleSwgdmFsdWUgKSB7DQoJCXZhciBvcHRpb25zID0ga2V5LA0KCQkJcGFydHMsDQoJCQljdXJPcHRpb24sDQoJCQlpOw0KDQoJCWlmICggYXJndW1lbnRzLmxlbmd0aCA9PT0gMCApIHsNCgkJCS8vIGRvbid0IHJldHVybiBhIHJlZmVyZW5jZSB0byB0aGUgaW50ZXJuYWwgaGFzaA0KCQkJcmV0dXJuICQud2lkZ2V0LmV4dGVuZCgge30sIHRoaXMub3B0aW9ucyApOw0KCQl9DQoNCgkJaWYgKCB0eXBlb2Yga2V5ID09PSAic3RyaW5nIiApIHsNCgkJCS8vIGhhbmRsZSBuZXN0ZWQga2V5cywgZS5nLiwgImZvby5iYXIiID0+IHsgZm9vOiB7IGJhcjogX19fIH0gfQ0KCQkJb3B0aW9ucyA9IHt9Ow0KCQkJcGFydHMgPSBrZXkuc3BsaXQoICIuIiApOw0KCQkJa2V5ID0gcGFydHMuc2hpZnQoKTsNCgkJCWlmICggcGFydHMubGVuZ3RoICkgew0KCQkJCWN1ck9wdGlvbiA9IG9wdGlvbnNbIGtleSBdID0gJC53aWRnZXQuZXh0ZW5kKCB7fSwgdGhpcy5vcHRpb25zWyBrZXkgXSApOw0KCQkJCWZvciAoIGkgPSAwOyBpIDwgcGFydHMubGVuZ3RoIC0gMTsgaSsrICkgew0KCQkJCQljdXJPcHRpb25bIHBhcnRzWyBpIF0gXSA9IGN1ck9wdGlvblsgcGFydHNbIGkgXSBdIHx8IHt9Ow0KCQkJCQljdXJPcHRpb24gPSBjdXJPcHRpb25bIHBhcnRzWyBpIF0gXTsNCgkJCQl9DQoJCQkJa2V5ID0gcGFydHMucG9wKCk7DQoJCQkJaWYgKCBhcmd1bWVudHMubGVuZ3RoID09PSAxICkgew0KCQkJCQlyZXR1cm4gY3VyT3B0aW9uWyBrZXkgXSA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGN1ck9wdGlvblsga2V5IF07DQoJCQkJfQ0KCQkJCWN1ck9wdGlvblsga2V5IF0gPSB2YWx1ZTsNCgkJCX0gZWxzZSB7DQoJCQkJaWYgKCBhcmd1bWVudHMubGVuZ3RoID09PSAxICkgew0KCQkJCQlyZXR1cm4gdGhpcy5vcHRpb25zWyBrZXkgXSA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IHRoaXMub3B0aW9uc1sga2V5IF07DQoJCQkJfQ0KCQkJCW9wdGlvbnNbIGtleSBdID0gdmFsdWU7DQoJCQl9DQoJCX0NCg0KCQl0aGlzLl9zZXRPcHRpb25zKCBvcHRpb25zICk7DQoNCgkJcmV0dXJuIHRoaXM7DQoJfSwNCglfc2V0T3B0aW9uczogZnVuY3Rpb24oIG9wdGlvbnMgKSB7DQoJCXZhciBrZXk7DQoNCgkJZm9yICgga2V5IGluIG9wdGlvbnMgKSB7DQoJCQl0aGlzLl9zZXRPcHRpb24oIGtleSwgb3B0aW9uc1sga2V5IF0gKTsNCgkJfQ0KDQoJCXJldHVybiB0aGlzOw0KCX0sDQoJX3NldE9wdGlvbjogZnVuY3Rpb24oIGtleSwgdmFsdWUgKSB7DQoJCXRoaXMub3B0aW9uc1sga2V5IF0gPSB2YWx1ZTsNCg0KCQlpZiAoIGtleSA9PT0gImRpc2FibGVkIiApIHsNCgkJCXRoaXMud2lkZ2V0KCkNCgkJCQkudG9nZ2xlQ2xhc3MoIHRoaXMud2lkZ2V0RnVsbE5hbWUgKyAiLWRpc2FibGVkIiwgISF2YWx1ZSApOw0KDQoJCQkvLyBJZiB0aGUgd2lkZ2V0IGlzIGJlY29taW5nIGRpc2FibGVkLCB0aGVuIG5vdGhpbmcgaXMgaW50ZXJhY3RpdmUNCgkJCWlmICggdmFsdWUgKSB7DQoJCQkJdGhpcy5ob3ZlcmFibGUucmVtb3ZlQ2xhc3MoICJ1aS1zdGF0ZS1ob3ZlciIgKTsNCgkJCQl0aGlzLmZvY3VzYWJsZS5yZW1vdmVDbGFzcyggInVpLXN0YXRlLWZvY3VzIiApOw0KCQkJfQ0KCQl9DQoNCgkJcmV0dXJuIHRoaXM7DQoJfSwNCg0KCWVuYWJsZTogZnVuY3Rpb24oKSB7DQoJCXJldHVybiB0aGlzLl9zZXRPcHRpb25zKHsgZGlzYWJsZWQ6IGZhbHNlIH0pOw0KCX0sDQoJZGlzYWJsZTogZnVuY3Rpb24oKSB7DQoJCXJldHVybiB0aGlzLl9zZXRPcHRpb25zKHsgZGlzYWJsZWQ6IHRydWUgfSk7DQoJfSwNCg0KCV9vbjogZnVuY3Rpb24oIHN1cHByZXNzRGlzYWJsZWRDaGVjaywgZWxlbWVudCwgaGFuZGxlcnMgKSB7DQoJCXZhciBkZWxlZ2F0ZUVsZW1lbnQsDQoJCQlpbnN0YW5jZSA9IHRoaXM7DQoNCgkJLy8gbm8gc3VwcHJlc3NEaXNhYmxlZENoZWNrIGZsYWcsIHNodWZmbGUgYXJndW1lbnRzDQoJCWlmICggdHlwZW9mIHN1cHByZXNzRGlzYWJsZWRDaGVjayAhPT0gImJvb2xlYW4iICkgew0KCQkJaGFuZGxlcnMgPSBlbGVtZW50Ow0KCQkJZWxlbWVudCA9IHN1cHByZXNzRGlzYWJsZWRDaGVjazsNCgkJCXN1cHByZXNzRGlzYWJsZWRDaGVjayA9IGZhbHNlOw0KCQl9DQoNCgkJLy8gbm8gZWxlbWVudCBhcmd1bWVudCwgc2h1ZmZsZSBhbmQgdXNlIHRoaXMuZWxlbWVudA0KCQlpZiAoICFoYW5kbGVycyApIHsNCgkJCWhhbmRsZXJzID0gZWxlbWVudDsNCgkJCWVsZW1lbnQgPSB0aGlzLmVsZW1lbnQ7DQoJCQlkZWxlZ2F0ZUVsZW1lbnQgPSB0aGlzLndpZGdldCgpOw0KCQl9IGVsc2Ugew0KCQkJZWxlbWVudCA9IGRlbGVnYXRlRWxlbWVudCA9ICQoIGVsZW1lbnQgKTsNCgkJCXRoaXMuYmluZGluZ3MgPSB0aGlzLmJpbmRpbmdzLmFkZCggZWxlbWVudCApOw0KCQl9DQoNCgkJJC5lYWNoKCBoYW5kbGVycywgZnVuY3Rpb24oIGV2ZW50LCBoYW5kbGVyICkgew0KCQkJZnVuY3Rpb24gaGFuZGxlclByb3h5KCkgew0KCQkJCS8vIGFsbG93IHdpZGdldHMgdG8gY3VzdG9taXplIHRoZSBkaXNhYmxlZCBoYW5kbGluZw0KCQkJCS8vIC0gZGlzYWJsZWQgYXMgYW4gYXJyYXkgaW5zdGVhZCBvZiBib29sZWFuDQoJCQkJLy8gLSBkaXNhYmxlZCBjbGFzcyBhcyBtZXRob2QgZm9yIGRpc2FibGluZyBpbmRpdmlkdWFsIHBhcnRzDQoJCQkJaWYgKCAhc3VwcHJlc3NEaXNhYmxlZENoZWNrICYmDQoJCQkJCQkoIGluc3RhbmNlLm9wdGlvbnMuZGlzYWJsZWQgPT09IHRydWUgfHwNCgkJCQkJCQkkKCB0aGlzICkuaGFzQ2xhc3MoICJ1aS1zdGF0ZS1kaXNhYmxlZCIgKSApICkgew0KCQkJCQlyZXR1cm47DQoJCQkJfQ0KCQkJCXJldHVybiAoIHR5cGVvZiBoYW5kbGVyID09PSAic3RyaW5nIiA/IGluc3RhbmNlWyBoYW5kbGVyIF0gOiBoYW5kbGVyICkNCgkJCQkJLmFwcGx5KCBpbnN0YW5jZSwgYXJndW1lbnRzICk7DQoJCQl9DQoNCgkJCS8vIGNvcHkgdGhlIGd1aWQgc28gZGlyZWN0IHVuYmluZGluZyB3b3Jrcw0KCQkJaWYgKCB0eXBlb2YgaGFuZGxlciAhPT0gInN0cmluZyIgKSB7DQoJCQkJaGFuZGxlclByb3h5Lmd1aWQgPSBoYW5kbGVyLmd1aWQgPQ0KCQkJCQloYW5kbGVyLmd1aWQgfHwgaGFuZGxlclByb3h5Lmd1aWQgfHwgJC5ndWlkKys7DQoJCQl9DQoNCgkJCXZhciBtYXRjaCA9IGV2ZW50Lm1hdGNoKCAvXihbXHc6LV0qKVxzKiguKikkLyApLA0KCQkJCWV2ZW50TmFtZSA9IG1hdGNoWzFdICsgaW5zdGFuY2UuZXZlbnROYW1lc3BhY2UsDQoJCQkJc2VsZWN0b3IgPSBtYXRjaFsyXTsNCgkJCWlmICggc2VsZWN0b3IgKSB7DQoJCQkJZGVsZWdhdGVFbGVtZW50LmRlbGVnYXRlKCBzZWxlY3RvciwgZXZlbnROYW1lLCBoYW5kbGVyUHJveHkgKTsNCgkJCX0gZWxzZSB7DQoJCQkJZWxlbWVudC5iaW5kKCBldmVudE5hbWUsIGhhbmRsZXJQcm94eSApOw0KCQkJfQ0KCQl9KTsNCgl9LA0KDQoJX29mZjogZnVuY3Rpb24oIGVsZW1lbnQsIGV2ZW50TmFtZSApIHsNCgkJZXZlbnROYW1lID0gKGV2ZW50TmFtZSB8fCAiIikuc3BsaXQoICIgIiApLmpvaW4oIHRoaXMuZXZlbnROYW1lc3BhY2UgKyAiICIgKSArDQoJCQl0aGlzLmV2ZW50TmFtZXNwYWNlOw0KCQllbGVtZW50LnVuYmluZCggZXZlbnROYW1lICkudW5kZWxlZ2F0ZSggZXZlbnROYW1lICk7DQoNCgkJLy8gQ2xlYXIgdGhlIHN0YWNrIHRvIGF2b2lkIG1lbW9yeSBsZWFrcyAoIzEwMDU2KQ0KCQl0aGlzLmJpbmRpbmdzID0gJCggdGhpcy5iaW5kaW5ncy5ub3QoIGVsZW1lbnQgKS5nZXQoKSApOw0KCQl0aGlzLmZvY3VzYWJsZSA9ICQoIHRoaXMuZm9jdXNhYmxlLm5vdCggZWxlbWVudCApLmdldCgpICk7DQoJCXRoaXMuaG92ZXJhYmxlID0gJCggdGhpcy5ob3ZlcmFibGUubm90KCBlbGVtZW50ICkuZ2V0KCkgKTsNCgl9LA0KDQoJX2RlbGF5OiBmdW5jdGlvbiggaGFuZGxlciwgZGVsYXkgKSB7DQoJCWZ1bmN0aW9uIGhhbmRsZXJQcm94eSgpIHsNCgkJCXJldHVybiAoIHR5cGVvZiBoYW5kbGVyID09PSAic3RyaW5nIiA/IGluc3RhbmNlWyBoYW5kbGVyIF0gOiBoYW5kbGVyICkNCgkJCQkuYXBwbHkoIGluc3RhbmNlLCBhcmd1bWVudHMgKTsNCgkJfQ0KCQl2YXIgaW5zdGFuY2UgPSB0aGlzOw0KCQlyZXR1cm4gc2V0VGltZW91dCggaGFuZGxlclByb3h5LCBkZWxheSB8fCAwICk7DQoJfSwNCg0KCV9ob3ZlcmFibGU6IGZ1bmN0aW9uKCBlbGVtZW50ICkgew0KCQl0aGlzLmhvdmVyYWJsZSA9IHRoaXMuaG92ZXJhYmxlLmFkZCggZWxlbWVudCApOw0KCQl0aGlzLl9vbiggZWxlbWVudCwgew0KCQkJbW91c2VlbnRlcjogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJCSQoIGV2ZW50LmN1cnJlbnRUYXJnZXQgKS5hZGRDbGFzcyggInVpLXN0YXRlLWhvdmVyIiApOw0KCQkJfSwNCgkJCW1vdXNlbGVhdmU6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCQkkKCBldmVudC5jdXJyZW50VGFyZ2V0ICkucmVtb3ZlQ2xhc3MoICJ1aS1zdGF0ZS1ob3ZlciIgKTsNCgkJCX0NCgkJfSk7DQoJfSwNCg0KCV9mb2N1c2FibGU6IGZ1bmN0aW9uKCBlbGVtZW50ICkgew0KCQl0aGlzLmZvY3VzYWJsZSA9IHRoaXMuZm9jdXNhYmxlLmFkZCggZWxlbWVudCApOw0KCQl0aGlzLl9vbiggZWxlbWVudCwgew0KCQkJZm9jdXNpbjogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJCSQoIGV2ZW50LmN1cnJlbnRUYXJnZXQgKS5hZGRDbGFzcyggInVpLXN0YXRlLWZvY3VzIiApOw0KCQkJfSwNCgkJCWZvY3Vzb3V0OiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQkJJCggZXZlbnQuY3VycmVudFRhcmdldCApLnJlbW92ZUNsYXNzKCAidWktc3RhdGUtZm9jdXMiICk7DQoJCQl9DQoJCX0pOw0KCX0sDQoNCglfdHJpZ2dlcjogZnVuY3Rpb24oIHR5cGUsIGV2ZW50LCBkYXRhICkgew0KCQl2YXIgcHJvcCwgb3JpZywNCgkJCWNhbGxiYWNrID0gdGhpcy5vcHRpb25zWyB0eXBlIF07DQoNCgkJZGF0YSA9IGRhdGEgfHwge307DQoJCWV2ZW50ID0gJC5FdmVudCggZXZlbnQgKTsNCgkJZXZlbnQudHlwZSA9ICggdHlwZSA9PT0gdGhpcy53aWRnZXRFdmVudFByZWZpeCA/DQoJCQl0eXBlIDoNCgkJCXRoaXMud2lkZ2V0RXZlbnRQcmVmaXggKyB0eXBlICkudG9Mb3dlckNhc2UoKTsNCgkJLy8gdGhlIG9yaWdpbmFsIGV2ZW50IG1heSBjb21lIGZyb20gYW55IGVsZW1lbnQNCgkJLy8gc28gd2UgbmVlZCB0byByZXNldCB0aGUgdGFyZ2V0IG9uIHRoZSBuZXcgZXZlbnQNCgkJZXZlbnQudGFyZ2V0ID0gdGhpcy5lbGVtZW50WyAwIF07DQoNCgkJLy8gY29weSBvcmlnaW5hbCBldmVudCBwcm9wZXJ0aWVzIG92ZXIgdG8gdGhlIG5ldyBldmVudA0KCQlvcmlnID0gZXZlbnQub3JpZ2luYWxFdmVudDsNCgkJaWYgKCBvcmlnICkgew0KCQkJZm9yICggcHJvcCBpbiBvcmlnICkgew0KCQkJCWlmICggISggcHJvcCBpbiBldmVudCApICkgew0KCQkJCQlldmVudFsgcHJvcCBdID0gb3JpZ1sgcHJvcCBdOw0KCQkJCX0NCgkJCX0NCgkJfQ0KDQoJCXRoaXMuZWxlbWVudC50cmlnZ2VyKCBldmVudCwgZGF0YSApOw0KCQlyZXR1cm4gISggJC5pc0Z1bmN0aW9uKCBjYWxsYmFjayApICYmDQoJCQljYWxsYmFjay5hcHBseSggdGhpcy5lbGVtZW50WzBdLCBbIGV2ZW50IF0uY29uY2F0KCBkYXRhICkgKSA9PT0gZmFsc2UgfHwNCgkJCWV2ZW50LmlzRGVmYXVsdFByZXZlbnRlZCgpICk7DQoJfQ0KfTsNCg0KJC5lYWNoKCB7IHNob3c6ICJmYWRlSW4iLCBoaWRlOiAiZmFkZU91dCIgfSwgZnVuY3Rpb24oIG1ldGhvZCwgZGVmYXVsdEVmZmVjdCApIHsNCgkkLldpZGdldC5wcm90b3R5cGVbICJfIiArIG1ldGhvZCBdID0gZnVuY3Rpb24oIGVsZW1lbnQsIG9wdGlvbnMsIGNhbGxiYWNrICkgew0KCQlpZiAoIHR5cGVvZiBvcHRpb25zID09PSAic3RyaW5nIiApIHsNCgkJCW9wdGlvbnMgPSB7IGVmZmVjdDogb3B0aW9ucyB9Ow0KCQl9DQoJCXZhciBoYXNPcHRpb25zLA0KCQkJZWZmZWN0TmFtZSA9ICFvcHRpb25zID8NCgkJCQltZXRob2QgOg0KCQkJCW9wdGlvbnMgPT09IHRydWUgfHwgdHlwZW9mIG9wdGlvbnMgPT09ICJudW1iZXIiID8NCgkJCQkJZGVmYXVsdEVmZmVjdCA6DQoJCQkJCW9wdGlvbnMuZWZmZWN0IHx8IGRlZmF1bHRFZmZlY3Q7DQoJCW9wdGlvbnMgPSBvcHRpb25zIHx8IHt9Ow0KCQlpZiAoIHR5cGVvZiBvcHRpb25zID09PSAibnVtYmVyIiApIHsNCgkJCW9wdGlvbnMgPSB7IGR1cmF0aW9uOiBvcHRpb25zIH07DQoJCX0NCgkJaGFzT3B0aW9ucyA9ICEkLmlzRW1wdHlPYmplY3QoIG9wdGlvbnMgKTsNCgkJb3B0aW9ucy5jb21wbGV0ZSA9IGNhbGxiYWNrOw0KCQlpZiAoIG9wdGlvbnMuZGVsYXkgKSB7DQoJCQllbGVtZW50LmRlbGF5KCBvcHRpb25zLmRlbGF5ICk7DQoJCX0NCgkJaWYgKCBoYXNPcHRpb25zICYmICQuZWZmZWN0cyAmJiAkLmVmZmVjdHMuZWZmZWN0WyBlZmZlY3ROYW1lIF0gKSB7DQoJCQllbGVtZW50WyBtZXRob2QgXSggb3B0aW9ucyApOw0KCQl9IGVsc2UgaWYgKCBlZmZlY3ROYW1lICE9PSBtZXRob2QgJiYgZWxlbWVudFsgZWZmZWN0TmFtZSBdICkgew0KCQkJZWxlbWVudFsgZWZmZWN0TmFtZSBdKCBvcHRpb25zLmR1cmF0aW9uLCBvcHRpb25zLmVhc2luZywgY2FsbGJhY2sgKTsNCgkJfSBlbHNlIHsNCgkJCWVsZW1lbnQucXVldWUoZnVuY3Rpb24oIG5leHQgKSB7DQoJCQkJJCggdGhpcyApWyBtZXRob2QgXSgpOw0KCQkJCWlmICggY2FsbGJhY2sgKSB7DQoJCQkJCWNhbGxiYWNrLmNhbGwoIGVsZW1lbnRbIDAgXSApOw0KCQkJCX0NCgkJCQluZXh0KCk7DQoJCQl9KTsNCgkJfQ0KCX07DQp9KTsNCg0KdmFyIHdpZGdldCA9ICQud2lkZ2V0Ow0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIE1vdXNlIDEuMTEuNA0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKg0KICogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vbW91c2UvDQogKi8NCg0KDQp2YXIgbW91c2VIYW5kbGVkID0gZmFsc2U7DQokKCBkb2N1bWVudCApLm1vdXNldXAoIGZ1bmN0aW9uKCkgew0KCW1vdXNlSGFuZGxlZCA9IGZhbHNlOw0KfSk7DQoNCnZhciBtb3VzZSA9ICQud2lkZ2V0KCJ1aS5tb3VzZSIsIHsNCgl2ZXJzaW9uOiAiMS4xMS40IiwNCglvcHRpb25zOiB7DQoJCWNhbmNlbDogImlucHV0LHRleHRhcmVhLGJ1dHRvbixzZWxlY3Qsb3B0aW9uIiwNCgkJZGlzdGFuY2U6IDEsDQoJCWRlbGF5OiAwDQoJfSwNCglfbW91c2VJbml0OiBmdW5jdGlvbigpIHsNCgkJdmFyIHRoYXQgPSB0aGlzOw0KDQoJCXRoaXMuZWxlbWVudA0KCQkJLmJpbmQoIm1vdXNlZG93bi4iICsgdGhpcy53aWRnZXROYW1lLCBmdW5jdGlvbihldmVudCkgew0KCQkJCXJldHVybiB0aGF0Ll9tb3VzZURvd24oZXZlbnQpOw0KCQkJfSkNCgkJCS5iaW5kKCJjbGljay4iICsgdGhpcy53aWRnZXROYW1lLCBmdW5jdGlvbihldmVudCkgew0KCQkJCWlmICh0cnVlID09PSAkLmRhdGEoZXZlbnQudGFyZ2V0LCB0aGF0LndpZGdldE5hbWUgKyAiLnByZXZlbnRDbGlja0V2ZW50IikpIHsNCgkJCQkJJC5yZW1vdmVEYXRhKGV2ZW50LnRhcmdldCwgdGhhdC53aWRnZXROYW1lICsgIi5wcmV2ZW50Q2xpY2tFdmVudCIpOw0KCQkJCQlldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTsNCgkJCQkJcmV0dXJuIGZhbHNlOw0KCQkJCX0NCgkJCX0pOw0KDQoJCXRoaXMuc3RhcnRlZCA9IGZhbHNlOw0KCX0sDQoNCgkvLyBUT0RPOiBtYWtlIHN1cmUgZGVzdHJveWluZyBvbmUgaW5zdGFuY2Ugb2YgbW91c2UgZG9lc24ndCBtZXNzIHdpdGgNCgkvLyBvdGhlciBpbnN0YW5jZXMgb2YgbW91c2UNCglfbW91c2VEZXN0cm95OiBmdW5jdGlvbigpIHsNCgkJdGhpcy5lbGVtZW50LnVuYmluZCgiLiIgKyB0aGlzLndpZGdldE5hbWUpOw0KCQlpZiAoIHRoaXMuX21vdXNlTW92ZURlbGVnYXRlICkgew0KCQkJdGhpcy5kb2N1bWVudA0KCQkJCS51bmJpbmQoIm1vdXNlbW92ZS4iICsgdGhpcy53aWRnZXROYW1lLCB0aGlzLl9tb3VzZU1vdmVEZWxlZ2F0ZSkNCgkJCQkudW5iaW5kKCJtb3VzZXVwLiIgKyB0aGlzLndpZGdldE5hbWUsIHRoaXMuX21vdXNlVXBEZWxlZ2F0ZSk7DQoJCX0NCgl9LA0KDQoJX21vdXNlRG93bjogZnVuY3Rpb24oZXZlbnQpIHsNCgkJLy8gZG9uJ3QgbGV0IG1vcmUgdGhhbiBvbmUgd2lkZ2V0IGhhbmRsZSBtb3VzZVN0YXJ0DQoJCWlmICggbW91c2VIYW5kbGVkICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJdGhpcy5fbW91c2VNb3ZlZCA9IGZhbHNlOw0KDQoJCS8vIHdlIG1heSBoYXZlIG1pc3NlZCBtb3VzZXVwIChvdXQgb2Ygd2luZG93KQ0KCQkodGhpcy5fbW91c2VTdGFydGVkICYmIHRoaXMuX21vdXNlVXAoZXZlbnQpKTsNCg0KCQl0aGlzLl9tb3VzZURvd25FdmVudCA9IGV2ZW50Ow0KDQoJCXZhciB0aGF0ID0gdGhpcywNCgkJCWJ0bklzTGVmdCA9IChldmVudC53aGljaCA9PT0gMSksDQoJCQkvLyBldmVudC50YXJnZXQubm9kZU5hbWUgd29ya3MgYXJvdW5kIGEgYnVnIGluIElFIDggd2l0aA0KCQkJLy8gZGlzYWJsZWQgaW5wdXRzICgjNzYyMCkNCgkJCWVsSXNDYW5jZWwgPSAodHlwZW9mIHRoaXMub3B0aW9ucy5jYW5jZWwgPT09ICJzdHJpbmciICYmIGV2ZW50LnRhcmdldC5ub2RlTmFtZSA/ICQoZXZlbnQudGFyZ2V0KS5jbG9zZXN0KHRoaXMub3B0aW9ucy5jYW5jZWwpLmxlbmd0aCA6IGZhbHNlKTsNCgkJaWYgKCFidG5Jc0xlZnQgfHwgZWxJc0NhbmNlbCB8fCAhdGhpcy5fbW91c2VDYXB0dXJlKGV2ZW50KSkgew0KCQkJcmV0dXJuIHRydWU7DQoJCX0NCg0KCQl0aGlzLm1vdXNlRGVsYXlNZXQgPSAhdGhpcy5vcHRpb25zLmRlbGF5Ow0KCQlpZiAoIXRoaXMubW91c2VEZWxheU1ldCkgew0KCQkJdGhpcy5fbW91c2VEZWxheVRpbWVyID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsNCgkJCQl0aGF0Lm1vdXNlRGVsYXlNZXQgPSB0cnVlOw0KCQkJfSwgdGhpcy5vcHRpb25zLmRlbGF5KTsNCgkJfQ0KDQoJCWlmICh0aGlzLl9tb3VzZURpc3RhbmNlTWV0KGV2ZW50KSAmJiB0aGlzLl9tb3VzZURlbGF5TWV0KGV2ZW50KSkgew0KCQkJdGhpcy5fbW91c2VTdGFydGVkID0gKHRoaXMuX21vdXNlU3RhcnQoZXZlbnQpICE9PSBmYWxzZSk7DQoJCQlpZiAoIXRoaXMuX21vdXNlU3RhcnRlZCkgew0KCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJCQkJcmV0dXJuIHRydWU7DQoJCQl9DQoJCX0NCg0KCQkvLyBDbGljayBldmVudCBtYXkgbmV2ZXIgaGF2ZSBmaXJlZCAoR2Vja28gJiBPcGVyYSkNCgkJaWYgKHRydWUgPT09ICQuZGF0YShldmVudC50YXJnZXQsIHRoaXMud2lkZ2V0TmFtZSArICIucHJldmVudENsaWNrRXZlbnQiKSkgew0KCQkJJC5yZW1vdmVEYXRhKGV2ZW50LnRhcmdldCwgdGhpcy53aWRnZXROYW1lICsgIi5wcmV2ZW50Q2xpY2tFdmVudCIpOw0KCQl9DQoNCgkJLy8gdGhlc2UgZGVsZWdhdGVzIGFyZSByZXF1aXJlZCB0byBrZWVwIGNvbnRleHQNCgkJdGhpcy5fbW91c2VNb3ZlRGVsZWdhdGUgPSBmdW5jdGlvbihldmVudCkgew0KCQkJcmV0dXJuIHRoYXQuX21vdXNlTW92ZShldmVudCk7DQoJCX07DQoJCXRoaXMuX21vdXNlVXBEZWxlZ2F0ZSA9IGZ1bmN0aW9uKGV2ZW50KSB7DQoJCQlyZXR1cm4gdGhhdC5fbW91c2VVcChldmVudCk7DQoJCX07DQoNCgkJdGhpcy5kb2N1bWVudA0KCQkJLmJpbmQoICJtb3VzZW1vdmUuIiArIHRoaXMud2lkZ2V0TmFtZSwgdGhpcy5fbW91c2VNb3ZlRGVsZWdhdGUgKQ0KCQkJLmJpbmQoICJtb3VzZXVwLiIgKyB0aGlzLndpZGdldE5hbWUsIHRoaXMuX21vdXNlVXBEZWxlZ2F0ZSApOw0KDQoJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoNCgkJbW91c2VIYW5kbGVkID0gdHJ1ZTsNCgkJcmV0dXJuIHRydWU7DQoJfSwNCg0KCV9tb3VzZU1vdmU6IGZ1bmN0aW9uKGV2ZW50KSB7DQoJCS8vIE9ubHkgY2hlY2sgZm9yIG1vdXNldXBzIG91dHNpZGUgdGhlIGRvY3VtZW50IGlmIHlvdSd2ZSBtb3ZlZCBpbnNpZGUgdGhlIGRvY3VtZW50DQoJCS8vIGF0IGxlYXN0IG9uY2UuIFRoaXMgcHJldmVudHMgdGhlIGZpcmluZyBvZiBtb3VzZXVwIGluIHRoZSBjYXNlIG9mIElFPDksIHdoaWNoIHdpbGwNCgkJLy8gZmlyZSBhIG1vdXNlbW92ZSBldmVudCBpZiBjb250ZW50IGlzIHBsYWNlZCB1bmRlciB0aGUgY3Vyc29yLiBTZWUgIzc3NzgNCgkJLy8gU3VwcG9ydDogSUUgPDkNCgkJaWYgKCB0aGlzLl9tb3VzZU1vdmVkICkgew0KCQkJLy8gSUUgbW91c2V1cCBjaGVjayAtIG1vdXNldXAgaGFwcGVuZWQgd2hlbiBtb3VzZSB3YXMgb3V0IG9mIHdpbmRvdw0KCQkJaWYgKCQudWkuaWUgJiYgKCAhZG9jdW1lbnQuZG9jdW1lbnRNb2RlIHx8IGRvY3VtZW50LmRvY3VtZW50TW9kZSA8IDkgKSAmJiAhZXZlbnQuYnV0dG9uKSB7DQoJCQkJcmV0dXJuIHRoaXMuX21vdXNlVXAoZXZlbnQpOw0KDQoJCQkvLyBJZnJhbWUgbW91c2V1cCBjaGVjayAtIG1vdXNldXAgb2NjdXJyZWQgaW4gYW5vdGhlciBkb2N1bWVudA0KCQkJfSBlbHNlIGlmICggIWV2ZW50LndoaWNoICkgew0KCQkJCXJldHVybiB0aGlzLl9tb3VzZVVwKCBldmVudCApOw0KCQkJfQ0KCQl9DQoNCgkJaWYgKCBldmVudC53aGljaCB8fCBldmVudC5idXR0b24gKSB7DQoJCQl0aGlzLl9tb3VzZU1vdmVkID0gdHJ1ZTsNCgkJfQ0KDQoJCWlmICh0aGlzLl9tb3VzZVN0YXJ0ZWQpIHsNCgkJCXRoaXMuX21vdXNlRHJhZyhldmVudCk7DQoJCQlyZXR1cm4gZXZlbnQucHJldmVudERlZmF1bHQoKTsNCgkJfQ0KDQoJCWlmICh0aGlzLl9tb3VzZURpc3RhbmNlTWV0KGV2ZW50KSAmJiB0aGlzLl9tb3VzZURlbGF5TWV0KGV2ZW50KSkgew0KCQkJdGhpcy5fbW91c2VTdGFydGVkID0NCgkJCQkodGhpcy5fbW91c2VTdGFydCh0aGlzLl9tb3VzZURvd25FdmVudCwgZXZlbnQpICE9PSBmYWxzZSk7DQoJCQkodGhpcy5fbW91c2VTdGFydGVkID8gdGhpcy5fbW91c2VEcmFnKGV2ZW50KSA6IHRoaXMuX21vdXNlVXAoZXZlbnQpKTsNCgkJfQ0KDQoJCXJldHVybiAhdGhpcy5fbW91c2VTdGFydGVkOw0KCX0sDQoNCglfbW91c2VVcDogZnVuY3Rpb24oZXZlbnQpIHsNCgkJdGhpcy5kb2N1bWVudA0KCQkJLnVuYmluZCggIm1vdXNlbW92ZS4iICsgdGhpcy53aWRnZXROYW1lLCB0aGlzLl9tb3VzZU1vdmVEZWxlZ2F0ZSApDQoJCQkudW5iaW5kKCAibW91c2V1cC4iICsgdGhpcy53aWRnZXROYW1lLCB0aGlzLl9tb3VzZVVwRGVsZWdhdGUgKTsNCg0KCQlpZiAodGhpcy5fbW91c2VTdGFydGVkKSB7DQoJCQl0aGlzLl9tb3VzZVN0YXJ0ZWQgPSBmYWxzZTsNCg0KCQkJaWYgKGV2ZW50LnRhcmdldCA9PT0gdGhpcy5fbW91c2VEb3duRXZlbnQudGFyZ2V0KSB7DQoJCQkJJC5kYXRhKGV2ZW50LnRhcmdldCwgdGhpcy53aWRnZXROYW1lICsgIi5wcmV2ZW50Q2xpY2tFdmVudCIsIHRydWUpOw0KCQkJfQ0KDQoJCQl0aGlzLl9tb3VzZVN0b3AoZXZlbnQpOw0KCQl9DQoNCgkJbW91c2VIYW5kbGVkID0gZmFsc2U7DQoJCXJldHVybiBmYWxzZTsNCgl9LA0KDQoJX21vdXNlRGlzdGFuY2VNZXQ6IGZ1bmN0aW9uKGV2ZW50KSB7DQoJCXJldHVybiAoTWF0aC5tYXgoDQoJCQkJTWF0aC5hYnModGhpcy5fbW91c2VEb3duRXZlbnQucGFnZVggLSBldmVudC5wYWdlWCksDQoJCQkJTWF0aC5hYnModGhpcy5fbW91c2VEb3duRXZlbnQucGFnZVkgLSBldmVudC5wYWdlWSkNCgkJCSkgPj0gdGhpcy5vcHRpb25zLmRpc3RhbmNlDQoJCSk7DQoJfSwNCg0KCV9tb3VzZURlbGF5TWV0OiBmdW5jdGlvbigvKiBldmVudCAqLykgew0KCQlyZXR1cm4gdGhpcy5tb3VzZURlbGF5TWV0Ow0KCX0sDQoNCgkvLyBUaGVzZSBhcmUgcGxhY2Vob2xkZXIgbWV0aG9kcywgdG8gYmUgb3ZlcnJpZGVuIGJ5IGV4dGVuZGluZyBwbHVnaW4NCglfbW91c2VTdGFydDogZnVuY3Rpb24oLyogZXZlbnQgKi8pIHt9LA0KCV9tb3VzZURyYWc6IGZ1bmN0aW9uKC8qIGV2ZW50ICovKSB7fSwNCglfbW91c2VTdG9wOiBmdW5jdGlvbigvKiBldmVudCAqLykge30sDQoJX21vdXNlQ2FwdHVyZTogZnVuY3Rpb24oLyogZXZlbnQgKi8pIHsgcmV0dXJuIHRydWU7IH0NCn0pOw0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIFBvc2l0aW9uIDEuMTEuNA0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKg0KICogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vcG9zaXRpb24vDQogKi8NCg0KKGZ1bmN0aW9uKCkgew0KDQokLnVpID0gJC51aSB8fCB7fTsNCg0KdmFyIGNhY2hlZFNjcm9sbGJhcldpZHRoLCBzdXBwb3J0c09mZnNldEZyYWN0aW9ucywNCgltYXggPSBNYXRoLm1heCwNCglhYnMgPSBNYXRoLmFicywNCglyb3VuZCA9IE1hdGgucm91bmQsDQoJcmhvcml6b250YWwgPSAvbGVmdHxjZW50ZXJ8cmlnaHQvLA0KCXJ2ZXJ0aWNhbCA9IC90b3B8Y2VudGVyfGJvdHRvbS8sDQoJcm9mZnNldCA9IC9bXCtcLV1cZCsoXC5bXGRdKyk/JT8vLA0KCXJwb3NpdGlvbiA9IC9eXHcrLywNCglycGVyY2VudCA9IC8lJC8sDQoJX3Bvc2l0aW9uID0gJC5mbi5wb3NpdGlvbjsNCg0KZnVuY3Rpb24gZ2V0T2Zmc2V0cyggb2Zmc2V0cywgd2lkdGgsIGhlaWdodCApIHsNCglyZXR1cm4gWw0KCQlwYXJzZUZsb2F0KCBvZmZzZXRzWyAwIF0gKSAqICggcnBlcmNlbnQudGVzdCggb2Zmc2V0c1sgMCBdICkgPyB3aWR0aCAvIDEwMCA6IDEgKSwNCgkJcGFyc2VGbG9hdCggb2Zmc2V0c1sgMSBdICkgKiAoIHJwZXJjZW50LnRlc3QoIG9mZnNldHNbIDEgXSApID8gaGVpZ2h0IC8gMTAwIDogMSApDQoJXTsNCn0NCg0KZnVuY3Rpb24gcGFyc2VDc3MoIGVsZW1lbnQsIHByb3BlcnR5ICkgew0KCXJldHVybiBwYXJzZUludCggJC5jc3MoIGVsZW1lbnQsIHByb3BlcnR5ICksIDEwICkgfHwgMDsNCn0NCg0KZnVuY3Rpb24gZ2V0RGltZW5zaW9ucyggZWxlbSApIHsNCgl2YXIgcmF3ID0gZWxlbVswXTsNCglpZiAoIHJhdy5ub2RlVHlwZSA9PT0gOSApIHsNCgkJcmV0dXJuIHsNCgkJCXdpZHRoOiBlbGVtLndpZHRoKCksDQoJCQloZWlnaHQ6IGVsZW0uaGVpZ2h0KCksDQoJCQlvZmZzZXQ6IHsgdG9wOiAwLCBsZWZ0OiAwIH0NCgkJfTsNCgl9DQoJaWYgKCAkLmlzV2luZG93KCByYXcgKSApIHsNCgkJcmV0dXJuIHsNCgkJCXdpZHRoOiBlbGVtLndpZHRoKCksDQoJCQloZWlnaHQ6IGVsZW0uaGVpZ2h0KCksDQoJCQlvZmZzZXQ6IHsgdG9wOiBlbGVtLnNjcm9sbFRvcCgpLCBsZWZ0OiBlbGVtLnNjcm9sbExlZnQoKSB9DQoJCX07DQoJfQ0KCWlmICggcmF3LnByZXZlbnREZWZhdWx0ICkgew0KCQlyZXR1cm4gew0KCQkJd2lkdGg6IDAsDQoJCQloZWlnaHQ6IDAsDQoJCQlvZmZzZXQ6IHsgdG9wOiByYXcucGFnZVksIGxlZnQ6IHJhdy5wYWdlWCB9DQoJCX07DQoJfQ0KCXJldHVybiB7DQoJCXdpZHRoOiBlbGVtLm91dGVyV2lkdGgoKSwNCgkJaGVpZ2h0OiBlbGVtLm91dGVySGVpZ2h0KCksDQoJCW9mZnNldDogZWxlbS5vZmZzZXQoKQ0KCX07DQp9DQoNCiQucG9zaXRpb24gPSB7DQoJc2Nyb2xsYmFyV2lkdGg6IGZ1bmN0aW9uKCkgew0KCQlpZiAoIGNhY2hlZFNjcm9sbGJhcldpZHRoICE9PSB1bmRlZmluZWQgKSB7DQoJCQlyZXR1cm4gY2FjaGVkU2Nyb2xsYmFyV2lkdGg7DQoJCX0NCgkJdmFyIHcxLCB3MiwNCgkJCWRpdiA9ICQoICI8ZGl2IHN0eWxlPSdkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjUwcHg7aGVpZ2h0OjUwcHg7b3ZlcmZsb3c6aGlkZGVuOyc+PGRpdiBzdHlsZT0naGVpZ2h0OjEwMHB4O3dpZHRoOmF1dG87Jz48L2Rpdj48L2Rpdj4iICksDQoJCQlpbm5lckRpdiA9IGRpdi5jaGlsZHJlbigpWzBdOw0KDQoJCSQoICJib2R5IiApLmFwcGVuZCggZGl2ICk7DQoJCXcxID0gaW5uZXJEaXYub2Zmc2V0V2lkdGg7DQoJCWRpdi5jc3MoICJvdmVyZmxvdyIsICJzY3JvbGwiICk7DQoNCgkJdzIgPSBpbm5lckRpdi5vZmZzZXRXaWR0aDsNCg0KCQlpZiAoIHcxID09PSB3MiApIHsNCgkJCXcyID0gZGl2WzBdLmNsaWVudFdpZHRoOw0KCQl9DQoNCgkJZGl2LnJlbW92ZSgpOw0KDQoJCXJldHVybiAoY2FjaGVkU2Nyb2xsYmFyV2lkdGggPSB3MSAtIHcyKTsNCgl9LA0KCWdldFNjcm9sbEluZm86IGZ1bmN0aW9uKCB3aXRoaW4gKSB7DQoJCXZhciBvdmVyZmxvd1ggPSB3aXRoaW4uaXNXaW5kb3cgfHwgd2l0aGluLmlzRG9jdW1lbnQgPyAiIiA6DQoJCQkJd2l0aGluLmVsZW1lbnQuY3NzKCAib3ZlcmZsb3cteCIgKSwNCgkJCW92ZXJmbG93WSA9IHdpdGhpbi5pc1dpbmRvdyB8fCB3aXRoaW4uaXNEb2N1bWVudCA/ICIiIDoNCgkJCQl3aXRoaW4uZWxlbWVudC5jc3MoICJvdmVyZmxvdy15IiApLA0KCQkJaGFzT3ZlcmZsb3dYID0gb3ZlcmZsb3dYID09PSAic2Nyb2xsIiB8fA0KCQkJCSggb3ZlcmZsb3dYID09PSAiYXV0byIgJiYgd2l0aGluLndpZHRoIDwgd2l0aGluLmVsZW1lbnRbMF0uc2Nyb2xsV2lkdGggKSwNCgkJCWhhc092ZXJmbG93WSA9IG92ZXJmbG93WSA9PT0gInNjcm9sbCIgfHwNCgkJCQkoIG92ZXJmbG93WSA9PT0gImF1dG8iICYmIHdpdGhpbi5oZWlnaHQgPCB3aXRoaW4uZWxlbWVudFswXS5zY3JvbGxIZWlnaHQgKTsNCgkJcmV0dXJuIHsNCgkJCXdpZHRoOiBoYXNPdmVyZmxvd1kgPyAkLnBvc2l0aW9uLnNjcm9sbGJhcldpZHRoKCkgOiAwLA0KCQkJaGVpZ2h0OiBoYXNPdmVyZmxvd1ggPyAkLnBvc2l0aW9uLnNjcm9sbGJhcldpZHRoKCkgOiAwDQoJCX07DQoJfSwNCglnZXRXaXRoaW5JbmZvOiBmdW5jdGlvbiggZWxlbWVudCApIHsNCgkJdmFyIHdpdGhpbkVsZW1lbnQgPSAkKCBlbGVtZW50IHx8IHdpbmRvdyApLA0KCQkJaXNXaW5kb3cgPSAkLmlzV2luZG93KCB3aXRoaW5FbGVtZW50WzBdICksDQoJCQlpc0RvY3VtZW50ID0gISF3aXRoaW5FbGVtZW50WyAwIF0gJiYgd2l0aGluRWxlbWVudFsgMCBdLm5vZGVUeXBlID09PSA5Ow0KCQlyZXR1cm4gew0KCQkJZWxlbWVudDogd2l0aGluRWxlbWVudCwNCgkJCWlzV2luZG93OiBpc1dpbmRvdywNCgkJCWlzRG9jdW1lbnQ6IGlzRG9jdW1lbnQsDQoJCQlvZmZzZXQ6IHdpdGhpbkVsZW1lbnQub2Zmc2V0KCkgfHwgeyBsZWZ0OiAwLCB0b3A6IDAgfSwNCgkJCXNjcm9sbExlZnQ6IHdpdGhpbkVsZW1lbnQuc2Nyb2xsTGVmdCgpLA0KCQkJc2Nyb2xsVG9wOiB3aXRoaW5FbGVtZW50LnNjcm9sbFRvcCgpLA0KDQoJCQkvLyBzdXBwb3J0OiBqUXVlcnkgMS42LngNCgkJCS8vIGpRdWVyeSAxLjYgZG9lc24ndCBzdXBwb3J0IC5vdXRlcldpZHRoL0hlaWdodCgpIG9uIGRvY3VtZW50cyBvciB3aW5kb3dzDQoJCQl3aWR0aDogaXNXaW5kb3cgfHwgaXNEb2N1bWVudCA/IHdpdGhpbkVsZW1lbnQud2lkdGgoKSA6IHdpdGhpbkVsZW1lbnQub3V0ZXJXaWR0aCgpLA0KCQkJaGVpZ2h0OiBpc1dpbmRvdyB8fCBpc0RvY3VtZW50ID8gd2l0aGluRWxlbWVudC5oZWlnaHQoKSA6IHdpdGhpbkVsZW1lbnQub3V0ZXJIZWlnaHQoKQ0KCQl9Ow0KCX0NCn07DQoNCiQuZm4ucG9zaXRpb24gPSBmdW5jdGlvbiggb3B0aW9ucyApIHsNCglpZiAoICFvcHRpb25zIHx8ICFvcHRpb25zLm9mICkgew0KCQlyZXR1cm4gX3Bvc2l0aW9uLmFwcGx5KCB0aGlzLCBhcmd1bWVudHMgKTsNCgl9DQoNCgkvLyBtYWtlIGEgY29weSwgd2UgZG9uJ3Qgd2FudCB0byBtb2RpZnkgYXJndW1lbnRzDQoJb3B0aW9ucyA9ICQuZXh0ZW5kKCB7fSwgb3B0aW9ucyApOw0KDQoJdmFyIGF0T2Zmc2V0LCB0YXJnZXRXaWR0aCwgdGFyZ2V0SGVpZ2h0LCB0YXJnZXRPZmZzZXQsIGJhc2VQb3NpdGlvbiwgZGltZW5zaW9ucywNCgkJdGFyZ2V0ID0gJCggb3B0aW9ucy5vZiApLA0KCQl3aXRoaW4gPSAkLnBvc2l0aW9uLmdldFdpdGhpbkluZm8oIG9wdGlvbnMud2l0aGluICksDQoJCXNjcm9sbEluZm8gPSAkLnBvc2l0aW9uLmdldFNjcm9sbEluZm8oIHdpdGhpbiApLA0KCQljb2xsaXNpb24gPSAoIG9wdGlvbnMuY29sbGlzaW9uIHx8ICJmbGlwIiApLnNwbGl0KCAiICIgKSwNCgkJb2Zmc2V0cyA9IHt9Ow0KDQoJZGltZW5zaW9ucyA9IGdldERpbWVuc2lvbnMoIHRhcmdldCApOw0KCWlmICggdGFyZ2V0WzBdLnByZXZlbnREZWZhdWx0ICkgew0KCQkvLyBmb3JjZSBsZWZ0IHRvcCB0byBhbGxvdyBmbGlwcGluZw0KCQlvcHRpb25zLmF0ID0gImxlZnQgdG9wIjsNCgl9DQoJdGFyZ2V0V2lkdGggPSBkaW1lbnNpb25zLndpZHRoOw0KCXRhcmdldEhlaWdodCA9IGRpbWVuc2lvbnMuaGVpZ2h0Ow0KCXRhcmdldE9mZnNldCA9IGRpbWVuc2lvbnMub2Zmc2V0Ow0KCS8vIGNsb25lIHRvIHJldXNlIG9yaWdpbmFsIHRhcmdldE9mZnNldCBsYXRlcg0KCWJhc2VQb3NpdGlvbiA9ICQuZXh0ZW5kKCB7fSwgdGFyZ2V0T2Zmc2V0ICk7DQoNCgkvLyBmb3JjZSBteSBhbmQgYXQgdG8gaGF2ZSB2YWxpZCBob3Jpem9udGFsIGFuZCB2ZXJ0aWNhbCBwb3NpdGlvbnMNCgkvLyBpZiBhIHZhbHVlIGlzIG1pc3Npbmcgb3IgaW52YWxpZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gY2VudGVyDQoJJC5lYWNoKCBbICJteSIsICJhdCIgXSwgZnVuY3Rpb24oKSB7DQoJCXZhciBwb3MgPSAoIG9wdGlvbnNbIHRoaXMgXSB8fCAiIiApLnNwbGl0KCAiICIgKSwNCgkJCWhvcml6b250YWxPZmZzZXQsDQoJCQl2ZXJ0aWNhbE9mZnNldDsNCg0KCQlpZiAoIHBvcy5sZW5ndGggPT09IDEpIHsNCgkJCXBvcyA9IHJob3Jpem9udGFsLnRlc3QoIHBvc1sgMCBdICkgPw0KCQkJCXBvcy5jb25jYXQoIFsgImNlbnRlciIgXSApIDoNCgkJCQlydmVydGljYWwudGVzdCggcG9zWyAwIF0gKSA/DQoJCQkJCVsgImNlbnRlciIgXS5jb25jYXQoIHBvcyApIDoNCgkJCQkJWyAiY2VudGVyIiwgImNlbnRlciIgXTsNCgkJfQ0KCQlwb3NbIDAgXSA9IHJob3Jpem9udGFsLnRlc3QoIHBvc1sgMCBdICkgPyBwb3NbIDAgXSA6ICJjZW50ZXIiOw0KCQlwb3NbIDEgXSA9IHJ2ZXJ0aWNhbC50ZXN0KCBwb3NbIDEgXSApID8gcG9zWyAxIF0gOiAiY2VudGVyIjsNCg0KCQkvLyBjYWxjdWxhdGUgb2Zmc2V0cw0KCQlob3Jpem9udGFsT2Zmc2V0ID0gcm9mZnNldC5leGVjKCBwb3NbIDAgXSApOw0KCQl2ZXJ0aWNhbE9mZnNldCA9IHJvZmZzZXQuZXhlYyggcG9zWyAxIF0gKTsNCgkJb2Zmc2V0c1sgdGhpcyBdID0gWw0KCQkJaG9yaXpvbnRhbE9mZnNldCA/IGhvcml6b250YWxPZmZzZXRbIDAgXSA6IDAsDQoJCQl2ZXJ0aWNhbE9mZnNldCA/IHZlcnRpY2FsT2Zmc2V0WyAwIF0gOiAwDQoJCV07DQoNCgkJLy8gcmVkdWNlIHRvIGp1c3QgdGhlIHBvc2l0aW9ucyB3aXRob3V0IHRoZSBvZmZzZXRzDQoJCW9wdGlvbnNbIHRoaXMgXSA9IFsNCgkJCXJwb3NpdGlvbi5leGVjKCBwb3NbIDAgXSApWyAwIF0sDQoJCQlycG9zaXRpb24uZXhlYyggcG9zWyAxIF0gKVsgMCBdDQoJCV07DQoJfSk7DQoNCgkvLyBub3JtYWxpemUgY29sbGlzaW9uIG9wdGlvbg0KCWlmICggY29sbGlzaW9uLmxlbmd0aCA9PT0gMSApIHsNCgkJY29sbGlzaW9uWyAxIF0gPSBjb2xsaXNpb25bIDAgXTsNCgl9DQoNCglpZiAoIG9wdGlvbnMuYXRbIDAgXSA9PT0gInJpZ2h0IiApIHsNCgkJYmFzZVBvc2l0aW9uLmxlZnQgKz0gdGFyZ2V0V2lkdGg7DQoJfSBlbHNlIGlmICggb3B0aW9ucy5hdFsgMCBdID09PSAiY2VudGVyIiApIHsNCgkJYmFzZVBvc2l0aW9uLmxlZnQgKz0gdGFyZ2V0V2lkdGggLyAyOw0KCX0NCg0KCWlmICggb3B0aW9ucy5hdFsgMSBdID09PSAiYm90dG9tIiApIHsNCgkJYmFzZVBvc2l0aW9uLnRvcCArPSB0YXJnZXRIZWlnaHQ7DQoJfSBlbHNlIGlmICggb3B0aW9ucy5hdFsgMSBdID09PSAiY2VudGVyIiApIHsNCgkJYmFzZVBvc2l0aW9uLnRvcCArPSB0YXJnZXRIZWlnaHQgLyAyOw0KCX0NCg0KCWF0T2Zmc2V0ID0gZ2V0T2Zmc2V0cyggb2Zmc2V0cy5hdCwgdGFyZ2V0V2lkdGgsIHRhcmdldEhlaWdodCApOw0KCWJhc2VQb3NpdGlvbi5sZWZ0ICs9IGF0T2Zmc2V0WyAwIF07DQoJYmFzZVBvc2l0aW9uLnRvcCArPSBhdE9mZnNldFsgMSBdOw0KDQoJcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpIHsNCgkJdmFyIGNvbGxpc2lvblBvc2l0aW9uLCB1c2luZywNCgkJCWVsZW0gPSAkKCB0aGlzICksDQoJCQllbGVtV2lkdGggPSBlbGVtLm91dGVyV2lkdGgoKSwNCgkJCWVsZW1IZWlnaHQgPSBlbGVtLm91dGVySGVpZ2h0KCksDQoJCQltYXJnaW5MZWZ0ID0gcGFyc2VDc3MoIHRoaXMsICJtYXJnaW5MZWZ0IiApLA0KCQkJbWFyZ2luVG9wID0gcGFyc2VDc3MoIHRoaXMsICJtYXJnaW5Ub3AiICksDQoJCQljb2xsaXNpb25XaWR0aCA9IGVsZW1XaWR0aCArIG1hcmdpbkxlZnQgKyBwYXJzZUNzcyggdGhpcywgIm1hcmdpblJpZ2h0IiApICsgc2Nyb2xsSW5mby53aWR0aCwNCgkJCWNvbGxpc2lvbkhlaWdodCA9IGVsZW1IZWlnaHQgKyBtYXJnaW5Ub3AgKyBwYXJzZUNzcyggdGhpcywgIm1hcmdpbkJvdHRvbSIgKSArIHNjcm9sbEluZm8uaGVpZ2h0LA0KCQkJcG9zaXRpb24gPSAkLmV4dGVuZCgge30sIGJhc2VQb3NpdGlvbiApLA0KCQkJbXlPZmZzZXQgPSBnZXRPZmZzZXRzKCBvZmZzZXRzLm15LCBlbGVtLm91dGVyV2lkdGgoKSwgZWxlbS5vdXRlckhlaWdodCgpICk7DQoNCgkJaWYgKCBvcHRpb25zLm15WyAwIF0gPT09ICJyaWdodCIgKSB7DQoJCQlwb3NpdGlvbi5sZWZ0IC09IGVsZW1XaWR0aDsNCgkJfSBlbHNlIGlmICggb3B0aW9ucy5teVsgMCBdID09PSAiY2VudGVyIiApIHsNCgkJCXBvc2l0aW9uLmxlZnQgLT0gZWxlbVdpZHRoIC8gMjsNCgkJfQ0KDQoJCWlmICggb3B0aW9ucy5teVsgMSBdID09PSAiYm90dG9tIiApIHsNCgkJCXBvc2l0aW9uLnRvcCAtPSBlbGVtSGVpZ2h0Ow0KCQl9IGVsc2UgaWYgKCBvcHRpb25zLm15WyAxIF0gPT09ICJjZW50ZXIiICkgew0KCQkJcG9zaXRpb24udG9wIC09IGVsZW1IZWlnaHQgLyAyOw0KCQl9DQoNCgkJcG9zaXRpb24ubGVmdCArPSBteU9mZnNldFsgMCBdOw0KCQlwb3NpdGlvbi50b3AgKz0gbXlPZmZzZXRbIDEgXTsNCg0KCQkvLyBpZiB0aGUgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZnJhY3Rpb25zLCB0aGVuIHJvdW5kIGZvciBjb25zaXN0ZW50IHJlc3VsdHMNCgkJaWYgKCAhc3VwcG9ydHNPZmZzZXRGcmFjdGlvbnMgKSB7DQoJCQlwb3NpdGlvbi5sZWZ0ID0gcm91bmQoIHBvc2l0aW9uLmxlZnQgKTsNCgkJCXBvc2l0aW9uLnRvcCA9IHJvdW5kKCBwb3NpdGlvbi50b3AgKTsNCgkJfQ0KDQoJCWNvbGxpc2lvblBvc2l0aW9uID0gew0KCQkJbWFyZ2luTGVmdDogbWFyZ2luTGVmdCwNCgkJCW1hcmdpblRvcDogbWFyZ2luVG9wDQoJCX07DQoNCgkJJC5lYWNoKCBbICJsZWZ0IiwgInRvcCIgXSwgZnVuY3Rpb24oIGksIGRpciApIHsNCgkJCWlmICggJC51aS5wb3NpdGlvblsgY29sbGlzaW9uWyBpIF0gXSApIHsNCgkJCQkkLnVpLnBvc2l0aW9uWyBjb2xsaXNpb25bIGkgXSBdWyBkaXIgXSggcG9zaXRpb24sIHsNCgkJCQkJdGFyZ2V0V2lkdGg6IHRhcmdldFdpZHRoLA0KCQkJCQl0YXJnZXRIZWlnaHQ6IHRhcmdldEhlaWdodCwNCgkJCQkJZWxlbVdpZHRoOiBlbGVtV2lkdGgsDQoJCQkJCWVsZW1IZWlnaHQ6IGVsZW1IZWlnaHQsDQoJCQkJCWNvbGxpc2lvblBvc2l0aW9uOiBjb2xsaXNpb25Qb3NpdGlvbiwNCgkJCQkJY29sbGlzaW9uV2lkdGg6IGNvbGxpc2lvbldpZHRoLA0KCQkJCQljb2xsaXNpb25IZWlnaHQ6IGNvbGxpc2lvbkhlaWdodCwNCgkJCQkJb2Zmc2V0OiBbIGF0T2Zmc2V0WyAwIF0gKyBteU9mZnNldFsgMCBdLCBhdE9mZnNldCBbIDEgXSArIG15T2Zmc2V0WyAxIF0gXSwNCgkJCQkJbXk6IG9wdGlvbnMubXksDQoJCQkJCWF0OiBvcHRpb25zLmF0LA0KCQkJCQl3aXRoaW46IHdpdGhpbiwNCgkJCQkJZWxlbTogZWxlbQ0KCQkJCX0pOw0KCQkJfQ0KCQl9KTsNCg0KCQlpZiAoIG9wdGlvbnMudXNpbmcgKSB7DQoJCQkvLyBhZGRzIGZlZWRiYWNrIGFzIHNlY29uZCBhcmd1bWVudCB0byB1c2luZyBjYWxsYmFjaywgaWYgcHJlc2VudA0KCQkJdXNpbmcgPSBmdW5jdGlvbiggcHJvcHMgKSB7DQoJCQkJdmFyIGxlZnQgPSB0YXJnZXRPZmZzZXQubGVmdCAtIHBvc2l0aW9uLmxlZnQsDQoJCQkJCXJpZ2h0ID0gbGVmdCArIHRhcmdldFdpZHRoIC0gZWxlbVdpZHRoLA0KCQkJCQl0b3AgPSB0YXJnZXRPZmZzZXQudG9wIC0gcG9zaXRpb24udG9wLA0KCQkJCQlib3R0b20gPSB0b3AgKyB0YXJnZXRIZWlnaHQgLSBlbGVtSGVpZ2h0LA0KCQkJCQlmZWVkYmFjayA9IHsNCgkJCQkJCXRhcmdldDogew0KCQkJCQkJCWVsZW1lbnQ6IHRhcmdldCwNCgkJCQkJCQlsZWZ0OiB0YXJnZXRPZmZzZXQubGVmdCwNCgkJCQkJCQl0b3A6IHRhcmdldE9mZnNldC50b3AsDQoJCQkJCQkJd2lkdGg6IHRhcmdldFdpZHRoLA0KCQkJCQkJCWhlaWdodDogdGFyZ2V0SGVpZ2h0DQoJCQkJCQl9LA0KCQkJCQkJZWxlbWVudDogew0KCQkJCQkJCWVsZW1lbnQ6IGVsZW0sDQoJCQkJCQkJbGVmdDogcG9zaXRpb24ubGVmdCwNCgkJCQkJCQl0b3A6IHBvc2l0aW9uLnRvcCwNCgkJCQkJCQl3aWR0aDogZWxlbVdpZHRoLA0KCQkJCQkJCWhlaWdodDogZWxlbUhlaWdodA0KCQkJCQkJfSwNCgkJCQkJCWhvcml6b250YWw6IHJpZ2h0IDwgMCA/ICJsZWZ0IiA6IGxlZnQgPiAwID8gInJpZ2h0IiA6ICJjZW50ZXIiLA0KCQkJCQkJdmVydGljYWw6IGJvdHRvbSA8IDAgPyAidG9wIiA6IHRvcCA+IDAgPyAiYm90dG9tIiA6ICJtaWRkbGUiDQoJCQkJCX07DQoJCQkJaWYgKCB0YXJnZXRXaWR0aCA8IGVsZW1XaWR0aCAmJiBhYnMoIGxlZnQgKyByaWdodCApIDwgdGFyZ2V0V2lkdGggKSB7DQoJCQkJCWZlZWRiYWNrLmhvcml6b250YWwgPSAiY2VudGVyIjsNCgkJCQl9DQoJCQkJaWYgKCB0YXJnZXRIZWlnaHQgPCBlbGVtSGVpZ2h0ICYmIGFicyggdG9wICsgYm90dG9tICkgPCB0YXJnZXRIZWlnaHQgKSB7DQoJCQkJCWZlZWRiYWNrLnZlcnRpY2FsID0gIm1pZGRsZSI7DQoJCQkJfQ0KCQkJCWlmICggbWF4KCBhYnMoIGxlZnQgKSwgYWJzKCByaWdodCApICkgPiBtYXgoIGFicyggdG9wICksIGFicyggYm90dG9tICkgKSApIHsNCgkJCQkJZmVlZGJhY2suaW1wb3J0YW50ID0gImhvcml6b250YWwiOw0KCQkJCX0gZWxzZSB7DQoJCQkJCWZlZWRiYWNrLmltcG9ydGFudCA9ICJ2ZXJ0aWNhbCI7DQoJCQkJfQ0KCQkJCW9wdGlvbnMudXNpbmcuY2FsbCggdGhpcywgcHJvcHMsIGZlZWRiYWNrICk7DQoJCQl9Ow0KCQl9DQoNCgkJZWxlbS5vZmZzZXQoICQuZXh0ZW5kKCBwb3NpdGlvbiwgeyB1c2luZzogdXNpbmcgfSApICk7DQoJfSk7DQp9Ow0KDQokLnVpLnBvc2l0aW9uID0gew0KCWZpdDogew0KCQlsZWZ0OiBmdW5jdGlvbiggcG9zaXRpb24sIGRhdGEgKSB7DQoJCQl2YXIgd2l0aGluID0gZGF0YS53aXRoaW4sDQoJCQkJd2l0aGluT2Zmc2V0ID0gd2l0aGluLmlzV2luZG93ID8gd2l0aGluLnNjcm9sbExlZnQgOiB3aXRoaW4ub2Zmc2V0LmxlZnQsDQoJCQkJb3V0ZXJXaWR0aCA9IHdpdGhpbi53aWR0aCwNCgkJCQljb2xsaXNpb25Qb3NMZWZ0ID0gcG9zaXRpb24ubGVmdCAtIGRhdGEuY29sbGlzaW9uUG9zaXRpb24ubWFyZ2luTGVmdCwNCgkJCQlvdmVyTGVmdCA9IHdpdGhpbk9mZnNldCAtIGNvbGxpc2lvblBvc0xlZnQsDQoJCQkJb3ZlclJpZ2h0ID0gY29sbGlzaW9uUG9zTGVmdCArIGRhdGEuY29sbGlzaW9uV2lkdGggLSBvdXRlcldpZHRoIC0gd2l0aGluT2Zmc2V0LA0KCQkJCW5ld092ZXJSaWdodDsNCg0KCQkJLy8gZWxlbWVudCBpcyB3aWRlciB0aGFuIHdpdGhpbg0KCQkJaWYgKCBkYXRhLmNvbGxpc2lvbldpZHRoID4gb3V0ZXJXaWR0aCApIHsNCgkJCQkvLyBlbGVtZW50IGlzIGluaXRpYWxseSBvdmVyIHRoZSBsZWZ0IHNpZGUgb2Ygd2l0aGluDQoJCQkJaWYgKCBvdmVyTGVmdCA+IDAgJiYgb3ZlclJpZ2h0IDw9IDAgKSB7DQoJCQkJCW5ld092ZXJSaWdodCA9IHBvc2l0aW9uLmxlZnQgKyBvdmVyTGVmdCArIGRhdGEuY29sbGlzaW9uV2lkdGggLSBvdXRlcldpZHRoIC0gd2l0aGluT2Zmc2V0Ow0KCQkJCQlwb3NpdGlvbi5sZWZ0ICs9IG92ZXJMZWZ0IC0gbmV3T3ZlclJpZ2h0Ow0KCQkJCS8vIGVsZW1lbnQgaXMgaW5pdGlhbGx5IG92ZXIgcmlnaHQgc2lkZSBvZiB3aXRoaW4NCgkJCQl9IGVsc2UgaWYgKCBvdmVyUmlnaHQgPiAwICYmIG92ZXJMZWZ0IDw9IDAgKSB7DQoJCQkJCXBvc2l0aW9uLmxlZnQgPSB3aXRoaW5PZmZzZXQ7DQoJCQkJLy8gZWxlbWVudCBpcyBpbml0aWFsbHkgb3ZlciBib3RoIGxlZnQgYW5kIHJpZ2h0IHNpZGVzIG9mIHdpdGhpbg0KCQkJCX0gZWxzZSB7DQoJCQkJCWlmICggb3ZlckxlZnQgPiBvdmVyUmlnaHQgKSB7DQoJCQkJCQlwb3NpdGlvbi5sZWZ0ID0gd2l0aGluT2Zmc2V0ICsgb3V0ZXJXaWR0aCAtIGRhdGEuY29sbGlzaW9uV2lkdGg7DQoJCQkJCX0gZWxzZSB7DQoJCQkJCQlwb3NpdGlvbi5sZWZ0ID0gd2l0aGluT2Zmc2V0Ow0KCQkJCQl9DQoJCQkJfQ0KCQkJLy8gdG9vIGZhciBsZWZ0IC0+IGFsaWduIHdpdGggbGVmdCBlZGdlDQoJCQl9IGVsc2UgaWYgKCBvdmVyTGVmdCA+IDAgKSB7DQoJCQkJcG9zaXRpb24ubGVmdCArPSBvdmVyTGVmdDsNCgkJCS8vIHRvbyBmYXIgcmlnaHQgLT4gYWxpZ24gd2l0aCByaWdodCBlZGdlDQoJCQl9IGVsc2UgaWYgKCBvdmVyUmlnaHQgPiAwICkgew0KCQkJCXBvc2l0aW9uLmxlZnQgLT0gb3ZlclJpZ2h0Ow0KCQkJLy8gYWRqdXN0IGJhc2VkIG9uIHBvc2l0aW9uIGFuZCBtYXJnaW4NCgkJCX0gZWxzZSB7DQoJCQkJcG9zaXRpb24ubGVmdCA9IG1heCggcG9zaXRpb24ubGVmdCAtIGNvbGxpc2lvblBvc0xlZnQsIHBvc2l0aW9uLmxlZnQgKTsNCgkJCX0NCgkJfSwNCgkJdG9wOiBmdW5jdGlvbiggcG9zaXRpb24sIGRhdGEgKSB7DQoJCQl2YXIgd2l0aGluID0gZGF0YS53aXRoaW4sDQoJCQkJd2l0aGluT2Zmc2V0ID0gd2l0aGluLmlzV2luZG93ID8gd2l0aGluLnNjcm9sbFRvcCA6IHdpdGhpbi5vZmZzZXQudG9wLA0KCQkJCW91dGVySGVpZ2h0ID0gZGF0YS53aXRoaW4uaGVpZ2h0LA0KCQkJCWNvbGxpc2lvblBvc1RvcCA9IHBvc2l0aW9uLnRvcCAtIGRhdGEuY29sbGlzaW9uUG9zaXRpb24ubWFyZ2luVG9wLA0KCQkJCW92ZXJUb3AgPSB3aXRoaW5PZmZzZXQgLSBjb2xsaXNpb25Qb3NUb3AsDQoJCQkJb3ZlckJvdHRvbSA9IGNvbGxpc2lvblBvc1RvcCArIGRhdGEuY29sbGlzaW9uSGVpZ2h0IC0gb3V0ZXJIZWlnaHQgLSB3aXRoaW5PZmZzZXQsDQoJCQkJbmV3T3ZlckJvdHRvbTsNCg0KCQkJLy8gZWxlbWVudCBpcyB0YWxsZXIgdGhhbiB3aXRoaW4NCgkJCWlmICggZGF0YS5jb2xsaXNpb25IZWlnaHQgPiBvdXRlckhlaWdodCApIHsNCgkJCQkvLyBlbGVtZW50IGlzIGluaXRpYWxseSBvdmVyIHRoZSB0b3Agb2Ygd2l0aGluDQoJCQkJaWYgKCBvdmVyVG9wID4gMCAmJiBvdmVyQm90dG9tIDw9IDAgKSB7DQoJCQkJCW5ld092ZXJCb3R0b20gPSBwb3NpdGlvbi50b3AgKyBvdmVyVG9wICsgZGF0YS5jb2xsaXNpb25IZWlnaHQgLSBvdXRlckhlaWdodCAtIHdpdGhpbk9mZnNldDsNCgkJCQkJcG9zaXRpb24udG9wICs9IG92ZXJUb3AgLSBuZXdPdmVyQm90dG9tOw0KCQkJCS8vIGVsZW1lbnQgaXMgaW5pdGlhbGx5IG92ZXIgYm90dG9tIG9mIHdpdGhpbg0KCQkJCX0gZWxzZSBpZiAoIG92ZXJCb3R0b20gPiAwICYmIG92ZXJUb3AgPD0gMCApIHsNCgkJCQkJcG9zaXRpb24udG9wID0gd2l0aGluT2Zmc2V0Ow0KCQkJCS8vIGVsZW1lbnQgaXMgaW5pdGlhbGx5IG92ZXIgYm90aCB0b3AgYW5kIGJvdHRvbSBvZiB3aXRoaW4NCgkJCQl9IGVsc2Ugew0KCQkJCQlpZiAoIG92ZXJUb3AgPiBvdmVyQm90dG9tICkgew0KCQkJCQkJcG9zaXRpb24udG9wID0gd2l0aGluT2Zmc2V0ICsgb3V0ZXJIZWlnaHQgLSBkYXRhLmNvbGxpc2lvbkhlaWdodDsNCgkJCQkJfSBlbHNlIHsNCgkJCQkJCXBvc2l0aW9uLnRvcCA9IHdpdGhpbk9mZnNldDsNCgkJCQkJfQ0KCQkJCX0NCgkJCS8vIHRvbyBmYXIgdXAgLT4gYWxpZ24gd2l0aCB0b3ANCgkJCX0gZWxzZSBpZiAoIG92ZXJUb3AgPiAwICkgew0KCQkJCXBvc2l0aW9uLnRvcCArPSBvdmVyVG9wOw0KCQkJLy8gdG9vIGZhciBkb3duIC0+IGFsaWduIHdpdGggYm90dG9tIGVkZ2UNCgkJCX0gZWxzZSBpZiAoIG92ZXJCb3R0b20gPiAwICkgew0KCQkJCXBvc2l0aW9uLnRvcCAtPSBvdmVyQm90dG9tOw0KCQkJLy8gYWRqdXN0IGJhc2VkIG9uIHBvc2l0aW9uIGFuZCBtYXJnaW4NCgkJCX0gZWxzZSB7DQoJCQkJcG9zaXRpb24udG9wID0gbWF4KCBwb3NpdGlvbi50b3AgLSBjb2xsaXNpb25Qb3NUb3AsIHBvc2l0aW9uLnRvcCApOw0KCQkJfQ0KCQl9DQoJfSwNCglmbGlwOiB7DQoJCWxlZnQ6IGZ1bmN0aW9uKCBwb3NpdGlvbiwgZGF0YSApIHsNCgkJCXZhciB3aXRoaW4gPSBkYXRhLndpdGhpbiwNCgkJCQl3aXRoaW5PZmZzZXQgPSB3aXRoaW4ub2Zmc2V0LmxlZnQgKyB3aXRoaW4uc2Nyb2xsTGVmdCwNCgkJCQlvdXRlcldpZHRoID0gd2l0aGluLndpZHRoLA0KCQkJCW9mZnNldExlZnQgPSB3aXRoaW4uaXNXaW5kb3cgPyB3aXRoaW4uc2Nyb2xsTGVmdCA6IHdpdGhpbi5vZmZzZXQubGVmdCwNCgkJCQljb2xsaXNpb25Qb3NMZWZ0ID0gcG9zaXRpb24ubGVmdCAtIGRhdGEuY29sbGlzaW9uUG9zaXRpb24ubWFyZ2luTGVmdCwNCgkJCQlvdmVyTGVmdCA9IGNvbGxpc2lvblBvc0xlZnQgLSBvZmZzZXRMZWZ0LA0KCQkJCW92ZXJSaWdodCA9IGNvbGxpc2lvblBvc0xlZnQgKyBkYXRhLmNvbGxpc2lvbldpZHRoIC0gb3V0ZXJXaWR0aCAtIG9mZnNldExlZnQsDQoJCQkJbXlPZmZzZXQgPSBkYXRhLm15WyAwIF0gPT09ICJsZWZ0IiA/DQoJCQkJCS1kYXRhLmVsZW1XaWR0aCA6DQoJCQkJCWRhdGEubXlbIDAgXSA9PT0gInJpZ2h0IiA/DQoJCQkJCQlkYXRhLmVsZW1XaWR0aCA6DQoJCQkJCQkwLA0KCQkJCWF0T2Zmc2V0ID0gZGF0YS5hdFsgMCBdID09PSAibGVmdCIgPw0KCQkJCQlkYXRhLnRhcmdldFdpZHRoIDoNCgkJCQkJZGF0YS5hdFsgMCBdID09PSAicmlnaHQiID8NCgkJCQkJCS1kYXRhLnRhcmdldFdpZHRoIDoNCgkJCQkJCTAsDQoJCQkJb2Zmc2V0ID0gLTIgKiBkYXRhLm9mZnNldFsgMCBdLA0KCQkJCW5ld092ZXJSaWdodCwNCgkJCQluZXdPdmVyTGVmdDsNCg0KCQkJaWYgKCBvdmVyTGVmdCA8IDAgKSB7DQoJCQkJbmV3T3ZlclJpZ2h0ID0gcG9zaXRpb24ubGVmdCArIG15T2Zmc2V0ICsgYXRPZmZzZXQgKyBvZmZzZXQgKyBkYXRhLmNvbGxpc2lvbldpZHRoIC0gb3V0ZXJXaWR0aCAtIHdpdGhpbk9mZnNldDsNCgkJCQlpZiAoIG5ld092ZXJSaWdodCA8IDAgfHwgbmV3T3ZlclJpZ2h0IDwgYWJzKCBvdmVyTGVmdCApICkgew0KCQkJCQlwb3NpdGlvbi5sZWZ0ICs9IG15T2Zmc2V0ICsgYXRPZmZzZXQgKyBvZmZzZXQ7DQoJCQkJfQ0KCQkJfSBlbHNlIGlmICggb3ZlclJpZ2h0ID4gMCApIHsNCgkJCQluZXdPdmVyTGVmdCA9IHBvc2l0aW9uLmxlZnQgLSBkYXRhLmNvbGxpc2lvblBvc2l0aW9uLm1hcmdpbkxlZnQgKyBteU9mZnNldCArIGF0T2Zmc2V0ICsgb2Zmc2V0IC0gb2Zmc2V0TGVmdDsNCgkJCQlpZiAoIG5ld092ZXJMZWZ0ID4gMCB8fCBhYnMoIG5ld092ZXJMZWZ0ICkgPCBvdmVyUmlnaHQgKSB7DQoJCQkJCXBvc2l0aW9uLmxlZnQgKz0gbXlPZmZzZXQgKyBhdE9mZnNldCArIG9mZnNldDsNCgkJCQl9DQoJCQl9DQoJCX0sDQoJCXRvcDogZnVuY3Rpb24oIHBvc2l0aW9uLCBkYXRhICkgew0KCQkJdmFyIHdpdGhpbiA9IGRhdGEud2l0aGluLA0KCQkJCXdpdGhpbk9mZnNldCA9IHdpdGhpbi5vZmZzZXQudG9wICsgd2l0aGluLnNjcm9sbFRvcCwNCgkJCQlvdXRlckhlaWdodCA9IHdpdGhpbi5oZWlnaHQsDQoJCQkJb2Zmc2V0VG9wID0gd2l0aGluLmlzV2luZG93ID8gd2l0aGluLnNjcm9sbFRvcCA6IHdpdGhpbi5vZmZzZXQudG9wLA0KCQkJCWNvbGxpc2lvblBvc1RvcCA9IHBvc2l0aW9uLnRvcCAtIGRhdGEuY29sbGlzaW9uUG9zaXRpb24ubWFyZ2luVG9wLA0KCQkJCW92ZXJUb3AgPSBjb2xsaXNpb25Qb3NUb3AgLSBvZmZzZXRUb3AsDQoJCQkJb3ZlckJvdHRvbSA9IGNvbGxpc2lvblBvc1RvcCArIGRhdGEuY29sbGlzaW9uSGVpZ2h0IC0gb3V0ZXJIZWlnaHQgLSBvZmZzZXRUb3AsDQoJCQkJdG9wID0gZGF0YS5teVsgMSBdID09PSAidG9wIiwNCgkJCQlteU9mZnNldCA9IHRvcCA/DQoJCQkJCS1kYXRhLmVsZW1IZWlnaHQgOg0KCQkJCQlkYXRhLm15WyAxIF0gPT09ICJib3R0b20iID8NCgkJCQkJCWRhdGEuZWxlbUhlaWdodCA6DQoJCQkJCQkwLA0KCQkJCWF0T2Zmc2V0ID0gZGF0YS5hdFsgMSBdID09PSAidG9wIiA/DQoJCQkJCWRhdGEudGFyZ2V0SGVpZ2h0IDoNCgkJCQkJZGF0YS5hdFsgMSBdID09PSAiYm90dG9tIiA/DQoJCQkJCQktZGF0YS50YXJnZXRIZWlnaHQgOg0KCQkJCQkJMCwNCgkJCQlvZmZzZXQgPSAtMiAqIGRhdGEub2Zmc2V0WyAxIF0sDQoJCQkJbmV3T3ZlclRvcCwNCgkJCQluZXdPdmVyQm90dG9tOw0KCQkJaWYgKCBvdmVyVG9wIDwgMCApIHsNCgkJCQluZXdPdmVyQm90dG9tID0gcG9zaXRpb24udG9wICsgbXlPZmZzZXQgKyBhdE9mZnNldCArIG9mZnNldCArIGRhdGEuY29sbGlzaW9uSGVpZ2h0IC0gb3V0ZXJIZWlnaHQgLSB3aXRoaW5PZmZzZXQ7DQoJCQkJaWYgKCBuZXdPdmVyQm90dG9tIDwgMCB8fCBuZXdPdmVyQm90dG9tIDwgYWJzKCBvdmVyVG9wICkgKSB7DQoJCQkJCXBvc2l0aW9uLnRvcCArPSBteU9mZnNldCArIGF0T2Zmc2V0ICsgb2Zmc2V0Ow0KCQkJCX0NCgkJCX0gZWxzZSBpZiAoIG92ZXJCb3R0b20gPiAwICkgew0KCQkJCW5ld092ZXJUb3AgPSBwb3NpdGlvbi50b3AgLSBkYXRhLmNvbGxpc2lvblBvc2l0aW9uLm1hcmdpblRvcCArIG15T2Zmc2V0ICsgYXRPZmZzZXQgKyBvZmZzZXQgLSBvZmZzZXRUb3A7DQoJCQkJaWYgKCBuZXdPdmVyVG9wID4gMCB8fCBhYnMoIG5ld092ZXJUb3AgKSA8IG92ZXJCb3R0b20gKSB7DQoJCQkJCXBvc2l0aW9uLnRvcCArPSBteU9mZnNldCArIGF0T2Zmc2V0ICsgb2Zmc2V0Ow0KCQkJCX0NCgkJCX0NCgkJfQ0KCX0sDQoJZmxpcGZpdDogew0KCQlsZWZ0OiBmdW5jdGlvbigpIHsNCgkJCSQudWkucG9zaXRpb24uZmxpcC5sZWZ0LmFwcGx5KCB0aGlzLCBhcmd1bWVudHMgKTsNCgkJCSQudWkucG9zaXRpb24uZml0LmxlZnQuYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApOw0KCQl9LA0KCQl0b3A6IGZ1bmN0aW9uKCkgew0KCQkJJC51aS5wb3NpdGlvbi5mbGlwLnRvcC5hcHBseSggdGhpcywgYXJndW1lbnRzICk7DQoJCQkkLnVpLnBvc2l0aW9uLmZpdC50b3AuYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApOw0KCQl9DQoJfQ0KfTsNCg0KLy8gZnJhY3Rpb24gc3VwcG9ydCB0ZXN0DQooZnVuY3Rpb24oKSB7DQoJdmFyIHRlc3RFbGVtZW50LCB0ZXN0RWxlbWVudFBhcmVudCwgdGVzdEVsZW1lbnRTdHlsZSwgb2Zmc2V0TGVmdCwgaSwNCgkJYm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCAiYm9keSIgKVsgMCBdLA0KCQlkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCAiZGl2IiApOw0KDQoJLy9DcmVhdGUgYSAiZmFrZSBib2R5IiBmb3IgdGVzdGluZyBiYXNlZCBvbiBtZXRob2QgdXNlZCBpbiBqUXVlcnkuc3VwcG9ydA0KCXRlc3RFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggYm9keSA/ICJkaXYiIDogImJvZHkiICk7DQoJdGVzdEVsZW1lbnRTdHlsZSA9IHsNCgkJdmlzaWJpbGl0eTogImhpZGRlbiIsDQoJCXdpZHRoOiAwLA0KCQloZWlnaHQ6IDAsDQoJCWJvcmRlcjogMCwNCgkJbWFyZ2luOiAwLA0KCQliYWNrZ3JvdW5kOiAibm9uZSINCgl9Ow0KCWlmICggYm9keSApIHsNCgkJJC5leHRlbmQoIHRlc3RFbGVtZW50U3R5bGUsIHsNCgkJCXBvc2l0aW9uOiAiYWJzb2x1dGUiLA0KCQkJbGVmdDogIi0xMDAwcHgiLA0KCQkJdG9wOiAiLTEwMDBweCINCgkJfSk7DQoJfQ0KCWZvciAoIGkgaW4gdGVzdEVsZW1lbnRTdHlsZSApIHsNCgkJdGVzdEVsZW1lbnQuc3R5bGVbIGkgXSA9IHRlc3RFbGVtZW50U3R5bGVbIGkgXTsNCgl9DQoJdGVzdEVsZW1lbnQuYXBwZW5kQ2hpbGQoIGRpdiApOw0KCXRlc3RFbGVtZW50UGFyZW50ID0gYm9keSB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7DQoJdGVzdEVsZW1lbnRQYXJlbnQuaW5zZXJ0QmVmb3JlKCB0ZXN0RWxlbWVudCwgdGVzdEVsZW1lbnRQYXJlbnQuZmlyc3RDaGlsZCApOw0KDQoJZGl2LnN0eWxlLmNzc1RleHQgPSAicG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAxMC43NDMyMjIycHg7IjsNCg0KCW9mZnNldExlZnQgPSAkKCBkaXYgKS5vZmZzZXQoKS5sZWZ0Ow0KCXN1cHBvcnRzT2Zmc2V0RnJhY3Rpb25zID0gb2Zmc2V0TGVmdCA+IDEwICYmIG9mZnNldExlZnQgPCAxMTsNCg0KCXRlc3RFbGVtZW50LmlubmVySFRNTCA9ICIiOw0KCXRlc3RFbGVtZW50UGFyZW50LnJlbW92ZUNoaWxkKCB0ZXN0RWxlbWVudCApOw0KfSkoKTsNCg0KfSkoKTsNCg0KdmFyIHBvc2l0aW9uID0gJC51aS5wb3NpdGlvbjsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBEcmFnZ2FibGUgMS4xMS40DQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqDQogKiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9kcmFnZ2FibGUvDQogKi8NCg0KDQokLndpZGdldCgidWkuZHJhZ2dhYmxlIiwgJC51aS5tb3VzZSwgew0KCXZlcnNpb246ICIxLjExLjQiLA0KCXdpZGdldEV2ZW50UHJlZml4OiAiZHJhZyIsDQoJb3B0aW9uczogew0KCQlhZGRDbGFzc2VzOiB0cnVlLA0KCQlhcHBlbmRUbzogInBhcmVudCIsDQoJCWF4aXM6IGZhbHNlLA0KCQljb25uZWN0VG9Tb3J0YWJsZTogZmFsc2UsDQoJCWNvbnRhaW5tZW50OiBmYWxzZSwNCgkJY3Vyc29yOiAiYXV0byIsDQoJCWN1cnNvckF0OiBmYWxzZSwNCgkJZ3JpZDogZmFsc2UsDQoJCWhhbmRsZTogZmFsc2UsDQoJCWhlbHBlcjogIm9yaWdpbmFsIiwNCgkJaWZyYW1lRml4OiBmYWxzZSwNCgkJb3BhY2l0eTogZmFsc2UsDQoJCXJlZnJlc2hQb3NpdGlvbnM6IGZhbHNlLA0KCQlyZXZlcnQ6IGZhbHNlLA0KCQlyZXZlcnREdXJhdGlvbjogNTAwLA0KCQlzY29wZTogImRlZmF1bHQiLA0KCQlzY3JvbGw6IHRydWUsDQoJCXNjcm9sbFNlbnNpdGl2aXR5OiAyMCwNCgkJc2Nyb2xsU3BlZWQ6IDIwLA0KCQlzbmFwOiBmYWxzZSwNCgkJc25hcE1vZGU6ICJib3RoIiwNCgkJc25hcFRvbGVyYW5jZTogMjAsDQoJCXN0YWNrOiBmYWxzZSwNCgkJekluZGV4OiBmYWxzZSwNCg0KCQkvLyBjYWxsYmFja3MNCgkJZHJhZzogbnVsbCwNCgkJc3RhcnQ6IG51bGwsDQoJCXN0b3A6IG51bGwNCgl9LA0KCV9jcmVhdGU6IGZ1bmN0aW9uKCkgew0KDQoJCWlmICggdGhpcy5vcHRpb25zLmhlbHBlciA9PT0gIm9yaWdpbmFsIiApIHsNCgkJCXRoaXMuX3NldFBvc2l0aW9uUmVsYXRpdmUoKTsNCgkJfQ0KCQlpZiAodGhpcy5vcHRpb25zLmFkZENsYXNzZXMpew0KCQkJdGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS1kcmFnZ2FibGUiKTsNCgkJfQ0KCQlpZiAodGhpcy5vcHRpb25zLmRpc2FibGVkKXsNCgkJCXRoaXMuZWxlbWVudC5hZGRDbGFzcygidWktZHJhZ2dhYmxlLWRpc2FibGVkIik7DQoJCX0NCgkJdGhpcy5fc2V0SGFuZGxlQ2xhc3NOYW1lKCk7DQoNCgkJdGhpcy5fbW91c2VJbml0KCk7DQoJfSwNCg0KCV9zZXRPcHRpb246IGZ1bmN0aW9uKCBrZXksIHZhbHVlICkgew0KCQl0aGlzLl9zdXBlcigga2V5LCB2YWx1ZSApOw0KCQlpZiAoIGtleSA9PT0gImhhbmRsZSIgKSB7DQoJCQl0aGlzLl9yZW1vdmVIYW5kbGVDbGFzc05hbWUoKTsNCgkJCXRoaXMuX3NldEhhbmRsZUNsYXNzTmFtZSgpOw0KCQl9DQoJfSwNCg0KCV9kZXN0cm95OiBmdW5jdGlvbigpIHsNCgkJaWYgKCAoIHRoaXMuaGVscGVyIHx8IHRoaXMuZWxlbWVudCApLmlzKCAiLnVpLWRyYWdnYWJsZS1kcmFnZ2luZyIgKSApIHsNCgkJCXRoaXMuZGVzdHJveU9uQ2xlYXIgPSB0cnVlOw0KCQkJcmV0dXJuOw0KCQl9DQoJCXRoaXMuZWxlbWVudC5yZW1vdmVDbGFzcyggInVpLWRyYWdnYWJsZSB1aS1kcmFnZ2FibGUtZHJhZ2dpbmcgdWktZHJhZ2dhYmxlLWRpc2FibGVkIiApOw0KCQl0aGlzLl9yZW1vdmVIYW5kbGVDbGFzc05hbWUoKTsNCgkJdGhpcy5fbW91c2VEZXN0cm95KCk7DQoJfSwNCg0KCV9tb3VzZUNhcHR1cmU6IGZ1bmN0aW9uKGV2ZW50KSB7DQoJCXZhciBvID0gdGhpcy5vcHRpb25zOw0KDQoJCXRoaXMuX2JsdXJBY3RpdmVFbGVtZW50KCBldmVudCApOw0KDQoJCS8vIGFtb25nIG90aGVycywgcHJldmVudCBhIGRyYWcgb24gYSByZXNpemFibGUtaGFuZGxlDQoJCWlmICh0aGlzLmhlbHBlciB8fCBvLmRpc2FibGVkIHx8ICQoZXZlbnQudGFyZ2V0KS5jbG9zZXN0KCIudWktcmVzaXphYmxlLWhhbmRsZSIpLmxlbmd0aCA+IDApIHsNCgkJCXJldHVybiBmYWxzZTsNCgkJfQ0KDQoJCS8vUXVpdCBpZiB3ZSdyZSBub3Qgb24gYSB2YWxpZCBoYW5kbGUNCgkJdGhpcy5oYW5kbGUgPSB0aGlzLl9nZXRIYW5kbGUoZXZlbnQpOw0KCQlpZiAoIXRoaXMuaGFuZGxlKSB7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCg0KCQl0aGlzLl9ibG9ja0ZyYW1lcyggby5pZnJhbWVGaXggPT09IHRydWUgPyAiaWZyYW1lIiA6IG8uaWZyYW1lRml4ICk7DQoNCgkJcmV0dXJuIHRydWU7DQoNCgl9LA0KDQoJX2Jsb2NrRnJhbWVzOiBmdW5jdGlvbiggc2VsZWN0b3IgKSB7DQoJCXRoaXMuaWZyYW1lQmxvY2tzID0gdGhpcy5kb2N1bWVudC5maW5kKCBzZWxlY3RvciApLm1hcChmdW5jdGlvbigpIHsNCgkJCXZhciBpZnJhbWUgPSAkKCB0aGlzICk7DQoNCgkJCXJldHVybiAkKCAiPGRpdj4iICkNCgkJCQkuY3NzKCAicG9zaXRpb24iLCAiYWJzb2x1dGUiICkNCgkJCQkuYXBwZW5kVG8oIGlmcmFtZS5wYXJlbnQoKSApDQoJCQkJLm91dGVyV2lkdGgoIGlmcmFtZS5vdXRlcldpZHRoKCkgKQ0KCQkJCS5vdXRlckhlaWdodCggaWZyYW1lLm91dGVySGVpZ2h0KCkgKQ0KCQkJCS5vZmZzZXQoIGlmcmFtZS5vZmZzZXQoKSApWyAwIF07DQoJCX0pOw0KCX0sDQoNCglfdW5ibG9ja0ZyYW1lczogZnVuY3Rpb24oKSB7DQoJCWlmICggdGhpcy5pZnJhbWVCbG9ja3MgKSB7DQoJCQl0aGlzLmlmcmFtZUJsb2Nrcy5yZW1vdmUoKTsNCgkJCWRlbGV0ZSB0aGlzLmlmcmFtZUJsb2NrczsNCgkJfQ0KCX0sDQoNCglfYmx1ckFjdGl2ZUVsZW1lbnQ6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdmFyIGRvY3VtZW50ID0gdGhpcy5kb2N1bWVudFsgMCBdOw0KDQoJCS8vIE9ubHkgbmVlZCB0byBibHVyIGlmIHRoZSBldmVudCBvY2N1cnJlZCBvbiB0aGUgZHJhZ2dhYmxlIGl0c2VsZiwgc2VlICMxMDUyNw0KCQlpZiAoICF0aGlzLmhhbmRsZUVsZW1lbnQuaXMoIGV2ZW50LnRhcmdldCApICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJLy8gc3VwcG9ydDogSUU5DQoJCS8vIElFOSB0aHJvd3MgYW4gIlVuc3BlY2lmaWVkIGVycm9yIiBhY2Nlc3NpbmcgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBmcm9tIGFuIDxpZnJhbWU+DQoJCXRyeSB7DQoNCgkJCS8vIFN1cHBvcnQ6IElFOSwgSUUxMA0KCQkJLy8gSWYgdGhlIDxib2R5PiBpcyBibHVycmVkLCBJRSB3aWxsIHN3aXRjaCB3aW5kb3dzLCBzZWUgIzk1MjANCgkJCWlmICggZG9jdW1lbnQuYWN0aXZlRWxlbWVudCAmJiBkb2N1bWVudC5hY3RpdmVFbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgIT09ICJib2R5IiApIHsNCg0KCQkJCS8vIEJsdXIgYW55IGVsZW1lbnQgdGhhdCBjdXJyZW50bHkgaGFzIGZvY3VzLCBzZWUgIzQyNjENCgkJCQkkKCBkb2N1bWVudC5hY3RpdmVFbGVtZW50ICkuYmx1cigpOw0KCQkJfQ0KCQl9IGNhdGNoICggZXJyb3IgKSB7fQ0KCX0sDQoNCglfbW91c2VTdGFydDogZnVuY3Rpb24oZXZlbnQpIHsNCg0KCQl2YXIgbyA9IHRoaXMub3B0aW9uczsNCg0KCQkvL0NyZWF0ZSBhbmQgYXBwZW5kIHRoZSB2aXNpYmxlIGhlbHBlcg0KCQl0aGlzLmhlbHBlciA9IHRoaXMuX2NyZWF0ZUhlbHBlcihldmVudCk7DQoNCgkJdGhpcy5oZWxwZXIuYWRkQ2xhc3MoInVpLWRyYWdnYWJsZS1kcmFnZ2luZyIpOw0KDQoJCS8vQ2FjaGUgdGhlIGhlbHBlciBzaXplDQoJCXRoaXMuX2NhY2hlSGVscGVyUHJvcG9ydGlvbnMoKTsNCg0KCQkvL0lmIGRkbWFuYWdlciBpcyB1c2VkIGZvciBkcm9wcGFibGVzLCBzZXQgdGhlIGdsb2JhbCBkcmFnZ2FibGUNCgkJaWYgKCQudWkuZGRtYW5hZ2VyKSB7DQoJCQkkLnVpLmRkbWFuYWdlci5jdXJyZW50ID0gdGhpczsNCgkJfQ0KDQoJCS8qDQoJCSAqIC0gUG9zaXRpb24gZ2VuZXJhdGlvbiAtDQoJCSAqIFRoaXMgYmxvY2sgZ2VuZXJhdGVzIGV2ZXJ5dGhpbmcgcG9zaXRpb24gcmVsYXRlZCAtIGl0J3MgdGhlIGNvcmUgb2YgZHJhZ2dhYmxlcy4NCgkJICovDQoNCgkJLy9DYWNoZSB0aGUgbWFyZ2lucyBvZiB0aGUgb3JpZ2luYWwgZWxlbWVudA0KCQl0aGlzLl9jYWNoZU1hcmdpbnMoKTsNCg0KCQkvL1N0b3JlIHRoZSBoZWxwZXIncyBjc3MgcG9zaXRpb24NCgkJdGhpcy5jc3NQb3NpdGlvbiA9IHRoaXMuaGVscGVyLmNzcyggInBvc2l0aW9uIiApOw0KCQl0aGlzLnNjcm9sbFBhcmVudCA9IHRoaXMuaGVscGVyLnNjcm9sbFBhcmVudCggdHJ1ZSApOw0KCQl0aGlzLm9mZnNldFBhcmVudCA9IHRoaXMuaGVscGVyLm9mZnNldFBhcmVudCgpOw0KCQl0aGlzLmhhc0ZpeGVkQW5jZXN0b3IgPSB0aGlzLmhlbHBlci5wYXJlbnRzKCkuZmlsdGVyKGZ1bmN0aW9uKCkgew0KCQkJCXJldHVybiAkKCB0aGlzICkuY3NzKCAicG9zaXRpb24iICkgPT09ICJmaXhlZCI7DQoJCQl9KS5sZW5ndGggPiAwOw0KDQoJCS8vVGhlIGVsZW1lbnQncyBhYnNvbHV0ZSBwb3NpdGlvbiBvbiB0aGUgcGFnZSBtaW51cyBtYXJnaW5zDQoJCXRoaXMucG9zaXRpb25BYnMgPSB0aGlzLmVsZW1lbnQub2Zmc2V0KCk7DQoJCXRoaXMuX3JlZnJlc2hPZmZzZXRzKCBldmVudCApOw0KDQoJCS8vR2VuZXJhdGUgdGhlIG9yaWdpbmFsIHBvc2l0aW9uDQoJCXRoaXMub3JpZ2luYWxQb3NpdGlvbiA9IHRoaXMucG9zaXRpb24gPSB0aGlzLl9nZW5lcmF0ZVBvc2l0aW9uKCBldmVudCwgZmFsc2UgKTsNCgkJdGhpcy5vcmlnaW5hbFBhZ2VYID0gZXZlbnQucGFnZVg7DQoJCXRoaXMub3JpZ2luYWxQYWdlWSA9IGV2ZW50LnBhZ2VZOw0KDQoJCS8vQWRqdXN0IHRoZSBtb3VzZSBvZmZzZXQgcmVsYXRpdmUgdG8gdGhlIGhlbHBlciBpZiAiY3Vyc29yQXQiIGlzIHN1cHBsaWVkDQoJCShvLmN1cnNvckF0ICYmIHRoaXMuX2FkanVzdE9mZnNldEZyb21IZWxwZXIoby5jdXJzb3JBdCkpOw0KDQoJCS8vU2V0IGEgY29udGFpbm1lbnQgaWYgZ2l2ZW4gaW4gdGhlIG9wdGlvbnMNCgkJdGhpcy5fc2V0Q29udGFpbm1lbnQoKTsNCg0KCQkvL1RyaWdnZXIgZXZlbnQgKyBjYWxsYmFja3MNCgkJaWYgKHRoaXMuX3RyaWdnZXIoInN0YXJ0IiwgZXZlbnQpID09PSBmYWxzZSkgew0KCQkJdGhpcy5fY2xlYXIoKTsNCgkJCXJldHVybiBmYWxzZTsNCgkJfQ0KDQoJCS8vUmVjYWNoZSB0aGUgaGVscGVyIHNpemUNCgkJdGhpcy5fY2FjaGVIZWxwZXJQcm9wb3J0aW9ucygpOw0KDQoJCS8vUHJlcGFyZSB0aGUgZHJvcHBhYmxlIG9mZnNldHMNCgkJaWYgKCQudWkuZGRtYW5hZ2VyICYmICFvLmRyb3BCZWhhdmlvdXIpIHsNCgkJCSQudWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKHRoaXMsIGV2ZW50KTsNCgkJfQ0KDQoJCS8vIFJlc2V0IGhlbHBlcidzIHJpZ2h0L2JvdHRvbSBjc3MgaWYgdGhleSdyZSBzZXQgYW5kIHNldCBleHBsaWNpdCB3aWR0aC9oZWlnaHQgaW5zdGVhZA0KCQkvLyBhcyB0aGlzIHByZXZlbnRzIHJlc2l6aW5nIG9mIGVsZW1lbnRzIHdpdGggcmlnaHQvYm90dG9tIHNldCAoc2VlICM3NzcyKQ0KCQl0aGlzLl9ub3JtYWxpemVSaWdodEJvdHRvbSgpOw0KDQoJCXRoaXMuX21vdXNlRHJhZyhldmVudCwgdHJ1ZSk7IC8vRXhlY3V0ZSB0aGUgZHJhZyBvbmNlIC0gdGhpcyBjYXVzZXMgdGhlIGhlbHBlciBub3QgdG8gYmUgdmlzaWJsZSBiZWZvcmUgZ2V0dGluZyBpdHMgY29ycmVjdCBwb3NpdGlvbg0KDQoJCS8vSWYgdGhlIGRkbWFuYWdlciBpcyB1c2VkIGZvciBkcm9wcGFibGVzLCBpbmZvcm0gdGhlIG1hbmFnZXIgdGhhdCBkcmFnZ2luZyBoYXMgc3RhcnRlZCAoc2VlICM1MDAzKQ0KCQlpZiAoICQudWkuZGRtYW5hZ2VyICkgew0KCQkJJC51aS5kZG1hbmFnZXIuZHJhZ1N0YXJ0KHRoaXMsIGV2ZW50KTsNCgkJfQ0KDQoJCXJldHVybiB0cnVlOw0KCX0sDQoNCglfcmVmcmVzaE9mZnNldHM6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdGhpcy5vZmZzZXQgPSB7DQoJCQl0b3A6IHRoaXMucG9zaXRpb25BYnMudG9wIC0gdGhpcy5tYXJnaW5zLnRvcCwNCgkJCWxlZnQ6IHRoaXMucG9zaXRpb25BYnMubGVmdCAtIHRoaXMubWFyZ2lucy5sZWZ0LA0KCQkJc2Nyb2xsOiBmYWxzZSwNCgkJCXBhcmVudDogdGhpcy5fZ2V0UGFyZW50T2Zmc2V0KCksDQoJCQlyZWxhdGl2ZTogdGhpcy5fZ2V0UmVsYXRpdmVPZmZzZXQoKQ0KCQl9Ow0KDQoJCXRoaXMub2Zmc2V0LmNsaWNrID0gew0KCQkJbGVmdDogZXZlbnQucGFnZVggLSB0aGlzLm9mZnNldC5sZWZ0LA0KCQkJdG9wOiBldmVudC5wYWdlWSAtIHRoaXMub2Zmc2V0LnRvcA0KCQl9Ow0KCX0sDQoNCglfbW91c2VEcmFnOiBmdW5jdGlvbihldmVudCwgbm9Qcm9wYWdhdGlvbikgew0KCQkvLyByZXNldCBhbnkgbmVjZXNzYXJ5IGNhY2hlZCBwcm9wZXJ0aWVzIChzZWUgIzUwMDkpDQoJCWlmICggdGhpcy5oYXNGaXhlZEFuY2VzdG9yICkgew0KCQkJdGhpcy5vZmZzZXQucGFyZW50ID0gdGhpcy5fZ2V0UGFyZW50T2Zmc2V0KCk7DQoJCX0NCg0KCQkvL0NvbXB1dGUgdGhlIGhlbHBlcnMgcG9zaXRpb24NCgkJdGhpcy5wb3NpdGlvbiA9IHRoaXMuX2dlbmVyYXRlUG9zaXRpb24oIGV2ZW50LCB0cnVlICk7DQoJCXRoaXMucG9zaXRpb25BYnMgPSB0aGlzLl9jb252ZXJ0UG9zaXRpb25UbygiYWJzb2x1dGUiKTsNCg0KCQkvL0NhbGwgcGx1Z2lucyBhbmQgY2FsbGJhY2tzIGFuZCB1c2UgdGhlIHJlc3VsdGluZyBwb3NpdGlvbiBpZiBzb21ldGhpbmcgaXMgcmV0dXJuZWQNCgkJaWYgKCFub1Byb3BhZ2F0aW9uKSB7DQoJCQl2YXIgdWkgPSB0aGlzLl91aUhhc2goKTsNCgkJCWlmICh0aGlzLl90cmlnZ2VyKCJkcmFnIiwgZXZlbnQsIHVpKSA9PT0gZmFsc2UpIHsNCgkJCQl0aGlzLl9tb3VzZVVwKHt9KTsNCgkJCQlyZXR1cm4gZmFsc2U7DQoJCQl9DQoJCQl0aGlzLnBvc2l0aW9uID0gdWkucG9zaXRpb247DQoJCX0NCg0KCQl0aGlzLmhlbHBlclsgMCBdLnN0eWxlLmxlZnQgPSB0aGlzLnBvc2l0aW9uLmxlZnQgKyAicHgiOw0KCQl0aGlzLmhlbHBlclsgMCBdLnN0eWxlLnRvcCA9IHRoaXMucG9zaXRpb24udG9wICsgInB4IjsNCg0KCQlpZiAoJC51aS5kZG1hbmFnZXIpIHsNCgkJCSQudWkuZGRtYW5hZ2VyLmRyYWcodGhpcywgZXZlbnQpOw0KCQl9DQoNCgkJcmV0dXJuIGZhbHNlOw0KCX0sDQoNCglfbW91c2VTdG9wOiBmdW5jdGlvbihldmVudCkgew0KDQoJCS8vSWYgd2UgYXJlIHVzaW5nIGRyb3BwYWJsZXMsIGluZm9ybSB0aGUgbWFuYWdlciBhYm91dCB0aGUgZHJvcA0KCQl2YXIgdGhhdCA9IHRoaXMsDQoJCQlkcm9wcGVkID0gZmFsc2U7DQoJCWlmICgkLnVpLmRkbWFuYWdlciAmJiAhdGhpcy5vcHRpb25zLmRyb3BCZWhhdmlvdXIpIHsNCgkJCWRyb3BwZWQgPSAkLnVpLmRkbWFuYWdlci5kcm9wKHRoaXMsIGV2ZW50KTsNCgkJfQ0KDQoJCS8vaWYgYSBkcm9wIGNvbWVzIGZyb20gb3V0c2lkZSAoYSBzb3J0YWJsZSkNCgkJaWYgKHRoaXMuZHJvcHBlZCkgew0KCQkJZHJvcHBlZCA9IHRoaXMuZHJvcHBlZDsNCgkJCXRoaXMuZHJvcHBlZCA9IGZhbHNlOw0KCQl9DQoNCgkJaWYgKCh0aGlzLm9wdGlvbnMucmV2ZXJ0ID09PSAiaW52YWxpZCIgJiYgIWRyb3BwZWQpIHx8ICh0aGlzLm9wdGlvbnMucmV2ZXJ0ID09PSAidmFsaWQiICYmIGRyb3BwZWQpIHx8IHRoaXMub3B0aW9ucy5yZXZlcnQgPT09IHRydWUgfHwgKCQuaXNGdW5jdGlvbih0aGlzLm9wdGlvbnMucmV2ZXJ0KSAmJiB0aGlzLm9wdGlvbnMucmV2ZXJ0LmNhbGwodGhpcy5lbGVtZW50LCBkcm9wcGVkKSkpIHsNCgkJCSQodGhpcy5oZWxwZXIpLmFuaW1hdGUodGhpcy5vcmlnaW5hbFBvc2l0aW9uLCBwYXJzZUludCh0aGlzLm9wdGlvbnMucmV2ZXJ0RHVyYXRpb24sIDEwKSwgZnVuY3Rpb24oKSB7DQoJCQkJaWYgKHRoYXQuX3RyaWdnZXIoInN0b3AiLCBldmVudCkgIT09IGZhbHNlKSB7DQoJCQkJCXRoYXQuX2NsZWFyKCk7DQoJCQkJfQ0KCQkJfSk7DQoJCX0gZWxzZSB7DQoJCQlpZiAodGhpcy5fdHJpZ2dlcigic3RvcCIsIGV2ZW50KSAhPT0gZmFsc2UpIHsNCgkJCQl0aGlzLl9jbGVhcigpOw0KCQkJfQ0KCQl9DQoNCgkJcmV0dXJuIGZhbHNlOw0KCX0sDQoNCglfbW91c2VVcDogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl0aGlzLl91bmJsb2NrRnJhbWVzKCk7DQoNCgkJLy9JZiB0aGUgZGRtYW5hZ2VyIGlzIHVzZWQgZm9yIGRyb3BwYWJsZXMsIGluZm9ybSB0aGUgbWFuYWdlciB0aGF0IGRyYWdnaW5nIGhhcyBzdG9wcGVkIChzZWUgIzUwMDMpDQoJCWlmICggJC51aS5kZG1hbmFnZXIgKSB7DQoJCQkkLnVpLmRkbWFuYWdlci5kcmFnU3RvcCh0aGlzLCBldmVudCk7DQoJCX0NCg0KCQkvLyBPbmx5IG5lZWQgdG8gZm9jdXMgaWYgdGhlIGV2ZW50IG9jY3VycmVkIG9uIHRoZSBkcmFnZ2FibGUgaXRzZWxmLCBzZWUgIzEwNTI3DQoJCWlmICggdGhpcy5oYW5kbGVFbGVtZW50LmlzKCBldmVudC50YXJnZXQgKSApIHsNCgkJCS8vIFRoZSBpbnRlcmFjdGlvbiBpcyBvdmVyOyB3aGV0aGVyIG9yIG5vdCB0aGUgY2xpY2sgcmVzdWx0ZWQgaW4gYSBkcmFnLCBmb2N1cyB0aGUgZWxlbWVudA0KCQkJdGhpcy5lbGVtZW50LmZvY3VzKCk7DQoJCX0NCg0KCQlyZXR1cm4gJC51aS5tb3VzZS5wcm90b3R5cGUuX21vdXNlVXAuY2FsbCh0aGlzLCBldmVudCk7DQoJfSwNCg0KCWNhbmNlbDogZnVuY3Rpb24oKSB7DQoNCgkJaWYgKHRoaXMuaGVscGVyLmlzKCIudWktZHJhZ2dhYmxlLWRyYWdnaW5nIikpIHsNCgkJCXRoaXMuX21vdXNlVXAoe30pOw0KCQl9IGVsc2Ugew0KCQkJdGhpcy5fY2xlYXIoKTsNCgkJfQ0KDQoJCXJldHVybiB0aGlzOw0KDQoJfSwNCg0KCV9nZXRIYW5kbGU6IGZ1bmN0aW9uKGV2ZW50KSB7DQoJCXJldHVybiB0aGlzLm9wdGlvbnMuaGFuZGxlID8NCgkJCSEhJCggZXZlbnQudGFyZ2V0ICkuY2xvc2VzdCggdGhpcy5lbGVtZW50LmZpbmQoIHRoaXMub3B0aW9ucy5oYW5kbGUgKSApLmxlbmd0aCA6DQoJCQl0cnVlOw0KCX0sDQoNCglfc2V0SGFuZGxlQ2xhc3NOYW1lOiBmdW5jdGlvbigpIHsNCgkJdGhpcy5oYW5kbGVFbGVtZW50ID0gdGhpcy5vcHRpb25zLmhhbmRsZSA/DQoJCQl0aGlzLmVsZW1lbnQuZmluZCggdGhpcy5vcHRpb25zLmhhbmRsZSApIDogdGhpcy5lbGVtZW50Ow0KCQl0aGlzLmhhbmRsZUVsZW1lbnQuYWRkQ2xhc3MoICJ1aS1kcmFnZ2FibGUtaGFuZGxlIiApOw0KCX0sDQoNCglfcmVtb3ZlSGFuZGxlQ2xhc3NOYW1lOiBmdW5jdGlvbigpIHsNCgkJdGhpcy5oYW5kbGVFbGVtZW50LnJlbW92ZUNsYXNzKCAidWktZHJhZ2dhYmxlLWhhbmRsZSIgKTsNCgl9LA0KDQoJX2NyZWF0ZUhlbHBlcjogZnVuY3Rpb24oZXZlbnQpIHsNCg0KCQl2YXIgbyA9IHRoaXMub3B0aW9ucywNCgkJCWhlbHBlcklzRnVuY3Rpb24gPSAkLmlzRnVuY3Rpb24oIG8uaGVscGVyICksDQoJCQloZWxwZXIgPSBoZWxwZXJJc0Z1bmN0aW9uID8NCgkJCQkkKCBvLmhlbHBlci5hcHBseSggdGhpcy5lbGVtZW50WyAwIF0sIFsgZXZlbnQgXSApICkgOg0KCQkJCSggby5oZWxwZXIgPT09ICJjbG9uZSIgPw0KCQkJCQl0aGlzLmVsZW1lbnQuY2xvbmUoKS5yZW1vdmVBdHRyKCAiaWQiICkgOg0KCQkJCQl0aGlzLmVsZW1lbnQgKTsNCg0KCQlpZiAoIWhlbHBlci5wYXJlbnRzKCJib2R5IikubGVuZ3RoKSB7DQoJCQloZWxwZXIuYXBwZW5kVG8oKG8uYXBwZW5kVG8gPT09ICJwYXJlbnQiID8gdGhpcy5lbGVtZW50WzBdLnBhcmVudE5vZGUgOiBvLmFwcGVuZFRvKSk7DQoJCX0NCg0KCQkvLyBodHRwOi8vYnVncy5qcXVlcnl1aS5jb20vdGlja2V0Lzk0NDYNCgkJLy8gYSBoZWxwZXIgZnVuY3Rpb24gY2FuIHJldHVybiB0aGUgb3JpZ2luYWwgZWxlbWVudA0KCQkvLyB3aGljaCB3b3VsZG4ndCBoYXZlIGJlZW4gc2V0IHRvIHJlbGF0aXZlIGluIF9jcmVhdGUNCgkJaWYgKCBoZWxwZXJJc0Z1bmN0aW9uICYmIGhlbHBlclsgMCBdID09PSB0aGlzLmVsZW1lbnRbIDAgXSApIHsNCgkJCXRoaXMuX3NldFBvc2l0aW9uUmVsYXRpdmUoKTsNCgkJfQ0KDQoJCWlmIChoZWxwZXJbMF0gIT09IHRoaXMuZWxlbWVudFswXSAmJiAhKC8oZml4ZWR8YWJzb2x1dGUpLykudGVzdChoZWxwZXIuY3NzKCJwb3NpdGlvbiIpKSkgew0KCQkJaGVscGVyLmNzcygicG9zaXRpb24iLCAiYWJzb2x1dGUiKTsNCgkJfQ0KDQoJCXJldHVybiBoZWxwZXI7DQoNCgl9LA0KDQoJX3NldFBvc2l0aW9uUmVsYXRpdmU6IGZ1bmN0aW9uKCkgew0KCQlpZiAoICEoIC9eKD86cnxhfGYpLyApLnRlc3QoIHRoaXMuZWxlbWVudC5jc3MoICJwb3NpdGlvbiIgKSApICkgew0KCQkJdGhpcy5lbGVtZW50WyAwIF0uc3R5bGUucG9zaXRpb24gPSAicmVsYXRpdmUiOw0KCQl9DQoJfSwNCg0KCV9hZGp1c3RPZmZzZXRGcm9tSGVscGVyOiBmdW5jdGlvbihvYmopIHsNCgkJaWYgKHR5cGVvZiBvYmogPT09ICJzdHJpbmciKSB7DQoJCQlvYmogPSBvYmouc3BsaXQoIiAiKTsNCgkJfQ0KCQlpZiAoJC5pc0FycmF5KG9iaikpIHsNCgkJCW9iaiA9IHsgbGVmdDogK29ialswXSwgdG9wOiArb2JqWzFdIHx8IDAgfTsNCgkJfQ0KCQlpZiAoImxlZnQiIGluIG9iaikgew0KCQkJdGhpcy5vZmZzZXQuY2xpY2subGVmdCA9IG9iai5sZWZ0ICsgdGhpcy5tYXJnaW5zLmxlZnQ7DQoJCX0NCgkJaWYgKCJyaWdodCIgaW4gb2JqKSB7DQoJCQl0aGlzLm9mZnNldC5jbGljay5sZWZ0ID0gdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aCAtIG9iai5yaWdodCArIHRoaXMubWFyZ2lucy5sZWZ0Ow0KCQl9DQoJCWlmICgidG9wIiBpbiBvYmopIHsNCgkJCXRoaXMub2Zmc2V0LmNsaWNrLnRvcCA9IG9iai50b3AgKyB0aGlzLm1hcmdpbnMudG9wOw0KCQl9DQoJCWlmICgiYm90dG9tIiBpbiBvYmopIHsNCgkJCXRoaXMub2Zmc2V0LmNsaWNrLnRvcCA9IHRoaXMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0IC0gb2JqLmJvdHRvbSArIHRoaXMubWFyZ2lucy50b3A7DQoJCX0NCgl9LA0KDQoJX2lzUm9vdE5vZGU6IGZ1bmN0aW9uKCBlbGVtZW50ICkgew0KCQlyZXR1cm4gKCAvKGh0bWx8Ym9keSkvaSApLnRlc3QoIGVsZW1lbnQudGFnTmFtZSApIHx8IGVsZW1lbnQgPT09IHRoaXMuZG9jdW1lbnRbIDAgXTsNCgl9LA0KDQoJX2dldFBhcmVudE9mZnNldDogZnVuY3Rpb24oKSB7DQoNCgkJLy9HZXQgdGhlIG9mZnNldFBhcmVudCBhbmQgY2FjaGUgaXRzIHBvc2l0aW9uDQoJCXZhciBwbyA9IHRoaXMub2Zmc2V0UGFyZW50Lm9mZnNldCgpLA0KCQkJZG9jdW1lbnQgPSB0aGlzLmRvY3VtZW50WyAwIF07DQoNCgkJLy8gVGhpcyBpcyBhIHNwZWNpYWwgY2FzZSB3aGVyZSB3ZSBuZWVkIHRvIG1vZGlmeSBhIG9mZnNldCBjYWxjdWxhdGVkIG9uIHN0YXJ0LCBzaW5jZSB0aGUgZm9sbG93aW5nIGhhcHBlbmVkOg0KCQkvLyAxLiBUaGUgcG9zaXRpb24gb2YgdGhlIGhlbHBlciBpcyBhYnNvbHV0ZSwgc28gaXQncyBwb3NpdGlvbiBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBuZXh0IHBvc2l0aW9uZWQgcGFyZW50DQoJCS8vIDIuIFRoZSBhY3R1YWwgb2Zmc2V0IHBhcmVudCBpcyBhIGNoaWxkIG9mIHRoZSBzY3JvbGwgcGFyZW50LCBhbmQgdGhlIHNjcm9sbCBwYXJlbnQgaXNuJ3QgdGhlIGRvY3VtZW50LCB3aGljaCBtZWFucyB0aGF0DQoJCS8vICAgIHRoZSBzY3JvbGwgaXMgaW5jbHVkZWQgaW4gdGhlIGluaXRpYWwgY2FsY3VsYXRpb24gb2YgdGhlIG9mZnNldCBvZiB0aGUgcGFyZW50LCBhbmQgbmV2ZXIgcmVjYWxjdWxhdGVkIHVwb24gZHJhZw0KCQlpZiAodGhpcy5jc3NQb3NpdGlvbiA9PT0gImFic29sdXRlIiAmJiB0aGlzLnNjcm9sbFBhcmVudFswXSAhPT0gZG9jdW1lbnQgJiYgJC5jb250YWlucyh0aGlzLnNjcm9sbFBhcmVudFswXSwgdGhpcy5vZmZzZXRQYXJlbnRbMF0pKSB7DQoJCQlwby5sZWZ0ICs9IHRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQoKTsNCgkJCXBvLnRvcCArPSB0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKTsNCgkJfQ0KDQoJCWlmICggdGhpcy5faXNSb290Tm9kZSggdGhpcy5vZmZzZXRQYXJlbnRbIDAgXSApICkgew0KCQkJcG8gPSB7IHRvcDogMCwgbGVmdDogMCB9Ow0KCQl9DQoNCgkJcmV0dXJuIHsNCgkJCXRvcDogcG8udG9wICsgKHBhcnNlSW50KHRoaXMub2Zmc2V0UGFyZW50LmNzcygiYm9yZGVyVG9wV2lkdGgiKSwgMTApIHx8IDApLA0KCQkJbGVmdDogcG8ubGVmdCArIChwYXJzZUludCh0aGlzLm9mZnNldFBhcmVudC5jc3MoImJvcmRlckxlZnRXaWR0aCIpLCAxMCkgfHwgMCkNCgkJfTsNCg0KCX0sDQoNCglfZ2V0UmVsYXRpdmVPZmZzZXQ6IGZ1bmN0aW9uKCkgew0KCQlpZiAoIHRoaXMuY3NzUG9zaXRpb24gIT09ICJyZWxhdGl2ZSIgKSB7DQoJCQlyZXR1cm4geyB0b3A6IDAsIGxlZnQ6IDAgfTsNCgkJfQ0KDQoJCXZhciBwID0gdGhpcy5lbGVtZW50LnBvc2l0aW9uKCksDQoJCQlzY3JvbGxJc1Jvb3ROb2RlID0gdGhpcy5faXNSb290Tm9kZSggdGhpcy5zY3JvbGxQYXJlbnRbIDAgXSApOw0KDQoJCXJldHVybiB7DQoJCQl0b3A6IHAudG9wIC0gKCBwYXJzZUludCh0aGlzLmhlbHBlci5jc3MoICJ0b3AiICksIDEwKSB8fCAwICkgKyAoICFzY3JvbGxJc1Jvb3ROb2RlID8gdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsVG9wKCkgOiAwICksDQoJCQlsZWZ0OiBwLmxlZnQgLSAoIHBhcnNlSW50KHRoaXMuaGVscGVyLmNzcyggImxlZnQiICksIDEwKSB8fCAwICkgKyAoICFzY3JvbGxJc1Jvb3ROb2RlID8gdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCgpIDogMCApDQoJCX07DQoNCgl9LA0KDQoJX2NhY2hlTWFyZ2luczogZnVuY3Rpb24oKSB7DQoJCXRoaXMubWFyZ2lucyA9IHsNCgkJCWxlZnQ6IChwYXJzZUludCh0aGlzLmVsZW1lbnQuY3NzKCJtYXJnaW5MZWZ0IiksIDEwKSB8fCAwKSwNCgkJCXRvcDogKHBhcnNlSW50KHRoaXMuZWxlbWVudC5jc3MoIm1hcmdpblRvcCIpLCAxMCkgfHwgMCksDQoJCQlyaWdodDogKHBhcnNlSW50KHRoaXMuZWxlbWVudC5jc3MoIm1hcmdpblJpZ2h0IiksIDEwKSB8fCAwKSwNCgkJCWJvdHRvbTogKHBhcnNlSW50KHRoaXMuZWxlbWVudC5jc3MoIm1hcmdpbkJvdHRvbSIpLCAxMCkgfHwgMCkNCgkJfTsNCgl9LA0KDQoJX2NhY2hlSGVscGVyUHJvcG9ydGlvbnM6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLmhlbHBlclByb3BvcnRpb25zID0gew0KCQkJd2lkdGg6IHRoaXMuaGVscGVyLm91dGVyV2lkdGgoKSwNCgkJCWhlaWdodDogdGhpcy5oZWxwZXIub3V0ZXJIZWlnaHQoKQ0KCQl9Ow0KCX0sDQoNCglfc2V0Q29udGFpbm1lbnQ6IGZ1bmN0aW9uKCkgew0KDQoJCXZhciBpc1VzZXJTY3JvbGxhYmxlLCBjLCBjZSwNCgkJCW8gPSB0aGlzLm9wdGlvbnMsDQoJCQlkb2N1bWVudCA9IHRoaXMuZG9jdW1lbnRbIDAgXTsNCg0KCQl0aGlzLnJlbGF0aXZlQ29udGFpbmVyID0gbnVsbDsNCg0KCQlpZiAoICFvLmNvbnRhaW5tZW50ICkgew0KCQkJdGhpcy5jb250YWlubWVudCA9IG51bGw7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQlpZiAoIG8uY29udGFpbm1lbnQgPT09ICJ3aW5kb3ciICkgew0KCQkJdGhpcy5jb250YWlubWVudCA9IFsNCgkJCQkkKCB3aW5kb3cgKS5zY3JvbGxMZWZ0KCkgLSB0aGlzLm9mZnNldC5yZWxhdGl2ZS5sZWZ0IC0gdGhpcy5vZmZzZXQucGFyZW50LmxlZnQsDQoJCQkJJCggd2luZG93ICkuc2Nyb2xsVG9wKCkgLSB0aGlzLm9mZnNldC5yZWxhdGl2ZS50b3AgLSB0aGlzLm9mZnNldC5wYXJlbnQudG9wLA0KCQkJCSQoIHdpbmRvdyApLnNjcm9sbExlZnQoKSArICQoIHdpbmRvdyApLndpZHRoKCkgLSB0aGlzLmhlbHBlclByb3BvcnRpb25zLndpZHRoIC0gdGhpcy5tYXJnaW5zLmxlZnQsDQoJCQkJJCggd2luZG93ICkuc2Nyb2xsVG9wKCkgKyAoICQoIHdpbmRvdyApLmhlaWdodCgpIHx8IGRvY3VtZW50LmJvZHkucGFyZW50Tm9kZS5zY3JvbGxIZWlnaHQgKSAtIHRoaXMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0IC0gdGhpcy5tYXJnaW5zLnRvcA0KCQkJXTsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCWlmICggby5jb250YWlubWVudCA9PT0gImRvY3VtZW50Iikgew0KCQkJdGhpcy5jb250YWlubWVudCA9IFsNCgkJCQkwLA0KCQkJCTAsDQoJCQkJJCggZG9jdW1lbnQgKS53aWR0aCgpIC0gdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aCAtIHRoaXMubWFyZ2lucy5sZWZ0LA0KCQkJCSggJCggZG9jdW1lbnQgKS5oZWlnaHQoKSB8fCBkb2N1bWVudC5ib2R5LnBhcmVudE5vZGUuc2Nyb2xsSGVpZ2h0ICkgLSB0aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodCAtIHRoaXMubWFyZ2lucy50b3ANCgkJCV07DQoJCQlyZXR1cm47DQoJCX0NCg0KCQlpZiAoIG8uY29udGFpbm1lbnQuY29uc3RydWN0b3IgPT09IEFycmF5ICkgew0KCQkJdGhpcy5jb250YWlubWVudCA9IG8uY29udGFpbm1lbnQ7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQlpZiAoIG8uY29udGFpbm1lbnQgPT09ICJwYXJlbnQiICkgew0KCQkJby5jb250YWlubWVudCA9IHRoaXMuaGVscGVyWyAwIF0ucGFyZW50Tm9kZTsNCgkJfQ0KDQoJCWMgPSAkKCBvLmNvbnRhaW5tZW50ICk7DQoJCWNlID0gY1sgMCBdOw0KDQoJCWlmICggIWNlICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJaXNVc2VyU2Nyb2xsYWJsZSA9IC8oc2Nyb2xsfGF1dG8pLy50ZXN0KCBjLmNzcyggIm92ZXJmbG93IiApICk7DQoNCgkJdGhpcy5jb250YWlubWVudCA9IFsNCgkJCSggcGFyc2VJbnQoIGMuY3NzKCAiYm9yZGVyTGVmdFdpZHRoIiApLCAxMCApIHx8IDAgKSArICggcGFyc2VJbnQoIGMuY3NzKCAicGFkZGluZ0xlZnQiICksIDEwICkgfHwgMCApLA0KCQkJKCBwYXJzZUludCggYy5jc3MoICJib3JkZXJUb3BXaWR0aCIgKSwgMTAgKSB8fCAwICkgKyAoIHBhcnNlSW50KCBjLmNzcyggInBhZGRpbmdUb3AiICksIDEwICkgfHwgMCApLA0KCQkJKCBpc1VzZXJTY3JvbGxhYmxlID8gTWF0aC5tYXgoIGNlLnNjcm9sbFdpZHRoLCBjZS5vZmZzZXRXaWR0aCApIDogY2Uub2Zmc2V0V2lkdGggKSAtDQoJCQkJKCBwYXJzZUludCggYy5jc3MoICJib3JkZXJSaWdodFdpZHRoIiApLCAxMCApIHx8IDAgKSAtDQoJCQkJKCBwYXJzZUludCggYy5jc3MoICJwYWRkaW5nUmlnaHQiICksIDEwICkgfHwgMCApIC0NCgkJCQl0aGlzLmhlbHBlclByb3BvcnRpb25zLndpZHRoIC0NCgkJCQl0aGlzLm1hcmdpbnMubGVmdCAtDQoJCQkJdGhpcy5tYXJnaW5zLnJpZ2h0LA0KCQkJKCBpc1VzZXJTY3JvbGxhYmxlID8gTWF0aC5tYXgoIGNlLnNjcm9sbEhlaWdodCwgY2Uub2Zmc2V0SGVpZ2h0ICkgOiBjZS5vZmZzZXRIZWlnaHQgKSAtDQoJCQkJKCBwYXJzZUludCggYy5jc3MoICJib3JkZXJCb3R0b21XaWR0aCIgKSwgMTAgKSB8fCAwICkgLQ0KCQkJCSggcGFyc2VJbnQoIGMuY3NzKCAicGFkZGluZ0JvdHRvbSIgKSwgMTAgKSB8fCAwICkgLQ0KCQkJCXRoaXMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0IC0NCgkJCQl0aGlzLm1hcmdpbnMudG9wIC0NCgkJCQl0aGlzLm1hcmdpbnMuYm90dG9tDQoJCV07DQoJCXRoaXMucmVsYXRpdmVDb250YWluZXIgPSBjOw0KCX0sDQoNCglfY29udmVydFBvc2l0aW9uVG86IGZ1bmN0aW9uKGQsIHBvcykgew0KDQoJCWlmICghcG9zKSB7DQoJCQlwb3MgPSB0aGlzLnBvc2l0aW9uOw0KCQl9DQoNCgkJdmFyIG1vZCA9IGQgPT09ICJhYnNvbHV0ZSIgPyAxIDogLTEsDQoJCQlzY3JvbGxJc1Jvb3ROb2RlID0gdGhpcy5faXNSb290Tm9kZSggdGhpcy5zY3JvbGxQYXJlbnRbIDAgXSApOw0KDQoJCXJldHVybiB7DQoJCQl0b3A6ICgNCgkJCQlwb3MudG9wCSsJCQkJCQkJCQkJCQkJCQkJLy8gVGhlIGFic29sdXRlIG1vdXNlIHBvc2l0aW9uDQoJCQkJdGhpcy5vZmZzZXQucmVsYXRpdmUudG9wICogbW9kICsJCQkJCQkJCQkJLy8gT25seSBmb3IgcmVsYXRpdmUgcG9zaXRpb25lZCBub2RlczogUmVsYXRpdmUgb2Zmc2V0IGZyb20gZWxlbWVudCB0byBvZmZzZXQgcGFyZW50DQoJCQkJdGhpcy5vZmZzZXQucGFyZW50LnRvcCAqIG1vZCAtCQkJCQkJCQkJCS8vIFRoZSBvZmZzZXRQYXJlbnQncyBvZmZzZXQgd2l0aG91dCBib3JkZXJzIChvZmZzZXQgKyBib3JkZXIpDQoJCQkJKCAoIHRoaXMuY3NzUG9zaXRpb24gPT09ICJmaXhlZCIgPyAtdGhpcy5vZmZzZXQuc2Nyb2xsLnRvcCA6ICggc2Nyb2xsSXNSb290Tm9kZSA/IDAgOiB0aGlzLm9mZnNldC5zY3JvbGwudG9wICkgKSAqIG1vZCkNCgkJCSksDQoJCQlsZWZ0OiAoDQoJCQkJcG9zLmxlZnQgKwkJCQkJCQkJCQkJCQkJCQkvLyBUaGUgYWJzb2x1dGUgbW91c2UgcG9zaXRpb24NCgkJCQl0aGlzLm9mZnNldC5yZWxhdGl2ZS5sZWZ0ICogbW9kICsJCQkJCQkJCQkJLy8gT25seSBmb3IgcmVsYXRpdmUgcG9zaXRpb25lZCBub2RlczogUmVsYXRpdmUgb2Zmc2V0IGZyb20gZWxlbWVudCB0byBvZmZzZXQgcGFyZW50DQoJCQkJdGhpcy5vZmZzZXQucGFyZW50LmxlZnQgKiBtb2QJLQkJCQkJCQkJCQkvLyBUaGUgb2Zmc2V0UGFyZW50J3Mgb2Zmc2V0IHdpdGhvdXQgYm9yZGVycyAob2Zmc2V0ICsgYm9yZGVyKQ0KCQkJCSggKCB0aGlzLmNzc1Bvc2l0aW9uID09PSAiZml4ZWQiID8gLXRoaXMub2Zmc2V0LnNjcm9sbC5sZWZ0IDogKCBzY3JvbGxJc1Jvb3ROb2RlID8gMCA6IHRoaXMub2Zmc2V0LnNjcm9sbC5sZWZ0ICkgKSAqIG1vZCkNCgkJCSkNCgkJfTsNCg0KCX0sDQoNCglfZ2VuZXJhdGVQb3NpdGlvbjogZnVuY3Rpb24oIGV2ZW50LCBjb25zdHJhaW5Qb3NpdGlvbiApIHsNCg0KCQl2YXIgY29udGFpbm1lbnQsIGNvLCB0b3AsIGxlZnQsDQoJCQlvID0gdGhpcy5vcHRpb25zLA0KCQkJc2Nyb2xsSXNSb290Tm9kZSA9IHRoaXMuX2lzUm9vdE5vZGUoIHRoaXMuc2Nyb2xsUGFyZW50WyAwIF0gKSwNCgkJCXBhZ2VYID0gZXZlbnQucGFnZVgsDQoJCQlwYWdlWSA9IGV2ZW50LnBhZ2VZOw0KDQoJCS8vIENhY2hlIHRoZSBzY3JvbGwNCgkJaWYgKCAhc2Nyb2xsSXNSb290Tm9kZSB8fCAhdGhpcy5vZmZzZXQuc2Nyb2xsICkgew0KCQkJdGhpcy5vZmZzZXQuc2Nyb2xsID0gew0KCQkJCXRvcDogdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsVG9wKCksDQoJCQkJbGVmdDogdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCgpDQoJCQl9Ow0KCQl9DQoNCgkJLyoNCgkJICogLSBQb3NpdGlvbiBjb25zdHJhaW5pbmcgLQ0KCQkgKiBDb25zdHJhaW4gdGhlIHBvc2l0aW9uIHRvIGEgbWl4IG9mIGdyaWQsIGNvbnRhaW5tZW50Lg0KCQkgKi8NCg0KCQkvLyBJZiB3ZSBhcmUgbm90IGRyYWdnaW5nIHlldCwgd2Ugd29uJ3QgY2hlY2sgZm9yIG9wdGlvbnMNCgkJaWYgKCBjb25zdHJhaW5Qb3NpdGlvbiApIHsNCgkJCWlmICggdGhpcy5jb250YWlubWVudCApIHsNCgkJCQlpZiAoIHRoaXMucmVsYXRpdmVDb250YWluZXIgKXsNCgkJCQkJY28gPSB0aGlzLnJlbGF0aXZlQ29udGFpbmVyLm9mZnNldCgpOw0KCQkJCQljb250YWlubWVudCA9IFsNCgkJCQkJCXRoaXMuY29udGFpbm1lbnRbIDAgXSArIGNvLmxlZnQsDQoJCQkJCQl0aGlzLmNvbnRhaW5tZW50WyAxIF0gKyBjby50b3AsDQoJCQkJCQl0aGlzLmNvbnRhaW5tZW50WyAyIF0gKyBjby5sZWZ0LA0KCQkJCQkJdGhpcy5jb250YWlubWVudFsgMyBdICsgY28udG9wDQoJCQkJCV07DQoJCQkJfSBlbHNlIHsNCgkJCQkJY29udGFpbm1lbnQgPSB0aGlzLmNvbnRhaW5tZW50Ow0KCQkJCX0NCg0KCQkJCWlmIChldmVudC5wYWdlWCAtIHRoaXMub2Zmc2V0LmNsaWNrLmxlZnQgPCBjb250YWlubWVudFswXSkgew0KCQkJCQlwYWdlWCA9IGNvbnRhaW5tZW50WzBdICsgdGhpcy5vZmZzZXQuY2xpY2subGVmdDsNCgkJCQl9DQoJCQkJaWYgKGV2ZW50LnBhZ2VZIC0gdGhpcy5vZmZzZXQuY2xpY2sudG9wIDwgY29udGFpbm1lbnRbMV0pIHsNCgkJCQkJcGFnZVkgPSBjb250YWlubWVudFsxXSArIHRoaXMub2Zmc2V0LmNsaWNrLnRvcDsNCgkJCQl9DQoJCQkJaWYgKGV2ZW50LnBhZ2VYIC0gdGhpcy5vZmZzZXQuY2xpY2subGVmdCA+IGNvbnRhaW5tZW50WzJdKSB7DQoJCQkJCXBhZ2VYID0gY29udGFpbm1lbnRbMl0gKyB0aGlzLm9mZnNldC5jbGljay5sZWZ0Ow0KCQkJCX0NCgkJCQlpZiAoZXZlbnQucGFnZVkgLSB0aGlzLm9mZnNldC5jbGljay50b3AgPiBjb250YWlubWVudFszXSkgew0KCQkJCQlwYWdlWSA9IGNvbnRhaW5tZW50WzNdICsgdGhpcy5vZmZzZXQuY2xpY2sudG9wOw0KCQkJCX0NCgkJCX0NCg0KCQkJaWYgKG8uZ3JpZCkgew0KCQkJCS8vQ2hlY2sgZm9yIGdyaWQgZWxlbWVudHMgc2V0IHRvIDAgdG8gcHJldmVudCBkaXZpZGUgYnkgMCBlcnJvciBjYXVzaW5nIGludmFsaWQgYXJndW1lbnQgZXJyb3JzIGluIElFIChzZWUgdGlja2V0ICM2OTUwKQ0KCQkJCXRvcCA9IG8uZ3JpZFsxXSA/IHRoaXMub3JpZ2luYWxQYWdlWSArIE1hdGgucm91bmQoKHBhZ2VZIC0gdGhpcy5vcmlnaW5hbFBhZ2VZKSAvIG8uZ3JpZFsxXSkgKiBvLmdyaWRbMV0gOiB0aGlzLm9yaWdpbmFsUGFnZVk7DQoJCQkJcGFnZVkgPSBjb250YWlubWVudCA/ICgodG9wIC0gdGhpcy5vZmZzZXQuY2xpY2sudG9wID49IGNvbnRhaW5tZW50WzFdIHx8IHRvcCAtIHRoaXMub2Zmc2V0LmNsaWNrLnRvcCA+IGNvbnRhaW5tZW50WzNdKSA/IHRvcCA6ICgodG9wIC0gdGhpcy5vZmZzZXQuY2xpY2sudG9wID49IGNvbnRhaW5tZW50WzFdKSA/IHRvcCAtIG8uZ3JpZFsxXSA6IHRvcCArIG8uZ3JpZFsxXSkpIDogdG9wOw0KDQoJCQkJbGVmdCA9IG8uZ3JpZFswXSA/IHRoaXMub3JpZ2luYWxQYWdlWCArIE1hdGgucm91bmQoKHBhZ2VYIC0gdGhpcy5vcmlnaW5hbFBhZ2VYKSAvIG8uZ3JpZFswXSkgKiBvLmdyaWRbMF0gOiB0aGlzLm9yaWdpbmFsUGFnZVg7DQoJCQkJcGFnZVggPSBjb250YWlubWVudCA/ICgobGVmdCAtIHRoaXMub2Zmc2V0LmNsaWNrLmxlZnQgPj0gY29udGFpbm1lbnRbMF0gfHwgbGVmdCAtIHRoaXMub2Zmc2V0LmNsaWNrLmxlZnQgPiBjb250YWlubWVudFsyXSkgPyBsZWZ0IDogKChsZWZ0IC0gdGhpcy5vZmZzZXQuY2xpY2subGVmdCA+PSBjb250YWlubWVudFswXSkgPyBsZWZ0IC0gby5ncmlkWzBdIDogbGVmdCArIG8uZ3JpZFswXSkpIDogbGVmdDsNCgkJCX0NCg0KCQkJaWYgKCBvLmF4aXMgPT09ICJ5IiApIHsNCgkJCQlwYWdlWCA9IHRoaXMub3JpZ2luYWxQYWdlWDsNCgkJCX0NCg0KCQkJaWYgKCBvLmF4aXMgPT09ICJ4IiApIHsNCgkJCQlwYWdlWSA9IHRoaXMub3JpZ2luYWxQYWdlWTsNCgkJCX0NCgkJfQ0KDQoJCXJldHVybiB7DQoJCQl0b3A6ICgNCgkJCQlwYWdlWSAtCQkJCQkJCQkJCQkJCQkJCQkvLyBUaGUgYWJzb2x1dGUgbW91c2UgcG9zaXRpb24NCgkJCQl0aGlzLm9mZnNldC5jbGljay50b3AJLQkJCQkJCQkJCQkJCS8vIENsaWNrIG9mZnNldCAocmVsYXRpdmUgdG8gdGhlIGVsZW1lbnQpDQoJCQkJdGhpcy5vZmZzZXQucmVsYXRpdmUudG9wIC0JCQkJCQkJCQkJCQkvLyBPbmx5IGZvciByZWxhdGl2ZSBwb3NpdGlvbmVkIG5vZGVzOiBSZWxhdGl2ZSBvZmZzZXQgZnJvbSBlbGVtZW50IHRvIG9mZnNldCBwYXJlbnQNCgkJCQl0aGlzLm9mZnNldC5wYXJlbnQudG9wICsJCQkJCQkJCQkJCQkvLyBUaGUgb2Zmc2V0UGFyZW50J3Mgb2Zmc2V0IHdpdGhvdXQgYm9yZGVycyAob2Zmc2V0ICsgYm9yZGVyKQ0KCQkJCSggdGhpcy5jc3NQb3NpdGlvbiA9PT0gImZpeGVkIiA/IC10aGlzLm9mZnNldC5zY3JvbGwudG9wIDogKCBzY3JvbGxJc1Jvb3ROb2RlID8gMCA6IHRoaXMub2Zmc2V0LnNjcm9sbC50b3AgKSApDQoJCQkpLA0KCQkJbGVmdDogKA0KCQkJCXBhZ2VYIC0JCQkJCQkJCQkJCQkJCQkJCS8vIFRoZSBhYnNvbHV0ZSBtb3VzZSBwb3NpdGlvbg0KCQkJCXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQgLQkJCQkJCQkJCQkJCS8vIENsaWNrIG9mZnNldCAocmVsYXRpdmUgdG8gdGhlIGVsZW1lbnQpDQoJCQkJdGhpcy5vZmZzZXQucmVsYXRpdmUubGVmdCAtCQkJCQkJCQkJCQkJLy8gT25seSBmb3IgcmVsYXRpdmUgcG9zaXRpb25lZCBub2RlczogUmVsYXRpdmUgb2Zmc2V0IGZyb20gZWxlbWVudCB0byBvZmZzZXQgcGFyZW50DQoJCQkJdGhpcy5vZmZzZXQucGFyZW50LmxlZnQgKwkJCQkJCQkJCQkJCS8vIFRoZSBvZmZzZXRQYXJlbnQncyBvZmZzZXQgd2l0aG91dCBib3JkZXJzIChvZmZzZXQgKyBib3JkZXIpDQoJCQkJKCB0aGlzLmNzc1Bvc2l0aW9uID09PSAiZml4ZWQiID8gLXRoaXMub2Zmc2V0LnNjcm9sbC5sZWZ0IDogKCBzY3JvbGxJc1Jvb3ROb2RlID8gMCA6IHRoaXMub2Zmc2V0LnNjcm9sbC5sZWZ0ICkgKQ0KCQkJKQ0KCQl9Ow0KDQoJfSwNCg0KCV9jbGVhcjogZnVuY3Rpb24oKSB7DQoJCXRoaXMuaGVscGVyLnJlbW92ZUNsYXNzKCJ1aS1kcmFnZ2FibGUtZHJhZ2dpbmciKTsNCgkJaWYgKHRoaXMuaGVscGVyWzBdICE9PSB0aGlzLmVsZW1lbnRbMF0gJiYgIXRoaXMuY2FuY2VsSGVscGVyUmVtb3ZhbCkgew0KCQkJdGhpcy5oZWxwZXIucmVtb3ZlKCk7DQoJCX0NCgkJdGhpcy5oZWxwZXIgPSBudWxsOw0KCQl0aGlzLmNhbmNlbEhlbHBlclJlbW92YWwgPSBmYWxzZTsNCgkJaWYgKCB0aGlzLmRlc3Ryb3lPbkNsZWFyICkgew0KCQkJdGhpcy5kZXN0cm95KCk7DQoJCX0NCgl9LA0KDQoJX25vcm1hbGl6ZVJpZ2h0Qm90dG9tOiBmdW5jdGlvbigpIHsNCgkJaWYgKCB0aGlzLm9wdGlvbnMuYXhpcyAhPT0gInkiICYmIHRoaXMuaGVscGVyLmNzcyggInJpZ2h0IiApICE9PSAiYXV0byIgKSB7DQoJCQl0aGlzLmhlbHBlci53aWR0aCggdGhpcy5oZWxwZXIud2lkdGgoKSApOw0KCQkJdGhpcy5oZWxwZXIuY3NzKCAicmlnaHQiLCAiYXV0byIgKTsNCgkJfQ0KCQlpZiAoIHRoaXMub3B0aW9ucy5heGlzICE9PSAieCIgJiYgdGhpcy5oZWxwZXIuY3NzKCAiYm90dG9tIiApICE9PSAiYXV0byIgKSB7DQoJCQl0aGlzLmhlbHBlci5oZWlnaHQoIHRoaXMuaGVscGVyLmhlaWdodCgpICk7DQoJCQl0aGlzLmhlbHBlci5jc3MoICJib3R0b20iLCAiYXV0byIgKTsNCgkJfQ0KCX0sDQoNCgkvLyBGcm9tIG5vdyBvbiBidWxrIHN0dWZmIC0gbWFpbmx5IGhlbHBlcnMNCg0KCV90cmlnZ2VyOiBmdW5jdGlvbiggdHlwZSwgZXZlbnQsIHVpICkgew0KCQl1aSA9IHVpIHx8IHRoaXMuX3VpSGFzaCgpOw0KCQkkLnVpLnBsdWdpbi5jYWxsKCB0aGlzLCB0eXBlLCBbIGV2ZW50LCB1aSwgdGhpcyBdLCB0cnVlICk7DQoNCgkJLy8gQWJzb2x1dGUgcG9zaXRpb24gYW5kIG9mZnNldCAoc2VlICM2ODg0ICkgaGF2ZSB0byBiZSByZWNhbGN1bGF0ZWQgYWZ0ZXIgcGx1Z2lucw0KCQlpZiAoIC9eKGRyYWd8c3RhcnR8c3RvcCkvLnRlc3QoIHR5cGUgKSApIHsNCgkJCXRoaXMucG9zaXRpb25BYnMgPSB0aGlzLl9jb252ZXJ0UG9zaXRpb25UbyggImFic29sdXRlIiApOw0KCQkJdWkub2Zmc2V0ID0gdGhpcy5wb3NpdGlvbkFiczsNCgkJfQ0KCQlyZXR1cm4gJC5XaWRnZXQucHJvdG90eXBlLl90cmlnZ2VyLmNhbGwoIHRoaXMsIHR5cGUsIGV2ZW50LCB1aSApOw0KCX0sDQoNCglwbHVnaW5zOiB7fSwNCg0KCV91aUhhc2g6IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gew0KCQkJaGVscGVyOiB0aGlzLmhlbHBlciwNCgkJCXBvc2l0aW9uOiB0aGlzLnBvc2l0aW9uLA0KCQkJb3JpZ2luYWxQb3NpdGlvbjogdGhpcy5vcmlnaW5hbFBvc2l0aW9uLA0KCQkJb2Zmc2V0OiB0aGlzLnBvc2l0aW9uQWJzDQoJCX07DQoJfQ0KDQp9KTsNCg0KJC51aS5wbHVnaW4uYWRkKCAiZHJhZ2dhYmxlIiwgImNvbm5lY3RUb1NvcnRhYmxlIiwgew0KCXN0YXJ0OiBmdW5jdGlvbiggZXZlbnQsIHVpLCBkcmFnZ2FibGUgKSB7DQoJCXZhciB1aVNvcnRhYmxlID0gJC5leHRlbmQoIHt9LCB1aSwgew0KCQkJaXRlbTogZHJhZ2dhYmxlLmVsZW1lbnQNCgkJfSk7DQoNCgkJZHJhZ2dhYmxlLnNvcnRhYmxlcyA9IFtdOw0KCQkkKCBkcmFnZ2FibGUub3B0aW9ucy5jb25uZWN0VG9Tb3J0YWJsZSApLmVhY2goZnVuY3Rpb24oKSB7DQoJCQl2YXIgc29ydGFibGUgPSAkKCB0aGlzICkuc29ydGFibGUoICJpbnN0YW5jZSIgKTsNCg0KCQkJaWYgKCBzb3J0YWJsZSAmJiAhc29ydGFibGUub3B0aW9ucy5kaXNhYmxlZCApIHsNCgkJCQlkcmFnZ2FibGUuc29ydGFibGVzLnB1c2goIHNvcnRhYmxlICk7DQoNCgkJCQkvLyByZWZyZXNoUG9zaXRpb25zIGlzIGNhbGxlZCBhdCBkcmFnIHN0YXJ0IHRvIHJlZnJlc2ggdGhlIGNvbnRhaW5lckNhY2hlDQoJCQkJLy8gd2hpY2ggaXMgdXNlZCBpbiBkcmFnLiBUaGlzIGVuc3VyZXMgaXQncyBpbml0aWFsaXplZCBhbmQgc3luY2hyb25pemVkDQoJCQkJLy8gd2l0aCBhbnkgY2hhbmdlcyB0aGF0IG1pZ2h0IGhhdmUgaGFwcGVuZWQgb24gdGhlIHBhZ2Ugc2luY2UgaW5pdGlhbGl6YXRpb24uDQoJCQkJc29ydGFibGUucmVmcmVzaFBvc2l0aW9ucygpOw0KCQkJCXNvcnRhYmxlLl90cmlnZ2VyKCJhY3RpdmF0ZSIsIGV2ZW50LCB1aVNvcnRhYmxlKTsNCgkJCX0NCgkJfSk7DQoJfSwNCglzdG9wOiBmdW5jdGlvbiggZXZlbnQsIHVpLCBkcmFnZ2FibGUgKSB7DQoJCXZhciB1aVNvcnRhYmxlID0gJC5leHRlbmQoIHt9LCB1aSwgew0KCQkJaXRlbTogZHJhZ2dhYmxlLmVsZW1lbnQNCgkJfSk7DQoNCgkJZHJhZ2dhYmxlLmNhbmNlbEhlbHBlclJlbW92YWwgPSBmYWxzZTsNCg0KCQkkLmVhY2goIGRyYWdnYWJsZS5zb3J0YWJsZXMsIGZ1bmN0aW9uKCkgew0KCQkJdmFyIHNvcnRhYmxlID0gdGhpczsNCg0KCQkJaWYgKCBzb3J0YWJsZS5pc092ZXIgKSB7DQoJCQkJc29ydGFibGUuaXNPdmVyID0gMDsNCg0KCQkJCS8vIEFsbG93IHRoaXMgc29ydGFibGUgdG8gaGFuZGxlIHJlbW92aW5nIHRoZSBoZWxwZXINCgkJCQlkcmFnZ2FibGUuY2FuY2VsSGVscGVyUmVtb3ZhbCA9IHRydWU7DQoJCQkJc29ydGFibGUuY2FuY2VsSGVscGVyUmVtb3ZhbCA9IGZhbHNlOw0KDQoJCQkJLy8gVXNlIF9zdG9yZWRDU1MgVG8gcmVzdG9yZSBwcm9wZXJ0aWVzIGluIHRoZSBzb3J0YWJsZSwNCgkJCQkvLyBhcyB0aGlzIGFsc28gaGFuZGxlcyByZXZlcnQgKCM5Njc1KSBzaW5jZSB0aGUgZHJhZ2dhYmxlDQoJCQkJLy8gbWF5IGhhdmUgbW9kaWZpZWQgdGhlbSBpbiB1bmV4cGVjdGVkIHdheXMgKCM4ODA5KQ0KCQkJCXNvcnRhYmxlLl9zdG9yZWRDU1MgPSB7DQoJCQkJCXBvc2l0aW9uOiBzb3J0YWJsZS5wbGFjZWhvbGRlci5jc3MoICJwb3NpdGlvbiIgKSwNCgkJCQkJdG9wOiBzb3J0YWJsZS5wbGFjZWhvbGRlci5jc3MoICJ0b3AiICksDQoJCQkJCWxlZnQ6IHNvcnRhYmxlLnBsYWNlaG9sZGVyLmNzcyggImxlZnQiICkNCgkJCQl9Ow0KDQoJCQkJc29ydGFibGUuX21vdXNlU3RvcChldmVudCk7DQoNCgkJCQkvLyBPbmNlIGRyYWcgaGFzIGVuZGVkLCB0aGUgc29ydGFibGUgc2hvdWxkIHJldHVybiB0byB1c2luZw0KCQkJCS8vIGl0cyBvcmlnaW5hbCBoZWxwZXIsIG5vdCB0aGUgc2hhcmVkIGhlbHBlciBmcm9tIGRyYWdnYWJsZQ0KCQkJCXNvcnRhYmxlLm9wdGlvbnMuaGVscGVyID0gc29ydGFibGUub3B0aW9ucy5faGVscGVyOw0KCQkJfSBlbHNlIHsNCgkJCQkvLyBQcmV2ZW50IHRoaXMgU29ydGFibGUgZnJvbSByZW1vdmluZyB0aGUgaGVscGVyLg0KCQkJCS8vIEhvd2V2ZXIsIGRvbid0IHNldCB0aGUgZHJhZ2dhYmxlIHRvIHJlbW92ZSB0aGUgaGVscGVyDQoJCQkJLy8gZWl0aGVyIGFzIGFub3RoZXIgY29ubmVjdGVkIFNvcnRhYmxlIG1heSB5ZXQgaGFuZGxlIHRoZSByZW1vdmFsLg0KCQkJCXNvcnRhYmxlLmNhbmNlbEhlbHBlclJlbW92YWwgPSB0cnVlOw0KDQoJCQkJc29ydGFibGUuX3RyaWdnZXIoICJkZWFjdGl2YXRlIiwgZXZlbnQsIHVpU29ydGFibGUgKTsNCgkJCX0NCgkJfSk7DQoJfSwNCglkcmFnOiBmdW5jdGlvbiggZXZlbnQsIHVpLCBkcmFnZ2FibGUgKSB7DQoJCSQuZWFjaCggZHJhZ2dhYmxlLnNvcnRhYmxlcywgZnVuY3Rpb24oKSB7DQoJCQl2YXIgaW5uZXJtb3N0SW50ZXJzZWN0aW5nID0gZmFsc2UsDQoJCQkJc29ydGFibGUgPSB0aGlzOw0KDQoJCQkvLyBDb3B5IG92ZXIgdmFyaWFibGVzIHRoYXQgc29ydGFibGUncyBfaW50ZXJzZWN0c1dpdGggdXNlcw0KCQkJc29ydGFibGUucG9zaXRpb25BYnMgPSBkcmFnZ2FibGUucG9zaXRpb25BYnM7DQoJCQlzb3J0YWJsZS5oZWxwZXJQcm9wb3J0aW9ucyA9IGRyYWdnYWJsZS5oZWxwZXJQcm9wb3J0aW9uczsNCgkJCXNvcnRhYmxlLm9mZnNldC5jbGljayA9IGRyYWdnYWJsZS5vZmZzZXQuY2xpY2s7DQoNCgkJCWlmICggc29ydGFibGUuX2ludGVyc2VjdHNXaXRoKCBzb3J0YWJsZS5jb250YWluZXJDYWNoZSApICkgew0KCQkJCWlubmVybW9zdEludGVyc2VjdGluZyA9IHRydWU7DQoNCgkJCQkkLmVhY2goIGRyYWdnYWJsZS5zb3J0YWJsZXMsIGZ1bmN0aW9uKCkgew0KCQkJCQkvLyBDb3B5IG92ZXIgdmFyaWFibGVzIHRoYXQgc29ydGFibGUncyBfaW50ZXJzZWN0c1dpdGggdXNlcw0KCQkJCQl0aGlzLnBvc2l0aW9uQWJzID0gZHJhZ2dhYmxlLnBvc2l0aW9uQWJzOw0KCQkJCQl0aGlzLmhlbHBlclByb3BvcnRpb25zID0gZHJhZ2dhYmxlLmhlbHBlclByb3BvcnRpb25zOw0KCQkJCQl0aGlzLm9mZnNldC5jbGljayA9IGRyYWdnYWJsZS5vZmZzZXQuY2xpY2s7DQoNCgkJCQkJaWYgKCB0aGlzICE9PSBzb3J0YWJsZSAmJg0KCQkJCQkJCXRoaXMuX2ludGVyc2VjdHNXaXRoKCB0aGlzLmNvbnRhaW5lckNhY2hlICkgJiYNCgkJCQkJCQkkLmNvbnRhaW5zKCBzb3J0YWJsZS5lbGVtZW50WyAwIF0sIHRoaXMuZWxlbWVudFsgMCBdICkgKSB7DQoJCQkJCQlpbm5lcm1vc3RJbnRlcnNlY3RpbmcgPSBmYWxzZTsNCgkJCQkJfQ0KDQoJCQkJCXJldHVybiBpbm5lcm1vc3RJbnRlcnNlY3Rpbmc7DQoJCQkJfSk7DQoJCQl9DQoNCgkJCWlmICggaW5uZXJtb3N0SW50ZXJzZWN0aW5nICkgew0KCQkJCS8vIElmIGl0IGludGVyc2VjdHMsIHdlIHVzZSBhIGxpdHRsZSBpc092ZXIgdmFyaWFibGUgYW5kIHNldCBpdCBvbmNlLA0KCQkJCS8vIHNvIHRoYXQgdGhlIG1vdmUtaW4gc3R1ZmYgZ2V0cyBmaXJlZCBvbmx5IG9uY2UuDQoJCQkJaWYgKCAhc29ydGFibGUuaXNPdmVyICkgew0KCQkJCQlzb3J0YWJsZS5pc092ZXIgPSAxOw0KDQoJCQkJCS8vIFN0b3JlIGRyYWdnYWJsZSdzIHBhcmVudCBpbiBjYXNlIHdlIG5lZWQgdG8gcmVhcHBlbmQgdG8gaXQgbGF0ZXIuDQoJCQkJCWRyYWdnYWJsZS5fcGFyZW50ID0gdWkuaGVscGVyLnBhcmVudCgpOw0KDQoJCQkJCXNvcnRhYmxlLmN1cnJlbnRJdGVtID0gdWkuaGVscGVyDQoJCQkJCQkuYXBwZW5kVG8oIHNvcnRhYmxlLmVsZW1lbnQgKQ0KCQkJCQkJLmRhdGEoICJ1aS1zb3J0YWJsZS1pdGVtIiwgdHJ1ZSApOw0KDQoJCQkJCS8vIFN0b3JlIGhlbHBlciBvcHRpb24gdG8gbGF0ZXIgcmVzdG9yZSBpdA0KCQkJCQlzb3J0YWJsZS5vcHRpb25zLl9oZWxwZXIgPSBzb3J0YWJsZS5vcHRpb25zLmhlbHBlcjsNCg0KCQkJCQlzb3J0YWJsZS5vcHRpb25zLmhlbHBlciA9IGZ1bmN0aW9uKCkgew0KCQkJCQkJcmV0dXJuIHVpLmhlbHBlclsgMCBdOw0KCQkJCQl9Ow0KDQoJCQkJCS8vIEZpcmUgdGhlIHN0YXJ0IGV2ZW50cyBvZiB0aGUgc29ydGFibGUgd2l0aCBvdXIgcGFzc2VkIGJyb3dzZXIgZXZlbnQsDQoJCQkJCS8vIGFuZCBvdXIgb3duIGhlbHBlciAoc28gaXQgZG9lc24ndCBjcmVhdGUgYSBuZXcgb25lKQ0KCQkJCQlldmVudC50YXJnZXQgPSBzb3J0YWJsZS5jdXJyZW50SXRlbVsgMCBdOw0KCQkJCQlzb3J0YWJsZS5fbW91c2VDYXB0dXJlKCBldmVudCwgdHJ1ZSApOw0KCQkJCQlzb3J0YWJsZS5fbW91c2VTdGFydCggZXZlbnQsIHRydWUsIHRydWUgKTsNCg0KCQkJCQkvLyBCZWNhdXNlIHRoZSBicm93c2VyIGV2ZW50IGlzIHdheSBvZmYgdGhlIG5ldyBhcHBlbmRlZCBwb3J0bGV0LA0KCQkJCQkvLyBtb2RpZnkgbmVjZXNzYXJ5IHZhcmlhYmxlcyB0byByZWZsZWN0IHRoZSBjaGFuZ2VzDQoJCQkJCXNvcnRhYmxlLm9mZnNldC5jbGljay50b3AgPSBkcmFnZ2FibGUub2Zmc2V0LmNsaWNrLnRvcDsNCgkJCQkJc29ydGFibGUub2Zmc2V0LmNsaWNrLmxlZnQgPSBkcmFnZ2FibGUub2Zmc2V0LmNsaWNrLmxlZnQ7DQoJCQkJCXNvcnRhYmxlLm9mZnNldC5wYXJlbnQubGVmdCAtPSBkcmFnZ2FibGUub2Zmc2V0LnBhcmVudC5sZWZ0IC0NCgkJCQkJCXNvcnRhYmxlLm9mZnNldC5wYXJlbnQubGVmdDsNCgkJCQkJc29ydGFibGUub2Zmc2V0LnBhcmVudC50b3AgLT0gZHJhZ2dhYmxlLm9mZnNldC5wYXJlbnQudG9wIC0NCgkJCQkJCXNvcnRhYmxlLm9mZnNldC5wYXJlbnQudG9wOw0KDQoJCQkJCWRyYWdnYWJsZS5fdHJpZ2dlciggInRvU29ydGFibGUiLCBldmVudCApOw0KDQoJCQkJCS8vIEluZm9ybSBkcmFnZ2FibGUgdGhhdCB0aGUgaGVscGVyIGlzIGluIGEgdmFsaWQgZHJvcCB6b25lLA0KCQkJCQkvLyB1c2VkIHNvbGVseSBpbiB0aGUgcmV2ZXJ0IG9wdGlvbiB0byBoYW5kbGUgInZhbGlkL2ludmFsaWQiLg0KCQkJCQlkcmFnZ2FibGUuZHJvcHBlZCA9IHNvcnRhYmxlLmVsZW1lbnQ7DQoNCgkJCQkJLy8gTmVlZCB0byByZWZyZXNoUG9zaXRpb25zIG9mIGFsbCBzb3J0YWJsZXMgaW4gdGhlIGNhc2UgdGhhdA0KCQkJCQkvLyBhZGRpbmcgdG8gb25lIHNvcnRhYmxlIGNoYW5nZXMgdGhlIGxvY2F0aW9uIG9mIHRoZSBvdGhlciBzb3J0YWJsZXMgKCM5Njc1KQ0KCQkJCQkkLmVhY2goIGRyYWdnYWJsZS5zb3J0YWJsZXMsIGZ1bmN0aW9uKCkgew0KCQkJCQkJdGhpcy5yZWZyZXNoUG9zaXRpb25zKCk7DQoJCQkJCX0pOw0KDQoJCQkJCS8vIGhhY2sgc28gcmVjZWl2ZS91cGRhdGUgY2FsbGJhY2tzIHdvcmsgKG1vc3RseSkNCgkJCQkJZHJhZ2dhYmxlLmN1cnJlbnRJdGVtID0gZHJhZ2dhYmxlLmVsZW1lbnQ7DQoJCQkJCXNvcnRhYmxlLmZyb21PdXRzaWRlID0gZHJhZ2dhYmxlOw0KCQkJCX0NCg0KCQkJCWlmICggc29ydGFibGUuY3VycmVudEl0ZW0gKSB7DQoJCQkJCXNvcnRhYmxlLl9tb3VzZURyYWcoIGV2ZW50ICk7DQoJCQkJCS8vIENvcHkgdGhlIHNvcnRhYmxlJ3MgcG9zaXRpb24gYmVjYXVzZSB0aGUgZHJhZ2dhYmxlJ3MgY2FuIHBvdGVudGlhbGx5IHJlZmxlY3QNCgkJCQkJLy8gYSByZWxhdGl2ZSBwb3NpdGlvbiwgd2hpbGUgc29ydGFibGUgaXMgYWx3YXlzIGFic29sdXRlLCB3aGljaCB0aGUgZHJhZ2dlZA0KCQkJCQkvLyBlbGVtZW50IGhhcyBub3cgYmVjb21lLiAoIzg4MDkpDQoJCQkJCXVpLnBvc2l0aW9uID0gc29ydGFibGUucG9zaXRpb247DQoJCQkJfQ0KCQkJfSBlbHNlIHsNCgkJCQkvLyBJZiBpdCBkb2Vzbid0IGludGVyc2VjdCB3aXRoIHRoZSBzb3J0YWJsZSwgYW5kIGl0IGludGVyc2VjdGVkIGJlZm9yZSwNCgkJCQkvLyB3ZSBmYWtlIHRoZSBkcmFnIHN0b3Agb2YgdGhlIHNvcnRhYmxlLCBidXQgbWFrZSBzdXJlIGl0IGRvZXNuJ3QgcmVtb3ZlDQoJCQkJLy8gdGhlIGhlbHBlciBieSB1c2luZyBjYW5jZWxIZWxwZXJSZW1vdmFsLg0KCQkJCWlmICggc29ydGFibGUuaXNPdmVyICkgew0KDQoJCQkJCXNvcnRhYmxlLmlzT3ZlciA9IDA7DQoJCQkJCXNvcnRhYmxlLmNhbmNlbEhlbHBlclJlbW92YWwgPSB0cnVlOw0KDQoJCQkJCS8vIENhbGxpbmcgc29ydGFibGUncyBtb3VzZVN0b3Agd291bGQgdHJpZ2dlciBhIHJldmVydCwNCgkJCQkJLy8gc28gcmV2ZXJ0IG11c3QgYmUgdGVtcG9yYXJpbHkgZmFsc2UgdW50aWwgYWZ0ZXIgbW91c2VTdG9wIGlzIGNhbGxlZC4NCgkJCQkJc29ydGFibGUub3B0aW9ucy5fcmV2ZXJ0ID0gc29ydGFibGUub3B0aW9ucy5yZXZlcnQ7DQoJCQkJCXNvcnRhYmxlLm9wdGlvbnMucmV2ZXJ0ID0gZmFsc2U7DQoNCgkJCQkJc29ydGFibGUuX3RyaWdnZXIoICJvdXQiLCBldmVudCwgc29ydGFibGUuX3VpSGFzaCggc29ydGFibGUgKSApOw0KCQkJCQlzb3J0YWJsZS5fbW91c2VTdG9wKCBldmVudCwgdHJ1ZSApOw0KDQoJCQkJCS8vIHJlc3RvcmUgc29ydGFibGUgYmVoYXZpb3JzIHRoYXQgd2VyZSBtb2RmaWVkDQoJCQkJCS8vIHdoZW4gdGhlIGRyYWdnYWJsZSBlbnRlcmVkIHRoZSBzb3J0YWJsZSBhcmVhICgjOTQ4MSkNCgkJCQkJc29ydGFibGUub3B0aW9ucy5yZXZlcnQgPSBzb3J0YWJsZS5vcHRpb25zLl9yZXZlcnQ7DQoJCQkJCXNvcnRhYmxlLm9wdGlvbnMuaGVscGVyID0gc29ydGFibGUub3B0aW9ucy5faGVscGVyOw0KDQoJCQkJCWlmICggc29ydGFibGUucGxhY2Vob2xkZXIgKSB7DQoJCQkJCQlzb3J0YWJsZS5wbGFjZWhvbGRlci5yZW1vdmUoKTsNCgkJCQkJfQ0KDQoJCQkJCS8vIFJlc3RvcmUgYW5kIHJlY2FsY3VsYXRlIHRoZSBkcmFnZ2FibGUncyBvZmZzZXQgY29uc2lkZXJpbmcgdGhlIHNvcnRhYmxlDQoJCQkJCS8vIG1heSBoYXZlIG1vZGlmaWVkIHRoZW0gaW4gdW5leHBlY3RlZCB3YXlzLiAoIzg4MDksICMxMDY2OSkNCgkJCQkJdWkuaGVscGVyLmFwcGVuZFRvKCBkcmFnZ2FibGUuX3BhcmVudCApOw0KCQkJCQlkcmFnZ2FibGUuX3JlZnJlc2hPZmZzZXRzKCBldmVudCApOw0KCQkJCQl1aS5wb3NpdGlvbiA9IGRyYWdnYWJsZS5fZ2VuZXJhdGVQb3NpdGlvbiggZXZlbnQsIHRydWUgKTsNCg0KCQkJCQlkcmFnZ2FibGUuX3RyaWdnZXIoICJmcm9tU29ydGFibGUiLCBldmVudCApOw0KDQoJCQkJCS8vIEluZm9ybSBkcmFnZ2FibGUgdGhhdCB0aGUgaGVscGVyIGlzIG5vIGxvbmdlciBpbiBhIHZhbGlkIGRyb3Agem9uZQ0KCQkJCQlkcmFnZ2FibGUuZHJvcHBlZCA9IGZhbHNlOw0KDQoJCQkJCS8vIE5lZWQgdG8gcmVmcmVzaFBvc2l0aW9ucyBvZiBhbGwgc29ydGFibGVzIGp1c3QgaW4gY2FzZSByZW1vdmluZw0KCQkJCQkvLyBmcm9tIG9uZSBzb3J0YWJsZSBjaGFuZ2VzIHRoZSBsb2NhdGlvbiBvZiBvdGhlciBzb3J0YWJsZXMgKCM5Njc1KQ0KCQkJCQkkLmVhY2goIGRyYWdnYWJsZS5zb3J0YWJsZXMsIGZ1bmN0aW9uKCkgew0KCQkJCQkJdGhpcy5yZWZyZXNoUG9zaXRpb25zKCk7DQoJCQkJCX0pOw0KCQkJCX0NCgkJCX0NCgkJfSk7DQoJfQ0KfSk7DQoNCiQudWkucGx1Z2luLmFkZCgiZHJhZ2dhYmxlIiwgImN1cnNvciIsIHsNCglzdGFydDogZnVuY3Rpb24oIGV2ZW50LCB1aSwgaW5zdGFuY2UgKSB7DQoJCXZhciB0ID0gJCggImJvZHkiICksDQoJCQlvID0gaW5zdGFuY2Uub3B0aW9uczsNCg0KCQlpZiAodC5jc3MoImN1cnNvciIpKSB7DQoJCQlvLl9jdXJzb3IgPSB0LmNzcygiY3Vyc29yIik7DQoJCX0NCgkJdC5jc3MoImN1cnNvciIsIG8uY3Vyc29yKTsNCgl9LA0KCXN0b3A6IGZ1bmN0aW9uKCBldmVudCwgdWksIGluc3RhbmNlICkgew0KCQl2YXIgbyA9IGluc3RhbmNlLm9wdGlvbnM7DQoJCWlmIChvLl9jdXJzb3IpIHsNCgkJCSQoImJvZHkiKS5jc3MoImN1cnNvciIsIG8uX2N1cnNvcik7DQoJCX0NCgl9DQp9KTsNCg0KJC51aS5wbHVnaW4uYWRkKCJkcmFnZ2FibGUiLCAib3BhY2l0eSIsIHsNCglzdGFydDogZnVuY3Rpb24oIGV2ZW50LCB1aSwgaW5zdGFuY2UgKSB7DQoJCXZhciB0ID0gJCggdWkuaGVscGVyICksDQoJCQlvID0gaW5zdGFuY2Uub3B0aW9uczsNCgkJaWYgKHQuY3NzKCJvcGFjaXR5IikpIHsNCgkJCW8uX29wYWNpdHkgPSB0LmNzcygib3BhY2l0eSIpOw0KCQl9DQoJCXQuY3NzKCJvcGFjaXR5Iiwgby5vcGFjaXR5KTsNCgl9LA0KCXN0b3A6IGZ1bmN0aW9uKCBldmVudCwgdWksIGluc3RhbmNlICkgew0KCQl2YXIgbyA9IGluc3RhbmNlLm9wdGlvbnM7DQoJCWlmIChvLl9vcGFjaXR5KSB7DQoJCQkkKHVpLmhlbHBlcikuY3NzKCJvcGFjaXR5Iiwgby5fb3BhY2l0eSk7DQoJCX0NCgl9DQp9KTsNCg0KJC51aS5wbHVnaW4uYWRkKCJkcmFnZ2FibGUiLCAic2Nyb2xsIiwgew0KCXN0YXJ0OiBmdW5jdGlvbiggZXZlbnQsIHVpLCBpICkgew0KCQlpZiAoICFpLnNjcm9sbFBhcmVudE5vdEhpZGRlbiApIHsNCgkJCWkuc2Nyb2xsUGFyZW50Tm90SGlkZGVuID0gaS5oZWxwZXIuc2Nyb2xsUGFyZW50KCBmYWxzZSApOw0KCQl9DQoNCgkJaWYgKCBpLnNjcm9sbFBhcmVudE5vdEhpZGRlblsgMCBdICE9PSBpLmRvY3VtZW50WyAwIF0gJiYgaS5zY3JvbGxQYXJlbnROb3RIaWRkZW5bIDAgXS50YWdOYW1lICE9PSAiSFRNTCIgKSB7DQoJCQlpLm92ZXJmbG93T2Zmc2V0ID0gaS5zY3JvbGxQYXJlbnROb3RIaWRkZW4ub2Zmc2V0KCk7DQoJCX0NCgl9LA0KCWRyYWc6IGZ1bmN0aW9uKCBldmVudCwgdWksIGkgICkgew0KDQoJCXZhciBvID0gaS5vcHRpb25zLA0KCQkJc2Nyb2xsZWQgPSBmYWxzZSwNCgkJCXNjcm9sbFBhcmVudCA9IGkuc2Nyb2xsUGFyZW50Tm90SGlkZGVuWyAwIF0sDQoJCQlkb2N1bWVudCA9IGkuZG9jdW1lbnRbIDAgXTsNCg0KCQlpZiAoIHNjcm9sbFBhcmVudCAhPT0gZG9jdW1lbnQgJiYgc2Nyb2xsUGFyZW50LnRhZ05hbWUgIT09ICJIVE1MIiApIHsNCgkJCWlmICggIW8uYXhpcyB8fCBvLmF4aXMgIT09ICJ4IiApIHsNCgkJCQlpZiAoICggaS5vdmVyZmxvd09mZnNldC50b3AgKyBzY3JvbGxQYXJlbnQub2Zmc2V0SGVpZ2h0ICkgLSBldmVudC5wYWdlWSA8IG8uc2Nyb2xsU2Vuc2l0aXZpdHkgKSB7DQoJCQkJCXNjcm9sbFBhcmVudC5zY3JvbGxUb3AgPSBzY3JvbGxlZCA9IHNjcm9sbFBhcmVudC5zY3JvbGxUb3AgKyBvLnNjcm9sbFNwZWVkOw0KCQkJCX0gZWxzZSBpZiAoIGV2ZW50LnBhZ2VZIC0gaS5vdmVyZmxvd09mZnNldC50b3AgPCBvLnNjcm9sbFNlbnNpdGl2aXR5ICkgew0KCQkJCQlzY3JvbGxQYXJlbnQuc2Nyb2xsVG9wID0gc2Nyb2xsZWQgPSBzY3JvbGxQYXJlbnQuc2Nyb2xsVG9wIC0gby5zY3JvbGxTcGVlZDsNCgkJCQl9DQoJCQl9DQoNCgkJCWlmICggIW8uYXhpcyB8fCBvLmF4aXMgIT09ICJ5IiApIHsNCgkJCQlpZiAoICggaS5vdmVyZmxvd09mZnNldC5sZWZ0ICsgc2Nyb2xsUGFyZW50Lm9mZnNldFdpZHRoICkgLSBldmVudC5wYWdlWCA8IG8uc2Nyb2xsU2Vuc2l0aXZpdHkgKSB7DQoJCQkJCXNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0ID0gc2Nyb2xsZWQgPSBzY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCArIG8uc2Nyb2xsU3BlZWQ7DQoJCQkJfSBlbHNlIGlmICggZXZlbnQucGFnZVggLSBpLm92ZXJmbG93T2Zmc2V0LmxlZnQgPCBvLnNjcm9sbFNlbnNpdGl2aXR5ICkgew0KCQkJCQlzY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCA9IHNjcm9sbGVkID0gc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQgLSBvLnNjcm9sbFNwZWVkOw0KCQkJCX0NCgkJCX0NCg0KCQl9IGVsc2Ugew0KDQoJCQlpZiAoIW8uYXhpcyB8fCBvLmF4aXMgIT09ICJ4Iikgew0KCQkJCWlmIChldmVudC5wYWdlWSAtICQoZG9jdW1lbnQpLnNjcm9sbFRvcCgpIDwgby5zY3JvbGxTZW5zaXRpdml0eSkgew0KCQkJCQlzY3JvbGxlZCA9ICQoZG9jdW1lbnQpLnNjcm9sbFRvcCgkKGRvY3VtZW50KS5zY3JvbGxUb3AoKSAtIG8uc2Nyb2xsU3BlZWQpOw0KCQkJCX0gZWxzZSBpZiAoJCh3aW5kb3cpLmhlaWdodCgpIC0gKGV2ZW50LnBhZ2VZIC0gJChkb2N1bWVudCkuc2Nyb2xsVG9wKCkpIDwgby5zY3JvbGxTZW5zaXRpdml0eSkgew0KCQkJCQlzY3JvbGxlZCA9ICQoZG9jdW1lbnQpLnNjcm9sbFRvcCgkKGRvY3VtZW50KS5zY3JvbGxUb3AoKSArIG8uc2Nyb2xsU3BlZWQpOw0KCQkJCX0NCgkJCX0NCg0KCQkJaWYgKCFvLmF4aXMgfHwgby5heGlzICE9PSAieSIpIHsNCgkJCQlpZiAoZXZlbnQucGFnZVggLSAkKGRvY3VtZW50KS5zY3JvbGxMZWZ0KCkgPCBvLnNjcm9sbFNlbnNpdGl2aXR5KSB7DQoJCQkJCXNjcm9sbGVkID0gJChkb2N1bWVudCkuc2Nyb2xsTGVmdCgkKGRvY3VtZW50KS5zY3JvbGxMZWZ0KCkgLSBvLnNjcm9sbFNwZWVkKTsNCgkJCQl9IGVsc2UgaWYgKCQod2luZG93KS53aWR0aCgpIC0gKGV2ZW50LnBhZ2VYIC0gJChkb2N1bWVudCkuc2Nyb2xsTGVmdCgpKSA8IG8uc2Nyb2xsU2Vuc2l0aXZpdHkpIHsNCgkJCQkJc2Nyb2xsZWQgPSAkKGRvY3VtZW50KS5zY3JvbGxMZWZ0KCQoZG9jdW1lbnQpLnNjcm9sbExlZnQoKSArIG8uc2Nyb2xsU3BlZWQpOw0KCQkJCX0NCgkJCX0NCg0KCQl9DQoNCgkJaWYgKHNjcm9sbGVkICE9PSBmYWxzZSAmJiAkLnVpLmRkbWFuYWdlciAmJiAhby5kcm9wQmVoYXZpb3VyKSB7DQoJCQkkLnVpLmRkbWFuYWdlci5wcmVwYXJlT2Zmc2V0cyhpLCBldmVudCk7DQoJCX0NCg0KCX0NCn0pOw0KDQokLnVpLnBsdWdpbi5hZGQoImRyYWdnYWJsZSIsICJzbmFwIiwgew0KCXN0YXJ0OiBmdW5jdGlvbiggZXZlbnQsIHVpLCBpICkgew0KDQoJCXZhciBvID0gaS5vcHRpb25zOw0KDQoJCWkuc25hcEVsZW1lbnRzID0gW107DQoNCgkJJChvLnNuYXAuY29uc3RydWN0b3IgIT09IFN0cmluZyA/ICggby5zbmFwLml0ZW1zIHx8ICI6ZGF0YSh1aS1kcmFnZ2FibGUpIiApIDogby5zbmFwKS5lYWNoKGZ1bmN0aW9uKCkgew0KCQkJdmFyICR0ID0gJCh0aGlzKSwNCgkJCQkkbyA9ICR0Lm9mZnNldCgpOw0KCQkJaWYgKHRoaXMgIT09IGkuZWxlbWVudFswXSkgew0KCQkJCWkuc25hcEVsZW1lbnRzLnB1c2goew0KCQkJCQlpdGVtOiB0aGlzLA0KCQkJCQl3aWR0aDogJHQub3V0ZXJXaWR0aCgpLCBoZWlnaHQ6ICR0Lm91dGVySGVpZ2h0KCksDQoJCQkJCXRvcDogJG8udG9wLCBsZWZ0OiAkby5sZWZ0DQoJCQkJfSk7DQoJCQl9DQoJCX0pOw0KDQoJfSwNCglkcmFnOiBmdW5jdGlvbiggZXZlbnQsIHVpLCBpbnN0ICkgew0KDQoJCXZhciB0cywgYnMsIGxzLCBycywgbCwgciwgdCwgYiwgaSwgZmlyc3QsDQoJCQlvID0gaW5zdC5vcHRpb25zLA0KCQkJZCA9IG8uc25hcFRvbGVyYW5jZSwNCgkJCXgxID0gdWkub2Zmc2V0LmxlZnQsIHgyID0geDEgKyBpbnN0LmhlbHBlclByb3BvcnRpb25zLndpZHRoLA0KCQkJeTEgPSB1aS5vZmZzZXQudG9wLCB5MiA9IHkxICsgaW5zdC5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQ7DQoNCgkJZm9yIChpID0gaW5zdC5zbmFwRWxlbWVudHMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pew0KDQoJCQlsID0gaW5zdC5zbmFwRWxlbWVudHNbaV0ubGVmdCAtIGluc3QubWFyZ2lucy5sZWZ0Ow0KCQkJciA9IGwgKyBpbnN0LnNuYXBFbGVtZW50c1tpXS53aWR0aDsNCgkJCXQgPSBpbnN0LnNuYXBFbGVtZW50c1tpXS50b3AgLSBpbnN0Lm1hcmdpbnMudG9wOw0KCQkJYiA9IHQgKyBpbnN0LnNuYXBFbGVtZW50c1tpXS5oZWlnaHQ7DQoNCgkJCWlmICggeDIgPCBsIC0gZCB8fCB4MSA+IHIgKyBkIHx8IHkyIDwgdCAtIGQgfHwgeTEgPiBiICsgZCB8fCAhJC5jb250YWlucyggaW5zdC5zbmFwRWxlbWVudHNbIGkgXS5pdGVtLm93bmVyRG9jdW1lbnQsIGluc3Quc25hcEVsZW1lbnRzWyBpIF0uaXRlbSApICkgew0KCQkJCWlmIChpbnN0LnNuYXBFbGVtZW50c1tpXS5zbmFwcGluZykgew0KCQkJCQkoaW5zdC5vcHRpb25zLnNuYXAucmVsZWFzZSAmJiBpbnN0Lm9wdGlvbnMuc25hcC5yZWxlYXNlLmNhbGwoaW5zdC5lbGVtZW50LCBldmVudCwgJC5leHRlbmQoaW5zdC5fdWlIYXNoKCksIHsgc25hcEl0ZW06IGluc3Quc25hcEVsZW1lbnRzW2ldLml0ZW0gfSkpKTsNCgkJCQl9DQoJCQkJaW5zdC5zbmFwRWxlbWVudHNbaV0uc25hcHBpbmcgPSBmYWxzZTsNCgkJCQljb250aW51ZTsNCgkJCX0NCg0KCQkJaWYgKG8uc25hcE1vZGUgIT09ICJpbm5lciIpIHsNCgkJCQl0cyA9IE1hdGguYWJzKHQgLSB5MikgPD0gZDsNCgkJCQlicyA9IE1hdGguYWJzKGIgLSB5MSkgPD0gZDsNCgkJCQlscyA9IE1hdGguYWJzKGwgLSB4MikgPD0gZDsNCgkJCQlycyA9IE1hdGguYWJzKHIgLSB4MSkgPD0gZDsNCgkJCQlpZiAodHMpIHsNCgkJCQkJdWkucG9zaXRpb24udG9wID0gaW5zdC5fY29udmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIiwgeyB0b3A6IHQgLSBpbnN0LmhlbHBlclByb3BvcnRpb25zLmhlaWdodCwgbGVmdDogMCB9KS50b3A7DQoJCQkJfQ0KCQkJCWlmIChicykgew0KCQkJCQl1aS5wb3NpdGlvbi50b3AgPSBpbnN0Ll9jb252ZXJ0UG9zaXRpb25UbygicmVsYXRpdmUiLCB7IHRvcDogYiwgbGVmdDogMCB9KS50b3A7DQoJCQkJfQ0KCQkJCWlmIChscykgew0KCQkJCQl1aS5wb3NpdGlvbi5sZWZ0ID0gaW5zdC5fY29udmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIiwgeyB0b3A6IDAsIGxlZnQ6IGwgLSBpbnN0LmhlbHBlclByb3BvcnRpb25zLndpZHRoIH0pLmxlZnQ7DQoJCQkJfQ0KCQkJCWlmIChycykgew0KCQkJCQl1aS5wb3NpdGlvbi5sZWZ0ID0gaW5zdC5fY29udmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIiwgeyB0b3A6IDAsIGxlZnQ6IHIgfSkubGVmdDsNCgkJCQl9DQoJCQl9DQoNCgkJCWZpcnN0ID0gKHRzIHx8IGJzIHx8IGxzIHx8IHJzKTsNCg0KCQkJaWYgKG8uc25hcE1vZGUgIT09ICJvdXRlciIpIHsNCgkJCQl0cyA9IE1hdGguYWJzKHQgLSB5MSkgPD0gZDsNCgkJCQlicyA9IE1hdGguYWJzKGIgLSB5MikgPD0gZDsNCgkJCQlscyA9IE1hdGguYWJzKGwgLSB4MSkgPD0gZDsNCgkJCQlycyA9IE1hdGguYWJzKHIgLSB4MikgPD0gZDsNCgkJCQlpZiAodHMpIHsNCgkJCQkJdWkucG9zaXRpb24udG9wID0gaW5zdC5fY29udmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIiwgeyB0b3A6IHQsIGxlZnQ6IDAgfSkudG9wOw0KCQkJCX0NCgkJCQlpZiAoYnMpIHsNCgkJCQkJdWkucG9zaXRpb24udG9wID0gaW5zdC5fY29udmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIiwgeyB0b3A6IGIgLSBpbnN0LmhlbHBlclByb3BvcnRpb25zLmhlaWdodCwgbGVmdDogMCB9KS50b3A7DQoJCQkJfQ0KCQkJCWlmIChscykgew0KCQkJCQl1aS5wb3NpdGlvbi5sZWZ0ID0gaW5zdC5fY29udmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIiwgeyB0b3A6IDAsIGxlZnQ6IGwgfSkubGVmdDsNCgkJCQl9DQoJCQkJaWYgKHJzKSB7DQoJCQkJCXVpLnBvc2l0aW9uLmxlZnQgPSBpbnN0Ll9jb252ZXJ0UG9zaXRpb25UbygicmVsYXRpdmUiLCB7IHRvcDogMCwgbGVmdDogciAtIGluc3QuaGVscGVyUHJvcG9ydGlvbnMud2lkdGggfSkubGVmdDsNCgkJCQl9DQoJCQl9DQoNCgkJCWlmICghaW5zdC5zbmFwRWxlbWVudHNbaV0uc25hcHBpbmcgJiYgKHRzIHx8IGJzIHx8IGxzIHx8IHJzIHx8IGZpcnN0KSkgew0KCQkJCShpbnN0Lm9wdGlvbnMuc25hcC5zbmFwICYmIGluc3Qub3B0aW9ucy5zbmFwLnNuYXAuY2FsbChpbnN0LmVsZW1lbnQsIGV2ZW50LCAkLmV4dGVuZChpbnN0Ll91aUhhc2goKSwgeyBzbmFwSXRlbTogaW5zdC5zbmFwRWxlbWVudHNbaV0uaXRlbSB9KSkpOw0KCQkJfQ0KCQkJaW5zdC5zbmFwRWxlbWVudHNbaV0uc25hcHBpbmcgPSAodHMgfHwgYnMgfHwgbHMgfHwgcnMgfHwgZmlyc3QpOw0KDQoJCX0NCg0KCX0NCn0pOw0KDQokLnVpLnBsdWdpbi5hZGQoImRyYWdnYWJsZSIsICJzdGFjayIsIHsNCglzdGFydDogZnVuY3Rpb24oIGV2ZW50LCB1aSwgaW5zdGFuY2UgKSB7DQoJCXZhciBtaW4sDQoJCQlvID0gaW5zdGFuY2Uub3B0aW9ucywNCgkJCWdyb3VwID0gJC5tYWtlQXJyYXkoJChvLnN0YWNrKSkuc29ydChmdW5jdGlvbihhLCBiKSB7DQoJCQkJcmV0dXJuIChwYXJzZUludCgkKGEpLmNzcygiekluZGV4IiksIDEwKSB8fCAwKSAtIChwYXJzZUludCgkKGIpLmNzcygiekluZGV4IiksIDEwKSB8fCAwKTsNCgkJCX0pOw0KDQoJCWlmICghZ3JvdXAubGVuZ3RoKSB7IHJldHVybjsgfQ0KDQoJCW1pbiA9IHBhcnNlSW50KCQoZ3JvdXBbMF0pLmNzcygiekluZGV4IiksIDEwKSB8fCAwOw0KCQkkKGdyb3VwKS5lYWNoKGZ1bmN0aW9uKGkpIHsNCgkJCSQodGhpcykuY3NzKCJ6SW5kZXgiLCBtaW4gKyBpKTsNCgkJfSk7DQoJCXRoaXMuY3NzKCJ6SW5kZXgiLCAobWluICsgZ3JvdXAubGVuZ3RoKSk7DQoJfQ0KfSk7DQoNCiQudWkucGx1Z2luLmFkZCgiZHJhZ2dhYmxlIiwgInpJbmRleCIsIHsNCglzdGFydDogZnVuY3Rpb24oIGV2ZW50LCB1aSwgaW5zdGFuY2UgKSB7DQoJCXZhciB0ID0gJCggdWkuaGVscGVyICksDQoJCQlvID0gaW5zdGFuY2Uub3B0aW9uczsNCg0KCQlpZiAodC5jc3MoInpJbmRleCIpKSB7DQoJCQlvLl96SW5kZXggPSB0LmNzcygiekluZGV4Iik7DQoJCX0NCgkJdC5jc3MoInpJbmRleCIsIG8uekluZGV4KTsNCgl9LA0KCXN0b3A6IGZ1bmN0aW9uKCBldmVudCwgdWksIGluc3RhbmNlICkgew0KCQl2YXIgbyA9IGluc3RhbmNlLm9wdGlvbnM7DQoNCgkJaWYgKG8uX3pJbmRleCkgew0KCQkJJCh1aS5oZWxwZXIpLmNzcygiekluZGV4Iiwgby5fekluZGV4KTsNCgkJfQ0KCX0NCn0pOw0KDQp2YXIgZHJhZ2dhYmxlID0gJC51aS5kcmFnZ2FibGU7DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgRHJvcHBhYmxlIDEuMTEuNA0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKg0KICogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vZHJvcHBhYmxlLw0KICovDQoNCg0KJC53aWRnZXQoICJ1aS5kcm9wcGFibGUiLCB7DQoJdmVyc2lvbjogIjEuMTEuNCIsDQoJd2lkZ2V0RXZlbnRQcmVmaXg6ICJkcm9wIiwNCglvcHRpb25zOiB7DQoJCWFjY2VwdDogIioiLA0KCQlhY3RpdmVDbGFzczogZmFsc2UsDQoJCWFkZENsYXNzZXM6IHRydWUsDQoJCWdyZWVkeTogZmFsc2UsDQoJCWhvdmVyQ2xhc3M6IGZhbHNlLA0KCQlzY29wZTogImRlZmF1bHQiLA0KCQl0b2xlcmFuY2U6ICJpbnRlcnNlY3QiLA0KDQoJCS8vIGNhbGxiYWNrcw0KCQlhY3RpdmF0ZTogbnVsbCwNCgkJZGVhY3RpdmF0ZTogbnVsbCwNCgkJZHJvcDogbnVsbCwNCgkJb3V0OiBudWxsLA0KCQlvdmVyOiBudWxsDQoJfSwNCglfY3JlYXRlOiBmdW5jdGlvbigpIHsNCg0KCQl2YXIgcHJvcG9ydGlvbnMsDQoJCQlvID0gdGhpcy5vcHRpb25zLA0KCQkJYWNjZXB0ID0gby5hY2NlcHQ7DQoNCgkJdGhpcy5pc292ZXIgPSBmYWxzZTsNCgkJdGhpcy5pc291dCA9IHRydWU7DQoNCgkJdGhpcy5hY2NlcHQgPSAkLmlzRnVuY3Rpb24oIGFjY2VwdCApID8gYWNjZXB0IDogZnVuY3Rpb24oIGQgKSB7DQoJCQlyZXR1cm4gZC5pcyggYWNjZXB0ICk7DQoJCX07DQoNCgkJdGhpcy5wcm9wb3J0aW9ucyA9IGZ1bmN0aW9uKCAvKiB2YWx1ZVRvV3JpdGUgKi8gKSB7DQoJCQlpZiAoIGFyZ3VtZW50cy5sZW5ndGggKSB7DQoJCQkJLy8gU3RvcmUgdGhlIGRyb3BwYWJsZSdzIHByb3BvcnRpb25zDQoJCQkJcHJvcG9ydGlvbnMgPSBhcmd1bWVudHNbIDAgXTsNCgkJCX0gZWxzZSB7DQoJCQkJLy8gUmV0cmlldmUgb3IgZGVyaXZlIHRoZSBkcm9wcGFibGUncyBwcm9wb3J0aW9ucw0KCQkJCXJldHVybiBwcm9wb3J0aW9ucyA/DQoJCQkJCXByb3BvcnRpb25zIDoNCgkJCQkJcHJvcG9ydGlvbnMgPSB7DQoJCQkJCQl3aWR0aDogdGhpcy5lbGVtZW50WyAwIF0ub2Zmc2V0V2lkdGgsDQoJCQkJCQloZWlnaHQ6IHRoaXMuZWxlbWVudFsgMCBdLm9mZnNldEhlaWdodA0KCQkJCQl9Ow0KCQkJfQ0KCQl9Ow0KDQoJCXRoaXMuX2FkZFRvTWFuYWdlciggby5zY29wZSApOw0KDQoJCW8uYWRkQ2xhc3NlcyAmJiB0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoICJ1aS1kcm9wcGFibGUiICk7DQoNCgl9LA0KDQoJX2FkZFRvTWFuYWdlcjogZnVuY3Rpb24oIHNjb3BlICkgew0KCQkvLyBBZGQgdGhlIHJlZmVyZW5jZSBhbmQgcG9zaXRpb25zIHRvIHRoZSBtYW5hZ2VyDQoJCSQudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbIHNjb3BlIF0gPSAkLnVpLmRkbWFuYWdlci5kcm9wcGFibGVzWyBzY29wZSBdIHx8IFtdOw0KCQkkLnVpLmRkbWFuYWdlci5kcm9wcGFibGVzWyBzY29wZSBdLnB1c2goIHRoaXMgKTsNCgl9LA0KDQoJX3NwbGljZTogZnVuY3Rpb24oIGRyb3AgKSB7DQoJCXZhciBpID0gMDsNCgkJZm9yICggOyBpIDwgZHJvcC5sZW5ndGg7IGkrKyApIHsNCgkJCWlmICggZHJvcFsgaSBdID09PSB0aGlzICkgew0KCQkJCWRyb3Auc3BsaWNlKCBpLCAxICk7DQoJCQl9DQoJCX0NCgl9LA0KDQoJX2Rlc3Ryb3k6IGZ1bmN0aW9uKCkgew0KCQl2YXIgZHJvcCA9ICQudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbIHRoaXMub3B0aW9ucy5zY29wZSBdOw0KDQoJCXRoaXMuX3NwbGljZSggZHJvcCApOw0KDQoJCXRoaXMuZWxlbWVudC5yZW1vdmVDbGFzcyggInVpLWRyb3BwYWJsZSB1aS1kcm9wcGFibGUtZGlzYWJsZWQiICk7DQoJfSwNCg0KCV9zZXRPcHRpb246IGZ1bmN0aW9uKCBrZXksIHZhbHVlICkgew0KDQoJCWlmICgga2V5ID09PSAiYWNjZXB0IiApIHsNCgkJCXRoaXMuYWNjZXB0ID0gJC5pc0Z1bmN0aW9uKCB2YWx1ZSApID8gdmFsdWUgOiBmdW5jdGlvbiggZCApIHsNCgkJCQlyZXR1cm4gZC5pcyggdmFsdWUgKTsNCgkJCX07DQoJCX0gZWxzZSBpZiAoIGtleSA9PT0gInNjb3BlIiApIHsNCgkJCXZhciBkcm9wID0gJC51aS5kZG1hbmFnZXIuZHJvcHBhYmxlc1sgdGhpcy5vcHRpb25zLnNjb3BlIF07DQoNCgkJCXRoaXMuX3NwbGljZSggZHJvcCApOw0KCQkJdGhpcy5fYWRkVG9NYW5hZ2VyKCB2YWx1ZSApOw0KCQl9DQoNCgkJdGhpcy5fc3VwZXIoIGtleSwgdmFsdWUgKTsNCgl9LA0KDQoJX2FjdGl2YXRlOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXZhciBkcmFnZ2FibGUgPSAkLnVpLmRkbWFuYWdlci5jdXJyZW50Ow0KCQlpZiAoIHRoaXMub3B0aW9ucy5hY3RpdmVDbGFzcyApIHsNCgkJCXRoaXMuZWxlbWVudC5hZGRDbGFzcyggdGhpcy5vcHRpb25zLmFjdGl2ZUNsYXNzICk7DQoJCX0NCgkJaWYgKCBkcmFnZ2FibGUgKXsNCgkJCXRoaXMuX3RyaWdnZXIoICJhY3RpdmF0ZSIsIGV2ZW50LCB0aGlzLnVpKCBkcmFnZ2FibGUgKSApOw0KCQl9DQoJfSwNCg0KCV9kZWFjdGl2YXRlOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXZhciBkcmFnZ2FibGUgPSAkLnVpLmRkbWFuYWdlci5jdXJyZW50Ow0KCQlpZiAoIHRoaXMub3B0aW9ucy5hY3RpdmVDbGFzcyApIHsNCgkJCXRoaXMuZWxlbWVudC5yZW1vdmVDbGFzcyggdGhpcy5vcHRpb25zLmFjdGl2ZUNsYXNzICk7DQoJCX0NCgkJaWYgKCBkcmFnZ2FibGUgKXsNCgkJCXRoaXMuX3RyaWdnZXIoICJkZWFjdGl2YXRlIiwgZXZlbnQsIHRoaXMudWkoIGRyYWdnYWJsZSApICk7DQoJCX0NCgl9LA0KDQoJX292ZXI6IGZ1bmN0aW9uKCBldmVudCApIHsNCg0KCQl2YXIgZHJhZ2dhYmxlID0gJC51aS5kZG1hbmFnZXIuY3VycmVudDsNCg0KCQkvLyBCYWlsIGlmIGRyYWdnYWJsZSBhbmQgZHJvcHBhYmxlIGFyZSBzYW1lIGVsZW1lbnQNCgkJaWYgKCAhZHJhZ2dhYmxlIHx8ICggZHJhZ2dhYmxlLmN1cnJlbnRJdGVtIHx8IGRyYWdnYWJsZS5lbGVtZW50IClbIDAgXSA9PT0gdGhpcy5lbGVtZW50WyAwIF0gKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQlpZiAoIHRoaXMuYWNjZXB0LmNhbGwoIHRoaXMuZWxlbWVudFsgMCBdLCAoIGRyYWdnYWJsZS5jdXJyZW50SXRlbSB8fCBkcmFnZ2FibGUuZWxlbWVudCApICkgKSB7DQoJCQlpZiAoIHRoaXMub3B0aW9ucy5ob3ZlckNsYXNzICkgew0KCQkJCXRoaXMuZWxlbWVudC5hZGRDbGFzcyggdGhpcy5vcHRpb25zLmhvdmVyQ2xhc3MgKTsNCgkJCX0NCgkJCXRoaXMuX3RyaWdnZXIoICJvdmVyIiwgZXZlbnQsIHRoaXMudWkoIGRyYWdnYWJsZSApICk7DQoJCX0NCg0KCX0sDQoNCglfb3V0OiBmdW5jdGlvbiggZXZlbnQgKSB7DQoNCgkJdmFyIGRyYWdnYWJsZSA9ICQudWkuZGRtYW5hZ2VyLmN1cnJlbnQ7DQoNCgkJLy8gQmFpbCBpZiBkcmFnZ2FibGUgYW5kIGRyb3BwYWJsZSBhcmUgc2FtZSBlbGVtZW50DQoJCWlmICggIWRyYWdnYWJsZSB8fCAoIGRyYWdnYWJsZS5jdXJyZW50SXRlbSB8fCBkcmFnZ2FibGUuZWxlbWVudCApWyAwIF0gPT09IHRoaXMuZWxlbWVudFsgMCBdICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJaWYgKCB0aGlzLmFjY2VwdC5jYWxsKCB0aGlzLmVsZW1lbnRbIDAgXSwgKCBkcmFnZ2FibGUuY3VycmVudEl0ZW0gfHwgZHJhZ2dhYmxlLmVsZW1lbnQgKSApICkgew0KCQkJaWYgKCB0aGlzLm9wdGlvbnMuaG92ZXJDbGFzcyApIHsNCgkJCQl0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoIHRoaXMub3B0aW9ucy5ob3ZlckNsYXNzICk7DQoJCQl9DQoJCQl0aGlzLl90cmlnZ2VyKCAib3V0IiwgZXZlbnQsIHRoaXMudWkoIGRyYWdnYWJsZSApICk7DQoJCX0NCg0KCX0sDQoNCglfZHJvcDogZnVuY3Rpb24oIGV2ZW50LCBjdXN0b20gKSB7DQoNCgkJdmFyIGRyYWdnYWJsZSA9IGN1c3RvbSB8fCAkLnVpLmRkbWFuYWdlci5jdXJyZW50LA0KCQkJY2hpbGRyZW5JbnRlcnNlY3Rpb24gPSBmYWxzZTsNCg0KCQkvLyBCYWlsIGlmIGRyYWdnYWJsZSBhbmQgZHJvcHBhYmxlIGFyZSBzYW1lIGVsZW1lbnQNCgkJaWYgKCAhZHJhZ2dhYmxlIHx8ICggZHJhZ2dhYmxlLmN1cnJlbnRJdGVtIHx8IGRyYWdnYWJsZS5lbGVtZW50IClbIDAgXSA9PT0gdGhpcy5lbGVtZW50WyAwIF0gKSB7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCg0KCQl0aGlzLmVsZW1lbnQuZmluZCggIjpkYXRhKHVpLWRyb3BwYWJsZSkiICkubm90KCAiLnVpLWRyYWdnYWJsZS1kcmFnZ2luZyIgKS5lYWNoKGZ1bmN0aW9uKCkgew0KCQkJdmFyIGluc3QgPSAkKCB0aGlzICkuZHJvcHBhYmxlKCAiaW5zdGFuY2UiICk7DQoJCQlpZiAoDQoJCQkJaW5zdC5vcHRpb25zLmdyZWVkeSAmJg0KCQkJCSFpbnN0Lm9wdGlvbnMuZGlzYWJsZWQgJiYNCgkJCQlpbnN0Lm9wdGlvbnMuc2NvcGUgPT09IGRyYWdnYWJsZS5vcHRpb25zLnNjb3BlICYmDQoJCQkJaW5zdC5hY2NlcHQuY2FsbCggaW5zdC5lbGVtZW50WyAwIF0sICggZHJhZ2dhYmxlLmN1cnJlbnRJdGVtIHx8IGRyYWdnYWJsZS5lbGVtZW50ICkgKSAmJg0KCQkJCSQudWkuaW50ZXJzZWN0KCBkcmFnZ2FibGUsICQuZXh0ZW5kKCBpbnN0LCB7IG9mZnNldDogaW5zdC5lbGVtZW50Lm9mZnNldCgpIH0gKSwgaW5zdC5vcHRpb25zLnRvbGVyYW5jZSwgZXZlbnQgKQ0KCQkJKSB7IGNoaWxkcmVuSW50ZXJzZWN0aW9uID0gdHJ1ZTsgcmV0dXJuIGZhbHNlOyB9DQoJCX0pOw0KCQlpZiAoIGNoaWxkcmVuSW50ZXJzZWN0aW9uICkgew0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoNCgkJaWYgKCB0aGlzLmFjY2VwdC5jYWxsKCB0aGlzLmVsZW1lbnRbIDAgXSwgKCBkcmFnZ2FibGUuY3VycmVudEl0ZW0gfHwgZHJhZ2dhYmxlLmVsZW1lbnQgKSApICkgew0KCQkJaWYgKCB0aGlzLm9wdGlvbnMuYWN0aXZlQ2xhc3MgKSB7DQoJCQkJdGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCB0aGlzLm9wdGlvbnMuYWN0aXZlQ2xhc3MgKTsNCgkJCX0NCgkJCWlmICggdGhpcy5vcHRpb25zLmhvdmVyQ2xhc3MgKSB7DQoJCQkJdGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCB0aGlzLm9wdGlvbnMuaG92ZXJDbGFzcyApOw0KCQkJfQ0KCQkJdGhpcy5fdHJpZ2dlciggImRyb3AiLCBldmVudCwgdGhpcy51aSggZHJhZ2dhYmxlICkgKTsNCgkJCXJldHVybiB0aGlzLmVsZW1lbnQ7DQoJCX0NCg0KCQlyZXR1cm4gZmFsc2U7DQoNCgl9LA0KDQoJdWk6IGZ1bmN0aW9uKCBjICkgew0KCQlyZXR1cm4gew0KCQkJZHJhZ2dhYmxlOiAoIGMuY3VycmVudEl0ZW0gfHwgYy5lbGVtZW50ICksDQoJCQloZWxwZXI6IGMuaGVscGVyLA0KCQkJcG9zaXRpb246IGMucG9zaXRpb24sDQoJCQlvZmZzZXQ6IGMucG9zaXRpb25BYnMNCgkJfTsNCgl9DQoNCn0pOw0KDQokLnVpLmludGVyc2VjdCA9IChmdW5jdGlvbigpIHsNCglmdW5jdGlvbiBpc092ZXJBeGlzKCB4LCByZWZlcmVuY2UsIHNpemUgKSB7DQoJCXJldHVybiAoIHggPj0gcmVmZXJlbmNlICkgJiYgKCB4IDwgKCByZWZlcmVuY2UgKyBzaXplICkgKTsNCgl9DQoNCglyZXR1cm4gZnVuY3Rpb24oIGRyYWdnYWJsZSwgZHJvcHBhYmxlLCB0b2xlcmFuY2VNb2RlLCBldmVudCApIHsNCg0KCQlpZiAoICFkcm9wcGFibGUub2Zmc2V0ICkgew0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoNCgkJdmFyIHgxID0gKCBkcmFnZ2FibGUucG9zaXRpb25BYnMgfHwgZHJhZ2dhYmxlLnBvc2l0aW9uLmFic29sdXRlICkubGVmdCArIGRyYWdnYWJsZS5tYXJnaW5zLmxlZnQsDQoJCQl5MSA9ICggZHJhZ2dhYmxlLnBvc2l0aW9uQWJzIHx8IGRyYWdnYWJsZS5wb3NpdGlvbi5hYnNvbHV0ZSApLnRvcCArIGRyYWdnYWJsZS5tYXJnaW5zLnRvcCwNCgkJCXgyID0geDEgKyBkcmFnZ2FibGUuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgsDQoJCQl5MiA9IHkxICsgZHJhZ2dhYmxlLmhlbHBlclByb3BvcnRpb25zLmhlaWdodCwNCgkJCWwgPSBkcm9wcGFibGUub2Zmc2V0LmxlZnQsDQoJCQl0ID0gZHJvcHBhYmxlLm9mZnNldC50b3AsDQoJCQlyID0gbCArIGRyb3BwYWJsZS5wcm9wb3J0aW9ucygpLndpZHRoLA0KCQkJYiA9IHQgKyBkcm9wcGFibGUucHJvcG9ydGlvbnMoKS5oZWlnaHQ7DQoNCgkJc3dpdGNoICggdG9sZXJhbmNlTW9kZSApIHsNCgkJY2FzZSAiZml0IjoNCgkJCXJldHVybiAoIGwgPD0geDEgJiYgeDIgPD0gciAmJiB0IDw9IHkxICYmIHkyIDw9IGIgKTsNCgkJY2FzZSAiaW50ZXJzZWN0IjoNCgkJCXJldHVybiAoIGwgPCB4MSArICggZHJhZ2dhYmxlLmhlbHBlclByb3BvcnRpb25zLndpZHRoIC8gMiApICYmIC8vIFJpZ2h0IEhhbGYNCgkJCQl4MiAtICggZHJhZ2dhYmxlLmhlbHBlclByb3BvcnRpb25zLndpZHRoIC8gMiApIDwgciAmJiAvLyBMZWZ0IEhhbGYNCgkJCQl0IDwgeTEgKyAoIGRyYWdnYWJsZS5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQgLyAyICkgJiYgLy8gQm90dG9tIEhhbGYNCgkJCQl5MiAtICggZHJhZ2dhYmxlLmhlbHBlclByb3BvcnRpb25zLmhlaWdodCAvIDIgKSA8IGIgKTsgLy8gVG9wIEhhbGYNCgkJY2FzZSAicG9pbnRlciI6DQoJCQlyZXR1cm4gaXNPdmVyQXhpcyggZXZlbnQucGFnZVksIHQsIGRyb3BwYWJsZS5wcm9wb3J0aW9ucygpLmhlaWdodCApICYmIGlzT3ZlckF4aXMoIGV2ZW50LnBhZ2VYLCBsLCBkcm9wcGFibGUucHJvcG9ydGlvbnMoKS53aWR0aCApOw0KCQljYXNlICJ0b3VjaCI6DQoJCQlyZXR1cm4gKA0KCQkJCSggeTEgPj0gdCAmJiB5MSA8PSBiICkgfHwgLy8gVG9wIGVkZ2UgdG91Y2hpbmcNCgkJCQkoIHkyID49IHQgJiYgeTIgPD0gYiApIHx8IC8vIEJvdHRvbSBlZGdlIHRvdWNoaW5nDQoJCQkJKCB5MSA8IHQgJiYgeTIgPiBiICkgLy8gU3Vycm91bmRlZCB2ZXJ0aWNhbGx5DQoJCQkpICYmICgNCgkJCQkoIHgxID49IGwgJiYgeDEgPD0gciApIHx8IC8vIExlZnQgZWRnZSB0b3VjaGluZw0KCQkJCSggeDIgPj0gbCAmJiB4MiA8PSByICkgfHwgLy8gUmlnaHQgZWRnZSB0b3VjaGluZw0KCQkJCSggeDEgPCBsICYmIHgyID4gciApIC8vIFN1cnJvdW5kZWQgaG9yaXpvbnRhbGx5DQoJCQkpOw0KCQlkZWZhdWx0Og0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoJfTsNCn0pKCk7DQoNCi8qDQoJVGhpcyBtYW5hZ2VyIHRyYWNrcyBvZmZzZXRzIG9mIGRyYWdnYWJsZXMgYW5kIGRyb3BwYWJsZXMNCiovDQokLnVpLmRkbWFuYWdlciA9IHsNCgljdXJyZW50OiBudWxsLA0KCWRyb3BwYWJsZXM6IHsgImRlZmF1bHQiOiBbXSB9LA0KCXByZXBhcmVPZmZzZXRzOiBmdW5jdGlvbiggdCwgZXZlbnQgKSB7DQoNCgkJdmFyIGksIGosDQoJCQltID0gJC51aS5kZG1hbmFnZXIuZHJvcHBhYmxlc1sgdC5vcHRpb25zLnNjb3BlIF0gfHwgW10sDQoJCQl0eXBlID0gZXZlbnQgPyBldmVudC50eXBlIDogbnVsbCwgLy8gd29ya2Fyb3VuZCBmb3IgIzIzMTcNCgkJCWxpc3QgPSAoIHQuY3VycmVudEl0ZW0gfHwgdC5lbGVtZW50ICkuZmluZCggIjpkYXRhKHVpLWRyb3BwYWJsZSkiICkuYWRkQmFjaygpOw0KDQoJCWRyb3BwYWJsZXNMb29wOiBmb3IgKCBpID0gMDsgaSA8IG0ubGVuZ3RoOyBpKysgKSB7DQoNCgkJCS8vIE5vIGRpc2FibGVkIGFuZCBub24tYWNjZXB0ZWQNCgkJCWlmICggbVsgaSBdLm9wdGlvbnMuZGlzYWJsZWQgfHwgKCB0ICYmICFtWyBpIF0uYWNjZXB0LmNhbGwoIG1bIGkgXS5lbGVtZW50WyAwIF0sICggdC5jdXJyZW50SXRlbSB8fCB0LmVsZW1lbnQgKSApICkgKSB7DQoJCQkJY29udGludWU7DQoJCQl9DQoNCgkJCS8vIEZpbHRlciBvdXQgZWxlbWVudHMgaW4gdGhlIGN1cnJlbnQgZHJhZ2dlZCBpdGVtDQoJCQlmb3IgKCBqID0gMDsgaiA8IGxpc3QubGVuZ3RoOyBqKysgKSB7DQoJCQkJaWYgKCBsaXN0WyBqIF0gPT09IG1bIGkgXS5lbGVtZW50WyAwIF0gKSB7DQoJCQkJCW1bIGkgXS5wcm9wb3J0aW9ucygpLmhlaWdodCA9IDA7DQoJCQkJCWNvbnRpbnVlIGRyb3BwYWJsZXNMb29wOw0KCQkJCX0NCgkJCX0NCg0KCQkJbVsgaSBdLnZpc2libGUgPSBtWyBpIF0uZWxlbWVudC5jc3MoICJkaXNwbGF5IiApICE9PSAibm9uZSI7DQoJCQlpZiAoICFtWyBpIF0udmlzaWJsZSApIHsNCgkJCQljb250aW51ZTsNCgkJCX0NCg0KCQkJLy8gQWN0aXZhdGUgdGhlIGRyb3BwYWJsZSBpZiB1c2VkIGRpcmVjdGx5IGZyb20gZHJhZ2dhYmxlcw0KCQkJaWYgKCB0eXBlID09PSAibW91c2Vkb3duIiApIHsNCgkJCQltWyBpIF0uX2FjdGl2YXRlLmNhbGwoIG1bIGkgXSwgZXZlbnQgKTsNCgkJCX0NCg0KCQkJbVsgaSBdLm9mZnNldCA9IG1bIGkgXS5lbGVtZW50Lm9mZnNldCgpOw0KCQkJbVsgaSBdLnByb3BvcnRpb25zKHsgd2lkdGg6IG1bIGkgXS5lbGVtZW50WyAwIF0ub2Zmc2V0V2lkdGgsIGhlaWdodDogbVsgaSBdLmVsZW1lbnRbIDAgXS5vZmZzZXRIZWlnaHQgfSk7DQoNCgkJfQ0KDQoJfSwNCglkcm9wOiBmdW5jdGlvbiggZHJhZ2dhYmxlLCBldmVudCApIHsNCg0KCQl2YXIgZHJvcHBlZCA9IGZhbHNlOw0KCQkvLyBDcmVhdGUgYSBjb3B5IG9mIHRoZSBkcm9wcGFibGVzIGluIGNhc2UgdGhlIGxpc3QgY2hhbmdlcyBkdXJpbmcgdGhlIGRyb3AgKCM5MTE2KQ0KCQkkLmVhY2goICggJC51aS5kZG1hbmFnZXIuZHJvcHBhYmxlc1sgZHJhZ2dhYmxlLm9wdGlvbnMuc2NvcGUgXSB8fCBbXSApLnNsaWNlKCksIGZ1bmN0aW9uKCkgew0KDQoJCQlpZiAoICF0aGlzLm9wdGlvbnMgKSB7DQoJCQkJcmV0dXJuOw0KCQkJfQ0KCQkJaWYgKCAhdGhpcy5vcHRpb25zLmRpc2FibGVkICYmIHRoaXMudmlzaWJsZSAmJiAkLnVpLmludGVyc2VjdCggZHJhZ2dhYmxlLCB0aGlzLCB0aGlzLm9wdGlvbnMudG9sZXJhbmNlLCBldmVudCApICkgew0KCQkJCWRyb3BwZWQgPSB0aGlzLl9kcm9wLmNhbGwoIHRoaXMsIGV2ZW50ICkgfHwgZHJvcHBlZDsNCgkJCX0NCg0KCQkJaWYgKCAhdGhpcy5vcHRpb25zLmRpc2FibGVkICYmIHRoaXMudmlzaWJsZSAmJiB0aGlzLmFjY2VwdC5jYWxsKCB0aGlzLmVsZW1lbnRbIDAgXSwgKCBkcmFnZ2FibGUuY3VycmVudEl0ZW0gfHwgZHJhZ2dhYmxlLmVsZW1lbnQgKSApICkgew0KCQkJCXRoaXMuaXNvdXQgPSB0cnVlOw0KCQkJCXRoaXMuaXNvdmVyID0gZmFsc2U7DQoJCQkJdGhpcy5fZGVhY3RpdmF0ZS5jYWxsKCB0aGlzLCBldmVudCApOw0KCQkJfQ0KDQoJCX0pOw0KCQlyZXR1cm4gZHJvcHBlZDsNCg0KCX0sDQoJZHJhZ1N0YXJ0OiBmdW5jdGlvbiggZHJhZ2dhYmxlLCBldmVudCApIHsNCgkJLy8gTGlzdGVuIGZvciBzY3JvbGxpbmcgc28gdGhhdCBpZiB0aGUgZHJhZ2dpbmcgY2F1c2VzIHNjcm9sbGluZyB0aGUgcG9zaXRpb24gb2YgdGhlIGRyb3BwYWJsZXMgY2FuIGJlIHJlY2FsY3VsYXRlZCAoc2VlICM1MDAzKQ0KCQlkcmFnZ2FibGUuZWxlbWVudC5wYXJlbnRzVW50aWwoICJib2R5IiApLmJpbmQoICJzY3JvbGwuZHJvcHBhYmxlIiwgZnVuY3Rpb24oKSB7DQoJCQlpZiAoICFkcmFnZ2FibGUub3B0aW9ucy5yZWZyZXNoUG9zaXRpb25zICkgew0KCQkJCSQudWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKCBkcmFnZ2FibGUsIGV2ZW50ICk7DQoJCQl9DQoJCX0pOw0KCX0sDQoJZHJhZzogZnVuY3Rpb24oIGRyYWdnYWJsZSwgZXZlbnQgKSB7DQoNCgkJLy8gSWYgeW91IGhhdmUgYSBoaWdobHkgZHluYW1pYyBwYWdlLCB5b3UgbWlnaHQgdHJ5IHRoaXMgb3B0aW9uLiBJdCByZW5kZXJzIHBvc2l0aW9ucyBldmVyeSB0aW1lIHlvdSBtb3ZlIHRoZSBtb3VzZS4NCgkJaWYgKCBkcmFnZ2FibGUub3B0aW9ucy5yZWZyZXNoUG9zaXRpb25zICkgew0KCQkJJC51aS5kZG1hbmFnZXIucHJlcGFyZU9mZnNldHMoIGRyYWdnYWJsZSwgZXZlbnQgKTsNCgkJfQ0KDQoJCS8vIFJ1biB0aHJvdWdoIGFsbCBkcm9wcGFibGVzIGFuZCBjaGVjayB0aGVpciBwb3NpdGlvbnMgYmFzZWQgb24gc3BlY2lmaWMgdG9sZXJhbmNlIG9wdGlvbnMNCgkJJC5lYWNoKCAkLnVpLmRkbWFuYWdlci5kcm9wcGFibGVzWyBkcmFnZ2FibGUub3B0aW9ucy5zY29wZSBdIHx8IFtdLCBmdW5jdGlvbigpIHsNCg0KCQkJaWYgKCB0aGlzLm9wdGlvbnMuZGlzYWJsZWQgfHwgdGhpcy5ncmVlZHlDaGlsZCB8fCAhdGhpcy52aXNpYmxlICkgew0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJdmFyIHBhcmVudEluc3RhbmNlLCBzY29wZSwgcGFyZW50LA0KCQkJCWludGVyc2VjdHMgPSAkLnVpLmludGVyc2VjdCggZHJhZ2dhYmxlLCB0aGlzLCB0aGlzLm9wdGlvbnMudG9sZXJhbmNlLCBldmVudCApLA0KCQkJCWMgPSAhaW50ZXJzZWN0cyAmJiB0aGlzLmlzb3ZlciA/ICJpc291dCIgOiAoIGludGVyc2VjdHMgJiYgIXRoaXMuaXNvdmVyID8gImlzb3ZlciIgOiBudWxsICk7DQoJCQlpZiAoICFjICkgew0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJaWYgKCB0aGlzLm9wdGlvbnMuZ3JlZWR5ICkgew0KCQkJCS8vIGZpbmQgZHJvcHBhYmxlIHBhcmVudHMgd2l0aCBzYW1lIHNjb3BlDQoJCQkJc2NvcGUgPSB0aGlzLm9wdGlvbnMuc2NvcGU7DQoJCQkJcGFyZW50ID0gdGhpcy5lbGVtZW50LnBhcmVudHMoICI6ZGF0YSh1aS1kcm9wcGFibGUpIiApLmZpbHRlcihmdW5jdGlvbigpIHsNCgkJCQkJcmV0dXJuICQoIHRoaXMgKS5kcm9wcGFibGUoICJpbnN0YW5jZSIgKS5vcHRpb25zLnNjb3BlID09PSBzY29wZTsNCgkJCQl9KTsNCg0KCQkJCWlmICggcGFyZW50Lmxlbmd0aCApIHsNCgkJCQkJcGFyZW50SW5zdGFuY2UgPSAkKCBwYXJlbnRbIDAgXSApLmRyb3BwYWJsZSggImluc3RhbmNlIiApOw0KCQkJCQlwYXJlbnRJbnN0YW5jZS5ncmVlZHlDaGlsZCA9ICggYyA9PT0gImlzb3ZlciIgKTsNCgkJCQl9DQoJCQl9DQoNCgkJCS8vIHdlIGp1c3QgbW92ZWQgaW50byBhIGdyZWVkeSBjaGlsZA0KCQkJaWYgKCBwYXJlbnRJbnN0YW5jZSAmJiBjID09PSAiaXNvdmVyIiApIHsNCgkJCQlwYXJlbnRJbnN0YW5jZS5pc292ZXIgPSBmYWxzZTsNCgkJCQlwYXJlbnRJbnN0YW5jZS5pc291dCA9IHRydWU7DQoJCQkJcGFyZW50SW5zdGFuY2UuX291dC5jYWxsKCBwYXJlbnRJbnN0YW5jZSwgZXZlbnQgKTsNCgkJCX0NCg0KCQkJdGhpc1sgYyBdID0gdHJ1ZTsNCgkJCXRoaXNbYyA9PT0gImlzb3V0IiA/ICJpc292ZXIiIDogImlzb3V0Il0gPSBmYWxzZTsNCgkJCXRoaXNbYyA9PT0gImlzb3ZlciIgPyAiX292ZXIiIDogIl9vdXQiXS5jYWxsKCB0aGlzLCBldmVudCApOw0KDQoJCQkvLyB3ZSBqdXN0IG1vdmVkIG91dCBvZiBhIGdyZWVkeSBjaGlsZA0KCQkJaWYgKCBwYXJlbnRJbnN0YW5jZSAmJiBjID09PSAiaXNvdXQiICkgew0KCQkJCXBhcmVudEluc3RhbmNlLmlzb3V0ID0gZmFsc2U7DQoJCQkJcGFyZW50SW5zdGFuY2UuaXNvdmVyID0gdHJ1ZTsNCgkJCQlwYXJlbnRJbnN0YW5jZS5fb3Zlci5jYWxsKCBwYXJlbnRJbnN0YW5jZSwgZXZlbnQgKTsNCgkJCX0NCgkJfSk7DQoNCgl9LA0KCWRyYWdTdG9wOiBmdW5jdGlvbiggZHJhZ2dhYmxlLCBldmVudCApIHsNCgkJZHJhZ2dhYmxlLmVsZW1lbnQucGFyZW50c1VudGlsKCAiYm9keSIgKS51bmJpbmQoICJzY3JvbGwuZHJvcHBhYmxlIiApOw0KCQkvLyBDYWxsIHByZXBhcmVPZmZzZXRzIG9uZSBmaW5hbCB0aW1lIHNpbmNlIElFIGRvZXMgbm90IGZpcmUgcmV0dXJuIHNjcm9sbCBldmVudHMgd2hlbiBvdmVyZmxvdyB3YXMgY2F1c2VkIGJ5IGRyYWcgKHNlZSAjNTAwMykNCgkJaWYgKCAhZHJhZ2dhYmxlLm9wdGlvbnMucmVmcmVzaFBvc2l0aW9ucyApIHsNCgkJCSQudWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKCBkcmFnZ2FibGUsIGV2ZW50ICk7DQoJCX0NCgl9DQp9Ow0KDQp2YXIgZHJvcHBhYmxlID0gJC51aS5kcm9wcGFibGU7DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgUmVzaXphYmxlIDEuMTEuNA0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKg0KICogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vcmVzaXphYmxlLw0KICovDQoNCg0KJC53aWRnZXQoInVpLnJlc2l6YWJsZSIsICQudWkubW91c2UsIHsNCgl2ZXJzaW9uOiAiMS4xMS40IiwNCgl3aWRnZXRFdmVudFByZWZpeDogInJlc2l6ZSIsDQoJb3B0aW9uczogew0KCQlhbHNvUmVzaXplOiBmYWxzZSwNCgkJYW5pbWF0ZTogZmFsc2UsDQoJCWFuaW1hdGVEdXJhdGlvbjogInNsb3ciLA0KCQlhbmltYXRlRWFzaW5nOiAic3dpbmciLA0KCQlhc3BlY3RSYXRpbzogZmFsc2UsDQoJCWF1dG9IaWRlOiBmYWxzZSwNCgkJY29udGFpbm1lbnQ6IGZhbHNlLA0KCQlnaG9zdDogZmFsc2UsDQoJCWdyaWQ6IGZhbHNlLA0KCQloYW5kbGVzOiAiZSxzLHNlIiwNCgkJaGVscGVyOiBmYWxzZSwNCgkJbWF4SGVpZ2h0OiBudWxsLA0KCQltYXhXaWR0aDogbnVsbCwNCgkJbWluSGVpZ2h0OiAxMCwNCgkJbWluV2lkdGg6IDEwLA0KCQkvLyBTZWUgIzc5NjANCgkJekluZGV4OiA5MCwNCg0KCQkvLyBjYWxsYmFja3MNCgkJcmVzaXplOiBudWxsLA0KCQlzdGFydDogbnVsbCwNCgkJc3RvcDogbnVsbA0KCX0sDQoNCglfbnVtOiBmdW5jdGlvbiggdmFsdWUgKSB7DQoJCXJldHVybiBwYXJzZUludCggdmFsdWUsIDEwICkgfHwgMDsNCgl9LA0KDQoJX2lzTnVtYmVyOiBmdW5jdGlvbiggdmFsdWUgKSB7DQoJCXJldHVybiAhaXNOYU4oIHBhcnNlSW50KCB2YWx1ZSwgMTAgKSApOw0KCX0sDQoNCglfaGFzU2Nyb2xsOiBmdW5jdGlvbiggZWwsIGEgKSB7DQoNCgkJaWYgKCAkKCBlbCApLmNzcyggIm92ZXJmbG93IiApID09PSAiaGlkZGVuIikgew0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoNCgkJdmFyIHNjcm9sbCA9ICggYSAmJiBhID09PSAibGVmdCIgKSA/ICJzY3JvbGxMZWZ0IiA6ICJzY3JvbGxUb3AiLA0KCQkJaGFzID0gZmFsc2U7DQoNCgkJaWYgKCBlbFsgc2Nyb2xsIF0gPiAwICkgew0KCQkJcmV0dXJuIHRydWU7DQoJCX0NCg0KCQkvLyBUT0RPOiBkZXRlcm1pbmUgd2hpY2ggY2FzZXMgYWN0dWFsbHkgY2F1c2UgdGhpcyB0byBoYXBwZW4NCgkJLy8gaWYgdGhlIGVsZW1lbnQgZG9lc24ndCBoYXZlIHRoZSBzY3JvbGwgc2V0LCBzZWUgaWYgaXQncyBwb3NzaWJsZSB0bw0KCQkvLyBzZXQgdGhlIHNjcm9sbA0KCQllbFsgc2Nyb2xsIF0gPSAxOw0KCQloYXMgPSAoIGVsWyBzY3JvbGwgXSA+IDAgKTsNCgkJZWxbIHNjcm9sbCBdID0gMDsNCgkJcmV0dXJuIGhhczsNCgl9LA0KDQoJX2NyZWF0ZTogZnVuY3Rpb24oKSB7DQoNCgkJdmFyIG4sIGksIGhhbmRsZSwgYXhpcywgaG5hbWUsDQoJCQl0aGF0ID0gdGhpcywNCgkJCW8gPSB0aGlzLm9wdGlvbnM7DQoJCXRoaXMuZWxlbWVudC5hZGRDbGFzcygidWktcmVzaXphYmxlIik7DQoNCgkJJC5leHRlbmQodGhpcywgew0KCQkJX2FzcGVjdFJhdGlvOiAhIShvLmFzcGVjdFJhdGlvKSwNCgkJCWFzcGVjdFJhdGlvOiBvLmFzcGVjdFJhdGlvLA0KCQkJb3JpZ2luYWxFbGVtZW50OiB0aGlzLmVsZW1lbnQsDQoJCQlfcHJvcG9ydGlvbmFsbHlSZXNpemVFbGVtZW50czogW10sDQoJCQlfaGVscGVyOiBvLmhlbHBlciB8fCBvLmdob3N0IHx8IG8uYW5pbWF0ZSA/IG8uaGVscGVyIHx8ICJ1aS1yZXNpemFibGUtaGVscGVyIiA6IG51bGwNCgkJfSk7DQoNCgkJLy8gV3JhcCB0aGUgZWxlbWVudCBpZiBpdCBjYW5ub3QgaG9sZCBjaGlsZCBub2Rlcw0KCQlpZiAodGhpcy5lbGVtZW50WzBdLm5vZGVOYW1lLm1hdGNoKC9eKGNhbnZhc3x0ZXh0YXJlYXxpbnB1dHxzZWxlY3R8YnV0dG9ufGltZykkL2kpKSB7DQoNCgkJCXRoaXMuZWxlbWVudC53cmFwKA0KCQkJCSQoIjxkaXYgY2xhc3M9J3VpLXdyYXBwZXInIHN0eWxlPSdvdmVyZmxvdzogaGlkZGVuOyc+PC9kaXY+IikuY3NzKHsNCgkJCQkJcG9zaXRpb246IHRoaXMuZWxlbWVudC5jc3MoInBvc2l0aW9uIiksDQoJCQkJCXdpZHRoOiB0aGlzLmVsZW1lbnQub3V0ZXJXaWR0aCgpLA0KCQkJCQloZWlnaHQ6IHRoaXMuZWxlbWVudC5vdXRlckhlaWdodCgpLA0KCQkJCQl0b3A6IHRoaXMuZWxlbWVudC5jc3MoInRvcCIpLA0KCQkJCQlsZWZ0OiB0aGlzLmVsZW1lbnQuY3NzKCJsZWZ0IikNCgkJCQl9KQ0KCQkJKTsNCg0KCQkJdGhpcy5lbGVtZW50ID0gdGhpcy5lbGVtZW50LnBhcmVudCgpLmRhdGEoDQoJCQkJInVpLXJlc2l6YWJsZSIsIHRoaXMuZWxlbWVudC5yZXNpemFibGUoICJpbnN0YW5jZSIgKQ0KCQkJKTsNCg0KCQkJdGhpcy5lbGVtZW50SXNXcmFwcGVyID0gdHJ1ZTsNCg0KCQkJdGhpcy5lbGVtZW50LmNzcyh7DQoJCQkJbWFyZ2luTGVmdDogdGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCJtYXJnaW5MZWZ0IiksDQoJCQkJbWFyZ2luVG9wOiB0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3MoIm1hcmdpblRvcCIpLA0KCQkJCW1hcmdpblJpZ2h0OiB0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3MoIm1hcmdpblJpZ2h0IiksDQoJCQkJbWFyZ2luQm90dG9tOiB0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3MoIm1hcmdpbkJvdHRvbSIpDQoJCQl9KTsNCgkJCXRoaXMub3JpZ2luYWxFbGVtZW50LmNzcyh7DQoJCQkJbWFyZ2luTGVmdDogMCwNCgkJCQltYXJnaW5Ub3A6IDAsDQoJCQkJbWFyZ2luUmlnaHQ6IDAsDQoJCQkJbWFyZ2luQm90dG9tOiAwDQoJCQl9KTsNCgkJCS8vIHN1cHBvcnQ6IFNhZmFyaQ0KCQkJLy8gUHJldmVudCBTYWZhcmkgdGV4dGFyZWEgcmVzaXplDQoJCQl0aGlzLm9yaWdpbmFsUmVzaXplU3R5bGUgPSB0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3MoInJlc2l6ZSIpOw0KCQkJdGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCJyZXNpemUiLCAibm9uZSIpOw0KDQoJCQl0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZUVsZW1lbnRzLnB1c2goIHRoaXMub3JpZ2luYWxFbGVtZW50LmNzcyh7DQoJCQkJcG9zaXRpb246ICJzdGF0aWMiLA0KCQkJCXpvb206IDEsDQoJCQkJZGlzcGxheTogImJsb2NrIg0KCQkJfSkgKTsNCg0KCQkJLy8gc3VwcG9ydDogSUU5DQoJCQkvLyBhdm9pZCBJRSBqdW1wIChoYXJkIHNldCB0aGUgbWFyZ2luKQ0KCQkJdGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKHsgbWFyZ2luOiB0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3MoIm1hcmdpbiIpIH0pOw0KDQoJCQl0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZSgpOw0KCQl9DQoNCgkJdGhpcy5oYW5kbGVzID0gby5oYW5kbGVzIHx8DQoJCQkoICEkKCIudWktcmVzaXphYmxlLWhhbmRsZSIsIHRoaXMuZWxlbWVudCkubGVuZ3RoID8NCgkJCQkiZSxzLHNlIiA6IHsNCgkJCQkJbjogIi51aS1yZXNpemFibGUtbiIsDQoJCQkJCWU6ICIudWktcmVzaXphYmxlLWUiLA0KCQkJCQlzOiAiLnVpLXJlc2l6YWJsZS1zIiwNCgkJCQkJdzogIi51aS1yZXNpemFibGUtdyIsDQoJCQkJCXNlOiAiLnVpLXJlc2l6YWJsZS1zZSIsDQoJCQkJCXN3OiAiLnVpLXJlc2l6YWJsZS1zdyIsDQoJCQkJCW5lOiAiLnVpLXJlc2l6YWJsZS1uZSIsDQoJCQkJCW53OiAiLnVpLXJlc2l6YWJsZS1udyINCgkJCQl9ICk7DQoNCgkJdGhpcy5faGFuZGxlcyA9ICQoKTsNCgkJaWYgKCB0aGlzLmhhbmRsZXMuY29uc3RydWN0b3IgPT09IFN0cmluZyApIHsNCg0KCQkJaWYgKCB0aGlzLmhhbmRsZXMgPT09ICJhbGwiKSB7DQoJCQkJdGhpcy5oYW5kbGVzID0gIm4sZSxzLHcsc2Usc3csbmUsbnciOw0KCQkJfQ0KDQoJCQluID0gdGhpcy5oYW5kbGVzLnNwbGl0KCIsIik7DQoJCQl0aGlzLmhhbmRsZXMgPSB7fTsNCg0KCQkJZm9yIChpID0gMDsgaSA8IG4ubGVuZ3RoOyBpKyspIHsNCg0KCQkJCWhhbmRsZSA9ICQudHJpbShuW2ldKTsNCgkJCQlobmFtZSA9ICJ1aS1yZXNpemFibGUtIiArIGhhbmRsZTsNCgkJCQlheGlzID0gJCgiPGRpdiBjbGFzcz0ndWktcmVzaXphYmxlLWhhbmRsZSAiICsgaG5hbWUgKyAiJz48L2Rpdj4iKTsNCg0KCQkJCWF4aXMuY3NzKHsgekluZGV4OiBvLnpJbmRleCB9KTsNCg0KCQkJCS8vIFRPRE8gOiBXaGF0J3MgZ29pbmcgb24gaGVyZT8NCgkJCQlpZiAoInNlIiA9PT0gaGFuZGxlKSB7DQoJCQkJCWF4aXMuYWRkQ2xhc3MoInVpLWljb24gdWktaWNvbi1ncmlwc21hbGwtZGlhZ29uYWwtc2UiKTsNCgkJCQl9DQoNCgkJCQl0aGlzLmhhbmRsZXNbaGFuZGxlXSA9ICIudWktcmVzaXphYmxlLSIgKyBoYW5kbGU7DQoJCQkJdGhpcy5lbGVtZW50LmFwcGVuZChheGlzKTsNCgkJCX0NCg0KCQl9DQoNCgkJdGhpcy5fcmVuZGVyQXhpcyA9IGZ1bmN0aW9uKHRhcmdldCkgew0KDQoJCQl2YXIgaSwgYXhpcywgcGFkUG9zLCBwYWRXcmFwcGVyOw0KDQoJCQl0YXJnZXQgPSB0YXJnZXQgfHwgdGhpcy5lbGVtZW50Ow0KDQoJCQlmb3IgKGkgaW4gdGhpcy5oYW5kbGVzKSB7DQoNCgkJCQlpZiAodGhpcy5oYW5kbGVzW2ldLmNvbnN0cnVjdG9yID09PSBTdHJpbmcpIHsNCgkJCQkJdGhpcy5oYW5kbGVzW2ldID0gdGhpcy5lbGVtZW50LmNoaWxkcmVuKCB0aGlzLmhhbmRsZXNbIGkgXSApLmZpcnN0KCkuc2hvdygpOw0KCQkJCX0gZWxzZSBpZiAoIHRoaXMuaGFuZGxlc1sgaSBdLmpxdWVyeSB8fCB0aGlzLmhhbmRsZXNbIGkgXS5ub2RlVHlwZSApIHsNCgkJCQkJdGhpcy5oYW5kbGVzWyBpIF0gPSAkKCB0aGlzLmhhbmRsZXNbIGkgXSApOw0KCQkJCQl0aGlzLl9vbiggdGhpcy5oYW5kbGVzWyBpIF0sIHsgIm1vdXNlZG93biI6IHRoYXQuX21vdXNlRG93biB9KTsNCgkJCQl9DQoNCgkJCQlpZiAodGhpcy5lbGVtZW50SXNXcmFwcGVyICYmIHRoaXMub3JpZ2luYWxFbGVtZW50WzBdLm5vZGVOYW1lLm1hdGNoKC9eKHRleHRhcmVhfGlucHV0fHNlbGVjdHxidXR0b24pJC9pKSkgew0KDQoJCQkJCWF4aXMgPSAkKHRoaXMuaGFuZGxlc1tpXSwgdGhpcy5lbGVtZW50KTsNCg0KCQkJCQlwYWRXcmFwcGVyID0gL3N3fG5lfG53fHNlfG58cy8udGVzdChpKSA/IGF4aXMub3V0ZXJIZWlnaHQoKSA6IGF4aXMub3V0ZXJXaWR0aCgpOw0KDQoJCQkJCXBhZFBvcyA9IFsgInBhZGRpbmciLA0KCQkJCQkJL25lfG53fG4vLnRlc3QoaSkgPyAiVG9wIiA6DQoJCQkJCQkvc2V8c3d8cy8udGVzdChpKSA/ICJCb3R0b20iIDoNCgkJCQkJCS9eZSQvLnRlc3QoaSkgPyAiUmlnaHQiIDogIkxlZnQiIF0uam9pbigiIik7DQoNCgkJCQkJdGFyZ2V0LmNzcyhwYWRQb3MsIHBhZFdyYXBwZXIpOw0KDQoJCQkJCXRoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplKCk7DQoJCQkJfQ0KDQoJCQkJdGhpcy5faGFuZGxlcyA9IHRoaXMuX2hhbmRsZXMuYWRkKCB0aGlzLmhhbmRsZXNbIGkgXSApOw0KCQkJfQ0KCQl9Ow0KDQoJCS8vIFRPRE86IG1ha2UgcmVuZGVyQXhpcyBhIHByb3RvdHlwZSBmdW5jdGlvbg0KCQl0aGlzLl9yZW5kZXJBeGlzKHRoaXMuZWxlbWVudCk7DQoNCgkJdGhpcy5faGFuZGxlcyA9IHRoaXMuX2hhbmRsZXMuYWRkKCB0aGlzLmVsZW1lbnQuZmluZCggIi51aS1yZXNpemFibGUtaGFuZGxlIiApICk7DQoJCXRoaXMuX2hhbmRsZXMuZGlzYWJsZVNlbGVjdGlvbigpOw0KDQoJCXRoaXMuX2hhbmRsZXMubW91c2VvdmVyKGZ1bmN0aW9uKCkgew0KCQkJaWYgKCF0aGF0LnJlc2l6aW5nKSB7DQoJCQkJaWYgKHRoaXMuY2xhc3NOYW1lKSB7DQoJCQkJCWF4aXMgPSB0aGlzLmNsYXNzTmFtZS5tYXRjaCgvdWktcmVzaXphYmxlLShzZXxzd3xuZXxud3xufGV8c3x3KS9pKTsNCgkJCQl9DQoJCQkJdGhhdC5heGlzID0gYXhpcyAmJiBheGlzWzFdID8gYXhpc1sxXSA6ICJzZSI7DQoJCQl9DQoJCX0pOw0KDQoJCWlmIChvLmF1dG9IaWRlKSB7DQoJCQl0aGlzLl9oYW5kbGVzLmhpZGUoKTsNCgkJCSQodGhpcy5lbGVtZW50KQ0KCQkJCS5hZGRDbGFzcygidWktcmVzaXphYmxlLWF1dG9oaWRlIikNCgkJCQkubW91c2VlbnRlcihmdW5jdGlvbigpIHsNCgkJCQkJaWYgKG8uZGlzYWJsZWQpIHsNCgkJCQkJCXJldHVybjsNCgkJCQkJfQ0KCQkJCQkkKHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1yZXNpemFibGUtYXV0b2hpZGUiKTsNCgkJCQkJdGhhdC5faGFuZGxlcy5zaG93KCk7DQoJCQkJfSkNCgkJCQkubW91c2VsZWF2ZShmdW5jdGlvbigpIHsNCgkJCQkJaWYgKG8uZGlzYWJsZWQpIHsNCgkJCQkJCXJldHVybjsNCgkJCQkJfQ0KCQkJCQlpZiAoIXRoYXQucmVzaXppbmcpIHsNCgkJCQkJCSQodGhpcykuYWRkQ2xhc3MoInVpLXJlc2l6YWJsZS1hdXRvaGlkZSIpOw0KCQkJCQkJdGhhdC5faGFuZGxlcy5oaWRlKCk7DQoJCQkJCX0NCgkJCQl9KTsNCgkJfQ0KDQoJCXRoaXMuX21vdXNlSW5pdCgpOw0KCX0sDQoNCglfZGVzdHJveTogZnVuY3Rpb24oKSB7DQoNCgkJdGhpcy5fbW91c2VEZXN0cm95KCk7DQoNCgkJdmFyIHdyYXBwZXIsDQoJCQlfZGVzdHJveSA9IGZ1bmN0aW9uKGV4cCkgew0KCQkJCSQoZXhwKQ0KCQkJCQkucmVtb3ZlQ2xhc3MoInVpLXJlc2l6YWJsZSB1aS1yZXNpemFibGUtZGlzYWJsZWQgdWktcmVzaXphYmxlLXJlc2l6aW5nIikNCgkJCQkJLnJlbW92ZURhdGEoInJlc2l6YWJsZSIpDQoJCQkJCS5yZW1vdmVEYXRhKCJ1aS1yZXNpemFibGUiKQ0KCQkJCQkudW5iaW5kKCIucmVzaXphYmxlIikNCgkJCQkJLmZpbmQoIi51aS1yZXNpemFibGUtaGFuZGxlIikNCgkJCQkJCS5yZW1vdmUoKTsNCgkJCX07DQoNCgkJLy8gVE9ETzogVW53cmFwIGF0IHNhbWUgRE9NIHBvc2l0aW9uDQoJCWlmICh0aGlzLmVsZW1lbnRJc1dyYXBwZXIpIHsNCgkJCV9kZXN0cm95KHRoaXMuZWxlbWVudCk7DQoJCQl3cmFwcGVyID0gdGhpcy5lbGVtZW50Ow0KCQkJdGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKHsNCgkJCQlwb3NpdGlvbjogd3JhcHBlci5jc3MoInBvc2l0aW9uIiksDQoJCQkJd2lkdGg6IHdyYXBwZXIub3V0ZXJXaWR0aCgpLA0KCQkJCWhlaWdodDogd3JhcHBlci5vdXRlckhlaWdodCgpLA0KCQkJCXRvcDogd3JhcHBlci5jc3MoInRvcCIpLA0KCQkJCWxlZnQ6IHdyYXBwZXIuY3NzKCJsZWZ0IikNCgkJCX0pLmluc2VydEFmdGVyKCB3cmFwcGVyICk7DQoJCQl3cmFwcGVyLnJlbW92ZSgpOw0KCQl9DQoNCgkJdGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCJyZXNpemUiLCB0aGlzLm9yaWdpbmFsUmVzaXplU3R5bGUpOw0KCQlfZGVzdHJveSh0aGlzLm9yaWdpbmFsRWxlbWVudCk7DQoNCgkJcmV0dXJuIHRoaXM7DQoJfSwNCg0KCV9tb3VzZUNhcHR1cmU6IGZ1bmN0aW9uKGV2ZW50KSB7DQoJCXZhciBpLCBoYW5kbGUsDQoJCQljYXB0dXJlID0gZmFsc2U7DQoNCgkJZm9yIChpIGluIHRoaXMuaGFuZGxlcykgew0KCQkJaGFuZGxlID0gJCh0aGlzLmhhbmRsZXNbaV0pWzBdOw0KCQkJaWYgKGhhbmRsZSA9PT0gZXZlbnQudGFyZ2V0IHx8ICQuY29udGFpbnMoaGFuZGxlLCBldmVudC50YXJnZXQpKSB7DQoJCQkJY2FwdHVyZSA9IHRydWU7DQoJCQl9DQoJCX0NCg0KCQlyZXR1cm4gIXRoaXMub3B0aW9ucy5kaXNhYmxlZCAmJiBjYXB0dXJlOw0KCX0sDQoNCglfbW91c2VTdGFydDogZnVuY3Rpb24oZXZlbnQpIHsNCg0KCQl2YXIgY3VybGVmdCwgY3VydG9wLCBjdXJzb3IsDQoJCQlvID0gdGhpcy5vcHRpb25zLA0KCQkJZWwgPSB0aGlzLmVsZW1lbnQ7DQoNCgkJdGhpcy5yZXNpemluZyA9IHRydWU7DQoNCgkJdGhpcy5fcmVuZGVyUHJveHkoKTsNCg0KCQljdXJsZWZ0ID0gdGhpcy5fbnVtKHRoaXMuaGVscGVyLmNzcygibGVmdCIpKTsNCgkJY3VydG9wID0gdGhpcy5fbnVtKHRoaXMuaGVscGVyLmNzcygidG9wIikpOw0KDQoJCWlmIChvLmNvbnRhaW5tZW50KSB7DQoJCQljdXJsZWZ0ICs9ICQoby5jb250YWlubWVudCkuc2Nyb2xsTGVmdCgpIHx8IDA7DQoJCQljdXJ0b3AgKz0gJChvLmNvbnRhaW5tZW50KS5zY3JvbGxUb3AoKSB8fCAwOw0KCQl9DQoNCgkJdGhpcy5vZmZzZXQgPSB0aGlzLmhlbHBlci5vZmZzZXQoKTsNCgkJdGhpcy5wb3NpdGlvbiA9IHsgbGVmdDogY3VybGVmdCwgdG9wOiBjdXJ0b3AgfTsNCg0KCQl0aGlzLnNpemUgPSB0aGlzLl9oZWxwZXIgPyB7DQoJCQkJd2lkdGg6IHRoaXMuaGVscGVyLndpZHRoKCksDQoJCQkJaGVpZ2h0OiB0aGlzLmhlbHBlci5oZWlnaHQoKQ0KCQkJfSA6IHsNCgkJCQl3aWR0aDogZWwud2lkdGgoKSwNCgkJCQloZWlnaHQ6IGVsLmhlaWdodCgpDQoJCQl9Ow0KDQoJCXRoaXMub3JpZ2luYWxTaXplID0gdGhpcy5faGVscGVyID8gew0KCQkJCXdpZHRoOiBlbC5vdXRlcldpZHRoKCksDQoJCQkJaGVpZ2h0OiBlbC5vdXRlckhlaWdodCgpDQoJCQl9IDogew0KCQkJCXdpZHRoOiBlbC53aWR0aCgpLA0KCQkJCWhlaWdodDogZWwuaGVpZ2h0KCkNCgkJCX07DQoNCgkJdGhpcy5zaXplRGlmZiA9IHsNCgkJCXdpZHRoOiBlbC5vdXRlcldpZHRoKCkgLSBlbC53aWR0aCgpLA0KCQkJaGVpZ2h0OiBlbC5vdXRlckhlaWdodCgpIC0gZWwuaGVpZ2h0KCkNCgkJfTsNCg0KCQl0aGlzLm9yaWdpbmFsUG9zaXRpb24gPSB7IGxlZnQ6IGN1cmxlZnQsIHRvcDogY3VydG9wIH07DQoJCXRoaXMub3JpZ2luYWxNb3VzZVBvc2l0aW9uID0geyBsZWZ0OiBldmVudC5wYWdlWCwgdG9wOiBldmVudC5wYWdlWSB9Ow0KDQoJCXRoaXMuYXNwZWN0UmF0aW8gPSAodHlwZW9mIG8uYXNwZWN0UmF0aW8gPT09ICJudW1iZXIiKSA/DQoJCQlvLmFzcGVjdFJhdGlvIDoNCgkJCSgodGhpcy5vcmlnaW5hbFNpemUud2lkdGggLyB0aGlzLm9yaWdpbmFsU2l6ZS5oZWlnaHQpIHx8IDEpOw0KDQoJCWN1cnNvciA9ICQoIi51aS1yZXNpemFibGUtIiArIHRoaXMuYXhpcykuY3NzKCJjdXJzb3IiKTsNCgkJJCgiYm9keSIpLmNzcygiY3Vyc29yIiwgY3Vyc29yID09PSAiYXV0byIgPyB0aGlzLmF4aXMgKyAiLXJlc2l6ZSIgOiBjdXJzb3IpOw0KDQoJCWVsLmFkZENsYXNzKCJ1aS1yZXNpemFibGUtcmVzaXppbmciKTsNCgkJdGhpcy5fcHJvcGFnYXRlKCJzdGFydCIsIGV2ZW50KTsNCgkJcmV0dXJuIHRydWU7DQoJfSwNCg0KCV9tb3VzZURyYWc6IGZ1bmN0aW9uKGV2ZW50KSB7DQoNCgkJdmFyIGRhdGEsIHByb3BzLA0KCQkJc21wID0gdGhpcy5vcmlnaW5hbE1vdXNlUG9zaXRpb24sDQoJCQlhID0gdGhpcy5heGlzLA0KCQkJZHggPSAoZXZlbnQucGFnZVggLSBzbXAubGVmdCkgfHwgMCwNCgkJCWR5ID0gKGV2ZW50LnBhZ2VZIC0gc21wLnRvcCkgfHwgMCwNCgkJCXRyaWdnZXIgPSB0aGlzLl9jaGFuZ2VbYV07DQoNCgkJdGhpcy5fdXBkYXRlUHJldlByb3BlcnRpZXMoKTsNCg0KCQlpZiAoIXRyaWdnZXIpIHsNCgkJCXJldHVybiBmYWxzZTsNCgkJfQ0KDQoJCWRhdGEgPSB0cmlnZ2VyLmFwcGx5KHRoaXMsIFsgZXZlbnQsIGR4LCBkeSBdKTsNCg0KCQl0aGlzLl91cGRhdGVWaXJ0dWFsQm91bmRhcmllcyhldmVudC5zaGlmdEtleSk7DQoJCWlmICh0aGlzLl9hc3BlY3RSYXRpbyB8fCBldmVudC5zaGlmdEtleSkgew0KCQkJZGF0YSA9IHRoaXMuX3VwZGF0ZVJhdGlvKGRhdGEsIGV2ZW50KTsNCgkJfQ0KDQoJCWRhdGEgPSB0aGlzLl9yZXNwZWN0U2l6ZShkYXRhLCBldmVudCk7DQoNCgkJdGhpcy5fdXBkYXRlQ2FjaGUoZGF0YSk7DQoNCgkJdGhpcy5fcHJvcGFnYXRlKCJyZXNpemUiLCBldmVudCk7DQoNCgkJcHJvcHMgPSB0aGlzLl9hcHBseUNoYW5nZXMoKTsNCg0KCQlpZiAoICF0aGlzLl9oZWxwZXIgJiYgdGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemVFbGVtZW50cy5sZW5ndGggKSB7DQoJCQl0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZSgpOw0KCQl9DQoNCgkJaWYgKCAhJC5pc0VtcHR5T2JqZWN0KCBwcm9wcyApICkgew0KCQkJdGhpcy5fdXBkYXRlUHJldlByb3BlcnRpZXMoKTsNCgkJCXRoaXMuX3RyaWdnZXIoICJyZXNpemUiLCBldmVudCwgdGhpcy51aSgpICk7DQoJCQl0aGlzLl9hcHBseUNoYW5nZXMoKTsNCgkJfQ0KDQoJCXJldHVybiBmYWxzZTsNCgl9LA0KDQoJX21vdXNlU3RvcDogZnVuY3Rpb24oZXZlbnQpIHsNCg0KCQl0aGlzLnJlc2l6aW5nID0gZmFsc2U7DQoJCXZhciBwciwgaXN0YSwgc29mZnNldGgsIHNvZmZzZXR3LCBzLCBsZWZ0LCB0b3AsDQoJCQlvID0gdGhpcy5vcHRpb25zLCB0aGF0ID0gdGhpczsNCg0KCQlpZiAodGhpcy5faGVscGVyKSB7DQoNCgkJCXByID0gdGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemVFbGVtZW50czsNCgkJCWlzdGEgPSBwci5sZW5ndGggJiYgKC90ZXh0YXJlYS9pKS50ZXN0KHByWzBdLm5vZGVOYW1lKTsNCgkJCXNvZmZzZXRoID0gaXN0YSAmJiB0aGlzLl9oYXNTY3JvbGwocHJbMF0sICJsZWZ0IikgPyAwIDogdGhhdC5zaXplRGlmZi5oZWlnaHQ7DQoJCQlzb2Zmc2V0dyA9IGlzdGEgPyAwIDogdGhhdC5zaXplRGlmZi53aWR0aDsNCg0KCQkJcyA9IHsNCgkJCQl3aWR0aDogKHRoYXQuaGVscGVyLndpZHRoKCkgIC0gc29mZnNldHcpLA0KCQkJCWhlaWdodDogKHRoYXQuaGVscGVyLmhlaWdodCgpIC0gc29mZnNldGgpDQoJCQl9Ow0KCQkJbGVmdCA9IChwYXJzZUludCh0aGF0LmVsZW1lbnQuY3NzKCJsZWZ0IiksIDEwKSArDQoJCQkJKHRoYXQucG9zaXRpb24ubGVmdCAtIHRoYXQub3JpZ2luYWxQb3NpdGlvbi5sZWZ0KSkgfHwgbnVsbDsNCgkJCXRvcCA9IChwYXJzZUludCh0aGF0LmVsZW1lbnQuY3NzKCJ0b3AiKSwgMTApICsNCgkJCQkodGhhdC5wb3NpdGlvbi50b3AgLSB0aGF0Lm9yaWdpbmFsUG9zaXRpb24udG9wKSkgfHwgbnVsbDsNCg0KCQkJaWYgKCFvLmFuaW1hdGUpIHsNCgkJCQl0aGlzLmVsZW1lbnQuY3NzKCQuZXh0ZW5kKHMsIHsgdG9wOiB0b3AsIGxlZnQ6IGxlZnQgfSkpOw0KCQkJfQ0KDQoJCQl0aGF0LmhlbHBlci5oZWlnaHQodGhhdC5zaXplLmhlaWdodCk7DQoJCQl0aGF0LmhlbHBlci53aWR0aCh0aGF0LnNpemUud2lkdGgpOw0KDQoJCQlpZiAodGhpcy5faGVscGVyICYmICFvLmFuaW1hdGUpIHsNCgkJCQl0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZSgpOw0KCQkJfQ0KCQl9DQoNCgkJJCgiYm9keSIpLmNzcygiY3Vyc29yIiwgImF1dG8iKTsNCg0KCQl0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXJlc2l6YWJsZS1yZXNpemluZyIpOw0KDQoJCXRoaXMuX3Byb3BhZ2F0ZSgic3RvcCIsIGV2ZW50KTsNCg0KCQlpZiAodGhpcy5faGVscGVyKSB7DQoJCQl0aGlzLmhlbHBlci5yZW1vdmUoKTsNCgkJfQ0KDQoJCXJldHVybiBmYWxzZTsNCg0KCX0sDQoNCglfdXBkYXRlUHJldlByb3BlcnRpZXM6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLnByZXZQb3NpdGlvbiA9IHsNCgkJCXRvcDogdGhpcy5wb3NpdGlvbi50b3AsDQoJCQlsZWZ0OiB0aGlzLnBvc2l0aW9uLmxlZnQNCgkJfTsNCgkJdGhpcy5wcmV2U2l6ZSA9IHsNCgkJCXdpZHRoOiB0aGlzLnNpemUud2lkdGgsDQoJCQloZWlnaHQ6IHRoaXMuc2l6ZS5oZWlnaHQNCgkJfTsNCgl9LA0KDQoJX2FwcGx5Q2hhbmdlczogZnVuY3Rpb24oKSB7DQoJCXZhciBwcm9wcyA9IHt9Ow0KDQoJCWlmICggdGhpcy5wb3NpdGlvbi50b3AgIT09IHRoaXMucHJldlBvc2l0aW9uLnRvcCApIHsNCgkJCXByb3BzLnRvcCA9IHRoaXMucG9zaXRpb24udG9wICsgInB4IjsNCgkJfQ0KCQlpZiAoIHRoaXMucG9zaXRpb24ubGVmdCAhPT0gdGhpcy5wcmV2UG9zaXRpb24ubGVmdCApIHsNCgkJCXByb3BzLmxlZnQgPSB0aGlzLnBvc2l0aW9uLmxlZnQgKyAicHgiOw0KCQl9DQoJCWlmICggdGhpcy5zaXplLndpZHRoICE9PSB0aGlzLnByZXZTaXplLndpZHRoICkgew0KCQkJcHJvcHMud2lkdGggPSB0aGlzLnNpemUud2lkdGggKyAicHgiOw0KCQl9DQoJCWlmICggdGhpcy5zaXplLmhlaWdodCAhPT0gdGhpcy5wcmV2U2l6ZS5oZWlnaHQgKSB7DQoJCQlwcm9wcy5oZWlnaHQgPSB0aGlzLnNpemUuaGVpZ2h0ICsgInB4IjsNCgkJfQ0KDQoJCXRoaXMuaGVscGVyLmNzcyggcHJvcHMgKTsNCg0KCQlyZXR1cm4gcHJvcHM7DQoJfSwNCg0KCV91cGRhdGVWaXJ0dWFsQm91bmRhcmllczogZnVuY3Rpb24oZm9yY2VBc3BlY3RSYXRpbykgew0KCQl2YXIgcE1pbldpZHRoLCBwTWF4V2lkdGgsIHBNaW5IZWlnaHQsIHBNYXhIZWlnaHQsIGIsDQoJCQlvID0gdGhpcy5vcHRpb25zOw0KDQoJCWIgPSB7DQoJCQltaW5XaWR0aDogdGhpcy5faXNOdW1iZXIoby5taW5XaWR0aCkgPyBvLm1pbldpZHRoIDogMCwNCgkJCW1heFdpZHRoOiB0aGlzLl9pc051bWJlcihvLm1heFdpZHRoKSA/IG8ubWF4V2lkdGggOiBJbmZpbml0eSwNCgkJCW1pbkhlaWdodDogdGhpcy5faXNOdW1iZXIoby5taW5IZWlnaHQpID8gby5taW5IZWlnaHQgOiAwLA0KCQkJbWF4SGVpZ2h0OiB0aGlzLl9pc051bWJlcihvLm1heEhlaWdodCkgPyBvLm1heEhlaWdodCA6IEluZmluaXR5DQoJCX07DQoNCgkJaWYgKHRoaXMuX2FzcGVjdFJhdGlvIHx8IGZvcmNlQXNwZWN0UmF0aW8pIHsNCgkJCXBNaW5XaWR0aCA9IGIubWluSGVpZ2h0ICogdGhpcy5hc3BlY3RSYXRpbzsNCgkJCXBNaW5IZWlnaHQgPSBiLm1pbldpZHRoIC8gdGhpcy5hc3BlY3RSYXRpbzsNCgkJCXBNYXhXaWR0aCA9IGIubWF4SGVpZ2h0ICogdGhpcy5hc3BlY3RSYXRpbzsNCgkJCXBNYXhIZWlnaHQgPSBiLm1heFdpZHRoIC8gdGhpcy5hc3BlY3RSYXRpbzsNCg0KCQkJaWYgKHBNaW5XaWR0aCA+IGIubWluV2lkdGgpIHsNCgkJCQliLm1pbldpZHRoID0gcE1pbldpZHRoOw0KCQkJfQ0KCQkJaWYgKHBNaW5IZWlnaHQgPiBiLm1pbkhlaWdodCkgew0KCQkJCWIubWluSGVpZ2h0ID0gcE1pbkhlaWdodDsNCgkJCX0NCgkJCWlmIChwTWF4V2lkdGggPCBiLm1heFdpZHRoKSB7DQoJCQkJYi5tYXhXaWR0aCA9IHBNYXhXaWR0aDsNCgkJCX0NCgkJCWlmIChwTWF4SGVpZ2h0IDwgYi5tYXhIZWlnaHQpIHsNCgkJCQliLm1heEhlaWdodCA9IHBNYXhIZWlnaHQ7DQoJCQl9DQoJCX0NCgkJdGhpcy5fdkJvdW5kYXJpZXMgPSBiOw0KCX0sDQoNCglfdXBkYXRlQ2FjaGU6IGZ1bmN0aW9uKGRhdGEpIHsNCgkJdGhpcy5vZmZzZXQgPSB0aGlzLmhlbHBlci5vZmZzZXQoKTsNCgkJaWYgKHRoaXMuX2lzTnVtYmVyKGRhdGEubGVmdCkpIHsNCgkJCXRoaXMucG9zaXRpb24ubGVmdCA9IGRhdGEubGVmdDsNCgkJfQ0KCQlpZiAodGhpcy5faXNOdW1iZXIoZGF0YS50b3ApKSB7DQoJCQl0aGlzLnBvc2l0aW9uLnRvcCA9IGRhdGEudG9wOw0KCQl9DQoJCWlmICh0aGlzLl9pc051bWJlcihkYXRhLmhlaWdodCkpIHsNCgkJCXRoaXMuc2l6ZS5oZWlnaHQgPSBkYXRhLmhlaWdodDsNCgkJfQ0KCQlpZiAodGhpcy5faXNOdW1iZXIoZGF0YS53aWR0aCkpIHsNCgkJCXRoaXMuc2l6ZS53aWR0aCA9IGRhdGEud2lkdGg7DQoJCX0NCgl9LA0KDQoJX3VwZGF0ZVJhdGlvOiBmdW5jdGlvbiggZGF0YSApIHsNCg0KCQl2YXIgY3BvcyA9IHRoaXMucG9zaXRpb24sDQoJCQljc2l6ZSA9IHRoaXMuc2l6ZSwNCgkJCWEgPSB0aGlzLmF4aXM7DQoNCgkJaWYgKHRoaXMuX2lzTnVtYmVyKGRhdGEuaGVpZ2h0KSkgew0KCQkJZGF0YS53aWR0aCA9IChkYXRhLmhlaWdodCAqIHRoaXMuYXNwZWN0UmF0aW8pOw0KCQl9IGVsc2UgaWYgKHRoaXMuX2lzTnVtYmVyKGRhdGEud2lkdGgpKSB7DQoJCQlkYXRhLmhlaWdodCA9IChkYXRhLndpZHRoIC8gdGhpcy5hc3BlY3RSYXRpbyk7DQoJCX0NCg0KCQlpZiAoYSA9PT0gInN3Iikgew0KCQkJZGF0YS5sZWZ0ID0gY3Bvcy5sZWZ0ICsgKGNzaXplLndpZHRoIC0gZGF0YS53aWR0aCk7DQoJCQlkYXRhLnRvcCA9IG51bGw7DQoJCX0NCgkJaWYgKGEgPT09ICJudyIpIHsNCgkJCWRhdGEudG9wID0gY3Bvcy50b3AgKyAoY3NpemUuaGVpZ2h0IC0gZGF0YS5oZWlnaHQpOw0KCQkJZGF0YS5sZWZ0ID0gY3Bvcy5sZWZ0ICsgKGNzaXplLndpZHRoIC0gZGF0YS53aWR0aCk7DQoJCX0NCg0KCQlyZXR1cm4gZGF0YTsNCgl9LA0KDQoJX3Jlc3BlY3RTaXplOiBmdW5jdGlvbiggZGF0YSApIHsNCg0KCQl2YXIgbyA9IHRoaXMuX3ZCb3VuZGFyaWVzLA0KCQkJYSA9IHRoaXMuYXhpcywNCgkJCWlzbWF4dyA9IHRoaXMuX2lzTnVtYmVyKGRhdGEud2lkdGgpICYmIG8ubWF4V2lkdGggJiYgKG8ubWF4V2lkdGggPCBkYXRhLndpZHRoKSwNCgkJCWlzbWF4aCA9IHRoaXMuX2lzTnVtYmVyKGRhdGEuaGVpZ2h0KSAmJiBvLm1heEhlaWdodCAmJiAoby5tYXhIZWlnaHQgPCBkYXRhLmhlaWdodCksDQoJCQlpc21pbncgPSB0aGlzLl9pc051bWJlcihkYXRhLndpZHRoKSAmJiBvLm1pbldpZHRoICYmIChvLm1pbldpZHRoID4gZGF0YS53aWR0aCksDQoJCQlpc21pbmggPSB0aGlzLl9pc051bWJlcihkYXRhLmhlaWdodCkgJiYgby5taW5IZWlnaHQgJiYgKG8ubWluSGVpZ2h0ID4gZGF0YS5oZWlnaHQpLA0KCQkJZHcgPSB0aGlzLm9yaWdpbmFsUG9zaXRpb24ubGVmdCArIHRoaXMub3JpZ2luYWxTaXplLndpZHRoLA0KCQkJZGggPSB0aGlzLnBvc2l0aW9uLnRvcCArIHRoaXMuc2l6ZS5oZWlnaHQsDQoJCQljdyA9IC9zd3xud3x3Ly50ZXN0KGEpLCBjaCA9IC9ud3xuZXxuLy50ZXN0KGEpOw0KCQlpZiAoaXNtaW53KSB7DQoJCQlkYXRhLndpZHRoID0gby5taW5XaWR0aDsNCgkJfQ0KCQlpZiAoaXNtaW5oKSB7DQoJCQlkYXRhLmhlaWdodCA9IG8ubWluSGVpZ2h0Ow0KCQl9DQoJCWlmIChpc21heHcpIHsNCgkJCWRhdGEud2lkdGggPSBvLm1heFdpZHRoOw0KCQl9DQoJCWlmIChpc21heGgpIHsNCgkJCWRhdGEuaGVpZ2h0ID0gby5tYXhIZWlnaHQ7DQoJCX0NCg0KCQlpZiAoaXNtaW53ICYmIGN3KSB7DQoJCQlkYXRhLmxlZnQgPSBkdyAtIG8ubWluV2lkdGg7DQoJCX0NCgkJaWYgKGlzbWF4dyAmJiBjdykgew0KCQkJZGF0YS5sZWZ0ID0gZHcgLSBvLm1heFdpZHRoOw0KCQl9DQoJCWlmIChpc21pbmggJiYgY2gpIHsNCgkJCWRhdGEudG9wID0gZGggLSBvLm1pbkhlaWdodDsNCgkJfQ0KCQlpZiAoaXNtYXhoICYmIGNoKSB7DQoJCQlkYXRhLnRvcCA9IGRoIC0gby5tYXhIZWlnaHQ7DQoJCX0NCg0KCQkvLyBGaXhpbmcganVtcCBlcnJvciBvbiB0b3AvbGVmdCAtIGJ1ZyAjMjMzMA0KCQlpZiAoIWRhdGEud2lkdGggJiYgIWRhdGEuaGVpZ2h0ICYmICFkYXRhLmxlZnQgJiYgZGF0YS50b3ApIHsNCgkJCWRhdGEudG9wID0gbnVsbDsNCgkJfSBlbHNlIGlmICghZGF0YS53aWR0aCAmJiAhZGF0YS5oZWlnaHQgJiYgIWRhdGEudG9wICYmIGRhdGEubGVmdCkgew0KCQkJZGF0YS5sZWZ0ID0gbnVsbDsNCgkJfQ0KDQoJCXJldHVybiBkYXRhOw0KCX0sDQoNCglfZ2V0UGFkZGluZ1BsdXNCb3JkZXJEaW1lbnNpb25zOiBmdW5jdGlvbiggZWxlbWVudCApIHsNCgkJdmFyIGkgPSAwLA0KCQkJd2lkdGhzID0gW10sDQoJCQlib3JkZXJzID0gWw0KCQkJCWVsZW1lbnQuY3NzKCAiYm9yZGVyVG9wV2lkdGgiICksDQoJCQkJZWxlbWVudC5jc3MoICJib3JkZXJSaWdodFdpZHRoIiApLA0KCQkJCWVsZW1lbnQuY3NzKCAiYm9yZGVyQm90dG9tV2lkdGgiICksDQoJCQkJZWxlbWVudC5jc3MoICJib3JkZXJMZWZ0V2lkdGgiICkNCgkJCV0sDQoJCQlwYWRkaW5ncyA9IFsNCgkJCQllbGVtZW50LmNzcyggInBhZGRpbmdUb3AiICksDQoJCQkJZWxlbWVudC5jc3MoICJwYWRkaW5nUmlnaHQiICksDQoJCQkJZWxlbWVudC5jc3MoICJwYWRkaW5nQm90dG9tIiApLA0KCQkJCWVsZW1lbnQuY3NzKCAicGFkZGluZ0xlZnQiICkNCgkJCV07DQoNCgkJZm9yICggOyBpIDwgNDsgaSsrICkgew0KCQkJd2lkdGhzWyBpIF0gPSAoIHBhcnNlSW50KCBib3JkZXJzWyBpIF0sIDEwICkgfHwgMCApOw0KCQkJd2lkdGhzWyBpIF0gKz0gKCBwYXJzZUludCggcGFkZGluZ3NbIGkgXSwgMTAgKSB8fCAwICk7DQoJCX0NCg0KCQlyZXR1cm4gew0KCQkJaGVpZ2h0OiB3aWR0aHNbIDAgXSArIHdpZHRoc1sgMiBdLA0KCQkJd2lkdGg6IHdpZHRoc1sgMSBdICsgd2lkdGhzWyAzIF0NCgkJfTsNCgl9LA0KDQoJX3Byb3BvcnRpb25hbGx5UmVzaXplOiBmdW5jdGlvbigpIHsNCg0KCQlpZiAoIXRoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVudHMubGVuZ3RoKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQl2YXIgcHJlbCwNCgkJCWkgPSAwLA0KCQkJZWxlbWVudCA9IHRoaXMuaGVscGVyIHx8IHRoaXMuZWxlbWVudDsNCg0KCQlmb3IgKCA7IGkgPCB0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZUVsZW1lbnRzLmxlbmd0aDsgaSsrKSB7DQoNCgkJCXByZWwgPSB0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZUVsZW1lbnRzW2ldOw0KDQoJCQkvLyBUT0RPOiBTZWVtcyBsaWtlIGEgYnVnIHRvIGNhY2hlIHRoaXMub3V0ZXJEaW1lbnNpb25zDQoJCQkvLyBjb25zaWRlcmluZyB0aGF0IHdlIGFyZSBpbiBhIGxvb3AuDQoJCQlpZiAoIXRoaXMub3V0ZXJEaW1lbnNpb25zKSB7DQoJCQkJdGhpcy5vdXRlckRpbWVuc2lvbnMgPSB0aGlzLl9nZXRQYWRkaW5nUGx1c0JvcmRlckRpbWVuc2lvbnMoIHByZWwgKTsNCgkJCX0NCg0KCQkJcHJlbC5jc3Moew0KCQkJCWhlaWdodDogKGVsZW1lbnQuaGVpZ2h0KCkgLSB0aGlzLm91dGVyRGltZW5zaW9ucy5oZWlnaHQpIHx8IDAsDQoJCQkJd2lkdGg6IChlbGVtZW50LndpZHRoKCkgLSB0aGlzLm91dGVyRGltZW5zaW9ucy53aWR0aCkgfHwgMA0KCQkJfSk7DQoNCgkJfQ0KDQoJfSwNCg0KCV9yZW5kZXJQcm94eTogZnVuY3Rpb24oKSB7DQoNCgkJdmFyIGVsID0gdGhpcy5lbGVtZW50LCBvID0gdGhpcy5vcHRpb25zOw0KCQl0aGlzLmVsZW1lbnRPZmZzZXQgPSBlbC5vZmZzZXQoKTsNCg0KCQlpZiAodGhpcy5faGVscGVyKSB7DQoNCgkJCXRoaXMuaGVscGVyID0gdGhpcy5oZWxwZXIgfHwgJCgiPGRpdiBzdHlsZT0nb3ZlcmZsb3c6aGlkZGVuOyc+PC9kaXY+Iik7DQoNCgkJCXRoaXMuaGVscGVyLmFkZENsYXNzKHRoaXMuX2hlbHBlcikuY3NzKHsNCgkJCQl3aWR0aDogdGhpcy5lbGVtZW50Lm91dGVyV2lkdGgoKSAtIDEsDQoJCQkJaGVpZ2h0OiB0aGlzLmVsZW1lbnQub3V0ZXJIZWlnaHQoKSAtIDEsDQoJCQkJcG9zaXRpb246ICJhYnNvbHV0ZSIsDQoJCQkJbGVmdDogdGhpcy5lbGVtZW50T2Zmc2V0LmxlZnQgKyAicHgiLA0KCQkJCXRvcDogdGhpcy5lbGVtZW50T2Zmc2V0LnRvcCArICJweCIsDQoJCQkJekluZGV4OiArK28uekluZGV4IC8vVE9ETzogRG9uJ3QgbW9kaWZ5IG9wdGlvbg0KCQkJfSk7DQoNCgkJCXRoaXMuaGVscGVyDQoJCQkJLmFwcGVuZFRvKCJib2R5IikNCgkJCQkuZGlzYWJsZVNlbGVjdGlvbigpOw0KDQoJCX0gZWxzZSB7DQoJCQl0aGlzLmhlbHBlciA9IHRoaXMuZWxlbWVudDsNCgkJfQ0KDQoJfSwNCg0KCV9jaGFuZ2U6IHsNCgkJZTogZnVuY3Rpb24oZXZlbnQsIGR4KSB7DQoJCQlyZXR1cm4geyB3aWR0aDogdGhpcy5vcmlnaW5hbFNpemUud2lkdGggKyBkeCB9Ow0KCQl9LA0KCQl3OiBmdW5jdGlvbihldmVudCwgZHgpIHsNCgkJCXZhciBjcyA9IHRoaXMub3JpZ2luYWxTaXplLCBzcCA9IHRoaXMub3JpZ2luYWxQb3NpdGlvbjsNCgkJCXJldHVybiB7IGxlZnQ6IHNwLmxlZnQgKyBkeCwgd2lkdGg6IGNzLndpZHRoIC0gZHggfTsNCgkJfSwNCgkJbjogZnVuY3Rpb24oZXZlbnQsIGR4LCBkeSkgew0KCQkJdmFyIGNzID0gdGhpcy5vcmlnaW5hbFNpemUsIHNwID0gdGhpcy5vcmlnaW5hbFBvc2l0aW9uOw0KCQkJcmV0dXJuIHsgdG9wOiBzcC50b3AgKyBkeSwgaGVpZ2h0OiBjcy5oZWlnaHQgLSBkeSB9Ow0KCQl9LA0KCQlzOiBmdW5jdGlvbihldmVudCwgZHgsIGR5KSB7DQoJCQlyZXR1cm4geyBoZWlnaHQ6IHRoaXMub3JpZ2luYWxTaXplLmhlaWdodCArIGR5IH07DQoJCX0sDQoJCXNlOiBmdW5jdGlvbihldmVudCwgZHgsIGR5KSB7DQoJCQlyZXR1cm4gJC5leHRlbmQodGhpcy5fY2hhbmdlLnMuYXBwbHkodGhpcywgYXJndW1lbnRzKSwNCgkJCQl0aGlzLl9jaGFuZ2UuZS5hcHBseSh0aGlzLCBbIGV2ZW50LCBkeCwgZHkgXSkpOw0KCQl9LA0KCQlzdzogZnVuY3Rpb24oZXZlbnQsIGR4LCBkeSkgew0KCQkJcmV0dXJuICQuZXh0ZW5kKHRoaXMuX2NoYW5nZS5zLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyksDQoJCQkJdGhpcy5fY2hhbmdlLncuYXBwbHkodGhpcywgWyBldmVudCwgZHgsIGR5IF0pKTsNCgkJfSwNCgkJbmU6IGZ1bmN0aW9uKGV2ZW50LCBkeCwgZHkpIHsNCgkJCXJldHVybiAkLmV4dGVuZCh0aGlzLl9jaGFuZ2Uubi5hcHBseSh0aGlzLCBhcmd1bWVudHMpLA0KCQkJCXRoaXMuX2NoYW5nZS5lLmFwcGx5KHRoaXMsIFsgZXZlbnQsIGR4LCBkeSBdKSk7DQoJCX0sDQoJCW53OiBmdW5jdGlvbihldmVudCwgZHgsIGR5KSB7DQoJCQlyZXR1cm4gJC5leHRlbmQodGhpcy5fY2hhbmdlLm4uYXBwbHkodGhpcywgYXJndW1lbnRzKSwNCgkJCQl0aGlzLl9jaGFuZ2Uudy5hcHBseSh0aGlzLCBbIGV2ZW50LCBkeCwgZHkgXSkpOw0KCQl9DQoJfSwNCg0KCV9wcm9wYWdhdGU6IGZ1bmN0aW9uKG4sIGV2ZW50KSB7DQoJCSQudWkucGx1Z2luLmNhbGwodGhpcywgbiwgWyBldmVudCwgdGhpcy51aSgpIF0pOw0KCQkobiAhPT0gInJlc2l6ZSIgJiYgdGhpcy5fdHJpZ2dlcihuLCBldmVudCwgdGhpcy51aSgpKSk7DQoJfSwNCg0KCXBsdWdpbnM6IHt9LA0KDQoJdWk6IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gew0KCQkJb3JpZ2luYWxFbGVtZW50OiB0aGlzLm9yaWdpbmFsRWxlbWVudCwNCgkJCWVsZW1lbnQ6IHRoaXMuZWxlbWVudCwNCgkJCWhlbHBlcjogdGhpcy5oZWxwZXIsDQoJCQlwb3NpdGlvbjogdGhpcy5wb3NpdGlvbiwNCgkJCXNpemU6IHRoaXMuc2l6ZSwNCgkJCW9yaWdpbmFsU2l6ZTogdGhpcy5vcmlnaW5hbFNpemUsDQoJCQlvcmlnaW5hbFBvc2l0aW9uOiB0aGlzLm9yaWdpbmFsUG9zaXRpb24NCgkJfTsNCgl9DQoNCn0pOw0KDQovKg0KICogUmVzaXphYmxlIEV4dGVuc2lvbnMNCiAqLw0KDQokLnVpLnBsdWdpbi5hZGQoInJlc2l6YWJsZSIsICJhbmltYXRlIiwgew0KDQoJc3RvcDogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl2YXIgdGhhdCA9ICQodGhpcykucmVzaXphYmxlKCAiaW5zdGFuY2UiICksDQoJCQlvID0gdGhhdC5vcHRpb25zLA0KCQkJcHIgPSB0aGF0Ll9wcm9wb3J0aW9uYWxseVJlc2l6ZUVsZW1lbnRzLA0KCQkJaXN0YSA9IHByLmxlbmd0aCAmJiAoL3RleHRhcmVhL2kpLnRlc3QocHJbMF0ubm9kZU5hbWUpLA0KCQkJc29mZnNldGggPSBpc3RhICYmIHRoYXQuX2hhc1Njcm9sbChwclswXSwgImxlZnQiKSA/IDAgOiB0aGF0LnNpemVEaWZmLmhlaWdodCwNCgkJCXNvZmZzZXR3ID0gaXN0YSA/IDAgOiB0aGF0LnNpemVEaWZmLndpZHRoLA0KCQkJc3R5bGUgPSB7IHdpZHRoOiAodGhhdC5zaXplLndpZHRoIC0gc29mZnNldHcpLCBoZWlnaHQ6ICh0aGF0LnNpemUuaGVpZ2h0IC0gc29mZnNldGgpIH0sDQoJCQlsZWZ0ID0gKHBhcnNlSW50KHRoYXQuZWxlbWVudC5jc3MoImxlZnQiKSwgMTApICsNCgkJCQkodGhhdC5wb3NpdGlvbi5sZWZ0IC0gdGhhdC5vcmlnaW5hbFBvc2l0aW9uLmxlZnQpKSB8fCBudWxsLA0KCQkJdG9wID0gKHBhcnNlSW50KHRoYXQuZWxlbWVudC5jc3MoInRvcCIpLCAxMCkgKw0KCQkJCSh0aGF0LnBvc2l0aW9uLnRvcCAtIHRoYXQub3JpZ2luYWxQb3NpdGlvbi50b3ApKSB8fCBudWxsOw0KDQoJCXRoYXQuZWxlbWVudC5hbmltYXRlKA0KCQkJJC5leHRlbmQoc3R5bGUsIHRvcCAmJiBsZWZ0ID8geyB0b3A6IHRvcCwgbGVmdDogbGVmdCB9IDoge30pLCB7DQoJCQkJZHVyYXRpb246IG8uYW5pbWF0ZUR1cmF0aW9uLA0KCQkJCWVhc2luZzogby5hbmltYXRlRWFzaW5nLA0KCQkJCXN0ZXA6IGZ1bmN0aW9uKCkgew0KDQoJCQkJCXZhciBkYXRhID0gew0KCQkJCQkJd2lkdGg6IHBhcnNlSW50KHRoYXQuZWxlbWVudC5jc3MoIndpZHRoIiksIDEwKSwNCgkJCQkJCWhlaWdodDogcGFyc2VJbnQodGhhdC5lbGVtZW50LmNzcygiaGVpZ2h0IiksIDEwKSwNCgkJCQkJCXRvcDogcGFyc2VJbnQodGhhdC5lbGVtZW50LmNzcygidG9wIiksIDEwKSwNCgkJCQkJCWxlZnQ6IHBhcnNlSW50KHRoYXQuZWxlbWVudC5jc3MoImxlZnQiKSwgMTApDQoJCQkJCX07DQoNCgkJCQkJaWYgKHByICYmIHByLmxlbmd0aCkgew0KCQkJCQkJJChwclswXSkuY3NzKHsgd2lkdGg6IGRhdGEud2lkdGgsIGhlaWdodDogZGF0YS5oZWlnaHQgfSk7DQoJCQkJCX0NCg0KCQkJCQkvLyBwcm9wYWdhdGluZyByZXNpemUsIGFuZCB1cGRhdGluZyB2YWx1ZXMgZm9yIGVhY2ggYW5pbWF0aW9uIHN0ZXANCgkJCQkJdGhhdC5fdXBkYXRlQ2FjaGUoZGF0YSk7DQoJCQkJCXRoYXQuX3Byb3BhZ2F0ZSgicmVzaXplIiwgZXZlbnQpOw0KDQoJCQkJfQ0KCQkJfQ0KCQkpOw0KCX0NCg0KfSk7DQoNCiQudWkucGx1Z2luLmFkZCggInJlc2l6YWJsZSIsICJjb250YWlubWVudCIsIHsNCg0KCXN0YXJ0OiBmdW5jdGlvbigpIHsNCgkJdmFyIGVsZW1lbnQsIHAsIGNvLCBjaCwgY3csIHdpZHRoLCBoZWlnaHQsDQoJCQl0aGF0ID0gJCggdGhpcyApLnJlc2l6YWJsZSggImluc3RhbmNlIiApLA0KCQkJbyA9IHRoYXQub3B0aW9ucywNCgkJCWVsID0gdGhhdC5lbGVtZW50LA0KCQkJb2MgPSBvLmNvbnRhaW5tZW50LA0KCQkJY2UgPSAoIG9jIGluc3RhbmNlb2YgJCApID8gb2MuZ2V0KCAwICkgOiAoIC9wYXJlbnQvLnRlc3QoIG9jICkgKSA/IGVsLnBhcmVudCgpLmdldCggMCApIDogb2M7DQoNCgkJaWYgKCAhY2UgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQl0aGF0LmNvbnRhaW5lckVsZW1lbnQgPSAkKCBjZSApOw0KDQoJCWlmICggL2RvY3VtZW50Ly50ZXN0KCBvYyApIHx8IG9jID09PSBkb2N1bWVudCApIHsNCgkJCXRoYXQuY29udGFpbmVyT2Zmc2V0ID0gew0KCQkJCWxlZnQ6IDAsDQoJCQkJdG9wOiAwDQoJCQl9Ow0KCQkJdGhhdC5jb250YWluZXJQb3NpdGlvbiA9IHsNCgkJCQlsZWZ0OiAwLA0KCQkJCXRvcDogMA0KCQkJfTsNCg0KCQkJdGhhdC5wYXJlbnREYXRhID0gew0KCQkJCWVsZW1lbnQ6ICQoIGRvY3VtZW50ICksDQoJCQkJbGVmdDogMCwNCgkJCQl0b3A6IDAsDQoJCQkJd2lkdGg6ICQoIGRvY3VtZW50ICkud2lkdGgoKSwNCgkJCQloZWlnaHQ6ICQoIGRvY3VtZW50ICkuaGVpZ2h0KCkgfHwgZG9jdW1lbnQuYm9keS5wYXJlbnROb2RlLnNjcm9sbEhlaWdodA0KCQkJfTsNCgkJfSBlbHNlIHsNCgkJCWVsZW1lbnQgPSAkKCBjZSApOw0KCQkJcCA9IFtdOw0KCQkJJChbICJUb3AiLCAiUmlnaHQiLCAiTGVmdCIsICJCb3R0b20iIF0pLmVhY2goZnVuY3Rpb24oIGksIG5hbWUgKSB7DQoJCQkJcFsgaSBdID0gdGhhdC5fbnVtKCBlbGVtZW50LmNzcyggInBhZGRpbmciICsgbmFtZSApICk7DQoJCQl9KTsNCg0KCQkJdGhhdC5jb250YWluZXJPZmZzZXQgPSBlbGVtZW50Lm9mZnNldCgpOw0KCQkJdGhhdC5jb250YWluZXJQb3NpdGlvbiA9IGVsZW1lbnQucG9zaXRpb24oKTsNCgkJCXRoYXQuY29udGFpbmVyU2l6ZSA9IHsNCgkJCQloZWlnaHQ6ICggZWxlbWVudC5pbm5lckhlaWdodCgpIC0gcFsgMyBdICksDQoJCQkJd2lkdGg6ICggZWxlbWVudC5pbm5lcldpZHRoKCkgLSBwWyAxIF0gKQ0KCQkJfTsNCg0KCQkJY28gPSB0aGF0LmNvbnRhaW5lck9mZnNldDsNCgkJCWNoID0gdGhhdC5jb250YWluZXJTaXplLmhlaWdodDsNCgkJCWN3ID0gdGhhdC5jb250YWluZXJTaXplLndpZHRoOw0KCQkJd2lkdGggPSAoIHRoYXQuX2hhc1Njcm9sbCAoIGNlLCAibGVmdCIgKSA/IGNlLnNjcm9sbFdpZHRoIDogY3cgKTsNCgkJCWhlaWdodCA9ICggdGhhdC5faGFzU2Nyb2xsICggY2UgKSA/IGNlLnNjcm9sbEhlaWdodCA6IGNoICkgOw0KDQoJCQl0aGF0LnBhcmVudERhdGEgPSB7DQoJCQkJZWxlbWVudDogY2UsDQoJCQkJbGVmdDogY28ubGVmdCwNCgkJCQl0b3A6IGNvLnRvcCwNCgkJCQl3aWR0aDogd2lkdGgsDQoJCQkJaGVpZ2h0OiBoZWlnaHQNCgkJCX07DQoJCX0NCgl9LA0KDQoJcmVzaXplOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXZhciB3b3NldCwgaG9zZXQsIGlzUGFyZW50LCBpc09mZnNldFJlbGF0aXZlLA0KCQkJdGhhdCA9ICQoIHRoaXMgKS5yZXNpemFibGUoICJpbnN0YW5jZSIgKSwNCgkJCW8gPSB0aGF0Lm9wdGlvbnMsDQoJCQljbyA9IHRoYXQuY29udGFpbmVyT2Zmc2V0LA0KCQkJY3AgPSB0aGF0LnBvc2l0aW9uLA0KCQkJcFJhdGlvID0gdGhhdC5fYXNwZWN0UmF0aW8gfHwgZXZlbnQuc2hpZnRLZXksDQoJCQljb3AgPSB7DQoJCQkJdG9wOiAwLA0KCQkJCWxlZnQ6IDANCgkJCX0sDQoJCQljZSA9IHRoYXQuY29udGFpbmVyRWxlbWVudCwNCgkJCWNvbnRpbnVlUmVzaXplID0gdHJ1ZTsNCg0KCQlpZiAoIGNlWyAwIF0gIT09IGRvY3VtZW50ICYmICggL3N0YXRpYy8gKS50ZXN0KCBjZS5jc3MoICJwb3NpdGlvbiIgKSApICkgew0KCQkJY29wID0gY287DQoJCX0NCg0KCQlpZiAoIGNwLmxlZnQgPCAoIHRoYXQuX2hlbHBlciA/IGNvLmxlZnQgOiAwICkgKSB7DQoJCQl0aGF0LnNpemUud2lkdGggPSB0aGF0LnNpemUud2lkdGggKw0KCQkJCSggdGhhdC5faGVscGVyID8NCgkJCQkJKCB0aGF0LnBvc2l0aW9uLmxlZnQgLSBjby5sZWZ0ICkgOg0KCQkJCQkoIHRoYXQucG9zaXRpb24ubGVmdCAtIGNvcC5sZWZ0ICkgKTsNCg0KCQkJaWYgKCBwUmF0aW8gKSB7DQoJCQkJdGhhdC5zaXplLmhlaWdodCA9IHRoYXQuc2l6ZS53aWR0aCAvIHRoYXQuYXNwZWN0UmF0aW87DQoJCQkJY29udGludWVSZXNpemUgPSBmYWxzZTsNCgkJCX0NCgkJCXRoYXQucG9zaXRpb24ubGVmdCA9IG8uaGVscGVyID8gY28ubGVmdCA6IDA7DQoJCX0NCg0KCQlpZiAoIGNwLnRvcCA8ICggdGhhdC5faGVscGVyID8gY28udG9wIDogMCApICkgew0KCQkJdGhhdC5zaXplLmhlaWdodCA9IHRoYXQuc2l6ZS5oZWlnaHQgKw0KCQkJCSggdGhhdC5faGVscGVyID8NCgkJCQkJKCB0aGF0LnBvc2l0aW9uLnRvcCAtIGNvLnRvcCApIDoNCgkJCQkJdGhhdC5wb3NpdGlvbi50b3AgKTsNCg0KCQkJaWYgKCBwUmF0aW8gKSB7DQoJCQkJdGhhdC5zaXplLndpZHRoID0gdGhhdC5zaXplLmhlaWdodCAqIHRoYXQuYXNwZWN0UmF0aW87DQoJCQkJY29udGludWVSZXNpemUgPSBmYWxzZTsNCgkJCX0NCgkJCXRoYXQucG9zaXRpb24udG9wID0gdGhhdC5faGVscGVyID8gY28udG9wIDogMDsNCgkJfQ0KDQoJCWlzUGFyZW50ID0gdGhhdC5jb250YWluZXJFbGVtZW50LmdldCggMCApID09PSB0aGF0LmVsZW1lbnQucGFyZW50KCkuZ2V0KCAwICk7DQoJCWlzT2Zmc2V0UmVsYXRpdmUgPSAvcmVsYXRpdmV8YWJzb2x1dGUvLnRlc3QoIHRoYXQuY29udGFpbmVyRWxlbWVudC5jc3MoICJwb3NpdGlvbiIgKSApOw0KDQoJCWlmICggaXNQYXJlbnQgJiYgaXNPZmZzZXRSZWxhdGl2ZSApIHsNCgkJCXRoYXQub2Zmc2V0LmxlZnQgPSB0aGF0LnBhcmVudERhdGEubGVmdCArIHRoYXQucG9zaXRpb24ubGVmdDsNCgkJCXRoYXQub2Zmc2V0LnRvcCA9IHRoYXQucGFyZW50RGF0YS50b3AgKyB0aGF0LnBvc2l0aW9uLnRvcDsNCgkJfSBlbHNlIHsNCgkJCXRoYXQub2Zmc2V0LmxlZnQgPSB0aGF0LmVsZW1lbnQub2Zmc2V0KCkubGVmdDsNCgkJCXRoYXQub2Zmc2V0LnRvcCA9IHRoYXQuZWxlbWVudC5vZmZzZXQoKS50b3A7DQoJCX0NCg0KCQl3b3NldCA9IE1hdGguYWJzKCB0aGF0LnNpemVEaWZmLndpZHRoICsNCgkJCSh0aGF0Ll9oZWxwZXIgPw0KCQkJCXRoYXQub2Zmc2V0LmxlZnQgLSBjb3AubGVmdCA6DQoJCQkJKHRoYXQub2Zmc2V0LmxlZnQgLSBjby5sZWZ0KSkgKTsNCg0KCQlob3NldCA9IE1hdGguYWJzKCB0aGF0LnNpemVEaWZmLmhlaWdodCArDQoJCQkodGhhdC5faGVscGVyID8NCgkJCQl0aGF0Lm9mZnNldC50b3AgLSBjb3AudG9wIDoNCgkJCQkodGhhdC5vZmZzZXQudG9wIC0gY28udG9wKSkgKTsNCg0KCQlpZiAoIHdvc2V0ICsgdGhhdC5zaXplLndpZHRoID49IHRoYXQucGFyZW50RGF0YS53aWR0aCApIHsNCgkJCXRoYXQuc2l6ZS53aWR0aCA9IHRoYXQucGFyZW50RGF0YS53aWR0aCAtIHdvc2V0Ow0KCQkJaWYgKCBwUmF0aW8gKSB7DQoJCQkJdGhhdC5zaXplLmhlaWdodCA9IHRoYXQuc2l6ZS53aWR0aCAvIHRoYXQuYXNwZWN0UmF0aW87DQoJCQkJY29udGludWVSZXNpemUgPSBmYWxzZTsNCgkJCX0NCgkJfQ0KDQoJCWlmICggaG9zZXQgKyB0aGF0LnNpemUuaGVpZ2h0ID49IHRoYXQucGFyZW50RGF0YS5oZWlnaHQgKSB7DQoJCQl0aGF0LnNpemUuaGVpZ2h0ID0gdGhhdC5wYXJlbnREYXRhLmhlaWdodCAtIGhvc2V0Ow0KCQkJaWYgKCBwUmF0aW8gKSB7DQoJCQkJdGhhdC5zaXplLndpZHRoID0gdGhhdC5zaXplLmhlaWdodCAqIHRoYXQuYXNwZWN0UmF0aW87DQoJCQkJY29udGludWVSZXNpemUgPSBmYWxzZTsNCgkJCX0NCgkJfQ0KDQoJCWlmICggIWNvbnRpbnVlUmVzaXplICkgew0KCQkJdGhhdC5wb3NpdGlvbi5sZWZ0ID0gdGhhdC5wcmV2UG9zaXRpb24ubGVmdDsNCgkJCXRoYXQucG9zaXRpb24udG9wID0gdGhhdC5wcmV2UG9zaXRpb24udG9wOw0KCQkJdGhhdC5zaXplLndpZHRoID0gdGhhdC5wcmV2U2l6ZS53aWR0aDsNCgkJCXRoYXQuc2l6ZS5oZWlnaHQgPSB0aGF0LnByZXZTaXplLmhlaWdodDsNCgkJfQ0KCX0sDQoNCglzdG9wOiBmdW5jdGlvbigpIHsNCgkJdmFyIHRoYXQgPSAkKCB0aGlzICkucmVzaXphYmxlKCAiaW5zdGFuY2UiICksDQoJCQlvID0gdGhhdC5vcHRpb25zLA0KCQkJY28gPSB0aGF0LmNvbnRhaW5lck9mZnNldCwNCgkJCWNvcCA9IHRoYXQuY29udGFpbmVyUG9zaXRpb24sDQoJCQljZSA9IHRoYXQuY29udGFpbmVyRWxlbWVudCwNCgkJCWhlbHBlciA9ICQoIHRoYXQuaGVscGVyICksDQoJCQlobyA9IGhlbHBlci5vZmZzZXQoKSwNCgkJCXcgPSBoZWxwZXIub3V0ZXJXaWR0aCgpIC0gdGhhdC5zaXplRGlmZi53aWR0aCwNCgkJCWggPSBoZWxwZXIub3V0ZXJIZWlnaHQoKSAtIHRoYXQuc2l6ZURpZmYuaGVpZ2h0Ow0KDQoJCWlmICggdGhhdC5faGVscGVyICYmICFvLmFuaW1hdGUgJiYgKCAvcmVsYXRpdmUvICkudGVzdCggY2UuY3NzKCAicG9zaXRpb24iICkgKSApIHsNCgkJCSQoIHRoaXMgKS5jc3Moew0KCQkJCWxlZnQ6IGhvLmxlZnQgLSBjb3AubGVmdCAtIGNvLmxlZnQsDQoJCQkJd2lkdGg6IHcsDQoJCQkJaGVpZ2h0OiBoDQoJCQl9KTsNCgkJfQ0KDQoJCWlmICggdGhhdC5faGVscGVyICYmICFvLmFuaW1hdGUgJiYgKCAvc3RhdGljLyApLnRlc3QoIGNlLmNzcyggInBvc2l0aW9uIiApICkgKSB7DQoJCQkkKCB0aGlzICkuY3NzKHsNCgkJCQlsZWZ0OiBoby5sZWZ0IC0gY29wLmxlZnQgLSBjby5sZWZ0LA0KCQkJCXdpZHRoOiB3LA0KCQkJCWhlaWdodDogaA0KCQkJfSk7DQoJCX0NCgl9DQp9KTsNCg0KJC51aS5wbHVnaW4uYWRkKCJyZXNpemFibGUiLCAiYWxzb1Jlc2l6ZSIsIHsNCg0KCXN0YXJ0OiBmdW5jdGlvbigpIHsNCgkJdmFyIHRoYXQgPSAkKHRoaXMpLnJlc2l6YWJsZSggImluc3RhbmNlIiApLA0KCQkJbyA9IHRoYXQub3B0aW9uczsNCg0KCQkkKG8uYWxzb1Jlc2l6ZSkuZWFjaChmdW5jdGlvbigpIHsNCgkJCXZhciBlbCA9ICQodGhpcyk7DQoJCQllbC5kYXRhKCJ1aS1yZXNpemFibGUtYWxzb3Jlc2l6ZSIsIHsNCgkJCQl3aWR0aDogcGFyc2VJbnQoZWwud2lkdGgoKSwgMTApLCBoZWlnaHQ6IHBhcnNlSW50KGVsLmhlaWdodCgpLCAxMCksDQoJCQkJbGVmdDogcGFyc2VJbnQoZWwuY3NzKCJsZWZ0IiksIDEwKSwgdG9wOiBwYXJzZUludChlbC5jc3MoInRvcCIpLCAxMCkNCgkJCX0pOw0KCQl9KTsNCgl9LA0KDQoJcmVzaXplOiBmdW5jdGlvbihldmVudCwgdWkpIHsNCgkJdmFyIHRoYXQgPSAkKHRoaXMpLnJlc2l6YWJsZSggImluc3RhbmNlIiApLA0KCQkJbyA9IHRoYXQub3B0aW9ucywNCgkJCW9zID0gdGhhdC5vcmlnaW5hbFNpemUsDQoJCQlvcCA9IHRoYXQub3JpZ2luYWxQb3NpdGlvbiwNCgkJCWRlbHRhID0gew0KCQkJCWhlaWdodDogKHRoYXQuc2l6ZS5oZWlnaHQgLSBvcy5oZWlnaHQpIHx8IDAsDQoJCQkJd2lkdGg6ICh0aGF0LnNpemUud2lkdGggLSBvcy53aWR0aCkgfHwgMCwNCgkJCQl0b3A6ICh0aGF0LnBvc2l0aW9uLnRvcCAtIG9wLnRvcCkgfHwgMCwNCgkJCQlsZWZ0OiAodGhhdC5wb3NpdGlvbi5sZWZ0IC0gb3AubGVmdCkgfHwgMA0KCQkJfTsNCg0KCQkJJChvLmFsc29SZXNpemUpLmVhY2goZnVuY3Rpb24oKSB7DQoJCQkJdmFyIGVsID0gJCh0aGlzKSwgc3RhcnQgPSAkKHRoaXMpLmRhdGEoInVpLXJlc2l6YWJsZS1hbHNvcmVzaXplIiksIHN0eWxlID0ge30sDQoJCQkJCWNzcyA9IGVsLnBhcmVudHModWkub3JpZ2luYWxFbGVtZW50WzBdKS5sZW5ndGggPw0KCQkJCQkJCVsgIndpZHRoIiwgImhlaWdodCIgXSA6DQoJCQkJCQkJWyAid2lkdGgiLCAiaGVpZ2h0IiwgInRvcCIsICJsZWZ0IiBdOw0KDQoJCQkJJC5lYWNoKGNzcywgZnVuY3Rpb24oaSwgcHJvcCkgew0KCQkJCQl2YXIgc3VtID0gKHN0YXJ0W3Byb3BdIHx8IDApICsgKGRlbHRhW3Byb3BdIHx8IDApOw0KCQkJCQlpZiAoc3VtICYmIHN1bSA+PSAwKSB7DQoJCQkJCQlzdHlsZVtwcm9wXSA9IHN1bSB8fCBudWxsOw0KCQkJCQl9DQoJCQkJfSk7DQoNCgkJCQllbC5jc3Moc3R5bGUpOw0KCQkJfSk7DQoJfSwNCg0KCXN0b3A6IGZ1bmN0aW9uKCkgew0KCQkkKHRoaXMpLnJlbW92ZURhdGEoInJlc2l6YWJsZS1hbHNvcmVzaXplIik7DQoJfQ0KfSk7DQoNCiQudWkucGx1Z2luLmFkZCgicmVzaXphYmxlIiwgImdob3N0Iiwgew0KDQoJc3RhcnQ6IGZ1bmN0aW9uKCkgew0KDQoJCXZhciB0aGF0ID0gJCh0aGlzKS5yZXNpemFibGUoICJpbnN0YW5jZSIgKSwgbyA9IHRoYXQub3B0aW9ucywgY3MgPSB0aGF0LnNpemU7DQoNCgkJdGhhdC5naG9zdCA9IHRoYXQub3JpZ2luYWxFbGVtZW50LmNsb25lKCk7DQoJCXRoYXQuZ2hvc3QNCgkJCS5jc3Moew0KCQkJCW9wYWNpdHk6IDAuMjUsDQoJCQkJZGlzcGxheTogImJsb2NrIiwNCgkJCQlwb3NpdGlvbjogInJlbGF0aXZlIiwNCgkJCQloZWlnaHQ6IGNzLmhlaWdodCwNCgkJCQl3aWR0aDogY3Mud2lkdGgsDQoJCQkJbWFyZ2luOiAwLA0KCQkJCWxlZnQ6IDAsDQoJCQkJdG9wOiAwDQoJCQl9KQ0KCQkJLmFkZENsYXNzKCJ1aS1yZXNpemFibGUtZ2hvc3QiKQ0KCQkJLmFkZENsYXNzKHR5cGVvZiBvLmdob3N0ID09PSAic3RyaW5nIiA/IG8uZ2hvc3QgOiAiIik7DQoNCgkJdGhhdC5naG9zdC5hcHBlbmRUbyh0aGF0LmhlbHBlcik7DQoNCgl9LA0KDQoJcmVzaXplOiBmdW5jdGlvbigpIHsNCgkJdmFyIHRoYXQgPSAkKHRoaXMpLnJlc2l6YWJsZSggImluc3RhbmNlIiApOw0KCQlpZiAodGhhdC5naG9zdCkgew0KCQkJdGhhdC5naG9zdC5jc3Moew0KCQkJCXBvc2l0aW9uOiAicmVsYXRpdmUiLA0KCQkJCWhlaWdodDogdGhhdC5zaXplLmhlaWdodCwNCgkJCQl3aWR0aDogdGhhdC5zaXplLndpZHRoDQoJCQl9KTsNCgkJfQ0KCX0sDQoNCglzdG9wOiBmdW5jdGlvbigpIHsNCgkJdmFyIHRoYXQgPSAkKHRoaXMpLnJlc2l6YWJsZSggImluc3RhbmNlIiApOw0KCQlpZiAodGhhdC5naG9zdCAmJiB0aGF0LmhlbHBlcikgew0KCQkJdGhhdC5oZWxwZXIuZ2V0KDApLnJlbW92ZUNoaWxkKHRoYXQuZ2hvc3QuZ2V0KDApKTsNCgkJfQ0KCX0NCg0KfSk7DQoNCiQudWkucGx1Z2luLmFkZCgicmVzaXphYmxlIiwgImdyaWQiLCB7DQoNCglyZXNpemU6IGZ1bmN0aW9uKCkgew0KCQl2YXIgb3V0ZXJEaW1lbnNpb25zLA0KCQkJdGhhdCA9ICQodGhpcykucmVzaXphYmxlKCAiaW5zdGFuY2UiICksDQoJCQlvID0gdGhhdC5vcHRpb25zLA0KCQkJY3MgPSB0aGF0LnNpemUsDQoJCQlvcyA9IHRoYXQub3JpZ2luYWxTaXplLA0KCQkJb3AgPSB0aGF0Lm9yaWdpbmFsUG9zaXRpb24sDQoJCQlhID0gdGhhdC5heGlzLA0KCQkJZ3JpZCA9IHR5cGVvZiBvLmdyaWQgPT09ICJudW1iZXIiID8gWyBvLmdyaWQsIG8uZ3JpZCBdIDogby5ncmlkLA0KCQkJZ3JpZFggPSAoZ3JpZFswXSB8fCAxKSwNCgkJCWdyaWRZID0gKGdyaWRbMV0gfHwgMSksDQoJCQlveCA9IE1hdGgucm91bmQoKGNzLndpZHRoIC0gb3Mud2lkdGgpIC8gZ3JpZFgpICogZ3JpZFgsDQoJCQlveSA9IE1hdGgucm91bmQoKGNzLmhlaWdodCAtIG9zLmhlaWdodCkgLyBncmlkWSkgKiBncmlkWSwNCgkJCW5ld1dpZHRoID0gb3Mud2lkdGggKyBveCwNCgkJCW5ld0hlaWdodCA9IG9zLmhlaWdodCArIG95LA0KCQkJaXNNYXhXaWR0aCA9IG8ubWF4V2lkdGggJiYgKG8ubWF4V2lkdGggPCBuZXdXaWR0aCksDQoJCQlpc01heEhlaWdodCA9IG8ubWF4SGVpZ2h0ICYmIChvLm1heEhlaWdodCA8IG5ld0hlaWdodCksDQoJCQlpc01pbldpZHRoID0gby5taW5XaWR0aCAmJiAoby5taW5XaWR0aCA+IG5ld1dpZHRoKSwNCgkJCWlzTWluSGVpZ2h0ID0gby5taW5IZWlnaHQgJiYgKG8ubWluSGVpZ2h0ID4gbmV3SGVpZ2h0KTsNCg0KCQlvLmdyaWQgPSBncmlkOw0KDQoJCWlmIChpc01pbldpZHRoKSB7DQoJCQluZXdXaWR0aCArPSBncmlkWDsNCgkJfQ0KCQlpZiAoaXNNaW5IZWlnaHQpIHsNCgkJCW5ld0hlaWdodCArPSBncmlkWTsNCgkJfQ0KCQlpZiAoaXNNYXhXaWR0aCkgew0KCQkJbmV3V2lkdGggLT0gZ3JpZFg7DQoJCX0NCgkJaWYgKGlzTWF4SGVpZ2h0KSB7DQoJCQluZXdIZWlnaHQgLT0gZ3JpZFk7DQoJCX0NCg0KCQlpZiAoL14oc2V8c3xlKSQvLnRlc3QoYSkpIHsNCgkJCXRoYXQuc2l6ZS53aWR0aCA9IG5ld1dpZHRoOw0KCQkJdGhhdC5zaXplLmhlaWdodCA9IG5ld0hlaWdodDsNCgkJfSBlbHNlIGlmICgvXihuZSkkLy50ZXN0KGEpKSB7DQoJCQl0aGF0LnNpemUud2lkdGggPSBuZXdXaWR0aDsNCgkJCXRoYXQuc2l6ZS5oZWlnaHQgPSBuZXdIZWlnaHQ7DQoJCQl0aGF0LnBvc2l0aW9uLnRvcCA9IG9wLnRvcCAtIG95Ow0KCQl9IGVsc2UgaWYgKC9eKHN3KSQvLnRlc3QoYSkpIHsNCgkJCXRoYXQuc2l6ZS53aWR0aCA9IG5ld1dpZHRoOw0KCQkJdGhhdC5zaXplLmhlaWdodCA9IG5ld0hlaWdodDsNCgkJCXRoYXQucG9zaXRpb24ubGVmdCA9IG9wLmxlZnQgLSBveDsNCgkJfSBlbHNlIHsNCgkJCWlmICggbmV3SGVpZ2h0IC0gZ3JpZFkgPD0gMCB8fCBuZXdXaWR0aCAtIGdyaWRYIDw9IDApIHsNCgkJCQlvdXRlckRpbWVuc2lvbnMgPSB0aGF0Ll9nZXRQYWRkaW5nUGx1c0JvcmRlckRpbWVuc2lvbnMoIHRoaXMgKTsNCgkJCX0NCg0KCQkJaWYgKCBuZXdIZWlnaHQgLSBncmlkWSA+IDAgKSB7DQoJCQkJdGhhdC5zaXplLmhlaWdodCA9IG5ld0hlaWdodDsNCgkJCQl0aGF0LnBvc2l0aW9uLnRvcCA9IG9wLnRvcCAtIG95Ow0KCQkJfSBlbHNlIHsNCgkJCQluZXdIZWlnaHQgPSBncmlkWSAtIG91dGVyRGltZW5zaW9ucy5oZWlnaHQ7DQoJCQkJdGhhdC5zaXplLmhlaWdodCA9IG5ld0hlaWdodDsNCgkJCQl0aGF0LnBvc2l0aW9uLnRvcCA9IG9wLnRvcCArIG9zLmhlaWdodCAtIG5ld0hlaWdodDsNCgkJCX0NCgkJCWlmICggbmV3V2lkdGggLSBncmlkWCA+IDAgKSB7DQoJCQkJdGhhdC5zaXplLndpZHRoID0gbmV3V2lkdGg7DQoJCQkJdGhhdC5wb3NpdGlvbi5sZWZ0ID0gb3AubGVmdCAtIG94Ow0KCQkJfSBlbHNlIHsNCgkJCQluZXdXaWR0aCA9IGdyaWRYIC0gb3V0ZXJEaW1lbnNpb25zLndpZHRoOw0KCQkJCXRoYXQuc2l6ZS53aWR0aCA9IG5ld1dpZHRoOw0KCQkJCXRoYXQucG9zaXRpb24ubGVmdCA9IG9wLmxlZnQgKyBvcy53aWR0aCAtIG5ld1dpZHRoOw0KCQkJfQ0KCQl9DQoJfQ0KDQp9KTsNCg0KdmFyIHJlc2l6YWJsZSA9ICQudWkucmVzaXphYmxlOw0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIFNlbGVjdGFibGUgMS4xMS40DQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqDQogKiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9zZWxlY3RhYmxlLw0KICovDQoNCg0KdmFyIHNlbGVjdGFibGUgPSAkLndpZGdldCgidWkuc2VsZWN0YWJsZSIsICQudWkubW91c2UsIHsNCgl2ZXJzaW9uOiAiMS4xMS40IiwNCglvcHRpb25zOiB7DQoJCWFwcGVuZFRvOiAiYm9keSIsDQoJCWF1dG9SZWZyZXNoOiB0cnVlLA0KCQlkaXN0YW5jZTogMCwNCgkJZmlsdGVyOiAiKiIsDQoJCXRvbGVyYW5jZTogInRvdWNoIiwNCg0KCQkvLyBjYWxsYmFja3MNCgkJc2VsZWN0ZWQ6IG51bGwsDQoJCXNlbGVjdGluZzogbnVsbCwNCgkJc3RhcnQ6IG51bGwsDQoJCXN0b3A6IG51bGwsDQoJCXVuc2VsZWN0ZWQ6IG51bGwsDQoJCXVuc2VsZWN0aW5nOiBudWxsDQoJfSwNCglfY3JlYXRlOiBmdW5jdGlvbigpIHsNCgkJdmFyIHNlbGVjdGVlcywNCgkJCXRoYXQgPSB0aGlzOw0KDQoJCXRoaXMuZWxlbWVudC5hZGRDbGFzcygidWktc2VsZWN0YWJsZSIpOw0KDQoJCXRoaXMuZHJhZ2dlZCA9IGZhbHNlOw0KDQoJCS8vIGNhY2hlIHNlbGVjdGVlIGNoaWxkcmVuIGJhc2VkIG9uIGZpbHRlcg0KCQl0aGlzLnJlZnJlc2ggPSBmdW5jdGlvbigpIHsNCgkJCXNlbGVjdGVlcyA9ICQodGhhdC5vcHRpb25zLmZpbHRlciwgdGhhdC5lbGVtZW50WzBdKTsNCgkJCXNlbGVjdGVlcy5hZGRDbGFzcygidWktc2VsZWN0ZWUiKTsNCgkJCXNlbGVjdGVlcy5lYWNoKGZ1bmN0aW9uKCkgew0KCQkJCXZhciAkdGhpcyA9ICQodGhpcyksDQoJCQkJCXBvcyA9ICR0aGlzLm9mZnNldCgpOw0KCQkJCSQuZGF0YSh0aGlzLCAic2VsZWN0YWJsZS1pdGVtIiwgew0KCQkJCQllbGVtZW50OiB0aGlzLA0KCQkJCQkkZWxlbWVudDogJHRoaXMsDQoJCQkJCWxlZnQ6IHBvcy5sZWZ0LA0KCQkJCQl0b3A6IHBvcy50b3AsDQoJCQkJCXJpZ2h0OiBwb3MubGVmdCArICR0aGlzLm91dGVyV2lkdGgoKSwNCgkJCQkJYm90dG9tOiBwb3MudG9wICsgJHRoaXMub3V0ZXJIZWlnaHQoKSwNCgkJCQkJc3RhcnRzZWxlY3RlZDogZmFsc2UsDQoJCQkJCXNlbGVjdGVkOiAkdGhpcy5oYXNDbGFzcygidWktc2VsZWN0ZWQiKSwNCgkJCQkJc2VsZWN0aW5nOiAkdGhpcy5oYXNDbGFzcygidWktc2VsZWN0aW5nIiksDQoJCQkJCXVuc2VsZWN0aW5nOiAkdGhpcy5oYXNDbGFzcygidWktdW5zZWxlY3RpbmciKQ0KCQkJCX0pOw0KCQkJfSk7DQoJCX07DQoJCXRoaXMucmVmcmVzaCgpOw0KDQoJCXRoaXMuc2VsZWN0ZWVzID0gc2VsZWN0ZWVzLmFkZENsYXNzKCJ1aS1zZWxlY3RlZSIpOw0KDQoJCXRoaXMuX21vdXNlSW5pdCgpOw0KDQoJCXRoaXMuaGVscGVyID0gJCgiPGRpdiBjbGFzcz0ndWktc2VsZWN0YWJsZS1oZWxwZXInPjwvZGl2PiIpOw0KCX0sDQoNCglfZGVzdHJveTogZnVuY3Rpb24oKSB7DQoJCXRoaXMuc2VsZWN0ZWVzDQoJCQkucmVtb3ZlQ2xhc3MoInVpLXNlbGVjdGVlIikNCgkJCS5yZW1vdmVEYXRhKCJzZWxlY3RhYmxlLWl0ZW0iKTsNCgkJdGhpcy5lbGVtZW50DQoJCQkucmVtb3ZlQ2xhc3MoInVpLXNlbGVjdGFibGUgdWktc2VsZWN0YWJsZS1kaXNhYmxlZCIpOw0KCQl0aGlzLl9tb3VzZURlc3Ryb3koKTsNCgl9LA0KDQoJX21vdXNlU3RhcnQ6IGZ1bmN0aW9uKGV2ZW50KSB7DQoJCXZhciB0aGF0ID0gdGhpcywNCgkJCW9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7DQoNCgkJdGhpcy5vcG9zID0gWyBldmVudC5wYWdlWCwgZXZlbnQucGFnZVkgXTsNCg0KCQlpZiAodGhpcy5vcHRpb25zLmRpc2FibGVkKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQl0aGlzLnNlbGVjdGVlcyA9ICQob3B0aW9ucy5maWx0ZXIsIHRoaXMuZWxlbWVudFswXSk7DQoNCgkJdGhpcy5fdHJpZ2dlcigic3RhcnQiLCBldmVudCk7DQoNCgkJJChvcHRpb25zLmFwcGVuZFRvKS5hcHBlbmQodGhpcy5oZWxwZXIpOw0KCQkvLyBwb3NpdGlvbiBoZWxwZXIgKGxhc3NvKQ0KCQl0aGlzLmhlbHBlci5jc3Moew0KCQkJImxlZnQiOiBldmVudC5wYWdlWCwNCgkJCSJ0b3AiOiBldmVudC5wYWdlWSwNCgkJCSJ3aWR0aCI6IDAsDQoJCQkiaGVpZ2h0IjogMA0KCQl9KTsNCg0KCQlpZiAob3B0aW9ucy5hdXRvUmVmcmVzaCkgew0KCQkJdGhpcy5yZWZyZXNoKCk7DQoJCX0NCg0KCQl0aGlzLnNlbGVjdGVlcy5maWx0ZXIoIi51aS1zZWxlY3RlZCIpLmVhY2goZnVuY3Rpb24oKSB7DQoJCQl2YXIgc2VsZWN0ZWUgPSAkLmRhdGEodGhpcywgInNlbGVjdGFibGUtaXRlbSIpOw0KCQkJc2VsZWN0ZWUuc3RhcnRzZWxlY3RlZCA9IHRydWU7DQoJCQlpZiAoIWV2ZW50Lm1ldGFLZXkgJiYgIWV2ZW50LmN0cmxLZXkpIHsNCgkJCQlzZWxlY3RlZS4kZWxlbWVudC5yZW1vdmVDbGFzcygidWktc2VsZWN0ZWQiKTsNCgkJCQlzZWxlY3RlZS5zZWxlY3RlZCA9IGZhbHNlOw0KCQkJCXNlbGVjdGVlLiRlbGVtZW50LmFkZENsYXNzKCJ1aS11bnNlbGVjdGluZyIpOw0KCQkJCXNlbGVjdGVlLnVuc2VsZWN0aW5nID0gdHJ1ZTsNCgkJCQkvLyBzZWxlY3RhYmxlIFVOU0VMRUNUSU5HIGNhbGxiYWNrDQoJCQkJdGhhdC5fdHJpZ2dlcigidW5zZWxlY3RpbmciLCBldmVudCwgew0KCQkJCQl1bnNlbGVjdGluZzogc2VsZWN0ZWUuZWxlbWVudA0KCQkJCX0pOw0KCQkJfQ0KCQl9KTsNCg0KCQkkKGV2ZW50LnRhcmdldCkucGFyZW50cygpLmFkZEJhY2soKS5lYWNoKGZ1bmN0aW9uKCkgew0KCQkJdmFyIGRvU2VsZWN0LA0KCQkJCXNlbGVjdGVlID0gJC5kYXRhKHRoaXMsICJzZWxlY3RhYmxlLWl0ZW0iKTsNCgkJCWlmIChzZWxlY3RlZSkgew0KCQkJCWRvU2VsZWN0ID0gKCFldmVudC5tZXRhS2V5ICYmICFldmVudC5jdHJsS2V5KSB8fCAhc2VsZWN0ZWUuJGVsZW1lbnQuaGFzQ2xhc3MoInVpLXNlbGVjdGVkIik7DQoJCQkJc2VsZWN0ZWUuJGVsZW1lbnQNCgkJCQkJLnJlbW92ZUNsYXNzKGRvU2VsZWN0ID8gInVpLXVuc2VsZWN0aW5nIiA6ICJ1aS1zZWxlY3RlZCIpDQoJCQkJCS5hZGRDbGFzcyhkb1NlbGVjdCA/ICJ1aS1zZWxlY3RpbmciIDogInVpLXVuc2VsZWN0aW5nIik7DQoJCQkJc2VsZWN0ZWUudW5zZWxlY3RpbmcgPSAhZG9TZWxlY3Q7DQoJCQkJc2VsZWN0ZWUuc2VsZWN0aW5nID0gZG9TZWxlY3Q7DQoJCQkJc2VsZWN0ZWUuc2VsZWN0ZWQgPSBkb1NlbGVjdDsNCgkJCQkvLyBzZWxlY3RhYmxlIChVTilTRUxFQ1RJTkcgY2FsbGJhY2sNCgkJCQlpZiAoZG9TZWxlY3QpIHsNCgkJCQkJdGhhdC5fdHJpZ2dlcigic2VsZWN0aW5nIiwgZXZlbnQsIHsNCgkJCQkJCXNlbGVjdGluZzogc2VsZWN0ZWUuZWxlbWVudA0KCQkJCQl9KTsNCgkJCQl9IGVsc2Ugew0KCQkJCQl0aGF0Ll90cmlnZ2VyKCJ1bnNlbGVjdGluZyIsIGV2ZW50LCB7DQoJCQkJCQl1bnNlbGVjdGluZzogc2VsZWN0ZWUuZWxlbWVudA0KCQkJCQl9KTsNCgkJCQl9DQoJCQkJcmV0dXJuIGZhbHNlOw0KCQkJfQ0KCQl9KTsNCg0KCX0sDQoNCglfbW91c2VEcmFnOiBmdW5jdGlvbihldmVudCkgew0KDQoJCXRoaXMuZHJhZ2dlZCA9IHRydWU7DQoNCgkJaWYgKHRoaXMub3B0aW9ucy5kaXNhYmxlZCkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJdmFyIHRtcCwNCgkJCXRoYXQgPSB0aGlzLA0KCQkJb3B0aW9ucyA9IHRoaXMub3B0aW9ucywNCgkJCXgxID0gdGhpcy5vcG9zWzBdLA0KCQkJeTEgPSB0aGlzLm9wb3NbMV0sDQoJCQl4MiA9IGV2ZW50LnBhZ2VYLA0KCQkJeTIgPSBldmVudC5wYWdlWTsNCg0KCQlpZiAoeDEgPiB4MikgeyB0bXAgPSB4MjsgeDIgPSB4MTsgeDEgPSB0bXA7IH0NCgkJaWYgKHkxID4geTIpIHsgdG1wID0geTI7IHkyID0geTE7IHkxID0gdG1wOyB9DQoJCXRoaXMuaGVscGVyLmNzcyh7IGxlZnQ6IHgxLCB0b3A6IHkxLCB3aWR0aDogeDIgLSB4MSwgaGVpZ2h0OiB5MiAtIHkxIH0pOw0KDQoJCXRoaXMuc2VsZWN0ZWVzLmVhY2goZnVuY3Rpb24oKSB7DQoJCQl2YXIgc2VsZWN0ZWUgPSAkLmRhdGEodGhpcywgInNlbGVjdGFibGUtaXRlbSIpLA0KCQkJCWhpdCA9IGZhbHNlOw0KDQoJCQkvL3ByZXZlbnQgaGVscGVyIGZyb20gYmVpbmcgc2VsZWN0ZWQgaWYgYXBwZW5kVG86IHNlbGVjdGFibGUNCgkJCWlmICghc2VsZWN0ZWUgfHwgc2VsZWN0ZWUuZWxlbWVudCA9PT0gdGhhdC5lbGVtZW50WzBdKSB7DQoJCQkJcmV0dXJuOw0KCQkJfQ0KDQoJCQlpZiAob3B0aW9ucy50b2xlcmFuY2UgPT09ICJ0b3VjaCIpIHsNCgkJCQloaXQgPSAoICEoc2VsZWN0ZWUubGVmdCA+IHgyIHx8IHNlbGVjdGVlLnJpZ2h0IDwgeDEgfHwgc2VsZWN0ZWUudG9wID4geTIgfHwgc2VsZWN0ZWUuYm90dG9tIDwgeTEpICk7DQoJCQl9IGVsc2UgaWYgKG9wdGlvbnMudG9sZXJhbmNlID09PSAiZml0Iikgew0KCQkJCWhpdCA9IChzZWxlY3RlZS5sZWZ0ID4geDEgJiYgc2VsZWN0ZWUucmlnaHQgPCB4MiAmJiBzZWxlY3RlZS50b3AgPiB5MSAmJiBzZWxlY3RlZS5ib3R0b20gPCB5Mik7DQoJCQl9DQoNCgkJCWlmIChoaXQpIHsNCgkJCQkvLyBTRUxFQ1QNCgkJCQlpZiAoc2VsZWN0ZWUuc2VsZWN0ZWQpIHsNCgkJCQkJc2VsZWN0ZWUuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXNlbGVjdGVkIik7DQoJCQkJCXNlbGVjdGVlLnNlbGVjdGVkID0gZmFsc2U7DQoJCQkJfQ0KCQkJCWlmIChzZWxlY3RlZS51bnNlbGVjdGluZykgew0KCQkJCQlzZWxlY3RlZS4kZWxlbWVudC5yZW1vdmVDbGFzcygidWktdW5zZWxlY3RpbmciKTsNCgkJCQkJc2VsZWN0ZWUudW5zZWxlY3RpbmcgPSBmYWxzZTsNCgkJCQl9DQoJCQkJaWYgKCFzZWxlY3RlZS5zZWxlY3RpbmcpIHsNCgkJCQkJc2VsZWN0ZWUuJGVsZW1lbnQuYWRkQ2xhc3MoInVpLXNlbGVjdGluZyIpOw0KCQkJCQlzZWxlY3RlZS5zZWxlY3RpbmcgPSB0cnVlOw0KCQkJCQkvLyBzZWxlY3RhYmxlIFNFTEVDVElORyBjYWxsYmFjaw0KCQkJCQl0aGF0Ll90cmlnZ2VyKCJzZWxlY3RpbmciLCBldmVudCwgew0KCQkJCQkJc2VsZWN0aW5nOiBzZWxlY3RlZS5lbGVtZW50DQoJCQkJCX0pOw0KCQkJCX0NCgkJCX0gZWxzZSB7DQoJCQkJLy8gVU5TRUxFQ1QNCgkJCQlpZiAoc2VsZWN0ZWUuc2VsZWN0aW5nKSB7DQoJCQkJCWlmICgoZXZlbnQubWV0YUtleSB8fCBldmVudC5jdHJsS2V5KSAmJiBzZWxlY3RlZS5zdGFydHNlbGVjdGVkKSB7DQoJCQkJCQlzZWxlY3RlZS4kZWxlbWVudC5yZW1vdmVDbGFzcygidWktc2VsZWN0aW5nIik7DQoJCQkJCQlzZWxlY3RlZS5zZWxlY3RpbmcgPSBmYWxzZTsNCgkJCQkJCXNlbGVjdGVlLiRlbGVtZW50LmFkZENsYXNzKCJ1aS1zZWxlY3RlZCIpOw0KCQkJCQkJc2VsZWN0ZWUuc2VsZWN0ZWQgPSB0cnVlOw0KCQkJCQl9IGVsc2Ugew0KCQkJCQkJc2VsZWN0ZWUuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXNlbGVjdGluZyIpOw0KCQkJCQkJc2VsZWN0ZWUuc2VsZWN0aW5nID0gZmFsc2U7DQoJCQkJCQlpZiAoc2VsZWN0ZWUuc3RhcnRzZWxlY3RlZCkgew0KCQkJCQkJCXNlbGVjdGVlLiRlbGVtZW50LmFkZENsYXNzKCJ1aS11bnNlbGVjdGluZyIpOw0KCQkJCQkJCXNlbGVjdGVlLnVuc2VsZWN0aW5nID0gdHJ1ZTsNCgkJCQkJCX0NCgkJCQkJCS8vIHNlbGVjdGFibGUgVU5TRUxFQ1RJTkcgY2FsbGJhY2sNCgkJCQkJCXRoYXQuX3RyaWdnZXIoInVuc2VsZWN0aW5nIiwgZXZlbnQsIHsNCgkJCQkJCQl1bnNlbGVjdGluZzogc2VsZWN0ZWUuZWxlbWVudA0KCQkJCQkJfSk7DQoJCQkJCX0NCgkJCQl9DQoJCQkJaWYgKHNlbGVjdGVlLnNlbGVjdGVkKSB7DQoJCQkJCWlmICghZXZlbnQubWV0YUtleSAmJiAhZXZlbnQuY3RybEtleSAmJiAhc2VsZWN0ZWUuc3RhcnRzZWxlY3RlZCkgew0KCQkJCQkJc2VsZWN0ZWUuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXNlbGVjdGVkIik7DQoJCQkJCQlzZWxlY3RlZS5zZWxlY3RlZCA9IGZhbHNlOw0KDQoJCQkJCQlzZWxlY3RlZS4kZWxlbWVudC5hZGRDbGFzcygidWktdW5zZWxlY3RpbmciKTsNCgkJCQkJCXNlbGVjdGVlLnVuc2VsZWN0aW5nID0gdHJ1ZTsNCgkJCQkJCS8vIHNlbGVjdGFibGUgVU5TRUxFQ1RJTkcgY2FsbGJhY2sNCgkJCQkJCXRoYXQuX3RyaWdnZXIoInVuc2VsZWN0aW5nIiwgZXZlbnQsIHsNCgkJCQkJCQl1bnNlbGVjdGluZzogc2VsZWN0ZWUuZWxlbWVudA0KCQkJCQkJfSk7DQoJCQkJCX0NCgkJCQl9DQoJCQl9DQoJCX0pOw0KDQoJCXJldHVybiBmYWxzZTsNCgl9LA0KDQoJX21vdXNlU3RvcDogZnVuY3Rpb24oZXZlbnQpIHsNCgkJdmFyIHRoYXQgPSB0aGlzOw0KDQoJCXRoaXMuZHJhZ2dlZCA9IGZhbHNlOw0KDQoJCSQoIi51aS11bnNlbGVjdGluZyIsIHRoaXMuZWxlbWVudFswXSkuZWFjaChmdW5jdGlvbigpIHsNCgkJCXZhciBzZWxlY3RlZSA9ICQuZGF0YSh0aGlzLCAic2VsZWN0YWJsZS1pdGVtIik7DQoJCQlzZWxlY3RlZS4kZWxlbWVudC5yZW1vdmVDbGFzcygidWktdW5zZWxlY3RpbmciKTsNCgkJCXNlbGVjdGVlLnVuc2VsZWN0aW5nID0gZmFsc2U7DQoJCQlzZWxlY3RlZS5zdGFydHNlbGVjdGVkID0gZmFsc2U7DQoJCQl0aGF0Ll90cmlnZ2VyKCJ1bnNlbGVjdGVkIiwgZXZlbnQsIHsNCgkJCQl1bnNlbGVjdGVkOiBzZWxlY3RlZS5lbGVtZW50DQoJCQl9KTsNCgkJfSk7DQoJCSQoIi51aS1zZWxlY3RpbmciLCB0aGlzLmVsZW1lbnRbMF0pLmVhY2goZnVuY3Rpb24oKSB7DQoJCQl2YXIgc2VsZWN0ZWUgPSAkLmRhdGEodGhpcywgInNlbGVjdGFibGUtaXRlbSIpOw0KCQkJc2VsZWN0ZWUuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXNlbGVjdGluZyIpLmFkZENsYXNzKCJ1aS1zZWxlY3RlZCIpOw0KCQkJc2VsZWN0ZWUuc2VsZWN0aW5nID0gZmFsc2U7DQoJCQlzZWxlY3RlZS5zZWxlY3RlZCA9IHRydWU7DQoJCQlzZWxlY3RlZS5zdGFydHNlbGVjdGVkID0gdHJ1ZTsNCgkJCXRoYXQuX3RyaWdnZXIoInNlbGVjdGVkIiwgZXZlbnQsIHsNCgkJCQlzZWxlY3RlZDogc2VsZWN0ZWUuZWxlbWVudA0KCQkJfSk7DQoJCX0pOw0KCQl0aGlzLl90cmlnZ2VyKCJzdG9wIiwgZXZlbnQpOw0KDQoJCXRoaXMuaGVscGVyLnJlbW92ZSgpOw0KDQoJCXJldHVybiBmYWxzZTsNCgl9DQoNCn0pOw0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIFNvcnRhYmxlIDEuMTEuNA0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKg0KICogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vc29ydGFibGUvDQogKi8NCg0KDQp2YXIgc29ydGFibGUgPSAkLndpZGdldCgidWkuc29ydGFibGUiLCAkLnVpLm1vdXNlLCB7DQoJdmVyc2lvbjogIjEuMTEuNCIsDQoJd2lkZ2V0RXZlbnRQcmVmaXg6ICJzb3J0IiwNCglyZWFkeTogZmFsc2UsDQoJb3B0aW9uczogew0KCQlhcHBlbmRUbzogInBhcmVudCIsDQoJCWF4aXM6IGZhbHNlLA0KCQljb25uZWN0V2l0aDogZmFsc2UsDQoJCWNvbnRhaW5tZW50OiBmYWxzZSwNCgkJY3Vyc29yOiAiYXV0byIsDQoJCWN1cnNvckF0OiBmYWxzZSwNCgkJZHJvcE9uRW1wdHk6IHRydWUsDQoJCWZvcmNlUGxhY2Vob2xkZXJTaXplOiBmYWxzZSwNCgkJZm9yY2VIZWxwZXJTaXplOiBmYWxzZSwNCgkJZ3JpZDogZmFsc2UsDQoJCWhhbmRsZTogZmFsc2UsDQoJCWhlbHBlcjogIm9yaWdpbmFsIiwNCgkJaXRlbXM6ICI+ICoiLA0KCQlvcGFjaXR5OiBmYWxzZSwNCgkJcGxhY2Vob2xkZXI6IGZhbHNlLA0KCQlyZXZlcnQ6IGZhbHNlLA0KCQlzY3JvbGw6IHRydWUsDQoJCXNjcm9sbFNlbnNpdGl2aXR5OiAyMCwNCgkJc2Nyb2xsU3BlZWQ6IDIwLA0KCQlzY29wZTogImRlZmF1bHQiLA0KCQl0b2xlcmFuY2U6ICJpbnRlcnNlY3QiLA0KCQl6SW5kZXg6IDEwMDAsDQoNCgkJLy8gY2FsbGJhY2tzDQoJCWFjdGl2YXRlOiBudWxsLA0KCQliZWZvcmVTdG9wOiBudWxsLA0KCQljaGFuZ2U6IG51bGwsDQoJCWRlYWN0aXZhdGU6IG51bGwsDQoJCW91dDogbnVsbCwNCgkJb3ZlcjogbnVsbCwNCgkJcmVjZWl2ZTogbnVsbCwNCgkJcmVtb3ZlOiBudWxsLA0KCQlzb3J0OiBudWxsLA0KCQlzdGFydDogbnVsbCwNCgkJc3RvcDogbnVsbCwNCgkJdXBkYXRlOiBudWxsDQoJfSwNCg0KCV9pc092ZXJBeGlzOiBmdW5jdGlvbiggeCwgcmVmZXJlbmNlLCBzaXplICkgew0KCQlyZXR1cm4gKCB4ID49IHJlZmVyZW5jZSApICYmICggeCA8ICggcmVmZXJlbmNlICsgc2l6ZSApICk7DQoJfSwNCg0KCV9pc0Zsb2F0aW5nOiBmdW5jdGlvbiggaXRlbSApIHsNCgkJcmV0dXJuICgvbGVmdHxyaWdodC8pLnRlc3QoaXRlbS5jc3MoImZsb2F0IikpIHx8ICgvaW5saW5lfHRhYmxlLWNlbGwvKS50ZXN0KGl0ZW0uY3NzKCJkaXNwbGF5IikpOw0KCX0sDQoNCglfY3JlYXRlOiBmdW5jdGlvbigpIHsNCgkJdGhpcy5jb250YWluZXJDYWNoZSA9IHt9Ow0KCQl0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLXNvcnRhYmxlIik7DQoNCgkJLy9HZXQgdGhlIGl0ZW1zDQoJCXRoaXMucmVmcmVzaCgpOw0KDQoJCS8vTGV0J3MgZGV0ZXJtaW5lIHRoZSBwYXJlbnQncyBvZmZzZXQNCgkJdGhpcy5vZmZzZXQgPSB0aGlzLmVsZW1lbnQub2Zmc2V0KCk7DQoNCgkJLy9Jbml0aWFsaXplIG1vdXNlIGV2ZW50cyBmb3IgaW50ZXJhY3Rpb24NCgkJdGhpcy5fbW91c2VJbml0KCk7DQoNCgkJdGhpcy5fc2V0SGFuZGxlQ2xhc3NOYW1lKCk7DQoNCgkJLy9XZSdyZSByZWFkeSB0byBnbw0KCQl0aGlzLnJlYWR5ID0gdHJ1ZTsNCg0KCX0sDQoNCglfc2V0T3B0aW9uOiBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsNCgkJdGhpcy5fc3VwZXIoIGtleSwgdmFsdWUgKTsNCg0KCQlpZiAoIGtleSA9PT0gImhhbmRsZSIgKSB7DQoJCQl0aGlzLl9zZXRIYW5kbGVDbGFzc05hbWUoKTsNCgkJfQ0KCX0sDQoNCglfc2V0SGFuZGxlQ2xhc3NOYW1lOiBmdW5jdGlvbigpIHsNCgkJdGhpcy5lbGVtZW50LmZpbmQoICIudWktc29ydGFibGUtaGFuZGxlIiApLnJlbW92ZUNsYXNzKCAidWktc29ydGFibGUtaGFuZGxlIiApOw0KCQkkLmVhY2goIHRoaXMuaXRlbXMsIGZ1bmN0aW9uKCkgew0KCQkJKCB0aGlzLmluc3RhbmNlLm9wdGlvbnMuaGFuZGxlID8NCgkJCQl0aGlzLml0ZW0uZmluZCggdGhpcy5pbnN0YW5jZS5vcHRpb25zLmhhbmRsZSApIDogdGhpcy5pdGVtICkNCgkJCQkuYWRkQ2xhc3MoICJ1aS1zb3J0YWJsZS1oYW5kbGUiICk7DQoJCX0pOw0KCX0sDQoNCglfZGVzdHJveTogZnVuY3Rpb24oKSB7DQoJCXRoaXMuZWxlbWVudA0KCQkJLnJlbW92ZUNsYXNzKCAidWktc29ydGFibGUgdWktc29ydGFibGUtZGlzYWJsZWQiICkNCgkJCS5maW5kKCAiLnVpLXNvcnRhYmxlLWhhbmRsZSIgKQ0KCQkJCS5yZW1vdmVDbGFzcyggInVpLXNvcnRhYmxlLWhhbmRsZSIgKTsNCgkJdGhpcy5fbW91c2VEZXN0cm95KCk7DQoNCgkJZm9yICggdmFyIGkgPSB0aGlzLml0ZW1zLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tICkgew0KCQkJdGhpcy5pdGVtc1tpXS5pdGVtLnJlbW92ZURhdGEodGhpcy53aWRnZXROYW1lICsgIi1pdGVtIik7DQoJCX0NCg0KCQlyZXR1cm4gdGhpczsNCgl9LA0KDQoJX21vdXNlQ2FwdHVyZTogZnVuY3Rpb24oZXZlbnQsIG92ZXJyaWRlSGFuZGxlKSB7DQoJCXZhciBjdXJyZW50SXRlbSA9IG51bGwsDQoJCQl2YWxpZEhhbmRsZSA9IGZhbHNlLA0KCQkJdGhhdCA9IHRoaXM7DQoNCgkJaWYgKHRoaXMucmV2ZXJ0aW5nKSB7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCg0KCQlpZih0aGlzLm9wdGlvbnMuZGlzYWJsZWQgfHwgdGhpcy5vcHRpb25zLnR5cGUgPT09ICJzdGF0aWMiKSB7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCg0KCQkvL1dlIGhhdmUgdG8gcmVmcmVzaCB0aGUgaXRlbXMgZGF0YSBvbmNlIGZpcnN0DQoJCXRoaXMuX3JlZnJlc2hJdGVtcyhldmVudCk7DQoNCgkJLy9GaW5kIG91dCBpZiB0aGUgY2xpY2tlZCBub2RlIChvciBvbmUgb2YgaXRzIHBhcmVudHMpIGlzIGEgYWN0dWFsIGl0ZW0gaW4gdGhpcy5pdGVtcw0KCQkkKGV2ZW50LnRhcmdldCkucGFyZW50cygpLmVhY2goZnVuY3Rpb24oKSB7DQoJCQlpZigkLmRhdGEodGhpcywgdGhhdC53aWRnZXROYW1lICsgIi1pdGVtIikgPT09IHRoYXQpIHsNCgkJCQljdXJyZW50SXRlbSA9ICQodGhpcyk7DQoJCQkJcmV0dXJuIGZhbHNlOw0KCQkJfQ0KCQl9KTsNCgkJaWYoJC5kYXRhKGV2ZW50LnRhcmdldCwgdGhhdC53aWRnZXROYW1lICsgIi1pdGVtIikgPT09IHRoYXQpIHsNCgkJCWN1cnJlbnRJdGVtID0gJChldmVudC50YXJnZXQpOw0KCQl9DQoNCgkJaWYoIWN1cnJlbnRJdGVtKSB7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCgkJaWYodGhpcy5vcHRpb25zLmhhbmRsZSAmJiAhb3ZlcnJpZGVIYW5kbGUpIHsNCgkJCSQodGhpcy5vcHRpb25zLmhhbmRsZSwgY3VycmVudEl0ZW0pLmZpbmQoIioiKS5hZGRCYWNrKCkuZWFjaChmdW5jdGlvbigpIHsNCgkJCQlpZih0aGlzID09PSBldmVudC50YXJnZXQpIHsNCgkJCQkJdmFsaWRIYW5kbGUgPSB0cnVlOw0KCQkJCX0NCgkJCX0pOw0KCQkJaWYoIXZhbGlkSGFuZGxlKSB7DQoJCQkJcmV0dXJuIGZhbHNlOw0KCQkJfQ0KCQl9DQoNCgkJdGhpcy5jdXJyZW50SXRlbSA9IGN1cnJlbnRJdGVtOw0KCQl0aGlzLl9yZW1vdmVDdXJyZW50c0Zyb21JdGVtcygpOw0KCQlyZXR1cm4gdHJ1ZTsNCg0KCX0sDQoNCglfbW91c2VTdGFydDogZnVuY3Rpb24oZXZlbnQsIG92ZXJyaWRlSGFuZGxlLCBub0FjdGl2YXRpb24pIHsNCg0KCQl2YXIgaSwgYm9keSwNCgkJCW8gPSB0aGlzLm9wdGlvbnM7DQoNCgkJdGhpcy5jdXJyZW50Q29udGFpbmVyID0gdGhpczsNCg0KCQkvL1dlIG9ubHkgbmVlZCB0byBjYWxsIHJlZnJlc2hQb3NpdGlvbnMsIGJlY2F1c2UgdGhlIHJlZnJlc2hJdGVtcyBjYWxsIGhhcyBiZWVuIG1vdmVkIHRvIG1vdXNlQ2FwdHVyZQ0KCQl0aGlzLnJlZnJlc2hQb3NpdGlvbnMoKTsNCg0KCQkvL0NyZWF0ZSBhbmQgYXBwZW5kIHRoZSB2aXNpYmxlIGhlbHBlcg0KCQl0aGlzLmhlbHBlciA9IHRoaXMuX2NyZWF0ZUhlbHBlcihldmVudCk7DQoNCgkJLy9DYWNoZSB0aGUgaGVscGVyIHNpemUNCgkJdGhpcy5fY2FjaGVIZWxwZXJQcm9wb3J0aW9ucygpOw0KDQoJCS8qDQoJCSAqIC0gUG9zaXRpb24gZ2VuZXJhdGlvbiAtDQoJCSAqIFRoaXMgYmxvY2sgZ2VuZXJhdGVzIGV2ZXJ5dGhpbmcgcG9zaXRpb24gcmVsYXRlZCAtIGl0J3MgdGhlIGNvcmUgb2YgZHJhZ2dhYmxlcy4NCgkJICovDQoNCgkJLy9DYWNoZSB0aGUgbWFyZ2lucyBvZiB0aGUgb3JpZ2luYWwgZWxlbWVudA0KCQl0aGlzLl9jYWNoZU1hcmdpbnMoKTsNCg0KCQkvL0dldCB0aGUgbmV4dCBzY3JvbGxpbmcgcGFyZW50DQoJCXRoaXMuc2Nyb2xsUGFyZW50ID0gdGhpcy5oZWxwZXIuc2Nyb2xsUGFyZW50KCk7DQoNCgkJLy9UaGUgZWxlbWVudCdzIGFic29sdXRlIHBvc2l0aW9uIG9uIHRoZSBwYWdlIG1pbnVzIG1hcmdpbnMNCgkJdGhpcy5vZmZzZXQgPSB0aGlzLmN1cnJlbnRJdGVtLm9mZnNldCgpOw0KCQl0aGlzLm9mZnNldCA9IHsNCgkJCXRvcDogdGhpcy5vZmZzZXQudG9wIC0gdGhpcy5tYXJnaW5zLnRvcCwNCgkJCWxlZnQ6IHRoaXMub2Zmc2V0LmxlZnQgLSB0aGlzLm1hcmdpbnMubGVmdA0KCQl9Ow0KDQoJCSQuZXh0ZW5kKHRoaXMub2Zmc2V0LCB7DQoJCQljbGljazogeyAvL1doZXJlIHRoZSBjbGljayBoYXBwZW5lZCwgcmVsYXRpdmUgdG8gdGhlIGVsZW1lbnQNCgkJCQlsZWZ0OiBldmVudC5wYWdlWCAtIHRoaXMub2Zmc2V0LmxlZnQsDQoJCQkJdG9wOiBldmVudC5wYWdlWSAtIHRoaXMub2Zmc2V0LnRvcA0KCQkJfSwNCgkJCXBhcmVudDogdGhpcy5fZ2V0UGFyZW50T2Zmc2V0KCksDQoJCQlyZWxhdGl2ZTogdGhpcy5fZ2V0UmVsYXRpdmVPZmZzZXQoKSAvL1RoaXMgaXMgYSByZWxhdGl2ZSB0byBhYnNvbHV0ZSBwb3NpdGlvbiBtaW51cyB0aGUgYWN0dWFsIHBvc2l0aW9uIGNhbGN1bGF0aW9uIC0gb25seSB1c2VkIGZvciByZWxhdGl2ZSBwb3NpdGlvbmVkIGhlbHBlcg0KCQl9KTsNCg0KCQkvLyBPbmx5IGFmdGVyIHdlIGdvdCB0aGUgb2Zmc2V0LCB3ZSBjYW4gY2hhbmdlIHRoZSBoZWxwZXIncyBwb3NpdGlvbiB0byBhYnNvbHV0ZQ0KCQkvLyBUT0RPOiBTdGlsbCBuZWVkIHRvIGZpZ3VyZSBvdXQgYSB3YXkgdG8gbWFrZSByZWxhdGl2ZSBzb3J0aW5nIHBvc3NpYmxlDQoJCXRoaXMuaGVscGVyLmNzcygicG9zaXRpb24iLCAiYWJzb2x1dGUiKTsNCgkJdGhpcy5jc3NQb3NpdGlvbiA9IHRoaXMuaGVscGVyLmNzcygicG9zaXRpb24iKTsNCg0KCQkvL0dlbmVyYXRlIHRoZSBvcmlnaW5hbCBwb3NpdGlvbg0KCQl0aGlzLm9yaWdpbmFsUG9zaXRpb24gPSB0aGlzLl9nZW5lcmF0ZVBvc2l0aW9uKGV2ZW50KTsNCgkJdGhpcy5vcmlnaW5hbFBhZ2VYID0gZXZlbnQucGFnZVg7DQoJCXRoaXMub3JpZ2luYWxQYWdlWSA9IGV2ZW50LnBhZ2VZOw0KDQoJCS8vQWRqdXN0IHRoZSBtb3VzZSBvZmZzZXQgcmVsYXRpdmUgdG8gdGhlIGhlbHBlciBpZiAiY3Vyc29yQXQiIGlzIHN1cHBsaWVkDQoJCShvLmN1cnNvckF0ICYmIHRoaXMuX2FkanVzdE9mZnNldEZyb21IZWxwZXIoby5jdXJzb3JBdCkpOw0KDQoJCS8vQ2FjaGUgdGhlIGZvcm1lciBET00gcG9zaXRpb24NCgkJdGhpcy5kb21Qb3NpdGlvbiA9IHsgcHJldjogdGhpcy5jdXJyZW50SXRlbS5wcmV2KClbMF0sIHBhcmVudDogdGhpcy5jdXJyZW50SXRlbS5wYXJlbnQoKVswXSB9Ow0KDQoJCS8vSWYgdGhlIGhlbHBlciBpcyBub3QgdGhlIG9yaWdpbmFsLCBoaWRlIHRoZSBvcmlnaW5hbCBzbyBpdCdzIG5vdCBwbGF5aW5nIGFueSByb2xlIGR1cmluZyB0aGUgZHJhZywgd29uJ3QgY2F1c2UgYW55dGhpbmcgYmFkIHRoaXMgd2F5DQoJCWlmKHRoaXMuaGVscGVyWzBdICE9PSB0aGlzLmN1cnJlbnRJdGVtWzBdKSB7DQoJCQl0aGlzLmN1cnJlbnRJdGVtLmhpZGUoKTsNCgkJfQ0KDQoJCS8vQ3JlYXRlIHRoZSBwbGFjZWhvbGRlcg0KCQl0aGlzLl9jcmVhdGVQbGFjZWhvbGRlcigpOw0KDQoJCS8vU2V0IGEgY29udGFpbm1lbnQgaWYgZ2l2ZW4gaW4gdGhlIG9wdGlvbnMNCgkJaWYoby5jb250YWlubWVudCkgew0KCQkJdGhpcy5fc2V0Q29udGFpbm1lbnQoKTsNCgkJfQ0KDQoJCWlmKCBvLmN1cnNvciAmJiBvLmN1cnNvciAhPT0gImF1dG8iICkgeyAvLyBjdXJzb3Igb3B0aW9uDQoJCQlib2R5ID0gdGhpcy5kb2N1bWVudC5maW5kKCAiYm9keSIgKTsNCg0KCQkJLy8gc3VwcG9ydDogSUUNCgkJCXRoaXMuc3RvcmVkQ3Vyc29yID0gYm9keS5jc3MoICJjdXJzb3IiICk7DQoJCQlib2R5LmNzcyggImN1cnNvciIsIG8uY3Vyc29yICk7DQoNCgkJCXRoaXMuc3RvcmVkU3R5bGVzaGVldCA9ICQoICI8c3R5bGU+KnsgY3Vyc29yOiAiK28uY3Vyc29yKyIgIWltcG9ydGFudDsgfTwvc3R5bGU+IiApLmFwcGVuZFRvKCBib2R5ICk7DQoJCX0NCg0KCQlpZihvLm9wYWNpdHkpIHsgLy8gb3BhY2l0eSBvcHRpb24NCgkJCWlmICh0aGlzLmhlbHBlci5jc3MoIm9wYWNpdHkiKSkgew0KCQkJCXRoaXMuX3N0b3JlZE9wYWNpdHkgPSB0aGlzLmhlbHBlci5jc3MoIm9wYWNpdHkiKTsNCgkJCX0NCgkJCXRoaXMuaGVscGVyLmNzcygib3BhY2l0eSIsIG8ub3BhY2l0eSk7DQoJCX0NCg0KCQlpZihvLnpJbmRleCkgeyAvLyB6SW5kZXggb3B0aW9uDQoJCQlpZiAodGhpcy5oZWxwZXIuY3NzKCJ6SW5kZXgiKSkgew0KCQkJCXRoaXMuX3N0b3JlZFpJbmRleCA9IHRoaXMuaGVscGVyLmNzcygiekluZGV4Iik7DQoJCQl9DQoJCQl0aGlzLmhlbHBlci5jc3MoInpJbmRleCIsIG8uekluZGV4KTsNCgkJfQ0KDQoJCS8vUHJlcGFyZSBzY3JvbGxpbmcNCgkJaWYodGhpcy5zY3JvbGxQYXJlbnRbMF0gIT09IHRoaXMuZG9jdW1lbnRbMF0gJiYgdGhpcy5zY3JvbGxQYXJlbnRbMF0udGFnTmFtZSAhPT0gIkhUTUwiKSB7DQoJCQl0aGlzLm92ZXJmbG93T2Zmc2V0ID0gdGhpcy5zY3JvbGxQYXJlbnQub2Zmc2V0KCk7DQoJCX0NCg0KCQkvL0NhbGwgY2FsbGJhY2tzDQoJCXRoaXMuX3RyaWdnZXIoInN0YXJ0IiwgZXZlbnQsIHRoaXMuX3VpSGFzaCgpKTsNCg0KCQkvL1JlY2FjaGUgdGhlIGhlbHBlciBzaXplDQoJCWlmKCF0aGlzLl9wcmVzZXJ2ZUhlbHBlclByb3BvcnRpb25zKSB7DQoJCQl0aGlzLl9jYWNoZUhlbHBlclByb3BvcnRpb25zKCk7DQoJCX0NCg0KDQoJCS8vUG9zdCAiYWN0aXZhdGUiIGV2ZW50cyB0byBwb3NzaWJsZSBjb250YWluZXJzDQoJCWlmKCAhbm9BY3RpdmF0aW9uICkgew0KCQkJZm9yICggaSA9IHRoaXMuY29udGFpbmVycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSApIHsNCgkJCQl0aGlzLmNvbnRhaW5lcnNbIGkgXS5fdHJpZ2dlciggImFjdGl2YXRlIiwgZXZlbnQsIHRoaXMuX3VpSGFzaCggdGhpcyApICk7DQoJCQl9DQoJCX0NCg0KCQkvL1ByZXBhcmUgcG9zc2libGUgZHJvcHBhYmxlcw0KCQlpZigkLnVpLmRkbWFuYWdlcikgew0KCQkJJC51aS5kZG1hbmFnZXIuY3VycmVudCA9IHRoaXM7DQoJCX0NCg0KCQlpZiAoJC51aS5kZG1hbmFnZXIgJiYgIW8uZHJvcEJlaGF2aW91cikgew0KCQkJJC51aS5kZG1hbmFnZXIucHJlcGFyZU9mZnNldHModGhpcywgZXZlbnQpOw0KCQl9DQoNCgkJdGhpcy5kcmFnZ2luZyA9IHRydWU7DQoNCgkJdGhpcy5oZWxwZXIuYWRkQ2xhc3MoInVpLXNvcnRhYmxlLWhlbHBlciIpOw0KCQl0aGlzLl9tb3VzZURyYWcoZXZlbnQpOyAvL0V4ZWN1dGUgdGhlIGRyYWcgb25jZSAtIHRoaXMgY2F1c2VzIHRoZSBoZWxwZXIgbm90IHRvIGJlIHZpc2libGUgYmVmb3JlIGdldHRpbmcgaXRzIGNvcnJlY3QgcG9zaXRpb24NCgkJcmV0dXJuIHRydWU7DQoNCgl9LA0KDQoJX21vdXNlRHJhZzogZnVuY3Rpb24oZXZlbnQpIHsNCgkJdmFyIGksIGl0ZW0sIGl0ZW1FbGVtZW50LCBpbnRlcnNlY3Rpb24sDQoJCQlvID0gdGhpcy5vcHRpb25zLA0KCQkJc2Nyb2xsZWQgPSBmYWxzZTsNCg0KCQkvL0NvbXB1dGUgdGhlIGhlbHBlcnMgcG9zaXRpb24NCgkJdGhpcy5wb3NpdGlvbiA9IHRoaXMuX2dlbmVyYXRlUG9zaXRpb24oZXZlbnQpOw0KCQl0aGlzLnBvc2l0aW9uQWJzID0gdGhpcy5fY29udmVydFBvc2l0aW9uVG8oImFic29sdXRlIik7DQoNCgkJaWYgKCF0aGlzLmxhc3RQb3NpdGlvbkFicykgew0KCQkJdGhpcy5sYXN0UG9zaXRpb25BYnMgPSB0aGlzLnBvc2l0aW9uQWJzOw0KCQl9DQoNCgkJLy9EbyBzY3JvbGxpbmcNCgkJaWYodGhpcy5vcHRpb25zLnNjcm9sbCkgew0KCQkJaWYodGhpcy5zY3JvbGxQYXJlbnRbMF0gIT09IHRoaXMuZG9jdW1lbnRbMF0gJiYgdGhpcy5zY3JvbGxQYXJlbnRbMF0udGFnTmFtZSAhPT0gIkhUTUwiKSB7DQoNCgkJCQlpZigodGhpcy5vdmVyZmxvd09mZnNldC50b3AgKyB0aGlzLnNjcm9sbFBhcmVudFswXS5vZmZzZXRIZWlnaHQpIC0gZXZlbnQucGFnZVkgPCBvLnNjcm9sbFNlbnNpdGl2aXR5KSB7DQoJCQkJCXRoaXMuc2Nyb2xsUGFyZW50WzBdLnNjcm9sbFRvcCA9IHNjcm9sbGVkID0gdGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wICsgby5zY3JvbGxTcGVlZDsNCgkJCQl9IGVsc2UgaWYoZXZlbnQucGFnZVkgLSB0aGlzLm92ZXJmbG93T2Zmc2V0LnRvcCA8IG8uc2Nyb2xsU2Vuc2l0aXZpdHkpIHsNCgkJCQkJdGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wID0gc2Nyb2xsZWQgPSB0aGlzLnNjcm9sbFBhcmVudFswXS5zY3JvbGxUb3AgLSBvLnNjcm9sbFNwZWVkOw0KCQkJCX0NCg0KCQkJCWlmKCh0aGlzLm92ZXJmbG93T2Zmc2V0LmxlZnQgKyB0aGlzLnNjcm9sbFBhcmVudFswXS5vZmZzZXRXaWR0aCkgLSBldmVudC5wYWdlWCA8IG8uc2Nyb2xsU2Vuc2l0aXZpdHkpIHsNCgkJCQkJdGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsTGVmdCA9IHNjcm9sbGVkID0gdGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsTGVmdCArIG8uc2Nyb2xsU3BlZWQ7DQoJCQkJfSBlbHNlIGlmKGV2ZW50LnBhZ2VYIC0gdGhpcy5vdmVyZmxvd09mZnNldC5sZWZ0IDwgby5zY3JvbGxTZW5zaXRpdml0eSkgew0KCQkJCQl0aGlzLnNjcm9sbFBhcmVudFswXS5zY3JvbGxMZWZ0ID0gc2Nyb2xsZWQgPSB0aGlzLnNjcm9sbFBhcmVudFswXS5zY3JvbGxMZWZ0IC0gby5zY3JvbGxTcGVlZDsNCgkJCQl9DQoNCgkJCX0gZWxzZSB7DQoNCgkJCQlpZihldmVudC5wYWdlWSAtIHRoaXMuZG9jdW1lbnQuc2Nyb2xsVG9wKCkgPCBvLnNjcm9sbFNlbnNpdGl2aXR5KSB7DQoJCQkJCXNjcm9sbGVkID0gdGhpcy5kb2N1bWVudC5zY3JvbGxUb3AodGhpcy5kb2N1bWVudC5zY3JvbGxUb3AoKSAtIG8uc2Nyb2xsU3BlZWQpOw0KCQkJCX0gZWxzZSBpZih0aGlzLndpbmRvdy5oZWlnaHQoKSAtIChldmVudC5wYWdlWSAtIHRoaXMuZG9jdW1lbnQuc2Nyb2xsVG9wKCkpIDwgby5zY3JvbGxTZW5zaXRpdml0eSkgew0KCQkJCQlzY3JvbGxlZCA9IHRoaXMuZG9jdW1lbnQuc2Nyb2xsVG9wKHRoaXMuZG9jdW1lbnQuc2Nyb2xsVG9wKCkgKyBvLnNjcm9sbFNwZWVkKTsNCgkJCQl9DQoNCgkJCQlpZihldmVudC5wYWdlWCAtIHRoaXMuZG9jdW1lbnQuc2Nyb2xsTGVmdCgpIDwgby5zY3JvbGxTZW5zaXRpdml0eSkgew0KCQkJCQlzY3JvbGxlZCA9IHRoaXMuZG9jdW1lbnQuc2Nyb2xsTGVmdCh0aGlzLmRvY3VtZW50LnNjcm9sbExlZnQoKSAtIG8uc2Nyb2xsU3BlZWQpOw0KCQkJCX0gZWxzZSBpZih0aGlzLndpbmRvdy53aWR0aCgpIC0gKGV2ZW50LnBhZ2VYIC0gdGhpcy5kb2N1bWVudC5zY3JvbGxMZWZ0KCkpIDwgby5zY3JvbGxTZW5zaXRpdml0eSkgew0KCQkJCQlzY3JvbGxlZCA9IHRoaXMuZG9jdW1lbnQuc2Nyb2xsTGVmdCh0aGlzLmRvY3VtZW50LnNjcm9sbExlZnQoKSArIG8uc2Nyb2xsU3BlZWQpOw0KCQkJCX0NCg0KCQkJfQ0KDQoJCQlpZihzY3JvbGxlZCAhPT0gZmFsc2UgJiYgJC51aS5kZG1hbmFnZXIgJiYgIW8uZHJvcEJlaGF2aW91cikgew0KCQkJCSQudWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKHRoaXMsIGV2ZW50KTsNCgkJCX0NCgkJfQ0KDQoJCS8vUmVnZW5lcmF0ZSB0aGUgYWJzb2x1dGUgcG9zaXRpb24gdXNlZCBmb3IgcG9zaXRpb24gY2hlY2tzDQoJCXRoaXMucG9zaXRpb25BYnMgPSB0aGlzLl9jb252ZXJ0UG9zaXRpb25UbygiYWJzb2x1dGUiKTsNCg0KCQkvL1NldCB0aGUgaGVscGVyIHBvc2l0aW9uDQoJCWlmKCF0aGlzLm9wdGlvbnMuYXhpcyB8fCB0aGlzLm9wdGlvbnMuYXhpcyAhPT0gInkiKSB7DQoJCQl0aGlzLmhlbHBlclswXS5zdHlsZS5sZWZ0ID0gdGhpcy5wb3NpdGlvbi5sZWZ0KyJweCI7DQoJCX0NCgkJaWYoIXRoaXMub3B0aW9ucy5heGlzIHx8IHRoaXMub3B0aW9ucy5heGlzICE9PSAieCIpIHsNCgkJCXRoaXMuaGVscGVyWzBdLnN0eWxlLnRvcCA9IHRoaXMucG9zaXRpb24udG9wKyJweCI7DQoJCX0NCg0KCQkvL1JlYXJyYW5nZQ0KCQlmb3IgKGkgPSB0aGlzLml0ZW1zLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7DQoNCgkJCS8vQ2FjaGUgdmFyaWFibGVzIGFuZCBpbnRlcnNlY3Rpb24sIGNvbnRpbnVlIGlmIG5vIGludGVyc2VjdGlvbg0KCQkJaXRlbSA9IHRoaXMuaXRlbXNbaV07DQoJCQlpdGVtRWxlbWVudCA9IGl0ZW0uaXRlbVswXTsNCgkJCWludGVyc2VjdGlvbiA9IHRoaXMuX2ludGVyc2VjdHNXaXRoUG9pbnRlcihpdGVtKTsNCgkJCWlmICghaW50ZXJzZWN0aW9uKSB7DQoJCQkJY29udGludWU7DQoJCQl9DQoNCgkJCS8vIE9ubHkgcHV0IHRoZSBwbGFjZWhvbGRlciBpbnNpZGUgdGhlIGN1cnJlbnQgQ29udGFpbmVyLCBza2lwIGFsbA0KCQkJLy8gaXRlbXMgZnJvbSBvdGhlciBjb250YWluZXJzLiBUaGlzIHdvcmtzIGJlY2F1c2Ugd2hlbiBtb3ZpbmcNCgkJCS8vIGFuIGl0ZW0gZnJvbSBvbmUgY29udGFpbmVyIHRvIGFub3RoZXIgdGhlDQoJCQkvLyBjdXJyZW50Q29udGFpbmVyIGlzIHN3aXRjaGVkIGJlZm9yZSB0aGUgcGxhY2Vob2xkZXIgaXMgbW92ZWQuDQoJCQkvLw0KCQkJLy8gV2l0aG91dCB0aGlzLCBtb3ZpbmcgaXRlbXMgaW4gInN1Yi1zb3J0YWJsZXMiIGNhbiBjYXVzZQ0KCQkJLy8gdGhlIHBsYWNlaG9sZGVyIHRvIGppdHRlciBiZXR3ZWVuIHRoZSBvdXRlciBhbmQgaW5uZXIgY29udGFpbmVyLg0KCQkJaWYgKGl0ZW0uaW5zdGFuY2UgIT09IHRoaXMuY3VycmVudENvbnRhaW5lcikgew0KCQkJCWNvbnRpbnVlOw0KCQkJfQ0KDQoJCQkvLyBjYW5ub3QgaW50ZXJzZWN0IHdpdGggaXRzZWxmDQoJCQkvLyBubyB1c2VsZXNzIGFjdGlvbnMgdGhhdCBoYXZlIGJlZW4gZG9uZSBiZWZvcmUNCgkJCS8vIG5vIGFjdGlvbiBpZiB0aGUgaXRlbSBtb3ZlZCBpcyB0aGUgcGFyZW50IG9mIHRoZSBpdGVtIGNoZWNrZWQNCgkJCWlmIChpdGVtRWxlbWVudCAhPT0gdGhpcy5jdXJyZW50SXRlbVswXSAmJg0KCQkJCXRoaXMucGxhY2Vob2xkZXJbaW50ZXJzZWN0aW9uID09PSAxID8gIm5leHQiIDogInByZXYiXSgpWzBdICE9PSBpdGVtRWxlbWVudCAmJg0KCQkJCSEkLmNvbnRhaW5zKHRoaXMucGxhY2Vob2xkZXJbMF0sIGl0ZW1FbGVtZW50KSAmJg0KCQkJCSh0aGlzLm9wdGlvbnMudHlwZSA9PT0gInNlbWktZHluYW1pYyIgPyAhJC5jb250YWlucyh0aGlzLmVsZW1lbnRbMF0sIGl0ZW1FbGVtZW50KSA6IHRydWUpDQoJCQkpIHsNCg0KCQkJCXRoaXMuZGlyZWN0aW9uID0gaW50ZXJzZWN0aW9uID09PSAxID8gImRvd24iIDogInVwIjsNCg0KCQkJCWlmICh0aGlzLm9wdGlvbnMudG9sZXJhbmNlID09PSAicG9pbnRlciIgfHwgdGhpcy5faW50ZXJzZWN0c1dpdGhTaWRlcyhpdGVtKSkgew0KCQkJCQl0aGlzLl9yZWFycmFuZ2UoZXZlbnQsIGl0ZW0pOw0KCQkJCX0gZWxzZSB7DQoJCQkJCWJyZWFrOw0KCQkJCX0NCg0KCQkJCXRoaXMuX3RyaWdnZXIoImNoYW5nZSIsIGV2ZW50LCB0aGlzLl91aUhhc2goKSk7DQoJCQkJYnJlYWs7DQoJCQl9DQoJCX0NCg0KCQkvL1Bvc3QgZXZlbnRzIHRvIGNvbnRhaW5lcnMNCgkJdGhpcy5fY29udGFjdENvbnRhaW5lcnMoZXZlbnQpOw0KDQoJCS8vSW50ZXJjb25uZWN0IHdpdGggZHJvcHBhYmxlcw0KCQlpZigkLnVpLmRkbWFuYWdlcikgew0KCQkJJC51aS5kZG1hbmFnZXIuZHJhZyh0aGlzLCBldmVudCk7DQoJCX0NCg0KCQkvL0NhbGwgY2FsbGJhY2tzDQoJCXRoaXMuX3RyaWdnZXIoInNvcnQiLCBldmVudCwgdGhpcy5fdWlIYXNoKCkpOw0KDQoJCXRoaXMubGFzdFBvc2l0aW9uQWJzID0gdGhpcy5wb3NpdGlvbkFiczsNCgkJcmV0dXJuIGZhbHNlOw0KDQoJfSwNCg0KCV9tb3VzZVN0b3A6IGZ1bmN0aW9uKGV2ZW50LCBub1Byb3BhZ2F0aW9uKSB7DQoNCgkJaWYoIWV2ZW50KSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQkvL0lmIHdlIGFyZSB1c2luZyBkcm9wcGFibGVzLCBpbmZvcm0gdGhlIG1hbmFnZXIgYWJvdXQgdGhlIGRyb3ANCgkJaWYgKCQudWkuZGRtYW5hZ2VyICYmICF0aGlzLm9wdGlvbnMuZHJvcEJlaGF2aW91cikgew0KCQkJJC51aS5kZG1hbmFnZXIuZHJvcCh0aGlzLCBldmVudCk7DQoJCX0NCg0KCQlpZih0aGlzLm9wdGlvbnMucmV2ZXJ0KSB7DQoJCQl2YXIgdGhhdCA9IHRoaXMsDQoJCQkJY3VyID0gdGhpcy5wbGFjZWhvbGRlci5vZmZzZXQoKSwNCgkJCQlheGlzID0gdGhpcy5vcHRpb25zLmF4aXMsDQoJCQkJYW5pbWF0aW9uID0ge307DQoNCgkJCWlmICggIWF4aXMgfHwgYXhpcyA9PT0gIngiICkgew0KCQkJCWFuaW1hdGlvbi5sZWZ0ID0gY3VyLmxlZnQgLSB0aGlzLm9mZnNldC5wYXJlbnQubGVmdCAtIHRoaXMubWFyZ2lucy5sZWZ0ICsgKHRoaXMub2Zmc2V0UGFyZW50WzBdID09PSB0aGlzLmRvY3VtZW50WzBdLmJvZHkgPyAwIDogdGhpcy5vZmZzZXRQYXJlbnRbMF0uc2Nyb2xsTGVmdCk7DQoJCQl9DQoJCQlpZiAoICFheGlzIHx8IGF4aXMgPT09ICJ5IiApIHsNCgkJCQlhbmltYXRpb24udG9wID0gY3VyLnRvcCAtIHRoaXMub2Zmc2V0LnBhcmVudC50b3AgLSB0aGlzLm1hcmdpbnMudG9wICsgKHRoaXMub2Zmc2V0UGFyZW50WzBdID09PSB0aGlzLmRvY3VtZW50WzBdLmJvZHkgPyAwIDogdGhpcy5vZmZzZXRQYXJlbnRbMF0uc2Nyb2xsVG9wKTsNCgkJCX0NCgkJCXRoaXMucmV2ZXJ0aW5nID0gdHJ1ZTsNCgkJCSQodGhpcy5oZWxwZXIpLmFuaW1hdGUoIGFuaW1hdGlvbiwgcGFyc2VJbnQodGhpcy5vcHRpb25zLnJldmVydCwgMTApIHx8IDUwMCwgZnVuY3Rpb24oKSB7DQoJCQkJdGhhdC5fY2xlYXIoZXZlbnQpOw0KCQkJfSk7DQoJCX0gZWxzZSB7DQoJCQl0aGlzLl9jbGVhcihldmVudCwgbm9Qcm9wYWdhdGlvbik7DQoJCX0NCg0KCQlyZXR1cm4gZmFsc2U7DQoNCgl9LA0KDQoJY2FuY2VsOiBmdW5jdGlvbigpIHsNCg0KCQlpZih0aGlzLmRyYWdnaW5nKSB7DQoNCgkJCXRoaXMuX21vdXNlVXAoeyB0YXJnZXQ6IG51bGwgfSk7DQoNCgkJCWlmKHRoaXMub3B0aW9ucy5oZWxwZXIgPT09ICJvcmlnaW5hbCIpIHsNCgkJCQl0aGlzLmN1cnJlbnRJdGVtLmNzcyh0aGlzLl9zdG9yZWRDU1MpLnJlbW92ZUNsYXNzKCJ1aS1zb3J0YWJsZS1oZWxwZXIiKTsNCgkJCX0gZWxzZSB7DQoJCQkJdGhpcy5jdXJyZW50SXRlbS5zaG93KCk7DQoJCQl9DQoNCgkJCS8vUG9zdCBkZWFjdGl2YXRpbmcgZXZlbnRzIHRvIGNvbnRhaW5lcnMNCgkJCWZvciAodmFyIGkgPSB0aGlzLmNvbnRhaW5lcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pew0KCQkJCXRoaXMuY29udGFpbmVyc1tpXS5fdHJpZ2dlcigiZGVhY3RpdmF0ZSIsIG51bGwsIHRoaXMuX3VpSGFzaCh0aGlzKSk7DQoJCQkJaWYodGhpcy5jb250YWluZXJzW2ldLmNvbnRhaW5lckNhY2hlLm92ZXIpIHsNCgkJCQkJdGhpcy5jb250YWluZXJzW2ldLl90cmlnZ2VyKCJvdXQiLCBudWxsLCB0aGlzLl91aUhhc2godGhpcykpOw0KCQkJCQl0aGlzLmNvbnRhaW5lcnNbaV0uY29udGFpbmVyQ2FjaGUub3ZlciA9IDA7DQoJCQkJfQ0KCQkJfQ0KDQoJCX0NCg0KCQlpZiAodGhpcy5wbGFjZWhvbGRlcikgew0KCQkJLy8kKHRoaXMucGxhY2Vob2xkZXJbMF0pLnJlbW92ZSgpOyB3b3VsZCBoYXZlIGJlZW4gdGhlIGpRdWVyeSB3YXkgLSB1bmZvcnR1bmF0ZWx5LCBpdCB1bmJpbmRzIEFMTCBldmVudHMgZnJvbSB0aGUgb3JpZ2luYWwgbm9kZSENCgkJCWlmKHRoaXMucGxhY2Vob2xkZXJbMF0ucGFyZW50Tm9kZSkgew0KCQkJCXRoaXMucGxhY2Vob2xkZXJbMF0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLnBsYWNlaG9sZGVyWzBdKTsNCgkJCX0NCgkJCWlmKHRoaXMub3B0aW9ucy5oZWxwZXIgIT09ICJvcmlnaW5hbCIgJiYgdGhpcy5oZWxwZXIgJiYgdGhpcy5oZWxwZXJbMF0ucGFyZW50Tm9kZSkgew0KCQkJCXRoaXMuaGVscGVyLnJlbW92ZSgpOw0KCQkJfQ0KDQoJCQkkLmV4dGVuZCh0aGlzLCB7DQoJCQkJaGVscGVyOiBudWxsLA0KCQkJCWRyYWdnaW5nOiBmYWxzZSwNCgkJCQlyZXZlcnRpbmc6IGZhbHNlLA0KCQkJCV9ub0ZpbmFsU29ydDogbnVsbA0KCQkJfSk7DQoNCgkJCWlmKHRoaXMuZG9tUG9zaXRpb24ucHJldikgew0KCQkJCSQodGhpcy5kb21Qb3NpdGlvbi5wcmV2KS5hZnRlcih0aGlzLmN1cnJlbnRJdGVtKTsNCgkJCX0gZWxzZSB7DQoJCQkJJCh0aGlzLmRvbVBvc2l0aW9uLnBhcmVudCkucHJlcGVuZCh0aGlzLmN1cnJlbnRJdGVtKTsNCgkJCX0NCgkJfQ0KDQoJCXJldHVybiB0aGlzOw0KDQoJfSwNCg0KCXNlcmlhbGl6ZTogZnVuY3Rpb24obykgew0KDQoJCXZhciBpdGVtcyA9IHRoaXMuX2dldEl0ZW1zQXNqUXVlcnkobyAmJiBvLmNvbm5lY3RlZCksDQoJCQlzdHIgPSBbXTsNCgkJbyA9IG8gfHwge307DQoNCgkJJChpdGVtcykuZWFjaChmdW5jdGlvbigpIHsNCgkJCXZhciByZXMgPSAoJChvLml0ZW0gfHwgdGhpcykuYXR0cihvLmF0dHJpYnV0ZSB8fCAiaWQiKSB8fCAiIikubWF0Y2goby5leHByZXNzaW9uIHx8ICgvKC4rKVtcLT1fXSguKykvKSk7DQoJCQlpZiAocmVzKSB7DQoJCQkJc3RyLnB1c2goKG8ua2V5IHx8IHJlc1sxXSsiW10iKSsiPSIrKG8ua2V5ICYmIG8uZXhwcmVzc2lvbiA/IHJlc1sxXSA6IHJlc1syXSkpOw0KCQkJfQ0KCQl9KTsNCg0KCQlpZighc3RyLmxlbmd0aCAmJiBvLmtleSkgew0KCQkJc3RyLnB1c2goby5rZXkgKyAiPSIpOw0KCQl9DQoNCgkJcmV0dXJuIHN0ci5qb2luKCImIik7DQoNCgl9LA0KDQoJdG9BcnJheTogZnVuY3Rpb24obykgew0KDQoJCXZhciBpdGVtcyA9IHRoaXMuX2dldEl0ZW1zQXNqUXVlcnkobyAmJiBvLmNvbm5lY3RlZCksDQoJCQlyZXQgPSBbXTsNCg0KCQlvID0gbyB8fCB7fTsNCg0KCQlpdGVtcy5lYWNoKGZ1bmN0aW9uKCkgeyByZXQucHVzaCgkKG8uaXRlbSB8fCB0aGlzKS5hdHRyKG8uYXR0cmlidXRlIHx8ICJpZCIpIHx8ICIiKTsgfSk7DQoJCXJldHVybiByZXQ7DQoNCgl9LA0KDQoJLyogQmUgY2FyZWZ1bCB3aXRoIHRoZSBmb2xsb3dpbmcgY29yZSBmdW5jdGlvbnMgKi8NCglfaW50ZXJzZWN0c1dpdGg6IGZ1bmN0aW9uKGl0ZW0pIHsNCg0KCQl2YXIgeDEgPSB0aGlzLnBvc2l0aW9uQWJzLmxlZnQsDQoJCQl4MiA9IHgxICsgdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aCwNCgkJCXkxID0gdGhpcy5wb3NpdGlvbkFicy50b3AsDQoJCQl5MiA9IHkxICsgdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQsDQoJCQlsID0gaXRlbS5sZWZ0LA0KCQkJciA9IGwgKyBpdGVtLndpZHRoLA0KCQkJdCA9IGl0ZW0udG9wLA0KCQkJYiA9IHQgKyBpdGVtLmhlaWdodCwNCgkJCWR5Q2xpY2sgPSB0aGlzLm9mZnNldC5jbGljay50b3AsDQoJCQlkeENsaWNrID0gdGhpcy5vZmZzZXQuY2xpY2subGVmdCwNCgkJCWlzT3ZlckVsZW1lbnRIZWlnaHQgPSAoIHRoaXMub3B0aW9ucy5heGlzID09PSAieCIgKSB8fCAoICggeTEgKyBkeUNsaWNrICkgPiB0ICYmICggeTEgKyBkeUNsaWNrICkgPCBiICksDQoJCQlpc092ZXJFbGVtZW50V2lkdGggPSAoIHRoaXMub3B0aW9ucy5heGlzID09PSAieSIgKSB8fCAoICggeDEgKyBkeENsaWNrICkgPiBsICYmICggeDEgKyBkeENsaWNrICkgPCByICksDQoJCQlpc092ZXJFbGVtZW50ID0gaXNPdmVyRWxlbWVudEhlaWdodCAmJiBpc092ZXJFbGVtZW50V2lkdGg7DQoNCgkJaWYgKCB0aGlzLm9wdGlvbnMudG9sZXJhbmNlID09PSAicG9pbnRlciIgfHwNCgkJCXRoaXMub3B0aW9ucy5mb3JjZVBvaW50ZXJGb3JDb250YWluZXJzIHx8DQoJCQkodGhpcy5vcHRpb25zLnRvbGVyYW5jZSAhPT0gInBvaW50ZXIiICYmIHRoaXMuaGVscGVyUHJvcG9ydGlvbnNbdGhpcy5mbG9hdGluZyA/ICJ3aWR0aCIgOiAiaGVpZ2h0Il0gPiBpdGVtW3RoaXMuZmxvYXRpbmcgPyAid2lkdGgiIDogImhlaWdodCJdKQ0KCQkpIHsNCgkJCXJldHVybiBpc092ZXJFbGVtZW50Ow0KCQl9IGVsc2Ugew0KDQoJCQlyZXR1cm4gKGwgPCB4MSArICh0aGlzLmhlbHBlclByb3BvcnRpb25zLndpZHRoIC8gMikgJiYgLy8gUmlnaHQgSGFsZg0KCQkJCXgyIC0gKHRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGggLyAyKSA8IHIgJiYgLy8gTGVmdCBIYWxmDQoJCQkJdCA8IHkxICsgKHRoaXMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0IC8gMikgJiYgLy8gQm90dG9tIEhhbGYNCgkJCQl5MiAtICh0aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodCAvIDIpIDwgYiApOyAvLyBUb3AgSGFsZg0KDQoJCX0NCgl9LA0KDQoJX2ludGVyc2VjdHNXaXRoUG9pbnRlcjogZnVuY3Rpb24oaXRlbSkgew0KDQoJCXZhciBpc092ZXJFbGVtZW50SGVpZ2h0ID0gKHRoaXMub3B0aW9ucy5heGlzID09PSAieCIpIHx8IHRoaXMuX2lzT3ZlckF4aXModGhpcy5wb3NpdGlvbkFicy50b3AgKyB0aGlzLm9mZnNldC5jbGljay50b3AsIGl0ZW0udG9wLCBpdGVtLmhlaWdodCksDQoJCQlpc092ZXJFbGVtZW50V2lkdGggPSAodGhpcy5vcHRpb25zLmF4aXMgPT09ICJ5IikgfHwgdGhpcy5faXNPdmVyQXhpcyh0aGlzLnBvc2l0aW9uQWJzLmxlZnQgKyB0aGlzLm9mZnNldC5jbGljay5sZWZ0LCBpdGVtLmxlZnQsIGl0ZW0ud2lkdGgpLA0KCQkJaXNPdmVyRWxlbWVudCA9IGlzT3ZlckVsZW1lbnRIZWlnaHQgJiYgaXNPdmVyRWxlbWVudFdpZHRoLA0KCQkJdmVydGljYWxEaXJlY3Rpb24gPSB0aGlzLl9nZXREcmFnVmVydGljYWxEaXJlY3Rpb24oKSwNCgkJCWhvcml6b250YWxEaXJlY3Rpb24gPSB0aGlzLl9nZXREcmFnSG9yaXpvbnRhbERpcmVjdGlvbigpOw0KDQoJCWlmICghaXNPdmVyRWxlbWVudCkgew0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoNCgkJcmV0dXJuIHRoaXMuZmxvYXRpbmcgPw0KCQkJKCAoKGhvcml6b250YWxEaXJlY3Rpb24gJiYgaG9yaXpvbnRhbERpcmVjdGlvbiA9PT0gInJpZ2h0IikgfHwgdmVydGljYWxEaXJlY3Rpb24gPT09ICJkb3duIikgPyAyIDogMSApDQoJCQk6ICggdmVydGljYWxEaXJlY3Rpb24gJiYgKHZlcnRpY2FsRGlyZWN0aW9uID09PSAiZG93biIgPyAyIDogMSkgKTsNCg0KCX0sDQoNCglfaW50ZXJzZWN0c1dpdGhTaWRlczogZnVuY3Rpb24oaXRlbSkgew0KDQoJCXZhciBpc092ZXJCb3R0b21IYWxmID0gdGhpcy5faXNPdmVyQXhpcyh0aGlzLnBvc2l0aW9uQWJzLnRvcCArIHRoaXMub2Zmc2V0LmNsaWNrLnRvcCwgaXRlbS50b3AgKyAoaXRlbS5oZWlnaHQvMiksIGl0ZW0uaGVpZ2h0KSwNCgkJCWlzT3ZlclJpZ2h0SGFsZiA9IHRoaXMuX2lzT3ZlckF4aXModGhpcy5wb3NpdGlvbkFicy5sZWZ0ICsgdGhpcy5vZmZzZXQuY2xpY2subGVmdCwgaXRlbS5sZWZ0ICsgKGl0ZW0ud2lkdGgvMiksIGl0ZW0ud2lkdGgpLA0KCQkJdmVydGljYWxEaXJlY3Rpb24gPSB0aGlzLl9nZXREcmFnVmVydGljYWxEaXJlY3Rpb24oKSwNCgkJCWhvcml6b250YWxEaXJlY3Rpb24gPSB0aGlzLl9nZXREcmFnSG9yaXpvbnRhbERpcmVjdGlvbigpOw0KDQoJCWlmICh0aGlzLmZsb2F0aW5nICYmIGhvcml6b250YWxEaXJlY3Rpb24pIHsNCgkJCXJldHVybiAoKGhvcml6b250YWxEaXJlY3Rpb24gPT09ICJyaWdodCIgJiYgaXNPdmVyUmlnaHRIYWxmKSB8fCAoaG9yaXpvbnRhbERpcmVjdGlvbiA9PT0gImxlZnQiICYmICFpc092ZXJSaWdodEhhbGYpKTsNCgkJfSBlbHNlIHsNCgkJCXJldHVybiB2ZXJ0aWNhbERpcmVjdGlvbiAmJiAoKHZlcnRpY2FsRGlyZWN0aW9uID09PSAiZG93biIgJiYgaXNPdmVyQm90dG9tSGFsZikgfHwgKHZlcnRpY2FsRGlyZWN0aW9uID09PSAidXAiICYmICFpc092ZXJCb3R0b21IYWxmKSk7DQoJCX0NCg0KCX0sDQoNCglfZ2V0RHJhZ1ZlcnRpY2FsRGlyZWN0aW9uOiBmdW5jdGlvbigpIHsNCgkJdmFyIGRlbHRhID0gdGhpcy5wb3NpdGlvbkFicy50b3AgLSB0aGlzLmxhc3RQb3NpdGlvbkFicy50b3A7DQoJCXJldHVybiBkZWx0YSAhPT0gMCAmJiAoZGVsdGEgPiAwID8gImRvd24iIDogInVwIik7DQoJfSwNCg0KCV9nZXREcmFnSG9yaXpvbnRhbERpcmVjdGlvbjogZnVuY3Rpb24oKSB7DQoJCXZhciBkZWx0YSA9IHRoaXMucG9zaXRpb25BYnMubGVmdCAtIHRoaXMubGFzdFBvc2l0aW9uQWJzLmxlZnQ7DQoJCXJldHVybiBkZWx0YSAhPT0gMCAmJiAoZGVsdGEgPiAwID8gInJpZ2h0IiA6ICJsZWZ0Iik7DQoJfSwNCg0KCXJlZnJlc2g6IGZ1bmN0aW9uKGV2ZW50KSB7DQoJCXRoaXMuX3JlZnJlc2hJdGVtcyhldmVudCk7DQoJCXRoaXMuX3NldEhhbmRsZUNsYXNzTmFtZSgpOw0KCQl0aGlzLnJlZnJlc2hQb3NpdGlvbnMoKTsNCgkJcmV0dXJuIHRoaXM7DQoJfSwNCg0KCV9jb25uZWN0V2l0aDogZnVuY3Rpb24oKSB7DQoJCXZhciBvcHRpb25zID0gdGhpcy5vcHRpb25zOw0KCQlyZXR1cm4gb3B0aW9ucy5jb25uZWN0V2l0aC5jb25zdHJ1Y3RvciA9PT0gU3RyaW5nID8gW29wdGlvbnMuY29ubmVjdFdpdGhdIDogb3B0aW9ucy5jb25uZWN0V2l0aDsNCgl9LA0KDQoJX2dldEl0ZW1zQXNqUXVlcnk6IGZ1bmN0aW9uKGNvbm5lY3RlZCkgew0KDQoJCXZhciBpLCBqLCBjdXIsIGluc3QsDQoJCQlpdGVtcyA9IFtdLA0KCQkJcXVlcmllcyA9IFtdLA0KCQkJY29ubmVjdFdpdGggPSB0aGlzLl9jb25uZWN0V2l0aCgpOw0KDQoJCWlmKGNvbm5lY3RXaXRoICYmIGNvbm5lY3RlZCkgew0KCQkJZm9yIChpID0gY29ubmVjdFdpdGgubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pew0KCQkJCWN1ciA9ICQoY29ubmVjdFdpdGhbaV0sIHRoaXMuZG9jdW1lbnRbMF0pOw0KCQkJCWZvciAoIGogPSBjdXIubGVuZ3RoIC0gMTsgaiA+PSAwOyBqLS0pew0KCQkJCQlpbnN0ID0gJC5kYXRhKGN1cltqXSwgdGhpcy53aWRnZXRGdWxsTmFtZSk7DQoJCQkJCWlmKGluc3QgJiYgaW5zdCAhPT0gdGhpcyAmJiAhaW5zdC5vcHRpb25zLmRpc2FibGVkKSB7DQoJCQkJCQlxdWVyaWVzLnB1c2goWyQuaXNGdW5jdGlvbihpbnN0Lm9wdGlvbnMuaXRlbXMpID8gaW5zdC5vcHRpb25zLml0ZW1zLmNhbGwoaW5zdC5lbGVtZW50KSA6ICQoaW5zdC5vcHRpb25zLml0ZW1zLCBpbnN0LmVsZW1lbnQpLm5vdCgiLnVpLXNvcnRhYmxlLWhlbHBlciIpLm5vdCgiLnVpLXNvcnRhYmxlLXBsYWNlaG9sZGVyIiksIGluc3RdKTsNCgkJCQkJfQ0KCQkJCX0NCgkJCX0NCgkJfQ0KDQoJCXF1ZXJpZXMucHVzaChbJC5pc0Z1bmN0aW9uKHRoaXMub3B0aW9ucy5pdGVtcykgPyB0aGlzLm9wdGlvbnMuaXRlbXMuY2FsbCh0aGlzLmVsZW1lbnQsIG51bGwsIHsgb3B0aW9uczogdGhpcy5vcHRpb25zLCBpdGVtOiB0aGlzLmN1cnJlbnRJdGVtIH0pIDogJCh0aGlzLm9wdGlvbnMuaXRlbXMsIHRoaXMuZWxlbWVudCkubm90KCIudWktc29ydGFibGUtaGVscGVyIikubm90KCIudWktc29ydGFibGUtcGxhY2Vob2xkZXIiKSwgdGhpc10pOw0KDQoJCWZ1bmN0aW9uIGFkZEl0ZW1zKCkgew0KCQkJaXRlbXMucHVzaCggdGhpcyApOw0KCQl9DQoJCWZvciAoaSA9IHF1ZXJpZXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pew0KCQkJcXVlcmllc1tpXVswXS5lYWNoKCBhZGRJdGVtcyApOw0KCQl9DQoNCgkJcmV0dXJuICQoaXRlbXMpOw0KDQoJfSwNCg0KCV9yZW1vdmVDdXJyZW50c0Zyb21JdGVtczogZnVuY3Rpb24oKSB7DQoNCgkJdmFyIGxpc3QgPSB0aGlzLmN1cnJlbnRJdGVtLmZpbmQoIjpkYXRhKCIgKyB0aGlzLndpZGdldE5hbWUgKyAiLWl0ZW0pIik7DQoNCgkJdGhpcy5pdGVtcyA9ICQuZ3JlcCh0aGlzLml0ZW1zLCBmdW5jdGlvbiAoaXRlbSkgew0KCQkJZm9yICh2YXIgaj0wOyBqIDwgbGlzdC5sZW5ndGg7IGorKykgew0KCQkJCWlmKGxpc3Rbal0gPT09IGl0ZW0uaXRlbVswXSkgew0KCQkJCQlyZXR1cm4gZmFsc2U7DQoJCQkJfQ0KCQkJfQ0KCQkJcmV0dXJuIHRydWU7DQoJCX0pOw0KDQoJfSwNCg0KCV9yZWZyZXNoSXRlbXM6IGZ1bmN0aW9uKGV2ZW50KSB7DQoNCgkJdGhpcy5pdGVtcyA9IFtdOw0KCQl0aGlzLmNvbnRhaW5lcnMgPSBbdGhpc107DQoNCgkJdmFyIGksIGosIGN1ciwgaW5zdCwgdGFyZ2V0RGF0YSwgX3F1ZXJpZXMsIGl0ZW0sIHF1ZXJpZXNMZW5ndGgsDQoJCQlpdGVtcyA9IHRoaXMuaXRlbXMsDQoJCQlxdWVyaWVzID0gW1skLmlzRnVuY3Rpb24odGhpcy5vcHRpb25zLml0ZW1zKSA/IHRoaXMub3B0aW9ucy5pdGVtcy5jYWxsKHRoaXMuZWxlbWVudFswXSwgZXZlbnQsIHsgaXRlbTogdGhpcy5jdXJyZW50SXRlbSB9KSA6ICQodGhpcy5vcHRpb25zLml0ZW1zLCB0aGlzLmVsZW1lbnQpLCB0aGlzXV0sDQoJCQljb25uZWN0V2l0aCA9IHRoaXMuX2Nvbm5lY3RXaXRoKCk7DQoNCgkJaWYoY29ubmVjdFdpdGggJiYgdGhpcy5yZWFkeSkgeyAvL1Nob3VsZG4ndCBiZSBydW4gdGhlIGZpcnN0IHRpbWUgdGhyb3VnaCBkdWUgdG8gbWFzc2l2ZSBzbG93LWRvd24NCgkJCWZvciAoaSA9IGNvbm5lY3RXaXRoLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKXsNCgkJCQljdXIgPSAkKGNvbm5lY3RXaXRoW2ldLCB0aGlzLmRvY3VtZW50WzBdKTsNCgkJCQlmb3IgKGogPSBjdXIubGVuZ3RoIC0gMTsgaiA+PSAwOyBqLS0pew0KCQkJCQlpbnN0ID0gJC5kYXRhKGN1cltqXSwgdGhpcy53aWRnZXRGdWxsTmFtZSk7DQoJCQkJCWlmKGluc3QgJiYgaW5zdCAhPT0gdGhpcyAmJiAhaW5zdC5vcHRpb25zLmRpc2FibGVkKSB7DQoJCQkJCQlxdWVyaWVzLnB1c2goWyQuaXNGdW5jdGlvbihpbnN0Lm9wdGlvbnMuaXRlbXMpID8gaW5zdC5vcHRpb25zLml0ZW1zLmNhbGwoaW5zdC5lbGVtZW50WzBdLCBldmVudCwgeyBpdGVtOiB0aGlzLmN1cnJlbnRJdGVtIH0pIDogJChpbnN0Lm9wdGlvbnMuaXRlbXMsIGluc3QuZWxlbWVudCksIGluc3RdKTsNCgkJCQkJCXRoaXMuY29udGFpbmVycy5wdXNoKGluc3QpOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KCQl9DQoNCgkJZm9yIChpID0gcXVlcmllcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgew0KCQkJdGFyZ2V0RGF0YSA9IHF1ZXJpZXNbaV1bMV07DQoJCQlfcXVlcmllcyA9IHF1ZXJpZXNbaV1bMF07DQoNCgkJCWZvciAoaj0wLCBxdWVyaWVzTGVuZ3RoID0gX3F1ZXJpZXMubGVuZ3RoOyBqIDwgcXVlcmllc0xlbmd0aDsgaisrKSB7DQoJCQkJaXRlbSA9ICQoX3F1ZXJpZXNbal0pOw0KDQoJCQkJaXRlbS5kYXRhKHRoaXMud2lkZ2V0TmFtZSArICItaXRlbSIsIHRhcmdldERhdGEpOyAvLyBEYXRhIGZvciB0YXJnZXQgY2hlY2tpbmcgKG1vdXNlIG1hbmFnZXIpDQoNCgkJCQlpdGVtcy5wdXNoKHsNCgkJCQkJaXRlbTogaXRlbSwNCgkJCQkJaW5zdGFuY2U6IHRhcmdldERhdGEsDQoJCQkJCXdpZHRoOiAwLCBoZWlnaHQ6IDAsDQoJCQkJCWxlZnQ6IDAsIHRvcDogMA0KCQkJCX0pOw0KCQkJfQ0KCQl9DQoNCgl9LA0KDQoJcmVmcmVzaFBvc2l0aW9uczogZnVuY3Rpb24oZmFzdCkgew0KDQoJCS8vIERldGVybWluZSB3aGV0aGVyIGl0ZW1zIGFyZSBiZWluZyBkaXNwbGF5ZWQgaG9yaXpvbnRhbGx5DQoJCXRoaXMuZmxvYXRpbmcgPSB0aGlzLml0ZW1zLmxlbmd0aCA/DQoJCQl0aGlzLm9wdGlvbnMuYXhpcyA9PT0gIngiIHx8IHRoaXMuX2lzRmxvYXRpbmcoIHRoaXMuaXRlbXNbIDAgXS5pdGVtICkgOg0KCQkJZmFsc2U7DQoNCgkJLy9UaGlzIGhhcyB0byBiZSByZWRvbmUgYmVjYXVzZSBkdWUgdG8gdGhlIGl0ZW0gYmVpbmcgbW92ZWQgb3V0L2ludG8gdGhlIG9mZnNldFBhcmVudCwgdGhlIG9mZnNldFBhcmVudCdzIHBvc2l0aW9uIHdpbGwgY2hhbmdlDQoJCWlmKHRoaXMub2Zmc2V0UGFyZW50ICYmIHRoaXMuaGVscGVyKSB7DQoJCQl0aGlzLm9mZnNldC5wYXJlbnQgPSB0aGlzLl9nZXRQYXJlbnRPZmZzZXQoKTsNCgkJfQ0KDQoJCXZhciBpLCBpdGVtLCB0LCBwOw0KDQoJCWZvciAoaSA9IHRoaXMuaXRlbXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pew0KCQkJaXRlbSA9IHRoaXMuaXRlbXNbaV07DQoNCgkJCS8vV2UgaWdub3JlIGNhbGN1bGF0aW5nIHBvc2l0aW9ucyBvZiBhbGwgY29ubmVjdGVkIGNvbnRhaW5lcnMgd2hlbiB3ZSdyZSBub3Qgb3ZlciB0aGVtDQoJCQlpZihpdGVtLmluc3RhbmNlICE9PSB0aGlzLmN1cnJlbnRDb250YWluZXIgJiYgdGhpcy5jdXJyZW50Q29udGFpbmVyICYmIGl0ZW0uaXRlbVswXSAhPT0gdGhpcy5jdXJyZW50SXRlbVswXSkgew0KCQkJCWNvbnRpbnVlOw0KCQkJfQ0KDQoJCQl0ID0gdGhpcy5vcHRpb25zLnRvbGVyYW5jZUVsZW1lbnQgPyAkKHRoaXMub3B0aW9ucy50b2xlcmFuY2VFbGVtZW50LCBpdGVtLml0ZW0pIDogaXRlbS5pdGVtOw0KDQoJCQlpZiAoIWZhc3QpIHsNCgkJCQlpdGVtLndpZHRoID0gdC5vdXRlcldpZHRoKCk7DQoJCQkJaXRlbS5oZWlnaHQgPSB0Lm91dGVySGVpZ2h0KCk7DQoJCQl9DQoNCgkJCXAgPSB0Lm9mZnNldCgpOw0KCQkJaXRlbS5sZWZ0ID0gcC5sZWZ0Ow0KCQkJaXRlbS50b3AgPSBwLnRvcDsNCgkJfQ0KDQoJCWlmKHRoaXMub3B0aW9ucy5jdXN0b20gJiYgdGhpcy5vcHRpb25zLmN1c3RvbS5yZWZyZXNoQ29udGFpbmVycykgew0KCQkJdGhpcy5vcHRpb25zLmN1c3RvbS5yZWZyZXNoQ29udGFpbmVycy5jYWxsKHRoaXMpOw0KCQl9IGVsc2Ugew0KCQkJZm9yIChpID0gdGhpcy5jb250YWluZXJzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKXsNCgkJCQlwID0gdGhpcy5jb250YWluZXJzW2ldLmVsZW1lbnQub2Zmc2V0KCk7DQoJCQkJdGhpcy5jb250YWluZXJzW2ldLmNvbnRhaW5lckNhY2hlLmxlZnQgPSBwLmxlZnQ7DQoJCQkJdGhpcy5jb250YWluZXJzW2ldLmNvbnRhaW5lckNhY2hlLnRvcCA9IHAudG9wOw0KCQkJCXRoaXMuY29udGFpbmVyc1tpXS5jb250YWluZXJDYWNoZS53aWR0aCA9IHRoaXMuY29udGFpbmVyc1tpXS5lbGVtZW50Lm91dGVyV2lkdGgoKTsNCgkJCQl0aGlzLmNvbnRhaW5lcnNbaV0uY29udGFpbmVyQ2FjaGUuaGVpZ2h0ID0gdGhpcy5jb250YWluZXJzW2ldLmVsZW1lbnQub3V0ZXJIZWlnaHQoKTsNCgkJCX0NCgkJfQ0KDQoJCXJldHVybiB0aGlzOw0KCX0sDQoNCglfY3JlYXRlUGxhY2Vob2xkZXI6IGZ1bmN0aW9uKHRoYXQpIHsNCgkJdGhhdCA9IHRoYXQgfHwgdGhpczsNCgkJdmFyIGNsYXNzTmFtZSwNCgkJCW8gPSB0aGF0Lm9wdGlvbnM7DQoNCgkJaWYoIW8ucGxhY2Vob2xkZXIgfHwgby5wbGFjZWhvbGRlci5jb25zdHJ1Y3RvciA9PT0gU3RyaW5nKSB7DQoJCQljbGFzc05hbWUgPSBvLnBsYWNlaG9sZGVyOw0KCQkJby5wbGFjZWhvbGRlciA9IHsNCgkJCQllbGVtZW50OiBmdW5jdGlvbigpIHsNCg0KCQkJCQl2YXIgbm9kZU5hbWUgPSB0aGF0LmN1cnJlbnRJdGVtWzBdLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksDQoJCQkJCQllbGVtZW50ID0gJCggIjwiICsgbm9kZU5hbWUgKyAiPiIsIHRoYXQuZG9jdW1lbnRbMF0gKQ0KCQkJCQkJCS5hZGRDbGFzcyhjbGFzc05hbWUgfHwgdGhhdC5jdXJyZW50SXRlbVswXS5jbGFzc05hbWUrIiB1aS1zb3J0YWJsZS1wbGFjZWhvbGRlciIpDQoJCQkJCQkJLnJlbW92ZUNsYXNzKCJ1aS1zb3J0YWJsZS1oZWxwZXIiKTsNCg0KCQkJCQlpZiAoIG5vZGVOYW1lID09PSAidGJvZHkiICkgew0KCQkJCQkJdGhhdC5fY3JlYXRlVHJQbGFjZWhvbGRlcigNCgkJCQkJCQl0aGF0LmN1cnJlbnRJdGVtLmZpbmQoICJ0ciIgKS5lcSggMCApLA0KCQkJCQkJCSQoICI8dHI+IiwgdGhhdC5kb2N1bWVudFsgMCBdICkuYXBwZW5kVG8oIGVsZW1lbnQgKQ0KCQkJCQkJKTsNCgkJCQkJfSBlbHNlIGlmICggbm9kZU5hbWUgPT09ICJ0ciIgKSB7DQoJCQkJCQl0aGF0Ll9jcmVhdGVUclBsYWNlaG9sZGVyKCB0aGF0LmN1cnJlbnRJdGVtLCBlbGVtZW50ICk7DQoJCQkJCX0gZWxzZSBpZiAoIG5vZGVOYW1lID09PSAiaW1nIiApIHsNCgkJCQkJCWVsZW1lbnQuYXR0ciggInNyYyIsIHRoYXQuY3VycmVudEl0ZW0uYXR0ciggInNyYyIgKSApOw0KCQkJCQl9DQoNCgkJCQkJaWYgKCAhY2xhc3NOYW1lICkgew0KCQkJCQkJZWxlbWVudC5jc3MoICJ2aXNpYmlsaXR5IiwgImhpZGRlbiIgKTsNCgkJCQkJfQ0KDQoJCQkJCXJldHVybiBlbGVtZW50Ow0KCQkJCX0sDQoJCQkJdXBkYXRlOiBmdW5jdGlvbihjb250YWluZXIsIHApIHsNCg0KCQkJCQkvLyAxLiBJZiBhIGNsYXNzTmFtZSBpcyBzZXQgYXMgJ3BsYWNlaG9sZGVyIG9wdGlvbiwgd2UgZG9uJ3QgZm9yY2Ugc2l6ZXMgLSB0aGUgY2xhc3MgaXMgcmVzcG9uc2libGUgZm9yIHRoYXQNCgkJCQkJLy8gMi4gVGhlIG9wdGlvbiAnZm9yY2VQbGFjZWhvbGRlclNpemUgY2FuIGJlIGVuYWJsZWQgdG8gZm9yY2UgaXQgZXZlbiBpZiBhIGNsYXNzIG5hbWUgaXMgc3BlY2lmaWVkDQoJCQkJCWlmKGNsYXNzTmFtZSAmJiAhby5mb3JjZVBsYWNlaG9sZGVyU2l6ZSkgew0KCQkJCQkJcmV0dXJuOw0KCQkJCQl9DQoNCgkJCQkJLy9JZiB0aGUgZWxlbWVudCBkb2Vzbid0IGhhdmUgYSBhY3R1YWwgaGVpZ2h0IGJ5IGl0c2VsZiAod2l0aG91dCBzdHlsZXMgY29taW5nIGZyb20gYSBzdHlsZXNoZWV0KSwgaXQgcmVjZWl2ZXMgdGhlIGlubGluZSBoZWlnaHQgZnJvbSB0aGUgZHJhZ2dlZCBpdGVtDQoJCQkJCWlmKCFwLmhlaWdodCgpKSB7IHAuaGVpZ2h0KHRoYXQuY3VycmVudEl0ZW0uaW5uZXJIZWlnaHQoKSAtIHBhcnNlSW50KHRoYXQuY3VycmVudEl0ZW0uY3NzKCJwYWRkaW5nVG9wIil8fDAsIDEwKSAtIHBhcnNlSW50KHRoYXQuY3VycmVudEl0ZW0uY3NzKCJwYWRkaW5nQm90dG9tIil8fDAsIDEwKSk7IH0NCgkJCQkJaWYoIXAud2lkdGgoKSkgeyBwLndpZHRoKHRoYXQuY3VycmVudEl0ZW0uaW5uZXJXaWR0aCgpIC0gcGFyc2VJbnQodGhhdC5jdXJyZW50SXRlbS5jc3MoInBhZGRpbmdMZWZ0Iil8fDAsIDEwKSAtIHBhcnNlSW50KHRoYXQuY3VycmVudEl0ZW0uY3NzKCJwYWRkaW5nUmlnaHQiKXx8MCwgMTApKTsgfQ0KCQkJCX0NCgkJCX07DQoJCX0NCg0KCQkvL0NyZWF0ZSB0aGUgcGxhY2Vob2xkZXINCgkJdGhhdC5wbGFjZWhvbGRlciA9ICQoby5wbGFjZWhvbGRlci5lbGVtZW50LmNhbGwodGhhdC5lbGVtZW50LCB0aGF0LmN1cnJlbnRJdGVtKSk7DQoNCgkJLy9BcHBlbmQgaXQgYWZ0ZXIgdGhlIGFjdHVhbCBjdXJyZW50IGl0ZW0NCgkJdGhhdC5jdXJyZW50SXRlbS5hZnRlcih0aGF0LnBsYWNlaG9sZGVyKTsNCg0KCQkvL1VwZGF0ZSB0aGUgc2l6ZSBvZiB0aGUgcGxhY2Vob2xkZXIgKFRPRE86IExvZ2ljIHRvIGZ1enp5LCBzZWUgbGluZSAzMTYvMzE3KQ0KCQlvLnBsYWNlaG9sZGVyLnVwZGF0ZSh0aGF0LCB0aGF0LnBsYWNlaG9sZGVyKTsNCg0KCX0sDQoNCglfY3JlYXRlVHJQbGFjZWhvbGRlcjogZnVuY3Rpb24oIHNvdXJjZVRyLCB0YXJnZXRUciApIHsNCgkJdmFyIHRoYXQgPSB0aGlzOw0KDQoJCXNvdXJjZVRyLmNoaWxkcmVuKCkuZWFjaChmdW5jdGlvbigpIHsNCgkJCSQoICI8dGQ+JiMxNjA7PC90ZD4iLCB0aGF0LmRvY3VtZW50WyAwIF0gKQ0KCQkJCS5hdHRyKCAiY29sc3BhbiIsICQoIHRoaXMgKS5hdHRyKCAiY29sc3BhbiIgKSB8fCAxICkNCgkJCQkuYXBwZW5kVG8oIHRhcmdldFRyICk7DQoJCX0pOw0KCX0sDQoNCglfY29udGFjdENvbnRhaW5lcnM6IGZ1bmN0aW9uKGV2ZW50KSB7DQoJCXZhciBpLCBqLCBkaXN0LCBpdGVtV2l0aExlYXN0RGlzdGFuY2UsIHBvc1Byb3BlcnR5LCBzaXplUHJvcGVydHksIGN1ciwgbmVhckJvdHRvbSwgZmxvYXRpbmcsIGF4aXMsDQoJCQlpbm5lcm1vc3RDb250YWluZXIgPSBudWxsLA0KCQkJaW5uZXJtb3N0SW5kZXggPSBudWxsOw0KDQoJCS8vIGdldCBpbm5lcm1vc3QgY29udGFpbmVyIHRoYXQgaW50ZXJzZWN0cyB3aXRoIGl0ZW0NCgkJZm9yIChpID0gdGhpcy5jb250YWluZXJzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7DQoNCgkJCS8vIG5ldmVyIGNvbnNpZGVyIGEgY29udGFpbmVyIHRoYXQncyBsb2NhdGVkIHdpdGhpbiB0aGUgaXRlbSBpdHNlbGYNCgkJCWlmKCQuY29udGFpbnModGhpcy5jdXJyZW50SXRlbVswXSwgdGhpcy5jb250YWluZXJzW2ldLmVsZW1lbnRbMF0pKSB7DQoJCQkJY29udGludWU7DQoJCQl9DQoNCgkJCWlmKHRoaXMuX2ludGVyc2VjdHNXaXRoKHRoaXMuY29udGFpbmVyc1tpXS5jb250YWluZXJDYWNoZSkpIHsNCg0KCQkJCS8vIGlmIHdlJ3ZlIGFscmVhZHkgZm91bmQgYSBjb250YWluZXIgYW5kIGl0J3MgbW9yZSAiaW5uZXIiIHRoYW4gdGhpcywgdGhlbiBjb250aW51ZQ0KCQkJCWlmKGlubmVybW9zdENvbnRhaW5lciAmJiAkLmNvbnRhaW5zKHRoaXMuY29udGFpbmVyc1tpXS5lbGVtZW50WzBdLCBpbm5lcm1vc3RDb250YWluZXIuZWxlbWVudFswXSkpIHsNCgkJCQkJY29udGludWU7DQoJCQkJfQ0KDQoJCQkJaW5uZXJtb3N0Q29udGFpbmVyID0gdGhpcy5jb250YWluZXJzW2ldOw0KCQkJCWlubmVybW9zdEluZGV4ID0gaTsNCg0KCQkJfSBlbHNlIHsNCgkJCQkvLyBjb250YWluZXIgZG9lc24ndCBpbnRlcnNlY3QuIHRyaWdnZXIgIm91dCIgZXZlbnQgaWYgbmVjZXNzYXJ5DQoJCQkJaWYodGhpcy5jb250YWluZXJzW2ldLmNvbnRhaW5lckNhY2hlLm92ZXIpIHsNCgkJCQkJdGhpcy5jb250YWluZXJzW2ldLl90cmlnZ2VyKCJvdXQiLCBldmVudCwgdGhpcy5fdWlIYXNoKHRoaXMpKTsNCgkJCQkJdGhpcy5jb250YWluZXJzW2ldLmNvbnRhaW5lckNhY2hlLm92ZXIgPSAwOw0KCQkJCX0NCgkJCX0NCg0KCQl9DQoNCgkJLy8gaWYgbm8gaW50ZXJzZWN0aW5nIGNvbnRhaW5lcnMgZm91bmQsIHJldHVybg0KCQlpZighaW5uZXJtb3N0Q29udGFpbmVyKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQkvLyBtb3ZlIHRoZSBpdGVtIGludG8gdGhlIGNvbnRhaW5lciBpZiBpdCdzIG5vdCB0aGVyZSBhbHJlYWR5DQoJCWlmKHRoaXMuY29udGFpbmVycy5sZW5ndGggPT09IDEpIHsNCgkJCWlmICghdGhpcy5jb250YWluZXJzW2lubmVybW9zdEluZGV4XS5jb250YWluZXJDYWNoZS5vdmVyKSB7DQoJCQkJdGhpcy5jb250YWluZXJzW2lubmVybW9zdEluZGV4XS5fdHJpZ2dlcigib3ZlciIsIGV2ZW50LCB0aGlzLl91aUhhc2godGhpcykpOw0KCQkJCXRoaXMuY29udGFpbmVyc1tpbm5lcm1vc3RJbmRleF0uY29udGFpbmVyQ2FjaGUub3ZlciA9IDE7DQoJCQl9DQoJCX0gZWxzZSB7DQoNCgkJCS8vV2hlbiBlbnRlcmluZyBhIG5ldyBjb250YWluZXIsIHdlIHdpbGwgZmluZCB0aGUgaXRlbSB3aXRoIHRoZSBsZWFzdCBkaXN0YW5jZSBhbmQgYXBwZW5kIG91ciBpdGVtIG5lYXIgaXQNCgkJCWRpc3QgPSAxMDAwMDsNCgkJCWl0ZW1XaXRoTGVhc3REaXN0YW5jZSA9IG51bGw7DQoJCQlmbG9hdGluZyA9IGlubmVybW9zdENvbnRhaW5lci5mbG9hdGluZyB8fCB0aGlzLl9pc0Zsb2F0aW5nKHRoaXMuY3VycmVudEl0ZW0pOw0KCQkJcG9zUHJvcGVydHkgPSBmbG9hdGluZyA/ICJsZWZ0IiA6ICJ0b3AiOw0KCQkJc2l6ZVByb3BlcnR5ID0gZmxvYXRpbmcgPyAid2lkdGgiIDogImhlaWdodCI7DQoJCQlheGlzID0gZmxvYXRpbmcgPyAiY2xpZW50WCIgOiAiY2xpZW50WSI7DQoNCgkJCWZvciAoaiA9IHRoaXMuaXRlbXMubGVuZ3RoIC0gMTsgaiA+PSAwOyBqLS0pIHsNCgkJCQlpZighJC5jb250YWlucyh0aGlzLmNvbnRhaW5lcnNbaW5uZXJtb3N0SW5kZXhdLmVsZW1lbnRbMF0sIHRoaXMuaXRlbXNbal0uaXRlbVswXSkpIHsNCgkJCQkJY29udGludWU7DQoJCQkJfQ0KCQkJCWlmKHRoaXMuaXRlbXNbal0uaXRlbVswXSA9PT0gdGhpcy5jdXJyZW50SXRlbVswXSkgew0KCQkJCQljb250aW51ZTsNCgkJCQl9DQoNCgkJCQljdXIgPSB0aGlzLml0ZW1zW2pdLml0ZW0ub2Zmc2V0KClbcG9zUHJvcGVydHldOw0KCQkJCW5lYXJCb3R0b20gPSBmYWxzZTsNCgkJCQlpZiAoIGV2ZW50WyBheGlzIF0gLSBjdXIgPiB0aGlzLml0ZW1zWyBqIF1bIHNpemVQcm9wZXJ0eSBdIC8gMiApIHsNCgkJCQkJbmVhckJvdHRvbSA9IHRydWU7DQoJCQkJfQ0KDQoJCQkJaWYgKCBNYXRoLmFicyggZXZlbnRbIGF4aXMgXSAtIGN1ciApIDwgZGlzdCApIHsNCgkJCQkJZGlzdCA9IE1hdGguYWJzKCBldmVudFsgYXhpcyBdIC0gY3VyICk7DQoJCQkJCWl0ZW1XaXRoTGVhc3REaXN0YW5jZSA9IHRoaXMuaXRlbXNbIGogXTsNCgkJCQkJdGhpcy5kaXJlY3Rpb24gPSBuZWFyQm90dG9tID8gInVwIjogImRvd24iOw0KCQkJCX0NCgkJCX0NCg0KCQkJLy9DaGVjayBpZiBkcm9wT25FbXB0eSBpcyBlbmFibGVkDQoJCQlpZighaXRlbVdpdGhMZWFzdERpc3RhbmNlICYmICF0aGlzLm9wdGlvbnMuZHJvcE9uRW1wdHkpIHsNCgkJCQlyZXR1cm47DQoJCQl9DQoNCgkJCWlmKHRoaXMuY3VycmVudENvbnRhaW5lciA9PT0gdGhpcy5jb250YWluZXJzW2lubmVybW9zdEluZGV4XSkgew0KCQkJCWlmICggIXRoaXMuY3VycmVudENvbnRhaW5lci5jb250YWluZXJDYWNoZS5vdmVyICkgew0KCQkJCQl0aGlzLmNvbnRhaW5lcnNbIGlubmVybW9zdEluZGV4IF0uX3RyaWdnZXIoICJvdmVyIiwgZXZlbnQsIHRoaXMuX3VpSGFzaCgpICk7DQoJCQkJCXRoaXMuY3VycmVudENvbnRhaW5lci5jb250YWluZXJDYWNoZS5vdmVyID0gMTsNCgkJCQl9DQoJCQkJcmV0dXJuOw0KCQkJfQ0KDQoJCQlpdGVtV2l0aExlYXN0RGlzdGFuY2UgPyB0aGlzLl9yZWFycmFuZ2UoZXZlbnQsIGl0ZW1XaXRoTGVhc3REaXN0YW5jZSwgbnVsbCwgdHJ1ZSkgOiB0aGlzLl9yZWFycmFuZ2UoZXZlbnQsIG51bGwsIHRoaXMuY29udGFpbmVyc1tpbm5lcm1vc3RJbmRleF0uZWxlbWVudCwgdHJ1ZSk7DQoJCQl0aGlzLl90cmlnZ2VyKCJjaGFuZ2UiLCBldmVudCwgdGhpcy5fdWlIYXNoKCkpOw0KCQkJdGhpcy5jb250YWluZXJzW2lubmVybW9zdEluZGV4XS5fdHJpZ2dlcigiY2hhbmdlIiwgZXZlbnQsIHRoaXMuX3VpSGFzaCh0aGlzKSk7DQoJCQl0aGlzLmN1cnJlbnRDb250YWluZXIgPSB0aGlzLmNvbnRhaW5lcnNbaW5uZXJtb3N0SW5kZXhdOw0KDQoJCQkvL1VwZGF0ZSB0aGUgcGxhY2Vob2xkZXINCgkJCXRoaXMub3B0aW9ucy5wbGFjZWhvbGRlci51cGRhdGUodGhpcy5jdXJyZW50Q29udGFpbmVyLCB0aGlzLnBsYWNlaG9sZGVyKTsNCg0KCQkJdGhpcy5jb250YWluZXJzW2lubmVybW9zdEluZGV4XS5fdHJpZ2dlcigib3ZlciIsIGV2ZW50LCB0aGlzLl91aUhhc2godGhpcykpOw0KCQkJdGhpcy5jb250YWluZXJzW2lubmVybW9zdEluZGV4XS5jb250YWluZXJDYWNoZS5vdmVyID0gMTsNCgkJfQ0KDQoNCgl9LA0KDQoJX2NyZWF0ZUhlbHBlcjogZnVuY3Rpb24oZXZlbnQpIHsNCg0KCQl2YXIgbyA9IHRoaXMub3B0aW9ucywNCgkJCWhlbHBlciA9ICQuaXNGdW5jdGlvbihvLmhlbHBlcikgPyAkKG8uaGVscGVyLmFwcGx5KHRoaXMuZWxlbWVudFswXSwgW2V2ZW50LCB0aGlzLmN1cnJlbnRJdGVtXSkpIDogKG8uaGVscGVyID09PSAiY2xvbmUiID8gdGhpcy5jdXJyZW50SXRlbS5jbG9uZSgpIDogdGhpcy5jdXJyZW50SXRlbSk7DQoNCgkJLy9BZGQgdGhlIGhlbHBlciB0byB0aGUgRE9NIGlmIHRoYXQgZGlkbid0IGhhcHBlbiBhbHJlYWR5DQoJCWlmKCFoZWxwZXIucGFyZW50cygiYm9keSIpLmxlbmd0aCkgew0KCQkJJChvLmFwcGVuZFRvICE9PSAicGFyZW50IiA/IG8uYXBwZW5kVG8gOiB0aGlzLmN1cnJlbnRJdGVtWzBdLnBhcmVudE5vZGUpWzBdLmFwcGVuZENoaWxkKGhlbHBlclswXSk7DQoJCX0NCg0KCQlpZihoZWxwZXJbMF0gPT09IHRoaXMuY3VycmVudEl0ZW1bMF0pIHsNCgkJCXRoaXMuX3N0b3JlZENTUyA9IHsgd2lkdGg6IHRoaXMuY3VycmVudEl0ZW1bMF0uc3R5bGUud2lkdGgsIGhlaWdodDogdGhpcy5jdXJyZW50SXRlbVswXS5zdHlsZS5oZWlnaHQsIHBvc2l0aW9uOiB0aGlzLmN1cnJlbnRJdGVtLmNzcygicG9zaXRpb24iKSwgdG9wOiB0aGlzLmN1cnJlbnRJdGVtLmNzcygidG9wIiksIGxlZnQ6IHRoaXMuY3VycmVudEl0ZW0uY3NzKCJsZWZ0IikgfTsNCgkJfQ0KDQoJCWlmKCFoZWxwZXJbMF0uc3R5bGUud2lkdGggfHwgby5mb3JjZUhlbHBlclNpemUpIHsNCgkJCWhlbHBlci53aWR0aCh0aGlzLmN1cnJlbnRJdGVtLndpZHRoKCkpOw0KCQl9DQoJCWlmKCFoZWxwZXJbMF0uc3R5bGUuaGVpZ2h0IHx8IG8uZm9yY2VIZWxwZXJTaXplKSB7DQoJCQloZWxwZXIuaGVpZ2h0KHRoaXMuY3VycmVudEl0ZW0uaGVpZ2h0KCkpOw0KCQl9DQoNCgkJcmV0dXJuIGhlbHBlcjsNCg0KCX0sDQoNCglfYWRqdXN0T2Zmc2V0RnJvbUhlbHBlcjogZnVuY3Rpb24ob2JqKSB7DQoJCWlmICh0eXBlb2Ygb2JqID09PSAic3RyaW5nIikgew0KCQkJb2JqID0gb2JqLnNwbGl0KCIgIik7DQoJCX0NCgkJaWYgKCQuaXNBcnJheShvYmopKSB7DQoJCQlvYmogPSB7bGVmdDogK29ialswXSwgdG9wOiArb2JqWzFdIHx8IDB9Ow0KCQl9DQoJCWlmICgibGVmdCIgaW4gb2JqKSB7DQoJCQl0aGlzLm9mZnNldC5jbGljay5sZWZ0ID0gb2JqLmxlZnQgKyB0aGlzLm1hcmdpbnMubGVmdDsNCgkJfQ0KCQlpZiAoInJpZ2h0IiBpbiBvYmopIHsNCgkJCXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQgPSB0aGlzLmhlbHBlclByb3BvcnRpb25zLndpZHRoIC0gb2JqLnJpZ2h0ICsgdGhpcy5tYXJnaW5zLmxlZnQ7DQoJCX0NCgkJaWYgKCJ0b3AiIGluIG9iaikgew0KCQkJdGhpcy5vZmZzZXQuY2xpY2sudG9wID0gb2JqLnRvcCArIHRoaXMubWFyZ2lucy50b3A7DQoJCX0NCgkJaWYgKCJib3R0b20iIGluIG9iaikgew0KCQkJdGhpcy5vZmZzZXQuY2xpY2sudG9wID0gdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQgLSBvYmouYm90dG9tICsgdGhpcy5tYXJnaW5zLnRvcDsNCgkJfQ0KCX0sDQoNCglfZ2V0UGFyZW50T2Zmc2V0OiBmdW5jdGlvbigpIHsNCg0KDQoJCS8vR2V0IHRoZSBvZmZzZXRQYXJlbnQgYW5kIGNhY2hlIGl0cyBwb3NpdGlvbg0KCQl0aGlzLm9mZnNldFBhcmVudCA9IHRoaXMuaGVscGVyLm9mZnNldFBhcmVudCgpOw0KCQl2YXIgcG8gPSB0aGlzLm9mZnNldFBhcmVudC5vZmZzZXQoKTsNCg0KCQkvLyBUaGlzIGlzIGEgc3BlY2lhbCBjYXNlIHdoZXJlIHdlIG5lZWQgdG8gbW9kaWZ5IGEgb2Zmc2V0IGNhbGN1bGF0ZWQgb24gc3RhcnQsIHNpbmNlIHRoZSBmb2xsb3dpbmcgaGFwcGVuZWQ6DQoJCS8vIDEuIFRoZSBwb3NpdGlvbiBvZiB0aGUgaGVscGVyIGlzIGFic29sdXRlLCBzbyBpdCdzIHBvc2l0aW9uIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIG5leHQgcG9zaXRpb25lZCBwYXJlbnQNCgkJLy8gMi4gVGhlIGFjdHVhbCBvZmZzZXQgcGFyZW50IGlzIGEgY2hpbGQgb2YgdGhlIHNjcm9sbCBwYXJlbnQsIGFuZCB0aGUgc2Nyb2xsIHBhcmVudCBpc24ndCB0aGUgZG9jdW1lbnQsIHdoaWNoIG1lYW5zIHRoYXQNCgkJLy8gICAgdGhlIHNjcm9sbCBpcyBpbmNsdWRlZCBpbiB0aGUgaW5pdGlhbCBjYWxjdWxhdGlvbiBvZiB0aGUgb2Zmc2V0IG9mIHRoZSBwYXJlbnQsIGFuZCBuZXZlciByZWNhbGN1bGF0ZWQgdXBvbiBkcmFnDQoJCWlmKHRoaXMuY3NzUG9zaXRpb24gPT09ICJhYnNvbHV0ZSIgJiYgdGhpcy5zY3JvbGxQYXJlbnRbMF0gIT09IHRoaXMuZG9jdW1lbnRbMF0gJiYgJC5jb250YWlucyh0aGlzLnNjcm9sbFBhcmVudFswXSwgdGhpcy5vZmZzZXRQYXJlbnRbMF0pKSB7DQoJCQlwby5sZWZ0ICs9IHRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQoKTsNCgkJCXBvLnRvcCArPSB0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKTsNCgkJfQ0KDQoJCS8vIFRoaXMgbmVlZHMgdG8gYmUgYWN0dWFsbHkgZG9uZSBmb3IgYWxsIGJyb3dzZXJzLCBzaW5jZSBwYWdlWC9wYWdlWSBpbmNsdWRlcyB0aGlzIGluZm9ybWF0aW9uDQoJCS8vIHdpdGggYW4gdWdseSBJRSBmaXgNCgkJaWYoIHRoaXMub2Zmc2V0UGFyZW50WzBdID09PSB0aGlzLmRvY3VtZW50WzBdLmJvZHkgfHwgKHRoaXMub2Zmc2V0UGFyZW50WzBdLnRhZ05hbWUgJiYgdGhpcy5vZmZzZXRQYXJlbnRbMF0udGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAiaHRtbCIgJiYgJC51aS5pZSkpIHsNCgkJCXBvID0geyB0b3A6IDAsIGxlZnQ6IDAgfTsNCgkJfQ0KDQoJCXJldHVybiB7DQoJCQl0b3A6IHBvLnRvcCArIChwYXJzZUludCh0aGlzLm9mZnNldFBhcmVudC5jc3MoImJvcmRlclRvcFdpZHRoIiksMTApIHx8IDApLA0KCQkJbGVmdDogcG8ubGVmdCArIChwYXJzZUludCh0aGlzLm9mZnNldFBhcmVudC5jc3MoImJvcmRlckxlZnRXaWR0aCIpLDEwKSB8fCAwKQ0KCQl9Ow0KDQoJfSwNCg0KCV9nZXRSZWxhdGl2ZU9mZnNldDogZnVuY3Rpb24oKSB7DQoNCgkJaWYodGhpcy5jc3NQb3NpdGlvbiA9PT0gInJlbGF0aXZlIikgew0KCQkJdmFyIHAgPSB0aGlzLmN1cnJlbnRJdGVtLnBvc2l0aW9uKCk7DQoJCQlyZXR1cm4gew0KCQkJCXRvcDogcC50b3AgLSAocGFyc2VJbnQodGhpcy5oZWxwZXIuY3NzKCJ0b3AiKSwxMCkgfHwgMCkgKyB0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKSwNCgkJCQlsZWZ0OiBwLmxlZnQgLSAocGFyc2VJbnQodGhpcy5oZWxwZXIuY3NzKCJsZWZ0IiksMTApIHx8IDApICsgdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCgpDQoJCQl9Ow0KCQl9IGVsc2Ugew0KCQkJcmV0dXJuIHsgdG9wOiAwLCBsZWZ0OiAwIH07DQoJCX0NCg0KCX0sDQoNCglfY2FjaGVNYXJnaW5zOiBmdW5jdGlvbigpIHsNCgkJdGhpcy5tYXJnaW5zID0gew0KCQkJbGVmdDogKHBhcnNlSW50KHRoaXMuY3VycmVudEl0ZW0uY3NzKCJtYXJnaW5MZWZ0IiksMTApIHx8IDApLA0KCQkJdG9wOiAocGFyc2VJbnQodGhpcy5jdXJyZW50SXRlbS5jc3MoIm1hcmdpblRvcCIpLDEwKSB8fCAwKQ0KCQl9Ow0KCX0sDQoNCglfY2FjaGVIZWxwZXJQcm9wb3J0aW9uczogZnVuY3Rpb24oKSB7DQoJCXRoaXMuaGVscGVyUHJvcG9ydGlvbnMgPSB7DQoJCQl3aWR0aDogdGhpcy5oZWxwZXIub3V0ZXJXaWR0aCgpLA0KCQkJaGVpZ2h0OiB0aGlzLmhlbHBlci5vdXRlckhlaWdodCgpDQoJCX07DQoJfSwNCg0KCV9zZXRDb250YWlubWVudDogZnVuY3Rpb24oKSB7DQoNCgkJdmFyIGNlLCBjbywgb3ZlciwNCgkJCW8gPSB0aGlzLm9wdGlvbnM7DQoJCWlmKG8uY29udGFpbm1lbnQgPT09ICJwYXJlbnQiKSB7DQoJCQlvLmNvbnRhaW5tZW50ID0gdGhpcy5oZWxwZXJbMF0ucGFyZW50Tm9kZTsNCgkJfQ0KCQlpZihvLmNvbnRhaW5tZW50ID09PSAiZG9jdW1lbnQiIHx8IG8uY29udGFpbm1lbnQgPT09ICJ3aW5kb3ciKSB7DQoJCQl0aGlzLmNvbnRhaW5tZW50ID0gWw0KCQkJCTAgLSB0aGlzLm9mZnNldC5yZWxhdGl2ZS5sZWZ0IC0gdGhpcy5vZmZzZXQucGFyZW50LmxlZnQsDQoJCQkJMCAtIHRoaXMub2Zmc2V0LnJlbGF0aXZlLnRvcCAtIHRoaXMub2Zmc2V0LnBhcmVudC50b3AsDQoJCQkJby5jb250YWlubWVudCA9PT0gImRvY3VtZW50IiA/IHRoaXMuZG9jdW1lbnQud2lkdGgoKSA6IHRoaXMud2luZG93LndpZHRoKCkgLSB0aGlzLmhlbHBlclByb3BvcnRpb25zLndpZHRoIC0gdGhpcy5tYXJnaW5zLmxlZnQsDQoJCQkJKG8uY29udGFpbm1lbnQgPT09ICJkb2N1bWVudCIgPyB0aGlzLmRvY3VtZW50LndpZHRoKCkgOiB0aGlzLndpbmRvdy5oZWlnaHQoKSB8fCB0aGlzLmRvY3VtZW50WzBdLmJvZHkucGFyZW50Tm9kZS5zY3JvbGxIZWlnaHQpIC0gdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQgLSB0aGlzLm1hcmdpbnMudG9wDQoJCQldOw0KCQl9DQoNCgkJaWYoISgvXihkb2N1bWVudHx3aW5kb3d8cGFyZW50KSQvKS50ZXN0KG8uY29udGFpbm1lbnQpKSB7DQoJCQljZSA9ICQoby5jb250YWlubWVudClbMF07DQoJCQljbyA9ICQoby5jb250YWlubWVudCkub2Zmc2V0KCk7DQoJCQlvdmVyID0gKCQoY2UpLmNzcygib3ZlcmZsb3ciKSAhPT0gImhpZGRlbiIpOw0KDQoJCQl0aGlzLmNvbnRhaW5tZW50ID0gWw0KCQkJCWNvLmxlZnQgKyAocGFyc2VJbnQoJChjZSkuY3NzKCJib3JkZXJMZWZ0V2lkdGgiKSwxMCkgfHwgMCkgKyAocGFyc2VJbnQoJChjZSkuY3NzKCJwYWRkaW5nTGVmdCIpLDEwKSB8fCAwKSAtIHRoaXMubWFyZ2lucy5sZWZ0LA0KCQkJCWNvLnRvcCArIChwYXJzZUludCgkKGNlKS5jc3MoImJvcmRlclRvcFdpZHRoIiksMTApIHx8IDApICsgKHBhcnNlSW50KCQoY2UpLmNzcygicGFkZGluZ1RvcCIpLDEwKSB8fCAwKSAtIHRoaXMubWFyZ2lucy50b3AsDQoJCQkJY28ubGVmdCsob3ZlciA/IE1hdGgubWF4KGNlLnNjcm9sbFdpZHRoLGNlLm9mZnNldFdpZHRoKSA6IGNlLm9mZnNldFdpZHRoKSAtIChwYXJzZUludCgkKGNlKS5jc3MoImJvcmRlckxlZnRXaWR0aCIpLDEwKSB8fCAwKSAtIChwYXJzZUludCgkKGNlKS5jc3MoInBhZGRpbmdSaWdodCIpLDEwKSB8fCAwKSAtIHRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGggLSB0aGlzLm1hcmdpbnMubGVmdCwNCgkJCQljby50b3ArKG92ZXIgPyBNYXRoLm1heChjZS5zY3JvbGxIZWlnaHQsY2Uub2Zmc2V0SGVpZ2h0KSA6IGNlLm9mZnNldEhlaWdodCkgLSAocGFyc2VJbnQoJChjZSkuY3NzKCJib3JkZXJUb3BXaWR0aCIpLDEwKSB8fCAwKSAtIChwYXJzZUludCgkKGNlKS5jc3MoInBhZGRpbmdCb3R0b20iKSwxMCkgfHwgMCkgLSB0aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodCAtIHRoaXMubWFyZ2lucy50b3ANCgkJCV07DQoJCX0NCg0KCX0sDQoNCglfY29udmVydFBvc2l0aW9uVG86IGZ1bmN0aW9uKGQsIHBvcykgew0KDQoJCWlmKCFwb3MpIHsNCgkJCXBvcyA9IHRoaXMucG9zaXRpb247DQoJCX0NCgkJdmFyIG1vZCA9IGQgPT09ICJhYnNvbHV0ZSIgPyAxIDogLTEsDQoJCQlzY3JvbGwgPSB0aGlzLmNzc1Bvc2l0aW9uID09PSAiYWJzb2x1dGUiICYmICEodGhpcy5zY3JvbGxQYXJlbnRbMF0gIT09IHRoaXMuZG9jdW1lbnRbMF0gJiYgJC5jb250YWlucyh0aGlzLnNjcm9sbFBhcmVudFswXSwgdGhpcy5vZmZzZXRQYXJlbnRbMF0pKSA/IHRoaXMub2Zmc2V0UGFyZW50IDogdGhpcy5zY3JvbGxQYXJlbnQsDQoJCQlzY3JvbGxJc1Jvb3ROb2RlID0gKC8oaHRtbHxib2R5KS9pKS50ZXN0KHNjcm9sbFswXS50YWdOYW1lKTsNCg0KCQlyZXR1cm4gew0KCQkJdG9wOiAoDQoJCQkJcG9zLnRvcAkrCQkJCQkJCQkJCQkJCQkJCS8vIFRoZSBhYnNvbHV0ZSBtb3VzZSBwb3NpdGlvbg0KCQkJCXRoaXMub2Zmc2V0LnJlbGF0aXZlLnRvcCAqIG1vZCArCQkJCQkJCQkJCS8vIE9ubHkgZm9yIHJlbGF0aXZlIHBvc2l0aW9uZWQgbm9kZXM6IFJlbGF0aXZlIG9mZnNldCBmcm9tIGVsZW1lbnQgdG8gb2Zmc2V0IHBhcmVudA0KCQkJCXRoaXMub2Zmc2V0LnBhcmVudC50b3AgKiBtb2QgLQkJCQkJCQkJCQkJLy8gVGhlIG9mZnNldFBhcmVudCdzIG9mZnNldCB3aXRob3V0IGJvcmRlcnMgKG9mZnNldCArIGJvcmRlcikNCgkJCQkoICggdGhpcy5jc3NQb3NpdGlvbiA9PT0gImZpeGVkIiA/IC10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKSA6ICggc2Nyb2xsSXNSb290Tm9kZSA/IDAgOiBzY3JvbGwuc2Nyb2xsVG9wKCkgKSApICogbW9kKQ0KCQkJKSwNCgkJCWxlZnQ6ICgNCgkJCQlwb3MubGVmdCArCQkJCQkJCQkJCQkJCQkJCS8vIFRoZSBhYnNvbHV0ZSBtb3VzZSBwb3NpdGlvbg0KCQkJCXRoaXMub2Zmc2V0LnJlbGF0aXZlLmxlZnQgKiBtb2QgKwkJCQkJCQkJCQkvLyBPbmx5IGZvciByZWxhdGl2ZSBwb3NpdGlvbmVkIG5vZGVzOiBSZWxhdGl2ZSBvZmZzZXQgZnJvbSBlbGVtZW50IHRvIG9mZnNldCBwYXJlbnQNCgkJCQl0aGlzLm9mZnNldC5wYXJlbnQubGVmdCAqIG1vZAktCQkJCQkJCQkJCS8vIFRoZSBvZmZzZXRQYXJlbnQncyBvZmZzZXQgd2l0aG91dCBib3JkZXJzIChvZmZzZXQgKyBib3JkZXIpDQoJCQkJKCAoIHRoaXMuY3NzUG9zaXRpb24gPT09ICJmaXhlZCIgPyAtdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCgpIDogc2Nyb2xsSXNSb290Tm9kZSA/IDAgOiBzY3JvbGwuc2Nyb2xsTGVmdCgpICkgKiBtb2QpDQoJCQkpDQoJCX07DQoNCgl9LA0KDQoJX2dlbmVyYXRlUG9zaXRpb246IGZ1bmN0aW9uKGV2ZW50KSB7DQoNCgkJdmFyIHRvcCwgbGVmdCwNCgkJCW8gPSB0aGlzLm9wdGlvbnMsDQoJCQlwYWdlWCA9IGV2ZW50LnBhZ2VYLA0KCQkJcGFnZVkgPSBldmVudC5wYWdlWSwNCgkJCXNjcm9sbCA9IHRoaXMuY3NzUG9zaXRpb24gPT09ICJhYnNvbHV0ZSIgJiYgISh0aGlzLnNjcm9sbFBhcmVudFswXSAhPT0gdGhpcy5kb2N1bWVudFswXSAmJiAkLmNvbnRhaW5zKHRoaXMuc2Nyb2xsUGFyZW50WzBdLCB0aGlzLm9mZnNldFBhcmVudFswXSkpID8gdGhpcy5vZmZzZXRQYXJlbnQgOiB0aGlzLnNjcm9sbFBhcmVudCwgc2Nyb2xsSXNSb290Tm9kZSA9ICgvKGh0bWx8Ym9keSkvaSkudGVzdChzY3JvbGxbMF0udGFnTmFtZSk7DQoNCgkJLy8gVGhpcyBpcyBhbm90aGVyIHZlcnkgd2VpcmQgc3BlY2lhbCBjYXNlIHRoYXQgb25seSBoYXBwZW5zIGZvciByZWxhdGl2ZSBlbGVtZW50czoNCgkJLy8gMS4gSWYgdGhlIGNzcyBwb3NpdGlvbiBpcyByZWxhdGl2ZQ0KCQkvLyAyLiBhbmQgdGhlIHNjcm9sbCBwYXJlbnQgaXMgdGhlIGRvY3VtZW50IG9yIHNpbWlsYXIgdG8gdGhlIG9mZnNldCBwYXJlbnQNCgkJLy8gd2UgaGF2ZSB0byByZWZyZXNoIHRoZSByZWxhdGl2ZSBvZmZzZXQgZHVyaW5nIHRoZSBzY3JvbGwgc28gdGhlcmUgYXJlIG5vIGp1bXBzDQoJCWlmKHRoaXMuY3NzUG9zaXRpb24gPT09ICJyZWxhdGl2ZSIgJiYgISh0aGlzLnNjcm9sbFBhcmVudFswXSAhPT0gdGhpcy5kb2N1bWVudFswXSAmJiB0aGlzLnNjcm9sbFBhcmVudFswXSAhPT0gdGhpcy5vZmZzZXRQYXJlbnRbMF0pKSB7DQoJCQl0aGlzLm9mZnNldC5yZWxhdGl2ZSA9IHRoaXMuX2dldFJlbGF0aXZlT2Zmc2V0KCk7DQoJCX0NCg0KCQkvKg0KCQkgKiAtIFBvc2l0aW9uIGNvbnN0cmFpbmluZyAtDQoJCSAqIENvbnN0cmFpbiB0aGUgcG9zaXRpb24gdG8gYSBtaXggb2YgZ3JpZCwgY29udGFpbm1lbnQuDQoJCSAqLw0KDQoJCWlmKHRoaXMub3JpZ2luYWxQb3NpdGlvbikgeyAvL0lmIHdlIGFyZSBub3QgZHJhZ2dpbmcgeWV0LCB3ZSB3b24ndCBjaGVjayBmb3Igb3B0aW9ucw0KDQoJCQlpZih0aGlzLmNvbnRhaW5tZW50KSB7DQoJCQkJaWYoZXZlbnQucGFnZVggLSB0aGlzLm9mZnNldC5jbGljay5sZWZ0IDwgdGhpcy5jb250YWlubWVudFswXSkgew0KCQkJCQlwYWdlWCA9IHRoaXMuY29udGFpbm1lbnRbMF0gKyB0aGlzLm9mZnNldC5jbGljay5sZWZ0Ow0KCQkJCX0NCgkJCQlpZihldmVudC5wYWdlWSAtIHRoaXMub2Zmc2V0LmNsaWNrLnRvcCA8IHRoaXMuY29udGFpbm1lbnRbMV0pIHsNCgkJCQkJcGFnZVkgPSB0aGlzLmNvbnRhaW5tZW50WzFdICsgdGhpcy5vZmZzZXQuY2xpY2sudG9wOw0KCQkJCX0NCgkJCQlpZihldmVudC5wYWdlWCAtIHRoaXMub2Zmc2V0LmNsaWNrLmxlZnQgPiB0aGlzLmNvbnRhaW5tZW50WzJdKSB7DQoJCQkJCXBhZ2VYID0gdGhpcy5jb250YWlubWVudFsyXSArIHRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ7DQoJCQkJfQ0KCQkJCWlmKGV2ZW50LnBhZ2VZIC0gdGhpcy5vZmZzZXQuY2xpY2sudG9wID4gdGhpcy5jb250YWlubWVudFszXSkgew0KCQkJCQlwYWdlWSA9IHRoaXMuY29udGFpbm1lbnRbM10gKyB0aGlzLm9mZnNldC5jbGljay50b3A7DQoJCQkJfQ0KCQkJfQ0KDQoJCQlpZihvLmdyaWQpIHsNCgkJCQl0b3AgPSB0aGlzLm9yaWdpbmFsUGFnZVkgKyBNYXRoLnJvdW5kKChwYWdlWSAtIHRoaXMub3JpZ2luYWxQYWdlWSkgLyBvLmdyaWRbMV0pICogby5ncmlkWzFdOw0KCQkJCXBhZ2VZID0gdGhpcy5jb250YWlubWVudCA/ICggKHRvcCAtIHRoaXMub2Zmc2V0LmNsaWNrLnRvcCA+PSB0aGlzLmNvbnRhaW5tZW50WzFdICYmIHRvcCAtIHRoaXMub2Zmc2V0LmNsaWNrLnRvcCA8PSB0aGlzLmNvbnRhaW5tZW50WzNdKSA/IHRvcCA6ICgodG9wIC0gdGhpcy5vZmZzZXQuY2xpY2sudG9wID49IHRoaXMuY29udGFpbm1lbnRbMV0pID8gdG9wIC0gby5ncmlkWzFdIDogdG9wICsgby5ncmlkWzFdKSkgOiB0b3A7DQoNCgkJCQlsZWZ0ID0gdGhpcy5vcmlnaW5hbFBhZ2VYICsgTWF0aC5yb3VuZCgocGFnZVggLSB0aGlzLm9yaWdpbmFsUGFnZVgpIC8gby5ncmlkWzBdKSAqIG8uZ3JpZFswXTsNCgkJCQlwYWdlWCA9IHRoaXMuY29udGFpbm1lbnQgPyAoIChsZWZ0IC0gdGhpcy5vZmZzZXQuY2xpY2subGVmdCA+PSB0aGlzLmNvbnRhaW5tZW50WzBdICYmIGxlZnQgLSB0aGlzLm9mZnNldC5jbGljay5sZWZ0IDw9IHRoaXMuY29udGFpbm1lbnRbMl0pID8gbGVmdCA6ICgobGVmdCAtIHRoaXMub2Zmc2V0LmNsaWNrLmxlZnQgPj0gdGhpcy5jb250YWlubWVudFswXSkgPyBsZWZ0IC0gby5ncmlkWzBdIDogbGVmdCArIG8uZ3JpZFswXSkpIDogbGVmdDsNCgkJCX0NCg0KCQl9DQoNCgkJcmV0dXJuIHsNCgkJCXRvcDogKA0KCQkJCXBhZ2VZIC0JCQkJCQkJCQkJCQkJCQkJLy8gVGhlIGFic29sdXRlIG1vdXNlIHBvc2l0aW9uDQoJCQkJdGhpcy5vZmZzZXQuY2xpY2sudG9wIC0JCQkJCQkJCQkJCQkJLy8gQ2xpY2sgb2Zmc2V0IChyZWxhdGl2ZSB0byB0aGUgZWxlbWVudCkNCgkJCQl0aGlzLm9mZnNldC5yZWxhdGl2ZS50b3AJLQkJCQkJCQkJCQkJLy8gT25seSBmb3IgcmVsYXRpdmUgcG9zaXRpb25lZCBub2RlczogUmVsYXRpdmUgb2Zmc2V0IGZyb20gZWxlbWVudCB0byBvZmZzZXQgcGFyZW50DQoJCQkJdGhpcy5vZmZzZXQucGFyZW50LnRvcCArCQkJCQkJCQkJCQkJLy8gVGhlIG9mZnNldFBhcmVudCdzIG9mZnNldCB3aXRob3V0IGJvcmRlcnMgKG9mZnNldCArIGJvcmRlcikNCgkJCQkoICggdGhpcy5jc3NQb3NpdGlvbiA9PT0gImZpeGVkIiA/IC10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKSA6ICggc2Nyb2xsSXNSb290Tm9kZSA/IDAgOiBzY3JvbGwuc2Nyb2xsVG9wKCkgKSApKQ0KCQkJKSwNCgkJCWxlZnQ6ICgNCgkJCQlwYWdlWCAtCQkJCQkJCQkJCQkJCQkJCS8vIFRoZSBhYnNvbHV0ZSBtb3VzZSBwb3NpdGlvbg0KCQkJCXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQgLQkJCQkJCQkJCQkJCS8vIENsaWNrIG9mZnNldCAocmVsYXRpdmUgdG8gdGhlIGVsZW1lbnQpDQoJCQkJdGhpcy5vZmZzZXQucmVsYXRpdmUubGVmdAktCQkJCQkJCQkJCQkvLyBPbmx5IGZvciByZWxhdGl2ZSBwb3NpdGlvbmVkIG5vZGVzOiBSZWxhdGl2ZSBvZmZzZXQgZnJvbSBlbGVtZW50IHRvIG9mZnNldCBwYXJlbnQNCgkJCQl0aGlzLm9mZnNldC5wYXJlbnQubGVmdCArCQkJCQkJCQkJCQkJLy8gVGhlIG9mZnNldFBhcmVudCdzIG9mZnNldCB3aXRob3V0IGJvcmRlcnMgKG9mZnNldCArIGJvcmRlcikNCgkJCQkoICggdGhpcy5jc3NQb3NpdGlvbiA9PT0gImZpeGVkIiA/IC10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCkgOiBzY3JvbGxJc1Jvb3ROb2RlID8gMCA6IHNjcm9sbC5zY3JvbGxMZWZ0KCkgKSkNCgkJCSkNCgkJfTsNCg0KCX0sDQoNCglfcmVhcnJhbmdlOiBmdW5jdGlvbihldmVudCwgaSwgYSwgaGFyZFJlZnJlc2gpIHsNCg0KCQlhID8gYVswXS5hcHBlbmRDaGlsZCh0aGlzLnBsYWNlaG9sZGVyWzBdKSA6IGkuaXRlbVswXS5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLnBsYWNlaG9sZGVyWzBdLCAodGhpcy5kaXJlY3Rpb24gPT09ICJkb3duIiA/IGkuaXRlbVswXSA6IGkuaXRlbVswXS5uZXh0U2libGluZykpOw0KDQoJCS8vVmFyaW91cyB0aGluZ3MgZG9uZSBoZXJlIHRvIGltcHJvdmUgdGhlIHBlcmZvcm1hbmNlOg0KCQkvLyAxLiB3ZSBjcmVhdGUgYSBzZXRUaW1lb3V0LCB0aGF0IGNhbGxzIHJlZnJlc2hQb3NpdGlvbnMNCgkJLy8gMi4gb24gdGhlIGluc3RhbmNlLCB3ZSBoYXZlIGEgY291bnRlciB2YXJpYWJsZSwgdGhhdCBnZXQncyBoaWdoZXIgYWZ0ZXIgZXZlcnkgYXBwZW5kDQoJCS8vIDMuIG9uIHRoZSBsb2NhbCBzY29wZSwgd2UgY29weSB0aGUgY291bnRlciB2YXJpYWJsZSwgYW5kIGNoZWNrIGluIHRoZSB0aW1lb3V0LCBpZiBpdCdzIHN0aWxsIHRoZSBzYW1lDQoJCS8vIDQuIHRoaXMgbGV0cyBvbmx5IHRoZSBsYXN0IGFkZGl0aW9uIHRvIHRoZSB0aW1lb3V0IHN0YWNrIHRocm91Z2gNCgkJdGhpcy5jb3VudGVyID0gdGhpcy5jb3VudGVyID8gKyt0aGlzLmNvdW50ZXIgOiAxOw0KCQl2YXIgY291bnRlciA9IHRoaXMuY291bnRlcjsNCg0KCQl0aGlzLl9kZWxheShmdW5jdGlvbigpIHsNCgkJCWlmKGNvdW50ZXIgPT09IHRoaXMuY291bnRlcikgew0KCQkJCXRoaXMucmVmcmVzaFBvc2l0aW9ucyghaGFyZFJlZnJlc2gpOyAvL1ByZWNvbXB1dGUgYWZ0ZXIgZWFjaCBET00gaW5zZXJ0aW9uLCBOT1Qgb24gbW91c2Vtb3ZlDQoJCQl9DQoJCX0pOw0KDQoJfSwNCg0KCV9jbGVhcjogZnVuY3Rpb24oZXZlbnQsIG5vUHJvcGFnYXRpb24pIHsNCg0KCQl0aGlzLnJldmVydGluZyA9IGZhbHNlOw0KCQkvLyBXZSBkZWxheSBhbGwgZXZlbnRzIHRoYXQgaGF2ZSB0byBiZSB0cmlnZ2VyZWQgdG8gYWZ0ZXIgdGhlIHBvaW50IHdoZXJlIHRoZSBwbGFjZWhvbGRlciBoYXMgYmVlbiByZW1vdmVkIGFuZA0KCQkvLyBldmVyeXRoaW5nIGVsc2Ugbm9ybWFsaXplZCBhZ2Fpbg0KCQl2YXIgaSwNCgkJCWRlbGF5ZWRUcmlnZ2VycyA9IFtdOw0KDQoJCS8vIFdlIGZpcnN0IGhhdmUgdG8gdXBkYXRlIHRoZSBkb20gcG9zaXRpb24gb2YgdGhlIGFjdHVhbCBjdXJyZW50SXRlbQ0KCQkvLyBOb3RlOiBkb24ndCBkbyBpdCBpZiB0aGUgY3VycmVudCBpdGVtIGlzIGFscmVhZHkgcmVtb3ZlZCAoYnkgYSB1c2VyKSwgb3IgaXQgZ2V0cyByZWFwcGVuZGVkIChzZWUgIzQwODgpDQoJCWlmKCF0aGlzLl9ub0ZpbmFsU29ydCAmJiB0aGlzLmN1cnJlbnRJdGVtLnBhcmVudCgpLmxlbmd0aCkgew0KCQkJdGhpcy5wbGFjZWhvbGRlci5iZWZvcmUodGhpcy5jdXJyZW50SXRlbSk7DQoJCX0NCgkJdGhpcy5fbm9GaW5hbFNvcnQgPSBudWxsOw0KDQoJCWlmKHRoaXMuaGVscGVyWzBdID09PSB0aGlzLmN1cnJlbnRJdGVtWzBdKSB7DQoJCQlmb3IoaSBpbiB0aGlzLl9zdG9yZWRDU1MpIHsNCgkJCQlpZih0aGlzLl9zdG9yZWRDU1NbaV0gPT09ICJhdXRvIiB8fCB0aGlzLl9zdG9yZWRDU1NbaV0gPT09ICJzdGF0aWMiKSB7DQoJCQkJCXRoaXMuX3N0b3JlZENTU1tpXSA9ICIiOw0KCQkJCX0NCgkJCX0NCgkJCXRoaXMuY3VycmVudEl0ZW0uY3NzKHRoaXMuX3N0b3JlZENTUykucmVtb3ZlQ2xhc3MoInVpLXNvcnRhYmxlLWhlbHBlciIpOw0KCQl9IGVsc2Ugew0KCQkJdGhpcy5jdXJyZW50SXRlbS5zaG93KCk7DQoJCX0NCg0KCQlpZih0aGlzLmZyb21PdXRzaWRlICYmICFub1Byb3BhZ2F0aW9uKSB7DQoJCQlkZWxheWVkVHJpZ2dlcnMucHVzaChmdW5jdGlvbihldmVudCkgeyB0aGlzLl90cmlnZ2VyKCJyZWNlaXZlIiwgZXZlbnQsIHRoaXMuX3VpSGFzaCh0aGlzLmZyb21PdXRzaWRlKSk7IH0pOw0KCQl9DQoJCWlmKCh0aGlzLmZyb21PdXRzaWRlIHx8IHRoaXMuZG9tUG9zaXRpb24ucHJldiAhPT0gdGhpcy5jdXJyZW50SXRlbS5wcmV2KCkubm90KCIudWktc29ydGFibGUtaGVscGVyIilbMF0gfHwgdGhpcy5kb21Qb3NpdGlvbi5wYXJlbnQgIT09IHRoaXMuY3VycmVudEl0ZW0ucGFyZW50KClbMF0pICYmICFub1Byb3BhZ2F0aW9uKSB7DQoJCQlkZWxheWVkVHJpZ2dlcnMucHVzaChmdW5jdGlvbihldmVudCkgeyB0aGlzLl90cmlnZ2VyKCJ1cGRhdGUiLCBldmVudCwgdGhpcy5fdWlIYXNoKCkpOyB9KTsgLy9UcmlnZ2VyIHVwZGF0ZSBjYWxsYmFjayBpZiB0aGUgRE9NIHBvc2l0aW9uIGhhcyBjaGFuZ2VkDQoJCX0NCg0KCQkvLyBDaGVjayBpZiB0aGUgaXRlbXMgQ29udGFpbmVyIGhhcyBDaGFuZ2VkIGFuZCB0cmlnZ2VyIGFwcHJvcHJpYXRlDQoJCS8vIGV2ZW50cy4NCgkJaWYgKHRoaXMgIT09IHRoaXMuY3VycmVudENvbnRhaW5lcikgew0KCQkJaWYoIW5vUHJvcGFnYXRpb24pIHsNCgkJCQlkZWxheWVkVHJpZ2dlcnMucHVzaChmdW5jdGlvbihldmVudCkgeyB0aGlzLl90cmlnZ2VyKCJyZW1vdmUiLCBldmVudCwgdGhpcy5fdWlIYXNoKCkpOyB9KTsNCgkJCQlkZWxheWVkVHJpZ2dlcnMucHVzaCgoZnVuY3Rpb24oYykgeyByZXR1cm4gZnVuY3Rpb24oZXZlbnQpIHsgYy5fdHJpZ2dlcigicmVjZWl2ZSIsIGV2ZW50LCB0aGlzLl91aUhhc2godGhpcykpOyB9OyAgfSkuY2FsbCh0aGlzLCB0aGlzLmN1cnJlbnRDb250YWluZXIpKTsNCgkJCQlkZWxheWVkVHJpZ2dlcnMucHVzaCgoZnVuY3Rpb24oYykgeyByZXR1cm4gZnVuY3Rpb24oZXZlbnQpIHsgYy5fdHJpZ2dlcigidXBkYXRlIiwgZXZlbnQsIHRoaXMuX3VpSGFzaCh0aGlzKSk7ICB9OyB9KS5jYWxsKHRoaXMsIHRoaXMuY3VycmVudENvbnRhaW5lcikpOw0KCQkJfQ0KCQl9DQoNCg0KCQkvL1Bvc3QgZXZlbnRzIHRvIGNvbnRhaW5lcnMNCgkJZnVuY3Rpb24gZGVsYXlFdmVudCggdHlwZSwgaW5zdGFuY2UsIGNvbnRhaW5lciApIHsNCgkJCXJldHVybiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQkJY29udGFpbmVyLl90cmlnZ2VyKCB0eXBlLCBldmVudCwgaW5zdGFuY2UuX3VpSGFzaCggaW5zdGFuY2UgKSApOw0KCQkJfTsNCgkJfQ0KCQlmb3IgKGkgPSB0aGlzLmNvbnRhaW5lcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pew0KCQkJaWYgKCFub1Byb3BhZ2F0aW9uKSB7DQoJCQkJZGVsYXllZFRyaWdnZXJzLnB1c2goIGRlbGF5RXZlbnQoICJkZWFjdGl2YXRlIiwgdGhpcywgdGhpcy5jb250YWluZXJzWyBpIF0gKSApOw0KCQkJfQ0KCQkJaWYodGhpcy5jb250YWluZXJzW2ldLmNvbnRhaW5lckNhY2hlLm92ZXIpIHsNCgkJCQlkZWxheWVkVHJpZ2dlcnMucHVzaCggZGVsYXlFdmVudCggIm91dCIsIHRoaXMsIHRoaXMuY29udGFpbmVyc1sgaSBdICkgKTsNCgkJCQl0aGlzLmNvbnRhaW5lcnNbaV0uY29udGFpbmVyQ2FjaGUub3ZlciA9IDA7DQoJCQl9DQoJCX0NCg0KCQkvL0RvIHdoYXQgd2FzIG9yaWdpbmFsbHkgaW4gcGx1Z2lucw0KCQlpZiAoIHRoaXMuc3RvcmVkQ3Vyc29yICkgew0KCQkJdGhpcy5kb2N1bWVudC5maW5kKCAiYm9keSIgKS5jc3MoICJjdXJzb3IiLCB0aGlzLnN0b3JlZEN1cnNvciApOw0KCQkJdGhpcy5zdG9yZWRTdHlsZXNoZWV0LnJlbW92ZSgpOw0KCQl9DQoJCWlmKHRoaXMuX3N0b3JlZE9wYWNpdHkpIHsNCgkJCXRoaXMuaGVscGVyLmNzcygib3BhY2l0eSIsIHRoaXMuX3N0b3JlZE9wYWNpdHkpOw0KCQl9DQoJCWlmKHRoaXMuX3N0b3JlZFpJbmRleCkgew0KCQkJdGhpcy5oZWxwZXIuY3NzKCJ6SW5kZXgiLCB0aGlzLl9zdG9yZWRaSW5kZXggPT09ICJhdXRvIiA/ICIiIDogdGhpcy5fc3RvcmVkWkluZGV4KTsNCgkJfQ0KDQoJCXRoaXMuZHJhZ2dpbmcgPSBmYWxzZTsNCg0KCQlpZighbm9Qcm9wYWdhdGlvbikgew0KCQkJdGhpcy5fdHJpZ2dlcigiYmVmb3JlU3RvcCIsIGV2ZW50LCB0aGlzLl91aUhhc2goKSk7DQoJCX0NCg0KCQkvLyQodGhpcy5wbGFjZWhvbGRlclswXSkucmVtb3ZlKCk7IHdvdWxkIGhhdmUgYmVlbiB0aGUgalF1ZXJ5IHdheSAtIHVuZm9ydHVuYXRlbHksIGl0IHVuYmluZHMgQUxMIGV2ZW50cyBmcm9tIHRoZSBvcmlnaW5hbCBub2RlIQ0KCQl0aGlzLnBsYWNlaG9sZGVyWzBdLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5wbGFjZWhvbGRlclswXSk7DQoNCgkJaWYgKCAhdGhpcy5jYW5jZWxIZWxwZXJSZW1vdmFsICkgew0KCQkJaWYgKCB0aGlzLmhlbHBlclsgMCBdICE9PSB0aGlzLmN1cnJlbnRJdGVtWyAwIF0gKSB7DQoJCQkJdGhpcy5oZWxwZXIucmVtb3ZlKCk7DQoJCQl9DQoJCQl0aGlzLmhlbHBlciA9IG51bGw7DQoJCX0NCg0KCQlpZighbm9Qcm9wYWdhdGlvbikgew0KCQkJZm9yIChpPTA7IGkgPCBkZWxheWVkVHJpZ2dlcnMubGVuZ3RoOyBpKyspIHsNCgkJCQlkZWxheWVkVHJpZ2dlcnNbaV0uY2FsbCh0aGlzLCBldmVudCk7DQoJCQl9IC8vVHJpZ2dlciBhbGwgZGVsYXllZCBldmVudHMNCgkJCXRoaXMuX3RyaWdnZXIoInN0b3AiLCBldmVudCwgdGhpcy5fdWlIYXNoKCkpOw0KCQl9DQoNCgkJdGhpcy5mcm9tT3V0c2lkZSA9IGZhbHNlOw0KCQlyZXR1cm4gIXRoaXMuY2FuY2VsSGVscGVyUmVtb3ZhbDsNCg0KCX0sDQoNCglfdHJpZ2dlcjogZnVuY3Rpb24oKSB7DQoJCWlmICgkLldpZGdldC5wcm90b3R5cGUuX3RyaWdnZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKSA9PT0gZmFsc2UpIHsNCgkJCXRoaXMuY2FuY2VsKCk7DQoJCX0NCgl9LA0KDQoJX3VpSGFzaDogZnVuY3Rpb24oX2luc3QpIHsNCgkJdmFyIGluc3QgPSBfaW5zdCB8fCB0aGlzOw0KCQlyZXR1cm4gew0KCQkJaGVscGVyOiBpbnN0LmhlbHBlciwNCgkJCXBsYWNlaG9sZGVyOiBpbnN0LnBsYWNlaG9sZGVyIHx8ICQoW10pLA0KCQkJcG9zaXRpb246IGluc3QucG9zaXRpb24sDQoJCQlvcmlnaW5hbFBvc2l0aW9uOiBpbnN0Lm9yaWdpbmFsUG9zaXRpb24sDQoJCQlvZmZzZXQ6IGluc3QucG9zaXRpb25BYnMsDQoJCQlpdGVtOiBpbnN0LmN1cnJlbnRJdGVtLA0KCQkJc2VuZGVyOiBfaW5zdCA/IF9pbnN0LmVsZW1lbnQgOiBudWxsDQoJCX07DQoJfQ0KDQp9KTsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBBY2NvcmRpb24gMS4xMS40DQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqDQogKiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9hY2NvcmRpb24vDQogKi8NCg0KDQp2YXIgYWNjb3JkaW9uID0gJC53aWRnZXQoICJ1aS5hY2NvcmRpb24iLCB7DQoJdmVyc2lvbjogIjEuMTEuNCIsDQoJb3B0aW9uczogew0KCQlhY3RpdmU6IDAsDQoJCWFuaW1hdGU6IHt9LA0KCQljb2xsYXBzaWJsZTogZmFsc2UsDQoJCWV2ZW50OiAiY2xpY2siLA0KCQloZWFkZXI6ICI+IGxpID4gOmZpcnN0LWNoaWxkLD4gOm5vdChsaSk6ZXZlbiIsDQoJCWhlaWdodFN0eWxlOiAiYXV0byIsDQoJCWljb25zOiB7DQoJCQlhY3RpdmVIZWFkZXI6ICJ1aS1pY29uLXRyaWFuZ2xlLTEtcyIsDQoJCQloZWFkZXI6ICJ1aS1pY29uLXRyaWFuZ2xlLTEtZSINCgkJfSwNCg0KCQkvLyBjYWxsYmFja3MNCgkJYWN0aXZhdGU6IG51bGwsDQoJCWJlZm9yZUFjdGl2YXRlOiBudWxsDQoJfSwNCg0KCWhpZGVQcm9wczogew0KCQlib3JkZXJUb3BXaWR0aDogImhpZGUiLA0KCQlib3JkZXJCb3R0b21XaWR0aDogImhpZGUiLA0KCQlwYWRkaW5nVG9wOiAiaGlkZSIsDQoJCXBhZGRpbmdCb3R0b206ICJoaWRlIiwNCgkJaGVpZ2h0OiAiaGlkZSINCgl9LA0KDQoJc2hvd1Byb3BzOiB7DQoJCWJvcmRlclRvcFdpZHRoOiAic2hvdyIsDQoJCWJvcmRlckJvdHRvbVdpZHRoOiAic2hvdyIsDQoJCXBhZGRpbmdUb3A6ICJzaG93IiwNCgkJcGFkZGluZ0JvdHRvbTogInNob3ciLA0KCQloZWlnaHQ6ICJzaG93Ig0KCX0sDQoNCglfY3JlYXRlOiBmdW5jdGlvbigpIHsNCgkJdmFyIG9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7DQoJCXRoaXMucHJldlNob3cgPSB0aGlzLnByZXZIaWRlID0gJCgpOw0KCQl0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoICJ1aS1hY2NvcmRpb24gdWktd2lkZ2V0IHVpLWhlbHBlci1yZXNldCIgKQ0KCQkJLy8gQVJJQQ0KCQkJLmF0dHIoICJyb2xlIiwgInRhYmxpc3QiICk7DQoNCgkJLy8gZG9uJ3QgYWxsb3cgY29sbGFwc2libGU6IGZhbHNlIGFuZCBhY3RpdmU6IGZhbHNlIC8gbnVsbA0KCQlpZiAoICFvcHRpb25zLmNvbGxhcHNpYmxlICYmIChvcHRpb25zLmFjdGl2ZSA9PT0gZmFsc2UgfHwgb3B0aW9ucy5hY3RpdmUgPT0gbnVsbCkgKSB7DQoJCQlvcHRpb25zLmFjdGl2ZSA9IDA7DQoJCX0NCg0KCQl0aGlzLl9wcm9jZXNzUGFuZWxzKCk7DQoJCS8vIGhhbmRsZSBuZWdhdGl2ZSB2YWx1ZXMNCgkJaWYgKCBvcHRpb25zLmFjdGl2ZSA8IDAgKSB7DQoJCQlvcHRpb25zLmFjdGl2ZSArPSB0aGlzLmhlYWRlcnMubGVuZ3RoOw0KCQl9DQoJCXRoaXMuX3JlZnJlc2goKTsNCgl9LA0KDQoJX2dldENyZWF0ZUV2ZW50RGF0YTogZnVuY3Rpb24oKSB7DQoJCXJldHVybiB7DQoJCQloZWFkZXI6IHRoaXMuYWN0aXZlLA0KCQkJcGFuZWw6ICF0aGlzLmFjdGl2ZS5sZW5ndGggPyAkKCkgOiB0aGlzLmFjdGl2ZS5uZXh0KCkNCgkJfTsNCgl9LA0KDQoJX2NyZWF0ZUljb25zOiBmdW5jdGlvbigpIHsNCgkJdmFyIGljb25zID0gdGhpcy5vcHRpb25zLmljb25zOw0KCQlpZiAoIGljb25zICkgew0KCQkJJCggIjxzcGFuPiIgKQ0KCQkJCS5hZGRDbGFzcyggInVpLWFjY29yZGlvbi1oZWFkZXItaWNvbiB1aS1pY29uICIgKyBpY29ucy5oZWFkZXIgKQ0KCQkJCS5wcmVwZW5kVG8oIHRoaXMuaGVhZGVycyApOw0KCQkJdGhpcy5hY3RpdmUuY2hpbGRyZW4oICIudWktYWNjb3JkaW9uLWhlYWRlci1pY29uIiApDQoJCQkJLnJlbW92ZUNsYXNzKCBpY29ucy5oZWFkZXIgKQ0KCQkJCS5hZGRDbGFzcyggaWNvbnMuYWN0aXZlSGVhZGVyICk7DQoJCQl0aGlzLmhlYWRlcnMuYWRkQ2xhc3MoICJ1aS1hY2NvcmRpb24taWNvbnMiICk7DQoJCX0NCgl9LA0KDQoJX2Rlc3Ryb3lJY29uczogZnVuY3Rpb24oKSB7DQoJCXRoaXMuaGVhZGVycw0KCQkJLnJlbW92ZUNsYXNzKCAidWktYWNjb3JkaW9uLWljb25zIiApDQoJCQkuY2hpbGRyZW4oICIudWktYWNjb3JkaW9uLWhlYWRlci1pY29uIiApDQoJCQkJLnJlbW92ZSgpOw0KCX0sDQoNCglfZGVzdHJveTogZnVuY3Rpb24oKSB7DQoJCXZhciBjb250ZW50czsNCg0KCQkvLyBjbGVhbiB1cCBtYWluIGVsZW1lbnQNCgkJdGhpcy5lbGVtZW50DQoJCQkucmVtb3ZlQ2xhc3MoICJ1aS1hY2NvcmRpb24gdWktd2lkZ2V0IHVpLWhlbHBlci1yZXNldCIgKQ0KCQkJLnJlbW92ZUF0dHIoICJyb2xlIiApOw0KDQoJCS8vIGNsZWFuIHVwIGhlYWRlcnMNCgkJdGhpcy5oZWFkZXJzDQoJCQkucmVtb3ZlQ2xhc3MoICJ1aS1hY2NvcmRpb24taGVhZGVyIHVpLWFjY29yZGlvbi1oZWFkZXItYWN0aXZlIHVpLXN0YXRlLWRlZmF1bHQgIiArDQoJCQkJInVpLWNvcm5lci1hbGwgdWktc3RhdGUtYWN0aXZlIHVpLXN0YXRlLWRpc2FibGVkIHVpLWNvcm5lci10b3AiICkNCgkJCS5yZW1vdmVBdHRyKCAicm9sZSIgKQ0KCQkJLnJlbW92ZUF0dHIoICJhcmlhLWV4cGFuZGVkIiApDQoJCQkucmVtb3ZlQXR0ciggImFyaWEtc2VsZWN0ZWQiICkNCgkJCS5yZW1vdmVBdHRyKCAiYXJpYS1jb250cm9scyIgKQ0KCQkJLnJlbW92ZUF0dHIoICJ0YWJJbmRleCIgKQ0KCQkJLnJlbW92ZVVuaXF1ZUlkKCk7DQoNCgkJdGhpcy5fZGVzdHJveUljb25zKCk7DQoNCgkJLy8gY2xlYW4gdXAgY29udGVudCBwYW5lbHMNCgkJY29udGVudHMgPSB0aGlzLmhlYWRlcnMubmV4dCgpDQoJCQkucmVtb3ZlQ2xhc3MoICJ1aS1oZWxwZXItcmVzZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWJvdHRvbSAiICsNCgkJCQkidWktYWNjb3JkaW9uLWNvbnRlbnQgdWktYWNjb3JkaW9uLWNvbnRlbnQtYWN0aXZlIHVpLXN0YXRlLWRpc2FibGVkIiApDQoJCQkuY3NzKCAiZGlzcGxheSIsICIiICkNCgkJCS5yZW1vdmVBdHRyKCAicm9sZSIgKQ0KCQkJLnJlbW92ZUF0dHIoICJhcmlhLWhpZGRlbiIgKQ0KCQkJLnJlbW92ZUF0dHIoICJhcmlhLWxhYmVsbGVkYnkiICkNCgkJCS5yZW1vdmVVbmlxdWVJZCgpOw0KDQoJCWlmICggdGhpcy5vcHRpb25zLmhlaWdodFN0eWxlICE9PSAiY29udGVudCIgKSB7DQoJCQljb250ZW50cy5jc3MoICJoZWlnaHQiLCAiIiApOw0KCQl9DQoJfSwNCg0KCV9zZXRPcHRpb246IGZ1bmN0aW9uKCBrZXksIHZhbHVlICkgew0KCQlpZiAoIGtleSA9PT0gImFjdGl2ZSIgKSB7DQoJCQkvLyBfYWN0aXZhdGUoKSB3aWxsIGhhbmRsZSBpbnZhbGlkIHZhbHVlcyBhbmQgdXBkYXRlIHRoaXMub3B0aW9ucw0KCQkJdGhpcy5fYWN0aXZhdGUoIHZhbHVlICk7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQlpZiAoIGtleSA9PT0gImV2ZW50IiApIHsNCgkJCWlmICggdGhpcy5vcHRpb25zLmV2ZW50ICkgew0KCQkJCXRoaXMuX29mZiggdGhpcy5oZWFkZXJzLCB0aGlzLm9wdGlvbnMuZXZlbnQgKTsNCgkJCX0NCgkJCXRoaXMuX3NldHVwRXZlbnRzKCB2YWx1ZSApOw0KCQl9DQoNCgkJdGhpcy5fc3VwZXIoIGtleSwgdmFsdWUgKTsNCg0KCQkvLyBzZXR0aW5nIGNvbGxhcHNpYmxlOiBmYWxzZSB3aGlsZSBjb2xsYXBzZWQ7IG9wZW4gZmlyc3QgcGFuZWwNCgkJaWYgKCBrZXkgPT09ICJjb2xsYXBzaWJsZSIgJiYgIXZhbHVlICYmIHRoaXMub3B0aW9ucy5hY3RpdmUgPT09IGZhbHNlICkgew0KCQkJdGhpcy5fYWN0aXZhdGUoIDAgKTsNCgkJfQ0KDQoJCWlmICgga2V5ID09PSAiaWNvbnMiICkgew0KCQkJdGhpcy5fZGVzdHJveUljb25zKCk7DQoJCQlpZiAoIHZhbHVlICkgew0KCQkJCXRoaXMuX2NyZWF0ZUljb25zKCk7DQoJCQl9DQoJCX0NCg0KCQkvLyAjNTMzMiAtIG9wYWNpdHkgZG9lc24ndCBjYXNjYWRlIHRvIHBvc2l0aW9uZWQgZWxlbWVudHMgaW4gSUUNCgkJLy8gc28gd2UgbmVlZCB0byBhZGQgdGhlIGRpc2FibGVkIGNsYXNzIHRvIHRoZSBoZWFkZXJzIGFuZCBwYW5lbHMNCgkJaWYgKCBrZXkgPT09ICJkaXNhYmxlZCIgKSB7DQoJCQl0aGlzLmVsZW1lbnQNCgkJCQkudG9nZ2xlQ2xhc3MoICJ1aS1zdGF0ZS1kaXNhYmxlZCIsICEhdmFsdWUgKQ0KCQkJCS5hdHRyKCAiYXJpYS1kaXNhYmxlZCIsIHZhbHVlICk7DQoJCQl0aGlzLmhlYWRlcnMuYWRkKCB0aGlzLmhlYWRlcnMubmV4dCgpICkNCgkJCQkudG9nZ2xlQ2xhc3MoICJ1aS1zdGF0ZS1kaXNhYmxlZCIsICEhdmFsdWUgKTsNCgkJfQ0KCX0sDQoNCglfa2V5ZG93bjogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQlpZiAoIGV2ZW50LmFsdEtleSB8fCBldmVudC5jdHJsS2V5ICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJdmFyIGtleUNvZGUgPSAkLnVpLmtleUNvZGUsDQoJCQlsZW5ndGggPSB0aGlzLmhlYWRlcnMubGVuZ3RoLA0KCQkJY3VycmVudEluZGV4ID0gdGhpcy5oZWFkZXJzLmluZGV4KCBldmVudC50YXJnZXQgKSwNCgkJCXRvRm9jdXMgPSBmYWxzZTsNCg0KCQlzd2l0Y2ggKCBldmVudC5rZXlDb2RlICkgew0KCQkJY2FzZSBrZXlDb2RlLlJJR0hUOg0KCQkJY2FzZSBrZXlDb2RlLkRPV046DQoJCQkJdG9Gb2N1cyA9IHRoaXMuaGVhZGVyc1sgKCBjdXJyZW50SW5kZXggKyAxICkgJSBsZW5ndGggXTsNCgkJCQlicmVhazsNCgkJCWNhc2Uga2V5Q29kZS5MRUZUOg0KCQkJY2FzZSBrZXlDb2RlLlVQOg0KCQkJCXRvRm9jdXMgPSB0aGlzLmhlYWRlcnNbICggY3VycmVudEluZGV4IC0gMSArIGxlbmd0aCApICUgbGVuZ3RoIF07DQoJCQkJYnJlYWs7DQoJCQljYXNlIGtleUNvZGUuU1BBQ0U6DQoJCQljYXNlIGtleUNvZGUuRU5URVI6DQoJCQkJdGhpcy5fZXZlbnRIYW5kbGVyKCBldmVudCApOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSBrZXlDb2RlLkhPTUU6DQoJCQkJdG9Gb2N1cyA9IHRoaXMuaGVhZGVyc1sgMCBdOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSBrZXlDb2RlLkVORDoNCgkJCQl0b0ZvY3VzID0gdGhpcy5oZWFkZXJzWyBsZW5ndGggLSAxIF07DQoJCQkJYnJlYWs7DQoJCX0NCg0KCQlpZiAoIHRvRm9jdXMgKSB7DQoJCQkkKCBldmVudC50YXJnZXQgKS5hdHRyKCAidGFiSW5kZXgiLCAtMSApOw0KCQkJJCggdG9Gb2N1cyApLmF0dHIoICJ0YWJJbmRleCIsIDAgKTsNCgkJCXRvRm9jdXMuZm9jdXMoKTsNCgkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJCX0NCgl9LA0KDQoJX3BhbmVsS2V5RG93bjogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQlpZiAoIGV2ZW50LmtleUNvZGUgPT09ICQudWkua2V5Q29kZS5VUCAmJiBldmVudC5jdHJsS2V5ICkgew0KCQkJJCggZXZlbnQuY3VycmVudFRhcmdldCApLnByZXYoKS5mb2N1cygpOw0KCQl9DQoJfSwNCg0KCXJlZnJlc2g6IGZ1bmN0aW9uKCkgew0KCQl2YXIgb3B0aW9ucyA9IHRoaXMub3B0aW9uczsNCgkJdGhpcy5fcHJvY2Vzc1BhbmVscygpOw0KDQoJCS8vIHdhcyBjb2xsYXBzZWQgb3Igbm8gcGFuZWwNCgkJaWYgKCAoIG9wdGlvbnMuYWN0aXZlID09PSBmYWxzZSAmJiBvcHRpb25zLmNvbGxhcHNpYmxlID09PSB0cnVlICkgfHwgIXRoaXMuaGVhZGVycy5sZW5ndGggKSB7DQoJCQlvcHRpb25zLmFjdGl2ZSA9IGZhbHNlOw0KCQkJdGhpcy5hY3RpdmUgPSAkKCk7DQoJCS8vIGFjdGl2ZSBmYWxzZSBvbmx5IHdoZW4gY29sbGFwc2libGUgaXMgdHJ1ZQ0KCQl9IGVsc2UgaWYgKCBvcHRpb25zLmFjdGl2ZSA9PT0gZmFsc2UgKSB7DQoJCQl0aGlzLl9hY3RpdmF0ZSggMCApOw0KCQkvLyB3YXMgYWN0aXZlLCBidXQgYWN0aXZlIHBhbmVsIGlzIGdvbmUNCgkJfSBlbHNlIGlmICggdGhpcy5hY3RpdmUubGVuZ3RoICYmICEkLmNvbnRhaW5zKCB0aGlzLmVsZW1lbnRbIDAgXSwgdGhpcy5hY3RpdmVbIDAgXSApICkgew0KCQkJLy8gYWxsIHJlbWFpbmluZyBwYW5lbCBhcmUgZGlzYWJsZWQNCgkJCWlmICggdGhpcy5oZWFkZXJzLmxlbmd0aCA9PT0gdGhpcy5oZWFkZXJzLmZpbmQoIi51aS1zdGF0ZS1kaXNhYmxlZCIpLmxlbmd0aCApIHsNCgkJCQlvcHRpb25zLmFjdGl2ZSA9IGZhbHNlOw0KCQkJCXRoaXMuYWN0aXZlID0gJCgpOw0KCQkJLy8gYWN0aXZhdGUgcHJldmlvdXMgcGFuZWwNCgkJCX0gZWxzZSB7DQoJCQkJdGhpcy5fYWN0aXZhdGUoIE1hdGgubWF4KCAwLCBvcHRpb25zLmFjdGl2ZSAtIDEgKSApOw0KCQkJfQ0KCQkvLyB3YXMgYWN0aXZlLCBhY3RpdmUgcGFuZWwgc3RpbGwgZXhpc3RzDQoJCX0gZWxzZSB7DQoJCQkvLyBtYWtlIHN1cmUgYWN0aXZlIGluZGV4IGlzIGNvcnJlY3QNCgkJCW9wdGlvbnMuYWN0aXZlID0gdGhpcy5oZWFkZXJzLmluZGV4KCB0aGlzLmFjdGl2ZSApOw0KCQl9DQoNCgkJdGhpcy5fZGVzdHJveUljb25zKCk7DQoNCgkJdGhpcy5fcmVmcmVzaCgpOw0KCX0sDQoNCglfcHJvY2Vzc1BhbmVsczogZnVuY3Rpb24oKSB7DQoJCXZhciBwcmV2SGVhZGVycyA9IHRoaXMuaGVhZGVycywNCgkJCXByZXZQYW5lbHMgPSB0aGlzLnBhbmVsczsNCg0KCQl0aGlzLmhlYWRlcnMgPSB0aGlzLmVsZW1lbnQuZmluZCggdGhpcy5vcHRpb25zLmhlYWRlciApDQoJCQkuYWRkQ2xhc3MoICJ1aS1hY2NvcmRpb24taGVhZGVyIHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCIgKTsNCg0KCQl0aGlzLnBhbmVscyA9IHRoaXMuaGVhZGVycy5uZXh0KCkNCgkJCS5hZGRDbGFzcyggInVpLWFjY29yZGlvbi1jb250ZW50IHVpLWhlbHBlci1yZXNldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYm90dG9tIiApDQoJCQkuZmlsdGVyKCAiOm5vdCgudWktYWNjb3JkaW9uLWNvbnRlbnQtYWN0aXZlKSIgKQ0KCQkJLmhpZGUoKTsNCg0KCQkvLyBBdm9pZCBtZW1vcnkgbGVha3MgKCMxMDA1NikNCgkJaWYgKCBwcmV2UGFuZWxzICkgew0KCQkJdGhpcy5fb2ZmKCBwcmV2SGVhZGVycy5ub3QoIHRoaXMuaGVhZGVycyApICk7DQoJCQl0aGlzLl9vZmYoIHByZXZQYW5lbHMubm90KCB0aGlzLnBhbmVscyApICk7DQoJCX0NCgl9LA0KDQoJX3JlZnJlc2g6IGZ1bmN0aW9uKCkgew0KCQl2YXIgbWF4SGVpZ2h0LA0KCQkJb3B0aW9ucyA9IHRoaXMub3B0aW9ucywNCgkJCWhlaWdodFN0eWxlID0gb3B0aW9ucy5oZWlnaHRTdHlsZSwNCgkJCXBhcmVudCA9IHRoaXMuZWxlbWVudC5wYXJlbnQoKTsNCg0KCQl0aGlzLmFjdGl2ZSA9IHRoaXMuX2ZpbmRBY3RpdmUoIG9wdGlvbnMuYWN0aXZlICkNCgkJCS5hZGRDbGFzcyggInVpLWFjY29yZGlvbi1oZWFkZXItYWN0aXZlIHVpLXN0YXRlLWFjdGl2ZSB1aS1jb3JuZXItdG9wIiApDQoJCQkucmVtb3ZlQ2xhc3MoICJ1aS1jb3JuZXItYWxsIiApOw0KCQl0aGlzLmFjdGl2ZS5uZXh0KCkNCgkJCS5hZGRDbGFzcyggInVpLWFjY29yZGlvbi1jb250ZW50LWFjdGl2ZSIgKQ0KCQkJLnNob3coKTsNCg0KCQl0aGlzLmhlYWRlcnMNCgkJCS5hdHRyKCAicm9sZSIsICJ0YWIiICkNCgkJCS5lYWNoKGZ1bmN0aW9uKCkgew0KCQkJCXZhciBoZWFkZXIgPSAkKCB0aGlzICksDQoJCQkJCWhlYWRlcklkID0gaGVhZGVyLnVuaXF1ZUlkKCkuYXR0ciggImlkIiApLA0KCQkJCQlwYW5lbCA9IGhlYWRlci5uZXh0KCksDQoJCQkJCXBhbmVsSWQgPSBwYW5lbC51bmlxdWVJZCgpLmF0dHIoICJpZCIgKTsNCgkJCQloZWFkZXIuYXR0ciggImFyaWEtY29udHJvbHMiLCBwYW5lbElkICk7DQoJCQkJcGFuZWwuYXR0ciggImFyaWEtbGFiZWxsZWRieSIsIGhlYWRlcklkICk7DQoJCQl9KQ0KCQkJLm5leHQoKQ0KCQkJCS5hdHRyKCAicm9sZSIsICJ0YWJwYW5lbCIgKTsNCg0KCQl0aGlzLmhlYWRlcnMNCgkJCS5ub3QoIHRoaXMuYWN0aXZlICkNCgkJCS5hdHRyKHsNCgkJCQkiYXJpYS1zZWxlY3RlZCI6ICJmYWxzZSIsDQoJCQkJImFyaWEtZXhwYW5kZWQiOiAiZmFsc2UiLA0KCQkJCXRhYkluZGV4OiAtMQ0KCQkJfSkNCgkJCS5uZXh0KCkNCgkJCQkuYXR0cih7DQoJCQkJCSJhcmlhLWhpZGRlbiI6ICJ0cnVlIg0KCQkJCX0pDQoJCQkJLmhpZGUoKTsNCg0KCQkvLyBtYWtlIHN1cmUgYXQgbGVhc3Qgb25lIGhlYWRlciBpcyBpbiB0aGUgdGFiIG9yZGVyDQoJCWlmICggIXRoaXMuYWN0aXZlLmxlbmd0aCApIHsNCgkJCXRoaXMuaGVhZGVycy5lcSggMCApLmF0dHIoICJ0YWJJbmRleCIsIDAgKTsNCgkJfSBlbHNlIHsNCgkJCXRoaXMuYWN0aXZlLmF0dHIoew0KCQkJCSJhcmlhLXNlbGVjdGVkIjogInRydWUiLA0KCQkJCSJhcmlhLWV4cGFuZGVkIjogInRydWUiLA0KCQkJCXRhYkluZGV4OiAwDQoJCQl9KQ0KCQkJLm5leHQoKQ0KCQkJCS5hdHRyKHsNCgkJCQkJImFyaWEtaGlkZGVuIjogImZhbHNlIg0KCQkJCX0pOw0KCQl9DQoNCgkJdGhpcy5fY3JlYXRlSWNvbnMoKTsNCg0KCQl0aGlzLl9zZXR1cEV2ZW50cyggb3B0aW9ucy5ldmVudCApOw0KDQoJCWlmICggaGVpZ2h0U3R5bGUgPT09ICJmaWxsIiApIHsNCgkJCW1heEhlaWdodCA9IHBhcmVudC5oZWlnaHQoKTsNCgkJCXRoaXMuZWxlbWVudC5zaWJsaW5ncyggIjp2aXNpYmxlIiApLmVhY2goZnVuY3Rpb24oKSB7DQoJCQkJdmFyIGVsZW0gPSAkKCB0aGlzICksDQoJCQkJCXBvc2l0aW9uID0gZWxlbS5jc3MoICJwb3NpdGlvbiIgKTsNCg0KCQkJCWlmICggcG9zaXRpb24gPT09ICJhYnNvbHV0ZSIgfHwgcG9zaXRpb24gPT09ICJmaXhlZCIgKSB7DQoJCQkJCXJldHVybjsNCgkJCQl9DQoJCQkJbWF4SGVpZ2h0IC09IGVsZW0ub3V0ZXJIZWlnaHQoIHRydWUgKTsNCgkJCX0pOw0KDQoJCQl0aGlzLmhlYWRlcnMuZWFjaChmdW5jdGlvbigpIHsNCgkJCQltYXhIZWlnaHQgLT0gJCggdGhpcyApLm91dGVySGVpZ2h0KCB0cnVlICk7DQoJCQl9KTsNCg0KCQkJdGhpcy5oZWFkZXJzLm5leHQoKQ0KCQkJCS5lYWNoKGZ1bmN0aW9uKCkgew0KCQkJCQkkKCB0aGlzICkuaGVpZ2h0KCBNYXRoLm1heCggMCwgbWF4SGVpZ2h0IC0NCgkJCQkJCSQoIHRoaXMgKS5pbm5lckhlaWdodCgpICsgJCggdGhpcyApLmhlaWdodCgpICkgKTsNCgkJCQl9KQ0KCQkJCS5jc3MoICJvdmVyZmxvdyIsICJhdXRvIiApOw0KCQl9IGVsc2UgaWYgKCBoZWlnaHRTdHlsZSA9PT0gImF1dG8iICkgew0KCQkJbWF4SGVpZ2h0ID0gMDsNCgkJCXRoaXMuaGVhZGVycy5uZXh0KCkNCgkJCQkuZWFjaChmdW5jdGlvbigpIHsNCgkJCQkJbWF4SGVpZ2h0ID0gTWF0aC5tYXgoIG1heEhlaWdodCwgJCggdGhpcyApLmNzcyggImhlaWdodCIsICIiICkuaGVpZ2h0KCkgKTsNCgkJCQl9KQ0KCQkJCS5oZWlnaHQoIG1heEhlaWdodCApOw0KCQl9DQoJfSwNCg0KCV9hY3RpdmF0ZTogZnVuY3Rpb24oIGluZGV4ICkgew0KCQl2YXIgYWN0aXZlID0gdGhpcy5fZmluZEFjdGl2ZSggaW5kZXggKVsgMCBdOw0KDQoJCS8vIHRyeWluZyB0byBhY3RpdmF0ZSB0aGUgYWxyZWFkeSBhY3RpdmUgcGFuZWwNCgkJaWYgKCBhY3RpdmUgPT09IHRoaXMuYWN0aXZlWyAwIF0gKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQkvLyB0cnlpbmcgdG8gY29sbGFwc2UsIHNpbXVsYXRlIGEgY2xpY2sgb24gdGhlIGN1cnJlbnRseSBhY3RpdmUgaGVhZGVyDQoJCWFjdGl2ZSA9IGFjdGl2ZSB8fCB0aGlzLmFjdGl2ZVsgMCBdOw0KDQoJCXRoaXMuX2V2ZW50SGFuZGxlcih7DQoJCQl0YXJnZXQ6IGFjdGl2ZSwNCgkJCWN1cnJlbnRUYXJnZXQ6IGFjdGl2ZSwNCgkJCXByZXZlbnREZWZhdWx0OiAkLm5vb3ANCgkJfSk7DQoJfSwNCg0KCV9maW5kQWN0aXZlOiBmdW5jdGlvbiggc2VsZWN0b3IgKSB7DQoJCXJldHVybiB0eXBlb2Ygc2VsZWN0b3IgPT09ICJudW1iZXIiID8gdGhpcy5oZWFkZXJzLmVxKCBzZWxlY3RvciApIDogJCgpOw0KCX0sDQoNCglfc2V0dXBFdmVudHM6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdmFyIGV2ZW50cyA9IHsNCgkJCWtleWRvd246ICJfa2V5ZG93biINCgkJfTsNCgkJaWYgKCBldmVudCApIHsNCgkJCSQuZWFjaCggZXZlbnQuc3BsaXQoICIgIiApLCBmdW5jdGlvbiggaW5kZXgsIGV2ZW50TmFtZSApIHsNCgkJCQlldmVudHNbIGV2ZW50TmFtZSBdID0gIl9ldmVudEhhbmRsZXIiOw0KCQkJfSk7DQoJCX0NCg0KCQl0aGlzLl9vZmYoIHRoaXMuaGVhZGVycy5hZGQoIHRoaXMuaGVhZGVycy5uZXh0KCkgKSApOw0KCQl0aGlzLl9vbiggdGhpcy5oZWFkZXJzLCBldmVudHMgKTsNCgkJdGhpcy5fb24oIHRoaXMuaGVhZGVycy5uZXh0KCksIHsga2V5ZG93bjogIl9wYW5lbEtleURvd24iIH0pOw0KCQl0aGlzLl9ob3ZlcmFibGUoIHRoaXMuaGVhZGVycyApOw0KCQl0aGlzLl9mb2N1c2FibGUoIHRoaXMuaGVhZGVycyApOw0KCX0sDQoNCglfZXZlbnRIYW5kbGVyOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXZhciBvcHRpb25zID0gdGhpcy5vcHRpb25zLA0KCQkJYWN0aXZlID0gdGhpcy5hY3RpdmUsDQoJCQljbGlja2VkID0gJCggZXZlbnQuY3VycmVudFRhcmdldCApLA0KCQkJY2xpY2tlZElzQWN0aXZlID0gY2xpY2tlZFsgMCBdID09PSBhY3RpdmVbIDAgXSwNCgkJCWNvbGxhcHNpbmcgPSBjbGlja2VkSXNBY3RpdmUgJiYgb3B0aW9ucy5jb2xsYXBzaWJsZSwNCgkJCXRvU2hvdyA9IGNvbGxhcHNpbmcgPyAkKCkgOiBjbGlja2VkLm5leHQoKSwNCgkJCXRvSGlkZSA9IGFjdGl2ZS5uZXh0KCksDQoJCQlldmVudERhdGEgPSB7DQoJCQkJb2xkSGVhZGVyOiBhY3RpdmUsDQoJCQkJb2xkUGFuZWw6IHRvSGlkZSwNCgkJCQluZXdIZWFkZXI6IGNvbGxhcHNpbmcgPyAkKCkgOiBjbGlja2VkLA0KCQkJCW5ld1BhbmVsOiB0b1Nob3cNCgkJCX07DQoNCgkJZXZlbnQucHJldmVudERlZmF1bHQoKTsNCg0KCQlpZiAoDQoJCQkJLy8gY2xpY2sgb24gYWN0aXZlIGhlYWRlciwgYnV0IG5vdCBjb2xsYXBzaWJsZQ0KCQkJCSggY2xpY2tlZElzQWN0aXZlICYmICFvcHRpb25zLmNvbGxhcHNpYmxlICkgfHwNCgkJCQkvLyBhbGxvdyBjYW5jZWxpbmcgYWN0aXZhdGlvbg0KCQkJCSggdGhpcy5fdHJpZ2dlciggImJlZm9yZUFjdGl2YXRlIiwgZXZlbnQsIGV2ZW50RGF0YSApID09PSBmYWxzZSApICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJb3B0aW9ucy5hY3RpdmUgPSBjb2xsYXBzaW5nID8gZmFsc2UgOiB0aGlzLmhlYWRlcnMuaW5kZXgoIGNsaWNrZWQgKTsNCg0KCQkvLyB3aGVuIHRoZSBjYWxsIHRvIC5fdG9nZ2xlKCkgY29tZXMgYWZ0ZXIgdGhlIGNsYXNzIGNoYW5nZXMNCgkJLy8gaXQgY2F1c2VzIGEgdmVyeSBvZGQgYnVnIGluIElFIDggKHNlZSAjNjcyMCkNCgkJdGhpcy5hY3RpdmUgPSBjbGlja2VkSXNBY3RpdmUgPyAkKCkgOiBjbGlja2VkOw0KCQl0aGlzLl90b2dnbGUoIGV2ZW50RGF0YSApOw0KDQoJCS8vIHN3aXRjaCBjbGFzc2VzDQoJCS8vIGNvcm5lciBjbGFzc2VzIG9uIHRoZSBwcmV2aW91c2x5IGFjdGl2ZSBoZWFkZXIgc3RheSBhZnRlciB0aGUgYW5pbWF0aW9uDQoJCWFjdGl2ZS5yZW1vdmVDbGFzcyggInVpLWFjY29yZGlvbi1oZWFkZXItYWN0aXZlIHVpLXN0YXRlLWFjdGl2ZSIgKTsNCgkJaWYgKCBvcHRpb25zLmljb25zICkgew0KCQkJYWN0aXZlLmNoaWxkcmVuKCAiLnVpLWFjY29yZGlvbi1oZWFkZXItaWNvbiIgKQ0KCQkJCS5yZW1vdmVDbGFzcyggb3B0aW9ucy5pY29ucy5hY3RpdmVIZWFkZXIgKQ0KCQkJCS5hZGRDbGFzcyggb3B0aW9ucy5pY29ucy5oZWFkZXIgKTsNCgkJfQ0KDQoJCWlmICggIWNsaWNrZWRJc0FjdGl2ZSApIHsNCgkJCWNsaWNrZWQNCgkJCQkucmVtb3ZlQ2xhc3MoICJ1aS1jb3JuZXItYWxsIiApDQoJCQkJLmFkZENsYXNzKCAidWktYWNjb3JkaW9uLWhlYWRlci1hY3RpdmUgdWktc3RhdGUtYWN0aXZlIHVpLWNvcm5lci10b3AiICk7DQoJCQlpZiAoIG9wdGlvbnMuaWNvbnMgKSB7DQoJCQkJY2xpY2tlZC5jaGlsZHJlbiggIi51aS1hY2NvcmRpb24taGVhZGVyLWljb24iICkNCgkJCQkJLnJlbW92ZUNsYXNzKCBvcHRpb25zLmljb25zLmhlYWRlciApDQoJCQkJCS5hZGRDbGFzcyggb3B0aW9ucy5pY29ucy5hY3RpdmVIZWFkZXIgKTsNCgkJCX0NCg0KCQkJY2xpY2tlZA0KCQkJCS5uZXh0KCkNCgkJCQkuYWRkQ2xhc3MoICJ1aS1hY2NvcmRpb24tY29udGVudC1hY3RpdmUiICk7DQoJCX0NCgl9LA0KDQoJX3RvZ2dsZTogZnVuY3Rpb24oIGRhdGEgKSB7DQoJCXZhciB0b1Nob3cgPSBkYXRhLm5ld1BhbmVsLA0KCQkJdG9IaWRlID0gdGhpcy5wcmV2U2hvdy5sZW5ndGggPyB0aGlzLnByZXZTaG93IDogZGF0YS5vbGRQYW5lbDsNCg0KCQkvLyBoYW5kbGUgYWN0aXZhdGluZyBhIHBhbmVsIGR1cmluZyB0aGUgYW5pbWF0aW9uIGZvciBhbm90aGVyIGFjdGl2YXRpb24NCgkJdGhpcy5wcmV2U2hvdy5hZGQoIHRoaXMucHJldkhpZGUgKS5zdG9wKCB0cnVlLCB0cnVlICk7DQoJCXRoaXMucHJldlNob3cgPSB0b1Nob3c7DQoJCXRoaXMucHJldkhpZGUgPSB0b0hpZGU7DQoNCgkJaWYgKCB0aGlzLm9wdGlvbnMuYW5pbWF0ZSApIHsNCgkJCXRoaXMuX2FuaW1hdGUoIHRvU2hvdywgdG9IaWRlLCBkYXRhICk7DQoJCX0gZWxzZSB7DQoJCQl0b0hpZGUuaGlkZSgpOw0KCQkJdG9TaG93LnNob3coKTsNCgkJCXRoaXMuX3RvZ2dsZUNvbXBsZXRlKCBkYXRhICk7DQoJCX0NCg0KCQl0b0hpZGUuYXR0cih7DQoJCQkiYXJpYS1oaWRkZW4iOiAidHJ1ZSINCgkJfSk7DQoJCXRvSGlkZS5wcmV2KCkuYXR0cih7DQoJCQkiYXJpYS1zZWxlY3RlZCI6ICJmYWxzZSIsDQoJCQkiYXJpYS1leHBhbmRlZCI6ICJmYWxzZSINCgkJfSk7DQoJCS8vIGlmIHdlJ3JlIHN3aXRjaGluZyBwYW5lbHMsIHJlbW92ZSB0aGUgb2xkIGhlYWRlciBmcm9tIHRoZSB0YWIgb3JkZXINCgkJLy8gaWYgd2UncmUgb3BlbmluZyBmcm9tIGNvbGxhcHNlZCBzdGF0ZSwgcmVtb3ZlIHRoZSBwcmV2aW91cyBoZWFkZXIgZnJvbSB0aGUgdGFiIG9yZGVyDQoJCS8vIGlmIHdlJ3JlIGNvbGxhcHNpbmcsIHRoZW4ga2VlcCB0aGUgY29sbGFwc2luZyBoZWFkZXIgaW4gdGhlIHRhYiBvcmRlcg0KCQlpZiAoIHRvU2hvdy5sZW5ndGggJiYgdG9IaWRlLmxlbmd0aCApIHsNCgkJCXRvSGlkZS5wcmV2KCkuYXR0cih7DQoJCQkJInRhYkluZGV4IjogLTEsDQoJCQkJImFyaWEtZXhwYW5kZWQiOiAiZmFsc2UiDQoJCQl9KTsNCgkJfSBlbHNlIGlmICggdG9TaG93Lmxlbmd0aCApIHsNCgkJCXRoaXMuaGVhZGVycy5maWx0ZXIoZnVuY3Rpb24oKSB7DQoJCQkJcmV0dXJuIHBhcnNlSW50KCAkKCB0aGlzICkuYXR0ciggInRhYkluZGV4IiApLCAxMCApID09PSAwOw0KCQkJfSkNCgkJCS5hdHRyKCAidGFiSW5kZXgiLCAtMSApOw0KCQl9DQoNCgkJdG9TaG93DQoJCQkuYXR0ciggImFyaWEtaGlkZGVuIiwgImZhbHNlIiApDQoJCQkucHJldigpDQoJCQkJLmF0dHIoew0KCQkJCQkiYXJpYS1zZWxlY3RlZCI6ICJ0cnVlIiwNCgkJCQkJImFyaWEtZXhwYW5kZWQiOiAidHJ1ZSIsDQoJCQkJCXRhYkluZGV4OiAwDQoJCQkJfSk7DQoJfSwNCg0KCV9hbmltYXRlOiBmdW5jdGlvbiggdG9TaG93LCB0b0hpZGUsIGRhdGEgKSB7DQoJCXZhciB0b3RhbCwgZWFzaW5nLCBkdXJhdGlvbiwNCgkJCXRoYXQgPSB0aGlzLA0KCQkJYWRqdXN0ID0gMCwNCgkJCWJveFNpemluZyA9IHRvU2hvdy5jc3MoICJib3gtc2l6aW5nIiApLA0KCQkJZG93biA9IHRvU2hvdy5sZW5ndGggJiYNCgkJCQkoICF0b0hpZGUubGVuZ3RoIHx8ICggdG9TaG93LmluZGV4KCkgPCB0b0hpZGUuaW5kZXgoKSApICksDQoJCQlhbmltYXRlID0gdGhpcy5vcHRpb25zLmFuaW1hdGUgfHwge30sDQoJCQlvcHRpb25zID0gZG93biAmJiBhbmltYXRlLmRvd24gfHwgYW5pbWF0ZSwNCgkJCWNvbXBsZXRlID0gZnVuY3Rpb24oKSB7DQoJCQkJdGhhdC5fdG9nZ2xlQ29tcGxldGUoIGRhdGEgKTsNCgkJCX07DQoNCgkJaWYgKCB0eXBlb2Ygb3B0aW9ucyA9PT0gIm51bWJlciIgKSB7DQoJCQlkdXJhdGlvbiA9IG9wdGlvbnM7DQoJCX0NCgkJaWYgKCB0eXBlb2Ygb3B0aW9ucyA9PT0gInN0cmluZyIgKSB7DQoJCQllYXNpbmcgPSBvcHRpb25zOw0KCQl9DQoJCS8vIGZhbGwgYmFjayBmcm9tIG9wdGlvbnMgdG8gYW5pbWF0aW9uIGluIGNhc2Ugb2YgcGFydGlhbCBkb3duIHNldHRpbmdzDQoJCWVhc2luZyA9IGVhc2luZyB8fCBvcHRpb25zLmVhc2luZyB8fCBhbmltYXRlLmVhc2luZzsNCgkJZHVyYXRpb24gPSBkdXJhdGlvbiB8fCBvcHRpb25zLmR1cmF0aW9uIHx8IGFuaW1hdGUuZHVyYXRpb247DQoNCgkJaWYgKCAhdG9IaWRlLmxlbmd0aCApIHsNCgkJCXJldHVybiB0b1Nob3cuYW5pbWF0ZSggdGhpcy5zaG93UHJvcHMsIGR1cmF0aW9uLCBlYXNpbmcsIGNvbXBsZXRlICk7DQoJCX0NCgkJaWYgKCAhdG9TaG93Lmxlbmd0aCApIHsNCgkJCXJldHVybiB0b0hpZGUuYW5pbWF0ZSggdGhpcy5oaWRlUHJvcHMsIGR1cmF0aW9uLCBlYXNpbmcsIGNvbXBsZXRlICk7DQoJCX0NCg0KCQl0b3RhbCA9IHRvU2hvdy5zaG93KCkub3V0ZXJIZWlnaHQoKTsNCgkJdG9IaWRlLmFuaW1hdGUoIHRoaXMuaGlkZVByb3BzLCB7DQoJCQlkdXJhdGlvbjogZHVyYXRpb24sDQoJCQllYXNpbmc6IGVhc2luZywNCgkJCXN0ZXA6IGZ1bmN0aW9uKCBub3csIGZ4ICkgew0KCQkJCWZ4Lm5vdyA9IE1hdGgucm91bmQoIG5vdyApOw0KCQkJfQ0KCQl9KTsNCgkJdG9TaG93DQoJCQkuaGlkZSgpDQoJCQkuYW5pbWF0ZSggdGhpcy5zaG93UHJvcHMsIHsNCgkJCQlkdXJhdGlvbjogZHVyYXRpb24sDQoJCQkJZWFzaW5nOiBlYXNpbmcsDQoJCQkJY29tcGxldGU6IGNvbXBsZXRlLA0KCQkJCXN0ZXA6IGZ1bmN0aW9uKCBub3csIGZ4ICkgew0KCQkJCQlmeC5ub3cgPSBNYXRoLnJvdW5kKCBub3cgKTsNCgkJCQkJaWYgKCBmeC5wcm9wICE9PSAiaGVpZ2h0IiApIHsNCgkJCQkJCWlmICggYm94U2l6aW5nID09PSAiY29udGVudC1ib3giICkgew0KCQkJCQkJCWFkanVzdCArPSBmeC5ub3c7DQoJCQkJCQl9DQoJCQkJCX0gZWxzZSBpZiAoIHRoYXQub3B0aW9ucy5oZWlnaHRTdHlsZSAhPT0gImNvbnRlbnQiICkgew0KCQkJCQkJZngubm93ID0gTWF0aC5yb3VuZCggdG90YWwgLSB0b0hpZGUub3V0ZXJIZWlnaHQoKSAtIGFkanVzdCApOw0KCQkJCQkJYWRqdXN0ID0gMDsNCgkJCQkJfQ0KCQkJCX0NCgkJCX0pOw0KCX0sDQoNCglfdG9nZ2xlQ29tcGxldGU6IGZ1bmN0aW9uKCBkYXRhICkgew0KCQl2YXIgdG9IaWRlID0gZGF0YS5vbGRQYW5lbDsNCg0KCQl0b0hpZGUNCgkJCS5yZW1vdmVDbGFzcyggInVpLWFjY29yZGlvbi1jb250ZW50LWFjdGl2ZSIgKQ0KCQkJLnByZXYoKQ0KCQkJCS5yZW1vdmVDbGFzcyggInVpLWNvcm5lci10b3AiICkNCgkJCQkuYWRkQ2xhc3MoICJ1aS1jb3JuZXItYWxsIiApOw0KDQoJCS8vIFdvcmsgYXJvdW5kIGZvciByZW5kZXJpbmcgYnVnIGluIElFICgjNTQyMSkNCgkJaWYgKCB0b0hpZGUubGVuZ3RoICkgew0KCQkJdG9IaWRlLnBhcmVudCgpWyAwIF0uY2xhc3NOYW1lID0gdG9IaWRlLnBhcmVudCgpWyAwIF0uY2xhc3NOYW1lOw0KCQl9DQoJCXRoaXMuX3RyaWdnZXIoICJhY3RpdmF0ZSIsIG51bGwsIGRhdGEgKTsNCgl9DQp9KTsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBNZW51IDEuMTEuNA0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKg0KICogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vbWVudS8NCiAqLw0KDQoNCnZhciBtZW51ID0gJC53aWRnZXQoICJ1aS5tZW51Iiwgew0KCXZlcnNpb246ICIxLjExLjQiLA0KCWRlZmF1bHRFbGVtZW50OiAiPHVsPiIsDQoJZGVsYXk6IDMwMCwNCglvcHRpb25zOiB7DQoJCWljb25zOiB7DQoJCQlzdWJtZW51OiAidWktaWNvbi1jYXJhdC0xLWUiDQoJCX0sDQoJCWl0ZW1zOiAiPiAqIiwNCgkJbWVudXM6ICJ1bCIsDQoJCXBvc2l0aW9uOiB7DQoJCQlteTogImxlZnQtMSB0b3AiLA0KCQkJYXQ6ICJyaWdodCB0b3AiDQoJCX0sDQoJCXJvbGU6ICJtZW51IiwNCg0KCQkvLyBjYWxsYmFja3MNCgkJYmx1cjogbnVsbCwNCgkJZm9jdXM6IG51bGwsDQoJCXNlbGVjdDogbnVsbA0KCX0sDQoNCglfY3JlYXRlOiBmdW5jdGlvbigpIHsNCgkJdGhpcy5hY3RpdmVNZW51ID0gdGhpcy5lbGVtZW50Ow0KDQoJCS8vIEZsYWcgdXNlZCB0byBwcmV2ZW50IGZpcmluZyBvZiB0aGUgY2xpY2sgaGFuZGxlcg0KCQkvLyBhcyB0aGUgZXZlbnQgYnViYmxlcyB1cCB0aHJvdWdoIG5lc3RlZCBtZW51cw0KCQl0aGlzLm1vdXNlSGFuZGxlZCA9IGZhbHNlOw0KCQl0aGlzLmVsZW1lbnQNCgkJCS51bmlxdWVJZCgpDQoJCQkuYWRkQ2xhc3MoICJ1aS1tZW51IHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCIgKQ0KCQkJLnRvZ2dsZUNsYXNzKCAidWktbWVudS1pY29ucyIsICEhdGhpcy5lbGVtZW50LmZpbmQoICIudWktaWNvbiIgKS5sZW5ndGggKQ0KCQkJLmF0dHIoew0KCQkJCXJvbGU6IHRoaXMub3B0aW9ucy5yb2xlLA0KCQkJCXRhYkluZGV4OiAwDQoJCQl9KTsNCg0KCQlpZiAoIHRoaXMub3B0aW9ucy5kaXNhYmxlZCApIHsNCgkJCXRoaXMuZWxlbWVudA0KCQkJCS5hZGRDbGFzcyggInVpLXN0YXRlLWRpc2FibGVkIiApDQoJCQkJLmF0dHIoICJhcmlhLWRpc2FibGVkIiwgInRydWUiICk7DQoJCX0NCg0KCQl0aGlzLl9vbih7DQoJCQkvLyBQcmV2ZW50IGZvY3VzIGZyb20gc3RpY2tpbmcgdG8gbGlua3MgaW5zaWRlIG1lbnUgYWZ0ZXIgY2xpY2tpbmcNCgkJCS8vIHRoZW0gKGZvY3VzIHNob3VsZCBhbHdheXMgc3RheSBvbiBVTCBkdXJpbmcgbmF2aWdhdGlvbikuDQoJCQkibW91c2Vkb3duIC51aS1tZW51LWl0ZW0iOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsNCgkJCX0sDQoJCQkiY2xpY2sgLnVpLW1lbnUtaXRlbSI6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCQl2YXIgdGFyZ2V0ID0gJCggZXZlbnQudGFyZ2V0ICk7DQoJCQkJaWYgKCAhdGhpcy5tb3VzZUhhbmRsZWQgJiYgdGFyZ2V0Lm5vdCggIi51aS1zdGF0ZS1kaXNhYmxlZCIgKS5sZW5ndGggKSB7DQoJCQkJCXRoaXMuc2VsZWN0KCBldmVudCApOw0KDQoJCQkJCS8vIE9ubHkgc2V0IHRoZSBtb3VzZUhhbmRsZWQgZmxhZyBpZiB0aGUgZXZlbnQgd2lsbCBidWJibGUsIHNlZSAjOTQ2OS4NCgkJCQkJaWYgKCAhZXZlbnQuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSApIHsNCgkJCQkJCXRoaXMubW91c2VIYW5kbGVkID0gdHJ1ZTsNCgkJCQkJfQ0KDQoJCQkJCS8vIE9wZW4gc3VibWVudSBvbiBjbGljaw0KCQkJCQlpZiAoIHRhcmdldC5oYXMoICIudWktbWVudSIgKS5sZW5ndGggKSB7DQoJCQkJCQl0aGlzLmV4cGFuZCggZXZlbnQgKTsNCgkJCQkJfSBlbHNlIGlmICggIXRoaXMuZWxlbWVudC5pcyggIjpmb2N1cyIgKSAmJiAkKCB0aGlzLmRvY3VtZW50WyAwIF0uYWN0aXZlRWxlbWVudCApLmNsb3Nlc3QoICIudWktbWVudSIgKS5sZW5ndGggKSB7DQoNCgkJCQkJCS8vIFJlZGlyZWN0IGZvY3VzIHRvIHRoZSBtZW51DQoJCQkJCQl0aGlzLmVsZW1lbnQudHJpZ2dlciggImZvY3VzIiwgWyB0cnVlIF0gKTsNCg0KCQkJCQkJLy8gSWYgdGhlIGFjdGl2ZSBpdGVtIGlzIG9uIHRoZSB0b3AgbGV2ZWwsIGxldCBpdCBzdGF5IGFjdGl2ZS4NCgkJCQkJCS8vIE90aGVyd2lzZSwgYmx1ciB0aGUgYWN0aXZlIGl0ZW0gc2luY2UgaXQgaXMgbm8gbG9uZ2VyIHZpc2libGUuDQoJCQkJCQlpZiAoIHRoaXMuYWN0aXZlICYmIHRoaXMuYWN0aXZlLnBhcmVudHMoICIudWktbWVudSIgKS5sZW5ndGggPT09IDEgKSB7DQoJCQkJCQkJY2xlYXJUaW1lb3V0KCB0aGlzLnRpbWVyICk7DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQl9DQoJCQl9LA0KCQkJIm1vdXNlZW50ZXIgLnVpLW1lbnUtaXRlbSI6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCQkvLyBJZ25vcmUgbW91c2UgZXZlbnRzIHdoaWxlIHR5cGVhaGVhZCBpcyBhY3RpdmUsIHNlZSAjMTA0NTguDQoJCQkJLy8gUHJldmVudHMgZm9jdXNpbmcgdGhlIHdyb25nIGl0ZW0gd2hlbiB0eXBlYWhlYWQgY2F1c2VzIGEgc2Nyb2xsIHdoaWxlIHRoZSBtb3VzZQ0KCQkJCS8vIGlzIG92ZXIgYW4gaXRlbSBpbiB0aGUgbWVudQ0KCQkJCWlmICggdGhpcy5wcmV2aW91c0ZpbHRlciApIHsNCgkJCQkJcmV0dXJuOw0KCQkJCX0NCgkJCQl2YXIgdGFyZ2V0ID0gJCggZXZlbnQuY3VycmVudFRhcmdldCApOw0KCQkJCS8vIFJlbW92ZSB1aS1zdGF0ZS1hY3RpdmUgY2xhc3MgZnJvbSBzaWJsaW5ncyBvZiB0aGUgbmV3bHkgZm9jdXNlZCBtZW51IGl0ZW0NCgkJCQkvLyB0byBhdm9pZCBhIGp1bXAgY2F1c2VkIGJ5IGFkamFjZW50IGVsZW1lbnRzIGJvdGggaGF2aW5nIGEgY2xhc3Mgd2l0aCBhIGJvcmRlcg0KCQkJCXRhcmdldC5zaWJsaW5ncyggIi51aS1zdGF0ZS1hY3RpdmUiICkucmVtb3ZlQ2xhc3MoICJ1aS1zdGF0ZS1hY3RpdmUiICk7DQoJCQkJdGhpcy5mb2N1cyggZXZlbnQsIHRhcmdldCApOw0KCQkJfSwNCgkJCW1vdXNlbGVhdmU6ICJjb2xsYXBzZUFsbCIsDQoJCQkibW91c2VsZWF2ZSAudWktbWVudSI6ICJjb2xsYXBzZUFsbCIsDQoJCQlmb2N1czogZnVuY3Rpb24oIGV2ZW50LCBrZWVwQWN0aXZlSXRlbSApIHsNCgkJCQkvLyBJZiB0aGVyZSdzIGFscmVhZHkgYW4gYWN0aXZlIGl0ZW0sIGtlZXAgaXQgYWN0aXZlDQoJCQkJLy8gSWYgbm90LCBhY3RpdmF0ZSB0aGUgZmlyc3QgaXRlbQ0KCQkJCXZhciBpdGVtID0gdGhpcy5hY3RpdmUgfHwgdGhpcy5lbGVtZW50LmZpbmQoIHRoaXMub3B0aW9ucy5pdGVtcyApLmVxKCAwICk7DQoNCgkJCQlpZiAoICFrZWVwQWN0aXZlSXRlbSApIHsNCgkJCQkJdGhpcy5mb2N1cyggZXZlbnQsIGl0ZW0gKTsNCgkJCQl9DQoJCQl9LA0KCQkJYmx1cjogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJCXRoaXMuX2RlbGF5KGZ1bmN0aW9uKCkgew0KCQkJCQlpZiAoICEkLmNvbnRhaW5zKCB0aGlzLmVsZW1lbnRbMF0sIHRoaXMuZG9jdW1lbnRbMF0uYWN0aXZlRWxlbWVudCApICkgew0KCQkJCQkJdGhpcy5jb2xsYXBzZUFsbCggZXZlbnQgKTsNCgkJCQkJfQ0KCQkJCX0pOw0KCQkJfSwNCgkJCWtleWRvd246ICJfa2V5ZG93biINCgkJfSk7DQoNCgkJdGhpcy5yZWZyZXNoKCk7DQoNCgkJLy8gQ2xpY2tzIG91dHNpZGUgb2YgYSBtZW51IGNvbGxhcHNlIGFueSBvcGVuIG1lbnVzDQoJCXRoaXMuX29uKCB0aGlzLmRvY3VtZW50LCB7DQoJCQljbGljazogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJCWlmICggdGhpcy5fY2xvc2VPbkRvY3VtZW50Q2xpY2soIGV2ZW50ICkgKSB7DQoJCQkJCXRoaXMuY29sbGFwc2VBbGwoIGV2ZW50ICk7DQoJCQkJfQ0KDQoJCQkJLy8gUmVzZXQgdGhlIG1vdXNlSGFuZGxlZCBmbGFnDQoJCQkJdGhpcy5tb3VzZUhhbmRsZWQgPSBmYWxzZTsNCgkJCX0NCgkJfSk7DQoJfSwNCg0KCV9kZXN0cm95OiBmdW5jdGlvbigpIHsNCgkJLy8gRGVzdHJveSAoc3ViKW1lbnVzDQoJCXRoaXMuZWxlbWVudA0KCQkJLnJlbW92ZUF0dHIoICJhcmlhLWFjdGl2ZWRlc2NlbmRhbnQiICkNCgkJCS5maW5kKCAiLnVpLW1lbnUiICkuYWRkQmFjaygpDQoJCQkJLnJlbW92ZUNsYXNzKCAidWktbWVudSB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktbWVudS1pY29ucyB1aS1mcm9udCIgKQ0KCQkJCS5yZW1vdmVBdHRyKCAicm9sZSIgKQ0KCQkJCS5yZW1vdmVBdHRyKCAidGFiSW5kZXgiICkNCgkJCQkucmVtb3ZlQXR0ciggImFyaWEtbGFiZWxsZWRieSIgKQ0KCQkJCS5yZW1vdmVBdHRyKCAiYXJpYS1leHBhbmRlZCIgKQ0KCQkJCS5yZW1vdmVBdHRyKCAiYXJpYS1oaWRkZW4iICkNCgkJCQkucmVtb3ZlQXR0ciggImFyaWEtZGlzYWJsZWQiICkNCgkJCQkucmVtb3ZlVW5pcXVlSWQoKQ0KCQkJCS5zaG93KCk7DQoNCgkJLy8gRGVzdHJveSBtZW51IGl0ZW1zDQoJCXRoaXMuZWxlbWVudC5maW5kKCAiLnVpLW1lbnUtaXRlbSIgKQ0KCQkJLnJlbW92ZUNsYXNzKCAidWktbWVudS1pdGVtIiApDQoJCQkucmVtb3ZlQXR0ciggInJvbGUiICkNCgkJCS5yZW1vdmVBdHRyKCAiYXJpYS1kaXNhYmxlZCIgKQ0KCQkJLnJlbW92ZVVuaXF1ZUlkKCkNCgkJCS5yZW1vdmVDbGFzcyggInVpLXN0YXRlLWhvdmVyIiApDQoJCQkucmVtb3ZlQXR0ciggInRhYkluZGV4IiApDQoJCQkucmVtb3ZlQXR0ciggInJvbGUiICkNCgkJCS5yZW1vdmVBdHRyKCAiYXJpYS1oYXNwb3B1cCIgKQ0KCQkJLmNoaWxkcmVuKCkuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQkJdmFyIGVsZW0gPSAkKCB0aGlzICk7DQoJCQkJaWYgKCBlbGVtLmRhdGEoICJ1aS1tZW51LXN1Ym1lbnUtY2FyYXQiICkgKSB7DQoJCQkJCWVsZW0ucmVtb3ZlKCk7DQoJCQkJfQ0KCQkJfSk7DQoNCgkJLy8gRGVzdHJveSBtZW51IGRpdmlkZXJzDQoJCXRoaXMuZWxlbWVudC5maW5kKCAiLnVpLW1lbnUtZGl2aWRlciIgKS5yZW1vdmVDbGFzcyggInVpLW1lbnUtZGl2aWRlciB1aS13aWRnZXQtY29udGVudCIgKTsNCgl9LA0KDQoJX2tleWRvd246IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdmFyIG1hdGNoLCBwcmV2LCBjaGFyYWN0ZXIsIHNraXAsDQoJCQlwcmV2ZW50RGVmYXVsdCA9IHRydWU7DQoNCgkJc3dpdGNoICggZXZlbnQua2V5Q29kZSApIHsNCgkJY2FzZSAkLnVpLmtleUNvZGUuUEFHRV9VUDoNCgkJCXRoaXMucHJldmlvdXNQYWdlKCBldmVudCApOw0KCQkJYnJlYWs7DQoJCWNhc2UgJC51aS5rZXlDb2RlLlBBR0VfRE9XTjoNCgkJCXRoaXMubmV4dFBhZ2UoIGV2ZW50ICk7DQoJCQlicmVhazsNCgkJY2FzZSAkLnVpLmtleUNvZGUuSE9NRToNCgkJCXRoaXMuX21vdmUoICJmaXJzdCIsICJmaXJzdCIsIGV2ZW50ICk7DQoJCQlicmVhazsNCgkJY2FzZSAkLnVpLmtleUNvZGUuRU5EOg0KCQkJdGhpcy5fbW92ZSggImxhc3QiLCAibGFzdCIsIGV2ZW50ICk7DQoJCQlicmVhazsNCgkJY2FzZSAkLnVpLmtleUNvZGUuVVA6DQoJCQl0aGlzLnByZXZpb3VzKCBldmVudCApOw0KCQkJYnJlYWs7DQoJCWNhc2UgJC51aS5rZXlDb2RlLkRPV046DQoJCQl0aGlzLm5leHQoIGV2ZW50ICk7DQoJCQlicmVhazsNCgkJY2FzZSAkLnVpLmtleUNvZGUuTEVGVDoNCgkJCXRoaXMuY29sbGFwc2UoIGV2ZW50ICk7DQoJCQlicmVhazsNCgkJY2FzZSAkLnVpLmtleUNvZGUuUklHSFQ6DQoJCQlpZiAoIHRoaXMuYWN0aXZlICYmICF0aGlzLmFjdGl2ZS5pcyggIi51aS1zdGF0ZS1kaXNhYmxlZCIgKSApIHsNCgkJCQl0aGlzLmV4cGFuZCggZXZlbnQgKTsNCgkJCX0NCgkJCWJyZWFrOw0KCQljYXNlICQudWkua2V5Q29kZS5FTlRFUjoNCgkJY2FzZSAkLnVpLmtleUNvZGUuU1BBQ0U6DQoJCQl0aGlzLl9hY3RpdmF0ZSggZXZlbnQgKTsNCgkJCWJyZWFrOw0KCQljYXNlICQudWkua2V5Q29kZS5FU0NBUEU6DQoJCQl0aGlzLmNvbGxhcHNlKCBldmVudCApOw0KCQkJYnJlYWs7DQoJCWRlZmF1bHQ6DQoJCQlwcmV2ZW50RGVmYXVsdCA9IGZhbHNlOw0KCQkJcHJldiA9IHRoaXMucHJldmlvdXNGaWx0ZXIgfHwgIiI7DQoJCQljaGFyYWN0ZXIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKCBldmVudC5rZXlDb2RlICk7DQoJCQlza2lwID0gZmFsc2U7DQoNCgkJCWNsZWFyVGltZW91dCggdGhpcy5maWx0ZXJUaW1lciApOw0KDQoJCQlpZiAoIGNoYXJhY3RlciA9PT0gcHJldiApIHsNCgkJCQlza2lwID0gdHJ1ZTsNCgkJCX0gZWxzZSB7DQoJCQkJY2hhcmFjdGVyID0gcHJldiArIGNoYXJhY3RlcjsNCgkJCX0NCg0KCQkJbWF0Y2ggPSB0aGlzLl9maWx0ZXJNZW51SXRlbXMoIGNoYXJhY3RlciApOw0KCQkJbWF0Y2ggPSBza2lwICYmIG1hdGNoLmluZGV4KCB0aGlzLmFjdGl2ZS5uZXh0KCkgKSAhPT0gLTEgPw0KCQkJCXRoaXMuYWN0aXZlLm5leHRBbGwoICIudWktbWVudS1pdGVtIiApIDoNCgkJCQltYXRjaDsNCg0KCQkJLy8gSWYgbm8gbWF0Y2hlcyBvbiB0aGUgY3VycmVudCBmaWx0ZXIsIHJlc2V0IHRvIHRoZSBsYXN0IGNoYXJhY3RlciBwcmVzc2VkDQoJCQkvLyB0byBtb3ZlIGRvd24gdGhlIG1lbnUgdG8gdGhlIGZpcnN0IGl0ZW0gdGhhdCBzdGFydHMgd2l0aCB0aGF0IGNoYXJhY3Rlcg0KCQkJaWYgKCAhbWF0Y2gubGVuZ3RoICkgew0KCQkJCWNoYXJhY3RlciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoIGV2ZW50LmtleUNvZGUgKTsNCgkJCQltYXRjaCA9IHRoaXMuX2ZpbHRlck1lbnVJdGVtcyggY2hhcmFjdGVyICk7DQoJCQl9DQoNCgkJCWlmICggbWF0Y2gubGVuZ3RoICkgew0KCQkJCXRoaXMuZm9jdXMoIGV2ZW50LCBtYXRjaCApOw0KCQkJCXRoaXMucHJldmlvdXNGaWx0ZXIgPSBjaGFyYWN0ZXI7DQoJCQkJdGhpcy5maWx0ZXJUaW1lciA9IHRoaXMuX2RlbGF5KGZ1bmN0aW9uKCkgew0KCQkJCQlkZWxldGUgdGhpcy5wcmV2aW91c0ZpbHRlcjsNCgkJCQl9LCAxMDAwICk7DQoJCQl9IGVsc2Ugew0KCQkJCWRlbGV0ZSB0aGlzLnByZXZpb3VzRmlsdGVyOw0KCQkJfQ0KCQl9DQoNCgkJaWYgKCBwcmV2ZW50RGVmYXVsdCApIHsNCgkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJCX0NCgl9LA0KDQoJX2FjdGl2YXRlOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCWlmICggIXRoaXMuYWN0aXZlLmlzKCAiLnVpLXN0YXRlLWRpc2FibGVkIiApICkgew0KCQkJaWYgKCB0aGlzLmFjdGl2ZS5pcyggIlthcmlhLWhhc3BvcHVwPSd0cnVlJ10iICkgKSB7DQoJCQkJdGhpcy5leHBhbmQoIGV2ZW50ICk7DQoJCQl9IGVsc2Ugew0KCQkJCXRoaXMuc2VsZWN0KCBldmVudCApOw0KCQkJfQ0KCQl9DQoJfSwNCg0KCXJlZnJlc2g6IGZ1bmN0aW9uKCkgew0KCQl2YXIgbWVudXMsIGl0ZW1zLA0KCQkJdGhhdCA9IHRoaXMsDQoJCQlpY29uID0gdGhpcy5vcHRpb25zLmljb25zLnN1Ym1lbnUsDQoJCQlzdWJtZW51cyA9IHRoaXMuZWxlbWVudC5maW5kKCB0aGlzLm9wdGlvbnMubWVudXMgKTsNCg0KCQl0aGlzLmVsZW1lbnQudG9nZ2xlQ2xhc3MoICJ1aS1tZW51LWljb25zIiwgISF0aGlzLmVsZW1lbnQuZmluZCggIi51aS1pY29uIiApLmxlbmd0aCApOw0KDQoJCS8vIEluaXRpYWxpemUgbmVzdGVkIG1lbnVzDQoJCXN1Ym1lbnVzLmZpbHRlciggIjpub3QoLnVpLW1lbnUpIiApDQoJCQkuYWRkQ2xhc3MoICJ1aS1tZW51IHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1mcm9udCIgKQ0KCQkJLmhpZGUoKQ0KCQkJLmF0dHIoew0KCQkJCXJvbGU6IHRoaXMub3B0aW9ucy5yb2xlLA0KCQkJCSJhcmlhLWhpZGRlbiI6ICJ0cnVlIiwNCgkJCQkiYXJpYS1leHBhbmRlZCI6ICJmYWxzZSINCgkJCX0pDQoJCQkuZWFjaChmdW5jdGlvbigpIHsNCgkJCQl2YXIgbWVudSA9ICQoIHRoaXMgKSwNCgkJCQkJaXRlbSA9IG1lbnUucGFyZW50KCksDQoJCQkJCXN1Ym1lbnVDYXJhdCA9ICQoICI8c3Bhbj4iICkNCgkJCQkJCS5hZGRDbGFzcyggInVpLW1lbnUtaWNvbiB1aS1pY29uICIgKyBpY29uICkNCgkJCQkJCS5kYXRhKCAidWktbWVudS1zdWJtZW51LWNhcmF0IiwgdHJ1ZSApOw0KDQoJCQkJaXRlbQ0KCQkJCQkuYXR0ciggImFyaWEtaGFzcG9wdXAiLCAidHJ1ZSIgKQ0KCQkJCQkucHJlcGVuZCggc3VibWVudUNhcmF0ICk7DQoJCQkJbWVudS5hdHRyKCAiYXJpYS1sYWJlbGxlZGJ5IiwgaXRlbS5hdHRyKCAiaWQiICkgKTsNCgkJCX0pOw0KDQoJCW1lbnVzID0gc3VibWVudXMuYWRkKCB0aGlzLmVsZW1lbnQgKTsNCgkJaXRlbXMgPSBtZW51cy5maW5kKCB0aGlzLm9wdGlvbnMuaXRlbXMgKTsNCg0KCQkvLyBJbml0aWFsaXplIG1lbnUtaXRlbXMgY29udGFpbmluZyBzcGFjZXMgYW5kL29yIGRhc2hlcyBvbmx5IGFzIGRpdmlkZXJzDQoJCWl0ZW1zLm5vdCggIi51aS1tZW51LWl0ZW0iICkuZWFjaChmdW5jdGlvbigpIHsNCgkJCXZhciBpdGVtID0gJCggdGhpcyApOw0KCQkJaWYgKCB0aGF0Ll9pc0RpdmlkZXIoIGl0ZW0gKSApIHsNCgkJCQlpdGVtLmFkZENsYXNzKCAidWktd2lkZ2V0LWNvbnRlbnQgdWktbWVudS1kaXZpZGVyIiApOw0KCQkJfQ0KCQl9KTsNCg0KCQkvLyBEb24ndCByZWZyZXNoIGxpc3QgaXRlbXMgdGhhdCBhcmUgYWxyZWFkeSBhZGFwdGVkDQoJCWl0ZW1zLm5vdCggIi51aS1tZW51LWl0ZW0sIC51aS1tZW51LWRpdmlkZXIiICkNCgkJCS5hZGRDbGFzcyggInVpLW1lbnUtaXRlbSIgKQ0KCQkJLnVuaXF1ZUlkKCkNCgkJCS5hdHRyKHsNCgkJCQl0YWJJbmRleDogLTEsDQoJCQkJcm9sZTogdGhpcy5faXRlbVJvbGUoKQ0KCQkJfSk7DQoNCgkJLy8gQWRkIGFyaWEtZGlzYWJsZWQgYXR0cmlidXRlIHRvIGFueSBkaXNhYmxlZCBtZW51IGl0ZW0NCgkJaXRlbXMuZmlsdGVyKCAiLnVpLXN0YXRlLWRpc2FibGVkIiApLmF0dHIoICJhcmlhLWRpc2FibGVkIiwgInRydWUiICk7DQoNCgkJLy8gSWYgdGhlIGFjdGl2ZSBpdGVtIGhhcyBiZWVuIHJlbW92ZWQsIGJsdXIgdGhlIG1lbnUNCgkJaWYgKCB0aGlzLmFjdGl2ZSAmJiAhJC5jb250YWlucyggdGhpcy5lbGVtZW50WyAwIF0sIHRoaXMuYWN0aXZlWyAwIF0gKSApIHsNCgkJCXRoaXMuYmx1cigpOw0KCQl9DQoJfSwNCg0KCV9pdGVtUm9sZTogZnVuY3Rpb24oKSB7DQoJCXJldHVybiB7DQoJCQltZW51OiAibWVudWl0ZW0iLA0KCQkJbGlzdGJveDogIm9wdGlvbiINCgkJfVsgdGhpcy5vcHRpb25zLnJvbGUgXTsNCgl9LA0KDQoJX3NldE9wdGlvbjogZnVuY3Rpb24oIGtleSwgdmFsdWUgKSB7DQoJCWlmICgga2V5ID09PSAiaWNvbnMiICkgew0KCQkJdGhpcy5lbGVtZW50LmZpbmQoICIudWktbWVudS1pY29uIiApDQoJCQkJLnJlbW92ZUNsYXNzKCB0aGlzLm9wdGlvbnMuaWNvbnMuc3VibWVudSApDQoJCQkJLmFkZENsYXNzKCB2YWx1ZS5zdWJtZW51ICk7DQoJCX0NCgkJaWYgKCBrZXkgPT09ICJkaXNhYmxlZCIgKSB7DQoJCQl0aGlzLmVsZW1lbnQNCgkJCQkudG9nZ2xlQ2xhc3MoICJ1aS1zdGF0ZS1kaXNhYmxlZCIsICEhdmFsdWUgKQ0KCQkJCS5hdHRyKCAiYXJpYS1kaXNhYmxlZCIsIHZhbHVlICk7DQoJCX0NCgkJdGhpcy5fc3VwZXIoIGtleSwgdmFsdWUgKTsNCgl9LA0KDQoJZm9jdXM6IGZ1bmN0aW9uKCBldmVudCwgaXRlbSApIHsNCgkJdmFyIG5lc3RlZCwgZm9jdXNlZDsNCgkJdGhpcy5ibHVyKCBldmVudCwgZXZlbnQgJiYgZXZlbnQudHlwZSA9PT0gImZvY3VzIiApOw0KDQoJCXRoaXMuX3Njcm9sbEludG9WaWV3KCBpdGVtICk7DQoNCgkJdGhpcy5hY3RpdmUgPSBpdGVtLmZpcnN0KCk7DQoJCWZvY3VzZWQgPSB0aGlzLmFjdGl2ZS5hZGRDbGFzcyggInVpLXN0YXRlLWZvY3VzIiApLnJlbW92ZUNsYXNzKCAidWktc3RhdGUtYWN0aXZlIiApOw0KCQkvLyBPbmx5IHVwZGF0ZSBhcmlhLWFjdGl2ZWRlc2NlbmRhbnQgaWYgdGhlcmUncyBhIHJvbGUNCgkJLy8gb3RoZXJ3aXNlIHdlIGFzc3VtZSBmb2N1cyBpcyBtYW5hZ2VkIGVsc2V3aGVyZQ0KCQlpZiAoIHRoaXMub3B0aW9ucy5yb2xlICkgew0KCQkJdGhpcy5lbGVtZW50LmF0dHIoICJhcmlhLWFjdGl2ZWRlc2NlbmRhbnQiLCBmb2N1c2VkLmF0dHIoICJpZCIgKSApOw0KCQl9DQoNCgkJLy8gSGlnaGxpZ2h0IGFjdGl2ZSBwYXJlbnQgbWVudSBpdGVtLCBpZiBhbnkNCgkJdGhpcy5hY3RpdmUNCgkJCS5wYXJlbnQoKQ0KCQkJLmNsb3Nlc3QoICIudWktbWVudS1pdGVtIiApDQoJCQkuYWRkQ2xhc3MoICJ1aS1zdGF0ZS1hY3RpdmUiICk7DQoNCgkJaWYgKCBldmVudCAmJiBldmVudC50eXBlID09PSAia2V5ZG93biIgKSB7DQoJCQl0aGlzLl9jbG9zZSgpOw0KCQl9IGVsc2Ugew0KCQkJdGhpcy50aW1lciA9IHRoaXMuX2RlbGF5KGZ1bmN0aW9uKCkgew0KCQkJCXRoaXMuX2Nsb3NlKCk7DQoJCQl9LCB0aGlzLmRlbGF5ICk7DQoJCX0NCg0KCQluZXN0ZWQgPSBpdGVtLmNoaWxkcmVuKCAiLnVpLW1lbnUiICk7DQoJCWlmICggbmVzdGVkLmxlbmd0aCAmJiBldmVudCAmJiAoIC9ebW91c2UvLnRlc3QoIGV2ZW50LnR5cGUgKSApICkgew0KCQkJdGhpcy5fc3RhcnRPcGVuaW5nKG5lc3RlZCk7DQoJCX0NCgkJdGhpcy5hY3RpdmVNZW51ID0gaXRlbS5wYXJlbnQoKTsNCg0KCQl0aGlzLl90cmlnZ2VyKCAiZm9jdXMiLCBldmVudCwgeyBpdGVtOiBpdGVtIH0gKTsNCgl9LA0KDQoJX3Njcm9sbEludG9WaWV3OiBmdW5jdGlvbiggaXRlbSApIHsNCgkJdmFyIGJvcmRlclRvcCwgcGFkZGluZ1RvcCwgb2Zmc2V0LCBzY3JvbGwsIGVsZW1lbnRIZWlnaHQsIGl0ZW1IZWlnaHQ7DQoJCWlmICggdGhpcy5faGFzU2Nyb2xsKCkgKSB7DQoJCQlib3JkZXJUb3AgPSBwYXJzZUZsb2F0KCAkLmNzcyggdGhpcy5hY3RpdmVNZW51WzBdLCAiYm9yZGVyVG9wV2lkdGgiICkgKSB8fCAwOw0KCQkJcGFkZGluZ1RvcCA9IHBhcnNlRmxvYXQoICQuY3NzKCB0aGlzLmFjdGl2ZU1lbnVbMF0sICJwYWRkaW5nVG9wIiApICkgfHwgMDsNCgkJCW9mZnNldCA9IGl0ZW0ub2Zmc2V0KCkudG9wIC0gdGhpcy5hY3RpdmVNZW51Lm9mZnNldCgpLnRvcCAtIGJvcmRlclRvcCAtIHBhZGRpbmdUb3A7DQoJCQlzY3JvbGwgPSB0aGlzLmFjdGl2ZU1lbnUuc2Nyb2xsVG9wKCk7DQoJCQllbGVtZW50SGVpZ2h0ID0gdGhpcy5hY3RpdmVNZW51LmhlaWdodCgpOw0KCQkJaXRlbUhlaWdodCA9IGl0ZW0ub3V0ZXJIZWlnaHQoKTsNCg0KCQkJaWYgKCBvZmZzZXQgPCAwICkgew0KCQkJCXRoaXMuYWN0aXZlTWVudS5zY3JvbGxUb3AoIHNjcm9sbCArIG9mZnNldCApOw0KCQkJfSBlbHNlIGlmICggb2Zmc2V0ICsgaXRlbUhlaWdodCA+IGVsZW1lbnRIZWlnaHQgKSB7DQoJCQkJdGhpcy5hY3RpdmVNZW51LnNjcm9sbFRvcCggc2Nyb2xsICsgb2Zmc2V0IC0gZWxlbWVudEhlaWdodCArIGl0ZW1IZWlnaHQgKTsNCgkJCX0NCgkJfQ0KCX0sDQoNCglibHVyOiBmdW5jdGlvbiggZXZlbnQsIGZyb21Gb2N1cyApIHsNCgkJaWYgKCAhZnJvbUZvY3VzICkgew0KCQkJY2xlYXJUaW1lb3V0KCB0aGlzLnRpbWVyICk7DQoJCX0NCg0KCQlpZiAoICF0aGlzLmFjdGl2ZSApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCXRoaXMuYWN0aXZlLnJlbW92ZUNsYXNzKCAidWktc3RhdGUtZm9jdXMiICk7DQoJCXRoaXMuYWN0aXZlID0gbnVsbDsNCg0KCQl0aGlzLl90cmlnZ2VyKCAiYmx1ciIsIGV2ZW50LCB7IGl0ZW06IHRoaXMuYWN0aXZlIH0gKTsNCgl9LA0KDQoJX3N0YXJ0T3BlbmluZzogZnVuY3Rpb24oIHN1Ym1lbnUgKSB7DQoJCWNsZWFyVGltZW91dCggdGhpcy50aW1lciApOw0KDQoJCS8vIERvbid0IG9wZW4gaWYgYWxyZWFkeSBvcGVuIGZpeGVzIGEgRmlyZWZveCBidWcgdGhhdCBjYXVzZWQgYSAuNSBwaXhlbA0KCQkvLyBzaGlmdCBpbiB0aGUgc3VibWVudSBwb3NpdGlvbiB3aGVuIG1vdXNpbmcgb3ZlciB0aGUgY2FyYXQgaWNvbg0KCQlpZiAoIHN1Ym1lbnUuYXR0ciggImFyaWEtaGlkZGVuIiApICE9PSAidHJ1ZSIgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQl0aGlzLnRpbWVyID0gdGhpcy5fZGVsYXkoZnVuY3Rpb24oKSB7DQoJCQl0aGlzLl9jbG9zZSgpOw0KCQkJdGhpcy5fb3Blbiggc3VibWVudSApOw0KCQl9LCB0aGlzLmRlbGF5ICk7DQoJfSwNCg0KCV9vcGVuOiBmdW5jdGlvbiggc3VibWVudSApIHsNCgkJdmFyIHBvc2l0aW9uID0gJC5leHRlbmQoew0KCQkJb2Y6IHRoaXMuYWN0aXZlDQoJCX0sIHRoaXMub3B0aW9ucy5wb3NpdGlvbiApOw0KDQoJCWNsZWFyVGltZW91dCggdGhpcy50aW1lciApOw0KCQl0aGlzLmVsZW1lbnQuZmluZCggIi51aS1tZW51IiApLm5vdCggc3VibWVudS5wYXJlbnRzKCAiLnVpLW1lbnUiICkgKQ0KCQkJLmhpZGUoKQ0KCQkJLmF0dHIoICJhcmlhLWhpZGRlbiIsICJ0cnVlIiApOw0KDQoJCXN1Ym1lbnUNCgkJCS5zaG93KCkNCgkJCS5yZW1vdmVBdHRyKCAiYXJpYS1oaWRkZW4iICkNCgkJCS5hdHRyKCAiYXJpYS1leHBhbmRlZCIsICJ0cnVlIiApDQoJCQkucG9zaXRpb24oIHBvc2l0aW9uICk7DQoJfSwNCg0KCWNvbGxhcHNlQWxsOiBmdW5jdGlvbiggZXZlbnQsIGFsbCApIHsNCgkJY2xlYXJUaW1lb3V0KCB0aGlzLnRpbWVyICk7DQoJCXRoaXMudGltZXIgPSB0aGlzLl9kZWxheShmdW5jdGlvbigpIHsNCgkJCS8vIElmIHdlIHdlcmUgcGFzc2VkIGFuIGV2ZW50LCBsb29rIGZvciB0aGUgc3VibWVudSB0aGF0IGNvbnRhaW5zIHRoZSBldmVudA0KCQkJdmFyIGN1cnJlbnRNZW51ID0gYWxsID8gdGhpcy5lbGVtZW50IDoNCgkJCQkkKCBldmVudCAmJiBldmVudC50YXJnZXQgKS5jbG9zZXN0KCB0aGlzLmVsZW1lbnQuZmluZCggIi51aS1tZW51IiApICk7DQoNCgkJCS8vIElmIHdlIGZvdW5kIG5vIHZhbGlkIHN1Ym1lbnUgYW5jZXN0b3IsIHVzZSB0aGUgbWFpbiBtZW51IHRvIGNsb3NlIGFsbCBzdWIgbWVudXMgYW55d2F5DQoJCQlpZiAoICFjdXJyZW50TWVudS5sZW5ndGggKSB7DQoJCQkJY3VycmVudE1lbnUgPSB0aGlzLmVsZW1lbnQ7DQoJCQl9DQoNCgkJCXRoaXMuX2Nsb3NlKCBjdXJyZW50TWVudSApOw0KDQoJCQl0aGlzLmJsdXIoIGV2ZW50ICk7DQoJCQl0aGlzLmFjdGl2ZU1lbnUgPSBjdXJyZW50TWVudTsNCgkJfSwgdGhpcy5kZWxheSApOw0KCX0sDQoNCgkvLyBXaXRoIG5vIGFyZ3VtZW50cywgY2xvc2VzIHRoZSBjdXJyZW50bHkgYWN0aXZlIG1lbnUgLSBpZiBub3RoaW5nIGlzIGFjdGl2ZQ0KCS8vIGl0IGNsb3NlcyBhbGwgbWVudXMuICBJZiBwYXNzZWQgYW4gYXJndW1lbnQsIGl0IHdpbGwgc2VhcmNoIGZvciBtZW51cyBCRUxPVw0KCV9jbG9zZTogZnVuY3Rpb24oIHN0YXJ0TWVudSApIHsNCgkJaWYgKCAhc3RhcnRNZW51ICkgew0KCQkJc3RhcnRNZW51ID0gdGhpcy5hY3RpdmUgPyB0aGlzLmFjdGl2ZS5wYXJlbnQoKSA6IHRoaXMuZWxlbWVudDsNCgkJfQ0KDQoJCXN0YXJ0TWVudQ0KCQkJLmZpbmQoICIudWktbWVudSIgKQ0KCQkJCS5oaWRlKCkNCgkJCQkuYXR0ciggImFyaWEtaGlkZGVuIiwgInRydWUiICkNCgkJCQkuYXR0ciggImFyaWEtZXhwYW5kZWQiLCAiZmFsc2UiICkNCgkJCS5lbmQoKQ0KCQkJLmZpbmQoICIudWktc3RhdGUtYWN0aXZlIiApLm5vdCggIi51aS1zdGF0ZS1mb2N1cyIgKQ0KCQkJCS5yZW1vdmVDbGFzcyggInVpLXN0YXRlLWFjdGl2ZSIgKTsNCgl9LA0KDQoJX2Nsb3NlT25Eb2N1bWVudENsaWNrOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXJldHVybiAhJCggZXZlbnQudGFyZ2V0ICkuY2xvc2VzdCggIi51aS1tZW51IiApLmxlbmd0aDsNCgl9LA0KDQoJX2lzRGl2aWRlcjogZnVuY3Rpb24oIGl0ZW0gKSB7DQoNCgkJLy8gTWF0Y2ggaHlwaGVuLCBlbSBkYXNoLCBlbiBkYXNoDQoJCXJldHVybiAhL1teXC1cdTIwMTRcdTIwMTNcc10vLnRlc3QoIGl0ZW0udGV4dCgpICk7DQoJfSwNCg0KCWNvbGxhcHNlOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXZhciBuZXdJdGVtID0gdGhpcy5hY3RpdmUgJiYNCgkJCXRoaXMuYWN0aXZlLnBhcmVudCgpLmNsb3Nlc3QoICIudWktbWVudS1pdGVtIiwgdGhpcy5lbGVtZW50ICk7DQoJCWlmICggbmV3SXRlbSAmJiBuZXdJdGVtLmxlbmd0aCApIHsNCgkJCXRoaXMuX2Nsb3NlKCk7DQoJCQl0aGlzLmZvY3VzKCBldmVudCwgbmV3SXRlbSApOw0KCQl9DQoJfSwNCg0KCWV4cGFuZDogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl2YXIgbmV3SXRlbSA9IHRoaXMuYWN0aXZlICYmDQoJCQl0aGlzLmFjdGl2ZQ0KCQkJCS5jaGlsZHJlbiggIi51aS1tZW51ICIgKQ0KCQkJCS5maW5kKCB0aGlzLm9wdGlvbnMuaXRlbXMgKQ0KCQkJCS5maXJzdCgpOw0KDQoJCWlmICggbmV3SXRlbSAmJiBuZXdJdGVtLmxlbmd0aCApIHsNCgkJCXRoaXMuX29wZW4oIG5ld0l0ZW0ucGFyZW50KCkgKTsNCg0KCQkJLy8gRGVsYXkgc28gRmlyZWZveCB3aWxsIG5vdCBoaWRlIGFjdGl2ZWRlc2NlbmRhbnQgY2hhbmdlIGluIGV4cGFuZGluZyBzdWJtZW51IGZyb20gQVQNCgkJCXRoaXMuX2RlbGF5KGZ1bmN0aW9uKCkgew0KCQkJCXRoaXMuZm9jdXMoIGV2ZW50LCBuZXdJdGVtICk7DQoJCQl9KTsNCgkJfQ0KCX0sDQoNCgluZXh0OiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXRoaXMuX21vdmUoICJuZXh0IiwgImZpcnN0IiwgZXZlbnQgKTsNCgl9LA0KDQoJcHJldmlvdXM6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdGhpcy5fbW92ZSggInByZXYiLCAibGFzdCIsIGV2ZW50ICk7DQoJfSwNCg0KCWlzRmlyc3RJdGVtOiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHRoaXMuYWN0aXZlICYmICF0aGlzLmFjdGl2ZS5wcmV2QWxsKCAiLnVpLW1lbnUtaXRlbSIgKS5sZW5ndGg7DQoJfSwNCg0KCWlzTGFzdEl0ZW06IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gdGhpcy5hY3RpdmUgJiYgIXRoaXMuYWN0aXZlLm5leHRBbGwoICIudWktbWVudS1pdGVtIiApLmxlbmd0aDsNCgl9LA0KDQoJX21vdmU6IGZ1bmN0aW9uKCBkaXJlY3Rpb24sIGZpbHRlciwgZXZlbnQgKSB7DQoJCXZhciBuZXh0Ow0KCQlpZiAoIHRoaXMuYWN0aXZlICkgew0KCQkJaWYgKCBkaXJlY3Rpb24gPT09ICJmaXJzdCIgfHwgZGlyZWN0aW9uID09PSAibGFzdCIgKSB7DQoJCQkJbmV4dCA9IHRoaXMuYWN0aXZlDQoJCQkJCVsgZGlyZWN0aW9uID09PSAiZmlyc3QiID8gInByZXZBbGwiIDogIm5leHRBbGwiIF0oICIudWktbWVudS1pdGVtIiApDQoJCQkJCS5lcSggLTEgKTsNCgkJCX0gZWxzZSB7DQoJCQkJbmV4dCA9IHRoaXMuYWN0aXZlDQoJCQkJCVsgZGlyZWN0aW9uICsgIkFsbCIgXSggIi51aS1tZW51LWl0ZW0iICkNCgkJCQkJLmVxKCAwICk7DQoJCQl9DQoJCX0NCgkJaWYgKCAhbmV4dCB8fCAhbmV4dC5sZW5ndGggfHwgIXRoaXMuYWN0aXZlICkgew0KCQkJbmV4dCA9IHRoaXMuYWN0aXZlTWVudS5maW5kKCB0aGlzLm9wdGlvbnMuaXRlbXMgKVsgZmlsdGVyIF0oKTsNCgkJfQ0KDQoJCXRoaXMuZm9jdXMoIGV2ZW50LCBuZXh0ICk7DQoJfSwNCg0KCW5leHRQYWdlOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXZhciBpdGVtLCBiYXNlLCBoZWlnaHQ7DQoNCgkJaWYgKCAhdGhpcy5hY3RpdmUgKSB7DQoJCQl0aGlzLm5leHQoIGV2ZW50ICk7DQoJCQlyZXR1cm47DQoJCX0NCgkJaWYgKCB0aGlzLmlzTGFzdEl0ZW0oKSApIHsNCgkJCXJldHVybjsNCgkJfQ0KCQlpZiAoIHRoaXMuX2hhc1Njcm9sbCgpICkgew0KCQkJYmFzZSA9IHRoaXMuYWN0aXZlLm9mZnNldCgpLnRvcDsNCgkJCWhlaWdodCA9IHRoaXMuZWxlbWVudC5oZWlnaHQoKTsNCgkJCXRoaXMuYWN0aXZlLm5leHRBbGwoICIudWktbWVudS1pdGVtIiApLmVhY2goZnVuY3Rpb24oKSB7DQoJCQkJaXRlbSA9ICQoIHRoaXMgKTsNCgkJCQlyZXR1cm4gaXRlbS5vZmZzZXQoKS50b3AgLSBiYXNlIC0gaGVpZ2h0IDwgMDsNCgkJCX0pOw0KDQoJCQl0aGlzLmZvY3VzKCBldmVudCwgaXRlbSApOw0KCQl9IGVsc2Ugew0KCQkJdGhpcy5mb2N1cyggZXZlbnQsIHRoaXMuYWN0aXZlTWVudS5maW5kKCB0aGlzLm9wdGlvbnMuaXRlbXMgKQ0KCQkJCVsgIXRoaXMuYWN0aXZlID8gImZpcnN0IiA6ICJsYXN0IiBdKCkgKTsNCgkJfQ0KCX0sDQoNCglwcmV2aW91c1BhZ2U6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdmFyIGl0ZW0sIGJhc2UsIGhlaWdodDsNCgkJaWYgKCAhdGhpcy5hY3RpdmUgKSB7DQoJCQl0aGlzLm5leHQoIGV2ZW50ICk7DQoJCQlyZXR1cm47DQoJCX0NCgkJaWYgKCB0aGlzLmlzRmlyc3RJdGVtKCkgKSB7DQoJCQlyZXR1cm47DQoJCX0NCgkJaWYgKCB0aGlzLl9oYXNTY3JvbGwoKSApIHsNCgkJCWJhc2UgPSB0aGlzLmFjdGl2ZS5vZmZzZXQoKS50b3A7DQoJCQloZWlnaHQgPSB0aGlzLmVsZW1lbnQuaGVpZ2h0KCk7DQoJCQl0aGlzLmFjdGl2ZS5wcmV2QWxsKCAiLnVpLW1lbnUtaXRlbSIgKS5lYWNoKGZ1bmN0aW9uKCkgew0KCQkJCWl0ZW0gPSAkKCB0aGlzICk7DQoJCQkJcmV0dXJuIGl0ZW0ub2Zmc2V0KCkudG9wIC0gYmFzZSArIGhlaWdodCA+IDA7DQoJCQl9KTsNCg0KCQkJdGhpcy5mb2N1cyggZXZlbnQsIGl0ZW0gKTsNCgkJfSBlbHNlIHsNCgkJCXRoaXMuZm9jdXMoIGV2ZW50LCB0aGlzLmFjdGl2ZU1lbnUuZmluZCggdGhpcy5vcHRpb25zLml0ZW1zICkuZmlyc3QoKSApOw0KCQl9DQoJfSwNCg0KCV9oYXNTY3JvbGw6IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gdGhpcy5lbGVtZW50Lm91dGVySGVpZ2h0KCkgPCB0aGlzLmVsZW1lbnQucHJvcCggInNjcm9sbEhlaWdodCIgKTsNCgl9LA0KDQoJc2VsZWN0OiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCS8vIFRPRE86IEl0IHNob3VsZCBuZXZlciBiZSBwb3NzaWJsZSB0byBub3QgaGF2ZSBhbiBhY3RpdmUgaXRlbSBhdCB0aGlzDQoJCS8vIHBvaW50LCBidXQgdGhlIHRlc3RzIGRvbid0IHRyaWdnZXIgbW91c2VlbnRlciBiZWZvcmUgY2xpY2suDQoJCXRoaXMuYWN0aXZlID0gdGhpcy5hY3RpdmUgfHwgJCggZXZlbnQudGFyZ2V0ICkuY2xvc2VzdCggIi51aS1tZW51LWl0ZW0iICk7DQoJCXZhciB1aSA9IHsgaXRlbTogdGhpcy5hY3RpdmUgfTsNCgkJaWYgKCAhdGhpcy5hY3RpdmUuaGFzKCAiLnVpLW1lbnUiICkubGVuZ3RoICkgew0KCQkJdGhpcy5jb2xsYXBzZUFsbCggZXZlbnQsIHRydWUgKTsNCgkJfQ0KCQl0aGlzLl90cmlnZ2VyKCAic2VsZWN0IiwgZXZlbnQsIHVpICk7DQoJfSwNCg0KCV9maWx0ZXJNZW51SXRlbXM6IGZ1bmN0aW9uKGNoYXJhY3Rlcikgew0KCQl2YXIgZXNjYXBlZENoYXJhY3RlciA9IGNoYXJhY3Rlci5yZXBsYWNlKCAvW1wtXFtcXXt9KCkqKz8uLFxcXF4kfCNcc10vZywgIlxcJCYiICksDQoJCQlyZWdleCA9IG5ldyBSZWdFeHAoICJeIiArIGVzY2FwZWRDaGFyYWN0ZXIsICJpIiApOw0KDQoJCXJldHVybiB0aGlzLmFjdGl2ZU1lbnUNCgkJCS5maW5kKCB0aGlzLm9wdGlvbnMuaXRlbXMgKQ0KDQoJCQkvLyBPbmx5IG1hdGNoIG9uIGl0ZW1zLCBub3QgZGl2aWRlcnMgb3Igb3RoZXIgY29udGVudCAoIzEwNTcxKQ0KCQkJLmZpbHRlciggIi51aS1tZW51LWl0ZW0iICkNCgkJCS5maWx0ZXIoZnVuY3Rpb24oKSB7DQoJCQkJcmV0dXJuIHJlZ2V4LnRlc3QoICQudHJpbSggJCggdGhpcyApLnRleHQoKSApICk7DQoJCQl9KTsNCgl9DQp9KTsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBBdXRvY29tcGxldGUgMS4xMS40DQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqDQogKiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9hdXRvY29tcGxldGUvDQogKi8NCg0KDQokLndpZGdldCggInVpLmF1dG9jb21wbGV0ZSIsIHsNCgl2ZXJzaW9uOiAiMS4xMS40IiwNCglkZWZhdWx0RWxlbWVudDogIjxpbnB1dD4iLA0KCW9wdGlvbnM6IHsNCgkJYXBwZW5kVG86IG51bGwsDQoJCWF1dG9Gb2N1czogZmFsc2UsDQoJCWRlbGF5OiAzMDAsDQoJCW1pbkxlbmd0aDogMSwNCgkJcG9zaXRpb246IHsNCgkJCW15OiAibGVmdCB0b3AiLA0KCQkJYXQ6ICJsZWZ0IGJvdHRvbSIsDQoJCQljb2xsaXNpb246ICJub25lIg0KCQl9LA0KCQlzb3VyY2U6IG51bGwsDQoNCgkJLy8gY2FsbGJhY2tzDQoJCWNoYW5nZTogbnVsbCwNCgkJY2xvc2U6IG51bGwsDQoJCWZvY3VzOiBudWxsLA0KCQlvcGVuOiBudWxsLA0KCQlyZXNwb25zZTogbnVsbCwNCgkJc2VhcmNoOiBudWxsLA0KCQlzZWxlY3Q6IG51bGwNCgl9LA0KDQoJcmVxdWVzdEluZGV4OiAwLA0KCXBlbmRpbmc6IDAsDQoNCglfY3JlYXRlOiBmdW5jdGlvbigpIHsNCgkJLy8gU29tZSBicm93c2VycyBvbmx5IHJlcGVhdCBrZXlkb3duIGV2ZW50cywgbm90IGtleXByZXNzIGV2ZW50cywNCgkJLy8gc28gd2UgdXNlIHRoZSBzdXBwcmVzc0tleVByZXNzIGZsYWcgdG8gZGV0ZXJtaW5lIGlmIHdlJ3ZlIGFscmVhZHkNCgkJLy8gaGFuZGxlZCB0aGUga2V5ZG93biBldmVudC4gIzcyNjkNCgkJLy8gVW5mb3J0dW5hdGVseSB0aGUgY29kZSBmb3IgJiBpbiBrZXlwcmVzcyBpcyB0aGUgc2FtZSBhcyB0aGUgdXAgYXJyb3csDQoJCS8vIHNvIHdlIHVzZSB0aGUgc3VwcHJlc3NLZXlQcmVzc1JlcGVhdCBmbGFnIHRvIGF2b2lkIGhhbmRsaW5nIGtleXByZXNzDQoJCS8vIGV2ZW50cyB3aGVuIHdlIGtub3cgdGhlIGtleWRvd24gZXZlbnQgd2FzIHVzZWQgdG8gbW9kaWZ5IHRoZQ0KCQkvLyBzZWFyY2ggdGVybS4gIzc3OTkNCgkJdmFyIHN1cHByZXNzS2V5UHJlc3MsIHN1cHByZXNzS2V5UHJlc3NSZXBlYXQsIHN1cHByZXNzSW5wdXQsDQoJCQlub2RlTmFtZSA9IHRoaXMuZWxlbWVudFsgMCBdLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksDQoJCQlpc1RleHRhcmVhID0gbm9kZU5hbWUgPT09ICJ0ZXh0YXJlYSIsDQoJCQlpc0lucHV0ID0gbm9kZU5hbWUgPT09ICJpbnB1dCI7DQoNCgkJdGhpcy5pc011bHRpTGluZSA9DQoJCQkvLyBUZXh0YXJlYXMgYXJlIGFsd2F5cyBtdWx0aS1saW5lDQoJCQlpc1RleHRhcmVhID8gdHJ1ZSA6DQoJCQkvLyBJbnB1dHMgYXJlIGFsd2F5cyBzaW5nbGUtbGluZSwgZXZlbiBpZiBpbnNpZGUgYSBjb250ZW50RWRpdGFibGUgZWxlbWVudA0KCQkJLy8gSUUgYWxzbyB0cmVhdHMgaW5wdXRzIGFzIGNvbnRlbnRFZGl0YWJsZQ0KCQkJaXNJbnB1dCA/IGZhbHNlIDoNCgkJCS8vIEFsbCBvdGhlciBlbGVtZW50IHR5cGVzIGFyZSBkZXRlcm1pbmVkIGJ5IHdoZXRoZXIgb3Igbm90IHRoZXkncmUgY29udGVudEVkaXRhYmxlDQoJCQl0aGlzLmVsZW1lbnQucHJvcCggImlzQ29udGVudEVkaXRhYmxlIiApOw0KDQoJCXRoaXMudmFsdWVNZXRob2QgPSB0aGlzLmVsZW1lbnRbIGlzVGV4dGFyZWEgfHwgaXNJbnB1dCA/ICJ2YWwiIDogInRleHQiIF07DQoJCXRoaXMuaXNOZXdNZW51ID0gdHJ1ZTsNCg0KCQl0aGlzLmVsZW1lbnQNCgkJCS5hZGRDbGFzcyggInVpLWF1dG9jb21wbGV0ZS1pbnB1dCIgKQ0KCQkJLmF0dHIoICJhdXRvY29tcGxldGUiLCAib2ZmIiApOw0KDQoJCXRoaXMuX29uKCB0aGlzLmVsZW1lbnQsIHsNCgkJCWtleWRvd246IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCQlpZiAoIHRoaXMuZWxlbWVudC5wcm9wKCAicmVhZE9ubHkiICkgKSB7DQoJCQkJCXN1cHByZXNzS2V5UHJlc3MgPSB0cnVlOw0KCQkJCQlzdXBwcmVzc0lucHV0ID0gdHJ1ZTsNCgkJCQkJc3VwcHJlc3NLZXlQcmVzc1JlcGVhdCA9IHRydWU7DQoJCQkJCXJldHVybjsNCgkJCQl9DQoNCgkJCQlzdXBwcmVzc0tleVByZXNzID0gZmFsc2U7DQoJCQkJc3VwcHJlc3NJbnB1dCA9IGZhbHNlOw0KCQkJCXN1cHByZXNzS2V5UHJlc3NSZXBlYXQgPSBmYWxzZTsNCgkJCQl2YXIga2V5Q29kZSA9ICQudWkua2V5Q29kZTsNCgkJCQlzd2l0Y2ggKCBldmVudC5rZXlDb2RlICkgew0KCQkJCWNhc2Uga2V5Q29kZS5QQUdFX1VQOg0KCQkJCQlzdXBwcmVzc0tleVByZXNzID0gdHJ1ZTsNCgkJCQkJdGhpcy5fbW92ZSggInByZXZpb3VzUGFnZSIsIGV2ZW50ICk7DQoJCQkJCWJyZWFrOw0KCQkJCWNhc2Uga2V5Q29kZS5QQUdFX0RPV046DQoJCQkJCXN1cHByZXNzS2V5UHJlc3MgPSB0cnVlOw0KCQkJCQl0aGlzLl9tb3ZlKCAibmV4dFBhZ2UiLCBldmVudCApOw0KCQkJCQlicmVhazsNCgkJCQljYXNlIGtleUNvZGUuVVA6DQoJCQkJCXN1cHByZXNzS2V5UHJlc3MgPSB0cnVlOw0KCQkJCQl0aGlzLl9rZXlFdmVudCggInByZXZpb3VzIiwgZXZlbnQgKTsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSBrZXlDb2RlLkRPV046DQoJCQkJCXN1cHByZXNzS2V5UHJlc3MgPSB0cnVlOw0KCQkJCQl0aGlzLl9rZXlFdmVudCggIm5leHQiLCBldmVudCApOw0KCQkJCQlicmVhazsNCgkJCQljYXNlIGtleUNvZGUuRU5URVI6DQoJCQkJCS8vIHdoZW4gbWVudSBpcyBvcGVuIGFuZCBoYXMgZm9jdXMNCgkJCQkJaWYgKCB0aGlzLm1lbnUuYWN0aXZlICkgew0KCQkJCQkJLy8gIzYwNTUgLSBPcGVyYSBzdGlsbCBhbGxvd3MgdGhlIGtleXByZXNzIHRvIG9jY3VyDQoJCQkJCQkvLyB3aGljaCBjYXVzZXMgZm9ybXMgdG8gc3VibWl0DQoJCQkJCQlzdXBwcmVzc0tleVByZXNzID0gdHJ1ZTsNCgkJCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJCQkJCQl0aGlzLm1lbnUuc2VsZWN0KCBldmVudCApOw0KCQkJCQl9DQoJCQkJCWJyZWFrOw0KCQkJCWNhc2Uga2V5Q29kZS5UQUI6DQoJCQkJCWlmICggdGhpcy5tZW51LmFjdGl2ZSApIHsNCgkJCQkJCXRoaXMubWVudS5zZWxlY3QoIGV2ZW50ICk7DQoJCQkJCX0NCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSBrZXlDb2RlLkVTQ0FQRToNCgkJCQkJaWYgKCB0aGlzLm1lbnUuZWxlbWVudC5pcyggIjp2aXNpYmxlIiApICkgew0KCQkJCQkJaWYgKCAhdGhpcy5pc011bHRpTGluZSApIHsNCgkJCQkJCQl0aGlzLl92YWx1ZSggdGhpcy50ZXJtICk7DQoJCQkJCQl9DQoJCQkJCQl0aGlzLmNsb3NlKCBldmVudCApOw0KCQkJCQkJLy8gRGlmZmVyZW50IGJyb3dzZXJzIGhhdmUgZGlmZmVyZW50IGRlZmF1bHQgYmVoYXZpb3IgZm9yIGVzY2FwZQ0KCQkJCQkJLy8gU2luZ2xlIHByZXNzIGNhbiBtZWFuIHVuZG8gb3IgY2xlYXINCgkJCQkJCS8vIERvdWJsZSBwcmVzcyBpbiBJRSBtZWFucyBjbGVhciB0aGUgd2hvbGUgZm9ybQ0KCQkJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsNCgkJCQkJfQ0KCQkJCQlicmVhazsNCgkJCQlkZWZhdWx0Og0KCQkJCQlzdXBwcmVzc0tleVByZXNzUmVwZWF0ID0gdHJ1ZTsNCgkJCQkJLy8gc2VhcmNoIHRpbWVvdXQgc2hvdWxkIGJlIHRyaWdnZXJlZCBiZWZvcmUgdGhlIGlucHV0IHZhbHVlIGlzIGNoYW5nZWQNCgkJCQkJdGhpcy5fc2VhcmNoVGltZW91dCggZXZlbnQgKTsNCgkJCQkJYnJlYWs7DQoJCQkJfQ0KCQkJfSwNCgkJCWtleXByZXNzOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQkJaWYgKCBzdXBwcmVzc0tleVByZXNzICkgew0KCQkJCQlzdXBwcmVzc0tleVByZXNzID0gZmFsc2U7DQoJCQkJCWlmICggIXRoaXMuaXNNdWx0aUxpbmUgfHwgdGhpcy5tZW51LmVsZW1lbnQuaXMoICI6dmlzaWJsZSIgKSApIHsNCgkJCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJCQkJCX0NCgkJCQkJcmV0dXJuOw0KCQkJCX0NCgkJCQlpZiAoIHN1cHByZXNzS2V5UHJlc3NSZXBlYXQgKSB7DQoJCQkJCXJldHVybjsNCgkJCQl9DQoNCgkJCQkvLyByZXBsaWNhdGUgc29tZSBrZXkgaGFuZGxlcnMgdG8gYWxsb3cgdGhlbSB0byByZXBlYXQgaW4gRmlyZWZveCBhbmQgT3BlcmENCgkJCQl2YXIga2V5Q29kZSA9ICQudWkua2V5Q29kZTsNCgkJCQlzd2l0Y2ggKCBldmVudC5rZXlDb2RlICkgew0KCQkJCWNhc2Uga2V5Q29kZS5QQUdFX1VQOg0KCQkJCQl0aGlzLl9tb3ZlKCAicHJldmlvdXNQYWdlIiwgZXZlbnQgKTsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSBrZXlDb2RlLlBBR0VfRE9XTjoNCgkJCQkJdGhpcy5fbW92ZSggIm5leHRQYWdlIiwgZXZlbnQgKTsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSBrZXlDb2RlLlVQOg0KCQkJCQl0aGlzLl9rZXlFdmVudCggInByZXZpb3VzIiwgZXZlbnQgKTsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSBrZXlDb2RlLkRPV046DQoJCQkJCXRoaXMuX2tleUV2ZW50KCAibmV4dCIsIGV2ZW50ICk7DQoJCQkJCWJyZWFrOw0KCQkJCX0NCgkJCX0sDQoJCQlpbnB1dDogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJCWlmICggc3VwcHJlc3NJbnB1dCApIHsNCgkJCQkJc3VwcHJlc3NJbnB1dCA9IGZhbHNlOw0KCQkJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQkJCQlyZXR1cm47DQoJCQkJfQ0KCQkJCXRoaXMuX3NlYXJjaFRpbWVvdXQoIGV2ZW50ICk7DQoJCQl9LA0KCQkJZm9jdXM6IGZ1bmN0aW9uKCkgew0KCQkJCXRoaXMuc2VsZWN0ZWRJdGVtID0gbnVsbDsNCgkJCQl0aGlzLnByZXZpb3VzID0gdGhpcy5fdmFsdWUoKTsNCgkJCX0sDQoJCQlibHVyOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQkJaWYgKCB0aGlzLmNhbmNlbEJsdXIgKSB7DQoJCQkJCWRlbGV0ZSB0aGlzLmNhbmNlbEJsdXI7DQoJCQkJCXJldHVybjsNCgkJCQl9DQoNCgkJCQljbGVhclRpbWVvdXQoIHRoaXMuc2VhcmNoaW5nICk7DQoJCQkJdGhpcy5jbG9zZSggZXZlbnQgKTsNCgkJCQl0aGlzLl9jaGFuZ2UoIGV2ZW50ICk7DQoJCQl9DQoJCX0pOw0KDQoJCXRoaXMuX2luaXRTb3VyY2UoKTsNCgkJdGhpcy5tZW51ID0gJCggIjx1bD4iICkNCgkJCS5hZGRDbGFzcyggInVpLWF1dG9jb21wbGV0ZSB1aS1mcm9udCIgKQ0KCQkJLmFwcGVuZFRvKCB0aGlzLl9hcHBlbmRUbygpICkNCgkJCS5tZW51KHsNCgkJCQkvLyBkaXNhYmxlIEFSSUEgc3VwcG9ydCwgdGhlIGxpdmUgcmVnaW9uIHRha2VzIGNhcmUgb2YgdGhhdA0KCQkJCXJvbGU6IG51bGwNCgkJCX0pDQoJCQkuaGlkZSgpDQoJCQkubWVudSggImluc3RhbmNlIiApOw0KDQoJCXRoaXMuX29uKCB0aGlzLm1lbnUuZWxlbWVudCwgew0KCQkJbW91c2Vkb3duOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQkJLy8gcHJldmVudCBtb3ZpbmcgZm9jdXMgb3V0IG9mIHRoZSB0ZXh0IGZpZWxkDQoJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsNCg0KCQkJCS8vIElFIGRvZXNuJ3QgcHJldmVudCBtb3ZpbmcgZm9jdXMgZXZlbiB3aXRoIGV2ZW50LnByZXZlbnREZWZhdWx0KCkNCgkJCQkvLyBzbyB3ZSBzZXQgYSBmbGFnIHRvIGtub3cgd2hlbiB3ZSBzaG91bGQgaWdub3JlIHRoZSBibHVyIGV2ZW50DQoJCQkJdGhpcy5jYW5jZWxCbHVyID0gdHJ1ZTsNCgkJCQl0aGlzLl9kZWxheShmdW5jdGlvbigpIHsNCgkJCQkJZGVsZXRlIHRoaXMuY2FuY2VsQmx1cjsNCgkJCQl9KTsNCg0KCQkJCS8vIGNsaWNraW5nIG9uIHRoZSBzY3JvbGxiYXIgY2F1c2VzIGZvY3VzIHRvIHNoaWZ0IHRvIHRoZSBib2R5DQoJCQkJLy8gYnV0IHdlIGNhbid0IGRldGVjdCBhIG1vdXNldXAgb3IgYSBjbGljayBpbW1lZGlhdGVseSBhZnRlcndhcmQNCgkJCQkvLyBzbyB3ZSBoYXZlIHRvIHRyYWNrIHRoZSBuZXh0IG1vdXNlZG93biBhbmQgY2xvc2UgdGhlIG1lbnUgaWYNCgkJCQkvLyB0aGUgdXNlciBjbGlja3Mgc29tZXdoZXJlIG91dHNpZGUgb2YgdGhlIGF1dG9jb21wbGV0ZQ0KCQkJCXZhciBtZW51RWxlbWVudCA9IHRoaXMubWVudS5lbGVtZW50WyAwIF07DQoJCQkJaWYgKCAhJCggZXZlbnQudGFyZ2V0ICkuY2xvc2VzdCggIi51aS1tZW51LWl0ZW0iICkubGVuZ3RoICkgew0KCQkJCQl0aGlzLl9kZWxheShmdW5jdGlvbigpIHsNCgkJCQkJCXZhciB0aGF0ID0gdGhpczsNCgkJCQkJCXRoaXMuZG9jdW1lbnQub25lKCAibW91c2Vkb3duIiwgZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJCQkJCWlmICggZXZlbnQudGFyZ2V0ICE9PSB0aGF0LmVsZW1lbnRbIDAgXSAmJg0KCQkJCQkJCQkJZXZlbnQudGFyZ2V0ICE9PSBtZW51RWxlbWVudCAmJg0KCQkJCQkJCQkJISQuY29udGFpbnMoIG1lbnVFbGVtZW50LCBldmVudC50YXJnZXQgKSApIHsNCgkJCQkJCQkJdGhhdC5jbG9zZSgpOw0KCQkJCQkJCX0NCgkJCQkJCX0pOw0KCQkJCQl9KTsNCgkJCQl9DQoJCQl9LA0KCQkJbWVudWZvY3VzOiBmdW5jdGlvbiggZXZlbnQsIHVpICkgew0KCQkJCXZhciBsYWJlbCwgaXRlbTsNCgkJCQkvLyBzdXBwb3J0OiBGaXJlZm94DQoJCQkJLy8gUHJldmVudCBhY2NpZGVudGFsIGFjdGl2YXRpb24gb2YgbWVudSBpdGVtcyBpbiBGaXJlZm94ICgjNzAyNCAjOTExOCkNCgkJCQlpZiAoIHRoaXMuaXNOZXdNZW51ICkgew0KCQkJCQl0aGlzLmlzTmV3TWVudSA9IGZhbHNlOw0KCQkJCQlpZiAoIGV2ZW50Lm9yaWdpbmFsRXZlbnQgJiYgL15tb3VzZS8udGVzdCggZXZlbnQub3JpZ2luYWxFdmVudC50eXBlICkgKSB7DQoJCQkJCQl0aGlzLm1lbnUuYmx1cigpOw0KDQoJCQkJCQl0aGlzLmRvY3VtZW50Lm9uZSggIm1vdXNlbW92ZSIsIGZ1bmN0aW9uKCkgew0KCQkJCQkJCSQoIGV2ZW50LnRhcmdldCApLnRyaWdnZXIoIGV2ZW50Lm9yaWdpbmFsRXZlbnQgKTsNCgkJCQkJCX0pOw0KDQoJCQkJCQlyZXR1cm47DQoJCQkJCX0NCgkJCQl9DQoNCgkJCQlpdGVtID0gdWkuaXRlbS5kYXRhKCAidWktYXV0b2NvbXBsZXRlLWl0ZW0iICk7DQoJCQkJaWYgKCBmYWxzZSAhPT0gdGhpcy5fdHJpZ2dlciggImZvY3VzIiwgZXZlbnQsIHsgaXRlbTogaXRlbSB9ICkgKSB7DQoJCQkJCS8vIHVzZSB2YWx1ZSB0byBtYXRjaCB3aGF0IHdpbGwgZW5kIHVwIGluIHRoZSBpbnB1dCwgaWYgaXQgd2FzIGEga2V5IGV2ZW50DQoJCQkJCWlmICggZXZlbnQub3JpZ2luYWxFdmVudCAmJiAvXmtleS8udGVzdCggZXZlbnQub3JpZ2luYWxFdmVudC50eXBlICkgKSB7DQoJCQkJCQl0aGlzLl92YWx1ZSggaXRlbS52YWx1ZSApOw0KCQkJCQl9DQoJCQkJfQ0KDQoJCQkJLy8gQW5ub3VuY2UgdGhlIHZhbHVlIGluIHRoZSBsaXZlUmVnaW9uDQoJCQkJbGFiZWwgPSB1aS5pdGVtLmF0dHIoICJhcmlhLWxhYmVsIiApIHx8IGl0ZW0udmFsdWU7DQoJCQkJaWYgKCBsYWJlbCAmJiAkLnRyaW0oIGxhYmVsICkubGVuZ3RoICkgew0KCQkJCQl0aGlzLmxpdmVSZWdpb24uY2hpbGRyZW4oKS5oaWRlKCk7DQoJCQkJCSQoICI8ZGl2PiIgKS50ZXh0KCBsYWJlbCApLmFwcGVuZFRvKCB0aGlzLmxpdmVSZWdpb24gKTsNCgkJCQl9DQoJCQl9LA0KCQkJbWVudXNlbGVjdDogZnVuY3Rpb24oIGV2ZW50LCB1aSApIHsNCgkJCQl2YXIgaXRlbSA9IHVpLml0ZW0uZGF0YSggInVpLWF1dG9jb21wbGV0ZS1pdGVtIiApLA0KCQkJCQlwcmV2aW91cyA9IHRoaXMucHJldmlvdXM7DQoNCgkJCQkvLyBvbmx5IHRyaWdnZXIgd2hlbiBmb2N1cyB3YXMgbG9zdCAoY2xpY2sgb24gbWVudSkNCgkJCQlpZiAoIHRoaXMuZWxlbWVudFsgMCBdICE9PSB0aGlzLmRvY3VtZW50WyAwIF0uYWN0aXZlRWxlbWVudCApIHsNCgkJCQkJdGhpcy5lbGVtZW50LmZvY3VzKCk7DQoJCQkJCXRoaXMucHJldmlvdXMgPSBwcmV2aW91czsNCgkJCQkJLy8gIzYxMDkgLSBJRSB0cmlnZ2VycyB0d28gZm9jdXMgZXZlbnRzIGFuZCB0aGUgc2Vjb25kDQoJCQkJCS8vIGlzIGFzeW5jaHJvbm91cywgc28gd2UgbmVlZCB0byByZXNldCB0aGUgcHJldmlvdXMNCgkJCQkJLy8gdGVybSBzeW5jaHJvbm91c2x5IGFuZCBhc3luY2hyb25vdXNseSA6LSgNCgkJCQkJdGhpcy5fZGVsYXkoZnVuY3Rpb24oKSB7DQoJCQkJCQl0aGlzLnByZXZpb3VzID0gcHJldmlvdXM7DQoJCQkJCQl0aGlzLnNlbGVjdGVkSXRlbSA9IGl0ZW07DQoJCQkJCX0pOw0KCQkJCX0NCg0KCQkJCWlmICggZmFsc2UgIT09IHRoaXMuX3RyaWdnZXIoICJzZWxlY3QiLCBldmVudCwgeyBpdGVtOiBpdGVtIH0gKSApIHsNCgkJCQkJdGhpcy5fdmFsdWUoIGl0ZW0udmFsdWUgKTsNCgkJCQl9DQoJCQkJLy8gcmVzZXQgdGhlIHRlcm0gYWZ0ZXIgdGhlIHNlbGVjdCBldmVudA0KCQkJCS8vIHRoaXMgYWxsb3dzIGN1c3RvbSBzZWxlY3QgaGFuZGxpbmcgdG8gd29yayBwcm9wZXJseQ0KCQkJCXRoaXMudGVybSA9IHRoaXMuX3ZhbHVlKCk7DQoNCgkJCQl0aGlzLmNsb3NlKCBldmVudCApOw0KCQkJCXRoaXMuc2VsZWN0ZWRJdGVtID0gaXRlbTsNCgkJCX0NCgkJfSk7DQoNCgkJdGhpcy5saXZlUmVnaW9uID0gJCggIjxzcGFuPiIsIHsNCgkJCQlyb2xlOiAic3RhdHVzIiwNCgkJCQkiYXJpYS1saXZlIjogImFzc2VydGl2ZSIsDQoJCQkJImFyaWEtcmVsZXZhbnQiOiAiYWRkaXRpb25zIg0KCQkJfSkNCgkJCS5hZGRDbGFzcyggInVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZSIgKQ0KCQkJLmFwcGVuZFRvKCB0aGlzLmRvY3VtZW50WyAwIF0uYm9keSApOw0KDQoJCS8vIHR1cm5pbmcgb2ZmIGF1dG9jb21wbGV0ZSBwcmV2ZW50cyB0aGUgYnJvd3NlciBmcm9tIHJlbWVtYmVyaW5nIHRoZQ0KCQkvLyB2YWx1ZSB3aGVuIG5hdmlnYXRpbmcgdGhyb3VnaCBoaXN0b3J5LCBzbyB3ZSByZS1lbmFibGUgYXV0b2NvbXBsZXRlDQoJCS8vIGlmIHRoZSBwYWdlIGlzIHVubG9hZGVkIGJlZm9yZSB0aGUgd2lkZ2V0IGlzIGRlc3Ryb3llZC4gIzc3OTANCgkJdGhpcy5fb24oIHRoaXMud2luZG93LCB7DQoJCQliZWZvcmV1bmxvYWQ6IGZ1bmN0aW9uKCkgew0KCQkJCXRoaXMuZWxlbWVudC5yZW1vdmVBdHRyKCAiYXV0b2NvbXBsZXRlIiApOw0KCQkJfQ0KCQl9KTsNCgl9LA0KDQoJX2Rlc3Ryb3k6IGZ1bmN0aW9uKCkgew0KCQljbGVhclRpbWVvdXQoIHRoaXMuc2VhcmNoaW5nICk7DQoJCXRoaXMuZWxlbWVudA0KCQkJLnJlbW92ZUNsYXNzKCAidWktYXV0b2NvbXBsZXRlLWlucHV0IiApDQoJCQkucmVtb3ZlQXR0ciggImF1dG9jb21wbGV0ZSIgKTsNCgkJdGhpcy5tZW51LmVsZW1lbnQucmVtb3ZlKCk7DQoJCXRoaXMubGl2ZVJlZ2lvbi5yZW1vdmUoKTsNCgl9LA0KDQoJX3NldE9wdGlvbjogZnVuY3Rpb24oIGtleSwgdmFsdWUgKSB7DQoJCXRoaXMuX3N1cGVyKCBrZXksIHZhbHVlICk7DQoJCWlmICgga2V5ID09PSAic291cmNlIiApIHsNCgkJCXRoaXMuX2luaXRTb3VyY2UoKTsNCgkJfQ0KCQlpZiAoIGtleSA9PT0gImFwcGVuZFRvIiApIHsNCgkJCXRoaXMubWVudS5lbGVtZW50LmFwcGVuZFRvKCB0aGlzLl9hcHBlbmRUbygpICk7DQoJCX0NCgkJaWYgKCBrZXkgPT09ICJkaXNhYmxlZCIgJiYgdmFsdWUgJiYgdGhpcy54aHIgKSB7DQoJCQl0aGlzLnhoci5hYm9ydCgpOw0KCQl9DQoJfSwNCg0KCV9hcHBlbmRUbzogZnVuY3Rpb24oKSB7DQoJCXZhciBlbGVtZW50ID0gdGhpcy5vcHRpb25zLmFwcGVuZFRvOw0KDQoJCWlmICggZWxlbWVudCApIHsNCgkJCWVsZW1lbnQgPSBlbGVtZW50LmpxdWVyeSB8fCBlbGVtZW50Lm5vZGVUeXBlID8NCgkJCQkkKCBlbGVtZW50ICkgOg0KCQkJCXRoaXMuZG9jdW1lbnQuZmluZCggZWxlbWVudCApLmVxKCAwICk7DQoJCX0NCg0KCQlpZiAoICFlbGVtZW50IHx8ICFlbGVtZW50WyAwIF0gKSB7DQoJCQllbGVtZW50ID0gdGhpcy5lbGVtZW50LmNsb3Nlc3QoICIudWktZnJvbnQiICk7DQoJCX0NCg0KCQlpZiAoICFlbGVtZW50Lmxlbmd0aCApIHsNCgkJCWVsZW1lbnQgPSB0aGlzLmRvY3VtZW50WyAwIF0uYm9keTsNCgkJfQ0KDQoJCXJldHVybiBlbGVtZW50Ow0KCX0sDQoNCglfaW5pdFNvdXJjZTogZnVuY3Rpb24oKSB7DQoJCXZhciBhcnJheSwgdXJsLA0KCQkJdGhhdCA9IHRoaXM7DQoJCWlmICggJC5pc0FycmF5KCB0aGlzLm9wdGlvbnMuc291cmNlICkgKSB7DQoJCQlhcnJheSA9IHRoaXMub3B0aW9ucy5zb3VyY2U7DQoJCQl0aGlzLnNvdXJjZSA9IGZ1bmN0aW9uKCByZXF1ZXN0LCByZXNwb25zZSApIHsNCgkJCQlyZXNwb25zZSggJC51aS5hdXRvY29tcGxldGUuZmlsdGVyKCBhcnJheSwgcmVxdWVzdC50ZXJtICkgKTsNCgkJCX07DQoJCX0gZWxzZSBpZiAoIHR5cGVvZiB0aGlzLm9wdGlvbnMuc291cmNlID09PSAic3RyaW5nIiApIHsNCgkJCXVybCA9IHRoaXMub3B0aW9ucy5zb3VyY2U7DQoJCQl0aGlzLnNvdXJjZSA9IGZ1bmN0aW9uKCByZXF1ZXN0LCByZXNwb25zZSApIHsNCgkJCQlpZiAoIHRoYXQueGhyICkgew0KCQkJCQl0aGF0Lnhoci5hYm9ydCgpOw0KCQkJCX0NCgkJCQl0aGF0LnhociA9ICQuYWpheCh7DQoJCQkJCXVybDogdXJsLA0KCQkJCQlkYXRhOiByZXF1ZXN0LA0KCQkJCQlkYXRhVHlwZTogImpzb24iLA0KCQkJCQlzdWNjZXNzOiBmdW5jdGlvbiggZGF0YSApIHsNCgkJCQkJCXJlc3BvbnNlKCBkYXRhICk7DQoJCQkJCX0sDQoJCQkJCWVycm9yOiBmdW5jdGlvbigpIHsNCgkJCQkJCXJlc3BvbnNlKFtdKTsNCgkJCQkJfQ0KCQkJCX0pOw0KCQkJfTsNCgkJfSBlbHNlIHsNCgkJCXRoaXMuc291cmNlID0gdGhpcy5vcHRpb25zLnNvdXJjZTsNCgkJfQ0KCX0sDQoNCglfc2VhcmNoVGltZW91dDogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQljbGVhclRpbWVvdXQoIHRoaXMuc2VhcmNoaW5nICk7DQoJCXRoaXMuc2VhcmNoaW5nID0gdGhpcy5fZGVsYXkoZnVuY3Rpb24oKSB7DQoNCgkJCS8vIFNlYXJjaCBpZiB0aGUgdmFsdWUgaGFzIGNoYW5nZWQsIG9yIGlmIHRoZSB1c2VyIHJldHlwZXMgdGhlIHNhbWUgdmFsdWUgKHNlZSAjNzQzNCkNCgkJCXZhciBlcXVhbFZhbHVlcyA9IHRoaXMudGVybSA9PT0gdGhpcy5fdmFsdWUoKSwNCgkJCQltZW51VmlzaWJsZSA9IHRoaXMubWVudS5lbGVtZW50LmlzKCAiOnZpc2libGUiICksDQoJCQkJbW9kaWZpZXJLZXkgPSBldmVudC5hbHRLZXkgfHwgZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5IHx8IGV2ZW50LnNoaWZ0S2V5Ow0KDQoJCQlpZiAoICFlcXVhbFZhbHVlcyB8fCAoIGVxdWFsVmFsdWVzICYmICFtZW51VmlzaWJsZSAmJiAhbW9kaWZpZXJLZXkgKSApIHsNCgkJCQl0aGlzLnNlbGVjdGVkSXRlbSA9IG51bGw7DQoJCQkJdGhpcy5zZWFyY2goIG51bGwsIGV2ZW50ICk7DQoJCQl9DQoJCX0sIHRoaXMub3B0aW9ucy5kZWxheSApOw0KCX0sDQoNCglzZWFyY2g6IGZ1bmN0aW9uKCB2YWx1ZSwgZXZlbnQgKSB7DQoJCXZhbHVlID0gdmFsdWUgIT0gbnVsbCA/IHZhbHVlIDogdGhpcy5fdmFsdWUoKTsNCg0KCQkvLyBhbHdheXMgc2F2ZSB0aGUgYWN0dWFsIHZhbHVlLCBub3QgdGhlIG9uZSBwYXNzZWQgYXMgYW4gYXJndW1lbnQNCgkJdGhpcy50ZXJtID0gdGhpcy5fdmFsdWUoKTsNCg0KCQlpZiAoIHZhbHVlLmxlbmd0aCA8IHRoaXMub3B0aW9ucy5taW5MZW5ndGggKSB7DQoJCQlyZXR1cm4gdGhpcy5jbG9zZSggZXZlbnQgKTsNCgkJfQ0KDQoJCWlmICggdGhpcy5fdHJpZ2dlciggInNlYXJjaCIsIGV2ZW50ICkgPT09IGZhbHNlICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJcmV0dXJuIHRoaXMuX3NlYXJjaCggdmFsdWUgKTsNCgl9LA0KDQoJX3NlYXJjaDogZnVuY3Rpb24oIHZhbHVlICkgew0KCQl0aGlzLnBlbmRpbmcrKzsNCgkJdGhpcy5lbGVtZW50LmFkZENsYXNzKCAidWktYXV0b2NvbXBsZXRlLWxvYWRpbmciICk7DQoJCXRoaXMuY2FuY2VsU2VhcmNoID0gZmFsc2U7DQoNCgkJdGhpcy5zb3VyY2UoIHsgdGVybTogdmFsdWUgfSwgdGhpcy5fcmVzcG9uc2UoKSApOw0KCX0sDQoNCglfcmVzcG9uc2U6IGZ1bmN0aW9uKCkgew0KCQl2YXIgaW5kZXggPSArK3RoaXMucmVxdWVzdEluZGV4Ow0KDQoJCXJldHVybiAkLnByb3h5KGZ1bmN0aW9uKCBjb250ZW50ICkgew0KCQkJaWYgKCBpbmRleCA9PT0gdGhpcy5yZXF1ZXN0SW5kZXggKSB7DQoJCQkJdGhpcy5fX3Jlc3BvbnNlKCBjb250ZW50ICk7DQoJCQl9DQoNCgkJCXRoaXMucGVuZGluZy0tOw0KCQkJaWYgKCAhdGhpcy5wZW5kaW5nICkgew0KCQkJCXRoaXMuZWxlbWVudC5yZW1vdmVDbGFzcyggInVpLWF1dG9jb21wbGV0ZS1sb2FkaW5nIiApOw0KCQkJfQ0KCQl9LCB0aGlzICk7DQoJfSwNCg0KCV9fcmVzcG9uc2U6IGZ1bmN0aW9uKCBjb250ZW50ICkgew0KCQlpZiAoIGNvbnRlbnQgKSB7DQoJCQljb250ZW50ID0gdGhpcy5fbm9ybWFsaXplKCBjb250ZW50ICk7DQoJCX0NCgkJdGhpcy5fdHJpZ2dlciggInJlc3BvbnNlIiwgbnVsbCwgeyBjb250ZW50OiBjb250ZW50IH0gKTsNCgkJaWYgKCAhdGhpcy5vcHRpb25zLmRpc2FibGVkICYmIGNvbnRlbnQgJiYgY29udGVudC5sZW5ndGggJiYgIXRoaXMuY2FuY2VsU2VhcmNoICkgew0KCQkJdGhpcy5fc3VnZ2VzdCggY29udGVudCApOw0KCQkJdGhpcy5fdHJpZ2dlciggIm9wZW4iICk7DQoJCX0gZWxzZSB7DQoJCQkvLyB1c2UgLl9jbG9zZSgpIGluc3RlYWQgb2YgLmNsb3NlKCkgc28gd2UgZG9uJ3QgY2FuY2VsIGZ1dHVyZSBzZWFyY2hlcw0KCQkJdGhpcy5fY2xvc2UoKTsNCgkJfQ0KCX0sDQoNCgljbG9zZTogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl0aGlzLmNhbmNlbFNlYXJjaCA9IHRydWU7DQoJCXRoaXMuX2Nsb3NlKCBldmVudCApOw0KCX0sDQoNCglfY2xvc2U6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJaWYgKCB0aGlzLm1lbnUuZWxlbWVudC5pcyggIjp2aXNpYmxlIiApICkgew0KCQkJdGhpcy5tZW51LmVsZW1lbnQuaGlkZSgpOw0KCQkJdGhpcy5tZW51LmJsdXIoKTsNCgkJCXRoaXMuaXNOZXdNZW51ID0gdHJ1ZTsNCgkJCXRoaXMuX3RyaWdnZXIoICJjbG9zZSIsIGV2ZW50ICk7DQoJCX0NCgl9LA0KDQoJX2NoYW5nZTogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQlpZiAoIHRoaXMucHJldmlvdXMgIT09IHRoaXMuX3ZhbHVlKCkgKSB7DQoJCQl0aGlzLl90cmlnZ2VyKCAiY2hhbmdlIiwgZXZlbnQsIHsgaXRlbTogdGhpcy5zZWxlY3RlZEl0ZW0gfSApOw0KCQl9DQoJfSwNCg0KCV9ub3JtYWxpemU6IGZ1bmN0aW9uKCBpdGVtcyApIHsNCgkJLy8gYXNzdW1lIGFsbCBpdGVtcyBoYXZlIHRoZSByaWdodCBmb3JtYXQgd2hlbiB0aGUgZmlyc3QgaXRlbSBpcyBjb21wbGV0ZQ0KCQlpZiAoIGl0ZW1zLmxlbmd0aCAmJiBpdGVtc1sgMCBdLmxhYmVsICYmIGl0ZW1zWyAwIF0udmFsdWUgKSB7DQoJCQlyZXR1cm4gaXRlbXM7DQoJCX0NCgkJcmV0dXJuICQubWFwKCBpdGVtcywgZnVuY3Rpb24oIGl0ZW0gKSB7DQoJCQlpZiAoIHR5cGVvZiBpdGVtID09PSAic3RyaW5nIiApIHsNCgkJCQlyZXR1cm4gew0KCQkJCQlsYWJlbDogaXRlbSwNCgkJCQkJdmFsdWU6IGl0ZW0NCgkJCQl9Ow0KCQkJfQ0KCQkJcmV0dXJuICQuZXh0ZW5kKCB7fSwgaXRlbSwgew0KCQkJCWxhYmVsOiBpdGVtLmxhYmVsIHx8IGl0ZW0udmFsdWUsDQoJCQkJdmFsdWU6IGl0ZW0udmFsdWUgfHwgaXRlbS5sYWJlbA0KCQkJfSk7DQoJCX0pOw0KCX0sDQoNCglfc3VnZ2VzdDogZnVuY3Rpb24oIGl0ZW1zICkgew0KCQl2YXIgdWwgPSB0aGlzLm1lbnUuZWxlbWVudC5lbXB0eSgpOw0KCQl0aGlzLl9yZW5kZXJNZW51KCB1bCwgaXRlbXMgKTsNCgkJdGhpcy5pc05ld01lbnUgPSB0cnVlOw0KCQl0aGlzLm1lbnUucmVmcmVzaCgpOw0KDQoJCS8vIHNpemUgYW5kIHBvc2l0aW9uIG1lbnUNCgkJdWwuc2hvdygpOw0KCQl0aGlzLl9yZXNpemVNZW51KCk7DQoJCXVsLnBvc2l0aW9uKCAkLmV4dGVuZCh7DQoJCQlvZjogdGhpcy5lbGVtZW50DQoJCX0sIHRoaXMub3B0aW9ucy5wb3NpdGlvbiApICk7DQoNCgkJaWYgKCB0aGlzLm9wdGlvbnMuYXV0b0ZvY3VzICkgew0KCQkJdGhpcy5tZW51Lm5leHQoKTsNCgkJfQ0KCX0sDQoNCglfcmVzaXplTWVudTogZnVuY3Rpb24oKSB7DQoJCXZhciB1bCA9IHRoaXMubWVudS5lbGVtZW50Ow0KCQl1bC5vdXRlcldpZHRoKCBNYXRoLm1heCgNCgkJCS8vIEZpcmVmb3ggd3JhcHMgbG9uZyB0ZXh0IChwb3NzaWJseSBhIHJvdW5kaW5nIGJ1ZykNCgkJCS8vIHNvIHdlIGFkZCAxcHggdG8gYXZvaWQgdGhlIHdyYXBwaW5nICgjNzUxMykNCgkJCXVsLndpZHRoKCAiIiApLm91dGVyV2lkdGgoKSArIDEsDQoJCQl0aGlzLmVsZW1lbnQub3V0ZXJXaWR0aCgpDQoJCSkgKTsNCgl9LA0KDQoJX3JlbmRlck1lbnU6IGZ1bmN0aW9uKCB1bCwgaXRlbXMgKSB7DQoJCXZhciB0aGF0ID0gdGhpczsNCgkJJC5lYWNoKCBpdGVtcywgZnVuY3Rpb24oIGluZGV4LCBpdGVtICkgew0KCQkJdGhhdC5fcmVuZGVySXRlbURhdGEoIHVsLCBpdGVtICk7DQoJCX0pOw0KCX0sDQoNCglfcmVuZGVySXRlbURhdGE6IGZ1bmN0aW9uKCB1bCwgaXRlbSApIHsNCgkJcmV0dXJuIHRoaXMuX3JlbmRlckl0ZW0oIHVsLCBpdGVtICkuZGF0YSggInVpLWF1dG9jb21wbGV0ZS1pdGVtIiwgaXRlbSApOw0KCX0sDQoNCglfcmVuZGVySXRlbTogZnVuY3Rpb24oIHVsLCBpdGVtICkgew0KCQlyZXR1cm4gJCggIjxsaT4iICkudGV4dCggaXRlbS5sYWJlbCApLmFwcGVuZFRvKCB1bCApOw0KCX0sDQoNCglfbW92ZTogZnVuY3Rpb24oIGRpcmVjdGlvbiwgZXZlbnQgKSB7DQoJCWlmICggIXRoaXMubWVudS5lbGVtZW50LmlzKCAiOnZpc2libGUiICkgKSB7DQoJCQl0aGlzLnNlYXJjaCggbnVsbCwgZXZlbnQgKTsNCgkJCXJldHVybjsNCgkJfQ0KCQlpZiAoIHRoaXMubWVudS5pc0ZpcnN0SXRlbSgpICYmIC9ecHJldmlvdXMvLnRlc3QoIGRpcmVjdGlvbiApIHx8DQoJCQkJdGhpcy5tZW51LmlzTGFzdEl0ZW0oKSAmJiAvXm5leHQvLnRlc3QoIGRpcmVjdGlvbiApICkgew0KDQoJCQlpZiAoICF0aGlzLmlzTXVsdGlMaW5lICkgew0KCQkJCXRoaXMuX3ZhbHVlKCB0aGlzLnRlcm0gKTsNCgkJCX0NCg0KCQkJdGhpcy5tZW51LmJsdXIoKTsNCgkJCXJldHVybjsNCgkJfQ0KCQl0aGlzLm1lbnVbIGRpcmVjdGlvbiBdKCBldmVudCApOw0KCX0sDQoNCgl3aWRnZXQ6IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gdGhpcy5tZW51LmVsZW1lbnQ7DQoJfSwNCg0KCV92YWx1ZTogZnVuY3Rpb24oKSB7DQoJCXJldHVybiB0aGlzLnZhbHVlTWV0aG9kLmFwcGx5KCB0aGlzLmVsZW1lbnQsIGFyZ3VtZW50cyApOw0KCX0sDQoNCglfa2V5RXZlbnQ6IGZ1bmN0aW9uKCBrZXlFdmVudCwgZXZlbnQgKSB7DQoJCWlmICggIXRoaXMuaXNNdWx0aUxpbmUgfHwgdGhpcy5tZW51LmVsZW1lbnQuaXMoICI6dmlzaWJsZSIgKSApIHsNCgkJCXRoaXMuX21vdmUoIGtleUV2ZW50LCBldmVudCApOw0KDQoJCQkvLyBwcmV2ZW50cyBtb3ZpbmcgY3Vyc29yIHRvIGJlZ2lubmluZy9lbmQgb2YgdGhlIHRleHQgZmllbGQgaW4gc29tZSBicm93c2Vycw0KCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsNCgkJfQ0KCX0NCn0pOw0KDQokLmV4dGVuZCggJC51aS5hdXRvY29tcGxldGUsIHsNCgllc2NhcGVSZWdleDogZnVuY3Rpb24oIHZhbHVlICkgew0KCQlyZXR1cm4gdmFsdWUucmVwbGFjZSggL1tcLVxbXF17fSgpKis/LixcXFxeJHwjXHNdL2csICJcXCQmIiApOw0KCX0sDQoJZmlsdGVyOiBmdW5jdGlvbiggYXJyYXksIHRlcm0gKSB7DQoJCXZhciBtYXRjaGVyID0gbmV3IFJlZ0V4cCggJC51aS5hdXRvY29tcGxldGUuZXNjYXBlUmVnZXgoIHRlcm0gKSwgImkiICk7DQoJCXJldHVybiAkLmdyZXAoIGFycmF5LCBmdW5jdGlvbiggdmFsdWUgKSB7DQoJCQlyZXR1cm4gbWF0Y2hlci50ZXN0KCB2YWx1ZS5sYWJlbCB8fCB2YWx1ZS52YWx1ZSB8fCB2YWx1ZSApOw0KCQl9KTsNCgl9DQp9KTsNCg0KLy8gbGl2ZSByZWdpb24gZXh0ZW5zaW9uLCBhZGRpbmcgYSBgbWVzc2FnZXNgIG9wdGlvbg0KLy8gTk9URTogVGhpcyBpcyBhbiBleHBlcmltZW50YWwgQVBJLiBXZSBhcmUgc3RpbGwgaW52ZXN0aWdhdGluZw0KLy8gYSBmdWxsIHNvbHV0aW9uIGZvciBzdHJpbmcgbWFuaXB1bGF0aW9uIGFuZCBpbnRlcm5hdGlvbmFsaXphdGlvbi4NCiQud2lkZ2V0KCAidWkuYXV0b2NvbXBsZXRlIiwgJC51aS5hdXRvY29tcGxldGUsIHsNCglvcHRpb25zOiB7DQoJCW1lc3NhZ2VzOiB7DQoJCQlub1Jlc3VsdHM6ICJObyBzZWFyY2ggcmVzdWx0cy4iLA0KCQkJcmVzdWx0czogZnVuY3Rpb24oIGFtb3VudCApIHsNCgkJCQlyZXR1cm4gYW1vdW50ICsgKCBhbW91bnQgPiAxID8gIiByZXN1bHRzIGFyZSIgOiAiIHJlc3VsdCBpcyIgKSArDQoJCQkJCSIgYXZhaWxhYmxlLCB1c2UgdXAgYW5kIGRvd24gYXJyb3cga2V5cyB0byBuYXZpZ2F0ZS4iOw0KCQkJfQ0KCQl9DQoJfSwNCg0KCV9fcmVzcG9uc2U6IGZ1bmN0aW9uKCBjb250ZW50ICkgew0KCQl2YXIgbWVzc2FnZTsNCgkJdGhpcy5fc3VwZXJBcHBseSggYXJndW1lbnRzICk7DQoJCWlmICggdGhpcy5vcHRpb25zLmRpc2FibGVkIHx8IHRoaXMuY2FuY2VsU2VhcmNoICkgew0KCQkJcmV0dXJuOw0KCQl9DQoJCWlmICggY29udGVudCAmJiBjb250ZW50Lmxlbmd0aCApIHsNCgkJCW1lc3NhZ2UgPSB0aGlzLm9wdGlvbnMubWVzc2FnZXMucmVzdWx0cyggY29udGVudC5sZW5ndGggKTsNCgkJfSBlbHNlIHsNCgkJCW1lc3NhZ2UgPSB0aGlzLm9wdGlvbnMubWVzc2FnZXMubm9SZXN1bHRzOw0KCQl9DQoJCXRoaXMubGl2ZVJlZ2lvbi5jaGlsZHJlbigpLmhpZGUoKTsNCgkJJCggIjxkaXY+IiApLnRleHQoIG1lc3NhZ2UgKS5hcHBlbmRUbyggdGhpcy5saXZlUmVnaW9uICk7DQoJfQ0KfSk7DQoNCnZhciBhdXRvY29tcGxldGUgPSAkLnVpLmF1dG9jb21wbGV0ZTsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBCdXR0b24gMS4xMS40DQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqDQogKiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9idXR0b24vDQogKi8NCg0KDQp2YXIgbGFzdEFjdGl2ZSwNCgliYXNlQ2xhc3NlcyA9ICJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCIsDQoJdHlwZUNsYXNzZXMgPSAidWktYnV0dG9uLWljb25zLW9ubHkgdWktYnV0dG9uLWljb24tb25seSB1aS1idXR0b24tdGV4dC1pY29ucyB1aS1idXR0b24tdGV4dC1pY29uLXByaW1hcnkgdWktYnV0dG9uLXRleHQtaWNvbi1zZWNvbmRhcnkgdWktYnV0dG9uLXRleHQtb25seSIsDQoJZm9ybVJlc2V0SGFuZGxlciA9IGZ1bmN0aW9uKCkgew0KCQl2YXIgZm9ybSA9ICQoIHRoaXMgKTsNCgkJc2V0VGltZW91dChmdW5jdGlvbigpIHsNCgkJCWZvcm0uZmluZCggIjp1aS1idXR0b24iICkuYnV0dG9uKCAicmVmcmVzaCIgKTsNCgkJfSwgMSApOw0KCX0sDQoJcmFkaW9Hcm91cCA9IGZ1bmN0aW9uKCByYWRpbyApIHsNCgkJdmFyIG5hbWUgPSByYWRpby5uYW1lLA0KCQkJZm9ybSA9IHJhZGlvLmZvcm0sDQoJCQlyYWRpb3MgPSAkKCBbXSApOw0KCQlpZiAoIG5hbWUgKSB7DQoJCQluYW1lID0gbmFtZS5yZXBsYWNlKCAvJy9nLCAiXFwnIiApOw0KCQkJaWYgKCBmb3JtICkgew0KCQkJCXJhZGlvcyA9ICQoIGZvcm0gKS5maW5kKCAiW25hbWU9JyIgKyBuYW1lICsgIiddW3R5cGU9cmFkaW9dIiApOw0KCQkJfSBlbHNlIHsNCgkJCQlyYWRpb3MgPSAkKCAiW25hbWU9JyIgKyBuYW1lICsgIiddW3R5cGU9cmFkaW9dIiwgcmFkaW8ub3duZXJEb2N1bWVudCApDQoJCQkJCS5maWx0ZXIoZnVuY3Rpb24oKSB7DQoJCQkJCQlyZXR1cm4gIXRoaXMuZm9ybTsNCgkJCQkJfSk7DQoJCQl9DQoJCX0NCgkJcmV0dXJuIHJhZGlvczsNCgl9Ow0KDQokLndpZGdldCggInVpLmJ1dHRvbiIsIHsNCgl2ZXJzaW9uOiAiMS4xMS40IiwNCglkZWZhdWx0RWxlbWVudDogIjxidXR0b24+IiwNCglvcHRpb25zOiB7DQoJCWRpc2FibGVkOiBudWxsLA0KCQl0ZXh0OiB0cnVlLA0KCQlsYWJlbDogbnVsbCwNCgkJaWNvbnM6IHsNCgkJCXByaW1hcnk6IG51bGwsDQoJCQlzZWNvbmRhcnk6IG51bGwNCgkJfQ0KCX0sDQoJX2NyZWF0ZTogZnVuY3Rpb24oKSB7DQoJCXRoaXMuZWxlbWVudC5jbG9zZXN0KCAiZm9ybSIgKQ0KCQkJLnVuYmluZCggInJlc2V0IiArIHRoaXMuZXZlbnROYW1lc3BhY2UgKQ0KCQkJLmJpbmQoICJyZXNldCIgKyB0aGlzLmV2ZW50TmFtZXNwYWNlLCBmb3JtUmVzZXRIYW5kbGVyICk7DQoNCgkJaWYgKCB0eXBlb2YgdGhpcy5vcHRpb25zLmRpc2FibGVkICE9PSAiYm9vbGVhbiIgKSB7DQoJCQl0aGlzLm9wdGlvbnMuZGlzYWJsZWQgPSAhIXRoaXMuZWxlbWVudC5wcm9wKCAiZGlzYWJsZWQiICk7DQoJCX0gZWxzZSB7DQoJCQl0aGlzLmVsZW1lbnQucHJvcCggImRpc2FibGVkIiwgdGhpcy5vcHRpb25zLmRpc2FibGVkICk7DQoJCX0NCg0KCQl0aGlzLl9kZXRlcm1pbmVCdXR0b25UeXBlKCk7DQoJCXRoaXMuaGFzVGl0bGUgPSAhIXRoaXMuYnV0dG9uRWxlbWVudC5hdHRyKCAidGl0bGUiICk7DQoNCgkJdmFyIHRoYXQgPSB0aGlzLA0KCQkJb3B0aW9ucyA9IHRoaXMub3B0aW9ucywNCgkJCXRvZ2dsZUJ1dHRvbiA9IHRoaXMudHlwZSA9PT0gImNoZWNrYm94IiB8fCB0aGlzLnR5cGUgPT09ICJyYWRpbyIsDQoJCQlhY3RpdmVDbGFzcyA9ICF0b2dnbGVCdXR0b24gPyAidWktc3RhdGUtYWN0aXZlIiA6ICIiOw0KDQoJCWlmICggb3B0aW9ucy5sYWJlbCA9PT0gbnVsbCApIHsNCgkJCW9wdGlvbnMubGFiZWwgPSAodGhpcy50eXBlID09PSAiaW5wdXQiID8gdGhpcy5idXR0b25FbGVtZW50LnZhbCgpIDogdGhpcy5idXR0b25FbGVtZW50Lmh0bWwoKSk7DQoJCX0NCg0KCQl0aGlzLl9ob3ZlcmFibGUoIHRoaXMuYnV0dG9uRWxlbWVudCApOw0KDQoJCXRoaXMuYnV0dG9uRWxlbWVudA0KCQkJLmFkZENsYXNzKCBiYXNlQ2xhc3NlcyApDQoJCQkuYXR0ciggInJvbGUiLCAiYnV0dG9uIiApDQoJCQkuYmluZCggIm1vdXNlZW50ZXIiICsgdGhpcy5ldmVudE5hbWVzcGFjZSwgZnVuY3Rpb24oKSB7DQoJCQkJaWYgKCBvcHRpb25zLmRpc2FibGVkICkgew0KCQkJCQlyZXR1cm47DQoJCQkJfQ0KCQkJCWlmICggdGhpcyA9PT0gbGFzdEFjdGl2ZSApIHsNCgkJCQkJJCggdGhpcyApLmFkZENsYXNzKCAidWktc3RhdGUtYWN0aXZlIiApOw0KCQkJCX0NCgkJCX0pDQoJCQkuYmluZCggIm1vdXNlbGVhdmUiICsgdGhpcy5ldmVudE5hbWVzcGFjZSwgZnVuY3Rpb24oKSB7DQoJCQkJaWYgKCBvcHRpb25zLmRpc2FibGVkICkgew0KCQkJCQlyZXR1cm47DQoJCQkJfQ0KCQkJCSQoIHRoaXMgKS5yZW1vdmVDbGFzcyggYWN0aXZlQ2xhc3MgKTsNCgkJCX0pDQoJCQkuYmluZCggImNsaWNrIiArIHRoaXMuZXZlbnROYW1lc3BhY2UsIGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCQlpZiAoIG9wdGlvbnMuZGlzYWJsZWQgKSB7DQoJCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJCQkJCWV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpOw0KCQkJCX0NCgkJCX0pOw0KDQoJCS8vIENhbid0IHVzZSBfZm9jdXNhYmxlKCkgYmVjYXVzZSB0aGUgZWxlbWVudCB0aGF0IHJlY2VpdmVzIGZvY3VzDQoJCS8vIGFuZCB0aGUgZWxlbWVudCB0aGF0IGdldHMgdGhlIHVpLXN0YXRlLWZvY3VzIGNsYXNzIGFyZSBkaWZmZXJlbnQNCgkJdGhpcy5fb24oew0KCQkJZm9jdXM6IGZ1bmN0aW9uKCkgew0KCQkJCXRoaXMuYnV0dG9uRWxlbWVudC5hZGRDbGFzcyggInVpLXN0YXRlLWZvY3VzIiApOw0KCQkJfSwNCgkJCWJsdXI6IGZ1bmN0aW9uKCkgew0KCQkJCXRoaXMuYnV0dG9uRWxlbWVudC5yZW1vdmVDbGFzcyggInVpLXN0YXRlLWZvY3VzIiApOw0KCQkJfQ0KCQl9KTsNCg0KCQlpZiAoIHRvZ2dsZUJ1dHRvbiApIHsNCgkJCXRoaXMuZWxlbWVudC5iaW5kKCAiY2hhbmdlIiArIHRoaXMuZXZlbnROYW1lc3BhY2UsIGZ1bmN0aW9uKCkgew0KCQkJCXRoYXQucmVmcmVzaCgpOw0KCQkJfSk7DQoJCX0NCg0KCQlpZiAoIHRoaXMudHlwZSA9PT0gImNoZWNrYm94IiApIHsNCgkJCXRoaXMuYnV0dG9uRWxlbWVudC5iaW5kKCAiY2xpY2siICsgdGhpcy5ldmVudE5hbWVzcGFjZSwgZnVuY3Rpb24oKSB7DQoJCQkJaWYgKCBvcHRpb25zLmRpc2FibGVkICkgew0KCQkJCQlyZXR1cm4gZmFsc2U7DQoJCQkJfQ0KCQkJfSk7DQoJCX0gZWxzZSBpZiAoIHRoaXMudHlwZSA9PT0gInJhZGlvIiApIHsNCgkJCXRoaXMuYnV0dG9uRWxlbWVudC5iaW5kKCAiY2xpY2siICsgdGhpcy5ldmVudE5hbWVzcGFjZSwgZnVuY3Rpb24oKSB7DQoJCQkJaWYgKCBvcHRpb25zLmRpc2FibGVkICkgew0KCQkJCQlyZXR1cm4gZmFsc2U7DQoJCQkJfQ0KCQkJCSQoIHRoaXMgKS5hZGRDbGFzcyggInVpLXN0YXRlLWFjdGl2ZSIgKTsNCgkJCQl0aGF0LmJ1dHRvbkVsZW1lbnQuYXR0ciggImFyaWEtcHJlc3NlZCIsICJ0cnVlIiApOw0KDQoJCQkJdmFyIHJhZGlvID0gdGhhdC5lbGVtZW50WyAwIF07DQoJCQkJcmFkaW9Hcm91cCggcmFkaW8gKQ0KCQkJCQkubm90KCByYWRpbyApDQoJCQkJCS5tYXAoZnVuY3Rpb24oKSB7DQoJCQkJCQlyZXR1cm4gJCggdGhpcyApLmJ1dHRvbiggIndpZGdldCIgKVsgMCBdOw0KCQkJCQl9KQ0KCQkJCQkucmVtb3ZlQ2xhc3MoICJ1aS1zdGF0ZS1hY3RpdmUiICkNCgkJCQkJLmF0dHIoICJhcmlhLXByZXNzZWQiLCAiZmFsc2UiICk7DQoJCQl9KTsNCgkJfSBlbHNlIHsNCgkJCXRoaXMuYnV0dG9uRWxlbWVudA0KCQkJCS5iaW5kKCAibW91c2Vkb3duIiArIHRoaXMuZXZlbnROYW1lc3BhY2UsIGZ1bmN0aW9uKCkgew0KCQkJCQlpZiAoIG9wdGlvbnMuZGlzYWJsZWQgKSB7DQoJCQkJCQlyZXR1cm4gZmFsc2U7DQoJCQkJCX0NCgkJCQkJJCggdGhpcyApLmFkZENsYXNzKCAidWktc3RhdGUtYWN0aXZlIiApOw0KCQkJCQlsYXN0QWN0aXZlID0gdGhpczsNCgkJCQkJdGhhdC5kb2N1bWVudC5vbmUoICJtb3VzZXVwIiwgZnVuY3Rpb24oKSB7DQoJCQkJCQlsYXN0QWN0aXZlID0gbnVsbDsNCgkJCQkJfSk7DQoJCQkJfSkNCgkJCQkuYmluZCggIm1vdXNldXAiICsgdGhpcy5ldmVudE5hbWVzcGFjZSwgZnVuY3Rpb24oKSB7DQoJCQkJCWlmICggb3B0aW9ucy5kaXNhYmxlZCApIHsNCgkJCQkJCXJldHVybiBmYWxzZTsNCgkJCQkJfQ0KCQkJCQkkKCB0aGlzICkucmVtb3ZlQ2xhc3MoICJ1aS1zdGF0ZS1hY3RpdmUiICk7DQoJCQkJfSkNCgkJCQkuYmluZCggImtleWRvd24iICsgdGhpcy5ldmVudE5hbWVzcGFjZSwgZnVuY3Rpb24oZXZlbnQpIHsNCgkJCQkJaWYgKCBvcHRpb25zLmRpc2FibGVkICkgew0KCQkJCQkJcmV0dXJuIGZhbHNlOw0KCQkJCQl9DQoJCQkJCWlmICggZXZlbnQua2V5Q29kZSA9PT0gJC51aS5rZXlDb2RlLlNQQUNFIHx8IGV2ZW50LmtleUNvZGUgPT09ICQudWkua2V5Q29kZS5FTlRFUiApIHsNCgkJCQkJCSQoIHRoaXMgKS5hZGRDbGFzcyggInVpLXN0YXRlLWFjdGl2ZSIgKTsNCgkJCQkJfQ0KCQkJCX0pDQoJCQkJLy8gc2VlICM4NTU5LCB3ZSBiaW5kIHRvIGJsdXIgaGVyZSBpbiBjYXNlIHRoZSBidXR0b24gZWxlbWVudCBsb3Nlcw0KCQkJCS8vIGZvY3VzIGJldHdlZW4ga2V5ZG93biBhbmQga2V5dXAsIGl0IHdvdWxkIGJlIGxlZnQgaW4gYW4gImFjdGl2ZSIgc3RhdGUNCgkJCQkuYmluZCggImtleXVwIiArIHRoaXMuZXZlbnROYW1lc3BhY2UgKyAiIGJsdXIiICsgdGhpcy5ldmVudE5hbWVzcGFjZSwgZnVuY3Rpb24oKSB7DQoJCQkJCSQoIHRoaXMgKS5yZW1vdmVDbGFzcyggInVpLXN0YXRlLWFjdGl2ZSIgKTsNCgkJCQl9KTsNCg0KCQkJaWYgKCB0aGlzLmJ1dHRvbkVsZW1lbnQuaXMoImEiKSApIHsNCgkJCQl0aGlzLmJ1dHRvbkVsZW1lbnQua2V5dXAoZnVuY3Rpb24oZXZlbnQpIHsNCgkJCQkJaWYgKCBldmVudC5rZXlDb2RlID09PSAkLnVpLmtleUNvZGUuU1BBQ0UgKSB7DQoJCQkJCQkvLyBUT0RPIHBhc3MgdGhyb3VnaCBvcmlnaW5hbCBldmVudCBjb3JyZWN0bHkgKGp1c3QgYXMgMm5kIGFyZ3VtZW50IGRvZXNuJ3Qgd29yaykNCgkJCQkJCSQoIHRoaXMgKS5jbGljaygpOw0KCQkJCQl9DQoJCQkJfSk7DQoJCQl9DQoJCX0NCg0KCQl0aGlzLl9zZXRPcHRpb24oICJkaXNhYmxlZCIsIG9wdGlvbnMuZGlzYWJsZWQgKTsNCgkJdGhpcy5fcmVzZXRCdXR0b24oKTsNCgl9LA0KDQoJX2RldGVybWluZUJ1dHRvblR5cGU6IGZ1bmN0aW9uKCkgew0KCQl2YXIgYW5jZXN0b3IsIGxhYmVsU2VsZWN0b3IsIGNoZWNrZWQ7DQoNCgkJaWYgKCB0aGlzLmVsZW1lbnQuaXMoIlt0eXBlPWNoZWNrYm94XSIpICkgew0KCQkJdGhpcy50eXBlID0gImNoZWNrYm94IjsNCgkJfSBlbHNlIGlmICggdGhpcy5lbGVtZW50LmlzKCJbdHlwZT1yYWRpb10iKSApIHsNCgkJCXRoaXMudHlwZSA9ICJyYWRpbyI7DQoJCX0gZWxzZSBpZiAoIHRoaXMuZWxlbWVudC5pcygiaW5wdXQiKSApIHsNCgkJCXRoaXMudHlwZSA9ICJpbnB1dCI7DQoJCX0gZWxzZSB7DQoJCQl0aGlzLnR5cGUgPSAiYnV0dG9uIjsNCgkJfQ0KDQoJCWlmICggdGhpcy50eXBlID09PSAiY2hlY2tib3giIHx8IHRoaXMudHlwZSA9PT0gInJhZGlvIiApIHsNCgkJCS8vIHdlIGRvbid0IHNlYXJjaCBhZ2FpbnN0IHRoZSBkb2N1bWVudCBpbiBjYXNlIHRoZSBlbGVtZW50DQoJCQkvLyBpcyBkaXNjb25uZWN0ZWQgZnJvbSB0aGUgRE9NDQoJCQlhbmNlc3RvciA9IHRoaXMuZWxlbWVudC5wYXJlbnRzKCkubGFzdCgpOw0KCQkJbGFiZWxTZWxlY3RvciA9ICJsYWJlbFtmb3I9JyIgKyB0aGlzLmVsZW1lbnQuYXR0cigiaWQiKSArICInXSI7DQoJCQl0aGlzLmJ1dHRvbkVsZW1lbnQgPSBhbmNlc3Rvci5maW5kKCBsYWJlbFNlbGVjdG9yICk7DQoJCQlpZiAoICF0aGlzLmJ1dHRvbkVsZW1lbnQubGVuZ3RoICkgew0KCQkJCWFuY2VzdG9yID0gYW5jZXN0b3IubGVuZ3RoID8gYW5jZXN0b3Iuc2libGluZ3MoKSA6IHRoaXMuZWxlbWVudC5zaWJsaW5ncygpOw0KCQkJCXRoaXMuYnV0dG9uRWxlbWVudCA9IGFuY2VzdG9yLmZpbHRlciggbGFiZWxTZWxlY3RvciApOw0KCQkJCWlmICggIXRoaXMuYnV0dG9uRWxlbWVudC5sZW5ndGggKSB7DQoJCQkJCXRoaXMuYnV0dG9uRWxlbWVudCA9IGFuY2VzdG9yLmZpbmQoIGxhYmVsU2VsZWN0b3IgKTsNCgkJCQl9DQoJCQl9DQoJCQl0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoICJ1aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUiICk7DQoNCgkJCWNoZWNrZWQgPSB0aGlzLmVsZW1lbnQuaXMoICI6Y2hlY2tlZCIgKTsNCgkJCWlmICggY2hlY2tlZCApIHsNCgkJCQl0aGlzLmJ1dHRvbkVsZW1lbnQuYWRkQ2xhc3MoICJ1aS1zdGF0ZS1hY3RpdmUiICk7DQoJCQl9DQoJCQl0aGlzLmJ1dHRvbkVsZW1lbnQucHJvcCggImFyaWEtcHJlc3NlZCIsIGNoZWNrZWQgKTsNCgkJfSBlbHNlIHsNCgkJCXRoaXMuYnV0dG9uRWxlbWVudCA9IHRoaXMuZWxlbWVudDsNCgkJfQ0KCX0sDQoNCgl3aWRnZXQ6IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gdGhpcy5idXR0b25FbGVtZW50Ow0KCX0sDQoNCglfZGVzdHJveTogZnVuY3Rpb24oKSB7DQoJCXRoaXMuZWxlbWVudA0KCQkJLnJlbW92ZUNsYXNzKCAidWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIiApOw0KCQl0aGlzLmJ1dHRvbkVsZW1lbnQNCgkJCS5yZW1vdmVDbGFzcyggYmFzZUNsYXNzZXMgKyAiIHVpLXN0YXRlLWFjdGl2ZSAiICsgdHlwZUNsYXNzZXMgKQ0KCQkJLnJlbW92ZUF0dHIoICJyb2xlIiApDQoJCQkucmVtb3ZlQXR0ciggImFyaWEtcHJlc3NlZCIgKQ0KCQkJLmh0bWwoIHRoaXMuYnV0dG9uRWxlbWVudC5maW5kKCIudWktYnV0dG9uLXRleHQiKS5odG1sKCkgKTsNCg0KCQlpZiAoICF0aGlzLmhhc1RpdGxlICkgew0KCQkJdGhpcy5idXR0b25FbGVtZW50LnJlbW92ZUF0dHIoICJ0aXRsZSIgKTsNCgkJfQ0KCX0sDQoNCglfc2V0T3B0aW9uOiBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsNCgkJdGhpcy5fc3VwZXIoIGtleSwgdmFsdWUgKTsNCgkJaWYgKCBrZXkgPT09ICJkaXNhYmxlZCIgKSB7DQoJCQl0aGlzLndpZGdldCgpLnRvZ2dsZUNsYXNzKCAidWktc3RhdGUtZGlzYWJsZWQiLCAhIXZhbHVlICk7DQoJCQl0aGlzLmVsZW1lbnQucHJvcCggImRpc2FibGVkIiwgISF2YWx1ZSApOw0KCQkJaWYgKCB2YWx1ZSApIHsNCgkJCQlpZiAoIHRoaXMudHlwZSA9PT0gImNoZWNrYm94IiB8fCB0aGlzLnR5cGUgPT09ICJyYWRpbyIgKSB7DQoJCQkJCXRoaXMuYnV0dG9uRWxlbWVudC5yZW1vdmVDbGFzcyggInVpLXN0YXRlLWZvY3VzIiApOw0KCQkJCX0gZWxzZSB7DQoJCQkJCXRoaXMuYnV0dG9uRWxlbWVudC5yZW1vdmVDbGFzcyggInVpLXN0YXRlLWZvY3VzIHVpLXN0YXRlLWFjdGl2ZSIgKTsNCgkJCQl9DQoJCQl9DQoJCQlyZXR1cm47DQoJCX0NCgkJdGhpcy5fcmVzZXRCdXR0b24oKTsNCgl9LA0KDQoJcmVmcmVzaDogZnVuY3Rpb24oKSB7DQoJCS8vU2VlICM4MjM3ICYgIzg4MjgNCgkJdmFyIGlzRGlzYWJsZWQgPSB0aGlzLmVsZW1lbnQuaXMoICJpbnB1dCwgYnV0dG9uIiApID8gdGhpcy5lbGVtZW50LmlzKCAiOmRpc2FibGVkIiApIDogdGhpcy5lbGVtZW50Lmhhc0NsYXNzKCAidWktYnV0dG9uLWRpc2FibGVkIiApOw0KDQoJCWlmICggaXNEaXNhYmxlZCAhPT0gdGhpcy5vcHRpb25zLmRpc2FibGVkICkgew0KCQkJdGhpcy5fc2V0T3B0aW9uKCAiZGlzYWJsZWQiLCBpc0Rpc2FibGVkICk7DQoJCX0NCgkJaWYgKCB0aGlzLnR5cGUgPT09ICJyYWRpbyIgKSB7DQoJCQlyYWRpb0dyb3VwKCB0aGlzLmVsZW1lbnRbMF0gKS5lYWNoKGZ1bmN0aW9uKCkgew0KCQkJCWlmICggJCggdGhpcyApLmlzKCAiOmNoZWNrZWQiICkgKSB7DQoJCQkJCSQoIHRoaXMgKS5idXR0b24oICJ3aWRnZXQiICkNCgkJCQkJCS5hZGRDbGFzcyggInVpLXN0YXRlLWFjdGl2ZSIgKQ0KCQkJCQkJLmF0dHIoICJhcmlhLXByZXNzZWQiLCAidHJ1ZSIgKTsNCgkJCQl9IGVsc2Ugew0KCQkJCQkkKCB0aGlzICkuYnV0dG9uKCAid2lkZ2V0IiApDQoJCQkJCQkucmVtb3ZlQ2xhc3MoICJ1aS1zdGF0ZS1hY3RpdmUiICkNCgkJCQkJCS5hdHRyKCAiYXJpYS1wcmVzc2VkIiwgImZhbHNlIiApOw0KCQkJCX0NCgkJCX0pOw0KCQl9IGVsc2UgaWYgKCB0aGlzLnR5cGUgPT09ICJjaGVja2JveCIgKSB7DQoJCQlpZiAoIHRoaXMuZWxlbWVudC5pcyggIjpjaGVja2VkIiApICkgew0KCQkJCXRoaXMuYnV0dG9uRWxlbWVudA0KCQkJCQkuYWRkQ2xhc3MoICJ1aS1zdGF0ZS1hY3RpdmUiICkNCgkJCQkJLmF0dHIoICJhcmlhLXByZXNzZWQiLCAidHJ1ZSIgKTsNCgkJCX0gZWxzZSB7DQoJCQkJdGhpcy5idXR0b25FbGVtZW50DQoJCQkJCS5yZW1vdmVDbGFzcyggInVpLXN0YXRlLWFjdGl2ZSIgKQ0KCQkJCQkuYXR0ciggImFyaWEtcHJlc3NlZCIsICJmYWxzZSIgKTsNCgkJCX0NCgkJfQ0KCX0sDQoNCglfcmVzZXRCdXR0b246IGZ1bmN0aW9uKCkgew0KCQlpZiAoIHRoaXMudHlwZSA9PT0gImlucHV0IiApIHsNCgkJCWlmICggdGhpcy5vcHRpb25zLmxhYmVsICkgew0KCQkJCXRoaXMuZWxlbWVudC52YWwoIHRoaXMub3B0aW9ucy5sYWJlbCApOw0KCQkJfQ0KCQkJcmV0dXJuOw0KCQl9DQoJCXZhciBidXR0b25FbGVtZW50ID0gdGhpcy5idXR0b25FbGVtZW50LnJlbW92ZUNsYXNzKCB0eXBlQ2xhc3NlcyApLA0KCQkJYnV0dG9uVGV4dCA9ICQoICI8c3Bhbj48L3NwYW4+IiwgdGhpcy5kb2N1bWVudFswXSApDQoJCQkJLmFkZENsYXNzKCAidWktYnV0dG9uLXRleHQiICkNCgkJCQkuaHRtbCggdGhpcy5vcHRpb25zLmxhYmVsICkNCgkJCQkuYXBwZW5kVG8oIGJ1dHRvbkVsZW1lbnQuZW1wdHkoKSApDQoJCQkJLnRleHQoKSwNCgkJCWljb25zID0gdGhpcy5vcHRpb25zLmljb25zLA0KCQkJbXVsdGlwbGVJY29ucyA9IGljb25zLnByaW1hcnkgJiYgaWNvbnMuc2Vjb25kYXJ5LA0KCQkJYnV0dG9uQ2xhc3NlcyA9IFtdOw0KDQoJCWlmICggaWNvbnMucHJpbWFyeSB8fCBpY29ucy5zZWNvbmRhcnkgKSB7DQoJCQlpZiAoIHRoaXMub3B0aW9ucy50ZXh0ICkgew0KCQkJCWJ1dHRvbkNsYXNzZXMucHVzaCggInVpLWJ1dHRvbi10ZXh0LWljb24iICsgKCBtdWx0aXBsZUljb25zID8gInMiIDogKCBpY29ucy5wcmltYXJ5ID8gIi1wcmltYXJ5IiA6ICItc2Vjb25kYXJ5IiApICkgKTsNCgkJCX0NCg0KCQkJaWYgKCBpY29ucy5wcmltYXJ5ICkgew0KCQkJCWJ1dHRvbkVsZW1lbnQucHJlcGVuZCggIjxzcGFuIGNsYXNzPSd1aS1idXR0b24taWNvbi1wcmltYXJ5IHVpLWljb24gIiArIGljb25zLnByaW1hcnkgKyAiJz48L3NwYW4+IiApOw0KCQkJfQ0KDQoJCQlpZiAoIGljb25zLnNlY29uZGFyeSApIHsNCgkJCQlidXR0b25FbGVtZW50LmFwcGVuZCggIjxzcGFuIGNsYXNzPSd1aS1idXR0b24taWNvbi1zZWNvbmRhcnkgdWktaWNvbiAiICsgaWNvbnMuc2Vjb25kYXJ5ICsgIic+PC9zcGFuPiIgKTsNCgkJCX0NCg0KCQkJaWYgKCAhdGhpcy5vcHRpb25zLnRleHQgKSB7DQoJCQkJYnV0dG9uQ2xhc3Nlcy5wdXNoKCBtdWx0aXBsZUljb25zID8gInVpLWJ1dHRvbi1pY29ucy1vbmx5IiA6ICJ1aS1idXR0b24taWNvbi1vbmx5IiApOw0KDQoJCQkJaWYgKCAhdGhpcy5oYXNUaXRsZSApIHsNCgkJCQkJYnV0dG9uRWxlbWVudC5hdHRyKCAidGl0bGUiLCAkLnRyaW0oIGJ1dHRvblRleHQgKSApOw0KCQkJCX0NCgkJCX0NCgkJfSBlbHNlIHsNCgkJCWJ1dHRvbkNsYXNzZXMucHVzaCggInVpLWJ1dHRvbi10ZXh0LW9ubHkiICk7DQoJCX0NCgkJYnV0dG9uRWxlbWVudC5hZGRDbGFzcyggYnV0dG9uQ2xhc3Nlcy5qb2luKCAiICIgKSApOw0KCX0NCn0pOw0KDQokLndpZGdldCggInVpLmJ1dHRvbnNldCIsIHsNCgl2ZXJzaW9uOiAiMS4xMS40IiwNCglvcHRpb25zOiB7DQoJCWl0ZW1zOiAiYnV0dG9uLCBpbnB1dFt0eXBlPWJ1dHRvbl0sIGlucHV0W3R5cGU9c3VibWl0XSwgaW5wdXRbdHlwZT1yZXNldF0sIGlucHV0W3R5cGU9Y2hlY2tib3hdLCBpbnB1dFt0eXBlPXJhZGlvXSwgYSwgOmRhdGEodWktYnV0dG9uKSINCgl9LA0KDQoJX2NyZWF0ZTogZnVuY3Rpb24oKSB7DQoJCXRoaXMuZWxlbWVudC5hZGRDbGFzcyggInVpLWJ1dHRvbnNldCIgKTsNCgl9LA0KDQoJX2luaXQ6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLnJlZnJlc2goKTsNCgl9LA0KDQoJX3NldE9wdGlvbjogZnVuY3Rpb24oIGtleSwgdmFsdWUgKSB7DQoJCWlmICgga2V5ID09PSAiZGlzYWJsZWQiICkgew0KCQkJdGhpcy5idXR0b25zLmJ1dHRvbiggIm9wdGlvbiIsIGtleSwgdmFsdWUgKTsNCgkJfQ0KDQoJCXRoaXMuX3N1cGVyKCBrZXksIHZhbHVlICk7DQoJfSwNCg0KCXJlZnJlc2g6IGZ1bmN0aW9uKCkgew0KCQl2YXIgcnRsID0gdGhpcy5lbGVtZW50LmNzcyggImRpcmVjdGlvbiIgKSA9PT0gInJ0bCIsDQoJCQlhbGxCdXR0b25zID0gdGhpcy5lbGVtZW50LmZpbmQoIHRoaXMub3B0aW9ucy5pdGVtcyApLA0KCQkJZXhpc3RpbmdCdXR0b25zID0gYWxsQnV0dG9ucy5maWx0ZXIoICI6dWktYnV0dG9uIiApOw0KDQoJCS8vIEluaXRpYWxpemUgbmV3IGJ1dHRvbnMNCgkJYWxsQnV0dG9ucy5ub3QoICI6dWktYnV0dG9uIiApLmJ1dHRvbigpOw0KDQoJCS8vIFJlZnJlc2ggZXhpc3RpbmcgYnV0dG9ucw0KCQlleGlzdGluZ0J1dHRvbnMuYnV0dG9uKCAicmVmcmVzaCIgKTsNCg0KCQl0aGlzLmJ1dHRvbnMgPSBhbGxCdXR0b25zDQoJCQkubWFwKGZ1bmN0aW9uKCkgew0KCQkJCXJldHVybiAkKCB0aGlzICkuYnV0dG9uKCAid2lkZ2V0IiApWyAwIF07DQoJCQl9KQ0KCQkJCS5yZW1vdmVDbGFzcyggInVpLWNvcm5lci1hbGwgdWktY29ybmVyLWxlZnQgdWktY29ybmVyLXJpZ2h0IiApDQoJCQkJLmZpbHRlciggIjpmaXJzdCIgKQ0KCQkJCQkuYWRkQ2xhc3MoIHJ0bCA/ICJ1aS1jb3JuZXItcmlnaHQiIDogInVpLWNvcm5lci1sZWZ0IiApDQoJCQkJLmVuZCgpDQoJCQkJLmZpbHRlciggIjpsYXN0IiApDQoJCQkJCS5hZGRDbGFzcyggcnRsID8gInVpLWNvcm5lci1sZWZ0IiA6ICJ1aS1jb3JuZXItcmlnaHQiICkNCgkJCQkuZW5kKCkNCgkJCS5lbmQoKTsNCgl9LA0KDQoJX2Rlc3Ryb3k6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoICJ1aS1idXR0b25zZXQiICk7DQoJCXRoaXMuYnV0dG9ucw0KCQkJLm1hcChmdW5jdGlvbigpIHsNCgkJCQlyZXR1cm4gJCggdGhpcyApLmJ1dHRvbiggIndpZGdldCIgKVsgMCBdOw0KCQkJfSkNCgkJCQkucmVtb3ZlQ2xhc3MoICJ1aS1jb3JuZXItbGVmdCB1aS1jb3JuZXItcmlnaHQiICkNCgkJCS5lbmQoKQ0KCQkJLmJ1dHRvbiggImRlc3Ryb3kiICk7DQoJfQ0KfSk7DQoNCnZhciBidXR0b24gPSAkLnVpLmJ1dHRvbjsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBEYXRlcGlja2VyIDEuMTEuNA0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKg0KICogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vZGF0ZXBpY2tlci8NCiAqLw0KDQoNCiQuZXh0ZW5kKCQudWksIHsgZGF0ZXBpY2tlcjogeyB2ZXJzaW9uOiAiMS4xMS40IiB9IH0pOw0KDQp2YXIgZGF0ZXBpY2tlcl9pbnN0QWN0aXZlOw0KDQpmdW5jdGlvbiBkYXRlcGlja2VyX2dldFppbmRleCggZWxlbSApIHsNCgl2YXIgcG9zaXRpb24sIHZhbHVlOw0KCXdoaWxlICggZWxlbS5sZW5ndGggJiYgZWxlbVsgMCBdICE9PSBkb2N1bWVudCApIHsNCgkJLy8gSWdub3JlIHotaW5kZXggaWYgcG9zaXRpb24gaXMgc2V0IHRvIGEgdmFsdWUgd2hlcmUgei1pbmRleCBpcyBpZ25vcmVkIGJ5IHRoZSBicm93c2VyDQoJCS8vIFRoaXMgbWFrZXMgYmVoYXZpb3Igb2YgdGhpcyBmdW5jdGlvbiBjb25zaXN0ZW50IGFjcm9zcyBicm93c2Vycw0KCQkvLyBXZWJLaXQgYWx3YXlzIHJldHVybnMgYXV0byBpZiB0aGUgZWxlbWVudCBpcyBwb3NpdGlvbmVkDQoJCXBvc2l0aW9uID0gZWxlbS5jc3MoICJwb3NpdGlvbiIgKTsNCgkJaWYgKCBwb3NpdGlvbiA9PT0gImFic29sdXRlIiB8fCBwb3NpdGlvbiA9PT0gInJlbGF0aXZlIiB8fCBwb3NpdGlvbiA9PT0gImZpeGVkIiApIHsNCgkJCS8vIElFIHJldHVybnMgMCB3aGVuIHpJbmRleCBpcyBub3Qgc3BlY2lmaWVkDQoJCQkvLyBvdGhlciBicm93c2VycyByZXR1cm4gYSBzdHJpbmcNCgkJCS8vIHdlIGlnbm9yZSB0aGUgY2FzZSBvZiBuZXN0ZWQgZWxlbWVudHMgd2l0aCBhbiBleHBsaWNpdCB2YWx1ZSBvZiAwDQoJCQkvLyA8ZGl2IHN0eWxlPSJ6LWluZGV4OiAtMTA7Ij48ZGl2IHN0eWxlPSJ6LWluZGV4OiAwOyI+PC9kaXY+PC9kaXY+DQoJCQl2YWx1ZSA9IHBhcnNlSW50KCBlbGVtLmNzcyggInpJbmRleCIgKSwgMTAgKTsNCgkJCWlmICggIWlzTmFOKCB2YWx1ZSApICYmIHZhbHVlICE9PSAwICkgew0KCQkJCXJldHVybiB2YWx1ZTsNCgkJCX0NCgkJfQ0KCQllbGVtID0gZWxlbS5wYXJlbnQoKTsNCgl9DQoNCglyZXR1cm4gMDsNCn0NCi8qIERhdGUgcGlja2VyIG1hbmFnZXIuDQogICBVc2UgdGhlIHNpbmdsZXRvbiBpbnN0YW5jZSBvZiB0aGlzIGNsYXNzLCAkLmRhdGVwaWNrZXIsIHRvIGludGVyYWN0IHdpdGggdGhlIGRhdGUgcGlja2VyLg0KICAgU2V0dGluZ3MgZm9yIChncm91cHMgb2YpIGRhdGUgcGlja2VycyBhcmUgbWFpbnRhaW5lZCBpbiBhbiBpbnN0YW5jZSBvYmplY3QsDQogICBhbGxvd2luZyBtdWx0aXBsZSBkaWZmZXJlbnQgc2V0dGluZ3Mgb24gdGhlIHNhbWUgcGFnZS4gKi8NCg0KZnVuY3Rpb24gRGF0ZXBpY2tlcigpIHsNCgl0aGlzLl9jdXJJbnN0ID0gbnVsbDsgLy8gVGhlIGN1cnJlbnQgaW5zdGFuY2UgaW4gdXNlDQoJdGhpcy5fa2V5RXZlbnQgPSBmYWxzZTsgLy8gSWYgdGhlIGxhc3QgZXZlbnQgd2FzIGEga2V5IGV2ZW50DQoJdGhpcy5fZGlzYWJsZWRJbnB1dHMgPSBbXTsgLy8gTGlzdCBvZiBkYXRlIHBpY2tlciBpbnB1dHMgdGhhdCBoYXZlIGJlZW4gZGlzYWJsZWQNCgl0aGlzLl9kYXRlcGlja2VyU2hvd2luZyA9IGZhbHNlOyAvLyBUcnVlIGlmIHRoZSBwb3B1cCBwaWNrZXIgaXMgc2hvd2luZyAsIGZhbHNlIGlmIG5vdA0KCXRoaXMuX2luRGlhbG9nID0gZmFsc2U7IC8vIFRydWUgaWYgc2hvd2luZyB3aXRoaW4gYSAiZGlhbG9nIiwgZmFsc2UgaWYgbm90DQoJdGhpcy5fbWFpbkRpdklkID0gInVpLWRhdGVwaWNrZXItZGl2IjsgLy8gVGhlIElEIG9mIHRoZSBtYWluIGRhdGVwaWNrZXIgZGl2aXNpb24NCgl0aGlzLl9pbmxpbmVDbGFzcyA9ICJ1aS1kYXRlcGlja2VyLWlubGluZSI7IC8vIFRoZSBuYW1lIG9mIHRoZSBpbmxpbmUgbWFya2VyIGNsYXNzDQoJdGhpcy5fYXBwZW5kQ2xhc3MgPSAidWktZGF0ZXBpY2tlci1hcHBlbmQiOyAvLyBUaGUgbmFtZSBvZiB0aGUgYXBwZW5kIG1hcmtlciBjbGFzcw0KCXRoaXMuX3RyaWdnZXJDbGFzcyA9ICJ1aS1kYXRlcGlja2VyLXRyaWdnZXIiOyAvLyBUaGUgbmFtZSBvZiB0aGUgdHJpZ2dlciBtYXJrZXIgY2xhc3MNCgl0aGlzLl9kaWFsb2dDbGFzcyA9ICJ1aS1kYXRlcGlja2VyLWRpYWxvZyI7IC8vIFRoZSBuYW1lIG9mIHRoZSBkaWFsb2cgbWFya2VyIGNsYXNzDQoJdGhpcy5fZGlzYWJsZUNsYXNzID0gInVpLWRhdGVwaWNrZXItZGlzYWJsZWQiOyAvLyBUaGUgbmFtZSBvZiB0aGUgZGlzYWJsZWQgY292ZXJpbmcgbWFya2VyIGNsYXNzDQoJdGhpcy5fdW5zZWxlY3RhYmxlQ2xhc3MgPSAidWktZGF0ZXBpY2tlci11bnNlbGVjdGFibGUiOyAvLyBUaGUgbmFtZSBvZiB0aGUgdW5zZWxlY3RhYmxlIGNlbGwgbWFya2VyIGNsYXNzDQoJdGhpcy5fY3VycmVudENsYXNzID0gInVpLWRhdGVwaWNrZXItY3VycmVudC1kYXkiOyAvLyBUaGUgbmFtZSBvZiB0aGUgY3VycmVudCBkYXkgbWFya2VyIGNsYXNzDQoJdGhpcy5fZGF5T3ZlckNsYXNzID0gInVpLWRhdGVwaWNrZXItZGF5cy1jZWxsLW92ZXIiOyAvLyBUaGUgbmFtZSBvZiB0aGUgZGF5IGhvdmVyIG1hcmtlciBjbGFzcw0KCXRoaXMucmVnaW9uYWwgPSBbXTsgLy8gQXZhaWxhYmxlIHJlZ2lvbmFsIHNldHRpbmdzLCBpbmRleGVkIGJ5IGxhbmd1YWdlIGNvZGUNCgl0aGlzLnJlZ2lvbmFsWyIiXSA9IHsgLy8gRGVmYXVsdCByZWdpb25hbCBzZXR0aW5ncw0KCQljbG9zZVRleHQ6ICJEb25lIiwgLy8gRGlzcGxheSB0ZXh0IGZvciBjbG9zZSBsaW5rDQoJCXByZXZUZXh0OiAiUHJldiIsIC8vIERpc3BsYXkgdGV4dCBmb3IgcHJldmlvdXMgbW9udGggbGluaw0KCQluZXh0VGV4dDogIk5leHQiLCAvLyBEaXNwbGF5IHRleHQgZm9yIG5leHQgbW9udGggbGluaw0KCQljdXJyZW50VGV4dDogIlRvZGF5IiwgLy8gRGlzcGxheSB0ZXh0IGZvciBjdXJyZW50IG1vbnRoIGxpbmsNCgkJbW9udGhOYW1lczogWyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsDQoJCQkiSnVseSIsIkF1Z3VzdCIsIlNlcHRlbWJlciIsIk9jdG9iZXIiLCJOb3ZlbWJlciIsIkRlY2VtYmVyIl0sIC8vIE5hbWVzIG9mIG1vbnRocyBmb3IgZHJvcC1kb3duIGFuZCBmb3JtYXR0aW5nDQoJCW1vbnRoTmFtZXNTaG9ydDogWyJKYW4iLCAiRmViIiwgIk1hciIsICJBcHIiLCAiTWF5IiwgIkp1biIsICJKdWwiLCAiQXVnIiwgIlNlcCIsICJPY3QiLCAiTm92IiwgIkRlYyJdLCAvLyBGb3IgZm9ybWF0dGluZw0KCQlkYXlOYW1lczogWyJTdW5kYXkiLCAiTW9uZGF5IiwgIlR1ZXNkYXkiLCAiV2VkbmVzZGF5IiwgIlRodXJzZGF5IiwgIkZyaWRheSIsICJTYXR1cmRheSJdLCAvLyBGb3IgZm9ybWF0dGluZw0KCQlkYXlOYW1lc1Nob3J0OiBbIlN1biIsICJNb24iLCAiVHVlIiwgIldlZCIsICJUaHUiLCAiRnJpIiwgIlNhdCJdLCAvLyBGb3IgZm9ybWF0dGluZw0KCQlkYXlOYW1lc01pbjogWyJTdSIsIk1vIiwiVHUiLCJXZSIsIlRoIiwiRnIiLCJTYSJdLCAvLyBDb2x1bW4gaGVhZGluZ3MgZm9yIGRheXMgc3RhcnRpbmcgYXQgU3VuZGF5DQoJCXdlZWtIZWFkZXI6ICJXayIsIC8vIENvbHVtbiBoZWFkZXIgZm9yIHdlZWsgb2YgdGhlIHllYXINCgkJZGF0ZUZvcm1hdDogIm1tL2RkL3l5IiwgLy8gU2VlIGZvcm1hdCBvcHRpb25zIG9uIHBhcnNlRGF0ZQ0KCQlmaXJzdERheTogMCwgLy8gVGhlIGZpcnN0IGRheSBvZiB0aGUgd2VlaywgU3VuID0gMCwgTW9uID0gMSwgLi4uDQoJCWlzUlRMOiBmYWxzZSwgLy8gVHJ1ZSBpZiByaWdodC10by1sZWZ0IGxhbmd1YWdlLCBmYWxzZSBpZiBsZWZ0LXRvLXJpZ2h0DQoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsIC8vIFRydWUgaWYgdGhlIHllYXIgc2VsZWN0IHByZWNlZGVzIG1vbnRoLCBmYWxzZSBmb3IgbW9udGggdGhlbiB5ZWFyDQoJCXllYXJTdWZmaXg6ICIiIC8vIEFkZGl0aW9uYWwgdGV4dCB0byBhcHBlbmQgdG8gdGhlIHllYXIgaW4gdGhlIG1vbnRoIGhlYWRlcnMNCgl9Ow0KCXRoaXMuX2RlZmF1bHRzID0geyAvLyBHbG9iYWwgZGVmYXVsdHMgZm9yIGFsbCB0aGUgZGF0ZSBwaWNrZXIgaW5zdGFuY2VzDQoJCXNob3dPbjogImZvY3VzIiwgLy8gImZvY3VzIiBmb3IgcG9wdXAgb24gZm9jdXMsDQoJCQkvLyAiYnV0dG9uIiBmb3IgdHJpZ2dlciBidXR0b24sIG9yICJib3RoIiBmb3IgZWl0aGVyDQoJCXNob3dBbmltOiAiZmFkZUluIiwgLy8gTmFtZSBvZiBqUXVlcnkgYW5pbWF0aW9uIGZvciBwb3B1cA0KCQlzaG93T3B0aW9uczoge30sIC8vIE9wdGlvbnMgZm9yIGVuaGFuY2VkIGFuaW1hdGlvbnMNCgkJZGVmYXVsdERhdGU6IG51bGwsIC8vIFVzZWQgd2hlbiBmaWVsZCBpcyBibGFuazogYWN0dWFsIGRhdGUsDQoJCQkvLyArLy1udW1iZXIgZm9yIG9mZnNldCBmcm9tIHRvZGF5LCBudWxsIGZvciB0b2RheQ0KCQlhcHBlbmRUZXh0OiAiIiwgLy8gRGlzcGxheSB0ZXh0IGZvbGxvd2luZyB0aGUgaW5wdXQgYm94LCBlLmcuIHNob3dpbmcgdGhlIGZvcm1hdA0KCQlidXR0b25UZXh0OiAiLi4uIiwgLy8gVGV4dCBmb3IgdHJpZ2dlciBidXR0b24NCgkJYnV0dG9uSW1hZ2U6ICIiLCAvLyBVUkwgZm9yIHRyaWdnZXIgYnV0dG9uIGltYWdlDQoJCWJ1dHRvbkltYWdlT25seTogZmFsc2UsIC8vIFRydWUgaWYgdGhlIGltYWdlIGFwcGVhcnMgYWxvbmUsIGZhbHNlIGlmIGl0IGFwcGVhcnMgb24gYSBidXR0b24NCgkJaGlkZUlmTm9QcmV2TmV4dDogZmFsc2UsIC8vIFRydWUgdG8gaGlkZSBuZXh0L3ByZXZpb3VzIG1vbnRoIGxpbmtzDQoJCQkvLyBpZiBub3QgYXBwbGljYWJsZSwgZmFsc2UgdG8ganVzdCBkaXNhYmxlIHRoZW0NCgkJbmF2aWdhdGlvbkFzRGF0ZUZvcm1hdDogZmFsc2UsIC8vIFRydWUgaWYgZGF0ZSBmb3JtYXR0aW5nIGFwcGxpZWQgdG8gcHJldi90b2RheS9uZXh0IGxpbmtzDQoJCWdvdG9DdXJyZW50OiBmYWxzZSwgLy8gVHJ1ZSBpZiB0b2RheSBsaW5rIGdvZXMgYmFjayB0byBjdXJyZW50IHNlbGVjdGlvbiBpbnN0ZWFkDQoJCWNoYW5nZU1vbnRoOiBmYWxzZSwgLy8gVHJ1ZSBpZiBtb250aCBjYW4gYmUgc2VsZWN0ZWQgZGlyZWN0bHksIGZhbHNlIGlmIG9ubHkgcHJldi9uZXh0DQoJCWNoYW5nZVllYXI6IGZhbHNlLCAvLyBUcnVlIGlmIHllYXIgY2FuIGJlIHNlbGVjdGVkIGRpcmVjdGx5LCBmYWxzZSBpZiBvbmx5IHByZXYvbmV4dA0KCQl5ZWFyUmFuZ2U6ICJjLTEwOmMrMTAiLCAvLyBSYW5nZSBvZiB5ZWFycyB0byBkaXNwbGF5IGluIGRyb3AtZG93biwNCgkJCS8vIGVpdGhlciByZWxhdGl2ZSB0byB0b2RheSdzIHllYXIgKC1ubjorbm4pLCByZWxhdGl2ZSB0byBjdXJyZW50bHkgZGlzcGxheWVkIHllYXINCgkJCS8vIChjLW5uOmMrbm4pLCBhYnNvbHV0ZSAobm5ubjpubm5uKSwgb3IgYSBjb21iaW5hdGlvbiBvZiB0aGUgYWJvdmUgKG5ubm46LW4pDQoJCXNob3dPdGhlck1vbnRoczogZmFsc2UsIC8vIFRydWUgdG8gc2hvdyBkYXRlcyBpbiBvdGhlciBtb250aHMsIGZhbHNlIHRvIGxlYXZlIGJsYW5rDQoJCXNlbGVjdE90aGVyTW9udGhzOiBmYWxzZSwgLy8gVHJ1ZSB0byBhbGxvdyBzZWxlY3Rpb24gb2YgZGF0ZXMgaW4gb3RoZXIgbW9udGhzLCBmYWxzZSBmb3IgdW5zZWxlY3RhYmxlDQoJCXNob3dXZWVrOiBmYWxzZSwgLy8gVHJ1ZSB0byBzaG93IHdlZWsgb2YgdGhlIHllYXIsIGZhbHNlIHRvIG5vdCBzaG93IGl0DQoJCWNhbGN1bGF0ZVdlZWs6IHRoaXMuaXNvODYwMVdlZWssIC8vIEhvdyB0byBjYWxjdWxhdGUgdGhlIHdlZWsgb2YgdGhlIHllYXIsDQoJCQkvLyB0YWtlcyBhIERhdGUgYW5kIHJldHVybnMgdGhlIG51bWJlciBvZiB0aGUgd2VlayBmb3IgaXQNCgkJc2hvcnRZZWFyQ3V0b2ZmOiAiKzEwIiwgLy8gU2hvcnQgeWVhciB2YWx1ZXMgPCB0aGlzIGFyZSBpbiB0aGUgY3VycmVudCBjZW50dXJ5LA0KCQkJLy8gPiB0aGlzIGFyZSBpbiB0aGUgcHJldmlvdXMgY2VudHVyeSwNCgkJCS8vIHN0cmluZyB2YWx1ZSBzdGFydGluZyB3aXRoICIrIiBmb3IgY3VycmVudCB5ZWFyICsgdmFsdWUNCgkJbWluRGF0ZTogbnVsbCwgLy8gVGhlIGVhcmxpZXN0IHNlbGVjdGFibGUgZGF0ZSwgb3IgbnVsbCBmb3Igbm8gbGltaXQNCgkJbWF4RGF0ZTogbnVsbCwgLy8gVGhlIGxhdGVzdCBzZWxlY3RhYmxlIGRhdGUsIG9yIG51bGwgZm9yIG5vIGxpbWl0DQoJCWR1cmF0aW9uOiAiZmFzdCIsIC8vIER1cmF0aW9uIG9mIGRpc3BsYXkvY2xvc3VyZQ0KCQliZWZvcmVTaG93RGF5OiBudWxsLCAvLyBGdW5jdGlvbiB0aGF0IHRha2VzIGEgZGF0ZSBhbmQgcmV0dXJucyBhbiBhcnJheSB3aXRoDQoJCQkvLyBbMF0gPSB0cnVlIGlmIHNlbGVjdGFibGUsIGZhbHNlIGlmIG5vdCwgWzFdID0gY3VzdG9tIENTUyBjbGFzcyBuYW1lKHMpIG9yICIiLA0KCQkJLy8gWzJdID0gY2VsbCB0aXRsZSAob3B0aW9uYWwpLCBlLmcuICQuZGF0ZXBpY2tlci5ub1dlZWtlbmRzDQoJCWJlZm9yZVNob3c6IG51bGwsIC8vIEZ1bmN0aW9uIHRoYXQgdGFrZXMgYW4gaW5wdXQgZmllbGQgYW5kDQoJCQkvLyByZXR1cm5zIGEgc2V0IG9mIGN1c3RvbSBzZXR0aW5ncyBmb3IgdGhlIGRhdGUgcGlja2VyDQoJCW9uU2VsZWN0OiBudWxsLCAvLyBEZWZpbmUgYSBjYWxsYmFjayBmdW5jdGlvbiB3aGVuIGEgZGF0ZSBpcyBzZWxlY3RlZA0KCQlvbkNoYW5nZU1vbnRoWWVhcjogbnVsbCwgLy8gRGVmaW5lIGEgY2FsbGJhY2sgZnVuY3Rpb24gd2hlbiB0aGUgbW9udGggb3IgeWVhciBpcyBjaGFuZ2VkDQoJCW9uQ2xvc2U6IG51bGwsIC8vIERlZmluZSBhIGNhbGxiYWNrIGZ1bmN0aW9uIHdoZW4gdGhlIGRhdGVwaWNrZXIgaXMgY2xvc2VkDQoJCW51bWJlck9mTW9udGhzOiAxLCAvLyBOdW1iZXIgb2YgbW9udGhzIHRvIHNob3cgYXQgYSB0aW1lDQoJCXNob3dDdXJyZW50QXRQb3M6IDAsIC8vIFRoZSBwb3NpdGlvbiBpbiBtdWx0aXBlIG1vbnRocyBhdCB3aGljaCB0byBzaG93IHRoZSBjdXJyZW50IG1vbnRoIChzdGFydGluZyBhdCAwKQ0KCQlzdGVwTW9udGhzOiAxLCAvLyBOdW1iZXIgb2YgbW9udGhzIHRvIHN0ZXAgYmFjay9mb3J3YXJkDQoJCXN0ZXBCaWdNb250aHM6IDEyLCAvLyBOdW1iZXIgb2YgbW9udGhzIHRvIHN0ZXAgYmFjay9mb3J3YXJkIGZvciB0aGUgYmlnIGxpbmtzDQoJCWFsdEZpZWxkOiAiIiwgLy8gU2VsZWN0b3IgZm9yIGFuIGFsdGVybmF0ZSBmaWVsZCB0byBzdG9yZSBzZWxlY3RlZCBkYXRlcyBpbnRvDQoJCWFsdEZvcm1hdDogIiIsIC8vIFRoZSBkYXRlIGZvcm1hdCB0byB1c2UgZm9yIHRoZSBhbHRlcm5hdGUgZmllbGQNCgkJY29uc3RyYWluSW5wdXQ6IHRydWUsIC8vIFRoZSBpbnB1dCBpcyBjb25zdHJhaW5lZCBieSB0aGUgY3VycmVudCBkYXRlIGZvcm1hdA0KCQlzaG93QnV0dG9uUGFuZWw6IGZhbHNlLCAvLyBUcnVlIHRvIHNob3cgYnV0dG9uIHBhbmVsLCBmYWxzZSB0byBub3Qgc2hvdyBpdA0KCQlhdXRvU2l6ZTogZmFsc2UsIC8vIFRydWUgdG8gc2l6ZSB0aGUgaW5wdXQgZm9yIHRoZSBkYXRlIGZvcm1hdCwgZmFsc2UgdG8gbGVhdmUgYXMgaXMNCgkJZGlzYWJsZWQ6IGZhbHNlIC8vIFRoZSBpbml0aWFsIGRpc2FibGVkIHN0YXRlDQoJfTsNCgkkLmV4dGVuZCh0aGlzLl9kZWZhdWx0cywgdGhpcy5yZWdpb25hbFsiIl0pOw0KCXRoaXMucmVnaW9uYWwuZW4gPSAkLmV4dGVuZCggdHJ1ZSwge30sIHRoaXMucmVnaW9uYWxbICIiIF0pOw0KCXRoaXMucmVnaW9uYWxbICJlbi1VUyIgXSA9ICQuZXh0ZW5kKCB0cnVlLCB7fSwgdGhpcy5yZWdpb25hbC5lbiApOw0KCXRoaXMuZHBEaXYgPSBkYXRlcGlja2VyX2JpbmRIb3ZlcigkKCI8ZGl2IGlkPSciICsgdGhpcy5fbWFpbkRpdklkICsgIicgY2xhc3M9J3VpLWRhdGVwaWNrZXIgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItYWxsJz48L2Rpdj4iKSk7DQp9DQoNCiQuZXh0ZW5kKERhdGVwaWNrZXIucHJvdG90eXBlLCB7DQoJLyogQ2xhc3MgbmFtZSBhZGRlZCB0byBlbGVtZW50cyB0byBpbmRpY2F0ZSBhbHJlYWR5IGNvbmZpZ3VyZWQgd2l0aCBhIGRhdGUgcGlja2VyLiAqLw0KCW1hcmtlckNsYXNzTmFtZTogImhhc0RhdGVwaWNrZXIiLA0KDQoJLy9LZWVwIHRyYWNrIG9mIHRoZSBtYXhpbXVtIG51bWJlciBvZiByb3dzIGRpc3BsYXllZCAoc2VlICM3MDQzKQ0KCW1heFJvd3M6IDQsDQoNCgkvLyBUT0RPIHJlbmFtZSB0byAid2lkZ2V0IiB3aGVuIHN3aXRjaGluZyB0byB3aWRnZXQgZmFjdG9yeQ0KCV93aWRnZXREYXRlcGlja2VyOiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHRoaXMuZHBEaXY7DQoJfSwNCg0KCS8qIE92ZXJyaWRlIHRoZSBkZWZhdWx0IHNldHRpbmdzIGZvciBhbGwgaW5zdGFuY2VzIG9mIHRoZSBkYXRlIHBpY2tlci4NCgkgKiBAcGFyYW0gIHNldHRpbmdzICBvYmplY3QgLSB0aGUgbmV3IHNldHRpbmdzIHRvIHVzZSBhcyBkZWZhdWx0cyAoYW5vbnltb3VzIG9iamVjdCkNCgkgKiBAcmV0dXJuIHRoZSBtYW5hZ2VyIG9iamVjdA0KCSAqLw0KCXNldERlZmF1bHRzOiBmdW5jdGlvbihzZXR0aW5ncykgew0KCQlkYXRlcGlja2VyX2V4dGVuZFJlbW92ZSh0aGlzLl9kZWZhdWx0cywgc2V0dGluZ3MgfHwge30pOw0KCQlyZXR1cm4gdGhpczsNCgl9LA0KDQoJLyogQXR0YWNoIHRoZSBkYXRlIHBpY2tlciB0byBhIGpRdWVyeSBzZWxlY3Rpb24uDQoJICogQHBhcmFtICB0YXJnZXQJZWxlbWVudCAtIHRoZSB0YXJnZXQgaW5wdXQgZmllbGQgb3IgZGl2aXNpb24gb3Igc3Bhbg0KCSAqIEBwYXJhbSAgc2V0dGluZ3MgIG9iamVjdCAtIHRoZSBuZXcgc2V0dGluZ3MgdG8gdXNlIGZvciB0aGlzIGRhdGUgcGlja2VyIGluc3RhbmNlIChhbm9ueW1vdXMpDQoJICovDQoJX2F0dGFjaERhdGVwaWNrZXI6IGZ1bmN0aW9uKHRhcmdldCwgc2V0dGluZ3MpIHsNCgkJdmFyIG5vZGVOYW1lLCBpbmxpbmUsIGluc3Q7DQoJCW5vZGVOYW1lID0gdGFyZ2V0Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7DQoJCWlubGluZSA9IChub2RlTmFtZSA9PT0gImRpdiIgfHwgbm9kZU5hbWUgPT09ICJzcGFuIik7DQoJCWlmICghdGFyZ2V0LmlkKSB7DQoJCQl0aGlzLnV1aWQgKz0gMTsNCgkJCXRhcmdldC5pZCA9ICJkcCIgKyB0aGlzLnV1aWQ7DQoJCX0NCgkJaW5zdCA9IHRoaXMuX25ld0luc3QoJCh0YXJnZXQpLCBpbmxpbmUpOw0KCQlpbnN0LnNldHRpbmdzID0gJC5leHRlbmQoe30sIHNldHRpbmdzIHx8IHt9KTsNCgkJaWYgKG5vZGVOYW1lID09PSAiaW5wdXQiKSB7DQoJCQl0aGlzLl9jb25uZWN0RGF0ZXBpY2tlcih0YXJnZXQsIGluc3QpOw0KCQl9IGVsc2UgaWYgKGlubGluZSkgew0KCQkJdGhpcy5faW5saW5lRGF0ZXBpY2tlcih0YXJnZXQsIGluc3QpOw0KCQl9DQoJfSwNCg0KCS8qIENyZWF0ZSBhIG5ldyBpbnN0YW5jZSBvYmplY3QuICovDQoJX25ld0luc3Q6IGZ1bmN0aW9uKHRhcmdldCwgaW5saW5lKSB7DQoJCXZhciBpZCA9IHRhcmdldFswXS5pZC5yZXBsYWNlKC8oW15BLVphLXowLTlfXC1dKS9nLCAiXFxcXCQxIik7IC8vIGVzY2FwZSBqUXVlcnkgbWV0YSBjaGFycw0KCQlyZXR1cm4ge2lkOiBpZCwgaW5wdXQ6IHRhcmdldCwgLy8gYXNzb2NpYXRlZCB0YXJnZXQNCgkJCXNlbGVjdGVkRGF5OiAwLCBzZWxlY3RlZE1vbnRoOiAwLCBzZWxlY3RlZFllYXI6IDAsIC8vIGN1cnJlbnQgc2VsZWN0aW9uDQoJCQlkcmF3TW9udGg6IDAsIGRyYXdZZWFyOiAwLCAvLyBtb250aCBiZWluZyBkcmF3bg0KCQkJaW5saW5lOiBpbmxpbmUsIC8vIGlzIGRhdGVwaWNrZXIgaW5saW5lIG9yIG5vdA0KCQkJZHBEaXY6ICghaW5saW5lID8gdGhpcy5kcERpdiA6IC8vIHByZXNlbnRhdGlvbiBkaXYNCgkJCWRhdGVwaWNrZXJfYmluZEhvdmVyKCQoIjxkaXYgY2xhc3M9JyIgKyB0aGlzLl9pbmxpbmVDbGFzcyArICIgdWktZGF0ZXBpY2tlciB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci1hbGwnPjwvZGl2PiIpKSl9Ow0KCX0sDQoNCgkvKiBBdHRhY2ggdGhlIGRhdGUgcGlja2VyIHRvIGFuIGlucHV0IGZpZWxkLiAqLw0KCV9jb25uZWN0RGF0ZXBpY2tlcjogZnVuY3Rpb24odGFyZ2V0LCBpbnN0KSB7DQoJCXZhciBpbnB1dCA9ICQodGFyZ2V0KTsNCgkJaW5zdC5hcHBlbmQgPSAkKFtdKTsNCgkJaW5zdC50cmlnZ2VyID0gJChbXSk7DQoJCWlmIChpbnB1dC5oYXNDbGFzcyh0aGlzLm1hcmtlckNsYXNzTmFtZSkpIHsNCgkJCXJldHVybjsNCgkJfQ0KCQl0aGlzLl9hdHRhY2htZW50cyhpbnB1dCwgaW5zdCk7DQoJCWlucHV0LmFkZENsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKS5rZXlkb3duKHRoaXMuX2RvS2V5RG93bikuDQoJCQlrZXlwcmVzcyh0aGlzLl9kb0tleVByZXNzKS5rZXl1cCh0aGlzLl9kb0tleVVwKTsNCgkJdGhpcy5fYXV0b1NpemUoaW5zdCk7DQoJCSQuZGF0YSh0YXJnZXQsICJkYXRlcGlja2VyIiwgaW5zdCk7DQoJCS8vSWYgZGlzYWJsZWQgb3B0aW9uIGlzIHRydWUsIGRpc2FibGUgdGhlIGRhdGVwaWNrZXIgb25jZSBpdCBoYXMgYmVlbiBhdHRhY2hlZCB0byB0aGUgaW5wdXQgKHNlZSB0aWNrZXQgIzU2NjUpDQoJCWlmKCBpbnN0LnNldHRpbmdzLmRpc2FibGVkICkgew0KCQkJdGhpcy5fZGlzYWJsZURhdGVwaWNrZXIoIHRhcmdldCApOw0KCQl9DQoJfSwNCg0KCS8qIE1ha2UgYXR0YWNobWVudHMgYmFzZWQgb24gc2V0dGluZ3MuICovDQoJX2F0dGFjaG1lbnRzOiBmdW5jdGlvbihpbnB1dCwgaW5zdCkgew0KCQl2YXIgc2hvd09uLCBidXR0b25UZXh0LCBidXR0b25JbWFnZSwNCgkJCWFwcGVuZFRleHQgPSB0aGlzLl9nZXQoaW5zdCwgImFwcGVuZFRleHQiKSwNCgkJCWlzUlRMID0gdGhpcy5fZ2V0KGluc3QsICJpc1JUTCIpOw0KDQoJCWlmIChpbnN0LmFwcGVuZCkgew0KCQkJaW5zdC5hcHBlbmQucmVtb3ZlKCk7DQoJCX0NCgkJaWYgKGFwcGVuZFRleHQpIHsNCgkJCWluc3QuYXBwZW5kID0gJCgiPHNwYW4gY2xhc3M9JyIgKyB0aGlzLl9hcHBlbmRDbGFzcyArICInPiIgKyBhcHBlbmRUZXh0ICsgIjwvc3Bhbj4iKTsNCgkJCWlucHV0W2lzUlRMID8gImJlZm9yZSIgOiAiYWZ0ZXIiXShpbnN0LmFwcGVuZCk7DQoJCX0NCg0KCQlpbnB1dC51bmJpbmQoImZvY3VzIiwgdGhpcy5fc2hvd0RhdGVwaWNrZXIpOw0KDQoJCWlmIChpbnN0LnRyaWdnZXIpIHsNCgkJCWluc3QudHJpZ2dlci5yZW1vdmUoKTsNCgkJfQ0KDQoJCXNob3dPbiA9IHRoaXMuX2dldChpbnN0LCAic2hvd09uIik7DQoJCWlmIChzaG93T24gPT09ICJmb2N1cyIgfHwgc2hvd09uID09PSAiYm90aCIpIHsgLy8gcG9wLXVwIGRhdGUgcGlja2VyIHdoZW4gaW4gdGhlIG1hcmtlZCBmaWVsZA0KCQkJaW5wdXQuZm9jdXModGhpcy5fc2hvd0RhdGVwaWNrZXIpOw0KCQl9DQoJCWlmIChzaG93T24gPT09ICJidXR0b24iIHx8IHNob3dPbiA9PT0gImJvdGgiKSB7IC8vIHBvcC11cCBkYXRlIHBpY2tlciB3aGVuIGJ1dHRvbiBjbGlja2VkDQoJCQlidXR0b25UZXh0ID0gdGhpcy5fZ2V0KGluc3QsICJidXR0b25UZXh0Iik7DQoJCQlidXR0b25JbWFnZSA9IHRoaXMuX2dldChpbnN0LCAiYnV0dG9uSW1hZ2UiKTsNCgkJCWluc3QudHJpZ2dlciA9ICQodGhpcy5fZ2V0KGluc3QsICJidXR0b25JbWFnZU9ubHkiKSA/DQoJCQkJJCgiPGltZy8+IikuYWRkQ2xhc3ModGhpcy5fdHJpZ2dlckNsYXNzKS4NCgkJCQkJYXR0cih7IHNyYzogYnV0dG9uSW1hZ2UsIGFsdDogYnV0dG9uVGV4dCwgdGl0bGU6IGJ1dHRvblRleHQgfSkgOg0KCQkJCSQoIjxidXR0b24gdHlwZT0nYnV0dG9uJz48L2J1dHRvbj4iKS5hZGRDbGFzcyh0aGlzLl90cmlnZ2VyQ2xhc3MpLg0KCQkJCQlodG1sKCFidXR0b25JbWFnZSA/IGJ1dHRvblRleHQgOiAkKCI8aW1nLz4iKS5hdHRyKA0KCQkJCQl7IHNyYzpidXR0b25JbWFnZSwgYWx0OmJ1dHRvblRleHQsIHRpdGxlOmJ1dHRvblRleHQgfSkpKTsNCgkJCWlucHV0W2lzUlRMID8gImJlZm9yZSIgOiAiYWZ0ZXIiXShpbnN0LnRyaWdnZXIpOw0KCQkJaW5zdC50cmlnZ2VyLmNsaWNrKGZ1bmN0aW9uKCkgew0KCQkJCWlmICgkLmRhdGVwaWNrZXIuX2RhdGVwaWNrZXJTaG93aW5nICYmICQuZGF0ZXBpY2tlci5fbGFzdElucHV0ID09PSBpbnB1dFswXSkgew0KCQkJCQkkLmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCk7DQoJCQkJfSBlbHNlIGlmICgkLmRhdGVwaWNrZXIuX2RhdGVwaWNrZXJTaG93aW5nICYmICQuZGF0ZXBpY2tlci5fbGFzdElucHV0ICE9PSBpbnB1dFswXSkgew0KCQkJCQkkLmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCk7DQoJCQkJCSQuZGF0ZXBpY2tlci5fc2hvd0RhdGVwaWNrZXIoaW5wdXRbMF0pOw0KCQkJCX0gZWxzZSB7DQoJCQkJCSQuZGF0ZXBpY2tlci5fc2hvd0RhdGVwaWNrZXIoaW5wdXRbMF0pOw0KCQkJCX0NCgkJCQlyZXR1cm4gZmFsc2U7DQoJCQl9KTsNCgkJfQ0KCX0sDQoNCgkvKiBBcHBseSB0aGUgbWF4aW11bSBsZW5ndGggZm9yIHRoZSBkYXRlIGZvcm1hdC4gKi8NCglfYXV0b1NpemU6IGZ1bmN0aW9uKGluc3QpIHsNCgkJaWYgKHRoaXMuX2dldChpbnN0LCAiYXV0b1NpemUiKSAmJiAhaW5zdC5pbmxpbmUpIHsNCgkJCXZhciBmaW5kTWF4LCBtYXgsIG1heEksIGksDQoJCQkJZGF0ZSA9IG5ldyBEYXRlKDIwMDksIDEyIC0gMSwgMjApLCAvLyBFbnN1cmUgZG91YmxlIGRpZ2l0cw0KCQkJCWRhdGVGb3JtYXQgPSB0aGlzLl9nZXQoaW5zdCwgImRhdGVGb3JtYXQiKTsNCg0KCQkJaWYgKGRhdGVGb3JtYXQubWF0Y2goL1tETV0vKSkgew0KCQkJCWZpbmRNYXggPSBmdW5jdGlvbihuYW1lcykgew0KCQkJCQltYXggPSAwOw0KCQkJCQltYXhJID0gMDsNCgkJCQkJZm9yIChpID0gMDsgaSA8IG5hbWVzLmxlbmd0aDsgaSsrKSB7DQoJCQkJCQlpZiAobmFtZXNbaV0ubGVuZ3RoID4gbWF4KSB7DQoJCQkJCQkJbWF4ID0gbmFtZXNbaV0ubGVuZ3RoOw0KCQkJCQkJCW1heEkgPSBpOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJCXJldHVybiBtYXhJOw0KCQkJCX07DQoJCQkJZGF0ZS5zZXRNb250aChmaW5kTWF4KHRoaXMuX2dldChpbnN0LCAoZGF0ZUZvcm1hdC5tYXRjaCgvTU0vKSA/DQoJCQkJCSJtb250aE5hbWVzIiA6ICJtb250aE5hbWVzU2hvcnQiKSkpKTsNCgkJCQlkYXRlLnNldERhdGUoZmluZE1heCh0aGlzLl9nZXQoaW5zdCwgKGRhdGVGb3JtYXQubWF0Y2goL0RELykgPw0KCQkJCQkiZGF5TmFtZXMiIDogImRheU5hbWVzU2hvcnQiKSkpICsgMjAgLSBkYXRlLmdldERheSgpKTsNCgkJCX0NCgkJCWluc3QuaW5wdXQuYXR0cigic2l6ZSIsIHRoaXMuX2Zvcm1hdERhdGUoaW5zdCwgZGF0ZSkubGVuZ3RoKTsNCgkJfQ0KCX0sDQoNCgkvKiBBdHRhY2ggYW4gaW5saW5lIGRhdGUgcGlja2VyIHRvIGEgZGl2LiAqLw0KCV9pbmxpbmVEYXRlcGlja2VyOiBmdW5jdGlvbih0YXJnZXQsIGluc3QpIHsNCgkJdmFyIGRpdlNwYW4gPSAkKHRhcmdldCk7DQoJCWlmIChkaXZTcGFuLmhhc0NsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKSkgew0KCQkJcmV0dXJuOw0KCQl9DQoJCWRpdlNwYW4uYWRkQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpLmFwcGVuZChpbnN0LmRwRGl2KTsNCgkJJC5kYXRhKHRhcmdldCwgImRhdGVwaWNrZXIiLCBpbnN0KTsNCgkJdGhpcy5fc2V0RGF0ZShpbnN0LCB0aGlzLl9nZXREZWZhdWx0RGF0ZShpbnN0KSwgdHJ1ZSk7DQoJCXRoaXMuX3VwZGF0ZURhdGVwaWNrZXIoaW5zdCk7DQoJCXRoaXMuX3VwZGF0ZUFsdGVybmF0ZShpbnN0KTsNCgkJLy9JZiBkaXNhYmxlZCBvcHRpb24gaXMgdHJ1ZSwgZGlzYWJsZSB0aGUgZGF0ZXBpY2tlciBiZWZvcmUgc2hvd2luZyBpdCAoc2VlIHRpY2tldCAjNTY2NSkNCgkJaWYoIGluc3Quc2V0dGluZ3MuZGlzYWJsZWQgKSB7DQoJCQl0aGlzLl9kaXNhYmxlRGF0ZXBpY2tlciggdGFyZ2V0ICk7DQoJCX0NCgkJLy8gU2V0IGRpc3BsYXk6YmxvY2sgaW4gcGxhY2Ugb2YgaW5zdC5kcERpdi5zaG93KCkgd2hpY2ggd29uJ3Qgd29yayBvbiBkaXNjb25uZWN0ZWQgZWxlbWVudHMNCgkJLy8gaHR0cDovL2J1Z3MuanF1ZXJ5dWkuY29tL3RpY2tldC83NTUyIC0gQSBEYXRlcGlja2VyIGNyZWF0ZWQgb24gYSBkZXRhY2hlZCBkaXYgaGFzIHplcm8gaGVpZ2h0DQoJCWluc3QuZHBEaXYuY3NzKCAiZGlzcGxheSIsICJibG9jayIgKTsNCgl9LA0KDQoJLyogUG9wLXVwIHRoZSBkYXRlIHBpY2tlciBpbiBhICJkaWFsb2ciIGJveC4NCgkgKiBAcGFyYW0gIGlucHV0IGVsZW1lbnQgLSBpZ25vcmVkDQoJICogQHBhcmFtICBkYXRlCXN0cmluZyBvciBEYXRlIC0gdGhlIGluaXRpYWwgZGF0ZSB0byBkaXNwbGF5DQoJICogQHBhcmFtICBvblNlbGVjdCAgZnVuY3Rpb24gLSB0aGUgZnVuY3Rpb24gdG8gY2FsbCB3aGVuIGEgZGF0ZSBpcyBzZWxlY3RlZA0KCSAqIEBwYXJhbSAgc2V0dGluZ3MgIG9iamVjdCAtIHVwZGF0ZSB0aGUgZGlhbG9nIGRhdGUgcGlja2VyIGluc3RhbmNlJ3Mgc2V0dGluZ3MgKGFub255bW91cyBvYmplY3QpDQoJICogQHBhcmFtICBwb3MgaW50WzJdIC0gY29vcmRpbmF0ZXMgZm9yIHRoZSBkaWFsb2cncyBwb3NpdGlvbiB3aXRoaW4gdGhlIHNjcmVlbiBvcg0KCSAqCQkJCQlldmVudCAtIHdpdGggeC95IGNvb3JkaW5hdGVzIG9yDQoJICoJCQkJCWxlYXZlIGVtcHR5IGZvciBkZWZhdWx0IChzY3JlZW4gY2VudHJlKQ0KCSAqIEByZXR1cm4gdGhlIG1hbmFnZXIgb2JqZWN0DQoJICovDQoJX2RpYWxvZ0RhdGVwaWNrZXI6IGZ1bmN0aW9uKGlucHV0LCBkYXRlLCBvblNlbGVjdCwgc2V0dGluZ3MsIHBvcykgew0KCQl2YXIgaWQsIGJyb3dzZXJXaWR0aCwgYnJvd3NlckhlaWdodCwgc2Nyb2xsWCwgc2Nyb2xsWSwNCgkJCWluc3QgPSB0aGlzLl9kaWFsb2dJbnN0OyAvLyBpbnRlcm5hbCBpbnN0YW5jZQ0KDQoJCWlmICghaW5zdCkgew0KCQkJdGhpcy51dWlkICs9IDE7DQoJCQlpZCA9ICJkcCIgKyB0aGlzLnV1aWQ7DQoJCQl0aGlzLl9kaWFsb2dJbnB1dCA9ICQoIjxpbnB1dCB0eXBlPSd0ZXh0JyBpZD0nIiArIGlkICsNCgkJCQkiJyBzdHlsZT0ncG9zaXRpb246IGFic29sdXRlOyB0b3A6IC0xMDBweDsgd2lkdGg6IDBweDsnLz4iKTsNCgkJCXRoaXMuX2RpYWxvZ0lucHV0LmtleWRvd24odGhpcy5fZG9LZXlEb3duKTsNCgkJCSQoImJvZHkiKS5hcHBlbmQodGhpcy5fZGlhbG9nSW5wdXQpOw0KCQkJaW5zdCA9IHRoaXMuX2RpYWxvZ0luc3QgPSB0aGlzLl9uZXdJbnN0KHRoaXMuX2RpYWxvZ0lucHV0LCBmYWxzZSk7DQoJCQlpbnN0LnNldHRpbmdzID0ge307DQoJCQkkLmRhdGEodGhpcy5fZGlhbG9nSW5wdXRbMF0sICJkYXRlcGlja2VyIiwgaW5zdCk7DQoJCX0NCgkJZGF0ZXBpY2tlcl9leHRlbmRSZW1vdmUoaW5zdC5zZXR0aW5ncywgc2V0dGluZ3MgfHwge30pOw0KCQlkYXRlID0gKGRhdGUgJiYgZGF0ZS5jb25zdHJ1Y3RvciA9PT0gRGF0ZSA/IHRoaXMuX2Zvcm1hdERhdGUoaW5zdCwgZGF0ZSkgOiBkYXRlKTsNCgkJdGhpcy5fZGlhbG9nSW5wdXQudmFsKGRhdGUpOw0KDQoJCXRoaXMuX3BvcyA9IChwb3MgPyAocG9zLmxlbmd0aCA/IHBvcyA6IFtwb3MucGFnZVgsIHBvcy5wYWdlWV0pIDogbnVsbCk7DQoJCWlmICghdGhpcy5fcG9zKSB7DQoJCQlicm93c2VyV2lkdGggPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGg7DQoJCQlicm93c2VySGVpZ2h0ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodDsNCgkJCXNjcm9sbFggPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCB8fCBkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQ7DQoJCQlzY3JvbGxZID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCB8fCBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcDsNCgkJCXRoaXMuX3BvcyA9IC8vIHNob3VsZCB1c2UgYWN0dWFsIHdpZHRoL2hlaWdodCBiZWxvdw0KCQkJCVsoYnJvd3NlcldpZHRoIC8gMikgLSAxMDAgKyBzY3JvbGxYLCAoYnJvd3NlckhlaWdodCAvIDIpIC0gMTUwICsgc2Nyb2xsWV07DQoJCX0NCg0KCQkvLyBtb3ZlIGlucHV0IG9uIHNjcmVlbiBmb3IgZm9jdXMsIGJ1dCBoaWRkZW4gYmVoaW5kIGRpYWxvZw0KCQl0aGlzLl9kaWFsb2dJbnB1dC5jc3MoImxlZnQiLCAodGhpcy5fcG9zWzBdICsgMjApICsgInB4IikuY3NzKCJ0b3AiLCB0aGlzLl9wb3NbMV0gKyAicHgiKTsNCgkJaW5zdC5zZXR0aW5ncy5vblNlbGVjdCA9IG9uU2VsZWN0Ow0KCQl0aGlzLl9pbkRpYWxvZyA9IHRydWU7DQoJCXRoaXMuZHBEaXYuYWRkQ2xhc3ModGhpcy5fZGlhbG9nQ2xhc3MpOw0KCQl0aGlzLl9zaG93RGF0ZXBpY2tlcih0aGlzLl9kaWFsb2dJbnB1dFswXSk7DQoJCWlmICgkLmJsb2NrVUkpIHsNCgkJCSQuYmxvY2tVSSh0aGlzLmRwRGl2KTsNCgkJfQ0KCQkkLmRhdGEodGhpcy5fZGlhbG9nSW5wdXRbMF0sICJkYXRlcGlja2VyIiwgaW5zdCk7DQoJCXJldHVybiB0aGlzOw0KCX0sDQoNCgkvKiBEZXRhY2ggYSBkYXRlcGlja2VyIGZyb20gaXRzIGNvbnRyb2wuDQoJICogQHBhcmFtICB0YXJnZXQJZWxlbWVudCAtIHRoZSB0YXJnZXQgaW5wdXQgZmllbGQgb3IgZGl2aXNpb24gb3Igc3Bhbg0KCSAqLw0KCV9kZXN0cm95RGF0ZXBpY2tlcjogZnVuY3Rpb24odGFyZ2V0KSB7DQoJCXZhciBub2RlTmFtZSwNCgkJCSR0YXJnZXQgPSAkKHRhcmdldCksDQoJCQlpbnN0ID0gJC5kYXRhKHRhcmdldCwgImRhdGVwaWNrZXIiKTsNCg0KCQlpZiAoISR0YXJnZXQuaGFzQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQlub2RlTmFtZSA9IHRhcmdldC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpOw0KCQkkLnJlbW92ZURhdGEodGFyZ2V0LCAiZGF0ZXBpY2tlciIpOw0KCQlpZiAobm9kZU5hbWUgPT09ICJpbnB1dCIpIHsNCgkJCWluc3QuYXBwZW5kLnJlbW92ZSgpOw0KCQkJaW5zdC50cmlnZ2VyLnJlbW92ZSgpOw0KCQkJJHRhcmdldC5yZW1vdmVDbGFzcyh0aGlzLm1hcmtlckNsYXNzTmFtZSkuDQoJCQkJdW5iaW5kKCJmb2N1cyIsIHRoaXMuX3Nob3dEYXRlcGlja2VyKS4NCgkJCQl1bmJpbmQoImtleWRvd24iLCB0aGlzLl9kb0tleURvd24pLg0KCQkJCXVuYmluZCgia2V5cHJlc3MiLCB0aGlzLl9kb0tleVByZXNzKS4NCgkJCQl1bmJpbmQoImtleXVwIiwgdGhpcy5fZG9LZXlVcCk7DQoJCX0gZWxzZSBpZiAobm9kZU5hbWUgPT09ICJkaXYiIHx8IG5vZGVOYW1lID09PSAic3BhbiIpIHsNCgkJCSR0YXJnZXQucmVtb3ZlQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpLmVtcHR5KCk7DQoJCX0NCg0KCQlpZiAoIGRhdGVwaWNrZXJfaW5zdEFjdGl2ZSA9PT0gaW5zdCApIHsNCgkJCWRhdGVwaWNrZXJfaW5zdEFjdGl2ZSA9IG51bGw7DQoJCX0NCgl9LA0KDQoJLyogRW5hYmxlIHRoZSBkYXRlIHBpY2tlciB0byBhIGpRdWVyeSBzZWxlY3Rpb24uDQoJICogQHBhcmFtICB0YXJnZXQJZWxlbWVudCAtIHRoZSB0YXJnZXQgaW5wdXQgZmllbGQgb3IgZGl2aXNpb24gb3Igc3Bhbg0KCSAqLw0KCV9lbmFibGVEYXRlcGlja2VyOiBmdW5jdGlvbih0YXJnZXQpIHsNCgkJdmFyIG5vZGVOYW1lLCBpbmxpbmUsDQoJCQkkdGFyZ2V0ID0gJCh0YXJnZXQpLA0KCQkJaW5zdCA9ICQuZGF0YSh0YXJnZXQsICJkYXRlcGlja2VyIik7DQoNCgkJaWYgKCEkdGFyZ2V0Lmhhc0NsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKSkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJbm9kZU5hbWUgPSB0YXJnZXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTsNCgkJaWYgKG5vZGVOYW1lID09PSAiaW5wdXQiKSB7DQoJCQl0YXJnZXQuZGlzYWJsZWQgPSBmYWxzZTsNCgkJCWluc3QudHJpZ2dlci5maWx0ZXIoImJ1dHRvbiIpLg0KCQkJCWVhY2goZnVuY3Rpb24oKSB7IHRoaXMuZGlzYWJsZWQgPSBmYWxzZTsgfSkuZW5kKCkuDQoJCQkJZmlsdGVyKCJpbWciKS5jc3Moe29wYWNpdHk6ICIxLjAiLCBjdXJzb3I6ICIifSk7DQoJCX0gZWxzZSBpZiAobm9kZU5hbWUgPT09ICJkaXYiIHx8IG5vZGVOYW1lID09PSAic3BhbiIpIHsNCgkJCWlubGluZSA9ICR0YXJnZXQuY2hpbGRyZW4oIi4iICsgdGhpcy5faW5saW5lQ2xhc3MpOw0KCQkJaW5saW5lLmNoaWxkcmVuKCkucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWRpc2FibGVkIik7DQoJCQlpbmxpbmUuZmluZCgic2VsZWN0LnVpLWRhdGVwaWNrZXItbW9udGgsIHNlbGVjdC51aS1kYXRlcGlja2VyLXllYXIiKS4NCgkJCQlwcm9wKCJkaXNhYmxlZCIsIGZhbHNlKTsNCgkJfQ0KCQl0aGlzLl9kaXNhYmxlZElucHV0cyA9ICQubWFwKHRoaXMuX2Rpc2FibGVkSW5wdXRzLA0KCQkJZnVuY3Rpb24odmFsdWUpIHsgcmV0dXJuICh2YWx1ZSA9PT0gdGFyZ2V0ID8gbnVsbCA6IHZhbHVlKTsgfSk7IC8vIGRlbGV0ZSBlbnRyeQ0KCX0sDQoNCgkvKiBEaXNhYmxlIHRoZSBkYXRlIHBpY2tlciB0byBhIGpRdWVyeSBzZWxlY3Rpb24uDQoJICogQHBhcmFtICB0YXJnZXQJZWxlbWVudCAtIHRoZSB0YXJnZXQgaW5wdXQgZmllbGQgb3IgZGl2aXNpb24gb3Igc3Bhbg0KCSAqLw0KCV9kaXNhYmxlRGF0ZXBpY2tlcjogZnVuY3Rpb24odGFyZ2V0KSB7DQoJCXZhciBub2RlTmFtZSwgaW5saW5lLA0KCQkJJHRhcmdldCA9ICQodGFyZ2V0KSwNCgkJCWluc3QgPSAkLmRhdGEodGFyZ2V0LCAiZGF0ZXBpY2tlciIpOw0KDQoJCWlmICghJHRhcmdldC5oYXNDbGFzcyh0aGlzLm1hcmtlckNsYXNzTmFtZSkpIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCW5vZGVOYW1lID0gdGFyZ2V0Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7DQoJCWlmIChub2RlTmFtZSA9PT0gImlucHV0Iikgew0KCQkJdGFyZ2V0LmRpc2FibGVkID0gdHJ1ZTsNCgkJCWluc3QudHJpZ2dlci5maWx0ZXIoImJ1dHRvbiIpLg0KCQkJCWVhY2goZnVuY3Rpb24oKSB7IHRoaXMuZGlzYWJsZWQgPSB0cnVlOyB9KS5lbmQoKS4NCgkJCQlmaWx0ZXIoImltZyIpLmNzcyh7b3BhY2l0eTogIjAuNSIsIGN1cnNvcjogImRlZmF1bHQifSk7DQoJCX0gZWxzZSBpZiAobm9kZU5hbWUgPT09ICJkaXYiIHx8IG5vZGVOYW1lID09PSAic3BhbiIpIHsNCgkJCWlubGluZSA9ICR0YXJnZXQuY2hpbGRyZW4oIi4iICsgdGhpcy5faW5saW5lQ2xhc3MpOw0KCQkJaW5saW5lLmNoaWxkcmVuKCkuYWRkQ2xhc3MoInVpLXN0YXRlLWRpc2FibGVkIik7DQoJCQlpbmxpbmUuZmluZCgic2VsZWN0LnVpLWRhdGVwaWNrZXItbW9udGgsIHNlbGVjdC51aS1kYXRlcGlja2VyLXllYXIiKS4NCgkJCQlwcm9wKCJkaXNhYmxlZCIsIHRydWUpOw0KCQl9DQoJCXRoaXMuX2Rpc2FibGVkSW5wdXRzID0gJC5tYXAodGhpcy5fZGlzYWJsZWRJbnB1dHMsDQoJCQlmdW5jdGlvbih2YWx1ZSkgeyByZXR1cm4gKHZhbHVlID09PSB0YXJnZXQgPyBudWxsIDogdmFsdWUpOyB9KTsgLy8gZGVsZXRlIGVudHJ5DQoJCXRoaXMuX2Rpc2FibGVkSW5wdXRzW3RoaXMuX2Rpc2FibGVkSW5wdXRzLmxlbmd0aF0gPSB0YXJnZXQ7DQoJfSwNCg0KCS8qIElzIHRoZSBmaXJzdCBmaWVsZCBpbiBhIGpRdWVyeSBjb2xsZWN0aW9uIGRpc2FibGVkIGFzIGEgZGF0ZXBpY2tlcj8NCgkgKiBAcGFyYW0gIHRhcmdldAllbGVtZW50IC0gdGhlIHRhcmdldCBpbnB1dCBmaWVsZCBvciBkaXZpc2lvbiBvciBzcGFuDQoJICogQHJldHVybiBib29sZWFuIC0gdHJ1ZSBpZiBkaXNhYmxlZCwgZmFsc2UgaWYgZW5hYmxlZA0KCSAqLw0KCV9pc0Rpc2FibGVkRGF0ZXBpY2tlcjogZnVuY3Rpb24odGFyZ2V0KSB7DQoJCWlmICghdGFyZ2V0KSB7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCgkJZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl9kaXNhYmxlZElucHV0cy5sZW5ndGg7IGkrKykgew0KCQkJaWYgKHRoaXMuX2Rpc2FibGVkSW5wdXRzW2ldID09PSB0YXJnZXQpIHsNCgkJCQlyZXR1cm4gdHJ1ZTsNCgkJCX0NCgkJfQ0KCQlyZXR1cm4gZmFsc2U7DQoJfSwNCg0KCS8qIFJldHJpZXZlIHRoZSBpbnN0YW5jZSBkYXRhIGZvciB0aGUgdGFyZ2V0IGNvbnRyb2wuDQoJICogQHBhcmFtICB0YXJnZXQgIGVsZW1lbnQgLSB0aGUgdGFyZ2V0IGlucHV0IGZpZWxkIG9yIGRpdmlzaW9uIG9yIHNwYW4NCgkgKiBAcmV0dXJuICBvYmplY3QgLSB0aGUgYXNzb2NpYXRlZCBpbnN0YW5jZSBkYXRhDQoJICogQHRocm93cyAgZXJyb3IgaWYgYSBqUXVlcnkgcHJvYmxlbSBnZXR0aW5nIGRhdGENCgkgKi8NCglfZ2V0SW5zdDogZnVuY3Rpb24odGFyZ2V0KSB7DQoJCXRyeSB7DQoJCQlyZXR1cm4gJC5kYXRhKHRhcmdldCwgImRhdGVwaWNrZXIiKTsNCgkJfQ0KCQljYXRjaCAoZXJyKSB7DQoJCQl0aHJvdyAiTWlzc2luZyBpbnN0YW5jZSBkYXRhIGZvciB0aGlzIGRhdGVwaWNrZXIiOw0KCQl9DQoJfSwNCg0KCS8qIFVwZGF0ZSBvciByZXRyaWV2ZSB0aGUgc2V0dGluZ3MgZm9yIGEgZGF0ZSBwaWNrZXIgYXR0YWNoZWQgdG8gYW4gaW5wdXQgZmllbGQgb3IgZGl2aXNpb24uDQoJICogQHBhcmFtICB0YXJnZXQgIGVsZW1lbnQgLSB0aGUgdGFyZ2V0IGlucHV0IGZpZWxkIG9yIGRpdmlzaW9uIG9yIHNwYW4NCgkgKiBAcGFyYW0gIG5hbWUJb2JqZWN0IC0gdGhlIG5ldyBzZXR0aW5ncyB0byB1cGRhdGUgb3INCgkgKgkJCQlzdHJpbmcgLSB0aGUgbmFtZSBvZiB0aGUgc2V0dGluZyB0byBjaGFuZ2Ugb3IgcmV0cmlldmUsDQoJICoJCQkJd2hlbiByZXRyaWV2aW5nIGFsc28gImFsbCIgZm9yIGFsbCBpbnN0YW5jZSBzZXR0aW5ncyBvcg0KCSAqCQkJCSJkZWZhdWx0cyIgZm9yIGFsbCBnbG9iYWwgZGVmYXVsdHMNCgkgKiBAcGFyYW0gIHZhbHVlICAgYW55IC0gdGhlIG5ldyB2YWx1ZSBmb3IgdGhlIHNldHRpbmcNCgkgKgkJCQkob21pdCBpZiBhYm92ZSBpcyBhbiBvYmplY3Qgb3IgdG8gcmV0cmlldmUgYSB2YWx1ZSkNCgkgKi8NCglfb3B0aW9uRGF0ZXBpY2tlcjogZnVuY3Rpb24odGFyZ2V0LCBuYW1lLCB2YWx1ZSkgew0KCQl2YXIgc2V0dGluZ3MsIGRhdGUsIG1pbkRhdGUsIG1heERhdGUsDQoJCQlpbnN0ID0gdGhpcy5fZ2V0SW5zdCh0YXJnZXQpOw0KDQoJCWlmIChhcmd1bWVudHMubGVuZ3RoID09PSAyICYmIHR5cGVvZiBuYW1lID09PSAic3RyaW5nIikgew0KCQkJcmV0dXJuIChuYW1lID09PSAiZGVmYXVsdHMiID8gJC5leHRlbmQoe30sICQuZGF0ZXBpY2tlci5fZGVmYXVsdHMpIDoNCgkJCQkoaW5zdCA/IChuYW1lID09PSAiYWxsIiA/ICQuZXh0ZW5kKHt9LCBpbnN0LnNldHRpbmdzKSA6DQoJCQkJdGhpcy5fZ2V0KGluc3QsIG5hbWUpKSA6IG51bGwpKTsNCgkJfQ0KDQoJCXNldHRpbmdzID0gbmFtZSB8fCB7fTsNCgkJaWYgKHR5cGVvZiBuYW1lID09PSAic3RyaW5nIikgew0KCQkJc2V0dGluZ3MgPSB7fTsNCgkJCXNldHRpbmdzW25hbWVdID0gdmFsdWU7DQoJCX0NCg0KCQlpZiAoaW5zdCkgew0KCQkJaWYgKHRoaXMuX2N1ckluc3QgPT09IGluc3QpIHsNCgkJCQl0aGlzLl9oaWRlRGF0ZXBpY2tlcigpOw0KCQkJfQ0KDQoJCQlkYXRlID0gdGhpcy5fZ2V0RGF0ZURhdGVwaWNrZXIodGFyZ2V0LCB0cnVlKTsNCgkJCW1pbkRhdGUgPSB0aGlzLl9nZXRNaW5NYXhEYXRlKGluc3QsICJtaW4iKTsNCgkJCW1heERhdGUgPSB0aGlzLl9nZXRNaW5NYXhEYXRlKGluc3QsICJtYXgiKTsNCgkJCWRhdGVwaWNrZXJfZXh0ZW5kUmVtb3ZlKGluc3Quc2V0dGluZ3MsIHNldHRpbmdzKTsNCgkJCS8vIHJlZm9ybWF0IHRoZSBvbGQgbWluRGF0ZS9tYXhEYXRlIHZhbHVlcyBpZiBkYXRlRm9ybWF0IGNoYW5nZXMgYW5kIGEgbmV3IG1pbkRhdGUvbWF4RGF0ZSBpc24ndCBwcm92aWRlZA0KCQkJaWYgKG1pbkRhdGUgIT09IG51bGwgJiYgc2V0dGluZ3MuZGF0ZUZvcm1hdCAhPT0gdW5kZWZpbmVkICYmIHNldHRpbmdzLm1pbkRhdGUgPT09IHVuZGVmaW5lZCkgew0KCQkJCWluc3Quc2V0dGluZ3MubWluRGF0ZSA9IHRoaXMuX2Zvcm1hdERhdGUoaW5zdCwgbWluRGF0ZSk7DQoJCQl9DQoJCQlpZiAobWF4RGF0ZSAhPT0gbnVsbCAmJiBzZXR0aW5ncy5kYXRlRm9ybWF0ICE9PSB1bmRlZmluZWQgJiYgc2V0dGluZ3MubWF4RGF0ZSA9PT0gdW5kZWZpbmVkKSB7DQoJCQkJaW5zdC5zZXR0aW5ncy5tYXhEYXRlID0gdGhpcy5fZm9ybWF0RGF0ZShpbnN0LCBtYXhEYXRlKTsNCgkJCX0NCgkJCWlmICggImRpc2FibGVkIiBpbiBzZXR0aW5ncyApIHsNCgkJCQlpZiAoIHNldHRpbmdzLmRpc2FibGVkICkgew0KCQkJCQl0aGlzLl9kaXNhYmxlRGF0ZXBpY2tlcih0YXJnZXQpOw0KCQkJCX0gZWxzZSB7DQoJCQkJCXRoaXMuX2VuYWJsZURhdGVwaWNrZXIodGFyZ2V0KTsNCgkJCQl9DQoJCQl9DQoJCQl0aGlzLl9hdHRhY2htZW50cygkKHRhcmdldCksIGluc3QpOw0KCQkJdGhpcy5fYXV0b1NpemUoaW5zdCk7DQoJCQl0aGlzLl9zZXREYXRlKGluc3QsIGRhdGUpOw0KCQkJdGhpcy5fdXBkYXRlQWx0ZXJuYXRlKGluc3QpOw0KCQkJdGhpcy5fdXBkYXRlRGF0ZXBpY2tlcihpbnN0KTsNCgkJfQ0KCX0sDQoNCgkvLyBjaGFuZ2UgbWV0aG9kIGRlcHJlY2F0ZWQNCglfY2hhbmdlRGF0ZXBpY2tlcjogZnVuY3Rpb24odGFyZ2V0LCBuYW1lLCB2YWx1ZSkgew0KCQl0aGlzLl9vcHRpb25EYXRlcGlja2VyKHRhcmdldCwgbmFtZSwgdmFsdWUpOw0KCX0sDQoNCgkvKiBSZWRyYXcgdGhlIGRhdGUgcGlja2VyIGF0dGFjaGVkIHRvIGFuIGlucHV0IGZpZWxkIG9yIGRpdmlzaW9uLg0KCSAqIEBwYXJhbSAgdGFyZ2V0ICBlbGVtZW50IC0gdGhlIHRhcmdldCBpbnB1dCBmaWVsZCBvciBkaXZpc2lvbiBvciBzcGFuDQoJICovDQoJX3JlZnJlc2hEYXRlcGlja2VyOiBmdW5jdGlvbih0YXJnZXQpIHsNCgkJdmFyIGluc3QgPSB0aGlzLl9nZXRJbnN0KHRhcmdldCk7DQoJCWlmIChpbnN0KSB7DQoJCQl0aGlzLl91cGRhdGVEYXRlcGlja2VyKGluc3QpOw0KCQl9DQoJfSwNCg0KCS8qIFNldCB0aGUgZGF0ZXMgZm9yIGEgalF1ZXJ5IHNlbGVjdGlvbi4NCgkgKiBAcGFyYW0gIHRhcmdldCBlbGVtZW50IC0gdGhlIHRhcmdldCBpbnB1dCBmaWVsZCBvciBkaXZpc2lvbiBvciBzcGFuDQoJICogQHBhcmFtICBkYXRlCURhdGUgLSB0aGUgbmV3IGRhdGUNCgkgKi8NCglfc2V0RGF0ZURhdGVwaWNrZXI6IGZ1bmN0aW9uKHRhcmdldCwgZGF0ZSkgew0KCQl2YXIgaW5zdCA9IHRoaXMuX2dldEluc3QodGFyZ2V0KTsNCgkJaWYgKGluc3QpIHsNCgkJCXRoaXMuX3NldERhdGUoaW5zdCwgZGF0ZSk7DQoJCQl0aGlzLl91cGRhdGVEYXRlcGlja2VyKGluc3QpOw0KCQkJdGhpcy5fdXBkYXRlQWx0ZXJuYXRlKGluc3QpOw0KCQl9DQoJfSwNCg0KCS8qIEdldCB0aGUgZGF0ZShzKSBmb3IgdGhlIGZpcnN0IGVudHJ5IGluIGEgalF1ZXJ5IHNlbGVjdGlvbi4NCgkgKiBAcGFyYW0gIHRhcmdldCBlbGVtZW50IC0gdGhlIHRhcmdldCBpbnB1dCBmaWVsZCBvciBkaXZpc2lvbiBvciBzcGFuDQoJICogQHBhcmFtICBub0RlZmF1bHQgYm9vbGVhbiAtIHRydWUgaWYgbm8gZGVmYXVsdCBkYXRlIGlzIHRvIGJlIHVzZWQNCgkgKiBAcmV0dXJuIERhdGUgLSB0aGUgY3VycmVudCBkYXRlDQoJICovDQoJX2dldERhdGVEYXRlcGlja2VyOiBmdW5jdGlvbih0YXJnZXQsIG5vRGVmYXVsdCkgew0KCQl2YXIgaW5zdCA9IHRoaXMuX2dldEluc3QodGFyZ2V0KTsNCgkJaWYgKGluc3QgJiYgIWluc3QuaW5saW5lKSB7DQoJCQl0aGlzLl9zZXREYXRlRnJvbUZpZWxkKGluc3QsIG5vRGVmYXVsdCk7DQoJCX0NCgkJcmV0dXJuIChpbnN0ID8gdGhpcy5fZ2V0RGF0ZShpbnN0KSA6IG51bGwpOw0KCX0sDQoNCgkvKiBIYW5kbGUga2V5c3Ryb2tlcy4gKi8NCglfZG9LZXlEb3duOiBmdW5jdGlvbihldmVudCkgew0KCQl2YXIgb25TZWxlY3QsIGRhdGVTdHIsIHNlbCwNCgkJCWluc3QgPSAkLmRhdGVwaWNrZXIuX2dldEluc3QoZXZlbnQudGFyZ2V0KSwNCgkJCWhhbmRsZWQgPSB0cnVlLA0KCQkJaXNSVEwgPSBpbnN0LmRwRGl2LmlzKCIudWktZGF0ZXBpY2tlci1ydGwiKTsNCg0KCQlpbnN0Ll9rZXlFdmVudCA9IHRydWU7DQoJCWlmICgkLmRhdGVwaWNrZXIuX2RhdGVwaWNrZXJTaG93aW5nKSB7DQoJCQlzd2l0Y2ggKGV2ZW50LmtleUNvZGUpIHsNCgkJCQljYXNlIDk6ICQuZGF0ZXBpY2tlci5faGlkZURhdGVwaWNrZXIoKTsNCgkJCQkJCWhhbmRsZWQgPSBmYWxzZTsNCgkJCQkJCWJyZWFrOyAvLyBoaWRlIG9uIHRhYiBvdXQNCgkJCQljYXNlIDEzOiBzZWwgPSAkKCJ0ZC4iICsgJC5kYXRlcGlja2VyLl9kYXlPdmVyQ2xhc3MgKyAiOm5vdCguIiArDQoJCQkJCQkJCQkkLmRhdGVwaWNrZXIuX2N1cnJlbnRDbGFzcyArICIpIiwgaW5zdC5kcERpdik7DQoJCQkJCQlpZiAoc2VsWzBdKSB7DQoJCQkJCQkJJC5kYXRlcGlja2VyLl9zZWxlY3REYXkoZXZlbnQudGFyZ2V0LCBpbnN0LnNlbGVjdGVkTW9udGgsIGluc3Quc2VsZWN0ZWRZZWFyLCBzZWxbMF0pOw0KCQkJCQkJfQ0KDQoJCQkJCQlvblNlbGVjdCA9ICQuZGF0ZXBpY2tlci5fZ2V0KGluc3QsICJvblNlbGVjdCIpOw0KCQkJCQkJaWYgKG9uU2VsZWN0KSB7DQoJCQkJCQkJZGF0ZVN0ciA9ICQuZGF0ZXBpY2tlci5fZm9ybWF0RGF0ZShpbnN0KTsNCg0KCQkJCQkJCS8vIHRyaWdnZXIgY3VzdG9tIGNhbGxiYWNrDQoJCQkJCQkJb25TZWxlY3QuYXBwbHkoKGluc3QuaW5wdXQgPyBpbnN0LmlucHV0WzBdIDogbnVsbCksIFtkYXRlU3RyLCBpbnN0XSk7DQoJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCSQuZGF0ZXBpY2tlci5faGlkZURhdGVwaWNrZXIoKTsNCgkJCQkJCX0NCg0KCQkJCQkJcmV0dXJuIGZhbHNlOyAvLyBkb24ndCBzdWJtaXQgdGhlIGZvcm0NCgkJCQljYXNlIDI3OiAkLmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCk7DQoJCQkJCQlicmVhazsgLy8gaGlkZSBvbiBlc2NhcGUNCgkJCQljYXNlIDMzOiAkLmRhdGVwaWNrZXIuX2FkanVzdERhdGUoZXZlbnQudGFyZ2V0LCAoZXZlbnQuY3RybEtleSA/DQoJCQkJCQkJLSQuZGF0ZXBpY2tlci5fZ2V0KGluc3QsICJzdGVwQmlnTW9udGhzIikgOg0KCQkJCQkJCS0kLmRhdGVwaWNrZXIuX2dldChpbnN0LCAic3RlcE1vbnRocyIpKSwgIk0iKTsNCgkJCQkJCWJyZWFrOyAvLyBwcmV2aW91cyBtb250aC95ZWFyIG9uIHBhZ2UgdXAvKyBjdHJsDQoJCQkJY2FzZSAzNDogJC5kYXRlcGlja2VyLl9hZGp1c3REYXRlKGV2ZW50LnRhcmdldCwgKGV2ZW50LmN0cmxLZXkgPw0KCQkJCQkJCSskLmRhdGVwaWNrZXIuX2dldChpbnN0LCAic3RlcEJpZ01vbnRocyIpIDoNCgkJCQkJCQkrJC5kYXRlcGlja2VyLl9nZXQoaW5zdCwgInN0ZXBNb250aHMiKSksICJNIik7DQoJCQkJCQlicmVhazsgLy8gbmV4dCBtb250aC95ZWFyIG9uIHBhZ2UgZG93bi8rIGN0cmwNCgkJCQljYXNlIDM1OiBpZiAoZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5KSB7DQoJCQkJCQkJJC5kYXRlcGlja2VyLl9jbGVhckRhdGUoZXZlbnQudGFyZ2V0KTsNCgkJCQkJCX0NCgkJCQkJCWhhbmRsZWQgPSBldmVudC5jdHJsS2V5IHx8IGV2ZW50Lm1ldGFLZXk7DQoJCQkJCQlicmVhazsgLy8gY2xlYXIgb24gY3RybCBvciBjb21tYW5kICtlbmQNCgkJCQljYXNlIDM2OiBpZiAoZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5KSB7DQoJCQkJCQkJJC5kYXRlcGlja2VyLl9nb3RvVG9kYXkoZXZlbnQudGFyZ2V0KTsNCgkJCQkJCX0NCgkJCQkJCWhhbmRsZWQgPSBldmVudC5jdHJsS2V5IHx8IGV2ZW50Lm1ldGFLZXk7DQoJCQkJCQlicmVhazsgLy8gY3VycmVudCBvbiBjdHJsIG9yIGNvbW1hbmQgK2hvbWUNCgkJCQljYXNlIDM3OiBpZiAoZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5KSB7DQoJCQkJCQkJJC5kYXRlcGlja2VyLl9hZGp1c3REYXRlKGV2ZW50LnRhcmdldCwgKGlzUlRMID8gKzEgOiAtMSksICJEIik7DQoJCQkJCQl9DQoJCQkJCQloYW5kbGVkID0gZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5Ow0KCQkJCQkJLy8gLTEgZGF5IG9uIGN0cmwgb3IgY29tbWFuZCArbGVmdA0KCQkJCQkJaWYgKGV2ZW50Lm9yaWdpbmFsRXZlbnQuYWx0S2V5KSB7DQoJCQkJCQkJJC5kYXRlcGlja2VyLl9hZGp1c3REYXRlKGV2ZW50LnRhcmdldCwgKGV2ZW50LmN0cmxLZXkgPw0KCQkJCQkJCQktJC5kYXRlcGlja2VyLl9nZXQoaW5zdCwgInN0ZXBCaWdNb250aHMiKSA6DQoJCQkJCQkJCS0kLmRhdGVwaWNrZXIuX2dldChpbnN0LCAic3RlcE1vbnRocyIpKSwgIk0iKTsNCgkJCQkJCX0NCgkJCQkJCS8vIG5leHQgbW9udGgveWVhciBvbiBhbHQgK2xlZnQgb24gTWFjDQoJCQkJCQlicmVhazsNCgkJCQljYXNlIDM4OiBpZiAoZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5KSB7DQoJCQkJCQkJJC5kYXRlcGlja2VyLl9hZGp1c3REYXRlKGV2ZW50LnRhcmdldCwgLTcsICJEIik7DQoJCQkJCQl9DQoJCQkJCQloYW5kbGVkID0gZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5Ow0KCQkJCQkJYnJlYWs7IC8vIC0xIHdlZWsgb24gY3RybCBvciBjb21tYW5kICt1cA0KCQkJCWNhc2UgMzk6IGlmIChldmVudC5jdHJsS2V5IHx8IGV2ZW50Lm1ldGFLZXkpIHsNCgkJCQkJCQkkLmRhdGVwaWNrZXIuX2FkanVzdERhdGUoZXZlbnQudGFyZ2V0LCAoaXNSVEwgPyAtMSA6ICsxKSwgIkQiKTsNCgkJCQkJCX0NCgkJCQkJCWhhbmRsZWQgPSBldmVudC5jdHJsS2V5IHx8IGV2ZW50Lm1ldGFLZXk7DQoJCQkJCQkvLyArMSBkYXkgb24gY3RybCBvciBjb21tYW5kICtyaWdodA0KCQkJCQkJaWYgKGV2ZW50Lm9yaWdpbmFsRXZlbnQuYWx0S2V5KSB7DQoJCQkJCQkJJC5kYXRlcGlja2VyLl9hZGp1c3REYXRlKGV2ZW50LnRhcmdldCwgKGV2ZW50LmN0cmxLZXkgPw0KCQkJCQkJCQkrJC5kYXRlcGlja2VyLl9nZXQoaW5zdCwgInN0ZXBCaWdNb250aHMiKSA6DQoJCQkJCQkJCSskLmRhdGVwaWNrZXIuX2dldChpbnN0LCAic3RlcE1vbnRocyIpKSwgIk0iKTsNCgkJCQkJCX0NCgkJCQkJCS8vIG5leHQgbW9udGgveWVhciBvbiBhbHQgK3JpZ2h0DQoJCQkJCQlicmVhazsNCgkJCQljYXNlIDQwOiBpZiAoZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5KSB7DQoJCQkJCQkJJC5kYXRlcGlja2VyLl9hZGp1c3REYXRlKGV2ZW50LnRhcmdldCwgKzcsICJEIik7DQoJCQkJCQl9DQoJCQkJCQloYW5kbGVkID0gZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5Ow0KCQkJCQkJYnJlYWs7IC8vICsxIHdlZWsgb24gY3RybCBvciBjb21tYW5kICtkb3duDQoJCQkJZGVmYXVsdDogaGFuZGxlZCA9IGZhbHNlOw0KCQkJfQ0KCQl9IGVsc2UgaWYgKGV2ZW50LmtleUNvZGUgPT09IDM2ICYmIGV2ZW50LmN0cmxLZXkpIHsgLy8gZGlzcGxheSB0aGUgZGF0ZSBwaWNrZXIgb24gY3RybCtob21lDQoJCQkkLmRhdGVwaWNrZXIuX3Nob3dEYXRlcGlja2VyKHRoaXMpOw0KCQl9IGVsc2Ugew0KCQkJaGFuZGxlZCA9IGZhbHNlOw0KCQl9DQoNCgkJaWYgKGhhbmRsZWQpIHsNCgkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJCQlldmVudC5zdG9wUHJvcGFnYXRpb24oKTsNCgkJfQ0KCX0sDQoNCgkvKiBGaWx0ZXIgZW50ZXJlZCBjaGFyYWN0ZXJzIC0gYmFzZWQgb24gZGF0ZSBmb3JtYXQuICovDQoJX2RvS2V5UHJlc3M6IGZ1bmN0aW9uKGV2ZW50KSB7DQoJCXZhciBjaGFycywgY2hyLA0KCQkJaW5zdCA9ICQuZGF0ZXBpY2tlci5fZ2V0SW5zdChldmVudC50YXJnZXQpOw0KDQoJCWlmICgkLmRhdGVwaWNrZXIuX2dldChpbnN0LCAiY29uc3RyYWluSW5wdXQiKSkgew0KCQkJY2hhcnMgPSAkLmRhdGVwaWNrZXIuX3Bvc3NpYmxlQ2hhcnMoJC5kYXRlcGlja2VyLl9nZXQoaW5zdCwgImRhdGVGb3JtYXQiKSk7DQoJCQljaHIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGV2ZW50LmNoYXJDb2RlID09IG51bGwgPyBldmVudC5rZXlDb2RlIDogZXZlbnQuY2hhckNvZGUpOw0KCQkJcmV0dXJuIGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQubWV0YUtleSB8fCAoY2hyIDwgIiAiIHx8ICFjaGFycyB8fCBjaGFycy5pbmRleE9mKGNocikgPiAtMSk7DQoJCX0NCgl9LA0KDQoJLyogU3luY2hyb25pc2UgbWFudWFsIGVudHJ5IGFuZCBmaWVsZC9hbHRlcm5hdGUgZmllbGQuICovDQoJX2RvS2V5VXA6IGZ1bmN0aW9uKGV2ZW50KSB7DQoJCXZhciBkYXRlLA0KCQkJaW5zdCA9ICQuZGF0ZXBpY2tlci5fZ2V0SW5zdChldmVudC50YXJnZXQpOw0KDQoJCWlmIChpbnN0LmlucHV0LnZhbCgpICE9PSBpbnN0Lmxhc3RWYWwpIHsNCgkJCXRyeSB7DQoJCQkJZGF0ZSA9ICQuZGF0ZXBpY2tlci5wYXJzZURhdGUoJC5kYXRlcGlja2VyLl9nZXQoaW5zdCwgImRhdGVGb3JtYXQiKSwNCgkJCQkJKGluc3QuaW5wdXQgPyBpbnN0LmlucHV0LnZhbCgpIDogbnVsbCksDQoJCQkJCSQuZGF0ZXBpY2tlci5fZ2V0Rm9ybWF0Q29uZmlnKGluc3QpKTsNCg0KCQkJCWlmIChkYXRlKSB7IC8vIG9ubHkgaWYgdmFsaWQNCgkJCQkJJC5kYXRlcGlja2VyLl9zZXREYXRlRnJvbUZpZWxkKGluc3QpOw0KCQkJCQkkLmRhdGVwaWNrZXIuX3VwZGF0ZUFsdGVybmF0ZShpbnN0KTsNCgkJCQkJJC5kYXRlcGlja2VyLl91cGRhdGVEYXRlcGlja2VyKGluc3QpOw0KCQkJCX0NCgkJCX0NCgkJCWNhdGNoIChlcnIpIHsNCgkJCX0NCgkJfQ0KCQlyZXR1cm4gdHJ1ZTsNCgl9LA0KDQoJLyogUG9wLXVwIHRoZSBkYXRlIHBpY2tlciBmb3IgYSBnaXZlbiBpbnB1dCBmaWVsZC4NCgkgKiBJZiBmYWxzZSByZXR1cm5lZCBmcm9tIGJlZm9yZVNob3cgZXZlbnQgaGFuZGxlciBkbyBub3Qgc2hvdy4NCgkgKiBAcGFyYW0gIGlucHV0ICBlbGVtZW50IC0gdGhlIGlucHV0IGZpZWxkIGF0dGFjaGVkIHRvIHRoZSBkYXRlIHBpY2tlciBvcg0KCSAqCQkJCQlldmVudCAtIGlmIHRyaWdnZXJlZCBieSBmb2N1cw0KCSAqLw0KCV9zaG93RGF0ZXBpY2tlcjogZnVuY3Rpb24oaW5wdXQpIHsNCgkJaW5wdXQgPSBpbnB1dC50YXJnZXQgfHwgaW5wdXQ7DQoJCWlmIChpbnB1dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpICE9PSAiaW5wdXQiKSB7IC8vIGZpbmQgZnJvbSBidXR0b24vaW1hZ2UgdHJpZ2dlcg0KCQkJaW5wdXQgPSAkKCJpbnB1dCIsIGlucHV0LnBhcmVudE5vZGUpWzBdOw0KCQl9DQoNCgkJaWYgKCQuZGF0ZXBpY2tlci5faXNEaXNhYmxlZERhdGVwaWNrZXIoaW5wdXQpIHx8ICQuZGF0ZXBpY2tlci5fbGFzdElucHV0ID09PSBpbnB1dCkgeyAvLyBhbHJlYWR5IGhlcmUNCgkJCXJldHVybjsNCgkJfQ0KDQoJCXZhciBpbnN0LCBiZWZvcmVTaG93LCBiZWZvcmVTaG93U2V0dGluZ3MsIGlzRml4ZWQsDQoJCQlvZmZzZXQsIHNob3dBbmltLCBkdXJhdGlvbjsNCg0KCQlpbnN0ID0gJC5kYXRlcGlja2VyLl9nZXRJbnN0KGlucHV0KTsNCgkJaWYgKCQuZGF0ZXBpY2tlci5fY3VySW5zdCAmJiAkLmRhdGVwaWNrZXIuX2N1ckluc3QgIT09IGluc3QpIHsNCgkJCSQuZGF0ZXBpY2tlci5fY3VySW5zdC5kcERpdi5zdG9wKHRydWUsIHRydWUpOw0KCQkJaWYgKCBpbnN0ICYmICQuZGF0ZXBpY2tlci5fZGF0ZXBpY2tlclNob3dpbmcgKSB7DQoJCQkJJC5kYXRlcGlja2VyLl9oaWRlRGF0ZXBpY2tlciggJC5kYXRlcGlja2VyLl9jdXJJbnN0LmlucHV0WzBdICk7DQoJCQl9DQoJCX0NCg0KCQliZWZvcmVTaG93ID0gJC5kYXRlcGlja2VyLl9nZXQoaW5zdCwgImJlZm9yZVNob3ciKTsNCgkJYmVmb3JlU2hvd1NldHRpbmdzID0gYmVmb3JlU2hvdyA/IGJlZm9yZVNob3cuYXBwbHkoaW5wdXQsIFtpbnB1dCwgaW5zdF0pIDoge307DQoJCWlmKGJlZm9yZVNob3dTZXR0aW5ncyA9PT0gZmFsc2Upew0KCQkJcmV0dXJuOw0KCQl9DQoJCWRhdGVwaWNrZXJfZXh0ZW5kUmVtb3ZlKGluc3Quc2V0dGluZ3MsIGJlZm9yZVNob3dTZXR0aW5ncyk7DQoNCgkJaW5zdC5sYXN0VmFsID0gbnVsbDsNCgkJJC5kYXRlcGlja2VyLl9sYXN0SW5wdXQgPSBpbnB1dDsNCgkJJC5kYXRlcGlja2VyLl9zZXREYXRlRnJvbUZpZWxkKGluc3QpOw0KDQoJCWlmICgkLmRhdGVwaWNrZXIuX2luRGlhbG9nKSB7IC8vIGhpZGUgY3Vyc29yDQoJCQlpbnB1dC52YWx1ZSA9ICIiOw0KCQl9DQoJCWlmICghJC5kYXRlcGlja2VyLl9wb3MpIHsgLy8gcG9zaXRpb24gYmVsb3cgaW5wdXQNCgkJCSQuZGF0ZXBpY2tlci5fcG9zID0gJC5kYXRlcGlja2VyLl9maW5kUG9zKGlucHV0KTsNCgkJCSQuZGF0ZXBpY2tlci5fcG9zWzFdICs9IGlucHV0Lm9mZnNldEhlaWdodDsgLy8gYWRkIHRoZSBoZWlnaHQNCgkJfQ0KDQoJCWlzRml4ZWQgPSBmYWxzZTsNCgkJJChpbnB1dCkucGFyZW50cygpLmVhY2goZnVuY3Rpb24oKSB7DQoJCQlpc0ZpeGVkIHw9ICQodGhpcykuY3NzKCJwb3NpdGlvbiIpID09PSAiZml4ZWQiOw0KCQkJcmV0dXJuICFpc0ZpeGVkOw0KCQl9KTsNCg0KCQlvZmZzZXQgPSB7bGVmdDogJC5kYXRlcGlja2VyLl9wb3NbMF0sIHRvcDogJC5kYXRlcGlja2VyLl9wb3NbMV19Ow0KCQkkLmRhdGVwaWNrZXIuX3BvcyA9IG51bGw7DQoJCS8vdG8gYXZvaWQgZmxhc2hlcyBvbiBGaXJlZm94DQoJCWluc3QuZHBEaXYuZW1wdHkoKTsNCgkJLy8gZGV0ZXJtaW5lIHNpemluZyBvZmZzY3JlZW4NCgkJaW5zdC5kcERpdi5jc3Moe3Bvc2l0aW9uOiAiYWJzb2x1dGUiLCBkaXNwbGF5OiAiYmxvY2siLCB0b3A6ICItMTAwMHB4In0pOw0KCQkkLmRhdGVwaWNrZXIuX3VwZGF0ZURhdGVwaWNrZXIoaW5zdCk7DQoJCS8vIGZpeCB3aWR0aCBmb3IgZHluYW1pYyBudW1iZXIgb2YgZGF0ZSBwaWNrZXJzDQoJCS8vIGFuZCBhZGp1c3QgcG9zaXRpb24gYmVmb3JlIHNob3dpbmcNCgkJb2Zmc2V0ID0gJC5kYXRlcGlja2VyLl9jaGVja09mZnNldChpbnN0LCBvZmZzZXQsIGlzRml4ZWQpOw0KCQlpbnN0LmRwRGl2LmNzcyh7cG9zaXRpb246ICgkLmRhdGVwaWNrZXIuX2luRGlhbG9nICYmICQuYmxvY2tVSSA/DQoJCQkic3RhdGljIiA6IChpc0ZpeGVkID8gImZpeGVkIiA6ICJhYnNvbHV0ZSIpKSwgZGlzcGxheTogIm5vbmUiLA0KCQkJbGVmdDogb2Zmc2V0LmxlZnQgKyAicHgiLCB0b3A6IG9mZnNldC50b3AgKyAicHgifSk7DQoNCgkJaWYgKCFpbnN0LmlubGluZSkgew0KCQkJc2hvd0FuaW0gPSAkLmRhdGVwaWNrZXIuX2dldChpbnN0LCAic2hvd0FuaW0iKTsNCgkJCWR1cmF0aW9uID0gJC5kYXRlcGlja2VyLl9nZXQoaW5zdCwgImR1cmF0aW9uIik7DQoJCQlpbnN0LmRwRGl2LmNzcyggInotaW5kZXgiLCBkYXRlcGlja2VyX2dldFppbmRleCggJCggaW5wdXQgKSApICsgMSApOw0KCQkJJC5kYXRlcGlja2VyLl9kYXRlcGlja2VyU2hvd2luZyA9IHRydWU7DQoNCgkJCWlmICggJC5lZmZlY3RzICYmICQuZWZmZWN0cy5lZmZlY3RbIHNob3dBbmltIF0gKSB7DQoJCQkJaW5zdC5kcERpdi5zaG93KHNob3dBbmltLCAkLmRhdGVwaWNrZXIuX2dldChpbnN0LCAic2hvd09wdGlvbnMiKSwgZHVyYXRpb24pOw0KCQkJfSBlbHNlIHsNCgkJCQlpbnN0LmRwRGl2W3Nob3dBbmltIHx8ICJzaG93Il0oc2hvd0FuaW0gPyBkdXJhdGlvbiA6IG51bGwpOw0KCQkJfQ0KDQoJCQlpZiAoICQuZGF0ZXBpY2tlci5fc2hvdWxkRm9jdXNJbnB1dCggaW5zdCApICkgew0KCQkJCWluc3QuaW5wdXQuZm9jdXMoKTsNCgkJCX0NCg0KCQkJJC5kYXRlcGlja2VyLl9jdXJJbnN0ID0gaW5zdDsNCgkJfQ0KCX0sDQoNCgkvKiBHZW5lcmF0ZSB0aGUgZGF0ZSBwaWNrZXIgY29udGVudC4gKi8NCglfdXBkYXRlRGF0ZXBpY2tlcjogZnVuY3Rpb24oaW5zdCkgew0KCQl0aGlzLm1heFJvd3MgPSA0OyAvL1Jlc2V0IHRoZSBtYXggbnVtYmVyIG9mIHJvd3MgYmVpbmcgZGlzcGxheWVkIChzZWUgIzcwNDMpDQoJCWRhdGVwaWNrZXJfaW5zdEFjdGl2ZSA9IGluc3Q7IC8vIGZvciBkZWxlZ2F0ZSBob3ZlciBldmVudHMNCgkJaW5zdC5kcERpdi5lbXB0eSgpLmFwcGVuZCh0aGlzLl9nZW5lcmF0ZUhUTUwoaW5zdCkpOw0KCQl0aGlzLl9hdHRhY2hIYW5kbGVycyhpbnN0KTsNCg0KCQl2YXIgb3JpZ3llYXJzaHRtbCwNCgkJCW51bU1vbnRocyA9IHRoaXMuX2dldE51bWJlck9mTW9udGhzKGluc3QpLA0KCQkJY29scyA9IG51bU1vbnRoc1sxXSwNCgkJCXdpZHRoID0gMTcsDQoJCQlhY3RpdmVDZWxsID0gaW5zdC5kcERpdi5maW5kKCAiLiIgKyB0aGlzLl9kYXlPdmVyQ2xhc3MgKyAiIGEiICk7DQoNCgkJaWYgKCBhY3RpdmVDZWxsLmxlbmd0aCA+IDAgKSB7DQoJCQlkYXRlcGlja2VyX2hhbmRsZU1vdXNlb3Zlci5hcHBseSggYWN0aXZlQ2VsbC5nZXQoIDAgKSApOw0KCQl9DQoNCgkJaW5zdC5kcERpdi5yZW1vdmVDbGFzcygidWktZGF0ZXBpY2tlci1tdWx0aS0yIHVpLWRhdGVwaWNrZXItbXVsdGktMyB1aS1kYXRlcGlja2VyLW11bHRpLTQiKS53aWR0aCgiIik7DQoJCWlmIChjb2xzID4gMSkgew0KCQkJaW5zdC5kcERpdi5hZGRDbGFzcygidWktZGF0ZXBpY2tlci1tdWx0aS0iICsgY29scykuY3NzKCJ3aWR0aCIsICh3aWR0aCAqIGNvbHMpICsgImVtIik7DQoJCX0NCgkJaW5zdC5kcERpdlsobnVtTW9udGhzWzBdICE9PSAxIHx8IG51bU1vbnRoc1sxXSAhPT0gMSA/ICJhZGQiIDogInJlbW92ZSIpICsNCgkJCSJDbGFzcyJdKCJ1aS1kYXRlcGlja2VyLW11bHRpIik7DQoJCWluc3QuZHBEaXZbKHRoaXMuX2dldChpbnN0LCAiaXNSVEwiKSA/ICJhZGQiIDogInJlbW92ZSIpICsNCgkJCSJDbGFzcyJdKCJ1aS1kYXRlcGlja2VyLXJ0bCIpOw0KDQoJCWlmIChpbnN0ID09PSAkLmRhdGVwaWNrZXIuX2N1ckluc3QgJiYgJC5kYXRlcGlja2VyLl9kYXRlcGlja2VyU2hvd2luZyAmJiAkLmRhdGVwaWNrZXIuX3Nob3VsZEZvY3VzSW5wdXQoIGluc3QgKSApIHsNCgkJCWluc3QuaW5wdXQuZm9jdXMoKTsNCgkJfQ0KDQoJCS8vIGRlZmZlcmVkIHJlbmRlciBvZiB0aGUgeWVhcnMgc2VsZWN0ICh0byBhdm9pZCBmbGFzaGVzIG9uIEZpcmVmb3gpDQoJCWlmKCBpbnN0LnllYXJzaHRtbCApew0KCQkJb3JpZ3llYXJzaHRtbCA9IGluc3QueWVhcnNodG1sOw0KCQkJc2V0VGltZW91dChmdW5jdGlvbigpew0KCQkJCS8vYXNzdXJlIHRoYXQgaW5zdC55ZWFyc2h0bWwgZGlkbid0IGNoYW5nZS4NCgkJCQlpZiggb3JpZ3llYXJzaHRtbCA9PT0gaW5zdC55ZWFyc2h0bWwgJiYgaW5zdC55ZWFyc2h0bWwgKXsNCgkJCQkJaW5zdC5kcERpdi5maW5kKCJzZWxlY3QudWktZGF0ZXBpY2tlci15ZWFyOmZpcnN0IikucmVwbGFjZVdpdGgoaW5zdC55ZWFyc2h0bWwpOw0KCQkJCX0NCgkJCQlvcmlneWVhcnNodG1sID0gaW5zdC55ZWFyc2h0bWwgPSBudWxsOw0KCQkJfSwgMCk7DQoJCX0NCgl9LA0KDQoJLy8gIzY2OTQgLSBkb24ndCBmb2N1cyB0aGUgaW5wdXQgaWYgaXQncyBhbHJlYWR5IGZvY3VzZWQNCgkvLyB0aGlzIGJyZWFrcyB0aGUgY2hhbmdlIGV2ZW50IGluIElFDQoJLy8gU3VwcG9ydDogSUUgYW5kIGpRdWVyeSA8MS45DQoJX3Nob3VsZEZvY3VzSW5wdXQ6IGZ1bmN0aW9uKCBpbnN0ICkgew0KCQlyZXR1cm4gaW5zdC5pbnB1dCAmJiBpbnN0LmlucHV0LmlzKCAiOnZpc2libGUiICkgJiYgIWluc3QuaW5wdXQuaXMoICI6ZGlzYWJsZWQiICkgJiYgIWluc3QuaW5wdXQuaXMoICI6Zm9jdXMiICk7DQoJfSwNCg0KCS8qIENoZWNrIHBvc2l0aW9uaW5nIHRvIHJlbWFpbiBvbiBzY3JlZW4uICovDQoJX2NoZWNrT2Zmc2V0OiBmdW5jdGlvbihpbnN0LCBvZmZzZXQsIGlzRml4ZWQpIHsNCgkJdmFyIGRwV2lkdGggPSBpbnN0LmRwRGl2Lm91dGVyV2lkdGgoKSwNCgkJCWRwSGVpZ2h0ID0gaW5zdC5kcERpdi5vdXRlckhlaWdodCgpLA0KCQkJaW5wdXRXaWR0aCA9IGluc3QuaW5wdXQgPyBpbnN0LmlucHV0Lm91dGVyV2lkdGgoKSA6IDAsDQoJCQlpbnB1dEhlaWdodCA9IGluc3QuaW5wdXQgPyBpbnN0LmlucHV0Lm91dGVySGVpZ2h0KCkgOiAwLA0KCQkJdmlld1dpZHRoID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoICsgKGlzRml4ZWQgPyAwIDogJChkb2N1bWVudCkuc2Nyb2xsTGVmdCgpKSwNCgkJCXZpZXdIZWlnaHQgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0ICsgKGlzRml4ZWQgPyAwIDogJChkb2N1bWVudCkuc2Nyb2xsVG9wKCkpOw0KDQoJCW9mZnNldC5sZWZ0IC09ICh0aGlzLl9nZXQoaW5zdCwgImlzUlRMIikgPyAoZHBXaWR0aCAtIGlucHV0V2lkdGgpIDogMCk7DQoJCW9mZnNldC5sZWZ0IC09IChpc0ZpeGVkICYmIG9mZnNldC5sZWZ0ID09PSBpbnN0LmlucHV0Lm9mZnNldCgpLmxlZnQpID8gJChkb2N1bWVudCkuc2Nyb2xsTGVmdCgpIDogMDsNCgkJb2Zmc2V0LnRvcCAtPSAoaXNGaXhlZCAmJiBvZmZzZXQudG9wID09PSAoaW5zdC5pbnB1dC5vZmZzZXQoKS50b3AgKyBpbnB1dEhlaWdodCkpID8gJChkb2N1bWVudCkuc2Nyb2xsVG9wKCkgOiAwOw0KDQoJCS8vIG5vdyBjaGVjayBpZiBkYXRlcGlja2VyIGlzIHNob3dpbmcgb3V0c2lkZSB3aW5kb3cgdmlld3BvcnQgLSBtb3ZlIHRvIGEgYmV0dGVyIHBsYWNlIGlmIHNvLg0KCQlvZmZzZXQubGVmdCAtPSBNYXRoLm1pbihvZmZzZXQubGVmdCwgKG9mZnNldC5sZWZ0ICsgZHBXaWR0aCA+IHZpZXdXaWR0aCAmJiB2aWV3V2lkdGggPiBkcFdpZHRoKSA/DQoJCQlNYXRoLmFicyhvZmZzZXQubGVmdCArIGRwV2lkdGggLSB2aWV3V2lkdGgpIDogMCk7DQoJCW9mZnNldC50b3AgLT0gTWF0aC5taW4ob2Zmc2V0LnRvcCwgKG9mZnNldC50b3AgKyBkcEhlaWdodCA+IHZpZXdIZWlnaHQgJiYgdmlld0hlaWdodCA+IGRwSGVpZ2h0KSA/DQoJCQlNYXRoLmFicyhkcEhlaWdodCArIGlucHV0SGVpZ2h0KSA6IDApOw0KDQoJCXJldHVybiBvZmZzZXQ7DQoJfSwNCg0KCS8qIEZpbmQgYW4gb2JqZWN0J3MgcG9zaXRpb24gb24gdGhlIHNjcmVlbi4gKi8NCglfZmluZFBvczogZnVuY3Rpb24ob2JqKSB7DQoJCXZhciBwb3NpdGlvbiwNCgkJCWluc3QgPSB0aGlzLl9nZXRJbnN0KG9iaiksDQoJCQlpc1JUTCA9IHRoaXMuX2dldChpbnN0LCAiaXNSVEwiKTsNCg0KCQl3aGlsZSAob2JqICYmIChvYmoudHlwZSA9PT0gImhpZGRlbiIgfHwgb2JqLm5vZGVUeXBlICE9PSAxIHx8ICQuZXhwci5maWx0ZXJzLmhpZGRlbihvYmopKSkgew0KCQkJb2JqID0gb2JqW2lzUlRMID8gInByZXZpb3VzU2libGluZyIgOiAibmV4dFNpYmxpbmciXTsNCgkJfQ0KDQoJCXBvc2l0aW9uID0gJChvYmopLm9mZnNldCgpOw0KCQlyZXR1cm4gW3Bvc2l0aW9uLmxlZnQsIHBvc2l0aW9uLnRvcF07DQoJfSwNCg0KCS8qIEhpZGUgdGhlIGRhdGUgcGlja2VyIGZyb20gdmlldy4NCgkgKiBAcGFyYW0gIGlucHV0ICBlbGVtZW50IC0gdGhlIGlucHV0IGZpZWxkIGF0dGFjaGVkIHRvIHRoZSBkYXRlIHBpY2tlcg0KCSAqLw0KCV9oaWRlRGF0ZXBpY2tlcjogZnVuY3Rpb24oaW5wdXQpIHsNCgkJdmFyIHNob3dBbmltLCBkdXJhdGlvbiwgcG9zdFByb2Nlc3MsIG9uQ2xvc2UsDQoJCQlpbnN0ID0gdGhpcy5fY3VySW5zdDsNCg0KCQlpZiAoIWluc3QgfHwgKGlucHV0ICYmIGluc3QgIT09ICQuZGF0YShpbnB1dCwgImRhdGVwaWNrZXIiKSkpIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCWlmICh0aGlzLl9kYXRlcGlja2VyU2hvd2luZykgew0KCQkJc2hvd0FuaW0gPSB0aGlzLl9nZXQoaW5zdCwgInNob3dBbmltIik7DQoJCQlkdXJhdGlvbiA9IHRoaXMuX2dldChpbnN0LCAiZHVyYXRpb24iKTsNCgkJCXBvc3RQcm9jZXNzID0gZnVuY3Rpb24oKSB7DQoJCQkJJC5kYXRlcGlja2VyLl90aWR5RGlhbG9nKGluc3QpOw0KCQkJfTsNCg0KCQkJLy8gREVQUkVDQVRFRDogYWZ0ZXIgQkMgZm9yIDEuOC54ICQuZWZmZWN0c1sgc2hvd0FuaW0gXSBpcyBub3QgbmVlZGVkDQoJCQlpZiAoICQuZWZmZWN0cyAmJiAoICQuZWZmZWN0cy5lZmZlY3RbIHNob3dBbmltIF0gfHwgJC5lZmZlY3RzWyBzaG93QW5pbSBdICkgKSB7DQoJCQkJaW5zdC5kcERpdi5oaWRlKHNob3dBbmltLCAkLmRhdGVwaWNrZXIuX2dldChpbnN0LCAic2hvd09wdGlvbnMiKSwgZHVyYXRpb24sIHBvc3RQcm9jZXNzKTsNCgkJCX0gZWxzZSB7DQoJCQkJaW5zdC5kcERpdlsoc2hvd0FuaW0gPT09ICJzbGlkZURvd24iID8gInNsaWRlVXAiIDoNCgkJCQkJKHNob3dBbmltID09PSAiZmFkZUluIiA/ICJmYWRlT3V0IiA6ICJoaWRlIikpXSgoc2hvd0FuaW0gPyBkdXJhdGlvbiA6IG51bGwpLCBwb3N0UHJvY2Vzcyk7DQoJCQl9DQoNCgkJCWlmICghc2hvd0FuaW0pIHsNCgkJCQlwb3N0UHJvY2VzcygpOw0KCQkJfQ0KCQkJdGhpcy5fZGF0ZXBpY2tlclNob3dpbmcgPSBmYWxzZTsNCg0KCQkJb25DbG9zZSA9IHRoaXMuX2dldChpbnN0LCAib25DbG9zZSIpOw0KCQkJaWYgKG9uQ2xvc2UpIHsNCgkJCQlvbkNsb3NlLmFwcGx5KChpbnN0LmlucHV0ID8gaW5zdC5pbnB1dFswXSA6IG51bGwpLCBbKGluc3QuaW5wdXQgPyBpbnN0LmlucHV0LnZhbCgpIDogIiIpLCBpbnN0XSk7DQoJCQl9DQoNCgkJCXRoaXMuX2xhc3RJbnB1dCA9IG51bGw7DQoJCQlpZiAodGhpcy5faW5EaWFsb2cpIHsNCgkJCQl0aGlzLl9kaWFsb2dJbnB1dC5jc3MoeyBwb3NpdGlvbjogImFic29sdXRlIiwgbGVmdDogIjAiLCB0b3A6ICItMTAwcHgiIH0pOw0KCQkJCWlmICgkLmJsb2NrVUkpIHsNCgkJCQkJJC51bmJsb2NrVUkoKTsNCgkJCQkJJCgiYm9keSIpLmFwcGVuZCh0aGlzLmRwRGl2KTsNCgkJCQl9DQoJCQl9DQoJCQl0aGlzLl9pbkRpYWxvZyA9IGZhbHNlOw0KCQl9DQoJfSwNCg0KCS8qIFRpZHkgdXAgYWZ0ZXIgYSBkaWFsb2cgZGlzcGxheS4gKi8NCglfdGlkeURpYWxvZzogZnVuY3Rpb24oaW5zdCkgew0KCQlpbnN0LmRwRGl2LnJlbW92ZUNsYXNzKHRoaXMuX2RpYWxvZ0NsYXNzKS51bmJpbmQoIi51aS1kYXRlcGlja2VyLWNhbGVuZGFyIik7DQoJfSwNCg0KCS8qIENsb3NlIGRhdGUgcGlja2VyIGlmIGNsaWNrZWQgZWxzZXdoZXJlLiAqLw0KCV9jaGVja0V4dGVybmFsQ2xpY2s6IGZ1bmN0aW9uKGV2ZW50KSB7DQoJCWlmICghJC5kYXRlcGlja2VyLl9jdXJJbnN0KSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQl2YXIgJHRhcmdldCA9ICQoZXZlbnQudGFyZ2V0KSwNCgkJCWluc3QgPSAkLmRhdGVwaWNrZXIuX2dldEluc3QoJHRhcmdldFswXSk7DQoNCgkJaWYgKCAoICggJHRhcmdldFswXS5pZCAhPT0gJC5kYXRlcGlja2VyLl9tYWluRGl2SWQgJiYNCgkJCQkkdGFyZ2V0LnBhcmVudHMoIiMiICsgJC5kYXRlcGlja2VyLl9tYWluRGl2SWQpLmxlbmd0aCA9PT0gMCAmJg0KCQkJCSEkdGFyZ2V0Lmhhc0NsYXNzKCQuZGF0ZXBpY2tlci5tYXJrZXJDbGFzc05hbWUpICYmDQoJCQkJISR0YXJnZXQuY2xvc2VzdCgiLiIgKyAkLmRhdGVwaWNrZXIuX3RyaWdnZXJDbGFzcykubGVuZ3RoICYmDQoJCQkJJC5kYXRlcGlja2VyLl9kYXRlcGlja2VyU2hvd2luZyAmJiAhKCQuZGF0ZXBpY2tlci5faW5EaWFsb2cgJiYgJC5ibG9ja1VJKSApICkgfHwNCgkJCSggJHRhcmdldC5oYXNDbGFzcygkLmRhdGVwaWNrZXIubWFya2VyQ2xhc3NOYW1lKSAmJiAkLmRhdGVwaWNrZXIuX2N1ckluc3QgIT09IGluc3QgKSApIHsNCgkJCQkkLmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCk7DQoJCX0NCgl9LA0KDQoJLyogQWRqdXN0IG9uZSBvZiB0aGUgZGF0ZSBzdWItZmllbGRzLiAqLw0KCV9hZGp1c3REYXRlOiBmdW5jdGlvbihpZCwgb2Zmc2V0LCBwZXJpb2QpIHsNCgkJdmFyIHRhcmdldCA9ICQoaWQpLA0KCQkJaW5zdCA9IHRoaXMuX2dldEluc3QodGFyZ2V0WzBdKTsNCg0KCQlpZiAodGhpcy5faXNEaXNhYmxlZERhdGVwaWNrZXIodGFyZ2V0WzBdKSkgew0KCQkJcmV0dXJuOw0KCQl9DQoJCXRoaXMuX2FkanVzdEluc3REYXRlKGluc3QsIG9mZnNldCArDQoJCQkocGVyaW9kID09PSAiTSIgPyB0aGlzLl9nZXQoaW5zdCwgInNob3dDdXJyZW50QXRQb3MiKSA6IDApLCAvLyB1bmRvIHBvc2l0aW9uaW5nDQoJCQlwZXJpb2QpOw0KCQl0aGlzLl91cGRhdGVEYXRlcGlja2VyKGluc3QpOw0KCX0sDQoNCgkvKiBBY3Rpb24gZm9yIGN1cnJlbnQgbGluay4gKi8NCglfZ290b1RvZGF5OiBmdW5jdGlvbihpZCkgew0KCQl2YXIgZGF0ZSwNCgkJCXRhcmdldCA9ICQoaWQpLA0KCQkJaW5zdCA9IHRoaXMuX2dldEluc3QodGFyZ2V0WzBdKTsNCg0KCQlpZiAodGhpcy5fZ2V0KGluc3QsICJnb3RvQ3VycmVudCIpICYmIGluc3QuY3VycmVudERheSkgew0KCQkJaW5zdC5zZWxlY3RlZERheSA9IGluc3QuY3VycmVudERheTsNCgkJCWluc3QuZHJhd01vbnRoID0gaW5zdC5zZWxlY3RlZE1vbnRoID0gaW5zdC5jdXJyZW50TW9udGg7DQoJCQlpbnN0LmRyYXdZZWFyID0gaW5zdC5zZWxlY3RlZFllYXIgPSBpbnN0LmN1cnJlbnRZZWFyOw0KCQl9IGVsc2Ugew0KCQkJZGF0ZSA9IG5ldyBEYXRlKCk7DQoJCQlpbnN0LnNlbGVjdGVkRGF5ID0gZGF0ZS5nZXREYXRlKCk7DQoJCQlpbnN0LmRyYXdNb250aCA9IGluc3Quc2VsZWN0ZWRNb250aCA9IGRhdGUuZ2V0TW9udGgoKTsNCgkJCWluc3QuZHJhd1llYXIgPSBpbnN0LnNlbGVjdGVkWWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKTsNCgkJfQ0KCQl0aGlzLl9ub3RpZnlDaGFuZ2UoaW5zdCk7DQoJCXRoaXMuX2FkanVzdERhdGUodGFyZ2V0KTsNCgl9LA0KDQoJLyogQWN0aW9uIGZvciBzZWxlY3RpbmcgYSBuZXcgbW9udGgveWVhci4gKi8NCglfc2VsZWN0TW9udGhZZWFyOiBmdW5jdGlvbihpZCwgc2VsZWN0LCBwZXJpb2QpIHsNCgkJdmFyIHRhcmdldCA9ICQoaWQpLA0KCQkJaW5zdCA9IHRoaXMuX2dldEluc3QodGFyZ2V0WzBdKTsNCg0KCQlpbnN0WyJzZWxlY3RlZCIgKyAocGVyaW9kID09PSAiTSIgPyAiTW9udGgiIDogIlllYXIiKV0gPQ0KCQlpbnN0WyJkcmF3IiArIChwZXJpb2QgPT09ICJNIiA/ICJNb250aCIgOiAiWWVhciIpXSA9DQoJCQlwYXJzZUludChzZWxlY3Qub3B0aW9uc1tzZWxlY3Quc2VsZWN0ZWRJbmRleF0udmFsdWUsMTApOw0KDQoJCXRoaXMuX25vdGlmeUNoYW5nZShpbnN0KTsNCgkJdGhpcy5fYWRqdXN0RGF0ZSh0YXJnZXQpOw0KCX0sDQoNCgkvKiBBY3Rpb24gZm9yIHNlbGVjdGluZyBhIGRheS4gKi8NCglfc2VsZWN0RGF5OiBmdW5jdGlvbihpZCwgbW9udGgsIHllYXIsIHRkKSB7DQoJCXZhciBpbnN0LA0KCQkJdGFyZ2V0ID0gJChpZCk7DQoNCgkJaWYgKCQodGQpLmhhc0NsYXNzKHRoaXMuX3Vuc2VsZWN0YWJsZUNsYXNzKSB8fCB0aGlzLl9pc0Rpc2FibGVkRGF0ZXBpY2tlcih0YXJnZXRbMF0pKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQlpbnN0ID0gdGhpcy5fZ2V0SW5zdCh0YXJnZXRbMF0pOw0KCQlpbnN0LnNlbGVjdGVkRGF5ID0gaW5zdC5jdXJyZW50RGF5ID0gJCgiYSIsIHRkKS5odG1sKCk7DQoJCWluc3Quc2VsZWN0ZWRNb250aCA9IGluc3QuY3VycmVudE1vbnRoID0gbW9udGg7DQoJCWluc3Quc2VsZWN0ZWRZZWFyID0gaW5zdC5jdXJyZW50WWVhciA9IHllYXI7DQoJCXRoaXMuX3NlbGVjdERhdGUoaWQsIHRoaXMuX2Zvcm1hdERhdGUoaW5zdCwNCgkJCWluc3QuY3VycmVudERheSwgaW5zdC5jdXJyZW50TW9udGgsIGluc3QuY3VycmVudFllYXIpKTsNCgl9LA0KDQoJLyogRXJhc2UgdGhlIGlucHV0IGZpZWxkIGFuZCBoaWRlIHRoZSBkYXRlIHBpY2tlci4gKi8NCglfY2xlYXJEYXRlOiBmdW5jdGlvbihpZCkgew0KCQl2YXIgdGFyZ2V0ID0gJChpZCk7DQoJCXRoaXMuX3NlbGVjdERhdGUodGFyZ2V0LCAiIik7DQoJfSwNCg0KCS8qIFVwZGF0ZSB0aGUgaW5wdXQgZmllbGQgd2l0aCB0aGUgc2VsZWN0ZWQgZGF0ZS4gKi8NCglfc2VsZWN0RGF0ZTogZnVuY3Rpb24oaWQsIGRhdGVTdHIpIHsNCgkJdmFyIG9uU2VsZWN0LA0KCQkJdGFyZ2V0ID0gJChpZCksDQoJCQlpbnN0ID0gdGhpcy5fZ2V0SW5zdCh0YXJnZXRbMF0pOw0KDQoJCWRhdGVTdHIgPSAoZGF0ZVN0ciAhPSBudWxsID8gZGF0ZVN0ciA6IHRoaXMuX2Zvcm1hdERhdGUoaW5zdCkpOw0KCQlpZiAoaW5zdC5pbnB1dCkgew0KCQkJaW5zdC5pbnB1dC52YWwoZGF0ZVN0cik7DQoJCX0NCgkJdGhpcy5fdXBkYXRlQWx0ZXJuYXRlKGluc3QpOw0KDQoJCW9uU2VsZWN0ID0gdGhpcy5fZ2V0KGluc3QsICJvblNlbGVjdCIpOw0KCQlpZiAob25TZWxlY3QpIHsNCgkJCW9uU2VsZWN0LmFwcGx5KChpbnN0LmlucHV0ID8gaW5zdC5pbnB1dFswXSA6IG51bGwpLCBbZGF0ZVN0ciwgaW5zdF0pOyAgLy8gdHJpZ2dlciBjdXN0b20gY2FsbGJhY2sNCgkJfSBlbHNlIGlmIChpbnN0LmlucHV0KSB7DQoJCQlpbnN0LmlucHV0LnRyaWdnZXIoImNoYW5nZSIpOyAvLyBmaXJlIHRoZSBjaGFuZ2UgZXZlbnQNCgkJfQ0KDQoJCWlmIChpbnN0LmlubGluZSl7DQoJCQl0aGlzLl91cGRhdGVEYXRlcGlja2VyKGluc3QpOw0KCQl9IGVsc2Ugew0KCQkJdGhpcy5faGlkZURhdGVwaWNrZXIoKTsNCgkJCXRoaXMuX2xhc3RJbnB1dCA9IGluc3QuaW5wdXRbMF07DQoJCQlpZiAodHlwZW9mKGluc3QuaW5wdXRbMF0pICE9PSAib2JqZWN0Iikgew0KCQkJCWluc3QuaW5wdXQuZm9jdXMoKTsgLy8gcmVzdG9yZSBmb2N1cw0KCQkJfQ0KCQkJdGhpcy5fbGFzdElucHV0ID0gbnVsbDsNCgkJfQ0KCX0sDQoNCgkvKiBVcGRhdGUgYW55IGFsdGVybmF0ZSBmaWVsZCB0byBzeW5jaHJvbmlzZSB3aXRoIHRoZSBtYWluIGZpZWxkLiAqLw0KCV91cGRhdGVBbHRlcm5hdGU6IGZ1bmN0aW9uKGluc3QpIHsNCgkJdmFyIGFsdEZvcm1hdCwgZGF0ZSwgZGF0ZVN0ciwNCgkJCWFsdEZpZWxkID0gdGhpcy5fZ2V0KGluc3QsICJhbHRGaWVsZCIpOw0KDQoJCWlmIChhbHRGaWVsZCkgeyAvLyB1cGRhdGUgYWx0ZXJuYXRlIGZpZWxkIHRvbw0KCQkJYWx0Rm9ybWF0ID0gdGhpcy5fZ2V0KGluc3QsICJhbHRGb3JtYXQiKSB8fCB0aGlzLl9nZXQoaW5zdCwgImRhdGVGb3JtYXQiKTsNCgkJCWRhdGUgPSB0aGlzLl9nZXREYXRlKGluc3QpOw0KCQkJZGF0ZVN0ciA9IHRoaXMuZm9ybWF0RGF0ZShhbHRGb3JtYXQsIGRhdGUsIHRoaXMuX2dldEZvcm1hdENvbmZpZyhpbnN0KSk7DQoJCQkkKGFsdEZpZWxkKS5lYWNoKGZ1bmN0aW9uKCkgeyAkKHRoaXMpLnZhbChkYXRlU3RyKTsgfSk7DQoJCX0NCgl9LA0KDQoJLyogU2V0IGFzIGJlZm9yZVNob3dEYXkgZnVuY3Rpb24gdG8gcHJldmVudCBzZWxlY3Rpb24gb2Ygd2Vla2VuZHMuDQoJICogQHBhcmFtICBkYXRlICBEYXRlIC0gdGhlIGRhdGUgdG8gY3VzdG9taXNlDQoJICogQHJldHVybiBbYm9vbGVhbiwgc3RyaW5nXSAtIGlzIHRoaXMgZGF0ZSBzZWxlY3RhYmxlPywgd2hhdCBpcyBpdHMgQ1NTIGNsYXNzPw0KCSAqLw0KCW5vV2Vla2VuZHM6IGZ1bmN0aW9uKGRhdGUpIHsNCgkJdmFyIGRheSA9IGRhdGUuZ2V0RGF5KCk7DQoJCXJldHVybiBbKGRheSA+IDAgJiYgZGF5IDwgNiksICIiXTsNCgl9LA0KDQoJLyogU2V0IGFzIGNhbGN1bGF0ZVdlZWsgdG8gZGV0ZXJtaW5lIHRoZSB3ZWVrIG9mIHRoZSB5ZWFyIGJhc2VkIG9uIHRoZSBJU08gODYwMSBkZWZpbml0aW9uLg0KCSAqIEBwYXJhbSAgZGF0ZSAgRGF0ZSAtIHRoZSBkYXRlIHRvIGdldCB0aGUgd2VlayBmb3INCgkgKiBAcmV0dXJuICBudW1iZXIgLSB0aGUgbnVtYmVyIG9mIHRoZSB3ZWVrIHdpdGhpbiB0aGUgeWVhciB0aGF0IGNvbnRhaW5zIHRoaXMgZGF0ZQ0KCSAqLw0KCWlzbzg2MDFXZWVrOiBmdW5jdGlvbihkYXRlKSB7DQoJCXZhciB0aW1lLA0KCQkJY2hlY2tEYXRlID0gbmV3IERhdGUoZGF0ZS5nZXRUaW1lKCkpOw0KDQoJCS8vIEZpbmQgVGh1cnNkYXkgb2YgdGhpcyB3ZWVrIHN0YXJ0aW5nIG9uIE1vbmRheQ0KCQljaGVja0RhdGUuc2V0RGF0ZShjaGVja0RhdGUuZ2V0RGF0ZSgpICsgNCAtIChjaGVja0RhdGUuZ2V0RGF5KCkgfHwgNykpOw0KDQoJCXRpbWUgPSBjaGVja0RhdGUuZ2V0VGltZSgpOw0KCQljaGVja0RhdGUuc2V0TW9udGgoMCk7IC8vIENvbXBhcmUgd2l0aCBKYW4gMQ0KCQljaGVja0RhdGUuc2V0RGF0ZSgxKTsNCgkJcmV0dXJuIE1hdGguZmxvb3IoTWF0aC5yb3VuZCgodGltZSAtIGNoZWNrRGF0ZSkgLyA4NjQwMDAwMCkgLyA3KSArIDE7DQoJfSwNCg0KCS8qIFBhcnNlIGEgc3RyaW5nIHZhbHVlIGludG8gYSBkYXRlIG9iamVjdC4NCgkgKiBTZWUgZm9ybWF0RGF0ZSBiZWxvdyBmb3IgdGhlIHBvc3NpYmxlIGZvcm1hdHMuDQoJICoNCgkgKiBAcGFyYW0gIGZvcm1hdCBzdHJpbmcgLSB0aGUgZXhwZWN0ZWQgZm9ybWF0IG9mIHRoZSBkYXRlDQoJICogQHBhcmFtICB2YWx1ZSBzdHJpbmcgLSB0aGUgZGF0ZSBpbiB0aGUgYWJvdmUgZm9ybWF0DQoJICogQHBhcmFtICBzZXR0aW5ncyBPYmplY3QgLSBhdHRyaWJ1dGVzIGluY2x1ZGU6DQoJICoJCQkJCXNob3J0WWVhckN1dG9mZiAgbnVtYmVyIC0gdGhlIGN1dG9mZiB5ZWFyIGZvciBkZXRlcm1pbmluZyB0aGUgY2VudHVyeSAob3B0aW9uYWwpDQoJICoJCQkJCWRheU5hbWVzU2hvcnQJc3RyaW5nWzddIC0gYWJicmV2aWF0ZWQgbmFtZXMgb2YgdGhlIGRheXMgZnJvbSBTdW5kYXkgKG9wdGlvbmFsKQ0KCSAqCQkJCQlkYXlOYW1lcwkJc3RyaW5nWzddIC0gbmFtZXMgb2YgdGhlIGRheXMgZnJvbSBTdW5kYXkgKG9wdGlvbmFsKQ0KCSAqCQkJCQltb250aE5hbWVzU2hvcnQgc3RyaW5nWzEyXSAtIGFiYnJldmlhdGVkIG5hbWVzIG9mIHRoZSBtb250aHMgKG9wdGlvbmFsKQ0KCSAqCQkJCQltb250aE5hbWVzCQlzdHJpbmdbMTJdIC0gbmFtZXMgb2YgdGhlIG1vbnRocyAob3B0aW9uYWwpDQoJICogQHJldHVybiAgRGF0ZSAtIHRoZSBleHRyYWN0ZWQgZGF0ZSB2YWx1ZSBvciBudWxsIGlmIHZhbHVlIGlzIGJsYW5rDQoJICovDQoJcGFyc2VEYXRlOiBmdW5jdGlvbiAoZm9ybWF0LCB2YWx1ZSwgc2V0dGluZ3MpIHsNCgkJaWYgKGZvcm1hdCA9PSBudWxsIHx8IHZhbHVlID09IG51bGwpIHsNCgkJCXRocm93ICJJbnZhbGlkIGFyZ3VtZW50cyI7DQoJCX0NCg0KCQl2YWx1ZSA9ICh0eXBlb2YgdmFsdWUgPT09ICJvYmplY3QiID8gdmFsdWUudG9TdHJpbmcoKSA6IHZhbHVlICsgIiIpOw0KCQlpZiAodmFsdWUgPT09ICIiKSB7DQoJCQlyZXR1cm4gbnVsbDsNCgkJfQ0KDQoJCXZhciBpRm9ybWF0LCBkaW0sIGV4dHJhLA0KCQkJaVZhbHVlID0gMCwNCgkJCXNob3J0WWVhckN1dG9mZlRlbXAgPSAoc2V0dGluZ3MgPyBzZXR0aW5ncy5zaG9ydFllYXJDdXRvZmYgOiBudWxsKSB8fCB0aGlzLl9kZWZhdWx0cy5zaG9ydFllYXJDdXRvZmYsDQoJCQlzaG9ydFllYXJDdXRvZmYgPSAodHlwZW9mIHNob3J0WWVhckN1dG9mZlRlbXAgIT09ICJzdHJpbmciID8gc2hvcnRZZWFyQ3V0b2ZmVGVtcCA6DQoJCQkJbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpICUgMTAwICsgcGFyc2VJbnQoc2hvcnRZZWFyQ3V0b2ZmVGVtcCwgMTApKSwNCgkJCWRheU5hbWVzU2hvcnQgPSAoc2V0dGluZ3MgPyBzZXR0aW5ncy5kYXlOYW1lc1Nob3J0IDogbnVsbCkgfHwgdGhpcy5fZGVmYXVsdHMuZGF5TmFtZXNTaG9ydCwNCgkJCWRheU5hbWVzID0gKHNldHRpbmdzID8gc2V0dGluZ3MuZGF5TmFtZXMgOiBudWxsKSB8fCB0aGlzLl9kZWZhdWx0cy5kYXlOYW1lcywNCgkJCW1vbnRoTmFtZXNTaG9ydCA9IChzZXR0aW5ncyA/IHNldHRpbmdzLm1vbnRoTmFtZXNTaG9ydCA6IG51bGwpIHx8IHRoaXMuX2RlZmF1bHRzLm1vbnRoTmFtZXNTaG9ydCwNCgkJCW1vbnRoTmFtZXMgPSAoc2V0dGluZ3MgPyBzZXR0aW5ncy5tb250aE5hbWVzIDogbnVsbCkgfHwgdGhpcy5fZGVmYXVsdHMubW9udGhOYW1lcywNCgkJCXllYXIgPSAtMSwNCgkJCW1vbnRoID0gLTEsDQoJCQlkYXkgPSAtMSwNCgkJCWRveSA9IC0xLA0KCQkJbGl0ZXJhbCA9IGZhbHNlLA0KCQkJZGF0ZSwNCgkJCS8vIENoZWNrIHdoZXRoZXIgYSBmb3JtYXQgY2hhcmFjdGVyIGlzIGRvdWJsZWQNCgkJCWxvb2tBaGVhZCA9IGZ1bmN0aW9uKG1hdGNoKSB7DQoJCQkJdmFyIG1hdGNoZXMgPSAoaUZvcm1hdCArIDEgPCBmb3JtYXQubGVuZ3RoICYmIGZvcm1hdC5jaGFyQXQoaUZvcm1hdCArIDEpID09PSBtYXRjaCk7DQoJCQkJaWYgKG1hdGNoZXMpIHsNCgkJCQkJaUZvcm1hdCsrOw0KCQkJCX0NCgkJCQlyZXR1cm4gbWF0Y2hlczsNCgkJCX0sDQoJCQkvLyBFeHRyYWN0IGEgbnVtYmVyIGZyb20gdGhlIHN0cmluZyB2YWx1ZQ0KCQkJZ2V0TnVtYmVyID0gZnVuY3Rpb24obWF0Y2gpIHsNCgkJCQl2YXIgaXNEb3VibGVkID0gbG9va0FoZWFkKG1hdGNoKSwNCgkJCQkJc2l6ZSA9IChtYXRjaCA9PT0gIkAiID8gMTQgOiAobWF0Y2ggPT09ICIhIiA/IDIwIDoNCgkJCQkJKG1hdGNoID09PSAieSIgJiYgaXNEb3VibGVkID8gNCA6IChtYXRjaCA9PT0gIm8iID8gMyA6IDIpKSkpLA0KCQkJCQltaW5TaXplID0gKG1hdGNoID09PSAieSIgPyBzaXplIDogMSksDQoJCQkJCWRpZ2l0cyA9IG5ldyBSZWdFeHAoIl5cXGR7IiArIG1pblNpemUgKyAiLCIgKyBzaXplICsgIn0iKSwNCgkJCQkJbnVtID0gdmFsdWUuc3Vic3RyaW5nKGlWYWx1ZSkubWF0Y2goZGlnaXRzKTsNCgkJCQlpZiAoIW51bSkgew0KCQkJCQl0aHJvdyAiTWlzc2luZyBudW1iZXIgYXQgcG9zaXRpb24gIiArIGlWYWx1ZTsNCgkJCQl9DQoJCQkJaVZhbHVlICs9IG51bVswXS5sZW5ndGg7DQoJCQkJcmV0dXJuIHBhcnNlSW50KG51bVswXSwgMTApOw0KCQkJfSwNCgkJCS8vIEV4dHJhY3QgYSBuYW1lIGZyb20gdGhlIHN0cmluZyB2YWx1ZSBhbmQgY29udmVydCB0byBhbiBpbmRleA0KCQkJZ2V0TmFtZSA9IGZ1bmN0aW9uKG1hdGNoLCBzaG9ydE5hbWVzLCBsb25nTmFtZXMpIHsNCgkJCQl2YXIgaW5kZXggPSAtMSwNCgkJCQkJbmFtZXMgPSAkLm1hcChsb29rQWhlYWQobWF0Y2gpID8gbG9uZ05hbWVzIDogc2hvcnROYW1lcywgZnVuY3Rpb24gKHYsIGspIHsNCgkJCQkJCXJldHVybiBbIFtrLCB2XSBdOw0KCQkJCQl9KS5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7DQoJCQkJCQlyZXR1cm4gLShhWzFdLmxlbmd0aCAtIGJbMV0ubGVuZ3RoKTsNCgkJCQkJfSk7DQoNCgkJCQkkLmVhY2gobmFtZXMsIGZ1bmN0aW9uIChpLCBwYWlyKSB7DQoJCQkJCXZhciBuYW1lID0gcGFpclsxXTsNCgkJCQkJaWYgKHZhbHVlLnN1YnN0cihpVmFsdWUsIG5hbWUubGVuZ3RoKS50b0xvd2VyQ2FzZSgpID09PSBuYW1lLnRvTG93ZXJDYXNlKCkpIHsNCgkJCQkJCWluZGV4ID0gcGFpclswXTsNCgkJCQkJCWlWYWx1ZSArPSBuYW1lLmxlbmd0aDsNCgkJCQkJCXJldHVybiBmYWxzZTsNCgkJCQkJfQ0KCQkJCX0pOw0KCQkJCWlmIChpbmRleCAhPT0gLTEpIHsNCgkJCQkJcmV0dXJuIGluZGV4ICsgMTsNCgkJCQl9IGVsc2Ugew0KCQkJCQl0aHJvdyAiVW5rbm93biBuYW1lIGF0IHBvc2l0aW9uICIgKyBpVmFsdWU7DQoJCQkJfQ0KCQkJfSwNCgkJCS8vIENvbmZpcm0gdGhhdCBhIGxpdGVyYWwgY2hhcmFjdGVyIG1hdGNoZXMgdGhlIHN0cmluZyB2YWx1ZQ0KCQkJY2hlY2tMaXRlcmFsID0gZnVuY3Rpb24oKSB7DQoJCQkJaWYgKHZhbHVlLmNoYXJBdChpVmFsdWUpICE9PSBmb3JtYXQuY2hhckF0KGlGb3JtYXQpKSB7DQoJCQkJCXRocm93ICJVbmV4cGVjdGVkIGxpdGVyYWwgYXQgcG9zaXRpb24gIiArIGlWYWx1ZTsNCgkJCQl9DQoJCQkJaVZhbHVlKys7DQoJCQl9Ow0KDQoJCWZvciAoaUZvcm1hdCA9IDA7IGlGb3JtYXQgPCBmb3JtYXQubGVuZ3RoOyBpRm9ybWF0KyspIHsNCgkJCWlmIChsaXRlcmFsKSB7DQoJCQkJaWYgKGZvcm1hdC5jaGFyQXQoaUZvcm1hdCkgPT09ICInIiAmJiAhbG9va0FoZWFkKCInIikpIHsNCgkJCQkJbGl0ZXJhbCA9IGZhbHNlOw0KCQkJCX0gZWxzZSB7DQoJCQkJCWNoZWNrTGl0ZXJhbCgpOw0KCQkJCX0NCgkJCX0gZWxzZSB7DQoJCQkJc3dpdGNoIChmb3JtYXQuY2hhckF0KGlGb3JtYXQpKSB7DQoJCQkJCWNhc2UgImQiOg0KCQkJCQkJZGF5ID0gZ2V0TnVtYmVyKCJkIik7DQoJCQkJCQlicmVhazsNCgkJCQkJY2FzZSAiRCI6DQoJCQkJCQlnZXROYW1lKCJEIiwgZGF5TmFtZXNTaG9ydCwgZGF5TmFtZXMpOw0KCQkJCQkJYnJlYWs7DQoJCQkJCWNhc2UgIm8iOg0KCQkJCQkJZG95ID0gZ2V0TnVtYmVyKCJvIik7DQoJCQkJCQlicmVhazsNCgkJCQkJY2FzZSAibSI6DQoJCQkJCQltb250aCA9IGdldE51bWJlcigibSIpOw0KCQkJCQkJYnJlYWs7DQoJCQkJCWNhc2UgIk0iOg0KCQkJCQkJbW9udGggPSBnZXROYW1lKCJNIiwgbW9udGhOYW1lc1Nob3J0LCBtb250aE5hbWVzKTsNCgkJCQkJCWJyZWFrOw0KCQkJCQljYXNlICJ5IjoNCgkJCQkJCXllYXIgPSBnZXROdW1iZXIoInkiKTsNCgkJCQkJCWJyZWFrOw0KCQkJCQljYXNlICJAIjoNCgkJCQkJCWRhdGUgPSBuZXcgRGF0ZShnZXROdW1iZXIoIkAiKSk7DQoJCQkJCQl5ZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpOw0KCQkJCQkJbW9udGggPSBkYXRlLmdldE1vbnRoKCkgKyAxOw0KCQkJCQkJZGF5ID0gZGF0ZS5nZXREYXRlKCk7DQoJCQkJCQlicmVhazsNCgkJCQkJY2FzZSAiISI6DQoJCQkJCQlkYXRlID0gbmV3IERhdGUoKGdldE51bWJlcigiISIpIC0gdGhpcy5fdGlja3NUbzE5NzApIC8gMTAwMDApOw0KCQkJCQkJeWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKTsNCgkJCQkJCW1vbnRoID0gZGF0ZS5nZXRNb250aCgpICsgMTsNCgkJCQkJCWRheSA9IGRhdGUuZ2V0RGF0ZSgpOw0KCQkJCQkJYnJlYWs7DQoJCQkJCWNhc2UgIiciOg0KCQkJCQkJaWYgKGxvb2tBaGVhZCgiJyIpKXsNCgkJCQkJCQljaGVja0xpdGVyYWwoKTsNCgkJCQkJCX0gZWxzZSB7DQoJCQkJCQkJbGl0ZXJhbCA9IHRydWU7DQoJCQkJCQl9DQoJCQkJCQlicmVhazsNCgkJCQkJZGVmYXVsdDoNCgkJCQkJCWNoZWNrTGl0ZXJhbCgpOw0KCQkJCX0NCgkJCX0NCgkJfQ0KDQoJCWlmIChpVmFsdWUgPCB2YWx1ZS5sZW5ndGgpew0KCQkJZXh0cmEgPSB2YWx1ZS5zdWJzdHIoaVZhbHVlKTsNCgkJCWlmICghL15ccysvLnRlc3QoZXh0cmEpKSB7DQoJCQkJdGhyb3cgIkV4dHJhL3VucGFyc2VkIGNoYXJhY3RlcnMgZm91bmQgaW4gZGF0ZTogIiArIGV4dHJhOw0KCQkJfQ0KCQl9DQoNCgkJaWYgKHllYXIgPT09IC0xKSB7DQoJCQl5ZWFyID0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpOw0KCQl9IGVsc2UgaWYgKHllYXIgPCAxMDApIHsNCgkJCXllYXIgKz0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpIC0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpICUgMTAwICsNCgkJCQkoeWVhciA8PSBzaG9ydFllYXJDdXRvZmYgPyAwIDogLTEwMCk7DQoJCX0NCg0KCQlpZiAoZG95ID4gLTEpIHsNCgkJCW1vbnRoID0gMTsNCgkJCWRheSA9IGRveTsNCgkJCWRvIHsNCgkJCQlkaW0gPSB0aGlzLl9nZXREYXlzSW5Nb250aCh5ZWFyLCBtb250aCAtIDEpOw0KCQkJCWlmIChkYXkgPD0gZGltKSB7DQoJCQkJCWJyZWFrOw0KCQkJCX0NCgkJCQltb250aCsrOw0KCQkJCWRheSAtPSBkaW07DQoJCQl9IHdoaWxlICh0cnVlKTsNCgkJfQ0KDQoJCWRhdGUgPSB0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZSh5ZWFyLCBtb250aCAtIDEsIGRheSkpOw0KCQlpZiAoZGF0ZS5nZXRGdWxsWWVhcigpICE9PSB5ZWFyIHx8IGRhdGUuZ2V0TW9udGgoKSArIDEgIT09IG1vbnRoIHx8IGRhdGUuZ2V0RGF0ZSgpICE9PSBkYXkpIHsNCgkJCXRocm93ICJJbnZhbGlkIGRhdGUiOyAvLyBFLmcuIDMxLzAyLzAwDQoJCX0NCgkJcmV0dXJuIGRhdGU7DQoJfSwNCg0KCS8qIFN0YW5kYXJkIGRhdGUgZm9ybWF0cy4gKi8NCglBVE9NOiAieXktbW0tZGQiLCAvLyBSRkMgMzMzOSAoSVNPIDg2MDEpDQoJQ09PS0lFOiAiRCwgZGQgTSB5eSIsDQoJSVNPXzg2MDE6ICJ5eS1tbS1kZCIsDQoJUkZDXzgyMjogIkQsIGQgTSB5IiwNCglSRkNfODUwOiAiREQsIGRkLU0teSIsDQoJUkZDXzEwMzY6ICJELCBkIE0geSIsDQoJUkZDXzExMjM6ICJELCBkIE0geXkiLA0KCVJGQ18yODIyOiAiRCwgZCBNIHl5IiwNCglSU1M6ICJELCBkIE0geSIsIC8vIFJGQyA4MjINCglUSUNLUzogIiEiLA0KCVRJTUVTVEFNUDogIkAiLA0KCVczQzogInl5LW1tLWRkIiwgLy8gSVNPIDg2MDENCg0KCV90aWNrc1RvMTk3MDogKCgoMTk3MCAtIDEpICogMzY1ICsgTWF0aC5mbG9vcigxOTcwIC8gNCkgLSBNYXRoLmZsb29yKDE5NzAgLyAxMDApICsNCgkJTWF0aC5mbG9vcigxOTcwIC8gNDAwKSkgKiAyNCAqIDYwICogNjAgKiAxMDAwMDAwMCksDQoNCgkvKiBGb3JtYXQgYSBkYXRlIG9iamVjdCBpbnRvIGEgc3RyaW5nIHZhbHVlLg0KCSAqIFRoZSBmb3JtYXQgY2FuIGJlIGNvbWJpbmF0aW9ucyBvZiB0aGUgZm9sbG93aW5nOg0KCSAqIGQgIC0gZGF5IG9mIG1vbnRoIChubyBsZWFkaW5nIHplcm8pDQoJICogZGQgLSBkYXkgb2YgbW9udGggKHR3byBkaWdpdCkNCgkgKiBvICAtIGRheSBvZiB5ZWFyIChubyBsZWFkaW5nIHplcm9zKQ0KCSAqIG9vIC0gZGF5IG9mIHllYXIgKHRocmVlIGRpZ2l0KQ0KCSAqIEQgIC0gZGF5IG5hbWUgc2hvcnQNCgkgKiBERCAtIGRheSBuYW1lIGxvbmcNCgkgKiBtICAtIG1vbnRoIG9mIHllYXIgKG5vIGxlYWRpbmcgemVybykNCgkgKiBtbSAtIG1vbnRoIG9mIHllYXIgKHR3byBkaWdpdCkNCgkgKiBNICAtIG1vbnRoIG5hbWUgc2hvcnQNCgkgKiBNTSAtIG1vbnRoIG5hbWUgbG9uZw0KCSAqIHkgIC0geWVhciAodHdvIGRpZ2l0KQ0KCSAqIHl5IC0geWVhciAoZm91ciBkaWdpdCkNCgkgKiBAIC0gVW5peCB0aW1lc3RhbXAgKG1zIHNpbmNlIDAxLzAxLzE5NzApDQoJICogISAtIFdpbmRvd3MgdGlja3MgKDEwMG5zIHNpbmNlIDAxLzAxLzAwMDEpDQoJICogIi4uLiIgLSBsaXRlcmFsIHRleHQNCgkgKiAnJyAtIHNpbmdsZSBxdW90ZQ0KCSAqDQoJICogQHBhcmFtICBmb3JtYXQgc3RyaW5nIC0gdGhlIGRlc2lyZWQgZm9ybWF0IG9mIHRoZSBkYXRlDQoJICogQHBhcmFtICBkYXRlIERhdGUgLSB0aGUgZGF0ZSB2YWx1ZSB0byBmb3JtYXQNCgkgKiBAcGFyYW0gIHNldHRpbmdzIE9iamVjdCAtIGF0dHJpYnV0ZXMgaW5jbHVkZToNCgkgKgkJCQkJZGF5TmFtZXNTaG9ydAlzdHJpbmdbN10gLSBhYmJyZXZpYXRlZCBuYW1lcyBvZiB0aGUgZGF5cyBmcm9tIFN1bmRheSAob3B0aW9uYWwpDQoJICoJCQkJCWRheU5hbWVzCQlzdHJpbmdbN10gLSBuYW1lcyBvZiB0aGUgZGF5cyBmcm9tIFN1bmRheSAob3B0aW9uYWwpDQoJICoJCQkJCW1vbnRoTmFtZXNTaG9ydCBzdHJpbmdbMTJdIC0gYWJicmV2aWF0ZWQgbmFtZXMgb2YgdGhlIG1vbnRocyAob3B0aW9uYWwpDQoJICoJCQkJCW1vbnRoTmFtZXMJCXN0cmluZ1sxMl0gLSBuYW1lcyBvZiB0aGUgbW9udGhzIChvcHRpb25hbCkNCgkgKiBAcmV0dXJuICBzdHJpbmcgLSB0aGUgZGF0ZSBpbiB0aGUgYWJvdmUgZm9ybWF0DQoJICovDQoJZm9ybWF0RGF0ZTogZnVuY3Rpb24gKGZvcm1hdCwgZGF0ZSwgc2V0dGluZ3MpIHsNCgkJaWYgKCFkYXRlKSB7DQoJCQlyZXR1cm4gIiI7DQoJCX0NCg0KCQl2YXIgaUZvcm1hdCwNCgkJCWRheU5hbWVzU2hvcnQgPSAoc2V0dGluZ3MgPyBzZXR0aW5ncy5kYXlOYW1lc1Nob3J0IDogbnVsbCkgfHwgdGhpcy5fZGVmYXVsdHMuZGF5TmFtZXNTaG9ydCwNCgkJCWRheU5hbWVzID0gKHNldHRpbmdzID8gc2V0dGluZ3MuZGF5TmFtZXMgOiBudWxsKSB8fCB0aGlzLl9kZWZhdWx0cy5kYXlOYW1lcywNCgkJCW1vbnRoTmFtZXNTaG9ydCA9IChzZXR0aW5ncyA/IHNldHRpbmdzLm1vbnRoTmFtZXNTaG9ydCA6IG51bGwpIHx8IHRoaXMuX2RlZmF1bHRzLm1vbnRoTmFtZXNTaG9ydCwNCgkJCW1vbnRoTmFtZXMgPSAoc2V0dGluZ3MgPyBzZXR0aW5ncy5tb250aE5hbWVzIDogbnVsbCkgfHwgdGhpcy5fZGVmYXVsdHMubW9udGhOYW1lcywNCgkJCS8vIENoZWNrIHdoZXRoZXIgYSBmb3JtYXQgY2hhcmFjdGVyIGlzIGRvdWJsZWQNCgkJCWxvb2tBaGVhZCA9IGZ1bmN0aW9uKG1hdGNoKSB7DQoJCQkJdmFyIG1hdGNoZXMgPSAoaUZvcm1hdCArIDEgPCBmb3JtYXQubGVuZ3RoICYmIGZvcm1hdC5jaGFyQXQoaUZvcm1hdCArIDEpID09PSBtYXRjaCk7DQoJCQkJaWYgKG1hdGNoZXMpIHsNCgkJCQkJaUZvcm1hdCsrOw0KCQkJCX0NCgkJCQlyZXR1cm4gbWF0Y2hlczsNCgkJCX0sDQoJCQkvLyBGb3JtYXQgYSBudW1iZXIsIHdpdGggbGVhZGluZyB6ZXJvIGlmIG5lY2Vzc2FyeQ0KCQkJZm9ybWF0TnVtYmVyID0gZnVuY3Rpb24obWF0Y2gsIHZhbHVlLCBsZW4pIHsNCgkJCQl2YXIgbnVtID0gIiIgKyB2YWx1ZTsNCgkJCQlpZiAobG9va0FoZWFkKG1hdGNoKSkgew0KCQkJCQl3aGlsZSAobnVtLmxlbmd0aCA8IGxlbikgew0KCQkJCQkJbnVtID0gIjAiICsgbnVtOw0KCQkJCQl9DQoJCQkJfQ0KCQkJCXJldHVybiBudW07DQoJCQl9LA0KCQkJLy8gRm9ybWF0IGEgbmFtZSwgc2hvcnQgb3IgbG9uZyBhcyByZXF1ZXN0ZWQNCgkJCWZvcm1hdE5hbWUgPSBmdW5jdGlvbihtYXRjaCwgdmFsdWUsIHNob3J0TmFtZXMsIGxvbmdOYW1lcykgew0KCQkJCXJldHVybiAobG9va0FoZWFkKG1hdGNoKSA/IGxvbmdOYW1lc1t2YWx1ZV0gOiBzaG9ydE5hbWVzW3ZhbHVlXSk7DQoJCQl9LA0KCQkJb3V0cHV0ID0gIiIsDQoJCQlsaXRlcmFsID0gZmFsc2U7DQoNCgkJaWYgKGRhdGUpIHsNCgkJCWZvciAoaUZvcm1hdCA9IDA7IGlGb3JtYXQgPCBmb3JtYXQubGVuZ3RoOyBpRm9ybWF0KyspIHsNCgkJCQlpZiAobGl0ZXJhbCkgew0KCQkJCQlpZiAoZm9ybWF0LmNoYXJBdChpRm9ybWF0KSA9PT0gIiciICYmICFsb29rQWhlYWQoIiciKSkgew0KCQkJCQkJbGl0ZXJhbCA9IGZhbHNlOw0KCQkJCQl9IGVsc2Ugew0KCQkJCQkJb3V0cHV0ICs9IGZvcm1hdC5jaGFyQXQoaUZvcm1hdCk7DQoJCQkJCX0NCgkJCQl9IGVsc2Ugew0KCQkJCQlzd2l0Y2ggKGZvcm1hdC5jaGFyQXQoaUZvcm1hdCkpIHsNCgkJCQkJCWNhc2UgImQiOg0KCQkJCQkJCW91dHB1dCArPSBmb3JtYXROdW1iZXIoImQiLCBkYXRlLmdldERhdGUoKSwgMik7DQoJCQkJCQkJYnJlYWs7DQoJCQkJCQljYXNlICJEIjoNCgkJCQkJCQlvdXRwdXQgKz0gZm9ybWF0TmFtZSgiRCIsIGRhdGUuZ2V0RGF5KCksIGRheU5hbWVzU2hvcnQsIGRheU5hbWVzKTsNCgkJCQkJCQlicmVhazsNCgkJCQkJCWNhc2UgIm8iOg0KCQkJCQkJCW91dHB1dCArPSBmb3JtYXROdW1iZXIoIm8iLA0KCQkJCQkJCQlNYXRoLnJvdW5kKChuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgZGF0ZS5nZXREYXRlKCkpLmdldFRpbWUoKSAtIG5ldyBEYXRlKGRhdGUuZ2V0RnVsbFllYXIoKSwgMCwgMCkuZ2V0VGltZSgpKSAvIDg2NDAwMDAwKSwgMyk7DQoJCQkJCQkJYnJlYWs7DQoJCQkJCQljYXNlICJtIjoNCgkJCQkJCQlvdXRwdXQgKz0gZm9ybWF0TnVtYmVyKCJtIiwgZGF0ZS5nZXRNb250aCgpICsgMSwgMik7DQoJCQkJCQkJYnJlYWs7DQoJCQkJCQljYXNlICJNIjoNCgkJCQkJCQlvdXRwdXQgKz0gZm9ybWF0TmFtZSgiTSIsIGRhdGUuZ2V0TW9udGgoKSwgbW9udGhOYW1lc1Nob3J0LCBtb250aE5hbWVzKTsNCgkJCQkJCQlicmVhazsNCgkJCQkJCWNhc2UgInkiOg0KCQkJCQkJCW91dHB1dCArPSAobG9va0FoZWFkKCJ5IikgPyBkYXRlLmdldEZ1bGxZZWFyKCkgOg0KCQkJCQkJCQkoZGF0ZS5nZXRZZWFyKCkgJSAxMDAgPCAxMCA/ICIwIiA6ICIiKSArIGRhdGUuZ2V0WWVhcigpICUgMTAwKTsNCgkJCQkJCQlicmVhazsNCgkJCQkJCWNhc2UgIkAiOg0KCQkJCQkJCW91dHB1dCArPSBkYXRlLmdldFRpbWUoKTsNCgkJCQkJCQlicmVhazsNCgkJCQkJCWNhc2UgIiEiOg0KCQkJCQkJCW91dHB1dCArPSBkYXRlLmdldFRpbWUoKSAqIDEwMDAwICsgdGhpcy5fdGlja3NUbzE5NzA7DQoJCQkJCQkJYnJlYWs7DQoJCQkJCQljYXNlICInIjoNCgkJCQkJCQlpZiAobG9va0FoZWFkKCInIikpIHsNCgkJCQkJCQkJb3V0cHV0ICs9ICInIjsNCgkJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCQlsaXRlcmFsID0gdHJ1ZTsNCgkJCQkJCQl9DQoJCQkJCQkJYnJlYWs7DQoJCQkJCQlkZWZhdWx0Og0KCQkJCQkJCW91dHB1dCArPSBmb3JtYXQuY2hhckF0KGlGb3JtYXQpOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJCXJldHVybiBvdXRwdXQ7DQoJfSwNCg0KCS8qIEV4dHJhY3QgYWxsIHBvc3NpYmxlIGNoYXJhY3RlcnMgZnJvbSB0aGUgZGF0ZSBmb3JtYXQuICovDQoJX3Bvc3NpYmxlQ2hhcnM6IGZ1bmN0aW9uIChmb3JtYXQpIHsNCgkJdmFyIGlGb3JtYXQsDQoJCQljaGFycyA9ICIiLA0KCQkJbGl0ZXJhbCA9IGZhbHNlLA0KCQkJLy8gQ2hlY2sgd2hldGhlciBhIGZvcm1hdCBjaGFyYWN0ZXIgaXMgZG91YmxlZA0KCQkJbG9va0FoZWFkID0gZnVuY3Rpb24obWF0Y2gpIHsNCgkJCQl2YXIgbWF0Y2hlcyA9IChpRm9ybWF0ICsgMSA8IGZvcm1hdC5sZW5ndGggJiYgZm9ybWF0LmNoYXJBdChpRm9ybWF0ICsgMSkgPT09IG1hdGNoKTsNCgkJCQlpZiAobWF0Y2hlcykgew0KCQkJCQlpRm9ybWF0Kys7DQoJCQkJfQ0KCQkJCXJldHVybiBtYXRjaGVzOw0KCQkJfTsNCg0KCQlmb3IgKGlGb3JtYXQgPSAwOyBpRm9ybWF0IDwgZm9ybWF0Lmxlbmd0aDsgaUZvcm1hdCsrKSB7DQoJCQlpZiAobGl0ZXJhbCkgew0KCQkJCWlmIChmb3JtYXQuY2hhckF0KGlGb3JtYXQpID09PSAiJyIgJiYgIWxvb2tBaGVhZCgiJyIpKSB7DQoJCQkJCWxpdGVyYWwgPSBmYWxzZTsNCgkJCQl9IGVsc2Ugew0KCQkJCQljaGFycyArPSBmb3JtYXQuY2hhckF0KGlGb3JtYXQpOw0KCQkJCX0NCgkJCX0gZWxzZSB7DQoJCQkJc3dpdGNoIChmb3JtYXQuY2hhckF0KGlGb3JtYXQpKSB7DQoJCQkJCWNhc2UgImQiOiBjYXNlICJtIjogY2FzZSAieSI6IGNhc2UgIkAiOg0KCQkJCQkJY2hhcnMgKz0gIjAxMjM0NTY3ODkiOw0KCQkJCQkJYnJlYWs7DQoJCQkJCWNhc2UgIkQiOiBjYXNlICJNIjoNCgkJCQkJCXJldHVybiBudWxsOyAvLyBBY2NlcHQgYW55dGhpbmcNCgkJCQkJY2FzZSAiJyI6DQoJCQkJCQlpZiAobG9va0FoZWFkKCInIikpIHsNCgkJCQkJCQljaGFycyArPSAiJyI7DQoJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCWxpdGVyYWwgPSB0cnVlOw0KCQkJCQkJfQ0KCQkJCQkJYnJlYWs7DQoJCQkJCWRlZmF1bHQ6DQoJCQkJCQljaGFycyArPSBmb3JtYXQuY2hhckF0KGlGb3JtYXQpOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCQlyZXR1cm4gY2hhcnM7DQoJfSwNCg0KCS8qIEdldCBhIHNldHRpbmcgdmFsdWUsIGRlZmF1bHRpbmcgaWYgbmVjZXNzYXJ5LiAqLw0KCV9nZXQ6IGZ1bmN0aW9uKGluc3QsIG5hbWUpIHsNCgkJcmV0dXJuIGluc3Quc2V0dGluZ3NbbmFtZV0gIT09IHVuZGVmaW5lZCA/DQoJCQlpbnN0LnNldHRpbmdzW25hbWVdIDogdGhpcy5fZGVmYXVsdHNbbmFtZV07DQoJfSwNCg0KCS8qIFBhcnNlIGV4aXN0aW5nIGRhdGUgYW5kIGluaXRpYWxpc2UgZGF0ZSBwaWNrZXIuICovDQoJX3NldERhdGVGcm9tRmllbGQ6IGZ1bmN0aW9uKGluc3QsIG5vRGVmYXVsdCkgew0KCQlpZiAoaW5zdC5pbnB1dC52YWwoKSA9PT0gaW5zdC5sYXN0VmFsKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQl2YXIgZGF0ZUZvcm1hdCA9IHRoaXMuX2dldChpbnN0LCAiZGF0ZUZvcm1hdCIpLA0KCQkJZGF0ZXMgPSBpbnN0Lmxhc3RWYWwgPSBpbnN0LmlucHV0ID8gaW5zdC5pbnB1dC52YWwoKSA6IG51bGwsDQoJCQlkZWZhdWx0RGF0ZSA9IHRoaXMuX2dldERlZmF1bHREYXRlKGluc3QpLA0KCQkJZGF0ZSA9IGRlZmF1bHREYXRlLA0KCQkJc2V0dGluZ3MgPSB0aGlzLl9nZXRGb3JtYXRDb25maWcoaW5zdCk7DQoNCgkJdHJ5IHsNCgkJCWRhdGUgPSB0aGlzLnBhcnNlRGF0ZShkYXRlRm9ybWF0LCBkYXRlcywgc2V0dGluZ3MpIHx8IGRlZmF1bHREYXRlOw0KCQl9IGNhdGNoIChldmVudCkgew0KCQkJZGF0ZXMgPSAobm9EZWZhdWx0ID8gIiIgOiBkYXRlcyk7DQoJCX0NCgkJaW5zdC5zZWxlY3RlZERheSA9IGRhdGUuZ2V0RGF0ZSgpOw0KCQlpbnN0LmRyYXdNb250aCA9IGluc3Quc2VsZWN0ZWRNb250aCA9IGRhdGUuZ2V0TW9udGgoKTsNCgkJaW5zdC5kcmF3WWVhciA9IGluc3Quc2VsZWN0ZWRZZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpOw0KCQlpbnN0LmN1cnJlbnREYXkgPSAoZGF0ZXMgPyBkYXRlLmdldERhdGUoKSA6IDApOw0KCQlpbnN0LmN1cnJlbnRNb250aCA9IChkYXRlcyA/IGRhdGUuZ2V0TW9udGgoKSA6IDApOw0KCQlpbnN0LmN1cnJlbnRZZWFyID0gKGRhdGVzID8gZGF0ZS5nZXRGdWxsWWVhcigpIDogMCk7DQoJCXRoaXMuX2FkanVzdEluc3REYXRlKGluc3QpOw0KCX0sDQoNCgkvKiBSZXRyaWV2ZSB0aGUgZGVmYXVsdCBkYXRlIHNob3duIG9uIG9wZW5pbmcuICovDQoJX2dldERlZmF1bHREYXRlOiBmdW5jdGlvbihpbnN0KSB7DQoJCXJldHVybiB0aGlzLl9yZXN0cmljdE1pbk1heChpbnN0LA0KCQkJdGhpcy5fZGV0ZXJtaW5lRGF0ZShpbnN0LCB0aGlzLl9nZXQoaW5zdCwgImRlZmF1bHREYXRlIiksIG5ldyBEYXRlKCkpKTsNCgl9LA0KDQoJLyogQSBkYXRlIG1heSBiZSBzcGVjaWZpZWQgYXMgYW4gZXhhY3QgdmFsdWUgb3IgYSByZWxhdGl2ZSBvbmUuICovDQoJX2RldGVybWluZURhdGU6IGZ1bmN0aW9uKGluc3QsIGRhdGUsIGRlZmF1bHREYXRlKSB7DQoJCXZhciBvZmZzZXROdW1lcmljID0gZnVuY3Rpb24ob2Zmc2V0KSB7DQoJCQkJdmFyIGRhdGUgPSBuZXcgRGF0ZSgpOw0KCQkJCWRhdGUuc2V0RGF0ZShkYXRlLmdldERhdGUoKSArIG9mZnNldCk7DQoJCQkJcmV0dXJuIGRhdGU7DQoJCQl9LA0KCQkJb2Zmc2V0U3RyaW5nID0gZnVuY3Rpb24ob2Zmc2V0KSB7DQoJCQkJdHJ5IHsNCgkJCQkJcmV0dXJuICQuZGF0ZXBpY2tlci5wYXJzZURhdGUoJC5kYXRlcGlja2VyLl9nZXQoaW5zdCwgImRhdGVGb3JtYXQiKSwNCgkJCQkJCW9mZnNldCwgJC5kYXRlcGlja2VyLl9nZXRGb3JtYXRDb25maWcoaW5zdCkpOw0KCQkJCX0NCgkJCQljYXRjaCAoZSkgew0KCQkJCQkvLyBJZ25vcmUNCgkJCQl9DQoNCgkJCQl2YXIgZGF0ZSA9IChvZmZzZXQudG9Mb3dlckNhc2UoKS5tYXRjaCgvXmMvKSA/DQoJCQkJCSQuZGF0ZXBpY2tlci5fZ2V0RGF0ZShpbnN0KSA6IG51bGwpIHx8IG5ldyBEYXRlKCksDQoJCQkJCXllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCksDQoJCQkJCW1vbnRoID0gZGF0ZS5nZXRNb250aCgpLA0KCQkJCQlkYXkgPSBkYXRlLmdldERhdGUoKSwNCgkJCQkJcGF0dGVybiA9IC8oWytcLV0/WzAtOV0rKVxzKihkfER8d3xXfG18TXx5fFkpPy9nLA0KCQkJCQltYXRjaGVzID0gcGF0dGVybi5leGVjKG9mZnNldCk7DQoNCgkJCQl3aGlsZSAobWF0Y2hlcykgew0KCQkJCQlzd2l0Y2ggKG1hdGNoZXNbMl0gfHwgImQiKSB7DQoJCQkJCQljYXNlICJkIiA6IGNhc2UgIkQiIDoNCgkJCQkJCQlkYXkgKz0gcGFyc2VJbnQobWF0Y2hlc1sxXSwxMCk7IGJyZWFrOw0KCQkJCQkJY2FzZSAidyIgOiBjYXNlICJXIiA6DQoJCQkJCQkJZGF5ICs9IHBhcnNlSW50KG1hdGNoZXNbMV0sMTApICogNzsgYnJlYWs7DQoJCQkJCQljYXNlICJtIiA6IGNhc2UgIk0iIDoNCgkJCQkJCQltb250aCArPSBwYXJzZUludChtYXRjaGVzWzFdLDEwKTsNCgkJCQkJCQlkYXkgPSBNYXRoLm1pbihkYXksICQuZGF0ZXBpY2tlci5fZ2V0RGF5c0luTW9udGgoeWVhciwgbW9udGgpKTsNCgkJCQkJCQlicmVhazsNCgkJCQkJCWNhc2UgInkiOiBjYXNlICJZIiA6DQoJCQkJCQkJeWVhciArPSBwYXJzZUludChtYXRjaGVzWzFdLDEwKTsNCgkJCQkJCQlkYXkgPSBNYXRoLm1pbihkYXksICQuZGF0ZXBpY2tlci5fZ2V0RGF5c0luTW9udGgoeWVhciwgbW9udGgpKTsNCgkJCQkJCQlicmVhazsNCgkJCQkJfQ0KCQkJCQltYXRjaGVzID0gcGF0dGVybi5leGVjKG9mZnNldCk7DQoJCQkJfQ0KCQkJCXJldHVybiBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgZGF5KTsNCgkJCX0sDQoJCQluZXdEYXRlID0gKGRhdGUgPT0gbnVsbCB8fCBkYXRlID09PSAiIiA/IGRlZmF1bHREYXRlIDogKHR5cGVvZiBkYXRlID09PSAic3RyaW5nIiA/IG9mZnNldFN0cmluZyhkYXRlKSA6DQoJCQkJKHR5cGVvZiBkYXRlID09PSAibnVtYmVyIiA/IChpc05hTihkYXRlKSA/IGRlZmF1bHREYXRlIDogb2Zmc2V0TnVtZXJpYyhkYXRlKSkgOiBuZXcgRGF0ZShkYXRlLmdldFRpbWUoKSkpKSk7DQoNCgkJbmV3RGF0ZSA9IChuZXdEYXRlICYmIG5ld0RhdGUudG9TdHJpbmcoKSA9PT0gIkludmFsaWQgRGF0ZSIgPyBkZWZhdWx0RGF0ZSA6IG5ld0RhdGUpOw0KCQlpZiAobmV3RGF0ZSkgew0KCQkJbmV3RGF0ZS5zZXRIb3VycygwKTsNCgkJCW5ld0RhdGUuc2V0TWludXRlcygwKTsNCgkJCW5ld0RhdGUuc2V0U2Vjb25kcygwKTsNCgkJCW5ld0RhdGUuc2V0TWlsbGlzZWNvbmRzKDApOw0KCQl9DQoJCXJldHVybiB0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXdEYXRlKTsNCgl9LA0KDQoJLyogSGFuZGxlIHN3aXRjaCB0by9mcm9tIGRheWxpZ2h0IHNhdmluZy4NCgkgKiBIb3VycyBtYXkgYmUgbm9uLXplcm8gb24gZGF5bGlnaHQgc2F2aW5nIGN1dC1vdmVyOg0KCSAqID4gMTIgd2hlbiBtaWRuaWdodCBjaGFuZ2VvdmVyLCBidXQgdGhlbiBjYW5ub3QgZ2VuZXJhdGUNCgkgKiBtaWRuaWdodCBkYXRldGltZSwgc28ganVtcCB0byAxQU0sIG90aGVyd2lzZSByZXNldC4NCgkgKiBAcGFyYW0gIGRhdGUgIChEYXRlKSB0aGUgZGF0ZSB0byBjaGVjaw0KCSAqIEByZXR1cm4gIChEYXRlKSB0aGUgY29ycmVjdGVkIGRhdGUNCgkgKi8NCglfZGF5bGlnaHRTYXZpbmdBZGp1c3Q6IGZ1bmN0aW9uKGRhdGUpIHsNCgkJaWYgKCFkYXRlKSB7DQoJCQlyZXR1cm4gbnVsbDsNCgkJfQ0KCQlkYXRlLnNldEhvdXJzKGRhdGUuZ2V0SG91cnMoKSA+IDEyID8gZGF0ZS5nZXRIb3VycygpICsgMiA6IDApOw0KCQlyZXR1cm4gZGF0ZTsNCgl9LA0KDQoJLyogU2V0IHRoZSBkYXRlKHMpIGRpcmVjdGx5LiAqLw0KCV9zZXREYXRlOiBmdW5jdGlvbihpbnN0LCBkYXRlLCBub0NoYW5nZSkgew0KCQl2YXIgY2xlYXIgPSAhZGF0ZSwNCgkJCW9yaWdNb250aCA9IGluc3Quc2VsZWN0ZWRNb250aCwNCgkJCW9yaWdZZWFyID0gaW5zdC5zZWxlY3RlZFllYXIsDQoJCQluZXdEYXRlID0gdGhpcy5fcmVzdHJpY3RNaW5NYXgoaW5zdCwgdGhpcy5fZGV0ZXJtaW5lRGF0ZShpbnN0LCBkYXRlLCBuZXcgRGF0ZSgpKSk7DQoNCgkJaW5zdC5zZWxlY3RlZERheSA9IGluc3QuY3VycmVudERheSA9IG5ld0RhdGUuZ2V0RGF0ZSgpOw0KCQlpbnN0LmRyYXdNb250aCA9IGluc3Quc2VsZWN0ZWRNb250aCA9IGluc3QuY3VycmVudE1vbnRoID0gbmV3RGF0ZS5nZXRNb250aCgpOw0KCQlpbnN0LmRyYXdZZWFyID0gaW5zdC5zZWxlY3RlZFllYXIgPSBpbnN0LmN1cnJlbnRZZWFyID0gbmV3RGF0ZS5nZXRGdWxsWWVhcigpOw0KCQlpZiAoKG9yaWdNb250aCAhPT0gaW5zdC5zZWxlY3RlZE1vbnRoIHx8IG9yaWdZZWFyICE9PSBpbnN0LnNlbGVjdGVkWWVhcikgJiYgIW5vQ2hhbmdlKSB7DQoJCQl0aGlzLl9ub3RpZnlDaGFuZ2UoaW5zdCk7DQoJCX0NCgkJdGhpcy5fYWRqdXN0SW5zdERhdGUoaW5zdCk7DQoJCWlmIChpbnN0LmlucHV0KSB7DQoJCQlpbnN0LmlucHV0LnZhbChjbGVhciA/ICIiIDogdGhpcy5fZm9ybWF0RGF0ZShpbnN0KSk7DQoJCX0NCgl9LA0KDQoJLyogUmV0cmlldmUgdGhlIGRhdGUocykgZGlyZWN0bHkuICovDQoJX2dldERhdGU6IGZ1bmN0aW9uKGluc3QpIHsNCgkJdmFyIHN0YXJ0RGF0ZSA9ICghaW5zdC5jdXJyZW50WWVhciB8fCAoaW5zdC5pbnB1dCAmJiBpbnN0LmlucHV0LnZhbCgpID09PSAiIikgPyBudWxsIDoNCgkJCXRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKA0KCQkJaW5zdC5jdXJyZW50WWVhciwgaW5zdC5jdXJyZW50TW9udGgsIGluc3QuY3VycmVudERheSkpKTsNCgkJCXJldHVybiBzdGFydERhdGU7DQoJfSwNCg0KCS8qIEF0dGFjaCB0aGUgb254eHggaGFuZGxlcnMuICBUaGVzZSBhcmUgZGVjbGFyZWQgc3RhdGljYWxseSBzbw0KCSAqIHRoZXkgd29yayB3aXRoIHN0YXRpYyBjb2RlIHRyYW5zZm9ybWVycyBsaWtlIENhamEuDQoJICovDQoJX2F0dGFjaEhhbmRsZXJzOiBmdW5jdGlvbihpbnN0KSB7DQoJCXZhciBzdGVwTW9udGhzID0gdGhpcy5fZ2V0KGluc3QsICJzdGVwTW9udGhzIiksDQoJCQlpZCA9ICIjIiArIGluc3QuaWQucmVwbGFjZSggL1xcXFwvZywgIlxcIiApOw0KCQlpbnN0LmRwRGl2LmZpbmQoIltkYXRhLWhhbmRsZXJdIikubWFwKGZ1bmN0aW9uICgpIHsNCgkJCXZhciBoYW5kbGVyID0gew0KCQkJCXByZXY6IGZ1bmN0aW9uICgpIHsNCgkJCQkJJC5kYXRlcGlja2VyLl9hZGp1c3REYXRlKGlkLCAtc3RlcE1vbnRocywgIk0iKTsNCgkJCQl9LA0KCQkJCW5leHQ6IGZ1bmN0aW9uICgpIHsNCgkJCQkJJC5kYXRlcGlja2VyLl9hZGp1c3REYXRlKGlkLCArc3RlcE1vbnRocywgIk0iKTsNCgkJCQl9LA0KCQkJCWhpZGU6IGZ1bmN0aW9uICgpIHsNCgkJCQkJJC5kYXRlcGlja2VyLl9oaWRlRGF0ZXBpY2tlcigpOw0KCQkJCX0sDQoJCQkJdG9kYXk6IGZ1bmN0aW9uICgpIHsNCgkJCQkJJC5kYXRlcGlja2VyLl9nb3RvVG9kYXkoaWQpOw0KCQkJCX0sDQoJCQkJc2VsZWN0RGF5OiBmdW5jdGlvbiAoKSB7DQoJCQkJCSQuZGF0ZXBpY2tlci5fc2VsZWN0RGF5KGlkLCArdGhpcy5nZXRBdHRyaWJ1dGUoImRhdGEtbW9udGgiKSwgK3RoaXMuZ2V0QXR0cmlidXRlKCJkYXRhLXllYXIiKSwgdGhpcyk7DQoJCQkJCXJldHVybiBmYWxzZTsNCgkJCQl9LA0KCQkJCXNlbGVjdE1vbnRoOiBmdW5jdGlvbiAoKSB7DQoJCQkJCSQuZGF0ZXBpY2tlci5fc2VsZWN0TW9udGhZZWFyKGlkLCB0aGlzLCAiTSIpOw0KCQkJCQlyZXR1cm4gZmFsc2U7DQoJCQkJfSwNCgkJCQlzZWxlY3RZZWFyOiBmdW5jdGlvbiAoKSB7DQoJCQkJCSQuZGF0ZXBpY2tlci5fc2VsZWN0TW9udGhZZWFyKGlkLCB0aGlzLCAiWSIpOw0KCQkJCQlyZXR1cm4gZmFsc2U7DQoJCQkJfQ0KCQkJfTsNCgkJCSQodGhpcykuYmluZCh0aGlzLmdldEF0dHJpYnV0ZSgiZGF0YS1ldmVudCIpLCBoYW5kbGVyW3RoaXMuZ2V0QXR0cmlidXRlKCJkYXRhLWhhbmRsZXIiKV0pOw0KCQl9KTsNCgl9LA0KDQoJLyogR2VuZXJhdGUgdGhlIEhUTUwgZm9yIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBkYXRlIHBpY2tlci4gKi8NCglfZ2VuZXJhdGVIVE1MOiBmdW5jdGlvbihpbnN0KSB7DQoJCXZhciBtYXhEcmF3LCBwcmV2VGV4dCwgcHJldiwgbmV4dFRleHQsIG5leHQsIGN1cnJlbnRUZXh0LCBnb3RvRGF0ZSwNCgkJCWNvbnRyb2xzLCBidXR0b25QYW5lbCwgZmlyc3REYXksIHNob3dXZWVrLCBkYXlOYW1lcywgZGF5TmFtZXNNaW4sDQoJCQltb250aE5hbWVzLCBtb250aE5hbWVzU2hvcnQsIGJlZm9yZVNob3dEYXksIHNob3dPdGhlck1vbnRocywNCgkJCXNlbGVjdE90aGVyTW9udGhzLCBkZWZhdWx0RGF0ZSwgaHRtbCwgZG93LCByb3csIGdyb3VwLCBjb2wsIHNlbGVjdGVkRGF0ZSwNCgkJCWNvcm5lckNsYXNzLCBjYWxlbmRlciwgdGhlYWQsIGRheSwgZGF5c0luTW9udGgsIGxlYWREYXlzLCBjdXJSb3dzLCBudW1Sb3dzLA0KCQkJcHJpbnREYXRlLCBkUm93LCB0Ym9keSwgZGF5U2V0dGluZ3MsIG90aGVyTW9udGgsIHVuc2VsZWN0YWJsZSwNCgkJCXRlbXBEYXRlID0gbmV3IERhdGUoKSwNCgkJCXRvZGF5ID0gdGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QoDQoJCQkJbmV3IERhdGUodGVtcERhdGUuZ2V0RnVsbFllYXIoKSwgdGVtcERhdGUuZ2V0TW9udGgoKSwgdGVtcERhdGUuZ2V0RGF0ZSgpKSksIC8vIGNsZWFyIHRpbWUNCgkJCWlzUlRMID0gdGhpcy5fZ2V0KGluc3QsICJpc1JUTCIpLA0KCQkJc2hvd0J1dHRvblBhbmVsID0gdGhpcy5fZ2V0KGluc3QsICJzaG93QnV0dG9uUGFuZWwiKSwNCgkJCWhpZGVJZk5vUHJldk5leHQgPSB0aGlzLl9nZXQoaW5zdCwgImhpZGVJZk5vUHJldk5leHQiKSwNCgkJCW5hdmlnYXRpb25Bc0RhdGVGb3JtYXQgPSB0aGlzLl9nZXQoaW5zdCwgIm5hdmlnYXRpb25Bc0RhdGVGb3JtYXQiKSwNCgkJCW51bU1vbnRocyA9IHRoaXMuX2dldE51bWJlck9mTW9udGhzKGluc3QpLA0KCQkJc2hvd0N1cnJlbnRBdFBvcyA9IHRoaXMuX2dldChpbnN0LCAic2hvd0N1cnJlbnRBdFBvcyIpLA0KCQkJc3RlcE1vbnRocyA9IHRoaXMuX2dldChpbnN0LCAic3RlcE1vbnRocyIpLA0KCQkJaXNNdWx0aU1vbnRoID0gKG51bU1vbnRoc1swXSAhPT0gMSB8fCBudW1Nb250aHNbMV0gIT09IDEpLA0KCQkJY3VycmVudERhdGUgPSB0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdCgoIWluc3QuY3VycmVudERheSA/IG5ldyBEYXRlKDk5OTksIDksIDkpIDoNCgkJCQluZXcgRGF0ZShpbnN0LmN1cnJlbnRZZWFyLCBpbnN0LmN1cnJlbnRNb250aCwgaW5zdC5jdXJyZW50RGF5KSkpLA0KCQkJbWluRGF0ZSA9IHRoaXMuX2dldE1pbk1heERhdGUoaW5zdCwgIm1pbiIpLA0KCQkJbWF4RGF0ZSA9IHRoaXMuX2dldE1pbk1heERhdGUoaW5zdCwgIm1heCIpLA0KCQkJZHJhd01vbnRoID0gaW5zdC5kcmF3TW9udGggLSBzaG93Q3VycmVudEF0UG9zLA0KCQkJZHJhd1llYXIgPSBpbnN0LmRyYXdZZWFyOw0KDQoJCWlmIChkcmF3TW9udGggPCAwKSB7DQoJCQlkcmF3TW9udGggKz0gMTI7DQoJCQlkcmF3WWVhci0tOw0KCQl9DQoJCWlmIChtYXhEYXRlKSB7DQoJCQltYXhEcmF3ID0gdGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUobWF4RGF0ZS5nZXRGdWxsWWVhcigpLA0KCQkJCW1heERhdGUuZ2V0TW9udGgoKSAtIChudW1Nb250aHNbMF0gKiBudW1Nb250aHNbMV0pICsgMSwgbWF4RGF0ZS5nZXREYXRlKCkpKTsNCgkJCW1heERyYXcgPSAobWluRGF0ZSAmJiBtYXhEcmF3IDwgbWluRGF0ZSA/IG1pbkRhdGUgOiBtYXhEcmF3KTsNCgkJCXdoaWxlICh0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShkcmF3WWVhciwgZHJhd01vbnRoLCAxKSkgPiBtYXhEcmF3KSB7DQoJCQkJZHJhd01vbnRoLS07DQoJCQkJaWYgKGRyYXdNb250aCA8IDApIHsNCgkJCQkJZHJhd01vbnRoID0gMTE7DQoJCQkJCWRyYXdZZWFyLS07DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJCWluc3QuZHJhd01vbnRoID0gZHJhd01vbnRoOw0KCQlpbnN0LmRyYXdZZWFyID0gZHJhd1llYXI7DQoNCgkJcHJldlRleHQgPSB0aGlzLl9nZXQoaW5zdCwgInByZXZUZXh0Iik7DQoJCXByZXZUZXh0ID0gKCFuYXZpZ2F0aW9uQXNEYXRlRm9ybWF0ID8gcHJldlRleHQgOiB0aGlzLmZvcm1hdERhdGUocHJldlRleHQsDQoJCQl0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShkcmF3WWVhciwgZHJhd01vbnRoIC0gc3RlcE1vbnRocywgMSkpLA0KCQkJdGhpcy5fZ2V0Rm9ybWF0Q29uZmlnKGluc3QpKSk7DQoNCgkJcHJldiA9ICh0aGlzLl9jYW5BZGp1c3RNb250aChpbnN0LCAtMSwgZHJhd1llYXIsIGRyYXdNb250aCkgPw0KCQkJIjxhIGNsYXNzPSd1aS1kYXRlcGlja2VyLXByZXYgdWktY29ybmVyLWFsbCcgZGF0YS1oYW5kbGVyPSdwcmV2JyBkYXRhLWV2ZW50PSdjbGljayciICsNCgkJCSIgdGl0bGU9JyIgKyBwcmV2VGV4dCArICInPjxzcGFuIGNsYXNzPSd1aS1pY29uIHVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLSIgKyAoIGlzUlRMID8gImUiIDogInciKSArICInPiIgKyBwcmV2VGV4dCArICI8L3NwYW4+PC9hPiIgOg0KCQkJKGhpZGVJZk5vUHJldk5leHQgPyAiIiA6ICI8YSBjbGFzcz0ndWktZGF0ZXBpY2tlci1wcmV2IHVpLWNvcm5lci1hbGwgdWktc3RhdGUtZGlzYWJsZWQnIHRpdGxlPSciKyBwcmV2VGV4dCArIic+PHNwYW4gY2xhc3M9J3VpLWljb24gdWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtIiArICggaXNSVEwgPyAiZSIgOiAidyIpICsgIic+IiArIHByZXZUZXh0ICsgIjwvc3Bhbj48L2E+IikpOw0KDQoJCW5leHRUZXh0ID0gdGhpcy5fZ2V0KGluc3QsICJuZXh0VGV4dCIpOw0KCQluZXh0VGV4dCA9ICghbmF2aWdhdGlvbkFzRGF0ZUZvcm1hdCA/IG5leHRUZXh0IDogdGhpcy5mb3JtYXREYXRlKG5leHRUZXh0LA0KCQkJdGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoZHJhd1llYXIsIGRyYXdNb250aCArIHN0ZXBNb250aHMsIDEpKSwNCgkJCXRoaXMuX2dldEZvcm1hdENvbmZpZyhpbnN0KSkpOw0KDQoJCW5leHQgPSAodGhpcy5fY2FuQWRqdXN0TW9udGgoaW5zdCwgKzEsIGRyYXdZZWFyLCBkcmF3TW9udGgpID8NCgkJCSI8YSBjbGFzcz0ndWktZGF0ZXBpY2tlci1uZXh0IHVpLWNvcm5lci1hbGwnIGRhdGEtaGFuZGxlcj0nbmV4dCcgZGF0YS1ldmVudD0nY2xpY2snIiArDQoJCQkiIHRpdGxlPSciICsgbmV4dFRleHQgKyAiJz48c3BhbiBjbGFzcz0ndWktaWNvbiB1aS1pY29uLWNpcmNsZS10cmlhbmdsZS0iICsgKCBpc1JUTCA/ICJ3IiA6ICJlIikgKyAiJz4iICsgbmV4dFRleHQgKyAiPC9zcGFuPjwvYT4iIDoNCgkJCShoaWRlSWZOb1ByZXZOZXh0ID8gIiIgOiAiPGEgY2xhc3M9J3VpLWRhdGVwaWNrZXItbmV4dCB1aS1jb3JuZXItYWxsIHVpLXN0YXRlLWRpc2FibGVkJyB0aXRsZT0nIisgbmV4dFRleHQgKyAiJz48c3BhbiBjbGFzcz0ndWktaWNvbiB1aS1pY29uLWNpcmNsZS10cmlhbmdsZS0iICsgKCBpc1JUTCA/ICJ3IiA6ICJlIikgKyAiJz4iICsgbmV4dFRleHQgKyAiPC9zcGFuPjwvYT4iKSk7DQoNCgkJY3VycmVudFRleHQgPSB0aGlzLl9nZXQoaW5zdCwgImN1cnJlbnRUZXh0Iik7DQoJCWdvdG9EYXRlID0gKHRoaXMuX2dldChpbnN0LCAiZ290b0N1cnJlbnQiKSAmJiBpbnN0LmN1cnJlbnREYXkgPyBjdXJyZW50RGF0ZSA6IHRvZGF5KTsNCgkJY3VycmVudFRleHQgPSAoIW5hdmlnYXRpb25Bc0RhdGVGb3JtYXQgPyBjdXJyZW50VGV4dCA6DQoJCQl0aGlzLmZvcm1hdERhdGUoY3VycmVudFRleHQsIGdvdG9EYXRlLCB0aGlzLl9nZXRGb3JtYXRDb25maWcoaW5zdCkpKTsNCg0KCQljb250cm9scyA9ICghaW5zdC5pbmxpbmUgPyAiPGJ1dHRvbiB0eXBlPSdidXR0b24nIGNsYXNzPSd1aS1kYXRlcGlja2VyLWNsb3NlIHVpLXN0YXRlLWRlZmF1bHQgdWktcHJpb3JpdHktcHJpbWFyeSB1aS1jb3JuZXItYWxsJyBkYXRhLWhhbmRsZXI9J2hpZGUnIGRhdGEtZXZlbnQ9J2NsaWNrJz4iICsNCgkJCXRoaXMuX2dldChpbnN0LCAiY2xvc2VUZXh0IikgKyAiPC9idXR0b24+IiA6ICIiKTsNCg0KCQlidXR0b25QYW5lbCA9IChzaG93QnV0dG9uUGFuZWwpID8gIjxkaXYgY2xhc3M9J3VpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSB1aS13aWRnZXQtY29udGVudCc+IiArIChpc1JUTCA/IGNvbnRyb2xzIDogIiIpICsNCgkJCSh0aGlzLl9pc0luUmFuZ2UoaW5zdCwgZ290b0RhdGUpID8gIjxidXR0b24gdHlwZT0nYnV0dG9uJyBjbGFzcz0ndWktZGF0ZXBpY2tlci1jdXJyZW50IHVpLXN0YXRlLWRlZmF1bHQgdWktcHJpb3JpdHktc2Vjb25kYXJ5IHVpLWNvcm5lci1hbGwnIGRhdGEtaGFuZGxlcj0ndG9kYXknIGRhdGEtZXZlbnQ9J2NsaWNrJyIgKw0KCQkJIj4iICsgY3VycmVudFRleHQgKyAiPC9idXR0b24+IiA6ICIiKSArIChpc1JUTCA/ICIiIDogY29udHJvbHMpICsgIjwvZGl2PiIgOiAiIjsNCg0KCQlmaXJzdERheSA9IHBhcnNlSW50KHRoaXMuX2dldChpbnN0LCAiZmlyc3REYXkiKSwxMCk7DQoJCWZpcnN0RGF5ID0gKGlzTmFOKGZpcnN0RGF5KSA/IDAgOiBmaXJzdERheSk7DQoNCgkJc2hvd1dlZWsgPSB0aGlzLl9nZXQoaW5zdCwgInNob3dXZWVrIik7DQoJCWRheU5hbWVzID0gdGhpcy5fZ2V0KGluc3QsICJkYXlOYW1lcyIpOw0KCQlkYXlOYW1lc01pbiA9IHRoaXMuX2dldChpbnN0LCAiZGF5TmFtZXNNaW4iKTsNCgkJbW9udGhOYW1lcyA9IHRoaXMuX2dldChpbnN0LCAibW9udGhOYW1lcyIpOw0KCQltb250aE5hbWVzU2hvcnQgPSB0aGlzLl9nZXQoaW5zdCwgIm1vbnRoTmFtZXNTaG9ydCIpOw0KCQliZWZvcmVTaG93RGF5ID0gdGhpcy5fZ2V0KGluc3QsICJiZWZvcmVTaG93RGF5Iik7DQoJCXNob3dPdGhlck1vbnRocyA9IHRoaXMuX2dldChpbnN0LCAic2hvd090aGVyTW9udGhzIik7DQoJCXNlbGVjdE90aGVyTW9udGhzID0gdGhpcy5fZ2V0KGluc3QsICJzZWxlY3RPdGhlck1vbnRocyIpOw0KCQlkZWZhdWx0RGF0ZSA9IHRoaXMuX2dldERlZmF1bHREYXRlKGluc3QpOw0KCQlodG1sID0gIiI7DQoJCWRvdzsNCgkJZm9yIChyb3cgPSAwOyByb3cgPCBudW1Nb250aHNbMF07IHJvdysrKSB7DQoJCQlncm91cCA9ICIiOw0KCQkJdGhpcy5tYXhSb3dzID0gNDsNCgkJCWZvciAoY29sID0gMDsgY29sIDwgbnVtTW9udGhzWzFdOyBjb2wrKykgew0KCQkJCXNlbGVjdGVkRGF0ZSA9IHRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKGRyYXdZZWFyLCBkcmF3TW9udGgsIGluc3Quc2VsZWN0ZWREYXkpKTsNCgkJCQljb3JuZXJDbGFzcyA9ICIgdWktY29ybmVyLWFsbCI7DQoJCQkJY2FsZW5kZXIgPSAiIjsNCgkJCQlpZiAoaXNNdWx0aU1vbnRoKSB7DQoJCQkJCWNhbGVuZGVyICs9ICI8ZGl2IGNsYXNzPSd1aS1kYXRlcGlja2VyLWdyb3VwIjsNCgkJCQkJaWYgKG51bU1vbnRoc1sxXSA+IDEpIHsNCgkJCQkJCXN3aXRjaCAoY29sKSB7DQoJCQkJCQkJY2FzZSAwOiBjYWxlbmRlciArPSAiIHVpLWRhdGVwaWNrZXItZ3JvdXAtZmlyc3QiOw0KCQkJCQkJCQljb3JuZXJDbGFzcyA9ICIgdWktY29ybmVyLSIgKyAoaXNSVEwgPyAicmlnaHQiIDogImxlZnQiKTsgYnJlYWs7DQoJCQkJCQkJY2FzZSBudW1Nb250aHNbMV0tMTogY2FsZW5kZXIgKz0gIiB1aS1kYXRlcGlja2VyLWdyb3VwLWxhc3QiOw0KCQkJCQkJCQljb3JuZXJDbGFzcyA9ICIgdWktY29ybmVyLSIgKyAoaXNSVEwgPyAibGVmdCIgOiAicmlnaHQiKTsgYnJlYWs7DQoJCQkJCQkJZGVmYXVsdDogY2FsZW5kZXIgKz0gIiB1aS1kYXRlcGlja2VyLWdyb3VwLW1pZGRsZSI7IGNvcm5lckNsYXNzID0gIiI7IGJyZWFrOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJCWNhbGVuZGVyICs9ICInPiI7DQoJCQkJfQ0KCQkJCWNhbGVuZGVyICs9ICI8ZGl2IGNsYXNzPSd1aS1kYXRlcGlja2VyLWhlYWRlciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCIgKyBjb3JuZXJDbGFzcyArICInPiIgKw0KCQkJCQkoL2FsbHxsZWZ0Ly50ZXN0KGNvcm5lckNsYXNzKSAmJiByb3cgPT09IDAgPyAoaXNSVEwgPyBuZXh0IDogcHJldikgOiAiIikgKw0KCQkJCQkoL2FsbHxyaWdodC8udGVzdChjb3JuZXJDbGFzcykgJiYgcm93ID09PSAwID8gKGlzUlRMID8gcHJldiA6IG5leHQpIDogIiIpICsNCgkJCQkJdGhpcy5fZ2VuZXJhdGVNb250aFllYXJIZWFkZXIoaW5zdCwgZHJhd01vbnRoLCBkcmF3WWVhciwgbWluRGF0ZSwgbWF4RGF0ZSwNCgkJCQkJcm93ID4gMCB8fCBjb2wgPiAwLCBtb250aE5hbWVzLCBtb250aE5hbWVzU2hvcnQpICsgLy8gZHJhdyBtb250aCBoZWFkZXJzDQoJCQkJCSI8L2Rpdj48dGFibGUgY2xhc3M9J3VpLWRhdGVwaWNrZXItY2FsZW5kYXInPjx0aGVhZD4iICsNCgkJCQkJIjx0cj4iOw0KCQkJCXRoZWFkID0gKHNob3dXZWVrID8gIjx0aCBjbGFzcz0ndWktZGF0ZXBpY2tlci13ZWVrLWNvbCc+IiArIHRoaXMuX2dldChpbnN0LCAid2Vla0hlYWRlciIpICsgIjwvdGg+IiA6ICIiKTsNCgkJCQlmb3IgKGRvdyA9IDA7IGRvdyA8IDc7IGRvdysrKSB7IC8vIGRheXMgb2YgdGhlIHdlZWsNCgkJCQkJZGF5ID0gKGRvdyArIGZpcnN0RGF5KSAlIDc7DQoJCQkJCXRoZWFkICs9ICI8dGggc2NvcGU9J2NvbCciICsgKChkb3cgKyBmaXJzdERheSArIDYpICUgNyA+PSA1ID8gIiBjbGFzcz0ndWktZGF0ZXBpY2tlci13ZWVrLWVuZCciIDogIiIpICsgIj4iICsNCgkJCQkJCSI8c3BhbiB0aXRsZT0nIiArIGRheU5hbWVzW2RheV0gKyAiJz4iICsgZGF5TmFtZXNNaW5bZGF5XSArICI8L3NwYW4+PC90aD4iOw0KCQkJCX0NCgkJCQljYWxlbmRlciArPSB0aGVhZCArICI8L3RyPjwvdGhlYWQ+PHRib2R5PiI7DQoJCQkJZGF5c0luTW9udGggPSB0aGlzLl9nZXREYXlzSW5Nb250aChkcmF3WWVhciwgZHJhd01vbnRoKTsNCgkJCQlpZiAoZHJhd1llYXIgPT09IGluc3Quc2VsZWN0ZWRZZWFyICYmIGRyYXdNb250aCA9PT0gaW5zdC5zZWxlY3RlZE1vbnRoKSB7DQoJCQkJCWluc3Quc2VsZWN0ZWREYXkgPSBNYXRoLm1pbihpbnN0LnNlbGVjdGVkRGF5LCBkYXlzSW5Nb250aCk7DQoJCQkJfQ0KCQkJCWxlYWREYXlzID0gKHRoaXMuX2dldEZpcnN0RGF5T2ZNb250aChkcmF3WWVhciwgZHJhd01vbnRoKSAtIGZpcnN0RGF5ICsgNykgJSA3Ow0KCQkJCWN1clJvd3MgPSBNYXRoLmNlaWwoKGxlYWREYXlzICsgZGF5c0luTW9udGgpIC8gNyk7IC8vIGNhbGN1bGF0ZSB0aGUgbnVtYmVyIG9mIHJvd3MgdG8gZ2VuZXJhdGUNCgkJCQludW1Sb3dzID0gKGlzTXVsdGlNb250aCA/IHRoaXMubWF4Um93cyA+IGN1clJvd3MgPyB0aGlzLm1heFJvd3MgOiBjdXJSb3dzIDogY3VyUm93cyk7IC8vSWYgbXVsdGlwbGUgbW9udGhzLCB1c2UgdGhlIGhpZ2hlciBudW1iZXIgb2Ygcm93cyAoc2VlICM3MDQzKQ0KCQkJCXRoaXMubWF4Um93cyA9IG51bVJvd3M7DQoJCQkJcHJpbnREYXRlID0gdGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoZHJhd1llYXIsIGRyYXdNb250aCwgMSAtIGxlYWREYXlzKSk7DQoJCQkJZm9yIChkUm93ID0gMDsgZFJvdyA8IG51bVJvd3M7IGRSb3crKykgeyAvLyBjcmVhdGUgZGF0ZSBwaWNrZXIgcm93cw0KCQkJCQljYWxlbmRlciArPSAiPHRyPiI7DQoJCQkJCXRib2R5ID0gKCFzaG93V2VlayA/ICIiIDogIjx0ZCBjbGFzcz0ndWktZGF0ZXBpY2tlci13ZWVrLWNvbCc+IiArDQoJCQkJCQl0aGlzLl9nZXQoaW5zdCwgImNhbGN1bGF0ZVdlZWsiKShwcmludERhdGUpICsgIjwvdGQ+Iik7DQoJCQkJCWZvciAoZG93ID0gMDsgZG93IDwgNzsgZG93KyspIHsgLy8gY3JlYXRlIGRhdGUgcGlja2VyIGRheXMNCgkJCQkJCWRheVNldHRpbmdzID0gKGJlZm9yZVNob3dEYXkgPw0KCQkJCQkJCWJlZm9yZVNob3dEYXkuYXBwbHkoKGluc3QuaW5wdXQgPyBpbnN0LmlucHV0WzBdIDogbnVsbCksIFtwcmludERhdGVdKSA6IFt0cnVlLCAiIl0pOw0KCQkJCQkJb3RoZXJNb250aCA9IChwcmludERhdGUuZ2V0TW9udGgoKSAhPT0gZHJhd01vbnRoKTsNCgkJCQkJCXVuc2VsZWN0YWJsZSA9IChvdGhlck1vbnRoICYmICFzZWxlY3RPdGhlck1vbnRocykgfHwgIWRheVNldHRpbmdzWzBdIHx8DQoJCQkJCQkJKG1pbkRhdGUgJiYgcHJpbnREYXRlIDwgbWluRGF0ZSkgfHwgKG1heERhdGUgJiYgcHJpbnREYXRlID4gbWF4RGF0ZSk7DQoJCQkJCQl0Ym9keSArPSAiPHRkIGNsYXNzPSciICsNCgkJCQkJCQkoKGRvdyArIGZpcnN0RGF5ICsgNikgJSA3ID49IDUgPyAiIHVpLWRhdGVwaWNrZXItd2Vlay1lbmQiIDogIiIpICsgLy8gaGlnaGxpZ2h0IHdlZWtlbmRzDQoJCQkJCQkJKG90aGVyTW9udGggPyAiIHVpLWRhdGVwaWNrZXItb3RoZXItbW9udGgiIDogIiIpICsgLy8gaGlnaGxpZ2h0IGRheXMgZnJvbSBvdGhlciBtb250aHMNCgkJCQkJCQkoKHByaW50RGF0ZS5nZXRUaW1lKCkgPT09IHNlbGVjdGVkRGF0ZS5nZXRUaW1lKCkgJiYgZHJhd01vbnRoID09PSBpbnN0LnNlbGVjdGVkTW9udGggJiYgaW5zdC5fa2V5RXZlbnQpIHx8IC8vIHVzZXIgcHJlc3NlZCBrZXkNCgkJCQkJCQkoZGVmYXVsdERhdGUuZ2V0VGltZSgpID09PSBwcmludERhdGUuZ2V0VGltZSgpICYmIGRlZmF1bHREYXRlLmdldFRpbWUoKSA9PT0gc2VsZWN0ZWREYXRlLmdldFRpbWUoKSkgPw0KCQkJCQkJCS8vIG9yIGRlZmF1bHREYXRlIGlzIGN1cnJlbnQgcHJpbnRlZERhdGUgYW5kIGRlZmF1bHREYXRlIGlzIHNlbGVjdGVkRGF0ZQ0KCQkJCQkJCSIgIiArIHRoaXMuX2RheU92ZXJDbGFzcyA6ICIiKSArIC8vIGhpZ2hsaWdodCBzZWxlY3RlZCBkYXkNCgkJCQkJCQkodW5zZWxlY3RhYmxlID8gIiAiICsgdGhpcy5fdW5zZWxlY3RhYmxlQ2xhc3MgKyAiIHVpLXN0YXRlLWRpc2FibGVkIjogIiIpICsgIC8vIGhpZ2hsaWdodCB1bnNlbGVjdGFibGUgZGF5cw0KCQkJCQkJCShvdGhlck1vbnRoICYmICFzaG93T3RoZXJNb250aHMgPyAiIiA6ICIgIiArIGRheVNldHRpbmdzWzFdICsgLy8gaGlnaGxpZ2h0IGN1c3RvbSBkYXRlcw0KCQkJCQkJCShwcmludERhdGUuZ2V0VGltZSgpID09PSBjdXJyZW50RGF0ZS5nZXRUaW1lKCkgPyAiICIgKyB0aGlzLl9jdXJyZW50Q2xhc3MgOiAiIikgKyAvLyBoaWdobGlnaHQgc2VsZWN0ZWQgZGF5DQoJCQkJCQkJKHByaW50RGF0ZS5nZXRUaW1lKCkgPT09IHRvZGF5LmdldFRpbWUoKSA/ICIgdWktZGF0ZXBpY2tlci10b2RheSIgOiAiIikpICsgIiciICsgLy8gaGlnaGxpZ2h0IHRvZGF5IChpZiBkaWZmZXJlbnQpDQoJCQkJCQkJKCghb3RoZXJNb250aCB8fCBzaG93T3RoZXJNb250aHMpICYmIGRheVNldHRpbmdzWzJdID8gIiB0aXRsZT0nIiArIGRheVNldHRpbmdzWzJdLnJlcGxhY2UoLycvZywgIiYjMzk7IikgKyAiJyIgOiAiIikgKyAvLyBjZWxsIHRpdGxlDQoJCQkJCQkJKHVuc2VsZWN0YWJsZSA/ICIiIDogIiBkYXRhLWhhbmRsZXI9J3NlbGVjdERheScgZGF0YS1ldmVudD0nY2xpY2snIGRhdGEtbW9udGg9JyIgKyBwcmludERhdGUuZ2V0TW9udGgoKSArICInIGRhdGEteWVhcj0nIiArIHByaW50RGF0ZS5nZXRGdWxsWWVhcigpICsgIiciKSArICI+IiArIC8vIGFjdGlvbnMNCgkJCQkJCQkob3RoZXJNb250aCAmJiAhc2hvd090aGVyTW9udGhzID8gIiYjeGEwOyIgOiAvLyBkaXNwbGF5IGZvciBvdGhlciBtb250aHMNCgkJCQkJCQkodW5zZWxlY3RhYmxlID8gIjxzcGFuIGNsYXNzPSd1aS1zdGF0ZS1kZWZhdWx0Jz4iICsgcHJpbnREYXRlLmdldERhdGUoKSArICI8L3NwYW4+IiA6ICI8YSBjbGFzcz0ndWktc3RhdGUtZGVmYXVsdCIgKw0KCQkJCQkJCShwcmludERhdGUuZ2V0VGltZSgpID09PSB0b2RheS5nZXRUaW1lKCkgPyAiIHVpLXN0YXRlLWhpZ2hsaWdodCIgOiAiIikgKw0KCQkJCQkJCShwcmludERhdGUuZ2V0VGltZSgpID09PSBjdXJyZW50RGF0ZS5nZXRUaW1lKCkgPyAiIHVpLXN0YXRlLWFjdGl2ZSIgOiAiIikgKyAvLyBoaWdobGlnaHQgc2VsZWN0ZWQgZGF5DQoJCQkJCQkJKG90aGVyTW9udGggPyAiIHVpLXByaW9yaXR5LXNlY29uZGFyeSIgOiAiIikgKyAvLyBkaXN0aW5ndWlzaCBkYXRlcyBmcm9tIG90aGVyIG1vbnRocw0KCQkJCQkJCSInIGhyZWY9JyMnPiIgKyBwcmludERhdGUuZ2V0RGF0ZSgpICsgIjwvYT4iKSkgKyAiPC90ZD4iOyAvLyBkaXNwbGF5IHNlbGVjdGFibGUgZGF0ZQ0KCQkJCQkJcHJpbnREYXRlLnNldERhdGUocHJpbnREYXRlLmdldERhdGUoKSArIDEpOw0KCQkJCQkJcHJpbnREYXRlID0gdGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QocHJpbnREYXRlKTsNCgkJCQkJfQ0KCQkJCQljYWxlbmRlciArPSB0Ym9keSArICI8L3RyPiI7DQoJCQkJfQ0KCQkJCWRyYXdNb250aCsrOw0KCQkJCWlmIChkcmF3TW9udGggPiAxMSkgew0KCQkJCQlkcmF3TW9udGggPSAwOw0KCQkJCQlkcmF3WWVhcisrOw0KCQkJCX0NCgkJCQljYWxlbmRlciArPSAiPC90Ym9keT48L3RhYmxlPiIgKyAoaXNNdWx0aU1vbnRoID8gIjwvZGl2PiIgKw0KCQkJCQkJCSgobnVtTW9udGhzWzBdID4gMCAmJiBjb2wgPT09IG51bU1vbnRoc1sxXS0xKSA/ICI8ZGl2IGNsYXNzPSd1aS1kYXRlcGlja2VyLXJvdy1icmVhayc+PC9kaXY+IiA6ICIiKSA6ICIiKTsNCgkJCQlncm91cCArPSBjYWxlbmRlcjsNCgkJCX0NCgkJCWh0bWwgKz0gZ3JvdXA7DQoJCX0NCgkJaHRtbCArPSBidXR0b25QYW5lbDsNCgkJaW5zdC5fa2V5RXZlbnQgPSBmYWxzZTsNCgkJcmV0dXJuIGh0bWw7DQoJfSwNCg0KCS8qIEdlbmVyYXRlIHRoZSBtb250aCBhbmQgeWVhciBoZWFkZXIuICovDQoJX2dlbmVyYXRlTW9udGhZZWFySGVhZGVyOiBmdW5jdGlvbihpbnN0LCBkcmF3TW9udGgsIGRyYXdZZWFyLCBtaW5EYXRlLCBtYXhEYXRlLA0KCQkJc2Vjb25kYXJ5LCBtb250aE5hbWVzLCBtb250aE5hbWVzU2hvcnQpIHsNCg0KCQl2YXIgaW5NaW5ZZWFyLCBpbk1heFllYXIsIG1vbnRoLCB5ZWFycywgdGhpc1llYXIsIGRldGVybWluZVllYXIsIHllYXIsIGVuZFllYXIsDQoJCQljaGFuZ2VNb250aCA9IHRoaXMuX2dldChpbnN0LCAiY2hhbmdlTW9udGgiKSwNCgkJCWNoYW5nZVllYXIgPSB0aGlzLl9nZXQoaW5zdCwgImNoYW5nZVllYXIiKSwNCgkJCXNob3dNb250aEFmdGVyWWVhciA9IHRoaXMuX2dldChpbnN0LCAic2hvd01vbnRoQWZ0ZXJZZWFyIiksDQoJCQlodG1sID0gIjxkaXYgY2xhc3M9J3VpLWRhdGVwaWNrZXItdGl0bGUnPiIsDQoJCQltb250aEh0bWwgPSAiIjsNCg0KCQkvLyBtb250aCBzZWxlY3Rpb24NCgkJaWYgKHNlY29uZGFyeSB8fCAhY2hhbmdlTW9udGgpIHsNCgkJCW1vbnRoSHRtbCArPSAiPHNwYW4gY2xhc3M9J3VpLWRhdGVwaWNrZXItbW9udGgnPiIgKyBtb250aE5hbWVzW2RyYXdNb250aF0gKyAiPC9zcGFuPiI7DQoJCX0gZWxzZSB7DQoJCQlpbk1pblllYXIgPSAobWluRGF0ZSAmJiBtaW5EYXRlLmdldEZ1bGxZZWFyKCkgPT09IGRyYXdZZWFyKTsNCgkJCWluTWF4WWVhciA9IChtYXhEYXRlICYmIG1heERhdGUuZ2V0RnVsbFllYXIoKSA9PT0gZHJhd1llYXIpOw0KCQkJbW9udGhIdG1sICs9ICI8c2VsZWN0IGNsYXNzPSd1aS1kYXRlcGlja2VyLW1vbnRoJyBkYXRhLWhhbmRsZXI9J3NlbGVjdE1vbnRoJyBkYXRhLWV2ZW50PSdjaGFuZ2UnPiI7DQoJCQlmb3IgKCBtb250aCA9IDA7IG1vbnRoIDwgMTI7IG1vbnRoKyspIHsNCgkJCQlpZiAoKCFpbk1pblllYXIgfHwgbW9udGggPj0gbWluRGF0ZS5nZXRNb250aCgpKSAmJiAoIWluTWF4WWVhciB8fCBtb250aCA8PSBtYXhEYXRlLmdldE1vbnRoKCkpKSB7DQoJCQkJCW1vbnRoSHRtbCArPSAiPG9wdGlvbiB2YWx1ZT0nIiArIG1vbnRoICsgIiciICsNCgkJCQkJCShtb250aCA9PT0gZHJhd01vbnRoID8gIiBzZWxlY3RlZD0nc2VsZWN0ZWQnIiA6ICIiKSArDQoJCQkJCQkiPiIgKyBtb250aE5hbWVzU2hvcnRbbW9udGhdICsgIjwvb3B0aW9uPiI7DQoJCQkJfQ0KCQkJfQ0KCQkJbW9udGhIdG1sICs9ICI8L3NlbGVjdD4iOw0KCQl9DQoNCgkJaWYgKCFzaG93TW9udGhBZnRlclllYXIpIHsNCgkJCWh0bWwgKz0gbW9udGhIdG1sICsgKHNlY29uZGFyeSB8fCAhKGNoYW5nZU1vbnRoICYmIGNoYW5nZVllYXIpID8gIiYjeGEwOyIgOiAiIik7DQoJCX0NCg0KCQkvLyB5ZWFyIHNlbGVjdGlvbg0KCQlpZiAoICFpbnN0LnllYXJzaHRtbCApIHsNCgkJCWluc3QueWVhcnNodG1sID0gIiI7DQoJCQlpZiAoc2Vjb25kYXJ5IHx8ICFjaGFuZ2VZZWFyKSB7DQoJCQkJaHRtbCArPSAiPHNwYW4gY2xhc3M9J3VpLWRhdGVwaWNrZXIteWVhcic+IiArIGRyYXdZZWFyICsgIjwvc3Bhbj4iOw0KCQkJfSBlbHNlIHsNCgkJCQkvLyBkZXRlcm1pbmUgcmFuZ2Ugb2YgeWVhcnMgdG8gZGlzcGxheQ0KCQkJCXllYXJzID0gdGhpcy5fZ2V0KGluc3QsICJ5ZWFyUmFuZ2UiKS5zcGxpdCgiOiIpOw0KCQkJCXRoaXNZZWFyID0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpOw0KCQkJCWRldGVybWluZVllYXIgPSBmdW5jdGlvbih2YWx1ZSkgew0KCQkJCQl2YXIgeWVhciA9ICh2YWx1ZS5tYXRjaCgvY1srXC1dLiovKSA/IGRyYXdZZWFyICsgcGFyc2VJbnQodmFsdWUuc3Vic3RyaW5nKDEpLCAxMCkgOg0KCQkJCQkJKHZhbHVlLm1hdGNoKC9bK1wtXS4qLykgPyB0aGlzWWVhciArIHBhcnNlSW50KHZhbHVlLCAxMCkgOg0KCQkJCQkJcGFyc2VJbnQodmFsdWUsIDEwKSkpOw0KCQkJCQlyZXR1cm4gKGlzTmFOKHllYXIpID8gdGhpc1llYXIgOiB5ZWFyKTsNCgkJCQl9Ow0KCQkJCXllYXIgPSBkZXRlcm1pbmVZZWFyKHllYXJzWzBdKTsNCgkJCQllbmRZZWFyID0gTWF0aC5tYXgoeWVhciwgZGV0ZXJtaW5lWWVhcih5ZWFyc1sxXSB8fCAiIikpOw0KCQkJCXllYXIgPSAobWluRGF0ZSA/IE1hdGgubWF4KHllYXIsIG1pbkRhdGUuZ2V0RnVsbFllYXIoKSkgOiB5ZWFyKTsNCgkJCQllbmRZZWFyID0gKG1heERhdGUgPyBNYXRoLm1pbihlbmRZZWFyLCBtYXhEYXRlLmdldEZ1bGxZZWFyKCkpIDogZW5kWWVhcik7DQoJCQkJaW5zdC55ZWFyc2h0bWwgKz0gIjxzZWxlY3QgY2xhc3M9J3VpLWRhdGVwaWNrZXIteWVhcicgZGF0YS1oYW5kbGVyPSdzZWxlY3RZZWFyJyBkYXRhLWV2ZW50PSdjaGFuZ2UnPiI7DQoJCQkJZm9yICg7IHllYXIgPD0gZW5kWWVhcjsgeWVhcisrKSB7DQoJCQkJCWluc3QueWVhcnNodG1sICs9ICI8b3B0aW9uIHZhbHVlPSciICsgeWVhciArICInIiArDQoJCQkJCQkoeWVhciA9PT0gZHJhd1llYXIgPyAiIHNlbGVjdGVkPSdzZWxlY3RlZCciIDogIiIpICsNCgkJCQkJCSI+IiArIHllYXIgKyAiPC9vcHRpb24+IjsNCgkJCQl9DQoJCQkJaW5zdC55ZWFyc2h0bWwgKz0gIjwvc2VsZWN0PiI7DQoNCgkJCQlodG1sICs9IGluc3QueWVhcnNodG1sOw0KCQkJCWluc3QueWVhcnNodG1sID0gbnVsbDsNCgkJCX0NCgkJfQ0KDQoJCWh0bWwgKz0gdGhpcy5fZ2V0KGluc3QsICJ5ZWFyU3VmZml4Iik7DQoJCWlmIChzaG93TW9udGhBZnRlclllYXIpIHsNCgkJCWh0bWwgKz0gKHNlY29uZGFyeSB8fCAhKGNoYW5nZU1vbnRoICYmIGNoYW5nZVllYXIpID8gIiYjeGEwOyIgOiAiIikgKyBtb250aEh0bWw7DQoJCX0NCgkJaHRtbCArPSAiPC9kaXY+IjsgLy8gQ2xvc2UgZGF0ZXBpY2tlcl9oZWFkZXINCgkJcmV0dXJuIGh0bWw7DQoJfSwNCg0KCS8qIEFkanVzdCBvbmUgb2YgdGhlIGRhdGUgc3ViLWZpZWxkcy4gKi8NCglfYWRqdXN0SW5zdERhdGU6IGZ1bmN0aW9uKGluc3QsIG9mZnNldCwgcGVyaW9kKSB7DQoJCXZhciB5ZWFyID0gaW5zdC5kcmF3WWVhciArIChwZXJpb2QgPT09ICJZIiA/IG9mZnNldCA6IDApLA0KCQkJbW9udGggPSBpbnN0LmRyYXdNb250aCArIChwZXJpb2QgPT09ICJNIiA/IG9mZnNldCA6IDApLA0KCQkJZGF5ID0gTWF0aC5taW4oaW5zdC5zZWxlY3RlZERheSwgdGhpcy5fZ2V0RGF5c0luTW9udGgoeWVhciwgbW9udGgpKSArIChwZXJpb2QgPT09ICJEIiA/IG9mZnNldCA6IDApLA0KCQkJZGF0ZSA9IHRoaXMuX3Jlc3RyaWN0TWluTWF4KGluc3QsIHRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKHllYXIsIG1vbnRoLCBkYXkpKSk7DQoNCgkJaW5zdC5zZWxlY3RlZERheSA9IGRhdGUuZ2V0RGF0ZSgpOw0KCQlpbnN0LmRyYXdNb250aCA9IGluc3Quc2VsZWN0ZWRNb250aCA9IGRhdGUuZ2V0TW9udGgoKTsNCgkJaW5zdC5kcmF3WWVhciA9IGluc3Quc2VsZWN0ZWRZZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpOw0KCQlpZiAocGVyaW9kID09PSAiTSIgfHwgcGVyaW9kID09PSAiWSIpIHsNCgkJCXRoaXMuX25vdGlmeUNoYW5nZShpbnN0KTsNCgkJfQ0KCX0sDQoNCgkvKiBFbnN1cmUgYSBkYXRlIGlzIHdpdGhpbiBhbnkgbWluL21heCBib3VuZHMuICovDQoJX3Jlc3RyaWN0TWluTWF4OiBmdW5jdGlvbihpbnN0LCBkYXRlKSB7DQoJCXZhciBtaW5EYXRlID0gdGhpcy5fZ2V0TWluTWF4RGF0ZShpbnN0LCAibWluIiksDQoJCQltYXhEYXRlID0gdGhpcy5fZ2V0TWluTWF4RGF0ZShpbnN0LCAibWF4IiksDQoJCQluZXdEYXRlID0gKG1pbkRhdGUgJiYgZGF0ZSA8IG1pbkRhdGUgPyBtaW5EYXRlIDogZGF0ZSk7DQoJCXJldHVybiAobWF4RGF0ZSAmJiBuZXdEYXRlID4gbWF4RGF0ZSA/IG1heERhdGUgOiBuZXdEYXRlKTsNCgl9LA0KDQoJLyogTm90aWZ5IGNoYW5nZSBvZiBtb250aC95ZWFyLiAqLw0KCV9ub3RpZnlDaGFuZ2U6IGZ1bmN0aW9uKGluc3QpIHsNCgkJdmFyIG9uQ2hhbmdlID0gdGhpcy5fZ2V0KGluc3QsICJvbkNoYW5nZU1vbnRoWWVhciIpOw0KCQlpZiAob25DaGFuZ2UpIHsNCgkJCW9uQ2hhbmdlLmFwcGx5KChpbnN0LmlucHV0ID8gaW5zdC5pbnB1dFswXSA6IG51bGwpLA0KCQkJCVtpbnN0LnNlbGVjdGVkWWVhciwgaW5zdC5zZWxlY3RlZE1vbnRoICsgMSwgaW5zdF0pOw0KCQl9DQoJfSwNCg0KCS8qIERldGVybWluZSB0aGUgbnVtYmVyIG9mIG1vbnRocyB0byBzaG93LiAqLw0KCV9nZXROdW1iZXJPZk1vbnRoczogZnVuY3Rpb24oaW5zdCkgew0KCQl2YXIgbnVtTW9udGhzID0gdGhpcy5fZ2V0KGluc3QsICJudW1iZXJPZk1vbnRocyIpOw0KCQlyZXR1cm4gKG51bU1vbnRocyA9PSBudWxsID8gWzEsIDFdIDogKHR5cGVvZiBudW1Nb250aHMgPT09ICJudW1iZXIiID8gWzEsIG51bU1vbnRoc10gOiBudW1Nb250aHMpKTsNCgl9LA0KDQoJLyogRGV0ZXJtaW5lIHRoZSBjdXJyZW50IG1heGltdW0gZGF0ZSAtIGVuc3VyZSBubyB0aW1lIGNvbXBvbmVudHMgYXJlIHNldC4gKi8NCglfZ2V0TWluTWF4RGF0ZTogZnVuY3Rpb24oaW5zdCwgbWluTWF4KSB7DQoJCXJldHVybiB0aGlzLl9kZXRlcm1pbmVEYXRlKGluc3QsIHRoaXMuX2dldChpbnN0LCBtaW5NYXggKyAiRGF0ZSIpLCBudWxsKTsNCgl9LA0KDQoJLyogRmluZCB0aGUgbnVtYmVyIG9mIGRheXMgaW4gYSBnaXZlbiBtb250aC4gKi8NCglfZ2V0RGF5c0luTW9udGg6IGZ1bmN0aW9uKHllYXIsIG1vbnRoKSB7DQoJCXJldHVybiAzMiAtIHRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKHllYXIsIG1vbnRoLCAzMikpLmdldERhdGUoKTsNCgl9LA0KDQoJLyogRmluZCB0aGUgZGF5IG9mIHRoZSB3ZWVrIG9mIHRoZSBmaXJzdCBvZiBhIG1vbnRoLiAqLw0KCV9nZXRGaXJzdERheU9mTW9udGg6IGZ1bmN0aW9uKHllYXIsIG1vbnRoKSB7DQoJCXJldHVybiBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgMSkuZ2V0RGF5KCk7DQoJfSwNCg0KCS8qIERldGVybWluZXMgaWYgd2Ugc2hvdWxkIGFsbG93IGEgIm5leHQvcHJldiIgbW9udGggZGlzcGxheSBjaGFuZ2UuICovDQoJX2NhbkFkanVzdE1vbnRoOiBmdW5jdGlvbihpbnN0LCBvZmZzZXQsIGN1clllYXIsIGN1ck1vbnRoKSB7DQoJCXZhciBudW1Nb250aHMgPSB0aGlzLl9nZXROdW1iZXJPZk1vbnRocyhpbnN0KSwNCgkJCWRhdGUgPSB0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShjdXJZZWFyLA0KCQkJY3VyTW9udGggKyAob2Zmc2V0IDwgMCA/IG9mZnNldCA6IG51bU1vbnRoc1swXSAqIG51bU1vbnRoc1sxXSksIDEpKTsNCg0KCQlpZiAob2Zmc2V0IDwgMCkgew0KCQkJZGF0ZS5zZXREYXRlKHRoaXMuX2dldERheXNJbk1vbnRoKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpKSk7DQoJCX0NCgkJcmV0dXJuIHRoaXMuX2lzSW5SYW5nZShpbnN0LCBkYXRlKTsNCgl9LA0KDQoJLyogSXMgdGhlIGdpdmVuIGRhdGUgaW4gdGhlIGFjY2VwdGVkIHJhbmdlPyAqLw0KCV9pc0luUmFuZ2U6IGZ1bmN0aW9uKGluc3QsIGRhdGUpIHsNCgkJdmFyIHllYXJTcGxpdCwgY3VycmVudFllYXIsDQoJCQltaW5EYXRlID0gdGhpcy5fZ2V0TWluTWF4RGF0ZShpbnN0LCAibWluIiksDQoJCQltYXhEYXRlID0gdGhpcy5fZ2V0TWluTWF4RGF0ZShpbnN0LCAibWF4IiksDQoJCQltaW5ZZWFyID0gbnVsbCwNCgkJCW1heFllYXIgPSBudWxsLA0KCQkJeWVhcnMgPSB0aGlzLl9nZXQoaW5zdCwgInllYXJSYW5nZSIpOw0KCQkJaWYgKHllYXJzKXsNCgkJCQl5ZWFyU3BsaXQgPSB5ZWFycy5zcGxpdCgiOiIpOw0KCQkJCWN1cnJlbnRZZWFyID0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpOw0KCQkJCW1pblllYXIgPSBwYXJzZUludCh5ZWFyU3BsaXRbMF0sIDEwKTsNCgkJCQltYXhZZWFyID0gcGFyc2VJbnQoeWVhclNwbGl0WzFdLCAxMCk7DQoJCQkJaWYgKCB5ZWFyU3BsaXRbMF0ubWF0Y2goL1srXC1dLiovKSApIHsNCgkJCQkJbWluWWVhciArPSBjdXJyZW50WWVhcjsNCgkJCQl9DQoJCQkJaWYgKCB5ZWFyU3BsaXRbMV0ubWF0Y2goL1srXC1dLiovKSApIHsNCgkJCQkJbWF4WWVhciArPSBjdXJyZW50WWVhcjsNCgkJCQl9DQoJCQl9DQoNCgkJcmV0dXJuICgoIW1pbkRhdGUgfHwgZGF0ZS5nZXRUaW1lKCkgPj0gbWluRGF0ZS5nZXRUaW1lKCkpICYmDQoJCQkoIW1heERhdGUgfHwgZGF0ZS5nZXRUaW1lKCkgPD0gbWF4RGF0ZS5nZXRUaW1lKCkpICYmDQoJCQkoIW1pblllYXIgfHwgZGF0ZS5nZXRGdWxsWWVhcigpID49IG1pblllYXIpICYmDQoJCQkoIW1heFllYXIgfHwgZGF0ZS5nZXRGdWxsWWVhcigpIDw9IG1heFllYXIpKTsNCgl9LA0KDQoJLyogUHJvdmlkZSB0aGUgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBmb3IgZm9ybWF0dGluZy9wYXJzaW5nLiAqLw0KCV9nZXRGb3JtYXRDb25maWc6IGZ1bmN0aW9uKGluc3QpIHsNCgkJdmFyIHNob3J0WWVhckN1dG9mZiA9IHRoaXMuX2dldChpbnN0LCAic2hvcnRZZWFyQ3V0b2ZmIik7DQoJCXNob3J0WWVhckN1dG9mZiA9ICh0eXBlb2Ygc2hvcnRZZWFyQ3V0b2ZmICE9PSAic3RyaW5nIiA/IHNob3J0WWVhckN1dG9mZiA6DQoJCQluZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCkgJSAxMDAgKyBwYXJzZUludChzaG9ydFllYXJDdXRvZmYsIDEwKSk7DQoJCXJldHVybiB7c2hvcnRZZWFyQ3V0b2ZmOiBzaG9ydFllYXJDdXRvZmYsDQoJCQlkYXlOYW1lc1Nob3J0OiB0aGlzLl9nZXQoaW5zdCwgImRheU5hbWVzU2hvcnQiKSwgZGF5TmFtZXM6IHRoaXMuX2dldChpbnN0LCAiZGF5TmFtZXMiKSwNCgkJCW1vbnRoTmFtZXNTaG9ydDogdGhpcy5fZ2V0KGluc3QsICJtb250aE5hbWVzU2hvcnQiKSwgbW9udGhOYW1lczogdGhpcy5fZ2V0KGluc3QsICJtb250aE5hbWVzIil9Ow0KCX0sDQoNCgkvKiBGb3JtYXQgdGhlIGdpdmVuIGRhdGUgZm9yIGRpc3BsYXkuICovDQoJX2Zvcm1hdERhdGU6IGZ1bmN0aW9uKGluc3QsIGRheSwgbW9udGgsIHllYXIpIHsNCgkJaWYgKCFkYXkpIHsNCgkJCWluc3QuY3VycmVudERheSA9IGluc3Quc2VsZWN0ZWREYXk7DQoJCQlpbnN0LmN1cnJlbnRNb250aCA9IGluc3Quc2VsZWN0ZWRNb250aDsNCgkJCWluc3QuY3VycmVudFllYXIgPSBpbnN0LnNlbGVjdGVkWWVhcjsNCgkJfQ0KCQl2YXIgZGF0ZSA9IChkYXkgPyAodHlwZW9mIGRheSA9PT0gIm9iamVjdCIgPyBkYXkgOg0KCQkJdGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoeWVhciwgbW9udGgsIGRheSkpKSA6DQoJCQl0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShpbnN0LmN1cnJlbnRZZWFyLCBpbnN0LmN1cnJlbnRNb250aCwgaW5zdC5jdXJyZW50RGF5KSkpOw0KCQlyZXR1cm4gdGhpcy5mb3JtYXREYXRlKHRoaXMuX2dldChpbnN0LCAiZGF0ZUZvcm1hdCIpLCBkYXRlLCB0aGlzLl9nZXRGb3JtYXRDb25maWcoaW5zdCkpOw0KCX0NCn0pOw0KDQovKg0KICogQmluZCBob3ZlciBldmVudHMgZm9yIGRhdGVwaWNrZXIgZWxlbWVudHMuDQogKiBEb25lIHZpYSBkZWxlZ2F0ZSBzbyB0aGUgYmluZGluZyBvbmx5IG9jY3VycyBvbmNlIGluIHRoZSBsaWZldGltZSBvZiB0aGUgcGFyZW50IGRpdi4NCiAqIEdsb2JhbCBkYXRlcGlja2VyX2luc3RBY3RpdmUsIHNldCBieSBfdXBkYXRlRGF0ZXBpY2tlciBhbGxvd3MgdGhlIGhhbmRsZXJzIHRvIGZpbmQgdGhlaXIgd2F5IGJhY2sgdG8gdGhlIGFjdGl2ZSBwaWNrZXIuDQogKi8NCmZ1bmN0aW9uIGRhdGVwaWNrZXJfYmluZEhvdmVyKGRwRGl2KSB7DQoJdmFyIHNlbGVjdG9yID0gImJ1dHRvbiwgLnVpLWRhdGVwaWNrZXItcHJldiwgLnVpLWRhdGVwaWNrZXItbmV4dCwgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdGQgYSI7DQoJcmV0dXJuIGRwRGl2LmRlbGVnYXRlKHNlbGVjdG9yLCAibW91c2VvdXQiLCBmdW5jdGlvbigpIHsNCgkJCSQodGhpcykucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWhvdmVyIik7DQoJCQlpZiAodGhpcy5jbGFzc05hbWUuaW5kZXhPZigidWktZGF0ZXBpY2tlci1wcmV2IikgIT09IC0xKSB7DQoJCQkJJCh0aGlzKS5yZW1vdmVDbGFzcygidWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyIik7DQoJCQl9DQoJCQlpZiAodGhpcy5jbGFzc05hbWUuaW5kZXhPZigidWktZGF0ZXBpY2tlci1uZXh0IikgIT09IC0xKSB7DQoJCQkJJCh0aGlzKS5yZW1vdmVDbGFzcygidWktZGF0ZXBpY2tlci1uZXh0LWhvdmVyIik7DQoJCQl9DQoJCX0pDQoJCS5kZWxlZ2F0ZSggc2VsZWN0b3IsICJtb3VzZW92ZXIiLCBkYXRlcGlja2VyX2hhbmRsZU1vdXNlb3ZlciApOw0KfQ0KDQpmdW5jdGlvbiBkYXRlcGlja2VyX2hhbmRsZU1vdXNlb3ZlcigpIHsNCglpZiAoISQuZGF0ZXBpY2tlci5faXNEaXNhYmxlZERhdGVwaWNrZXIoIGRhdGVwaWNrZXJfaW5zdEFjdGl2ZS5pbmxpbmU/IGRhdGVwaWNrZXJfaW5zdEFjdGl2ZS5kcERpdi5wYXJlbnQoKVswXSA6IGRhdGVwaWNrZXJfaW5zdEFjdGl2ZS5pbnB1dFswXSkpIHsNCgkJJCh0aGlzKS5wYXJlbnRzKCIudWktZGF0ZXBpY2tlci1jYWxlbmRhciIpLmZpbmQoImEiKS5yZW1vdmVDbGFzcygidWktc3RhdGUtaG92ZXIiKTsNCgkJJCh0aGlzKS5hZGRDbGFzcygidWktc3RhdGUtaG92ZXIiKTsNCgkJaWYgKHRoaXMuY2xhc3NOYW1lLmluZGV4T2YoInVpLWRhdGVwaWNrZXItcHJldiIpICE9PSAtMSkgew0KCQkJJCh0aGlzKS5hZGRDbGFzcygidWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyIik7DQoJCX0NCgkJaWYgKHRoaXMuY2xhc3NOYW1lLmluZGV4T2YoInVpLWRhdGVwaWNrZXItbmV4dCIpICE9PSAtMSkgew0KCQkJJCh0aGlzKS5hZGRDbGFzcygidWktZGF0ZXBpY2tlci1uZXh0LWhvdmVyIik7DQoJCX0NCgl9DQp9DQoNCi8qIGpRdWVyeSBleHRlbmQgbm93IGlnbm9yZXMgbnVsbHMhICovDQpmdW5jdGlvbiBkYXRlcGlja2VyX2V4dGVuZFJlbW92ZSh0YXJnZXQsIHByb3BzKSB7DQoJJC5leHRlbmQodGFyZ2V0LCBwcm9wcyk7DQoJZm9yICh2YXIgbmFtZSBpbiBwcm9wcykgew0KCQlpZiAocHJvcHNbbmFtZV0gPT0gbnVsbCkgew0KCQkJdGFyZ2V0W25hbWVdID0gcHJvcHNbbmFtZV07DQoJCX0NCgl9DQoJcmV0dXJuIHRhcmdldDsNCn0NCg0KLyogSW52b2tlIHRoZSBkYXRlcGlja2VyIGZ1bmN0aW9uYWxpdHkuDQogICBAcGFyYW0gIG9wdGlvbnMgIHN0cmluZyAtIGEgY29tbWFuZCwgb3B0aW9uYWxseSBmb2xsb3dlZCBieSBhZGRpdGlvbmFsIHBhcmFtZXRlcnMgb3INCgkJCQkJT2JqZWN0IC0gc2V0dGluZ3MgZm9yIGF0dGFjaGluZyBuZXcgZGF0ZXBpY2tlciBmdW5jdGlvbmFsaXR5DQogICBAcmV0dXJuICBqUXVlcnkgb2JqZWN0ICovDQokLmZuLmRhdGVwaWNrZXIgPSBmdW5jdGlvbihvcHRpb25zKXsNCg0KCS8qIFZlcmlmeSBhbiBlbXB0eSBjb2xsZWN0aW9uIHdhc24ndCBwYXNzZWQgLSBGaXhlcyAjNjk3NiAqLw0KCWlmICggIXRoaXMubGVuZ3RoICkgew0KCQlyZXR1cm4gdGhpczsNCgl9DQoNCgkvKiBJbml0aWFsaXNlIHRoZSBkYXRlIHBpY2tlci4gKi8NCglpZiAoISQuZGF0ZXBpY2tlci5pbml0aWFsaXplZCkgew0KCQkkKGRvY3VtZW50KS5tb3VzZWRvd24oJC5kYXRlcGlja2VyLl9jaGVja0V4dGVybmFsQ2xpY2spOw0KCQkkLmRhdGVwaWNrZXIuaW5pdGlhbGl6ZWQgPSB0cnVlOw0KCX0NCg0KCS8qIEFwcGVuZCBkYXRlcGlja2VyIG1haW4gY29udGFpbmVyIHRvIGJvZHkgaWYgbm90IGV4aXN0LiAqLw0KCWlmICgkKCIjIiskLmRhdGVwaWNrZXIuX21haW5EaXZJZCkubGVuZ3RoID09PSAwKSB7DQoJCSQoImJvZHkiKS5hcHBlbmQoJC5kYXRlcGlja2VyLmRwRGl2KTsNCgl9DQoNCgl2YXIgb3RoZXJBcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAxKTsNCglpZiAodHlwZW9mIG9wdGlvbnMgPT09ICJzdHJpbmciICYmIChvcHRpb25zID09PSAiaXNEaXNhYmxlZCIgfHwgb3B0aW9ucyA9PT0gImdldERhdGUiIHx8IG9wdGlvbnMgPT09ICJ3aWRnZXQiKSkgew0KCQlyZXR1cm4gJC5kYXRlcGlja2VyWyJfIiArIG9wdGlvbnMgKyAiRGF0ZXBpY2tlciJdLg0KCQkJYXBwbHkoJC5kYXRlcGlja2VyLCBbdGhpc1swXV0uY29uY2F0KG90aGVyQXJncykpOw0KCX0NCglpZiAob3B0aW9ucyA9PT0gIm9wdGlvbiIgJiYgYXJndW1lbnRzLmxlbmd0aCA9PT0gMiAmJiB0eXBlb2YgYXJndW1lbnRzWzFdID09PSAic3RyaW5nIikgew0KCQlyZXR1cm4gJC5kYXRlcGlja2VyWyJfIiArIG9wdGlvbnMgKyAiRGF0ZXBpY2tlciJdLg0KCQkJYXBwbHkoJC5kYXRlcGlja2VyLCBbdGhpc1swXV0uY29uY2F0KG90aGVyQXJncykpOw0KCX0NCglyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgew0KCQl0eXBlb2Ygb3B0aW9ucyA9PT0gInN0cmluZyIgPw0KCQkJJC5kYXRlcGlja2VyWyJfIiArIG9wdGlvbnMgKyAiRGF0ZXBpY2tlciJdLg0KCQkJCWFwcGx5KCQuZGF0ZXBpY2tlciwgW3RoaXNdLmNvbmNhdChvdGhlckFyZ3MpKSA6DQoJCQkkLmRhdGVwaWNrZXIuX2F0dGFjaERhdGVwaWNrZXIodGhpcywgb3B0aW9ucyk7DQoJfSk7DQp9Ow0KDQokLmRhdGVwaWNrZXIgPSBuZXcgRGF0ZXBpY2tlcigpOyAvLyBzaW5nbGV0b24gaW5zdGFuY2UNCiQuZGF0ZXBpY2tlci5pbml0aWFsaXplZCA9IGZhbHNlOw0KJC5kYXRlcGlja2VyLnV1aWQgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTsNCiQuZGF0ZXBpY2tlci52ZXJzaW9uID0gIjEuMTEuNCI7DQoNCnZhciBkYXRlcGlja2VyID0gJC5kYXRlcGlja2VyOw0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIERpYWxvZyAxLjExLjQNCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICoNCiAqIGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL2RpYWxvZy8NCiAqLw0KDQoNCnZhciBkaWFsb2cgPSAkLndpZGdldCggInVpLmRpYWxvZyIsIHsNCgl2ZXJzaW9uOiAiMS4xMS40IiwNCglvcHRpb25zOiB7DQoJCWFwcGVuZFRvOiAiYm9keSIsDQoJCWF1dG9PcGVuOiB0cnVlLA0KCQlidXR0b25zOiBbXSwNCgkJY2xvc2VPbkVzY2FwZTogdHJ1ZSwNCgkJY2xvc2VUZXh0OiAiQ2xvc2UiLA0KCQlkaWFsb2dDbGFzczogIiIsDQoJCWRyYWdnYWJsZTogdHJ1ZSwNCgkJaGlkZTogbnVsbCwNCgkJaGVpZ2h0OiAiYXV0byIsDQoJCW1heEhlaWdodDogbnVsbCwNCgkJbWF4V2lkdGg6IG51bGwsDQoJCW1pbkhlaWdodDogMTUwLA0KCQltaW5XaWR0aDogMTUwLA0KCQltb2RhbDogZmFsc2UsDQoJCXBvc2l0aW9uOiB7DQoJCQlteTogImNlbnRlciIsDQoJCQlhdDogImNlbnRlciIsDQoJCQlvZjogd2luZG93LA0KCQkJY29sbGlzaW9uOiAiZml0IiwNCgkJCS8vIEVuc3VyZSB0aGUgdGl0bGViYXIgaXMgYWx3YXlzIHZpc2libGUNCgkJCXVzaW5nOiBmdW5jdGlvbiggcG9zICkgew0KCQkJCXZhciB0b3BPZmZzZXQgPSAkKCB0aGlzICkuY3NzKCBwb3MgKS5vZmZzZXQoKS50b3A7DQoJCQkJaWYgKCB0b3BPZmZzZXQgPCAwICkgew0KCQkJCQkkKCB0aGlzICkuY3NzKCAidG9wIiwgcG9zLnRvcCAtIHRvcE9mZnNldCApOw0KCQkJCX0NCgkJCX0NCgkJfSwNCgkJcmVzaXphYmxlOiB0cnVlLA0KCQlzaG93OiBudWxsLA0KCQl0aXRsZTogbnVsbCwNCgkJd2lkdGg6IDMwMCwNCg0KCQkvLyBjYWxsYmFja3MNCgkJYmVmb3JlQ2xvc2U6IG51bGwsDQoJCWNsb3NlOiBudWxsLA0KCQlkcmFnOiBudWxsLA0KCQlkcmFnU3RhcnQ6IG51bGwsDQoJCWRyYWdTdG9wOiBudWxsLA0KCQlmb2N1czogbnVsbCwNCgkJb3BlbjogbnVsbCwNCgkJcmVzaXplOiBudWxsLA0KCQlyZXNpemVTdGFydDogbnVsbCwNCgkJcmVzaXplU3RvcDogbnVsbA0KCX0sDQoNCglzaXplUmVsYXRlZE9wdGlvbnM6IHsNCgkJYnV0dG9uczogdHJ1ZSwNCgkJaGVpZ2h0OiB0cnVlLA0KCQltYXhIZWlnaHQ6IHRydWUsDQoJCW1heFdpZHRoOiB0cnVlLA0KCQltaW5IZWlnaHQ6IHRydWUsDQoJCW1pbldpZHRoOiB0cnVlLA0KCQl3aWR0aDogdHJ1ZQ0KCX0sDQoNCglyZXNpemFibGVSZWxhdGVkT3B0aW9uczogew0KCQltYXhIZWlnaHQ6IHRydWUsDQoJCW1heFdpZHRoOiB0cnVlLA0KCQltaW5IZWlnaHQ6IHRydWUsDQoJCW1pbldpZHRoOiB0cnVlDQoJfSwNCg0KCV9jcmVhdGU6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLm9yaWdpbmFsQ3NzID0gew0KCQkJZGlzcGxheTogdGhpcy5lbGVtZW50WyAwIF0uc3R5bGUuZGlzcGxheSwNCgkJCXdpZHRoOiB0aGlzLmVsZW1lbnRbIDAgXS5zdHlsZS53aWR0aCwNCgkJCW1pbkhlaWdodDogdGhpcy5lbGVtZW50WyAwIF0uc3R5bGUubWluSGVpZ2h0LA0KCQkJbWF4SGVpZ2h0OiB0aGlzLmVsZW1lbnRbIDAgXS5zdHlsZS5tYXhIZWlnaHQsDQoJCQloZWlnaHQ6IHRoaXMuZWxlbWVudFsgMCBdLnN0eWxlLmhlaWdodA0KCQl9Ow0KCQl0aGlzLm9yaWdpbmFsUG9zaXRpb24gPSB7DQoJCQlwYXJlbnQ6IHRoaXMuZWxlbWVudC5wYXJlbnQoKSwNCgkJCWluZGV4OiB0aGlzLmVsZW1lbnQucGFyZW50KCkuY2hpbGRyZW4oKS5pbmRleCggdGhpcy5lbGVtZW50ICkNCgkJfTsNCgkJdGhpcy5vcmlnaW5hbFRpdGxlID0gdGhpcy5lbGVtZW50LmF0dHIoICJ0aXRsZSIgKTsNCgkJdGhpcy5vcHRpb25zLnRpdGxlID0gdGhpcy5vcHRpb25zLnRpdGxlIHx8IHRoaXMub3JpZ2luYWxUaXRsZTsNCg0KCQl0aGlzLl9jcmVhdGVXcmFwcGVyKCk7DQoNCgkJdGhpcy5lbGVtZW50DQoJCQkuc2hvdygpDQoJCQkucmVtb3ZlQXR0ciggInRpdGxlIiApDQoJCQkuYWRkQ2xhc3MoICJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIgKQ0KCQkJLmFwcGVuZFRvKCB0aGlzLnVpRGlhbG9nICk7DQoNCgkJdGhpcy5fY3JlYXRlVGl0bGViYXIoKTsNCgkJdGhpcy5fY3JlYXRlQnV0dG9uUGFuZSgpOw0KDQoJCWlmICggdGhpcy5vcHRpb25zLmRyYWdnYWJsZSAmJiAkLmZuLmRyYWdnYWJsZSApIHsNCgkJCXRoaXMuX21ha2VEcmFnZ2FibGUoKTsNCgkJfQ0KCQlpZiAoIHRoaXMub3B0aW9ucy5yZXNpemFibGUgJiYgJC5mbi5yZXNpemFibGUgKSB7DQoJCQl0aGlzLl9tYWtlUmVzaXphYmxlKCk7DQoJCX0NCg0KCQl0aGlzLl9pc09wZW4gPSBmYWxzZTsNCg0KCQl0aGlzLl90cmFja0ZvY3VzKCk7DQoJfSwNCg0KCV9pbml0OiBmdW5jdGlvbigpIHsNCgkJaWYgKCB0aGlzLm9wdGlvbnMuYXV0b09wZW4gKSB7DQoJCQl0aGlzLm9wZW4oKTsNCgkJfQ0KCX0sDQoNCglfYXBwZW5kVG86IGZ1bmN0aW9uKCkgew0KCQl2YXIgZWxlbWVudCA9IHRoaXMub3B0aW9ucy5hcHBlbmRUbzsNCgkJaWYgKCBlbGVtZW50ICYmIChlbGVtZW50LmpxdWVyeSB8fCBlbGVtZW50Lm5vZGVUeXBlKSApIHsNCgkJCXJldHVybiAkKCBlbGVtZW50ICk7DQoJCX0NCgkJcmV0dXJuIHRoaXMuZG9jdW1lbnQuZmluZCggZWxlbWVudCB8fCAiYm9keSIgKS5lcSggMCApOw0KCX0sDQoNCglfZGVzdHJveTogZnVuY3Rpb24oKSB7DQoJCXZhciBuZXh0LA0KCQkJb3JpZ2luYWxQb3NpdGlvbiA9IHRoaXMub3JpZ2luYWxQb3NpdGlvbjsNCg0KCQl0aGlzLl91bnRyYWNrSW5zdGFuY2UoKTsNCgkJdGhpcy5fZGVzdHJveU92ZXJsYXkoKTsNCg0KCQl0aGlzLmVsZW1lbnQNCgkJCS5yZW1vdmVVbmlxdWVJZCgpDQoJCQkucmVtb3ZlQ2xhc3MoICJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIgKQ0KCQkJLmNzcyggdGhpcy5vcmlnaW5hbENzcyApDQoJCQkvLyBXaXRob3V0IGRldGFjaGluZyBmaXJzdCwgdGhlIGZvbGxvd2luZyBiZWNvbWVzIHJlYWxseSBzbG93DQoJCQkuZGV0YWNoKCk7DQoNCgkJdGhpcy51aURpYWxvZy5zdG9wKCB0cnVlLCB0cnVlICkucmVtb3ZlKCk7DQoNCgkJaWYgKCB0aGlzLm9yaWdpbmFsVGl0bGUgKSB7DQoJCQl0aGlzLmVsZW1lbnQuYXR0ciggInRpdGxlIiwgdGhpcy5vcmlnaW5hbFRpdGxlICk7DQoJCX0NCg0KCQluZXh0ID0gb3JpZ2luYWxQb3NpdGlvbi5wYXJlbnQuY2hpbGRyZW4oKS5lcSggb3JpZ2luYWxQb3NpdGlvbi5pbmRleCApOw0KCQkvLyBEb24ndCB0cnkgdG8gcGxhY2UgdGhlIGRpYWxvZyBuZXh0IHRvIGl0c2VsZiAoIzg2MTMpDQoJCWlmICggbmV4dC5sZW5ndGggJiYgbmV4dFsgMCBdICE9PSB0aGlzLmVsZW1lbnRbIDAgXSApIHsNCgkJCW5leHQuYmVmb3JlKCB0aGlzLmVsZW1lbnQgKTsNCgkJfSBlbHNlIHsNCgkJCW9yaWdpbmFsUG9zaXRpb24ucGFyZW50LmFwcGVuZCggdGhpcy5lbGVtZW50ICk7DQoJCX0NCgl9LA0KDQoJd2lkZ2V0OiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHRoaXMudWlEaWFsb2c7DQoJfSwNCg0KCWRpc2FibGU6ICQubm9vcCwNCgllbmFibGU6ICQubm9vcCwNCg0KCWNsb3NlOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXZhciBhY3RpdmVFbGVtZW50LA0KCQkJdGhhdCA9IHRoaXM7DQoNCgkJaWYgKCAhdGhpcy5faXNPcGVuIHx8IHRoaXMuX3RyaWdnZXIoICJiZWZvcmVDbG9zZSIsIGV2ZW50ICkgPT09IGZhbHNlICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJdGhpcy5faXNPcGVuID0gZmFsc2U7DQoJCXRoaXMuX2ZvY3VzZWRFbGVtZW50ID0gbnVsbDsNCgkJdGhpcy5fZGVzdHJveU92ZXJsYXkoKTsNCgkJdGhpcy5fdW50cmFja0luc3RhbmNlKCk7DQoNCgkJaWYgKCAhdGhpcy5vcGVuZXIuZmlsdGVyKCAiOmZvY3VzYWJsZSIgKS5mb2N1cygpLmxlbmd0aCApIHsNCg0KCQkJLy8gc3VwcG9ydDogSUU5DQoJCQkvLyBJRTkgdGhyb3dzIGFuICJVbnNwZWNpZmllZCBlcnJvciIgYWNjZXNzaW5nIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgZnJvbSBhbiA8aWZyYW1lPg0KCQkJdHJ5IHsNCgkJCQlhY3RpdmVFbGVtZW50ID0gdGhpcy5kb2N1bWVudFsgMCBdLmFjdGl2ZUVsZW1lbnQ7DQoNCgkJCQkvLyBTdXBwb3J0OiBJRTksIElFMTANCgkJCQkvLyBJZiB0aGUgPGJvZHk+IGlzIGJsdXJyZWQsIElFIHdpbGwgc3dpdGNoIHdpbmRvd3MsIHNlZSAjNDUyMA0KCQkJCWlmICggYWN0aXZlRWxlbWVudCAmJiBhY3RpdmVFbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgIT09ICJib2R5IiApIHsNCg0KCQkJCQkvLyBIaWRpbmcgYSBmb2N1c2VkIGVsZW1lbnQgZG9lc24ndCB0cmlnZ2VyIGJsdXIgaW4gV2ViS2l0DQoJCQkJCS8vIHNvIGluIGNhc2Ugd2UgaGF2ZSBub3RoaW5nIHRvIGZvY3VzIG9uLCBleHBsaWNpdGx5IGJsdXIgdGhlIGFjdGl2ZSBlbGVtZW50DQoJCQkJCS8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzE4Mg0KCQkJCQkkKCBhY3RpdmVFbGVtZW50ICkuYmx1cigpOw0KCQkJCX0NCgkJCX0gY2F0Y2ggKCBlcnJvciApIHt9DQoJCX0NCg0KCQl0aGlzLl9oaWRlKCB0aGlzLnVpRGlhbG9nLCB0aGlzLm9wdGlvbnMuaGlkZSwgZnVuY3Rpb24oKSB7DQoJCQl0aGF0Ll90cmlnZ2VyKCAiY2xvc2UiLCBldmVudCApOw0KCQl9KTsNCgl9LA0KDQoJaXNPcGVuOiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHRoaXMuX2lzT3BlbjsNCgl9LA0KDQoJbW92ZVRvVG9wOiBmdW5jdGlvbigpIHsNCgkJdGhpcy5fbW92ZVRvVG9wKCk7DQoJfSwNCg0KCV9tb3ZlVG9Ub3A6IGZ1bmN0aW9uKCBldmVudCwgc2lsZW50ICkgew0KCQl2YXIgbW92ZWQgPSBmYWxzZSwNCgkJCXpJbmRpY2VzID0gdGhpcy51aURpYWxvZy5zaWJsaW5ncyggIi51aS1mcm9udDp2aXNpYmxlIiApLm1hcChmdW5jdGlvbigpIHsNCgkJCQlyZXR1cm4gKyQoIHRoaXMgKS5jc3MoICJ6LWluZGV4IiApOw0KCQkJfSkuZ2V0KCksDQoJCQl6SW5kZXhNYXggPSBNYXRoLm1heC5hcHBseSggbnVsbCwgekluZGljZXMgKTsNCg0KCQlpZiAoIHpJbmRleE1heCA+PSArdGhpcy51aURpYWxvZy5jc3MoICJ6LWluZGV4IiApICkgew0KCQkJdGhpcy51aURpYWxvZy5jc3MoICJ6LWluZGV4IiwgekluZGV4TWF4ICsgMSApOw0KCQkJbW92ZWQgPSB0cnVlOw0KCQl9DQoNCgkJaWYgKCBtb3ZlZCAmJiAhc2lsZW50ICkgew0KCQkJdGhpcy5fdHJpZ2dlciggImZvY3VzIiwgZXZlbnQgKTsNCgkJfQ0KCQlyZXR1cm4gbW92ZWQ7DQoJfSwNCg0KCW9wZW46IGZ1bmN0aW9uKCkgew0KCQl2YXIgdGhhdCA9IHRoaXM7DQoJCWlmICggdGhpcy5faXNPcGVuICkgew0KCQkJaWYgKCB0aGlzLl9tb3ZlVG9Ub3AoKSApIHsNCgkJCQl0aGlzLl9mb2N1c1RhYmJhYmxlKCk7DQoJCQl9DQoJCQlyZXR1cm47DQoJCX0NCg0KCQl0aGlzLl9pc09wZW4gPSB0cnVlOw0KCQl0aGlzLm9wZW5lciA9ICQoIHRoaXMuZG9jdW1lbnRbIDAgXS5hY3RpdmVFbGVtZW50ICk7DQoNCgkJdGhpcy5fc2l6ZSgpOw0KCQl0aGlzLl9wb3NpdGlvbigpOw0KCQl0aGlzLl9jcmVhdGVPdmVybGF5KCk7DQoJCXRoaXMuX21vdmVUb1RvcCggbnVsbCwgdHJ1ZSApOw0KDQoJCS8vIEVuc3VyZSB0aGUgb3ZlcmxheSBpcyBtb3ZlZCB0byB0aGUgdG9wIHdpdGggdGhlIGRpYWxvZywgYnV0IG9ubHkgd2hlbg0KCQkvLyBvcGVuaW5nLiBUaGUgb3ZlcmxheSBzaG91bGRuJ3QgbW92ZSBhZnRlciB0aGUgZGlhbG9nIGlzIG9wZW4gc28gdGhhdA0KCQkvLyBtb2RlbGVzcyBkaWFsb2dzIG9wZW5lZCBhZnRlciB0aGUgbW9kYWwgZGlhbG9nIHN0YWNrIHByb3Blcmx5Lg0KCQlpZiAoIHRoaXMub3ZlcmxheSApIHsNCgkJCXRoaXMub3ZlcmxheS5jc3MoICJ6LWluZGV4IiwgdGhpcy51aURpYWxvZy5jc3MoICJ6LWluZGV4IiApIC0gMSApOw0KCQl9DQoNCgkJdGhpcy5fc2hvdyggdGhpcy51aURpYWxvZywgdGhpcy5vcHRpb25zLnNob3csIGZ1bmN0aW9uKCkgew0KCQkJdGhhdC5fZm9jdXNUYWJiYWJsZSgpOw0KCQkJdGhhdC5fdHJpZ2dlciggImZvY3VzIiApOw0KCQl9KTsNCg0KCQkvLyBUcmFjayB0aGUgZGlhbG9nIGltbWVkaWF0ZWx5IHVwb24gb3BlbmVuaW5nIGluIGNhc2UgYSBmb2N1cyBldmVudA0KCQkvLyBzb21laG93IG9jY3VycyBvdXRzaWRlIG9mIHRoZSBkaWFsb2cgYmVmb3JlIGFuIGVsZW1lbnQgaW5zaWRlIHRoZQ0KCQkvLyBkaWFsb2cgaXMgZm9jdXNlZCAoIzEwMTUyKQ0KCQl0aGlzLl9tYWtlRm9jdXNUYXJnZXQoKTsNCg0KCQl0aGlzLl90cmlnZ2VyKCAib3BlbiIgKTsNCgl9LA0KDQoJX2ZvY3VzVGFiYmFibGU6IGZ1bmN0aW9uKCkgew0KCQkvLyBTZXQgZm9jdXMgdG8gdGhlIGZpcnN0IG1hdGNoOg0KCQkvLyAxLiBBbiBlbGVtZW50IHRoYXQgd2FzIGZvY3VzZWQgcHJldmlvdXNseQ0KCQkvLyAyLiBGaXJzdCBlbGVtZW50IGluc2lkZSB0aGUgZGlhbG9nIG1hdGNoaW5nIFthdXRvZm9jdXNdDQoJCS8vIDMuIFRhYmJhYmxlIGVsZW1lbnQgaW5zaWRlIHRoZSBjb250ZW50IGVsZW1lbnQNCgkJLy8gNC4gVGFiYmFibGUgZWxlbWVudCBpbnNpZGUgdGhlIGJ1dHRvbnBhbmUNCgkJLy8gNS4gVGhlIGNsb3NlIGJ1dHRvbg0KCQkvLyA2LiBUaGUgZGlhbG9nIGl0c2VsZg0KCQl2YXIgaGFzRm9jdXMgPSB0aGlzLl9mb2N1c2VkRWxlbWVudDsNCgkJaWYgKCAhaGFzRm9jdXMgKSB7DQoJCQloYXNGb2N1cyA9IHRoaXMuZWxlbWVudC5maW5kKCAiW2F1dG9mb2N1c10iICk7DQoJCX0NCgkJaWYgKCAhaGFzRm9jdXMubGVuZ3RoICkgew0KCQkJaGFzRm9jdXMgPSB0aGlzLmVsZW1lbnQuZmluZCggIjp0YWJiYWJsZSIgKTsNCgkJfQ0KCQlpZiAoICFoYXNGb2N1cy5sZW5ndGggKSB7DQoJCQloYXNGb2N1cyA9IHRoaXMudWlEaWFsb2dCdXR0b25QYW5lLmZpbmQoICI6dGFiYmFibGUiICk7DQoJCX0NCgkJaWYgKCAhaGFzRm9jdXMubGVuZ3RoICkgew0KCQkJaGFzRm9jdXMgPSB0aGlzLnVpRGlhbG9nVGl0bGViYXJDbG9zZS5maWx0ZXIoICI6dGFiYmFibGUiICk7DQoJCX0NCgkJaWYgKCAhaGFzRm9jdXMubGVuZ3RoICkgew0KCQkJaGFzRm9jdXMgPSB0aGlzLnVpRGlhbG9nOw0KCQl9DQoJCWhhc0ZvY3VzLmVxKCAwICkuZm9jdXMoKTsNCgl9LA0KDQoJX2tlZXBGb2N1czogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQlmdW5jdGlvbiBjaGVja0ZvY3VzKCkgew0KCQkJdmFyIGFjdGl2ZUVsZW1lbnQgPSB0aGlzLmRvY3VtZW50WzBdLmFjdGl2ZUVsZW1lbnQsDQoJCQkJaXNBY3RpdmUgPSB0aGlzLnVpRGlhbG9nWzBdID09PSBhY3RpdmVFbGVtZW50IHx8DQoJCQkJCSQuY29udGFpbnMoIHRoaXMudWlEaWFsb2dbMF0sIGFjdGl2ZUVsZW1lbnQgKTsNCgkJCWlmICggIWlzQWN0aXZlICkgew0KCQkJCXRoaXMuX2ZvY3VzVGFiYmFibGUoKTsNCgkJCX0NCgkJfQ0KCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQljaGVja0ZvY3VzLmNhbGwoIHRoaXMgKTsNCgkJLy8gc3VwcG9ydDogSUUNCgkJLy8gSUUgPD0gOCBkb2Vzbid0IHByZXZlbnQgbW92aW5nIGZvY3VzIGV2ZW4gd2l0aCBldmVudC5wcmV2ZW50RGVmYXVsdCgpDQoJCS8vIHNvIHdlIGNoZWNrIGFnYWluIGxhdGVyDQoJCXRoaXMuX2RlbGF5KCBjaGVja0ZvY3VzICk7DQoJfSwNCg0KCV9jcmVhdGVXcmFwcGVyOiBmdW5jdGlvbigpIHsNCgkJdGhpcy51aURpYWxvZyA9ICQoIjxkaXY+IikNCgkJCS5hZGRDbGFzcyggInVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1mcm9udCAiICsNCgkJCQl0aGlzLm9wdGlvbnMuZGlhbG9nQ2xhc3MgKQ0KCQkJLmhpZGUoKQ0KCQkJLmF0dHIoew0KCQkJCS8vIFNldHRpbmcgdGFiSW5kZXggbWFrZXMgdGhlIGRpdiBmb2N1c2FibGUNCgkJCQl0YWJJbmRleDogLTEsDQoJCQkJcm9sZTogImRpYWxvZyINCgkJCX0pDQoJCQkuYXBwZW5kVG8oIHRoaXMuX2FwcGVuZFRvKCkgKTsNCg0KCQl0aGlzLl9vbiggdGhpcy51aURpYWxvZywgew0KCQkJa2V5ZG93bjogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJCWlmICggdGhpcy5vcHRpb25zLmNsb3NlT25Fc2NhcGUgJiYgIWV2ZW50LmlzRGVmYXVsdFByZXZlbnRlZCgpICYmIGV2ZW50LmtleUNvZGUgJiYNCgkJCQkJCWV2ZW50LmtleUNvZGUgPT09ICQudWkua2V5Q29kZS5FU0NBUEUgKSB7DQoJCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJCQkJCXRoaXMuY2xvc2UoIGV2ZW50ICk7DQoJCQkJCXJldHVybjsNCgkJCQl9DQoNCgkJCQkvLyBwcmV2ZW50IHRhYmJpbmcgb3V0IG9mIGRpYWxvZ3MNCgkJCQlpZiAoIGV2ZW50LmtleUNvZGUgIT09ICQudWkua2V5Q29kZS5UQUIgfHwgZXZlbnQuaXNEZWZhdWx0UHJldmVudGVkKCkgKSB7DQoJCQkJCXJldHVybjsNCgkJCQl9DQoJCQkJdmFyIHRhYmJhYmxlcyA9IHRoaXMudWlEaWFsb2cuZmluZCggIjp0YWJiYWJsZSIgKSwNCgkJCQkJZmlyc3QgPSB0YWJiYWJsZXMuZmlsdGVyKCAiOmZpcnN0IiApLA0KCQkJCQlsYXN0ID0gdGFiYmFibGVzLmZpbHRlciggIjpsYXN0IiApOw0KDQoJCQkJaWYgKCAoIGV2ZW50LnRhcmdldCA9PT0gbGFzdFswXSB8fCBldmVudC50YXJnZXQgPT09IHRoaXMudWlEaWFsb2dbMF0gKSAmJiAhZXZlbnQuc2hpZnRLZXkgKSB7DQoJCQkJCXRoaXMuX2RlbGF5KGZ1bmN0aW9uKCkgew0KCQkJCQkJZmlyc3QuZm9jdXMoKTsNCgkJCQkJfSk7DQoJCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJCQkJfSBlbHNlIGlmICggKCBldmVudC50YXJnZXQgPT09IGZpcnN0WzBdIHx8IGV2ZW50LnRhcmdldCA9PT0gdGhpcy51aURpYWxvZ1swXSApICYmIGV2ZW50LnNoaWZ0S2V5ICkgew0KCQkJCQl0aGlzLl9kZWxheShmdW5jdGlvbigpIHsNCgkJCQkJCWxhc3QuZm9jdXMoKTsNCgkJCQkJfSk7DQoJCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJCQkJfQ0KCQkJfSwNCgkJCW1vdXNlZG93bjogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJCWlmICggdGhpcy5fbW92ZVRvVG9wKCBldmVudCApICkgew0KCQkJCQl0aGlzLl9mb2N1c1RhYmJhYmxlKCk7DQoJCQkJfQ0KCQkJfQ0KCQl9KTsNCg0KCQkvLyBXZSBhc3N1bWUgdGhhdCBhbnkgZXhpc3RpbmcgYXJpYS1kZXNjcmliZWRieSBhdHRyaWJ1dGUgbWVhbnMNCgkJLy8gdGhhdCB0aGUgZGlhbG9nIGNvbnRlbnQgaXMgbWFya2VkIHVwIHByb3Blcmx5DQoJCS8vIG90aGVyd2lzZSB3ZSBicnV0ZSBmb3JjZSB0aGUgY29udGVudCBhcyB0aGUgZGVzY3JpcHRpb24NCgkJaWYgKCAhdGhpcy5lbGVtZW50LmZpbmQoICJbYXJpYS1kZXNjcmliZWRieV0iICkubGVuZ3RoICkgew0KCQkJdGhpcy51aURpYWxvZy5hdHRyKHsNCgkJCQkiYXJpYS1kZXNjcmliZWRieSI6IHRoaXMuZWxlbWVudC51bmlxdWVJZCgpLmF0dHIoICJpZCIgKQ0KCQkJfSk7DQoJCX0NCgl9LA0KDQoJX2NyZWF0ZVRpdGxlYmFyOiBmdW5jdGlvbigpIHsNCgkJdmFyIHVpRGlhbG9nVGl0bGU7DQoNCgkJdGhpcy51aURpYWxvZ1RpdGxlYmFyID0gJCggIjxkaXY+IiApDQoJCQkuYWRkQ2xhc3MoICJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1jb3JuZXItYWxsIHVpLWhlbHBlci1jbGVhcmZpeCIgKQ0KCQkJLnByZXBlbmRUbyggdGhpcy51aURpYWxvZyApOw0KCQl0aGlzLl9vbiggdGhpcy51aURpYWxvZ1RpdGxlYmFyLCB7DQoJCQltb3VzZWRvd246IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCQkvLyBEb24ndCBwcmV2ZW50IGNsaWNrIG9uIGNsb3NlIGJ1dHRvbiAoIzg4MzgpDQoJCQkJLy8gRm9jdXNpbmcgYSBkaWFsb2cgdGhhdCBpcyBwYXJ0aWFsbHkgc2Nyb2xsZWQgb3V0IG9mIHZpZXcNCgkJCQkvLyBjYXVzZXMgdGhlIGJyb3dzZXIgdG8gc2Nyb2xsIGl0IGludG8gdmlldywgcHJldmVudGluZyB0aGUgY2xpY2sgZXZlbnQNCgkJCQlpZiAoICEkKCBldmVudC50YXJnZXQgKS5jbG9zZXN0KCAiLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSIgKSApIHsNCgkJCQkJLy8gRGlhbG9nIGlzbid0IGdldHRpbmcgZm9jdXMgd2hlbiBkcmFnZ2luZyAoIzgwNjMpDQoJCQkJCXRoaXMudWlEaWFsb2cuZm9jdXMoKTsNCgkJCQl9DQoJCQl9DQoJCX0pOw0KDQoJCS8vIHN1cHBvcnQ6IElFDQoJCS8vIFVzZSB0eXBlPSJidXR0b24iIHRvIHByZXZlbnQgZW50ZXIga2V5cHJlc3NlcyBpbiB0ZXh0Ym94ZXMgZnJvbSBjbG9zaW5nIHRoZQ0KCQkvLyBkaWFsb2cgaW4gSUUgKCM5MzEyKQ0KCQl0aGlzLnVpRGlhbG9nVGl0bGViYXJDbG9zZSA9ICQoICI8YnV0dG9uIHR5cGU9J2J1dHRvbic+PC9idXR0b24+IiApDQoJCQkuYnV0dG9uKHsNCgkJCQlsYWJlbDogdGhpcy5vcHRpb25zLmNsb3NlVGV4dCwNCgkJCQlpY29uczogew0KCQkJCQlwcmltYXJ5OiAidWktaWNvbi1jbG9zZXRoaWNrIg0KCQkJCX0sDQoJCQkJdGV4dDogZmFsc2UNCgkJCX0pDQoJCQkuYWRkQ2xhc3MoICJ1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UiICkNCgkJCS5hcHBlbmRUbyggdGhpcy51aURpYWxvZ1RpdGxlYmFyICk7DQoJCXRoaXMuX29uKCB0aGlzLnVpRGlhbG9nVGl0bGViYXJDbG9zZSwgew0KCQkJY2xpY2s6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQkJCXRoaXMuY2xvc2UoIGV2ZW50ICk7DQoJCQl9DQoJCX0pOw0KDQoJCXVpRGlhbG9nVGl0bGUgPSAkKCAiPHNwYW4+IiApDQoJCQkudW5pcXVlSWQoKQ0KCQkJLmFkZENsYXNzKCAidWktZGlhbG9nLXRpdGxlIiApDQoJCQkucHJlcGVuZFRvKCB0aGlzLnVpRGlhbG9nVGl0bGViYXIgKTsNCgkJdGhpcy5fdGl0bGUoIHVpRGlhbG9nVGl0bGUgKTsNCg0KCQl0aGlzLnVpRGlhbG9nLmF0dHIoew0KCQkJImFyaWEtbGFiZWxsZWRieSI6IHVpRGlhbG9nVGl0bGUuYXR0ciggImlkIiApDQoJCX0pOw0KCX0sDQoNCglfdGl0bGU6IGZ1bmN0aW9uKCB0aXRsZSApIHsNCgkJaWYgKCAhdGhpcy5vcHRpb25zLnRpdGxlICkgew0KCQkJdGl0bGUuaHRtbCggIiYjMTYwOyIgKTsNCgkJfQ0KCQl0aXRsZS50ZXh0KCB0aGlzLm9wdGlvbnMudGl0bGUgKTsNCgl9LA0KDQoJX2NyZWF0ZUJ1dHRvblBhbmU6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLnVpRGlhbG9nQnV0dG9uUGFuZSA9ICQoICI8ZGl2PiIgKQ0KCQkJLmFkZENsYXNzKCAidWktZGlhbG9nLWJ1dHRvbnBhbmUgdWktd2lkZ2V0LWNvbnRlbnQgdWktaGVscGVyLWNsZWFyZml4IiApOw0KDQoJCXRoaXMudWlCdXR0b25TZXQgPSAkKCAiPGRpdj4iICkNCgkJCS5hZGRDbGFzcyggInVpLWRpYWxvZy1idXR0b25zZXQiICkNCgkJCS5hcHBlbmRUbyggdGhpcy51aURpYWxvZ0J1dHRvblBhbmUgKTsNCg0KCQl0aGlzLl9jcmVhdGVCdXR0b25zKCk7DQoJfSwNCg0KCV9jcmVhdGVCdXR0b25zOiBmdW5jdGlvbigpIHsNCgkJdmFyIHRoYXQgPSB0aGlzLA0KCQkJYnV0dG9ucyA9IHRoaXMub3B0aW9ucy5idXR0b25zOw0KDQoJCS8vIGlmIHdlIGFscmVhZHkgaGF2ZSBhIGJ1dHRvbiBwYW5lLCByZW1vdmUgaXQNCgkJdGhpcy51aURpYWxvZ0J1dHRvblBhbmUucmVtb3ZlKCk7DQoJCXRoaXMudWlCdXR0b25TZXQuZW1wdHkoKTsNCg0KCQlpZiAoICQuaXNFbXB0eU9iamVjdCggYnV0dG9ucyApIHx8ICgkLmlzQXJyYXkoIGJ1dHRvbnMgKSAmJiAhYnV0dG9ucy5sZW5ndGgpICkgew0KCQkJdGhpcy51aURpYWxvZy5yZW1vdmVDbGFzcyggInVpLWRpYWxvZy1idXR0b25zIiApOw0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJJC5lYWNoKCBidXR0b25zLCBmdW5jdGlvbiggbmFtZSwgcHJvcHMgKSB7DQoJCQl2YXIgY2xpY2ssIGJ1dHRvbk9wdGlvbnM7DQoJCQlwcm9wcyA9ICQuaXNGdW5jdGlvbiggcHJvcHMgKSA/DQoJCQkJeyBjbGljazogcHJvcHMsIHRleHQ6IG5hbWUgfSA6DQoJCQkJcHJvcHM7DQoJCQkvLyBEZWZhdWx0IHRvIGEgbm9uLXN1Ym1pdHRpbmcgYnV0dG9uDQoJCQlwcm9wcyA9ICQuZXh0ZW5kKCB7IHR5cGU6ICJidXR0b24iIH0sIHByb3BzICk7DQoJCQkvLyBDaGFuZ2UgdGhlIGNvbnRleHQgZm9yIHRoZSBjbGljayBjYWxsYmFjayB0byBiZSB0aGUgbWFpbiBlbGVtZW50DQoJCQljbGljayA9IHByb3BzLmNsaWNrOw0KCQkJcHJvcHMuY2xpY2sgPSBmdW5jdGlvbigpIHsNCgkJCQljbGljay5hcHBseSggdGhhdC5lbGVtZW50WyAwIF0sIGFyZ3VtZW50cyApOw0KCQkJfTsNCgkJCWJ1dHRvbk9wdGlvbnMgPSB7DQoJCQkJaWNvbnM6IHByb3BzLmljb25zLA0KCQkJCXRleHQ6IHByb3BzLnNob3dUZXh0DQoJCQl9Ow0KCQkJZGVsZXRlIHByb3BzLmljb25zOw0KCQkJZGVsZXRlIHByb3BzLnNob3dUZXh0Ow0KCQkJJCggIjxidXR0b24+PC9idXR0b24+IiwgcHJvcHMgKQ0KCQkJCS5idXR0b24oIGJ1dHRvbk9wdGlvbnMgKQ0KCQkJCS5hcHBlbmRUbyggdGhhdC51aUJ1dHRvblNldCApOw0KCQl9KTsNCgkJdGhpcy51aURpYWxvZy5hZGRDbGFzcyggInVpLWRpYWxvZy1idXR0b25zIiApOw0KCQl0aGlzLnVpRGlhbG9nQnV0dG9uUGFuZS5hcHBlbmRUbyggdGhpcy51aURpYWxvZyApOw0KCX0sDQoNCglfbWFrZURyYWdnYWJsZTogZnVuY3Rpb24oKSB7DQoJCXZhciB0aGF0ID0gdGhpcywNCgkJCW9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7DQoNCgkJZnVuY3Rpb24gZmlsdGVyZWRVaSggdWkgKSB7DQoJCQlyZXR1cm4gew0KCQkJCXBvc2l0aW9uOiB1aS5wb3NpdGlvbiwNCgkJCQlvZmZzZXQ6IHVpLm9mZnNldA0KCQkJfTsNCgkJfQ0KDQoJCXRoaXMudWlEaWFsb2cuZHJhZ2dhYmxlKHsNCgkJCWNhbmNlbDogIi51aS1kaWFsb2ctY29udGVudCwgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSIsDQoJCQloYW5kbGU6ICIudWktZGlhbG9nLXRpdGxlYmFyIiwNCgkJCWNvbnRhaW5tZW50OiAiZG9jdW1lbnQiLA0KCQkJc3RhcnQ6IGZ1bmN0aW9uKCBldmVudCwgdWkgKSB7DQoJCQkJJCggdGhpcyApLmFkZENsYXNzKCAidWktZGlhbG9nLWRyYWdnaW5nIiApOw0KCQkJCXRoYXQuX2Jsb2NrRnJhbWVzKCk7DQoJCQkJdGhhdC5fdHJpZ2dlciggImRyYWdTdGFydCIsIGV2ZW50LCBmaWx0ZXJlZFVpKCB1aSApICk7DQoJCQl9LA0KCQkJZHJhZzogZnVuY3Rpb24oIGV2ZW50LCB1aSApIHsNCgkJCQl0aGF0Ll90cmlnZ2VyKCAiZHJhZyIsIGV2ZW50LCBmaWx0ZXJlZFVpKCB1aSApICk7DQoJCQl9LA0KCQkJc3RvcDogZnVuY3Rpb24oIGV2ZW50LCB1aSApIHsNCgkJCQl2YXIgbGVmdCA9IHVpLm9mZnNldC5sZWZ0IC0gdGhhdC5kb2N1bWVudC5zY3JvbGxMZWZ0KCksDQoJCQkJCXRvcCA9IHVpLm9mZnNldC50b3AgLSB0aGF0LmRvY3VtZW50LnNjcm9sbFRvcCgpOw0KDQoJCQkJb3B0aW9ucy5wb3NpdGlvbiA9IHsNCgkJCQkJbXk6ICJsZWZ0IHRvcCIsDQoJCQkJCWF0OiAibGVmdCIgKyAobGVmdCA+PSAwID8gIisiIDogIiIpICsgbGVmdCArICIgIiArDQoJCQkJCQkidG9wIiArICh0b3AgPj0gMCA/ICIrIiA6ICIiKSArIHRvcCwNCgkJCQkJb2Y6IHRoYXQud2luZG93DQoJCQkJfTsNCgkJCQkkKCB0aGlzICkucmVtb3ZlQ2xhc3MoICJ1aS1kaWFsb2ctZHJhZ2dpbmciICk7DQoJCQkJdGhhdC5fdW5ibG9ja0ZyYW1lcygpOw0KCQkJCXRoYXQuX3RyaWdnZXIoICJkcmFnU3RvcCIsIGV2ZW50LCBmaWx0ZXJlZFVpKCB1aSApICk7DQoJCQl9DQoJCX0pOw0KCX0sDQoNCglfbWFrZVJlc2l6YWJsZTogZnVuY3Rpb24oKSB7DQoJCXZhciB0aGF0ID0gdGhpcywNCgkJCW9wdGlvbnMgPSB0aGlzLm9wdGlvbnMsDQoJCQloYW5kbGVzID0gb3B0aW9ucy5yZXNpemFibGUsDQoJCQkvLyAudWktcmVzaXphYmxlIGhhcyBwb3NpdGlvbjogcmVsYXRpdmUgZGVmaW5lZCBpbiB0aGUgc3R5bGVzaGVldA0KCQkJLy8gYnV0IGRpYWxvZ3MgaGF2ZSB0byB1c2UgYWJzb2x1dGUgb3IgZml4ZWQgcG9zaXRpb25pbmcNCgkJCXBvc2l0aW9uID0gdGhpcy51aURpYWxvZy5jc3MoInBvc2l0aW9uIiksDQoJCQlyZXNpemVIYW5kbGVzID0gdHlwZW9mIGhhbmRsZXMgPT09ICJzdHJpbmciID8NCgkJCQloYW5kbGVzCToNCgkJCQkibixlLHMsdyxzZSxzdyxuZSxudyI7DQoNCgkJZnVuY3Rpb24gZmlsdGVyZWRVaSggdWkgKSB7DQoJCQlyZXR1cm4gew0KCQkJCW9yaWdpbmFsUG9zaXRpb246IHVpLm9yaWdpbmFsUG9zaXRpb24sDQoJCQkJb3JpZ2luYWxTaXplOiB1aS5vcmlnaW5hbFNpemUsDQoJCQkJcG9zaXRpb246IHVpLnBvc2l0aW9uLA0KCQkJCXNpemU6IHVpLnNpemUNCgkJCX07DQoJCX0NCg0KCQl0aGlzLnVpRGlhbG9nLnJlc2l6YWJsZSh7DQoJCQljYW5jZWw6ICIudWktZGlhbG9nLWNvbnRlbnQiLA0KCQkJY29udGFpbm1lbnQ6ICJkb2N1bWVudCIsDQoJCQlhbHNvUmVzaXplOiB0aGlzLmVsZW1lbnQsDQoJCQltYXhXaWR0aDogb3B0aW9ucy5tYXhXaWR0aCwNCgkJCW1heEhlaWdodDogb3B0aW9ucy5tYXhIZWlnaHQsDQoJCQltaW5XaWR0aDogb3B0aW9ucy5taW5XaWR0aCwNCgkJCW1pbkhlaWdodDogdGhpcy5fbWluSGVpZ2h0KCksDQoJCQloYW5kbGVzOiByZXNpemVIYW5kbGVzLA0KCQkJc3RhcnQ6IGZ1bmN0aW9uKCBldmVudCwgdWkgKSB7DQoJCQkJJCggdGhpcyApLmFkZENsYXNzKCAidWktZGlhbG9nLXJlc2l6aW5nIiApOw0KCQkJCXRoYXQuX2Jsb2NrRnJhbWVzKCk7DQoJCQkJdGhhdC5fdHJpZ2dlciggInJlc2l6ZVN0YXJ0IiwgZXZlbnQsIGZpbHRlcmVkVWkoIHVpICkgKTsNCgkJCX0sDQoJCQlyZXNpemU6IGZ1bmN0aW9uKCBldmVudCwgdWkgKSB7DQoJCQkJdGhhdC5fdHJpZ2dlciggInJlc2l6ZSIsIGV2ZW50LCBmaWx0ZXJlZFVpKCB1aSApICk7DQoJCQl9LA0KCQkJc3RvcDogZnVuY3Rpb24oIGV2ZW50LCB1aSApIHsNCgkJCQl2YXIgb2Zmc2V0ID0gdGhhdC51aURpYWxvZy5vZmZzZXQoKSwNCgkJCQkJbGVmdCA9IG9mZnNldC5sZWZ0IC0gdGhhdC5kb2N1bWVudC5zY3JvbGxMZWZ0KCksDQoJCQkJCXRvcCA9IG9mZnNldC50b3AgLSB0aGF0LmRvY3VtZW50LnNjcm9sbFRvcCgpOw0KDQoJCQkJb3B0aW9ucy5oZWlnaHQgPSB0aGF0LnVpRGlhbG9nLmhlaWdodCgpOw0KCQkJCW9wdGlvbnMud2lkdGggPSB0aGF0LnVpRGlhbG9nLndpZHRoKCk7DQoJCQkJb3B0aW9ucy5wb3NpdGlvbiA9IHsNCgkJCQkJbXk6ICJsZWZ0IHRvcCIsDQoJCQkJCWF0OiAibGVmdCIgKyAobGVmdCA+PSAwID8gIisiIDogIiIpICsgbGVmdCArICIgIiArDQoJCQkJCQkidG9wIiArICh0b3AgPj0gMCA/ICIrIiA6ICIiKSArIHRvcCwNCgkJCQkJb2Y6IHRoYXQud2luZG93DQoJCQkJfTsNCgkJCQkkKCB0aGlzICkucmVtb3ZlQ2xhc3MoICJ1aS1kaWFsb2ctcmVzaXppbmciICk7DQoJCQkJdGhhdC5fdW5ibG9ja0ZyYW1lcygpOw0KCQkJCXRoYXQuX3RyaWdnZXIoICJyZXNpemVTdG9wIiwgZXZlbnQsIGZpbHRlcmVkVWkoIHVpICkgKTsNCgkJCX0NCgkJfSkNCgkJLmNzcyggInBvc2l0aW9uIiwgcG9zaXRpb24gKTsNCgl9LA0KDQoJX3RyYWNrRm9jdXM6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLl9vbiggdGhpcy53aWRnZXQoKSwgew0KCQkJZm9jdXNpbjogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJCXRoaXMuX21ha2VGb2N1c1RhcmdldCgpOw0KCQkJCXRoaXMuX2ZvY3VzZWRFbGVtZW50ID0gJCggZXZlbnQudGFyZ2V0ICk7DQoJCQl9DQoJCX0pOw0KCX0sDQoNCglfbWFrZUZvY3VzVGFyZ2V0OiBmdW5jdGlvbigpIHsNCgkJdGhpcy5fdW50cmFja0luc3RhbmNlKCk7DQoJCXRoaXMuX3RyYWNraW5nSW5zdGFuY2VzKCkudW5zaGlmdCggdGhpcyApOw0KCX0sDQoNCglfdW50cmFja0luc3RhbmNlOiBmdW5jdGlvbigpIHsNCgkJdmFyIGluc3RhbmNlcyA9IHRoaXMuX3RyYWNraW5nSW5zdGFuY2VzKCksDQoJCQlleGlzdHMgPSAkLmluQXJyYXkoIHRoaXMsIGluc3RhbmNlcyApOw0KCQlpZiAoIGV4aXN0cyAhPT0gLTEgKSB7DQoJCQlpbnN0YW5jZXMuc3BsaWNlKCBleGlzdHMsIDEgKTsNCgkJfQ0KCX0sDQoNCglfdHJhY2tpbmdJbnN0YW5jZXM6IGZ1bmN0aW9uKCkgew0KCQl2YXIgaW5zdGFuY2VzID0gdGhpcy5kb2N1bWVudC5kYXRhKCAidWktZGlhbG9nLWluc3RhbmNlcyIgKTsNCgkJaWYgKCAhaW5zdGFuY2VzICkgew0KCQkJaW5zdGFuY2VzID0gW107DQoJCQl0aGlzLmRvY3VtZW50LmRhdGEoICJ1aS1kaWFsb2ctaW5zdGFuY2VzIiwgaW5zdGFuY2VzICk7DQoJCX0NCgkJcmV0dXJuIGluc3RhbmNlczsNCgl9LA0KDQoJX21pbkhlaWdodDogZnVuY3Rpb24oKSB7DQoJCXZhciBvcHRpb25zID0gdGhpcy5vcHRpb25zOw0KDQoJCXJldHVybiBvcHRpb25zLmhlaWdodCA9PT0gImF1dG8iID8NCgkJCW9wdGlvbnMubWluSGVpZ2h0IDoNCgkJCU1hdGgubWluKCBvcHRpb25zLm1pbkhlaWdodCwgb3B0aW9ucy5oZWlnaHQgKTsNCgl9LA0KDQoJX3Bvc2l0aW9uOiBmdW5jdGlvbigpIHsNCgkJLy8gTmVlZCB0byBzaG93IHRoZSBkaWFsb2cgdG8gZ2V0IHRoZSBhY3R1YWwgb2Zmc2V0IGluIHRoZSBwb3NpdGlvbiBwbHVnaW4NCgkJdmFyIGlzVmlzaWJsZSA9IHRoaXMudWlEaWFsb2cuaXMoICI6dmlzaWJsZSIgKTsNCgkJaWYgKCAhaXNWaXNpYmxlICkgew0KCQkJdGhpcy51aURpYWxvZy5zaG93KCk7DQoJCX0NCgkJdGhpcy51aURpYWxvZy5wb3NpdGlvbiggdGhpcy5vcHRpb25zLnBvc2l0aW9uICk7DQoJCWlmICggIWlzVmlzaWJsZSApIHsNCgkJCXRoaXMudWlEaWFsb2cuaGlkZSgpOw0KCQl9DQoJfSwNCg0KCV9zZXRPcHRpb25zOiBmdW5jdGlvbiggb3B0aW9ucyApIHsNCgkJdmFyIHRoYXQgPSB0aGlzLA0KCQkJcmVzaXplID0gZmFsc2UsDQoJCQlyZXNpemFibGVPcHRpb25zID0ge307DQoNCgkJJC5lYWNoKCBvcHRpb25zLCBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsNCgkJCXRoYXQuX3NldE9wdGlvbigga2V5LCB2YWx1ZSApOw0KDQoJCQlpZiAoIGtleSBpbiB0aGF0LnNpemVSZWxhdGVkT3B0aW9ucyApIHsNCgkJCQlyZXNpemUgPSB0cnVlOw0KCQkJfQ0KCQkJaWYgKCBrZXkgaW4gdGhhdC5yZXNpemFibGVSZWxhdGVkT3B0aW9ucyApIHsNCgkJCQlyZXNpemFibGVPcHRpb25zWyBrZXkgXSA9IHZhbHVlOw0KCQkJfQ0KCQl9KTsNCg0KCQlpZiAoIHJlc2l6ZSApIHsNCgkJCXRoaXMuX3NpemUoKTsNCgkJCXRoaXMuX3Bvc2l0aW9uKCk7DQoJCX0NCgkJaWYgKCB0aGlzLnVpRGlhbG9nLmlzKCAiOmRhdGEodWktcmVzaXphYmxlKSIgKSApIHsNCgkJCXRoaXMudWlEaWFsb2cucmVzaXphYmxlKCAib3B0aW9uIiwgcmVzaXphYmxlT3B0aW9ucyApOw0KCQl9DQoJfSwNCg0KCV9zZXRPcHRpb246IGZ1bmN0aW9uKCBrZXksIHZhbHVlICkgew0KCQl2YXIgaXNEcmFnZ2FibGUsIGlzUmVzaXphYmxlLA0KCQkJdWlEaWFsb2cgPSB0aGlzLnVpRGlhbG9nOw0KDQoJCWlmICgga2V5ID09PSAiZGlhbG9nQ2xhc3MiICkgew0KCQkJdWlEaWFsb2cNCgkJCQkucmVtb3ZlQ2xhc3MoIHRoaXMub3B0aW9ucy5kaWFsb2dDbGFzcyApDQoJCQkJLmFkZENsYXNzKCB2YWx1ZSApOw0KCQl9DQoNCgkJaWYgKCBrZXkgPT09ICJkaXNhYmxlZCIgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQl0aGlzLl9zdXBlcigga2V5LCB2YWx1ZSApOw0KDQoJCWlmICgga2V5ID09PSAiYXBwZW5kVG8iICkgew0KCQkJdGhpcy51aURpYWxvZy5hcHBlbmRUbyggdGhpcy5fYXBwZW5kVG8oKSApOw0KCQl9DQoNCgkJaWYgKCBrZXkgPT09ICJidXR0b25zIiApIHsNCgkJCXRoaXMuX2NyZWF0ZUJ1dHRvbnMoKTsNCgkJfQ0KDQoJCWlmICgga2V5ID09PSAiY2xvc2VUZXh0IiApIHsNCgkJCXRoaXMudWlEaWFsb2dUaXRsZWJhckNsb3NlLmJ1dHRvbih7DQoJCQkJLy8gRW5zdXJlIHRoYXQgd2UgYWx3YXlzIHBhc3MgYSBzdHJpbmcNCgkJCQlsYWJlbDogIiIgKyB2YWx1ZQ0KCQkJfSk7DQoJCX0NCg0KCQlpZiAoIGtleSA9PT0gImRyYWdnYWJsZSIgKSB7DQoJCQlpc0RyYWdnYWJsZSA9IHVpRGlhbG9nLmlzKCAiOmRhdGEodWktZHJhZ2dhYmxlKSIgKTsNCgkJCWlmICggaXNEcmFnZ2FibGUgJiYgIXZhbHVlICkgew0KCQkJCXVpRGlhbG9nLmRyYWdnYWJsZSggImRlc3Ryb3kiICk7DQoJCQl9DQoNCgkJCWlmICggIWlzRHJhZ2dhYmxlICYmIHZhbHVlICkgew0KCQkJCXRoaXMuX21ha2VEcmFnZ2FibGUoKTsNCgkJCX0NCgkJfQ0KDQoJCWlmICgga2V5ID09PSAicG9zaXRpb24iICkgew0KCQkJdGhpcy5fcG9zaXRpb24oKTsNCgkJfQ0KDQoJCWlmICgga2V5ID09PSAicmVzaXphYmxlIiApIHsNCgkJCS8vIGN1cnJlbnRseSByZXNpemFibGUsIGJlY29taW5nIG5vbi1yZXNpemFibGUNCgkJCWlzUmVzaXphYmxlID0gdWlEaWFsb2cuaXMoICI6ZGF0YSh1aS1yZXNpemFibGUpIiApOw0KCQkJaWYgKCBpc1Jlc2l6YWJsZSAmJiAhdmFsdWUgKSB7DQoJCQkJdWlEaWFsb2cucmVzaXphYmxlKCAiZGVzdHJveSIgKTsNCgkJCX0NCg0KCQkJLy8gY3VycmVudGx5IHJlc2l6YWJsZSwgY2hhbmdpbmcgaGFuZGxlcw0KCQkJaWYgKCBpc1Jlc2l6YWJsZSAmJiB0eXBlb2YgdmFsdWUgPT09ICJzdHJpbmciICkgew0KCQkJCXVpRGlhbG9nLnJlc2l6YWJsZSggIm9wdGlvbiIsICJoYW5kbGVzIiwgdmFsdWUgKTsNCgkJCX0NCg0KCQkJLy8gY3VycmVudGx5IG5vbi1yZXNpemFibGUsIGJlY29taW5nIHJlc2l6YWJsZQ0KCQkJaWYgKCAhaXNSZXNpemFibGUgJiYgdmFsdWUgIT09IGZhbHNlICkgew0KCQkJCXRoaXMuX21ha2VSZXNpemFibGUoKTsNCgkJCX0NCgkJfQ0KDQoJCWlmICgga2V5ID09PSAidGl0bGUiICkgew0KCQkJdGhpcy5fdGl0bGUoIHRoaXMudWlEaWFsb2dUaXRsZWJhci5maW5kKCAiLnVpLWRpYWxvZy10aXRsZSIgKSApOw0KCQl9DQoJfSwNCg0KCV9zaXplOiBmdW5jdGlvbigpIHsNCgkJLy8gSWYgdGhlIHVzZXIgaGFzIHJlc2l6ZWQgdGhlIGRpYWxvZywgdGhlIC51aS1kaWFsb2cgYW5kIC51aS1kaWFsb2ctY29udGVudA0KCQkvLyBkaXZzIHdpbGwgYm90aCBoYXZlIHdpZHRoIGFuZCBoZWlnaHQgc2V0LCBzbyB3ZSBuZWVkIHRvIHJlc2V0IHRoZW0NCgkJdmFyIG5vbkNvbnRlbnRIZWlnaHQsIG1pbkNvbnRlbnRIZWlnaHQsIG1heENvbnRlbnRIZWlnaHQsDQoJCQlvcHRpb25zID0gdGhpcy5vcHRpb25zOw0KDQoJCS8vIFJlc2V0IGNvbnRlbnQgc2l6aW5nDQoJCXRoaXMuZWxlbWVudC5zaG93KCkuY3NzKHsNCgkJCXdpZHRoOiAiYXV0byIsDQoJCQltaW5IZWlnaHQ6IDAsDQoJCQltYXhIZWlnaHQ6ICJub25lIiwNCgkJCWhlaWdodDogMA0KCQl9KTsNCg0KCQlpZiAoIG9wdGlvbnMubWluV2lkdGggPiBvcHRpb25zLndpZHRoICkgew0KCQkJb3B0aW9ucy53aWR0aCA9IG9wdGlvbnMubWluV2lkdGg7DQoJCX0NCg0KCQkvLyByZXNldCB3cmFwcGVyIHNpemluZw0KCQkvLyBkZXRlcm1pbmUgdGhlIGhlaWdodCBvZiBhbGwgdGhlIG5vbi1jb250ZW50IGVsZW1lbnRzDQoJCW5vbkNvbnRlbnRIZWlnaHQgPSB0aGlzLnVpRGlhbG9nLmNzcyh7DQoJCQkJaGVpZ2h0OiAiYXV0byIsDQoJCQkJd2lkdGg6IG9wdGlvbnMud2lkdGgNCgkJCX0pDQoJCQkub3V0ZXJIZWlnaHQoKTsNCgkJbWluQ29udGVudEhlaWdodCA9IE1hdGgubWF4KCAwLCBvcHRpb25zLm1pbkhlaWdodCAtIG5vbkNvbnRlbnRIZWlnaHQgKTsNCgkJbWF4Q29udGVudEhlaWdodCA9IHR5cGVvZiBvcHRpb25zLm1heEhlaWdodCA9PT0gIm51bWJlciIgPw0KCQkJTWF0aC5tYXgoIDAsIG9wdGlvbnMubWF4SGVpZ2h0IC0gbm9uQ29udGVudEhlaWdodCApIDoNCgkJCSJub25lIjsNCg0KCQlpZiAoIG9wdGlvbnMuaGVpZ2h0ID09PSAiYXV0byIgKSB7DQoJCQl0aGlzLmVsZW1lbnQuY3NzKHsNCgkJCQltaW5IZWlnaHQ6IG1pbkNvbnRlbnRIZWlnaHQsDQoJCQkJbWF4SGVpZ2h0OiBtYXhDb250ZW50SGVpZ2h0LA0KCQkJCWhlaWdodDogImF1dG8iDQoJCQl9KTsNCgkJfSBlbHNlIHsNCgkJCXRoaXMuZWxlbWVudC5oZWlnaHQoIE1hdGgubWF4KCAwLCBvcHRpb25zLmhlaWdodCAtIG5vbkNvbnRlbnRIZWlnaHQgKSApOw0KCQl9DQoNCgkJaWYgKCB0aGlzLnVpRGlhbG9nLmlzKCAiOmRhdGEodWktcmVzaXphYmxlKSIgKSApIHsNCgkJCXRoaXMudWlEaWFsb2cucmVzaXphYmxlKCAib3B0aW9uIiwgIm1pbkhlaWdodCIsIHRoaXMuX21pbkhlaWdodCgpICk7DQoJCX0NCgl9LA0KDQoJX2Jsb2NrRnJhbWVzOiBmdW5jdGlvbigpIHsNCgkJdGhpcy5pZnJhbWVCbG9ja3MgPSB0aGlzLmRvY3VtZW50LmZpbmQoICJpZnJhbWUiICkubWFwKGZ1bmN0aW9uKCkgew0KCQkJdmFyIGlmcmFtZSA9ICQoIHRoaXMgKTsNCg0KCQkJcmV0dXJuICQoICI8ZGl2PiIgKQ0KCQkJCS5jc3Moew0KCQkJCQlwb3NpdGlvbjogImFic29sdXRlIiwNCgkJCQkJd2lkdGg6IGlmcmFtZS5vdXRlcldpZHRoKCksDQoJCQkJCWhlaWdodDogaWZyYW1lLm91dGVySGVpZ2h0KCkNCgkJCQl9KQ0KCQkJCS5hcHBlbmRUbyggaWZyYW1lLnBhcmVudCgpICkNCgkJCQkub2Zmc2V0KCBpZnJhbWUub2Zmc2V0KCkgKVswXTsNCgkJfSk7DQoJfSwNCg0KCV91bmJsb2NrRnJhbWVzOiBmdW5jdGlvbigpIHsNCgkJaWYgKCB0aGlzLmlmcmFtZUJsb2NrcyApIHsNCgkJCXRoaXMuaWZyYW1lQmxvY2tzLnJlbW92ZSgpOw0KCQkJZGVsZXRlIHRoaXMuaWZyYW1lQmxvY2tzOw0KCQl9DQoJfSwNCg0KCV9hbGxvd0ludGVyYWN0aW9uOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCWlmICggJCggZXZlbnQudGFyZ2V0ICkuY2xvc2VzdCggIi51aS1kaWFsb2ciICkubGVuZ3RoICkgew0KCQkJcmV0dXJuIHRydWU7DQoJCX0NCg0KCQkvLyBUT0RPOiBSZW1vdmUgaGFjayB3aGVuIGRhdGVwaWNrZXIgaW1wbGVtZW50cw0KCQkvLyB0aGUgLnVpLWZyb250IGxvZ2ljICgjODk4OSkNCgkJcmV0dXJuICEhJCggZXZlbnQudGFyZ2V0ICkuY2xvc2VzdCggIi51aS1kYXRlcGlja2VyIiApLmxlbmd0aDsNCgl9LA0KDQoJX2NyZWF0ZU92ZXJsYXk6IGZ1bmN0aW9uKCkgew0KCQlpZiAoICF0aGlzLm9wdGlvbnMubW9kYWwgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQkvLyBXZSB1c2UgYSBkZWxheSBpbiBjYXNlIHRoZSBvdmVybGF5IGlzIGNyZWF0ZWQgZnJvbSBhbg0KCQkvLyBldmVudCB0aGF0IHdlJ3JlIGdvaW5nIHRvIGJlIGNhbmNlbGxpbmcgKCMyODA0KQ0KCQl2YXIgaXNPcGVuaW5nID0gdHJ1ZTsNCgkJdGhpcy5fZGVsYXkoZnVuY3Rpb24oKSB7DQoJCQlpc09wZW5pbmcgPSBmYWxzZTsNCgkJfSk7DQoNCgkJaWYgKCAhdGhpcy5kb2N1bWVudC5kYXRhKCAidWktZGlhbG9nLW92ZXJsYXlzIiApICkgew0KDQoJCQkvLyBQcmV2ZW50IHVzZSBvZiBhbmNob3JzIGFuZCBpbnB1dHMNCgkJCS8vIFVzaW5nIF9vbigpIGZvciBhbiBldmVudCBoYW5kbGVyIHNoYXJlZCBhY3Jvc3MgbWFueSBpbnN0YW5jZXMgaXMNCgkJCS8vIHNhZmUgYmVjYXVzZSB0aGUgZGlhbG9ncyBzdGFjayBhbmQgbXVzdCBiZSBjbG9zZWQgaW4gcmV2ZXJzZSBvcmRlcg0KCQkJdGhpcy5fb24oIHRoaXMuZG9jdW1lbnQsIHsNCgkJCQlmb2N1c2luOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQkJCWlmICggaXNPcGVuaW5nICkgew0KCQkJCQkJcmV0dXJuOw0KCQkJCQl9DQoNCgkJCQkJaWYgKCAhdGhpcy5fYWxsb3dJbnRlcmFjdGlvbiggZXZlbnQgKSApIHsNCgkJCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJCQkJCQl0aGlzLl90cmFja2luZ0luc3RhbmNlcygpWyAwIF0uX2ZvY3VzVGFiYmFibGUoKTsNCgkJCQkJfQ0KCQkJCX0NCgkJCX0pOw0KCQl9DQoNCgkJdGhpcy5vdmVybGF5ID0gJCggIjxkaXY+IiApDQoJCQkuYWRkQ2xhc3MoICJ1aS13aWRnZXQtb3ZlcmxheSB1aS1mcm9udCIgKQ0KCQkJLmFwcGVuZFRvKCB0aGlzLl9hcHBlbmRUbygpICk7DQoJCXRoaXMuX29uKCB0aGlzLm92ZXJsYXksIHsNCgkJCW1vdXNlZG93bjogIl9rZWVwRm9jdXMiDQoJCX0pOw0KCQl0aGlzLmRvY3VtZW50LmRhdGEoICJ1aS1kaWFsb2ctb3ZlcmxheXMiLA0KCQkJKHRoaXMuZG9jdW1lbnQuZGF0YSggInVpLWRpYWxvZy1vdmVybGF5cyIgKSB8fCAwKSArIDEgKTsNCgl9LA0KDQoJX2Rlc3Ryb3lPdmVybGF5OiBmdW5jdGlvbigpIHsNCgkJaWYgKCAhdGhpcy5vcHRpb25zLm1vZGFsICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJaWYgKCB0aGlzLm92ZXJsYXkgKSB7DQoJCQl2YXIgb3ZlcmxheXMgPSB0aGlzLmRvY3VtZW50LmRhdGEoICJ1aS1kaWFsb2ctb3ZlcmxheXMiICkgLSAxOw0KDQoJCQlpZiAoICFvdmVybGF5cyApIHsNCgkJCQl0aGlzLmRvY3VtZW50DQoJCQkJCS51bmJpbmQoICJmb2N1c2luIiApDQoJCQkJCS5yZW1vdmVEYXRhKCAidWktZGlhbG9nLW92ZXJsYXlzIiApOw0KCQkJfSBlbHNlIHsNCgkJCQl0aGlzLmRvY3VtZW50LmRhdGEoICJ1aS1kaWFsb2ctb3ZlcmxheXMiLCBvdmVybGF5cyApOw0KCQkJfQ0KDQoJCQl0aGlzLm92ZXJsYXkucmVtb3ZlKCk7DQoJCQl0aGlzLm92ZXJsYXkgPSBudWxsOw0KCQl9DQoJfQ0KfSk7DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgUHJvZ3Jlc3NiYXIgMS4xMS40DQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqDQogKiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9wcm9ncmVzc2Jhci8NCiAqLw0KDQoNCnZhciBwcm9ncmVzc2JhciA9ICQud2lkZ2V0KCAidWkucHJvZ3Jlc3NiYXIiLCB7DQoJdmVyc2lvbjogIjEuMTEuNCIsDQoJb3B0aW9uczogew0KCQltYXg6IDEwMCwNCgkJdmFsdWU6IDAsDQoNCgkJY2hhbmdlOiBudWxsLA0KCQljb21wbGV0ZTogbnVsbA0KCX0sDQoNCgltaW46IDAsDQoNCglfY3JlYXRlOiBmdW5jdGlvbigpIHsNCgkJLy8gQ29uc3RyYWluIGluaXRpYWwgdmFsdWUNCgkJdGhpcy5vbGRWYWx1ZSA9IHRoaXMub3B0aW9ucy52YWx1ZSA9IHRoaXMuX2NvbnN0cmFpbmVkVmFsdWUoKTsNCg0KCQl0aGlzLmVsZW1lbnQNCgkJCS5hZGRDbGFzcyggInVpLXByb2dyZXNzYmFyIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIiApDQoJCQkuYXR0cih7DQoJCQkJLy8gT25seSBzZXQgc3RhdGljIHZhbHVlcywgYXJpYS12YWx1ZW5vdyBhbmQgYXJpYS12YWx1ZW1heCBhcmUNCgkJCQkvLyBzZXQgaW5zaWRlIF9yZWZyZXNoVmFsdWUoKQ0KCQkJCXJvbGU6ICJwcm9ncmVzc2JhciIsDQoJCQkJImFyaWEtdmFsdWVtaW4iOiB0aGlzLm1pbg0KCQkJfSk7DQoNCgkJdGhpcy52YWx1ZURpdiA9ICQoICI8ZGl2IGNsYXNzPSd1aS1wcm9ncmVzc2Jhci12YWx1ZSB1aS13aWRnZXQtaGVhZGVyIHVpLWNvcm5lci1sZWZ0Jz48L2Rpdj4iICkNCgkJCS5hcHBlbmRUbyggdGhpcy5lbGVtZW50ICk7DQoNCgkJdGhpcy5fcmVmcmVzaFZhbHVlKCk7DQoJfSwNCg0KCV9kZXN0cm95OiBmdW5jdGlvbigpIHsNCgkJdGhpcy5lbGVtZW50DQoJCQkucmVtb3ZlQ2xhc3MoICJ1aS1wcm9ncmVzc2JhciB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCIgKQ0KCQkJLnJlbW92ZUF0dHIoICJyb2xlIiApDQoJCQkucmVtb3ZlQXR0ciggImFyaWEtdmFsdWVtaW4iICkNCgkJCS5yZW1vdmVBdHRyKCAiYXJpYS12YWx1ZW1heCIgKQ0KCQkJLnJlbW92ZUF0dHIoICJhcmlhLXZhbHVlbm93IiApOw0KDQoJCXRoaXMudmFsdWVEaXYucmVtb3ZlKCk7DQoJfSwNCg0KCXZhbHVlOiBmdW5jdGlvbiggbmV3VmFsdWUgKSB7DQoJCWlmICggbmV3VmFsdWUgPT09IHVuZGVmaW5lZCApIHsNCgkJCXJldHVybiB0aGlzLm9wdGlvbnMudmFsdWU7DQoJCX0NCg0KCQl0aGlzLm9wdGlvbnMudmFsdWUgPSB0aGlzLl9jb25zdHJhaW5lZFZhbHVlKCBuZXdWYWx1ZSApOw0KCQl0aGlzLl9yZWZyZXNoVmFsdWUoKTsNCgl9LA0KDQoJX2NvbnN0cmFpbmVkVmFsdWU6IGZ1bmN0aW9uKCBuZXdWYWx1ZSApIHsNCgkJaWYgKCBuZXdWYWx1ZSA9PT0gdW5kZWZpbmVkICkgew0KCQkJbmV3VmFsdWUgPSB0aGlzLm9wdGlvbnMudmFsdWU7DQoJCX0NCg0KCQl0aGlzLmluZGV0ZXJtaW5hdGUgPSBuZXdWYWx1ZSA9PT0gZmFsc2U7DQoNCgkJLy8gc2FuaXRpemUgdmFsdWUNCgkJaWYgKCB0eXBlb2YgbmV3VmFsdWUgIT09ICJudW1iZXIiICkgew0KCQkJbmV3VmFsdWUgPSAwOw0KCQl9DQoNCgkJcmV0dXJuIHRoaXMuaW5kZXRlcm1pbmF0ZSA/IGZhbHNlIDoNCgkJCU1hdGgubWluKCB0aGlzLm9wdGlvbnMubWF4LCBNYXRoLm1heCggdGhpcy5taW4sIG5ld1ZhbHVlICkgKTsNCgl9LA0KDQoJX3NldE9wdGlvbnM6IGZ1bmN0aW9uKCBvcHRpb25zICkgew0KCQkvLyBFbnN1cmUgInZhbHVlIiBvcHRpb24gaXMgc2V0IGFmdGVyIG90aGVyIHZhbHVlcyAobGlrZSBtYXgpDQoJCXZhciB2YWx1ZSA9IG9wdGlvbnMudmFsdWU7DQoJCWRlbGV0ZSBvcHRpb25zLnZhbHVlOw0KDQoJCXRoaXMuX3N1cGVyKCBvcHRpb25zICk7DQoNCgkJdGhpcy5vcHRpb25zLnZhbHVlID0gdGhpcy5fY29uc3RyYWluZWRWYWx1ZSggdmFsdWUgKTsNCgkJdGhpcy5fcmVmcmVzaFZhbHVlKCk7DQoJfSwNCg0KCV9zZXRPcHRpb246IGZ1bmN0aW9uKCBrZXksIHZhbHVlICkgew0KCQlpZiAoIGtleSA9PT0gIm1heCIgKSB7DQoJCQkvLyBEb24ndCBhbGxvdyBhIG1heCBsZXNzIHRoYW4gbWluDQoJCQl2YWx1ZSA9IE1hdGgubWF4KCB0aGlzLm1pbiwgdmFsdWUgKTsNCgkJfQ0KCQlpZiAoIGtleSA9PT0gImRpc2FibGVkIiApIHsNCgkJCXRoaXMuZWxlbWVudA0KCQkJCS50b2dnbGVDbGFzcyggInVpLXN0YXRlLWRpc2FibGVkIiwgISF2YWx1ZSApDQoJCQkJLmF0dHIoICJhcmlhLWRpc2FibGVkIiwgdmFsdWUgKTsNCgkJfQ0KCQl0aGlzLl9zdXBlcigga2V5LCB2YWx1ZSApOw0KCX0sDQoNCglfcGVyY2VudGFnZTogZnVuY3Rpb24oKSB7DQoJCXJldHVybiB0aGlzLmluZGV0ZXJtaW5hdGUgPyAxMDAgOiAxMDAgKiAoIHRoaXMub3B0aW9ucy52YWx1ZSAtIHRoaXMubWluICkgLyAoIHRoaXMub3B0aW9ucy5tYXggLSB0aGlzLm1pbiApOw0KCX0sDQoNCglfcmVmcmVzaFZhbHVlOiBmdW5jdGlvbigpIHsNCgkJdmFyIHZhbHVlID0gdGhpcy5vcHRpb25zLnZhbHVlLA0KCQkJcGVyY2VudGFnZSA9IHRoaXMuX3BlcmNlbnRhZ2UoKTsNCg0KCQl0aGlzLnZhbHVlRGl2DQoJCQkudG9nZ2xlKCB0aGlzLmluZGV0ZXJtaW5hdGUgfHwgdmFsdWUgPiB0aGlzLm1pbiApDQoJCQkudG9nZ2xlQ2xhc3MoICJ1aS1jb3JuZXItcmlnaHQiLCB2YWx1ZSA9PT0gdGhpcy5vcHRpb25zLm1heCApDQoJCQkud2lkdGgoIHBlcmNlbnRhZ2UudG9GaXhlZCgwKSArICIlIiApOw0KDQoJCXRoaXMuZWxlbWVudC50b2dnbGVDbGFzcyggInVpLXByb2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUiLCB0aGlzLmluZGV0ZXJtaW5hdGUgKTsNCg0KCQlpZiAoIHRoaXMuaW5kZXRlcm1pbmF0ZSApIHsNCgkJCXRoaXMuZWxlbWVudC5yZW1vdmVBdHRyKCAiYXJpYS12YWx1ZW5vdyIgKTsNCgkJCWlmICggIXRoaXMub3ZlcmxheURpdiApIHsNCgkJCQl0aGlzLm92ZXJsYXlEaXYgPSAkKCAiPGRpdiBjbGFzcz0ndWktcHJvZ3Jlc3NiYXItb3ZlcmxheSc+PC9kaXY+IiApLmFwcGVuZFRvKCB0aGlzLnZhbHVlRGl2ICk7DQoJCQl9DQoJCX0gZWxzZSB7DQoJCQl0aGlzLmVsZW1lbnQuYXR0cih7DQoJCQkJImFyaWEtdmFsdWVtYXgiOiB0aGlzLm9wdGlvbnMubWF4LA0KCQkJCSJhcmlhLXZhbHVlbm93IjogdmFsdWUNCgkJCX0pOw0KCQkJaWYgKCB0aGlzLm92ZXJsYXlEaXYgKSB7DQoJCQkJdGhpcy5vdmVybGF5RGl2LnJlbW92ZSgpOw0KCQkJCXRoaXMub3ZlcmxheURpdiA9IG51bGw7DQoJCQl9DQoJCX0NCg0KCQlpZiAoIHRoaXMub2xkVmFsdWUgIT09IHZhbHVlICkgew0KCQkJdGhpcy5vbGRWYWx1ZSA9IHZhbHVlOw0KCQkJdGhpcy5fdHJpZ2dlciggImNoYW5nZSIgKTsNCgkJfQ0KCQlpZiAoIHZhbHVlID09PSB0aGlzLm9wdGlvbnMubWF4ICkgew0KCQkJdGhpcy5fdHJpZ2dlciggImNvbXBsZXRlIiApOw0KCQl9DQoJfQ0KfSk7DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgU2VsZWN0bWVudSAxLjExLjQNCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICoNCiAqIGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL3NlbGVjdG1lbnUNCiAqLw0KDQoNCnZhciBzZWxlY3RtZW51ID0gJC53aWRnZXQoICJ1aS5zZWxlY3RtZW51Iiwgew0KCXZlcnNpb246ICIxLjExLjQiLA0KCWRlZmF1bHRFbGVtZW50OiAiPHNlbGVjdD4iLA0KCW9wdGlvbnM6IHsNCgkJYXBwZW5kVG86IG51bGwsDQoJCWRpc2FibGVkOiBudWxsLA0KCQlpY29uczogew0KCQkJYnV0dG9uOiAidWktaWNvbi10cmlhbmdsZS0xLXMiDQoJCX0sDQoJCXBvc2l0aW9uOiB7DQoJCQlteTogImxlZnQgdG9wIiwNCgkJCWF0OiAibGVmdCBib3R0b20iLA0KCQkJY29sbGlzaW9uOiAibm9uZSINCgkJfSwNCgkJd2lkdGg6IG51bGwsDQoNCgkJLy8gY2FsbGJhY2tzDQoJCWNoYW5nZTogbnVsbCwNCgkJY2xvc2U6IG51bGwsDQoJCWZvY3VzOiBudWxsLA0KCQlvcGVuOiBudWxsLA0KCQlzZWxlY3Q6IG51bGwNCgl9LA0KDQoJX2NyZWF0ZTogZnVuY3Rpb24oKSB7DQoJCXZhciBzZWxlY3RtZW51SWQgPSB0aGlzLmVsZW1lbnQudW5pcXVlSWQoKS5hdHRyKCAiaWQiICk7DQoJCXRoaXMuaWRzID0gew0KCQkJZWxlbWVudDogc2VsZWN0bWVudUlkLA0KCQkJYnV0dG9uOiBzZWxlY3RtZW51SWQgKyAiLWJ1dHRvbiIsDQoJCQltZW51OiBzZWxlY3RtZW51SWQgKyAiLW1lbnUiDQoJCX07DQoNCgkJdGhpcy5fZHJhd0J1dHRvbigpOw0KCQl0aGlzLl9kcmF3TWVudSgpOw0KDQoJCWlmICggdGhpcy5vcHRpb25zLmRpc2FibGVkICkgew0KCQkJdGhpcy5kaXNhYmxlKCk7DQoJCX0NCgl9LA0KDQoJX2RyYXdCdXR0b246IGZ1bmN0aW9uKCkgew0KCQl2YXIgdGhhdCA9IHRoaXM7DQoNCgkJLy8gQXNzb2NpYXRlIGV4aXN0aW5nIGxhYmVsIHdpdGggdGhlIG5ldyBidXR0b24NCgkJdGhpcy5sYWJlbCA9ICQoICJsYWJlbFtmb3I9JyIgKyB0aGlzLmlkcy5lbGVtZW50ICsgIiddIiApLmF0dHIoICJmb3IiLCB0aGlzLmlkcy5idXR0b24gKTsNCgkJdGhpcy5fb24oIHRoaXMubGFiZWwsIHsNCgkJCWNsaWNrOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQkJdGhpcy5idXR0b24uZm9jdXMoKTsNCgkJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQkJfQ0KCQl9KTsNCg0KCQkvLyBIaWRlIG9yaWdpbmFsIHNlbGVjdCBlbGVtZW50DQoJCXRoaXMuZWxlbWVudC5oaWRlKCk7DQoNCgkJLy8gQ3JlYXRlIGJ1dHRvbg0KCQl0aGlzLmJ1dHRvbiA9ICQoICI8c3Bhbj4iLCB7DQoJCQkiY2xhc3MiOiAidWktc2VsZWN0bWVudS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCIsDQoJCQl0YWJpbmRleDogdGhpcy5vcHRpb25zLmRpc2FibGVkID8gLTEgOiAwLA0KCQkJaWQ6IHRoaXMuaWRzLmJ1dHRvbiwNCgkJCXJvbGU6ICJjb21ib2JveCIsDQoJCQkiYXJpYS1leHBhbmRlZCI6ICJmYWxzZSIsDQoJCQkiYXJpYS1hdXRvY29tcGxldGUiOiAibGlzdCIsDQoJCQkiYXJpYS1vd25zIjogdGhpcy5pZHMubWVudSwNCgkJCSJhcmlhLWhhc3BvcHVwIjogInRydWUiDQoJCX0pDQoJCQkuaW5zZXJ0QWZ0ZXIoIHRoaXMuZWxlbWVudCApOw0KDQoJCSQoICI8c3Bhbj4iLCB7DQoJCQkiY2xhc3MiOiAidWktaWNvbiAiICsgdGhpcy5vcHRpb25zLmljb25zLmJ1dHRvbg0KCQl9KQ0KCQkJLnByZXBlbmRUbyggdGhpcy5idXR0b24gKTsNCg0KCQl0aGlzLmJ1dHRvblRleHQgPSAkKCAiPHNwYW4+Iiwgew0KCQkJImNsYXNzIjogInVpLXNlbGVjdG1lbnUtdGV4dCINCgkJfSkNCgkJCS5hcHBlbmRUbyggdGhpcy5idXR0b24gKTsNCg0KCQl0aGlzLl9zZXRUZXh0KCB0aGlzLmJ1dHRvblRleHQsIHRoaXMuZWxlbWVudC5maW5kKCAib3B0aW9uOnNlbGVjdGVkIiApLnRleHQoKSApOw0KCQl0aGlzLl9yZXNpemVCdXR0b24oKTsNCg0KCQl0aGlzLl9vbiggdGhpcy5idXR0b24sIHRoaXMuX2J1dHRvbkV2ZW50cyApOw0KCQl0aGlzLmJ1dHRvbi5vbmUoICJmb2N1c2luIiwgZnVuY3Rpb24oKSB7DQoNCgkJCS8vIERlbGF5IHJlbmRlcmluZyB0aGUgbWVudSBpdGVtcyB1bnRpbCB0aGUgYnV0dG9uIHJlY2VpdmVzIGZvY3VzLg0KCQkJLy8gVGhlIG1lbnUgbWF5IGhhdmUgYWxyZWFkeSBiZWVuIHJlbmRlcmVkIHZpYSBhIHByb2dyYW1tYXRpYyBvcGVuLg0KCQkJaWYgKCAhdGhhdC5tZW51SXRlbXMgKSB7DQoJCQkJdGhhdC5fcmVmcmVzaE1lbnUoKTsNCgkJCX0NCgkJfSk7DQoJCXRoaXMuX2hvdmVyYWJsZSggdGhpcy5idXR0b24gKTsNCgkJdGhpcy5fZm9jdXNhYmxlKCB0aGlzLmJ1dHRvbiApOw0KCX0sDQoNCglfZHJhd01lbnU6IGZ1bmN0aW9uKCkgew0KCQl2YXIgdGhhdCA9IHRoaXM7DQoNCgkJLy8gQ3JlYXRlIG1lbnUNCgkJdGhpcy5tZW51ID0gJCggIjx1bD4iLCB7DQoJCQkiYXJpYS1oaWRkZW4iOiAidHJ1ZSIsDQoJCQkiYXJpYS1sYWJlbGxlZGJ5IjogdGhpcy5pZHMuYnV0dG9uLA0KCQkJaWQ6IHRoaXMuaWRzLm1lbnUNCgkJfSk7DQoNCgkJLy8gV3JhcCBtZW51DQoJCXRoaXMubWVudVdyYXAgPSAkKCAiPGRpdj4iLCB7DQoJCQkiY2xhc3MiOiAidWktc2VsZWN0bWVudS1tZW51IHVpLWZyb250Ig0KCQl9KQ0KCQkJLmFwcGVuZCggdGhpcy5tZW51ICkNCgkJCS5hcHBlbmRUbyggdGhpcy5fYXBwZW5kVG8oKSApOw0KDQoJCS8vIEluaXRpYWxpemUgbWVudSB3aWRnZXQNCgkJdGhpcy5tZW51SW5zdGFuY2UgPSB0aGlzLm1lbnUNCgkJCS5tZW51KHsNCgkJCQlyb2xlOiAibGlzdGJveCIsDQoJCQkJc2VsZWN0OiBmdW5jdGlvbiggZXZlbnQsIHVpICkgew0KCQkJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KDQoJCQkJCS8vIHN1cHBvcnQ6IElFOA0KCQkJCQkvLyBJZiB0aGUgaXRlbSB3YXMgc2VsZWN0ZWQgdmlhIGEgY2xpY2ssIHRoZSB0ZXh0IHNlbGVjdGlvbg0KCQkJCQkvLyB3aWxsIGJlIGRlc3Ryb3llZCBpbiBJRQ0KCQkJCQl0aGF0Ll9zZXRTZWxlY3Rpb24oKTsNCg0KCQkJCQl0aGF0Ll9zZWxlY3QoIHVpLml0ZW0uZGF0YSggInVpLXNlbGVjdG1lbnUtaXRlbSIgKSwgZXZlbnQgKTsNCgkJCQl9LA0KCQkJCWZvY3VzOiBmdW5jdGlvbiggZXZlbnQsIHVpICkgew0KCQkJCQl2YXIgaXRlbSA9IHVpLml0ZW0uZGF0YSggInVpLXNlbGVjdG1lbnUtaXRlbSIgKTsNCg0KCQkJCQkvLyBQcmV2ZW50IGluaXRhbCBmb2N1cyBmcm9tIGZpcmluZyBhbmQgY2hlY2sgaWYgaXRzIGEgbmV3bHkgZm9jdXNlZCBpdGVtDQoJCQkJCWlmICggdGhhdC5mb2N1c0luZGV4ICE9IG51bGwgJiYgaXRlbS5pbmRleCAhPT0gdGhhdC5mb2N1c0luZGV4ICkgew0KCQkJCQkJdGhhdC5fdHJpZ2dlciggImZvY3VzIiwgZXZlbnQsIHsgaXRlbTogaXRlbSB9ICk7DQoJCQkJCQlpZiAoICF0aGF0LmlzT3BlbiApIHsNCgkJCQkJCQl0aGF0Ll9zZWxlY3QoIGl0ZW0sIGV2ZW50ICk7DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQkJdGhhdC5mb2N1c0luZGV4ID0gaXRlbS5pbmRleDsNCg0KCQkJCQl0aGF0LmJ1dHRvbi5hdHRyKCAiYXJpYS1hY3RpdmVkZXNjZW5kYW50IiwNCgkJCQkJCXRoYXQubWVudUl0ZW1zLmVxKCBpdGVtLmluZGV4ICkuYXR0ciggImlkIiApICk7DQoJCQkJfQ0KCQkJfSkNCgkJCS5tZW51KCAiaW5zdGFuY2UiICk7DQoNCgkJLy8gQWRqdXN0IG1lbnUgc3R5bGVzIHRvIGRyb3Bkb3duDQoJCXRoaXMubWVudQ0KCQkJLmFkZENsYXNzKCAidWktY29ybmVyLWJvdHRvbSIgKQ0KCQkJLnJlbW92ZUNsYXNzKCAidWktY29ybmVyLWFsbCIgKTsNCg0KCQkvLyBEb24ndCBjbG9zZSB0aGUgbWVudSBvbiBtb3VzZWxlYXZlDQoJCXRoaXMubWVudUluc3RhbmNlLl9vZmYoIHRoaXMubWVudSwgIm1vdXNlbGVhdmUiICk7DQoNCgkJLy8gQ2FuY2VsIHRoZSBtZW51J3MgY29sbGFwc2VBbGwgb24gZG9jdW1lbnQgY2xpY2sNCgkJdGhpcy5tZW51SW5zdGFuY2UuX2Nsb3NlT25Eb2N1bWVudENsaWNrID0gZnVuY3Rpb24oKSB7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX07DQoNCgkJLy8gU2VsZWN0cyBvZnRlbiBjb250YWluIGVtcHR5IGl0ZW1zLCBidXQgbmV2ZXIgY29udGFpbiBkaXZpZGVycw0KCQl0aGlzLm1lbnVJbnN0YW5jZS5faXNEaXZpZGVyID0gZnVuY3Rpb24oKSB7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX07DQoJfSwNCg0KCXJlZnJlc2g6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLl9yZWZyZXNoTWVudSgpOw0KCQl0aGlzLl9zZXRUZXh0KCB0aGlzLmJ1dHRvblRleHQsIHRoaXMuX2dldFNlbGVjdGVkSXRlbSgpLnRleHQoKSApOw0KCQlpZiAoICF0aGlzLm9wdGlvbnMud2lkdGggKSB7DQoJCQl0aGlzLl9yZXNpemVCdXR0b24oKTsNCgkJfQ0KCX0sDQoNCglfcmVmcmVzaE1lbnU6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLm1lbnUuZW1wdHkoKTsNCg0KCQl2YXIgaXRlbSwNCgkJCW9wdGlvbnMgPSB0aGlzLmVsZW1lbnQuZmluZCggIm9wdGlvbiIgKTsNCg0KCQlpZiAoICFvcHRpb25zLmxlbmd0aCApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCXRoaXMuX3BhcnNlT3B0aW9ucyggb3B0aW9ucyApOw0KCQl0aGlzLl9yZW5kZXJNZW51KCB0aGlzLm1lbnUsIHRoaXMuaXRlbXMgKTsNCg0KCQl0aGlzLm1lbnVJbnN0YW5jZS5yZWZyZXNoKCk7DQoJCXRoaXMubWVudUl0ZW1zID0gdGhpcy5tZW51LmZpbmQoICJsaSIgKS5ub3QoICIudWktc2VsZWN0bWVudS1vcHRncm91cCIgKTsNCg0KCQlpdGVtID0gdGhpcy5fZ2V0U2VsZWN0ZWRJdGVtKCk7DQoNCgkJLy8gVXBkYXRlIHRoZSBtZW51IHRvIGhhdmUgdGhlIGNvcnJlY3QgaXRlbSBmb2N1c2VkDQoJCXRoaXMubWVudUluc3RhbmNlLmZvY3VzKCBudWxsLCBpdGVtICk7DQoJCXRoaXMuX3NldEFyaWEoIGl0ZW0uZGF0YSggInVpLXNlbGVjdG1lbnUtaXRlbSIgKSApOw0KDQoJCS8vIFNldCBkaXNhYmxlZCBzdGF0ZQ0KCQl0aGlzLl9zZXRPcHRpb24oICJkaXNhYmxlZCIsIHRoaXMuZWxlbWVudC5wcm9wKCAiZGlzYWJsZWQiICkgKTsNCgl9LA0KDQoJb3BlbjogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQlpZiAoIHRoaXMub3B0aW9ucy5kaXNhYmxlZCApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCS8vIElmIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgdGhlIG1lbnUgaXMgYmVpbmcgb3BlbmVkLCByZW5kZXIgdGhlIGl0ZW1zDQoJCWlmICggIXRoaXMubWVudUl0ZW1zICkgew0KCQkJdGhpcy5fcmVmcmVzaE1lbnUoKTsNCgkJfSBlbHNlIHsNCg0KCQkJLy8gTWVudSBjbGVhcnMgZm9jdXMgb24gY2xvc2UsIHJlc2V0IGZvY3VzIHRvIHNlbGVjdGVkIGl0ZW0NCgkJCXRoaXMubWVudS5maW5kKCAiLnVpLXN0YXRlLWZvY3VzIiApLnJlbW92ZUNsYXNzKCAidWktc3RhdGUtZm9jdXMiICk7DQoJCQl0aGlzLm1lbnVJbnN0YW5jZS5mb2N1cyggbnVsbCwgdGhpcy5fZ2V0U2VsZWN0ZWRJdGVtKCkgKTsNCgkJfQ0KDQoJCXRoaXMuaXNPcGVuID0gdHJ1ZTsNCgkJdGhpcy5fdG9nZ2xlQXR0cigpOw0KCQl0aGlzLl9yZXNpemVNZW51KCk7DQoJCXRoaXMuX3Bvc2l0aW9uKCk7DQoNCgkJdGhpcy5fb24oIHRoaXMuZG9jdW1lbnQsIHRoaXMuX2RvY3VtZW50Q2xpY2sgKTsNCg0KCQl0aGlzLl90cmlnZ2VyKCAib3BlbiIsIGV2ZW50ICk7DQoJfSwNCg0KCV9wb3NpdGlvbjogZnVuY3Rpb24oKSB7DQoJCXRoaXMubWVudVdyYXAucG9zaXRpb24oICQuZXh0ZW5kKCB7IG9mOiB0aGlzLmJ1dHRvbiB9LCB0aGlzLm9wdGlvbnMucG9zaXRpb24gKSApOw0KCX0sDQoNCgljbG9zZTogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQlpZiAoICF0aGlzLmlzT3BlbiApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCXRoaXMuaXNPcGVuID0gZmFsc2U7DQoJCXRoaXMuX3RvZ2dsZUF0dHIoKTsNCg0KCQl0aGlzLnJhbmdlID0gbnVsbDsNCgkJdGhpcy5fb2ZmKCB0aGlzLmRvY3VtZW50ICk7DQoNCgkJdGhpcy5fdHJpZ2dlciggImNsb3NlIiwgZXZlbnQgKTsNCgl9LA0KDQoJd2lkZ2V0OiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHRoaXMuYnV0dG9uOw0KCX0sDQoNCgltZW51V2lkZ2V0OiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHRoaXMubWVudTsNCgl9LA0KDQoJX3JlbmRlck1lbnU6IGZ1bmN0aW9uKCB1bCwgaXRlbXMgKSB7DQoJCXZhciB0aGF0ID0gdGhpcywNCgkJCWN1cnJlbnRPcHRncm91cCA9ICIiOw0KDQoJCSQuZWFjaCggaXRlbXMsIGZ1bmN0aW9uKCBpbmRleCwgaXRlbSApIHsNCgkJCWlmICggaXRlbS5vcHRncm91cCAhPT0gY3VycmVudE9wdGdyb3VwICkgew0KCQkJCSQoICI8bGk+Iiwgew0KCQkJCQkiY2xhc3MiOiAidWktc2VsZWN0bWVudS1vcHRncm91cCB1aS1tZW51LWRpdmlkZXIiICsNCgkJCQkJCSggaXRlbS5lbGVtZW50LnBhcmVudCggIm9wdGdyb3VwIiApLnByb3AoICJkaXNhYmxlZCIgKSA/DQoJCQkJCQkJIiB1aS1zdGF0ZS1kaXNhYmxlZCIgOg0KCQkJCQkJCSIiICksDQoJCQkJCXRleHQ6IGl0ZW0ub3B0Z3JvdXANCgkJCQl9KQ0KCQkJCQkuYXBwZW5kVG8oIHVsICk7DQoNCgkJCQljdXJyZW50T3B0Z3JvdXAgPSBpdGVtLm9wdGdyb3VwOw0KCQkJfQ0KDQoJCQl0aGF0Ll9yZW5kZXJJdGVtRGF0YSggdWwsIGl0ZW0gKTsNCgkJfSk7DQoJfSwNCg0KCV9yZW5kZXJJdGVtRGF0YTogZnVuY3Rpb24oIHVsLCBpdGVtICkgew0KCQlyZXR1cm4gdGhpcy5fcmVuZGVySXRlbSggdWwsIGl0ZW0gKS5kYXRhKCAidWktc2VsZWN0bWVudS1pdGVtIiwgaXRlbSApOw0KCX0sDQoNCglfcmVuZGVySXRlbTogZnVuY3Rpb24oIHVsLCBpdGVtICkgew0KCQl2YXIgbGkgPSAkKCAiPGxpPiIgKTsNCg0KCQlpZiAoIGl0ZW0uZGlzYWJsZWQgKSB7DQoJCQlsaS5hZGRDbGFzcyggInVpLXN0YXRlLWRpc2FibGVkIiApOw0KCQl9DQoJCXRoaXMuX3NldFRleHQoIGxpLCBpdGVtLmxhYmVsICk7DQoNCgkJcmV0dXJuIGxpLmFwcGVuZFRvKCB1bCApOw0KCX0sDQoNCglfc2V0VGV4dDogZnVuY3Rpb24oIGVsZW1lbnQsIHZhbHVlICkgew0KCQlpZiAoIHZhbHVlICkgew0KCQkJZWxlbWVudC50ZXh0KCB2YWx1ZSApOw0KCQl9IGVsc2Ugew0KCQkJZWxlbWVudC5odG1sKCAiJiMxNjA7IiApOw0KCQl9DQoJfSwNCg0KCV9tb3ZlOiBmdW5jdGlvbiggZGlyZWN0aW9uLCBldmVudCApIHsNCgkJdmFyIGl0ZW0sIG5leHQsDQoJCQlmaWx0ZXIgPSAiLnVpLW1lbnUtaXRlbSI7DQoNCgkJaWYgKCB0aGlzLmlzT3BlbiApIHsNCgkJCWl0ZW0gPSB0aGlzLm1lbnVJdGVtcy5lcSggdGhpcy5mb2N1c0luZGV4ICk7DQoJCX0gZWxzZSB7DQoJCQlpdGVtID0gdGhpcy5tZW51SXRlbXMuZXEoIHRoaXMuZWxlbWVudFsgMCBdLnNlbGVjdGVkSW5kZXggKTsNCgkJCWZpbHRlciArPSAiOm5vdCgudWktc3RhdGUtZGlzYWJsZWQpIjsNCgkJfQ0KDQoJCWlmICggZGlyZWN0aW9uID09PSAiZmlyc3QiIHx8IGRpcmVjdGlvbiA9PT0gImxhc3QiICkgew0KCQkJbmV4dCA9IGl0ZW1bIGRpcmVjdGlvbiA9PT0gImZpcnN0IiA/ICJwcmV2QWxsIiA6ICJuZXh0QWxsIiBdKCBmaWx0ZXIgKS5lcSggLTEgKTsNCgkJfSBlbHNlIHsNCgkJCW5leHQgPSBpdGVtWyBkaXJlY3Rpb24gKyAiQWxsIiBdKCBmaWx0ZXIgKS5lcSggMCApOw0KCQl9DQoNCgkJaWYgKCBuZXh0Lmxlbmd0aCApIHsNCgkJCXRoaXMubWVudUluc3RhbmNlLmZvY3VzKCBldmVudCwgbmV4dCApOw0KCQl9DQoJfSwNCg0KCV9nZXRTZWxlY3RlZEl0ZW06IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gdGhpcy5tZW51SXRlbXMuZXEoIHRoaXMuZWxlbWVudFsgMCBdLnNlbGVjdGVkSW5kZXggKTsNCgl9LA0KDQoJX3RvZ2dsZTogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl0aGlzWyB0aGlzLmlzT3BlbiA/ICJjbG9zZSIgOiAib3BlbiIgXSggZXZlbnQgKTsNCgl9LA0KDQoJX3NldFNlbGVjdGlvbjogZnVuY3Rpb24oKSB7DQoJCXZhciBzZWxlY3Rpb247DQoNCgkJaWYgKCAhdGhpcy5yYW5nZSApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCWlmICggd2luZG93LmdldFNlbGVjdGlvbiApIHsNCgkJCXNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTsNCgkJCXNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMoKTsNCgkJCXNlbGVjdGlvbi5hZGRSYW5nZSggdGhpcy5yYW5nZSApOw0KDQoJCS8vIHN1cHBvcnQ6IElFOA0KCQl9IGVsc2Ugew0KCQkJdGhpcy5yYW5nZS5zZWxlY3QoKTsNCgkJfQ0KDQoJCS8vIHN1cHBvcnQ6IElFDQoJCS8vIFNldHRpbmcgdGhlIHRleHQgc2VsZWN0aW9uIGtpbGxzIHRoZSBidXR0b24gZm9jdXMgaW4gSUUsIGJ1dA0KCQkvLyByZXN0b3JpbmcgdGhlIGZvY3VzIGRvZXNuJ3Qga2lsbCB0aGUgc2VsZWN0aW9uLg0KCQl0aGlzLmJ1dHRvbi5mb2N1cygpOw0KCX0sDQoNCglfZG9jdW1lbnRDbGljazogew0KCQltb3VzZWRvd246IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCWlmICggIXRoaXMuaXNPcGVuICkgew0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJaWYgKCAhJCggZXZlbnQudGFyZ2V0ICkuY2xvc2VzdCggIi51aS1zZWxlY3RtZW51LW1lbnUsICMiICsgdGhpcy5pZHMuYnV0dG9uICkubGVuZ3RoICkgew0KCQkJCXRoaXMuY2xvc2UoIGV2ZW50ICk7DQoJCQl9DQoJCX0NCgl9LA0KDQoJX2J1dHRvbkV2ZW50czogew0KDQoJCS8vIFByZXZlbnQgdGV4dCBzZWxlY3Rpb24gZnJvbSBiZWluZyByZXNldCB3aGVuIGludGVyYWN0aW5nIHdpdGggdGhlIHNlbGVjdG1lbnUgKCMxMDE0NCkNCgkJbW91c2Vkb3duOiBmdW5jdGlvbigpIHsNCgkJCXZhciBzZWxlY3Rpb247DQoNCgkJCWlmICggd2luZG93LmdldFNlbGVjdGlvbiApIHsNCgkJCQlzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7DQoJCQkJaWYgKCBzZWxlY3Rpb24ucmFuZ2VDb3VudCApIHsNCgkJCQkJdGhpcy5yYW5nZSA9IHNlbGVjdGlvbi5nZXRSYW5nZUF0KCAwICk7DQoJCQkJfQ0KDQoJCQkvLyBzdXBwb3J0OiBJRTgNCgkJCX0gZWxzZSB7DQoJCQkJdGhpcy5yYW5nZSA9IGRvY3VtZW50LnNlbGVjdGlvbi5jcmVhdGVSYW5nZSgpOw0KCQkJfQ0KCQl9LA0KDQoJCWNsaWNrOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQl0aGlzLl9zZXRTZWxlY3Rpb24oKTsNCgkJCXRoaXMuX3RvZ2dsZSggZXZlbnQgKTsNCgkJfSwNCg0KCQlrZXlkb3duOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQl2YXIgcHJldmVudERlZmF1bHQgPSB0cnVlOw0KCQkJc3dpdGNoICggZXZlbnQua2V5Q29kZSApIHsNCgkJCQljYXNlICQudWkua2V5Q29kZS5UQUI6DQoJCQkJY2FzZSAkLnVpLmtleUNvZGUuRVNDQVBFOg0KCQkJCQl0aGlzLmNsb3NlKCBldmVudCApOw0KCQkJCQlwcmV2ZW50RGVmYXVsdCA9IGZhbHNlOw0KCQkJCQlicmVhazsNCgkJCQljYXNlICQudWkua2V5Q29kZS5FTlRFUjoNCgkJCQkJaWYgKCB0aGlzLmlzT3BlbiApIHsNCgkJCQkJCXRoaXMuX3NlbGVjdEZvY3VzZWRJdGVtKCBldmVudCApOw0KCQkJCQl9DQoJCQkJCWJyZWFrOw0KCQkJCWNhc2UgJC51aS5rZXlDb2RlLlVQOg0KCQkJCQlpZiAoIGV2ZW50LmFsdEtleSApIHsNCgkJCQkJCXRoaXMuX3RvZ2dsZSggZXZlbnQgKTsNCgkJCQkJfSBlbHNlIHsNCgkJCQkJCXRoaXMuX21vdmUoICJwcmV2IiwgZXZlbnQgKTsNCgkJCQkJfQ0KCQkJCQlicmVhazsNCgkJCQljYXNlICQudWkua2V5Q29kZS5ET1dOOg0KCQkJCQlpZiAoIGV2ZW50LmFsdEtleSApIHsNCgkJCQkJCXRoaXMuX3RvZ2dsZSggZXZlbnQgKTsNCgkJCQkJfSBlbHNlIHsNCgkJCQkJCXRoaXMuX21vdmUoICJuZXh0IiwgZXZlbnQgKTsNCgkJCQkJfQ0KCQkJCQlicmVhazsNCgkJCQljYXNlICQudWkua2V5Q29kZS5TUEFDRToNCgkJCQkJaWYgKCB0aGlzLmlzT3BlbiApIHsNCgkJCQkJCXRoaXMuX3NlbGVjdEZvY3VzZWRJdGVtKCBldmVudCApOw0KCQkJCQl9IGVsc2Ugew0KCQkJCQkJdGhpcy5fdG9nZ2xlKCBldmVudCApOw0KCQkJCQl9DQoJCQkJCWJyZWFrOw0KCQkJCWNhc2UgJC51aS5rZXlDb2RlLkxFRlQ6DQoJCQkJCXRoaXMuX21vdmUoICJwcmV2IiwgZXZlbnQgKTsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSAkLnVpLmtleUNvZGUuUklHSFQ6DQoJCQkJCXRoaXMuX21vdmUoICJuZXh0IiwgZXZlbnQgKTsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSAkLnVpLmtleUNvZGUuSE9NRToNCgkJCQljYXNlICQudWkua2V5Q29kZS5QQUdFX1VQOg0KCQkJCQl0aGlzLl9tb3ZlKCAiZmlyc3QiLCBldmVudCApOw0KCQkJCQlicmVhazsNCgkJCQljYXNlICQudWkua2V5Q29kZS5FTkQ6DQoJCQkJY2FzZSAkLnVpLmtleUNvZGUuUEFHRV9ET1dOOg0KCQkJCQl0aGlzLl9tb3ZlKCAibGFzdCIsIGV2ZW50ICk7DQoJCQkJCWJyZWFrOw0KCQkJCWRlZmF1bHQ6DQoJCQkJCXRoaXMubWVudS50cmlnZ2VyKCBldmVudCApOw0KCQkJCQlwcmV2ZW50RGVmYXVsdCA9IGZhbHNlOw0KCQkJfQ0KDQoJCQlpZiAoIHByZXZlbnREZWZhdWx0ICkgew0KCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJCQl9DQoJCX0NCgl9LA0KDQoJX3NlbGVjdEZvY3VzZWRJdGVtOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXZhciBpdGVtID0gdGhpcy5tZW51SXRlbXMuZXEoIHRoaXMuZm9jdXNJbmRleCApOw0KCQlpZiAoICFpdGVtLmhhc0NsYXNzKCAidWktc3RhdGUtZGlzYWJsZWQiICkgKSB7DQoJCQl0aGlzLl9zZWxlY3QoIGl0ZW0uZGF0YSggInVpLXNlbGVjdG1lbnUtaXRlbSIgKSwgZXZlbnQgKTsNCgkJfQ0KCX0sDQoNCglfc2VsZWN0OiBmdW5jdGlvbiggaXRlbSwgZXZlbnQgKSB7DQoJCXZhciBvbGRJbmRleCA9IHRoaXMuZWxlbWVudFsgMCBdLnNlbGVjdGVkSW5kZXg7DQoNCgkJLy8gQ2hhbmdlIG5hdGl2ZSBzZWxlY3QgZWxlbWVudA0KCQl0aGlzLmVsZW1lbnRbIDAgXS5zZWxlY3RlZEluZGV4ID0gaXRlbS5pbmRleDsNCgkJdGhpcy5fc2V0VGV4dCggdGhpcy5idXR0b25UZXh0LCBpdGVtLmxhYmVsICk7DQoJCXRoaXMuX3NldEFyaWEoIGl0ZW0gKTsNCgkJdGhpcy5fdHJpZ2dlciggInNlbGVjdCIsIGV2ZW50LCB7IGl0ZW06IGl0ZW0gfSApOw0KDQoJCWlmICggaXRlbS5pbmRleCAhPT0gb2xkSW5kZXggKSB7DQoJCQl0aGlzLl90cmlnZ2VyKCAiY2hhbmdlIiwgZXZlbnQsIHsgaXRlbTogaXRlbSB9ICk7DQoJCX0NCg0KCQl0aGlzLmNsb3NlKCBldmVudCApOw0KCX0sDQoNCglfc2V0QXJpYTogZnVuY3Rpb24oIGl0ZW0gKSB7DQoJCXZhciBpZCA9IHRoaXMubWVudUl0ZW1zLmVxKCBpdGVtLmluZGV4ICkuYXR0ciggImlkIiApOw0KDQoJCXRoaXMuYnV0dG9uLmF0dHIoew0KCQkJImFyaWEtbGFiZWxsZWRieSI6IGlkLA0KCQkJImFyaWEtYWN0aXZlZGVzY2VuZGFudCI6IGlkDQoJCX0pOw0KCQl0aGlzLm1lbnUuYXR0ciggImFyaWEtYWN0aXZlZGVzY2VuZGFudCIsIGlkICk7DQoJfSwNCg0KCV9zZXRPcHRpb246IGZ1bmN0aW9uKCBrZXksIHZhbHVlICkgew0KCQlpZiAoIGtleSA9PT0gImljb25zIiApIHsNCgkJCXRoaXMuYnV0dG9uLmZpbmQoICJzcGFuLnVpLWljb24iICkNCgkJCQkucmVtb3ZlQ2xhc3MoIHRoaXMub3B0aW9ucy5pY29ucy5idXR0b24gKQ0KCQkJCS5hZGRDbGFzcyggdmFsdWUuYnV0dG9uICk7DQoJCX0NCg0KCQl0aGlzLl9zdXBlcigga2V5LCB2YWx1ZSApOw0KDQoJCWlmICgga2V5ID09PSAiYXBwZW5kVG8iICkgew0KCQkJdGhpcy5tZW51V3JhcC5hcHBlbmRUbyggdGhpcy5fYXBwZW5kVG8oKSApOw0KCQl9DQoNCgkJaWYgKCBrZXkgPT09ICJkaXNhYmxlZCIgKSB7DQoJCQl0aGlzLm1lbnVJbnN0YW5jZS5vcHRpb24oICJkaXNhYmxlZCIsIHZhbHVlICk7DQoJCQl0aGlzLmJ1dHRvbg0KCQkJCS50b2dnbGVDbGFzcyggInVpLXN0YXRlLWRpc2FibGVkIiwgdmFsdWUgKQ0KCQkJCS5hdHRyKCAiYXJpYS1kaXNhYmxlZCIsIHZhbHVlICk7DQoNCgkJCXRoaXMuZWxlbWVudC5wcm9wKCAiZGlzYWJsZWQiLCB2YWx1ZSApOw0KCQkJaWYgKCB2YWx1ZSApIHsNCgkJCQl0aGlzLmJ1dHRvbi5hdHRyKCAidGFiaW5kZXgiLCAtMSApOw0KCQkJCXRoaXMuY2xvc2UoKTsNCgkJCX0gZWxzZSB7DQoJCQkJdGhpcy5idXR0b24uYXR0ciggInRhYmluZGV4IiwgMCApOw0KCQkJfQ0KCQl9DQoNCgkJaWYgKCBrZXkgPT09ICJ3aWR0aCIgKSB7DQoJCQl0aGlzLl9yZXNpemVCdXR0b24oKTsNCgkJfQ0KCX0sDQoNCglfYXBwZW5kVG86IGZ1bmN0aW9uKCkgew0KCQl2YXIgZWxlbWVudCA9IHRoaXMub3B0aW9ucy5hcHBlbmRUbzsNCg0KCQlpZiAoIGVsZW1lbnQgKSB7DQoJCQllbGVtZW50ID0gZWxlbWVudC5qcXVlcnkgfHwgZWxlbWVudC5ub2RlVHlwZSA/DQoJCQkJJCggZWxlbWVudCApIDoNCgkJCQl0aGlzLmRvY3VtZW50LmZpbmQoIGVsZW1lbnQgKS5lcSggMCApOw0KCQl9DQoNCgkJaWYgKCAhZWxlbWVudCB8fCAhZWxlbWVudFsgMCBdICkgew0KCQkJZWxlbWVudCA9IHRoaXMuZWxlbWVudC5jbG9zZXN0KCAiLnVpLWZyb250IiApOw0KCQl9DQoNCgkJaWYgKCAhZWxlbWVudC5sZW5ndGggKSB7DQoJCQllbGVtZW50ID0gdGhpcy5kb2N1bWVudFsgMCBdLmJvZHk7DQoJCX0NCg0KCQlyZXR1cm4gZWxlbWVudDsNCgl9LA0KDQoJX3RvZ2dsZUF0dHI6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLmJ1dHRvbg0KCQkJLnRvZ2dsZUNsYXNzKCAidWktY29ybmVyLXRvcCIsIHRoaXMuaXNPcGVuICkNCgkJCS50b2dnbGVDbGFzcyggInVpLWNvcm5lci1hbGwiLCAhdGhpcy5pc09wZW4gKQ0KCQkJLmF0dHIoICJhcmlhLWV4cGFuZGVkIiwgdGhpcy5pc09wZW4gKTsNCgkJdGhpcy5tZW51V3JhcC50b2dnbGVDbGFzcyggInVpLXNlbGVjdG1lbnUtb3BlbiIsIHRoaXMuaXNPcGVuICk7DQoJCXRoaXMubWVudS5hdHRyKCAiYXJpYS1oaWRkZW4iLCAhdGhpcy5pc09wZW4gKTsNCgl9LA0KDQoJX3Jlc2l6ZUJ1dHRvbjogZnVuY3Rpb24oKSB7DQoJCXZhciB3aWR0aCA9IHRoaXMub3B0aW9ucy53aWR0aDsNCg0KCQlpZiAoICF3aWR0aCApIHsNCgkJCXdpZHRoID0gdGhpcy5lbGVtZW50LnNob3coKS5vdXRlcldpZHRoKCk7DQoJCQl0aGlzLmVsZW1lbnQuaGlkZSgpOw0KCQl9DQoNCgkJdGhpcy5idXR0b24ub3V0ZXJXaWR0aCggd2lkdGggKTsNCgl9LA0KDQoJX3Jlc2l6ZU1lbnU6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLm1lbnUub3V0ZXJXaWR0aCggTWF0aC5tYXgoDQoJCQl0aGlzLmJ1dHRvbi5vdXRlcldpZHRoKCksDQoNCgkJCS8vIHN1cHBvcnQ6IElFMTANCgkJCS8vIElFMTAgd3JhcHMgbG9uZyB0ZXh0IChwb3NzaWJseSBhIHJvdW5kaW5nIGJ1ZykNCgkJCS8vIHNvIHdlIGFkZCAxcHggdG8gYXZvaWQgdGhlIHdyYXBwaW5nDQoJCQl0aGlzLm1lbnUud2lkdGgoICIiICkub3V0ZXJXaWR0aCgpICsgMQ0KCQkpICk7DQoJfSwNCg0KCV9nZXRDcmVhdGVPcHRpb25zOiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHsgZGlzYWJsZWQ6IHRoaXMuZWxlbWVudC5wcm9wKCAiZGlzYWJsZWQiICkgfTsNCgl9LA0KDQoJX3BhcnNlT3B0aW9uczogZnVuY3Rpb24oIG9wdGlvbnMgKSB7DQoJCXZhciBkYXRhID0gW107DQoJCW9wdGlvbnMuZWFjaChmdW5jdGlvbiggaW5kZXgsIGl0ZW0gKSB7DQoJCQl2YXIgb3B0aW9uID0gJCggaXRlbSApLA0KCQkJCW9wdGdyb3VwID0gb3B0aW9uLnBhcmVudCggIm9wdGdyb3VwIiApOw0KCQkJZGF0YS5wdXNoKHsNCgkJCQllbGVtZW50OiBvcHRpb24sDQoJCQkJaW5kZXg6IGluZGV4LA0KCQkJCXZhbHVlOiBvcHRpb24udmFsKCksDQoJCQkJbGFiZWw6IG9wdGlvbi50ZXh0KCksDQoJCQkJb3B0Z3JvdXA6IG9wdGdyb3VwLmF0dHIoICJsYWJlbCIgKSB8fCAiIiwNCgkJCQlkaXNhYmxlZDogb3B0Z3JvdXAucHJvcCggImRpc2FibGVkIiApIHx8IG9wdGlvbi5wcm9wKCAiZGlzYWJsZWQiICkNCgkJCX0pOw0KCQl9KTsNCgkJdGhpcy5pdGVtcyA9IGRhdGE7DQoJfSwNCg0KCV9kZXN0cm95OiBmdW5jdGlvbigpIHsNCgkJdGhpcy5tZW51V3JhcC5yZW1vdmUoKTsNCgkJdGhpcy5idXR0b24ucmVtb3ZlKCk7DQoJCXRoaXMuZWxlbWVudC5zaG93KCk7DQoJCXRoaXMuZWxlbWVudC5yZW1vdmVVbmlxdWVJZCgpOw0KCQl0aGlzLmxhYmVsLmF0dHIoICJmb3IiLCB0aGlzLmlkcy5lbGVtZW50ICk7DQoJfQ0KfSk7DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgU2xpZGVyIDEuMTEuNA0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKg0KICogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vc2xpZGVyLw0KICovDQoNCg0KdmFyIHNsaWRlciA9ICQud2lkZ2V0KCAidWkuc2xpZGVyIiwgJC51aS5tb3VzZSwgew0KCXZlcnNpb246ICIxLjExLjQiLA0KCXdpZGdldEV2ZW50UHJlZml4OiAic2xpZGUiLA0KDQoJb3B0aW9uczogew0KCQlhbmltYXRlOiBmYWxzZSwNCgkJZGlzdGFuY2U6IDAsDQoJCW1heDogMTAwLA0KCQltaW46IDAsDQoJCW9yaWVudGF0aW9uOiAiaG9yaXpvbnRhbCIsDQoJCXJhbmdlOiBmYWxzZSwNCgkJc3RlcDogMSwNCgkJdmFsdWU6IDAsDQoJCXZhbHVlczogbnVsbCwNCg0KCQkvLyBjYWxsYmFja3MNCgkJY2hhbmdlOiBudWxsLA0KCQlzbGlkZTogbnVsbCwNCgkJc3RhcnQ6IG51bGwsDQoJCXN0b3A6IG51bGwNCgl9LA0KDQoJLy8gbnVtYmVyIG9mIHBhZ2VzIGluIGEgc2xpZGVyDQoJLy8gKGhvdyBtYW55IHRpbWVzIGNhbiB5b3UgcGFnZSB1cC9kb3duIHRvIGdvIHRocm91Z2ggdGhlIHdob2xlIHJhbmdlKQ0KCW51bVBhZ2VzOiA1LA0KDQoJX2NyZWF0ZTogZnVuY3Rpb24oKSB7DQoJCXRoaXMuX2tleVNsaWRpbmcgPSBmYWxzZTsNCgkJdGhpcy5fbW91c2VTbGlkaW5nID0gZmFsc2U7DQoJCXRoaXMuX2FuaW1hdGVPZmYgPSB0cnVlOw0KCQl0aGlzLl9oYW5kbGVJbmRleCA9IG51bGw7DQoJCXRoaXMuX2RldGVjdE9yaWVudGF0aW9uKCk7DQoJCXRoaXMuX21vdXNlSW5pdCgpOw0KCQl0aGlzLl9jYWxjdWxhdGVOZXdNYXgoKTsNCg0KCQl0aGlzLmVsZW1lbnQNCgkJCS5hZGRDbGFzcyggInVpLXNsaWRlciIgKw0KCQkJCSIgdWktc2xpZGVyLSIgKyB0aGlzLm9yaWVudGF0aW9uICsNCgkJCQkiIHVpLXdpZGdldCIgKw0KCQkJCSIgdWktd2lkZ2V0LWNvbnRlbnQiICsNCgkJCQkiIHVpLWNvcm5lci1hbGwiKTsNCg0KCQl0aGlzLl9yZWZyZXNoKCk7DQoJCXRoaXMuX3NldE9wdGlvbiggImRpc2FibGVkIiwgdGhpcy5vcHRpb25zLmRpc2FibGVkICk7DQoNCgkJdGhpcy5fYW5pbWF0ZU9mZiA9IGZhbHNlOw0KCX0sDQoNCglfcmVmcmVzaDogZnVuY3Rpb24oKSB7DQoJCXRoaXMuX2NyZWF0ZVJhbmdlKCk7DQoJCXRoaXMuX2NyZWF0ZUhhbmRsZXMoKTsNCgkJdGhpcy5fc2V0dXBFdmVudHMoKTsNCgkJdGhpcy5fcmVmcmVzaFZhbHVlKCk7DQoJfSwNCg0KCV9jcmVhdGVIYW5kbGVzOiBmdW5jdGlvbigpIHsNCgkJdmFyIGksIGhhbmRsZUNvdW50LA0KCQkJb3B0aW9ucyA9IHRoaXMub3B0aW9ucywNCgkJCWV4aXN0aW5nSGFuZGxlcyA9IHRoaXMuZWxlbWVudC5maW5kKCAiLnVpLXNsaWRlci1oYW5kbGUiICkuYWRkQ2xhc3MoICJ1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwiICksDQoJCQloYW5kbGUgPSAiPHNwYW4gY2xhc3M9J3VpLXNsaWRlci1oYW5kbGUgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsJyB0YWJpbmRleD0nMCc+PC9zcGFuPiIsDQoJCQloYW5kbGVzID0gW107DQoNCgkJaGFuZGxlQ291bnQgPSAoIG9wdGlvbnMudmFsdWVzICYmIG9wdGlvbnMudmFsdWVzLmxlbmd0aCApIHx8IDE7DQoNCgkJaWYgKCBleGlzdGluZ0hhbmRsZXMubGVuZ3RoID4gaGFuZGxlQ291bnQgKSB7DQoJCQlleGlzdGluZ0hhbmRsZXMuc2xpY2UoIGhhbmRsZUNvdW50ICkucmVtb3ZlKCk7DQoJCQlleGlzdGluZ0hhbmRsZXMgPSBleGlzdGluZ0hhbmRsZXMuc2xpY2UoIDAsIGhhbmRsZUNvdW50ICk7DQoJCX0NCg0KCQlmb3IgKCBpID0gZXhpc3RpbmdIYW5kbGVzLmxlbmd0aDsgaSA8IGhhbmRsZUNvdW50OyBpKysgKSB7DQoJCQloYW5kbGVzLnB1c2goIGhhbmRsZSApOw0KCQl9DQoNCgkJdGhpcy5oYW5kbGVzID0gZXhpc3RpbmdIYW5kbGVzLmFkZCggJCggaGFuZGxlcy5qb2luKCAiIiApICkuYXBwZW5kVG8oIHRoaXMuZWxlbWVudCApICk7DQoNCgkJdGhpcy5oYW5kbGUgPSB0aGlzLmhhbmRsZXMuZXEoIDAgKTsNCg0KCQl0aGlzLmhhbmRsZXMuZWFjaChmdW5jdGlvbiggaSApIHsNCgkJCSQoIHRoaXMgKS5kYXRhKCAidWktc2xpZGVyLWhhbmRsZS1pbmRleCIsIGkgKTsNCgkJfSk7DQoJfSwNCg0KCV9jcmVhdGVSYW5nZTogZnVuY3Rpb24oKSB7DQoJCXZhciBvcHRpb25zID0gdGhpcy5vcHRpb25zLA0KCQkJY2xhc3NlcyA9ICIiOw0KDQoJCWlmICggb3B0aW9ucy5yYW5nZSApIHsNCgkJCWlmICggb3B0aW9ucy5yYW5nZSA9PT0gdHJ1ZSApIHsNCgkJCQlpZiAoICFvcHRpb25zLnZhbHVlcyApIHsNCgkJCQkJb3B0aW9ucy52YWx1ZXMgPSBbIHRoaXMuX3ZhbHVlTWluKCksIHRoaXMuX3ZhbHVlTWluKCkgXTsNCgkJCQl9IGVsc2UgaWYgKCBvcHRpb25zLnZhbHVlcy5sZW5ndGggJiYgb3B0aW9ucy52YWx1ZXMubGVuZ3RoICE9PSAyICkgew0KCQkJCQlvcHRpb25zLnZhbHVlcyA9IFsgb3B0aW9ucy52YWx1ZXNbMF0sIG9wdGlvbnMudmFsdWVzWzBdIF07DQoJCQkJfSBlbHNlIGlmICggJC5pc0FycmF5KCBvcHRpb25zLnZhbHVlcyApICkgew0KCQkJCQlvcHRpb25zLnZhbHVlcyA9IG9wdGlvbnMudmFsdWVzLnNsaWNlKDApOw0KCQkJCX0NCgkJCX0NCg0KCQkJaWYgKCAhdGhpcy5yYW5nZSB8fCAhdGhpcy5yYW5nZS5sZW5ndGggKSB7DQoJCQkJdGhpcy5yYW5nZSA9ICQoICI8ZGl2PjwvZGl2PiIgKQ0KCQkJCQkuYXBwZW5kVG8oIHRoaXMuZWxlbWVudCApOw0KDQoJCQkJY2xhc3NlcyA9ICJ1aS1zbGlkZXItcmFuZ2UiICsNCgkJCQkvLyBub3RlOiB0aGlzIGlzbid0IHRoZSBtb3N0IGZpdHRpbmdseSBzZW1hbnRpYyBmcmFtZXdvcmsgY2xhc3MgZm9yIHRoaXMgZWxlbWVudCwNCgkJCQkvLyBidXQgd29ya2VkIGJlc3QgdmlzdWFsbHkgd2l0aCBhIHZhcmlldHkgb2YgdGhlbWVzDQoJCQkJIiB1aS13aWRnZXQtaGVhZGVyIHVpLWNvcm5lci1hbGwiOw0KCQkJfSBlbHNlIHsNCgkJCQl0aGlzLnJhbmdlLnJlbW92ZUNsYXNzKCAidWktc2xpZGVyLXJhbmdlLW1pbiB1aS1zbGlkZXItcmFuZ2UtbWF4IiApDQoJCQkJCS8vIEhhbmRsZSByYW5nZSBzd2l0Y2hpbmcgZnJvbSB0cnVlIHRvIG1pbi9tYXgNCgkJCQkJLmNzcyh7DQoJCQkJCQkibGVmdCI6ICIiLA0KCQkJCQkJImJvdHRvbSI6ICIiDQoJCQkJCX0pOw0KCQkJfQ0KDQoJCQl0aGlzLnJhbmdlLmFkZENsYXNzKCBjbGFzc2VzICsNCgkJCQkoICggb3B0aW9ucy5yYW5nZSA9PT0gIm1pbiIgfHwgb3B0aW9ucy5yYW5nZSA9PT0gIm1heCIgKSA/ICIgdWktc2xpZGVyLXJhbmdlLSIgKyBvcHRpb25zLnJhbmdlIDogIiIgKSApOw0KCQl9IGVsc2Ugew0KCQkJaWYgKCB0aGlzLnJhbmdlICkgew0KCQkJCXRoaXMucmFuZ2UucmVtb3ZlKCk7DQoJCQl9DQoJCQl0aGlzLnJhbmdlID0gbnVsbDsNCgkJfQ0KCX0sDQoNCglfc2V0dXBFdmVudHM6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLl9vZmYoIHRoaXMuaGFuZGxlcyApOw0KCQl0aGlzLl9vbiggdGhpcy5oYW5kbGVzLCB0aGlzLl9oYW5kbGVFdmVudHMgKTsNCgkJdGhpcy5faG92ZXJhYmxlKCB0aGlzLmhhbmRsZXMgKTsNCgkJdGhpcy5fZm9jdXNhYmxlKCB0aGlzLmhhbmRsZXMgKTsNCgl9LA0KDQoJX2Rlc3Ryb3k6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLmhhbmRsZXMucmVtb3ZlKCk7DQoJCWlmICggdGhpcy5yYW5nZSApIHsNCgkJCXRoaXMucmFuZ2UucmVtb3ZlKCk7DQoJCX0NCg0KCQl0aGlzLmVsZW1lbnQNCgkJCS5yZW1vdmVDbGFzcyggInVpLXNsaWRlciIgKw0KCQkJCSIgdWktc2xpZGVyLWhvcml6b250YWwiICsNCgkJCQkiIHVpLXNsaWRlci12ZXJ0aWNhbCIgKw0KCQkJCSIgdWktd2lkZ2V0IiArDQoJCQkJIiB1aS13aWRnZXQtY29udGVudCIgKw0KCQkJCSIgdWktY29ybmVyLWFsbCIgKTsNCg0KCQl0aGlzLl9tb3VzZURlc3Ryb3koKTsNCgl9LA0KDQoJX21vdXNlQ2FwdHVyZTogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl2YXIgcG9zaXRpb24sIG5vcm1WYWx1ZSwgZGlzdGFuY2UsIGNsb3Nlc3RIYW5kbGUsIGluZGV4LCBhbGxvd2VkLCBvZmZzZXQsIG1vdXNlT3ZlckhhbmRsZSwNCgkJCXRoYXQgPSB0aGlzLA0KCQkJbyA9IHRoaXMub3B0aW9uczsNCg0KCQlpZiAoIG8uZGlzYWJsZWQgKSB7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCg0KCQl0aGlzLmVsZW1lbnRTaXplID0gew0KCQkJd2lkdGg6IHRoaXMuZWxlbWVudC5vdXRlcldpZHRoKCksDQoJCQloZWlnaHQ6IHRoaXMuZWxlbWVudC5vdXRlckhlaWdodCgpDQoJCX07DQoJCXRoaXMuZWxlbWVudE9mZnNldCA9IHRoaXMuZWxlbWVudC5vZmZzZXQoKTsNCg0KCQlwb3NpdGlvbiA9IHsgeDogZXZlbnQucGFnZVgsIHk6IGV2ZW50LnBhZ2VZIH07DQoJCW5vcm1WYWx1ZSA9IHRoaXMuX25vcm1WYWx1ZUZyb21Nb3VzZSggcG9zaXRpb24gKTsNCgkJZGlzdGFuY2UgPSB0aGlzLl92YWx1ZU1heCgpIC0gdGhpcy5fdmFsdWVNaW4oKSArIDE7DQoJCXRoaXMuaGFuZGxlcy5lYWNoKGZ1bmN0aW9uKCBpICkgew0KCQkJdmFyIHRoaXNEaXN0YW5jZSA9IE1hdGguYWJzKCBub3JtVmFsdWUgLSB0aGF0LnZhbHVlcyhpKSApOw0KCQkJaWYgKCggZGlzdGFuY2UgPiB0aGlzRGlzdGFuY2UgKSB8fA0KCQkJCSggZGlzdGFuY2UgPT09IHRoaXNEaXN0YW5jZSAmJg0KCQkJCQkoaSA9PT0gdGhhdC5fbGFzdENoYW5nZWRWYWx1ZSB8fCB0aGF0LnZhbHVlcyhpKSA9PT0gby5taW4gKSkpIHsNCgkJCQlkaXN0YW5jZSA9IHRoaXNEaXN0YW5jZTsNCgkJCQljbG9zZXN0SGFuZGxlID0gJCggdGhpcyApOw0KCQkJCWluZGV4ID0gaTsNCgkJCX0NCgkJfSk7DQoNCgkJYWxsb3dlZCA9IHRoaXMuX3N0YXJ0KCBldmVudCwgaW5kZXggKTsNCgkJaWYgKCBhbGxvd2VkID09PSBmYWxzZSApIHsNCgkJCXJldHVybiBmYWxzZTsNCgkJfQ0KCQl0aGlzLl9tb3VzZVNsaWRpbmcgPSB0cnVlOw0KDQoJCXRoaXMuX2hhbmRsZUluZGV4ID0gaW5kZXg7DQoNCgkJY2xvc2VzdEhhbmRsZQ0KCQkJLmFkZENsYXNzKCAidWktc3RhdGUtYWN0aXZlIiApDQoJCQkuZm9jdXMoKTsNCg0KCQlvZmZzZXQgPSBjbG9zZXN0SGFuZGxlLm9mZnNldCgpOw0KCQltb3VzZU92ZXJIYW5kbGUgPSAhJCggZXZlbnQudGFyZ2V0ICkucGFyZW50cygpLmFkZEJhY2soKS5pcyggIi51aS1zbGlkZXItaGFuZGxlIiApOw0KCQl0aGlzLl9jbGlja09mZnNldCA9IG1vdXNlT3ZlckhhbmRsZSA/IHsgbGVmdDogMCwgdG9wOiAwIH0gOiB7DQoJCQlsZWZ0OiBldmVudC5wYWdlWCAtIG9mZnNldC5sZWZ0IC0gKCBjbG9zZXN0SGFuZGxlLndpZHRoKCkgLyAyICksDQoJCQl0b3A6IGV2ZW50LnBhZ2VZIC0gb2Zmc2V0LnRvcCAtDQoJCQkJKCBjbG9zZXN0SGFuZGxlLmhlaWdodCgpIC8gMiApIC0NCgkJCQkoIHBhcnNlSW50KCBjbG9zZXN0SGFuZGxlLmNzcygiYm9yZGVyVG9wV2lkdGgiKSwgMTAgKSB8fCAwICkgLQ0KCQkJCSggcGFyc2VJbnQoIGNsb3Nlc3RIYW5kbGUuY3NzKCJib3JkZXJCb3R0b21XaWR0aCIpLCAxMCApIHx8IDApICsNCgkJCQkoIHBhcnNlSW50KCBjbG9zZXN0SGFuZGxlLmNzcygibWFyZ2luVG9wIiksIDEwICkgfHwgMCkNCgkJfTsNCg0KCQlpZiAoICF0aGlzLmhhbmRsZXMuaGFzQ2xhc3MoICJ1aS1zdGF0ZS1ob3ZlciIgKSApIHsNCgkJCXRoaXMuX3NsaWRlKCBldmVudCwgaW5kZXgsIG5vcm1WYWx1ZSApOw0KCQl9DQoJCXRoaXMuX2FuaW1hdGVPZmYgPSB0cnVlOw0KCQlyZXR1cm4gdHJ1ZTsNCgl9LA0KDQoJX21vdXNlU3RhcnQ6IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gdHJ1ZTsNCgl9LA0KDQoJX21vdXNlRHJhZzogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl2YXIgcG9zaXRpb24gPSB7IHg6IGV2ZW50LnBhZ2VYLCB5OiBldmVudC5wYWdlWSB9LA0KCQkJbm9ybVZhbHVlID0gdGhpcy5fbm9ybVZhbHVlRnJvbU1vdXNlKCBwb3NpdGlvbiApOw0KDQoJCXRoaXMuX3NsaWRlKCBldmVudCwgdGhpcy5faGFuZGxlSW5kZXgsIG5vcm1WYWx1ZSApOw0KDQoJCXJldHVybiBmYWxzZTsNCgl9LA0KDQoJX21vdXNlU3RvcDogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl0aGlzLmhhbmRsZXMucmVtb3ZlQ2xhc3MoICJ1aS1zdGF0ZS1hY3RpdmUiICk7DQoJCXRoaXMuX21vdXNlU2xpZGluZyA9IGZhbHNlOw0KDQoJCXRoaXMuX3N0b3AoIGV2ZW50LCB0aGlzLl9oYW5kbGVJbmRleCApOw0KCQl0aGlzLl9jaGFuZ2UoIGV2ZW50LCB0aGlzLl9oYW5kbGVJbmRleCApOw0KDQoJCXRoaXMuX2hhbmRsZUluZGV4ID0gbnVsbDsNCgkJdGhpcy5fY2xpY2tPZmZzZXQgPSBudWxsOw0KCQl0aGlzLl9hbmltYXRlT2ZmID0gZmFsc2U7DQoNCgkJcmV0dXJuIGZhbHNlOw0KCX0sDQoNCglfZGV0ZWN0T3JpZW50YXRpb246IGZ1bmN0aW9uKCkgew0KCQl0aGlzLm9yaWVudGF0aW9uID0gKCB0aGlzLm9wdGlvbnMub3JpZW50YXRpb24gPT09ICJ2ZXJ0aWNhbCIgKSA/ICJ2ZXJ0aWNhbCIgOiAiaG9yaXpvbnRhbCI7DQoJfSwNCg0KCV9ub3JtVmFsdWVGcm9tTW91c2U6IGZ1bmN0aW9uKCBwb3NpdGlvbiApIHsNCgkJdmFyIHBpeGVsVG90YWwsDQoJCQlwaXhlbE1vdXNlLA0KCQkJcGVyY2VudE1vdXNlLA0KCQkJdmFsdWVUb3RhbCwNCgkJCXZhbHVlTW91c2U7DQoNCgkJaWYgKCB0aGlzLm9yaWVudGF0aW9uID09PSAiaG9yaXpvbnRhbCIgKSB7DQoJCQlwaXhlbFRvdGFsID0gdGhpcy5lbGVtZW50U2l6ZS53aWR0aDsNCgkJCXBpeGVsTW91c2UgPSBwb3NpdGlvbi54IC0gdGhpcy5lbGVtZW50T2Zmc2V0LmxlZnQgLSAoIHRoaXMuX2NsaWNrT2Zmc2V0ID8gdGhpcy5fY2xpY2tPZmZzZXQubGVmdCA6IDAgKTsNCgkJfSBlbHNlIHsNCgkJCXBpeGVsVG90YWwgPSB0aGlzLmVsZW1lbnRTaXplLmhlaWdodDsNCgkJCXBpeGVsTW91c2UgPSBwb3NpdGlvbi55IC0gdGhpcy5lbGVtZW50T2Zmc2V0LnRvcCAtICggdGhpcy5fY2xpY2tPZmZzZXQgPyB0aGlzLl9jbGlja09mZnNldC50b3AgOiAwICk7DQoJCX0NCg0KCQlwZXJjZW50TW91c2UgPSAoIHBpeGVsTW91c2UgLyBwaXhlbFRvdGFsICk7DQoJCWlmICggcGVyY2VudE1vdXNlID4gMSApIHsNCgkJCXBlcmNlbnRNb3VzZSA9IDE7DQoJCX0NCgkJaWYgKCBwZXJjZW50TW91c2UgPCAwICkgew0KCQkJcGVyY2VudE1vdXNlID0gMDsNCgkJfQ0KCQlpZiAoIHRoaXMub3JpZW50YXRpb24gPT09ICJ2ZXJ0aWNhbCIgKSB7DQoJCQlwZXJjZW50TW91c2UgPSAxIC0gcGVyY2VudE1vdXNlOw0KCQl9DQoNCgkJdmFsdWVUb3RhbCA9IHRoaXMuX3ZhbHVlTWF4KCkgLSB0aGlzLl92YWx1ZU1pbigpOw0KCQl2YWx1ZU1vdXNlID0gdGhpcy5fdmFsdWVNaW4oKSArIHBlcmNlbnRNb3VzZSAqIHZhbHVlVG90YWw7DQoNCgkJcmV0dXJuIHRoaXMuX3RyaW1BbGlnblZhbHVlKCB2YWx1ZU1vdXNlICk7DQoJfSwNCg0KCV9zdGFydDogZnVuY3Rpb24oIGV2ZW50LCBpbmRleCApIHsNCgkJdmFyIHVpSGFzaCA9IHsNCgkJCWhhbmRsZTogdGhpcy5oYW5kbGVzWyBpbmRleCBdLA0KCQkJdmFsdWU6IHRoaXMudmFsdWUoKQ0KCQl9Ow0KCQlpZiAoIHRoaXMub3B0aW9ucy52YWx1ZXMgJiYgdGhpcy5vcHRpb25zLnZhbHVlcy5sZW5ndGggKSB7DQoJCQl1aUhhc2gudmFsdWUgPSB0aGlzLnZhbHVlcyggaW5kZXggKTsNCgkJCXVpSGFzaC52YWx1ZXMgPSB0aGlzLnZhbHVlcygpOw0KCQl9DQoJCXJldHVybiB0aGlzLl90cmlnZ2VyKCAic3RhcnQiLCBldmVudCwgdWlIYXNoICk7DQoJfSwNCg0KCV9zbGlkZTogZnVuY3Rpb24oIGV2ZW50LCBpbmRleCwgbmV3VmFsICkgew0KCQl2YXIgb3RoZXJWYWwsDQoJCQluZXdWYWx1ZXMsDQoJCQlhbGxvd2VkOw0KDQoJCWlmICggdGhpcy5vcHRpb25zLnZhbHVlcyAmJiB0aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aCApIHsNCgkJCW90aGVyVmFsID0gdGhpcy52YWx1ZXMoIGluZGV4ID8gMCA6IDEgKTsNCg0KCQkJaWYgKCAoIHRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoID09PSAyICYmIHRoaXMub3B0aW9ucy5yYW5nZSA9PT0gdHJ1ZSApICYmDQoJCQkJCSggKCBpbmRleCA9PT0gMCAmJiBuZXdWYWwgPiBvdGhlclZhbCkgfHwgKCBpbmRleCA9PT0gMSAmJiBuZXdWYWwgPCBvdGhlclZhbCApICkNCgkJCQkpIHsNCgkJCQluZXdWYWwgPSBvdGhlclZhbDsNCgkJCX0NCg0KCQkJaWYgKCBuZXdWYWwgIT09IHRoaXMudmFsdWVzKCBpbmRleCApICkgew0KCQkJCW5ld1ZhbHVlcyA9IHRoaXMudmFsdWVzKCk7DQoJCQkJbmV3VmFsdWVzWyBpbmRleCBdID0gbmV3VmFsOw0KCQkJCS8vIEEgc2xpZGUgY2FuIGJlIGNhbmNlbGVkIGJ5IHJldHVybmluZyBmYWxzZSBmcm9tIHRoZSBzbGlkZSBjYWxsYmFjaw0KCQkJCWFsbG93ZWQgPSB0aGlzLl90cmlnZ2VyKCAic2xpZGUiLCBldmVudCwgew0KCQkJCQloYW5kbGU6IHRoaXMuaGFuZGxlc1sgaW5kZXggXSwNCgkJCQkJdmFsdWU6IG5ld1ZhbCwNCgkJCQkJdmFsdWVzOiBuZXdWYWx1ZXMNCgkJCQl9ICk7DQoJCQkJb3RoZXJWYWwgPSB0aGlzLnZhbHVlcyggaW5kZXggPyAwIDogMSApOw0KCQkJCWlmICggYWxsb3dlZCAhPT0gZmFsc2UgKSB7DQoJCQkJCXRoaXMudmFsdWVzKCBpbmRleCwgbmV3VmFsICk7DQoJCQkJfQ0KCQkJfQ0KCQl9IGVsc2Ugew0KCQkJaWYgKCBuZXdWYWwgIT09IHRoaXMudmFsdWUoKSApIHsNCgkJCQkvLyBBIHNsaWRlIGNhbiBiZSBjYW5jZWxlZCBieSByZXR1cm5pbmcgZmFsc2UgZnJvbSB0aGUgc2xpZGUgY2FsbGJhY2sNCgkJCQlhbGxvd2VkID0gdGhpcy5fdHJpZ2dlciggInNsaWRlIiwgZXZlbnQsIHsNCgkJCQkJaGFuZGxlOiB0aGlzLmhhbmRsZXNbIGluZGV4IF0sDQoJCQkJCXZhbHVlOiBuZXdWYWwNCgkJCQl9ICk7DQoJCQkJaWYgKCBhbGxvd2VkICE9PSBmYWxzZSApIHsNCgkJCQkJdGhpcy52YWx1ZSggbmV3VmFsICk7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJfSwNCg0KCV9zdG9wOiBmdW5jdGlvbiggZXZlbnQsIGluZGV4ICkgew0KCQl2YXIgdWlIYXNoID0gew0KCQkJaGFuZGxlOiB0aGlzLmhhbmRsZXNbIGluZGV4IF0sDQoJCQl2YWx1ZTogdGhpcy52YWx1ZSgpDQoJCX07DQoJCWlmICggdGhpcy5vcHRpb25zLnZhbHVlcyAmJiB0aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aCApIHsNCgkJCXVpSGFzaC52YWx1ZSA9IHRoaXMudmFsdWVzKCBpbmRleCApOw0KCQkJdWlIYXNoLnZhbHVlcyA9IHRoaXMudmFsdWVzKCk7DQoJCX0NCg0KCQl0aGlzLl90cmlnZ2VyKCAic3RvcCIsIGV2ZW50LCB1aUhhc2ggKTsNCgl9LA0KDQoJX2NoYW5nZTogZnVuY3Rpb24oIGV2ZW50LCBpbmRleCApIHsNCgkJaWYgKCAhdGhpcy5fa2V5U2xpZGluZyAmJiAhdGhpcy5fbW91c2VTbGlkaW5nICkgew0KCQkJdmFyIHVpSGFzaCA9IHsNCgkJCQloYW5kbGU6IHRoaXMuaGFuZGxlc1sgaW5kZXggXSwNCgkJCQl2YWx1ZTogdGhpcy52YWx1ZSgpDQoJCQl9Ow0KCQkJaWYgKCB0aGlzLm9wdGlvbnMudmFsdWVzICYmIHRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoICkgew0KCQkJCXVpSGFzaC52YWx1ZSA9IHRoaXMudmFsdWVzKCBpbmRleCApOw0KCQkJCXVpSGFzaC52YWx1ZXMgPSB0aGlzLnZhbHVlcygpOw0KCQkJfQ0KDQoJCQkvL3N0b3JlIHRoZSBsYXN0IGNoYW5nZWQgdmFsdWUgaW5kZXggZm9yIHJlZmVyZW5jZSB3aGVuIGhhbmRsZXMgb3ZlcmxhcA0KCQkJdGhpcy5fbGFzdENoYW5nZWRWYWx1ZSA9IGluZGV4Ow0KDQoJCQl0aGlzLl90cmlnZ2VyKCAiY2hhbmdlIiwgZXZlbnQsIHVpSGFzaCApOw0KCQl9DQoJfSwNCg0KCXZhbHVlOiBmdW5jdGlvbiggbmV3VmFsdWUgKSB7DQoJCWlmICggYXJndW1lbnRzLmxlbmd0aCApIHsNCgkJCXRoaXMub3B0aW9ucy52YWx1ZSA9IHRoaXMuX3RyaW1BbGlnblZhbHVlKCBuZXdWYWx1ZSApOw0KCQkJdGhpcy5fcmVmcmVzaFZhbHVlKCk7DQoJCQl0aGlzLl9jaGFuZ2UoIG51bGwsIDAgKTsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCXJldHVybiB0aGlzLl92YWx1ZSgpOw0KCX0sDQoNCgl2YWx1ZXM6IGZ1bmN0aW9uKCBpbmRleCwgbmV3VmFsdWUgKSB7DQoJCXZhciB2YWxzLA0KCQkJbmV3VmFsdWVzLA0KCQkJaTsNCg0KCQlpZiAoIGFyZ3VtZW50cy5sZW5ndGggPiAxICkgew0KCQkJdGhpcy5vcHRpb25zLnZhbHVlc1sgaW5kZXggXSA9IHRoaXMuX3RyaW1BbGlnblZhbHVlKCBuZXdWYWx1ZSApOw0KCQkJdGhpcy5fcmVmcmVzaFZhbHVlKCk7DQoJCQl0aGlzLl9jaGFuZ2UoIG51bGwsIGluZGV4ICk7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQlpZiAoIGFyZ3VtZW50cy5sZW5ndGggKSB7DQoJCQlpZiAoICQuaXNBcnJheSggYXJndW1lbnRzWyAwIF0gKSApIHsNCgkJCQl2YWxzID0gdGhpcy5vcHRpb25zLnZhbHVlczsNCgkJCQluZXdWYWx1ZXMgPSBhcmd1bWVudHNbIDAgXTsNCgkJCQlmb3IgKCBpID0gMDsgaSA8IHZhbHMubGVuZ3RoOyBpICs9IDEgKSB7DQoJCQkJCXZhbHNbIGkgXSA9IHRoaXMuX3RyaW1BbGlnblZhbHVlKCBuZXdWYWx1ZXNbIGkgXSApOw0KCQkJCQl0aGlzLl9jaGFuZ2UoIG51bGwsIGkgKTsNCgkJCQl9DQoJCQkJdGhpcy5fcmVmcmVzaFZhbHVlKCk7DQoJCQl9IGVsc2Ugew0KCQkJCWlmICggdGhpcy5vcHRpb25zLnZhbHVlcyAmJiB0aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aCApIHsNCgkJCQkJcmV0dXJuIHRoaXMuX3ZhbHVlcyggaW5kZXggKTsNCgkJCQl9IGVsc2Ugew0KCQkJCQlyZXR1cm4gdGhpcy52YWx1ZSgpOw0KCQkJCX0NCgkJCX0NCgkJfSBlbHNlIHsNCgkJCXJldHVybiB0aGlzLl92YWx1ZXMoKTsNCgkJfQ0KCX0sDQoNCglfc2V0T3B0aW9uOiBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsNCgkJdmFyIGksDQoJCQl2YWxzTGVuZ3RoID0gMDsNCg0KCQlpZiAoIGtleSA9PT0gInJhbmdlIiAmJiB0aGlzLm9wdGlvbnMucmFuZ2UgPT09IHRydWUgKSB7DQoJCQlpZiAoIHZhbHVlID09PSAibWluIiApIHsNCgkJCQl0aGlzLm9wdGlvbnMudmFsdWUgPSB0aGlzLl92YWx1ZXMoIDAgKTsNCgkJCQl0aGlzLm9wdGlvbnMudmFsdWVzID0gbnVsbDsNCgkJCX0gZWxzZSBpZiAoIHZhbHVlID09PSAibWF4IiApIHsNCgkJCQl0aGlzLm9wdGlvbnMudmFsdWUgPSB0aGlzLl92YWx1ZXMoIHRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoIC0gMSApOw0KCQkJCXRoaXMub3B0aW9ucy52YWx1ZXMgPSBudWxsOw0KCQkJfQ0KCQl9DQoNCgkJaWYgKCAkLmlzQXJyYXkoIHRoaXMub3B0aW9ucy52YWx1ZXMgKSApIHsNCgkJCXZhbHNMZW5ndGggPSB0aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aDsNCgkJfQ0KDQoJCWlmICgga2V5ID09PSAiZGlzYWJsZWQiICkgew0KCQkJdGhpcy5lbGVtZW50LnRvZ2dsZUNsYXNzKCAidWktc3RhdGUtZGlzYWJsZWQiLCAhIXZhbHVlICk7DQoJCX0NCg0KCQl0aGlzLl9zdXBlcigga2V5LCB2YWx1ZSApOw0KDQoJCXN3aXRjaCAoIGtleSApIHsNCgkJCWNhc2UgIm9yaWVudGF0aW9uIjoNCgkJCQl0aGlzLl9kZXRlY3RPcmllbnRhdGlvbigpOw0KCQkJCXRoaXMuZWxlbWVudA0KCQkJCQkucmVtb3ZlQ2xhc3MoICJ1aS1zbGlkZXItaG9yaXpvbnRhbCB1aS1zbGlkZXItdmVydGljYWwiICkNCgkJCQkJLmFkZENsYXNzKCAidWktc2xpZGVyLSIgKyB0aGlzLm9yaWVudGF0aW9uICk7DQoJCQkJdGhpcy5fcmVmcmVzaFZhbHVlKCk7DQoNCgkJCQkvLyBSZXNldCBwb3NpdGlvbmluZyBmcm9tIHByZXZpb3VzIG9yaWVudGF0aW9uDQoJCQkJdGhpcy5oYW5kbGVzLmNzcyggdmFsdWUgPT09ICJob3Jpem9udGFsIiA/ICJib3R0b20iIDogImxlZnQiLCAiIiApOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAidmFsdWUiOg0KCQkJCXRoaXMuX2FuaW1hdGVPZmYgPSB0cnVlOw0KCQkJCXRoaXMuX3JlZnJlc2hWYWx1ZSgpOw0KCQkJCXRoaXMuX2NoYW5nZSggbnVsbCwgMCApOw0KCQkJCXRoaXMuX2FuaW1hdGVPZmYgPSBmYWxzZTsNCgkJCQlicmVhazsNCgkJCWNhc2UgInZhbHVlcyI6DQoJCQkJdGhpcy5fYW5pbWF0ZU9mZiA9IHRydWU7DQoJCQkJdGhpcy5fcmVmcmVzaFZhbHVlKCk7DQoJCQkJZm9yICggaSA9IDA7IGkgPCB2YWxzTGVuZ3RoOyBpICs9IDEgKSB7DQoJCQkJCXRoaXMuX2NoYW5nZSggbnVsbCwgaSApOw0KCQkJCX0NCgkJCQl0aGlzLl9hbmltYXRlT2ZmID0gZmFsc2U7DQoJCQkJYnJlYWs7DQoJCQljYXNlICJzdGVwIjoNCgkJCWNhc2UgIm1pbiI6DQoJCQljYXNlICJtYXgiOg0KCQkJCXRoaXMuX2FuaW1hdGVPZmYgPSB0cnVlOw0KCQkJCXRoaXMuX2NhbGN1bGF0ZU5ld01heCgpOw0KCQkJCXRoaXMuX3JlZnJlc2hWYWx1ZSgpOw0KCQkJCXRoaXMuX2FuaW1hdGVPZmYgPSBmYWxzZTsNCgkJCQlicmVhazsNCgkJCWNhc2UgInJhbmdlIjoNCgkJCQl0aGlzLl9hbmltYXRlT2ZmID0gdHJ1ZTsNCgkJCQl0aGlzLl9yZWZyZXNoKCk7DQoJCQkJdGhpcy5fYW5pbWF0ZU9mZiA9IGZhbHNlOw0KCQkJCWJyZWFrOw0KCQl9DQoJfSwNCg0KCS8vaW50ZXJuYWwgdmFsdWUgZ2V0dGVyDQoJLy8gX3ZhbHVlKCkgcmV0dXJucyB2YWx1ZSB0cmltbWVkIGJ5IG1pbiBhbmQgbWF4LCBhbGlnbmVkIGJ5IHN0ZXANCglfdmFsdWU6IGZ1bmN0aW9uKCkgew0KCQl2YXIgdmFsID0gdGhpcy5vcHRpb25zLnZhbHVlOw0KCQl2YWwgPSB0aGlzLl90cmltQWxpZ25WYWx1ZSggdmFsICk7DQoNCgkJcmV0dXJuIHZhbDsNCgl9LA0KDQoJLy9pbnRlcm5hbCB2YWx1ZXMgZ2V0dGVyDQoJLy8gX3ZhbHVlcygpIHJldHVybnMgYXJyYXkgb2YgdmFsdWVzIHRyaW1tZWQgYnkgbWluIGFuZCBtYXgsIGFsaWduZWQgYnkgc3RlcA0KCS8vIF92YWx1ZXMoIGluZGV4ICkgcmV0dXJucyBzaW5nbGUgdmFsdWUgdHJpbW1lZCBieSBtaW4gYW5kIG1heCwgYWxpZ25lZCBieSBzdGVwDQoJX3ZhbHVlczogZnVuY3Rpb24oIGluZGV4ICkgew0KCQl2YXIgdmFsLA0KCQkJdmFscywNCgkJCWk7DQoNCgkJaWYgKCBhcmd1bWVudHMubGVuZ3RoICkgew0KCQkJdmFsID0gdGhpcy5vcHRpb25zLnZhbHVlc1sgaW5kZXggXTsNCgkJCXZhbCA9IHRoaXMuX3RyaW1BbGlnblZhbHVlKCB2YWwgKTsNCg0KCQkJcmV0dXJuIHZhbDsNCgkJfSBlbHNlIGlmICggdGhpcy5vcHRpb25zLnZhbHVlcyAmJiB0aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aCApIHsNCgkJCS8vIC5zbGljZSgpIGNyZWF0ZXMgYSBjb3B5IG9mIHRoZSBhcnJheQ0KCQkJLy8gdGhpcyBjb3B5IGdldHMgdHJpbW1lZCBieSBtaW4gYW5kIG1heCBhbmQgdGhlbiByZXR1cm5lZA0KCQkJdmFscyA9IHRoaXMub3B0aW9ucy52YWx1ZXMuc2xpY2UoKTsNCgkJCWZvciAoIGkgPSAwOyBpIDwgdmFscy5sZW5ndGg7IGkgKz0gMSkgew0KCQkJCXZhbHNbIGkgXSA9IHRoaXMuX3RyaW1BbGlnblZhbHVlKCB2YWxzWyBpIF0gKTsNCgkJCX0NCg0KCQkJcmV0dXJuIHZhbHM7DQoJCX0gZWxzZSB7DQoJCQlyZXR1cm4gW107DQoJCX0NCgl9LA0KDQoJLy8gcmV0dXJucyB0aGUgc3RlcC1hbGlnbmVkIHZhbHVlIHRoYXQgdmFsIGlzIGNsb3Nlc3QgdG8sIGJldHdlZW4gKGluY2x1c2l2ZSkgbWluIGFuZCBtYXgNCglfdHJpbUFsaWduVmFsdWU6IGZ1bmN0aW9uKCB2YWwgKSB7DQoJCWlmICggdmFsIDw9IHRoaXMuX3ZhbHVlTWluKCkgKSB7DQoJCQlyZXR1cm4gdGhpcy5fdmFsdWVNaW4oKTsNCgkJfQ0KCQlpZiAoIHZhbCA+PSB0aGlzLl92YWx1ZU1heCgpICkgew0KCQkJcmV0dXJuIHRoaXMuX3ZhbHVlTWF4KCk7DQoJCX0NCgkJdmFyIHN0ZXAgPSAoIHRoaXMub3B0aW9ucy5zdGVwID4gMCApID8gdGhpcy5vcHRpb25zLnN0ZXAgOiAxLA0KCQkJdmFsTW9kU3RlcCA9ICh2YWwgLSB0aGlzLl92YWx1ZU1pbigpKSAlIHN0ZXAsDQoJCQlhbGlnblZhbHVlID0gdmFsIC0gdmFsTW9kU3RlcDsNCg0KCQlpZiAoIE1hdGguYWJzKHZhbE1vZFN0ZXApICogMiA+PSBzdGVwICkgew0KCQkJYWxpZ25WYWx1ZSArPSAoIHZhbE1vZFN0ZXAgPiAwICkgPyBzdGVwIDogKCAtc3RlcCApOw0KCQl9DQoNCgkJLy8gU2luY2UgSmF2YVNjcmlwdCBoYXMgcHJvYmxlbXMgd2l0aCBsYXJnZSBmbG9hdHMsIHJvdW5kDQoJCS8vIHRoZSBmaW5hbCB2YWx1ZSB0byA1IGRpZ2l0cyBhZnRlciB0aGUgZGVjaW1hbCBwb2ludCAoc2VlICM0MTI0KQ0KCQlyZXR1cm4gcGFyc2VGbG9hdCggYWxpZ25WYWx1ZS50b0ZpeGVkKDUpICk7DQoJfSwNCg0KCV9jYWxjdWxhdGVOZXdNYXg6IGZ1bmN0aW9uKCkgew0KCQl2YXIgbWF4ID0gdGhpcy5vcHRpb25zLm1heCwNCgkJCW1pbiA9IHRoaXMuX3ZhbHVlTWluKCksDQoJCQlzdGVwID0gdGhpcy5vcHRpb25zLnN0ZXAsDQoJCQlhYm92ZU1pbiA9IE1hdGguZmxvb3IoICggKyggbWF4IC0gbWluICkudG9GaXhlZCggdGhpcy5fcHJlY2lzaW9uKCkgKSApIC8gc3RlcCApICogc3RlcDsNCgkJbWF4ID0gYWJvdmVNaW4gKyBtaW47DQoJCXRoaXMubWF4ID0gcGFyc2VGbG9hdCggbWF4LnRvRml4ZWQoIHRoaXMuX3ByZWNpc2lvbigpICkgKTsNCgl9LA0KDQoJX3ByZWNpc2lvbjogZnVuY3Rpb24oKSB7DQoJCXZhciBwcmVjaXNpb24gPSB0aGlzLl9wcmVjaXNpb25PZiggdGhpcy5vcHRpb25zLnN0ZXAgKTsNCgkJaWYgKCB0aGlzLm9wdGlvbnMubWluICE9PSBudWxsICkgew0KCQkJcHJlY2lzaW9uID0gTWF0aC5tYXgoIHByZWNpc2lvbiwgdGhpcy5fcHJlY2lzaW9uT2YoIHRoaXMub3B0aW9ucy5taW4gKSApOw0KCQl9DQoJCXJldHVybiBwcmVjaXNpb247DQoJfSwNCg0KCV9wcmVjaXNpb25PZjogZnVuY3Rpb24oIG51bSApIHsNCgkJdmFyIHN0ciA9IG51bS50b1N0cmluZygpLA0KCQkJZGVjaW1hbCA9IHN0ci5pbmRleE9mKCAiLiIgKTsNCgkJcmV0dXJuIGRlY2ltYWwgPT09IC0xID8gMCA6IHN0ci5sZW5ndGggLSBkZWNpbWFsIC0gMTsNCgl9LA0KDQoJX3ZhbHVlTWluOiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHRoaXMub3B0aW9ucy5taW47DQoJfSwNCg0KCV92YWx1ZU1heDogZnVuY3Rpb24oKSB7DQoJCXJldHVybiB0aGlzLm1heDsNCgl9LA0KDQoJX3JlZnJlc2hWYWx1ZTogZnVuY3Rpb24oKSB7DQoJCXZhciBsYXN0VmFsUGVyY2VudCwgdmFsUGVyY2VudCwgdmFsdWUsIHZhbHVlTWluLCB2YWx1ZU1heCwNCgkJCW9SYW5nZSA9IHRoaXMub3B0aW9ucy5yYW5nZSwNCgkJCW8gPSB0aGlzLm9wdGlvbnMsDQoJCQl0aGF0ID0gdGhpcywNCgkJCWFuaW1hdGUgPSAoICF0aGlzLl9hbmltYXRlT2ZmICkgPyBvLmFuaW1hdGUgOiBmYWxzZSwNCgkJCV9zZXQgPSB7fTsNCg0KCQlpZiAoIHRoaXMub3B0aW9ucy52YWx1ZXMgJiYgdGhpcy5vcHRpb25zLnZhbHVlcy5sZW5ndGggKSB7DQoJCQl0aGlzLmhhbmRsZXMuZWFjaChmdW5jdGlvbiggaSApIHsNCgkJCQl2YWxQZXJjZW50ID0gKCB0aGF0LnZhbHVlcyhpKSAtIHRoYXQuX3ZhbHVlTWluKCkgKSAvICggdGhhdC5fdmFsdWVNYXgoKSAtIHRoYXQuX3ZhbHVlTWluKCkgKSAqIDEwMDsNCgkJCQlfc2V0WyB0aGF0Lm9yaWVudGF0aW9uID09PSAiaG9yaXpvbnRhbCIgPyAibGVmdCIgOiAiYm90dG9tIiBdID0gdmFsUGVyY2VudCArICIlIjsNCgkJCQkkKCB0aGlzICkuc3RvcCggMSwgMSApWyBhbmltYXRlID8gImFuaW1hdGUiIDogImNzcyIgXSggX3NldCwgby5hbmltYXRlICk7DQoJCQkJaWYgKCB0aGF0Lm9wdGlvbnMucmFuZ2UgPT09IHRydWUgKSB7DQoJCQkJCWlmICggdGhhdC5vcmllbnRhdGlvbiA9PT0gImhvcml6b250YWwiICkgew0KCQkJCQkJaWYgKCBpID09PSAwICkgew0KCQkJCQkJCXRoYXQucmFuZ2Uuc3RvcCggMSwgMSApWyBhbmltYXRlID8gImFuaW1hdGUiIDogImNzcyIgXSggeyBsZWZ0OiB2YWxQZXJjZW50ICsgIiUiIH0sIG8uYW5pbWF0ZSApOw0KCQkJCQkJfQ0KCQkJCQkJaWYgKCBpID09PSAxICkgew0KCQkJCQkJCXRoYXQucmFuZ2VbIGFuaW1hdGUgPyAiYW5pbWF0ZSIgOiAiY3NzIiBdKCB7IHdpZHRoOiAoIHZhbFBlcmNlbnQgLSBsYXN0VmFsUGVyY2VudCApICsgIiUiIH0sIHsgcXVldWU6IGZhbHNlLCBkdXJhdGlvbjogby5hbmltYXRlIH0gKTsNCgkJCQkJCX0NCgkJCQkJfSBlbHNlIHsNCgkJCQkJCWlmICggaSA9PT0gMCApIHsNCgkJCQkJCQl0aGF0LnJhbmdlLnN0b3AoIDEsIDEgKVsgYW5pbWF0ZSA/ICJhbmltYXRlIiA6ICJjc3MiIF0oIHsgYm90dG9tOiAoIHZhbFBlcmNlbnQgKSArICIlIiB9LCBvLmFuaW1hdGUgKTsNCgkJCQkJCX0NCgkJCQkJCWlmICggaSA9PT0gMSApIHsNCgkJCQkJCQl0aGF0LnJhbmdlWyBhbmltYXRlID8gImFuaW1hdGUiIDogImNzcyIgXSggeyBoZWlnaHQ6ICggdmFsUGVyY2VudCAtIGxhc3RWYWxQZXJjZW50ICkgKyAiJSIgfSwgeyBxdWV1ZTogZmFsc2UsIGR1cmF0aW9uOiBvLmFuaW1hdGUgfSApOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfQ0KCQkJCWxhc3RWYWxQZXJjZW50ID0gdmFsUGVyY2VudDsNCgkJCX0pOw0KCQl9IGVsc2Ugew0KCQkJdmFsdWUgPSB0aGlzLnZhbHVlKCk7DQoJCQl2YWx1ZU1pbiA9IHRoaXMuX3ZhbHVlTWluKCk7DQoJCQl2YWx1ZU1heCA9IHRoaXMuX3ZhbHVlTWF4KCk7DQoJCQl2YWxQZXJjZW50ID0gKCB2YWx1ZU1heCAhPT0gdmFsdWVNaW4gKSA/DQoJCQkJCSggdmFsdWUgLSB2YWx1ZU1pbiApIC8gKCB2YWx1ZU1heCAtIHZhbHVlTWluICkgKiAxMDAgOg0KCQkJCQkwOw0KCQkJX3NldFsgdGhpcy5vcmllbnRhdGlvbiA9PT0gImhvcml6b250YWwiID8gImxlZnQiIDogImJvdHRvbSIgXSA9IHZhbFBlcmNlbnQgKyAiJSI7DQoJCQl0aGlzLmhhbmRsZS5zdG9wKCAxLCAxIClbIGFuaW1hdGUgPyAiYW5pbWF0ZSIgOiAiY3NzIiBdKCBfc2V0LCBvLmFuaW1hdGUgKTsNCg0KCQkJaWYgKCBvUmFuZ2UgPT09ICJtaW4iICYmIHRoaXMub3JpZW50YXRpb24gPT09ICJob3Jpem9udGFsIiApIHsNCgkJCQl0aGlzLnJhbmdlLnN0b3AoIDEsIDEgKVsgYW5pbWF0ZSA/ICJhbmltYXRlIiA6ICJjc3MiIF0oIHsgd2lkdGg6IHZhbFBlcmNlbnQgKyAiJSIgfSwgby5hbmltYXRlICk7DQoJCQl9DQoJCQlpZiAoIG9SYW5nZSA9PT0gIm1heCIgJiYgdGhpcy5vcmllbnRhdGlvbiA9PT0gImhvcml6b250YWwiICkgew0KCQkJCXRoaXMucmFuZ2VbIGFuaW1hdGUgPyAiYW5pbWF0ZSIgOiAiY3NzIiBdKCB7IHdpZHRoOiAoIDEwMCAtIHZhbFBlcmNlbnQgKSArICIlIiB9LCB7IHF1ZXVlOiBmYWxzZSwgZHVyYXRpb246IG8uYW5pbWF0ZSB9ICk7DQoJCQl9DQoJCQlpZiAoIG9SYW5nZSA9PT0gIm1pbiIgJiYgdGhpcy5vcmllbnRhdGlvbiA9PT0gInZlcnRpY2FsIiApIHsNCgkJCQl0aGlzLnJhbmdlLnN0b3AoIDEsIDEgKVsgYW5pbWF0ZSA/ICJhbmltYXRlIiA6ICJjc3MiIF0oIHsgaGVpZ2h0OiB2YWxQZXJjZW50ICsgIiUiIH0sIG8uYW5pbWF0ZSApOw0KCQkJfQ0KCQkJaWYgKCBvUmFuZ2UgPT09ICJtYXgiICYmIHRoaXMub3JpZW50YXRpb24gPT09ICJ2ZXJ0aWNhbCIgKSB7DQoJCQkJdGhpcy5yYW5nZVsgYW5pbWF0ZSA/ICJhbmltYXRlIiA6ICJjc3MiIF0oIHsgaGVpZ2h0OiAoIDEwMCAtIHZhbFBlcmNlbnQgKSArICIlIiB9LCB7IHF1ZXVlOiBmYWxzZSwgZHVyYXRpb246IG8uYW5pbWF0ZSB9ICk7DQoJCQl9DQoJCX0NCgl9LA0KDQoJX2hhbmRsZUV2ZW50czogew0KCQlrZXlkb3duOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQl2YXIgYWxsb3dlZCwgY3VyVmFsLCBuZXdWYWwsIHN0ZXAsDQoJCQkJaW5kZXggPSAkKCBldmVudC50YXJnZXQgKS5kYXRhKCAidWktc2xpZGVyLWhhbmRsZS1pbmRleCIgKTsNCg0KCQkJc3dpdGNoICggZXZlbnQua2V5Q29kZSApIHsNCgkJCQljYXNlICQudWkua2V5Q29kZS5IT01FOg0KCQkJCWNhc2UgJC51aS5rZXlDb2RlLkVORDoNCgkJCQljYXNlICQudWkua2V5Q29kZS5QQUdFX1VQOg0KCQkJCWNhc2UgJC51aS5rZXlDb2RlLlBBR0VfRE9XTjoNCgkJCQljYXNlICQudWkua2V5Q29kZS5VUDoNCgkJCQljYXNlICQudWkua2V5Q29kZS5SSUdIVDoNCgkJCQljYXNlICQudWkua2V5Q29kZS5ET1dOOg0KCQkJCWNhc2UgJC51aS5rZXlDb2RlLkxFRlQ6DQoJCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJCQkJCWlmICggIXRoaXMuX2tleVNsaWRpbmcgKSB7DQoJCQkJCQl0aGlzLl9rZXlTbGlkaW5nID0gdHJ1ZTsNCgkJCQkJCSQoIGV2ZW50LnRhcmdldCApLmFkZENsYXNzKCAidWktc3RhdGUtYWN0aXZlIiApOw0KCQkJCQkJYWxsb3dlZCA9IHRoaXMuX3N0YXJ0KCBldmVudCwgaW5kZXggKTsNCgkJCQkJCWlmICggYWxsb3dlZCA9PT0gZmFsc2UgKSB7DQoJCQkJCQkJcmV0dXJuOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJCWJyZWFrOw0KCQkJfQ0KDQoJCQlzdGVwID0gdGhpcy5vcHRpb25zLnN0ZXA7DQoJCQlpZiAoIHRoaXMub3B0aW9ucy52YWx1ZXMgJiYgdGhpcy5vcHRpb25zLnZhbHVlcy5sZW5ndGggKSB7DQoJCQkJY3VyVmFsID0gbmV3VmFsID0gdGhpcy52YWx1ZXMoIGluZGV4ICk7DQoJCQl9IGVsc2Ugew0KCQkJCWN1clZhbCA9IG5ld1ZhbCA9IHRoaXMudmFsdWUoKTsNCgkJCX0NCg0KCQkJc3dpdGNoICggZXZlbnQua2V5Q29kZSApIHsNCgkJCQljYXNlICQudWkua2V5Q29kZS5IT01FOg0KCQkJCQluZXdWYWwgPSB0aGlzLl92YWx1ZU1pbigpOw0KCQkJCQlicmVhazsNCgkJCQljYXNlICQudWkua2V5Q29kZS5FTkQ6DQoJCQkJCW5ld1ZhbCA9IHRoaXMuX3ZhbHVlTWF4KCk7DQoJCQkJCWJyZWFrOw0KCQkJCWNhc2UgJC51aS5rZXlDb2RlLlBBR0VfVVA6DQoJCQkJCW5ld1ZhbCA9IHRoaXMuX3RyaW1BbGlnblZhbHVlKA0KCQkJCQkJY3VyVmFsICsgKCAoIHRoaXMuX3ZhbHVlTWF4KCkgLSB0aGlzLl92YWx1ZU1pbigpICkgLyB0aGlzLm51bVBhZ2VzICkNCgkJCQkJKTsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSAkLnVpLmtleUNvZGUuUEFHRV9ET1dOOg0KCQkJCQluZXdWYWwgPSB0aGlzLl90cmltQWxpZ25WYWx1ZSgNCgkJCQkJCWN1clZhbCAtICggKHRoaXMuX3ZhbHVlTWF4KCkgLSB0aGlzLl92YWx1ZU1pbigpKSAvIHRoaXMubnVtUGFnZXMgKSApOw0KCQkJCQlicmVhazsNCgkJCQljYXNlICQudWkua2V5Q29kZS5VUDoNCgkJCQljYXNlICQudWkua2V5Q29kZS5SSUdIVDoNCgkJCQkJaWYgKCBjdXJWYWwgPT09IHRoaXMuX3ZhbHVlTWF4KCkgKSB7DQoJCQkJCQlyZXR1cm47DQoJCQkJCX0NCgkJCQkJbmV3VmFsID0gdGhpcy5fdHJpbUFsaWduVmFsdWUoIGN1clZhbCArIHN0ZXAgKTsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSAkLnVpLmtleUNvZGUuRE9XTjoNCgkJCQljYXNlICQudWkua2V5Q29kZS5MRUZUOg0KCQkJCQlpZiAoIGN1clZhbCA9PT0gdGhpcy5fdmFsdWVNaW4oKSApIHsNCgkJCQkJCXJldHVybjsNCgkJCQkJfQ0KCQkJCQluZXdWYWwgPSB0aGlzLl90cmltQWxpZ25WYWx1ZSggY3VyVmFsIC0gc3RlcCApOw0KCQkJCQlicmVhazsNCgkJCX0NCg0KCQkJdGhpcy5fc2xpZGUoIGV2ZW50LCBpbmRleCwgbmV3VmFsICk7DQoJCX0sDQoJCWtleXVwOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQl2YXIgaW5kZXggPSAkKCBldmVudC50YXJnZXQgKS5kYXRhKCAidWktc2xpZGVyLWhhbmRsZS1pbmRleCIgKTsNCg0KCQkJaWYgKCB0aGlzLl9rZXlTbGlkaW5nICkgew0KCQkJCXRoaXMuX2tleVNsaWRpbmcgPSBmYWxzZTsNCgkJCQl0aGlzLl9zdG9wKCBldmVudCwgaW5kZXggKTsNCgkJCQl0aGlzLl9jaGFuZ2UoIGV2ZW50LCBpbmRleCApOw0KCQkJCSQoIGV2ZW50LnRhcmdldCApLnJlbW92ZUNsYXNzKCAidWktc3RhdGUtYWN0aXZlIiApOw0KCQkJfQ0KCQl9DQoJfQ0KfSk7DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgU3Bpbm5lciAxLjExLjQNCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICoNCiAqIGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL3NwaW5uZXIvDQogKi8NCg0KDQpmdW5jdGlvbiBzcGlubmVyX21vZGlmaWVyKCBmbiApIHsNCglyZXR1cm4gZnVuY3Rpb24oKSB7DQoJCXZhciBwcmV2aW91cyA9IHRoaXMuZWxlbWVudC52YWwoKTsNCgkJZm4uYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApOw0KCQl0aGlzLl9yZWZyZXNoKCk7DQoJCWlmICggcHJldmlvdXMgIT09IHRoaXMuZWxlbWVudC52YWwoKSApIHsNCgkJCXRoaXMuX3RyaWdnZXIoICJjaGFuZ2UiICk7DQoJCX0NCgl9Ow0KfQ0KDQp2YXIgc3Bpbm5lciA9ICQud2lkZ2V0KCAidWkuc3Bpbm5lciIsIHsNCgl2ZXJzaW9uOiAiMS4xMS40IiwNCglkZWZhdWx0RWxlbWVudDogIjxpbnB1dD4iLA0KCXdpZGdldEV2ZW50UHJlZml4OiAic3BpbiIsDQoJb3B0aW9uczogew0KCQljdWx0dXJlOiBudWxsLA0KCQlpY29uczogew0KCQkJZG93bjogInVpLWljb24tdHJpYW5nbGUtMS1zIiwNCgkJCXVwOiAidWktaWNvbi10cmlhbmdsZS0xLW4iDQoJCX0sDQoJCWluY3JlbWVudGFsOiB0cnVlLA0KCQltYXg6IG51bGwsDQoJCW1pbjogbnVsbCwNCgkJbnVtYmVyRm9ybWF0OiBudWxsLA0KCQlwYWdlOiAxMCwNCgkJc3RlcDogMSwNCg0KCQljaGFuZ2U6IG51bGwsDQoJCXNwaW46IG51bGwsDQoJCXN0YXJ0OiBudWxsLA0KCQlzdG9wOiBudWxsDQoJfSwNCg0KCV9jcmVhdGU6IGZ1bmN0aW9uKCkgew0KCQkvLyBoYW5kbGUgc3RyaW5nIHZhbHVlcyB0aGF0IG5lZWQgdG8gYmUgcGFyc2VkDQoJCXRoaXMuX3NldE9wdGlvbiggIm1heCIsIHRoaXMub3B0aW9ucy5tYXggKTsNCgkJdGhpcy5fc2V0T3B0aW9uKCAibWluIiwgdGhpcy5vcHRpb25zLm1pbiApOw0KCQl0aGlzLl9zZXRPcHRpb24oICJzdGVwIiwgdGhpcy5vcHRpb25zLnN0ZXAgKTsNCg0KCQkvLyBPbmx5IGZvcm1hdCBpZiB0aGVyZSBpcyBhIHZhbHVlLCBwcmV2ZW50cyB0aGUgZmllbGQgZnJvbSBiZWluZyBtYXJrZWQNCgkJLy8gYXMgaW52YWxpZCBpbiBGaXJlZm94LCBzZWUgIzk1NzMuDQoJCWlmICggdGhpcy52YWx1ZSgpICE9PSAiIiApIHsNCgkJCS8vIEZvcm1hdCB0aGUgdmFsdWUsIGJ1dCBkb24ndCBjb25zdHJhaW4uDQoJCQl0aGlzLl92YWx1ZSggdGhpcy5lbGVtZW50LnZhbCgpLCB0cnVlICk7DQoJCX0NCg0KCQl0aGlzLl9kcmF3KCk7DQoJCXRoaXMuX29uKCB0aGlzLl9ldmVudHMgKTsNCgkJdGhpcy5fcmVmcmVzaCgpOw0KDQoJCS8vIHR1cm5pbmcgb2ZmIGF1dG9jb21wbGV0ZSBwcmV2ZW50cyB0aGUgYnJvd3NlciBmcm9tIHJlbWVtYmVyaW5nIHRoZQ0KCQkvLyB2YWx1ZSB3aGVuIG5hdmlnYXRpbmcgdGhyb3VnaCBoaXN0b3J5LCBzbyB3ZSByZS1lbmFibGUgYXV0b2NvbXBsZXRlDQoJCS8vIGlmIHRoZSBwYWdlIGlzIHVubG9hZGVkIGJlZm9yZSB0aGUgd2lkZ2V0IGlzIGRlc3Ryb3llZC4gIzc3OTANCgkJdGhpcy5fb24oIHRoaXMud2luZG93LCB7DQoJCQliZWZvcmV1bmxvYWQ6IGZ1bmN0aW9uKCkgew0KCQkJCXRoaXMuZWxlbWVudC5yZW1vdmVBdHRyKCAiYXV0b2NvbXBsZXRlIiApOw0KCQkJfQ0KCQl9KTsNCgl9LA0KDQoJX2dldENyZWF0ZU9wdGlvbnM6IGZ1bmN0aW9uKCkgew0KCQl2YXIgb3B0aW9ucyA9IHt9LA0KCQkJZWxlbWVudCA9IHRoaXMuZWxlbWVudDsNCg0KCQkkLmVhY2goIFsgIm1pbiIsICJtYXgiLCAic3RlcCIgXSwgZnVuY3Rpb24oIGksIG9wdGlvbiApIHsNCgkJCXZhciB2YWx1ZSA9IGVsZW1lbnQuYXR0ciggb3B0aW9uICk7DQoJCQlpZiAoIHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdmFsdWUubGVuZ3RoICkgew0KCQkJCW9wdGlvbnNbIG9wdGlvbiBdID0gdmFsdWU7DQoJCQl9DQoJCX0pOw0KDQoJCXJldHVybiBvcHRpb25zOw0KCX0sDQoNCglfZXZlbnRzOiB7DQoJCWtleWRvd246IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCWlmICggdGhpcy5fc3RhcnQoIGV2ZW50ICkgJiYgdGhpcy5fa2V5ZG93biggZXZlbnQgKSApIHsNCgkJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQkJfQ0KCQl9LA0KCQlrZXl1cDogIl9zdG9wIiwNCgkJZm9jdXM6IGZ1bmN0aW9uKCkgew0KCQkJdGhpcy5wcmV2aW91cyA9IHRoaXMuZWxlbWVudC52YWwoKTsNCgkJfSwNCgkJYmx1cjogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJaWYgKCB0aGlzLmNhbmNlbEJsdXIgKSB7DQoJCQkJZGVsZXRlIHRoaXMuY2FuY2VsQmx1cjsNCgkJCQlyZXR1cm47DQoJCQl9DQoNCgkJCXRoaXMuX3N0b3AoKTsNCgkJCXRoaXMuX3JlZnJlc2goKTsNCgkJCWlmICggdGhpcy5wcmV2aW91cyAhPT0gdGhpcy5lbGVtZW50LnZhbCgpICkgew0KCQkJCXRoaXMuX3RyaWdnZXIoICJjaGFuZ2UiLCBldmVudCApOw0KCQkJfQ0KCQl9LA0KCQltb3VzZXdoZWVsOiBmdW5jdGlvbiggZXZlbnQsIGRlbHRhICkgew0KCQkJaWYgKCAhZGVsdGEgKSB7DQoJCQkJcmV0dXJuOw0KCQkJfQ0KCQkJaWYgKCAhdGhpcy5zcGlubmluZyAmJiAhdGhpcy5fc3RhcnQoIGV2ZW50ICkgKSB7DQoJCQkJcmV0dXJuIGZhbHNlOw0KCQkJfQ0KDQoJCQl0aGlzLl9zcGluKCAoZGVsdGEgPiAwID8gMSA6IC0xKSAqIHRoaXMub3B0aW9ucy5zdGVwLCBldmVudCApOw0KCQkJY2xlYXJUaW1lb3V0KCB0aGlzLm1vdXNld2hlZWxUaW1lciApOw0KCQkJdGhpcy5tb3VzZXdoZWVsVGltZXIgPSB0aGlzLl9kZWxheShmdW5jdGlvbigpIHsNCgkJCQlpZiAoIHRoaXMuc3Bpbm5pbmcgKSB7DQoJCQkJCXRoaXMuX3N0b3AoIGV2ZW50ICk7DQoJCQkJfQ0KCQkJfSwgMTAwICk7DQoJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQl9LA0KCQkibW91c2Vkb3duIC51aS1zcGlubmVyLWJ1dHRvbiI6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCXZhciBwcmV2aW91czsNCg0KCQkJLy8gV2UgbmV2ZXIgd2FudCB0aGUgYnV0dG9ucyB0byBoYXZlIGZvY3VzOyB3aGVuZXZlciB0aGUgdXNlciBpcw0KCQkJLy8gaW50ZXJhY3Rpbmcgd2l0aCB0aGUgc3Bpbm5lciwgdGhlIGZvY3VzIHNob3VsZCBiZSBvbiB0aGUgaW5wdXQuDQoJCQkvLyBJZiB0aGUgaW5wdXQgaXMgZm9jdXNlZCB0aGVuIHRoaXMucHJldmlvdXMgaXMgcHJvcGVybHkgc2V0IGZyb20NCgkJCS8vIHdoZW4gdGhlIGlucHV0IGZpcnN0IHJlY2VpdmVkIGZvY3VzLiBJZiB0aGUgaW5wdXQgaXMgbm90IGZvY3VzZWQNCgkJCS8vIHRoZW4gd2UgbmVlZCB0byBzZXQgdGhpcy5wcmV2aW91cyBiYXNlZCBvbiB0aGUgdmFsdWUgYmVmb3JlIHNwaW5uaW5nLg0KCQkJcHJldmlvdXMgPSB0aGlzLmVsZW1lbnRbMF0gPT09IHRoaXMuZG9jdW1lbnRbMF0uYWN0aXZlRWxlbWVudCA/DQoJCQkJdGhpcy5wcmV2aW91cyA6IHRoaXMuZWxlbWVudC52YWwoKTsNCgkJCWZ1bmN0aW9uIGNoZWNrRm9jdXMoKSB7DQoJCQkJdmFyIGlzQWN0aXZlID0gdGhpcy5lbGVtZW50WzBdID09PSB0aGlzLmRvY3VtZW50WzBdLmFjdGl2ZUVsZW1lbnQ7DQoJCQkJaWYgKCAhaXNBY3RpdmUgKSB7DQoJCQkJCXRoaXMuZWxlbWVudC5mb2N1cygpOw0KCQkJCQl0aGlzLnByZXZpb3VzID0gcHJldmlvdXM7DQoJCQkJCS8vIHN1cHBvcnQ6IElFDQoJCQkJCS8vIElFIHNldHMgZm9jdXMgYXN5bmNocm9ub3VzbHksIHNvIHdlIG5lZWQgdG8gY2hlY2sgaWYgZm9jdXMNCgkJCQkJLy8gbW92ZWQgb2ZmIG9mIHRoZSBpbnB1dCBiZWNhdXNlIHRoZSB1c2VyIGNsaWNrZWQgb24gdGhlIGJ1dHRvbi4NCgkJCQkJdGhpcy5fZGVsYXkoZnVuY3Rpb24oKSB7DQoJCQkJCQl0aGlzLnByZXZpb3VzID0gcHJldmlvdXM7DQoJCQkJCX0pOw0KCQkJCX0NCgkJCX0NCg0KCQkJLy8gZW5zdXJlIGZvY3VzIGlzIG9uIChvciBzdGF5cyBvbikgdGhlIHRleHQgZmllbGQNCgkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJCQljaGVja0ZvY3VzLmNhbGwoIHRoaXMgKTsNCg0KCQkJLy8gc3VwcG9ydDogSUUNCgkJCS8vIElFIGRvZXNuJ3QgcHJldmVudCBtb3ZpbmcgZm9jdXMgZXZlbiB3aXRoIGV2ZW50LnByZXZlbnREZWZhdWx0KCkNCgkJCS8vIHNvIHdlIHNldCBhIGZsYWcgdG8ga25vdyB3aGVuIHdlIHNob3VsZCBpZ25vcmUgdGhlIGJsdXIgZXZlbnQNCgkJCS8vIGFuZCBjaGVjayAoYWdhaW4pIGlmIGZvY3VzIG1vdmVkIG9mZiBvZiB0aGUgaW5wdXQuDQoJCQl0aGlzLmNhbmNlbEJsdXIgPSB0cnVlOw0KCQkJdGhpcy5fZGVsYXkoZnVuY3Rpb24oKSB7DQoJCQkJZGVsZXRlIHRoaXMuY2FuY2VsQmx1cjsNCgkJCQljaGVja0ZvY3VzLmNhbGwoIHRoaXMgKTsNCgkJCX0pOw0KDQoJCQlpZiAoIHRoaXMuX3N0YXJ0KCBldmVudCApID09PSBmYWxzZSApIHsNCgkJCQlyZXR1cm47DQoJCQl9DQoNCgkJCXRoaXMuX3JlcGVhdCggbnVsbCwgJCggZXZlbnQuY3VycmVudFRhcmdldCApLmhhc0NsYXNzKCAidWktc3Bpbm5lci11cCIgKSA/IDEgOiAtMSwgZXZlbnQgKTsNCgkJfSwNCgkJIm1vdXNldXAgLnVpLXNwaW5uZXItYnV0dG9uIjogIl9zdG9wIiwNCgkJIm1vdXNlZW50ZXIgLnVpLXNwaW5uZXItYnV0dG9uIjogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJLy8gYnV0dG9uIHdpbGwgYWRkIHVpLXN0YXRlLWFjdGl2ZSBpZiBtb3VzZSB3YXMgZG93biB3aGlsZSBtb3VzZWxlYXZlIGFuZCBrZXB0IGRvd24NCgkJCWlmICggISQoIGV2ZW50LmN1cnJlbnRUYXJnZXQgKS5oYXNDbGFzcyggInVpLXN0YXRlLWFjdGl2ZSIgKSApIHsNCgkJCQlyZXR1cm47DQoJCQl9DQoNCgkJCWlmICggdGhpcy5fc3RhcnQoIGV2ZW50ICkgPT09IGZhbHNlICkgew0KCQkJCXJldHVybiBmYWxzZTsNCgkJCX0NCgkJCXRoaXMuX3JlcGVhdCggbnVsbCwgJCggZXZlbnQuY3VycmVudFRhcmdldCApLmhhc0NsYXNzKCAidWktc3Bpbm5lci11cCIgKSA/IDEgOiAtMSwgZXZlbnQgKTsNCgkJfSwNCgkJLy8gVE9ETzogZG8gd2UgcmVhbGx5IHdhbnQgdG8gY29uc2lkZXIgdGhpcyBhIHN0b3A/DQoJCS8vIHNob3VsZG4ndCB3ZSBqdXN0IHN0b3AgdGhlIHJlcGVhdGVyIGFuZCB3YWl0IHVudGlsIG1vdXNldXAgYmVmb3JlDQoJCS8vIHdlIHRyaWdnZXIgdGhlIHN0b3AgZXZlbnQ/DQoJCSJtb3VzZWxlYXZlIC51aS1zcGlubmVyLWJ1dHRvbiI6ICJfc3RvcCINCgl9LA0KDQoJX2RyYXc6IGZ1bmN0aW9uKCkgew0KCQl2YXIgdWlTcGlubmVyID0gdGhpcy51aVNwaW5uZXIgPSB0aGlzLmVsZW1lbnQNCgkJCS5hZGRDbGFzcyggInVpLXNwaW5uZXItaW5wdXQiICkNCgkJCS5hdHRyKCAiYXV0b2NvbXBsZXRlIiwgIm9mZiIgKQ0KCQkJLndyYXAoIHRoaXMuX3VpU3Bpbm5lckh0bWwoKSApDQoJCQkucGFyZW50KCkNCgkJCQkvLyBhZGQgYnV0dG9ucw0KCQkJCS5hcHBlbmQoIHRoaXMuX2J1dHRvbkh0bWwoKSApOw0KDQoJCXRoaXMuZWxlbWVudC5hdHRyKCAicm9sZSIsICJzcGluYnV0dG9uIiApOw0KDQoJCS8vIGJ1dHRvbiBiaW5kaW5ncw0KCQl0aGlzLmJ1dHRvbnMgPSB1aVNwaW5uZXIuZmluZCggIi51aS1zcGlubmVyLWJ1dHRvbiIgKQ0KCQkJLmF0dHIoICJ0YWJJbmRleCIsIC0xICkNCgkJCS5idXR0b24oKQ0KCQkJLnJlbW92ZUNsYXNzKCAidWktY29ybmVyLWFsbCIgKTsNCg0KCQkvLyBJRSA2IGRvZXNuJ3QgdW5kZXJzdGFuZCBoZWlnaHQ6IDUwJSBmb3IgdGhlIGJ1dHRvbnMNCgkJLy8gdW5sZXNzIHRoZSB3cmFwcGVyIGhhcyBhbiBleHBsaWNpdCBoZWlnaHQNCgkJaWYgKCB0aGlzLmJ1dHRvbnMuaGVpZ2h0KCkgPiBNYXRoLmNlaWwoIHVpU3Bpbm5lci5oZWlnaHQoKSAqIDAuNSApICYmDQoJCQkJdWlTcGlubmVyLmhlaWdodCgpID4gMCApIHsNCgkJCXVpU3Bpbm5lci5oZWlnaHQoIHVpU3Bpbm5lci5oZWlnaHQoKSApOw0KCQl9DQoNCgkJLy8gZGlzYWJsZSBzcGlubmVyIGlmIGVsZW1lbnQgd2FzIGFscmVhZHkgZGlzYWJsZWQNCgkJaWYgKCB0aGlzLm9wdGlvbnMuZGlzYWJsZWQgKSB7DQoJCQl0aGlzLmRpc2FibGUoKTsNCgkJfQ0KCX0sDQoNCglfa2V5ZG93bjogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl2YXIgb3B0aW9ucyA9IHRoaXMub3B0aW9ucywNCgkJCWtleUNvZGUgPSAkLnVpLmtleUNvZGU7DQoNCgkJc3dpdGNoICggZXZlbnQua2V5Q29kZSApIHsNCgkJY2FzZSBrZXlDb2RlLlVQOg0KCQkJdGhpcy5fcmVwZWF0KCBudWxsLCAxLCBldmVudCApOw0KCQkJcmV0dXJuIHRydWU7DQoJCWNhc2Uga2V5Q29kZS5ET1dOOg0KCQkJdGhpcy5fcmVwZWF0KCBudWxsLCAtMSwgZXZlbnQgKTsNCgkJCXJldHVybiB0cnVlOw0KCQljYXNlIGtleUNvZGUuUEFHRV9VUDoNCgkJCXRoaXMuX3JlcGVhdCggbnVsbCwgb3B0aW9ucy5wYWdlLCBldmVudCApOw0KCQkJcmV0dXJuIHRydWU7DQoJCWNhc2Uga2V5Q29kZS5QQUdFX0RPV046DQoJCQl0aGlzLl9yZXBlYXQoIG51bGwsIC1vcHRpb25zLnBhZ2UsIGV2ZW50ICk7DQoJCQlyZXR1cm4gdHJ1ZTsNCgkJfQ0KDQoJCXJldHVybiBmYWxzZTsNCgl9LA0KDQoJX3VpU3Bpbm5lckh0bWw6IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gIjxzcGFuIGNsYXNzPSd1aS1zcGlubmVyIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsJz48L3NwYW4+IjsNCgl9LA0KDQoJX2J1dHRvbkh0bWw6IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gIiIgKw0KCQkJIjxhIGNsYXNzPSd1aS1zcGlubmVyLWJ1dHRvbiB1aS1zcGlubmVyLXVwIHVpLWNvcm5lci10cic+IiArDQoJCQkJIjxzcGFuIGNsYXNzPSd1aS1pY29uICIgKyB0aGlzLm9wdGlvbnMuaWNvbnMudXAgKyAiJz4mIzk2NTA7PC9zcGFuPiIgKw0KCQkJIjwvYT4iICsNCgkJCSI8YSBjbGFzcz0ndWktc3Bpbm5lci1idXR0b24gdWktc3Bpbm5lci1kb3duIHVpLWNvcm5lci1icic+IiArDQoJCQkJIjxzcGFuIGNsYXNzPSd1aS1pY29uICIgKyB0aGlzLm9wdGlvbnMuaWNvbnMuZG93biArICInPiYjOTY2MDs8L3NwYW4+IiArDQoJCQkiPC9hPiI7DQoJfSwNCg0KCV9zdGFydDogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQlpZiAoICF0aGlzLnNwaW5uaW5nICYmIHRoaXMuX3RyaWdnZXIoICJzdGFydCIsIGV2ZW50ICkgPT09IGZhbHNlICkgew0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoNCgkJaWYgKCAhdGhpcy5jb3VudGVyICkgew0KCQkJdGhpcy5jb3VudGVyID0gMTsNCgkJfQ0KCQl0aGlzLnNwaW5uaW5nID0gdHJ1ZTsNCgkJcmV0dXJuIHRydWU7DQoJfSwNCg0KCV9yZXBlYXQ6IGZ1bmN0aW9uKCBpLCBzdGVwcywgZXZlbnQgKSB7DQoJCWkgPSBpIHx8IDUwMDsNCg0KCQljbGVhclRpbWVvdXQoIHRoaXMudGltZXIgKTsNCgkJdGhpcy50aW1lciA9IHRoaXMuX2RlbGF5KGZ1bmN0aW9uKCkgew0KCQkJdGhpcy5fcmVwZWF0KCA0MCwgc3RlcHMsIGV2ZW50ICk7DQoJCX0sIGkgKTsNCg0KCQl0aGlzLl9zcGluKCBzdGVwcyAqIHRoaXMub3B0aW9ucy5zdGVwLCBldmVudCApOw0KCX0sDQoNCglfc3BpbjogZnVuY3Rpb24oIHN0ZXAsIGV2ZW50ICkgew0KCQl2YXIgdmFsdWUgPSB0aGlzLnZhbHVlKCkgfHwgMDsNCg0KCQlpZiAoICF0aGlzLmNvdW50ZXIgKSB7DQoJCQl0aGlzLmNvdW50ZXIgPSAxOw0KCQl9DQoNCgkJdmFsdWUgPSB0aGlzLl9hZGp1c3RWYWx1ZSggdmFsdWUgKyBzdGVwICogdGhpcy5faW5jcmVtZW50KCB0aGlzLmNvdW50ZXIgKSApOw0KDQoJCWlmICggIXRoaXMuc3Bpbm5pbmcgfHwgdGhpcy5fdHJpZ2dlciggInNwaW4iLCBldmVudCwgeyB2YWx1ZTogdmFsdWUgfSApICE9PSBmYWxzZSkgew0KCQkJdGhpcy5fdmFsdWUoIHZhbHVlICk7DQoJCQl0aGlzLmNvdW50ZXIrKzsNCgkJfQ0KCX0sDQoNCglfaW5jcmVtZW50OiBmdW5jdGlvbiggaSApIHsNCgkJdmFyIGluY3JlbWVudGFsID0gdGhpcy5vcHRpb25zLmluY3JlbWVudGFsOw0KDQoJCWlmICggaW5jcmVtZW50YWwgKSB7DQoJCQlyZXR1cm4gJC5pc0Z1bmN0aW9uKCBpbmNyZW1lbnRhbCApID8NCgkJCQlpbmNyZW1lbnRhbCggaSApIDoNCgkJCQlNYXRoLmZsb29yKCBpICogaSAqIGkgLyA1MDAwMCAtIGkgKiBpIC8gNTAwICsgMTcgKiBpIC8gMjAwICsgMSApOw0KCQl9DQoNCgkJcmV0dXJuIDE7DQoJfSwNCg0KCV9wcmVjaXNpb246IGZ1bmN0aW9uKCkgew0KCQl2YXIgcHJlY2lzaW9uID0gdGhpcy5fcHJlY2lzaW9uT2YoIHRoaXMub3B0aW9ucy5zdGVwICk7DQoJCWlmICggdGhpcy5vcHRpb25zLm1pbiAhPT0gbnVsbCApIHsNCgkJCXByZWNpc2lvbiA9IE1hdGgubWF4KCBwcmVjaXNpb24sIHRoaXMuX3ByZWNpc2lvbk9mKCB0aGlzLm9wdGlvbnMubWluICkgKTsNCgkJfQ0KCQlyZXR1cm4gcHJlY2lzaW9uOw0KCX0sDQoNCglfcHJlY2lzaW9uT2Y6IGZ1bmN0aW9uKCBudW0gKSB7DQoJCXZhciBzdHIgPSBudW0udG9TdHJpbmcoKSwNCgkJCWRlY2ltYWwgPSBzdHIuaW5kZXhPZiggIi4iICk7DQoJCXJldHVybiBkZWNpbWFsID09PSAtMSA/IDAgOiBzdHIubGVuZ3RoIC0gZGVjaW1hbCAtIDE7DQoJfSwNCg0KCV9hZGp1c3RWYWx1ZTogZnVuY3Rpb24oIHZhbHVlICkgew0KCQl2YXIgYmFzZSwgYWJvdmVNaW4sDQoJCQlvcHRpb25zID0gdGhpcy5vcHRpb25zOw0KDQoJCS8vIG1ha2Ugc3VyZSB3ZSdyZSBhdCBhIHZhbGlkIHN0ZXANCgkJLy8gLSBmaW5kIG91dCB3aGVyZSB3ZSBhcmUgcmVsYXRpdmUgdG8gdGhlIGJhc2UgKG1pbiBvciAwKQ0KCQliYXNlID0gb3B0aW9ucy5taW4gIT09IG51bGwgPyBvcHRpb25zLm1pbiA6IDA7DQoJCWFib3ZlTWluID0gdmFsdWUgLSBiYXNlOw0KCQkvLyAtIHJvdW5kIHRvIHRoZSBuZWFyZXN0IHN0ZXANCgkJYWJvdmVNaW4gPSBNYXRoLnJvdW5kKGFib3ZlTWluIC8gb3B0aW9ucy5zdGVwKSAqIG9wdGlvbnMuc3RlcDsNCgkJLy8gLSByb3VuZGluZyBpcyBiYXNlZCBvbiAwLCBzbyBhZGp1c3QgYmFjayB0byBvdXIgYmFzZQ0KCQl2YWx1ZSA9IGJhc2UgKyBhYm92ZU1pbjsNCg0KCQkvLyBmaXggcHJlY2lzaW9uIGZyb20gYmFkIEpTIGZsb2F0aW5nIHBvaW50IG1hdGgNCgkJdmFsdWUgPSBwYXJzZUZsb2F0KCB2YWx1ZS50b0ZpeGVkKCB0aGlzLl9wcmVjaXNpb24oKSApICk7DQoNCgkJLy8gY2xhbXAgdGhlIHZhbHVlDQoJCWlmICggb3B0aW9ucy5tYXggIT09IG51bGwgJiYgdmFsdWUgPiBvcHRpb25zLm1heCkgew0KCQkJcmV0dXJuIG9wdGlvbnMubWF4Ow0KCQl9DQoJCWlmICggb3B0aW9ucy5taW4gIT09IG51bGwgJiYgdmFsdWUgPCBvcHRpb25zLm1pbiApIHsNCgkJCXJldHVybiBvcHRpb25zLm1pbjsNCgkJfQ0KDQoJCXJldHVybiB2YWx1ZTsNCgl9LA0KDQoJX3N0b3A6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJaWYgKCAhdGhpcy5zcGlubmluZyApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCWNsZWFyVGltZW91dCggdGhpcy50aW1lciApOw0KCQljbGVhclRpbWVvdXQoIHRoaXMubW91c2V3aGVlbFRpbWVyICk7DQoJCXRoaXMuY291bnRlciA9IDA7DQoJCXRoaXMuc3Bpbm5pbmcgPSBmYWxzZTsNCgkJdGhpcy5fdHJpZ2dlciggInN0b3AiLCBldmVudCApOw0KCX0sDQoNCglfc2V0T3B0aW9uOiBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsNCgkJaWYgKCBrZXkgPT09ICJjdWx0dXJlIiB8fCBrZXkgPT09ICJudW1iZXJGb3JtYXQiICkgew0KCQkJdmFyIHByZXZWYWx1ZSA9IHRoaXMuX3BhcnNlKCB0aGlzLmVsZW1lbnQudmFsKCkgKTsNCgkJCXRoaXMub3B0aW9uc1sga2V5IF0gPSB2YWx1ZTsNCgkJCXRoaXMuZWxlbWVudC52YWwoIHRoaXMuX2Zvcm1hdCggcHJldlZhbHVlICkgKTsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCWlmICgga2V5ID09PSAibWF4IiB8fCBrZXkgPT09ICJtaW4iIHx8IGtleSA9PT0gInN0ZXAiICkgew0KCQkJaWYgKCB0eXBlb2YgdmFsdWUgPT09ICJzdHJpbmciICkgew0KCQkJCXZhbHVlID0gdGhpcy5fcGFyc2UoIHZhbHVlICk7DQoJCQl9DQoJCX0NCgkJaWYgKCBrZXkgPT09ICJpY29ucyIgKSB7DQoJCQl0aGlzLmJ1dHRvbnMuZmlyc3QoKS5maW5kKCAiLnVpLWljb24iICkNCgkJCQkucmVtb3ZlQ2xhc3MoIHRoaXMub3B0aW9ucy5pY29ucy51cCApDQoJCQkJLmFkZENsYXNzKCB2YWx1ZS51cCApOw0KCQkJdGhpcy5idXR0b25zLmxhc3QoKS5maW5kKCAiLnVpLWljb24iICkNCgkJCQkucmVtb3ZlQ2xhc3MoIHRoaXMub3B0aW9ucy5pY29ucy5kb3duICkNCgkJCQkuYWRkQ2xhc3MoIHZhbHVlLmRvd24gKTsNCgkJfQ0KDQoJCXRoaXMuX3N1cGVyKCBrZXksIHZhbHVlICk7DQoNCgkJaWYgKCBrZXkgPT09ICJkaXNhYmxlZCIgKSB7DQoJCQl0aGlzLndpZGdldCgpLnRvZ2dsZUNsYXNzKCAidWktc3RhdGUtZGlzYWJsZWQiLCAhIXZhbHVlICk7DQoJCQl0aGlzLmVsZW1lbnQucHJvcCggImRpc2FibGVkIiwgISF2YWx1ZSApOw0KCQkJdGhpcy5idXR0b25zLmJ1dHRvbiggdmFsdWUgPyAiZGlzYWJsZSIgOiAiZW5hYmxlIiApOw0KCQl9DQoJfSwNCg0KCV9zZXRPcHRpb25zOiBzcGlubmVyX21vZGlmaWVyKGZ1bmN0aW9uKCBvcHRpb25zICkgew0KCQl0aGlzLl9zdXBlciggb3B0aW9ucyApOw0KCX0pLA0KDQoJX3BhcnNlOiBmdW5jdGlvbiggdmFsICkgew0KCQlpZiAoIHR5cGVvZiB2YWwgPT09ICJzdHJpbmciICYmIHZhbCAhPT0gIiIgKSB7DQoJCQl2YWwgPSB3aW5kb3cuR2xvYmFsaXplICYmIHRoaXMub3B0aW9ucy5udW1iZXJGb3JtYXQgPw0KCQkJCUdsb2JhbGl6ZS5wYXJzZUZsb2F0KCB2YWwsIDEwLCB0aGlzLm9wdGlvbnMuY3VsdHVyZSApIDogK3ZhbDsNCgkJfQ0KCQlyZXR1cm4gdmFsID09PSAiIiB8fCBpc05hTiggdmFsICkgPyBudWxsIDogdmFsOw0KCX0sDQoNCglfZm9ybWF0OiBmdW5jdGlvbiggdmFsdWUgKSB7DQoJCWlmICggdmFsdWUgPT09ICIiICkgew0KCQkJcmV0dXJuICIiOw0KCQl9DQoJCXJldHVybiB3aW5kb3cuR2xvYmFsaXplICYmIHRoaXMub3B0aW9ucy5udW1iZXJGb3JtYXQgPw0KCQkJR2xvYmFsaXplLmZvcm1hdCggdmFsdWUsIHRoaXMub3B0aW9ucy5udW1iZXJGb3JtYXQsIHRoaXMub3B0aW9ucy5jdWx0dXJlICkgOg0KCQkJdmFsdWU7DQoJfSwNCg0KCV9yZWZyZXNoOiBmdW5jdGlvbigpIHsNCgkJdGhpcy5lbGVtZW50LmF0dHIoew0KCQkJImFyaWEtdmFsdWVtaW4iOiB0aGlzLm9wdGlvbnMubWluLA0KCQkJImFyaWEtdmFsdWVtYXgiOiB0aGlzLm9wdGlvbnMubWF4LA0KCQkJLy8gVE9ETzogd2hhdCBzaG91bGQgd2UgZG8gd2l0aCB2YWx1ZXMgdGhhdCBjYW4ndCBiZSBwYXJzZWQ/DQoJCQkiYXJpYS12YWx1ZW5vdyI6IHRoaXMuX3BhcnNlKCB0aGlzLmVsZW1lbnQudmFsKCkgKQ0KCQl9KTsNCgl9LA0KDQoJaXNWYWxpZDogZnVuY3Rpb24oKSB7DQoJCXZhciB2YWx1ZSA9IHRoaXMudmFsdWUoKTsNCg0KCQkvLyBudWxsIGlzIGludmFsaWQNCgkJaWYgKCB2YWx1ZSA9PT0gbnVsbCApIHsNCgkJCXJldHVybiBmYWxzZTsNCgkJfQ0KDQoJCS8vIGlmIHZhbHVlIGdldHMgYWRqdXN0ZWQsIGl0J3MgaW52YWxpZA0KCQlyZXR1cm4gdmFsdWUgPT09IHRoaXMuX2FkanVzdFZhbHVlKCB2YWx1ZSApOw0KCX0sDQoNCgkvLyB1cGRhdGUgdGhlIHZhbHVlIHdpdGhvdXQgdHJpZ2dlcmluZyBjaGFuZ2UNCglfdmFsdWU6IGZ1bmN0aW9uKCB2YWx1ZSwgYWxsb3dBbnkgKSB7DQoJCXZhciBwYXJzZWQ7DQoJCWlmICggdmFsdWUgIT09ICIiICkgew0KCQkJcGFyc2VkID0gdGhpcy5fcGFyc2UoIHZhbHVlICk7DQoJCQlpZiAoIHBhcnNlZCAhPT0gbnVsbCApIHsNCgkJCQlpZiAoICFhbGxvd0FueSApIHsNCgkJCQkJcGFyc2VkID0gdGhpcy5fYWRqdXN0VmFsdWUoIHBhcnNlZCApOw0KCQkJCX0NCgkJCQl2YWx1ZSA9IHRoaXMuX2Zvcm1hdCggcGFyc2VkICk7DQoJCQl9DQoJCX0NCgkJdGhpcy5lbGVtZW50LnZhbCggdmFsdWUgKTsNCgkJdGhpcy5fcmVmcmVzaCgpOw0KCX0sDQoNCglfZGVzdHJveTogZnVuY3Rpb24oKSB7DQoJCXRoaXMuZWxlbWVudA0KCQkJLnJlbW92ZUNsYXNzKCAidWktc3Bpbm5lci1pbnB1dCIgKQ0KCQkJLnByb3AoICJkaXNhYmxlZCIsIGZhbHNlICkNCgkJCS5yZW1vdmVBdHRyKCAiYXV0b2NvbXBsZXRlIiApDQoJCQkucmVtb3ZlQXR0ciggInJvbGUiICkNCgkJCS5yZW1vdmVBdHRyKCAiYXJpYS12YWx1ZW1pbiIgKQ0KCQkJLnJlbW92ZUF0dHIoICJhcmlhLXZhbHVlbWF4IiApDQoJCQkucmVtb3ZlQXR0ciggImFyaWEtdmFsdWVub3ciICk7DQoJCXRoaXMudWlTcGlubmVyLnJlcGxhY2VXaXRoKCB0aGlzLmVsZW1lbnQgKTsNCgl9LA0KDQoJc3RlcFVwOiBzcGlubmVyX21vZGlmaWVyKGZ1bmN0aW9uKCBzdGVwcyApIHsNCgkJdGhpcy5fc3RlcFVwKCBzdGVwcyApOw0KCX0pLA0KCV9zdGVwVXA6IGZ1bmN0aW9uKCBzdGVwcyApIHsNCgkJaWYgKCB0aGlzLl9zdGFydCgpICkgew0KCQkJdGhpcy5fc3BpbiggKHN0ZXBzIHx8IDEpICogdGhpcy5vcHRpb25zLnN0ZXAgKTsNCgkJCXRoaXMuX3N0b3AoKTsNCgkJfQ0KCX0sDQoNCglzdGVwRG93bjogc3Bpbm5lcl9tb2RpZmllcihmdW5jdGlvbiggc3RlcHMgKSB7DQoJCXRoaXMuX3N0ZXBEb3duKCBzdGVwcyApOw0KCX0pLA0KCV9zdGVwRG93bjogZnVuY3Rpb24oIHN0ZXBzICkgew0KCQlpZiAoIHRoaXMuX3N0YXJ0KCkgKSB7DQoJCQl0aGlzLl9zcGluKCAoc3RlcHMgfHwgMSkgKiAtdGhpcy5vcHRpb25zLnN0ZXAgKTsNCgkJCXRoaXMuX3N0b3AoKTsNCgkJfQ0KCX0sDQoNCglwYWdlVXA6IHNwaW5uZXJfbW9kaWZpZXIoZnVuY3Rpb24oIHBhZ2VzICkgew0KCQl0aGlzLl9zdGVwVXAoIChwYWdlcyB8fCAxKSAqIHRoaXMub3B0aW9ucy5wYWdlICk7DQoJfSksDQoNCglwYWdlRG93bjogc3Bpbm5lcl9tb2RpZmllcihmdW5jdGlvbiggcGFnZXMgKSB7DQoJCXRoaXMuX3N0ZXBEb3duKCAocGFnZXMgfHwgMSkgKiB0aGlzLm9wdGlvbnMucGFnZSApOw0KCX0pLA0KDQoJdmFsdWU6IGZ1bmN0aW9uKCBuZXdWYWwgKSB7DQoJCWlmICggIWFyZ3VtZW50cy5sZW5ndGggKSB7DQoJCQlyZXR1cm4gdGhpcy5fcGFyc2UoIHRoaXMuZWxlbWVudC52YWwoKSApOw0KCQl9DQoJCXNwaW5uZXJfbW9kaWZpZXIoIHRoaXMuX3ZhbHVlICkuY2FsbCggdGhpcywgbmV3VmFsICk7DQoJfSwNCg0KCXdpZGdldDogZnVuY3Rpb24oKSB7DQoJCXJldHVybiB0aGlzLnVpU3Bpbm5lcjsNCgl9DQp9KTsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBUYWJzIDEuMTEuNA0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKg0KICogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vdGFicy8NCiAqLw0KDQoNCnZhciB0YWJzID0gJC53aWRnZXQoICJ1aS50YWJzIiwgew0KCXZlcnNpb246ICIxLjExLjQiLA0KCWRlbGF5OiAzMDAsDQoJb3B0aW9uczogew0KCQlhY3RpdmU6IG51bGwsDQoJCWNvbGxhcHNpYmxlOiBmYWxzZSwNCgkJZXZlbnQ6ICJjbGljayIsDQoJCWhlaWdodFN0eWxlOiAiY29udGVudCIsDQoJCWhpZGU6IG51bGwsDQoJCXNob3c6IG51bGwsDQoNCgkJLy8gY2FsbGJhY2tzDQoJCWFjdGl2YXRlOiBudWxsLA0KCQliZWZvcmVBY3RpdmF0ZTogbnVsbCwNCgkJYmVmb3JlTG9hZDogbnVsbCwNCgkJbG9hZDogbnVsbA0KCX0sDQoNCglfaXNMb2NhbDogKGZ1bmN0aW9uKCkgew0KCQl2YXIgcmhhc2ggPSAvIy4qJC87DQoNCgkJcmV0dXJuIGZ1bmN0aW9uKCBhbmNob3IgKSB7DQoJCQl2YXIgYW5jaG9yVXJsLCBsb2NhdGlvblVybDsNCg0KCQkJLy8gc3VwcG9ydDogSUU3DQoJCQkvLyBJRTcgZG9lc24ndCBub3JtYWxpemUgdGhlIGhyZWYgcHJvcGVydHkgd2hlbiBzZXQgdmlhIHNjcmlwdCAoIzkzMTcpDQoJCQlhbmNob3IgPSBhbmNob3IuY2xvbmVOb2RlKCBmYWxzZSApOw0KDQoJCQlhbmNob3JVcmwgPSBhbmNob3IuaHJlZi5yZXBsYWNlKCByaGFzaCwgIiIgKTsNCgkJCWxvY2F0aW9uVXJsID0gbG9jYXRpb24uaHJlZi5yZXBsYWNlKCByaGFzaCwgIiIgKTsNCg0KCQkJLy8gZGVjb2RpbmcgbWF5IHRocm93IGFuIGVycm9yIGlmIHRoZSBVUkwgaXNuJ3QgVVRGLTggKCM5NTE4KQ0KCQkJdHJ5IHsNCgkJCQlhbmNob3JVcmwgPSBkZWNvZGVVUklDb21wb25lbnQoIGFuY2hvclVybCApOw0KCQkJfSBjYXRjaCAoIGVycm9yICkge30NCgkJCXRyeSB7DQoJCQkJbG9jYXRpb25VcmwgPSBkZWNvZGVVUklDb21wb25lbnQoIGxvY2F0aW9uVXJsICk7DQoJCQl9IGNhdGNoICggZXJyb3IgKSB7fQ0KDQoJCQlyZXR1cm4gYW5jaG9yLmhhc2gubGVuZ3RoID4gMSAmJiBhbmNob3JVcmwgPT09IGxvY2F0aW9uVXJsOw0KCQl9Ow0KCX0pKCksDQoNCglfY3JlYXRlOiBmdW5jdGlvbigpIHsNCgkJdmFyIHRoYXQgPSB0aGlzLA0KCQkJb3B0aW9ucyA9IHRoaXMub3B0aW9uczsNCg0KCQl0aGlzLnJ1bm5pbmcgPSBmYWxzZTsNCg0KCQl0aGlzLmVsZW1lbnQNCgkJCS5hZGRDbGFzcyggInVpLXRhYnMgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwiICkNCgkJCS50b2dnbGVDbGFzcyggInVpLXRhYnMtY29sbGFwc2libGUiLCBvcHRpb25zLmNvbGxhcHNpYmxlICk7DQoNCgkJdGhpcy5fcHJvY2Vzc1RhYnMoKTsNCgkJb3B0aW9ucy5hY3RpdmUgPSB0aGlzLl9pbml0aWFsQWN0aXZlKCk7DQoNCgkJLy8gVGFrZSBkaXNhYmxpbmcgdGFicyB2aWEgY2xhc3MgYXR0cmlidXRlIGZyb20gSFRNTA0KCQkvLyBpbnRvIGFjY291bnQgYW5kIHVwZGF0ZSBvcHRpb24gcHJvcGVybHkuDQoJCWlmICggJC5pc0FycmF5KCBvcHRpb25zLmRpc2FibGVkICkgKSB7DQoJCQlvcHRpb25zLmRpc2FibGVkID0gJC51bmlxdWUoIG9wdGlvbnMuZGlzYWJsZWQuY29uY2F0KA0KCQkJCSQubWFwKCB0aGlzLnRhYnMuZmlsdGVyKCAiLnVpLXN0YXRlLWRpc2FibGVkIiApLCBmdW5jdGlvbiggbGkgKSB7DQoJCQkJCXJldHVybiB0aGF0LnRhYnMuaW5kZXgoIGxpICk7DQoJCQkJfSkNCgkJCSkgKS5zb3J0KCk7DQoJCX0NCg0KCQkvLyBjaGVjayBmb3IgbGVuZ3RoIGF2b2lkcyBlcnJvciB3aGVuIGluaXRpYWxpemluZyBlbXB0eSBsaXN0DQoJCWlmICggdGhpcy5vcHRpb25zLmFjdGl2ZSAhPT0gZmFsc2UgJiYgdGhpcy5hbmNob3JzLmxlbmd0aCApIHsNCgkJCXRoaXMuYWN0aXZlID0gdGhpcy5fZmluZEFjdGl2ZSggb3B0aW9ucy5hY3RpdmUgKTsNCgkJfSBlbHNlIHsNCgkJCXRoaXMuYWN0aXZlID0gJCgpOw0KCQl9DQoNCgkJdGhpcy5fcmVmcmVzaCgpOw0KDQoJCWlmICggdGhpcy5hY3RpdmUubGVuZ3RoICkgew0KCQkJdGhpcy5sb2FkKCBvcHRpb25zLmFjdGl2ZSApOw0KCQl9DQoJfSwNCg0KCV9pbml0aWFsQWN0aXZlOiBmdW5jdGlvbigpIHsNCgkJdmFyIGFjdGl2ZSA9IHRoaXMub3B0aW9ucy5hY3RpdmUsDQoJCQljb2xsYXBzaWJsZSA9IHRoaXMub3B0aW9ucy5jb2xsYXBzaWJsZSwNCgkJCWxvY2F0aW9uSGFzaCA9IGxvY2F0aW9uLmhhc2guc3Vic3RyaW5nKCAxICk7DQoNCgkJaWYgKCBhY3RpdmUgPT09IG51bGwgKSB7DQoJCQkvLyBjaGVjayB0aGUgZnJhZ21lbnQgaWRlbnRpZmllciBpbiB0aGUgVVJMDQoJCQlpZiAoIGxvY2F0aW9uSGFzaCApIHsNCgkJCQl0aGlzLnRhYnMuZWFjaChmdW5jdGlvbiggaSwgdGFiICkgew0KCQkJCQlpZiAoICQoIHRhYiApLmF0dHIoICJhcmlhLWNvbnRyb2xzIiApID09PSBsb2NhdGlvbkhhc2ggKSB7DQoJCQkJCQlhY3RpdmUgPSBpOw0KCQkJCQkJcmV0dXJuIGZhbHNlOw0KCQkJCQl9DQoJCQkJfSk7DQoJCQl9DQoNCgkJCS8vIGNoZWNrIGZvciBhIHRhYiBtYXJrZWQgYWN0aXZlIHZpYSBhIGNsYXNzDQoJCQlpZiAoIGFjdGl2ZSA9PT0gbnVsbCApIHsNCgkJCQlhY3RpdmUgPSB0aGlzLnRhYnMuaW5kZXgoIHRoaXMudGFicy5maWx0ZXIoICIudWktdGFicy1hY3RpdmUiICkgKTsNCgkJCX0NCg0KCQkJLy8gbm8gYWN0aXZlIHRhYiwgc2V0IHRvIGZhbHNlDQoJCQlpZiAoIGFjdGl2ZSA9PT0gbnVsbCB8fCBhY3RpdmUgPT09IC0xICkgew0KCQkJCWFjdGl2ZSA9IHRoaXMudGFicy5sZW5ndGggPyAwIDogZmFsc2U7DQoJCQl9DQoJCX0NCg0KCQkvLyBoYW5kbGUgbnVtYmVyczogbmVnYXRpdmUsIG91dCBvZiByYW5nZQ0KCQlpZiAoIGFjdGl2ZSAhPT0gZmFsc2UgKSB7DQoJCQlhY3RpdmUgPSB0aGlzLnRhYnMuaW5kZXgoIHRoaXMudGFicy5lcSggYWN0aXZlICkgKTsNCgkJCWlmICggYWN0aXZlID09PSAtMSApIHsNCgkJCQlhY3RpdmUgPSBjb2xsYXBzaWJsZSA/IGZhbHNlIDogMDsNCgkJCX0NCgkJfQ0KDQoJCS8vIGRvbid0IGFsbG93IGNvbGxhcHNpYmxlOiBmYWxzZSBhbmQgYWN0aXZlOiBmYWxzZQ0KCQlpZiAoICFjb2xsYXBzaWJsZSAmJiBhY3RpdmUgPT09IGZhbHNlICYmIHRoaXMuYW5jaG9ycy5sZW5ndGggKSB7DQoJCQlhY3RpdmUgPSAwOw0KCQl9DQoNCgkJcmV0dXJuIGFjdGl2ZTsNCgl9LA0KDQoJX2dldENyZWF0ZUV2ZW50RGF0YTogZnVuY3Rpb24oKSB7DQoJCXJldHVybiB7DQoJCQl0YWI6IHRoaXMuYWN0aXZlLA0KCQkJcGFuZWw6ICF0aGlzLmFjdGl2ZS5sZW5ndGggPyAkKCkgOiB0aGlzLl9nZXRQYW5lbEZvclRhYiggdGhpcy5hY3RpdmUgKQ0KCQl9Ow0KCX0sDQoNCglfdGFiS2V5ZG93bjogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl2YXIgZm9jdXNlZFRhYiA9ICQoIHRoaXMuZG9jdW1lbnRbMF0uYWN0aXZlRWxlbWVudCApLmNsb3Nlc3QoICJsaSIgKSwNCgkJCXNlbGVjdGVkSW5kZXggPSB0aGlzLnRhYnMuaW5kZXgoIGZvY3VzZWRUYWIgKSwNCgkJCWdvaW5nRm9yd2FyZCA9IHRydWU7DQoNCgkJaWYgKCB0aGlzLl9oYW5kbGVQYWdlTmF2KCBldmVudCApICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJc3dpdGNoICggZXZlbnQua2V5Q29kZSApIHsNCgkJCWNhc2UgJC51aS5rZXlDb2RlLlJJR0hUOg0KCQkJY2FzZSAkLnVpLmtleUNvZGUuRE9XTjoNCgkJCQlzZWxlY3RlZEluZGV4Kys7DQoJCQkJYnJlYWs7DQoJCQljYXNlICQudWkua2V5Q29kZS5VUDoNCgkJCWNhc2UgJC51aS5rZXlDb2RlLkxFRlQ6DQoJCQkJZ29pbmdGb3J3YXJkID0gZmFsc2U7DQoJCQkJc2VsZWN0ZWRJbmRleC0tOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAkLnVpLmtleUNvZGUuRU5EOg0KCQkJCXNlbGVjdGVkSW5kZXggPSB0aGlzLmFuY2hvcnMubGVuZ3RoIC0gMTsNCgkJCQlicmVhazsNCgkJCWNhc2UgJC51aS5rZXlDb2RlLkhPTUU6DQoJCQkJc2VsZWN0ZWRJbmRleCA9IDA7DQoJCQkJYnJlYWs7DQoJCQljYXNlICQudWkua2V5Q29kZS5TUEFDRToNCgkJCQkvLyBBY3RpdmF0ZSBvbmx5LCBubyBjb2xsYXBzaW5nDQoJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsNCgkJCQljbGVhclRpbWVvdXQoIHRoaXMuYWN0aXZhdGluZyApOw0KCQkJCXRoaXMuX2FjdGl2YXRlKCBzZWxlY3RlZEluZGV4ICk7DQoJCQkJcmV0dXJuOw0KCQkJY2FzZSAkLnVpLmtleUNvZGUuRU5URVI6DQoJCQkJLy8gVG9nZ2xlIChjYW5jZWwgZGVsYXllZCBhY3RpdmF0aW9uLCBhbGxvdyBjb2xsYXBzaW5nKQ0KCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJCQkJY2xlYXJUaW1lb3V0KCB0aGlzLmFjdGl2YXRpbmcgKTsNCgkJCQkvLyBEZXRlcm1pbmUgaWYgd2Ugc2hvdWxkIGNvbGxhcHNlIG9yIGFjdGl2YXRlDQoJCQkJdGhpcy5fYWN0aXZhdGUoIHNlbGVjdGVkSW5kZXggPT09IHRoaXMub3B0aW9ucy5hY3RpdmUgPyBmYWxzZSA6IHNlbGVjdGVkSW5kZXggKTsNCgkJCQlyZXR1cm47DQoJCQlkZWZhdWx0Og0KCQkJCXJldHVybjsNCgkJfQ0KDQoJCS8vIEZvY3VzIHRoZSBhcHByb3ByaWF0ZSB0YWIsIGJhc2VkIG9uIHdoaWNoIGtleSB3YXMgcHJlc3NlZA0KCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQljbGVhclRpbWVvdXQoIHRoaXMuYWN0aXZhdGluZyApOw0KCQlzZWxlY3RlZEluZGV4ID0gdGhpcy5fZm9jdXNOZXh0VGFiKCBzZWxlY3RlZEluZGV4LCBnb2luZ0ZvcndhcmQgKTsNCg0KCQkvLyBOYXZpZ2F0aW5nIHdpdGggY29udHJvbC9jb21tYW5kIGtleSB3aWxsIHByZXZlbnQgYXV0b21hdGljIGFjdGl2YXRpb24NCgkJaWYgKCAhZXZlbnQuY3RybEtleSAmJiAhZXZlbnQubWV0YUtleSApIHsNCg0KCQkJLy8gVXBkYXRlIGFyaWEtc2VsZWN0ZWQgaW1tZWRpYXRlbHkgc28gdGhhdCBBVCB0aGluayB0aGUgdGFiIGlzIGFscmVhZHkgc2VsZWN0ZWQuDQoJCQkvLyBPdGhlcndpc2UgQVQgbWF5IGNvbmZ1c2UgdGhlIHVzZXIgYnkgc3RhdGluZyB0aGF0IHRoZXkgbmVlZCB0byBhY3RpdmF0ZSB0aGUgdGFiLA0KCQkJLy8gYnV0IHRoZSB0YWIgd2lsbCBhbHJlYWR5IGJlIGFjdGl2YXRlZCBieSB0aGUgdGltZSB0aGUgYW5ub3VuY2VtZW50IGZpbmlzaGVzLg0KCQkJZm9jdXNlZFRhYi5hdHRyKCAiYXJpYS1zZWxlY3RlZCIsICJmYWxzZSIgKTsNCgkJCXRoaXMudGFicy5lcSggc2VsZWN0ZWRJbmRleCApLmF0dHIoICJhcmlhLXNlbGVjdGVkIiwgInRydWUiICk7DQoNCgkJCXRoaXMuYWN0aXZhdGluZyA9IHRoaXMuX2RlbGF5KGZ1bmN0aW9uKCkgew0KCQkJCXRoaXMub3B0aW9uKCAiYWN0aXZlIiwgc2VsZWN0ZWRJbmRleCApOw0KCQkJfSwgdGhpcy5kZWxheSApOw0KCQl9DQoJfSwNCg0KCV9wYW5lbEtleWRvd246IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJaWYgKCB0aGlzLl9oYW5kbGVQYWdlTmF2KCBldmVudCApICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJLy8gQ3RybCt1cCBtb3ZlcyBmb2N1cyB0byB0aGUgY3VycmVudCB0YWINCgkJaWYgKCBldmVudC5jdHJsS2V5ICYmIGV2ZW50LmtleUNvZGUgPT09ICQudWkua2V5Q29kZS5VUCApIHsNCgkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJCQl0aGlzLmFjdGl2ZS5mb2N1cygpOw0KCQl9DQoJfSwNCg0KCS8vIEFsdCtwYWdlIHVwL2Rvd24gbW92ZXMgZm9jdXMgdG8gdGhlIHByZXZpb3VzL25leHQgdGFiIChhbmQgYWN0aXZhdGVzKQ0KCV9oYW5kbGVQYWdlTmF2OiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCWlmICggZXZlbnQuYWx0S2V5ICYmIGV2ZW50LmtleUNvZGUgPT09ICQudWkua2V5Q29kZS5QQUdFX1VQICkgew0KCQkJdGhpcy5fYWN0aXZhdGUoIHRoaXMuX2ZvY3VzTmV4dFRhYiggdGhpcy5vcHRpb25zLmFjdGl2ZSAtIDEsIGZhbHNlICkgKTsNCgkJCXJldHVybiB0cnVlOw0KCQl9DQoJCWlmICggZXZlbnQuYWx0S2V5ICYmIGV2ZW50LmtleUNvZGUgPT09ICQudWkua2V5Q29kZS5QQUdFX0RPV04gKSB7DQoJCQl0aGlzLl9hY3RpdmF0ZSggdGhpcy5fZm9jdXNOZXh0VGFiKCB0aGlzLm9wdGlvbnMuYWN0aXZlICsgMSwgdHJ1ZSApICk7DQoJCQlyZXR1cm4gdHJ1ZTsNCgkJfQ0KCX0sDQoNCglfZmluZE5leHRUYWI6IGZ1bmN0aW9uKCBpbmRleCwgZ29pbmdGb3J3YXJkICkgew0KCQl2YXIgbGFzdFRhYkluZGV4ID0gdGhpcy50YWJzLmxlbmd0aCAtIDE7DQoNCgkJZnVuY3Rpb24gY29uc3RyYWluKCkgew0KCQkJaWYgKCBpbmRleCA+IGxhc3RUYWJJbmRleCApIHsNCgkJCQlpbmRleCA9IDA7DQoJCQl9DQoJCQlpZiAoIGluZGV4IDwgMCApIHsNCgkJCQlpbmRleCA9IGxhc3RUYWJJbmRleDsNCgkJCX0NCgkJCXJldHVybiBpbmRleDsNCgkJfQ0KDQoJCXdoaWxlICggJC5pbkFycmF5KCBjb25zdHJhaW4oKSwgdGhpcy5vcHRpb25zLmRpc2FibGVkICkgIT09IC0xICkgew0KCQkJaW5kZXggPSBnb2luZ0ZvcndhcmQgPyBpbmRleCArIDEgOiBpbmRleCAtIDE7DQoJCX0NCg0KCQlyZXR1cm4gaW5kZXg7DQoJfSwNCg0KCV9mb2N1c05leHRUYWI6IGZ1bmN0aW9uKCBpbmRleCwgZ29pbmdGb3J3YXJkICkgew0KCQlpbmRleCA9IHRoaXMuX2ZpbmROZXh0VGFiKCBpbmRleCwgZ29pbmdGb3J3YXJkICk7DQoJCXRoaXMudGFicy5lcSggaW5kZXggKS5mb2N1cygpOw0KCQlyZXR1cm4gaW5kZXg7DQoJfSwNCg0KCV9zZXRPcHRpb246IGZ1bmN0aW9uKCBrZXksIHZhbHVlICkgew0KCQlpZiAoIGtleSA9PT0gImFjdGl2ZSIgKSB7DQoJCQkvLyBfYWN0aXZhdGUoKSB3aWxsIGhhbmRsZSBpbnZhbGlkIHZhbHVlcyBhbmQgdXBkYXRlIHRoaXMub3B0aW9ucw0KCQkJdGhpcy5fYWN0aXZhdGUoIHZhbHVlICk7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQlpZiAoIGtleSA9PT0gImRpc2FibGVkIiApIHsNCgkJCS8vIGRvbid0IHVzZSB0aGUgd2lkZ2V0IGZhY3RvcnkncyBkaXNhYmxlZCBoYW5kbGluZw0KCQkJdGhpcy5fc2V0dXBEaXNhYmxlZCggdmFsdWUgKTsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCXRoaXMuX3N1cGVyKCBrZXksIHZhbHVlKTsNCg0KCQlpZiAoIGtleSA9PT0gImNvbGxhcHNpYmxlIiApIHsNCgkJCXRoaXMuZWxlbWVudC50b2dnbGVDbGFzcyggInVpLXRhYnMtY29sbGFwc2libGUiLCB2YWx1ZSApOw0KCQkJLy8gU2V0dGluZyBjb2xsYXBzaWJsZTogZmFsc2Ugd2hpbGUgY29sbGFwc2VkOyBvcGVuIGZpcnN0IHBhbmVsDQoJCQlpZiAoICF2YWx1ZSAmJiB0aGlzLm9wdGlvbnMuYWN0aXZlID09PSBmYWxzZSApIHsNCgkJCQl0aGlzLl9hY3RpdmF0ZSggMCApOw0KCQkJfQ0KCQl9DQoNCgkJaWYgKCBrZXkgPT09ICJldmVudCIgKSB7DQoJCQl0aGlzLl9zZXR1cEV2ZW50cyggdmFsdWUgKTsNCgkJfQ0KDQoJCWlmICgga2V5ID09PSAiaGVpZ2h0U3R5bGUiICkgew0KCQkJdGhpcy5fc2V0dXBIZWlnaHRTdHlsZSggdmFsdWUgKTsNCgkJfQ0KCX0sDQoNCglfc2FuaXRpemVTZWxlY3RvcjogZnVuY3Rpb24oIGhhc2ggKSB7DQoJCXJldHVybiBoYXNoID8gaGFzaC5yZXBsYWNlKCAvWyEiJCUmJygpKissLlwvOjs8PT4/QFxbXF1cXmB7fH1+XS9nLCAiXFwkJiIgKSA6ICIiOw0KCX0sDQoNCglyZWZyZXNoOiBmdW5jdGlvbigpIHsNCgkJdmFyIG9wdGlvbnMgPSB0aGlzLm9wdGlvbnMsDQoJCQlsaXMgPSB0aGlzLnRhYmxpc3QuY2hpbGRyZW4oICI6aGFzKGFbaHJlZl0pIiApOw0KDQoJCS8vIGdldCBkaXNhYmxlZCB0YWJzIGZyb20gY2xhc3MgYXR0cmlidXRlIGZyb20gSFRNTA0KCQkvLyB0aGlzIHdpbGwgZ2V0IGNvbnZlcnRlZCB0byBhIGJvb2xlYW4gaWYgbmVlZGVkIGluIF9yZWZyZXNoKCkNCgkJb3B0aW9ucy5kaXNhYmxlZCA9ICQubWFwKCBsaXMuZmlsdGVyKCAiLnVpLXN0YXRlLWRpc2FibGVkIiApLCBmdW5jdGlvbiggdGFiICkgew0KCQkJcmV0dXJuIGxpcy5pbmRleCggdGFiICk7DQoJCX0pOw0KDQoJCXRoaXMuX3Byb2Nlc3NUYWJzKCk7DQoNCgkJLy8gd2FzIGNvbGxhcHNlZCBvciBubyB0YWJzDQoJCWlmICggb3B0aW9ucy5hY3RpdmUgPT09IGZhbHNlIHx8ICF0aGlzLmFuY2hvcnMubGVuZ3RoICkgew0KCQkJb3B0aW9ucy5hY3RpdmUgPSBmYWxzZTsNCgkJCXRoaXMuYWN0aXZlID0gJCgpOw0KCQkvLyB3YXMgYWN0aXZlLCBidXQgYWN0aXZlIHRhYiBpcyBnb25lDQoJCX0gZWxzZSBpZiAoIHRoaXMuYWN0aXZlLmxlbmd0aCAmJiAhJC5jb250YWlucyggdGhpcy50YWJsaXN0WyAwIF0sIHRoaXMuYWN0aXZlWyAwIF0gKSApIHsNCgkJCS8vIGFsbCByZW1haW5pbmcgdGFicyBhcmUgZGlzYWJsZWQNCgkJCWlmICggdGhpcy50YWJzLmxlbmd0aCA9PT0gb3B0aW9ucy5kaXNhYmxlZC5sZW5ndGggKSB7DQoJCQkJb3B0aW9ucy5hY3RpdmUgPSBmYWxzZTsNCgkJCQl0aGlzLmFjdGl2ZSA9ICQoKTsNCgkJCS8vIGFjdGl2YXRlIHByZXZpb3VzIHRhYg0KCQkJfSBlbHNlIHsNCgkJCQl0aGlzLl9hY3RpdmF0ZSggdGhpcy5fZmluZE5leHRUYWIoIE1hdGgubWF4KCAwLCBvcHRpb25zLmFjdGl2ZSAtIDEgKSwgZmFsc2UgKSApOw0KCQkJfQ0KCQkvLyB3YXMgYWN0aXZlLCBhY3RpdmUgdGFiIHN0aWxsIGV4aXN0cw0KCQl9IGVsc2Ugew0KCQkJLy8gbWFrZSBzdXJlIGFjdGl2ZSBpbmRleCBpcyBjb3JyZWN0DQoJCQlvcHRpb25zLmFjdGl2ZSA9IHRoaXMudGFicy5pbmRleCggdGhpcy5hY3RpdmUgKTsNCgkJfQ0KDQoJCXRoaXMuX3JlZnJlc2goKTsNCgl9LA0KDQoJX3JlZnJlc2g6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLl9zZXR1cERpc2FibGVkKCB0aGlzLm9wdGlvbnMuZGlzYWJsZWQgKTsNCgkJdGhpcy5fc2V0dXBFdmVudHMoIHRoaXMub3B0aW9ucy5ldmVudCApOw0KCQl0aGlzLl9zZXR1cEhlaWdodFN0eWxlKCB0aGlzLm9wdGlvbnMuaGVpZ2h0U3R5bGUgKTsNCg0KCQl0aGlzLnRhYnMubm90KCB0aGlzLmFjdGl2ZSApLmF0dHIoew0KCQkJImFyaWEtc2VsZWN0ZWQiOiAiZmFsc2UiLA0KCQkJImFyaWEtZXhwYW5kZWQiOiAiZmFsc2UiLA0KCQkJdGFiSW5kZXg6IC0xDQoJCX0pOw0KCQl0aGlzLnBhbmVscy5ub3QoIHRoaXMuX2dldFBhbmVsRm9yVGFiKCB0aGlzLmFjdGl2ZSApICkNCgkJCS5oaWRlKCkNCgkJCS5hdHRyKHsNCgkJCQkiYXJpYS1oaWRkZW4iOiAidHJ1ZSINCgkJCX0pOw0KDQoJCS8vIE1ha2Ugc3VyZSBvbmUgdGFiIGlzIGluIHRoZSB0YWIgb3JkZXINCgkJaWYgKCAhdGhpcy5hY3RpdmUubGVuZ3RoICkgew0KCQkJdGhpcy50YWJzLmVxKCAwICkuYXR0ciggInRhYkluZGV4IiwgMCApOw0KCQl9IGVsc2Ugew0KCQkJdGhpcy5hY3RpdmUNCgkJCQkuYWRkQ2xhc3MoICJ1aS10YWJzLWFjdGl2ZSB1aS1zdGF0ZS1hY3RpdmUiICkNCgkJCQkuYXR0cih7DQoJCQkJCSJhcmlhLXNlbGVjdGVkIjogInRydWUiLA0KCQkJCQkiYXJpYS1leHBhbmRlZCI6ICJ0cnVlIiwNCgkJCQkJdGFiSW5kZXg6IDANCgkJCQl9KTsNCgkJCXRoaXMuX2dldFBhbmVsRm9yVGFiKCB0aGlzLmFjdGl2ZSApDQoJCQkJLnNob3coKQ0KCQkJCS5hdHRyKHsNCgkJCQkJImFyaWEtaGlkZGVuIjogImZhbHNlIg0KCQkJCX0pOw0KCQl9DQoJfSwNCg0KCV9wcm9jZXNzVGFiczogZnVuY3Rpb24oKSB7DQoJCXZhciB0aGF0ID0gdGhpcywNCgkJCXByZXZUYWJzID0gdGhpcy50YWJzLA0KCQkJcHJldkFuY2hvcnMgPSB0aGlzLmFuY2hvcnMsDQoJCQlwcmV2UGFuZWxzID0gdGhpcy5wYW5lbHM7DQoNCgkJdGhpcy50YWJsaXN0ID0gdGhpcy5fZ2V0TGlzdCgpDQoJCQkuYWRkQ2xhc3MoICJ1aS10YWJzLW5hdiB1aS1oZWxwZXItcmVzZXQgdWktaGVscGVyLWNsZWFyZml4IHVpLXdpZGdldC1oZWFkZXIgdWktY29ybmVyLWFsbCIgKQ0KCQkJLmF0dHIoICJyb2xlIiwgInRhYmxpc3QiICkNCg0KCQkJLy8gUHJldmVudCB1c2VycyBmcm9tIGZvY3VzaW5nIGRpc2FibGVkIHRhYnMgdmlhIGNsaWNrDQoJCQkuZGVsZWdhdGUoICI+IGxpIiwgIm1vdXNlZG93biIgKyB0aGlzLmV2ZW50TmFtZXNwYWNlLCBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQkJaWYgKCAkKCB0aGlzICkuaXMoICIudWktc3RhdGUtZGlzYWJsZWQiICkgKSB7DQoJCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJCQkJfQ0KCQkJfSkNCg0KCQkJLy8gc3VwcG9ydDogSUUgPDkNCgkJCS8vIFByZXZlbnRpbmcgdGhlIGRlZmF1bHQgYWN0aW9uIGluIG1vdXNlZG93biBkb2Vzbid0IHByZXZlbnQgSUUNCgkJCS8vIGZyb20gZm9jdXNpbmcgdGhlIGVsZW1lbnQsIHNvIGlmIHRoZSBhbmNob3IgZ2V0cyBmb2N1c2VkLCBibHVyLg0KCQkJLy8gV2UgZG9uJ3QgaGF2ZSB0byB3b3JyeSBhYm91dCBmb2N1c2luZyB0aGUgcHJldmlvdXNseSBmb2N1c2VkDQoJCQkvLyBlbGVtZW50IHNpbmNlIGNsaWNraW5nIG9uIGEgbm9uLWZvY3VzYWJsZSBlbGVtZW50IHNob3VsZCBmb2N1cw0KCQkJLy8gdGhlIGJvZHkgYW55d2F5Lg0KCQkJLmRlbGVnYXRlKCAiLnVpLXRhYnMtYW5jaG9yIiwgImZvY3VzIiArIHRoaXMuZXZlbnROYW1lc3BhY2UsIGZ1bmN0aW9uKCkgew0KCQkJCWlmICggJCggdGhpcyApLmNsb3Nlc3QoICJsaSIgKS5pcyggIi51aS1zdGF0ZS1kaXNhYmxlZCIgKSApIHsNCgkJCQkJdGhpcy5ibHVyKCk7DQoJCQkJfQ0KCQkJfSk7DQoNCgkJdGhpcy50YWJzID0gdGhpcy50YWJsaXN0LmZpbmQoICI+IGxpOmhhcyhhW2hyZWZdKSIgKQ0KCQkJLmFkZENsYXNzKCAidWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItdG9wIiApDQoJCQkuYXR0cih7DQoJCQkJcm9sZTogInRhYiIsDQoJCQkJdGFiSW5kZXg6IC0xDQoJCQl9KTsNCg0KCQl0aGlzLmFuY2hvcnMgPSB0aGlzLnRhYnMubWFwKGZ1bmN0aW9uKCkgew0KCQkJCXJldHVybiAkKCAiYSIsIHRoaXMgKVsgMCBdOw0KCQkJfSkNCgkJCS5hZGRDbGFzcyggInVpLXRhYnMtYW5jaG9yIiApDQoJCQkuYXR0cih7DQoJCQkJcm9sZTogInByZXNlbnRhdGlvbiIsDQoJCQkJdGFiSW5kZXg6IC0xDQoJCQl9KTsNCg0KCQl0aGlzLnBhbmVscyA9ICQoKTsNCg0KCQl0aGlzLmFuY2hvcnMuZWFjaChmdW5jdGlvbiggaSwgYW5jaG9yICkgew0KCQkJdmFyIHNlbGVjdG9yLCBwYW5lbCwgcGFuZWxJZCwNCgkJCQlhbmNob3JJZCA9ICQoIGFuY2hvciApLnVuaXF1ZUlkKCkuYXR0ciggImlkIiApLA0KCQkJCXRhYiA9ICQoIGFuY2hvciApLmNsb3Nlc3QoICJsaSIgKSwNCgkJCQlvcmlnaW5hbEFyaWFDb250cm9scyA9IHRhYi5hdHRyKCAiYXJpYS1jb250cm9scyIgKTsNCg0KCQkJLy8gaW5saW5lIHRhYg0KCQkJaWYgKCB0aGF0Ll9pc0xvY2FsKCBhbmNob3IgKSApIHsNCgkJCQlzZWxlY3RvciA9IGFuY2hvci5oYXNoOw0KCQkJCXBhbmVsSWQgPSBzZWxlY3Rvci5zdWJzdHJpbmcoIDEgKTsNCgkJCQlwYW5lbCA9IHRoYXQuZWxlbWVudC5maW5kKCB0aGF0Ll9zYW5pdGl6ZVNlbGVjdG9yKCBzZWxlY3RvciApICk7DQoJCQkvLyByZW1vdGUgdGFiDQoJCQl9IGVsc2Ugew0KCQkJCS8vIElmIHRoZSB0YWIgZG9lc24ndCBhbHJlYWR5IGhhdmUgYXJpYS1jb250cm9scywNCgkJCQkvLyBnZW5lcmF0ZSBhbiBpZCBieSB1c2luZyBhIHRocm93LWF3YXkgZWxlbWVudA0KCQkJCXBhbmVsSWQgPSB0YWIuYXR0ciggImFyaWEtY29udHJvbHMiICkgfHwgJCgge30gKS51bmlxdWVJZCgpWyAwIF0uaWQ7DQoJCQkJc2VsZWN0b3IgPSAiIyIgKyBwYW5lbElkOw0KCQkJCXBhbmVsID0gdGhhdC5lbGVtZW50LmZpbmQoIHNlbGVjdG9yICk7DQoJCQkJaWYgKCAhcGFuZWwubGVuZ3RoICkgew0KCQkJCQlwYW5lbCA9IHRoYXQuX2NyZWF0ZVBhbmVsKCBwYW5lbElkICk7DQoJCQkJCXBhbmVsLmluc2VydEFmdGVyKCB0aGF0LnBhbmVsc1sgaSAtIDEgXSB8fCB0aGF0LnRhYmxpc3QgKTsNCgkJCQl9DQoJCQkJcGFuZWwuYXR0ciggImFyaWEtbGl2ZSIsICJwb2xpdGUiICk7DQoJCQl9DQoNCgkJCWlmICggcGFuZWwubGVuZ3RoKSB7DQoJCQkJdGhhdC5wYW5lbHMgPSB0aGF0LnBhbmVscy5hZGQoIHBhbmVsICk7DQoJCQl9DQoJCQlpZiAoIG9yaWdpbmFsQXJpYUNvbnRyb2xzICkgew0KCQkJCXRhYi5kYXRhKCAidWktdGFicy1hcmlhLWNvbnRyb2xzIiwgb3JpZ2luYWxBcmlhQ29udHJvbHMgKTsNCgkJCX0NCgkJCXRhYi5hdHRyKHsNCgkJCQkiYXJpYS1jb250cm9scyI6IHBhbmVsSWQsDQoJCQkJImFyaWEtbGFiZWxsZWRieSI6IGFuY2hvcklkDQoJCQl9KTsNCgkJCXBhbmVsLmF0dHIoICJhcmlhLWxhYmVsbGVkYnkiLCBhbmNob3JJZCApOw0KCQl9KTsNCg0KCQl0aGlzLnBhbmVscw0KCQkJLmFkZENsYXNzKCAidWktdGFicy1wYW5lbCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYm90dG9tIiApDQoJCQkuYXR0ciggInJvbGUiLCAidGFicGFuZWwiICk7DQoNCgkJLy8gQXZvaWQgbWVtb3J5IGxlYWtzICgjMTAwNTYpDQoJCWlmICggcHJldlRhYnMgKSB7DQoJCQl0aGlzLl9vZmYoIHByZXZUYWJzLm5vdCggdGhpcy50YWJzICkgKTsNCgkJCXRoaXMuX29mZiggcHJldkFuY2hvcnMubm90KCB0aGlzLmFuY2hvcnMgKSApOw0KCQkJdGhpcy5fb2ZmKCBwcmV2UGFuZWxzLm5vdCggdGhpcy5wYW5lbHMgKSApOw0KCQl9DQoJfSwNCg0KCS8vIGFsbG93IG92ZXJyaWRpbmcgaG93IHRvIGZpbmQgdGhlIGxpc3QgZm9yIHJhcmUgdXNhZ2Ugc2NlbmFyaW9zICgjNzcxNSkNCglfZ2V0TGlzdDogZnVuY3Rpb24oKSB7DQoJCXJldHVybiB0aGlzLnRhYmxpc3QgfHwgdGhpcy5lbGVtZW50LmZpbmQoICJvbCx1bCIgKS5lcSggMCApOw0KCX0sDQoNCglfY3JlYXRlUGFuZWw6IGZ1bmN0aW9uKCBpZCApIHsNCgkJcmV0dXJuICQoICI8ZGl2PiIgKQ0KCQkJLmF0dHIoICJpZCIsIGlkICkNCgkJCS5hZGRDbGFzcyggInVpLXRhYnMtcGFuZWwgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWJvdHRvbSIgKQ0KCQkJLmRhdGEoICJ1aS10YWJzLWRlc3Ryb3kiLCB0cnVlICk7DQoJfSwNCg0KCV9zZXR1cERpc2FibGVkOiBmdW5jdGlvbiggZGlzYWJsZWQgKSB7DQoJCWlmICggJC5pc0FycmF5KCBkaXNhYmxlZCApICkgew0KCQkJaWYgKCAhZGlzYWJsZWQubGVuZ3RoICkgew0KCQkJCWRpc2FibGVkID0gZmFsc2U7DQoJCQl9IGVsc2UgaWYgKCBkaXNhYmxlZC5sZW5ndGggPT09IHRoaXMuYW5jaG9ycy5sZW5ndGggKSB7DQoJCQkJZGlzYWJsZWQgPSB0cnVlOw0KCQkJfQ0KCQl9DQoNCgkJLy8gZGlzYWJsZSB0YWJzDQoJCWZvciAoIHZhciBpID0gMCwgbGk7ICggbGkgPSB0aGlzLnRhYnNbIGkgXSApOyBpKysgKSB7DQoJCQlpZiAoIGRpc2FibGVkID09PSB0cnVlIHx8ICQuaW5BcnJheSggaSwgZGlzYWJsZWQgKSAhPT0gLTEgKSB7DQoJCQkJJCggbGkgKQ0KCQkJCQkuYWRkQ2xhc3MoICJ1aS1zdGF0ZS1kaXNhYmxlZCIgKQ0KCQkJCQkuYXR0ciggImFyaWEtZGlzYWJsZWQiLCAidHJ1ZSIgKTsNCgkJCX0gZWxzZSB7DQoJCQkJJCggbGkgKQ0KCQkJCQkucmVtb3ZlQ2xhc3MoICJ1aS1zdGF0ZS1kaXNhYmxlZCIgKQ0KCQkJCQkucmVtb3ZlQXR0ciggImFyaWEtZGlzYWJsZWQiICk7DQoJCQl9DQoJCX0NCg0KCQl0aGlzLm9wdGlvbnMuZGlzYWJsZWQgPSBkaXNhYmxlZDsNCgl9LA0KDQoJX3NldHVwRXZlbnRzOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXZhciBldmVudHMgPSB7fTsNCgkJaWYgKCBldmVudCApIHsNCgkJCSQuZWFjaCggZXZlbnQuc3BsaXQoIiAiKSwgZnVuY3Rpb24oIGluZGV4LCBldmVudE5hbWUgKSB7DQoJCQkJZXZlbnRzWyBldmVudE5hbWUgXSA9ICJfZXZlbnRIYW5kbGVyIjsNCgkJCX0pOw0KCQl9DQoNCgkJdGhpcy5fb2ZmKCB0aGlzLmFuY2hvcnMuYWRkKCB0aGlzLnRhYnMgKS5hZGQoIHRoaXMucGFuZWxzICkgKTsNCgkJLy8gQWx3YXlzIHByZXZlbnQgdGhlIGRlZmF1bHQgYWN0aW9uLCBldmVuIHdoZW4gZGlzYWJsZWQNCgkJdGhpcy5fb24oIHRydWUsIHRoaXMuYW5jaG9ycywgew0KCQkJY2xpY2s6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQkJfQ0KCQl9KTsNCgkJdGhpcy5fb24oIHRoaXMuYW5jaG9ycywgZXZlbnRzICk7DQoJCXRoaXMuX29uKCB0aGlzLnRhYnMsIHsga2V5ZG93bjogIl90YWJLZXlkb3duIiB9ICk7DQoJCXRoaXMuX29uKCB0aGlzLnBhbmVscywgeyBrZXlkb3duOiAiX3BhbmVsS2V5ZG93biIgfSApOw0KDQoJCXRoaXMuX2ZvY3VzYWJsZSggdGhpcy50YWJzICk7DQoJCXRoaXMuX2hvdmVyYWJsZSggdGhpcy50YWJzICk7DQoJfSwNCg0KCV9zZXR1cEhlaWdodFN0eWxlOiBmdW5jdGlvbiggaGVpZ2h0U3R5bGUgKSB7DQoJCXZhciBtYXhIZWlnaHQsDQoJCQlwYXJlbnQgPSB0aGlzLmVsZW1lbnQucGFyZW50KCk7DQoNCgkJaWYgKCBoZWlnaHRTdHlsZSA9PT0gImZpbGwiICkgew0KCQkJbWF4SGVpZ2h0ID0gcGFyZW50LmhlaWdodCgpOw0KCQkJbWF4SGVpZ2h0IC09IHRoaXMuZWxlbWVudC5vdXRlckhlaWdodCgpIC0gdGhpcy5lbGVtZW50LmhlaWdodCgpOw0KDQoJCQl0aGlzLmVsZW1lbnQuc2libGluZ3MoICI6dmlzaWJsZSIgKS5lYWNoKGZ1bmN0aW9uKCkgew0KCQkJCXZhciBlbGVtID0gJCggdGhpcyApLA0KCQkJCQlwb3NpdGlvbiA9IGVsZW0uY3NzKCAicG9zaXRpb24iICk7DQoNCgkJCQlpZiAoIHBvc2l0aW9uID09PSAiYWJzb2x1dGUiIHx8IHBvc2l0aW9uID09PSAiZml4ZWQiICkgew0KCQkJCQlyZXR1cm47DQoJCQkJfQ0KCQkJCW1heEhlaWdodCAtPSBlbGVtLm91dGVySGVpZ2h0KCB0cnVlICk7DQoJCQl9KTsNCg0KCQkJdGhpcy5lbGVtZW50LmNoaWxkcmVuKCkubm90KCB0aGlzLnBhbmVscyApLmVhY2goZnVuY3Rpb24oKSB7DQoJCQkJbWF4SGVpZ2h0IC09ICQoIHRoaXMgKS5vdXRlckhlaWdodCggdHJ1ZSApOw0KCQkJfSk7DQoNCgkJCXRoaXMucGFuZWxzLmVhY2goZnVuY3Rpb24oKSB7DQoJCQkJJCggdGhpcyApLmhlaWdodCggTWF0aC5tYXgoIDAsIG1heEhlaWdodCAtDQoJCQkJCSQoIHRoaXMgKS5pbm5lckhlaWdodCgpICsgJCggdGhpcyApLmhlaWdodCgpICkgKTsNCgkJCX0pDQoJCQkuY3NzKCAib3ZlcmZsb3ciLCAiYXV0byIgKTsNCgkJfSBlbHNlIGlmICggaGVpZ2h0U3R5bGUgPT09ICJhdXRvIiApIHsNCgkJCW1heEhlaWdodCA9IDA7DQoJCQl0aGlzLnBhbmVscy5lYWNoKGZ1bmN0aW9uKCkgew0KCQkJCW1heEhlaWdodCA9IE1hdGgubWF4KCBtYXhIZWlnaHQsICQoIHRoaXMgKS5oZWlnaHQoICIiICkuaGVpZ2h0KCkgKTsNCgkJCX0pLmhlaWdodCggbWF4SGVpZ2h0ICk7DQoJCX0NCgl9LA0KDQoJX2V2ZW50SGFuZGxlcjogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl2YXIgb3B0aW9ucyA9IHRoaXMub3B0aW9ucywNCgkJCWFjdGl2ZSA9IHRoaXMuYWN0aXZlLA0KCQkJYW5jaG9yID0gJCggZXZlbnQuY3VycmVudFRhcmdldCApLA0KCQkJdGFiID0gYW5jaG9yLmNsb3Nlc3QoICJsaSIgKSwNCgkJCWNsaWNrZWRJc0FjdGl2ZSA9IHRhYlsgMCBdID09PSBhY3RpdmVbIDAgXSwNCgkJCWNvbGxhcHNpbmcgPSBjbGlja2VkSXNBY3RpdmUgJiYgb3B0aW9ucy5jb2xsYXBzaWJsZSwNCgkJCXRvU2hvdyA9IGNvbGxhcHNpbmcgPyAkKCkgOiB0aGlzLl9nZXRQYW5lbEZvclRhYiggdGFiICksDQoJCQl0b0hpZGUgPSAhYWN0aXZlLmxlbmd0aCA/ICQoKSA6IHRoaXMuX2dldFBhbmVsRm9yVGFiKCBhY3RpdmUgKSwNCgkJCWV2ZW50RGF0YSA9IHsNCgkJCQlvbGRUYWI6IGFjdGl2ZSwNCgkJCQlvbGRQYW5lbDogdG9IaWRlLA0KCQkJCW5ld1RhYjogY29sbGFwc2luZyA/ICQoKSA6IHRhYiwNCgkJCQluZXdQYW5lbDogdG9TaG93DQoJCQl9Ow0KDQoJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoNCgkJaWYgKCB0YWIuaGFzQ2xhc3MoICJ1aS1zdGF0ZS1kaXNhYmxlZCIgKSB8fA0KCQkJCS8vIHRhYiBpcyBhbHJlYWR5IGxvYWRpbmcNCgkJCQl0YWIuaGFzQ2xhc3MoICJ1aS10YWJzLWxvYWRpbmciICkgfHwNCgkJCQkvLyBjYW4ndCBzd2l0Y2ggZHVybmluZyBhbiBhbmltYXRpb24NCgkJCQl0aGlzLnJ1bm5pbmcgfHwNCgkJCQkvLyBjbGljayBvbiBhY3RpdmUgaGVhZGVyLCBidXQgbm90IGNvbGxhcHNpYmxlDQoJCQkJKCBjbGlja2VkSXNBY3RpdmUgJiYgIW9wdGlvbnMuY29sbGFwc2libGUgKSB8fA0KCQkJCS8vIGFsbG93IGNhbmNlbGluZyBhY3RpdmF0aW9uDQoJCQkJKCB0aGlzLl90cmlnZ2VyKCAiYmVmb3JlQWN0aXZhdGUiLCBldmVudCwgZXZlbnREYXRhICkgPT09IGZhbHNlICkgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQlvcHRpb25zLmFjdGl2ZSA9IGNvbGxhcHNpbmcgPyBmYWxzZSA6IHRoaXMudGFicy5pbmRleCggdGFiICk7DQoNCgkJdGhpcy5hY3RpdmUgPSBjbGlja2VkSXNBY3RpdmUgPyAkKCkgOiB0YWI7DQoJCWlmICggdGhpcy54aHIgKSB7DQoJCQl0aGlzLnhoci5hYm9ydCgpOw0KCQl9DQoNCgkJaWYgKCAhdG9IaWRlLmxlbmd0aCAmJiAhdG9TaG93Lmxlbmd0aCApIHsNCgkJCSQuZXJyb3IoICJqUXVlcnkgVUkgVGFiczogTWlzbWF0Y2hpbmcgZnJhZ21lbnQgaWRlbnRpZmllci4iICk7DQoJCX0NCg0KCQlpZiAoIHRvU2hvdy5sZW5ndGggKSB7DQoJCQl0aGlzLmxvYWQoIHRoaXMudGFicy5pbmRleCggdGFiICksIGV2ZW50ICk7DQoJCX0NCgkJdGhpcy5fdG9nZ2xlKCBldmVudCwgZXZlbnREYXRhICk7DQoJfSwNCg0KCS8vIGhhbmRsZXMgc2hvdy9oaWRlIGZvciBzZWxlY3RpbmcgdGFicw0KCV90b2dnbGU6IGZ1bmN0aW9uKCBldmVudCwgZXZlbnREYXRhICkgew0KCQl2YXIgdGhhdCA9IHRoaXMsDQoJCQl0b1Nob3cgPSBldmVudERhdGEubmV3UGFuZWwsDQoJCQl0b0hpZGUgPSBldmVudERhdGEub2xkUGFuZWw7DQoNCgkJdGhpcy5ydW5uaW5nID0gdHJ1ZTsNCg0KCQlmdW5jdGlvbiBjb21wbGV0ZSgpIHsNCgkJCXRoYXQucnVubmluZyA9IGZhbHNlOw0KCQkJdGhhdC5fdHJpZ2dlciggImFjdGl2YXRlIiwgZXZlbnQsIGV2ZW50RGF0YSApOw0KCQl9DQoNCgkJZnVuY3Rpb24gc2hvdygpIHsNCgkJCWV2ZW50RGF0YS5uZXdUYWIuY2xvc2VzdCggImxpIiApLmFkZENsYXNzKCAidWktdGFicy1hY3RpdmUgdWktc3RhdGUtYWN0aXZlIiApOw0KDQoJCQlpZiAoIHRvU2hvdy5sZW5ndGggJiYgdGhhdC5vcHRpb25zLnNob3cgKSB7DQoJCQkJdGhhdC5fc2hvdyggdG9TaG93LCB0aGF0Lm9wdGlvbnMuc2hvdywgY29tcGxldGUgKTsNCgkJCX0gZWxzZSB7DQoJCQkJdG9TaG93LnNob3coKTsNCgkJCQljb21wbGV0ZSgpOw0KCQkJfQ0KCQl9DQoNCgkJLy8gc3RhcnQgb3V0IGJ5IGhpZGluZywgdGhlbiBzaG93aW5nLCB0aGVuIGNvbXBsZXRpbmcNCgkJaWYgKCB0b0hpZGUubGVuZ3RoICYmIHRoaXMub3B0aW9ucy5oaWRlICkgew0KCQkJdGhpcy5faGlkZSggdG9IaWRlLCB0aGlzLm9wdGlvbnMuaGlkZSwgZnVuY3Rpb24oKSB7DQoJCQkJZXZlbnREYXRhLm9sZFRhYi5jbG9zZXN0KCAibGkiICkucmVtb3ZlQ2xhc3MoICJ1aS10YWJzLWFjdGl2ZSB1aS1zdGF0ZS1hY3RpdmUiICk7DQoJCQkJc2hvdygpOw0KCQkJfSk7DQoJCX0gZWxzZSB7DQoJCQlldmVudERhdGEub2xkVGFiLmNsb3Nlc3QoICJsaSIgKS5yZW1vdmVDbGFzcyggInVpLXRhYnMtYWN0aXZlIHVpLXN0YXRlLWFjdGl2ZSIgKTsNCgkJCXRvSGlkZS5oaWRlKCk7DQoJCQlzaG93KCk7DQoJCX0NCg0KCQl0b0hpZGUuYXR0ciggImFyaWEtaGlkZGVuIiwgInRydWUiICk7DQoJCWV2ZW50RGF0YS5vbGRUYWIuYXR0cih7DQoJCQkiYXJpYS1zZWxlY3RlZCI6ICJmYWxzZSIsDQoJCQkiYXJpYS1leHBhbmRlZCI6ICJmYWxzZSINCgkJfSk7DQoJCS8vIElmIHdlJ3JlIHN3aXRjaGluZyB0YWJzLCByZW1vdmUgdGhlIG9sZCB0YWIgZnJvbSB0aGUgdGFiIG9yZGVyLg0KCQkvLyBJZiB3ZSdyZSBvcGVuaW5nIGZyb20gY29sbGFwc2VkIHN0YXRlLCByZW1vdmUgdGhlIHByZXZpb3VzIHRhYiBmcm9tIHRoZSB0YWIgb3JkZXIuDQoJCS8vIElmIHdlJ3JlIGNvbGxhcHNpbmcsIHRoZW4ga2VlcCB0aGUgY29sbGFwc2luZyB0YWIgaW4gdGhlIHRhYiBvcmRlci4NCgkJaWYgKCB0b1Nob3cubGVuZ3RoICYmIHRvSGlkZS5sZW5ndGggKSB7DQoJCQlldmVudERhdGEub2xkVGFiLmF0dHIoICJ0YWJJbmRleCIsIC0xICk7DQoJCX0gZWxzZSBpZiAoIHRvU2hvdy5sZW5ndGggKSB7DQoJCQl0aGlzLnRhYnMuZmlsdGVyKGZ1bmN0aW9uKCkgew0KCQkJCXJldHVybiAkKCB0aGlzICkuYXR0ciggInRhYkluZGV4IiApID09PSAwOw0KCQkJfSkNCgkJCS5hdHRyKCAidGFiSW5kZXgiLCAtMSApOw0KCQl9DQoNCgkJdG9TaG93LmF0dHIoICJhcmlhLWhpZGRlbiIsICJmYWxzZSIgKTsNCgkJZXZlbnREYXRhLm5ld1RhYi5hdHRyKHsNCgkJCSJhcmlhLXNlbGVjdGVkIjogInRydWUiLA0KCQkJImFyaWEtZXhwYW5kZWQiOiAidHJ1ZSIsDQoJCQl0YWJJbmRleDogMA0KCQl9KTsNCgl9LA0KDQoJX2FjdGl2YXRlOiBmdW5jdGlvbiggaW5kZXggKSB7DQoJCXZhciBhbmNob3IsDQoJCQlhY3RpdmUgPSB0aGlzLl9maW5kQWN0aXZlKCBpbmRleCApOw0KDQoJCS8vIHRyeWluZyB0byBhY3RpdmF0ZSB0aGUgYWxyZWFkeSBhY3RpdmUgcGFuZWwNCgkJaWYgKCBhY3RpdmVbIDAgXSA9PT0gdGhpcy5hY3RpdmVbIDAgXSApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCS8vIHRyeWluZyB0byBjb2xsYXBzZSwgc2ltdWxhdGUgYSBjbGljayBvbiB0aGUgY3VycmVudCBhY3RpdmUgaGVhZGVyDQoJCWlmICggIWFjdGl2ZS5sZW5ndGggKSB7DQoJCQlhY3RpdmUgPSB0aGlzLmFjdGl2ZTsNCgkJfQ0KDQoJCWFuY2hvciA9IGFjdGl2ZS5maW5kKCAiLnVpLXRhYnMtYW5jaG9yIiApWyAwIF07DQoJCXRoaXMuX2V2ZW50SGFuZGxlcih7DQoJCQl0YXJnZXQ6IGFuY2hvciwNCgkJCWN1cnJlbnRUYXJnZXQ6IGFuY2hvciwNCgkJCXByZXZlbnREZWZhdWx0OiAkLm5vb3ANCgkJfSk7DQoJfSwNCg0KCV9maW5kQWN0aXZlOiBmdW5jdGlvbiggaW5kZXggKSB7DQoJCXJldHVybiBpbmRleCA9PT0gZmFsc2UgPyAkKCkgOiB0aGlzLnRhYnMuZXEoIGluZGV4ICk7DQoJfSwNCg0KCV9nZXRJbmRleDogZnVuY3Rpb24oIGluZGV4ICkgew0KCQkvLyBtZXRhLWZ1bmN0aW9uIHRvIGdpdmUgdXNlcnMgb3B0aW9uIHRvIHByb3ZpZGUgYSBocmVmIHN0cmluZyBpbnN0ZWFkIG9mIGEgbnVtZXJpY2FsIGluZGV4Lg0KCQlpZiAoIHR5cGVvZiBpbmRleCA9PT0gInN0cmluZyIgKSB7DQoJCQlpbmRleCA9IHRoaXMuYW5jaG9ycy5pbmRleCggdGhpcy5hbmNob3JzLmZpbHRlciggIltocmVmJD0nIiArIGluZGV4ICsgIiddIiApICk7DQoJCX0NCg0KCQlyZXR1cm4gaW5kZXg7DQoJfSwNCg0KCV9kZXN0cm95OiBmdW5jdGlvbigpIHsNCgkJaWYgKCB0aGlzLnhociApIHsNCgkJCXRoaXMueGhyLmFib3J0KCk7DQoJCX0NCg0KCQl0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoICJ1aS10YWJzIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXRhYnMtY29sbGFwc2libGUiICk7DQoNCgkJdGhpcy50YWJsaXN0DQoJCQkucmVtb3ZlQ2xhc3MoICJ1aS10YWJzLW5hdiB1aS1oZWxwZXItcmVzZXQgdWktaGVscGVyLWNsZWFyZml4IHVpLXdpZGdldC1oZWFkZXIgdWktY29ybmVyLWFsbCIgKQ0KCQkJLnJlbW92ZUF0dHIoICJyb2xlIiApOw0KDQoJCXRoaXMuYW5jaG9ycw0KCQkJLnJlbW92ZUNsYXNzKCAidWktdGFicy1hbmNob3IiICkNCgkJCS5yZW1vdmVBdHRyKCAicm9sZSIgKQ0KCQkJLnJlbW92ZUF0dHIoICJ0YWJJbmRleCIgKQ0KCQkJLnJlbW92ZVVuaXF1ZUlkKCk7DQoNCgkJdGhpcy50YWJsaXN0LnVuYmluZCggdGhpcy5ldmVudE5hbWVzcGFjZSApOw0KDQoJCXRoaXMudGFicy5hZGQoIHRoaXMucGFuZWxzICkuZWFjaChmdW5jdGlvbigpIHsNCgkJCWlmICggJC5kYXRhKCB0aGlzLCAidWktdGFicy1kZXN0cm95IiApICkgew0KCQkJCSQoIHRoaXMgKS5yZW1vdmUoKTsNCgkJCX0gZWxzZSB7DQoJCQkJJCggdGhpcyApDQoJCQkJCS5yZW1vdmVDbGFzcyggInVpLXN0YXRlLWRlZmF1bHQgdWktc3RhdGUtYWN0aXZlIHVpLXN0YXRlLWRpc2FibGVkICIgKw0KCQkJCQkJInVpLWNvcm5lci10b3AgdWktY29ybmVyLWJvdHRvbSB1aS13aWRnZXQtY29udGVudCB1aS10YWJzLWFjdGl2ZSB1aS10YWJzLXBhbmVsIiApDQoJCQkJCS5yZW1vdmVBdHRyKCAidGFiSW5kZXgiICkNCgkJCQkJLnJlbW92ZUF0dHIoICJhcmlhLWxpdmUiICkNCgkJCQkJLnJlbW92ZUF0dHIoICJhcmlhLWJ1c3kiICkNCgkJCQkJLnJlbW92ZUF0dHIoICJhcmlhLXNlbGVjdGVkIiApDQoJCQkJCS5yZW1vdmVBdHRyKCAiYXJpYS1sYWJlbGxlZGJ5IiApDQoJCQkJCS5yZW1vdmVBdHRyKCAiYXJpYS1oaWRkZW4iICkNCgkJCQkJLnJlbW92ZUF0dHIoICJhcmlhLWV4cGFuZGVkIiApDQoJCQkJCS5yZW1vdmVBdHRyKCAicm9sZSIgKTsNCgkJCX0NCgkJfSk7DQoNCgkJdGhpcy50YWJzLmVhY2goZnVuY3Rpb24oKSB7DQoJCQl2YXIgbGkgPSAkKCB0aGlzICksDQoJCQkJcHJldiA9IGxpLmRhdGEoICJ1aS10YWJzLWFyaWEtY29udHJvbHMiICk7DQoJCQlpZiAoIHByZXYgKSB7DQoJCQkJbGkNCgkJCQkJLmF0dHIoICJhcmlhLWNvbnRyb2xzIiwgcHJldiApDQoJCQkJCS5yZW1vdmVEYXRhKCAidWktdGFicy1hcmlhLWNvbnRyb2xzIiApOw0KCQkJfSBlbHNlIHsNCgkJCQlsaS5yZW1vdmVBdHRyKCAiYXJpYS1jb250cm9scyIgKTsNCgkJCX0NCgkJfSk7DQoNCgkJdGhpcy5wYW5lbHMuc2hvdygpOw0KDQoJCWlmICggdGhpcy5vcHRpb25zLmhlaWdodFN0eWxlICE9PSAiY29udGVudCIgKSB7DQoJCQl0aGlzLnBhbmVscy5jc3MoICJoZWlnaHQiLCAiIiApOw0KCQl9DQoJfSwNCg0KCWVuYWJsZTogZnVuY3Rpb24oIGluZGV4ICkgew0KCQl2YXIgZGlzYWJsZWQgPSB0aGlzLm9wdGlvbnMuZGlzYWJsZWQ7DQoJCWlmICggZGlzYWJsZWQgPT09IGZhbHNlICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJaWYgKCBpbmRleCA9PT0gdW5kZWZpbmVkICkgew0KCQkJZGlzYWJsZWQgPSBmYWxzZTsNCgkJfSBlbHNlIHsNCgkJCWluZGV4ID0gdGhpcy5fZ2V0SW5kZXgoIGluZGV4ICk7DQoJCQlpZiAoICQuaXNBcnJheSggZGlzYWJsZWQgKSApIHsNCgkJCQlkaXNhYmxlZCA9ICQubWFwKCBkaXNhYmxlZCwgZnVuY3Rpb24oIG51bSApIHsNCgkJCQkJcmV0dXJuIG51bSAhPT0gaW5kZXggPyBudW0gOiBudWxsOw0KCQkJCX0pOw0KCQkJfSBlbHNlIHsNCgkJCQlkaXNhYmxlZCA9ICQubWFwKCB0aGlzLnRhYnMsIGZ1bmN0aW9uKCBsaSwgbnVtICkgew0KCQkJCQlyZXR1cm4gbnVtICE9PSBpbmRleCA/IG51bSA6IG51bGw7DQoJCQkJfSk7DQoJCQl9DQoJCX0NCgkJdGhpcy5fc2V0dXBEaXNhYmxlZCggZGlzYWJsZWQgKTsNCgl9LA0KDQoJZGlzYWJsZTogZnVuY3Rpb24oIGluZGV4ICkgew0KCQl2YXIgZGlzYWJsZWQgPSB0aGlzLm9wdGlvbnMuZGlzYWJsZWQ7DQoJCWlmICggZGlzYWJsZWQgPT09IHRydWUgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQlpZiAoIGluZGV4ID09PSB1bmRlZmluZWQgKSB7DQoJCQlkaXNhYmxlZCA9IHRydWU7DQoJCX0gZWxzZSB7DQoJCQlpbmRleCA9IHRoaXMuX2dldEluZGV4KCBpbmRleCApOw0KCQkJaWYgKCAkLmluQXJyYXkoIGluZGV4LCBkaXNhYmxlZCApICE9PSAtMSApIHsNCgkJCQlyZXR1cm47DQoJCQl9DQoJCQlpZiAoICQuaXNBcnJheSggZGlzYWJsZWQgKSApIHsNCgkJCQlkaXNhYmxlZCA9ICQubWVyZ2UoIFsgaW5kZXggXSwgZGlzYWJsZWQgKS5zb3J0KCk7DQoJCQl9IGVsc2Ugew0KCQkJCWRpc2FibGVkID0gWyBpbmRleCBdOw0KCQkJfQ0KCQl9DQoJCXRoaXMuX3NldHVwRGlzYWJsZWQoIGRpc2FibGVkICk7DQoJfSwNCg0KCWxvYWQ6IGZ1bmN0aW9uKCBpbmRleCwgZXZlbnQgKSB7DQoJCWluZGV4ID0gdGhpcy5fZ2V0SW5kZXgoIGluZGV4ICk7DQoJCXZhciB0aGF0ID0gdGhpcywNCgkJCXRhYiA9IHRoaXMudGFicy5lcSggaW5kZXggKSwNCgkJCWFuY2hvciA9IHRhYi5maW5kKCAiLnVpLXRhYnMtYW5jaG9yIiApLA0KCQkJcGFuZWwgPSB0aGlzLl9nZXRQYW5lbEZvclRhYiggdGFiICksDQoJCQlldmVudERhdGEgPSB7DQoJCQkJdGFiOiB0YWIsDQoJCQkJcGFuZWw6IHBhbmVsDQoJCQl9LA0KCQkJY29tcGxldGUgPSBmdW5jdGlvbigganFYSFIsIHN0YXR1cyApIHsNCgkJCQlpZiAoIHN0YXR1cyA9PT0gImFib3J0IiApIHsNCgkJCQkJdGhhdC5wYW5lbHMuc3RvcCggZmFsc2UsIHRydWUgKTsNCgkJCQl9DQoNCgkJCQl0YWIucmVtb3ZlQ2xhc3MoICJ1aS10YWJzLWxvYWRpbmciICk7DQoJCQkJcGFuZWwucmVtb3ZlQXR0ciggImFyaWEtYnVzeSIgKTsNCg0KCQkJCWlmICgganFYSFIgPT09IHRoYXQueGhyICkgew0KCQkJCQlkZWxldGUgdGhhdC54aHI7DQoJCQkJfQ0KCQkJfTsNCg0KCQkvLyBub3QgcmVtb3RlDQoJCWlmICggdGhpcy5faXNMb2NhbCggYW5jaG9yWyAwIF0gKSApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCXRoaXMueGhyID0gJC5hamF4KCB0aGlzLl9hamF4U2V0dGluZ3MoIGFuY2hvciwgZXZlbnQsIGV2ZW50RGF0YSApICk7DQoNCgkJLy8gc3VwcG9ydDogalF1ZXJ5IDwxLjgNCgkJLy8galF1ZXJ5IDwxLjggcmV0dXJucyBmYWxzZSBpZiB0aGUgcmVxdWVzdCBpcyBjYW5jZWxlZCBpbiBiZWZvcmVTZW5kLA0KCQkvLyBidXQgYXMgb2YgMS44LCAkLmFqYXgoKSBhbHdheXMgcmV0dXJucyBhIGpxWEhSIG9iamVjdC4NCgkJaWYgKCB0aGlzLnhociAmJiB0aGlzLnhoci5zdGF0dXNUZXh0ICE9PSAiY2FuY2VsZWQiICkgew0KCQkJdGFiLmFkZENsYXNzKCAidWktdGFicy1sb2FkaW5nIiApOw0KCQkJcGFuZWwuYXR0ciggImFyaWEtYnVzeSIsICJ0cnVlIiApOw0KDQoJCQl0aGlzLnhocg0KCQkJCS5kb25lKGZ1bmN0aW9uKCByZXNwb25zZSwgc3RhdHVzLCBqcVhIUiApIHsNCgkJCQkJLy8gc3VwcG9ydDogalF1ZXJ5IDwxLjgNCgkJCQkJLy8gaHR0cDovL2J1Z3MuanF1ZXJ5LmNvbS90aWNrZXQvMTE3NzgNCgkJCQkJc2V0VGltZW91dChmdW5jdGlvbigpIHsNCgkJCQkJCXBhbmVsLmh0bWwoIHJlc3BvbnNlICk7DQoJCQkJCQl0aGF0Ll90cmlnZ2VyKCAibG9hZCIsIGV2ZW50LCBldmVudERhdGEgKTsNCg0KCQkJCQkJY29tcGxldGUoIGpxWEhSLCBzdGF0dXMgKTsNCgkJCQkJfSwgMSApOw0KCQkJCX0pDQoJCQkJLmZhaWwoZnVuY3Rpb24oIGpxWEhSLCBzdGF0dXMgKSB7DQoJCQkJCS8vIHN1cHBvcnQ6IGpRdWVyeSA8MS44DQoJCQkJCS8vIGh0dHA6Ly9idWdzLmpxdWVyeS5jb20vdGlja2V0LzExNzc4DQoJCQkJCXNldFRpbWVvdXQoZnVuY3Rpb24oKSB7DQoJCQkJCQljb21wbGV0ZSgganFYSFIsIHN0YXR1cyApOw0KCQkJCQl9LCAxICk7DQoJCQkJfSk7DQoJCX0NCgl9LA0KDQoJX2FqYXhTZXR0aW5nczogZnVuY3Rpb24oIGFuY2hvciwgZXZlbnQsIGV2ZW50RGF0YSApIHsNCgkJdmFyIHRoYXQgPSB0aGlzOw0KCQlyZXR1cm4gew0KCQkJdXJsOiBhbmNob3IuYXR0ciggImhyZWYiICksDQoJCQliZWZvcmVTZW5kOiBmdW5jdGlvbigganFYSFIsIHNldHRpbmdzICkgew0KCQkJCXJldHVybiB0aGF0Ll90cmlnZ2VyKCAiYmVmb3JlTG9hZCIsIGV2ZW50LA0KCQkJCQkkLmV4dGVuZCggeyBqcVhIUjoganFYSFIsIGFqYXhTZXR0aW5nczogc2V0dGluZ3MgfSwgZXZlbnREYXRhICkgKTsNCgkJCX0NCgkJfTsNCgl9LA0KDQoJX2dldFBhbmVsRm9yVGFiOiBmdW5jdGlvbiggdGFiICkgew0KCQl2YXIgaWQgPSAkKCB0YWIgKS5hdHRyKCAiYXJpYS1jb250cm9scyIgKTsNCgkJcmV0dXJuIHRoaXMuZWxlbWVudC5maW5kKCB0aGlzLl9zYW5pdGl6ZVNlbGVjdG9yKCAiIyIgKyBpZCApICk7DQoJfQ0KfSk7DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgVG9vbHRpcCAxLjExLjQNCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICoNCiAqIGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL3Rvb2x0aXAvDQogKi8NCg0KDQp2YXIgdG9vbHRpcCA9ICQud2lkZ2V0KCAidWkudG9vbHRpcCIsIHsNCgl2ZXJzaW9uOiAiMS4xMS40IiwNCglvcHRpb25zOiB7DQoJCWNvbnRlbnQ6IGZ1bmN0aW9uKCkgew0KCQkJLy8gc3VwcG9ydDogSUU8OSwgT3BlcmEgaW4galF1ZXJ5IDwxLjcNCgkJCS8vIC50ZXh0KCkgY2FuJ3QgYWNjZXB0IHVuZGVmaW5lZCwgc28gY29lcmNlIHRvIGEgc3RyaW5nDQoJCQl2YXIgdGl0bGUgPSAkKCB0aGlzICkuYXR0ciggInRpdGxlIiApIHx8ICIiOw0KCQkJLy8gRXNjYXBlIHRpdGxlLCBzaW5jZSB3ZSdyZSBnb2luZyBmcm9tIGFuIGF0dHJpYnV0ZSB0byByYXcgSFRNTA0KCQkJcmV0dXJuICQoICI8YT4iICkudGV4dCggdGl0bGUgKS5odG1sKCk7DQoJCX0sDQoJCWhpZGU6IHRydWUsDQoJCS8vIERpc2FibGVkIGVsZW1lbnRzIGhhdmUgaW5jb25zaXN0ZW50IGJlaGF2aW9yIGFjcm9zcyBicm93c2VycyAoIzg2NjEpDQoJCWl0ZW1zOiAiW3RpdGxlXTpub3QoW2Rpc2FibGVkXSkiLA0KCQlwb3NpdGlvbjogew0KCQkJbXk6ICJsZWZ0IHRvcCsxNSIsDQoJCQlhdDogImxlZnQgYm90dG9tIiwNCgkJCWNvbGxpc2lvbjogImZsaXBmaXQgZmxpcCINCgkJfSwNCgkJc2hvdzogdHJ1ZSwNCgkJdG9vbHRpcENsYXNzOiBudWxsLA0KCQl0cmFjazogZmFsc2UsDQoNCgkJLy8gY2FsbGJhY2tzDQoJCWNsb3NlOiBudWxsLA0KCQlvcGVuOiBudWxsDQoJfSwNCg0KCV9hZGREZXNjcmliZWRCeTogZnVuY3Rpb24oIGVsZW0sIGlkICkgew0KCQl2YXIgZGVzY3JpYmVkYnkgPSAoZWxlbS5hdHRyKCAiYXJpYS1kZXNjcmliZWRieSIgKSB8fCAiIikuc3BsaXQoIC9ccysvICk7DQoJCWRlc2NyaWJlZGJ5LnB1c2goIGlkICk7DQoJCWVsZW0NCgkJCS5kYXRhKCAidWktdG9vbHRpcC1pZCIsIGlkICkNCgkJCS5hdHRyKCAiYXJpYS1kZXNjcmliZWRieSIsICQudHJpbSggZGVzY3JpYmVkYnkuam9pbiggIiAiICkgKSApOw0KCX0sDQoNCglfcmVtb3ZlRGVzY3JpYmVkQnk6IGZ1bmN0aW9uKCBlbGVtICkgew0KCQl2YXIgaWQgPSBlbGVtLmRhdGEoICJ1aS10b29sdGlwLWlkIiApLA0KCQkJZGVzY3JpYmVkYnkgPSAoZWxlbS5hdHRyKCAiYXJpYS1kZXNjcmliZWRieSIgKSB8fCAiIikuc3BsaXQoIC9ccysvICksDQoJCQlpbmRleCA9ICQuaW5BcnJheSggaWQsIGRlc2NyaWJlZGJ5ICk7DQoNCgkJaWYgKCBpbmRleCAhPT0gLTEgKSB7DQoJCQlkZXNjcmliZWRieS5zcGxpY2UoIGluZGV4LCAxICk7DQoJCX0NCg0KCQllbGVtLnJlbW92ZURhdGEoICJ1aS10b29sdGlwLWlkIiApOw0KCQlkZXNjcmliZWRieSA9ICQudHJpbSggZGVzY3JpYmVkYnkuam9pbiggIiAiICkgKTsNCgkJaWYgKCBkZXNjcmliZWRieSApIHsNCgkJCWVsZW0uYXR0ciggImFyaWEtZGVzY3JpYmVkYnkiLCBkZXNjcmliZWRieSApOw0KCQl9IGVsc2Ugew0KCQkJZWxlbS5yZW1vdmVBdHRyKCAiYXJpYS1kZXNjcmliZWRieSIgKTsNCgkJfQ0KCX0sDQoNCglfY3JlYXRlOiBmdW5jdGlvbigpIHsNCgkJdGhpcy5fb24oew0KCQkJbW91c2VvdmVyOiAib3BlbiIsDQoJCQlmb2N1c2luOiAib3BlbiINCgkJfSk7DQoNCgkJLy8gSURzIG9mIGdlbmVyYXRlZCB0b29sdGlwcywgbmVlZGVkIGZvciBkZXN0cm95DQoJCXRoaXMudG9vbHRpcHMgPSB7fTsNCg0KCQkvLyBJRHMgb2YgcGFyZW50IHRvb2x0aXBzIHdoZXJlIHdlIHJlbW92ZWQgdGhlIHRpdGxlIGF0dHJpYnV0ZQ0KCQl0aGlzLnBhcmVudHMgPSB7fTsNCg0KCQlpZiAoIHRoaXMub3B0aW9ucy5kaXNhYmxlZCApIHsNCgkJCXRoaXMuX2Rpc2FibGUoKTsNCgkJfQ0KDQoJCS8vIEFwcGVuZCB0aGUgYXJpYS1saXZlIHJlZ2lvbiBzbyB0b29sdGlwcyBhbm5vdW5jZSBjb3JyZWN0bHkNCgkJdGhpcy5saXZlUmVnaW9uID0gJCggIjxkaXY+IiApDQoJCQkuYXR0cih7DQoJCQkJcm9sZTogImxvZyIsDQoJCQkJImFyaWEtbGl2ZSI6ICJhc3NlcnRpdmUiLA0KCQkJCSJhcmlhLXJlbGV2YW50IjogImFkZGl0aW9ucyINCgkJCX0pDQoJCQkuYWRkQ2xhc3MoICJ1aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUiICkNCgkJCS5hcHBlbmRUbyggdGhpcy5kb2N1bWVudFsgMCBdLmJvZHkgKTsNCgl9LA0KDQoJX3NldE9wdGlvbjogZnVuY3Rpb24oIGtleSwgdmFsdWUgKSB7DQoJCXZhciB0aGF0ID0gdGhpczsNCg0KCQlpZiAoIGtleSA9PT0gImRpc2FibGVkIiApIHsNCgkJCXRoaXNbIHZhbHVlID8gIl9kaXNhYmxlIiA6ICJfZW5hYmxlIiBdKCk7DQoJCQl0aGlzLm9wdGlvbnNbIGtleSBdID0gdmFsdWU7DQoJCQkvLyBkaXNhYmxlIGVsZW1lbnQgc3R5bGUgY2hhbmdlcw0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJdGhpcy5fc3VwZXIoIGtleSwgdmFsdWUgKTsNCg0KCQlpZiAoIGtleSA9PT0gImNvbnRlbnQiICkgew0KCQkJJC5lYWNoKCB0aGlzLnRvb2x0aXBzLCBmdW5jdGlvbiggaWQsIHRvb2x0aXBEYXRhICkgew0KCQkJCXRoYXQuX3VwZGF0ZUNvbnRlbnQoIHRvb2x0aXBEYXRhLmVsZW1lbnQgKTsNCgkJCX0pOw0KCQl9DQoJfSwNCg0KCV9kaXNhYmxlOiBmdW5jdGlvbigpIHsNCgkJdmFyIHRoYXQgPSB0aGlzOw0KDQoJCS8vIGNsb3NlIG9wZW4gdG9vbHRpcHMNCgkJJC5lYWNoKCB0aGlzLnRvb2x0aXBzLCBmdW5jdGlvbiggaWQsIHRvb2x0aXBEYXRhICkgew0KCQkJdmFyIGV2ZW50ID0gJC5FdmVudCggImJsdXIiICk7DQoJCQlldmVudC50YXJnZXQgPSBldmVudC5jdXJyZW50VGFyZ2V0ID0gdG9vbHRpcERhdGEuZWxlbWVudFsgMCBdOw0KCQkJdGhhdC5jbG9zZSggZXZlbnQsIHRydWUgKTsNCgkJfSk7DQoNCgkJLy8gcmVtb3ZlIHRpdGxlIGF0dHJpYnV0ZXMgdG8gcHJldmVudCBuYXRpdmUgdG9vbHRpcHMNCgkJdGhpcy5lbGVtZW50LmZpbmQoIHRoaXMub3B0aW9ucy5pdGVtcyApLmFkZEJhY2soKS5lYWNoKGZ1bmN0aW9uKCkgew0KCQkJdmFyIGVsZW1lbnQgPSAkKCB0aGlzICk7DQoJCQlpZiAoIGVsZW1lbnQuaXMoICJbdGl0bGVdIiApICkgew0KCQkJCWVsZW1lbnQNCgkJCQkJLmRhdGEoICJ1aS10b29sdGlwLXRpdGxlIiwgZWxlbWVudC5hdHRyKCAidGl0bGUiICkgKQ0KCQkJCQkucmVtb3ZlQXR0ciggInRpdGxlIiApOw0KCQkJfQ0KCQl9KTsNCgl9LA0KDQoJX2VuYWJsZTogZnVuY3Rpb24oKSB7DQoJCS8vIHJlc3RvcmUgdGl0bGUgYXR0cmlidXRlcw0KCQl0aGlzLmVsZW1lbnQuZmluZCggdGhpcy5vcHRpb25zLml0ZW1zICkuYWRkQmFjaygpLmVhY2goZnVuY3Rpb24oKSB7DQoJCQl2YXIgZWxlbWVudCA9ICQoIHRoaXMgKTsNCgkJCWlmICggZWxlbWVudC5kYXRhKCAidWktdG9vbHRpcC10aXRsZSIgKSApIHsNCgkJCQllbGVtZW50LmF0dHIoICJ0aXRsZSIsIGVsZW1lbnQuZGF0YSggInVpLXRvb2x0aXAtdGl0bGUiICkgKTsNCgkJCX0NCgkJfSk7DQoJfSwNCg0KCW9wZW46IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdmFyIHRoYXQgPSB0aGlzLA0KCQkJdGFyZ2V0ID0gJCggZXZlbnQgPyBldmVudC50YXJnZXQgOiB0aGlzLmVsZW1lbnQgKQ0KCQkJCS8vIHdlIG5lZWQgY2xvc2VzdCBoZXJlIGR1ZSB0byBtb3VzZW92ZXIgYnViYmxpbmcsDQoJCQkJLy8gYnV0IGFsd2F5cyBwb2ludGluZyBhdCB0aGUgc2FtZSBldmVudCB0YXJnZXQNCgkJCQkuY2xvc2VzdCggdGhpcy5vcHRpb25zLml0ZW1zICk7DQoNCgkJLy8gTm8gZWxlbWVudCB0byBzaG93IGEgdG9vbHRpcCBmb3Igb3IgdGhlIHRvb2x0aXAgaXMgYWxyZWFkeSBvcGVuDQoJCWlmICggIXRhcmdldC5sZW5ndGggfHwgdGFyZ2V0LmRhdGEoICJ1aS10b29sdGlwLWlkIiApICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJaWYgKCB0YXJnZXQuYXR0ciggInRpdGxlIiApICkgew0KCQkJdGFyZ2V0LmRhdGEoICJ1aS10b29sdGlwLXRpdGxlIiwgdGFyZ2V0LmF0dHIoICJ0aXRsZSIgKSApOw0KCQl9DQoNCgkJdGFyZ2V0LmRhdGEoICJ1aS10b29sdGlwLW9wZW4iLCB0cnVlICk7DQoNCgkJLy8ga2lsbCBwYXJlbnQgdG9vbHRpcHMsIGN1c3RvbSBvciBuYXRpdmUsIGZvciBob3Zlcg0KCQlpZiAoIGV2ZW50ICYmIGV2ZW50LnR5cGUgPT09ICJtb3VzZW92ZXIiICkgew0KCQkJdGFyZ2V0LnBhcmVudHMoKS5lYWNoKGZ1bmN0aW9uKCkgew0KCQkJCXZhciBwYXJlbnQgPSAkKCB0aGlzICksDQoJCQkJCWJsdXJFdmVudDsNCgkJCQlpZiAoIHBhcmVudC5kYXRhKCAidWktdG9vbHRpcC1vcGVuIiApICkgew0KCQkJCQlibHVyRXZlbnQgPSAkLkV2ZW50KCAiYmx1ciIgKTsNCgkJCQkJYmx1ckV2ZW50LnRhcmdldCA9IGJsdXJFdmVudC5jdXJyZW50VGFyZ2V0ID0gdGhpczsNCgkJCQkJdGhhdC5jbG9zZSggYmx1ckV2ZW50LCB0cnVlICk7DQoJCQkJfQ0KCQkJCWlmICggcGFyZW50LmF0dHIoICJ0aXRsZSIgKSApIHsNCgkJCQkJcGFyZW50LnVuaXF1ZUlkKCk7DQoJCQkJCXRoYXQucGFyZW50c1sgdGhpcy5pZCBdID0gew0KCQkJCQkJZWxlbWVudDogdGhpcywNCgkJCQkJCXRpdGxlOiBwYXJlbnQuYXR0ciggInRpdGxlIiApDQoJCQkJCX07DQoJCQkJCXBhcmVudC5hdHRyKCAidGl0bGUiLCAiIiApOw0KCQkJCX0NCgkJCX0pOw0KCQl9DQoNCgkJdGhpcy5fcmVnaXN0ZXJDbG9zZUhhbmRsZXJzKCBldmVudCwgdGFyZ2V0ICk7DQoJCXRoaXMuX3VwZGF0ZUNvbnRlbnQoIHRhcmdldCwgZXZlbnQgKTsNCgl9LA0KDQoJX3VwZGF0ZUNvbnRlbnQ6IGZ1bmN0aW9uKCB0YXJnZXQsIGV2ZW50ICkgew0KCQl2YXIgY29udGVudCwNCgkJCWNvbnRlbnRPcHRpb24gPSB0aGlzLm9wdGlvbnMuY29udGVudCwNCgkJCXRoYXQgPSB0aGlzLA0KCQkJZXZlbnRUeXBlID0gZXZlbnQgPyBldmVudC50eXBlIDogbnVsbDsNCg0KCQlpZiAoIHR5cGVvZiBjb250ZW50T3B0aW9uID09PSAic3RyaW5nIiApIHsNCgkJCXJldHVybiB0aGlzLl9vcGVuKCBldmVudCwgdGFyZ2V0LCBjb250ZW50T3B0aW9uICk7DQoJCX0NCg0KCQljb250ZW50ID0gY29udGVudE9wdGlvbi5jYWxsKCB0YXJnZXRbMF0sIGZ1bmN0aW9uKCByZXNwb25zZSApIHsNCg0KCQkJLy8gSUUgbWF5IGluc3RhbnRseSBzZXJ2ZSBhIGNhY2hlZCByZXNwb25zZSBmb3IgYWpheCByZXF1ZXN0cw0KCQkJLy8gZGVsYXkgdGhpcyBjYWxsIHRvIF9vcGVuIHNvIHRoZSBvdGhlciBjYWxsIHRvIF9vcGVuIHJ1bnMgZmlyc3QNCgkJCXRoYXQuX2RlbGF5KGZ1bmN0aW9uKCkgew0KDQoJCQkJLy8gSWdub3JlIGFzeW5jIHJlc3BvbnNlIGlmIHRvb2x0aXAgd2FzIGNsb3NlZCBhbHJlYWR5DQoJCQkJaWYgKCAhdGFyZ2V0LmRhdGEoICJ1aS10b29sdGlwLW9wZW4iICkgKSB7DQoJCQkJCXJldHVybjsNCgkJCQl9DQoNCgkJCQkvLyBqUXVlcnkgY3JlYXRlcyBhIHNwZWNpYWwgZXZlbnQgZm9yIGZvY3VzaW4gd2hlbiBpdCBkb2Vzbid0DQoJCQkJLy8gZXhpc3QgbmF0aXZlbHkuIFRvIGltcHJvdmUgcGVyZm9ybWFuY2UsIHRoZSBuYXRpdmUgZXZlbnQNCgkJCQkvLyBvYmplY3QgaXMgcmV1c2VkIGFuZCB0aGUgdHlwZSBpcyBjaGFuZ2VkLiBUaGVyZWZvcmUsIHdlIGNhbid0DQoJCQkJLy8gcmVseSBvbiB0aGUgdHlwZSBiZWluZyBjb3JyZWN0IGFmdGVyIHRoZSBldmVudCBmaW5pc2hlZA0KCQkJCS8vIGJ1YmJsaW5nLCBzbyB3ZSBzZXQgaXQgYmFjayB0byB0aGUgcHJldmlvdXMgdmFsdWUuICgjODc0MCkNCgkJCQlpZiAoIGV2ZW50ICkgew0KCQkJCQlldmVudC50eXBlID0gZXZlbnRUeXBlOw0KCQkJCX0NCgkJCQl0aGlzLl9vcGVuKCBldmVudCwgdGFyZ2V0LCByZXNwb25zZSApOw0KCQkJfSk7DQoJCX0pOw0KCQlpZiAoIGNvbnRlbnQgKSB7DQoJCQl0aGlzLl9vcGVuKCBldmVudCwgdGFyZ2V0LCBjb250ZW50ICk7DQoJCX0NCgl9LA0KDQoJX29wZW46IGZ1bmN0aW9uKCBldmVudCwgdGFyZ2V0LCBjb250ZW50ICkgew0KCQl2YXIgdG9vbHRpcERhdGEsIHRvb2x0aXAsIGRlbGF5ZWRTaG93LCBhMTF5Q29udGVudCwNCgkJCXBvc2l0aW9uT3B0aW9uID0gJC5leHRlbmQoIHt9LCB0aGlzLm9wdGlvbnMucG9zaXRpb24gKTsNCg0KCQlpZiAoICFjb250ZW50ICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJLy8gQ29udGVudCBjYW4gYmUgdXBkYXRlZCBtdWx0aXBsZSB0aW1lcy4gSWYgdGhlIHRvb2x0aXAgYWxyZWFkeQ0KCQkvLyBleGlzdHMsIHRoZW4ganVzdCB1cGRhdGUgdGhlIGNvbnRlbnQgYW5kIGJhaWwuDQoJCXRvb2x0aXBEYXRhID0gdGhpcy5fZmluZCggdGFyZ2V0ICk7DQoJCWlmICggdG9vbHRpcERhdGEgKSB7DQoJCQl0b29sdGlwRGF0YS50b29sdGlwLmZpbmQoICIudWktdG9vbHRpcC1jb250ZW50IiApLmh0bWwoIGNvbnRlbnQgKTsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCS8vIGlmIHdlIGhhdmUgYSB0aXRsZSwgY2xlYXIgaXQgdG8gcHJldmVudCB0aGUgbmF0aXZlIHRvb2x0aXANCgkJLy8gd2UgaGF2ZSB0byBjaGVjayBmaXJzdCB0byBhdm9pZCBkZWZpbmluZyBhIHRpdGxlIGlmIG5vbmUgZXhpc3RzDQoJCS8vICh3ZSBkb24ndCB3YW50IHRvIGNhdXNlIGFuIGVsZW1lbnQgdG8gc3RhcnQgbWF0Y2hpbmcgW3RpdGxlXSkNCgkJLy8NCgkJLy8gV2UgdXNlIHJlbW92ZUF0dHIgb25seSBmb3Iga2V5IGV2ZW50cywgdG8gYWxsb3cgSUUgdG8gZXhwb3J0IHRoZSBjb3JyZWN0DQoJCS8vIGFjY2Vzc2libGUgYXR0cmlidXRlcy4gRm9yIG1vdXNlIGV2ZW50cywgc2V0IHRvIGVtcHR5IHN0cmluZyB0byBhdm9pZA0KCQkvLyBuYXRpdmUgdG9vbHRpcCBzaG93aW5nIHVwIChoYXBwZW5zIG9ubHkgd2hlbiByZW1vdmluZyBpbnNpZGUgbW91c2VvdmVyKS4NCgkJaWYgKCB0YXJnZXQuaXMoICJbdGl0bGVdIiApICkgew0KCQkJaWYgKCBldmVudCAmJiBldmVudC50eXBlID09PSAibW91c2VvdmVyIiApIHsNCgkJCQl0YXJnZXQuYXR0ciggInRpdGxlIiwgIiIgKTsNCgkJCX0gZWxzZSB7DQoJCQkJdGFyZ2V0LnJlbW92ZUF0dHIoICJ0aXRsZSIgKTsNCgkJCX0NCgkJfQ0KDQoJCXRvb2x0aXBEYXRhID0gdGhpcy5fdG9vbHRpcCggdGFyZ2V0ICk7DQoJCXRvb2x0aXAgPSB0b29sdGlwRGF0YS50b29sdGlwOw0KCQl0aGlzLl9hZGREZXNjcmliZWRCeSggdGFyZ2V0LCB0b29sdGlwLmF0dHIoICJpZCIgKSApOw0KCQl0b29sdGlwLmZpbmQoICIudWktdG9vbHRpcC1jb250ZW50IiApLmh0bWwoIGNvbnRlbnQgKTsNCg0KCQkvLyBTdXBwb3J0OiBWb2ljZW92ZXIgb24gT1MgWCwgSkFXUyBvbiBJRSA8PSA5DQoJCS8vIEpBV1MgYW5ub3VuY2VzIGRlbGV0aW9ucyBldmVuIHdoZW4gYXJpYS1yZWxldmFudD0iYWRkaXRpb25zIg0KCQkvLyBWb2ljZW92ZXIgd2lsbCBzb21ldGltZXMgcmUtcmVhZCB0aGUgZW50aXJlIGxvZyByZWdpb24ncyBjb250ZW50cyBmcm9tIHRoZSBiZWdpbm5pbmcNCgkJdGhpcy5saXZlUmVnaW9uLmNoaWxkcmVuKCkuaGlkZSgpOw0KCQlpZiAoIGNvbnRlbnQuY2xvbmUgKSB7DQoJCQlhMTF5Q29udGVudCA9IGNvbnRlbnQuY2xvbmUoKTsNCgkJCWExMXlDb250ZW50LnJlbW92ZUF0dHIoICJpZCIgKS5maW5kKCAiW2lkXSIgKS5yZW1vdmVBdHRyKCAiaWQiICk7DQoJCX0gZWxzZSB7DQoJCQlhMTF5Q29udGVudCA9IGNvbnRlbnQ7DQoJCX0NCgkJJCggIjxkaXY+IiApLmh0bWwoIGExMXlDb250ZW50ICkuYXBwZW5kVG8oIHRoaXMubGl2ZVJlZ2lvbiApOw0KDQoJCWZ1bmN0aW9uIHBvc2l0aW9uKCBldmVudCApIHsNCgkJCXBvc2l0aW9uT3B0aW9uLm9mID0gZXZlbnQ7DQoJCQlpZiAoIHRvb2x0aXAuaXMoICI6aGlkZGVuIiApICkgew0KCQkJCXJldHVybjsNCgkJCX0NCgkJCXRvb2x0aXAucG9zaXRpb24oIHBvc2l0aW9uT3B0aW9uICk7DQoJCX0NCgkJaWYgKCB0aGlzLm9wdGlvbnMudHJhY2sgJiYgZXZlbnQgJiYgL15tb3VzZS8udGVzdCggZXZlbnQudHlwZSApICkgew0KCQkJdGhpcy5fb24oIHRoaXMuZG9jdW1lbnQsIHsNCgkJCQltb3VzZW1vdmU6IHBvc2l0aW9uDQoJCQl9KTsNCgkJCS8vIHRyaWdnZXIgb25jZSB0byBvdmVycmlkZSBlbGVtZW50LXJlbGF0aXZlIHBvc2l0aW9uaW5nDQoJCQlwb3NpdGlvbiggZXZlbnQgKTsNCgkJfSBlbHNlIHsNCgkJCXRvb2x0aXAucG9zaXRpb24oICQuZXh0ZW5kKHsNCgkJCQlvZjogdGFyZ2V0DQoJCQl9LCB0aGlzLm9wdGlvbnMucG9zaXRpb24gKSApOw0KCQl9DQoNCgkJdG9vbHRpcC5oaWRlKCk7DQoNCgkJdGhpcy5fc2hvdyggdG9vbHRpcCwgdGhpcy5vcHRpb25zLnNob3cgKTsNCgkJLy8gSGFuZGxlIHRyYWNraW5nIHRvb2x0aXBzIHRoYXQgYXJlIHNob3duIHdpdGggYSBkZWxheSAoIzg2NDQpLiBBcyBzb29uDQoJCS8vIGFzIHRoZSB0b29sdGlwIGlzIHZpc2libGUsIHBvc2l0aW9uIHRoZSB0b29sdGlwIHVzaW5nIHRoZSBtb3N0IHJlY2VudA0KCQkvLyBldmVudC4NCgkJaWYgKCB0aGlzLm9wdGlvbnMuc2hvdyAmJiB0aGlzLm9wdGlvbnMuc2hvdy5kZWxheSApIHsNCgkJCWRlbGF5ZWRTaG93ID0gdGhpcy5kZWxheWVkU2hvdyA9IHNldEludGVydmFsKGZ1bmN0aW9uKCkgew0KCQkJCWlmICggdG9vbHRpcC5pcyggIjp2aXNpYmxlIiApICkgew0KCQkJCQlwb3NpdGlvbiggcG9zaXRpb25PcHRpb24ub2YgKTsNCgkJCQkJY2xlYXJJbnRlcnZhbCggZGVsYXllZFNob3cgKTsNCgkJCQl9DQoJCQl9LCAkLmZ4LmludGVydmFsICk7DQoJCX0NCg0KCQl0aGlzLl90cmlnZ2VyKCAib3BlbiIsIGV2ZW50LCB7IHRvb2x0aXA6IHRvb2x0aXAgfSApOw0KCX0sDQoNCglfcmVnaXN0ZXJDbG9zZUhhbmRsZXJzOiBmdW5jdGlvbiggZXZlbnQsIHRhcmdldCApIHsNCgkJdmFyIGV2ZW50cyA9IHsNCgkJCWtleXVwOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQkJaWYgKCBldmVudC5rZXlDb2RlID09PSAkLnVpLmtleUNvZGUuRVNDQVBFICkgew0KCQkJCQl2YXIgZmFrZUV2ZW50ID0gJC5FdmVudChldmVudCk7DQoJCQkJCWZha2VFdmVudC5jdXJyZW50VGFyZ2V0ID0gdGFyZ2V0WzBdOw0KCQkJCQl0aGlzLmNsb3NlKCBmYWtlRXZlbnQsIHRydWUgKTsNCgkJCQl9DQoJCQl9DQoJCX07DQoNCgkJLy8gT25seSBiaW5kIHJlbW92ZSBoYW5kbGVyIGZvciBkZWxlZ2F0ZWQgdGFyZ2V0cy4gTm9uLWRlbGVnYXRlZA0KCQkvLyB0b29sdGlwcyB3aWxsIGhhbmRsZSB0aGlzIGluIGRlc3Ryb3kuDQoJCWlmICggdGFyZ2V0WyAwIF0gIT09IHRoaXMuZWxlbWVudFsgMCBdICkgew0KCQkJZXZlbnRzLnJlbW92ZSA9IGZ1bmN0aW9uKCkgew0KCQkJCXRoaXMuX3JlbW92ZVRvb2x0aXAoIHRoaXMuX2ZpbmQoIHRhcmdldCApLnRvb2x0aXAgKTsNCgkJCX07DQoJCX0NCg0KCQlpZiAoICFldmVudCB8fCBldmVudC50eXBlID09PSAibW91c2VvdmVyIiApIHsNCgkJCWV2ZW50cy5tb3VzZWxlYXZlID0gImNsb3NlIjsNCgkJfQ0KCQlpZiAoICFldmVudCB8fCBldmVudC50eXBlID09PSAiZm9jdXNpbiIgKSB7DQoJCQlldmVudHMuZm9jdXNvdXQgPSAiY2xvc2UiOw0KCQl9DQoJCXRoaXMuX29uKCB0cnVlLCB0YXJnZXQsIGV2ZW50cyApOw0KCX0sDQoNCgljbG9zZTogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl2YXIgdG9vbHRpcCwNCgkJCXRoYXQgPSB0aGlzLA0KCQkJdGFyZ2V0ID0gJCggZXZlbnQgPyBldmVudC5jdXJyZW50VGFyZ2V0IDogdGhpcy5lbGVtZW50ICksDQoJCQl0b29sdGlwRGF0YSA9IHRoaXMuX2ZpbmQoIHRhcmdldCApOw0KDQoJCS8vIFRoZSB0b29sdGlwIG1heSBhbHJlYWR5IGJlIGNsb3NlZA0KCQlpZiAoICF0b29sdGlwRGF0YSApIHsNCg0KCQkJLy8gV2Ugc2V0IHVpLXRvb2x0aXAtb3BlbiBpbW1lZGlhdGVseSB1cG9uIG9wZW4gKGluIG9wZW4oKSksIGJ1dCBvbmx5IHNldCB0aGUNCgkJCS8vIGFkZGl0aW9uYWwgZGF0YSBvbmNlIHRoZXJlJ3MgYWN0dWFsbHkgY29udGVudCB0byBzaG93IChpbiBfb3BlbigpKS4gU28gZXZlbiBpZiB0aGUNCgkJCS8vIHRvb2x0aXAgZG9lc24ndCBoYXZlIGZ1bGwgZGF0YSwgd2UgYWx3YXlzIHJlbW92ZSB1aS10b29sdGlwLW9wZW4gaW4gY2FzZSB3ZSdyZSBpbg0KCQkJLy8gdGhlIHBlcmlvZCBiZXR3ZWVuIG9wZW4oKSBhbmQgX29wZW4oKS4NCgkJCXRhcmdldC5yZW1vdmVEYXRhKCAidWktdG9vbHRpcC1vcGVuIiApOw0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJdG9vbHRpcCA9IHRvb2x0aXBEYXRhLnRvb2x0aXA7DQoNCgkJLy8gZGlzYWJsaW5nIGNsb3NlcyB0aGUgdG9vbHRpcCwgc28gd2UgbmVlZCB0byB0cmFjayB3aGVuIHdlJ3JlIGNsb3NpbmcNCgkJLy8gdG8gYXZvaWQgYW4gaW5maW5pdGUgbG9vcCBpbiBjYXNlIHRoZSB0b29sdGlwIGJlY29tZXMgZGlzYWJsZWQgb24gY2xvc2UNCgkJaWYgKCB0b29sdGlwRGF0YS5jbG9zaW5nICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJLy8gQ2xlYXIgdGhlIGludGVydmFsIGZvciBkZWxheWVkIHRyYWNraW5nIHRvb2x0aXBzDQoJCWNsZWFySW50ZXJ2YWwoIHRoaXMuZGVsYXllZFNob3cgKTsNCg0KCQkvLyBvbmx5IHNldCB0aXRsZSBpZiB3ZSBoYWQgb25lIGJlZm9yZSAoc2VlIGNvbW1lbnQgaW4gX29wZW4oKSkNCgkJLy8gSWYgdGhlIHRpdGxlIGF0dHJpYnV0ZSBoYXMgY2hhbmdlZCBzaW5jZSBvcGVuKCksIGRvbid0IHJlc3RvcmUNCgkJaWYgKCB0YXJnZXQuZGF0YSggInVpLXRvb2x0aXAtdGl0bGUiICkgJiYgIXRhcmdldC5hdHRyKCAidGl0bGUiICkgKSB7DQoJCQl0YXJnZXQuYXR0ciggInRpdGxlIiwgdGFyZ2V0LmRhdGEoICJ1aS10b29sdGlwLXRpdGxlIiApICk7DQoJCX0NCg0KCQl0aGlzLl9yZW1vdmVEZXNjcmliZWRCeSggdGFyZ2V0ICk7DQoNCgkJdG9vbHRpcERhdGEuaGlkaW5nID0gdHJ1ZTsNCgkJdG9vbHRpcC5zdG9wKCB0cnVlICk7DQoJCXRoaXMuX2hpZGUoIHRvb2x0aXAsIHRoaXMub3B0aW9ucy5oaWRlLCBmdW5jdGlvbigpIHsNCgkJCXRoYXQuX3JlbW92ZVRvb2x0aXAoICQoIHRoaXMgKSApOw0KCQl9KTsNCg0KCQl0YXJnZXQucmVtb3ZlRGF0YSggInVpLXRvb2x0aXAtb3BlbiIgKTsNCgkJdGhpcy5fb2ZmKCB0YXJnZXQsICJtb3VzZWxlYXZlIGZvY3Vzb3V0IGtleXVwIiApOw0KDQoJCS8vIFJlbW92ZSAncmVtb3ZlJyBiaW5kaW5nIG9ubHkgb24gZGVsZWdhdGVkIHRhcmdldHMNCgkJaWYgKCB0YXJnZXRbIDAgXSAhPT0gdGhpcy5lbGVtZW50WyAwIF0gKSB7DQoJCQl0aGlzLl9vZmYoIHRhcmdldCwgInJlbW92ZSIgKTsNCgkJfQ0KCQl0aGlzLl9vZmYoIHRoaXMuZG9jdW1lbnQsICJtb3VzZW1vdmUiICk7DQoNCgkJaWYgKCBldmVudCAmJiBldmVudC50eXBlID09PSAibW91c2VsZWF2ZSIgKSB7DQoJCQkkLmVhY2goIHRoaXMucGFyZW50cywgZnVuY3Rpb24oIGlkLCBwYXJlbnQgKSB7DQoJCQkJJCggcGFyZW50LmVsZW1lbnQgKS5hdHRyKCAidGl0bGUiLCBwYXJlbnQudGl0bGUgKTsNCgkJCQlkZWxldGUgdGhhdC5wYXJlbnRzWyBpZCBdOw0KCQkJfSk7DQoJCX0NCg0KCQl0b29sdGlwRGF0YS5jbG9zaW5nID0gdHJ1ZTsNCgkJdGhpcy5fdHJpZ2dlciggImNsb3NlIiwgZXZlbnQsIHsgdG9vbHRpcDogdG9vbHRpcCB9ICk7DQoJCWlmICggIXRvb2x0aXBEYXRhLmhpZGluZyApIHsNCgkJCXRvb2x0aXBEYXRhLmNsb3NpbmcgPSBmYWxzZTsNCgkJfQ0KCX0sDQoNCglfdG9vbHRpcDogZnVuY3Rpb24oIGVsZW1lbnQgKSB7DQoJCXZhciB0b29sdGlwID0gJCggIjxkaXY+IiApDQoJCQkJLmF0dHIoICJyb2xlIiwgInRvb2x0aXAiICkNCgkJCQkuYWRkQ2xhc3MoICJ1aS10b29sdGlwIHVpLXdpZGdldCB1aS1jb3JuZXItYWxsIHVpLXdpZGdldC1jb250ZW50ICIgKw0KCQkJCQkoIHRoaXMub3B0aW9ucy50b29sdGlwQ2xhc3MgfHwgIiIgKSApLA0KCQkJaWQgPSB0b29sdGlwLnVuaXF1ZUlkKCkuYXR0ciggImlkIiApOw0KDQoJCSQoICI8ZGl2PiIgKQ0KCQkJLmFkZENsYXNzKCAidWktdG9vbHRpcC1jb250ZW50IiApDQoJCQkuYXBwZW5kVG8oIHRvb2x0aXAgKTsNCg0KCQl0b29sdGlwLmFwcGVuZFRvKCB0aGlzLmRvY3VtZW50WzBdLmJvZHkgKTsNCg0KCQlyZXR1cm4gdGhpcy50b29sdGlwc1sgaWQgXSA9IHsNCgkJCWVsZW1lbnQ6IGVsZW1lbnQsDQoJCQl0b29sdGlwOiB0b29sdGlwDQoJCX07DQoJfSwNCg0KCV9maW5kOiBmdW5jdGlvbiggdGFyZ2V0ICkgew0KCQl2YXIgaWQgPSB0YXJnZXQuZGF0YSggInVpLXRvb2x0aXAtaWQiICk7DQoJCXJldHVybiBpZCA/IHRoaXMudG9vbHRpcHNbIGlkIF0gOiBudWxsOw0KCX0sDQoNCglfcmVtb3ZlVG9vbHRpcDogZnVuY3Rpb24oIHRvb2x0aXAgKSB7DQoJCXRvb2x0aXAucmVtb3ZlKCk7DQoJCWRlbGV0ZSB0aGlzLnRvb2x0aXBzWyB0b29sdGlwLmF0dHIoICJpZCIgKSBdOw0KCX0sDQoNCglfZGVzdHJveTogZnVuY3Rpb24oKSB7DQoJCXZhciB0aGF0ID0gdGhpczsNCg0KCQkvLyBjbG9zZSBvcGVuIHRvb2x0aXBzDQoJCSQuZWFjaCggdGhpcy50b29sdGlwcywgZnVuY3Rpb24oIGlkLCB0b29sdGlwRGF0YSApIHsNCgkJCS8vIERlbGVnYXRlIHRvIGNsb3NlIG1ldGhvZCB0byBoYW5kbGUgY29tbW9uIGNsZWFudXANCgkJCXZhciBldmVudCA9ICQuRXZlbnQoICJibHVyIiApLA0KCQkJCWVsZW1lbnQgPSB0b29sdGlwRGF0YS5lbGVtZW50Ow0KCQkJZXZlbnQudGFyZ2V0ID0gZXZlbnQuY3VycmVudFRhcmdldCA9IGVsZW1lbnRbIDAgXTsNCgkJCXRoYXQuY2xvc2UoIGV2ZW50LCB0cnVlICk7DQoNCgkJCS8vIFJlbW92ZSBpbW1lZGlhdGVseTsgZGVzdHJveWluZyBhbiBvcGVuIHRvb2x0aXAgZG9lc24ndCB1c2UgdGhlDQoJCQkvLyBoaWRlIGFuaW1hdGlvbg0KCQkJJCggIiMiICsgaWQgKS5yZW1vdmUoKTsNCg0KCQkJLy8gUmVzdG9yZSB0aGUgdGl0bGUNCgkJCWlmICggZWxlbWVudC5kYXRhKCAidWktdG9vbHRpcC10aXRsZSIgKSApIHsNCgkJCQkvLyBJZiB0aGUgdGl0bGUgYXR0cmlidXRlIGhhcyBjaGFuZ2VkIHNpbmNlIG9wZW4oKSwgZG9uJ3QgcmVzdG9yZQ0KCQkJCWlmICggIWVsZW1lbnQuYXR0ciggInRpdGxlIiApICkgew0KCQkJCQllbGVtZW50LmF0dHIoICJ0aXRsZSIsIGVsZW1lbnQuZGF0YSggInVpLXRvb2x0aXAtdGl0bGUiICkgKTsNCgkJCQl9DQoJCQkJZWxlbWVudC5yZW1vdmVEYXRhKCAidWktdG9vbHRpcC10aXRsZSIgKTsNCgkJCX0NCgkJfSk7DQoJCXRoaXMubGl2ZVJlZ2lvbi5yZW1vdmUoKTsNCgl9DQp9KTsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBFZmZlY3RzIDEuMTEuNA0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKg0KICogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vY2F0ZWdvcnkvZWZmZWN0cy1jb3JlLw0KICovDQoNCg0KdmFyIGRhdGFTcGFjZSA9ICJ1aS1lZmZlY3RzLSIsDQoNCgkvLyBDcmVhdGUgYSBsb2NhbCBqUXVlcnkgYmVjYXVzZSBqUXVlcnkgQ29sb3IgcmVsaWVzIG9uIGl0IGFuZCB0aGUNCgkvLyBnbG9iYWwgbWF5IG5vdCBleGlzdCB3aXRoIEFNRCBhbmQgYSBjdXN0b20gYnVpbGQgKCMxMDE5OSkNCglqUXVlcnkgPSAkOw0KDQokLmVmZmVjdHMgPSB7DQoJZWZmZWN0OiB7fQ0KfTsNCg0KLyohDQogKiBqUXVlcnkgQ29sb3IgQW5pbWF0aW9ucyB2Mi4xLjINCiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9qcXVlcnkvanF1ZXJ5LWNvbG9yDQogKg0KICogQ29weXJpZ2h0IDIwMTQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICoNCiAqIERhdGU6IFdlZCBKYW4gMTYgMDg6NDc6MDkgMjAxMyAtMDYwMA0KICovDQooZnVuY3Rpb24oIGpRdWVyeSwgdW5kZWZpbmVkICkgew0KDQoJdmFyIHN0ZXBIb29rcyA9ICJiYWNrZ3JvdW5kQ29sb3IgYm9yZGVyQm90dG9tQ29sb3IgYm9yZGVyTGVmdENvbG9yIGJvcmRlclJpZ2h0Q29sb3IgYm9yZGVyVG9wQ29sb3IgY29sb3IgY29sdW1uUnVsZUNvbG9yIG91dGxpbmVDb2xvciB0ZXh0RGVjb3JhdGlvbkNvbG9yIHRleHRFbXBoYXNpc0NvbG9yIiwNCg0KCS8vIHBsdXNlcXVhbHMgdGVzdCBmb3IgKz0gMTAwIC09IDEwMA0KCXJwbHVzZXF1YWxzID0gL14oW1wtK10pPVxzKihcZCtcLj9cZCopLywNCgkvLyBhIHNldCBvZiBSRSdzIHRoYXQgY2FuIG1hdGNoIHN0cmluZ3MgYW5kIGdlbmVyYXRlIGNvbG9yIHR1cGxlcy4NCglzdHJpbmdQYXJzZXJzID0gWyB7DQoJCQlyZTogL3JnYmE/XChccyooXGR7MSwzfSlccyosXHMqKFxkezEsM30pXHMqLFxzKihcZHsxLDN9KVxzKig/OixccyooXGQ/KD86XC5cZCspPylccyopP1wpLywNCgkJCXBhcnNlOiBmdW5jdGlvbiggZXhlY1Jlc3VsdCApIHsNCgkJCQlyZXR1cm4gWw0KCQkJCQlleGVjUmVzdWx0WyAxIF0sDQoJCQkJCWV4ZWNSZXN1bHRbIDIgXSwNCgkJCQkJZXhlY1Jlc3VsdFsgMyBdLA0KCQkJCQlleGVjUmVzdWx0WyA0IF0NCgkJCQldOw0KCQkJfQ0KCQl9LCB7DQoJCQlyZTogL3JnYmE/XChccyooXGQrKD86XC5cZCspPylcJVxzKixccyooXGQrKD86XC5cZCspPylcJVxzKixccyooXGQrKD86XC5cZCspPylcJVxzKig/OixccyooXGQ/KD86XC5cZCspPylccyopP1wpLywNCgkJCXBhcnNlOiBmdW5jdGlvbiggZXhlY1Jlc3VsdCApIHsNCgkJCQlyZXR1cm4gWw0KCQkJCQlleGVjUmVzdWx0WyAxIF0gKiAyLjU1LA0KCQkJCQlleGVjUmVzdWx0WyAyIF0gKiAyLjU1LA0KCQkJCQlleGVjUmVzdWx0WyAzIF0gKiAyLjU1LA0KCQkJCQlleGVjUmVzdWx0WyA0IF0NCgkJCQldOw0KCQkJfQ0KCQl9LCB7DQoJCQkvLyB0aGlzIHJlZ2V4IGlnbm9yZXMgQS1GIGJlY2F1c2UgaXQncyBjb21wYXJlZCBhZ2FpbnN0IGFuIGFscmVhZHkgbG93ZXJjYXNlZCBzdHJpbmcNCgkJCXJlOiAvIyhbYS1mMC05XXsyfSkoW2EtZjAtOV17Mn0pKFthLWYwLTldezJ9KS8sDQoJCQlwYXJzZTogZnVuY3Rpb24oIGV4ZWNSZXN1bHQgKSB7DQoJCQkJcmV0dXJuIFsNCgkJCQkJcGFyc2VJbnQoIGV4ZWNSZXN1bHRbIDEgXSwgMTYgKSwNCgkJCQkJcGFyc2VJbnQoIGV4ZWNSZXN1bHRbIDIgXSwgMTYgKSwNCgkJCQkJcGFyc2VJbnQoIGV4ZWNSZXN1bHRbIDMgXSwgMTYgKQ0KCQkJCV07DQoJCQl9DQoJCX0sIHsNCgkJCS8vIHRoaXMgcmVnZXggaWdub3JlcyBBLUYgYmVjYXVzZSBpdCdzIGNvbXBhcmVkIGFnYWluc3QgYW4gYWxyZWFkeSBsb3dlcmNhc2VkIHN0cmluZw0KCQkJcmU6IC8jKFthLWYwLTldKShbYS1mMC05XSkoW2EtZjAtOV0pLywNCgkJCXBhcnNlOiBmdW5jdGlvbiggZXhlY1Jlc3VsdCApIHsNCgkJCQlyZXR1cm4gWw0KCQkJCQlwYXJzZUludCggZXhlY1Jlc3VsdFsgMSBdICsgZXhlY1Jlc3VsdFsgMSBdLCAxNiApLA0KCQkJCQlwYXJzZUludCggZXhlY1Jlc3VsdFsgMiBdICsgZXhlY1Jlc3VsdFsgMiBdLCAxNiApLA0KCQkJCQlwYXJzZUludCggZXhlY1Jlc3VsdFsgMyBdICsgZXhlY1Jlc3VsdFsgMyBdLCAxNiApDQoJCQkJXTsNCgkJCX0NCgkJfSwgew0KCQkJcmU6IC9oc2xhP1woXHMqKFxkKyg/OlwuXGQrKT8pXHMqLFxzKihcZCsoPzpcLlxkKyk/KVwlXHMqLFxzKihcZCsoPzpcLlxkKyk/KVwlXHMqKD86LFxzKihcZD8oPzpcLlxkKyk/KVxzKik/XCkvLA0KCQkJc3BhY2U6ICJoc2xhIiwNCgkJCXBhcnNlOiBmdW5jdGlvbiggZXhlY1Jlc3VsdCApIHsNCgkJCQlyZXR1cm4gWw0KCQkJCQlleGVjUmVzdWx0WyAxIF0sDQoJCQkJCWV4ZWNSZXN1bHRbIDIgXSAvIDEwMCwNCgkJCQkJZXhlY1Jlc3VsdFsgMyBdIC8gMTAwLA0KCQkJCQlleGVjUmVzdWx0WyA0IF0NCgkJCQldOw0KCQkJfQ0KCQl9IF0sDQoNCgkvLyBqUXVlcnkuQ29sb3IoICkNCgljb2xvciA9IGpRdWVyeS5Db2xvciA9IGZ1bmN0aW9uKCBjb2xvciwgZ3JlZW4sIGJsdWUsIGFscGhhICkgew0KCQlyZXR1cm4gbmV3IGpRdWVyeS5Db2xvci5mbi5wYXJzZSggY29sb3IsIGdyZWVuLCBibHVlLCBhbHBoYSApOw0KCX0sDQoJc3BhY2VzID0gew0KCQlyZ2JhOiB7DQoJCQlwcm9wczogew0KCQkJCXJlZDogew0KCQkJCQlpZHg6IDAsDQoJCQkJCXR5cGU6ICJieXRlIg0KCQkJCX0sDQoJCQkJZ3JlZW46IHsNCgkJCQkJaWR4OiAxLA0KCQkJCQl0eXBlOiAiYnl0ZSINCgkJCQl9LA0KCQkJCWJsdWU6IHsNCgkJCQkJaWR4OiAyLA0KCQkJCQl0eXBlOiAiYnl0ZSINCgkJCQl9DQoJCQl9DQoJCX0sDQoNCgkJaHNsYTogew0KCQkJcHJvcHM6IHsNCgkJCQlodWU6IHsNCgkJCQkJaWR4OiAwLA0KCQkJCQl0eXBlOiAiZGVncmVlcyINCgkJCQl9LA0KCQkJCXNhdHVyYXRpb246IHsNCgkJCQkJaWR4OiAxLA0KCQkJCQl0eXBlOiAicGVyY2VudCINCgkJCQl9LA0KCQkJCWxpZ2h0bmVzczogew0KCQkJCQlpZHg6IDIsDQoJCQkJCXR5cGU6ICJwZXJjZW50Ig0KCQkJCX0NCgkJCX0NCgkJfQ0KCX0sDQoJcHJvcFR5cGVzID0gew0KCQkiYnl0ZSI6IHsNCgkJCWZsb29yOiB0cnVlLA0KCQkJbWF4OiAyNTUNCgkJfSwNCgkJInBlcmNlbnQiOiB7DQoJCQltYXg6IDENCgkJfSwNCgkJImRlZ3JlZXMiOiB7DQoJCQltb2Q6IDM2MCwNCgkJCWZsb29yOiB0cnVlDQoJCX0NCgl9LA0KCXN1cHBvcnQgPSBjb2xvci5zdXBwb3J0ID0ge30sDQoNCgkvLyBlbGVtZW50IGZvciBzdXBwb3J0IHRlc3RzDQoJc3VwcG9ydEVsZW0gPSBqUXVlcnkoICI8cD4iIClbIDAgXSwNCg0KCS8vIGNvbG9ycyA9IGpRdWVyeS5Db2xvci5uYW1lcw0KCWNvbG9ycywNCg0KCS8vIGxvY2FsIGFsaWFzZXMgb2YgZnVuY3Rpb25zIGNhbGxlZCBvZnRlbg0KCWVhY2ggPSBqUXVlcnkuZWFjaDsNCg0KLy8gZGV0ZXJtaW5lIHJnYmEgc3VwcG9ydCBpbW1lZGlhdGVseQ0Kc3VwcG9ydEVsZW0uc3R5bGUuY3NzVGV4dCA9ICJiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMSwxLDEsLjUpIjsNCnN1cHBvcnQucmdiYSA9IHN1cHBvcnRFbGVtLnN0eWxlLmJhY2tncm91bmRDb2xvci5pbmRleE9mKCAicmdiYSIgKSA+IC0xOw0KDQovLyBkZWZpbmUgY2FjaGUgbmFtZSBhbmQgYWxwaGEgcHJvcGVydGllcw0KLy8gZm9yIHJnYmEgYW5kIGhzbGEgc3BhY2VzDQplYWNoKCBzcGFjZXMsIGZ1bmN0aW9uKCBzcGFjZU5hbWUsIHNwYWNlICkgew0KCXNwYWNlLmNhY2hlID0gIl8iICsgc3BhY2VOYW1lOw0KCXNwYWNlLnByb3BzLmFscGhhID0gew0KCQlpZHg6IDMsDQoJCXR5cGU6ICJwZXJjZW50IiwNCgkJZGVmOiAxDQoJfTsNCn0pOw0KDQpmdW5jdGlvbiBjbGFtcCggdmFsdWUsIHByb3AsIGFsbG93RW1wdHkgKSB7DQoJdmFyIHR5cGUgPSBwcm9wVHlwZXNbIHByb3AudHlwZSBdIHx8IHt9Ow0KDQoJaWYgKCB2YWx1ZSA9PSBudWxsICkgew0KCQlyZXR1cm4gKGFsbG93RW1wdHkgfHwgIXByb3AuZGVmKSA/IG51bGwgOiBwcm9wLmRlZjsNCgl9DQoNCgkvLyB+fiBpcyBhbiBzaG9ydCB3YXkgb2YgZG9pbmcgZmxvb3IgZm9yIHBvc2l0aXZlIG51bWJlcnMNCgl2YWx1ZSA9IHR5cGUuZmxvb3IgPyB+fnZhbHVlIDogcGFyc2VGbG9hdCggdmFsdWUgKTsNCg0KCS8vIElFIHdpbGwgcGFzcyBpbiBlbXB0eSBzdHJpbmdzIGFzIHZhbHVlIGZvciBhbHBoYSwNCgkvLyB3aGljaCB3aWxsIGhpdCB0aGlzIGNhc2UNCglpZiAoIGlzTmFOKCB2YWx1ZSApICkgew0KCQlyZXR1cm4gcHJvcC5kZWY7DQoJfQ0KDQoJaWYgKCB0eXBlLm1vZCApIHsNCgkJLy8gd2UgYWRkIG1vZCBiZWZvcmUgbW9kZGluZyB0byBtYWtlIHN1cmUgdGhhdCBuZWdhdGl2ZXMgdmFsdWVzDQoJCS8vIGdldCBjb252ZXJ0ZWQgcHJvcGVybHk6IC0xMCAtPiAzNTANCgkJcmV0dXJuICh2YWx1ZSArIHR5cGUubW9kKSAlIHR5cGUubW9kOw0KCX0NCg0KCS8vIGZvciBub3cgYWxsIHByb3BlcnR5IHR5cGVzIHdpdGhvdXQgbW9kIGhhdmUgbWluIGFuZCBtYXgNCglyZXR1cm4gMCA+IHZhbHVlID8gMCA6IHR5cGUubWF4IDwgdmFsdWUgPyB0eXBlLm1heCA6IHZhbHVlOw0KfQ0KDQpmdW5jdGlvbiBzdHJpbmdQYXJzZSggc3RyaW5nICkgew0KCXZhciBpbnN0ID0gY29sb3IoKSwNCgkJcmdiYSA9IGluc3QuX3JnYmEgPSBbXTsNCg0KCXN0cmluZyA9IHN0cmluZy50b0xvd2VyQ2FzZSgpOw0KDQoJZWFjaCggc3RyaW5nUGFyc2VycywgZnVuY3Rpb24oIGksIHBhcnNlciApIHsNCgkJdmFyIHBhcnNlZCwNCgkJCW1hdGNoID0gcGFyc2VyLnJlLmV4ZWMoIHN0cmluZyApLA0KCQkJdmFsdWVzID0gbWF0Y2ggJiYgcGFyc2VyLnBhcnNlKCBtYXRjaCApLA0KCQkJc3BhY2VOYW1lID0gcGFyc2VyLnNwYWNlIHx8ICJyZ2JhIjsNCg0KCQlpZiAoIHZhbHVlcyApIHsNCgkJCXBhcnNlZCA9IGluc3RbIHNwYWNlTmFtZSBdKCB2YWx1ZXMgKTsNCg0KCQkJLy8gaWYgdGhpcyB3YXMgYW4gcmdiYSBwYXJzZSB0aGUgYXNzaWdubWVudCBtaWdodCBoYXBwZW4gdHdpY2UNCgkJCS8vIG9oIHdlbGwuLi4uDQoJCQlpbnN0WyBzcGFjZXNbIHNwYWNlTmFtZSBdLmNhY2hlIF0gPSBwYXJzZWRbIHNwYWNlc1sgc3BhY2VOYW1lIF0uY2FjaGUgXTsNCgkJCXJnYmEgPSBpbnN0Ll9yZ2JhID0gcGFyc2VkLl9yZ2JhOw0KDQoJCQkvLyBleGl0IGVhY2goIHN0cmluZ1BhcnNlcnMgKSBoZXJlIGJlY2F1c2Ugd2UgbWF0Y2hlZA0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoJfSk7DQoNCgkvLyBGb3VuZCBhIHN0cmluZ1BhcnNlciB0aGF0IGhhbmRsZWQgaXQNCglpZiAoIHJnYmEubGVuZ3RoICkgew0KDQoJCS8vIGlmIHRoaXMgY2FtZSBmcm9tIGEgcGFyc2VkIHN0cmluZywgZm9yY2UgInRyYW5zcGFyZW50IiB3aGVuIGFscGhhIGlzIDANCgkJLy8gY2hyb21lLCAoYW5kIG1heWJlIG90aGVycykgcmV0dXJuICJ0cmFuc3BhcmVudCIgYXMgcmdiYSgwLDAsMCwwKQ0KCQlpZiAoIHJnYmEuam9pbigpID09PSAiMCwwLDAsMCIgKSB7DQoJCQlqUXVlcnkuZXh0ZW5kKCByZ2JhLCBjb2xvcnMudHJhbnNwYXJlbnQgKTsNCgkJfQ0KCQlyZXR1cm4gaW5zdDsNCgl9DQoNCgkvLyBuYW1lZCBjb2xvcnMNCglyZXR1cm4gY29sb3JzWyBzdHJpbmcgXTsNCn0NCg0KY29sb3IuZm4gPSBqUXVlcnkuZXh0ZW5kKCBjb2xvci5wcm90b3R5cGUsIHsNCglwYXJzZTogZnVuY3Rpb24oIHJlZCwgZ3JlZW4sIGJsdWUsIGFscGhhICkgew0KCQlpZiAoIHJlZCA9PT0gdW5kZWZpbmVkICkgew0KCQkJdGhpcy5fcmdiYSA9IFsgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCBdOw0KCQkJcmV0dXJuIHRoaXM7DQoJCX0NCgkJaWYgKCByZWQuanF1ZXJ5IHx8IHJlZC5ub2RlVHlwZSApIHsNCgkJCXJlZCA9IGpRdWVyeSggcmVkICkuY3NzKCBncmVlbiApOw0KCQkJZ3JlZW4gPSB1bmRlZmluZWQ7DQoJCX0NCg0KCQl2YXIgaW5zdCA9IHRoaXMsDQoJCQl0eXBlID0galF1ZXJ5LnR5cGUoIHJlZCApLA0KCQkJcmdiYSA9IHRoaXMuX3JnYmEgPSBbXTsNCg0KCQkvLyBtb3JlIHRoYW4gMSBhcmd1bWVudCBzcGVjaWZpZWQgLSBhc3N1bWUgKCByZWQsIGdyZWVuLCBibHVlLCBhbHBoYSApDQoJCWlmICggZ3JlZW4gIT09IHVuZGVmaW5lZCApIHsNCgkJCXJlZCA9IFsgcmVkLCBncmVlbiwgYmx1ZSwgYWxwaGEgXTsNCgkJCXR5cGUgPSAiYXJyYXkiOw0KCQl9DQoNCgkJaWYgKCB0eXBlID09PSAic3RyaW5nIiApIHsNCgkJCXJldHVybiB0aGlzLnBhcnNlKCBzdHJpbmdQYXJzZSggcmVkICkgfHwgY29sb3JzLl9kZWZhdWx0ICk7DQoJCX0NCg0KCQlpZiAoIHR5cGUgPT09ICJhcnJheSIgKSB7DQoJCQllYWNoKCBzcGFjZXMucmdiYS5wcm9wcywgZnVuY3Rpb24oIGtleSwgcHJvcCApIHsNCgkJCQlyZ2JhWyBwcm9wLmlkeCBdID0gY2xhbXAoIHJlZFsgcHJvcC5pZHggXSwgcHJvcCApOw0KCQkJfSk7DQoJCQlyZXR1cm4gdGhpczsNCgkJfQ0KDQoJCWlmICggdHlwZSA9PT0gIm9iamVjdCIgKSB7DQoJCQlpZiAoIHJlZCBpbnN0YW5jZW9mIGNvbG9yICkgew0KCQkJCWVhY2goIHNwYWNlcywgZnVuY3Rpb24oIHNwYWNlTmFtZSwgc3BhY2UgKSB7DQoJCQkJCWlmICggcmVkWyBzcGFjZS5jYWNoZSBdICkgew0KCQkJCQkJaW5zdFsgc3BhY2UuY2FjaGUgXSA9IHJlZFsgc3BhY2UuY2FjaGUgXS5zbGljZSgpOw0KCQkJCQl9DQoJCQkJfSk7DQoJCQl9IGVsc2Ugew0KCQkJCWVhY2goIHNwYWNlcywgZnVuY3Rpb24oIHNwYWNlTmFtZSwgc3BhY2UgKSB7DQoJCQkJCXZhciBjYWNoZSA9IHNwYWNlLmNhY2hlOw0KCQkJCQllYWNoKCBzcGFjZS5wcm9wcywgZnVuY3Rpb24oIGtleSwgcHJvcCApIHsNCg0KCQkJCQkJLy8gaWYgdGhlIGNhY2hlIGRvZXNuJ3QgZXhpc3QsIGFuZCB3ZSBrbm93IGhvdyB0byBjb252ZXJ0DQoJCQkJCQlpZiAoICFpbnN0WyBjYWNoZSBdICYmIHNwYWNlLnRvICkgew0KDQoJCQkJCQkJLy8gaWYgdGhlIHZhbHVlIHdhcyBudWxsLCB3ZSBkb24ndCBuZWVkIHRvIGNvcHkgaXQNCgkJCQkJCQkvLyBpZiB0aGUga2V5IHdhcyBhbHBoYSwgd2UgZG9uJ3QgbmVlZCB0byBjb3B5IGl0IGVpdGhlcg0KCQkJCQkJCWlmICgga2V5ID09PSAiYWxwaGEiIHx8IHJlZFsga2V5IF0gPT0gbnVsbCApIHsNCgkJCQkJCQkJcmV0dXJuOw0KCQkJCQkJCX0NCgkJCQkJCQlpbnN0WyBjYWNoZSBdID0gc3BhY2UudG8oIGluc3QuX3JnYmEgKTsNCgkJCQkJCX0NCg0KCQkJCQkJLy8gdGhpcyBpcyB0aGUgb25seSBjYXNlIHdoZXJlIHdlIGFsbG93IG51bGxzIGZvciBBTEwgcHJvcGVydGllcy4NCgkJCQkJCS8vIGNhbGwgY2xhbXAgd2l0aCBhbHdheXNBbGxvd0VtcHR5DQoJCQkJCQlpbnN0WyBjYWNoZSBdWyBwcm9wLmlkeCBdID0gY2xhbXAoIHJlZFsga2V5IF0sIHByb3AsIHRydWUgKTsNCgkJCQkJfSk7DQoNCgkJCQkJLy8gZXZlcnl0aGluZyBkZWZpbmVkIGJ1dCBhbHBoYT8NCgkJCQkJaWYgKCBpbnN0WyBjYWNoZSBdICYmIGpRdWVyeS5pbkFycmF5KCBudWxsLCBpbnN0WyBjYWNoZSBdLnNsaWNlKCAwLCAzICkgKSA8IDAgKSB7DQoJCQkJCQkvLyB1c2UgdGhlIGRlZmF1bHQgb2YgMQ0KCQkJCQkJaW5zdFsgY2FjaGUgXVsgMyBdID0gMTsNCgkJCQkJCWlmICggc3BhY2UuZnJvbSApIHsNCgkJCQkJCQlpbnN0Ll9yZ2JhID0gc3BhY2UuZnJvbSggaW5zdFsgY2FjaGUgXSApOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfSk7DQoJCQl9DQoJCQlyZXR1cm4gdGhpczsNCgkJfQ0KCX0sDQoJaXM6IGZ1bmN0aW9uKCBjb21wYXJlICkgew0KCQl2YXIgaXMgPSBjb2xvciggY29tcGFyZSApLA0KCQkJc2FtZSA9IHRydWUsDQoJCQlpbnN0ID0gdGhpczsNCg0KCQllYWNoKCBzcGFjZXMsIGZ1bmN0aW9uKCBfLCBzcGFjZSApIHsNCgkJCXZhciBsb2NhbENhY2hlLA0KCQkJCWlzQ2FjaGUgPSBpc1sgc3BhY2UuY2FjaGUgXTsNCgkJCWlmIChpc0NhY2hlKSB7DQoJCQkJbG9jYWxDYWNoZSA9IGluc3RbIHNwYWNlLmNhY2hlIF0gfHwgc3BhY2UudG8gJiYgc3BhY2UudG8oIGluc3QuX3JnYmEgKSB8fCBbXTsNCgkJCQllYWNoKCBzcGFjZS5wcm9wcywgZnVuY3Rpb24oIF8sIHByb3AgKSB7DQoJCQkJCWlmICggaXNDYWNoZVsgcHJvcC5pZHggXSAhPSBudWxsICkgew0KCQkJCQkJc2FtZSA9ICggaXNDYWNoZVsgcHJvcC5pZHggXSA9PT0gbG9jYWxDYWNoZVsgcHJvcC5pZHggXSApOw0KCQkJCQkJcmV0dXJuIHNhbWU7DQoJCQkJCX0NCgkJCQl9KTsNCgkJCX0NCgkJCXJldHVybiBzYW1lOw0KCQl9KTsNCgkJcmV0dXJuIHNhbWU7DQoJfSwNCglfc3BhY2U6IGZ1bmN0aW9uKCkgew0KCQl2YXIgdXNlZCA9IFtdLA0KCQkJaW5zdCA9IHRoaXM7DQoJCWVhY2goIHNwYWNlcywgZnVuY3Rpb24oIHNwYWNlTmFtZSwgc3BhY2UgKSB7DQoJCQlpZiAoIGluc3RbIHNwYWNlLmNhY2hlIF0gKSB7DQoJCQkJdXNlZC5wdXNoKCBzcGFjZU5hbWUgKTsNCgkJCX0NCgkJfSk7DQoJCXJldHVybiB1c2VkLnBvcCgpOw0KCX0sDQoJdHJhbnNpdGlvbjogZnVuY3Rpb24oIG90aGVyLCBkaXN0YW5jZSApIHsNCgkJdmFyIGVuZCA9IGNvbG9yKCBvdGhlciApLA0KCQkJc3BhY2VOYW1lID0gZW5kLl9zcGFjZSgpLA0KCQkJc3BhY2UgPSBzcGFjZXNbIHNwYWNlTmFtZSBdLA0KCQkJc3RhcnRDb2xvciA9IHRoaXMuYWxwaGEoKSA9PT0gMCA/IGNvbG9yKCAidHJhbnNwYXJlbnQiICkgOiB0aGlzLA0KCQkJc3RhcnQgPSBzdGFydENvbG9yWyBzcGFjZS5jYWNoZSBdIHx8IHNwYWNlLnRvKCBzdGFydENvbG9yLl9yZ2JhICksDQoJCQlyZXN1bHQgPSBzdGFydC5zbGljZSgpOw0KDQoJCWVuZCA9IGVuZFsgc3BhY2UuY2FjaGUgXTsNCgkJZWFjaCggc3BhY2UucHJvcHMsIGZ1bmN0aW9uKCBrZXksIHByb3AgKSB7DQoJCQl2YXIgaW5kZXggPSBwcm9wLmlkeCwNCgkJCQlzdGFydFZhbHVlID0gc3RhcnRbIGluZGV4IF0sDQoJCQkJZW5kVmFsdWUgPSBlbmRbIGluZGV4IF0sDQoJCQkJdHlwZSA9IHByb3BUeXBlc1sgcHJvcC50eXBlIF0gfHwge307DQoNCgkJCS8vIGlmIG51bGwsIGRvbid0IG92ZXJyaWRlIHN0YXJ0IHZhbHVlDQoJCQlpZiAoIGVuZFZhbHVlID09PSBudWxsICkgew0KCQkJCXJldHVybjsNCgkJCX0NCgkJCS8vIGlmIG51bGwgLSB1c2UgZW5kDQoJCQlpZiAoIHN0YXJ0VmFsdWUgPT09IG51bGwgKSB7DQoJCQkJcmVzdWx0WyBpbmRleCBdID0gZW5kVmFsdWU7DQoJCQl9IGVsc2Ugew0KCQkJCWlmICggdHlwZS5tb2QgKSB7DQoJCQkJCWlmICggZW5kVmFsdWUgLSBzdGFydFZhbHVlID4gdHlwZS5tb2QgLyAyICkgew0KCQkJCQkJc3RhcnRWYWx1ZSArPSB0eXBlLm1vZDsNCgkJCQkJfSBlbHNlIGlmICggc3RhcnRWYWx1ZSAtIGVuZFZhbHVlID4gdHlwZS5tb2QgLyAyICkgew0KCQkJCQkJc3RhcnRWYWx1ZSAtPSB0eXBlLm1vZDsNCgkJCQkJfQ0KCQkJCX0NCgkJCQlyZXN1bHRbIGluZGV4IF0gPSBjbGFtcCggKCBlbmRWYWx1ZSAtIHN0YXJ0VmFsdWUgKSAqIGRpc3RhbmNlICsgc3RhcnRWYWx1ZSwgcHJvcCApOw0KCQkJfQ0KCQl9KTsNCgkJcmV0dXJuIHRoaXNbIHNwYWNlTmFtZSBdKCByZXN1bHQgKTsNCgl9LA0KCWJsZW5kOiBmdW5jdGlvbiggb3BhcXVlICkgew0KCQkvLyBpZiB3ZSBhcmUgYWxyZWFkeSBvcGFxdWUgLSByZXR1cm4gb3Vyc2VsZg0KCQlpZiAoIHRoaXMuX3JnYmFbIDMgXSA9PT0gMSApIHsNCgkJCXJldHVybiB0aGlzOw0KCQl9DQoNCgkJdmFyIHJnYiA9IHRoaXMuX3JnYmEuc2xpY2UoKSwNCgkJCWEgPSByZ2IucG9wKCksDQoJCQlibGVuZCA9IGNvbG9yKCBvcGFxdWUgKS5fcmdiYTsNCg0KCQlyZXR1cm4gY29sb3IoIGpRdWVyeS5tYXAoIHJnYiwgZnVuY3Rpb24oIHYsIGkgKSB7DQoJCQlyZXR1cm4gKCAxIC0gYSApICogYmxlbmRbIGkgXSArIGEgKiB2Ow0KCQl9KSk7DQoJfSwNCgl0b1JnYmFTdHJpbmc6IGZ1bmN0aW9uKCkgew0KCQl2YXIgcHJlZml4ID0gInJnYmEoIiwNCgkJCXJnYmEgPSBqUXVlcnkubWFwKCB0aGlzLl9yZ2JhLCBmdW5jdGlvbiggdiwgaSApIHsNCgkJCQlyZXR1cm4gdiA9PSBudWxsID8gKCBpID4gMiA/IDEgOiAwICkgOiB2Ow0KCQkJfSk7DQoNCgkJaWYgKCByZ2JhWyAzIF0gPT09IDEgKSB7DQoJCQlyZ2JhLnBvcCgpOw0KCQkJcHJlZml4ID0gInJnYigiOw0KCQl9DQoNCgkJcmV0dXJuIHByZWZpeCArIHJnYmEuam9pbigpICsgIikiOw0KCX0sDQoJdG9Ic2xhU3RyaW5nOiBmdW5jdGlvbigpIHsNCgkJdmFyIHByZWZpeCA9ICJoc2xhKCIsDQoJCQloc2xhID0galF1ZXJ5Lm1hcCggdGhpcy5oc2xhKCksIGZ1bmN0aW9uKCB2LCBpICkgew0KCQkJCWlmICggdiA9PSBudWxsICkgew0KCQkJCQl2ID0gaSA+IDIgPyAxIDogMDsNCgkJCQl9DQoNCgkJCQkvLyBjYXRjaCAxIGFuZCAyDQoJCQkJaWYgKCBpICYmIGkgPCAzICkgew0KCQkJCQl2ID0gTWF0aC5yb3VuZCggdiAqIDEwMCApICsgIiUiOw0KCQkJCX0NCgkJCQlyZXR1cm4gdjsNCgkJCX0pOw0KDQoJCWlmICggaHNsYVsgMyBdID09PSAxICkgew0KCQkJaHNsYS5wb3AoKTsNCgkJCXByZWZpeCA9ICJoc2woIjsNCgkJfQ0KCQlyZXR1cm4gcHJlZml4ICsgaHNsYS5qb2luKCkgKyAiKSI7DQoJfSwNCgl0b0hleFN0cmluZzogZnVuY3Rpb24oIGluY2x1ZGVBbHBoYSApIHsNCgkJdmFyIHJnYmEgPSB0aGlzLl9yZ2JhLnNsaWNlKCksDQoJCQlhbHBoYSA9IHJnYmEucG9wKCk7DQoNCgkJaWYgKCBpbmNsdWRlQWxwaGEgKSB7DQoJCQlyZ2JhLnB1c2goIH5+KCBhbHBoYSAqIDI1NSApICk7DQoJCX0NCg0KCQlyZXR1cm4gIiMiICsgalF1ZXJ5Lm1hcCggcmdiYSwgZnVuY3Rpb24oIHYgKSB7DQoNCgkJCS8vIGRlZmF1bHQgdG8gMCB3aGVuIG51bGxzIGV4aXN0DQoJCQl2ID0gKCB2IHx8IDAgKS50b1N0cmluZyggMTYgKTsNCgkJCXJldHVybiB2Lmxlbmd0aCA9PT0gMSA/ICIwIiArIHYgOiB2Ow0KCQl9KS5qb2luKCIiKTsNCgl9LA0KCXRvU3RyaW5nOiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHRoaXMuX3JnYmFbIDMgXSA9PT0gMCA/ICJ0cmFuc3BhcmVudCIgOiB0aGlzLnRvUmdiYVN0cmluZygpOw0KCX0NCn0pOw0KY29sb3IuZm4ucGFyc2UucHJvdG90eXBlID0gY29sb3IuZm47DQoNCi8vIGhzbGEgY29udmVyc2lvbnMgYWRhcHRlZCBmcm9tOg0KLy8gaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9tYWFzaGFhY2svc291cmNlL2Jyb3dzZS9wYWNrYWdlcy9ncmFwaGljcy90cnVuay9zcmMvZ3JhcGhpY3MvY29sb3JzL0hVRTJSR0IuYXM/cj01MDIxDQoNCmZ1bmN0aW9uIGh1ZTJyZ2IoIHAsIHEsIGggKSB7DQoJaCA9ICggaCArIDEgKSAlIDE7DQoJaWYgKCBoICogNiA8IDEgKSB7DQoJCXJldHVybiBwICsgKCBxIC0gcCApICogaCAqIDY7DQoJfQ0KCWlmICggaCAqIDIgPCAxKSB7DQoJCXJldHVybiBxOw0KCX0NCglpZiAoIGggKiAzIDwgMiApIHsNCgkJcmV0dXJuIHAgKyAoIHEgLSBwICkgKiAoICggMiAvIDMgKSAtIGggKSAqIDY7DQoJfQ0KCXJldHVybiBwOw0KfQ0KDQpzcGFjZXMuaHNsYS50byA9IGZ1bmN0aW9uKCByZ2JhICkgew0KCWlmICggcmdiYVsgMCBdID09IG51bGwgfHwgcmdiYVsgMSBdID09IG51bGwgfHwgcmdiYVsgMiBdID09IG51bGwgKSB7DQoJCXJldHVybiBbIG51bGwsIG51bGwsIG51bGwsIHJnYmFbIDMgXSBdOw0KCX0NCgl2YXIgciA9IHJnYmFbIDAgXSAvIDI1NSwNCgkJZyA9IHJnYmFbIDEgXSAvIDI1NSwNCgkJYiA9IHJnYmFbIDIgXSAvIDI1NSwNCgkJYSA9IHJnYmFbIDMgXSwNCgkJbWF4ID0gTWF0aC5tYXgoIHIsIGcsIGIgKSwNCgkJbWluID0gTWF0aC5taW4oIHIsIGcsIGIgKSwNCgkJZGlmZiA9IG1heCAtIG1pbiwNCgkJYWRkID0gbWF4ICsgbWluLA0KCQlsID0gYWRkICogMC41LA0KCQloLCBzOw0KDQoJaWYgKCBtaW4gPT09IG1heCApIHsNCgkJaCA9IDA7DQoJfSBlbHNlIGlmICggciA9PT0gbWF4ICkgew0KCQloID0gKCA2MCAqICggZyAtIGIgKSAvIGRpZmYgKSArIDM2MDsNCgl9IGVsc2UgaWYgKCBnID09PSBtYXggKSB7DQoJCWggPSAoIDYwICogKCBiIC0gciApIC8gZGlmZiApICsgMTIwOw0KCX0gZWxzZSB7DQoJCWggPSAoIDYwICogKCByIC0gZyApIC8gZGlmZiApICsgMjQwOw0KCX0NCg0KCS8vIGNocm9tYSAoZGlmZikgPT0gMCBtZWFucyBncmV5c2NhbGUgd2hpY2gsIGJ5IGRlZmluaXRpb24sIHNhdHVyYXRpb24gPSAwJQ0KCS8vIG90aGVyd2lzZSwgc2F0dXJhdGlvbiBpcyBiYXNlZCBvbiB0aGUgcmF0aW8gb2YgY2hyb21hIChkaWZmKSB0byBsaWdodG5lc3MgKGFkZCkNCglpZiAoIGRpZmYgPT09IDAgKSB7DQoJCXMgPSAwOw0KCX0gZWxzZSBpZiAoIGwgPD0gMC41ICkgew0KCQlzID0gZGlmZiAvIGFkZDsNCgl9IGVsc2Ugew0KCQlzID0gZGlmZiAvICggMiAtIGFkZCApOw0KCX0NCglyZXR1cm4gWyBNYXRoLnJvdW5kKGgpICUgMzYwLCBzLCBsLCBhID09IG51bGwgPyAxIDogYSBdOw0KfTsNCg0Kc3BhY2VzLmhzbGEuZnJvbSA9IGZ1bmN0aW9uKCBoc2xhICkgew0KCWlmICggaHNsYVsgMCBdID09IG51bGwgfHwgaHNsYVsgMSBdID09IG51bGwgfHwgaHNsYVsgMiBdID09IG51bGwgKSB7DQoJCXJldHVybiBbIG51bGwsIG51bGwsIG51bGwsIGhzbGFbIDMgXSBdOw0KCX0NCgl2YXIgaCA9IGhzbGFbIDAgXSAvIDM2MCwNCgkJcyA9IGhzbGFbIDEgXSwNCgkJbCA9IGhzbGFbIDIgXSwNCgkJYSA9IGhzbGFbIDMgXSwNCgkJcSA9IGwgPD0gMC41ID8gbCAqICggMSArIHMgKSA6IGwgKyBzIC0gbCAqIHMsDQoJCXAgPSAyICogbCAtIHE7DQoNCglyZXR1cm4gWw0KCQlNYXRoLnJvdW5kKCBodWUycmdiKCBwLCBxLCBoICsgKCAxIC8gMyApICkgKiAyNTUgKSwNCgkJTWF0aC5yb3VuZCggaHVlMnJnYiggcCwgcSwgaCApICogMjU1ICksDQoJCU1hdGgucm91bmQoIGh1ZTJyZ2IoIHAsIHEsIGggLSAoIDEgLyAzICkgKSAqIDI1NSApLA0KCQlhDQoJXTsNCn07DQoNCmVhY2goIHNwYWNlcywgZnVuY3Rpb24oIHNwYWNlTmFtZSwgc3BhY2UgKSB7DQoJdmFyIHByb3BzID0gc3BhY2UucHJvcHMsDQoJCWNhY2hlID0gc3BhY2UuY2FjaGUsDQoJCXRvID0gc3BhY2UudG8sDQoJCWZyb20gPSBzcGFjZS5mcm9tOw0KDQoJLy8gbWFrZXMgcmdiYSgpIGFuZCBoc2xhKCkNCgljb2xvci5mblsgc3BhY2VOYW1lIF0gPSBmdW5jdGlvbiggdmFsdWUgKSB7DQoNCgkJLy8gZ2VuZXJhdGUgYSBjYWNoZSBmb3IgdGhpcyBzcGFjZSBpZiBpdCBkb2Vzbid0IGV4aXN0DQoJCWlmICggdG8gJiYgIXRoaXNbIGNhY2hlIF0gKSB7DQoJCQl0aGlzWyBjYWNoZSBdID0gdG8oIHRoaXMuX3JnYmEgKTsNCgkJfQ0KCQlpZiAoIHZhbHVlID09PSB1bmRlZmluZWQgKSB7DQoJCQlyZXR1cm4gdGhpc1sgY2FjaGUgXS5zbGljZSgpOw0KCQl9DQoNCgkJdmFyIHJldCwNCgkJCXR5cGUgPSBqUXVlcnkudHlwZSggdmFsdWUgKSwNCgkJCWFyciA9ICggdHlwZSA9PT0gImFycmF5IiB8fCB0eXBlID09PSAib2JqZWN0IiApID8gdmFsdWUgOiBhcmd1bWVudHMsDQoJCQlsb2NhbCA9IHRoaXNbIGNhY2hlIF0uc2xpY2UoKTsNCg0KCQllYWNoKCBwcm9wcywgZnVuY3Rpb24oIGtleSwgcHJvcCApIHsNCgkJCXZhciB2YWwgPSBhcnJbIHR5cGUgPT09ICJvYmplY3QiID8ga2V5IDogcHJvcC5pZHggXTsNCgkJCWlmICggdmFsID09IG51bGwgKSB7DQoJCQkJdmFsID0gbG9jYWxbIHByb3AuaWR4IF07DQoJCQl9DQoJCQlsb2NhbFsgcHJvcC5pZHggXSA9IGNsYW1wKCB2YWwsIHByb3AgKTsNCgkJfSk7DQoNCgkJaWYgKCBmcm9tICkgew0KCQkJcmV0ID0gY29sb3IoIGZyb20oIGxvY2FsICkgKTsNCgkJCXJldFsgY2FjaGUgXSA9IGxvY2FsOw0KCQkJcmV0dXJuIHJldDsNCgkJfSBlbHNlIHsNCgkJCXJldHVybiBjb2xvciggbG9jYWwgKTsNCgkJfQ0KCX07DQoNCgkvLyBtYWtlcyByZWQoKSBncmVlbigpIGJsdWUoKSBhbHBoYSgpIGh1ZSgpIHNhdHVyYXRpb24oKSBsaWdodG5lc3MoKQ0KCWVhY2goIHByb3BzLCBmdW5jdGlvbigga2V5LCBwcm9wICkgew0KCQkvLyBhbHBoYSBpcyBpbmNsdWRlZCBpbiBtb3JlIHRoYW4gb25lIHNwYWNlDQoJCWlmICggY29sb3IuZm5bIGtleSBdICkgew0KCQkJcmV0dXJuOw0KCQl9DQoJCWNvbG9yLmZuWyBrZXkgXSA9IGZ1bmN0aW9uKCB2YWx1ZSApIHsNCgkJCXZhciB2dHlwZSA9IGpRdWVyeS50eXBlKCB2YWx1ZSApLA0KCQkJCWZuID0gKCBrZXkgPT09ICJhbHBoYSIgPyAoIHRoaXMuX2hzbGEgPyAiaHNsYSIgOiAicmdiYSIgKSA6IHNwYWNlTmFtZSApLA0KCQkJCWxvY2FsID0gdGhpc1sgZm4gXSgpLA0KCQkJCWN1ciA9IGxvY2FsWyBwcm9wLmlkeCBdLA0KCQkJCW1hdGNoOw0KDQoJCQlpZiAoIHZ0eXBlID09PSAidW5kZWZpbmVkIiApIHsNCgkJCQlyZXR1cm4gY3VyOw0KCQkJfQ0KDQoJCQlpZiAoIHZ0eXBlID09PSAiZnVuY3Rpb24iICkgew0KCQkJCXZhbHVlID0gdmFsdWUuY2FsbCggdGhpcywgY3VyICk7DQoJCQkJdnR5cGUgPSBqUXVlcnkudHlwZSggdmFsdWUgKTsNCgkJCX0NCgkJCWlmICggdmFsdWUgPT0gbnVsbCAmJiBwcm9wLmVtcHR5ICkgew0KCQkJCXJldHVybiB0aGlzOw0KCQkJfQ0KCQkJaWYgKCB2dHlwZSA9PT0gInN0cmluZyIgKSB7DQoJCQkJbWF0Y2ggPSBycGx1c2VxdWFscy5leGVjKCB2YWx1ZSApOw0KCQkJCWlmICggbWF0Y2ggKSB7DQoJCQkJCXZhbHVlID0gY3VyICsgcGFyc2VGbG9hdCggbWF0Y2hbIDIgXSApICogKCBtYXRjaFsgMSBdID09PSAiKyIgPyAxIDogLTEgKTsNCgkJCQl9DQoJCQl9DQoJCQlsb2NhbFsgcHJvcC5pZHggXSA9IHZhbHVlOw0KCQkJcmV0dXJuIHRoaXNbIGZuIF0oIGxvY2FsICk7DQoJCX07DQoJfSk7DQp9KTsNCg0KLy8gYWRkIGNzc0hvb2sgYW5kIC5meC5zdGVwIGZ1bmN0aW9uIGZvciBlYWNoIG5hbWVkIGhvb2suDQovLyBhY2NlcHQgYSBzcGFjZSBzZXBhcmF0ZWQgc3RyaW5nIG9mIHByb3BlcnRpZXMNCmNvbG9yLmhvb2sgPSBmdW5jdGlvbiggaG9vayApIHsNCgl2YXIgaG9va3MgPSBob29rLnNwbGl0KCAiICIgKTsNCgllYWNoKCBob29rcywgZnVuY3Rpb24oIGksIGhvb2sgKSB7DQoJCWpRdWVyeS5jc3NIb29rc1sgaG9vayBdID0gew0KCQkJc2V0OiBmdW5jdGlvbiggZWxlbSwgdmFsdWUgKSB7DQoJCQkJdmFyIHBhcnNlZCwgY3VyRWxlbSwNCgkJCQkJYmFja2dyb3VuZENvbG9yID0gIiI7DQoNCgkJCQlpZiAoIHZhbHVlICE9PSAidHJhbnNwYXJlbnQiICYmICggalF1ZXJ5LnR5cGUoIHZhbHVlICkgIT09ICJzdHJpbmciIHx8ICggcGFyc2VkID0gc3RyaW5nUGFyc2UoIHZhbHVlICkgKSApICkgew0KCQkJCQl2YWx1ZSA9IGNvbG9yKCBwYXJzZWQgfHwgdmFsdWUgKTsNCgkJCQkJaWYgKCAhc3VwcG9ydC5yZ2JhICYmIHZhbHVlLl9yZ2JhWyAzIF0gIT09IDEgKSB7DQoJCQkJCQljdXJFbGVtID0gaG9vayA9PT0gImJhY2tncm91bmRDb2xvciIgPyBlbGVtLnBhcmVudE5vZGUgOiBlbGVtOw0KCQkJCQkJd2hpbGUgKA0KCQkJCQkJCShiYWNrZ3JvdW5kQ29sb3IgPT09ICIiIHx8IGJhY2tncm91bmRDb2xvciA9PT0gInRyYW5zcGFyZW50IikgJiYNCgkJCQkJCQljdXJFbGVtICYmIGN1ckVsZW0uc3R5bGUNCgkJCQkJCSkgew0KCQkJCQkJCXRyeSB7DQoJCQkJCQkJCWJhY2tncm91bmRDb2xvciA9IGpRdWVyeS5jc3MoIGN1ckVsZW0sICJiYWNrZ3JvdW5kQ29sb3IiICk7DQoJCQkJCQkJCWN1ckVsZW0gPSBjdXJFbGVtLnBhcmVudE5vZGU7DQoJCQkJCQkJfSBjYXRjaCAoIGUgKSB7DQoJCQkJCQkJfQ0KCQkJCQkJfQ0KDQoJCQkJCQl2YWx1ZSA9IHZhbHVlLmJsZW5kKCBiYWNrZ3JvdW5kQ29sb3IgJiYgYmFja2dyb3VuZENvbG9yICE9PSAidHJhbnNwYXJlbnQiID8NCgkJCQkJCQliYWNrZ3JvdW5kQ29sb3IgOg0KCQkJCQkJCSJfZGVmYXVsdCIgKTsNCgkJCQkJfQ0KDQoJCQkJCXZhbHVlID0gdmFsdWUudG9SZ2JhU3RyaW5nKCk7DQoJCQkJfQ0KCQkJCXRyeSB7DQoJCQkJCWVsZW0uc3R5bGVbIGhvb2sgXSA9IHZhbHVlOw0KCQkJCX0gY2F0Y2ggKCBlICkgew0KCQkJCQkvLyB3cmFwcGVkIHRvIHByZXZlbnQgSUUgZnJvbSB0aHJvd2luZyBlcnJvcnMgb24gImludmFsaWQiIHZhbHVlcyBsaWtlICdhdXRvJyBvciAnaW5oZXJpdCcNCgkJCQl9DQoJCQl9DQoJCX07DQoJCWpRdWVyeS5meC5zdGVwWyBob29rIF0gPSBmdW5jdGlvbiggZnggKSB7DQoJCQlpZiAoICFmeC5jb2xvckluaXQgKSB7DQoJCQkJZnguc3RhcnQgPSBjb2xvciggZnguZWxlbSwgaG9vayApOw0KCQkJCWZ4LmVuZCA9IGNvbG9yKCBmeC5lbmQgKTsNCgkJCQlmeC5jb2xvckluaXQgPSB0cnVlOw0KCQkJfQ0KCQkJalF1ZXJ5LmNzc0hvb2tzWyBob29rIF0uc2V0KCBmeC5lbGVtLCBmeC5zdGFydC50cmFuc2l0aW9uKCBmeC5lbmQsIGZ4LnBvcyApICk7DQoJCX07DQoJfSk7DQoNCn07DQoNCmNvbG9yLmhvb2soIHN0ZXBIb29rcyApOw0KDQpqUXVlcnkuY3NzSG9va3MuYm9yZGVyQ29sb3IgPSB7DQoJZXhwYW5kOiBmdW5jdGlvbiggdmFsdWUgKSB7DQoJCXZhciBleHBhbmRlZCA9IHt9Ow0KDQoJCWVhY2goIFsgIlRvcCIsICJSaWdodCIsICJCb3R0b20iLCAiTGVmdCIgXSwgZnVuY3Rpb24oIGksIHBhcnQgKSB7DQoJCQlleHBhbmRlZFsgImJvcmRlciIgKyBwYXJ0ICsgIkNvbG9yIiBdID0gdmFsdWU7DQoJCX0pOw0KCQlyZXR1cm4gZXhwYW5kZWQ7DQoJfQ0KfTsNCg0KLy8gQmFzaWMgY29sb3IgbmFtZXMgb25seS4NCi8vIFVzYWdlIG9mIGFueSBvZiB0aGUgb3RoZXIgY29sb3IgbmFtZXMgcmVxdWlyZXMgYWRkaW5nIHlvdXJzZWxmIG9yIGluY2x1ZGluZw0KLy8ganF1ZXJ5LmNvbG9yLnN2Zy1uYW1lcy5qcy4NCmNvbG9ycyA9IGpRdWVyeS5Db2xvci5uYW1lcyA9IHsNCgkvLyA0LjEuIEJhc2ljIGNvbG9yIGtleXdvcmRzDQoJYXF1YTogIiMwMGZmZmYiLA0KCWJsYWNrOiAiIzAwMDAwMCIsDQoJYmx1ZTogIiMwMDAwZmYiLA0KCWZ1Y2hzaWE6ICIjZmYwMGZmIiwNCglncmF5OiAiIzgwODA4MCIsDQoJZ3JlZW46ICIjMDA4MDAwIiwNCglsaW1lOiAiIzAwZmYwMCIsDQoJbWFyb29uOiAiIzgwMDAwMCIsDQoJbmF2eTogIiMwMDAwODAiLA0KCW9saXZlOiAiIzgwODAwMCIsDQoJcHVycGxlOiAiIzgwMDA4MCIsDQoJcmVkOiAiI2ZmMDAwMCIsDQoJc2lsdmVyOiAiI2MwYzBjMCIsDQoJdGVhbDogIiMwMDgwODAiLA0KCXdoaXRlOiAiI2ZmZmZmZiIsDQoJeWVsbG93OiAiI2ZmZmYwMCIsDQoNCgkvLyA0LjIuMy4gInRyYW5zcGFyZW50IiBjb2xvciBrZXl3b3JkDQoJdHJhbnNwYXJlbnQ6IFsgbnVsbCwgbnVsbCwgbnVsbCwgMCBdLA0KDQoJX2RlZmF1bHQ6ICIjZmZmZmZmIg0KfTsNCg0KfSkoIGpRdWVyeSApOw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBDTEFTUyBBTklNQVRJT05TICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQooZnVuY3Rpb24oKSB7DQoNCnZhciBjbGFzc0FuaW1hdGlvbkFjdGlvbnMgPSBbICJhZGQiLCAicmVtb3ZlIiwgInRvZ2dsZSIgXSwNCglzaG9ydGhhbmRTdHlsZXMgPSB7DQoJCWJvcmRlcjogMSwNCgkJYm9yZGVyQm90dG9tOiAxLA0KCQlib3JkZXJDb2xvcjogMSwNCgkJYm9yZGVyTGVmdDogMSwNCgkJYm9yZGVyUmlnaHQ6IDEsDQoJCWJvcmRlclRvcDogMSwNCgkJYm9yZGVyV2lkdGg6IDEsDQoJCW1hcmdpbjogMSwNCgkJcGFkZGluZzogMQ0KCX07DQoNCiQuZWFjaChbICJib3JkZXJMZWZ0U3R5bGUiLCAiYm9yZGVyUmlnaHRTdHlsZSIsICJib3JkZXJCb3R0b21TdHlsZSIsICJib3JkZXJUb3BTdHlsZSIgXSwgZnVuY3Rpb24oIF8sIHByb3AgKSB7DQoJJC5meC5zdGVwWyBwcm9wIF0gPSBmdW5jdGlvbiggZnggKSB7DQoJCWlmICggZnguZW5kICE9PSAibm9uZSIgJiYgIWZ4LnNldEF0dHIgfHwgZngucG9zID09PSAxICYmICFmeC5zZXRBdHRyICkgew0KCQkJalF1ZXJ5LnN0eWxlKCBmeC5lbGVtLCBwcm9wLCBmeC5lbmQgKTsNCgkJCWZ4LnNldEF0dHIgPSB0cnVlOw0KCQl9DQoJfTsNCn0pOw0KDQpmdW5jdGlvbiBnZXRFbGVtZW50U3R5bGVzKCBlbGVtICkgew0KCXZhciBrZXksIGxlbiwNCgkJc3R5bGUgPSBlbGVtLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcgPw0KCQkJZWxlbS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUoIGVsZW0sIG51bGwgKSA6DQoJCQllbGVtLmN1cnJlbnRTdHlsZSwNCgkJc3R5bGVzID0ge307DQoNCglpZiAoIHN0eWxlICYmIHN0eWxlLmxlbmd0aCAmJiBzdHlsZVsgMCBdICYmIHN0eWxlWyBzdHlsZVsgMCBdIF0gKSB7DQoJCWxlbiA9IHN0eWxlLmxlbmd0aDsNCgkJd2hpbGUgKCBsZW4tLSApIHsNCgkJCWtleSA9IHN0eWxlWyBsZW4gXTsNCgkJCWlmICggdHlwZW9mIHN0eWxlWyBrZXkgXSA9PT0gInN0cmluZyIgKSB7DQoJCQkJc3R5bGVzWyAkLmNhbWVsQ2FzZSgga2V5ICkgXSA9IHN0eWxlWyBrZXkgXTsNCgkJCX0NCgkJfQ0KCS8vIHN1cHBvcnQ6IE9wZXJhLCBJRSA8OQ0KCX0gZWxzZSB7DQoJCWZvciAoIGtleSBpbiBzdHlsZSApIHsNCgkJCWlmICggdHlwZW9mIHN0eWxlWyBrZXkgXSA9PT0gInN0cmluZyIgKSB7DQoJCQkJc3R5bGVzWyBrZXkgXSA9IHN0eWxlWyBrZXkgXTsNCgkJCX0NCgkJfQ0KCX0NCg0KCXJldHVybiBzdHlsZXM7DQp9DQoNCmZ1bmN0aW9uIHN0eWxlRGlmZmVyZW5jZSggb2xkU3R5bGUsIG5ld1N0eWxlICkgew0KCXZhciBkaWZmID0ge30sDQoJCW5hbWUsIHZhbHVlOw0KDQoJZm9yICggbmFtZSBpbiBuZXdTdHlsZSApIHsNCgkJdmFsdWUgPSBuZXdTdHlsZVsgbmFtZSBdOw0KCQlpZiAoIG9sZFN0eWxlWyBuYW1lIF0gIT09IHZhbHVlICkgew0KCQkJaWYgKCAhc2hvcnRoYW5kU3R5bGVzWyBuYW1lIF0gKSB7DQoJCQkJaWYgKCAkLmZ4LnN0ZXBbIG5hbWUgXSB8fCAhaXNOYU4oIHBhcnNlRmxvYXQoIHZhbHVlICkgKSApIHsNCgkJCQkJZGlmZlsgbmFtZSBdID0gdmFsdWU7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJfQ0KDQoJcmV0dXJuIGRpZmY7DQp9DQoNCi8vIHN1cHBvcnQ6IGpRdWVyeSA8MS44DQppZiAoICEkLmZuLmFkZEJhY2sgKSB7DQoJJC5mbi5hZGRCYWNrID0gZnVuY3Rpb24oIHNlbGVjdG9yICkgew0KCQlyZXR1cm4gdGhpcy5hZGQoIHNlbGVjdG9yID09IG51bGwgPw0KCQkJdGhpcy5wcmV2T2JqZWN0IDogdGhpcy5wcmV2T2JqZWN0LmZpbHRlciggc2VsZWN0b3IgKQ0KCQkpOw0KCX07DQp9DQoNCiQuZWZmZWN0cy5hbmltYXRlQ2xhc3MgPSBmdW5jdGlvbiggdmFsdWUsIGR1cmF0aW9uLCBlYXNpbmcsIGNhbGxiYWNrICkgew0KCXZhciBvID0gJC5zcGVlZCggZHVyYXRpb24sIGVhc2luZywgY2FsbGJhY2sgKTsNCg0KCXJldHVybiB0aGlzLnF1ZXVlKCBmdW5jdGlvbigpIHsNCgkJdmFyIGFuaW1hdGVkID0gJCggdGhpcyApLA0KCQkJYmFzZUNsYXNzID0gYW5pbWF0ZWQuYXR0ciggImNsYXNzIiApIHx8ICIiLA0KCQkJYXBwbHlDbGFzc0NoYW5nZSwNCgkJCWFsbEFuaW1hdGlvbnMgPSBvLmNoaWxkcmVuID8gYW5pbWF0ZWQuZmluZCggIioiICkuYWRkQmFjaygpIDogYW5pbWF0ZWQ7DQoNCgkJLy8gbWFwIHRoZSBhbmltYXRlZCBvYmplY3RzIHRvIHN0b3JlIHRoZSBvcmlnaW5hbCBzdHlsZXMuDQoJCWFsbEFuaW1hdGlvbnMgPSBhbGxBbmltYXRpb25zLm1hcChmdW5jdGlvbigpIHsNCgkJCXZhciBlbCA9ICQoIHRoaXMgKTsNCgkJCXJldHVybiB7DQoJCQkJZWw6IGVsLA0KCQkJCXN0YXJ0OiBnZXRFbGVtZW50U3R5bGVzKCB0aGlzICkNCgkJCX07DQoJCX0pOw0KDQoJCS8vIGFwcGx5IGNsYXNzIGNoYW5nZQ0KCQlhcHBseUNsYXNzQ2hhbmdlID0gZnVuY3Rpb24oKSB7DQoJCQkkLmVhY2goIGNsYXNzQW5pbWF0aW9uQWN0aW9ucywgZnVuY3Rpb24oaSwgYWN0aW9uKSB7DQoJCQkJaWYgKCB2YWx1ZVsgYWN0aW9uIF0gKSB7DQoJCQkJCWFuaW1hdGVkWyBhY3Rpb24gKyAiQ2xhc3MiIF0oIHZhbHVlWyBhY3Rpb24gXSApOw0KCQkJCX0NCgkJCX0pOw0KCQl9Ow0KCQlhcHBseUNsYXNzQ2hhbmdlKCk7DQoNCgkJLy8gbWFwIGFsbCBhbmltYXRlZCBvYmplY3RzIGFnYWluIC0gY2FsY3VsYXRlIG5ldyBzdHlsZXMgYW5kIGRpZmYNCgkJYWxsQW5pbWF0aW9ucyA9IGFsbEFuaW1hdGlvbnMubWFwKGZ1bmN0aW9uKCkgew0KCQkJdGhpcy5lbmQgPSBnZXRFbGVtZW50U3R5bGVzKCB0aGlzLmVsWyAwIF0gKTsNCgkJCXRoaXMuZGlmZiA9IHN0eWxlRGlmZmVyZW5jZSggdGhpcy5zdGFydCwgdGhpcy5lbmQgKTsNCgkJCXJldHVybiB0aGlzOw0KCQl9KTsNCg0KCQkvLyBhcHBseSBvcmlnaW5hbCBjbGFzcw0KCQlhbmltYXRlZC5hdHRyKCAiY2xhc3MiLCBiYXNlQ2xhc3MgKTsNCg0KCQkvLyBtYXAgYWxsIGFuaW1hdGVkIG9iamVjdHMgYWdhaW4gLSB0aGlzIHRpbWUgY29sbGVjdGluZyBhIHByb21pc2UNCgkJYWxsQW5pbWF0aW9ucyA9IGFsbEFuaW1hdGlvbnMubWFwKGZ1bmN0aW9uKCkgew0KCQkJdmFyIHN0eWxlSW5mbyA9IHRoaXMsDQoJCQkJZGZkID0gJC5EZWZlcnJlZCgpLA0KCQkJCW9wdHMgPSAkLmV4dGVuZCh7fSwgbywgew0KCQkJCQlxdWV1ZTogZmFsc2UsDQoJCQkJCWNvbXBsZXRlOiBmdW5jdGlvbigpIHsNCgkJCQkJCWRmZC5yZXNvbHZlKCBzdHlsZUluZm8gKTsNCgkJCQkJfQ0KCQkJCX0pOw0KDQoJCQl0aGlzLmVsLmFuaW1hdGUoIHRoaXMuZGlmZiwgb3B0cyApOw0KCQkJcmV0dXJuIGRmZC5wcm9taXNlKCk7DQoJCX0pOw0KDQoJCS8vIG9uY2UgYWxsIGFuaW1hdGlvbnMgaGF2ZSBjb21wbGV0ZWQ6DQoJCSQud2hlbi5hcHBseSggJCwgYWxsQW5pbWF0aW9ucy5nZXQoKSApLmRvbmUoZnVuY3Rpb24oKSB7DQoNCgkJCS8vIHNldCB0aGUgZmluYWwgY2xhc3MNCgkJCWFwcGx5Q2xhc3NDaGFuZ2UoKTsNCg0KCQkJLy8gZm9yIGVhY2ggYW5pbWF0ZWQgZWxlbWVudCwNCgkJCS8vIGNsZWFyIGFsbCBjc3MgcHJvcGVydGllcyB0aGF0IHdlcmUgYW5pbWF0ZWQNCgkJCSQuZWFjaCggYXJndW1lbnRzLCBmdW5jdGlvbigpIHsNCgkJCQl2YXIgZWwgPSB0aGlzLmVsOw0KCQkJCSQuZWFjaCggdGhpcy5kaWZmLCBmdW5jdGlvbihrZXkpIHsNCgkJCQkJZWwuY3NzKCBrZXksICIiICk7DQoJCQkJfSk7DQoJCQl9KTsNCg0KCQkJLy8gdGhpcyBpcyBndWFybnRlZWQgdG8gYmUgdGhlcmUgaWYgeW91IHVzZSBqUXVlcnkuc3BlZWQoKQ0KCQkJLy8gaXQgYWxzbyBoYW5kbGVzIGRlcXVldWluZyB0aGUgbmV4dCBhbmltLi4uDQoJCQlvLmNvbXBsZXRlLmNhbGwoIGFuaW1hdGVkWyAwIF0gKTsNCgkJfSk7DQoJfSk7DQp9Ow0KDQokLmZuLmV4dGVuZCh7DQoJYWRkQ2xhc3M6IChmdW5jdGlvbiggb3JpZyApIHsNCgkJcmV0dXJuIGZ1bmN0aW9uKCBjbGFzc05hbWVzLCBzcGVlZCwgZWFzaW5nLCBjYWxsYmFjayApIHsNCgkJCXJldHVybiBzcGVlZCA/DQoJCQkJJC5lZmZlY3RzLmFuaW1hdGVDbGFzcy5jYWxsKCB0aGlzLA0KCQkJCQl7IGFkZDogY2xhc3NOYW1lcyB9LCBzcGVlZCwgZWFzaW5nLCBjYWxsYmFjayApIDoNCgkJCQlvcmlnLmFwcGx5KCB0aGlzLCBhcmd1bWVudHMgKTsNCgkJfTsNCgl9KSggJC5mbi5hZGRDbGFzcyApLA0KDQoJcmVtb3ZlQ2xhc3M6IChmdW5jdGlvbiggb3JpZyApIHsNCgkJcmV0dXJuIGZ1bmN0aW9uKCBjbGFzc05hbWVzLCBzcGVlZCwgZWFzaW5nLCBjYWxsYmFjayApIHsNCgkJCXJldHVybiBhcmd1bWVudHMubGVuZ3RoID4gMSA/DQoJCQkJJC5lZmZlY3RzLmFuaW1hdGVDbGFzcy5jYWxsKCB0aGlzLA0KCQkJCQl7IHJlbW92ZTogY2xhc3NOYW1lcyB9LCBzcGVlZCwgZWFzaW5nLCBjYWxsYmFjayApIDoNCgkJCQlvcmlnLmFwcGx5KCB0aGlzLCBhcmd1bWVudHMgKTsNCgkJfTsNCgl9KSggJC5mbi5yZW1vdmVDbGFzcyApLA0KDQoJdG9nZ2xlQ2xhc3M6IChmdW5jdGlvbiggb3JpZyApIHsNCgkJcmV0dXJuIGZ1bmN0aW9uKCBjbGFzc05hbWVzLCBmb3JjZSwgc3BlZWQsIGVhc2luZywgY2FsbGJhY2sgKSB7DQoJCQlpZiAoIHR5cGVvZiBmb3JjZSA9PT0gImJvb2xlYW4iIHx8IGZvcmNlID09PSB1bmRlZmluZWQgKSB7DQoJCQkJaWYgKCAhc3BlZWQgKSB7DQoJCQkJCS8vIHdpdGhvdXQgc3BlZWQgcGFyYW1ldGVyDQoJCQkJCXJldHVybiBvcmlnLmFwcGx5KCB0aGlzLCBhcmd1bWVudHMgKTsNCgkJCQl9IGVsc2Ugew0KCQkJCQlyZXR1cm4gJC5lZmZlY3RzLmFuaW1hdGVDbGFzcy5jYWxsKCB0aGlzLA0KCQkJCQkJKGZvcmNlID8geyBhZGQ6IGNsYXNzTmFtZXMgfSA6IHsgcmVtb3ZlOiBjbGFzc05hbWVzIH0pLA0KCQkJCQkJc3BlZWQsIGVhc2luZywgY2FsbGJhY2sgKTsNCgkJCQl9DQoJCQl9IGVsc2Ugew0KCQkJCS8vIHdpdGhvdXQgZm9yY2UgcGFyYW1ldGVyDQoJCQkJcmV0dXJuICQuZWZmZWN0cy5hbmltYXRlQ2xhc3MuY2FsbCggdGhpcywNCgkJCQkJeyB0b2dnbGU6IGNsYXNzTmFtZXMgfSwgZm9yY2UsIHNwZWVkLCBlYXNpbmcgKTsNCgkJCX0NCgkJfTsNCgl9KSggJC5mbi50b2dnbGVDbGFzcyApLA0KDQoJc3dpdGNoQ2xhc3M6IGZ1bmN0aW9uKCByZW1vdmUsIGFkZCwgc3BlZWQsIGVhc2luZywgY2FsbGJhY2spIHsNCgkJcmV0dXJuICQuZWZmZWN0cy5hbmltYXRlQ2xhc3MuY2FsbCggdGhpcywgew0KCQkJYWRkOiBhZGQsDQoJCQlyZW1vdmU6IHJlbW92ZQ0KCQl9LCBzcGVlZCwgZWFzaW5nLCBjYWxsYmFjayApOw0KCX0NCn0pOw0KDQp9KSgpOw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEVGRkVDVFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCihmdW5jdGlvbigpIHsNCg0KJC5leHRlbmQoICQuZWZmZWN0cywgew0KCXZlcnNpb246ICIxLjExLjQiLA0KDQoJLy8gU2F2ZXMgYSBzZXQgb2YgcHJvcGVydGllcyBpbiBhIGRhdGEgc3RvcmFnZQ0KCXNhdmU6IGZ1bmN0aW9uKCBlbGVtZW50LCBzZXQgKSB7DQoJCWZvciAoIHZhciBpID0gMDsgaSA8IHNldC5sZW5ndGg7IGkrKyApIHsNCgkJCWlmICggc2V0WyBpIF0gIT09IG51bGwgKSB7DQoJCQkJZWxlbWVudC5kYXRhKCBkYXRhU3BhY2UgKyBzZXRbIGkgXSwgZWxlbWVudFsgMCBdLnN0eWxlWyBzZXRbIGkgXSBdICk7DQoJCQl9DQoJCX0NCgl9LA0KDQoJLy8gUmVzdG9yZXMgYSBzZXQgb2YgcHJldmlvdXNseSBzYXZlZCBwcm9wZXJ0aWVzIGZyb20gYSBkYXRhIHN0b3JhZ2UNCglyZXN0b3JlOiBmdW5jdGlvbiggZWxlbWVudCwgc2V0ICkgew0KCQl2YXIgdmFsLCBpOw0KCQlmb3IgKCBpID0gMDsgaSA8IHNldC5sZW5ndGg7IGkrKyApIHsNCgkJCWlmICggc2V0WyBpIF0gIT09IG51bGwgKSB7DQoJCQkJdmFsID0gZWxlbWVudC5kYXRhKCBkYXRhU3BhY2UgKyBzZXRbIGkgXSApOw0KCQkJCS8vIHN1cHBvcnQ6IGpRdWVyeSAxLjYuMg0KCQkJCS8vIGh0dHA6Ly9idWdzLmpxdWVyeS5jb20vdGlja2V0Lzk5MTcNCgkJCQkvLyBqUXVlcnkgMS42LjIgaW5jb3JyZWN0bHkgcmV0dXJucyB1bmRlZmluZWQgZm9yIGFueSBmYWxzeSB2YWx1ZS4NCgkJCQkvLyBXZSBjYW4ndCBkaWZmZXJlbnRpYXRlIGJldHdlZW4gIiIgYW5kIDAgaGVyZSwgc28gd2UganVzdCBhc3N1bWUNCgkJCQkvLyBlbXB0eSBzdHJpbmcgc2luY2UgaXQncyBsaWtlbHkgdG8gYmUgYSBtb3JlIGNvbW1vbiB2YWx1ZS4uLg0KCQkJCWlmICggdmFsID09PSB1bmRlZmluZWQgKSB7DQoJCQkJCXZhbCA9ICIiOw0KCQkJCX0NCgkJCQllbGVtZW50LmNzcyggc2V0WyBpIF0sIHZhbCApOw0KCQkJfQ0KCQl9DQoJfSwNCg0KCXNldE1vZGU6IGZ1bmN0aW9uKCBlbCwgbW9kZSApIHsNCgkJaWYgKG1vZGUgPT09ICJ0b2dnbGUiKSB7DQoJCQltb2RlID0gZWwuaXMoICI6aGlkZGVuIiApID8gInNob3ciIDogImhpZGUiOw0KCQl9DQoJCXJldHVybiBtb2RlOw0KCX0sDQoNCgkvLyBUcmFuc2xhdGVzIGEgW3RvcCxsZWZ0XSBhcnJheSBpbnRvIGEgYmFzZWxpbmUgdmFsdWUNCgkvLyB0aGlzIHNob3VsZCBiZSBhIGxpdHRsZSBtb3JlIGZsZXhpYmxlIGluIHRoZSBmdXR1cmUgdG8gaGFuZGxlIGEgc3RyaW5nICYgaGFzaA0KCWdldEJhc2VsaW5lOiBmdW5jdGlvbiggb3JpZ2luLCBvcmlnaW5hbCApIHsNCgkJdmFyIHksIHg7DQoJCXN3aXRjaCAoIG9yaWdpblsgMCBdICkgew0KCQkJY2FzZSAidG9wIjogeSA9IDA7IGJyZWFrOw0KCQkJY2FzZSAibWlkZGxlIjogeSA9IDAuNTsgYnJlYWs7DQoJCQljYXNlICJib3R0b20iOiB5ID0gMTsgYnJlYWs7DQoJCQlkZWZhdWx0OiB5ID0gb3JpZ2luWyAwIF0gLyBvcmlnaW5hbC5oZWlnaHQ7DQoJCX0NCgkJc3dpdGNoICggb3JpZ2luWyAxIF0gKSB7DQoJCQljYXNlICJsZWZ0IjogeCA9IDA7IGJyZWFrOw0KCQkJY2FzZSAiY2VudGVyIjogeCA9IDAuNTsgYnJlYWs7DQoJCQljYXNlICJyaWdodCI6IHggPSAxOyBicmVhazsNCgkJCWRlZmF1bHQ6IHggPSBvcmlnaW5bIDEgXSAvIG9yaWdpbmFsLndpZHRoOw0KCQl9DQoJCXJldHVybiB7DQoJCQl4OiB4LA0KCQkJeTogeQ0KCQl9Ow0KCX0sDQoNCgkvLyBXcmFwcyB0aGUgZWxlbWVudCBhcm91bmQgYSB3cmFwcGVyIHRoYXQgY29waWVzIHBvc2l0aW9uIHByb3BlcnRpZXMNCgljcmVhdGVXcmFwcGVyOiBmdW5jdGlvbiggZWxlbWVudCApIHsNCg0KCQkvLyBpZiB0aGUgZWxlbWVudCBpcyBhbHJlYWR5IHdyYXBwZWQsIHJldHVybiBpdA0KCQlpZiAoIGVsZW1lbnQucGFyZW50KCkuaXMoICIudWktZWZmZWN0cy13cmFwcGVyIiApKSB7DQoJCQlyZXR1cm4gZWxlbWVudC5wYXJlbnQoKTsNCgkJfQ0KDQoJCS8vIHdyYXAgdGhlIGVsZW1lbnQNCgkJdmFyIHByb3BzID0gew0KCQkJCXdpZHRoOiBlbGVtZW50Lm91dGVyV2lkdGgodHJ1ZSksDQoJCQkJaGVpZ2h0OiBlbGVtZW50Lm91dGVySGVpZ2h0KHRydWUpLA0KCQkJCSJmbG9hdCI6IGVsZW1lbnQuY3NzKCAiZmxvYXQiICkNCgkJCX0sDQoJCQl3cmFwcGVyID0gJCggIjxkaXY+PC9kaXY+IiApDQoJCQkJLmFkZENsYXNzKCAidWktZWZmZWN0cy13cmFwcGVyIiApDQoJCQkJLmNzcyh7DQoJCQkJCWZvbnRTaXplOiAiMTAwJSIsDQoJCQkJCWJhY2tncm91bmQ6ICJ0cmFuc3BhcmVudCIsDQoJCQkJCWJvcmRlcjogIm5vbmUiLA0KCQkJCQltYXJnaW46IDAsDQoJCQkJCXBhZGRpbmc6IDANCgkJCQl9KSwNCgkJCS8vIFN0b3JlIHRoZSBzaXplIGluIGNhc2Ugd2lkdGgvaGVpZ2h0IGFyZSBkZWZpbmVkIGluICUgLSBGaXhlcyAjNTI0NQ0KCQkJc2l6ZSA9IHsNCgkJCQl3aWR0aDogZWxlbWVudC53aWR0aCgpLA0KCQkJCWhlaWdodDogZWxlbWVudC5oZWlnaHQoKQ0KCQkJfSwNCgkJCWFjdGl2ZSA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7DQoNCgkJLy8gc3VwcG9ydDogRmlyZWZveA0KCQkvLyBGaXJlZm94IGluY29ycmVjdGx5IGV4cG9zZXMgYW5vbnltb3VzIGNvbnRlbnQNCgkJLy8gaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTYxNjY0DQoJCXRyeSB7DQoJCQlhY3RpdmUuaWQ7DQoJCX0gY2F0Y2ggKCBlICkgew0KCQkJYWN0aXZlID0gZG9jdW1lbnQuYm9keTsNCgkJfQ0KDQoJCWVsZW1lbnQud3JhcCggd3JhcHBlciApOw0KDQoJCS8vIEZpeGVzICM3NTk1IC0gRWxlbWVudHMgbG9zZSBmb2N1cyB3aGVuIHdyYXBwZWQuDQoJCWlmICggZWxlbWVudFsgMCBdID09PSBhY3RpdmUgfHwgJC5jb250YWlucyggZWxlbWVudFsgMCBdLCBhY3RpdmUgKSApIHsNCgkJCSQoIGFjdGl2ZSApLmZvY3VzKCk7DQoJCX0NCg0KCQl3cmFwcGVyID0gZWxlbWVudC5wYXJlbnQoKTsgLy9Ib3RmaXggZm9yIGpRdWVyeSAxLjQgc2luY2Ugc29tZSBjaGFuZ2UgaW4gd3JhcCgpIHNlZW1zIHRvIGFjdHVhbGx5IGxvc2UgdGhlIHJlZmVyZW5jZSB0byB0aGUgd3JhcHBlZCBlbGVtZW50DQoNCgkJLy8gdHJhbnNmZXIgcG9zaXRpb25pbmcgcHJvcGVydGllcyB0byB0aGUgd3JhcHBlcg0KCQlpZiAoIGVsZW1lbnQuY3NzKCAicG9zaXRpb24iICkgPT09ICJzdGF0aWMiICkgew0KCQkJd3JhcHBlci5jc3MoeyBwb3NpdGlvbjogInJlbGF0aXZlIiB9KTsNCgkJCWVsZW1lbnQuY3NzKHsgcG9zaXRpb246ICJyZWxhdGl2ZSIgfSk7DQoJCX0gZWxzZSB7DQoJCQkkLmV4dGVuZCggcHJvcHMsIHsNCgkJCQlwb3NpdGlvbjogZWxlbWVudC5jc3MoICJwb3NpdGlvbiIgKSwNCgkJCQl6SW5kZXg6IGVsZW1lbnQuY3NzKCAiei1pbmRleCIgKQ0KCQkJfSk7DQoJCQkkLmVhY2goWyAidG9wIiwgImxlZnQiLCAiYm90dG9tIiwgInJpZ2h0IiBdLCBmdW5jdGlvbihpLCBwb3MpIHsNCgkJCQlwcm9wc1sgcG9zIF0gPSBlbGVtZW50LmNzcyggcG9zICk7DQoJCQkJaWYgKCBpc05hTiggcGFyc2VJbnQoIHByb3BzWyBwb3MgXSwgMTAgKSApICkgew0KCQkJCQlwcm9wc1sgcG9zIF0gPSAiYXV0byI7DQoJCQkJfQ0KCQkJfSk7DQoJCQllbGVtZW50LmNzcyh7DQoJCQkJcG9zaXRpb246ICJyZWxhdGl2ZSIsDQoJCQkJdG9wOiAwLA0KCQkJCWxlZnQ6IDAsDQoJCQkJcmlnaHQ6ICJhdXRvIiwNCgkJCQlib3R0b206ICJhdXRvIg0KCQkJfSk7DQoJCX0NCgkJZWxlbWVudC5jc3Moc2l6ZSk7DQoNCgkJcmV0dXJuIHdyYXBwZXIuY3NzKCBwcm9wcyApLnNob3coKTsNCgl9LA0KDQoJcmVtb3ZlV3JhcHBlcjogZnVuY3Rpb24oIGVsZW1lbnQgKSB7DQoJCXZhciBhY3RpdmUgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50Ow0KDQoJCWlmICggZWxlbWVudC5wYXJlbnQoKS5pcyggIi51aS1lZmZlY3RzLXdyYXBwZXIiICkgKSB7DQoJCQllbGVtZW50LnBhcmVudCgpLnJlcGxhY2VXaXRoKCBlbGVtZW50ICk7DQoNCgkJCS8vIEZpeGVzICM3NTk1IC0gRWxlbWVudHMgbG9zZSBmb2N1cyB3aGVuIHdyYXBwZWQuDQoJCQlpZiAoIGVsZW1lbnRbIDAgXSA9PT0gYWN0aXZlIHx8ICQuY29udGFpbnMoIGVsZW1lbnRbIDAgXSwgYWN0aXZlICkgKSB7DQoJCQkJJCggYWN0aXZlICkuZm9jdXMoKTsNCgkJCX0NCgkJfQ0KDQoJCXJldHVybiBlbGVtZW50Ow0KCX0sDQoNCglzZXRUcmFuc2l0aW9uOiBmdW5jdGlvbiggZWxlbWVudCwgbGlzdCwgZmFjdG9yLCB2YWx1ZSApIHsNCgkJdmFsdWUgPSB2YWx1ZSB8fCB7fTsNCgkJJC5lYWNoKCBsaXN0LCBmdW5jdGlvbiggaSwgeCApIHsNCgkJCXZhciB1bml0ID0gZWxlbWVudC5jc3NVbml0KCB4ICk7DQoJCQlpZiAoIHVuaXRbIDAgXSA+IDAgKSB7DQoJCQkJdmFsdWVbIHggXSA9IHVuaXRbIDAgXSAqIGZhY3RvciArIHVuaXRbIDEgXTsNCgkJCX0NCgkJfSk7DQoJCXJldHVybiB2YWx1ZTsNCgl9DQp9KTsNCg0KLy8gcmV0dXJuIGFuIGVmZmVjdCBvcHRpb25zIG9iamVjdCBmb3IgdGhlIGdpdmVuIHBhcmFtZXRlcnM6DQpmdW5jdGlvbiBfbm9ybWFsaXplQXJndW1lbnRzKCBlZmZlY3QsIG9wdGlvbnMsIHNwZWVkLCBjYWxsYmFjayApIHsNCg0KCS8vIGFsbG93IHBhc3NpbmcgYWxsIG9wdGlvbnMgYXMgdGhlIGZpcnN0IHBhcmFtZXRlcg0KCWlmICggJC5pc1BsYWluT2JqZWN0KCBlZmZlY3QgKSApIHsNCgkJb3B0aW9ucyA9IGVmZmVjdDsNCgkJZWZmZWN0ID0gZWZmZWN0LmVmZmVjdDsNCgl9DQoNCgkvLyBjb252ZXJ0IHRvIGFuIG9iamVjdA0KCWVmZmVjdCA9IHsgZWZmZWN0OiBlZmZlY3QgfTsNCg0KCS8vIGNhdGNoIChlZmZlY3QsIG51bGwsIC4uLikNCglpZiAoIG9wdGlvbnMgPT0gbnVsbCApIHsNCgkJb3B0aW9ucyA9IHt9Ow0KCX0NCg0KCS8vIGNhdGNoIChlZmZlY3QsIGNhbGxiYWNrKQ0KCWlmICggJC5pc0Z1bmN0aW9uKCBvcHRpb25zICkgKSB7DQoJCWNhbGxiYWNrID0gb3B0aW9uczsNCgkJc3BlZWQgPSBudWxsOw0KCQlvcHRpb25zID0ge307DQoJfQ0KDQoJLy8gY2F0Y2ggKGVmZmVjdCwgc3BlZWQsID8pDQoJaWYgKCB0eXBlb2Ygb3B0aW9ucyA9PT0gIm51bWJlciIgfHwgJC5meC5zcGVlZHNbIG9wdGlvbnMgXSApIHsNCgkJY2FsbGJhY2sgPSBzcGVlZDsNCgkJc3BlZWQgPSBvcHRpb25zOw0KCQlvcHRpb25zID0ge307DQoJfQ0KDQoJLy8gY2F0Y2ggKGVmZmVjdCwgb3B0aW9ucywgY2FsbGJhY2spDQoJaWYgKCAkLmlzRnVuY3Rpb24oIHNwZWVkICkgKSB7DQoJCWNhbGxiYWNrID0gc3BlZWQ7DQoJCXNwZWVkID0gbnVsbDsNCgl9DQoNCgkvLyBhZGQgb3B0aW9ucyB0byBlZmZlY3QNCglpZiAoIG9wdGlvbnMgKSB7DQoJCSQuZXh0ZW5kKCBlZmZlY3QsIG9wdGlvbnMgKTsNCgl9DQoNCglzcGVlZCA9IHNwZWVkIHx8IG9wdGlvbnMuZHVyYXRpb247DQoJZWZmZWN0LmR1cmF0aW9uID0gJC5meC5vZmYgPyAwIDoNCgkJdHlwZW9mIHNwZWVkID09PSAibnVtYmVyIiA/IHNwZWVkIDoNCgkJc3BlZWQgaW4gJC5meC5zcGVlZHMgPyAkLmZ4LnNwZWVkc1sgc3BlZWQgXSA6DQoJCSQuZnguc3BlZWRzLl9kZWZhdWx0Ow0KDQoJZWZmZWN0LmNvbXBsZXRlID0gY2FsbGJhY2sgfHwgb3B0aW9ucy5jb21wbGV0ZTsNCg0KCXJldHVybiBlZmZlY3Q7DQp9DQoNCmZ1bmN0aW9uIHN0YW5kYXJkQW5pbWF0aW9uT3B0aW9uKCBvcHRpb24gKSB7DQoJLy8gVmFsaWQgc3RhbmRhcmQgc3BlZWRzIChub3RoaW5nLCBudW1iZXIsIG5hbWVkIHNwZWVkKQ0KCWlmICggIW9wdGlvbiB8fCB0eXBlb2Ygb3B0aW9uID09PSAibnVtYmVyIiB8fCAkLmZ4LnNwZWVkc1sgb3B0aW9uIF0gKSB7DQoJCXJldHVybiB0cnVlOw0KCX0NCg0KCS8vIEludmFsaWQgc3RyaW5ncyAtIHRyZWF0IGFzICJub3JtYWwiIHNwZWVkDQoJaWYgKCB0eXBlb2Ygb3B0aW9uID09PSAic3RyaW5nIiAmJiAhJC5lZmZlY3RzLmVmZmVjdFsgb3B0aW9uIF0gKSB7DQoJCXJldHVybiB0cnVlOw0KCX0NCg0KCS8vIENvbXBsZXRlIGNhbGxiYWNrDQoJaWYgKCAkLmlzRnVuY3Rpb24oIG9wdGlvbiApICkgew0KCQlyZXR1cm4gdHJ1ZTsNCgl9DQoNCgkvLyBPcHRpb25zIGhhc2ggKGJ1dCBub3QgbmFtaW5nIGFuIGVmZmVjdCkNCglpZiAoIHR5cGVvZiBvcHRpb24gPT09ICJvYmplY3QiICYmICFvcHRpb24uZWZmZWN0ICkgew0KCQlyZXR1cm4gdHJ1ZTsNCgl9DQoNCgkvLyBEaWRuJ3QgbWF0Y2ggYW55IHN0YW5kYXJkIEFQSQ0KCXJldHVybiBmYWxzZTsNCn0NCg0KJC5mbi5leHRlbmQoew0KCWVmZmVjdDogZnVuY3Rpb24oIC8qIGVmZmVjdCwgb3B0aW9ucywgc3BlZWQsIGNhbGxiYWNrICovICkgew0KCQl2YXIgYXJncyA9IF9ub3JtYWxpemVBcmd1bWVudHMuYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApLA0KCQkJbW9kZSA9IGFyZ3MubW9kZSwNCgkJCXF1ZXVlID0gYXJncy5xdWV1ZSwNCgkJCWVmZmVjdE1ldGhvZCA9ICQuZWZmZWN0cy5lZmZlY3RbIGFyZ3MuZWZmZWN0IF07DQoNCgkJaWYgKCAkLmZ4Lm9mZiB8fCAhZWZmZWN0TWV0aG9kICkgew0KCQkJLy8gZGVsZWdhdGUgdG8gdGhlIG9yaWdpbmFsIG1ldGhvZCAoZS5nLiwgLnNob3coKSkgaWYgcG9zc2libGUNCgkJCWlmICggbW9kZSApIHsNCgkJCQlyZXR1cm4gdGhpc1sgbW9kZSBdKCBhcmdzLmR1cmF0aW9uLCBhcmdzLmNvbXBsZXRlICk7DQoJCQl9IGVsc2Ugew0KCQkJCXJldHVybiB0aGlzLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJCQlpZiAoIGFyZ3MuY29tcGxldGUgKSB7DQoJCQkJCQlhcmdzLmNvbXBsZXRlLmNhbGwoIHRoaXMgKTsNCgkJCQkJfQ0KCQkJCX0pOw0KCQkJfQ0KCQl9DQoNCgkJZnVuY3Rpb24gcnVuKCBuZXh0ICkgew0KCQkJdmFyIGVsZW0gPSAkKCB0aGlzICksDQoJCQkJY29tcGxldGUgPSBhcmdzLmNvbXBsZXRlLA0KCQkJCW1vZGUgPSBhcmdzLm1vZGU7DQoNCgkJCWZ1bmN0aW9uIGRvbmUoKSB7DQoJCQkJaWYgKCAkLmlzRnVuY3Rpb24oIGNvbXBsZXRlICkgKSB7DQoJCQkJCWNvbXBsZXRlLmNhbGwoIGVsZW1bMF0gKTsNCgkJCQl9DQoJCQkJaWYgKCAkLmlzRnVuY3Rpb24oIG5leHQgKSApIHsNCgkJCQkJbmV4dCgpOw0KCQkJCX0NCgkJCX0NCg0KCQkJLy8gSWYgdGhlIGVsZW1lbnQgYWxyZWFkeSBoYXMgdGhlIGNvcnJlY3QgZmluYWwgc3RhdGUsIGRlbGVnYXRlIHRvDQoJCQkvLyB0aGUgY29yZSBtZXRob2RzIHNvIHRoZSBpbnRlcm5hbCB0cmFja2luZyBvZiAib2xkZGlzcGxheSIgd29ya3MuDQoJCQlpZiAoIGVsZW0uaXMoICI6aGlkZGVuIiApID8gbW9kZSA9PT0gImhpZGUiIDogbW9kZSA9PT0gInNob3ciICkgew0KCQkJCWVsZW1bIG1vZGUgXSgpOw0KCQkJCWRvbmUoKTsNCgkJCX0gZWxzZSB7DQoJCQkJZWZmZWN0TWV0aG9kLmNhbGwoIGVsZW1bMF0sIGFyZ3MsIGRvbmUgKTsNCgkJCX0NCgkJfQ0KDQoJCXJldHVybiBxdWV1ZSA9PT0gZmFsc2UgPyB0aGlzLmVhY2goIHJ1biApIDogdGhpcy5xdWV1ZSggcXVldWUgfHwgImZ4IiwgcnVuICk7DQoJfSwNCg0KCXNob3c6IChmdW5jdGlvbiggb3JpZyApIHsNCgkJcmV0dXJuIGZ1bmN0aW9uKCBvcHRpb24gKSB7DQoJCQlpZiAoIHN0YW5kYXJkQW5pbWF0aW9uT3B0aW9uKCBvcHRpb24gKSApIHsNCgkJCQlyZXR1cm4gb3JpZy5hcHBseSggdGhpcywgYXJndW1lbnRzICk7DQoJCQl9IGVsc2Ugew0KCQkJCXZhciBhcmdzID0gX25vcm1hbGl6ZUFyZ3VtZW50cy5hcHBseSggdGhpcywgYXJndW1lbnRzICk7DQoJCQkJYXJncy5tb2RlID0gInNob3ciOw0KCQkJCXJldHVybiB0aGlzLmVmZmVjdC5jYWxsKCB0aGlzLCBhcmdzICk7DQoJCQl9DQoJCX07DQoJfSkoICQuZm4uc2hvdyApLA0KDQoJaGlkZTogKGZ1bmN0aW9uKCBvcmlnICkgew0KCQlyZXR1cm4gZnVuY3Rpb24oIG9wdGlvbiApIHsNCgkJCWlmICggc3RhbmRhcmRBbmltYXRpb25PcHRpb24oIG9wdGlvbiApICkgew0KCQkJCXJldHVybiBvcmlnLmFwcGx5KCB0aGlzLCBhcmd1bWVudHMgKTsNCgkJCX0gZWxzZSB7DQoJCQkJdmFyIGFyZ3MgPSBfbm9ybWFsaXplQXJndW1lbnRzLmFwcGx5KCB0aGlzLCBhcmd1bWVudHMgKTsNCgkJCQlhcmdzLm1vZGUgPSAiaGlkZSI7DQoJCQkJcmV0dXJuIHRoaXMuZWZmZWN0LmNhbGwoIHRoaXMsIGFyZ3MgKTsNCgkJCX0NCgkJfTsNCgl9KSggJC5mbi5oaWRlICksDQoNCgl0b2dnbGU6IChmdW5jdGlvbiggb3JpZyApIHsNCgkJcmV0dXJuIGZ1bmN0aW9uKCBvcHRpb24gKSB7DQoJCQlpZiAoIHN0YW5kYXJkQW5pbWF0aW9uT3B0aW9uKCBvcHRpb24gKSB8fCB0eXBlb2Ygb3B0aW9uID09PSAiYm9vbGVhbiIgKSB7DQoJCQkJcmV0dXJuIG9yaWcuYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApOw0KCQkJfSBlbHNlIHsNCgkJCQl2YXIgYXJncyA9IF9ub3JtYWxpemVBcmd1bWVudHMuYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApOw0KCQkJCWFyZ3MubW9kZSA9ICJ0b2dnbGUiOw0KCQkJCXJldHVybiB0aGlzLmVmZmVjdC5jYWxsKCB0aGlzLCBhcmdzICk7DQoJCQl9DQoJCX07DQoJfSkoICQuZm4udG9nZ2xlICksDQoNCgkvLyBoZWxwZXIgZnVuY3Rpb25zDQoJY3NzVW5pdDogZnVuY3Rpb24oa2V5KSB7DQoJCXZhciBzdHlsZSA9IHRoaXMuY3NzKCBrZXkgKSwNCgkJCXZhbCA9IFtdOw0KDQoJCSQuZWFjaCggWyAiZW0iLCAicHgiLCAiJSIsICJwdCIgXSwgZnVuY3Rpb24oIGksIHVuaXQgKSB7DQoJCQlpZiAoIHN0eWxlLmluZGV4T2YoIHVuaXQgKSA+IDAgKSB7DQoJCQkJdmFsID0gWyBwYXJzZUZsb2F0KCBzdHlsZSApLCB1bml0IF07DQoJCQl9DQoJCX0pOw0KCQlyZXR1cm4gdmFsOw0KCX0NCn0pOw0KDQp9KSgpOw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEVBU0lORyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCihmdW5jdGlvbigpIHsNCg0KLy8gYmFzZWQgb24gZWFzaW5nIGVxdWF0aW9ucyBmcm9tIFJvYmVydCBQZW5uZXIgKGh0dHA6Ly93d3cucm9iZXJ0cGVubmVyLmNvbS9lYXNpbmcpDQoNCnZhciBiYXNlRWFzaW5ncyA9IHt9Ow0KDQokLmVhY2goIFsgIlF1YWQiLCAiQ3ViaWMiLCAiUXVhcnQiLCAiUXVpbnQiLCAiRXhwbyIgXSwgZnVuY3Rpb24oIGksIG5hbWUgKSB7DQoJYmFzZUVhc2luZ3NbIG5hbWUgXSA9IGZ1bmN0aW9uKCBwICkgew0KCQlyZXR1cm4gTWF0aC5wb3coIHAsIGkgKyAyICk7DQoJfTsNCn0pOw0KDQokLmV4dGVuZCggYmFzZUVhc2luZ3MsIHsNCglTaW5lOiBmdW5jdGlvbiggcCApIHsNCgkJcmV0dXJuIDEgLSBNYXRoLmNvcyggcCAqIE1hdGguUEkgLyAyICk7DQoJfSwNCglDaXJjOiBmdW5jdGlvbiggcCApIHsNCgkJcmV0dXJuIDEgLSBNYXRoLnNxcnQoIDEgLSBwICogcCApOw0KCX0sDQoJRWxhc3RpYzogZnVuY3Rpb24oIHAgKSB7DQoJCXJldHVybiBwID09PSAwIHx8IHAgPT09IDEgPyBwIDoNCgkJCS1NYXRoLnBvdyggMiwgOCAqIChwIC0gMSkgKSAqIE1hdGguc2luKCAoIChwIC0gMSkgKiA4MCAtIDcuNSApICogTWF0aC5QSSAvIDE1ICk7DQoJfSwNCglCYWNrOiBmdW5jdGlvbiggcCApIHsNCgkJcmV0dXJuIHAgKiBwICogKCAzICogcCAtIDIgKTsNCgl9LA0KCUJvdW5jZTogZnVuY3Rpb24oIHAgKSB7DQoJCXZhciBwb3cyLA0KCQkJYm91bmNlID0gNDsNCg0KCQl3aGlsZSAoIHAgPCAoICggcG93MiA9IE1hdGgucG93KCAyLCAtLWJvdW5jZSApICkgLSAxICkgLyAxMSApIHt9DQoJCXJldHVybiAxIC8gTWF0aC5wb3coIDQsIDMgLSBib3VuY2UgKSAtIDcuNTYyNSAqIE1hdGgucG93KCAoIHBvdzIgKiAzIC0gMiApIC8gMjIgLSBwLCAyICk7DQoJfQ0KfSk7DQoNCiQuZWFjaCggYmFzZUVhc2luZ3MsIGZ1bmN0aW9uKCBuYW1lLCBlYXNlSW4gKSB7DQoJJC5lYXNpbmdbICJlYXNlSW4iICsgbmFtZSBdID0gZWFzZUluOw0KCSQuZWFzaW5nWyAiZWFzZU91dCIgKyBuYW1lIF0gPSBmdW5jdGlvbiggcCApIHsNCgkJcmV0dXJuIDEgLSBlYXNlSW4oIDEgLSBwICk7DQoJfTsNCgkkLmVhc2luZ1sgImVhc2VJbk91dCIgKyBuYW1lIF0gPSBmdW5jdGlvbiggcCApIHsNCgkJcmV0dXJuIHAgPCAwLjUgPw0KCQkJZWFzZUluKCBwICogMiApIC8gMiA6DQoJCQkxIC0gZWFzZUluKCBwICogLTIgKyAyICkgLyAyOw0KCX07DQp9KTsNCg0KfSkoKTsNCg0KdmFyIGVmZmVjdCA9ICQuZWZmZWN0czsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBFZmZlY3RzIEJsaW5kIDEuMTEuNA0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKg0KICogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vYmxpbmQtZWZmZWN0Lw0KICovDQoNCg0KdmFyIGVmZmVjdEJsaW5kID0gJC5lZmZlY3RzLmVmZmVjdC5ibGluZCA9IGZ1bmN0aW9uKCBvLCBkb25lICkgew0KCS8vIENyZWF0ZSBlbGVtZW50DQoJdmFyIGVsID0gJCggdGhpcyApLA0KCQlydmVydGljYWwgPSAvdXB8ZG93bnx2ZXJ0aWNhbC8sDQoJCXJwb3NpdGl2ZW1vdGlvbiA9IC91cHxsZWZ0fHZlcnRpY2FsfGhvcml6b250YWwvLA0KCQlwcm9wcyA9IFsgInBvc2l0aW9uIiwgInRvcCIsICJib3R0b20iLCAibGVmdCIsICJyaWdodCIsICJoZWlnaHQiLCAid2lkdGgiIF0sDQoJCW1vZGUgPSAkLmVmZmVjdHMuc2V0TW9kZSggZWwsIG8ubW9kZSB8fCAiaGlkZSIgKSwNCgkJZGlyZWN0aW9uID0gby5kaXJlY3Rpb24gfHwgInVwIiwNCgkJdmVydGljYWwgPSBydmVydGljYWwudGVzdCggZGlyZWN0aW9uICksDQoJCXJlZiA9IHZlcnRpY2FsID8gImhlaWdodCIgOiAid2lkdGgiLA0KCQlyZWYyID0gdmVydGljYWwgPyAidG9wIiA6ICJsZWZ0IiwNCgkJbW90aW9uID0gcnBvc2l0aXZlbW90aW9uLnRlc3QoIGRpcmVjdGlvbiApLA0KCQlhbmltYXRpb24gPSB7fSwNCgkJc2hvdyA9IG1vZGUgPT09ICJzaG93IiwNCgkJd3JhcHBlciwgZGlzdGFuY2UsIG1hcmdpbjsNCg0KCS8vIGlmIGFscmVhZHkgd3JhcHBlZCwgdGhlIHdyYXBwZXIncyBwcm9wZXJ0aWVzIGFyZSBteSBwcm9wZXJ0eS4gIzYyNDUNCglpZiAoIGVsLnBhcmVudCgpLmlzKCAiLnVpLWVmZmVjdHMtd3JhcHBlciIgKSApIHsNCgkJJC5lZmZlY3RzLnNhdmUoIGVsLnBhcmVudCgpLCBwcm9wcyApOw0KCX0gZWxzZSB7DQoJCSQuZWZmZWN0cy5zYXZlKCBlbCwgcHJvcHMgKTsNCgl9DQoJZWwuc2hvdygpOw0KCXdyYXBwZXIgPSAkLmVmZmVjdHMuY3JlYXRlV3JhcHBlciggZWwgKS5jc3Moew0KCQlvdmVyZmxvdzogImhpZGRlbiINCgl9KTsNCg0KCWRpc3RhbmNlID0gd3JhcHBlclsgcmVmIF0oKTsNCgltYXJnaW4gPSBwYXJzZUZsb2F0KCB3cmFwcGVyLmNzcyggcmVmMiApICkgfHwgMDsNCg0KCWFuaW1hdGlvblsgcmVmIF0gPSBzaG93ID8gZGlzdGFuY2UgOiAwOw0KCWlmICggIW1vdGlvbiApIHsNCgkJZWwNCgkJCS5jc3MoIHZlcnRpY2FsID8gImJvdHRvbSIgOiAicmlnaHQiLCAwICkNCgkJCS5jc3MoIHZlcnRpY2FsID8gInRvcCIgOiAibGVmdCIsICJhdXRvIiApDQoJCQkuY3NzKHsgcG9zaXRpb246ICJhYnNvbHV0ZSIgfSk7DQoNCgkJYW5pbWF0aW9uWyByZWYyIF0gPSBzaG93ID8gbWFyZ2luIDogZGlzdGFuY2UgKyBtYXJnaW47DQoJfQ0KDQoJLy8gc3RhcnQgYXQgMCBpZiB3ZSBhcmUgc2hvd2luZw0KCWlmICggc2hvdyApIHsNCgkJd3JhcHBlci5jc3MoIHJlZiwgMCApOw0KCQlpZiAoICFtb3Rpb24gKSB7DQoJCQl3cmFwcGVyLmNzcyggcmVmMiwgbWFyZ2luICsgZGlzdGFuY2UgKTsNCgkJfQ0KCX0NCg0KCS8vIEFuaW1hdGUNCgl3cmFwcGVyLmFuaW1hdGUoIGFuaW1hdGlvbiwgew0KCQlkdXJhdGlvbjogby5kdXJhdGlvbiwNCgkJZWFzaW5nOiBvLmVhc2luZywNCgkJcXVldWU6IGZhbHNlLA0KCQljb21wbGV0ZTogZnVuY3Rpb24oKSB7DQoJCQlpZiAoIG1vZGUgPT09ICJoaWRlIiApIHsNCgkJCQllbC5oaWRlKCk7DQoJCQl9DQoJCQkkLmVmZmVjdHMucmVzdG9yZSggZWwsIHByb3BzICk7DQoJCQkkLmVmZmVjdHMucmVtb3ZlV3JhcHBlciggZWwgKTsNCgkJCWRvbmUoKTsNCgkJfQ0KCX0pOw0KfTsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBFZmZlY3RzIEJvdW5jZSAxLjExLjQNCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICoNCiAqIGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL2JvdW5jZS1lZmZlY3QvDQogKi8NCg0KDQp2YXIgZWZmZWN0Qm91bmNlID0gJC5lZmZlY3RzLmVmZmVjdC5ib3VuY2UgPSBmdW5jdGlvbiggbywgZG9uZSApIHsNCgl2YXIgZWwgPSAkKCB0aGlzICksDQoJCXByb3BzID0gWyAicG9zaXRpb24iLCAidG9wIiwgImJvdHRvbSIsICJsZWZ0IiwgInJpZ2h0IiwgImhlaWdodCIsICJ3aWR0aCIgXSwNCg0KCQkvLyBkZWZhdWx0czoNCgkJbW9kZSA9ICQuZWZmZWN0cy5zZXRNb2RlKCBlbCwgby5tb2RlIHx8ICJlZmZlY3QiICksDQoJCWhpZGUgPSBtb2RlID09PSAiaGlkZSIsDQoJCXNob3cgPSBtb2RlID09PSAic2hvdyIsDQoJCWRpcmVjdGlvbiA9IG8uZGlyZWN0aW9uIHx8ICJ1cCIsDQoJCWRpc3RhbmNlID0gby5kaXN0YW5jZSwNCgkJdGltZXMgPSBvLnRpbWVzIHx8IDUsDQoNCgkJLy8gbnVtYmVyIG9mIGludGVybmFsIGFuaW1hdGlvbnMNCgkJYW5pbXMgPSB0aW1lcyAqIDIgKyAoIHNob3cgfHwgaGlkZSA/IDEgOiAwICksDQoJCXNwZWVkID0gby5kdXJhdGlvbiAvIGFuaW1zLA0KCQllYXNpbmcgPSBvLmVhc2luZywNCg0KCQkvLyB1dGlsaXR5Og0KCQlyZWYgPSAoIGRpcmVjdGlvbiA9PT0gInVwIiB8fCBkaXJlY3Rpb24gPT09ICJkb3duIiApID8gInRvcCIgOiAibGVmdCIsDQoJCW1vdGlvbiA9ICggZGlyZWN0aW9uID09PSAidXAiIHx8IGRpcmVjdGlvbiA9PT0gImxlZnQiICksDQoJCWksDQoJCXVwQW5pbSwNCgkJZG93bkFuaW0sDQoNCgkJLy8gd2Ugd2lsbCBuZWVkIHRvIHJlLWFzc2VtYmxlIHRoZSBxdWV1ZSB0byBzdGFjayBvdXIgYW5pbWF0aW9ucyBpbiBwbGFjZQ0KCQlxdWV1ZSA9IGVsLnF1ZXVlKCksDQoJCXF1ZXVlbGVuID0gcXVldWUubGVuZ3RoOw0KDQoJLy8gQXZvaWQgdG91Y2hpbmcgb3BhY2l0eSB0byBwcmV2ZW50IGNsZWFyVHlwZSBhbmQgUE5HIGlzc3VlcyBpbiBJRQ0KCWlmICggc2hvdyB8fCBoaWRlICkgew0KCQlwcm9wcy5wdXNoKCAib3BhY2l0eSIgKTsNCgl9DQoNCgkkLmVmZmVjdHMuc2F2ZSggZWwsIHByb3BzICk7DQoJZWwuc2hvdygpOw0KCSQuZWZmZWN0cy5jcmVhdGVXcmFwcGVyKCBlbCApOyAvLyBDcmVhdGUgV3JhcHBlcg0KDQoJLy8gZGVmYXVsdCBkaXN0YW5jZSBmb3IgdGhlIEJJR0dFU1QgYm91bmNlIGlzIHRoZSBvdXRlciBEaXN0YW5jZSAvIDMNCglpZiAoICFkaXN0YW5jZSApIHsNCgkJZGlzdGFuY2UgPSBlbFsgcmVmID09PSAidG9wIiA/ICJvdXRlckhlaWdodCIgOiAib3V0ZXJXaWR0aCIgXSgpIC8gMzsNCgl9DQoNCglpZiAoIHNob3cgKSB7DQoJCWRvd25BbmltID0geyBvcGFjaXR5OiAxIH07DQoJCWRvd25BbmltWyByZWYgXSA9IDA7DQoNCgkJLy8gaWYgd2UgYXJlIHNob3dpbmcsIGZvcmNlIG9wYWNpdHkgMCBhbmQgc2V0IHRoZSBpbml0aWFsIHBvc2l0aW9uDQoJCS8vIHRoZW4gZG8gdGhlICJmaXJzdCIgYW5pbWF0aW9uDQoJCWVsLmNzcyggIm9wYWNpdHkiLCAwICkNCgkJCS5jc3MoIHJlZiwgbW90aW9uID8gLWRpc3RhbmNlICogMiA6IGRpc3RhbmNlICogMiApDQoJCQkuYW5pbWF0ZSggZG93bkFuaW0sIHNwZWVkLCBlYXNpbmcgKTsNCgl9DQoNCgkvLyBzdGFydCBhdCB0aGUgc21hbGxlc3QgZGlzdGFuY2UgaWYgd2UgYXJlIGhpZGluZw0KCWlmICggaGlkZSApIHsNCgkJZGlzdGFuY2UgPSBkaXN0YW5jZSAvIE1hdGgucG93KCAyLCB0aW1lcyAtIDEgKTsNCgl9DQoNCglkb3duQW5pbSA9IHt9Ow0KCWRvd25BbmltWyByZWYgXSA9IDA7DQoJLy8gQm91bmNlcyB1cC9kb3duL2xlZnQvcmlnaHQgdGhlbiBiYWNrIHRvIDAgLS0gdGltZXMgKiAyIGFuaW1hdGlvbnMgaGFwcGVuIGhlcmUNCglmb3IgKCBpID0gMDsgaSA8IHRpbWVzOyBpKysgKSB7DQoJCXVwQW5pbSA9IHt9Ow0KCQl1cEFuaW1bIHJlZiBdID0gKCBtb3Rpb24gPyAiLT0iIDogIis9IiApICsgZGlzdGFuY2U7DQoNCgkJZWwuYW5pbWF0ZSggdXBBbmltLCBzcGVlZCwgZWFzaW5nICkNCgkJCS5hbmltYXRlKCBkb3duQW5pbSwgc3BlZWQsIGVhc2luZyApOw0KDQoJCWRpc3RhbmNlID0gaGlkZSA/IGRpc3RhbmNlICogMiA6IGRpc3RhbmNlIC8gMjsNCgl9DQoNCgkvLyBMYXN0IEJvdW5jZSB3aGVuIEhpZGluZw0KCWlmICggaGlkZSApIHsNCgkJdXBBbmltID0geyBvcGFjaXR5OiAwIH07DQoJCXVwQW5pbVsgcmVmIF0gPSAoIG1vdGlvbiA/ICItPSIgOiAiKz0iICkgKyBkaXN0YW5jZTsNCg0KCQllbC5hbmltYXRlKCB1cEFuaW0sIHNwZWVkLCBlYXNpbmcgKTsNCgl9DQoNCgllbC5xdWV1ZShmdW5jdGlvbigpIHsNCgkJaWYgKCBoaWRlICkgew0KCQkJZWwuaGlkZSgpOw0KCQl9DQoJCSQuZWZmZWN0cy5yZXN0b3JlKCBlbCwgcHJvcHMgKTsNCgkJJC5lZmZlY3RzLnJlbW92ZVdyYXBwZXIoIGVsICk7DQoJCWRvbmUoKTsNCgl9KTsNCg0KCS8vIGluamVjdCBhbGwgdGhlIGFuaW1hdGlvbnMgd2UganVzdCBxdWV1ZWQgdG8gYmUgZmlyc3QgaW4gbGluZSAoYWZ0ZXIgImlucHJvZ3Jlc3MiKQ0KCWlmICggcXVldWVsZW4gPiAxKSB7DQoJCXF1ZXVlLnNwbGljZS5hcHBseSggcXVldWUsDQoJCQlbIDEsIDAgXS5jb25jYXQoIHF1ZXVlLnNwbGljZSggcXVldWVsZW4sIGFuaW1zICsgMSApICkgKTsNCgl9DQoJZWwuZGVxdWV1ZSgpOw0KDQp9Ow0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIEVmZmVjdHMgQ2xpcCAxLjExLjQNCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICoNCiAqIGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL2NsaXAtZWZmZWN0Lw0KICovDQoNCg0KdmFyIGVmZmVjdENsaXAgPSAkLmVmZmVjdHMuZWZmZWN0LmNsaXAgPSBmdW5jdGlvbiggbywgZG9uZSApIHsNCgkvLyBDcmVhdGUgZWxlbWVudA0KCXZhciBlbCA9ICQoIHRoaXMgKSwNCgkJcHJvcHMgPSBbICJwb3NpdGlvbiIsICJ0b3AiLCAiYm90dG9tIiwgImxlZnQiLCAicmlnaHQiLCAiaGVpZ2h0IiwgIndpZHRoIiBdLA0KCQltb2RlID0gJC5lZmZlY3RzLnNldE1vZGUoIGVsLCBvLm1vZGUgfHwgImhpZGUiICksDQoJCXNob3cgPSBtb2RlID09PSAic2hvdyIsDQoJCWRpcmVjdGlvbiA9IG8uZGlyZWN0aW9uIHx8ICJ2ZXJ0aWNhbCIsDQoJCXZlcnQgPSBkaXJlY3Rpb24gPT09ICJ2ZXJ0aWNhbCIsDQoJCXNpemUgPSB2ZXJ0ID8gImhlaWdodCIgOiAid2lkdGgiLA0KCQlwb3NpdGlvbiA9IHZlcnQgPyAidG9wIiA6ICJsZWZ0IiwNCgkJYW5pbWF0aW9uID0ge30sDQoJCXdyYXBwZXIsIGFuaW1hdGUsIGRpc3RhbmNlOw0KDQoJLy8gU2F2ZSAmIFNob3cNCgkkLmVmZmVjdHMuc2F2ZSggZWwsIHByb3BzICk7DQoJZWwuc2hvdygpOw0KDQoJLy8gQ3JlYXRlIFdyYXBwZXINCgl3cmFwcGVyID0gJC5lZmZlY3RzLmNyZWF0ZVdyYXBwZXIoIGVsICkuY3NzKHsNCgkJb3ZlcmZsb3c6ICJoaWRkZW4iDQoJfSk7DQoJYW5pbWF0ZSA9ICggZWxbMF0udGFnTmFtZSA9PT0gIklNRyIgKSA/IHdyYXBwZXIgOiBlbDsNCglkaXN0YW5jZSA9IGFuaW1hdGVbIHNpemUgXSgpOw0KDQoJLy8gU2hpZnQNCglpZiAoIHNob3cgKSB7DQoJCWFuaW1hdGUuY3NzKCBzaXplLCAwICk7DQoJCWFuaW1hdGUuY3NzKCBwb3NpdGlvbiwgZGlzdGFuY2UgLyAyICk7DQoJfQ0KDQoJLy8gQ3JlYXRlIEFuaW1hdGlvbiBPYmplY3Q6DQoJYW5pbWF0aW9uWyBzaXplIF0gPSBzaG93ID8gZGlzdGFuY2UgOiAwOw0KCWFuaW1hdGlvblsgcG9zaXRpb24gXSA9IHNob3cgPyAwIDogZGlzdGFuY2UgLyAyOw0KDQoJLy8gQW5pbWF0ZQ0KCWFuaW1hdGUuYW5pbWF0ZSggYW5pbWF0aW9uLCB7DQoJCXF1ZXVlOiBmYWxzZSwNCgkJZHVyYXRpb246IG8uZHVyYXRpb24sDQoJCWVhc2luZzogby5lYXNpbmcsDQoJCWNvbXBsZXRlOiBmdW5jdGlvbigpIHsNCgkJCWlmICggIXNob3cgKSB7DQoJCQkJZWwuaGlkZSgpOw0KCQkJfQ0KCQkJJC5lZmZlY3RzLnJlc3RvcmUoIGVsLCBwcm9wcyApOw0KCQkJJC5lZmZlY3RzLnJlbW92ZVdyYXBwZXIoIGVsICk7DQoJCQlkb25lKCk7DQoJCX0NCgl9KTsNCg0KfTsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBFZmZlY3RzIERyb3AgMS4xMS40DQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqDQogKiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9kcm9wLWVmZmVjdC8NCiAqLw0KDQoNCnZhciBlZmZlY3REcm9wID0gJC5lZmZlY3RzLmVmZmVjdC5kcm9wID0gZnVuY3Rpb24oIG8sIGRvbmUgKSB7DQoNCgl2YXIgZWwgPSAkKCB0aGlzICksDQoJCXByb3BzID0gWyAicG9zaXRpb24iLCAidG9wIiwgImJvdHRvbSIsICJsZWZ0IiwgInJpZ2h0IiwgIm9wYWNpdHkiLCAiaGVpZ2h0IiwgIndpZHRoIiBdLA0KCQltb2RlID0gJC5lZmZlY3RzLnNldE1vZGUoIGVsLCBvLm1vZGUgfHwgImhpZGUiICksDQoJCXNob3cgPSBtb2RlID09PSAic2hvdyIsDQoJCWRpcmVjdGlvbiA9IG8uZGlyZWN0aW9uIHx8ICJsZWZ0IiwNCgkJcmVmID0gKCBkaXJlY3Rpb24gPT09ICJ1cCIgfHwgZGlyZWN0aW9uID09PSAiZG93biIgKSA/ICJ0b3AiIDogImxlZnQiLA0KCQltb3Rpb24gPSAoIGRpcmVjdGlvbiA9PT0gInVwIiB8fCBkaXJlY3Rpb24gPT09ICJsZWZ0IiApID8gInBvcyIgOiAibmVnIiwNCgkJYW5pbWF0aW9uID0gew0KCQkJb3BhY2l0eTogc2hvdyA/IDEgOiAwDQoJCX0sDQoJCWRpc3RhbmNlOw0KDQoJLy8gQWRqdXN0DQoJJC5lZmZlY3RzLnNhdmUoIGVsLCBwcm9wcyApOw0KCWVsLnNob3coKTsNCgkkLmVmZmVjdHMuY3JlYXRlV3JhcHBlciggZWwgKTsNCg0KCWRpc3RhbmNlID0gby5kaXN0YW5jZSB8fCBlbFsgcmVmID09PSAidG9wIiA/ICJvdXRlckhlaWdodCIgOiAib3V0ZXJXaWR0aCIgXSggdHJ1ZSApIC8gMjsNCg0KCWlmICggc2hvdyApIHsNCgkJZWwNCgkJCS5jc3MoICJvcGFjaXR5IiwgMCApDQoJCQkuY3NzKCByZWYsIG1vdGlvbiA9PT0gInBvcyIgPyAtZGlzdGFuY2UgOiBkaXN0YW5jZSApOw0KCX0NCg0KCS8vIEFuaW1hdGlvbg0KCWFuaW1hdGlvblsgcmVmIF0gPSAoIHNob3cgPw0KCQkoIG1vdGlvbiA9PT0gInBvcyIgPyAiKz0iIDogIi09IiApIDoNCgkJKCBtb3Rpb24gPT09ICJwb3MiID8gIi09IiA6ICIrPSIgKSApICsNCgkJZGlzdGFuY2U7DQoNCgkvLyBBbmltYXRlDQoJZWwuYW5pbWF0ZSggYW5pbWF0aW9uLCB7DQoJCXF1ZXVlOiBmYWxzZSwNCgkJZHVyYXRpb246IG8uZHVyYXRpb24sDQoJCWVhc2luZzogby5lYXNpbmcsDQoJCWNvbXBsZXRlOiBmdW5jdGlvbigpIHsNCgkJCWlmICggbW9kZSA9PT0gImhpZGUiICkgew0KCQkJCWVsLmhpZGUoKTsNCgkJCX0NCgkJCSQuZWZmZWN0cy5yZXN0b3JlKCBlbCwgcHJvcHMgKTsNCgkJCSQuZWZmZWN0cy5yZW1vdmVXcmFwcGVyKCBlbCApOw0KCQkJZG9uZSgpOw0KCQl9DQoJfSk7DQp9Ow0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIEVmZmVjdHMgRXhwbG9kZSAxLjExLjQNCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICoNCiAqIGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL2V4cGxvZGUtZWZmZWN0Lw0KICovDQoNCg0KdmFyIGVmZmVjdEV4cGxvZGUgPSAkLmVmZmVjdHMuZWZmZWN0LmV4cGxvZGUgPSBmdW5jdGlvbiggbywgZG9uZSApIHsNCg0KCXZhciByb3dzID0gby5waWVjZXMgPyBNYXRoLnJvdW5kKCBNYXRoLnNxcnQoIG8ucGllY2VzICkgKSA6IDMsDQoJCWNlbGxzID0gcm93cywNCgkJZWwgPSAkKCB0aGlzICksDQoJCW1vZGUgPSAkLmVmZmVjdHMuc2V0TW9kZSggZWwsIG8ubW9kZSB8fCAiaGlkZSIgKSwNCgkJc2hvdyA9IG1vZGUgPT09ICJzaG93IiwNCg0KCQkvLyBzaG93IGFuZCB0aGVuIHZpc2liaWxpdHk6aGlkZGVuIHRoZSBlbGVtZW50IGJlZm9yZSBjYWxjdWxhdGluZyBvZmZzZXQNCgkJb2Zmc2V0ID0gZWwuc2hvdygpLmNzcyggInZpc2liaWxpdHkiLCAiaGlkZGVuIiApLm9mZnNldCgpLA0KDQoJCS8vIHdpZHRoIGFuZCBoZWlnaHQgb2YgYSBwaWVjZQ0KCQl3aWR0aCA9IE1hdGguY2VpbCggZWwub3V0ZXJXaWR0aCgpIC8gY2VsbHMgKSwNCgkJaGVpZ2h0ID0gTWF0aC5jZWlsKCBlbC5vdXRlckhlaWdodCgpIC8gcm93cyApLA0KCQlwaWVjZXMgPSBbXSwNCg0KCQkvLyBsb29wDQoJCWksIGosIGxlZnQsIHRvcCwgbXgsIG15Ow0KDQoJLy8gY2hpbGRyZW4gYW5pbWF0ZSBjb21wbGV0ZToNCglmdW5jdGlvbiBjaGlsZENvbXBsZXRlKCkgew0KCQlwaWVjZXMucHVzaCggdGhpcyApOw0KCQlpZiAoIHBpZWNlcy5sZW5ndGggPT09IHJvd3MgKiBjZWxscyApIHsNCgkJCWFuaW1Db21wbGV0ZSgpOw0KCQl9DQoJfQ0KDQoJLy8gY2xvbmUgdGhlIGVsZW1lbnQgZm9yIGVhY2ggcm93IGFuZCBjZWxsLg0KCWZvciAoIGkgPSAwOyBpIDwgcm93cyA7IGkrKyApIHsgLy8gPT09Pg0KCQl0b3AgPSBvZmZzZXQudG9wICsgaSAqIGhlaWdodDsNCgkJbXkgPSBpIC0gKCByb3dzIC0gMSApIC8gMiA7DQoNCgkJZm9yICggaiA9IDA7IGogPCBjZWxscyA7IGorKyApIHsgLy8gfHx8DQoJCQlsZWZ0ID0gb2Zmc2V0LmxlZnQgKyBqICogd2lkdGg7DQoJCQlteCA9IGogLSAoIGNlbGxzIC0gMSApIC8gMiA7DQoNCgkJCS8vIENyZWF0ZSBhIGNsb25lIG9mIHRoZSBub3cgaGlkZGVuIG1haW4gZWxlbWVudCB0aGF0IHdpbGwgYmUgYWJzb2x1dGUgcG9zaXRpb25lZA0KCQkJLy8gd2l0aGluIGEgd3JhcHBlciBkaXYgb2ZmIHRoZSAtbGVmdCBhbmQgLXRvcCBlcXVhbCB0byBzaXplIG9mIG91ciBwaWVjZXMNCgkJCWVsDQoJCQkJLmNsb25lKCkNCgkJCQkuYXBwZW5kVG8oICJib2R5IiApDQoJCQkJLndyYXAoICI8ZGl2PjwvZGl2PiIgKQ0KCQkJCS5jc3Moew0KCQkJCQlwb3NpdGlvbjogImFic29sdXRlIiwNCgkJCQkJdmlzaWJpbGl0eTogInZpc2libGUiLA0KCQkJCQlsZWZ0OiAtaiAqIHdpZHRoLA0KCQkJCQl0b3A6IC1pICogaGVpZ2h0DQoJCQkJfSkNCg0KCQkJLy8gc2VsZWN0IHRoZSB3cmFwcGVyIC0gbWFrZSBpdCBvdmVyZmxvdzogaGlkZGVuIGFuZCBhYnNvbHV0ZSBwb3NpdGlvbmVkIGJhc2VkIG9uDQoJCQkvLyB3aGVyZSB0aGUgb3JpZ2luYWwgd2FzIGxvY2F0ZWQgK2xlZnQgYW5kICt0b3AgZXF1YWwgdG8gdGhlIHNpemUgb2YgcGllY2VzDQoJCQkJLnBhcmVudCgpDQoJCQkJLmFkZENsYXNzKCAidWktZWZmZWN0cy1leHBsb2RlIiApDQoJCQkJLmNzcyh7DQoJCQkJCXBvc2l0aW9uOiAiYWJzb2x1dGUiLA0KCQkJCQlvdmVyZmxvdzogImhpZGRlbiIsDQoJCQkJCXdpZHRoOiB3aWR0aCwNCgkJCQkJaGVpZ2h0OiBoZWlnaHQsDQoJCQkJCWxlZnQ6IGxlZnQgKyAoIHNob3cgPyBteCAqIHdpZHRoIDogMCApLA0KCQkJCQl0b3A6IHRvcCArICggc2hvdyA/IG15ICogaGVpZ2h0IDogMCApLA0KCQkJCQlvcGFjaXR5OiBzaG93ID8gMCA6IDENCgkJCQl9KS5hbmltYXRlKHsNCgkJCQkJbGVmdDogbGVmdCArICggc2hvdyA/IDAgOiBteCAqIHdpZHRoICksDQoJCQkJCXRvcDogdG9wICsgKCBzaG93ID8gMCA6IG15ICogaGVpZ2h0ICksDQoJCQkJCW9wYWNpdHk6IHNob3cgPyAxIDogMA0KCQkJCX0sIG8uZHVyYXRpb24gfHwgNTAwLCBvLmVhc2luZywgY2hpbGRDb21wbGV0ZSApOw0KCQl9DQoJfQ0KDQoJZnVuY3Rpb24gYW5pbUNvbXBsZXRlKCkgew0KCQllbC5jc3Moew0KCQkJdmlzaWJpbGl0eTogInZpc2libGUiDQoJCX0pOw0KCQkkKCBwaWVjZXMgKS5yZW1vdmUoKTsNCgkJaWYgKCAhc2hvdyApIHsNCgkJCWVsLmhpZGUoKTsNCgkJfQ0KCQlkb25lKCk7DQoJfQ0KfTsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBFZmZlY3RzIEZhZGUgMS4xMS40DQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqDQogKiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9mYWRlLWVmZmVjdC8NCiAqLw0KDQoNCnZhciBlZmZlY3RGYWRlID0gJC5lZmZlY3RzLmVmZmVjdC5mYWRlID0gZnVuY3Rpb24oIG8sIGRvbmUgKSB7DQoJdmFyIGVsID0gJCggdGhpcyApLA0KCQltb2RlID0gJC5lZmZlY3RzLnNldE1vZGUoIGVsLCBvLm1vZGUgfHwgInRvZ2dsZSIgKTsNCg0KCWVsLmFuaW1hdGUoew0KCQlvcGFjaXR5OiBtb2RlDQoJfSwgew0KCQlxdWV1ZTogZmFsc2UsDQoJCWR1cmF0aW9uOiBvLmR1cmF0aW9uLA0KCQllYXNpbmc6IG8uZWFzaW5nLA0KCQljb21wbGV0ZTogZG9uZQ0KCX0pOw0KfTsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBFZmZlY3RzIEZvbGQgMS4xMS40DQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqDQogKiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9mb2xkLWVmZmVjdC8NCiAqLw0KDQoNCnZhciBlZmZlY3RGb2xkID0gJC5lZmZlY3RzLmVmZmVjdC5mb2xkID0gZnVuY3Rpb24oIG8sIGRvbmUgKSB7DQoNCgkvLyBDcmVhdGUgZWxlbWVudA0KCXZhciBlbCA9ICQoIHRoaXMgKSwNCgkJcHJvcHMgPSBbICJwb3NpdGlvbiIsICJ0b3AiLCAiYm90dG9tIiwgImxlZnQiLCAicmlnaHQiLCAiaGVpZ2h0IiwgIndpZHRoIiBdLA0KCQltb2RlID0gJC5lZmZlY3RzLnNldE1vZGUoIGVsLCBvLm1vZGUgfHwgImhpZGUiICksDQoJCXNob3cgPSBtb2RlID09PSAic2hvdyIsDQoJCWhpZGUgPSBtb2RlID09PSAiaGlkZSIsDQoJCXNpemUgPSBvLnNpemUgfHwgMTUsDQoJCXBlcmNlbnQgPSAvKFswLTldKyklLy5leGVjKCBzaXplICksDQoJCWhvcml6Rmlyc3QgPSAhIW8uaG9yaXpGaXJzdCwNCgkJd2lkdGhGaXJzdCA9IHNob3cgIT09IGhvcml6Rmlyc3QsDQoJCXJlZiA9IHdpZHRoRmlyc3QgPyBbICJ3aWR0aCIsICJoZWlnaHQiIF0gOiBbICJoZWlnaHQiLCAid2lkdGgiIF0sDQoJCWR1cmF0aW9uID0gby5kdXJhdGlvbiAvIDIsDQoJCXdyYXBwZXIsIGRpc3RhbmNlLA0KCQlhbmltYXRpb24xID0ge30sDQoJCWFuaW1hdGlvbjIgPSB7fTsNCg0KCSQuZWZmZWN0cy5zYXZlKCBlbCwgcHJvcHMgKTsNCgllbC5zaG93KCk7DQoNCgkvLyBDcmVhdGUgV3JhcHBlcg0KCXdyYXBwZXIgPSAkLmVmZmVjdHMuY3JlYXRlV3JhcHBlciggZWwgKS5jc3Moew0KCQlvdmVyZmxvdzogImhpZGRlbiINCgl9KTsNCglkaXN0YW5jZSA9IHdpZHRoRmlyc3QgPw0KCQlbIHdyYXBwZXIud2lkdGgoKSwgd3JhcHBlci5oZWlnaHQoKSBdIDoNCgkJWyB3cmFwcGVyLmhlaWdodCgpLCB3cmFwcGVyLndpZHRoKCkgXTsNCg0KCWlmICggcGVyY2VudCApIHsNCgkJc2l6ZSA9IHBhcnNlSW50KCBwZXJjZW50WyAxIF0sIDEwICkgLyAxMDAgKiBkaXN0YW5jZVsgaGlkZSA/IDAgOiAxIF07DQoJfQ0KCWlmICggc2hvdyApIHsNCgkJd3JhcHBlci5jc3MoIGhvcml6Rmlyc3QgPyB7DQoJCQloZWlnaHQ6IDAsDQoJCQl3aWR0aDogc2l6ZQ0KCQl9IDogew0KCQkJaGVpZ2h0OiBzaXplLA0KCQkJd2lkdGg6IDANCgkJfSk7DQoJfQ0KDQoJLy8gQW5pbWF0aW9uDQoJYW5pbWF0aW9uMVsgcmVmWyAwIF0gXSA9IHNob3cgPyBkaXN0YW5jZVsgMCBdIDogc2l6ZTsNCglhbmltYXRpb24yWyByZWZbIDEgXSBdID0gc2hvdyA/IGRpc3RhbmNlWyAxIF0gOiAwOw0KDQoJLy8gQW5pbWF0ZQ0KCXdyYXBwZXINCgkJLmFuaW1hdGUoIGFuaW1hdGlvbjEsIGR1cmF0aW9uLCBvLmVhc2luZyApDQoJCS5hbmltYXRlKCBhbmltYXRpb24yLCBkdXJhdGlvbiwgby5lYXNpbmcsIGZ1bmN0aW9uKCkgew0KCQkJaWYgKCBoaWRlICkgew0KCQkJCWVsLmhpZGUoKTsNCgkJCX0NCgkJCSQuZWZmZWN0cy5yZXN0b3JlKCBlbCwgcHJvcHMgKTsNCgkJCSQuZWZmZWN0cy5yZW1vdmVXcmFwcGVyKCBlbCApOw0KCQkJZG9uZSgpOw0KCQl9KTsNCg0KfTsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBFZmZlY3RzIEhpZ2hsaWdodCAxLjExLjQNCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICoNCiAqIGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL2hpZ2hsaWdodC1lZmZlY3QvDQogKi8NCg0KDQp2YXIgZWZmZWN0SGlnaGxpZ2h0ID0gJC5lZmZlY3RzLmVmZmVjdC5oaWdobGlnaHQgPSBmdW5jdGlvbiggbywgZG9uZSApIHsNCgl2YXIgZWxlbSA9ICQoIHRoaXMgKSwNCgkJcHJvcHMgPSBbICJiYWNrZ3JvdW5kSW1hZ2UiLCAiYmFja2dyb3VuZENvbG9yIiwgIm9wYWNpdHkiIF0sDQoJCW1vZGUgPSAkLmVmZmVjdHMuc2V0TW9kZSggZWxlbSwgby5tb2RlIHx8ICJzaG93IiApLA0KCQlhbmltYXRpb24gPSB7DQoJCQliYWNrZ3JvdW5kQ29sb3I6IGVsZW0uY3NzKCAiYmFja2dyb3VuZENvbG9yIiApDQoJCX07DQoNCglpZiAobW9kZSA9PT0gImhpZGUiKSB7DQoJCWFuaW1hdGlvbi5vcGFjaXR5ID0gMDsNCgl9DQoNCgkkLmVmZmVjdHMuc2F2ZSggZWxlbSwgcHJvcHMgKTsNCg0KCWVsZW0NCgkJLnNob3coKQ0KCQkuY3NzKHsNCgkJCWJhY2tncm91bmRJbWFnZTogIm5vbmUiLA0KCQkJYmFja2dyb3VuZENvbG9yOiBvLmNvbG9yIHx8ICIjZmZmZjk5Ig0KCQl9KQ0KCQkuYW5pbWF0ZSggYW5pbWF0aW9uLCB7DQoJCQlxdWV1ZTogZmFsc2UsDQoJCQlkdXJhdGlvbjogby5kdXJhdGlvbiwNCgkJCWVhc2luZzogby5lYXNpbmcsDQoJCQljb21wbGV0ZTogZnVuY3Rpb24oKSB7DQoJCQkJaWYgKCBtb2RlID09PSAiaGlkZSIgKSB7DQoJCQkJCWVsZW0uaGlkZSgpOw0KCQkJCX0NCgkJCQkkLmVmZmVjdHMucmVzdG9yZSggZWxlbSwgcHJvcHMgKTsNCgkJCQlkb25lKCk7DQoJCQl9DQoJCX0pOw0KfTsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBFZmZlY3RzIFNpemUgMS4xMS40DQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqDQogKiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9zaXplLWVmZmVjdC8NCiAqLw0KDQoNCnZhciBlZmZlY3RTaXplID0gJC5lZmZlY3RzLmVmZmVjdC5zaXplID0gZnVuY3Rpb24oIG8sIGRvbmUgKSB7DQoNCgkvLyBDcmVhdGUgZWxlbWVudA0KCXZhciBvcmlnaW5hbCwgYmFzZWxpbmUsIGZhY3RvciwNCgkJZWwgPSAkKCB0aGlzICksDQoJCXByb3BzMCA9IFsgInBvc2l0aW9uIiwgInRvcCIsICJib3R0b20iLCAibGVmdCIsICJyaWdodCIsICJ3aWR0aCIsICJoZWlnaHQiLCAib3ZlcmZsb3ciLCAib3BhY2l0eSIgXSwNCg0KCQkvLyBBbHdheXMgcmVzdG9yZQ0KCQlwcm9wczEgPSBbICJwb3NpdGlvbiIsICJ0b3AiLCAiYm90dG9tIiwgImxlZnQiLCAicmlnaHQiLCAib3ZlcmZsb3ciLCAib3BhY2l0eSIgXSwNCg0KCQkvLyBDb3B5IGZvciBjaGlsZHJlbg0KCQlwcm9wczIgPSBbICJ3aWR0aCIsICJoZWlnaHQiLCAib3ZlcmZsb3ciIF0sDQoJCWNQcm9wcyA9IFsgImZvbnRTaXplIiBdLA0KCQl2UHJvcHMgPSBbICJib3JkZXJUb3BXaWR0aCIsICJib3JkZXJCb3R0b21XaWR0aCIsICJwYWRkaW5nVG9wIiwgInBhZGRpbmdCb3R0b20iIF0sDQoJCWhQcm9wcyA9IFsgImJvcmRlckxlZnRXaWR0aCIsICJib3JkZXJSaWdodFdpZHRoIiwgInBhZGRpbmdMZWZ0IiwgInBhZGRpbmdSaWdodCIgXSwNCg0KCQkvLyBTZXQgb3B0aW9ucw0KCQltb2RlID0gJC5lZmZlY3RzLnNldE1vZGUoIGVsLCBvLm1vZGUgfHwgImVmZmVjdCIgKSwNCgkJcmVzdG9yZSA9IG8ucmVzdG9yZSB8fCBtb2RlICE9PSAiZWZmZWN0IiwNCgkJc2NhbGUgPSBvLnNjYWxlIHx8ICJib3RoIiwNCgkJb3JpZ2luID0gby5vcmlnaW4gfHwgWyAibWlkZGxlIiwgImNlbnRlciIgXSwNCgkJcG9zaXRpb24gPSBlbC5jc3MoICJwb3NpdGlvbiIgKSwNCgkJcHJvcHMgPSByZXN0b3JlID8gcHJvcHMwIDogcHJvcHMxLA0KCQl6ZXJvID0gew0KCQkJaGVpZ2h0OiAwLA0KCQkJd2lkdGg6IDAsDQoJCQlvdXRlckhlaWdodDogMCwNCgkJCW91dGVyV2lkdGg6IDANCgkJfTsNCg0KCWlmICggbW9kZSA9PT0gInNob3ciICkgew0KCQllbC5zaG93KCk7DQoJfQ0KCW9yaWdpbmFsID0gew0KCQloZWlnaHQ6IGVsLmhlaWdodCgpLA0KCQl3aWR0aDogZWwud2lkdGgoKSwNCgkJb3V0ZXJIZWlnaHQ6IGVsLm91dGVySGVpZ2h0KCksDQoJCW91dGVyV2lkdGg6IGVsLm91dGVyV2lkdGgoKQ0KCX07DQoNCglpZiAoIG8ubW9kZSA9PT0gInRvZ2dsZSIgJiYgbW9kZSA9PT0gInNob3ciICkgew0KCQllbC5mcm9tID0gby50byB8fCB6ZXJvOw0KCQllbC50byA9IG8uZnJvbSB8fCBvcmlnaW5hbDsNCgl9IGVsc2Ugew0KCQllbC5mcm9tID0gby5mcm9tIHx8ICggbW9kZSA9PT0gInNob3ciID8gemVybyA6IG9yaWdpbmFsICk7DQoJCWVsLnRvID0gby50byB8fCAoIG1vZGUgPT09ICJoaWRlIiA/IHplcm8gOiBvcmlnaW5hbCApOw0KCX0NCg0KCS8vIFNldCBzY2FsaW5nIGZhY3Rvcg0KCWZhY3RvciA9IHsNCgkJZnJvbTogew0KCQkJeTogZWwuZnJvbS5oZWlnaHQgLyBvcmlnaW5hbC5oZWlnaHQsDQoJCQl4OiBlbC5mcm9tLndpZHRoIC8gb3JpZ2luYWwud2lkdGgNCgkJfSwNCgkJdG86IHsNCgkJCXk6IGVsLnRvLmhlaWdodCAvIG9yaWdpbmFsLmhlaWdodCwNCgkJCXg6IGVsLnRvLndpZHRoIC8gb3JpZ2luYWwud2lkdGgNCgkJfQ0KCX07DQoNCgkvLyBTY2FsZSB0aGUgY3NzIGJveA0KCWlmICggc2NhbGUgPT09ICJib3giIHx8IHNjYWxlID09PSAiYm90aCIgKSB7DQoNCgkJLy8gVmVydGljYWwgcHJvcHMgc2NhbGluZw0KCQlpZiAoIGZhY3Rvci5mcm9tLnkgIT09IGZhY3Rvci50by55ICkgew0KCQkJcHJvcHMgPSBwcm9wcy5jb25jYXQoIHZQcm9wcyApOw0KCQkJZWwuZnJvbSA9ICQuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKCBlbCwgdlByb3BzLCBmYWN0b3IuZnJvbS55LCBlbC5mcm9tICk7DQoJCQllbC50byA9ICQuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKCBlbCwgdlByb3BzLCBmYWN0b3IudG8ueSwgZWwudG8gKTsNCgkJfQ0KDQoJCS8vIEhvcml6b250YWwgcHJvcHMgc2NhbGluZw0KCQlpZiAoIGZhY3Rvci5mcm9tLnggIT09IGZhY3Rvci50by54ICkgew0KCQkJcHJvcHMgPSBwcm9wcy5jb25jYXQoIGhQcm9wcyApOw0KCQkJZWwuZnJvbSA9ICQuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKCBlbCwgaFByb3BzLCBmYWN0b3IuZnJvbS54LCBlbC5mcm9tICk7DQoJCQllbC50byA9ICQuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKCBlbCwgaFByb3BzLCBmYWN0b3IudG8ueCwgZWwudG8gKTsNCgkJfQ0KCX0NCg0KCS8vIFNjYWxlIHRoZSBjb250ZW50DQoJaWYgKCBzY2FsZSA9PT0gImNvbnRlbnQiIHx8IHNjYWxlID09PSAiYm90aCIgKSB7DQoNCgkJLy8gVmVydGljYWwgcHJvcHMgc2NhbGluZw0KCQlpZiAoIGZhY3Rvci5mcm9tLnkgIT09IGZhY3Rvci50by55ICkgew0KCQkJcHJvcHMgPSBwcm9wcy5jb25jYXQoIGNQcm9wcyApLmNvbmNhdCggcHJvcHMyICk7DQoJCQllbC5mcm9tID0gJC5lZmZlY3RzLnNldFRyYW5zaXRpb24oIGVsLCBjUHJvcHMsIGZhY3Rvci5mcm9tLnksIGVsLmZyb20gKTsNCgkJCWVsLnRvID0gJC5lZmZlY3RzLnNldFRyYW5zaXRpb24oIGVsLCBjUHJvcHMsIGZhY3Rvci50by55LCBlbC50byApOw0KCQl9DQoJfQ0KDQoJJC5lZmZlY3RzLnNhdmUoIGVsLCBwcm9wcyApOw0KCWVsLnNob3coKTsNCgkkLmVmZmVjdHMuY3JlYXRlV3JhcHBlciggZWwgKTsNCgllbC5jc3MoICJvdmVyZmxvdyIsICJoaWRkZW4iICkuY3NzKCBlbC5mcm9tICk7DQoNCgkvLyBBZGp1c3QNCglpZiAob3JpZ2luKSB7IC8vIENhbGN1bGF0ZSBiYXNlbGluZSBzaGlmdHMNCgkJYmFzZWxpbmUgPSAkLmVmZmVjdHMuZ2V0QmFzZWxpbmUoIG9yaWdpbiwgb3JpZ2luYWwgKTsNCgkJZWwuZnJvbS50b3AgPSAoIG9yaWdpbmFsLm91dGVySGVpZ2h0IC0gZWwub3V0ZXJIZWlnaHQoKSApICogYmFzZWxpbmUueTsNCgkJZWwuZnJvbS5sZWZ0ID0gKCBvcmlnaW5hbC5vdXRlcldpZHRoIC0gZWwub3V0ZXJXaWR0aCgpICkgKiBiYXNlbGluZS54Ow0KCQllbC50by50b3AgPSAoIG9yaWdpbmFsLm91dGVySGVpZ2h0IC0gZWwudG8ub3V0ZXJIZWlnaHQgKSAqIGJhc2VsaW5lLnk7DQoJCWVsLnRvLmxlZnQgPSAoIG9yaWdpbmFsLm91dGVyV2lkdGggLSBlbC50by5vdXRlcldpZHRoICkgKiBiYXNlbGluZS54Ow0KCX0NCgllbC5jc3MoIGVsLmZyb20gKTsgLy8gc2V0IHRvcCAmIGxlZnQNCg0KCS8vIEFuaW1hdGUNCglpZiAoIHNjYWxlID09PSAiY29udGVudCIgfHwgc2NhbGUgPT09ICJib3RoIiApIHsgLy8gU2NhbGUgdGhlIGNoaWxkcmVuDQoNCgkJLy8gQWRkIG1hcmdpbnMvZm9udC1zaXplDQoJCXZQcm9wcyA9IHZQcm9wcy5jb25jYXQoWyAibWFyZ2luVG9wIiwgIm1hcmdpbkJvdHRvbSIgXSkuY29uY2F0KGNQcm9wcyk7DQoJCWhQcm9wcyA9IGhQcm9wcy5jb25jYXQoWyAibWFyZ2luTGVmdCIsICJtYXJnaW5SaWdodCIgXSk7DQoJCXByb3BzMiA9IHByb3BzMC5jb25jYXQodlByb3BzKS5jb25jYXQoaFByb3BzKTsNCg0KCQllbC5maW5kKCAiKlt3aWR0aF0iICkuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQl2YXIgY2hpbGQgPSAkKCB0aGlzICksDQoJCQkJY19vcmlnaW5hbCA9IHsNCgkJCQkJaGVpZ2h0OiBjaGlsZC5oZWlnaHQoKSwNCgkJCQkJd2lkdGg6IGNoaWxkLndpZHRoKCksDQoJCQkJCW91dGVySGVpZ2h0OiBjaGlsZC5vdXRlckhlaWdodCgpLA0KCQkJCQlvdXRlcldpZHRoOiBjaGlsZC5vdXRlcldpZHRoKCkNCgkJCQl9Ow0KCQkJaWYgKHJlc3RvcmUpIHsNCgkJCQkkLmVmZmVjdHMuc2F2ZShjaGlsZCwgcHJvcHMyKTsNCgkJCX0NCg0KCQkJY2hpbGQuZnJvbSA9IHsNCgkJCQloZWlnaHQ6IGNfb3JpZ2luYWwuaGVpZ2h0ICogZmFjdG9yLmZyb20ueSwNCgkJCQl3aWR0aDogY19vcmlnaW5hbC53aWR0aCAqIGZhY3Rvci5mcm9tLngsDQoJCQkJb3V0ZXJIZWlnaHQ6IGNfb3JpZ2luYWwub3V0ZXJIZWlnaHQgKiBmYWN0b3IuZnJvbS55LA0KCQkJCW91dGVyV2lkdGg6IGNfb3JpZ2luYWwub3V0ZXJXaWR0aCAqIGZhY3Rvci5mcm9tLngNCgkJCX07DQoJCQljaGlsZC50byA9IHsNCgkJCQloZWlnaHQ6IGNfb3JpZ2luYWwuaGVpZ2h0ICogZmFjdG9yLnRvLnksDQoJCQkJd2lkdGg6IGNfb3JpZ2luYWwud2lkdGggKiBmYWN0b3IudG8ueCwNCgkJCQlvdXRlckhlaWdodDogY19vcmlnaW5hbC5oZWlnaHQgKiBmYWN0b3IudG8ueSwNCgkJCQlvdXRlcldpZHRoOiBjX29yaWdpbmFsLndpZHRoICogZmFjdG9yLnRvLngNCgkJCX07DQoNCgkJCS8vIFZlcnRpY2FsIHByb3BzIHNjYWxpbmcNCgkJCWlmICggZmFjdG9yLmZyb20ueSAhPT0gZmFjdG9yLnRvLnkgKSB7DQoJCQkJY2hpbGQuZnJvbSA9ICQuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKCBjaGlsZCwgdlByb3BzLCBmYWN0b3IuZnJvbS55LCBjaGlsZC5mcm9tICk7DQoJCQkJY2hpbGQudG8gPSAkLmVmZmVjdHMuc2V0VHJhbnNpdGlvbiggY2hpbGQsIHZQcm9wcywgZmFjdG9yLnRvLnksIGNoaWxkLnRvICk7DQoJCQl9DQoNCgkJCS8vIEhvcml6b250YWwgcHJvcHMgc2NhbGluZw0KCQkJaWYgKCBmYWN0b3IuZnJvbS54ICE9PSBmYWN0b3IudG8ueCApIHsNCgkJCQljaGlsZC5mcm9tID0gJC5lZmZlY3RzLnNldFRyYW5zaXRpb24oIGNoaWxkLCBoUHJvcHMsIGZhY3Rvci5mcm9tLngsIGNoaWxkLmZyb20gKTsNCgkJCQljaGlsZC50byA9ICQuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKCBjaGlsZCwgaFByb3BzLCBmYWN0b3IudG8ueCwgY2hpbGQudG8gKTsNCgkJCX0NCg0KCQkJLy8gQW5pbWF0ZSBjaGlsZHJlbg0KCQkJY2hpbGQuY3NzKCBjaGlsZC5mcm9tICk7DQoJCQljaGlsZC5hbmltYXRlKCBjaGlsZC50bywgby5kdXJhdGlvbiwgby5lYXNpbmcsIGZ1bmN0aW9uKCkgew0KDQoJCQkJLy8gUmVzdG9yZSBjaGlsZHJlbg0KCQkJCWlmICggcmVzdG9yZSApIHsNCgkJCQkJJC5lZmZlY3RzLnJlc3RvcmUoIGNoaWxkLCBwcm9wczIgKTsNCgkJCQl9DQoJCQl9KTsNCgkJfSk7DQoJfQ0KDQoJLy8gQW5pbWF0ZQ0KCWVsLmFuaW1hdGUoIGVsLnRvLCB7DQoJCXF1ZXVlOiBmYWxzZSwNCgkJZHVyYXRpb246IG8uZHVyYXRpb24sDQoJCWVhc2luZzogby5lYXNpbmcsDQoJCWNvbXBsZXRlOiBmdW5jdGlvbigpIHsNCgkJCWlmICggZWwudG8ub3BhY2l0eSA9PT0gMCApIHsNCgkJCQllbC5jc3MoICJvcGFjaXR5IiwgZWwuZnJvbS5vcGFjaXR5ICk7DQoJCQl9DQoJCQlpZiAoIG1vZGUgPT09ICJoaWRlIiApIHsNCgkJCQllbC5oaWRlKCk7DQoJCQl9DQoJCQkkLmVmZmVjdHMucmVzdG9yZSggZWwsIHByb3BzICk7DQoJCQlpZiAoICFyZXN0b3JlICkgew0KDQoJCQkJLy8gd2UgbmVlZCB0byBjYWxjdWxhdGUgb3VyIG5ldyBwb3NpdGlvbmluZyBiYXNlZCBvbiB0aGUgc2NhbGluZw0KCQkJCWlmICggcG9zaXRpb24gPT09ICJzdGF0aWMiICkgew0KCQkJCQllbC5jc3Moew0KCQkJCQkJcG9zaXRpb246ICJyZWxhdGl2ZSIsDQoJCQkJCQl0b3A6IGVsLnRvLnRvcCwNCgkJCQkJCWxlZnQ6IGVsLnRvLmxlZnQNCgkJCQkJfSk7DQoJCQkJfSBlbHNlIHsNCgkJCQkJJC5lYWNoKFsgInRvcCIsICJsZWZ0IiBdLCBmdW5jdGlvbiggaWR4LCBwb3MgKSB7DQoJCQkJCQllbC5jc3MoIHBvcywgZnVuY3Rpb24oIF8sIHN0ciApIHsNCgkJCQkJCQl2YXIgdmFsID0gcGFyc2VJbnQoIHN0ciwgMTAgKSwNCgkJCQkJCQkJdG9SZWYgPSBpZHggPyBlbC50by5sZWZ0IDogZWwudG8udG9wOw0KDQoJCQkJCQkJLy8gaWYgb3JpZ2luYWwgd2FzICJhdXRvIiwgcmVjYWxjdWxhdGUgdGhlIG5ldyB2YWx1ZSBmcm9tIHdyYXBwZXINCgkJCQkJCQlpZiAoIHN0ciA9PT0gImF1dG8iICkgew0KCQkJCQkJCQlyZXR1cm4gdG9SZWYgKyAicHgiOw0KCQkJCQkJCX0NCg0KCQkJCQkJCXJldHVybiB2YWwgKyB0b1JlZiArICJweCI7DQoJCQkJCQl9KTsNCgkJCQkJfSk7DQoJCQkJfQ0KCQkJfQ0KDQoJCQkkLmVmZmVjdHMucmVtb3ZlV3JhcHBlciggZWwgKTsNCgkJCWRvbmUoKTsNCgkJfQ0KCX0pOw0KDQp9Ow0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIEVmZmVjdHMgU2NhbGUgMS4xMS40DQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqDQogKiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9zY2FsZS1lZmZlY3QvDQogKi8NCg0KDQp2YXIgZWZmZWN0U2NhbGUgPSAkLmVmZmVjdHMuZWZmZWN0LnNjYWxlID0gZnVuY3Rpb24oIG8sIGRvbmUgKSB7DQoNCgkvLyBDcmVhdGUgZWxlbWVudA0KCXZhciBlbCA9ICQoIHRoaXMgKSwNCgkJb3B0aW9ucyA9ICQuZXh0ZW5kKCB0cnVlLCB7fSwgbyApLA0KCQltb2RlID0gJC5lZmZlY3RzLnNldE1vZGUoIGVsLCBvLm1vZGUgfHwgImVmZmVjdCIgKSwNCgkJcGVyY2VudCA9IHBhcnNlSW50KCBvLnBlcmNlbnQsIDEwICkgfHwNCgkJCSggcGFyc2VJbnQoIG8ucGVyY2VudCwgMTAgKSA9PT0gMCA/IDAgOiAoIG1vZGUgPT09ICJoaWRlIiA/IDAgOiAxMDAgKSApLA0KCQlkaXJlY3Rpb24gPSBvLmRpcmVjdGlvbiB8fCAiYm90aCIsDQoJCW9yaWdpbiA9IG8ub3JpZ2luLA0KCQlvcmlnaW5hbCA9IHsNCgkJCWhlaWdodDogZWwuaGVpZ2h0KCksDQoJCQl3aWR0aDogZWwud2lkdGgoKSwNCgkJCW91dGVySGVpZ2h0OiBlbC5vdXRlckhlaWdodCgpLA0KCQkJb3V0ZXJXaWR0aDogZWwub3V0ZXJXaWR0aCgpDQoJCX0sDQoJCWZhY3RvciA9IHsNCgkJCXk6IGRpcmVjdGlvbiAhPT0gImhvcml6b250YWwiID8gKHBlcmNlbnQgLyAxMDApIDogMSwNCgkJCXg6IGRpcmVjdGlvbiAhPT0gInZlcnRpY2FsIiA/IChwZXJjZW50IC8gMTAwKSA6IDENCgkJfTsNCg0KCS8vIFdlIGFyZSBnb2luZyB0byBwYXNzIHRoaXMgZWZmZWN0IHRvIHRoZSBzaXplIGVmZmVjdDoNCglvcHRpb25zLmVmZmVjdCA9ICJzaXplIjsNCglvcHRpb25zLnF1ZXVlID0gZmFsc2U7DQoJb3B0aW9ucy5jb21wbGV0ZSA9IGRvbmU7DQoNCgkvLyBTZXQgZGVmYXVsdCBvcmlnaW4gYW5kIHJlc3RvcmUgZm9yIHNob3cvaGlkZQ0KCWlmICggbW9kZSAhPT0gImVmZmVjdCIgKSB7DQoJCW9wdGlvbnMub3JpZ2luID0gb3JpZ2luIHx8IFsgIm1pZGRsZSIsICJjZW50ZXIiIF07DQoJCW9wdGlvbnMucmVzdG9yZSA9IHRydWU7DQoJfQ0KDQoJb3B0aW9ucy5mcm9tID0gby5mcm9tIHx8ICggbW9kZSA9PT0gInNob3ciID8gew0KCQloZWlnaHQ6IDAsDQoJCXdpZHRoOiAwLA0KCQlvdXRlckhlaWdodDogMCwNCgkJb3V0ZXJXaWR0aDogMA0KCX0gOiBvcmlnaW5hbCApOw0KCW9wdGlvbnMudG8gPSB7DQoJCWhlaWdodDogb3JpZ2luYWwuaGVpZ2h0ICogZmFjdG9yLnksDQoJCXdpZHRoOiBvcmlnaW5hbC53aWR0aCAqIGZhY3Rvci54LA0KCQlvdXRlckhlaWdodDogb3JpZ2luYWwub3V0ZXJIZWlnaHQgKiBmYWN0b3IueSwNCgkJb3V0ZXJXaWR0aDogb3JpZ2luYWwub3V0ZXJXaWR0aCAqIGZhY3Rvci54DQoJfTsNCg0KCS8vIEZhZGUgb3B0aW9uIHRvIHN1cHBvcnQgcHVmZg0KCWlmICggb3B0aW9ucy5mYWRlICkgew0KCQlpZiAoIG1vZGUgPT09ICJzaG93IiApIHsNCgkJCW9wdGlvbnMuZnJvbS5vcGFjaXR5ID0gMDsNCgkJCW9wdGlvbnMudG8ub3BhY2l0eSA9IDE7DQoJCX0NCgkJaWYgKCBtb2RlID09PSAiaGlkZSIgKSB7DQoJCQlvcHRpb25zLmZyb20ub3BhY2l0eSA9IDE7DQoJCQlvcHRpb25zLnRvLm9wYWNpdHkgPSAwOw0KCQl9DQoJfQ0KDQoJLy8gQW5pbWF0ZQ0KCWVsLmVmZmVjdCggb3B0aW9ucyApOw0KDQp9Ow0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIEVmZmVjdHMgUHVmZiAxLjExLjQNCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICoNCiAqIGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL3B1ZmYtZWZmZWN0Lw0KICovDQoNCg0KdmFyIGVmZmVjdFB1ZmYgPSAkLmVmZmVjdHMuZWZmZWN0LnB1ZmYgPSBmdW5jdGlvbiggbywgZG9uZSApIHsNCgl2YXIgZWxlbSA9ICQoIHRoaXMgKSwNCgkJbW9kZSA9ICQuZWZmZWN0cy5zZXRNb2RlKCBlbGVtLCBvLm1vZGUgfHwgImhpZGUiICksDQoJCWhpZGUgPSBtb2RlID09PSAiaGlkZSIsDQoJCXBlcmNlbnQgPSBwYXJzZUludCggby5wZXJjZW50LCAxMCApIHx8IDE1MCwNCgkJZmFjdG9yID0gcGVyY2VudCAvIDEwMCwNCgkJb3JpZ2luYWwgPSB7DQoJCQloZWlnaHQ6IGVsZW0uaGVpZ2h0KCksDQoJCQl3aWR0aDogZWxlbS53aWR0aCgpLA0KCQkJb3V0ZXJIZWlnaHQ6IGVsZW0ub3V0ZXJIZWlnaHQoKSwNCgkJCW91dGVyV2lkdGg6IGVsZW0ub3V0ZXJXaWR0aCgpDQoJCX07DQoNCgkkLmV4dGVuZCggbywgew0KCQllZmZlY3Q6ICJzY2FsZSIsDQoJCXF1ZXVlOiBmYWxzZSwNCgkJZmFkZTogdHJ1ZSwNCgkJbW9kZTogbW9kZSwNCgkJY29tcGxldGU6IGRvbmUsDQoJCXBlcmNlbnQ6IGhpZGUgPyBwZXJjZW50IDogMTAwLA0KCQlmcm9tOiBoaWRlID8NCgkJCW9yaWdpbmFsIDoNCgkJCXsNCgkJCQloZWlnaHQ6IG9yaWdpbmFsLmhlaWdodCAqIGZhY3RvciwNCgkJCQl3aWR0aDogb3JpZ2luYWwud2lkdGggKiBmYWN0b3IsDQoJCQkJb3V0ZXJIZWlnaHQ6IG9yaWdpbmFsLm91dGVySGVpZ2h0ICogZmFjdG9yLA0KCQkJCW91dGVyV2lkdGg6IG9yaWdpbmFsLm91dGVyV2lkdGggKiBmYWN0b3INCgkJCX0NCgl9KTsNCg0KCWVsZW0uZWZmZWN0KCBvICk7DQp9Ow0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIEVmZmVjdHMgUHVsc2F0ZSAxLjExLjQNCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICoNCiAqIGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL3B1bHNhdGUtZWZmZWN0Lw0KICovDQoNCg0KdmFyIGVmZmVjdFB1bHNhdGUgPSAkLmVmZmVjdHMuZWZmZWN0LnB1bHNhdGUgPSBmdW5jdGlvbiggbywgZG9uZSApIHsNCgl2YXIgZWxlbSA9ICQoIHRoaXMgKSwNCgkJbW9kZSA9ICQuZWZmZWN0cy5zZXRNb2RlKCBlbGVtLCBvLm1vZGUgfHwgInNob3ciICksDQoJCXNob3cgPSBtb2RlID09PSAic2hvdyIsDQoJCWhpZGUgPSBtb2RlID09PSAiaGlkZSIsDQoJCXNob3doaWRlID0gKCBzaG93IHx8IG1vZGUgPT09ICJoaWRlIiApLA0KDQoJCS8vIHNob3dpbmcgb3IgaGlkaW5nIGxlYXZlcyBvZiB0aGUgImxhc3QiIGFuaW1hdGlvbg0KCQlhbmltcyA9ICggKCBvLnRpbWVzIHx8IDUgKSAqIDIgKSArICggc2hvd2hpZGUgPyAxIDogMCApLA0KCQlkdXJhdGlvbiA9IG8uZHVyYXRpb24gLyBhbmltcywNCgkJYW5pbWF0ZVRvID0gMCwNCgkJcXVldWUgPSBlbGVtLnF1ZXVlKCksDQoJCXF1ZXVlbGVuID0gcXVldWUubGVuZ3RoLA0KCQlpOw0KDQoJaWYgKCBzaG93IHx8ICFlbGVtLmlzKCI6dmlzaWJsZSIpKSB7DQoJCWVsZW0uY3NzKCAib3BhY2l0eSIsIDAgKS5zaG93KCk7DQoJCWFuaW1hdGVUbyA9IDE7DQoJfQ0KDQoJLy8gYW5pbXMgLSAxIG9wYWNpdHkgInRvZ2dsZXMiDQoJZm9yICggaSA9IDE7IGkgPCBhbmltczsgaSsrICkgew0KCQllbGVtLmFuaW1hdGUoew0KCQkJb3BhY2l0eTogYW5pbWF0ZVRvDQoJCX0sIGR1cmF0aW9uLCBvLmVhc2luZyApOw0KCQlhbmltYXRlVG8gPSAxIC0gYW5pbWF0ZVRvOw0KCX0NCg0KCWVsZW0uYW5pbWF0ZSh7DQoJCW9wYWNpdHk6IGFuaW1hdGVUbw0KCX0sIGR1cmF0aW9uLCBvLmVhc2luZyk7DQoNCgllbGVtLnF1ZXVlKGZ1bmN0aW9uKCkgew0KCQlpZiAoIGhpZGUgKSB7DQoJCQllbGVtLmhpZGUoKTsNCgkJfQ0KCQlkb25lKCk7DQoJfSk7DQoNCgkvLyBXZSBqdXN0IHF1ZXVlZCB1cCAiYW5pbXMiIGFuaW1hdGlvbnMsIHdlIG5lZWQgdG8gcHV0IHRoZW0gbmV4dCBpbiB0aGUgcXVldWUNCglpZiAoIHF1ZXVlbGVuID4gMSApIHsNCgkJcXVldWUuc3BsaWNlLmFwcGx5KCBxdWV1ZSwNCgkJCVsgMSwgMCBdLmNvbmNhdCggcXVldWUuc3BsaWNlKCBxdWV1ZWxlbiwgYW5pbXMgKyAxICkgKSApOw0KCX0NCgllbGVtLmRlcXVldWUoKTsNCn07DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgRWZmZWN0cyBTaGFrZSAxLjExLjQNCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICoNCiAqIGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL3NoYWtlLWVmZmVjdC8NCiAqLw0KDQoNCnZhciBlZmZlY3RTaGFrZSA9ICQuZWZmZWN0cy5lZmZlY3Quc2hha2UgPSBmdW5jdGlvbiggbywgZG9uZSApIHsNCg0KCXZhciBlbCA9ICQoIHRoaXMgKSwNCgkJcHJvcHMgPSBbICJwb3NpdGlvbiIsICJ0b3AiLCAiYm90dG9tIiwgImxlZnQiLCAicmlnaHQiLCAiaGVpZ2h0IiwgIndpZHRoIiBdLA0KCQltb2RlID0gJC5lZmZlY3RzLnNldE1vZGUoIGVsLCBvLm1vZGUgfHwgImVmZmVjdCIgKSwNCgkJZGlyZWN0aW9uID0gby5kaXJlY3Rpb24gfHwgImxlZnQiLA0KCQlkaXN0YW5jZSA9IG8uZGlzdGFuY2UgfHwgMjAsDQoJCXRpbWVzID0gby50aW1lcyB8fCAzLA0KCQlhbmltcyA9IHRpbWVzICogMiArIDEsDQoJCXNwZWVkID0gTWF0aC5yb3VuZCggby5kdXJhdGlvbiAvIGFuaW1zICksDQoJCXJlZiA9IChkaXJlY3Rpb24gPT09ICJ1cCIgfHwgZGlyZWN0aW9uID09PSAiZG93biIpID8gInRvcCIgOiAibGVmdCIsDQoJCXBvc2l0aXZlTW90aW9uID0gKGRpcmVjdGlvbiA9PT0gInVwIiB8fCBkaXJlY3Rpb24gPT09ICJsZWZ0IiksDQoJCWFuaW1hdGlvbiA9IHt9LA0KCQlhbmltYXRpb24xID0ge30sDQoJCWFuaW1hdGlvbjIgPSB7fSwNCgkJaSwNCg0KCQkvLyB3ZSB3aWxsIG5lZWQgdG8gcmUtYXNzZW1ibGUgdGhlIHF1ZXVlIHRvIHN0YWNrIG91ciBhbmltYXRpb25zIGluIHBsYWNlDQoJCXF1ZXVlID0gZWwucXVldWUoKSwNCgkJcXVldWVsZW4gPSBxdWV1ZS5sZW5ndGg7DQoNCgkkLmVmZmVjdHMuc2F2ZSggZWwsIHByb3BzICk7DQoJZWwuc2hvdygpOw0KCSQuZWZmZWN0cy5jcmVhdGVXcmFwcGVyKCBlbCApOw0KDQoJLy8gQW5pbWF0aW9uDQoJYW5pbWF0aW9uWyByZWYgXSA9ICggcG9zaXRpdmVNb3Rpb24gPyAiLT0iIDogIis9IiApICsgZGlzdGFuY2U7DQoJYW5pbWF0aW9uMVsgcmVmIF0gPSAoIHBvc2l0aXZlTW90aW9uID8gIis9IiA6ICItPSIgKSArIGRpc3RhbmNlICogMjsNCglhbmltYXRpb24yWyByZWYgXSA9ICggcG9zaXRpdmVNb3Rpb24gPyAiLT0iIDogIis9IiApICsgZGlzdGFuY2UgKiAyOw0KDQoJLy8gQW5pbWF0ZQ0KCWVsLmFuaW1hdGUoIGFuaW1hdGlvbiwgc3BlZWQsIG8uZWFzaW5nICk7DQoNCgkvLyBTaGFrZXMNCglmb3IgKCBpID0gMTsgaSA8IHRpbWVzOyBpKysgKSB7DQoJCWVsLmFuaW1hdGUoIGFuaW1hdGlvbjEsIHNwZWVkLCBvLmVhc2luZyApLmFuaW1hdGUoIGFuaW1hdGlvbjIsIHNwZWVkLCBvLmVhc2luZyApOw0KCX0NCgllbA0KCQkuYW5pbWF0ZSggYW5pbWF0aW9uMSwgc3BlZWQsIG8uZWFzaW5nICkNCgkJLmFuaW1hdGUoIGFuaW1hdGlvbiwgc3BlZWQgLyAyLCBvLmVhc2luZyApDQoJCS5xdWV1ZShmdW5jdGlvbigpIHsNCgkJCWlmICggbW9kZSA9PT0gImhpZGUiICkgew0KCQkJCWVsLmhpZGUoKTsNCgkJCX0NCgkJCSQuZWZmZWN0cy5yZXN0b3JlKCBlbCwgcHJvcHMgKTsNCgkJCSQuZWZmZWN0cy5yZW1vdmVXcmFwcGVyKCBlbCApOw0KCQkJZG9uZSgpOw0KCQl9KTsNCg0KCS8vIGluamVjdCBhbGwgdGhlIGFuaW1hdGlvbnMgd2UganVzdCBxdWV1ZWQgdG8gYmUgZmlyc3QgaW4gbGluZSAoYWZ0ZXIgImlucHJvZ3Jlc3MiKQ0KCWlmICggcXVldWVsZW4gPiAxKSB7DQoJCXF1ZXVlLnNwbGljZS5hcHBseSggcXVldWUsDQoJCQlbIDEsIDAgXS5jb25jYXQoIHF1ZXVlLnNwbGljZSggcXVldWVsZW4sIGFuaW1zICsgMSApICkgKTsNCgl9DQoJZWwuZGVxdWV1ZSgpOw0KDQp9Ow0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIEVmZmVjdHMgU2xpZGUgMS4xMS40DQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqDQogKiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9zbGlkZS1lZmZlY3QvDQogKi8NCg0KDQp2YXIgZWZmZWN0U2xpZGUgPSAkLmVmZmVjdHMuZWZmZWN0LnNsaWRlID0gZnVuY3Rpb24oIG8sIGRvbmUgKSB7DQoNCgkvLyBDcmVhdGUgZWxlbWVudA0KCXZhciBlbCA9ICQoIHRoaXMgKSwNCgkJcHJvcHMgPSBbICJwb3NpdGlvbiIsICJ0b3AiLCAiYm90dG9tIiwgImxlZnQiLCAicmlnaHQiLCAid2lkdGgiLCAiaGVpZ2h0IiBdLA0KCQltb2RlID0gJC5lZmZlY3RzLnNldE1vZGUoIGVsLCBvLm1vZGUgfHwgInNob3ciICksDQoJCXNob3cgPSBtb2RlID09PSAic2hvdyIsDQoJCWRpcmVjdGlvbiA9IG8uZGlyZWN0aW9uIHx8ICJsZWZ0IiwNCgkJcmVmID0gKGRpcmVjdGlvbiA9PT0gInVwIiB8fCBkaXJlY3Rpb24gPT09ICJkb3duIikgPyAidG9wIiA6ICJsZWZ0IiwNCgkJcG9zaXRpdmVNb3Rpb24gPSAoZGlyZWN0aW9uID09PSAidXAiIHx8IGRpcmVjdGlvbiA9PT0gImxlZnQiKSwNCgkJZGlzdGFuY2UsDQoJCWFuaW1hdGlvbiA9IHt9Ow0KDQoJLy8gQWRqdXN0DQoJJC5lZmZlY3RzLnNhdmUoIGVsLCBwcm9wcyApOw0KCWVsLnNob3coKTsNCglkaXN0YW5jZSA9IG8uZGlzdGFuY2UgfHwgZWxbIHJlZiA9PT0gInRvcCIgPyAib3V0ZXJIZWlnaHQiIDogIm91dGVyV2lkdGgiIF0oIHRydWUgKTsNCg0KCSQuZWZmZWN0cy5jcmVhdGVXcmFwcGVyKCBlbCApLmNzcyh7DQoJCW92ZXJmbG93OiAiaGlkZGVuIg0KCX0pOw0KDQoJaWYgKCBzaG93ICkgew0KCQllbC5jc3MoIHJlZiwgcG9zaXRpdmVNb3Rpb24gPyAoaXNOYU4oZGlzdGFuY2UpID8gIi0iICsgZGlzdGFuY2UgOiAtZGlzdGFuY2UpIDogZGlzdGFuY2UgKTsNCgl9DQoNCgkvLyBBbmltYXRpb24NCglhbmltYXRpb25bIHJlZiBdID0gKCBzaG93ID8NCgkJKCBwb3NpdGl2ZU1vdGlvbiA/ICIrPSIgOiAiLT0iKSA6DQoJCSggcG9zaXRpdmVNb3Rpb24gPyAiLT0iIDogIis9IikpICsNCgkJZGlzdGFuY2U7DQoNCgkvLyBBbmltYXRlDQoJZWwuYW5pbWF0ZSggYW5pbWF0aW9uLCB7DQoJCXF1ZXVlOiBmYWxzZSwNCgkJZHVyYXRpb246IG8uZHVyYXRpb24sDQoJCWVhc2luZzogby5lYXNpbmcsDQoJCWNvbXBsZXRlOiBmdW5jdGlvbigpIHsNCgkJCWlmICggbW9kZSA9PT0gImhpZGUiICkgew0KCQkJCWVsLmhpZGUoKTsNCgkJCX0NCgkJCSQuZWZmZWN0cy5yZXN0b3JlKCBlbCwgcHJvcHMgKTsNCgkJCSQuZWZmZWN0cy5yZW1vdmVXcmFwcGVyKCBlbCApOw0KCQkJZG9uZSgpOw0KCQl9DQoJfSk7DQp9Ow0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIEVmZmVjdHMgVHJhbnNmZXIgMS4xMS40DQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqDQogKiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS90cmFuc2Zlci1lZmZlY3QvDQogKi8NCg0KDQp2YXIgZWZmZWN0VHJhbnNmZXIgPSAkLmVmZmVjdHMuZWZmZWN0LnRyYW5zZmVyID0gZnVuY3Rpb24oIG8sIGRvbmUgKSB7DQoJdmFyIGVsZW0gPSAkKCB0aGlzICksDQoJCXRhcmdldCA9ICQoIG8udG8gKSwNCgkJdGFyZ2V0Rml4ZWQgPSB0YXJnZXQuY3NzKCAicG9zaXRpb24iICkgPT09ICJmaXhlZCIsDQoJCWJvZHkgPSAkKCJib2R5IiksDQoJCWZpeFRvcCA9IHRhcmdldEZpeGVkID8gYm9keS5zY3JvbGxUb3AoKSA6IDAsDQoJCWZpeExlZnQgPSB0YXJnZXRGaXhlZCA/IGJvZHkuc2Nyb2xsTGVmdCgpIDogMCwNCgkJZW5kUG9zaXRpb24gPSB0YXJnZXQub2Zmc2V0KCksDQoJCWFuaW1hdGlvbiA9IHsNCgkJCXRvcDogZW5kUG9zaXRpb24udG9wIC0gZml4VG9wLA0KCQkJbGVmdDogZW5kUG9zaXRpb24ubGVmdCAtIGZpeExlZnQsDQoJCQloZWlnaHQ6IHRhcmdldC5pbm5lckhlaWdodCgpLA0KCQkJd2lkdGg6IHRhcmdldC5pbm5lcldpZHRoKCkNCgkJfSwNCgkJc3RhcnRQb3NpdGlvbiA9IGVsZW0ub2Zmc2V0KCksDQoJCXRyYW5zZmVyID0gJCggIjxkaXYgY2xhc3M9J3VpLWVmZmVjdHMtdHJhbnNmZXInPjwvZGl2PiIgKQ0KCQkJLmFwcGVuZFRvKCBkb2N1bWVudC5ib2R5ICkNCgkJCS5hZGRDbGFzcyggby5jbGFzc05hbWUgKQ0KCQkJLmNzcyh7DQoJCQkJdG9wOiBzdGFydFBvc2l0aW9uLnRvcCAtIGZpeFRvcCwNCgkJCQlsZWZ0OiBzdGFydFBvc2l0aW9uLmxlZnQgLSBmaXhMZWZ0LA0KCQkJCWhlaWdodDogZWxlbS5pbm5lckhlaWdodCgpLA0KCQkJCXdpZHRoOiBlbGVtLmlubmVyV2lkdGgoKSwNCgkJCQlwb3NpdGlvbjogdGFyZ2V0Rml4ZWQgPyAiZml4ZWQiIDogImFic29sdXRlIg0KCQkJfSkNCgkJCS5hbmltYXRlKCBhbmltYXRpb24sIG8uZHVyYXRpb24sIG8uZWFzaW5nLCBmdW5jdGlvbigpIHsNCgkJCQl0cmFuc2Zlci5yZW1vdmUoKTsNCgkJCQlkb25lKCk7DQoJCQl9KTsNCn07DQoNCg0KDQp9KSk7"}},"time_used":111,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":56,"receive":55,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/img/payment_6.png","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.156Z","timestamp":1785120633156,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /img/payment_6.png HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: image/png\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-d37\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":3383,"size_decoded":3392,"mime_type":"image/png","magic":"PNG image data, 139 x 25, 8-bit/color RGBA, non-interlaced","md5":"2f6ca6076b7bb35912eeb869ae0e83a9","sha1":"1ba5b2c5eb1519743f0beba653237d13d55c4c73","sha256":"6b1208b83a36149a1e4d769dd6e9f3bfdb524952f7b2079ade7ec8a887667545","sha512":"1e7778a79af22563a127bcdf3caf97511d6e519a022f578178a30fe80025d562759e937af9fd2f64e583bf5f191056f1825986ca87b9f62366aa4c502c4d1c9d","ssdeep":"","tlshash":"fd618c6df9a01c619d4f960a1ef3cd8fa80e13a00262c0193cc9e46d1d8a5f404376df","first_seen":"2026-07-27T02:45:25.12206Z","last_seen":"2026-07-27T02:59:54.514399Z","times_seen":4,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAIsAAAAZCAYAAAABt923AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RDIzMzIwNzM5MTcyMTFFODhGMDhBNDNGM0VDODZGRjUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RDIzMzIwNzQ5MTcyMTFFODhGMDhBNDNGM0VDODZGRjUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpEMjMzMjA3MTkxNzIxMUU4OEYwOEE0M0YzRUM4NkZGNSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpEMjMzMjA3MjkxNzIxMUU4OEYwOEE0M0YzRUM4NkZGNSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pr7h8asAAAmrSURBVHja7JoJcFXl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"}},"time_used":41,"timings":{"blocked":12,"dns":0,"connect":0,"send":0,"wait":29,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"binarymate.com/assets/landing/platform-tiny/js/jquery-1.11.3.min.js","fqdn":"binarymate.com","domain":"binarymate.com","tld":"com"},"ip":{"addr":"172.67.160.195","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://binarymate.com/en/tyni-platform?r=https://247optiontradefx.live/dashboard/register","date":"2026-07-27T02:50:33.772Z","timestamp":1785120633772,"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":"binarymate.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 14 Jun 2026 17:48:17 GMT","end":"Sat, 12 Sep 2026 18:48:16 GMT"},"fingerprint":{"sha1":"26:CD:F2:69:FE:7F:C6:01:56:78:36:8F:A3:D6:FB:30:04:43:72:C0","sha256":"84:94:E9:41:71:FF:C7:FC:0D:D1:FE:9F:61:E9:EB:27:62:B3:01:D9:AA:F6:35:FB:C6:FA:4A:CE:9B:16:0B:7E"}}},"request":{"raw":"GET /assets/landing/platform-tiny/js/jquery-1.11.3.min.js HTTP/1.1\r\nHost: binarymate.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://binarymate.com/en/tyni-platform?r=https://247optiontradefx.live/dashboard/register\r\nCookie: laravel_session=UYESX7wELN8BSPz4LvfUKeGrrWO22l12CaQ7FWII\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\npriority: u=3,i=?0\r\ncontent-type: application/javascript\r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nlast-modified: Thu, 12 May 2016 06:50:27 GMT\r\nserver: cloudflare\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=k8%2FNqZneCbrtN6pyhSDRslELdegMbx%2BdQOYyu9%2FtkPzoc02jAdXI6%2FJlE6uIf30RjpoiicDseEo4K%2BxqBOfDFTFmg2LLxWBb07Op3OpRbP%2Fl46bsRwvOSzN%2BtCdStmvvVQ%3D%3D\"}]}\r\nage: 373\r\ncache-control: max-age=14400\r\ncf-cache-status: HIT\r\ncontent-encoding: zstd\r\netag: W/\"573427b3-176d5\"\r\ncf-ray: a21856591ad18be6-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"]}],"data":{"size":95957,"size_decoded":36023,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (32038)","md5":"895323ed2f7258af4fae2c738c8aea49","sha1":"276c87ff3e1e3155679c318938e74e5c1b76d809","sha256":"ecb916133a9376911f10bc5c659952eb0031e457f5df367cde560edbfba38fb8","sha512":"c40111c3cc0754e90cf71f72f7f16f43b835b7e808423dfd99f90dd5177538b702e64ff1d9ee8d3bc86aeaa11b6f7a0ef826184e354b162158839ffb75d174cc","ssdeep":"1536:OP10iSi65U/dXXeyhzeBuG+HYE0WEeLDFoNqLTW8+S5VRZIVI6xSb8xh2ZbQnRmc:R+41ZqLTW8xRrqSb8qGH77da98Hrf","tlshash":"3b93d8d9b7d67162977730b850bf510bb13a98eab80c4ca0f0a4d8e47d74a89507bf2d","first_seen":"2023-03-07T01:02:25Z","last_seen":"2026-07-27T04:54:19.837588Z","times_seen":18359,"resource_available":true,"data":"LyohIGpRdWVyeSB2MS4xMS4zIHwgKGMpIDIwMDUsIDIwMTUgalF1ZXJ5IEZvdW5kYXRpb24sIEluYy4gfCBqcXVlcnkub3JnL2xpY2Vuc2UgKi8KIWZ1bmN0aW9uKGEsYil7Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9YS5kb2N1bWVudD9iKGEsITApOmZ1bmN0aW9uKGEpe2lmKCFhLmRvY3VtZW50KXRocm93IG5ldyBFcnJvcigialF1ZXJ5IHJlcXVpcmVzIGEgd2luZG93IHdpdGggYSBkb2N1bWVudCIpO3JldHVybiBiKGEpfTpiKGEpfSgidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6dGhpcyxmdW5jdGlvbihhLGIpe3ZhciBjPVtdLGQ9Yy5zbGljZSxlPWMuY29uY2F0LGY9Yy5wdXNoLGc9Yy5pbmRleE9mLGg9e30saT1oLnRvU3RyaW5nLGo9aC5oYXNPd25Qcm9wZXJ0eSxrPXt9LGw9IjEuMTEuMyIsbT1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgbS5mbi5pbml0KGEsYil9LG49L15bXHNcdUZFRkZceEEwXSt8W1xzXHVGRUZGXHhBMF0rJC9nLG89L14tbXMtLyxwPS8tKFtcZGEtel0pL2dpLHE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi50b1VwcGVyQ2FzZSgpfTttLmZuPW0ucHJvdG90eXBlPXtqcXVlcnk6bCxjb25zdHJ1Y3RvcjptLHNlbGVjdG9yOiIiLGxlbmd0aDowLHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gZC5jYWxsKHRoaXMpfSxnZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPWE/MD5hP3RoaXNbYSt0aGlzLmxlbmd0aF06dGhpc1thXTpkLmNhbGwodGhpcyl9LHB1c2hTdGFjazpmdW5jdGlvbihhKXt2YXIgYj1tLm1lcmdlKHRoaXMuY29uc3RydWN0b3IoKSxhKTtyZXR1cm4gYi5wcmV2T2JqZWN0PXRoaXMsYi5jb250ZXh0PXRoaXMuY29udGV4dCxifSxlYWNoOmZ1bmN0aW9uKGEsYil7cmV0dXJuIG0uZWFjaCh0aGlzLGEsYil9LG1hcDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sobS5tYXAodGhpcyxmdW5jdGlvbihiLGMpe3JldHVybiBhLmNhbGwoYixjLGIpfSkpfSxzbGljZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhkLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9LGZpcnN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoMCl9LGxhc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgtMSl9LGVxOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMubGVuZ3RoLGM9K2ErKDA+YT9iOjApO3JldHVybiB0aGlzLnB1c2hTdGFjayhjPj0wJiZiPmM/W3RoaXNbY11dOltdKX0sZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHJldk9iamVjdHx8dGhpcy5jb25zdHJ1Y3RvcihudWxsKX0scHVzaDpmLHNvcnQ6Yy5zb3J0LHNwbGljZTpjLnNwbGljZX0sbS5leHRlbmQ9bS5mbi5leHRlbmQ9ZnVuY3Rpb24oKXt2YXIgYSxiLGMsZCxlLGYsZz1hcmd1bWVudHNbMF18fHt9LGg9MSxpPWFyZ3VtZW50cy5sZW5ndGgsaj0hMTtmb3IoImJvb2xlYW4iPT10eXBlb2YgZyYmKGo9ZyxnPWFyZ3VtZW50c1toXXx8e30saCsrKSwib2JqZWN0Ij09dHlwZW9mIGd8fG0uaXNGdW5jdGlvbihnKXx8KGc9e30pLGg9PT1pJiYoZz10aGlzLGgtLSk7aT5oO2grKylpZihudWxsIT0oZT1hcmd1bWVudHNbaF0pKWZvcihkIGluIGUpYT1nW2RdLGM9ZVtkXSxnIT09YyYmKGomJmMmJihtLmlzUGxhaW5PYmplY3QoYyl8fChiPW0uaXNBcnJheShjKSkpPyhiPyhiPSExLGY9YSYmbS5pc0FycmF5KGEpP2E6W10pOmY9YSYmbS5pc1BsYWluT2JqZWN0KGEpP2E6e30sZ1tkXT1tLmV4dGVuZChqLGYsYykpOnZvaWQgMCE9PWMmJihnW2RdPWMpKTtyZXR1cm4gZ30sbS5leHRlbmQoe2V4cGFuZG86ImpRdWVyeSIrKGwrTWF0aC5yYW5kb20oKSkucmVwbGFjZSgvXEQvZywiIiksaXNSZWFkeTohMCxlcnJvcjpmdW5jdGlvbihhKXt0aHJvdyBuZXcgRXJyb3IoYSl9LG5vb3A6ZnVuY3Rpb24oKXt9LGlzRnVuY3Rpb246ZnVuY3Rpb24oYSl7cmV0dXJuImZ1bmN0aW9uIj09PW0udHlwZShhKX0saXNBcnJheTpBcnJheS5pc0FycmF5fHxmdW5jdGlvbihhKXtyZXR1cm4iYXJyYXkiPT09bS50eXBlKGEpfSxpc1dpbmRvdzpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbCE9YSYmYT09YS53aW5kb3d9LGlzTnVtZXJpYzpmdW5jdGlvbihhKXtyZXR1cm4hbS5pc0FycmF5KGEpJiZhLXBhcnNlRmxvYXQoYSkrMT49MH0saXNFbXB0eU9iamVjdDpmdW5jdGlvbihhKXt2YXIgYjtmb3IoYiBpbiBhKXJldHVybiExO3JldHVybiEwfSxpc1BsYWluT2JqZWN0OmZ1bmN0aW9uKGEpe3ZhciBiO2lmKCFhfHwib2JqZWN0IiE9PW0udHlwZShhKXx8YS5ub2RlVHlwZXx8bS5pc1dpbmRvdyhhKSlyZXR1cm4hMTt0cnl7aWYoYS5jb25zdHJ1Y3RvciYmIWouY2FsbChhLCJjb25zdHJ1Y3RvciIpJiYhai5jYWxsKGEuY29uc3RydWN0b3IucHJvdG90eXBlLCJpc1Byb3RvdHlwZU9mIikpcmV0dXJuITF9Y2F0Y2goYyl7cmV0dXJuITF9aWYoay5vd25MYXN0KWZvcihiIGluIGEpcmV0dXJuIGouY2FsbChhLGIpO2ZvcihiIGluIGEpO3JldHVybiB2b2lkIDA9PT1ifHxqLmNhbGwoYSxiKX0sdHlwZTpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YT9hKyIiOiJvYmplY3QiPT10eXBlb2YgYXx8ImZ1bmN0aW9uIj09dHlwZW9mIGE/aFtpLmNhbGwoYSldfHwib2JqZWN0Ijp0eXBlb2YgYX0sZ2xvYmFsRXZhbDpmdW5jdGlvbihiKXtiJiZtLnRyaW0oYikmJihhLmV4ZWNTY3JpcHR8fGZ1bmN0aW9uKGIpe2EuZXZhbC5jYWxsKGEsYil9KShiKX0sY2FtZWxDYXNlOmZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UobywibXMtIikucmVwbGFjZShwLHEpfSxub2RlTmFtZTpmdW5jdGlvbihhLGIpe3JldHVybiBhLm5vZGVOYW1lJiZhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1iLnRvTG93ZXJDYXNlKCl9LGVhY2g6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGU9MCxmPWEubGVuZ3RoLGc9cihhKTtpZihjKXtpZihnKXtmb3IoO2Y+ZTtlKyspaWYoZD1iLmFwcGx5KGFbZV0sYyksZD09PSExKWJyZWFrfWVsc2UgZm9yKGUgaW4gYSlpZihkPWIuYXBwbHkoYVtlXSxjKSxkPT09ITEpYnJlYWt9ZWxzZSBpZihnKXtmb3IoO2Y+ZTtlKyspaWYoZD1iLmNhbGwoYVtlXSxlLGFbZV0pLGQ9PT0hMSlicmVha31lbHNlIGZvcihlIGluIGEpaWYoZD1iLmNhbGwoYVtlXSxlLGFbZV0pLGQ9PT0hMSlicmVhaztyZXR1cm4gYX0sdHJpbTpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YT8iIjooYSsiIikucmVwbGFjZShuLCIiKX0sbWFrZUFycmF5OmZ1bmN0aW9uKGEsYil7dmFyIGM9Ynx8W107cmV0dXJuIG51bGwhPWEmJihyKE9iamVjdChhKSk/bS5tZXJnZShjLCJzdHJpbmciPT10eXBlb2YgYT9bYV06YSk6Zi5jYWxsKGMsYSkpLGN9LGluQXJyYXk6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO2lmKGIpe2lmKGcpcmV0dXJuIGcuY2FsbChiLGEsYyk7Zm9yKGQ9Yi5sZW5ndGgsYz1jPzA+Yz9NYXRoLm1heCgwLGQrYyk6YzowO2Q+YztjKyspaWYoYyBpbiBiJiZiW2NdPT09YSlyZXR1cm4gY31yZXR1cm4tMX0sbWVyZ2U6ZnVuY3Rpb24oYSxiKXt2YXIgYz0rYi5sZW5ndGgsZD0wLGU9YS5sZW5ndGg7d2hpbGUoYz5kKWFbZSsrXT1iW2QrK107aWYoYyE9PWMpd2hpbGUodm9pZCAwIT09YltkXSlhW2UrK109YltkKytdO3JldHVybiBhLmxlbmd0aD1lLGF9LGdyZXA6ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZCxlPVtdLGY9MCxnPWEubGVuZ3RoLGg9IWM7Zz5mO2YrKylkPSFiKGFbZl0sZiksZCE9PWgmJmUucHVzaChhW2ZdKTtyZXR1cm4gZX0sbWFwOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxmPTAsZz1hLmxlbmd0aCxoPXIoYSksaT1bXTtpZihoKWZvcig7Zz5mO2YrKylkPWIoYVtmXSxmLGMpLG51bGwhPWQmJmkucHVzaChkKTtlbHNlIGZvcihmIGluIGEpZD1iKGFbZl0sZixjKSxudWxsIT1kJiZpLnB1c2goZCk7cmV0dXJuIGUuYXBwbHkoW10saSl9LGd1aWQ6MSxwcm94eTpmdW5jdGlvbihhLGIpe3ZhciBjLGUsZjtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGImJihmPWFbYl0sYj1hLGE9ZiksbS5pc0Z1bmN0aW9uKGEpPyhjPWQuY2FsbChhcmd1bWVudHMsMiksZT1mdW5jdGlvbigpe3JldHVybiBhLmFwcGx5KGJ8fHRoaXMsYy5jb25jYXQoZC5jYWxsKGFyZ3VtZW50cykpKX0sZS5ndWlkPWEuZ3VpZD1hLmd1aWR8fG0uZ3VpZCsrLGUpOnZvaWQgMH0sbm93OmZ1bmN0aW9uKCl7cmV0dXJuK25ldyBEYXRlfSxzdXBwb3J0Omt9KSxtLmVhY2goIkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRlIFJlZ0V4cCBPYmplY3QgRXJyb3IiLnNwbGl0KCIgIiksZnVuY3Rpb24oYSxiKXtoWyJbb2JqZWN0ICIrYisiXSJdPWIudG9Mb3dlckNhc2UoKX0pO2Z1bmN0aW9uIHIoYSl7dmFyIGI9Imxlbmd0aCJpbiBhJiZhLmxlbmd0aCxjPW0udHlwZShhKTtyZXR1cm4iZnVuY3Rpb24iPT09Y3x8bS5pc1dpbmRvdyhhKT8hMToxPT09YS5ub2RlVHlwZSYmYj8hMDoiYXJyYXkiPT09Y3x8MD09PWJ8fCJudW1iZXIiPT10eXBlb2YgYiYmYj4wJiZiLTEgaW4gYX12YXIgcz1mdW5jdGlvbihhKXt2YXIgYixjLGQsZSxmLGcsaCxpLGosayxsLG0sbixvLHAscSxyLHMsdCx1PSJzaXp6bGUiKzEqbmV3IERhdGUsdj1hLmRvY3VtZW50LHc9MCx4PTAseT1oYSgpLHo9aGEoKSxBPWhhKCksQj1mdW5jdGlvbihhLGIpe3JldHVybiBhPT09YiYmKGw9ITApLDB9LEM9MTw8MzEsRD17fS5oYXNPd25Qcm9wZXJ0eSxFPVtdLEY9RS5wb3AsRz1FLnB1c2gsSD1FLnB1c2gsST1FLnNsaWNlLEo9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MCxkPWEubGVuZ3RoO2Q+YztjKyspaWYoYVtjXT09PWIpcmV0dXJuIGM7cmV0dXJuLTF9LEs9ImNoZWNrZWR8c2VsZWN0ZWR8YXN5bmN8YXV0b2ZvY3VzfGF1dG9wbGF5fGNvbnRyb2xzfGRlZmVyfGRpc2FibGVkfGhpZGRlbnxpc21hcHxsb29wfG11bHRpcGxlfG9wZW58cmVhZG9ubHl8cmVxdWlyZWR8c2NvcGVkIixMPSJbXFx4MjBcXHRcXHJcXG5cXGZdIixNPSIoPzpcXFxcLnxbXFx3LV18W15cXHgwMC1cXHhhMF0pKyIsTj1NLnJlcGxhY2UoInciLCJ3IyIpLE89IlxcWyIrTCsiKigiK00rIikoPzoiK0wrIiooWypeJHwhfl0/PSkiK0wrIiooPzonKCg/OlxcXFwufFteXFxcXCddKSopJ3xcIigoPzpcXFxcLnxbXlxcXFxcIl0pKilcInwoIitOKyIpKXwpIitMKyIqXFxdIixQPSI6KCIrTSsiKSg/OlxcKCgoJygoPzpcXFxcLnxbXlxcXFwnXSkqKSd8XCIoKD86XFxcXC58W15cXFxcXCJdKSopXCIpfCgoPzpcXFxcLnxbXlxcXFwoKVtcXF1dfCIrTysiKSopfC4qKVxcKXwpIixRPW5ldyBSZWdFeHAoTCsiKyIsImciKSxSPW5ldyBSZWdFeHAoIl4iK0wrIit8KCg/Ol58W15cXFxcXSkoPzpcXFxcLikqKSIrTCsiKyQiLCJnIiksUz1uZXcgUmVnRXhwKCJeIitMKyIqLCIrTCsiKiIpLFQ9bmV3IFJlZ0V4cCgiXiIrTCsiKihbPit+XXwiK0wrIikiK0wrIioiKSxVPW5ldyBSZWdFeHAoIj0iK0wrIiooW15cXF0nXCJdKj8pIitMKyIqXFxdIiwiZyIpLFY9bmV3IFJlZ0V4cChQKSxXPW5ldyBSZWdFeHAoIl4iK04rIiQiKSxYPXtJRDpuZXcgUmVnRXhwKCJeIygiK00rIikiKSxDTEFTUzpuZXcgUmVnRXhwKCJeXFwuKCIrTSsiKSIpLFRBRzpuZXcgUmVnRXhwKCJeKCIrTS5yZXBsYWNlKCJ3IiwidyoiKSsiKSIpLEFUVFI6bmV3IFJlZ0V4cCgiXiIrTyksUFNFVURPOm5ldyBSZWdFeHAoIl4iK1ApLENISUxEOm5ldyBSZWdFeHAoIl46KG9ubHl8Zmlyc3R8bGFzdHxudGh8bnRoLWxhc3QpLShjaGlsZHxvZi10eXBlKSg/OlxcKCIrTCsiKihldmVufG9kZHwoKFsrLV18KShcXGQqKW58KSIrTCsiKig/OihbKy1dfCkiK0wrIiooXFxkKyl8KSkiK0wrIipcXCl8KSIsImkiKSxib29sOm5ldyBSZWdFeHAoIl4oPzoiK0srIikkIiwiaSIpLG5lZWRzQ29udGV4dDpuZXcgUmVnRXhwKCJeIitMKyIqWz4rfl18OihldmVufG9kZHxlcXxndHxsdHxudGh8Zmlyc3R8bGFzdCkoPzpcXCgiK0wrIiooKD86LVxcZCk/XFxkKikiK0wrIipcXCl8KSg/PVteLV18JCkiLCJpIil9LFk9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSxaPS9eaFxkJC9pLCQ9L15bXntdK1x7XHMqXFtuYXRpdmUgXHcvLF89L14oPzojKFtcdy1dKyl8KFx3Kyl8XC4oW1x3LV0rKSkkLyxhYT0vWyt+XS8sYmE9Lyd8XFwvZyxjYT1uZXcgUmVnRXhwKCJcXFxcKFtcXGRhLWZdezEsNn0iK0wrIj98KCIrTCsiKXwuKSIsImlnIiksZGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSIweCIrYi02NTUzNjtyZXR1cm4gZCE9PWR8fGM/YjowPmQ/U3RyaW5nLmZyb21DaGFyQ29kZShkKzY1NTM2KTpTdHJpbmcuZnJvbUNoYXJDb2RlKGQ+PjEwfDU1Mjk2LDEwMjMmZHw1NjMyMCl9LGVhPWZ1bmN0aW9uKCl7bSgpfTt0cnl7SC5hcHBseShFPUkuY2FsbCh2LmNoaWxkTm9kZXMpLHYuY2hpbGROb2RlcyksRVt2LmNoaWxkTm9kZXMubGVuZ3RoXS5ub2RlVHlwZX1jYXRjaChmYSl7SD17YXBwbHk6RS5sZW5ndGg/ZnVuY3Rpb24oYSxiKXtHLmFwcGx5KGEsSS5jYWxsKGIpKX06ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmxlbmd0aCxkPTA7d2hpbGUoYVtjKytdPWJbZCsrXSk7YS5sZW5ndGg9Yy0xfX19ZnVuY3Rpb24gZ2EoYSxiLGQsZSl7dmFyIGYsaCxqLGssbCxvLHIscyx3LHg7aWYoKGI/Yi5vd25lckRvY3VtZW50fHxiOnYpIT09biYmbShiKSxiPWJ8fG4sZD1kfHxbXSxrPWIubm9kZVR5cGUsInN0cmluZyIhPXR5cGVvZiBhfHwhYXx8MSE9PWsmJjkhPT1rJiYxMSE9PWspcmV0dXJuIGQ7aWYoIWUmJnApe2lmKDExIT09ayYmKGY9Xy5leGVjKGEpKSlpZihqPWZbMV0pe2lmKDk9PT1rKXtpZihoPWIuZ2V0RWxlbWVudEJ5SWQoaiksIWh8fCFoLnBhcmVudE5vZGUpcmV0dXJuIGQ7aWYoaC5pZD09PWopcmV0dXJuIGQucHVzaChoKSxkfWVsc2UgaWYoYi5vd25lckRvY3VtZW50JiYoaD1iLm93bmVyRG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaikpJiZ0KGIsaCkmJmguaWQ9PT1qKXJldHVybiBkLnB1c2goaCksZH1lbHNle2lmKGZbMl0pcmV0dXJuIEguYXBwbHkoZCxiLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpKSxkO2lmKChqPWZbM10pJiZjLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpcmV0dXJuIEguYXBwbHkoZCxiLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoaikpLGR9aWYoYy5xc2EmJighcXx8IXEudGVzdChhKSkpe2lmKHM9cj11LHc9Yix4PTEhPT1rJiZhLDE9PT1rJiYib2JqZWN0IiE9PWIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSl7bz1nKGEpLChyPWIuZ2V0QXR0cmlidXRlKCJpZCIpKT9zPXIucmVwbGFjZShiYSwiXFwkJiIpOmIuc2V0QXR0cmlidXRlKCJpZCIscykscz0iW2lkPSciK3MrIiddICIsbD1vLmxlbmd0aDt3aGlsZShsLS0pb1tsXT1zK3JhKG9bbF0pO3c9YWEudGVzdChhKSYmcGEoYi5wYXJlbnROb2RlKXx8Yix4PW8uam9pbigiLCIpfWlmKHgpdHJ5e3JldHVybiBILmFwcGx5KGQsdy5xdWVyeVNlbGVjdG9yQWxsKHgpKSxkfWNhdGNoKHkpe31maW5hbGx5e3J8fGIucmVtb3ZlQXR0cmlidXRlKCJpZCIpfX19cmV0dXJuIGkoYS5yZXBsYWNlKFIsIiQxIiksYixkLGUpfWZ1bmN0aW9uIGhhKCl7dmFyIGE9W107ZnVuY3Rpb24gYihjLGUpe3JldHVybiBhLnB1c2goYysiICIpPmQuY2FjaGVMZW5ndGgmJmRlbGV0ZSBiW2Euc2hpZnQoKV0sYltjKyIgIl09ZX1yZXR1cm4gYn1mdW5jdGlvbiBpYShhKXtyZXR1cm4gYVt1XT0hMCxhfWZ1bmN0aW9uIGphKGEpe3ZhciBiPW4uY3JlYXRlRWxlbWVudCgiZGl2Iik7dHJ5e3JldHVybiEhYShiKX1jYXRjaChjKXtyZXR1cm4hMX1maW5hbGx5e2IucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpLGI9bnVsbH19ZnVuY3Rpb24ga2EoYSxiKXt2YXIgYz1hLnNwbGl0KCJ8IiksZT1hLmxlbmd0aDt3aGlsZShlLS0pZC5hdHRySGFuZGxlW2NbZV1dPWJ9ZnVuY3Rpb24gbGEoYSxiKXt2YXIgYz1iJiZhLGQ9YyYmMT09PWEubm9kZVR5cGUmJjE9PT1iLm5vZGVUeXBlJiYofmIuc291cmNlSW5kZXh8fEMpLSh+YS5zb3VyY2VJbmRleHx8Qyk7aWYoZClyZXR1cm4gZDtpZihjKXdoaWxlKGM9Yy5uZXh0U2libGluZylpZihjPT09YilyZXR1cm4tMTtyZXR1cm4gYT8xOi0xfWZ1bmN0aW9uIG1hKGEpe3JldHVybiBmdW5jdGlvbihiKXt2YXIgYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWMmJmIudHlwZT09PWF9fWZ1bmN0aW9uIG5hKGEpe3JldHVybiBmdW5jdGlvbihiKXt2YXIgYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuKCJpbnB1dCI9PT1jfHwiYnV0dG9uIj09PWMpJiZiLnR5cGU9PT1hfX1mdW5jdGlvbiBvYShhKXtyZXR1cm4gaWEoZnVuY3Rpb24oYil7cmV0dXJuIGI9K2IsaWEoZnVuY3Rpb24oYyxkKXt2YXIgZSxmPWEoW10sYy5sZW5ndGgsYiksZz1mLmxlbmd0aDt3aGlsZShnLS0pY1tlPWZbZ11dJiYoY1tlXT0hKGRbZV09Y1tlXSkpfSl9KX1mdW5jdGlvbiBwYShhKXtyZXR1cm4gYSYmInVuZGVmaW5lZCIhPXR5cGVvZiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lJiZhfWM9Z2Euc3VwcG9ydD17fSxmPWdhLmlzWE1MPWZ1bmN0aW9uKGEpe3ZhciBiPWEmJihhLm93bmVyRG9jdW1lbnR8fGEpLmRvY3VtZW50RWxlbWVudDtyZXR1cm4gYj8iSFRNTCIhPT1iLm5vZGVOYW1lOiExfSxtPWdhLnNldERvY3VtZW50PWZ1bmN0aW9uKGEpe3ZhciBiLGUsZz1hP2Eub3duZXJEb2N1bWVudHx8YTp2O3JldHVybiBnIT09biYmOT09PWcubm9kZVR5cGUmJmcuZG9jdW1lbnRFbGVtZW50PyhuPWcsbz1nLmRvY3VtZW50RWxlbWVudCxlPWcuZGVmYXVsdFZpZXcsZSYmZSE9PWUudG9wJiYoZS5hZGRFdmVudExpc3RlbmVyP2UuYWRkRXZlbnRMaXN0ZW5lcigidW5sb2FkIixlYSwhMSk6ZS5hdHRhY2hFdmVudCYmZS5hdHRhY2hFdmVudCgib251bmxvYWQiLGVhKSkscD0hZihnKSxjLmF0dHJpYnV0ZXM9amEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuY2xhc3NOYW1lPSJpIiwhYS5nZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIpfSksYy5nZXRFbGVtZW50c0J5VGFnTmFtZT1qYShmdW5jdGlvbihhKXtyZXR1cm4gYS5hcHBlbmRDaGlsZChnLmNyZWF0ZUNvbW1lbnQoIiIpKSwhYS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aH0pLGMuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZT0kLnRlc3QoZy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKSxjLmdldEJ5SWQ9amEoZnVuY3Rpb24oYSl7cmV0dXJuIG8uYXBwZW5kQ2hpbGQoYSkuaWQ9dSwhZy5nZXRFbGVtZW50c0J5TmFtZXx8IWcuZ2V0RWxlbWVudHNCeU5hbWUodSkubGVuZ3RofSksYy5nZXRCeUlkPyhkLmZpbmQuSUQ9ZnVuY3Rpb24oYSxiKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIGIuZ2V0RWxlbWVudEJ5SWQmJnApe3ZhciBjPWIuZ2V0RWxlbWVudEJ5SWQoYSk7cmV0dXJuIGMmJmMucGFyZW50Tm9kZT9bY106W119fSxkLmZpbHRlci5JRD1mdW5jdGlvbihhKXt2YXIgYj1hLnJlcGxhY2UoY2EsZGEpO3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRBdHRyaWJ1dGUoImlkIik9PT1ifX0pOihkZWxldGUgZC5maW5kLklELGQuZmlsdGVyLklEPWZ1bmN0aW9uKGEpe3ZhciBiPWEucmVwbGFjZShjYSxkYSk7cmV0dXJuIGZ1bmN0aW9uKGEpe3ZhciBjPSJ1bmRlZmluZWQiIT10eXBlb2YgYS5nZXRBdHRyaWJ1dGVOb2RlJiZhLmdldEF0dHJpYnV0ZU5vZGUoImlkIik7cmV0dXJuIGMmJmMudmFsdWU9PT1ifX0pLGQuZmluZC5UQUc9Yy5nZXRFbGVtZW50c0J5VGFnTmFtZT9mdW5jdGlvbihhLGIpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgYi5nZXRFbGVtZW50c0J5VGFnTmFtZT9iLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpOmMucXNhP2IucXVlcnlTZWxlY3RvckFsbChhKTp2b2lkIDB9OmZ1bmN0aW9uKGEsYil7dmFyIGMsZD1bXSxlPTAsZj1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpO2lmKCIqIj09PWEpe3doaWxlKGM9ZltlKytdKTE9PT1jLm5vZGVUeXBlJiZkLnB1c2goYyk7cmV0dXJuIGR9cmV0dXJuIGZ9LGQuZmluZC5DTEFTUz1jLmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJmZ1bmN0aW9uKGEsYil7cmV0dXJuIHA/Yi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGEpOnZvaWQgMH0scj1bXSxxPVtdLChjLnFzYT0kLnRlc3QoZy5xdWVyeVNlbGVjdG9yQWxsKSkmJihqYShmdW5jdGlvbihhKXtvLmFwcGVuZENoaWxkKGEpLmlubmVySFRNTD0iPGEgaWQ9JyIrdSsiJz48L2E+PHNlbGVjdCBpZD0nIit1KyItXGZdJyBtc2FsbG93Y2FwdHVyZT0nJz48b3B0aW9uIHNlbGVjdGVkPScnPjwvb3B0aW9uPjwvc2VsZWN0PiIsYS5xdWVyeVNlbGVjdG9yQWxsKCJbbXNhbGxvd2NhcHR1cmVePScnXSIpLmxlbmd0aCYmcS5wdXNoKCJbKl4kXT0iK0wrIiooPzonJ3xcIlwiKSIpLGEucXVlcnlTZWxlY3RvckFsbCgiW3NlbGVjdGVkXSIpLmxlbmd0aHx8cS5wdXNoKCJcXFsiK0wrIiooPzp2YWx1ZXwiK0srIikiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIltpZH49Iit1KyItXSIpLmxlbmd0aHx8cS5wdXNoKCJ+PSIpLGEucXVlcnlTZWxlY3RvckFsbCgiOmNoZWNrZWQiKS5sZW5ndGh8fHEucHVzaCgiOmNoZWNrZWQiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoImEjIit1KyIrKiIpLmxlbmd0aHx8cS5wdXNoKCIuIy4rWyt+XSIpfSksamEoZnVuY3Rpb24oYSl7dmFyIGI9Zy5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO2Iuc2V0QXR0cmlidXRlKCJ0eXBlIiwiaGlkZGVuIiksYS5hcHBlbmRDaGlsZChiKS5zZXRBdHRyaWJ1dGUoIm5hbWUiLCJEIiksYS5xdWVyeVNlbGVjdG9yQWxsKCJbbmFtZT1kXSIpLmxlbmd0aCYmcS5wdXNoKCJuYW1lIitMKyIqWypeJHwhfl0/PSIpLGEucXVlcnlTZWxlY3RvckFsbCgiOmVuYWJsZWQiKS5sZW5ndGh8fHEucHVzaCgiOmVuYWJsZWQiLCI6ZGlzYWJsZWQiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIiosOngiKSxxLnB1c2goIiwuKjoiKX0pKSwoYy5tYXRjaGVzU2VsZWN0b3I9JC50ZXN0KHM9by5tYXRjaGVzfHxvLndlYmtpdE1hdGNoZXNTZWxlY3Rvcnx8by5tb3pNYXRjaGVzU2VsZWN0b3J8fG8ub01hdGNoZXNTZWxlY3Rvcnx8by5tc01hdGNoZXNTZWxlY3RvcikpJiZqYShmdW5jdGlvbihhKXtjLmRpc2Nvbm5lY3RlZE1hdGNoPXMuY2FsbChhLCJkaXYiKSxzLmNhbGwoYSwiW3MhPScnXTp4Iiksci5wdXNoKCIhPSIsUCl9KSxxPXEubGVuZ3RoJiZuZXcgUmVnRXhwKHEuam9pbigifCIpKSxyPXIubGVuZ3RoJiZuZXcgUmVnRXhwKHIuam9pbigifCIpKSxiPSQudGVzdChvLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKSx0PWJ8fCQudGVzdChvLmNvbnRhaW5zKT9mdW5jdGlvbihhLGIpe3ZhciBjPTk9PT1hLm5vZGVUeXBlP2EuZG9jdW1lbnRFbGVtZW50OmEsZD1iJiZiLnBhcmVudE5vZGU7cmV0dXJuIGE9PT1kfHwhKCFkfHwxIT09ZC5ub2RlVHlwZXx8IShjLmNvbnRhaW5zP2MuY29udGFpbnMoZCk6YS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiYmMTYmYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihkKSkpfTpmdW5jdGlvbihhLGIpe2lmKGIpd2hpbGUoYj1iLnBhcmVudE5vZGUpaWYoYj09PWEpcmV0dXJuITA7cmV0dXJuITF9LEI9Yj9mdW5jdGlvbihhLGIpe2lmKGE9PT1iKXJldHVybiBsPSEwLDA7dmFyIGQ9IWEuY29tcGFyZURvY3VtZW50UG9zaXRpb24tIWIuY29tcGFyZURvY3VtZW50UG9zaXRpb247cmV0dXJuIGQ/ZDooZD0oYS5vd25lckRvY3VtZW50fHxhKT09PShiLm93bmVyRG9jdW1lbnR8fGIpP2EuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYik6MSwxJmR8fCFjLnNvcnREZXRhY2hlZCYmYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKT09PWQ/YT09PWd8fGEub3duZXJEb2N1bWVudD09PXYmJnQodixhKT8tMTpiPT09Z3x8Yi5vd25lckRvY3VtZW50PT09diYmdCh2LGIpPzE6az9KKGssYSktSihrLGIpOjA6NCZkPy0xOjEpfTpmdW5jdGlvbihhLGIpe2lmKGE9PT1iKXJldHVybiBsPSEwLDA7dmFyIGMsZD0wLGU9YS5wYXJlbnROb2RlLGY9Yi5wYXJlbnROb2RlLGg9W2FdLGk9W2JdO2lmKCFlfHwhZilyZXR1cm4gYT09PWc/LTE6Yj09PWc/MTplPy0xOmY/MTprP0ooayxhKS1KKGssYik6MDtpZihlPT09ZilyZXR1cm4gbGEoYSxiKTtjPWE7d2hpbGUoYz1jLnBhcmVudE5vZGUpaC51bnNoaWZ0KGMpO2M9Yjt3aGlsZShjPWMucGFyZW50Tm9kZSlpLnVuc2hpZnQoYyk7d2hpbGUoaFtkXT09PWlbZF0pZCsrO3JldHVybiBkP2xhKGhbZF0saVtkXSk6aFtkXT09PXY/LTE6aVtkXT09PXY/MTowfSxnKTpufSxnYS5tYXRjaGVzPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGdhKGEsbnVsbCxudWxsLGIpfSxnYS5tYXRjaGVzU2VsZWN0b3I9ZnVuY3Rpb24oYSxiKXtpZigoYS5vd25lckRvY3VtZW50fHxhKSE9PW4mJm0oYSksYj1iLnJlcGxhY2UoVSwiPSckMSddIiksISghYy5tYXRjaGVzU2VsZWN0b3J8fCFwfHxyJiZyLnRlc3QoYil8fHEmJnEudGVzdChiKSkpdHJ5e3ZhciBkPXMuY2FsbChhLGIpO2lmKGR8fGMuZGlzY29ubmVjdGVkTWF0Y2h8fGEuZG9jdW1lbnQmJjExIT09YS5kb2N1bWVudC5ub2RlVHlwZSlyZXR1cm4gZH1jYXRjaChlKXt9cmV0dXJuIGdhKGIsbixudWxsLFthXSkubGVuZ3RoPjB9LGdhLmNvbnRhaW5zPWZ1bmN0aW9uKGEsYil7cmV0dXJuKGEub3duZXJEb2N1bWVudHx8YSkhPT1uJiZtKGEpLHQoYSxiKX0sZ2EuYXR0cj1mdW5jdGlvbihhLGIpeyhhLm93bmVyRG9jdW1lbnR8fGEpIT09biYmbShhKTt2YXIgZT1kLmF0dHJIYW5kbGVbYi50b0xvd2VyQ2FzZSgpXSxmPWUmJkQuY2FsbChkLmF0dHJIYW5kbGUsYi50b0xvd2VyQ2FzZSgpKT9lKGEsYiwhcCk6dm9pZCAwO3JldHVybiB2b2lkIDAhPT1mP2Y6Yy5hdHRyaWJ1dGVzfHwhcD9hLmdldEF0dHJpYnV0ZShiKTooZj1hLmdldEF0dHJpYnV0ZU5vZGUoYikpJiZmLnNwZWNpZmllZD9mLnZhbHVlOm51bGx9LGdhLmVycm9yPWZ1bmN0aW9uKGEpe3Rocm93IG5ldyBFcnJvcigiU3ludGF4IGVycm9yLCB1bnJlY29nbml6ZWQgZXhwcmVzc2lvbjogIithKX0sZ2EudW5pcXVlU29ydD1mdW5jdGlvbihhKXt2YXIgYixkPVtdLGU9MCxmPTA7aWYobD0hYy5kZXRlY3REdXBsaWNhdGVzLGs9IWMuc29ydFN0YWJsZSYmYS5zbGljZSgwKSxhLnNvcnQoQiksbCl7d2hpbGUoYj1hW2YrK10pYj09PWFbZl0mJihlPWQucHVzaChmKSk7d2hpbGUoZS0tKWEuc3BsaWNlKGRbZV0sMSl9cmV0dXJuIGs9bnVsbCxhfSxlPWdhLmdldFRleHQ9ZnVuY3Rpb24oYSl7dmFyIGIsYz0iIixkPTAsZj1hLm5vZGVUeXBlO2lmKGYpe2lmKDE9PT1mfHw5PT09Znx8MTE9PT1mKXtpZigic3RyaW5nIj09dHlwZW9mIGEudGV4dENvbnRlbnQpcmV0dXJuIGEudGV4dENvbnRlbnQ7Zm9yKGE9YS5maXJzdENoaWxkO2E7YT1hLm5leHRTaWJsaW5nKWMrPWUoYSl9ZWxzZSBpZigzPT09Znx8ND09PWYpcmV0dXJuIGEubm9kZVZhbHVlfWVsc2Ugd2hpbGUoYj1hW2QrK10pYys9ZShiKTtyZXR1cm4gY30sZD1nYS5zZWxlY3RvcnM9e2NhY2hlTGVuZ3RoOjUwLGNyZWF0ZVBzZXVkbzppYSxtYXRjaDpYLGF0dHJIYW5kbGU6e30sZmluZDp7fSxyZWxhdGl2ZTp7Ij4iOntkaXI6InBhcmVudE5vZGUiLGZpcnN0OiEwfSwiICI6e2RpcjoicGFyZW50Tm9kZSJ9LCIrIjp7ZGlyOiJwcmV2aW91c1NpYmxpbmciLGZpcnN0OiEwfSwifiI6e2RpcjoicHJldmlvdXNTaWJsaW5nIn19LHByZUZpbHRlcjp7QVRUUjpmdW5jdGlvbihhKXtyZXR1cm4gYVsxXT1hWzFdLnJlcGxhY2UoY2EsZGEpLGFbM109KGFbM118fGFbNF18fGFbNV18fCIiKS5yZXBsYWNlKGNhLGRhKSwifj0iPT09YVsyXSYmKGFbM109IiAiK2FbM10rIiAiKSxhLnNsaWNlKDAsNCl9LENISUxEOmZ1bmN0aW9uKGEpe3JldHVybiBhWzFdPWFbMV0udG9Mb3dlckNhc2UoKSwibnRoIj09PWFbMV0uc2xpY2UoMCwzKT8oYVszXXx8Z2EuZXJyb3IoYVswXSksYVs0XT0rKGFbNF0/YVs1XSsoYVs2XXx8MSk6MiooImV2ZW4iPT09YVszXXx8Im9kZCI9PT1hWzNdKSksYVs1XT0rKGFbN10rYVs4XXx8Im9kZCI9PT1hWzNdKSk6YVszXSYmZ2EuZXJyb3IoYVswXSksYX0sUFNFVURPOmZ1bmN0aW9uKGEpe3ZhciBiLGM9IWFbNl0mJmFbMl07cmV0dXJuIFguQ0hJTEQudGVzdChhWzBdKT9udWxsOihhWzNdP2FbMl09YVs0XXx8YVs1XXx8IiI6YyYmVi50ZXN0KGMpJiYoYj1nKGMsITApKSYmKGI9Yy5pbmRleE9mKCIpIixjLmxlbmd0aC1iKS1jLmxlbmd0aCkmJihhWzBdPWFbMF0uc2xpY2UoMCxiKSxhWzJdPWMuc2xpY2UoMCxiKSksYS5zbGljZSgwLDMpKX19LGZpbHRlcjp7VEFHOmZ1bmN0aW9uKGEpe3ZhciBiPWEucmVwbGFjZShjYSxkYSkudG9Mb3dlckNhc2UoKTtyZXR1cm4iKiI9PT1hP2Z1bmN0aW9uKCl7cmV0dXJuITB9OmZ1bmN0aW9uKGEpe3JldHVybiBhLm5vZGVOYW1lJiZhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1ifX0sQ0xBU1M6ZnVuY3Rpb24oYSl7dmFyIGI9eVthKyIgIl07cmV0dXJuIGJ8fChiPW5ldyBSZWdFeHAoIihefCIrTCsiKSIrYSsiKCIrTCsifCQpIikpJiZ5KGEsZnVuY3Rpb24oYSl7cmV0dXJuIGIudGVzdCgic3RyaW5nIj09dHlwZW9mIGEuY2xhc3NOYW1lJiZhLmNsYXNzTmFtZXx8InVuZGVmaW5lZCIhPXR5cGVvZiBhLmdldEF0dHJpYnV0ZSYmYS5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIiKX0pfSxBVFRSOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZnVuY3Rpb24oZCl7dmFyIGU9Z2EuYXR0cihkLGEpO3JldHVybiBudWxsPT1lPyIhPSI9PT1iOmI/KGUrPSIiLCI9Ij09PWI/ZT09PWM6IiE9Ij09PWI/ZSE9PWM6Il49Ij09PWI/YyYmMD09PWUuaW5kZXhPZihjKToiKj0iPT09Yj9jJiZlLmluZGV4T2YoYyk+LTE6IiQ9Ij09PWI/YyYmZS5zbGljZSgtYy5sZW5ndGgpPT09Yzoifj0iPT09Yj8oIiAiK2UucmVwbGFjZShRLCIgIikrIiAiKS5pbmRleE9mKGMpPi0xOiJ8PSI9PT1iP2U9PT1jfHxlLnNsaWNlKDAsYy5sZW5ndGgrMSk9PT1jKyItIjohMSk6ITB9fSxDSElMRDpmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPSJudGgiIT09YS5zbGljZSgwLDMpLGc9Imxhc3QiIT09YS5zbGljZSgtNCksaD0ib2YtdHlwZSI9PT1iO3JldHVybiAxPT09ZCYmMD09PWU/ZnVuY3Rpb24oYSl7cmV0dXJuISFhLnBhcmVudE5vZGV9OmZ1bmN0aW9uKGIsYyxpKXt2YXIgaixrLGwsbSxuLG8scD1mIT09Zz8ibmV4dFNpYmxpbmciOiJwcmV2aW91c1NpYmxpbmciLHE9Yi5wYXJlbnROb2RlLHI9aCYmYi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLHM9IWkmJiFoO2lmKHEpe2lmKGYpe3doaWxlKHApe2w9Yjt3aGlsZShsPWxbcF0paWYoaD9sLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1yOjE9PT1sLm5vZGVUeXBlKXJldHVybiExO289cD0ib25seSI9PT1hJiYhbyYmIm5leHRTaWJsaW5nIn1yZXR1cm4hMH1pZihvPVtnP3EuZmlyc3RDaGlsZDpxLmxhc3RDaGlsZF0sZyYmcyl7az1xW3VdfHwocVt1XT17fSksaj1rW2FdfHxbXSxuPWpbMF09PT13JiZqWzFdLG09alswXT09PXcmJmpbMl0sbD1uJiZxLmNoaWxkTm9kZXNbbl07d2hpbGUobD0rK24mJmwmJmxbcF18fChtPW49MCl8fG8ucG9wKCkpaWYoMT09PWwubm9kZVR5cGUmJisrbSYmbD09PWIpe2tbYV09W3csbixtXTticmVha319ZWxzZSBpZihzJiYoaj0oYlt1XXx8KGJbdV09e30pKVthXSkmJmpbMF09PT13KW09alsxXTtlbHNlIHdoaWxlKGw9KytuJiZsJiZsW3BdfHwobT1uPTApfHxvLnBvcCgpKWlmKChoP2wubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PXI6MT09PWwubm9kZVR5cGUpJiYrK20mJihzJiYoKGxbdV18fChsW3VdPXt9KSlbYV09W3csbV0pLGw9PT1iKSlicmVhaztyZXR1cm4gbS09ZSxtPT09ZHx8bSVkPT09MCYmbS9kPj0wfX19LFBTRVVETzpmdW5jdGlvbihhLGIpe3ZhciBjLGU9ZC5wc2V1ZG9zW2FdfHxkLnNldEZpbHRlcnNbYS50b0xvd2VyQ2FzZSgpXXx8Z2EuZXJyb3IoInVuc3VwcG9ydGVkIHBzZXVkbzogIithKTtyZXR1cm4gZVt1XT9lKGIpOmUubGVuZ3RoPjE/KGM9W2EsYSwiIixiXSxkLnNldEZpbHRlcnMuaGFzT3duUHJvcGVydHkoYS50b0xvd2VyQ2FzZSgpKT9pYShmdW5jdGlvbihhLGMpe3ZhciBkLGY9ZShhLGIpLGc9Zi5sZW5ndGg7d2hpbGUoZy0tKWQ9SihhLGZbZ10pLGFbZF09IShjW2RdPWZbZ10pfSk6ZnVuY3Rpb24oYSl7cmV0dXJuIGUoYSwwLGMpfSk6ZX19LHBzZXVkb3M6e25vdDppYShmdW5jdGlvbihhKXt2YXIgYj1bXSxjPVtdLGQ9aChhLnJlcGxhY2UoUiwiJDEiKSk7cmV0dXJuIGRbdV0/aWEoZnVuY3Rpb24oYSxiLGMsZSl7dmFyIGYsZz1kKGEsbnVsbCxlLFtdKSxoPWEubGVuZ3RoO3doaWxlKGgtLSkoZj1nW2hdKSYmKGFbaF09IShiW2hdPWYpKX0pOmZ1bmN0aW9uKGEsZSxmKXtyZXR1cm4gYlswXT1hLGQoYixudWxsLGYsYyksYlswXT1udWxsLCFjLnBvcCgpfX0pLGhhczppYShmdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oYil7cmV0dXJuIGdhKGEsYikubGVuZ3RoPjB9fSksY29udGFpbnM6aWEoZnVuY3Rpb24oYSl7cmV0dXJuIGE9YS5yZXBsYWNlKGNhLGRhKSxmdW5jdGlvbihiKXtyZXR1cm4oYi50ZXh0Q29udGVudHx8Yi5pbm5lclRleHR8fGUoYikpLmluZGV4T2YoYSk+LTF9fSksbGFuZzppYShmdW5jdGlvbihhKXtyZXR1cm4gVy50ZXN0KGF8fCIiKXx8Z2EuZXJyb3IoInVuc3VwcG9ydGVkIGxhbmc6ICIrYSksYT1hLnJlcGxhY2UoY2EsZGEpLnRvTG93ZXJDYXNlKCksZnVuY3Rpb24oYil7dmFyIGM7ZG8gaWYoYz1wP2IubGFuZzpiLmdldEF0dHJpYnV0ZSgieG1sOmxhbmciKXx8Yi5nZXRBdHRyaWJ1dGUoImxhbmciKSlyZXR1cm4gYz1jLnRvTG93ZXJDYXNlKCksYz09PWF8fDA9PT1jLmluZGV4T2YoYSsiLSIpO3doaWxlKChiPWIucGFyZW50Tm9kZSkmJjE9PT1iLm5vZGVUeXBlKTtyZXR1cm4hMX19KSx0YXJnZXQ6ZnVuY3Rpb24oYil7dmFyIGM9YS5sb2NhdGlvbiYmYS5sb2NhdGlvbi5oYXNoO3JldHVybiBjJiZjLnNsaWNlKDEpPT09Yi5pZH0scm9vdDpmdW5jdGlvbihhKXtyZXR1cm4gYT09PW99LGZvY3VzOmZ1bmN0aW9uKGEpe3JldHVybiBhPT09bi5hY3RpdmVFbGVtZW50JiYoIW4uaGFzRm9jdXN8fG4uaGFzRm9jdXMoKSkmJiEhKGEudHlwZXx8YS5ocmVmfHx+YS50YWJJbmRleCl9LGVuYWJsZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGlzYWJsZWQ9PT0hMX0sZGlzYWJsZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGlzYWJsZWQ9PT0hMH0sY2hlY2tlZDpmdW5jdGlvbihhKXt2YXIgYj1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWImJiEhYS5jaGVja2VkfHwib3B0aW9uIj09PWImJiEhYS5zZWxlY3RlZH0sc2VsZWN0ZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEucGFyZW50Tm9kZSYmYS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsYS5zZWxlY3RlZD09PSEwfSxlbXB0eTpmdW5jdGlvbihhKXtmb3IoYT1hLmZpcnN0Q2hpbGQ7YTthPWEubmV4dFNpYmxpbmcpaWYoYS5ub2RlVHlwZTw2KXJldHVybiExO3JldHVybiEwfSxwYXJlbnQ6ZnVuY3Rpb24oYSl7cmV0dXJuIWQucHNldWRvcy5lbXB0eShhKX0saGVhZGVyOmZ1bmN0aW9uKGEpe3JldHVybiBaLnRlc3QoYS5ub2RlTmFtZSl9LGlucHV0OmZ1bmN0aW9uKGEpe3JldHVybiBZLnRlc3QoYS5ub2RlTmFtZSl9LGJ1dHRvbjpmdW5jdGlvbihhKXt2YXIgYj1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWImJiJidXR0b24iPT09YS50eXBlfHwiYnV0dG9uIj09PWJ9LHRleHQ6ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuImlucHV0Ij09PWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmInRleHQiPT09YS50eXBlJiYobnVsbD09KGI9YS5nZXRBdHRyaWJ1dGUoInR5cGUiKSl8fCJ0ZXh0Ij09PWIudG9Mb3dlckNhc2UoKSl9LGZpcnN0Om9hKGZ1bmN0aW9uKCl7cmV0dXJuWzBdfSksbGFzdDpvYShmdW5jdGlvbihhLGIpe3JldHVybltiLTFdfSksZXE6b2EoZnVuY3Rpb24oYSxiLGMpe3JldHVyblswPmM/YytiOmNdfSksZXZlbjpvYShmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0wO2I+YztjKz0yKWEucHVzaChjKTtyZXR1cm4gYX0pLG9kZDpvYShmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0xO2I+YztjKz0yKWEucHVzaChjKTtyZXR1cm4gYX0pLGx0Om9hKGZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9MD5jP2MrYjpjOy0tZD49MDspYS5wdXNoKGQpO3JldHVybiBhfSksZ3Q6b2EoZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZD0wPmM/YytiOmM7KytkPGI7KWEucHVzaChkKTtyZXR1cm4gYX0pfX0sZC5wc2V1ZG9zLm50aD1kLnBzZXVkb3MuZXE7Zm9yKGIgaW57cmFkaW86ITAsY2hlY2tib3g6ITAsZmlsZTohMCxwYXNzd29yZDohMCxpbWFnZTohMH0pZC5wc2V1ZG9zW2JdPW1hKGIpO2ZvcihiIGlue3N1Ym1pdDohMCxyZXNldDohMH0pZC5wc2V1ZG9zW2JdPW5hKGIpO2Z1bmN0aW9uIHFhKCl7fXFhLnByb3RvdHlwZT1kLmZpbHRlcnM9ZC5wc2V1ZG9zLGQuc2V0RmlsdGVycz1uZXcgcWEsZz1nYS50b2tlbml6ZT1mdW5jdGlvbihhLGIpe3ZhciBjLGUsZixnLGgsaSxqLGs9elthKyIgIl07aWYoaylyZXR1cm4gYj8wOmsuc2xpY2UoMCk7aD1hLGk9W10saj1kLnByZUZpbHRlcjt3aGlsZShoKXsoIWN8fChlPVMuZXhlYyhoKSkpJiYoZSYmKGg9aC5zbGljZShlWzBdLmxlbmd0aCl8fGgpLGkucHVzaChmPVtdKSksYz0hMSwoZT1ULmV4ZWMoaCkpJiYoYz1lLnNoaWZ0KCksZi5wdXNoKHt2YWx1ZTpjLHR5cGU6ZVswXS5yZXBsYWNlKFIsIiAiKX0pLGg9aC5zbGljZShjLmxlbmd0aCkpO2ZvcihnIGluIGQuZmlsdGVyKSEoZT1YW2ddLmV4ZWMoaCkpfHxqW2ddJiYhKGU9altnXShlKSl8fChjPWUuc2hpZnQoKSxmLnB1c2goe3ZhbHVlOmMsdHlwZTpnLG1hdGNoZXM6ZX0pLGg9aC5zbGljZShjLmxlbmd0aCkpO2lmKCFjKWJyZWFrfXJldHVybiBiP2gubGVuZ3RoOmg/Z2EuZXJyb3IoYSk6eihhLGkpLnNsaWNlKDApfTtmdW5jdGlvbiByYShhKXtmb3IodmFyIGI9MCxjPWEubGVuZ3RoLGQ9IiI7Yz5iO2IrKylkKz1hW2JdLnZhbHVlO3JldHVybiBkfWZ1bmN0aW9uIHNhKGEsYixjKXt2YXIgZD1iLmRpcixlPWMmJiJwYXJlbnROb2RlIj09PWQsZj14Kys7cmV0dXJuIGIuZmlyc3Q/ZnVuY3Rpb24oYixjLGYpe3doaWxlKGI9YltkXSlpZigxPT09Yi5ub2RlVHlwZXx8ZSlyZXR1cm4gYShiLGMsZil9OmZ1bmN0aW9uKGIsYyxnKXt2YXIgaCxpLGo9W3csZl07aWYoZyl7d2hpbGUoYj1iW2RdKWlmKCgxPT09Yi5ub2RlVHlwZXx8ZSkmJmEoYixjLGcpKXJldHVybiEwfWVsc2Ugd2hpbGUoYj1iW2RdKWlmKDE9PT1iLm5vZGVUeXBlfHxlKXtpZihpPWJbdV18fChiW3VdPXt9KSwoaD1pW2RdKSYmaFswXT09PXcmJmhbMV09PT1mKXJldHVybiBqWzJdPWhbMl07aWYoaVtkXT1qLGpbMl09YShiLGMsZykpcmV0dXJuITB9fX1mdW5jdGlvbiB0YShhKXtyZXR1cm4gYS5sZW5ndGg+MT9mdW5jdGlvbihiLGMsZCl7dmFyIGU9YS5sZW5ndGg7d2hpbGUoZS0tKWlmKCFhW2VdKGIsYyxkKSlyZXR1cm4hMTtyZXR1cm4hMH06YVswXX1mdW5jdGlvbiB1YShhLGIsYyl7Zm9yKHZhciBkPTAsZT1iLmxlbmd0aDtlPmQ7ZCsrKWdhKGEsYltkXSxjKTtyZXR1cm4gY31mdW5jdGlvbiB2YShhLGIsYyxkLGUpe2Zvcih2YXIgZixnPVtdLGg9MCxpPWEubGVuZ3RoLGo9bnVsbCE9YjtpPmg7aCsrKShmPWFbaF0pJiYoIWN8fGMoZixkLGUpKSYmKGcucHVzaChmKSxqJiZiLnB1c2goaCkpO3JldHVybiBnfWZ1bmN0aW9uIHdhKGEsYixjLGQsZSxmKXtyZXR1cm4gZCYmIWRbdV0mJihkPXdhKGQpKSxlJiYhZVt1XSYmKGU9d2EoZSxmKSksaWEoZnVuY3Rpb24oZixnLGgsaSl7dmFyIGosayxsLG09W10sbj1bXSxvPWcubGVuZ3RoLHA9Znx8dWEoYnx8IioiLGgubm9kZVR5cGU/W2hdOmgsW10pLHE9IWF8fCFmJiZiP3A6dmEocCxtLGEsaCxpKSxyPWM/ZXx8KGY/YTpvfHxkKT9bXTpnOnE7aWYoYyYmYyhxLHIsaCxpKSxkKXtqPXZhKHIsbiksZChqLFtdLGgsaSksaz1qLmxlbmd0aDt3aGlsZShrLS0pKGw9altrXSkmJihyW25ba11dPSEocVtuW2tdXT1sKSl9aWYoZil7aWYoZXx8YSl7aWYoZSl7aj1bXSxrPXIubGVuZ3RoO3doaWxlKGstLSkobD1yW2tdKSYmai5wdXNoKHFba109bCk7ZShudWxsLHI9W10saixpKX1rPXIubGVuZ3RoO3doaWxlKGstLSkobD1yW2tdKSYmKGo9ZT9KKGYsbCk6bVtrXSk+LTEmJihmW2pdPSEoZ1tqXT1sKSl9fWVsc2Ugcj12YShyPT09Zz9yLnNwbGljZShvLHIubGVuZ3RoKTpyKSxlP2UobnVsbCxnLHIsaSk6SC5hcHBseShnLHIpfSl9ZnVuY3Rpb24geGEoYSl7Zm9yKHZhciBiLGMsZSxmPWEubGVuZ3RoLGc9ZC5yZWxhdGl2ZVthWzBdLnR5cGVdLGg9Z3x8ZC5yZWxhdGl2ZVsiICJdLGk9Zz8xOjAsaz1zYShmdW5jdGlvbihhKXtyZXR1cm4gYT09PWJ9LGgsITApLGw9c2EoZnVuY3Rpb24oYSl7cmV0dXJuIEooYixhKT4tMX0saCwhMCksbT1bZnVuY3Rpb24oYSxjLGQpe3ZhciBlPSFnJiYoZHx8YyE9PWopfHwoKGI9Yykubm9kZVR5cGU/ayhhLGMsZCk6bChhLGMsZCkpO3JldHVybiBiPW51bGwsZX1dO2Y+aTtpKyspaWYoYz1kLnJlbGF0aXZlW2FbaV0udHlwZV0pbT1bc2EodGEobSksYyldO2Vsc2V7aWYoYz1kLmZpbHRlclthW2ldLnR5cGVdLmFwcGx5KG51bGwsYVtpXS5tYXRjaGVzKSxjW3VdKXtmb3IoZT0rK2k7Zj5lO2UrKylpZihkLnJlbGF0aXZlW2FbZV0udHlwZV0pYnJlYWs7cmV0dXJuIHdhKGk+MSYmdGEobSksaT4xJiZyYShhLnNsaWNlKDAsaS0xKS5jb25jYXQoe3ZhbHVlOiIgIj09PWFbaS0yXS50eXBlPyIqIjoiIn0pKS5yZXBsYWNlKFIsIiQxIiksYyxlPmkmJnhhKGEuc2xpY2UoaSxlKSksZj5lJiZ4YShhPWEuc2xpY2UoZSkpLGY+ZSYmcmEoYSkpfW0ucHVzaChjKX1yZXR1cm4gdGEobSl9ZnVuY3Rpb24geWEoYSxiKXt2YXIgYz1iLmxlbmd0aD4wLGU9YS5sZW5ndGg+MCxmPWZ1bmN0aW9uKGYsZyxoLGksayl7dmFyIGwsbSxvLHA9MCxxPSIwIixyPWYmJltdLHM9W10sdD1qLHU9Znx8ZSYmZC5maW5kLlRBRygiKiIsayksdj13Kz1udWxsPT10PzE6TWF0aC5yYW5kb20oKXx8LjEseD11Lmxlbmd0aDtmb3IoayYmKGo9ZyE9PW4mJmcpO3EhPT14JiZudWxsIT0obD11W3FdKTtxKyspe2lmKGUmJmwpe209MDt3aGlsZShvPWFbbSsrXSlpZihvKGwsZyxoKSl7aS5wdXNoKGwpO2JyZWFrfWsmJih3PXYpfWMmJigobD0hbyYmbCkmJnAtLSxmJiZyLnB1c2gobCkpfWlmKHArPXEsYyYmcSE9PXApe209MDt3aGlsZShvPWJbbSsrXSlvKHIscyxnLGgpO2lmKGYpe2lmKHA+MCl3aGlsZShxLS0pcltxXXx8c1txXXx8KHNbcV09Ri5jYWxsKGkpKTtzPXZhKHMpfUguYXBwbHkoaSxzKSxrJiYhZiYmcy5sZW5ndGg+MCYmcCtiLmxlbmd0aD4xJiZnYS51bmlxdWVTb3J0KGkpfXJldHVybiBrJiYodz12LGo9dCkscn07cmV0dXJuIGM/aWEoZik6Zn1yZXR1cm4gaD1nYS5jb21waWxlPWZ1bmN0aW9uKGEsYil7dmFyIGMsZD1bXSxlPVtdLGY9QVthKyIgIl07aWYoIWYpe2J8fChiPWcoYSkpLGM9Yi5sZW5ndGg7d2hpbGUoYy0tKWY9eGEoYltjXSksZlt1XT9kLnB1c2goZik6ZS5wdXNoKGYpO2Y9QShhLHlhKGUsZCkpLGYuc2VsZWN0b3I9YX1yZXR1cm4gZn0saT1nYS5zZWxlY3Q9ZnVuY3Rpb24oYSxiLGUsZil7dmFyIGksaixrLGwsbSxuPSJmdW5jdGlvbiI9PXR5cGVvZiBhJiZhLG89IWYmJmcoYT1uLnNlbGVjdG9yfHxhKTtpZihlPWV8fFtdLDE9PT1vLmxlbmd0aCl7aWYoaj1vWzBdPW9bMF0uc2xpY2UoMCksai5sZW5ndGg+MiYmIklEIj09PShrPWpbMF0pLnR5cGUmJmMuZ2V0QnlJZCYmOT09PWIubm9kZVR5cGUmJnAmJmQucmVsYXRpdmVbalsxXS50eXBlXSl7aWYoYj0oZC5maW5kLklEKGsubWF0Y2hlc1swXS5yZXBsYWNlKGNhLGRhKSxiKXx8W10pWzBdLCFiKXJldHVybiBlO24mJihiPWIucGFyZW50Tm9kZSksYT1hLnNsaWNlKGouc2hpZnQoKS52YWx1ZS5sZW5ndGgpfWk9WC5uZWVkc0NvbnRleHQudGVzdChhKT8wOmoubGVuZ3RoO3doaWxlKGktLSl7aWYoaz1qW2ldLGQucmVsYXRpdmVbbD1rLnR5cGVdKWJyZWFrO2lmKChtPWQuZmluZFtsXSkmJihmPW0oay5tYXRjaGVzWzBdLnJlcGxhY2UoY2EsZGEpLGFhLnRlc3QoalswXS50eXBlKSYmcGEoYi5wYXJlbnROb2RlKXx8YikpKXtpZihqLnNwbGljZShpLDEpLGE9Zi5sZW5ndGgmJnJhKGopLCFhKXJldHVybiBILmFwcGx5KGUsZiksZTticmVha319fXJldHVybihufHxoKGEsbykpKGYsYiwhcCxlLGFhLnRlc3QoYSkmJnBhKGIucGFyZW50Tm9kZSl8fGIpLGV9LGMuc29ydFN0YWJsZT11LnNwbGl0KCIiKS5zb3J0KEIpLmpvaW4oIiIpPT09dSxjLmRldGVjdER1cGxpY2F0ZXM9ISFsLG0oKSxjLnNvcnREZXRhY2hlZD1qYShmdW5jdGlvbihhKXtyZXR1cm4gMSZhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKG4uY3JlYXRlRWxlbWVudCgiZGl2IikpfSksamEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaW5uZXJIVE1MPSI8YSBocmVmPScjJz48L2E+IiwiIyI9PT1hLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJocmVmIil9KXx8a2EoInR5cGV8aHJlZnxoZWlnaHR8d2lkdGgiLGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYz92b2lkIDA6YS5nZXRBdHRyaWJ1dGUoYiwidHlwZSI9PT1iLnRvTG93ZXJDYXNlKCk/MToyKX0pLGMuYXR0cmlidXRlcyYmamEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaW5uZXJIVE1MPSI8aW5wdXQvPiIsYS5maXJzdENoaWxkLnNldEF0dHJpYnV0ZSgidmFsdWUiLCIiKSwiIj09PWEuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoInZhbHVlIil9KXx8a2EoInZhbHVlIixmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGN8fCJpbnB1dCIhPT1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk/dm9pZCAwOmEuZGVmYXVsdFZhbHVlfSksamEoZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWEuZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpfSl8fGthKEssZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybiBjP3ZvaWQgMDphW2JdPT09ITA/Yi50b0xvd2VyQ2FzZSgpOihkPWEuZ2V0QXR0cmlidXRlTm9kZShiKSkmJmQuc3BlY2lmaWVkP2QudmFsdWU6bnVsbH0pLGdhfShhKTttLmZpbmQ9cyxtLmV4cHI9cy5zZWxlY3RvcnMsbS5leHByWyI6Il09bS5leHByLnBzZXVkb3MsbS51bmlxdWU9cy51bmlxdWVTb3J0LG0udGV4dD1zLmdldFRleHQsbS5pc1hNTERvYz1zLmlzWE1MLG0uY29udGFpbnM9cy5jb250YWluczt2YXIgdD1tLmV4cHIubWF0Y2gubmVlZHNDb250ZXh0LHU9L148KFx3KylccypcLz8+KD86PFwvXDE+fCkkLyx2PS9eLlteOiNcW1wuLF0qJC87ZnVuY3Rpb24gdyhhLGIsYyl7aWYobS5pc0Z1bmN0aW9uKGIpKXJldHVybiBtLmdyZXAoYSxmdW5jdGlvbihhLGQpe3JldHVybiEhYi5jYWxsKGEsZCxhKSE9PWN9KTtpZihiLm5vZGVUeXBlKXJldHVybiBtLmdyZXAoYSxmdW5jdGlvbihhKXtyZXR1cm4gYT09PWIhPT1jfSk7aWYoInN0cmluZyI9PXR5cGVvZiBiKXtpZih2LnRlc3QoYikpcmV0dXJuIG0uZmlsdGVyKGIsYSxjKTtiPW0uZmlsdGVyKGIsYSl9cmV0dXJuIG0uZ3JlcChhLGZ1bmN0aW9uKGEpe3JldHVybiBtLmluQXJyYXkoYSxiKT49MCE9PWN9KX1tLmZpbHRlcj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YlswXTtyZXR1cm4gYyYmKGE9Ijpub3QoIithKyIpIiksMT09PWIubGVuZ3RoJiYxPT09ZC5ub2RlVHlwZT9tLmZpbmQubWF0Y2hlc1NlbGVjdG9yKGQsYSk/W2RdOltdOm0uZmluZC5tYXRjaGVzKGEsbS5ncmVwKGIsZnVuY3Rpb24oYSl7cmV0dXJuIDE9PT1hLm5vZGVUeXBlfSkpfSxtLmZuLmV4dGVuZCh7ZmluZDpmdW5jdGlvbihhKXt2YXIgYixjPVtdLGQ9dGhpcyxlPWQubGVuZ3RoO2lmKCJzdHJpbmciIT10eXBlb2YgYSlyZXR1cm4gdGhpcy5wdXNoU3RhY2sobShhKS5maWx0ZXIoZnVuY3Rpb24oKXtmb3IoYj0wO2U+YjtiKyspaWYobS5jb250YWlucyhkW2JdLHRoaXMpKXJldHVybiEwfSkpO2ZvcihiPTA7ZT5iO2IrKyltLmZpbmQoYSxkW2JdLGMpO3JldHVybiBjPXRoaXMucHVzaFN0YWNrKGU+MT9tLnVuaXF1ZShjKTpjKSxjLnNlbGVjdG9yPXRoaXMuc2VsZWN0b3I/dGhpcy5zZWxlY3RvcisiICIrYTphLGN9LGZpbHRlcjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sodyh0aGlzLGF8fFtdLCExKSl9LG5vdDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sodyh0aGlzLGF8fFtdLCEwKSl9LGlzOmZ1bmN0aW9uKGEpe3JldHVybiEhdyh0aGlzLCJzdHJpbmciPT10eXBlb2YgYSYmdC50ZXN0KGEpP20oYSk6YXx8W10sITEpLmxlbmd0aH19KTt2YXIgeCx5PWEuZG9jdW1lbnQsej0vXig/OlxzKig8W1x3XFddKz4pW14+XSp8IyhbXHctXSopKSQvLEE9bS5mbi5pbml0PWZ1bmN0aW9uKGEsYil7dmFyIGMsZDtpZighYSlyZXR1cm4gdGhpcztpZigic3RyaW5nIj09dHlwZW9mIGEpe2lmKGM9IjwiPT09YS5jaGFyQXQoMCkmJiI+Ij09PWEuY2hhckF0KGEubGVuZ3RoLTEpJiZhLmxlbmd0aD49Mz9bbnVsbCxhLG51bGxdOnouZXhlYyhhKSwhY3x8IWNbMV0mJmIpcmV0dXJuIWJ8fGIuanF1ZXJ5PyhifHx4KS5maW5kKGEpOnRoaXMuY29uc3RydWN0b3IoYikuZmluZChhKTtpZihjWzFdKXtpZihiPWIgaW5zdGFuY2VvZiBtP2JbMF06YixtLm1lcmdlKHRoaXMsbS5wYXJzZUhUTUwoY1sxXSxiJiZiLm5vZGVUeXBlP2Iub3duZXJEb2N1bWVudHx8Yjp5LCEwKSksdS50ZXN0KGNbMV0pJiZtLmlzUGxhaW5PYmplY3QoYikpZm9yKGMgaW4gYiltLmlzRnVuY3Rpb24odGhpc1tjXSk/dGhpc1tjXShiW2NdKTp0aGlzLmF0dHIoYyxiW2NdKTtyZXR1cm4gdGhpc31pZihkPXkuZ2V0RWxlbWVudEJ5SWQoY1syXSksZCYmZC5wYXJlbnROb2RlKXtpZihkLmlkIT09Y1syXSlyZXR1cm4geC5maW5kKGEpO3RoaXMubGVuZ3RoPTEsdGhpc1swXT1kfXJldHVybiB0aGlzLmNvbnRleHQ9eSx0aGlzLnNlbGVjdG9yPWEsdGhpc31yZXR1cm4gYS5ub2RlVHlwZT8odGhpcy5jb250ZXh0PXRoaXNbMF09YSx0aGlzLmxlbmd0aD0xLHRoaXMpOm0uaXNGdW5jdGlvbihhKT8idW5kZWZpbmVkIiE9dHlwZW9mIHgucmVhZHk/eC5yZWFkeShhKTphKG0pOih2b2lkIDAhPT1hLnNlbGVjdG9yJiYodGhpcy5zZWxlY3Rvcj1hLnNlbGVjdG9yLHRoaXMuY29udGV4dD1hLmNvbnRleHQpLG0ubWFrZUFycmF5KGEsdGhpcykpfTtBLnByb3RvdHlwZT1tLmZuLHg9bSh5KTt2YXIgQj0vXig/OnBhcmVudHN8cHJldig/OlVudGlsfEFsbCkpLyxDPXtjaGlsZHJlbjohMCxjb250ZW50czohMCxuZXh0OiEwLHByZXY6ITB9O20uZXh0ZW5kKHtkaXI6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVtdLGU9YVtiXTt3aGlsZShlJiY5IT09ZS5ub2RlVHlwZSYmKHZvaWQgMD09PWN8fDEhPT1lLm5vZGVUeXBlfHwhbShlKS5pcyhjKSkpMT09PWUubm9kZVR5cGUmJmQucHVzaChlKSxlPWVbYl07cmV0dXJuIGR9LHNpYmxpbmc6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9W107YTthPWEubmV4dFNpYmxpbmcpMT09PWEubm9kZVR5cGUmJmEhPT1iJiZjLnB1c2goYSk7cmV0dXJuIGN9fSksbS5mbi5leHRlbmQoe2hhczpmdW5jdGlvbihhKXt2YXIgYixjPW0oYSx0aGlzKSxkPWMubGVuZ3RoO3JldHVybiB0aGlzLmZpbHRlcihmdW5jdGlvbigpe2ZvcihiPTA7ZD5iO2IrKylpZihtLmNvbnRhaW5zKHRoaXMsY1tiXSkpcmV0dXJuITB9KX0sY2xvc2VzdDpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYyxkPTAsZT10aGlzLmxlbmd0aCxmPVtdLGc9dC50ZXN0KGEpfHwic3RyaW5nIiE9dHlwZW9mIGE/bShhLGJ8fHRoaXMuY29udGV4dCk6MDtlPmQ7ZCsrKWZvcihjPXRoaXNbZF07YyYmYyE9PWI7Yz1jLnBhcmVudE5vZGUpaWYoYy5ub2RlVHlwZTwxMSYmKGc/Zy5pbmRleChjKT4tMToxPT09Yy5ub2RlVHlwZSYmbS5maW5kLm1hdGNoZXNTZWxlY3RvcihjLGEpKSl7Zi5wdXNoKGMpO2JyZWFrfXJldHVybiB0aGlzLnB1c2hTdGFjayhmLmxlbmd0aD4xP20udW5pcXVlKGYpOmYpfSxpbmRleDpmdW5jdGlvbihhKXtyZXR1cm4gYT8ic3RyaW5nIj09dHlwZW9mIGE/bS5pbkFycmF5KHRoaXNbMF0sbShhKSk6bS5pbkFycmF5KGEuanF1ZXJ5P2FbMF06YSx0aGlzKTp0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGU/dGhpcy5maXJzdCgpLnByZXZBbGwoKS5sZW5ndGg6LTF9LGFkZDpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLnB1c2hTdGFjayhtLnVuaXF1ZShtLm1lcmdlKHRoaXMuZ2V0KCksbShhLGIpKSkpfSxhZGRCYWNrOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmFkZChudWxsPT1hP3RoaXMucHJldk9iamVjdDp0aGlzLnByZXZPYmplY3QuZmlsdGVyKGEpKX19KTtmdW5jdGlvbiBEKGEsYil7ZG8gYT1hW2JdO3doaWxlKGEmJjEhPT1hLm5vZGVUeXBlKTtyZXR1cm4gYX1tLmVhY2goe3BhcmVudDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVudE5vZGU7cmV0dXJuIGImJjExIT09Yi5ub2RlVHlwZT9iOm51bGx9LHBhcmVudHM6ZnVuY3Rpb24oYSl7cmV0dXJuIG0uZGlyKGEsInBhcmVudE5vZGUiKX0scGFyZW50c1VudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbS5kaXIoYSwicGFyZW50Tm9kZSIsYyl9LG5leHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIEQoYSwibmV4dFNpYmxpbmciKX0scHJldjpmdW5jdGlvbihhKXtyZXR1cm4gRChhLCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dEFsbDpmdW5jdGlvbihhKXtyZXR1cm4gbS5kaXIoYSwibmV4dFNpYmxpbmciKX0scHJldkFsbDpmdW5jdGlvbihhKXtyZXR1cm4gbS5kaXIoYSwicHJldmlvdXNTaWJsaW5nIil9LG5leHRVbnRpbDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIG0uZGlyKGEsIm5leHRTaWJsaW5nIixjKX0scHJldlVudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbS5kaXIoYSwicHJldmlvdXNTaWJsaW5nIixjKX0sc2libGluZ3M6ZnVuY3Rpb24oYSl7cmV0dXJuIG0uc2libGluZygoYS5wYXJlbnROb2RlfHx7fSkuZmlyc3RDaGlsZCxhKX0sY2hpbGRyZW46ZnVuY3Rpb24oYSl7cmV0dXJuIG0uc2libGluZyhhLmZpcnN0Q2hpbGQpfSxjb250ZW50czpmdW5jdGlvbihhKXtyZXR1cm4gbS5ub2RlTmFtZShhLCJpZnJhbWUiKT9hLmNvbnRlbnREb2N1bWVudHx8YS5jb250ZW50V2luZG93LmRvY3VtZW50Om0ubWVyZ2UoW10sYS5jaGlsZE5vZGVzKX19LGZ1bmN0aW9uKGEsYil7bS5mblthXT1mdW5jdGlvbihjLGQpe3ZhciBlPW0ubWFwKHRoaXMsYixjKTtyZXR1cm4iVW50aWwiIT09YS5zbGljZSgtNSkmJihkPWMpLGQmJiJzdHJpbmciPT10eXBlb2YgZCYmKGU9bS5maWx0ZXIoZCxlKSksdGhpcy5sZW5ndGg+MSYmKENbYV18fChlPW0udW5pcXVlKGUpKSxCLnRlc3QoYSkmJihlPWUucmV2ZXJzZSgpKSksdGhpcy5wdXNoU3RhY2soZSl9fSk7dmFyIEU9L1xTKy9nLEY9e307ZnVuY3Rpb24gRyhhKXt2YXIgYj1GW2FdPXt9O3JldHVybiBtLmVhY2goYS5tYXRjaChFKXx8W10sZnVuY3Rpb24oYSxjKXtiW2NdPSEwfSksYn1tLkNhbGxiYWNrcz1mdW5jdGlvbihhKXthPSJzdHJpbmciPT10eXBlb2YgYT9GW2FdfHxHKGEpOm0uZXh0ZW5kKHt9LGEpO3ZhciBiLGMsZCxlLGYsZyxoPVtdLGk9IWEub25jZSYmW10saj1mdW5jdGlvbihsKXtmb3IoYz1hLm1lbW9yeSYmbCxkPSEwLGY9Z3x8MCxnPTAsZT1oLmxlbmd0aCxiPSEwO2gmJmU+ZjtmKyspaWYoaFtmXS5hcHBseShsWzBdLGxbMV0pPT09ITEmJmEuc3RvcE9uRmFsc2Upe2M9ITE7YnJlYWt9Yj0hMSxoJiYoaT9pLmxlbmd0aCYmaihpLnNoaWZ0KCkpOmM/aD1bXTprLmRpc2FibGUoKSl9LGs9e2FkZDpmdW5jdGlvbigpe2lmKGgpe3ZhciBkPWgubGVuZ3RoOyFmdW5jdGlvbiBmKGIpe20uZWFjaChiLGZ1bmN0aW9uKGIsYyl7dmFyIGQ9bS50eXBlKGMpOyJmdW5jdGlvbiI9PT1kP2EudW5pcXVlJiZrLmhhcyhjKXx8aC5wdXNoKGMpOmMmJmMubGVuZ3RoJiYic3RyaW5nIiE9PWQmJmYoYyl9KX0oYXJndW1lbnRzKSxiP2U9aC5sZW5ndGg6YyYmKGc9ZCxqKGMpKX1yZXR1cm4gdGhpc30scmVtb3ZlOmZ1bmN0aW9uKCl7cmV0dXJuIGgmJm0uZWFjaChhcmd1bWVudHMsZnVuY3Rpb24oYSxjKXt2YXIgZDt3aGlsZSgoZD1tLmluQXJyYXkoYyxoLGQpKT4tMSloLnNwbGljZShkLDEpLGImJihlPj1kJiZlLS0sZj49ZCYmZi0tKX0pLHRoaXN9LGhhczpmdW5jdGlvbihhKXtyZXR1cm4gYT9tLmluQXJyYXkoYSxoKT4tMTohKCFofHwhaC5sZW5ndGgpfSxlbXB0eTpmdW5jdGlvbigpe3JldHVybiBoPVtdLGU9MCx0aGlzfSxkaXNhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIGg9aT1jPXZvaWQgMCx0aGlzfSxkaXNhYmxlZDpmdW5jdGlvbigpe3JldHVybiFofSxsb2NrOmZ1bmN0aW9uKCl7cmV0dXJuIGk9dm9pZCAwLGN8fGsuZGlzYWJsZSgpLHRoaXN9LGxvY2tlZDpmdW5jdGlvbigpe3JldHVybiFpfSxmaXJlV2l0aDpmdW5jdGlvbihhLGMpe3JldHVybiFofHxkJiYhaXx8KGM9Y3x8W10sYz1bYSxjLnNsaWNlP2Muc2xpY2UoKTpjXSxiP2kucHVzaChjKTpqKGMpKSx0aGlzfSxmaXJlOmZ1bmN0aW9uKCl7cmV0dXJuIGsuZmlyZVdpdGgodGhpcyxhcmd1bWVudHMpLHRoaXN9LGZpcmVkOmZ1bmN0aW9uKCl7cmV0dXJuISFkfX07cmV0dXJuIGt9LG0uZXh0ZW5kKHtEZWZlcnJlZDpmdW5jdGlvbihhKXt2YXIgYj1bWyJyZXNvbHZlIiwiZG9uZSIsbS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksInJlc29sdmVkIl0sWyJyZWplY3QiLCJmYWlsIixtLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSwicmVqZWN0ZWQiXSxbIm5vdGlmeSIsInByb2dyZXNzIixtLkNhbGxiYWNrcygibWVtb3J5IildXSxjPSJwZW5kaW5nIixkPXtzdGF0ZTpmdW5jdGlvbigpe3JldHVybiBjfSxhbHdheXM6ZnVuY3Rpb24oKXtyZXR1cm4gZS5kb25lKGFyZ3VtZW50cykuZmFpbChhcmd1bWVudHMpLHRoaXN9LHRoZW46ZnVuY3Rpb24oKXt2YXIgYT1hcmd1bWVudHM7cmV0dXJuIG0uRGVmZXJyZWQoZnVuY3Rpb24oYyl7bS5lYWNoKGIsZnVuY3Rpb24oYixmKXt2YXIgZz1tLmlzRnVuY3Rpb24oYVtiXSkmJmFbYl07ZVtmWzFdXShmdW5jdGlvbigpe3ZhciBhPWcmJmcuYXBwbHkodGhpcyxhcmd1bWVudHMpO2EmJm0uaXNGdW5jdGlvbihhLnByb21pc2UpP2EucHJvbWlzZSgpLmRvbmUoYy5yZXNvbHZlKS5mYWlsKGMucmVqZWN0KS5wcm9ncmVzcyhjLm5vdGlmeSk6Y1tmWzBdKyJXaXRoIl0odGhpcz09PWQ/Yy5wcm9taXNlKCk6dGhpcyxnP1thXTphcmd1bWVudHMpfSl9KSxhPW51bGx9KS5wcm9taXNlKCl9LHByb21pc2U6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPWE/bS5leHRlbmQoYSxkKTpkfX0sZT17fTtyZXR1cm4gZC5waXBlPWQudGhlbixtLmVhY2goYixmdW5jdGlvbihhLGYpe3ZhciBnPWZbMl0saD1mWzNdO2RbZlsxXV09Zy5hZGQsaCYmZy5hZGQoZnVuY3Rpb24oKXtjPWh9LGJbMV5hXVsyXS5kaXNhYmxlLGJbMl1bMl0ubG9jayksZVtmWzBdXT1mdW5jdGlvbigpe3JldHVybiBlW2ZbMF0rIldpdGgiXSh0aGlzPT09ZT9kOnRoaXMsYXJndW1lbnRzKSx0aGlzfSxlW2ZbMF0rIldpdGgiXT1nLmZpcmVXaXRofSksZC5wcm9taXNlKGUpLGEmJmEuY2FsbChlLGUpLGV9LHdoZW46ZnVuY3Rpb24oYSl7dmFyIGI9MCxjPWQuY2FsbChhcmd1bWVudHMpLGU9Yy5sZW5ndGgsZj0xIT09ZXx8YSYmbS5pc0Z1bmN0aW9uKGEucHJvbWlzZSk/ZTowLGc9MT09PWY/YTptLkRlZmVycmVkKCksaD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGZ1bmN0aW9uKGUpe2JbYV09dGhpcyxjW2FdPWFyZ3VtZW50cy5sZW5ndGg+MT9kLmNhbGwoYXJndW1lbnRzKTplLGM9PT1pP2cubm90aWZ5V2l0aChiLGMpOi0tZnx8Zy5yZXNvbHZlV2l0aChiLGMpfX0saSxqLGs7aWYoZT4xKWZvcihpPW5ldyBBcnJheShlKSxqPW5ldyBBcnJheShlKSxrPW5ldyBBcnJheShlKTtlPmI7YisrKWNbYl0mJm0uaXNGdW5jdGlvbihjW2JdLnByb21pc2UpP2NbYl0ucHJvbWlzZSgpLmRvbmUoaChiLGssYykpLmZhaWwoZy5yZWplY3QpLnByb2dyZXNzKGgoYixqLGkpKTotLWY7cmV0dXJuIGZ8fGcucmVzb2x2ZVdpdGgoayxjKSxnLnByb21pc2UoKX19KTt2YXIgSDttLmZuLnJlYWR5PWZ1bmN0aW9uKGEpe3JldHVybiBtLnJlYWR5LnByb21pc2UoKS5kb25lKGEpLHRoaXN9LG0uZXh0ZW5kKHtpc1JlYWR5OiExLHJlYWR5V2FpdDoxLGhvbGRSZWFkeTpmdW5jdGlvbihhKXthP20ucmVhZHlXYWl0Kys6bS5yZWFkeSghMCl9LHJlYWR5OmZ1bmN0aW9uKGEpe2lmKGE9PT0hMD8hLS1tLnJlYWR5V2FpdDohbS5pc1JlYWR5KXtpZigheS5ib2R5KXJldHVybiBzZXRUaW1lb3V0KG0ucmVhZHkpO20uaXNSZWFkeT0hMCxhIT09ITAmJi0tbS5yZWFkeVdhaXQ+MHx8KEgucmVzb2x2ZVdpdGgoeSxbbV0pLG0uZm4udHJpZ2dlckhhbmRsZXImJihtKHkpLnRyaWdnZXJIYW5kbGVyKCJyZWFkeSIpLG0oeSkub2ZmKCJyZWFkeSIpKSl9fX0pO2Z1bmN0aW9uIEkoKXt5LmFkZEV2ZW50TGlzdGVuZXI/KHkucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsSiwhMSksYS5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixKLCExKSk6KHkuZGV0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsSiksYS5kZXRhY2hFdmVudCgib25sb2FkIixKKSl9ZnVuY3Rpb24gSigpeyh5LmFkZEV2ZW50TGlzdGVuZXJ8fCJsb2FkIj09PWV2ZW50LnR5cGV8fCJjb21wbGV0ZSI9PT15LnJlYWR5U3RhdGUpJiYoSSgpLG0ucmVhZHkoKSl9bS5yZWFkeS5wcm9taXNlPWZ1bmN0aW9uKGIpe2lmKCFIKWlmKEg9bS5EZWZlcnJlZCgpLCJjb21wbGV0ZSI9PT15LnJlYWR5U3RhdGUpc2V0VGltZW91dChtLnJlYWR5KTtlbHNlIGlmKHkuYWRkRXZlbnRMaXN0ZW5lcil5LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLEosITEpLGEuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsSiwhMSk7ZWxzZXt5LmF0dGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLEopLGEuYXR0YWNoRXZlbnQoIm9ubG9hZCIsSik7dmFyIGM9ITE7dHJ5e2M9bnVsbD09YS5mcmFtZUVsZW1lbnQmJnkuZG9jdW1lbnRFbGVtZW50fWNhdGNoKGQpe31jJiZjLmRvU2Nyb2xsJiYhZnVuY3Rpb24gZSgpe2lmKCFtLmlzUmVhZHkpe3RyeXtjLmRvU2Nyb2xsKCJsZWZ0Iil9Y2F0Y2goYSl7cmV0dXJuIHNldFRpbWVvdXQoZSw1MCl9SSgpLG0ucmVhZHkoKX19KCl9cmV0dXJuIEgucHJvbWlzZShiKX07dmFyIEs9InVuZGVmaW5lZCIsTDtmb3IoTCBpbiBtKGspKWJyZWFrO2sub3duTGFzdD0iMCIhPT1MLGsuaW5saW5lQmxvY2tOZWVkc0xheW91dD0hMSxtKGZ1bmN0aW9uKCl7dmFyIGEsYixjLGQ7Yz15LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF0sYyYmYy5zdHlsZSYmKGI9eS5jcmVhdGVFbGVtZW50KCJkaXYiKSxkPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksZC5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6MDt3aWR0aDowO2hlaWdodDowO3RvcDowO2xlZnQ6LTk5OTlweCIsYy5hcHBlbmRDaGlsZChkKS5hcHBlbmRDaGlsZChiKSx0eXBlb2YgYi5zdHlsZS56b29tIT09SyYmKGIuc3R5bGUuY3NzVGV4dD0iZGlzcGxheTppbmxpbmU7bWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzoxcHg7d2lkdGg6MXB4O3pvb206MSIsay5pbmxpbmVCbG9ja05lZWRzTGF5b3V0PWE9Mz09PWIub2Zmc2V0V2lkdGgsYSYmKGMuc3R5bGUuem9vbT0xKSksYy5yZW1vdmVDaGlsZChkKSl9KSxmdW5jdGlvbigpe3ZhciBhPXkuY3JlYXRlRWxlbWVudCgiZGl2Iik7aWYobnVsbD09ay5kZWxldGVFeHBhbmRvKXtrLmRlbGV0ZUV4cGFuZG89ITA7dHJ5e2RlbGV0ZSBhLnRlc3R9Y2F0Y2goYil7ay5kZWxldGVFeHBhbmRvPSExfX1hPW51bGx9KCksbS5hY2NlcHREYXRhPWZ1bmN0aW9uKGEpe3ZhciBiPW0ubm9EYXRhWyhhLm5vZGVOYW1lKyIgIikudG9Mb3dlckNhc2UoKV0sYz0rYS5ub2RlVHlwZXx8MTtyZXR1cm4gMSE9PWMmJjkhPT1jPyExOiFifHxiIT09ITAmJmEuZ2V0QXR0cmlidXRlKCJjbGFzc2lkIik9PT1ifTt2YXIgTT0vXig/Olx7W1x3XFddKlx9fFxbW1x3XFddKlxdKSQvLE49LyhbQS1aXSkvZztmdW5jdGlvbiBPKGEsYixjKXtpZih2b2lkIDA9PT1jJiYxPT09YS5ub2RlVHlwZSl7dmFyIGQ9ImRhdGEtIitiLnJlcGxhY2UoTiwiLSQxIikudG9Mb3dlckNhc2UoKTtpZihjPWEuZ2V0QXR0cmlidXRlKGQpLCJzdHJpbmciPT10eXBlb2YgYyl7dHJ5e2M9InRydWUiPT09Yz8hMDoiZmFsc2UiPT09Yz8hMToibnVsbCI9PT1jP251bGw6K2MrIiI9PT1jPytjOk0udGVzdChjKT9tLnBhcnNlSlNPTihjKTpjfWNhdGNoKGUpe31tLmRhdGEoYSxiLGMpfWVsc2UgYz12b2lkIDB9cmV0dXJuIGN9ZnVuY3Rpb24gUChhKXt2YXIgYjtmb3IoYiBpbiBhKWlmKCgiZGF0YSIhPT1ifHwhbS5pc0VtcHR5T2JqZWN0KGFbYl0pKSYmInRvSlNPTiIhPT1iKXJldHVybiExOwoKcmV0dXJuITB9ZnVuY3Rpb24gUShhLGIsZCxlKXtpZihtLmFjY2VwdERhdGEoYSkpe3ZhciBmLGcsaD1tLmV4cGFuZG8saT1hLm5vZGVUeXBlLGo9aT9tLmNhY2hlOmEsaz1pP2FbaF06YVtoXSYmaDtpZihrJiZqW2tdJiYoZXx8altrXS5kYXRhKXx8dm9pZCAwIT09ZHx8InN0cmluZyIhPXR5cGVvZiBiKXJldHVybiBrfHwoaz1pP2FbaF09Yy5wb3AoKXx8bS5ndWlkKys6aCksaltrXXx8KGpba109aT97fTp7dG9KU09OOm0ubm9vcH0pLCgib2JqZWN0Ij09dHlwZW9mIGJ8fCJmdW5jdGlvbiI9PXR5cGVvZiBiKSYmKGU/altrXT1tLmV4dGVuZChqW2tdLGIpOmpba10uZGF0YT1tLmV4dGVuZChqW2tdLmRhdGEsYikpLGc9altrXSxlfHwoZy5kYXRhfHwoZy5kYXRhPXt9KSxnPWcuZGF0YSksdm9pZCAwIT09ZCYmKGdbbS5jYW1lbENhc2UoYildPWQpLCJzdHJpbmciPT10eXBlb2YgYj8oZj1nW2JdLG51bGw9PWYmJihmPWdbbS5jYW1lbENhc2UoYildKSk6Zj1nLGZ9fWZ1bmN0aW9uIFIoYSxiLGMpe2lmKG0uYWNjZXB0RGF0YShhKSl7dmFyIGQsZSxmPWEubm9kZVR5cGUsZz1mP20uY2FjaGU6YSxoPWY/YVttLmV4cGFuZG9dOm0uZXhwYW5kbztpZihnW2hdKXtpZihiJiYoZD1jP2dbaF06Z1toXS5kYXRhKSl7bS5pc0FycmF5KGIpP2I9Yi5jb25jYXQobS5tYXAoYixtLmNhbWVsQ2FzZSkpOmIgaW4gZD9iPVtiXTooYj1tLmNhbWVsQ2FzZShiKSxiPWIgaW4gZD9bYl06Yi5zcGxpdCgiICIpKSxlPWIubGVuZ3RoO3doaWxlKGUtLSlkZWxldGUgZFtiW2VdXTtpZihjPyFQKGQpOiFtLmlzRW1wdHlPYmplY3QoZCkpcmV0dXJufShjfHwoZGVsZXRlIGdbaF0uZGF0YSxQKGdbaF0pKSkmJihmP20uY2xlYW5EYXRhKFthXSwhMCk6ay5kZWxldGVFeHBhbmRvfHxnIT1nLndpbmRvdz9kZWxldGUgZ1toXTpnW2hdPW51bGwpfX19bS5leHRlbmQoe2NhY2hlOnt9LG5vRGF0YTp7ImFwcGxldCAiOiEwLCJlbWJlZCAiOiEwLCJvYmplY3QgIjoiY2xzaWQ6RDI3Q0RCNkUtQUU2RC0xMWNmLTk2QjgtNDQ0NTUzNTQwMDAwIn0saGFzRGF0YTpmdW5jdGlvbihhKXtyZXR1cm4gYT1hLm5vZGVUeXBlP20uY2FjaGVbYVttLmV4cGFuZG9dXTphW20uZXhwYW5kb10sISFhJiYhUChhKX0sZGF0YTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIFEoYSxiLGMpfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGEsYil7cmV0dXJuIFIoYSxiKX0sX2RhdGE6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBRKGEsYixjLCEwKX0sX3JlbW92ZURhdGE6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gUihhLGIsITApfX0pLG0uZm4uZXh0ZW5kKHtkYXRhOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGY9dGhpc1swXSxnPWYmJmYuYXR0cmlidXRlcztpZih2b2lkIDA9PT1hKXtpZih0aGlzLmxlbmd0aCYmKGU9bS5kYXRhKGYpLDE9PT1mLm5vZGVUeXBlJiYhbS5fZGF0YShmLCJwYXJzZWRBdHRycyIpKSl7Yz1nLmxlbmd0aDt3aGlsZShjLS0pZ1tjXSYmKGQ9Z1tjXS5uYW1lLDA9PT1kLmluZGV4T2YoImRhdGEtIikmJihkPW0uY2FtZWxDYXNlKGQuc2xpY2UoNSkpLE8oZixkLGVbZF0pKSk7bS5fZGF0YShmLCJwYXJzZWRBdHRycyIsITApfXJldHVybiBlfXJldHVybiJvYmplY3QiPT10eXBlb2YgYT90aGlzLmVhY2goZnVuY3Rpb24oKXttLmRhdGEodGhpcyxhKX0pOmFyZ3VtZW50cy5sZW5ndGg+MT90aGlzLmVhY2goZnVuY3Rpb24oKXttLmRhdGEodGhpcyxhLGIpfSk6Zj9PKGYsYSxtLmRhdGEoZixhKSk6dm9pZCAwfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXttLnJlbW92ZURhdGEodGhpcyxhKX0pfX0pLG0uZXh0ZW5kKHtxdWV1ZTpmdW5jdGlvbihhLGIsYyl7dmFyIGQ7cmV0dXJuIGE/KGI9KGJ8fCJmeCIpKyJxdWV1ZSIsZD1tLl9kYXRhKGEsYiksYyYmKCFkfHxtLmlzQXJyYXkoYyk/ZD1tLl9kYXRhKGEsYixtLm1ha2VBcnJheShjKSk6ZC5wdXNoKGMpKSxkfHxbXSk6dm9pZCAwfSxkZXF1ZXVlOmZ1bmN0aW9uKGEsYil7Yj1ifHwiZngiO3ZhciBjPW0ucXVldWUoYSxiKSxkPWMubGVuZ3RoLGU9Yy5zaGlmdCgpLGY9bS5fcXVldWVIb29rcyhhLGIpLGc9ZnVuY3Rpb24oKXttLmRlcXVldWUoYSxiKX07ImlucHJvZ3Jlc3MiPT09ZSYmKGU9Yy5zaGlmdCgpLGQtLSksZSYmKCJmeCI9PT1iJiZjLnVuc2hpZnQoImlucHJvZ3Jlc3MiKSxkZWxldGUgZi5zdG9wLGUuY2FsbChhLGcsZikpLCFkJiZmJiZmLmVtcHR5LmZpcmUoKX0sX3F1ZXVlSG9va3M6ZnVuY3Rpb24oYSxiKXt2YXIgYz1iKyJxdWV1ZUhvb2tzIjtyZXR1cm4gbS5fZGF0YShhLGMpfHxtLl9kYXRhKGEsYyx7ZW1wdHk6bS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IikuYWRkKGZ1bmN0aW9uKCl7bS5fcmVtb3ZlRGF0YShhLGIrInF1ZXVlIiksbS5fcmVtb3ZlRGF0YShhLGMpfSl9KX19KSxtLmZuLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oYSxiKXt2YXIgYz0yO3JldHVybiJzdHJpbmciIT10eXBlb2YgYSYmKGI9YSxhPSJmeCIsYy0tKSxhcmd1bWVudHMubGVuZ3RoPGM/bS5xdWV1ZSh0aGlzWzBdLGEpOnZvaWQgMD09PWI/dGhpczp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1tLnF1ZXVlKHRoaXMsYSxiKTttLl9xdWV1ZUhvb2tzKHRoaXMsYSksImZ4Ij09PWEmJiJpbnByb2dyZXNzIiE9PWNbMF0mJm0uZGVxdWV1ZSh0aGlzLGEpfSl9LGRlcXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe20uZGVxdWV1ZSh0aGlzLGEpfSl9LGNsZWFyUXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucXVldWUoYXx8ImZ4IixbXSl9LHByb21pc2U6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPTEsZT1tLkRlZmVycmVkKCksZj10aGlzLGc9dGhpcy5sZW5ndGgsaD1mdW5jdGlvbigpey0tZHx8ZS5yZXNvbHZlV2l0aChmLFtmXSl9OyJzdHJpbmciIT10eXBlb2YgYSYmKGI9YSxhPXZvaWQgMCksYT1hfHwiZngiO3doaWxlKGctLSljPW0uX2RhdGEoZltnXSxhKyJxdWV1ZUhvb2tzIiksYyYmYy5lbXB0eSYmKGQrKyxjLmVtcHR5LmFkZChoKSk7cmV0dXJuIGgoKSxlLnByb21pc2UoYil9fSk7dmFyIFM9L1srLV0/KD86XGQqXC58KVxkKyg/OltlRV1bKy1dP1xkK3wpLy5zb3VyY2UsVD1bIlRvcCIsIlJpZ2h0IiwiQm90dG9tIiwiTGVmdCJdLFU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT1ifHxhLCJub25lIj09PW0uY3NzKGEsImRpc3BsYXkiKXx8IW0uY29udGFpbnMoYS5vd25lckRvY3VtZW50LGEpfSxWPW0uYWNjZXNzPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcpe3ZhciBoPTAsaT1hLmxlbmd0aCxqPW51bGw9PWM7aWYoIm9iamVjdCI9PT1tLnR5cGUoYykpe2U9ITA7Zm9yKGggaW4gYyltLmFjY2VzcyhhLGIsaCxjW2hdLCEwLGYsZyl9ZWxzZSBpZih2b2lkIDAhPT1kJiYoZT0hMCxtLmlzRnVuY3Rpb24oZCl8fChnPSEwKSxqJiYoZz8oYi5jYWxsKGEsZCksYj1udWxsKTooaj1iLGI9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBqLmNhbGwobShhKSxjKX0pKSxiKSlmb3IoO2k+aDtoKyspYihhW2hdLGMsZz9kOmQuY2FsbChhW2hdLGgsYihhW2hdLGMpKSk7cmV0dXJuIGU/YTpqP2IuY2FsbChhKTppP2IoYVswXSxjKTpmfSxXPS9eKD86Y2hlY2tib3h8cmFkaW8pJC9pOyFmdW5jdGlvbigpe3ZhciBhPXkuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksYz15LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtpZihiLmlubmVySFRNTD0iICA8bGluay8+PHRhYmxlPjwvdGFibGU+PGEgaHJlZj0nL2EnPmE8L2E+PGlucHV0IHR5cGU9J2NoZWNrYm94Jy8+IixrLmxlYWRpbmdXaGl0ZXNwYWNlPTM9PT1iLmZpcnN0Q2hpbGQubm9kZVR5cGUsay50Ym9keT0hYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGJvZHkiKS5sZW5ndGgsay5odG1sU2VyaWFsaXplPSEhYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgibGluayIpLmxlbmd0aCxrLmh0bWw1Q2xvbmU9Ijw6bmF2PjwvOm5hdj4iIT09eS5jcmVhdGVFbGVtZW50KCJuYXYiKS5jbG9uZU5vZGUoITApLm91dGVySFRNTCxhLnR5cGU9ImNoZWNrYm94IixhLmNoZWNrZWQ9ITAsYy5hcHBlbmRDaGlsZChhKSxrLmFwcGVuZENoZWNrZWQ9YS5jaGVja2VkLGIuaW5uZXJIVE1MPSI8dGV4dGFyZWE+eDwvdGV4dGFyZWE+IixrLm5vQ2xvbmVDaGVja2VkPSEhYi5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5kZWZhdWx0VmFsdWUsYy5hcHBlbmRDaGlsZChiKSxiLmlubmVySFRNTD0iPGlucHV0IHR5cGU9J3JhZGlvJyBjaGVja2VkPSdjaGVja2VkJyBuYW1lPSd0Jy8+IixrLmNoZWNrQ2xvbmU9Yi5jbG9uZU5vZGUoITApLmNsb25lTm9kZSghMCkubGFzdENoaWxkLmNoZWNrZWQsay5ub0Nsb25lRXZlbnQ9ITAsYi5hdHRhY2hFdmVudCYmKGIuYXR0YWNoRXZlbnQoIm9uY2xpY2siLGZ1bmN0aW9uKCl7ay5ub0Nsb25lRXZlbnQ9ITF9KSxiLmNsb25lTm9kZSghMCkuY2xpY2soKSksbnVsbD09ay5kZWxldGVFeHBhbmRvKXtrLmRlbGV0ZUV4cGFuZG89ITA7dHJ5e2RlbGV0ZSBiLnRlc3R9Y2F0Y2goZCl7ay5kZWxldGVFeHBhbmRvPSExfX19KCksZnVuY3Rpb24oKXt2YXIgYixjLGQ9eS5jcmVhdGVFbGVtZW50KCJkaXYiKTtmb3IoYiBpbntzdWJtaXQ6ITAsY2hhbmdlOiEwLGZvY3VzaW46ITB9KWM9Im9uIitiLChrW2IrIkJ1YmJsZXMiXT1jIGluIGEpfHwoZC5zZXRBdHRyaWJ1dGUoYywidCIpLGtbYisiQnViYmxlcyJdPWQuYXR0cmlidXRlc1tjXS5leHBhbmRvPT09ITEpO2Q9bnVsbH0oKTt2YXIgWD0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYSkkL2ksWT0vXmtleS8sWj0vXig/Om1vdXNlfHBvaW50ZXJ8Y29udGV4dG1lbnUpfGNsaWNrLywkPS9eKD86Zm9jdXNpbmZvY3VzfGZvY3Vzb3V0Ymx1cikkLyxfPS9eKFteLl0qKSg/OlwuKC4rKXwpJC87ZnVuY3Rpb24gYWEoKXtyZXR1cm4hMH1mdW5jdGlvbiBiYSgpe3JldHVybiExfWZ1bmN0aW9uIGNhKCl7dHJ5e3JldHVybiB5LmFjdGl2ZUVsZW1lbnR9Y2F0Y2goYSl7fX1tLmV2ZW50PXtnbG9iYWw6e30sYWRkOmZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGYsZyxoLGksaixrLGwsbixvLHAscSxyPW0uX2RhdGEoYSk7aWYocil7Yy5oYW5kbGVyJiYoaT1jLGM9aS5oYW5kbGVyLGU9aS5zZWxlY3RvciksYy5ndWlkfHwoYy5ndWlkPW0uZ3VpZCsrKSwoZz1yLmV2ZW50cyl8fChnPXIuZXZlbnRzPXt9KSwoaz1yLmhhbmRsZSl8fChrPXIuaGFuZGxlPWZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgbT09PUt8fGEmJm0uZXZlbnQudHJpZ2dlcmVkPT09YS50eXBlP3ZvaWQgMDptLmV2ZW50LmRpc3BhdGNoLmFwcGx5KGsuZWxlbSxhcmd1bWVudHMpfSxrLmVsZW09YSksYj0oYnx8IiIpLm1hdGNoKEUpfHxbIiJdLGg9Yi5sZW5ndGg7d2hpbGUoaC0tKWY9Xy5leGVjKGJbaF0pfHxbXSxvPXE9ZlsxXSxwPShmWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksbyYmKGo9bS5ldmVudC5zcGVjaWFsW29dfHx7fSxvPShlP2ouZGVsZWdhdGVUeXBlOmouYmluZFR5cGUpfHxvLGo9bS5ldmVudC5zcGVjaWFsW29dfHx7fSxsPW0uZXh0ZW5kKHt0eXBlOm8sb3JpZ1R5cGU6cSxkYXRhOmQsaGFuZGxlcjpjLGd1aWQ6Yy5ndWlkLHNlbGVjdG9yOmUsbmVlZHNDb250ZXh0OmUmJm0uZXhwci5tYXRjaC5uZWVkc0NvbnRleHQudGVzdChlKSxuYW1lc3BhY2U6cC5qb2luKCIuIil9LGkpLChuPWdbb10pfHwobj1nW29dPVtdLG4uZGVsZWdhdGVDb3VudD0wLGouc2V0dXAmJmouc2V0dXAuY2FsbChhLGQscCxrKSE9PSExfHwoYS5hZGRFdmVudExpc3RlbmVyP2EuYWRkRXZlbnRMaXN0ZW5lcihvLGssITEpOmEuYXR0YWNoRXZlbnQmJmEuYXR0YWNoRXZlbnQoIm9uIitvLGspKSksai5hZGQmJihqLmFkZC5jYWxsKGEsbCksbC5oYW5kbGVyLmd1aWR8fChsLmhhbmRsZXIuZ3VpZD1jLmd1aWQpKSxlP24uc3BsaWNlKG4uZGVsZWdhdGVDb3VudCsrLDAsbCk6bi5wdXNoKGwpLG0uZXZlbnQuZ2xvYmFsW29dPSEwKTthPW51bGx9fSxyZW1vdmU6ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZixnLGgsaSxqLGssbCxuLG8scCxxLHI9bS5oYXNEYXRhKGEpJiZtLl9kYXRhKGEpO2lmKHImJihrPXIuZXZlbnRzKSl7Yj0oYnx8IiIpLm1hdGNoKEUpfHxbIiJdLGo9Yi5sZW5ndGg7d2hpbGUoai0tKWlmKGg9Xy5leGVjKGJbal0pfHxbXSxvPXE9aFsxXSxwPShoWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksbyl7bD1tLmV2ZW50LnNwZWNpYWxbb118fHt9LG89KGQ/bC5kZWxlZ2F0ZVR5cGU6bC5iaW5kVHlwZSl8fG8sbj1rW29dfHxbXSxoPWhbMl0mJm5ldyBSZWdFeHAoIihefFxcLikiK3Auam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIiksaT1mPW4ubGVuZ3RoO3doaWxlKGYtLSlnPW5bZl0sIWUmJnEhPT1nLm9yaWdUeXBlfHxjJiZjLmd1aWQhPT1nLmd1aWR8fGgmJiFoLnRlc3QoZy5uYW1lc3BhY2UpfHxkJiZkIT09Zy5zZWxlY3RvciYmKCIqKiIhPT1kfHwhZy5zZWxlY3Rvcil8fChuLnNwbGljZShmLDEpLGcuc2VsZWN0b3ImJm4uZGVsZWdhdGVDb3VudC0tLGwucmVtb3ZlJiZsLnJlbW92ZS5jYWxsKGEsZykpO2kmJiFuLmxlbmd0aCYmKGwudGVhcmRvd24mJmwudGVhcmRvd24uY2FsbChhLHAsci5oYW5kbGUpIT09ITF8fG0ucmVtb3ZlRXZlbnQoYSxvLHIuaGFuZGxlKSxkZWxldGUga1tvXSl9ZWxzZSBmb3IobyBpbiBrKW0uZXZlbnQucmVtb3ZlKGEsbytiW2pdLGMsZCwhMCk7bS5pc0VtcHR5T2JqZWN0KGspJiYoZGVsZXRlIHIuaGFuZGxlLG0uX3JlbW92ZURhdGEoYSwiZXZlbnRzIikpfX0sdHJpZ2dlcjpmdW5jdGlvbihiLGMsZCxlKXt2YXIgZixnLGgsaSxrLGwsbixvPVtkfHx5XSxwPWouY2FsbChiLCJ0eXBlIik/Yi50eXBlOmIscT1qLmNhbGwoYiwibmFtZXNwYWNlIik/Yi5uYW1lc3BhY2Uuc3BsaXQoIi4iKTpbXTtpZihoPWw9ZD1kfHx5LDMhPT1kLm5vZGVUeXBlJiY4IT09ZC5ub2RlVHlwZSYmISQudGVzdChwK20uZXZlbnQudHJpZ2dlcmVkKSYmKHAuaW5kZXhPZigiLiIpPj0wJiYocT1wLnNwbGl0KCIuIikscD1xLnNoaWZ0KCkscS5zb3J0KCkpLGc9cC5pbmRleE9mKCI6Iik8MCYmIm9uIitwLGI9YlttLmV4cGFuZG9dP2I6bmV3IG0uRXZlbnQocCwib2JqZWN0Ij09dHlwZW9mIGImJmIpLGIuaXNUcmlnZ2VyPWU/MjozLGIubmFtZXNwYWNlPXEuam9pbigiLiIpLGIubmFtZXNwYWNlX3JlPWIubmFtZXNwYWNlP25ldyBSZWdFeHAoIihefFxcLikiK3Euam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIik6bnVsbCxiLnJlc3VsdD12b2lkIDAsYi50YXJnZXR8fChiLnRhcmdldD1kKSxjPW51bGw9PWM/W2JdOm0ubWFrZUFycmF5KGMsW2JdKSxrPW0uZXZlbnQuc3BlY2lhbFtwXXx8e30sZXx8IWsudHJpZ2dlcnx8ay50cmlnZ2VyLmFwcGx5KGQsYykhPT0hMSkpe2lmKCFlJiYhay5ub0J1YmJsZSYmIW0uaXNXaW5kb3coZCkpe2ZvcihpPWsuZGVsZWdhdGVUeXBlfHxwLCQudGVzdChpK3ApfHwoaD1oLnBhcmVudE5vZGUpO2g7aD1oLnBhcmVudE5vZGUpby5wdXNoKGgpLGw9aDtsPT09KGQub3duZXJEb2N1bWVudHx8eSkmJm8ucHVzaChsLmRlZmF1bHRWaWV3fHxsLnBhcmVudFdpbmRvd3x8YSl9bj0wO3doaWxlKChoPW9bbisrXSkmJiFiLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpYi50eXBlPW4+MT9pOmsuYmluZFR5cGV8fHAsZj0obS5fZGF0YShoLCJldmVudHMiKXx8e30pW2IudHlwZV0mJm0uX2RhdGEoaCwiaGFuZGxlIiksZiYmZi5hcHBseShoLGMpLGY9ZyYmaFtnXSxmJiZmLmFwcGx5JiZtLmFjY2VwdERhdGEoaCkmJihiLnJlc3VsdD1mLmFwcGx5KGgsYyksYi5yZXN1bHQ9PT0hMSYmYi5wcmV2ZW50RGVmYXVsdCgpKTtpZihiLnR5cGU9cCwhZSYmIWIuaXNEZWZhdWx0UHJldmVudGVkKCkmJighay5fZGVmYXVsdHx8ay5fZGVmYXVsdC5hcHBseShvLnBvcCgpLGMpPT09ITEpJiZtLmFjY2VwdERhdGEoZCkmJmcmJmRbcF0mJiFtLmlzV2luZG93KGQpKXtsPWRbZ10sbCYmKGRbZ109bnVsbCksbS5ldmVudC50cmlnZ2VyZWQ9cDt0cnl7ZFtwXSgpfWNhdGNoKHIpe31tLmV2ZW50LnRyaWdnZXJlZD12b2lkIDAsbCYmKGRbZ109bCl9cmV0dXJuIGIucmVzdWx0fX0sZGlzcGF0Y2g6ZnVuY3Rpb24oYSl7YT1tLmV2ZW50LmZpeChhKTt2YXIgYixjLGUsZixnLGg9W10saT1kLmNhbGwoYXJndW1lbnRzKSxqPShtLl9kYXRhKHRoaXMsImV2ZW50cyIpfHx7fSlbYS50eXBlXXx8W10saz1tLmV2ZW50LnNwZWNpYWxbYS50eXBlXXx8e307aWYoaVswXT1hLGEuZGVsZWdhdGVUYXJnZXQ9dGhpcywhay5wcmVEaXNwYXRjaHx8ay5wcmVEaXNwYXRjaC5jYWxsKHRoaXMsYSkhPT0hMSl7aD1tLmV2ZW50LmhhbmRsZXJzLmNhbGwodGhpcyxhLGopLGI9MDt3aGlsZSgoZj1oW2IrK10pJiYhYS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKXthLmN1cnJlbnRUYXJnZXQ9Zi5lbGVtLGc9MDt3aGlsZSgoZT1mLmhhbmRsZXJzW2crK10pJiYhYS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpKSghYS5uYW1lc3BhY2VfcmV8fGEubmFtZXNwYWNlX3JlLnRlc3QoZS5uYW1lc3BhY2UpKSYmKGEuaGFuZGxlT2JqPWUsYS5kYXRhPWUuZGF0YSxjPSgobS5ldmVudC5zcGVjaWFsW2Uub3JpZ1R5cGVdfHx7fSkuaGFuZGxlfHxlLmhhbmRsZXIpLmFwcGx5KGYuZWxlbSxpKSx2b2lkIDAhPT1jJiYoYS5yZXN1bHQ9Yyk9PT0hMSYmKGEucHJldmVudERlZmF1bHQoKSxhLnN0b3BQcm9wYWdhdGlvbigpKSl9cmV0dXJuIGsucG9zdERpc3BhdGNoJiZrLnBvc3REaXNwYXRjaC5jYWxsKHRoaXMsYSksYS5yZXN1bHR9fSxoYW5kbGVyczpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGc9W10saD1iLmRlbGVnYXRlQ291bnQsaT1hLnRhcmdldDtpZihoJiZpLm5vZGVUeXBlJiYoIWEuYnV0dG9ufHwiY2xpY2siIT09YS50eXBlKSlmb3IoO2khPXRoaXM7aT1pLnBhcmVudE5vZGV8fHRoaXMpaWYoMT09PWkubm9kZVR5cGUmJihpLmRpc2FibGVkIT09ITB8fCJjbGljayIhPT1hLnR5cGUpKXtmb3IoZT1bXSxmPTA7aD5mO2YrKylkPWJbZl0sYz1kLnNlbGVjdG9yKyIgIix2b2lkIDA9PT1lW2NdJiYoZVtjXT1kLm5lZWRzQ29udGV4dD9tKGMsdGhpcykuaW5kZXgoaSk+PTA6bS5maW5kKGMsdGhpcyxudWxsLFtpXSkubGVuZ3RoKSxlW2NdJiZlLnB1c2goZCk7ZS5sZW5ndGgmJmcucHVzaCh7ZWxlbTppLGhhbmRsZXJzOmV9KX1yZXR1cm4gaDxiLmxlbmd0aCYmZy5wdXNoKHtlbGVtOnRoaXMsaGFuZGxlcnM6Yi5zbGljZShoKX0pLGd9LGZpeDpmdW5jdGlvbihhKXtpZihhW20uZXhwYW5kb10pcmV0dXJuIGE7dmFyIGIsYyxkLGU9YS50eXBlLGY9YSxnPXRoaXMuZml4SG9va3NbZV07Z3x8KHRoaXMuZml4SG9va3NbZV09Zz1aLnRlc3QoZSk/dGhpcy5tb3VzZUhvb2tzOlkudGVzdChlKT90aGlzLmtleUhvb2tzOnt9KSxkPWcucHJvcHM/dGhpcy5wcm9wcy5jb25jYXQoZy5wcm9wcyk6dGhpcy5wcm9wcyxhPW5ldyBtLkV2ZW50KGYpLGI9ZC5sZW5ndGg7d2hpbGUoYi0tKWM9ZFtiXSxhW2NdPWZbY107cmV0dXJuIGEudGFyZ2V0fHwoYS50YXJnZXQ9Zi5zcmNFbGVtZW50fHx5KSwzPT09YS50YXJnZXQubm9kZVR5cGUmJihhLnRhcmdldD1hLnRhcmdldC5wYXJlbnROb2RlKSxhLm1ldGFLZXk9ISFhLm1ldGFLZXksZy5maWx0ZXI/Zy5maWx0ZXIoYSxmKTphfSxwcm9wczoiYWx0S2V5IGJ1YmJsZXMgY2FuY2VsYWJsZSBjdHJsS2V5IGN1cnJlbnRUYXJnZXQgZXZlbnRQaGFzZSBtZXRhS2V5IHJlbGF0ZWRUYXJnZXQgc2hpZnRLZXkgdGFyZ2V0IHRpbWVTdGFtcCB2aWV3IHdoaWNoIi5zcGxpdCgiICIpLGZpeEhvb2tzOnt9LGtleUhvb2tzOntwcm9wczoiY2hhciBjaGFyQ29kZSBrZXkga2V5Q29kZSIuc3BsaXQoIiAiKSxmaWx0ZXI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbnVsbD09YS53aGljaCYmKGEud2hpY2g9bnVsbCE9Yi5jaGFyQ29kZT9iLmNoYXJDb2RlOmIua2V5Q29kZSksYX19LG1vdXNlSG9va3M6e3Byb3BzOiJidXR0b24gYnV0dG9ucyBjbGllbnRYIGNsaWVudFkgZnJvbUVsZW1lbnQgb2Zmc2V0WCBvZmZzZXRZIHBhZ2VYIHBhZ2VZIHNjcmVlblggc2NyZWVuWSB0b0VsZW1lbnQiLnNwbGl0KCIgIiksZmlsdGVyOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGY9Yi5idXR0b24sZz1iLmZyb21FbGVtZW50O3JldHVybiBudWxsPT1hLnBhZ2VYJiZudWxsIT1iLmNsaWVudFgmJihkPWEudGFyZ2V0Lm93bmVyRG9jdW1lbnR8fHksZT1kLmRvY3VtZW50RWxlbWVudCxjPWQuYm9keSxhLnBhZ2VYPWIuY2xpZW50WCsoZSYmZS5zY3JvbGxMZWZ0fHxjJiZjLnNjcm9sbExlZnR8fDApLShlJiZlLmNsaWVudExlZnR8fGMmJmMuY2xpZW50TGVmdHx8MCksYS5wYWdlWT1iLmNsaWVudFkrKGUmJmUuc2Nyb2xsVG9wfHxjJiZjLnNjcm9sbFRvcHx8MCktKGUmJmUuY2xpZW50VG9wfHxjJiZjLmNsaWVudFRvcHx8MCkpLCFhLnJlbGF0ZWRUYXJnZXQmJmcmJihhLnJlbGF0ZWRUYXJnZXQ9Zz09PWEudGFyZ2V0P2IudG9FbGVtZW50OmcpLGEud2hpY2h8fHZvaWQgMD09PWZ8fChhLndoaWNoPTEmZj8xOjImZj8zOjQmZj8yOjApLGF9fSxzcGVjaWFsOntsb2FkOntub0J1YmJsZTohMH0sZm9jdXM6e3RyaWdnZXI6ZnVuY3Rpb24oKXtpZih0aGlzIT09Y2EoKSYmdGhpcy5mb2N1cyl0cnl7cmV0dXJuIHRoaXMuZm9jdXMoKSwhMX1jYXRjaChhKXt9fSxkZWxlZ2F0ZVR5cGU6ImZvY3VzaW4ifSxibHVyOnt0cmlnZ2VyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXM9PT1jYSgpJiZ0aGlzLmJsdXI/KHRoaXMuYmx1cigpLCExKTp2b2lkIDB9LGRlbGVnYXRlVHlwZToiZm9jdXNvdXQifSxjbGljazp7dHJpZ2dlcjpmdW5jdGlvbigpe3JldHVybiBtLm5vZGVOYW1lKHRoaXMsImlucHV0IikmJiJjaGVja2JveCI9PT10aGlzLnR5cGUmJnRoaXMuY2xpY2s/KHRoaXMuY2xpY2soKSwhMSk6dm9pZCAwfSxfZGVmYXVsdDpmdW5jdGlvbihhKXtyZXR1cm4gbS5ub2RlTmFtZShhLnRhcmdldCwiYSIpfX0sYmVmb3JldW5sb2FkOntwb3N0RGlzcGF0Y2g6ZnVuY3Rpb24oYSl7dm9pZCAwIT09YS5yZXN1bHQmJmEub3JpZ2luYWxFdmVudCYmKGEub3JpZ2luYWxFdmVudC5yZXR1cm5WYWx1ZT1hLnJlc3VsdCl9fX0sc2ltdWxhdGU6ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9bS5leHRlbmQobmV3IG0uRXZlbnQsYyx7dHlwZTphLGlzU2ltdWxhdGVkOiEwLG9yaWdpbmFsRXZlbnQ6e319KTtkP20uZXZlbnQudHJpZ2dlcihlLG51bGwsYik6bS5ldmVudC5kaXNwYXRjaC5jYWxsKGIsZSksZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmYy5wcmV2ZW50RGVmYXVsdCgpfX0sbS5yZW1vdmVFdmVudD15LnJlbW92ZUV2ZW50TGlzdGVuZXI/ZnVuY3Rpb24oYSxiLGMpe2EucmVtb3ZlRXZlbnRMaXN0ZW5lciYmYS5yZW1vdmVFdmVudExpc3RlbmVyKGIsYywhMSl9OmZ1bmN0aW9uKGEsYixjKXt2YXIgZD0ib24iK2I7YS5kZXRhY2hFdmVudCYmKHR5cGVvZiBhW2RdPT09SyYmKGFbZF09bnVsbCksYS5kZXRhY2hFdmVudChkLGMpKX0sbS5FdmVudD1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzIGluc3RhbmNlb2YgbS5FdmVudD8oYSYmYS50eXBlPyh0aGlzLm9yaWdpbmFsRXZlbnQ9YSx0aGlzLnR5cGU9YS50eXBlLHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPWEuZGVmYXVsdFByZXZlbnRlZHx8dm9pZCAwPT09YS5kZWZhdWx0UHJldmVudGVkJiZhLnJldHVyblZhbHVlPT09ITE/YWE6YmEpOnRoaXMudHlwZT1hLGImJm0uZXh0ZW5kKHRoaXMsYiksdGhpcy50aW1lU3RhbXA9YSYmYS50aW1lU3RhbXB8fG0ubm93KCksdm9pZCh0aGlzW20uZXhwYW5kb109ITApKTpuZXcgbS5FdmVudChhLGIpfSxtLkV2ZW50LnByb3RvdHlwZT17aXNEZWZhdWx0UHJldmVudGVkOmJhLGlzUHJvcGFnYXRpb25TdG9wcGVkOmJhLGlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkOmJhLHByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNEZWZhdWx0UHJldmVudGVkPWFhLGEmJihhLnByZXZlbnREZWZhdWx0P2EucHJldmVudERlZmF1bHQoKTphLnJldHVyblZhbHVlPSExKX0sc3RvcFByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9YWEsYSYmKGEuc3RvcFByb3BhZ2F0aW9uJiZhLnN0b3BQcm9wYWdhdGlvbigpLGEuY2FuY2VsQnViYmxlPSEwKX0sc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ9YWEsYSYmYS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24mJmEuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksdGhpcy5zdG9wUHJvcGFnYXRpb24oKX19LG0uZWFjaCh7bW91c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3VzZW91dCIscG9pbnRlcmVudGVyOiJwb2ludGVyb3ZlciIscG9pbnRlcmxlYXZlOiJwb2ludGVyb3V0In0sZnVuY3Rpb24oYSxiKXttLmV2ZW50LnNwZWNpYWxbYV09e2RlbGVnYXRlVHlwZTpiLGJpbmRUeXBlOmIsaGFuZGxlOmZ1bmN0aW9uKGEpe3ZhciBjLGQ9dGhpcyxlPWEucmVsYXRlZFRhcmdldCxmPWEuaGFuZGxlT2JqO3JldHVybighZXx8ZSE9PWQmJiFtLmNvbnRhaW5zKGQsZSkpJiYoYS50eXBlPWYub3JpZ1R5cGUsYz1mLmhhbmRsZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpLGEudHlwZT1iKSxjfX19KSxrLnN1Ym1pdEJ1YmJsZXN8fChtLmV2ZW50LnNwZWNpYWwuc3VibWl0PXtzZXR1cDpmdW5jdGlvbigpe3JldHVybiBtLm5vZGVOYW1lKHRoaXMsImZvcm0iKT8hMTp2b2lkIG0uZXZlbnQuYWRkKHRoaXMsImNsaWNrLl9zdWJtaXQga2V5cHJlc3MuX3N1Ym1pdCIsZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXQsYz1tLm5vZGVOYW1lKGIsImlucHV0Iil8fG0ubm9kZU5hbWUoYiwiYnV0dG9uIik/Yi5mb3JtOnZvaWQgMDtjJiYhbS5fZGF0YShjLCJzdWJtaXRCdWJibGVzIikmJihtLmV2ZW50LmFkZChjLCJzdWJtaXQuX3N1Ym1pdCIsZnVuY3Rpb24oYSl7YS5fc3VibWl0X2J1YmJsZT0hMH0pLG0uX2RhdGEoYywic3VibWl0QnViYmxlcyIsITApKX0pfSxwb3N0RGlzcGF0Y2g6ZnVuY3Rpb24oYSl7YS5fc3VibWl0X2J1YmJsZSYmKGRlbGV0ZSBhLl9zdWJtaXRfYnViYmxlLHRoaXMucGFyZW50Tm9kZSYmIWEuaXNUcmlnZ2VyJiZtLmV2ZW50LnNpbXVsYXRlKCJzdWJtaXQiLHRoaXMucGFyZW50Tm9kZSxhLCEwKSl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7cmV0dXJuIG0ubm9kZU5hbWUodGhpcywiZm9ybSIpPyExOnZvaWQgbS5ldmVudC5yZW1vdmUodGhpcywiLl9zdWJtaXQiKX19KSxrLmNoYW5nZUJ1YmJsZXN8fChtLmV2ZW50LnNwZWNpYWwuY2hhbmdlPXtzZXR1cDpmdW5jdGlvbigpe3JldHVybiBYLnRlc3QodGhpcy5ub2RlTmFtZSk/KCgiY2hlY2tib3giPT09dGhpcy50eXBlfHwicmFkaW8iPT09dGhpcy50eXBlKSYmKG0uZXZlbnQuYWRkKHRoaXMsInByb3BlcnR5Y2hhbmdlLl9jaGFuZ2UiLGZ1bmN0aW9uKGEpeyJjaGVja2VkIj09PWEub3JpZ2luYWxFdmVudC5wcm9wZXJ0eU5hbWUmJih0aGlzLl9qdXN0X2NoYW5nZWQ9ITApfSksbS5ldmVudC5hZGQodGhpcywiY2xpY2suX2NoYW5nZSIsZnVuY3Rpb24oYSl7dGhpcy5fanVzdF9jaGFuZ2VkJiYhYS5pc1RyaWdnZXImJih0aGlzLl9qdXN0X2NoYW5nZWQ9ITEpLG0uZXZlbnQuc2ltdWxhdGUoImNoYW5nZSIsdGhpcyxhLCEwKX0pKSwhMSk6dm9pZCBtLmV2ZW50LmFkZCh0aGlzLCJiZWZvcmVhY3RpdmF0ZS5fY2hhbmdlIixmdW5jdGlvbihhKXt2YXIgYj1hLnRhcmdldDtYLnRlc3QoYi5ub2RlTmFtZSkmJiFtLl9kYXRhKGIsImNoYW5nZUJ1YmJsZXMiKSYmKG0uZXZlbnQuYWRkKGIsImNoYW5nZS5fY2hhbmdlIixmdW5jdGlvbihhKXshdGhpcy5wYXJlbnROb2RlfHxhLmlzU2ltdWxhdGVkfHxhLmlzVHJpZ2dlcnx8bS5ldmVudC5zaW11bGF0ZSgiY2hhbmdlIix0aGlzLnBhcmVudE5vZGUsYSwhMCl9KSxtLl9kYXRhKGIsImNoYW5nZUJ1YmJsZXMiLCEwKSl9KX0saGFuZGxlOmZ1bmN0aW9uKGEpe3ZhciBiPWEudGFyZ2V0O3JldHVybiB0aGlzIT09Ynx8YS5pc1NpbXVsYXRlZHx8YS5pc1RyaWdnZXJ8fCJyYWRpbyIhPT1iLnR5cGUmJiJjaGVja2JveCIhPT1iLnR5cGU/YS5oYW5kbGVPYmouaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dm9pZCAwfSx0ZWFyZG93bjpmdW5jdGlvbigpe3JldHVybiBtLmV2ZW50LnJlbW92ZSh0aGlzLCIuX2NoYW5nZSIpLCFYLnRlc3QodGhpcy5ub2RlTmFtZSl9fSksay5mb2N1c2luQnViYmxlc3x8bS5lYWNoKHtmb2N1czoiZm9jdXNpbiIsYmx1cjoiZm9jdXNvdXQifSxmdW5jdGlvbihhLGIpe3ZhciBjPWZ1bmN0aW9uKGEpe20uZXZlbnQuc2ltdWxhdGUoYixhLnRhcmdldCxtLmV2ZW50LmZpeChhKSwhMCl9O20uZXZlbnQuc3BlY2lhbFtiXT17c2V0dXA6ZnVuY3Rpb24oKXt2YXIgZD10aGlzLm93bmVyRG9jdW1lbnR8fHRoaXMsZT1tLl9kYXRhKGQsYik7ZXx8ZC5hZGRFdmVudExpc3RlbmVyKGEsYywhMCksbS5fZGF0YShkLGIsKGV8fDApKzEpfSx0ZWFyZG93bjpmdW5jdGlvbigpe3ZhciBkPXRoaXMub3duZXJEb2N1bWVudHx8dGhpcyxlPW0uX2RhdGEoZCxiKS0xO2U/bS5fZGF0YShkLGIsZSk6KGQucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGMsITApLG0uX3JlbW92ZURhdGEoZCxiKSl9fX0pLG0uZm4uZXh0ZW5kKHtvbjpmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmLGc7aWYoIm9iamVjdCI9PXR5cGVvZiBhKXsic3RyaW5nIiE9dHlwZW9mIGImJihjPWN8fGIsYj12b2lkIDApO2ZvcihmIGluIGEpdGhpcy5vbihmLGIsYyxhW2ZdLGUpO3JldHVybiB0aGlzfWlmKG51bGw9PWMmJm51bGw9PWQ/KGQ9YixjPWI9dm9pZCAwKTpudWxsPT1kJiYoInN0cmluZyI9PXR5cGVvZiBiPyhkPWMsYz12b2lkIDApOihkPWMsYz1iLGI9dm9pZCAwKSksZD09PSExKWQ9YmE7ZWxzZSBpZighZClyZXR1cm4gdGhpcztyZXR1cm4gMT09PWUmJihnPWQsZD1mdW5jdGlvbihhKXtyZXR1cm4gbSgpLm9mZihhKSxnLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sZC5ndWlkPWcuZ3VpZHx8KGcuZ3VpZD1tLmd1aWQrKykpLHRoaXMuZWFjaChmdW5jdGlvbigpe20uZXZlbnQuYWRkKHRoaXMsYSxkLGMsYil9KX0sb25lOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLm9uKGEsYixjLGQsMSl9LG9mZjpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZTtpZihhJiZhLnByZXZlbnREZWZhdWx0JiZhLmhhbmRsZU9iailyZXR1cm4gZD1hLmhhbmRsZU9iaixtKGEuZGVsZWdhdGVUYXJnZXQpLm9mZihkLm5hbWVzcGFjZT9kLm9yaWdUeXBlKyIuIitkLm5hbWVzcGFjZTpkLm9yaWdUeXBlLGQuc2VsZWN0b3IsZC5oYW5kbGVyKSx0aGlzO2lmKCJvYmplY3QiPT10eXBlb2YgYSl7Zm9yKGUgaW4gYSl0aGlzLm9mZihlLGIsYVtlXSk7cmV0dXJuIHRoaXN9cmV0dXJuKGI9PT0hMXx8ImZ1bmN0aW9uIj09dHlwZW9mIGIpJiYoYz1iLGI9dm9pZCAwKSxjPT09ITEmJihjPWJhKSx0aGlzLmVhY2goZnVuY3Rpb24oKXttLmV2ZW50LnJlbW92ZSh0aGlzLGEsYyxiKX0pfSx0cmlnZ2VyOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe20uZXZlbnQudHJpZ2dlcihhLGIsdGhpcyl9KX0sdHJpZ2dlckhhbmRsZXI6ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzWzBdO3JldHVybiBjP20uZXZlbnQudHJpZ2dlcihhLGIsYywhMCk6dm9pZCAwfX0pO2Z1bmN0aW9uIGRhKGEpe3ZhciBiPWVhLnNwbGl0KCJ8IiksYz1hLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtpZihjLmNyZWF0ZUVsZW1lbnQpd2hpbGUoYi5sZW5ndGgpYy5jcmVhdGVFbGVtZW50KGIucG9wKCkpO3JldHVybiBjfXZhciBlYT0iYWJicnxhcnRpY2xlfGFzaWRlfGF1ZGlvfGJkaXxjYW52YXN8ZGF0YXxkYXRhbGlzdHxkZXRhaWxzfGZpZ2NhcHRpb258ZmlndXJlfGZvb3RlcnxoZWFkZXJ8aGdyb3VwfG1hcmt8bWV0ZXJ8bmF2fG91dHB1dHxwcm9ncmVzc3xzZWN0aW9ufHN1bW1hcnl8dGltZXx2aWRlbyIsZmE9LyBqUXVlcnlcZCs9Iig/Om51bGx8XGQrKSIvZyxnYT1uZXcgUmVnRXhwKCI8KD86IitlYSsiKVtcXHMvPl0iLCJpIiksaGE9L15ccysvLGlhPS88KD8hYXJlYXxicnxjb2x8ZW1iZWR8aHJ8aW1nfGlucHV0fGxpbmt8bWV0YXxwYXJhbSkoKFtcdzpdKylbXj5dKilcLz4vZ2ksamE9LzwoW1x3Ol0rKS8sa2E9Lzx0Ym9keS9pLGxhPS88fCYjP1x3KzsvLG1hPS88KD86c2NyaXB0fHN0eWxlfGxpbmspL2ksbmE9L2NoZWNrZWRccyooPzpbXj1dfD1ccyouY2hlY2tlZC4pL2ksb2E9L14kfFwvKD86amF2YXxlY21hKXNjcmlwdC9pLHBhPS9edHJ1ZVwvKC4qKS8scWE9L15ccyo8ISg/OlxbQ0RBVEFcW3wtLSl8KD86XF1cXXwtLSk+XHMqJC9nLHJhPXtvcHRpb246WzEsIjxzZWxlY3QgbXVsdGlwbGU9J211bHRpcGxlJz4iLCI8L3NlbGVjdD4iXSxsZWdlbmQ6WzEsIjxmaWVsZHNldD4iLCI8L2ZpZWxkc2V0PiJdLGFyZWE6WzEsIjxtYXA+IiwiPC9tYXA+Il0scGFyYW06WzEsIjxvYmplY3Q+IiwiPC9vYmplY3Q+Il0sdGhlYWQ6WzEsIjx0YWJsZT4iLCI8L3RhYmxlPiJdLHRyOlsyLCI8dGFibGU+PHRib2R5PiIsIjwvdGJvZHk+PC90YWJsZT4iXSxjb2w6WzIsIjx0YWJsZT48dGJvZHk+PC90Ym9keT48Y29sZ3JvdXA+IiwiPC9jb2xncm91cD48L3RhYmxlPiJdLHRkOlszLCI8dGFibGU+PHRib2R5Pjx0cj4iLCI8L3RyPjwvdGJvZHk+PC90YWJsZT4iXSxfZGVmYXVsdDprLmh0bWxTZXJpYWxpemU/WzAsIiIsIiJdOlsxLCJYPGRpdj4iLCI8L2Rpdj4iXX0sc2E9ZGEoeSksdGE9c2EuYXBwZW5kQ2hpbGQoeS5jcmVhdGVFbGVtZW50KCJkaXYiKSk7cmEub3B0Z3JvdXA9cmEub3B0aW9uLHJhLnRib2R5PXJhLnRmb290PXJhLmNvbGdyb3VwPXJhLmNhcHRpb249cmEudGhlYWQscmEudGg9cmEudGQ7ZnVuY3Rpb24gdWEoYSxiKXt2YXIgYyxkLGU9MCxmPXR5cGVvZiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lIT09Sz9hLmdldEVsZW1lbnRzQnlUYWdOYW1lKGJ8fCIqIik6dHlwZW9mIGEucXVlcnlTZWxlY3RvckFsbCE9PUs/YS5xdWVyeVNlbGVjdG9yQWxsKGJ8fCIqIik6dm9pZCAwO2lmKCFmKWZvcihmPVtdLGM9YS5jaGlsZE5vZGVzfHxhO251bGwhPShkPWNbZV0pO2UrKykhYnx8bS5ub2RlTmFtZShkLGIpP2YucHVzaChkKTptLm1lcmdlKGYsdWEoZCxiKSk7cmV0dXJuIHZvaWQgMD09PWJ8fGImJm0ubm9kZU5hbWUoYSxiKT9tLm1lcmdlKFthXSxmKTpmfWZ1bmN0aW9uIHZhKGEpe1cudGVzdChhLnR5cGUpJiYoYS5kZWZhdWx0Q2hlY2tlZD1hLmNoZWNrZWQpfWZ1bmN0aW9uIHdhKGEsYil7cmV0dXJuIG0ubm9kZU5hbWUoYSwidGFibGUiKSYmbS5ub2RlTmFtZSgxMSE9PWIubm9kZVR5cGU/YjpiLmZpcnN0Q2hpbGQsInRyIik/YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGJvZHkiKVswXXx8YS5hcHBlbmRDaGlsZChhLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGJvZHkiKSk6YX1mdW5jdGlvbiB4YShhKXtyZXR1cm4gYS50eXBlPShudWxsIT09bS5maW5kLmF0dHIoYSwidHlwZSIpKSsiLyIrYS50eXBlLGF9ZnVuY3Rpb24geWEoYSl7dmFyIGI9cGEuZXhlYyhhLnR5cGUpO3JldHVybiBiP2EudHlwZT1iWzFdOmEucmVtb3ZlQXR0cmlidXRlKCJ0eXBlIiksYX1mdW5jdGlvbiB6YShhLGIpe2Zvcih2YXIgYyxkPTA7bnVsbCE9KGM9YVtkXSk7ZCsrKW0uX2RhdGEoYywiZ2xvYmFsRXZhbCIsIWJ8fG0uX2RhdGEoYltkXSwiZ2xvYmFsRXZhbCIpKX1mdW5jdGlvbiBBYShhLGIpe2lmKDE9PT1iLm5vZGVUeXBlJiZtLmhhc0RhdGEoYSkpe3ZhciBjLGQsZSxmPW0uX2RhdGEoYSksZz1tLl9kYXRhKGIsZiksaD1mLmV2ZW50cztpZihoKXtkZWxldGUgZy5oYW5kbGUsZy5ldmVudHM9e307Zm9yKGMgaW4gaClmb3IoZD0wLGU9aFtjXS5sZW5ndGg7ZT5kO2QrKyltLmV2ZW50LmFkZChiLGMsaFtjXVtkXSl9Zy5kYXRhJiYoZy5kYXRhPW0uZXh0ZW5kKHt9LGcuZGF0YSkpfX1mdW5jdGlvbiBCYShhLGIpe3ZhciBjLGQsZTtpZigxPT09Yi5ub2RlVHlwZSl7aWYoYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksIWsubm9DbG9uZUV2ZW50JiZiW20uZXhwYW5kb10pe2U9bS5fZGF0YShiKTtmb3IoZCBpbiBlLmV2ZW50cyltLnJlbW92ZUV2ZW50KGIsZCxlLmhhbmRsZSk7Yi5yZW1vdmVBdHRyaWJ1dGUobS5leHBhbmRvKX0ic2NyaXB0Ij09PWMmJmIudGV4dCE9PWEudGV4dD8oeGEoYikudGV4dD1hLnRleHQseWEoYikpOiJvYmplY3QiPT09Yz8oYi5wYXJlbnROb2RlJiYoYi5vdXRlckhUTUw9YS5vdXRlckhUTUwpLGsuaHRtbDVDbG9uZSYmYS5pbm5lckhUTUwmJiFtLnRyaW0oYi5pbm5lckhUTUwpJiYoYi5pbm5lckhUTUw9YS5pbm5lckhUTUwpKToiaW5wdXQiPT09YyYmVy50ZXN0KGEudHlwZSk/KGIuZGVmYXVsdENoZWNrZWQ9Yi5jaGVja2VkPWEuY2hlY2tlZCxiLnZhbHVlIT09YS52YWx1ZSYmKGIudmFsdWU9YS52YWx1ZSkpOiJvcHRpb24iPT09Yz9iLmRlZmF1bHRTZWxlY3RlZD1iLnNlbGVjdGVkPWEuZGVmYXVsdFNlbGVjdGVkOigiaW5wdXQiPT09Y3x8InRleHRhcmVhIj09PWMpJiYoYi5kZWZhdWx0VmFsdWU9YS5kZWZhdWx0VmFsdWUpfX1tLmV4dGVuZCh7Y2xvbmU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZixnLGgsaT1tLmNvbnRhaW5zKGEub3duZXJEb2N1bWVudCxhKTtpZihrLmh0bWw1Q2xvbmV8fG0uaXNYTUxEb2MoYSl8fCFnYS50ZXN0KCI8IithLm5vZGVOYW1lKyI+Iik/Zj1hLmNsb25lTm9kZSghMCk6KHRhLmlubmVySFRNTD1hLm91dGVySFRNTCx0YS5yZW1vdmVDaGlsZChmPXRhLmZpcnN0Q2hpbGQpKSwhKGsubm9DbG9uZUV2ZW50JiZrLm5vQ2xvbmVDaGVja2VkfHwxIT09YS5ub2RlVHlwZSYmMTEhPT1hLm5vZGVUeXBlfHxtLmlzWE1MRG9jKGEpKSlmb3IoZD11YShmKSxoPXVhKGEpLGc9MDtudWxsIT0oZT1oW2ddKTsrK2cpZFtnXSYmQmEoZSxkW2ddKTtpZihiKWlmKGMpZm9yKGg9aHx8dWEoYSksZD1kfHx1YShmKSxnPTA7bnVsbCE9KGU9aFtnXSk7ZysrKUFhKGUsZFtnXSk7ZWxzZSBBYShhLGYpO3JldHVybiBkPXVhKGYsInNjcmlwdCIpLGQubGVuZ3RoPjAmJnphKGQsIWkmJnVhKGEsInNjcmlwdCIpKSxkPWg9ZT1udWxsLGZ9LGJ1aWxkRnJhZ21lbnQ6ZnVuY3Rpb24oYSxiLGMsZCl7Zm9yKHZhciBlLGYsZyxoLGksaixsLG49YS5sZW5ndGgsbz1kYShiKSxwPVtdLHE9MDtuPnE7cSsrKWlmKGY9YVtxXSxmfHwwPT09ZilpZigib2JqZWN0Ij09PW0udHlwZShmKSltLm1lcmdlKHAsZi5ub2RlVHlwZT9bZl06Zik7ZWxzZSBpZihsYS50ZXN0KGYpKXtoPWh8fG8uYXBwZW5kQ2hpbGQoYi5jcmVhdGVFbGVtZW50KCJkaXYiKSksaT0oamEuZXhlYyhmKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKSxsPXJhW2ldfHxyYS5fZGVmYXVsdCxoLmlubmVySFRNTD1sWzFdK2YucmVwbGFjZShpYSwiPCQxPjwvJDI+IikrbFsyXSxlPWxbMF07d2hpbGUoZS0tKWg9aC5sYXN0Q2hpbGQ7aWYoIWsubGVhZGluZ1doaXRlc3BhY2UmJmhhLnRlc3QoZikmJnAucHVzaChiLmNyZWF0ZVRleHROb2RlKGhhLmV4ZWMoZilbMF0pKSwhay50Ym9keSl7Zj0idGFibGUiIT09aXx8a2EudGVzdChmKT8iPHRhYmxlPiIhPT1sWzFdfHxrYS50ZXN0KGYpPzA6aDpoLmZpcnN0Q2hpbGQsZT1mJiZmLmNoaWxkTm9kZXMubGVuZ3RoO3doaWxlKGUtLSltLm5vZGVOYW1lKGo9Zi5jaGlsZE5vZGVzW2VdLCJ0Ym9keSIpJiYhai5jaGlsZE5vZGVzLmxlbmd0aCYmZi5yZW1vdmVDaGlsZChqKX1tLm1lcmdlKHAsaC5jaGlsZE5vZGVzKSxoLnRleHRDb250ZW50PSIiO3doaWxlKGguZmlyc3RDaGlsZCloLnJlbW92ZUNoaWxkKGguZmlyc3RDaGlsZCk7aD1vLmxhc3RDaGlsZH1lbHNlIHAucHVzaChiLmNyZWF0ZVRleHROb2RlKGYpKTtoJiZvLnJlbW92ZUNoaWxkKGgpLGsuYXBwZW5kQ2hlY2tlZHx8bS5ncmVwKHVhKHAsImlucHV0IiksdmEpLHE9MDt3aGlsZShmPXBbcSsrXSlpZigoIWR8fC0xPT09bS5pbkFycmF5KGYsZCkpJiYoZz1tLmNvbnRhaW5zKGYub3duZXJEb2N1bWVudCxmKSxoPXVhKG8uYXBwZW5kQ2hpbGQoZiksInNjcmlwdCIpLGcmJnphKGgpLGMpKXtlPTA7d2hpbGUoZj1oW2UrK10pb2EudGVzdChmLnR5cGV8fCIiKSYmYy5wdXNoKGYpfXJldHVybiBoPW51bGwsb30sY2xlYW5EYXRhOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBkLGUsZixnLGg9MCxpPW0uZXhwYW5kbyxqPW0uY2FjaGUsbD1rLmRlbGV0ZUV4cGFuZG8sbj1tLmV2ZW50LnNwZWNpYWw7bnVsbCE9KGQ9YVtoXSk7aCsrKWlmKChifHxtLmFjY2VwdERhdGEoZCkpJiYoZj1kW2ldLGc9ZiYmaltmXSkpe2lmKGcuZXZlbnRzKWZvcihlIGluIGcuZXZlbnRzKW5bZV0/bS5ldmVudC5yZW1vdmUoZCxlKTptLnJlbW92ZUV2ZW50KGQsZSxnLmhhbmRsZSk7altmXSYmKGRlbGV0ZSBqW2ZdLGw/ZGVsZXRlIGRbaV06dHlwZW9mIGQucmVtb3ZlQXR0cmlidXRlIT09Sz9kLnJlbW92ZUF0dHJpYnV0ZShpKTpkW2ldPW51bGwsYy5wdXNoKGYpKX19fSksbS5mbi5leHRlbmQoe3RleHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIFYodGhpcyxmdW5jdGlvbihhKXtyZXR1cm4gdm9pZCAwPT09YT9tLnRleHQodGhpcyk6dGhpcy5lbXB0eSgpLmFwcGVuZCgodGhpc1swXSYmdGhpc1swXS5vd25lckRvY3VtZW50fHx5KS5jcmVhdGVUZXh0Tm9kZShhKSl9LG51bGwsYSxhcmd1bWVudHMubGVuZ3RoKX0sYXBwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLGZ1bmN0aW9uKGEpe2lmKDE9PT10aGlzLm5vZGVUeXBlfHwxMT09PXRoaXMubm9kZVR5cGV8fDk9PT10aGlzLm5vZGVUeXBlKXt2YXIgYj13YSh0aGlzLGEpO2IuYXBwZW5kQ2hpbGQoYSl9fSl9LHByZXBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYSl7aWYoMT09PXRoaXMubm9kZVR5cGV8fDExPT09dGhpcy5ub2RlVHlwZXx8OT09PXRoaXMubm9kZVR5cGUpe3ZhciBiPXdhKHRoaXMsYSk7Yi5pbnNlcnRCZWZvcmUoYSxiLmZpcnN0Q2hpbGQpfX0pfSxiZWZvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsdGhpcyl9KX0sYWZ0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsdGhpcy5uZXh0U2libGluZyl9KX0scmVtb3ZlOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjLGQ9YT9tLmZpbHRlcihhLHRoaXMpOnRoaXMsZT0wO251bGwhPShjPWRbZV0pO2UrKylifHwxIT09Yy5ub2RlVHlwZXx8bS5jbGVhbkRhdGEodWEoYykpLGMucGFyZW50Tm9kZSYmKGImJm0uY29udGFpbnMoYy5vd25lckRvY3VtZW50LGMpJiZ6YSh1YShjLCJzY3JpcHQiKSksYy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGMpKTtyZXR1cm4gdGhpc30sZW1wdHk6ZnVuY3Rpb24oKXtmb3IodmFyIGEsYj0wO251bGwhPShhPXRoaXNbYl0pO2IrKyl7MT09PWEubm9kZVR5cGUmJm0uY2xlYW5EYXRhKHVhKGEsITEpKTt3aGlsZShhLmZpcnN0Q2hpbGQpYS5yZW1vdmVDaGlsZChhLmZpcnN0Q2hpbGQpO2Eub3B0aW9ucyYmbS5ub2RlTmFtZShhLCJzZWxlY3QiKSYmKGEub3B0aW9ucy5sZW5ndGg9MCl9cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9bnVsbD09YT8hMTphLGI9bnVsbD09Yj9hOmIsdGhpcy5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gbS5jbG9uZSh0aGlzLGEsYil9KX0saHRtbDpmdW5jdGlvbihhKXtyZXR1cm4gVih0aGlzLGZ1bmN0aW9uKGEpe3ZhciBiPXRoaXNbMF18fHt9LGM9MCxkPXRoaXMubGVuZ3RoO2lmKHZvaWQgMD09PWEpcmV0dXJuIDE9PT1iLm5vZGVUeXBlP2IuaW5uZXJIVE1MLnJlcGxhY2UoZmEsIiIpOnZvaWQgMDtpZighKCJzdHJpbmciIT10eXBlb2YgYXx8bWEudGVzdChhKXx8IWsuaHRtbFNlcmlhbGl6ZSYmZ2EudGVzdChhKXx8IWsubGVhZGluZ1doaXRlc3BhY2UmJmhhLnRlc3QoYSl8fHJhWyhqYS5leGVjKGEpfHxbIiIsIiJdKVsxXS50b0xvd2VyQ2FzZSgpXSkpe2E9YS5yZXBsYWNlKGlhLCI8JDE+PC8kMj4iKTt0cnl7Zm9yKDtkPmM7YysrKWI9dGhpc1tjXXx8e30sMT09PWIubm9kZVR5cGUmJihtLmNsZWFuRGF0YSh1YShiLCExKSksYi5pbm5lckhUTUw9YSk7Yj0wfWNhdGNoKGUpe319YiYmdGhpcy5lbXB0eSgpLmFwcGVuZChhKX0sbnVsbCxhLGFyZ3VtZW50cy5sZW5ndGgpfSxyZXBsYWNlV2l0aDpmdW5jdGlvbigpe3ZhciBhPWFyZ3VtZW50c1swXTtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYil7YT10aGlzLnBhcmVudE5vZGUsbS5jbGVhbkRhdGEodWEodGhpcykpLGEmJmEucmVwbGFjZUNoaWxkKGIsdGhpcyl9KSxhJiYoYS5sZW5ndGh8fGEubm9kZVR5cGUpP3RoaXM6dGhpcy5yZW1vdmUoKX0sZGV0YWNoOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnJlbW92ZShhLCEwKX0sZG9tTWFuaXA6ZnVuY3Rpb24oYSxiKXthPWUuYXBwbHkoW10sYSk7dmFyIGMsZCxmLGcsaCxpLGo9MCxsPXRoaXMubGVuZ3RoLG49dGhpcyxvPWwtMSxwPWFbMF0scT1tLmlzRnVuY3Rpb24ocCk7aWYocXx8bD4xJiYic3RyaW5nIj09dHlwZW9mIHAmJiFrLmNoZWNrQ2xvbmUmJm5hLnRlc3QocCkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihjKXt2YXIgZD1uLmVxKGMpO3EmJihhWzBdPXAuY2FsbCh0aGlzLGMsZC5odG1sKCkpKSxkLmRvbU1hbmlwKGEsYil9KTtpZihsJiYoaT1tLmJ1aWxkRnJhZ21lbnQoYSx0aGlzWzBdLm93bmVyRG9jdW1lbnQsITEsdGhpcyksYz1pLmZpcnN0Q2hpbGQsMT09PWkuY2hpbGROb2Rlcy5sZW5ndGgmJihpPWMpLGMpKXtmb3IoZz1tLm1hcCh1YShpLCJzY3JpcHQiKSx4YSksZj1nLmxlbmd0aDtsPmo7aisrKWQ9aSxqIT09byYmKGQ9bS5jbG9uZShkLCEwLCEwKSxmJiZtLm1lcmdlKGcsdWEoZCwic2NyaXB0IikpKSxiLmNhbGwodGhpc1tqXSxkLGopO2lmKGYpZm9yKGg9Z1tnLmxlbmd0aC0xXS5vd25lckRvY3VtZW50LG0ubWFwKGcseWEpLGo9MDtmPmo7aisrKWQ9Z1tqXSxvYS50ZXN0KGQudHlwZXx8IiIpJiYhbS5fZGF0YShkLCJnbG9iYWxFdmFsIikmJm0uY29udGFpbnMoaCxkKSYmKGQuc3JjP20uX2V2YWxVcmwmJm0uX2V2YWxVcmwoZC5zcmMpOm0uZ2xvYmFsRXZhbCgoZC50ZXh0fHxkLnRleHRDb250ZW50fHxkLmlubmVySFRNTHx8IiIpLnJlcGxhY2UocWEsIiIpKSk7aT1jPW51bGx9cmV0dXJuIHRoaXN9fSksbS5lYWNoKHthcHBlbmRUbzoiYXBwZW5kIixwcmVwZW5kVG86InByZXBlbmQiLGluc2VydEJlZm9yZToiYmVmb3JlIixpbnNlcnRBZnRlcjoiYWZ0ZXIiLHJlcGxhY2VBbGw6InJlcGxhY2VXaXRoIn0sZnVuY3Rpb24oYSxiKXttLmZuW2FdPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYyxkPTAsZT1bXSxnPW0oYSksaD1nLmxlbmd0aC0xO2g+PWQ7ZCsrKWM9ZD09PWg/dGhpczp0aGlzLmNsb25lKCEwKSxtKGdbZF0pW2JdKGMpLGYuYXBwbHkoZSxjLmdldCgpKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soZSl9fSk7dmFyIENhLERhPXt9O2Z1bmN0aW9uIEVhKGIsYyl7dmFyIGQsZT1tKGMuY3JlYXRlRWxlbWVudChiKSkuYXBwZW5kVG8oYy5ib2R5KSxmPWEuZ2V0RGVmYXVsdENvbXB1dGVkU3R5bGUmJihkPWEuZ2V0RGVmYXVsdENvbXB1dGVkU3R5bGUoZVswXSkpP2QuZGlzcGxheTptLmNzcyhlWzBdLCJkaXNwbGF5Iik7cmV0dXJuIGUuZGV0YWNoKCksZn1mdW5jdGlvbiBGYShhKXt2YXIgYj15LGM9RGFbYV07cmV0dXJuIGN8fChjPUVhKGEsYiksIm5vbmUiIT09YyYmY3x8KENhPShDYXx8bSgiPGlmcmFtZSBmcmFtZWJvcmRlcj0nMCcgd2lkdGg9JzAnIGhlaWdodD0nMCcvPiIpKS5hcHBlbmRUbyhiLmRvY3VtZW50RWxlbWVudCksYj0oQ2FbMF0uY29udGVudFdpbmRvd3x8Q2FbMF0uY29udGVudERvY3VtZW50KS5kb2N1bWVudCxiLndyaXRlKCksYi5jbG9zZSgpLGM9RWEoYSxiKSxDYS5kZXRhY2goKSksRGFbYV09YyksY30hZnVuY3Rpb24oKXt2YXIgYTtrLnNocmlua1dyYXBCbG9ja3M9ZnVuY3Rpb24oKXtpZihudWxsIT1hKXJldHVybiBhO2E9ITE7dmFyIGIsYyxkO3JldHVybiBjPXkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXSxjJiZjLnN0eWxlPyhiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksZD15LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGQuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjA7d2lkdGg6MDtoZWlnaHQ6MDt0b3A6MDtsZWZ0Oi05OTk5cHgiLGMuYXBwZW5kQ2hpbGQoZCkuYXBwZW5kQ2hpbGQoYiksdHlwZW9mIGIuc3R5bGUuem9vbSE9PUsmJihiLnN0eWxlLmNzc1RleHQ9Ii13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDtkaXNwbGF5OmJsb2NrO21hcmdpbjowO2JvcmRlcjowO3BhZGRpbmc6MXB4O3dpZHRoOjFweDt6b29tOjEiLGIuYXBwZW5kQ2hpbGQoeS5jcmVhdGVFbGVtZW50KCJkaXYiKSkuc3R5bGUud2lkdGg9IjVweCIsYT0zIT09Yi5vZmZzZXRXaWR0aCksYy5yZW1vdmVDaGlsZChkKSxhKTp2b2lkIDB9fSgpO3ZhciBHYT0vXm1hcmdpbi8sSGE9bmV3IFJlZ0V4cCgiXigiK1MrIikoPyFweClbYS16JV0rJCIsImkiKSxJYSxKYSxLYT0vXih0b3B8cmlnaHR8Ym90dG9tfGxlZnQpJC87YS5nZXRDb21wdXRlZFN0eWxlPyhJYT1mdW5jdGlvbihiKXtyZXR1cm4gYi5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3Lm9wZW5lcj9iLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShiLG51bGwpOmEuZ2V0Q29tcHV0ZWRTdHlsZShiLG51bGwpfSxKYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmLGcsaD1hLnN0eWxlO3JldHVybiBjPWN8fElhKGEpLGc9Yz9jLmdldFByb3BlcnR5VmFsdWUoYil8fGNbYl06dm9pZCAwLGMmJigiIiE9PWd8fG0uY29udGFpbnMoYS5vd25lckRvY3VtZW50LGEpfHwoZz1tLnN0eWxlKGEsYikpLEhhLnRlc3QoZykmJkdhLnRlc3QoYikmJihkPWgud2lkdGgsZT1oLm1pbldpZHRoLGY9aC5tYXhXaWR0aCxoLm1pbldpZHRoPWgubWF4V2lkdGg9aC53aWR0aD1nLGc9Yy53aWR0aCxoLndpZHRoPWQsaC5taW5XaWR0aD1lLGgubWF4V2lkdGg9ZikpLHZvaWQgMD09PWc/ZzpnKyIifSk6eS5kb2N1bWVudEVsZW1lbnQuY3VycmVudFN0eWxlJiYoSWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuY3VycmVudFN0eWxlfSxKYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmLGcsaD1hLnN0eWxlO3JldHVybiBjPWN8fElhKGEpLGc9Yz9jW2JdOnZvaWQgMCxudWxsPT1nJiZoJiZoW2JdJiYoZz1oW2JdKSxIYS50ZXN0KGcpJiYhS2EudGVzdChiKSYmKGQ9aC5sZWZ0LGU9YS5ydW50aW1lU3R5bGUsZj1lJiZlLmxlZnQsZiYmKGUubGVmdD1hLmN1cnJlbnRTdHlsZS5sZWZ0KSxoLmxlZnQ9ImZvbnRTaXplIj09PWI/IjFlbSI6ZyxnPWgucGl4ZWxMZWZ0KyJweCIsaC5sZWZ0PWQsZiYmKGUubGVmdD1mKSksdm9pZCAwPT09Zz9nOmcrIiJ8fCJhdXRvIn0pO2Z1bmN0aW9uIExhKGEsYil7cmV0dXJue2dldDpmdW5jdGlvbigpe3ZhciBjPWEoKTtpZihudWxsIT1jKXJldHVybiBjP3ZvaWQgZGVsZXRlIHRoaXMuZ2V0Oih0aGlzLmdldD1iKS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fX0hZnVuY3Rpb24oKXt2YXIgYixjLGQsZSxmLGcsaDtpZihiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksYi5pbm5lckhUTUw9IiAgPGxpbmsvPjx0YWJsZT48L3RhYmxlPjxhIGhyZWY9Jy9hJz5hPC9hPjxpbnB1dCB0eXBlPSdjaGVja2JveCcvPiIsZD1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJhIilbMF0sYz1kJiZkLnN0eWxlKXtjLmNzc1RleHQ9ImZsb2F0OmxlZnQ7b3BhY2l0eTouNSIsay5vcGFjaXR5PSIwLjUiPT09Yy5vcGFjaXR5LGsuY3NzRmxvYXQ9ISFjLmNzc0Zsb2F0LGIuc3R5bGUuYmFja2dyb3VuZENsaXA9ImNvbnRlbnQtYm94IixiLmNsb25lTm9kZSghMCkuc3R5bGUuYmFja2dyb3VuZENsaXA9IiIsay5jbGVhckNsb25lU3R5bGU9ImNvbnRlbnQtYm94Ij09PWIuc3R5bGUuYmFja2dyb3VuZENsaXAsay5ib3hTaXppbmc9IiI9PT1jLmJveFNpemluZ3x8IiI9PT1jLk1vekJveFNpemluZ3x8IiI9PT1jLldlYmtpdEJveFNpemluZyxtLmV4dGVuZChrLHtyZWxpYWJsZUhpZGRlbk9mZnNldHM6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbD09ZyYmaSgpLGd9LGJveFNpemluZ1JlbGlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWYmJmkoKSxmfSxwaXhlbFBvc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWUmJmkoKSxlfSxyZWxpYWJsZU1hcmdpblJpZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWgmJmkoKSxofX0pO2Z1bmN0aW9uIGkoKXt2YXIgYixjLGQsaTtjPXkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXSxjJiZjLnN0eWxlJiYoYj15LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGQ9eS5jcmVhdGVFbGVtZW50KCJkaXYiKSxkLnN0eWxlLmNzc1RleHQ9InBvc2l0aW9uOmFic29sdXRlO2JvcmRlcjowO3dpZHRoOjA7aGVpZ2h0OjA7dG9wOjA7bGVmdDotOTk5OXB4IixjLmFwcGVuZENoaWxkKGQpLmFwcGVuZENoaWxkKGIpLGIuc3R5bGUuY3NzVGV4dD0iLXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDoxJTt0b3A6MSU7Ym9yZGVyOjFweDtwYWRkaW5nOjFweDt3aWR0aDo0cHg7cG9zaXRpb246YWJzb2x1dGUiLGU9Zj0hMSxoPSEwLGEuZ2V0Q29tcHV0ZWRTdHlsZSYmKGU9IjElIiE9PShhLmdldENvbXB1dGVkU3R5bGUoYixudWxsKXx8e30pLnRvcCxmPSI0cHgiPT09KGEuZ2V0Q29tcHV0ZWRTdHlsZShiLG51bGwpfHx7d2lkdGg6IjRweCJ9KS53aWR0aCxpPWIuYXBwZW5kQ2hpbGQoeS5jcmVhdGVFbGVtZW50KCJkaXYiKSksaS5zdHlsZS5jc3NUZXh0PWIuc3R5bGUuY3NzVGV4dD0iLXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94Oy1tb3otYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzowIixpLnN0eWxlLm1hcmdpblJpZ2h0PWkuc3R5bGUud2lkdGg9IjAiLGIuc3R5bGUud2lkdGg9IjFweCIsaD0hcGFyc2VGbG9hdCgoYS5nZXRDb21wdXRlZFN0eWxlKGksbnVsbCl8fHt9KS5tYXJnaW5SaWdodCksYi5yZW1vdmVDaGlsZChpKSksYi5pbm5lckhUTUw9Ijx0YWJsZT48dHI+PHRkPjwvdGQ+PHRkPnQ8L3RkPjwvdHI+PC90YWJsZT4iLGk9Yi5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGQiKSxpWzBdLnN0eWxlLmNzc1RleHQ9Im1hcmdpbjowO2JvcmRlcjowO3BhZGRpbmc6MDtkaXNwbGF5Om5vbmUiLGc9MD09PWlbMF0ub2Zmc2V0SGVpZ2h0LGcmJihpWzBdLnN0eWxlLmRpc3BsYXk9IiIsaVsxXS5zdHlsZS5kaXNwbGF5PSJub25lIixnPTA9PT1pWzBdLm9mZnNldEhlaWdodCksYy5yZW1vdmVDaGlsZChkKSl9fX0oKSxtLnN3YXA9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixnPXt9O2ZvcihmIGluIGIpZ1tmXT1hLnN0eWxlW2ZdLGEuc3R5bGVbZl09YltmXTtlPWMuYXBwbHkoYSxkfHxbXSk7Zm9yKGYgaW4gYilhLnN0eWxlW2ZdPWdbZl07cmV0dXJuIGV9O3ZhciBNYT0vYWxwaGFcKFteKV0qXCkvaSxOYT0vb3BhY2l0eVxzKj1ccyooW14pXSopLyxPYT0vXihub25lfHRhYmxlKD8hLWNbZWFdKS4rKS8sUGE9bmV3IFJlZ0V4cCgiXigiK1MrIikoLiopJCIsImkiKSxRYT1uZXcgUmVnRXhwKCJeKFsrLV0pPSgiK1MrIikiLCJpIiksUmE9e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdmlzaWJpbGl0eToiaGlkZGVuIixkaXNwbGF5OiJibG9jayJ9LFNhPXtsZXR0ZXJTcGFjaW5nOiIwIixmb250V2VpZ2h0OiI0MDAifSxUYT1bIldlYmtpdCIsIk8iLCJNb3oiLCJtcyJdO2Z1bmN0aW9uIFVhKGEsYil7aWYoYiBpbiBhKXJldHVybiBiO3ZhciBjPWIuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrYi5zbGljZSgxKSxkPWIsZT1UYS5sZW5ndGg7d2hpbGUoZS0tKWlmKGI9VGFbZV0rYyxiIGluIGEpcmV0dXJuIGI7cmV0dXJuIGR9ZnVuY3Rpb24gVmEoYSxiKXtmb3IodmFyIGMsZCxlLGY9W10sZz0wLGg9YS5sZW5ndGg7aD5nO2crKylkPWFbZ10sZC5zdHlsZSYmKGZbZ109bS5fZGF0YShkLCJvbGRkaXNwbGF5IiksYz1kLnN0eWxlLmRpc3BsYXksYj8oZltnXXx8Im5vbmUiIT09Y3x8KGQuc3R5bGUuZGlzcGxheT0iIiksIiI9PT1kLnN0eWxlLmRpc3BsYXkmJlUoZCkmJihmW2ddPW0uX2RhdGEoZCwib2xkZGlzcGxheSIsRmEoZC5ub2RlTmFtZSkpKSk6KGU9VShkKSwoYyYmIm5vbmUiIT09Y3x8IWUpJiZtLl9kYXRhKGQsIm9sZGRpc3BsYXkiLGU/YzptLmNzcyhkLCJkaXNwbGF5IikpKSk7Zm9yKGc9MDtoPmc7ZysrKWQ9YVtnXSxkLnN0eWxlJiYoYiYmIm5vbmUiIT09ZC5zdHlsZS5kaXNwbGF5JiYiIiE9PWQuc3R5bGUuZGlzcGxheXx8KGQuc3R5bGUuZGlzcGxheT1iP2ZbZ118fCIiOiJub25lIikpO3JldHVybiBhfWZ1bmN0aW9uIFdhKGEsYixjKXt2YXIgZD1QYS5leGVjKGIpO3JldHVybiBkP01hdGgubWF4KDAsZFsxXS0oY3x8MCkpKyhkWzJdfHwicHgiKTpifWZ1bmN0aW9uIFhhKGEsYixjLGQsZSl7Zm9yKHZhciBmPWM9PT0oZD8iYm9yZGVyIjoiY29udGVudCIpPzQ6IndpZHRoIj09PWI/MTowLGc9MDs0PmY7Zis9MikibWFyZ2luIj09PWMmJihnKz1tLmNzcyhhLGMrVFtmXSwhMCxlKSksZD8oImNvbnRlbnQiPT09YyYmKGctPW0uY3NzKGEsInBhZGRpbmciK1RbZl0sITAsZSkpLCJtYXJnaW4iIT09YyYmKGctPW0uY3NzKGEsImJvcmRlciIrVFtmXSsiV2lkdGgiLCEwLGUpKSk6KGcrPW0uY3NzKGEsInBhZGRpbmciK1RbZl0sITAsZSksInBhZGRpbmciIT09YyYmKGcrPW0uY3NzKGEsImJvcmRlciIrVFtmXSsiV2lkdGgiLCEwLGUpKSk7cmV0dXJuIGd9ZnVuY3Rpb24gWWEoYSxiLGMpe3ZhciBkPSEwLGU9IndpZHRoIj09PWI/YS5vZmZzZXRXaWR0aDphLm9mZnNldEhlaWdodCxmPUlhKGEpLGc9ay5ib3hTaXppbmcmJiJib3JkZXItYm94Ij09PW0uY3NzKGEsImJveFNpemluZyIsITEsZik7aWYoMD49ZXx8bnVsbD09ZSl7aWYoZT1KYShhLGIsZiksKDA+ZXx8bnVsbD09ZSkmJihlPWEuc3R5bGVbYl0pLEhhLnRlc3QoZSkpcmV0dXJuIGU7ZD1nJiYoay5ib3hTaXppbmdSZWxpYWJsZSgpfHxlPT09YS5zdHlsZVtiXSksZT1wYXJzZUZsb2F0KGUpfHwwfXJldHVybiBlK1hhKGEsYixjfHwoZz8iYm9yZGVyIjoiY29udGVudCIpLGQsZikrInB4In1tLmV4dGVuZCh7Y3NzSG9va3M6e29wYWNpdHk6e2dldDpmdW5jdGlvbihhLGIpe2lmKGIpe3ZhciBjPUphKGEsIm9wYWNpdHkiKTtyZXR1cm4iIj09PWM/IjEiOmN9fX19LGNzc051bWJlcjp7Y29sdW1uQ291bnQ6ITAsZmlsbE9wYWNpdHk6ITAsZmxleEdyb3c6ITAsZmxleFNocmluazohMCxmb250V2VpZ2h0OiEwLGxpbmVIZWlnaHQ6ITAsb3BhY2l0eTohMCxvcmRlcjohMCxvcnBoYW5zOiEwLHdpZG93czohMCx6SW5kZXg6ITAsem9vbTohMH0sY3NzUHJvcHM6eyJmbG9hdCI6ay5jc3NGbG9hdD8iY3NzRmxvYXQiOiJzdHlsZUZsb2F0In0sc3R5bGU6ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYSYmMyE9PWEubm9kZVR5cGUmJjghPT1hLm5vZGVUeXBlJiZhLnN0eWxlKXt2YXIgZSxmLGcsaD1tLmNhbWVsQ2FzZShiKSxpPWEuc3R5bGU7aWYoYj1tLmNzc1Byb3BzW2hdfHwobS5jc3NQcm9wc1toXT1VYShpLGgpKSxnPW0uY3NzSG9va3NbYl18fG0uY3NzSG9va3NbaF0sdm9pZCAwPT09YylyZXR1cm4gZyYmImdldCJpbiBnJiZ2b2lkIDAhPT0oZT1nLmdldChhLCExLGQpKT9lOmlbYl07aWYoZj10eXBlb2YgYywic3RyaW5nIj09PWYmJihlPVFhLmV4ZWMoYykpJiYoYz0oZVsxXSsxKSplWzJdK3BhcnNlRmxvYXQobS5jc3MoYSxiKSksZj0ibnVtYmVyIiksbnVsbCE9YyYmYz09PWMmJigibnVtYmVyIiE9PWZ8fG0uY3NzTnVtYmVyW2hdfHwoYys9InB4Iiksay5jbGVhckNsb25lU3R5bGV8fCIiIT09Y3x8MCE9PWIuaW5kZXhPZigiYmFja2dyb3VuZCIpfHwoaVtiXT0iaW5oZXJpdCIpLCEoZyYmInNldCJpbiBnJiZ2b2lkIDA9PT0oYz1nLnNldChhLGMsZCkpKSkpdHJ5e2lbYl09Y31jYXRjaChqKXt9fX0sY3NzOmZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlLGYsZyxoPW0uY2FtZWxDYXNlKGIpO3JldHVybiBiPW0uY3NzUHJvcHNbaF18fChtLmNzc1Byb3BzW2hdPVVhKGEuc3R5bGUsaCkpLGc9bS5jc3NIb29rc1tiXXx8bS5jc3NIb29rc1toXSxnJiYiZ2V0ImluIGcmJihmPWcuZ2V0KGEsITAsYykpLHZvaWQgMD09PWYmJihmPUphKGEsYixkKSksIm5vcm1hbCI9PT1mJiZiIGluIFNhJiYoZj1TYVtiXSksIiI9PT1jfHxjPyhlPXBhcnNlRmxvYXQoZiksYz09PSEwfHxtLmlzTnVtZXJpYyhlKT9lfHwwOmYpOmZ9fSksbS5lYWNoKFsiaGVpZ2h0Iiwid2lkdGgiXSxmdW5jdGlvbihhLGIpe20uY3NzSG9va3NbYl09e2dldDpmdW5jdGlvbihhLGMsZCl7cmV0dXJuIGM/T2EudGVzdChtLmNzcyhhLCJkaXNwbGF5IikpJiYwPT09YS5vZmZzZXRXaWR0aD9tLnN3YXAoYSxSYSxmdW5jdGlvbigpe3JldHVybiBZYShhLGIsZCl9KTpZYShhLGIsZCk6dm9pZCAwfSxzZXQ6ZnVuY3Rpb24oYSxjLGQpe3ZhciBlPWQmJklhKGEpO3JldHVybiBXYShhLGMsZD9YYShhLGIsZCxrLmJveFNpemluZyYmImJvcmRlci1ib3giPT09bS5jc3MoYSwiYm94U2l6aW5nIiwhMSxlKSxlKTowKX19fSksay5vcGFjaXR5fHwobS5jc3NIb29rcy5vcGFjaXR5PXtnZXQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gTmEudGVzdCgoYiYmYS5jdXJyZW50U3R5bGU/YS5jdXJyZW50U3R5bGUuZmlsdGVyOmEuc3R5bGUuZmlsdGVyKXx8IiIpPy4wMSpwYXJzZUZsb2F0KFJlZ0V4cC4kMSkrIiI6Yj8iMSI6IiJ9LHNldDpmdW5jdGlvbihhLGIpe3ZhciBjPWEuc3R5bGUsZD1hLmN1cnJlbnRTdHlsZSxlPW0uaXNOdW1lcmljKGIpPyJhbHBoYShvcGFjaXR5PSIrMTAwKmIrIikiOiIiLGY9ZCYmZC5maWx0ZXJ8fGMuZmlsdGVyfHwiIjtjLnpvb209MSwoYj49MXx8IiI9PT1iKSYmIiI9PT1tLnRyaW0oZi5yZXBsYWNlKE1hLCIiKSkmJmMucmVtb3ZlQXR0cmlidXRlJiYoYy5yZW1vdmVBdHRyaWJ1dGUoImZpbHRlciIpLCIiPT09Ynx8ZCYmIWQuZmlsdGVyKXx8KGMuZmlsdGVyPU1hLnRlc3QoZik/Zi5yZXBsYWNlKE1hLGUpOmYrIiAiK2UpfX0pLG0uY3NzSG9va3MubWFyZ2luUmlnaHQ9TGEoay5yZWxpYWJsZU1hcmdpblJpZ2h0LGZ1bmN0aW9uKGEsYil7cmV0dXJuIGI/bS5zd2FwKGEse2Rpc3BsYXk6ImlubGluZS1ibG9jayJ9LEphLFthLCJtYXJnaW5SaWdodCJdKTp2b2lkIDB9KSxtLmVhY2goe21hcmdpbjoiIixwYWRkaW5nOiIiLGJvcmRlcjoiV2lkdGgifSxmdW5jdGlvbihhLGIpe20uY3NzSG9va3NbYStiXT17ZXhwYW5kOmZ1bmN0aW9uKGMpe2Zvcih2YXIgZD0wLGU9e30sZj0ic3RyaW5nIj09dHlwZW9mIGM/Yy5zcGxpdCgiICIpOltjXTs0PmQ7ZCsrKWVbYStUW2RdK2JdPWZbZF18fGZbZC0yXXx8ZlswXTtyZXR1cm4gZX19LEdhLnRlc3QoYSl8fChtLmNzc0hvb2tzW2ErYl0uc2V0PVdhKX0pLG0uZm4uZXh0ZW5kKHtjc3M6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVih0aGlzLGZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGY9e30sZz0wO2lmKG0uaXNBcnJheShiKSl7Zm9yKGQ9SWEoYSksZT1iLmxlbmd0aDtlPmc7ZysrKWZbYltnXV09bS5jc3MoYSxiW2ddLCExLGQpO3JldHVybiBmfXJldHVybiB2b2lkIDAhPT1jP20uc3R5bGUoYSxiLGMpOm0uY3NzKGEsYil9LGEsYixhcmd1bWVudHMubGVuZ3RoPjEpfSxzaG93OmZ1bmN0aW9uKCl7cmV0dXJuIFZhKHRoaXMsITApfSxoaWRlOmZ1bmN0aW9uKCl7cmV0dXJuIFZhKHRoaXMpfSx0b2dnbGU6ZnVuY3Rpb24oYSl7cmV0dXJuImJvb2xlYW4iPT10eXBlb2YgYT9hP3RoaXMuc2hvdygpOnRoaXMuaGlkZSgpOnRoaXMuZWFjaChmdW5jdGlvbigpe1UodGhpcyk/bSh0aGlzKS5zaG93KCk6bSh0aGlzKS5oaWRlKCl9KX19KTtmdW5jdGlvbiBaYShhLGIsYyxkLGUpewpyZXR1cm4gbmV3IFphLnByb3RvdHlwZS5pbml0KGEsYixjLGQsZSl9bS5Ud2Vlbj1aYSxaYS5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOlphLGluaXQ6ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3RoaXMuZWxlbT1hLHRoaXMucHJvcD1jLHRoaXMuZWFzaW5nPWV8fCJzd2luZyIsdGhpcy5vcHRpb25zPWIsdGhpcy5zdGFydD10aGlzLm5vdz10aGlzLmN1cigpLHRoaXMuZW5kPWQsdGhpcy51bml0PWZ8fChtLmNzc051bWJlcltjXT8iIjoicHgiKX0sY3VyOmZ1bmN0aW9uKCl7dmFyIGE9WmEucHJvcEhvb2tzW3RoaXMucHJvcF07cmV0dXJuIGEmJmEuZ2V0P2EuZ2V0KHRoaXMpOlphLnByb3BIb29rcy5fZGVmYXVsdC5nZXQodGhpcyl9LHJ1bjpmdW5jdGlvbihhKXt2YXIgYixjPVphLnByb3BIb29rc1t0aGlzLnByb3BdO3JldHVybiB0aGlzLm9wdGlvbnMuZHVyYXRpb24/dGhpcy5wb3M9Yj1tLmVhc2luZ1t0aGlzLmVhc2luZ10oYSx0aGlzLm9wdGlvbnMuZHVyYXRpb24qYSwwLDEsdGhpcy5vcHRpb25zLmR1cmF0aW9uKTp0aGlzLnBvcz1iPWEsdGhpcy5ub3c9KHRoaXMuZW5kLXRoaXMuc3RhcnQpKmIrdGhpcy5zdGFydCx0aGlzLm9wdGlvbnMuc3RlcCYmdGhpcy5vcHRpb25zLnN0ZXAuY2FsbCh0aGlzLmVsZW0sdGhpcy5ub3csdGhpcyksYyYmYy5zZXQ/Yy5zZXQodGhpcyk6WmEucHJvcEhvb2tzLl9kZWZhdWx0LnNldCh0aGlzKSx0aGlzfX0sWmEucHJvdG90eXBlLmluaXQucHJvdG90eXBlPVphLnByb3RvdHlwZSxaYS5wcm9wSG9va3M9e19kZWZhdWx0OntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuIG51bGw9PWEuZWxlbVthLnByb3BdfHxhLmVsZW0uc3R5bGUmJm51bGwhPWEuZWxlbS5zdHlsZVthLnByb3BdPyhiPW0uY3NzKGEuZWxlbSxhLnByb3AsIiIpLGImJiJhdXRvIiE9PWI/YjowKTphLmVsZW1bYS5wcm9wXX0sc2V0OmZ1bmN0aW9uKGEpe20uZnguc3RlcFthLnByb3BdP20uZnguc3RlcFthLnByb3BdKGEpOmEuZWxlbS5zdHlsZSYmKG51bGwhPWEuZWxlbS5zdHlsZVttLmNzc1Byb3BzW2EucHJvcF1dfHxtLmNzc0hvb2tzW2EucHJvcF0pP20uc3R5bGUoYS5lbGVtLGEucHJvcCxhLm5vdythLnVuaXQpOmEuZWxlbVthLnByb3BdPWEubm93fX19LFphLnByb3BIb29rcy5zY3JvbGxUb3A9WmEucHJvcEhvb2tzLnNjcm9sbExlZnQ9e3NldDpmdW5jdGlvbihhKXthLmVsZW0ubm9kZVR5cGUmJmEuZWxlbS5wYXJlbnROb2RlJiYoYS5lbGVtW2EucHJvcF09YS5ub3cpfX0sbS5lYXNpbmc9e2xpbmVhcjpmdW5jdGlvbihhKXtyZXR1cm4gYX0sc3dpbmc6ZnVuY3Rpb24oYSl7cmV0dXJuLjUtTWF0aC5jb3MoYSpNYXRoLlBJKS8yfX0sbS5meD1aYS5wcm90b3R5cGUuaW5pdCxtLmZ4LnN0ZXA9e307dmFyICRhLF9hLGFiPS9eKD86dG9nZ2xlfHNob3d8aGlkZSkkLyxiYj1uZXcgUmVnRXhwKCJeKD86KFsrLV0pPXwpKCIrUysiKShbYS16JV0qKSQiLCJpIiksY2I9L3F1ZXVlSG9va3MkLyxkYj1baWJdLGViPXsiKiI6W2Z1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5jcmVhdGVUd2VlbihhLGIpLGQ9Yy5jdXIoKSxlPWJiLmV4ZWMoYiksZj1lJiZlWzNdfHwobS5jc3NOdW1iZXJbYV0/IiI6InB4IiksZz0obS5jc3NOdW1iZXJbYV18fCJweCIhPT1mJiYrZCkmJmJiLmV4ZWMobS5jc3MoYy5lbGVtLGEpKSxoPTEsaT0yMDtpZihnJiZnWzNdIT09Zil7Zj1mfHxnWzNdLGU9ZXx8W10sZz0rZHx8MTtkbyBoPWh8fCIuNSIsZy89aCxtLnN0eWxlKGMuZWxlbSxhLGcrZik7d2hpbGUoaCE9PShoPWMuY3VyKCkvZCkmJjEhPT1oJiYtLWkpfXJldHVybiBlJiYoZz1jLnN0YXJ0PStnfHwrZHx8MCxjLnVuaXQ9ZixjLmVuZD1lWzFdP2crKGVbMV0rMSkqZVsyXTorZVsyXSksY31dfTtmdW5jdGlvbiBmYigpe3JldHVybiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7JGE9dm9pZCAwfSksJGE9bS5ub3coKX1mdW5jdGlvbiBnYihhLGIpe3ZhciBjLGQ9e2hlaWdodDphfSxlPTA7Zm9yKGI9Yj8xOjA7ND5lO2UrPTItYiljPVRbZV0sZFsibWFyZ2luIitjXT1kWyJwYWRkaW5nIitjXT1hO3JldHVybiBiJiYoZC5vcGFjaXR5PWQud2lkdGg9YSksZH1mdW5jdGlvbiBoYihhLGIsYyl7Zm9yKHZhciBkLGU9KGViW2JdfHxbXSkuY29uY2F0KGViWyIqIl0pLGY9MCxnPWUubGVuZ3RoO2c+ZjtmKyspaWYoZD1lW2ZdLmNhbGwoYyxiLGEpKXJldHVybiBkfWZ1bmN0aW9uIGliKGEsYixjKXt2YXIgZCxlLGYsZyxoLGksaixsLG49dGhpcyxvPXt9LHA9YS5zdHlsZSxxPWEubm9kZVR5cGUmJlUoYSkscj1tLl9kYXRhKGEsImZ4c2hvdyIpO2MucXVldWV8fChoPW0uX3F1ZXVlSG9va3MoYSwiZngiKSxudWxsPT1oLnVucXVldWVkJiYoaC51bnF1ZXVlZD0wLGk9aC5lbXB0eS5maXJlLGguZW1wdHkuZmlyZT1mdW5jdGlvbigpe2gudW5xdWV1ZWR8fGkoKX0pLGgudW5xdWV1ZWQrKyxuLmFsd2F5cyhmdW5jdGlvbigpe24uYWx3YXlzKGZ1bmN0aW9uKCl7aC51bnF1ZXVlZC0tLG0ucXVldWUoYSwiZngiKS5sZW5ndGh8fGguZW1wdHkuZmlyZSgpfSl9KSksMT09PWEubm9kZVR5cGUmJigiaGVpZ2h0ImluIGJ8fCJ3aWR0aCJpbiBiKSYmKGMub3ZlcmZsb3c9W3Aub3ZlcmZsb3cscC5vdmVyZmxvd1gscC5vdmVyZmxvd1ldLGo9bS5jc3MoYSwiZGlzcGxheSIpLGw9Im5vbmUiPT09aj9tLl9kYXRhKGEsIm9sZGRpc3BsYXkiKXx8RmEoYS5ub2RlTmFtZSk6aiwiaW5saW5lIj09PWwmJiJub25lIj09PW0uY3NzKGEsImZsb2F0IikmJihrLmlubGluZUJsb2NrTmVlZHNMYXlvdXQmJiJpbmxpbmUiIT09RmEoYS5ub2RlTmFtZSk/cC56b29tPTE6cC5kaXNwbGF5PSJpbmxpbmUtYmxvY2siKSksYy5vdmVyZmxvdyYmKHAub3ZlcmZsb3c9ImhpZGRlbiIsay5zaHJpbmtXcmFwQmxvY2tzKCl8fG4uYWx3YXlzKGZ1bmN0aW9uKCl7cC5vdmVyZmxvdz1jLm92ZXJmbG93WzBdLHAub3ZlcmZsb3dYPWMub3ZlcmZsb3dbMV0scC5vdmVyZmxvd1k9Yy5vdmVyZmxvd1syXX0pKTtmb3IoZCBpbiBiKWlmKGU9YltkXSxhYi5leGVjKGUpKXtpZihkZWxldGUgYltkXSxmPWZ8fCJ0b2dnbGUiPT09ZSxlPT09KHE/ImhpZGUiOiJzaG93Iikpe2lmKCJzaG93IiE9PWV8fCFyfHx2b2lkIDA9PT1yW2RdKWNvbnRpbnVlO3E9ITB9b1tkXT1yJiZyW2RdfHxtLnN0eWxlKGEsZCl9ZWxzZSBqPXZvaWQgMDtpZihtLmlzRW1wdHlPYmplY3QobykpImlubGluZSI9PT0oIm5vbmUiPT09aj9GYShhLm5vZGVOYW1lKTpqKSYmKHAuZGlzcGxheT1qKTtlbHNle3I/ImhpZGRlbiJpbiByJiYocT1yLmhpZGRlbik6cj1tLl9kYXRhKGEsImZ4c2hvdyIse30pLGYmJihyLmhpZGRlbj0hcSkscT9tKGEpLnNob3coKTpuLmRvbmUoZnVuY3Rpb24oKXttKGEpLmhpZGUoKX0pLG4uZG9uZShmdW5jdGlvbigpe3ZhciBiO20uX3JlbW92ZURhdGEoYSwiZnhzaG93Iik7Zm9yKGIgaW4gbyltLnN0eWxlKGEsYixvW2JdKX0pO2ZvcihkIGluIG8pZz1oYihxP3JbZF06MCxkLG4pLGQgaW4gcnx8KHJbZF09Zy5zdGFydCxxJiYoZy5lbmQ9Zy5zdGFydCxnLnN0YXJ0PSJ3aWR0aCI9PT1kfHwiaGVpZ2h0Ij09PWQ/MTowKSl9fWZ1bmN0aW9uIGpiKGEsYil7dmFyIGMsZCxlLGYsZztmb3IoYyBpbiBhKWlmKGQ9bS5jYW1lbENhc2UoYyksZT1iW2RdLGY9YVtjXSxtLmlzQXJyYXkoZikmJihlPWZbMV0sZj1hW2NdPWZbMF0pLGMhPT1kJiYoYVtkXT1mLGRlbGV0ZSBhW2NdKSxnPW0uY3NzSG9va3NbZF0sZyYmImV4cGFuZCJpbiBnKXtmPWcuZXhwYW5kKGYpLGRlbGV0ZSBhW2RdO2ZvcihjIGluIGYpYyBpbiBhfHwoYVtjXT1mW2NdLGJbY109ZSl9ZWxzZSBiW2RdPWV9ZnVuY3Rpb24ga2IoYSxiLGMpe3ZhciBkLGUsZj0wLGc9ZGIubGVuZ3RoLGg9bS5EZWZlcnJlZCgpLmFsd2F5cyhmdW5jdGlvbigpe2RlbGV0ZSBpLmVsZW19KSxpPWZ1bmN0aW9uKCl7aWYoZSlyZXR1cm4hMTtmb3IodmFyIGI9JGF8fGZiKCksYz1NYXRoLm1heCgwLGouc3RhcnRUaW1lK2ouZHVyYXRpb24tYiksZD1jL2ouZHVyYXRpb258fDAsZj0xLWQsZz0wLGk9ai50d2VlbnMubGVuZ3RoO2k+ZztnKyspai50d2VlbnNbZ10ucnVuKGYpO3JldHVybiBoLm5vdGlmeVdpdGgoYSxbaixmLGNdKSwxPmYmJmk/YzooaC5yZXNvbHZlV2l0aChhLFtqXSksITEpfSxqPWgucHJvbWlzZSh7ZWxlbTphLHByb3BzOm0uZXh0ZW5kKHt9LGIpLG9wdHM6bS5leHRlbmQoITAse3NwZWNpYWxFYXNpbmc6e319LGMpLG9yaWdpbmFsUHJvcGVydGllczpiLG9yaWdpbmFsT3B0aW9uczpjLHN0YXJ0VGltZTokYXx8ZmIoKSxkdXJhdGlvbjpjLmR1cmF0aW9uLHR3ZWVuczpbXSxjcmVhdGVUd2VlbjpmdW5jdGlvbihiLGMpe3ZhciBkPW0uVHdlZW4oYSxqLm9wdHMsYixjLGoub3B0cy5zcGVjaWFsRWFzaW5nW2JdfHxqLm9wdHMuZWFzaW5nKTtyZXR1cm4gai50d2VlbnMucHVzaChkKSxkfSxzdG9wOmZ1bmN0aW9uKGIpe3ZhciBjPTAsZD1iP2oudHdlZW5zLmxlbmd0aDowO2lmKGUpcmV0dXJuIHRoaXM7Zm9yKGU9ITA7ZD5jO2MrKylqLnR3ZWVuc1tjXS5ydW4oMSk7cmV0dXJuIGI/aC5yZXNvbHZlV2l0aChhLFtqLGJdKTpoLnJlamVjdFdpdGgoYSxbaixiXSksdGhpc319KSxrPWoucHJvcHM7Zm9yKGpiKGssai5vcHRzLnNwZWNpYWxFYXNpbmcpO2c+ZjtmKyspaWYoZD1kYltmXS5jYWxsKGosYSxrLGoub3B0cykpcmV0dXJuIGQ7cmV0dXJuIG0ubWFwKGssaGIsaiksbS5pc0Z1bmN0aW9uKGoub3B0cy5zdGFydCkmJmoub3B0cy5zdGFydC5jYWxsKGEsaiksbS5meC50aW1lcihtLmV4dGVuZChpLHtlbGVtOmEsYW5pbTpqLHF1ZXVlOmoub3B0cy5xdWV1ZX0pKSxqLnByb2dyZXNzKGoub3B0cy5wcm9ncmVzcykuZG9uZShqLm9wdHMuZG9uZSxqLm9wdHMuY29tcGxldGUpLmZhaWwoai5vcHRzLmZhaWwpLmFsd2F5cyhqLm9wdHMuYWx3YXlzKX1tLkFuaW1hdGlvbj1tLmV4dGVuZChrYix7dHdlZW5lcjpmdW5jdGlvbihhLGIpe20uaXNGdW5jdGlvbihhKT8oYj1hLGE9WyIqIl0pOmE9YS5zcGxpdCgiICIpO2Zvcih2YXIgYyxkPTAsZT1hLmxlbmd0aDtlPmQ7ZCsrKWM9YVtkXSxlYltjXT1lYltjXXx8W10sZWJbY10udW5zaGlmdChiKX0scHJlZmlsdGVyOmZ1bmN0aW9uKGEsYil7Yj9kYi51bnNoaWZ0KGEpOmRiLnB1c2goYSl9fSksbS5zcGVlZD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YSYmIm9iamVjdCI9PXR5cGVvZiBhP20uZXh0ZW5kKHt9LGEpOntjb21wbGV0ZTpjfHwhYyYmYnx8bS5pc0Z1bmN0aW9uKGEpJiZhLGR1cmF0aW9uOmEsZWFzaW5nOmMmJmJ8fGImJiFtLmlzRnVuY3Rpb24oYikmJmJ9O3JldHVybiBkLmR1cmF0aW9uPW0uZngub2ZmPzA6Im51bWJlciI9PXR5cGVvZiBkLmR1cmF0aW9uP2QuZHVyYXRpb246ZC5kdXJhdGlvbiBpbiBtLmZ4LnNwZWVkcz9tLmZ4LnNwZWVkc1tkLmR1cmF0aW9uXTptLmZ4LnNwZWVkcy5fZGVmYXVsdCwobnVsbD09ZC5xdWV1ZXx8ZC5xdWV1ZT09PSEwKSYmKGQucXVldWU9ImZ4IiksZC5vbGQ9ZC5jb21wbGV0ZSxkLmNvbXBsZXRlPWZ1bmN0aW9uKCl7bS5pc0Z1bmN0aW9uKGQub2xkKSYmZC5vbGQuY2FsbCh0aGlzKSxkLnF1ZXVlJiZtLmRlcXVldWUodGhpcyxkLnF1ZXVlKX0sZH0sbS5mbi5leHRlbmQoe2ZhZGVUbzpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5maWx0ZXIoVSkuY3NzKCJvcGFjaXR5IiwwKS5zaG93KCkuZW5kKCkuYW5pbWF0ZSh7b3BhY2l0eTpifSxhLGMsZCl9LGFuaW1hdGU6ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9bS5pc0VtcHR5T2JqZWN0KGEpLGY9bS5zcGVlZChiLGMsZCksZz1mdW5jdGlvbigpe3ZhciBiPWtiKHRoaXMsbS5leHRlbmQoe30sYSksZik7KGV8fG0uX2RhdGEodGhpcywiZmluaXNoIikpJiZiLnN0b3AoITApfTtyZXR1cm4gZy5maW5pc2g9ZyxlfHxmLnF1ZXVlPT09ITE/dGhpcy5lYWNoKGcpOnRoaXMucXVldWUoZi5xdWV1ZSxnKX0sc3RvcDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9ZnVuY3Rpb24oYSl7dmFyIGI9YS5zdG9wO2RlbGV0ZSBhLnN0b3AsYihjKX07cmV0dXJuInN0cmluZyIhPXR5cGVvZiBhJiYoYz1iLGI9YSxhPXZvaWQgMCksYiYmYSE9PSExJiZ0aGlzLnF1ZXVlKGF8fCJmeCIsW10pLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPSEwLGU9bnVsbCE9YSYmYSsicXVldWVIb29rcyIsZj1tLnRpbWVycyxnPW0uX2RhdGEodGhpcyk7aWYoZSlnW2VdJiZnW2VdLnN0b3AmJmQoZ1tlXSk7ZWxzZSBmb3IoZSBpbiBnKWdbZV0mJmdbZV0uc3RvcCYmY2IudGVzdChlKSYmZChnW2VdKTtmb3IoZT1mLmxlbmd0aDtlLS07KWZbZV0uZWxlbSE9PXRoaXN8fG51bGwhPWEmJmZbZV0ucXVldWUhPT1hfHwoZltlXS5hbmltLnN0b3AoYyksYj0hMSxmLnNwbGljZShlLDEpKTsoYnx8IWMpJiZtLmRlcXVldWUodGhpcyxhKX0pfSxmaW5pc2g6ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPT0hMSYmKGE9YXx8ImZ4IiksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGIsYz1tLl9kYXRhKHRoaXMpLGQ9Y1thKyJxdWV1ZSJdLGU9Y1thKyJxdWV1ZUhvb2tzIl0sZj1tLnRpbWVycyxnPWQ/ZC5sZW5ndGg6MDtmb3IoYy5maW5pc2g9ITAsbS5xdWV1ZSh0aGlzLGEsW10pLGUmJmUuc3RvcCYmZS5zdG9wLmNhbGwodGhpcywhMCksYj1mLmxlbmd0aDtiLS07KWZbYl0uZWxlbT09PXRoaXMmJmZbYl0ucXVldWU9PT1hJiYoZltiXS5hbmltLnN0b3AoITApLGYuc3BsaWNlKGIsMSkpO2ZvcihiPTA7Zz5iO2IrKylkW2JdJiZkW2JdLmZpbmlzaCYmZFtiXS5maW5pc2guY2FsbCh0aGlzKTtkZWxldGUgYy5maW5pc2h9KX19KSxtLmVhY2goWyJ0b2dnbGUiLCJzaG93IiwiaGlkZSJdLGZ1bmN0aW9uKGEsYil7dmFyIGM9bS5mbltiXTttLmZuW2JdPWZ1bmN0aW9uKGEsZCxlKXtyZXR1cm4gbnVsbD09YXx8ImJvb2xlYW4iPT10eXBlb2YgYT9jLmFwcGx5KHRoaXMsYXJndW1lbnRzKTp0aGlzLmFuaW1hdGUoZ2IoYiwhMCksYSxkLGUpfX0pLG0uZWFjaCh7c2xpZGVEb3duOmdiKCJzaG93Iiksc2xpZGVVcDpnYigiaGlkZSIpLHNsaWRlVG9nZ2xlOmdiKCJ0b2dnbGUiKSxmYWRlSW46e29wYWNpdHk6InNob3cifSxmYWRlT3V0OntvcGFjaXR5OiJoaWRlIn0sZmFkZVRvZ2dsZTp7b3BhY2l0eToidG9nZ2xlIn19LGZ1bmN0aW9uKGEsYil7bS5mblthXT1mdW5jdGlvbihhLGMsZCl7cmV0dXJuIHRoaXMuYW5pbWF0ZShiLGEsYyxkKX19KSxtLnRpbWVycz1bXSxtLmZ4LnRpY2s9ZnVuY3Rpb24oKXt2YXIgYSxiPW0udGltZXJzLGM9MDtmb3IoJGE9bS5ub3coKTtjPGIubGVuZ3RoO2MrKylhPWJbY10sYSgpfHxiW2NdIT09YXx8Yi5zcGxpY2UoYy0tLDEpO2IubGVuZ3RofHxtLmZ4LnN0b3AoKSwkYT12b2lkIDB9LG0uZngudGltZXI9ZnVuY3Rpb24oYSl7bS50aW1lcnMucHVzaChhKSxhKCk/bS5meC5zdGFydCgpOm0udGltZXJzLnBvcCgpfSxtLmZ4LmludGVydmFsPTEzLG0uZnguc3RhcnQ9ZnVuY3Rpb24oKXtfYXx8KF9hPXNldEludGVydmFsKG0uZngudGljayxtLmZ4LmludGVydmFsKSl9LG0uZnguc3RvcD1mdW5jdGlvbigpe2NsZWFySW50ZXJ2YWwoX2EpLF9hPW51bGx9LG0uZnguc3BlZWRzPXtzbG93OjYwMCxmYXN0OjIwMCxfZGVmYXVsdDo0MDB9LG0uZm4uZGVsYXk9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT1tLmZ4P20uZnguc3BlZWRzW2FdfHxhOmEsYj1ifHwiZngiLHRoaXMucXVldWUoYixmdW5jdGlvbihiLGMpe3ZhciBkPXNldFRpbWVvdXQoYixhKTtjLnN0b3A9ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQoZCl9fSl9LGZ1bmN0aW9uKCl7dmFyIGEsYixjLGQsZTtiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksYi5zZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIsInQiKSxiLmlubmVySFRNTD0iICA8bGluay8+PHRhYmxlPjwvdGFibGU+PGEgaHJlZj0nL2EnPmE8L2E+PGlucHV0IHR5cGU9J2NoZWNrYm94Jy8+IixkPWIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKVswXSxjPXkuY3JlYXRlRWxlbWVudCgic2VsZWN0IiksZT1jLmFwcGVuZENoaWxkKHkuY3JlYXRlRWxlbWVudCgib3B0aW9uIikpLGE9Yi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXSxkLnN0eWxlLmNzc1RleHQ9InRvcDoxcHgiLGsuZ2V0U2V0QXR0cmlidXRlPSJ0IiE9PWIuY2xhc3NOYW1lLGsuc3R5bGU9L3RvcC8udGVzdChkLmdldEF0dHJpYnV0ZSgic3R5bGUiKSksay5ocmVmTm9ybWFsaXplZD0iL2EiPT09ZC5nZXRBdHRyaWJ1dGUoImhyZWYiKSxrLmNoZWNrT249ISFhLnZhbHVlLGsub3B0U2VsZWN0ZWQ9ZS5zZWxlY3RlZCxrLmVuY3R5cGU9ISF5LmNyZWF0ZUVsZW1lbnQoImZvcm0iKS5lbmN0eXBlLGMuZGlzYWJsZWQ9ITAsay5vcHREaXNhYmxlZD0hZS5kaXNhYmxlZCxhPXkuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxhLnNldEF0dHJpYnV0ZSgidmFsdWUiLCIiKSxrLmlucHV0PSIiPT09YS5nZXRBdHRyaWJ1dGUoInZhbHVlIiksYS52YWx1ZT0idCIsYS5zZXRBdHRyaWJ1dGUoInR5cGUiLCJyYWRpbyIpLGsucmFkaW9WYWx1ZT0idCI9PT1hLnZhbHVlfSgpO3ZhciBsYj0vXHIvZzttLmZuLmV4dGVuZCh7dmFsOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlPXRoaXNbMF07e2lmKGFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQ9bS5pc0Z1bmN0aW9uKGEpLHRoaXMuZWFjaChmdW5jdGlvbihjKXt2YXIgZTsxPT09dGhpcy5ub2RlVHlwZSYmKGU9ZD9hLmNhbGwodGhpcyxjLG0odGhpcykudmFsKCkpOmEsbnVsbD09ZT9lPSIiOiJudW1iZXIiPT10eXBlb2YgZT9lKz0iIjptLmlzQXJyYXkoZSkmJihlPW0ubWFwKGUsZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWE/IiI6YSsiIn0pKSxiPW0udmFsSG9va3NbdGhpcy50eXBlXXx8bS52YWxIb29rc1t0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldLGImJiJzZXQiaW4gYiYmdm9pZCAwIT09Yi5zZXQodGhpcyxlLCJ2YWx1ZSIpfHwodGhpcy52YWx1ZT1lKSl9KTtpZihlKXJldHVybiBiPW0udmFsSG9va3NbZS50eXBlXXx8bS52YWxIb29rc1tlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldLGImJiJnZXQiaW4gYiYmdm9pZCAwIT09KGM9Yi5nZXQoZSwidmFsdWUiKSk/YzooYz1lLnZhbHVlLCJzdHJpbmciPT10eXBlb2YgYz9jLnJlcGxhY2UobGIsIiIpOm51bGw9PWM/IiI6Yyl9fX0pLG0uZXh0ZW5kKHt2YWxIb29rczp7b3B0aW9uOntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9bS5maW5kLmF0dHIoYSwidmFsdWUiKTtyZXR1cm4gbnVsbCE9Yj9iOm0udHJpbShtLnRleHQoYSkpfX0sc2VsZWN0OntnZXQ6ZnVuY3Rpb24oYSl7Zm9yKHZhciBiLGMsZD1hLm9wdGlvbnMsZT1hLnNlbGVjdGVkSW5kZXgsZj0ic2VsZWN0LW9uZSI9PT1hLnR5cGV8fDA+ZSxnPWY/bnVsbDpbXSxoPWY/ZSsxOmQubGVuZ3RoLGk9MD5lP2g6Zj9lOjA7aD5pO2krKylpZihjPWRbaV0sISghYy5zZWxlY3RlZCYmaSE9PWV8fChrLm9wdERpc2FibGVkP2MuZGlzYWJsZWQ6bnVsbCE9PWMuZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpKXx8Yy5wYXJlbnROb2RlLmRpc2FibGVkJiZtLm5vZGVOYW1lKGMucGFyZW50Tm9kZSwib3B0Z3JvdXAiKSkpe2lmKGI9bShjKS52YWwoKSxmKXJldHVybiBiO2cucHVzaChiKX1yZXR1cm4gZ30sc2V0OmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlPWEub3B0aW9ucyxmPW0ubWFrZUFycmF5KGIpLGc9ZS5sZW5ndGg7d2hpbGUoZy0tKWlmKGQ9ZVtnXSxtLmluQXJyYXkobS52YWxIb29rcy5vcHRpb24uZ2V0KGQpLGYpPj0wKXRyeXtkLnNlbGVjdGVkPWM9ITB9Y2F0Y2goaCl7ZC5zY3JvbGxIZWlnaHR9ZWxzZSBkLnNlbGVjdGVkPSExO3JldHVybiBjfHwoYS5zZWxlY3RlZEluZGV4PS0xKSxlfX19fSksbS5lYWNoKFsicmFkaW8iLCJjaGVja2JveCJdLGZ1bmN0aW9uKCl7bS52YWxIb29rc1t0aGlzXT17c2V0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIG0uaXNBcnJheShiKT9hLmNoZWNrZWQ9bS5pbkFycmF5KG0oYSkudmFsKCksYik+PTA6dm9pZCAwfX0say5jaGVja09ufHwobS52YWxIb29rc1t0aGlzXS5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PT1hLmdldEF0dHJpYnV0ZSgidmFsdWUiKT8ib24iOmEudmFsdWV9KX0pO3ZhciBtYixuYixvYj1tLmV4cHIuYXR0ckhhbmRsZSxwYj0vXig/OmNoZWNrZWR8c2VsZWN0ZWQpJC9pLHFiPWsuZ2V0U2V0QXR0cmlidXRlLHJiPWsuaW5wdXQ7bS5mbi5leHRlbmQoe2F0dHI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVih0aGlzLG0uYXR0cixhLGIsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlQXR0cjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7bS5yZW1vdmVBdHRyKHRoaXMsYSl9KX19KSxtLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmPWEubm9kZVR5cGU7aWYoYSYmMyE9PWYmJjghPT1mJiYyIT09ZilyZXR1cm4gdHlwZW9mIGEuZ2V0QXR0cmlidXRlPT09Sz9tLnByb3AoYSxiLGMpOigxPT09ZiYmbS5pc1hNTERvYyhhKXx8KGI9Yi50b0xvd2VyQ2FzZSgpLGQ9bS5hdHRySG9va3NbYl18fChtLmV4cHIubWF0Y2guYm9vbC50ZXN0KGIpP25iOm1iKSksdm9pZCAwPT09Yz9kJiYiZ2V0ImluIGQmJm51bGwhPT0oZT1kLmdldChhLGIpKT9lOihlPW0uZmluZC5hdHRyKGEsYiksbnVsbD09ZT92b2lkIDA6ZSk6bnVsbCE9PWM/ZCYmInNldCJpbiBkJiZ2b2lkIDAhPT0oZT1kLnNldChhLGMsYikpP2U6KGEuc2V0QXR0cmlidXRlKGIsYysiIiksYyk6dm9pZCBtLnJlbW92ZUF0dHIoYSxiKSl9LHJlbW92ZUF0dHI6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGU9MCxmPWImJmIubWF0Y2goRSk7aWYoZiYmMT09PWEubm9kZVR5cGUpd2hpbGUoYz1mW2UrK10pZD1tLnByb3BGaXhbY118fGMsbS5leHByLm1hdGNoLmJvb2wudGVzdChjKT9yYiYmcWJ8fCFwYi50ZXN0KGMpP2FbZF09ITE6YVttLmNhbWVsQ2FzZSgiZGVmYXVsdC0iK2MpXT1hW2RdPSExOm0uYXR0cihhLGMsIiIpLGEucmVtb3ZlQXR0cmlidXRlKHFiP2M6ZCl9LGF0dHJIb29rczp7dHlwZTp7c2V0OmZ1bmN0aW9uKGEsYil7aWYoIWsucmFkaW9WYWx1ZSYmInJhZGlvIj09PWImJm0ubm9kZU5hbWUoYSwiaW5wdXQiKSl7dmFyIGM9YS52YWx1ZTtyZXR1cm4gYS5zZXRBdHRyaWJ1dGUoInR5cGUiLGIpLGMmJihhLnZhbHVlPWMpLGJ9fX19fSksbmI9e3NldDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGI9PT0hMT9tLnJlbW92ZUF0dHIoYSxjKTpyYiYmcWJ8fCFwYi50ZXN0KGMpP2Euc2V0QXR0cmlidXRlKCFxYiYmbS5wcm9wRml4W2NdfHxjLGMpOmFbbS5jYW1lbENhc2UoImRlZmF1bHQtIitjKV09YVtjXT0hMCxjfX0sbS5lYWNoKG0uZXhwci5tYXRjaC5ib29sLnNvdXJjZS5tYXRjaCgvXHcrL2cpLGZ1bmN0aW9uKGEsYil7dmFyIGM9b2JbYl18fG0uZmluZC5hdHRyO29iW2JdPXJiJiZxYnx8IXBiLnRlc3QoYik/ZnVuY3Rpb24oYSxiLGQpe3ZhciBlLGY7cmV0dXJuIGR8fChmPW9iW2JdLG9iW2JdPWUsZT1udWxsIT1jKGEsYixkKT9iLnRvTG93ZXJDYXNlKCk6bnVsbCxvYltiXT1mKSxlfTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGM/dm9pZCAwOmFbbS5jYW1lbENhc2UoImRlZmF1bHQtIitiKV0/Yi50b0xvd2VyQ2FzZSgpOm51bGx9fSkscmImJnFifHwobS5hdHRySG9va3MudmFsdWU9e3NldDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIG0ubm9kZU5hbWUoYSwiaW5wdXQiKT92b2lkKGEuZGVmYXVsdFZhbHVlPWIpOm1iJiZtYi5zZXQoYSxiLGMpfX0pLHFifHwobWI9e3NldDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5nZXRBdHRyaWJ1dGVOb2RlKGMpO3JldHVybiBkfHxhLnNldEF0dHJpYnV0ZU5vZGUoZD1hLm93bmVyRG9jdW1lbnQuY3JlYXRlQXR0cmlidXRlKGMpKSxkLnZhbHVlPWIrPSIiLCJ2YWx1ZSI9PT1jfHxiPT09YS5nZXRBdHRyaWJ1dGUoYyk/Yjp2b2lkIDB9fSxvYi5pZD1vYi5uYW1lPW9iLmNvb3Jkcz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ7cmV0dXJuIGM/dm9pZCAwOihkPWEuZ2V0QXR0cmlidXRlTm9kZShiKSkmJiIiIT09ZC52YWx1ZT9kLnZhbHVlOm51bGx9LG0udmFsSG9va3MuYnV0dG9uPXtnZXQ6ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmdldEF0dHJpYnV0ZU5vZGUoYik7cmV0dXJuIGMmJmMuc3BlY2lmaWVkP2MudmFsdWU6dm9pZCAwfSxzZXQ6bWIuc2V0fSxtLmF0dHJIb29rcy5jb250ZW50ZWRpdGFibGU9e3NldDpmdW5jdGlvbihhLGIsYyl7bWIuc2V0KGEsIiI9PT1iPyExOmIsYyl9fSxtLmVhY2goWyJ3aWR0aCIsImhlaWdodCJdLGZ1bmN0aW9uKGEsYil7bS5hdHRySG9va3NbYl09e3NldDpmdW5jdGlvbihhLGMpe3JldHVybiIiPT09Yz8oYS5zZXRBdHRyaWJ1dGUoYiwiYXV0byIpLGMpOnZvaWQgMH19fSkpLGsuc3R5bGV8fChtLmF0dHJIb29rcy5zdHlsZT17Z2V0OmZ1bmN0aW9uKGEpe3JldHVybiBhLnN0eWxlLmNzc1RleHR8fHZvaWQgMH0sc2V0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuc3R5bGUuY3NzVGV4dD1iKyIifX0pO3ZhciBzYj0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b258b2JqZWN0KSQvaSx0Yj0vXig/OmF8YXJlYSkkL2k7bS5mbi5leHRlbmQoe3Byb3A6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVih0aGlzLG0ucHJvcCxhLGIsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlUHJvcDpmdW5jdGlvbihhKXtyZXR1cm4gYT1tLnByb3BGaXhbYV18fGEsdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dHJ5e3RoaXNbYV09dm9pZCAwLGRlbGV0ZSB0aGlzW2FdfWNhdGNoKGIpe319KX19KSxtLmV4dGVuZCh7cHJvcEZpeDp7ImZvciI6Imh0bWxGb3IiLCJjbGFzcyI6ImNsYXNzTmFtZSJ9LHByb3A6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZixnPWEubm9kZVR5cGU7aWYoYSYmMyE9PWcmJjghPT1nJiYyIT09ZylyZXR1cm4gZj0xIT09Z3x8IW0uaXNYTUxEb2MoYSksZiYmKGI9bS5wcm9wRml4W2JdfHxiLGU9bS5wcm9wSG9va3NbYl0pLHZvaWQgMCE9PWM/ZSYmInNldCJpbiBlJiZ2b2lkIDAhPT0oZD1lLnNldChhLGMsYikpP2Q6YVtiXT1jOmUmJiJnZXQiaW4gZSYmbnVsbCE9PShkPWUuZ2V0KGEsYikpP2Q6YVtiXX0scHJvcEhvb2tzOnt0YWJJbmRleDp7Z2V0OmZ1bmN0aW9uKGEpe3ZhciBiPW0uZmluZC5hdHRyKGEsInRhYmluZGV4Iik7cmV0dXJuIGI/cGFyc2VJbnQoYiwxMCk6c2IudGVzdChhLm5vZGVOYW1lKXx8dGIudGVzdChhLm5vZGVOYW1lKSYmYS5ocmVmPzA6LTF9fX19KSxrLmhyZWZOb3JtYWxpemVkfHxtLmVhY2goWyJocmVmIiwic3JjIl0sZnVuY3Rpb24oYSxiKXttLnByb3BIb29rc1tiXT17Z2V0OmZ1bmN0aW9uKGEpe3JldHVybiBhLmdldEF0dHJpYnV0ZShiLDQpfX19KSxrLm9wdFNlbGVjdGVkfHwobS5wcm9wSG9va3Muc2VsZWN0ZWQ9e2dldDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVudE5vZGU7cmV0dXJuIGImJihiLnNlbGVjdGVkSW5kZXgsYi5wYXJlbnROb2RlJiZiLnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCksbnVsbH19KSxtLmVhY2goWyJ0YWJJbmRleCIsInJlYWRPbmx5IiwibWF4TGVuZ3RoIiwiY2VsbFNwYWNpbmciLCJjZWxsUGFkZGluZyIsInJvd1NwYW4iLCJjb2xTcGFuIiwidXNlTWFwIiwiZnJhbWVCb3JkZXIiLCJjb250ZW50RWRpdGFibGUiXSxmdW5jdGlvbigpe20ucHJvcEZpeFt0aGlzLnRvTG93ZXJDYXNlKCldPXRoaXN9KSxrLmVuY3R5cGV8fChtLnByb3BGaXguZW5jdHlwZT0iZW5jb2RpbmciKTt2YXIgdWI9L1tcdFxyXG5cZl0vZzttLmZuLmV4dGVuZCh7YWRkQ2xhc3M6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGg9MCxpPXRoaXMubGVuZ3RoLGo9InN0cmluZyI9PXR5cGVvZiBhJiZhO2lmKG0uaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGIpe20odGhpcykuYWRkQ2xhc3MoYS5jYWxsKHRoaXMsYix0aGlzLmNsYXNzTmFtZSkpfSk7aWYoailmb3IoYj0oYXx8IiIpLm1hdGNoKEUpfHxbXTtpPmg7aCsrKWlmKGM9dGhpc1toXSxkPTE9PT1jLm5vZGVUeXBlJiYoYy5jbGFzc05hbWU/KCIgIitjLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UodWIsIiAiKToiICIpKXtmPTA7d2hpbGUoZT1iW2YrK10pZC5pbmRleE9mKCIgIitlKyIgIik8MCYmKGQrPWUrIiAiKTtnPW0udHJpbShkKSxjLmNsYXNzTmFtZSE9PWcmJihjLmNsYXNzTmFtZT1nKX1yZXR1cm4gdGhpc30scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGg9MCxpPXRoaXMubGVuZ3RoLGo9MD09PWFyZ3VtZW50cy5sZW5ndGh8fCJzdHJpbmciPT10eXBlb2YgYSYmYTtpZihtLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXttKHRoaXMpLnJlbW92ZUNsYXNzKGEuY2FsbCh0aGlzLGIsdGhpcy5jbGFzc05hbWUpKX0pO2lmKGopZm9yKGI9KGF8fCIiKS5tYXRjaChFKXx8W107aT5oO2grKylpZihjPXRoaXNbaF0sZD0xPT09Yy5ub2RlVHlwZSYmKGMuY2xhc3NOYW1lPygiICIrYy5jbGFzc05hbWUrIiAiKS5yZXBsYWNlKHViLCIgIik6IiIpKXtmPTA7d2hpbGUoZT1iW2YrK10pd2hpbGUoZC5pbmRleE9mKCIgIitlKyIgIik+PTApZD1kLnJlcGxhY2UoIiAiK2UrIiAiLCIgIik7Zz1hP20udHJpbShkKToiIixjLmNsYXNzTmFtZSE9PWcmJihjLmNsYXNzTmFtZT1nKX1yZXR1cm4gdGhpc30sdG9nZ2xlQ2xhc3M6ZnVuY3Rpb24oYSxiKXt2YXIgYz10eXBlb2YgYTtyZXR1cm4iYm9vbGVhbiI9PXR5cGVvZiBiJiYic3RyaW5nIj09PWM/Yj90aGlzLmFkZENsYXNzKGEpOnRoaXMucmVtb3ZlQ2xhc3MoYSk6dGhpcy5lYWNoKG0uaXNGdW5jdGlvbihhKT9mdW5jdGlvbihjKXttKHRoaXMpLnRvZ2dsZUNsYXNzKGEuY2FsbCh0aGlzLGMsdGhpcy5jbGFzc05hbWUsYiksYil9OmZ1bmN0aW9uKCl7aWYoInN0cmluZyI9PT1jKXt2YXIgYixkPTAsZT1tKHRoaXMpLGY9YS5tYXRjaChFKXx8W107d2hpbGUoYj1mW2QrK10pZS5oYXNDbGFzcyhiKT9lLnJlbW92ZUNsYXNzKGIpOmUuYWRkQ2xhc3MoYil9ZWxzZShjPT09S3x8ImJvb2xlYW4iPT09YykmJih0aGlzLmNsYXNzTmFtZSYmbS5fZGF0YSh0aGlzLCJfX2NsYXNzTmFtZV9fIix0aGlzLmNsYXNzTmFtZSksdGhpcy5jbGFzc05hbWU9dGhpcy5jbGFzc05hbWV8fGE9PT0hMT8iIjptLl9kYXRhKHRoaXMsIl9fY2xhc3NOYW1lX18iKXx8IiIpfSl9LGhhc0NsYXNzOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0iICIrYSsiICIsYz0wLGQ9dGhpcy5sZW5ndGg7ZD5jO2MrKylpZigxPT09dGhpc1tjXS5ub2RlVHlwZSYmKCIgIit0aGlzW2NdLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UodWIsIiAiKS5pbmRleE9mKGIpPj0wKXJldHVybiEwO3JldHVybiExfX0pLG0uZWFjaCgiYmx1ciBmb2N1cyBmb2N1c2luIGZvY3Vzb3V0IGxvYWQgcmVzaXplIHNjcm9sbCB1bmxvYWQgY2xpY2sgZGJsY2xpY2sgbW91c2Vkb3duIG1vdXNldXAgbW91c2Vtb3ZlIG1vdXNlb3ZlciBtb3VzZW91dCBtb3VzZWVudGVyIG1vdXNlbGVhdmUgY2hhbmdlIHNlbGVjdCBzdWJtaXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBlcnJvciBjb250ZXh0bWVudSIuc3BsaXQoIiAiKSxmdW5jdGlvbihhLGIpe20uZm5bYl09ZnVuY3Rpb24oYSxjKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4wP3RoaXMub24oYixudWxsLGEsYyk6dGhpcy50cmlnZ2VyKGIpfX0pLG0uZm4uZXh0ZW5kKHtob3ZlcjpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm1vdXNlZW50ZXIoYSkubW91c2VsZWF2ZShifHxhKX0sYmluZDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHRoaXMub24oYSxudWxsLGIsYyl9LHVuYmluZDpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm9mZihhLG51bGwsYil9LGRlbGVnYXRlOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLm9uKGIsYSxjLGQpfSx1bmRlbGVnYXRlOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/dGhpcy5vZmYoYSwiKioiKTp0aGlzLm9mZihiLGF8fCIqKiIsYyl9fSk7dmFyIHZiPW0ubm93KCksd2I9L1w/Lyx4Yj0vKCwpfChcW3x7KXwofXxdKXwiKD86W14iXFxcclxuXXxcXFsiXFxcL2JmbnJ0XXxcXHVbXGRhLWZBLUZdezR9KSoiXHMqOj98dHJ1ZXxmYWxzZXxudWxsfC0/KD8hMFxkKVxkKyg/OlwuXGQrfCkoPzpbZUVdWystXT9cZCt8KS9nO20ucGFyc2VKU09OPWZ1bmN0aW9uKGIpe2lmKGEuSlNPTiYmYS5KU09OLnBhcnNlKXJldHVybiBhLkpTT04ucGFyc2UoYisiIik7dmFyIGMsZD1udWxsLGU9bS50cmltKGIrIiIpO3JldHVybiBlJiYhbS50cmltKGUucmVwbGFjZSh4YixmdW5jdGlvbihhLGIsZSxmKXtyZXR1cm4gYyYmYiYmKGQ9MCksMD09PWQ/YTooYz1lfHxiLGQrPSFmLSFlLCIiKX0pKT9GdW5jdGlvbigicmV0dXJuICIrZSkoKTptLmVycm9yKCJJbnZhbGlkIEpTT046ICIrYil9LG0ucGFyc2VYTUw9ZnVuY3Rpb24oYil7dmFyIGMsZDtpZighYnx8InN0cmluZyIhPXR5cGVvZiBiKXJldHVybiBudWxsO3RyeXthLkRPTVBhcnNlcj8oZD1uZXcgRE9NUGFyc2VyLGM9ZC5wYXJzZUZyb21TdHJpbmcoYiwidGV4dC94bWwiKSk6KGM9bmV3IEFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxET00iKSxjLmFzeW5jPSJmYWxzZSIsYy5sb2FkWE1MKGIpKX1jYXRjaChlKXtjPXZvaWQgMH1yZXR1cm4gYyYmYy5kb2N1bWVudEVsZW1lbnQmJiFjLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwYXJzZXJlcnJvciIpLmxlbmd0aHx8bS5lcnJvcigiSW52YWxpZCBYTUw6ICIrYiksY307dmFyIHliLHpiLEFiPS8jLiokLyxCYj0vKFs/Jl0pXz1bXiZdKi8sQ2I9L14oLio/KTpbIFx0XSooW15cclxuXSopXHI/JC9nbSxEYj0vXig/OmFib3V0fGFwcHxhcHAtc3RvcmFnZXwuKy1leHRlbnNpb258ZmlsZXxyZXN8d2lkZ2V0KTokLyxFYj0vXig/OkdFVHxIRUFEKSQvLEZiPS9eXC9cLy8sR2I9L14oW1x3ListXSs6KSg/OlwvXC8oPzpbXlwvPyNdKkB8KShbXlwvPyM6XSopKD86OihcZCspfCl8KS8sSGI9e30sSWI9e30sSmI9IiovIi5jb25jYXQoIioiKTt0cnl7emI9bG9jYXRpb24uaHJlZn1jYXRjaChLYil7emI9eS5jcmVhdGVFbGVtZW50KCJhIiksemIuaHJlZj0iIix6Yj16Yi5ocmVmfXliPUdiLmV4ZWMoemIudG9Mb3dlckNhc2UoKSl8fFtdO2Z1bmN0aW9uIExiKGEpe3JldHVybiBmdW5jdGlvbihiLGMpeyJzdHJpbmciIT10eXBlb2YgYiYmKGM9YixiPSIqIik7dmFyIGQsZT0wLGY9Yi50b0xvd2VyQ2FzZSgpLm1hdGNoKEUpfHxbXTtpZihtLmlzRnVuY3Rpb24oYykpd2hpbGUoZD1mW2UrK10pIisiPT09ZC5jaGFyQXQoMCk/KGQ9ZC5zbGljZSgxKXx8IioiLChhW2RdPWFbZF18fFtdKS51bnNoaWZ0KGMpKTooYVtkXT1hW2RdfHxbXSkucHVzaChjKX19ZnVuY3Rpb24gTWIoYSxiLGMsZCl7dmFyIGU9e30sZj1hPT09SWI7ZnVuY3Rpb24gZyhoKXt2YXIgaTtyZXR1cm4gZVtoXT0hMCxtLmVhY2goYVtoXXx8W10sZnVuY3Rpb24oYSxoKXt2YXIgaj1oKGIsYyxkKTtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGp8fGZ8fGVbal0/Zj8hKGk9aik6dm9pZCAwOihiLmRhdGFUeXBlcy51bnNoaWZ0KGopLGcoaiksITEpfSksaX1yZXR1cm4gZyhiLmRhdGFUeXBlc1swXSl8fCFlWyIqIl0mJmcoIioiKX1mdW5jdGlvbiBOYihhLGIpe3ZhciBjLGQsZT1tLmFqYXhTZXR0aW5ncy5mbGF0T3B0aW9uc3x8e307Zm9yKGQgaW4gYil2b2lkIDAhPT1iW2RdJiYoKGVbZF0/YTpjfHwoYz17fSkpW2RdPWJbZF0pO3JldHVybiBjJiZtLmV4dGVuZCghMCxhLGMpLGF9ZnVuY3Rpb24gT2IoYSxiLGMpe3ZhciBkLGUsZixnLGg9YS5jb250ZW50cyxpPWEuZGF0YVR5cGVzO3doaWxlKCIqIj09PWlbMF0paS5zaGlmdCgpLHZvaWQgMD09PWUmJihlPWEubWltZVR5cGV8fGIuZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHlwZSIpKTtpZihlKWZvcihnIGluIGgpaWYoaFtnXSYmaFtnXS50ZXN0KGUpKXtpLnVuc2hpZnQoZyk7YnJlYWt9aWYoaVswXWluIGMpZj1pWzBdO2Vsc2V7Zm9yKGcgaW4gYyl7aWYoIWlbMF18fGEuY29udmVydGVyc1tnKyIgIitpWzBdXSl7Zj1nO2JyZWFrfWR8fChkPWcpfWY9Znx8ZH1yZXR1cm4gZj8oZiE9PWlbMF0mJmkudW5zaGlmdChmKSxjW2ZdKTp2b2lkIDB9ZnVuY3Rpb24gUGIoYSxiLGMsZCl7dmFyIGUsZixnLGgsaSxqPXt9LGs9YS5kYXRhVHlwZXMuc2xpY2UoKTtpZihrWzFdKWZvcihnIGluIGEuY29udmVydGVycylqW2cudG9Mb3dlckNhc2UoKV09YS5jb252ZXJ0ZXJzW2ddO2Y9ay5zaGlmdCgpO3doaWxlKGYpaWYoYS5yZXNwb25zZUZpZWxkc1tmXSYmKGNbYS5yZXNwb25zZUZpZWxkc1tmXV09YiksIWkmJmQmJmEuZGF0YUZpbHRlciYmKGI9YS5kYXRhRmlsdGVyKGIsYS5kYXRhVHlwZSkpLGk9ZixmPWsuc2hpZnQoKSlpZigiKiI9PT1mKWY9aTtlbHNlIGlmKCIqIiE9PWkmJmkhPT1mKXtpZihnPWpbaSsiICIrZl18fGpbIiogIitmXSwhZylmb3IoZSBpbiBqKWlmKGg9ZS5zcGxpdCgiICIpLGhbMV09PT1mJiYoZz1qW2krIiAiK2hbMF1dfHxqWyIqICIraFswXV0pKXtnPT09ITA/Zz1qW2VdOmpbZV0hPT0hMCYmKGY9aFswXSxrLnVuc2hpZnQoaFsxXSkpO2JyZWFrfWlmKGchPT0hMClpZihnJiZhWyJ0aHJvd3MiXSliPWcoYik7ZWxzZSB0cnl7Yj1nKGIpfWNhdGNoKGwpe3JldHVybntzdGF0ZToicGFyc2VyZXJyb3IiLGVycm9yOmc/bDoiTm8gY29udmVyc2lvbiBmcm9tICIraSsiIHRvICIrZn19fXJldHVybntzdGF0ZToic3VjY2VzcyIsZGF0YTpifX1tLmV4dGVuZCh7YWN0aXZlOjAsbGFzdE1vZGlmaWVkOnt9LGV0YWc6e30sYWpheFNldHRpbmdzOnt1cmw6emIsdHlwZToiR0VUIixpc0xvY2FsOkRiLnRlc3QoeWJbMV0pLGdsb2JhbDohMCxwcm9jZXNzRGF0YTohMCxhc3luYzohMCxjb250ZW50VHlwZToiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PVVURi04IixhY2NlcHRzOnsiKiI6SmIsdGV4dDoidGV4dC9wbGFpbiIsaHRtbDoidGV4dC9odG1sIix4bWw6ImFwcGxpY2F0aW9uL3htbCwgdGV4dC94bWwiLGpzb246ImFwcGxpY2F0aW9uL2pzb24sIHRleHQvamF2YXNjcmlwdCJ9LGNvbnRlbnRzOnt4bWw6L3htbC8saHRtbDovaHRtbC8sanNvbjovanNvbi99LHJlc3BvbnNlRmllbGRzOnt4bWw6InJlc3BvbnNlWE1MIix0ZXh0OiJyZXNwb25zZVRleHQiLGpzb246InJlc3BvbnNlSlNPTiJ9LGNvbnZlcnRlcnM6eyIqIHRleHQiOlN0cmluZywidGV4dCBodG1sIjohMCwidGV4dCBqc29uIjptLnBhcnNlSlNPTiwidGV4dCB4bWwiOm0ucGFyc2VYTUx9LGZsYXRPcHRpb25zOnt1cmw6ITAsY29udGV4dDohMH19LGFqYXhTZXR1cDpmdW5jdGlvbihhLGIpe3JldHVybiBiP05iKE5iKGEsbS5hamF4U2V0dGluZ3MpLGIpOk5iKG0uYWpheFNldHRpbmdzLGEpfSxhamF4UHJlZmlsdGVyOkxiKEhiKSxhamF4VHJhbnNwb3J0OkxiKEliKSxhamF4OmZ1bmN0aW9uKGEsYil7Im9iamVjdCI9PXR5cGVvZiBhJiYoYj1hLGE9dm9pZCAwKSxiPWJ8fHt9O3ZhciBjLGQsZSxmLGcsaCxpLGosaz1tLmFqYXhTZXR1cCh7fSxiKSxsPWsuY29udGV4dHx8ayxuPWsuY29udGV4dCYmKGwubm9kZVR5cGV8fGwuanF1ZXJ5KT9tKGwpOm0uZXZlbnQsbz1tLkRlZmVycmVkKCkscD1tLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSxxPWsuc3RhdHVzQ29kZXx8e30scj17fSxzPXt9LHQ9MCx1PSJjYW5jZWxlZCIsdj17cmVhZHlTdGF0ZTowLGdldFJlc3BvbnNlSGVhZGVyOmZ1bmN0aW9uKGEpe3ZhciBiO2lmKDI9PT10KXtpZighail7aj17fTt3aGlsZShiPUNiLmV4ZWMoZikpaltiWzFdLnRvTG93ZXJDYXNlKCldPWJbMl19Yj1qW2EudG9Mb3dlckNhc2UoKV19cmV0dXJuIG51bGw9PWI/bnVsbDpifSxnZXRBbGxSZXNwb25zZUhlYWRlcnM6ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXQ/ZjpudWxsfSxzZXRSZXF1ZXN0SGVhZGVyOmZ1bmN0aW9uKGEsYil7dmFyIGM9YS50b0xvd2VyQ2FzZSgpO3JldHVybiB0fHwoYT1zW2NdPXNbY118fGEsclthXT1iKSx0aGlzfSxvdmVycmlkZU1pbWVUeXBlOmZ1bmN0aW9uKGEpe3JldHVybiB0fHwoay5taW1lVHlwZT1hKSx0aGlzfSxzdGF0dXNDb2RlOmZ1bmN0aW9uKGEpe3ZhciBiO2lmKGEpaWYoMj50KWZvcihiIGluIGEpcVtiXT1bcVtiXSxhW2JdXTtlbHNlIHYuYWx3YXlzKGFbdi5zdGF0dXNdKTtyZXR1cm4gdGhpc30sYWJvcnQ6ZnVuY3Rpb24oYSl7dmFyIGI9YXx8dTtyZXR1cm4gaSYmaS5hYm9ydChiKSx4KDAsYiksdGhpc319O2lmKG8ucHJvbWlzZSh2KS5jb21wbGV0ZT1wLmFkZCx2LnN1Y2Nlc3M9di5kb25lLHYuZXJyb3I9di5mYWlsLGsudXJsPSgoYXx8ay51cmx8fHpiKSsiIikucmVwbGFjZShBYiwiIikucmVwbGFjZShGYix5YlsxXSsiLy8iKSxrLnR5cGU9Yi5tZXRob2R8fGIudHlwZXx8ay5tZXRob2R8fGsudHlwZSxrLmRhdGFUeXBlcz1tLnRyaW0oay5kYXRhVHlwZXx8IioiKS50b0xvd2VyQ2FzZSgpLm1hdGNoKEUpfHxbIiJdLG51bGw9PWsuY3Jvc3NEb21haW4mJihjPUdiLmV4ZWMoay51cmwudG9Mb3dlckNhc2UoKSksay5jcm9zc0RvbWFpbj0hKCFjfHxjWzFdPT09eWJbMV0mJmNbMl09PT15YlsyXSYmKGNbM118fCgiaHR0cDoiPT09Y1sxXT8iODAiOiI0NDMiKSk9PT0oeWJbM118fCgiaHR0cDoiPT09eWJbMV0/IjgwIjoiNDQzIikpKSksay5kYXRhJiZrLnByb2Nlc3NEYXRhJiYic3RyaW5nIiE9dHlwZW9mIGsuZGF0YSYmKGsuZGF0YT1tLnBhcmFtKGsuZGF0YSxrLnRyYWRpdGlvbmFsKSksTWIoSGIsayxiLHYpLDI9PT10KXJldHVybiB2O2g9bS5ldmVudCYmay5nbG9iYWwsaCYmMD09PW0uYWN0aXZlKysmJm0uZXZlbnQudHJpZ2dlcigiYWpheFN0YXJ0Iiksay50eXBlPWsudHlwZS50b1VwcGVyQ2FzZSgpLGsuaGFzQ29udGVudD0hRWIudGVzdChrLnR5cGUpLGU9ay51cmwsay5oYXNDb250ZW50fHwoay5kYXRhJiYoZT1rLnVybCs9KHdiLnRlc3QoZSk/IiYiOiI/Iikray5kYXRhLGRlbGV0ZSBrLmRhdGEpLGsuY2FjaGU9PT0hMSYmKGsudXJsPUJiLnRlc3QoZSk/ZS5yZXBsYWNlKEJiLCIkMV89Iit2YisrKTplKyh3Yi50ZXN0KGUpPyImIjoiPyIpKyJfPSIrdmIrKykpLGsuaWZNb2RpZmllZCYmKG0ubGFzdE1vZGlmaWVkW2VdJiZ2LnNldFJlcXVlc3RIZWFkZXIoIklmLU1vZGlmaWVkLVNpbmNlIixtLmxhc3RNb2RpZmllZFtlXSksbS5ldGFnW2VdJiZ2LnNldFJlcXVlc3RIZWFkZXIoIklmLU5vbmUtTWF0Y2giLG0uZXRhZ1tlXSkpLChrLmRhdGEmJmsuaGFzQ29udGVudCYmay5jb250ZW50VHlwZSE9PSExfHxiLmNvbnRlbnRUeXBlKSYmdi5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLGsuY29udGVudFR5cGUpLHYuc2V0UmVxdWVzdEhlYWRlcigiQWNjZXB0IixrLmRhdGFUeXBlc1swXSYmay5hY2NlcHRzW2suZGF0YVR5cGVzWzBdXT9rLmFjY2VwdHNbay5kYXRhVHlwZXNbMF1dKygiKiIhPT1rLmRhdGFUeXBlc1swXT8iLCAiK0piKyI7IHE9MC4wMSI6IiIpOmsuYWNjZXB0c1siKiJdKTtmb3IoZCBpbiBrLmhlYWRlcnMpdi5zZXRSZXF1ZXN0SGVhZGVyKGQsay5oZWFkZXJzW2RdKTtpZihrLmJlZm9yZVNlbmQmJihrLmJlZm9yZVNlbmQuY2FsbChsLHYsayk9PT0hMXx8Mj09PXQpKXJldHVybiB2LmFib3J0KCk7dT0iYWJvcnQiO2ZvcihkIGlue3N1Y2Nlc3M6MSxlcnJvcjoxLGNvbXBsZXRlOjF9KXZbZF0oa1tkXSk7aWYoaT1NYihJYixrLGIsdikpe3YucmVhZHlTdGF0ZT0xLGgmJm4udHJpZ2dlcigiYWpheFNlbmQiLFt2LGtdKSxrLmFzeW5jJiZrLnRpbWVvdXQ+MCYmKGc9c2V0VGltZW91dChmdW5jdGlvbigpe3YuYWJvcnQoInRpbWVvdXQiKX0say50aW1lb3V0KSk7dHJ5e3Q9MSxpLnNlbmQocix4KX1jYXRjaCh3KXtpZighKDI+dCkpdGhyb3cgdzt4KC0xLHcpfX1lbHNlIHgoLTEsIk5vIFRyYW5zcG9ydCIpO2Z1bmN0aW9uIHgoYSxiLGMsZCl7dmFyIGoscixzLHUsdyx4PWI7MiE9PXQmJih0PTIsZyYmY2xlYXJUaW1lb3V0KGcpLGk9dm9pZCAwLGY9ZHx8IiIsdi5yZWFkeVN0YXRlPWE+MD80OjAsaj1hPj0yMDAmJjMwMD5hfHwzMDQ9PT1hLGMmJih1PU9iKGssdixjKSksdT1QYihrLHUsdixqKSxqPyhrLmlmTW9kaWZpZWQmJih3PXYuZ2V0UmVzcG9uc2VIZWFkZXIoIkxhc3QtTW9kaWZpZWQiKSx3JiYobS5sYXN0TW9kaWZpZWRbZV09dyksdz12LmdldFJlc3BvbnNlSGVhZGVyKCJldGFnIiksdyYmKG0uZXRhZ1tlXT13KSksMjA0PT09YXx8IkhFQUQiPT09ay50eXBlP3g9Im5vY29udGVudCI6MzA0PT09YT94PSJub3Rtb2RpZmllZCI6KHg9dS5zdGF0ZSxyPXUuZGF0YSxzPXUuZXJyb3Isaj0hcykpOihzPXgsKGF8fCF4KSYmKHg9ImVycm9yIiwwPmEmJihhPTApKSksdi5zdGF0dXM9YSx2LnN0YXR1c1RleHQ9KGJ8fHgpKyIiLGo/by5yZXNvbHZlV2l0aChsLFtyLHgsdl0pOm8ucmVqZWN0V2l0aChsLFt2LHgsc10pLHYuc3RhdHVzQ29kZShxKSxxPXZvaWQgMCxoJiZuLnRyaWdnZXIoaj8iYWpheFN1Y2Nlc3MiOiJhamF4RXJyb3IiLFt2LGssaj9yOnNdKSxwLmZpcmVXaXRoKGwsW3YseF0pLGgmJihuLnRyaWdnZXIoImFqYXhDb21wbGV0ZSIsW3Ysa10pLC0tbS5hY3RpdmV8fG0uZXZlbnQudHJpZ2dlcigiYWpheFN0b3AiKSkpfXJldHVybiB2fSxnZXRKU09OOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbS5nZXQoYSxiLGMsImpzb24iKX0sZ2V0U2NyaXB0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIG0uZ2V0KGEsdm9pZCAwLGIsInNjcmlwdCIpfX0pLG0uZWFjaChbImdldCIsInBvc3QiXSxmdW5jdGlvbihhLGIpe21bYl09ZnVuY3Rpb24oYSxjLGQsZSl7cmV0dXJuIG0uaXNGdW5jdGlvbihjKSYmKGU9ZXx8ZCxkPWMsYz12b2lkIDApLG0uYWpheCh7dXJsOmEsdHlwZTpiLGRhdGFUeXBlOmUsZGF0YTpjLHN1Y2Nlc3M6ZH0pfX0pLG0uX2V2YWxVcmw9ZnVuY3Rpb24oYSl7cmV0dXJuIG0uYWpheCh7dXJsOmEsdHlwZToiR0VUIixkYXRhVHlwZToic2NyaXB0Iixhc3luYzohMSxnbG9iYWw6ITEsInRocm93cyI6ITB9KX0sbS5mbi5leHRlbmQoe3dyYXBBbGw6ZnVuY3Rpb24oYSl7aWYobS5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7bSh0aGlzKS53cmFwQWxsKGEuY2FsbCh0aGlzLGIpKX0pO2lmKHRoaXNbMF0pe3ZhciBiPW0oYSx0aGlzWzBdLm93bmVyRG9jdW1lbnQpLmVxKDApLmNsb25lKCEwKTt0aGlzWzBdLnBhcmVudE5vZGUmJmIuaW5zZXJ0QmVmb3JlKHRoaXNbMF0pLGIubWFwKGZ1bmN0aW9uKCl7dmFyIGE9dGhpczt3aGlsZShhLmZpcnN0Q2hpbGQmJjE9PT1hLmZpcnN0Q2hpbGQubm9kZVR5cGUpYT1hLmZpcnN0Q2hpbGQ7cmV0dXJuIGF9KS5hcHBlbmQodGhpcyl9cmV0dXJuIHRoaXN9LHdyYXBJbm5lcjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKG0uaXNGdW5jdGlvbihhKT9mdW5jdGlvbihiKXttKHRoaXMpLndyYXBJbm5lcihhLmNhbGwodGhpcyxiKSl9OmZ1bmN0aW9uKCl7dmFyIGI9bSh0aGlzKSxjPWIuY29udGVudHMoKTtjLmxlbmd0aD9jLndyYXBBbGwoYSk6Yi5hcHBlbmQoYSl9KX0sd3JhcDpmdW5jdGlvbihhKXt2YXIgYj1tLmlzRnVuY3Rpb24oYSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihjKXttKHRoaXMpLndyYXBBbGwoYj9hLmNhbGwodGhpcyxjKTphKX0pfSx1bndyYXA6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnQoKS5lYWNoKGZ1bmN0aW9uKCl7bS5ub2RlTmFtZSh0aGlzLCJib2R5Iil8fG0odGhpcykucmVwbGFjZVdpdGgodGhpcy5jaGlsZE5vZGVzKX0pLmVuZCgpfX0pLG0uZXhwci5maWx0ZXJzLmhpZGRlbj1mdW5jdGlvbihhKXtyZXR1cm4gYS5vZmZzZXRXaWR0aDw9MCYmYS5vZmZzZXRIZWlnaHQ8PTB8fCFrLnJlbGlhYmxlSGlkZGVuT2Zmc2V0cygpJiYibm9uZSI9PT0oYS5zdHlsZSYmYS5zdHlsZS5kaXNwbGF5fHxtLmNzcyhhLCJkaXNwbGF5IikpfSxtLmV4cHIuZmlsdGVycy52aXNpYmxlPWZ1bmN0aW9uKGEpe3JldHVybiFtLmV4cHIuZmlsdGVycy5oaWRkZW4oYSl9O3ZhciBRYj0vJTIwL2csUmI9L1xbXF0kLyxTYj0vXHI/XG4vZyxUYj0vXig/OnN1Ym1pdHxidXR0b258aW1hZ2V8cmVzZXR8ZmlsZSkkL2ksVWI9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8a2V5Z2VuKS9pO2Z1bmN0aW9uIFZiKGEsYixjLGQpe3ZhciBlO2lmKG0uaXNBcnJheShiKSltLmVhY2goYixmdW5jdGlvbihiLGUpe2N8fFJiLnRlc3QoYSk/ZChhLGUpOlZiKGErIlsiKygib2JqZWN0Ij09dHlwZW9mIGU/YjoiIikrIl0iLGUsYyxkKX0pO2Vsc2UgaWYoY3x8Im9iamVjdCIhPT1tLnR5cGUoYikpZChhLGIpO2Vsc2UgZm9yKGUgaW4gYilWYihhKyJbIitlKyJdIixiW2VdLGMsZCl9bS5wYXJhbT1mdW5jdGlvbihhLGIpe3ZhciBjLGQ9W10sZT1mdW5jdGlvbihhLGIpe2I9bS5pc0Z1bmN0aW9uKGIpP2IoKTpudWxsPT1iPyIiOmIsZFtkLmxlbmd0aF09ZW5jb2RlVVJJQ29tcG9uZW50KGEpKyI9IitlbmNvZGVVUklDb21wb25lbnQoYil9O2lmKHZvaWQgMD09PWImJihiPW0uYWpheFNldHRpbmdzJiZtLmFqYXhTZXR0aW5ncy50cmFkaXRpb25hbCksbS5pc0FycmF5KGEpfHxhLmpxdWVyeSYmIW0uaXNQbGFpbk9iamVjdChhKSltLmVhY2goYSxmdW5jdGlvbigpe2UodGhpcy5uYW1lLHRoaXMudmFsdWUpfSk7ZWxzZSBmb3IoYyBpbiBhKVZiKGMsYVtjXSxiLGUpO3JldHVybiBkLmpvaW4oIiYiKS5yZXBsYWNlKFFiLCIrIil9LG0uZm4uZXh0ZW5kKHtzZXJpYWxpemU6ZnVuY3Rpb24oKXtyZXR1cm4gbS5wYXJhbSh0aGlzLnNlcmlhbGl6ZUFycmF5KCkpfSxzZXJpYWxpemVBcnJheTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe3ZhciBhPW0ucHJvcCh0aGlzLCJlbGVtZW50cyIpO3JldHVybiBhP20ubWFrZUFycmF5KGEpOnRoaXN9KS5maWx0ZXIoZnVuY3Rpb24oKXt2YXIgYT10aGlzLnR5cGU7cmV0dXJuIHRoaXMubmFtZSYmIW0odGhpcykuaXMoIjpkaXNhYmxlZCIpJiZVYi50ZXN0KHRoaXMubm9kZU5hbWUpJiYhVGIudGVzdChhKSYmKHRoaXMuY2hlY2tlZHx8IVcudGVzdChhKSl9KS5tYXAoZnVuY3Rpb24oYSxiKXt2YXIgYz1tKHRoaXMpLnZhbCgpO3JldHVybiBudWxsPT1jP251bGw6bS5pc0FycmF5KGMpP20ubWFwKGMsZnVuY3Rpb24oYSl7cmV0dXJue25hbWU6Yi5uYW1lLHZhbHVlOmEucmVwbGFjZShTYiwiXHJcbiIpfX0pOntuYW1lOmIubmFtZSx2YWx1ZTpjLnJlcGxhY2UoU2IsIlxyXG4iKX19KS5nZXQoKX19KSxtLmFqYXhTZXR0aW5ncy54aHI9dm9pZCAwIT09YS5BY3RpdmVYT2JqZWN0P2Z1bmN0aW9uKCl7cmV0dXJuIXRoaXMuaXNMb2NhbCYmL14oZ2V0fHBvc3R8aGVhZHxwdXR8ZGVsZXRlfG9wdGlvbnMpJC9pLnRlc3QodGhpcy50eXBlKSYmWmIoKXx8JGIoKX06WmI7dmFyIFdiPTAsWGI9e30sWWI9bS5hamF4U2V0dGluZ3MueGhyKCk7YS5hdHRhY2hFdmVudCYmYS5hdHRhY2hFdmVudCgib251bmxvYWQiLGZ1bmN0aW9uKCl7Zm9yKHZhciBhIGluIFhiKVhiW2FdKHZvaWQgMCwhMCl9KSxrLmNvcnM9ISFZYiYmIndpdGhDcmVkZW50aWFscyJpbiBZYixZYj1rLmFqYXg9ISFZYixZYiYmbS5hamF4VHJhbnNwb3J0KGZ1bmN0aW9uKGEpe2lmKCFhLmNyb3NzRG9tYWlufHxrLmNvcnMpe3ZhciBiO3JldHVybntzZW5kOmZ1bmN0aW9uKGMsZCl7dmFyIGUsZj1hLnhocigpLGc9KytXYjtpZihmLm9wZW4oYS50eXBlLGEudXJsLGEuYXN5bmMsYS51c2VybmFtZSxhLnBhc3N3b3JkKSxhLnhockZpZWxkcylmb3IoZSBpbiBhLnhockZpZWxkcylmW2VdPWEueGhyRmllbGRzW2VdO2EubWltZVR5cGUmJmYub3ZlcnJpZGVNaW1lVHlwZSYmZi5vdmVycmlkZU1pbWVUeXBlKGEubWltZVR5cGUpLGEuY3Jvc3NEb21haW58fGNbIlgtUmVxdWVzdGVkLVdpdGgiXXx8KGNbIlgtUmVxdWVzdGVkLVdpdGgiXT0iWE1MSHR0cFJlcXVlc3QiKTtmb3IoZSBpbiBjKXZvaWQgMCE9PWNbZV0mJmYuc2V0UmVxdWVzdEhlYWRlcihlLGNbZV0rIiIpO2Yuc2VuZChhLmhhc0NvbnRlbnQmJmEuZGF0YXx8bnVsbCksYj1mdW5jdGlvbihjLGUpe3ZhciBoLGksajtpZihiJiYoZXx8ND09PWYucmVhZHlTdGF0ZSkpaWYoZGVsZXRlIFhiW2ddLGI9dm9pZCAwLGYub25yZWFkeXN0YXRlY2hhbmdlPW0ubm9vcCxlKTQhPT1mLnJlYWR5U3RhdGUmJmYuYWJvcnQoKTtlbHNle2o9e30saD1mLnN0YXR1cywic3RyaW5nIj09dHlwZW9mIGYucmVzcG9uc2VUZXh0JiYoai50ZXh0PWYucmVzcG9uc2VUZXh0KTt0cnl7aT1mLnN0YXR1c1RleHR9Y2F0Y2goayl7aT0iIn1ofHwhYS5pc0xvY2FsfHxhLmNyb3NzRG9tYWluPzEyMjM9PT1oJiYoaD0yMDQpOmg9ai50ZXh0PzIwMDo0MDR9aiYmZChoLGksaixmLmdldEFsbFJlc3BvbnNlSGVhZGVycygpKX0sYS5hc3luYz80PT09Zi5yZWFkeVN0YXRlP3NldFRpbWVvdXQoYik6Zi5vbnJlYWR5c3RhdGVjaGFuZ2U9WGJbZ109YjpiKCl9LGFib3J0OmZ1bmN0aW9uKCl7YiYmYih2b2lkIDAsITApfX19fSk7ZnVuY3Rpb24gWmIoKXt0cnl7cmV0dXJuIG5ldyBhLlhNTEh0dHBSZXF1ZXN0fWNhdGNoKGIpe319ZnVuY3Rpb24gJGIoKXt0cnl7cmV0dXJuIG5ldyBhLkFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxIVFRQIil9Y2F0Y2goYil7fX1tLmFqYXhTZXR1cCh7YWNjZXB0czp7c2NyaXB0OiJ0ZXh0L2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2VjbWFzY3JpcHQsIGFwcGxpY2F0aW9uL3gtZWNtYXNjcmlwdCJ9LGNvbnRlbnRzOntzY3JpcHQ6Lyg/OmphdmF8ZWNtYSlzY3JpcHQvfSxjb252ZXJ0ZXJzOnsidGV4dCBzY3JpcHQiOmZ1bmN0aW9uKGEpe3JldHVybiBtLmdsb2JhbEV2YWwoYSksYX19fSksbS5hamF4UHJlZmlsdGVyKCJzY3JpcHQiLGZ1bmN0aW9uKGEpe3ZvaWQgMD09PWEuY2FjaGUmJihhLmNhY2hlPSExKSxhLmNyb3NzRG9tYWluJiYoYS50eXBlPSJHRVQiLGEuZ2xvYmFsPSExKX0pLG0uYWpheFRyYW5zcG9ydCgic2NyaXB0IixmdW5jdGlvbihhKXtpZihhLmNyb3NzRG9tYWluKXt2YXIgYixjPXkuaGVhZHx8bSgiaGVhZCIpWzBdfHx5LmRvY3VtZW50RWxlbWVudDtyZXR1cm57c2VuZDpmdW5jdGlvbihkLGUpe2I9eS5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSxiLmFzeW5jPSEwLGEuc2NyaXB0Q2hhcnNldCYmKGIuY2hhcnNldD1hLnNjcmlwdENoYXJzZXQpLGIuc3JjPWEudXJsLGIub25sb2FkPWIub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKGEsYyl7KGN8fCFiLnJlYWR5U3RhdGV8fC9sb2FkZWR8Y29tcGxldGUvLnRlc3QoYi5yZWFkeVN0YXRlKSkmJihiLm9ubG9hZD1iLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsLGIucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpLGI9bnVsbCxjfHxlKDIwMCwic3VjY2VzcyIpKX0sYy5pbnNlcnRCZWZvcmUoYixjLmZpcnN0Q2hpbGQpfSxhYm9ydDpmdW5jdGlvbigpe2ImJmIub25sb2FkKHZvaWQgMCwhMCl9fX19KTt2YXIgX2I9W10sYWM9Lyg9KVw/KD89JnwkKXxcP1w/LzttLmFqYXhTZXR1cCh7anNvbnA6ImNhbGxiYWNrIixqc29ucENhbGxiYWNrOmZ1bmN0aW9uKCl7dmFyIGE9X2IucG9wKCl8fG0uZXhwYW5kbysiXyIrdmIrKztyZXR1cm4gdGhpc1thXT0hMCxhfX0pLG0uYWpheFByZWZpbHRlcigianNvbiBqc29ucCIsZnVuY3Rpb24oYixjLGQpe3ZhciBlLGYsZyxoPWIuanNvbnAhPT0hMSYmKGFjLnRlc3QoYi51cmwpPyJ1cmwiOiJzdHJpbmciPT10eXBlb2YgYi5kYXRhJiYhKGIuY29udGVudFR5cGV8fCIiKS5pbmRleE9mKCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKSYmYWMudGVzdChiLmRhdGEpJiYiZGF0YSIpO3JldHVybiBofHwianNvbnAiPT09Yi5kYXRhVHlwZXNbMF0/KGU9Yi5qc29ucENhbGxiYWNrPW0uaXNGdW5jdGlvbihiLmpzb25wQ2FsbGJhY2spP2IuanNvbnBDYWxsYmFjaygpOmIuanNvbnBDYWxsYmFjayxoP2JbaF09YltoXS5yZXBsYWNlKGFjLCIkMSIrZSk6Yi5qc29ucCE9PSExJiYoYi51cmwrPSh3Yi50ZXN0KGIudXJsKT8iJiI6Ij8iKStiLmpzb25wKyI9IitlKSxiLmNvbnZlcnRlcnNbInNjcmlwdCBqc29uIl09ZnVuY3Rpb24oKXtyZXR1cm4gZ3x8bS5lcnJvcihlKyIgd2FzIG5vdCBjYWxsZWQiKSxnWzBdfSxiLmRhdGFUeXBlc1swXT0ianNvbiIsZj1hW2VdLGFbZV09ZnVuY3Rpb24oKXtnPWFyZ3VtZW50c30sZC5hbHdheXMoZnVuY3Rpb24oKXthW2VdPWYsYltlXSYmKGIuanNvbnBDYWxsYmFjaz1jLmpzb25wQ2FsbGJhY2ssX2IucHVzaChlKSksZyYmbS5pc0Z1bmN0aW9uKGYpJiZmKGdbMF0pLGc9Zj12b2lkIDB9KSwic2NyaXB0Iik6dm9pZCAwfSksbS5wYXJzZUhUTUw9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhfHwic3RyaW5nIiE9dHlwZW9mIGEpcmV0dXJuIG51bGw7ImJvb2xlYW4iPT10eXBlb2YgYiYmKGM9YixiPSExKSxiPWJ8fHk7dmFyIGQ9dS5leGVjKGEpLGU9IWMmJltdO3JldHVybiBkP1tiLmNyZWF0ZUVsZW1lbnQoZFsxXSldOihkPW0uYnVpbGRGcmFnbWVudChbYV0sYixlKSxlJiZlLmxlbmd0aCYmbShlKS5yZW1vdmUoKSxtLm1lcmdlKFtdLGQuY2hpbGROb2RlcykpfTt2YXIgYmM9bS5mbi5sb2FkO20uZm4ubG9hZD1mdW5jdGlvbihhLGIsYyl7aWYoInN0cmluZyIhPXR5cGVvZiBhJiZiYylyZXR1cm4gYmMuYXBwbHkodGhpcyxhcmd1bWVudHMpO3ZhciBkLGUsZixnPXRoaXMsaD1hLmluZGV4T2YoIiAiKTtyZXR1cm4gaD49MCYmKGQ9bS50cmltKGEuc2xpY2UoaCxhLmxlbmd0aCkpLGE9YS5zbGljZSgwLGgpKSxtLmlzRnVuY3Rpb24oYik/KGM9YixiPXZvaWQgMCk6YiYmIm9iamVjdCI9PXR5cGVvZiBiJiYoZj0iUE9TVCIpLGcubGVuZ3RoPjAmJm0uYWpheCh7dXJsOmEsdHlwZTpmLGRhdGFUeXBlOiJodG1sIixkYXRhOmJ9KS5kb25lKGZ1bmN0aW9uKGEpe2U9YXJndW1lbnRzLGcuaHRtbChkP20oIjxkaXY+IikuYXBwZW5kKG0ucGFyc2VIVE1MKGEpKS5maW5kKGQpOmEpfSkuY29tcGxldGUoYyYmZnVuY3Rpb24oYSxiKXtnLmVhY2goYyxlfHxbYS5yZXNwb25zZVRleHQsYixhXSl9KSx0aGlzfSxtLmVhY2goWyJhamF4U3RhcnQiLCJhamF4U3RvcCIsImFqYXhDb21wbGV0ZSIsImFqYXhFcnJvciIsImFqYXhTdWNjZXNzIiwiYWpheFNlbmQiXSxmdW5jdGlvbihhLGIpe20uZm5bYl09ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMub24oYixhKX19KSxtLmV4cHIuZmlsdGVycy5hbmltYXRlZD1mdW5jdGlvbihhKXtyZXR1cm4gbS5ncmVwKG0udGltZXJzLGZ1bmN0aW9uKGIpe3JldHVybiBhPT09Yi5lbGVtfSkubGVuZ3RofTt2YXIgY2M9YS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7ZnVuY3Rpb24gZGMoYSl7cmV0dXJuIG0uaXNXaW5kb3coYSk/YTo5PT09YS5ub2RlVHlwZT9hLmRlZmF1bHRWaWV3fHxhLnBhcmVudFdpbmRvdzohMX1tLm9mZnNldD17c2V0T2Zmc2V0OmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGYsZyxoLGksaixrPW0uY3NzKGEsInBvc2l0aW9uIiksbD1tKGEpLG49e307InN0YXRpYyI9PT1rJiYoYS5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiKSxoPWwub2Zmc2V0KCksZj1tLmNzcyhhLCJ0b3AiKSxpPW0uY3NzKGEsImxlZnQiKSxqPSgiYWJzb2x1dGUiPT09a3x8ImZpeGVkIj09PWspJiZtLmluQXJyYXkoImF1dG8iLFtmLGldKT4tMSxqPyhkPWwucG9zaXRpb24oKSxnPWQudG9wLGU9ZC5sZWZ0KTooZz1wYXJzZUZsb2F0KGYpfHwwLGU9cGFyc2VGbG9hdChpKXx8MCksbS5pc0Z1bmN0aW9uKGIpJiYoYj1iLmNhbGwoYSxjLGgpKSxudWxsIT1iLnRvcCYmKG4udG9wPWIudG9wLWgudG9wK2cpLG51bGwhPWIubGVmdCYmKG4ubGVmdD1iLmxlZnQtaC5sZWZ0K2UpLCJ1c2luZyJpbiBiP2IudXNpbmcuY2FsbChhLG4pOmwuY3NzKG4pfX0sbS5mbi5leHRlbmQoe29mZnNldDpmdW5jdGlvbihhKXtpZihhcmd1bWVudHMubGVuZ3RoKXJldHVybiB2b2lkIDA9PT1hP3RoaXM6dGhpcy5lYWNoKGZ1bmN0aW9uKGIpe20ub2Zmc2V0LnNldE9mZnNldCh0aGlzLGEsYil9KTt2YXIgYixjLGQ9e3RvcDowLGxlZnQ6MH0sZT10aGlzWzBdLGY9ZSYmZS5vd25lckRvY3VtZW50O2lmKGYpcmV0dXJuIGI9Zi5kb2N1bWVudEVsZW1lbnQsbS5jb250YWlucyhiLGUpPyh0eXBlb2YgZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QhPT1LJiYoZD1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKSxjPWRjKGYpLHt0b3A6ZC50b3ArKGMucGFnZVlPZmZzZXR8fGIuc2Nyb2xsVG9wKS0oYi5jbGllbnRUb3B8fDApLGxlZnQ6ZC5sZWZ0KyhjLnBhZ2VYT2Zmc2V0fHxiLnNjcm9sbExlZnQpLShiLmNsaWVudExlZnR8fDApfSk6ZH0scG9zaXRpb246ZnVuY3Rpb24oKXtpZih0aGlzWzBdKXt2YXIgYSxiLGM9e3RvcDowLGxlZnQ6MH0sZD10aGlzWzBdO3JldHVybiJmaXhlZCI9PT1tLmNzcyhkLCJwb3NpdGlvbiIpP2I9ZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTooYT10aGlzLm9mZnNldFBhcmVudCgpLGI9dGhpcy5vZmZzZXQoKSxtLm5vZGVOYW1lKGFbMF0sImh0bWwiKXx8KGM9YS5vZmZzZXQoKSksYy50b3ArPW0uY3NzKGFbMF0sImJvcmRlclRvcFdpZHRoIiwhMCksYy5sZWZ0Kz1tLmNzcyhhWzBdLCJib3JkZXJMZWZ0V2lkdGgiLCEwKSkse3RvcDpiLnRvcC1jLnRvcC1tLmNzcyhkLCJtYXJnaW5Ub3AiLCEwKSxsZWZ0OmIubGVmdC1jLmxlZnQtbS5jc3MoZCwibWFyZ2luTGVmdCIsITApfX19LG9mZnNldFBhcmVudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe3ZhciBhPXRoaXMub2Zmc2V0UGFyZW50fHxjYzt3aGlsZShhJiYhbS5ub2RlTmFtZShhLCJodG1sIikmJiJzdGF0aWMiPT09bS5jc3MoYSwicG9zaXRpb24iKSlhPWEub2Zmc2V0UGFyZW50O3JldHVybiBhfHxjY30pfX0pLG0uZWFjaCh7c2Nyb2xsTGVmdDoicGFnZVhPZmZzZXQiLHNjcm9sbFRvcDoicGFnZVlPZmZzZXQifSxmdW5jdGlvbihhLGIpe3ZhciBjPS9ZLy50ZXN0KGIpO20uZm5bYV09ZnVuY3Rpb24oZCl7cmV0dXJuIFYodGhpcyxmdW5jdGlvbihhLGQsZSl7dmFyIGY9ZGMoYSk7cmV0dXJuIHZvaWQgMD09PWU/Zj9iIGluIGY/ZltiXTpmLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFtkXTphW2RdOnZvaWQoZj9mLnNjcm9sbFRvKGM/bShmKS5zY3JvbGxMZWZ0KCk6ZSxjP2U6bShmKS5zY3JvbGxUb3AoKSk6YVtkXT1lKX0sYSxkLGFyZ3VtZW50cy5sZW5ndGgsbnVsbCl9fSksbS5lYWNoKFsidG9wIiwibGVmdCJdLGZ1bmN0aW9uKGEsYil7bS5jc3NIb29rc1tiXT1MYShrLnBpeGVsUG9zaXRpb24sZnVuY3Rpb24oYSxjKXtyZXR1cm4gYz8oYz1KYShhLGIpLEhhLnRlc3QoYyk/bShhKS5wb3NpdGlvbigpW2JdKyJweCI6Yyk6dm9pZCAwfSl9KSxtLmVhY2goe0hlaWdodDoiaGVpZ2h0IixXaWR0aDoid2lkdGgifSxmdW5jdGlvbihhLGIpe20uZWFjaCh7cGFkZGluZzoiaW5uZXIiK2EsY29udGVudDpiLCIiOiJvdXRlciIrYX0sZnVuY3Rpb24oYyxkKXttLmZuW2RdPWZ1bmN0aW9uKGQsZSl7dmFyIGY9YXJndW1lbnRzLmxlbmd0aCYmKGN8fCJib29sZWFuIiE9dHlwZW9mIGQpLGc9Y3x8KGQ9PT0hMHx8ZT09PSEwPyJtYXJnaW4iOiJib3JkZXIiKTtyZXR1cm4gVih0aGlzLGZ1bmN0aW9uKGIsYyxkKXt2YXIgZTtyZXR1cm4gbS5pc1dpbmRvdyhiKT9iLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFsiY2xpZW50IithXTo5PT09Yi5ub2RlVHlwZT8oZT1iLmRvY3VtZW50RWxlbWVudCxNYXRoLm1heChiLmJvZHlbInNjcm9sbCIrYV0sZVsic2Nyb2xsIithXSxiLmJvZHlbIm9mZnNldCIrYV0sZVsib2Zmc2V0IithXSxlWyJjbGllbnQiK2FdKSk6dm9pZCAwPT09ZD9tLmNzcyhiLGMsZyk6bS5zdHlsZShiLGMsZCxnKX0sYixmP2Q6dm9pZCAwLGYsbnVsbCl9fSl9KSxtLmZuLnNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sZW5ndGh9LG0uZm4uYW5kU2VsZj1tLmZuLmFkZEJhY2ssImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZCYmZGVmaW5lKCJqcXVlcnkiLFtdLGZ1bmN0aW9uKCl7cmV0dXJuIG19KTt2YXIgZWM9YS5qUXVlcnksZmM9YS4kO3JldHVybiBtLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oYil7cmV0dXJuIGEuJD09PW0mJihhLiQ9ZmMpLGImJmEualF1ZXJ5PT09bSYmKGEualF1ZXJ5PWVjKSxtfSx0eXBlb2YgYj09PUsmJihhLmpRdWVyeT1hLiQ9bSksbX0pOwo="}},"time_used":9,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"binarymate.com/assets/landing/platform-tiny/js/chart.js","fqdn":"binarymate.com","domain":"binarymate.com","tld":"com"},"ip":{"addr":"172.67.160.195","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://binarymate.com/en/tyni-platform?r=https://247optiontradefx.live/dashboard/register","date":"2026-07-27T02:50:33.775Z","timestamp":1785120633775,"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":"binarymate.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 14 Jun 2026 17:48:17 GMT","end":"Sat, 12 Sep 2026 18:48:16 GMT"},"fingerprint":{"sha1":"26:CD:F2:69:FE:7F:C6:01:56:78:36:8F:A3:D6:FB:30:04:43:72:C0","sha256":"84:94:E9:41:71:FF:C7:FC:0D:D1:FE:9F:61:E9:EB:27:62:B3:01:D9:AA:F6:35:FB:C6:FA:4A:CE:9B:16:0B:7E"}}},"request":{"raw":"GET /assets/landing/platform-tiny/js/chart.js HTTP/1.1\r\nHost: binarymate.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://binarymate.com/en/tyni-platform?r=https://247optiontradefx.live/dashboard/register\r\nCookie: laravel_session=UYESX7wELN8BSPz4LvfUKeGrrWO22l12CaQ7FWII\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\npriority: u=3,i=?0\r\ncontent-type: application/javascript\r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nlast-modified: Thu, 12 May 2016 06:50:27 GMT\r\nserver: cloudflare\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=3CUK2Umf%2BBKBVkpHNvvM%2FjcBXL9JckAHe2J36TT%2BawR7%2BbCfqK%2FSGkQaVWOrfnE8WWio77U98axFHT9DSE%2BIvSGBHdFiu%2BPacxq8KZqsWFBtaQ47nmHfxlc1Px3V6AOL6Q%3D%3D\"}]}\r\nage: 373\r\ncache-control: max-age=14400\r\ncf-cache-status: HIT\r\ncontent-encoding: zstd\r\netag: W/\"573427b3-aef7\"\r\ncf-ray: a21856591ad38be6-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"]}],"data":{"size":44791,"size_decoded":9804,"mime_type":"application/javascript","magic":"Unicode text, UTF-8 text","md5":"f05c104126dd6bf06a55052a815fca5b","sha1":"8c1e733f7dc7baa1b4841f748b466adddab8a4c3","sha256":"301224630d15f9ae721c965cebe73941eb513199989ade99094e34801ed70597","sha512":"cb094f5eb223da7ee00a5e697d0441edfe65e1470e8e5177f2c9b8b47e6ed6c5bded070c62d652e49d96dc4ad02526921e01721913df285c6d25ef7bf290eecc","ssdeep":"768:IAsWbGkw1msuAqxdcLB+xoc6s5z9DLVXz9GIydcEOpFI6NZWFcF/bHQ9SJaEI:acoc6s5z9DL6Sk","tlshash":"2613a84a97bf1536e023312d6f4f2748a660542b0d4aeeac3d2c63e05fa453a15bdfb4","first_seen":"2023-04-07T16:36:34Z","last_seen":"2026-07-27T05:39:37.004287Z","times_seen":84,"resource_available":false,"data":"CgogICAgZnVuY3Rpb24gQ2hhcnQocGFyZW50LCBzZXJ2ZXJUaW1lKSB7CiAgICAgICAgdGhpcy5jYW5kbGVzID0gW107CiAgICAgICAgdGhpcy5vcmRlcnMgPSBbXTsKICAgICAgICB0aGlzLnRvT3JkZXJzQ2xvc2VkID0gW107CiAgICAgICAgdGhpcy5vcmRlcnNDbG9zZWQgPSB7fTsKICAgICAgICB0aGlzLnBhcmVudCA9IHBhcmVudDsKICAgICAgICB0aGlzLnByaWNlUHkgPSAwOwogICAgICAgIHRoaXMucHJpY2VPZmZzZXQgPSAwOwogICAgICAgIHRoaXMuY2FuZGxlV2lkdGhUbyA9IDk7CiAgICAgICAgdGhpcy5jYW5kbGVzRnJlZVNwYWNlVG8gPSAzOwogICAgICAgIHRoaXMuY2FuZGxlV2lkdGggPSA5OwogICAgICAgIHRoaXMuY2FuZGxlc0ZyZWVTcGFjZSA9IDM7CiAgICAgICAgdGhpcy5jYW5kbGVzT2Zmc2V0ID0gMDsKICAgICAgICB0aGlzLnNwZWVkID0gMDsKICAgICAgICB0aGlzLmJsdXIgPSAxMDsKICAgICAgICB0aGlzLmJsdXJQbHVzID0gdHJ1ZTsKICAgICAgICB0aGlzLmxXaGVlbCA9IHNlcnZlclRpbWUubm93KCk7CiAgICAgICAgdGhpcy50b0NsaWNrID0gW107CiAgICAgICAgdGhpcy5jbGljayA9IFtdOwogICAgICAgIHRoaXMuc2VydmVyVGltZSA9IHNlcnZlclRpbWU7CiAgICAgICAgdGhpcy5ub3cgPSBzZXJ2ZXJUaW1lLm5vdygpOwogICAgICAgIHRoaXMubGFzdERyYWcgPSBEYXRlLm5vdygpOwogICAgfQogICAgLy9DaGFydC5wcm90b3R5cGUucmVtb3ZlID0gZnVuY3Rpb24gKCkgewogICAgLy8gICAgaWYodGhpcy5iZ0NhbnZhcykgewogICAgLy8gICAgICAgIHRoaXMucGFyZW50LnJlbW92ZUNoaWxkKHRoaXMuYmdDYW52YXMpOwogICAgLy8gICAgICAgIHRoaXMuYmdDYW52YXMucmVtb3ZlKCk7CiAgICAvLyAgICB9CiAgICAvLyAgICBpZih0aGlzLm1haW5DYW52YXMpIHsKICAgIC8vICAgICAgICB0aGlzLnBhcmVudC5yZW1vdmVDaGlsZCh0aGlzLm1haW5DYW52YXMpOwogICAgLy8gICAgICAgIHRoaXMubWFpbkNhbnZhcy5yZW1vdmUoKTsKICAgIC8vICAgIH0KICAgIC8vICAgIGlmKHRoaXMuZnJvbnRDYW52YXMpIHsKICAgIC8vICAgICAgICB0aGlzLnBhcmVudC5yZW1vdmVDaGlsZCh0aGlzLmZyb250Q2FudmFzKTsKICAgIC8vICAgICAgICB0aGlzLmZyb250Q2FudmFzLnJlbW92ZSgpOwogICAgLy8gICAgfQogICAgLy99OwogICAgQ2hhcnQucHJvdG90eXBlLmluaXQgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdGhpcy5iZ0NhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpOwogICAgICAgIHRoaXMubWFpbkNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpOwogICAgICAgIHRoaXMuZnJvbnRDYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTsKICAgICAgICB0aGlzLmJnQ2FudmFzLmNsYXNzTmFtZSA9ICdjdC1jaGFydCBjdC1jaGFydC1iZyc7CiAgICAgICAgdGhpcy5tYWluQ2FudmFzLmNsYXNzTmFtZSA9ICdjdC1jaGFydCBjdC1jaGFydC1tYWluJzsKICAgICAgICB0aGlzLmZyb250Q2FudmFzLmNsYXNzTmFtZSA9ICdjdC1jaGFydCBjdC1jaGFydC1mcm9udCc7CiAgICAgICAgdGhpcy5wYXJlbnQuYXBwZW5kQ2hpbGQodGhpcy5iZ0NhbnZhcyk7CiAgICAgICAgdGhpcy5wYXJlbnQuYXBwZW5kQ2hpbGQodGhpcy5tYWluQ2FudmFzKTsKICAgICAgICB0aGlzLnBhcmVudC5hcHBlbmRDaGlsZCh0aGlzLmZyb250Q2FudmFzKTsKICAgICAgICB0aGlzLm1haW5DYW52YXMuc3R5bGUuekluZGV4ID0gMTAwOwoKICAgICAgICB0aGlzLmJnQ2FudmFzLndpZHRoID0gdGhpcy5wYXJlbnQuY2xpZW50V2lkdGg7CiAgICAgICAgdGhpcy5tYWluQ2FudmFzLndpZHRoID0gdGhpcy5wYXJlbnQuY2xpZW50V2lkdGg7CiAgICAgICAgdGhpcy5mcm9udENhbnZhcy53aWR0aCA9IHRoaXMucGFyZW50LmNsaWVudFdpZHRoOwoKICAgICAgICB0aGlzLmJnQ2FudmFzLmhlaWdodCA9IHRoaXMucGFyZW50LmNsaWVudEhlaWdodDsKICAgICAgICB0aGlzLm1haW5DYW52YXMuaGVpZ2h0ID0gdGhpcy5wYXJlbnQuY2xpZW50SGVpZ2h0OwogICAgICAgIHRoaXMuZnJvbnRDYW52YXMuaGVpZ2h0ID0gdGhpcy5wYXJlbnQuY2xpZW50SGVpZ2h0OwoKCiAgICAgICAgdGhpcy5tYWluQ2FudmFzQ3R4ID0gdGhpcy5tYWluQ2FudmFzLmdldENvbnRleHQoIjJkIik7CgogICAgICAgIHRoaXMuY2FuZGxlc1BlclBhZ2UgPSBNYXRoLmNlaWwodGhpcy5tYWluQ2FudmFzLmNsaWVudFdpZHRoIC8gKHRoaXMuY2FuZGxlc0ZyZWVTcGFjZSAqIDIgKyB0aGlzLmNhbmRsZVdpZHRoKSk7CiAgICAgICAgdGhpcy5oZWlnaHQgPSB0aGlzLnBhcmVudC5jbGllbnRIZWlnaHQ7CiAgICAgICAgdGhpcy53aWR0aCA9IHRoaXMucGFyZW50LmNsaWVudFdpZHRoOwoKICAgICAgICB0aGlzLm1vdXNlUG9zUHJpY2UgPSBuZXcgUHJpY2VMaW5lKHRoaXMubWFpbkNhbnZhc0N0eCwgdGhpcyk7CiAgICAgICAgdGhpcy5tb3VzZVBvc1RpbWUgPSBuZXcgVGltZUxpbmUodGhpcy5tYWluQ2FudmFzQ3R4LCB0aGlzKTsKICAgICAgICB2YXIgJHRoaXMgPSB0aGlzOwogICAgICAgIHRoaXMub2Zmc2V0ID0gMDsKCgogICAgICAgIHRoaXMuY2xpZW50V2lkdGggPSB0aGlzLm1haW5DYW52YXMuY2xpZW50V2lkdGg7CiAgICAgICAgdGhpcy5jbGllbnRIZWlnaHQgPSB0aGlzLm1haW5DYW52YXMuY2xpZW50SGVpZ2h0OwoKICAgICAgICB0aGlzLmNvbmZpZyA9IHsKICAgICAgICAgICAgY2hhcnQ6IHsKICAgICAgICAgICAgICAgIGJnOiAnIzFGMjMyRScsCiAgICAgICAgICAgICAgICBsaW5lYXI6IHsKICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyMwMkI2RjInLAogICAgICAgICAgICAgICAgICAgIGJnOiBbJyMxRDUwNkInLCcjMUYyODM0J10sCiAgICAgICAgICAgICAgICAgICAgcG9pbnQ6IHsKICAgICAgICAgICAgICAgICAgICAgICAgYmc6ICcjRkZGRkZGJywKICAgICAgICAgICAgICAgICAgICAgICAgc2hhZG93OiAnIzU1NkU3OCcKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHRpbWVMaW5lOiB7CiAgICAgICAgICAgICAgICBiZzogJyMxRjIzMkUnLAogICAgICAgICAgICAgICAgbGluZTogewogICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnIzcyOEM5NicsCiAgICAgICAgICAgICAgICAgICAgbGluZURhc2g6IFs0LCAxXQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHRleHQ6IHsKICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyM3MjhCOTYnLAogICAgICAgICAgICAgICAgICAgIGZvbnQ6ICIxMnB4IEFyaWFsIiwKICAgICAgICAgICAgICAgICAgICBmb3JtYXQ6ICdISDptbTpzcycKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHByaWNlTGluZTogewogICAgICAgICAgICAgICAgbGluZTogewogICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnIzcyOEM5NicsCiAgICAgICAgICAgICAgICAgICAgbGluZURhc2g6IFs0LCAxXQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHRleHQ6IHsKICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyM3MjhDOTYnLAogICAgICAgICAgICAgICAgICAgIGZvbnQ6ICcxNXB4IEFyaWFsJwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICBjdXJyZW50VGltZTogewogICAgICAgICAgICAgICAgbGluZTogewogICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnIzNCNDM1OScsCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgdGV4dDogewogICAgICAgICAgICAgICAgICAgIGZvcm1hdDogJ0hIOm1tOnNzJywKICAgICAgICAgICAgICAgICAgICBiZzogJyMzQjQzNTknLAogICAgICAgICAgICAgICAgICAgIGZvbnQ6ICIxMnB4IEFyaWFsIiwKICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyNGN0Y3RjgnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGN1cnJlbnRQcmljZTogewogICAgICAgICAgICAgICAgYmc6ICcjRjc0QTVDJywKICAgICAgICAgICAgICAgIGxpbmU6IHsKICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyNGNzRBNUMnLAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHRleHQ6IHsKICAgICAgICAgICAgICAgICAgICBmb250OiAiMTJweCBBcmlhbCIsCiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjZmZmJwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICBtb3VzZVBvczogewogICAgICAgICAgICAgICAgYmc6ICcjM0I0MzU5JwogICAgICAgICAgICB9LAogICAgICAgICAgICBjbG9jazogewogICAgICAgICAgICAgICAgY29sb3I6ICcjN0Y5Q0E3JywKICAgICAgICAgICAgICAgIGZvbnQ6ICIyMHB4IEFyaWFsIiwKICAgICAgICAgICAgICAgIGZvcm1hdDogJ21tOnNzJwogICAgICAgICAgICB9LAogICAgICAgICAgICBvcmRlcjogewogICAgICAgICAgICAgICAgY2FsbDogewogICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnIzZDQTkyNCcKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBwdXQ6IHsKICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyNGNzRBNUMnCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgbGluZURhc2g6IFs0LCAxXSwKICAgICAgICAgICAgICAgIGZvbnQ6ICcxMnB4IEFyaWFsJywKICAgICAgICAgICAgICAgIHByaWNlOiB7CiAgICAgICAgICAgICAgICAgICAgZm9udDonYm9sZCAxMnB4IEFyaWFsJwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHRpbWU6IHsKICAgICAgICAgICAgICAgICAgICBmb250OiAnMTJweCBBcmlhbCcsCiAgICAgICAgICAgICAgICAgICAgZm9ybWF0OiAnSEg6bW06c3MnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGltYWdlRGVkOiB7CiAgICAgICAgICAgICAgICB0ZXh0OiAnVGltZSBleHBpcmF0aW9uJywKICAgICAgICAgICAgICAgIHRleHRQb3NYOiAtMTAsCiAgICAgICAgICAgICAgICB0ZXh0UG9zWTogMTcsCiAgICAgICAgICAgICAgICBjb2xvcjogIiNBNjM5NDciLAogICAgICAgICAgICAgICAgZm9udDogIjE1cHggQXJpYWwiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGltYWdlRW5kOiB7CiAgICAgICAgICAgICAgICB0ZXh0OiAnVGltZSBleHBpcmF0aW9uJywKICAgICAgICAgICAgICAgIHRleHRQb3NYOiAtMTAsCiAgICAgICAgICAgICAgICB0ZXh0UG9zWTogMTcsCiAgICAgICAgICAgICAgICBjb2xvcjogIiNBNjM5NDciLAogICAgICAgICAgICAgICAgZm9udDogIjEzcHggQXJpYWwiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGVuZExpbmU6IHsKICAgICAgICAgICAgICAgIGxpbmVTdHlsZTogIiM5OTBGMTQiLAogICAgICAgICAgICAgICAgbGluZURhc2g6IFs0LCAxXQogICAgICAgICAgICB9CiAgICAgICAgfQoKCiAgICAgICAgdGhpcy5pbWFnZURlZCA9IG5ldyBJbWFnZSgpOwogICAgICAgIHRoaXMuaW1hZ2VFbmQgPSBuZXcgSW1hZ2UoKTsKICAgICAgICB7CiAgICAgICAgICAgIHZhciBidWZDYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTsKICAgICAgICAgICAgYnVmQ2FudmFzLmhlaWdodCA9IDIwMDsKCiAgICAgICAgICAgIHZhciBidWYgPSBidWZDYW52YXMuZ2V0Q29udGV4dCgiMmQiKTsKCiAgICAgICAgICAgIGJ1Zi5zYXZlKCk7CiAgICAgICAgICAgIGJ1Zi5yb3RhdGUoMyAqIE1hdGguUEkgLyAyKTsKICAgICAgICAgICAgYnVmLmZvbnQgPSB0aGlzLmNvbmZpZy5pbWFnZURlZC5mb250OwogICAgICAgICAgICBidWYuZmlsbFN0eWxlID0gdGhpcy5jb25maWcuaW1hZ2VEZWQuY29sb3I7CiAgICAgICAgICAgIGJ1Zi50ZXh0QWxpZ24gPSAicmlnaHQiOwogICAgICAgICAgICBidWYuZmlsbFRleHQodGhpcy5jb25maWcuaW1hZ2VEZWQudGV4dCwgdGhpcy5jb25maWcuaW1hZ2VEZWQudGV4dFBvc1gsIHRoaXMuY29uZmlnLmltYWdlRGVkLnRleHRQb3NZKTsKICAgICAgICAgICAgdGhpcy5pbWFnZURlZC5zcmMgPSBidWZDYW52YXMudG9EYXRhVVJMKCk7CiAgICAgICAgICAgIGJ1Zi5yZXN0b3JlKCk7CgoKICAgICAgICAgICAgYnVmLnNhdmUoKTsKICAgICAgICAgICAgLy9idWYucm90YXRlKC0zICogTWF0aC5QSSAvIDIpOwogICAgICAgICAgICBidWYuY2xlYXJSZWN0KC0xLCAtMSwgYnVmQ2FudmFzLmhlaWdodCArIDIsIGJ1ZkNhbnZhcy53aWR0aCArIDIpOwogICAgICAgICAgICBidWYucmVzdG9yZSgpOwoKCiAgICAgICAgICAgIGJ1Zi5zYXZlKCk7CiAgICAgICAgICAgIGJ1Zi5yb3RhdGUoMyAqIE1hdGguUEkgLyAyKTsKCiAgICAgICAgICAgIC8vYnVmLmNsZWFyUmVjdCgwLCAwLCBidWZDYW52YXMud2lkdGgsIGJ1ZkNhbnZhcy5oZWlnaHQpOwogICAgICAgICAgICAvL2J1Zi5jbGVhclJlY3QoLTIwMCwgLTIwMCwgMzAwLCAzMDApOwogICAgICAgICAgICAvL2J1Zi5yb3RhdGUoMyAqIE1hdGguUEkgLyAyKTsKCiAgICAgICAgICAgIGJ1Zi5mb250ID0gdGhpcy5jb25maWcuaW1hZ2VFbmQuZm9udDsKCiAgICAgICAgICAgIGJ1Zi5maWxsU3R5bGUgPSB0aGlzLmNvbmZpZy5pbWFnZUVuZC5jb2xvcjsKICAgICAgICAgICAgYnVmLnRleHRBbGlnbiA9ICJyaWdodCI7CiAgICAgICAgICAgIGJ1Zi5maWxsVGV4dCh0aGlzLmNvbmZpZy5pbWFnZUVuZC50ZXh0LCB0aGlzLmNvbmZpZy5pbWFnZUVuZC50ZXh0UG9zWCwgdGhpcy5jb25maWcuaW1hZ2VFbmQudGV4dFBvc1kpOwogICAgICAgICAgICB0aGlzLmltYWdlRW5kLnNyYyA9IGJ1ZkNhbnZhcy50b0RhdGFVUkwoKTsKICAgICAgICAgICAgYnVmLnJlc3RvcmUoKTsKICAgICAgICAgICAgYnVmQ2FudmFzLnJlbW92ZSgpOwogICAgICAgIH0KCiAgICAgICAgdGhpcy5lbmRMaW5lID0gbmV3IEVuZExpbmUodGhpcy5tYWluQ2FudmFzQ3R4LCB0aGlzLCB7CiAgICAgICAgICAgIGxpbmVTdHlsZTogdGhpcy5jb25maWcuZW5kTGluZS5saW5lU3R5bGUsCiAgICAgICAgICAgIGxpbmVEYXNoOiB0aGlzLmNvbmZpZy5lbmRMaW5lLmxpbmVEYXNoLAogICAgICAgICAgICBsaW5lTmFtZTogdGhpcy5pbWFnZUVuZCwKICAgICAgICAgICAgZGlzcGxheVRpbWU6IGZhbHNlCiAgICAgICAgfSk7CgoKICAgICAgICB0aGlzLnNjcm9sbE9uID0gZmFsc2U7CiAgICAgICAgdGhpcy5tYWluQ2FudmFzLm9ubW91c2Vkb3duID0gZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgdmFyIGV2dCA9IGUgfHwgZXZlbnQ7CiAgICAgICAgICAgICR0aGlzLmRyYWdnaW5nID0gdHJ1ZTsKICAgICAgICAgICAgJHRoaXMubGFzdFggPSBldnQub2Zmc2V0WDsKICAgICAgICAgICAgJHRoaXMub2Zmc2V0ID0gMDsKICAgICAgICAgICAgJHRoaXMudHJhbnNsYXRlVGltZSA9ICR0aGlzLm5vdzsKICAgICAgICAgICAgJHRoaXMudHJhbnNsYXRlVG8gPSAwOwogICAgICAgICAgICBpZiAod2luZG93LmdldFNlbGVjdGlvbikgewogICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5lbXB0eSkgeyAgLy8gQ2hyb21lCiAgICAgICAgICAgICAgICAgICAgd2luZG93LmdldFNlbGVjdGlvbigpLmVtcHR5KCk7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5yZW1vdmVBbGxSYW5nZXMpIHsgIC8vIEZpcmVmb3gKICAgICAgICAgICAgICAgICAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmVtb3ZlQWxsUmFuZ2VzKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSBpZiAoZG9jdW1lbnQuc2VsZWN0aW9uKSB7ICAvLyBJRT8KICAgICAgICAgICAgICAgIGRvY3VtZW50LnNlbGVjdGlvbi5lbXB0eSgpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKCiAgICAgICAgdGhpcy5tYWluQ2FudmFzLm9uY2xpY2sgPSBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICAkdGhpcy5zY3JvbGxPbiA9IHRydWU7CiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgJHRoaXMuY2xpY2subGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgIHZhciBvYiA9ICR0aGlzLmNsaWNrW2ldOwogICAgICAgICAgICAgICAgaWYgKAogICAgICAgICAgICAgICAgICAgICAgICBvYi54cyA8PSBlLm9mZnNldFggJiYgZS5vZmZzZXRYIDw9IG9iLnhlCiAgICAgICAgICAgICAgICAgICAgICAgICYmIG9iLnlzIDw9IGUub2Zmc2V0WSAmJiBlLm9mZnNldFkgPD0gb2IueWUKICAgICAgICAgICAgICAgICkgewogICAgICAgICAgICAgICAgICAgIG9iLmZuKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICB0aGlzLm1haW5DYW52YXMub25tb3VzZW1vdmUgPSBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICB2YXIgZXZ0ID0gZSB8fCBldmVudDsKICAgICAgICAgICAgJHRoaXMubW91c2VYID0gZXZ0Lm9mZnNldFg7CiAgICAgICAgICAgICR0aGlzLm1vdXNlWSA9IGV2dC5vZmZzZXRZOwogICAgICAgICAgICAkdGhpcy5sYXN0RHJhZyA9ICR0aGlzLm5vdzsKICAgICAgICAgICAgaWYgKCR0aGlzLmRyYWdnaW5nKSB7CiAgICAgICAgICAgICAgICB2YXIgZGVsdGEgPSBldnQub2Zmc2V0WCAtICR0aGlzLmxhc3RYOwogICAgICAgICAgICAgICAgJHRoaXMubGFzdFggPSBldnQub2Zmc2V0WDsKICAgICAgICAgICAgICAgICR0aGlzLnNjcm9sbFgoZGVsdGEpOwogICAgICAgICAgICAgICAgJHRoaXMudHJhbnNsYXRlVG8gKz0gZGVsdGE7CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICB0aGlzLm1haW5DYW52YXMub25tb3VzZXVwID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAoJHRoaXMuZHJhZ2dpbmcpIHsKICAgICAgICAgICAgICAgICR0aGlzLnNwZWVkID0gTWF0aC5yb3VuZCgxMDAwICogJHRoaXMudHJhbnNsYXRlVG8gLyBNYXRoLnBvdygkdGhpcy5ub3cgLSAkdGhpcy50cmFuc2xhdGVUaW1lLCAyKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHRoaXMuZHJhZ2dpbmcgPSBmYWxzZTsKICAgICAgICB9OwogICAgICAgIHRoaXMubWFpbkNhbnZhcy5vbm1vdXNlbGVhdmUgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICR0aGlzLmRyYWdnaW5nID0gZmFsc2U7CiAgICAgICAgICAgICR0aGlzLnNjcm9sbE9uID0gZmFsc2U7CiAgICAgICAgfTsKCgogICAgICAgIHZhciBvbldoZWVsID0gZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgZSA9IGUgfHwgd2luZG93LmV2ZW50OwogICAgICAgICAgICBpZiAoISR0aGlzLnNjcm9sbE9uKSB7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdmFyIGRlbHRhID0gZS5kZWx0YVkgfHwgZS5kZXRhaWwgfHwgZS53aGVlbERlbHRhOwogICAgICAgICAgICB2YXIgbW92ID0gMTsKICAgICAgICAgICAgaWYgKCR0aGlzLm5vdyAtICR0aGlzLmxXaGVlbCA8IDEwMDApIHsKICAgICAgICAgICAgICAgIG1vdiA9IE1hdGgucm91bmQoMTAwMCAvICgkdGhpcy5ub3cgLSAkdGhpcy5sV2hlZWwpKTsKICAgICAgICAgICAgICAgIGlmIChtb3YgPiA1KSB7CiAgICAgICAgICAgICAgICAgICAgbW92ID0gNTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICAkdGhpcy5sV2hlZWwgPSAkdGhpcy5ub3c7CiAgICAgICAgICAgIGlmIChkZWx0YSA+IDApIHsKICAgICAgICAgICAgICAgICR0aGlzLmNhbmRsZVdpZHRoVG8gLT0gbW92OwogICAgICAgICAgICAgICAgaWYgKCR0aGlzLmNhbmRsZVdpZHRoVG8gPD0gMCkgewogICAgICAgICAgICAgICAgICAgICR0aGlzLmNhbmRsZVdpZHRoVG8gPSAxOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgaWYgKGRlbHRhIDwgMCkgewogICAgICAgICAgICAgICAgJHRoaXMuY2FuZGxlV2lkdGhUbyArPSBtb3Y7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHRoaXMuY2FuZGxlc0ZyZWVTcGFjZVRvID0gTWF0aC5yb3VuZCgkdGhpcy5jYW5kbGVXaWR0aFRvIC8gMyk7CiAgICAgICAgICAgIGlmICgkdGhpcy5jYW5kbGVzRnJlZVNwYWNlVG8gPCAxKSB7CiAgICAgICAgICAgICAgICAkdGhpcy5jYW5kbGVzRnJlZVNwYWNlVG8gPSAxOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICgkdGhpcy5jYW5kbGVzRnJlZVNwYWNlVG8gPiAzKSB7CiAgICAgICAgICAgICAgICAkdGhpcy5jYW5kbGVzRnJlZVNwYWNlVG8gPSAzOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQgPyBlLnByZXZlbnREZWZhdWx0KCkgOiAoZS5yZXR1cm5WYWx1ZSA9IGZhbHNlKTsKICAgICAgICB9OwoKICAgICAgICBpZiAodGhpcy5tYWluQ2FudmFzLmFkZEV2ZW50TGlzdGVuZXIpIHsKICAgICAgICAgICAgaWYgKCdvbndoZWVsJyBpbiBkb2N1bWVudCkgewogICAgICAgICAgICAgICAgLy8gSUU5KywgRkYxNyssIENoMzErCiAgICAgICAgICAgICAgICB0aGlzLm1haW5DYW52YXMuYWRkRXZlbnRMaXN0ZW5lcigid2hlZWwiLCBvbldoZWVsKTsKICAgICAgICAgICAgfSBlbHNlIGlmICgnb25tb3VzZXdoZWVsJyBpbiBkb2N1bWVudCkgewogICAgICAgICAgICAgICAgLy8gw7PDscOyw6DDsMOlw6LDuMOow6kgw6LDoMOww6jDoMOtw7Igw7HDrsOhw7vDssOow78KICAgICAgICAgICAgICAgIHRoaXMubWFpbkNhbnZhcy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXdoZWVsIiwgb25XaGVlbCk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAvLyBGaXJlZm94IDwgMTcKICAgICAgICAgICAgICAgIHRoaXMubWFpbkNhbnZhcy5hZGRFdmVudExpc3RlbmVyKCJNb3pNb3VzZVBpeGVsU2Nyb2xsIiwgb25XaGVlbCk7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgeyAvLyBJRTgtCiAgICAgICAgICAgIHRoaXMubWFpbkNhbnZhcy5hdHRhY2hFdmVudCgib25tb3VzZXdoZWVsIiwgb25XaGVlbCk7CiAgICAgICAgfQogICAgfTsKICAgIENoYXJ0LnByb3RvdHlwZS5zY3JvbGxYID0gZnVuY3Rpb24gKGRlbHRhKSB7CiAgICAgICAgdmFyICR0aGlzID0gdGhpczsKICAgICAgICAkdGhpcy5vZmZzZXQgKz0gZGVsdGE7CiAgICAgICAgaWYgKE1hdGguYWJzKCR0aGlzLm9mZnNldCkgPj0gJHRoaXMuY2FuZGxlV2lkdGggKyAkdGhpcy5jYW5kbGVzRnJlZVNwYWNlICogMikgewogICAgICAgICAgICB2YXIgbW92Q2FuZGxlID0gTWF0aC5mbG9vcigkdGhpcy5vZmZzZXQgLyAoJHRoaXMuY2FuZGxlV2lkdGggKyAkdGhpcy5jYW5kbGVzRnJlZVNwYWNlICogMikpOwogICAgICAgICAgICBpZiAoJHRoaXMuY2FuZGxlc09mZnNldCArIG1vdkNhbmRsZSA8IDIpIHsKICAgICAgICAgICAgICAgICR0aGlzLm9mZnNldCAtPSBkZWx0YTsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoJHRoaXMuY2FuZGxlc09mZnNldCArIG1vdkNhbmRsZSA+PSAkdGhpcy5jYW5kbGVzLmxlbmd0aCkgewogICAgICAgICAgICAgICAgJHRoaXMub2Zmc2V0IC09IGRlbHRhOwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkdGhpcy5jYW5kbGVzT2Zmc2V0ICs9IG1vdkNhbmRsZTsKICAgICAgICAgICAgJHRoaXMub2Zmc2V0IC09IG1vdkNhbmRsZSAqICgkdGhpcy5jYW5kbGVXaWR0aCArICR0aGlzLmNhbmRsZXNGcmVlU3BhY2UgKiAyKTsKICAgICAgICB9CiAgICB9OwogICAgQ2hhcnQucHJvdG90eXBlLmdldFggPSBmdW5jdGlvbiAodGltZSkgewogICAgICAgIGlmICghdGhpcy5jYW5kbGVzU2hvdyB8fCB0aGlzLmNhbmRsZXNTaG93Lmxlbmd0aCA9PSAwKSB7CiAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgIH0KICAgICAgICB2YXIgc3MgPSAwOwogICAgICAgIHZhciBzID0gdGhpcy5jYW5kbGVzU2hvdy5sZW5ndGggLyAyOwogICAgICAgIHZhciBzbCA9IHRoaXMuY2FuZGxlc1Nob3cubGVuZ3RoIC0gMTsKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuY2FuZGxlc1Nob3cubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgdmFyIGNhbmRsZSA9IHRoaXMuY2FuZGxlc1Nob3dbTWF0aC5yb3VuZChzKV07CiAgICAgICAgICAgIGlmICghY2FuZGxlICYmIE1hdGgucm91bmQocykgPT09IDEpIHsKICAgICAgICAgICAgICAgIHMgPSAwOwogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGNhbmRsZS50aW1lSWQgKyAxMDAwID4gdGltZSAmJiB0aW1lID49IGNhbmRsZS50aW1lSWQpIHsKICAgICAgICAgICAgICAgIHJldHVybiBjYW5kbGUucG9zWDsKICAgICAgICAgICAgfSBlbHNlIGlmICh0aW1lIDwgY2FuZGxlLnRpbWVJZCkgewogICAgICAgICAgICAgICAgc2wgPSBzOwogICAgICAgICAgICAgICAgcyA9IHNzICsgKHNsIC0gc3MpIC8gMjsKICAgICAgICAgICAgfSBlbHNlIGlmICh0aW1lID4gY2FuZGxlLnRpbWVJZCkgewogICAgICAgICAgICAgICAgc3MgPSBzOwogICAgICAgICAgICAgICAgcyA9IHNzICsgKHNsIC0gc3MpIC8gMjsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICB2YXIgbGMgPSB0aGlzLmNhbmRsZXNTaG93W3RoaXMuY2FuZGxlc1Nob3cubGVuZ3RoIC0gMV07CiAgICAgICAgaWYgKGxjLnRpbWVJZCA8IHRpbWUpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMubGFzdFBvc1ggKyAodGhpcy5jYW5kbGVXaWR0aCArIHRoaXMuY2FuZGxlc0ZyZWVTcGFjZSAqIDIpIC8gMTAwMCAqICh0aW1lIC0gdGhpcy5ub3cpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gMDsKICAgIH07CiAgICBDaGFydC5wcm90b3R5cGUuZ2V0WSA9IGZ1bmN0aW9uIChwcmljZSkgewogICAgICAgIHJldHVybiB0aGlzLmhlaWdodCAtIChwcmljZSAqIHRoaXMucHJpY2VQeSAtIHRoaXMucHJpY2VPZmZzZXQpOwogICAgfTsKICAgIENoYXJ0LnByb3RvdHlwZS5nZXRQcmljZSA9IGZ1bmN0aW9uICh5KSB7CiAgICAgICAgcmV0dXJuICh0aGlzLmhlaWdodCAtIHkgKyB0aGlzLnByaWNlT2Zmc2V0KSAvIHRoaXMucHJpY2VQeTsKICAgIH07CiAgICBDaGFydC5wcm90b3R5cGUuZ2V0VGltZSA9IGZ1bmN0aW9uICh4KSB7CiAgICAgICAgaWYgKCF0aGlzLmNhbmRsZXNTaG93IHx8IHRoaXMuY2FuZGxlc1Nob3cubGVuZ3RoID09IDApIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMubm93OwogICAgICAgIH0KICAgICAgICB2YXIgem9uZSA9IHRoaXMuY2FuZGxlV2lkdGggLyAyICsgdGhpcy5jYW5kbGVzRnJlZVNwYWNlOwogICAgICAgIHZhciBzcyA9IDA7CiAgICAgICAgdmFyIHMgPSBNYXRoLnJvdW5kKHRoaXMuY2FuZGxlc1Nob3cubGVuZ3RoIC8gMik7CiAgICAgICAgdmFyIHNsID0gdGhpcy5jYW5kbGVzU2hvdy5sZW5ndGggLSAxOwogICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5jYW5kbGVzU2hvdy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICB2YXIgY2FuZGxlID0gdGhpcy5jYW5kbGVzU2hvd1tNYXRoLnJvdW5kKHMpXTsKICAgICAgICAgICAgaWYgKCFjYW5kbGUgJiYgTWF0aC5yb3VuZChzKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcyA9IDA7CiAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoY2FuZGxlLnBvc1ggKyB6b25lID49IHggJiYgeCA+PSBjYW5kbGUucG9zWCAtIHpvbmUpIHsKICAgICAgICAgICAgICAgIHJldHVybiBjYW5kbGUudGltZUlkOwogICAgICAgICAgICB9IGVsc2UgaWYgKHggPCBjYW5kbGUucG9zWCkgewogICAgICAgICAgICAgICAgc2wgPSBzOwogICAgICAgICAgICAgICAgcyA9IHNzICsgTWF0aC5yb3VuZCgoc2wgLSBzcykgLyAyKTsKICAgICAgICAgICAgfSBlbHNlIGlmICh4ID4gY2FuZGxlLnBvc1gpIHsKICAgICAgICAgICAgICAgIHNzID0gczsKICAgICAgICAgICAgICAgIHMgPSBzcyArIE1hdGgucm91bmQoKHNsIC0gc3MpIC8gMik7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgdmFyIGxjID0gdGhpcy5jYW5kbGVzU2hvd1t0aGlzLmNhbmRsZXNTaG93Lmxlbmd0aCAtIDFdOwogICAgICAgIGlmIChsYy5wb3NYIDwgeCkgewogICAgICAgICAgICAvL3ZhciBkZCA9IHggLSAobGMucG9zWCArIHRoaXMuY2FuZGxlV2lkdGggKyB0aGlzLmNhbmRsZXNGcmVlU3BhY2UgKiAyKTsKICAgICAgICAgICAgdmFyIGRkID0geCAtIHRoaXMubGFzdFBvc1g7CiAgICAgICAgICAgIHJldHVybiB0aGlzLm5vdyArIDEwMDAgKiBkZCAvICh0aGlzLmNhbmRsZVdpZHRoICsgdGhpcy5jYW5kbGVzRnJlZVNwYWNlICogMik7CiAgICAgICAgfQogICAgfTsKCiAgICBDaGFydC5wcm90b3R5cGUuYW5pbWF0ZSA9IGZ1bmN0aW9uICgpIHsKICAgICAgICB0aGlzLm5vdyA9IHRoaXMuc2VydmVyVGltZS5ub3coKTsKCiAgICAgICAgaWYgKCF0aGlzLm1haW5DYW52YXNDdHgpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICBpZiAodGhpcy5wcmVwYXJlZE9yZGVyLnN5bWJvbCA9PT0gIlRSQURFX09GRiIpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgdGhpcy5jYW5kbGVzRnJlZVNwYWNlICs9ICh0aGlzLmNhbmRsZXNGcmVlU3BhY2VUbyAtIHRoaXMuY2FuZGxlc0ZyZWVTcGFjZSkgLyA1OwogICAgICAgIHRoaXMuY2FuZGxlV2lkdGggKz0gKHRoaXMuY2FuZGxlV2lkdGhUbyAtIHRoaXMuY2FuZGxlV2lkdGgpIC8gNTsKICAgICAgICB0aGlzLmNhbmRsZXNQZXJQYWdlID0gTWF0aC5jZWlsKHRoaXMuY2xpZW50V2lkdGggLyAodGhpcy5jYW5kbGVzRnJlZVNwYWNlICogMiArIHRoaXMuY2FuZGxlV2lkdGgpKTsKCiAgICAgICAgLy90aGlzLnRpbWVQeCA9IHRoaXMubWFpbkNhbnZhcy5jbGllbnRXaWR0aCAvIHRoaXMudGltZVdpZHRoOwogICAgICAgIHZhciBjYW5kbGUgPSB0aGlzLmNhbmRsZXNbMF07CiAgICAgICAgdmFyIHRpbWVSUiA9IE1hdGguZmxvb3IodGhpcy5ub3cgLyAxMDAwKSAqIDEwMDA7CiAgICAgICAgaWYgKGNhbmRsZSAmJiBjYW5kbGUudGltZUlkIDwgdGltZVJSKSB7CiAgICAgICAgICAgIHZhciBjYW5kbGUyID0gbmV3IENhbmRsZSh0aW1lUlIsIGNhbmRsZS5jbG9zZSwgY2FuZGxlLmNsb3NlLCBjYW5kbGUuY2xvc2UsIGNhbmRsZS5jbG9zZSwgdHJ1ZSk7CiAgICAgICAgICAgIGNhbmRsZTIuY2xvc2VUbyA9IGNhbmRsZTIuY2xvc2U7CiAgICAgICAgICAgIGNhbmRsZTIub3BlblRvID0gY2FuZGxlMi5vcGVuOwogICAgICAgICAgICBjYW5kbGUyLm1pblRvID0gY2FuZGxlMi5taW47CiAgICAgICAgICAgIGNhbmRsZTIubWF4VG8gPSBjYW5kbGUyLm1heDsKICAgICAgICAgICAgY2FuZGxlMi5hbmltYXRpb24gPSAxMjA7CiAgICAgICAgICAgIHRoaXMuYWRkQ2FuZGxlcyhjYW5kbGUyKTsKICAgICAgICB9CiAgICAgICAgdGhpcy5tYWluQ2FudmFzQ3R4LmNsZWFyUmVjdCgwLCAwLCB0aGlzLndpZHRoLCB0aGlzLmhlaWdodCk7CgogICAgICAgIHRoaXMuZHJhd1ByaWNlcygpOwogICAgICAgIHRoaXMuZHJhd1RpbWVzKCk7CiAgICAgICAgdGhpcy5kcmF3Q2FuZGxlcygpOwoKICAgICAgICBpZiAodGhpcy5wcmVwYXJlZE9yZGVyICYmIHRoaXMucHJlcGFyZWRPcmRlci50aW1lRnJhbWUgJiYgKCF0aGlzLnByZXBhcmVkT3JkZXIub3B0aW9uRW5kIHx8IHRoaXMubm93ID49IHRoaXMucHJlcGFyZWRPcmRlci5vcHRpb25FbmQpKSB7CiAgICAgICAgICAgIC8vaWYoIXRoaXMub3B0aW9uRW5kKSB7CiAgICAgICAgICAgIHRoaXMucHJlcGFyZWRPcmRlci5vcHRpb25PZmYgPSB0aGlzLm5vdyArIHRoaXMucHJlcGFyZWRPcmRlci50aW1lRnJhbWU7CiAgICAgICAgICAgIHRoaXMucHJlcGFyZWRPcmRlci5vcHRpb25PZmYgPSBNYXRoLnJvdW5kKHRoaXMucHJlcGFyZWRPcmRlci5vcHRpb25PZmYgLyAxMDAwKSAqIDEwMDA7CiAgICAgICAgICAgIHRoaXMucHJlcGFyZWRPcmRlci5vcHRpb25FbmQgPSBNYXRoLnJvdW5kKHRoaXMubm93ICsgdGhpcy5wcmVwYXJlZE9yZGVyLnRpbWVGcmFtZSAtIHRoaXMucHJlcGFyZWRPcmRlci50aW1lT2ZmKTsKICAgICAgICAgICAgdGhpcy5wcmVwYXJlZE9yZGVyLm9wdGlvbkVuZCA9IE1hdGgucm91bmQodGhpcy5wcmVwYXJlZE9yZGVyLm9wdGlvbkVuZCAvIDEwMDApICogMTAwMDsKICAgICAgICB9CgogICAgICAgIHRoaXMuZW5kTGluZS5kcmF3KHRoaXMucHJlcGFyZWRPcmRlci5vcHRpb25FbmQpOwoKICAgICAgICB2YXIgdGV4dCA9IG1vbWVudCh0aGlzLnByZXBhcmVkT3JkZXIub3B0aW9uRW5kIC0gRGF0ZS5ub3coKSkudXRjKCkuZm9ybWF0KHRoaXMuY29uZmlnLmNsb2NrLmZvcm1hdCk7CiAgICAgICAgdGhpcy5tYWluQ2FudmFzQ3R4LmZvbnQgPSB0aGlzLmNvbmZpZy5jbG9jay5mb250OwogICAgICAgIHZhciB3MSA9IHRoaXMubWFpbkNhbnZhc0N0eC5tZWFzdXJlVGV4dCh0ZXh0KS53aWR0aDsKICAgICAgICB0aGlzLm1haW5DYW52YXNDdHguZmlsbFN0eWxlID0gdGhpcy5jb25maWcuY2hhcnQuYmc7CgogICAgICAgIHRoaXMubWFpbkNhbnZhc0N0eC5maWxsUmVjdCh0aGlzLndpZHRoIC8gMiAtIDIgLSB3MSAvIDIsIDAsIHcxLCAzMCk7CgogICAgICAgIHRoaXMubWFpbkNhbnZhc0N0eC5iZWdpblBhdGgoKTsKICAgICAgICB0aGlzLm1haW5DYW52YXNDdHguZmlsbFN0eWxlID0gdGhpcy5jb25maWcuY2xvY2suY29sb3I7CiAgICAgICAgdGhpcy5tYWluQ2FudmFzQ3R4LnRleHRBbGlnbiA9ICJjZW50ZXIiOwogICAgICAgIHRoaXMubWFpbkNhbnZhc0N0eC5maWxsVGV4dCh0ZXh0LCB0aGlzLndpZHRoIC8gMiAtIDIsIDMwKTsKCiAgICAgICAgdmFyIG9yZGVyQnVmID0gW107CiAgICAgICAgdmFyIG9yZGVyID0gdGhpcy5vcmRlcnMucG9wKCk7CiAgICAgICAgdmFyIGNsb3NlZE9yZCA9IFtdOwogICAgICAgIHdoaWxlIChvcmRlcikgewogICAgICAgICAgICBpZiAodGhpcy5ub3cgPCBvcmRlci5lbmRUaW1lKSB7CiAgICAgICAgICAgICAgICBvcmRlckJ1Zi51bnNoaWZ0KG9yZGVyKTsKICAgICAgICAgICAgICAgIHZhciBjb2xvcjsKICAgICAgICAgICAgICAgIGlmIChvcmRlci5jYWxsKSB7CiAgICAgICAgICAgICAgICAgICAgY29sb3IgPSB0aGlzLmNvbmZpZy5vcmRlci5jYWxsLmNvbG9yOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBjb2xvciA9IHRoaXMuY29uZmlnLm9yZGVyLnB1dC5jb2xvcjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIG5ldyBFbmRMaW5lKHRoaXMubWFpbkNhbnZhc0N0eCwgdGhpcywgewogICAgICAgICAgICAgICAgICAgIGxpbmVTdHlsZTogY29sb3IsCiAgICAgICAgICAgICAgICAgICAgYmdTdHlsZTogdGhpcy5jb25maWcudGltZUxpbmUuYmcsCiAgICAgICAgICAgICAgICAgICAgbGluZURhc2g6IHRoaXMuY29uZmlnLm9yZGVyLmxpbmVEYXNoLAogICAgICAgICAgICAgICAgfSkuZHJhdyhvcmRlci5lbmRUaW1lLCBvcmRlci5vcGVuUHJpY2UudG9GaXhlZCg1KSwgb3JkZXIuY2FsbCwgb3JkZXIuc3RhcnRUaW1lLCBvcmRlci5lbmRUaW1lLCBvcmRlci5hbW91bnQudG9GaXhlZCgyKSArICcgJyArIG9yZGVyLmN1cnJlbmN5KTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNsb3NlZE9yZC5wdXNoKG9yZGVyKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBvcmRlciA9IHRoaXMub3JkZXJzLnBvcCgpOwogICAgICAgIH0KICAgICAgICBpZiAoY2xvc2VkT3JkLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgdmFyIGNwID0gdGhpcy5jYW5kbGVzWzBdOwogICAgICAgICAgICBvcmRlciA9IGNsb3NlZE9yZC5wb3AoKTsKICAgICAgICAgICAgdmFyIHdpbiA9IDA7CiAgICAgICAgICAgIHdoaWxlIChvcmRlcikgewogICAgICAgICAgICAgICAgaWYgKG9yZGVyLmNhbGwgJiYgb3JkZXIub3BlblByaWNlIDwgY3AuY2xvc2UpIHsKICAgICAgICAgICAgICAgICAgICB3aW4gKz0gOTsKICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIW9yZGVyLmNhbGwgJiYgb3JkZXIub3BlblByaWNlID4gY3AuY2xvc2UpIHsKICAgICAgICAgICAgICAgICAgICB3aW4gKz0gOTsKICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAob3JkZXIub3BlblByaWNlID09PSBjcC5jbG9zZSkgewogICAgICAgICAgICAgICAgICAgIHdpbiArPSAwOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICB3aW4gLT0gMTA7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBvcmRlciA9IGNsb3NlZE9yZC5wb3AoKTsKICAgICAgICAgICAgfQogICAgICAgICAgICB2YXIgZTEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2hhcnQtaG9sZGVyIik7CgogICAgICAgICAgICB2YXIgZTIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2luX2FtdCIpOwogICAgICAgICAgICBlMi5pbm5lckhUTUwgPSB3aW47CgogICAgICAgICAgICBpZiAod2luID49IDApIHsKICAgICAgICAgICAgICAgIGUxLmNsYXNzTmFtZSArPSAnIGRlYWwtZmluaXNoZWQnOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgZTEuY2xhc3NOYW1lICs9ICcgZGVhbC1maW5pc2hlZCBsb29zZSc7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG9yZGVyID0gdGhpcy50b09yZGVyc0Nsb3NlZC5wb3AoKTsKICAgICAgICB3aGlsZSAob3JkZXIpIHsKICAgICAgICAgICAgdGhpcy5vcmRlcnNDbG9zZWRbb3JkZXIuZW5kVGltZV0uY291bnQrKzsKICAgICAgICAgICAgdGhpcy5vcmRlcnNDbG9zZWRbb3JkZXIuZW5kVGltZV0uYW1vdW50ICs9IG9yZGVyLnByb2ZpdDsKICAgICAgICAgICAgb3JkZXIgPSB0aGlzLnRvT3JkZXJzQ2xvc2VkLnBvcCgpOwogICAgICAgIH0KICAgICAgICBmb3IgKHZhciBvcmRlcklkIGluIHRoaXMub3JkZXJzQ2xvc2VkKSB7CiAgICAgICAgICAgIGlmICh0aGlzLm9yZGVyc0Nsb3NlZC5oYXNPd25Qcm9wZXJ0eShvcmRlcklkKSkgewogICAgICAgICAgICAgICAgdGhpcy5vcmRlcnNDbG9zZWRbb3JkZXJJZF0uZHJhdygpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB0aGlzLm9yZGVycyA9IG9yZGVyQnVmOwoKICAgICAgICB0aGlzLm1vdXNlUG9zUHJpY2UuZHJhdyhjYW5kbGUuY2xvc2UsIHRoaXMuZ2V0WShjYW5kbGUuY2xvc2UpLCB0aGlzLmNvbmZpZy5jdXJyZW50UHJpY2UuYmcpOwoKICAgICAgICBpZiAodGhpcy5tb3VzZVkgPiAxMCAmJiB0aGlzLm1vdXNlWSA8IHRoaXMuaGVpZ2h0IC0gMTAgJiYgdGhpcy5tb3VzZVggPiAxMCAmJiB0aGlzLm1vdXNlWCA8IHRoaXMud2lkdGggLSAxMCkgewogICAgICAgICAgICB0aGlzLm1vdXNlUG9zUHJpY2UuZHJhdyh0aGlzLmdldFByaWNlKHRoaXMubW91c2VZKSwgdGhpcy5tb3VzZVksIHRoaXMuY29uZmlnLm1vdXNlUG9zLmJnKTsKICAgICAgICAgICAgdGhpcy5tb3VzZVBvc1RpbWUuZHJhdyh0aGlzLmdldFRpbWUodGhpcy5tb3VzZVgpKTsKICAgICAgICB9CiAgICAgICAgaWYgKCF0aGlzLmRyYWdnaW5nICYmIE1hdGguYWJzKHRoaXMuc3BlZWQpID4gMikgewogICAgICAgICAgICB0aGlzLnNwZWVkIC09IHRoaXMuc3BlZWQgLyAyMDsKICAgICAgICAgICAgdGhpcy5zY3JvbGxYKHRoaXMuc3BlZWQpOwogICAgICAgIH0KCiAgICAgICAgdGhpcy5jbGljayA9IHRoaXMudG9DbGljazsKICAgICAgICB0aGlzLnRvQ2xpY2sgPSBbXTsKICAgIH07CiAgICBDaGFydC5wcm90b3R5cGUuZHJhd1ByaWNlcyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgY3R4ID0gdGhpcy5tYWluQ2FudmFzQ3R4OwogICAgICAgIGN0eC5zYXZlKCk7CiAgICAgICAgdmFyIHN0ZXAgPSA3NTsKICAgICAgICBjdHguZm9udCA9IHRoaXMuY29uZmlnLnByaWNlTGluZS50ZXh0LmZvbnQ7CiAgICAgICAgZm9yICh2YXIgcHkgPSBzdGVwOyBweSA8IHRoaXMuaGVpZ2h0OyBweSArPSBzdGVwKSB7CiAgICAgICAgICAgIGN0eC5iZWdpblBhdGgoKTsKICAgICAgICAgICAgY3R4Lm1vdmVUbygwLCBweSk7CiAgICAgICAgICAgIGN0eC5saW5lVG8odGhpcy53aWR0aCwgcHkpOwogICAgICAgICAgICBjdHguc3Ryb2tlU3R5bGUgPSB0aGlzLmNvbmZpZy5wcmljZUxpbmUubGluZS5jb2xvcjsKICAgICAgICAgICAgY3R4LmxpbmVXaWR0aCA9IDE7CiAgICAgICAgICAgIGN0eC5zZXRMaW5lRGFzaCh0aGlzLmNvbmZpZy5wcmljZUxpbmUubGluZS5saW5lRGFzaCk7CiAgICAgICAgICAgIGN0eC5zdHJva2UoKTsKICAgICAgICAgICAgY3R4LmJlZ2luUGF0aCgpOwogICAgICAgICAgICBjdHguZmlsbFN0eWxlID0gdGhpcy5jb25maWcucHJpY2VMaW5lLnRleHQuY29sb3I7CiAgICAgICAgICAgIGN0eC50ZXh0QWxpZ24gPSAicmlnaHQiOwogICAgICAgICAgICBjdHguZmlsbFRleHQodGhpcy5nZXRQcmljZShweSkudG9GaXhlZCg1KSwgdGhpcy53aWR0aCAtIDEwLCBweSAtIDUpOwogICAgICAgIH0KICAgICAgICBjdHgucmVzdG9yZSgpOwogICAgfTsKICAgIENoYXJ0LnByb3RvdHlwZS5kcmF3VGltZXMgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIGN0eCA9IHRoaXMubWFpbkNhbnZhc0N0eDsKICAgICAgICB2YXIgc3RlcCA9IDc1OwogICAgICAgIGN0eC5zYXZlKCk7CiAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHRoaXMuY29uZmlnLnRpbWVMaW5lLmJnOwogICAgICAgIGN0eC5tb3ZlVG8oMCwgdGhpcy5oZWlnaHQpOwogICAgICAgIGN0eC5saW5lVG8oMCwgdGhpcy5oZWlnaHQgLSAyMCk7CiAgICAgICAgY3R4LmxpbmVUbyh0aGlzLndpZHRoLCB0aGlzLmhlaWdodCAtIDIwKTsKICAgICAgICBjdHgubGluZVRvKHRoaXMud2lkdGgsIHRoaXMuaGVpZ2h0KTsKICAgICAgICBjdHgubGluZVRvKDAsIHRoaXMuaGVpZ2h0KTsKICAgICAgICBjdHguZmlsbCgpOwoKICAgICAgICBmb3IgKHZhciBweCA9IHN0ZXA7IHB4IDwgdGhpcy53aWR0aDsgcHggKz0gc3RlcCkgewogICAgICAgICAgICBjdHguYmVnaW5QYXRoKCk7CiAgICAgICAgICAgIGN0eC5tb3ZlVG8ocHgsIDIwKTsKICAgICAgICAgICAgY3R4LmxpbmVUbyhweCwgdGhpcy5oZWlnaHQgLSAyMCk7CiAgICAgICAgICAgIGN0eC5zdHJva2VTdHlsZSA9IHRoaXMuY29uZmlnLnRpbWVMaW5lLmxpbmUuY29sb3I7CiAgICAgICAgICAgIGN0eC5saW5lV2lkdGggPSAxOwogICAgICAgICAgICBjdHguc2V0TGluZURhc2godGhpcy5jb25maWcudGltZUxpbmUubGluZS5saW5lRGFzaCk7CiAgICAgICAgICAgIGN0eC5zdHJva2UoKTsKICAgICAgICAgICAgY3R4LmJlZ2luUGF0aCgpOwogICAgICAgICAgICBjdHguZm9udCA9IHRoaXMuY29uZmlnLnRpbWVMaW5lLnRleHQuZm9udDsKICAgICAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHRoaXMuY29uZmlnLnRpbWVMaW5lLnRleHQuY29sb3I7CiAgICAgICAgICAgIGN0eC50ZXh0QWxpZ24gPSAiY2VudGVyIjsKICAgICAgICAgICAgY3R4LmZpbGxUZXh0KG1vbWVudCh0aGlzLmdldFRpbWUocHgpKS51dGMoKS5mb3JtYXQodGhpcy5jb25maWcudGltZUxpbmUudGV4dC5mb3JtYXQpLCBweCwgdGhpcy5oZWlnaHQgLSA1KTsKICAgICAgICB9CiAgICAgICAgY3R4LnJlc3RvcmUoKTsKICAgIH07CgogICAgQ2hhcnQucHJvdG90eXBlLmRyYXdDYW5kbGVzID0gZnVuY3Rpb24gKCkgewogICAgICAgIGlmICghdGhpcy5tYWluQ2FudmFzQ3R4KSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgLy92YXIgY2FuZGxlcyA9IHRoaXMuY2FuZGxlczsKICAgICAgICB0aGlzLmNhbmRsZXNTaG93ID0gW107CiAgICAgICAgZm9yICh2YXIgY2kgPSB0aGlzLmNhbmRsZXNPZmZzZXQ7IGNpID49IHRoaXMuY2FuZGxlc09mZnNldCAtIHRoaXMuY2FuZGxlc1BlclBhZ2UgJiYgY2kgPj0gMDsgY2ktLSkgewogICAgICAgICAgICB2YXIgY2FuZGxlMiA9IHRoaXMuY2FuZGxlc1tjaV07CiAgICAgICAgICAgIGlmIChjYW5kbGUyKSB7CiAgICAgICAgICAgICAgICB0aGlzLmNhbmRsZXNTaG93LnB1c2goY2FuZGxlMikKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHRoaXMuY2FuZGxlc1Nob3cucHVzaCh0aGlzLmNhbmRsZXNbdGhpcy5jYW5kbGVzLmxlbmd0aCAtIDFdKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAodGhpcy5jYW5kbGVzU2hvdy5sZW5ndGggPT0gMCkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICB2YXIgbWluUHJpY2UgPSB0aGlzLmNhbmRsZXNTaG93WzBdLm1pbjsKICAgICAgICB2YXIgbWF4UHJpY2UgPSB0aGlzLmNhbmRsZXNTaG93WzBdLm1heDsKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuY2FuZGxlc1Nob3cubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgdmFyIGNhbmRsZSA9IHRoaXMuY2FuZGxlc1Nob3dbaV07CiAgICAgICAgICAgIGNhbmRsZS5kcmF3KHRoaXMubWFpbkNhbnZhc0N0eCwgdGhpcywgaSwgdGhpcy5jYW5kbGVzU2hvdy5sZW5ndGgpOwogICAgICAgICAgICBpZiAobWluUHJpY2UgPiBjYW5kbGUubWluKSB7CiAgICAgICAgICAgICAgICBtaW5QcmljZSA9IGNhbmRsZS5taW47CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKG1heFByaWNlIDwgY2FuZGxlLm1heCkgewogICAgICAgICAgICAgICAgbWF4UHJpY2UgPSBjYW5kbGUubWF4OwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHZhciBsQ2FuZGxlID0gdGhpcy5jYW5kbGVzU2hvd1t0aGlzLmNhbmRsZXNTaG93Lmxlbmd0aCAtIDFdOwogICAgICAgIGlmICh0aGlzLmxhc3REcmFnICsgMjAwMCA8IHRoaXMubm93CiAgICAgICAgICAgICAgICAmJiBsQ2FuZGxlLnBvc1ggPiB0aGlzLndpZHRoICogMC43NSkgewogICAgICAgICAgICBpZiAodGhpcy5jYW5kbGVzT2Zmc2V0IDwgdGhpcy53aWR0aCAvICh0aGlzLmNhbmRsZXNGcmVlU3BhY2UgKiAyICsgdGhpcy5jYW5kbGVXaWR0aCkpIHsKICAgICAgICAgICAgICAgIHRoaXMubGFzdERyYWcgPSB0aGlzLm5vdzsKICAgICAgICAgICAgICAgIHRoaXMuc3BlZWQgLT0gTWF0aC5hYnMobENhbmRsZS5wb3NYIC0gdGhpcy53aWR0aCAqIDAuNSkgLyAodGhpcy5jYW5kbGVXaWR0aCArIHRoaXMuY2FuZGxlc0ZyZWVTcGFjZSAqIDIpOwogICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMubm93IC0gdGhpcy5sYXN0RHJhdyA+IDEwMDApIHsKICAgICAgICAgICAgICAgIHRoaXMubGFzdERyYWcgPSB0aGlzLm5vdzsKICAgICAgICAgICAgICAgIHRoaXMuY2FuZGxlc09mZnNldCA9IDU7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgdGhpcy5sYXN0RHJhdyA9IHRoaXMubm93OwoKICAgICAgICB2YXIgZGlmID0gbWF4UHJpY2UgLSBtaW5QcmljZTsKICAgICAgICBpZiAoZGlmID09IDApIHsKICAgICAgICAgICAgdmFyIHNwbGl0ID0gbWF4UHJpY2UudG9TdHJpbmcoKS5zcGxpdCgnLicpOwogICAgICAgICAgICBpZiAoc3BsaXQubGVuZ3RoID09IDIpIHsKICAgICAgICAgICAgICAgIGRpZiA9IE1hdGgucG93KDAuMSwgc3BsaXRbMV0ubGVuZ3RoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGRpZiA9IDE7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgbWF4UHJpY2UgPSBtYXhQcmljZSArIGRpZiAqIDAuMjsKICAgICAgICBtaW5QcmljZSA9IG1pblByaWNlIC0gZGlmICogMC4xNTsKICAgICAgICBpZiAodGhpcy5taW5QcmljZSAmJiB0aGlzLm1heFByaWNlKSB7CiAgICAgICAgICAgIHRoaXMubWluUHJpY2UgLT0gKHRoaXMubWluUHJpY2UgLSBtaW5QcmljZSkgLyA1OwogICAgICAgICAgICB0aGlzLm1heFByaWNlIC09ICh0aGlzLm1heFByaWNlIC0gbWF4UHJpY2UpIC8gNTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0aGlzLm1pblByaWNlID0gbWluUHJpY2U7CiAgICAgICAgICAgIHRoaXMubWF4UHJpY2UgPSBtYXhQcmljZTsKICAgICAgICB9CiAgICAgICAgZGlmID0gdGhpcy5tYXhQcmljZSAtIHRoaXMubWluUHJpY2U7CgoKICAgICAgICB0aGlzLnByaWNlUHkgPSB0aGlzLmNsaWVudEhlaWdodCAvIGRpZjsKICAgICAgICB0aGlzLnByaWNlT2Zmc2V0ID0gdGhpcy5taW5QcmljZSAqIHRoaXMucHJpY2VQeTsKICAgIH07CiAgICBDaGFydC5wcm90b3R5cGUucmVnQ2xpY2sgPSBmdW5jdGlvbiAoY2xpY2tNZSkgewogICAgICAgIHRoaXMudG9DbGljay5wdXNoKGNsaWNrTWUpOwogICAgfTsKICAgIENoYXJ0LnByb3RvdHlwZS5vblRpY2sgPSBmdW5jdGlvbiAodGljaykgewogICAgICAgIHZhciBjYW5kbGUgPSB0aGlzLmNhbmRsZXNbMF07CiAgICAgICAgaWYgKGNhbmRsZSAmJiBjYW5kbGUudGltZUlkID09IE1hdGguZmxvb3IodGljay50aW1lSWQgLyAxMDAwKSAqIDEwMDApIHsKICAgICAgICAgICAgaWYgKGNhbmRsZS5mYWtlKSB7CiAgICAgICAgICAgICAgICBjYW5kbGUuZmFrZSA9IGZhbHNlOwogICAgICAgICAgICAgICAgY2FuZGxlLm9wZW4gPSB0aWNrLmF2ZzsKICAgICAgICAgICAgICAgIGNhbmRsZS5vcGVuVG8gPSB0aWNrLmF2ZzsKICAgICAgICAgICAgICAgIGNhbmRsZS5taW5UbyA9IHRpY2suYXZnOwogICAgICAgICAgICAgICAgY2FuZGxlLm1heFRvID0gdGljay5hdmc7CiAgICAgICAgICAgICAgICBjYW5kbGUuY2xvc2VUbyA9IHRpY2suYXZnOwogICAgICAgICAgICAgICAgY2FuZGxlLmFuaW1hdGlvbiA9IDE7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY2FuZGxlLmFuaW1hdGlvbiA9IDE7CiAgICAgICAgICAgIGNhbmRsZS5jbG9zZVRvID0gdGljay5hdmc7CiAgICAgICAgICAgIGlmIChjYW5kbGUubWF4IDwgdGljay5hdmcpIHsKICAgICAgICAgICAgICAgIGNhbmRsZS5tYXhUbyA9IHRpY2suYXZnOwogICAgICAgICAgICAgICAgY2FuZGxlLm1heCA9IHRpY2suYXZnOwogICAgICAgICAgICB9IGVsc2UgaWYgKGNhbmRsZS5taW4gPiB0aWNrLmF2ZykgewogICAgICAgICAgICAgICAgY2FuZGxlLm1pblRvID0gdGljay5hdmc7CiAgICAgICAgICAgICAgICBjYW5kbGUubWluID0gdGljay5hdmc7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9OwogICAgQ2hhcnQucHJvdG90eXBlLl9hZGRDYW5kbGUgPSBmdW5jdGlvbiAoY2FuZGxlKSB7CiAgICAgICAgdmFyIGNuOwogICAgICAgIGlmIChjYW5kbGUgaW5zdGFuY2VvZiBDYW5kbGUpIHsKICAgICAgICAgICAgY24gPSBjYW5kbGU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY24gPSBuZXcgQ2FuZGxlKGNhbmRsZS50aW1lSWQsIGNhbmRsZS5vcGVuLCBjYW5kbGUuY2xvc2UsIGNhbmRsZS5taW4sIGNhbmRsZS5tYXgpOwogICAgICAgIH0KICAgICAgICBpZiAodGhpcy5jYW5kbGVzLmxlbmd0aCA9PSAwKSB7CiAgICAgICAgICAgIHRoaXMuY2FuZGxlcy5wdXNoKGNuKTsKICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY2FuZGxlc1swXS50aW1lSWQgPCBjbi50aW1lSWQpIHsKICAgICAgICAgICAgdGhpcy5jYW5kbGVzLnVuc2hpZnQoY24pOwogICAgICAgICAgICB0aGlzLmNhbmRsZXNPZmZzZXQrKzsKICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY2FuZGxlc1t0aGlzLmNhbmRsZXMubGVuZ3RoIC0gMV0udGltZUlkID4gY24udGltZUlkKSB7CiAgICAgICAgICAgIHRoaXMuY2FuZGxlcy5wdXNoKGNuKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDMwOyBpKyspIHsKICAgICAgICAgICAgICAgIGlmICh0aGlzLmNhbmRsZXNbaV0gJiYgdGhpcy5jYW5kbGVzW2ldLnRpbWVJZCA9PSBjbi50aW1lSWQpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgb2xkID0gdGhpcy5jYW5kbGVzW2ldOwoKICAgICAgICAgICAgICAgICAgICBjbi5hbmltYXRpb24gPSAyMDA7CiAgICAgICAgICAgICAgICAgICAgY24ubWluVG8gPSBjbi5taW47CiAgICAgICAgICAgICAgICAgICAgY24ubWF4VG8gPSBjbi5tYXg7CiAgICAgICAgICAgICAgICAgICAgY24ub3BlblRvID0gY24ub3BlbjsKICAgICAgICAgICAgICAgICAgICBjbi5jbG9zZVRvID0gY24uY2xvc2U7CiAgICAgICAgICAgICAgICAgICAgY24uY2xvc2UgPSBvbGQuY2xvc2U7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYW5kbGVzW2ldID0gY247CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9OwogICAgQ2hhcnQucHJvdG90eXBlLmFkZENhbmRsZXMgPSBmdW5jdGlvbiAoY2FuZGxlcykgewogICAgICAgIHZhciAkdGhpcyA9IHRoaXM7CiAgICAgICAgaWYgKGNhbmRsZXMgaW5zdGFuY2VvZiBBcnJheSkgewogICAgICAgICAgICBjYW5kbGVzLmZvckVhY2goZnVuY3Rpb24gKGNhbmRsZSkgewogICAgICAgICAgICAgICAgJHRoaXMuX2FkZENhbmRsZShjYW5kbGUpOwogICAgICAgICAgICB9KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkdGhpcy5fYWRkQ2FuZGxlKGNhbmRsZXMpOwogICAgICAgIH0KICAgIH07CgoKICAgIGZ1bmN0aW9uIFRpbWVMaW5lKGN0eCwgY2hhcnQpIHsKICAgICAgICB0aGlzLmN0eCA9IGN0eDsKICAgICAgICB0aGlzLmNoYXJ0ID0gY2hhcnQ7CiAgICB9CiAgICBUaW1lTGluZS5wcm90b3R5cGUuZHJhdyA9IGZ1bmN0aW9uICh0aW1lKSB7CiAgICAgICAgdGhpcy5jdHguYmVnaW5QYXRoKCk7CiAgICAgICAgdGhpcy5jdHguc3Ryb2tlU3R5bGUgPSB0aGlzLmNoYXJ0LmNvbmZpZy5jdXJyZW50VGltZS5saW5lLmNvbG9yOwogICAgICAgIHRoaXMuY3R4LmxpbmVXaWR0aCA9IDE7CgogICAgICAgIHRoaXMuY3R4Lm1vdmVUbyh0aGlzLmNoYXJ0Lm1vdXNlWCwgMCk7CiAgICAgICAgdGhpcy5jdHgubGluZVRvKHRoaXMuY2hhcnQubW91c2VYLCB0aGlzLmNoYXJ0LmhlaWdodCk7CiAgICAgICAgdGhpcy5jdHguc3Ryb2tlKCk7CgogICAgICAgIHRoaXMuY3R4LmJlZ2luUGF0aCgpOwogICAgICAgIHZhciBwYWdnaW5nID0gMTA7CiAgICAgICAgdmFyIGhlaWdodCA9IDIwOwoKICAgICAgICB2YXIgdGV4dCA9IG1vbWVudCh0aW1lKS51dGMoKS5mb3JtYXQodGhpcy5jaGFydC5jb25maWcuY3VycmVudFRpbWUudGV4dC5mb3JtYXQpOwogICAgICAgIHZhciB3MSA9IHRoaXMuY3R4Lm1lYXN1cmVUZXh0KHRleHQpLndpZHRoOwogICAgICAgIHRoaXMuY3R4LmJlZ2luUGF0aCgpOwogICAgICAgIHRoaXMuY3R4LmZpbGxTdHlsZSA9IHRoaXMuY2hhcnQuY29uZmlnLmN1cnJlbnRUaW1lLnRleHQuYmc7CiAgICAgICAgdGhpcy5jdHguZmlsbFJlY3QodGhpcy5jaGFydC5tb3VzZVggLSB3MSAvIDIgLSBwYWdnaW5nLCB0aGlzLmNoYXJ0LmhlaWdodCAtIGhlaWdodCwgdzEgKyBwYWdnaW5nICsgcGFnZ2luZywgaGVpZ2h0KTsKCiAgICAgICAgdGhpcy5jdHguZmlsbFN0eWxlID0gdGhpcy5jaGFydC5jb25maWcuY3VycmVudFRpbWUudGV4dC5jb2xvcjsKCgogICAgICAgIHRoaXMuY3R4LmZvbnQgPSB0aGlzLmNoYXJ0LmNvbmZpZy5jdXJyZW50VGltZS50ZXh0LmZvbnQ7CiAgICAgICAgdGhpcy5jdHgudGV4dEFsaWduID0gImNlbnRlciI7CiAgICAgICAgdGhpcy5jdHguZmlsbFRleHQodGV4dCwgdGhpcy5jaGFydC5tb3VzZVgsIHRoaXMuY2hhcnQuaGVpZ2h0IC0gNSk7CiAgICB9OwoKICAgIGZ1bmN0aW9uIFByaWNlTGluZShjdHgsIGNoYXJ0KSB7CiAgICAgICAgdGhpcy5jdHggPSBjdHg7CiAgICAgICAgdGhpcy5jaGFydCA9IGNoYXJ0OwogICAgfQoKICAgIFByaWNlTGluZS5wcm90b3R5cGUuZHJhdyA9IGZ1bmN0aW9uIChwcmljZSwgYXZnUHgsIGJnQ29sb3IpIHsKICAgICAgICAvL3ZhciBhdmdQeCA9IHRoaXMuY2hhcnQuZ2V0WShwcmljZSk7CiAgICAgICAgLy92YXIgYXZnUHggPSB0aGlzLmNoYXJ0Lm1vdXNlWTsKICAgICAgICB0aGlzLmN0eC5iZWdpblBhdGgoKTsKICAgICAgICB0aGlzLmN0eC5zdHJva2VTdHlsZSA9IGJnQ29sb3I7CiAgICAgICAgdGhpcy5jdHgubGluZVdpZHRoID0gMTsKICAgICAgICB0aGlzLmN0eC5tb3ZlVG8oMCwgYXZnUHgpOwogICAgICAgIHRoaXMuY3R4LmxpbmVUbyh0aGlzLmNoYXJ0LndpZHRoIC0gMTAsIGF2Z1B4KTsKICAgICAgICB0aGlzLmN0eC5zdHJva2UoKTsKCiAgICAgICAgdGhpcy5jdHgubW92ZVRvKHRoaXMuY2hhcnQud2lkdGggLSA5MCwgYXZnUHgpOwovLyAgICAgICAgdGhpcy5jdHgubGluZVRvKHRoaXMuY2hhcnQud2lkdGggLSA4NSwgYXZnUHggKyA1KTsKICAgICAgICB0aGlzLmN0eC5saW5lVG8odGhpcy5jaGFydC53aWR0aCAtIDg1LCBhdmdQeCArIDEyKTsKICAgICAgICB0aGlzLmN0eC5saW5lVG8odGhpcy5jaGFydC53aWR0aCAtIDEwLCBhdmdQeCArIDEyKTsKICAgICAgICB0aGlzLmN0eC5saW5lVG8odGhpcy5jaGFydC53aWR0aCAtIDEwLCBhdmdQeCAtIDEyKTsKICAgICAgICB0aGlzLmN0eC5saW5lVG8odGhpcy5jaGFydC53aWR0aCAtIDg1LCBhdmdQeCAtIDEyKTsKLy8gICAgICAgIHRoaXMuY3R4LmxpbmVUbyh0aGlzLmNoYXJ0LndpZHRoIC0gODUsIGF2Z1B4IC0gNSk7CiAgICAgICAgdGhpcy5jdHguZmlsbFN0eWxlID0gYmdDb2xvcjsKICAgICAgICB0aGlzLmN0eC5maWxsKCk7CgogICAgICAgIHRoaXMuY3R4LmZvbnQgPSB0aGlzLmNoYXJ0LmNvbmZpZy5jdXJyZW50UHJpY2UudGV4dC5mb250OwogICAgICAgIHRoaXMuY3R4LmZpbGxTdHlsZSA9IHRoaXMuY2hhcnQuY29uZmlnLmN1cnJlbnRQcmljZS50ZXh0LmNvbG9yOwogICAgICAgIHRoaXMuY3R4LnRleHRBbGlnbiA9ICJsZWZ0IjsKICAgICAgICB0aGlzLmN0eC5maWxsVGV4dChwcmljZS50b0ZpeGVkKDUpLCB0aGlzLmNoYXJ0LndpZHRoIC0gODAsIGF2Z1B4ICsgNCk7CiAgICB9OwogICAgZnVuY3Rpb24gRW5kTGluZShjdHgsIGNoYXJ0LCBjb25maWcpIHsKICAgICAgICB0aGlzLmN0eCA9IGN0eDsKICAgICAgICB0aGlzLmNoYXJ0ID0gY2hhcnQ7CiAgICAgICAgaWYgKGNvbmZpZykgewogICAgICAgICAgICBpZiAoY29uZmlnLmJnU3R5bGUpIHsKCiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGNvbmZpZy5iZ1N0eWxlKSB7CiAgICAgICAgICAgICAgICB0aGlzLmJnU3R5bGUgPSBjb25maWcuYmdTdHlsZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoY29uZmlnLmxpbmVEYXNoKSB7CiAgICAgICAgICAgICAgICB0aGlzLmxpbmVEYXNoID0gY29uZmlnLmxpbmVEYXNoCiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGNvbmZpZy5saW5lU3R5bGUpIHsKICAgICAgICAgICAgICAgIHRoaXMubGluZVN0eWxlID0gY29uZmlnLmxpbmVTdHlsZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoY29uZmlnLmxpbmVOYW1lKSB7CiAgICAgICAgICAgICAgICB0aGlzLmxpbmVOYW1lID0gY29uZmlnLmxpbmVOYW1lOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChjb25maWcuZGlzcGxheVRpbWUpIHsKICAgICAgICAgICAgICAgIHRoaXMuZGlzcGxheVRpbWUgPSBjb25maWcuZGlzcGxheVRpbWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBFbmRMaW5lLnByb3RvdHlwZS5kcmF3ID0gZnVuY3Rpb24gKHRpbWUsIHByaWNlLCBjYWxsLCBzdGFydFRpbWUsIGVuZFRpbWUsIGFtb3VudCkgewogICAgICAgIHRoaXMuY3R4LnNhdmUoKTsKICAgICAgICB0aGlzLmN0eC5iZWdpblBhdGgoKTsKICAgICAgICB2YXIgdGltZVRvQ2xvc2UgPSB0aW1lOwogICAgICAgIHZhciB0VmFsMiA9IHRoaXMuY2hhcnQuZ2V0WCh0aW1lKTsKICAgICAgICB0aGlzLmN0eC5tb3ZlVG8odFZhbDIsIDApOwogICAgICAgIHRoaXMuY3R4LmxpbmVUbyh0VmFsMiwgdGhpcy5jaGFydC5oZWlnaHQgLSAyMCk7CiAgICAgICAgdGhpcy5jdHguc3Ryb2tlU3R5bGUgPSB0aGlzLmxpbmVTdHlsZTsKICAgICAgICB0aGlzLmN0eC5saW5lV2lkdGggPSAxOwogICAgICAgIGlmICh0aGlzLmxpbmVEYXNoKSB7CiAgICAgICAgICAgIHRoaXMuY3R4LnNldExpbmVEYXNoKHRoaXMubGluZURhc2gpOwogICAgICAgIH0KCiAgICAgICAgdGhpcy5jdHguc3Ryb2tlKCk7CiAgICAgICAgaWYgKHRoaXMubGluZU5hbWUpIHsKICAgICAgICAgICAgdGhpcy5jdHguZHJhd0ltYWdlKHRoaXMubGluZU5hbWUsIHRWYWwyIC0gMjUsIHRoaXMuY2hhcnQuaGVpZ2h0IC0gMTQ1KTsKICAgICAgICB9CgogICAgICAgIHRoaXMuY3R4LmJlZ2luUGF0aCgpOwogICAgICAgIHZhciBudW1iZXIgPSB0aW1lVG9DbG9zZSAtIHRoaXMuY2hhcnQubm93OwogICAgICAgIGlmIChudW1iZXIgPCAwKSB7CiAgICAgICAgICAgIG51bWJlciA9IDA7CiAgICAgICAgfQoKICAgICAgICB0aGlzLmN0eC5yZXN0b3JlKCk7CiAgICAgICAgaWYgKHByaWNlKSB7CiAgICAgICAgICAgIHRoaXMuY3R4LmJlZ2luUGF0aCgpOwogICAgICAgICAgICB0aGlzLmN0eC5mb250ID0gdGhpcy5jaGFydC5jb25maWcub3JkZXIudGltZS5mb250OwogICAgICAgICAgICB2YXIgY2xvc2VUZXh0ID0gbW9tZW50KHRpbWUpLnV0YygpLmZvcm1hdCh0aGlzLmNoYXJ0LmNvbmZpZy5vcmRlci50aW1lLmZvcm1hdCk7CiAgICAgICAgICAgIHZhciB3MiA9IHRoaXMuY3R4Lm1lYXN1cmVUZXh0KGNsb3NlVGV4dCk7CiAgICAgICAgICAgIHRoaXMuY3R4LmZpbGxTdHlsZSA9IHRoaXMuYmdTdHlsZTsKICAgICAgICAgICAgdGhpcy5jdHguZmlsbFJlY3QodFZhbDIgLSB3Mi53aWR0aCAvIDIsIHRoaXMuY2hhcnQuaGVpZ2h0IC0gMjAsIHcyLndpZHRoLCAyMCk7CgogICAgICAgICAgICB0aGlzLmN0eC5iZWdpblBhdGgoKTsKICAgICAgICAgICAgdGhpcy5jdHguZmlsbFN0eWxlID0gdGhpcy5saW5lU3R5bGU7CiAgICAgICAgICAgIHRoaXMuY3R4LnRleHRBbGlnbiA9ICJjZW50ZXIiOwoKICAgICAgICAgICAgdGhpcy5jdHguZmlsbFRleHQoY2xvc2VUZXh0LCB0VmFsMiwgdGhpcy5jaGFydC5oZWlnaHQgLSA1KTsKCgogICAgICAgICAgICB2YXIgc3RhcnRUWCA9IHRoaXMuY2hhcnQuZ2V0WChzdGFydFRpbWUpOwogICAgICAgICAgICB2YXIgZW5kVFggPSB0aGlzLmNoYXJ0LmdldFgoZW5kVGltZSk7CiAgICAgICAgICAgIHZhciBwcmljZVkgPSB0aGlzLmNoYXJ0LmdldFkocHJpY2UpOwoKICAgICAgICAgICAgLy9jdHguYXJjKHN0YXJ0VFgsIHByaWNlWSwgNCwgMCwgMiAqIE1hdGguUEksIGZhbHNlKTsKICAgICAgICAgICAgdGhpcy5jdHguYXJjKGVuZFRYLCBwcmljZVksIDQsIDAsIDIgKiBNYXRoLlBJLCBmYWxzZSk7CiAgICAgICAgICAgIHRoaXMuY3R4LmZpbGxTdHlsZSA9IHRoaXMubGluZVN0eWxlOwogICAgICAgICAgICB0aGlzLmN0eC5maWxsKCk7CiAgICAgICAgICAgIHRoaXMuY3R4LmJlZ2luUGF0aCgpOwogICAgICAgICAgICB0aGlzLmN0eC5tb3ZlVG8oc3RhcnRUWCwgcHJpY2VZKTsKICAgICAgICAgICAgaWYgKGNhbGwpIHsKICAgICAgICAgICAgICAgIHRoaXMuY3R4LmxpbmVUbyhzdGFydFRYICsgMTUsIHByaWNlWSAtIDE1KTsKICAgICAgICAgICAgICAgIHRoaXMuY3R4LmxpbmVUbyhzdGFydFRYICsgMzAsIHByaWNlWSk7CiAgICAgICAgICAgICAgICB0aGlzLmN0eC5saW5lVG8oc3RhcnRUWCwgcHJpY2VZKTsKICAgICAgICAgICAgICAgIHRoaXMuY3R4LmZpbGxDb2xvciA9IHRoaXMubGluZVN0eWxlOwogICAgICAgICAgICAgICAgdGhpcy5jdHguZmlsbCgpOwogICAgICAgICAgICAgICAgdGhpcy5jdHguYmVnaW5QYXRoKCk7CiAgICAgICAgICAgICAgICB0aGlzLmN0eC5mb250ID0gdGhpcy5jaGFydC5jb25maWcub3JkZXIucHJpY2UuZm9udDsKICAgICAgICAgICAgICAgIHRoaXMuY3R4LmZpbGxTdHlsZSA9IHRoaXMubGluZVN0eWxlOwogICAgICAgICAgICAgICAgdGhpcy5jdHgudGV4dEFsaWduID0gImxlZnQiOwogICAgICAgICAgICAgICAgdGhpcy5jdHguZmlsbFRleHQocHJpY2UsIHN0YXJ0VFggKyAzMCwgcHJpY2VZIC0gNSk7CiAgICAgICAgICAgICAgICB0aGlzLmN0eC5maWxsVGV4dChhbW91bnQsIHN0YXJ0VFggKyAzMCwgcHJpY2VZICsgMTUpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgdGhpcy5jdHgubGluZVRvKHN0YXJ0VFggKyAxNSwgcHJpY2VZICsgMTUpOwogICAgICAgICAgICAgICAgdGhpcy5jdHgubGluZVRvKHN0YXJ0VFggKyAzMCwgcHJpY2VZKTsKICAgICAgICAgICAgICAgIHRoaXMuY3R4LmxpbmVUbyhzdGFydFRYLCBwcmljZVkpOwogICAgICAgICAgICAgICAgdGhpcy5jdHguZmlsbENvbG9yID0gdGhpcy5saW5lU3R5bGU7CiAgICAgICAgICAgICAgICB0aGlzLmN0eC5maWxsKCk7CiAgICAgICAgICAgICAgICB0aGlzLmN0eC5iZWdpblBhdGgoKTsKICAgICAgICAgICAgICAgIHRoaXMuY3R4LmZvbnQgPXRoaXMuY2hhcnQuY29uZmlnLm9yZGVyLnByaWNlLmZvbnQ7CiAgICAgICAgICAgICAgICB0aGlzLmN0eC5maWxsU3R5bGUgPSB0aGlzLmxpbmVTdHlsZTsKICAgICAgICAgICAgICAgIHRoaXMuY3R4LnRleHRBbGlnbiA9ICJsZWZ0IjsKICAgICAgICAgICAgICAgIHRoaXMuY3R4LmZpbGxUZXh0KHByaWNlLCBzdGFydFRYICsgMzAsIHByaWNlWSArIDE1KTsKICAgICAgICAgICAgICAgIHRoaXMuY3R4LmZpbGxUZXh0KGFtb3VudCwgc3RhcnRUWCArIDMwLCBwcmljZVkgLSA1KTsKICAgICAgICAgICAgfQogICAgICAgICAgICB0aGlzLmN0eC5iZWdpblBhdGgoKTsKICAgICAgICAgICAgdGhpcy5jdHguc3Ryb2tlU3R5bGUgPSB0aGlzLmxpbmVTdHlsZTsKICAgICAgICAgICAgdGhpcy5jdHgubGluZVdpZHRoID0gMjsKICAgICAgICAgICAgdGhpcy5jdHgubW92ZVRvKHN0YXJ0VFgsIHByaWNlWSk7CiAgICAgICAgICAgIHRoaXMuY3R4LmxpbmVUbyhlbmRUWCwgcHJpY2VZKTsKICAgICAgICAgICAgdGhpcy5jdHguc3Ryb2tlKCk7CiAgICAgICAgfQogICAgfTsKCiAgICBmdW5jdGlvbiBDYW5kbGUodGltZUlkLCBvcGVuLCBjbG9zZSwgbWluLCBtYXgsIGZha2UpIHsKICAgICAgICB0aGlzLnRpbWVJZCA9IHRpbWVJZDsKICAgICAgICB0aGlzLm9wZW4gPSBvcGVuOwogICAgICAgIHRoaXMuY2xvc2UgPSBjbG9zZTsKICAgICAgICB0aGlzLm1pbiA9IG1pbjsKICAgICAgICB0aGlzLm1heCA9IG1heDsKICAgICAgICB0aGlzLnBvcyA9IDA7CiAgICAgICAgdGhpcy5hbmltYXRpb24gPSAwOwogICAgICAgIHRoaXMuZmFrZSA9IGZha2U7CiAgICB9CiAgICBDYW5kbGUucHJvdG90eXBlLmRyYXcgPSBmdW5jdGlvbiAoY3R4LCBjaGFydCwgbnIsIHRvdGFsKSB7CiAgICAgICAgdmFyIG9mZnNldCA9IG5yICogKGNoYXJ0LmNhbmRsZVdpZHRoICsgMiAqIGNoYXJ0LmNhbmRsZXNGcmVlU3BhY2UpICsgY2hhcnQub2Zmc2V0OwogICAgICAgIGlmICh0aGlzLmFuaW1hdGlvbiA9PSAwKSB7CiAgICAgICAgICAgIHRoaXMuY2xvc2VUbyA9IHRoaXMuY2xvc2U7CiAgICAgICAgICAgIHRoaXMubWluVG8gPSB0aGlzLm1pbjsKICAgICAgICAgICAgdGhpcy5tYXhUbyA9IHRoaXMubWF4OwogICAgICAgICAgICB0aGlzLmNsb3NlID0gdGhpcy5vcGVuOwogICAgICAgICAgICB0aGlzLm1pbiA9IHRoaXMub3BlbjsKICAgICAgICAgICAgdGhpcy5tYXggPSB0aGlzLm9wZW47CiAgICAgICAgICAgIHRoaXMuZmlyc3QgPSBmYWxzZTsKICAgICAgICB9CiAgICAgICAgaWYgKHRoaXMuYW5pbWF0aW9uID09IDEyMCkgewogICAgICAgICAgICB0aGlzLmNsb3NlID0gdGhpcy5jbG9zZVRvOwogICAgICAgICAgICB0aGlzLm1pbiA9IHRoaXMubWluVG87CiAgICAgICAgICAgIHRoaXMubWF4ID0gdGhpcy5tYXhUbzsKICAgICAgICB9IGVsc2UgaWYgKHRoaXMuYW5pbWF0aW9uIDwgMTIwKSB7CiAgICAgICAgICAgIHRoaXMuY2xvc2UgKz0gKHRoaXMuY2xvc2VUbyAtIHRoaXMuY2xvc2UpIC8gNTsKICAgICAgICAgICAgdGhpcy5taW4gKz0gKHRoaXMubWluVG8gLSB0aGlzLm1pbikgLyA1OwogICAgICAgICAgICB0aGlzLm1heCArPSAodGhpcy5tYXhUbyAtIHRoaXMubWF4KSAvIDU7CiAgICAgICAgfQogICAgICAgIHRoaXMuYW5pbWF0aW9uKys7CiAgICAgICAgdGhpcy5wb3NYID0gb2Zmc2V0IC0gY2hhcnQuY2FuZGxlV2lkdGggLSBjaGFydC5jYW5kbGVzRnJlZVNwYWNlICogMjsKICAgICAgICB2YXIgZCA9IGNoYXJ0Lm5vdzsKICAgICAgICB2YXIgbWlsaSA9IGQgLSB0aGlzLnRpbWVJZDsKICAgICAgICBpZiAobnIgPT0gdG90YWwgLSAxKSB7CiAgICAgICAgICAgIHZhciB3VG90YWwgPSAoY2hhcnQuY2FuZGxlV2lkdGggKyBjaGFydC5jYW5kbGVzRnJlZVNwYWNlICogMikgKiAwLjAwMSAqIG1pbGk7CiAgICAgICAgICAgIGNoYXJ0Lmxhc3RQb3NYID0gb2Zmc2V0ICsgd1RvdGFsIC0gY2hhcnQuY2FuZGxlV2lkdGggLSBjaGFydC5jYW5kbGVzRnJlZVNwYWNlICogMjsKICAgICAgICAgICAgOwogICAgICAgIH0KICAgICAgICB0aGlzLmRyYXdMaW5lKGN0eCwgY2hhcnQsIG9mZnNldCwgbnIsIHRvdGFsKTsKICAgIH07CiAgICBDYW5kbGUucHJvdG90eXBlLmRyYXdMaW5lID0gZnVuY3Rpb24gKGN0eCwgY2hhcnQsIG9mZnNldCwgbnIsIHRvdGFsKSB7CiAgICAgICAgaWYgKG5yID09IDApIHsKICAgICAgICAgICAgY3R4LmJlZ2luUGF0aCgpOwogICAgICAgICAgICBjdHguc3Ryb2tlU3R5bGUgPSBjaGFydC5jb25maWcuY2hhcnQubGluZWFyLmNvbG9yOwogICAgICAgICAgICBjdHgubGluZVdpZHRoID0gNDsKICAgICAgICAgICAgY3R4Lm1vdmVUbyh0aGlzLnBvc1gsIGNoYXJ0LmdldFkodGhpcy5vcGVuKSk7CiAgICAgICAgfQogICAgICAgIGlmIChuciA8PSB0b3RhbCAtIDEpIHsKICAgICAgICAgICAgY3R4LmxpbmVUbyh0aGlzLnBvc1gsIGNoYXJ0LmdldFkodGhpcy5vcGVuKSk7CiAgICAgICAgfQogICAgICAgIGlmIChuciA9PSB0b3RhbCAtIDEpIHsKICAgICAgICAgICAgY3R4LmxpbmVUbyhjaGFydC5sYXN0UG9zWCwgY2hhcnQuZ2V0WSh0aGlzLmNsb3NlKSk7CiAgICAgICAgICAgIGN0eC5zdHJva2UoKTsKCiAgICAgICAgICAgIHZhciBncmQgPSBjdHguY3JlYXRlTGluZWFyR3JhZGllbnQoMCwgMCwgMCwgY2hhcnQuaGVpZ2h0IC0gMjApOwoKICAgICAgICAgICAgZm9yKHZhciBpPTA7aTxjaGFydC5jb25maWcuY2hhcnQubGluZWFyLmJnLmxlbmd0aDtpKyspIHsKICAgICAgICAgICAgICAgIGdyZC5hZGRDb2xvclN0b3AoaSwgY2hhcnQuY29uZmlnLmNoYXJ0LmxpbmVhci5iZ1tpXSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY3R4LmZpbGxTdHlsZSA9IGdyZDsKICAgICAgICAgICAgY3R4LmxpbmVUbyhjaGFydC5sYXN0UG9zWCwgY2hhcnQuaGVpZ2h0IC0gMjApOwogICAgICAgICAgICBjdHgubGluZVRvKDAsIGNoYXJ0LmhlaWdodCAtIDIwKTsKICAgICAgICAgICAgY3R4LnNhdmUoKTsKICAgICAgICAgICAgY3R4LmZpbGwoKTsKICAgICAgICAgICAgY3R4LnJlc3RvcmUoKTsKCiAgICAgICAgICAgIGN0eC5zYXZlKCk7CiAgICAgICAgICAgIGN0eC5iZWdpblBhdGgoKTsKICAgICAgICAgICAgY3R4LnNoYWRvd0NvbG9yID0gY2hhcnQuY29uZmlnLmNoYXJ0LmxpbmVhci5wb2ludC5zaGFkb3c7CiAgICAgICAgICAgIGN0eC5maWxsU3R5bGUgPSBjaGFydC5jb25maWcuY2hhcnQubGluZWFyLnBvaW50LmJnOwogICAgICAgICAgICBpZiAoY2hhcnQuYmx1clBsdXMpIHsKICAgICAgICAgICAgICAgIGNoYXJ0LmJsdXIgKz0gNDAgLyA2MDsKICAgICAgICAgICAgICAgIGlmIChjaGFydC5ibHVyID4gMjApIHsKICAgICAgICAgICAgICAgICAgICBjaGFydC5ibHVyUGx1cyA9IGZhbHNlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgY2hhcnQuYmx1ciAtPSA0MCAvIDYwOwogICAgICAgICAgICAgICAgaWYgKGNoYXJ0LmJsdXIgPCAxKSB7CiAgICAgICAgICAgICAgICAgICAgY2hhcnQuYmx1clBsdXMgPSB0cnVlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGN0eC5hcmMoY2hhcnQubGFzdFBvc1gsIGNoYXJ0LmdldFkodGhpcy5jbG9zZSksIGNoYXJ0LmJsdXIgLyA4ICsgMSwgMCwgMiAqIE1hdGguUEksIGZhbHNlKTsKICAgICAgICAgICAgY3R4LnNoYWRvd0JsdXIgPSBjaGFydC5ibHVyOwogICAgICAgICAgICBjdHguZmlsbCgpOwoKICAgICAgICAgICAgY3R4LnJlc3RvcmUoKTsKICAgICAgICB9CiAgICB9OwoKICAgIGZ1bmN0aW9uIFRpY2sodGltZSwgcHJpY2UpIHsKICAgICAgICByZXR1cm4gewogICAgICAgICAgICBwcmljZTogcHJpY2UsCiAgICAgICAgICAgIHRpbWU6IHRpbWUKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiByZXF1ZXN0QW5pbSBzaGltIGxheWVyIGJ5IFBhdWwgSXJpc2gKICAgICAqIEZpbmRzIHRoZSBmaXJzdCBBUEkgdGhhdCB3b3JrcyB0byBvcHRpbWl6ZSB0aGUgYW5pbWF0aW9uIGxvb3AsCiAgICAgKiBvdGhlcndpc2UgZGVmYXVsdHMgdG8gc2V0VGltZW91dCgpLgogICAgICovCiAgICB3aW5kb3cucmVxdWVzdEFuaW1GcmFtZSA9IChmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUgfHwKICAgICAgICAgICAgICAgIHdpbmRvdy53ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWUgfHwKICAgICAgICAgICAgICAgIHdpbmRvdy5tb3pSZXF1ZXN0QW5pbWF0aW9uRnJhbWUgfHwKICAgICAgICAgICAgICAgIHdpbmRvdy5vUmVxdWVzdEFuaW1hdGlvbkZyYW1lIHx8CiAgICAgICAgICAgICAgICB3aW5kb3cubXNSZXF1ZXN0QW5pbWF0aW9uRnJhbWUgfHwKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIChjYWxsYmFjaykgewogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGNhbGxiYWNrLCAxMDAwIC8gNjApOwogICAgICAgICAgICAgICAgfTsKICAgIH0pKCk7CgogICAgY2ggPSB7CiAgICAgICAgbGluazogZnVuY3Rpb24gKGVsZW1lbnQpIHsKICAgICAgICAgICAgdmFyIGNoYXJ0OwogICAgICAgICAgICB2YXIgYW5pbWF0ZVN0b3AgPSBmYWxzZTsKICAgICAgICAgICAgdmFyIHNlcnZlclRpbWUgPSB7CiAgICAgICAgICAgICAgICBub3c6IERhdGUubm93CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHZhciBwcmVwYXJlZE9yZGVyID0gewogICAgICAgICAgICAgICAgc3ltYm9sOiAnRVVSL1VTRCcsCiAgICAgICAgICAgICAgICBvcHRpb25PZmY6IE1hdGgucm91bmQoRGF0ZS5ub3coKSAvIDEwMDApICogMTAwMCArIDEwMDAwLAogICAgICAgICAgICAgICAgb3B0aW9uRW5kOiBNYXRoLnJvdW5kKERhdGUubm93KCkgLyAxMDAwKSAqIDEwMDAgKyAxMDAwMCwKICAgICAgICAgICAgICAgIHRpbWVGcmFtZTogMTAwMDAsCiAgICAgICAgICAgICAgICB0aW1lT2ZmOiAwCiAgICAgICAgICAgIH07CgogICAgICAgICAgICBjaGFydCA9IG5ldyBDaGFydChlbGVtZW50LCBzZXJ2ZXJUaW1lKTsKICAgICAgICAgICAgY2hhcnQucHJlcGFyZWRPcmRlciA9IHByZXBhcmVkT3JkZXI7CiAgICAgICAgICAgIHZhciBzeW1ib2wgPSBwcmVwYXJlZE9yZGVyLnN5bWJvbDsKICAgICAgICAgICAgY2hhcnQuY2FuZGxlc09mZnNldCA9IDEwOwogICAgICAgICAgICBjaGFydC5pbml0KCk7CgogICAgICAgICAgICB2YXIgcHAgPSAxMDkuNzc7CiAgICAgICAgICAgIHZhciBjYW5kbGVzQWRkID0gW3t0aW1lSWQ6IE1hdGgucm91bmQoRGF0ZS5ub3coKSAvIDEwMDApICogMTAwMCwgY2xvc2U6IHBwLCBvcGVuOiBwcCwgbWluOiBwcCwgbWF4OiBwcH1dOwogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDw9IDIwOyBpKyspIHsKICAgICAgICAgICAgICAgIHZhciBjcCA9IGNhbmRsZXNBZGRbaV07CiAgICAgICAgICAgICAgICBwcCA9IGNwLmNsb3NlICsgTWF0aC5yb3VuZCgoTWF0aC5yYW5kb20oKSAtIDAuNSkgKiA0KSAvIDEwMDA7CiAgICAgICAgICAgICAgICBjYW5kbGVzQWRkLnB1c2goe3RpbWVJZDogY3AudGltZUlkIC0gNTAwLCBjbG9zZTogcHAsIG9wZW46IHBwLCBtaW46IHBwLCBtYXg6IHBwfSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY2hhcnQuYWRkQ2FuZGxlcyhjYW5kbGVzQWRkKTsKCgogICAgICAgICAgICBzZXRJbnRlcnZhbChmdW5jdGlvbiAoc3RvbXApIHsKICAgICAgICAgICAgICAgIHZhciBjcCA9IGNoYXJ0LmNhbmRsZXNbMF07CiAgICAgICAgICAgICAgICB2YXIgbVAgPSAwOwogICAgICAgICAgICAgICAgdmFyIG1QX0NBTEwgPSAwOwogICAgICAgICAgICAgICAgdmFyIG1QX1BVVCA9IDA7CiAgICAgICAgICAgICAgICB2YXIgbWMgPSAwOwogICAgICAgICAgICAgICAgdmFyIG1DX0NBTEwgPSAwOwogICAgICAgICAgICAgICAgdmFyIG1DX1BVVCA9IDA7CiAgICAgICAgICAgICAgICB2YXIgbWFya2FQaXpkZWMgPSAwOwogICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGNoYXJ0Lm9yZGVycy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgIHZhciBvID0gY2hhcnQub3JkZXJzW2ldOwogICAgICAgICAgICAgICAgICAgIGlmIChvLmNhbGwgJiYgby5lbmRUaW1lID4gRGF0ZS5ub3coKSkgewogICAgICAgICAgICAgICAgICAgICAgICBtYysrOwogICAgICAgICAgICAgICAgICAgICAgICBtUF9DQUxMICs9IG8ub3BlblByaWNlOwogICAgICAgICAgICAgICAgICAgICAgICBtQ19DQUxMKys7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICghby5jYWxsICYmIG8uZW5kVGltZSA+IERhdGUubm93KCkgJiYgY3AuY2xvc2UgPiBvLm9wZW5QcmljZSkgewogICAgICAgICAgICAgICAgICAgICAgICBtYy0tCiAgICAgICAgICAgICAgICAgICAgICAgIG1QX1BVVCArPSBvLm9wZW5QcmljZTsKICAgICAgICAgICAgICAgICAgICAgICAgbUNfUFVUKys7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKG1jID4gMCkgewogICAgICAgICAgICAgICAgICAgIG1QID0gbVBfQ0FMTCAvIG1DX0NBTEw7CiAgICAgICAgICAgICAgICAgICAgaWYgKG1QID4gY3AuY2xvc2UpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbWFya2FQaXpkZWMgPSAxOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAobWMgPCAwKSB7CiAgICAgICAgICAgICAgICAgICAgbVAgPSBtUF9QVVQgLyBtQ19QVVQ7CiAgICAgICAgICAgICAgICAgICAgaWYgKG1QIDwgY3AuY2xvc2UpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbWFya2FQaXpkZWMgPSAtMTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB2YXIgcHAgPSBjcC5jbG9zZSArIE1hdGgucm91bmQoKE1hdGgucmFuZG9tKCkgLSAwLjUgKyBtYXJrYVBpemRlYyAqIDAuMSkgKiA0KSAvIDEwMDA7CiAgICAgICAgICAgICAgICBjaGFydC5vblRpY2soe3RpbWVJZDogRGF0ZS5ub3coKSwgY2xvc2U6IHBwLCBvcGVuOiBwcCwgbWluOiBwcCwgbWF4OiBwcCwgYXZnOiBwcH0pOwoKCiAgICAgICAgICAgIH0sIDUwMCk7CgogICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYnRuX2NhbGwiKS5vbmNsaWNrID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgY2hhcnQub3JkZXJzLnB1c2goewogICAgICAgICAgICAgICAgICAgIGlkOiAxLAogICAgICAgICAgICAgICAgICAgIHN0YXR1czogIlNUQVJURUQiLAogICAgICAgICAgICAgICAgICAgIGFtb3VudDogMTAsCiAgICAgICAgICAgICAgICAgICAgc3RhcnRUaW1lOiBEYXRlLm5vdygpLAogICAgICAgICAgICAgICAgICAgIGVuZFRpbWU6IHByZXBhcmVkT3JkZXIub3B0aW9uRW5kLAogICAgICAgICAgICAgICAgICAgIG9wZW5QcmljZTogY2hhcnQuY2FuZGxlc1swXS5jbG9zZSwKICAgICAgICAgICAgICAgICAgICBzeW1ib2w6IHByZXBhcmVkT3JkZXIuc3ltYm9sLAogICAgICAgICAgICAgICAgICAgIGN1cnJlbmN5OiAnVVNEJywKICAgICAgICAgICAgICAgICAgICBjYWxsOiB0cnVlCiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJ0bl9wdXQiKS5vbmNsaWNrID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgY2hhcnQub3JkZXJzLnB1c2goewogICAgICAgICAgICAgICAgICAgIGlkOiAxLAogICAgICAgICAgICAgICAgICAgIHN0YXR1czogIlNUQVJURUQiLAogICAgICAgICAgICAgICAgICAgIGFtb3VudDogMTAsCiAgICAgICAgICAgICAgICAgICAgc3RhcnRUaW1lOiBEYXRlLm5vdygpLAogICAgICAgICAgICAgICAgICAgIGVuZFRpbWU6IHByZXBhcmVkT3JkZXIub3B0aW9uRW5kLAogICAgICAgICAgICAgICAgICAgIG9wZW5QcmljZTogY2hhcnQuY2FuZGxlc1swXS5jbG9zZSwKICAgICAgICAgICAgICAgICAgICBzeW1ib2w6IHByZXBhcmVkT3JkZXIuc3ltYm9sLAogICAgICAgICAgICAgICAgICAgIGN1cnJlbmN5OiAnVVNEJywKICAgICAgICAgICAgICAgICAgICBjYWxsOiBmYWxzZQogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkFwcGxlIikub25jbGljayA9IGZ1bmN0aW9uICgpIHsKCgogICAgICAgICAgICAgICAgdmFyIHBwID0gMTA5Ljc3OwogICAgICAgICAgICAgICAgdmFyIGNhbmRsZXNBZGQgPSBbewogICAgICAgICAgICAgICAgICAgIHRpbWVJZDogTWF0aC5yb3VuZChEYXRlLm5vdygpIC8gMTAwMCkgKiAxMDAwLAogICAgICAgICAgICAgICAgICAgIGNsb3NlOiBwcCwKICAgICAgICAgICAgICAgICAgICBvcGVuOiBwcCwKICAgICAgICAgICAgICAgICAgICBtaW46IHBwLAogICAgICAgICAgICAgICAgICAgIG1heDogcHAKICAgICAgICAgICAgICAgIH1dOwogICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8PSAyMDsgaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGNwID0gY2FuZGxlc0FkZFtpXTsKICAgICAgICAgICAgICAgICAgICBwcCA9IGNwLmNsb3NlICsgTWF0aC5yb3VuZCgoTWF0aC5yYW5kb20oKSAtIDAuNSkgKiA0KSAvIDEwMDA7CiAgICAgICAgICAgICAgICAgICAgY2FuZGxlc0FkZC5wdXNoKHt0aW1lSWQ6IGNwLnRpbWVJZCAtIDUwMCwgY2xvc2U6IHBwLCBvcGVuOiBwcCwgbWluOiBwcCwgbWF4OiBwcH0pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgY2hhcnQuY2FuZGxlcyA9IFtdOwogICAgICAgICAgICAgICAgY2hhcnQuYWRkQ2FuZGxlcyhjYW5kbGVzQWRkKTsKICAgICAgICAgICAgICAgIHZhciBlMSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJFVVJVU0QiKTsKICAgICAgICAgICAgICAgIHZhciBlMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJHQVpQUk9NIik7CiAgICAgICAgICAgICAgICB2YXIgZTMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiQXBwbGUiKTsKICAgICAgICAgICAgICAgIGUxLmNsYXNzTmFtZSA9IGUxLmNsYXNzTmFtZS5yZXBsYWNlKCd1aS1zdGF0ZS1hY3RpdmUnLCAnJyk7CiAgICAgICAgICAgICAgICBlMi5jbGFzc05hbWUgPSBlMi5jbGFzc05hbWUucmVwbGFjZSgndWktc3RhdGUtYWN0aXZlJywgJycpOwogICAgICAgICAgICAgICAgZTMuY2xhc3NOYW1lID0gZTMuY2xhc3NOYW1lICs9ICcgdWktc3RhdGUtYWN0aXZlJzsKICAgICAgICAgICAgICAgIGNoYXJ0LmNhbmRsZVdpZHRoVG8gPSA5OwogICAgICAgICAgICAgICAgY2hhcnQuY2FuZGxlc0ZyZWVTcGFjZVRvID0gMzsKICAgICAgICAgICAgICAgIGNoYXJ0LmNhbmRsZXNPZmZzZXQgPSAxMDsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkdBWlBST00iKS5vbmNsaWNrID0gZnVuY3Rpb24gKCkgewoKCiAgICAgICAgICAgICAgICB2YXIgcHAgPSAxNDguNzA7CiAgICAgICAgICAgICAgICB2YXIgY2FuZGxlc0FkZCA9IFt7CiAgICAgICAgICAgICAgICAgICAgdGltZUlkOiBNYXRoLnJvdW5kKERhdGUubm93KCkgLyAxMDAwKSAqIDEwMDAsCiAgICAgICAgICAgICAgICAgICAgY2xvc2U6IHBwLAogICAgICAgICAgICAgICAgICAgIG9wZW46IHBwLAogICAgICAgICAgICAgICAgICAgIG1pbjogcHAsCiAgICAgICAgICAgICAgICAgICAgbWF4OiBwcAogICAgICAgICAgICAgICAgfV07CiAgICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDw9IDIwOyBpKyspIHsKICAgICAgICAgICAgICAgICAgICB2YXIgY3AgPSBjYW5kbGVzQWRkW2ldOwogICAgICAgICAgICAgICAgICAgIHBwID0gY3AuY2xvc2UgKyBNYXRoLnJvdW5kKChNYXRoLnJhbmRvbSgpIC0gMC41KSAqIDQpIC8gMTAwMDsKICAgICAgICAgICAgICAgICAgICBjYW5kbGVzQWRkLnB1c2goe3RpbWVJZDogY3AudGltZUlkIC0gNTAwLCBjbG9zZTogcHAsIG9wZW46IHBwLCBtaW46IHBwLCBtYXg6IHBwfSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBjaGFydC5jYW5kbGVzID0gW107CiAgICAgICAgICAgICAgICBjaGFydC5hZGRDYW5kbGVzKGNhbmRsZXNBZGQpOwogICAgICAgICAgICAgICAgdmFyIGUxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkVVUlVTRCIpOwogICAgICAgICAgICAgICAgdmFyIGUyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkFwcGxlIik7CiAgICAgICAgICAgICAgICB2YXIgZTMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiR0FaUFJPTSIpOwogICAgICAgICAgICAgICAgZTEuY2xhc3NOYW1lID0gZTEuY2xhc3NOYW1lLnJlcGxhY2UoJ3VpLXN0YXRlLWFjdGl2ZScsICcnKTsKICAgICAgICAgICAgICAgIGUyLmNsYXNzTmFtZSA9IGUyLmNsYXNzTmFtZS5yZXBsYWNlKCd1aS1zdGF0ZS1hY3RpdmUnLCAnJyk7CiAgICAgICAgICAgICAgICBlMy5jbGFzc05hbWUgPSBlMy5jbGFzc05hbWUgKz0gJyB1aS1zdGF0ZS1hY3RpdmUnOwogICAgICAgICAgICAgICAgY2hhcnQuY2FuZGxlV2lkdGhUbyA9IDk7CiAgICAgICAgICAgICAgICBjaGFydC5jYW5kbGVzRnJlZVNwYWNlVG8gPSAzOwogICAgICAgICAgICAgICAgY2hhcnQuY2FuZGxlc09mZnNldCA9IDEwOwogICAgICAgICAgICB9OwoKICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkVVUlVTRCIpLm9uY2xpY2sgPSBmdW5jdGlvbiAoKSB7CgoKICAgICAgICAgICAgICAgIHZhciBwcCA9IDEuMTQ7CiAgICAgICAgICAgICAgICB2YXIgY2FuZGxlc0FkZCA9IFt7CiAgICAgICAgICAgICAgICAgICAgdGltZUlkOiBNYXRoLnJvdW5kKERhdGUubm93KCkgLyAxMDAwKSAqIDEwMDAsCiAgICAgICAgICAgICAgICAgICAgY2xvc2U6IHBwLAogICAgICAgICAgICAgICAgICAgIG9wZW46IHBwLAogICAgICAgICAgICAgICAgICAgIG1pbjogcHAsCiAgICAgICAgICAgICAgICAgICAgbWF4OiBwcAogICAgICAgICAgICAgICAgfV07CiAgICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDw9IDIwOyBpKyspIHsKICAgICAgICAgICAgICAgICAgICB2YXIgY3AgPSBjYW5kbGVzQWRkW2ldOwogICAgICAgICAgICAgICAgICAgIHBwID0gY3AuY2xvc2UgKyBNYXRoLnJvdW5kKChNYXRoLnJhbmRvbSgpIC0gMC41KSAqIDQpIC8gMTAwMDsKICAgICAgICAgICAgICAgICAgICBjYW5kbGVzQWRkLnB1c2goe3RpbWVJZDogY3AudGltZUlkIC0gNTAwLCBjbG9zZTogcHAsIG9wZW46IHBwLCBtaW46IHBwLCBtYXg6IHBwfSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBjaGFydC5jYW5kbGVzID0gW107CiAgICAgICAgICAgICAgICBjaGFydC5hZGRDYW5kbGVzKGNhbmRsZXNBZGQpOwogICAgICAgICAgICAgICAgdmFyIGUxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkFwcGxlIik7CiAgICAgICAgICAgICAgICB2YXIgZTIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiR0FaUFJPTSIpOwogICAgICAgICAgICAgICAgdmFyIGUzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkVVUlVTRCIpOwogICAgICAgICAgICAgICAgZTEuY2xhc3NOYW1lID0gZTEuY2xhc3NOYW1lLnJlcGxhY2UoJ3VpLXN0YXRlLWFjdGl2ZScsICcnKTsKICAgICAgICAgICAgICAgIGUyLmNsYXNzTmFtZSA9IGUyLmNsYXNzTmFtZS5yZXBsYWNlKCd1aS1zdGF0ZS1hY3RpdmUnLCAnJyk7CiAgICAgICAgICAgICAgICBlMy5jbGFzc05hbWUgPSBlMy5jbGFzc05hbWUgKz0gJyB1aS1zdGF0ZS1hY3RpdmUnOwogICAgICAgICAgICAgICAgY2hhcnQuY2FuZGxlV2lkdGhUbyA9IDk7CiAgICAgICAgICAgICAgICBjaGFydC5jYW5kbGVzRnJlZVNwYWNlVG8gPSAzOwogICAgICAgICAgICAgICAgY2hhcnQuY2FuZGxlc09mZnNldCA9IDEwOwogICAgICAgICAgICB9OwogICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdGFydC1jaGFydCIpLm9uY2xpY2sgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICB2YXIgZTEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2hhcnQtaG9sZGVyIik7CiAgICAgICAgICAgICAgICBlMS5jbGFzc05hbWUgPSBlMS5jbGFzc05hbWUucmVwbGFjZSgnZGVhbC1maW5pc2hlZCcsICcnKTsKICAgICAgICAgICAgICAgIGUxLmNsYXNzTmFtZSA9IGUxLmNsYXNzTmFtZS5yZXBsYWNlKCdsb29zZScsICcnKTsKICAgICAgICAgICAgICAgIGNoYXJ0Lm9yZGVycyA9IFtdOwogICAgICAgICAgICB9OwoKICAgICAgICAgICAgdmFyIGFuaW1hdGUgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBpZiAoYW5pbWF0ZVN0b3ApIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBjaGFydC5hbmltYXRlKCk7CiAgICAgICAgICAgICAgICByZXF1ZXN0QW5pbUZyYW1lKGFuaW1hdGUpOwogICAgICAgICAgICB9OwogICAgICAgICAgICBhbmltYXRlKCk7CiAgICAgICAgfQogICAgfTsKICAgIChmdW5jdGlvbiAoKSB7CiAgICAgICAgY2gubGluayhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2hhcnQtbScpKTsKICAgIH0pKCk7Cg=="}},"time_used":7,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/62630.53732daea8178447393f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.839Z","timestamp":1785120633839,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/62630.53732daea8178447393f.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=0\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 02:50:33 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a2900e8-81\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 10 Jun 2026 06:15:04 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.55\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/10/2026 10:16:48\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 4aa9fd67e06bd63a0e9536b223694967\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":129,"size_decoded":881,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"e5f07c5aaef58d5986915a301b87421f","sha1":"bb55df8bc52b7214dada6d5d4ae37eb47151784f","sha256":"49d455199479291a3af612b0f532703169f142725fde325723b363a726fd0ea1","sha512":"9d6d6ae7362ec7e4be470196877102b5a670aa65a7dd5005699788845f5ccd947c955a0b7621e3ad9caf3290a852edf6c6d446adc1f4418e2e91fec9146f22f0","ssdeep":"","tlshash":"8ab02b90a2c00b9800534289e4ff330b007954c77f60108c089dcc804a03120c073bd1","first_seen":"2026-06-10T15:56:02.644043Z","last_seen":"2026-07-27T05:24:15.730235Z","times_seen":838,"resource_available":false,"data":"LmZhZGUtTU9kVWlCWUQgY2FudmFze2ZpbHRlcjpvcGFjaXR5KC4zKTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246ZmlsdGVyIC4zcyBlYXNlLWluLW91dCAuMXN9LmhpZGRlbi1NT2RVaUJZRHtkaXNwbGF5Om5vbmV9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/52842.31d6cfe0d16ae931b73c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.850Z","timestamp":1785120633850,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/52842.31d6cfe0d16ae931b73c.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=0\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 02:50:33 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 0\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a323d2a-0\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 17 Jun 2026 06:22:34 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/17/2026 11:15:29\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d2b4980da37b7da66d80644795b02bc8\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":782,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-07-27T05:14:11.3544Z","times_seen":17556491,"resource_available":true,"data":""}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/94232.ab6731b698a8c2854a90.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.969Z","timestamp":1785120633969,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/94232.ab6731b698a8c2854a90.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-740\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 47e1599fb295f497c193ff07b001c79b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1856,"size_decoded":1343,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1856), with no line terminators","md5":"99c169cccd9c810bfd0d3e50e053d9dd","sha1":"f7c962c5226ce8518e23fcd82bbd02e44b3cd8ba","sha256":"ba11ca3b195a5ed5130a9fdfe05087f5b075dbec6ddff0fbc0ee82ef8a378a37","sha512":"02bba56d2baac91f2618fc15e25d5eb7e986a57c956cd280f3ff695e4d215d29c10a2730d07a71b393c7da7e62a644bc9d417c3aef3b60af475b9f6330a25d50","ssdeep":"","tlshash":"0331f104a050d9f5e212d7788e5dbb7820d13b22ca613da7fe53de0ed086be5e122f24","first_seen":"2026-07-16T20:48:56.389736Z","last_seen":"2026-07-27T05:29:38.607305Z","times_seen":201,"resource_available":false,"data":"LmxvYWRlci1NZ2Y4RUZ3S3tib3R0b206MDtmb250LXNpemU6MDtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtZW5kOjA7aW5zZXQtaW5saW5lLXN0YXJ0OjA7bWFyZ2luOjAgYXV0bztvcGFjaXR5OjE7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXI7dG9wOjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4zNXMgZWFzZTt3aGl0ZS1zcGFjZTpub3dyYXB9LmxvYWRlci1NZ2Y4RUZ3Sy5zdGF0aWMtTWdmOEVGd0t7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpzdGF0aWN9LmxvYWRlci1NZ2Y4RUZ3SzphZnRlcntjb250ZW50OiIgIjtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTAwJTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmxvYWRlci1NZ2Y4RUZ3SyAuaXRlbS1NZ2Y4RUZ3S3tib3JkZXItcmFkaXVzOjEwMCU7ZGlzcGxheTppbmxpbmUtYmxvY2s7b3BhY2l0eToxO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstLXVpLWxpYi1sb2FkZXItY29sb3ItZGVmYXVsdDpjdXJyZW50Q29sb3I7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS11aS1saWItbG9hZGVyLWNvbG9yLHZhcigtLXVpLWxpYi1sb2FkZXItY29sb3ItZGVmYXVsdCkpfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKXsubG9hZGVyLU1nZjhFRndLIC5pdGVtLU1nZjhFRndLOmZpcnN0LWNoaWxke2FuaW1hdGlvbjp0di1idXR0b24tbG9hZGVyLU1nZjhFRndLIDFzIGluZmluaXRlO2FuaW1hdGlvbi1kZWxheTouMXN9LmxvYWRlci1NZ2Y4RUZ3SyAuaXRlbS1NZ2Y4RUZ3SzpudGgtY2hpbGQoMil7YW5pbWF0aW9uOnR2LWJ1dHRvbi1sb2FkZXItTWdmOEVGd0sgMXMgaW5maW5pdGU7YW5pbWF0aW9uLWRlbGF5Oi4zc30ubG9hZGVyLU1nZjhFRndLIC5pdGVtLU1nZjhFRndLOm50aC1jaGlsZCgzKXthbmltYXRpb246dHYtYnV0dG9uLWxvYWRlci1NZ2Y4RUZ3SyAxcyBlYXNlIGluZmluaXRlO2FuaW1hdGlvbi1kZWxheTouNDVzfX0ubG9hZGVyLU1nZjhFRndLIC5pdGVtLU1nZjhFRndLLC5sb2FkZXItTWdmOEVGd0sgLml0ZW0tTWdmOEVGd0subWVkaXVtLU1nZjhFRndLe2hlaWdodDo2cHg7d2lkdGg6NnB4fS5sb2FkZXItTWdmOEVGd0sgLml0ZW0tTWdmOEVGd0subWVkaXVtLU1nZjhFRndLOm5vdCg6bGFzdC1jaGlsZCksLmxvYWRlci1NZ2Y4RUZ3SyAuaXRlbS1NZ2Y4RUZ3Szpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1pbmxpbmUtZW5kOjRweH0ubG9hZGVyLU1nZjhFRndLIC5pdGVtLU1nZjhFRndLLnNtYWxsLU1nZjhFRndLe2hlaWdodDo0cHg7d2lkdGg6NHB4fS5sb2FkZXItTWdmOEVGd0sgLml0ZW0tTWdmOEVGd0suc21hbGwtTWdmOEVGd0s6bm90KDpsYXN0LWNoaWxkKXttYXJnaW4taW5saW5lLWVuZDozcHh9LmxvYWRlci1NZ2Y4RUZ3SyAuaXRlbS1NZ2Y4RUZ3Sy5ibGFjay1NZ2Y4RUZ3S3stLXVpLWxpYi1sb2FkZXItY29sb3ItZGVmYXVsdDp2YXIoLS1jb2xvci1kZWZhdWx0LWdyYXkpfS5sb2FkZXItTWdmOEVGd0sgLml0ZW0tTWdmOEVGd0sud2hpdGUtTWdmOEVGd0t7LS11aS1saWItbG9hZGVyLWNvbG9yLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpfS5sb2FkZXItTWdmOEVGd0sgLml0ZW0tTWdmOEVGd0suZ3JheS1NZ2Y4RUZ3S3stLXVpLWxpYi1sb2FkZXItY29sb3ItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKX0ubG9hZGVyLU1nZjhFRndLIC5pdGVtLU1nZjhFRndLLnByaW1hcnktTWdmOEVGd0t7LS11aS1saWItbG9hZGVyLWNvbG9yLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KX1Aa2V5ZnJhbWVzIHR2LWJ1dHRvbi1sb2FkZXItTWdmOEVGd0t7MCUsdG97b3BhY2l0eToxfTYwJXtvcGFjaXR5Oi40fTMwJXtvcGFjaXR5Oi4yfX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/49265.c208ef8379e073f94d16.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.187Z","timestamp":1785120634187,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/49265.c208ef8379e073f94d16.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a435fcb-4ddf\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:18:51 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:09\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 158bac31fd0463cefee93bf7eea44cff\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":19935,"size_decoded":7323,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"7b82078f584e6803982971fd98e254ad","sha1":"68381b82a3c15fb84e25d74f902a92fd1de3a245","sha256":"e79b56277f3ab3f995df2d44c612a393858265d70e8d4151a858384901aaa5ae","sha512":"856120280da4d842117fb927a8dbab94215dfb803172d5217ef06b3e3160c27bfbc9fda244b20ac94ce02cebb4356d25c92927cb9292b29f658e377fca579fec","ssdeep":"384:j9PRJCURbRGehSowQ7pJIdRW5TejB6ScRTtDe1efLBHxe+Wl2XaKKTV28fRJmRDM:RPTCURbwehStQ7pJIdk5TejB6ScZtDeb","tlshash":"7e92de8679c2f0e962d55cd4c07b4846f01a0d3c704db8e9e7e6c8d2da7a14ed436bba","first_seen":"2026-06-30T14:35:40.41523Z","last_seen":"2026-07-27T05:15:36.955954Z","times_seen":2158,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0OTI2NV0sezc1Njg1MSh0KXsidXNlIHN0cmljdCI7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxyPXQubGVuZ3RoLG49MDtuPHI7bisrKXt2YXIgdT10LmNoYXJDb2RlQXQobik7aWYodT49NTUyOTYmJnU8PTU2MzE5JiZyPm4rMSl7dmFyIGE9dC5jaGFyQ29kZUF0KG4rMSk7YT49NTYzMjAmJmE8PTU3MzQzJiYodT0xMDI0Kih1LTU1Mjk2KSthLTU2MzIwKzY1NTM2LG4rPTEpfXU8MTI4P2UucHVzaCh1KTp1PDIwNDg/KGUucHVzaCh1Pj42fDE5MiksZS5wdXNoKDYzJnV8MTI4KSk6dTw1NTI5Nnx8dT49NTczNDQmJnU8NjU1MzY/KGUucHVzaCh1Pj4xMnwyMjQpLGUucHVzaCh1Pj42JjYzfDEyOCksZS5wdXNoKDYzJnV8MTI4KSk6dT49NjU1MzYmJnU8PTExMTQxMTE/KGUucHVzaCh1Pj4xOHwyNDApLGUucHVzaCh1Pj4xMiY2M3wxMjgpLGUucHVzaCh1Pj42JjYzfDEyOCksZS5wdXNoKDYzJnV8MTI4KSk6ZS5wdXNoKDIzOSwxOTEsMTg5KX1yZXR1cm4gbmV3IFVpbnQ4QXJyYXkoZSkuYnVmZmVyfX0sNTA0NDAyKHQsZSxyKXt2YXIgbj1yKDYzODIyMSk7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiB0PW4odF49dD4+PjE2LDIyNDY4MjI1MDcpLHQ9bih0Xj10Pj4+MTMsMzI2NjQ4OTkwOSksKHRePXQ+Pj4xNik+Pj4wfX0sNjM4MjIxKHQpeyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9TWF0aC5pbXVsfHxmdW5jdGlvbih0LGUpe3ZhciByPTY1NTM1JnQsbj02NTUzNSZlO3JldHVybiByKm4rKCh0Pj4+MTYmNjU1MzUpKm4rciooZT4+PjE2JjY1NTM1KTw8MTY+Pj4wKXwwfX0sMTAwNTk1KHQsZSxyKXt2YXIgbj1yKDYzODIyMSksdT1yKDUwNDQwMiksYT1yKDc1Njg1MSksbz1uZXcgVWludDMyQXJyYXkoWzM0MzI5MTgzNTMsNDYxODQ1OTA3XSk7ZnVuY3Rpb24gYyh0LGUpe3JldHVybiB0PDxlfHQ+Pj4zMi1lfXQuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2lmKGU9ZT8wfGU6MCwic3RyaW5nIj09dHlwZW9mIHQmJih0PWEodCkpLCEodCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBrZXkgdG8gYmUgQXJyYXlCdWZmZXIgb3Igc3RyaW5nIik7dmFyIHI9bmV3IFVpbnQzMkFycmF5KFtlXSk7cmV0dXJuIGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXQuYnl0ZUxlbmd0aC80fDAsdT1uZXcgVWludDMyQXJyYXkodCwwLHIpLGE9MDthPHI7YSsrKXVbYV09bih1W2FdLG9bMF0pLHVbYV09Yyh1W2FdLDE1KSx1W2FdPW4odVthXSxvWzFdKSxlWzBdPWVbMF1edVthXSxlWzBdPWMoZVswXSwxMyksZVswXT1uKGVbMF0sNSkrMzg2NDI5MjE5Nn0odCxyKSxmdW5jdGlvbih0LGUpe3ZhciByPXQuYnl0ZUxlbmd0aC80fDAsdT10LmJ5dGVMZW5ndGglNCxhPTAsZj1uZXcgVWludDhBcnJheSh0LDQqcix1KTtzd2l0Y2godSl7Y2FzZSAzOmFePWZbMl08PDE2O2Nhc2UgMjphXj1mWzFdPDw4O2Nhc2UgMTphXj1mWzBdLGE9YyhhPW4oYSxvWzBdKSwxNSksYT1uKGEsb1sxXSksZVswXT1lWzBdXmF9fSh0LHIpLGZ1bmN0aW9uKHQsZSl7ZVswXT1lWzBdXnQuYnl0ZUxlbmd0aCxlWzBdPXUoZVswXSl9KHQsciksci5idWZmZXJ9fSw0MTQxMjModCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBuPXIoMTYyMzE2KSx1PXIoOTgxNTIzKTtjb25zdCBhPSgwLG4uZGVmYXVsdCkodS5kZWZhdWx0LCJTZXQiKX0sMjY5MzY2KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PmN9KTt2YXIgbj1yKDcxMzE0OCk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5zZXQodCwiX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyIpLHRoaXN9O2NvbnN0IGE9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX19kYXRhX18uaGFzKHQpfTtmdW5jdGlvbiBvKHQpe3ZhciBlPS0xLHI9bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLl9fZGF0YV9fPW5ldyBuLmRlZmF1bHQ7KytlPHI7KXRoaXMuYWRkKHRbZV0pfW8ucHJvdG90eXBlLmFkZD1vLnByb3RvdHlwZS5wdXNoPXUsby5wcm90b3R5cGUuaGFzPWE7Y29uc3QgYz1vfSw4ODY1MTQodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+ZH0pO3ZhciBuPXIoNzM1OTgzKTtjb25zdCB1PWZ1bmN0aW9uKCl7dGhpcy5fX2RhdGFfXz1uZXcgbi5kZWZhdWx0LHRoaXMuc2l6ZT0wfTtjb25zdCBhPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX18scj1lLmRlbGV0ZSh0KTtyZXR1cm4gdGhpcy5zaXplPWUuc2l6ZSxyfTtjb25zdCBvPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9fZGF0YV9fLmdldCh0KX07Y29uc3QgYz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5oYXModCl9O3ZhciBmPXIoNjk0MjEpLHM9cig3MTMxNDgpO2NvbnN0IGk9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLl9fZGF0YV9fO2lmKHIgaW5zdGFuY2VvZiBuLmRlZmF1bHQpe3ZhciB1PXIuX19kYXRhX187aWYoIWYuZGVmYXVsdHx8dS5sZW5ndGg8MTk5KXJldHVybiB1LnB1c2goW3QsZV0pLHRoaXMuc2l6ZT0rK3Iuc2l6ZSx0aGlzO3I9dGhpcy5fX2RhdGFfXz1uZXcgcy5kZWZhdWx0KHUpfXJldHVybiByLnNldCh0LGUpLHRoaXMuc2l6ZT1yLnNpemUsdGhpc307ZnVuY3Rpb24gbCh0KXt2YXIgZT10aGlzLl9fZGF0YV9fPW5ldyBuLmRlZmF1bHQodCk7dGhpcy5zaXplPWUuc2l6ZX1sLnByb3RvdHlwZS5jbGVhcj11LGwucHJvdG90eXBlLmRlbGV0ZT1hLGwucHJvdG90eXBlLmdldD1vLGwucHJvdG90eXBlLmhhcz1jLGwucHJvdG90eXBlLnNldD1pO2NvbnN0IGQ9bH0sODY1MzMwKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPXIoOTgxNTIzKS5kZWZhdWx0LlVpbnQ4QXJyYXl9LDkyODQ1Myh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cigxNjIzMTYpLHU9cig5ODE1MjMpO2NvbnN0IGE9KDAsbi5kZWZhdWx0KSh1LmRlZmF1bHQsIldlYWtNYXAiKX0sCjk4NDEzOSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0tMSxuPW51bGw9PXQ/MDp0Lmxlbmd0aDsrK3I8biYmITEhPT1lKHRbcl0scix0KTspO3JldHVybiB0fX0sMjI0NDE2KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PmN9KTt2YXIgbj1yKDY4ODk2NSk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4gdCE9dH07Y29uc3QgYT1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBuPXItMSx1PXQubGVuZ3RoOysrbjx1OylpZih0W25dPT09ZSlyZXR1cm4gbjtyZXR1cm4tMX07Y29uc3Qgbz1mdW5jdGlvbih0LGUscil7cmV0dXJuIGU9PWU/YSh0LGUscik6KDAsbi5kZWZhdWx0KSh0LHUscil9O2NvbnN0IGM9ZnVuY3Rpb24odCxlKXtyZXR1cm4hIShudWxsPT10PzA6dC5sZW5ndGgpJiZvKHQsZSwwKT4tMX19LDgyNTAzOSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBuPS0xLHU9bnVsbD09dD8wOnQubGVuZ3RoOysrbjx1OylpZihyKGUsdFtuXSkpcmV0dXJuITA7cmV0dXJuITF9fSw4MjA5NzUodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+aX0pO2NvbnN0IG49ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9LTEsbj1BcnJheSh0KTsrK3I8dDspbltyXT1lKHIpO3JldHVybiBufTt2YXIgdT1yKDUzMTU1NyksYT1yKDI5NTYzNSksbz1yKDY1OTAxOCksYz1yKDkyMTE0MyksZj1yKDE2NTI2Nykscz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2NvbnN0IGk9ZnVuY3Rpb24odCxlKXt2YXIgcj0oMCxhLmRlZmF1bHQpKHQpLGk9IXImJigwLHUuZGVmYXVsdCkodCksbD0hciYmIWkmJigwLG8uZGVmYXVsdCkodCksZD0hciYmIWkmJiFsJiYoMCxmLmRlZmF1bHQpKHQpLHY9cnx8aXx8bHx8ZCxwPXY/bih0Lmxlbmd0aCxTdHJpbmcpOltdLGI9cC5sZW5ndGg7Zm9yKHZhciB5IGluIHQpIWUmJiFzLmNhbGwodCx5KXx8diYmKCJsZW5ndGgiPT15fHxsJiYoIm9mZnNldCI9PXl8fCJwYXJlbnQiPT15KXx8ZCYmKCJidWZmZXIiPT15fHwiYnl0ZUxlbmd0aCI9PXl8fCJieXRlT2Zmc2V0Ij09eSl8fCgwLGMuZGVmYXVsdCkoeSxiKSl8fHAucHVzaCh5KTtyZXR1cm4gcH19LDQ0ODYyNih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0tMSxuPWUubGVuZ3RoLHU9dC5sZW5ndGg7KytyPG47KXRbdStyXT1lW3JdO3JldHVybiB0fX0sMTY4NTMzKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm99KTt2YXIgbj1yKDI1NDczOCksdT1yKDkxMDc3OCksYT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2NvbnN0IG89ZnVuY3Rpb24odCxlLHIpe3ZhciBvPXRbZV07YS5jYWxsKHQsZSkmJigwLHUuZGVmYXVsdCkobyxyKSYmKHZvaWQgMCE9PXJ8fGUgaW4gdCl8fCgwLG4uZGVmYXVsdCkodCxlLHIpfX0sMjU0NzM4KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgbj1yKDM2MDQ5KTtjb25zdCB1PWZ1bmN0aW9uKHQsZSxyKXsiX19wcm90b19fIj09ZSYmbi5kZWZhdWx0PygwLG4uZGVmYXVsdCkodCxlLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCx2YWx1ZTpyLHdyaXRhYmxlOiEwfSk6dFtlXT1yfX0sNDkzMDE4KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pkh9KTt2YXIgbj1yKDg4NjUxNCksdT1yKDk4NDEzOSksYT1yKDE2ODUzMyksbz1yKDYxODU3KSxjPXIoMzA5MDgwKTtjb25zdCBmPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQmJigwLG8uZGVmYXVsdCkoZSwoMCxjLmRlZmF1bHQpKGUpLHQpfTt2YXIgcz1yKDIxNzQ1Nyk7Y29uc3QgaT1mdW5jdGlvbih0LGUpe3JldHVybiB0JiYoMCxvLmRlZmF1bHQpKGUsKDAscy5kZWZhdWx0KShlKSx0KX07dmFyIGw9cig0ODcwNjApLGQ9cig3MDU3NDkpLHY9cigyMzA5NTEpO2NvbnN0IHA9ZnVuY3Rpb24odCxlKXtyZXR1cm4oMCxvLmRlZmF1bHQpKHQsKDAsdi5kZWZhdWx0KSh0KSxlKX07dmFyIGI9cigxMTY2NDEpO2NvbnN0IHk9ZnVuY3Rpb24odCxlKXtyZXR1cm4oMCxvLmRlZmF1bHQpKHQsKDAsYi5kZWZhdWx0KSh0KSxlKX07dmFyIGg9cig4MDYyNDApLGo9cig5OTE1OTkpLGc9cig5Njk3ODUpLHc9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBfPWZ1bmN0aW9uKHQpe3ZhciBlPXQubGVuZ3RoLHI9bmV3IHQuY29uc3RydWN0b3IoZSk7cmV0dXJuIGUmJiJzdHJpbmciPT10eXBlb2YgdFswXSYmdy5jYWxsKHQsImluZGV4IikmJihyLmluZGV4PXQuaW5kZXgsci5pbnB1dD10LmlucHV0KSxyfTt2YXIgQT1yKDM3NzI1MSk7Y29uc3QgbT1mdW5jdGlvbih0LGUpe3ZhciByPWU/KDAsQS5kZWZhdWx0KSh0LmJ1ZmZlcik6dC5idWZmZXI7cmV0dXJuIG5ldyB0LmNvbnN0cnVjdG9yKHIsdC5ieXRlT2Zmc2V0LHQuYnl0ZUxlbmd0aCl9O3ZhciBPPS9cdyokLztjb25zdCB4PWZ1bmN0aW9uKHQpe3ZhciBlPW5ldyB0LmNvbnN0cnVjdG9yKHQuc291cmNlLE8uZXhlYyh0KSk7cmV0dXJuIGUubGFzdEluZGV4PXQubGFzdEluZGV4LGV9O3ZhciBVPXIoODcyOTk5KSxFPVUuZGVmYXVsdD9VLmRlZmF1bHQucHJvdG90eXBlOnZvaWQgMCxUPUU/RS52YWx1ZU9mOnZvaWQgMDtjb25zdCBTPWZ1bmN0aW9uKHQpe3JldHVybiBUP09iamVjdChULmNhbGwodCkpOnt9fTt2YXIgST1yKDEzOTA3KTtjb25zdCBNPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10LmNvbnN0cnVjdG9yO3N3aXRjaChlKXtjYXNlIltvYmplY3QgQXJyYXlCdWZmZXJdIjpyZXR1cm4oMCxBLmRlZmF1bHQpKHQpO2Nhc2UiW29iamVjdCBCb29sZWFuXSI6Y2FzZSJbb2JqZWN0IERhdGVdIjpyZXR1cm4gbmV3IG4oK3QpO2Nhc2UiW29iamVjdCBEYXRhVmlld10iOnJldHVybiBtKHQscik7Y2FzZSJbb2JqZWN0IEZsb2F0MzJBcnJheV0iOmNhc2UiW29iamVjdCBGbG9hdDY0QXJyYXldIjoKY2FzZSJbb2JqZWN0IEludDhBcnJheV0iOmNhc2UiW29iamVjdCBJbnQxNkFycmF5XSI6Y2FzZSJbb2JqZWN0IEludDMyQXJyYXldIjpjYXNlIltvYmplY3QgVWludDhBcnJheV0iOmNhc2UiW29iamVjdCBVaW50OENsYW1wZWRBcnJheV0iOmNhc2UiW29iamVjdCBVaW50MTZBcnJheV0iOmNhc2UiW29iamVjdCBVaW50MzJBcnJheV0iOnJldHVybigwLEkuZGVmYXVsdCkodCxyKTtjYXNlIltvYmplY3QgTWFwXSI6Y2FzZSJbb2JqZWN0IFNldF0iOnJldHVybiBuZXcgbjtjYXNlIltvYmplY3QgTnVtYmVyXSI6Y2FzZSJbb2JqZWN0IFN0cmluZ10iOnJldHVybiBuZXcgbih0KTtjYXNlIltvYmplY3QgUmVnRXhwXSI6cmV0dXJuIHgodCk7Y2FzZSJbb2JqZWN0IFN5bWJvbF0iOnJldHVybiBTKHQpfX07dmFyIEI9cig4MDc1NzUpLFA9cigyOTU2MzUpLGs9cig2NTkwMTgpLHo9cig2NzI1MTEpLEM9cig4ODAxMTUpLEQ9cigzNjA2MjApO2NvbnN0IEY9ZnVuY3Rpb24odCl7cmV0dXJuKDAsRC5kZWZhdWx0KSh0KSYmIltvYmplY3QgU2V0XSI9PSgwLGcuZGVmYXVsdCkodCl9O3ZhciBMPXIoODk5MzM5KSxOPXIoMzY5ODk5KSxXPU4uZGVmYXVsdCYmTi5kZWZhdWx0LmlzU2V0O2NvbnN0IFY9Vz8oMCxMLmRlZmF1bHQpKFcpOkY7dmFyICQ9IltvYmplY3QgQXJndW1lbnRzXSIsUj0iW29iamVjdCBGdW5jdGlvbl0iLHE9IltvYmplY3QgT2JqZWN0XSIsRz17fTtHWyRdPUdbIltvYmplY3QgQXJyYXldIl09R1siW29iamVjdCBBcnJheUJ1ZmZlcl0iXT1HWyJbb2JqZWN0IERhdGFWaWV3XSJdPUdbIltvYmplY3QgQm9vbGVhbl0iXT1HWyJbb2JqZWN0IERhdGVdIl09R1siW29iamVjdCBGbG9hdDMyQXJyYXldIl09R1siW29iamVjdCBGbG9hdDY0QXJyYXldIl09R1siW29iamVjdCBJbnQ4QXJyYXldIl09R1siW29iamVjdCBJbnQxNkFycmF5XSJdPUdbIltvYmplY3QgSW50MzJBcnJheV0iXT1HWyJbb2JqZWN0IE1hcF0iXT1HWyJbb2JqZWN0IE51bWJlcl0iXT1HW3FdPUdbIltvYmplY3QgUmVnRXhwXSJdPUdbIltvYmplY3QgU2V0XSJdPUdbIltvYmplY3QgU3RyaW5nXSJdPUdbIltvYmplY3QgU3ltYm9sXSJdPUdbIltvYmplY3QgVWludDhBcnJheV0iXT1HWyJbb2JqZWN0IFVpbnQ4Q2xhbXBlZEFycmF5XSJdPUdbIltvYmplY3QgVWludDE2QXJyYXldIl09R1siW29iamVjdCBVaW50MzJBcnJheV0iXT0hMCxHWyJbb2JqZWN0IEVycm9yXSJdPUdbUl09R1siW29iamVjdCBXZWFrTWFwXSJdPSExO2NvbnN0IEg9ZnVuY3Rpb24gdChlLHIsbyx2LGIsdyl7dmFyIEEsbT0xJnIsTz0yJnIseD00JnI7aWYobyYmKEE9Yj9vKGUsdixiLHcpOm8oZSkpLHZvaWQgMCE9PUEpcmV0dXJuIEE7aWYoISgwLEMuZGVmYXVsdCkoZSkpcmV0dXJuIGU7dmFyIFU9KDAsUC5kZWZhdWx0KShlKTtpZihVKXtpZihBPV8oZSksIW0pcmV0dXJuKDAsZC5kZWZhdWx0KShlLEEpfWVsc2V7dmFyIEU9KDAsZy5kZWZhdWx0KShlKSxUPUU9PVJ8fCJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSI9PUU7aWYoKDAsay5kZWZhdWx0KShlKSlyZXR1cm4oMCxsLmRlZmF1bHQpKGUsbSk7aWYoRT09cXx8RT09JHx8VCYmIWIpe2lmKEE9T3x8VD97fTooMCxCLmRlZmF1bHQpKGUpLCFtKXJldHVybiBPP3koZSxpKEEsZSkpOnAoZSxmKEEsZSkpfWVsc2V7aWYoIUdbRV0pcmV0dXJuIGI/ZTp7fTtBPU0oZSxFLG0pfX13fHwodz1uZXcgbi5kZWZhdWx0KTt2YXIgUz13LmdldChlKTtpZihTKXJldHVybiBTO3cuc2V0KGUsQSksVihlKT9lLmZvckVhY2goKGZ1bmN0aW9uKG4pe0EuYWRkKHQobixyLG8sbixlLHcpKX0pKTooMCx6LmRlZmF1bHQpKGUpJiZlLmZvckVhY2goKGZ1bmN0aW9uKG4sdSl7QS5zZXQodSx0KG4scixvLHUsZSx3KSl9KSk7dmFyIEk9eD9PP2ouZGVmYXVsdDpoLmRlZmF1bHQ6Tz9zLmRlZmF1bHQ6Yy5kZWZhdWx0LEQ9VT92b2lkIDA6SShlKTtyZXR1cm4oMCx1LmRlZmF1bHQpKER8fGUsKGZ1bmN0aW9uKG4sdSl7RCYmKG49ZVt1PW5dKSwoMCxhLmRlZmF1bHQpKEEsdSx0KG4scixvLHUsZSx3KSl9KSksQX19LDg1MTA4Mih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cig4ODAxMTUpLHU9T2JqZWN0LmNyZWF0ZTtjb25zdCBhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe31yZXR1cm4gZnVuY3Rpb24oZSl7aWYoISgwLG4uZGVmYXVsdCkoZSkpcmV0dXJue307aWYodSlyZXR1cm4gdShlKTt0LnByb3RvdHlwZT1lO3ZhciByPW5ldyB0O3JldHVybiB0LnByb3RvdHlwZT12b2lkIDAscn19KCl9LDY4ODk2NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUscixuKXtmb3IodmFyIHU9dC5sZW5ndGgsYT1yKyhuPzE6LTEpO24/YS0tOisrYTx1OylpZihlKHRbYV0sYSx0KSlyZXR1cm4gYTtyZXR1cm4tMX19LDkxNjA4NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cig0NDg2MjYpLHU9cigyOTU2MzUpO2NvbnN0IGE9ZnVuY3Rpb24odCxlLHIpe3ZhciBhPWUodCk7cmV0dXJuKDAsdS5kZWZhdWx0KSh0KT9hOigwLG4uZGVmYXVsdCkoYSxyKHQpKX19LDgzMDg3NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig2OTM5NDEpO2NvbnN0IHU9KDAscigxMzk4NDkpLmRlZmF1bHQpKE9iamVjdC5rZXlzLE9iamVjdCk7dmFyIGE9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBvPWZ1bmN0aW9uKHQpe2lmKCEoMCxuLmRlZmF1bHQpKHQpKXJldHVybiB1KHQpO3ZhciBlPVtdO2Zvcih2YXIgciBpbiBPYmplY3QodCkpYS5jYWxsKHQscikmJiJjb25zdHJ1Y3RvciIhPXImJmUucHVzaChyKTtyZXR1cm4gZX19LDg5OTMzOSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQoZSl9fX0sNzEyODAxKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuaGFzKGUpfX0sCjM3NzI1MSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT51fSk7dmFyIG49cig4NjUzMzApO2NvbnN0IHU9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IHQuY29uc3RydWN0b3IodC5ieXRlTGVuZ3RoKTtyZXR1cm4gbmV3IG4uZGVmYXVsdChlKS5zZXQobmV3IG4uZGVmYXVsdCh0KSksZX19LDQ4NzA2MCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5mfSk7dmFyIG49cig5ODE1MjMpLHU9Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiZleHBvcnRzJiYhZXhwb3J0cy5ub2RlVHlwZSYmZXhwb3J0cyxhPXUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUmJiFtb2R1bGUubm9kZVR5cGUmJm1vZHVsZSxvPWEmJmEuZXhwb3J0cz09PXU/bi5kZWZhdWx0LkJ1ZmZlcjp2b2lkIDAsYz1vP28uYWxsb2NVbnNhZmU6dm9pZCAwO2NvbnN0IGY9ZnVuY3Rpb24odCxlKXtpZihlKXJldHVybiB0LnNsaWNlKCk7dmFyIHI9dC5sZW5ndGgsbj1jP2Mocik6bmV3IHQuY29uc3RydWN0b3Iocik7cmV0dXJuIHQuY29weShuKSxufX0sMTM5MDcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+dX0pO3ZhciBuPXIoMzc3MjUxKTtjb25zdCB1PWZ1bmN0aW9uKHQsZSl7dmFyIHI9ZT8oMCxuLmRlZmF1bHQpKHQuYnVmZmVyKTp0LmJ1ZmZlcjtyZXR1cm4gbmV3IHQuY29uc3RydWN0b3Iocix0LmJ5dGVPZmZzZXQsdC5sZW5ndGgpfX0sNzA1NzQ5KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKHQsZSl7dmFyIHI9LTEsbj10Lmxlbmd0aDtmb3IoZXx8KGU9QXJyYXkobikpOysrcjxuOyllW3JdPXRbcl07cmV0dXJuIGV9fSw2MTg1Nyh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cigxNjg1MzMpLHU9cigyNTQ3MzgpO2NvbnN0IGE9ZnVuY3Rpb24odCxlLHIsYSl7dmFyIG89IXI7cnx8KHI9e30pO2Zvcih2YXIgYz0tMSxmPWUubGVuZ3RoOysrYzxmOyl7dmFyIHM9ZVtjXSxpPWE/YShyW3NdLHRbc10scyxyLHQpOnZvaWQgMDt2b2lkIDA9PT1pJiYoaT10W3NdKSxvPygwLHUuZGVmYXVsdCkocixzLGkpOigwLG4uZGVmYXVsdCkocixzLGkpfXJldHVybiByfX0sMzYwNDkodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+dX0pO3ZhciBuPXIoMTYyMzE2KTtjb25zdCB1PWZ1bmN0aW9uKCl7dHJ5e3ZhciB0PSgwLG4uZGVmYXVsdCkoT2JqZWN0LCJkZWZpbmVQcm9wZXJ0eSIpO3JldHVybiB0KHt9LCIiLHt9KSx0fWNhdGNoKHQpe319KCl9LDgwNjI0MCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig5MTYwODUpLHU9cigyMzA5NTEpLGE9cigzMDkwODApO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuKDAsbi5kZWZhdWx0KSh0LGEuZGVmYXVsdCx1LmRlZmF1bHQpfX0sOTkxNTk5KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm99KTt2YXIgbj1yKDkxNjA4NSksdT1yKDExNjY0MSksYT1yKDIxNzQ1Nyk7Y29uc3Qgbz1mdW5jdGlvbih0KXtyZXR1cm4oMCxuLmRlZmF1bHQpKHQsYS5kZWZhdWx0LHUuZGVmYXVsdCl9fSwzOTI1NDUodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49KDAscigxMzk4NDkpLmRlZmF1bHQpKE9iamVjdC5nZXRQcm90b3R5cGVPZixPYmplY3QpfSwyMzA5NTEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+Y30pO2NvbnN0IG49ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9LTEsbj1udWxsPT10PzA6dC5sZW5ndGgsdT0wLGE9W107KytyPG47KXt2YXIgbz10W3JdO2UobyxyLHQpJiYoYVt1KytdPW8pfXJldHVybiBhfTt2YXIgdT1yKDE3NzY1NSksYT1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLG89T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scztjb25zdCBjPW8/ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/W106KHQ9T2JqZWN0KHQpLG4obyh0KSwoZnVuY3Rpb24oZSl7cmV0dXJuIGEuY2FsbCh0LGUpfSkpKX06dS5kZWZhdWx0fSwxMTY2NDEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+Y30pO3ZhciBuPXIoNDQ4NjI2KSx1PXIoMzkyNTQ1KSxhPXIoMjMwOTUxKSxvPXIoMTc3NjU1KTtjb25zdCBjPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM/ZnVuY3Rpb24odCl7Zm9yKHZhciBlPVtdO3Q7KSgwLG4uZGVmYXVsdCkoZSwoMCxhLmRlZmF1bHQpKHQpKSx0PSgwLHUuZGVmYXVsdCkodCk7cmV0dXJuIGV9Om8uZGVmYXVsdH0sOTY5Nzg1KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm19KTt2YXIgbj1yKDE2MjMxNiksdT1yKDk4MTUyMyk7Y29uc3QgYT0oMCxuLmRlZmF1bHQpKHUuZGVmYXVsdCwiRGF0YVZpZXciKTt2YXIgbz1yKDY5NDIxKTtjb25zdCBjPSgwLG4uZGVmYXVsdCkodS5kZWZhdWx0LCJQcm9taXNlIik7dmFyIGY9cig0MTQxMjMpLHM9cig5Mjg0NTMpLGk9cigxNzg0OTcpLGw9cig3MzA1MDMpLGQ9IltvYmplY3QgTWFwXSIsdj0iW29iamVjdCBQcm9taXNlXSIscD0iW29iamVjdCBTZXRdIixiPSJbb2JqZWN0IFdlYWtNYXBdIix5PSJbb2JqZWN0IERhdGFWaWV3XSIsaD0oMCxsLmRlZmF1bHQpKGEpLGo9KDAsbC5kZWZhdWx0KShvLmRlZmF1bHQpLGc9KDAsbC5kZWZhdWx0KShjKSx3PSgwLGwuZGVmYXVsdCkoZi5kZWZhdWx0KSxfPSgwLGwuZGVmYXVsdCkocy5kZWZhdWx0KSxBPWkuZGVmYXVsdDsoYSYmQShuZXcgYShuZXcgQXJyYXlCdWZmZXIoMSkpKSE9eXx8by5kZWZhdWx0JiZBKG5ldyBvLmRlZmF1bHQpIT1kfHxjJiZBKGMucmVzb2x2ZSgpKSE9dnx8Zi5kZWZhdWx0JiZBKG5ldyBmLmRlZmF1bHQpIT1wfHxzLmRlZmF1bHQmJkEobmV3IHMuZGVmYXVsdCkhPWIpJiYoQT1mdW5jdGlvbih0KXt2YXIgZT0oMCxpLmRlZmF1bHQpKHQpLHI9IltvYmplY3QgT2JqZWN0XSI9PWU/dC5jb25zdHJ1Y3Rvcjp2b2lkIDAsbj1yPygwLGwuZGVmYXVsdCkocik6IiI7aWYobilzd2l0Y2gobil7Y2FzZSBoOgpyZXR1cm4geTtjYXNlIGo6cmV0dXJuIGQ7Y2FzZSBnOnJldHVybiB2O2Nhc2UgdzpyZXR1cm4gcDtjYXNlIF86cmV0dXJuIGJ9cmV0dXJuIGV9KTtjb25zdCBtPUF9LDgwNzU3NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig4NTEwODIpLHU9cigzOTI1NDUpLGE9cig2OTM5NDEpO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuImZ1bmN0aW9uIiE9dHlwZW9mIHQuY29uc3RydWN0b3J8fCgwLGEuZGVmYXVsdCkodCk/e306KDAsbi5kZWZhdWx0KSgoMCx1LmRlZmF1bHQpKHQpKX19LDkyMTE0Myh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT51fSk7dmFyIG49L14oPzowfFsxLTldXGQqKSQvO2NvbnN0IHU9ZnVuY3Rpb24odCxlKXt2YXIgcj10eXBlb2YgdDtyZXR1cm4hIShlPWU/PzkwMDcxOTkyNTQ3NDA5OTEpJiYoIm51bWJlciI9PXJ8fCJzeW1ib2wiIT1yJiZuLnRlc3QodCkpJiZ0Pi0xJiZ0JTE9PTAmJnQ8ZX19LDY5Mzk0MSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT51fSk7dmFyIG49T2JqZWN0LnByb3RvdHlwZTtjb25zdCB1PWZ1bmN0aW9uKHQpe3ZhciBlPXQmJnQuY29uc3RydWN0b3I7cmV0dXJuIHQ9PT0oImZ1bmN0aW9uIj09dHlwZW9mIGUmJmUucHJvdG90eXBlfHxuKX19LDM2OTg5OSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5jfSk7dmFyIG49cig2MDI5NDIpLHU9Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiZleHBvcnRzJiYhZXhwb3J0cy5ub2RlVHlwZSYmZXhwb3J0cyxhPXUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUmJiFtb2R1bGUubm9kZVR5cGUmJm1vZHVsZSxvPWEmJmEuZXhwb3J0cz09PXUmJm4uZGVmYXVsdC5wcm9jZXNzO2NvbnN0IGM9ZnVuY3Rpb24oKXt0cnl7dmFyIHQ9YSYmYS5yZXF1aXJlJiZhLnJlcXVpcmUoInV0aWwiKS50eXBlcztyZXR1cm4gdHx8byYmby5iaW5kaW5nJiZvLmJpbmRpbmcoInV0aWwiKX1jYXRjaCh0KXt9fSgpfSwxMzk4NDkodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49ZnVuY3Rpb24odCxlKXtyZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIHQoZShyKSl9fX0sOTcyMDE3KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKHQpe3ZhciBlPS0xLHI9QXJyYXkodC5zaXplKTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbih0KXtyWysrZV09dH0pKSxyfX0sMjAzNjgxKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgbj1yKDQ5MzAxOCk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4oMCxuLmRlZmF1bHQpKHQsNSl9fSw1NDc4NTEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+c30pO3ZhciBuPXIoODgwMTE1KSx1PXIoOTgxNTIzKTtjb25zdCBhPWZ1bmN0aW9uKCl7cmV0dXJuIHUuZGVmYXVsdC5EYXRlLm5vdygpfTt2YXIgbz1yKDQwNjQ0OSksYz1NYXRoLm1heCxmPU1hdGgubWluO2NvbnN0IHM9ZnVuY3Rpb24odCxlLHIpe3ZhciB1LHMsaSxsLGQsdixwPTAsYj0hMSx5PSExLGg9ITA7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhwZWN0ZWQgYSBmdW5jdGlvbiIpO2Z1bmN0aW9uIGooZSl7dmFyIHI9dSxuPXM7cmV0dXJuIHU9cz12b2lkIDAscD1lLGw9dC5hcHBseShuLHIpfWZ1bmN0aW9uIGcodCl7dmFyIHI9dC12O3JldHVybiB2b2lkIDA9PT12fHxyPj1lfHxyPDB8fHkmJnQtcD49aX1mdW5jdGlvbiB3KCl7dmFyIHQ9YSgpO2lmKGcodCkpcmV0dXJuIF8odCk7ZD1zZXRUaW1lb3V0KHcsZnVuY3Rpb24odCl7dmFyIHI9ZS0odC12KTtyZXR1cm4geT9mKHIsaS0odC1wKSk6cn0odCkpfWZ1bmN0aW9uIF8odCl7cmV0dXJuIGQ9dm9pZCAwLGgmJnU/aih0KToodT1zPXZvaWQgMCxsKX1mdW5jdGlvbiBBKCl7dmFyIHQ9YSgpLHI9Zyh0KTtpZih1PWFyZ3VtZW50cyxzPXRoaXMsdj10LHIpe2lmKHZvaWQgMD09PWQpcmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBwPXQsZD1zZXRUaW1lb3V0KHcsZSksYj9qKHQpOmx9KHYpO2lmKHkpcmV0dXJuIGNsZWFyVGltZW91dChkKSxkPXNldFRpbWVvdXQodyxlKSxqKHYpfXJldHVybiB2b2lkIDA9PT1kJiYoZD1zZXRUaW1lb3V0KHcsZSkpLGx9cmV0dXJuIGU9KDAsby5kZWZhdWx0KShlKXx8MCwoMCxuLmRlZmF1bHQpKHIpJiYoYj0hIXIubGVhZGluZyxpPSh5PSJtYXhXYWl0ImluIHIpP2MoKDAsby5kZWZhdWx0KShyLm1heFdhaXQpfHwwLGUpOmksaD0idHJhaWxpbmciaW4gcj8hIXIudHJhaWxpbmc6aCksQS5jYW5jZWw9ZnVuY3Rpb24oKXt2b2lkIDAhPT1kJiZjbGVhclRpbWVvdXQoZCkscD0wLHU9dj1zPWQ9dm9pZCAwfSxBLmZsdXNoPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMD09PWQ/bDpfKGEoKSl9LEF9fSw1MzE1NTcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+aX0pO3ZhciBuPXIoMTc4NDk3KSx1PXIoMzYwNjIwKTtjb25zdCBhPWZ1bmN0aW9uKHQpe3JldHVybigwLHUuZGVmYXVsdCkodCkmJiJbb2JqZWN0IEFyZ3VtZW50c10iPT0oMCxuLmRlZmF1bHQpKHQpfTt2YXIgbz1PYmplY3QucHJvdG90eXBlLGM9by5oYXNPd25Qcm9wZXJ0eSxmPW8ucHJvcGVydHlJc0VudW1lcmFibGUscz1hKGZ1bmN0aW9uKCl7cmV0dXJuIGFyZ3VtZW50c30oKSk/YTpmdW5jdGlvbih0KXtyZXR1cm4oMCx1LmRlZmF1bHQpKHQpJiZjLmNhbGwodCwiY2FsbGVlIikmJiFmLmNhbGwodCwiY2FsbGVlIil9O2NvbnN0IGk9c30sMjk1NjM1KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPUFycmF5LmlzQXJyYXl9LDM5MjkwOCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cig5MjgxMzIpLHU9cig5OTA2MDQpO2NvbnN0IGE9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGwhPXQmJigwLHUuZGVmYXVsdCkodC5sZW5ndGgpJiYhKDAsbi5kZWZhdWx0KSh0KX19LDY1OTAxOCh0LGUscil7CiJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+Zn0pO3ZhciBuPXIoOTgxNTIzKTtjb25zdCB1PWZ1bmN0aW9uKCl7cmV0dXJuITF9O3ZhciBhPSJvYmplY3QiPT10eXBlb2YgZXhwb3J0cyYmZXhwb3J0cyYmIWV4cG9ydHMubm9kZVR5cGUmJmV4cG9ydHMsbz1hJiYib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmbW9kdWxlJiYhbW9kdWxlLm5vZGVUeXBlJiZtb2R1bGUsYz1vJiZvLmV4cG9ydHM9PT1hP24uZGVmYXVsdC5CdWZmZXI6dm9pZCAwO2NvbnN0IGY9KGM/Yy5pc0J1ZmZlcjp2b2lkIDApfHx1fSw5OTA2MDQodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49ZnVuY3Rpb24odCl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0JiZ0Pi0xJiZ0JTE9PTAmJnQ8PTkwMDcxOTkyNTQ3NDA5OTF9fSw2NzI1MTEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+c30pO3ZhciBuPXIoOTY5Nzg1KSx1PXIoMzYwNjIwKTtjb25zdCBhPWZ1bmN0aW9uKHQpe3JldHVybigwLHUuZGVmYXVsdCkodCkmJiJbb2JqZWN0IE1hcF0iPT0oMCxuLmRlZmF1bHQpKHQpfTt2YXIgbz1yKDg5OTMzOSksYz1yKDM2OTg5OSksZj1jLmRlZmF1bHQmJmMuZGVmYXVsdC5pc01hcDtjb25zdCBzPWY/KDAsby5kZWZhdWx0KShmKTphfSwzNjA2MjAodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49ZnVuY3Rpb24odCl7cmV0dXJuIG51bGwhPXQmJiJvYmplY3QiPT10eXBlb2YgdH19LDcxNzMzMih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cigxNzg0OTcpLHU9cigzNjA2MjApO2NvbnN0IGE9ZnVuY3Rpb24odCl7cmV0dXJuInN5bWJvbCI9PXR5cGVvZiB0fHwoMCx1LmRlZmF1bHQpKHQpJiYiW29iamVjdCBTeW1ib2xdIj09KDAsbi5kZWZhdWx0KSh0KX19LDE2NTI2Nyh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5sfSk7dmFyIG49cigxNzg0OTcpLHU9cig5OTA2MDQpLGE9cigzNjA2MjApLG89e307b1siW29iamVjdCBGbG9hdDMyQXJyYXldIl09b1siW29iamVjdCBGbG9hdDY0QXJyYXldIl09b1siW29iamVjdCBJbnQ4QXJyYXldIl09b1siW29iamVjdCBJbnQxNkFycmF5XSJdPW9bIltvYmplY3QgSW50MzJBcnJheV0iXT1vWyJbb2JqZWN0IFVpbnQ4QXJyYXldIl09b1siW29iamVjdCBVaW50OENsYW1wZWRBcnJheV0iXT1vWyJbb2JqZWN0IFVpbnQxNkFycmF5XSJdPW9bIltvYmplY3QgVWludDMyQXJyYXldIl09ITAsb1siW29iamVjdCBBcmd1bWVudHNdIl09b1siW29iamVjdCBBcnJheV0iXT1vWyJbb2JqZWN0IEFycmF5QnVmZmVyXSJdPW9bIltvYmplY3QgQm9vbGVhbl0iXT1vWyJbb2JqZWN0IERhdGFWaWV3XSJdPW9bIltvYmplY3QgRGF0ZV0iXT1vWyJbb2JqZWN0IEVycm9yXSJdPW9bIltvYmplY3QgRnVuY3Rpb25dIl09b1siW29iamVjdCBNYXBdIl09b1siW29iamVjdCBOdW1iZXJdIl09b1siW29iamVjdCBPYmplY3RdIl09b1siW29iamVjdCBSZWdFeHBdIl09b1siW29iamVjdCBTZXRdIl09b1siW29iamVjdCBTdHJpbmddIl09b1siW29iamVjdCBXZWFrTWFwXSJdPSExO2NvbnN0IGM9ZnVuY3Rpb24odCl7cmV0dXJuKDAsYS5kZWZhdWx0KSh0KSYmKDAsdS5kZWZhdWx0KSh0Lmxlbmd0aCkmJiEhb1soMCxuLmRlZmF1bHQpKHQpXX07dmFyIGY9cig4OTkzMzkpLHM9cigzNjk4OTkpLGk9cy5kZWZhdWx0JiZzLmRlZmF1bHQuaXNUeXBlZEFycmF5O2NvbnN0IGw9aT8oMCxmLmRlZmF1bHQpKGkpOmN9LDMwOTA4MCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig4MjA5NzUpLHU9cig4MzA4NzUpLGE9cigzOTI5MDgpO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuKDAsYS5kZWZhdWx0KSh0KT8oMCxuLmRlZmF1bHQpKHQpOigwLHUuZGVmYXVsdCkodCl9fSwyMTc0NTcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+aX0pO3ZhciBuPXIoODIwOTc1KSx1PXIoODgwMTE1KSxhPXIoNjkzOTQxKTtjb25zdCBvPWZ1bmN0aW9uKHQpe3ZhciBlPVtdO2lmKG51bGwhPXQpZm9yKHZhciByIGluIE9iamVjdCh0KSllLnB1c2gocik7cmV0dXJuIGV9O3ZhciBjPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7Y29uc3QgZj1mdW5jdGlvbih0KXtpZighKDAsdS5kZWZhdWx0KSh0KSlyZXR1cm4gbyh0KTt2YXIgZT0oMCxhLmRlZmF1bHQpKHQpLHI9W107Zm9yKHZhciBuIGluIHQpKCJjb25zdHJ1Y3RvciIhPW58fCFlJiZjLmNhbGwodCxuKSkmJnIucHVzaChuKTtyZXR1cm4gcn07dmFyIHM9cigzOTI5MDgpO2NvbnN0IGk9ZnVuY3Rpb24odCl7cmV0dXJuKDAscy5kZWZhdWx0KSh0KT8oMCxuLmRlZmF1bHQpKHQsITApOmYodCl9fSw2NjMwNDYodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBuPXIoNzEzMTQ4KTtmdW5jdGlvbiB1KHQsZSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHR8fG51bGwhPWUmJiJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGEgZnVuY3Rpb24iKTt2YXIgcj1mdW5jdGlvbigpe3ZhciBuPWFyZ3VtZW50cyx1PWU/ZS5hcHBseSh0aGlzLG4pOm5bMF0sYT1yLmNhY2hlO2lmKGEuaGFzKHUpKXJldHVybiBhLmdldCh1KTt2YXIgbz10LmFwcGx5KHRoaXMsbik7cmV0dXJuIHIuY2FjaGU9YS5zZXQodSxvKXx8YSxvfTtyZXR1cm4gci5jYWNoZT1uZXcodS5DYWNoZXx8bi5kZWZhdWx0KSxyfXUuQ2FjaGU9bi5kZWZhdWx0O2NvbnN0IGE9dX0sODYyMzg4KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKCl7fX0sMTc3NjU1KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKCl7cmV0dXJuW119fSw1ODcxNjgodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBuPXIoNTQ3ODUxKSx1PXIoODgwMTE1KTtjb25zdCBhPWZ1bmN0aW9uKHQsZSxyKXsKdmFyIGE9ITAsbz0hMDtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBhIGZ1bmN0aW9uIik7cmV0dXJuKDAsdS5kZWZhdWx0KShyKSYmKGE9ImxlYWRpbmciaW4gcj8hIXIubGVhZGluZzphLG89InRyYWlsaW5nImluIHI/ISFyLnRyYWlsaW5nOm8pLCgwLG4uZGVmYXVsdCkodCxlLHtsZWFkaW5nOmEsbWF4V2FpdDplLHRyYWlsaW5nOm99KX19LDQwNjQ0OSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT52fSk7dmFyIG49L1xzLztjb25zdCB1PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10Lmxlbmd0aDtlLS0mJm4udGVzdCh0LmNoYXJBdChlKSk7KTtyZXR1cm4gZX07dmFyIGE9L15ccysvO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuIHQ/dC5zbGljZSgwLHUodCkrMSkucmVwbGFjZShhLCIiKTp0fTt2YXIgYz1yKDg4MDExNSksZj1yKDcxNzMzMikscz0vXlstK10weFswLTlhLWZdKyQvaSxpPS9eMGJbMDFdKyQvaSxsPS9eMG9bMC03XSskL2ksZD1wYXJzZUludDtjb25zdCB2PWZ1bmN0aW9uKHQpe2lmKCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gdDtpZigoMCxmLmRlZmF1bHQpKHQpKXJldHVybiBOYU47aWYoKDAsYy5kZWZhdWx0KSh0KSl7dmFyIGU9ImZ1bmN0aW9uIj09dHlwZW9mIHQudmFsdWVPZj90LnZhbHVlT2YoKTp0O3Q9KDAsYy5kZWZhdWx0KShlKT9lKyIiOmV9aWYoInN0cmluZyIhPXR5cGVvZiB0KXJldHVybiAwPT09dD90Oit0O3Q9byh0KTt2YXIgcj1pLnRlc3QodCk7cmV0dXJuIHJ8fGwudGVzdCh0KT9kKHQuc2xpY2UoMikscj8yOjgpOnMudGVzdCh0KT9OYU46K3R9fSwzNTI4MzcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+ZH0pO3ZhciBuPXIoMjY5MzY2KSx1PXIoMjI0NDE2KSxhPXIoODI1MDM5KSxvPXIoNzEyODAxKSxjPXIoNDE0MTIzKSxmPXIoODYyMzg4KSxzPXIoOTcyMDE3KTtjb25zdCBpPWMuZGVmYXVsdCYmMS8oMCxzLmRlZmF1bHQpKG5ldyBjLmRlZmF1bHQoWywtMF0pKVsxXT09MS8wP2Z1bmN0aW9uKHQpe3JldHVybiBuZXcgYy5kZWZhdWx0KHQpfTpmLmRlZmF1bHQ7Y29uc3QgbD1mdW5jdGlvbih0LGUscil7dmFyIGM9LTEsZj11LmRlZmF1bHQsbD10Lmxlbmd0aCxkPSEwLHY9W10scD12O2lmKHIpZD0hMSxmPWEuZGVmYXVsdDtlbHNlIGlmKGw+PTIwMCl7dmFyIGI9ZT9udWxsOmkodCk7aWYoYilyZXR1cm4oMCxzLmRlZmF1bHQpKGIpO2Q9ITEsZj1vLmRlZmF1bHQscD1uZXcgbi5kZWZhdWx0fWVsc2UgcD1lP1tdOnY7dDpmb3IoOysrYzxsOyl7dmFyIHk9dFtjXSxoPWU/ZSh5KTp5O2lmKHk9cnx8MCE9PXk/eTowLGQmJmg9PWgpe2Zvcih2YXIgaj1wLmxlbmd0aDtqLS07KWlmKHBbal09PT1oKWNvbnRpbnVlIHQ7ZSYmcC5wdXNoKGgpLHYucHVzaCh5KX1lbHNlIGYocCxoLHIpfHwocCE9PXYmJnAucHVzaChoKSx2LnB1c2goeSkpfXJldHVybiB2fTtjb25zdCBkPWZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0Lmxlbmd0aD9sKHQpOltdfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/img/logo_w.png","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.158Z","timestamp":1785120633158,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /img/logo_w.png HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: image/png\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-4ed32\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":322866,"size_decoded":319663,"mime_type":"image/png","magic":"PNG image data, 1024 x 1024, 8-bit/color RGBA, non-interlaced","md5":"b8cd1317e5c3efc7316e7c4c4c01bc19","sha1":"4e01118f8645329c75274a246b2d50dc7068f1bd","sha256":"f11b7cb43e39c72cc14803662df8de137ef55c51ecd92be8c85ef6faab6e407c","sha512":"f7bae79021d4b8b3fca6ae4375809ec773797bb36fe5639d6c2227f1437c641bee8fb275888aead30dd885a8446dedc6e026b204ab5df2962300e35e56fbcd10","ssdeep":"6144:9orDo4OGQYQr+vA7KpBxQR9cb8mRLLi6LOYdoHtkFuqOj7mSP4qB:9qBQYPA7KqR9eRLO6zoHtGdOZPJ","tlshash":"f064233222fde81c1da62933f979bf815c548b8ee2b0c5b319bfa58d32637fa5044591","first_seen":"2026-07-27T02:45:25.129981Z","last_seen":"2026-07-27T02:59:54.51556Z","times_seen":4,"resource_available":false,"data":"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jriGf654A0BERM/CUUHskzBddHsCUVJb+Sedz66eEgE1Tz5Pb55bkyeXhjI8aLHd/1GE134iomfqZGd/etZO3ASAOwARES0jOeH0/dB9zpPO9y0+87jzk+u2w/xEREQ//Hi+fr6xCQARERERERHREmACgIiIiIiIiGgJMAFAREREREREtASYACAiIiIiIiJaAkwAEBERERERES0BJgCIiIiIiIiIlgATAERERERERERLgAkAIiIiIiIioiXABAARERERERHREmACgIiIiIiIiGgJMAFAREREREREtASYACAiIiIiIiJaAkwAEBERERERES0BJgCIiIiIiIiIloAMf+ZPLy57rsjiAnoiuriAiIiIiOgH6Fnfv/P+9/n2rPef5x1rABAREREREREtASYAiIiIiIiIiJYAEwBERERERERES4AJACIiIiIiIqIlwAQAERERERER0RJgAoCIiIiIiIhoCTABQERERERERLQEmAAgIiIiIiIiWgJMABAREREREREtASYAiIiIiIiIiJYAEwBERERERERES4AJACIiIiIiIqIlwAQAERERERER0RJgAoCIiIiIiIhoCTABQERERERERLQEbHHpTQjwzCYiIiIiIiL6fCzGY5/3dFLfj89YZqwBQERERERERLQEmAAgIiIiIiIiWgJMABAREREREREtASYAiIiIiIiIiJYAEwBERERERERES4AJACIiIiIiIqIlwAQAERERERER0RJgAoCIiIiIiIhoCTABQERERERERLQEmAAgIiIiIiIiWgJMABAREREREREtASYAiIiIiIiIiJYAEwBERERERERES4AJACIiIiIiIqIlwAQAERERERER0RL4/8wBWFqmtREjAAAAAElFTkSuQmCC"}},"time_used":117,"timings":{"blocked":30,"dns":0,"connect":0,"send":0,"wait":29,"receive":58,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":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":"104.21.63.32","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.685Z","timestamp":1785120633685,"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://247optiontradefx.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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 200 \r\nx-amz-id-2: j4JbaE+1OAQ01dbRmtoaMgm5FE8oW+TAjdRBLrOHM6QgcK7n90ny8IZZ73Q6G3ILfkzHZOgLmMg=\r\nx-amz-request-id: KH85E3PFM52W5MF7\r\ndate: Mon, 27 Jul 2026 02:50:33 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: 369\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=i5cRXxPkmQC%2Ffe7%2Bqwn47n05MR5YescH5%2BI%2FK5bUOp6AZK88NtjUkTHhZTOr8a3nUCitnn8Bj2YP2LvRYhT%2B9vmc2112wwQ9WTDjMoA1%2BeYUtS1dhPoUnWYLy%2B8dCfq%2Fs63h4En%2FO%2FYMIjbC\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=4,i\r\ncf-ray: a21856589ac88be6-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":25499,"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-07-27T05:21:09.048204Z","times_seen":972,"resource_available":false,"data":"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"}},"time_used":26,"timings":{"blocked":-1,"dns":2,"connect":0,"send":0,"wait":8,"receive":4,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/70364.644cb93441690c829ab9.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.996Z","timestamp":1785120633996,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/70364.644cb93441690c829ab9.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58aaad-2ba\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:55:57 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:11:29\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e45b6c8d181be9955b33e0ac5978cddd\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":698,"size_decoded":997,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (698), with no line terminators","md5":"bd271563b2387cb959a02a85476d20fc","sha1":"0e477a102b7f0c4aaac868f1244ee975d076a676","sha256":"a83a53bf9ef309ae736122159bb8a92c91735729ea3ec8a987d276eb936f787c","sha512":"c3dca5bcc3a0566d7726e04a16dfa6943da394b3d4663ee7721db0397913c34ec2aecbd0e061d4c03ccc091d390facff787c481c5ac209516320eb33350e9bdb","ssdeep":"","tlshash":"1d01ec6b92e8b15320ff7e3ca96cc2d92570da624f84a6ec719c3aa487456754610934","first_seen":"2026-03-31T19:29:24.868047Z","last_seen":"2026-07-27T05:29:38.749688Z","times_seen":396,"resource_available":false,"data":"LndyYXBwZXItUFE1T18xTTcudG91Y2gtUFE1T18xTTcud3JhcHBlci1QUTVPXzFNNy50b3VjaC1QUTVPXzFNN3tvdmVyZmxvdy15OmF1dG87LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2h9LndyYXBwZXItUFE1T18xTTcudG91Y2gtUFE1T18xTTcud3JhcHBlci1QUTVPXzFNNy50b3VjaC1QUTVPXzFNNzo6LXdlYmtpdC1zY3JvbGxiYXJ7aGVpZ2h0OjVweDt3aWR0aDo1cHh9LndyYXBwZXItUFE1T18xTTcudG91Y2gtUFE1T18xTTcud3JhcHBlci1QUTVPXzFNNy50b3VjaC1QUTVPXzFNNzo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSk7Ym9yZGVyOjFweCBzb2xpZCAjMDAwMDtib3JkZXItcmFkaXVzOjNweH0ud3JhcHBlci1QUTVPXzFNNy50b3VjaC1QUTVPXzFNNy53cmFwcGVyLVBRNU9fMU03LnRvdWNoLVBRNU9fMU03Ojotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyLXJhZGl1czozcHh9LndyYXBwZXItUFE1T18xTTcudG91Y2gtUFE1T18xTTcud3JhcHBlci1QUTVPXzFNNy50b3VjaC1QUTVPXzFNNzo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/9488.09f269f8b26b2b00a8b7.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.997Z","timestamp":1785120633997,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/9488.09f269f8b26b2b00a8b7.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a6328d1-a1b\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:56:49 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:33:39\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: f52d61a13400bdc19632fc4b593df7b1\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2587,"size_decoded":1535,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2587), with no line terminators","md5":"275a3aff3912902e8be1e478039dcc68","sha1":"56cb8c5a6ac35dac135d312b22a8f19eccf84dfa","sha256":"cd8a39ef3cdfe7b217c84d018998f33c3ba27287b520ddc95b4bbe03fb4be654","sha512":"d16c152cd43b3b93c510d62f53460b1f78e47297b85227ab9f589b9d906cbf6ca86c7afa2bbc8e96298a5d1ce56229f488e750625a71241ab512eefff23b6ae7","ssdeep":"","tlshash":"92510298e5d0263a344b963e1359d5bd4274e493db42cfecf721652045c3bfb01b3628","first_seen":"2026-07-24T21:10:00.174224Z","last_seen":"2026-07-27T05:29:38.667149Z","times_seen":96,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAteDB2czp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLV8xLXgwdnM6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tXzIteDB2czp2YXIoLS1jb2xvci10di1ibHVlLTEwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC14MHZzOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tXzEteDB2czp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tXzIteDB2czp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApfS53cmFwLXl6ajdsdktue3Bvc2l0aW9uOnJlbGF0aXZlfS5saXN0LXl6ajdsdktue2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeSk7cGFkZGluZzoxNXB4IDB9Lmxpc3QteXpqN2x2S24gLml0ZW0teXpqN2x2S257Y3Vyc29yOnBvaW50ZXI7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmctYmxvY2s6MTBweCAxMHB4O3BhZGRpbmctaW5saW5lOjE1cHggMzBweDtwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LWFsaWduOnN0YXJ0O3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7dHJhbnNpdGlvbjpjb2xvciAuMzVzIGVhc2UsYmFja2dyb3VuZC1jb2xvciAuMzVzIGVhc2U7d2hpdGUtc3BhY2U6bm93cmFwfS5saXN0LXl6ajdsdktuIC5pdGVtLXl6ajdsdktuLnNlbGVjdGVkLXl6ajdsdktue2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzIteDB2cyk7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKTt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5saXN0LXl6ajdsdktuIC5pdGVtLXl6ajdsdktuOmhvdmVyOm5vdCguc2VsZWN0ZWQteXpqN2x2S24pe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdHYtZHJvcGRvd24taXRlbS1ob3Zlci1iZyk7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKTt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9fS5saXN0LXl6ajdsdktuIC5ibHVpc2hJdGVtLXl6ajdsdktue2N1cnNvcjpwb2ludGVyO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLWJsb2NrOjEwcHggMTBweDtwYWRkaW5nLWlubGluZToxNXB4IDMwcHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3RyYW5zaXRpb246Y29sb3IgLjM1cyBlYXNlLGJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlO3doaXRlLXNwYWNlOm5vd3JhcH0ubGlzdC15emo3bHZLbiAuYmx1aXNoSXRlbS15emo3bHZLbi5zZWxlY3RlZC15emo3bHZLbntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8yLXgwdnMpO2NvbG9yOnZhcigtLWNvbG9yLXdoaXRlKTt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5saXN0LXl6ajdsdktuIC5ibHVpc2hJdGVtLXl6ajdsdktuOmhvdmVyOm5vdCguc2VsZWN0ZWQteXpqN2x2S24pe2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAteDB2cyk7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKTt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9fS5saXN0LXl6ajdsdktuIC5ibHVpc2hJdGVtLXl6ajdsdktuLm5vUGFkZGluZy15emo3bHZLbntwYWRkaW5nOjB9Lmxpc3QtR05XNkJ2R297ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtvdmVyZmxvdzphdXRvfS5saXN0LUdOVzZCdkdvIC5pdGVtLUdOVzZCdkdve2Rpc3BsYXk6aW5saW5lLWZsZXg7ZmxleC1zaHJpbms6MH0uY29udGFpbmVyLUhUQkpvOWJhe292ZXJmbG93LXg6aGlkZGVuO292ZXJmbG93LXk6YXV0bzstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWJhY2tncm91bmQsdmFyKC0tY29sb3ItcG9wdXAtYmFja2dyb3VuZCkpO2JvcmRlci1yYWRpdXM6NnB4O2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtsaW5lLWhlaWdodDpub3JtYWx9LmNvbnRhaW5lci1IVEJKbzliYTo6LXdlYmtpdC1zY3JvbGxiYXJ7aGVpZ2h0OjVweDt3aWR0aDo1cHh9LmNvbnRhaW5lci1IVEJKbzliYTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSk7Ym9yZGVyOjFweCBzb2xpZCAjMDAwMDtib3JkZXItcmFkaXVzOjNweH0uY29udGFpbmVyLUhUQkpvOWJhOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyLXJhZGl1czozcHh9LmNvbnRhaW5lci1IVEJKbzliYTo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0uY29udGFpbmVyLUhUQkpvOWJhLnRvcC1IVEJKbzliYXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWJhY2tncm91bmQsdmFyKC0tY29sb3ItcG9wdXAtYmFja2dyb3VuZCkpO2JvcmRlci1yYWRpdXM6NnB4O2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.12858.ad72d76c41bbd415231e.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.242Z","timestamp":1785120634242,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.12858.ad72d76c41bbd415231e.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a7-109c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:07 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:19:17\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b649627c75ebf8bf5354b5f09a979efb\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4252,"size_decoded":2387,"mime_type":"application/javascript; charset=utf-8","magic":"Unicode text, UTF-8 text, with very long lines (3068)","md5":"ba9edaf93bd6d486a36ba355f758cc90","sha1":"918531d0606317a1c90c9a7b9ae1722f6e14a166","sha256":"bc555cf8e54ac82ab294e301570531b051716b29c08dd9ca453d3cd4a0c32a27","sha512":"580c166e5196ae546cc97d7a4a16ac7deded6dea86b5fe31c01a4f004d915df4141f62287edda623a8bc419bf0750aa62303123824c69fcfb76e694095b86308","ssdeep":"96:6vhtKURB2ytA5YoHgm61Nmub4Zy3DaTJRr:shNRz+Hgm61Fb4ZyzaTJh","tlshash":"40911e27d000c1ea6fb6d9287796dcd0b9f4b1d101f1e8ca7785af56c21be6528392f8","first_seen":"2026-07-23T22:46:45.851981Z","last_seen":"2026-07-27T06:01:16.237981Z","times_seen":25,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxMjg1OCwxNzg1OSwyNDkyOSw0MDI0MCw4NzIzOCw5NDM4OCw5NDcwMl0sezYxNzM0MChlKXtlLmV4cG9ydHM9WyJDb2x1bW5zIl19LDExODQ5MShlKXtlLmV4cG9ydHM9WyJDYW5kbGVzIl19LDc5NjA5MyhlKXtlLmV4cG9ydHM9WyJBcmVhIl19LDk0MTYyOShlKXtlLmV4cG9ydHM9WyJCYXJzIl19LDUyNTMzMShlKXtlLmV4cG9ydHM9WyJCYXNlbGluZSJdfSw0MTM0MyhlKXtlLmV4cG9ydHM9WyJLYWdpIl19LDk2Nzg0MShlKXtlLmV4cG9ydHM9WyJITEMgYXJlYSJdfSw2ODMwMChlKXtlLmV4cG9ydHM9WyJITEMgYmFycyJdfSwzMzE4MjQoZSl7ZS5leHBvcnRzPVsiSG9sbG93IGNhbmRsZXMiXX0sODM1NTQzKGUpe2UuZXhwb3J0cz1bIkhlaWtpbiBBc2hpIl19LDk1MjgxMChlKXtlLmV4cG9ydHM9WyJIaWdoLWxvdyJdfSwyMTA0OTkoZSl7ZS5leHBvcnRzPVsiTGluZSJdfSwxODYxNDcoZSl7ZS5leHBvcnRzPVsiTGluZSB3aXRoIG1hcmtlcnMiXX0sMzA3NDM2KGUpe2UuZXhwb3J0cz1bIkxpbmUgYnJlYWsiXX0sNjg3OTUxKGUpe2UuZXhwb3J0cz1bIlNlc3Npb24gdm9sdW1lIHByb2ZpbGUiXX0sOTE2MTQ4KGUpe2UuZXhwb3J0cz1bIlN0ZXAgbGluZSJdfSw4NjcwMjEoZSl7ZS5leHBvcnRzPVsiUG9pbnQgJiBmaWd1cmUiXX0sMTg4MzUyKGUpe2UuZXhwb3J0cz1bIlJhbmdlIl19LDQ2MTczOChlKXtlLmV4cG9ydHM9WyJSZW5rbyJdfSwxMTc5ODQoZSl7ZS5leHBvcnRzPVsiVGltZSBwcmljZSBvcHBvcnR1bml0eSJdfSw4OTIzNzUoZSl7ZS5leHBvcnRzPVsiVm9sdW1lIGNhbmRsZXMiXX0sMjAxMDczKGUpe2UuZXhwb3J0cz1bIlZvbHVtZSBmb290cHJpbnQiXX0sNTU4NDEyKGUpe2UuZXhwb3J0cz1bIiUgb2YgR0RQIl19LDIyOTk5NChlKXtlLmV4cG9ydHM9WyJDIl19LDk1NDYxNChlKXtlLmV4cG9ydHM9WyJIIl19LDgzOTQ2MyhlKXtlLmV4cG9ydHM9WyJMIl19LDk2MDUxMyhlKXtlLmV4cG9ydHM9WyJPIl19LDU2NTMyMShlKXtlLmV4cG9ydHM9WyJWb2wiXX0sNTQ1MjI0KGUpe2UuZXhwb3J0cz1bIk92ZXJuaWdodCB2aWEgQk9BVFMiXX0sODI5MjczKGUpe2UuZXhwb3J0cz1bIkludHJhZGF5IHNwcmVhZCBkYXRhIGlzIG5vdCBhdmFpbGFibGUiXX0sMjk5MTUzKGUpe2UuZXhwb3J0cz1bIk5vIGRhdGEiXX0sMjg1ODkzKGUpe2UuZXhwb3J0cz1bIk5vIGRhdGEgZm9yIHRoaXMgcmVzb2x1dGlvbiJdfSw3MzQ3NTAoZSl7ZS5leHBvcnRzPVsiTWF5Il19LDM4NDU5NyhlKXtlLmV4cG9ydHM9WyJDRkQiXX0sNjU1MjM1KGUpe2UuZXhwb3J0cz1bIkNyeXB0byJdfSwzNTAxNDYoZSl7ZS5leHBvcnRzPVsiQWxsIl19LDc2NTQ0MChlKXtlLmV4cG9ydHM9WyJCb25kcyJdfSw1NDgzMjIoZSl7ZS5leHBvcnRzPVsiRWNvbm9teSJdfSw5Nzk5NyhlKXtlLmV4cG9ydHM9WyJGb3JleCJdfSw1MDUwNzkoZSl7ZS5leHBvcnRzPVsiRnV0dXJlcyJdfSw1NjQ5MTcoZSl7ZS5leHBvcnRzPVsiRnVuZHMiXX0sOTI3NDExKGUpe2UuZXhwb3J0cz1bIkluZGljZXMiXX0sNzk2MDAoZSl7ZS5leHBvcnRzPVsiT3B0aW9ucyJdfSw1NTU1MTAoZSl7ZS5leHBvcnRzPVsiU3RvY2tzIl19LDU3MDYyKGUpe2UuZXhwb3J0cz1bIk4vQSJdfSw4MTkwNzgoZSl7ZS5leHBvcnRzPVsiM00iXX0sMjcyMDk4KGUpe2UuZXhwb3J0cz1bIjNZIl19LDExMTk3NihlKXtlLmV4cG9ydHM9WyIxIHllYXIiXX0sNjcwNTY4KGUpe2UuZXhwb3J0cz1bIjEwIHllYXJzIl19LDk5NTA2NihlKXtlLmV4cG9ydHM9WyIxMFkiXX0sODMyNzMzKGUpe2UuZXhwb3J0cz1bIjFNIl19LDkzODEwMChlKXtlLmV4cG9ydHM9WyIxRCJdfSw0OTIxMzUoZSl7ZS5leHBvcnRzPVsiMVciXX0sNzcwMzAzKGUpe2UuZXhwb3J0cz1bIjFZIl19LDkzNDc3NyhlKXtlLmV4cG9ydHM9WyIyWSJdfSwzMjgwMzAoZSl7ZS5leHBvcnRzPVsiMyBtb250aHMiXX0sODI4NTUoZSl7ZS5leHBvcnRzPVsiNUQiXX0sNDQ2NTYwKGUpe2UuZXhwb3J0cz1bIjVZIl19LDY4MDc2KGUpe2UuZXhwb3J0cz1bIjZNIl19LDY3MzQ4NyhlKXtlLmV4cG9ydHM9WyJDaGFuZ2UiXX0sMjMzNjkwKGUpe2UuZXhwb3J0cz1bIkFsbCJdfSwyOTA3ODcoZSl7ZS5leHBvcnRzPVsiQWxsIHRpbWUiXX0sNTI2Nzg1KGUpe2UuZXhwb3J0cz1bIkFwciJdfSw5Mzc2MihlKXtlLmV4cG9ydHM9WyJBdWciXX0sODY4ODEwKGUpe2UuZXhwb3J0cz1bIkJpbGxlZCBldmVyeSBtb250aC4iXX0sOTEzOTU1KGUpe2UuZXhwb3J0cz1bIkJpbGxlZCBldmVyeSB5ZWFyLiJdfSw3NjkwMzYoZSl7ZS5leHBvcnRzPVsiRGVjIl19LDg3MjM4KGUpe2UuZXhwb3J0cz1bIkVycm9yIl19LDYxNzM0MShlKXtlLmV4cG9ydHM9WyJGZWIiXX0sOTY4ODE1KGUpe2UuZXhwb3J0cz1bIkZyYWN0aW9uIHBhcnQgaXMgaW52YWxpZC4iXX0sNzMyNzc2KGUpe2UuZXhwb3J0cz1bIkludmFsaWQgc3ltYm9sIl19LDY1NzM3NChlKXtlLmV4cG9ydHM9WyJKYW4iXX0sMTgzOTU5KGUpe2UuZXhwb3J0cz1bIkp1bCJdfSw4Nzc0NShlKXtlLmV4cG9ydHM9WyJKdW4iXX0sNzI4MzM3KGUpe2UuZXhwb3J0cz1bIk9jdCJdfSw0MzExNTcoZSl7ZS5leHBvcnRzPVsiTGFzdCBwcmljZSJdfSwxMDMzMDUoZSl7ZS5leHBvcnRzPVsiTWFyIl19LDUxOTcoZSl7ZS5leHBvcnRzPVsiTm8gZGF0YSBoZXJlIl19LDE0NjgwNyhlKXtlLmV4cG9ydHM9WyJObyBkYXRhIGhlcmUgeWV0Il19LDY0NjU0NShlKXtlLmV4cG9ydHM9WyJOb3YiXX0sODUwMjk4KGUpe2UuZXhwb3J0cz1bIlNlY29uZCBmcmFjdGlvbiBwYXJ0IGlzIGludmFsaWQuIl19LDE3ODQ2OShlKXtlLmV4cG9ydHM9WyJTZXAiXX0sOTkyMzYyKGUpe2UuZXhwb3J0cz1bIlN0dWRpZXMgbGltaXQgZXhjZWVkZWQ6IHtudW1iZXJ9IHN0dWRpZXMgcGVyIGxheW91dC5cblBsZWFzZSwgcmVtb3ZlIHNvbWUgc3R1ZGllcy4iXX0sNjczNTIzKGUpe2UuZXhwb3J0cz1bIlBhc3QgeWVhciJdfSw4Nzg3MDgoZSl7ZS5leHBvcnRzPVsiUGFzdCBmaXZlIHllYXJzIl19LDQzMDMzMyhlKXsKZS5leHBvcnRzPVsiUGFzdCBtb250aCJdfSw0NDY1NihlKXtlLmV4cG9ydHM9WyJQYXN0IHF1YXJ0ZXIiXX0sNjE2MTgoZSl7ZS5leHBvcnRzPVsiUHJpY2UgZm9ybWF0IGlzIGludmFsaWQuIl19LDg5NzY3KGUpe2UuZXhwb3J0cz1bIlExIl19LDk0ODkyMyhlKXtlLmV4cG9ydHM9WyJRMiJdfSwzNjc5MzUoZSl7ZS5leHBvcnRzPVsiUTMiXX0sMTc1NTA3KGUpe2UuZXhwb3J0cz1bIlE0Il19LDkzNzAxNyhlKXtlLmV4cG9ydHM9WyJXYXJuaW5nIl19LDYxNDQ1MChlKXtlLmV4cG9ydHM9WyJUb2RheSJdfSwxMTQzMzgoZSl7ZS5leHBvcnRzPVsiVGhpcyBzeW1ib2wgaXMgb25seSBhdmFpbGFibGUgb24ge2xpbmtTdGFydH1UcmFkaW5nVmlld3tsaW5rRW5kfSJdfSw1MTc4NTkoZSl7ZS5leHBvcnRzPVsiVmlzaXQgVHJhZGluZ1ZpZXcg4oCUIGZpbmFuY2lhbCBjaGFydGluZyBwbGF0Zm9ybSBhbmQgdHJhZGluZyBjb21tdW5pdHkiXX0sNDIyMzY5KGUpe2UuZXhwb3J0cz1bIllURCJdfSw0ODU0MjAoZSl7ZS5leHBvcnRzPVsiWWVhciB0byBkYXRlIl19LDcyMTExOChlKXtlLmV4cG9ydHM9WyJhbm51YWxseSJdfSw2NTM2OShlKXtlLmV4cG9ydHM9WyJiaWxsZWQgbW9udGhseSJdfSwyNjAxOTMoZSl7ZS5leHBvcnRzPVsiYmlsbGVkIGFubnVhbGx5Il19LDU1NjU2OChlKXtlLmV4cG9ydHM9WyJtb250aGx5Il19LDg2Mzg1MihlKXtlLmV4cG9ydHM9WyJ0aHJlZSBtb250aHMiXX0sODM1OChlKXtlLmV4cG9ydHM9WyJ0cmlhbCJdfSwxNTM3NjYoZSl7ZS5leHBvcnRzPVsie3Byb1BsYW5OYW1lfSBUcmlhbCJdfSwzMjM0ODUoZSl7ZS5leHBvcnRzPVsibW9udGgiLCJtb250aHMiXX0sMTAzMDMwKGUpe2UuZXhwb3J0cz1bIntzdHJ9IGRheSIsIntzdHJ9IGRheXMiXX0sMjEwNTc0KGUpe2UuZXhwb3J0cz1bIntzdHJ9IGhvdXIiLCJ7c3RyfSBob3VycyJdfSw2OTQ2MTcoZSl7ZS5leHBvcnRzPVsie3N0cn0gbW9udGgiLCJ7c3RyfSBtb250aHMiXX0sNDM5MChlKXtlLmV4cG9ydHM9WyJ7c3RyfSBtaW51dGUiLCJ7c3RyfSBtaW51dGVzIl19LDY0NDYyNShlKXtlLmV4cG9ydHM9WyJ7c3RyfSB3ZWVrIiwie3N0cn0gd2Vla3MiXX0sMjE2NDAyKGUpe2UuZXhwb3J0cz1bIntzdHJ9IHllYXIiLCJ7c3RyfSB5ZWFycyJdfSw0NDI2NjYoZSl7ZS5leHBvcnRzPVsieWVhciIsInllYXJzIl19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/55969.43c3748014de2cd0bd1c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.269Z","timestamp":1785120634269,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/55969.43c3748014de2cd0bd1c.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-79ea\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 8de7b920727125a58607547bd585cda3\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":31210,"size_decoded":10275,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"2ffe3f8909cfa5c00f9356969ce56989","sha1":"25fb185c3e390ae4bd33c6395913b100e0a4f6d9","sha256":"7d1513778a61b869e05173da3d33c80b937eaf583aeb370b947947ddcdce4c84","sha512":"2022abb3649827fd1f39c901fc168d99ac273164699e1ca00d77e017ee71f51fb199aac7cb5eb214ba12fe7bfb88a65a777fee03d3f0318dbaa768e188f74d6d","ssdeep":"768:YmdyerAdxxaVWiG7s8trffJtzTrcSWJMAchHTdv5UC1gMgFwMA+Mv60F00rFLfLL:5dyHaZG73TAVFd+60S0RuGpriakk","tlshash":"62e296ca3286733693d1c7850c750903f339a1743c0a55acf6ac6acfbe1a942617ab7d","first_seen":"2026-07-16T13:40:49.785089Z","last_seen":"2026-07-27T05:19:37.163595Z","times_seen":466,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNTU5NjldLHszMDgyMShlLHQscyl7cy5kKHQse0J1c2luZXNzRGF5OigpPT5pfSk7dmFyIG49cyg3MDA4MDkpLHI9cyg5MDI4NDIpO2NsYXNzIGl7Y29uc3RydWN0b3IoZSx0LHMpe3RoaXMuX2RheU9mV2Vlaz1udWxsLHRoaXMueWVhcj1lLHRoaXMubW9udGg9dCx0aGlzLmRheT1zfXRvU3RyaW5nKCl7cmV0dXJuYCR7KDAsci5hZGRMZWFkaW5nWmVyb3MpKHRoaXMueWVhciw0KX0tJHsoMCxyLmFkZExlYWRpbmdaZXJvKSh0aGlzLm1vbnRoKX0tJHsoMCxyLmFkZExlYWRpbmdaZXJvKSh0aGlzLmRheSl9YH10b3l5eXltbWRkKCl7cmV0dXJuYCR7KDAsci5hZGRMZWFkaW5nWmVyb3MpKHRoaXMueWVhciw0KX0keygwLHIuYWRkTGVhZGluZ1plcm8pKHRoaXMubW9udGgpfSR7KDAsci5hZGRMZWFkaW5nWmVybykodGhpcy5kYXkpfWB9Y29tcGFyZVRvKGUpe3JldHVybiB0aGlzLnllYXI+ZS55ZWFyfHx0aGlzLnllYXI9PT1lLnllYXImJnRoaXMubW9udGg+ZS5tb250aHx8dGhpcy55ZWFyPT09ZS55ZWFyJiZ0aGlzLm1vbnRoPT09ZS5tb250aCYmdGhpcy5kYXk+ZS5kYXk/MTp0aGlzLnllYXI9PT1lLnllYXImJnRoaXMubW9udGg9PT1lLm1vbnRoJiZ0aGlzLmRheT09PWUuZGF5PzA6LTF9YmVmb3JlKGUpe3JldHVybi0xPT09dGhpcy5jb21wYXJlVG8oZSl9dG9DYWxlbmRhcihlKXtyZXR1cm4oMCxuLmdldF9jYWwpKGU/PygwLG4uZ2V0X3RpbWV6b25lKSgiRXRjL1VUQyIpLHRoaXMueWVhcix0aGlzLm1vbnRoLTEsdGhpcy5kYXkpfWFkZERheXMoZSl7Y29uc3QgdD10aGlzLnRvQ2FsZW5kYXIoKDAsbi5nZXRfdGltZXpvbmUpKCJFdGMvVVRDIikpO3JldHVybigwLG4uYWRkX2RhdGUpKHQsZSksaS5mcm9tQ2FsZW5kYXIodCl9Zmlyc3REYXlPZlllYXIoKXtyZXR1cm4gbmV3IGkodGhpcy55ZWFyLDEsMSl9Z2V0RGF5T2ZXZWVrKCl7cmV0dXJuIG51bGw9PT10aGlzLl9kYXlPZldlZWsmJih0aGlzLl9kYXlPZldlZWs9KDAsbi5nZXRfZGF5X29mX3dlZWspKHRoaXMudG9DYWxlbmRhcigpKSksdGhpcy5fZGF5T2ZXZWVrfXN0YXRpYyBmcm9tQ2FsZW5kYXIoZSl7cmV0dXJuIG5ldyBpKCgwLG4uZ2V0X3llYXIpKGUpLCgwLG4uZ2V0X21vbnRoKShlKSsxLCgwLG4uZ2V0X2RheV9vZl9tb250aCkoZSkpfX19LDM0MTAzNihlLHQscyl7cy5kKHQse0V4dGVuZGVkRW50cnlEZWNvcmF0b3I6KCk9PkUsT2Zmc2V0RW50cnlEZWNvcmF0b3I6KCk9PnUsU0VTU0lPTl9TUEVDX1NZTUJPTF9CQVJTX09GRlNFVDooKT0+byxTRVNTSU9OX1NQRUNfU1lNQk9MX0VYVEVOREVEOigpPT5oLFNFU1NJT05fU1BFQ19TWU1CT0xfVU5JRklFRDooKT0+YSxTRVNTSU9OX1NQRUNfU1lNQk9MX1VOSUZJRURfU0hJRlRFRDooKT0+ZCxTZXNzaW9uc1NwZWNFbnRyaWVzOigpPT5tLFNlc3Npb25zU3BlY0VudHJ5OigpPT5fLFNlc3Npb25zU3BlY0VudHJ5SW5kZXg6KCk9Pk8sU2Vzc2lvbnNTcGVjSGlzdG9yeUVudHJ5OigpPT5XLFVuaWZpZWRFbnRyeURlY29yYXRvcjooKT0+ayxVbmlmaWVkU2hpZnRlZEVudHJ5RGVjb3JhdG9yOigpPT5wLGNvbXBhcmVTZXNzaW9uRW50cmllczooKT0+eSxpc0V4dGVuZGVkRW50cnk6KCk9PmcsaXNPZmZzZXRFbnRyeTooKT0+bCxpc1VuaWZpZWRFbnRyeTooKT0+Uyxpc1VuaWZpZWRTaGlmdGVkRW50cnk6KCk9PkR9KTt2YXIgbixyPXMoMTM4NjM4KSxpPXMoNzAwODA5KTshZnVuY3Rpb24oZSl7ZVtlLkxlZnRGaXJzdD0tMV09IkxlZnRGaXJzdCIsZVtlLlVuY2hhbmdlZD0wXT0iVW5jaGFuZ2VkIixlW2UuUmlnaHRGaXJzdD0xXT0iUmlnaHRGaXJzdCJ9KG58fChuPXt9KSk7Y29uc3Qgbz0iQSIsYT0iVSIsZD0iUyIsaD0iRSI7ZnVuY3Rpb24gZihlKXtyZXR1cm4gZT49MD8wOmUlaS5taW51dGVzUGVyRGF5PT0wPy1lL2kubWludXRlc1BlckRheToxLU1hdGgudHJ1bmMoZS9pLm1pbnV0ZXNQZXJEYXkpfWZ1bmN0aW9uIHkoZSx0KXtyZXR1cm4gZS5jb21wYXJlVG8odCl9dmFyIGM7IWZ1bmN0aW9uKGUpe2VbZS5Ob25lPTBdPSJOb25lIixlW2UuRXh0ZW5kZWRFbnRyeT0xXT0iRXh0ZW5kZWRFbnRyeSIsZVtlLk9mZnNldEVudHJ5PTJdPSJPZmZzZXRFbnRyeSIsZVtlLlVuaWZpZWRFbnRyeT0zXT0iVW5pZmllZEVudHJ5IixlW2UuVW5pZmllZFNoaWZ0ZWRFbnRyeT00XT0iVW5pZmllZFNoaWZ0ZWRFbnRyeSJ9KGN8fChjPXt9KSk7Y2xhc3MgX3tjb25zdHJ1Y3RvcihlLHQscyl7dGhpcy5kZWNvcmF0b3JUeXBlPTAsKDAsci5hc3NlcnQpKE51bWJlci5pc0Zpbml0ZShlKSYmTnVtYmVyLmlzRmluaXRlKHQpJiZOdW1iZXIuaXNGaW5pdGUocyksIkludmFsaWQgYXJndW1lbnRzIiksdGhpcy5fZGF5T2ZXZWVrPWUsdGhpcy5fc3RhcnQ9dCx0aGlzLl9sZW5ndGg9c31zdGFydCgpe3JldHVybiB0aGlzLl9zdGFydCtpLm1pbnV0ZXNQZXJEYXkqdGhpcy5zZXNzaW9uU3RhcnREYXlzT2Zmc2V0KCl9c3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fc3RhcnR9ZW5kT2Zmc2V0KCl7cmV0dXJuIHRoaXMuX3N0YXJ0K3RoaXMuX2xlbmd0aH1zZXNzaW9uU3RhcnREYXlzT2Zmc2V0KCl7cmV0dXJuIGYodGhpcy5fc3RhcnQpfWlzT3Zlcm5pZ2h0KCl7cmV0dXJuIHRoaXMuX3N0YXJ0PDB9ZGF5T2ZXZWVrKCl7cmV0dXJuIHRoaXMuX2RheU9mV2Vla31zZXNzaW9uU3RhcnREYXlPZldlZWsoKXtsZXQgZT10aGlzLl9kYXlPZldlZWstdGhpcy5zZXNzaW9uU3RhcnREYXlzT2Zmc2V0KCk7cmV0dXJuIGU8aS5TVU5EQVkmJihlKz03KSxlfWxlbmd0aCgpe3JldHVybiB0aGlzLl9sZW5ndGh9aXNFeHRlbmRlZCgpe3JldHVybiExfWV4dGVuZGVkU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5zdGFydE9mZnNldCgpfWV4dGVuZGVkRW5kT2Zmc2V0KCl7cmV0dXJuIHRoaXMuZW5kT2Zmc2V0KCl9Y29tcGFyZVRvKGUpe2NvbnN0IHQ9dGhpcy5fd2VpZ2h0KCkscz10K3RoaXMuX2xlbmd0aCxuPWUuX3dlaWdodCgpLHI9bitlLl9sZW5ndGgKO3JldHVybiB0PD1uJiZuPHN8fG48PXQmJnQ8cj8wOnQ+bj8xOi0xfWNvbnRhaW5zKGUpe3JldHVybiB0aGlzLl9jb250YWlucygoMCxpLmdldF9taW51dGVzX3dpdGhfaG91cnMpKGUpLCgwLGkuZ2V0X2RheV9vZl93ZWVrKShlKSl9X3dlaWdodCgpe3JldHVybiB0aGlzLl9kYXlPZldlZWsqaS5taW51dGVzUGVyRGF5K3RoaXMuX3N0YXJ0fV9jb250YWlucyhlLHQpe2xldCBzPXQtdGhpcy5fZGF5T2ZXZWVrO3M+MCYmKHMtPTcpO2NvbnN0IG49cyppLm1pbnV0ZXNQZXJEYXkrZTtyZXR1cm4gbj49dGhpcy5fc3RhcnQmJm48dGhpcy5fc3RhcnQrdGhpcy5fbGVuZ3RofX1mdW5jdGlvbiBsKGUpe3JldHVybiAyPT09ZS5kZWNvcmF0b3JUeXBlfWNsYXNzIHUgZXh0ZW5kcyBfe2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZS5kYXlPZldlZWsoKSxlLnN0YXJ0T2Zmc2V0KCksZS5sZW5ndGgoKSksdGhpcy5kZWNvcmF0b3JUeXBlPTIsdGhpcy5fZW50cnk9ZSx0aGlzLl9iYXJzT2Zmc2V0PXR9Z2V0RW50cnkoKXtyZXR1cm4gdGhpcy5fZW50cnl9YmFyc09mZnNldCgpe3JldHVybiB0aGlzLl9iYXJzT2Zmc2V0fWlzRXh0ZW5kZWQoKXtyZXR1cm4gdGhpcy5fZW50cnkuaXNFeHRlbmRlZCgpfWV4dGVuZGVkU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fZW50cnkuZXh0ZW5kZWRTdGFydE9mZnNldCgpfWV4dGVuZGVkRW5kT2Zmc2V0KCl7cmV0dXJuIHRoaXMuX2VudHJ5LmV4dGVuZGVkRW5kT2Zmc2V0KCl9fWZ1bmN0aW9uIGcoZSl7cmV0dXJuIDE9PT1lLmRlY29yYXRvclR5cGV9Y2xhc3MgRSBleHRlbmRzIF97Y29uc3RydWN0b3IoZSx0LHMpe3N1cGVyKGUuZGF5T2ZXZWVrKCksZS5zdGFydE9mZnNldCgpLGUubGVuZ3RoKCkpLHRoaXMuZGVjb3JhdG9yVHlwZT0xLHRoaXMuX2VudHJ5PWUsdGhpcy5fZXh0ZW5kZWRTdGFydE9mZnNldD10LHRoaXMuX2V4dGVuZGVkRW5kT2Zmc2V0PXN9Z2V0RW50cnkoKXtyZXR1cm4gdGhpcy5fZW50cnl9aXNFeHRlbmRlZCgpe3JldHVybiEwfWV4dGVuZGVkU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fZXh0ZW5kZWRTdGFydE9mZnNldH1leHRlbmRlZEVuZE9mZnNldCgpe3JldHVybiB0aGlzLl9leHRlbmRlZEVuZE9mZnNldH1leHRlbmRlZFN0YXJ0RGF5c09mZnNldCgpe3JldHVybiBmKHRoaXMuX2V4dGVuZGVkU3RhcnRPZmZzZXQpfWV4dGVuZGVkRW5kRGF5c09mZnNldCgpe3JldHVybiBmKHRoaXMuX2V4dGVuZGVkRW5kT2Zmc2V0KX19ZnVuY3Rpb24gUyhlKXtyZXR1cm4gMz09PWUuZGVjb3JhdG9yVHlwZX1jbGFzcyBrIGV4dGVuZHMgX3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUuZGF5T2ZXZWVrKCksZS5zdGFydE9mZnNldCgpLGUubGVuZ3RoKCkpLHRoaXMuZGVjb3JhdG9yVHlwZT0zLHRoaXMuX2VudHJ5PWUsdGhpcy5fdW5pZmllZEVudHJpZXM9dCx0LnB1c2godGhpcyl9Z2V0RW50cnkoKXtyZXR1cm4gdGhpcy5fZW50cnl9Z2V0VW5pZmllZEVudHJpZXMoKXtyZXR1cm4gdGhpcy5fdW5pZmllZEVudHJpZXN9aGFzRXh0ZW5kZWRFbnRyeSgpe3JldHVybiB0aGlzLl91bmlmaWVkRW50cmllcy5zb21lKChlPT5lLmlzRXh0ZW5kZWQoKSkpfWlzRXh0ZW5kZWQoKXtyZXR1cm4gdGhpcy5fZW50cnkuaXNFeHRlbmRlZCgpfWV4dGVuZGVkU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fZW50cnkuZXh0ZW5kZWRTdGFydE9mZnNldCgpfWV4dGVuZGVkRW5kT2Zmc2V0KCl7cmV0dXJuIHRoaXMuX2VudHJ5LmV4dGVuZGVkRW5kT2Zmc2V0KCl9fWZ1bmN0aW9uIEQoZSl7cmV0dXJuIDQ9PT1lLmRlY29yYXRvclR5cGV9Y2xhc3MgcCBleHRlbmRzIF97Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLmRheU9mV2VlaygpLGUuc3RhcnRPZmZzZXQoKSxlLmxlbmd0aCgpKSx0aGlzLmRlY29yYXRvclR5cGU9NCx0aGlzLl9lbnRyeT1lLHRoaXMuX3VuaWZpZWRFbnRyaWVzPXQsdC5wdXNoKHRoaXMpfWdldEVudHJ5KCl7cmV0dXJuIHRoaXMuX2VudHJ5fWdldFVuaWZpZWRFbnRyaWVzKCl7cmV0dXJuIHRoaXMuX3VuaWZpZWRFbnRyaWVzfWhhc0V4dGVuZGVkRW50cnkoKXtyZXR1cm4gdGhpcy5fdW5pZmllZEVudHJpZXMuc29tZSgoZT0+ZS5pc0V4dGVuZGVkKCkpKX1pc0V4dGVuZGVkKCl7cmV0dXJuIHRoaXMuX2VudHJ5LmlzRXh0ZW5kZWQoKX1leHRlbmRlZFN0YXJ0T2Zmc2V0KCl7cmV0dXJuIHRoaXMuX2VudHJ5LmV4dGVuZGVkU3RhcnRPZmZzZXQoKX1leHRlbmRlZEVuZE9mZnNldCgpe3JldHVybiB0aGlzLl9lbnRyeS5leHRlbmRlZEVuZE9mZnNldCgpfX1jbGFzcyBPe2NvbnN0cnVjdG9yKGUsdCxzKXt0aGlzLndlZWtJbmRleD1lLHRoaXMuZW50cnlJbmRleD10LHRoaXMuZW50cmllcz1zfWdldEVudHJ5KCl7cmV0dXJuIHRoaXMuZW50cmllc1t0aGlzLmVudHJ5SW5kZXhdfX1jbGFzcyBte2NvbnN0cnVjdG9yKGUsdCxzLG4pe3RoaXMuX21heFRyYWRpbmdEYXlMZW5ndGg9bnVsbCx0aGlzLl9saXN0PWUsdGhpcy5fZW50cmllc0J5RGF5PXQsdGhpcy5fZmlyc3REYXlPZldlZWs9cyx0aGlzLl93ZWVrRW5kc0NvdW50PW59Zmlyc3REYXlPZldlZWsoKXtyZXR1cm4gdGhpcy5fZmlyc3REYXlPZldlZWt9ZW50cmllc0J5RGF5KCl7cmV0dXJuIHRoaXMuX2VudHJpZXNCeURheX1saXN0KCl7cmV0dXJuIHRoaXMuX2xpc3R9aXNXZWVrRW5kKGUpe3JldHVybiF0aGlzLl9lbnRyaWVzQnlEYXkuaGFzKGUpfXdlZWtFbmRzQ291bnQoKXtyZXR1cm4gdGhpcy5fd2Vla0VuZHNDb3VudH1sb25nZXN0U2Vzc2lvbkxlbmd0aCgpe3JldHVybiAwPT09dGhpcy5fbGlzdC5sZW5ndGg/MDpNYXRoLm1heCguLi50aGlzLl9saXN0Lm1hcCgoZT0+ZS5sZW5ndGgoKSkpKX1tYXhUcmFkaW5nRGF5TGVuZ3RoKCl7aWYobnVsbD09dGhpcy5fbWF4VHJhZGluZ0RheUxlbmd0aCl7Y29uc3QgZT1uZXcgTWFwO2Zvcihjb25zdCB0IG9mIHRoaXMuX2xpc3Qpe2NvbnN0IHM9dC5kYXlPZldlZWsoKTtlLnNldChzLHQubGVuZ3RoKCkrKGUuZ2V0KHMpPz8wKSl9bGV0IHQ9MDtlLmZvckVhY2goKGU9Pnt0PU1hdGgubWF4KHQsZSl9KSksdGhpcy5fbWF4VHJhZGluZ0RheUxlbmd0aD10fQpyZXR1cm4gdGhpcy5fbWF4VHJhZGluZ0RheUxlbmd0aH19Y2xhc3MgV3tjb25zdHJ1Y3RvcihlLHQscyl7dGhpcy5fc3RhcnREYXk9ZSx0aGlzLl9lbnRyaWVzPXMsdGhpcy5fc3BlY0VuZERheT10fWdldEVudHJpZXMoKXtyZXR1cm4gdGhpcy5fZW50cmllc31nZXRTdGFydERheSgpe3JldHVybiB0aGlzLl9zdGFydERheX1nZXRTcGVjRW5kRGF5KCl7cmV0dXJuIHRoaXMuX3NwZWNFbmREYXl9aXNPcGVuRW5kZWQoKXtyZXR1cm4gbnVsbD09dGhpcy5fc3BlY0VuZERheX19fSwzMjkwNDEoZSx0LHMpe3MuZCh0LHtTZXNzaW9uc1NwZWNQYXJzZXI6KCk9Pmcsd29ya2luZ0RheXNBbmRXZWVrRW5kczooKT0+ZH0pO3ZhciBuPXMoMTM4NjM4KSxyPXMoNzAwODA5KSxpPXMoMzA4MjEpLG89cygzNDEwMzYpO2NvbnN0IGE9W3IuTU9OREFZLHIuVFVFU0RBWSxyLldFRE5FU0RBWSxyLlRIVVJTREFZLHIuRlJJREFZXSxkPVtyLlNVTkRBWSxyLk1PTkRBWSxyLlRVRVNEQVksci5XRURORVNEQVksci5USFVSU0RBWSxyLkZSSURBWSxyLlNBVFVSREFZXTtmdW5jdGlvbiBoKGUpe3JldHVybiBlPj00OCYmZTw9NTd9Y29uc3QgZj1bMCwzMSwyOCwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV07Y2xhc3MgeSBleHRlbmRzIE1hcHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fa2V5U3RyaW5nc1RvS2V5PW5ldyBNYXB9Z2V0KGUpe2NvbnN0IHQ9dGhpcy5fa2V5U3RyaW5nc1RvS2V5LmdldChlLnRvU3RyaW5nKCkpO3JldHVybiB0JiZzdXBlci5nZXQodCl9c2V0KGUsdCl7Y29uc3Qgcz1lLnRvU3RyaW5nKCksbj10aGlzLl9rZXlTdHJpbmdzVG9LZXkuZ2V0KHMpO3JldHVybiB2b2lkIDAhPT1uJiZzdXBlci5kZWxldGUobiksdGhpcy5fa2V5U3RyaW5nc1RvS2V5LnNldChzLGUpLHN1cGVyLnNldChlLHQpfWhhcyhlKXtyZXR1cm4gdGhpcy5fa2V5U3RyaW5nc1RvS2V5LmhhcyhlLnRvU3RyaW5nKCkpfX1mdW5jdGlvbiBjKGUpe3JldHVybiBlLmxlbmd0aD4wfWZ1bmN0aW9uIF8oZSl7cmV0dXJuIDA9PT1lP3IubWludXRlc1BlckRheTplfWZ1bmN0aW9uIGwoZSx0LHMsbil7cmV0dXJuIHM9PT1uJiZ0PD1lP3MrMTpzfWZ1bmN0aW9uIHUoZSx0KXtpZihlPDB8fGU+PTcpdGhyb3cgbmV3IEVycm9yKGBlcnJvciBwYXJzaW5nIHNlc3Npb24sICR7dH0gY2Fubm90IGJlIG91dHNpZGUgWzAsNyksICR7dH09JHtlfWApfWNsYXNzIGd7Y29uc3RydWN0b3IoKXt0aGlzLmhpc3RvcnlFbnRyaWVzPVtdLHRoaXMudGltZXpvbmU9IiIsdGhpcy5hZGp1c3RTZXNzaW9uc0luZGV4ZXM9bnVsbH1wYXJzZVNlc3Npb25zKGUsdCl7dGhpcy5fcGFyc2VIaXN0b3J5RW50cmllcyhlLHQsITEpfXBhcnNlU2Vzc2lvbnNBbmRWYWxpZGF0ZURhdGVUaW1lKGUsdCl7dGhpcy5fcGFyc2VIaXN0b3J5RW50cmllcyhlLHQsITApfXN0YXRpYyBwYXJzZUhvbGlkYXlzQW5kQ29ycmVjdGlvbnMoZSx0LHMsbil7cmV0dXJuIHRoaXMuX3BhcnNlSG9saWRheXNBbmRDb3JyZWN0aW9uc0ltcGwoZSx0LHMsbil9c3RhdGljIHBhcnNlSG9saWRheXNBbmRDb3JyZWN0aW9uc0FuZFZhbGlkYXRlRGF0ZVRpbWUoZSx0LHMpe3JldHVybiB0aGlzLl9wYXJzZUhvbGlkYXlzQW5kQ29ycmVjdGlvbnNJbXBsKGUsdCxzLCEwKX1fY2xlYXJBbGwoKXt0aGlzLnRpbWV6b25lPSIiLHRoaXMuaGlzdG9yeUVudHJpZXM9W10sdGhpcy5hZGp1c3RTZXNzaW9uc0luZGV4ZXM9W119X3BhcnNlSGlzdG9yeUVudHJpZXMoZSx0LHMpe3RoaXMuX2NsZWFyQWxsKCk7Y29uc3Qgbj10LnNwbGl0KCIvIik7bGV0IHI9bnVsbCxpPW51bGw7dGhpcy5oYXNIaXN0b3J5Q29ycmVjdGlvbnM9bi5sZW5ndGg+MTtmb3IobGV0IHQ9MDt0PG4ubGVuZ3RoO3QrKyl7Y29uc3QgYT1uW3RdLnNwbGl0KCIjIik7bGV0IGQ9bnVsbDtpZih0IT09bi5sZW5ndGgtMSl7aWYoMiE9PWEubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb24gaGlzdG9yeSBlbnRyeSBkZWZpbml0aW9uOiAke25bdF19YCk7ZD1nLl9wYXJzZURheShhWzFdLCJzZXNzaW9uIGhpc3RvcnkgZW50cnkgZW5kIixzKS50b0NhbGVuZGFyKCl9ZWxzZXtpZigxIT09YS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKGBiYWQgc2Vzc2lvbiBoaXN0b3J5IGVudHJ5IGRlZmluaXRpb246ICR7blt0XX1gKTtkPW51bGx9aWYobnVsbCE9PWkmJm51bGwhPT1kJiZkLmdldFRpbWUoKTxpLmdldFRpbWUoKSl0aHJvdyBuZXcgRXJyb3IoYGhpc3Rvcnkgc2Vzc2lvbnMgYXJlIG5vdCBsaXN0ZWQgaW4gYXNjZW5kaW5nIG9yZGVyICgke2l9IC0+ICR7ZH1gKTtjb25zdCBoPXRoaXMuX3BhcnNlU2Vzc2lvbnNJbXBsKGUsYVswXSxzKTtyPXRoaXMuX2FkanVzdFN0YXJ0VG9QcmV2aW91c1Nlc3Npb24oaC5maXJzdERheU9mV2VlaygpKTtjb25zdCBmPW5ldyBvLlNlc3Npb25zU3BlY0hpc3RvcnlFbnRyeShyLGQsaCk7dGhpcy5oaXN0b3J5RW50cmllcy5wdXNoKGYpLGk9ZH19X3BhcnNlU2Vzc2lvbnNJbXBsKGUsdCxzKXt0aGlzLnRpbWV6b25lPWUsdD10aGlzLl9wYXJzZUZpcnN0RGF5T2ZXZWVrKHQpO2NvbnN0IG49bmV3IE1hcCxyPVtdO2lmKCIyNHg3Ij09PXQudG9Mb3dlckNhc2UoKSlmb3IoY29uc3QgZSBvZiBkKXtjb25zdCB0PWcuX2NyZWF0ZVNlc3Npb25FbnRyeShlLDAsMCwwLDApO3IucHVzaCh0KTtjb25zdCBzPVtdO3MucHVzaCh0KSxuLnNldChlLHMpfWVsc2V7bGV0IGU9ITE7Y29uc3QgaT1uZXcgTWFwO2Zvcihjb25zdCBzIG9mIHQuc3BsaXQoInwiKSl7Y29uc3QgdD1zLnNwbGl0KCI6IikuZmlsdGVyKGMpO2lmKDEhPT10Lmxlbmd0aCYmMiE9PXQubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb24gc2VjdGlvbjogJHtzfWApO2NvbnN0IG49MT09PXQubGVuZ3RoO2lmKG4pe2lmKGUpdGhyb3cgbmV3IEVycm9yKGBkdXBsaWNhdGVkIGRlZmF1bHQgc2VjdGlvbjogJHtzfWApO2U9ITB9Y29uc3Qgcj1uP2E6Zy5fcGFyc2VXb3JraW5nRGF5cyh0WzFdKTtmb3IoY29uc3QgZSBvZiByKW4mJmkuaGFzKGUpfHxpLnNldChlLHRbMF0pfWZvcihjb25zdCBlIG9mIGQpe2NvbnN0IHQ9aS5nZXQoZSkKO2lmKHZvaWQgMD09PXQpY29udGludWU7Y29uc3Qgbz1nLl9wYXJzZVNlc3Npb25EYXkoZSx0LHMpO2xldCBhPW4uZ2V0KGUpO3ZvaWQgMD09PWEmJihhPVtdLG4uc2V0KGUsYSkpO2Zvcihjb25zdCBlIG9mIG8pYS5wdXNoKGUpLHIucHVzaChlKX19ci5zb3J0KG8uY29tcGFyZVNlc3Npb25FbnRyaWVzKTtjb25zdCBpPW5ldyBTZXQ7Zm9yKGNvbnN0IGUgb2YgcilpLmFkZChlLmRheU9mV2VlaygpKTtjb25zdCBoPTctaS5zaXplO3JldHVybiBuZXcgby5TZXNzaW9uc1NwZWNFbnRyaWVzKHIsbix0aGlzLl9maXJzdERheU9mV2VlayxoKX1fcGFyc2VGaXJzdERheU9mV2VlayhlKXtjb25zdCB0PWUuc3BsaXQoIjsiKTtpZih0aGlzLl9maXJzdERheU9mV2Vlaz1yLk1PTkRBWSx0Lmxlbmd0aD4yKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb25zIHNwZWM6ICR7ZX1gKTtpZigxPT09dC5sZW5ndGgpcmV0dXJuIGU7bGV0IHM9MTtsZXQgbj10WzBdLmluZGV4T2YoIi0iKT49MD9OYU46cGFyc2VJbnQodFswXSk7aWYoaXNOYU4obikmJihzPTAsbj1wYXJzZUludCh0WzFdKSksbjxyLlNVTkRBWXx8bj5yLlNBVFVSREFZKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb25zIHNwZWM6ICR7ZX1gKTtyZXR1cm4gdGhpcy5fZmlyc3REYXlPZldlZWs9bix0W3NdfV9hZGp1c3RTdGFydFRvUHJldmlvdXNTZXNzaW9uKGUpe2lmKDA9PT10aGlzLmhpc3RvcnlFbnRyaWVzLmxlbmd0aClyZXR1cm4gbnVsbDtjb25zdCB0PSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5oaXN0b3J5RW50cmllc1t0aGlzLmhpc3RvcnlFbnRyaWVzLmxlbmd0aC0xXS5nZXRTcGVjRW5kRGF5KCkpLHM9ZS0oMCxyLmdldF9kYXlfb2Zfd2VlaykodCk7aWYoMD09PXMpcmV0dXJuIHQ7Y29uc3QgaT0oMCxyLmNsb25lKSh0KTtyZXR1cm4oMCxyLmFkZF9kYXRlKShpLHMpLHQuZ2V0VGltZSgpPGkuZ2V0VGltZSgpfHwoMCxyLmFkZF9kYXRlKShpLDcpLGl9c3RhdGljIF9wYXJzZVNlc3Npb25EYXkoZSx0LHMpe2NvbnN0IG49W107Zm9yKGNvbnN0IHIgb2YgdC5zcGxpdCgiLCIpLmZpbHRlcihjKSlpZihyLmluY2x1ZGVzKG8uU0VTU0lPTl9TUEVDX1NZTUJPTF9VTklGSUVEKSl7Y29uc3QgaT1yLnNwbGl0KG8uU0VTU0lPTl9TUEVDX1NZTUJPTF9VTklGSUVEKSxhPVtdO2ZvcihsZXQgcj0wO3I8aS5sZW5ndGg7cisrKXtjb25zdCBkPXRoaXMuX3BhcnNlVW5pZmllZEludGVydmFsKGUsdCxpW3JdLDA9PT1yLHMpO24ucHVzaChuZXcgby5VbmlmaWVkRW50cnlEZWNvcmF0b3IoZCxhKSl9YS5zb3J0KG8uY29tcGFyZVNlc3Npb25FbnRyaWVzKX1lbHNlIGlmKHIuaW5jbHVkZXMoby5TRVNTSU9OX1NQRUNfU1lNQk9MX1VOSUZJRURfU0hJRlRFRCkpe2NvbnN0IGk9ci5zcGxpdChvLlNFU1NJT05fU1BFQ19TWU1CT0xfVU5JRklFRF9TSElGVEVEKSxhPVtdO2ZvcihsZXQgcj0wO3I8aS5sZW5ndGg7cisrKXtjb25zdCBkPXRoaXMuX3BhcnNlVW5pZmllZEludGVydmFsKGUsdCxpW3JdLDA9PT1yLHMpO24ucHVzaChuZXcgby5VbmlmaWVkU2hpZnRlZEVudHJ5RGVjb3JhdG9yKGQsYSkpfWEuc29ydChvLmNvbXBhcmVTZXNzaW9uRW50cmllcyl9ZWxzZSBuLnB1c2godGhpcy5fcGFyc2VTZXNzaW9uRW50cnkoZSxyLHMpKTtyZXR1cm4gbn1zdGF0aWMgX3BhcnNlVW5pZmllZEludGVydmFsKGUsdCxzLG4scil7aWYoIW4mJnMuaW5jbHVkZXMoby5TRVNTSU9OX1NQRUNfU1lNQk9MX0JBUlNfT0ZGU0VUKSl0aHJvdyBuZXcgRXJyb3IoYGJhZCBzZXNzaW9uOiAke3R9LiBVbmlmaWVkIGludGVydmFscyBjYW4gY29udGFpbiBvbmx5IG9uZSAnJHtvLlNFU1NJT05fU1BFQ19TWU1CT0xfQkFSU19PRkZTRVR9Jy4gU3BlY2lmeSAnJHtvLlNFU1NJT05fU1BFQ19TWU1CT0xfQkFSU19PRkZTRVR9JyBvbmx5IGZvciB0aGUgZmlyc3QgaW50ZXJ2YWxgKTtyZXR1cm4gdGhpcy5fcGFyc2VTZXNzaW9uRW50cnkoZSxzLHIpfXN0YXRpYyBfcGFyc2VTZXNzaW9uRW50cnkoZSx0LHMpe2NvbnN0IG49dC5zcGxpdChvLlNFU1NJT05fU1BFQ19TWU1CT0xfRVhURU5ERUQpO2lmKG4ubGVuZ3RoPjIpdGhyb3cgbmV3IEVycm9yKGBiYWQgc2Vzc2lvbjogJHt0fS4gT25seSBvbmUgJyR7by5TRVNTSU9OX1NQRUNfU1lNQk9MX0VYVEVOREVEfScgaXMgYWxsb3dlZCBwZXIgc2Vzc2lvbiBpbnRlcnZhbGApO2NvbnN0IHI9blswXS5zcGxpdChvLlNFU1NJT05fU1BFQ19TWU1CT0xfQkFSU19PRkZTRVQpO2lmKHIubGVuZ3RoPjIpdGhyb3cgbmV3IEVycm9yKGBiYWQgc2Vzc2lvbjogJHt0fS4gT25seSBvbmUgJyR7by5TRVNTSU9OX1NQRUNfU1lNQk9MX0JBUlNfT0ZGU0VUfScgaXMgYWxsb3dlZCBwZXIgc2Vzc2lvbiBpbnRlcnZhbGApO2NvbnN0IGk9clswXS5zcGxpdCgiLSIpO2lmKDIhPT1pLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoYGJhZCBzZXNzaW9uOiAke3R9YCk7bGV0IGE9MCxkPWlbMF07aWYoZC5pbmNsdWRlcygiRiIpKXtjb25zdCBlPWQuc3BsaXQoIkYiKTtkPWVbMF0sYT0iIiE9PWVbMV0/cGFyc2VJbnQoZVsxXSk6MX1sZXQgaD0wLGY9aVsxXTtpZihmLmluY2x1ZGVzKCJGIikpe2NvbnN0IGU9Zi5zcGxpdCgiRiIpO2Y9ZVswXSxoPSIiIT09ZVsxXT9wYXJzZUludChlWzFdKToxfWNvbnN0IHk9dGhpcy5fbWludXRlc0Zyb21ISE1NKGQsdCxzKSxjPXRoaXMuX21pbnV0ZXNGcm9tSEhNTShmLHQscyk7bGV0IF89dGhpcy5fY3JlYXRlU2Vzc2lvbkVudHJ5KGUseSxjLGEsaCk7aWYoMj09PXIubGVuZ3RoKXtjb25zdCBlPXRoaXMuX21pbnV0ZXNGcm9tSEhNTShyWzFdLHQscyk7Xz10aGlzLl9kZWNvcmF0ZVdpdGhPZmZzZXQoXyxlLHksYyxhLGgpfWlmKDI9PT1uLmxlbmd0aCl7Y29uc3QgZT1uWzFdLnNwbGl0KCItIik7aWYoMiE9PWUubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb246ICR7dH0uIEluY29ycmVjdCBleHRlbmRlZCBpbnRlcnZhbGApO2xldCByPTAsaT1lWzBdO2lmKGkuaW5jbHVkZXMoIkYiKSl7Y29uc3QgZT1pLnNwbGl0KCJGIik7aT1lWzBdLHI9IiIhPT1lWzFdP3BhcnNlSW50KGVbMV0pOjF9bGV0IG89MCxhPWVbMV0KO2lmKGEuaW5jbHVkZXMoIkYiKSl7Y29uc3QgZT1hLnNwbGl0KCJGIik7YT1lWzBdLG89IiIhPT1lWzFdP3BhcnNlSW50KGVbMV0pOjF9Y29uc3QgZD10aGlzLl9taW51dGVzRnJvbUhITU0oaSx0LHMpLGg9dGhpcy5fbWludXRlc0Zyb21ISE1NKGEsdCxzKTtfPXRoaXMuX2RlY29yYXRlV2l0aEV4dGVuc2lvbihfLGQsaCxyLG8pfXJldHVybiBffXN0YXRpYyBfbWludXRlc0Zyb21ISE1NKGUsdCxzKXtpZig0PT09ZS5sZW5ndGgmJmgoZS5jaGFyQ29kZUF0KDApKSYmaChlLmNoYXJDb2RlQXQoMSkpJiZoKGUuY2hhckNvZGVBdCgyKSkmJmgoZS5jaGFyQ29kZUF0KDMpKSl7Y29uc3QgdD1wYXJzZUludChlKSxuPU1hdGgudHJ1bmModC8xMDApLHI9dCUxMDA7aWYoIXN8fG48MjQmJnI8NjApcmV0dXJuIHIrNjAqbn10aHJvdyBuZXcgRXJyb3IoYGluY29ycmVjdCBlbnRyeSBzeW50YXg6ICR7dH1gKX1zdGF0aWMgX3BhcnNlRGF5KGUsdCxzKXtpZig4PT09ZS5sZW5ndGgmJmgoZS5jaGFyQ29kZUF0KDApKSYmaChlLmNoYXJDb2RlQXQoMSkpJiZoKGUuY2hhckNvZGVBdCgyKSkmJmgoZS5jaGFyQ29kZUF0KDMpKSYmaChlLmNoYXJDb2RlQXQoNCkpJiZoKGUuY2hhckNvZGVBdCg1KSkmJmgoZS5jaGFyQ29kZUF0KDYpKSYmaChlLmNoYXJDb2RlQXQoNykpKXtjb25zdCB0PXBhcnNlSW50KGUuc3Vic3RyaW5nKDAsNCkpLG49cGFyc2VJbnQoZS5zdWJzdHJpbmcoNCw2KSkscj1wYXJzZUludChlLnN1YnN0cmluZyg2LDgpKTtpZighc3x8dGhpcy5faXNWYWxpZERheU9mTW9udGgocixuLHQpKXJldHVybiBuZXcgaS5CdXNpbmVzc0RheSh0LG4scil9dGhyb3cgbmV3IEVycm9yKGBiYWQgJHt0fSBkYXRlOiAke2V9YCl9c3RhdGljIF9pc1ZhbGlkRGF5T2ZNb250aChlLHQscyl7cmV0dXJuISh0PDF8fHQ+MTIpJiYoIShlPDF8fGU+Zlt0XSl8fCEoMiE9PXR8fDI5IT09ZXx8ISgwLHIuaXNfbGVhcF95ZWFyKShzKSkpfXN0YXRpYyBfcGFyc2VXb3JraW5nRGF5cyhlKXtjb25zdCB0PVtdO2ZvcihsZXQgcz0wO3M8ZS5sZW5ndGg7cysrKXtjb25zdCBuPWUuY2hhckNvZGVBdChzKS00ODtpZihuPDF8fG4+Nyl0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGF5cyBzcGVjaWZpY2F0aW9uOiAke2V9YCk7dC5pbmNsdWRlcyhuKXx8dC5wdXNoKG4pfXJldHVybiB0fXN0YXRpYyBfY3JlYXRlU2Vzc2lvbkVudHJ5KGUsdCxzLG4saSl7aWYodShuLCJzdGFydERheXNBZ28iKSx1KGksImVuZERheXNBZ28iKSwobj1sKHQscz1fKHMpLG4saSkpPGkpdGhyb3cgbmV3IEVycm9yKGBlcnJvciBwYXJzaW5nIHNlc3Npb24sIHZpb2xhdGlvbiBzdGFydERheXNBZ28gPj0gZW5kRGF5c0Fnbywgc3RhcnREYXlzQWdvPSR7bn0sIGVuZERheXNBZ289JHtpfWApO24+MCYmKHQtPW4qci5taW51dGVzUGVyRGF5KSxpPjAmJihzLT1pKnIubWludXRlc1BlckRheSk7Y29uc3QgYT1zLXQ7aWYoIShlPj1yLlNVTkRBWSYmZTw9ci5TQVRVUkRBWSYmdDxyLm1pbnV0ZXNQZXJEYXkmJmE+MCkpdGhyb3cgbmV3IEVycm9yKCJlcnJvciBwYXJzaW5nIHNlc3Npb24sIGludmFsaWQgZGF0YSIpO3JldHVybiBuZXcgby5TZXNzaW9uc1NwZWNFbnRyeShlLHQsYSl9c3RhdGljIF9kZWNvcmF0ZVdpdGhFeHRlbnNpb24oZSx0LHMsbixpKXtpZih1KG4sImV4dGVuZGVkLnN0YXJ0RGF5c0FnbyIpLHUoaSwiZXh0ZW5kZWQuZW5kRGF5c0FnbyIpLChuPWwodCxzPV8ocyksbixpKSk+MCYmKHQtPW4qci5taW51dGVzUGVyRGF5KSxpPjAmJihzLT1pKnIubWludXRlc1BlckRheSksdD09PWUuc3RhcnRPZmZzZXQoKSYmcz09PWUuZW5kT2Zmc2V0KCkpcmV0dXJuIGU7aWYodD5lLnN0YXJ0T2Zmc2V0KCl8fHM8ZS5lbmRPZmZzZXQoKSl0aHJvdyBuZXcgRXJyb3IoImVycm9yIHBhcnNpbmcgc2Vzc2lvbiwgZXh0ZW5kZWQgaW50ZXJ2YWwgbXVzdCBiZSB3aWRlciB0aGFuIG9yIGVxdWFsIHRvIHRoZSBiYXNlIGludGVydmFsIik7cmV0dXJuIG5ldyBvLkV4dGVuZGVkRW50cnlEZWNvcmF0b3IoZSx0LHMpfXN0YXRpYyBfZGVjb3JhdGVXaXRoT2Zmc2V0KGUsdCxzLG4saSxhKXtyZXR1cm4gdD09PXM/ZTooaT1sKHMsbj1fKG4pLGksYSksdD5zJiYodC09ci5taW51dGVzUGVyRGF5KSxpPjAmJih0LT1pKnIubWludXRlc1BlckRheSksbmV3IG8uT2Zmc2V0RW50cnlEZWNvcmF0b3IoZSx0KSl9c3RhdGljIF9wYXJzZUhvbGlkYXlzQW5kQ29ycmVjdGlvbnNJbXBsKGUsdCxzLG4pe2NvbnN0IGk9bmV3IHk7aWYoIiIhPT10KXtjb25zdCBlPVtdO2Zvcihjb25zdCBzIG9mIHQuc3BsaXQoIiwiKSl7Y29uc3QgdD10aGlzLl9wYXJzZURheShzLCJob2xpZGF5IixuKTtpLnNldCh0LGUpfX1pZigiIj09PXMpcmV0dXJuIGk7Zm9yKGNvbnN0IGUgb2Ygcy5zcGxpdCgiOyIpKXtjb25zdCB0PWUuc3BsaXQoIjoiKTtpZigyIT09dC5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKGBiYWQgY29ycmVjdGlvbiBzZWN0aW9uOiAke2V9YCk7aWYoImRheW9mZiI9PT10WzBdKWZvcihjb25zdCBlIG9mIHRbMV0uc3BsaXQoIiwiKSl7Y29uc3QgdD10aGlzLl9wYXJzZURheShlLCJjb3JyZWN0aW9uIixuKTtpLnNldCh0LFtdKX1lbHNlIGZvcihjb25zdCBlIG9mIHRbMV0uc3BsaXQoIiwiKSl7Y29uc3Qgcz10aGlzLl9wYXJzZURheShlLCJjb3JyZWN0aW9uIixuKSxvPSgwLHIuZ2V0X2RheV9vZl93ZWVrKShzLnRvQ2FsZW5kYXIoKSksYT10aGlzLl9wYXJzZVNlc3Npb25EYXkobyx0WzBdLG4pO2kuc2V0KHMsYSl9fXJldHVybiBpfX19LDU1OTY5KGUsdCxzKXtzLmQodCx7U2Vzc2lvbnNTcGVjOigpPT5nfSk7dmFyIG49cygxMzg2MzgpLHI9cyg3MDA4MDkpLGk9cygxOTg5MDEpLG89cygzMDgyMSksYT1zKDM0MTAzNiksZD1zKDMyOTA0MSk7ZnVuY3Rpb24gaChlLHQpe3JldHVybiBlLmNvbXBhcmVUbyh0KTwwfWZ1bmN0aW9uIGYoZSx0KXsKY29uc3Qgcz1lLmRheU9mV2VlaygpKnIubWludXRlc1BlckRheSxuPXMrZS5leHRlbmRlZFN0YXJ0T2Zmc2V0KCksaT1zK2UuZXh0ZW5kZWRFbmRPZmZzZXQoKSxvPXQuZGF5T2ZXZWVrKCkqci5taW51dGVzUGVyRGF5LGE9byt0LmV4dGVuZGVkU3RhcnRPZmZzZXQoKSxkPW8rdC5leHRlbmRlZEVuZE9mZnNldCgpO3JldHVybiEobjw9YSYmYTxpfHxhPD1uJiZuPGQpJiZuPGF9ZnVuY3Rpb24geShlLHQpe2NvbnN0IHM9ZS5kYXlPZldlZWsoKSpyLm1pbnV0ZXNQZXJEYXksbj1zK2UuZXh0ZW5kZWRTdGFydE9mZnNldCgpLGk9cytlLmV4dGVuZGVkRW5kT2Zmc2V0KCksbz10LmRheU9mV2VlaygpKnIubWludXRlc1BlckRheSxhPW8rdC5leHRlbmRlZFN0YXJ0T2Zmc2V0KCksZD1vK3QuZXh0ZW5kZWRFbmRPZmZzZXQoKTtyZXR1cm4gbjw9YSYmYTxpfHxhPD1uJiZuPGQ/MDpuPmE/MTotMX1jb25zdCBjPSgwLHIuZ2V0X3RpbWV6b25lKSgiRXRjL1VUQyIpO2Z1bmN0aW9uIF8oZSl7cmV0dXJuIDFlNCplLnllYXIrMTAwKmUubW9udGgrZS5kYXl9dmFyIGw7IWZ1bmN0aW9uKGUpe2VbZS5DbG9zZXN0PTBdPSJDbG9zZXN0IixlW2UuRmlyc3RJbkRheT0tMV09IkZpcnN0SW5EYXkiLGVbZS5MYXN0SW5EYXk9MV09Ikxhc3RJbkRheSJ9KGx8fChsPXt9KSk7Y2xhc3MgdXtjb25zdHJ1Y3RvcihlKXt0aGlzLl92YWx1ZT1lfWdldCgpe3JldHVybiB0aGlzLl92YWx1ZX1zZXQoZSl7dGhpcy5fdmFsdWU9ZX19Y2xhc3MgZ3tjb25zdHJ1Y3RvcihlPSJFdGMvVVRDIix0PSIwMDAwLTAwMDAiLHM9IiIsbj0iIixpPSExKXtjb25zdCBvPW5ldyBkLlNlc3Npb25zU3BlY1BhcnNlcjtpP28ucGFyc2VTZXNzaW9uc0FuZFZhbGlkYXRlRGF0ZVRpbWUoZSx0KTpvLnBhcnNlU2Vzc2lvbnMoZSx0KSx0aGlzLl9lbnRyaWVzPW8uaGlzdG9yeUVudHJpZXMsdGhpcy5faGFzSGlzdG9yeUNvcnJlY3Rpb25zPW8uaGFzSGlzdG9yeUNvcnJlY3Rpb25zLHRoaXMuX3ByZXNlbnRIaXN0b3J5RW50cnk9by5oaXN0b3J5RW50cmllc1tvLmhpc3RvcnlFbnRyaWVzLmxlbmd0aC0xXSx0aGlzLl90aW1lem9uZT1vLnRpbWV6b25lLHRoaXMuX3RpbWV6b25lT2JqPSgwLHIuZ2V0X3RpbWV6b25lKShvLnRpbWV6b25lKSx0aGlzLl9ob2xpZGF5QW5kQ29ycmVjdGlvbk1hcD1pP2QuU2Vzc2lvbnNTcGVjUGFyc2VyLnBhcnNlSG9saWRheXNBbmRDb3JyZWN0aW9uc0FuZFZhbGlkYXRlRGF0ZVRpbWUoZSxzLG4pOmQuU2Vzc2lvbnNTcGVjUGFyc2VyLnBhcnNlSG9saWRheXNBbmRDb3JyZWN0aW9ucyhlLHMsbixpKTtjb25zdCBhPXRoaXMuX2hvbGlkYXlBbmRDb3JyZWN0aW9uTWFwLmtleXMoKTt0aGlzLl9lbnRyaWVzSGFzaD1uZXcgTWFwO2NvbnN0IGg9dGhpcy5fcHJlcGFyZVNlc3Npb25zQm9yZGVyUGFyYW1zKCk7dGhpcy5fYm9yZGVyV2Vla3NJbmRpY2VzSGFzaD1oLmJvcmRlcldlZWtzSW5kaWNlc0hhc2gsdGhpcy5feWVhclRvV2Vla3NJbmRpY2VzSGFzaD1oLnllYXJUb1dlZWtzSW5kaWNlc0hhc2gsdGhpcy5fd2Vla0luZGljZXNPZkxhc3RIaXN0b3J5V2Vlaz1oLndlZWtJbmRpY2VzT2ZMYXN0SGlzdG9yeVdlZWssdGhpcy5fcHJlc2VudFN0YXJ0V2Vla0luZGV4PWguc3RhcnRQcmVzZW50U2Vzc2lvbldlZWtJbmRleCx0aGlzLl95ZWFyVG9DYWxjdWxhdGVkQWRkZWRXZWVrSW5kaWNlc0hhc2g9bmV3IE1hcCwiIj09PXMmJiIiPT09biYmbnVsbD09PXRoaXMuX3dlZWtJbmRpY2VzT2ZMYXN0SGlzdG9yeVdlZWs/dGhpcy5faXNUaGVyZUNvcnJlY3Rpb25zPSExOnRoaXMuX2lzVGhlcmVDb3JyZWN0aW9ucz0hMDtmb3IoY29uc3QgZSBvZiBhKXtjb25zdCB0PXRoaXMuZ2V0V2Vla0luZGV4KGUudG9DYWxlbmRhcigpKTt0aGlzLl9lbnRyaWVzSGFzaC5zZXQodCxuZXcgdShudWxsKSl9dGhpcy5fc29ydGVkSG9saWRheXM9Wy4uLnRoaXMuX2hvbGlkYXlBbmRDb3JyZWN0aW9uTWFwLmVudHJpZXMoKV0ubWFwKCgoW2UsdF0pPT4oe2tleTpfKGUpLGRheTplLHNlc3Npb25zOnR9KSkpLnNvcnQoKChlLHQpPT5lLmtleS10LmtleSkpLHRoaXMuX2hvbGlkYXlDb3VudFByZWZpeFN1bXM9dGhpcy5faGFzSGlzdG9yeUNvcnJlY3Rpb25zP251bGw6dGhpcy5fYnVpbGRIb2xpZGF5Q291bnRQcmVmaXhTdW1zKCl9aGFzSGlzdG9yeUNvcnJlY3Rpb25zKCl7cmV0dXJuIHRoaXMuX2hhc0hpc3RvcnlDb3JyZWN0aW9uc31maXJzdERheU9mV2Vlaygpe3JldHVybiB0aGlzLl9wcmVzZW50SGlzdG9yeUVudHJ5LmdldEVudHJpZXMoKS5maXJzdERheU9mV2VlaygpfWluY2x1ZGVzRGF5KGUpe3JldHVybiB0aGlzLl9nZXRFbnRyaWVzRm9yRGF5KGUpLmxlbmd0aD4wfWdldEVudHJpZXNGb3JXZWVrKGUpe2lmKCF0aGlzLl9pc1RoZXJlQ29ycmVjdGlvbnMpcmV0dXJuIHRoaXMuX3ByZXNlbnRIaXN0b3J5RW50cnkuZ2V0RW50cmllcygpOygwLG4uYXNzZXJ0KShlPj0wKTtjb25zdCB0PWUscz10aGlzLl9lbnRyaWVzSGFzaC5nZXQodCk7aWYodm9pZCAwPT09cyl7cmV0dXJuIHRoaXMuX2dldEhpc3RvcnlBbmRJbmRleEZvcldlZWsodCkuZ2V0RW50cmllcygpfWxldCByPXMuZ2V0KCk7aWYobnVsbCE9PXIpcmV0dXJuIHI7bGV0IGk9bnVsbDtjb25zdCBoPXRoaXMuX2JvcmRlcldlZWtzSW5kaWNlc0hhc2guZ2V0KHQpO2k9dm9pZCAwPT09aD90aGlzLl9nZXRIaXN0b3J5QW5kSW5kZXhGb3JXZWVrKHQpLmdldEVudHJpZXMoKTp0aGlzLl9wcmVwYXJlQm9yZGVyV2Vla0hpc3RvcnkoaCk7Y29uc3QgZj1uZXcgTWFwKGkuZW50cmllc0J5RGF5KCkpO2xldCB5PVsuLi5pLmxpc3QoKV07Y29uc3QgYz10aGlzLl93ZWVrSW5kZXhUb0xvY2FsRGF0ZVRpbWUoZSksXz10aGlzLl93ZWVrSW5kZXhUb0xvY2FsRGF0ZVRpbWUoZSsxKSxsPW8uQnVzaW5lc3NEYXkuZnJvbUNhbGVuZGFyKGMpLHU9by5CdXNpbmVzc0RheS5mcm9tQ2FsZW5kYXIoXyk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fc2VsZWN0SG9saWRheXMobCx1KSl7Y29uc3QgdD1lLmRheS5nZXREYXlPZldlZWsoKTt5PXkuZmlsdGVyKChlPT5lLmRheU9mV2VlaygpIT09dCkpLHkucHVzaCguLi5lLnNlc3Npb25zKSwKMD09PWUuc2Vzc2lvbnMubGVuZ3RoP2YuZGVsZXRlKHQpOmYuc2V0KHQsZS5zZXNzaW9ucyl9eS5zb3J0KGEuY29tcGFyZVNlc3Npb25FbnRyaWVzKTtjb25zdCBnPWQud29ya2luZ0RheXNBbmRXZWVrRW5kcy5sZW5ndGgtZi5zaXplO3JldHVybiByPW5ldyBhLlNlc3Npb25zU3BlY0VudHJpZXMoeSxmLGkuZmlyc3REYXlPZldlZWsoKSxnKSxzLnNldChyKSxyfWdldEhpc3RvcnlCeUluZGV4KGUpe3JldHVybiB0aGlzLl9lbnRyaWVzW2VdfXRpbWV6b25lKCl7cmV0dXJuIHRoaXMuX3RpbWV6b25lfXRpbWV6b25lT2JqKCl7cmV0dXJuIHRoaXMuX3RpbWV6b25lT2JqfWxvbmdlc3RTZXNzaW9uTGVuZ3RoKCl7bGV0IGU9dGhpcy5fcHJlc2VudEhpc3RvcnlFbnRyeS5nZXRFbnRyaWVzKCkubG9uZ2VzdFNlc3Npb25MZW5ndGgoKTtmb3IobGV0IHQ9MDt0PHRoaXMuX2VudHJpZXMubGVuZ3RoLTE7dCsrKXtjb25zdCBzPXRoaXMuX2VudHJpZXNbdF0uZ2V0RW50cmllcygpLmxvbmdlc3RTZXNzaW9uTGVuZ3RoKCk7ZT1NYXRoLm1heChlLHMpfWxldCB0PS0xLzA7Zm9yKGNvbnN0IGUgb2YgdGhpcy5faG9saWRheUFuZENvcnJlY3Rpb25NYXAudmFsdWVzKCkpdD1NYXRoLm1heCh0LC4uLmUubWFwKChlPT5lLmxlbmd0aCgpKSkpO3JldHVybiBNYXRoLm1heCh0LGUpfWlzV2Vla0VuZChlKXtjb25zdCB0PXRoaXMuZ2V0V2Vla0luZGV4KGUpO2xldCBzO3JldHVybiBzPXZvaWQgMD09PXRoaXMuX2JvcmRlcldlZWtzSW5kaWNlc0hhc2guZ2V0KHQpP3RoaXMuX2dldEhpc3RvcnlBbmRJbmRleEZvcldlZWsodCkuZ2V0RW50cmllcygpOnRoaXMuZ2V0RW50cmllc0ZvcldlZWsodCkscy5pc1dlZWtFbmQoKDAsci5nZXRfZGF5X29mX3dlZWspKGUpKX1pc0NhbFdlZWtFbmQoZSl7Y29uc3QgdD0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSk7aWYoIXRoaXMuX2lzVGhlcmVDb3JyZWN0aW9ucylyZXR1cm4gdGhpcy5fcHJlc2VudEhpc3RvcnlFbnRyeS5nZXRFbnRyaWVzKCkuaXNXZWVrRW5kKHQpO2NvbnN0IHM9dGhpcy5nZXRXZWVrSW5kZXgoZSksbj10aGlzLmdldEVudHJpZXNGb3JXZWVrKHMpLGk9by5CdXNpbmVzc0RheS5mcm9tQ2FsZW5kYXIoZSksYT10aGlzLl9ob2xpZGF5QW5kQ29ycmVjdGlvbk1hcC5nZXQoaSk7cmV0dXJuIHZvaWQgMD09PWE/bi5pc1dlZWtFbmQodCk6MD09PWEubGVuZ3RofWhvbGlkYXlzRnJvbVllYXJTdGFydChlKXtjb25zdCB0PWUgaW5zdGFuY2VvZiBvLkJ1c2luZXNzRGF5P2U6by5CdXNpbmVzc0RheS5mcm9tQ2FsZW5kYXIoZSk7cmV0dXJuIHRoaXMuX2hvbGlkYXlzRnJvbVllYXJTdGFydCh0KX1kYXlzT2ZmRnJvbVllYXJTdGFydChlKXtjb25zdCB0PSgwLHIuZ2V0X2NhbCkoYywoMCxyLmdldF95ZWFyKShlKSxyLkpBTlVBUlksMSkscz10aGlzLmdldFdlZWtJbmRleCh0KSxuPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KSxpPSgwLHIuZ2V0X2RheV9vZl93ZWVrKShlKS0xO2lmKCgwLHIuZ2V0X2RheV9vZl95ZWFyKShlKStuPD1yLkxBU1RfREFZX09GX1dFRUsrci5GSVJTVF9EQVlfT0ZfV0VFSylyZXR1cm4gdGhpcy5fZ2V0RGF5c09mZkZvcldlZWtJbkJvcmRlcnMocyxuLGkpO2NvbnN0IG89dGhpcy5nZXRXZWVrSW5kZXgoZSk7bGV0IGE9dGhpcy5fZ2V0RGF5c09mZkZvcldlZWtJbkJvcmRlcnMocyxuLHIuTEFTVF9EQVlfT0ZfV0VFSyk7Zm9yKGxldCBlPXMrMTtlPG87ZSsrKXthKz10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpLndlZWtFbmRzQ291bnQoKX1yZXR1cm4gYSs9dGhpcy5fZ2V0RGF5c09mZkZvcldlZWtJbkJvcmRlcnMobyxyLkZJUlNUX0RBWV9PRl9XRUVLLGkpLGF9d2Vla0VuZHNDb3VudEZvclNpbmdsZVNlc3Npb24oKXtyZXR1cm4oMCxuLmFzc2VydCkoIXRoaXMuaGFzSGlzdG9yeUNvcnJlY3Rpb25zKCkpLHRoaXMuX3ByZXNlbnRIaXN0b3J5RW50cnkuZ2V0RW50cmllcygpLndlZWtFbmRzQ291bnQoKX1pbnRyYWRheUNhbkJlQnVpbHRGcm9tMjR4NyhlKXtmb3IoY29uc3QgdCBvZiB0aGlzLl9lbnRyaWVzKWlmKCF0LmdldEVudHJpZXMoKS5saXN0KCkuZXZlcnkoKHQ9PnQuc3RhcnQoKSVlPT0wJiZ0Lmxlbmd0aCgpJWU9PTApKSlyZXR1cm4hMTtyZXR1cm4hMH1pbnRyYWRheUNhbkJlQnVpbHRGcm9tMjR4N1NlY29uZHMoZSl7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fZW50cmllcylpZighdC5nZXRFbnRyaWVzKCkubGlzdCgpLmV2ZXJ5KCh0PT42MCp0LnN0YXJ0KCklZT09MCYmNjAqdC5sZW5ndGgoKSVlPT0wKSkpcmV0dXJuITE7cmV0dXJuITB9aW5kZXhPZlNlc3Npb24oZSx0LHMsbz1oKXsoMCxuLmFzc2VydCkodD49ci5TVU5EQVkmJnQ8PXIuU0FUVVJEQVkpLCgwLG4uYXNzZXJ0KShzPj0wJiZzPHIubWludXRlc1BlckRheSk7Y29uc3QgZD10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpLGY9ZC5saXN0KCk7bGV0IHk9KDAsaS5sb3dlcmJvdW5kKShmLG5ldyBhLlNlc3Npb25zU3BlY0VudHJ5KHQscywwKSxvKTtpZih5PGYubGVuZ3RoKXJldHVybiBuZXcgYS5TZXNzaW9uc1NwZWNFbnRyeUluZGV4KGUseSxbLi4uZl0pO2xldCBjPWUrMSxfPXRoaXMuZ2V0RW50cmllc0ZvcldlZWsoYyk7aWYoMCE9PV8ubGlzdCgpLmxlbmd0aCl7Y29uc3QgZT03LXQrXy5maXJzdERheU9mV2VlaygpLTE7aWYocz0tKHIubWludXRlc1BlckRheS1zK2Uqci5taW51dGVzUGVyRGF5KSx5PSgwLGkubG93ZXJib3VuZCkoXy5saXN0KCksbmV3IGEuU2Vzc2lvbnNTcGVjRW50cnkoXy5maXJzdERheU9mV2VlaygpLHMsMCksbykseTxfLmxpc3QoKS5sZW5ndGgpcmV0dXJuIG5ldyBhLlNlc3Npb25zU3BlY0VudHJ5SW5kZXgoYyx5LFsuLi5fLmxpc3QoKV0pfWZvcig7OylpZihjKysscy09ci5taW51dGVzUGVyV2VlayxfPXRoaXMuZ2V0RW50cmllc0ZvcldlZWsoYyksMCE9PV8ubGlzdCgpLmxlbmd0aCYmKHk9KDAsaS5sb3dlcmJvdW5kKShfLmxpc3QoKSxuZXcgYS5TZXNzaW9uc1NwZWNFbnRyeShkLmZpcnN0RGF5T2ZXZWVrKCkscywwKSxvKSwhKHk+PV8ubGlzdCgpLmxlbmd0aCkpKXJldHVybiBuZXcgYS5TZXNzaW9uc1NwZWNFbnRyeUluZGV4KGMseSxbLi4uXy5saXN0KCldKX0KZmluZFNlc3Npb24oZSx0LHMsbj0wLHI9aCl7Y29uc3QgaT10aGlzLmluZGV4T2ZTZXNzaW9uKGUsdCxzLHIpLG89aS5lbnRyaWVzO2xldCBkPWkuZW50cnlJbmRleDtpZigwIT09bil7Y29uc3QgZT1vW2RdLmRheU9mV2VlaygpLHQ9bj4wPzE6LTE7Zm9yKDs7KXtjb25zdCBzPWQrdDtpZihzPDB8fHM+PW8ubGVuZ3RofHxvW3NdLmRheU9mV2VlaygpIT09ZSlicmVhaztkPXN9fXJldHVybiBuZXcgYS5TZXNzaW9uc1NwZWNFbnRyeUluZGV4KGkud2Vla0luZGV4LGQsbyl9Z2V0V2Vla0luZGV4KGUpe3JldHVybiB0aGlzLl9pc1RoZXJlQ29ycmVjdGlvbnM/Zy5fZ2V0V2Vla0luZGV4SW1wbChlKTowfWNvcnJlY3RUcmFkaW5nRGF5KGUpe2NvbnN0IHQ9dGhpcy5fY29ycmVjdFRyYWRpbmdEYXkodGhpcy5nZXRXZWVrSW5kZXgoZSksKDAsci5nZXRfZGF5X29mX3dlZWspKGUpLCgwLHIuZ2V0X21pbnV0ZXNfd2l0aF9ob3VycykoZSkpLHM9KDAsci5jbG9uZSkoZSk7cmV0dXJuKDAsci5hZGRfZGF0ZSkocyx0KSxzfWFsaWduVG9TZXNzaW9uU3RhcnQoZSx0PTApe2NvbnN0IHM9KDAsci5nZXRfZGF5X29mX3dlZWspKGUpLG49KDAsci5nZXRfbWludXRlc19mcm9tX21pZG5pZ2h0KShlKSxpPXRoaXMuZ2V0V2Vla0luZGV4KGUpLG89dGhpcy5maW5kU2Vzc2lvbihpLHMsbix0KSxhPW8uZ2V0RW50cnkoKSxkPWEuZGF5T2ZXZWVrKCktcys3Kk1hdGgudHJ1bmMoby53ZWVrSW5kZXgtaSk7MCE9PWQmJigwLHIuYWRkX2RhdGUpKGUsZCk7Y29uc3QgaD1hLnN0YXJ0T2Zmc2V0KCk7cmV0dXJuKDAsci5zZXRfaG1zKShlLE1hdGgudHJ1bmMoaC82MCksaCU2MCwwLDApLGEubGVuZ3RoKCl9YWxpZ25Ub0VudHJ5U3RhcnQoZSx0PTApe3JldHVybiB0aGlzLl9kb0FsaWduVG9FbnRyeVN0YXJ0KGUsdCxoKX1hbGlnblRvRW50cnlTdGFydEV4dGVuZGVkKGUsdD0wKXtyZXR1cm4gdGhpcy5fZG9BbGlnblRvRW50cnlTdGFydChlLHQsZil9YnVzaW5lc3NEYXlzVG9DYWxlbmRhckRheXMoZSx0KXtyZXR1cm4gdGhpcy5fYnVzaW5lc3NEYXlzVG9DYWxlbmRhckRheXModGhpcy5nZXRXZWVrSW5kZXgoZSksKDAsci5nZXRfZGF5X29mX3dlZWspKGUpLHQpfWNhbGVuZGFyRGF5c1RvQnVzaW5lc3NEYXlzKGUsdCl7cmV0dXJuIHRoaXMuX2NhbGVuZGFyRGF5c1RvQnVzaW5lc3NEYXlzKHRoaXMuZ2V0V2Vla0luZGV4KGUpLCgwLHIuZ2V0X2RheV9vZl93ZWVrKShlKSx0KX1hbGlnblRvTmVhcmVzdFNlc3Npb25TdGFydChlLHQpe3JldHVybiB0aGlzLl9hbGlnblRvTmVhcmVzdFNlc3Npb25WYWx1ZShlLHQsdGhpcy5fZW50cnlTZXNzaW9uU3RhcnQuYmluZCh0aGlzKSl9YWxpZ25Ub05lYXJlc3RTZXNzaW9uRW5kKGUsdCl7cmV0dXJuIHRoaXMuX2FsaWduVG9OZWFyZXN0U2Vzc2lvblZhbHVlKGUsdCx0aGlzLl9lbnRyeVNlc3Npb25FbmQuYmluZCh0aGlzKSl9Ym9yZGVyc09mRGFpbHlCYXIoZSl7Y29uc3QgdD10aGlzLl9nZXRFbnRyaWVzRm9yRGF5KGUpO2lmKDA9PT10Lmxlbmd0aClyZXR1cm4gbnVsbDtjb25zdCBzPXQuc2xpY2UoKTtzLnNvcnQoYS5jb21wYXJlU2Vzc2lvbkVudHJpZXMpO2NvbnN0IG49dGhpcy5fZ2V0TGVmdEVudHJ5Qm9yZGVyKGUsc1swXSksaT1zW3MubGVuZ3RoLTFdLG89NjAqKGkuc3RhcnRPZmZzZXQoKStpLmxlbmd0aCgpKS0xLGQ9KDAsci5jbG9uZSkoZSk7cmV0dXJuKDAsci5zZXRfc2Vjb25kcykoZCxvKSx7ZnJvbTpuLHRvOmR9fWxlZnRCb3JkZXJPZkRhaWx5QmFyKGUpe2NvbnN0IHQ9dGhpcy5fZ2V0RW50cmllc0ZvckRheShlKTtpZigwPT09dC5sZW5ndGgpcmV0dXJuIG51bGw7Y29uc3Qgcz10LnNsaWNlKCk7cmV0dXJuIHMuc29ydChhLmNvbXBhcmVTZXNzaW9uRW50cmllcyksdGhpcy5fZ2V0TGVmdEVudHJ5Qm9yZGVyKGUsc1swXSl9Y2hlY2tTZXNzaW9uKCl7cmV0dXJuIHRoaXMuX2NoZWNrRWFjaEhpc3RvcnlTZXNzaW9uKCkmJnRoaXMuX2NoZWNrU3BlY2lhbEVudHJpZXMoKSYmdGhpcy5fY2hlY2tUb29NYW55Q29ycmVjdGlvbnNPbldlZWsoKX1pblNlc3Npb24oZSl7ZT1uZXcgRGF0ZSgxZTMqTWF0aC5mbG9vcihlLmdldFRpbWUoKS8xZTMpKTtjb25zdCB0PXRoaXMuYWxpZ25Ub05lYXJlc3RTZXNzaW9uU3RhcnQoZSwtMSkscz10aGlzLmFsaWduVG9OZWFyZXN0U2Vzc2lvbkVuZCh0LDEpO3JldHVybiEoZS5nZXRUaW1lKCk+cy5nZXRUaW1lKCkpfWhhc1dlZWtFbmRzKCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fZW50cmllcylpZigwIT09ZS5nZXRFbnRyaWVzKCkud2Vla0VuZHNDb3VudCgpKXJldHVybiEwO3JldHVybiExfWdldFdlZWtJbmRpY2VzV2l0aEFkZGl0aW9uYWxXZWVrQmFycyhlKXtsZXQgdD10aGlzLl95ZWFyVG9DYWxjdWxhdGVkQWRkZWRXZWVrSW5kaWNlc0hhc2guZ2V0KGUpO3JldHVybiB2b2lkIDA9PT10JiYodD10aGlzLl9jYWxjdWxhdGVBZGRlZEluZGljZXMoZSksdGhpcy5feWVhclRvQ2FsY3VsYXRlZEFkZGVkV2Vla0luZGljZXNIYXNoLnNldChlLHQpKSx0fV9kb0FsaWduVG9FbnRyeVN0YXJ0KGUsdCxzKXtjb25zdCBuPSgwLHIuZ2V0X2RheV9vZl93ZWVrKShlKSxpPSgwLHIuZ2V0X21pbnV0ZXNfZnJvbV9taWRuaWdodCkoZSksbz10aGlzLmdldFdlZWtJbmRleChlKSxhPXRoaXMuZmluZFNlc3Npb24obyxuLGksdCxzKSxkPWEuZ2V0RW50cnkoKSxoPWQuZGF5T2ZXZWVrKCktbis3Kk1hdGgudHJ1bmMoYS53ZWVrSW5kZXgtbyk7MCE9PWgmJigwLHIuYWRkX2RhdGUpKGUsaCk7Y29uc3QgZj1kLnN0YXJ0T2Zmc2V0KCk7cmV0dXJuKDAsci5zZXRfaG1zKShlLE1hdGgudHJ1bmMoZi82MCksZiU2MCwwLDApLHtsZW5ndGg6ZC5sZW5ndGgoKSxlbnRyeTpkfX1fcHJlcGFyZVNlc3Npb25zQm9yZGVyUGFyYW1zKCl7Y29uc3QgZT1uZXcgTWFwLHQ9bmV3IE1hcDtsZXQgcz1udWxsO3RoaXMuX2VudHJpZXMubGVuZ3RoPjEmJihzPUFycmF5LmZyb20oe2xlbmd0aDp0aGlzLl9lbnRyaWVzLmxlbmd0aC0xfSwoKCk9PjApKSk7bGV0IHI9MDtmb3IobGV0IGk9MDtpPHRoaXMuX2VudHJpZXMubGVuZ3RoLTE7aSsrKXtjb25zdCBvPXRoaXMuX2VudHJpZXNbaSsxXSxhPSgwLApuLmVuc3VyZU5vdE51bGwpKG8uZ2V0U3RhcnREYXkoKSk7cj1nLl9nZXRXZWVrSW5kZXhJbXBsKGEpLGUuc2V0KHIsaSsxKSx0aGlzLl9hZGRUb1llYXJIYXNoKHQsYSxyKSx0aGlzLl9lbnRyaWVzSGFzaC5zZXQocixuZXcgdShudWxsKSksKDAsbi5lbnN1cmVOb3ROdWxsKShzKVtpXT1yfXJldHVybntib3JkZXJXZWVrc0luZGljZXNIYXNoOmUseWVhclRvV2Vla3NJbmRpY2VzSGFzaDp0LHN0YXJ0UHJlc2VudFNlc3Npb25XZWVrSW5kZXg6cix3ZWVrSW5kaWNlc09mTGFzdEhpc3RvcnlXZWVrOnN9fV9hZGRUb1llYXJIYXNoKGUsdCxzKXtjb25zdCBuPSgwLHIuZ2V0X3llYXIpKHQpO2xldCBpPWUuZ2V0KG4pO3ZvaWQgMD09PWkmJihpPVtdLGUuc2V0KG4saSkpLGkucHVzaChzKX1fZ2V0SGlzdG9yeUFuZEluZGV4Rm9yV2VlayhlKXtpZih0aGlzLl9wcmVzZW50U3RhcnRXZWVrSW5kZXg8PWUpcmV0dXJuIHRoaXMuX3ByZXNlbnRIaXN0b3J5RW50cnk7Y29uc3QgdD10aGlzLl9nZXRJbmRleE9mSGlzdG9yeUVudHJ5KGUpO3JldHVybiB0aGlzLl9lbnRyaWVzW3RdfV9nZXRJbmRleE9mSGlzdG9yeUVudHJ5KGUpe2xldCB0PTAscz10aGlzLl9lbnRyaWVzLmxlbmd0aC0xLHI9TWF0aC5mbG9vcigodCtzKS8yKTtmb3IoKDAsbi5hc3NlcnQpKG51bGwhPT10aGlzLl93ZWVrSW5kaWNlc09mTGFzdEhpc3RvcnlXZWVrKTs7KXtpZih0aGlzLl93ZWVrSW5kaWNlc09mTGFzdEhpc3RvcnlXZWVrW3JdPj1lKXtpZihzPXItMSxzPHQpcmV0dXJuIHJ9ZWxzZSBpZih0PXIrMSxzPHQpcmV0dXJuIHIrMTtyPU1hdGguZmxvb3IoKHQrcykvMil9fV9zZWxlY3RIb2xpZGF5cyhlLHQpe2NvbnN0IHM9dGhpcy5fbG93ZXJCb3VuZEhvbGlkYXlJbmRleChfKGUpKSxuPXRoaXMuX2xvd2VyQm91bmRIb2xpZGF5SW5kZXgoXyh0KSk7cmV0dXJuIHRoaXMuX3NvcnRlZEhvbGlkYXlzLnNsaWNlKHMsbil9X2xvd2VyQm91bmRIb2xpZGF5SW5kZXgoZSl7cmV0dXJuKDAsaS5sb3dlcmJvdW5kKSh0aGlzLl9zb3J0ZWRIb2xpZGF5cyxlLCgoZSx0KT0+ZS5rZXk8dCkpfV9wcmVwYXJlQm9yZGVyV2Vla0hpc3RvcnkoZSl7Y29uc3QgdD10aGlzLl9lbnRyaWVzW2UtMV0scz10aGlzLl9lbnRyaWVzW2VdLGk9bmV3IE1hcCxvPVtdLGg9KDAsci5nZXRfZGF5X29mX3dlZWspKCgwLG4uZW5zdXJlTm90TnVsbCkocy5nZXRTdGFydERheSgpKSk7Zm9yKGxldCBlPTA7ZTxkLndvcmtpbmdEYXlzQW5kV2Vla0VuZHMubGVuZ3RoO2UrKyl7Y29uc3Qgbj1kLndvcmtpbmdEYXlzQW5kV2Vla0VuZHNbZV07aWYobjxoKXtjb25zdCBlPXQuZ2V0RW50cmllcygpLmVudHJpZXNCeURheSgpLmdldChuKTt2b2lkIDAhPT1lJiYoby5wdXNoKC4uLmUpLGkuc2V0KG4sZSkpfWVsc2V7Y29uc3QgZT1zLmdldEVudHJpZXMoKS5lbnRyaWVzQnlEYXkoKS5nZXQobik7dm9pZCAwIT09ZSYmKG8ucHVzaCguLi5lKSxpLnNldChuLGUpKX19cmV0dXJuIG5ldyBhLlNlc3Npb25zU3BlY0VudHJpZXMobyxpLHMuZ2V0RW50cmllcygpLmZpcnN0RGF5T2ZXZWVrKCksMCl9X2hvbGlkYXlzRnJvbVllYXJTdGFydChlKXtpZighdGhpcy5faXNUaGVyZUNvcnJlY3Rpb25zKXJldHVybiAwOygwLG4uYXNzZXJ0KSghdGhpcy5oYXNIaXN0b3J5Q29ycmVjdGlvbnMoKSk7Y29uc3QgdD0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2hvbGlkYXlDb3VudFByZWZpeFN1bXMpLHM9dGhpcy5fbG93ZXJCb3VuZEhvbGlkYXlJbmRleChfKGUuZmlyc3REYXlPZlllYXIoKSkpO3JldHVybiB0W3RoaXMuX2xvd2VyQm91bmRIb2xpZGF5SW5kZXgoXyhlKSldLXRbc119X2J1aWxkSG9saWRheUNvdW50UHJlZml4U3Vtcygpe2NvbnN0IGU9dGhpcy5fcHJlc2VudEhpc3RvcnlFbnRyeS5nZXRFbnRyaWVzKCksdD1uZXcgQXJyYXkodGhpcy5fc29ydGVkSG9saWRheXMubGVuZ3RoKzEpO3RbMF09MDtmb3IobGV0IHM9MDtzPHRoaXMuX3NvcnRlZEhvbGlkYXlzLmxlbmd0aDtzKyspe2NvbnN0IG49dGhpcy5fc29ydGVkSG9saWRheXNbc10scj0wPT09bi5zZXNzaW9ucy5sZW5ndGg7bGV0IGk9MDtpPWUuaXNXZWVrRW5kKG4uZGF5LmdldERheU9mV2VlaygpKT9yPzA6LTE6cj8xOjAsdFtzKzFdPXRbc10raX1yZXR1cm4gdH1fZ2V0RGF5c09mZkZvcldlZWtJbkJvcmRlcnMoZSx0LHMpe2xldCBuPTA7Y29uc3Qgcj10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpO2ZvcihsZXQgZT10O2U8PXM7ZSsrKXIuZW50cmllc0J5RGF5KCkuaGFzKGUpfHxuKys7cmV0dXJuIG59X3dlZWtJbmRleFRvTG9jYWxEYXRlVGltZShlKXtjb25zdCB0PU1hdGguZmxvb3IoODY0MDAqZSo3Kzg2NDAwLTYyMTY3MjE5MjAwKSxzPSgwLHIuZ2V0X2NhbF9mcm9tX3VuaXhfdGltZXN0YW1wX21zKShjLDFlMyp0KTtyZXR1cm4oMCxyLnNldF9obXMpKHMsMCwwLDAsMCksc31fY29ycmVjdFRyYWRpbmdEYXkoZSx0LHMpe2NvbnN0IG49dGhpcy5maW5kU2Vzc2lvbihlLHQscywwKTtyZXR1cm4gbi5nZXRFbnRyeSgpLmRheU9mV2VlaygpLXQrNypNYXRoLnRydW5jKG4ud2Vla0luZGV4LWUpfV9lbnRyeVNlc3Npb25WYWx1ZShlLHQscyxuKXt0PSgwLHIuY2xvbmUpKHQpO2xldCBpPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KTtjb25zdCBvPWUuZ2V0RW50cnkoKTtsZXQgYT1vLmRheU9mV2VlaygpLW8uc2Vzc2lvblN0YXJ0RGF5c09mZnNldCgpO2NvbnN0IGQ9dGhpcy5nZXRXZWVrSW5kZXgodCk7bGV0IGg9TWF0aC50cnVuYyhlLndlZWtJbmRleC1kKSxmPSExO2lmKGE8ci5TVU5EQVkmJihoPD0wP2Y9ITA6aC0tLGErPTcpLChoPjAmJnM+PTB8fGg8MCYmczwwKSYmKDAsci5hZGRfZGF0ZSkodCw3KmgpLCFvLmNvbnRhaW5zKHQpKXtsZXQgZT1hLWk7ZiYmczwwJiYoZT0tKDctYStpKSksKDAsci5hZGRfZGF0ZSkodCxlKSxpPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KX1pZihvLmlzT3Zlcm5pZ2h0KCkpe2NvbnN0IGU9by5zZXNzaW9uU3RhcnREYXlzT2Zmc2V0KCkscz0oaS0oby5kYXlPZldlZWsoKS1lKSs3KSU3OzAhPT1zJiYoMCxyLmFkZF9kYXRlKSh0LC1zKX1jb25zdCB5PW4obyk7cmV0dXJuKDAsci5zZXRfc2Vjb25kcykodCx5KSx0fQpfYnVzaW5lc3NEYXlzVG9DYWxlbmRhckRheXMoZSx0LHMpe2xldCBuPTAsaT0wO2Zvcig7aTxzOyl7Y29uc3Qgbz10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpO2ZvcihsZXQgZT10O2U8PXIuU0FUVVJEQVk7ZSsrKWlmKG4rKyx2b2lkIDAhPT1vLmVudHJpZXNCeURheSgpLmdldChlKSYmaSsrLGk+PXMpcmV0dXJuIG47ZSsrLHQ9ci5TVU5EQVl9cmV0dXJuIG59X2NhbGVuZGFyRGF5c1RvQnVzaW5lc3NEYXlzKGUsdCxzKXtsZXQgbj0wLGk9MDtmb3IoO248czspe2NvbnN0IG89dGhpcy5nZXRFbnRyaWVzRm9yV2VlayhlKTtmb3IobGV0IGU9dDtlPD1yLlNBVFVSREFZO2UrKylpZihuKyssdm9pZCAwIT09by5lbnRyaWVzQnlEYXkoKS5nZXQoZSkmJmkrKyxuPj1zKXJldHVybiBpO2UrKyx0PXIuU1VOREFZfXJldHVybiBpfV9lbnRyeVNlc3Npb25TdGFydChlLHQscyl7cmV0dXJuIHRoaXMuX2VudHJ5U2Vzc2lvblZhbHVlKGUsdCxzLChlPT42MCplLnN0YXJ0KCkpKX1fZW50cnlTZXNzaW9uRW5kKGUsdCxzKXtyZXR1cm4gdGhpcy5fZW50cnlTZXNzaW9uVmFsdWUoZSx0LHMsKGU9PjYwKihlLnN0YXJ0KCkrZS5sZW5ndGgoKSktMSkpfV9hbGlnblRvTmVhcmVzdFNlc3Npb25WYWx1ZShlLHQscyl7Y29uc3Qgbj0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSksaT0oMCxyLmdldF9taW51dGVzX3dpdGhfaG91cnMpKGUpLG89dGhpcy5nZXRXZWVrSW5kZXgoZSk7bGV0IGQ9dGhpcy5maW5kU2Vzc2lvbihvLG4saSk7aWYoMT09PXQpcmV0dXJuIHMoZCxlLHQpO2NvbnN0IGg9ZC5nZXRFbnRyeSgpLGY9aC5jb250YWlucyhlKSx5PW89PT1kLndlZWtJbmRleCxjPWguc2Vzc2lvblN0YXJ0RGF5c09mZnNldCgpLWguZGF5T2ZXZWVrKCk+PTA7aWYoZiYmKHl8fGMpKXJldHVybiBzKGQsZSx0KTtsZXQgXz1kLmVudHJ5SW5kZXgtMTtpZihfPDApe2xldCBlPWQud2Vla0luZGV4LHQ9ZC5lbnRyaWVzO2lmKDA9PT1lKWUtLSxfKz10Lmxlbmd0aDtlbHNlIGZvcig7XzwwOyllLS0sdD10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpLmxpc3QoKSxfKz10Lmxlbmd0aDtkPW5ldyBhLlNlc3Npb25zU3BlY0VudHJ5SW5kZXgoZSxfLHQpfWVsc2UgZD1uZXcgYS5TZXNzaW9uc1NwZWNFbnRyeUluZGV4KGQud2Vla0luZGV4LF8sZC5lbnRyaWVzKTtyZXR1cm4gcyhkLGUsdCl9X2dldEVudHJpZXNGb3JEYXkoZSl7Y29uc3QgdD0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSkscz10aGlzLmdldEVudHJpZXNGb3JXZWVrKHRoaXMuZ2V0V2Vla0luZGV4KGUpKS5lbnRyaWVzQnlEYXkoKS5nZXQodCk7cmV0dXJuIHZvaWQgMCE9PXM/czpbXX1fZ2V0TGVmdEVudHJ5Qm9yZGVyKGUsdCl7bGV0IHM9dC5zdGFydE9mZnNldCgpO2NvbnN0IG49LU1hdGgudHJ1bmMoKHMtMTQzOSkvMTQ0MCk7cys9MTQ0MCpuO2NvbnN0IGk9KDAsci5nZXRfY2FsKShjLCgwLHIuZ2V0X3llYXIpKGUpLCgwLHIuZ2V0X21vbnRoKShlKSwoMCxyLmdldF9kYXlfb2ZfbW9udGgpKGUpLE1hdGgudHJ1bmMocy82MCkscyU2MCwwKTtyZXR1cm4oMCxyLmFkZF9kYXRlKShpLC1uKSxpfV9jaGVja0VhY2hIaXN0b3J5U2Vzc2lvbigpe2Zvcihjb25zdCBlIG9mIHRoaXMuX2VudHJpZXMpe2NvbnN0IHQ9ZS5nZXRFbnRyaWVzKCkubGlzdCgpO2lmKCF0aGlzLl9jaGVja0VudHJpZXNGb3JJbnRlcnNlY3Rpb25zKHQsdCx0KSlyZXR1cm4hMX1yZXR1cm4hMH1fY2hlY2tFbnRyaWVzRm9ySW50ZXJzZWN0aW9ucyhlLHQscyl7Y29uc3Qgbj10aGlzLl9idWlsZFRlc3RFbnRyaWVzKGUsdCxzKTtmb3IobGV0IGU9MDtlPG4ubGVuZ3RoLTE7ZSsrKWZvcihsZXQgdD1lKzE7dDxuLmxlbmd0aDt0KyspaWYoMD09PXkobltlXSxuW3RdKSlyZXR1cm4hMTtyZXR1cm4hMH1fYnVpbGRUZXN0RW50cmllcyhlLHQscyl7Y29uc3Qgbj1bXTtmb3IoY29uc3QgdCBvZiBlKW4ucHVzaChnLl9jbG9uZUVudHJ5V2l0aERheSh0LHQuZGF5T2ZXZWVrKCkpKTtmb3IoY29uc3QgZSBvZiB0KW4ucHVzaChnLl9jbG9uZUVudHJ5V2l0aERheShlLGUuZGF5T2ZXZWVrKCkrNykpO2Zvcihjb25zdCBlIG9mIHMpbi5wdXNoKGcuX2Nsb25lRW50cnlXaXRoRGF5KGUsZS5kYXlPZldlZWsoKSsxNCkpO3JldHVybiBufV9jaGVja1NwZWNpYWxFbnRyaWVzKCl7Zm9yKGNvbnN0W2Vdb2YgdGhpcy5fZW50cmllc0hhc2gpe2NvbnN0IHQ9dGhpcy5nZXRFbnRyaWVzRm9yV2VlayhlKS5saXN0KCkscz10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUtMSkubGlzdCgpLG49dGhpcy5nZXRFbnRyaWVzRm9yV2VlayhlKzEpLmxpc3QoKTtpZighdGhpcy5fY2hlY2tFbnRyaWVzRm9ySW50ZXJzZWN0aW9ucyhzLHQsbikpcmV0dXJuITF9cmV0dXJuITB9X2NoZWNrVG9vTWFueUNvcnJlY3Rpb25zT25XZWVrKCl7aWYodGhpcy5fZW50cmllcy5sZW5ndGg8MilyZXR1cm4hMDtmb3IobGV0IGU9MDtlPHRoaXMuX2VudHJpZXMubGVuZ3RoLTI7ZSsrKXtjb25zdCB0PXRoaXMuX2VudHJpZXNbZV0scz10aGlzLl9lbnRyaWVzW2UrMV07aWYodGhpcy5nZXRXZWVrSW5kZXgoKDAsbi5lbnN1cmVOb3ROdWxsKSh0LmdldFNwZWNFbmREYXkoKSkpPT09dGhpcy5nZXRXZWVrSW5kZXgoKDAsbi5lbnN1cmVOb3ROdWxsKShzLmdldFNwZWNFbmREYXkoKSkpKXJldHVybiExfXJldHVybiEwfV9jYWxjdWxhdGVBZGRlZEluZGljZXMoZSl7Y29uc3QgdD1bXSxzPXRoaXMuX3llYXJUb1dlZWtzSW5kaWNlc0hhc2guZ2V0KGUpO2lmKHZvaWQgMD09PXMpcmV0dXJuIHQ7Zm9yKGNvbnN0IGUgb2Ygcyl7Y29uc3Qgcz0oMCxuLmVuc3VyZURlZmluZWQpKHRoaXMuX2JvcmRlcldlZWtzSW5kaWNlc0hhc2guZ2V0KGUpKSxpPXRoaXMuX2VudHJpZXNbc10sbz10aGlzLl9lbnRyaWVzW3MtMV07bGV0IGE9aS5nZXRFbnRyaWVzKCkuZmlyc3REYXlPZldlZWsoKS1vLmdldEVudHJpZXMoKS5maXJzdERheU9mV2VlaygpO2Zvcig7YT4wOyl7Y29uc3Qgbz0oMCxyLmNsb25lKSgoMCxuLmVuc3VyZU5vdE51bGwpKGkuZ2V0U3RhcnREYXkoKSkpO2lmKCgwLHIuYWRkX2RhdGUpKG8sLWEpLCF0aGlzLmlzQ2FsV2Vla0VuZChvKSl7Y29uc3Qgbj17ZW50cnlJbmRleDpzLAp3ZWVrSW5kZXg6ZX07dC5wdXNoKG4pO2JyZWFrfWEtLX19cmV0dXJuIHR9c3RhdGljIF9jbG9uZUVudHJ5V2l0aERheShlLHQpe2lmKGUuaXNFeHRlbmRlZCgpKXtjb25zdCBzPW5ldyBhLlNlc3Npb25zU3BlY0VudHJ5KHQsZS5zdGFydE9mZnNldCgpLGUubGVuZ3RoKCkpO3JldHVybiBuZXcgYS5FeHRlbmRlZEVudHJ5RGVjb3JhdG9yKHMsZS5leHRlbmRlZFN0YXJ0T2Zmc2V0KCksZS5leHRlbmRlZEVuZE9mZnNldCgpKX1yZXR1cm4gbmV3IGEuU2Vzc2lvbnNTcGVjRW50cnkodCxlLnN0YXJ0T2Zmc2V0KCksZS5sZW5ndGgoKSl9c3RhdGljIF9nZXRXZWVrSW5kZXhJbXBsKGUpe2NvbnN0IHQ9KDAsci5nZXRfY2FsX3V0YykoKDAsci5nZXRfeWVhcikoZSksKDAsci5nZXRfbW9udGgpKGUpLDEpOygwLHIuYWRkX2RhdGUpKHQsKDAsci5nZXRfZGF5X29mX21vbnRoKShlKS0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSkpO2NvbnN0IHM9dC5nZXRUaW1lKCkvMWUzO3JldHVybigwLG4uYXNzZXJ0KSgocys2MjE2NzIxOTIwMCklODY0MDA9PTApLE1hdGgudHJ1bmMoKHMrNjIxNjcyMTkyMDApLzg2NDAwLzcpfX19LDkwMjg0MihlLHQscyl7ZnVuY3Rpb24gbihlKXtyZXR1cm4gcihlLDIpfWZ1bmN0aW9uIHIoZSx0PTIpe2NvbnN0IHM9ZS50b1N0cmluZygpO3JldHVybiIwIi5yZXBlYXQoTWF0aC5tYXgoMCx0LXMubGVuZ3RoKSkrc31zLmQodCx7YWRkTGVhZGluZ1plcm86KCk9Pm4sYWRkTGVhZGluZ1plcm9zOigpPT5yfSl9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/65862.95764752c09f3f18f890.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.888Z","timestamp":1785120633888,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/65862.95764752c09f3f18f890.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-8593\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b238949450c780ebd2d5e8b27aa2a802\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":34195,"size_decoded":11853,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (13834)","md5":"d5f37343643dde0b01c1d10dbbdb91df","sha1":"acf466d1f2aaa1c4e577a663cc0c197647ff1b0c","sha256":"ad4421c24189dacdd5b62aa07485176e838543c7e572a23a90b2e5d70b28c982","sha512":"b6fba60ec4a7056bdda7602c545749c4b49d93c597e471e20f312b470a5c949b390f959900f2267b02646d6ce1c6f9fcd1ebddb7b4fbc2383344305b5179923d","ssdeep":"768:8HXyKsaOA/R4POygg6FUOaovTBa81zNh3h6kIRdnNy84MnxbDE3xZwDZscCDjvFR:OWgDagTBa0zNhRIRdnNy84y4BZw1FCHz","tlshash":"41e2e892aa135c331ed5176ad87b3902d1d80679f5863c68bdf858de0d8dac070f355e","first_seen":"2026-07-24T11:36:47.857631Z","last_seen":"2026-07-27T05:19:37.070003Z","times_seen":815,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNjU4NjJdLHszNzcyMjYoZSx0LG8pe28uZCh0LHtvbldpZGdldDooKT0+c30pO2NvbnN0IHI9bmV3IE1hcDtmdW5jdGlvbiBzKCl7Y29uc3QgZT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsdD13aW5kb3cubG9jYXRpb24uaG9zdCxvPWAke3R9JHtlfWA7cmV0dXJuIHIuaGFzKG8pfHxyLnNldChvLGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbz1bIl53aWRnZXQtZG9jcyJdO2Zvcihjb25zdCBlIG9mIG8paWYobmV3IFJlZ0V4cChlKS50ZXN0KHQpKXJldHVybiEwO2NvbnN0IHI9WyJed2lkZ2V0ZW1iZWQvPyQiLCJeY21ld2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL3dpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS93aWRnZXRzdGF0aWMvPyQiLCJeKFswLTlhLXpBLVotXSspPy8/bWVkaXVtd2lkZ2V0ZW1iZWQvPyQiLCJedHdpdHRlci1jaGFydC8/JCIsIl50ZWxlZ3JhbS9jaGFydC8/JCIsIl5lbWJlZC8oWzAtOWEtekEtWl17OH0pLz8kIiwiXndpZGdldHBvcHVwLz8kIiwiXmV4dGVuc2lvbi8/JCIsIl5pZGVhLXBvcHVwLz8kIiwiXmhvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL2hvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvbWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl5ldmVudHN3aWRnZXRlbWJlZC8/JCIsIl50aWNrZXJzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhjcm9zc3JhdGVzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhoZWF0bWFwd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0cXVvdGVzd2lkZ2V0ZW1iZWQvPyQiLCJec2NyZWVuZXJ3aWRnZXQvPyQiLCJeY3J5cHRvbWt0c2NyZWVuZXJ3aWRnZXQvPyQiLCJeKFswLTlhLXpBLVotXSspL2NyeXB0b21rdHNjcmVlbmVyd2lkZ2V0Lz8kIiwiXihbMC05YS16QS1aLV0rKS9tYXJrZXRxdW90ZXN3aWRnZXRlbWJlZC8/JCIsIl50ZWNobmljYWwtYW5hbHlzaXMtd2lkZ2V0LWVtYmVkLyQiLCJec2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvc2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl5lbWJlZC13aWRnZXQvKFswLTlhLXpBLVotXSspLygoWzAtOWEtekEtWi1dKykvKT8kIiwiXndpZGdldC1kb2NzLyhbMC05YS16QS1aLV0rKS8oWzAtOWEtekEtWi0vXSspPyQiXSxzPWUucmVwbGFjZSgvXlwvLywiIik7bGV0IF87Zm9yKGxldCBlPXIubGVuZ3RoLTE7ZT49MDtlLS0paWYoXz1uZXcgUmVnRXhwKHJbZV0pLF8udGVzdChzKSlyZXR1cm4hMDtyZXR1cm4hMX0oZSx0KSksci5nZXQobyk/PyExfX0sMzAwMjg2KGUsdCxvKXsidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmbmV3IGNsYXNze2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fdGVzdD1lW3RdPXt9fXByb3ZpZGUoZSx0KXt0aGlzLl90ZXN0W2VdPXR9fSh3aW5kb3csInFhR2xvYmFscyIpfSw1ODc0MzYoZSx0LG8pe2Z1bmN0aW9uIHIoZSx0LG8scixzKXtsZXQgXz0iIjtpZihyPXI/IjsgcGF0aD0iK3I6IiIscz1zPyI7IGRvbWFpbj0iK3M6IiIsbyl7Y29uc3QgZT1uZXcgRGF0ZTtlLnNldFRpbWUoZS5nZXRUaW1lKCkrMjQqbyo2MCo2MCoxZTMpLF89IjsgZXhwaXJlcz0iK2UudG9VVENTdHJpbmcoKX1lbHNlIF89IiI7ZG9jdW1lbnQuY29va2llPWUrIj0iK3QrXytzK3J9ZnVuY3Rpb24gcyhlKXtjb25zdCB0PWUrIj0iLG89ZG9jdW1lbnQuY29va2llLnNwbGl0KCI7Iik7Zm9yKGxldCBlPTA7ZTxvLmxlbmd0aDtlKyspe2xldCByPW9bZV07Zm9yKDsiICI9PT1yLmNoYXJBdCgwKTspcj1yLnN1YnN0cmluZygxLHIubGVuZ3RoKTtpZigwPT09ci5pbmRleE9mKHQpKXJldHVybiByLnN1YnN0cmluZyh0Lmxlbmd0aCxyLmxlbmd0aCl9cmV0dXJuIG51bGx9by5kKHQse2dldDooKT0+cyxzZXQ6KCk9PnJ9KX0sOTQ4MzgwKGUsdCxvKXtvLmQodCx7RGVsZWdhdGU6KCk9Pl99KTtjb25zdCByPSgwLG8oMjIxMDYxKS5nZXRMb2dnZXIpKCJDb21tb24uRGVsZWdhdGUiKTtmdW5jdGlvbiBzKGUpe3JldHVybiFlLnNpbmdsZVNob3R9Y2xhc3MgX3tjb25zdHJ1Y3Rvcigpe3RoaXMuZmlyZT10aGlzLl9maXJlSW1wbC5iaW5kKHRoaXMpLHRoaXMuX2xpc3RlbmVycz1bXX1zdWJzY3JpYmUoZSx0LG8pe3RoaXMuX2xpc3RlbmVycy5wdXNoKHtvYmplY3Q6ZSxtZW1iZXI6dCxzaW5nbGVTaG90OiEhbyxza2lwOiExfSl9dW5zdWJzY3JpYmUoZSx0KXtmb3IobGV0IG89MDtvPHRoaXMuX2xpc3RlbmVycy5sZW5ndGg7KytvKXtjb25zdCByPXRoaXMuX2xpc3RlbmVyc1tvXTtpZihyLm9iamVjdD09PWUmJnIubWVtYmVyPT09dCl7ci5za2lwPSEwLHRoaXMuX2xpc3RlbmVycy5zcGxpY2UobywxKTticmVha319fXVuc3Vic2NyaWJlQWxsKGUpe2ZvcihsZXQgdD10aGlzLl9saXN0ZW5lcnMubGVuZ3RoLTE7dD49MDstLXQpe2NvbnN0IG89dGhpcy5fbGlzdGVuZXJzW3RdO28ub2JqZWN0PT09ZSYmKG8uc2tpcD0hMCx0aGlzLl9saXN0ZW5lcnMuc3BsaWNlKHQsMSkpfX1kZXN0cm95KCl7dGhpcy5fbGlzdGVuZXJzPVtdfV9maXJlSW1wbCguLi5lKXtjb25zdCB0PXRoaXMuX2xpc3RlbmVyczt0aGlzLl9saXN0ZW5lcnM9dGhpcy5fbGlzdGVuZXJzLmZpbHRlcihzKTtjb25zdCBvPXQubGVuZ3RoO2ZvcihsZXQgcz0wO3M8bzsrK3Mpe2NvbnN0IG89dFtzXTtpZighby5za2lwKXRyeXtvLm1lbWJlci5hcHBseShvLm9iamVjdHx8bnVsbCxlKX1jYXRjaChlKXtyLmxvZ0Vycm9yKGAke2UmJihlLnN0YWNrfHxlLm1lc3NhZ2UpfWApfX19fX0sNTM0NDQwKGUsdCxvKXtvLmQodCx7bnVtT2ZEZWNpbWFsUGxhY2VzOigpPT5ffSk7dmFyIHI9byg3MTI3NDUpLHM9by5uKHIpO2Z1bmN0aW9uIF8oZSl7cmV0dXJuKG5ldyhzKCkpKGUpLnRvRml4ZWQoKS5zcGxpdCgiLiIpWzFdfHwiIikubGVuZ3RofX0sMjMyMzY0KGUsdCxvKXtvLmQodCx7V2F0Y2hlZFZhbHVlOigpPT5ffSk7Y29uc3Qgcj0oMCwKbygyMjEwNjEpLmdldExvZ2dlcikoIkNvbW1vbi5XYXRjaGVkVmFsdWUiKTtmdW5jdGlvbiBzKGUpe3IubG9nRXJyb3IoYCR7ZSYmKGUuc3RhY2t8fGUubWVzc2FnZSl9YCl9Y2xhc3MgX3tjb25zdHJ1Y3RvciguLi5lKXt0aGlzLl9saXN0ZW5lcnM9W10sZS5sZW5ndGg+MD90aGlzLl92YWx1ZT1lWzBdOmRlbGV0ZSB0aGlzLl92YWx1ZX1kZXN0cm95KCl7dGhpcy51bnN1YnNjcmliZSgpfXZhbHVlKCl7cmV0dXJuIHRoaXMuX293bmVyP3RoaXMuX293bmVyLl92YWx1ZTp0aGlzLl92YWx1ZX1zZXRWYWx1ZShlLHQpe2NvbnN0IG89dGhpcy5fb3duZXI/dGhpcy5fb3duZXI6dGhpcztpZihvLndyaXRlTG9jaylyZXR1cm47Y29uc3Qgcj1vLl92YWx1ZT09PWV8fE51bWJlci5pc05hTihvLl92YWx1ZSkmJk51bWJlci5pc05hTihlKTtpZighdCYmciYmby5oYXNPd25Qcm9wZXJ0eSgiX3ZhbHVlIikpcmV0dXJuO28uX3ZhbHVlPWU7Y29uc3QgXz1vLl9saXN0ZW5lcnMuc2xpY2UoKTtsZXQgaT0wO2ZvcihsZXQgdD0wO3Q8Xy5sZW5ndGg7dCsrKXtfW3RdLm9uY2UmJihvLl9saXN0ZW5lcnMuc3BsaWNlKHQtaSwxKSxpKyspO3RyeXtfW3RdLmNiKGUpfWNhdGNoKGUpe3MoZSl9fX1kZWxldGVWYWx1ZSgpe3RoaXMuc2V0VmFsdWUodm9pZCAwKX1zdWJzY3JpYmUoZSx0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJjYWxsYmFjayBtdXN0IGJlIGEgZnVuY3Rpb24iKTtjb25zdCBvPSEhdCYmISF0Lm9uY2Uscj0hIXQmJiEhdC5jYWxsV2l0aExhc3QsXz10aGlzLl9vd25lcj90aGlzLl9vd25lcjp0aGlzO2lmKHImJl8uaGFzT3duUHJvcGVydHkoIl92YWx1ZSIpKXt0cnl7ZShfLl92YWx1ZSl9Y2F0Y2goZSl7cyhlKX1pZihvKXJldHVybn1fLl9saXN0ZW5lcnMucHVzaCh7Y2I6ZSxvd25lcjp0aGlzLG9uY2U6ISF0JiYhIXQub25jZX0pfXVuc3Vic2NyaWJlKGUpe2NvbnN0IHQ9dGhpcy5fb3duZXI/dGhpcy5fb3duZXI6dGhpczt2b2lkIDA9PT1lJiYoZT1udWxsKTtjb25zdCBvPXQuX2xpc3RlbmVycztmb3IobGV0IHI9by5sZW5ndGg7ci0tOylvW3JdLm93bmVyIT09dGhpcyYmdCE9PXRoaXN8fG9bcl0uY2IhPT1lJiZudWxsIT09ZXx8by5zcGxpY2UociwxKX1yZWFkb25seSgpe2lmKHRoaXMuX3JlYWRvbmx5SW5zdGFuY2UpcmV0dXJuIHRoaXMuX3JlYWRvbmx5SW5zdGFuY2U7Y29uc3QgZT17c3Vic2NyaWJlOnRoaXMuc3Vic2NyaWJlLmJpbmQodGhpcyksdW5zdWJzY3JpYmU6dGhpcy51bnN1YnNjcmliZS5iaW5kKHRoaXMpLHZhbHVlOnRoaXMudmFsdWUuYmluZCh0aGlzKSx3aGVuOnRoaXMud2hlbi5iaW5kKHRoaXMpLG93bmVyc2hpcDp0aGlzLm93bmVyc2hpcC5iaW5kKHRoaXMpLHNwYXduT3duZXJzaGlwOnRoaXMuc3Bhd25Pd25lcnNoaXAuYmluZCh0aGlzKSx3ZWFrUmVmZXJlbmNlOnRoaXMud2Vha1JlZmVyZW5jZS5iaW5kKHRoaXMpLHNwYXduOmU9PnRoaXMuc3Bhd24oZSkucmVhZG9ubHkoKSxkZXN0cm95OnRoaXMuZGVzdHJveS5iaW5kKHRoaXMpfTtyZXR1cm4gdGhpcy5fcmVhZG9ubHlJbnN0YW5jZT1lLGV9c3Bhd24oZSl7cmV0dXJuIHRoaXMuX3NwYXduKGUpfXdoZW4oZSl7IWZ1bmN0aW9uKGUsdCxvKXtpZih0KGUudmFsdWUoKSkpcmV0dXJuIHZvaWQgbygpO2NvbnN0IHI9cz0+e3QocykmJihlLnVuc3Vic2NyaWJlKHIpLG8oKSl9O2Uuc3Vic2NyaWJlKHIse2NhbGxXaXRoTGFzdDohMH0pfSh0aGlzLChlPT5Cb29sZWFuKGUpKSwoKCk9Pnt0cnl7ZSh0aGlzLnZhbHVlKCkpfWNhdGNoKGUpe3MoZSl9fSkpfWFzc2VydE5vU3Vic2NyaXB0aW9ucygpezB9b3duZXJzaGlwKCl7cmV0dXJuIHRoaXN9cmVsZWFzZSgpe3RoaXMuZGVzdHJveSgpfXNwYXduT3duZXJzaGlwKCl7cmV0dXJuIHRoaXMuX3NwYXduKCl9d2Vha1JlZmVyZW5jZSgpe3JldHVybiB0aGlzLl9zcGF3bih2b2lkIDAsITApfV9zcGF3bihlLHQpe3JldHVybiBuZXcgaSh0aGlzLl9vd25lcnx8dGhpcyxlLHQpfX1jbGFzcyBpIGV4dGVuZHMgX3tjb25zdHJ1Y3RvcihlLHQsbyl7c3VwZXIoKSxkZWxldGUgdGhpcy5fbGlzdGVuZXJzLHRoaXMuX293bmVyPWUsdGhpcy5fb25EZXN0cm95PXQsdGhpcy5fd2Vha1JlZmVyZW5jZT0hIW99ZGVzdHJveSgpe3RyeXt0aGlzLl9vbkRlc3Ryb3k/LigpfWNhdGNoKGUpe3MoZSl9c3VwZXIuZGVzdHJveSgpfXJlYWRvbmx5KCl7cmV0dXJuIHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZXx8KHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZT17Li4uc3VwZXIucmVhZG9ubHkoKSxkZXN0cm95OigpPT50aGlzLmRlc3Ryb3koKSxyZWFkb25seSgpe3JldHVybiB0aGlzfX0pLHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZX1yZWxlYXNlKCl7dGhpcy5fd2Vha1JlZmVyZW5jZXx8c3VwZXIucmVsZWFzZSgpfX19LDU5ODkyMihlLHQsbyl7by5kKHQse2Zvcm1hdE51bWJlcjooKT0+aSxwYXJzZU51bWJlcjooKT0+bn0pO3ZhciByPW8oNzEyNzQ1KSxzPW8oNjYzMDQ2KSxfPW8oMTE1MjkzKTtmdW5jdGlvbiBpKGUsdCxvLHMsXyl7aWYoIU51bWJlci5pc0Zpbml0ZShlKSlyZXR1cm5gJHtlfWA7Y29uc3QgaT0tMT09PU1hdGguc2lnbihlKT8iLSI6IiI7ZT1NYXRoLmFicyhlKTtsZXQgYT12b2lkIDA9PT1vP2UudG9TdHJpbmcoKTplLnRvRml4ZWQobyk7aWYoYS5pbmNsdWRlcygiZSIpKXtpZighcylyZXR1cm5gJHtpfSR7YS5yZXBsYWNlKCIuIix0LmRlY2ltYWxTaWduKX1gO3tjb25zdCBvPW5ldyByLkJpZyhlKTtpZihhPW8ubHQoMSk/by50b0ZpeGVkKCk6by50b1N0cmluZygpLGEuaW5jbHVkZXMoImUiKSlyZXR1cm5gJHtpfSR7YS5yZXBsYWNlKCIuIix0LmRlY2ltYWxTaWduKX1gfX1jb25zdCBuPWEuc3BsaXQoIi4iKSxsPW5bMF07bGV0IGM9blsxXTtjb25zdCBkPWZ1bmN0aW9uKGUsdCl7bGV0IG89ZS5sZW5ndGg7Y29uc3Qgcj1bXTtmb3IoO28+MDspci51bnNoaWZ0KGUuc2xpY2UoTWF0aC5tYXgoby0zLDApLG8pKSxvLT0zO3JldHVybiByLmpvaW4odCl9KGwsdC5ncm91cGluZ1NlcGFyYXRvcikKO3JldHVybiB2b2lkIDAhPT1vJiYoYz0wPT09bz92b2lkIDA6ZS50b0ZpeGVkKG8pLnNsaWNlKC1vKSksdm9pZCAwIT09XyYmdm9pZCAwIT09YyYmKGM9ZnVuY3Rpb24oZSx0KXtsZXQgbz1lLmxlbmd0aC0xO2ZvcihsZXQgcj1vO3I+PXQmJiIwIj09PWVbcl07ci09MSlvLT0xO3JldHVybiBlLnNsaWNlKDAsbysxKX0oYyxfKSksYz9gJHtpfSR7ZH0ke3QuZGVjaW1hbFNpZ259JHtjfWA6YCR7aX0ke2R9YH1jb25zdCBhPSgwLHMuZGVmYXVsdCkoKGU9Pntjb25zdCB0PWUucmVwbGFjZSgvWy1bXF17fSgpKis/LixcXF4kfCNcc10vZywiXFwkJiIpO3JldHVybiBuZXcgUmVnRXhwKHQsImdtIil9KSk7ZnVuY3Rpb24gbihlLHQpe2lmKC9eKE5hTnxbK3wtXT9JbmZpbml0eSkkLy50ZXN0KGUpKXJldHVybiBwYXJzZUZsb2F0KGUpO2U9KDAsXy5zdHJpcExUUk1hcmtzKShlKTtjb25zdCBvPWEodC5ncm91cGluZ1NlcGFyYXRvcik7cmV0dXJuIG8mJihlPWUucmVwbGFjZShvLCIiKSksZT1lLnJlcGxhY2UodC5kZWNpbWFsU2lnbiwiLiIpLC9eKFwrfC0pP1xkKyhcLlxkK3xcLik/KGUoXCt8LSk/XGQrKT8kLy50ZXN0KGUpP3BhcnNlRmxvYXQoZSk6TmFOfX0sNTQ2NDg1KGUsdCxvKXtvLmQodCx7Z2V0TnVtYmVyRm9ybWF0OigpPT5kfSk7bGV0IHI9bnVsbDt2YXIgcz1vKDg1NjMyNCk7ZnVuY3Rpb24gXyhlLHQpe3JldHVybntncm91cGluZ1NlcGFyYXRvcjplLGRlY2ltYWxTaWduOnR9fWNvbnN0IGk9XygiLCIsIi4iKSxhPV8oIi4iLCIsIiksbj1fKCLigK8iLCIsIiksbD1fKCIiLCIuIiksYz1uZXcgTWFwKFtbImVuIixpXSxbInRoIixpXSxbImphIixpXSxbImtvIixpXSxbInpoIixpXSxbInpoX1RXIixpXSxbImFyIixpXSxbImhlX0lMIixpXSxbIm1zX01ZIixpXSxbInZpIixpXSxbImRlIixhXSxbImVzIixhXSxbIml0IixhXSxbInRyIixhXSxbInB0IixhXSxbImlkX0lEIixhXSxbImZyIixuXSxbInBsIixuXSxbInJ1IixuXV0pO2Z1bmN0aW9uIGQoZSl7cmV0dXJuIGU/bDoodD1jLmdldCgoMCxzLmdldExhbmd1YWdlKSgpKXx8bCxyP3IodCk6dCk7dmFyIHR9fSw3NTU2MjcoZSx0LG8pe28uZCh0LHtQcmljZUZvcm1hdHRlcjooKT0+eX0pO3ZhciByPW8oNjAxODQxKTtmdW5jdGlvbiBzKGUsdCxvLHIpe2xldCBzPTA7aWYoZT4wJiZ0PjApe2xldCB0PWU7Zm9yKG8mJnImJih0Lz1yKTt0PjE7KXQvPTEwLHMrK31yZXR1cm4gc312YXIgXz1vKDcxMjc0NSksaT1vKDgyMjQzMSksYT1vKDU5ODkyMiksbj1vKDU0NjQ4NSksbD1vKDc4MzI1NCksYz1vKDEzODYzOCksZD1vKDExNTI5MyksdT1vKDUzNTMwKTtmdW5jdGlvbiBtKGUsdCxvKXtjb25zdCByPSgwLGMuZW5zdXJlTm90TnVsbCkoKDAsdS5nZXRNaW5UaWNrRGF0YSkoe3ByaWNlOm8sbWluVGljazpudWxsLHZhcmlhYmxlTWluVGlja0RhdGE6dCxzaG91bGRDaGVja0ZvckVxdWFsaXR5OiEwfSkpLHtwcmljZVNjYWxlOl8sbWluTW92ZTppLG1pbk1vdmUyOmF9PXI7cmV0dXJue3ByaWNlU2NhbGU6XyxtaW5Nb3ZlOmksZnJhY3Rpb25hbExlbmd0aDpzKF8saSxlLGEpfX1jbGFzcyBoe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2Zvcm1hdHRlckVycm9ycz17Y3VzdG9tOmwudChudWxsLHZvaWQgMCxvKDYxNjE4KSksZnJhY3Rpb246bC50KG51bGwsdm9pZCAwLG8oOTY4ODE1KSksc2Vjb25kRnJhY3Rpb246bC50KG51bGwsdm9pZCAwLG8oODUwMjk4KSl9O2NvbnN0e3ByaWNlU2NhbGU6dCxtaW5Nb3ZlOnIsbWluTW92ZTI6cyxpZ25vcmVNaW5Nb3ZlOl8sdmFyaWFibGVNaW5UaWNrOmksZnJhY3Rpb25hbExlbmd0aDphfT1lO3RoaXMuX3ByaWNlU2NhbGU9dCx0aGlzLl9taW5Nb3ZlPXIsdGhpcy5fbWluTW92ZTI9cyx0aGlzLl9pZ25vcmVNaW5Nb3ZlPV8sdGhpcy5fZnJhY3Rpb25hbExlbmd0aD1hLHRoaXMuX3ZhcmlhYmxlTWluVGlja0RhdGE9dm9pZCAwPT09aT92b2lkIDA6KDAsdS5tYWtlVmFyaWFibGVNaW5UaWNrRGF0YSkoe3ByaWNlU2NhbGU6dCxtaW5Nb3ZlOnIsbWluTW92ZTI6c30saSl9Zm9ybWF0SW1wbChlLHQ9e30pe2NvbnN0e3NpZ25Qb3NpdGl2ZTpvLHNpZ25OZWdhdGl2ZTpyPSEwLHRhaWxTaXplOnMsY3V0RnJhY3Rpb25hbEJ5UHJlY2lzaW9uOl89ITEsdXNlUnRsRm9ybWF0Omk9ITAsdmFyaWFibGVNaW5UaWNrRGF0YVByaWNlOmEsaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0Om4sbm9FeHBvbmVudGlhbEZvcm06bCxyZW1vdmVBbGxFbmRpbmdaZXJvczpjfT10O2xldCB1PSIiO2U8MD91PSExPT09cj8iIjoi4oiSIjplJiYhMD09PW8mJih1PSIrIik7Y29uc3QgbT10aGlzLl9mb3JtYXRVbnNpZ25lZChNYXRoLmFicyhlKSx7dGFpbFNpemU6cyxjdXRGcmFjdGlvbmFsQnlQcmVjaXNpb246Xyx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6YSxpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6bixub0V4cG9uZW50aWFsRm9ybTpsLHJlbW92ZUFsbEVuZGluZ1plcm9zOmN9KSxoPSIwIj09PW0/bTp1K207cmV0dXJuIGk/KDAsZC5mb3JjZUxUUlN0cikoaCk6aH1wYXJzZShlLHQpe3JldHVybiIrIj09PShlPShlPSgwLGQuc3RyaXBMVFJNYXJrcykoZSkpLnJlcGxhY2UoIuKIkiIsIi0iKSlbMF0mJihlPWUuc3Vic3RyaW5nKDEpKSx0aGlzLl9wYXJzZVVuc2lnbmVkKGUsdCl9X3JlbW92ZUVuZGluZ1plcm9zKGUsdCl7Zm9yKGxldCBvPTA7bzx0JiYiMCI9PT1lW2UubGVuZ3RoLTFdO28rKyllPWUuc3Vic3RyaW5nKDAsZS5sZW5ndGgtMSk7cmV0dXJuIGV9fWNsYXNzIGcgZXh0ZW5kcyBoe2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDp0LG5vRXhwb25lbnRpYWxGb3JtOm99PWU7dGhpcy5faWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0PXQsdGhpcy5fbm9FeHBvbmVudGlhbEZvcm09b31oYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKXtyZXR1cm4gMTA9PT10aGlzLl9taW5Nb3ZlMn1fcGFyc2VVbnNpZ25lZChlLHQpe3JldHVybiB0aGlzLl9wYXJzZUFzRGVjaW1hbChlLHQpfV9mb3JtYXRVbnNpZ25lZChlLHQpewpjb25zdHt0YWlsU2l6ZTpvLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpyPSExLHZhcmlhYmxlTWluVGlja0RhdGFQcmljZTpzLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpfLG5vRXhwb25lbnRpYWxGb3JtOmkscmVtb3ZlQWxsRW5kaW5nWmVyb3M6YT0hMX09dCxuPXtwcmljZTpNYXRoLmFicyhlKSxwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsbWluTW92ZTp0aGlzLl9taW5Nb3ZlLGZyYWN0aW9uYWxMZW5ndGg6dGhpcy5fZnJhY3Rpb25hbExlbmd0aCx0YWlsU2l6ZTpvLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpyLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpfLG5vRXhwb25lbnRpYWxGb3JtOmkscmVtb3ZlQWxsRW5kaW5nWmVyb3M6YX07cmV0dXJuIHZvaWQgMCE9PXRoaXMuX3ZhcmlhYmxlTWluVGlja0RhdGEmJihPYmplY3QuYXNzaWduKG4sbSghMSx0aGlzLl92YXJpYWJsZU1pblRpY2tEYXRhLHM/P24ucHJpY2UpKSx0aGlzLl9pZ25vcmVNaW5Nb3ZlJiYobi5taW5Nb3ZlPTEpKSx0aGlzLl9mb3JtYXRBc0RlY2ltYWwobil9X2Zvcm1hdEFzRGVjaW1hbChlKXtjb25zdHtwcmljZTp0LHByaWNlU2NhbGU6byxtaW5Nb3ZlOnIsZnJhY3Rpb25hbExlbmd0aDpzPTAsdGFpbFNpemU6bD0wLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpjLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpkPXRoaXMuX2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdCxub0V4cG9uZW50aWFsRm9ybTp1PXRoaXMuX25vRXhwb25lbnRpYWxGb3JtLHJlbW92ZUFsbEVuZGluZ1plcm9zOm19PWUsaD0oMCxuLmdldE51bWJlckZvcm1hdCkoZCk7aWYodD49MWUyMSYmIXUpcmV0dXJuIHQudG9TdHJpbmcoKS5yZXBsYWNlKCIuIixoLmRlY2ltYWxTaWduKTtjb25zdCBnPU1hdGgucG93KDEwLGwpKm8vKGM/MTpyKSxwPTEvZztsZXQgYjtpZihnPjEpYj1NYXRoLmZsb29yKHQpO2Vsc2V7Y29uc3QgZT1NYXRoLnJvdW5kKHQvcCkqcDtiPTA9PT1NYXRoLnJvdW5kKCh0LWUpL3ApP2U6ZStwfWxldCB3PSIiO2lmKGc+MSl7bGV0IGU9Yz9uZXcgXy5CaWcodCkubXVsKGcpLnJvdW5kKHZvaWQgMCwwKS5taW51cyhuZXcgXy5CaWcoYikubXVsKGcpKS50b051bWJlcigpOnBhcnNlRmxvYXQoKE1hdGgucm91bmQodCpnKS1iKmcpLnRvRml4ZWQocykpO2U+PWcmJihlLT1nLGIrPTEpLGU9Yz9uZXcgXy5CaWcoZSkucm91bmQocywwKS50b051bWJlcigpOnBhcnNlRmxvYXQoZS50b0ZpeGVkKHMpKSpyO2NvbnN0IG89KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoZSxzK2wpO2lmKCF1JiZ0PDEmJnM+PTEwJiZvLnN0YXJ0c1dpdGgoIjAwMDAiKSl7bGV0IGU9NDtmb3IobGV0IHQ9ZTt0PG8ubGVuZ3RoJiYiMCI9PT1vW3RdO3QrKyllKys7Y29uc3QgdD10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhvLnNsaWNlKGUpLHMpO3JldHVybiIiPT09dD8iMCI6YDAke2guZGVjaW1hbFNpZ259JHt0fWUtJHtlfWB9Y29uc3QgYT10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhvLG0/by5sZW5ndGg6bCk7dz1hP2guZGVjaW1hbFNpZ24rYTphfWNvbnN0IHk9KDAsYS5mb3JtYXROdW1iZXIpKGIsaCx2b2lkIDAsdSk7cmV0dXJuIHkuaW5jbHVkZXMoImUiKT95Onkrd31fcGFyc2VBc0RlY2ltYWwoZSx0PXt9KXtjb25zdHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6b309dCxyPSgwLG4uZ2V0TnVtYmVyRm9ybWF0KSh0aGlzLl9pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXR8fG8pLHM9KDAsYS5wYXJzZU51bWJlcikoZSxyKTtyZXR1cm4gTnVtYmVyLmlzRmluaXRlKHMpP3t2YWx1ZTpzLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChzKX06e2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX19Y29uc3QgcD0iJyIsYj1uZXcgUmVnRXhwKC9eKC0/KVswLTldKyQvKTtjbGFzcyB3IGV4dGVuZHMgaHtoYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKXtyZXR1cm4hMX1fcGFyc2VVbnNpZ25lZChlKXtyZXR1cm4gdGhpcy5fbWluTW92ZTI/dGhpcy5fcGFyc2VBc0RvdWJsZUZyYWN0aW9uYWwoZSk6dGhpcy5fcGFyc2VBc1NpbmdsZUZyYWN0aW9uYWwoZSl9X2Zvcm1hdFVuc2lnbmVkKGUsdCl7Y29uc3R7dGFpbFNpemU6byx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6cn09dCxzPXtwcmljZTpNYXRoLmFicyhlKSxwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsbWluTW92ZTp0aGlzLl9taW5Nb3ZlLG1pbk1vdmUyOnRoaXMuX21pbk1vdmUyLGZyYWN0aW9uYWxMZW5ndGg6KDAsYy5lbnN1cmVEZWZpbmVkKSh0aGlzLl9mcmFjdGlvbmFsTGVuZ3RoKSx0YWlsU2l6ZTpvfTtyZXR1cm4gdm9pZCAwIT09dGhpcy5fdmFyaWFibGVNaW5UaWNrRGF0YSYmT2JqZWN0LmFzc2lnbihzLG0oITAsdGhpcy5fdmFyaWFibGVNaW5UaWNrRGF0YSxyPz9zLnByaWNlKSksdGhpcy5fZm9ybWF0QXNGcmFjdGlvbmFsKHMpfV9wYXJzZUFzU2luZ2xlRnJhY3Rpb25hbChlKXtsZXQgdD1iLmV4ZWMoZSk7aWYodCl7Y29uc3QgdD1wYXJzZUZsb2F0KGUpO3JldHVybnt2YWx1ZTp0LHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbCh0KX19aWYodD1uZXcgUmVnRXhwKCJeKC0/KShbMC05XSspXFwnKFswLTldKykkIikuZXhlYyhlKSx0KXtjb25zdCBlPSEhdFsxXSxvPXBhcnNlSW50KHRbMl0pLHI9dGhpcy5fcHJpY2VTY2FsZSxzPXRoaXMuX3BhdGNoRnJhY3RQYXJ0KHBhcnNlSW50KHRbM10pLDEscik7aWYocz49cnx8czwwKXJldHVybntlcnJvcjp0aGlzLl9mb3JtYXR0ZXJFcnJvcnMuZnJhY3Rpb24scmVzOiExfTtsZXQgXz1vK3MvcjtyZXR1cm4gZSYmKF89LV8pLHt2YWx1ZTpfLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChfKX19cmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX1fcGFyc2VBc0RvdWJsZUZyYWN0aW9uYWwoZSl7bGV0IHQ9Yi5leGVjKGUpO2lmKHQpe2NvbnN0IHQ9cGFyc2VGbG9hdChlKTtyZXR1cm57dmFsdWU6dCxyZXM6ITAsc3VnZ2VzdDp0aGlzLmZvcm1hdEltcGwodCl9fQppZih0PW5ldyBSZWdFeHAoIl4oLT8pKFswLTldKylcXCcoWzAtOV0rKVxcJyhbMC05XSspJCIpLmV4ZWMoZSksdCl7Y29uc3QgZT0hIXRbMV0sbz1wYXJzZUludCh0WzJdKSxyPXZvaWQgMCE9PXRoaXMuX21pbk1vdmUyJiZudWxsIT09dGhpcy5fbWluTW92ZTI/dGhpcy5fbWluTW92ZTI6TmFOLHM9dGhpcy5fcHJpY2VTY2FsZS9yLF89dGhpcy5fbWluTW92ZTIsaT10aGlzLl9wYXRjaEZyYWN0UGFydChwYXJzZUludCh0WzNdKSwxLHMpLGE9dGhpcy5fcGF0Y2hGcmFjdFBhcnQocGFyc2VJbnQodFs0XSksMixfKTtpZihpPj1zfHxpPDApcmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5mcmFjdGlvbixyZXM6ITF9O2lmKG51bGwhPV8mJmE+PV98fGE8MClyZXR1cm57ZXJyb3I6dGhpcy5fZm9ybWF0dGVyRXJyb3JzLnNlY29uZEZyYWN0aW9uLHJlczohMX07bGV0IG49bnVsbCE9Xz9vK2kvcythLyhzKl8pOk5hTjtyZXR1cm4gZSYmKG49LW4pLHt2YWx1ZTpuLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChuKX19cmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX1fcGF0Y2hGcmFjdFBhcnQoZSx0LG8pe2NvbnN0IHI9ezA6MCw1OjF9LHM9ezA6MCwyOjEsNToyLDc6M30sXz17MDowLDE6MSwyOjIsMzozLDU6NCw2OjUsNzo2LDg6N307cmV0dXJuIDI9PT1vP3ZvaWQgMD09PXJbZV0/LTE6cltlXTo0PT09bz92b2lkIDA9PT1zW2VdPy0xOnNbZV06OD09PW8mJjI9PT10P3ZvaWQgMD09PV9bZV0/LTE6X1tlXTplfV9mb3JtYXRBc0ZyYWN0aW9uYWwoZSl7Y29uc3R7cHJpY2U6dCx0YWlsU2l6ZTpvLHByaWNlU2NhbGU6cixtaW5Nb3ZlOnMsbWluTW92ZTI6XyxmcmFjdGlvbmFsTGVuZ3RoOmF9PWUsbj1yL3M7bGV0IGw9TWF0aC5mbG9vcih0KSxjPW8/TWF0aC5mbG9vcih0Km4pLWwqbjpNYXRoLnJvdW5kKHQqbiktbCpuO2M9PT1uJiYoYz0wLGwrPTEpO2xldCBkPSIiO2lmKG8pe2xldCBlPSh0LWwtYy9uKSpuO2U9TWF0aC5yb3VuZChlKk1hdGgucG93KDEwLG8pKSxkPSgwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGUsbyksZD10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhkLG8pfWlmKCFhKXRocm93IG5ldyBFcnJvcigiX2ZyYWN0aW9uYWxMZW5ndGggaXMgbm90IGNhbGN1bGF0ZWQiKTtsZXQgdT0iIjtpZihfKXtjb25zdCBlPWMlXztjPShjLWUpL187Y29uc3QgdD0oMCxpLm51bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvKShjLGEpLG89dGhpcy5fZ2V0RnJhY3RQYXJ0KGUsMixfKTt1PXQrcCtvfWVsc2UgYz10aGlzLl9nZXRGcmFjdFBhcnQoYywxLHIpLHU9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoYypzLGEpO3JldHVybiBsLnRvU3RyaW5nKCkrcCt1K2R9X2dldEZyYWN0UGFydChlLHQsbyl7Y29uc3Qgcj1bMCw1XSxzPVswLDIsNSw3XSxfPVswLDEsMiwzLDUsNiw3LDhdO3JldHVybiAyPT09bz92b2lkIDA9PT1yW2VdPy0xOnJbZV06ND09PW8/dm9pZCAwPT09c1tlXT8tMTpzW2VdOjg9PT1vJiYyPT09dD92b2lkIDA9PT1fW2VdPy0xOl9bZV06ZX19Y2xhc3MgeXtjb25zdHJ1Y3RvcihlPXt9KXt0aGlzLnR5cGU9InByaWNlIjtjb25zdHttaW5Nb3ZlMjp0LGZyYWN0aW9uYWw6byx2YXJpYWJsZU1pblRpY2s6XyxpZ25vcmVNaW5Nb3ZlOmksaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmF9PWUsbj0oMCxyLmlzTnVtYmVyKShlLnByaWNlU2NhbGUpJiYoMCxyLmlzSW50ZWdlcikoZS5wcmljZVNjYWxlKT9lLnByaWNlU2NhbGU6MTAwO2lmKG48MCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGJhc2UiKTtjb25zdCBsPSFlLm1pbk1vdmV8fGk/MTplLm1pbk1vdmUsYz1zKG4sbCxvLHQpLGQ9ey4uLmUsbWluTW92ZTpsLHByaWNlU2NhbGU6bixmcmFjdGlvbmFsTGVuZ3RoOmN9O3RoaXMuX3ByaWNlU2NhbGU9bix0aGlzLl9taW5Nb3ZlPWwsdGhpcy5fbWluTW92ZTI9dCx0aGlzLl9mcmFjdGlvbmFsPW8sdGhpcy5fdmFyaWFibGVNaW5UaWNrPV8sdGhpcy5faWdub3JlTWluTW92ZT1pLHRoaXMuX2ZyYWN0aW9uYWxMZW5ndGg9Yyx0aGlzLl9pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ9YSx0aGlzLl9ub0V4cG9uZW50aWFsRm9ybT1lLm5vRXhwb25lbnRpYWxGb3JtLHRoaXMuX2ltcGxlbWVudGF0aW9uPW8/bmV3IHcoZCk6bmV3IGcoZCl9aXNGcmFjdGlvbmFsKCl7cmV0dXJuISF0aGlzLl9mcmFjdGlvbmFsfXN0YXRlKCl7cmV0dXJue21pbk1vdmU6dGhpcy5fbWluTW92ZSxtaW5Nb3ZlMjp0aGlzLl9taW5Nb3ZlMixwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsdmFyaWFibGVNaW5UaWNrOnRoaXMuX3ZhcmlhYmxlTWluVGljayxpZ25vcmVNaW5Nb3ZlOnRoaXMuX2lnbm9yZU1pbk1vdmUsZnJhY3Rpb25hbDp0aGlzLl9mcmFjdGlvbmFsLG5vRXhwb25lbnRpYWxGb3JtOnRoaXMuX25vRXhwb25lbnRpYWxGb3JtfX1mb3JtYXRDaGFuZ2UoZSx0LG8pe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5mb3JtYXRJbXBsKGUtdCx7Li4ubyx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6TWF0aC5taW4oTWF0aC5hYnMoZSksTWF0aC5hYnModCkpfSl9Zm9ybWF0KGUsdCl7cmV0dXJuIHRoaXMuX2ltcGxlbWVudGF0aW9uLmZvcm1hdEltcGwoZSx0KX1wYXJzZShlLHQpe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5wYXJzZShlLHQpfWhhc0ZvcmV4QWRkaXRpb25hbFByZWNpc2lvbigpe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5oYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKX1zdGF0aWMgc2VyaWFsaXplKGUpe3JldHVybiBlLnN0YXRlKCl9c3RhdGljIGRlc2VyaWFsaXplKGUpe3JldHVybiBuZXcgeShlKX19fSw3ODMyNTQoZSx0LG8pe28uZCh0LHt0OigpPT5yfSk7Y29uc3Qgcj1vLmkxOG5leHR9LDYyMDM1NChlLHQsbyl7dmFyIHI7by5kKHQse0xvZ29TaXplOigpPT5yfSksZnVuY3Rpb24oZSl7ZVtlLk1lZGl1bT0wXT0iTWVkaXVtIixlW2UuTGFyZ2U9MV09IkxhcmdlIn0ocnx8KHI9e30pKX0sNzQ5NjQ4KGUsdCxvKXtmdW5jdGlvbiByKGUsdD0hMSl7CiJsb2FkaW5nIiE9PWRvY3VtZW50LnJlYWR5U3RhdGU/dD9zZXRUaW1lb3V0KCgoKT0+ZSgpKSwxKTplKCk6ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsKCgpPT5lKCkpKX1vLmQodCx7d2hlbkRvY3VtZW50UmVhZHk6KCk9PnJ9KTtuZXcgUHJvbWlzZSgoZT0+e3IoZSl9KSl9LDYzNTE4KGUpewplLmV4cG9ydHM9SlNPTi5wYXJzZSgneyIxNDg1MSI6e30sImN1c3RvbV9pdGVtc19pbl9jb250ZXh0X21lbnUiOnt9LCJjb3VudGRvd24iOnt9LCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiI6e30sInBheV9hdHRlbnRpb25fdG9fdGlja2VyX25vdF9zeW1ib2wiOnt9LCJncmF5aW5nX2Rpc2FibGVkX3Rvb2xzX2VuYWJsZWQiOnt9LCJ1cGRhdGVfc3R1ZHlfZm9ybWF0dGVyX29uX3N5bWJvbF9yZXNvbHZlIjp7fSwiY29uc3RyYWludF9kaWFsb2dzX21vdmVtZW50Ijp7fSwicGhvbmVfdmVyaWZpY2F0aW9uIjp7fSwic2hvd190cmFkaW5nX25vdGlmaWNhdGlvbnNfaGlzdG9yeSI6e30sInNob3dfaW50ZXJ2YWxfZGlhbG9nX29uX2tleV9wcmVzcyI6e30sImhlYWRlcl9pbnRlcnZhbF9kaWFsb2dfYnV0dG9uIjp7InN1YnNldHMiOlsic2hvd19pbnRlcnZhbF9kaWFsb2dfb25fa2V5X3ByZXNzIl19LCJoZWFkZXJfZnVsbHNjcmVlbl9idXR0b24iOnt9LCJoZWFkZXJfc3ltYm9sX3NlYXJjaCI6e30sInN5bWJvbF9zZWFyY2hfaG90X2tleSI6e30sImhlYWRlcl9yZXNvbHV0aW9ucyI6eyJzdWJzZXRzIjpbImhlYWRlcl9pbnRlcnZhbF9kaWFsb2dfYnV0dG9uIl19LCJoZWFkZXJfY2hhcnRfdHlwZSI6e30sImhlYWRlcl9zZXR0aW5ncyI6e30sImhlYWRlcl9pbmRpY2F0b3JzIjp7fSwiaGVhZGVyX2NvbXBhcmUiOnt9LCJoZWFkZXJfdW5kb19yZWRvIjp7fSwiaGVhZGVyX3F1aWNrX3NlYXJjaCI6e30sImhlYWRlcl9zY3JlZW5zaG90Ijp7fSwiaGVhZGVyX3NhdmVsb2FkIjp7fSwic3R1ZHlfb25fc3R1ZHkiOnt9LCJzY2FsZXNfZGF0ZV9mb3JtYXQiOnt9LCJzY2FsZXNfdGltZV9ob3Vyc19mb3JtYXQiOnt9LCJoZWFkZXJfd2lkZ2V0Ijp7InN1YnNldHMiOlsiaGVhZGVyX3dpZGdldF9kb21fbm9kZSIsImhlYWRlcl9zeW1ib2xfc2VhcmNoIiwiaGVhZGVyX3Jlc29sdXRpb25zIiwiaGVhZGVyX2NoYXJ0X3R5cGUiLCJoZWFkZXJfc2V0dGluZ3MiLCJoZWFkZXJfaW5kaWNhdG9ycyIsImhlYWRlcl9jb21wYXJlIiwiaGVhZGVyX3VuZG9fcmVkbyIsImhlYWRlcl9xdWlja19zZWFyY2giLCJoZWFkZXJfZnVsbHNjcmVlbl9idXR0b24iLCJjb21wYXJlX3N5bWJvbCIsImhlYWRlcl9zY3JlZW5zaG90Il19LCJsZWdlbmRfd2lkZ2V0Ijp7fSwiY29tcGFyZV9zeW1ib2wiOnsic3Vic2V0cyI6WyJoZWFkZXJfY29tcGFyZSJdfSwicHJvcGVydHlfcGFnZXMiOnsic3Vic2V0cyI6WyJzaG93X2NoYXJ0X3Byb3BlcnR5X3BhZ2UiLCJjaGFydF9wcm9wZXJ0eV9wYWdlIl19LCJzaG93X2NoYXJ0X3Byb3BlcnR5X3BhZ2UiOnt9LCJjaGFydF9wcm9wZXJ0eV9wYWdlIjp7InN1YnNldHMiOlsiY2hhcnRfcHJvcGVydHlfcGFnZV9zY2FsZXMiLCJjaGFydF9wcm9wZXJ0eV9wYWdlX3RyYWRpbmciLCJjaGFydF9wcm9wZXJ0eV9wYWdlX3JpZ2h0X21hcmdpbl9lZGl0b3IiXX0sImxlZnRfdG9vbGJhciI6e30sInJpZ2h0X3Rvb2xiYXIiOnt9LCJoaWRlX2xlZnRfdG9vbGJhcl9ieV9kZWZhdWx0Ijp7fSwiY29udHJvbF9iYXIiOnt9LCJ3aWRnZXRfbG9nbyI6e30sInRpbWVmcmFtZXNfdG9vbGJhciI6e30sImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiOnsic3Vic2V0cyI6WyJzaG93X2hpZGVfYnV0dG9uX2luX2xlZ2VuZCIsImZvcm1hdF9idXR0b25faW5fbGVnZW5kIiwic3R1ZHlfYnV0dG9uc19pbl9sZWdlbmQiLCJkZWxldGVfYnV0dG9uX2luX2xlZ2VuZCIsImxlZ2VuZF9pbnBsYWNlX2VkaXQiXX0sInNob3dfaGlkZV9idXR0b25faW5fbGVnZW5kIjp7fSwib2JqZWN0X3RyZWVfbGVnZW5kX21vZGUiOnt9LCJmb3JtYXRfYnV0dG9uX2luX2xlZ2VuZCI6e30sInN0dWR5X2J1dHRvbnNfaW5fbGVnZW5kIjp7fSwiZGVsZXRlX2J1dHRvbl9pbl9sZWdlbmQiOnt9LCJsZWdlbmRfaW5wbGFjZV9lZGl0Ijp7fSwiYnJva2VyX2J1dHRvbiI6e30sImJ1eV9zZWxsX2J1dHRvbnMiOnsic3Vic2V0cyI6WyJicm9rZXJfYnV0dG9uIl19LCJzaG93X2J1eV9zZWxsX2J1dHRvbnNfb25fdW5zdXBwb3J0ZWRfcmVzb2x1dGlvbiI6e30sInBhbmVfY29udGV4dF9tZW51Ijp7fSwic2NhbGVzX2NvbnRleHRfbWVudSI6e30sImxlZ2VuZF9jb250ZXh0X21lbnUiOnt9LCJjb250ZXh0X21lbnVzIjp7InN1YnNldHMiOlsicGFuZV9jb250ZXh0X21lbnUiLCJzY2FsZXNfY29udGV4dF9tZW51IiwibGVnZW5kX2NvbnRleHRfbWVudSIsIm9iamVjdHNfdHJlZV9jb250ZXh0X21lbnUiXX0sIml0ZW1zX2Zhdm9yaXRpbmciOnt9LCJzYXZlX2NoYXJ0X3Byb3BlcnRpZXNfdG9fbG9jYWxfc3RvcmFnZSI6e30sInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIjp7InN1YnNldHMiOlsiaXRlbXNfZmF2b3JpdGluZyIsInNhdmVfY2hhcnRfcHJvcGVydGllc190b19sb2NhbF9zdG9yYWdlIl19LCJoYW5kbGVfc2NhbGUiOnsic3Vic2V0cyI6WyJtb3VzZV93aGVlbF9zY2FsZSIsInBpbmNoX3NjYWxlIiwiYXhpc19wcmVzc2VkX21vdXNlX21vdmVfc2NhbGUiXX0sImhhbmRsZV9zY3JvbGwiOnsic3Vic2V0cyI6WyJtb3VzZV93aGVlbF9zY3JvbGwiLCJwcmVzc2VkX21vdXNlX21vdmVfc2Nyb2xsIiwiaG9yel90b3VjaF9kcmFnX3Njcm9sbCIsInZlcnRfdG91Y2hfZHJhZ19zY3JvbGwiXX0sInBsYWluX3N0dWR5bWFya2V0Ijp7fSwiZGlzYWJsZV9yZXNvbHV0aW9uX3JlYnVpbGQiOnt9LCJib3JkZXJfYXJvdW5kX3RoZV9jaGFydCI6e30sImNoYXJ0aW5nX2xpYnJhcnlfZGVidWdfbW9kZSI6e30sInNhdmVsb2FkX3JlcXVpcmVzX2F1dGhlbnRpY2F0aW9uIjp7fSwic2F2ZWxvYWRfc3RvcmFnZV9jdXN0b21pemF0aW9uIjp7fSwidm9sdW1lX2ZvcmNlX292ZXJsYXkiOnt9LCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0Ijp7fSwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdF9vbmNlIjp7fSwic2F2ZWRfY2hhcnRzX2NvdW50X3Jlc3RyaWN0aW9uIjp7fSwibGVhbl9jaGFydF9sb2FkIjp7fSwic3RvcF9zdHVkeV9vbl9yZXN0YXJ0Ijp7fSwic3Rhcl9zb21lX2ludGVydmFsc19ieV9kZWZhdWx0Ijp7fSwibW92ZV9sb2dvX3RvX21haW5fcGFuZSI6e30sInNob3dfYW5pbWF0ZWRfbG9nbyI6e30sImxpbmtfdG9fdHJhZGluZ3ZpZXciOnt9LCJsb2dvX3dpdGhvdXRfbGluayI6e30sImxvZ29fYWx3YXlzX21heGltaXplZCI6e30sInJpZ2h0X2Jhcl9zdGF5c19vbl9zY3JvbGwiOnt9LCJjaGFydF9jb250ZW50X292ZXJyaWRlc19ieV9kZWZhdWx0cyI6e30sInNuYXBzaG90X3RyYWRpbmdfZHJhd2luZ3MiOnt9LCJhbGxvd19zdXBwb3J0ZWRfcmVzb2x1dGlvbnNfc2V0X29ubHkiOnt9LCJ3aWRnZXRiYXJfdGFicyI6eyJzdWJzZXRzIjpbInJpZ2h0X3Rvb2xiYXIiXX0sInNob3dfb2JqZWN0X3RyZWUiOnsic3Vic2V0cyI6WyJyaWdodF90b29sYmFyIl19LCJkb21fd2lkZ2V0Ijp7InN1YnNldHMiOlsicmlnaHRfdG9vbGJhciJdfSwiY29sbGFwc2libGVfaGVhZGVyIjp7fSwic3R1ZHlfdGVtcGxhdGVzIjp7fSwia2VlcF9zZWxlY3RlZF9ncm91cF9vbl90b29sX2NyZWF0aW9uIjp7fSwic2lkZV90b29sYmFyX2luX2Z1bGxzY3JlZW5fbW9kZSI6e30sImhlYWRlcl9pbl9mdWxsc2NyZWVuX21vZGUiOnt9LCJyZW1vdmVfbGlicmFyeV9jb250YWluZXJfYm9yZGVyIjp7fSwid2hvdHJhZGVzX2F1dGhfb25seSI6e30sInN1cHBvcnRfbXVsdGljaGFydHMiOnt9LCJkaXNwbGF5X21hcmtldF9zdGF0dXMiOnt9LCJkaXNwbGF5X2RhdGFfbW9kZSI6e30sImRhdGFzb3VyY2VfY29weXBhc3RlIjp7fSwiZHJhd2luZ190ZW1wbGF0ZXMiOnsic3Vic2V0cyI6WyJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIl19LCJleHBhbmRfc3ltYm9sc2VhcmNoX2l0ZW1zIjp7fSwic3ltYm9sX3NlYXJjaF90aHJlZV9jb2x1bW5zX2V4Y2hhbmdlcyI6e30sInN5bWJvbF9zZWFyY2hfZmxhZ3MiOnt9LCJzeW1ib2xfc2VhcmNoX2xpbWl0ZWRfZXhjaGFuZ2VzIjp7fSwiYnVncmVwb3J0X2J1dHRvbiI6eyJzdWJzZXRzIjpbInJpZ2h0X3Rvb2xiYXIiXX0sImhlYWRlcl90cmFkZV9idXR0b24iOnt9LCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIjp7fSwiZm9vdGVyX3B1Ymxpc2hfaWRlYV9idXR0b24iOnt9LCJ0ZXh0X25vdGVzIjp7fSwic2hvd19zb3VyY2VfY29kZSI6e30sInN5bWJvbF9pbmZvIjp7fSwibm9fYmFyc19zdGF0dXMiOnt9LCJjbGVhcl9iYXJzX29uX3Nlcmllc19lcnJvciI6e30sImhpZGVfbG9hZGluZ19zY3JlZW5fb25fc2VyaWVzX2Vycm9yIjp7fSwic2Vjb25kc19yZXNvbHV0aW9uIjp7fSwiZG9udF9zaG93X2Jvb2xlYW5fc3R1ZHlfYXJndW1lbnRzIjp7fSwiaGlkZV9sYXN0X25hX3N0dWR5X291dHB1dCI6e30sInByaWNlX3NjYWxlX2Fsd2F5c19sYXN0X2Jhcl92YWx1ZSI6e30sInN0dWR5X2RpYWxvZ19mdW5kYW1lbnRhbHNfZWNvbm9teV9hZGRvbnMiOnt9LCJ1cHBlcmNhc2VfaW5zdHJ1bWVudF9uYW1lcyI6e30sInRyYWRpbmdfbm90aWZpY2F0aW9ucyI6e30sImNoYXJ0X2Nyb3NzaGFpcl9tZW51Ijp7fSwiamFwYW5lc2VfY2hhcnRfc3R5bGVzIjp7fSwiaGlkZV9zZXJpZXNfbGVnZW5kX2l0ZW0iOnt9LCJoaWRlX3N0dWR5X292ZXJsYXlfbGVnZW5kX2l0ZW0iOnt9LCJoaWRlX3N0dWR5X2NvbXBhcmVfbGVnZW5kX2l0ZW0iOnt9LCJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIjp7fSwidXNlX292ZXJyaWRlc19mb3Jfb3ZlcmxheSI6e30sInRpbWV6b25lX21lbnUiOnt9LCJtYWluX3Nlcmllc19zY2FsZV9tZW51Ijp7fSwic2hvd19sb2dpbl9kaWFsb2ciOnt9LCJyZW1vdmVfaW1nX2Zyb21fcnNzIjp7fSwiYmFyc19tYXJrcyI6e30sImNoYXJ0X3Njcm9sbCI6e30sImNoYXJ0X3pvb20iOnt9LCJzb3VyY2Vfc2VsZWN0aW9uX21hcmtlcnMiOnt9LCJsb3dfZGVuc2l0eV9iYXJzIjp7fSwiZW5kX29mX3BlcmlvZF90aW1lc2NhbGVfbWFya3MiOnt9LCJvcGVuX2FjY291bnRfbWFuYWdlciI6e30sInNob3dfb3JkZXJfcGFuZWxfb25fc3RhcnQiOnt9LCJvcmRlcl9wYW5lbCI6eyJzdWJzZXRzIjpbIm9yZGVyX3BhbmVsX2Nsb3NlX2J1dHRvbiIsIm9yZGVyX3BhbmVsX3VuZG9jayIsInJpZ2h0X3Rvb2xiYXIiLCJvcmRlcl9pbmZvIl19LCJtdWx0aXBsZV93YXRjaGxpc3RzIjp7fSwid2F0Y2hsaXN0X2ltcG9ydF9leHBvcnQiOnt9LCJzdHVkeV9vdmVybGF5X2NvbXBhcmVfbGVnZW5kX29wdGlvbiI6e30sIm1vYmlsZV9hcHBfYWN0aW9uX29wZW5fZGV0YWlsc193ZWJ2aWV3Ijp7fSwiY3VzdG9tX3Jlc29sdXRpb25zIjp7fSwicmVmZXJyYWxfcHJvZ3JhbV9mb3Jfd2lkZ2V0X293bmVycyI6e30sIm1vYmlsZV90cmFkaW5nIjp7fSwicmVhbF9icm9rZXJzIjp7fSwicXVpY2tfdHJhZGluZ19wYW5lbCI6e30sIm5hdGl2ZV9tb2JpbGVfYnJva2Vyc19saXN0Ijp7fSwibm9fbWluX2NoYXJ0X3dpZHRoIjp7fSwibG9ja192aXNpYmxlX3RpbWVfcmFuZ2Vfb25fcmVzaXplIjp7fSwicHJpY2VzY2FsZV9jdXJyZW5jeSI6e30sImNyb3BwZWRfdGlja19tYXJrcyI6e30sInRyYWRpbmdfYWNjb3VudF9tYW5hZ2VyIjp7fSwiZGlzYWJsZV9zYW1laW50ZXJ2YWxfYWxpZ25pbmciOnt9LCJkaXNwbGF5X2xlZ2VuZF9vbl9hbGxfY2hhcnRzIjp7fSwiY2hhcnRfc3R5bGVfaGlsbyI6e30sImNoYXJ0X3N0eWxlX2hpbG9fbGFzdF9wcmljZSI6e30sInByaWNlc2NhbGVfdW5pdCI6e30sInNob3dfc3ByZWFkX29wZXJhdG9ycyI6e30sImhpZGVfZXhwb25lbnRpYXRpb25fc3ByZWFkX29wZXJhdG9yIjp7fSwiaGlkZV9yZWNpcHJvY2FsX3NwcmVhZF9vcGVyYXRvciI6e30sImNvbXBhcmVfc3ltYm9sX3NlYXJjaF9zcHJlYWRfb3BlcmF0b3JzIjp7fSwic3R1ZGllc19zeW1ib2xfc2VhcmNoX3NwcmVhZF9vcGVyYXRvcnMiOnt9LCJoaWRlX3Jlc29sdXRpb25faW5fbGVnZW5kIjp7fSwiaGlkZV91bnJlc29sdmVkX3N5bWJvbHNfaW5fbGVnZW5kIjp7fSwiZml4X2xlZnRfZWRnZSI6e30sInN0dWR5X3N5bWJvbF90aWNrZXJfZGVzY3JpcHRpb24iOnt9LCJ0d29fY2hhcmFjdGVyX2Jhcl9tYXJrc19sYWJlbHMiOnt9LCJwaW5fYmFyX21hcmtfdG9vbHRpcHNfb25fY2xpY2siOnt9LCJ0aWNrX3Jlc29sdXRpb24iOnt9LCJzZWNvbmRhcnlfc2VyaWVzX2V4dGVuZF90aW1lX3NjYWxlIjp7fSwiaGlkZV92b2x1bWVfbWEiOnt9LCJzbWFsbF9ub19kaXNwbGF5Ijp7fSwiY2hhcnRpbmdfbGlicmFyeV9zaW5nbGVfc3ltYm9sX3JlcXVlc3QiOnt9LCJ1c2VfdGlja2VyX29uX3N5bWJvbF9pbmZvX3VwZGF0ZSI6e30sInNob3dfem9vbV9hbmRfbW92ZV9idXR0b25zX29uX3RvdWNoIjp7fSwiaGlkZV9tYWluX3Nlcmllc19zeW1ib2xfZnJvbV9pbmRpY2F0b3JfbGVnZW5kIjp7fSwiY2hhcnRfaGlkZV9jbG9zZV9wb3NpdGlvbl9idXR0b24iOnt9LCJjaGFydF9oaWRlX2Nsb3NlX29yZGVyX2J1dHRvbiI6e30sImhpZGVfcHJpY2Vfc2NhbGVfZ2xvYmFsX2xhc3RfYmFyX3ZhbHVlIjp7InN1YnNldHMiOlsidXNlX2xhc3RfdmlzaWJsZV9iYXJfdmFsdWVfaW5fbGVnZW5kIl19LCJrZWVwX29iamVjdF90cmVlX3dpZGdldF9pbl9yaWdodF90b29sYmFyIjp7fSwic2hvd19hdmVyYWdlX2Nsb3NlX3ByaWNlX2xpbmVfYW5kX2xhYmVsIjp7fSwiaGlkZV9pbWFnZV9pbnZhbGlkX3N5bWJvbCI6e30sImhpZGVfb2JqZWN0X3RyZWVfYW5kX3ByaWNlX3NjYWxlX2V4Y2hhbmdlX2xhYmVsIjp7fSwiY29uZmlybV9vdmVyd3JpdGVfaWZfY2hhcnRfbGF5b3V0X3dpdGhfbmFtZV9leGlzdHMiOnt9LCJkZXRlcm1pbmVfZmlyc3RfZGF0YV9yZXF1ZXN0X3NpemVfdXNpbmdfdmlzaWJsZV9yYW5nZSI6e30sInVzZV9uYV9zdHJpbmdfZm9yX25vdF9hdmFpbGFibGVfdmFsdWVzIjp7fSwic2hvd19sYXN0X3ByaWNlX2FuZF9jaGFuZ2Vfb25seV9pbl9zZXJpZXNfbGVnZW5kIjp7fSwibGVnZW5kX2xhc3RfZGF5X2NoYW5nZSI6e30sImlmcmFtZV9sb2FkaW5nX2NvbXBhdGliaWxpdHlfbW9kZSI6e30sInNob3dfcGVyY2VudF9vcHRpb25fZm9yX3JpZ2h0X21hcmdpbiI6e30sIndhdGNobGlzdF9jb250ZXh0X21lbnUiOnt9LCJhY2Nlc3NpYmxlX2tleWJvYXJkX3Nob3J0Y3V0cyI6e30sImFkdmFuY2VkX2Vtb2ppX2luX3RpdGxlcyI6e30sImFwcF9waG9uZSI6e30sImFwcF90YWJsZXQiOnt9LCJtb2JpbGVfYXBwX2hpZGVfcmVwbGF5X3Rvb2xiYXIiOnt9LCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciI6e30sInNob3dfbmF0aXZlX3N5bWJvbF9zZWFyY2hfb25fdGFwX2luX2xlZ2VuZCI6e30sInNob3dfbmF0aXZlX3N5bWJvbF9zZWFyY2hfb25fbm9uX3RyYWRhYmxlIjp7fSwic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyI6e30sInByZV9wb3N0X21hcmtldF9wcmljZV9saW5lIjp7fSwicHJlX3Bvc3RfbWFya2V0X3Nlc3Npb25zIjp7fSwic3R1ZGllc19leHRlbmRfdGltZV9zY2FsZSI6e30sImluYWN0aXZpdHlfZ2FwcyI6e30sImFsaWduX2R3bV9iYXJzX3RvX21haW5fc2VyaWVzIjp7fSwicmVxdWVzdF9vbmx5X3Zpc2libGVfcmFuZ2Vfb25fcmVzZXQiOnt9LCJleHRlbmRlZF9leHRyYXBvbGF0aW9uX2xpbWl0Ijp7fSwidHZfcHJvZHVjdGlvbiI6eyJzdWJzZXRzIjpbIndhdGNobGlzdF9zZWN0aW9ucyIsImFkdmFuY2VkX2Vtb2ppX2luX3RpdGxlcyIsImF1dG9fZW5hYmxlX3N5bWJvbF9sYWJlbHMiLCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiIsImhlYWRlcl9mdWxsc2NyZWVuX2J1dHRvbiIsImhlYWRlcl93aWRnZXQiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJsZWZ0X3Rvb2xiYXIiLCJyaWdodF90b29sYmFyIiwiYnV5X3NlbGxfYnV0dG9ucyIsImNvbnRyb2xfYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwiY29udGV4dF9tZW51cyIsImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiLCJvYmplY3RfdHJlZV9sZWdlbmRfbW9kZSIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwidXNlX2xvY2Fsc3RvcmFnZV9mb3Jfc2V0dGluZ3MiLCJzYXZlbG9hZF9yZXF1aXJlc19hdXRoZW50aWNhdGlvbiIsInZvbHVtZV9mb3JjZV9vdmVybGF5Iiwic2F2ZWRfY2hhcnRzX2NvdW50X3Jlc3RyaWN0aW9uIiwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdCIsImNyZWF0ZV92b2x1bWVfaW5kaWNhdG9yX2J5X2RlZmF1bHRfb25jZSIsImNoYXJ0c19hdXRvX3NhdmUiLCJzYXZlX29sZF9jaGFydF9iZWZvcmVfc2F2ZV9hcyIsImNoYXJ0X2NvbnRlbnRfb3ZlcnJpZGVzX2J5X2RlZmF1bHRzIiwiYWxlcnRzIiwiaGVhZGVyX3NhdmVsb2FkIiwiaGVhZGVyX2xheW91dHRvZ2dsZSIsImRhdGFzb3VyY2VfY29weXBhc3RlIiwic2hvd19zYXZlZF93YXRjaGxpc3RzIiwid2F0Y2hsaXN0c19mcm9tX3RvX2ZpbGUiLCJhZGRfdG9fd2F0Y2hsaXN0IiwicHJvcGVydHlfcGFnZXMiLCJzdXBwb3J0X211bHRpY2hhcnRzIiwiZGlzcGxheV9tYXJrZXRfc3RhdHVzIiwiZGlzcGxheV9kYXRhX21vZGUiLCJzaG93X2NoYXJ0X3dhcm5fbWVzc2FnZSIsInN1cHBvcnRfbWFuYWdlX2RyYXdpbmdzIiwid2lkZ2V0YmFyX3RhYnMiLCJzdHVkeV90ZW1wbGF0ZXMiLCJjb2xsYXBzaWJsZV9oZWFkZXIiLCJkcmF3aW5nX3RlbXBsYXRlcyIsImhlYWRlcl90cmFkZV9idXR0b24iLCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIiwiZm9vdGVyX3B1Ymxpc2hfaWRlYV9idXR0b24iLCJ0ZXh0X25vdGVzIiwic2hvd19zb3VyY2VfY29kZSIsInN5bWJvbF9pbmZvIiwibGluZXRvb2xwcm9wZXJ0aWVzd2lkZ2V0X3RlbXBsYXRlX2J1dHRvbiIsInRyYWRpbmdfbm90aWZpY2F0aW9ucyIsInN5bWJvbF9zZWFyY2hfdGhyZWVfY29sdW1uc19leGNoYW5nZXMiLCJzeW1ib2xfc2VhcmNoX2ZsYWdzIiwic3ltYm9sX3NlYXJjaF9saW1pdGVkX2V4Y2hhbmdlcyIsInBob25lX3ZlcmlmaWNhdGlvbiIsImN1c3RvbV9yZXNvbHV0aW9ucyIsImNvbXBhcmVfc3ltYm9sIiwic3R1ZHlfb25fc3R1ZHkiLCJqYXBhbmVzZV9jaGFydF9zdHlsZXMiLCJzaG93X2xvZ2luX2RpYWxvZyIsImRvbV93aWRnZXQiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNob3dfdHJhZGluZ19ub3RpZmljYXRpb25zX2hpc3RvcnkiLCJzb3VyY2Vfc2VsZWN0aW9uX21hcmtlcnMiLCJzdHVkeV9kaWFsb2dfZnVuZGFtZW50YWxzX2Vjb25vbXlfYWRkb25zIiwibXVsdGlwbGVfd2F0Y2hsaXN0cyIsIm1hcmtlZF9zeW1ib2xzIiwib3JkZXJfcGFuZWwiLCJwcmljZXNjYWxlX2N1cnJlbmN5Iiwic2hvd19hbmltYXRlZF9sb2dvIiwicHJpY2VzY2FsZV9jdXJyZW5jeSIsInNob3dfb2JqZWN0X3RyZWUiLCJ3YXRjaGxpc3RfaW1wb3J0X2V4cG9ydCIsInNjYWxlc19kYXRlX2Zvcm1hdCIsInNjYWxlc190aW1lX2hvdXJzX2Zvcm1hdCIsInBvcHVwX2hpbnRzIiwic2hvd19yaWdodF93aWRnZXRzX3BhbmVsX2J5X2RlZmF1bHQiLCJjb21wYXJlX3JlY2VudF9zeW1ib2xzX2VuYWJsZWQiLCJjaGFydF9zdHlsZV9oaWxvX2xhc3RfcHJpY2UiLCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIsInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiLCJrZWVwX3NlbGVjdGVkX2dyb3VwX29uX3Rvb2xfY3JlYXRpb24iXX0sIndpZGdldCI6eyJzdWJzZXRzIjpbImF1dG9fZW5hYmxlX3N5bWJvbF9sYWJlbHMiLCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwibGVmdF90b29sYmFyIiwicmlnaHRfdG9vbGJhciIsImNvbnRyb2xfYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwiY29udGV4dF9tZW51cyIsImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiLCJvYmplY3RfdHJlZV9sZWdlbmRfbW9kZSIsInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIiwic2F2ZWxvYWRfcmVxdWlyZXNfYXV0aGVudGljYXRpb24iLCJ2b2x1bWVfZm9yY2Vfb3ZlcmxheSIsImNyZWF0ZV92b2x1bWVfaW5kaWNhdG9yX2J5X2RlZmF1bHQiLCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0X29uY2UiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJoZWFkZXJfd2lkZ2V0X2RvbV9ub2RlIiwiaGVhZGVyX3N5bWJvbF9zZWFyY2giLCJoZWFkZXJfcmVzb2x1dGlvbnMiLCJoZWFkZXJfY2hhcnRfdHlwZSIsImhlYWRlcl9jb21wYXJlIiwiaGVhZGVyX2luZGljYXRvcnMiLCJzdGFyX3NvbWVfaW50ZXJ2YWxzX2J5X2RlZmF1bHQiLCJkaXNwbGF5X21hcmtldF9zdGF0dXMiLCJkaXNwbGF5X2RhdGFfbW9kZSIsInNob3dfY2hhcnRfd2Fybl9tZXNzYWdlIiwic3ltYm9sX2luZm8iLCJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIiwic3ltYm9sX3NlYXJjaF90aHJlZV9jb2x1bW5zX2V4Y2hhbmdlcyIsInN5bWJvbF9zZWFyY2hfZmxhZ3MiLCJzeW1ib2xfc2VhcmNoX2xpbWl0ZWRfZXhjaGFuZ2VzIiwid2lkZ2V0YmFyX3RhYnMiLCJjb21wYXJlX3N5bWJvbCIsInNob3dfbG9naW5fZGlhbG9nIiwicGxhaW5fc3R1ZHltYXJrZXQiLCJqYXBhbmVzZV9jaGFydF9zdHlsZXMiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNvdXJjZV9zZWxlY3Rpb25fbWFya2VycyIsInByb3BlcnR5X3BhZ2VzIiwic2hvd19yaWdodF93aWRnZXRzX3BhbmVsX2J5X2RlZmF1bHQiLCJjaGFydF9zdHlsZV9oaWxvX2xhc3RfcHJpY2UiLCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIl19LCJib3Zlc3BhX3dpZGdldCI6eyJzdWJzZXRzIjpbIndpZGdldCIsImhlYWRlcl9zZXR0aW5ncyIsImxpbmV0b29scHJvcGVydGllc3dpZGdldF90ZW1wbGF0ZV9idXR0b24iLCJjb21wYXJlX3JlY2VudF9zeW1ib2xzX2VuYWJsZWQiXX0sImNoYXJ0aW5nX2xpYnJhcnlfYmFzZSI6eyJzdWJzZXRzIjpbIjE0ODUxIiwiYWxsb3dfc3VwcG9ydGVkX3Jlc29sdXRpb25zX3NldF9vbmx5IiwiYXV0b19lbmFibGVfc3ltYm9sX2xhYmVscyIsImJvcmRlcl9hcm91bmRfdGhlX2NoYXJ0IiwiY29sbGFwc2libGVfaGVhZGVyIiwiY29uc3RyYWludF9kaWFsb2dzX21vdmVtZW50IiwiY29udGV4dF9tZW51cyIsImNvbnRyb2xfYmFyIiwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdCIsImN1c3RvbV9pdGVtc19pbl9jb250ZXh0X21lbnUiLCJkYXRhc291cmNlX2NvcHlwYXN0ZSIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwiZGlzcGxheV9tYXJrZXRfc3RhdHVzIiwiZWRpdF9idXR0b25zX2luX2xlZ2VuZCIsIm9iamVjdF90cmVlX2xlZ2VuZF9tb2RlIiwiZ3JheWluZ19kaXNhYmxlZF90b29sc19lbmFibGVkIiwiaGVhZGVyX3dpZGdldCIsImxlZ2VuZF93aWRnZXQiLCJoZWFkZXJfc2F2ZWxvYWQiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJsZWFuX2NoYXJ0X2xvYWQiLCJsZWZ0X3Rvb2xiYXIiLCJyaWdodF90b29sYmFyIiwibGlua190b190cmFkaW5ndmlldyIsInBheV9hdHRlbnRpb25fdG9fdGlja2VyX25vdF9zeW1ib2wiLCJwbGFpbl9zdHVkeW1hcmtldCIsInJlZnJlc2hfc2F2ZWRfY2hhcnRzX2xpc3Rfb25fZGlhbG9nX3Nob3ciLCJyaWdodF9iYXJfc3RheXNfb25fc2Nyb2xsIiwic2F2ZWxvYWRfc3RvcmFnZV9jdXN0b21pemF0aW9uIiwic3RvcF9zdHVkeV9vbl9yZXN0YXJ0IiwidGltZWZyYW1lc190b29sYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwidXBkYXRlX3N0dWR5X2Zvcm1hdHRlcl9vbl9zeW1ib2xfcmVzb2x2ZSIsInVwZGF0ZV90aW1lZnJhbWVzX3NldF9vbl9zeW1ib2xfcmVzb2x2ZSIsInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIiwidm9sdW1lX2ZvcmNlX292ZXJsYXkiLCJ3aWRnZXRfbG9nbyIsImNvdW50ZG93biIsInVzZV9vdmVycmlkZXNfZm9yX292ZXJsYXkiLCJ0cmFkaW5nX25vdGlmaWNhdGlvbnMiLCJjb21wYXJlX3N5bWJvbCIsInN5bWJvbF9pbmZvIiwidGltZXpvbmVfbWVudSIsIm1haW5fc2VyaWVzX3NjYWxlX21lbnUiLCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0X29uY2UiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNvdXJjZV9zZWxlY3Rpb25fbWFya2VycyIsInByb3BlcnR5X3BhZ2VzIiwiZ29fdG9fZGF0ZSIsImFkYXB0aXZlX2xvZ28iLCJzaG93X2FuaW1hdGVkX2xvZ28iLCJoYW5kbGVfc2NhbGUiLCJoYW5kbGVfc2Nyb2xsIiwic2hpZnRfdmlzaWJsZV9yYW5nZV9vbl9uZXdfYmFyIiwiY2hhcnRfY29udGVudF9vdmVycmlkZXNfYnlfZGVmYXVsdHMiLCJjcm9wcGVkX3RpY2tfbWFya3MiLCJzY2FsZXNfZGF0ZV9mb3JtYXQiLCJzY2FsZXNfdGltZV9ob3Vyc19mb3JtYXQiLCJwb3B1cF9oaW50cyIsInNhdmVfc2hvcnRjdXQiLCJzaG93X3JpZ2h0X3dpZGdldHNfcGFuZWxfYnlfZGVmYXVsdCIsInNob3dfb2JqZWN0X3RyZWUiLCJpbnNlcnRfaW5kaWNhdG9yX2RpYWxvZ19zaG9ydGN1dCIsImNvbXBhcmVfcmVjZW50X3N5bWJvbHNfZW5hYmxlZCIsImhpZGVfbWFpbl9zZXJpZXNfc3ltYm9sX2Zyb21faW5kaWNhdG9yX2xlZ2VuZCIsImNoYXJ0X3N0eWxlX2hpbG8iLCJyZXF1ZXN0X29ubHlfdmlzaWJsZV9yYW5nZV9vbl9yZXNldCIsImNsZWFyX3ByaWNlX3NjYWxlX29uX2Vycm9yX29yX2VtcHR5X2JhcnMiLCJzaG93X3N5bWJvbF9sb2dvX2luX2xlZ2VuZCIsInNob3dfc3ltYm9sX2xvZ29fZm9yX2NvbXBhcmVfc3R1ZGllcyIsImxpYnJhcnlfY3VzdG9tX2NvbG9yX3RoZW1lcyIsImxvbmdfcHJlc3NfZmxvYXRpbmdfdG9vbHRpcCIsInN5bWJvbF9zZWFyY2hfaGlnaGxpZ2h0X2FjdGl2ZV9zeW1ib2wiXX0sImNoYXJ0aW5nX2xpYnJhcnkiOnsic3Vic2V0cyI6WyJjaGFydGluZ19saWJyYXJ5X2Jhc2UiXX0sInN0YXRpY19jaGFydHNfc2VydmljZSI6eyJzdWJzZXRzIjpbImNoYXJ0aW5nX2xpYnJhcnkiLCJkaXNhYmxlX3Jlc29sdXRpb25fcmVidWlsZCJdfSwidHJhZGluZ190ZXJtaW5hbCI6eyJzdWJzZXRzIjpbImNoYXJ0aW5nX2xpYnJhcnlfYmFzZSIsInN1cHBvcnRfbXVsdGljaGFydHMiLCJoZWFkZXJfbGF5b3V0dG9nZ2xlIiwiamFwYW5lc2VfY2hhcnRfc3R5bGVzIiwiY2hhcnRfcHJvcGVydHlfcGFnZV90cmFkaW5nIiwiYWRkX3RvX3dhdGNobGlzdCIsIm9wZW5fYWNjb3VudF9tYW5hZ2VyIiwic2hvd19kb21fZmlyc3RfdGltZSIsIm9yZGVyX3BhbmVsIiwiYnV5X3NlbGxfYnV0dG9ucyIsIm11bHRpcGxlX3dhdGNobGlzdHMiLCJzaG93X3RyYWRpbmdfbm90aWZpY2F0aW9uc19oaXN0b3J5IiwiYWx3YXlzX3Bhc3NfY2FsbGVkX29yZGVyX3RvX21vZGlmeSIsInNob3dfb2JqZWN0X3RyZWUiLCJ3YXRjaGxpc3RfaW1wb3J0X2V4cG9ydCIsImRyYXdpbmdfdGVtcGxhdGVzIiwidHJhZGluZ19hY2NvdW50X21hbmFnZXIiLCJjaGFydF9jcm9zc2hhaXJfbWVudSIsImNvbXBhcmVfcmVjZW50X3N5bWJvbHNfZW5hYmxlZCIsIndhdGNobGlzdF9jb250ZXh0X21lbnUiLCJzaG93X3N5bWJvbF9sb2dvX2luX2FjY291bnRfbWFuYWdlciIsInNob3dfc3ltYm9sX2xvZ29faW5fY2xvc2VfcG9zaXRpb25fZGlhbG9nIiwic2hvd19zeW1ib2xfbG9nb19pbl9jYW5jZWxfb3JkZXJfZGlhbG9nIiwid2F0Y2hsaXN0X3NlY3Rpb25zIiwicHJlZmVyX3F1b3RlX3Nob3J0X25hbWUiLCJlbmFibGVfZG9tX2RhdGFfZm9yX3VudHJhZGFibGVfc3ltYm9scyIsInByZWZlcl9zeW1ib2xfbmFtZV9vdmVyX2Z1bGxuYW1lIiwid2F0Y2hsaXN0X2Nyb3NzX3RhYl9zeW5jIl19fScpCn0sNzQ2OTQ5KGUpewplLmV4cG9ydHM9SlNPTi5wYXJzZSgneyJhZHgiOiJ3aWRnZXRfdXNlcl90b2tlbi1hZHgiLCJhZHhEIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWR4RCIsImFnZW5jaWFsYm1jb21iciI6IndpZGdldF91c2VyX3Rva2VuLWFnZW5jaWFsYm1jb21iciIsImFsamF6aXJhY2FwaXRhbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbGphemlyYWNhcGl0YWxEIiwiYWxqYXppcmFjYXBpdGFsUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbGphemlyYWNhcGl0YWxSVCIsImFscmFqaGljYXBpdGFsY29tRCI6IndpZGdldF91c2VyX3Rva2VuLWFscmFqaGljYXBpdGFsY29tRCIsImFscmFqaGljYXBpdGFsY29tUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbHJhamhpY2FwaXRhbGNvbVJUIiwiYW1iaXRvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYW1iaXRvIiwiYXJlbmF4dHJvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYXJlbmF4dHJvIiwiYXJ0ZWNoZWNvbSI6IndpZGdldF91c2VyX3Rva2VuLUFydGVjaGVEIiwiYXRsY2FwaXRhbCI6IndpZGdldF91c2VyX3Rva2VuLWF0bGNhcGl0YWwiLCJiYW5raXJvc3J1Ijoid2lkZ2V0X3VzZXJfdG9rZW4tYmFua2lyb3NydSIsImJidmFjaCI6IndpZGdldF91c2VyX3Rva2VuLWJidmFjaCIsImJlZWtzZ3JvdXAiOiJ3aWRnZXRfdXNlcl90b2tlbi1iZWVrc2dyb3VwIiwiYmVsdWdhZ3JvdXBydSI6IndpZGdldF91c2VyX3Rva2VuLWJlbHVnYWdyb3VwcnUiLCJiaXZhY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tYml2YWNvbSIsImJsdWVmaWVsZCI6IndpZGdldF91c2VyX3Rva2VuLWJsdWVmaWVsZCIsImJsdWVsaW5lZnV0dXJlcyI6IndpZGdldF91c2VyX3Rva2VuLWJsdWVsaW5lZnV0dXJlcyIsImJvdmVzcGEiOiJ3aWRnZXRfdXNlcl90b2tlbi1ibWZib3Zlc3BhY29tYnIiLCJidmJybyI6IndpZGdldF91c2VyX3Rva2VuLWJ2YnJvIiwiYnl0ZXRyYXZlbCI6IndpZGdldF91c2VyX3Rva2VuLWJ5dGV0cmF2ZWwiLCJjYm9lY2FuYWRhIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2JvZWNhbmFkYSIsImNoYW1waW9ubmF0Ym91cnNlIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2hhbXBpb25uYXRib3Vyc2UiLCJjaW5jb2RpYXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jaW5jb2RpYXMiLCJjZW9jYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1jZW9jYUQiLCJjZW9jYVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2VvY2FSVCIsImNtY21hcmtldHMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jbWNtYXJrZXRzIiwiY29wZWVzIjoid2lkZ2V0X3VzZXJfdG9rZW4tY29wZWVzIiwiY3NlbGsiOiJ3aWRnZXRfdXNlcl90b2tlbi1jc2VsayIsImRhaWx5ZngiOiJ3aWRnZXRfdXNlcl90b2tlbi1kYWlseWZ4IiwiZGVlcHNlYXJjaCI6IndpZGdldF91c2VyX3Rva2VuLWRlZXBzZWFyY2giLCJkZXJheWFoY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGVyYXlhaGNvbSIsImRmbWFlRCI6IndpZGdldF91c2VyX3Rva2VuLWRmbWFlRCIsImRmbWFlUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kZm1hZVJUIiwiZGluYXJzYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kaW5hcnNhRCIsImRpbmFyc2FSVCI6IndpZGdldF91c2VyX3Rva2VuLWRpbmFyc2FSVCIsImRvbGFyaG95Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZG9sYXJob3kiLCJlYXN5bnZlc3Rjb21iciI6IndpZGdldF91c2VyX3Rva2VuLWVhc3ludmVzdGNvbWJyIiwiZWRhaWx5Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZWRhaWx5IiwiZWxlc3Bhbm9sY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxlc3Bhbm9sY29tIiwiZWxvYnJlcm9lcyI6IndpZGdldF91c2VyX3Rva2VuLWVsb2JyZXJvZXMiLCJlbG5hY2lvbmFsRCI6IndpZGdldF91c2VyX3Rva2VuLUVsTmFjaW9uYWxEIiwiZWxwYWlzZmluYW5jaWVybyI6IndpZGdldF91c2VyX3Rva2VuLWVscGFpc2ZpbmFuY2llcm8iLCJlbHBlcmlvZGljb2RlbGFlbmVyZ2lhIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxwZXJpb2RpY29kZWxhZW5lcmdpYSIsImV1cXVlcm9pbnZlc3RpciI6IndpZGdldF91c2VyX3Rva2VuLWV1cXVlcm9pbnZlc3RpcmNvbSIsImV1cmV4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZXVyZXgiLCJldXJvZmlucyI6IndpZGdldF91c2VyX3Rva2VuLWV1cm9maW5zIiwiZXBlIjoid2lkZ2V0X3VzZXJfdG9rZW4tZXBlIiwiZXVyb3BhcHJlc3NlcyI6IndpZGdldF91c2VyX3Rva2VuLWV1cm9wYXByZXNzZXMiLCJmaW5hbnphc0QiOiJ3aWRnZXRfdXNlcl90b2tlbi1GaW5hbnphc0QiLCJmb3JiZXNjb21iciI6IndpZGdldF91c2VyX3Rva2VuLWZvcmJlc2NvbWJyIiwiZ2VuaWFsaW52ZXN0aW1lbnRvcyI6IndpZGdldF91c2VyX3Rva2VuLWdlbmlhbGludmVzdGltZW50b3MiLCJoZWFsdGhpdGFsaWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1oZWFsdGhpdGFsaWEiLCJoZWduYXJubyI6IndpZGdldF91c2VyX3Rva2VuLWhlZ25hcm5vIiwiaGlwb3RlY2FyaW9jb21hciI6IndpZGdldF91c2VyX3Rva2VuLWhpcG90ZWNhcmlvY29tYXIiLCJpZ2NvbSI6IndpZGdldF91c2VyX3Rva2VuLWlnY29tIiwiaW52ZXN0ZWdhdGVjb3VrIjoid2lkZ2V0X3VzZXJfdG9rZW4taW52ZXN0ZWdhdGVjb3VrIiwiaW52ZXN0b3BlZGlhIjoid2lkZ2V0X3VzZXJfdG9rZW4taW52ZXN0b3BlZGlhIiwiaW50ZWdyYWx5YXRpcmltIjoid2lkZ2V0X3VzZXJfdG9rZW4taW50ZWdyYWx5YXRpcmltIiwiaXZzZ3JvdXAiOiJ3aWRnZXRfdXNlcl90b2tlbi1pdnNncm91cCIsImpzZWNvemEiOiJ3aWRnZXRfdXNlcl90b2tlbi1qc2Vjb3phIiwiYm9lcnNlbnplaXR1bmciOiJ3aWRnZXRfdXNlcl90b2tlbi1ib2Vyc2VuemVpdHVuZyIsImxhaW5mb3JtYWNpb25jb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1sYWluZm9ybWFjaW9uY29tIiwibWFyY29wb2xvY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1tYXJjb3BvbG9jb21iciIsIm1lcmNhZG9maW5hbmNpZXJvY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tbWVyY2Fkb2ZpbmFuY2llcm9jb20iLCJtb2V4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tbW9leCIsIm1vbmV5dGltZXNjb21iciI6IndpZGdldF91c2VyX3Rva2VuLW1vbmV5dGltZXNjb21iciIsIm1vbml0b3Jkb21lcmNhZG9EIjoid2lkZ2V0X3VzZXJfdG9rZW4tbW9uaXRvcmRvbWVyY2Fkb0QiLCJteW5ldGNvbSI6IndpZGdldF91c2VyX3Rva2VuLW15bmV0Y29tIiwibmVnb2Npb3MiOiJ3aWRnZXRfdXNlcl90b2tlbi1uZWdvY2lvcyIsIk5HWCI6IndpZGdldF91c2VyX3Rva2VuLU5HWCIsIk5vdGljaWFzYWdyaWNvbGFEIjoid2lkZ2V0X3VzZXJfdG9rZW4tbm90aWNpYXNhZ3JpY29sYUQiLCJub21tb21hIjoid2lkZ2V0X3VzZXJfdG9rZW4tbm9tbW9tYSIsIm5zZWNva3IiOiJ3aWRnZXRfdXNlcl90b2tlbi1uc2Vjb2tyIiwib2tkaWFyaW8iOiJ3aWRnZXRfdXNlcl90b2tlbi1va2RpYXJpbyIsInBhbmFmcmljYW5yZXNvdXJjZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1wYW5hZnJpY2FucmVzb3VyY2VzY29tIiwicHNlIjoid2lkZ2V0X3VzZXJfdG9rZW4tcHNlIiwicG9kZXIzNjAiOiJ3aWRnZXRfdXNlcl90b2tlbi1wb2RlcjM2MCIsInBzZUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1wc2VEIiwicml5YWRoY2FwaXRhbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1yaXlhZGhjYXBpdGFsRCIsInJpeWFkaGNhcGl0YWxSVCI6IndpZGdldF91c2VyX3Rva2VuLXJpeWFkaGNhcGl0YWxSVCIsInFlY29tcWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1xZWNvbXFhIiwic2Ftb2xldCI6IndpZGdldF91c2VyX3Rva2VuLXNhbW9sZXQiLCJzZWVpbmdtYWNoaW5lc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXNlZWluZ21hY2hpbmVzY29tIiwic2V1ZGluaGVpcm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1zZXVkaW5oZWlybyIsInNvZnR3YXJlYWciOiJ3aWRnZXRfdXNlcl90b2tlbi1zb2Z0d2FyZWFnIiwic29nZWNsYWlyIjoid2lkZ2V0X3VzZXJfdG9rZW4tc29nZWNsYWlyIiwic2djb21wYW55aXQiOiJ3aWRnZXRfdXNlcl90b2tlbi1zZ2NvbXBhbnlpdCIsInNoYXJlanVuY3Rpb24iOiJ3aWRnZXRfdXNlcl90b2tlbi1zaGFyZWp1bmN0aW9uIiwic21hcnRsYWItY3VzdG9tIjoid2lkZ2V0X3VzZXJfdG9rZW4tc21hcnRsYWIiLCJzbWFydGxhYiI6IndpZGdldF91c2VyX3Rva2VuLXNtYXJ0bGFiIiwic3BhY2Vtb25leWNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3BhY2Vtb25leWNvbWJyIiwic3RvbmV4d2RnIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3RvbmV4wqMtIXd3dy5zdG9uZXguY29tIiwic3RveGlvIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3RveGlvIiwic3RvbmV4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tc3RvbmV4IiwidG9yb2ludmVzdGltZW50b3Njb20iOiJ3aWRnZXRfdXNlcl90b2tlbi10b3JvaW52ZXN0aW1lbnRvc2NvbSIsInRoZWNzZWNvbSI6IndpZGdldF91c2VyX3Rva2VuLXRoZWNzZWNvbSIsInRyYWRlcnNjbHViYnJhc2lsIjoid2lkZ2V0X3VzZXJfdG9rZW4tdHJhZGVyc2NsdWJicmFzaWwiLCJ0cmFkZXJzY2x1YmJyYXNpbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi10cmFkZXJzY2x1YmJyYXNpbEQiLCJ0cmFkaW5ndmlldyI6IndpZGdldF91c2VyX3Rva2VuLXRyYWRpbmd2aWV3IiwieHRvb2xzIjoid2lkZ2V0X3VzZXJfdG9rZW4teHRvb2xzIiwidHdpdHRlciI6IndpZGdldF91c2VyX3Rva2VuLXR3aXR0ZXIiLCJ2ZWxvY2l0eWNvbXBvc2l0ZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi12ZWxvY2l0eWNvbXBvc2l0ZXNjb20iLCJ2b2Nlc2FhYnJpbGNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tdm9jZXNhYWJyaWxjb21iciIsIndlYWx0aHNpbXBsZSI6IndpZGdldF91c2VyX3Rva2VuLXdlYWx0aHNpbXBsZcKjLSFteS53ZWFsdGhzaW1wbGUuY29tIiwid29ybGRjaGVzc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXdvcmxkY2hlc3Njb20iLCJ4Q3J0eUprc3AiOiJ3aWRnZXRfdXNlcl90b2tlbi14Q3J0eUprc3AiLCJ4cGljb21iciI6IndpZGdldF91c2VyX3Rva2VuLXhwaWNvbWJyIn0nKQp9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/13148.32cc01dc01751b91682c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.186Z","timestamp":1785120634186,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/13148.32cc01dc01751b91682c.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"6a06d56c-12cc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 15 May 2026 08:12:28 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.53\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/15/2026 10:19:05\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a66a353837918c0849cf8cfd479c0aea\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4812,"size_decoded":2619,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3061)","md5":"9eb8a2729659cd900aee823198b62b43","sha1":"27c53602ca760b97d71eef345b01c1d537900aad","sha256":"3ac4b66b0a6823b837035a5dfdf7fe41b01ccf2a2ac115b143c12356080ebdac","sha512":"6c86fb2c2378e589f4353d32a048ae866196581fc0a8a7ed13c379eb47eab41fcbfc0ee44f3ffe77ff3800136be1da4fbfecfe3456524b96712a1e5cef42945f","ssdeep":"96:FRi/jMMHFeHojARuZi0DWss7UebYiWWD+WRdiaEBymSM0qRIv0nrWvW1HN6Fb0so:rEjMMlIeARmLWss77bJWWD+WRd8ymSM9","tlshash":"66a1e987b9c2f0a063d9aca5953b054ae23d6c1c711bf0e8e2e9d5d19c7b10b9112f36","first_seen":"2026-05-15T11:49:16.287975Z","last_seen":"2026-07-27T05:15:36.991702Z","times_seen":3715,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMTMxNDhdLHs3MzU5ODModCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5kfSk7Y29uc3Qgbz1mdW5jdGlvbigpe3RoaXMuX19kYXRhX189W10sdGhpcy5zaXplPTB9O3ZhciByPW4oOTEwNzc4KTtjb25zdCBhPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXQubGVuZ3RoO24tLTspaWYoKDAsci5kZWZhdWx0KSh0W25dWzBdLGUpKXJldHVybiBuO3JldHVybi0xfTt2YXIgcz1BcnJheS5wcm90b3R5cGUuc3BsaWNlO2NvbnN0IGM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fX2RhdGFfXyxuPWEoZSx0KTtyZXR1cm4hKG48MCkmJihuPT1lLmxlbmd0aC0xP2UucG9wKCk6cy5jYWxsKGUsbiwxKSwtLXRoaXMuc2l6ZSwhMCl9O2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fX2RhdGFfXyxuPWEoZSx0KTtyZXR1cm4gbjwwP3ZvaWQgMDplW25dWzFdfTtjb25zdCB1PWZ1bmN0aW9uKHQpe3JldHVybiBhKHRoaXMuX19kYXRhX18sdCk+LTF9O2NvbnN0IGw9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLl9fZGF0YV9fLG89YShuLHQpO3JldHVybiBvPDA/KCsrdGhpcy5zaXplLG4ucHVzaChbdCxlXSkpOm5bb11bMV09ZSx0aGlzfTtmdW5jdGlvbiBmKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgbz10W2VdO3RoaXMuc2V0KG9bMF0sb1sxXSl9fWYucHJvdG90eXBlLmNsZWFyPW8sZi5wcm90b3R5cGUuZGVsZXRlPWMsZi5wcm90b3R5cGUuZ2V0PWksZi5wcm90b3R5cGUuaGFzPXUsZi5wcm90b3R5cGUuc2V0PWw7Y29uc3QgZD1mfSw2OTQyMSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbz1uKDE2MjMxNikscj1uKDk4MTUyMyk7Y29uc3QgYT0oMCxvLmRlZmF1bHQpKHIuZGVmYXVsdCwiTWFwIil9LDcxMzE0OCh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pnp9KTtjb25zdCBvPSgwLG4oMTYyMzE2KS5kZWZhdWx0KShPYmplY3QsImNyZWF0ZSIpO2NvbnN0IHI9ZnVuY3Rpb24oKXt0aGlzLl9fZGF0YV9fPW8/byhudWxsKTp7fSx0aGlzLnNpemU9MH07Y29uc3QgYT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmhhcyh0KSYmZGVsZXRlIHRoaXMuX19kYXRhX19bdF07cmV0dXJuIHRoaXMuc2l6ZS09ZT8xOjAsZX07dmFyIHM9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBjPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX187aWYobyl7dmFyIG49ZVt0XTtyZXR1cm4iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI9PT1uP3ZvaWQgMDpufXJldHVybiBzLmNhbGwoZSx0KT9lW3RdOnZvaWQgMH07dmFyIGk9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCB1PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX187cmV0dXJuIG8/dm9pZCAwIT09ZVt0XTppLmNhbGwoZSx0KX07Y29uc3QgbD1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuX19kYXRhX187cmV0dXJuIHRoaXMuc2l6ZSs9dGhpcy5oYXModCk/MDoxLG5bdF09byYmdm9pZCAwPT09ZT8iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI6ZSx0aGlzfTtmdW5jdGlvbiBmKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgbz10W2VdO3RoaXMuc2V0KG9bMF0sb1sxXSl9fWYucHJvdG90eXBlLmNsZWFyPXIsZi5wcm90b3R5cGUuZGVsZXRlPWEsZi5wcm90b3R5cGUuZ2V0PWMsZi5wcm90b3R5cGUuaGFzPXUsZi5wcm90b3R5cGUuc2V0PWw7Y29uc3QgZD1mO3ZhciBfPW4oNzM1OTgzKSxoPW4oNjk0MjEpO2NvbnN0IHA9ZnVuY3Rpb24oKXt0aGlzLnNpemU9MCx0aGlzLl9fZGF0YV9fPXtoYXNoOm5ldyBkLG1hcDpuZXcoaC5kZWZhdWx0fHxfLmRlZmF1bHQpLHN0cmluZzpuZXcgZH19O2NvbnN0IHY9ZnVuY3Rpb24odCl7dmFyIGU9dHlwZW9mIHQ7cmV0dXJuInN0cmluZyI9PWV8fCJudW1iZXIiPT1lfHwic3ltYm9sIj09ZXx8ImJvb2xlYW4iPT1lPyJfX3Byb3RvX18iIT09dDpudWxsPT09dH07Y29uc3QgeT1mdW5jdGlvbih0LGUpe3ZhciBuPXQuX19kYXRhX187cmV0dXJuIHYoZSk/blsic3RyaW5nIj09dHlwZW9mIGU/InN0cmluZyI6Imhhc2giXTpuLm1hcH07Y29uc3QgZz1mdW5jdGlvbih0KXt2YXIgZT15KHRoaXMsdCkuZGVsZXRlKHQpO3JldHVybiB0aGlzLnNpemUtPWU/MTowLGV9O2NvbnN0IGI9ZnVuY3Rpb24odCl7cmV0dXJuIHkodGhpcyx0KS5nZXQodCl9O2NvbnN0IGo9ZnVuY3Rpb24odCl7cmV0dXJuIHkodGhpcyx0KS5oYXModCl9O2NvbnN0IE89ZnVuY3Rpb24odCxlKXt2YXIgbj15KHRoaXMsdCksbz1uLnNpemU7cmV0dXJuIG4uc2V0KHQsZSksdGhpcy5zaXplKz1uLnNpemU9PW8/MDoxLHRoaXN9O2Z1bmN0aW9uIHcodCl7dmFyIGU9LTEsbj1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK2U8bjspe3ZhciBvPXRbZV07dGhpcy5zZXQob1swXSxvWzFdKX19dy5wcm90b3R5cGUuY2xlYXI9cCx3LnByb3RvdHlwZS5kZWxldGU9Zyx3LnByb3RvdHlwZS5nZXQ9Yix3LnByb3RvdHlwZS5oYXM9aix3LnByb3RvdHlwZS5zZXQ9Tztjb25zdCB6PXd9LDg3Mjk5OSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTtjb25zdCBvPW4oOTgxNTIzKS5kZWZhdWx0LlN5bWJvbH0sMTc4NDk3KHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+ZH0pO3ZhciBvPW4oODcyOTk5KSxyPU9iamVjdC5wcm90b3R5cGUsYT1yLmhhc093blByb3BlcnR5LHM9ci50b1N0cmluZyxjPW8uZGVmYXVsdD9vLmRlZmF1bHQudG9TdHJpbmdUYWc6dm9pZCAwO2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9YS5jYWxsKHQsYyksbj10W2NdO3RyeXt0W2NdPXZvaWQgMDt2YXIgbz0hMH1jYXRjaCh0KXt9dmFyIHI9cy5jYWxsKHQpO3JldHVybiBvJiYoZT90W2NdPW46ZGVsZXRlIHRbY10pLHJ9O3ZhciB1PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7Y29uc3QgbD1mdW5jdGlvbih0KXtyZXR1cm4gdS5jYWxsKHQpfQo7dmFyIGY9by5kZWZhdWx0P28uZGVmYXVsdC50b1N0cmluZ1RhZzp2b2lkIDA7Y29uc3QgZD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD92b2lkIDA9PT10PyJbb2JqZWN0IFVuZGVmaW5lZF0iOiJbb2JqZWN0IE51bGxdIjpmJiZmIGluIE9iamVjdCh0KT9pKHQpOmwodCl9fSw2MDI5NDIodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5vfSk7Y29uc3Qgbz0ib2JqZWN0Ij09dHlwZW9mIG4uZyYmbi5nJiZuLmcuT2JqZWN0PT09T2JqZWN0JiZuLmd9LDE2MjMxNih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pmd9KTt2YXIgbz1uKDkyODEzMik7Y29uc3Qgcj1uKDk4MTUyMykuZGVmYXVsdFsiX19jb3JlLWpzX3NoYXJlZF9fIl07dmFyIGEscz0oYT0vW14uXSskLy5leGVjKHImJnIua2V5cyYmci5rZXlzLklFX1BST1RPfHwiIikpPyJTeW1ib2woc3JjKV8xLiIrYToiIjtjb25zdCBjPWZ1bmN0aW9uKHQpe3JldHVybiEhcyYmcyBpbiB0fTt2YXIgaT1uKDg4MDExNSksdT1uKDczMDUwMyksbD0vXlxbb2JqZWN0IC4rP0NvbnN0cnVjdG9yXF0kLyxmPUZ1bmN0aW9uLnByb3RvdHlwZSxkPU9iamVjdC5wcm90b3R5cGUsXz1mLnRvU3RyaW5nLGg9ZC5oYXNPd25Qcm9wZXJ0eSxwPVJlZ0V4cCgiXiIrXy5jYWxsKGgpLnJlcGxhY2UoL1tcXF4kLiorPygpW1xde318XS9nLCJcXCQmIikucmVwbGFjZSgvaGFzT3duUHJvcGVydHl8KGZ1bmN0aW9uKS4qPyg/PVxcXCgpfCBmb3IgLis/KD89XFxcXSkvZywiJDEuKj8iKSsiJCIpO2NvbnN0IHY9ZnVuY3Rpb24odCl7cmV0dXJuISghKDAsaS5kZWZhdWx0KSh0KXx8Yyh0KSkmJigoMCxvLmRlZmF1bHQpKHQpP3A6bCkudGVzdCgoMCx1LmRlZmF1bHQpKHQpKX07Y29uc3QgeT1mdW5jdGlvbih0LGUpe3JldHVybiBudWxsPT10P3ZvaWQgMDp0W2VdfTtjb25zdCBnPWZ1bmN0aW9uKHQsZSl7dmFyIG49eSh0LGUpO3JldHVybiB2KG4pP246dm9pZCAwfX0sOTgxNTIzKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBvPW4oNjAyOTQyKSxyPSJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZiYmc2VsZi5PYmplY3Q9PT1PYmplY3QmJnNlbGY7Y29uc3QgYT1vLmRlZmF1bHR8fHJ8fEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCl9LDczMDUwMyh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgbz1GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmc7Y29uc3Qgcj1mdW5jdGlvbih0KXtpZihudWxsIT10KXt0cnl7cmV0dXJuIG8uY2FsbCh0KX1jYXRjaCh0KXt9dHJ5e3JldHVybiB0KyIifWNhdGNoKHQpe319cmV0dXJuIiJ9fSw5MTA3NzgodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5vfSk7Y29uc3Qgbz1mdW5jdGlvbih0LGUpe3JldHVybiB0PT09ZXx8dCE9dCYmZSE9ZX19LDkyODEzMih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbz1uKDE3ODQ5Nykscj1uKDg4MDExNSk7Y29uc3QgYT1mdW5jdGlvbih0KXtpZighKDAsci5kZWZhdWx0KSh0KSlyZXR1cm4hMTt2YXIgZT0oMCxvLmRlZmF1bHQpKHQpO3JldHVybiJbb2JqZWN0IEZ1bmN0aW9uXSI9PWV8fCJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSI9PWV8fCJbb2JqZWN0IEFzeW5jRnVuY3Rpb25dIj09ZXx8IltvYmplY3QgUHJveHldIj09ZX19LDg4MDExNSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTtjb25zdCBvPWZ1bmN0aW9uKHQpe3ZhciBlPXR5cGVvZiB0O3JldHVybiBudWxsIT10JiYoIm9iamVjdCI9PWV8fCJmdW5jdGlvbiI9PWUpfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/20354.2ddf934f8edc2802d90a.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.836Z","timestamp":1785120634836,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/20354.2ddf934f8edc2802d90a.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"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://247optiontradefx.com/","date":"2026-07-27T02:50:39.401Z","timestamp":1785120639401,"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://247optiontradefx.com\r\nSec-WebSocket-Protocol: actioncable-v1-json, actioncable-unsupported\r\nSec-WebSocket-Extensions: permessage-deflate\r\nSec-WebSocket-Key: cthZkBayXo8DbMmICRXdLA==\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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"wss","addr":"wss://websocket-visitors.smartsupp.com/socket/?EIO=3\u0026transport=websocket","fqdn":"websocket-visitors.smartsupp.com","domain":"smartsupp.com","tld":"com"},"ip":{"addr":"18.195.200.162","port":443,"asn":16509,"as":"AMAZON-02","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"websocket","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:43.595Z","timestamp":1785120643595,"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://247optiontradefx.com\r\nSec-WebSocket-Extensions: permessage-deflate\r\nSec-WebSocket-Key: vdZHgWZzTRmVZRuwqHalFg==\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 02:50:43 GMT\r\nConnection: upgrade\r\nUpgrade: websocket\r\nSec-WebSocket-Accept: /4OqZBIZq0gH3JGGLOazv/fiVkA=\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-07-27T05:14:11.3544Z","times_seen":17556491,"resource_available":true,"data":""}},"time_used":225,"timings":{"blocked":0,"dns":81,"connect":98,"send":0,"wait":22,"receive":0,"ssl":24},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/img/header_bg.jpg","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.441Z","timestamp":1785120633441,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /img/header_bg.jpg HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: image/jpeg\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-4f1be\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":324030,"size_decoded":321584,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, resolution (DPI), density 96x96, segment length 16, baseline, precision 8, 1910x1000, components 3","md5":"d1106d680b9d879ace8e10d190d31ffa","sha1":"2513123b655399ee364ac43a2c693fd0e7c9d9c6","sha256":"0442b16d386acc6bca906a7415eddbc390a594ce69ec851c16cde1acc576dfe9","sha512":"78683af5a7aa0b8d07efd9962459f3651c577f60f84cfb09ceff5d1543ddc59cba453c927e6c67c19021ee9bc0d6359554d0e08bde06dbd8f7b239eb444680ff","ssdeep":"6144:EKLu2lsywX1HpoTUQArEgVpShJp/oarXksiNIwfbO+tTmmNxcLh7CYT4D:EW5wxSUTVpShfTcNIwfbO+p1eLh7Na","tlshash":"f26423d1175db26edb203ebb96bf1c599176b8882878c64984c5f4bfff841c8630658c","first_seen":"2024-08-19T19:07:47.878011Z","last_seen":"2026-07-27T02:59:54.597218Z","times_seen":14,"resource_available":false,"data":"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"}},"time_used":135,"timings":{"blocked":47,"dns":0,"connect":0,"send":0,"wait":32,"receive":56,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/css/style.css","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:32.887Z","timestamp":1785120632887,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /css/style.css HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:32 GMT\r\nContent-Type: text/css\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-17156\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":94550,"size_decoded":19200,"mime_type":"text/css","magic":"ASCII text","md5":"56229c337cc49151fa20294fa1ff39e8","sha1":"cc40a1315b23c2268310aa700ba32a9f22c73973","sha256":"aa25758df80ed4314fd20a1690063fa70e9ad6e9e9cf46b1bd6eef242b43b10f","sha512":"c0cb3649849d3f8a34707606235589608bc391380f167e560c9c66c78fa4104c121c5fc4214881f159b2007acbdc2d555150386dc26d684b8101475b267797de","ssdeep":"768:IwIGAQXTUSfT3Vm3VsN+fIHa+HAaA+1YZBMhFqFeF0ul1DOEiXhNYLjWP2t9V60F:N4MRU8poZXsE4i0B","tlshash":"3b9310a78ba711017827d4892fe89b8533754003d91ace6dbbedb10cef5c9e461e276c","first_seen":"2026-07-27T02:45:25.242966Z","last_seen":"2026-07-27T02:59:54.646558Z","times_seen":4,"resource_available":false,"data":"aW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLAppbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24gewogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICBtYXJnaW46IDA7Cn0KCmlucHV0W3R5cGU9J251bWJlciddIHsKICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOwp9CgovKgp0aW5jIHByb2plY3QgYnVpbGRlcgpzdHlsZUZpbGUgY3JlYXRlIG9uIDI3LjA3LjIwMTggMDk6MTM6NTQgLS0tCiovCiogewogIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsKICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfQogICo6YmVmb3JlLCAqOmFmdGVyIHsKICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH0KCmJvZHkgewogIGZvbnQtZmFtaWx5OiAiTW9udHNlcnJhdCI7CiAgcGFkZGluZzogMHB4OwogIG1hcmdpbjogMHB4IGF1dG87CiAgbWF4LXdpZHRoOiAxOTIwcHg7CiAgbWluLXdpZHRoOiAxMjAwcHg7CiAgbGluZS1oZWlnaHQ6IDE7IH0KICBib2R5IC5ib2R5V3JhcCB7CiAgICBvdmVyZmxvdzogaGlkZGVuOyB9CgouY29udGFpbmVyIHsKICB3aWR0aDogMTIwMHB4OwogIHBhZGRpbmc6IDBweCAxNXB4OwogIG1hcmdpbjogMCBhdXRvOyB9IAogIAogLnNwYWNle21hcmdpbi10b3A6MTBweH0KCi5jb250YWluZXJTTSB7CiAgd2lkdGg6IDcxNXB4OwogIHBhZGRpbmc6IDBweCA2MHB4OwogIG1hcmdpbjogMCBhdXRvOyB9CgpwLApoMSwKaDIsCmgzLApoNCwKaDUsCmg2IHsKICBtYXJnaW46IDBweDsgfQoKdWwgewogIG1hcmdpbjogMHB4OwogIHBhZGRpbmc6IDBweDsKICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH0KCmEgewogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zczsKICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zczsKICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7CiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzOwogIG9wYWNpdHk6IDE7IH0KICBhOmhvdmVyIHsKICAgIG9wYWNpdHk6IDAuNzsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfQoKc2VsZWN0LAppbnB1dCwKdGV4dGFyZWEgewogIHdpZHRoOiAxMDAlOwogIC13ZWJraXQtb3V0bGluZTogbm9uZTsKICAtbW96LW91dGxpbmU6IG5vbmU7CiAgb3V0bGluZTogbm9uZTsKICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7CiAgLW1vei1ib3gtc2hhZG93OiBub25lOwogIGJveC1zaGFkb3c6IG5vbmU7CiAgYm9yZGVyOiBub25lOwogIGZvbnQtZmFtaWx5OiAiTW9udHNlcnJhdCI7IH0KCi5pbnZpc0xpbmsgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB6LWluZGV4OiAxOyB9CiAgLmludmlzTGluayBhIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogMDsKICAgIHRvcDogMDsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgei1pbmRleDogNzsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB0ZXh0LWluZGVudDogMjAwJTsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH0KCi5pY29uTGVmdCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfQogIC5pY29uTGVmdCA+IFtjbGFzcyo9Imljb24iXSB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogNTAlOwogICAgbGVmdDogMDsgfQoKaHRtbDpub3QoLklFKSAuZ3JhZFR4dCB7CiAgYmFja2dyb3VuZDogIzAwOWNmZjsKICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjMDA5Y2ZmIDAlLCAjMWZlMTk1IDEwMCUpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICMwMDljZmYgMCUsICMxZmUxOTUgMTAwJSk7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMDA5Y2ZmIDAlLCAjMWZlMTk1IDEwMCUpOwogIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0OwogIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDsgfQpodG1sLklFIC5ncmFkVHh0IHsKICBjb2xvcjogIzAwOWNmZjsgfQoKLmhlYWRpbmcgewogIGRpc3BsYXk6IGJsb2NrOwogIHRleHQtYWxpZ246IHJpZ2h0OwogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgZm9udC1zaXplOiA0MHB4OwogIGxpbmUtaGVpZ2h0OiAxOwogIGNvbG9yOiB3aGl0ZTsKICBmb250LXdlaWdodDogODAwOwogIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtOyB9CgpbY2xhc3MqPSJjYXB0aW9uIl0gewogIGRpc3BsYXk6IGJsb2NrOwogIGZvbnQtc2l6ZTogMzBweDsKICBmb250LXdlaWdodDogYm9sZDsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtOyB9CiAgW2NsYXNzKj0iY2FwdGlvbiJdW2NsYXNzKj0iRGFyayJdIHsKICAgIGNvbG9yOiAjMjAyYjJmOyB9CiAgW2NsYXNzKj0iY2FwdGlvbiJdW2NsYXNzKj0iTGlnaHQiXSB7CiAgICBjb2xvcjogd2hpdGU7IH0KICBbY2xhc3MqPSJjYXB0aW9uIl0uY2VudGVyIHsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfQoKLm1haW5UaXRsZSB7CiAgZGlzcGxheTogYmxvY2s7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgZm9udC1zaXplOiAzMHB4OwogIGxpbmUtaGVpZ2h0OiAxOwogIGNvbG9yOiAjMjAyYjJmOwogIGZvbnQtd2VpZ2h0OiBib2xkOwogIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtOyB9Cgouc3VidGl0bGUgewogIGRpc3BsYXk6IGJsb2NrOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGZvbnQtc2l6ZTogMjBweDsKICBsaW5lLWhlaWdodDogMTsKICBjb2xvcjogIzIwMmIyZjsKICBmb250LXdlaWdodDogYm9sZDsKICBsZXR0ZXItc3BhY2luZzogMC4wMjVlbTsgfQoKc3Bhbi5jb2xvcjEgewogIGNvbG9yOiAjM2M5ZWYxOyB9CgpzcGFuLmNvbG9yMiB7CiAgY29sb3I6ICM0NGQyOWQ7IH0KCi5ncmFkQmFjayB7CiAgYmFja2dyb3VuZDogIzAwOWNmZjsKICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjMDA5Y2ZmIDAlLCAjMWZlMTk1IDEwMCUpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICMwMDljZmYgMCUsICMxZmUxOTUgMTAwJSk7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMDA5Y2ZmIDAlLCAjMWZlMTk1IDEwMCUpOyB9CgouZ3JhZEltZzo6YmVmb3JlIHsKICBjb250ZW50OiAnJzsKICBkaXNwbGF5OiBibG9jazsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2lkdGg6IDE5MjBweDsKICBoZWlnaHQ6IDk1M3B4OwogIGJvdHRvbTogMDsKICBsZWZ0OiA1MCU7CiAgbWFyZ2luLWxlZnQ6IC05NjBweDsKICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2dyYWRfYmcucG5nKTsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgYm90dG9tOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgei1pbmRleDogLTE7IH0KCi5jaXJjbGVCZyB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGJvdHRvbTogMHB4OwogIGxlZnQ6IDUwJTsKICB3aWR0aDogMTA3MHB4OwogIGhlaWdodDogNTY1cHg7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICB6LWluZGV4OiAtMTsgfQogIC5jaXJjbGVCZyAuY2lyY2xlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMTAwcHg7CiAgICBsZWZ0OiAxMDBweDsKICAgIHdpZHRoOiA4NzBweDsKICAgIGhlaWdodDogODcwcHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjEpOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDUwJTsKICAgIC1tcy1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICB6LWluZGV4OiAtMTsgfQogICAgLmNpcmNsZUJnIC5jaXJjbGU6OmJlZm9yZSB7CiAgICAgIGNvbnRlbnQ6ICcnOwogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICB3aWR0aDogY2FsYygxMDAlICsgMjAwcHgpOwogICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDIwMHB4KTsKICAgICAgdG9wOiAtMTAwcHg7CiAgICAgIGxlZnQ6IC0xMDBweDsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIxKTsKICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAtbXMtYm9yZGVyLXJhZGl1czogNTAlOwogICAgICBib3JkZXItcmFkaXVzOiA1MCU7IH0KCi5ncmV5SW1nUmV2OjpiZWZvcmUgewogIGNvbnRlbnQ6ICcnOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBkaXNwbGF5OiBibG9jazsKICB0b3A6IDBweDsKICBsZWZ0OiA1MCU7CiAgbWFyZ2luLWxlZnQ6IC05NjBweDsKICB3aWR0aDogMTkyMHB4OwogIGhlaWdodDogMTA3MXB4OwogIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvZ3JleV9iZ19yZXYucG5nKTsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdG9wOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgei1pbmRleDogLTE7IH0KCi5sb2dvIHsKICB3aWR0aDogMTgwcHg7CiAgZm9udC1zaXplOiAwOwogIG9wYWNpdHk6IDE7CiAgY3Vyc29yOiBwb2ludGVyOwogIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzOwogIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzOwogIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4zczsKICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7IH0KICAubG9nbzpob3ZlciB7CiAgICBvcGFjaXR5OiAwLjc7IH0KICAubG9nbyAudHh0IHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH0KICAgIC5sb2dvIC50eHQgc3BhbiB7CiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgZGlzcGxheTogYmxvY2s7IH0KICAgIC5sb2dvIC50eHQgc3BhbjpmaXJzdC1jaGlsZCB7CiAgICAgIGZvbnQtc2l6ZTogNTBweDsKICAgICAgbGluZS1oZWlnaHQ6IDQ4cHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7CiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07IH0KICAgIC5sb2dvIC50eHQgc3BhbjpsYXN0LWNoaWxkIHsKICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICBsaW5lLWhlaWdodDogNnB4OwogICAgICBmb250LXdlaWdodDogNTAwOwogICAgICBsZXR0ZXItc3BhY2luZzogMC4zNWVtOyB9CiAgLmxvZ28gaW1nIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHBhZGRpbmctdG9wOiA3cHg7IH0KICAubG9nby5iaWcgewogICAgd2lkdGg6IDMyNXB4OyB9CiAgICAubG9nby5iaWcgLnR4dCBzcGFuIHsKICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgIGNvbG9yOiB3aGl0ZTsgfQogICAgICAubG9nby5iaWcgLnR4dCBzcGFuOmZpcnN0LWNoaWxkIHsKICAgICAgICBmb250LXNpemU6IDkwcHg7IH0KICAgICAgLmxvZ28uYmlnIC50eHQgc3BhbjpsYXN0LWNoaWxkIHsKICAgICAgICBmb250LXNpemU6IDIycHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDExcHg7IH0KICAgIC5sb2dvLmJpZyBpbWcgewogICAgICBwYWRkaW5nLXRvcDogMTVweDsgfQoKW2NsYXNzKj0ic29jQ29udCJdIHsKICBmb250LXNpemU6IDA7IH0KICBbY2xhc3MqPSJzb2NDb250Il0gW2NsYXNzKj0iaWNvbi0iXSB7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBsaW5lLWhlaWdodDogMzJweDsKICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICB3aWR0aDogMzJweDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNTAlOwogICAgLW1vei1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICAtbXMtYm9yZGVyLXJhZGl1czogNTAlOwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzOwogICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7CiAgICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7CiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7IH0KICAgIFtjbGFzcyo9InNvY0NvbnQiXSBbY2xhc3MqPSJpY29uLSJdOmhvdmVyIHsKICAgICAgb3BhY2l0eTogMC43OyB9CiAgW2NsYXNzKj0ic29jQ29udCJdIHNwYW4gKyBzcGFuIHsKICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9CiAgW2NsYXNzKj0ic29jQ29udCJdW2NsYXNzKj0iSGVhZCJdIFtjbGFzcyo9Imljb24tIl0gewogICAgY29sb3I6ICMyMDJiMmY7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJmMmY2OyB9CiAgW2NsYXNzKj0ic29jQ29udCJdW2NsYXNzKj0iRm9vdCJdIFtjbGFzcyo9Imljb24tIl0gewogICAgY29sb3I6IHdoaXRlOwogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzUsIDI0MiwgMjQ2LCAwLjIxKTsgfQoKLnBhZ2luYXRpb24gewogIGZvbnQtc2l6ZTogMDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KICAucGFnaW5hdGlvbiBzcGFuIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTsKICAgIC1tb3otYm9yZGVyLXJhZGl1czogNTAlOwogICAgLW1zLWJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfQogICAgLnBhZ2luYXRpb24gc3Bhbi5jb250cm9scyB7CiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgd2lkdGg6IDQycHg7CiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjOWQzZGI7CiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAxMXB4IHJnYmEoMCwgMCwgMCwgMC4xMSk7CiAgICAgIC1tb3otYm94LXNoYWRvdzogMHB4IDBweCAxMXB4IHJnYmEoMCwgMCwgMCwgMC4xMSk7CiAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMTFweCByZ2JhKDAsIDAsIDAsIDAuMTEpOwogICAgICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDAuM3M7CiAgICAgIC1tb3otdHJhbnNpdGlvbjogY29sb3IgMC4zczsKICAgICAgLW8tdHJhbnNpdGlvbjogY29sb3IgMC4zczsKICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zczsgfQogICAgICAucGFnaW5hdGlvbiBzcGFuLmNvbnRyb2xzIGEgewogICAgICAgIGZvbnQtc2l6ZTogMzBweDsKICAgICAgICBsaW5lLWhlaWdodDogNDJweDsKICAgICAgICBjb2xvcjogIzIwMmIyZjsKICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9CiAgICAgICAgLnBhZ2luYXRpb24gc3Bhbi5jb250cm9scyBhOmhvdmVyIHsKICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgICBjb2xvcjogd2hpdGU7IH0KICAucGFnaW5hdGlvbiBsaSB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDUwJTsKICAgIC1tcy1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7IH0KICAgIC5wYWdpbmF0aW9uIGxpIGEgewogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgZm9udC1zaXplOiAxN3B4OwogICAgICBsaW5lLWhlaWdodDogNDJweDsKICAgICAgY29sb3I6ICMyMDJiMmY7CiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDAuM3M7CiAgICAgIC1tb3otdHJhbnNpdGlvbjogY29sb3IgMC4zczsKICAgICAgLW8tdHJhbnNpdGlvbjogY29sb3IgMC4zczsKICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zczsgfQogICAgICAucGFnaW5hdGlvbiBsaSBhOmhvdmVyIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIGNvbG9yOiB3aGl0ZTsgfQogIC5wYWdpbmF0aW9uIHVsLnBhZ2VOdW0gewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgbWFyZ2luOiAwIDE4cHg7CiAgICBmb250LXNpemU6IDA7IH0KICAgIC5wYWdpbmF0aW9uIHVsLnBhZ2VOdW0gbGkgewogICAgICB3aWR0aDogNDJweDsKICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDExcHggcmdiYSgwLCAwLCAwLCAwLjExKTsKICAgICAgLW1vei1ib3gtc2hhZG93OiAwcHggMHB4IDExcHggcmdiYSgwLCAwLCAwLCAwLjExKTsKICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAxMXB4IHJnYmEoMCwgMCwgMCwgMC4xMSk7CiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzOwogICAgICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zczsKICAgICAgLW8tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzOwogICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7IH0KICAgICAgLnBhZ2luYXRpb24gdWwucGFnZU51bSBsaS5hY3RpdmUgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZWRmOTg7IH0KICAgICAgICAucGFnaW5hdGlvbiB1bC5wYWdlTnVtIGxpLmFjdGl2ZSBhIHsKICAgICAgICAgIGNvbG9yOiB3aGl0ZTsgfQogICAgICAucGFnaW5hdGlvbiB1bC5wYWdlTnVtIGxpOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWVkZjk4OyB9CiAgICAgIC5wYWdpbmF0aW9uIHVsLnBhZ2VOdW0gbGkgKyBsaSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDE4cHg7IH0KCltjbGFzcyo9ImJ0bkZpbGwiXSB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGN1cnNvcjogcG9pbnRlcjsKICBwYWRkaW5nOiAwOwogIGJvcmRlcjogMHB4OwogIGJhY2tncm91bmQ6IG5vbmU7CiAgb3V0bGluZTogbm9uZTsKICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDBweDsKICAtbW96LWJvcmRlci1yYWRpdXM6IDBweDsKICAtbXMtYm9yZGVyLXJhZGl1czogMHB4OwogIGJvcmRlci1yYWRpdXM6IDBweDsKICBmb250LWZhbWlseTogIk1vbnRzZXJyYXQiOwogIGNvbG9yOiB3aGl0ZTsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgb3BhY2l0eTogMTsKICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zczsKICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zczsKICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7CiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzOyB9CiAgW2NsYXNzKj0iYnRuRmlsbCJdLmNlbnRlciB7CiAgICBkaXNwbGF5OiB0YWJsZTsKICAgIG1hcmdpbjogMCBhdXRvOyB9CiAgW2NsYXNzKj0iYnRuRmlsbCJdOmhvdmVyIHsKICAgIG9wYWNpdHk6IDAuNzsgfQogIFtjbGFzcyo9ImJ0bkZpbGwiXVtjbGFzcyo9IkNvbG9yIl1bY2xhc3MqPSJMZyJdIHsKICAgIHBhZGRpbmc6IDAgNDhweDsgfQogIFtjbGFzcyo9ImJ0bkZpbGwiXVtjbGFzcyo9IkNvbG9yIl1bY2xhc3MqPSJNZCJdIHsKICAgIHBhZGRpbmc6IDBweCAyMHB4OyB9CiAgW2NsYXNzKj0iYnRuRmlsbCJdW2NsYXNzKj0iQ29sb3IiXVtjbGFzcyo9Ikljb24iXSB7CiAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9CiAgICBbY2xhc3MqPSJidG5GaWxsIl1bY2xhc3MqPSJDb2xvciJdW2NsYXNzKj0iSWNvbiJdIC5pY29uTGVmdCB7CiAgICAgIHBhZGRpbmctbGVmdDogNTBweDsgfQogICAgICBbY2xhc3MqPSJidG5GaWxsIl1bY2xhc3MqPSJDb2xvciJdW2NsYXNzKj0iSWNvbiJdIC5pY29uTGVmdCBbY2xhc3MqPSJpY29uIl0gewogICAgICAgIGZvbnQtc2l6ZTogMjhweDsKICAgICAgICBtYXJnaW4tdG9wOiAtMTRweDsgfQogIFtjbGFzcyo9ImJ0bkZpbGwiXVtjbGFzcyo9IkNvbG9yMSJdIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMzYzllZjE7IH0KICBbY2xhc3MqPSJidG5GaWxsIl1bY2xhc3MqPSJDb2xvcjIiXSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDRkMjlkOyB9CiAgW2NsYXNzKj0iYnRuRmlsbCJdW2NsYXNzKj0iQ29sb3JNaWQiXSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTFjMGM1OyB9CiAgW2NsYXNzKj0iYnRuRmlsbCJdW2NsYXNzKj0iR3JhZCJdIHsKICAgIGJhY2tncm91bmQ6ICMwMDljZmY7CiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjMDA5Y2ZmIDAlLCAjMWZlMTk1IDEwMCUpOwogICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgIzAwOWNmZiAwJSwgIzFmZTE5NSAxMDAlKTsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzAwOWNmZiAwJSwgIzFmZTE5NSAxMDAlKTsgfQogICAgW2NsYXNzKj0iYnRuRmlsbCJdW2NsYXNzKj0iR3JhZCJdW2NsYXNzKj0iTGciXSB7CiAgICAgIHBhZGRpbmc6IDBweCA2MHB4OyB9CiAgICBbY2xhc3MqPSJidG5GaWxsIl1bY2xhc3MqPSJHcmFkIl1bY2xhc3MqPSJNZCJdIHsKICAgICAgcGFkZGluZzogMHB4IDMzcHg7IH0KICBbY2xhc3MqPSJidG5GaWxsIl1bY2xhc3MqPSJEYXJrIl0gewogICAgYmFja2dyb3VuZC1jb2xvcjogIzIwMmIyZjsgfQogICAgW2NsYXNzKj0iYnRuRmlsbCJdW2NsYXNzKj0iRGFyayJdW2NsYXNzKj0iTGciXSB7CiAgICAgIHBhZGRpbmc6IDBweCA2MHB4OyB9CiAgICBbY2xhc3MqPSJidG5GaWxsIl1bY2xhc3MqPSJEYXJrIl1bY2xhc3MqPSJNZCJdIHsKICAgICAgbWluLXdpZHRoOiAyMDdweDsgfQogIFtjbGFzcyo9ImJ0bkZpbGwiXVtjbGFzcyo9IkxnIl0gewogICAgbGluZS1oZWlnaHQ6IDU5cHg7CiAgICBmb250LXNpemU6IDE3cHg7CiAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAzMHB4OwogICAgLW1vei1ib3JkZXItcmFkaXVzOiAzMHB4OwogICAgLW1zLWJvcmRlci1yYWRpdXM6IDMwcHg7CiAgICBib3JkZXItcmFkaXVzOiAzMHB4OwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDIxcHggcmdiYSgwLCAwLCAwLCAwLjIxKTsKICAgIC1tb3otYm94LXNoYWRvdzogMHB4IDBweCAyMXB4IHJnYmEoMCwgMCwgMCwgMC4yMSk7CiAgICBib3gtc2hhZG93OiAwcHggMHB4IDIxcHggcmdiYSgwLCAwLCAwLCAwLjIxKTsgfQogIFtjbGFzcyo9ImJ0bkZpbGwiXVtjbGFzcyo9Ik1kIl0gewogICAgbGluZS1oZWlnaHQ6IDQ2cHg7CiAgICBmb250LXNpemU6IDE1cHg7CiAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAyM3B4OwogICAgLW1vei1ib3JkZXItcmFkaXVzOiAyM3B4OwogICAgLW1zLWJvcmRlci1yYWRpdXM6IDIzcHg7CiAgICBib3JkZXItcmFkaXVzOiAyM3B4OwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDIxcHggcmdiYSgwLCAwLCAwLCAwLjIxKTsKICAgIC1tb3otYm94LXNoYWRvdzogMHB4IDBweCAyMXB4IHJnYmEoMCwgMCwgMCwgMC4yMSk7CiAgICBib3gtc2hhZG93OiAwcHggMHB4IDIxcHggcmdiYSgwLCAwLCAwLCAwLjIxKTsgfQogIFtjbGFzcyo9ImJ0bkZpbGwiXVtjbGFzcyo9IlNtIl0gewogICAgbWluLXdpZHRoOiAxMDNweDsKICAgIHBhZGRpbmc6IDAgMjBweDsKICAgIGxpbmUtaGVpZ2h0OiAzMnB4OwogICAgZm9udC1zaXplOiAxMnB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDE2cHg7CiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDE2cHg7CiAgICAtbXMtYm9yZGVyLXJhZGl1czogMTZweDsKICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7IH0KCi5idG5zV3JhcCB7CiAgZm9udC1zaXplOiAwOyB9CiAgLmJ0bnNXcmFwIFtjbGFzcyo9ImJ0bkZpbGwiXSArIFtjbGFzcyo9ImJ0bkZpbGwiXSB7CiAgICBtYXJnaW4tbGVmdDogMzdweDsgfQoKLnRleHRCbG9jayBwIHsKICBmb250LXNpemU6IDE0cHg7CiAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgY29sb3I6ICMyMDJiMmY7CiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICBsZXR0ZXItc3BhY2luZzogMC4wMjVlbTsgfQogIC50ZXh0QmxvY2sgcCArIHAgewogICAgbWFyZ2luLXRvcDogMzBweDsgfQogIC50ZXh0QmxvY2sgcCArIC5pbWcgewogICAgbWFyZ2luLXRvcDogODBweDsgfQogICAgLnRleHRCbG9jayBwICsgLmltZyArIHAgewogICAgICBtYXJnaW4tdG9wOiA3NXB4OyB9CiAgICAgIC50ZXh0QmxvY2sgcCArIC5pbWcgKyBwIH4gcCB7CiAgICAgICAgbWFyZ2luLXRvcDogNjVweDsgfQogIC50ZXh0QmxvY2sgcCBhIHsKICAgIGNvbG9yOiAjM2M5ZWYxOwogICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH0KICAgIC50ZXh0QmxvY2sgcCBhOmhvdmVyIHsKICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9CiAgLnRleHRCbG9jayBwICsgdWwgewogICAgbWFyZ2luLXRvcDogMzBweDsgfQoudGV4dEJsb2NrIC5sZWZ0IHsKICBmbG9hdDogbGVmdDsKICBtYXJnaW4tcmlnaHQ6IDU1cHg7IH0KLnRleHRCbG9jayAucmlnaHQgewogIGZsb2F0OiByaWdodDsKICBtYXJnaW4tbGVmdDogNTVweDsgfQoudGV4dEJsb2NrOjphZnRlciB7CiAgY29udGVudDogIiAiOwogIGRpc3BsYXk6IGJsb2NrOwogIGNsZWFyOiBib3RoOyB9Ci50ZXh0QmxvY2sgPiAuaW1nIHsKICB3aWR0aDogNDY5cHg7CiAgaGVpZ2h0OiAzMjVweDsKICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOwogIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogIGJvcmRlcjogN3B4IHNvbGlkIHdoaXRlOwogIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAyOXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjExKTsKICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggMjlweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4xMSk7CiAgYm94LXNoYWRvdzogMHB4IDBweCAyOXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjExKTsgfQoudGV4dEJsb2NrIHVsIGxpIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgcGFkZGluZy1sZWZ0OiAyNXB4OwogIGZvbnQtc2l6ZTogMTdweDsKICBsaW5lLWhlaWdodDogMzBweDsKICBjb2xvcjogIzIwMmIyZjsKICBmb250LXdlaWdodDogbm9ybWFsOwogIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtOyB9CiAgLnRleHRCbG9jayB1bCBsaTo6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICcnOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDE0cHg7CiAgICBsZWZ0OiAzcHg7CiAgICB3aWR0aDogOHB4OwogICAgaGVpZ2h0OiA4cHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDRkMjlkOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDUwJTsKICAgIC1tcy1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7IH0KICAudGV4dEJsb2NrIHVsIGxpICsgbGkgewogICAgbWFyZ2luLXRvcDogMTBweDsgfQoKW2NsYXNzKj0iZm9ybUJsb2NrIl0gewogIHBvc2l0aW9uOiByZWxhdGl2ZTsgfQogIFtjbGFzcyo9ImZvcm1CbG9jayJdW2NsYXNzKj0iTGlnaHQiXSBsYWJlbCB7CiAgICBjb2xvcjogd2hpdGU7IH0KICBbY2xhc3MqPSJmb3JtQmxvY2siXVtjbGFzcyo9IkxpZ2h0Il0gaW5wdXRbdHlwZT0idGV4dCJdLAogIFtjbGFzcyo9ImZvcm1CbG9jayJdW2NsYXNzKj0iTGlnaHQiXSBpbnB1dFt0eXBlPSJudW1iZXIiXSwKICBbY2xhc3MqPSJmb3JtQmxvY2siXVtjbGFzcyo9IkxpZ2h0Il0gaW5wdXRbdHlwZT0icGFzc3dvcmQiXSwKICBbY2xhc3MqPSJmb3JtQmxvY2siXVtjbGFzcyo9IkxpZ2h0Il0gaW5wdXRbdHlwZT0iZW1haWwiXSwKICBbY2xhc3MqPSJmb3JtQmxvY2siXVtjbGFzcyo9IkxpZ2h0Il0gaW5wdXRbdHlwZT0idXJsIl0sCiAgW2NsYXNzKj0iZm9ybUJsb2NrIl1bY2xhc3MqPSJMaWdodCJdIHRleHRhcmVhLAogIFtjbGFzcyo9ImZvcm1CbG9jayJdW2NsYXNzKj0iTGlnaHQiXSAuc2VsZWN0cmljIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zMyk7CiAgICBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZTsgfQogIFtjbGFzcyo9ImZvcm1CbG9jayJdW2NsYXNzKj0iTGlnaHQiXSAuc2VsZWN0cmljLWl0ZW1zIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOwogICAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7IH0KICBbY2xhc3MqPSJmb3JtQmxvY2siXVtjbGFzcyo9IkxpZ2h0Il0gaW5wdXQsCiAgW2NsYXNzKj0iZm9ybUJsb2NrIl1bY2xhc3MqPSJMaWdodCJdIHRleHRhcmVhIHsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzOwogICAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7CiAgICAtby10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7IH0KICAgIFtjbGFzcyo9ImZvcm1CbG9jayJdW2NsYXNzKj0iTGlnaHQiXSBpbnB1dDpmb2N1cywKICAgIFtjbGFzcyo9ImZvcm1CbG9jayJdW2NsYXNzKj0iTGlnaHQiXSB0ZXh0YXJlYTpmb2N1cyB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9CiAgW2NsYXNzKj0iZm9ybUJsb2NrIl1bY2xhc3MqPSJEYXJrIl0gbGFiZWwgewogICAgY29sb3I6ICMyMDJiMmY7IH0KICBbY2xhc3MqPSJmb3JtQmxvY2siXVtjbGFzcyo9IkRhcmsiXSBpbnB1dFt0eXBlPSJ0ZXh0Il0sCiAgW2NsYXNzKj0iZm9ybUJsb2NrIl1bY2xhc3MqPSJEYXJrIl0gaW5wdXRbdHlwZT0ibnVtYmVyIl0sCiAgW2NsYXNzKj0iZm9ybUJsb2NrIl1bY2xhc3MqPSJEYXJrIl0gaW5wdXRbdHlwZT0icGFzc3dvcmQiXSwKICBbY2xhc3MqPSJmb3JtQmxvY2siXVtjbGFzcyo9IkRhcmsiXSBpbnB1dFt0eXBlPSJlbWFpbCJdLAogIFtjbGFzcyo9ImZvcm1CbG9jayJdW2NsYXNzKj0iRGFyayJdIGlucHV0W3R5cGU9InVybCJdLAogIFtjbGFzcyo9ImZvcm1CbG9jayJdW2NsYXNzKj0iRGFyayJdIHRleHRhcmVhLAogIFtjbGFzcyo9ImZvcm1CbG9jayJdW2NsYXNzKj0iRGFyayJdIC5zZWxlY3RyaWMgewogICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZWRmNDsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNkM2Q5ZGY7IH0KICBbY2xhc3MqPSJmb3JtQmxvY2siXVtjbGFzcyo9IkRhcmsiXSAuc2VsZWN0cmljLWl0ZW1zIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmVkZjQ7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDNkOWRmOyB9CiAgW2NsYXNzKj0iZm9ybUJsb2NrIl0gbGFiZWwgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBwYWRkaW5nLWxlZnQ6IDNweDsKICAgIGZvbnQtc2l6ZTogMTVweDsKICAgIGxpbmUtaGVpZ2h0OiAyNHB4OwogICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH0KICAgIFtjbGFzcyo9ImZvcm1CbG9jayJdIGxhYmVsLmNlbnRlciB7CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfQogICAgW2NsYXNzKj0iZm9ybUJsb2NrIl0gbGFiZWwgKyBpbnB1dFt0eXBlPSJ0ZXh0Il0sIFtjbGFzcyo9ImZvcm1CbG9jayJdIGxhYmVsICsgaW5wdXRbdHlwZT0ibnVtYmVyIl0sIFtjbGFzcyo9ImZvcm1CbG9jayJdIGxhYmVsICsgaW5wdXRbdHlwZT0icGFzc3dvcmQiXSwgW2NsYXNzKj0iZm9ybUJsb2NrIl0gbGFiZWwgKyBpbnB1dFt0eXBlPSJlbWFpbCJdLCBbY2xhc3MqPSJmb3JtQmxvY2siXSBsYWJlbCArIGlucHV0W3R5cGU9InVybCJdLCBbY2xhc3MqPSJmb3JtQmxvY2siXSBsYWJlbCArIHRleHRhcmVhIHsKICAgICAgbWFyZ2luLXRvcDogMTJweDsgfQogIFtjbGFzcyo9ImZvcm1CbG9jayJdIGlucHV0W3R5cGU9InRleHQiXSwKICBbY2xhc3MqPSJmb3JtQmxvY2siXSBpbnB1dFt0eXBlPSJudW1iZXIiXSwKICBbY2xhc3MqPSJmb3JtQmxvY2siXSBpbnB1dFt0eXBlPSJwYXNzd29yZCJdLAogIFtjbGFzcyo9ImZvcm1CbG9jayJdIGlucHV0W3R5cGU9ImVtYWlsIl0sCiAgW2NsYXNzKj0iZm9ybUJsb2NrIl0gaW5wdXRbdHlwZT0idXJsIl0sCiAgW2NsYXNzKj0iZm9ybUJsb2NrIl0gdGV4dGFyZWEgewogICAgd2lkdGg6IDEwMCU7CiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7CiAgICBwYWRkaW5nLXJpZ2h0OiAzNXB4OwogICAgZm9udC1zaXplOiAxNXB4OwogICAgY29sb3I6IGJsYWNrOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAyM3B4OwogICAgLW1vei1ib3JkZXItcmFkaXVzOiAyM3B4OwogICAgLW1zLWJvcmRlci1yYWRpdXM6IDIzcHg7CiAgICBib3JkZXItcmFkaXVzOiAyM3B4OwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwcHggM3B4IDdweCByZ2JhKDAsIDAsIDAsIDAuMDcpOwogICAgLW1vei1ib3gtc2hhZG93OiBpbnNldCAwcHggM3B4IDdweCByZ2JhKDAsIDAsIDAsIDAuMDcpOwogICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IDNweCA3cHggcmdiYSgwLCAwLCAwLCAwLjA3KTsgfQogIFtjbGFzcyo9ImZvcm1CbG9jayJdIGlucHV0W3R5cGU9InRleHQiXSwKICBbY2xhc3MqPSJmb3JtQmxvY2siXSBpbnB1dFt0eXBlPSJudW1iZXIiXSwKICBbY2xhc3MqPSJmb3JtQmxvY2siXSBpbnB1dFt0eXBlPSJwYXNzd29yZCJdLAogIFtjbGFzcyo9ImZvcm1CbG9jayJdIGlucHV0W3R5cGU9ImVtYWlsIl0sCiAgW2NsYXNzKj0iZm9ybUJsb2NrIl0gaW5wdXRbdHlwZT0idXJsIl0gewogICAgaGVpZ2h0OiA0NnB4OwogICAgbGluZS1oZWlnaHQ6IDQ0cHg7IH0KICBbY2xhc3MqPSJmb3JtQmxvY2siXSB0ZXh0YXJlYSB7CiAgICBwYWRkaW5nLXRvcDogMTBweDsKICAgIHJlc2l6ZTogbm9uZTsKICAgIG92ZXJmbG93OiBoaWRkZW47IH0KICBbY2xhc3MqPSJmb3JtQmxvY2siXSAuc2VsZWN0cmljLXdyYXBwZXIgewogICAgbWFyZ2luLXRvcDogMTJweDsgfQogIFtjbGFzcyo9ImZvcm1CbG9jayJdIC5zZWxlY3RyaWMgewogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDQ2cHg7CiAgICBsaW5lLWhlaWdodDogNDRweDsKICAgIHBhZGRpbmctbGVmdDogMzBweDsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMjNweDsKICAgIC1tb3otYm9yZGVyLXJhZGl1czogMjNweDsKICAgIC1tcy1ib3JkZXItcmFkaXVzOiAyM3B4OwogICAgYm9yZGVyLXJhZGl1czogMjNweDsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMHB4IDNweCA3cHggcmdiYSgwLCAwLCAwLCAwLjA3KTsKICAgIC1tb3otYm94LXNoYWRvdzogaW5zZXQgMHB4IDNweCA3cHggcmdiYSgwLCAwLCAwLCAwLjA3KTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAzcHggN3B4IHJnYmEoMCwgMCwgMCwgMC4wNyk7IH0KICAgIFtjbGFzcyo9ImZvcm1CbG9jayJdIC5zZWxlY3RyaWMgLmxhYmVsIHsKICAgICAgbWFyZ2luOiAwOwogICAgICBoZWlnaHQ6IDQ2cHg7CiAgICAgIGZvbnQtZmFtaWx5OiAiTW9udHNlcnJhdCI7CiAgICAgIGZvbnQtc2l6ZTogMTVweDsKICAgICAgbGluZS1oZWlnaHQ6IDQ0cHg7CiAgICAgIGNvbG9yOiBibGFjazsKICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfQogICAgW2NsYXNzKj0iZm9ybUJsb2NrIl0gLnNlbGVjdHJpYyAuYnV0dG9uIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgIGJhY2tncm91bmQ6IG5vbmU7CiAgICAgIHRvcDogNTAlOwogICAgICByaWdodDogMjRweDsKICAgICAgd2lkdGg6IDlweDsKICAgICAgaGVpZ2h0OiA5cHg7CiAgICAgIG1hcmdpbi10b3A6IC02cHg7CiAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICMyMDJiMmY7CiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMjAyYjJmOwogICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsKICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7CiAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsKICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9CiAgICAgIFtjbGFzcyo9ImZvcm1CbG9jayJdIC5zZWxlY3RyaWMgLmJ1dHRvbjo6YWZ0ZXIgewogICAgICAgIGRpc3BsYXk6IG5vbmU7IH0KICBbY2xhc3MqPSJmb3JtQmxvY2siXSAuc2VsZWN0cmljLWl0ZW1zIHsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMjNweDsKICAgIC1tb3otYm9yZGVyLXJhZGl1czogMjNweDsKICAgIC1tcy1ib3JkZXItcmFkaXVzOiAyM3B4OwogICAgYm9yZGVyLXJhZGl1czogMjNweDsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMHB4IDNweCA3cHggcmdiYSgwLCAwLCAwLCAwLjA3KTsKICAgIC1tb3otYm94LXNoYWRvdzogaW5zZXQgMHB4IDNweCA3cHggcmdiYSgwLCAwLCAwLCAwLjA3KTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAzcHggN3B4IHJnYmEoMCwgMCwgMCwgMC4wNyk7CiAgICBvdmVyZmxvdzogaGlkZGVuOyB9CiAgICBbY2xhc3MqPSJmb3JtQmxvY2siXSAuc2VsZWN0cmljLWl0ZW1zIGxpIHsKICAgICAgcGFkZGluZzogMHB4OwogICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7CiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogICAgICBtaW4taGVpZ2h0OiA0NnB4OwogICAgICBmb250LXNpemU6IDE1cHg7CiAgICAgIGxpbmUtaGVpZ2h0OiA0NHB4OwogICAgICBjb2xvcjogYmxhY2s7CiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzOwogICAgICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zczsKICAgICAgLW8tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzOwogICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7IH0KICAgICAgW2NsYXNzKj0iZm9ybUJsb2NrIl0gLnNlbGVjdHJpYy1pdGVtcyBsaS5zZWxlY3RlZCB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0KICAgICAgW2NsYXNzKj0iZm9ybUJsb2NrIl0gLnNlbGVjdHJpYy1pdGVtcyBsaS5oaWdobGlnaHRlZCB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0KICAgICAgW2NsYXNzKj0iZm9ybUJsb2NrIl0gLnNlbGVjdHJpYy1pdGVtcyBsaTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjExKTsgfQogIFtjbGFzcyo9ImZvcm1CbG9jayJdID4gc3BhbiB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGJvdHRvbTogMHB4OwogICAgcmlnaHQ6IDIycHg7CiAgICBmb250LXNpemU6IDE1cHg7CiAgICBsaW5lLWhlaWdodDogNDZweDsKICAgIGNvbG9yOiAjMjAyYjJmOwogICAgZm9udC13ZWlnaHQ6IDYwMDsgfQogIFtjbGFzcyo9ImZvcm1CbG9jayJdID4gLnBheUltZyB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMzZweDsKICAgIGhlaWdodDogMzZweDsKICAgIHJpZ2h0OiA4cHg7CiAgICB0b3A6IDUwJTsKICAgIG1hcmdpbi10b3A6IC0xOHB4OwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDUwJTsKICAgIC1tcy1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOwogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOwogICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfQogIFtjbGFzcyo9ImZvcm1CbG9jayJdID4gW2NsYXNzKj0iaWNvbiJdIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGJvdHRvbTogMHB4OwogICAgcmlnaHQ6IDE5cHg7CiAgICBmb250LXNpemU6IDIxcHg7CiAgICBsaW5lLWhlaWdodDogNDZweDsKICAgIGNvbG9yOiAjMjAyYjJmOwogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfQogIFtjbGFzcyo9ImZvcm1CbG9jayJdID4gLmFyciB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGJvdHRvbTogMjBweDsKICAgIHJpZ2h0OiAyMXB4OwogICAgd2lkdGg6IDlweDsKICAgIGhlaWdodDogOXB4OwogICAgbWFyZ2luLXRvcDogLTZweDsKICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICMyMDJiMmY7CiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzIwMmIyZjsKICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOwogICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOwogICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOwogICAgY3Vyc29yOiBwb2ludGVyOyB9CgoudGFibGUgewogIGRpc3BsYXk6IHRhYmxlOyB9CiAgLnRhYmxlLmZ1bGwgewogICAgd2lkdGg6IDEwMCU7IH0KICAudGFibGUgLnRCb2R5IHsKICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfQogIC50YWJsZSAudFJvdyB7CiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH0KICAudGFibGUgLnRIZWFkIHsKICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfQogIC50YWJsZSAudENlbGwgewogICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9CiAgICAudGFibGUgLnRDZWxsLm1pZGRsZSB7CiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH0KICAgIC50YWJsZSAudENlbGwudG9wIHsKICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfQogICAgLnRhYmxlIC50Q2VsbC5ib3R0b20gewogICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyB9CiAgICAudGFibGUgLnRDZWxsLnJpZ2h0IHsKICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0KICAgIC50YWJsZSAudENlbGwubGVmdCB7CiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0KICAgIC50YWJsZSAudENlbGwuY2VudGVyIHsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9CgouY2ZpeDphZnRlciwKLnJvdzphZnRlciwKLmdyaWQ6YWZ0ZXIgewogIGNvbnRlbnQ6ICIgIjsKICBkaXNwbGF5OiBibG9jazsKICBjbGVhcjogYm90aDsgfQouY2ZpeDpiZWZvcmUsCi5yb3c6YmVmb3JlLAouZ3JpZDpiZWZvcmUgewogIGNvbnRlbnQ6ICIgIjsKICBkaXNwbGF5OiBibG9jazsKICBjbGVhcjogYm90aDsgfQouY2ZpeCA+IC5sZWZ0LCAuY2ZpeCA+IC5pdGVtLAoucm93ID4gLmxlZnQsCi5yb3cgPiAuaXRlbSwKLmdyaWQgPiAubGVmdCwKLmdyaWQgPiAuaXRlbSB7CiAgZmxvYXQ6IGxlZnQ7IH0KLmNmaXggPiAucmlnaHQsIC5jZml4ID4gLml0ZW0ucmlnaHQsCi5yb3cgPiAucmlnaHQsCi5yb3cgPiAuaXRlbS5yaWdodCwKLmdyaWQgPiAucmlnaHQsCi5ncmlkID4gLml0ZW0ucmlnaHQgewogIGZsb2F0OiByaWdodDsgfQouY2ZpeC5ub1BhZGQsCi5yb3cubm9QYWRkLAouZ3JpZC5ub1BhZGQgewogIG1hcmdpbjogMHB4OyB9CiAgLmNmaXgubm9QYWRkID4gLml0ZW0sCiAgLnJvdy5ub1BhZGQgPiAuaXRlbSwKICAuZ3JpZC5ub1BhZGQgPiAuaXRlbSB7CiAgICBwYWRkaW5nOiAwcHg7IH0KCi50ZXh0Q2VudGVyIHsKICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfQoKLnRleHRMZWZ0IHsKICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH0KCi50ZXh0UmlnaHQgewogIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH0KCi5ncmlkIHsKICBtYXJnaW46IC0zMHB4IC0xNXB4IDBweDsgfQogIC5ncmlkID4gLml0ZW0gewogICAgcGFkZGluZzogMzBweCAxNXB4IDBweDsgfQogIC5ncmlkLmJpZ1BhZGQgewogICAgbWFyZ2luOiAtNjBweCAtMzBweCAwcHg7IH0KICAgIC5ncmlkLmJpZ1BhZGQgPiAuaXRlbSB7CiAgICAgIHBhZGRpbmc6IDQwcHggMzBweCAwcHg7IH0KCi5yb3cgewogIG1hcmdpbi1sZWZ0OiAtMTVweDsKICBtYXJnaW4tcmlnaHQ6IC0xNXB4OyB9CiAgLnJvdyA+IC5pdGVtIHsKICAgIHBhZGRpbmctbGVmdDogMTVweDsKICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH0KICAucm93ID4gLnJpZ2h0LCAucm93ID4gLmxlZnQgewogICAgcGFkZGluZy1sZWZ0OiAxNXB4OwogICAgcGFkZGluZy1yaWdodDogMTVweDsgfQogIC5yb3cuYmlnUGFkZCB7CiAgICBtYXJnaW4tbGVmdDogLTMwcHg7CiAgICBtYXJnaW4tcmlnaHQ6IC0zMHB4OyB9CiAgICAucm93LmJpZ1BhZGQgPiAuaXRlbSB7CiAgICAgIHBhZGRpbmctbGVmdDogMzBweDsKICAgICAgcGFkZGluZy1yaWdodDogMzBweDsgfQogICAgLnJvdy5iaWdQYWRkID4gLnJpZ2h0LCAucm93LmJpZ1BhZGQgPiAubGVmdCB7CiAgICAgIG1hcmdpbi1sZWZ0OiAtMzBweDsKICAgICAgbWFyZ2luLXJpZ2h0OiAtMzBweDsgfQoKLmNvbDAgewogIHdpZHRoOiAwcHg7IH0KCi5jb2wxIHsKICB3aWR0aDogOC4zMzMzMzMzMzMzJTsgfQoKLmNvbDIgewogIHdpZHRoOiAxNi42NjY2NjY2NjY3JTsgfQoKLmNvbDJfNCB7CiAgd2lkdGg6IDIwJTsgfQoKLmNvbDMgewogIHdpZHRoOiAyNSU7IH0KCi5jb2w0IHsKICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7IH0KCi5jb2w1IHsKICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7IH0KCi5jb2w2IHsKICB3aWR0aDogNTAlOyB9CgouY29sNyB7CiAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlOyB9CgouY29sOCB7CiAgd2lkdGg6IDY2LjY2NjY2NjY2NjclOyB9CgouY29sOSB7CiAgd2lkdGg6IDc1JTsgfQoKLmNvbDEwIHsKICB3aWR0aDogODMuMzMzMzMzMzMzMyU7IH0KCi5jb2wxMSB7CiAgd2lkdGg6IDkxLjY2NjY2NjY2NjclOyB9CgouY29sMTIgewogIHdpZHRoOiAxMDAlOyB9CgoudG9wTGluZSB7CiAgcGFkZGluZy10b3A6IDI2cHg7CiAgbWluLWhlaWdodDogMTA4cHg7IH0KICAudG9wTGluZSAubG9nb1dyYXAgewogICAgd2lkdGg6IDE4MHB4OyB9CiAgICAudG9wTGluZSAubG9nb1dyYXAgLmxvZ28gewogICAgICBjb2xvcjogIzIwMmIyZjsgfQogIC50b3BMaW5lIC5sb2dSZWcgewogICAgd2lkdGg6IDQ0MHB4OwogICAgcGFkZGluZy10b3A6IDEwcHg7CiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9CiAgICAudG9wTGluZSAubG9nUmVnIGEgKyBhIHsKICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH0KICAudG9wTGluZSAuc29jQ29udEhlYWQgewogICAgd2lkdGg6IDIwNXB4OwogICAgdmVydGljYWwtYWxpZ246IHRvcDsKICAgIHBhZGRpbmctdG9wOiAxMHB4OyB9CiAgLnRvcExpbmUgLmxhbmcgewogICAgcGFkZGluZy10b3A6IDEwcHg7CiAgICBmb250LXNpemU6IDA7CiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9CiAgICAudG9wTGluZSAubGFuZyBhIHsKICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICB3aWR0aDogMzJweDsKICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgIC8qIC1tcy1ib3JkZXItcmFkaXVzOiA1MCU7ICovCiAgICAgIC8qIGJvcmRlci1yYWRpdXM6IDUwJTsgKi8KICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U2ZWVmMzsKICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOwogICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogICAgICBvcGFjaXR5OiAxOwogICAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zczsKICAgICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7CiAgICAgIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4zczsKICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzOwogICAgICBjdXJzb3I6IHBvaW50ZXI7IH0KICAgICAgLnRvcExpbmUgLmxhbmcgYTpob3ZlciB7CiAgICAgICAgb3BhY2l0eTogMC43OyB9CiAgICAudG9wTGluZSAubGFuZyBhICsgYSB7CiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9CiAgLnRvcExpbmUgLmNsb2NrIHsKICAgIHdpZHRoOiAyMTBweDsKICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7CiAgICBwYWRkaW5nLXRvcDogMTBweDsgfQogICAgLnRvcExpbmUgLmNsb2NrID4gKiB7CiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfQogICAgLnRvcExpbmUgLmNsb2NrIC50aW1lIHsKICAgICAgZm9udC1zaXplOiAzM3B4OwogICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtOyB9CiAgICAudG9wTGluZSAuY2xvY2sgLmRhdGUgewogICAgICBtYXJnaW4tbGVmdDogMTBweDsKICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgcGFkZGluZy1yaWdodDogM3B4OyB9CiAgICAgIC50b3BMaW5lIC5jbG9jayAuZGF0ZSBzcGFuIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsgfQogICAgICAudG9wTGluZSAuY2xvY2sgLmRhdGUgLmRheSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4OwogICAgICAgIGNvbG9yOiAjMjAyYjJmOwogICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH0KICAgICAgLnRvcExpbmUgLmNsb2NrIC5kYXRlIC55ZWFyIHsKICAgICAgICBmb250LXNpemU6IDE1cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgICAgY29sb3I6ICMyMDJiMmY7CiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07IH0KICAudG9wTGluZSAudXNlckJsb2NrIHsKICAgIHBhZGRpbmctdG9wOiAxMHB4OwogICAgd2lkdGg6IDIwNXB4OyB9CiAgICAudG9wTGluZSAudXNlckJsb2NrIC5pY29uTGVmdCB7CiAgICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICAgIHBhZGRpbmctbGVmdDogNTBweDsgfQogICAgICAudG9wTGluZSAudXNlckJsb2NrIC5pY29uTGVmdCAuaWNvbiB7CiAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIG1hcmdpbi10b3A6IC0xNnB4OwogICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOwogICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgLW1zLWJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7IH0KICAgICAgLnRvcExpbmUgLnVzZXJCbG9jayAuaWNvbkxlZnQgLmRhdGEgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBsaW5lLWhlaWdodDogMTdweDsKICAgICAgICBjb2xvcjogIzIwMmIyZjsKICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9CiAgICAgICAgLnRvcExpbmUgLnVzZXJCbG9jayAuaWNvbkxlZnQgLmRhdGEgc3BhbiB7CiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfQogICAgICAgIC50b3BMaW5lIC51c2VyQmxvY2sgLmljb25MZWZ0IC5kYXRhIGEgewogICAgICAgICAgY29sb3I6ICMyMDJiMmY7CiAgICAgICAgICBmb250LXdlaWdodDogNjAwOyB9CiAgLnRvcExpbmUgLmV4aXQgewogICAgcGFkZGluZy10b3A6IDEwcHg7CiAgICB3aWR0aDogMTYwcHg7IH0KCi5tZW51IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjAyYjJmOyB9CiAgLm1lbnUgdWwgewogICAgZm9udC1zaXplOiAwOyB9CiAgICAubWVudSB1bCBsaSB7CiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfQogICAgICAubWVudSB1bCBsaS5hY3RpdmUgYSB7CiAgICAgICAgY29sb3I6ICM0NGQyOWQ7IH0KICAgICAgLm1lbnUgdWwgbGkgKyBsaSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDQ4cHg7IH0KICAgIC5tZW51IHVsIGEgewogICAgICBmb250LXNpemU6IDE1cHg7CiAgICAgIGxpbmUtaGVpZ2h0OiA1MnB4OwogICAgICBjb2xvcjogd2hpdGU7CiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtOwogICAgICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDAuM3M7CiAgICAgIC1tb3otdHJhbnNpdGlvbjogY29sb3IgMC4zczsKICAgICAgLW8tdHJhbnNpdGlvbjogY29sb3IgMC4zczsKICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zczsKICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfQogICAgICAubWVudSB1bCBhOmhvdmVyIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIGNvbG9yOiAjNDRkMjlkOyB9Cgpmb290ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICMyMDJiMmY7CiAgcGFkZGluZzogNzBweCAwcHg7IH0KICBmb290ZXIgLmZvb3RDb2wgewogICAgZmxvYXQ6IGxlZnQ7CiAgICB3aWR0aDogMjUlOyB9CiAgZm9vdGVyIC5sb2dvIHsKICAgIGNvbG9yOiB3aGl0ZTsgfQogICAgZm9vdGVyIC5sb2dvICsgLnNvY0NvbnRGb290IHsKICAgICAgbWFyZ2luLXRvcDogNTBweDsgfQogICAgICBmb290ZXIgLmxvZ28gKyAuc29jQ29udEZvb3QgKyAuY29weXJpZ2h0IHsKICAgICAgICBtYXJnaW4tdG9wOiAyNXB4OyB9CiAgZm9vdGVyIC5jb3B5cmlnaHQgewogICAgZm9udC1zaXplOiAxNXB4OwogICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICBjb2xvcjogd2hpdGU7CiAgICBsZXR0ZXItc3BhY2luZzogMC4wMjVlbTsgfQogIGZvb3RlciAuZm9vdE1lbnUgewogICAgZmxvYXQ6IGxlZnQ7CiAgICB3aWR0aDogNTAlOwogICAgcGFkZGluZy1sZWZ0OiA0OHB4OyB9CiAgICBmb290ZXIgLmZvb3RNZW51IC5jb2wgewogICAgICB3aWR0aDogNTAlOwogICAgICBmbG9hdDogbGVmdDsgfQogICAgICBmb290ZXIgLmZvb3RNZW51IC5jb2wgKyAuY29sIHsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH0KICAgICAgZm9vdGVyIC5mb290TWVudSAuY29sIGxpIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAyM3B4OyB9CiAgICAgICAgZm9vdGVyIC5mb290TWVudSAuY29sIGxpLmFjdGl2ZSBhIHsKICAgICAgICAgIGNvbG9yOiAjNDRkMjlkOyB9CiAgICAgICAgZm9vdGVyIC5mb290TWVudSAuY29sIGxpOmJlZm9yZSB7CiAgICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgICBsZWZ0OiAwOwogICAgICAgICAgbWFyZ2luLXRvcDogLTRweDsKICAgICAgICAgIHdpZHRoOiA4cHg7CiAgICAgICAgICBoZWlnaHQ6IDhweDsKICAgICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgICAtbXMtYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ0ZDI5ZDsgfQogICAgICAgIGZvb3RlciAuZm9vdE1lbnUgLmNvbCBsaSBhIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDsKICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICAgICAgY29sb3I6IHdoaXRlOwogICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07CiAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDAuM3M7CiAgICAgICAgICAtbW96LXRyYW5zaXRpb246IGNvbG9yIDAuM3M7CiAgICAgICAgICAtby10cmFuc2l0aW9uOiBjb2xvciAwLjNzOwogICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zczsKICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH0KICAgICAgICAgIGZvb3RlciAuZm9vdE1lbnUgLmNvbCBsaSBhOmhvdmVyIHsKICAgICAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAgICAgY29sb3I6ICM0NGQyOWQ7IH0KICAgICAgICBmb290ZXIgLmZvb3RNZW51IC5jb2wgbGkgKyBsaSB7CiAgICAgICAgICBtYXJnaW4tdG9wOiAyNHB4OyB9CiAgZm9vdGVyIC5jb250IHsKICAgIHBhZGRpbmctbGVmdDogNjBweDsgfQogICAgZm9vdGVyIC5jb250IC50aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMTVweDsKICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgIGNvbG9yOiAjNDRkMjlkOwogICAgICBmb250LXdlaWdodDogNTAwOwogICAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtOwogICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9CiAgICAgIGZvb3RlciAuY29udCAudGl0bGUgKyAqIHsKICAgICAgICBtYXJnaW4tdG9wOiAzcHg7IH0KICAgIGZvb3RlciAuY29udCBwIHsKICAgICAgZm9udC1zaXplOiAxNXB4OwogICAgICBsaW5lLWhlaWdodDogMjRweDsKICAgICAgY29sb3I6IHdoaXRlOwogICAgICBsZXR0ZXItc3BhY2luZzogMC4wMjVlbTsgfQogICAgZm9vdGVyIC5jb250IC5saW5rIHsKICAgICAgZGlzcGxheTogdGFibGU7CiAgICAgIGZvbnQtc2l6ZTogMTVweDsKICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICAgIGNvbG9yOiAjM2M5ZWYxOwogICAgICBsZXR0ZXItc3BhY2luZzogMC4wMjVlbTsKICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgIG9wYWNpdHk6IDE7CiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzOwogICAgICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zczsKICAgICAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzOwogICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7IH0KICAgICAgZm9vdGVyIC5jb250IC5saW5rOmhvdmVyIHsKICAgICAgICBvcGFjaXR5OiAwLjc7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9CiAgICBmb290ZXIgLmNvbnQgKyAuY29udCB7CiAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH0KCi5tYWluQmFubmVyIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgcGFkZGluZzogOTVweCAwcHg7CiAgei1pbmRleDogMTsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdG9wOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH0KICAubWFpbkJhbm5lciAuY29udGVudCB7CiAgICB0ZXh0LWFsaWduOiByaWdodDsgfQogICAgLm1haW5CYW5uZXIgLmNvbnRlbnQgLmhlYWRpbmcgKyAqIHsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIG1hcmdpbi10b3A6IDEwcHg7CiAgICAgIGZvbnQtc2l6ZTogMzBweDsKICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7CiAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07CiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH0KICAgIC5tYWluQmFubmVyIC5jb250ZW50IC50ZXh0QmxvY2sgewogICAgICBtYXJnaW4tdG9wOiAzMHB4OwogICAgICBwYWRkaW5nLWxlZnQ6IDMyMHB4OyB9CiAgICAgIC5tYWluQmFubmVyIC5jb250ZW50IC50ZXh0QmxvY2sgcCB7CiAgICAgICAgY29sb3I6IHdoaXRlOyB9CiAgICAgIC5tYWluQmFubmVyIC5jb250ZW50IC50ZXh0QmxvY2sgKyBbY2xhc3MqPSJidG5GaWxsIl0gewogICAgICAgIG1hcmdpbi10b3A6IDQ1cHg7IH0KICAubWFpbkJhbm5lciAuY3VyUmF0ZSB7CiAgICBmbG9hdDogcmlnaHQ7CiAgICBtYXJnaW4tdG9wOiA3MHB4OyB9CiAgLm1haW5CYW5uZXIgLmhlYWRBZHYgewogICAgbWFyZ2luLXRvcDogNDVweDsgfQogIC5tYWluQmFubmVyIC5jaGFydCB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogNjE4cHg7CiAgICBoZWlnaHQ6IDM5OHB4OwogICAgcmlnaHQ6IDUwJTsKICAgIGJvdHRvbTogLTQ1cHg7CiAgICBtYXJnaW4tcmlnaHQ6IC01NTJweDsgfQogICAgLm1haW5CYW5uZXIgLmNoYXJ0OjpiZWZvcmUgewogICAgICBjb250ZW50OiAnJzsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgdG9wOiAtMzJweDsKICAgICAgbGVmdDogLTk3cHg7CiAgICAgIHdpZHRoOiA4MTNweDsKICAgICAgaGVpZ2h0OiA2NzNweDsKICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9jYXNlLnBuZyk7CiAgICAgIHotaW5kZXg6IC0xOyB9CiAgLm1haW5CYW5uZXIgKyAqIHsKICAgIHBhZGRpbmctdG9wOiAxOTBweDsgfQogIC5tYWluQmFubmVyIC5jaXJjbGVCZyB7CiAgICBtYXJnaW4tbGVmdDogLTI4MHB4OyB9CgouY3VyUmF0ZSB7CiAgcGFkZGluZzogMzVweCAyNXB4OwogIHdpZHRoOiAzMDhweDsKICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDIwcHg7CiAgLW1vei1ib3JkZXItcmFkaXVzOiAyMHB4OwogIC1tcy1ib3JkZXItcmFkaXVzOiAyMHB4OwogIGJvcmRlci1yYWRpdXM6IDIwcHg7CiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDI3cHggcmdiYSgwLCAwLCAwLCAwLjIxKTsKICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggMjdweCByZ2JhKDAsIDAsIDAsIDAuMjEpOwogIGJveC1zaGFkb3c6IDBweCAwcHggMjdweCByZ2JhKDAsIDAsIDAsIDAuMjEpOyB9CiAgLmN1clJhdGUgLml0ZW0gLmljb25MZWZ0IHsKICAgIHBhZGRpbmctbGVmdDogNThweDsgfQogICAgLmN1clJhdGUgLml0ZW0gLmljb25MZWZ0IFtjbGFzcyo9Imljb24tIl0gewogICAgICBmb250LXNpemU6IDQxcHg7CiAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICBjb2xvcjogIzIwMmIyZjsKICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICAgICAgbWFyZ2luLXRvcDogLTIxcHg7IH0KICAgIC5jdXJSYXRlIC5pdGVtIC5pY29uTGVmdCAuZGF0YSA+IHNwYW4gewogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICBsaW5lLWhlaWdodDogMjRweDsKICAgICAgY29sb3I6ICMyMDJiMmY7CiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH0KICAgIC5jdXJSYXRlIC5pdGVtIC5pY29uTGVmdCAuZGF0YSAuY29sb3IyIHsKICAgICAgY29sb3I6ICM0NGQyOWQ7IH0KICAuY3VyUmF0ZSAuaXRlbSArIC5pdGVtIHsKICAgIG1hcmdpbi10b3A6IDI0cHg7IH0KCi5oZWFkQWR2IHsKICB3aWR0aDogNDAwcHg7IH0KICAuaGVhZEFkdiB1bCBsaSB7CiAgICBwYWRkaW5nOiA2cHggMHB4OyB9CiAgICAuaGVhZEFkdiB1bCBsaTpiZWZvcmUgewogICAgICBjb250ZW50OiAiIjsKICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICBoZWlnaHQ6IDcycHg7CiAgICAgIHdpZHRoOiAwcHg7IH0KICAgIC5oZWFkQWR2IHVsIGxpIC5pY29uTGVmdCB7CiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEwcHgpOwogICAgICBwYWRkaW5nLWxlZnQ6IDg1cHg7IH0KICAgICAgLmhlYWRBZHYgdWwgbGkgLmljb25MZWZ0IFtjbGFzcyo9Imljb24tIl0gewogICAgICAgIGZvbnQtc2l6ZTogNDFweDsKICAgICAgICBsaW5lLWhlaWdodDogNzJweDsKICAgICAgICBjb2xvcjogIzIwMmIyZjsKICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgICAgIHdpZHRoOiA3MnB4OwogICAgICAgIG1hcmdpbi10b3A6IC0zNnB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzMpOwogICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIC1tcy1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOyB9CiAgICAgIC5oZWFkQWR2IHVsIGxpIC5pY29uTGVmdCAuZGF0YSB7CiAgICAgICAgZm9udC1zaXplOiAxN3B4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4OwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMjVlbTsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9CiAgICAuaGVhZEFkdiB1bCBsaSArIGxpIHsKICAgICAgbWFyZ2luLXRvcDogMzBweDsgfQogIC5oZWFkQWR2IHAgewogICAgbWFyZ2luLXRvcDogNDBweDsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIGxpbmUtaGVpZ2h0OiAzMHB4OwogICAgY29sb3I6IHdoaXRlOwogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtOyB9CiAgICAuaGVhZEFkdiBwIGIgewogICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9CgouYWJvdXQgewogIHBhZGRpbmctYm90dG9tOiA5MHB4OwogIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH0KICAuYWJvdXQgLmxlZnQgewogICAgd2lkdGg6IDQ3MnB4OyB9CiAgICAuYWJvdXQgLmxlZnQgW2NsYXNzKj0iY2FwdGlvbiJdICsgLmxpY2Vuc2UgewogICAgICBtYXJnaW4tdG9wOiA1NXB4OyB9CiAgLmFib3V0IC5yaWdodCB7CiAgICB3aWR0aDogNjQycHg7IH0KICAgIC5hYm91dCAucmlnaHQgLmJ0bnNXcmFwIHsKICAgICAgbWFyZ2luLXRvcDogNjVweDsgfQogIC5hYm91dCAuYWRkcmVzcyAuZGF0YSB7CiAgICBjb2xvcjogd2hpdGU7IH0KICAuYWJvdXQgLnRleHRCbG9jayBwIHsKICAgIGNvbG9yOiB3aGl0ZTsgfQoKLmxpY2Vuc2UgewogIGZvbnQtc2l6ZTogMDsgfQogIC5saWNlbnNlIC5pbWcgewogICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsKICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgICB3aWR0aDogMjIxcHg7CiAgICBoZWlnaHQ6IDMwM3B4OwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDI5cHggcmdiYSgwLCAwLCAwLCAwLjExKTsKICAgIC1tb3otYm94LXNoYWRvdzogMHB4IDBweCAyOXB4IHJnYmEoMCwgMCwgMCwgMC4xMSk7CiAgICBib3gtc2hhZG93OiAwcHggMHB4IDI5cHggcmdiYSgwLCAwLCAwLCAwLjExKTsgfQogICAgLmxpY2Vuc2UgLmltZyArIC5pbWcgewogICAgICBtYXJnaW4tbGVmdDogMjhweDsgfQogIC5saWNlbnNlICsgLmFkZHJlc3MgewogICAgbWFyZ2luLXRvcDogNjBweDsgfQoKLmFkZHJlc3MgewogIHdpZHRoOiAzMDBweDsgfQogIC5hZGRyZXNzIC5pY29uTGVmdCB7CiAgICBwYWRkaW5nLWxlZnQ6IDg1cHg7IH0KICAgIC5hZGRyZXNzIC5pY29uTGVmdCBbY2xhc3MqPSJpY29uLSJdIHsKICAgICAgZm9udC1zaXplOiA2MnB4OwogICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICAgICAgbWFyZ2luLXRvcDogLTMxcHg7IH0KICAuYWRkcmVzcyAuZGF0YSB7CiAgICBmb250LXNpemU6IDE1cHg7CiAgICBsaW5lLWhlaWdodDogMjJweDsKICAgIGNvbG9yOiAjMjAyYjJmOwogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtOyB9CgoucGxhbiB7CiAgcGFkZGluZzogODVweCAwcHggMTA1cHg7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGJvdHRvbTsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9CiAgLnBsYW4ucGFnZSB7CiAgICBwYWRkaW5nLXRvcDogMTA1cHg7IH0KICAucGxhbiAudGV4dEJsb2NrICsgW2NsYXNzKj0iY2FwdGlvbiJdIHsKICAgIG1hcmdpbi10b3A6IDg1cHg7IH0KICAucGxhbiBbY2xhc3MqPSJjYXB0aW9uIl0gKyAudGV4dEJsb2NrIHsKICAgIG1hcmdpbi10b3A6IDUwcHg7CiAgICBwYWRkaW5nOiAwcHggNDBweDsgfQogICAgLnBsYW4gW2NsYXNzKj0iY2FwdGlvbiJdICsgLnRleHRCbG9jayBwIHsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9CiAgLnBsYW4gLndyYXAgewogICAgbWFyZ2luLXRvcDogNjBweDsgfQoKW2NsYXNzKj0icGxhbkNhcmQiXSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHBhZGRpbmctdG9wOiA0MHB4OwogIG1pbi1oZWlnaHQ6IDUwNHB4OwogIHBhZGRpbmctbGVmdDogMjk1cHg7CiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMjdweCByZ2JhKDAsIDAsIDAsIDAuMjEpOwogIC1tb3otYm94LXNoYWRvdzogMHB4IDBweCAyN3B4IHJnYmEoMCwgMCwgMCwgMC4yMSk7CiAgYm94LXNoYWRvdzogMHB4IDBweCAyN3B4IHJnYmEoMCwgMCwgMCwgMC4yMSk7CiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAyMHB4OwogIC1tb3otYm9yZGVyLXJhZGl1czogMjBweDsKICAtbXMtYm9yZGVyLXJhZGl1czogMjBweDsKICBib3JkZXItcmFkaXVzOiAyMHB4OyB9CiAgW2NsYXNzKj0icGxhbkNhcmQiXVtjbGFzcyo9IkZpcnN0Il0gLmxlZnQgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzNjOWVmMTsgfQogIFtjbGFzcyo9InBsYW5DYXJkIl1bY2xhc3MqPSJGaXJzdCJdIC5pbmZvIGxpIHNwYW4gewogICAgY29sb3I6ICMzYzllZjE7IH0KICBbY2xhc3MqPSJwbGFuQ2FyZCJdW2NsYXNzKj0iU2Vjb25kIl0gLmxlZnQgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzQ0ZDI5ZDsgfQogIFtjbGFzcyo9InBsYW5DYXJkIl1bY2xhc3MqPSJTZWNvbmQiXSAuaW5mbyBsaSBzcGFuIHsKICAgIGNvbG9yOiAjNDRkMjlkOyB9CiAgW2NsYXNzKj0icGxhbkNhcmQiXSAubGVmdCB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDA7CiAgICBsZWZ0OiAwOwogICAgaGVpZ2h0OiAxMDAlOwogICAgd2lkdGg6IDI2NnB4OwogICAgcGFkZGluZy1sZWZ0OiAzNXB4OwogICAgcGFkZGluZy10b3A6IDQwcHg7CiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgYm90dG9tOwogICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfQogIFtjbGFzcyo9InBsYW5DYXJkIl0gLmNhcCB7CiAgICBmb250LXNpemU6IDMwcHg7CiAgICBsaW5lLWhlaWdodDogNDBweDsKICAgIGNvbG9yOiB3aGl0ZTsKICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH0KICBbY2xhc3MqPSJwbGFuQ2FyZCJdIC5kZXNjciB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiAyOHB4OwogICAgYm90dG9tOiAzMnB4OyB9CiAgICBbY2xhc3MqPSJwbGFuQ2FyZCJdIC5kZXNjciAucGN0IHsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIHBhZGRpbmctbGVmdDogNXB4OwogICAgICBmb250LXNpemU6IDYwcHg7CiAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICBjb2xvcjogd2hpdGU7CiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgICBsZXR0ZXItc3BhY2luZzogMC4wMjVlbTsgfQogICAgICBbY2xhc3MqPSJwbGFuQ2FyZCJdIC5kZXNjciAucGN0ICsgc3BhbiB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHBhZGRpbmctbGVmdDogNXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTdweDsKICAgICAgICBsaW5lLWhlaWdodDogNDBweDsKICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfQogICAgW2NsYXNzKj0icGxhbkNhcmQiXSAuZGVzY3IgW2NsYXNzKj0iYnRuRmlsbCJdIHsKICAgICAgbWFyZ2luLXRvcDogMjBweDsgfQogIFtjbGFzcyo9InBsYW5DYXJkIl0gLmluZm8gbGkgewogICAgZm9udC1zaXplOiAxNXB4OwogICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICBjb2xvcjogIzIwMmIyZjsKICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9CiAgICBbY2xhc3MqPSJwbGFuQ2FyZCJdIC5pbmZvIGxpIHNwYW4gewogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9CiAgICBbY2xhc3MqPSJwbGFuQ2FyZCJdIC5pbmZvIGxpICsgbGkgewogICAgICBtYXJnaW4tdG9wOiAyNXB4OyB9CiAgW2NsYXNzKj0icGxhbkNhcmQiXSAubm90ZXMgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogMjk1cHg7CiAgICBib3R0b206IDMwcHg7CiAgICBmb250LXNpemU6IDE1cHg7CiAgICBsaW5lLWhlaWdodDogMzBweDsKICAgIGNvbG9yOiAjMjAyYjJmOwogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtOyB9CiAgW2NsYXNzKj0icGxhbkNhcmQiXVtjbGFzcyo9IlNtIl0gewogICAgcGFkZGluZzogMHB4OwogICAgaGVpZ2h0OiAxNzJweDsKICAgIG1pbi1oZWlnaHQ6IDE3MnB4OwogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGJvdHRvbTsKICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH0KICAgIFtjbGFzcyo9InBsYW5DYXJkIl1bY2xhc3MqPSJTbSJdIC5jYXAgewogICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7IH0KICAgIFtjbGFzcyo9InBsYW5DYXJkIl1bY2xhc3MqPSJTbSJdIC5kZXNjciB7CiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7CiAgICAgIHBhZGRpbmctbGVmdDogNzVweDsgfQogICAgW2NsYXNzKj0icGxhbkNhcmQiXVtjbGFzcyo9IlNtIl1bY2xhc3MqPSJGaXJzdCJdIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNjOWVmMTsgfQogICAgW2NsYXNzKj0icGxhbkNhcmQiXVtjbGFzcyo9IlNtIl1bY2xhc3MqPSJTZWNvbmQiXSB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0NGQyOWQ7IH0KICBbY2xhc3MqPSJwbGFuQ2FyZCJdW2NsYXNzKj0iRGVwIl0gewogICAgcGFkZGluZy1sZWZ0OiAzMTRweDsKICAgIHBhZGRpbmctdG9wOiA0NHB4OyB9CiAgICBbY2xhc3MqPSJwbGFuQ2FyZCJdW2NsYXNzKj0iRGVwIl0gLmxlZnQgewogICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7CiAgICAgIHdpZHRoOiAyNzVweDsgfQogICAgW2NsYXNzKj0icGxhbkNhcmQiXVtjbGFzcyo9IkRlcCJdIC5kZXNjciB7CiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7CiAgICAgIG1hcmdpbi10b3A6IDhweDsgfQogICAgW2NsYXNzKj0icGxhbkNhcmQiXVtjbGFzcyo9IkRlcCJdIC5pbmZvIGxpIHsKICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07CiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyB9CiAgICAgIFtjbGFzcyo9InBsYW5DYXJkIl1bY2xhc3MqPSJEZXAiXSAuaW5mbyBsaSArIGxpIHsKICAgICAgICBtYXJnaW4tdG9wOiAxNHB4OyB9CiAgICAgIFtjbGFzcyo9InBsYW5DYXJkIl1bY2xhc3MqPSJEZXAiXSAuaW5mbyBsaSBiIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsgfQogICAgW2NsYXNzKj0icGxhbkNhcmQiXVtjbGFzcyo9IkRlcCJdIC5kZXBOb3RlIHsKICAgICAgbWFyZ2luLXRvcDogNTBweDsgfQogICAgICBbY2xhc3MqPSJwbGFuQ2FyZCJdW2NsYXNzKj0iRGVwIl0gLmRlcE5vdGUgbGkgLmljb25MZWZ0IHsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7IH0KICAgICAgICBbY2xhc3MqPSJwbGFuQ2FyZCJdW2NsYXNzKj0iRGVwIl0gLmRlcE5vdGUgbGkgLmljb25MZWZ0IFtjbGFzcyo9Imljb24iXSB7CiAgICAgICAgICBmb250LXNpemU6IDMycHg7CiAgICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgICAgICBtYXJnaW4tdG9wOiAtMTZweDsgfQogICAgICAgIFtjbGFzcyo9InBsYW5DYXJkIl1bY2xhc3MqPSJEZXAiXSAuZGVwTm90ZSBsaSAuaWNvbkxlZnQgLmRhdGEgewogICAgICAgICAgZm9udC1zaXplOiAxNXB4OwogICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9CiAgICAgICAgICBbY2xhc3MqPSJwbGFuQ2FyZCJdW2NsYXNzKj0iRGVwIl0gLmRlcE5vdGUgbGkgLmljb25MZWZ0IC5kYXRhIGIgewogICAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4OyB9CiAgICAgIFtjbGFzcyo9InBsYW5DYXJkIl1bY2xhc3MqPSJEZXAiXSAuZGVwTm90ZSBsaSArIGxpIHsKICAgICAgICBtYXJnaW4tdG9wOiAyNXB4OyB9CiAgW2NsYXNzKj0icGxhbkNhcmQiXSArIC5wcm9ncmVzc0JhciB7CiAgICBtYXJnaW4tdG9wOiAtMjJweDsgfQoKLnBsYW5Qcm9maXQgewogIHBhZGRpbmc6IDQwcHggMHB4IDYwcHg7IH0KICAucGxhblByb2ZpdCBbY2xhc3MqPSJmb3JtQmxvY2siXSB7CiAgICB3aWR0aDogMjY3cHg7CiAgICBmbG9hdDogbGVmdDsgfQogICAgLnBsYW5Qcm9maXQgW2NsYXNzKj0iZm9ybUJsb2NrIl0gKyBbY2xhc3MqPSJmb3JtQmxvY2siXSB7CiAgICAgIG1hcmdpbi1sZWZ0OiA2MHB4OyB9CiAgLnBsYW5Qcm9maXQgLnN1bSB7CiAgICBmbG9hdDogbGVmdDsKICAgIG1hcmdpbi1sZWZ0OiA4NXB4OyB9CiAgICAucGxhblByb2ZpdCAuc3VtID4gc3BhbiB7CiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9CiAgICAucGxhblByb2ZpdCAuc3VtIC50aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMTVweDsKICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH0KICAgIC5wbGFuUHJvZml0IC5zdW0gLm51bSB7CiAgICAgIG1hcmdpbi10b3A6IDEycHg7CiAgICAgIGZvbnQtc2l6ZTogMzBweDsKICAgICAgbGluZS1oZWlnaHQ6IDQ2cHg7CiAgICAgIGNvbG9yOiAjMjAyYjJmOwogICAgICBmb250LXdlaWdodDogYm9sZDsgfQogIC5wbGFuUHJvZml0IFtjbGFzcyo9ImJ0bkZpbGwiXSB7CiAgICBmbG9hdDogcmlnaHQ7CiAgICBtYXJnaW4tdG9wOiAzNXB4OyB9CgoucHJvZ3JhbSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHBhZGRpbmctdG9wOiAxMDBweDsKICB6LWluZGV4OiAxOyB9CiAgLnByb2dyYW0ucGFnZSB7CiAgICBwYWRkaW5nLWJvdHRvbTogOTBweDsgfQogICAgLnByb2dyYW0ucGFnZTphZnRlciB7CiAgICAgIGNvbnRlbnQ6ICIiOwogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICB0b3A6IDBweDsKICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzMDBweCk7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlZWYzOwogICAgICB6LWluZGV4OiAtMjsgfQogICAgLnByb2dyYW0ucGFnZS5ncmV5SW1nUmV2OjpiZWZvcmUgewogICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL21hcF9iZy5wbmcpIGNlbnRlciBjYWxjKDEwMCUgLSAyMzBweCkgbm8tcmVwZWF0LCB1cmwoLi4vaW1nL2dyZXlfYmdfcmV2XzIucG5nKSBjZW50ZXIgYm90dG9tIG5vLXJlcGVhdDsKICAgICAgYm90dG9tOiA1NDBweDsKICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA1NDBweCk7IH0KICAgIC5wcm9ncmFtLnBhZ2UuZ3JleUltZ1JldjphZnRlciB7CiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gODkwcHgpOyB9CiAgICAucHJvZ3JhbS5wYWdlIC5jaXJjbGVCZyB7CiAgICAgIGhlaWdodDogNTAwcHg7IH0KICAucHJvZ3JhbS5ncmV5SW1nUmV2OjpiZWZvcmUgewogICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9tYXBfYmcucG5nKSBjZW50ZXIgY2FsYygxMDAlIC0gMjU1cHgpIG5vLXJlcGVhdCwgdXJsKC4uL2ltZy9ncmV5X2JnX3Jldi5wbmcpIGNlbnRlciBib3R0b20gbm8tcmVwZWF0OwogICAgYm90dG9tOiA0NjFweDsKICAgIHRvcDogYXV0bzsKICAgIGhlaWdodDogY2FsYygxMDAlIC0gNDYxcHgpOyB9CiAgLnByb2dyYW0gW2NsYXNzKj0iY2FwdGlvbiJdICsgLndyYXAgewogICAgbWFyZ2luLXRvcDogNjBweDsgfQogICAgLnByb2dyYW0gW2NsYXNzKj0iY2FwdGlvbiJdICsgLndyYXAgKyAudGV4dEJsb2NrIHsKICAgICAgbWFyZ2luLXRvcDogNDBweDsgfQogICAgICAucHJvZ3JhbSBbY2xhc3MqPSJjYXB0aW9uIl0gKyAud3JhcCArIC50ZXh0QmxvY2sgKyBbY2xhc3MqPSJidG5GaWxsIl0gewogICAgICAgIG1hcmdpbi10b3A6IDUwcHg7IH0KICAucHJvZ3JhbSAud3JhcCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0KICAgIC5wcm9ncmFtIC53cmFwIC5hbXAgewogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICB0b3A6IDEwNXB4OwogICAgICBsZWZ0OiAwOwogICAgICByaWdodDogMDsKICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgIHdpZHRoOiAxMjBweDsKICAgICAgaGVpZ2h0OiAxMzBweDsKICAgICAgdGV4dC1zaGFkb3c6IDBweCAwcHggMTdweCByZ2JhKDAsIDAsIDAsIDAuMDcpOwogICAgICBmb250LXNpemU6IDE3N3B4OwogICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgY29sb3I6IHdoaXRlOwogICAgICBmb250LXdlaWdodDogYm9sZDsgfQogICAgLnByb2dyYW0gLndyYXAgKyAuc3RlcHMgewogICAgICBtYXJnaW4tdG9wOiAzNDBweDsgfQogIC5wcm9ncmFtIFtjbGFzcyo9InByb2dySW5mbyJdIHsKICAgIHBhZGRpbmc6IDc1cHggMHB4OyB9CiAgICAucHJvZ3JhbSBbY2xhc3MqPSJwcm9nckluZm8iXVtjbGFzcyo9IkZpcnN0Il0gLmlubmVyID4gc3BhbiB7CiAgICAgIGNvbG9yOiAjM2M5ZWYxOyB9CiAgICAucHJvZ3JhbSBbY2xhc3MqPSJwcm9nckluZm8iXVtjbGFzcyo9IkZpcnN0Il0gLmlubmVyIC5wY3QgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2M5ZWYxOyB9CiAgICAucHJvZ3JhbSBbY2xhc3MqPSJwcm9nckluZm8iXVtjbGFzcyo9IkZpcnN0Il0gKyAudGV4dEJsb2NrIHsKICAgICAgcGFkZGluZzogMHB4IDQ1cHggMHB4IDBweDsgfQogICAgLnByb2dyYW0gW2NsYXNzKj0icHJvZ3JJbmZvIl1bY2xhc3MqPSJTZWNvbmQiXSAuaW5uZXIgPiBzcGFuIHsKICAgICAgY29sb3I6ICM0NGQyOWQ7IH0KICAgIC5wcm9ncmFtIFtjbGFzcyo9InByb2dySW5mbyJdW2NsYXNzKj0iU2Vjb25kIl0gLmlubmVyIC5wY3QgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDRkMjlkOyB9CiAgICAucHJvZ3JhbSBbY2xhc3MqPSJwcm9nckluZm8iXVtjbGFzcyo9IlNlY29uZCJdICsgLnRleHRCbG9jayB7CiAgICAgIHBhZGRpbmc6IDBweCAwcHggMHB4IDQ1cHg7IH0KICAgIC5wcm9ncmFtIFtjbGFzcyo9InByb2dySW5mbyJdIC5pbm5lciB7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgIHBhZGRpbmctdG9wOiA0NXB4OwogICAgICB3aWR0aDogMjQzcHg7CiAgICAgIGhlaWdodDogMjQzcHg7CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7CiAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgLW1zLWJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICB6LWluZGV4OiAxOwogICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMTdweCByZ2JhKDAsIDAsIDAsIDAuMDcpOwogICAgICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggMTdweCByZ2JhKDAsIDAsIDAsIDAuMDcpOwogICAgICBib3gtc2hhZG93OiAwcHggMHB4IDE3cHggcmdiYSgwLCAwLCAwLCAwLjA3KTsgfQogICAgICAucHJvZ3JhbSBbY2xhc3MqPSJwcm9nckluZm8iXSAuaW5uZXI6OmJlZm9yZSB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxNTBweCk7CiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAxNTBweCk7CiAgICAgICAgdG9wOiAtNzVweDsKICAgICAgICBsZWZ0OiAtNzVweDsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMyLCA0MywgNDcsIDAuMDUpOwogICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIC1tcy1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIHotaW5kZXg6IC0xOyB9CiAgICAgIC5wcm9ncmFtIFtjbGFzcyo9InByb2dySW5mbyJdIC5pbm5lcjo6YWZ0ZXIgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgODRweCk7CiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyA4NHB4KTsKICAgICAgICB0b3A6IC00MnB4OwogICAgICAgIGxlZnQ6IC00MnB4OwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41NSk7CiAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgLW1zLWJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgei1pbmRleDogLTE7IH0KICAgICAgLnByb2dyYW0gW2NsYXNzKj0icHJvZ3JJbmZvIl0gLmlubmVyID4gc3BhbiB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0KICAgICAgLnByb2dyYW0gW2NsYXNzKj0icHJvZ3JJbmZvIl0gLmlubmVyIC5udW0gewogICAgICAgIGZvbnQtc2l6ZTogMTIxcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH0KICAgICAgICAucHJvZ3JhbSBbY2xhc3MqPSJwcm9nckluZm8iXSAuaW5uZXIgLm51bSArIHNwYW4gewogICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07CiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9CiAgICAgIC5wcm9ncmFtIFtjbGFzcyo9InByb2dySW5mbyJdIC5pbm5lciAucGN0IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgdG9wOiAwcHg7CiAgICAgICAgcmlnaHQ6IDE1cHg7CiAgICAgICAgd2lkdGg6IDUzcHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMzBweDsKICAgICAgICBsaW5lLWhlaWdodDogNTNweDsKICAgICAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDsKICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICAtbXMtYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfQogICAgLnByb2dyYW0gW2NsYXNzKj0icHJvZ3JJbmZvIl0gKyAudGV4dEJsb2NrIHsKICAgICAgbWFyZ2luLXRvcDogNTVweDsgfQogIC5wcm9ncmFtIC50ZXh0QmxvY2sgewogICAgcGFkZGluZzogMHB4IDU1cHg7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KICAucHJvZ3JhbSAuc3RhdGlzdGljIHsKICAgIGZsb2F0OiBsZWZ0OwogICAgd2lkdGg6IDEwMCU7CiAgICBtYXJnaW4tdG9wOiAyNTBweDsgfQogIC5wcm9ncmFtIC5zdGF0VGJsIHsKICAgIGZsb2F0OiBsZWZ0OwogICAgd2lkdGg6IDEwMCU7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBib3R0b206IC0yMDBweDsKICAgIG1hcmdpbi10b3A6IC0xMzBweDsKICAgIG1pbi1oZWlnaHQ6IDQwMHB4OyB9CiAgLnByb2dyYW0gLmNpcmNsZUJnIHsKICAgIG1hcmdpbi1sZWZ0OiAtNTM1cHg7CiAgICBoZWlnaHQ6IDQyN3B4OyB9CiAgLnByb2dyYW0gKyAqIHsKICAgIHBhZGRpbmctdG9wOiAyOTBweDsgfQoKLnN0YXRpc3RpYyAuaXRlbSB7CiAgd2lkdGg6IDIwJTsgfQogIC5zdGF0aXN0aWMgLml0ZW0gLmltZyBbY2xhc3MqPSJpY29uLSJdIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgd2lkdGg6IDcycHg7CiAgICBtYXJnaW46IDAgYXV0bzsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zMyk7CiAgICBmb250LXNpemU6IDQxcHg7CiAgICBsaW5lLWhlaWdodDogNzJweDsKICAgIGNvbG9yOiAjMjAyYjJmOwogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNTAlOwogICAgLW1vei1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICAtbXMtYm9yZGVyLXJhZGl1czogNTAlOwogICAgYm9yZGVyLXJhZGl1czogNTAlOyB9CiAgLnN0YXRpc3RpYyAuaXRlbSA+IHNwYW4gewogICAgZGlzcGxheTogYmxvY2s7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KICAuc3RhdGlzdGljIC5pdGVtIC50aXRsZSB7CiAgICBtYXJnaW4tdG9wOiAzNXB4OwogICAgZm9udC1zaXplOiAxNXB4OwogICAgbGluZS1oZWlnaHQ6IDQwcHg7CiAgICBjb2xvcjogd2hpdGU7CiAgICBmb250LXdlaWdodDogYm9sZDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9CiAgLnN0YXRpc3RpYyAuaXRlbSAubnVtIHsKICAgIGZvbnQtc2l6ZTogMzBweDsKICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgY29sb3I6ICMyMDJiMmY7CiAgICBmb250LXdlaWdodDogYm9sZDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07IH0KCi5zdGF0VGJsIC50YWJsZSB7CiAgcGFkZGluZzogMzBweDsKICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfQogIC5zdGF0VGJsIC50YWJsZS5pbiAuc3VtIHsKICAgIGNvbG9yOiAjM2M5ZWYxOyB9CiAgLnN0YXRUYmwgLnRhYmxlLmluICsgLnRpdGxlIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMzYzllZjE7IH0KICAuc3RhdFRibCAudGFibGUub3V0IC5zdW0gewogICAgY29sb3I6ICM0NGQyOWQ7IH0KICAuc3RhdFRibCAudGFibGUub3V0ICsgLnRpdGxlIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICM0NGQyOWQ7IH0KICAuc3RhdFRibCAudGFibGUgLnRSb3cgewogICAgaGVpZ2h0OiAzMHB4OyB9CiAgICAuc3RhdFRibCAudGFibGUgLnRSb3cgLm5hbWUgewogICAgICBmb250LXNpemU6IDE1cHg7CiAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICBjb2xvcjogIzIwMmIyZjsKICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07IH0KICAgIC5zdGF0VGJsIC50YWJsZSAudFJvdyAuZGF0ZSB7CiAgICAgIHdpZHRoOiAyMTVweDsKICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgY29sb3I6ICMyMDJiMmY7CiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtOyB9CiAgICAuc3RhdFRibCAudGFibGUgLnRSb3cgLnN1bSB7CiAgICAgIHdpZHRoOiA5NXB4OwogICAgICBmb250LXNpemU6IDE1cHg7CiAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07IH0KLnN0YXRUYmwgLnRpdGxlIHsKICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KICAuc3RhdFRibCAudGl0bGUgc3BhbiB7CiAgICBmb250LXNpemU6IDE3cHg7CiAgICBsaW5lLWhlaWdodDogNTNweDsKICAgIGNvbG9yOiB3aGl0ZTsKICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9Ci5zdGF0VGJsIC5pbm5lciB7CiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDI3cHggcmdiYSgwLCAwLCAwLCAwLjIxKTsKICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggMjdweCByZ2JhKDAsIDAsIDAsIDAuMjEpOwogIGJveC1zaGFkb3c6IDBweCAwcHggMjdweCByZ2JhKDAsIDAsIDAsIDAuMjEpOwogIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMjBweDsKICAtbW96LWJvcmRlci1yYWRpdXM6IDIwcHg7CiAgLW1zLWJvcmRlci1yYWRpdXM6IDIwcHg7CiAgYm9yZGVyLXJhZGl1czogMjBweDsKICBvdmVyZmxvdzogaGlkZGVuOyB9CgouYWR2VGVtcGwgewogIHBhZGRpbmctYm90dG9tOiAxMDVweDsKICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOwogIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9CiAgLmFkdlRlbXBsIFtjbGFzcyo9ImNhcHRpb24iXSArIC5hZHZXcmFwIHsKICAgIG1hcmdpbi10b3A6IDMwcHg7IH0KICAuYWR2VGVtcGwgLml0ZW0gewogICAgdGV4dC1hbGlnbjogY2VudGVyOyB9CiAgICAuYWR2VGVtcGwgLml0ZW06bnRoLWNoaWxkKDNuKzEpIHsKICAgICAgY2xlYXI6IGJvdGg7IH0KICAgIC5hZHZUZW1wbCAuaXRlbSAuaW4gewogICAgICBwYWRkaW5nOiA1MHB4IDIwcHggMHB4OyB9CiAgICAgIC5hZHZUZW1wbCAuaXRlbSAuaW4gW2NsYXNzKj0iaWNvbi0iXSB7CiAgICAgICAgZm9udC1zaXplOiA1OHB4OyB9CiAgICAgIC5hZHZUZW1wbCAuaXRlbSAuaW4gLnRpdGxlIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBtYXJnaW4tdG9wOiAzNXB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBmb250LXNpemU6IDE3cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7CiAgICAgICAgY29sb3I6IHdoaXRlOwogICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH0KICAgICAgLmFkdlRlbXBsIC5pdGVtIC5pbiBwIHsKICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTVweDsKICAgICAgICBsaW5lLWhlaWdodDogMjJweDsKICAgICAgICBjb2xvcjogI2Q0ZGJkZTsKICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtOyB9CgoubWFpbk5ld3MgewogIHBhZGRpbmc6IDk1cHggMHB4IDEyMHB4OwogIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b207CiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfQogIC5tYWluTmV3cyBbY2xhc3MqPSJjYXB0aW9uIl0gKyAud3JhcCB7CiAgICBtYXJnaW4tdG9wOiAxMDBweDsgfQoKLm5ld3NDYXJkIHsKICBwYWRkaW5nOiAzNnB4IDM2cHggNDRweCAzNnB4OwogIG1pbi1oZWlnaHQ6IDU1NXB4OwogIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOwogIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAxMXB4IHJnYmEoMCwgMCwgMCwgMC4xMSk7CiAgLW1vei1ib3gtc2hhZG93OiAwcHggMHB4IDExcHggcmdiYSgwLCAwLCAwLCAwLjExKTsKICBib3gtc2hhZG93OiAwcHggMHB4IDExcHggcmdiYSgwLCAwLCAwLCAwLjExKTsKICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDIwcHg7CiAgLW1vei1ib3JkZXItcmFkaXVzOiAyMHB4OwogIC1tcy1ib3JkZXItcmFkaXVzOiAyMHB4OwogIGJvcmRlci1yYWRpdXM6IDIwcHg7IH0KICAubmV3c0NhcmQgLmltZyB7CiAgICBoZWlnaHQ6IDIxMnB4OwogICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsKICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH0KICAgIC5uZXdzQ2FyZCAuaW1nICsgLmRhdGUgewogICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9CiAgLm5ld3NDYXJkIC5kYXRlIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgZm9udC1zaXplOiAxNXB4OwogICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICBjb2xvcjogIzNjOWVmMTsKICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07IH0KICAgIC5uZXdzQ2FyZCAuZGF0ZSArIC50aXRsZSB7CiAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH0KICAubmV3c0NhcmQgLnRpdGxlIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgZm9udC1zaXplOiAxN3B4OwogICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICBjb2xvcjogIzIwMmIyZjsKICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07IH0KICAgIC5uZXdzQ2FyZCAudGl0bGUgKyBwIHsKICAgICAgbWFyZ2luLXRvcDogNXB4OyB9CiAgLm5ld3NDYXJkIHAgewogICAgZm9udC1zaXplOiAxNXB4OwogICAgbGluZS1oZWlnaHQ6IDI1cHg7CiAgICBjb2xvcjogIzIwMmIyZjsKICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgICBsZXR0ZXItc3BhY2luZzogMC4wMjVlbTsgfQogICAgLm5ld3NDYXJkIHAgKyBbY2xhc3MqPSJidG5GaWxsIl0gewogICAgICBtYXJnaW4tdG9wOiAyOHB4OyB9CiAgLm5ld3NDYXJkIFtjbGFzcyo9ImJ0bkZpbGwiXSB7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7CiAgICAtbW96LWJveC1zaGFkb3c6IG5vbmU7CiAgICBib3gtc2hhZG93OiBub25lOyB9CgoucGF5bWVudHMgewogIHBhZGRpbmc6IDUycHggMHB4IDUwcHg7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNjAsIDE3NywgMTkyLCAwLjU3KTsgfQogIC5wYXltZW50cyB1bCB7CiAgICBoZWlnaHQ6IDM1cHg7IH0KCi5wYWdlQmFubmVyIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgcGFkZGluZzogMjc1cHggMHB4IDQ1cHg7CiAgei1pbmRleDogMDsKICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOwogIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogIHRleHQtYWxpZ246IHJpZ2h0OyB9CiAgLnBhZ2VCYW5uZXIgLnN0YXJ0IHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIGNvbG9yOiB3aGl0ZTsKICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgbGV0dGVyLXNwYWNpbmc6IDFweDsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBtYXJnaW4tYm90dG9tOiA1MHB4OwogICAgbWFyZ2luLXJpZ2h0OiA3MHB4OyB9CiAgLnBhZ2VCYW5uZXI6OmJlZm9yZSB7CiAgICBjb250ZW50OiAnJzsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgd2lkdGg6IDE5MjBweDsKICAgIGhlaWdodDogMzUzcHg7CiAgICBsZWZ0OiA1MCU7CiAgICBib3R0b206IDA7CiAgICBtYXJnaW4tbGVmdDogLTk2MHB4OwogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9ncmFkX2JnXzIucG5nKTsKICAgIHotaW5kZXg6IC0xOyB9CgoucGFnZUFib3V0IHsKICBwYWRkaW5nOiAxMjVweCAwcHggMTAwcHg7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGJvdHRvbTsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9CiAgLnBhZ2VBYm91dCAudGV4dEJsb2NrIC5pbmZvIHsKICAgIHdpZHRoOiA0NzVweDsKICAgIHBhZGRpbmctdG9wOiA1cHg7IH0KICAgIC5wYWdlQWJvdXQgLnRleHRCbG9jayAuaW5mbyAuYWRkcmVzcyB7CiAgICAgIG1hcmdpbi10b3A6IDcwcHg7IH0KICAgICAgLnBhZ2VBYm91dCAudGV4dEJsb2NrIC5pbmZvIC5hZGRyZXNzIC5kYXRhIHsKICAgICAgICBmb250LXdlaWdodDogNTAwOyB9CiAgICAucGFnZUFib3V0IC50ZXh0QmxvY2sgLmluZm8gLmJ0bnNXcmFwIHsKICAgICAgbWFyZ2luLXRvcDogNjBweDsgfQogICAgICAucGFnZUFib3V0IC50ZXh0QmxvY2sgLmluZm8gLmJ0bnNXcmFwIFtjbGFzcyo9ImJ0bkZpbGwiXSB7CiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lOwogICAgICAgIC1tb3otYm94LXNoYWRvdzogbm9uZTsKICAgICAgICBib3gtc2hhZG93OiBub25lOyB9CiAgICAgICAgLnBhZ2VBYm91dCAudGV4dEJsb2NrIC5pbmZvIC5idG5zV3JhcCBbY2xhc3MqPSJidG5GaWxsIl0gKyBbY2xhc3MqPSJidG5GaWxsIl0gewogICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH0KICAucGFnZUFib3V0IC50ZXh0QmxvY2sgKyAuYWR2VGVtcGwgewogICAgbWFyZ2luLXRvcDogOTVweDsgfQogIC5wYWdlQWJvdXQgLmFkdlRlbXBsIHsKICAgIHBhZGRpbmctYm90dG9tOiAwcHg7IH0KICAgIC5wYWdlQWJvdXQgLmFkdlRlbXBsIC5pdGVtIC5pbiAudGl0bGUgewogICAgICBjb2xvcjogIzIwMmIyZjsgfQogICAgLnBhZ2VBYm91dCAuYWR2VGVtcGwgLml0ZW0gLmluIHAgewogICAgICBjb2xvcjogIzIwMmIyZjsgfQoKLnByb2dyRGVzY3IgewogIHBhZGRpbmc6IDEwNXB4IDBweCA5MHB4OyB9Cgouc3RlcHMgLmltZyB7CiAgbWFyZ2luOiAwIGF1dG87CiAgd2lkdGg6IDcycHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHotaW5kZXg6IDE7IH0KICAuc3RlcHMgLmltZyBbY2xhc3MqPSJpY29uLSJdIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgd2lkdGg6IDEwMCU7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKICAgIGZvbnQtc2l6ZTogMzdweDsKICAgIGxpbmUtaGVpZ2h0OiA3MnB4OwogICAgY29sb3I6ICMyMDJiMmY7CiAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDUwJTsKICAgIC1tcy1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7IH0KICAuc3RlcHMgLmltZzo6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICcnOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgZGlzcGxheTogYmxvY2s7CiAgICB3aWR0aDogY2FsYygxMDAlICsgODRweCk7CiAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDg0cHgpOwogICAgdG9wOiAtNDJweDsKICAgIGxlZnQ6IC00MnB4OwogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMiwgNDMsIDQ3LCAwLjExKTsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNTAlOwogICAgLW1vei1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICAtbXMtYm9yZGVyLXJhZGl1czogNTAlOwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgei1pbmRleDogLTE7IH0KICAuc3RlcHMgLmltZzo6YWZ0ZXIgewogICAgY29udGVudDogJyc7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHdpZHRoOiA4M3B4OwogICAgaGVpZ2h0OiA0MHB4OwogICAgdG9wOiA1MCU7CiAgICBsZWZ0OiBjYWxjKDEwMCUgKyA3MnB4KTsKICAgIG1hcmdpbi10b3A6IC0yMHB4OwogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMiwgNDMsIDQ3LCAwLjExKTsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMjBweDsKICAgIC1tb3otYm9yZGVyLXJhZGl1czogMjBweDsKICAgIC1tcy1ib3JkZXItcmFkaXVzOiAyMHB4OwogICAgYm9yZGVyLXJhZGl1czogMjBweDsgfQogIC5zdGVwcyAuaW1nICsgLm51bSB7CiAgICBtYXJnaW4tdG9wOiA2NXB4OyB9Ci5zdGVwcyAubnVtIHsKICBkaXNwbGF5OiBibG9jazsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgZm9udC1zaXplOiA0MHB4OwogIGxpbmUtaGVpZ2h0OiAxOwogIGNvbG9yOiAjMjAyYjJmOwogIGZvbnQtd2VpZ2h0OiBib2xkOwogIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07IH0KICAuc3RlcHMgLm51bSArIC50aXRsZSB7CiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9Ci5zdGVwcyAudGl0bGUgewogIGRpc3BsYXk6IGJsb2NrOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICBmb250LXNpemU6IDEzcHg7CiAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgY29sb3I6IHdoaXRlOwogIGZvbnQtd2VpZ2h0OiBib2xkOwogIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfQouc3RlcHMgKyBbY2xhc3MqPSJidG5GaWxsIl0gewogIG1hcmdpbi10b3A6IDc1cHg7IH0KLnN0ZXBzIC5pdGVtOmxhc3QtY2hpbGQgLmltZzo6YWZ0ZXIgewogIGRpc3BsYXk6IG5vbmU7IH0KCi5jb250SW5mbyB7CiAgcGFkZGluZzogMTEwcHggMHB4IDExNXB4OwogIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAxMDVweDsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9CiAgLmNvbnRJbmZvIFtjbGFzcyo9Imljb24tIl0gewogICAgZGlzcGxheTogYmxvY2s7CiAgICB3aWR0aDogNzJweDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIGJhY2tncm91bmQtY29sb3I6ICNjOWQzZGI7CiAgICBmb250LXNpemU6IDQwcHg7CiAgICBsaW5lLWhlaWdodDogNzJweDsKICAgIGNvbG9yOiAjMjAyYjJmOwogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNTAlOwogICAgLW1vei1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICAtbXMtYm9yZGVyLXJhZGl1czogNTAlOwogICAgYm9yZGVyLXJhZGl1czogNTAlOyB9CiAgLmNvbnRJbmZvIC5pbWcgewogICAgd2lkdGg6IDkwcHg7IH0KICAuY29udEluZm8gLmRhdGEgewogICAgZm9udC1zaXplOiAxN3B4OwogICAgbGluZS1oZWlnaHQ6IDMwcHg7CiAgICBjb2xvcjogIzIwMmIyZjsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBsZXR0ZXItc3BhY2luZzogMC4wMjVlbTsgfQogICAgLmNvbnRJbmZvIC5kYXRhIC50aXRsZSB7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfQogICAgLmNvbnRJbmZvIC5kYXRhIGEgewogICAgICBjb2xvcjogIzIwMmIyZjsgfQogICAgICAuY29udEluZm8gLmRhdGEgYS5saW5rIHsKICAgICAgICBjb2xvcjogIzNjOWVmMTsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfQogICAgICAgIC5jb250SW5mbyAuZGF0YSBhLmxpbms6aG92ZXIgewogICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9CiAgLmNvbnRJbmZvIHVsIHsKICAgIHdpZHRoOiA0MDBweDsgfQogICAgLmNvbnRJbmZvIHVsIGxpICsgbGkgewogICAgICBtYXJnaW4tdG9wOiA0NXB4OyB9CiAgLmNvbnRJbmZvIC5tYXAgewogICAgd2lkdGg6IDY0NnB4OwogICAgaGVpZ2h0OiA0NTJweDsKICAgIGJvcmRlcjogN3B4IHNvbGlkIHdoaXRlOwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDI5cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMTEpOwogICAgLW1vei1ib3gtc2hhZG93OiAwcHggMHB4IDI5cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMTEpOwogICAgYm94LXNoYWRvdzogMHB4IDBweCAyOXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjExKTsgfQoKLmJsb2NrRm9ybSB7CiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7CiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICBwYWRkaW5nOiAxMTVweCAwcHggODBweDsgfQogIC5ibG9ja0Zvcm0uY2FsYyB7CiAgICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7IH0KICAuYmxvY2tGb3JtIFtjbGFzcyo9ImNhcHRpb24iXSArIC53cmFwIHsKICAgIG1hcmdpbi10b3A6IDYwcHg7IH0KICAgIC5ibG9ja0Zvcm0gW2NsYXNzKj0iY2FwdGlvbiJdICsgLndyYXAgLnJvdyArIC5pdGVtIHsKICAgICAgbWFyZ2luLXRvcDogMjBweDsgfQogICAgICAuYmxvY2tGb3JtIFtjbGFzcyo9ImNhcHRpb24iXSArIC53cmFwIC5yb3cgKyAuaXRlbSArIFtjbGFzcyo9ImJ0bkZpbGwiXSB7CiAgICAgICAgbWFyZ2luLXRvcDogNjVweDsgfQogICAgLmJsb2NrRm9ybSBbY2xhc3MqPSJjYXB0aW9uIl0gKyAud3JhcCAucm93ICsgLnJhbmdlIHsKICAgICAgbWFyZ2luLXRvcDogNjdweDsgfQogICAgICAuYmxvY2tGb3JtIFtjbGFzcyo9ImNhcHRpb24iXSArIC53cmFwIC5yb3cgKyAucmFuZ2UgKyAuaW52UHJvZml0IHsKICAgICAgICBtYXJnaW4tdG9wOiAyMnB4OyB9CiAgICAgICAgLmJsb2NrRm9ybSBbY2xhc3MqPSJjYXB0aW9uIl0gKyAud3JhcCAucm93ICsgLnJhbmdlICsgLmludlByb2ZpdCArIFtjbGFzcyo9ImJ0bkZpbGwiXSB7CiAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4OyB9CiAgLmJsb2NrRm9ybSB0ZXh0YXJlYSB7CiAgICBoZWlnaHQ6IDIxNXB4OyB9CiAgLmJsb2NrRm9ybSAuaW52UHJvZml0IHsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfQogICAgLmJsb2NrRm9ybSAuaW52UHJvZml0IC50aXRsZSB7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICBmb250LXNpemU6IDE1cHg7CiAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICBjb2xvcjogd2hpdGU7CiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9CiAgICAgIC5ibG9ja0Zvcm0gLmludlByb2ZpdCAudGl0bGUgKyAubnVtIHsKICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9CiAgICAuYmxvY2tGb3JtIC5pbnZQcm9maXQgLm51bSB7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICBmb250LXNpemU6IDMwcHg7CiAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4OwogICAgICBjb2xvcjogIzIwMmIyZjsKICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH0KCi5yYW5nZSAuaXJzLWxpbmUgewogIGhlaWdodDogMjFweDsKICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDExcHg7CiAgLW1vei1ib3JkZXItcmFkaXVzOiAxMXB4OwogIC1tcy1ib3JkZXItcmFkaXVzOiAxMXB4OwogIGJvcmRlci1yYWRpdXM6IDExcHg7CiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7CiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDI3cHggcmdiYSgwLCAwLCAwLCAwLjIxKTsKICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggMjdweCByZ2JhKDAsIDAsIDAsIDAuMjEpOwogIGJveC1zaGFkb3c6IDBweCAwcHggMjdweCByZ2JhKDAsIDAsIDAsIDAuMjEpOyB9Ci5yYW5nZSAuaXJzLWJhciB7CiAgaGVpZ2h0OiAyMXB4OwogIGJhY2tncm91bmQtY29sb3I6ICM0NGQyOWQ7CiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMXB4OwogIC1tb3otYm9yZGVyLXJhZGl1czogMTFweDsKICAtbXMtYm9yZGVyLXJhZGl1czogMTFweDsKICBib3JkZXItcmFkaXVzOiAxMXB4OyB9Ci5yYW5nZSAuaXJzLWJhci1lZGdlIHsKICBoZWlnaHQ6IDIxcHg7CiAgd2lkdGg6IDM1cHg7CiAgYmFja2dyb3VuZC1jb2xvcjogIzQ0ZDI5ZDsKICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDExcHg7CiAgLW1vei1ib3JkZXItcmFkaXVzLXRvcGxlZnQ6IDExcHg7CiAgLW1zLWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDExcHg7CiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTFweDsKICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDExcHg7CiAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbWxlZnQ6IDExcHg7CiAgLW1zLWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDExcHg7CiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTFweDsgfQoucmFuZ2UgLmlycy1ncmlkIHsKICBib3R0b206IDIycHg7IH0KICAucmFuZ2UgLmlycy1ncmlkIC5pcnMtZ3JpZC10ZXh0IHsKICAgIGRpc3BsYXk6IG5vbmU7IH0KICAucmFuZ2UgLmlycy1ncmlkIC5pcnMtZ3JpZC1wb2wgewogICAgaGVpZ2h0OiAzNXB4OwogICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH0KICAgIC5yYW5nZSAuaXJzLWdyaWQgLmlycy1ncmlkLXBvbDpmaXJzdC1vZi10eXBlIHsKICAgICAgZGlzcGxheTogbm9uZTsgfQogICAgLnJhbmdlIC5pcnMtZ3JpZCAuaXJzLWdyaWQtcG9sOm50aC1sYXN0LWNoaWxkKDIpIHsKICAgICAgZGlzcGxheTogbm9uZTsgfQoucmFuZ2UgLmlycy1zbGlkZXIgewogIHRvcDogMTJweDsKICB3aWR0aDogNDdweDsKICBoZWlnaHQ6IDQ3cHg7CiAgYmFja2dyb3VuZC1jb2xvcjogIzQ0ZDI5ZDsKICBib3JkZXI6IDE0cHggc29saWQgd2hpdGU7CiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7CiAgLW1vei1ib3JkZXItcmFkaXVzOiA1MCU7CiAgLW1zLWJvcmRlci1yYWRpdXM6IDUwJTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDI3cHggcmdiYSgwLCAwLCAwLCAwLjIxKTsKICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggMjdweCByZ2JhKDAsIDAsIDAsIDAuMjEpOwogIGJveC1zaGFkb3c6IDBweCAwcHggMjdweCByZ2JhKDAsIDAsIDAsIDAuMjEpOwogIGN1cnNvcjogcG9pbnRlcjsgfQoucmFuZ2UgLmlycy1zaW5nbGUgewogIHRvcDogLTE3cHg7CiAgZm9udC1zaXplOiAxNXB4OwogIGxpbmUtaGVpZ2h0OiAyNHB4OwogIGNvbG9yOiB3aGl0ZTsKICBmb250LXdlaWdodDogYm9sZDsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfQoucmFuZ2UgLmlycy1taW4sCi5yYW5nZSAuaXJzLW1heCB7CiAgdG9wOiAtMTdweDsKICBmb250LXNpemU6IDE1cHg7CiAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgY29sb3I6IHdoaXRlOwogIGZvbnQtd2VpZ2h0OiBib2xkOwogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9CgouZmFxIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgcGFkZGluZzogMTA1cHggMHB4IDEwMHB4OwogIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAxNTBweDsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogIHotaW5kZXg6IDE7CiAgb3ZlcmZsb3c6IGhpZGRlbjsgfQogIC5mYXE6OmJlZm9yZSB7CiAgICBjb250ZW50OiAnJzsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiA0NzBweDsKICAgIGxlZnQ6IDBweDsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZWRmNDsKICAgIHotaW5kZXg6IC0xOyB9CiAgLmZhcSAudGV4dEJsb2NrICsgLmZhcUJsb2NrIHsKICAgIG1hcmdpbi10b3A6IDg1cHg7IH0KICAuZmFxIC5mYXFCbG9jayAubWFpblRpdGxlICsgLndyYXAgewogICAgbWFyZ2luLXRvcDogNjVweDsgfQogIC5mYXEgLmZhcUJsb2NrICsgLmZhcUJsb2NrIHsKICAgIG1hcmdpbi10b3A6IDk1cHg7IH0KCi5mYXFJdGVtIC5oZWFkIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgcGFkZGluZy1sZWZ0OiA4cHg7CiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7CiAgb3BhY2l0eTogMTsKICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDIzcHg7CiAgLW1vei1ib3JkZXItcmFkaXVzOiAyM3B4OwogIC1tcy1ib3JkZXItcmFkaXVzOiAyM3B4OwogIGJvcmRlci1yYWRpdXM6IDIzcHg7CiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDIxcHggcmdiYSgwLCAwLCAwLCAwLjExKTsKICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggMjFweCByZ2JhKDAsIDAsIDAsIDAuMTEpOwogIGJveC1zaGFkb3c6IDBweCAwcHggMjFweCByZ2JhKDAsIDAsIDAsIDAuMTEpOwogIGN1cnNvcjogcG9pbnRlcjsgfQogIC5mYXFJdGVtIC5oZWFkLmFjdGl2ZSAuaWNvbkxlZnQgW2NsYXNzKj0iaWNvbi0iXSB7CiAgICBjb2xvcjogd2hpdGU7IH0KICAuZmFxSXRlbSAuaGVhZC5hY3RpdmUgLmljb25MZWZ0IC5kYXRhIHsKICAgIGNvbG9yOiB3aGl0ZTsgfQogIC5mYXFJdGVtIC5oZWFkLmFjdGl2ZTo6YmVmb3JlIHsKICAgIHdpZHRoOiAxMDAlOwogICAgb3BhY2l0eTogMTsgfQogIC5mYXFJdGVtIC5oZWFkOm5vdCguYWN0aXZlKSAuZGF0YTpob3ZlciB7CiAgICBjb2xvcjogcmdiYSgzMiwgNDMsIDQ3LCAwLjcpOyB9CiAgLmZhcUl0ZW0gLmhlYWQgLmljb25MZWZ0IHsKICAgIHBhZGRpbmctbGVmdDogNTBweDsgfQogICAgLmZhcUl0ZW0gLmhlYWQgLmljb25MZWZ0IFtjbGFzcyo9Imljb24tIl0gewogICAgICBmb250LXNpemU6IDMwcHg7CiAgICAgIG1hcmdpbi10b3A6IC0xNXB4OwogICAgICB3aWR0aDogMzFweDsKICAgICAgaGVpZ2h0OiAzMXB4OyB9CiAgICAuZmFxSXRlbSAuaGVhZCAuaWNvbkxlZnQgLmRhdGEgewogICAgICBmb250LXNpemU6IDE3cHg7CiAgICAgIGxpbmUtaGVpZ2h0OiA0NnB4OwogICAgICBjb2xvcjogIzIwMmIyZjsKICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07CiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3IgMC4zczsKICAgICAgLW1vei10cmFuc2l0aW9uOiBjb2xvciAwLjNzOwogICAgICAtby10cmFuc2l0aW9uOiBjb2xvciAwLjNzOwogICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzOyB9CiAgLmZhcUl0ZW0gLmhlYWQ6OmJlZm9yZSB7CiAgICBjb250ZW50OiAnJzsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgdG9wOiAwOwogICAgbGVmdDogMDsKICAgIG9wYWNpdHk6IDA7CiAgICBiYWNrZ3JvdW5kOiAjMDA5Y2ZmOwogICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgIzAwOWNmZiAwJSwgIzFmZTE5NSAxMDAlKTsKICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICMwMDljZmYgMCUsICMxZmUxOTUgMTAwJSk7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICMwMDljZmYgMCUsICMxZmUxOTUgMTAwJSk7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDIzcHg7CiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDIzcHg7CiAgICAtbXMtYm9yZGVyLXJhZGl1czogMjNweDsKICAgIGJvcmRlci1yYWRpdXM6IDIzcHg7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IHdpZHRoIDAuM3M7CiAgICAtbW96LXRyYW5zaXRpb246IHdpZHRoIDAuM3M7CiAgICAtby10cmFuc2l0aW9uOiB3aWR0aCAwLjNzOwogICAgdHJhbnNpdGlvbjogd2lkdGggMC4zczsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzOwogICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7CiAgICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7CiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7IH0KLmZhcUl0ZW0gLmNvbnRlbnQgewogIHBhZGRpbmc6IDMwcHggMzBweCAyMHB4IDYwcHg7IH0KLmZhcUl0ZW0gKyAuZmFxSXRlbSB7CiAgbWFyZ2luLXRvcDogMjRweDsgfQoKLnBhZ2VOZXdzIHsKICBwYWRkaW5nOiAxMTBweCAwcHggMTQwcHg7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDE1MHB4OwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBwb3NpdGlvbjogcmVsYXRpdmU7IH0KICAucGFnZU5ld3MgLndyYXAgKyAucGFnaW5hdGlvbiB7CiAgICBtYXJnaW4tdG9wOiA4MHB4OyB9CiAgLnBhZ2VOZXdzOjpiZWZvcmUgewogICAgY29udGVudDogJyc7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogNDcwcHg7CiAgICBsZWZ0OiAwcHg7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmVkZjQ7CiAgICB6LWluZGV4OiAtMTsgfQoKLnJ1bGVzIHsKICBwYWRkaW5nOiAxMDVweCAwcHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIG92ZXJmbG93OiBoaWRkZW47CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDE1MHB4OwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH0KICAucnVsZXMgLnRleHRCbG9jayArIC50ZXJtSXRlbSB7CiAgICBtYXJnaW4tdG9wOiA3NXB4OyB9CiAgLnJ1bGVzIC50ZXJtSXRlbSAubWFpblRpdGxlICsgLmNvbnRlbnQgewogICAgbWFyZ2luLXRvcDogNTNweDsgfQogIC5ydWxlcyAudGVybUl0ZW0gLmNvbnRlbnQgcCB7CiAgICBmb250LXNpemU6IDE1cHg7CiAgICBsaW5lLWhlaWdodDogMjRweDsKICAgIGNvbG9yOiAjMjAyYjJmOwogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtOyB9CiAgLnJ1bGVzIC50ZXJtSXRlbSArIC50ZXJtSXRlbSB7CiAgICBtYXJnaW4tdG9wOiA2MHB4OyB9CiAgLnJ1bGVzOjpiZWZvcmUgewogICAgY29udGVudDogJyc7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogNDcwcHg7CiAgICBsZWZ0OiAwcHg7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmVkZjQ7CiAgICB6LWluZGV4OiAtMTsgfQoKLmNhYkNvbnRlbnQgewogIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvZ3JhZF9iZ19yZXYucG5nKSwgdXJsKC4uL2ltZy93aGl0ZV9iZy5wbmcpOwogIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3AsIGNlbnRlciBib3R0b207CiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCwgbm8tcmVwZWF0OwogIGJhY2tncm91bmQtY29sb3I6ICNlNmVkZjQ7CiAgcGFkZGluZy1ib3R0b206IDEwcHg7IH0KICAuY2FiQ29udGVudCAuY29weXJpZ2h0IHsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIGxpbmUtaGVpZ2h0OiAyMnB4OwogICAgY29sb3I6ICMyMDJiMmY7CiAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KCi5jYWJIZWFkIHsKICBwYWRkaW5nLXRvcDogMjVweDsgfQogIC5jYWJIZWFkIC5yb3cgLmxlZnQgewogICAgd2lkdGg6IDM4MHB4OyB9CiAgLmNhYkhlYWQgLnJvdyAucmlnaHQgewogICAgd2lkdGg6IDgwNXB4OyB9CiAgLmNhYkhlYWQgLnJvdyArIC5yb3cgewogICAgbWFyZ2luLXRvcDogMzVweDsgfQoKLnVzZXJJbmZvIHsKICBwYWRkaW5nLWxlZnQ6IDE3OHB4OwogIHBhZGRpbmctdG9wOiAxMHB4OwogIHBhZGRpbmctYm90dG9tOiAxMHB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsgfQogIC51c2VySW5mbyAudXNlcnBpYyB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDUwJTsKICAgIGxlZnQ6IDIwcHg7CiAgICBtYXJnaW4tdG9wOiAtNDZweDsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zczsKICAgIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzOwogICAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzOwogICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzOyB9CiAgICAudXNlckluZm8gLnVzZXJwaWM6aG92ZXIgewogICAgICBvcGFjaXR5OiAwLjg7IH0KICAudXNlckluZm8gPiBzcGFuIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgZm9udC1zaXplOiAxNXB4OwogICAgbGluZS1oZWlnaHQ6IDIycHg7CiAgICBjb2xvcjogd2hpdGU7CiAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07IH0KICAudXNlckluZm8gYSB7CiAgICBmb250LXNpemU6IDE1cHg7CiAgICBsaW5lLWhlaWdodDogMjJweDsKICAgIGNvbG9yOiB3aGl0ZTsKICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07IH0KICAudXNlckluZm8gLmVkaXRBY2MgewogICAgbWFyZ2luLXRvcDogMjVweDsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgd2lkdGg6IDEzMHB4OwogICAgcGFkZGluZy1sZWZ0OiA1MHB4OwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH0KICAgIC51c2VySW5mbyAuZWRpdEFjYzpob3ZlciB7CiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfQogICAgLnVzZXJJbmZvIC5lZGl0QWNjIFtjbGFzcyo9Imljb24tIl0gewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIGZvbnQtc2l6ZTogMzhweDsKICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICAgICAgdG9wOiA1MCU7CiAgICAgIG1hcmdpbi10b3A6IC0xOXB4OwogICAgICBsZWZ0OiAwOyB9CgoudXNlcnBpYyB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHdpZHRoOiA5MXB4OwogIGhlaWdodDogOTFweDsKICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTsKICAtbW96LWJvcmRlci1yYWRpdXM6IDUwJTsKICAtbXMtYm9yZGVyLXJhZGl1czogNTAlOwogIGJvcmRlci1yYWRpdXM6IDUwJTsKICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMjFweCByZ2JhKDAsIDAsIDAsIDAuMzMpLCAwcHggMHB4IDBweCAyMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yMSk7CiAgLW1vei1ib3gtc2hhZG93OiAwcHggMHB4IDIxcHggcmdiYSgwLCAwLCAwLCAwLjMzKSwgMHB4IDBweCAwcHggMjBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjEpOwogIGJveC1zaGFkb3c6IDBweCAwcHggMjFweCByZ2JhKDAsIDAsIDAsIDAuMzMpLCAwcHggMHB4IDBweCAyMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yMSk7CiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7CiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICB6LWluZGV4OiAxOyB9CiAgLnVzZXJwaWMgaW5wdXQgewogICAgZGlzcGxheTogbm9uZTsgfQogIC51c2VycGljIGxhYmVsIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICB6LWluZGV4OiAxOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDUwJTsKICAgIC1tcy1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBjdXJzb3I6IHBvaW50ZXI7IH0KCi5jYWJOYXYgewogIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOwogIHBhZGRpbmctbGVmdDogMzBweDsKICBwYWRkaW5nLXRvcDogMjVweDsKICBtaW4taGVpZ2h0OiAzMzRweDsKICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMjdweCByZ2JhKDAsIDAsIDAsIDAuMjEpOwogIC1tb3otYm94LXNoYWRvdzogMHB4IDBweCAyN3B4IHJnYmEoMCwgMCwgMCwgMC4yMSk7CiAgYm94LXNoYWRvdzogMHB4IDBweCAyN3B4IHJnYmEoMCwgMCwgMCwgMC4yMSk7CiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAyMHB4OwogIC1tb3otYm9yZGVyLXJhZGl1czogMjBweDsKICAtbXMtYm9yZGVyLXJhZGl1czogMjBweDsKICBib3JkZXItcmFkaXVzOiAyMHB4OyB9CiAgLmNhYk5hdiB1bCBsaSBhIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHBhZGRpbmctbGVmdDogNTBweDsKICAgIGZvbnQtc2l6ZTogMTVweDsKICAgIGxpbmUtaGVpZ2h0OiAzMnB4OwogICAgY29sb3I6ICMyMDJiMmY7CiAgICBmb250LXdlaWdodDogYm9sZDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDAuM3M7CiAgICAtbW96LXRyYW5zaXRpb246IGNvbG9yIDAuM3M7CiAgICAtby10cmFuc2l0aW9uOiBjb2xvciAwLjNzOwogICAgdHJhbnNpdGlvbjogY29sb3IgMC4zczsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH0KICAgIC5jYWJOYXYgdWwgbGkgYSBbY2xhc3MqPSJpY29uLSJdIHsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgZm9udC1zaXplOiAzMnB4OwogICAgICB0b3A6IDUwJTsKICAgICAgbGVmdDogMDsKICAgICAgbWFyZ2luLXRvcDogLTE2cHg7IH0KICAgIC5jYWJOYXYgdWwgbGkgYS5hY3RpdmUgewogICAgICBjb2xvcjogIzNjOWVmMTsgfQogICAgLmNhYk5hdiB1bCBsaSBhOmhvdmVyIHsKICAgICAgb3BhY2l0eTogMTsKICAgICAgY29sb3I6ICMzYzllZjE7IH0KICAuY2FiTmF2IHVsIGxpICsgbGkgewogICAgbWFyZ2luLXRvcDogMjlweDsgfQoKLmFjY0luZm8gewogIHBhZGRpbmctdG9wOiAxMHB4OyB9CiAgLmFjY0luZm8gdWwgewogICAgZmxvYXQ6IGxlZnQ7IH0KICAgIC5hY2NJbmZvIHVsIGxpIC5pY29uTGVmdCB7CiAgICAgIHBhZGRpbmctbGVmdDogNDdweDsgfQogICAgICAuYWNjSW5mbyB1bCBsaSAuaWNvbkxlZnQgW2NsYXNzKj0iaWNvbi0iXSB7CiAgICAgICAgZm9udC1zaXplOiAzNHB4OwogICAgICAgIG1hcmdpbi10b3A6IC0xN3B4OwogICAgICAgIGNvbG9yOiB3aGl0ZTsgfQogICAgICAuYWNjSW5mbyB1bCBsaSAuaWNvbkxlZnQgLmRhdGEgc3BhbiB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgZm9udC1zaXplOiAxNXB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4OwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtOyB9CiAgICAuYWNjSW5mbyB1bCBsaSArIGxpIHsKICAgICAgbWFyZ2luLXRvcDogMjVweDsgfQogICAgLmFjY0luZm8gdWwgKyAudXNlckJhbCB7CiAgICAgIG1hcmdpbi1sZWZ0OiA3MHB4OyB9CiAgLmFjY0luZm8gLmJ0bnNDYWIgewogICAgZmxvYXQ6IHJpZ2h0OwogICAgd2lkdGg6IDIxMHB4OyB9CiAgICAuYWNjSW5mbyAuYnRuc0NhYiBbY2xhc3MqPSJidG5GaWxsIl0gewogICAgICB3aWR0aDogMTAwJTsgfQogICAgICAuYWNjSW5mbyAuYnRuc0NhYiBbY2xhc3MqPSJidG5GaWxsIl0gKyBbY2xhc3MqPSJidG5GaWxsIl0gewogICAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH0KCi51c2VyQmFsIHsKICBmbG9hdDogbGVmdDsKICBwYWRkaW5nOiAyOXB4IDBweDsgfQogIC51c2VyQmFsIC5pY29uTGVmdCB7CiAgICBwYWRkaW5nLWxlZnQ6IDEyOHB4OyB9CiAgICAudXNlckJhbCAuaWNvbkxlZnQgPiBbY2xhc3MqPSJpY29uIl0gewogICAgICBmb250LXNpemU6IDYycHg7CiAgICAgIGxpbmUtaGVpZ2h0OiA5MXB4OwogICAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDIwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIxKTsKICAgICAgLW1vei1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAyMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yMSk7CiAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDIwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIxKTsKICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAtbXMtYm9yZGVyLXJhZGl1czogNTAlOwogICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgIHdpZHRoOiA5MXB4OwogICAgICBoZWlnaHQ6IDkxcHg7CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgbWFyZ2luLXRvcDogLTQ2cHg7CiAgICAgIHotaW5kZXg6IDE7IH0KICAgICAgLnVzZXJCYWwgLmljb25MZWZ0ID4gW2NsYXNzKj0iaWNvbiJdIFtjbGFzcyo9Imljb24iXSB7CiAgICAgICAgbGluZS1oZWlnaHQ6IDkxcHg7IH0KICAgICAgLnVzZXJCYWwgLmljb25MZWZ0ID4gW2NsYXNzKj0iaWNvbiJdOjpiZWZvcmUgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgLW1zLWJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIwMmIyZjsKICAgICAgICB6LWluZGV4OiAtMTsgfQogICAgLnVzZXJCYWwgLmljb25MZWZ0IC5kYXRhIC50aXRsZSB7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICBmb250LXNpemU6IDE1cHg7CiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4OwogICAgICBjb2xvcjogd2hpdGU7CiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgICBsZXR0ZXItc3BhY2luZzogMC4wMjVlbTsKICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfQogICAgLnVzZXJCYWwgLmljb25MZWZ0IC5kYXRhIC5udW0gewogICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgIGxpbmUtaGVpZ2h0OiAzNnB4OwogICAgICBjb2xvcjogd2hpdGU7CiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgICBsZXR0ZXItc3BhY2luZzogMC4wMjVlbTsgfQoKLmJhbEluZm8gewogIHBhZGRpbmctbGVmdDogNDBweDsKICBwYWRkaW5nLXRvcDogOHB4OwogIG1pbi1oZWlnaHQ6IDMzNHB4OwogIGZvbnQtc2l6ZTogMDsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODcpOwogIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAyN3B4IHJnYmEoMCwgMCwgMCwgMC4yMSk7CiAgLW1vei1ib3gtc2hhZG93OiAwcHggMHB4IDI3cHggcmdiYSgwLCAwLCAwLCAwLjIxKTsKICBib3gtc2hhZG93OiAwcHggMHB4IDI3cHggcmdiYSgwLCAwLCAwLCAwLjIxKTsKICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDIwcHg7CiAgLW1vei1ib3JkZXItcmFkaXVzOiAyMHB4OwogIC1tcy1ib3JkZXItcmFkaXVzOiAyMHB4OwogIGJvcmRlci1yYWRpdXM6IDIwcHg7IH0KICAuYmFsSW5mbyAuaXRlbSB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICB3aWR0aDogNTAlOwogICAgcGFkZGluZy10b3A6IDE4cHg7CiAgICBwYWRkaW5nLWJvdHRvbTogMThweDsKICAgIHBhZGRpbmctbGVmdDogMTVweDsgfQogICAgLmJhbEluZm8gLml0ZW0gLmljb25MZWZ0IHsKICAgICAgcGFkZGluZy1sZWZ0OiA2MHB4OyB9CiAgICAgIC5iYWxJbmZvIC5pdGVtIC5pY29uTGVmdCAuaWNvbiB7CiAgICAgICAgd2lkdGg6IDQwcHg7CiAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICAgIG1hcmdpbi10b3A6IC0yMHB4OwogICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIC1tcy1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOwogICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH0KICAgICAgLmJhbEluZm8gLml0ZW0gLmljb25MZWZ0IC5kYXRhIHNwYW4gewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGZvbnQtc2l6ZTogMTVweDsKICAgICAgICBsaW5lLWhlaWdodDogMjJweDsKICAgICAgICBjb2xvcjogIzIwMmIyZjsKICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtOyB9CiAgLmJhbEluZm8gW2NsYXNzKj0iYnRuRmlsbCJdIHsKICAgIG1hcmdpbi1sZWZ0OiAyMHB4OwogICAgdmVydGljYWwtYWxpZ246IHRvcDsKICAgIG1hcmdpbi10b3A6IDE3cHg7IH0KCi5jYWJJdGVtIHsKICBwYWRkaW5nLXRvcDogNjRweDsgfQogIC5jYWJJdGVtIFtjbGFzcyo9ImNhcHRpb24iXSArIC5hY2NUYmwgewogICAgbWFyZ2luLXRvcDogNDdweDsgfQogICAgLmNhYkl0ZW0gW2NsYXNzKj0iY2FwdGlvbiJdICsgLmFjY1RibCArIC5yZWZMaW5rIHsKICAgICAgbWFyZ2luLXRvcDogNjVweDsgfQogIC5jYWJJdGVtIFtjbGFzcyo9ImNhcHRpb24iXSArIC5vcGVyV3JhcCB7CiAgICBtYXJnaW4tdG9wOiA4NXB4OyB9CiAgICAuY2FiSXRlbSBbY2xhc3MqPSJjYXB0aW9uIl0gKyAub3BlcldyYXAub3V0IHsKICAgICAgbWFyZ2luLXRvcDogNzNweDsgfQogIC5jYWJJdGVtIFtjbGFzcyo9ImNhcHRpb24iXSArIC5maWx0ZXIgewogICAgbWFyZ2luLXRvcDogNDhweDsgfQogIC5jYWJJdGVtIFtjbGFzcyo9ImNhcHRpb24iXSArIC5yZWZMaW5rIHsKICAgIG1hcmdpbi10b3A6IDcwcHg7IH0KICAuY2FiSXRlbS5wcm9maWxlIHsKICAgIHBhZGRpbmctYm90dG9tOiAxNDBweDsgfQogIC5jYWJJdGVtLm1ha2VQYXkgewogICAgcGFkZGluZy1ib3R0b206IDExNXB4OyB9CiAgICAuY2FiSXRlbS5tYWtlUGF5Lm91dCB7CiAgICAgIHBhZGRpbmctYm90dG9tOiA5MHB4OyB9CiAgLmNhYkl0ZW0uZWFybiB7CiAgICBwYWRkaW5nLWJvdHRvbTogMjA1cHg7IH0KICAuY2FiSXRlbS5yZWZlcnJhbCB7CiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7IH0KCi50YmxXcmFwIHsKICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMjdweCByZ2JhKDAsIDAsIDAsIDAuMjEpOwogIC1tb3otYm94LXNoYWRvdzogMHB4IDBweCAyN3B4IHJnYmEoMCwgMCwgMCwgMC4yMSk7CiAgYm94LXNoYWRvdzogMHB4IDBweCAyN3B4IHJnYmEoMCwgMCwgMCwgMC4yMSk7CiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAyMHB4OwogIC1tb3otYm9yZGVyLXJhZGl1czogMjBweDsKICAtbXMtYm9yZGVyLXJhZGl1czogMjBweDsKICBib3JkZXItcmFkaXVzOiAyMHB4OwogIG92ZXJmbG93OiBoaWRkZW47IH0KCi50YmxUZW1wbDIgLnRSb3cgewogIGhlaWdodDogNTBweDsgfQogIC50YmxUZW1wbDIgLnRSb3cgLnBhcmFtIHsKICAgIGZvbnQtc2l6ZTogMTVweDsKICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgY29sb3I6IHdoaXRlOwogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtOwogICAgd2lkdGg6IDI4MHB4OwogICAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9CiAgLnRibFRlbXBsMiAudFJvdyAuZGF0YSB7CiAgICBmb250LXNpemU6IDE3cHg7CiAgICBsaW5lLWhlaWdodDogMTsKICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKICAgIHBhZGRpbmctbGVmdDogMjJweDsgfQogIC50YmxUZW1wbDIgLnRSb3cgKyAudFJvdyAudENlbGwgewogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yMSk7IH0KLnRibFRlbXBsMi5pbiAucGFyYW0gewogIGJhY2tncm91bmQtY29sb3I6ICMzYzllZjE7IH0KLnRibFRlbXBsMi5pbiAuZGF0YSB7CiAgY29sb3I6ICMzYzllZjE7IH0KLnRibFRlbXBsMi5vdXQgLnBhcmFtIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDRkMjlkOyB9Ci50YmxUZW1wbDIub3V0IC5kYXRhIHsKICBjb2xvcjogIzQ0ZDI5ZDsgfQoKLnJlZkxpbmsgLnVzZXJMaW5rIHsKICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KICAucmVmTGluayAudXNlckxpbmsgLnVzZXJwaWMgewogICAgbWFyZ2luOiAwIGF1dG87CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMjFweCByZ2JhKDAsIDAsIDAsIDAuMTEpLCAwcHggMHB4IDBweCAyMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43Nyk7CiAgICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggMjFweCByZ2JhKDAsIDAsIDAsIDAuMTEpLCAwcHggMHB4IDBweCAyMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43Nyk7CiAgICBib3gtc2hhZG93OiAwcHggMHB4IDIxcHggcmdiYSgwLCAwLCAwLCAwLjExKSwgMHB4IDBweCAwcHggMjBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzcpOyB9CiAgICAucmVmTGluayAudXNlckxpbmsgLnVzZXJwaWMgKyAudGl0bGUgewogICAgICBtYXJnaW4tdG9wOiA0MHB4OyB9CiAgICAucmVmTGluayAudXNlckxpbmsgLnVzZXJwaWMgKyAuc3VidGl0bGUgewogICAgICBtYXJnaW4tdG9wOiA0MHB4OwogICAgICBsaW5lLWhlaWdodDogMzNweDsgfQogIC5yZWZMaW5rIC51c2VyTGluayAudGl0bGUgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBsaW5lLWhlaWdodDogMjZweDsgfQogIC5yZWZMaW5rIC51c2VyTGluayBhIHsKICAgIGZvbnQtc2l6ZTogMTdweDsKICAgIGxpbmUtaGVpZ2h0OiAzMHB4OwogICAgY29sb3I6ICMwNGE0ZjI7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTsgfQogIC5yZWZMaW5rIC51c2VyTGluayArIC5saW5rQmxvY2sgewogICAgbWFyZ2luLXRvcDogMzNweDsgfQogIC5yZWZMaW5rIC51c2VyTGluayArIC5yZWZJbmZvIHsKICAgIG1hcmdpbi10b3A6IDQ1cHg7IH0KLnJlZkxpbmsgLnRpdGxlIHsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGZvbnQtc2l6ZTogMTVweDsKICBsaW5lLWhlaWdodDogNjBweDsKICBjb2xvcjogIzIwMmIyZjsKICBmb250LXdlaWdodDogYm9sZDsKICBsZXR0ZXItc3BhY2luZzogMC4wMmVtOyB9Ci5yZWZMaW5rIC5saW5rQmxvY2sgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBwYWRkaW5nOiAwIDhweDsKICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDMwcHg7CiAgLW1vei1ib3JkZXItcmFkaXVzOiAzMHB4OwogIC1tcy1ib3JkZXItcmFkaXVzOiAzMHB4OwogIGJvcmRlci1yYWRpdXM6IDMwcHg7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjU1KTsKICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMjFweCByZ2JhKDAsIDAsIDAsIDAuMjEpOwogIC1tb3otYm94LXNoYWRvdzogMHB4IDBweCAyMXB4IHJnYmEoMCwgMCwgMCwgMC4yMSk7CiAgYm94LXNoYWRvdzogMHB4IDBweCAyMXB4IHJnYmEoMCwgMCwgMCwgMC4yMSk7IH0KICAucmVmTGluayAubGlua0Jsb2NrIC5pY29uTGVmdCB7CiAgICBwYWRkaW5nLWxlZnQ6IDYycHg7IH0KICAgIC5yZWZMaW5rIC5saW5rQmxvY2sgLmljb25MZWZ0IFtjbGFzcyo9Imljb24iXSB7CiAgICAgIGZvbnQtc2l6ZTogMjVweDsKICAgICAgbGluZS1oZWlnaHQ6IDQ1cHg7CiAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICAgICAgd2lkdGg6IDQ1cHg7CiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDJiMmY7CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAtbXMtYm9yZGVyLXJhZGl1czogNTAlOwogICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgIG1hcmdpbi10b3A6IC0yM3B4OyB9CiAgLnJlZkxpbmsgLmxpbmtCbG9jayBhIHsKICAgIGZvbnQtc2l6ZTogMTVweDsKICAgIGxpbmUtaGVpZ2h0OiA2MHB4OwogICAgY29sb3I6ICMzYzllZjE7CiAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTsKICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9CiAgLnJlZkxpbmsgLmxpbmtCbG9jayBbY2xhc3MqPSJidG5GaWxsIl0gewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgcmlnaHQ6IDhweDsKICAgIHRvcDogNTAlOwogICAgbWFyZ2luLXRvcDogLTIzcHg7IH0KCi5vcGVyV3JhcCAuc3VidGl0bGUgKyAud3JhcCB7CiAgbWFyZ2luLXRvcDogNjNweDsgfQoub3BlcldyYXAgLnN1YnRpdGxlICsgLnBheUZvcm0gewogIG1hcmdpbi10b3A6IDQwcHg7IH0KLm9wZXJXcmFwIC53cmFwICsgLndyYXAgewogIG1hcmdpbi10b3A6IDQ4cHg7IH0KLm9wZXJXcmFwIC53cmFwICsgW2NsYXNzKj0iYnRuRmlsbCJdIHsKICBtYXJnaW4tdG9wOiA1NXB4OyB9Ci5vcGVyV3JhcCAud3JhcCArIC50b3RhbFN1bSB7CiAgbWFyZ2luLXRvcDogODVweDsgfQoub3BlcldyYXAgLnRvdGFsU3VtICsgW2NsYXNzKj0iYnRuRmlsbCJdIHsKICBtYXJnaW4tdG9wOiA1NXB4OyB9CgoucGxhbldyYXBDYXJkIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgb3BhY2l0eTogMTsKICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zczsKICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zczsKICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7CiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzOyB9CiAgLnBsYW5XcmFwQ2FyZDpob3ZlciB7CiAgICBvcGFjaXR5OiAwLjg7IH0KICAucGxhbldyYXBDYXJkIGlucHV0IHsKICAgIGRpc3BsYXk6IG5vbmU7IH0KICAgIC5wbGFuV3JhcENhcmQgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsIHsKICAgICAgYm9yZGVyLWNvbG9yOiBibGFjazsgfQogIC5wbGFuV3JhcENhcmQgbGFiZWwgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgZGlzcGxheTogYmxvY2s7CiAgICB0b3A6IDBweDsKICAgIGxlZnQ6IDBweDsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgei1pbmRleDogMTsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMjBweDsKICAgIC1tb3otYm9yZGVyLXJhZGl1czogMjBweDsKICAgIC1tcy1ib3JkZXItcmFkaXVzOiAyMHB4OwogICAgYm9yZGVyLXJhZGl1czogMjBweDsKICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3JkZXIgMC4zczsKICAgIC1tb3otdHJhbnNpdGlvbjogYm9yZGVyIDAuM3M7CiAgICAtby10cmFuc2l0aW9uOiBib3JkZXIgMC4zczsKICAgIHRyYW5zaXRpb246IGJvcmRlciAwLjNzOwogICAgY3Vyc29yOiBwb2ludGVyOyB9CgoucGF5Rm9ybSB7CiAgcGFkZGluZzogMHB4IDY4cHg7CiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7CiAgbWluLWhlaWdodDogMTcycHg7CiAgcGFkZGluZy10b3A6IDMzcHg7CiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDI3cHggcmdiYSgwLCAwLCAwLCAwLjIxKTsKICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggMjdweCByZ2JhKDAsIDAsIDAsIDAuMjEpOwogIGJveC1zaGFkb3c6IDBweCAwcHggMjdweCByZ2JhKDAsIDAsIDAsIDAuMjEpOwogIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMjBweDsKICAtbW96LWJvcmRlci1yYWRpdXM6IDIwcHg7CiAgLW1zLWJvcmRlci1yYWRpdXM6IDIwcHg7CiAgYm9yZGVyLXJhZGl1czogMjBweDsgfQogIC5wYXlGb3JtIC5wYXlNZXQgKyBbY2xhc3MqPSJmb3JtQmxvY2siXSB7CiAgICBtYXJnaW4tdG9wOiAzNXB4OyB9CiAgLnBheUZvcm0gW2NsYXNzKj0iZm9ybUJsb2NrIl0gewogICAgaGVpZ2h0OiA1OHB4OyB9CiAgICAucGF5Rm9ybSBbY2xhc3MqPSJmb3JtQmxvY2siXSBsYWJlbCB7CiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgICAgIGxpbmUtaGVpZ2h0OiAzNnB4OyB9CiAgICAgIC5wYXlGb3JtIFtjbGFzcyo9ImZvcm1CbG9jayJdIGxhYmVsICsgaW5wdXQgewogICAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH0KICAgIC5wYXlGb3JtIFtjbGFzcyo9ImZvcm1CbG9jayJdIGlucHV0IHsKICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4OyB9CiAgICAucGF5Rm9ybSBbY2xhc3MqPSJmb3JtQmxvY2siXSAuc2VsZWN0cmljIHsKICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7IH0KICAgICAgLnBheUZvcm0gW2NsYXNzKj0iZm9ybUJsb2NrIl0gLnNlbGVjdHJpYyAubGFiZWwgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OyB9CiAgICAucGF5Rm9ybSBbY2xhc3MqPSJmb3JtQmxvY2siXSAuc2VsZWN0cmljLXdyYXBwZXIgewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIGxlZnQ6IDBweDsKICAgICAgdG9wOiAwcHg7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zczsKICAgICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7CiAgICAgIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4zczsKICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzOwogICAgICBvcGFjaXR5OiAwOwogICAgICBtYXJnaW4tdG9wOiAwcHg7IH0KICAgICAgLnBheUZvcm0gW2NsYXNzKj0iZm9ybUJsb2NrIl0gbGFiZWwgKyAuc2VsZWN0cmljLXdyYXBwZXIgewogICAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7CiAgICAgIH0KICAgICAgLnBheUZvcm0gW2NsYXNzKj0iZm9ybUJsb2NrIl0gLnNlbGVjdHJpYy13cmFwcGVyLmFjdGl2ZSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICB6LWluZGV4OiAyOyB9CiAgICAucGF5Rm9ybSBbY2xhc3MqPSJmb3JtQmxvY2siXSAuc2VsZWN0cmljLWl0ZW1zIGxpIHsKICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfQogIC5wYXlGb3JtICsgLnRvdGFsU3VtIHsKICAgIG1hcmdpbi10b3A6IDM1cHg7IH0KCi5wYXlNZXQgewogIGZvbnQtc2l6ZTogMHB4OyB9CiAgLnBheU1ldCBsaSB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0KICAgIC5wYXlNZXQgbGkgaW5wdXQgewogICAgICBkaXNwbGF5OiBub25lOyB9CiAgICAgIC5wYXlNZXQgbGkgaW5wdXQgKyBsYWJlbDo6YmVmb3JlIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgbGVmdDogMHB4OwogICAgICAgIHdpZHRoOiAzMXB4OwogICAgICAgIGhlaWdodDogMzFweDsKICAgICAgICBtYXJnaW4tdG9wOiAtMTZweDsKICAgICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICAtbXMtYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlZGY0OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkM2Q5ZGY7CiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwcHggM3B4IDdweCByZ2JhKDAsIDAsIDAsIDAuMDcpOwogICAgICAgIC1tb3otYm94LXNoYWRvdzogaW5zZXQgMHB4IDNweCA3cHggcmdiYSgwLCAwLCAwLCAwLjA3KTsKICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwcHggM3B4IDdweCByZ2JhKDAsIDAsIDAsIDAuMDcpOyB9CiAgICAgIC5wYXlNZXQgbGkgaW5wdXQ6bm90KGNoZWNrZWQpICsgbGFiZWw6OmFmdGVyIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgbGVmdDogOXB4OwogICAgICAgIHdpZHRoOiAxM3B4OwogICAgICAgIGhlaWdodDogMTNweDsKICAgICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICAtbXMtYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjAyYjJmOwogICAgICAgIG1hcmdpbi10b3A6IC03cHg7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zczsKICAgICAgICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zczsKICAgICAgICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzOyB9CiAgICAgIC5wYXlNZXQgbGkgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOjphZnRlciB7CiAgICAgICAgb3BhY2l0eTogMTsgfQogICAgLnBheU1ldCBsaSBsYWJlbCB7CiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7CiAgICAgIGZvbnQtc2l6ZTogMTVweDsKICAgICAgbGluZS1oZWlnaHQ6IDIxcHg7CiAgICAgIGNvbG9yOiAjMjAyYjJmOwogICAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzOwogICAgICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zczsKICAgICAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzOwogICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7CiAgICAgIG9wYWNpdHk6IDE7IH0KICAgICAgLnBheU1ldCBsaSBsYWJlbDpob3ZlciB7CiAgICAgICAgb3BhY2l0eTogMC43OyB9CiAgICAucGF5TWV0IGxpICsgbGkgewogICAgICBtYXJnaW4tbGVmdDogNjJweDsgfQoKLnRvdGFsU3VtIHNwYW4gewogIGRpc3BsYXk6IGJsb2NrOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGZvbnQtc2l6ZTogMjBweDsKICBsaW5lLWhlaWdodDogNDRweDsKICBmb250LXdlaWdodDogYm9sZDsKICBsZXR0ZXItc3BhY2luZzogMC4wMjVlbTsgfQogIC50b3RhbFN1bSBzcGFuIC5udW0gewogICAgZm9udC1zaXplOiA0MHB4OyB9CgoucGF5U3lzSW1nIHsKICBkaXNwbGF5OiBibG9jazsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiA1MCU7CiAgbWFyZ2luLXRvcDogLTE5cHg7CiAgbGVmdDogNXB4OwogIHdpZHRoOiAzNnB4OwogIGhlaWdodDogMzZweDsKICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTsKICAtbW96LWJvcmRlci1yYWRpdXM6IDUwJTsKICAtbXMtYm9yZGVyLXJhZGl1czogNTAlOwogIGJvcmRlci1yYWRpdXM6IDUwJTsKICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOwogIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9CgouZmlsdGVyIHsKICBwYWRkaW5nLWxlZnQ6IDI1cHg7CiAgcGFkZGluZy1yaWdodDogMzBweDsKICBwYWRkaW5nLXRvcDogMjBweDsKICBwYWRkaW5nLWJvdHRvbTogMzBweDsKICBmb250LXNpemU6IDBweDsKICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDIwcHg7CiAgLW1vei1ib3JkZXItcmFkaXVzOiAyMHB4OwogIC1tcy1ib3JkZXItcmFkaXVzOiAyMHB4OwogIGJvcmRlci1yYWRpdXM6IDIwcHg7CiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDI3cHggcmdiYSgwLCAwLCAwLCAwLjIxKTsKICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggMjdweCByZ2JhKDAsIDAsIDAsIDAuMjEpOwogIGJveC1zaGFkb3c6IDBweCAwcHggMjdweCByZ2JhKDAsIDAsIDAsIDAuMjEpOyB9CiAgLmZpbHRlciBbY2xhc3MqPSdidG4nXSB7CiAgICBmbG9hdDogcmlnaHQ7CiAgICBtYXJnaW4tdG9wOiAyOXB4OyB9CiAgLmZpbHRlciBbY2xhc3MqPSJmb3JtQmxvY2siXSB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICB3aWR0aDogMjUwcHg7CiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOwogICAgbWFyZ2luLXJpZ2h0OiAyNXB4OyB9CiAgICAuZmlsdGVyIFtjbGFzcyo9ImZvcm1CbG9jayJdLmRhdGUgewogICAgICB3aWR0aDogNjc1cHg7IH0KICAgICAgLmZpbHRlciBbY2xhc3MqPSJmb3JtQmxvY2siXS5kYXRlIC5zZWxlY3RyaWMtd3JhcHBlciB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICAgICAgd2lkdGg6IDIwMHB4OyB9CiAgICAgICAgLmZpbHRlciBbY2xhc3MqPSJmb3JtQmxvY2siXS5kYXRlIC5zZWxlY3RyaWMtd3JhcHBlciArIC5zZWxlY3RyaWMtd3JhcHBlciB7CiAgICAgICAgICBtYXJnaW4tbGVmdDogMjVweDsgfQogICAgLmZpbHRlciBbY2xhc3MqPSJmb3JtQmxvY2siXSBsYWJlbCArIGlucHV0IHsKICAgICAgbWFyZ2luLXRvcDogNXB4OyB9CiAgICAuZmlsdGVyIFtjbGFzcyo9ImZvcm1CbG9jayJdIGlucHV0IHsKICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICBmb250LXNpemU6IDEzcHg7IH0KICAgIC5maWx0ZXIgW2NsYXNzKj0iZm9ybUJsb2NrIl0gLnNlbGVjdHJpYy13cmFwcGVyIHsKICAgICAgbWFyZ2luLXRvcDogNXB4OyB9CiAgICAgIC5maWx0ZXIgW2NsYXNzKj0iZm9ybUJsb2NrIl0gLnNlbGVjdHJpYy13cmFwcGVyIC5zZWxlY3RyaWMgewogICAgICAgIHBhZGRpbmctbGVmdDogMThweDsgfQogICAgICAuZmlsdGVyIFtjbGFzcyo9ImZvcm1CbG9jayJdIC5zZWxlY3RyaWMtd3JhcHBlciAubGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsgfQogIC5maWx0ZXIgKyAudGJsVGVtcGwzIHsKICAgIG1hcmdpbi10b3A6IDYwcHg7IH0KICAuZmlsdGVyLmRhdGUgewogICAgcGFkZGluZy1sZWZ0OiAyM3B4OwogICAgcGFkZGluZy1yaWdodDogMjhweDsgfQogICAgLmZpbHRlci5kYXRlIFtjbGFzcyo9ImZvcm1CbG9jayJdIHsKICAgICAgd2lkdGg6IDQ3NXB4OwogICAgICBtYXJnaW4tcmlnaHQ6IDBweDsgfQogICAgICAuZmlsdGVyLmRhdGUgW2NsYXNzKj0iZm9ybUJsb2NrIl0gKyBbY2xhc3MqPSJmb3JtQmxvY2siXSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDMycHg7IH0KICAgICAgLmZpbHRlci5kYXRlIFtjbGFzcyo9ImZvcm1CbG9jayJdIC5zZWxlY3RyaWMtd3JhcHBlciB7CiAgICAgICAgd2lkdGg6IDEzMHB4OyB9CgoudWktd2lkZ2V0IHsKICBmb250LWZhbWlseTogIk1vbnRzZXJyYXQiOyB9CgoudWktd2lkZ2V0LWNvbnRlbnQgewogIGJhY2tncm91bmQ6IHdoaXRlOwogIGJvcmRlci1jb2xvcjogI2U2ZWVmMzsgfQoKLnVpLWRhdGVwaWNrZXItbW9udGggewogIGZvbnQtZmFtaWx5OiAiTW9udHNlcnJhdCI7IH0KCi51aS13aWRnZXQtaGVhZGVyIHsKICBib3JkZXI6IDFweCBzb2xpZCAjNDRkMjlkOwogIGJhY2tncm91bmQ6ICM0NGQyOWQ7IH0KCi51aS1zdGF0ZS1kZWZhdWx0LAoudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWRlZmF1bHQgewogIGNvbG9yOiAjMjAyYjJmOwogIGJhY2tncm91bmQ6ICNlNmVkZjQ7IH0KCi51aS1zdGF0ZS1oaWdobGlnaHQsCi51aS1zdGF0ZS1ob3ZlciwKLnVpLXN0YXRlLWFjdGl2ZSwKLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1oaWdobGlnaHQsCi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaG92ZXIsCi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtYWN0aXZlLAoudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaGlnaGxpZ2h0IHsKICBib3JkZXI6IDFweCBzb2xpZCAjM2M5ZWYxOwogIGJhY2tncm91bmQ6IHJnYmEoNjAsIDE1OCwgMjQxLCAwLjEpOwogIGNvbG9yOiAjMjAyYjJmOyB9CgoudGJsVGVtcGwzIC5saW5lIHsKICBwYWRkaW5nOiA4cHggOXB4OwogIGhlaWdodDogNTlweDsKICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDMwcHg7CiAgLW1vei1ib3JkZXItcmFkaXVzOiAzMHB4OwogIC1tcy1ib3JkZXItcmFkaXVzOiAzMHB4OwogIGJvcmRlci1yYWRpdXM6IDMwcHg7CiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDIxcHggcmdiYSgwLCAwLCAwLCAwLjIxKTsKICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggMjFweCByZ2JhKDAsIDAsIDAsIDAuMjEpOwogIGJveC1zaGFkb3c6IDBweCAwcHggMjFweCByZ2JhKDAsIDAsIDAsIDAuMjEpOyB9CiAgLnRibFRlbXBsMyAubGluZSArIC5saW5lIHsKICAgIG1hcmdpbi10b3A6IDExcHg7IH0KLnRibFRlbXBsMyAudENlbGwgc3BhbiBiIHsKICBkaXNwbGF5OiBibG9jazsgfQoudGJsVGVtcGwzIC5wYXlJbWcgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB3aWR0aDogNDBweDsKICBoZWlnaHQ6IDQwcHg7CiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7CiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTsKICAtbW96LWJvcmRlci1yYWRpdXM6IDUwJTsKICAtbXMtYm9yZGVyLXJhZGl1czogNTAlOwogIGJvcmRlci1yYWRpdXM6IDUwJTsgfQoudGJsVGVtcGwzIC50eXBlIHsKICB3aWR0aDogMjU4cHg7CiAgcGFkZGluZy1sZWZ0OiAzNHB4OwogIGZvbnQtc2l6ZTogMTNweDsKICBsaW5lLWhlaWdodDogMTdweDsKICBjb2xvcjogIzIwMmIyZjsKICBmb250LXdlaWdodDogbm9ybWFsOwogIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtOyB9Ci50YmxUZW1wbDMgLnBheSB7CiAgd2lkdGg6IDQwcHg7IH0KLnRibFRlbXBsMyBbY2xhc3MqPSJzdW0iXSB7CiAgd2lkdGg6IDE0NHB4OwogIGZvbnQtc2l6ZTogMTNweDsKICBsaW5lLWhlaWdodDogMTZweDsKICBjb2xvcjogd2hpdGU7CiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICBsZXR0ZXItc3BhY2luZzogMC4wMjVlbTsgfQogIC50YmxUZW1wbDMgW2NsYXNzKj0ic3VtIl0gc3BhbiB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHBhZGRpbmctbGVmdDogMzVweDsKICAgIHBhZGRpbmctdG9wOiA1cHg7CiAgICB3aWR0aDogMTI5cHg7CiAgICBtaW4taGVpZ2h0OiA0M3B4OwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAyMnB4OwogICAgLW1vei1ib3JkZXItcmFkaXVzOiAyMnB4OwogICAgLW1zLWJvcmRlci1yYWRpdXM6IDIycHg7CiAgICBib3JkZXItcmFkaXVzOiAyMnB4OyB9Ci50YmxUZW1wbDMgLnN1bTEgc3BhbiB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzNjOWVmMTsgfQoudGJsVGVtcGwzIC5zdW0yIHNwYW4gewogIGJhY2tncm91bmQtY29sb3I6ICM0NGQyOWQ7IH0KLnRibFRlbXBsMyAuc3VtMyBzcGFuIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjAyYjJmOyB9Ci50YmxUZW1wbDMgLmNvbW0gewogIHBhZGRpbmctbGVmdDogMTBweDsKICBmb250LXNpemU6IDEzcHg7CiAgbGluZS1oZWlnaHQ6IDE2cHg7CiAgY29sb3I6ICMyMDJiMmY7CiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICBsZXR0ZXItc3BhY2luZzogMC4wMjVlbTsgfQoudGJsVGVtcGwzICsgLnBhZ2luYXRpb24gewogIG1hcmdpbi10b3A6IDQ1cHg7IH0KCi5yZWZlcnJhbCAucmVmTGluayArIC53cmFwIHsKICBtYXJnaW4tdG9wOiA2NXB4OyB9CiAgLnJlZmVycmFsIC5yZWZMaW5rICsgLndyYXAgKyAud3JhcCB7CiAgICBtYXJnaW4tdG9wOiA2MHB4OyB9Ci5yZWZlcnJhbCAud3JhcCArIC5wYWdpbmF0aW9uIHsKICBtYXJnaW4tdG9wOiA2OHB4OyB9Ci5yZWZlcnJhbCAuc3VidGl0bGUgKyAuZmlsdGVyIHsKICBtYXJnaW4tdG9wOiA1MHB4OyB9CiAgLnJlZmVycmFsIC5zdWJ0aXRsZSArIC5maWx0ZXIgKyAudGJsVGVtcGw0IHsKICAgIG1hcmdpbi10b3A6IDI1cHg7IH0KLnJlZmVycmFsIC5zdWJ0aXRsZSArIC5yZWZMaXN0IHsKICBtYXJnaW4tdG9wOiA1MHB4OyB9CgoucmVmSW5mbyAuaW4gewogIHBhZGRpbmctbGVmdDogNDJweDsKICBwYWRkaW5nLXRvcDogOHB4OwogIG1pbi1oZWlnaHQ6IDU5cHg7CiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAzMHB4OwogIC1tb3otYm9yZGVyLXJhZGl1czogMzBweDsKICAtbXMtYm9yZGVyLXJhZGl1czogMzBweDsKICBib3JkZXItcmFkaXVzOiAzMHB4OwogIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAyMXB4IHJnYmEoMCwgMCwgMCwgMC4yMSk7CiAgLW1vei1ib3gtc2hhZG93OiAwcHggMHB4IDIxcHggcmdiYSgwLCAwLCAwLCAwLjIxKTsKICBib3gtc2hhZG93OiAwcHggMHB4IDIxcHggcmdiYSgwLCAwLCAwLCAwLjIxKTsgfQogIC5yZWZJbmZvIC5pbiBzcGFuIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgZm9udC1zaXplOiAxNXB4OwogICAgbGluZS1oZWlnaHQ6IDIycHg7CiAgICBjb2xvcjogd2hpdGU7CiAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07IH0KICAgIC5yZWZJbmZvIC5pbiBzcGFuIGIgewogICAgICBkaXNwbGF5OiBibG9jazsgfQogIC5yZWZJbmZvIC5pbi50b3QgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzNjOWVmMTsgfQogIC5yZWZJbmZvIC5pbi5zdW0gewogICAgYmFja2dyb3VuZC1jb2xvcjogIzExYzBjNTsgfQogIC5yZWZJbmZvIC5pbi5hY3QgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzQ0ZDI5ZDsgfQoKLnRibFRlbXBsNCB7CiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAyMHB4OwogIC1tb3otYm9yZGVyLXJhZGl1czogMjBweDsKICAtbXMtYm9yZGVyLXJhZGl1czogMjBweDsKICBib3JkZXItcmFkaXVzOiAyMHB4OwogIG92ZXJmbG93OiBoaWRkZW47CiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDI3cHggcmdiYSgwLCAwLCAwLCAwLjIxKTsKICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggMjdweCByZ2JhKDAsIDAsIDAsIDAuMjEpOwogIGJveC1zaGFkb3c6IDBweCAwcHggMjdweCByZ2JhKDAsIDAsIDAsIDAuMjEpOyB9CiAgLnRibFRlbXBsNCAudEhlYWQgewogICAgaGVpZ2h0OiA1MHB4OwogICAgYmFja2dyb3VuZC1jb2xvcjogIzNjOWVmMTsgfQogICAgLnRibFRlbXBsNCAudEhlYWQgLnRDZWxsIHsKICAgICAgZm9udC1zaXplOiAxNXB4OwogICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgY29sb3I6IHdoaXRlOwogICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07CiAgICAgIHRleHQtcmFuc2Zvcm06IHVwcGVyY2FzZTsgfQogIC50YmxUZW1wbDQgLnRSb3cgewogICAgaGVpZ2h0OiA1MHB4OwogICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH0KICAgIC50YmxUZW1wbDQgLnRSb3cgLnRDZWxsIHsKICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yMSk7IH0KICAgIC50YmxUZW1wbDQgLnRSb3cgLmRheSB7CiAgICAgIGZvbnQtc2l6ZTogMTVweDsKICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgIGNvbG9yOiAjMjAyYjJmOwogICAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgICBsZXR0ZXItc3BhY2luZzogMC4wMjVweDsgfQogICAgLnRibFRlbXBsNCAudFJvdyAuaW5zIHsKICAgICAgZm9udC1zaXplOiAxNXB4OwogICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgY29sb3I6ICMzYzllZjE7CiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgICBsZXR0ZXItc3BhY2luZzogMC4wMjVweDsgfQogICAgLnRibFRlbXBsNCAudFJvdyAuc2lnbiB7CiAgICAgIGZvbnQtc2l6ZTogMTVweDsKICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgIGNvbG9yOiAjM2M5ZWYxOwogICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1cHg7IH0KICAudGJsVGVtcGw0IC5kYXkgewogICAgd2lkdGg6IDE1NXB4OyB9CiAgLnRibFRlbXBsNCAuc2lnbiB7CiAgICB3aWR0aDogMjIwcHg7IH0KCi5yZWZJdGVtIC5oZWFkIHsKICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKICBoZWlnaHQ6IDU5cHg7CiAgcGFkZGluZzogMHB4IDlweDsKICBjdXJzb3I6IHBvaW50ZXI7CiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAzMHB4OwogIC1tb3otYm9yZGVyLXJhZGl1czogMzBweDsKICAtbXMtYm9yZGVyLXJhZGl1czogMzBweDsKICBib3JkZXItcmFkaXVzOiAzMHB4OwogIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAyMXB4IHJnYmEoMCwgMCwgMCwgMC4yMSk7CiAgLW1vei1ib3gtc2hhZG93OiAwcHggMHB4IDIxcHggcmdiYSgwLCAwLCAwLCAwLjIxKTsKICBib3gtc2hhZG93OiAwcHggMHB4IDIxcHggcmdiYSgwLCAwLCAwLCAwLjIxKTsKICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlciAwLjNzOwogIC1tb3otdHJhbnNpdGlvbjogYm9yZGVyIDAuM3M7CiAgLW8tdHJhbnNpdGlvbjogYm9yZGVyIDAuM3M7CiAgdHJhbnNpdGlvbjogYm9yZGVyIDAuM3M7IH0KICAucmVmSXRlbSAuaGVhZCAuY29udHJvbCBbY2xhc3MqPSJpY29uIl0gewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgd2lkdGg6IDQwcHg7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjAyYjJmOwogICAgZm9udC1zaXplOiAxNnB4OwogICAgbGluZS1oZWlnaHQ6IDQwcHg7CiAgICBjb2xvcjogd2hpdGU7CiAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDUwJTsKICAgIC1tcy1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zczsKICAgIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzOwogICAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzOwogICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzOyB9CiAgLnJlZkl0ZW0gLmhlYWQgLmNvbnRyb2wgLmljb24taGlkZSB7CiAgICBkaXNwbGF5OiBub25lOyB9CiAgLnJlZkl0ZW0gLmhlYWQuYWN0aXZlIHsKICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOyB9CiAgICAucmVmSXRlbSAuaGVhZC5hY3RpdmUgLmNvbnRyb2wgLmljb24tc2hvdyB7CiAgICAgIGRpc3BsYXk6IG5vbmU7IH0KICAgIC5yZWZJdGVtIC5oZWFkLmFjdGl2ZSAuY29udHJvbCAuaWNvbi1oaWRlIHsKICAgICAgZGlzcGxheTogYmxvY2s7IH0KLnJlZkl0ZW0gLnRDZWxsIC5kYXRhIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgd2lkdGg6IDM1OXB4OwogIGhlaWdodDogNDNweDsKICBwYWRkaW5nLWxlZnQ6IDMwcHg7CiAgdGV4dC1hbGlnbjogbGVmdDsKICBwYWRkaW5nLXRvcDogM3B4OwogIGZvbnQtc2l6ZTogMTNweDsKICBsaW5lLWhlaWdodDogMTdweDsKICBmb250LXdlaWdodDogbm9ybWFsOwogIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtOwogIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMjJweDsKICAtbW96LWJvcmRlci1yYWRpdXM6IDIycHg7CiAgLW1zLWJvcmRlci1yYWRpdXM6IDIycHg7CiAgYm9yZGVyLXJhZGl1czogMjJweDsgfQogIC5yZWZJdGVtIC50Q2VsbCAuZGF0YSBhIHsKICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgZGlzcGxheTogdGFibGU7IH0KICAucmVmSXRlbSAudENlbGwgLmRhdGEgYiB7CiAgICBkaXNwbGF5OiBibG9jazsgfQoucmVmSXRlbSAudENlbGwubmFtZSAuZGF0YSB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2M5ZDNkYjsKICBjb2xvcjogIzIwMmIyZjsgfQogIC5yZWZJdGVtIC50Q2VsbC5uYW1lIC5kYXRhIGEgewogICAgY29sb3I6ICMyMDJiMmY7IH0KLnJlZkl0ZW0gLnRDZWxsLmVtYWlsIC5kYXRhIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2M5ZWYxOwogIGNvbG9yOiB3aGl0ZTsgfQogIC5yZWZJdGVtIC50Q2VsbC5lbWFpbCAuZGF0YSBhIHsKICAgIGNvbG9yOiB3aGl0ZTsgfQoucmVmSXRlbSAudENlbGwuc3RhdHVzIC5kYXRhIHsKICB3aWR0aDogMzM5cHg7CiAgYmFja2dyb3VuZC1jb2xvcjogIzQ0ZDI5ZDsKICBjb2xvcjogd2hpdGU7IH0KLnJlZkl0ZW0gKyAucmVmSXRlbSB7CiAgbWFyZ2luLXRvcDogMTFweDsgfQoucmVmSXRlbSAuY29udGVudCB7CiAgcGFkZGluZy1sZWZ0OiA5M3B4OwogIHBhZGRpbmctdG9wOiAyMHB4OwogIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9CgouZWRpdFByb2YgewogIHBhZGRpbmctYm90dG9tOiAxMTVweDsgfQogIC5lZGl0UHJvZiBbY2xhc3MqPSJjYXB0aW9uIl0gKyAud3JhcCB7CiAgICBtYXJnaW4tdG9wOiA2MHB4OyB9CgouZWRpdEZvcm0gewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBvdmVyZmxvdzogaGlkZGVuOwogIHBhZGRpbmc6IDg4cHggMzBweCAzMHB4IDMwcHg7CiAgbWluLWhlaWdodDogNDAwcHg7CiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7CiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAyMHB4OwogIC1tb3otYm9yZGVyLXJhZGl1czogMjBweDsKICAtbXMtYm9yZGVyLXJhZGl1czogMjBweDsKICBib3JkZXItcmFkaXVzOiAyMHB4OwogIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAxMXB4IHJnYmEoMCwgMCwgMCwgMC4xMSk7CiAgLW1vei1ib3gtc2hhZG93OiAwcHggMHB4IDExcHggcmdiYSgwLCAwLCAwLCAwLjExKTsKICBib3gtc2hhZG93OiAwcHggMHB4IDExcHggcmdiYSgwLCAwLCAwLCAwLjExKTsgfQogIC5lZGl0Rm9ybSAudGl0bGUgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgZGlzcGxheTogYmxvY2s7CiAgICB0b3A6IDBweDsKICAgIGxlZnQ6IDBweDsKICAgIHdpZHRoOiAxMDAlOwogICAgZm9udC1zaXplOiAxN3B4OwogICAgbGluZS1oZWlnaHQ6IDUzcHg7CiAgICBjb2xvcjogd2hpdGU7CiAgICBmb250LXdlaWdodDogYm9sZDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfQogIC5lZGl0Rm9ybS5pbmZvIC50aXRsZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2M5ZWYxOyB9CiAgLmVkaXRGb3JtLnBhc3MgLnRpdGxlIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMxMWMwYzU7IH0KICAuZWRpdEZvcm0ucGF5IHsKICAgIHBhZGRpbmctdG9wOiAxMTdweDsgfQogICAgLmVkaXRGb3JtLnBheSAudGl0bGUgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDRkMjlkOyB9CiAgICAuZWRpdEZvcm0ucGF5IFtjbGFzcyo9ImZvcm1CbG9jayJdICsgW2NsYXNzKj0iZm9ybUJsb2NrIl0gewogICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9CiAgICAuZWRpdEZvcm0ucGF5IFtjbGFzcyo9ImJ0bkZpbGwiXSB7CiAgICAgIG1hcmdpbi10b3A6IDM4cHg7IH0KICAuZWRpdEZvcm0gW2NsYXNzKj0iYnRuRmlsbCJdIHsKICAgIG1hcmdpbi10b3A6IDI3cHg7CiAgICB3aWR0aDogMTAwJTsgfQogIC5lZGl0Rm9ybSBbY2xhc3MqPSJmb3JtQmxvY2siXSBsYWJlbCArIGlucHV0IHsKICAgIG1hcmdpbi10b3A6IDVweDsgfQogIC5lZGl0Rm9ybSBbY2xhc3MqPSJmb3JtQmxvY2siXSBpbnB1dCB7CiAgICBmb250LXNpemU6IDEzcHg7IH0KICAuZWRpdEZvcm0gW2NsYXNzKj0iZm9ybUJsb2NrIl0gKyBbY2xhc3MqPSJmb3JtQmxvY2siXSB7CiAgICBtYXJnaW4tdG9wOiAyNXB4OyB9CiAgLmVkaXRGb3JtIFtjbGFzcyo9ImZvcm1CbG9jayJdIC5zZWxlY3RyaWMgewogICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9CiAgICAuZWRpdEZvcm0gW2NsYXNzKj0iZm9ybUJsb2NrIl0gLnNlbGVjdHJpYyAubGFiZWwgewogICAgICBmb250LXNpemU6IDEzcHg7IH0KICAgIC5lZGl0Rm9ybSBbY2xhc3MqPSJmb3JtQmxvY2siXSAuc2VsZWN0cmljIC5idXR0b24gewogICAgICB3aWR0aDogOXB4OwogICAgICBoZWlnaHQ6IDlweDsKICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgIzIwMmIyZjsKICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyMDJiMmY7IH0KICAuZWRpdEZvcm0gW2NsYXNzKj0iZm9ybUJsb2NrIl0gLnNlbGVjdHJpYy1pdGVtcyBsaSB7CiAgICBmb250LXNpemU6IDEzcHg7IH0KCi5kZXBMaXN0IHsKICBwYWRkaW5nLWJvdHRvbTogMTQ1cHg7IH0KICAuZGVwTGlzdCBbY2xhc3MqPSJjYXB0aW9uIl0gKyAud3JhcCB7CiAgICBtYXJnaW4tdG9wOiA1NXB4OyB9CgoucHJvZ3Jlc3NCYXIgewogIGJhY2tncm91bmQtY29sb3I6ICNkMmRiZTQ7CiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMjBweDsKICAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tcmlnaHQ6IDIwcHg7CiAgLW1zLWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAyMHB4OwogIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAyMHB4OwogIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMjBweDsKICAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tbGVmdDogMjBweDsKICAtbXMtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMjBweDsKICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAyMHB4OwogIHBhZGRpbmctdG9wOiA0NXB4OwogIHBhZGRpbmctbGVmdDogMjRweDsKICBwYWRkaW5nLWJvdHRvbTogMjNweDsgfQogIC5wcm9ncmVzc0JhciAudGl0bGUgewogICAgZm9udC1zaXplOiAxNXB4OwogICAgbGluZS1oZWlnaHQ6IDIycHg7CiAgICBjb2xvcjogIzIwMmIyZjsKICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgIHdpZHRoOiAxMjBweDsgfQogICAgLnByb2dyZXNzQmFyIC50aXRsZSArIFtjbGFzcyo9InByb2dyZXNzIl0gewogICAgICBtYXJnaW4tbGVmdDogMjVweDsgfQogIC5wcm9ncmVzc0JhciBbY2xhc3MqPSJwcm9ncmVzcyJdIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICB3aWR0aDogMzcwcHg7CiAgICBoZWlnaHQ6IDQ1cHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDIzcHg7CiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDIzcHg7CiAgICAtbXMtYm9yZGVyLXJhZGl1czogMjNweDsKICAgIGJvcmRlci1yYWRpdXM6IDIzcHg7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMjFweCByZ2JhKDAsIDAsIDAsIDAuMjEpOwogICAgLW1vei1ib3gtc2hhZG93OiAwcHggMHB4IDIxcHggcmdiYSgwLCAwLCAwLCAwLjIxKTsKICAgIGJveC1zaGFkb3c6IDBweCAwcHggMjFweCByZ2JhKDAsIDAsIDAsIDAuMjEpOyB9CiAgICAucHJvZ3Jlc3NCYXIgW2NsYXNzKj0icHJvZ3Jlc3MiXVtjbGFzcyo9IkZpcnN0Il0gLmxpbmUgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2M5ZWYxOyB9CiAgICAucHJvZ3Jlc3NCYXIgW2NsYXNzKj0icHJvZ3Jlc3MiXVtjbGFzcyo9IkZpcnN0Il0gLm51bSB7CiAgICAgIGNvbG9yOiAjM2M5ZWYxOyB9CiAgICAucHJvZ3Jlc3NCYXIgW2NsYXNzKj0icHJvZ3Jlc3MiXVtjbGFzcyo9IlNlY29uZCJdIC5saW5lIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ0ZDI5ZDsgfQogICAgLnByb2dyZXNzQmFyIFtjbGFzcyo9InByb2dyZXNzIl1bY2xhc3MqPSJTZWNvbmQiXSAubnVtIHsKICAgICAgY29sb3I6ICM0NGQyOWQ7IH0KICAgIC5wcm9ncmVzc0JhciBbY2xhc3MqPSJwcm9ncmVzcyJdIC5saW5lIHsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICB0b3A6IDBweDsKICAgICAgbGVmdDogMHB4OwogICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvcHJvZ3Jlc3MucG5nKTsKICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCB0b3A7CiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDsgfQogICAgLnByb2dyZXNzQmFyIFtjbGFzcyo9InByb2dyZXNzIl0gLm51bSB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgdG9wOiAwcHg7CiAgICAgIHJpZ2h0OiAxM3B4OwogICAgICBmb250LXNpemU6IDI1cHg7CiAgICAgIGxpbmUtaGVpZ2h0OiA0NXB4OwogICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07IH0KCi5sb2dSZWdQYWdlIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgcGFkZGluZzogNzhweCAwcHggMTVweDsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgYm90dG9tLCBjZW50ZXIgdG9wOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQsIG5vLXJlcGVhdDsKICB6LWluZGV4OiAxOyB9CiAgLmxvZ1JlZ1BhZ2UgLmNvbnRlbnQgewogICAgcGFkZGluZy10b3A6IDI3MHB4OyB9CiAgLmxvZ1JlZ1BhZ2UgLndyYXAubG9naW4gLml0ZW0gewogICAgd2lkdGg6IDM2MHB4OwogICAgbWFyZ2luOiAwIGF1dG87IH0KICAubG9nUmVnUGFnZSBbY2xhc3MqPSJjYXB0aW9uIl0gewogICAgZm9udC1zaXplOiA1MHB4OyB9CiAgICAubG9nUmVnUGFnZSBbY2xhc3MqPSJjYXB0aW9uIl0gKyAud3JhcCB7CiAgICAgIG1hcmdpbi10b3A6IDUwcHg7IH0KICAgIC5sb2dSZWdQYWdlIFtjbGFzcyo9ImNhcHRpb24iXSArIC53cmFwLmxvZ2luIHsKICAgICAgbWFyZ2luLXRvcDogNjVweDsgfQogIC5sb2dSZWdQYWdlIFtjbGFzcyo9ImZvcm1CbG9jayJdICsgW2NsYXNzKj0iZm9ybUJsb2NrIl0gewogICAgbWFyZ2luLXRvcDogMjBweDsgfQogIC5sb2dSZWdQYWdlIFtjbGFzcyo9ImZvcm1CbG9jayJdICsgLmFncmVlIHsKICAgIG1hcmdpbi10b3A6IDYwcHg7IH0KICAubG9nUmVnUGFnZSBbY2xhc3MqPSJmb3JtQmxvY2siXSArIC5wYXNzTGluayB7CiAgICBtYXJnaW4tdG9wOiA1MHB4OyB9CiAgLmxvZ1JlZ1BhZ2UgLmFncmVlICsgW2NsYXNzKj0iYnRuRmlsbCJdIHsKICAgIG1hcmdpbi10b3A6IDM1cHg7IH0KICAubG9nUmVnUGFnZSAucGFzc0xpbmsgKyBbY2xhc3MqPSJidG5GaWxsIl0gewogICAgbWFyZ2luLXRvcDogMzNweDsgfQogIC5sb2dSZWdQYWdlIFtjbGFzcyo9InNvY0NvbnQiXSBbY2xhc3MqPSJpY29uIl0gewogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMiwgNDMsIDQ3LCAwLjIxKTsgfQogIC5sb2dSZWdQYWdlIC5jb3B5IHsKICAgIGZvbnQtc2l6ZTogMTVweDsKICAgIGxpbmUtaGVpZ2h0OiAyNHB4OwogICAgY29sb3I6IHdoaXRlOwogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtOyB9CiAgLmxvZ1JlZ1BhZ2UgW2NsYXNzKj0iYnRuRmlsbCJdIHsKICAgIHdpZHRoOiAxMDAlOyB9CiAgLmxvZ1JlZ1BhZ2UgLmJvdHRvbUxpbmUgewogICAgbWFyZ2luLXRvcDogMTM1cHg7IH0KICAubG9nUmVnUGFnZSAuY2lyY2xlQmcgewogICAgbWFyZ2luLWxlZnQ6IC02NDBweDsKICAgIGhlaWdodDogNTUwcHg7CiAgICB3aWR0aDogMTI4MHB4OyB9CiAgICAubG9nUmVnUGFnZSAuY2lyY2xlQmcgLmNpcmNsZSB7CiAgICAgIHRvcDogMTIwcHg7CiAgICAgIGxlZnQ6IDEyMHB4OwogICAgICB3aWR0aDogMTA0MHB4OwogICAgICBoZWlnaHQ6IDEwNDBweDsgfQogICAgICAubG9nUmVnUGFnZSAuY2lyY2xlQmcgLmNpcmNsZTo6YmVmb3JlIHsKICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMjQwcHgpOwogICAgICAgIGhlaWdodDogY2FsYygxMDAlICsgMjQwcHgpOwogICAgICAgIHRvcDogLTEyMHB4OwogICAgICAgIGxlZnQ6IC0xMjBweDsgfQogIC5sb2dSZWdQYWdlIC5wYXNzTGluayB7CiAgICBkaXNwbGF5OiB0YWJsZTsKICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgbWFyZ2luLXJpZ2h0OiBhdXRvOwogICAgZm9udC1zaXplOiAxNXB4OwogICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICBjb2xvcjogIzIwMmIyZjsKICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfQogICAgLmxvZ1JlZ1BhZ2UgLnBhc3NMaW5rOmhvdmVyIHsKICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9CgouYWdyZWUgewogIHBhZGRpbmctbGVmdDogMzBweDsgfQogIC5hZ3JlZSBpbnB1dCB7CiAgICBkaXNwbGF5OiBub25lOyB9CiAgICAuYWdyZWUgaW5wdXQgKyBsYWJlbDo6YmVmb3JlIHsKICAgICAgY29udGVudDogJyc7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIGxlZnQ6IDBweDsKICAgICAgdG9wOiA1MCU7CiAgICAgIHdpZHRoOiAyOHB4OwogICAgICBoZWlnaHQ6IDI4cHg7CiAgICAgIG1hcmdpbi10b3A6IC0xNHB4OwogICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDVweDsKICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiA1cHg7CiAgICAgIC1tcy1ib3JkZXItcmFkaXVzOiA1cHg7CiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMzKTsKICAgICAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7IH0KICAgIC5hZ3JlZSBpbnB1dDpub3QoY2hlY2tlZCkgKyBsYWJlbDo6YWZ0ZXIgewogICAgICBjb250ZW50OiAnJzsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgbGVmdDogMHB4OwogICAgICB0b3A6IDUwJTsKICAgICAgd2lkdGg6IDI4cHg7CiAgICAgIGhlaWdodDogMjhweDsKICAgICAgbWFyZ2luLXRvcDogLTE0cHg7CiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvY2hlY2sucG5nKTsKICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOwogICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogICAgICBvcGFjaXR5OiAwOwogICAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zczsKICAgICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7CiAgICAgIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4zczsKICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzOyB9CiAgICAuYWdyZWUgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOjphZnRlciB7CiAgICAgIG9wYWNpdHk6IDE7IH0KICAuYWdyZWUgbGFiZWwgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgcGFkZGluZy1sZWZ0OiA0N3B4OwogICAgZm9udC1zaXplOiAxNXB4OwogICAgbGluZS1oZWlnaHQ6IDI4cHg7CiAgICBjb2xvcjogIzIwMmIyZjsKICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH0KICAgIC5hZ3JlZSBsYWJlbCBhIHsKICAgICAgY29sb3I6ICMyMDJiMmY7CiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9CiAgICAgIC5hZ3JlZSBsYWJlbCBhOmhvdmVyIHsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0KCi8qIyBzb3VyY2VNYXBwaW5nVVJMPXN0eWxlLmNzcy5tYXAgKi8KCi5sb2dyZWdibG9jayB7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIGNvbG9yOiB3aGl0ZTsKICBsaW5lLWhlaWdodDogMjsKfQoKZGl2LmVycm9ycyB7CiAgICBjb2xvcjogcmVkOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgbWFyZ2luLWJvdHRvbTogMjBweDsKfQoKdWwuZXJyb3JzIHt9CnVsLmVycm9ycyBsaSB7CiAgICBjb2xvcjogcmVkOwp9CgouZXJyb3JfY2VudGVyIHsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgY29sb3I6IGdyZWVuOwp9CgouZGVzaWduZWRfdGFibGUgewogICAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5kZXNpZ25lZF90YWJsZSB0YWJsZSB7CiAgICB3aWR0aDogMTAwJTsKICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7CiAgICBtYXJnaW46IDE1cHggMCAwOwp9Ci5kZXNpZ25lZF90YWJsZSB0YWJsZSB0ciB7fQouZGVzaWduZWRfdGFibGUgdGFibGUgdHIgdGQsCi5kZXNpZ25lZF90YWJsZSB0YWJsZSB0ciB0aCB7CiAgICB3aWR0aDogNTAlOwogICAgdGV4dC1hbGlnbjogbGVmdDsKICAgIHBhZGRpbmc6IDAgMTBweCAwIDEwcHg7CiAgICBsaW5lLWhlaWdodDogNTJweDsKICAgIGJhY2tncm91bmQ6ICNlZWYyZjQ7Cn0KLmRlc2lnbmVkX3RhYmxlIHRhYmxlIHRyOm50aC1jaGlsZCgybikgdGQsCi5kZXNpZ25lZF90YWJsZSB0YWJsZSB0cjpudGgtY2hpbGQoMm4pIHRoIHsKICAgIGJhY2tncm91bmQ6ICNlMmU3ZWE7Cn0KLmRlc2lnbmVkX3RhYmxlIHRhYmxlIHRyIHRoIHsKICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIHRleHQtYWxpZ246IHJpZ2h0Owp9Ci5kZXNpZ25lZF90YWJsZSB0YWJsZSB0ciB0ZFtjb2xzcGFuPSIyIl0gewogICAgYmFja2dyb3VuZDogbm9uZTsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKfQouZGVzaWduZWRfdGFibGUgLnNibXQgewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgd2lkdGg6IGF1dG87CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBwYWRkaW5nOiAwcHggMzNweDsKICAgIGJvcmRlcjogMHB4OwogICAgYmFja2dyb3VuZDogbm9uZTsKICAgIG91dGxpbmU6IG5vbmU7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDBweDsKICAgIC1tb3otYm9yZGVyLXJhZGl1czogMHB4OwogICAgLW1zLWJvcmRlci1yYWRpdXM6IDBweDsKICAgIGJvcmRlci1yYWRpdXM6IDBweDsKICAgIGZvbnQtZmFtaWx5OiAiTW9udHNlcnJhdCI7CiAgICBjb2xvcjogd2hpdGU7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7CiAgICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zczsKICAgIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4zczsKICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zczsKCiAgICBtYXJnaW4tdG9wOiAyMHB4OwogICAgbGluZS1oZWlnaHQ6IDQ2cHg7CiAgICBmb250LXNpemU6IDE1cHg7CiAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAyM3B4OwogICAgLW1vei1ib3JkZXItcmFkaXVzOiAyM3B4OwogICAgLW1zLWJvcmRlci1yYWRpdXM6IDIzcHg7CiAgICBib3JkZXItcmFkaXVzOiAyM3B4OwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDIxcHggcmdiYSgwLCAwLCAwLCAwLjIxKTsKICAgIC1tb3otYm94LXNoYWRvdzogMHB4IDBweCAyMXB4IHJnYmEoMCwgMCwgMCwgMC4yMSk7CiAgICBib3gtc2hhZG93OiAwcHggMHB4IDIxcHggcmdiYSgwLCAwLCAwLCAwLjIxKTsKCiAgICBiYWNrZ3JvdW5kOiAjMDA5Y2ZmOwogICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgIzAwOWNmZiAwJSwgIzFmZTE5NSAxMDAlKTsKICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICMwMDljZmYgMCUsICMxZmUxOTUgMTAwJSk7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICMwMDljZmYgMCUsICMxZmUxOTUgMTAwJSk7Cn0KLmRlc2lnbmVkX3RhYmxlIC5zYm10OmhvdmVyIHsKICBvcGFjaXR5OiAwLjg7Cn0="}},"time_used":56,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":56,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/91855.009764da61bd8c8c44be.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.836Z","timestamp":1785120633836,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/91855.009764da61bd8c8c44be.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=0\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 02:50:33 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-3ec8\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e3be89d027bb5c711e43fd2541a8304b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":16072,"size_decoded":3208,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (16072), with no line terminators","md5":"5af480f71e4ef9ec77601345a4929f5d","sha1":"ecefed36b921685bdd5209326cb6df8597dde83a","sha256":"3ebda9c5708c386688759cbfcdb87d7945032ec17792e052beb13dc8e324634f","sha512":"70df359a37d0201c61d77f5f9bd228c85b53c7ff114d8440380b0adff4052ffe3a1f7827d0ce1e96b173f732ba5064899dc6736b12d5b6899ed48f2562fb9e5d","ssdeep":"192:+8o3ziODLTrekcQDLBrvQXsDLHrH41UDLZrZwJL4DL84rp4P4wNvHNoIh2EHDc5n:+8o1vHvQ0Q6UlNvHNoIwyDVjEZ9eYJ","tlshash":"917210872355d8647877f6cd66aa63a952008c3ad002cefdc072aebd92c37f911e5f12","first_seen":"2026-07-16T13:40:49.854598Z","last_seen":"2026-07-27T05:19:37.122218Z","times_seen":103,"resource_available":false,"data":"LnNjcm9sbFdyYXAtRmFWMGJLN2V7bWFyZ2luOi00cHg7bWluLWhlaWdodDoxMDAlO3BhZGRpbmc6NHB4O3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO3dpZHRoOjEwMCV9LnNjcm9sbFdyYXAtRmFWMGJLN2Uub3ZlcmZsb3dTY3JvbGwtRmFWMGJLN2V7b3ZlcmZsb3cteDphdXRvO292ZXJmbG93LXk6aGlkZGVuOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNofUBzdXBwb3J0cyAoLW1vei1hcHBlYXJhbmNlOm5vbmUpey5zY3JvbGxXcmFwLUZhVjBiSzdlLm92ZXJmbG93U2Nyb2xsLUZhVjBiSzdle3Njcm9sbGJhci13aWR0aDpub25lfX0uc2Nyb2xsV3JhcC1GYVYwYks3ZS5vdmVyZmxvd1Njcm9sbC1GYVYwYks3ZS5zYi1zY3JvbGxiYXItd3JhcHtkaXNwbGF5Om5vbmV9LnNjcm9sbFdyYXAtRmFWMGJLN2Uub3ZlcmZsb3dTY3JvbGwtRmFWMGJLN2U6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MDt3aWR0aDowfS5zY3JvbGxXcmFwLUZhVjBiSzdlLm92ZXJmbG93U2Nyb2xsLUZhVjBiSzdlOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiwuc2Nyb2xsV3JhcC1GYVYwYks3ZS5vdmVyZmxvd1Njcm9sbC1GYVYwYks3ZTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7ZGlzcGxheTpub25lfS5zY3JvbGxXcmFwLUZhVjBiSzdlLm92ZXJmbG93U2Nyb2xsLUZhVjBiSzdlOjotd2Via2l0LXNjcm9sbGJhci1jb3JuZXJ7ZGlzcGxheTpub25lfS5zcXVhcmVUYWJzLUZhVjBiSzdle2Rpc3BsYXk6ZmxleDtmbGV4LWZsb3c6cm93IG5vd3JhcDstLXVpLWxpYi1wcml2YXRlLXNxdWFyZVRhYnMtbWFyZ2luOnZhcigtLXVpLWxpYi1wcml2YXRlLXNxdWFyZVRhYnMtZ2FwKX06bm90KC5vdmVyZmxvd1Njcm9sbC1GYVYwYks3ZSkgLnNxdWFyZVRhYnMtRmFWMGJLN2V7cGFkZGluZzowIHZhcigtLXVpLWxpYi1zcXVhcmVUYWJzLWhvcml6b250YWwtc2Nyb2xsLXBhZGRpbmcsMCl9Lm92ZXJmbG93U2Nyb2xsLUZhVjBiSzdlIC5zcXVhcmVUYWJzLUZhVjBiSzdle3BhZGRpbmctaW5saW5lLXN0YXJ0OnZhcigtLXVpLWxpYi1zcXVhcmVUYWJzLWhvcml6b250YWwtc2Nyb2xsLXBhZGRpbmcsMCl9Lm92ZXJmbG93U2Nyb2xsLUZhVjBiSzdlIC5zcXVhcmVUYWJzLUZhVjBiSzdlOmFmdGVye2NvbnRlbnQ6IiI7ZmxleC1zaHJpbms6MDt3aWR0aDpjYWxjKHZhcigtLXVpLWxpYi1zcXVhcmVUYWJzLWhvcml6b250YWwtc2Nyb2xsLXBhZGRpbmcsIDBweCkgKyA0cHgpfS5vdmVyZmxvd1dyYXAtRmFWMGJLN2UgLnNxdWFyZVRhYnMtRmFWMGJLN2V7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVUYWJzLW1hcmdpbjowO2ZsZXgtd3JhcDp3cmFwO2dhcDp2YXIoLS11aS1saWItcHJpdmF0ZS1zcXVhcmVUYWJzLWdhcCl9LnNxdWFyZVRhYnMtRmFWMGJLN2UgLmNvbnRlbnQtRmFWMGJLN2V7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0uc3F1YXJlVGFicy1GYVYwYks3ZSAudmVydGljYWxDb250ZW50LUZhVjBiSzdle2Rpc3BsYXk6YmxvY2s7bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO3dpZHRoOmZpdC1jb250ZW50fS52ZXJ0aWNhbC1GYVYwYks3ZXtmbGV4LWZsb3c6Y29sdW1ufS54c21hbGwtRmFWMGJLN2UgLnNxdWFyZVRhYkJ1dHRvbi1GYVYwYks3ZTpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4taW5saW5lLXN0YXJ0OnZhcigtLXVpLWxpYi1wcml2YXRlLXNxdWFyZVRhYnMtbWFyZ2luKX0ueHNtYWxsLUZhVjBiSzdlIC5zcXVhcmVUYWJCdXR0b24tRmFWMGJLN2U6aGFzKC5zdGFydFNsb3RXcmFwLUZhVjBiSzdlKXtwYWRkaW5nLWlubGluZS1zdGFydDo2cHh9LnhzbWFsbC1GYVYwYks3ZSAuc3F1YXJlVGFiQnV0dG9uLUZhVjBiSzdlOmhhcyguc3RhcnRTbG90V3JhcC1GYVYwYks3ZSk6bm90KDpoYXMoLmNvbnRlbnQtRmFWMGJLN2UpKXthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzowfS54c21hbGwtRmFWMGJLN2UgLnNxdWFyZVRhYkJ1dHRvbi1GYVYwYks3ZTpoYXMoLmVuZFNsb3RXcmFwLUZhVjBiSzdlKTpoYXMoLmNvbnRlbnQtRmFWMGJLN2Upe3BhZGRpbmctaW5saW5lLWVuZDo2cHh9LnhzbWFsbC1GYVYwYks3ZSAuZW5kU2xvdFdyYXAtRmFWMGJLN2UsLnhzbWFsbC1GYVYwYks3ZSAuZW5kVXBwZXJTbG90LUZhVjBiSzdlLC54c21hbGwtRmFWMGJLN2UgLnN0YXJ0U2xvdFdyYXAtRmFWMGJLN2V7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aGl0ZS1zcGFjZTpub3JtYWx9LnhzbWFsbC1GYVYwYks3ZSAuZW5kU2xvdFdyYXAtRmFWMGJLN2UsLnhzbWFsbC1GYVYwYks3ZSAuc3RhcnRTbG90V3JhcC1GYVYwYks3ZXttYXgtaGVpZ2h0Om1heC1jb250ZW50O21heC13aWR0aDptYXgtY29udGVudH0ueHNtYWxsLUZhVjBiSzdlIC5lbmRVcHBlclNsb3QtRmFWMGJLN2V7aW5zZXQtaW5saW5lLWVuZDotMnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMnB4O3otaW5kZXg6MTB9LnhzbWFsbC1GYVYwYks3ZSAuc3RhcnRTbG90V3JhcC1GYVYwYks3ZXttYXJnaW4taW5saW5lLWVuZDo0cHh9LnhzbWFsbC1GYVYwYks3ZSAuZW5kU2xvdFdyYXAtRmFWMGJLN2V7bWFyZ2luLWlubGluZS1zdGFydDo0cHh9LnhzbWFsbC1GYVYwYks3ZSAuc3RhcnRTbG90V3JhcEljb25Pbmx5LUZhVjBiSzdle21hcmdpbi1pbmxpbmUtZW5kOjB9LnNtYWxsLUZhVjBiSzdlIC5zcXVhcmVUYWJCdXR0b24tRmFWMGJLN2U6bm90KDpmaXJzdC1jaGlsZCl7bWFyZ2luLWlubGluZS1zdGFydDp2YXIoLS11aS1saWItcHJpdmF0ZS1zcXVhcmVUYWJzLW1hcmdpbil9LnNtYWxsLUZhVjBiSzdlIC5zcXVhcmVUYWJCdXR0b24tRmFWMGJLN2U6aGFzKC5zdGFydFNsb3RXcmFwLUZhVjBiSzdlKXtwYWRkaW5nLWlubGluZS1zdGFydDoxMHB4fS5zbWFsbC1GYVYwYks3ZSAuc3F1YXJlVGFiQnV0dG9uLUZhVjBiSzdlOmhhcyguc3RhcnRTbG90V3JhcC1GYVYwYks3ZSk6bm90KDpoYXMoLmNvbnRlbnQtRmFWMGJLN2UpKXthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzowfS5zbWFsbC1GYVYwYks3ZSAuc3F1YXJlVGFiQnV0dG9uLUZhVjBiSzdlOmhhcyguZW5kU2xvdFdyYXAtRmFWMGJLN2UpOmhhcyguY29udGVudC1GYVYwYks3ZSl7cGFkZGluZy1pbmxpbmUtZW5kOjEwcHh9LnNtYWxsLUZhVjBiSzdlIC5lbmRTbG90V3JhcC1GYVYwYks3ZSwuc21hbGwtRmFWMGJLN2UgLmVuZFVwcGVyU2xvdC1GYVYwYks3ZSwuc21hbGwtRmFWMGJLN2UgLnN0YXJ0U2xvdFdyYXAtRmFWMGJLN2V7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aGl0ZS1zcGFjZTpub3JtYWx9LnNtYWxsLUZhVjBiSzdlIC5lbmRTbG90V3JhcC1GYVYwYks3ZSwuc21hbGwtRmFWMGJLN2UgLnN0YXJ0U2xvdFdyYXAtRmFWMGJLN2V7bWF4LWhlaWdodDptYXgtY29udGVudDttYXgtd2lkdGg6bWF4LWNvbnRlbnR9LnNtYWxsLUZhVjBiSzdlIC5lbmRVcHBlclNsb3QtRmFWMGJLN2V7aW5zZXQtaW5saW5lLWVuZDotMnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMnB4O3otaW5kZXg6MTB9LnNtYWxsLUZhVjBiSzdlIC5zdGFydFNsb3RXcmFwLUZhVjBiSzdle21hcmdpbi1pbmxpbmUtZW5kOjRweH0uc21hbGwtRmFWMGJLN2UgLmVuZFNsb3RXcmFwLUZhVjBiSzdle21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4fS5zbWFsbC1GYVYwYks3ZSAuc3RhcnRTbG90V3JhcEljb25Pbmx5LUZhVjBiSzdle21hcmdpbi1pbmxpbmUtZW5kOjB9Lm1lZGl1bS1GYVYwYks3ZSAuc3F1YXJlVGFiQnV0dG9uLUZhVjBiSzdlOm5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1pbmxpbmUtc3RhcnQ6dmFyKC0tdWktbGliLXByaXZhdGUtc3F1YXJlVGFicy1tYXJnaW4pfS5tZWRpdW0tRmFWMGJLN2UgLnNxdWFyZVRhYkJ1dHRvbi1GYVYwYks3ZTpoYXMoLnN0YXJ0U2xvdFdyYXAtRmFWMGJLN2Upe3BhZGRpbmctaW5saW5lLXN0YXJ0OjEycHh9Lm1lZGl1bS1GYVYwYks3ZSAuc3F1YXJlVGFiQnV0dG9uLUZhVjBiSzdlOmhhcyguc3RhcnRTbG90V3JhcC1GYVYwYks3ZSk6bm90KDpoYXMoLmNvbnRlbnQtRmFWMGJLN2UpKXthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzowfS5tZWRpdW0tRmFWMGJLN2UgLnNxdWFyZVRhYkJ1dHRvbi1GYVYwYks3ZTpoYXMoLmVuZFNsb3RXcmFwLUZhVjBiSzdlKTpoYXMoLmNvbnRlbnQtRmFWMGJLN2Upe3BhZGRpbmctaW5saW5lLWVuZDoxMnB4fS5tZWRpdW0tRmFWMGJLN2UgLmVuZFNsb3RXcmFwLUZhVjBiSzdlLC5tZWRpdW0tRmFWMGJLN2UgLmVuZFVwcGVyU2xvdC1GYVYwYks3ZSwubWVkaXVtLUZhVjBiSzdlIC5zdGFydFNsb3RXcmFwLUZhVjBiSzdle2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7d2hpdGUtc3BhY2U6bm9ybWFsfS5tZWRpdW0tRmFWMGJLN2UgLmVuZFNsb3RXcmFwLUZhVjBiSzdlLC5tZWRpdW0tRmFWMGJLN2UgLnN0YXJ0U2xvdFdyYXAtRmFWMGJLN2V7bWF4LWhlaWdodDptYXgtY29udGVudDttYXgtd2lkdGg6bWF4LWNvbnRlbnR9Lm1lZGl1bS1GYVYwYks3ZSAuZW5kVXBwZXJTbG90LUZhVjBiSzdle2luc2V0LWlubGluZS1lbmQ6LTJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTJweDt6LWluZGV4OjEwfS5tZWRpdW0tRmFWMGJLN2UgLnN0YXJ0U2xvdFdyYXAtRmFWMGJLN2V7bWFyZ2luLWlubGluZS1lbmQ6NHB4fS5tZWRpdW0tRmFWMGJLN2UgLmVuZFNsb3RXcmFwLUZhVjBiSzdle21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4fS5tZWRpdW0tRmFWMGJLN2UgLnN0YXJ0U2xvdFdyYXBJY29uT25seS1GYVYwYks3ZXttYXJnaW4taW5saW5lLWVuZDowfS5tZWRpdW1XaXRoU21hbGxGb250LUZhVjBiSzdlIC5zcXVhcmVUYWJCdXR0b24tRmFWMGJLN2U6bm90KDpmaXJzdC1jaGlsZCl7bWFyZ2luLWlubGluZS1zdGFydDp2YXIoLS11aS1saWItcHJpdmF0ZS1zcXVhcmVUYWJzLW1hcmdpbil9Lm1lZGl1bVdpdGhTbWFsbEZvbnQtRmFWMGJLN2UgLnNxdWFyZVRhYkJ1dHRvbi1GYVYwYks3ZTpoYXMoLnN0YXJ0U2xvdFdyYXAtRmFWMGJLN2Upe3BhZGRpbmctaW5saW5lLXN0YXJ0OjEycHh9Lm1lZGl1bVdpdGhTbWFsbEZvbnQtRmFWMGJLN2UgLnNxdWFyZVRhYkJ1dHRvbi1GYVYwYks3ZTpoYXMoLnN0YXJ0U2xvdFdyYXAtRmFWMGJLN2UpOm5vdCg6aGFzKC5jb250ZW50LUZhVjBiSzdlKSl7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6MH0ubWVkaXVtV2l0aFNtYWxsRm9udC1GYVYwYks3ZSAuc3F1YXJlVGFiQnV0dG9uLUZhVjBiSzdlOmhhcyguZW5kU2xvdFdyYXAtRmFWMGJLN2UpOmhhcyguY29udGVudC1GYVYwYks3ZSl7cGFkZGluZy1pbmxpbmUtZW5kOjEycHh9Lm1lZGl1bVdpdGhTbWFsbEZvbnQtRmFWMGJLN2UgLmVuZFNsb3RXcmFwLUZhVjBiSzdlLC5tZWRpdW1XaXRoU21hbGxGb250LUZhVjBiSzdlIC5lbmRVcHBlclNsb3QtRmFWMGJLN2UsLm1lZGl1bVdpdGhTbWFsbEZvbnQtRmFWMGJLN2UgLnN0YXJ0U2xvdFdyYXAtRmFWMGJLN2V7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aGl0ZS1zcGFjZTpub3JtYWx9Lm1lZGl1bVdpdGhTbWFsbEZvbnQtRmFWMGJLN2UgLmVuZFNsb3RXcmFwLUZhVjBiSzdlLC5tZWRpdW1XaXRoU21hbGxGb250LUZhVjBiSzdlIC5zdGFydFNsb3RXcmFwLUZhVjBiSzdle21heC1oZWlnaHQ6bWF4LWNvbnRlbnQ7bWF4LXdpZHRoOm1heC1jb250ZW50fS5tZWRpdW1XaXRoU21hbGxGb250LUZhVjBiSzdlIC5lbmRVcHBlclNsb3QtRmFWMGJLN2V7aW5zZXQtaW5saW5lLWVuZDotMnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMnB4O3otaW5kZXg6MTB9Lm1lZGl1bVdpdGhTbWFsbEZvbnQtRmFWMGJLN2UgLnN0YXJ0U2xvdFdyYXAtRmFWMGJLN2V7bWFyZ2luLWlubGluZS1lbmQ6NHB4fS5tZWRpdW1XaXRoU21hbGxGb250LUZhVjBiSzdlIC5lbmRTbG90V3JhcC1GYVYwYks3ZXttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0ubWVkaXVtV2l0aFNtYWxsRm9udC1GYVYwYks3ZSAuc3RhcnRTbG90V3JhcEljb25Pbmx5LUZhVjBiSzdle21hcmdpbi1pbmxpbmUtZW5kOjB9LnhsYXJnZS1GYVYwYks3ZSAuc3F1YXJlVGFiQnV0dG9uLUZhVjBiSzdlOm5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1pbmxpbmUtc3RhcnQ6dmFyKC0tdWktbGliLXByaXZhdGUtc3F1YXJlVGFicy1tYXJnaW4pfS54bGFyZ2UtRmFWMGJLN2UgLnNxdWFyZVRhYkJ1dHRvbi1GYVYwYks3ZTpoYXMoLnN0YXJ0U2xvdFdyYXAtRmFWMGJLN2Upe3BhZGRpbmctaW5saW5lLXN0YXJ0OjIycHh9LnhsYXJnZS1GYVYwYks3ZSAuc3F1YXJlVGFiQnV0dG9uLUZhVjBiSzdlOmhhcyguc3RhcnRTbG90V3JhcC1GYVYwYks3ZSk6bm90KDpoYXMoLmNvbnRlbnQtRmFWMGJLN2UpKXthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzowfS54bGFyZ2UtRmFWMGJLN2UgLnNxdWFyZVRhYkJ1dHRvbi1GYVYwYks3ZTpoYXMoLmVuZFNsb3RXcmFwLUZhVjBiSzdlKTpoYXMoLmNvbnRlbnQtRmFWMGJLN2Upe3BhZGRpbmctaW5saW5lLWVuZDoyMnB4fS54bGFyZ2UtRmFWMGJLN2UgLmVuZFNsb3RXcmFwLUZhVjBiSzdlLC54bGFyZ2UtRmFWMGJLN2UgLmVuZFVwcGVyU2xvdC1GYVYwYks3ZSwueGxhcmdlLUZhVjBiSzdlIC5zdGFydFNsb3RXcmFwLUZhVjBiSzdle2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7d2hpdGUtc3BhY2U6bm9ybWFsfS54bGFyZ2UtRmFWMGJLN2UgLmVuZFNsb3RXcmFwLUZhVjBiSzdlLC54bGFyZ2UtRmFWMGJLN2UgLnN0YXJ0U2xvdFdyYXAtRmFWMGJLN2V7bWF4LWhlaWdodDptYXgtY29udGVudDttYXgtd2lkdGg6bWF4LWNvbnRlbnR9LnhsYXJnZS1GYVYwYks3ZSAuZW5kVXBwZXJTbG90LUZhVjBiSzdle2luc2V0LWlubGluZS1lbmQ6LTJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTJweDt6LWluZGV4OjEwfS54bGFyZ2UtRmFWMGJLN2UgLnN0YXJ0U2xvdFdyYXAtRmFWMGJLN2V7bWFyZ2luLWlubGluZS1lbmQ6OHB4fS54bGFyZ2UtRmFWMGJLN2UgLmVuZFNsb3RXcmFwLUZhVjBiSzdle21hcmdpbi1pbmxpbmUtc3RhcnQ6OHB4fS54bGFyZ2UtRmFWMGJLN2UgLnN0YXJ0U2xvdFdyYXBJY29uT25seS1GYVYwYks3ZXttYXJnaW4taW5saW5lLWVuZDowfS5zcXVhcmVUYWJDb3VudGVyLUZhVjBiSzdle3otaW5kZXg6MTB9W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtU0VqaTojMDAwMDstLV8xLVNFamk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1fMi1TRWppOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tXzMtU0VqaTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLVNFamk6IzAwMDA7LS1fMS1TRWppOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tXzItU0VqaTp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMy1TRWppOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApfS5zcXVhcmVUYWJCdXR0b24tUktLVFJoWjZ7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAtU0VqaSk7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czo4cHg7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtkaXNwbGF5OmZsZXg7ZmxleC1mbG93OmNvbHVtbiBub3dyYXA7ZmxleC1zaHJpbms6MDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDtjdXJzb3I6ZGVmYXVsdH0uc3F1YXJlVGFiQnV0dG9uLVJLS1RSaFo2LnNlbGVjdGVkLVJLS1RSaFo2e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeS1ob3Zlcik7Y29sb3I6dmFyKC0tXzItU0VqaSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5zcXVhcmVUYWJCdXR0b24tUktLVFJoWjY6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5LWhvdmVyKTtjb2xvcjp2YXIoLS1fMi1TRWppKX19LnNxdWFyZVRhYkJ1dHRvbi1SS0tUUmhaNjphY3RpdmU6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtUktLVFJoWjYpe2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzEtU0VqaSk7Y29sb3I6dmFyKC0tXzItU0VqaSl9LnNxdWFyZVRhYkJ1dHRvbi1SS0tUUmhaNi5kaXNhYmxlZC1SS0tUUmhaNiwuc3F1YXJlVGFiQnV0dG9uLVJLS1RSaFo2LmRpc2FibGVkLVJLS1RSaFo2Om5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLVJLS1RSaFo2KXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLVNFamkpO2NvbG9yOnZhcigtLWNvbG9yLXRleHQtZGlzYWJsZWQpfS5zcXVhcmVUYWJCdXR0b24tUktLVFJoWjZ7b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmV9LnNxdWFyZVRhYkJ1dHRvbi1SS0tUUmhaNjpmb2N1c3tvdXRsaW5lOm5vbmV9LnNxdWFyZVRhYkJ1dHRvbi1SS0tUUmhaNjpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0uc3F1YXJlVGFiQnV0dG9uLVJLS1RSaFo2OmFmdGVye2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIiO2Rpc3BsYXk6bm9uZTtoZWlnaHQ6Y2FsYygxMDAlICsgOHB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LTRweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSArIDhweCk7ei1pbmRleDoxfS5zcXVhcmVUYWJCdXR0b24tUktLVFJoWjY6Zm9jdXM6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uc3F1YXJlVGFiQnV0dG9uLVJLS1RSaFo2OmZvY3VzLXZpc2libGU6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uc3F1YXJlVGFiQnV0dG9uLVJLS1RSaFo2OmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSk6YWZ0ZXJ7ZGlzcGxheTpub25lfS5zcXVhcmVUYWJCdXR0b24tUktLVFJoWjY6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmx1ZSk7Ym9yZGVyLXJhZGl1czoxMnB4fS5zcXVhcmVUYWJCdXR0b24tUktLVFJoWjYuZGlzYWJsZUZvY3VzT3V0bGluZS1SS0tUUmhaNjphZnRlcntkaXNwbGF5Om5vbmV9LnNxdWFyZVRhYkJ1dHRvbi1SS0tUUmhaNi54bGFyZ2UtUktLVFJoWjZ7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToyMHB4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjQwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjMwcHg7aGVpZ2h0OjU2cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpO21pbi13aWR0aDo1NnB4O3BhZGRpbmc6MCAyNnB4fS5zcXVhcmVUYWJCdXR0b24tUktLVFJoWjYueGxhcmdlLVJLS1RSaFo2IC50YWJIaWRkZW5Db250ZW50LVJLS1RSaFo2LC5zcXVhcmVUYWJCdXR0b24tUktLVFJoWjYueGxhcmdlLVJLS1RSaFo2LnNlbGVjdGVkLVJLS1RSaFo2e2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MjBweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo2MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyNHB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KX0uc3F1YXJlVGFiQnV0dG9uLVJLS1RSaFo2Lm1lZGl1bS1SS0tUUmhaNntmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7aGVpZ2h0OjQwcHg7bWluLXdpZHRoOjQwcHg7cGFkZGluZzowIDE2cHh9LnNxdWFyZVRhYkJ1dHRvbi1SS0tUUmhaNi5tZWRpdW0tUktLVFJoWjYsLnNxdWFyZVRhYkJ1dHRvbi1SS0tUUmhaNi5tZWRpdW0tUktLVFJoWjYuc2VsZWN0ZWQtUktLVFJoWjZ7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxNnB4Oy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MjRweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LnNxdWFyZVRhYkJ1dHRvbi1SS0tUUmhaNi5tZWRpdW0tUktLVFJoWjYuc2VsZWN0ZWQtUktLVFJoWjZ7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NjAwfS5zcXVhcmVUYWJCdXR0b24tUktLVFJoWjYubWVkaXVtLVJLS1RSaFo2IC50YWJIaWRkZW5Db250ZW50LVJLS1RSaFo2e2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjYwMH0uc3F1YXJlVGFiQnV0dG9uLVJLS1RSaFo2Lm1lZGl1bS1SS0tUUmhaNiAudGFiSGlkZGVuQ29udGVudC1SS0tUUmhaNiwuc3F1YXJlVGFiQnV0dG9uLVJLS1RSaFo2LnNtYWxsLVJLS1RSaFo2e2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS5zcXVhcmVUYWJCdXR0b24tUktLVFJoWjYuc21hbGwtUktLVFJoWjZ7Ym9yZGVyLXJhZGl1czo2cHg7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2hlaWdodDozNHB4O21pbi13aWR0aDozNHB4O3BhZGRpbmc6MCB2YXIoLS11aS1saWItc3F1YXJlVGFiLWJ1dHRvbi1zbWFsbC1pbmxpbmUtcGFkZGluZy1vdmVycmlkZSwxMnB4KX0uc3F1YXJlVGFiQnV0dG9uLVJLS1RSaFo2LnNtYWxsLVJLS1RSaFo2OmFmdGVye2JvcmRlci1yYWRpdXM6MTBweH0uc3F1YXJlVGFiQnV0dG9uLVJLS1RSaFo2LnNtYWxsLVJLS1RSaFo2IC50YWJIaWRkZW5Db250ZW50LVJLS1RSaFo2LC5zcXVhcmVUYWJCdXR0b24tUktLVFJoWjYuc21hbGwtUktLVFJoWjYuc2VsZWN0ZWQtUktLVFJoWjZ7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxNnB4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjYwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS5zcXVhcmVUYWJCdXR0b24tUktLVFJoWjYueHNtYWxsLVJLS1RSaFo2e2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTRweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoxOHB4O2JvcmRlci1yYWRpdXM6NnB4O2hlaWdodDoyOHB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KTttaW4td2lkdGg6MjhweDtwYWRkaW5nOjAgOHB4fS5zcXVhcmVUYWJCdXR0b24tUktLVFJoWjYueHNtYWxsLVJLS1RSaFo2OmFmdGVye2JvcmRlci1yYWRpdXM6MTBweH0uc3F1YXJlVGFiQnV0dG9uLVJLS1RSaFo2LnhzbWFsbC1SS0tUUmhaNiAudGFiSGlkZGVuQ29udGVudC1SS0tUUmhaNiwuc3F1YXJlVGFiQnV0dG9uLVJLS1RSaFo2LnhzbWFsbC1SS0tUUmhaNi5zZWxlY3RlZC1SS0tUUmhaNntmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo2MDB9LnNxdWFyZVRhYkJ1dHRvbi1SS0tUUmhaNi5tZWRpdW1XaXRoU21hbGxGb250LVJLS1RSaFo2LC5zcXVhcmVUYWJCdXR0b24tUktLVFJoWjYueHNtYWxsLVJLS1RSaFo2IC50YWJIaWRkZW5Db250ZW50LVJLS1RSaFo2LC5zcXVhcmVUYWJCdXR0b24tUktLVFJoWjYueHNtYWxsLVJLS1RSaFo2LnNlbGVjdGVkLVJLS1RSaFo2e2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTRweDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE4cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS5zcXVhcmVUYWJCdXR0b24tUktLVFJoWjYubWVkaXVtV2l0aFNtYWxsRm9udC1SS0tUUmhaNntmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7aGVpZ2h0OjQwcHg7bWluLXdpZHRoOjQwcHg7cGFkZGluZzowIDE2cHh9LnNxdWFyZVRhYkJ1dHRvbi1SS0tUUmhaNi5tZWRpdW1XaXRoU21hbGxGb250LVJLS1RSaFo2IC50YWJIaWRkZW5Db250ZW50LVJLS1RSaFo2LC5zcXVhcmVUYWJCdXR0b24tUktLVFJoWjYubWVkaXVtV2l0aFNtYWxsRm9udC1SS0tUUmhaNi5zZWxlY3RlZC1SS0tUUmhaNntmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NjAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LnNxdWFyZVRhYkJ1dHRvbi1SS0tUUmhaNi5mYWtlLVJLS1RSaFo2e2luc2V0LWlubGluZS1zdGFydDotOTk5OTk5cHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDptYXgtY29udGVudDt6LWluZGV4Oi0xfS52ZXJ0aWNhbFRhYnNXcmFwcGVyLVJLS1RSaFo2ey0tdWktbGliLXNxdWFyZVRhYnMtaG9yaXpvbnRhbC1zY3JvbGwtcGFkZGluZzowcHh9LnZlcnRpY2FsQnV0dG9uLVJLS1RSaFo2e2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6YXV0b30udmVydGljYWxCdXR0b24tUktLVFJoWjY6Zm9jdXN7b3V0bGluZTpub25lfS52ZXJ0aWNhbEJ1dHRvbi1SS0tUUmhaNjpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0udmVydGljYWxCdXR0b24tUktLVFJoWjY6YWZ0ZXJ7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDpjYWxjKDEwMCUgKyA0cHgpO2luc2V0LWlubGluZS1zdGFydDotMnB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi0ycHg7d2lkdGg6Y2FsYygxMDAlICsgNHB4KTt6LWluZGV4OjF9LnZlcnRpY2FsQnV0dG9uLVJLS1RSaFo2OmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LnZlcnRpY2FsQnV0dG9uLVJLS1RSaFo2OmZvY3VzLXZpc2libGU6YWZ0ZXJ7ZGlzcGxheTpibG9ja30udmVydGljYWxCdXR0b24tUktLVFJoWjY6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKTphZnRlcntkaXNwbGF5Om5vbmV9LnZlcnRpY2FsQnV0dG9uLVJLS1RSaFo2LnNtYWxsLVJLS1RSaFo2e2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyNHB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KX0udmVydGljYWxCdXR0b24tUktLVFJoWjYuc21hbGwtUktLVFJoWjYgLnRhYkhpZGRlbkNvbnRlbnQtUktLVFJoWjYsLnZlcnRpY2FsQnV0dG9uLVJLS1RSaFo2LnNtYWxsLVJLS1RSaFo2LnNlbGVjdGVkLVJLS1RSaFo2e2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo2MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyNHB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KX0udmVydGljYWxCdXR0b24tUktLVFJoWjYuc21hbGwtUktLVFJoWjY6YWZ0ZXIsLnZlcnRpY2FsQnV0dG9uLVJLS1RSaFo2LnhzbWFsbC1SS0tUUmhaNjphZnRlcntib3JkZXItcmFkaXVzOjhweH0udmVydGljYWxCdXR0b24tUktLVFJoWjYubWVkaXVtLVJLS1RSaFo2OmFmdGVyLC52ZXJ0aWNhbEJ1dHRvbi1SS0tUUmhaNi54bGFyZ2UtUktLVFJoWjY6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czoxMHB4fS5jb250ZW50LVJLS1RSaFo2e2ZsZXgtc2hyaW5rOjB9LmNvbnRlbnQtUktLVFJoWjYsLnRhYkNvbnRlbnQtUktLVFJoWjZ7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS50YWJDb250ZW50LVJLS1RSaFo2e21heC13aWR0aDoxMDAlfS50YWJIaWRkZW5Db250ZW50LVJLS1RSaFo2e2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MDt2aXNpYmlsaXR5OmhpZGRlbn0uZW5kU2xvdEluRGlzY2xvc3VyZS1SS0tUUmhaNj5zcGFuey0tdWktbGliLWluLWNvdW50ZXItc2l6ZTozOy0tdWktbGliLWNvdW50ZXItYm9yZGVyLW91dGxpbmUtcHJpbWFyeTpub25lfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/56258.282e6141fc02ac85d0d5.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.923Z","timestamp":1785120633923,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/56258.282e6141fc02ac85d0d5.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a0c2e6a-174e\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 19 May 2026 09:33:30 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5e95449301554f954c3f328ee85d897f\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5966,"size_decoded":3195,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3055)","md5":"a9563eafb41c9e6b519a29f0206f6b89","sha1":"43a8b417d99fe60c3d65ddae1e66d8cabd277000","sha256":"ba67ff82446ee411a3ef96ebe6abe55cf6cc1abfd78c841cd5d9a0a70804725a","sha512":"1e31a74cb24aeb33cac85e854608a21314f1416f3db595d14b0577305da06f72bf42b9dea2c36f570fcea9dbd7d88793bd8bc291d498ab58b1e2413f173b781d","ssdeep":"96:AaPctCCkctcSycQOchchctDOAXtC4C2GM0/CnXkMHsU3KEu9pJfmJuuImRBYkqMy:NcUrctcXc3chchc1OotC4ChMUCX1HFRM","tlshash":"d5c1118471c1f09513db9a82a4370606f27d5c5c704b79ece3d0d4d6aabba4db42bb36","first_seen":"2026-05-19T10:58:17.796011Z","last_seen":"2026-07-27T05:27:33.169673Z","times_seen":736,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNTYyNThdLHs3NDM0NTEodCxlLG4pe24uZChlLHtjcmVhdGVPYnNlcnZhYmxlOigpPT5pfSk7dmFyIHI9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3ZhciBlPXRoaXM7dGhpcy5fcmVzb2x1dGlvbkxpc3RlbmVyPWZ1bmN0aW9uKCl7cmV0dXJuIGUuX29uUmVzb2x1dGlvbkNoYW5nZWQoKX0sdGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0PW51bGwsdGhpcy5fb2JzZXJ2ZXJzPVtdLHRoaXMuX3dpbmRvdz10LHRoaXMuX2luc3RhbGxSZXNvbHV0aW9uTGlzdGVuZXIoKX1yZXR1cm4gdC5wcm90b3R5cGUuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMuX3VuaW5zdGFsbFJlc29sdXRpb25MaXN0ZW5lcigpLHRoaXMuX3dpbmRvdz1udWxsfSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsInZhbHVlIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLHQucHJvdG90eXBlLnN1YnNjcmliZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49e25leHQ6dH07cmV0dXJuIHRoaXMuX29ic2VydmVycy5wdXNoKG4pLHt1bnN1YnNjcmliZTpmdW5jdGlvbigpe2UuX29ic2VydmVycz1lLl9vYnNlcnZlcnMuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdCE9PW59KSl9fX0sdC5wcm90b3R5cGUuX2luc3RhbGxSZXNvbHV0aW9uTGlzdGVuZXI9ZnVuY3Rpb24oKXtpZihudWxsIT09dGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0KXRocm93IG5ldyBFcnJvcigiUmVzb2x1dGlvbiBsaXN0ZW5lciBpcyBhbHJlYWR5IGluc3RhbGxlZCIpO3ZhciB0PXRoaXMuX3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvO3RoaXMuX3Jlc29sdXRpb25NZWRpYVF1ZXJ5TGlzdD10aGlzLl93aW5kb3cubWF0Y2hNZWRpYSgiYWxsIGFuZCAocmVzb2x1dGlvbjogIi5jb25jYXQodCwiZHBweCkiKSksdGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0LmFkZExpc3RlbmVyKHRoaXMuX3Jlc29sdXRpb25MaXN0ZW5lcil9LHQucHJvdG90eXBlLl91bmluc3RhbGxSZXNvbHV0aW9uTGlzdGVuZXI9ZnVuY3Rpb24oKXtudWxsIT09dGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0JiYodGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0LnJlbW92ZUxpc3RlbmVyKHRoaXMuX3Jlc29sdXRpb25MaXN0ZW5lciksdGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0PW51bGwpfSx0LnByb3RvdHlwZS5fcmVpbnN0YWxsUmVzb2x1dGlvbkxpc3RlbmVyPWZ1bmN0aW9uKCl7dGhpcy5fdW5pbnN0YWxsUmVzb2x1dGlvbkxpc3RlbmVyKCksdGhpcy5faW5zdGFsbFJlc29sdXRpb25MaXN0ZW5lcigpfSx0LnByb3RvdHlwZS5fb25SZXNvbHV0aW9uQ2hhbmdlZD1mdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5fb2JzZXJ2ZXJzLmZvckVhY2goKGZ1bmN0aW9uKGUpe3JldHVybiBlLm5leHQodC5fd2luZG93LmRldmljZVBpeGVsUmF0aW8pfSkpLHRoaXMuX3JlaW5zdGFsbFJlc29sdXRpb25MaXN0ZW5lcigpfSx0fSgpO2Z1bmN0aW9uIGkodCl7cmV0dXJuIG5ldyByKHQpfX0sNzQyNzkodCxlLG4pe2Z1bmN0aW9uIHIodCl7dmFyIGU9dC53aWR0aCxuPXQuaGVpZ2h0O2lmKGU8MCl0aHJvdyBuZXcgRXJyb3IoIk5lZ2F0aXZlIHdpZHRoIGlzIG5vdCBhbGxvd2VkIGZvciBTaXplIik7aWYobjwwKXRocm93IG5ldyBFcnJvcigiTmVnYXRpdmUgaGVpZ2h0IGlzIG5vdCBhbGxvd2VkIGZvciBTaXplIik7cmV0dXJue3dpZHRoOmUsaGVpZ2h0Om59fWZ1bmN0aW9uIGkodCxlKXtyZXR1cm4gdC53aWR0aD09PWUud2lkdGgmJnQuaGVpZ2h0PT09ZS5oZWlnaHR9bi5kKGUse2VxdWFsU2l6ZXM6KCk9Pmksc2l6ZTooKT0+cn0pfSw3ODkyODcodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0LGUsbil7c3dpdGNoKG4ubGVuZ3RoKXtjYXNlIDA6cmV0dXJuIHQuY2FsbChlKTtjYXNlIDE6cmV0dXJuIHQuY2FsbChlLG5bMF0pO2Nhc2UgMjpyZXR1cm4gdC5jYWxsKGUsblswXSxuWzFdKTtjYXNlIDM6cmV0dXJuIHQuY2FsbChlLG5bMF0sblsxXSxuWzJdKX1yZXR1cm4gdC5hcHBseShlLG4pfX0sMjU4MjYodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSxuLHIpe2Zvcih2YXIgaT0tMSx1PU9iamVjdChlKSxvPXIoZSksYT1vLmxlbmd0aDthLS07KXt2YXIgbD1vW3Q/YTorK2ldO2lmKCExPT09bih1W2xdLGwsdSkpYnJlYWt9cmV0dXJuIGV9fSgpfSw0ODI2Mih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pmp9KTt2YXIgcj1uKDg4NjUxNCksaT1uKDI1NDczOCksdT1uKDkxMDc3OCk7Y29uc3Qgbz1mdW5jdGlvbih0LGUsbil7KHZvaWQgMCE9PW4mJiEoMCx1LmRlZmF1bHQpKHRbZV0sbil8fHZvaWQgMD09PW4mJiEoZSBpbiB0KSkmJigwLGkuZGVmYXVsdCkodCxlLG4pfTt2YXIgYT1uKDI1ODI2KSxsPW4oNDg3MDYwKSxzPW4oMTM5MDcpLGY9big3MDU3NDkpLGQ9big4MDc1NzUpLGM9big1MzE1NTcpLGg9bigyOTU2MzUpLHY9bigyMzk2MykscD1uKDY1OTAxOCksdz1uKDkyODEzMiksXz1uKDg4MDExNSksYj1uKDkzMTQzMykseT1uKDE2NTI2Nyk7Y29uc3QgZz1mdW5jdGlvbih0LGUpe2lmKCgiY29uc3RydWN0b3IiIT09ZXx8ImZ1bmN0aW9uIiE9dHlwZW9mIHRbZV0pJiYiX19wcm90b19fIiE9ZSlyZXR1cm4gdFtlXX07dmFyIEw9big2MTg1NyksUj1uKDIxNzQ1Nyk7Y29uc3QgTT1mdW5jdGlvbih0KXtyZXR1cm4oMCxMLmRlZmF1bHQpKHQsKDAsUi5kZWZhdWx0KSh0KSl9O2NvbnN0IE89ZnVuY3Rpb24odCxlLG4scixpLHUsYSl7dmFyIEw9Zyh0LG4pLFI9ZyhlLG4pLE89YS5nZXQoUik7aWYoTylvKHQsbixPKTtlbHNle3ZhciBqPXU/dShMLFIsbisiIix0LGUsYSk6dm9pZCAwLHg9dm9pZCAwPT09ajtpZih4KXt2YXIgUT0oMCxoLmRlZmF1bHQpKFIpLG09IVEmJigwLApwLmRlZmF1bHQpKFIpLGs9IVEmJiFtJiYoMCx5LmRlZmF1bHQpKFIpO2o9UixRfHxtfHxrPygwLGguZGVmYXVsdCkoTCk/aj1MOigwLHYuZGVmYXVsdCkoTCk/aj0oMCxmLmRlZmF1bHQpKEwpOm0/KHg9ITEsaj0oMCxsLmRlZmF1bHQpKFIsITApKTprPyh4PSExLGo9KDAscy5kZWZhdWx0KShSLCEwKSk6aj1bXTooMCxiLmRlZmF1bHQpKFIpfHwoMCxjLmRlZmF1bHQpKFIpPyhqPUwsKDAsYy5kZWZhdWx0KShMKT9qPU0oTCk6KDAsXy5kZWZhdWx0KShMKSYmISgwLHcuZGVmYXVsdCkoTCl8fChqPSgwLGQuZGVmYXVsdCkoUikpKTp4PSExfXgmJihhLnNldChSLGopLGkoaixSLHIsdSxhKSxhLmRlbGV0ZShSKSksbyh0LG4sail9fTtjb25zdCBqPWZ1bmN0aW9uIHQoZSxuLGksdSxsKXtlIT09biYmKDAsYS5kZWZhdWx0KShuLChmdW5jdGlvbihhLHMpe2lmKGx8fChsPW5ldyByLmRlZmF1bHQpLCgwLF8uZGVmYXVsdCkoYSkpTyhlLG4scyxpLHQsdSxsKTtlbHNle3ZhciBmPXU/dShnKGUscyksYSxzKyIiLGUsbixsKTp2b2lkIDA7dm9pZCAwPT09ZiYmKGY9YSksbyhlLHMsZil9fSksUi5kZWZhdWx0KX19LDY0NTM3Nih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTt2YXIgcj1uKDIzMjg1NCksaT1uKDM3MjAzNSksdT1uKDcwOTA1MSk7Y29uc3Qgbz1mdW5jdGlvbih0LGUpe3JldHVybigwLHUuZGVmYXVsdCkoKDAsaS5kZWZhdWx0KSh0LGUsci5kZWZhdWx0KSx0KyIiKX19LDU3NDY2OSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgcj1uKDY0NTM3NiksaT1uKDg1NDg5NCk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4oMCxyLmRlZmF1bHQpKChmdW5jdGlvbihlLG4pe3ZhciByPS0xLHU9bi5sZW5ndGgsbz11PjE/blt1LTFdOnZvaWQgMCxhPXU+Mj9uWzJdOnZvaWQgMDtmb3Iobz10Lmxlbmd0aD4zJiYiZnVuY3Rpb24iPT10eXBlb2Ygbz8odS0tLG8pOnZvaWQgMCxhJiYoMCxpLmRlZmF1bHQpKG5bMF0sblsxXSxhKSYmKG89dTwzP3ZvaWQgMDpvLHU9MSksZT1PYmplY3QoZSk7KytyPHU7KXt2YXIgbD1uW3JdO2wmJnQoZSxsLHIsbyl9cmV0dXJuIGV9KSl9fSw4NTQ4OTQodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIHI9big5MTA3NzgpLGk9bigzOTI5MDgpLHU9big5MjExNDMpLG89big4ODAxMTUpO2NvbnN0IGE9ZnVuY3Rpb24odCxlLG4pe2lmKCEoMCxvLmRlZmF1bHQpKG4pKXJldHVybiExO3ZhciBhPXR5cGVvZiBlO3JldHVybiEhKCJudW1iZXIiPT1hPygwLGkuZGVmYXVsdCkobikmJigwLHUuZGVmYXVsdCkoZSxuLmxlbmd0aCk6InN0cmluZyI9PWEmJmUgaW4gbikmJigwLHIuZGVmYXVsdCkobltlXSx0KX19LDM3MjAzNSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgcj1uKDc4OTI4NyksaT1NYXRoLm1heDtjb25zdCB1PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gZT1pKHZvaWQgMD09PWU/dC5sZW5ndGgtMTplLDApLGZ1bmN0aW9uKCl7Zm9yKHZhciB1PWFyZ3VtZW50cyxvPS0xLGE9aSh1Lmxlbmd0aC1lLDApLGw9QXJyYXkoYSk7KytvPGE7KWxbb109dVtlK29dO289LTE7Zm9yKHZhciBzPUFycmF5KGUrMSk7KytvPGU7KXNbb109dVtvXTtyZXR1cm4gc1tlXT1uKGwpLCgwLHIuZGVmYXVsdCkodCx0aGlzLHMpfX19LDcwOTA1MSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgcj1uKDEyODA3NiksaT1uKDM2MDQ5KSx1PW4oMjMyODU0KTtjb25zdCBvPWkuZGVmYXVsdD9mdW5jdGlvbih0LGUpe3JldHVybigwLGkuZGVmYXVsdCkodCwidG9TdHJpbmciLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMSx2YWx1ZTooMCxyLmRlZmF1bHQpKGUpLHdyaXRhYmxlOiEwfSl9OnUuZGVmYXVsdDtjb25zdCBhPSgwLG4oOTQ4NTczKS5kZWZhdWx0KShvKX0sOTQ4NTczKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+aX0pO3ZhciByPURhdGUubm93O2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9MCxuPTA7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGk9cigpLHU9MTYtKGktbik7aWYobj1pLHU+MCl7aWYoKytlPj04MDApcmV0dXJuIGFyZ3VtZW50c1swXX1lbHNlIGU9MDtyZXR1cm4gdC5hcHBseSh2b2lkIDAsYXJndW1lbnRzKX19fSwxMjgwNzYodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19fSwyMzI4NTQodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0KXtyZXR1cm4gdH19LDIzOTYzKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+dX0pO3ZhciByPW4oMzkyOTA4KSxpPW4oMzYwNjIwKTtjb25zdCB1PWZ1bmN0aW9uKHQpe3JldHVybigwLGkuZGVmYXVsdCkodCkmJigwLHIuZGVmYXVsdCkodCl9fSw5MzE0MzModCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5kfSk7dmFyIHI9bigxNzg0OTcpLGk9bigzOTI1NDUpLHU9bigzNjA2MjApLG89RnVuY3Rpb24ucHJvdG90eXBlLGE9T2JqZWN0LnByb3RvdHlwZSxsPW8udG9TdHJpbmcscz1hLmhhc093blByb3BlcnR5LGY9bC5jYWxsKE9iamVjdCk7Y29uc3QgZD1mdW5jdGlvbih0KXtpZighKDAsdS5kZWZhdWx0KSh0KXx8IltvYmplY3QgT2JqZWN0XSIhPSgwLHIuZGVmYXVsdCkodCkpcmV0dXJuITE7dmFyIGU9KDAsaS5kZWZhdWx0KSh0KTtpZihudWxsPT09ZSlyZXR1cm4hMDt2YXIgbj1zLmNhbGwoZSwiY29uc3RydWN0b3IiKSYmZS5jb25zdHJ1Y3RvcjtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgbiYmbiBpbnN0YW5jZW9mIG4mJmwuY2FsbChuKT09Zn19LDc0MDE2Mih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pml9KTt2YXIgcj1uKDQ4MjYyKTtjb25zdCBpPSgwLG4oNTc0NjY5KS5kZWZhdWx0KSgoZnVuY3Rpb24odCxlLG4peygwLHIuZGVmYXVsdCkodCxlLG4pfSkpfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/51031.535f27b776f394c7e43a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.931Z","timestamp":1785120633931,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/51031.535f27b776f394c7e43a.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-ab54\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 32175a751b0acfecd38e2ecdd02d755b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":43860,"size_decoded":14999,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (12910)","md5":"cd701b7197ef255d09501c8c91343508","sha1":"d84cab0e7c13c5801a0a2c6df4aba3f32e6b316d","sha256":"714cb61cc6924e6d1e8241ff191fc5aeb03baebbbaa81c15949838a09fb406f6","sha512":"ae8f1406dc1e5c9e8082d922e8a0d6257582733129c26617fefb99243013fa5f0bc9eb178dd69665786b8fb7fd0b7ccdd7ed719fe60676564b82598253efca75","ssdeep":"768:CcDTi4tT8YE9xSrNtzDcsIj/XWm9hIz4dp9VUZ+n5Vz2mpehIeVeLh9zoJZemINE:hryj/XWgGET5Vz2mp9emzoJZemINyKfS","tlshash":"7e131a35652af5f79ee941ea543754829bbc00523444042876bccdec278caf9f23aef9","first_seen":"2026-07-24T11:36:48.046407Z","last_seen":"2026-07-27T05:19:37.114846Z","times_seen":789,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s1MTAzMV0sezE1Njg1MChlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHt0ZWxlbWV0cnk6KCk9Pmh9KTt2YXIgcz1fKDk0ODM4MCksaT1fKDIyMTA2MSksbj1fKDM4NDAxNyksYT1fKDM3NzIyNikscj1fKDExNzMxMyk7XygzMDAyODYpO2NvbnN0IG89KDAsaS5nZXRMb2dnZXIpKCJDb21tb24uVGVsZW1ldHJ5IiksbD17ZGVmYXVsdDoxNWUzLHNpdGU6M2U1fSxjPVsiYmVmb3JlX3dlYnNvY2tldF9jb25uZWN0aW9uX3RpbWVfZnJhbWUiLCJ3ZWJzb2NrZXRfY29ubmVjdGlvbl90aW1lX2ZyYW1lIiwiZmlyc3Rfc2VyaWVzX2Z1bGxfdGltZV9mcmFtZSIsInBhZ2VfZnVsbF9sb2FkX3RpbWVfZnJhbWUiLCJwYWdlX2xvYWRfdGltZV9mcmFtZSJdO2NvbnN0IGg9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5yZXBvcnRTZW50PW5ldyBzLkRlbGVnYXRlLHRoaXMudGltZUNvdW50ZXJzPXtzZXJpZXM6e21hcmtzOltdfSxzdHVkeTp7fSxwaW5lOnt9fSx0aGlzLl90aW1lb3V0SWRzPXt9LHRoaXMuX2NvbW1vbkFkZGl0aW9uYWxEYXRhPXtjbHVzdGVyOm51bGwsdXNlcklkOiIwIn0sdGhpcy5fcmVwb3J0U3Rhc2g9e319c2V0U2Vzc2lvbkluZm8oZSl7Y29uc3QgdD10aGlzLl9wYXJzZUNsdXN0ZXIoZSk7bnVsbCE9PXQmJih0aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YS5jbHVzdGVyPXQpfXNlbmRSZXBvcnQoZSx0LF8pe2lmKCF0aGlzLl9pc0FibGVUb1NlbmRSZXBvcnQodCkpcmV0dXJuO2NvbnN0IHM9dGhpcy5fZ2V0U3Vic2VydmljZVR5cGUoZSksaT10aGlzLl9nZXRIb3N0KGUscyk7aWYobnVsbCE9PWkpe2lmKF89dm9pZCAwPT09Xz97Y291bnQ6MX06Xyx0aGlzLl9hZGRSZXBvcnRUb1N0YXNoKF8sdCxpKSwhdGhpcy5fdGltZW91dElkc1tlXSl7Y29uc3QgdD1sW2VdPz9sLmRlZmF1bHQ7dGhpcy5fdGltZW91dElkc1tlXT1zZXRUaW1lb3V0KHRoaXMuX3NlbmRUZWxlbWV0cnlUb1NlcnZpY2UuYmluZCh0aGlzLGUsaSksdCl9fWVsc2Ugby5sb2dFcnJvcihgVW5hYmxlIHRvIGdldCBob3N0IGZvciBjb3VudGVyOiAke3R9LCBtZXRyaWMgdHlwZTogJHtlfSwgc2VyaXZjZSB0eXBlOiAke3N9YCl9c2VuZENoYXJ0UmVwb3J0KGUsdCxfPSEwKXt0aGlzLl9zZW5kU2VydmljZVNwZWNpZmllZFJlcG9ydCgiY2hhcnRzIixlLHQsXyl9c2VuZExpbmVUb29sc1N0b3JhZ2VSZXBvcnQoZSx0LF89ITApe3RoaXMuX3NlbmRTZXJ2aWNlU3BlY2lmaWVkUmVwb3J0KCJsaW5lX3Rvb2xzX3N0b3JhZ2UiLGUsdCxfKX1fc2VuZFNlcnZpY2VTcGVjaWZpZWRSZXBvcnQoZSx0LF8scz0hMCl7dGhpcy5fdXBkYXRlVXNlckluZm8oKSxfPXZvaWQgMD09PV8/e2NvdW50OjF9Ol8scyYmKF89dGhpcy5fYXBwZW5kQ29tbW9uQWRkaXRpb25hbEluZm8oXyxbImNsdXN0ZXIiLCJ1c2VySWQiXSkpLHRoaXMuc2VuZFJlcG9ydChlLHQsXyl9X3VwZGF0ZVVzZXJJbmZvKCl7Y29uc3QgZT0idXNlciJpbiB3aW5kb3cmJiJpZCJpbiB3aW5kb3cudXNlcj93aW5kb3cudXNlci5pZDoiMCI7dGhpcy5fY29tbW9uQWRkaXRpb25hbERhdGEudXNlcklkPVN0cmluZyhlKX1faXNBYmxlVG9TZW5kUmVwb3J0KGUpe2NvbnN0IHQ9d2luZG93LlRFTEVNRVRSWV9IT1NUUyxfPWMuaW5jbHVkZXMoZSkscz1Cb29sZWFuKHdpbmRvdy5UcmFkaW5nVmlldz8ub25DaGFydFBhZ2V8fCgwLGEub25XaWRnZXQpKCkpO3JldHVybiB0JiYoIV98fHMpfV9zZW5kVGVsZW1ldHJ5VG9TZXJ2aWNlKGUsdCl7aWYodGhpcy5fcmVwb3J0U3Rhc2guaGFzT3duUHJvcGVydHkodCkpe2NvbnN0IGU9dGhpcy5fY3JvcFBhcmFtcyh0aGlzLl9yZXBvcnRTdGFzaFt0XSksXz10aGlzLl9yZW5hbWVBbGxQYXJhbXMoZSkscz17ZXZlbnQ6InJlcG9ydF9zdGFzaCIscGFyYW1zOnRoaXMuX2NsZWFuQWxsUGFyYW1zKF8pfTtvLmxvZ0RlYnVnKGBSZXBvcnQgdG8gaG9zdDogJHt0fTsgc3Rhc2g6ICR7SlNPTi5zdHJpbmdpZnkodGhpcy5fcmVwb3J0U3Rhc2hbdF0pfWApLHRoaXMucmVwb3J0U2VudC5maXJlKHRoaXMuX3JlcG9ydFN0YXNoW3RdKSxkZWxldGUgdGhpcy5fcmVwb3J0U3Rhc2hbdF0sKDAsbi5mZXRjaCkoYCR7dH0vcmVwb3J0YCx7bWV0aG9kOiJQT1NUIixib2R5OkpTT04uc3RyaW5naWZ5KHMpfSl9dGhpcy5fdGltZW91dElkc1tlXT1udWxsfV9nZXRIb3N0KGUsdCl7Y29uc3QgXz13aW5kb3cuVEVMRU1FVFJZX0hPU1RTLHM9X1tlXSYmX1tlXVt0XTtyZXR1cm4gQm9vbGVhbihzKT9zOm51bGx9X2dldFN1YnNlcnZpY2VUeXBlKGUpe2lmKCFbImNoYXJ0cyIsInNpdGUiXS5pbmNsdWRlcyhlKSlyZXR1cm4iYWxsIjtsZXQgdD0iZnJlZSI7Y29uc3QgXz13aW5kb3cudXNlci5pc19wcm87cmV0dXJuImNoYXJ0cyI9PT1lJiYoMCxyLmlzT25Nb2JpbGVBcHBQYWdlKSgib2xkIik/dD1fPyJpb3NfcHJvIjoiaW9zX2ZyZWUiOiJjaGFydHMiPT09ZSYmKDAsci5pc09uTW9iaWxlQXBwUGFnZSkoIm5ldyIpP3Q9Xz8iYW5kcm9pZF9wcm8iOiJhbmRyb2lkX2ZyZWUiOigwLGEub25XaWRnZXQpKCk/dD0id2lkZ2V0IjpfJiYodD0icHJvIiksdH1fcGFyc2VDbHVzdGVyKGUpe2xldCB0O3RyeXt0PUpTT04ucGFyc2UoZSkuc2Vzc2lvbl9pZH1jYXRjaChlKXtyZXR1cm4gby5sb2dFcnJvcigiQ291bGQgbm90IHBhcnNlIGNsdXN0ZXIgaWQgKHNlc3Npb24gaWQpIiksbnVsbH1jb25zdCBfPS8oLipAKSguKikvZ2kuZXhlYyh0KTtyZXR1cm4gbnVsbCE9PV8mJl8ubGVuZ3RoPj0zP19bMl06bnVsbH1fYXBwZW5kQ29tbW9uQWRkaXRpb25hbEluZm8oZSx0KXtyZXR1cm4gdC5mb3JFYWNoKCh0PT57dCBpbiB0aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YSYmKGUuYWRkaXRpb25hbD1lLmFkZGl0aW9uYWx8fHt9LGUuYWRkaXRpb25hbFt0XT10aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YVt0XSl9KSksZX1fY3JvcFBhcmFtcyhlKXsKZm9yKGNvbnN0IHQgaW4gZSllLmhhc093blByb3BlcnR5KHQpJiZlW3RdLmxlbmd0aD4xZTMmJihlLnRvb19tdWNoX21ldHJpY3NfZnJhbWU9ZS50b29fbXVjaF9tZXRyaWNzX2ZyYW1lPz9bXSxlLnRvb19tdWNoX21ldHJpY3NfZnJhbWUucHVzaCh7dmFsdWU6ZVt0XS5sZW5ndGgsYWRkaXRpb25hbDp7ZXZlbnQ6dH19KSxkZWxldGUgZVt0XSk7cmV0dXJuIGV9X3JlbmFtZUFsbFBhcmFtcyhlKXtjb25zdCB0PXt9O2Zvcihjb25zdCBfIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShfKSYmKHRbX109W10sZVtfXS5mb3JFYWNoKChlPT57dFtfXS5wdXNoKHRoaXMuX3JlbmFtZUVudHJ5UGFyYW1zKGUpKX0pKSk7cmV0dXJuIHR9X3JlbmFtZUVudHJ5UGFyYW1zKGUpe2NvbnN0IHQ9e2NvdW50OiJjIix2YWx1ZToidiIsdGV4dDoidCIsYWRkaXRpb25hbDoiYSJ9O3JldHVybiBPYmplY3Qua2V5cyhlKS5yZWR1Y2UoKChfLHMpPT4oX1t0W3NdXT1lW3NdLF8pKSx7fSl9X2NsZWFuQWxsUGFyYW1zKGUpe2NvbnN0IHQ9e307Zm9yKGNvbnN0IF8gaW4gZSlpZihlLmhhc093blByb3BlcnR5KF8pKXt0W19dPVtdO2NvbnN0IHM9e2M6MH07ZVtfXS5mb3JFYWNoKChlPT57Y29uc3QgaT10aGlzLl9jbGVhbkVudHJ5UGFyYW1zKGUpLG49T2JqZWN0LmtleXMoaSkubGVuZ3RoOzE9PT1uJiZ2b2lkIDAhPT1pLmM/cy5jKz1pLmM6bj4wJiZ0W19dLnB1c2goaSl9KSkscy5jPjAmJnRbX10ucHVzaChzKSwwPT09dFtfXS5sZW5ndGgmJmRlbGV0ZSB0W19dfXJldHVybiB0fV9jbGVhbkVudHJ5UGFyYW1zKGUpe2NvbnN0IHQ9T2JqZWN0LmtleXMoZSkucmVkdWNlKCgodCxfKT0+ImMiIT09XyYmInQiIT09X3x8ZVtfXT8odFtfXT1lW19dLHQpOnQpLHt9KTtyZXR1cm4iYyJpbiB0fHwidiJpbiB0fHwidCJpbiB0P3Q6e319X2FkZFJlcG9ydFRvU3Rhc2goZSx0LF8pe18gaW4gdGhpcy5fcmVwb3J0U3Rhc2h8fCh0aGlzLl9yZXBvcnRTdGFzaFtfXT17fSksdCBpbiB0aGlzLl9yZXBvcnRTdGFzaFtfXXx8KHRoaXMuX3JlcG9ydFN0YXNoW19dW3RdPVtdKSxPYmplY3Qua2V5cyhlKS5sZW5ndGg+MCYmdGhpcy5fcmVwb3J0U3Rhc2hbX11bdF0ucHVzaChlKX19fSw5NjQ0ODYoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7ZGVlcEV4dGVuZDooKT0+aX0pO2NvbnN0IHM9bmV3IFNldChbIl9fcHJvdG9fXyIsInByb3RvdHlwZSIsImNvbnN0cnVjdG9yIl0pO2Z1bmN0aW9uIGkoZSwuLi50KXtyZXR1cm4gZSYmIm9iamVjdCI9PXR5cGVvZiBlPygwPT09dC5sZW5ndGh8fHQuZm9yRWFjaCgodD0+e251bGwhPXQmJiJvYmplY3QiPT10eXBlb2YgdCYmT2JqZWN0LmtleXModCkuZm9yRWFjaCgoXz0+e2lmKGZ1bmN0aW9uKGUpe3JldHVybiBzLmhhcyhlKX0oXykpcmV0dXJuO2NvbnN0IGE9ZVtfXSxyPXRbX107aWYocj09PWUpcmV0dXJuO2NvbnN0IG89QXJyYXkuaXNBcnJheShyKTtpZihyJiYobihyKXx8bykpe2xldCB0O3Q9bz9hJiZBcnJheS5pc0FycmF5KGEpP2E6W106YSYmbihhKT9hOnt9LGVbX109aSh0LHIpfWVsc2Ugdm9pZCAwIT09ciYmKGVbX109cil9KSl9KSksZSk6ZX1mdW5jdGlvbiBuKGUpe2lmKCFlfHwiW29iamVjdCBPYmplY3RdIiE9PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKSlyZXR1cm4hMTtjb25zdCB0PU9iamVjdC5nZXRQcm90b3R5cGVPZihlKTtpZighdClyZXR1cm4hMDtjb25zdCBfPU9iamVjdC5oYXNPd25Qcm9wZXJ0eS50b1N0cmluZyxzPXQuaGFzT3duUHJvcGVydHkoImNvbnN0cnVjdG9yIikmJnQuY29uc3RydWN0b3I7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHMmJl8uY2FsbChzKT09PV8uY2FsbChPYmplY3QpfX0sNzY4NzYwKGUsdCxfKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcygpe2xldCBlLHQ7cmV0dXJue3Byb21pc2U6bmV3IFByb21pc2UoKChfLHMpPT57ZT1fLHQ9c30pKSxyZWplY3Q6dCxyZXNvbHZlOmV9fV8uZCh0LHtjcmVhdGVEZWZlcnJlZFByb21pc2U6KCk9PnN9KX0sNTg5NzQ5KGUsdCxfKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtpZih2b2lkIDA9PT1lKXJldHVybiIiO2lmKGUgaW5zdGFuY2VvZiBFcnJvcil7bGV0IHQ9ZS5tZXNzYWdlO3JldHVybiBlLnN0YWNrJiYodCs9IiAiK2Uuc3RhY2spLHR9cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlP2UudG9TdHJpbmcoKTpKU09OLnN0cmluZ2lmeShlKX1fLmQodCx7ZXJyb3JUb1N0cmluZzooKT0+c30pfSwxMTYzMTAoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7Y3JlYXRlSnNvblNlcmlhbGl6YWJsZUNhY2hlOigpPT5hfSk7dmFyIHM9XygxMzg2MzgpO2NsYXNzIGl7Y29uc3RydWN0b3IoZSl7dGhpcy5fY2FjaGU9ZX1hc3luYyBnZXRWYWx1ZShlKXtjb25zdCB0PWF3YWl0IHRoaXMuX2NhY2hlLm1hdGNoKGUpO2lmKCF0KXJldHVybiBudWxsO3JldHVybiJhcHBsaWNhdGlvbi9qc29uIj09PSgwLHMuZW5zdXJlTm90TnVsbCkodC5oZWFkZXJzLmdldCgiQ29udGVudC1UeXBlIikpP3QuanNvbigpOnQudGV4dCgpfWFzeW5jIHNldFZhbHVlKGUsdCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P3RoaXMuX2NhY2hlLnB1dChlLG5ldyBSZXNwb25zZSh0LHtoZWFkZXJzOnsiY29udGVudC10eXBlIjoidGV4dC9wbGFpbiJ9fSkpOnRoaXMuX2NhY2hlLnB1dChlLG5ldyBSZXNwb25zZShKU09OLnN0cmluZ2lmeSh0KSx7aGVhZGVyczp7ImNvbnRlbnQtdHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifX0pKX1hc3luYyBtaWdyYXRlVmFsdWUoZSx0KXtjb25zdCBfPWF3YWl0IHRoaXMuZ2V0VmFsdWUoZSk7XyYmKGF3YWl0IHRoaXMuc2V0VmFsdWUodCxfKSxhd2FpdCB0aGlzLl9jYWNoZS5kZWxldGUoZSkpfWFzeW5jIGRlbGV0ZVZhbHVlKGUpe3JldHVybiB0aGlzLl9jYWNoZS5kZWxldGUoZSl9fWNsYXNzIG57Y29uc3RydWN0b3IoKXt0aGlzLl9kYXRhPW5ldyBNYXB9YXN5bmMgZ2V0VmFsdWUoZSl7cmV0dXJuIHRoaXMuX2RhdGEuZ2V0KGUpPz9udWxsfWFzeW5jIHNldFZhbHVlKGUsdCl7dGhpcy5fZGF0YS5zZXQoZSx0KX1hc3luYyBtaWdyYXRlVmFsdWUoZSx0KXsKdGhpcy5fZGF0YS5oYXMoZSkmJih0aGlzLl9kYXRhLnNldCh0LHRoaXMuX2RhdGEuZ2V0KGUpKSx0aGlzLl9kYXRhLmRlbGV0ZShlKSl9YXN5bmMgZGVsZXRlVmFsdWUoZSl7cmV0dXJuIHRoaXMuX2RhdGEuZGVsZXRlKGUpfX1hc3luYyBmdW5jdGlvbiBhKGUpe3RyeXtjb25zdCB0PWF3YWl0IGNhY2hlcy5vcGVuKGUpO3JldHVybiBuZXcgaSh0KX1jYXRjaHtyZXR1cm4gbmV3IG59fX0sNDAzNihlLHQsXyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7Y29uc3QgdD17fTtpZigtMT09PWUuaW5kZXhPZigiQCIpKXQuc2hvcnRJZD1lLHQucGFja2FnZUlkPSJ0di1iYXNpY3N0dWRpZXMiLHQuaWQ9ZSsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPTE7ZWxzZXtjb25zdCBfPWUuc3BsaXQoIkAiKTt0LnNob3J0SWQ9X1swXTtjb25zdCBzPV9bMV0uc3BsaXQoIi0iKTtpZigzPT09cy5sZW5ndGgpdC5wYWNrYWdlSWQ9cy5zbGljZSgwLDIpLmpvaW4oIi0iKSx0LmlkPXQuc2hvcnRJZCsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPXBhcnNlSW50KHNbMl0pO2Vsc2UgaWYoMT09PXMubGVuZ3RoJiYiZGVjaXNpb25iYXIiPT09c1swXSl0LnBhY2thZ2VJZD0ibGVzLSIrc1swXSx0LmlkPXQuc2hvcnRJZCsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPTE7ZWxzZXtpZigxIT09cy5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJ1bmV4cGVjdGVkIHN0dWR5IGlkOiIrZSk7dC5wYWNrYWdlSWQ9InR2LSIrc1swXSx0LmlkPXQuc2hvcnRJZCsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPTF9fWlmKHQuZnVsbElkPXQuaWQrIi0iK3QudmVyc2lvbiwidHYtc2NyaXB0aW5nIj09PXQucGFja2FnZUlkKXtjb25zdCBlPXQuc2hvcnRJZDtpZigwPT09ZS5pbmRleE9mKCJTY3JpcHQkIil8fDA9PT1lLmluZGV4T2YoIlN0cmF0ZWd5U2NyaXB0JCIpKXtjb25zdCBfPWUuaW5kZXhPZigiXyIpO3QucHJvZHVjdElkPV8+PTA/ZS5zdWJzdHJpbmcoMCxfKTp0LnBhY2thZ2VJZH1lbHNlIHQucHJvZHVjdElkPXQucGFja2FnZUlkfWVsc2UgdC5wcm9kdWN0SWQ9dC5wYWNrYWdlSWQ7cmV0dXJuIHR9Xy5kKHQse3BhcnNlSWRTdHJpbmc6KCk9PnN9KX0sNzgwOTc1KGUsdCxfKXsidXNlIHN0cmljdCI7dmFyIHM7Xy5kKHQse0NoYXJ0QXBpTWVzc2FnZU1ldGhvZDooKT0+c30pLGZ1bmN0aW9uKGUpe2UuQ29ubmVjdGVkPSJjb25uZWN0ZWQiLGUuRGlzY29ubmVjdGVkPSJkaXNjb25uZWN0ZWQiLGUuUmVjb25uZWN0QmFpbG91dD0icmVjb25uZWN0X2JhaWxvdXQifShzfHwocz17fSkpfSwzMDkwNTIoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7UVVPVEVfRklFTERTOigpPT5pLFFVT1RFX0ZJRUxEU19DQUNIRTooKT0+bn0pO3ZhciBzPV8oMTM4NjM4KQo7Y29uc3QgaT1uZXcgU2V0KFsicHJvX25hbWUiLCJiYXNlX25hbWUiLCJsb2dvIiwibG9nb2lkIiwiY3VycmVuY3ktbG9nb2lkIiwiYmFzZS1jdXJyZW5jeS1sb2dvaWQiLCJzb3VyY2UtbG9nb2lkIiwic2hvcnRfbmFtZSIsIndlYl9zaXRlX3VybCIsInByb19wZXJtIiwidGltZXpvbmUiLCJjdXJyZW50X3Nlc3Npb24iLCJzZXNzaW9uX2hvbGlkYXlzIiwibGFzdF9wcmljZSIsImxwX3RpbWUiLCJzdWJzZXNzaW9ucyIsInByZXZfY2xvc2VfcHJpY2UiLCJvcGVuX3ByaWNlIiwiaGlnaF9wcmljZSIsImxvd19wcmljZSIsInByaWNlXzUyX3dlZWtfaGlnaCIsInByaWNlXzUyX3dlZWtfbG93IiwiYXNrIiwiYXNrX3NpemUiLCJiaWQiLCJiaWRfc2l6ZSIsInJjaCIsInJjaHAiLCJydGMiLCJydGNfdGltZSIsIm5jaCIsIm5jaHAiLCJudGMiLCJudGNfdGltZSIsImRhdGFfZnJlcXVlbmN5IiwicmVmZXJlbmNlLWxhc3QtcGVyaW9kLXN0YXJ0IiwiYnVzaW5lc3NfZGVzY3JpcHRpb24iLCJ3ZWJfc2l0ZV91cmwiLCJmaWdpIiwibnVtYmVyX29mX2VtcGxveWVlcyIsImZsb2F0X3NoYXJlc19vdXRzdGFuZGluZyIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9jYWxlbmRhcl9kYXRlIiwicm9vdCIsImRlc2NyaXB0aW9uIiwiZXhjaGFuZ2UiLCJsaXN0ZWRfZXhjaGFuZ2UiLCJ0eXBlIiwiY291bnRyeV9jb2RlIiwicHJvdmlkZXJfaWQiLCJpc190cmFkYWJsZSIsInNlY3RvciIsInR5cGVzcGVjcyIsInZpc2libGUtcGxvdHMtc2V0IiwiaW5kdXN0cnkiLCJjdXJyZW5jeV9pZCIsImxhc3RfcHJpY2UiLCJmcmFjdGlvbmFsIiwibWlubW92IiwibWlubW92ZTIiLCJwcmljZXNjYWxlIiwidmFyaWFibGVfdGlja19zaXplIiwiY2hhbmdlIiwiY2hhbmdlX3BlcmNlbnQiLCJ2b2x1bWUiLCJhdmVyYWdlX3ZvbHVtZSIsIm1hcmtldF9jYXBfYmFzaWMiLCJtYXJrZXRfY2FwX2NhbGMiLCJ0b3RhbF9yZXZlbnVlIiwiZWFybmluZ3NfcGVyX3NoYXJlX2Jhc2ljX3R0bSIsInByaWNlX2Vhcm5pbmdzX3R0bSIsImJldGFfMV95ZWFyIiwiZHBzX2NvbW1vbl9zdG9ja19wcmltX2lzc3VlX2Z5IiwiZGl2aWRlbmRzX3lpZWxkIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcSIsImVhcm5pbmdzX3B1YmxpY2F0aW9uX3R5cGVfbmV4dF9mcSIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9mcSIsImZvcmVjYXN0X3JhdyIsImxhc3RfcmVsZWFzZV9kYXRlIiwibmV4dF9yZWxlYXNlX2RhdGUiLCJyZWZlcmVuY2VfbGFzdF9wZXJpb2QiLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIiwibnVtYmVyX29mX2VtcGxveWVlcyIsIndlYl9zaXRlX3VybCIsImJ1c2luZXNzX2Rlc2NyaXB0aW9uIiwiZm91bmRlZCIsImNlbyIsImZsb2F0X3NoYXJlc19vdXRzdGFuZGluZyIsInRvdGFsX3NoYXJlc19vdXRzdGFuZGluZyIsImRpdmlkZW5kX3BheW91dF9yYXRpb190dG0iLCJkaXZpZGVuZHNfeWllbGRfY3VycmVudCIsImRpdmlkZW5kX2V4X2RhdGVfdXBjb21pbmciLCJkaXZpZGVuZF9hbW91bnRfdXBjb21pbmciLCJkaXZpZGVuZF9hbW91bnRfcmVjZW50IiwiZGl2aWRlbmRfZXhfZGF0ZV9yZWNlbnQiLCJkaXZpZGVuZF9hbW91bnRfaCIsImRpdmlkZW5kX3BheW1lbnRfZGF0ZV91cGNvbWluZyIsImRpdmlkZW5kX3BheW1lbnRfZGF0ZV9yZWNlbnQiLCJ0b3RhbF9yZXZlbnVlX2ZxX2giLCJ0b3RhbF9yZXZlbnVlX2Z5X2giLCJuZXRfaW5jb21lX2Z5X2giLCJuZXRfaW5jb21lX2ZxX2giLCJ0b3RhbF9hc3NldHNfZnlfaCIsInRvdGFsX2Fzc2V0c19mcV9oIiwidG90YWxfbGlhYmlsaXRpZXNfZnlfaCIsInRvdGFsX2xpYWJpbGl0aWVzX2ZxX2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZnlfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19mcV9oIiwiY2FzaF9mX2ludmVzdGluZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9maW5hbmNpbmdfYWN0aXZpdGllc19meV9oIiwiY2FzaF9mX2ZpbmFuY2luZ19hY3Rpdml0aWVzX2ZxX2giLCJmaXNjYWxfcGVyaW9kX2Z5X2giLCJmaXNjYWxfcGVyaW9kX2ZxX2giLCJmaXNjYWxfcGVyaW9kX2ZoX2giLCJlYXJuaW5nc19yZWxlYXNlX2RhdGVfZnFfaCIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlX2ZxIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnEiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfZnFfaCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcV9oIiwiZWFybmluZ3NfZmlzY2FsX3BlcmlvZF9mcV9oIiwibmV4dF9lYXJuaW5nc19maXNjYWxfcGVyaW9kX2ZxIiwiaXNfbmV4dF9lYXJuaW5nc19yZWxlYXNlX2RhdGVfZXN0aW1hdGVkIiwic3ltYm9sLXByaW1hcnluYW1lIiwiY3VycmVuY3lfY29kZSIsInJhdGVzX21jIiwicmF0ZXNfZnkiLCJyYXRlc190dG0iLCJtZWFzdXJlIiwidmFsdWVfdW5pdF9pZCIsInZhbHVlLXVuaXQtaWQiLCJ1cGRhdGVfbW9kZSIsImxhbmd1YWdlIiwibG9jYWxfZGVzY3JpcHRpb24iLCJzaG9ydF9kZXNjcmlwdGlvbiIsInNvdXJjZSIsInNvdXJjZTIiLCJmb3JtYXQiLCJyZWNvbW1lbmRhdGlvbl9tYXJrIiwibGFzdF9yZXBvcnRfZnJlcXVlbmN5IiwicHJpY2VfdGFyZ2V0X2VzdGltYXRlc19udW0iLCJwcmljZV90YXJnZXRfYXZlcmFnZSIsInVwZGF0ZV9tb2RlX3NlY29uZHMiLCJyZWNvbW1lbmRhdGlvbl90b3RhbCIsInJlY29tbWVuZGF0aW9uX2J1eSIsInJlY29tbWVuZGF0aW9uX292ZXIiLCJyZWNvbW1lbmRhdGlvbl9ob2xkIiwicmVjb21tZW5kYXRpb25fdW5kZXIiLCJyZWNvbW1lbmRhdGlvbl9zZWxsIiwicmVjb21tZW5kYXRpb25fdG90YWwiLCJwcmljZV90YXJnZXRfaGlnaCIsInByaWNlX3RhcmdldF9sb3ciLCJyYXRlc19wdCIsInJhdGVzX3B0IiwidG90YWxfcmV2ZW51ZV9meV9oIiwidG90YWxfcmV2ZW51ZV9mcV9oIiwidG90YWxfcmV2ZW51ZV9maF9oIiwibmV0X3JldmVudWVfZnlfaCIsIm5ldF9yZXZlbnVlX2ZxX2giLCJuZXRfcmV2ZW51ZV9maF9oIiwibmV0X2luY29tZV9meV9oIiwibmV0X2luY29tZV9mcV9oIiwibmV0X2luY29tZV9maF9oIiwidG90YWxfYXNzZXRzX2Z5X2giLCJ0b3RhbF9hc3NldHNfZnFfaCIsInRvdGFsX2Fzc2V0c19maF9oIiwidG90YWxfbGlhYmlsaXRpZXNfZnlfaCIsInRvdGFsX2xpYWJpbGl0aWVzX2ZxX2giLCJ0b3RhbF9saWFiaWxpdGllc19maF9oIiwiY2FzaF9mX29wZXJhdGluZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19maF9oIiwiY2FzaF9mX2ludmVzdGluZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9pbnZlc3RpbmdfYWN0aXZpdGllc19maF9oIiwiY2FzaF9mX2ZpbmFuY2luZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9maW5hbmNpbmdfYWN0aXZpdGllc19maF9oIiwiZmlzY2FsX3BlcmlvZF9meSIsImZpc2NhbF9wZXJpb2RfZnEiLCJmaXNjYWxfcGVyaW9kX2ZoIiwiZWFybmluZ3NfcmVsZWFzZV9kYXRlX2ZxX2giLCJlYXJuaW5nc19yZWxlYXNlX2RhdGVfZnlfaCIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZV9maF9oIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGVfZnEiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZV9meSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlX2ZoIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X3RpbWUiLCJlYXJuaW5nc19yZWxlYXNlX3RpbWUiLCJpc19uZXh0X2Vhcm5pbmdzX3JlbGVhc2VfZGF0ZV9lc3RpbWF0ZWQiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X2Z5IiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZmgiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfZnFfaCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9meV9oIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X2ZoX2giLCJlYXJuaW5nc19wZXJfc2hhcmVfZnFfaCIsImVhcm5pbmdzX3Blcl9zaGFyZV9meV9oIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZoX2giLCJlYXJuaW5nc19maXNjYWxfcGVyaW9kX2ZxX2giLCJlYXJuaW5nc19maXNjYWxfcGVyaW9kX2Z5X2giLCJlYXJuaW5nc19maXNjYWxfcGVyaW9kX2ZoX2giLCJuZXh0X2Vhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZnEiLCJuZXh0X2Vhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZnkiLCJuZXh0X2Vhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZmgiLCJyZXZlbnVlX2ZxX2giLCJyZXZlbnVlX2Z5X2giLCJyZXZlbnVlX2ZoX2giLCJyZXZlbnVlX2ZvcmVjYXN0X2ZxX2giLCJyZXZlbnVlX2ZvcmVjYXN0X2Z5X2giLCJyZXZlbnVlX2ZvcmVjYXN0X2ZoX2giLCJyZXZlbnVlX2ZvcmVjYXN0X25leHRfZnEiLCJyZXZlbnVlX2ZvcmVjYXN0X25leHRfZnkiLCJyZXZlbnVlX2ZvcmVjYXN0X25leHRfZmgiLCJyZXZlbnVlX3NlZ19ieV9idXNpbmVzc19oIiwicmV2ZW51ZV9zZWdfYnlfcmVnaW9uX2giLCJ0b3RhbF9yZXZlbnVlX2Z5IiwidG90YWxfcmV2ZW51ZV9mcSIsInRvdGFsX3JldmVudWVfZmgiLCJncm9zc19wcm9maXRfZnkiLCJncm9zc19wcm9maXRfZnEiLCJncm9zc19wcm9maXRfZmgiLCJlYml0ZGFfZnkiLCJlYml0X2Z5IiwibmV0X2luY29tZV9meSIsIm5ldF9pbmNvbWVfZnEiLCJuZXRfaW5jb21lX2ZoIiwidG90YWxfZGVidF9meV9oIiwidG90YWxfZGVidF9mcV9oIiwidG90YWxfZGVidF9maF9oIiwiZnJlZV9jYXNoX2Zsb3dfZnlfaCIsImZyZWVfY2FzaF9mbG93X2ZxX2giLCJmcmVlX2Nhc2hfZmxvd19maF9oIiwiY2FzaF9uX2VxdWl2YWxlbnRzX2Z5X2giLCJjYXNoX25fZXF1aXZhbGVudHNfZnFfaCIsImNhc2hfbl9lcXVpdmFsZW50c19maF9oIiwidG90YWxfY3VycmVudF9hc3NldHNfZnkiLCJ0b3RhbF9jdXJyZW50X2Fzc2V0c19mcSIsInRvdGFsX2N1cnJlbnRfYXNzZXRzX2ZoIiwidG90YWxfY3VycmVudF9saWFiaWxpdGllc19meSIsInRvdGFsX2N1cnJlbnRfbGlhYmlsaXRpZXNfZnEiLCJ0b3RhbF9jdXJyZW50X2xpYWJpbGl0aWVzX2ZoIiwidG90YWxfbm9uX2N1cnJlbnRfYXNzZXRzX2Z5IiwidG90YWxfbm9uX2N1cnJlbnRfYXNzZXRzX2ZxIiwidG90YWxfbm9uX2N1cnJlbnRfYXNzZXRzX2ZoIiwidG90YWxfbm9uX2N1cnJlbnRfbGlhYmlsaXRpZXNfZnkiLCJ0b3RhbF9ub25fY3VycmVudF9saWFiaWxpdGllc19mcSIsInRvdGFsX25vbl9jdXJyZW50X2xpYWJpbGl0aWVzX2ZoIiwibG9hbnNfbmV0X2Z5IiwibG9hbnNfbmV0X2Z5X2giLCJsb2Fuc19uZXRfZnFfaCIsImxvYW5zX25ldF9maF9oIiwidG90YWxfZGVwb3NpdHNfZnkiLCJ0b3RhbF9kZXBvc2l0c19meV9oIiwidG90YWxfZGVwb3NpdHNfZnFfaCIsInRvdGFsX2RlcG9zaXRzX2ZoX2giLCJsb2FuX2xvc3NfYWxsb3dhbmNlc19meSIsImxvYW5fbG9zc19hbGxvd2FuY2VzX2Z5X2giLCJsb2FuX2xvc3NfYWxsb3dhbmNlc19mcV9oIiwibG9hbl9sb3NzX2FsbG93YW5jZXNfZmhfaCIsInJlc2VydmVfdG9fdG90YWxfY2FwaXRhbF9meV9oIiwicmVzZXJ2ZV90b190b3RhbF9jYXBpdGFsX2ZxX2giLCJyZXNlcnZlX3RvX3RvdGFsX2NhcGl0YWxfZmhfaCIsInVuZWFybmVkX3ByZW1pdW1fdG9fdG90YWxfY2FwaXRhbF9meV9oIiwidW5lYXJuZWRfcHJlbWl1bV90b190b3RhbF9jYXBpdGFsX2ZxX2giLCJ1bmVhcm5lZF9wcmVtaXVtX3RvX3RvdGFsX2NhcGl0YWxfZmhfaCIsImluc3VyYW5jZV9yZXNlcnZlc19meV9oIiwiaW5zdXJhbmNlX3Jlc2VydmVzX2ZxX2giLCJpbnN1cmFuY2VfcmVzZXJ2ZXNfZmhfaCIsInBvbGljeV9jbGFpbXNfZnlfaCIsInBvbGljeV9jbGFpbXNfZnFfaCIsInBvbGljeV9jbGFpbXNfZmhfaCIsInByZW1pdW1zX2Vhcm5lZF9meV9oIiwicHJlbWl1bXNfZWFybmVkX2ZxX2giLCJwcmVtaXVtc19lYXJuZWRfZmhfaCIsInByaWNlX2Vhcm5pbmdzX2ZxX2giLCJwcmljZV9lYXJuaW5nc19meV9oIiwicHJpY2VfZWFybmluZ3NfZmhfaCIsInByaWNlX3NhbGVzX2ZxX2giLCJwcmljZV9zYWxlc19meV9oIiwicHJpY2Vfc2FsZXNfZmhfaCIsImRpbHV0ZWRfbmV0X2luY29tZV90dG0iLCJ0b3RhbF9yZXZlbnVlX3R0bSIsIm5ldF9yZXZlbnVlX3R0bSIsInByaWNlX2Vhcm5pbmdzX2N1cnJlbnQiLCJwcmljZV9zYWxlc19jdXJyZW50IiwiaXNpbi1kaXNwbGF5ZWQiLCJjdXNpcCIsImNmaV9jb2RlIiwiaW50ZXJlc3RfaW5jb21lX2Z5X2giLCJpbnRlcmVzdF9pbmNvbWVfZnFfaCIsImludGVyZXN0X2luY29tZV9maF9oIiwibm9uX2ludGVyZXN0X2luY29tZV9meV9oIiwibm9uX2ludGVyZXN0X2luY29tZV9mcV9oIiwibm9uX2ludGVyZXN0X2luY29tZV9maF9oIiwid2Vic2l0ZSIsImRvYyIsImV4cGxvcmVyIiwic291cmNlcyIsImNvbnRyYWN0cyIsImNyeXB0b19jb21tb25fY2F0ZWdvcmllcyIsImNyeXB0b19hc3NldCIsImNvbW11bml0eSIsImRpdmlkZW5kc19hdmFpbGFiaWxpdHkiLCJlYXJuaW5nc19hdmFpbGFiaWxpdHkiLCJmaW5hbmNpYWxzX2F2YWlsYWJpbGl0eSIsImRvY3VtZW50cyIsImV0Zl9hc3NldF90eXBlX2V4cG9zdXJlIiwiZXRmX3JlZ2lvbl9leHBvc3VyZSIsInRvcF9ob2xkaW5ncyIsInVuaXQtaWQiLCJvcHRpb25zLWluZm8iLCJvcHRpb24tdHlwZSIsImludGVyZXN0X2luY29tZV9meSIsImludGVyZXN0X2luY29tZV9mcSIsImludGVyZXN0X2luY29tZV9maCIsIm5vbl9pbnRlcmVzdF9pbmNvbWVfZnkiLCJub25faW50ZXJlc3RfaW5jb21lX2ZxIiwibm9uX2ludGVyZXN0X2luY29tZV9maCIsImludGVyZXN0X2V4cGVuc2VfZnkiLCJpbnRlcmVzdF9leHBlbnNlX2ZxIiwiaW50ZXJlc3RfZXhwZW5zZV9maCIsImxvYW5fbG9zc19wcm92aXNpb25fZnkiLCJsb2FuX2xvc3NfcHJvdmlzaW9uX2ZxIiwibG9hbl9sb3NzX3Byb3Zpc2lvbl9maCIsIm5vbl9pbnRlcmVzdF9leHBlbnNlX2Z5Iiwibm9uX2ludGVyZXN0X2V4cGVuc2VfZnEiLCJub25faW50ZXJlc3RfZXhwZW5zZV9maCIsIm5vbl9vcGVyX2luY29tZV9meSIsIm5vbl9vcGVyX2luY29tZV9mcSIsIm5vbl9vcGVyX2luY29tZV9maCIsInVudXN1YWxfZXhwZW5zZV9pbmNfZnkiLCJ1bnVzdWFsX2V4cGVuc2VfaW5jX2ZxIiwidW51c3VhbF9leHBlbnNlX2luY19maCIsInByZXRheF9pbmNvbWVfZnkiLCJwcmV0YXhfaW5jb21lX2ZxIiwicHJldGF4X2luY29tZV9maCIsImluY29tZV90YXhfZnkiLCJpbmNvbWVfdGF4X2ZxIiwiaW5jb21lX3RheF9maCIsImFmdGVyX3RheF9vdGhlcl9pbmNvbWVfZnkiLCJhZnRlcl90YXhfb3RoZXJfaW5jb21lX2ZxIiwiYWZ0ZXJfdGF4X290aGVyX2luY29tZV9maCIsInRvdGFsX25vbl9vcGVyX2luY29tZV9meSIsInRvdGFsX25vbl9vcGVyX2luY29tZV9mcSIsInRvdGFsX25vbl9vcGVyX2luY29tZV9maCIsIm9wZXJfaW5jb21lX2Z5Iiwib3Blcl9pbmNvbWVfZnEiLCJvcGVyX2luY29tZV9maCIsIm9wZXJhdGluZ19leHBlbnNlc19meSIsIm9wZXJhdGluZ19leHBlbnNlc19mcSIsIm9wZXJhdGluZ19leHBlbnNlc19maCIsImNvc3Rfb2ZfZ29vZHNfZnkiLCJjb3N0X29mX2dvb2RzX2ZxIiwiY29zdF9vZl9nb29kc19maCIsImVxdWl0eV9pbl9lYXJuaW5nc19meSIsImVxdWl0eV9pbl9lYXJuaW5nc19mcSIsImVxdWl0eV9pbl9lYXJuaW5nc19maCIsIm1pbm9yaXR5X2ludGVyZXN0X2V4cF9meSIsIm1pbm9yaXR5X2ludGVyZXN0X2V4cF9mcSIsIm1pbm9yaXR5X2ludGVyZXN0X2V4cF9maCIsImRpc2NvbnRpbnVlZF9vcGVyYXRpb25zX2Z5IiwiZGlzY29udGludWVkX29wZXJhdGlvbnNfZnEiLCJkaXNjb250aW51ZWRfb3BlcmF0aW9uc19maCIsImZyb250X2NvbnRyYWN0IiwibWluX2NvbnRyYWN0IiwicG9pbnR2YWx1ZSIsInVuaXRfaWQiLCJleHBpcmF0aW9uIiwiYXVtIiwiYXNzZXRfY2xhc3MiLCJmb2N1cyIsImV4cGVuc2VfcmF0aW8iLCJsYXVuY2hfZGF0ZSIsImlzc3VlciIsImJyYW5kIiwiaG9tZXBhZ2UiLCJpbmRleF90cmFja2VkIiwiYWN0aXZlbHlfbWFuYWdlZCIsImZ1bmRfdmlld19tb2RlcyIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZnlfaCIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZnFfaCIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZmhfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZnlfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZnFfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZmhfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZnlfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZnFfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZmhfaCIsInByZWZlcnJlZF9zdG9ja19jYXJyeWluZ192YWx1ZV9maCIsInByZWZlcnJlZF9zdG9ja19jYXJyeWluZ192YWx1ZV9mcSIsInRvdGFsX2RlYnRfZnEiLCJtaW5vcml0eV9pbnRlcmVzdF9maCIsIm1pbm9yaXR5X2ludGVyZXN0X2ZxIiwiY2FzaF9uX3Nob3J0X3Rlcm1faW52ZXN0X2ZxIiwiY2FzaF9uX2R1ZV9mX2JhbmtzX2ZoIiwiY2FzaF9uX2R1ZV9mX2JhbmtzX2ZxIiwiZW50ZXJwcmlzZV92YWx1ZV9jdXJyZW50IiwiZXRmX2hvbGRpbmdzX2NvdW50IiwiY29udHJhY3QtZGVzY3JpcHRpb24iLCJyZWZlcmVuY2UtbGFzdC1wZXJpb2QiLCJhbGxfdGltZV9oaWdoIiwiYWxsX3RpbWVfaGlnaF9kYXkiLCJhbGxfdGltZV9sb3ciLCJhbGxfdGltZV9sb3dfZGF5Iiwib3V0c3RhbmRpbmdfYW1vdW50Iiwibm9taW5hbF92YWx1ZSIsImRlbm9tX21pbiIsImN1cnJlbnRfY291cG9uIiwiY291cG9uX3R5cGVfZ2VuZXJhbCIsImNvdXBvbl9mcmVxdWVuY3kiLCJ5aWVsZF90b19tYXR1cml0eSIsIm1hdHVyaXR5LWRhdGUiLCJkYXlzX3RvX21hdHVyaXR5IiwiYm9uZF9pc3N1ZXIiLCJpc3N1ZV9kYXRlIiwiYm9uZF9pc3N1ZXJfc3RvY2tfc3ltYm9sIiwidG90YWxfaXNzdWVkX2Ftb3VudCIsInBhaWRfYW1vdW50IiwiYm9uZF9zbnBfcmF0aW5nX2x0X2giLCJwbGFjZW1lbnRfdHlwZSIsImR1cmF0aW9uX3R5cGUiLCJtYXR1cml0eV90eXBlIiwib2ZmZXJfdHlwZSIsInJlZGVtcHRpb25fdHlwZSIsImNvbnZlcnNpb25fb3B0aW9uIiwic2lua2luZ19mdW5kIiwib3duZXJzaGlwX2Zvcm0iLCJkYWlseS1zdW1tYXJ5LWFzdCIsImlzc3VlX3N0YXR1cyIsImNvdXBvbl9oIiwic2lua2luZ19mdW5kX25leHRfZGF0ZSIsInNpbmtpbmdfZnVuZF9taW5fYW1vdW50X25leHQiLCJjYWxsX25leHRfZGF0ZSIsInJlZGVtcHRpb25zX2giLCJjYWxsX25vdGljZV9kYXlzIiwicHV0X25leHRfZGF0ZSIsInB1dF9ub3RpY2VfZGF5c19taW4iLCJzZW5pb3JpdHlfbGV2ZWwiLCJpbmZsYXRpb25fcHJvdGVjdGlvbiIsInBsZWRnZV9zdGF0dXMiLCJib25kX2lzc3Vlcl9jb3VudHJ5X29mX3Jpc2siLCJib25kX2lzc3Vlcl9jcl9wYXJlbnQiLCJjcmVkaXRfZW5oYW5jZW1lbnRfdHlwZSIsImNyZWRpdF9lbmhhbmNlbWVudF9zdGF0dXMiLCJ1c2Vfb2ZfcHJvY2VlZHMiLCJib25kX2lzc3Vlcl9zbnBfcmF0aW5nX2x0X2giLCJib25kX2lzc3Vlcl9zbnBfcmF0aW5nX3N0X2giLCJib25kX2FnZW50c190ciIsImZpcnN0X2Jhcl90aW1lXzFkIiwiZmluYW5jaWFsLWluZGljYXRvci1pZCIsImV4Y2hhbmdlLWluZm8iLCJ1bmRlcmx5aW5nLXN5bWJvbCIsInN0cmlrZSIsImxvdHNpemUiLCJvcHRpb24tc3R5bGUiLCJoYXNfYm9uZHMiLCJvcGVuX3RpbWUiLCJoYXNfYm9uZHMiLCJkZXhfYnV5c18xNW0iLCJkZXhfc2VsbHNfMTVtIiwiZGV4X2J1eV92b2x1bWVfMTVtIiwiZGV4X3NlbGxfdm9sdW1lXzE1bSIsImRleF9idXllcnNfMTVtIiwiZGV4X3NlbGxlcnNfMTVtIiwiZGV4X2J1eXNfMWgiLCJkZXhfc2VsbHNfMWgiLCJkZXhfYnV5X3ZvbHVtZV8xaCIsImRleF9zZWxsX3ZvbHVtZV8xaCIsImRleF9idXllcnNfMWgiLCJkZXhfc2VsbGVyc18xaCIsImRleF9idXlzXzRoIiwiZGV4X3NlbGxzXzRoIiwiZGV4X2J1eV92b2x1bWVfNGgiLCJkZXhfc2VsbF92b2x1bWVfNGgiLCJkZXhfYnV5ZXJzXzRoIiwiZGV4X3NlbGxlcnNfNGgiLCJkZXhfYnV5c18xMmgiLCJkZXhfc2VsbHNfMTJoIiwiZGV4X2J1eV92b2x1bWVfMTJoIiwiZGV4X3NlbGxfdm9sdW1lXzEyaCIsImRleF9idXllcnNfMTJoIiwiZGV4X3NlbGxlcnNfMTJoIiwiZGV4X2J1eXNfMjRoIiwiZGV4X3NlbGxzXzI0aCIsImRleF9idXlfdm9sdW1lXzI0aCIsImRleF9zZWxsX3ZvbHVtZV8yNGgiLCJkZXhfYnV5ZXJzXzI0aCIsImRleF9zZWxsZXJzXzI0aCIsImRleF9jb252ZXJ0ZWRfc3ltYm9sIiwiZGV4X3RyYWRpbmdfdm9sdW1lXzI0aCIsImRleF9jcmVhdGVkX3RpbWUiLCJkZXhfY3VycmVuY3kiLCJkZXhfY3VycmVuY3lfbG9nb2lkIiwiYmxvY2tjaGFpbl9hZGRyZXNzZXNfdXJscyIsImJsb2NrY2hhaW5fYWRkcmVzc2VzIiwiYmFzZV9jdXJyZW5jeSIsImlwb19vZmZlcl9zdGF0dXMiLCJoYXNfaXBvX2RldGFpbHNfdmlzaWJsZSIsImlwb19wcmljZV9yYW5nZV91c2RfbWF4IiwiaXBvX3ByaWNlX3JhbmdlX3VzZF9taW4iLCJpcG9fb2ZmZXJfcHJpY2VfdXNkIiwiaXBvX29mZmVyZWRfc2hhcmVzIiwiaXBvX2RlYWxfYW1vdW50X3VzZCIsImlwb19hbm5vdW5jZW1lbnRfZGF0ZSIsImlwb19vZmZlcl9kYXRlIiwiYXZhaWxhYmxlX2RhdGFfcmFuZ2VfYmVnaW5fZGF0ZSIsImF2YWlsYWJsZV9kYXRhX3JhbmdlX2VuZF9kYXRlIiwiaGFzX2V0Zl9vd25lcnNoaXAiLCJzeW1ib2xfcHJpbWFyeV9saXN0aW5nIiwibWV0cmljX3l0bSIsIm1ldHJpY3MiLCJlcHNfZXN0aW1hdGVzX2Z5X2giLCJlcHNfZXN0aW1hdGVzX2ZxX2giLCJlcHNfZXN0aW1hdGVzX2ZoX2giLCJyZXZlbnVlX2VzdGltYXRlc19meV9oIiwicmV2ZW51ZV9lc3RpbWF0ZXNfZnFfaCIsInJldmVudWVfZXN0aW1hdGVzX2ZoX2giLCJkcHNfZXN0aW1hdGVzX2Z5X2giLCJkcHNfZXN0aW1hdGVzX2ZxX2giLCJkcHNfZXN0aW1hdGVzX2ZoX2giLCJjb3N0X29mX2dvb2RzX2VzdGltYXRlc19meV9oIiwiY29zdF9vZl9nb29kc19lc3RpbWF0ZXNfZnFfaCIsImNvc3Rfb2ZfZ29vZHNfZXN0aW1hdGVzX2ZoX2giLCJncm9zc19wcm9maXRfZXN0aW1hdGVzX2Z5X2giLCJncm9zc19wcm9maXRfZXN0aW1hdGVzX2ZxX2giLCJncm9zc19wcm9maXRfZXN0aW1hdGVzX2ZoX2giLCJzZWxsX2dlbl9hZG1pbl9leHBfdG90YWxfZXN0aW1hdGVzX2Z5X2giLCJzZWxsX2dlbl9hZG1pbl9leHBfdG90YWxfZXN0aW1hdGVzX2ZxX2giLCJzZWxsX2dlbl9hZG1pbl9leHBfdG90YWxfZXN0aW1hdGVzX2ZoX2giLCJyZXNlYXJjaF9hbmRfZGV2X2VzdGltYXRlc19meV9oIiwicmVzZWFyY2hfYW5kX2Rldl9lc3RpbWF0ZXNfZnFfaCIsInJlc2VhcmNoX2FuZF9kZXZfZXN0aW1hdGVzX2ZoX2giLCJlYml0ZGFfZXN0aW1hdGVzX2Z5X2giLCJlYml0ZGFfZXN0aW1hdGVzX2ZxX2giLCJlYml0ZGFfZXN0aW1hdGVzX2ZoX2giLCJlYml0X2VzdGltYXRlc19meV9oIiwiZWJpdF9lc3RpbWF0ZXNfZnFfaCIsImViaXRfZXN0aW1hdGVzX2ZoX2giLCJuZXRfaW5jb21lX2VzdGltYXRlc19meV9oIiwibmV0X2luY29tZV9lc3RpbWF0ZXNfZnFfaCIsIm5ldF9pbmNvbWVfZXN0aW1hdGVzX2ZoX2giLCJ0b3RhbF9hc3NldHNfZXN0aW1hdGVzX2Z5X2giLCJ0b3RhbF9hc3NldHNfZXN0aW1hdGVzX2ZxX2giLCJ0b3RhbF9hc3NldHNfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX25fc2hvcnRfdGVybV9pbnZlc3RfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX25fc2hvcnRfdGVybV9pbnZlc3RfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX25fc2hvcnRfdGVybV9pbnZlc3RfZXN0aW1hdGVzX2ZoX2giLCJ0b3RhbF9kZWJ0X2VzdGltYXRlc19meV9oIiwidG90YWxfZGVidF9lc3RpbWF0ZXNfZnFfaCIsInRvdGFsX2RlYnRfZXN0aW1hdGVzX2ZoX2giLCJib29rX3ZhbHVlX3Blcl9zaGFyZV9lc3RpbWF0ZXNfZnlfaCIsImJvb2tfdmFsdWVfcGVyX3NoYXJlX2VzdGltYXRlc19mcV9oIiwiYm9va192YWx1ZV9wZXJfc2hhcmVfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZoX2giLCJjYXBpdGFsX2V4cGVuZGl0dXJlc19lc3RpbWF0ZXNfZnlfaCIsImNhcGl0YWxfZXhwZW5kaXR1cmVzX2VzdGltYXRlc19mcV9oIiwiY2FwaXRhbF9leHBlbmRpdHVyZXNfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZoX2giLCJmcmVlX2Nhc2hfZmxvd19lc3RpbWF0ZXNfZnlfaCIsImZyZWVfY2FzaF9mbG93X2VzdGltYXRlc19mcV9oIiwiZnJlZV9jYXNoX2Zsb3dfZXN0aW1hdGVzX2ZoX2giLCJlc3RpbWF0ZXNfZmlzY2FsX3BlcmlvZF9meV9oIiwiZXN0aW1hdGVzX2Zpc2NhbF9wZXJpb2RfZnFfaCIsImVzdGltYXRlc19maXNjYWxfcGVyaW9kX2ZoX2giLCJmb3JlY2FzdF9hdmFpbGFiaWxpdHkiXSksbj1uZXcgY2xhc3N7CmNvbnN0cnVjdG9yKGUpe3RoaXMuX2NhY2hlPW5ldyBNYXAsdGhpcy5fdGltZXM9bmV3IE1hcCx0aGlzLl9maWVsZHM9Wy4uLmUuZmllbGRzXX11cGRhdGUoZSx0LF8pe2NvbnN0IGk9KDAscy5lbnN1cmVEZWZpbmVkKShlLnN5bWJvbG5hbWUpLG49RGF0ZS5ub3coKTtpZih0aGlzLl9jYWNoZS5oYXMoaSl8fHRoaXMuX2NhY2hlLnNldChpLHtzeW1ib2xuYW1lOmksc3RhdHVzOmUuc3RhdHVzLHZhbHVlczp7fX0pLHRoaXMuX3RpbWVzLmhhcyhpKXx8dGhpcy5fdGltZXMuc2V0KGksbmV3IE1hcCksImVycm9yIj09PWUuc3RhdHVzKXJldHVybjtjb25zdCBhPSgwLHMuZW5zdXJlRGVmaW5lZCkodGhpcy5fY2FjaGUuZ2V0KGkpKSxyPSgwLHMuZW5zdXJlRGVmaW5lZCkodGhpcy5fdGltZXMuZ2V0KGkpKTthLnN0YXR1cz1lLnN0YXR1cztmb3IoY29uc3QgcyBvZiB0aGlzLl9maWVsZHMpdC5oYXMocykmJihffHx2b2lkIDAhPT1lLnZhbHVlc1tzXSkmJihhLnZhbHVlc1tzXT1lLnZhbHVlc1tzXSxyLnNldChzLG4pKX1nZXQoZSl7cmV0dXJuIHRoaXMuX2NhY2hlLmdldChlKT8/bnVsbH1nZXRUaW1lcyhlKXtyZXR1cm4gdGhpcy5fdGltZXMuZ2V0KGUpPz9udWxsfWZpZWxkcygpe3JldHVybiB0aGlzLl9maWVsZHN9fSh7ZmllbGRzOml9KX0sOTI3NTkzKGUsdCxfKXsidXNlIHN0cmljdCI7Xy5kKHQse1F1b3RlU2Vzc2lvbk11bHRpcGxleGVyOigpPT5mfSk7dmFyIHM9Xyg1ODcxNjgpLGk9Xyg1NDc4NTEpLG49XygzNTI4MzcpLGE9XygxMzg2MzgpLHI9XygyMjEwNjEpLG89Xyg5NDgzODApLGw9Xyg5NjQ0ODYpLGM9XygxNTAxNTApLGg9XygzMDkwNTIpLGQ9XygzNjc5NDYpO2xldCB1PSExO3ZhciBtPV8oOTcwNzc0KTtjb25zdCBwPSgwLHIuZ2V0TG9nZ2VyKSgiV2ViY2hhcnRDbGllbnQuUXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXIiKTtjbGFzcyBme2NvbnN0cnVjdG9yKGUpe3RoaXMub25Db25uZWN0PW5ldyBvLkRlbGVnYXRlLHRoaXMub25EaXNjb25uZWN0PW5ldyBvLkRlbGVnYXRlLHRoaXMuX2Nvbm5lY3RlZD0hMSx0aGlzLl9zdWJzY3JpcHRpb25zPXt9LHRoaXMuX3N5bWJvbF9kYXRhPXt9LHRoaXMuX2RlbGF5VXBkYXRlRmFzdFN5bWJvbHM9KDAsaS5kZWZhdWx0KSh0aGlzLl91cGRhdGVGYXN0U3ltYm9scywyNTApLHRoaXMuX3Rocm90dGxlZFN5bWJvbERhdGE9e30sdGhpcy5fZXh0ZW5zaW9ucz17fSx0aGlzLm9wdGlvbnM9e3Rocm90dGxlVGltZW91dDoxMjUsLi4uZX0sdGhpcy5fc2Vzc2lvbj1uZXcgbS5RdW90ZVNlc3Npb24oZS5hcGksWyJtdWx0aXBsZXhlciIsZS5uYW1lLCgwLGMucmFuZG9tSGFzaCkoKV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIl8iKSksdGhpcy5vcHRpb25zLmV4dGVuc2lvbnM/LmZvcm1hdHRlciYmKHRoaXMuX2V4dGVuc2lvbnMuZm9ybWF0dGVyPXRoaXMub3B0aW9ucy5leHRlbnNpb25zLmZvcm1hdHRlcih0aGlzKSksdGhpcy5vcHRpb25zLmV4dGVuc2lvbnM/LnNuYXBzaG90JiYodGhpcy5fZXh0ZW5zaW9ucy5zbmFwc2hvdD10aGlzLm9wdGlvbnMuZXh0ZW5zaW9ucy5zbmFwc2hvdCh0aGlzKSksdGhpcy5jb25uZWN0KCl9ZGVzdHJveSgpe3RoaXMuX3Nlc3Npb24uZGVzdHJveSgpLHRoaXMuX2Nvbm5lY3RlZD0hMSx0aGlzLm9uRGlzY29ubmVjdC5maXJlKCl9aW50ZXJuYWxzKCl7cmV0dXJue3Nlc3Npb246KCk9PnRoaXMuX3Nlc3Npb24sc3Vic2NyaXB0aW9uczooKT0+dGhpcy5fc3Vic2NyaXB0aW9ucyxkYXRhOigpPT50aGlzLl9zeW1ib2xfZGF0YX19Y29ubmVjdCgpe3RoaXMuX3Nlc3Npb24uY29ubmVjdCh0aGlzLnF1b3RlSGFuZGxlci5iaW5kKHRoaXMpKX1xdW90ZUhhbmRsZXIoZSl7Y29uc3R7bWV0aG9kOnQscGFyYW1zOl99PWU7c3dpdGNoKHQpe2Nhc2UiY29ubmVjdGVkIjp0aGlzLl9jb25uZWN0ZWR8fCh0aGlzLl9jb25uZWN0ZWQ9ITAsdGhpcy5vbkNvbm5lY3RlZCgpKTticmVhaztjYXNlInF1b3RlX2xpc3RfZmllbGRzIjpicmVhaztjYXNlInF1b3RlX3N5bWJvbF9kYXRhIjp0aGlzLl9jb25uZWN0ZWQmJnRoaXMub25TeW1ib2xEYXRhKF9bMF0pO2JyZWFrO2Nhc2UicXVvdGVfY29tcGxldGVkIjp0aGlzLl9jb25uZWN0ZWQmJnRoaXMub25TeW1ib2xEYXRhKHtzeW1ib2xuYW1lOl9bMF0sY29tcGxldGU6cGVyZm9ybWFuY2Uubm93KCksdmFsdWVzOnt9fSk7YnJlYWs7Y2FzZSJkaXNjb25uZWN0ZWQiOnRoaXMuX2Nvbm5lY3RlZCYmKHRoaXMuX2Nvbm5lY3RlZD0hMSx0aGlzLm9uRGlzY29ubmVjdC5maXJlKCkpfX1vbkNvbm5lY3RlZCgpe3RoaXMuc2V0RmllbGRzKCk7Y29uc3QgZT1PYmplY3Qua2V5cyh0aGlzLl9zeW1ib2xfZGF0YSk7ZS5sZW5ndGgmJih0aGlzLl9zZXNzaW9uLnF1b3RlQWRkU3ltYm9scyhlKSx0aGlzLl9kZWxheVVwZGF0ZUZhc3RTeW1ib2xzKCkpLHRoaXMub25Db25uZWN0LmZpcmUoKX1zZXRGaWVsZHMoKXtjb25zdHtmaWVsZHM6ZX09dGhpcy5vcHRpb25zO2UmJmUubGVuZ3RoJiZ0aGlzLl9zZXNzaW9uLnF1b3RlU2V0RmllbGRzKGUpfW9uU3ltYm9sRGF0YShlKXt0cnl7ZS5zdGF0dXMmJmguUVVPVEVfRklFTERTX0NBQ0hFLnVwZGF0ZShlLGguUVVPVEVfRklFTERTLCExKX1jYXRjaChlKXt9Y29uc3QgdD1lLnN5bWJvbG5hbWU7bGV0IF89dGhpcy5fdGhyb3R0bGVkU3ltYm9sRGF0YVt0XTt1JiYoZGVsZXRlIGUudmFsdWVzLnByZXZfY2xvc2VfcHJpY2Usdm9pZCAwIT09ZS52YWx1ZXMucmVndWxhcl9jbG9zZSYmKGUudmFsdWVzLnByZXZfY2xvc2VfcHJpY2U9ZS52YWx1ZXMucmVndWxhcl9jbG9zZSkpLF98fChfPXRoaXMuX3Rocm90dGxlZFN5bWJvbERhdGFbdF09e2ZuRGlzcGF0Y2g6KDAscy5kZWZhdWx0KSh0aGlzLmRpc3BhdGNoU3ltYm9sRGF0YS5iaW5kKHRoaXMpLHRoaXMub3B0aW9ucy50aHJvdHRsZVRpbWVvdXQpfSksXy5jYWNoZT8oMCxsLmRlZXBFeHRlbmQpKF8uY2FjaGUsZSk6Xy5jYWNoZT1lLF8uZm5EaXNwYXRjaCh0KX1kaXNwYXRjaFN5bWJvbERhdGEoZSl7Y29uc3QgdD10aGlzLl9zeW1ib2xfZGF0YVtlXSxfPXRoaXMuX3Rocm90dGxlZFN5bWJvbERhdGFbZV0uY2FjaGUKO2lmKGRlbGV0ZSB0aGlzLl90aHJvdHRsZWRTeW1ib2xEYXRhW2VdLmNhY2hlLHRoaXMuX3N5bWJvbF9kYXRhW2VdKXsoMCxsLmRlZXBFeHRlbmQpKHQsXyksdC52YWx1ZXMmJnRoaXMuX3BhcnNlVXBkYXRlTW9kZSh0LnZhbHVlcyk7Zm9yKGNvbnN0IHMgaW4gdGhpcy5fc3Vic2NyaXB0aW9ucyl7Y29uc3QgaT10aGlzLl9zdWJzY3JpcHRpb25zW3NdO2lmKGkuaGFzKGUpKXtbLi4uKDAsYS5lbnN1cmVEZWZpbmVkKShpLmdldChlKSldLmZvckVhY2goKGU9PntlKHQsXyl9KSl9fX19c3Vic2NyaWJlKGUsdCxfKXt0aGlzLl9zdWJzY3JpcHRpb25zW2VdPXRoaXMuX3N1YnNjcmlwdGlvbnNbZV18fG5ldyBNYXA7Y29uc3Qgcz10aGlzLl9zdWJzY3JpcHRpb25zW2VdO3Q9QXJyYXkuaXNBcnJheSh0KT9bLi4udF06W3RdO2NvbnN0IGk9W107dC5mb3JFYWNoKChlPT57dGhpcy5fc3ltYm9sX2RhdGFbZV0/cyYmcy5oYXMoZSl8fHRoaXMuX3N5bWJvbF9kYXRhW2VdLnN1YnNjcmliZXJzX2NvdW50Kys6KHRoaXMuX3N5bWJvbF9kYXRhW2VdPXtzdWJzY3JpYmVyc19jb3VudDoxfSxpLnB1c2goZSkpLHMuaGFzKGUpfHxzLnNldChlLFtdKTtjb25zdCB0PSgwLGEuZW5zdXJlRGVmaW5lZCkocy5nZXQoZSkpO3QucHVzaChfKSx0LmZhc3Q9ITAsdGhpcy5fc3ltYm9sX2RhdGFbZV0mJnRoaXMuX3N5bWJvbF9kYXRhW2VdLnZhbHVlcyYmXyh0aGlzLl9zeW1ib2xfZGF0YVtlXSx0aGlzLl9zeW1ib2xfZGF0YVtlXSl9KSksaS5sZW5ndGgmJnRoaXMuX2Nvbm5lY3RlZCYmKHRoaXMuX3Nlc3Npb24ucXVvdGVBZGRTeW1ib2xzKGkpLHRoaXMuX2RlbGF5VXBkYXRlRmFzdFN5bWJvbHMoKSl9dW5zdWJzY3JpYmUoZSx0LF8pe3Q9QXJyYXkuaXNBcnJheSh0KT9bLi4udF06W3RdO2NvbnN0IHM9dGhpcy5fc3Vic2NyaXB0aW9uc1tlXSxpPVtdO2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKXtjb25zdCByPXRbbl07aWYocyYmcy5oYXMocikpe2lmKF8pe2NvbnN0IGU9KDAsYS5lbnN1cmVEZWZpbmVkKShzLmdldChyKSksdD1lLmluZGV4T2YoXyk7fnQmJmUuc3BsaWNlKHQsMSksZS5sZW5ndGh8fHMuZGVsZXRlKHIpfWVsc2Ugcy5kZWxldGUocik7MD09PXMuc2l6ZSYmZGVsZXRlIHRoaXMuX3N1YnNjcmlwdGlvbnNbZV0sdGhpcy5fc3ltYm9sX2RhdGEuaGFzT3duUHJvcGVydHkocikmJihzLmhhcyhyKXx8dGhpcy5fc3ltYm9sX2RhdGFbcl0uc3Vic2NyaWJlcnNfY291bnQtLSx0aGlzLl9zeW1ib2xfZGF0YVtyXS5zdWJzY3JpYmVyc19jb3VudHx8KGRlbGV0ZSB0aGlzLl9zeW1ib2xfZGF0YVtyXSxpLnB1c2gocikpKX1lbHNlIHAubG9nV2FybihgQ2hlY2sgeW91ciBzdWIvdW5zdWIgbG9va3MgaXQgaXMgbGVha2luZyAoY2xpZW50X2lkPSR7ZX0sIHN5bWJvbD0ke3J9KWApfWkubGVuZ3RoJiZ0aGlzLl9jb25uZWN0ZWQmJih0aGlzLl9zZXNzaW9uLnF1b3RlUmVtb3ZlU3ltYm9scyhpKSx0aGlzLl9kZWxheVVwZGF0ZUZhc3RTeW1ib2xzKCkpfXNldEZhc3RTeW1ib2xzKGUsdCl7aWYodGhpcy5fc3Vic2NyaXB0aW9uc1tlXSl7Y29uc3QgXz10aGlzLl9zdWJzY3JpcHRpb25zW2VdLHM9QXJyYXkuZnJvbShfLmtleXMoKSk7Zm9yKGxldCBlPTA7ZTxzLmxlbmd0aDsrK2Upe2NvbnN0IGk9c1tlXTsoMCxhLmVuc3VyZURlZmluZWQpKF8uZ2V0KGkpKS5mYXN0PS0xIT09dC5pbmRleE9mKGkpfX10aGlzLl9kZWxheVVwZGF0ZUZhc3RTeW1ib2xzKCl9c25hcHNob3QoZSl7cmV0dXJuIHZvaWQgMD09PXRoaXMuX2V4dGVuc2lvbnMuc25hcHNob3Q/UHJvbWlzZS5yZWplY3QoIk5vIGZvcm1hdHRlciBleHRlbnNpb24gcHJvdmlkZWQiKTp0aGlzLl9leHRlbnNpb25zLnNuYXBzaG90KGUpfWZvcm1hdHRlcihlLHQpe3JldHVybiB2b2lkIDA9PT10aGlzLl9leHRlbnNpb25zLmZvcm1hdHRlcj9Qcm9taXNlLnJlamVjdCgiTm8gZm9ybWF0dGVyIGV4dGVuc2lvbiBwcm92aWRlZCIpOnRoaXMuX2V4dGVuc2lvbnMuZm9ybWF0dGVyKGUsdCl9X3VwZGF0ZUZhc3RTeW1ib2xzKCl7aWYoIXRoaXMuX2Nvbm5lY3RlZClyZXR1cm47Y29uc3QgZT10aGlzLl9mYXN0U3ltYm9scygpOzA9PT1lLmxlbmd0aD90aGlzLl9zZXNzaW9uLnF1b3RlSGliZXJuYXRlQWxsKCk6dGhpcy5fc2Vzc2lvbi5xdW90ZUZhc3RTeW1ib2xzKGUpfV9mYXN0U3ltYm9scygpe2xldCBlPVtdO2Zvcihjb25zdCB0IGluIHRoaXMuX3N1YnNjcmlwdGlvbnMpe2NvbnN0IF89dGhpcy5fc3Vic2NyaXB0aW9uc1t0XSxzPUFycmF5LmZyb20oXy5rZXlzKCkpO2ZvcihsZXQgdD0wO3Q8cy5sZW5ndGg7Kyt0KXtjb25zdCBpPXNbdF07KDAsYS5lbnN1cmVEZWZpbmVkKShfLmdldChpKSkuZmFzdCYmZS5wdXNoKGkpfX1yZXR1cm4gZT0oMCxuLmRlZmF1bHQpKGUpLGV9X3BhcnNlVXBkYXRlTW9kZShlKXsoMCxkLm5vcm1hbGl6ZVVwZGF0ZU1vZGUpKGUpfX19LDk3MDc3NChlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHtRdW90ZVNlc3Npb246KCk9Pml9KTt2YXIgcz1fKDE1MDE1MCk7Y2xhc3MgaXtjb25zdHJ1Y3RvcihlLHQ9KDAscy5yYW5kb21IYXNoKSgpKXt0aGlzLl9zZXNzaW9uc3RhcnRlZD0hMSx0aGlzLl9nbG9iYWxIYW5kbGVyPW51bGwsdGhpcy5fY2hhcnRBcGk9ZSx0aGlzLl9zZXNzaW9uaWQ9InFzXyIrdH1kZXN0cm95KCl7dGhpcy5fc2Vzc2lvbnN0YXJ0ZWQmJih0aGlzLl9jaGFydEFwaS5xdW90ZURlbGV0ZVNlc3Npb24odGhpcy5fc2Vzc2lvbmlkKSx0aGlzLl9zZXNzaW9uc3RhcnRlZD0hMSl9Y29ubmVjdGVkKCl7cmV0dXJuIHRoaXMuX2NoYXJ0QXBpLmNvbm5lY3RlZCgpfWNvbm5lY3QoZSl7dGhpcy5fZ2xvYmFsSGFuZGxlcj1lLHRoaXMuX2NoYXJ0QXBpLmNyZWF0ZVNlc3Npb24odGhpcy5fc2Vzc2lvbmlkLHRoaXMpLHRoaXMuX2NoYXJ0QXBpLmNvbm5lY3QoKX1kaXNjb25uZWN0KCl7dGhpcy5fY2hhcnRBcGkuZGlzY29ubmVjdCgpfXF1b3RlQWRkU3ltYm9scyhlKXt0aGlzLl9jaGFydEFwaS5xdW90ZUFkZFN5bWJvbHModGhpcy5fc2Vzc2lvbmlkLGUpfXF1b3RlUmVtb3ZlU3ltYm9scyhlKXsKdGhpcy5fY2hhcnRBcGkucXVvdGVSZW1vdmVTeW1ib2xzKHRoaXMuX3Nlc3Npb25pZCxlKX1xdW90ZUZhc3RTeW1ib2xzKGUpe3RoaXMuX2NoYXJ0QXBpLnF1b3RlRmFzdFN5bWJvbHModGhpcy5fc2Vzc2lvbmlkLGUpfXF1b3RlU2V0RmllbGRzKGUpe3RoaXMuX2NoYXJ0QXBpLnF1b3RlU2V0RmllbGRzKHRoaXMuX3Nlc3Npb25pZCxlKX1vbk1lc3NhZ2UoZSl7c3dpdGNoKGUubWV0aG9kKXtjYXNlImNvbm5lY3RlZCI6dGhpcy5fc2Vzc2lvbnN0YXJ0ZWR8fCh0aGlzLl9jaGFydEFwaS5xdW90ZUNyZWF0ZVNlc3Npb24odGhpcy5fc2Vzc2lvbmlkKSx0aGlzLl9zZXNzaW9uc3RhcnRlZD0hMCk7YnJlYWs7Y2FzZSJkaXNjb25uZWN0ZWQiOnRoaXMuX3Nlc3Npb25zdGFydGVkPSExfXRoaXMuX2dsb2JhbEhhbmRsZXI/LihlKX1xdW90ZUhpYmVybmF0ZUFsbCgpe3RoaXMuX2NoYXJ0QXBpLnF1b3RlSGliZXJuYXRlQWxsKHRoaXMuX3Nlc3Npb25pZCl9fX0sNjYxODU4KGUsdCxfKXtlLmV4cG9ydHM9W3tuYW1lOl8uaTE4bmV4dChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxfKDM1MDE0NikpLHZhbHVlOiIiLHNlYXJjaF90eXBlOiJ1bmRlZmluZWQifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg1NTU1MTApKSx2YWx1ZToic3RvY2tzIixzZWFyY2hfdHlwZToic3RvY2tzIn0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oNTY0OTE3KSksdmFsdWU6ImZ1bmRzIixzZWFyY2hfdHlwZToiZnVuZHMifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg1MDUwNzkpKSx2YWx1ZToiZnV0dXJlcyIsc2VhcmNoX3R5cGU6ImZ1dHVyZXMifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg5Nzk5NykpLHZhbHVlOiJmb3JleCIsc2VhcmNoX3R5cGU6ImZvcmV4In0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oMzg0NTk3KSksdmFsdWU6ImNmZCIsc2VhcmNoX3R5cGU6ImNmZCJ9LHtuYW1lOl8uaTE4bmV4dChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxfKDY1NTIzNSkpLHZhbHVlOiJiaXRjb2luLGNyeXB0byIsc2VhcmNoX3R5cGU6ImNyeXB0byJ9LHtuYW1lOl8uaTE4bmV4dChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxfKDkyNzQxMSkpLHZhbHVlOiJpbmRleCIsc2VhcmNoX3R5cGU6ImluZGV4In0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oNzY1NDQwKSksdmFsdWU6ImJvbmQiLHNlYXJjaF90eXBlOiJib25kIn0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oNTQ4MzIyKSksdmFsdWU6ImVjb25vbWljIixzZWFyY2hfdHlwZToiZWNvbm9taWMifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg3OTYwMCkpLHZhbHVlOiJvcHRpb25zIixzZWFyY2hfdHlwZToib3B0aW9ucyJ9XX0sNjA2MTAoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7QXV0aFRva2VuOigpPT5vfSk7dmFyIHM9XygyMjEwNjEpLGk9Xyg5NDgzODApLG49XygzODQwMTcpO2NvbnN0IGE9KDAscy5nZXRMb2dnZXIpKCJDaGFydEFwaS5BdXRoVG9rZW4iLHtjb2xvcjoiIzE3MyJ9KTt2YXIgcjshZnVuY3Rpb24oZSl7ZVtlLkV4cGlyYXRpb25SZXNlcnZlPTNlNV09IkV4cGlyYXRpb25SZXNlcnZlIixlW2UuTWF4UmV0cmllcz0zXT0iTWF4UmV0cmllcyIsZVtlLlJldHJ5RGVsYXlNdWx0aXBsaWVyPTFlM109IlJldHJ5RGVsYXlNdWx0aXBsaWVyIixlW2UuRmFsbGJhY2tFeHBpcmF0aW9uPTE0NGU1XT0iRmFsbGJhY2tFeHBpcmF0aW9uIixlW2UuTWluRXhwaXJhdGlvbj0zZTVdPSJNaW5FeHBpcmF0aW9uIn0ocnx8KHI9e30pKTtjbGFzcyBve2NvbnN0cnVjdG9yKCl7dGhpcy5pbnZhbGlkYXRlZD1uZXcgaS5EZWxlZ2F0ZSx0aGlzLl90aWQ9MCx0aGlzLl9vbkdvaW5nQXV0aFRva2VuUmVxdWVzdD1udWxsLHRoaXMuX29uT25saW5lPSgpPT57YS5sb2dJbmZvKCJPbmxpbmUsIG5ldyB0b2tlbiB3aWxsIGJlIGZldGNoZWQgaWYgbmVlZGVkIiksdGhpcy5fdHJ5VG9VcGRhdGVUb2tlbigpfSx0aGlzLl9vblZpc2liaWxpdHlDaGFuZ2U9KCk9PnsidmlzaWJsZSI9PT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGUmJihhLmxvZ0luZm8oIlBhZ2UgdmlzaWJsZSwgbmV3IHRva2VuIHNob3VsZCBiZSBmZXRjaGVkIiksdGhpcy5fdHJ5VG9VcGRhdGVUb2tlbigpKX0sd2luZG93LmxvZ2luU3RhdGVDaGFuZ2V8fCh3aW5kb3cubG9naW5TdGF0ZUNoYW5nZT1uZXcgaS5EZWxlZ2F0ZSksd2luZG93LmxvZ2luU3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKHRoaXMsKGU9PntlfHwodGhpcy5fc2V0KHdpbmRvdy51c2VyLmF1dGhfdG9rZW4pLHRoaXMuaW52YWxpZGF0ZWQuZmlyZSgpKX0pKSx0aGlzLl9zZXQod2luZG93LnVzZXIuYXV0aF90b2tlbiksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9ubGluZSIsdGhpcy5fb25PbmxpbmUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLHRoaXMuX29uVmlzaWJpbGl0eUNoYW5nZSl9ZGVzdHJveSgpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvbmxpbmUiLHRoaXMuX29uT25saW5lKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLl9vblZpc2liaWxpdHlDaGFuZ2UpfWdldChlKXtyZXR1cm4gd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ/IWUmJnRoaXMuY3VycmVudFRva2VuSXNWYWxpZCgpPyhhLmxvZ0luZm8oYFVzaW5nIGNhY2hlZCB0b2tlbiAke3RoaXMuX2NhY2hlLnRva2VufWApLFByb21pc2UucmVzb2x2ZSh0aGlzLl9jYWNoZS50b2tlbikpOndpbmRvdy5uYXZpZ2F0b3Iub25MaW5lP3RoaXMuX29uR29pbmdBdXRoVG9rZW5SZXF1ZXN0fHw9dGhpcy5fZmV0Y2goQm9vbGVhbihlKSwwKS50aGVuKChlPT57CmlmKCF3aW5kb3cuaXNfYXV0aGVudGljYXRlZCl0aHJvdyBuZXcgRXJyb3IoIlVzZXIgbG9nZ2VkIG91dCB3aGlsZSB0aGUgcmVxdWVzdCB3YXMgaW4gZmxpZ2h0Iik7cmV0dXJuIHRoaXMuX3NldChlKSxlfSkpLmNhdGNoKChlPT4oYS5sb2dFcnJvcihgRXJyb3IgZmV0Y2hpbmcgbmV3IHRva2VuOiAke2UmJmUubWVzc2FnZX1gKSwiIikpKS5maW5hbGx5KCgoKT0+e3RoaXMuX29uR29pbmdBdXRoVG9rZW5SZXF1ZXN0PW51bGx9KSk6KGEubG9nV2FybigiT2ZmbGluZSwgY2Fubm90IGZldGNoIG5ldyB0b2tlbiwgdXNpbmcgY2FjaGVkIHRva2VuIiksUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2NhY2hlLnRva2VuKSk6UHJvbWlzZS5yZXNvbHZlKCIiKX1yZXNldCgpe3RoaXMuX3NldCh2b2lkIDApLHRoaXMuaW52YWxpZGF0ZWQuZmlyZSgpfWN1cnJlbnRUb2tlbklzVmFsaWQoKXtyZXR1cm4hd2luZG93LmlzX2F1dGhlbnRpY2F0ZWR8fCEhdGhpcy5fY2FjaGUmJihwZXJmb3JtYW5jZS5ub3coKTx0aGlzLl9jYWNoZS5tb25vVmFsaWRUaHJ1JiZEYXRlLm5vdygpPHRoaXMuX2NhY2hlLndhbGxWYWxpZFRocnUpfV9zZXQoZSl7aWYod2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJnZvaWQgMCE9PWUpe2NvbnN0IHQ9ZnVuY3Rpb24oZSl7aWYoIiI9PT1lKXJldHVybiAxNDRlNTt0cnl7Y29uc3QgdD1KU09OLnBhcnNlKGF0b2IoZS5zcGxpdCgiLiIpWzFdLnJlcGxhY2UoLy0vZywiKyIpLnJlcGxhY2UoL18vZywiLyIpKSksXz0xZTMqKHQuZXhwLXQuaWF0KTtpZighaXNGaW5pdGUoXykpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGV4cGlyYXRpb24iKTtyZXR1cm4gTWF0aC5tYXgoXy0zZTUsM2U1KX1jYXRjaCh0KXtyZXR1cm4gYS5sb2dFcnJvcihgJHtlfSBpcyBpbnZhbGlkOiAke3QubWVzc2FnZX1gKSwxNDRlNX19KGUpO3RoaXMuX2NhY2hlPXt0b2tlbjplLG1vbm9WYWxpZFRocnU6cGVyZm9ybWFuY2Uubm93KCkrdCx3YWxsVmFsaWRUaHJ1OkRhdGUubm93KCkrdH0sY2xlYXJUaW1lb3V0KHRoaXMuX3RpZCksdGhpcy5fdGlkPXNldFRpbWVvdXQoKCgpPT57d2luZG93Lm5hdmlnYXRvci5vbkxpbmU/dGhpcy5yZXNldCgpOmEubG9nSW5mbygiT2ZmbGluZSwgY2FjaGUgd2lsbCBub3QgYmUgaW52YWxpZGF0ZWQiKX0pLHQpLGEubG9nSW5mbyhgQ2FjaGVkIGZvciAke3R9IG1zOiAke2V9YCl9ZWxzZSB0aGlzLl9jYWNoZT17dG9rZW46IiIsbW9ub1ZhbGlkVGhydTotMS8wLHdhbGxWYWxpZFRocnU6LTEvMH0sY2xlYXJUaW1lb3V0KHRoaXMuX3RpZCksYS5sb2dJbmZvKCJDYWNoZSBkcm9wcGVkIil9X2ZldGNoKGUsdCl7cmV0dXJuIGEubG9nTm9ybWFsKGBGZXRjaGluZyBhIG5ldyB0b2tlbiwgZ3JhYlNlc3Npb249JHtlfWApLCgwLG4uZmV0Y2gpKCIvcXVvdGVfdG9rZW4vIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIn0sYm9keTplPyJncmFiU2Vzc2lvbj10cnVlIjoiIn0pLnRoZW4oKGU9PntpZighZS5vayl0aHJvdyBuZXcgRXJyb3IoYFJlc3BvbnNlIHN0YXR1cyBpcyBub3Qgb2s6ICR7ZS5zdGF0dXN9YCk7cmV0dXJuIGUuanNvbigpLnRoZW4oU3RyaW5nKX0pLChfPT57aWYodD49Myl0aHJvdyBfO3JldHVybiBhLmxvZ1dhcm4oIlJlcXVlc3QgZmFpbGVkLCB3aWxsIHJldHJ5IiksZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBQcm9taXNlKCh0PT5zZXRUaW1lb3V0KHQsMWUzKmUpKSl9KHQpLnRoZW4oKCgpPT50aGlzLl9mZXRjaChlLHQrMSkpKX0pKX1hc3luYyBfdHJ5VG9VcGRhdGVUb2tlbigpe3RoaXMuX2NhY2hlLnRva2VuIT09YXdhaXQgdGhpcy5nZXQoKSYmdGhpcy5pbnZhbGlkYXRlZC5maXJlKCl9fX0sOTMwMDQ1KGUsdCxfKXsidXNlIHN0cmljdCI7Xy5kKHQse0pTT05EYXRhSGFuZGxlcjooKT0+YX0pO3ZhciBzPV8oNzgzMzQwKTtmdW5jdGlvbiBpKGUpe3JldHVybntpbmRleDplLmksdmFsdWU6ZS52fX1mdW5jdGlvbiBuKGUpe2Zvcihjb25zdCB0IG9mIE9iamVjdC5rZXlzKGUpKXtjb25zdCBfPWVbdF07Xy50JiYoXy50dXJuYXJvdW5kPWVbdF0udCksInMiaW4gZVt0XSYmZVt0XS5zJiYhXy5zZXJpZXMmJihfLnNlcmllcz1lW3RdLnMubWFwKGkpKSwic3QiaW4gZVt0XSYmZVt0XS5zdCYmIV8uc2VyaWVzJiYoXy5zZXJpZXM9ZVt0XS5zdC5tYXAoaSkpfX1jbGFzcyBhe3NldF9icm9rZXIoZSl7cmV0dXJuW2VdfXNldF9kYXRhX3F1YWxpdHkoKXtyZXR1cm5bImxvdyJdfXF1b3RlX2NyZWF0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1xdW90ZV9kZWxldGVfc2Vzc2lvbihlKXtyZXR1cm5bZV19cXVvdGVfc2V0X2ZpZWxkcyhlLHQpe3JldHVybltlXS5jb25jYXQodCl9cXVvdGVfYWRkX3N5bWJvbHMoZSx0KXtyZXR1cm5bZV0uY29uY2F0KHQpfXF1b3RlX3JlbW92ZV9zeW1ib2xzKGUsdCl7cmV0dXJuW2VdLmNvbmNhdCh0KX1xdW90ZV9mYXN0X3N5bWJvbHMoZSx0KXtyZXR1cm5bZV0uY29uY2F0KHQpfXF1b3RlX2hpYmVybmF0ZV9hbGwoZSl7cmV0dXJuW2VdfWRlcHRoX2NyZWF0ZV9zZXNzaW9uKGUsdCxfKXtyZXR1cm5bZSx0LF9dfWRlcHRoX2RlbGV0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1kZXB0aF9zZXRfc3ltYm9sKGUsdCl7cmV0dXJuW2UsdF19ZGVwdGhfY2xlYXJfc3ltYm9sKGUpe3JldHVybltlXX1kZXB0aF9zZXRfc2NhbGUoZSx0KXtyZXR1cm5bZSx0XX1jaGFydF9jcmVhdGVfc2Vzc2lvbihlLHQpe3JldHVybltlLHQ/ImRpc2FibGVfc3RhdGlzdGljcyI6IiJdfWNoYXJ0X2RlbGV0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1zZXRfYXV0aF90b2tlbihlKXtyZXR1cm5bZV19c2V0X2xvY2FsZShlLHQpe3JldHVybltlLHRdfXN3aXRjaF90aW1lem9uZShlLHQpe3JldHVybltlLHRdfXJlc29sdmVfc3ltYm9sKGUsdCxfKXtyZXR1cm5bZSx0LF9dfWNyZWF0ZV9zZXJpZXMoZSx0LF8scyxpLG4sYSl7cmV0dXJuW2UsdCxfPV98fCIiLHMsaSxuLGFdfXJlbW92ZV9zZXJpZXMoZSx0KXtyZXR1cm5bZSx0XX1tb2RpZnlfc2VyaWVzKGUsdCxfLHMsaSxuKXtyZXR1cm5bZSx0LF89X3x8IiIscyxpLG5dfQpyZXF1ZXN0X21vcmVfZGF0YShlLHQsXyl7cmV0dXJuW2UsdCxfXX1zZXRfZnV0dXJlX3RpY2ttYXJrc19tb2RlKGUsdCl7cmV0dXJuW2UsdF19cmVxdWVzdF9zdHVkaWVzX21ldGFkYXRhKGUpe3JldHVybltlXX1jcmVhdGVfc3R1ZHkoZSx0LF8scyxpLG4pe3JldHVybltlLHQsXz1ffHwiIixzLGldLmNvbmNhdChuKX1jcmVhdGVfY2hpbGRfc3R1ZHkoZSx0LF8scyxpLG4pe3JldHVybiB0aGlzLmNyZWF0ZV9zdHVkeShlLHQsXyxzLGksbil9cmVtb3ZlX3N0dWR5KGUsdCl7cmV0dXJuW2UsdF19bW9kaWZ5X3N0dWR5KGUsdCxfLHMpe3JldHVybltlLHQsXz1ffHwiIl0uY29uY2F0KHMpfW5vdGlmeV9zdHVkeShlLHQsXyxzKXtyZXR1cm5bZSx0LF89X3x8IiIsc119Y3JlYXRlX3BvaW50c2V0KGUsdCxfLHMsaSxuKXtyZXR1cm5bZSx0LF89X3x8IiIscyxpXS5jb25jYXQobil9bW9kaWZ5X3BvaW50c2V0KGUsdCxfLHMpe3JldHVybltlLHQsXz1ffHwiIl0uY29uY2F0KHMpfXJlbW92ZV9wb2ludHNldChlLHQpe3JldHVybltlLHRdfXJlcXVlc3RfbW9yZV90aWNrbWFya3MoZSx0LF8pe3JldHVybltlLHQsX119Z2V0X2ZpcnN0X2Jhcl90aW1lKGUsdCxfKXtyZXR1cm5bZSx0LF9dfXJlcGxheV9jcmVhdGVfc2Vzc2lvbihlKXtyZXR1cm5bZV19cmVwbGF5X2RlbGV0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1yZXBsYXlfcmVzZXQoZSx0LF8pe3JldHVybltlLHQsX119cmVwbGF5X3N0YXJ0KGUsdCxfKXtyZXR1cm5bZSx0LF9dfXJlcGxheV9zdG9wKGUsdCl7cmV0dXJuW2UsdF19cmVwbGF5X3N0ZXAoZSx0LF8pe3JldHVybltlLHQsX119cmVwbGF5X2FkZF9zZXJpZXMoZSx0LF8scyl7cmV0dXJuW2UsdCxfLHNdfXJlcGxheV9yZW1vdmVfc2VyaWVzKGUsdCxfLHMpe3JldHVybltlLHQsXyxzXX1yZXBsYXlfc2V0X3Jlc29sdXRpb24oZSx0LF8pe3JldHVybltlLHQsX119cmVwbGF5X2dldF9kZXB0aChlLHQsXyxzKXtyZXR1cm5bZSx0LF8sc119Y29udmVydFRpbWVzY2FsZVJlc3BvbnNlKGUpe2NvbnN0IHQ9ZS5tYXJrcy5tYXAoKGU9Pih7c3BhbjplWzBdLHRpbWU6ZVsxXSxpbmRleDplWzJdfSkpKSxfPXZvaWQgMD09PWUuaW5kZXhfZGlmZj9bXTplLmluZGV4X2RpZmYubWFwKChlPT4oe29sZDplWzBdLG5ldzplWzFdfSkpKTtyZXR1cm57Li4uZSxtYXJrczp0LGluZGV4X2RpZmY6XyxjbGVhcjowPT09ZS5jaGFuZ2VzLmxlbmd0aCYmMD09PV8ubGVuZ3RoJiYwPT09dC5sZW5ndGh9fWdldERhdGFVcGRhdGVPYmplY3RzKGUpe3JldHVybiBlLnBhcmFtc1swXX1nZXRUaW1lc2NhbGVPYmplY3RzKGUpe3JldHVybiBlLnBhcmFtc1swXX1nZXRUaW1lc2NhbGVDaGFuZ2VzZXQoZSl7cmV0dXJuIGUucGFyYW1zWzFdfXByZXBhcmVEYXRhVXBkYXRlT2JqZWN0cyhlLHQsXyl7Zm9yKGNvbnN0W2ksbl1vZiBPYmplY3QuZW50cmllcyh0KSl7Y29uc3QgdD0icGxvdHMiaW4gbj9uLnBsb3RzOm4uc2VyaWVzLGE9e2N1c3RvbUlkOmksdHVybmFyb3VuZDpuLnR1cm5hcm91bmQscGxvdHM6dH07Im5zImluIG4mJm4ubnMmJihhLm5vbnNlcmllcz1uLm5zKSwibGJzImluIG4mJm4ubGJzJiYoYS5sYXN0QmFyPXtjbG9zZVRpbWU6bi5sYnMuYmFyX2Nsb3NlX3RpbWV9KTtmb3IoY29uc3QgZSBvZiBhLnBsb3RzKWZvcihjb25zdFt0LF9db2YgT2JqZWN0LmVudHJpZXMoZS52YWx1ZSkpXyYmTWF0aC5hYnMoXyk+PTFlMTAwJiYoZS52YWx1ZVsrdF09dm9pZCAwKTtfKGUsaSx7bWV0aG9kOnMuV2ViY2hhcnRDaGFydFNlc3Npb25SZXNwb25zZU1ldGhvZC5EYXRhVXBkYXRlLHBhcmFtczphfSl9fXVucGFjayhlKXtjb25zdCB0PUpTT04ucGFyc2UoZSk7dC5tJiZ0LnAmJih0Lm1ldGhvZD10Lm0sdC5wYXJhbXM9dC5wLHQudGltZT10LnQpO2NvbnN0IF89dC5wYXJhbXNbMV07c3dpdGNoKHQubWV0aG9kKXtjYXNlInFzZCI6dC5tZXRob2Q9InF1b3RlX3N5bWJvbF9kYXRhIixfLnN5bWJvbG5hbWU9Xy5uLF8uc3RhdHVzPV8ucyxfLnZhbHVlcz1fLnYsXy52YWx1ZXMuY2hhbmdlPV8udi5jaCxfLnZhbHVlcy5sYXN0X3ByaWNlPV8udi5scCxfLnZhbHVlcy5jaGFuZ2VfcGVyY2VudD1fLnYuY2hwLGRlbGV0ZSBfLm4sZGVsZXRlIF8ucyxkZWxldGUgXy52LGRlbGV0ZSBfLnZhbHVlcy5jaCxkZWxldGUgXy52YWx1ZXMubHAsZGVsZXRlIF8udmFsdWVzLmNocDticmVhaztjYXNlImR1Ijp0Lm1ldGhvZD0iZGF0YV91cGRhdGUiLG4oXyk7YnJlYWs7Y2FzZSJjbGVhcl9kYXRhIjpmb3IoY29uc3QgZSBvZiBPYmplY3Qua2V5cyhfKSlfW2VdLnR1cm5hcm91bmQ9X1tlXS50O2JyZWFrO2Nhc2UidGltZXNjYWxlX3VwZGF0ZSI6bihfKX1yZXR1cm4gdH1wcmVwYXJlRW5jb2RlTWVzc2FnZShlLHQpe3JldHVybiBKU09OLnN0cmluZ2lmeSh7bTplLHA6dH0pfXJlcXVlc3RfZGF0YV9wcm9ibGVtcygpe3JldHVybltdfX19LDQ2MzQ0NyhlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHtIYW5kbGVySW5mbzooKT0+c30pO2NsYXNzIHN7Y29uc3RydWN0b3IoZSx0LF8pe3RoaXMuaGFuZGxlcj1lLHRoaXMuY3VzdG9tSWQ9dCx0aGlzLnNpbmdsZVNob3Q9X319fSw3ODMzNDAoZSx0LF8peyJ1c2Ugc3RyaWN0Ijt2YXIgcyxpLG47Xy5kKHQse1dlYmNoYXJ0Q2hhcnRTZXNzaW9uUmVzcG9uc2VNZXRob2Q6KCk9PmksV2ViY2hhcnRSZXBsYXlTZXNzaW9uUmVzcG9uc2VNZXRob2Q6KCk9Pm4sV2ViY2hhcnRSZXNwb25zZU1ldGhvZDooKT0+c30pLGZ1bmN0aW9uKGUpe2UuUmVxdWVzdERhdGFQcm9ibGVtcz0icmVxdWVzdF9kYXRhX3Byb2JsZW1zIixlLlByb3RvY29sRXJyb3I9InByb3RvY29sX2Vycm9yIixlLlByb3RvY29sU3dpdGNoZWQ9InByb3RvY29sX3N3aXRjaGVkIixlLkNyaXRpY2FsRXJyb3I9ImNyaXRpY2FsX2Vycm9yIn0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlLlN0dWRpZXNNZXRhZGF0YT0ic3R1ZGllc19tZXRhZGF0YSIsZS5UaW1lU2NhbGVVcGRhdGU9InRpbWVzY2FsZV91cGRhdGUiLGUuVGlja01hcmtVcGRhdGU9InRpY2ttYXJrX3VwZGF0ZSIsZS5EVT0iZHUiLGUuRGF0YVVwZGF0ZT0iZGF0YV91cGRhdGUiLAplLkluZGV4VXBkYXRlPSJpbmRleF91cGRhdGUiLGUuVGltZVNjYWxlQ29tcGxldGVkPSJ0aW1lc2NhbGVfY29tcGxldGVkIixlLlFTRD0icXNkIixlLlF1b3RlTGlzdEZpZWxkPSJxdW90ZV9saXN0X2ZpZWxkcyIsZS5RdW90ZVN5bWJvbERhdGE9InF1b3RlX3N5bWJvbF9kYXRhIixlLlF1b3RlQ29tcGxldGVkPSJxdW90ZV9jb21wbGV0ZWQiLGUuRGVwdGhTeW1ib2xFcnJvcj0iZGVwdGhfc3ltYm9sX2Vycm9yIixlLkRlcHRoU3ltYm9sU3VjY2Vzcz0iZGVwdGhfc3ltYm9sX3N1Y2Nlc3MiLGUuRGVwdGhEYXRhPSJkZCIsZS5EZXB0aERhdGFVcGRhdGU9ImRwdSIsZS5EZXB0aEJhckxhc3RWYWx1ZT0iZGVwdGhfYmFyX2xhc3RfdmFsdWUiLGUuQ2xlYXJEYXRhPSJjbGVhcl9kYXRhIixlLlNlcmllc1RpbWVGcmFtZT0ic2VyaWVzX3RpbWVmcmFtZSIsZS5TeW1ib2xSZXNvbHZlZD0ic3ltYm9sX3Jlc29sdmVkIixlLlNlcmllc0Vycm9yPSJzZXJpZXNfZXJyb3IiLGUuU2VyaWVzQ29tcGxldGVkPSJzZXJpZXNfY29tcGxldGVkIixlLlN0dWR5TG9hZGluZz0ic3R1ZHlfbG9hZGluZyJ9KGl8fChpPXt9KSksZnVuY3Rpb24oZSl7ZS5SZXBsYXlFcnJvcj0icmVwbGF5X2Vycm9yIixlLlJlcGxheVBvaW50PSJyZXBsYXlfcG9pbnQiLGUuUmVwbGF5T2s9InJlcGxheV9vayIsZS5SZXBsYXlSZXNvbHV0aW9ucz0icmVwbGF5X3Jlc29sdXRpb25zIixlLlJlcGxheURhdGFFbmQ9InJlcGxheV9kYXRhX2VuZCIsZS5SZXBsYXlJbnN0YW5jZUlkPSJyZXBsYXlfaW5zdGFuY2VfaWQiLGUuUmVwbGF5RGVwdGg9InJlcGxheV9kZXB0aCJ9KG58fChuPXt9KSl9LDUyMTMzMyhlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHtnZXREZWZhdWx0UmVzb2x1dGlvbnM6KCk9Pm59KTt2YXIgcz1fKDkzMDIzMSksaT1fKDYxOTk5Mik7ZnVuY3Rpb24gbigpe2NvbnN0IGU9WyIxIiwiMyIsIjUiLCIxNSIsIjMwIiwiNDUiLCI2MCIsIjEyMCIsIjE4MCIsIjI0MCIsIjFEIiwiMVciLCIxTSIsIjNNIiwiNk0iLCIxMk0iLCIxUiIsIjEwUiIsIjEwMFIiLCIxMDAwUiJdO2lmKCEoMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSl7bGV0IHQ9WyIxUyIsIjVTIiwiMTBTIiwiMTVTIiwiMzBTIiwiNDVzIl07cmV0dXJuKDAsaS5pc1RpY2tzRW5hYmxlZCkoKSYmKHQ9WyIxVCIsIjEwVCIsIjEwMFQiLCIxMDAwVCJdLmNvbmNhdCh0KSksdC5jb25jYXQoZSl9cmV0dXJuIGV9fSwyMTc1MjcoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7dHlwZXM6KCk9PnN9KTtjb25zdCBzPXtFQ09OT01JQzoiZWNvbm9taWMiLFFVQU5ETDoicXVhbmRsIn19LDEyNzcxMShlKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPUpTT04ucGFyc2UoJ3siY21lIjp7IklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjk5OTk5fX0sImJvdmVzcGEiOnsiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6OTk5OTl9fSwicWVjb21xYSI6eyJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0Ijo5OTk5OX19LCJzYW50YW5kZXJjb21hciI6eyJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0Ijo5OTk5OX19fScpfSw1MDI1ODcoZSl7InVzZSBzdHJpY3QiCjtlLmV4cG9ydHM9SlNPTi5wYXJzZSgneyJmcmVlIjp7IkNIQVRfQVNTSVNUQU5UIjp7ImxpbWl0Ijo1LCJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiQ0hBUlRfU1RPUkFHRSI6eyJsaW1pdCI6MX0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6MX0sIklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjJ9LCJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiOnsibGltaXQiOjF9LCJISVNUT1JJQ0FMX0JBUlMiOnsibGltaXQiOjV9LCJTVFVEWV9PTl9TVFVEWSI6eyJsaW1pdCI6ODAwLCJjaGlsZF9saW1pdCI6MX0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0Ijo1MCwibGltaXQiOjMsImNvbXBsZXhfbGltaXQiOjAsInByaW1pdGl2ZV9saW1pdCI6M30sIlNDUkVFTkVSX0lOVEVSVkFMUyI6eyJpbnRlcnZhbCI6WyIxRCIsIjFXIiwiMU0iXX0sIlNUVURZX1RFTVBMQVRFUyI6eyJsaW1pdCI6MX0sIlNJTVVMVEFORU9VU19DT05ORUNUSU9OUyI6eyJsaW1pdCI6MX0sIkJBQ0tFTkRfQ09OTkVDVElPTlMiOnsibGltaXQiOjJ9LCJJREVBX1NPQ0lBTF9MSU5LUyI6eyJzb2NpYWxzIjpbIlR3aXR0ZXIiLCJZb3V0dWJlIl19LCJNVUxUSUNPTE9SX0ZMQUdHRURfU1lNQk9MUyI6eyJsaW1pdCI6MX0sIldBVENITElTVF9TWU1CT0xTIjp7ImxpbWl0IjozMH0sIlZJREVPX0lERUFTX0xFTkdUSCI6eyJsaW1pdCI6MjB9LCJDUkVBVEVfTU9SRV9QT1JURk9MSU9TIjp7ImxpbWl0IjoxfSwiUE9SVEZPTElPX1RSQU5TQUNUSU9OUyI6eyJsaW1pdCI6MjAwMH0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6MjB9fSwicHJvIjp7IkRSQVdJTkdTIjp7fSwiQkFDS1RFU1RJTkdfQ0hBUlRfRVhQQU5EIjp7fSwiQkFDS1RFU1RJTkdfRVhURU5ERURfTUVUUklDUyI6e30sIkJBQ0tURVNUSU5HX0VYUE9SVF9YTFNYIjp7fSwiQkFDS1RFU1RJTkdfRVhQT1JUX0NTViI6e30sIkNIQVRfQVNTSVNUQU5UIjp7ImxpbWl0Ijo1LCJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiUEVSU09OQUxfU1VQUE9SVCI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiQ0hBUlRfU1RPUkFHRSI6eyJsaW1pdCI6NX0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6Mn0sIk1BUktFVF9EQVRBX0xJTUlUUyI6eyJsaW1pdCI6MiwicHJpbWl0aXZlX2xpbWl0IjoyfSwiQ1VTVE9NX0lOVEVSVkFMUyI6e30sIk1VTFRJUExFX1dBVENITElTVFMiOnt9LCJJTVBPUlRfV0FUQ0hMSVNUUyI6e30sIkVYUE9SVF9XQVRDSExJU1RTIjp7fSwiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6NX0sIkZVTkRBTUVOVEFMU19GT1JFQ0FTVCI6e30sIkZVTkRBTUVOVEFMU19PTl9DSEFSVCI6eyJsaW1pdCI6NH0sIlRWX1BST1NUVURJRVMiOnsic3R1ZHlfcGFja2FnZXMiOlsidHYtY2hhcnRwYXR0ZXJucyJdfSwiSElTVE9SSUNBTF9CQVJTIjp7ImxpbWl0IjoxMH0sIlRWX1ZPTFVNRUJZUFJJQ0UiOnsic3R1ZHlfcGFja2FnZXMiOlsidHYtdm9sdW1lYnlwcmljZSJdfSwiU1RVRFlfT05fU1RVRFkiOnsibGltaXQiOjgwMCwiY2hpbGRfbGltaXQiOjF9LCJUSUNLX0JZX1RJQ0tfUFVTSF9EQVRBIjp7fSwiU0VSVkVSX1NJREVfQUxFUlRTIjp7Im92ZXJhbGxfbGltaXQiOjIwMDAsImxpbWl0IjoyMCwiY29tcGxleF9saW1pdCI6MjAsInByaW1pdGl2ZV9saW1pdCI6MjB9LCJTQ1JFRU5FUl9BVVRPX1JFRlJFU0giOnt9LCJTQ1JFRU5FUl9ORVdfQVVUT19SRUZSRVNIIjp7fSwiU0NSRUVORVJfTkVXX0VYUE9SVF9DU1ZfREFUQSI6e30sIlNDUkVFTkVSX05FV19TSE9XX1JFU1RSSUNURURfREFUQSI6e30sIlNIT1dfQk9ORFNfUkVTVFJJQ1RFRF9EQVRBIjp7fSwiUE9SVEZPTElPX0RBVEFfTElNSVQiOnt9LCJDUkVBVEVfTU9SRV9QT1JURk9MSU9TIjp7ImxpbWl0IjozfSwiUE9SVEZPTElPX1RSQU5TQUNUSU9OUyI6eyJsaW1pdCI6NTAwMH0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6NTB9LCJTQ1JFRU5FUl9JTlRFUlZBTFMiOnsiaW50ZXJ2YWwiOlsiMW0iLCI1bSIsIjE1bSIsIjMwbSIsIjFoIiwiMmgiLCI0aCIsIjFEIiwiMVciLCIxTSJdfSwiTk9fU1BPTlNPUkVEX0FEUyI6eyJkaXNhYmxlX29uX2xpdGVfcGxhbiI6ImV4Y2x1ZGVfbW9iaWxlIn0sIlNUVURZX1RFTVBMQVRFUyI6eyJsaW1pdCI6OTk5OTl9LCJTSU1VTFRBTkVPVVNfQ09OTkVDVElPTlMiOnsibGltaXQiOjF9LCJCQUNLRU5EX0NPTk5FQ1RJT05TIjp7ImxpbWl0IjoxMH0sIklEQ19BVkFJTEFCTEVfREVMQVkiOnt9LCJTVEFUVVMiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkJBUl9SRVBMQVlfSU5UUkFEQVkiOnsibGltaXQiOjF9LCJNVUxUSUZMQUdHRURfU1lNQk9MU19MSVNUUyI6e30sIlNIT1dTIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJBTEVSVFNfV0VCSE9PSyI6e30sIkFMRVJUU19PTl9FQVJOSU5HUyI6e30sIkFMRVJUU19PTl9GVU5EQU1FTlRBTF9NRVRSSUNTIjp7fSwiREVFUF9GVU5EQU1FTlRBTFNfSElTVE9SWSI6e30sIlBVQkxJU0hfUFJPVEVDVEVEX1NDUklQVFMiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIklERUFfU09DSUFMX0xJTktTIjp7InNvY2lhbHMiOlsiVHdpdHRlciIsIllvdXR1YmUiXX0sIkVYVEVOREVEX1NPQ0lBTF9MSU5LUyI6eyJzb2NpYWxzIjpbIkZhY2Vib29rIiwiSW5zdGFncmFtIl0sImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJNVUxUSV9NT05JVE9SIjp7fSwiTVVMVElDT0xPUl9GTEFHR0VEX1NZTUJPTFMiOnsibGltaXQiOjd9LCJJTlRSQURBWV9FWENIQU5HRSI6e30sIlZPTFVNRV9QUk9GSUxFIjp7fSwiU1RSRUFNU19BQ0NFU1MiOnsiZm9sbG93ZXJzIjoxMH0sIlNNU18yRkFfVkVSSUZJQ0FUSU9OIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJTT0NJQUxfQUNUSVZJVFkiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIldBVENITElTVF9TWU1CT0xTIjp7ImxpbWl0IjoxMDAwfSwiRklFTERTX1BFUk1JU1NJT05TIjp7Iml0ZW1zIjpbInJlZmJvbmRzIl19LCJDVVNUT01fUkFOR0VfQkFSUyI6e30sIkZBU1RFU1RfREFUQV9GTE9XIjp7fSwiU0VTU0lPTl9WT0xVTUVfUFJPRklMRSI6e30sIlNIT1dfRVRGX0hPTERJTkdTX0RBVEEiOnt9fSwicHJvX3JlYWx0aW1lIjp7ImV4dGVuZHMiOiJwcm8iLCJDSEFSVF9TVE9SQUdFIjp7ImxpbWl0IjoxMH0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6NH0sIk1BUktFVF9EQVRBX0xJTUlUUyI6eyJsaW1pdCI6NCwicHJpbWl0aXZlX2xpbWl0Ijo0fSwiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6MTB9LCJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiOnsibGltaXQiOjd9LCJUVl9QUk9TVFVESUVTIjp7InN0dWR5X3BhY2thZ2VzIjpbInR2LXByb3N0dWRpZXMiLCJ0di1jaGFydHBhdHRlcm5zIl19LCJTVFVEWV9PTl9TVFVEWSI6eyJsaW1pdCI6ODAwLCJjaGlsZF9saW1pdCI6OX0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0IjoyMDAwLCJsaW1pdCI6MTAwLCJjb21wbGV4X2xpbWl0IjoxMDAsInByaW1pdGl2ZV9saW1pdCI6MTAwfSwiQUxFUlRTX01VTFRJQ09ORElUSU9OUyI6eyJjb25kaXRpb25fbGltaXQiOjV9LCJDSEFUX0FTU0lTVEFOVCI6eyJsaW1pdCI6NSwiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkNBTl9FRElUX1BVQkxJQ19DSEFUUyI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiQkFDS0VORF9DT05ORUNUSU9OUyI6eyJsaW1pdCI6MjB9LCJFWFBPUlRfQ0hBUlRfREFUQSI6e30sIkNVU1RPTV9GT1JNVUxBUyI6e30sIklOVFJBREFZX0VYT1RJQ19DSEFSVFMiOnt9LCJLQUdJX1JFTktPIjp7fSwiSU5UUkFEQVlfU1BSRUFEIjp7fSwiQ1VTVE9NX0NIQVRTIjp7fSwiQ1JFQVRFX01PUkVfUE9SVEZPTElPUyI6eyJsaW1pdCI6NH0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6NzV9fSwicHJvX3ByZW1pdW0iOnsiZXh0ZW5kcyI6InByb19yZWFsdGltZSIsIkJBUl9ERVRBTElaQVRJT04iOnt9LCJTQ1JJUFRfRVhFQ1VUSU9OX09OX0hJU1RPUllfQkFSUyI6e30sIkNIQVJUX1NUT1JBR0UiOnsibGltaXQiOjk5OTk5fSwiTVVMVElQTEVfQ0hBUlRTIjp7ImxpbWl0Ijo4fSwiTUFSS0VUX0RBVEFfTElNSVRTIjp7ImxpbWl0Ijo2LCJwcmltaXRpdmVfbGltaXQiOjZ9LCJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0IjoyNX0sIkZVTkRBTUVOVEFMU19PTl9DSEFSVCI6eyJsaW1pdCI6MTB9LCJGVU5EQU1FTlRBTF9HUkFQSFNfTEFSR0VfVElNRV9SQU5HRSI6e30sIkNIQVRfQVNTSVNUQU5UIjp7ImxpbWl0Ijo5OTk5OSwiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkNIQVJUX1BBVFRFUk5TIjp7InN0dWR5X3BhY2thZ2VzIjpbInR2LWNoYXJ0cGF0dGVybnMiLCJ0di1jaGFydF9wYXR0ZXJucyJdfSwiSElTVE9SSUNBTF9CQVJTIjp7ImxpbWl0IjoyMH0sIlNUVURZX09OX1NUVURZIjp7ImxpbWl0Ijo4MDAsImNoaWxkX2xpbWl0IjoyNH0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0IjoyMDAwLCJsaW1pdCI6NDAwLCJjb21wbGV4X2xpbWl0Ijo0MDAsInByaW1pdGl2ZV9saW1pdCI6NDAwLCJ3YXRjaGxpc3RfbGltaXQiOjIsIm92ZXJhbGxfd2F0Y2hsaXN0X2xpbWl0Ijo1fSwiU0lNVUxUQU5FT1VTX0NPTk5FQ1RJT05TIjp7ImxpbWl0IjoyfSwiQkFDS0VORF9DT05ORUNUSU9OUyI6eyJsaW1pdCI6NTB9LCJJREVBX1NJR05BVFVSRSI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiUFJPRklMRV9XRUJTSVRFX0ZJRUxEIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJCQVJfUkVQTEFZX0lOVFJBREFZIjp7ImxpbWl0Ijo0fSwiQkFSX1JFUExBWV8xUyI6e30sIkFMRVJUU19OT19FWFBJUkFUSU9OIjp7fSwiUFVCTElTSF9JTlZJVEVfT05MWV9TQ1JJUFRTIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJFWFBPUlRfQ0hBUlRfREFUQSI6e30sIkRFRVBfSElTVE9SWV9CQUNLVEVTVCI6e30sIkFMRVJUU19PTl9TRUNPTkRTIjp7fSwiUEVSTUFORU5UX1NUUkVBTV9SRUNPUkRTIjp7fSwiRVhURU5ERURfU09DSUFMX0xJTktTIjp7InNvY2lhbHMiOlsiRmFjZWJvb2siLCJJbnN0YWdyYW0iLCJXZWJzaXRlIl0sImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJTRUNPTkRTX0lOVEVSVkFMUyI6e30sIlRQT19QRVJJT0RJQyI6eyJzdHVkeV9wYWNrYWdlcyI6WyJ0di12b2x1bWVieXByaWNlIl19LCJUUE9fQ0hBUlRfU1RZTEUiOnt9LCJWT0xVTUVfQ0FORExFUyI6e30sIlZJREVPX0lERUFTX0xFTkdUSCI6eyJsaW1pdCI6NjB9LCJWT0xVTUVfRk9PVFBSSU5UIjp7fSwiUElORV9TQ1JFRU5FUiI6e30sIkNSRUFURV9NT1JFX1BPUlRGT0xJT1MiOnsibGltaXQiOjV9LCJQT1JURk9MSU9fSE9MRElOR1MiOnsibGltaXQiOjEwMH0sIlNPQ0lBTF9UUlVTVEVEX1VTRVIiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkZPTExPV0VSU19PTkxZX01JTkRTIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9fSwicHJvX2V4cGVydCI6eyJleHRlbmRzIjoicHJvX3ByZW1pdW0iLCJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0IjozMH0sIkZVTkRBTUVOVEFMU19PTl9DSEFSVCI6eyJsaW1pdCI6MTV9LCJTVFVEWV9PTl9TVFVEWSI6eyJsaW1pdCI6ODAwLCJjaGlsZF9saW1pdCI6Mjl9LCJNVUxUSVBMRV9DSEFSVFMiOnsibGltaXQiOjEwfSwiTUFSS0VUX0RBVEFfTElNSVRTIjp7ImxpbWl0IjoxMiwicHJpbWl0aXZlX2xpbWl0IjoxMn0sIkhJU1RPUklDQUxfQkFSUyI6eyJsaW1pdCI6MjV9LCJTRVJWRVJfU0lERV9BTEVSVFMiOnsib3ZlcmFsbF9saW1pdCI6MjAwMCwibGltaXQiOjYwMCwiY29tcGxleF9saW1pdCI6NjAwLCJwcmltaXRpdmVfbGltaXQiOjYwMCwid2F0Y2hsaXN0X2xpbWl0IjoxMCwib3ZlcmFsbF93YXRjaGxpc3RfbGltaXQiOjIwfSwiQkFDS0VORF9DT05ORUNUSU9OUyI6eyJsaW1pdCI6ODB9LCJCQVJfUkVQTEFZX0lOVFJBREFZIjp7ImxpbWl0Ijo2fSwiQkFSX1JFUExBWV8xUyI6e30sIkJBUl9SRVBMQVlfMVQiOnt9LCJFWFBPUlRfRklOQU5DSUFMU19EQVRBIjp7fSwiVElDS19JTlRFUlZBTFMiOnt9LCJGSVJTVF9QUklPUklUWV9TVVBQT1JUIjp7fSwiQlVZX1BST19EQVRBIjp7fSwiQ1JFQVRFX01PUkVfUE9SVEZPTElPUyI6eyJsaW1pdCI6Nn0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6MTI1fX0sInByb19wcmVtaXVtX2V4cGVydCI6eyJleHRlbmRzIjoicHJvX2V4cGVydCIsIklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjUwfSwiRlVOREFNRU5UQUxTX09OX0NIQVJUIjp7ImxpbWl0IjoyNX0sIlNUVURZX09OX1NUVURZIjp7ImxpbWl0Ijo4MDAsImNoaWxkX2xpbWl0Ijo0OX0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6MTZ9LCJNQVJLRVRfREFUQV9MSU1JVFMiOnsibGltaXQiOjk5OTk5LCJwcmltaXRpdmVfbGltaXQiOjI1fSwiSElTVE9SSUNBTF9CQVJTIjp7ImxpbWl0Ijo0MH0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0Ijo0MDAwLCJsaW1pdCI6MTAwMCwiY29tcGxleF9saW1pdCI6MTAwMCwicHJpbWl0aXZlX2xpbWl0IjoxMDAwLCJ3YXRjaGxpc3RfbGltaXQiOjE1LCJvdmVyYWxsX3dhdGNobGlzdF9saW1pdCI6MzB9LCJCQUNLRU5EX0NPTk5FQ1RJT05TIjp7ImxpbWl0IjoyMDB9LCJCQVJfUkVQTEFZX0lOVFJBREFZIjp7ImxpbWl0IjoxMH0sIkNSRUFURV9NT1JFX1BPUlRGT0xJT1MiOnsibGltaXQiOjd9LCJQT1JURk9MSU9fSE9MRElOR1MiOnsibGltaXQiOjE1MH19fScpCn19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"tvc-invdn-cf-com.investing.com/cdn-cgi/challenge-platform/h/g/scripts/jsd/b0da9f4911ba/main.js?","fqdn":"tvc-invdn-cf-com.investing.com","domain":"investing.com","tld":"com"},"ip":{"addr":"172.64.155.105","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://tvc-invdn-cf-com.investing.com/tool/1.12.10/tool-prod-2-ssl.html?carrier=cc6698fccca44e51b088d9ddbbcf8ec8\u0026time=1785120633\u0026domain_ID=7\u0026lang_ID=7\u0026timezone_ID=17\u0026version=1.12.10\u0026locale=ru\u0026timezone=Europe/Moscow\u0026pair_ID=945629\u0026interval=5\u0026session=24x7\u0026prefix=ru\u0026suffix=\u0026client=0\u0026user=\u0026plotStyle=area\u0026geoc=NO\u0026styleOverride=","date":"2026-07-27T02:50:34.566Z","timestamp":1785120634566,"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":"tvc-invdn-cf-com.investing.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 31 May 2026 06:59:21 GMT","end":"Sat, 29 Aug 2026 07:59:19 GMT"},"fingerprint":{"sha1":"90:A7:5D:5C:7F:22:D6:92:72:4C:85:3E:E7:2D:28:D1:42:20:B1:F8","sha256":"4C:97:98:34:DB:36:63:81:85:8D:5B:E0:91:75:21:94:B9:1D:97:17:07:3D:61:14:3E:02:DB:0F:73:40:E7:84"}}},"request":{"raw":"GET /cdn-cgi/challenge-platform/h/g/scripts/jsd/b0da9f4911ba/main.js? HTTP/1.1\r\nHost: tvc-invdn-cf-com.investing.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\nCookie: __cf_bm=jtnAMF1jnA9eP877mzX9PWPftppZTYpVuXwx3Tmv6Zs-1785120634.463041-1.0.1.1-nLMDxl3BIa2GJ9QP57CAvrb7w4nvL3De9XlJe2dUyDOpGjRQHmjam_MeH_n1VnM52PTH4NDHln65n3wG30qRRCssJwmWLKnztxQPccjnnPIwfPmuaACWVZ_l94Q4IhgVA3t.bN5OBkX.nmzu5Bv0uA\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\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=UTF-8\r\ncache-control: max-age=14400, stale-if-error=10800, stale-while-revalidate=10800, public\r\nx-content-type-options: nosniff\r\nset-cookie: __cf_bm=h6SAR28kd_QbNop_COMOHghDdlytG1dix_NDRXPGmD4-1785120634.5691435-1.0.1.1-s4ne_iKLzdjYKinGlFUaklT6ynKOQcbwbTfQ9Ee2VWc6HnktRWLJU5i.P2cm15_MZLMVhgoXFqglYOYqP14NW3ukSx7P6pAGRd3O_Fc9rU3d7y1GygnJGLidPsQIZp.Yom6Jb8b5KK1yqn7xaAW3WA; HttpOnly; SameSite=None; Secure; Path=/; Domain=investing.com; Expires=Mon, 27 Jul 2026 03:20:34 GMT\r\npriority: u=3,i=?0\r\ncontent-encoding: br\r\nserver: cloudflare\r\ncf-ray: a218565e0cc10daa-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 Bot Management","description":"Cloudflare bot management solution identifies and mitigates automated traffic to protect websites from bad bots.","website":"https://www.cloudflare.com/en-gb/products/bot-management/","common_platform_enumeration":"","icon":"CloudFlare.svg","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":21897,"size_decoded":10613,"mime_type":"application/javascript; charset=UTF-8","magic":"ASCII text, with very long lines (21897), with no line terminators","md5":"c9410f243af40685edf20ec7d82af21b","sha1":"d9a997fe83c757598165055d5c99108944dabaaf","sha256":"3a39bf9ef20457758cea864df83969a00724a740b8e0704ac090647db44b5efa","sha512":"fbda2dd536b5c81f66dae434e9deed16af634c16cd5d06c1ef2a5dcd151105248643448c4035c73d255ccc967171d6827bec570b32d991c21a041d0e8cf3233f","ssdeep":"384:HcesRGF8DP3bntjEdPoX4gOZ0srZl+wqwqM0k2kw148230FYxS9HEV8:HjF2zuPov4Cwqm0k6RFDa8","tlshash":"11a263d9bcc676dc57136171047b30cea12eac88b2048988e134d6fb7fac7da653ad58","first_seen":"2026-07-27T02:34:07.048584Z","last_seen":"2026-07-27T02:54:09.472312Z","times_seen":3,"resource_available":true,"data":"d2luZG93Ll9jZl9jaGxfb3B0ID0ge2JsRXc2OidnJ307fmZ1bmN0aW9uKHBkLFQscSxHLHMsWixmLEIsTixnLEgsZCxjLG4sRCxqKXtwZD1QLGZ1bmN0aW9uKFMsYSxQcSxwSCxoLFkpe2ZvcihQcT17UzozNTMsYToyNzgsaDoyMTUsWToyMzMsazoyOTcsSzo0MzcsVjoyMzEsbzoyNDksVzo0MTEsZTozNDMscDA6MzM5LHAxOjMzMX0scEg9UCxoPVMoKTshIVtdOyl0cnl7aWYoWT1wYXJzZUludChwSChQcS5TKSkvMSooLXBhcnNlSW50KHBIKFBxLmEpKS8yKSstcGFyc2VJbnQocEgoUHEuaCkpLzMrLXBhcnNlSW50KHBIKFBxLlkpKS80KihwYXJzZUludChwSChQcS5rKSkvNSkrcGFyc2VJbnQocEgoUHEuSykpLzYqKC1wYXJzZUludChwSChQcS5WKSkvNykrcGFyc2VJbnQocEgoUHEubykpLzgqKC1wYXJzZUludChwSChQcS5XKSkvOSkrLXBhcnNlSW50KHBIKFBxLmUpKS8xMCooLXBhcnNlSW50KHBIKFBxLnAwKSkvMTEpK3BhcnNlSW50KHBIKFBxLnAxKSkvMTIsWT09PWEpYnJlYWs7ZWxzZSBoLnB1c2goaC5zaGlmdCgpKX1jYXRjaChrKXtoLnB1c2goaC5zaGlmdCgpKX19KHAsMTcyNDUwKSxUPXRoaXN8fHNlbGYscT1UW3BkKDMyMSldLEc9ZnVuY3Rpb24oUEMsUE8sUGksUFEsUHYscFgsUyxhLGgsWSxrLEssVixXLGUscDApe2ZvcihQQz17Uzo0MTcsYTo0MzIsaDozNzMsWTo0MzIsazoyMTksSzozNzV9LFBPPXtTOjI5NSxhOjQxNyxoOjQzMCxZOjM5NixrOjQwMCxLOjIxMCxWOjI0OCxvOjIyOSxXOjI2NCxlOjMwNCxwMDoyNDMscDE6NDYxLHAyOjQxOCxwMzo0MTgscDQ6MjM4LHA1OjIzOCxwNjoyNjMscDc6NDIxfSxQaT17UzozNzAsYToyOTUsaDoyODIsWTozMzcsazozNzAsSzoyOTUsVjoyMzksbzoyOTR9LFBRPXtTOjQzMn0sUHY9e1M6MjY3fSxwWD1wZCxTPXsiUXlsS1YiOmZ1bmN0aW9uKHAxLHAyKXtyZXR1cm4gcDF8cDJ9LCJUcnVOUiI6ZnVuY3Rpb24ocDEscDIpe3JldHVybiBwMS1wMn0sInlwQndBIjpmdW5jdGlvbihwMSxwMil7cmV0dXJuIHAxPHAyfSwiaFJyT1kiOmZ1bmN0aW9uKHAxLHAyKXtyZXR1cm4gcDE8PXAyfSwibEVFSEMiOmZ1bmN0aW9uKHAxLHAyKXtyZXR1cm4gcDErcDJ9LCJpdllzUiI6ZnVuY3Rpb24ocDEscDIpe3JldHVybiBwMShwMil9LCJ6c0luTiI6ZnVuY3Rpb24ocDEscDIpe3JldHVybiBwMT49cDJ9LCJPTlJ3TiI6ZnVuY3Rpb24ocDEscDIpe3JldHVybiBwMj09PXAxfSwiUHR3aUQiOmZ1bmN0aW9uKHAxLHAyKXtyZXR1cm4gcDEtcDJ9LCJPQU5PcSI6ZnVuY3Rpb24ocDEscDIpe3JldHVybiBwMT5wMn0sIkFRYXJuIjpmdW5jdGlvbihwMSxwMixwMyl7cmV0dXJuIHAxKHAyLHAzKX0sIkd6Tm1MIjpmdW5jdGlvbihwMSxwMil7cmV0dXJuIHAxK3AyfSwiSkN5b3ciOmZ1bmN0aW9uKHAxLHAyKXtyZXR1cm4gcDEocDIpfSwiR1hzVU0iOmZ1bmN0aW9uKHAxLHAyKXtyZXR1cm4gcDE+cDJ9LCJiRk9xRSI6ZnVuY3Rpb24ocDEscDIpe3JldHVybiBwMiZwMX0sIlpWaE1TIjpmdW5jdGlvbihwMSxwMil7cmV0dXJuIHAxK3AyfSwiaG9JT08iOmZ1bmN0aW9uKHAxLHAyKXtyZXR1cm4gcDErcDJ9LCJtU0VTaSI6ZnVuY3Rpb24ocDEscDIscDMpe3JldHVybiBwMShwMixwMyl9fSxhPVtdLGg9W10sWT1bMyw0LDUsNiw3LDgsOSwxMCwxMSwxMywxNSwxNywxOSwyMywyNywzMSwzNSw0Myw1MSw1OSw2Nyw4Myw5OSwxMTUsMTMxLDE2MywxOTUsMjI3LDI1OF0saz1bMCwwLDAsMCwwLDAsMCwwLDEsMSwxLDEsMiwyLDIsMiwzLDMsMywzLDQsNCw0LDQsNSw1LDUsNSwwXSxLPVsxLDIsMyw0LDUsNyw5LDEzLDE3LDI1LDMzLDQ5LDY1LDk3LDEyOSwxOTMsMjU3LDM4NSw1MTMsNzY5LDEwMjUsMTUzNywyMDQ5LDMwNzMsNDA5Nyw2MTQ1LDgxOTMsMTIyODksMTYzODUsMjQ1NzddLFY9WzAsMCwwLDAsMSwxLDIsMiwzLDMsNCw0LDUsNSw2LDYsNyw3LDgsOCw5LDksMTAsMTAsMTEsMTEsMTIsMTIsMTMsMTNdLFc9MDtXPDI4ODtTW3BYKFBDLlMpXShXLDE0NCk/KGU9NDgrVyxwMD04KTpXPDI1Nj8oZT1TW3BYKFBDLmEpXShTW3BYKFBDLmgpXSg0MDAsVyksMTQ0KSxwMD05KTpXPDI4MD8oZT1TW3BYKFBDLlkpXShXLDI1NikscDA9Nyk6KGU9U1twWChQQy5rKV0oMTkyLFcpLTI4MCxwMD04KSxhW1ddPVNbcFgoUEMuSyldKG8sZSxwMCksaFtXXT1wMCxXKyspO3JldHVybiBmdW5jdGlvbihwMSxQRCxQdSxQSSxwbixwMixwMyxwNCxwNSxwNixwNyxwOCxwYSxwaCxwWSxwdyxwVCxwcSxwRyxwcyxwWixwZixwbSl7Zm9yKFBEPXtTOjQ2NX0sUHU9e1M6MjgyfSxQST17UzoyOTV9LHBuPXBYLHAyPXsiV3lFU2YiOmZ1bmN0aW9uKHB4LHBCKXtyZXR1cm4gcHg8cEJ9LCJhVlBTSiI6ZnVuY3Rpb24ocHgscEIpe3JldHVybiBweCtwQn0sIkZqYkJPIjpmdW5jdGlvbihweCxwQixwTil7cmV0dXJuIHB4KHBCLHBOKX0sIlBpSXBVIjpmdW5jdGlvbihweCxwQixwSil7cmV0dXJuIHBKPVAsU1twSihQUS5TKV0ocHgscEIpfSwiZlJJdWQiOmZ1bmN0aW9uKHB4LHBCLHBOKXtyZXR1cm4gcHgocEIscE4pfSwienhWSlUiOmZ1bmN0aW9uKHB4LHBCKXtyZXR1cm4gcHgmcEJ9fSxwMz1bXSxwND0wLHA1PTAscDY9bmV3IEludDMyQXJyYXkoODE5MikscDc9bmV3IEludDMyQXJyYXkoMzI3NjgpLHA4PTgxOTEscDkoMSwxKSxwOSgxLDIpLHBhPTAscGg9cDFbcG4oUE8uUyldO1NbcG4oUE8uYSldKHBhLHBoKTspe2lmKHBZPTAscHc9MCxTW3BuKFBPLmgpXShTW3BuKFBPLlkpXShwYSwzKSxwaCkpe2ZvcihwVD1TW3BuKFBPLmspXShwTCxwYSkscHE9MDtTW3BuKFBPLkspXShwVCwwKSYmcFQ8cGEmJnBhLXBUPD0zMjc2OCYmcHE8MjtwcSsrKWZvcihwZj1wbihQTy5WKVtwbihQTy5vKV0oYHxgKSxwbT0wOyEhW107KXtzd2l0Y2gocGZbcG0rK10pe2Nhc2VgMGA6cFQ9cDdbMzI3NjcmcFRdLTE7Y29udGludWU7Y2FzZWAxYDpmb3IoO3BzPHBHJiZTW3BuKFBPLlcpXShwMVtTW3BuKFBPLlkpXShwVCxwcyldLHAxW1NbcG4oUE8uWSldKHBhLHBzKV0pO3BzKyspO2NvbnRpbnVlO2Nhc2VgMmA6cEc9U1twbihQTy5lKV0ocGgscGEpO2NvbnRpbnVlO2Nhc2VgM2A6cHM+cFkmJnBzPjImJihwWT1wcyxwdz1wYS1wVCxwcz09PXBHJiYocHE9MikpO2NvbnRpbnVlO2Nhc2VgNGA6U1twbihQTy5wMCldKHBHLDI1OCkmJihwRz0yNTgpO2NvbnRpbnVlO2Nhc2VgNWA6cHM9MDtjb250aW51ZX1icmVha319aWYocFk+Mil7Zm9yKFNbcG4oUE8ucDEpXShwUCxwWSxwdykscFo9MTtwWjxwWSYmU1twbihQTy5wMildKHBhLHBaKSszPD1waDtwTChTW3BuKFBPLnAzKV0ocGEscFopKSxwWisrKTtwYSs9cFl9ZWxzZSBTW3BuKFBPLnA0KV0ocHAscDFbcGErK10pfXJldHVybiBTW3BuKFBPLnA1KV0ocHAsMjU2KSxTW3BuKFBPLnA2KV0ocDUsMCkmJihwM1twM1twbihQTy5TKV1dPVNbcG4oUE8ucDcpXShwNCwyNTUpKSxwMztmdW5jdGlvbiBwcChweCl7cDkoYVtweF0saFtweF0pfWZ1bmN0aW9uIHBTKHB4LHBiKXtyZXR1cm4gcGI9UCwoKHAxW3B4XTw8NV5wMVtweCsxXTw8Ml5wMVtwMltwYihQdS5TKV0ocHgsMildKSZwOCk+Pj4wfWZ1bmN0aW9uIHBQKHB4LHBCLHBsLHBOLHB5LHBnKXtmb3IocGw9UCxwTj0wLHBnPTA7cDJbcGwoUGkuUyldKHBOLFlbcGwoUGkuYSldKTtwTisrKWlmKHB5PXAyW3BsKFBpLmgpXShZW3BOXSwxLjQzPDxrW3BOXSktMSxweDw9cHkpe3BnPXBOO2JyZWFrfWZvcihwcCgyNTcrcGcpLGtbcGddJiZwMltwbChQaS5ZKV0ocDkscHgtWVtwZ10sa1twZ10pLHBOPTA7cDJbcGwoUGkuayldKHBOLEtbcGwoUGkuSyldKTtwTisrKWlmKHB5PXAyW3BsKFBpLlYpXShLW3BOXSsoMTw8VltwTl0pLDEpLHBCPD1weSl7cDkocDJbcGwoUGkubyldKG8scE4sNSksNSksVltwTl0mJnA5KHBCLUtbcE5dLFZbcE5dKTticmVha319ZnVuY3Rpb24gcEwocHgscHYscEIscE4pe3JldHVybiBwdj1QLHBCPXBTKHB4KSxwTj1wNltwQl0tMSxwN1twMltwdihQRC5TKV0ocHgsMzI3NjcpXT1wTisxLHA2W3BCXT1weCsxLHBOfWZ1bmN0aW9uIHA5KHB4LHBCLHByKXtmb3IocHI9UCxwNHw9cHg8PHA1LHA1Kz1wQjtwNT49ODtwM1twM1twcihQSS5TKV1dPXA0JjI1NSxwND4+Pj04LHA1LT04KTt9fTtmdW5jdGlvbiBvKHAxLHAyLHBjLHAzKXtmb3IocGM9UCxwMz0wO3AyPjA7cDM9U1twYyhQdi5TKV0ocDM8PDEsMS4wNCZwMSkscDE+Pj49MSxwMi0tKTtyZXR1cm4gcDN9fSgpLHM9ZnVuY3Rpb24oU0csU3EsU1QsU3csU1ksU2gsU2EscHosaCxZLHAxKXtyZXR1cm4gU0c9e1M6MjM1LGE6NDQ4fSxTcT17UzoyOTksYToyMjksaDo0NzQsWToyNzUsazozNTgsSzoyOTUsVjozNjksbzo0MzksVzoyNzYsZToyOTUscDA6Mjk1fSxTVD17UzoyOTUsYTo0NTEsaDozNzYsWTozNjAsazoyODgsSzozODMsVjozMjYsbzoyMjksVzoyODAsZToyMzIscDA6NDI0LHAxOjMxMCxwMjoyNzQscDM6NDcwLHA0OjI4N30sU3c9e1M6Mjk1LGE6NDc4LGg6MzU3LFk6Mjk1LGs6MzE1LEs6Mjc0LFY6MzQ3LG86MzQ3LFc6MzQ3LGU6MzA5LHAwOjMxMCxwMTozNDcscDI6NDU5LHAzOjI3NyxwNDozMzUscDU6MjgwLHA2OjI3NCxwNzozNDcscDg6MzQ3LHA5OjM0NyxwcDoyMjF9LFNZPXtTOjI4NCxhOjI5NSxoOjMxMCxZOjQ1MX0sU2g9e1M6NDcwLGE6MzEwfSxTYT17UzoyOTUsYTo0NTEsaDo0MDF9LHB6PXBkLGg9eyJITU9nWCI6ZnVuY3Rpb24ocDIscDMpe3JldHVybiBwMjw8cDN9LCJERkVZZyI6ZnVuY3Rpb24ocDIscDMpe3JldHVybiBwMj4+PnAzfSwiWkx1VHciOmZ1bmN0aW9uKHAyLHAzKXtyZXR1cm4gcDI8cDN9LCJySWduQyI6ZnVuY3Rpb24ocDIscDMpe3JldHVybiBwMiVwM30sInJYWEd2IjpmdW5jdGlvbihwMixwMyl7cmV0dXJuIHAyLXAzfSwiaWVDekoiOmZ1bmN0aW9uKHAyLHAzKXtyZXR1cm4gcDIvcDN9LCJXUVJiTyI6ZnVuY3Rpb24ocDIscDMpe3JldHVybiBwMitwM30sIlRtbkhmIjpmdW5jdGlvbihwMixwMyl7cmV0dXJuIHAzJnAyfSwiWnFiTkoiOmZ1bmN0aW9uKHAyLHAzKXtyZXR1cm4gcDI9PT1wM30sIkdyUXVwIjpmdW5jdGlvbihwMixwMyl7cmV0dXJuIHAyPj4+cDN9LCJrdWJjcCI6ZnVuY3Rpb24ocDIscDMpe3JldHVybiBwMz09PXAyfSwiZXVPcUIiOmZ1bmN0aW9uKHAyLHAzKXtyZXR1cm4gcDN8cDJ9LCJQcHZidCI6ZnVuY3Rpb24ocDIscDMpe3JldHVybiBwMjxwM30sIm5nSmFsIjpmdW5jdGlvbihwMixwMyl7cmV0dXJuIHAzfHAyfSwiYWhyemIiOmZ1bmN0aW9uKHAyLHAzKXtyZXR1cm4gcDN8cDJ9LCJYTGJxVSI6ZnVuY3Rpb24ocDIscDMpe3JldHVybiBwMj49cDN9LCJCVk1sRSI6ZnVuY3Rpb24ocDIscDMpe3JldHVybiBwMyZwMn0sImpXUHNhIjpmdW5jdGlvbihwMixwMyl7cmV0dXJuIHAzJnAyfSwiaEV3RkgiOmZ1bmN0aW9uKHAyLHAzKXtyZXR1cm4gcDJ8cDN9LCJ6SnZJYiI6cHooU0cuUyksIldCZUJNIjpmdW5jdGlvbihwMixwMyl7cmV0dXJuIHAyKHAzKX0sIllKcXpDIjpmdW5jdGlvbihwMixwMyl7cmV0dXJuIHAyK3AzfSwibnBkYUYiOmZ1bmN0aW9uKHAyLHAzKXtyZXR1cm4gcDI9PXAzfSwiVUZka20iOmZ1bmN0aW9uKHAyLHAzKXtyZXR1cm4gcDI+PXAzfSwicGdOWk0iOmZ1bmN0aW9uKHAyLHAzKXtyZXR1cm4gcDIocDMpfX0sWT1gajRWbWhNRlFFZEg1clQ2dTBhZjFSdnNuQ1UyY2xQLXBJR3hYazh0WTlCK3dEU1pBN09XcWlveUtiZUxOekozZyRgLHAxPXt9LHAxW3B6KFNHLmEpXT1wMCxwMTtmdW5jdGlvbiBXKHAyLHBJLHAzLHA0LHA1LHA2LHA3LHA4LHA5KXtmb3IocEk9cHoscDM9W10scDQ9MCxwNT0wO3A1PHAyW3BJKFNULlMpXTtwNSsrKWlmKHA2PXAyW3BJKFNULmEpXShwNSksaFtwSShTVC5oKV0ocDYsMTI4KSlwM1twNCsrXT1wNjtlbHNlIGlmKHA2PDIwNDgpcDNbcDQrK109aFtwSShTVC5ZKV0oMTkyLHA2Pj4+NikscDNbcDQrK109aFtwSShTVC5rKV0oMTI4LHA2JjYzLjc5KTtlbHNlIGlmKGhbcEkoU1QuSyldKHA2LDU1Mjk2KSYmcDY8PTU2MzE5JiZwNSsxPHAyW3BJKFNULlMpXSl7Zm9yKHA3PXBJKFNULlYpW3BJKFNULm8pXShgfGApLHA4PTA7ISFbXTspe3N3aXRjaChwN1twOCsrXSl7Y2FzZWAwYDpwM1twNCsrXT1oW3BJKFNULlcpXSgxMjgsaFtwSShTVC5lKV0ocDY+Pj4xMiw2MykpO2NvbnRpbnVlO2Nhc2VgMWA6cDNbcDQrK109MTI4fHA2JjYzLjI2O2NvbnRpbnVlO2Nhc2VgMmA6cDNbcDQrK109MTI4LjA1fGhbcEkoU1QucDApXShoW3BJKFNULnAxKV0ocDYsNiksNjMpO2NvbnRpbnVlO2Nhc2VgM2A6cDNbcDQrK109cDY+Pj4xOC40MnwyNDAuMTE7Y29udGludWU7Y2FzZWA0YDpwNj1oW3BJKFNULnAyKV0oNjU1MzYsaFtwSShTVC5wMyldKDEwMjMmcDYsMTApKSsocDkmMTAyMyk7Y29udGludWU7Y2FzZWA1YDpwOT1wMltwSShTVC5hKV0oKytwNSk7Y29udGludWV9YnJlYWt9fWVsc2UgcDNbcDQrK109aFtwSShTVC5wNCldKDIyNCxwNj4+PjEyKSxwM1twNCsrXT0xMjguNjl8cDY+Pj42LjQ5JjYzLHAzW3A0KytdPTEyOC44MXxwNiY2My4yO3JldHVybiBwM31mdW5jdGlvbiBLKHAyLHBRKXtyZXR1cm4gcFE9cHoscDJePWhbcFEoU2guUyldKHAyLDEzKSxwMl49aFtwUShTaC5hKV0ocDIsMTcpLHAyXj1wMjw8NS45MixoW3BRKFNoLmEpXShwMiwwKX1mdW5jdGlvbiBvKHAyLHBVLHAzLHA0LHA1LHA2LHA3LHA4LHA5KXtmb3IocFU9cHoscDM9W10scDQ9MCxwNT1wMltwVShTdy5TKV0scDY9aFtwVShTdy5hKV0ocDUsMykscDc9aFtwVShTdy5oKV0ocDUscDYpLHAzW3BVKFN3LlkpXT1oW3BVKFN3LmspXShwNywzKSo0KyhwNj9oW3BVKFN3LkspXShwNiwxKTowKSxwOD0wO3A4PHA3O3A5PXAyW3A4XTw8MTYuOTd8cDJbcDgrMV08PDh8cDJbcDgrMl0scDNbcDQrK109WVtwVShTdy5WKV0oNjMuNSZwOT4+PjE4Ljc4KSxwM1twNCsrXT1ZW3BVKFN3Lm8pXSg2My4zJnA5Pj4+MTIpLHAzW3A0KytdPVlbcFUoU3cuVyldKGhbcFUoU3cuZSldKGhbcFUoU3cucDApXShwOSw2KSw2MykpLHAzW3A0KytdPVlbcFUoU3cucDEpXSg2My43JnA5KSxwOCs9Myk7cmV0dXJuIGhbcFUoU3cucDIpXShwNiwxKT8ocDk9cDJbcDddPDwxNi42NSxwM1twNCsrXT1ZW3BVKFN3LnAxKV0oaFtwVShTdy5wMyldKHA5LDE4KSY2My4yOCkscDNbcDQrK109WVtwVShTdy5wMSldKHA5Pj4+MTImNjMuNjYpKTpoW3BVKFN3LnA0KV0ocDYsMikmJihwOT1oW3BVKFN3LnA1KV0ocDJbcDddPDwxNi4yOCxwMltoW3BVKFN3LnA2KV0ocDcsMSldPDw4KSxwM1twNCsrXT1ZW3BVKFN3LnA3KV0ocDk+Pj4xOCY2My43NCkscDNbcDQrK109WVtwVShTdy5wOCldKHA5Pj4+MTImNjMpLHAzW3A0KytdPVlbcFUoU3cucDkpXShoW3BVKFN3LnAwKV0ocDksNikmNjMuMDcpKSxwM1twVShTdy5wcCldKGBgKX1mdW5jdGlvbiBWKHAyLHB0LHAzLHA0KXtmb3IocHQ9cHoscDM9ayhZKSxwND0wO2hbcHQoU1kuUyldKHA0LHAyW3B0KFNZLmEpXSk7cDM9SyhwMykscDJbcDRdXj1oW3B0KFNZLmgpXShwMywyNCleWVtwdChTWS5ZKV0ocDQlNjQpLHA0KyspO3JldHVybiBwMn1mdW5jdGlvbiBwMChwMixwRSxwMyxwNCxwNSxwNixwNyxwOCl7Zm9yKHBFPXB6LHAzPWhbcEUoU3EuUyldW3BFKFNxLmEpXShgfGApLHA0PTA7ISFbXTspe3N3aXRjaChwM1twNCsrXSl7Y2FzZWAwYDpwN1swXT0yNTM7Y29udGludWU7Y2FzZWAxYDpyZXR1cm4gaFtwRShTcS5oKV0obyxoW3BFKFNxLmgpXShWLHA3KSk7Y2FzZWAyYDpwNT1wMjtjb250aW51ZTtjYXNlYDNgOnA2PTA7Y29udGludWU7Y2FzZWA0YDpwN1twRShTcS5ZKV0ocDUsMyk7Y29udGludWU7Y2FzZWA1YDpwNz1uZXcgVWludDhBcnJheShoW3BFKFNxLmspXShwNVtwRShTcS5LKV0sMykpO2NvbnRpbnVlO2Nhc2VgNmA6cDdbMV09MTtjb250aW51ZTtjYXNlYDdgOnA3WzJdPXA2O2NvbnRpbnVlO2Nhc2VgOGA6cDI9VyhoW3BFKFNxLlYpXShwMixudWxsKT9gYDpwMik7Y29udGludWU7Y2FzZWA5YDpoW3BFKFNxLm8pXShwMltwRShTcS5LKV0sMTI4KSYmKHA4PWhbcEUoU3EuVyldKEcscDIpLHA4W3BFKFNxLmUpXTxwMltwRShTcS5wMCldJiYocDU9cDgscDY9MSkpO2NvbnRpbnVlfWJyZWFrfX1mdW5jdGlvbiBrKHAyLHBBLHAzLHA0KXtmb3IocEE9cHoscDM9MjE2NjEzNjI2MSxwND0wO3A0PHAyW3BBKFNhLlMpXTtwMz0ocDNePXAyW3BBKFNhLmEpXShwNCksTWF0aFtwQShTYS5oKV0ocDMsMTY3Nzc2MTkpPj4+MCkscDQrKyk7cmV0dXJuIDA9PT1wMz8yNzc5MDYyMDc3OnAzfX0oKSxaPXt9LFpbcGQoNDY3KV09YG9gLFpbcGQoMjU5KV09YHNgLFpbcGQoMjUwKV09YHVgLFpbcGQoMzU0KV09YHpgLFpbcGQoMzg4KV09YG5gLFpbcGQoNDMzKV09YElgLGY9WixUW3BkKDM1NildPWZ1bmN0aW9uKFMsWSxLLFYsU3IsU0osU1gscE8sbyxwMCxwMSxwMixwMyxwNCxwNSxwNil7aWYoU3I9e1M6MjkxLGE6MzI1LGg6MzY1LFk6MzI1LGs6MzE2LEs6MjQxLFY6MzcxLG86MzE2LFc6MjQxLGU6MjE0LHAwOjM2MSxwMToyOTUscDI6Mjg2LHAzOjMwMCxwNDoyNDUscDU6NDYwLHA2OjM0Mn0sU0o9e1M6NDY2LGE6Mjk1LGg6Mjg2LFk6MjcyfSxTWD17UzoyMzcsYTo0MDUsaDozNjQsWToyOTh9LHBPPXBkLG89eyJ6TkhQdyI6ZnVuY3Rpb24ocDcscDgpe3JldHVybiBwNytwOH0sIldRdE95IjpmdW5jdGlvbihwNyxwOCl7cmV0dXJuIHA3KHA4KX0sIllhV1psIjpmdW5jdGlvbihwNyxwOCxwOSl7cmV0dXJuIHA3KHA4LHA5KX0sIlFxRGxpIjpmdW5jdGlvbihwNyxwOCxwOSl7cmV0dXJuIHA3KHA4LHA5KX19LG51bGw9PT1ZfHx2b2lkIDA9PT1ZKXJldHVybiBWO2ZvcihwMD14KFkpLFNbcE8oU3IuUyldW3BPKFNyLmEpXSYmKHAwPXAwW3BPKFNyLmgpXShTW3BPKFNyLlMpXVtwTyhTci5ZKV0oWSkpKSxwMD1TW3BPKFNyLmspXVtwTyhTci5LKV0mJlNbcE8oU3IuVildP1NbcE8oU3IubyldW3BPKFNyLlcpXShuZXcgU1twTyhTci5WKV0ocDApKTpmdW5jdGlvbihwNyxwQyxwOCl7Zm9yKHBDPXBPLHA3W3BDKFNKLlMpXSgpLHA4PTA7cDg8cDdbcEMoU0ouYSldO3A3W3A4XT09PXA3W29bcEMoU0ouaCldKHA4LDEpXT9wN1twQyhTSi5ZKV0ocDgrMSwxKTpwOCs9MSk7cmV0dXJuIHA3fShwMCkscDE9YG5Bc0FhYC5zcGxpdChgQWApLHAxPXAxW3BPKFNyLmUpXVtwTyhTci5wMCldKHAxKSxwMj0wO3AyPHAwW3BPKFNyLnAxKV07cDIrKyl7cDQ9KHAzPXAwW3AyXSxvW3BPKFNyLnAyKV0oSyxwMykpO3RyeXtwNT1ZW3AzXSxwNj1tKFMscDUpLG9bcE8oU3IucDMpXShwMSxwNik/KHAzPStwNSxwMz1gc2A9PT1wNiYmcDM9PT1wMyxwND09PXBPKFNyLnA0KT9vW3BPKFNyLnA1KV0oVyxwNCxwNik6cDN8fFcocDQscDUpKTpvW3BPKFNyLnA2KV0oVyxwNCxwNil9Y2F0Y2gocDcpe1cocDQsYGlgKX19cmV0dXJuIFY7ZnVuY3Rpb24gVyhwNyxwOCxwRCl7cEQ9UCxPYmplY3RbcEQoU1guUyldW3BEKFNYLmEpXVtwRChTWC5oKV0oVixwOCl8fChWW3A4XT1bXSksVltwOF1bcEQoU1guWSldKHA3KX19LEI9W3BkKDI5MykscGQoNDQxKSxwZCgzNTApLHBkKDM0MCkscGQoNDIyKSxwZCgzMTIpLHBkKDM2MykscGQoMzA4KSxwZCg0NzcpLHBkKDI1NCkscGQoMjY2KSxwZCg0MjUpLHBkKDQ2OCkscGQoMzc3KSxwZCgzOTIpLHBkKDQxOSkscGQoMzU2KSxwZCg0NDQpLHBkKDI2MSkscGQoMzkxKSxwZCgzMzYpXSxOPUJbcGQoMjE0KV1bcGQoMzYxKV0oQiksVFtwZCg0NDQpXT1mdW5jdGlvbihZLEssU3oscGosVixvLFcscDAscDEscDIscDMscDQpe2ZvcihTej17UzoyMjgsYToyODMsaDozMTgsWTo0NTQsazozNjcsSzoyMjgsVjoyOTUsbzoyODMsVzoyOTUsZTo0NTQscDA6MzMwLHAxOjI5OH0scGo9cGQsVj17fSxWW3BqKFN6LlMpXT1mdW5jdGlvbihwNSxwNil7cmV0dXJuIHA1PHA2fSxWW3BqKFN6LmEpXT1mdW5jdGlvbihwNSxwNil7cmV0dXJuIHA1PT09cDZ9LFZbcGooU3ouaCldPWZ1bmN0aW9uKHA1LHA2KXtyZXR1cm4gcDU8cDZ9LFZbcGooU3ouWSldPWZ1bmN0aW9uKHA1LHA2KXtyZXR1cm4gcDYhPT1wNX0sbz1WLFc9T2JqZWN0W3BqKFN6LmspXShLKSxwMD0wO29bcGooU3ouSyldKHAwLFdbcGooU3ouVildKTtwMCsrKWZvcihwMT1XW3AwXSxwMj1vW3BqKFN6Lm8pXShwMSxgZmApP2BOYDpwMSxwMj1ZW3AyXXx8KFlbcDJdPVtdKSxwMT1LW3AxXSxwMz0wO29bcGooU3ouaCldKHAzLHAxW3BqKFN6LlcpXSk7cDQ9cDFbcDNdLG9bcGooU3ouZSldKHAyW3BqKFN6LnAwKV0ocDQpLC0xKXx8TihwNCl8fHAyW3BqKFN6LnAxKV0oYG8uYCtwNCkscDMrKyk7fSxnPTMwLEg9bnVsbCxjPSFbXSxUW3BkKDM0OSldPXR5cGVvZiBUW3BkKDM0OSldPT09cGQoMzkzKT9UW3BkKDM0OSldOmZ1bmN0aW9uKCl7fSxUW3BkKDMzMildPXR5cGVvZiBUW3BkKDMzMildPT09cGQoMzkzKT9UW3BkKDMzMildOmZ1bmN0aW9uKFMpe30sbj1iKCksZD17ImludGVydmFsIjpKKG4mJm4uaSksInVwZGF0ZXMiOjB9LFRbcGQoNDQxKV0mJihjPSEhW10sZD1UW3BkKDQ0MSldLGRlbGV0ZSBUW3BkKDQ0MSldLGRbcGQoMzI4KV09ZFtwZCgzMjgpXXx8MCksRD10eXBlb2YgRD09PXBkKDM5Myk/RDpmdW5jdGlvbihTLGEsTHMsTEcsTHEsTFQsTGgsTGEsUDUsaCxZLGssSyxWLG8sVyxlKXtmb3IoTHM9e1M6NDQzLGE6MzExLGg6MzQxLFk6NDU1LGs6NDc1LEs6MjI5LFY6MzY4LG86MzQ0LFc6MzQ4LGU6Mjk2LHAwOjM4OSxwMToyMTcscDI6NDQ2LHAzOjIxNyxwNDo0MDcscDU6Mjg5LHA2OjM4NyxwNzo0NDgscDg6MzEzLHA5OjI1OCxwcDozMzIscFA6MzExLHBTOjQyOSxwTDoyMzAscGE6MjYyLHBoOjQ1MixwWToyOTMscHc6MzUyLHBUOjQ1M30sTEc9e1M6MzIyLGE6NDI3fSxMcT17UzoyNzl9LExUPXtTOjQzNixhOjI2MCxoOjMyMCxZOjMwNSxrOjI5NSxLOjIxMixWOjM0OSxvOjIyNCxXOjI2NSxlOjQ2OSxwMDo0MzZ9LExoPXtTOjM5MH0sTGE9e1M6MjUyfSxQNT1wZCxoPXsibWdUbVoiOlA1KExzLlMpLCJnc2pqZSI6ZnVuY3Rpb24ocDAscDEpe3JldHVybiBwMChwMSl9LCJ3bHNOSCI6UDUoTHMuYSksIlRUb2d2IjpmdW5jdGlvbihwMCxwMSl7cmV0dXJuIHAwPHAxfSwiQW9ScGwiOlA1KExzLmgpLCJrSVpZciI6UDUoTHMuWSksImNta09TIjpmdW5jdGlvbihwMCl7cmV0dXJuIHAwKCl9LCJJU1lYViI6ZnVuY3Rpb24ocDAscDEpe3JldHVybiBwMCtwMX19LFk9aFtQNShMcy5rKV1bUDUoTHMuSyldKGB8YCksaz0wOyEhW107KXtzd2l0Y2goWVtrKytdKXtjYXNlYDBgOks9eyJ6U09uaiI6ZnVuY3Rpb24ocDAscDEsUDYpe3JldHVybiBQNj1QNSxoW1A2KExhLlMpXShwMCxwMSl9LCJ3aG5JUSI6aFtQNShMcy5WKV0sIkdLTHpTIjpmdW5jdGlvbihwMCxwMSxQNyl7cmV0dXJuIFA3PVA1LGhbUDcoTGguUyldKHAwLHAxKX0sInlhZ051IjpmdW5jdGlvbihwMCxwMSl7cmV0dXJuIHAwPnAxfSwialFsYVQiOmZ1bmN0aW9uKHAwLHAxLHAyKXtyZXR1cm4gcDAocDEscDIpfSwia3h6V1YiOmhbUDUoTHMubyldLCJISVpaaSI6UDUoTHMuVyl9O2NvbnRpbnVlO2Nhc2VgMWA6V1tQNShMcy5lKV0oaFtQNShMcy5wMCldLGUpO2NvbnRpbnVlO2Nhc2VgMmA6Vj17InQiOkUoKSwibGhyIjpxW1A1KExzLnAxKV0mJnFbUDUoTHMucDEpXVtQNShMcy5wMildP3FbUDUoTHMucDMpXVtQNShMcy5wMildOmBgLCJhcGkiOm9bUDUoTHMucDQpXT8hIVtdOiFbXSwiYyI6bCgpLCJwYXlsb2FkIjpTfTtjb250aW51ZTtjYXNlYDNgOm89aFtQNShMcy5wNSldKGIpO2NvbnRpbnVlO2Nhc2VgNGA6V1tQNShMcy5wNildKHNbUDUoTHMucDcpXShKU09OW1A1KExzLnA4KV0oVikpKTtjb250aW51ZTtjYXNlYDVgOlc9bmV3IFRbUDUoTHMucDkpXTtjb250aW51ZTtjYXNlYDZgOlRbUDUoTHMucHApXShWKTtjb250aW51ZTtjYXNlYDdgOldbUDUoTHMucFApXT01ZTM7Y29udGludWU7Y2FzZWA4YDpXW1A1KExzLnBTKV09ZnVuY3Rpb24oUDgscDAscDEpe2lmKFA4PVA1LFdbUDgoTFQuUyldPj0yMDAmJktbUDgoTFQuYSldKFdbUDgoTFQuUyldLDMwMCkpe3RyeXtwMT1XW1A4KExULmgpXSxwMSYmS1tQOChMVC5ZKV0ocDFbUDgoTFQuayldLDApJiYocDA9SlNPTltQOChMVC5LKV0ocDEpKX1jYXRjaChwMil7fVRbUDgoTFQuVildKCksS1tQOChMVC5vKV0oYSxLW1A4KExULlcpXSxwMCl9ZWxzZSBhKEtbUDgoTFQuZSldK1dbUDgoTFQucDApXSl9O2NvbnRpbnVlO2Nhc2VgOWA6V1tQNShMcy5wTCldPWZ1bmN0aW9uKFA5KXtQOT1QNSxhKFA5KExxLlMpKX07Y29udGludWU7Y2FzZWAxMGA6ZT1oW1A1KExzLnBhKV0oUDUoTHMucGgpLFRbUDUoTHMucFkpXVtQNShMcy5wdyldKStgL2pzZC9vbmVzaG90L2IwZGE5ZjQ5MTFiYS8wLjA0OTE2MTY3OTUzNDU1MzUyNjoxNzg1MTE3Njk1OllSYlQ4bU5wOFBfZ3BNejBfYS1ISzNDWFhwSE9mNVBod3RFSVpCM0VxSDQvYCtvLnI7Y29udGludWU7Y2FzZWAxMWA6by51dCYmKFZbYHV0YF09by51dCk7Y29udGludWU7Y2FzZWAxMmA6by51JiYoVltgdWBdPW8udSk7Y29udGludWU7Y2FzZWAxM2A6V1tQNShMcy5wVCldPWZ1bmN0aW9uKFBwKXtQcD1QNSxLW1BwKExHLlMpXShhLEtbUHAoTEcuYSldKX07Y29udGludWV9YnJlYWt9fSxqPUMoKSxGKCk7ZnVuY3Rpb24gUihZLGssTGwsUFQsSyxWLG8sVyl7aWYoTGw9e1M6Mzk5LGE6MzQ2LGg6MzQxLFk6MzYyLGs6NDI2LEs6NDM4LFY6NDAzLG86NDA3LFc6MzQ2LGU6MzA3LHAwOjM2MixwMTozODIscDI6NDA4LHAzOjIwOSxwNDo0NjQscDU6MzA3LHA2OjQyNixwNzozODIscDg6NDM4LHA5OjM1NSxwcDoyMDkscFA6NDY0fSxQVD1wZCxLPXt9LEtbUFQoTGwuUyldPWZ1bmN0aW9uKGUscDApe3JldHVybiBlPT09cDB9LEtbUFQoTGwuYSldPVBUKExsLmgpLEtbUFQoTGwuWSldPVBUKExsLmspLEtbUFQoTGwuSyldPVBUKExsLlYpLFY9SywhWVtQVChMbC5vKV0pcmV0dXJuO1ZbUFQoTGwuUyldKGssVltQVChMbC5XKV0pPyhvPXt9LG9bUFQoTGwuZSldPVZbUFQoTGwucDApXSxvW1BUKExsLnAxKV09WS5yLG9bUFQoTGwucDIpXT1QVChMbC5oKSxUW1BUKExsLnAzKV1bUFQoTGwucDQpXShvLGAqYCkpOihXPXt9LFdbUFQoTGwucDUpXT1QVChMbC5wNiksV1tQVChMbC5wNyldPVkucixXW1BUKExsLnAyKV09VltQVChMbC5wOCldLFdbUFQoTGwucDkpXT1rLFRbUFQoTGwucHApXVtQVChMbC5wUCldKFcsYCpgKSl9ZnVuY3Rpb24gYihTVixwVil7cmV0dXJuIFNWPXtTOjQwMixhOjI5MyxoOjI5M30scFY9cGQsVFtwVihTVi5TKV18fFRbcFYoU1YuYSldJiZUW3BWKFNWLmgpXS5wcH1mdW5jdGlvbiBtKFksayxTTixwaSxLLFYsbyl7aWYoU049e1M6MjQ3LGE6Mjg1LGg6NDEyLFk6NDY3LGs6NDczLEs6NDYyLFY6MjA4LG86MjczLFc6NDA2LGU6Mjg1LHAwOjQxMixwMTo0MTAscDI6NDczLHAzOjQwOSxwNDozMTYscDU6Mzk0LHA2OjMxNixwNzoyMjcscDg6MjA4LHA5OjM5MyxwcDo0NjMscFA6MjM3LHBTOjMyMyxwTDozNjQscGE6MzMwfSxwaT1wZCxLPXt9LEtbcGkoU04uUyldPWZ1bmN0aW9uKFcsZSl7cmV0dXJuIGU9PT1XfSxLW3BpKFNOLmEpXT1mdW5jdGlvbihXLGUpe3JldHVybiBXPT09ZX0sS1twaShTTi5oKV09cGkoU04uWSksS1twaShTTi5rKV09ZnVuY3Rpb24oVyxlKXtyZXR1cm4gVyBpbnN0YW5jZW9mIGV9LEtbcGkoU04uSyldPWZ1bmN0aW9uKFcsZSl7cmV0dXJuIFc9PT1lfSxLW3BpKFNOLlYpXT1mdW5jdGlvbihXLGUpe3JldHVybiBlPT1XfSxLW3BpKFNOLm8pXT1waShTTi5XKSxWPUssbnVsbD09aylyZXR1cm4gVltwaShTTi5TKV0oayx2b2lkIDApP2B1YDpgeGA7aWYobz10eXBlb2YgayxWW3BpKFNOLmUpXShvLFZbcGkoU04ucDApXSkpdHJ5e2lmKFlbcGkoU04ucDEpXSYmVltwaShTTi5wMildKGssWVtwaShTTi5wMSldKSlyZXR1cm4ga1twaShTTi5wMyldKGZ1bmN0aW9uKCl7fSksYHBgfWNhdGNoKFcpe31yZXR1cm4gWVtwaShTTi5wNCldW3BpKFNOLnA1KV0oayk/YGFgOms9PT1ZW3BpKFNOLnA2KV0/U3RyaW5nW3BpKFNOLnA3KV0oNjgpOlZbcGkoU04uSyldKGssITApP2BUYDprPT09ITE/YEZgOlZbcGkoU04ucDgpXShvLHBpKFNOLnA5KSk/ayBpbnN0YW5jZW9mIFlbcGkoU04ucHApXSYmWVtwaShTTi5wcCldW3BpKFNOLnBQKV1bcGkoU04ucFMpXVtwaShTTi5wTCldKGspW3BpKFNOLnBhKV0oVltwaShTTi5vKV0pPjA/YE5gOmBmYDpmW29dfHxgP2B9ZnVuY3Rpb24gWChTLFNDLFNPLHBGLGEsaCl7U0M9e1M6MzkzLGE6MzMzLGg6MzI3LFk6NDc2LGs6NDE1fSxTTz17Uzo0NzIsYToyMjUsaDozODQsWToyMzYsazozODZ9LHBGPXBkLGE9eyJsaGFNSSI6ZnVuY3Rpb24oWSxrKXtyZXR1cm4gWShrKX0sIllDdURsIjpmdW5jdGlvbihZLGspe3JldHVybiBrPT09WX0sIlNpYUNIIjpwRihTQy5TKSwiSWxNZVAiOmZ1bmN0aW9uKFkpe3JldHVybiBZKCl9LCJScE1CZiI6ZnVuY3Rpb24oWSxrLEspe3JldHVybiBZKGssSyl9LCJJcmtBVSI6cEYoU0MuYSl9LGFbcEYoU0MuaCldKFUpLGg9eSgpLGFbcEYoU0MuWSldKE8saC5yLGZ1bmN0aW9uKFksayxwUixLKXtwUj1wRixLPWFbcFIoU08uUyldKHosayksS1twUihTTy5hKV0mJlUoKSxhW3BSKFNPLmgpXSh0eXBlb2YgUyxhW3BSKFNPLlkpXSkmJlMoWSksS1twUihTTy5rKV0mJmwoKSYmUSgpfSksaC5lJiZNKGFbcEYoU0MuayldLGguZSl9ZnVuY3Rpb24gTShrLEssTE4sUEwsVixvLFcsZSxwMCxwMSxwMixwMyxwNCxwNSl7aWYoTE49e1M6MzAyLGE6MjUxLGg6NDU1LFk6MjcwLGs6MzI5LEs6NDUyLFY6MjkzLG86MzUyLFc6MjEzLGU6MjU4LHAwOjI5NixwMToyNTEscDI6MzExLHAzOjQ1MyxwNDoyNzEscDU6MjcxLHA2OjM2NixwNzo0NTAscDg6NDUwLHA5OjM4MSxwcDoyOTMscFA6NDIzLHBTOjI2OSxwTDo0MzEscGE6MjI2LHBoOjM3OCxwWTozOTUscHc6Mzg3LHBUOjQ0OCxwcTozMTN9LFBMPXBkLFY9e30sVltQTChMTi5TKV09ZnVuY3Rpb24ocDYscDcpe3JldHVybiBwNitwN30sVltQTChMTi5hKV09UEwoTE4uaCksbz1WLCFJKC4wMDEpKXJldHVybiFbXTtlPShXPXt9LFdbUEwoTE4uWSldPWssV1tQTChMTi5rKV09SyxXKTt0cnl7cDA9YigpLHAxPW9bUEwoTE4uUyldKFBMKExOLkspK1RbUEwoTE4uVildW1BMKExOLm8pXStgL2ViLzAuMDQ5MTYxNjc5NTM0NTUzNTI2OjE3ODUxMTc2OTU6WVJiVDhtTnA4UF9ncE16MF9hLUhLM0NYWHBIT2Y1UGh3dEVJWkIzRXFINC9gLHAwLnIpK1BMKExOLlcpLHAyPW5ldyBUW1BMKExOLmUpXSxwMltQTChMTi5wMCldKG9bUEwoTE4ucDEpXSxwMSkscDJbUEwoTE4ucDIpXT0yNTAwLHAyW1BMKExOLnAzKV09ZnVuY3Rpb24oKXt9LHAzPXt9LHAzW1BMKExOLnA0KV09VFtQTChMTi5WKV1bUEwoTE4ucDUpXSxwM1tQTChMTi5wNildPVRbUEwoTE4uVildW1BMKExOLnA2KV0scDNbUEwoTE4ucDcpXT1UW1BMKExOLlYpXVtQTChMTi5wOCldLHAzW1BMKExOLnA5KV09VFtQTChMTi5wcCldW1BMKExOLnBQKV0scDNbUEwoTE4ucFMpXT1qLHA0PXAzLHA1PXt9LHA1W1BMKExOLnBMKV09ZSxwNVtQTChMTi5wYSldPXA0LHA1W1BMKExOLnBoKV09UEwoTE4ucFkpLHAyW1BMKExOLnB3KV0oc1tQTChMTi5wVCldKEpTT05bUEwoTE4ucHEpXShwNSkpKX1jYXRjaChwNil7fX1mdW5jdGlvbiBBKEwwLHBXLGEsaCxZLGssSyl7Zm9yKEwwPXtTOjIyMCxhOjQzNCxoOjI0NCxZOjIyMCxrOjI5NSxLOjI0MCxWOjM4MCxvOjI0MH0scFc9cGQsYT17fSxhW3BXKEwwLlMpXT1wVyhMMC5hKSxoPWEsWT1xW3BXKEwwLmgpXShoW3BXKEwwLlkpXSksaz0vXC9jZG4tY2dpXC9jaGFsbGVuZ2UtcGxhdGZvcm1cLyg/OmhcL1teL10rXC8pP3NjcmlwdHNcLyg/OmpzZHxwcmVjdXJzb3IpKD86XC9bXi9dKyk/XC9tYWluXC5qcy8sSz0wO0s8WVtwVyhMMC5rKV07SysrKWlmKFlbS11bcFcoTDAuSyldJiZrW3BXKEwwLlYpXShZW0tdW3BXKEwwLm8pXSkpcmV0dXJuIFlbS107cmV0dXJuIG51bGx9ZnVuY3Rpb24gaShMOSxQNCxTLGEsaCl7cmV0dXJuIEw5PXtTOjQxNCxhOjQxM30sUDQ9cGQsUz0zNjAwLGE9RSgpLGg9TWF0aFtQNChMOS5TKV0oRGF0ZVtQNChMOS5hKV0oKS8xZTMpLGgtYT5TPyFbXTohIVtdfWZ1bmN0aW9uIEUoTDgsUDMsUyxhKXtyZXR1cm4gTDg9e1M6NDE0LGE6NDU3fSxQMz1wZCxTPXsiQ3d6RXoiOmZ1bmN0aW9uKGgsWSl7cmV0dXJuIGgoWSl9fSxhPWIoKSxNYXRoW1AzKEw4LlMpXSgrU1tQMyhMOC5hKV0oYXRvYixhLnQpKX1mdW5jdGlvbiBKKGEsU0YscGssaCxZKXtyZXR1cm4gU0Y9e1M6MjkwLGE6MzI0LGg6Mzg4LFk6MjE2LGs6MjE2fSxwaz1wZCxoPXt9LGhbcGsoU0YuUyldPWZ1bmN0aW9uKGssSyl7cmV0dXJuIGs9PT1LfSxoW3BrKFNGLmEpXT1wayhTRi5oKSxoW3BrKFNGLlkpXT1mdW5jdGlvbihrLEspe3JldHVybiBrPj1LfSxZPWgsWVtwayhTRi5TKV0odHlwZW9mIGEsWVtwayhTRi5hKV0pJiZZW3BrKFNGLmspXShhLGcpP2E6MH1mdW5jdGlvbiBDKExtLFBTKXtyZXR1cm4gTG09e1M6Mzk4fSxQUz1wZCxjcnlwdG8mJmNyeXB0b1tQUyhMbS5TKV0/Y3J5cHRvW1BTKExtLlMpXSgpOmBgfWZ1bmN0aW9uIEkoUyxMNixQMil7cmV0dXJuIEw2PXtTOjIxMX0sUDI9cGQsTWF0aFtQMihMNi5TKV0oKTxTfWZ1bmN0aW9uIEYoTEosTFgsTGQsTEgsUGEsUyxhLGgsWSxrLEssVixvKXtmb3IoTEo9e1M6NDU4LGE6MjgxLGg6MjI5LFk6NDAyLGs6MzA2LEs6MjIyLFY6NDU2LG86NDU2LFc6MjM0LGU6MjU2fSxMWD17UzozMDYsYToyMjIsaDoyNTZ9LExkPXtTOjM3OX0sTEg9e1M6MzM0fSxQYT1wZCxTPXsiSHRTaXEiOlBhKExKLlMpLCJtd1FyaiI6ZnVuY3Rpb24oVyxlKXtyZXR1cm4gVyhlKX19LGE9U1tQYShMSi5hKV1bUGEoTEouaCldKGB8YCksaD0wOyEhW107KXtzd2l0Y2goYVtoKytdKXtjYXNlYDBgOlk9IVtdO2NvbnRpbnVlO2Nhc2VgMWA6aWYoIUspcmV0dXJuO2NvbnRpbnVlO2Nhc2VgMmA6az1mdW5jdGlvbihQaCl7aWYoUGg9UGEsIVkpe2lmKFk9ISFbXSwhaSgpKXJldHVybjtjP1UoKTpWW1BoKExILlMpXShYLGZ1bmN0aW9uKFcpe1IoSyxXKX0pfX07Y29udGludWU7Y2FzZWAzYDppZighaSgpKXJldHVybjtjb250aW51ZTtjYXNlYDRgOks9VFtQYShMSi5ZKV07Y29udGludWU7Y2FzZWA1YDpWPXsiS2RkV2kiOmZ1bmN0aW9uKFcsZSxQWSl7cmV0dXJuIFBZPVBhLFNbUFkoTGQuUyldKFcsZSl9fTtjb250aW51ZTtjYXNlYDZgOnFbUGEoTEouayldIT09UGEoTEouSyk/aygpOlRbUGEoTEouVildP3FbUGEoTEoubyldKFBhKExKLlcpLGspOihvPXFbUGEoTEouZSldfHxmdW5jdGlvbigpe30scVtQYShMSi5lKV09ZnVuY3Rpb24oUHcpe1B3PVBhLG8oKSxxW1B3KExYLlMpXSE9PVB3KExYLmEpJiYocVtQdyhMWC5oKV09byxrKCkpfSk7Y29udGludWV9YnJlYWt9fWZ1bmN0aW9uIHooYSxTZSxwbyxoLFksayxLLFYsbyl7Zm9yKFNlPXtTOjM5NyxhOjM0NSxoOjIyOSxZOjQwNCxrOjI1MyxLOjM1MSxWOjM1MSxvOjIyNSxXOjM4NixlOjQ2N30scG89cGQsaD17InlKRkJUIjpwbyhTZS5TKSwidnlybkMiOmZ1bmN0aW9uKFcpe3JldHVybiBXKCl9LCJoV0tBTCI6ZnVuY3Rpb24oVyxlKXtyZXR1cm4gVyhlKX19LFk9aFtwbyhTZS5hKV1bcG8oU2UuaCldKGB8YCksaz0wOyEhW107KXtzd2l0Y2goWVtrKytdKXtjYXNlYDBgOmlmKCFoW3BvKFNlLlkpXShsKSlyZXR1cm4gbztjb250aW51ZTtjYXNlYDFgOmEuaSE9PXVuZGVmaW5lZCYmKEs9aFtwbyhTZS5rKV0oSixhLmkpLEshPT1kW3BvKFNlLkspXSYmKGRbcG8oU2UuVildPUssb1twbyhTZS5vKV09ISFbXSkpO2NvbnRpbnVlO2Nhc2VgMmA6cmV0dXJuIG87Y2FzZWAzYDpvPShWPXt9LFZbcG8oU2UubyldPSFbXSxWW3BvKFNlLlcpXT0hW10sVik7Y29udGludWU7Y2FzZWA0YDohIVtdPT09YS51JiYob1twbyhTZS5XKV09ISFbXSk7Y29udGludWU7Y2FzZWA1YDppZighYXx8dHlwZW9mIGEhPT1wbyhTZS5lKSlyZXR1cm4gbztjb250aW51ZX1icmVha319ZnVuY3Rpb24gbChTSyxwSyxTLGEpe3JldHVybiBTSz17UzoyNTcsYTo0MDcsaDoyOTIsWTozNTF9LHBLPXBkLFM9eyJXRkhvbSI6ZnVuY3Rpb24oaCl7cmV0dXJuIGgoKX0sIlpNRUFiIjpmdW5jdGlvbihoLFkpe3JldHVybiBoPll9fSxhPVNbcEsoU0suUyldKGIpLGEmJmFbcEsoU0suYSldPyFbXTpTW3BLKFNLLmgpXShkW3BLKFNLLlkpXSwwKX1mdW5jdGlvbiBQKFMsTCxhLGgpe3JldHVybiBTPVMtMjA4LGE9cCgpLGg9YVtTXSxofWZ1bmN0aW9uIHgoUyxTeSxwdSxoKXtmb3IoU3k9e1M6MzY1LGE6MzY3LGg6NDQyfSxwdT1wZCxoPVtdO251bGwhPT1TO2g9aFtwdShTeS5TKV0oT2JqZWN0W3B1KFN5LmEpXShTKSksUz1PYmplY3RbcHUoU3kuaCldKFMpKTtyZXR1cm4gaH1mdW5jdGlvbiBRKEwyLHBlLFMsYSxoLFksayl7aWYoTDI9e1M6MzE0LGE6NDM0LGg6Mzg1LFk6MjQ2LGs6MzI4LEs6NDQxLFY6MzAzLG86MjQwLFc6MjU1LGU6Mjc1LHAwOjI1NSxwMTozMzgscDI6MjQ2LHAzOjQxMyxwNDozMDEscDU6MjQyLHA2OjQ0OSxwNzozMDMscDg6MjQwLHA5OjMyMyxwcDozODUscFA6MjIzfSxwZT1wZCxTPXsiemtlbnAiOmZ1bmN0aW9uKEssVil7cmV0dXJuIEsoVil9LCJ4ZHNyZyI6cGUoTDIuUyksImxLc2VBIjpwZShMMi5hKX0sYT1BKCksIWF8fCFhW3BlKEwyLmgpXSlyZXR1cm47U1twZShMMi5ZKV0oY2xlYXJUaW1lb3V0LEgpLGRbcGUoTDIuayldKyssVFtwZShMMi5LKV09ZCxoPWFbcGUoTDIuVildLFk9bmV3IFVSTChhW3BlKEwyLm8pXSksWVtwZShMMi5XKV1bcGUoTDIuZSldKGB1YCxTdHJpbmcoZFtwZShMMi5rKV0pKSxZW3BlKEwyLnAwKV1bcGUoTDIuZSldKFNbcGUoTDIucDEpXSxTW3BlKEwyLnAyKV0oU3RyaW5nLERhdGVbcGUoTDIucDMpXSgpKSksaz1xW3BlKEwyLnA0KV0oU1twZShMMi5wNSldKSxrW3BlKEwyLnA2KV09ISFbXSxoJiYoa1twZShMMi5wNyldPWgpLGtbcGUoTDIucDgpXT1ZW3BlKEwyLnA5KV0oKSxhW3BlKEwyLnBwKV1bcGUoTDIucFApXShrLGEpfWZ1bmN0aW9uIFUoTDUsTDQsUDEsUyl7aWYoTDU9e1M6MzUxfSxMND17Uzo0NDV9LFAxPXBkLFM9eyJMTUJsWCI6ZnVuY3Rpb24oYSl7cmV0dXJuIGEoKX19LGNsZWFyVGltZW91dChIKSwhbCgpKXJldHVybjtIPXNldFRpbWVvdXQoZnVuY3Rpb24oUDApe1AwPVAsU1tQMChMNC5TKV0oWCl9LGRbUDEoTDUuUyldKjFlMyl9ZnVuY3Rpb24gTyhTLGEsTGYsUFAsaCl7TGY9e1M6MjY4fSxQUD1wZCxoPXsidkpUc2kiOmZ1bmN0aW9uKFksayxLKXtyZXR1cm4gWShrLEspfX0saFtQUChMZi5TKV0oRCxTLGEpfWZ1bmN0aW9uIHkoU3QscE0saCxZLGssSyxWLG8pe2g9KFN0PXtTOjMwMSxhOjMxNyxoOjQ0NyxZOjQzNSxrOjQ3MSxLOjQxNixWOjQ0MCxvOjQyOCxXOjMxOSxlOjM3NCxwMDozNTkscDE6MjE4LHAyOjQyMCxwMzo0MTYscDQ6MzcyfSxwTT1wZCx7IlpacGVNIjpmdW5jdGlvbihXLHAwLHAxLHAyLHAzKXtyZXR1cm4gVyhwMCxwMSxwMixwMyl9LCJiSkRkcyI6ZnVuY3Rpb24oVyxwMCxwMSxwMixwMyl7cmV0dXJuIFcocDAscDEscDIscDMpfX0pO3RyeXtyZXR1cm4gWT1xW3BNKFN0LlMpXShwTShTdC5hKSksWVtwTShTdC5oKV09cE0oU3QuWSksWVtwTShTdC5rKV09YC0xYCxxW3BNKFN0LkspXVtwTShTdC5WKV0oWSksaz1ZW3BNKFN0Lm8pXSxLPXt9LEs9aFtwTShTdC5XKV0odWRtYzIsayxrLGBgLEspLEs9dWRtYzIoayxrW3BNKFN0LmUpXXx8a1twTShTdC5wMCldLGBuLmAsSyksSz1oW3BNKFN0LnAxKV0odWRtYzIsayxZW3BNKFN0LnAyKV0sYGQuYCxLKSxxW3BNKFN0LnAzKV1bcE0oU3QucDQpXShZKSxWPXt9LFZbYHJgXT1LLFZbYGVgXT1udWxsLFZ9Y2F0Y2goVyl7cmV0dXJuIG89e30sb1tgcmBdPXt9LG9bYGVgXT1XLG99fWZ1bmN0aW9uIHAoTGIpe3JldHVybiBMYj1gWU5yUDI7a2V5czt3bHNOSDtucGRhRjtXeUVTZjtTZXQ7cmVtb3ZlQ2hpbGQ7WlZoTVM7Y2xpZW50SW5mb3JtYXRpb247bVNFU2k7UHB2YnQ7SHdYTWM3O2J4cXpJMTttd1Fyajt0ZXN0O29Cbk0xO3NpZDtYTGJxVTtZQ3VEbDtwYXJlbnROb2RlO3Nob3VsZFVwZGF0ZTtzZW5kO251bWJlcjtrSVpZcjtUVG9ndjtXc3RSWTA7YnF6d1I4O2Z1bmN0aW9uO2lzQXJyYXk7anNkO2xFRUhDOzN8MHw1fDR8MXwyO3JhbmRvbVVVSUQ7dHFaQXo7aXZZc1I7aW11bDtfX0NGJGN2JHBhcmFtcztlcnJvcjt2eXJuQztoYXNPd25Qcm9wZXJ0eTtbbmF0aXZlIGNvZGVdO2FwaTtldmVudDtjYXRjaDtQcm9taXNlOzI3bnNoYWtjO3p3ZGpOO25vdztmbG9vcjtJcmtBVTtib2R5O3lwQndBO0d6Tm1MO01CaHNOMjtjb250ZW50RG9jdW1lbnQ7YkZPcUU7RUNzVFYyO05YU1dMMDtqV1BzYTt5ZkZTOTtjbG91ZGZsYXJlLWludmlzaWJsZTt3aG5JUTtjb250ZW50V2luZG93O29ubG9hZDtoUnJPWTtET21KZzc7VHJ1TlI7YmlnaW50O3NjcmlwdDtkaXNwbGF5OiBub25lO3N0YXR1czsxNjJ4ZE95ZVg7Z2hsZWQ7VUZka207YXBwZW5kQ2hpbGQ7X2NmX2NobF9zdGF0ZTtnZXRQcm90b3R5cGVPZjswfDN8MTB8NXwxfDd8MTN8OHw5fDJ8MTJ8MTF8Nnw0O2NXbVFoNjtMTUJsWDtocmVmO3N0eWxlO0tOUGJLOTthc3luYztJU0FZajI7Y2hhckNvZGVBdDsvY2RuLWNnaS9jaGFsbGVuZ2UtcGxhdGZvcm0vaC87b250aW1lb3V0O3lyZmdCO1BPU1Q7YWRkRXZlbnRMaXN0ZW5lcjtDd3pFejs1fDR8MXwzfDB8Mnw2O1pxYk5KO1lhV1psO0FRYXJuO0ZZbWhtO0Z1bmN0aW9uO3Bvc3RNZXNzYWdlO3p4VkpVO3NvcnQ7b2JqZWN0O3pUZE5MNTtISVpaaTtITU9nWDt0YWJJbmRleDtsaGFNSTtnRlphajtXQmVCTTttZ1RtWjtScE1CZjtPeXdIbDU7cklnbkM7ck5OUno7cGFyZW50O3pzSW5OO3JhbmRvbTtwYXJzZTsvanNkO2luY2x1ZGVzOzMxMDU2c0pyV0doO3VXa2tXO2xvY2F0aW9uO2JKRGRzO2hvSU9PO21NeGVLO2pvaW47bG9hZGluZztyZXBsYWNlQ2hpbGQ7alFsYVQ7aW50ZXJ2YWxVcGRhdGVkO3ZtRHhiMDtmcm9tQ2hhckNvZGU7aVZubW47c3BsaXQ7b25lcnJvcjsxMTQzMXhHU0JqbztCVk1sRTsxNmtTQ3lkZTtET01Db250ZW50TG9hZGVkOzh8MnwzfDl8NXwwfDZ8N3w0fDE7U2lhQ0g7cHJvdG90eXBlO0pDeW93O1BpSXBVO3NyYztmcm9tO2xLc2VBO09BTk9xO2dldEVsZW1lbnRzQnlUYWdOYW1lO2QuY29va2llO3prZW5wO3hxS1ZUOzJ8NHw1fDF8M3wwOzEzNjM3NlFVZWJpYzt1bmRlZmluZWQ7YW1MRVo7Z3NqamU7aFdLQUw7RGdsVnU2O3NlYXJjaFBhcmFtcztvbnJlYWR5c3RhdGVjaGFuZ2U7V0ZIb207WE1MSHR0cFJlcXVlc3Q7c3RyaW5nO0dLTHpTO2pSTWwwO0lTWVhWO0dYc1VNO09OUndOO2t4eldWO3drTmpPOTtReWxLVjt2SlRzaTtuTGpWNDtJdmJmNjtSdG5ROTtzcGxpY2U7b0JCVVo7V1FSYk87c2V0O3BnTlpNO0dyUXVwOzIxNG14dW9GdDt4aHItZXJyb3I7ZXVPcUI7SHRTaXE7YVZQU0o7eVNncWs7Wkx1VHc7U0RPdlI7ek5IUHc7aEV3Rkg7YWhyemI7Y21rT1M7bllWeUM7T2JqZWN0O1pNRUFiO19jZl9jaGxfb3B0O2ZSSXVkO2xlbmd0aDtvcGVuOzgwNTkwblRPbmZJO3B1c2g7ekp2SWI7V1F0T3k7Y3JlYXRlRWxlbWVudDtNbkVFQTtub25jZTtQdHdpRDt5YWdOdTtyZWFkeVN0YXRlO3NvdXJjZTt2d1BVNDtUbW5IZjtERkVZZzt0aW1lb3V0O3BSbEo5O3N0cmluZ2lmeTtfY2I7aWVDeko7QXJyYXk7aWZyYW1lO3NqamRNO1pacGVNO3Jlc3BvbnNlVGV4dDtkb2N1bWVudDt6U09uajt0b1N0cmluZztIVmtXYjtnZXRPd25Qcm9wZXJ0eU5hbWVzOzV8NHwzfDB8MnwxO0lsTWVQO3VwZGF0ZXM7Zm9LUHo5O2luZGV4T2Y7MzMyNTcxNmV1SEZacDtYUHhyODtlcnJvciBvbiBjZl9jaGxfcHJvcHM7S2RkV2k7a3ViY3A7QVdvUDA7RmpiQk87eGRzcmc7NDR0b2FsaFg7dlVZV2cwO3N1Y2Nlc3M7UXFEbGk7MjMxNjIwWUdrSWZSO0FvUnBsO3lKRkJUO0ZHYUhRO2NoYXJBdDtodHRwLWNvZGU6O2x0a1V5NDtnaGpIejg7aW50ZXJ2YWw7YmxFdzY7MjU1aXZTdGt2O3N5bWJvbDtkZXRhaWw7dWRtYzI7clhYR3Y7WUpxekM7bmF2aWdhdG9yO25nSmFsO2JpbmQ7UHlqRVM7SEtWRnUzO2NhbGw7Y29uY2F0YC5zcGxpdChgO2ApLHA9ZnVuY3Rpb24oKXtyZXR1cm4gTGJ9LHAoKX19KCk7"}},"time_used":7,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":7,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/32387.47ace83c61a884341cd6.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.597Z","timestamp":1785120634597,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/32387.47ace83c61a884341cd6.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b73-205c8\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:23 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: fe97ed9ccbf0c15ab49d1ce55e819960\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":132552,"size_decoded":45612,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"6ca36e244c390f41edaabac69e09f117","sha1":"8cfcf1d847ab9d43572b0f37ce475fca4bba1dbd","sha256":"fb8f00815532561e6403dfa828baaf51b380bfdf9f9c92754695c2cfe989db60","sha512":"9d1bd8f2293d36779a4c8cc18dd6650a7b35228b865226f0071eb07da8a810a5bc9aebd1cd29957a9fdd12cab5df40ab9fbbd7d68ac374e023c356b4178e4e3d","ssdeep":"1536:pvqY4wv/eXX5nEIk5JGA1SpxhDGougC6dZJUz3wA3ovSuHpL+:pyIscb61Uz3wGZML+","tlshash":"6bd3f7e83996f6526ab7126700ef1807733c1a1b280c4960a615fd8e75b842fb17bfdd","first_seen":"2026-05-05T10:36:04.869805Z","last_seen":"2026-07-27T05:19:37.132998Z","times_seen":2137,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMzIzODddLHs1MzIzODcoZSxuLHQpe3ZhciByPXQoNzc5NDc0KSxsPXQoMTgyNjE0KTtmdW5jdGlvbiBhKGUpe2Zvcih2YXIgbj0iaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL2Vycm9yLWRlY29kZXIuaHRtbD9pbnZhcmlhbnQ9IitlLHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKW4rPSImYXJnc1tdPSIrZW5jb2RlVVJJQ29tcG9uZW50KGFyZ3VtZW50c1t0XSk7cmV0dXJuIk1pbmlmaWVkIFJlYWN0IGVycm9yICMiK2UrIjsgdmlzaXQgIituKyIgZm9yIHRoZSBmdWxsIG1lc3NhZ2Ugb3IgdXNlIHRoZSBub24tbWluaWZpZWQgZGV2IGVudmlyb25tZW50IGZvciBmdWxsIGVycm9ycyBhbmQgYWRkaXRpb25hbCBoZWxwZnVsIHdhcm5pbmdzLiJ9dmFyIHU9bmV3IFNldCxvPXt9O2Z1bmN0aW9uIGkoZSxuKXtzKGUsbikscyhlKyJDYXB0dXJlIixuKX1mdW5jdGlvbiBzKGUsbil7Zm9yKG9bZV09bixlPTA7ZTxuLmxlbmd0aDtlKyspdS5hZGQobltlXSl9dmFyIGM9ISgidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvd3x8dm9pZCAwPT09d2luZG93LmRvY3VtZW50fHx2b2lkIDA9PT13aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCksZj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LGQ9L15bOkEtWl9hLXpcdTAwQzAtXHUwMEQ2XHUwMEQ4LVx1MDBGNlx1MDBGOC1cdTAyRkZcdTAzNzAtXHUwMzdEXHUwMzdGLVx1MUZGRlx1MjAwQy1cdTIwMERcdTIwNzAtXHUyMThGXHUyQzAwLVx1MkZFRlx1MzAwMS1cdUQ3RkZcdUY5MDAtXHVGRENGXHVGREYwLVx1RkZGRF1bOkEtWl9hLXpcdTAwQzAtXHUwMEQ2XHUwMEQ4LVx1MDBGNlx1MDBGOC1cdTAyRkZcdTAzNzAtXHUwMzdEXHUwMzdGLVx1MUZGRlx1MjAwQy1cdTIwMERcdTIwNzAtXHUyMThGXHUyQzAwLVx1MkZFRlx1MzAwMS1cdUQ3RkZcdUY5MDAtXHVGRENGXHVGREYwLVx1RkZGRFwtLjAtOVx1MDBCN1x1MDMwMC1cdTAzNkZcdTIwM0YtXHUyMDQwXSokLyxwPXt9LG09e307ZnVuY3Rpb24gaChlLG4sdCxyLGwsYSx1KXt0aGlzLmFjY2VwdHNCb29sZWFucz0yPT09bnx8Mz09PW58fDQ9PT1uLHRoaXMuYXR0cmlidXRlTmFtZT1yLHRoaXMuYXR0cmlidXRlTmFtZXNwYWNlPWwsdGhpcy5tdXN0VXNlUHJvcGVydHk9dCx0aGlzLnByb3BlcnR5TmFtZT1lLHRoaXMudHlwZT1uLHRoaXMuc2FuaXRpemVVUkw9YSx0aGlzLnJlbW92ZUVtcHR5U3RyaW5nPXV9dmFyIGc9e307ImNoaWxkcmVuIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIGRlZmF1bHRWYWx1ZSBkZWZhdWx0Q2hlY2tlZCBpbm5lckhUTUwgc3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nIHN1cHByZXNzSHlkcmF0aW9uV2FybmluZyBzdHlsZSIuc3BsaXQoIiAiKS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsMCwhMSxlLG51bGwsITEsITEpfSkpLFtbImFjY2VwdENoYXJzZXQiLCJhY2NlcHQtY2hhcnNldCJdLFsiY2xhc3NOYW1lIiwiY2xhc3MiXSxbImh0bWxGb3IiLCJmb3IiXSxbImh0dHBFcXVpdiIsImh0dHAtZXF1aXYiXV0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIG49ZVswXTtnW25dPW5ldyBoKG4sMSwhMSxlWzFdLG51bGwsITEsITEpfSkpLFsiY29udGVudEVkaXRhYmxlIiwiZHJhZ2dhYmxlIiwic3BlbGxDaGVjayIsInZhbHVlIl0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7Z1tlXT1uZXcgaChlLDIsITEsZS50b0xvd2VyQ2FzZSgpLG51bGwsITEsITEpfSkpLFsiYXV0b1JldmVyc2UiLCJleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIiwiZm9jdXNhYmxlIiwicHJlc2VydmVBbHBoYSJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSwyLCExLGUsbnVsbCwhMSwhMSl9KSksImFsbG93RnVsbFNjcmVlbiBhc3luYyBhdXRvRm9jdXMgYXV0b1BsYXkgY29udHJvbHMgZGVmYXVsdCBkZWZlciBkaXNhYmxlZCBkaXNhYmxlUGljdHVyZUluUGljdHVyZSBkaXNhYmxlUmVtb3RlUGxheWJhY2sgZm9ybU5vVmFsaWRhdGUgaGlkZGVuIGxvb3Agbm9Nb2R1bGUgbm9WYWxpZGF0ZSBvcGVuIHBsYXlzSW5saW5lIHJlYWRPbmx5IHJlcXVpcmVkIHJldmVyc2VkIHNjb3BlZCBzZWFtbGVzcyBpdGVtU2NvcGUiLnNwbGl0KCIgIikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7Z1tlXT1uZXcgaChlLDMsITEsZS50b0xvd2VyQ2FzZSgpLG51bGwsITEsITEpfSkpLFsiY2hlY2tlZCIsIm11bHRpcGxlIiwibXV0ZWQiLCJzZWxlY3RlZCJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSwzLCEwLGUsbnVsbCwhMSwhMSl9KSksWyJjYXB0dXJlIiwiZG93bmxvYWQiXS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsNCwhMSxlLG51bGwsITEsITEpfSkpLFsiY29scyIsInJvd3MiLCJzaXplIiwic3BhbiJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSw2LCExLGUsbnVsbCwhMSwhMSl9KSksWyJyb3dTcGFuIiwic3RhcnQiXS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsNSwhMSxlLnRvTG93ZXJDYXNlKCksbnVsbCwhMSwhMSl9KSk7dmFyIHY9L1tcLTpdKFthLXpdKS9nO2Z1bmN0aW9uIHkoZSl7cmV0dXJuIGVbMV0udG9VcHBlckNhc2UoKX1mdW5jdGlvbiBiKGUsbix0LHIpe3ZhciBsPWcuaGFzT3duUHJvcGVydHkobik/Z1tuXTpudWxsOyhudWxsIT09bD8wIT09bC50eXBlOnJ8fCEoMjxuLmxlbmd0aCl8fCJvIiE9PW5bMF0mJiJPIiE9PW5bMF18fCJuIiE9PW5bMV0mJiJOIiE9PW5bMV0pJiYoZnVuY3Rpb24oZSxuLHQscil7aWYobnVsbD09bnx8ZnVuY3Rpb24oZSxuLHQscil7aWYobnVsbCE9PXQmJjA9PT10LnR5cGUpcmV0dXJuITE7c3dpdGNoKHR5cGVvZiBuKXtjYXNlImZ1bmN0aW9uIjpjYXNlInN5bWJvbCI6cmV0dXJuITA7Y2FzZSJib29sZWFuIjpyZXR1cm4hciYmKG51bGwhPT10PyF0LmFjY2VwdHNCb29sZWFuczoiZGF0YS0iIT09KGU9ZS50b0xvd2VyQ2FzZSgpLnNsaWNlKDAsNSkpJiYiYXJpYS0iIT09ZSk7ZGVmYXVsdDpyZXR1cm4hMX19KGUsbix0LHIpKXJldHVybiEwCjtpZihyKXJldHVybiExO2lmKG51bGwhPT10KXN3aXRjaCh0LnR5cGUpe2Nhc2UgMzpyZXR1cm4hbjtjYXNlIDQ6cmV0dXJuITE9PT1uO2Nhc2UgNTpyZXR1cm4gaXNOYU4obik7Y2FzZSA2OnJldHVybiBpc05hTihuKXx8MT5ufXJldHVybiExfShuLHQsbCxyKSYmKHQ9bnVsbCkscnx8bnVsbD09PWw/ZnVuY3Rpb24oZSl7cmV0dXJuISFmLmNhbGwobSxlKXx8IWYuY2FsbChwLGUpJiYoZC50ZXN0KGUpP21bZV09ITA6KHBbZV09ITAsITEpKX0obikmJihudWxsPT09dD9lLnJlbW92ZUF0dHJpYnV0ZShuKTplLnNldEF0dHJpYnV0ZShuLCIiK3QpKTpsLm11c3RVc2VQcm9wZXJ0eT9lW2wucHJvcGVydHlOYW1lXT1udWxsPT09dD8zIT09bC50eXBlJiYiIjp0OihuPWwuYXR0cmlidXRlTmFtZSxyPWwuYXR0cmlidXRlTmFtZXNwYWNlLG51bGw9PT10P2UucmVtb3ZlQXR0cmlidXRlKG4pOih0PTM9PT0obD1sLnR5cGUpfHw0PT09bCYmITA9PT10PyIiOiIiK3Qscj9lLnNldEF0dHJpYnV0ZU5TKHIsbix0KTplLnNldEF0dHJpYnV0ZShuLHQpKSkpfSJhY2NlbnQtaGVpZ2h0IGFsaWdubWVudC1iYXNlbGluZSBhcmFiaWMtZm9ybSBiYXNlbGluZS1zaGlmdCBjYXAtaGVpZ2h0IGNsaXAtcGF0aCBjbGlwLXJ1bGUgY29sb3ItaW50ZXJwb2xhdGlvbiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnMgY29sb3ItcHJvZmlsZSBjb2xvci1yZW5kZXJpbmcgZG9taW5hbnQtYmFzZWxpbmUgZW5hYmxlLWJhY2tncm91bmQgZmlsbC1vcGFjaXR5IGZpbGwtcnVsZSBmbG9vZC1jb2xvciBmbG9vZC1vcGFjaXR5IGZvbnQtZmFtaWx5IGZvbnQtc2l6ZSBmb250LXNpemUtYWRqdXN0IGZvbnQtc3RyZXRjaCBmb250LXN0eWxlIGZvbnQtdmFyaWFudCBmb250LXdlaWdodCBnbHlwaC1uYW1lIGdseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWwgZ2x5cGgtb3JpZW50YXRpb24tdmVydGljYWwgaG9yaXotYWR2LXggaG9yaXotb3JpZ2luLXggaW1hZ2UtcmVuZGVyaW5nIGxldHRlci1zcGFjaW5nIGxpZ2h0aW5nLWNvbG9yIG1hcmtlci1lbmQgbWFya2VyLW1pZCBtYXJrZXItc3RhcnQgb3ZlcmxpbmUtcG9zaXRpb24gb3ZlcmxpbmUtdGhpY2tuZXNzIHBhaW50LW9yZGVyIHBhbm9zZS0xIHBvaW50ZXItZXZlbnRzIHJlbmRlcmluZy1pbnRlbnQgc2hhcGUtcmVuZGVyaW5nIHN0b3AtY29sb3Igc3RvcC1vcGFjaXR5IHN0cmlrZXRocm91Z2gtcG9zaXRpb24gc3RyaWtldGhyb3VnaC10aGlja25lc3Mgc3Ryb2tlLWRhc2hhcnJheSBzdHJva2UtZGFzaG9mZnNldCBzdHJva2UtbGluZWNhcCBzdHJva2UtbGluZWpvaW4gc3Ryb2tlLW1pdGVybGltaXQgc3Ryb2tlLW9wYWNpdHkgc3Ryb2tlLXdpZHRoIHRleHQtYW5jaG9yIHRleHQtZGVjb3JhdGlvbiB0ZXh0LXJlbmRlcmluZyB1bmRlcmxpbmUtcG9zaXRpb24gdW5kZXJsaW5lLXRoaWNrbmVzcyB1bmljb2RlLWJpZGkgdW5pY29kZS1yYW5nZSB1bml0cy1wZXItZW0gdi1hbHBoYWJldGljIHYtaGFuZ2luZyB2LWlkZW9ncmFwaGljIHYtbWF0aGVtYXRpY2FsIHZlY3Rvci1lZmZlY3QgdmVydC1hZHYteSB2ZXJ0LW9yaWdpbi14IHZlcnQtb3JpZ2luLXkgd29yZC1zcGFjaW5nIHdyaXRpbmctbW9kZSB4bWxuczp4bGluayB4LWhlaWdodCIuc3BsaXQoIiAiKS5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgbj1lLnJlcGxhY2Uodix5KTtnW25dPW5ldyBoKG4sMSwhMSxlLG51bGwsITEsITEpfSkpLCJ4bGluazphY3R1YXRlIHhsaW5rOmFyY3JvbGUgeGxpbms6cm9sZSB4bGluazpzaG93IHhsaW5rOnRpdGxlIHhsaW5rOnR5cGUiLnNwbGl0KCIgIikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIG49ZS5yZXBsYWNlKHYseSk7Z1tuXT1uZXcgaChuLDEsITEsZSwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsITEsITEpfSkpLFsieG1sOmJhc2UiLCJ4bWw6bGFuZyIsInhtbDpzcGFjZSJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe3ZhciBuPWUucmVwbGFjZSh2LHkpO2dbbl09bmV3IGgobiwxLCExLGUsImh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIsITEsITEpfSkpLFsidGFiSW5kZXgiLCJjcm9zc09yaWdpbiJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSwxLCExLGUudG9Mb3dlckNhc2UoKSxudWxsLCExLCExKX0pKSxnLnhsaW5rSHJlZj1uZXcgaCgieGxpbmtIcmVmIiwxLCExLCJ4bGluazpocmVmIiwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsITAsITEpLFsic3JjIiwiaHJlZiIsImFjdGlvbiIsImZvcm1BY3Rpb24iXS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsMSwhMSxlLnRvTG93ZXJDYXNlKCksbnVsbCwhMCwhMCl9KSk7dmFyIGs9ci5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRCx3PVN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKSxTPVN5bWJvbC5mb3IoInJlYWN0LnBvcnRhbCIpLHg9U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSxFPVN5bWJvbC5mb3IoInJlYWN0LnN0cmljdF9tb2RlIiksQz1TeW1ib2wuZm9yKCJyZWFjdC5wcm9maWxlciIpLHo9U3ltYm9sLmZvcigicmVhY3QucHJvdmlkZXIiKSxOPVN5bWJvbC5mb3IoInJlYWN0LmNvbnRleHQiKSxfPVN5bWJvbC5mb3IoInJlYWN0LmZvcndhcmRfcmVmIiksUD1TeW1ib2wuZm9yKCJyZWFjdC5zdXNwZW5zZSIpLFQ9U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2VfbGlzdCIpLEw9U3ltYm9sLmZvcigicmVhY3QubWVtbyIpLE09U3ltYm9sLmZvcigicmVhY3QubGF6eSIpO1N5bWJvbC5mb3IoInJlYWN0LnNjb3BlIiksU3ltYm9sLmZvcigicmVhY3QuZGVidWdfdHJhY2VfbW9kZSIpO3ZhciBGPVN5bWJvbC5mb3IoInJlYWN0Lm9mZnNjcmVlbiIpO1N5bWJvbC5mb3IoInJlYWN0LmxlZ2FjeV9oaWRkZW4iKSxTeW1ib2wuZm9yKCJyZWFjdC5jYWNoZSIpLFN5bWJvbC5mb3IoInJlYWN0LnRyYWNpbmdfbWFya2VyIik7dmFyIFI9U3ltYm9sLml0ZXJhdG9yO2Z1bmN0aW9uIEQoZSl7CnJldHVybiBudWxsPT09ZXx8Im9iamVjdCIhPXR5cGVvZiBlP251bGw6ImZ1bmN0aW9uIj09dHlwZW9mKGU9UiYmZVtSXXx8ZVsiQEBpdGVyYXRvciJdKT9lOm51bGx9dmFyIEksTz1PYmplY3QuYXNzaWduO2Z1bmN0aW9uIFUoZSl7aWYodm9pZCAwPT09SSl0cnl7dGhyb3cgRXJyb3IoKX1jYXRjaChlKXt2YXIgbj1lLnN0YWNrLnRyaW0oKS5tYXRjaCgvXG4oICooYXQgKT8pLyk7ST1uJiZuWzFdfHwiIn1yZXR1cm4iXG4iK0krZX12YXIgVj0hMTtmdW5jdGlvbiBBKGUsbil7aWYoIWV8fFYpcmV0dXJuIiI7Vj0hMDt2YXIgdD1FcnJvci5wcmVwYXJlU3RhY2tUcmFjZTtFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT12b2lkIDA7dHJ5e2lmKG4paWYobj1mdW5jdGlvbigpe3Rocm93IEVycm9yKCl9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLnByb3RvdHlwZSwicHJvcHMiLHtzZXQ6ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpfX0pLCJvYmplY3QiPT10eXBlb2YgUmVmbGVjdCYmUmVmbGVjdC5jb25zdHJ1Y3Qpe3RyeXtSZWZsZWN0LmNvbnN0cnVjdChuLFtdKX1jYXRjaChlKXt2YXIgcj1lfVJlZmxlY3QuY29uc3RydWN0KGUsW10sbil9ZWxzZXt0cnl7bi5jYWxsKCl9Y2F0Y2goZSl7cj1lfWUuY2FsbChuLnByb3RvdHlwZSl9ZWxzZXt0cnl7dGhyb3cgRXJyb3IoKX1jYXRjaChlKXtyPWV9ZSgpfX1jYXRjaChuKXtpZihuJiZyJiYic3RyaW5nIj09dHlwZW9mIG4uc3RhY2spe2Zvcih2YXIgbD1uLnN0YWNrLnNwbGl0KCJcbiIpLGE9ci5zdGFjay5zcGxpdCgiXG4iKSx1PWwubGVuZ3RoLTEsbz1hLmxlbmd0aC0xOzE8PXUmJjA8PW8mJmxbdV0hPT1hW29dOylvLS07Zm9yKDsxPD11JiYwPD1vO3UtLSxvLS0paWYobFt1XSE9PWFbb10pe2lmKDEhPT11fHwxIT09bylkb3tpZih1LS0sMD4tLW98fGxbdV0hPT1hW29dKXt2YXIgaT0iXG4iK2xbdV0ucmVwbGFjZSgiIGF0IG5ldyAiLCIgYXQgIik7cmV0dXJuIGUuZGlzcGxheU5hbWUmJmkuaW5jbHVkZXMoIjxhbm9ueW1vdXM+IikmJihpPWkucmVwbGFjZSgiPGFub255bW91cz4iLGUuZGlzcGxheU5hbWUpKSxpfX13aGlsZSgxPD11JiYwPD1vKTticmVha319fWZpbmFsbHl7Vj0hMSxFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT10fXJldHVybihlPWU/ZS5kaXNwbGF5TmFtZXx8ZS5uYW1lOiIiKT9VKGUpOiIifWZ1bmN0aW9uIEIoZSl7c3dpdGNoKGUudGFnKXtjYXNlIDU6cmV0dXJuIFUoZS50eXBlKTtjYXNlIDE2OnJldHVybiBVKCJMYXp5Iik7Y2FzZSAxMzpyZXR1cm4gVSgiU3VzcGVuc2UiKTtjYXNlIDE5OnJldHVybiBVKCJTdXNwZW5zZUxpc3QiKTtjYXNlIDA6Y2FzZSAyOmNhc2UgMTU6cmV0dXJuIGU9QShlLnR5cGUsITEpO2Nhc2UgMTE6cmV0dXJuIGU9QShlLnR5cGUucmVuZGVyLCExKTtjYXNlIDE6cmV0dXJuIGU9QShlLnR5cGUsITApO2RlZmF1bHQ6cmV0dXJuIiJ9fWZ1bmN0aW9uIFcoZSl7aWYobnVsbD09ZSlyZXR1cm4gbnVsbDtpZigiZnVuY3Rpb24iPT10eXBlb2YgZSlyZXR1cm4gZS5kaXNwbGF5TmFtZXx8ZS5uYW1lfHxudWxsO2lmKCJzdHJpbmciPT10eXBlb2YgZSlyZXR1cm4gZTtzd2l0Y2goZSl7Y2FzZSB4OnJldHVybiJGcmFnbWVudCI7Y2FzZSBTOnJldHVybiJQb3J0YWwiO2Nhc2UgQzpyZXR1cm4iUHJvZmlsZXIiO2Nhc2UgRTpyZXR1cm4iU3RyaWN0TW9kZSI7Y2FzZSBQOnJldHVybiJTdXNwZW5zZSI7Y2FzZSBUOnJldHVybiJTdXNwZW5zZUxpc3QifWlmKCJvYmplY3QiPT10eXBlb2YgZSlzd2l0Y2goZS4kJHR5cGVvZil7Y2FzZSBOOnJldHVybihlLmRpc3BsYXlOYW1lfHwiQ29udGV4dCIpKyIuQ29uc3VtZXIiO2Nhc2UgejpyZXR1cm4oZS5fY29udGV4dC5kaXNwbGF5TmFtZXx8IkNvbnRleHQiKSsiLlByb3ZpZGVyIjtjYXNlIF86dmFyIG49ZS5yZW5kZXI7cmV0dXJuKGU9ZS5kaXNwbGF5TmFtZSl8fChlPSIiIT09KGU9bi5kaXNwbGF5TmFtZXx8bi5uYW1lfHwiIik/IkZvcndhcmRSZWYoIitlKyIpIjoiRm9yd2FyZFJlZiIpLGU7Y2FzZSBMOnJldHVybiBudWxsIT09KG49ZS5kaXNwbGF5TmFtZXx8bnVsbCk/bjpXKGUudHlwZSl8fCJNZW1vIjtjYXNlIE06bj1lLl9wYXlsb2FkLGU9ZS5faW5pdDt0cnl7cmV0dXJuIFcoZShuKSl9Y2F0Y2goZSl7fX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBIKGUpe3ZhciBuPWUudHlwZTtzd2l0Y2goZS50YWcpe2Nhc2UgMjQ6cmV0dXJuIkNhY2hlIjtjYXNlIDk6cmV0dXJuKG4uZGlzcGxheU5hbWV8fCJDb250ZXh0IikrIi5Db25zdW1lciI7Y2FzZSAxMDpyZXR1cm4obi5fY29udGV4dC5kaXNwbGF5TmFtZXx8IkNvbnRleHQiKSsiLlByb3ZpZGVyIjtjYXNlIDE4OnJldHVybiJEZWh5ZHJhdGVkRnJhZ21lbnQiO2Nhc2UgMTE6cmV0dXJuIGU9KGU9bi5yZW5kZXIpLmRpc3BsYXlOYW1lfHxlLm5hbWV8fCIiLG4uZGlzcGxheU5hbWV8fCgiIiE9PWU/IkZvcndhcmRSZWYoIitlKyIpIjoiRm9yd2FyZFJlZiIpO2Nhc2UgNzpyZXR1cm4iRnJhZ21lbnQiO2Nhc2UgNTpyZXR1cm4gbjtjYXNlIDQ6cmV0dXJuIlBvcnRhbCI7Y2FzZSAzOnJldHVybiJSb290IjtjYXNlIDY6cmV0dXJuIlRleHQiO2Nhc2UgMTY6cmV0dXJuIFcobik7Y2FzZSA4OnJldHVybiBuPT09RT8iU3RyaWN0TW9kZSI6Ik1vZGUiO2Nhc2UgMjI6cmV0dXJuIk9mZnNjcmVlbiI7Y2FzZSAxMjpyZXR1cm4iUHJvZmlsZXIiO2Nhc2UgMjE6cmV0dXJuIlNjb3BlIjtjYXNlIDEzOnJldHVybiJTdXNwZW5zZSI7Y2FzZSAxOTpyZXR1cm4iU3VzcGVuc2VMaXN0IjtjYXNlIDI1OnJldHVybiJUcmFjaW5nTWFya2VyIjtjYXNlIDE6Y2FzZSAwOmNhc2UgMTc6Y2FzZSAyOmNhc2UgMTQ6Y2FzZSAxNTppZigiZnVuY3Rpb24iPT10eXBlb2YgbilyZXR1cm4gbi5kaXNwbGF5TmFtZXx8bi5uYW1lfHxudWxsO2lmKCJzdHJpbmciPT10eXBlb2YgbilyZXR1cm4gbn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBRKGUpe3N3aXRjaCh0eXBlb2YgZSl7Y2FzZSJib29sZWFuIjpjYXNlIm51bWJlciI6Y2FzZSJzdHJpbmciOmNhc2UidW5kZWZpbmVkIjpjYXNlIm9iamVjdCI6cmV0dXJuIGU7ZGVmYXVsdDpyZXR1cm4iIn19ZnVuY3Rpb24gaihlKXt2YXIgbj1lLnR5cGUKO3JldHVybihlPWUubm9kZU5hbWUpJiYiaW5wdXQiPT09ZS50b0xvd2VyQ2FzZSgpJiYoImNoZWNrYm94Ij09PW58fCJyYWRpbyI9PT1uKX1mdW5jdGlvbiAkKGUpe2UuX3ZhbHVlVHJhY2tlcnx8KGUuX3ZhbHVlVHJhY2tlcj1mdW5jdGlvbihlKXt2YXIgbj1qKGUpPyJjaGVja2VkIjoidmFsdWUiLHQ9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLmNvbnN0cnVjdG9yLnByb3RvdHlwZSxuKSxyPSIiK2Vbbl07aWYoIWUuaGFzT3duUHJvcGVydHkobikmJnZvaWQgMCE9PXQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LmdldCYmImZ1bmN0aW9uIj09dHlwZW9mIHQuc2V0KXt2YXIgbD10LmdldCxhPXQuc2V0O3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGwuY2FsbCh0aGlzKX0sc2V0OmZ1bmN0aW9uKGUpe3I9IiIrZSxhLmNhbGwodGhpcyxlKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLHtlbnVtZXJhYmxlOnQuZW51bWVyYWJsZX0pLHtnZXRWYWx1ZTpmdW5jdGlvbigpe3JldHVybiByfSxzZXRWYWx1ZTpmdW5jdGlvbihlKXtyPSIiK2V9LHN0b3BUcmFja2luZzpmdW5jdGlvbigpe2UuX3ZhbHVlVHJhY2tlcj1udWxsLGRlbGV0ZSBlW25dfX19fShlKSl9ZnVuY3Rpb24gcShlKXtpZighZSlyZXR1cm4hMTt2YXIgbj1lLl92YWx1ZVRyYWNrZXI7aWYoIW4pcmV0dXJuITA7dmFyIHQ9bi5nZXRWYWx1ZSgpLHI9IiI7cmV0dXJuIGUmJihyPWooZSk/ZS5jaGVja2VkPyJ0cnVlIjoiZmFsc2UiOmUudmFsdWUpLChlPXIpIT09dCYmKG4uc2V0VmFsdWUoZSksITApfWZ1bmN0aW9uIEsoZSl7aWYodm9pZCAwPT09KGU9ZXx8KCJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQ/ZG9jdW1lbnQ6dm9pZCAwKSkpcmV0dXJuIG51bGw7dHJ5e3JldHVybiBlLmFjdGl2ZUVsZW1lbnR8fGUuYm9keX1jYXRjaChuKXtyZXR1cm4gZS5ib2R5fX1mdW5jdGlvbiBZKGUsbil7dmFyIHQ9bi5jaGVja2VkO3JldHVybiBPKHt9LG4se2RlZmF1bHRDaGVja2VkOnZvaWQgMCxkZWZhdWx0VmFsdWU6dm9pZCAwLHZhbHVlOnZvaWQgMCxjaGVja2VkOm51bGwhPXQ/dDplLl93cmFwcGVyU3RhdGUuaW5pdGlhbENoZWNrZWR9KX1mdW5jdGlvbiBYKGUsbil7dmFyIHQ9bnVsbD09bi5kZWZhdWx0VmFsdWU/IiI6bi5kZWZhdWx0VmFsdWUscj1udWxsIT1uLmNoZWNrZWQ/bi5jaGVja2VkOm4uZGVmYXVsdENoZWNrZWQ7dD1RKG51bGwhPW4udmFsdWU/bi52YWx1ZTp0KSxlLl93cmFwcGVyU3RhdGU9e2luaXRpYWxDaGVja2VkOnIsaW5pdGlhbFZhbHVlOnQsY29udHJvbGxlZDoiY2hlY2tib3giPT09bi50eXBlfHwicmFkaW8iPT09bi50eXBlP251bGwhPW4uY2hlY2tlZDpudWxsIT1uLnZhbHVlfX1mdW5jdGlvbiBHKGUsbil7bnVsbCE9KG49bi5jaGVja2VkKSYmYihlLCJjaGVja2VkIixuLCExKX1mdW5jdGlvbiBaKGUsbil7RyhlLG4pO3ZhciB0PVEobi52YWx1ZSkscj1uLnR5cGU7aWYobnVsbCE9dCkibnVtYmVyIj09PXI/KDA9PT10JiYiIj09PWUudmFsdWV8fGUudmFsdWUhPXQpJiYoZS52YWx1ZT0iIit0KTplLnZhbHVlIT09IiIrdCYmKGUudmFsdWU9IiIrdCk7ZWxzZSBpZigic3VibWl0Ij09PXJ8fCJyZXNldCI9PT1yKXJldHVybiB2b2lkIGUucmVtb3ZlQXR0cmlidXRlKCJ2YWx1ZSIpO24uaGFzT3duUHJvcGVydHkoInZhbHVlIik/ZWUoZSxuLnR5cGUsdCk6bi5oYXNPd25Qcm9wZXJ0eSgiZGVmYXVsdFZhbHVlIikmJmVlKGUsbi50eXBlLFEobi5kZWZhdWx0VmFsdWUpKSxudWxsPT1uLmNoZWNrZWQmJm51bGwhPW4uZGVmYXVsdENoZWNrZWQmJihlLmRlZmF1bHRDaGVja2VkPSEhbi5kZWZhdWx0Q2hlY2tlZCl9ZnVuY3Rpb24gSihlLG4sdCl7aWYobi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKXx8bi5oYXNPd25Qcm9wZXJ0eSgiZGVmYXVsdFZhbHVlIikpe3ZhciByPW4udHlwZTtpZighKCJzdWJtaXQiIT09ciYmInJlc2V0IiE9PXJ8fHZvaWQgMCE9PW4udmFsdWUmJm51bGwhPT1uLnZhbHVlKSlyZXR1cm47bj0iIitlLl93cmFwcGVyU3RhdGUuaW5pdGlhbFZhbHVlLHR8fG49PT1lLnZhbHVlfHwoZS52YWx1ZT1uKSxlLmRlZmF1bHRWYWx1ZT1ufSIiIT09KHQ9ZS5uYW1lKSYmKGUubmFtZT0iIiksZS5kZWZhdWx0Q2hlY2tlZD0hIWUuX3dyYXBwZXJTdGF0ZS5pbml0aWFsQ2hlY2tlZCwiIiE9PXQmJihlLm5hbWU9dCl9ZnVuY3Rpb24gZWUoZSxuLHQpeyJudW1iZXIiPT09biYmSyhlLm93bmVyRG9jdW1lbnQpPT09ZXx8KG51bGw9PXQ/ZS5kZWZhdWx0VmFsdWU9IiIrZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZTplLmRlZmF1bHRWYWx1ZSE9PSIiK3QmJihlLmRlZmF1bHRWYWx1ZT0iIit0KSl9dmFyIG5lPUFycmF5LmlzQXJyYXk7ZnVuY3Rpb24gdGUoZSxuLHQscil7aWYoZT1lLm9wdGlvbnMsbil7bj17fTtmb3IodmFyIGw9MDtsPHQubGVuZ3RoO2wrKyluWyIkIit0W2xdXT0hMDtmb3IodD0wO3Q8ZS5sZW5ndGg7dCsrKWw9bi5oYXNPd25Qcm9wZXJ0eSgiJCIrZVt0XS52YWx1ZSksZVt0XS5zZWxlY3RlZCE9PWwmJihlW3RdLnNlbGVjdGVkPWwpLGwmJnImJihlW3RdLmRlZmF1bHRTZWxlY3RlZD0hMCl9ZWxzZXtmb3IodD0iIitRKHQpLG49bnVsbCxsPTA7bDxlLmxlbmd0aDtsKyspe2lmKGVbbF0udmFsdWU9PT10KXJldHVybiBlW2xdLnNlbGVjdGVkPSEwLHZvaWQociYmKGVbbF0uZGVmYXVsdFNlbGVjdGVkPSEwKSk7bnVsbCE9PW58fGVbbF0uZGlzYWJsZWR8fChuPWVbbF0pfW51bGwhPT1uJiYobi5zZWxlY3RlZD0hMCl9fWZ1bmN0aW9uIHJlKGUsbil7aWYobnVsbCE9bi5kYW5nZXJvdXNseVNldElubmVySFRNTCl0aHJvdyBFcnJvcihhKDkxKSk7cmV0dXJuIE8oe30sbix7dmFsdWU6dm9pZCAwLGRlZmF1bHRWYWx1ZTp2b2lkIDAsY2hpbGRyZW46IiIrZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZX0pfWZ1bmN0aW9uIGxlKGUsbil7dmFyIHQ9bi52YWx1ZTtpZihudWxsPT10KXtpZih0PW4uY2hpbGRyZW4sbj1uLmRlZmF1bHRWYWx1ZSxudWxsIT10KXtpZihudWxsIT1uKXRocm93IEVycm9yKGEoOTIpKTtpZihuZSh0KSl7CmlmKDE8dC5sZW5ndGgpdGhyb3cgRXJyb3IoYSg5MykpO3Q9dFswXX1uPXR9bnVsbD09biYmKG49IiIpLHQ9bn1lLl93cmFwcGVyU3RhdGU9e2luaXRpYWxWYWx1ZTpRKHQpfX1mdW5jdGlvbiBhZShlLG4pe3ZhciB0PVEobi52YWx1ZSkscj1RKG4uZGVmYXVsdFZhbHVlKTtudWxsIT10JiYoKHQ9IiIrdCkhPT1lLnZhbHVlJiYoZS52YWx1ZT10KSxudWxsPT1uLmRlZmF1bHRWYWx1ZSYmZS5kZWZhdWx0VmFsdWUhPT10JiYoZS5kZWZhdWx0VmFsdWU9dCkpLG51bGwhPXImJihlLmRlZmF1bHRWYWx1ZT0iIityKX1mdW5jdGlvbiB1ZShlKXt2YXIgbj1lLnRleHRDb250ZW50O249PT1lLl93cmFwcGVyU3RhdGUuaW5pdGlhbFZhbHVlJiYiIiE9PW4mJm51bGwhPT1uJiYoZS52YWx1ZT1uKX1mdW5jdGlvbiBvZShlKXtzd2l0Y2goZSl7Y2FzZSJzdmciOnJldHVybiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI7Y2FzZSJtYXRoIjpyZXR1cm4iaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCI7ZGVmYXVsdDpyZXR1cm4iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCJ9fWZ1bmN0aW9uIGllKGUsbil7cmV0dXJuIG51bGw9PWV8fCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj09PWU/b2Uobik6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj09PWUmJiJmb3JlaWduT2JqZWN0Ij09PW4/Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiOmV9dmFyIHNlLGNlLGZlPShjZT1mdW5jdGlvbihlLG4pe2lmKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIhPT1lLm5hbWVzcGFjZVVSSXx8ImlubmVySFRNTCJpbiBlKWUuaW5uZXJIVE1MPW47ZWxzZXtmb3IoKHNlPXNlfHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSkuaW5uZXJIVE1MPSI8c3ZnPiIrbi52YWx1ZU9mKCkudG9TdHJpbmcoKSsiPC9zdmc+IixuPXNlLmZpcnN0Q2hpbGQ7ZS5maXJzdENoaWxkOyllLnJlbW92ZUNoaWxkKGUuZmlyc3RDaGlsZCk7Zm9yKDtuLmZpcnN0Q2hpbGQ7KWUuYXBwZW5kQ2hpbGQobi5maXJzdENoaWxkKX19LCJ1bmRlZmluZWQiIT10eXBlb2YgTVNBcHAmJk1TQXBwLmV4ZWNVbnNhZmVMb2NhbEZ1bmN0aW9uP2Z1bmN0aW9uKGUsbix0LHIpe01TQXBwLmV4ZWNVbnNhZmVMb2NhbEZ1bmN0aW9uKChmdW5jdGlvbigpe3JldHVybiBjZShlLG4pfSkpfTpjZSk7ZnVuY3Rpb24gZGUoZSxuKXtpZihuKXt2YXIgdD1lLmZpcnN0Q2hpbGQ7aWYodCYmdD09PWUubGFzdENoaWxkJiYzPT09dC5ub2RlVHlwZSlyZXR1cm4gdm9pZCh0Lm5vZGVWYWx1ZT1uKX1lLnRleHRDb250ZW50PW59dmFyIHBlPXthbmltYXRpb25JdGVyYXRpb25Db3VudDohMCxhc3BlY3RSYXRpbzohMCxib3JkZXJJbWFnZU91dHNldDohMCxib3JkZXJJbWFnZVNsaWNlOiEwLGJvcmRlckltYWdlV2lkdGg6ITAsYm94RmxleDohMCxib3hGbGV4R3JvdXA6ITAsYm94T3JkaW5hbEdyb3VwOiEwLGNvbHVtbkNvdW50OiEwLGNvbHVtbnM6ITAsZmxleDohMCxmbGV4R3JvdzohMCxmbGV4UG9zaXRpdmU6ITAsZmxleFNocmluazohMCxmbGV4TmVnYXRpdmU6ITAsZmxleE9yZGVyOiEwLGdyaWRBcmVhOiEwLGdyaWRSb3c6ITAsZ3JpZFJvd0VuZDohMCxncmlkUm93U3BhbjohMCxncmlkUm93U3RhcnQ6ITAsZ3JpZENvbHVtbjohMCxncmlkQ29sdW1uRW5kOiEwLGdyaWRDb2x1bW5TcGFuOiEwLGdyaWRDb2x1bW5TdGFydDohMCxmb250V2VpZ2h0OiEwLGxpbmVDbGFtcDohMCxsaW5lSGVpZ2h0OiEwLG9wYWNpdHk6ITAsb3JkZXI6ITAsb3JwaGFuczohMCx0YWJTaXplOiEwLHdpZG93czohMCx6SW5kZXg6ITAsem9vbTohMCxmaWxsT3BhY2l0eTohMCxmbG9vZE9wYWNpdHk6ITAsc3RvcE9wYWNpdHk6ITAsc3Ryb2tlRGFzaGFycmF5OiEwLHN0cm9rZURhc2hvZmZzZXQ6ITAsc3Ryb2tlTWl0ZXJsaW1pdDohMCxzdHJva2VPcGFjaXR5OiEwLHN0cm9rZVdpZHRoOiEwfSxtZT1bIldlYmtpdCIsIm1zIiwiTW96IiwiTyJdO2Z1bmN0aW9uIGhlKGUsbix0KXtyZXR1cm4gbnVsbD09bnx8ImJvb2xlYW4iPT10eXBlb2Ygbnx8IiI9PT1uPyIiOnR8fCJudW1iZXIiIT10eXBlb2Ygbnx8MD09PW58fHBlLmhhc093blByb3BlcnR5KGUpJiZwZVtlXT8oIiIrbikudHJpbSgpOm4rInB4In1mdW5jdGlvbiBnZShlLG4pe2Zvcih2YXIgdCBpbiBlPWUuc3R5bGUsbilpZihuLmhhc093blByb3BlcnR5KHQpKXt2YXIgcj0wPT09dC5pbmRleE9mKCItLSIpLGw9aGUodCxuW3RdLHIpOyJmbG9hdCI9PT10JiYodD0iY3NzRmxvYXQiKSxyP2Uuc2V0UHJvcGVydHkodCxsKTplW3RdPWx9fU9iamVjdC5rZXlzKHBlKS5mb3JFYWNoKChmdW5jdGlvbihlKXttZS5mb3JFYWNoKChmdW5jdGlvbihuKXtuPW4rZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStlLnN1YnN0cmluZygxKSxwZVtuXT1wZVtlXX0pKX0pKTt2YXIgdmU9Tyh7bWVudWl0ZW06ITB9LHthcmVhOiEwLGJhc2U6ITAsYnI6ITAsY29sOiEwLGVtYmVkOiEwLGhyOiEwLGltZzohMCxpbnB1dDohMCxrZXlnZW46ITAsbGluazohMCxtZXRhOiEwLHBhcmFtOiEwLHNvdXJjZTohMCx0cmFjazohMCx3YnI6ITB9KTtmdW5jdGlvbiB5ZShlLG4pe2lmKG4pe2lmKHZlW2VdJiYobnVsbCE9bi5jaGlsZHJlbnx8bnVsbCE9bi5kYW5nZXJvdXNseVNldElubmVySFRNTCkpdGhyb3cgRXJyb3IoYSgxMzcsZSkpO2lmKG51bGwhPW4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpe2lmKG51bGwhPW4uY2hpbGRyZW4pdGhyb3cgRXJyb3IoYSg2MCkpO2lmKCJvYmplY3QiIT10eXBlb2Ygbi5kYW5nZXJvdXNseVNldElubmVySFRNTHx8ISgiX19odG1sImluIG4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpKXRocm93IEVycm9yKGEoNjEpKX1pZihudWxsIT1uLnN0eWxlJiYib2JqZWN0IiE9dHlwZW9mIG4uc3R5bGUpdGhyb3cgRXJyb3IoYSg2MikpfX1mdW5jdGlvbiBiZShlLG4pe2lmKC0xPT09ZS5pbmRleE9mKCItIikpcmV0dXJuInN0cmluZyI9PXR5cGVvZiBuLmlzO3N3aXRjaChlKXtjYXNlImFubm90YXRpb24teG1sIjpjYXNlImNvbG9yLXByb2ZpbGUiOmNhc2UiZm9udC1mYWNlIjpjYXNlImZvbnQtZmFjZS1zcmMiOgpjYXNlImZvbnQtZmFjZS11cmkiOmNhc2UiZm9udC1mYWNlLWZvcm1hdCI6Y2FzZSJmb250LWZhY2UtbmFtZSI6Y2FzZSJtaXNzaW5nLWdseXBoIjpyZXR1cm4hMTtkZWZhdWx0OnJldHVybiEwfX12YXIga2U9bnVsbDtmdW5jdGlvbiB3ZShlKXtyZXR1cm4oZT1lLnRhcmdldHx8ZS5zcmNFbGVtZW50fHx3aW5kb3cpLmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50JiYoZT1lLmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50KSwzPT09ZS5ub2RlVHlwZT9lLnBhcmVudE5vZGU6ZX12YXIgU2U9bnVsbCx4ZT1udWxsLEVlPW51bGw7ZnVuY3Rpb24gQ2UoZSl7aWYoZT1ibChlKSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIFNlKXRocm93IEVycm9yKGEoMjgwKSk7dmFyIG49ZS5zdGF0ZU5vZGU7biYmKG49d2wobiksU2UoZS5zdGF0ZU5vZGUsZS50eXBlLG4pKX19ZnVuY3Rpb24gemUoZSl7eGU/RWU/RWUucHVzaChlKTpFZT1bZV06eGU9ZX1mdW5jdGlvbiBOZSgpe2lmKHhlKXt2YXIgZT14ZSxuPUVlO2lmKEVlPXhlPW51bGwsQ2UoZSksbilmb3IoZT0wO2U8bi5sZW5ndGg7ZSsrKUNlKG5bZV0pfX1mdW5jdGlvbiBfZShlLG4pe3JldHVybiBlKG4pfWZ1bmN0aW9uIFBlKCl7fXZhciBUZT0hMTtmdW5jdGlvbiBMZShlLG4sdCl7aWYoVGUpcmV0dXJuIGUobix0KTtUZT0hMDt0cnl7cmV0dXJuIF9lKGUsbix0KX1maW5hbGx5e1RlPSExLChudWxsIT09eGV8fG51bGwhPT1FZSkmJihQZSgpLE5lKCkpfX1mdW5jdGlvbiBNZShlLG4pe3ZhciB0PWUuc3RhdGVOb2RlO2lmKG51bGw9PT10KXJldHVybiBudWxsO3ZhciByPXdsKHQpO2lmKG51bGw9PT1yKXJldHVybiBudWxsO3Q9cltuXTtlOnN3aXRjaChuKXtjYXNlIm9uQ2xpY2siOmNhc2Uib25DbGlja0NhcHR1cmUiOmNhc2Uib25Eb3VibGVDbGljayI6Y2FzZSJvbkRvdWJsZUNsaWNrQ2FwdHVyZSI6Y2FzZSJvbk1vdXNlRG93biI6Y2FzZSJvbk1vdXNlRG93bkNhcHR1cmUiOmNhc2Uib25Nb3VzZU1vdmUiOmNhc2Uib25Nb3VzZU1vdmVDYXB0dXJlIjpjYXNlIm9uTW91c2VVcCI6Y2FzZSJvbk1vdXNlVXBDYXB0dXJlIjpjYXNlIm9uTW91c2VFbnRlciI6KHI9IXIuZGlzYWJsZWQpfHwocj0hKCJidXR0b24iPT09KGU9ZS50eXBlKXx8ImlucHV0Ij09PWV8fCJzZWxlY3QiPT09ZXx8InRleHRhcmVhIj09PWUpKSxlPSFyO2JyZWFrIGU7ZGVmYXVsdDplPSExfWlmKGUpcmV0dXJuIG51bGw7aWYodCYmImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgRXJyb3IoYSgyMzEsbix0eXBlb2YgdCkpO3JldHVybiB0fXZhciBGZT0hMTtpZihjKXRyeXt2YXIgUmU9e307T2JqZWN0LmRlZmluZVByb3BlcnR5KFJlLCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7RmU9ITB9fSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLFJlLFJlKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdCIsUmUsUmUpfWNhdGNoKGNlKXtGZT0hMX1mdW5jdGlvbiBEZShlLG4sdCxyLGwsYSx1LG8saSl7dmFyIHM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDMpO3RyeXtuLmFwcGx5KHQscyl9Y2F0Y2goZSl7dGhpcy5vbkVycm9yKGUpfX12YXIgSWU9ITEsT2U9bnVsbCxVZT0hMSxWZT1udWxsLEFlPXtvbkVycm9yOmZ1bmN0aW9uKGUpe0llPSEwLE9lPWV9fTtmdW5jdGlvbiBCZShlLG4sdCxyLGwsYSx1LG8saSl7SWU9ITEsT2U9bnVsbCxEZS5hcHBseShBZSxhcmd1bWVudHMpfWZ1bmN0aW9uIFdlKGUpe3ZhciBuPWUsdD1lO2lmKGUuYWx0ZXJuYXRlKWZvcig7bi5yZXR1cm47KW49bi5yZXR1cm47ZWxzZXtlPW47ZG97ISEoNDA5OCYobj1lKS5mbGFncykmJih0PW4ucmV0dXJuKSxlPW4ucmV0dXJufXdoaWxlKGUpfXJldHVybiAzPT09bi50YWc/dDpudWxsfWZ1bmN0aW9uIEhlKGUpe2lmKDEzPT09ZS50YWcpe3ZhciBuPWUubWVtb2l6ZWRTdGF0ZTtpZihudWxsPT09biYmKG51bGwhPT0oZT1lLmFsdGVybmF0ZSkmJihuPWUubWVtb2l6ZWRTdGF0ZSkpLG51bGwhPT1uKXJldHVybiBuLmRlaHlkcmF0ZWR9cmV0dXJuIG51bGx9ZnVuY3Rpb24gUWUoZSl7aWYoV2UoZSkhPT1lKXRocm93IEVycm9yKGEoMTg4KSl9ZnVuY3Rpb24gamUoZSl7cmV0dXJuIG51bGwhPT0oZT1mdW5jdGlvbihlKXt2YXIgbj1lLmFsdGVybmF0ZTtpZighbil7aWYobnVsbD09PShuPVdlKGUpKSl0aHJvdyBFcnJvcihhKDE4OCkpO3JldHVybiBuIT09ZT9udWxsOmV9Zm9yKHZhciB0PWUscj1uOzspe3ZhciBsPXQucmV0dXJuO2lmKG51bGw9PT1sKWJyZWFrO3ZhciB1PWwuYWx0ZXJuYXRlO2lmKG51bGw9PT11KXtpZihudWxsIT09KHI9bC5yZXR1cm4pKXt0PXI7Y29udGludWV9YnJlYWt9aWYobC5jaGlsZD09PXUuY2hpbGQpe2Zvcih1PWwuY2hpbGQ7dTspe2lmKHU9PT10KXJldHVybiBRZShsKSxlO2lmKHU9PT1yKXJldHVybiBRZShsKSxuO3U9dS5zaWJsaW5nfXRocm93IEVycm9yKGEoMTg4KSl9aWYodC5yZXR1cm4hPT1yLnJldHVybil0PWwscj11O2Vsc2V7Zm9yKHZhciBvPSExLGk9bC5jaGlsZDtpOyl7aWYoaT09PXQpe289ITAsdD1sLHI9dTticmVha31pZihpPT09cil7bz0hMCxyPWwsdD11O2JyZWFrfWk9aS5zaWJsaW5nfWlmKCFvKXtmb3IoaT11LmNoaWxkO2k7KXtpZihpPT09dCl7bz0hMCx0PXUscj1sO2JyZWFrfWlmKGk9PT1yKXtvPSEwLHI9dSx0PWw7YnJlYWt9aT1pLnNpYmxpbmd9aWYoIW8pdGhyb3cgRXJyb3IoYSgxODkpKX19aWYodC5hbHRlcm5hdGUhPT1yKXRocm93IEVycm9yKGEoMTkwKSl9aWYoMyE9PXQudGFnKXRocm93IEVycm9yKGEoMTg4KSk7cmV0dXJuIHQuc3RhdGVOb2RlLmN1cnJlbnQ9PT10P2U6bn0oZSkpPyRlKGUpOm51bGx9ZnVuY3Rpb24gJGUoZSl7aWYoNT09PWUudGFnfHw2PT09ZS50YWcpcmV0dXJuIGU7Zm9yKGU9ZS5jaGlsZDtudWxsIT09ZTspe3ZhciBuPSRlKGUpO2lmKG51bGwhPT1uKXJldHVybiBuO2U9ZS5zaWJsaW5nfXJldHVybiBudWxsfQp2YXIgcWU9bC51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrLEtlPWwudW5zdGFibGVfY2FuY2VsQ2FsbGJhY2ssWWU9bC51bnN0YWJsZV9zaG91bGRZaWVsZCxYZT1sLnVuc3RhYmxlX3JlcXVlc3RQYWludCxHZT1sLnVuc3RhYmxlX25vdyxaZT1sLnVuc3RhYmxlX2dldEN1cnJlbnRQcmlvcml0eUxldmVsLEplPWwudW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHksZW49bC51bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eSxubj1sLnVuc3RhYmxlX05vcm1hbFByaW9yaXR5LHRuPWwudW5zdGFibGVfTG93UHJpb3JpdHkscm49bC51bnN0YWJsZV9JZGxlUHJpb3JpdHksbG49bnVsbCxhbj1udWxsO3ZhciB1bj1NYXRoLmNsejMyP01hdGguY2x6MzI6ZnVuY3Rpb24oZSl7cmV0dXJuIGU+Pj49MCwwPT09ZT8zMjozMS0ob24oZSkvc258MCl8MH0sb249TWF0aC5sb2csc249TWF0aC5MTjI7dmFyIGNuPTY0LGZuPTQxOTQzMDQ7ZnVuY3Rpb24gZG4oZSl7c3dpdGNoKGUmLWUpe2Nhc2UgMTpyZXR1cm4gMTtjYXNlIDI6cmV0dXJuIDI7Y2FzZSA0OnJldHVybiA0O2Nhc2UgODpyZXR1cm4gODtjYXNlIDE2OnJldHVybiAxNjtjYXNlIDMyOnJldHVybiAzMjtjYXNlIDY0OmNhc2UgMTI4OmNhc2UgMjU2OmNhc2UgNTEyOmNhc2UgMTAyNDpjYXNlIDIwNDg6Y2FzZSA0MDk2OmNhc2UgODE5MjpjYXNlIDE2Mzg0OmNhc2UgMzI3Njg6Y2FzZSA2NTUzNjpjYXNlIDEzMTA3MjpjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOnJldHVybiA0MTk0MjQwJmU7Y2FzZSA0MTk0MzA0OmNhc2UgODM4ODYwODpjYXNlIDE2Nzc3MjE2OmNhc2UgMzM1NTQ0MzI6Y2FzZSA2NzEwODg2NDpyZXR1cm4gMTMwMDIzNDI0JmU7Y2FzZSAxMzQyMTc3Mjg6cmV0dXJuIDEzNDIxNzcyODtjYXNlIDI2ODQzNTQ1NjpyZXR1cm4gMjY4NDM1NDU2O2Nhc2UgNTM2ODcwOTEyOnJldHVybiA1MzY4NzA5MTI7Y2FzZSAxMDczNzQxODI0OnJldHVybiAxMDczNzQxODI0O2RlZmF1bHQ6cmV0dXJuIGV9fWZ1bmN0aW9uIHBuKGUsbil7dmFyIHQ9ZS5wZW5kaW5nTGFuZXM7aWYoMD09PXQpcmV0dXJuIDA7dmFyIHI9MCxsPWUuc3VzcGVuZGVkTGFuZXMsYT1lLnBpbmdlZExhbmVzLHU9MjY4NDM1NDU1JnQ7aWYoMCE9PXUpe3ZhciBvPXUmfmw7MCE9PW8/cj1kbihvKTowIT09KGEmPXUpJiYocj1kbihhKSl9ZWxzZSAwIT09KHU9dCZ+bCk/cj1kbih1KTowIT09YSYmKHI9ZG4oYSkpO2lmKDA9PT1yKXJldHVybiAwO2lmKDAhPT1uJiZuIT09ciYmIShuJmwpJiYoKGw9ciYtcik+PShhPW4mLW4pfHwxNj09PWwmJjQxOTQyNDAmYSkpcmV0dXJuIG47aWYoNCZyJiYocnw9MTYmdCksMCE9PShuPWUuZW50YW5nbGVkTGFuZXMpKWZvcihlPWUuZW50YW5nbGVtZW50cyxuJj1yOzA8bjspbD0xPDwodD0zMS11bihuKSkscnw9ZVt0XSxuJj1+bDtyZXR1cm4gcn1mdW5jdGlvbiBtbihlLG4pe3N3aXRjaChlKXtjYXNlIDE6Y2FzZSAyOmNhc2UgNDpyZXR1cm4gbisyNTA7Y2FzZSA4OmNhc2UgMTY6Y2FzZSAzMjpjYXNlIDY0OmNhc2UgMTI4OmNhc2UgMjU2OmNhc2UgNTEyOmNhc2UgMTAyNDpjYXNlIDIwNDg6Y2FzZSA0MDk2OmNhc2UgODE5MjpjYXNlIDE2Mzg0OmNhc2UgMzI3Njg6Y2FzZSA2NTUzNjpjYXNlIDEzMTA3MjpjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOnJldHVybiBuKzVlMztkZWZhdWx0OnJldHVybi0xfX1mdW5jdGlvbiBobihlKXtyZXR1cm4gMCE9PShlPS0xMDczNzQxODI1JmUucGVuZGluZ0xhbmVzKT9lOjEwNzM3NDE4MjQmZT8xMDczNzQxODI0OjB9ZnVuY3Rpb24gZ24oKXt2YXIgZT1jbjtyZXR1cm4hKDQxOTQyNDAmKGNuPDw9MSkpJiYoY249NjQpLGV9ZnVuY3Rpb24gdm4oZSl7Zm9yKHZhciBuPVtdLHQ9MDszMT50O3QrKyluLnB1c2goZSk7cmV0dXJuIG59ZnVuY3Rpb24geW4oZSxuLHQpe2UucGVuZGluZ0xhbmVzfD1uLDUzNjg3MDkxMiE9PW4mJihlLnN1c3BlbmRlZExhbmVzPTAsZS5waW5nZWRMYW5lcz0wKSwoZT1lLmV2ZW50VGltZXMpW249MzEtdW4obildPXR9ZnVuY3Rpb24gYm4oZSxuKXt2YXIgdD1lLmVudGFuZ2xlZExhbmVzfD1uO2ZvcihlPWUuZW50YW5nbGVtZW50czt0Oyl7dmFyIHI9MzEtdW4odCksbD0xPDxyO2wmbnxlW3JdJm4mJihlW3JdfD1uKSx0Jj1+bH19dmFyIGtuPTA7ZnVuY3Rpb24gd24oZSl7cmV0dXJuIDE8KGUmPS1lKT80PGU/MjY4NDM1NDU1JmU/MTY6NTM2ODcwOTEyOjQ6MX12YXIgU24seG4sRW4sQ24sem4sTm49ITEsX249W10sUG49bnVsbCxUbj1udWxsLExuPW51bGwsTW49bmV3IE1hcCxGbj1uZXcgTWFwLFJuPVtdLERuPSJtb3VzZWRvd24gbW91c2V1cCB0b3VjaGNhbmNlbCB0b3VjaGVuZCB0b3VjaHN0YXJ0IGF1eGNsaWNrIGRibGNsaWNrIHBvaW50ZXJjYW5jZWwgcG9pbnRlcmRvd24gcG9pbnRlcnVwIGRyYWdlbmQgZHJhZ3N0YXJ0IGRyb3AgY29tcG9zaXRpb25lbmQgY29tcG9zaXRpb25zdGFydCBrZXlkb3duIGtleXByZXNzIGtleXVwIGlucHV0IHRleHRJbnB1dCBjb3B5IGN1dCBwYXN0ZSBjbGljayBjaGFuZ2UgY29udGV4dG1lbnUgcmVzZXQgc3VibWl0Ii5zcGxpdCgiICIpO2Z1bmN0aW9uIEluKGUsbil7c3dpdGNoKGUpe2Nhc2UiZm9jdXNpbiI6Y2FzZSJmb2N1c291dCI6UG49bnVsbDticmVhaztjYXNlImRyYWdlbnRlciI6Y2FzZSJkcmFnbGVhdmUiOlRuPW51bGw7YnJlYWs7Y2FzZSJtb3VzZW92ZXIiOmNhc2UibW91c2VvdXQiOkxuPW51bGw7YnJlYWs7Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJwb2ludGVyb3V0IjpNbi5kZWxldGUobi5wb2ludGVySWQpO2JyZWFrO2Nhc2UiZ290cG9pbnRlcmNhcHR1cmUiOmNhc2UibG9zdHBvaW50ZXJjYXB0dXJlIjpGbi5kZWxldGUobi5wb2ludGVySWQpfX1mdW5jdGlvbiBPbihlLG4sdCxyLGwsYSl7cmV0dXJuIG51bGw9PT1lfHxlLm5hdGl2ZUV2ZW50IT09YT8oZT17YmxvY2tlZE9uOm4sZG9tRXZlbnROYW1lOnQsZXZlbnRTeXN0ZW1GbGFnczpyLG5hdGl2ZUV2ZW50OmEsdGFyZ2V0Q29udGFpbmVyczpbbF19LG51bGwhPT1uJiYobnVsbCE9PShuPWJsKG4pKSYmeG4obikpLAplKTooZS5ldmVudFN5c3RlbUZsYWdzfD1yLG49ZS50YXJnZXRDb250YWluZXJzLG51bGwhPT1sJiYtMT09PW4uaW5kZXhPZihsKSYmbi5wdXNoKGwpLGUpfWZ1bmN0aW9uIFVuKGUpe3ZhciBuPXlsKGUudGFyZ2V0KTtpZihudWxsIT09bil7dmFyIHQ9V2Uobik7aWYobnVsbCE9PXQpaWYoMTM9PT0obj10LnRhZykpe2lmKG51bGwhPT0obj1IZSh0KSkpcmV0dXJuIGUuYmxvY2tlZE9uPW4sdm9pZCB6bihlLnByaW9yaXR5LChmdW5jdGlvbigpe0VuKHQpfSkpfWVsc2UgaWYoMz09PW4mJnQuc3RhdGVOb2RlLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpcmV0dXJuIHZvaWQoZS5ibG9ja2VkT249Mz09PXQudGFnP3Quc3RhdGVOb2RlLmNvbnRhaW5lckluZm86bnVsbCl9ZS5ibG9ja2VkT249bnVsbH1mdW5jdGlvbiBWbihlKXtpZihudWxsIT09ZS5ibG9ja2VkT24pcmV0dXJuITE7Zm9yKHZhciBuPWUudGFyZ2V0Q29udGFpbmVyczswPG4ubGVuZ3RoOyl7dmFyIHQ9WG4oZS5kb21FdmVudE5hbWUsZS5ldmVudFN5c3RlbUZsYWdzLG5bMF0sZS5uYXRpdmVFdmVudCk7aWYobnVsbCE9PXQpcmV0dXJuIG51bGwhPT0obj1ibCh0KSkmJnhuKG4pLGUuYmxvY2tlZE9uPXQsITE7dmFyIHI9bmV3KHQ9ZS5uYXRpdmVFdmVudCkuY29uc3RydWN0b3IodC50eXBlLHQpO2tlPXIsdC50YXJnZXQuZGlzcGF0Y2hFdmVudChyKSxrZT1udWxsLG4uc2hpZnQoKX1yZXR1cm4hMH1mdW5jdGlvbiBBbihlLG4sdCl7Vm4oZSkmJnQuZGVsZXRlKG4pfWZ1bmN0aW9uIEJuKCl7Tm49ITEsbnVsbCE9PVBuJiZWbihQbikmJihQbj1udWxsKSxudWxsIT09VG4mJlZuKFRuKSYmKFRuPW51bGwpLG51bGwhPT1MbiYmVm4oTG4pJiYoTG49bnVsbCksTW4uZm9yRWFjaChBbiksRm4uZm9yRWFjaChBbil9ZnVuY3Rpb24gV24oZSxuKXtlLmJsb2NrZWRPbj09PW4mJihlLmJsb2NrZWRPbj1udWxsLE5ufHwoTm49ITAsbC51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrKGwudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksQm4pKSl9ZnVuY3Rpb24gSG4oZSl7ZnVuY3Rpb24gbihuKXtyZXR1cm4gV24obixlKX1pZigwPF9uLmxlbmd0aCl7V24oX25bMF0sZSk7Zm9yKHZhciB0PTE7dDxfbi5sZW5ndGg7dCsrKXt2YXIgcj1fblt0XTtyLmJsb2NrZWRPbj09PWUmJihyLmJsb2NrZWRPbj1udWxsKX19Zm9yKG51bGwhPT1QbiYmV24oUG4sZSksbnVsbCE9PVRuJiZXbihUbixlKSxudWxsIT09TG4mJlduKExuLGUpLE1uLmZvckVhY2gobiksRm4uZm9yRWFjaChuKSx0PTA7dDxSbi5sZW5ndGg7dCsrKShyPVJuW3RdKS5ibG9ja2VkT249PT1lJiYoci5ibG9ja2VkT249bnVsbCk7Zm9yKDswPFJuLmxlbmd0aCYmbnVsbD09PSh0PVJuWzBdKS5ibG9ja2VkT247KVVuKHQpLG51bGw9PT10LmJsb2NrZWRPbiYmUm4uc2hpZnQoKX12YXIgUW49ay5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxqbj0hMDtmdW5jdGlvbiAkbihlLG4sdCxyKXt2YXIgbD1rbixhPVFuLnRyYW5zaXRpb247UW4udHJhbnNpdGlvbj1udWxsO3RyeXtrbj0xLEtuKGUsbix0LHIpfWZpbmFsbHl7a249bCxRbi50cmFuc2l0aW9uPWF9fWZ1bmN0aW9uIHFuKGUsbix0LHIpe3ZhciBsPWtuLGE9UW4udHJhbnNpdGlvbjtRbi50cmFuc2l0aW9uPW51bGw7dHJ5e2tuPTQsS24oZSxuLHQscil9ZmluYWxseXtrbj1sLFFuLnRyYW5zaXRpb249YX19ZnVuY3Rpb24gS24oZSxuLHQscil7aWYoam4pe3ZhciBsPVhuKGUsbix0LHIpO2lmKG51bGw9PT1sKVFyKGUsbixyLFluLHQpLEluKGUscik7ZWxzZSBpZihmdW5jdGlvbihlLG4sdCxyLGwpe3N3aXRjaChuKXtjYXNlImZvY3VzaW4iOnJldHVybiBQbj1PbihQbixlLG4sdCxyLGwpLCEwO2Nhc2UiZHJhZ2VudGVyIjpyZXR1cm4gVG49T24oVG4sZSxuLHQscixsKSwhMDtjYXNlIm1vdXNlb3ZlciI6cmV0dXJuIExuPU9uKExuLGUsbix0LHIsbCksITA7Y2FzZSJwb2ludGVyb3ZlciI6dmFyIGE9bC5wb2ludGVySWQ7cmV0dXJuIE1uLnNldChhLE9uKE1uLmdldChhKXx8bnVsbCxlLG4sdCxyLGwpKSwhMDtjYXNlImdvdHBvaW50ZXJjYXB0dXJlIjpyZXR1cm4gYT1sLnBvaW50ZXJJZCxGbi5zZXQoYSxPbihGbi5nZXQoYSl8fG51bGwsZSxuLHQscixsKSksITB9cmV0dXJuITF9KGwsZSxuLHQscikpci5zdG9wUHJvcGFnYXRpb24oKTtlbHNlIGlmKEluKGUsciksNCZuJiYtMTxEbi5pbmRleE9mKGUpKXtmb3IoO251bGwhPT1sOyl7dmFyIGE9YmwobCk7aWYobnVsbCE9PWEmJlNuKGEpLG51bGw9PT0oYT1YbihlLG4sdCxyKSkmJlFyKGUsbixyLFluLHQpLGE9PT1sKWJyZWFrO2w9YX1udWxsIT09bCYmci5zdG9wUHJvcGFnYXRpb24oKX1lbHNlIFFyKGUsbixyLG51bGwsdCl9fXZhciBZbj1udWxsO2Z1bmN0aW9uIFhuKGUsbix0LHIpe2lmKFluPW51bGwsbnVsbCE9PShlPXlsKGU9d2UocikpKSlpZihudWxsPT09KG49V2UoZSkpKWU9bnVsbDtlbHNlIGlmKDEzPT09KHQ9bi50YWcpKXtpZihudWxsIT09KGU9SGUobikpKXJldHVybiBlO2U9bnVsbH1lbHNlIGlmKDM9PT10KXtpZihuLnN0YXRlTm9kZS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXJldHVybiAzPT09bi50YWc/bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbzpudWxsO2U9bnVsbH1lbHNlIG4hPT1lJiYoZT1udWxsKTtyZXR1cm4gWW49ZSxudWxsfWZ1bmN0aW9uIEduKGUpe3N3aXRjaChlKXtjYXNlImNhbmNlbCI6Y2FzZSJjbGljayI6Y2FzZSJjbG9zZSI6Y2FzZSJjb250ZXh0bWVudSI6Y2FzZSJjb3B5IjpjYXNlImN1dCI6Y2FzZSJhdXhjbGljayI6Y2FzZSJkYmxjbGljayI6Y2FzZSJkcmFnZW5kIjpjYXNlImRyYWdzdGFydCI6Y2FzZSJkcm9wIjpjYXNlImZvY3VzaW4iOmNhc2UiZm9jdXNvdXQiOmNhc2UiaW5wdXQiOmNhc2UiaW52YWxpZCI6Y2FzZSJrZXlkb3duIjpjYXNlImtleXByZXNzIjpjYXNlImtleXVwIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJtb3VzZXVwIjpjYXNlInBhc3RlIjpjYXNlInBhdXNlIjpjYXNlInBsYXkiOmNhc2UicG9pbnRlcmNhbmNlbCI6Y2FzZSJwb2ludGVyZG93biI6Y2FzZSJwb2ludGVydXAiOmNhc2UicmF0ZWNoYW5nZSI6CmNhc2UicmVzZXQiOmNhc2UicmVzaXplIjpjYXNlInNlZWtlZCI6Y2FzZSJzdWJtaXQiOmNhc2UidG91Y2hjYW5jZWwiOmNhc2UidG91Y2hlbmQiOmNhc2UidG91Y2hzdGFydCI6Y2FzZSJ2b2x1bWVjaGFuZ2UiOmNhc2UiY2hhbmdlIjpjYXNlInNlbGVjdGlvbmNoYW5nZSI6Y2FzZSJ0ZXh0SW5wdXQiOmNhc2UiY29tcG9zaXRpb25zdGFydCI6Y2FzZSJjb21wb3NpdGlvbmVuZCI6Y2FzZSJjb21wb3NpdGlvbnVwZGF0ZSI6Y2FzZSJiZWZvcmVibHVyIjpjYXNlImFmdGVyYmx1ciI6Y2FzZSJiZWZvcmVpbnB1dCI6Y2FzZSJibHVyIjpjYXNlImZ1bGxzY3JlZW5jaGFuZ2UiOmNhc2UiZm9jdXMiOmNhc2UiaGFzaGNoYW5nZSI6Y2FzZSJwb3BzdGF0ZSI6Y2FzZSJzZWxlY3QiOmNhc2Uic2VsZWN0c3RhcnQiOnJldHVybiAxO2Nhc2UiZHJhZyI6Y2FzZSJkcmFnZW50ZXIiOmNhc2UiZHJhZ2V4aXQiOmNhc2UiZHJhZ2xlYXZlIjpjYXNlImRyYWdvdmVyIjpjYXNlIm1vdXNlbW92ZSI6Y2FzZSJtb3VzZW91dCI6Y2FzZSJtb3VzZW92ZXIiOmNhc2UicG9pbnRlcm1vdmUiOmNhc2UicG9pbnRlcm91dCI6Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJzY3JvbGwiOmNhc2UidG9nZ2xlIjpjYXNlInRvdWNobW92ZSI6Y2FzZSJ3aGVlbCI6Y2FzZSJtb3VzZWVudGVyIjpjYXNlIm1vdXNlbGVhdmUiOmNhc2UicG9pbnRlcmVudGVyIjpjYXNlInBvaW50ZXJsZWF2ZSI6cmV0dXJuIDQ7Y2FzZSJtZXNzYWdlIjpzd2l0Y2goWmUoKSl7Y2FzZSBKZTpyZXR1cm4gMTtjYXNlIGVuOnJldHVybiA0O2Nhc2Ugbm46Y2FzZSB0bjpyZXR1cm4gMTY7Y2FzZSBybjpyZXR1cm4gNTM2ODcwOTEyO2RlZmF1bHQ6cmV0dXJuIDE2fWRlZmF1bHQ6cmV0dXJuIDE2fX12YXIgWm49bnVsbCxKbj1udWxsLGV0PW51bGw7ZnVuY3Rpb24gbnQoKXtpZihldClyZXR1cm4gZXQ7dmFyIGUsbix0PUpuLHI9dC5sZW5ndGgsbD0idmFsdWUiaW4gWm4/Wm4udmFsdWU6Wm4udGV4dENvbnRlbnQsYT1sLmxlbmd0aDtmb3IoZT0wO2U8ciYmdFtlXT09PWxbZV07ZSsrKTt2YXIgdT1yLWU7Zm9yKG49MTtuPD11JiZ0W3Itbl09PT1sW2Etbl07bisrKTtyZXR1cm4gZXQ9bC5zbGljZShlLDE8bj8xLW46dm9pZCAwKX1mdW5jdGlvbiB0dChlKXt2YXIgbj1lLmtleUNvZGU7cmV0dXJuImNoYXJDb2RlImluIGU/MD09PShlPWUuY2hhckNvZGUpJiYxMz09PW4mJihlPTEzKTplPW4sMTA9PT1lJiYoZT0xMyksMzI8PWV8fDEzPT09ZT9lOjB9ZnVuY3Rpb24gcnQoKXtyZXR1cm4hMH1mdW5jdGlvbiBsdCgpe3JldHVybiExfWZ1bmN0aW9uIGF0KGUpe2Z1bmN0aW9uIG4obix0LHIsbCxhKXtmb3IodmFyIHUgaW4gdGhpcy5fcmVhY3ROYW1lPW4sdGhpcy5fdGFyZ2V0SW5zdD1yLHRoaXMudHlwZT10LHRoaXMubmF0aXZlRXZlbnQ9bCx0aGlzLnRhcmdldD1hLHRoaXMuY3VycmVudFRhcmdldD1udWxsLGUpZS5oYXNPd25Qcm9wZXJ0eSh1KSYmKG49ZVt1XSx0aGlzW3VdPW4/bihsKTpsW3VdKTtyZXR1cm4gdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9KG51bGwhPWwuZGVmYXVsdFByZXZlbnRlZD9sLmRlZmF1bHRQcmV2ZW50ZWQ6ITE9PT1sLnJldHVyblZhbHVlKT9ydDpsdCx0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPWx0LHRoaXN9cmV0dXJuIE8obi5wcm90b3R5cGUse3ByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0UHJldmVudGVkPSEwO3ZhciBlPXRoaXMubmF0aXZlRXZlbnQ7ZSYmKGUucHJldmVudERlZmF1bHQ/ZS5wcmV2ZW50RGVmYXVsdCgpOiJ1bmtub3duIiE9dHlwZW9mIGUucmV0dXJuVmFsdWUmJihlLnJldHVyblZhbHVlPSExKSx0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1ydCl9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMubmF0aXZlRXZlbnQ7ZSYmKGUuc3RvcFByb3BhZ2F0aW9uP2Uuc3RvcFByb3BhZ2F0aW9uKCk6InVua25vd24iIT10eXBlb2YgZS5jYW5jZWxCdWJibGUmJihlLmNhbmNlbEJ1YmJsZT0hMCksdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1ydCl9LHBlcnNpc3Q6ZnVuY3Rpb24oKXt9LGlzUGVyc2lzdGVudDpydH0pLG59dmFyIHV0LG90LGl0LHN0PXtldmVudFBoYXNlOjAsYnViYmxlczowLGNhbmNlbGFibGU6MCx0aW1lU3RhbXA6ZnVuY3Rpb24oZSl7cmV0dXJuIGUudGltZVN0YW1wfHxEYXRlLm5vdygpfSxkZWZhdWx0UHJldmVudGVkOjAsaXNUcnVzdGVkOjB9LGN0PWF0KHN0KSxmdD1PKHt9LHN0LHt2aWV3OjAsZGV0YWlsOjB9KSxkdD1hdChmdCkscHQ9Tyh7fSxmdCx7c2NyZWVuWDowLHNjcmVlblk6MCxjbGllbnRYOjAsY2xpZW50WTowLHBhZ2VYOjAscGFnZVk6MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxhbHRLZXk6MCxtZXRhS2V5OjAsZ2V0TW9kaWZpZXJTdGF0ZTpDdCxidXR0b246MCxidXR0b25zOjAscmVsYXRlZFRhcmdldDpmdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwPT09ZS5yZWxhdGVkVGFyZ2V0P2UuZnJvbUVsZW1lbnQ9PT1lLnNyY0VsZW1lbnQ/ZS50b0VsZW1lbnQ6ZS5mcm9tRWxlbWVudDplLnJlbGF0ZWRUYXJnZXR9LG1vdmVtZW50WDpmdW5jdGlvbihlKXtyZXR1cm4ibW92ZW1lbnRYImluIGU/ZS5tb3ZlbWVudFg6KGUhPT1pdCYmKGl0JiYibW91c2Vtb3ZlIj09PWUudHlwZT8odXQ9ZS5zY3JlZW5YLWl0LnNjcmVlblgsb3Q9ZS5zY3JlZW5ZLWl0LnNjcmVlblkpOm90PXV0PTAsaXQ9ZSksdXQpfSxtb3ZlbWVudFk6ZnVuY3Rpb24oZSl7cmV0dXJuIm1vdmVtZW50WSJpbiBlP2UubW92ZW1lbnRZOm90fX0pLG10PWF0KHB0KSxodD1hdChPKHt9LHB0LHtkYXRhVHJhbnNmZXI6MH0pKSxndD1hdChPKHt9LGZ0LHtyZWxhdGVkVGFyZ2V0OjB9KSksdnQ9YXQoTyh7fSxzdCx7YW5pbWF0aW9uTmFtZTowLGVsYXBzZWRUaW1lOjAscHNldWRvRWxlbWVudDowfSkpLHl0PU8oe30sc3Qse2NsaXBib2FyZERhdGE6ZnVuY3Rpb24oZSl7cmV0dXJuImNsaXBib2FyZERhdGEiaW4gZT9lLmNsaXBib2FyZERhdGE6d2luZG93LmNsaXBib2FyZERhdGF9fSksYnQ9YXQoeXQpLGt0PWF0KE8oe30sc3Qse2RhdGE6MH0pKSx3dD17RXNjOiJFc2NhcGUiLFNwYWNlYmFyOiIgIixMZWZ0OiJBcnJvd0xlZnQiLApVcDoiQXJyb3dVcCIsUmlnaHQ6IkFycm93UmlnaHQiLERvd246IkFycm93RG93biIsRGVsOiJEZWxldGUiLFdpbjoiT1MiLE1lbnU6IkNvbnRleHRNZW51IixBcHBzOiJDb250ZXh0TWVudSIsU2Nyb2xsOiJTY3JvbGxMb2NrIixNb3pQcmludGFibGVLZXk6IlVuaWRlbnRpZmllZCJ9LFN0PXs4OiJCYWNrc3BhY2UiLDk6IlRhYiIsMTI6IkNsZWFyIiwxMzoiRW50ZXIiLDE2OiJTaGlmdCIsMTc6IkNvbnRyb2wiLDE4OiJBbHQiLDE5OiJQYXVzZSIsMjA6IkNhcHNMb2NrIiwyNzoiRXNjYXBlIiwzMjoiICIsMzM6IlBhZ2VVcCIsMzQ6IlBhZ2VEb3duIiwzNToiRW5kIiwzNjoiSG9tZSIsMzc6IkFycm93TGVmdCIsMzg6IkFycm93VXAiLDM5OiJBcnJvd1JpZ2h0Iiw0MDoiQXJyb3dEb3duIiw0NToiSW5zZXJ0Iiw0NjoiRGVsZXRlIiwxMTI6IkYxIiwxMTM6IkYyIiwxMTQ6IkYzIiwxMTU6IkY0IiwxMTY6IkY1IiwxMTc6IkY2IiwxMTg6IkY3IiwxMTk6IkY4IiwxMjA6IkY5IiwxMjE6IkYxMCIsMTIyOiJGMTEiLDEyMzoiRjEyIiwxNDQ6Ik51bUxvY2siLDE0NToiU2Nyb2xsTG9jayIsMjI0OiJNZXRhIn0seHQ9e0FsdDoiYWx0S2V5IixDb250cm9sOiJjdHJsS2V5IixNZXRhOiJtZXRhS2V5IixTaGlmdDoic2hpZnRLZXkifTtmdW5jdGlvbiBFdChlKXt2YXIgbj10aGlzLm5hdGl2ZUV2ZW50O3JldHVybiBuLmdldE1vZGlmaWVyU3RhdGU/bi5nZXRNb2RpZmllclN0YXRlKGUpOiEhKGU9eHRbZV0pJiYhIW5bZV19ZnVuY3Rpb24gQ3QoKXtyZXR1cm4gRXR9dmFyIHp0PU8oe30sZnQse2tleTpmdW5jdGlvbihlKXtpZihlLmtleSl7dmFyIG49d3RbZS5rZXldfHxlLmtleTtpZigiVW5pZGVudGlmaWVkIiE9PW4pcmV0dXJuIG59cmV0dXJuImtleXByZXNzIj09PWUudHlwZT8xMz09PShlPXR0KGUpKT8iRW50ZXIiOlN0cmluZy5mcm9tQ2hhckNvZGUoZSk6ImtleWRvd24iPT09ZS50eXBlfHwia2V5dXAiPT09ZS50eXBlP1N0W2Uua2V5Q29kZV18fCJVbmlkZW50aWZpZWQiOiIifSxjb2RlOjAsbG9jYXRpb246MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxhbHRLZXk6MCxtZXRhS2V5OjAscmVwZWF0OjAsbG9jYWxlOjAsZ2V0TW9kaWZpZXJTdGF0ZTpDdCxjaGFyQ29kZTpmdW5jdGlvbihlKXtyZXR1cm4ia2V5cHJlc3MiPT09ZS50eXBlP3R0KGUpOjB9LGtleUNvZGU6ZnVuY3Rpb24oZSl7cmV0dXJuImtleWRvd24iPT09ZS50eXBlfHwia2V5dXAiPT09ZS50eXBlP2Uua2V5Q29kZTowfSx3aGljaDpmdW5jdGlvbihlKXtyZXR1cm4ia2V5cHJlc3MiPT09ZS50eXBlP3R0KGUpOiJrZXlkb3duIj09PWUudHlwZXx8ImtleXVwIj09PWUudHlwZT9lLmtleUNvZGU6MH19KSxOdD1hdCh6dCksX3Q9YXQoTyh7fSxwdCx7cG9pbnRlcklkOjAsd2lkdGg6MCxoZWlnaHQ6MCxwcmVzc3VyZTowLHRhbmdlbnRpYWxQcmVzc3VyZTowLHRpbHRYOjAsdGlsdFk6MCx0d2lzdDowLHBvaW50ZXJUeXBlOjAsaXNQcmltYXJ5OjB9KSksUHQ9YXQoTyh7fSxmdCx7dG91Y2hlczowLHRhcmdldFRvdWNoZXM6MCxjaGFuZ2VkVG91Y2hlczowLGFsdEtleTowLG1ldGFLZXk6MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxnZXRNb2RpZmllclN0YXRlOkN0fSkpLFR0PWF0KE8oe30sc3Qse3Byb3BlcnR5TmFtZTowLGVsYXBzZWRUaW1lOjAscHNldWRvRWxlbWVudDowfSkpLEx0PU8oe30scHQse2RlbHRhWDpmdW5jdGlvbihlKXtyZXR1cm4iZGVsdGFYImluIGU/ZS5kZWx0YVg6IndoZWVsRGVsdGFYImluIGU/LWUud2hlZWxEZWx0YVg6MH0sZGVsdGFZOmZ1bmN0aW9uKGUpe3JldHVybiJkZWx0YVkiaW4gZT9lLmRlbHRhWToid2hlZWxEZWx0YVkiaW4gZT8tZS53aGVlbERlbHRhWToid2hlZWxEZWx0YSJpbiBlPy1lLndoZWVsRGVsdGE6MH0sZGVsdGFaOjAsZGVsdGFNb2RlOjB9KSxNdD1hdChMdCksRnQ9WzksMTMsMjcsMzJdLFJ0PWMmJiJDb21wb3NpdGlvbkV2ZW50ImluIHdpbmRvdyxEdD1udWxsO2MmJiJkb2N1bWVudE1vZGUiaW4gZG9jdW1lbnQmJihEdD1kb2N1bWVudC5kb2N1bWVudE1vZGUpO3ZhciBJdD1jJiYiVGV4dEV2ZW50ImluIHdpbmRvdyYmIUR0LE90PWMmJighUnR8fER0JiY4PER0JiYxMT49RHQpLFV0PVN0cmluZy5mcm9tQ2hhckNvZGUoMzIpLFZ0PSExO2Z1bmN0aW9uIEF0KGUsbil7c3dpdGNoKGUpe2Nhc2Uia2V5dXAiOnJldHVybi0xIT09RnQuaW5kZXhPZihuLmtleUNvZGUpO2Nhc2Uia2V5ZG93biI6cmV0dXJuIDIyOSE9PW4ua2V5Q29kZTtjYXNlImtleXByZXNzIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJmb2N1c291dCI6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19ZnVuY3Rpb24gQnQoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZihlPWUuZGV0YWlsKSYmImRhdGEiaW4gZT9lLmRhdGE6bnVsbH12YXIgV3Q9ITE7dmFyIEh0PXtjb2xvcjohMCxkYXRlOiEwLGRhdGV0aW1lOiEwLCJkYXRldGltZS1sb2NhbCI6ITAsZW1haWw6ITAsbW9udGg6ITAsbnVtYmVyOiEwLHBhc3N3b3JkOiEwLHJhbmdlOiEwLHNlYXJjaDohMCx0ZWw6ITAsdGV4dDohMCx0aW1lOiEwLHVybDohMCx3ZWVrOiEwfTtmdW5jdGlvbiBRdChlKXt2YXIgbj1lJiZlLm5vZGVOYW1lJiZlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PW4/ISFIdFtlLnR5cGVdOiJ0ZXh0YXJlYSI9PT1ufWZ1bmN0aW9uIGp0KGUsbix0LHIpe3plKHIpLDA8KG49JHIobiwib25DaGFuZ2UiKSkubGVuZ3RoJiYodD1uZXcgY3QoIm9uQ2hhbmdlIiwiY2hhbmdlIixudWxsLHQsciksZS5wdXNoKHtldmVudDp0LGxpc3RlbmVyczpufSkpfXZhciAkdD1udWxsLHF0PW51bGw7ZnVuY3Rpb24gS3QoZSl7VXIoZSwwKX1mdW5jdGlvbiBZdChlKXtpZihxKGtsKGUpKSlyZXR1cm4gZX1mdW5jdGlvbiBYdChlLG4pe2lmKCJjaGFuZ2UiPT09ZSlyZXR1cm4gbn12YXIgR3Q9ITE7aWYoYyl7dmFyIFp0O2lmKGMpe3ZhciBKdD0ib25pbnB1dCJpbiBkb2N1bWVudDtpZighSnQpe3ZhciBlcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtlci5zZXRBdHRyaWJ1dGUoIm9uaW5wdXQiLCJyZXR1cm47IiksSnQ9ImZ1bmN0aW9uIj09dHlwZW9mIGVyLm9uaW5wdXR9WnQ9SnQKfWVsc2UgWnQ9ITE7R3Q9WnQmJighZG9jdW1lbnQuZG9jdW1lbnRNb2RlfHw5PGRvY3VtZW50LmRvY3VtZW50TW9kZSl9ZnVuY3Rpb24gbnIoKXskdCYmKCR0LmRldGFjaEV2ZW50KCJvbnByb3BlcnR5Y2hhbmdlIix0cikscXQ9JHQ9bnVsbCl9ZnVuY3Rpb24gdHIoZSl7aWYoInZhbHVlIj09PWUucHJvcGVydHlOYW1lJiZZdChxdCkpe3ZhciBuPVtdO2p0KG4scXQsZSx3ZShlKSksTGUoS3Qsbil9fWZ1bmN0aW9uIHJyKGUsbix0KXsiZm9jdXNpbiI9PT1lPyhucigpLHF0PXQsKCR0PW4pLmF0dGFjaEV2ZW50KCJvbnByb3BlcnR5Y2hhbmdlIix0cikpOiJmb2N1c291dCI9PT1lJiZucigpfWZ1bmN0aW9uIGxyKGUpe2lmKCJzZWxlY3Rpb25jaGFuZ2UiPT09ZXx8ImtleXVwIj09PWV8fCJrZXlkb3duIj09PWUpcmV0dXJuIFl0KHF0KX1mdW5jdGlvbiBhcihlLG4pe2lmKCJjbGljayI9PT1lKXJldHVybiBZdChuKX1mdW5jdGlvbiB1cihlLG4pe2lmKCJpbnB1dCI9PT1lfHwiY2hhbmdlIj09PWUpcmV0dXJuIFl0KG4pfXZhciBvcj0iZnVuY3Rpb24iPT10eXBlb2YgT2JqZWN0LmlzP09iamVjdC5pczpmdW5jdGlvbihlLG4pe3JldHVybiBlPT09biYmKDAhPT1lfHwxL2U9PTEvbil8fGUhPWUmJm4hPW59O2Z1bmN0aW9uIGlyKGUsbil7aWYob3IoZSxuKSlyZXR1cm4hMDtpZigib2JqZWN0IiE9dHlwZW9mIGV8fG51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIG58fG51bGw9PT1uKXJldHVybiExO3ZhciB0PU9iamVjdC5rZXlzKGUpLHI9T2JqZWN0LmtleXMobik7aWYodC5sZW5ndGghPT1yLmxlbmd0aClyZXR1cm4hMTtmb3Iocj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbD10W3JdO2lmKCFmLmNhbGwobixsKXx8IW9yKGVbbF0sbltsXSkpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gc3IoZSl7Zm9yKDtlJiZlLmZpcnN0Q2hpbGQ7KWU9ZS5maXJzdENoaWxkO3JldHVybiBlfWZ1bmN0aW9uIGNyKGUsbil7dmFyIHQscj1zcihlKTtmb3IoZT0wO3I7KXtpZigzPT09ci5ub2RlVHlwZSl7aWYodD1lK3IudGV4dENvbnRlbnQubGVuZ3RoLGU8PW4mJnQ+PW4pcmV0dXJue25vZGU6cixvZmZzZXQ6bi1lfTtlPXR9ZTp7Zm9yKDtyOyl7aWYoci5uZXh0U2libGluZyl7cj1yLm5leHRTaWJsaW5nO2JyZWFrIGV9cj1yLnBhcmVudE5vZGV9cj12b2lkIDB9cj1zcihyKX19ZnVuY3Rpb24gZnIoZSxuKXtyZXR1cm4hKCFlfHwhbikmJihlPT09bnx8KCFlfHwzIT09ZS5ub2RlVHlwZSkmJihuJiYzPT09bi5ub2RlVHlwZT9mcihlLG4ucGFyZW50Tm9kZSk6ImNvbnRhaW5zImluIGU/ZS5jb250YWlucyhuKTohIWUuY29tcGFyZURvY3VtZW50UG9zaXRpb24mJiEhKDE2JmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24obikpKSl9ZnVuY3Rpb24gZHIoKXtmb3IodmFyIGU9d2luZG93LG49SygpO24gaW5zdGFuY2VvZiBlLkhUTUxJRnJhbWVFbGVtZW50Oyl7dHJ5e3ZhciB0PSJzdHJpbmciPT10eXBlb2Ygbi5jb250ZW50V2luZG93LmxvY2F0aW9uLmhyZWZ9Y2F0Y2goZSl7dD0hMX1pZighdClicmVhaztuPUsoKGU9bi5jb250ZW50V2luZG93KS5kb2N1bWVudCl9cmV0dXJuIG59ZnVuY3Rpb24gcHIoZSl7dmFyIG49ZSYmZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiBuJiYoImlucHV0Ij09PW4mJigidGV4dCI9PT1lLnR5cGV8fCJzZWFyY2giPT09ZS50eXBlfHwidGVsIj09PWUudHlwZXx8InVybCI9PT1lLnR5cGV8fCJwYXNzd29yZCI9PT1lLnR5cGUpfHwidGV4dGFyZWEiPT09bnx8InRydWUiPT09ZS5jb250ZW50RWRpdGFibGUpfWZ1bmN0aW9uIG1yKGUpe3ZhciBuPWRyKCksdD1lLmZvY3VzZWRFbGVtLHI9ZS5zZWxlY3Rpb25SYW5nZTtpZihuIT09dCYmdCYmdC5vd25lckRvY3VtZW50JiZmcih0Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHQpKXtpZihudWxsIT09ciYmcHIodCkpaWYobj1yLnN0YXJ0LHZvaWQgMD09PShlPXIuZW5kKSYmKGU9biksInNlbGVjdGlvblN0YXJ0ImluIHQpdC5zZWxlY3Rpb25TdGFydD1uLHQuc2VsZWN0aW9uRW5kPU1hdGgubWluKGUsdC52YWx1ZS5sZW5ndGgpO2Vsc2UgaWYoKGU9KG49dC5vd25lckRvY3VtZW50fHxkb2N1bWVudCkmJm4uZGVmYXVsdFZpZXd8fHdpbmRvdykuZ2V0U2VsZWN0aW9uKXtlPWUuZ2V0U2VsZWN0aW9uKCk7dmFyIGw9dC50ZXh0Q29udGVudC5sZW5ndGgsYT1NYXRoLm1pbihyLnN0YXJ0LGwpO3I9dm9pZCAwPT09ci5lbmQ/YTpNYXRoLm1pbihyLmVuZCxsKSwhZS5leHRlbmQmJmE+ciYmKGw9cixyPWEsYT1sKSxsPWNyKHQsYSk7dmFyIHU9Y3IodCxyKTtsJiZ1JiYoMSE9PWUucmFuZ2VDb3VudHx8ZS5hbmNob3JOb2RlIT09bC5ub2RlfHxlLmFuY2hvck9mZnNldCE9PWwub2Zmc2V0fHxlLmZvY3VzTm9kZSE9PXUubm9kZXx8ZS5mb2N1c09mZnNldCE9PXUub2Zmc2V0KSYmKChuPW4uY3JlYXRlUmFuZ2UoKSkuc2V0U3RhcnQobC5ub2RlLGwub2Zmc2V0KSxlLnJlbW92ZUFsbFJhbmdlcygpLGE+cj8oZS5hZGRSYW5nZShuKSxlLmV4dGVuZCh1Lm5vZGUsdS5vZmZzZXQpKToobi5zZXRFbmQodS5ub2RlLHUub2Zmc2V0KSxlLmFkZFJhbmdlKG4pKSl9Zm9yKG49W10sZT10O2U9ZS5wYXJlbnROb2RlOykxPT09ZS5ub2RlVHlwZSYmbi5wdXNoKHtlbGVtZW50OmUsbGVmdDplLnNjcm9sbExlZnQsdG9wOmUuc2Nyb2xsVG9wfSk7Zm9yKCJmdW5jdGlvbiI9PXR5cGVvZiB0LmZvY3VzJiZ0LmZvY3VzKCksdD0wO3Q8bi5sZW5ndGg7dCsrKShlPW5bdF0pLmVsZW1lbnQuc2Nyb2xsTGVmdD1lLmxlZnQsZS5lbGVtZW50LnNjcm9sbFRvcD1lLnRvcH19dmFyIGhyPWMmJiJkb2N1bWVudE1vZGUiaW4gZG9jdW1lbnQmJjExPj1kb2N1bWVudC5kb2N1bWVudE1vZGUsZ3I9bnVsbCx2cj1udWxsLHlyPW51bGwsYnI9ITE7ZnVuY3Rpb24ga3IoZSxuLHQpe3ZhciByPXQud2luZG93PT09dD90LmRvY3VtZW50Ojk9PT10Lm5vZGVUeXBlP3Q6dC5vd25lckRvY3VtZW50O2JyfHxudWxsPT1ncnx8Z3IhPT1LKHIpfHwoInNlbGVjdGlvblN0YXJ0ImluKHI9Z3IpJiZwcihyKT9yPXtzdGFydDpyLnNlbGVjdGlvblN0YXJ0LGVuZDpyLnNlbGVjdGlvbkVuZAp9OnI9e2FuY2hvck5vZGU6KHI9KHIub3duZXJEb2N1bWVudCYmci5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx3aW5kb3cpLmdldFNlbGVjdGlvbigpKS5hbmNob3JOb2RlLGFuY2hvck9mZnNldDpyLmFuY2hvck9mZnNldCxmb2N1c05vZGU6ci5mb2N1c05vZGUsZm9jdXNPZmZzZXQ6ci5mb2N1c09mZnNldH0seXImJmlyKHlyLHIpfHwoeXI9ciwwPChyPSRyKHZyLCJvblNlbGVjdCIpKS5sZW5ndGgmJihuPW5ldyBjdCgib25TZWxlY3QiLCJzZWxlY3QiLG51bGwsbix0KSxlLnB1c2goe2V2ZW50Om4sbGlzdGVuZXJzOnJ9KSxuLnRhcmdldD1ncikpKX1mdW5jdGlvbiB3cihlLG4pe3ZhciB0PXt9O3JldHVybiB0W2UudG9Mb3dlckNhc2UoKV09bi50b0xvd2VyQ2FzZSgpLHRbIldlYmtpdCIrZV09IndlYmtpdCIrbix0WyJNb3oiK2VdPSJtb3oiK24sdH12YXIgU3I9e2FuaW1hdGlvbmVuZDp3cigiQW5pbWF0aW9uIiwiQW5pbWF0aW9uRW5kIiksYW5pbWF0aW9uaXRlcmF0aW9uOndyKCJBbmltYXRpb24iLCJBbmltYXRpb25JdGVyYXRpb24iKSxhbmltYXRpb25zdGFydDp3cigiQW5pbWF0aW9uIiwiQW5pbWF0aW9uU3RhcnQiKSx0cmFuc2l0aW9uZW5kOndyKCJUcmFuc2l0aW9uIiwiVHJhbnNpdGlvbkVuZCIpfSx4cj17fSxFcj17fTtmdW5jdGlvbiBDcihlKXtpZih4cltlXSlyZXR1cm4geHJbZV07aWYoIVNyW2VdKXJldHVybiBlO3ZhciBuLHQ9U3JbZV07Zm9yKG4gaW4gdClpZih0Lmhhc093blByb3BlcnR5KG4pJiZuIGluIEVyKXJldHVybiB4cltlXT10W25dO3JldHVybiBlfWMmJihFcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKS5zdHlsZSwiQW5pbWF0aW9uRXZlbnQiaW4gd2luZG93fHwoZGVsZXRlIFNyLmFuaW1hdGlvbmVuZC5hbmltYXRpb24sZGVsZXRlIFNyLmFuaW1hdGlvbml0ZXJhdGlvbi5hbmltYXRpb24sZGVsZXRlIFNyLmFuaW1hdGlvbnN0YXJ0LmFuaW1hdGlvbiksIlRyYW5zaXRpb25FdmVudCJpbiB3aW5kb3d8fGRlbGV0ZSBTci50cmFuc2l0aW9uZW5kLnRyYW5zaXRpb24pO3ZhciB6cj1DcigiYW5pbWF0aW9uZW5kIiksTnI9Q3IoImFuaW1hdGlvbml0ZXJhdGlvbiIpLF9yPUNyKCJhbmltYXRpb25zdGFydCIpLFByPUNyKCJ0cmFuc2l0aW9uZW5kIiksVHI9bmV3IE1hcCxMcj0iYWJvcnQgYXV4Q2xpY2sgY2FuY2VsIGNhblBsYXkgY2FuUGxheVRocm91Z2ggY2xpY2sgY2xvc2UgY29udGV4dE1lbnUgY29weSBjdXQgZHJhZyBkcmFnRW5kIGRyYWdFbnRlciBkcmFnRXhpdCBkcmFnTGVhdmUgZHJhZ092ZXIgZHJhZ1N0YXJ0IGRyb3AgZHVyYXRpb25DaGFuZ2UgZW1wdGllZCBlbmNyeXB0ZWQgZW5kZWQgZXJyb3IgZ290UG9pbnRlckNhcHR1cmUgaW5wdXQgaW52YWxpZCBrZXlEb3duIGtleVByZXNzIGtleVVwIGxvYWQgbG9hZGVkRGF0YSBsb2FkZWRNZXRhZGF0YSBsb2FkU3RhcnQgbG9zdFBvaW50ZXJDYXB0dXJlIG1vdXNlRG93biBtb3VzZU1vdmUgbW91c2VPdXQgbW91c2VPdmVyIG1vdXNlVXAgcGFzdGUgcGF1c2UgcGxheSBwbGF5aW5nIHBvaW50ZXJDYW5jZWwgcG9pbnRlckRvd24gcG9pbnRlck1vdmUgcG9pbnRlck91dCBwb2ludGVyT3ZlciBwb2ludGVyVXAgcHJvZ3Jlc3MgcmF0ZUNoYW5nZSByZXNldCByZXNpemUgc2Vla2VkIHNlZWtpbmcgc3RhbGxlZCBzdWJtaXQgc3VzcGVuZCB0aW1lVXBkYXRlIHRvdWNoQ2FuY2VsIHRvdWNoRW5kIHRvdWNoU3RhcnQgdm9sdW1lQ2hhbmdlIHNjcm9sbCB0b2dnbGUgdG91Y2hNb3ZlIHdhaXRpbmcgd2hlZWwiLnNwbGl0KCIgIik7ZnVuY3Rpb24gTXIoZSxuKXtUci5zZXQoZSxuKSxpKG4sW2VdKX1mb3IodmFyIEZyPTA7RnI8THIubGVuZ3RoO0ZyKyspe3ZhciBScj1McltGcl07TXIoUnIudG9Mb3dlckNhc2UoKSwib24iKyhSclswXS50b1VwcGVyQ2FzZSgpK1JyLnNsaWNlKDEpKSl9TXIoenIsIm9uQW5pbWF0aW9uRW5kIiksTXIoTnIsIm9uQW5pbWF0aW9uSXRlcmF0aW9uIiksTXIoX3IsIm9uQW5pbWF0aW9uU3RhcnQiKSxNcigiZGJsY2xpY2siLCJvbkRvdWJsZUNsaWNrIiksTXIoImZvY3VzaW4iLCJvbkZvY3VzIiksTXIoImZvY3Vzb3V0Iiwib25CbHVyIiksTXIoUHIsIm9uVHJhbnNpdGlvbkVuZCIpLHMoIm9uTW91c2VFbnRlciIsWyJtb3VzZW91dCIsIm1vdXNlb3ZlciJdKSxzKCJvbk1vdXNlTGVhdmUiLFsibW91c2VvdXQiLCJtb3VzZW92ZXIiXSkscygib25Qb2ludGVyRW50ZXIiLFsicG9pbnRlcm91dCIsInBvaW50ZXJvdmVyIl0pLHMoIm9uUG9pbnRlckxlYXZlIixbInBvaW50ZXJvdXQiLCJwb2ludGVyb3ZlciJdKSxpKCJvbkNoYW5nZSIsImNoYW5nZSBjbGljayBmb2N1c2luIGZvY3Vzb3V0IGlucHV0IGtleWRvd24ga2V5dXAgc2VsZWN0aW9uY2hhbmdlIi5zcGxpdCgiICIpKSxpKCJvblNlbGVjdCIsImZvY3Vzb3V0IGNvbnRleHRtZW51IGRyYWdlbmQgZm9jdXNpbiBrZXlkb3duIGtleXVwIG1vdXNlZG93biBtb3VzZXVwIHNlbGVjdGlvbmNoYW5nZSIuc3BsaXQoIiAiKSksaSgib25CZWZvcmVJbnB1dCIsWyJjb21wb3NpdGlvbmVuZCIsImtleXByZXNzIiwidGV4dElucHV0IiwicGFzdGUiXSksaSgib25Db21wb3NpdGlvbkVuZCIsImNvbXBvc2l0aW9uZW5kIGZvY3Vzb3V0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2Vkb3duIi5zcGxpdCgiICIpKSxpKCJvbkNvbXBvc2l0aW9uU3RhcnQiLCJjb21wb3NpdGlvbnN0YXJ0IGZvY3Vzb3V0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2Vkb3duIi5zcGxpdCgiICIpKSxpKCJvbkNvbXBvc2l0aW9uVXBkYXRlIiwiY29tcG9zaXRpb251cGRhdGUgZm9jdXNvdXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBtb3VzZWRvd24iLnNwbGl0KCIgIikpCjt2YXIgRHI9ImFib3J0IGNhbnBsYXkgY2FucGxheXRocm91Z2ggZHVyYXRpb25jaGFuZ2UgZW1wdGllZCBlbmNyeXB0ZWQgZW5kZWQgZXJyb3IgbG9hZGVkZGF0YSBsb2FkZWRtZXRhZGF0YSBsb2Fkc3RhcnQgcGF1c2UgcGxheSBwbGF5aW5nIHByb2dyZXNzIHJhdGVjaGFuZ2UgcmVzaXplIHNlZWtlZCBzZWVraW5nIHN0YWxsZWQgc3VzcGVuZCB0aW1ldXBkYXRlIHZvbHVtZWNoYW5nZSB3YWl0aW5nIi5zcGxpdCgiICIpLElyPW5ldyBTZXQoImNhbmNlbCBjbG9zZSBpbnZhbGlkIGxvYWQgc2Nyb2xsIHRvZ2dsZSIuc3BsaXQoIiAiKS5jb25jYXQoRHIpKTtmdW5jdGlvbiBPcihlLG4sdCl7dmFyIHI9ZS50eXBlfHwidW5rbm93bi1ldmVudCI7ZS5jdXJyZW50VGFyZ2V0PXQsZnVuY3Rpb24oZSxuLHQscixsLHUsbyxpLHMpe2lmKEJlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxJZSl7aWYoIUllKXRocm93IEVycm9yKGEoMTk4KSk7dmFyIGM9T2U7SWU9ITEsT2U9bnVsbCxVZXx8KFVlPSEwLFZlPWMpfX0ocixuLHZvaWQgMCxlKSxlLmN1cnJlbnRUYXJnZXQ9bnVsbH1mdW5jdGlvbiBVcihlLG4pe249ISEoNCZuKTtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKyl7dmFyIHI9ZVt0XSxsPXIuZXZlbnQ7cj1yLmxpc3RlbmVycztlOnt2YXIgYT12b2lkIDA7aWYobilmb3IodmFyIHU9ci5sZW5ndGgtMTswPD11O3UtLSl7dmFyIG89clt1XSxpPW8uaW5zdGFuY2Uscz1vLmN1cnJlbnRUYXJnZXQ7aWYobz1vLmxpc3RlbmVyLGkhPT1hJiZsLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpYnJlYWsgZTtPcihsLG8scyksYT1pfWVsc2UgZm9yKHU9MDt1PHIubGVuZ3RoO3UrKyl7aWYoaT0obz1yW3VdKS5pbnN0YW5jZSxzPW8uY3VycmVudFRhcmdldCxvPW8ubGlzdGVuZXIsaSE9PWEmJmwuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSlicmVhayBlO09yKGwsbyxzKSxhPWl9fX1pZihVZSl0aHJvdyBlPVZlLFVlPSExLFZlPW51bGwsZX1mdW5jdGlvbiBWcihlLG4pe3ZhciB0PW5baGxdO3ZvaWQgMD09PXQmJih0PW5baGxdPW5ldyBTZXQpO3ZhciByPWUrIl9fYnViYmxlIjt0LmhhcyhyKXx8KEhyKG4sZSwyLCExKSx0LmFkZChyKSl9ZnVuY3Rpb24gQXIoZSxuLHQpe3ZhciByPTA7biYmKHJ8PTQpLEhyKHQsZSxyLG4pfXZhciBCcj0iX3JlYWN0TGlzdGVuaW5nIitNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKTtmdW5jdGlvbiBXcihlKXtpZighZVtCcl0pe2VbQnJdPSEwLHUuZm9yRWFjaCgoZnVuY3Rpb24obil7InNlbGVjdGlvbmNoYW5nZSIhPT1uJiYoSXIuaGFzKG4pfHxBcihuLCExLGUpLEFyKG4sITAsZSkpfSkpO3ZhciBuPTk9PT1lLm5vZGVUeXBlP2U6ZS5vd25lckRvY3VtZW50O251bGw9PT1ufHxuW0JyXXx8KG5bQnJdPSEwLEFyKCJzZWxlY3Rpb25jaGFuZ2UiLCExLG4pKX19ZnVuY3Rpb24gSHIoZSxuLHQscil7c3dpdGNoKEduKG4pKXtjYXNlIDE6dmFyIGw9JG47YnJlYWs7Y2FzZSA0Omw9cW47YnJlYWs7ZGVmYXVsdDpsPUtufXQ9bC5iaW5kKG51bGwsbix0LGUpLGw9dm9pZCAwLCFGZXx8InRvdWNoc3RhcnQiIT09biYmInRvdWNobW92ZSIhPT1uJiYid2hlZWwiIT09bnx8KGw9ITApLHI/dm9pZCAwIT09bD9lLmFkZEV2ZW50TGlzdGVuZXIobix0LHtjYXB0dXJlOiEwLHBhc3NpdmU6bH0pOmUuYWRkRXZlbnRMaXN0ZW5lcihuLHQsITApOnZvaWQgMCE9PWw/ZS5hZGRFdmVudExpc3RlbmVyKG4sdCx7cGFzc2l2ZTpsfSk6ZS5hZGRFdmVudExpc3RlbmVyKG4sdCwhMSl9ZnVuY3Rpb24gUXIoZSxuLHQscixsKXt2YXIgYT1yO2lmKCEoMSZufHwyJm58fG51bGw9PT1yKSllOmZvcig7Oyl7aWYobnVsbD09PXIpcmV0dXJuO3ZhciB1PXIudGFnO2lmKDM9PT11fHw0PT09dSl7dmFyIG89ci5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztpZihvPT09bHx8OD09PW8ubm9kZVR5cGUmJm8ucGFyZW50Tm9kZT09PWwpYnJlYWs7aWYoND09PXUpZm9yKHU9ci5yZXR1cm47bnVsbCE9PXU7KXt2YXIgaT11LnRhZztpZigoMz09PWl8fDQ9PT1pKSYmKChpPXUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pPT09bHx8OD09PWkubm9kZVR5cGUmJmkucGFyZW50Tm9kZT09PWwpKXJldHVybjt1PXUucmV0dXJufWZvcig7bnVsbCE9PW87KXtpZihudWxsPT09KHU9eWwobykpKXJldHVybjtpZig1PT09KGk9dS50YWcpfHw2PT09aSl7cj1hPXU7Y29udGludWUgZX1vPW8ucGFyZW50Tm9kZX19cj1yLnJldHVybn1MZSgoZnVuY3Rpb24oKXt2YXIgcj1hLGw9d2UodCksdT1bXTtlOnt2YXIgbz1Uci5nZXQoZSk7aWYodm9pZCAwIT09byl7dmFyIGk9Y3Qscz1lO3N3aXRjaChlKXtjYXNlImtleXByZXNzIjppZigwPT09dHQodCkpYnJlYWsgZTtjYXNlImtleWRvd24iOmNhc2Uia2V5dXAiOmk9TnQ7YnJlYWs7Y2FzZSJmb2N1c2luIjpzPSJmb2N1cyIsaT1ndDticmVhaztjYXNlImZvY3Vzb3V0IjpzPSJibHVyIixpPWd0O2JyZWFrO2Nhc2UiYmVmb3JlYmx1ciI6Y2FzZSJhZnRlcmJsdXIiOmk9Z3Q7YnJlYWs7Y2FzZSJjbGljayI6aWYoMj09PXQuYnV0dG9uKWJyZWFrIGU7Y2FzZSJhdXhjbGljayI6Y2FzZSJkYmxjbGljayI6Y2FzZSJtb3VzZWRvd24iOmNhc2UibW91c2Vtb3ZlIjpjYXNlIm1vdXNldXAiOmNhc2UibW91c2VvdXQiOmNhc2UibW91c2VvdmVyIjpjYXNlImNvbnRleHRtZW51IjppPW10O2JyZWFrO2Nhc2UiZHJhZyI6Y2FzZSJkcmFnZW5kIjpjYXNlImRyYWdlbnRlciI6Y2FzZSJkcmFnZXhpdCI6Y2FzZSJkcmFnbGVhdmUiOmNhc2UiZHJhZ292ZXIiOmNhc2UiZHJhZ3N0YXJ0IjpjYXNlImRyb3AiOmk9aHQ7YnJlYWs7Y2FzZSJ0b3VjaGNhbmNlbCI6Y2FzZSJ0b3VjaGVuZCI6Y2FzZSJ0b3VjaG1vdmUiOmNhc2UidG91Y2hzdGFydCI6aT1QdDticmVhaztjYXNlIHpyOmNhc2UgTnI6Y2FzZSBfcjppPXZ0O2JyZWFrO2Nhc2UgUHI6aT1UdDticmVhaztjYXNlInNjcm9sbCI6aT1kdDticmVhaztjYXNlIndoZWVsIjppPU10O2JyZWFrO2Nhc2UiY29weSI6Y2FzZSJjdXQiOmNhc2UicGFzdGUiOmk9YnQ7YnJlYWs7Y2FzZSJnb3Rwb2ludGVyY2FwdHVyZSI6Y2FzZSJsb3N0cG9pbnRlcmNhcHR1cmUiOgpjYXNlInBvaW50ZXJjYW5jZWwiOmNhc2UicG9pbnRlcmRvd24iOmNhc2UicG9pbnRlcm1vdmUiOmNhc2UicG9pbnRlcm91dCI6Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJwb2ludGVydXAiOmk9X3R9dmFyIGM9ISEoNCZuKSxmPSFjJiYic2Nyb2xsIj09PWUsZD1jP251bGwhPT1vP28rIkNhcHR1cmUiOm51bGw6bztjPVtdO2Zvcih2YXIgcCxtPXI7bnVsbCE9PW07KXt2YXIgaD0ocD1tKS5zdGF0ZU5vZGU7aWYoNT09PXAudGFnJiZudWxsIT09aCYmKHA9aCxudWxsIT09ZCYmKG51bGwhPShoPU1lKG0sZCkpJiZjLnB1c2goanIobSxoLHApKSkpLGYpYnJlYWs7bT1tLnJldHVybn0wPGMubGVuZ3RoJiYobz1uZXcgaShvLHMsbnVsbCx0LGwpLHUucHVzaCh7ZXZlbnQ6byxsaXN0ZW5lcnM6Y30pKX19aWYoISg3Jm4pKXtpZihpPSJtb3VzZW91dCI9PT1lfHwicG9pbnRlcm91dCI9PT1lLCghKG89Im1vdXNlb3ZlciI9PT1lfHwicG9pbnRlcm92ZXIiPT09ZSl8fHQ9PT1rZXx8IShzPXQucmVsYXRlZFRhcmdldHx8dC5mcm9tRWxlbWVudCl8fCF5bChzKSYmIXNbbWxdKSYmKGl8fG8pJiYobz1sLndpbmRvdz09PWw/bDoobz1sLm93bmVyRG9jdW1lbnQpP28uZGVmYXVsdFZpZXd8fG8ucGFyZW50V2luZG93OndpbmRvdyxpPyhpPXIsbnVsbCE9PShzPShzPXQucmVsYXRlZFRhcmdldHx8dC50b0VsZW1lbnQpP3lsKHMpOm51bGwpJiYocyE9PShmPVdlKHMpKXx8NSE9PXMudGFnJiY2IT09cy50YWcpJiYocz1udWxsKSk6KGk9bnVsbCxzPXIpLGkhPT1zKSl7aWYoYz1tdCxoPSJvbk1vdXNlTGVhdmUiLGQ9Im9uTW91c2VFbnRlciIsbT0ibW91c2UiLCJwb2ludGVyb3V0IiE9PWUmJiJwb2ludGVyb3ZlciIhPT1lfHwoYz1fdCxoPSJvblBvaW50ZXJMZWF2ZSIsZD0ib25Qb2ludGVyRW50ZXIiLG09InBvaW50ZXIiKSxmPW51bGw9PWk/bzprbChpKSxwPW51bGw9PXM/bzprbChzKSwobz1uZXcgYyhoLG0rImxlYXZlIixpLHQsbCkpLnRhcmdldD1mLG8ucmVsYXRlZFRhcmdldD1wLGg9bnVsbCx5bChsKT09PXImJigoYz1uZXcgYyhkLG0rImVudGVyIixzLHQsbCkpLnRhcmdldD1wLGMucmVsYXRlZFRhcmdldD1mLGg9YyksZj1oLGkmJnMpZTp7Zm9yKGQ9cyxtPTAscD1jPWk7cDtwPXFyKHApKW0rKztmb3IocD0wLGg9ZDtoO2g9cXIoaCkpcCsrO2Zvcig7MDxtLXA7KWM9cXIoYyksbS0tO2Zvcig7MDxwLW07KWQ9cXIoZCkscC0tO2Zvcig7bS0tOyl7aWYoYz09PWR8fG51bGwhPT1kJiZjPT09ZC5hbHRlcm5hdGUpYnJlYWsgZTtjPXFyKGMpLGQ9cXIoZCl9Yz1udWxsfWVsc2UgYz1udWxsO251bGwhPT1pJiZLcih1LG8saSxjLCExKSxudWxsIT09cyYmbnVsbCE9PWYmJktyKHUsZixzLGMsITApfWlmKCJzZWxlY3QiPT09KGk9KG89cj9rbChyKTp3aW5kb3cpLm5vZGVOYW1lJiZvLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpfHwiaW5wdXQiPT09aSYmImZpbGUiPT09by50eXBlKXZhciBnPVh0O2Vsc2UgaWYoUXQobykpaWYoR3QpZz11cjtlbHNle2c9bHI7dmFyIHY9cnJ9ZWxzZShpPW8ubm9kZU5hbWUpJiYiaW5wdXQiPT09aS50b0xvd2VyQ2FzZSgpJiYoImNoZWNrYm94Ij09PW8udHlwZXx8InJhZGlvIj09PW8udHlwZSkmJihnPWFyKTtzd2l0Y2goZyYmKGc9ZyhlLHIpKT9qdCh1LGcsdCxsKToodiYmdihlLG8sciksImZvY3Vzb3V0Ij09PWUmJih2PW8uX3dyYXBwZXJTdGF0ZSkmJnYuY29udHJvbGxlZCYmIm51bWJlciI9PT1vLnR5cGUmJmVlKG8sIm51bWJlciIsby52YWx1ZSkpLHY9cj9rbChyKTp3aW5kb3csZSl7Y2FzZSJmb2N1c2luIjooUXQodil8fCJ0cnVlIj09PXYuY29udGVudEVkaXRhYmxlKSYmKGdyPXYsdnI9cix5cj1udWxsKTticmVhaztjYXNlImZvY3Vzb3V0Ijp5cj12cj1ncj1udWxsO2JyZWFrO2Nhc2UibW91c2Vkb3duIjpicj0hMDticmVhaztjYXNlImNvbnRleHRtZW51IjpjYXNlIm1vdXNldXAiOmNhc2UiZHJhZ2VuZCI6YnI9ITEsa3IodSx0LGwpO2JyZWFrO2Nhc2Uic2VsZWN0aW9uY2hhbmdlIjppZihocilicmVhaztjYXNlImtleWRvd24iOmNhc2Uia2V5dXAiOmtyKHUsdCxsKX12YXIgeTtpZihSdCllOntzd2l0Y2goZSl7Y2FzZSJjb21wb3NpdGlvbnN0YXJ0Ijp2YXIgYj0ib25Db21wb3NpdGlvblN0YXJ0IjticmVhayBlO2Nhc2UiY29tcG9zaXRpb25lbmQiOmI9Im9uQ29tcG9zaXRpb25FbmQiO2JyZWFrIGU7Y2FzZSJjb21wb3NpdGlvbnVwZGF0ZSI6Yj0ib25Db21wb3NpdGlvblVwZGF0ZSI7YnJlYWsgZX1iPXZvaWQgMH1lbHNlIFd0P0F0KGUsdCkmJihiPSJvbkNvbXBvc2l0aW9uRW5kIik6ImtleWRvd24iPT09ZSYmMjI5PT09dC5rZXlDb2RlJiYoYj0ib25Db21wb3NpdGlvblN0YXJ0Iik7YiYmKE90JiYia28iIT09dC5sb2NhbGUmJihXdHx8Im9uQ29tcG9zaXRpb25TdGFydCIhPT1iPyJvbkNvbXBvc2l0aW9uRW5kIj09PWImJld0JiYoeT1udCgpKTooSm49InZhbHVlImluKFpuPWwpP1puLnZhbHVlOlpuLnRleHRDb250ZW50LFd0PSEwKSksMDwodj0kcihyLGIpKS5sZW5ndGgmJihiPW5ldyBrdChiLGUsbnVsbCx0LGwpLHUucHVzaCh7ZXZlbnQ6YixsaXN0ZW5lcnM6dn0pLHk/Yi5kYXRhPXk6bnVsbCE9PSh5PUJ0KHQpKSYmKGIuZGF0YT15KSkpLCh5PUl0P2Z1bmN0aW9uKGUsbil7c3dpdGNoKGUpe2Nhc2UiY29tcG9zaXRpb25lbmQiOnJldHVybiBCdChuKTtjYXNlImtleXByZXNzIjpyZXR1cm4gMzIhPT1uLndoaWNoP251bGw6KFZ0PSEwLFV0KTtjYXNlInRleHRJbnB1dCI6cmV0dXJuKGU9bi5kYXRhKT09PVV0JiZWdD9udWxsOmU7ZGVmYXVsdDpyZXR1cm4gbnVsbH19KGUsdCk6ZnVuY3Rpb24oZSxuKXtpZihXdClyZXR1cm4iY29tcG9zaXRpb25lbmQiPT09ZXx8IVJ0JiZBdChlLG4pPyhlPW50KCksZXQ9Sm49Wm49bnVsbCxXdD0hMSxlKTpudWxsO3N3aXRjaChlKXtjYXNlInBhc3RlIjpkZWZhdWx0OnJldHVybiBudWxsO2Nhc2Uia2V5cHJlc3MiOmlmKCEobi5jdHJsS2V5fHxuLmFsdEtleXx8bi5tZXRhS2V5KXx8bi5jdHJsS2V5JiZuLmFsdEtleSl7aWYobi5jaGFyJiYxPG4uY2hhci5sZW5ndGgpcmV0dXJuIG4uY2hhcgo7aWYobi53aGljaClyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZShuLndoaWNoKX1yZXR1cm4gbnVsbDtjYXNlImNvbXBvc2l0aW9uZW5kIjpyZXR1cm4gT3QmJiJrbyIhPT1uLmxvY2FsZT9udWxsOm4uZGF0YX19KGUsdCkpJiYoMDwocj0kcihyLCJvbkJlZm9yZUlucHV0IikpLmxlbmd0aCYmKGw9bmV3IGt0KCJvbkJlZm9yZUlucHV0IiwiYmVmb3JlaW5wdXQiLG51bGwsdCxsKSx1LnB1c2goe2V2ZW50OmwsbGlzdGVuZXJzOnJ9KSxsLmRhdGE9eSkpfVVyKHUsbil9KSl9ZnVuY3Rpb24ganIoZSxuLHQpe3JldHVybntpbnN0YW5jZTplLGxpc3RlbmVyOm4sY3VycmVudFRhcmdldDp0fX1mdW5jdGlvbiAkcihlLG4pe2Zvcih2YXIgdD1uKyJDYXB0dXJlIixyPVtdO251bGwhPT1lOyl7dmFyIGw9ZSxhPWwuc3RhdGVOb2RlOzU9PT1sLnRhZyYmbnVsbCE9PWEmJihsPWEsbnVsbCE9KGE9TWUoZSx0KSkmJnIudW5zaGlmdChqcihlLGEsbCkpLG51bGwhPShhPU1lKGUsbikpJiZyLnB1c2goanIoZSxhLGwpKSksZT1lLnJldHVybn1yZXR1cm4gcn1mdW5jdGlvbiBxcihlKXtpZihudWxsPT09ZSlyZXR1cm4gbnVsbDtkb3tlPWUucmV0dXJufXdoaWxlKGUmJjUhPT1lLnRhZyk7cmV0dXJuIGV8fG51bGx9ZnVuY3Rpb24gS3IoZSxuLHQscixsKXtmb3IodmFyIGE9bi5fcmVhY3ROYW1lLHU9W107bnVsbCE9PXQmJnQhPT1yOyl7dmFyIG89dCxpPW8uYWx0ZXJuYXRlLHM9by5zdGF0ZU5vZGU7aWYobnVsbCE9PWkmJmk9PT1yKWJyZWFrOzU9PT1vLnRhZyYmbnVsbCE9PXMmJihvPXMsbD9udWxsIT0oaT1NZSh0LGEpKSYmdS51bnNoaWZ0KGpyKHQsaSxvKSk6bHx8bnVsbCE9KGk9TWUodCxhKSkmJnUucHVzaChqcih0LGksbykpKSx0PXQucmV0dXJufTAhPT11Lmxlbmd0aCYmZS5wdXNoKHtldmVudDpuLGxpc3RlbmVyczp1fSl9dmFyIFlyPS9cclxuPy9nLFhyPS9cdTAwMDB8XHVGRkZEL2c7ZnVuY3Rpb24gR3IoZSl7cmV0dXJuKCJzdHJpbmciPT10eXBlb2YgZT9lOiIiK2UpLnJlcGxhY2UoWXIsIlxuIikucmVwbGFjZShYciwiIil9ZnVuY3Rpb24gWnIoZSxuLHQpe2lmKG49R3IobiksR3IoZSkhPT1uJiZ0KXRocm93IEVycm9yKGEoNDI1KSl9ZnVuY3Rpb24gSnIoKXt9dmFyIGVsPW51bGwsbmw9bnVsbDtmdW5jdGlvbiB0bChlLG4pe3JldHVybiJ0ZXh0YXJlYSI9PT1lfHwibm9zY3JpcHQiPT09ZXx8InN0cmluZyI9PXR5cGVvZiBuLmNoaWxkcmVufHwibnVtYmVyIj09dHlwZW9mIG4uY2hpbGRyZW58fCJvYmplY3QiPT10eXBlb2Ygbi5kYW5nZXJvdXNseVNldElubmVySFRNTCYmbnVsbCE9PW4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwmJm51bGwhPW4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sfXZhciBybD0iZnVuY3Rpb24iPT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0OnZvaWQgMCxsbD0iZnVuY3Rpb24iPT10eXBlb2YgY2xlYXJUaW1lb3V0P2NsZWFyVGltZW91dDp2b2lkIDAsYWw9ImZ1bmN0aW9uIj09dHlwZW9mIFByb21pc2U/UHJvbWlzZTp2b2lkIDAsdWw9ImZ1bmN0aW9uIj09dHlwZW9mIHF1ZXVlTWljcm90YXNrP3F1ZXVlTWljcm90YXNrOnZvaWQgMCE9PWFsP2Z1bmN0aW9uKGUpe3JldHVybiBhbC5yZXNvbHZlKG51bGwpLnRoZW4oZSkuY2F0Y2gob2wpfTpybDtmdW5jdGlvbiBvbChlKXtzZXRUaW1lb3V0KChmdW5jdGlvbigpe3Rocm93IGV9KSl9ZnVuY3Rpb24gaWwoZSxuKXt2YXIgdD1uLHI9MDtkb3t2YXIgbD10Lm5leHRTaWJsaW5nO2lmKGUucmVtb3ZlQ2hpbGQodCksbCYmOD09PWwubm9kZVR5cGUpaWYoIi8kIj09PSh0PWwuZGF0YSkpe2lmKDA9PT1yKXJldHVybiBlLnJlbW92ZUNoaWxkKGwpLHZvaWQgSG4obik7ci0tfWVsc2UiJCIhPT10JiYiJD8iIT09dCYmIiQhIiE9PXR8fHIrKzt0PWx9d2hpbGUodCk7SG4obil9ZnVuY3Rpb24gc2woZSl7Zm9yKDtudWxsIT1lO2U9ZS5uZXh0U2libGluZyl7dmFyIG49ZS5ub2RlVHlwZTtpZigxPT09bnx8Mz09PW4pYnJlYWs7aWYoOD09PW4pe2lmKCIkIj09PShuPWUuZGF0YSl8fCIkISI9PT1ufHwiJD8iPT09bilicmVhaztpZigiLyQiPT09bilyZXR1cm4gbnVsbH19cmV0dXJuIGV9ZnVuY3Rpb24gY2woZSl7ZT1lLnByZXZpb3VzU2libGluZztmb3IodmFyIG49MDtlOyl7aWYoOD09PWUubm9kZVR5cGUpe3ZhciB0PWUuZGF0YTtpZigiJCI9PT10fHwiJCEiPT09dHx8IiQ/Ij09PXQpe2lmKDA9PT1uKXJldHVybiBlO24tLX1lbHNlIi8kIj09PXQmJm4rK31lPWUucHJldmlvdXNTaWJsaW5nfXJldHVybiBudWxsfXZhciBmbD1NYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKSxkbD0iX19yZWFjdEZpYmVyJCIrZmwscGw9Il9fcmVhY3RQcm9wcyQiK2ZsLG1sPSJfX3JlYWN0Q29udGFpbmVyJCIrZmwsaGw9Il9fcmVhY3RFdmVudHMkIitmbCxnbD0iX19yZWFjdExpc3RlbmVycyQiK2ZsLHZsPSJfX3JlYWN0SGFuZGxlcyQiK2ZsO2Z1bmN0aW9uIHlsKGUpe3ZhciBuPWVbZGxdO2lmKG4pcmV0dXJuIG47Zm9yKHZhciB0PWUucGFyZW50Tm9kZTt0Oyl7aWYobj10W21sXXx8dFtkbF0pe2lmKHQ9bi5hbHRlcm5hdGUsbnVsbCE9PW4uY2hpbGR8fG51bGwhPT10JiZudWxsIT09dC5jaGlsZClmb3IoZT1jbChlKTtudWxsIT09ZTspe2lmKHQ9ZVtkbF0pcmV0dXJuIHQ7ZT1jbChlKX1yZXR1cm4gbn10PShlPXQpLnBhcmVudE5vZGV9cmV0dXJuIG51bGx9ZnVuY3Rpb24gYmwoZSl7cmV0dXJuIShlPWVbZGxdfHxlW21sXSl8fDUhPT1lLnRhZyYmNiE9PWUudGFnJiYxMyE9PWUudGFnJiYzIT09ZS50YWc/bnVsbDplfWZ1bmN0aW9uIGtsKGUpe2lmKDU9PT1lLnRhZ3x8Nj09PWUudGFnKXJldHVybiBlLnN0YXRlTm9kZTt0aHJvdyBFcnJvcihhKDMzKSl9ZnVuY3Rpb24gd2woZSl7cmV0dXJuIGVbcGxdfHxudWxsfXZhciBTbD1bXSx4bD0tMTtmdW5jdGlvbiBFbChlKXtyZXR1cm57Y3VycmVudDplfX1mdW5jdGlvbiBDbChlKXswPnhsfHwoZS5jdXJyZW50PVNsW3hsXSxTbFt4bF09bnVsbCx4bC0tKX1mdW5jdGlvbiB6bChlLG4pe3hsKyssU2xbeGxdPWUuY3VycmVudCxlLmN1cnJlbnQ9bn0KdmFyIE5sPXt9LF9sPUVsKE5sKSxQbD1FbCghMSksVGw9Tmw7ZnVuY3Rpb24gTGwoZSxuKXt2YXIgdD1lLnR5cGUuY29udGV4dFR5cGVzO2lmKCF0KXJldHVybiBObDt2YXIgcj1lLnN0YXRlTm9kZTtpZihyJiZyLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkVW5tYXNrZWRDaGlsZENvbnRleHQ9PT1uKXJldHVybiByLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWFza2VkQ2hpbGRDb250ZXh0O3ZhciBsLGE9e307Zm9yKGwgaW4gdClhW2xdPW5bbF07cmV0dXJuIHImJigoZT1lLnN0YXRlTm9kZSkuX19yZWFjdEludGVybmFsTWVtb2l6ZWRVbm1hc2tlZENoaWxkQ29udGV4dD1uLGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNYXNrZWRDaGlsZENvbnRleHQ9YSksYX1mdW5jdGlvbiBNbChlKXtyZXR1cm4gbnVsbCE9KGU9ZS5jaGlsZENvbnRleHRUeXBlcyl9ZnVuY3Rpb24gRmwoKXtDbChQbCksQ2woX2wpfWZ1bmN0aW9uIFJsKGUsbix0KXtpZihfbC5jdXJyZW50IT09TmwpdGhyb3cgRXJyb3IoYSgxNjgpKTt6bChfbCxuKSx6bChQbCx0KX1mdW5jdGlvbiBEbChlLG4sdCl7dmFyIHI9ZS5zdGF0ZU5vZGU7aWYobj1uLmNoaWxkQ29udGV4dFR5cGVzLCJmdW5jdGlvbiIhPXR5cGVvZiByLmdldENoaWxkQ29udGV4dClyZXR1cm4gdDtmb3IodmFyIGwgaW4gcj1yLmdldENoaWxkQ29udGV4dCgpKWlmKCEobCBpbiBuKSl0aHJvdyBFcnJvcihhKDEwOCxIKGUpfHwiVW5rbm93biIsbCkpO3JldHVybiBPKHt9LHQscil9ZnVuY3Rpb24gSWwoZSl7cmV0dXJuIGU9KGU9ZS5zdGF0ZU5vZGUpJiZlLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0fHxObCxUbD1fbC5jdXJyZW50LHpsKF9sLGUpLHpsKFBsLFBsLmN1cnJlbnQpLCEwfWZ1bmN0aW9uIE9sKGUsbix0KXt2YXIgcj1lLnN0YXRlTm9kZTtpZighcil0aHJvdyBFcnJvcihhKDE2OSkpO3Q/KGU9RGwoZSxuLFRsKSxyLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0PWUsQ2woUGwpLENsKF9sKSx6bChfbCxlKSk6Q2woUGwpLHpsKFBsLHQpfXZhciBVbD1udWxsLFZsPSExLEFsPSExO2Z1bmN0aW9uIEJsKGUpe251bGw9PT1VbD9VbD1bZV06VWwucHVzaChlKX1mdW5jdGlvbiBXbCgpe2lmKCFBbCYmbnVsbCE9PVVsKXtBbD0hMDt2YXIgZT0wLG49a247dHJ5e3ZhciB0PVVsO2Zvcihrbj0xO2U8dC5sZW5ndGg7ZSsrKXt2YXIgcj10W2VdO2Rve3I9cighMCl9d2hpbGUobnVsbCE9PXIpfVVsPW51bGwsVmw9ITF9Y2F0Y2gobil7dGhyb3cgbnVsbCE9PVVsJiYoVWw9VWwuc2xpY2UoZSsxKSkscWUoSmUsV2wpLG59ZmluYWxseXtrbj1uLEFsPSExfX1yZXR1cm4gbnVsbH12YXIgSGw9W10sUWw9MCxqbD1udWxsLCRsPTAscWw9W10sS2w9MCxZbD1udWxsLFhsPTEsR2w9IiI7ZnVuY3Rpb24gWmwoZSxuKXtIbFtRbCsrXT0kbCxIbFtRbCsrXT1qbCxqbD1lLCRsPW59ZnVuY3Rpb24gSmwoZSxuLHQpe3FsW0tsKytdPVhsLHFsW0tsKytdPUdsLHFsW0tsKytdPVlsLFlsPWU7dmFyIHI9WGw7ZT1HbDt2YXIgbD0zMi11bihyKS0xO3ImPX4oMTw8bCksdCs9MTt2YXIgYT0zMi11bihuKStsO2lmKDMwPGEpe3ZhciB1PWwtbCU1O2E9KHImKDE8PHUpLTEpLnRvU3RyaW5nKDMyKSxyPj49dSxsLT11LFhsPTE8PDMyLXVuKG4pK2x8dDw8bHxyLEdsPWErZX1lbHNlIFhsPTE8PGF8dDw8bHxyLEdsPWV9ZnVuY3Rpb24gZWEoZSl7bnVsbCE9PWUucmV0dXJuJiYoWmwoZSwxKSxKbChlLDEsMCkpfWZ1bmN0aW9uIG5hKGUpe2Zvcig7ZT09PWpsOylqbD1IbFstLVFsXSxIbFtRbF09bnVsbCwkbD1IbFstLVFsXSxIbFtRbF09bnVsbDtmb3IoO2U9PT1ZbDspWWw9cWxbLS1LbF0scWxbS2xdPW51bGwsR2w9cWxbLS1LbF0scWxbS2xdPW51bGwsWGw9cWxbLS1LbF0scWxbS2xdPW51bGx9dmFyIHRhPW51bGwscmE9bnVsbCxsYT0hMSxhYT1udWxsO2Z1bmN0aW9uIHVhKGUsbil7dmFyIHQ9THMoNSxudWxsLG51bGwsMCk7dC5lbGVtZW50VHlwZT0iREVMRVRFRCIsdC5zdGF0ZU5vZGU9bix0LnJldHVybj1lLG51bGw9PT0obj1lLmRlbGV0aW9ucyk/KGUuZGVsZXRpb25zPVt0XSxlLmZsYWdzfD0xNik6bi5wdXNoKHQpfWZ1bmN0aW9uIG9hKGUsbil7c3dpdGNoKGUudGFnKXtjYXNlIDU6dmFyIHQ9ZS50eXBlO3JldHVybiBudWxsIT09KG49MSE9PW4ubm9kZVR5cGV8fHQudG9Mb3dlckNhc2UoKSE9PW4ubm9kZU5hbWUudG9Mb3dlckNhc2UoKT9udWxsOm4pJiYoZS5zdGF0ZU5vZGU9bix0YT1lLHJhPXNsKG4uZmlyc3RDaGlsZCksITApO2Nhc2UgNjpyZXR1cm4gbnVsbCE9PShuPSIiPT09ZS5wZW5kaW5nUHJvcHN8fDMhPT1uLm5vZGVUeXBlP251bGw6bikmJihlLnN0YXRlTm9kZT1uLHRhPWUscmE9bnVsbCwhMCk7Y2FzZSAxMzpyZXR1cm4gbnVsbCE9PShuPTghPT1uLm5vZGVUeXBlP251bGw6bikmJih0PW51bGwhPT1ZbD97aWQ6WGwsb3ZlcmZsb3c6R2x9Om51bGwsZS5tZW1vaXplZFN0YXRlPXtkZWh5ZHJhdGVkOm4sdHJlZUNvbnRleHQ6dCxyZXRyeUxhbmU6MTA3Mzc0MTgyNH0sKHQ9THMoMTgsbnVsbCxudWxsLDApKS5zdGF0ZU5vZGU9bix0LnJldHVybj1lLGUuY2hpbGQ9dCx0YT1lLHJhPW51bGwsITApO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIGlhKGUpe3JldHVybiEoISgxJmUubW9kZSl8fDEyOCZlLmZsYWdzKX1mdW5jdGlvbiBzYShlKXtpZihsYSl7dmFyIG49cmE7aWYobil7dmFyIHQ9bjtpZighb2EoZSxuKSl7aWYoaWEoZSkpdGhyb3cgRXJyb3IoYSg0MTgpKTtuPXNsKHQubmV4dFNpYmxpbmcpO3ZhciByPXRhO24mJm9hKGUsbik/dWEocix0KTooZS5mbGFncz0tNDA5NyZlLmZsYWdzfDIsbGE9ITEsdGE9ZSl9fWVsc2V7aWYoaWEoZSkpdGhyb3cgRXJyb3IoYSg0MTgpKTtlLmZsYWdzPS00MDk3JmUuZmxhZ3N8MixsYT0hMSx0YT1lfX19ZnVuY3Rpb24gY2EoZSl7Zm9yKGU9ZS5yZXR1cm47bnVsbCE9PWUmJjUhPT1lLnRhZyYmMyE9PWUudGFnJiYxMyE9PWUudGFnOyllPWUucmV0dXJuO3RhPWV9ZnVuY3Rpb24gZmEoZSl7aWYoZSE9PXRhKXJldHVybiExO2lmKCFsYSlyZXR1cm4gY2EoZSksbGE9ITAsITE7dmFyIG4KO2lmKChuPTMhPT1lLnRhZykmJiEobj01IT09ZS50YWcpJiYobj0iaGVhZCIhPT0obj1lLnR5cGUpJiYiYm9keSIhPT1uJiYhdGwoZS50eXBlLGUubWVtb2l6ZWRQcm9wcykpLG4mJihuPXJhKSl7aWYoaWEoZSkpdGhyb3cgZGEoKSxFcnJvcihhKDQxOCkpO2Zvcig7bjspdWEoZSxuKSxuPXNsKG4ubmV4dFNpYmxpbmcpfWlmKGNhKGUpLDEzPT09ZS50YWcpe2lmKCEoZT1udWxsIT09KGU9ZS5tZW1vaXplZFN0YXRlKT9lLmRlaHlkcmF0ZWQ6bnVsbCkpdGhyb3cgRXJyb3IoYSgzMTcpKTtlOntmb3IoZT1lLm5leHRTaWJsaW5nLG49MDtlOyl7aWYoOD09PWUubm9kZVR5cGUpe3ZhciB0PWUuZGF0YTtpZigiLyQiPT09dCl7aWYoMD09PW4pe3JhPXNsKGUubmV4dFNpYmxpbmcpO2JyZWFrIGV9bi0tfWVsc2UiJCIhPT10JiYiJCEiIT09dCYmIiQ/IiE9PXR8fG4rK31lPWUubmV4dFNpYmxpbmd9cmE9bnVsbH19ZWxzZSByYT10YT9zbChlLnN0YXRlTm9kZS5uZXh0U2libGluZyk6bnVsbDtyZXR1cm4hMH1mdW5jdGlvbiBkYSgpe2Zvcih2YXIgZT1yYTtlOyllPXNsKGUubmV4dFNpYmxpbmcpfWZ1bmN0aW9uIHBhKCl7cmE9dGE9bnVsbCxsYT0hMX1mdW5jdGlvbiBtYShlKXtudWxsPT09YWE/YWE9W2VdOmFhLnB1c2goZSl9dmFyIGhhPWsuUmVhY3RDdXJyZW50QmF0Y2hDb25maWc7ZnVuY3Rpb24gZ2EoZSxuKXtpZihlJiZlLmRlZmF1bHRQcm9wcyl7Zm9yKHZhciB0IGluIG49Tyh7fSxuKSxlPWUuZGVmYXVsdFByb3BzKXZvaWQgMD09PW5bdF0mJihuW3RdPWVbdF0pO3JldHVybiBufXJldHVybiBufXZhciB2YT1FbChudWxsKSx5YT1udWxsLGJhPW51bGwsa2E9bnVsbDtmdW5jdGlvbiB3YSgpe2thPWJhPXlhPW51bGx9ZnVuY3Rpb24gU2EoZSl7dmFyIG49dmEuY3VycmVudDtDbCh2YSksZS5fY3VycmVudFZhbHVlPW59ZnVuY3Rpb24geGEoZSxuLHQpe2Zvcig7bnVsbCE9PWU7KXt2YXIgcj1lLmFsdGVybmF0ZTtpZigoZS5jaGlsZExhbmVzJm4pIT09bj8oZS5jaGlsZExhbmVzfD1uLG51bGwhPT1yJiYoci5jaGlsZExhbmVzfD1uKSk6bnVsbCE9PXImJihyLmNoaWxkTGFuZXMmbikhPT1uJiYoci5jaGlsZExhbmVzfD1uKSxlPT09dClicmVhaztlPWUucmV0dXJufX1mdW5jdGlvbiBFYShlLG4pe3lhPWUsa2E9YmE9bnVsbCxudWxsIT09KGU9ZS5kZXBlbmRlbmNpZXMpJiZudWxsIT09ZS5maXJzdENvbnRleHQmJighIShlLmxhbmVzJm4pJiYoa289ITApLGUuZmlyc3RDb250ZXh0PW51bGwpfWZ1bmN0aW9uIENhKGUpe3ZhciBuPWUuX2N1cnJlbnRWYWx1ZTtpZihrYSE9PWUpaWYoZT17Y29udGV4dDplLG1lbW9pemVkVmFsdWU6bixuZXh0Om51bGx9LG51bGw9PT1iYSl7aWYobnVsbD09PXlhKXRocm93IEVycm9yKGEoMzA4KSk7YmE9ZSx5YS5kZXBlbmRlbmNpZXM9e2xhbmVzOjAsZmlyc3RDb250ZXh0OmV9fWVsc2UgYmE9YmEubmV4dD1lO3JldHVybiBufXZhciB6YT1udWxsO2Z1bmN0aW9uIE5hKGUpe251bGw9PT16YT96YT1bZV06emEucHVzaChlKX1mdW5jdGlvbiBfYShlLG4sdCxyKXt2YXIgbD1uLmludGVybGVhdmVkO3JldHVybiBudWxsPT09bD8odC5uZXh0PXQsTmEobikpOih0Lm5leHQ9bC5uZXh0LGwubmV4dD10KSxuLmludGVybGVhdmVkPXQsUGEoZSxyKX1mdW5jdGlvbiBQYShlLG4pe2UubGFuZXN8PW47dmFyIHQ9ZS5hbHRlcm5hdGU7Zm9yKG51bGwhPT10JiYodC5sYW5lc3w9biksdD1lLGU9ZS5yZXR1cm47bnVsbCE9PWU7KWUuY2hpbGRMYW5lc3w9bixudWxsIT09KHQ9ZS5hbHRlcm5hdGUpJiYodC5jaGlsZExhbmVzfD1uKSx0PWUsZT1lLnJldHVybjtyZXR1cm4gMz09PXQudGFnP3Quc3RhdGVOb2RlOm51bGx9dmFyIFRhPSExO2Z1bmN0aW9uIExhKGUpe2UudXBkYXRlUXVldWU9e2Jhc2VTdGF0ZTplLm1lbW9pemVkU3RhdGUsZmlyc3RCYXNlVXBkYXRlOm51bGwsbGFzdEJhc2VVcGRhdGU6bnVsbCxzaGFyZWQ6e3BlbmRpbmc6bnVsbCxpbnRlcmxlYXZlZDpudWxsLGxhbmVzOjB9LGVmZmVjdHM6bnVsbH19ZnVuY3Rpb24gTWEoZSxuKXtlPWUudXBkYXRlUXVldWUsbi51cGRhdGVRdWV1ZT09PWUmJihuLnVwZGF0ZVF1ZXVlPXtiYXNlU3RhdGU6ZS5iYXNlU3RhdGUsZmlyc3RCYXNlVXBkYXRlOmUuZmlyc3RCYXNlVXBkYXRlLGxhc3RCYXNlVXBkYXRlOmUubGFzdEJhc2VVcGRhdGUsc2hhcmVkOmUuc2hhcmVkLGVmZmVjdHM6ZS5lZmZlY3RzfSl9ZnVuY3Rpb24gRmEoZSxuKXtyZXR1cm57ZXZlbnRUaW1lOmUsbGFuZTpuLHRhZzowLHBheWxvYWQ6bnVsbCxjYWxsYmFjazpudWxsLG5leHQ6bnVsbH19ZnVuY3Rpb24gUmEoZSxuLHQpe3ZhciByPWUudXBkYXRlUXVldWU7aWYobnVsbD09PXIpcmV0dXJuIG51bGw7aWYocj1yLnNoYXJlZCwyJl9pKXt2YXIgbD1yLnBlbmRpbmc7cmV0dXJuIG51bGw9PT1sP24ubmV4dD1uOihuLm5leHQ9bC5uZXh0LGwubmV4dD1uKSxyLnBlbmRpbmc9bixQYShlLHQpfXJldHVybiBudWxsPT09KGw9ci5pbnRlcmxlYXZlZCk/KG4ubmV4dD1uLE5hKHIpKToobi5uZXh0PWwubmV4dCxsLm5leHQ9biksci5pbnRlcmxlYXZlZD1uLFBhKGUsdCl9ZnVuY3Rpb24gRGEoZSxuLHQpe2lmKG51bGwhPT0obj1uLnVwZGF0ZVF1ZXVlKSYmKG49bi5zaGFyZWQsNDE5NDI0MCZ0KSl7dmFyIHI9bi5sYW5lczt0fD1yJj1lLnBlbmRpbmdMYW5lcyxuLmxhbmVzPXQsYm4oZSx0KX19ZnVuY3Rpb24gSWEoZSxuKXt2YXIgdD1lLnVwZGF0ZVF1ZXVlLHI9ZS5hbHRlcm5hdGU7aWYobnVsbCE9PXImJnQ9PT0ocj1yLnVwZGF0ZVF1ZXVlKSl7dmFyIGw9bnVsbCxhPW51bGw7aWYobnVsbCE9PSh0PXQuZmlyc3RCYXNlVXBkYXRlKSl7ZG97dmFyIHU9e2V2ZW50VGltZTp0LmV2ZW50VGltZSxsYW5lOnQubGFuZSx0YWc6dC50YWcscGF5bG9hZDp0LnBheWxvYWQsY2FsbGJhY2s6dC5jYWxsYmFjayxuZXh0Om51bGx9O251bGw9PT1hP2w9YT11OmE9YS5uZXh0PXUsdD10Lm5leHR9d2hpbGUobnVsbCE9PXQpO251bGw9PT1hP2w9YT1uOmE9YS5uZXh0PW59ZWxzZSBsPWE9bjtyZXR1cm4gdD17YmFzZVN0YXRlOnIuYmFzZVN0YXRlLGZpcnN0QmFzZVVwZGF0ZTpsLGxhc3RCYXNlVXBkYXRlOmEsCnNoYXJlZDpyLnNoYXJlZCxlZmZlY3RzOnIuZWZmZWN0c30sdm9pZChlLnVwZGF0ZVF1ZXVlPXQpfW51bGw9PT0oZT10Lmxhc3RCYXNlVXBkYXRlKT90LmZpcnN0QmFzZVVwZGF0ZT1uOmUubmV4dD1uLHQubGFzdEJhc2VVcGRhdGU9bn1mdW5jdGlvbiBPYShlLG4sdCxyKXt2YXIgbD1lLnVwZGF0ZVF1ZXVlO1RhPSExO3ZhciBhPWwuZmlyc3RCYXNlVXBkYXRlLHU9bC5sYXN0QmFzZVVwZGF0ZSxvPWwuc2hhcmVkLnBlbmRpbmc7aWYobnVsbCE9PW8pe2wuc2hhcmVkLnBlbmRpbmc9bnVsbDt2YXIgaT1vLHM9aS5uZXh0O2kubmV4dD1udWxsLG51bGw9PT11P2E9czp1Lm5leHQ9cyx1PWk7dmFyIGM9ZS5hbHRlcm5hdGU7bnVsbCE9PWMmJigobz0oYz1jLnVwZGF0ZVF1ZXVlKS5sYXN0QmFzZVVwZGF0ZSkhPT11JiYobnVsbD09PW8/Yy5maXJzdEJhc2VVcGRhdGU9czpvLm5leHQ9cyxjLmxhc3RCYXNlVXBkYXRlPWkpKX1pZihudWxsIT09YSl7dmFyIGY9bC5iYXNlU3RhdGU7Zm9yKHU9MCxjPXM9aT1udWxsLG89YTs7KXt2YXIgZD1vLmxhbmUscD1vLmV2ZW50VGltZTtpZigociZkKT09PWQpe251bGwhPT1jJiYoYz1jLm5leHQ9e2V2ZW50VGltZTpwLGxhbmU6MCx0YWc6by50YWcscGF5bG9hZDpvLnBheWxvYWQsY2FsbGJhY2s6by5jYWxsYmFjayxuZXh0Om51bGx9KTtlOnt2YXIgbT1lLGg9bztzd2l0Y2goZD1uLHA9dCxoLnRhZyl7Y2FzZSAxOmlmKCJmdW5jdGlvbiI9PXR5cGVvZihtPWgucGF5bG9hZCkpe2Y9bS5jYWxsKHAsZixkKTticmVhayBlfWY9bTticmVhayBlO2Nhc2UgMzptLmZsYWdzPS02NTUzNyZtLmZsYWdzfDEyODtjYXNlIDA6aWYobnVsbD09KGQ9ImZ1bmN0aW9uIj09dHlwZW9mKG09aC5wYXlsb2FkKT9tLmNhbGwocCxmLGQpOm0pKWJyZWFrIGU7Zj1PKHt9LGYsZCk7YnJlYWsgZTtjYXNlIDI6VGE9ITB9fW51bGwhPT1vLmNhbGxiYWNrJiYwIT09by5sYW5lJiYoZS5mbGFnc3w9NjQsbnVsbD09PShkPWwuZWZmZWN0cyk/bC5lZmZlY3RzPVtvXTpkLnB1c2gobykpfWVsc2UgcD17ZXZlbnRUaW1lOnAsbGFuZTpkLHRhZzpvLnRhZyxwYXlsb2FkOm8ucGF5bG9hZCxjYWxsYmFjazpvLmNhbGxiYWNrLG5leHQ6bnVsbH0sbnVsbD09PWM/KHM9Yz1wLGk9Zik6Yz1jLm5leHQ9cCx1fD1kO2lmKG51bGw9PT0obz1vLm5leHQpKXtpZihudWxsPT09KG89bC5zaGFyZWQucGVuZGluZykpYnJlYWs7bz0oZD1vKS5uZXh0LGQubmV4dD1udWxsLGwubGFzdEJhc2VVcGRhdGU9ZCxsLnNoYXJlZC5wZW5kaW5nPW51bGx9fWlmKG51bGw9PT1jJiYoaT1mKSxsLmJhc2VTdGF0ZT1pLGwuZmlyc3RCYXNlVXBkYXRlPXMsbC5sYXN0QmFzZVVwZGF0ZT1jLG51bGwhPT0obj1sLnNoYXJlZC5pbnRlcmxlYXZlZCkpe2w9bjtkb3t1fD1sLmxhbmUsbD1sLm5leHR9d2hpbGUobCE9PW4pfWVsc2UgbnVsbD09PWEmJihsLnNoYXJlZC5sYW5lcz0wKTtJaXw9dSxlLmxhbmVzPXUsZS5tZW1vaXplZFN0YXRlPWZ9fWZ1bmN0aW9uIFVhKGUsbix0KXtpZihlPW4uZWZmZWN0cyxuLmVmZmVjdHM9bnVsbCxudWxsIT09ZSlmb3Iobj0wO248ZS5sZW5ndGg7bisrKXt2YXIgcj1lW25dLGw9ci5jYWxsYmFjaztpZihudWxsIT09bCl7aWYoci5jYWxsYmFjaz1udWxsLHI9dCwiZnVuY3Rpb24iIT10eXBlb2YgbCl0aHJvdyBFcnJvcihhKDE5MSxsKSk7bC5jYWxsKHIpfX19dmFyIFZhPShuZXcgci5Db21wb25lbnQpLnJlZnM7ZnVuY3Rpb24gQWEoZSxuLHQscil7dD1udWxsPT0odD10KHIsbj1lLm1lbW9pemVkU3RhdGUpKT9uOk8oe30sbix0KSxlLm1lbW9pemVkU3RhdGU9dCwwPT09ZS5sYW5lcyYmKGUudXBkYXRlUXVldWUuYmFzZVN0YXRlPXQpfXZhciBCYT17aXNNb3VudGVkOmZ1bmN0aW9uKGUpe3JldHVybiEhKGU9ZS5fcmVhY3RJbnRlcm5hbHMpJiZXZShlKT09PWV9LGVucXVldWVTZXRTdGF0ZTpmdW5jdGlvbihlLG4sdCl7ZT1lLl9yZWFjdEludGVybmFsczt2YXIgcj1lcygpLGw9bnMoZSksYT1GYShyLGwpO2EucGF5bG9hZD1uLG51bGwhPXQmJihhLmNhbGxiYWNrPXQpLG51bGwhPT0obj1SYShlLGEsbCkpJiYodHMobixlLGwsciksRGEobixlLGwpKX0sZW5xdWV1ZVJlcGxhY2VTdGF0ZTpmdW5jdGlvbihlLG4sdCl7ZT1lLl9yZWFjdEludGVybmFsczt2YXIgcj1lcygpLGw9bnMoZSksYT1GYShyLGwpO2EudGFnPTEsYS5wYXlsb2FkPW4sbnVsbCE9dCYmKGEuY2FsbGJhY2s9dCksbnVsbCE9PShuPVJhKGUsYSxsKSkmJih0cyhuLGUsbCxyKSxEYShuLGUsbCkpfSxlbnF1ZXVlRm9yY2VVcGRhdGU6ZnVuY3Rpb24oZSxuKXtlPWUuX3JlYWN0SW50ZXJuYWxzO3ZhciB0PWVzKCkscj1ucyhlKSxsPUZhKHQscik7bC50YWc9MixudWxsIT1uJiYobC5jYWxsYmFjaz1uKSxudWxsIT09KG49UmEoZSxsLHIpKSYmKHRzKG4sZSxyLHQpLERhKG4sZSxyKSl9fTtmdW5jdGlvbiBXYShlLG4sdCxyLGwsYSx1KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YoZT1lLnN0YXRlTm9kZSkuc2hvdWxkQ29tcG9uZW50VXBkYXRlP2Uuc2hvdWxkQ29tcG9uZW50VXBkYXRlKHIsYSx1KTohbi5wcm90b3R5cGV8fCFuLnByb3RvdHlwZS5pc1B1cmVSZWFjdENvbXBvbmVudHx8KCFpcih0LHIpfHwhaXIobCxhKSl9ZnVuY3Rpb24gSGEoZSxuLHQpe3ZhciByPSExLGw9TmwsYT1uLmNvbnRleHRUeXBlO3JldHVybiJvYmplY3QiPT10eXBlb2YgYSYmbnVsbCE9PWE/YT1DYShhKToobD1NbChuKT9UbDpfbC5jdXJyZW50LGE9KHI9bnVsbCE9KHI9bi5jb250ZXh0VHlwZXMpKT9MbChlLGwpOk5sKSxuPW5ldyBuKHQsYSksZS5tZW1vaXplZFN0YXRlPW51bGwhPT1uLnN0YXRlJiZ2b2lkIDAhPT1uLnN0YXRlP24uc3RhdGU6bnVsbCxuLnVwZGF0ZXI9QmEsZS5zdGF0ZU5vZGU9bixuLl9yZWFjdEludGVybmFscz1lLHImJigoZT1lLnN0YXRlTm9kZSkuX19yZWFjdEludGVybmFsTWVtb2l6ZWRVbm1hc2tlZENoaWxkQ29udGV4dD1sLGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNYXNrZWRDaGlsZENvbnRleHQ9YSksbn1mdW5jdGlvbiBRYShlLG4sdCxyKXtlPW4uc3RhdGUsCiJmdW5jdGlvbiI9PXR5cGVvZiBuLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMmJm4uY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyh0LHIpLCJmdW5jdGlvbiI9PXR5cGVvZiBuLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJiZuLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKHQsciksbi5zdGF0ZSE9PWUmJkJhLmVucXVldWVSZXBsYWNlU3RhdGUobixuLnN0YXRlLG51bGwpfWZ1bmN0aW9uIGphKGUsbix0LHIpe3ZhciBsPWUuc3RhdGVOb2RlO2wucHJvcHM9dCxsLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSxsLnJlZnM9VmEsTGEoZSk7dmFyIGE9bi5jb250ZXh0VHlwZTsib2JqZWN0Ij09dHlwZW9mIGEmJm51bGwhPT1hP2wuY29udGV4dD1DYShhKTooYT1NbChuKT9UbDpfbC5jdXJyZW50LGwuY29udGV4dD1MbChlLGEpKSxsLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSwiZnVuY3Rpb24iPT10eXBlb2YoYT1uLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcykmJihBYShlLG4sYSx0KSxsLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSksImZ1bmN0aW9uIj09dHlwZW9mIG4uZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzfHwiZnVuY3Rpb24iPT10eXBlb2YgbC5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZXx8ImZ1bmN0aW9uIiE9dHlwZW9mIGwuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCYmImZ1bmN0aW9uIiE9dHlwZW9mIGwuY29tcG9uZW50V2lsbE1vdW50fHwobj1sLnN0YXRlLCJmdW5jdGlvbiI9PXR5cGVvZiBsLmNvbXBvbmVudFdpbGxNb3VudCYmbC5jb21wb25lbnRXaWxsTW91bnQoKSwiZnVuY3Rpb24iPT10eXBlb2YgbC5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JiZsLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSxuIT09bC5zdGF0ZSYmQmEuZW5xdWV1ZVJlcGxhY2VTdGF0ZShsLGwuc3RhdGUsbnVsbCksT2EoZSx0LGwsciksbC5zdGF0ZT1lLm1lbW9pemVkU3RhdGUpLCJmdW5jdGlvbiI9PXR5cGVvZiBsLmNvbXBvbmVudERpZE1vdW50JiYoZS5mbGFnc3w9NDE5NDMwOCl9ZnVuY3Rpb24gJGEoZSxuLHQpe2lmKG51bGwhPT0oZT10LnJlZikmJiJmdW5jdGlvbiIhPXR5cGVvZiBlJiYib2JqZWN0IiE9dHlwZW9mIGUpe2lmKHQuX293bmVyKXtpZih0PXQuX293bmVyKXtpZigxIT09dC50YWcpdGhyb3cgRXJyb3IoYSgzMDkpKTt2YXIgcj10LnN0YXRlTm9kZX1pZighcil0aHJvdyBFcnJvcihhKDE0NyxlKSk7dmFyIGw9cix1PSIiK2U7cmV0dXJuIG51bGwhPT1uJiZudWxsIT09bi5yZWYmJiJmdW5jdGlvbiI9PXR5cGVvZiBuLnJlZiYmbi5yZWYuX3N0cmluZ1JlZj09PXU/bi5yZWY6KG49ZnVuY3Rpb24oZSl7dmFyIG49bC5yZWZzO249PT1WYSYmKG49bC5yZWZzPXt9KSxudWxsPT09ZT9kZWxldGUgblt1XTpuW3VdPWV9LG4uX3N0cmluZ1JlZj11LG4pfWlmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBFcnJvcihhKDI4NCkpO2lmKCF0Ll9vd25lcil0aHJvdyBFcnJvcihhKDI5MCxlKSl9cmV0dXJuIGV9ZnVuY3Rpb24gcWEoZSxuKXt0aHJvdyBlPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuKSxFcnJvcihhKDMxLCJbb2JqZWN0IE9iamVjdF0iPT09ZT8ib2JqZWN0IHdpdGgga2V5cyB7IitPYmplY3Qua2V5cyhuKS5qb2luKCIsICIpKyJ9IjplKSl9ZnVuY3Rpb24gS2EoZSl7cmV0dXJuKDAsZS5faW5pdCkoZS5fcGF5bG9hZCl9ZnVuY3Rpb24gWWEoZSl7ZnVuY3Rpb24gbihuLHQpe2lmKGUpe3ZhciByPW4uZGVsZXRpb25zO251bGw9PT1yPyhuLmRlbGV0aW9ucz1bdF0sbi5mbGFnc3w9MTYpOnIucHVzaCh0KX19ZnVuY3Rpb24gdCh0LHIpe2lmKCFlKXJldHVybiBudWxsO2Zvcig7bnVsbCE9PXI7KW4odCxyKSxyPXIuc2libGluZztyZXR1cm4gbnVsbH1mdW5jdGlvbiByKGUsbil7Zm9yKGU9bmV3IE1hcDtudWxsIT09bjspbnVsbCE9PW4ua2V5P2Uuc2V0KG4ua2V5LG4pOmUuc2V0KG4uaW5kZXgsbiksbj1uLnNpYmxpbmc7cmV0dXJuIGV9ZnVuY3Rpb24gbChlLG4pe3JldHVybihlPUZzKGUsbikpLmluZGV4PTAsZS5zaWJsaW5nPW51bGwsZX1mdW5jdGlvbiB1KG4sdCxyKXtyZXR1cm4gbi5pbmRleD1yLGU/bnVsbCE9PShyPW4uYWx0ZXJuYXRlKT8ocj1yLmluZGV4KTx0PyhuLmZsYWdzfD0yLHQpOnI6KG4uZmxhZ3N8PTIsdCk6KG4uZmxhZ3N8PTEwNDg1NzYsdCl9ZnVuY3Rpb24gbyhuKXtyZXR1cm4gZSYmbnVsbD09PW4uYWx0ZXJuYXRlJiYobi5mbGFnc3w9Miksbn1mdW5jdGlvbiBpKGUsbix0LHIpe3JldHVybiBudWxsPT09bnx8NiE9PW4udGFnPygobj1Pcyh0LGUubW9kZSxyKSkucmV0dXJuPWUsbik6KChuPWwobix0KSkucmV0dXJuPWUsbil9ZnVuY3Rpb24gcyhlLG4sdCxyKXt2YXIgYT10LnR5cGU7cmV0dXJuIGE9PT14P2YoZSxuLHQucHJvcHMuY2hpbGRyZW4scix0LmtleSk6bnVsbCE9PW4mJihuLmVsZW1lbnRUeXBlPT09YXx8Im9iamVjdCI9PXR5cGVvZiBhJiZudWxsIT09YSYmYS4kJHR5cGVvZj09PU0mJkthKGEpPT09bi50eXBlKT8oKHI9bChuLHQucHJvcHMpKS5yZWY9JGEoZSxuLHQpLHIucmV0dXJuPWUscik6KChyPVJzKHQudHlwZSx0LmtleSx0LnByb3BzLG51bGwsZS5tb2RlLHIpKS5yZWY9JGEoZSxuLHQpLHIucmV0dXJuPWUscil9ZnVuY3Rpb24gYyhlLG4sdCxyKXtyZXR1cm4gbnVsbD09PW58fDQhPT1uLnRhZ3x8bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyE9PXQuY29udGFpbmVySW5mb3x8bi5zdGF0ZU5vZGUuaW1wbGVtZW50YXRpb24hPT10LmltcGxlbWVudGF0aW9uPygobj1Vcyh0LGUubW9kZSxyKSkucmV0dXJuPWUsbik6KChuPWwobix0LmNoaWxkcmVufHxbXSkpLnJldHVybj1lLG4pfWZ1bmN0aW9uIGYoZSxuLHQscixhKXtyZXR1cm4gbnVsbD09PW58fDchPT1uLnRhZz8oKG49RHModCxlLm1vZGUscixhKSkucmV0dXJuPWUsbik6KChuPWwobix0KSkucmV0dXJuPWUsbil9ZnVuY3Rpb24gZChlLG4sdCl7aWYoInN0cmluZyI9PXR5cGVvZiBuJiYiIiE9PW58fCJudW1iZXIiPT10eXBlb2YgbilyZXR1cm4obj1PcygiIituLGUubW9kZSx0KSkucmV0dXJuPWUsbjtpZigib2JqZWN0Ij09dHlwZW9mIG4mJm51bGwhPT1uKXsKc3dpdGNoKG4uJCR0eXBlb2Ype2Nhc2UgdzpyZXR1cm4odD1ScyhuLnR5cGUsbi5rZXksbi5wcm9wcyxudWxsLGUubW9kZSx0KSkucmVmPSRhKGUsbnVsbCxuKSx0LnJldHVybj1lLHQ7Y2FzZSBTOnJldHVybihuPVVzKG4sZS5tb2RlLHQpKS5yZXR1cm49ZSxuO2Nhc2UgTTpyZXR1cm4gZChlLCgwLG4uX2luaXQpKG4uX3BheWxvYWQpLHQpfWlmKG5lKG4pfHxEKG4pKXJldHVybihuPURzKG4sZS5tb2RlLHQsbnVsbCkpLnJldHVybj1lLG47cWEoZSxuKX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBwKGUsbix0LHIpe3ZhciBsPW51bGwhPT1uP24ua2V5Om51bGw7aWYoInN0cmluZyI9PXR5cGVvZiB0JiYiIiE9PXR8fCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gbnVsbCE9PWw/bnVsbDppKGUsbiwiIit0LHIpO2lmKCJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXQpe3N3aXRjaCh0LiQkdHlwZW9mKXtjYXNlIHc6cmV0dXJuIHQua2V5PT09bD9zKGUsbix0LHIpOm51bGw7Y2FzZSBTOnJldHVybiB0LmtleT09PWw/YyhlLG4sdCxyKTpudWxsO2Nhc2UgTTpyZXR1cm4gcChlLG4sKGw9dC5faW5pdCkodC5fcGF5bG9hZCkscil9aWYobmUodCl8fEQodCkpcmV0dXJuIG51bGwhPT1sP251bGw6ZihlLG4sdCxyLG51bGwpO3FhKGUsdCl9cmV0dXJuIG51bGx9ZnVuY3Rpb24gbShlLG4sdCxyLGwpe2lmKCJzdHJpbmciPT10eXBlb2YgciYmIiIhPT1yfHwibnVtYmVyIj09dHlwZW9mIHIpcmV0dXJuIGkobixlPWUuZ2V0KHQpfHxudWxsLCIiK3IsbCk7aWYoIm9iamVjdCI9PXR5cGVvZiByJiZudWxsIT09cil7c3dpdGNoKHIuJCR0eXBlb2Ype2Nhc2UgdzpyZXR1cm4gcyhuLGU9ZS5nZXQobnVsbD09PXIua2V5P3Q6ci5rZXkpfHxudWxsLHIsbCk7Y2FzZSBTOnJldHVybiBjKG4sZT1lLmdldChudWxsPT09ci5rZXk/dDpyLmtleSl8fG51bGwscixsKTtjYXNlIE06cmV0dXJuIG0oZSxuLHQsKDAsci5faW5pdCkoci5fcGF5bG9hZCksbCl9aWYobmUocil8fEQocikpcmV0dXJuIGYobixlPWUuZ2V0KHQpfHxudWxsLHIsbCxudWxsKTtxYShuLHIpfXJldHVybiBudWxsfWZ1bmN0aW9uIGgobCxhLG8saSl7Zm9yKHZhciBzPW51bGwsYz1udWxsLGY9YSxoPWE9MCxnPW51bGw7bnVsbCE9PWYmJmg8by5sZW5ndGg7aCsrKXtmLmluZGV4Pmg/KGc9ZixmPW51bGwpOmc9Zi5zaWJsaW5nO3ZhciB2PXAobCxmLG9baF0saSk7aWYobnVsbD09PXYpe251bGw9PT1mJiYoZj1nKTticmVha31lJiZmJiZudWxsPT09di5hbHRlcm5hdGUmJm4obCxmKSxhPXUodixhLGgpLG51bGw9PT1jP3M9djpjLnNpYmxpbmc9dixjPXYsZj1nfWlmKGg9PT1vLmxlbmd0aClyZXR1cm4gdChsLGYpLGxhJiZabChsLGgpLHM7aWYobnVsbD09PWYpe2Zvcig7aDxvLmxlbmd0aDtoKyspbnVsbCE9PShmPWQobCxvW2hdLGkpKSYmKGE9dShmLGEsaCksbnVsbD09PWM/cz1mOmMuc2libGluZz1mLGM9Zik7cmV0dXJuIGxhJiZabChsLGgpLHN9Zm9yKGY9cihsLGYpO2g8by5sZW5ndGg7aCsrKW51bGwhPT0oZz1tKGYsbCxoLG9baF0saSkpJiYoZSYmbnVsbCE9PWcuYWx0ZXJuYXRlJiZmLmRlbGV0ZShudWxsPT09Zy5rZXk/aDpnLmtleSksYT11KGcsYSxoKSxudWxsPT09Yz9zPWc6Yy5zaWJsaW5nPWcsYz1nKTtyZXR1cm4gZSYmZi5mb3JFYWNoKChmdW5jdGlvbihlKXtyZXR1cm4gbihsLGUpfSkpLGxhJiZabChsLGgpLHN9ZnVuY3Rpb24gZyhsLG8saSxzKXt2YXIgYz1EKGkpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBjKXRocm93IEVycm9yKGEoMTUwKSk7aWYobnVsbD09KGk9Yy5jYWxsKGkpKSl0aHJvdyBFcnJvcihhKDE1MSkpO2Zvcih2YXIgZj1jPW51bGwsaD1vLGc9bz0wLHY9bnVsbCx5PWkubmV4dCgpO251bGwhPT1oJiYheS5kb25lO2crKyx5PWkubmV4dCgpKXtoLmluZGV4Pmc/KHY9aCxoPW51bGwpOnY9aC5zaWJsaW5nO3ZhciBiPXAobCxoLHkudmFsdWUscyk7aWYobnVsbD09PWIpe251bGw9PT1oJiYoaD12KTticmVha31lJiZoJiZudWxsPT09Yi5hbHRlcm5hdGUmJm4obCxoKSxvPXUoYixvLGcpLG51bGw9PT1mP2M9YjpmLnNpYmxpbmc9YixmPWIsaD12fWlmKHkuZG9uZSlyZXR1cm4gdChsLGgpLGxhJiZabChsLGcpLGM7aWYobnVsbD09PWgpe2Zvcig7IXkuZG9uZTtnKysseT1pLm5leHQoKSludWxsIT09KHk9ZChsLHkudmFsdWUscykpJiYobz11KHksbyxnKSxudWxsPT09Zj9jPXk6Zi5zaWJsaW5nPXksZj15KTtyZXR1cm4gbGEmJlpsKGwsZyksY31mb3IoaD1yKGwsaCk7IXkuZG9uZTtnKysseT1pLm5leHQoKSludWxsIT09KHk9bShoLGwsZyx5LnZhbHVlLHMpKSYmKGUmJm51bGwhPT15LmFsdGVybmF0ZSYmaC5kZWxldGUobnVsbD09PXkua2V5P2c6eS5rZXkpLG89dSh5LG8sZyksbnVsbD09PWY/Yz15OmYuc2libGluZz15LGY9eSk7cmV0dXJuIGUmJmguZm9yRWFjaCgoZnVuY3Rpb24oZSl7cmV0dXJuIG4obCxlKX0pKSxsYSYmWmwobCxnKSxjfXJldHVybiBmdW5jdGlvbiBlKHIsYSx1LGkpe2lmKCJvYmplY3QiPT10eXBlb2YgdSYmbnVsbCE9PXUmJnUudHlwZT09PXgmJm51bGw9PT11LmtleSYmKHU9dS5wcm9wcy5jaGlsZHJlbiksIm9iamVjdCI9PXR5cGVvZiB1JiZudWxsIT09dSl7c3dpdGNoKHUuJCR0eXBlb2Ype2Nhc2UgdzplOntmb3IodmFyIHM9dS5rZXksYz1hO251bGwhPT1jOyl7aWYoYy5rZXk9PT1zKXtpZigocz11LnR5cGUpPT09eCl7aWYoNz09PWMudGFnKXt0KHIsYy5zaWJsaW5nKSwoYT1sKGMsdS5wcm9wcy5jaGlsZHJlbikpLnJldHVybj1yLHI9YTticmVhayBlfX1lbHNlIGlmKGMuZWxlbWVudFR5cGU9PT1zfHwib2JqZWN0Ij09dHlwZW9mIHMmJm51bGwhPT1zJiZzLiQkdHlwZW9mPT09TSYmS2Eocyk9PT1jLnR5cGUpe3QocixjLnNpYmxpbmcpLChhPWwoYyx1LnByb3BzKSkucmVmPSRhKHIsYyx1KSxhLnJldHVybj1yLHI9YTticmVhayBlfXQocixjKTticmVha31uKHIsYyksYz1jLnNpYmxpbmd9dS50eXBlPT09eD8oKGE9RHModS5wcm9wcy5jaGlsZHJlbixyLm1vZGUsaSx1LmtleSkpLnJldHVybj1yLHI9YSk6KChpPVJzKHUudHlwZSx1LmtleSx1LnByb3BzLG51bGwsci5tb2RlLGkpKS5yZWY9JGEocixhLHUpLAppLnJldHVybj1yLHI9aSl9cmV0dXJuIG8ocik7Y2FzZSBTOmU6e2ZvcihjPXUua2V5O251bGwhPT1hOyl7aWYoYS5rZXk9PT1jKXtpZig0PT09YS50YWcmJmEuc3RhdGVOb2RlLmNvbnRhaW5lckluZm89PT11LmNvbnRhaW5lckluZm8mJmEuc3RhdGVOb2RlLmltcGxlbWVudGF0aW9uPT09dS5pbXBsZW1lbnRhdGlvbil7dChyLGEuc2libGluZyksKGE9bChhLHUuY2hpbGRyZW58fFtdKSkucmV0dXJuPXIscj1hO2JyZWFrIGV9dChyLGEpO2JyZWFrfW4ocixhKSxhPWEuc2libGluZ30oYT1Vcyh1LHIubW9kZSxpKSkucmV0dXJuPXIscj1hfXJldHVybiBvKHIpO2Nhc2UgTTpyZXR1cm4gZShyLGEsKGM9dS5faW5pdCkodS5fcGF5bG9hZCksaSl9aWYobmUodSkpcmV0dXJuIGgocixhLHUsaSk7aWYoRCh1KSlyZXR1cm4gZyhyLGEsdSxpKTtxYShyLHUpfXJldHVybiJzdHJpbmciPT10eXBlb2YgdSYmIiIhPT11fHwibnVtYmVyIj09dHlwZW9mIHU/KHU9IiIrdSxudWxsIT09YSYmNj09PWEudGFnPyh0KHIsYS5zaWJsaW5nKSwoYT1sKGEsdSkpLnJldHVybj1yLHI9YSk6KHQocixhKSwoYT1Pcyh1LHIubW9kZSxpKSkucmV0dXJuPXIscj1hKSxvKHIpKTp0KHIsYSl9fXZhciBYYT1ZYSghMCksR2E9WWEoITEpLFphPXt9LEphPUVsKFphKSxldT1FbChaYSksbnU9RWwoWmEpO2Z1bmN0aW9uIHR1KGUpe2lmKGU9PT1aYSl0aHJvdyBFcnJvcihhKDE3NCkpO3JldHVybiBlfWZ1bmN0aW9uIHJ1KGUsbil7c3dpdGNoKHpsKG51LG4pLHpsKGV1LGUpLHpsKEphLFphKSxlPW4ubm9kZVR5cGUpe2Nhc2UgOTpjYXNlIDExOm49KG49bi5kb2N1bWVudEVsZW1lbnQpP24ubmFtZXNwYWNlVVJJOmllKG51bGwsIiIpO2JyZWFrO2RlZmF1bHQ6bj1pZShuPShlPTg9PT1lP24ucGFyZW50Tm9kZTpuKS5uYW1lc3BhY2VVUkl8fG51bGwsZT1lLnRhZ05hbWUpfUNsKEphKSx6bChKYSxuKX1mdW5jdGlvbiBsdSgpe0NsKEphKSxDbChldSksQ2wobnUpfWZ1bmN0aW9uIGF1KGUpe3R1KG51LmN1cnJlbnQpO3ZhciBuPXR1KEphLmN1cnJlbnQpLHQ9aWUobixlLnR5cGUpO24hPT10JiYoemwoZXUsZSksemwoSmEsdCkpfWZ1bmN0aW9uIHV1KGUpe2V1LmN1cnJlbnQ9PT1lJiYoQ2woSmEpLENsKGV1KSl9dmFyIG91PUVsKDApO2Z1bmN0aW9uIGl1KGUpe2Zvcih2YXIgbj1lO251bGwhPT1uOyl7aWYoMTM9PT1uLnRhZyl7dmFyIHQ9bi5tZW1vaXplZFN0YXRlO2lmKG51bGwhPT10JiYobnVsbD09PSh0PXQuZGVoeWRyYXRlZCl8fCIkPyI9PT10LmRhdGF8fCIkISI9PT10LmRhdGEpKXJldHVybiBufWVsc2UgaWYoMTk9PT1uLnRhZyYmdm9pZCAwIT09bi5tZW1vaXplZFByb3BzLnJldmVhbE9yZGVyKXtpZigxMjgmbi5mbGFncylyZXR1cm4gbn1lbHNlIGlmKG51bGwhPT1uLmNoaWxkKXtuLmNoaWxkLnJldHVybj1uLG49bi5jaGlsZDtjb250aW51ZX1pZihuPT09ZSlicmVhaztmb3IoO251bGw9PT1uLnNpYmxpbmc7KXtpZihudWxsPT09bi5yZXR1cm58fG4ucmV0dXJuPT09ZSlyZXR1cm4gbnVsbDtuPW4ucmV0dXJufW4uc2libGluZy5yZXR1cm49bi5yZXR1cm4sbj1uLnNpYmxpbmd9cmV0dXJuIG51bGx9dmFyIHN1PVtdO2Z1bmN0aW9uIGN1KCl7Zm9yKHZhciBlPTA7ZTxzdS5sZW5ndGg7ZSsrKXN1W2VdLl93b3JrSW5Qcm9ncmVzc1ZlcnNpb25QcmltYXJ5PW51bGw7c3UubGVuZ3RoPTB9dmFyIGZ1PWsuUmVhY3RDdXJyZW50RGlzcGF0Y2hlcixkdT1rLlJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLHB1PTAsbXU9bnVsbCxodT1udWxsLGd1PW51bGwsdnU9ITEseXU9ITEsYnU9MCxrdT0wO2Z1bmN0aW9uIHd1KCl7dGhyb3cgRXJyb3IoYSgzMjEpKX1mdW5jdGlvbiBTdShlLG4pe2lmKG51bGw9PT1uKXJldHVybiExO2Zvcih2YXIgdD0wO3Q8bi5sZW5ndGgmJnQ8ZS5sZW5ndGg7dCsrKWlmKCFvcihlW3RdLG5bdF0pKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIHh1KGUsbix0LHIsbCx1KXtpZihwdT11LG11PW4sbi5tZW1vaXplZFN0YXRlPW51bGwsbi51cGRhdGVRdWV1ZT1udWxsLG4ubGFuZXM9MCxmdS5jdXJyZW50PW51bGw9PT1lfHxudWxsPT09ZS5tZW1vaXplZFN0YXRlP3VvOm9vLGU9dChyLGwpLHl1KXt1PTA7ZG97aWYoeXU9ITEsYnU9MCwyNTw9dSl0aHJvdyBFcnJvcihhKDMwMSkpO3UrPTEsZ3U9aHU9bnVsbCxuLnVwZGF0ZVF1ZXVlPW51bGwsZnUuY3VycmVudD1pbyxlPXQocixsKX13aGlsZSh5dSl9aWYoZnUuY3VycmVudD1hbyxuPW51bGwhPT1odSYmbnVsbCE9PWh1Lm5leHQscHU9MCxndT1odT1tdT1udWxsLHZ1PSExLG4pdGhyb3cgRXJyb3IoYSgzMDApKTtyZXR1cm4gZX1mdW5jdGlvbiBFdSgpe3ZhciBlPTAhPT1idTtyZXR1cm4gYnU9MCxlfWZ1bmN0aW9uIEN1KCl7dmFyIGU9e21lbW9pemVkU3RhdGU6bnVsbCxiYXNlU3RhdGU6bnVsbCxiYXNlUXVldWU6bnVsbCxxdWV1ZTpudWxsLG5leHQ6bnVsbH07cmV0dXJuIG51bGw9PT1ndT9tdS5tZW1vaXplZFN0YXRlPWd1PWU6Z3U9Z3UubmV4dD1lLGd1fWZ1bmN0aW9uIHp1KCl7aWYobnVsbD09PWh1KXt2YXIgZT1tdS5hbHRlcm5hdGU7ZT1udWxsIT09ZT9lLm1lbW9pemVkU3RhdGU6bnVsbH1lbHNlIGU9aHUubmV4dDt2YXIgbj1udWxsPT09Z3U/bXUubWVtb2l6ZWRTdGF0ZTpndS5uZXh0O2lmKG51bGwhPT1uKWd1PW4saHU9ZTtlbHNle2lmKG51bGw9PT1lKXRocm93IEVycm9yKGEoMzEwKSk7ZT17bWVtb2l6ZWRTdGF0ZTooaHU9ZSkubWVtb2l6ZWRTdGF0ZSxiYXNlU3RhdGU6aHUuYmFzZVN0YXRlLGJhc2VRdWV1ZTpodS5iYXNlUXVldWUscXVldWU6aHUucXVldWUsbmV4dDpudWxsfSxudWxsPT09Z3U/bXUubWVtb2l6ZWRTdGF0ZT1ndT1lOmd1PWd1Lm5leHQ9ZX1yZXR1cm4gZ3V9ZnVuY3Rpb24gTnUoZSxuKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2Ygbj9uKGUpOm59ZnVuY3Rpb24gX3UoZSl7dmFyIG49enUoKSx0PW4ucXVldWU7aWYobnVsbD09PXQpdGhyb3cgRXJyb3IoYSgzMTEpKTt0Lmxhc3RSZW5kZXJlZFJlZHVjZXI9ZTt2YXIgcj1odSxsPXIuYmFzZVF1ZXVlLHU9dC5wZW5kaW5nO2lmKG51bGwhPT11KXtpZihudWxsIT09bCl7dmFyIG89bC5uZXh0CjtsLm5leHQ9dS5uZXh0LHUubmV4dD1vfXIuYmFzZVF1ZXVlPWw9dSx0LnBlbmRpbmc9bnVsbH1pZihudWxsIT09bCl7dT1sLm5leHQscj1yLmJhc2VTdGF0ZTt2YXIgaT1vPW51bGwscz1udWxsLGM9dTtkb3t2YXIgZj1jLmxhbmU7aWYoKHB1JmYpPT09ZiludWxsIT09cyYmKHM9cy5uZXh0PXtsYW5lOjAsYWN0aW9uOmMuYWN0aW9uLGhhc0VhZ2VyU3RhdGU6Yy5oYXNFYWdlclN0YXRlLGVhZ2VyU3RhdGU6Yy5lYWdlclN0YXRlLG5leHQ6bnVsbH0pLHI9Yy5oYXNFYWdlclN0YXRlP2MuZWFnZXJTdGF0ZTplKHIsYy5hY3Rpb24pO2Vsc2V7dmFyIGQ9e2xhbmU6ZixhY3Rpb246Yy5hY3Rpb24saGFzRWFnZXJTdGF0ZTpjLmhhc0VhZ2VyU3RhdGUsZWFnZXJTdGF0ZTpjLmVhZ2VyU3RhdGUsbmV4dDpudWxsfTtudWxsPT09cz8oaT1zPWQsbz1yKTpzPXMubmV4dD1kLG11LmxhbmVzfD1mLElpfD1mfWM9Yy5uZXh0fXdoaWxlKG51bGwhPT1jJiZjIT09dSk7bnVsbD09PXM/bz1yOnMubmV4dD1pLG9yKHIsbi5tZW1vaXplZFN0YXRlKXx8KGtvPSEwKSxuLm1lbW9pemVkU3RhdGU9cixuLmJhc2VTdGF0ZT1vLG4uYmFzZVF1ZXVlPXMsdC5sYXN0UmVuZGVyZWRTdGF0ZT1yfWlmKG51bGwhPT0oZT10LmludGVybGVhdmVkKSl7bD1lO2Rve3U9bC5sYW5lLG11LmxhbmVzfD11LElpfD11LGw9bC5uZXh0fXdoaWxlKGwhPT1lKX1lbHNlIG51bGw9PT1sJiYodC5sYW5lcz0wKTtyZXR1cm5bbi5tZW1vaXplZFN0YXRlLHQuZGlzcGF0Y2hdfWZ1bmN0aW9uIFB1KGUpe3ZhciBuPXp1KCksdD1uLnF1ZXVlO2lmKG51bGw9PT10KXRocm93IEVycm9yKGEoMzExKSk7dC5sYXN0UmVuZGVyZWRSZWR1Y2VyPWU7dmFyIHI9dC5kaXNwYXRjaCxsPXQucGVuZGluZyx1PW4ubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09bCl7dC5wZW5kaW5nPW51bGw7dmFyIG89bD1sLm5leHQ7ZG97dT1lKHUsby5hY3Rpb24pLG89by5uZXh0fXdoaWxlKG8hPT1sKTtvcih1LG4ubWVtb2l6ZWRTdGF0ZSl8fChrbz0hMCksbi5tZW1vaXplZFN0YXRlPXUsbnVsbD09PW4uYmFzZVF1ZXVlJiYobi5iYXNlU3RhdGU9dSksdC5sYXN0UmVuZGVyZWRTdGF0ZT11fXJldHVyblt1LHJdfWZ1bmN0aW9uIFR1KCl7fWZ1bmN0aW9uIEx1KGUsbil7dmFyIHQ9bXUscj16dSgpLGw9bigpLHU9IW9yKHIubWVtb2l6ZWRTdGF0ZSxsKTtpZih1JiYoci5tZW1vaXplZFN0YXRlPWwsa289ITApLHI9ci5xdWV1ZSxIdShSdS5iaW5kKG51bGwsdCxyLGUpLFtlXSksci5nZXRTbmFwc2hvdCE9PW58fHV8fG51bGwhPT1ndSYmMSZndS5tZW1vaXplZFN0YXRlLnRhZyl7aWYodC5mbGFnc3w9MjA0OCxVdSg5LEZ1LmJpbmQobnVsbCx0LHIsbCxuKSx2b2lkIDAsbnVsbCksbnVsbD09PVBpKXRocm93IEVycm9yKGEoMzQ5KSk7MzAmcHV8fE11KHQsbixsKX1yZXR1cm4gbH1mdW5jdGlvbiBNdShlLG4sdCl7ZS5mbGFnc3w9MTYzODQsZT17Z2V0U25hcHNob3Q6bix2YWx1ZTp0fSxudWxsPT09KG49bXUudXBkYXRlUXVldWUpPyhuPXtsYXN0RWZmZWN0Om51bGwsc3RvcmVzOm51bGx9LG11LnVwZGF0ZVF1ZXVlPW4sbi5zdG9yZXM9W2VdKTpudWxsPT09KHQ9bi5zdG9yZXMpP24uc3RvcmVzPVtlXTp0LnB1c2goZSl9ZnVuY3Rpb24gRnUoZSxuLHQscil7bi52YWx1ZT10LG4uZ2V0U25hcHNob3Q9cixEdShuKSYmSXUoZSl9ZnVuY3Rpb24gUnUoZSxuLHQpe3JldHVybiB0KChmdW5jdGlvbigpe0R1KG4pJiZJdShlKX0pKX1mdW5jdGlvbiBEdShlKXt2YXIgbj1lLmdldFNuYXBzaG90O2U9ZS52YWx1ZTt0cnl7dmFyIHQ9bigpO3JldHVybiFvcihlLHQpfWNhdGNoKGUpe3JldHVybiEwfX1mdW5jdGlvbiBJdShlKXt2YXIgbj1QYShlLDEpO251bGwhPT1uJiZ0cyhuLGUsMSwtMSl9ZnVuY3Rpb24gT3UoZSl7dmFyIG49Q3UoKTtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZSYmKGU9ZSgpKSxuLm1lbW9pemVkU3RhdGU9bi5iYXNlU3RhdGU9ZSxlPXtwZW5kaW5nOm51bGwsaW50ZXJsZWF2ZWQ6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjpOdSxsYXN0UmVuZGVyZWRTdGF0ZTplfSxuLnF1ZXVlPWUsZT1lLmRpc3BhdGNoPW5vLmJpbmQobnVsbCxtdSxlKSxbbi5tZW1vaXplZFN0YXRlLGVdfWZ1bmN0aW9uIFV1KGUsbix0LHIpe3JldHVybiBlPXt0YWc6ZSxjcmVhdGU6bixkZXN0cm95OnQsZGVwczpyLG5leHQ6bnVsbH0sbnVsbD09PShuPW11LnVwZGF0ZVF1ZXVlKT8obj17bGFzdEVmZmVjdDpudWxsLHN0b3JlczpudWxsfSxtdS51cGRhdGVRdWV1ZT1uLG4ubGFzdEVmZmVjdD1lLm5leHQ9ZSk6bnVsbD09PSh0PW4ubGFzdEVmZmVjdCk/bi5sYXN0RWZmZWN0PWUubmV4dD1lOihyPXQubmV4dCx0Lm5leHQ9ZSxlLm5leHQ9cixuLmxhc3RFZmZlY3Q9ZSksZX1mdW5jdGlvbiBWdSgpe3JldHVybiB6dSgpLm1lbW9pemVkU3RhdGV9ZnVuY3Rpb24gQXUoZSxuLHQscil7dmFyIGw9Q3UoKTttdS5mbGFnc3w9ZSxsLm1lbW9pemVkU3RhdGU9VXUoMXxuLHQsdm9pZCAwLHZvaWQgMD09PXI/bnVsbDpyKX1mdW5jdGlvbiBCdShlLG4sdCxyKXt2YXIgbD16dSgpO3I9dm9pZCAwPT09cj9udWxsOnI7dmFyIGE9dm9pZCAwO2lmKG51bGwhPT1odSl7dmFyIHU9aHUubWVtb2l6ZWRTdGF0ZTtpZihhPXUuZGVzdHJveSxudWxsIT09ciYmU3Uocix1LmRlcHMpKXJldHVybiB2b2lkKGwubWVtb2l6ZWRTdGF0ZT1VdShuLHQsYSxyKSl9bXUuZmxhZ3N8PWUsbC5tZW1vaXplZFN0YXRlPVV1KDF8bix0LGEscil9ZnVuY3Rpb24gV3UoZSxuKXtyZXR1cm4gQXUoODM5MDY1Niw4LGUsbil9ZnVuY3Rpb24gSHUoZSxuKXtyZXR1cm4gQnUoMjA0OCw4LGUsbil9ZnVuY3Rpb24gUXUoZSxuKXtyZXR1cm4gQnUoNCwyLGUsbil9ZnVuY3Rpb24ganUoZSxuKXtyZXR1cm4gQnUoNCw0LGUsbil9ZnVuY3Rpb24gJHUoZSxuKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2Ygbj8oZT1lKCksbihlKSxmdW5jdGlvbigpe24obnVsbCl9KTpudWxsIT1uPyhlPWUoKSxuLmN1cnJlbnQ9ZSxmdW5jdGlvbigpe24uY3VycmVudD1udWxsfSk6dm9pZCAwfWZ1bmN0aW9uIHF1KGUsbix0KXsKcmV0dXJuIHQ9bnVsbCE9dD90LmNvbmNhdChbZV0pOm51bGwsQnUoNCw0LCR1LmJpbmQobnVsbCxuLGUpLHQpfWZ1bmN0aW9uIEt1KCl7fWZ1bmN0aW9uIFl1KGUsbil7dmFyIHQ9enUoKTtuPXZvaWQgMD09PW4/bnVsbDpuO3ZhciByPXQubWVtb2l6ZWRTdGF0ZTtyZXR1cm4gbnVsbCE9PXImJm51bGwhPT1uJiZTdShuLHJbMV0pP3JbMF06KHQubWVtb2l6ZWRTdGF0ZT1bZSxuXSxlKX1mdW5jdGlvbiBYdShlLG4pe3ZhciB0PXp1KCk7bj12b2lkIDA9PT1uP251bGw6bjt2YXIgcj10Lm1lbW9pemVkU3RhdGU7cmV0dXJuIG51bGwhPT1yJiZudWxsIT09biYmU3UobixyWzFdKT9yWzBdOihlPWUoKSx0Lm1lbW9pemVkU3RhdGU9W2Usbl0sZSl9ZnVuY3Rpb24gR3UoZSxuLHQpe3JldHVybiAyMSZwdT8ob3IodCxuKXx8KHQ9Z24oKSxtdS5sYW5lc3w9dCxJaXw9dCxlLmJhc2VTdGF0ZT0hMCksbik6KGUuYmFzZVN0YXRlJiYoZS5iYXNlU3RhdGU9ITEsa289ITApLGUubWVtb2l6ZWRTdGF0ZT10KX1mdW5jdGlvbiBadShlLG4pe3ZhciB0PWtuO2tuPTAhPT10JiY0PnQ/dDo0LGUoITApO3ZhciByPWR1LnRyYW5zaXRpb247ZHUudHJhbnNpdGlvbj17fTt0cnl7ZSghMSksbigpfWZpbmFsbHl7a249dCxkdS50cmFuc2l0aW9uPXJ9fWZ1bmN0aW9uIEp1KCl7cmV0dXJuIHp1KCkubWVtb2l6ZWRTdGF0ZX1mdW5jdGlvbiBlbyhlLG4sdCl7dmFyIHI9bnMoZSk7aWYodD17bGFuZTpyLGFjdGlvbjp0LGhhc0VhZ2VyU3RhdGU6ITEsZWFnZXJTdGF0ZTpudWxsLG5leHQ6bnVsbH0sdG8oZSkpcm8obix0KTtlbHNlIGlmKG51bGwhPT0odD1fYShlLG4sdCxyKSkpe3RzKHQsZSxyLGVzKCkpLGxvKHQsbixyKX19ZnVuY3Rpb24gbm8oZSxuLHQpe3ZhciByPW5zKGUpLGw9e2xhbmU6cixhY3Rpb246dCxoYXNFYWdlclN0YXRlOiExLGVhZ2VyU3RhdGU6bnVsbCxuZXh0Om51bGx9O2lmKHRvKGUpKXJvKG4sbCk7ZWxzZXt2YXIgYT1lLmFsdGVybmF0ZTtpZigwPT09ZS5sYW5lcyYmKG51bGw9PT1hfHwwPT09YS5sYW5lcykmJm51bGwhPT0oYT1uLmxhc3RSZW5kZXJlZFJlZHVjZXIpKXRyeXt2YXIgdT1uLmxhc3RSZW5kZXJlZFN0YXRlLG89YSh1LHQpO2lmKGwuaGFzRWFnZXJTdGF0ZT0hMCxsLmVhZ2VyU3RhdGU9byxvcihvLHUpKXt2YXIgaT1uLmludGVybGVhdmVkO3JldHVybiBudWxsPT09aT8obC5uZXh0PWwsTmEobikpOihsLm5leHQ9aS5uZXh0LGkubmV4dD1sKSx2b2lkKG4uaW50ZXJsZWF2ZWQ9bCl9fWNhdGNoKGUpe31udWxsIT09KHQ9X2EoZSxuLGwscikpJiYodHModCxlLHIsbD1lcygpKSxsbyh0LG4scikpfX1mdW5jdGlvbiB0byhlKXt2YXIgbj1lLmFsdGVybmF0ZTtyZXR1cm4gZT09PW11fHxudWxsIT09biYmbj09PW11fWZ1bmN0aW9uIHJvKGUsbil7eXU9dnU9ITA7dmFyIHQ9ZS5wZW5kaW5nO251bGw9PT10P24ubmV4dD1uOihuLm5leHQ9dC5uZXh0LHQubmV4dD1uKSxlLnBlbmRpbmc9bn1mdW5jdGlvbiBsbyhlLG4sdCl7aWYoNDE5NDI0MCZ0KXt2YXIgcj1uLmxhbmVzO3R8PXImPWUucGVuZGluZ0xhbmVzLG4ubGFuZXM9dCxibihlLHQpfX12YXIgYW89e3JlYWRDb250ZXh0OkNhLHVzZUNhbGxiYWNrOnd1LHVzZUNvbnRleHQ6d3UsdXNlRWZmZWN0Ond1LHVzZUltcGVyYXRpdmVIYW5kbGU6d3UsdXNlSW5zZXJ0aW9uRWZmZWN0Ond1LHVzZUxheW91dEVmZmVjdDp3dSx1c2VNZW1vOnd1LHVzZVJlZHVjZXI6d3UsdXNlUmVmOnd1LHVzZVN0YXRlOnd1LHVzZURlYnVnVmFsdWU6d3UsdXNlRGVmZXJyZWRWYWx1ZTp3dSx1c2VUcmFuc2l0aW9uOnd1LHVzZU11dGFibGVTb3VyY2U6d3UsdXNlU3luY0V4dGVybmFsU3RvcmU6d3UsdXNlSWQ6d3UsdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiExfSx1bz17cmVhZENvbnRleHQ6Q2EsdXNlQ2FsbGJhY2s6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gQ3UoKS5tZW1vaXplZFN0YXRlPVtlLHZvaWQgMD09PW4/bnVsbDpuXSxlfSx1c2VDb250ZXh0OkNhLHVzZUVmZmVjdDpXdSx1c2VJbXBlcmF0aXZlSGFuZGxlOmZ1bmN0aW9uKGUsbix0KXtyZXR1cm4gdD1udWxsIT10P3QuY29uY2F0KFtlXSk6bnVsbCxBdSg0MTk0MzA4LDQsJHUuYmluZChudWxsLG4sZSksdCl9LHVzZUxheW91dEVmZmVjdDpmdW5jdGlvbihlLG4pe3JldHVybiBBdSg0MTk0MzA4LDQsZSxuKX0sdXNlSW5zZXJ0aW9uRWZmZWN0OmZ1bmN0aW9uKGUsbil7cmV0dXJuIEF1KDQsMixlLG4pfSx1c2VNZW1vOmZ1bmN0aW9uKGUsbil7dmFyIHQ9Q3UoKTtyZXR1cm4gbj12b2lkIDA9PT1uP251bGw6bixlPWUoKSx0Lm1lbW9pemVkU3RhdGU9W2Usbl0sZX0sdXNlUmVkdWNlcjpmdW5jdGlvbihlLG4sdCl7dmFyIHI9Q3UoKTtyZXR1cm4gbj12b2lkIDAhPT10P3Qobik6bixyLm1lbW9pemVkU3RhdGU9ci5iYXNlU3RhdGU9bixlPXtwZW5kaW5nOm51bGwsaW50ZXJsZWF2ZWQ6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjplLGxhc3RSZW5kZXJlZFN0YXRlOm59LHIucXVldWU9ZSxlPWUuZGlzcGF0Y2g9ZW8uYmluZChudWxsLG11LGUpLFtyLm1lbW9pemVkU3RhdGUsZV19LHVzZVJlZjpmdW5jdGlvbihlKXtyZXR1cm4gZT17Y3VycmVudDplfSxDdSgpLm1lbW9pemVkU3RhdGU9ZX0sdXNlU3RhdGU6T3UsdXNlRGVidWdWYWx1ZTpLdSx1c2VEZWZlcnJlZFZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiBDdSgpLm1lbW9pemVkU3RhdGU9ZX0sdXNlVHJhbnNpdGlvbjpmdW5jdGlvbigpe3ZhciBlPU91KCExKSxuPWVbMF07cmV0dXJuIGU9WnUuYmluZChudWxsLGVbMV0pLEN1KCkubWVtb2l6ZWRTdGF0ZT1lLFtuLGVdfSx1c2VNdXRhYmxlU291cmNlOmZ1bmN0aW9uKCl7fSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpmdW5jdGlvbihlLG4sdCl7dmFyIHI9bXUsbD1DdSgpO2lmKGxhKXtpZih2b2lkIDA9PT10KXRocm93IEVycm9yKGEoNDA3KSk7dD10KCl9ZWxzZXtpZih0PW4oKSxudWxsPT09UGkpdGhyb3cgRXJyb3IoYSgzNDkpKTszMCZwdXx8TXUocixuLHQpfWwubWVtb2l6ZWRTdGF0ZT10O3ZhciB1PXt2YWx1ZTp0LGdldFNuYXBzaG90Om59O3JldHVybiBsLnF1ZXVlPXUsCld1KFJ1LmJpbmQobnVsbCxyLHUsZSksW2VdKSxyLmZsYWdzfD0yMDQ4LFV1KDksRnUuYmluZChudWxsLHIsdSx0LG4pLHZvaWQgMCxudWxsKSx0fSx1c2VJZDpmdW5jdGlvbigpe3ZhciBlPUN1KCksbj1QaS5pZGVudGlmaWVyUHJlZml4O2lmKGxhKXt2YXIgdD1HbDtuPSI6IituKyJSIisodD0oWGwmfigxPDwzMi11bihYbCktMSkpLnRvU3RyaW5nKDMyKSt0KSwwPCh0PWJ1KyspJiYobis9IkgiK3QudG9TdHJpbmcoMzIpKSxuKz0iOiJ9ZWxzZSBuPSI6IituKyJyIisodD1rdSsrKS50b1N0cmluZygzMikrIjoiO3JldHVybiBlLm1lbW9pemVkU3RhdGU9bn0sdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiExfSxvbz17cmVhZENvbnRleHQ6Q2EsdXNlQ2FsbGJhY2s6WXUsdXNlQ29udGV4dDpDYSx1c2VFZmZlY3Q6SHUsdXNlSW1wZXJhdGl2ZUhhbmRsZTpxdSx1c2VJbnNlcnRpb25FZmZlY3Q6UXUsdXNlTGF5b3V0RWZmZWN0Omp1LHVzZU1lbW86WHUsdXNlUmVkdWNlcjpfdSx1c2VSZWY6VnUsdXNlU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gX3UoTnUpfSx1c2VEZWJ1Z1ZhbHVlOkt1LHVzZURlZmVycmVkVmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIEd1KHp1KCksaHUubWVtb2l6ZWRTdGF0ZSxlKX0sdXNlVHJhbnNpdGlvbjpmdW5jdGlvbigpe3JldHVybltfdShOdSlbMF0senUoKS5tZW1vaXplZFN0YXRlXX0sdXNlTXV0YWJsZVNvdXJjZTpUdSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpMdSx1c2VJZDpKdSx1bnN0YWJsZV9pc05ld1JlY29uY2lsZXI6ITF9LGlvPXtyZWFkQ29udGV4dDpDYSx1c2VDYWxsYmFjazpZdSx1c2VDb250ZXh0OkNhLHVzZUVmZmVjdDpIdSx1c2VJbXBlcmF0aXZlSGFuZGxlOnF1LHVzZUluc2VydGlvbkVmZmVjdDpRdSx1c2VMYXlvdXRFZmZlY3Q6anUsdXNlTWVtbzpYdSx1c2VSZWR1Y2VyOlB1LHVzZVJlZjpWdSx1c2VTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBQdShOdSl9LHVzZURlYnVnVmFsdWU6S3UsdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihlKXt2YXIgbj16dSgpO3JldHVybiBudWxsPT09aHU/bi5tZW1vaXplZFN0YXRlPWU6R3UobixodS5tZW1vaXplZFN0YXRlLGUpfSx1c2VUcmFuc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuW1B1KE51KVswXSx6dSgpLm1lbW9pemVkU3RhdGVdfSx1c2VNdXRhYmxlU291cmNlOlR1LHVzZVN5bmNFeHRlcm5hbFN0b3JlOkx1LHVzZUlkOkp1LHVuc3RhYmxlX2lzTmV3UmVjb25jaWxlcjohMX07ZnVuY3Rpb24gc28oZSxuKXt0cnl7dmFyIHQ9IiIscj1uO2Rve3QrPUIocikscj1yLnJldHVybn13aGlsZShyKTt2YXIgbD10fWNhdGNoKGUpe2w9IlxuRXJyb3IgZ2VuZXJhdGluZyBzdGFjazogIitlLm1lc3NhZ2UrIlxuIitlLnN0YWNrfXJldHVybnt2YWx1ZTplLHNvdXJjZTpuLHN0YWNrOmwsZGlnZXN0Om51bGx9fWZ1bmN0aW9uIGNvKGUsbix0KXtyZXR1cm57dmFsdWU6ZSxzb3VyY2U6bnVsbCxzdGFjazpudWxsIT10P3Q6bnVsbCxkaWdlc3Q6bnVsbCE9bj9uOm51bGx9fWZ1bmN0aW9uIGZvKGUsbil7dHJ5e2NvbnNvbGUuZXJyb3Iobi52YWx1ZSl9Y2F0Y2goZSl7c2V0VGltZW91dCgoZnVuY3Rpb24oKXt0aHJvdyBlfSkpfX12YXIgcG89ImZ1bmN0aW9uIj09dHlwZW9mIFdlYWtNYXA/V2Vha01hcDpNYXA7ZnVuY3Rpb24gbW8oZSxuLHQpeyh0PUZhKC0xLHQpKS50YWc9Myx0LnBheWxvYWQ9e2VsZW1lbnQ6bnVsbH07dmFyIHI9bi52YWx1ZTtyZXR1cm4gdC5jYWxsYmFjaz1mdW5jdGlvbigpe1FpfHwoUWk9ITAsamk9ciksZm8oMCxuKX0sdH1mdW5jdGlvbiBobyhlLG4sdCl7KHQ9RmEoLTEsdCkpLnRhZz0zO3ZhciByPWUudHlwZS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpe3ZhciBsPW4udmFsdWU7dC5wYXlsb2FkPWZ1bmN0aW9uKCl7cmV0dXJuIHIobCl9LHQuY2FsbGJhY2s9ZnVuY3Rpb24oKXtmbygwLG4pfX12YXIgYT1lLnN0YXRlTm9kZTtyZXR1cm4gbnVsbCE9PWEmJiJmdW5jdGlvbiI9PXR5cGVvZiBhLmNvbXBvbmVudERpZENhdGNoJiYodC5jYWxsYmFjaz1mdW5jdGlvbigpe2ZvKDAsbiksImZ1bmN0aW9uIiE9dHlwZW9mIHImJihudWxsPT09JGk/JGk9bmV3IFNldChbdGhpc10pOiRpLmFkZCh0aGlzKSk7dmFyIGU9bi5zdGFjazt0aGlzLmNvbXBvbmVudERpZENhdGNoKG4udmFsdWUse2NvbXBvbmVudFN0YWNrOm51bGwhPT1lP2U6IiJ9KX0pLHR9ZnVuY3Rpb24gZ28oZSxuLHQpe3ZhciByPWUucGluZ0NhY2hlO2lmKG51bGw9PT1yKXtyPWUucGluZ0NhY2hlPW5ldyBwbzt2YXIgbD1uZXcgU2V0O3Iuc2V0KG4sbCl9ZWxzZSB2b2lkIDA9PT0obD1yLmdldChuKSkmJihsPW5ldyBTZXQsci5zZXQobixsKSk7bC5oYXModCl8fChsLmFkZCh0KSxlPUNzLmJpbmQobnVsbCxlLG4sdCksbi50aGVuKGUsZSkpfWZ1bmN0aW9uIHZvKGUpe2Rve3ZhciBuO2lmKChuPTEzPT09ZS50YWcpJiYobj1udWxsPT09KG49ZS5tZW1vaXplZFN0YXRlKXx8bnVsbCE9PW4uZGVoeWRyYXRlZCksbilyZXR1cm4gZTtlPWUucmV0dXJufXdoaWxlKG51bGwhPT1lKTtyZXR1cm4gbnVsbH1mdW5jdGlvbiB5byhlLG4sdCxyLGwpe3JldHVybiAxJmUubW9kZT8oZS5mbGFnc3w9NjU1MzYsZS5sYW5lcz1sLGUpOihlPT09bj9lLmZsYWdzfD02NTUzNjooZS5mbGFnc3w9MTI4LHQuZmxhZ3N8PTEzMTA3Mix0LmZsYWdzJj0tNTI4MDUsMT09PXQudGFnJiYobnVsbD09PXQuYWx0ZXJuYXRlP3QudGFnPTE3Oigobj1GYSgtMSwxKSkudGFnPTIsUmEodCxuLDEpKSksdC5sYW5lc3w9MSksZSl9dmFyIGJvPWsuUmVhY3RDdXJyZW50T3duZXIsa289ITE7ZnVuY3Rpb24gd28oZSxuLHQscil7bi5jaGlsZD1udWxsPT09ZT9HYShuLG51bGwsdCxyKTpYYShuLGUuY2hpbGQsdCxyKX1mdW5jdGlvbiBTbyhlLG4sdCxyLGwpe3Q9dC5yZW5kZXI7dmFyIGE9bi5yZWY7cmV0dXJuIEVhKG4sbCkscj14dShlLG4sdCxyLGEsbCksdD1FdSgpLG51bGw9PT1lfHxrbz8obGEmJnQmJmVhKG4pLG4uZmxhZ3N8PTEsd28oZSxuLHIsbCksbi5jaGlsZCk6KG4udXBkYXRlUXVldWU9ZS51cGRhdGVRdWV1ZSxuLmZsYWdzJj0tMjA1MywKZS5sYW5lcyY9fmwsUW8oZSxuLGwpKX1mdW5jdGlvbiB4byhlLG4sdCxyLGwpe2lmKG51bGw9PT1lKXt2YXIgYT10LnR5cGU7cmV0dXJuImZ1bmN0aW9uIiE9dHlwZW9mIGF8fE1zKGEpfHx2b2lkIDAhPT1hLmRlZmF1bHRQcm9wc3x8bnVsbCE9PXQuY29tcGFyZXx8dm9pZCAwIT09dC5kZWZhdWx0UHJvcHM/KChlPVJzKHQudHlwZSxudWxsLHIsbixuLm1vZGUsbCkpLnJlZj1uLnJlZixlLnJldHVybj1uLG4uY2hpbGQ9ZSk6KG4udGFnPTE1LG4udHlwZT1hLEVvKGUsbixhLHIsbCkpfWlmKGE9ZS5jaGlsZCwhKGUubGFuZXMmbCkpe3ZhciB1PWEubWVtb2l6ZWRQcm9wcztpZigodD1udWxsIT09KHQ9dC5jb21wYXJlKT90OmlyKSh1LHIpJiZlLnJlZj09PW4ucmVmKXJldHVybiBRbyhlLG4sbCl9cmV0dXJuIG4uZmxhZ3N8PTEsKGU9RnMoYSxyKSkucmVmPW4ucmVmLGUucmV0dXJuPW4sbi5jaGlsZD1lfWZ1bmN0aW9uIEVvKGUsbix0LHIsbCl7aWYobnVsbCE9PWUpe3ZhciBhPWUubWVtb2l6ZWRQcm9wcztpZihpcihhLHIpJiZlLnJlZj09PW4ucmVmKXtpZihrbz0hMSxuLnBlbmRpbmdQcm9wcz1yPWEsIShlLmxhbmVzJmwpKXJldHVybiBuLmxhbmVzPWUubGFuZXMsUW8oZSxuLGwpOzEzMTA3MiZlLmZsYWdzJiYoa289ITApfX1yZXR1cm4gTm8oZSxuLHQscixsKX1mdW5jdGlvbiBDbyhlLG4sdCl7dmFyIHI9bi5wZW5kaW5nUHJvcHMsbD1yLmNoaWxkcmVuLGE9bnVsbCE9PWU/ZS5tZW1vaXplZFN0YXRlOm51bGw7aWYoImhpZGRlbiI9PT1yLm1vZGUpaWYoMSZuLm1vZGUpe2lmKCEoMTA3Mzc0MTgyNCZ0KSlyZXR1cm4gZT1udWxsIT09YT9hLmJhc2VMYW5lc3x0OnQsbi5sYW5lcz1uLmNoaWxkTGFuZXM9MTA3Mzc0MTgyNCxuLm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczplLGNhY2hlUG9vbDpudWxsLHRyYW5zaXRpb25zOm51bGx9LG4udXBkYXRlUXVldWU9bnVsbCx6bChGaSxNaSksTWl8PWUsbnVsbDtuLm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczowLGNhY2hlUG9vbDpudWxsLHRyYW5zaXRpb25zOm51bGx9LHI9bnVsbCE9PWE/YS5iYXNlTGFuZXM6dCx6bChGaSxNaSksTWl8PXJ9ZWxzZSBuLm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczowLGNhY2hlUG9vbDpudWxsLHRyYW5zaXRpb25zOm51bGx9LHpsKEZpLE1pKSxNaXw9dDtlbHNlIG51bGwhPT1hPyhyPWEuYmFzZUxhbmVzfHQsbi5tZW1vaXplZFN0YXRlPW51bGwpOnI9dCx6bChGaSxNaSksTWl8PXI7cmV0dXJuIHdvKGUsbixsLHQpLG4uY2hpbGR9ZnVuY3Rpb24gem8oZSxuKXt2YXIgdD1uLnJlZjsobnVsbD09PWUmJm51bGwhPT10fHxudWxsIT09ZSYmZS5yZWYhPT10KSYmKG4uZmxhZ3N8PTUxMixuLmZsYWdzfD0yMDk3MTUyKX1mdW5jdGlvbiBObyhlLG4sdCxyLGwpe3ZhciBhPU1sKHQpP1RsOl9sLmN1cnJlbnQ7cmV0dXJuIGE9TGwobixhKSxFYShuLGwpLHQ9eHUoZSxuLHQscixhLGwpLHI9RXUoKSxudWxsPT09ZXx8a28/KGxhJiZyJiZlYShuKSxuLmZsYWdzfD0xLHdvKGUsbix0LGwpLG4uY2hpbGQpOihuLnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsbi5mbGFncyY9LTIwNTMsZS5sYW5lcyY9fmwsUW8oZSxuLGwpKX1mdW5jdGlvbiBfbyhlLG4sdCxyLGwpe2lmKE1sKHQpKXt2YXIgYT0hMDtJbChuKX1lbHNlIGE9ITE7aWYoRWEobixsKSxudWxsPT09bi5zdGF0ZU5vZGUpSG8oZSxuKSxIYShuLHQsciksamEobix0LHIsbCkscj0hMDtlbHNlIGlmKG51bGw9PT1lKXt2YXIgdT1uLnN0YXRlTm9kZSxvPW4ubWVtb2l6ZWRQcm9wczt1LnByb3BzPW87dmFyIGk9dS5jb250ZXh0LHM9dC5jb250ZXh0VHlwZTsib2JqZWN0Ij09dHlwZW9mIHMmJm51bGwhPT1zP3M9Q2Eocyk6cz1MbChuLHM9TWwodCk/VGw6X2wuY3VycmVudCk7dmFyIGM9dC5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMsZj0iZnVuY3Rpb24iPT10eXBlb2YgY3x8ImZ1bmN0aW9uIj09dHlwZW9mIHUuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGU7Znx8ImZ1bmN0aW9uIiE9dHlwZW9mIHUuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMmJiJmdW5jdGlvbiIhPXR5cGVvZiB1LmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHN8fChvIT09cnx8aSE9PXMpJiZRYShuLHUscixzKSxUYT0hMTt2YXIgZD1uLm1lbW9pemVkU3RhdGU7dS5zdGF0ZT1kLE9hKG4scix1LGwpLGk9bi5tZW1vaXplZFN0YXRlLG8hPT1yfHxkIT09aXx8UGwuY3VycmVudHx8VGE/KCJmdW5jdGlvbiI9PXR5cGVvZiBjJiYoQWEobix0LGMsciksaT1uLm1lbW9pemVkU3RhdGUpLChvPVRhfHxXYShuLHQsbyxyLGQsaSxzKSk/KGZ8fCJmdW5jdGlvbiIhPXR5cGVvZiB1LlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQmJiJmdW5jdGlvbiIhPXR5cGVvZiB1LmNvbXBvbmVudFdpbGxNb3VudHx8KCJmdW5jdGlvbiI9PXR5cGVvZiB1LmNvbXBvbmVudFdpbGxNb3VudCYmdS5jb21wb25lbnRXaWxsTW91bnQoKSwiZnVuY3Rpb24iPT10eXBlb2YgdS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JiZ1LlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSksImZ1bmN0aW9uIj09dHlwZW9mIHUuY29tcG9uZW50RGlkTW91bnQmJihuLmZsYWdzfD00MTk0MzA4KSk6KCJmdW5jdGlvbiI9PXR5cGVvZiB1LmNvbXBvbmVudERpZE1vdW50JiYobi5mbGFnc3w9NDE5NDMwOCksbi5tZW1vaXplZFByb3BzPXIsbi5tZW1vaXplZFN0YXRlPWkpLHUucHJvcHM9cix1LnN0YXRlPWksdS5jb250ZXh0PXMscj1vKTooImZ1bmN0aW9uIj09dHlwZW9mIHUuY29tcG9uZW50RGlkTW91bnQmJihuLmZsYWdzfD00MTk0MzA4KSxyPSExKX1lbHNle3U9bi5zdGF0ZU5vZGUsTWEoZSxuKSxvPW4ubWVtb2l6ZWRQcm9wcyxzPW4udHlwZT09PW4uZWxlbWVudFR5cGU/bzpnYShuLnR5cGUsbyksdS5wcm9wcz1zLGY9bi5wZW5kaW5nUHJvcHMsZD11LmNvbnRleHQsIm9iamVjdCI9PXR5cGVvZihpPXQuY29udGV4dFR5cGUpJiZudWxsIT09aT9pPUNhKGkpOmk9TGwobixpPU1sKHQpP1RsOl9sLmN1cnJlbnQpO3ZhciBwPXQuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzCjsoYz0iZnVuY3Rpb24iPT10eXBlb2YgcHx8ImZ1bmN0aW9uIj09dHlwZW9mIHUuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUpfHwiZnVuY3Rpb24iIT10eXBlb2YgdS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyYmImZ1bmN0aW9uIiE9dHlwZW9mIHUuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc3x8KG8hPT1mfHxkIT09aSkmJlFhKG4sdSxyLGkpLFRhPSExLGQ9bi5tZW1vaXplZFN0YXRlLHUuc3RhdGU9ZCxPYShuLHIsdSxsKTt2YXIgbT1uLm1lbW9pemVkU3RhdGU7byE9PWZ8fGQhPT1tfHxQbC5jdXJyZW50fHxUYT8oImZ1bmN0aW9uIj09dHlwZW9mIHAmJihBYShuLHQscCxyKSxtPW4ubWVtb2l6ZWRTdGF0ZSksKHM9VGF8fFdhKG4sdCxzLHIsZCxtLGkpfHwhMSk/KGN8fCJmdW5jdGlvbiIhPXR5cGVvZiB1LlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlJiYiZnVuY3Rpb24iIT10eXBlb2YgdS5jb21wb25lbnRXaWxsVXBkYXRlfHwoImZ1bmN0aW9uIj09dHlwZW9mIHUuY29tcG9uZW50V2lsbFVwZGF0ZSYmdS5jb21wb25lbnRXaWxsVXBkYXRlKHIsbSxpKSwiZnVuY3Rpb24iPT10eXBlb2YgdS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZSYmdS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZShyLG0saSkpLCJmdW5jdGlvbiI9PXR5cGVvZiB1LmNvbXBvbmVudERpZFVwZGF0ZSYmKG4uZmxhZ3N8PTQpLCJmdW5jdGlvbiI9PXR5cGVvZiB1LmdldFNuYXBzaG90QmVmb3JlVXBkYXRlJiYobi5mbGFnc3w9MTAyNCkpOigiZnVuY3Rpb24iIT10eXBlb2YgdS5jb21wb25lbnREaWRVcGRhdGV8fG89PT1lLm1lbW9pemVkUHJvcHMmJmQ9PT1lLm1lbW9pemVkU3RhdGV8fChuLmZsYWdzfD00KSwiZnVuY3Rpb24iIT10eXBlb2YgdS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZXx8bz09PWUubWVtb2l6ZWRQcm9wcyYmZD09PWUubWVtb2l6ZWRTdGF0ZXx8KG4uZmxhZ3N8PTEwMjQpLG4ubWVtb2l6ZWRQcm9wcz1yLG4ubWVtb2l6ZWRTdGF0ZT1tKSx1LnByb3BzPXIsdS5zdGF0ZT1tLHUuY29udGV4dD1pLHI9cyk6KCJmdW5jdGlvbiIhPXR5cGVvZiB1LmNvbXBvbmVudERpZFVwZGF0ZXx8bz09PWUubWVtb2l6ZWRQcm9wcyYmZD09PWUubWVtb2l6ZWRTdGF0ZXx8KG4uZmxhZ3N8PTQpLCJmdW5jdGlvbiIhPXR5cGVvZiB1LmdldFNuYXBzaG90QmVmb3JlVXBkYXRlfHxvPT09ZS5tZW1vaXplZFByb3BzJiZkPT09ZS5tZW1vaXplZFN0YXRlfHwobi5mbGFnc3w9MTAyNCkscj0hMSl9cmV0dXJuIFBvKGUsbix0LHIsYSxsKX1mdW5jdGlvbiBQbyhlLG4sdCxyLGwsYSl7em8oZSxuKTt2YXIgdT0hISgxMjgmbi5mbGFncyk7aWYoIXImJiF1KXJldHVybiBsJiZPbChuLHQsITEpLFFvKGUsbixhKTtyPW4uc3RhdGVOb2RlLGJvLmN1cnJlbnQ9bjt2YXIgbz11JiYiZnVuY3Rpb24iIT10eXBlb2YgdC5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I/bnVsbDpyLnJlbmRlcigpO3JldHVybiBuLmZsYWdzfD0xLG51bGwhPT1lJiZ1PyhuLmNoaWxkPVhhKG4sZS5jaGlsZCxudWxsLGEpLG4uY2hpbGQ9WGEobixudWxsLG8sYSkpOndvKGUsbixvLGEpLG4ubWVtb2l6ZWRTdGF0ZT1yLnN0YXRlLGwmJk9sKG4sdCwhMCksbi5jaGlsZH1mdW5jdGlvbiBUbyhlKXt2YXIgbj1lLnN0YXRlTm9kZTtuLnBlbmRpbmdDb250ZXh0P1JsKDAsbi5wZW5kaW5nQ29udGV4dCxuLnBlbmRpbmdDb250ZXh0IT09bi5jb250ZXh0KTpuLmNvbnRleHQmJlJsKDAsbi5jb250ZXh0LCExKSxydShlLG4uY29udGFpbmVySW5mbyl9ZnVuY3Rpb24gTG8oZSxuLHQscixsKXtyZXR1cm4gcGEoKSxtYShsKSxuLmZsYWdzfD0yNTYsd28oZSxuLHQsciksbi5jaGlsZH12YXIgTW8sRm8sUm8sRG89e2RlaHlkcmF0ZWQ6bnVsbCx0cmVlQ29udGV4dDpudWxsLHJldHJ5TGFuZTowfTtmdW5jdGlvbiBJbyhlKXtyZXR1cm57YmFzZUxhbmVzOmUsY2FjaGVQb29sOm51bGwsdHJhbnNpdGlvbnM6bnVsbH19ZnVuY3Rpb24gT28oZSxuLHQpe3ZhciByLGw9bi5wZW5kaW5nUHJvcHMsdT1vdS5jdXJyZW50LG89ITEsaT0hISgxMjgmbi5mbGFncyk7aWYoKHI9aSl8fChyPShudWxsPT09ZXx8bnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSkmJiEhKDImdSkpLHI/KG89ITAsbi5mbGFncyY9LTEyOSk6bnVsbCE9PWUmJm51bGw9PT1lLm1lbW9pemVkU3RhdGV8fCh1fD0xKSx6bChvdSwxJnUpLG51bGw9PT1lKXJldHVybiBzYShuKSxudWxsIT09KGU9bi5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PShlPWUuZGVoeWRyYXRlZCk/KDEmbi5tb2RlPyIkISI9PT1lLmRhdGE/bi5sYW5lcz04Om4ubGFuZXM9MTA3Mzc0MTgyNDpuLmxhbmVzPTEsbnVsbCk6KGk9bC5jaGlsZHJlbixlPWwuZmFsbGJhY2ssbz8obD1uLm1vZGUsbz1uLmNoaWxkLGk9e21vZGU6ImhpZGRlbiIsY2hpbGRyZW46aX0sMSZsfHxudWxsPT09bz9vPUlzKGksbCwwLG51bGwpOihvLmNoaWxkTGFuZXM9MCxvLnBlbmRpbmdQcm9wcz1pKSxlPURzKGUsbCx0LG51bGwpLG8ucmV0dXJuPW4sZS5yZXR1cm49bixvLnNpYmxpbmc9ZSxuLmNoaWxkPW8sbi5jaGlsZC5tZW1vaXplZFN0YXRlPUlvKHQpLG4ubWVtb2l6ZWRTdGF0ZT1EbyxlKTpVbyhuLGkpKTtpZihudWxsIT09KHU9ZS5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PShyPXUuZGVoeWRyYXRlZCkpcmV0dXJuIGZ1bmN0aW9uKGUsbix0LHIsbCx1LG8pe2lmKHQpcmV0dXJuIDI1NiZuLmZsYWdzPyhuLmZsYWdzJj0tMjU3LFZvKGUsbixvLHI9Y28oRXJyb3IoYSg0MjIpKSkpKTpudWxsIT09bi5tZW1vaXplZFN0YXRlPyhuLmNoaWxkPWUuY2hpbGQsbi5mbGFnc3w9MTI4LG51bGwpOih1PXIuZmFsbGJhY2ssbD1uLm1vZGUscj1Jcyh7bW9kZToidmlzaWJsZSIsY2hpbGRyZW46ci5jaGlsZHJlbn0sbCwwLG51bGwpLCh1PURzKHUsbCxvLG51bGwpKS5mbGFnc3w9MixyLnJldHVybj1uLHUucmV0dXJuPW4sci5zaWJsaW5nPXUsbi5jaGlsZD1yLDEmbi5tb2RlJiZYYShuLGUuY2hpbGQsbnVsbCxvKSxuLmNoaWxkLm1lbW9pemVkU3RhdGU9SW8obyksbi5tZW1vaXplZFN0YXRlPURvLHUpO2lmKCEoMSZuLm1vZGUpKXJldHVybiBWbyhlLG4sbyxudWxsKTtpZigiJCEiPT09bC5kYXRhKXsKaWYocj1sLm5leHRTaWJsaW5nJiZsLm5leHRTaWJsaW5nLmRhdGFzZXQpdmFyIGk9ci5kZ3N0O3JldHVybiByPWksVm8oZSxuLG8scj1jbyh1PUVycm9yKGEoNDE5KSkscix2b2lkIDApKX1pZihpPSEhKG8mZS5jaGlsZExhbmVzKSxrb3x8aSl7aWYobnVsbCE9PShyPVBpKSl7c3dpdGNoKG8mLW8pe2Nhc2UgNDpsPTI7YnJlYWs7Y2FzZSAxNjpsPTg7YnJlYWs7Y2FzZSA2NDpjYXNlIDEyODpjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6Y2FzZSAyNjIxNDQ6Y2FzZSA1MjQyODg6Y2FzZSAxMDQ4NTc2OmNhc2UgMjA5NzE1MjpjYXNlIDQxOTQzMDQ6Y2FzZSA4Mzg4NjA4OmNhc2UgMTY3NzcyMTY6Y2FzZSAzMzU1NDQzMjpjYXNlIDY3MTA4ODY0Omw9MzI7YnJlYWs7Y2FzZSA1MzY4NzA5MTI6bD0yNjg0MzU0NTY7YnJlYWs7ZGVmYXVsdDpsPTB9MCE9PShsPWwmKHIuc3VzcGVuZGVkTGFuZXN8byk/MDpsKSYmbCE9PXUucmV0cnlMYW5lJiYodS5yZXRyeUxhbmU9bCxQYShlLGwpLHRzKHIsZSxsLC0xKSl9cmV0dXJuIGhzKCksVm8oZSxuLG8scj1jbyhFcnJvcihhKDQyMSkpKSl9cmV0dXJuIiQ/Ij09PWwuZGF0YT8obi5mbGFnc3w9MTI4LG4uY2hpbGQ9ZS5jaGlsZCxuPU5zLmJpbmQobnVsbCxlKSxsLl9yZWFjdFJldHJ5PW4sbnVsbCk6KGU9dS50cmVlQ29udGV4dCxyYT1zbChsLm5leHRTaWJsaW5nKSx0YT1uLGxhPSEwLGFhPW51bGwsbnVsbCE9PWUmJihxbFtLbCsrXT1YbCxxbFtLbCsrXT1HbCxxbFtLbCsrXT1ZbCxYbD1lLmlkLEdsPWUub3ZlcmZsb3csWWw9biksbj1VbyhuLHIuY2hpbGRyZW4pLG4uZmxhZ3N8PTQwOTYsbil9KGUsbixpLGwscix1LHQpO2lmKG8pe289bC5mYWxsYmFjayxpPW4ubW9kZSxyPSh1PWUuY2hpbGQpLnNpYmxpbmc7dmFyIHM9e21vZGU6ImhpZGRlbiIsY2hpbGRyZW46bC5jaGlsZHJlbn07cmV0dXJuIDEmaXx8bi5jaGlsZD09PXU/KGw9RnModSxzKSkuc3VidHJlZUZsYWdzPTE0NjgwMDY0JnUuc3VidHJlZUZsYWdzOigobD1uLmNoaWxkKS5jaGlsZExhbmVzPTAsbC5wZW5kaW5nUHJvcHM9cyxuLmRlbGV0aW9ucz1udWxsKSxudWxsIT09cj9vPUZzKHIsbyk6KG89RHMobyxpLHQsbnVsbCkpLmZsYWdzfD0yLG8ucmV0dXJuPW4sbC5yZXR1cm49bixsLnNpYmxpbmc9byxuLmNoaWxkPWwsbD1vLG89bi5jaGlsZCxpPW51bGw9PT0oaT1lLmNoaWxkLm1lbW9pemVkU3RhdGUpP0lvKHQpOntiYXNlTGFuZXM6aS5iYXNlTGFuZXN8dCxjYWNoZVBvb2w6bnVsbCx0cmFuc2l0aW9uczppLnRyYW5zaXRpb25zfSxvLm1lbW9pemVkU3RhdGU9aSxvLmNoaWxkTGFuZXM9ZS5jaGlsZExhbmVzJn50LG4ubWVtb2l6ZWRTdGF0ZT1EbyxsfXJldHVybiBlPShvPWUuY2hpbGQpLnNpYmxpbmcsbD1GcyhvLHttb2RlOiJ2aXNpYmxlIixjaGlsZHJlbjpsLmNoaWxkcmVufSksISgxJm4ubW9kZSkmJihsLmxhbmVzPXQpLGwucmV0dXJuPW4sbC5zaWJsaW5nPW51bGwsbnVsbCE9PWUmJihudWxsPT09KHQ9bi5kZWxldGlvbnMpPyhuLmRlbGV0aW9ucz1bZV0sbi5mbGFnc3w9MTYpOnQucHVzaChlKSksbi5jaGlsZD1sLG4ubWVtb2l6ZWRTdGF0ZT1udWxsLGx9ZnVuY3Rpb24gVW8oZSxuKXtyZXR1cm4obj1Jcyh7bW9kZToidmlzaWJsZSIsY2hpbGRyZW46bn0sZS5tb2RlLDAsbnVsbCkpLnJldHVybj1lLGUuY2hpbGQ9bn1mdW5jdGlvbiBWbyhlLG4sdCxyKXtyZXR1cm4gbnVsbCE9PXImJm1hKHIpLFhhKG4sZS5jaGlsZCxudWxsLHQpLChlPVVvKG4sbi5wZW5kaW5nUHJvcHMuY2hpbGRyZW4pKS5mbGFnc3w9MixuLm1lbW9pemVkU3RhdGU9bnVsbCxlfWZ1bmN0aW9uIEFvKGUsbix0KXtlLmxhbmVzfD1uO3ZhciByPWUuYWx0ZXJuYXRlO251bGwhPT1yJiYoci5sYW5lc3w9bikseGEoZS5yZXR1cm4sbix0KX1mdW5jdGlvbiBCbyhlLG4sdCxyLGwpe3ZhciBhPWUubWVtb2l6ZWRTdGF0ZTtudWxsPT09YT9lLm1lbW9pemVkU3RhdGU9e2lzQmFja3dhcmRzOm4scmVuZGVyaW5nOm51bGwscmVuZGVyaW5nU3RhcnRUaW1lOjAsbGFzdDpyLHRhaWw6dCx0YWlsTW9kZTpsfTooYS5pc0JhY2t3YXJkcz1uLGEucmVuZGVyaW5nPW51bGwsYS5yZW5kZXJpbmdTdGFydFRpbWU9MCxhLmxhc3Q9cixhLnRhaWw9dCxhLnRhaWxNb2RlPWwpfWZ1bmN0aW9uIFdvKGUsbix0KXt2YXIgcj1uLnBlbmRpbmdQcm9wcyxsPXIucmV2ZWFsT3JkZXIsYT1yLnRhaWw7aWYod28oZSxuLHIuY2hpbGRyZW4sdCksMiYocj1vdS5jdXJyZW50KSlyPTEmcnwyLG4uZmxhZ3N8PTEyODtlbHNle2lmKG51bGwhPT1lJiYxMjgmZS5mbGFncyllOmZvcihlPW4uY2hpbGQ7bnVsbCE9PWU7KXtpZigxMz09PWUudGFnKW51bGwhPT1lLm1lbW9pemVkU3RhdGUmJkFvKGUsdCxuKTtlbHNlIGlmKDE5PT09ZS50YWcpQW8oZSx0LG4pO2Vsc2UgaWYobnVsbCE9PWUuY2hpbGQpe2UuY2hpbGQucmV0dXJuPWUsZT1lLmNoaWxkO2NvbnRpbnVlfWlmKGU9PT1uKWJyZWFrIGU7Zm9yKDtudWxsPT09ZS5zaWJsaW5nOyl7aWYobnVsbD09PWUucmV0dXJufHxlLnJldHVybj09PW4pYnJlYWsgZTtlPWUucmV0dXJufWUuc2libGluZy5yZXR1cm49ZS5yZXR1cm4sZT1lLnNpYmxpbmd9ciY9MX1pZih6bChvdSxyKSwxJm4ubW9kZSlzd2l0Y2gobCl7Y2FzZSJmb3J3YXJkcyI6Zm9yKHQ9bi5jaGlsZCxsPW51bGw7bnVsbCE9PXQ7KW51bGwhPT0oZT10LmFsdGVybmF0ZSkmJm51bGw9PT1pdShlKSYmKGw9dCksdD10LnNpYmxpbmc7bnVsbD09PSh0PWwpPyhsPW4uY2hpbGQsbi5jaGlsZD1udWxsKToobD10LnNpYmxpbmcsdC5zaWJsaW5nPW51bGwpLEJvKG4sITEsbCx0LGEpO2JyZWFrO2Nhc2UiYmFja3dhcmRzIjpmb3IodD1udWxsLGw9bi5jaGlsZCxuLmNoaWxkPW51bGw7bnVsbCE9PWw7KXtpZihudWxsIT09KGU9bC5hbHRlcm5hdGUpJiZudWxsPT09aXUoZSkpe24uY2hpbGQ9bDticmVha31lPWwuc2libGluZyxsLnNpYmxpbmc9dCx0PWwsbD1lfUJvKG4sITAsdCxudWxsLGEpO2JyZWFrO2Nhc2UidG9nZXRoZXIiOgpCbyhuLCExLG51bGwsbnVsbCx2b2lkIDApO2JyZWFrO2RlZmF1bHQ6bi5tZW1vaXplZFN0YXRlPW51bGx9ZWxzZSBuLm1lbW9pemVkU3RhdGU9bnVsbDtyZXR1cm4gbi5jaGlsZH1mdW5jdGlvbiBIbyhlLG4peyEoMSZuLm1vZGUpJiZudWxsIT09ZSYmKGUuYWx0ZXJuYXRlPW51bGwsbi5hbHRlcm5hdGU9bnVsbCxuLmZsYWdzfD0yKX1mdW5jdGlvbiBRbyhlLG4sdCl7aWYobnVsbCE9PWUmJihuLmRlcGVuZGVuY2llcz1lLmRlcGVuZGVuY2llcyksSWl8PW4ubGFuZXMsISh0Jm4uY2hpbGRMYW5lcykpcmV0dXJuIG51bGw7aWYobnVsbCE9PWUmJm4uY2hpbGQhPT1lLmNoaWxkKXRocm93IEVycm9yKGEoMTUzKSk7aWYobnVsbCE9PW4uY2hpbGQpe2Zvcih0PUZzKGU9bi5jaGlsZCxlLnBlbmRpbmdQcm9wcyksbi5jaGlsZD10LHQucmV0dXJuPW47bnVsbCE9PWUuc2libGluZzspZT1lLnNpYmxpbmcsKHQ9dC5zaWJsaW5nPUZzKGUsZS5wZW5kaW5nUHJvcHMpKS5yZXR1cm49bjt0LnNpYmxpbmc9bnVsbH1yZXR1cm4gbi5jaGlsZH1mdW5jdGlvbiBqbyhlLG4pe2lmKCFsYSlzd2l0Y2goZS50YWlsTW9kZSl7Y2FzZSJoaWRkZW4iOm49ZS50YWlsO2Zvcih2YXIgdD1udWxsO251bGwhPT1uOyludWxsIT09bi5hbHRlcm5hdGUmJih0PW4pLG49bi5zaWJsaW5nO251bGw9PT10P2UudGFpbD1udWxsOnQuc2libGluZz1udWxsO2JyZWFrO2Nhc2UiY29sbGFwc2VkIjp0PWUudGFpbDtmb3IodmFyIHI9bnVsbDtudWxsIT09dDspbnVsbCE9PXQuYWx0ZXJuYXRlJiYocj10KSx0PXQuc2libGluZztudWxsPT09cj9ufHxudWxsPT09ZS50YWlsP2UudGFpbD1udWxsOmUudGFpbC5zaWJsaW5nPW51bGw6ci5zaWJsaW5nPW51bGx9fWZ1bmN0aW9uICRvKGUpe3ZhciBuPW51bGwhPT1lLmFsdGVybmF0ZSYmZS5hbHRlcm5hdGUuY2hpbGQ9PT1lLmNoaWxkLHQ9MCxyPTA7aWYobilmb3IodmFyIGw9ZS5jaGlsZDtudWxsIT09bDspdHw9bC5sYW5lc3xsLmNoaWxkTGFuZXMscnw9MTQ2ODAwNjQmbC5zdWJ0cmVlRmxhZ3Mscnw9MTQ2ODAwNjQmbC5mbGFncyxsLnJldHVybj1lLGw9bC5zaWJsaW5nO2Vsc2UgZm9yKGw9ZS5jaGlsZDtudWxsIT09bDspdHw9bC5sYW5lc3xsLmNoaWxkTGFuZXMscnw9bC5zdWJ0cmVlRmxhZ3Mscnw9bC5mbGFncyxsLnJldHVybj1lLGw9bC5zaWJsaW5nO3JldHVybiBlLnN1YnRyZWVGbGFnc3w9cixlLmNoaWxkTGFuZXM9dCxufWZ1bmN0aW9uIHFvKGUsbix0KXt2YXIgcj1uLnBlbmRpbmdQcm9wcztzd2l0Y2gobmEobiksbi50YWcpe2Nhc2UgMjpjYXNlIDE2OmNhc2UgMTU6Y2FzZSAwOmNhc2UgMTE6Y2FzZSA3OmNhc2UgODpjYXNlIDEyOmNhc2UgOTpjYXNlIDE0OnJldHVybiAkbyhuKSxudWxsO2Nhc2UgMTpjYXNlIDE3OnJldHVybiBNbChuLnR5cGUpJiZGbCgpLCRvKG4pLG51bGw7Y2FzZSAzOnJldHVybiByPW4uc3RhdGVOb2RlLGx1KCksQ2woUGwpLENsKF9sKSxjdSgpLHIucGVuZGluZ0NvbnRleHQmJihyLmNvbnRleHQ9ci5wZW5kaW5nQ29udGV4dCxyLnBlbmRpbmdDb250ZXh0PW51bGwpLG51bGwhPT1lJiZudWxsIT09ZS5jaGlsZHx8KGZhKG4pP24uZmxhZ3N8PTQ6bnVsbD09PWV8fGUubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQmJiEoMjU2Jm4uZmxhZ3MpfHwobi5mbGFnc3w9MTAyNCxudWxsIT09YWEmJih1cyhhYSksYWE9bnVsbCkpKSwkbyhuKSxudWxsO2Nhc2UgNTp1dShuKTt2YXIgbD10dShudS5jdXJyZW50KTtpZih0PW4udHlwZSxudWxsIT09ZSYmbnVsbCE9bi5zdGF0ZU5vZGUpRm8oZSxuLHQsciksZS5yZWYhPT1uLnJlZiYmKG4uZmxhZ3N8PTUxMixuLmZsYWdzfD0yMDk3MTUyKTtlbHNle2lmKCFyKXtpZihudWxsPT09bi5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IoYSgxNjYpKTtyZXR1cm4gJG8obiksbnVsbH1pZihlPXR1KEphLmN1cnJlbnQpLGZhKG4pKXtyPW4uc3RhdGVOb2RlLHQ9bi50eXBlO3ZhciB1PW4ubWVtb2l6ZWRQcm9wcztzd2l0Y2gocltkbF09bixyW3BsXT11LGU9ISEoMSZuLm1vZGUpLHQpe2Nhc2UiZGlhbG9nIjpWcigiY2FuY2VsIixyKSxWcigiY2xvc2UiLHIpO2JyZWFrO2Nhc2UiaWZyYW1lIjpjYXNlIm9iamVjdCI6Y2FzZSJlbWJlZCI6VnIoImxvYWQiLHIpO2JyZWFrO2Nhc2UidmlkZW8iOmNhc2UiYXVkaW8iOmZvcihsPTA7bDxEci5sZW5ndGg7bCsrKVZyKERyW2xdLHIpO2JyZWFrO2Nhc2Uic291cmNlIjpWcigiZXJyb3IiLHIpO2JyZWFrO2Nhc2UiaW1nIjpjYXNlImltYWdlIjpjYXNlImxpbmsiOlZyKCJlcnJvciIsciksVnIoImxvYWQiLHIpO2JyZWFrO2Nhc2UiZGV0YWlscyI6VnIoInRvZ2dsZSIscik7YnJlYWs7Y2FzZSJpbnB1dCI6WChyLHUpLFZyKCJpbnZhbGlkIixyKTticmVhaztjYXNlInNlbGVjdCI6ci5fd3JhcHBlclN0YXRlPXt3YXNNdWx0aXBsZTohIXUubXVsdGlwbGV9LFZyKCJpbnZhbGlkIixyKTticmVhaztjYXNlInRleHRhcmVhIjpsZShyLHUpLFZyKCJpbnZhbGlkIixyKX1mb3IodmFyIGkgaW4geWUodCx1KSxsPW51bGwsdSlpZih1Lmhhc093blByb3BlcnR5KGkpKXt2YXIgcz11W2ldOyJjaGlsZHJlbiI9PT1pPyJzdHJpbmciPT10eXBlb2Ygcz9yLnRleHRDb250ZW50IT09cyYmKCEwIT09dS5zdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmcmJlpyKHIudGV4dENvbnRlbnQscyxlKSxsPVsiY2hpbGRyZW4iLHNdKToibnVtYmVyIj09dHlwZW9mIHMmJnIudGV4dENvbnRlbnQhPT0iIitzJiYoITAhPT11LnN1cHByZXNzSHlkcmF0aW9uV2FybmluZyYmWnIoci50ZXh0Q29udGVudCxzLGUpLGw9WyJjaGlsZHJlbiIsIiIrc10pOm8uaGFzT3duUHJvcGVydHkoaSkmJm51bGwhPXMmJiJvblNjcm9sbCI9PT1pJiZWcigic2Nyb2xsIixyKX1zd2l0Y2godCl7Y2FzZSJpbnB1dCI6JChyKSxKKHIsdSwhMCk7YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6JChyKSx1ZShyKTticmVhaztjYXNlInNlbGVjdCI6Y2FzZSJvcHRpb24iOmJyZWFrO2RlZmF1bHQ6ImZ1bmN0aW9uIj09dHlwZW9mIHUub25DbGljayYmKHIub25jbGljaz1Kcil9cj1sLG4udXBkYXRlUXVldWU9cixudWxsIT09ciYmKG4uZmxhZ3N8PTQpfWVsc2V7Cmk9OT09PWwubm9kZVR5cGU/bDpsLm93bmVyRG9jdW1lbnQsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPT09ZSYmKGU9b2UodCkpLCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj09PWU/InNjcmlwdCI9PT10PygoZT1pLmNyZWF0ZUVsZW1lbnQoImRpdiIpKS5pbm5lckhUTUw9IjxzY3JpcHQ+PFwvc2NyaXB0PiIsZT1lLnJlbW92ZUNoaWxkKGUuZmlyc3RDaGlsZCkpOiJzdHJpbmciPT10eXBlb2Ygci5pcz9lPWkuY3JlYXRlRWxlbWVudCh0LHtpczpyLmlzfSk6KGU9aS5jcmVhdGVFbGVtZW50KHQpLCJzZWxlY3QiPT09dCYmKGk9ZSxyLm11bHRpcGxlP2kubXVsdGlwbGU9ITA6ci5zaXplJiYoaS5zaXplPXIuc2l6ZSkpKTplPWkuY3JlYXRlRWxlbWVudE5TKGUsdCksZVtkbF09bixlW3BsXT1yLE1vKGUsbiksbi5zdGF0ZU5vZGU9ZTtlOntzd2l0Y2goaT1iZSh0LHIpLHQpe2Nhc2UiZGlhbG9nIjpWcigiY2FuY2VsIixlKSxWcigiY2xvc2UiLGUpLGw9cjticmVhaztjYXNlImlmcmFtZSI6Y2FzZSJvYmplY3QiOmNhc2UiZW1iZWQiOlZyKCJsb2FkIixlKSxsPXI7YnJlYWs7Y2FzZSJ2aWRlbyI6Y2FzZSJhdWRpbyI6Zm9yKGw9MDtsPERyLmxlbmd0aDtsKyspVnIoRHJbbF0sZSk7bD1yO2JyZWFrO2Nhc2Uic291cmNlIjpWcigiZXJyb3IiLGUpLGw9cjticmVhaztjYXNlImltZyI6Y2FzZSJpbWFnZSI6Y2FzZSJsaW5rIjpWcigiZXJyb3IiLGUpLFZyKCJsb2FkIixlKSxsPXI7YnJlYWs7Y2FzZSJkZXRhaWxzIjpWcigidG9nZ2xlIixlKSxsPXI7YnJlYWs7Y2FzZSJpbnB1dCI6WChlLHIpLGw9WShlLHIpLFZyKCJpbnZhbGlkIixlKTticmVhaztjYXNlIm9wdGlvbiI6ZGVmYXVsdDpsPXI7YnJlYWs7Y2FzZSJzZWxlY3QiOmUuX3dyYXBwZXJTdGF0ZT17d2FzTXVsdGlwbGU6ISFyLm11bHRpcGxlfSxsPU8oe30scix7dmFsdWU6dm9pZCAwfSksVnIoImludmFsaWQiLGUpO2JyZWFrO2Nhc2UidGV4dGFyZWEiOmxlKGUsciksbD1yZShlLHIpLFZyKCJpbnZhbGlkIixlKX1mb3IodSBpbiB5ZSh0LGwpLHM9bClpZihzLmhhc093blByb3BlcnR5KHUpKXt2YXIgYz1zW3VdOyJzdHlsZSI9PT11P2dlKGUsYyk6ImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj09PXU/bnVsbCE9KGM9Yz9jLl9faHRtbDp2b2lkIDApJiZmZShlLGMpOiJjaGlsZHJlbiI9PT11PyJzdHJpbmciPT10eXBlb2YgYz8oInRleHRhcmVhIiE9PXR8fCIiIT09YykmJmRlKGUsYyk6Im51bWJlciI9PXR5cGVvZiBjJiZkZShlLCIiK2MpOiJzdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmciIT09dSYmInN1cHByZXNzSHlkcmF0aW9uV2FybmluZyIhPT11JiYiYXV0b0ZvY3VzIiE9PXUmJihvLmhhc093blByb3BlcnR5KHUpP251bGwhPWMmJiJvblNjcm9sbCI9PT11JiZWcigic2Nyb2xsIixlKTpudWxsIT1jJiZiKGUsdSxjLGkpKX1zd2l0Y2godCl7Y2FzZSJpbnB1dCI6JChlKSxKKGUsciwhMSk7YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6JChlKSx1ZShlKTticmVhaztjYXNlIm9wdGlvbiI6bnVsbCE9ci52YWx1ZSYmZS5zZXRBdHRyaWJ1dGUoInZhbHVlIiwiIitRKHIudmFsdWUpKTticmVhaztjYXNlInNlbGVjdCI6ZS5tdWx0aXBsZT0hIXIubXVsdGlwbGUsbnVsbCE9KHU9ci52YWx1ZSk/dGUoZSwhIXIubXVsdGlwbGUsdSwhMSk6bnVsbCE9ci5kZWZhdWx0VmFsdWUmJnRlKGUsISFyLm11bHRpcGxlLHIuZGVmYXVsdFZhbHVlLCEwKTticmVhaztkZWZhdWx0OiJmdW5jdGlvbiI9PXR5cGVvZiBsLm9uQ2xpY2smJihlLm9uY2xpY2s9SnIpfXN3aXRjaCh0KXtjYXNlImJ1dHRvbiI6Y2FzZSJpbnB1dCI6Y2FzZSJzZWxlY3QiOmNhc2UidGV4dGFyZWEiOnI9ISFyLmF1dG9Gb2N1czticmVhayBlO2Nhc2UiaW1nIjpyPSEwO2JyZWFrIGU7ZGVmYXVsdDpyPSExfX1yJiYobi5mbGFnc3w9NCl9bnVsbCE9PW4ucmVmJiYobi5mbGFnc3w9NTEyLG4uZmxhZ3N8PTIwOTcxNTIpfXJldHVybiAkbyhuKSxudWxsO2Nhc2UgNjppZihlJiZudWxsIT1uLnN0YXRlTm9kZSlSbygwLG4sZS5tZW1vaXplZFByb3BzLHIpO2Vsc2V7aWYoInN0cmluZyIhPXR5cGVvZiByJiZudWxsPT09bi5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IoYSgxNjYpKTtpZih0PXR1KG51LmN1cnJlbnQpLHR1KEphLmN1cnJlbnQpLGZhKG4pKXtpZihyPW4uc3RhdGVOb2RlLHQ9bi5tZW1vaXplZFByb3BzLHJbZGxdPW4sKHU9ci5ub2RlVmFsdWUhPT10KSYmbnVsbCE9PShlPXRhKSlzd2l0Y2goZS50YWcpe2Nhc2UgMzpacihyLm5vZGVWYWx1ZSx0LCEhKDEmZS5tb2RlKSk7YnJlYWs7Y2FzZSA1OiEwIT09ZS5tZW1vaXplZFByb3BzLnN1cHByZXNzSHlkcmF0aW9uV2FybmluZyYmWnIoci5ub2RlVmFsdWUsdCwhISgxJmUubW9kZSkpfXUmJihuLmZsYWdzfD00KX1lbHNlKHI9KDk9PT10Lm5vZGVUeXBlP3Q6dC5vd25lckRvY3VtZW50KS5jcmVhdGVUZXh0Tm9kZShyKSlbZGxdPW4sbi5zdGF0ZU5vZGU9cn1yZXR1cm4gJG8obiksbnVsbDtjYXNlIDEzOmlmKENsKG91KSxyPW4ubWVtb2l6ZWRTdGF0ZSxudWxsPT09ZXx8bnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSYmbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZS5kZWh5ZHJhdGVkKXtpZihsYSYmbnVsbCE9PXJhJiYxJm4ubW9kZSYmISgxMjgmbi5mbGFncykpZGEoKSxwYSgpLG4uZmxhZ3N8PTk4NTYwLHU9ITE7ZWxzZSBpZih1PWZhKG4pLG51bGwhPT1yJiZudWxsIT09ci5kZWh5ZHJhdGVkKXtpZihudWxsPT09ZSl7aWYoIXUpdGhyb3cgRXJyb3IoYSgzMTgpKTtpZighKHU9bnVsbCE9PSh1PW4ubWVtb2l6ZWRTdGF0ZSk/dS5kZWh5ZHJhdGVkOm51bGwpKXRocm93IEVycm9yKGEoMzE3KSk7dVtkbF09bn1lbHNlIHBhKCksISgxMjgmbi5mbGFncykmJihuLm1lbW9pemVkU3RhdGU9bnVsbCksbi5mbGFnc3w9NDskbyhuKSx1PSExfWVsc2UgbnVsbCE9PWFhJiYodXMoYWEpLGFhPW51bGwpLHU9ITA7aWYoIXUpcmV0dXJuIDY1NTM2Jm4uZmxhZ3M/bjpudWxsfXJldHVybiAxMjgmbi5mbGFncz8obi5sYW5lcz10LG4pOigocj1udWxsIT09cikhPT0obnVsbCE9PWUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUpJiZyJiYobi5jaGlsZC5mbGFnc3w9ODE5MiwKMSZuLm1vZGUmJihudWxsPT09ZXx8MSZvdS5jdXJyZW50PzA9PT1SaSYmKFJpPTMpOmhzKCkpKSxudWxsIT09bi51cGRhdGVRdWV1ZSYmKG4uZmxhZ3N8PTQpLCRvKG4pLG51bGwpO2Nhc2UgNDpyZXR1cm4gbHUoKSxudWxsPT09ZSYmV3Iobi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyksJG8obiksbnVsbDtjYXNlIDEwOnJldHVybiBTYShuLnR5cGUuX2NvbnRleHQpLCRvKG4pLG51bGw7Y2FzZSAxOTppZihDbChvdSksbnVsbD09PSh1PW4ubWVtb2l6ZWRTdGF0ZSkpcmV0dXJuICRvKG4pLG51bGw7aWYocj0hISgxMjgmbi5mbGFncyksbnVsbD09PShpPXUucmVuZGVyaW5nKSlpZihyKWpvKHUsITEpO2Vsc2V7aWYoMCE9PVJpfHxudWxsIT09ZSYmMTI4JmUuZmxhZ3MpZm9yKGU9bi5jaGlsZDtudWxsIT09ZTspe2lmKG51bGwhPT0oaT1pdShlKSkpe2ZvcihuLmZsYWdzfD0xMjgsam8odSwhMSksbnVsbCE9PShyPWkudXBkYXRlUXVldWUpJiYobi51cGRhdGVRdWV1ZT1yLG4uZmxhZ3N8PTQpLG4uc3VidHJlZUZsYWdzPTAscj10LHQ9bi5jaGlsZDtudWxsIT09dDspZT1yLCh1PXQpLmZsYWdzJj0xNDY4MDA2NixudWxsPT09KGk9dS5hbHRlcm5hdGUpPyh1LmNoaWxkTGFuZXM9MCx1LmxhbmVzPWUsdS5jaGlsZD1udWxsLHUuc3VidHJlZUZsYWdzPTAsdS5tZW1vaXplZFByb3BzPW51bGwsdS5tZW1vaXplZFN0YXRlPW51bGwsdS51cGRhdGVRdWV1ZT1udWxsLHUuZGVwZW5kZW5jaWVzPW51bGwsdS5zdGF0ZU5vZGU9bnVsbCk6KHUuY2hpbGRMYW5lcz1pLmNoaWxkTGFuZXMsdS5sYW5lcz1pLmxhbmVzLHUuY2hpbGQ9aS5jaGlsZCx1LnN1YnRyZWVGbGFncz0wLHUuZGVsZXRpb25zPW51bGwsdS5tZW1vaXplZFByb3BzPWkubWVtb2l6ZWRQcm9wcyx1Lm1lbW9pemVkU3RhdGU9aS5tZW1vaXplZFN0YXRlLHUudXBkYXRlUXVldWU9aS51cGRhdGVRdWV1ZSx1LnR5cGU9aS50eXBlLGU9aS5kZXBlbmRlbmNpZXMsdS5kZXBlbmRlbmNpZXM9bnVsbD09PWU/bnVsbDp7bGFuZXM6ZS5sYW5lcyxmaXJzdENvbnRleHQ6ZS5maXJzdENvbnRleHR9KSx0PXQuc2libGluZztyZXR1cm4gemwob3UsMSZvdS5jdXJyZW50fDIpLG4uY2hpbGR9ZT1lLnNpYmxpbmd9bnVsbCE9PXUudGFpbCYmR2UoKT5XaSYmKG4uZmxhZ3N8PTEyOCxyPSEwLGpvKHUsITEpLG4ubGFuZXM9NDE5NDMwNCl9ZWxzZXtpZighcilpZihudWxsIT09KGU9aXUoaSkpKXtpZihuLmZsYWdzfD0xMjgscj0hMCxudWxsIT09KHQ9ZS51cGRhdGVRdWV1ZSkmJihuLnVwZGF0ZVF1ZXVlPXQsbi5mbGFnc3w9NCksam8odSwhMCksbnVsbD09PXUudGFpbCYmImhpZGRlbiI9PT11LnRhaWxNb2RlJiYhaS5hbHRlcm5hdGUmJiFsYSlyZXR1cm4gJG8obiksbnVsbH1lbHNlIDIqR2UoKS11LnJlbmRlcmluZ1N0YXJ0VGltZT5XaSYmMTA3Mzc0MTgyNCE9PXQmJihuLmZsYWdzfD0xMjgscj0hMCxqbyh1LCExKSxuLmxhbmVzPTQxOTQzMDQpO3UuaXNCYWNrd2FyZHM/KGkuc2libGluZz1uLmNoaWxkLG4uY2hpbGQ9aSk6KG51bGwhPT0odD11Lmxhc3QpP3Quc2libGluZz1pOm4uY2hpbGQ9aSx1Lmxhc3Q9aSl9cmV0dXJuIG51bGwhPT11LnRhaWw/KG49dS50YWlsLHUucmVuZGVyaW5nPW4sdS50YWlsPW4uc2libGluZyx1LnJlbmRlcmluZ1N0YXJ0VGltZT1HZSgpLG4uc2libGluZz1udWxsLHQ9b3UuY3VycmVudCx6bChvdSxyPzEmdHwyOjEmdCksbik6KCRvKG4pLG51bGwpO2Nhc2UgMjI6Y2FzZSAyMzpyZXR1cm4gZnMoKSxyPW51bGwhPT1uLm1lbW9pemVkU3RhdGUsbnVsbCE9PWUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUhPT1yJiYobi5mbGFnc3w9ODE5MiksciYmMSZuLm1vZGU/ISEoMTA3Mzc0MTgyNCZNaSkmJigkbyhuKSw2Jm4uc3VidHJlZUZsYWdzJiYobi5mbGFnc3w9ODE5MikpOiRvKG4pLG51bGw7Y2FzZSAyNDpjYXNlIDI1OnJldHVybiBudWxsfXRocm93IEVycm9yKGEoMTU2LG4udGFnKSl9ZnVuY3Rpb24gS28oZSxuKXtzd2l0Y2gobmEobiksbi50YWcpe2Nhc2UgMTpyZXR1cm4gTWwobi50eXBlKSYmRmwoKSw2NTUzNiYoZT1uLmZsYWdzKT8obi5mbGFncz0tNjU1MzcmZXwxMjgsbik6bnVsbDtjYXNlIDM6cmV0dXJuIGx1KCksQ2woUGwpLENsKF9sKSxjdSgpLDY1NTM2JihlPW4uZmxhZ3MpJiYhKDEyOCZlKT8obi5mbGFncz0tNjU1MzcmZXwxMjgsbik6bnVsbDtjYXNlIDU6cmV0dXJuIHV1KG4pLG51bGw7Y2FzZSAxMzppZihDbChvdSksbnVsbCE9PShlPW4ubWVtb2l6ZWRTdGF0ZSkmJm51bGwhPT1lLmRlaHlkcmF0ZWQpe2lmKG51bGw9PT1uLmFsdGVybmF0ZSl0aHJvdyBFcnJvcihhKDM0MCkpO3BhKCl9cmV0dXJuIDY1NTM2JihlPW4uZmxhZ3MpPyhuLmZsYWdzPS02NTUzNyZlfDEyOCxuKTpudWxsO2Nhc2UgMTk6cmV0dXJuIENsKG91KSxudWxsO2Nhc2UgNDpyZXR1cm4gbHUoKSxudWxsO2Nhc2UgMTA6cmV0dXJuIFNhKG4udHlwZS5fY29udGV4dCksbnVsbDtjYXNlIDIyOmNhc2UgMjM6cmV0dXJuIGZzKCksbnVsbDtkZWZhdWx0OnJldHVybiBudWxsfX1Nbz1mdW5jdGlvbihlLG4pe2Zvcih2YXIgdD1uLmNoaWxkO251bGwhPT10Oyl7aWYoNT09PXQudGFnfHw2PT09dC50YWcpZS5hcHBlbmRDaGlsZCh0LnN0YXRlTm9kZSk7ZWxzZSBpZig0IT09dC50YWcmJm51bGwhPT10LmNoaWxkKXt0LmNoaWxkLnJldHVybj10LHQ9dC5jaGlsZDtjb250aW51ZX1pZih0PT09bilicmVhaztmb3IoO251bGw9PT10LnNpYmxpbmc7KXtpZihudWxsPT09dC5yZXR1cm58fHQucmV0dXJuPT09bilyZXR1cm47dD10LnJldHVybn10LnNpYmxpbmcucmV0dXJuPXQucmV0dXJuLHQ9dC5zaWJsaW5nfX0sRm89ZnVuY3Rpb24oZSxuLHQscil7dmFyIGw9ZS5tZW1vaXplZFByb3BzO2lmKGwhPT1yKXtlPW4uc3RhdGVOb2RlLHR1KEphLmN1cnJlbnQpO3ZhciBhLHU9bnVsbDtzd2l0Y2godCl7Y2FzZSJpbnB1dCI6bD1ZKGUsbCkscj1ZKGUsciksdT1bXTticmVhaztjYXNlInNlbGVjdCI6bD1PKHt9LGwse3ZhbHVlOnZvaWQgMH0pLHI9Tyh7fSxyLHt2YWx1ZTp2b2lkIDB9KSx1PVtdO2JyZWFrO2Nhc2UidGV4dGFyZWEiOmw9cmUoZSxsKSxyPXJlKGUsciksdT1bXTticmVhawo7ZGVmYXVsdDoiZnVuY3Rpb24iIT10eXBlb2YgbC5vbkNsaWNrJiYiZnVuY3Rpb24iPT10eXBlb2Ygci5vbkNsaWNrJiYoZS5vbmNsaWNrPUpyKX1mb3IoYyBpbiB5ZSh0LHIpLHQ9bnVsbCxsKWlmKCFyLmhhc093blByb3BlcnR5KGMpJiZsLmhhc093blByb3BlcnR5KGMpJiZudWxsIT1sW2NdKWlmKCJzdHlsZSI9PT1jKXt2YXIgaT1sW2NdO2ZvcihhIGluIGkpaS5oYXNPd25Qcm9wZXJ0eShhKSYmKHR8fCh0PXt9KSx0W2FdPSIiKX1lbHNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiE9PWMmJiJjaGlsZHJlbiIhPT1jJiYic3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nIiE9PWMmJiJzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmciIT09YyYmImF1dG9Gb2N1cyIhPT1jJiYoby5oYXNPd25Qcm9wZXJ0eShjKT91fHwodT1bXSk6KHU9dXx8W10pLnB1c2goYyxudWxsKSk7Zm9yKGMgaW4gcil7dmFyIHM9cltjXTtpZihpPW51bGwhPWw/bFtjXTp2b2lkIDAsci5oYXNPd25Qcm9wZXJ0eShjKSYmcyE9PWkmJihudWxsIT1zfHxudWxsIT1pKSlpZigic3R5bGUiPT09YylpZihpKXtmb3IoYSBpbiBpKSFpLmhhc093blByb3BlcnR5KGEpfHxzJiZzLmhhc093blByb3BlcnR5KGEpfHwodHx8KHQ9e30pLHRbYV09IiIpO2ZvcihhIGluIHMpcy5oYXNPd25Qcm9wZXJ0eShhKSYmaVthXSE9PXNbYV0mJih0fHwodD17fSksdFthXT1zW2FdKX1lbHNlIHR8fCh1fHwodT1bXSksdS5wdXNoKGMsdCkpLHQ9cztlbHNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj09PWM/KHM9cz9zLl9faHRtbDp2b2lkIDAsaT1pP2kuX19odG1sOnZvaWQgMCxudWxsIT1zJiZpIT09cyYmKHU9dXx8W10pLnB1c2goYyxzKSk6ImNoaWxkcmVuIj09PWM/InN0cmluZyIhPXR5cGVvZiBzJiYibnVtYmVyIiE9dHlwZW9mIHN8fCh1PXV8fFtdKS5wdXNoKGMsIiIrcyk6InN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyIhPT1jJiYic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIiE9PWMmJihvLmhhc093blByb3BlcnR5KGMpPyhudWxsIT1zJiYib25TY3JvbGwiPT09YyYmVnIoInNjcm9sbCIsZSksdXx8aT09PXN8fCh1PVtdKSk6KHU9dXx8W10pLnB1c2goYyxzKSl9dCYmKHU9dXx8W10pLnB1c2goInN0eWxlIix0KTt2YXIgYz11OyhuLnVwZGF0ZVF1ZXVlPWMpJiYobi5mbGFnc3w9NCl9fSxSbz1mdW5jdGlvbihlLG4sdCxyKXt0IT09ciYmKG4uZmxhZ3N8PTQpfTt2YXIgWW89ITEsWG89ITEsR289ImZ1bmN0aW9uIj09dHlwZW9mIFdlYWtTZXQ/V2Vha1NldDpTZXQsWm89bnVsbDtmdW5jdGlvbiBKbyhlLG4pe3ZhciB0PWUucmVmO2lmKG51bGwhPT10KWlmKCJmdW5jdGlvbiI9PXR5cGVvZiB0KXRyeXt0KG51bGwpfWNhdGNoKHQpe0VzKGUsbix0KX1lbHNlIHQuY3VycmVudD1udWxsfWZ1bmN0aW9uIGVpKGUsbix0KXt0cnl7dCgpfWNhdGNoKHQpe0VzKGUsbix0KX19dmFyIG5pPSExO2Z1bmN0aW9uIHRpKGUsbix0KXt2YXIgcj1uLnVwZGF0ZVF1ZXVlO2lmKG51bGwhPT0ocj1udWxsIT09cj9yLmxhc3RFZmZlY3Q6bnVsbCkpe3ZhciBsPXI9ci5uZXh0O2Rve2lmKChsLnRhZyZlKT09PWUpe3ZhciBhPWwuZGVzdHJveTtsLmRlc3Ryb3k9dm9pZCAwLHZvaWQgMCE9PWEmJmVpKG4sdCxhKX1sPWwubmV4dH13aGlsZShsIT09cil9fWZ1bmN0aW9uIHJpKGUsbil7aWYobnVsbCE9PShuPW51bGwhPT0obj1uLnVwZGF0ZVF1ZXVlKT9uLmxhc3RFZmZlY3Q6bnVsbCkpe3ZhciB0PW49bi5uZXh0O2Rve2lmKCh0LnRhZyZlKT09PWUpe3ZhciByPXQuY3JlYXRlO3QuZGVzdHJveT1yKCl9dD10Lm5leHR9d2hpbGUodCE9PW4pfX1mdW5jdGlvbiBsaShlKXt2YXIgbj1lLnJlZjtpZihudWxsIT09bil7dmFyIHQ9ZS5zdGF0ZU5vZGU7ZS50YWcsZT10LCJmdW5jdGlvbiI9PXR5cGVvZiBuP24oZSk6bi5jdXJyZW50PWV9fWZ1bmN0aW9uIGFpKGUpe3ZhciBuPWUuYWx0ZXJuYXRlO251bGwhPT1uJiYoZS5hbHRlcm5hdGU9bnVsbCxhaShuKSksZS5jaGlsZD1udWxsLGUuZGVsZXRpb25zPW51bGwsZS5zaWJsaW5nPW51bGwsNT09PWUudGFnJiYobnVsbCE9PShuPWUuc3RhdGVOb2RlKSYmKGRlbGV0ZSBuW2RsXSxkZWxldGUgbltwbF0sZGVsZXRlIG5baGxdLGRlbGV0ZSBuW2dsXSxkZWxldGUgblt2bF0pKSxlLnN0YXRlTm9kZT1udWxsLGUucmV0dXJuPW51bGwsZS5kZXBlbmRlbmNpZXM9bnVsbCxlLm1lbW9pemVkUHJvcHM9bnVsbCxlLm1lbW9pemVkU3RhdGU9bnVsbCxlLnBlbmRpbmdQcm9wcz1udWxsLGUuc3RhdGVOb2RlPW51bGwsZS51cGRhdGVRdWV1ZT1udWxsfWZ1bmN0aW9uIHVpKGUpe3JldHVybiA1PT09ZS50YWd8fDM9PT1lLnRhZ3x8ND09PWUudGFnfWZ1bmN0aW9uIG9pKGUpe2U6Zm9yKDs7KXtmb3IoO251bGw9PT1lLnNpYmxpbmc7KXtpZihudWxsPT09ZS5yZXR1cm58fHVpKGUucmV0dXJuKSlyZXR1cm4gbnVsbDtlPWUucmV0dXJufWZvcihlLnNpYmxpbmcucmV0dXJuPWUucmV0dXJuLGU9ZS5zaWJsaW5nOzUhPT1lLnRhZyYmNiE9PWUudGFnJiYxOCE9PWUudGFnOyl7aWYoMiZlLmZsYWdzKWNvbnRpbnVlIGU7aWYobnVsbD09PWUuY2hpbGR8fDQ9PT1lLnRhZyljb250aW51ZSBlO2UuY2hpbGQucmV0dXJuPWUsZT1lLmNoaWxkfWlmKCEoMiZlLmZsYWdzKSlyZXR1cm4gZS5zdGF0ZU5vZGV9fWZ1bmN0aW9uIGlpKGUsbix0KXt2YXIgcj1lLnRhZztpZig1PT09cnx8Nj09PXIpZT1lLnN0YXRlTm9kZSxuPzg9PT10Lm5vZGVUeXBlP3QucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSxuKTp0Lmluc2VydEJlZm9yZShlLG4pOig4PT09dC5ub2RlVHlwZT8obj10LnBhcmVudE5vZGUpLmluc2VydEJlZm9yZShlLHQpOihuPXQpLmFwcGVuZENoaWxkKGUpLG51bGwhPSh0PXQuX3JlYWN0Um9vdENvbnRhaW5lcil8fG51bGwhPT1uLm9uY2xpY2t8fChuLm9uY2xpY2s9SnIpKTtlbHNlIGlmKDQhPT1yJiZudWxsIT09KGU9ZS5jaGlsZCkpZm9yKGlpKGUsbix0KSxlPWUuc2libGluZztudWxsIT09ZTspaWkoZSxuLHQpLGU9ZS5zaWJsaW5nfWZ1bmN0aW9uIHNpKGUsbix0KXt2YXIgcj1lLnRhZztpZig1PT09cnx8Nj09PXIpZT1lLnN0YXRlTm9kZSwKbj90Lmluc2VydEJlZm9yZShlLG4pOnQuYXBwZW5kQ2hpbGQoZSk7ZWxzZSBpZig0IT09ciYmbnVsbCE9PShlPWUuY2hpbGQpKWZvcihzaShlLG4sdCksZT1lLnNpYmxpbmc7bnVsbCE9PWU7KXNpKGUsbix0KSxlPWUuc2libGluZ312YXIgY2k9bnVsbCxmaT0hMTtmdW5jdGlvbiBkaShlLG4sdCl7Zm9yKHQ9dC5jaGlsZDtudWxsIT09dDspcGkoZSxuLHQpLHQ9dC5zaWJsaW5nfWZ1bmN0aW9uIHBpKGUsbix0KXtpZihhbiYmImZ1bmN0aW9uIj09dHlwZW9mIGFuLm9uQ29tbWl0RmliZXJVbm1vdW50KXRyeXthbi5vbkNvbW1pdEZpYmVyVW5tb3VudChsbix0KX1jYXRjaChlKXt9c3dpdGNoKHQudGFnKXtjYXNlIDU6WG98fEpvKHQsbik7Y2FzZSA2OnZhciByPWNpLGw9Zmk7Y2k9bnVsbCxkaShlLG4sdCksZmk9bCxudWxsIT09KGNpPXIpJiYoZmk/KGU9Y2ksdD10LnN0YXRlTm9kZSw4PT09ZS5ub2RlVHlwZT9lLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCk6ZS5yZW1vdmVDaGlsZCh0KSk6Y2kucmVtb3ZlQ2hpbGQodC5zdGF0ZU5vZGUpKTticmVhaztjYXNlIDE4Om51bGwhPT1jaSYmKGZpPyhlPWNpLHQ9dC5zdGF0ZU5vZGUsOD09PWUubm9kZVR5cGU/aWwoZS5wYXJlbnROb2RlLHQpOjE9PT1lLm5vZGVUeXBlJiZpbChlLHQpLEhuKGUpKTppbChjaSx0LnN0YXRlTm9kZSkpO2JyZWFrO2Nhc2UgNDpyPWNpLGw9ZmksY2k9dC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyxmaT0hMCxkaShlLG4sdCksY2k9cixmaT1sO2JyZWFrO2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTppZighWG8mJihudWxsIT09KHI9dC51cGRhdGVRdWV1ZSkmJm51bGwhPT0ocj1yLmxhc3RFZmZlY3QpKSl7bD1yPXIubmV4dDtkb3t2YXIgYT1sLHU9YS5kZXN0cm95O2E9YS50YWcsdm9pZCAwIT09dSYmKDImYXx8NCZhKSYmZWkodCxuLHUpLGw9bC5uZXh0fXdoaWxlKGwhPT1yKX1kaShlLG4sdCk7YnJlYWs7Y2FzZSAxOmlmKCFYbyYmKEpvKHQsbiksImZ1bmN0aW9uIj09dHlwZW9mKHI9dC5zdGF0ZU5vZGUpLmNvbXBvbmVudFdpbGxVbm1vdW50KSl0cnl7ci5wcm9wcz10Lm1lbW9pemVkUHJvcHMsci5zdGF0ZT10Lm1lbW9pemVkU3RhdGUsci5jb21wb25lbnRXaWxsVW5tb3VudCgpfWNhdGNoKGUpe0VzKHQsbixlKX1kaShlLG4sdCk7YnJlYWs7Y2FzZSAyMTpkaShlLG4sdCk7YnJlYWs7Y2FzZSAyMjoxJnQubW9kZT8oWG89KHI9WG8pfHxudWxsIT09dC5tZW1vaXplZFN0YXRlLGRpKGUsbix0KSxYbz1yKTpkaShlLG4sdCk7YnJlYWs7ZGVmYXVsdDpkaShlLG4sdCl9fWZ1bmN0aW9uIG1pKGUpe3ZhciBuPWUudXBkYXRlUXVldWU7aWYobnVsbCE9PW4pe2UudXBkYXRlUXVldWU9bnVsbDt2YXIgdD1lLnN0YXRlTm9kZTtudWxsPT09dCYmKHQ9ZS5zdGF0ZU5vZGU9bmV3IEdvKSxuLmZvckVhY2goKGZ1bmN0aW9uKG4pe3ZhciByPV9zLmJpbmQobnVsbCxlLG4pO3QuaGFzKG4pfHwodC5hZGQobiksbi50aGVuKHIscikpfSkpfX1mdW5jdGlvbiBoaShlLG4pe3ZhciB0PW4uZGVsZXRpb25zO2lmKG51bGwhPT10KWZvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbD10W3JdO3RyeXt2YXIgdT1lLG89bixpPW87ZTpmb3IoO251bGwhPT1pOyl7c3dpdGNoKGkudGFnKXtjYXNlIDU6Y2k9aS5zdGF0ZU5vZGUsZmk9ITE7YnJlYWsgZTtjYXNlIDM6Y2FzZSA0OmNpPWkuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8sZmk9ITA7YnJlYWsgZX1pPWkucmV0dXJufWlmKG51bGw9PT1jaSl0aHJvdyBFcnJvcihhKDE2MCkpO3BpKHUsbyxsKSxjaT1udWxsLGZpPSExO3ZhciBzPWwuYWx0ZXJuYXRlO251bGwhPT1zJiYocy5yZXR1cm49bnVsbCksbC5yZXR1cm49bnVsbH1jYXRjaChlKXtFcyhsLG4sZSl9fWlmKDEyODU0Jm4uc3VidHJlZUZsYWdzKWZvcihuPW4uY2hpbGQ7bnVsbCE9PW47KWdpKG4sZSksbj1uLnNpYmxpbmd9ZnVuY3Rpb24gZ2koZSxuKXt2YXIgdD1lLmFsdGVybmF0ZSxyPWUuZmxhZ3M7c3dpdGNoKGUudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE0OmNhc2UgMTU6aWYoaGkobixlKSx2aShlKSw0JnIpe3RyeXt0aSgzLGUsZS5yZXR1cm4pLHJpKDMsZSl9Y2F0Y2gobil7RXMoZSxlLnJldHVybixuKX10cnl7dGkoNSxlLGUucmV0dXJuKX1jYXRjaChuKXtFcyhlLGUucmV0dXJuLG4pfX1icmVhaztjYXNlIDE6aGkobixlKSx2aShlKSw1MTImciYmbnVsbCE9PXQmJkpvKHQsdC5yZXR1cm4pO2JyZWFrO2Nhc2UgNTppZihoaShuLGUpLHZpKGUpLDUxMiZyJiZudWxsIT09dCYmSm8odCx0LnJldHVybiksMzImZS5mbGFncyl7dmFyIGw9ZS5zdGF0ZU5vZGU7dHJ5e2RlKGwsIiIpfWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9fWlmKDQmciYmbnVsbCE9KGw9ZS5zdGF0ZU5vZGUpKXt2YXIgdT1lLm1lbW9pemVkUHJvcHMsbz1udWxsIT09dD90Lm1lbW9pemVkUHJvcHM6dSxpPWUudHlwZSxzPWUudXBkYXRlUXVldWU7aWYoZS51cGRhdGVRdWV1ZT1udWxsLG51bGwhPT1zKXRyeXsiaW5wdXQiPT09aSYmInJhZGlvIj09PXUudHlwZSYmbnVsbCE9dS5uYW1lJiZHKGwsdSksYmUoaSxvKTt2YXIgYz1iZShpLHUpO2ZvcihvPTA7bzxzLmxlbmd0aDtvKz0yKXt2YXIgZj1zW29dLGQ9c1tvKzFdOyJzdHlsZSI9PT1mP2dlKGwsZCk6ImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj09PWY/ZmUobCxkKToiY2hpbGRyZW4iPT09Zj9kZShsLGQpOmIobCxmLGQsYyl9c3dpdGNoKGkpe2Nhc2UiaW5wdXQiOloobCx1KTticmVhaztjYXNlInRleHRhcmVhIjphZShsLHUpO2JyZWFrO2Nhc2Uic2VsZWN0Ijp2YXIgcD1sLl93cmFwcGVyU3RhdGUud2FzTXVsdGlwbGU7bC5fd3JhcHBlclN0YXRlLndhc011bHRpcGxlPSEhdS5tdWx0aXBsZTt2YXIgbT11LnZhbHVlO251bGwhPW0/dGUobCwhIXUubXVsdGlwbGUsbSwhMSk6cCE9PSEhdS5tdWx0aXBsZSYmKG51bGwhPXUuZGVmYXVsdFZhbHVlP3RlKGwsISF1Lm11bHRpcGxlLHUuZGVmYXVsdFZhbHVlLCEwKTp0ZShsLCEhdS5tdWx0aXBsZSx1Lm11bHRpcGxlP1tdOiIiLCExKSl9bFtwbF09dX1jYXRjaChuKXtFcyhlLGUucmV0dXJuLG4pfX1icmVhaztjYXNlIDY6aWYoaGkobixlKSx2aShlKSw0JnIpewppZihudWxsPT09ZS5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IoYSgxNjIpKTtsPWUuc3RhdGVOb2RlLHU9ZS5tZW1vaXplZFByb3BzO3RyeXtsLm5vZGVWYWx1ZT11fWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9fWJyZWFrO2Nhc2UgMzppZihoaShuLGUpLHZpKGUpLDQmciYmbnVsbCE9PXQmJnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpdHJ5e0huKG4uY29udGFpbmVySW5mbyl9Y2F0Y2gobil7RXMoZSxlLnJldHVybixuKX1icmVhaztjYXNlIDQ6ZGVmYXVsdDpoaShuLGUpLHZpKGUpO2JyZWFrO2Nhc2UgMTM6aGkobixlKSx2aShlKSw4MTkyJihsPWUuY2hpbGQpLmZsYWdzJiYodT1udWxsIT09bC5tZW1vaXplZFN0YXRlLGwuc3RhdGVOb2RlLmlzSGlkZGVuPXUsIXV8fG51bGwhPT1sLmFsdGVybmF0ZSYmbnVsbCE9PWwuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGV8fChCaT1HZSgpKSksNCZyJiZtaShlKTticmVhaztjYXNlIDIyOmlmKGY9bnVsbCE9PXQmJm51bGwhPT10Lm1lbW9pemVkU3RhdGUsMSZlLm1vZGU/KFhvPShjPVhvKXx8ZixoaShuLGUpLFhvPWMpOmhpKG4sZSksdmkoZSksODE5MiZyKXtpZihjPW51bGwhPT1lLm1lbW9pemVkU3RhdGUsKGUuc3RhdGVOb2RlLmlzSGlkZGVuPWMpJiYhZiYmMSZlLm1vZGUpZm9yKFpvPWUsZj1lLmNoaWxkO251bGwhPT1mOyl7Zm9yKGQ9Wm89ZjtudWxsIT09Wm87KXtzd2l0Y2gobT0ocD1abykuY2hpbGQscC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTp0aSg0LHAscC5yZXR1cm4pO2JyZWFrO2Nhc2UgMTpKbyhwLHAucmV0dXJuKTt2YXIgaD1wLnN0YXRlTm9kZTtpZigiZnVuY3Rpb24iPT10eXBlb2YgaC5jb21wb25lbnRXaWxsVW5tb3VudCl7cj1wLHQ9cC5yZXR1cm47dHJ5e249cixoLnByb3BzPW4ubWVtb2l6ZWRQcm9wcyxoLnN0YXRlPW4ubWVtb2l6ZWRTdGF0ZSxoLmNvbXBvbmVudFdpbGxVbm1vdW50KCl9Y2F0Y2goZSl7RXMocix0LGUpfX1icmVhaztjYXNlIDU6Sm8ocCxwLnJldHVybik7YnJlYWs7Y2FzZSAyMjppZihudWxsIT09cC5tZW1vaXplZFN0YXRlKXt3aShkKTtjb250aW51ZX19bnVsbCE9PW0/KG0ucmV0dXJuPXAsWm89bSk6d2koZCl9Zj1mLnNpYmxpbmd9ZTpmb3IoZj1udWxsLGQ9ZTs7KXtpZig1PT09ZC50YWcpe2lmKG51bGw9PT1mKXtmPWQ7dHJ5e2w9ZC5zdGF0ZU5vZGUsYz8iZnVuY3Rpb24iPT10eXBlb2YodT1sLnN0eWxlKS5zZXRQcm9wZXJ0eT91LnNldFByb3BlcnR5KCJkaXNwbGF5Iiwibm9uZSIsImltcG9ydGFudCIpOnUuZGlzcGxheT0ibm9uZSI6KGk9ZC5zdGF0ZU5vZGUsbz1udWxsIT0ocz1kLm1lbW9pemVkUHJvcHMuc3R5bGUpJiZzLmhhc093blByb3BlcnR5KCJkaXNwbGF5Iik/cy5kaXNwbGF5Om51bGwsaS5zdHlsZS5kaXNwbGF5PWhlKCJkaXNwbGF5IixvKSl9Y2F0Y2gobil7RXMoZSxlLnJldHVybixuKX19fWVsc2UgaWYoNj09PWQudGFnKXtpZihudWxsPT09Zil0cnl7ZC5zdGF0ZU5vZGUubm9kZVZhbHVlPWM/IiI6ZC5tZW1vaXplZFByb3BzfWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9fWVsc2UgaWYoKDIyIT09ZC50YWcmJjIzIT09ZC50YWd8fG51bGw9PT1kLm1lbW9pemVkU3RhdGV8fGQ9PT1lKSYmbnVsbCE9PWQuY2hpbGQpe2QuY2hpbGQucmV0dXJuPWQsZD1kLmNoaWxkO2NvbnRpbnVlfWlmKGQ9PT1lKWJyZWFrIGU7Zm9yKDtudWxsPT09ZC5zaWJsaW5nOyl7aWYobnVsbD09PWQucmV0dXJufHxkLnJldHVybj09PWUpYnJlYWsgZTtmPT09ZCYmKGY9bnVsbCksZD1kLnJldHVybn1mPT09ZCYmKGY9bnVsbCksZC5zaWJsaW5nLnJldHVybj1kLnJldHVybixkPWQuc2libGluZ319YnJlYWs7Y2FzZSAxOTpoaShuLGUpLHZpKGUpLDQmciYmbWkoZSk7Y2FzZSAyMTp9fWZ1bmN0aW9uIHZpKGUpe3ZhciBuPWUuZmxhZ3M7aWYoMiZuKXt0cnl7ZTp7Zm9yKHZhciB0PWUucmV0dXJuO251bGwhPT10Oyl7aWYodWkodCkpe3ZhciByPXQ7YnJlYWsgZX10PXQucmV0dXJufXRocm93IEVycm9yKGEoMTYwKSl9c3dpdGNoKHIudGFnKXtjYXNlIDU6dmFyIGw9ci5zdGF0ZU5vZGU7MzImci5mbGFncyYmKGRlKGwsIiIpLHIuZmxhZ3MmPS0zMyksc2koZSxvaShlKSxsKTticmVhaztjYXNlIDM6Y2FzZSA0OnZhciB1PXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87aWkoZSxvaShlKSx1KTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKGEoMTYxKSl9fWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9ZS5mbGFncyY9LTN9NDA5NiZuJiYoZS5mbGFncyY9LTQwOTcpfWZ1bmN0aW9uIHlpKGUsbix0KXtabz1lLGJpKGUsbix0KX1mdW5jdGlvbiBiaShlLG4sdCl7Zm9yKHZhciByPSEhKDEmZS5tb2RlKTtudWxsIT09Wm87KXt2YXIgbD1abyxhPWwuY2hpbGQ7aWYoMjI9PT1sLnRhZyYmcil7dmFyIHU9bnVsbCE9PWwubWVtb2l6ZWRTdGF0ZXx8WW87aWYoIXUpe3ZhciBvPWwuYWx0ZXJuYXRlLGk9bnVsbCE9PW8mJm51bGwhPT1vLm1lbW9pemVkU3RhdGV8fFhvO289WW87dmFyIHM9WG87aWYoWW89dSwoWG89aSkmJiFzKWZvcihabz1sO251bGwhPT1abzspaT0odT1abykuY2hpbGQsMjI9PT11LnRhZyYmbnVsbCE9PXUubWVtb2l6ZWRTdGF0ZT9TaShsKTpudWxsIT09aT8oaS5yZXR1cm49dSxabz1pKTpTaShsKTtmb3IoO251bGwhPT1hOylabz1hLGJpKGEsbix0KSxhPWEuc2libGluZztabz1sLFlvPW8sWG89c31raShlKX1lbHNlIDg3NzImbC5zdWJ0cmVlRmxhZ3MmJm51bGwhPT1hPyhhLnJldHVybj1sLFpvPWEpOmtpKGUpfX1mdW5jdGlvbiBraShlKXtmb3IoO251bGwhPT1abzspe3ZhciBuPVpvO2lmKDg3NzImbi5mbGFncyl7dmFyIHQ9bi5hbHRlcm5hdGU7dHJ5e2lmKDg3NzImbi5mbGFncylzd2l0Y2gobi50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6WG98fHJpKDUsbik7YnJlYWs7Y2FzZSAxOnZhciByPW4uc3RhdGVOb2RlO2lmKDQmbi5mbGFncyYmIVhvKWlmKG51bGw9PT10KXIuY29tcG9uZW50RGlkTW91bnQoKTtlbHNle3ZhciBsPW4uZWxlbWVudFR5cGU9PT1uLnR5cGU/dC5tZW1vaXplZFByb3BzOmdhKG4udHlwZSx0Lm1lbW9pemVkUHJvcHMpCjtyLmNvbXBvbmVudERpZFVwZGF0ZShsLHQubWVtb2l6ZWRTdGF0ZSxyLl9fcmVhY3RJbnRlcm5hbFNuYXBzaG90QmVmb3JlVXBkYXRlKX12YXIgdT1uLnVwZGF0ZVF1ZXVlO251bGwhPT11JiZVYShuLHUscik7YnJlYWs7Y2FzZSAzOnZhciBvPW4udXBkYXRlUXVldWU7aWYobnVsbCE9PW8pe2lmKHQ9bnVsbCxudWxsIT09bi5jaGlsZClzd2l0Y2gobi5jaGlsZC50YWcpe2Nhc2UgNTpjYXNlIDE6dD1uLmNoaWxkLnN0YXRlTm9kZX1VYShuLG8sdCl9YnJlYWs7Y2FzZSA1OnZhciBpPW4uc3RhdGVOb2RlO2lmKG51bGw9PT10JiY0Jm4uZmxhZ3Mpe3Q9aTt2YXIgcz1uLm1lbW9pemVkUHJvcHM7c3dpdGNoKG4udHlwZSl7Y2FzZSJidXR0b24iOmNhc2UiaW5wdXQiOmNhc2Uic2VsZWN0IjpjYXNlInRleHRhcmVhIjpzLmF1dG9Gb2N1cyYmdC5mb2N1cygpO2JyZWFrO2Nhc2UiaW1nIjpzLnNyYyYmKHQuc3JjPXMuc3JjKX19YnJlYWs7Y2FzZSA2OmNhc2UgNDpjYXNlIDEyOmNhc2UgMTk6Y2FzZSAxNzpjYXNlIDIxOmNhc2UgMjI6Y2FzZSAyMzpjYXNlIDI1OmJyZWFrO2Nhc2UgMTM6aWYobnVsbD09PW4ubWVtb2l6ZWRTdGF0ZSl7dmFyIGM9bi5hbHRlcm5hdGU7aWYobnVsbCE9PWMpe3ZhciBmPWMubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09Zil7dmFyIGQ9Zi5kZWh5ZHJhdGVkO251bGwhPT1kJiZIbihkKX19fWJyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoYSgxNjMpKX1Yb3x8NTEyJm4uZmxhZ3MmJmxpKG4pfWNhdGNoKGUpe0VzKG4sbi5yZXR1cm4sZSl9fWlmKG49PT1lKXtabz1udWxsO2JyZWFrfWlmKG51bGwhPT0odD1uLnNpYmxpbmcpKXt0LnJldHVybj1uLnJldHVybixabz10O2JyZWFrfVpvPW4ucmV0dXJufX1mdW5jdGlvbiB3aShlKXtmb3IoO251bGwhPT1abzspe3ZhciBuPVpvO2lmKG49PT1lKXtabz1udWxsO2JyZWFrfXZhciB0PW4uc2libGluZztpZihudWxsIT09dCl7dC5yZXR1cm49bi5yZXR1cm4sWm89dDticmVha31abz1uLnJldHVybn19ZnVuY3Rpb24gU2koZSl7Zm9yKDtudWxsIT09Wm87KXt2YXIgbj1abzt0cnl7c3dpdGNoKG4udGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OnZhciB0PW4ucmV0dXJuO3RyeXtyaSg0LG4pfWNhdGNoKGUpe0VzKG4sdCxlKX1icmVhaztjYXNlIDE6dmFyIHI9bi5zdGF0ZU5vZGU7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIuY29tcG9uZW50RGlkTW91bnQpe3ZhciBsPW4ucmV0dXJuO3RyeXtyLmNvbXBvbmVudERpZE1vdW50KCl9Y2F0Y2goZSl7RXMobixsLGUpfX12YXIgYT1uLnJldHVybjt0cnl7bGkobil9Y2F0Y2goZSl7RXMobixhLGUpfWJyZWFrO2Nhc2UgNTp2YXIgdT1uLnJldHVybjt0cnl7bGkobil9Y2F0Y2goZSl7RXMobix1LGUpfX19Y2F0Y2goZSl7RXMobixuLnJldHVybixlKX1pZihuPT09ZSl7Wm89bnVsbDticmVha312YXIgbz1uLnNpYmxpbmc7aWYobnVsbCE9PW8pe28ucmV0dXJuPW4ucmV0dXJuLFpvPW87YnJlYWt9Wm89bi5yZXR1cm59fXZhciB4aSxFaT1NYXRoLmNlaWwsQ2k9ay5SZWFjdEN1cnJlbnREaXNwYXRjaGVyLHppPWsuUmVhY3RDdXJyZW50T3duZXIsTmk9ay5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxfaT0wLFBpPW51bGwsVGk9bnVsbCxMaT0wLE1pPTAsRmk9RWwoMCksUmk9MCxEaT1udWxsLElpPTAsT2k9MCxVaT0wLFZpPW51bGwsQWk9bnVsbCxCaT0wLFdpPTEvMCxIaT1udWxsLFFpPSExLGppPW51bGwsJGk9bnVsbCxxaT0hMSxLaT1udWxsLFlpPTAsWGk9MCxHaT1udWxsLFppPS0xLEppPTA7ZnVuY3Rpb24gZXMoKXtyZXR1cm4gNiZfaT9HZSgpOi0xIT09Wmk/Wmk6Wmk9R2UoKX1mdW5jdGlvbiBucyhlKXtyZXR1cm4gMSZlLm1vZGU/MiZfaSYmMCE9PUxpP0xpJi1MaTpudWxsIT09aGEudHJhbnNpdGlvbj8oMD09PUppJiYoSmk9Z24oKSksSmkpOjAhPT0oZT1rbik/ZTplPXZvaWQgMD09PShlPXdpbmRvdy5ldmVudCk/MTY6R24oZS50eXBlKToxfWZ1bmN0aW9uIHRzKGUsbix0LHIpe2lmKDUwPFhpKXRocm93IFhpPTAsR2k9bnVsbCxFcnJvcihhKDE4NSkpO3luKGUsdCxyKSwyJl9pJiZlPT09UGl8fChlPT09UGkmJighKDImX2kpJiYoT2l8PXQpLDQ9PT1SaSYmb3MoZSxMaSkpLHJzKGUsciksMT09PXQmJjA9PT1faSYmISgxJm4ubW9kZSkmJihXaT1HZSgpKzUwMCxWbCYmV2woKSkpfWZ1bmN0aW9uIHJzKGUsbil7dmFyIHQ9ZS5jYWxsYmFja05vZGU7IWZ1bmN0aW9uKGUsbil7Zm9yKHZhciB0PWUuc3VzcGVuZGVkTGFuZXMscj1lLnBpbmdlZExhbmVzLGw9ZS5leHBpcmF0aW9uVGltZXMsYT1lLnBlbmRpbmdMYW5lczswPGE7KXt2YXIgdT0zMS11bihhKSxvPTE8PHUsaT1sW3VdOy0xPT09aT9vJnQmJiEobyZyKXx8KGxbdV09bW4obyxuKSk6aTw9biYmKGUuZXhwaXJlZExhbmVzfD1vKSxhJj1+b319KGUsbik7dmFyIHI9cG4oZSxlPT09UGk/TGk6MCk7aWYoMD09PXIpbnVsbCE9PXQmJktlKHQpLGUuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTA7ZWxzZSBpZihuPXImLXIsZS5jYWxsYmFja1ByaW9yaXR5IT09bil7aWYobnVsbCE9dCYmS2UodCksMT09PW4pMD09PWUudGFnP2Z1bmN0aW9uKGUpe1ZsPSEwLEJsKGUpfShpcy5iaW5kKG51bGwsZSkpOkJsKGlzLmJpbmQobnVsbCxlKSksdWwoKGZ1bmN0aW9uKCl7ISg2Jl9pKSYmV2woKX0pKSx0PW51bGw7ZWxzZXtzd2l0Y2god24ocikpe2Nhc2UgMTp0PUplO2JyZWFrO2Nhc2UgNDp0PWVuO2JyZWFrO2Nhc2UgMTY6ZGVmYXVsdDp0PW5uO2JyZWFrO2Nhc2UgNTM2ODcwOTEyOnQ9cm59dD1Qcyh0LGxzLmJpbmQobnVsbCxlKSl9ZS5jYWxsYmFja1ByaW9yaXR5PW4sZS5jYWxsYmFja05vZGU9dH19ZnVuY3Rpb24gbHMoZSxuKXtpZihaaT0tMSxKaT0wLDYmX2kpdGhyb3cgRXJyb3IoYSgzMjcpKTt2YXIgdD1lLmNhbGxiYWNrTm9kZTtpZihTcygpJiZlLmNhbGxiYWNrTm9kZSE9PXQpcmV0dXJuIG51bGw7dmFyIHI9cG4oZSxlPT09UGk/TGk6MCk7aWYoMD09PXIpcmV0dXJuIG51bGw7aWYoMzAmcnx8ciZlLmV4cGlyZWRMYW5lc3x8biluPWdzKGUscik7ZWxzZXtuPXI7dmFyIGw9X2k7X2l8PTI7dmFyIHU9bXMoKQo7Zm9yKFBpPT09ZSYmTGk9PT1ufHwoSGk9bnVsbCxXaT1HZSgpKzUwMCxkcyhlLG4pKTs7KXRyeXt5cygpO2JyZWFrfWNhdGNoKG4pe3BzKGUsbil9d2EoKSxDaS5jdXJyZW50PXUsX2k9bCxudWxsIT09VGk/bj0wOihQaT1udWxsLExpPTAsbj1SaSl9aWYoMCE9PW4pe2lmKDI9PT1uJiYoMCE9PShsPWhuKGUpKSYmKHI9bCxuPWFzKGUsbCkpKSwxPT09bil0aHJvdyB0PURpLGRzKGUsMCksb3MoZSxyKSxycyhlLEdlKCkpLHQ7aWYoNj09PW4pb3MoZSxyKTtlbHNle2lmKGw9ZS5jdXJyZW50LmFsdGVybmF0ZSwhKDMwJnJ8fGZ1bmN0aW9uKGUpe2Zvcih2YXIgbj1lOzspe2lmKDE2Mzg0Jm4uZmxhZ3Mpe3ZhciB0PW4udXBkYXRlUXVldWU7aWYobnVsbCE9PXQmJm51bGwhPT0odD10LnN0b3JlcykpZm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBsPXRbcl0sYT1sLmdldFNuYXBzaG90O2w9bC52YWx1ZTt0cnl7aWYoIW9yKGEoKSxsKSlyZXR1cm4hMX1jYXRjaChlKXtyZXR1cm4hMX19fWlmKHQ9bi5jaGlsZCwxNjM4NCZuLnN1YnRyZWVGbGFncyYmbnVsbCE9PXQpdC5yZXR1cm49bixuPXQ7ZWxzZXtpZihuPT09ZSlicmVhaztmb3IoO251bGw9PT1uLnNpYmxpbmc7KXtpZihudWxsPT09bi5yZXR1cm58fG4ucmV0dXJuPT09ZSlyZXR1cm4hMDtuPW4ucmV0dXJufW4uc2libGluZy5yZXR1cm49bi5yZXR1cm4sbj1uLnNpYmxpbmd9fXJldHVybiEwfShsKXx8KG49Z3MoZSxyKSwyPT09biYmKHU9aG4oZSksMCE9PXUmJihyPXUsbj1hcyhlLHUpKSksMSE9PW4pKSl0aHJvdyB0PURpLGRzKGUsMCksb3MoZSxyKSxycyhlLEdlKCkpLHQ7c3dpdGNoKGUuZmluaXNoZWRXb3JrPWwsZS5maW5pc2hlZExhbmVzPXIsbil7Y2FzZSAwOmNhc2UgMTp0aHJvdyBFcnJvcihhKDM0NSkpO2Nhc2UgMjpjYXNlIDU6d3MoZSxBaSxIaSk7YnJlYWs7Y2FzZSAzOmlmKG9zKGUsciksKDEzMDAyMzQyNCZyKT09PXImJjEwPChuPUJpKzUwMC1HZSgpKSl7aWYoMCE9PXBuKGUsMCkpYnJlYWs7aWYoKChsPWUuc3VzcGVuZGVkTGFuZXMpJnIpIT09cil7ZXMoKSxlLnBpbmdlZExhbmVzfD1lLnN1c3BlbmRlZExhbmVzJmw7YnJlYWt9ZS50aW1lb3V0SGFuZGxlPXJsKHdzLmJpbmQobnVsbCxlLEFpLEhpKSxuKTticmVha313cyhlLEFpLEhpKTticmVhaztjYXNlIDQ6aWYob3MoZSxyKSwoNDE5NDI0MCZyKT09PXIpYnJlYWs7Zm9yKG49ZS5ldmVudFRpbWVzLGw9LTE7MDxyOyl7dmFyIG89MzEtdW4ocik7dT0xPDxvLChvPW5bb10pPmwmJihsPW8pLHImPX51fWlmKHI9bCwxMDwocj0oMTIwPihyPUdlKCktcik/MTIwOjQ4MD5yPzQ4MDoxMDgwPnI/MTA4MDoxOTIwPnI/MTkyMDozZTM+cj8zZTM6NDMyMD5yPzQzMjA6MTk2MCpFaShyLzE5NjApKS1yKSl7ZS50aW1lb3V0SGFuZGxlPXJsKHdzLmJpbmQobnVsbCxlLEFpLEhpKSxyKTticmVha313cyhlLEFpLEhpKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKGEoMzI5KSl9fX1yZXR1cm4gcnMoZSxHZSgpKSxlLmNhbGxiYWNrTm9kZT09PXQ/bHMuYmluZChudWxsLGUpOm51bGx9ZnVuY3Rpb24gYXMoZSxuKXt2YXIgdD1WaTtyZXR1cm4gZS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkJiYoZHMoZSxuKS5mbGFnc3w9MjU2KSwyIT09KGU9Z3MoZSxuKSkmJihuPUFpLEFpPXQsbnVsbCE9PW4mJnVzKG4pKSxlfWZ1bmN0aW9uIHVzKGUpe251bGw9PT1BaT9BaT1lOkFpLnB1c2guYXBwbHkoQWksZSl9ZnVuY3Rpb24gb3MoZSxuKXtmb3IobiY9flVpLG4mPX5PaSxlLnN1c3BlbmRlZExhbmVzfD1uLGUucGluZ2VkTGFuZXMmPX5uLGU9ZS5leHBpcmF0aW9uVGltZXM7MDxuOyl7dmFyIHQ9MzEtdW4obikscj0xPDx0O2VbdF09LTEsbiY9fnJ9fWZ1bmN0aW9uIGlzKGUpe2lmKDYmX2kpdGhyb3cgRXJyb3IoYSgzMjcpKTtTcygpO3ZhciBuPXBuKGUsMCk7aWYoISgxJm4pKXJldHVybiBycyhlLEdlKCkpLG51bGw7dmFyIHQ9Z3MoZSxuKTtpZigwIT09ZS50YWcmJjI9PT10KXt2YXIgcj1obihlKTswIT09ciYmKG49cix0PWFzKGUscikpfWlmKDE9PT10KXRocm93IHQ9RGksZHMoZSwwKSxvcyhlLG4pLHJzKGUsR2UoKSksdDtpZig2PT09dCl0aHJvdyBFcnJvcihhKDM0NSkpO3JldHVybiBlLmZpbmlzaGVkV29yaz1lLmN1cnJlbnQuYWx0ZXJuYXRlLGUuZmluaXNoZWRMYW5lcz1uLHdzKGUsQWksSGkpLHJzKGUsR2UoKSksbnVsbH1mdW5jdGlvbiBzcyhlLG4pe3ZhciB0PV9pO19pfD0xO3RyeXtyZXR1cm4gZShuKX1maW5hbGx5ezA9PT0oX2k9dCkmJihXaT1HZSgpKzUwMCxWbCYmV2woKSl9fWZ1bmN0aW9uIGNzKGUpe251bGwhPT1LaSYmMD09PUtpLnRhZyYmISg2Jl9pKSYmU3MoKTt2YXIgbj1faTtfaXw9MTt2YXIgdD1OaS50cmFuc2l0aW9uLHI9a247dHJ5e2lmKE5pLnRyYW5zaXRpb249bnVsbCxrbj0xLGUpcmV0dXJuIGUoKX1maW5hbGx5e2tuPXIsTmkudHJhbnNpdGlvbj10LCEoNiYoX2k9bikpJiZXbCgpfX1mdW5jdGlvbiBmcygpe01pPUZpLmN1cnJlbnQsQ2woRmkpfWZ1bmN0aW9uIGRzKGUsbil7ZS5maW5pc2hlZFdvcms9bnVsbCxlLmZpbmlzaGVkTGFuZXM9MDt2YXIgdD1lLnRpbWVvdXRIYW5kbGU7aWYoLTEhPT10JiYoZS50aW1lb3V0SGFuZGxlPS0xLGxsKHQpKSxudWxsIT09VGkpZm9yKHQ9VGkucmV0dXJuO251bGwhPT10Oyl7dmFyIHI9dDtzd2l0Y2gobmEociksci50YWcpe2Nhc2UgMTpudWxsIT0ocj1yLnR5cGUuY2hpbGRDb250ZXh0VHlwZXMpJiZGbCgpO2JyZWFrO2Nhc2UgMzpsdSgpLENsKFBsKSxDbChfbCksY3UoKTticmVhaztjYXNlIDU6dXUocik7YnJlYWs7Y2FzZSA0Omx1KCk7YnJlYWs7Y2FzZSAxMzpjYXNlIDE5OkNsKG91KTticmVhaztjYXNlIDEwOlNhKHIudHlwZS5fY29udGV4dCk7YnJlYWs7Y2FzZSAyMjpjYXNlIDIzOmZzKCl9dD10LnJldHVybn1pZihQaT1lLFRpPWU9RnMoZS5jdXJyZW50LG51bGwpLExpPU1pPW4sUmk9MCxEaT1udWxsLFVpPU9pPUlpPTAsQWk9Vmk9bnVsbCxudWxsIT09emEpe2ZvcihuPTA7bjx6YS5sZW5ndGg7bisrKWlmKG51bGwhPT0ocj0odD16YVtuXSkuaW50ZXJsZWF2ZWQpKXt0LmludGVybGVhdmVkPW51bGwKO3ZhciBsPXIubmV4dCxhPXQucGVuZGluZztpZihudWxsIT09YSl7dmFyIHU9YS5uZXh0O2EubmV4dD1sLHIubmV4dD11fXQucGVuZGluZz1yfXphPW51bGx9cmV0dXJuIGV9ZnVuY3Rpb24gcHMoZSxuKXtmb3IoOzspe3ZhciB0PVRpO3RyeXtpZih3YSgpLGZ1LmN1cnJlbnQ9YW8sdnUpe2Zvcih2YXIgcj1tdS5tZW1vaXplZFN0YXRlO251bGwhPT1yOyl7dmFyIGw9ci5xdWV1ZTtudWxsIT09bCYmKGwucGVuZGluZz1udWxsKSxyPXIubmV4dH12dT0hMX1pZihwdT0wLGd1PWh1PW11PW51bGwseXU9ITEsYnU9MCx6aS5jdXJyZW50PW51bGwsbnVsbD09PXR8fG51bGw9PT10LnJldHVybil7Umk9MSxEaT1uLFRpPW51bGw7YnJlYWt9ZTp7dmFyIHU9ZSxvPXQucmV0dXJuLGk9dCxzPW47aWYobj1MaSxpLmZsYWdzfD0zMjc2OCxudWxsIT09cyYmIm9iamVjdCI9PXR5cGVvZiBzJiYiZnVuY3Rpb24iPT10eXBlb2Ygcy50aGVuKXt2YXIgYz1zLGY9aSxkPWYudGFnO2lmKCEoMSZmLm1vZGV8fDAhPT1kJiYxMSE9PWQmJjE1IT09ZCkpe3ZhciBwPWYuYWx0ZXJuYXRlO3A/KGYudXBkYXRlUXVldWU9cC51cGRhdGVRdWV1ZSxmLm1lbW9pemVkU3RhdGU9cC5tZW1vaXplZFN0YXRlLGYubGFuZXM9cC5sYW5lcyk6KGYudXBkYXRlUXVldWU9bnVsbCxmLm1lbW9pemVkU3RhdGU9bnVsbCl9dmFyIG09dm8obyk7aWYobnVsbCE9PW0pe20uZmxhZ3MmPS0yNTcseW8obSxvLGksMCxuKSwxJm0ubW9kZSYmZ28odSxjLG4pLHM9Yzt2YXIgaD0obj1tKS51cGRhdGVRdWV1ZTtpZihudWxsPT09aCl7dmFyIGc9bmV3IFNldDtnLmFkZChzKSxuLnVwZGF0ZVF1ZXVlPWd9ZWxzZSBoLmFkZChzKTticmVhayBlfWlmKCEoMSZuKSl7Z28odSxjLG4pLGhzKCk7YnJlYWsgZX1zPUVycm9yKGEoNDI2KSl9ZWxzZSBpZihsYSYmMSZpLm1vZGUpe3ZhciB2PXZvKG8pO2lmKG51bGwhPT12KXshKDY1NTM2JnYuZmxhZ3MpJiYodi5mbGFnc3w9MjU2KSx5byh2LG8saSwwLG4pLG1hKHNvKHMsaSkpO2JyZWFrIGV9fXU9cz1zbyhzLGkpLDQhPT1SaSYmKFJpPTIpLG51bGw9PT1WaT9WaT1bdV06VmkucHVzaCh1KSx1PW87ZG97c3dpdGNoKHUudGFnKXtjYXNlIDM6dS5mbGFnc3w9NjU1MzYsbiY9LW4sdS5sYW5lc3w9bixJYSh1LG1vKDAscyxuKSk7YnJlYWsgZTtjYXNlIDE6aT1zO3ZhciB5PXUudHlwZSxiPXUuc3RhdGVOb2RlO2lmKCEoMTI4JnUuZmxhZ3N8fCJmdW5jdGlvbiIhPXR5cGVvZiB5LmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciYmKG51bGw9PT1ifHwiZnVuY3Rpb24iIT10eXBlb2YgYi5jb21wb25lbnREaWRDYXRjaHx8bnVsbCE9PSRpJiYkaS5oYXMoYikpKSl7dS5mbGFnc3w9NjU1MzYsbiY9LW4sdS5sYW5lc3w9bixJYSh1LGhvKHUsaSxuKSk7YnJlYWsgZX19dT11LnJldHVybn13aGlsZShudWxsIT09dSl9a3ModCl9Y2F0Y2goZSl7bj1lLFRpPT09dCYmbnVsbCE9PXQmJihUaT10PXQucmV0dXJuKTtjb250aW51ZX1icmVha319ZnVuY3Rpb24gbXMoKXt2YXIgZT1DaS5jdXJyZW50O3JldHVybiBDaS5jdXJyZW50PWFvLG51bGw9PT1lP2FvOmV9ZnVuY3Rpb24gaHMoKXswIT09UmkmJjMhPT1SaSYmMiE9PVJpfHwoUmk9NCksbnVsbD09PVBpfHwhKDI2ODQzNTQ1NSZJaSkmJiEoMjY4NDM1NDU1Jk9pKXx8b3MoUGksTGkpfWZ1bmN0aW9uIGdzKGUsbil7dmFyIHQ9X2k7X2l8PTI7dmFyIHI9bXMoKTtmb3IoUGk9PT1lJiZMaT09PW58fChIaT1udWxsLGRzKGUsbikpOzspdHJ5e3ZzKCk7YnJlYWt9Y2F0Y2gobil7cHMoZSxuKX1pZih3YSgpLF9pPXQsQ2kuY3VycmVudD1yLG51bGwhPT1UaSl0aHJvdyBFcnJvcihhKDI2MSkpO3JldHVybiBQaT1udWxsLExpPTAsUml9ZnVuY3Rpb24gdnMoKXtmb3IoO251bGwhPT1UaTspYnMoVGkpfWZ1bmN0aW9uIHlzKCl7Zm9yKDtudWxsIT09VGkmJiFZZSgpOylicyhUaSl9ZnVuY3Rpb24gYnMoZSl7dmFyIG49eGkoZS5hbHRlcm5hdGUsZSxNaSk7ZS5tZW1vaXplZFByb3BzPWUucGVuZGluZ1Byb3BzLG51bGw9PT1uP2tzKGUpOlRpPW4semkuY3VycmVudD1udWxsfWZ1bmN0aW9uIGtzKGUpe3ZhciBuPWU7ZG97dmFyIHQ9bi5hbHRlcm5hdGU7aWYoZT1uLnJldHVybiwzMjc2OCZuLmZsYWdzKXtpZihudWxsIT09KHQ9S28odCxuKSkpcmV0dXJuIHQuZmxhZ3MmPTMyNzY3LHZvaWQoVGk9dCk7aWYobnVsbD09PWUpcmV0dXJuIFJpPTYsdm9pZChUaT1udWxsKTtlLmZsYWdzfD0zMjc2OCxlLnN1YnRyZWVGbGFncz0wLGUuZGVsZXRpb25zPW51bGx9ZWxzZSBpZihudWxsIT09KHQ9cW8odCxuLE1pKSkpcmV0dXJuIHZvaWQoVGk9dCk7aWYobnVsbCE9PShuPW4uc2libGluZykpcmV0dXJuIHZvaWQoVGk9bik7VGk9bj1lfXdoaWxlKG51bGwhPT1uKTswPT09UmkmJihSaT01KX1mdW5jdGlvbiB3cyhlLG4sdCl7dmFyIHI9a24sbD1OaS50cmFuc2l0aW9uO3RyeXtOaS50cmFuc2l0aW9uPW51bGwsa249MSxmdW5jdGlvbihlLG4sdCxyKXtkb3tTcygpfXdoaWxlKG51bGwhPT1LaSk7aWYoNiZfaSl0aHJvdyBFcnJvcihhKDMyNykpO3Q9ZS5maW5pc2hlZFdvcms7dmFyIGw9ZS5maW5pc2hlZExhbmVzO2lmKG51bGw9PT10KXJldHVybiBudWxsO2lmKGUuZmluaXNoZWRXb3JrPW51bGwsZS5maW5pc2hlZExhbmVzPTAsdD09PWUuY3VycmVudCl0aHJvdyBFcnJvcihhKDE3NykpO2UuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTA7dmFyIHU9dC5sYW5lc3x0LmNoaWxkTGFuZXM7aWYoZnVuY3Rpb24oZSxuKXt2YXIgdD1lLnBlbmRpbmdMYW5lcyZ+bjtlLnBlbmRpbmdMYW5lcz1uLGUuc3VzcGVuZGVkTGFuZXM9MCxlLnBpbmdlZExhbmVzPTAsZS5leHBpcmVkTGFuZXMmPW4sZS5tdXRhYmxlUmVhZExhbmVzJj1uLGUuZW50YW5nbGVkTGFuZXMmPW4sbj1lLmVudGFuZ2xlbWVudHM7dmFyIHI9ZS5ldmVudFRpbWVzO2ZvcihlPWUuZXhwaXJhdGlvblRpbWVzOzA8dDspe3ZhciBsPTMxLXVuKHQpLGE9MTw8bDtuW2xdPTAscltsXT0tMSxlW2xdPS0xLHQmPX5hfX0oZSx1KSxlPT09UGkmJihUaT1QaT1udWxsLExpPTApLAohKDIwNjQmdC5zdWJ0cmVlRmxhZ3MpJiYhKDIwNjQmdC5mbGFncyl8fHFpfHwocWk9ITAsUHMobm4sKGZ1bmN0aW9uKCl7cmV0dXJuIFNzKCksbnVsbH0pKSksdT0hISgxNTk5MCZ0LmZsYWdzKSwhISgxNTk5MCZ0LnN1YnRyZWVGbGFncyl8fHUpe3U9TmkudHJhbnNpdGlvbixOaS50cmFuc2l0aW9uPW51bGw7dmFyIG89a247a249MTt2YXIgaT1faTtfaXw9NCx6aS5jdXJyZW50PW51bGwsZnVuY3Rpb24oZSxuKXtpZihlbD1qbixwcihlPWRyKCkpKXtpZigic2VsZWN0aW9uU3RhcnQiaW4gZSl2YXIgdD17c3RhcnQ6ZS5zZWxlY3Rpb25TdGFydCxlbmQ6ZS5zZWxlY3Rpb25FbmR9O2Vsc2UgZTp7dmFyIHI9KHQ9KHQ9ZS5vd25lckRvY3VtZW50KSYmdC5kZWZhdWx0Vmlld3x8d2luZG93KS5nZXRTZWxlY3Rpb24mJnQuZ2V0U2VsZWN0aW9uKCk7aWYociYmMCE9PXIucmFuZ2VDb3VudCl7dD1yLmFuY2hvck5vZGU7dmFyIGw9ci5hbmNob3JPZmZzZXQsdT1yLmZvY3VzTm9kZTtyPXIuZm9jdXNPZmZzZXQ7dHJ5e3Qubm9kZVR5cGUsdS5ub2RlVHlwZX1jYXRjaChlKXt0PW51bGw7YnJlYWsgZX12YXIgbz0wLGk9LTEscz0tMSxjPTAsZj0wLGQ9ZSxwPW51bGw7bjpmb3IoOzspe2Zvcih2YXIgbTtkIT09dHx8MCE9PWwmJjMhPT1kLm5vZGVUeXBlfHwoaT1vK2wpLGQhPT11fHwwIT09ciYmMyE9PWQubm9kZVR5cGV8fChzPW8rciksMz09PWQubm9kZVR5cGUmJihvKz1kLm5vZGVWYWx1ZS5sZW5ndGgpLG51bGwhPT0obT1kLmZpcnN0Q2hpbGQpOylwPWQsZD1tO2Zvcig7Oyl7aWYoZD09PWUpYnJlYWsgbjtpZihwPT09dCYmKytjPT09bCYmKGk9bykscD09PXUmJisrZj09PXImJihzPW8pLG51bGwhPT0obT1kLm5leHRTaWJsaW5nKSlicmVhaztwPShkPXApLnBhcmVudE5vZGV9ZD1tfXQ9LTE9PT1pfHwtMT09PXM/bnVsbDp7c3RhcnQ6aSxlbmQ6c319ZWxzZSB0PW51bGx9dD10fHx7c3RhcnQ6MCxlbmQ6MH19ZWxzZSB0PW51bGw7Zm9yKG5sPXtmb2N1c2VkRWxlbTplLHNlbGVjdGlvblJhbmdlOnR9LGpuPSExLFpvPW47bnVsbCE9PVpvOylpZihlPShuPVpvKS5jaGlsZCwxMDI4Jm4uc3VidHJlZUZsYWdzJiZudWxsIT09ZSllLnJldHVybj1uLFpvPWU7ZWxzZSBmb3IoO251bGwhPT1abzspe249Wm87dHJ5e3ZhciBoPW4uYWx0ZXJuYXRlO2lmKDEwMjQmbi5mbGFncylzd2l0Y2gobi50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6Y2FzZSA1OmNhc2UgNjpjYXNlIDQ6Y2FzZSAxNzpicmVhaztjYXNlIDE6aWYobnVsbCE9PWgpe3ZhciBnPWgubWVtb2l6ZWRQcm9wcyx2PWgubWVtb2l6ZWRTdGF0ZSx5PW4uc3RhdGVOb2RlLGI9eS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZShuLmVsZW1lbnRUeXBlPT09bi50eXBlP2c6Z2Eobi50eXBlLGcpLHYpO3kuX19yZWFjdEludGVybmFsU25hcHNob3RCZWZvcmVVcGRhdGU9Yn1icmVhaztjYXNlIDM6dmFyIGs9bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbzsxPT09ay5ub2RlVHlwZT9rLnRleHRDb250ZW50PSIiOjk9PT1rLm5vZGVUeXBlJiZrLmRvY3VtZW50RWxlbWVudCYmay5yZW1vdmVDaGlsZChrLmRvY3VtZW50RWxlbWVudCk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcihhKDE2MykpfX1jYXRjaChlKXtFcyhuLG4ucmV0dXJuLGUpfWlmKG51bGwhPT0oZT1uLnNpYmxpbmcpKXtlLnJldHVybj1uLnJldHVybixabz1lO2JyZWFrfVpvPW4ucmV0dXJufWg9bmksbmk9ITF9KGUsdCksZ2kodCxlKSxtcihubCksam49ISFlbCxubD1lbD1udWxsLGUuY3VycmVudD10LHlpKHQsZSxsKSxYZSgpLF9pPWksa249byxOaS50cmFuc2l0aW9uPXV9ZWxzZSBlLmN1cnJlbnQ9dDtpZihxaSYmKHFpPSExLEtpPWUsWWk9bCksdT1lLnBlbmRpbmdMYW5lcywwPT09dSYmKCRpPW51bGwpLGZ1bmN0aW9uKGUpe2lmKGFuJiYiZnVuY3Rpb24iPT10eXBlb2YgYW4ub25Db21taXRGaWJlclJvb3QpdHJ5e2FuLm9uQ29tbWl0RmliZXJSb290KGxuLGUsdm9pZCAwLCEoMTI4Jn5lLmN1cnJlbnQuZmxhZ3MpKX1jYXRjaChlKXt9fSh0LnN0YXRlTm9kZSkscnMoZSxHZSgpKSxudWxsIT09bilmb3Iocj1lLm9uUmVjb3ZlcmFibGVFcnJvcix0PTA7dDxuLmxlbmd0aDt0KyspbD1uW3RdLHIobC52YWx1ZSx7Y29tcG9uZW50U3RhY2s6bC5zdGFjayxkaWdlc3Q6bC5kaWdlc3R9KTtpZihRaSl0aHJvdyBRaT0hMSxlPWppLGppPW51bGwsZTshISgxJllpKSYmMCE9PWUudGFnJiZTcygpLHU9ZS5wZW5kaW5nTGFuZXMsMSZ1P2U9PT1HaT9YaSsrOihYaT0wLEdpPWUpOlhpPTAsV2woKX0oZSxuLHQscil9ZmluYWxseXtOaS50cmFuc2l0aW9uPWwsa249cn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBTcygpe2lmKG51bGwhPT1LaSl7dmFyIGU9d24oWWkpLG49TmkudHJhbnNpdGlvbix0PWtuO3RyeXtpZihOaS50cmFuc2l0aW9uPW51bGwsa249MTY+ZT8xNjplLG51bGw9PT1LaSl2YXIgcj0hMTtlbHNle2lmKGU9S2ksS2k9bnVsbCxZaT0wLDYmX2kpdGhyb3cgRXJyb3IoYSgzMzEpKTt2YXIgbD1faTtmb3IoX2l8PTQsWm89ZS5jdXJyZW50O251bGwhPT1abzspe3ZhciB1PVpvLG89dS5jaGlsZDtpZigxNiZaby5mbGFncyl7dmFyIGk9dS5kZWxldGlvbnM7aWYobnVsbCE9PWkpe2Zvcih2YXIgcz0wO3M8aS5sZW5ndGg7cysrKXt2YXIgYz1pW3NdO2Zvcihabz1jO251bGwhPT1abzspe3ZhciBmPVpvO3N3aXRjaChmLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTp0aSg4LGYsdSl9dmFyIGQ9Zi5jaGlsZDtpZihudWxsIT09ZClkLnJldHVybj1mLFpvPWQ7ZWxzZSBmb3IoO251bGwhPT1abzspe3ZhciBwPShmPVpvKS5zaWJsaW5nLG09Zi5yZXR1cm47aWYoYWkoZiksZj09PWMpe1pvPW51bGw7YnJlYWt9aWYobnVsbCE9PXApe3AucmV0dXJuPW0sWm89cDticmVha31abz1tfX19dmFyIGg9dS5hbHRlcm5hdGU7aWYobnVsbCE9PWgpe3ZhciBnPWguY2hpbGQ7aWYobnVsbCE9PWcpe2guY2hpbGQ9bnVsbDtkb3t2YXIgdj1nLnNpYmxpbmc7Zy5zaWJsaW5nPW51bGwsZz12fXdoaWxlKG51bGwhPT1nKX19Wm89dX19aWYoMjA2NCZ1LnN1YnRyZWVGbGFncyYmbnVsbCE9PW8pby5yZXR1cm49dSwKWm89bztlbHNlIGU6Zm9yKDtudWxsIT09Wm87KXtpZigyMDQ4Jih1PVpvKS5mbGFncylzd2l0Y2godS50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6dGkoOSx1LHUucmV0dXJuKX12YXIgeT11LnNpYmxpbmc7aWYobnVsbCE9PXkpe3kucmV0dXJuPXUucmV0dXJuLFpvPXk7YnJlYWsgZX1abz11LnJldHVybn19dmFyIGI9ZS5jdXJyZW50O2Zvcihabz1iO251bGwhPT1abzspe3ZhciBrPShvPVpvKS5jaGlsZDtpZigyMDY0Jm8uc3VidHJlZUZsYWdzJiZudWxsIT09aylrLnJldHVybj1vLFpvPWs7ZWxzZSBlOmZvcihvPWI7bnVsbCE9PVpvOyl7aWYoMjA0OCYoaT1abykuZmxhZ3MpdHJ5e3N3aXRjaChpLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpyaSg5LGkpfX1jYXRjaChlKXtFcyhpLGkucmV0dXJuLGUpfWlmKGk9PT1vKXtabz1udWxsO2JyZWFrIGV9dmFyIHc9aS5zaWJsaW5nO2lmKG51bGwhPT13KXt3LnJldHVybj1pLnJldHVybixabz13O2JyZWFrIGV9Wm89aS5yZXR1cm59fWlmKF9pPWwsV2woKSxhbiYmImZ1bmN0aW9uIj09dHlwZW9mIGFuLm9uUG9zdENvbW1pdEZpYmVyUm9vdCl0cnl7YW4ub25Qb3N0Q29tbWl0RmliZXJSb290KGxuLGUpfWNhdGNoKGUpe31yPSEwfXJldHVybiByfWZpbmFsbHl7a249dCxOaS50cmFuc2l0aW9uPW59fXJldHVybiExfWZ1bmN0aW9uIHhzKGUsbix0KXtlPVJhKGUsbj1tbygwLG49c28odCxuKSwxKSwxKSxuPWVzKCksbnVsbCE9PWUmJih5bihlLDEsbikscnMoZSxuKSl9ZnVuY3Rpb24gRXMoZSxuLHQpe2lmKDM9PT1lLnRhZyl4cyhlLGUsdCk7ZWxzZSBmb3IoO251bGwhPT1uOyl7aWYoMz09PW4udGFnKXt4cyhuLGUsdCk7YnJlYWt9aWYoMT09PW4udGFnKXt2YXIgcj1uLnN0YXRlTm9kZTtpZigiZnVuY3Rpb24iPT10eXBlb2Ygbi50eXBlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcnx8ImZ1bmN0aW9uIj09dHlwZW9mIHIuY29tcG9uZW50RGlkQ2F0Y2gmJihudWxsPT09JGl8fCEkaS5oYXMocikpKXtuPVJhKG4sZT1obyhuLGU9c28odCxlKSwxKSwxKSxlPWVzKCksbnVsbCE9PW4mJih5bihuLDEsZSkscnMobixlKSk7YnJlYWt9fW49bi5yZXR1cm59fWZ1bmN0aW9uIENzKGUsbix0KXt2YXIgcj1lLnBpbmdDYWNoZTtudWxsIT09ciYmci5kZWxldGUobiksbj1lcygpLGUucGluZ2VkTGFuZXN8PWUuc3VzcGVuZGVkTGFuZXMmdCxQaT09PWUmJihMaSZ0KT09PXQmJig0PT09Uml8fDM9PT1SaSYmKDEzMDAyMzQyNCZMaSk9PT1MaSYmNTAwPkdlKCktQmk/ZHMoZSwwKTpVaXw9dCkscnMoZSxuKX1mdW5jdGlvbiB6cyhlLG4pezA9PT1uJiYoMSZlLm1vZGU/KG49Zm4sISgxMzAwMjM0MjQmKGZuPDw9MSkpJiYoZm49NDE5NDMwNCkpOm49MSk7dmFyIHQ9ZXMoKTtudWxsIT09KGU9UGEoZSxuKSkmJih5bihlLG4sdCkscnMoZSx0KSl9ZnVuY3Rpb24gTnMoZSl7dmFyIG49ZS5tZW1vaXplZFN0YXRlLHQ9MDtudWxsIT09biYmKHQ9bi5yZXRyeUxhbmUpLHpzKGUsdCl9ZnVuY3Rpb24gX3MoZSxuKXt2YXIgdD0wO3N3aXRjaChlLnRhZyl7Y2FzZSAxMzp2YXIgcj1lLnN0YXRlTm9kZSxsPWUubWVtb2l6ZWRTdGF0ZTtudWxsIT09bCYmKHQ9bC5yZXRyeUxhbmUpO2JyZWFrO2Nhc2UgMTk6cj1lLnN0YXRlTm9kZTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKGEoMzE0KSl9bnVsbCE9PXImJnIuZGVsZXRlKG4pLHpzKGUsdCl9ZnVuY3Rpb24gUHMoZSxuKXtyZXR1cm4gcWUoZSxuKX1mdW5jdGlvbiBUcyhlLG4sdCxyKXt0aGlzLnRhZz1lLHRoaXMua2V5PXQsdGhpcy5zaWJsaW5nPXRoaXMuY2hpbGQ9dGhpcy5yZXR1cm49dGhpcy5zdGF0ZU5vZGU9dGhpcy50eXBlPXRoaXMuZWxlbWVudFR5cGU9bnVsbCx0aGlzLmluZGV4PTAsdGhpcy5yZWY9bnVsbCx0aGlzLnBlbmRpbmdQcm9wcz1uLHRoaXMuZGVwZW5kZW5jaWVzPXRoaXMubWVtb2l6ZWRTdGF0ZT10aGlzLnVwZGF0ZVF1ZXVlPXRoaXMubWVtb2l6ZWRQcm9wcz1udWxsLHRoaXMubW9kZT1yLHRoaXMuc3VidHJlZUZsYWdzPXRoaXMuZmxhZ3M9MCx0aGlzLmRlbGV0aW9ucz1udWxsLHRoaXMuY2hpbGRMYW5lcz10aGlzLmxhbmVzPTAsdGhpcy5hbHRlcm5hdGU9bnVsbH1mdW5jdGlvbiBMcyhlLG4sdCxyKXtyZXR1cm4gbmV3IFRzKGUsbix0LHIpfWZ1bmN0aW9uIE1zKGUpe3JldHVybiEoIShlPWUucHJvdG90eXBlKXx8IWUuaXNSZWFjdENvbXBvbmVudCl9ZnVuY3Rpb24gRnMoZSxuKXt2YXIgdD1lLmFsdGVybmF0ZTtyZXR1cm4gbnVsbD09PXQ/KCh0PUxzKGUudGFnLG4sZS5rZXksZS5tb2RlKSkuZWxlbWVudFR5cGU9ZS5lbGVtZW50VHlwZSx0LnR5cGU9ZS50eXBlLHQuc3RhdGVOb2RlPWUuc3RhdGVOb2RlLHQuYWx0ZXJuYXRlPWUsZS5hbHRlcm5hdGU9dCk6KHQucGVuZGluZ1Byb3BzPW4sdC50eXBlPWUudHlwZSx0LmZsYWdzPTAsdC5zdWJ0cmVlRmxhZ3M9MCx0LmRlbGV0aW9ucz1udWxsKSx0LmZsYWdzPTE0NjgwMDY0JmUuZmxhZ3MsdC5jaGlsZExhbmVzPWUuY2hpbGRMYW5lcyx0LmxhbmVzPWUubGFuZXMsdC5jaGlsZD1lLmNoaWxkLHQubWVtb2l6ZWRQcm9wcz1lLm1lbW9pemVkUHJvcHMsdC5tZW1vaXplZFN0YXRlPWUubWVtb2l6ZWRTdGF0ZSx0LnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsbj1lLmRlcGVuZGVuY2llcyx0LmRlcGVuZGVuY2llcz1udWxsPT09bj9udWxsOntsYW5lczpuLmxhbmVzLGZpcnN0Q29udGV4dDpuLmZpcnN0Q29udGV4dH0sdC5zaWJsaW5nPWUuc2libGluZyx0LmluZGV4PWUuaW5kZXgsdC5yZWY9ZS5yZWYsdH1mdW5jdGlvbiBScyhlLG4sdCxyLGwsdSl7dmFyIG89MjtpZihyPWUsImZ1bmN0aW9uIj09dHlwZW9mIGUpTXMoZSkmJihvPTEpO2Vsc2UgaWYoInN0cmluZyI9PXR5cGVvZiBlKW89NTtlbHNlIGU6c3dpdGNoKGUpe2Nhc2UgeDpyZXR1cm4gRHModC5jaGlsZHJlbixsLHUsbik7Y2FzZSBFOm89OCxsfD04O2JyZWFrO2Nhc2UgQzpyZXR1cm4oZT1McygxMix0LG4sMnxsKSkuZWxlbWVudFR5cGU9QyxlLmxhbmVzPXUsZTtjYXNlIFA6cmV0dXJuKGU9THMoMTMsdCxuLGwpKS5lbGVtZW50VHlwZT1QLGUubGFuZXM9dSxlO2Nhc2UgVDoKcmV0dXJuKGU9THMoMTksdCxuLGwpKS5lbGVtZW50VHlwZT1ULGUubGFuZXM9dSxlO2Nhc2UgRjpyZXR1cm4gSXModCxsLHUsbik7ZGVmYXVsdDppZigib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lKXN3aXRjaChlLiQkdHlwZW9mKXtjYXNlIHo6bz0xMDticmVhayBlO2Nhc2UgTjpvPTk7YnJlYWsgZTtjYXNlIF86bz0xMTticmVhayBlO2Nhc2UgTDpvPTE0O2JyZWFrIGU7Y2FzZSBNOm89MTYscj1udWxsO2JyZWFrIGV9dGhyb3cgRXJyb3IoYSgxMzAsbnVsbD09ZT9lOnR5cGVvZiBlLCIiKSl9cmV0dXJuKG49THMobyx0LG4sbCkpLmVsZW1lbnRUeXBlPWUsbi50eXBlPXIsbi5sYW5lcz11LG59ZnVuY3Rpb24gRHMoZSxuLHQscil7cmV0dXJuKGU9THMoNyxlLHIsbikpLmxhbmVzPXQsZX1mdW5jdGlvbiBJcyhlLG4sdCxyKXtyZXR1cm4oZT1McygyMixlLHIsbikpLmVsZW1lbnRUeXBlPUYsZS5sYW5lcz10LGUuc3RhdGVOb2RlPXtpc0hpZGRlbjohMX0sZX1mdW5jdGlvbiBPcyhlLG4sdCl7cmV0dXJuKGU9THMoNixlLG51bGwsbikpLmxhbmVzPXQsZX1mdW5jdGlvbiBVcyhlLG4sdCl7cmV0dXJuKG49THMoNCxudWxsIT09ZS5jaGlsZHJlbj9lLmNoaWxkcmVuOltdLGUua2V5LG4pKS5sYW5lcz10LG4uc3RhdGVOb2RlPXtjb250YWluZXJJbmZvOmUuY29udGFpbmVySW5mbyxwZW5kaW5nQ2hpbGRyZW46bnVsbCxpbXBsZW1lbnRhdGlvbjplLmltcGxlbWVudGF0aW9ufSxufWZ1bmN0aW9uIFZzKGUsbix0LHIsbCl7dGhpcy50YWc9bix0aGlzLmNvbnRhaW5lckluZm89ZSx0aGlzLmZpbmlzaGVkV29yaz10aGlzLnBpbmdDYWNoZT10aGlzLmN1cnJlbnQ9dGhpcy5wZW5kaW5nQ2hpbGRyZW49bnVsbCx0aGlzLnRpbWVvdXRIYW5kbGU9LTEsdGhpcy5jYWxsYmFja05vZGU9dGhpcy5wZW5kaW5nQ29udGV4dD10aGlzLmNvbnRleHQ9bnVsbCx0aGlzLmNhbGxiYWNrUHJpb3JpdHk9MCx0aGlzLmV2ZW50VGltZXM9dm4oMCksdGhpcy5leHBpcmF0aW9uVGltZXM9dm4oLTEpLHRoaXMuZW50YW5nbGVkTGFuZXM9dGhpcy5maW5pc2hlZExhbmVzPXRoaXMubXV0YWJsZVJlYWRMYW5lcz10aGlzLmV4cGlyZWRMYW5lcz10aGlzLnBpbmdlZExhbmVzPXRoaXMuc3VzcGVuZGVkTGFuZXM9dGhpcy5wZW5kaW5nTGFuZXM9MCx0aGlzLmVudGFuZ2xlbWVudHM9dm4oMCksdGhpcy5pZGVudGlmaWVyUHJlZml4PXIsdGhpcy5vblJlY292ZXJhYmxlRXJyb3I9bCx0aGlzLm11dGFibGVTb3VyY2VFYWdlckh5ZHJhdGlvbkRhdGE9bnVsbH1mdW5jdGlvbiBBcyhlLG4sdCxyLGwsYSx1LG8saSl7cmV0dXJuIGU9bmV3IFZzKGUsbix0LG8saSksMT09PW4/KG49MSwhMD09PWEmJihufD04KSk6bj0wLGE9THMoMyxudWxsLG51bGwsbiksZS5jdXJyZW50PWEsYS5zdGF0ZU5vZGU9ZSxhLm1lbW9pemVkU3RhdGU9e2VsZW1lbnQ6cixpc0RlaHlkcmF0ZWQ6dCxjYWNoZTpudWxsLHRyYW5zaXRpb25zOm51bGwscGVuZGluZ1N1c3BlbnNlQm91bmRhcmllczpudWxsfSxMYShhKSxlfWZ1bmN0aW9uIEJzKGUpe2lmKCFlKXJldHVybiBObDtlOntpZihXZShlPWUuX3JlYWN0SW50ZXJuYWxzKSE9PWV8fDEhPT1lLnRhZyl0aHJvdyBFcnJvcihhKDE3MCkpO3ZhciBuPWU7ZG97c3dpdGNoKG4udGFnKXtjYXNlIDM6bj1uLnN0YXRlTm9kZS5jb250ZXh0O2JyZWFrIGU7Y2FzZSAxOmlmKE1sKG4udHlwZSkpe249bi5zdGF0ZU5vZGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNZXJnZWRDaGlsZENvbnRleHQ7YnJlYWsgZX19bj1uLnJldHVybn13aGlsZShudWxsIT09bik7dGhyb3cgRXJyb3IoYSgxNzEpKX1pZigxPT09ZS50YWcpe3ZhciB0PWUudHlwZTtpZihNbCh0KSlyZXR1cm4gRGwoZSx0LG4pfXJldHVybiBufWZ1bmN0aW9uIFdzKGUsbix0LHIsbCxhLHUsbyxpKXtyZXR1cm4oZT1Bcyh0LHIsITAsZSwwLGEsMCxvLGkpKS5jb250ZXh0PUJzKG51bGwpLHQ9ZS5jdXJyZW50LChhPUZhKHI9ZXMoKSxsPW5zKHQpKSkuY2FsbGJhY2s9bnVsbCE9bj9uOm51bGwsUmEodCxhLGwpLGUuY3VycmVudC5sYW5lcz1sLHluKGUsbCxyKSxycyhlLHIpLGV9ZnVuY3Rpb24gSHMoZSxuLHQscil7dmFyIGw9bi5jdXJyZW50LGE9ZXMoKSx1PW5zKGwpO3JldHVybiB0PUJzKHQpLG51bGw9PT1uLmNvbnRleHQ/bi5jb250ZXh0PXQ6bi5wZW5kaW5nQ29udGV4dD10LChuPUZhKGEsdSkpLnBheWxvYWQ9e2VsZW1lbnQ6ZX0sbnVsbCE9PShyPXZvaWQgMD09PXI/bnVsbDpyKSYmKG4uY2FsbGJhY2s9ciksbnVsbCE9PShlPVJhKGwsbix1KSkmJih0cyhlLGwsdSxhKSxEYShlLGwsdSkpLHV9ZnVuY3Rpb24gUXMoZSl7cmV0dXJuKGU9ZS5jdXJyZW50KS5jaGlsZD8oZS5jaGlsZC50YWcsZS5jaGlsZC5zdGF0ZU5vZGUpOm51bGx9ZnVuY3Rpb24ganMoZSxuKXtpZihudWxsIT09KGU9ZS5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PWUuZGVoeWRyYXRlZCl7dmFyIHQ9ZS5yZXRyeUxhbmU7ZS5yZXRyeUxhbmU9MCE9PXQmJnQ8bj90Om59fWZ1bmN0aW9uICRzKGUsbil7anMoZSxuKSwoZT1lLmFsdGVybmF0ZSkmJmpzKGUsbil9eGk9ZnVuY3Rpb24oZSxuLHQpe2lmKG51bGwhPT1lKWlmKGUubWVtb2l6ZWRQcm9wcyE9PW4ucGVuZGluZ1Byb3BzfHxQbC5jdXJyZW50KWtvPSEwO2Vsc2V7aWYoIShlLmxhbmVzJnR8fDEyOCZuLmZsYWdzKSlyZXR1cm4ga289ITEsZnVuY3Rpb24oZSxuLHQpe3N3aXRjaChuLnRhZyl7Y2FzZSAzOlRvKG4pLHBhKCk7YnJlYWs7Y2FzZSA1OmF1KG4pO2JyZWFrO2Nhc2UgMTpNbChuLnR5cGUpJiZJbChuKTticmVhaztjYXNlIDQ6cnUobixuLnN0YXRlTm9kZS5jb250YWluZXJJbmZvKTticmVhaztjYXNlIDEwOnZhciByPW4udHlwZS5fY29udGV4dCxsPW4ubWVtb2l6ZWRQcm9wcy52YWx1ZTt6bCh2YSxyLl9jdXJyZW50VmFsdWUpLHIuX2N1cnJlbnRWYWx1ZT1sO2JyZWFrO2Nhc2UgMTM6aWYobnVsbCE9PShyPW4ubWVtb2l6ZWRTdGF0ZSkpcmV0dXJuIG51bGwhPT1yLmRlaHlkcmF0ZWQ/KHpsKG91LDEmb3UuY3VycmVudCksbi5mbGFnc3w9MTI4LG51bGwpOnQmbi5jaGlsZC5jaGlsZExhbmVzP09vKGUsbix0KTooemwob3UsMSZvdS5jdXJyZW50KSwKbnVsbCE9PShlPVFvKGUsbix0KSk/ZS5zaWJsaW5nOm51bGwpO3psKG91LDEmb3UuY3VycmVudCk7YnJlYWs7Y2FzZSAxOTppZihyPSEhKHQmbi5jaGlsZExhbmVzKSwxMjgmZS5mbGFncyl7aWYocilyZXR1cm4gV28oZSxuLHQpO24uZmxhZ3N8PTEyOH1pZihudWxsIT09KGw9bi5tZW1vaXplZFN0YXRlKSYmKGwucmVuZGVyaW5nPW51bGwsbC50YWlsPW51bGwsbC5sYXN0RWZmZWN0PW51bGwpLHpsKG91LG91LmN1cnJlbnQpLHIpYnJlYWs7cmV0dXJuIG51bGw7Y2FzZSAyMjpjYXNlIDIzOnJldHVybiBuLmxhbmVzPTAsQ28oZSxuLHQpfXJldHVybiBRbyhlLG4sdCl9KGUsbix0KTtrbz0hISgxMzEwNzImZS5mbGFncyl9ZWxzZSBrbz0hMSxsYSYmMTA0ODU3NiZuLmZsYWdzJiZKbChuLCRsLG4uaW5kZXgpO3N3aXRjaChuLmxhbmVzPTAsbi50YWcpe2Nhc2UgMjp2YXIgcj1uLnR5cGU7SG8oZSxuKSxlPW4ucGVuZGluZ1Byb3BzO3ZhciBsPUxsKG4sX2wuY3VycmVudCk7RWEobix0KSxsPXh1KG51bGwsbixyLGUsbCx0KTt2YXIgdT1FdSgpO3JldHVybiBuLmZsYWdzfD0xLCJvYmplY3QiPT10eXBlb2YgbCYmbnVsbCE9PWwmJiJmdW5jdGlvbiI9PXR5cGVvZiBsLnJlbmRlciYmdm9pZCAwPT09bC4kJHR5cGVvZj8obi50YWc9MSxuLm1lbW9pemVkU3RhdGU9bnVsbCxuLnVwZGF0ZVF1ZXVlPW51bGwsTWwocik/KHU9ITAsSWwobikpOnU9ITEsbi5tZW1vaXplZFN0YXRlPW51bGwhPT1sLnN0YXRlJiZ2b2lkIDAhPT1sLnN0YXRlP2wuc3RhdGU6bnVsbCxMYShuKSxsLnVwZGF0ZXI9QmEsbi5zdGF0ZU5vZGU9bCxsLl9yZWFjdEludGVybmFscz1uLGphKG4scixlLHQpLG49UG8obnVsbCxuLHIsITAsdSx0KSk6KG4udGFnPTAsbGEmJnUmJmVhKG4pLHdvKG51bGwsbixsLHQpLG49bi5jaGlsZCksbjtjYXNlIDE2OnI9bi5lbGVtZW50VHlwZTtlOntzd2l0Y2goSG8oZSxuKSxlPW4ucGVuZGluZ1Byb3BzLHI9KGw9ci5faW5pdCkoci5fcGF5bG9hZCksbi50eXBlPXIsbD1uLnRhZz1mdW5jdGlvbihlKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgZSlyZXR1cm4gTXMoZSk/MTowO2lmKG51bGwhPWUpe2lmKChlPWUuJCR0eXBlb2YpPT09XylyZXR1cm4gMTE7aWYoZT09PUwpcmV0dXJuIDE0fXJldHVybiAyfShyKSxlPWdhKHIsZSksbCl7Y2FzZSAwOm49Tm8obnVsbCxuLHIsZSx0KTticmVhayBlO2Nhc2UgMTpuPV9vKG51bGwsbixyLGUsdCk7YnJlYWsgZTtjYXNlIDExOm49U28obnVsbCxuLHIsZSx0KTticmVhayBlO2Nhc2UgMTQ6bj14byhudWxsLG4scixnYShyLnR5cGUsZSksdCk7YnJlYWsgZX10aHJvdyBFcnJvcihhKDMwNixyLCIiKSl9cmV0dXJuIG47Y2FzZSAwOnJldHVybiByPW4udHlwZSxsPW4ucGVuZGluZ1Byb3BzLE5vKGUsbixyLGw9bi5lbGVtZW50VHlwZT09PXI/bDpnYShyLGwpLHQpO2Nhc2UgMTpyZXR1cm4gcj1uLnR5cGUsbD1uLnBlbmRpbmdQcm9wcyxfbyhlLG4scixsPW4uZWxlbWVudFR5cGU9PT1yP2w6Z2EocixsKSx0KTtjYXNlIDM6ZTp7aWYoVG8obiksbnVsbD09PWUpdGhyb3cgRXJyb3IoYSgzODcpKTtyPW4ucGVuZGluZ1Byb3BzLGw9KHU9bi5tZW1vaXplZFN0YXRlKS5lbGVtZW50LE1hKGUsbiksT2EobixyLG51bGwsdCk7dmFyIG89bi5tZW1vaXplZFN0YXRlO2lmKHI9by5lbGVtZW50LHUuaXNEZWh5ZHJhdGVkKXtpZih1PXtlbGVtZW50OnIsaXNEZWh5ZHJhdGVkOiExLGNhY2hlOm8uY2FjaGUscGVuZGluZ1N1c3BlbnNlQm91bmRhcmllczpvLnBlbmRpbmdTdXNwZW5zZUJvdW5kYXJpZXMsdHJhbnNpdGlvbnM6by50cmFuc2l0aW9uc30sbi51cGRhdGVRdWV1ZS5iYXNlU3RhdGU9dSxuLm1lbW9pemVkU3RhdGU9dSwyNTYmbi5mbGFncyl7bj1MbyhlLG4scix0LGw9c28oRXJyb3IoYSg0MjMpKSxuKSk7YnJlYWsgZX1pZihyIT09bCl7bj1MbyhlLG4scix0LGw9c28oRXJyb3IoYSg0MjQpKSxuKSk7YnJlYWsgZX1mb3IocmE9c2wobi5zdGF0ZU5vZGUuY29udGFpbmVySW5mby5maXJzdENoaWxkKSx0YT1uLGxhPSEwLGFhPW51bGwsdD1HYShuLG51bGwscix0KSxuLmNoaWxkPXQ7dDspdC5mbGFncz0tMyZ0LmZsYWdzfDQwOTYsdD10LnNpYmxpbmd9ZWxzZXtpZihwYSgpLHI9PT1sKXtuPVFvKGUsbix0KTticmVhayBlfXdvKGUsbixyLHQpfW49bi5jaGlsZH1yZXR1cm4gbjtjYXNlIDU6cmV0dXJuIGF1KG4pLG51bGw9PT1lJiZzYShuKSxyPW4udHlwZSxsPW4ucGVuZGluZ1Byb3BzLHU9bnVsbCE9PWU/ZS5tZW1vaXplZFByb3BzOm51bGwsbz1sLmNoaWxkcmVuLHRsKHIsbCk/bz1udWxsOm51bGwhPT11JiZ0bChyLHUpJiYobi5mbGFnc3w9MzIpLHpvKGUsbiksd28oZSxuLG8sdCksbi5jaGlsZDtjYXNlIDY6cmV0dXJuIG51bGw9PT1lJiZzYShuKSxudWxsO2Nhc2UgMTM6cmV0dXJuIE9vKGUsbix0KTtjYXNlIDQ6cmV0dXJuIHJ1KG4sbi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbykscj1uLnBlbmRpbmdQcm9wcyxudWxsPT09ZT9uLmNoaWxkPVhhKG4sbnVsbCxyLHQpOndvKGUsbixyLHQpLG4uY2hpbGQ7Y2FzZSAxMTpyZXR1cm4gcj1uLnR5cGUsbD1uLnBlbmRpbmdQcm9wcyxTbyhlLG4scixsPW4uZWxlbWVudFR5cGU9PT1yP2w6Z2EocixsKSx0KTtjYXNlIDc6cmV0dXJuIHdvKGUsbixuLnBlbmRpbmdQcm9wcyx0KSxuLmNoaWxkO2Nhc2UgODpjYXNlIDEyOnJldHVybiB3byhlLG4sbi5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sdCksbi5jaGlsZDtjYXNlIDEwOmU6e2lmKHI9bi50eXBlLl9jb250ZXh0LGw9bi5wZW5kaW5nUHJvcHMsdT1uLm1lbW9pemVkUHJvcHMsbz1sLnZhbHVlLHpsKHZhLHIuX2N1cnJlbnRWYWx1ZSksci5fY3VycmVudFZhbHVlPW8sbnVsbCE9PXUpaWYob3IodS52YWx1ZSxvKSl7aWYodS5jaGlsZHJlbj09PWwuY2hpbGRyZW4mJiFQbC5jdXJyZW50KXtuPVFvKGUsbix0KTticmVhayBlfX1lbHNlIGZvcihudWxsIT09KHU9bi5jaGlsZCkmJih1LnJldHVybj1uKTtudWxsIT09dTspe3ZhciBpPXUuZGVwZW5kZW5jaWVzO2lmKG51bGwhPT1pKXtvPXUuY2hpbGQ7Zm9yKHZhciBzPWkuZmlyc3RDb250ZXh0O251bGwhPT1zOyl7aWYocy5jb250ZXh0PT09cil7CmlmKDE9PT11LnRhZyl7KHM9RmEoLTEsdCYtdCkpLnRhZz0yO3ZhciBjPXUudXBkYXRlUXVldWU7aWYobnVsbCE9PWMpe3ZhciBmPShjPWMuc2hhcmVkKS5wZW5kaW5nO251bGw9PT1mP3MubmV4dD1zOihzLm5leHQ9Zi5uZXh0LGYubmV4dD1zKSxjLnBlbmRpbmc9c319dS5sYW5lc3w9dCxudWxsIT09KHM9dS5hbHRlcm5hdGUpJiYocy5sYW5lc3w9dCkseGEodS5yZXR1cm4sdCxuKSxpLmxhbmVzfD10O2JyZWFrfXM9cy5uZXh0fX1lbHNlIGlmKDEwPT09dS50YWcpbz11LnR5cGU9PT1uLnR5cGU/bnVsbDp1LmNoaWxkO2Vsc2UgaWYoMTg9PT11LnRhZyl7aWYobnVsbD09PShvPXUucmV0dXJuKSl0aHJvdyBFcnJvcihhKDM0MSkpO28ubGFuZXN8PXQsbnVsbCE9PShpPW8uYWx0ZXJuYXRlKSYmKGkubGFuZXN8PXQpLHhhKG8sdCxuKSxvPXUuc2libGluZ31lbHNlIG89dS5jaGlsZDtpZihudWxsIT09bylvLnJldHVybj11O2Vsc2UgZm9yKG89dTtudWxsIT09bzspe2lmKG89PT1uKXtvPW51bGw7YnJlYWt9aWYobnVsbCE9PSh1PW8uc2libGluZykpe3UucmV0dXJuPW8ucmV0dXJuLG89dTticmVha31vPW8ucmV0dXJufXU9b313byhlLG4sbC5jaGlsZHJlbix0KSxuPW4uY2hpbGR9cmV0dXJuIG47Y2FzZSA5OnJldHVybiBsPW4udHlwZSxyPW4ucGVuZGluZ1Byb3BzLmNoaWxkcmVuLEVhKG4sdCkscj1yKGw9Q2EobCkpLG4uZmxhZ3N8PTEsd28oZSxuLHIsdCksbi5jaGlsZDtjYXNlIDE0OnJldHVybiBsPWdhKHI9bi50eXBlLG4ucGVuZGluZ1Byb3BzKSx4byhlLG4scixsPWdhKHIudHlwZSxsKSx0KTtjYXNlIDE1OnJldHVybiBFbyhlLG4sbi50eXBlLG4ucGVuZGluZ1Byb3BzLHQpO2Nhc2UgMTc6cmV0dXJuIHI9bi50eXBlLGw9bi5wZW5kaW5nUHJvcHMsbD1uLmVsZW1lbnRUeXBlPT09cj9sOmdhKHIsbCksSG8oZSxuKSxuLnRhZz0xLE1sKHIpPyhlPSEwLElsKG4pKTplPSExLEVhKG4sdCksSGEobixyLGwpLGphKG4scixsLHQpLFBvKG51bGwsbixyLCEwLGUsdCk7Y2FzZSAxOTpyZXR1cm4gV28oZSxuLHQpO2Nhc2UgMjI6cmV0dXJuIENvKGUsbix0KX10aHJvdyBFcnJvcihhKDE1NixuLnRhZykpfTt2YXIgcXM9ImZ1bmN0aW9uIj09dHlwZW9mIHJlcG9ydEVycm9yP3JlcG9ydEVycm9yOmZ1bmN0aW9uKGUpe2NvbnNvbGUuZXJyb3IoZSl9O2Z1bmN0aW9uIEtzKGUpe3RoaXMuX2ludGVybmFsUm9vdD1lfWZ1bmN0aW9uIFlzKGUpe3RoaXMuX2ludGVybmFsUm9vdD1lfWZ1bmN0aW9uIFhzKGUpe3JldHVybiEoIWV8fDEhPT1lLm5vZGVUeXBlJiY5IT09ZS5ub2RlVHlwZSYmMTEhPT1lLm5vZGVUeXBlKX1mdW5jdGlvbiBHcyhlKXtyZXR1cm4hKCFlfHwxIT09ZS5ub2RlVHlwZSYmOSE9PWUubm9kZVR5cGUmJjExIT09ZS5ub2RlVHlwZSYmKDghPT1lLm5vZGVUeXBlfHwiIHJlYWN0LW1vdW50LXBvaW50LXVuc3RhYmxlICIhPT1lLm5vZGVWYWx1ZSkpfWZ1bmN0aW9uIFpzKCl7fWZ1bmN0aW9uIEpzKGUsbix0LHIsbCl7dmFyIGE9dC5fcmVhY3RSb290Q29udGFpbmVyO2lmKGEpe3ZhciB1PWE7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGwpe3ZhciBvPWw7bD1mdW5jdGlvbigpe3ZhciBlPVFzKHUpO28uY2FsbChlKX19SHMobix1LGUsbCl9ZWxzZSB1PWZ1bmN0aW9uKGUsbix0LHIsbCl7aWYobCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpe3ZhciBhPXI7cj1mdW5jdGlvbigpe3ZhciBlPVFzKHUpO2EuY2FsbChlKX19dmFyIHU9V3MobixyLGUsMCxudWxsLCExLDAsIiIsWnMpO3JldHVybiBlLl9yZWFjdFJvb3RDb250YWluZXI9dSxlW21sXT11LmN1cnJlbnQsV3IoOD09PWUubm9kZVR5cGU/ZS5wYXJlbnROb2RlOmUpLGNzKCksdX1mb3IoO2w9ZS5sYXN0Q2hpbGQ7KWUucmVtb3ZlQ2hpbGQobCk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpe3ZhciBvPXI7cj1mdW5jdGlvbigpe3ZhciBlPVFzKGkpO28uY2FsbChlKX19dmFyIGk9QXMoZSwwLCExLG51bGwsMCwhMSwwLCIiLFpzKTtyZXR1cm4gZS5fcmVhY3RSb290Q29udGFpbmVyPWksZVttbF09aS5jdXJyZW50LFdyKDg9PT1lLm5vZGVUeXBlP2UucGFyZW50Tm9kZTplKSxjcygoZnVuY3Rpb24oKXtIcyhuLGksdCxyKX0pKSxpfSh0LG4sZSxsLHIpO3JldHVybiBRcyh1KX1Zcy5wcm90b3R5cGUucmVuZGVyPUtzLnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oZSl7dmFyIG49dGhpcy5faW50ZXJuYWxSb290O2lmKG51bGw9PT1uKXRocm93IEVycm9yKGEoNDA5KSk7SHMoZSxuLG51bGwsbnVsbCl9LFlzLnByb3RvdHlwZS51bm1vdW50PUtzLnByb3RvdHlwZS51bm1vdW50PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5faW50ZXJuYWxSb290O2lmKG51bGwhPT1lKXt0aGlzLl9pbnRlcm5hbFJvb3Q9bnVsbDt2YXIgbj1lLmNvbnRhaW5lckluZm87Y3MoKGZ1bmN0aW9uKCl7SHMobnVsbCxlLG51bGwsbnVsbCl9KSksblttbF09bnVsbH19LFlzLnByb3RvdHlwZS51bnN0YWJsZV9zY2hlZHVsZUh5ZHJhdGlvbj1mdW5jdGlvbihlKXtpZihlKXt2YXIgbj1DbigpO2U9e2Jsb2NrZWRPbjpudWxsLHRhcmdldDplLHByaW9yaXR5Om59O2Zvcih2YXIgdD0wO3Q8Um4ubGVuZ3RoJiYwIT09biYmbjxSblt0XS5wcmlvcml0eTt0KyspO1JuLnNwbGljZSh0LDAsZSksMD09PXQmJlVuKGUpfX0sU249ZnVuY3Rpb24oZSl7c3dpdGNoKGUudGFnKXtjYXNlIDM6dmFyIG49ZS5zdGF0ZU5vZGU7aWYobi5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXt2YXIgdD1kbihuLnBlbmRpbmdMYW5lcyk7MCE9PXQmJihibihuLDF8dCkscnMobixHZSgpKSwhKDYmX2kpJiYoV2k9R2UoKSs1MDAsV2woKSkpfWJyZWFrO2Nhc2UgMTM6Y3MoKGZ1bmN0aW9uKCl7dmFyIG49UGEoZSwxKTtpZihudWxsIT09bil7dmFyIHQ9ZXMoKTt0cyhuLGUsMSx0KX19KSksJHMoZSwxKX19LHhuPWZ1bmN0aW9uKGUpe2lmKDEzPT09ZS50YWcpe3ZhciBuPVBhKGUsMTM0MjE3NzI4KTtpZihudWxsIT09bil0cyhuLGUsMTM0MjE3NzI4LGVzKCkpOyRzKGUsMTM0MjE3NzI4KX19LEVuPWZ1bmN0aW9uKGUpe2lmKDEzPT09ZS50YWcpe3ZhciBuPW5zKGUpLHQ9UGEoZSxuKQo7aWYobnVsbCE9PXQpdHModCxlLG4sZXMoKSk7JHMoZSxuKX19LENuPWZ1bmN0aW9uKCl7cmV0dXJuIGtufSx6bj1mdW5jdGlvbihlLG4pe3ZhciB0PWtuO3RyeXtyZXR1cm4ga249ZSxuKCl9ZmluYWxseXtrbj10fX0sU2U9ZnVuY3Rpb24oZSxuLHQpe3N3aXRjaChuKXtjYXNlImlucHV0IjppZihaKGUsdCksbj10Lm5hbWUsInJhZGlvIj09PXQudHlwZSYmbnVsbCE9bil7Zm9yKHQ9ZTt0LnBhcmVudE5vZGU7KXQ9dC5wYXJlbnROb2RlO2Zvcih0PXQucXVlcnlTZWxlY3RvckFsbCgiaW5wdXRbbmFtZT0iK0pTT04uc3RyaW5naWZ5KCIiK24pKyddW3R5cGU9InJhZGlvIl0nKSxuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciByPXRbbl07aWYociE9PWUmJnIuZm9ybT09PWUuZm9ybSl7dmFyIGw9d2wocik7aWYoIWwpdGhyb3cgRXJyb3IoYSg5MCkpO3EociksWihyLGwpfX19YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6YWUoZSx0KTticmVhaztjYXNlInNlbGVjdCI6bnVsbCE9KG49dC52YWx1ZSkmJnRlKGUsISF0Lm11bHRpcGxlLG4sITEpfX0sX2U9c3MsUGU9Y3M7dmFyIGVjPXt1c2luZ0NsaWVudEVudHJ5UG9pbnQ6ITEsRXZlbnRzOltibCxrbCx3bCx6ZSxOZSxzc119LG5jPXtmaW5kRmliZXJCeUhvc3RJbnN0YW5jZTp5bCxidW5kbGVUeXBlOjAsdmVyc2lvbjoiMTguMi4wIixyZW5kZXJlclBhY2thZ2VOYW1lOiJyZWFjdC1kb20ifSx0Yz17YnVuZGxlVHlwZTpuYy5idW5kbGVUeXBlLHZlcnNpb246bmMudmVyc2lvbixyZW5kZXJlclBhY2thZ2VOYW1lOm5jLnJlbmRlcmVyUGFja2FnZU5hbWUscmVuZGVyZXJDb25maWc6bmMucmVuZGVyZXJDb25maWcsb3ZlcnJpZGVIb29rU3RhdGU6bnVsbCxvdmVycmlkZUhvb2tTdGF0ZURlbGV0ZVBhdGg6bnVsbCxvdmVycmlkZUhvb2tTdGF0ZVJlbmFtZVBhdGg6bnVsbCxvdmVycmlkZVByb3BzOm51bGwsb3ZlcnJpZGVQcm9wc0RlbGV0ZVBhdGg6bnVsbCxvdmVycmlkZVByb3BzUmVuYW1lUGF0aDpudWxsLHNldEVycm9ySGFuZGxlcjpudWxsLHNldFN1c3BlbnNlSGFuZGxlcjpudWxsLHNjaGVkdWxlVXBkYXRlOm51bGwsY3VycmVudERpc3BhdGNoZXJSZWY6ay5SZWFjdEN1cnJlbnREaXNwYXRjaGVyLGZpbmRIb3N0SW5zdGFuY2VCeUZpYmVyOmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT09KGU9amUoZSkpP251bGw6ZS5zdGF0ZU5vZGV9LGZpbmRGaWJlckJ5SG9zdEluc3RhbmNlOm5jLmZpbmRGaWJlckJ5SG9zdEluc3RhbmNlfHxmdW5jdGlvbigpe3JldHVybiBudWxsfSxmaW5kSG9zdEluc3RhbmNlc0ZvclJlZnJlc2g6bnVsbCxzY2hlZHVsZVJlZnJlc2g6bnVsbCxzY2hlZHVsZVJvb3Q6bnVsbCxzZXRSZWZyZXNoSGFuZGxlcjpudWxsLGdldEN1cnJlbnRGaWJlcjpudWxsLHJlY29uY2lsZXJWZXJzaW9uOiIxOC4yLjAtbmV4dC05ZTNiNzcyYjgtMjAyMjA2MDgifTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyl7dmFyIHJjPV9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXztpZighcmMuaXNEaXNhYmxlZCYmcmMuc3VwcG9ydHNGaWJlcil0cnl7bG49cmMuaW5qZWN0KHRjKSxhbj1yY31jYXRjaChjZSl7fX1uLl9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEPWVjLG4uY3JlYXRlUG9ydGFsPWZ1bmN0aW9uKGUsbil7dmFyIHQ9Mjxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOm51bGw7aWYoIVhzKG4pKXRocm93IEVycm9yKGEoMjAwKSk7cmV0dXJuIGZ1bmN0aW9uKGUsbix0KXt2YXIgcj0zPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1szXT9hcmd1bWVudHNbM106bnVsbDtyZXR1cm57JCR0eXBlb2Y6UyxrZXk6bnVsbD09cj9udWxsOiIiK3IsY2hpbGRyZW46ZSxjb250YWluZXJJbmZvOm4saW1wbGVtZW50YXRpb246dH19KGUsbixudWxsLHQpfSxuLmNyZWF0ZVJvb3Q9ZnVuY3Rpb24oZSxuKXtpZighWHMoZSkpdGhyb3cgRXJyb3IoYSgyOTkpKTt2YXIgdD0hMSxyPSIiLGw9cXM7cmV0dXJuIG51bGwhPW4mJighMD09PW4udW5zdGFibGVfc3RyaWN0TW9kZSYmKHQ9ITApLHZvaWQgMCE9PW4uaWRlbnRpZmllclByZWZpeCYmKHI9bi5pZGVudGlmaWVyUHJlZml4KSx2b2lkIDAhPT1uLm9uUmVjb3ZlcmFibGVFcnJvciYmKGw9bi5vblJlY292ZXJhYmxlRXJyb3IpKSxuPUFzKGUsMSwhMSxudWxsLDAsdCwwLHIsbCksZVttbF09bi5jdXJyZW50LFdyKDg9PT1lLm5vZGVUeXBlP2UucGFyZW50Tm9kZTplKSxuZXcgS3Mobil9LG4uZmluZERPTU5vZGU9ZnVuY3Rpb24oZSl7aWYobnVsbD09ZSlyZXR1cm4gbnVsbDtpZigxPT09ZS5ub2RlVHlwZSlyZXR1cm4gZTt2YXIgbj1lLl9yZWFjdEludGVybmFscztpZih2b2lkIDA9PT1uKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgZS5yZW5kZXIpdGhyb3cgRXJyb3IoYSgxODgpKTt0aHJvdyBlPU9iamVjdC5rZXlzKGUpLmpvaW4oIiwiKSxFcnJvcihhKDI2OCxlKSl9cmV0dXJuIGU9bnVsbD09PShlPWplKG4pKT9udWxsOmUuc3RhdGVOb2RlfSxuLmZsdXNoU3luYz1mdW5jdGlvbihlKXtyZXR1cm4gY3MoZSl9LG4uaHlkcmF0ZT1mdW5jdGlvbihlLG4sdCl7aWYoIUdzKG4pKXRocm93IEVycm9yKGEoMjAwKSk7cmV0dXJuIEpzKG51bGwsZSxuLCEwLHQpfSxuLmh5ZHJhdGVSb290PWZ1bmN0aW9uKGUsbix0KXtpZighWHMoZSkpdGhyb3cgRXJyb3IoYSg0MDUpKTt2YXIgcj1udWxsIT10JiZ0Lmh5ZHJhdGVkU291cmNlc3x8bnVsbCxsPSExLHU9IiIsbz1xcztpZihudWxsIT10JiYoITA9PT10LnVuc3RhYmxlX3N0cmljdE1vZGUmJihsPSEwKSx2b2lkIDAhPT10LmlkZW50aWZpZXJQcmVmaXgmJih1PXQuaWRlbnRpZmllclByZWZpeCksdm9pZCAwIT09dC5vblJlY292ZXJhYmxlRXJyb3ImJihvPXQub25SZWNvdmVyYWJsZUVycm9yKSksbj1XcyhuLG51bGwsZSwxLG51bGwhPXQ/dDpudWxsLGwsMCx1LG8pLGVbbWxdPW4uY3VycmVudCxXcihlKSxyKWZvcihlPTA7ZTxyLmxlbmd0aDtlKyspbD0obD0odD1yW2VdKS5fZ2V0VmVyc2lvbikodC5fc291cmNlKSwKbnVsbD09bi5tdXRhYmxlU291cmNlRWFnZXJIeWRyYXRpb25EYXRhP24ubXV0YWJsZVNvdXJjZUVhZ2VySHlkcmF0aW9uRGF0YT1bdCxsXTpuLm11dGFibGVTb3VyY2VFYWdlckh5ZHJhdGlvbkRhdGEucHVzaCh0LGwpO3JldHVybiBuZXcgWXMobil9LG4ucmVuZGVyPWZ1bmN0aW9uKGUsbix0KXtpZighR3MobikpdGhyb3cgRXJyb3IoYSgyMDApKTtyZXR1cm4gSnMobnVsbCxlLG4sITEsdCl9LG4udW5tb3VudENvbXBvbmVudEF0Tm9kZT1mdW5jdGlvbihlKXtpZighR3MoZSkpdGhyb3cgRXJyb3IoYSg0MCkpO3JldHVybiEhZS5fcmVhY3RSb290Q29udGFpbmVyJiYoY3MoKGZ1bmN0aW9uKCl7SnMobnVsbCxudWxsLGUsITEsKGZ1bmN0aW9uKCl7ZS5fcmVhY3RSb290Q29udGFpbmVyPW51bGwsZVttbF09bnVsbH0pKX0pKSwhMCl9LG4udW5zdGFibGVfYmF0Y2hlZFVwZGF0ZXM9c3Msbi51bnN0YWJsZV9yZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcj1mdW5jdGlvbihlLG4sdCxyKXtpZighR3ModCkpdGhyb3cgRXJyb3IoYSgyMDApKTtpZihudWxsPT1lfHx2b2lkIDA9PT1lLl9yZWFjdEludGVybmFscyl0aHJvdyBFcnJvcihhKDM4KSk7cmV0dXJuIEpzKGUsbix0LCExLHIpfSxuLnZlcnNpb249IjE4LjIuMC1uZXh0LTllM2I3NzJiOC0yMDIyMDYwOCJ9LDUwODIwNyhlLG4pe2Z1bmN0aW9uIHQoZSxuKXt2YXIgdD1lLmxlbmd0aDtlLnB1c2gobik7ZTpmb3IoOzA8dDspe3ZhciByPXQtMT4+PjEsbD1lW3JdO2lmKCEoMDxhKGwsbikpKWJyZWFrIGU7ZVtyXT1uLGVbdF09bCx0PXJ9fWZ1bmN0aW9uIHIoZSl7cmV0dXJuIDA9PT1lLmxlbmd0aD9udWxsOmVbMF19ZnVuY3Rpb24gbChlKXtpZigwPT09ZS5sZW5ndGgpcmV0dXJuIG51bGw7dmFyIG49ZVswXSx0PWUucG9wKCk7aWYodCE9PW4pe2VbMF09dDtlOmZvcih2YXIgcj0wLGw9ZS5sZW5ndGgsdT1sPj4+MTtyPHU7KXt2YXIgbz0yKihyKzEpLTEsaT1lW29dLHM9bysxLGM9ZVtzXTtpZigwPmEoaSx0KSlzPGwmJjA+YShjLGkpPyhlW3JdPWMsZVtzXT10LHI9cyk6KGVbcl09aSxlW29dPXQscj1vKTtlbHNle2lmKCEoczxsJiYwPmEoYyx0KSkpYnJlYWsgZTtlW3JdPWMsZVtzXT10LHI9c319fXJldHVybiBufWZ1bmN0aW9uIGEoZSxuKXt2YXIgdD1lLnNvcnRJbmRleC1uLnNvcnRJbmRleDtyZXR1cm4gMCE9PXQ/dDplLmlkLW4uaWR9aWYoIm9iamVjdCI9PXR5cGVvZiBwZXJmb3JtYW5jZSYmImZ1bmN0aW9uIj09dHlwZW9mIHBlcmZvcm1hbmNlLm5vdyl7dmFyIHU9cGVyZm9ybWFuY2U7bi51bnN0YWJsZV9ub3c9ZnVuY3Rpb24oKXtyZXR1cm4gdS5ub3coKX19ZWxzZXt2YXIgbz1EYXRlLGk9by5ub3coKTtuLnVuc3RhYmxlX25vdz1mdW5jdGlvbigpe3JldHVybiBvLm5vdygpLWl9fXZhciBzPVtdLGM9W10sZj0xLGQ9bnVsbCxwPTMsbT0hMSxoPSExLGc9ITEsdj0iZnVuY3Rpb24iPT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0Om51bGwseT0iZnVuY3Rpb24iPT10eXBlb2YgY2xlYXJUaW1lb3V0P2NsZWFyVGltZW91dDpudWxsLGI9InVuZGVmaW5lZCIhPXR5cGVvZiBzZXRJbW1lZGlhdGU/c2V0SW1tZWRpYXRlOm51bGw7ZnVuY3Rpb24gayhlKXtmb3IodmFyIG49cihjKTtudWxsIT09bjspe2lmKG51bGw9PT1uLmNhbGxiYWNrKWwoYyk7ZWxzZXtpZighKG4uc3RhcnRUaW1lPD1lKSlicmVhaztsKGMpLG4uc29ydEluZGV4PW4uZXhwaXJhdGlvblRpbWUsdChzLG4pfW49cihjKX19ZnVuY3Rpb24gdyhlKXtpZihnPSExLGsoZSksIWgpaWYobnVsbCE9PXIocykpaD0hMCxGKFMpO2Vsc2V7dmFyIG49cihjKTtudWxsIT09biYmUih3LG4uc3RhcnRUaW1lLWUpfX1mdW5jdGlvbiBTKGUsdCl7aD0hMSxnJiYoZz0hMSx5KHopLHo9LTEpLG09ITA7dmFyIGE9cDt0cnl7Zm9yKGsodCksZD1yKHMpO251bGwhPT1kJiYoIShkLmV4cGlyYXRpb25UaW1lPnQpfHxlJiYhUCgpKTspe3ZhciB1PWQuY2FsbGJhY2s7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHUpe2QuY2FsbGJhY2s9bnVsbCxwPWQucHJpb3JpdHlMZXZlbDt2YXIgbz11KGQuZXhwaXJhdGlvblRpbWU8PXQpO3Q9bi51bnN0YWJsZV9ub3coKSwiZnVuY3Rpb24iPT10eXBlb2Ygbz9kLmNhbGxiYWNrPW86ZD09PXIocykmJmwocyksayh0KX1lbHNlIGwocyk7ZD1yKHMpfWlmKG51bGwhPT1kKXZhciBpPSEwO2Vsc2V7dmFyIGY9cihjKTtudWxsIT09ZiYmUih3LGYuc3RhcnRUaW1lLXQpLGk9ITF9cmV0dXJuIGl9ZmluYWxseXtkPW51bGwscD1hLG09ITF9fSJ1bmRlZmluZWQiIT10eXBlb2YgbmF2aWdhdG9yJiZ2b2lkIDAhPT1uYXZpZ2F0b3Iuc2NoZWR1bGluZyYmdm9pZCAwIT09bmF2aWdhdG9yLnNjaGVkdWxpbmcuaXNJbnB1dFBlbmRpbmcmJm5hdmlnYXRvci5zY2hlZHVsaW5nLmlzSW5wdXRQZW5kaW5nLmJpbmQobmF2aWdhdG9yLnNjaGVkdWxpbmcpO3ZhciB4LEU9ITEsQz1udWxsLHo9LTEsTj01LF89LTE7ZnVuY3Rpb24gUCgpe3JldHVybiEobi51bnN0YWJsZV9ub3coKS1fPE4pfWZ1bmN0aW9uIFQoKXtpZihudWxsIT09Qyl7dmFyIGU9bi51bnN0YWJsZV9ub3coKTtfPWU7dmFyIHQ9ITA7dHJ5e3Q9QyghMCxlKX1maW5hbGx5e3Q/eCgpOihFPSExLEM9bnVsbCl9fWVsc2UgRT0hMX1pZigiZnVuY3Rpb24iPT10eXBlb2YgYil4PWZ1bmN0aW9uKCl7YihUKX07ZWxzZSBpZigidW5kZWZpbmVkIiE9dHlwZW9mIE1lc3NhZ2VDaGFubmVsKXt2YXIgTD1uZXcgTWVzc2FnZUNoYW5uZWwsTT1MLnBvcnQyO0wucG9ydDEub25tZXNzYWdlPVQseD1mdW5jdGlvbigpe00ucG9zdE1lc3NhZ2UobnVsbCl9fWVsc2UgeD1mdW5jdGlvbigpe3YoVCwwKX07ZnVuY3Rpb24gRihlKXtDPWUsRXx8KEU9ITAseCgpKX1mdW5jdGlvbiBSKGUsdCl7ej12KChmdW5jdGlvbigpe2Uobi51bnN0YWJsZV9ub3coKSl9KSx0KX1uLnVuc3RhYmxlX0lkbGVQcmlvcml0eT01LG4udW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHk9MSxuLnVuc3RhYmxlX0xvd1ByaW9yaXR5PTQsbi51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eT0zLG4udW5zdGFibGVfUHJvZmlsaW5nPW51bGwsbi51bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eT0yLApuLnVuc3RhYmxlX2NhbmNlbENhbGxiYWNrPWZ1bmN0aW9uKGUpe2UuY2FsbGJhY2s9bnVsbH0sbi51bnN0YWJsZV9jb250aW51ZUV4ZWN1dGlvbj1mdW5jdGlvbigpe2h8fG18fChoPSEwLEYoUykpfSxuLnVuc3RhYmxlX2ZvcmNlRnJhbWVSYXRlPWZ1bmN0aW9uKGUpezA+ZXx8MTI1PGU/Y29uc29sZS5lcnJvcigiZm9yY2VGcmFtZVJhdGUgdGFrZXMgYSBwb3NpdGl2ZSBpbnQgYmV0d2VlbiAwIGFuZCAxMjUsIGZvcmNpbmcgZnJhbWUgcmF0ZXMgaGlnaGVyIHRoYW4gMTI1IGZwcyBpcyBub3Qgc3VwcG9ydGVkIik6Tj0wPGU/TWF0aC5mbG9vcigxZTMvZSk6NX0sbi51bnN0YWJsZV9nZXRDdXJyZW50UHJpb3JpdHlMZXZlbD1mdW5jdGlvbigpe3JldHVybiBwfSxuLnVuc3RhYmxlX2dldEZpcnN0Q2FsbGJhY2tOb2RlPWZ1bmN0aW9uKCl7cmV0dXJuIHIocyl9LG4udW5zdGFibGVfbmV4dD1mdW5jdGlvbihlKXtzd2l0Y2gocCl7Y2FzZSAxOmNhc2UgMjpjYXNlIDM6dmFyIG49MzticmVhaztkZWZhdWx0Om49cH12YXIgdD1wO3A9bjt0cnl7cmV0dXJuIGUoKX1maW5hbGx5e3A9dH19LG4udW5zdGFibGVfcGF1c2VFeGVjdXRpb249ZnVuY3Rpb24oKXt9LG4udW5zdGFibGVfcmVxdWVzdFBhaW50PWZ1bmN0aW9uKCl7fSxuLnVuc3RhYmxlX3J1bldpdGhQcmlvcml0eT1mdW5jdGlvbihlLG4pe3N3aXRjaChlKXtjYXNlIDE6Y2FzZSAyOmNhc2UgMzpjYXNlIDQ6Y2FzZSA1OmJyZWFrO2RlZmF1bHQ6ZT0zfXZhciB0PXA7cD1lO3RyeXtyZXR1cm4gbigpfWZpbmFsbHl7cD10fX0sbi51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrPWZ1bmN0aW9uKGUsbCxhKXt2YXIgdT1uLnVuc3RhYmxlX25vdygpO3N3aXRjaCgib2JqZWN0Ij09dHlwZW9mIGEmJm51bGwhPT1hP2E9Im51bWJlciI9PXR5cGVvZihhPWEuZGVsYXkpJiYwPGE/dSthOnU6YT11LGUpe2Nhc2UgMTp2YXIgbz0tMTticmVhaztjYXNlIDI6bz0yNTA7YnJlYWs7Y2FzZSA1Om89MTA3Mzc0MTgyMzticmVhaztjYXNlIDQ6bz0xZTQ7YnJlYWs7ZGVmYXVsdDpvPTVlM31yZXR1cm4gZT17aWQ6ZisrLGNhbGxiYWNrOmwscHJpb3JpdHlMZXZlbDplLHN0YXJ0VGltZTphLGV4cGlyYXRpb25UaW1lOm89YStvLHNvcnRJbmRleDotMX0sYT51PyhlLnNvcnRJbmRleD1hLHQoYyxlKSxudWxsPT09cihzKSYmZT09PXIoYykmJihnPyh5KHopLHo9LTEpOmc9ITAsUih3LGEtdSkpKTooZS5zb3J0SW5kZXg9byx0KHMsZSksaHx8bXx8KGg9ITAsRihTKSkpLGV9LG4udW5zdGFibGVfc2hvdWxkWWllbGQ9UCxuLnVuc3RhYmxlX3dyYXBDYWxsYmFjaz1mdW5jdGlvbihlKXt2YXIgbj1wO3JldHVybiBmdW5jdGlvbigpe3ZhciB0PXA7cD1uO3RyeXtyZXR1cm4gZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZmluYWxseXtwPXR9fX19LDE4MjYxNChlLG4sdCl7ZS5leHBvcnRzPXQoNTA4MjA3KX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/translate_a/element.js?cb=googleTranslateElementInit","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.111Z","timestamp":1785120633111,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /translate_a/element.js?cb=googleTranslateElementInit HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: application/javascript; charset=utf-8\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-15ec0\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":89792,"size_decoded":36068,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (2087)","md5":"4f362ba5b8627a595656cfff7c482ce7","sha1":"8de84caaf8839a640fc14b3936894c9dd36b9202","sha256":"4770cf2f881e0e866823f003aa4e1ac103b7e1e530af0d3a6e54632f5ded259f","sha512":"a7d3694b1d7c4ee2e137a61908b15834554944899ba5732d67c51b114474cbbf05d341aa793c90907886d9af73466b6d2d0d4ea02660bf3388fae4ab533a7a7e","ssdeep":"1536:X2YyKkpPuHRhE8IfHFcVs8JZyclHX+6ZqWvVATf+iOwNWdz:XT08IaVrJZyNj+iaz","tlshash":"d6939688b6a270658263b5b5413f000bb27f599af84c4dacb288d8e16df494d427bf7d","first_seen":"2026-07-27T02:45:25.205471Z","last_seen":"2026-07-27T02:59:54.61917Z","times_seen":4,"resource_available":true,"data":"CiAgICAvLyBnby9tc3Mtc2V0dXAjNy1sb2FkLXRoZS1qcy1vci1jc3MtZnJvbS15b3VyLWluaXRpYWwtcGFnZQogICAgaWYoIXdpbmRvd1snX0R1bXBFeGNlcHRpb24nXSkgewogICAgICBjb25zdCBfRHVtcEV4Y2VwdGlvbiA9IHdpbmRvd1snX0R1bXBFeGNlcHRpb24nXSB8fCBmdW5jdGlvbihlKSB7CiAgICAgICAgdGhyb3cgZTsKICAgICAgfTsKICAgICAgd2luZG93WydfRHVtcEV4Y2VwdGlvbiddID0gX0R1bXBFeGNlcHRpb247CiAgICB9CiAgInVzZSBzdHJpY3QiO3RoaXMuZGVmYXVsdF90cj10aGlzLmRlZmF1bHRfdHJ8fHt9OyhmdW5jdGlvbihfKXt2YXIgd2luZG93PXRoaXM7CnRyeXsKXy5fRl90b2dnbGVzX2luaXRpYWxpemU9ZnVuY3Rpb24oYSl7KCJ1bmRlZmluZWQiIT09dHlwZW9mIGdsb2JhbFRoaXM/Z2xvYmFsVGhpczoidW5kZWZpbmVkIiE9PXR5cGVvZiBzZWxmP3NlbGY6dGhpcykuX0ZfdG9nZ2xlcz1hfHxbXX07KDAsXy5fRl90b2dnbGVzX2luaXRpYWxpemUpKFsweGMwLCBdKTsKLyoKCiBDb3B5cmlnaHQgVGhlIENsb3N1cmUgTGlicmFyeSBBdXRob3JzLgogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KLyoKCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwp2YXIgYmEsZWEsdmEseWEsRmEsS2EsTGEsT2EsUGEsUWEsVmEsWGEsZmIsZ2IsaGIsaWIsdyxqYixtYixvYixzYjtfLmFhPWZ1bmN0aW9uKGEsYil7aWYoRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UpRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcyxfLmFhKTtlbHNle3ZhciBjPUVycm9yKCkuc3RhY2s7YyYmKHRoaXMuc3RhY2s9Yyl9YSYmKHRoaXMubWVzc2FnZT1TdHJpbmcoYSkpO3ZvaWQgMCE9PWImJih0aGlzLmNhdXNlPWIpfTtiYT1mdW5jdGlvbihhKXtfLnQuc2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IGE7fSwwKX07Xy5jYT1mdW5jdGlvbihhKXthJiYiZnVuY3Rpb24iPT10eXBlb2YgYS5SJiZhLlIoKX07ZWE9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTAsYz1hcmd1bWVudHMubGVuZ3RoO2I8YzsrK2Ipe3ZhciBkPWFyZ3VtZW50c1tiXTtfLmRhKGQpP2VhLmFwcGx5KG51bGwsZCk6Xy5jYShkKX19O18uamE9ZnVuY3Rpb24oKXshXy5mYSYmXy5oYSYmXy5pYSgpO3JldHVybiBfLmZhfTsKXy5pYT1mdW5jdGlvbigpe18uZmE9KDAsXy5oYSkoKTtrYS5mb3JFYWNoKGZ1bmN0aW9uKGEpe2EoXy5mYSl9KTtrYT1bXX07Xy5tYT1mdW5jdGlvbihhKXtfLmZhJiZsYShhKX07Xy5vYT1mdW5jdGlvbigpe18uZmEmJm5hKF8uZmEpfTtfLnFhPWZ1bmN0aW9uKGEsYil7Yi5oYXNPd25Qcm9wZXJ0eSgiZGlzcGxheU5hbWUiKXx8KGIuZGlzcGxheU5hbWU9YSk7YltwYV09YX07Xy51PWZ1bmN0aW9uKGEsYil7cmV0dXJuIDA8PSgwLF8ucmEpKGEsYil9O18uc2E9ZnVuY3Rpb24oYSxiKXtfLnUoYSxiKXx8YS5wdXNoKGIpfTtfLnRhPWZ1bmN0aW9uKGEsYil7Yj0oMCxfLnJhKShhLGIpO3ZhciBjOyhjPTA8PWIpJiZBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwoYSxiLDEpO3JldHVybiBjfTtfLnVhPWZ1bmN0aW9uKGEpe3ZhciBiPWEubGVuZ3RoO2lmKDA8Yil7Zm9yKHZhciBjPUFycmF5KGIpLGQ9MDtkPGI7ZCsrKWNbZF09YVtkXTtyZXR1cm4gY31yZXR1cm5bXX07CnZhPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPTE7Yzxhcmd1bWVudHMubGVuZ3RoO2MrKyl7dmFyIGQ9YXJndW1lbnRzW2NdO2lmKF8uZGEoZCkpe3ZhciBlPWEubGVuZ3RofHwwLGY9ZC5sZW5ndGh8fDA7YS5sZW5ndGg9ZStmO2Zvcih2YXIgZz0wO2c8ZjtnKyspYVtlK2ddPWRbZ119ZWxzZSBhLnB1c2goZCl9fTt5YT1mdW5jdGlvbihhLGIpe2I9Ynx8YTtmb3IodmFyIGM9MCxkPTAsZT17fTtkPGEubGVuZ3RoOyl7dmFyIGY9YVtkKytdLGc9Xy53YShmKT8ibyIrXy54YShmKToodHlwZW9mIGYpLmNoYXJBdCgwKStmO09iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLGcpfHwoZVtnXT0hMCxiW2MrK109Zil9Yi5sZW5ndGg9Y307Xy56YT1mdW5jdGlvbigpe3ZhciBhPV8udC5uYXZpZ2F0b3I7cmV0dXJuIGEmJihhPWEudXNlckFnZW50KT9hOiIifTtfLnY9ZnVuY3Rpb24oYSl7cmV0dXJuLTEhPV8uemEoKS5pbmRleE9mKGEpfTsKXy5DYT1mdW5jdGlvbigpe3JldHVybiBfLkFhPyEhXy5CYSYmMDxfLkJhLmJyYW5kcy5sZW5ndGg6ITF9O18uRGE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5DYSgpPyExOl8udigiT3BlcmEiKX07Xy5FYT1mdW5jdGlvbigpe3JldHVybiBfLkNhKCk/ITE6Xy52KCJUcmlkZW50Iil8fF8udigiTVNJRSIpfTtGYT1mdW5jdGlvbigpe3JldHVybiBfLkFhPyEhXy5CYSYmISFfLkJhLnBsYXRmb3JtOiExfTtfLkdhPWZ1bmN0aW9uKCl7cmV0dXJuIF8udigiaVBob25lIikmJiFfLnYoImlQb2QiKSYmIV8udigiaVBhZCIpfTtfLklhPWZ1bmN0aW9uKCl7cmV0dXJuIF8uR2EoKXx8Xy52KCJpUGFkIil8fF8udigiaVBvZCIpfTtfLkphPWZ1bmN0aW9uKCl7cmV0dXJuIEZhKCk/Im1hY09TIj09PV8uQmEucGxhdGZvcm06Xy52KCJNYWNpbnRvc2giKX07S2E9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGMgaW4gYSlpZihiLmNhbGwodm9pZCAwLGFbY10sYyxhKSlyZXR1cm4hMDtyZXR1cm4hMX07CkxhPWZ1bmN0aW9uKGEpe3ZhciBiPVtdLGM9MCxkO2ZvcihkIGluIGEpYltjKytdPWFbZF07cmV0dXJuIGJ9O18uTWE9ZnVuY3Rpb24oYSl7dmFyIGI9W10sYz0wLGQ7Zm9yKGQgaW4gYSliW2MrK109ZDtyZXR1cm4gYn07T2E9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGMsZCxlPTE7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl7ZD1hcmd1bWVudHNbZV07Zm9yKGMgaW4gZClhW2NdPWRbY107Zm9yKHZhciBmPTA7ZjxOYS5sZW5ndGg7ZisrKWM9TmFbZl0sT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGQsYykmJihhW2NdPWRbY10pfX07UGE9ZnVuY3Rpb24oYSl7dmFyIGI9YXJndW1lbnRzLmxlbmd0aDtpZigxPT1iJiZBcnJheS5pc0FycmF5KGFyZ3VtZW50c1swXSkpcmV0dXJuIFBhLmFwcGx5KG51bGwsYXJndW1lbnRzWzBdKTtmb3IodmFyIGM9e30sZD0wO2Q8YjtkKyspY1thcmd1bWVudHNbZF1dPSEwO3JldHVybiBjfTtRYT1mdW5jdGlvbihhKXtyZXR1cm57dmFsdWVPZjphfS52YWx1ZU9mKCl9OwpfLlRhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uUmEoKTthPWI/Yi5jcmVhdGVTY3JpcHQoYSk6YTtiPW5ldyBTYTtiLm5nPWE7cmV0dXJuIGJ9O18uVWE9ZnVuY3Rpb24oYSl7aWYoYSBpbnN0YW5jZW9mIFNhKXJldHVybiBhLm5nO3Rocm93IEVycm9yKCJBIik7fTtWYT1mdW5jdGlvbigpe307WGE9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBfLldhKGZ1bmN0aW9uKGIpe3JldHVybiBiLnN1YnN0cigwLGEubGVuZ3RoKzEpLnRvTG93ZXJDYXNlKCk9PT1hKyI6In0pfTtfLiRhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uWWEuYXBwbHkoMSxhcmd1bWVudHMpO2lmKDA9PT1iLmxlbmd0aClyZXR1cm4gXy5aYShhWzBdKTtmb3IodmFyIGM9YVswXSxkPTA7ZDxiLmxlbmd0aDtkKyspYys9ZW5jb2RlVVJJQ29tcG9uZW50KGJbZF0pK2FbZCsxXTtyZXR1cm4gXy5aYShjKX07Cl8uYWI9ZnVuY3Rpb24oYSl7dmFyIGIsYztyZXR1cm4oYT1udWxsPT0oYz0oYj1hLmRvY3VtZW50KS5xdWVyeVNlbGVjdG9yKT92b2lkIDA6Yy5jYWxsKGIsInNjcmlwdFtub25jZV0iKSk/YS5ub25jZXx8YS5nZXRBdHRyaWJ1dGUoIm5vbmNlIil8fCIiOiIifTtfLmNiPWZ1bmN0aW9uKGEsYil7YS5zcmM9Xy5iYihiKTsoYj1fLmFiKGEub3duZXJEb2N1bWVudCYmYS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx3aW5kb3cpKSYmYS5zZXRBdHRyaWJ1dGUoIm5vbmNlIixiKX07Xy5lYj1mdW5jdGlvbihhKXthPV8uZGIoYSk7cmV0dXJuIF8uWmEoYSl9O18uZGI9ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PT1hPyJudWxsIjp2b2lkIDA9PT1hPyJ1bmRlZmluZWQiOmF9O2ZiPWZ1bmN0aW9uKGEpe3ZhciBiPTA7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGI8YS5sZW5ndGg/e2RvbmU6ITEsdmFsdWU6YVtiKytdfTp7ZG9uZTohMH19fTsKZ2I9ImZ1bmN0aW9uIj09dHlwZW9mIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzP09iamVjdC5kZWZpbmVQcm9wZXJ0eTpmdW5jdGlvbihhLGIsYyl7aWYoYT09QXJyYXkucHJvdG90eXBlfHxhPT1PYmplY3QucHJvdG90eXBlKXJldHVybiBhO2FbYl09Yy52YWx1ZTtyZXR1cm4gYX07aGI9ZnVuY3Rpb24oYSl7YT1bIm9iamVjdCI9PXR5cGVvZiBnbG9iYWxUaGlzJiZnbG9iYWxUaGlzLGEsIm9iamVjdCI9PXR5cGVvZiB3aW5kb3cmJndpbmRvdywib2JqZWN0Ij09dHlwZW9mIHNlbGYmJnNlbGYsIm9iamVjdCI9PXR5cGVvZiBnbG9iYWwmJmdsb2JhbF07Zm9yKHZhciBiPTA7YjxhLmxlbmd0aDsrK2Ipe3ZhciBjPWFbYl07aWYoYyYmYy5NYXRoPT1NYXRoKXJldHVybiBjfXRocm93IEVycm9yKCJhIik7fTtpYj1oYih0aGlzKTsKdz1mdW5jdGlvbihhLGIpe2lmKGIpYTp7dmFyIGM9aWI7YT1hLnNwbGl0KCIuIik7Zm9yKHZhciBkPTA7ZDxhLmxlbmd0aC0xO2QrKyl7dmFyIGU9YVtkXTtpZighKGUgaW4gYykpYnJlYWsgYTtjPWNbZV19YT1hW2EubGVuZ3RoLTFdO2Q9Y1thXTtiPWIoZCk7YiE9ZCYmbnVsbCE9YiYmZ2IoYyxhLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfX07CncoIlN5bWJvbCIsZnVuY3Rpb24oYSl7aWYoYSlyZXR1cm4gYTt2YXIgYj1mdW5jdGlvbihmLGcpe3RoaXMuZz1mO2diKHRoaXMsImRlc2NyaXB0aW9uIix7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmd9KX07Yi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nfTt2YXIgYz0ianNjb21wX3N5bWJvbF8iKygxRTkqTWF0aC5yYW5kb20oKT4+PjApKyJfIixkPTAsZT1mdW5jdGlvbihmKXtpZih0aGlzIGluc3RhbmNlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJiIik7cmV0dXJuIG5ldyBiKGMrKGZ8fCIiKSsiXyIrZCsrLGYpfTtyZXR1cm4gZX0pOwp3KCJTeW1ib2wuaXRlcmF0b3IiLGZ1bmN0aW9uKGEpe2lmKGEpcmV0dXJuIGE7YT1TeW1ib2woImMiKTtmb3IodmFyIGI9IkFycmF5IEludDhBcnJheSBVaW50OEFycmF5IFVpbnQ4Q2xhbXBlZEFycmF5IEludDE2QXJyYXkgVWludDE2QXJyYXkgSW50MzJBcnJheSBVaW50MzJBcnJheSBGbG9hdDMyQXJyYXkgRmxvYXQ2NEFycmF5Ii5zcGxpdCgiICIpLGM9MDtjPGIubGVuZ3RoO2MrKyl7dmFyIGQ9aWJbYltjXV07ImZ1bmN0aW9uIj09PXR5cGVvZiBkJiYiZnVuY3Rpb24iIT10eXBlb2YgZC5wcm90b3R5cGVbYV0mJmdiKGQucHJvdG90eXBlLGEse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBqYihmYih0aGlzKSl9fSl9cmV0dXJuIGF9KTtqYj1mdW5jdGlvbihhKXthPXtuZXh0OmF9O2FbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfTtyZXR1cm4gYX07Xy5rYj1mdW5jdGlvbihhKXtyZXR1cm4gYS5yYXc9YX07Cl8ueT1mdW5jdGlvbihhKXt2YXIgYj0idW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLml0ZXJhdG9yJiZhW1N5bWJvbC5pdGVyYXRvcl07aWYoYilyZXR1cm4gYi5jYWxsKGEpO2lmKCJudW1iZXIiPT10eXBlb2YgYS5sZW5ndGgpcmV0dXJue25leHQ6ZmIoYSl9O3Rocm93IEVycm9yKCJkYCIrU3RyaW5nKGEpKTt9O18ubGI9ZnVuY3Rpb24oYSl7aWYoIShhIGluc3RhbmNlb2YgQXJyYXkpKXthPV8ueShhKTtmb3IodmFyIGIsYz1bXTshKGI9YS5uZXh0KCkpLmRvbmU7KWMucHVzaChiLnZhbHVlKTthPWN9cmV0dXJuIGF9O21iPSJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuY3JlYXRlP09iamVjdC5jcmVhdGU6ZnVuY3Rpb24oYSl7dmFyIGI9ZnVuY3Rpb24oKXt9O2IucHJvdG90eXBlPWE7cmV0dXJuIG5ldyBifTsKXy5uYj1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoKXtmdW5jdGlvbiBjKCl7fW5ldyBjO1JlZmxlY3QuY29uc3RydWN0KGMsW10sZnVuY3Rpb24oKXt9KTtyZXR1cm4gbmV3IGMgaW5zdGFuY2VvZiBjfWlmKCJ1bmRlZmluZWQiIT10eXBlb2YgUmVmbGVjdCYmUmVmbGVjdC5jb25zdHJ1Y3Qpe2lmKGEoKSlyZXR1cm4gUmVmbGVjdC5jb25zdHJ1Y3Q7dmFyIGI9UmVmbGVjdC5jb25zdHJ1Y3Q7cmV0dXJuIGZ1bmN0aW9uKGMsZCxlKXtjPWIoYyxkKTtlJiZSZWZsZWN0LnNldFByb3RvdHlwZU9mKGMsZS5wcm90b3R5cGUpO3JldHVybiBjfX1yZXR1cm4gZnVuY3Rpb24oYyxkLGUpe3ZvaWQgMD09PWUmJihlPWMpO2U9bWIoZS5wcm90b3R5cGV8fE9iamVjdC5wcm90b3R5cGUpO3JldHVybiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkuY2FsbChjLGUsZCl8fGV9fSgpOwppZigiZnVuY3Rpb24iPT10eXBlb2YgT2JqZWN0LnNldFByb3RvdHlwZU9mKW9iPU9iamVjdC5zZXRQcm90b3R5cGVPZjtlbHNle3ZhciBwYjthOnt2YXIgcWI9e2E6ITB9LHJiPXt9O3RyeXtyYi5fX3Byb3RvX189cWI7cGI9cmIuYTticmVhayBhfWNhdGNoKGEpe31wYj0hMX1vYj1wYj9mdW5jdGlvbihhLGIpe2EuX19wcm90b19fPWI7aWYoYS5fX3Byb3RvX18hPT1iKXRocm93IG5ldyBUeXBlRXJyb3IoImVgIithKTtyZXR1cm4gYX06bnVsbH1zYj1vYjsKXy56PWZ1bmN0aW9uKGEsYil7YS5wcm90b3R5cGU9bWIoYi5wcm90b3R5cGUpO2EucHJvdG90eXBlLmNvbnN0cnVjdG9yPWE7aWYoc2Ipc2IoYSxiKTtlbHNlIGZvcih2YXIgYyBpbiBiKWlmKCJwcm90b3R5cGUiIT1jKWlmKE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKXt2YXIgZD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGIsYyk7ZCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsYyxkKX1lbHNlIGFbY109YltjXTthLk89Yi5wcm90b3R5cGV9O18uWWE9ZnVuY3Rpb24oKXtmb3IodmFyIGE9TnVtYmVyKHRoaXMpLGI9W10sYz1hO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspYltjLWFdPWFyZ3VtZW50c1tjXTtyZXR1cm4gYn07dygiUmVmbGVjdCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTp7fX0pO3coIlJlZmxlY3QuY29uc3RydWN0IixmdW5jdGlvbigpe3JldHVybiBfLm5ifSk7CncoIlJlZmxlY3Quc2V0UHJvdG90eXBlT2YiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6c2I/ZnVuY3Rpb24oYixjKXt0cnl7cmV0dXJuIHNiKGIsYyksITB9Y2F0Y2goZCl7cmV0dXJuITF9fTpudWxsfSk7CncoIlByb21pc2UiLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoKXt0aGlzLmc9bnVsbH1mdW5jdGlvbiBjKGcpe3JldHVybiBnIGluc3RhbmNlb2YgZT9nOm5ldyBlKGZ1bmN0aW9uKGgpe2goZyl9KX1pZihhKXJldHVybiBhO2IucHJvdG90eXBlLmg9ZnVuY3Rpb24oZyl7aWYobnVsbD09dGhpcy5nKXt0aGlzLmc9W107dmFyIGg9dGhpczt0aGlzLmooZnVuY3Rpb24oKXtoLm8oKX0pfXRoaXMuZy5wdXNoKGcpfTt2YXIgZD1pYi5zZXRUaW1lb3V0O2IucHJvdG90eXBlLmo9ZnVuY3Rpb24oZyl7ZChnLDApfTtiLnByb3RvdHlwZS5vPWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLmcmJnRoaXMuZy5sZW5ndGg7KXt2YXIgZz10aGlzLmc7dGhpcy5nPVtdO2Zvcih2YXIgaD0wO2g8Zy5sZW5ndGg7KytoKXt2YXIgbD1nW2hdO2dbaF09bnVsbDt0cnl7bCgpfWNhdGNoKG0pe3RoaXMubChtKX19fXRoaXMuZz1udWxsfTtiLnByb3RvdHlwZS5sPWZ1bmN0aW9uKGcpe3RoaXMuaihmdW5jdGlvbigpe3Rocm93IGc7Cn0pfTt2YXIgZT1mdW5jdGlvbihnKXt0aGlzLmc9MDt0aGlzLmo9dm9pZCAwO3RoaXMuaD1bXTt0aGlzLkE9ITE7dmFyIGg9dGhpcy5sKCk7dHJ5e2coaC5yZXNvbHZlLGgucmVqZWN0KX1jYXRjaChsKXtoLnJlamVjdChsKX19O2UucHJvdG90eXBlLmw9ZnVuY3Rpb24oKXtmdW5jdGlvbiBnKG0pe3JldHVybiBmdW5jdGlvbihuKXtsfHwobD0hMCxtLmNhbGwoaCxuKSl9fXZhciBoPXRoaXMsbD0hMTtyZXR1cm57cmVzb2x2ZTpnKHRoaXMuSykscmVqZWN0OmcodGhpcy5vKX19O2UucHJvdG90eXBlLks9ZnVuY3Rpb24oZyl7aWYoZz09PXRoaXMpdGhpcy5vKG5ldyBUeXBlRXJyb3IoImgiKSk7ZWxzZSBpZihnIGluc3RhbmNlb2YgZSl0aGlzLk0oZyk7ZWxzZXthOnN3aXRjaCh0eXBlb2YgZyl7Y2FzZSAib2JqZWN0Ijp2YXIgaD1udWxsIT1nO2JyZWFrIGE7Y2FzZSAiZnVuY3Rpb24iOmg9ITA7YnJlYWsgYTtkZWZhdWx0Omg9ITF9aD90aGlzLkcoZyk6dGhpcy5zKGcpfX07ZS5wcm90b3R5cGUuRz0KZnVuY3Rpb24oZyl7dmFyIGg9dm9pZCAwO3RyeXtoPWcudGhlbn1jYXRjaChsKXt0aGlzLm8obCk7cmV0dXJufSJmdW5jdGlvbiI9PXR5cGVvZiBoP3RoaXMuYmEoaCxnKTp0aGlzLnMoZyl9O2UucHJvdG90eXBlLm89ZnVuY3Rpb24oZyl7dGhpcy5CKDIsZyl9O2UucHJvdG90eXBlLnM9ZnVuY3Rpb24oZyl7dGhpcy5CKDEsZyl9O2UucHJvdG90eXBlLkI9ZnVuY3Rpb24oZyxoKXtpZigwIT10aGlzLmcpdGhyb3cgRXJyb3IoImlgIitnKyJgIitoKyJgIit0aGlzLmcpO3RoaXMuZz1nO3RoaXMuaj1oOzI9PT10aGlzLmcmJnRoaXMuSCgpO3RoaXMuRigpfTtlLnByb3RvdHlwZS5IPWZ1bmN0aW9uKCl7dmFyIGc9dGhpcztkKGZ1bmN0aW9uKCl7aWYoZy5EKCkpe3ZhciBoPWliLmNvbnNvbGU7InVuZGVmaW5lZCIhPT10eXBlb2YgaCYmaC5lcnJvcihnLmopfX0sMSl9O2UucHJvdG90eXBlLkQ9ZnVuY3Rpb24oKXtpZih0aGlzLkEpcmV0dXJuITE7dmFyIGc9aWIuQ3VzdG9tRXZlbnQsaD1pYi5FdmVudCwKbD1pYi5kaXNwYXRjaEV2ZW50O2lmKCJ1bmRlZmluZWQiPT09dHlwZW9mIGwpcmV0dXJuITA7ImZ1bmN0aW9uIj09PXR5cGVvZiBnP2c9bmV3IGcoInVuaGFuZGxlZHJlamVjdGlvbiIse2NhbmNlbGFibGU6ITB9KToiZnVuY3Rpb24iPT09dHlwZW9mIGg/Zz1uZXcgaCgidW5oYW5kbGVkcmVqZWN0aW9uIix7Y2FuY2VsYWJsZTohMH0pOihnPWliLmRvY3VtZW50LmNyZWF0ZUV2ZW50KCJDdXN0b21FdmVudCIpLGcuaW5pdEN1c3RvbUV2ZW50KCJ1bmhhbmRsZWRyZWplY3Rpb24iLCExLCEwLGcpKTtnLnByb21pc2U9dGhpcztnLnJlYXNvbj10aGlzLmo7cmV0dXJuIGwoZyl9O2UucHJvdG90eXBlLkY9ZnVuY3Rpb24oKXtpZihudWxsIT10aGlzLmgpe2Zvcih2YXIgZz0wO2c8dGhpcy5oLmxlbmd0aDsrK2cpZi5oKHRoaXMuaFtnXSk7dGhpcy5oPW51bGx9fTt2YXIgZj1uZXcgYjtlLnByb3RvdHlwZS5NPWZ1bmN0aW9uKGcpe3ZhciBoPXRoaXMubCgpO2cuTGMoaC5yZXNvbHZlLGgucmVqZWN0KX07CmUucHJvdG90eXBlLmJhPWZ1bmN0aW9uKGcsaCl7dmFyIGw9dGhpcy5sKCk7dHJ5e2cuY2FsbChoLGwucmVzb2x2ZSxsLnJlamVjdCl9Y2F0Y2gobSl7bC5yZWplY3QobSl9fTtlLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGcsaCl7ZnVuY3Rpb24gbChyLHApe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiByP2Z1bmN0aW9uKHgpe3RyeXttKHIoeCkpfWNhdGNoKEMpe24oQyl9fTpwfXZhciBtLG4scT1uZXcgZShmdW5jdGlvbihyLHApe209cjtuPXB9KTt0aGlzLkxjKGwoZyxtKSxsKGgsbikpO3JldHVybiBxfTtlLnByb3RvdHlwZS5jYXRjaD1mdW5jdGlvbihnKXtyZXR1cm4gdGhpcy50aGVuKHZvaWQgMCxnKX07ZS5wcm90b3R5cGUuTGM9ZnVuY3Rpb24oZyxoKXtmdW5jdGlvbiBsKCl7c3dpdGNoKG0uZyl7Y2FzZSAxOmcobS5qKTticmVhaztjYXNlIDI6aChtLmopO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoImpgIittLmcpO319dmFyIG09dGhpcztudWxsPT10aGlzLmg/Zi5oKGwpOgp0aGlzLmgucHVzaChsKTt0aGlzLkE9ITB9O2UucmVzb2x2ZT1jO2UucmVqZWN0PWZ1bmN0aW9uKGcpe3JldHVybiBuZXcgZShmdW5jdGlvbihoLGwpe2woZyl9KX07ZS5yYWNlPWZ1bmN0aW9uKGcpe3JldHVybiBuZXcgZShmdW5jdGlvbihoLGwpe2Zvcih2YXIgbT1fLnkoZyksbj1tLm5leHQoKTshbi5kb25lO249bS5uZXh0KCkpYyhuLnZhbHVlKS5MYyhoLGwpfSl9O2UuYWxsPWZ1bmN0aW9uKGcpe3ZhciBoPV8ueShnKSxsPWgubmV4dCgpO3JldHVybiBsLmRvbmU/YyhbXSk6bmV3IGUoZnVuY3Rpb24obSxuKXtmdW5jdGlvbiBxKHgpe3JldHVybiBmdW5jdGlvbihDKXtyW3hdPUM7cC0tOzA9PXAmJm0ocil9fXZhciByPVtdLHA9MDtkbyByLnB1c2godm9pZCAwKSxwKyssYyhsLnZhbHVlKS5MYyhxKHIubGVuZ3RoLTEpLG4pLGw9aC5uZXh0KCk7d2hpbGUoIWwuZG9uZSl9KX07cmV0dXJuIGV9KTsKdmFyIHRiPWZ1bmN0aW9uKGEsYixjKXtpZihudWxsPT1hKXRocm93IG5ldyBUeXBlRXJyb3IoImtgIitjKTtpZihiIGluc3RhbmNlb2YgUmVnRXhwKXRocm93IG5ldyBUeXBlRXJyb3IoImxgIitjKTtyZXR1cm4gYSsiIn07dygiU3RyaW5nLnByb3RvdHlwZS5zdGFydHNXaXRoIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIsYyl7dmFyIGQ9dGIodGhpcyxiLCJzdGFydHNXaXRoIiksZT1kLmxlbmd0aCxmPWIubGVuZ3RoO2M9TWF0aC5tYXgoMCxNYXRoLm1pbihjfDAsZC5sZW5ndGgpKTtmb3IodmFyIGc9MDtnPGYmJmM8ZTspaWYoZFtjKytdIT1iW2crK10pcmV0dXJuITE7cmV0dXJuIGc+PWZ9fSk7dmFyIHViPWZ1bmN0aW9uKGEsYil7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhLGIpfTsKdygiV2Vha01hcCIsZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe31mdW5jdGlvbiBjKGwpe3ZhciBtPXR5cGVvZiBsO3JldHVybiJvYmplY3QiPT09bSYmbnVsbCE9PWx8fCJmdW5jdGlvbiI9PT1tfWZ1bmN0aW9uIGQobCl7aWYoIXViKGwsZikpe3ZhciBtPW5ldyBiO2diKGwsZix7dmFsdWU6bX0pfX1mdW5jdGlvbiBlKGwpe3ZhciBtPU9iamVjdFtsXTttJiYoT2JqZWN0W2xdPWZ1bmN0aW9uKG4pe2lmKG4gaW5zdGFuY2VvZiBiKXJldHVybiBuO09iamVjdC5pc0V4dGVuc2libGUobikmJmQobik7cmV0dXJuIG0obil9KX1pZihmdW5jdGlvbigpe2lmKCFhfHwhT2JqZWN0LnNlYWwpcmV0dXJuITE7dHJ5e3ZhciBsPU9iamVjdC5zZWFsKHt9KSxtPU9iamVjdC5zZWFsKHt9KSxuPW5ldyBhKFtbbCwyXSxbbSwzXV0pO2lmKDIhPW4uZ2V0KGwpfHwzIT1uLmdldChtKSlyZXR1cm4hMTtuLmRlbGV0ZShsKTtuLnNldChtLDQpO3JldHVybiFuLmhhcyhsKSYmND09bi5nZXQobSl9Y2F0Y2gocSl7cmV0dXJuITF9fSgpKXJldHVybiBhOwp2YXIgZj0iJGpzY29tcF9oaWRkZW5fIitNYXRoLnJhbmRvbSgpO2UoImZyZWV6ZSIpO2UoInByZXZlbnRFeHRlbnNpb25zIik7ZSgic2VhbCIpO3ZhciBnPTAsaD1mdW5jdGlvbihsKXt0aGlzLmc9KGcrPU1hdGgucmFuZG9tKCkrMSkudG9TdHJpbmcoKTtpZihsKXtsPV8ueShsKTtmb3IodmFyIG07IShtPWwubmV4dCgpKS5kb25lOyltPW0udmFsdWUsdGhpcy5zZXQobVswXSxtWzFdKX19O2gucHJvdG90eXBlLnNldD1mdW5jdGlvbihsLG0pe2lmKCFjKGwpKXRocm93IEVycm9yKCJtIik7ZChsKTtpZighdWIobCxmKSl0aHJvdyBFcnJvcigibmAiK2wpO2xbZl1bdGhpcy5nXT1tO3JldHVybiB0aGlzfTtoLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24obCl7cmV0dXJuIGMobCkmJnViKGwsZik/bFtmXVt0aGlzLmddOnZvaWQgMH07aC5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGwpe3JldHVybiBjKGwpJiZ1YihsLGYpJiZ1YihsW2ZdLHRoaXMuZyl9O2gucHJvdG90eXBlLmRlbGV0ZT1mdW5jdGlvbihsKXtyZXR1cm4gYyhsKSYmCnViKGwsZikmJnViKGxbZl0sdGhpcy5nKT9kZWxldGUgbFtmXVt0aGlzLmddOiExfTtyZXR1cm4gaH0pOwp3KCJNYXAiLGZ1bmN0aW9uKGEpe2lmKGZ1bmN0aW9uKCl7aWYoIWF8fCJmdW5jdGlvbiIhPXR5cGVvZiBhfHwhYS5wcm90b3R5cGUuZW50cmllc3x8ImZ1bmN0aW9uIiE9dHlwZW9mIE9iamVjdC5zZWFsKXJldHVybiExO3RyeXt2YXIgaD1PYmplY3Quc2VhbCh7eDo0fSksbD1uZXcgYShfLnkoW1toLCJzIl1dKSk7aWYoInMiIT1sLmdldChoKXx8MSE9bC5zaXplfHxsLmdldCh7eDo0fSl8fGwuc2V0KHt4OjR9LCJ0IikhPWx8fDIhPWwuc2l6ZSlyZXR1cm4hMTt2YXIgbT1sLmVudHJpZXMoKSxuPW0ubmV4dCgpO2lmKG4uZG9uZXx8bi52YWx1ZVswXSE9aHx8InMiIT1uLnZhbHVlWzFdKXJldHVybiExO249bS5uZXh0KCk7cmV0dXJuIG4uZG9uZXx8NCE9bi52YWx1ZVswXS54fHwidCIhPW4udmFsdWVbMV18fCFtLm5leHQoKS5kb25lPyExOiEwfWNhdGNoKHEpe3JldHVybiExfX0oKSlyZXR1cm4gYTt2YXIgYj1uZXcgV2Vha01hcCxjPWZ1bmN0aW9uKGgpe3RoaXNbMF09e307dGhpc1sxXT0KZigpO3RoaXMuc2l6ZT0wO2lmKGgpe2g9Xy55KGgpO2Zvcih2YXIgbDshKGw9aC5uZXh0KCkpLmRvbmU7KWw9bC52YWx1ZSx0aGlzLnNldChsWzBdLGxbMV0pfX07Yy5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGgsbCl7aD0wPT09aD8wOmg7dmFyIG09ZCh0aGlzLGgpO20ubGlzdHx8KG0ubGlzdD10aGlzWzBdW20uaWRdPVtdKTttLndhP20ud2EudmFsdWU9bDoobS53YT17bmV4dDp0aGlzWzFdLGZiOnRoaXNbMV0uZmIsaGVhZDp0aGlzWzFdLGtleTpoLHZhbHVlOmx9LG0ubGlzdC5wdXNoKG0ud2EpLHRoaXNbMV0uZmIubmV4dD1tLndhLHRoaXNbMV0uZmI9bS53YSx0aGlzLnNpemUrKyk7cmV0dXJuIHRoaXN9O2MucHJvdG90eXBlLmRlbGV0ZT1mdW5jdGlvbihoKXtoPWQodGhpcyxoKTtyZXR1cm4gaC53YSYmaC5saXN0PyhoLmxpc3Quc3BsaWNlKGguaW5kZXgsMSksaC5saXN0Lmxlbmd0aHx8ZGVsZXRlIHRoaXNbMF1baC5pZF0saC53YS5mYi5uZXh0PWgud2EubmV4dCxoLndhLm5leHQuZmI9Cmgud2EuZmIsaC53YS5oZWFkPW51bGwsdGhpcy5zaXplLS0sITApOiExfTtjLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXNbMF09e307dGhpc1sxXT10aGlzWzFdLmZiPWYoKTt0aGlzLnNpemU9MH07Yy5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGgpe3JldHVybiEhZCh0aGlzLGgpLndhfTtjLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oaCl7cmV0dXJuKGg9ZCh0aGlzLGgpLndhKSYmaC52YWx1ZX07Yy5wcm90b3R5cGUuZW50cmllcz1mdW5jdGlvbigpe3JldHVybiBlKHRoaXMsZnVuY3Rpb24oaCl7cmV0dXJuW2gua2V5LGgudmFsdWVdfSl9O2MucHJvdG90eXBlLmtleXM9ZnVuY3Rpb24oKXtyZXR1cm4gZSh0aGlzLGZ1bmN0aW9uKGgpe3JldHVybiBoLmtleX0pfTtjLnByb3RvdHlwZS52YWx1ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gZSh0aGlzLGZ1bmN0aW9uKGgpe3JldHVybiBoLnZhbHVlfSl9O2MucHJvdG90eXBlLmZvckVhY2g9ZnVuY3Rpb24oaCxsKXtmb3IodmFyIG09dGhpcy5lbnRyaWVzKCksCm47IShuPW0ubmV4dCgpKS5kb25lOyluPW4udmFsdWUsaC5jYWxsKGwsblsxXSxuWzBdLHRoaXMpfTtjLnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdPWMucHJvdG90eXBlLmVudHJpZXM7dmFyIGQ9ZnVuY3Rpb24oaCxsKXt2YXIgbT1sJiZ0eXBlb2YgbDsib2JqZWN0Ij09bXx8ImZ1bmN0aW9uIj09bT9iLmhhcyhsKT9tPWIuZ2V0KGwpOihtPSIiKyArK2csYi5zZXQobCxtKSk6bT0icF8iK2w7dmFyIG49aFswXVttXTtpZihuJiZ1YihoWzBdLG0pKWZvcihoPTA7aDxuLmxlbmd0aDtoKyspe3ZhciBxPW5baF07aWYobCE9PWwmJnEua2V5IT09cS5rZXl8fGw9PT1xLmtleSlyZXR1cm57aWQ6bSxsaXN0Om4saW5kZXg6aCx3YTpxfX1yZXR1cm57aWQ6bSxsaXN0Om4saW5kZXg6LTEsd2E6dm9pZCAwfX0sZT1mdW5jdGlvbihoLGwpe3ZhciBtPWhbMV07cmV0dXJuIGpiKGZ1bmN0aW9uKCl7aWYobSl7Zm9yKDttLmhlYWQhPWhbMV07KW09bS5mYjtmb3IoO20ubmV4dCE9bS5oZWFkOylyZXR1cm4gbT0KbS5uZXh0LHtkb25lOiExLHZhbHVlOmwobSl9O209bnVsbH1yZXR1cm57ZG9uZTohMCx2YWx1ZTp2b2lkIDB9fSl9LGY9ZnVuY3Rpb24oKXt2YXIgaD17fTtyZXR1cm4gaC5mYj1oLm5leHQ9aC5oZWFkPWh9LGc9MDtyZXR1cm4gY30pO3coIk9iamVjdC5zZXRQcm90b3R5cGVPZiIsZnVuY3Rpb24oYSl7cmV0dXJuIGF8fHNifSk7dmFyIHZiPSJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuYXNzaWduP09iamVjdC5hc3NpZ246ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MTtjPGFyZ3VtZW50cy5sZW5ndGg7YysrKXt2YXIgZD1hcmd1bWVudHNbY107aWYoZClmb3IodmFyIGUgaW4gZCl1YihkLGUpJiYoYVtlXT1kW2VdKX1yZXR1cm4gYX07dygiT2JqZWN0LmFzc2lnbiIsZnVuY3Rpb24oYSl7cmV0dXJuIGF8fHZifSk7CncoIkFycmF5LnByb3RvdHlwZS5maW5kIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIsYyl7YTp7dmFyIGQ9dGhpcztkIGluc3RhbmNlb2YgU3RyaW5nJiYoZD1TdHJpbmcoZCkpO2Zvcih2YXIgZT1kLmxlbmd0aCxmPTA7ZjxlO2YrKyl7dmFyIGc9ZFtmXTtpZihiLmNhbGwoYyxnLGYsZCkpe2I9ZzticmVhayBhfX1iPXZvaWQgMH1yZXR1cm4gYn19KTt3KCJTdHJpbmcucHJvdG90eXBlLmVuZHNXaXRoIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIsYyl7dmFyIGQ9dGIodGhpcyxiLCJlbmRzV2l0aCIpO3ZvaWQgMD09PWMmJihjPWQubGVuZ3RoKTtjPU1hdGgubWF4KDAsTWF0aC5taW4oY3wwLGQubGVuZ3RoKSk7Zm9yKHZhciBlPWIubGVuZ3RoOzA8ZSYmMDxjOylpZihkWy0tY10hPWJbLS1lXSlyZXR1cm4hMTtyZXR1cm4gMD49ZX19KTsKdygiTnVtYmVyLmlzRmluaXRlIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIpe3JldHVybiJudW1iZXIiIT09dHlwZW9mIGI/ITE6IWlzTmFOKGIpJiZJbmZpbml0eSE9PWImJi1JbmZpbml0eSE9PWJ9fSk7dmFyIHdiPWZ1bmN0aW9uKGEsYil7YSBpbnN0YW5jZW9mIFN0cmluZyYmKGErPSIiKTt2YXIgYz0wLGQ9ITEsZT17bmV4dDpmdW5jdGlvbigpe2lmKCFkJiZjPGEubGVuZ3RoKXt2YXIgZj1jKys7cmV0dXJue3ZhbHVlOmIoZixhW2ZdKSxkb25lOiExfX1kPSEwO3JldHVybntkb25lOiEwLHZhbHVlOnZvaWQgMH19fTtlW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gZX07cmV0dXJuIGV9O3coIkFycmF5LnByb3RvdHlwZS5lbnRyaWVzIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKCl7cmV0dXJuIHdiKHRoaXMsZnVuY3Rpb24oYixjKXtyZXR1cm5bYixjXX0pfX0pOwp3KCJBcnJheS5wcm90b3R5cGUua2V5cyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbigpe3JldHVybiB3Yih0aGlzLGZ1bmN0aW9uKGIpe3JldHVybiBifSl9fSk7dygiQXJyYXkuZnJvbSIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMsZCl7Yz1udWxsIT1jP2M6ZnVuY3Rpb24oaCl7cmV0dXJuIGh9O3ZhciBlPVtdLGY9InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5pdGVyYXRvciYmYltTeW1ib2wuaXRlcmF0b3JdO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBmKXtiPWYuY2FsbChiKTtmb3IodmFyIGc9MDshKGY9Yi5uZXh0KCkpLmRvbmU7KWUucHVzaChjLmNhbGwoZCxmLnZhbHVlLGcrKykpfWVsc2UgZm9yKGY9Yi5sZW5ndGgsZz0wO2c8ZjtnKyspZS5wdXNoKGMuY2FsbChkLGJbZ10sZykpO3JldHVybiBlfX0pOwp3KCJBcnJheS5wcm90b3R5cGUudmFsdWVzIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKCl7cmV0dXJuIHdiKHRoaXMsZnVuY3Rpb24oYixjKXtyZXR1cm4gY30pfX0pOwp3KCJTZXQiLGZ1bmN0aW9uKGEpe2lmKGZ1bmN0aW9uKCl7aWYoIWF8fCJmdW5jdGlvbiIhPXR5cGVvZiBhfHwhYS5wcm90b3R5cGUuZW50cmllc3x8ImZ1bmN0aW9uIiE9dHlwZW9mIE9iamVjdC5zZWFsKXJldHVybiExO3RyeXt2YXIgYz1PYmplY3Quc2VhbCh7eDo0fSksZD1uZXcgYShfLnkoW2NdKSk7aWYoIWQuaGFzKGMpfHwxIT1kLnNpemV8fGQuYWRkKGMpIT1kfHwxIT1kLnNpemV8fGQuYWRkKHt4OjR9KSE9ZHx8MiE9ZC5zaXplKXJldHVybiExO3ZhciBlPWQuZW50cmllcygpLGY9ZS5uZXh0KCk7aWYoZi5kb25lfHxmLnZhbHVlWzBdIT1jfHxmLnZhbHVlWzFdIT1jKXJldHVybiExO2Y9ZS5uZXh0KCk7cmV0dXJuIGYuZG9uZXx8Zi52YWx1ZVswXT09Y3x8NCE9Zi52YWx1ZVswXS54fHxmLnZhbHVlWzFdIT1mLnZhbHVlWzBdPyExOmUubmV4dCgpLmRvbmV9Y2F0Y2goZyl7cmV0dXJuITF9fSgpKXJldHVybiBhO3ZhciBiPWZ1bmN0aW9uKGMpe3RoaXMuZz1uZXcgTWFwO2lmKGMpe2M9Cl8ueShjKTtmb3IodmFyIGQ7IShkPWMubmV4dCgpKS5kb25lOyl0aGlzLmFkZChkLnZhbHVlKX10aGlzLnNpemU9dGhpcy5nLnNpemV9O2IucHJvdG90eXBlLmFkZD1mdW5jdGlvbihjKXtjPTA9PT1jPzA6Yzt0aGlzLmcuc2V0KGMsYyk7dGhpcy5zaXplPXRoaXMuZy5zaXplO3JldHVybiB0aGlzfTtiLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24oYyl7Yz10aGlzLmcuZGVsZXRlKGMpO3RoaXMuc2l6ZT10aGlzLmcuc2l6ZTtyZXR1cm4gY307Yi5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLmcuY2xlYXIoKTt0aGlzLnNpemU9MH07Yi5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGMpe3JldHVybiB0aGlzLmcuaGFzKGMpfTtiLnByb3RvdHlwZS5lbnRyaWVzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZy5lbnRyaWVzKCl9O2IucHJvdG90eXBlLnZhbHVlcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcudmFsdWVzKCl9O2IucHJvdG90eXBlLmtleXM9Yi5wcm90b3R5cGUudmFsdWVzOwpiLnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdPWIucHJvdG90eXBlLnZhbHVlcztiLnByb3RvdHlwZS5mb3JFYWNoPWZ1bmN0aW9uKGMsZCl7dmFyIGU9dGhpczt0aGlzLmcuZm9yRWFjaChmdW5jdGlvbihmKXtyZXR1cm4gYy5jYWxsKGQsZixmLGUpfSl9O3JldHVybiBifSk7dygiT2JqZWN0LnZhbHVlcyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXt2YXIgYz1bXSxkO2ZvcihkIGluIGIpdWIoYixkKSYmYy5wdXNoKGJbZF0pO3JldHVybiBjfX0pO3coIk51bWJlci5NQVhfU0FGRV9JTlRFR0VSIixmdW5jdGlvbigpe3JldHVybiA5MDA3MTk5MjU0NzQwOTkxfSk7dygiTnVtYmVyLmlzSW50ZWdlciIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXtyZXR1cm4gTnVtYmVyLmlzRmluaXRlKGIpP2I9PT1NYXRoLmZsb29yKGIpOiExfX0pOwp3KCJOdW1iZXIuaXNTYWZlSW50ZWdlciIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXtyZXR1cm4gTnVtYmVyLmlzSW50ZWdlcihiKSYmTWF0aC5hYnMoYik8PU51bWJlci5NQVhfU0FGRV9JTlRFR0VSfX0pO3coIk1hdGgudHJ1bmMiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7Yj1OdW1iZXIoYik7aWYoaXNOYU4oYil8fEluZmluaXR5PT09Ynx8LUluZmluaXR5PT09Ynx8MD09PWIpcmV0dXJuIGI7dmFyIGM9TWF0aC5mbG9vcihNYXRoLmFicyhiKSk7cmV0dXJuIDA+Yj8tYzpjfX0pO3coIk9iamVjdC5pcyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe3JldHVybiBiPT09Yz8wIT09Ynx8MS9iPT09MS9jOmIhPT1iJiZjIT09Y319KTsKdygiQXJyYXkucHJvdG90eXBlLmluY2x1ZGVzIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIsYyl7dmFyIGQ9dGhpcztkIGluc3RhbmNlb2YgU3RyaW5nJiYoZD1TdHJpbmcoZCkpO3ZhciBlPWQubGVuZ3RoO2M9Y3x8MDtmb3IoMD5jJiYoYz1NYXRoLm1heChjK2UsMCkpO2M8ZTtjKyspe3ZhciBmPWRbY107aWYoZj09PWJ8fE9iamVjdC5pcyhmLGIpKXJldHVybiEwfXJldHVybiExfX0pO3coIlN0cmluZy5wcm90b3R5cGUuaW5jbHVkZXMiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXtyZXR1cm4tMSE9PXRiKHRoaXMsYiwiaW5jbHVkZXMiKS5pbmRleE9mKGIsY3x8MCl9fSk7dygiT2JqZWN0LmVudHJpZXMiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7dmFyIGM9W10sZDtmb3IoZCBpbiBiKXViKGIsZCkmJmMucHVzaChbZCxiW2RdXSk7cmV0dXJuIGN9fSk7CncoIlN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe2lmKGIgaW5zdGFuY2VvZiBSZWdFeHAmJiFiLmdsb2JhbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJvIik7cmV0dXJuIGIgaW5zdGFuY2VvZiBSZWdFeHA/dGhpcy5yZXBsYWNlKGIsYyk6dGhpcy5yZXBsYWNlKG5ldyBSZWdFeHAoU3RyaW5nKGIpLnJlcGxhY2UoLyhbLSgpXFtcXXt9Kz8qLiRcXnwsOiM8IVxcXSkvZywiXFwkMSIpLnJlcGxhY2UoL1x4MDgvZywiXFx4MDgiKSwiZyIpLGMpfX0pOwp3KCJQcm9taXNlLnByb3RvdHlwZS5maW5hbGx5IixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIpe3JldHVybiB0aGlzLnRoZW4oZnVuY3Rpb24oYyl7cmV0dXJuIFByb21pc2UucmVzb2x2ZShiKCkpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gY30pfSxmdW5jdGlvbihjKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGIoKSkudGhlbihmdW5jdGlvbigpe3Rocm93IGM7fSl9KX19KTtfLl9EdW1wRXhjZXB0aW9uPXdpbmRvdy5fRHVtcEV4Y2VwdGlvbnx8ZnVuY3Rpb24oYSl7dGhyb3cgYTt9O3dpbmRvdy5fRHVtcEV4Y2VwdGlvbj1fLl9EdW1wRXhjZXB0aW9uO3ZhciB4Yix6YixBYixCYixEYixDYixGYixHYixIYixJYixNYjt4Yj14Ynx8e307Xy50PXRoaXN8fHNlbGY7emI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLnliKCJXSVpfZ2xvYmFsX2RhdGEub3hOM25iIik7YT1jJiZjW2FdO3JldHVybiBudWxsIT1hP2E6Yn07QWI9Xy50Ll9GX3RvZ2dsZXN8fFtdO0JiPS9eW2EtekEtWl8kXVthLXpBLVowLTkuXyRdKiQvO0RiPWZ1bmN0aW9uKGEpe2lmKCJzdHJpbmciIT09dHlwZW9mIGF8fCFhfHwtMT09YS5zZWFyY2goQmIpKXRocm93IEVycm9yKCJwIik7aWYoIUNifHwiZ29vZyIhPUNiLnR5cGUpdGhyb3cgRXJyb3IoInFgIithKTtpZihDYi5CaSl0aHJvdyBFcnJvcigiciIpO0NiLkJpPWF9O0RiLmdldD1mdW5jdGlvbigpe3JldHVybiBudWxsfTtDYj1udWxsO18ueWI9ZnVuY3Rpb24oYSxiKXthPWEuc3BsaXQoIi4iKTtiPWJ8fF8udDtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKylpZihiPWJbYVtjXV0sbnVsbD09YilyZXR1cm4gbnVsbDtyZXR1cm4gYn07Cl8uRWI9ZnVuY3Rpb24oYSl7dmFyIGI9dHlwZW9mIGE7cmV0dXJuIm9iamVjdCIhPWI/YjphP0FycmF5LmlzQXJyYXkoYSk/ImFycmF5IjpiOiJudWxsIn07Xy5kYT1mdW5jdGlvbihhKXt2YXIgYj1fLkViKGEpO3JldHVybiJhcnJheSI9PWJ8fCJvYmplY3QiPT1iJiYibnVtYmVyIj09dHlwZW9mIGEubGVuZ3RofTtfLndhPWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBhO3JldHVybiJvYmplY3QiPT1iJiZudWxsIT1hfHwiZnVuY3Rpb24iPT1ifTtfLnhhPWZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSxGYikmJmFbRmJdfHwoYVtGYl09KytHYil9O0ZiPSJjbG9zdXJlX3VpZF8iKygxRTkqTWF0aC5yYW5kb20oKT4+PjApO0diPTA7SGI9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhLmNhbGwuYXBwbHkoYS5iaW5kLGFyZ3VtZW50cyl9OwpJYj1mdW5jdGlvbihhLGIsYyl7aWYoIWEpdGhyb3cgRXJyb3IoKTtpZigyPGFyZ3VtZW50cy5sZW5ndGgpe3ZhciBkPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywyKTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO0FycmF5LnByb3RvdHlwZS51bnNoaWZ0LmFwcGx5KGUsZCk7cmV0dXJuIGEuYXBwbHkoYixlKX19cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGEuYXBwbHkoYixhcmd1bWVudHMpfX07Xy5BPWZ1bmN0aW9uKGEsYixjKXtfLkE9RnVuY3Rpb24ucHJvdG90eXBlLmJpbmQmJi0xIT1GdW5jdGlvbi5wcm90b3R5cGUuYmluZC50b1N0cmluZygpLmluZGV4T2YoIm5hdGl2ZSBjb2RlIik/SGI6SWI7cmV0dXJuIF8uQS5hcHBseShudWxsLGFyZ3VtZW50cyl9OwpfLkpiPWZ1bmN0aW9uKGEsYil7dmFyIGM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiBmdW5jdGlvbigpe3ZhciBkPWMuc2xpY2UoKTtkLnB1c2guYXBwbHkoZCxhcmd1bWVudHMpO3JldHVybiBhLmFwcGx5KHRoaXMsZCl9fTtfLktiPWZ1bmN0aW9uKCl7cmV0dXJuIERhdGUubm93KCl9O18uTGI9ZnVuY3Rpb24oYSxiKXthPWEuc3BsaXQoIi4iKTt2YXIgYz1fLnQ7YVswXWluIGN8fCJ1bmRlZmluZWQiPT10eXBlb2YgYy5leGVjU2NyaXB0fHxjLmV4ZWNTY3JpcHQoInZhciAiK2FbMF0pO2Zvcih2YXIgZDthLmxlbmd0aCYmKGQ9YS5zaGlmdCgpKTspYS5sZW5ndGh8fHZvaWQgMD09PWI/Y1tkXSYmY1tkXSE9PU9iamVjdC5wcm90b3R5cGVbZF0/Yz1jW2RdOmM9Y1tkXT17fTpjW2RdPWJ9OwpfLkI9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKCl7fWMucHJvdG90eXBlPWIucHJvdG90eXBlO2EuTz1iLnByb3RvdHlwZTthLnByb3RvdHlwZT1uZXcgYzthLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hO2EuUms9ZnVuY3Rpb24oZCxlLGYpe2Zvcih2YXIgZz1BcnJheShhcmd1bWVudHMubGVuZ3RoLTIpLGg9MjtoPGFyZ3VtZW50cy5sZW5ndGg7aCsrKWdbaC0yXT1hcmd1bWVudHNbaF07cmV0dXJuIGIucHJvdG90eXBlW2VdLmFwcGx5KGQsZyl9fTtNYj1mdW5jdGlvbihhKXtyZXR1cm4gYX07Xy5CKF8uYWEsRXJyb3IpO18uYWEucHJvdG90eXBlLm5hbWU9IkN1c3RvbUVycm9yIjt2YXIgTmI7Xy5EPWZ1bmN0aW9uKCl7dGhpcy5xYT10aGlzLnFhO3RoaXMuYmE9dGhpcy5iYX07Xy5ELnByb3RvdHlwZS5xYT0hMTtfLkQucHJvdG90eXBlLlhhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucWF9O18uRC5wcm90b3R5cGUuUj1mdW5jdGlvbigpe3RoaXMucWF8fCh0aGlzLnFhPSEwLHRoaXMuSigpKX07Xy5ELnByb3RvdHlwZS5KPWZ1bmN0aW9uKCl7aWYodGhpcy5iYSlmb3IoO3RoaXMuYmEubGVuZ3RoOyl0aGlzLmJhLnNoaWZ0KCkoKX07dmFyIFBiO18uT2I9ZnVuY3Rpb24oKXt9O1BiPWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbigpe3Rocm93IEVycm9yKGEpO319O3ZhciBRYjtfLlJhPWZ1bmN0aW9uKCl7aWYodm9pZCAwPT09UWIpe3ZhciBhPW51bGwsYj1fLnQudHJ1c3RlZFR5cGVzO2lmKGImJmIuY3JlYXRlUG9saWN5KXt0cnl7YT1iLmNyZWF0ZVBvbGljeSgiZ29vZyNodG1sIix7Y3JlYXRlSFRNTDpNYixjcmVhdGVTY3JpcHQ6TWIsY3JlYXRlU2NyaXB0VVJMOk1ifSl9Y2F0Y2goYyl7Xy50LmNvbnNvbGUmJl8udC5jb25zb2xlLmVycm9yKGMubWVzc2FnZSl9UWI9YX1lbHNlIFFiPWF9cmV0dXJuIFFifTt2YXIgVGI7Xy5SYj1mdW5jdGlvbihhKXt0aGlzLmc9YX07Xy5SYi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nKyIifTtfLmJiPWZ1bmN0aW9uKGEpe3JldHVybiBhIGluc3RhbmNlb2YgXy5SYiYmYS5jb25zdHJ1Y3Rvcj09PV8uUmI/YS5nOiJ0eXBlX2Vycm9yOlRydXN0ZWRSZXNvdXJjZVVybCJ9O18uU2I9UmVnRXhwKCJeKChodHRwczopPy8vWzAtOWEtei46W1xcXS1dKy98L1teL1xcXFxdfFteOi9cXFxcJV0rL3xbXjovXFxcXCVdKls/I118YWJvdXQ6YmxhbmsjKSIsImkiKTtUYj17fTtfLlphPWZ1bmN0aW9uKGEpe3ZhciBiPV8uUmEoKTthPWI/Yi5jcmVhdGVTY3JpcHRVUkwoYSk6YTtyZXR1cm4gbmV3IF8uUmIoYSxUYil9O0RiPURifHx7fTt2YXIgVWI9ZnVuY3Rpb24oKXtfLkQuY2FsbCh0aGlzKX07Xy5CKFViLF8uRCk7VWIucHJvdG90eXBlLmluaXRpYWxpemU9ZnVuY3Rpb24oKXt9O3ZhciBWYj1mdW5jdGlvbihhLGIpe3RoaXMuZz1hO3RoaXMuaD1ifTtWYi5wcm90b3R5cGUuZXhlY3V0ZT1mdW5jdGlvbihhKXt0aGlzLmcmJih0aGlzLmcuY2FsbCh0aGlzLmh8fG51bGwsYSksdGhpcy5nPXRoaXMuaD1udWxsKX07VmIucHJvdG90eXBlLmFib3J0PWZ1bmN0aW9uKCl7dGhpcy5oPXRoaXMuZz1udWxsfTt2YXIgV2I9ZnVuY3Rpb24oYSxiKXtfLkQuY2FsbCh0aGlzKTt0aGlzLmg9YTt0aGlzLnM9Yjt0aGlzLm89W107dGhpcy5sPVtdO3RoaXMuaj1bXX07Xy5CKFdiLF8uRCk7V2IucHJvdG90eXBlLkE9VWI7V2IucHJvdG90eXBlLmc9bnVsbDtXYi5wcm90b3R5cGUuTWE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zfTt2YXIgWGI9ZnVuY3Rpb24oYSxiKXthLmwucHVzaChuZXcgVmIoYikpfTtXYi5wcm90b3R5cGUub25Mb2FkPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyB0aGlzLkE7Yi5pbml0aWFsaXplKGEoKSk7dGhpcy5nPWI7Yj0oYj0hIVliKHRoaXMuaixhKCkpKXx8ISFZYih0aGlzLm8sYSgpKTtifHwodGhpcy5sLmxlbmd0aD0wKTtyZXR1cm4gYn07V2IucHJvdG90eXBlLnJlPWZ1bmN0aW9uKGEpeyhhPVliKHRoaXMubCxhKSkmJl8udC5zZXRUaW1lb3V0KFBiKCJNb2R1bGUgZXJyYmFjayBmYWlsdXJlczogIithKSwwKTt0aGlzLmoubGVuZ3RoPTA7dGhpcy5vLmxlbmd0aD0wfTsKdmFyIFliPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPVtdLGQ9MDtkPGEubGVuZ3RoO2QrKyl0cnl7YVtkXS5leGVjdXRlKGIpfWNhdGNoKGUpe2JhKGUpLGMucHVzaChlKX1hLmxlbmd0aD0wO3JldHVybiBjLmxlbmd0aD9jOm51bGx9O1diLnByb3RvdHlwZS5KPWZ1bmN0aW9uKCl7V2IuTy5KLmNhbGwodGhpcyk7Xy5jYSh0aGlzLmcpfTt2YXIgWmI9ZnVuY3Rpb24oKXt0aGlzLkI9dGhpcy5xYT1udWxsfTtfLms9WmIucHJvdG90eXBlO18uay51Zz1mdW5jdGlvbigpe307Xy5rLkZlPWZ1bmN0aW9uKCl7fTtfLmsucmc9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigidiIpO307Xy5rLnpmPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucWF9O18uay5HZT1mdW5jdGlvbihhKXt0aGlzLnFhPWF9O18uay5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiExfTtfLmsuVGY9ZnVuY3Rpb24oKXtyZXR1cm4hMX07Xy5rLnBnPWZ1bmN0aW9uKCl7fTt2YXIga2E7Xy5mYT1udWxsO18uaGE9bnVsbDtrYT1bXTt2YXIgRT1mdW5jdGlvbihhLGIpe3RoaXMuaD1hO3RoaXMuZz1ifHxudWxsfTtFLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmh9O25ldyBFKCJ6NzJNT2MiLCJ6NzJNT2MiKTtuZXcgRSgiWnRWckgiKTtfLiRiPW5ldyBFKCJySm1KcmMiLCJySm1KcmMiKTtuZXcgRSgiZkp1eE9jIik7bmV3IEUoIk5HbnR3ZiIpO25ldyBFKCJvZnVhcGMiKTtuZXcgRSgiQldFVHplIik7bmV3IEUoIlptWEFtIik7Xy5hYz1uZXcgRSgibjczcXdmIiwibjczcXdmIik7dmFyIHBhPVN5bWJvbCgieCIpO3ZhciBmYztfLnJhPUFycmF5LnByb3RvdHlwZS5pbmRleE9mP2Z1bmN0aW9uKGEsYil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoYSxiLHZvaWQgMCl9OmZ1bmN0aW9uKGEsYil7aWYoInN0cmluZyI9PT10eXBlb2YgYSlyZXR1cm4ic3RyaW5nIiE9PXR5cGVvZiBifHwxIT1iLmxlbmd0aD8tMTphLmluZGV4T2YoYiwwKTtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKylpZihjIGluIGEmJmFbY109PT1iKXJldHVybiBjO3JldHVybi0xfTsKXy5iYz1BcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Y/ZnVuY3Rpb24oYSxiKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYSxiLGEubGVuZ3RoLTEpfTpmdW5jdGlvbihhLGIpe3ZhciBjPWEubGVuZ3RoLTE7MD5jJiYoYz1NYXRoLm1heCgwLGEubGVuZ3RoK2MpKTtpZigic3RyaW5nIj09PXR5cGVvZiBhKXJldHVybiJzdHJpbmciIT09dHlwZW9mIGJ8fDEhPWIubGVuZ3RoPy0xOmEubGFzdEluZGV4T2YoYixjKTtmb3IoOzA8PWM7Yy0tKWlmKGMgaW4gYSYmYVtjXT09PWIpcmV0dXJuIGM7cmV0dXJuLTF9O18uY2M9QXJyYXkucHJvdG90eXBlLmZvckVhY2g/ZnVuY3Rpb24oYSxiLGMpe0FycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoYSxiLGMpfTpmdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkPWEubGVuZ3RoLGU9InN0cmluZyI9PT10eXBlb2YgYT9hLnNwbGl0KCIiKTphLGY9MDtmPGQ7ZisrKWYgaW4gZSYmYi5jYWxsKGMsZVtmXSxmLGEpfTsKXy5kYz1BcnJheS5wcm90b3R5cGUuZmlsdGVyP2Z1bmN0aW9uKGEsYil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChhLGIsdm9pZCAwKX06ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9YS5sZW5ndGgsZD1bXSxlPTAsZj0ic3RyaW5nIj09PXR5cGVvZiBhP2Euc3BsaXQoIiIpOmEsZz0wO2c8YztnKyspaWYoZyBpbiBmKXt2YXIgaD1mW2ddO2IuY2FsbCh2b2lkIDAsaCxnLGEpJiYoZFtlKytdPWgpfXJldHVybiBkfTtfLmVjPUFycmF5LnByb3RvdHlwZS5tYXA/ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoYSxiLGMpfTpmdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkPWEubGVuZ3RoLGU9QXJyYXkoZCksZj0ic3RyaW5nIj09PXR5cGVvZiBhP2Euc3BsaXQoIiIpOmEsZz0wO2c8ZDtnKyspZyBpbiBmJiYoZVtnXT1iLmNhbGwoYyxmW2ddLGcsYSkpO3JldHVybiBlfTsKZmM9QXJyYXkucHJvdG90eXBlLnJlZHVjZT9mdW5jdGlvbihhLGIsYyl7QXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGEsYixjKX06ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWM7KDAsXy5jYykoYSxmdW5jdGlvbihlLGYpe2Q9Yi5jYWxsKHZvaWQgMCxkLGUsZixhKX0pfTtfLmdjPUFycmF5LnByb3RvdHlwZS5zb21lP2Z1bmN0aW9uKGEsYil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoYSxiLHZvaWQgMCl9OmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPWEubGVuZ3RoLGQ9InN0cmluZyI9PT10eXBlb2YgYT9hLnNwbGl0KCIiKTphLGU9MDtlPGM7ZSsrKWlmKGUgaW4gZCYmYi5jYWxsKHZvaWQgMCxkW2VdLGUsYSkpcmV0dXJuITA7cmV0dXJuITF9O3ZhciBoYz0hIShBYlswXSYxMjgpLGljPSEhKEFiWzBdJjQpLGpjPSEhKEFiWzBdJjI1Niksa2M9ISEoQWJbMF0mMik7Xy5BYT1oYz9qYzp6Yig2MTA0MDEzMDEsITEpO18ubGM9aGM/aWN8fCFrYzp6Yig1NzI0MTczOTIsITApO18ubWM9U3RyaW5nLnByb3RvdHlwZS50cmltP2Z1bmN0aW9uKGEpe3JldHVybiBhLnRyaW0oKX06ZnVuY3Rpb24oYSl7cmV0dXJuL15bXHNceGEwXSooW1xzXFNdKj8pW1xzXHhhMF0qJC8uZXhlYyhhKVsxXX07dmFyIG5jO25jPV8udC5uYXZpZ2F0b3I7Xy5CYT1uYz9uYy51c2VyQWdlbnREYXRhfHxudWxsOm51bGw7dmFyIG9jPWZ1bmN0aW9uKGEpe29jWyIgIl0oYSk7cmV0dXJuIGF9O29jWyIgIl09ZnVuY3Rpb24oKXt9O18ucGM9ZnVuY3Rpb24oYSxiKXt0cnl7cmV0dXJuIG9jKGFbYl0pLCEwfWNhdGNoKGMpe31yZXR1cm4hMX07dmFyIERjLEVjLEpjO18ucWM9Xy5EYSgpO18uRj1fLkVhKCk7Xy5yYz1fLnYoIkVkZ2UiKTtfLnNjPV8ucmN8fF8uRjtfLnRjPV8udigiR2Vja28iKSYmISgtMSE9Xy56YSgpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZigid2Via2l0IikmJiFfLnYoIkVkZ2UiKSkmJiEoXy52KCJUcmlkZW50Iil8fF8udigiTVNJRSIpKSYmIV8udigiRWRnZSIpO18udWM9LTEhPV8uemEoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoIndlYmtpdCIpJiYhXy52KCJFZGdlIik7Xy52Yz1fLnVjJiZfLnYoIk1vYmlsZSIpO18ud2M9Xy5KYSgpO18ueGM9RmEoKT8iV2luZG93cyI9PT1fLkJhLnBsYXRmb3JtOl8udigiV2luZG93cyIpO18ueWM9RmEoKT8iQW5kcm9pZCI9PT1fLkJhLnBsYXRmb3JtOl8udigiQW5kcm9pZCIpO18uemM9Xy5HYSgpO18uQWM9Xy52KCJpUGFkIik7Xy5CYz1fLnYoImlQb2QiKTtfLkNjPV8uSWEoKTsKRGM9ZnVuY3Rpb24oKXt2YXIgYT1fLnQuZG9jdW1lbnQ7cmV0dXJuIGE/YS5kb2N1bWVudE1vZGU6dm9pZCAwfTthOnt2YXIgRmM9IiIsR2M9ZnVuY3Rpb24oKXt2YXIgYT1fLnphKCk7aWYoXy50YylyZXR1cm4vcnY6KFteXCk7XSspKFwpfDspLy5leGVjKGEpO2lmKF8ucmMpcmV0dXJuL0VkZ2VcLyhbXGRcLl0rKS8uZXhlYyhhKTtpZihfLkYpcmV0dXJuL1xiKD86TVNJRXxydilbOiBdKFteXCk7XSspKFwpfDspLy5leGVjKGEpO2lmKF8udWMpcmV0dXJuL1dlYktpdFwvKFxTKykvLmV4ZWMoYSk7aWYoXy5xYylyZXR1cm4vKD86VmVyc2lvbilbIFwvXT8oXFMrKS8uZXhlYyhhKX0oKTtHYyYmKEZjPUdjP0djWzFdOiIiKTtpZihfLkYpe3ZhciBIYz1EYygpO2lmKG51bGwhPUhjJiZIYz5wYXJzZUZsb2F0KEZjKSl7RWM9U3RyaW5nKEhjKTticmVhayBhfX1FYz1GY31fLkljPUVjOwppZihfLnQuZG9jdW1lbnQmJl8uRil7dmFyIEtjPURjKCk7SmM9S2M/S2M6cGFyc2VJbnQoXy5JYywxMCl8fHZvaWQgMH1lbHNlIEpjPXZvaWQgMDtfLkxjPUpjO18uTWM9Xy5GfHxfLnVjO3ZhciBOYTtOYT0iY29uc3RydWN0b3IgaGFzT3duUHJvcGVydHkgaXNQcm90b3R5cGVPZiBwcm9wZXJ0eUlzRW51bWVyYWJsZSB0b0xvY2FsZVN0cmluZyB0b1N0cmluZyB2YWx1ZU9mIi5zcGxpdCgiICIpO18uTmM9ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZCBpbiBhKWIuY2FsbChjLGFbZF0sZCxhKX07Xy5PYz1mdW5jdGlvbihhKXt0aGlzLmc9YX07Xy5PYy5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLnRvU3RyaW5nKCl9O3ZhciBQYzt0cnl7bmV3IFVSTCgiczovL2ciKSxQYz0hMH1jYXRjaChhKXtQYz0hMX1fLlFjPVBjO18uUmM9e307Xy5TYz1uZXcgXy5PYygiYWJvdXQ6aW52YWxpZCN6Q2xvc3VyZXoiLF8uUmMpO3ZhciBXYztfLlRjPXt9O18uVWM9ZnVuY3Rpb24oYSl7dGhpcy5nPWF9O18uVWMucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZy50b1N0cmluZygpfTtfLlZjPWZ1bmN0aW9uKGEpe3JldHVybiBhIGluc3RhbmNlb2YgXy5VYyYmYS5jb25zdHJ1Y3Rvcj09PV8uVWM/YS5nOiJ0eXBlX2Vycm9yOlNhZmVIdG1sIn07V2M9bmV3IF8uVWMoXy50LnRydXN0ZWRUeXBlcyYmXy50LnRydXN0ZWRUeXBlcy5lbXB0eUhUTUx8fCIiLF8uVGMpO3ZhciBTYT1mdW5jdGlvbigpe307U2EucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmcudG9TdHJpbmcoKX07Xy5YYz1mdW5jdGlvbihhKXt2YXIgYj0hMSxjO3JldHVybiBmdW5jdGlvbigpe2J8fChjPWEoKSxiPSEwKTtyZXR1cm4gY319KGZ1bmN0aW9uKCl7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtiLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKTthLmFwcGVuZENoaWxkKGIpO2I9YS5maXJzdENoaWxkLmZpcnN0Q2hpbGQ7YS5pbm5lckhUTUw9Xy5WYyhXYyk7cmV0dXJuIWIucGFyZW50RWxlbWVudH0pO18uWWM9ZnVuY3Rpb24oYSxiKXt0aGlzLndpZHRoPWE7dGhpcy5oZWlnaHQ9Yn07Xy5aYz1mdW5jdGlvbihhLGIpe3JldHVybiBhPT1iPyEwOmEmJmI/YS53aWR0aD09Yi53aWR0aCYmYS5oZWlnaHQ9PWIuaGVpZ2h0OiExfTtfLlljLnByb3RvdHlwZS5hc3BlY3RSYXRpbz1mdW5jdGlvbigpe3JldHVybiB0aGlzLndpZHRoL3RoaXMuaGVpZ2h0fTtfLlljLnByb3RvdHlwZS5jZWlsPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLmNlaWwodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5jZWlsKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Xy5ZYy5wcm90b3R5cGUuZmxvb3I9ZnVuY3Rpb24oKXt0aGlzLndpZHRoPU1hdGguZmxvb3IodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5mbG9vcih0aGlzLmhlaWdodCk7cmV0dXJuIHRoaXN9OwpfLlljLnByb3RvdHlwZS5yb3VuZD1mdW5jdGlvbigpe3RoaXMud2lkdGg9TWF0aC5yb3VuZCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLnJvdW5kKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307dmFyIGJkO18uJGM9ZnVuY3Rpb24oYSl7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoYSkpfTtfLmFkPWZ1bmN0aW9uKGEpe3JldHVybiBkZWNvZGVVUklDb21wb25lbnQoYS5yZXBsYWNlKC9cKy9nLCIgIikpfTtiZD1mdW5jdGlvbigpe3JldHVybiBNYXRoLmZsb29yKDIxNDc0ODM2NDgqTWF0aC5yYW5kb20oKSkudG9TdHJpbmcoMzYpK01hdGguYWJzKE1hdGguZmxvb3IoMjE0NzQ4MzY0OCpNYXRoLnJhbmRvbSgpKV5fLktiKCkpLnRvU3RyaW5nKDM2KX07dmFyIGhkLGdkO18uZWQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/bmV3IF8uY2QoXy5kZChhKSk6TmJ8fChOYj1uZXcgXy5jZCl9O18uZmQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4ic3RyaW5nIj09PXR5cGVvZiBiP2EuZ2V0RWxlbWVudEJ5SWQoYik6Yn07aGQ9ZnVuY3Rpb24oYSxiKXtfLk5jKGIsZnVuY3Rpb24oYyxkKXsic3R5bGUiPT1kP2Euc3R5bGUuY3NzVGV4dD1jOiJjbGFzcyI9PWQ/YS5jbGFzc05hbWU9YzoiZm9yIj09ZD9hLmh0bWxGb3I9YzpnZC5oYXNPd25Qcm9wZXJ0eShkKT9hLnNldEF0dHJpYnV0ZShnZFtkXSxjKTowPT1kLmxhc3RJbmRleE9mKCJhcmlhLSIsMCl8fDA9PWQubGFzdEluZGV4T2YoImRhdGEtIiwwKT9hLnNldEF0dHJpYnV0ZShkLGMpOmFbZF09Y30pfTsKZ2Q9e2NlbGxwYWRkaW5nOiJjZWxsUGFkZGluZyIsY2VsbHNwYWNpbmc6ImNlbGxTcGFjaW5nIixjb2xzcGFuOiJjb2xTcGFuIixmcmFtZWJvcmRlcjoiZnJhbWVCb3JkZXIiLGhlaWdodDoiaGVpZ2h0IixtYXhsZW5ndGg6Im1heExlbmd0aCIsbm9uY2U6Im5vbmNlIixyb2xlOiJyb2xlIixyb3dzcGFuOiJyb3dTcGFuIix0eXBlOiJ0eXBlIix1c2VtYXA6InVzZU1hcCIsdmFsaWduOiJ2QWxpZ24iLHdpZHRoOiJ3aWR0aCJ9O18uamQ9ZnVuY3Rpb24oYSl7YT1hLmRvY3VtZW50O2E9Xy5pZChhKT9hLmRvY3VtZW50RWxlbWVudDphLmJvZHk7cmV0dXJuIG5ldyBfLlljKGEuY2xpZW50V2lkdGgsYS5jbGllbnRIZWlnaHQpfTtfLmtkPWZ1bmN0aW9uKGEpe3JldHVybiBhP2EucGFyZW50V2luZG93fHxhLmRlZmF1bHRWaWV3OndpbmRvd307Cl8ubmQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iWzFdLGQ9Xy5sZChhLFN0cmluZyhiWzBdKSk7YyYmKCJzdHJpbmciPT09dHlwZW9mIGM/ZC5jbGFzc05hbWU9YzpBcnJheS5pc0FycmF5KGMpP2QuY2xhc3NOYW1lPWMuam9pbigiICIpOmhkKGQsYykpOzI8Yi5sZW5ndGgmJl8ubWQoYSxkLGIsMik7cmV0dXJuIGR9OwpfLm1kPWZ1bmN0aW9uKGEsYixjLGQpe2Z1bmN0aW9uIGUoaCl7aCYmYi5hcHBlbmRDaGlsZCgic3RyaW5nIj09PXR5cGVvZiBoP2EuY3JlYXRlVGV4dE5vZGUoaCk6aCl9Zm9yKDtkPGMubGVuZ3RoO2QrKyl7dmFyIGY9Y1tkXTtpZighXy5kYShmKXx8Xy53YShmKSYmMDxmLm5vZGVUeXBlKWUoZik7ZWxzZXthOntpZihmJiYibnVtYmVyIj09dHlwZW9mIGYubGVuZ3RoKXtpZihfLndhKGYpKXt2YXIgZz0iZnVuY3Rpb24iPT10eXBlb2YgZi5pdGVtfHwic3RyaW5nIj09dHlwZW9mIGYuaXRlbTticmVhayBhfWlmKCJmdW5jdGlvbiI9PT10eXBlb2YgZil7Zz0iZnVuY3Rpb24iPT10eXBlb2YgZi5pdGVtO2JyZWFrIGF9fWc9ITF9Xy5jYyhnP18udWEoZik6ZixlKX19fTtfLmxkPWZ1bmN0aW9uKGEsYil7Yj1TdHJpbmcoYik7ImFwcGxpY2F0aW9uL3hodG1sK3htbCI9PT1hLmNvbnRlbnRUeXBlJiYoYj1iLnRvTG93ZXJDYXNlKCkpO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoYil9OwpfLmlkPWZ1bmN0aW9uKGEpe3JldHVybiJDU1MxQ29tcGF0Ij09YS5jb21wYXRNb2RlfTtfLm9kPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYjtiPWEuZmlyc3RDaGlsZDspYS5yZW1vdmVDaGlsZChiKX07Xy5wZD1mdW5jdGlvbihhLGIpe2lmKCFhfHwhYilyZXR1cm4hMTtpZihhLmNvbnRhaW5zJiYxPT1iLm5vZGVUeXBlKXJldHVybiBhPT1ifHxhLmNvbnRhaW5zKGIpO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbilyZXR1cm4gYT09Ynx8ISEoYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSYxNik7Zm9yKDtiJiZhIT1iOyliPWIucGFyZW50Tm9kZTtyZXR1cm4gYj09YX07Xy5kZD1mdW5jdGlvbihhKXtyZXR1cm4gOT09YS5ub2RlVHlwZT9hOmEub3duZXJEb2N1bWVudHx8YS5kb2N1bWVudH07Cl8ucWQ9ZnVuY3Rpb24oYSxiKXtpZigidGV4dENvbnRlbnQiaW4gYSlhLnRleHRDb250ZW50PWI7ZWxzZSBpZigzPT1hLm5vZGVUeXBlKWEuZGF0YT1TdHJpbmcoYik7ZWxzZSBpZihhLmZpcnN0Q2hpbGQmJjM9PWEuZmlyc3RDaGlsZC5ub2RlVHlwZSl7Zm9yKDthLmxhc3RDaGlsZCE9YS5maXJzdENoaWxkOylhLnJlbW92ZUNoaWxkKGEubGFzdENoaWxkKTthLmZpcnN0Q2hpbGQuZGF0YT1TdHJpbmcoYil9ZWxzZSBfLm9kKGEpLGEuYXBwZW5kQ2hpbGQoXy5kZChhKS5jcmVhdGVUZXh0Tm9kZShTdHJpbmcoYikpKX07Xy5jZD1mdW5jdGlvbihhKXt0aGlzLmc9YXx8Xy50LmRvY3VtZW50fHxkb2N1bWVudH07Xy5jZC5wcm90b3R5cGUuQz1mdW5jdGlvbihhKXtyZXR1cm4gXy5mZCh0aGlzLmcsYSl9O18uY2QucHJvdG90eXBlLlM9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLm5kKHRoaXMuZyxhcmd1bWVudHMpfTsKXy5yZD1mdW5jdGlvbihhKXthPWEuZztyZXR1cm4gYS5wYXJlbnRXaW5kb3d8fGEuZGVmYXVsdFZpZXd9O18uY2QucHJvdG90eXBlLmFwcGVuZENoaWxkPWZ1bmN0aW9uKGEsYil7YS5hcHBlbmRDaGlsZChiKX07Xy5jZC5wcm90b3R5cGUud2U9Xy5vZDtfLmNkLnByb3RvdHlwZS5jb250YWlucz1fLnBkO18uY2QucHJvdG90eXBlLmFjPV8ucWQ7dmFyIHNkPWZ1bmN0aW9uKCl7dGhpcy5pZD0iYiJ9O3NkLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlkfTtfLnRkPWZ1bmN0aW9uKGEsYil7dGhpcy50eXBlPWEgaW5zdGFuY2VvZiBzZD9TdHJpbmcoYSk6YTt0aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy50YXJnZXQ9Yjt0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9dGhpcy5oPSExfTtfLnRkLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXt0aGlzLmg9ITB9O18udGQucHJvdG90eXBlLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0UHJldmVudGVkPSEwfTt2YXIgdWQ9ZnVuY3Rpb24oKXtpZighXy50LmFkZEV2ZW50TGlzdGVuZXJ8fCFPYmplY3QuZGVmaW5lUHJvcGVydHkpcmV0dXJuITE7dmFyIGE9ITEsYj1PYmplY3QuZGVmaW5lUHJvcGVydHkoe30sInBhc3NpdmUiLHtnZXQ6ZnVuY3Rpb24oKXthPSEwfX0pO3RyeXt2YXIgYz1mdW5jdGlvbigpe307Xy50LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLGMsYik7Xy50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3QiLGMsYil9Y2F0Y2goZCl7fXJldHVybiBhfSgpO18ud2Q9ZnVuY3Rpb24oYSxiKXtfLnRkLmNhbGwodGhpcyxhP2EudHlwZToiIik7dGhpcy5yZWxhdGVkVGFyZ2V0PXRoaXMuY3VycmVudFRhcmdldD10aGlzLnRhcmdldD1udWxsO3RoaXMuYnV0dG9uPXRoaXMuc2NyZWVuWT10aGlzLnNjcmVlblg9dGhpcy5jbGllbnRZPXRoaXMuY2xpZW50WD10aGlzLm9mZnNldFk9dGhpcy5vZmZzZXRYPTA7dGhpcy5rZXk9IiI7dGhpcy5jaGFyQ29kZT10aGlzLmtleUNvZGU9MDt0aGlzLm1ldGFLZXk9dGhpcy5zaGlmdEtleT10aGlzLmFsdEtleT10aGlzLmN0cmxLZXk9ITE7dGhpcy5zdGF0ZT1udWxsO3RoaXMuaj0hMTt0aGlzLnBvaW50ZXJJZD0wO3RoaXMucG9pbnRlclR5cGU9IiI7dGhpcy50aW1lU3RhbXA9MDt0aGlzLmc9bnVsbDtpZihhKXt2YXIgYz10aGlzLnR5cGU9YS50eXBlLGQ9YS5jaGFuZ2VkVG91Y2hlcyYmYS5jaGFuZ2VkVG91Y2hlcy5sZW5ndGg/YS5jaGFuZ2VkVG91Y2hlc1swXTpudWxsO3RoaXMudGFyZ2V0PWEudGFyZ2V0fHwKYS5zcmNFbGVtZW50O3RoaXMuY3VycmVudFRhcmdldD1iOyhiPWEucmVsYXRlZFRhcmdldCk/Xy50YyYmKF8ucGMoYiwibm9kZU5hbWUiKXx8KGI9bnVsbCkpOiJtb3VzZW92ZXIiPT1jP2I9YS5mcm9tRWxlbWVudDoibW91c2VvdXQiPT1jJiYoYj1hLnRvRWxlbWVudCk7dGhpcy5yZWxhdGVkVGFyZ2V0PWI7ZD8odGhpcy5jbGllbnRYPXZvaWQgMCE9PWQuY2xpZW50WD9kLmNsaWVudFg6ZC5wYWdlWCx0aGlzLmNsaWVudFk9dm9pZCAwIT09ZC5jbGllbnRZP2QuY2xpZW50WTpkLnBhZ2VZLHRoaXMuc2NyZWVuWD1kLnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPWQuc2NyZWVuWXx8MCk6KHRoaXMub2Zmc2V0WD1fLnVjfHx2b2lkIDAhPT1hLm9mZnNldFg/YS5vZmZzZXRYOmEubGF5ZXJYLHRoaXMub2Zmc2V0WT1fLnVjfHx2b2lkIDAhPT1hLm9mZnNldFk/YS5vZmZzZXRZOmEubGF5ZXJZLHRoaXMuY2xpZW50WD12b2lkIDAhPT1hLmNsaWVudFg/YS5jbGllbnRYOmEucGFnZVgsdGhpcy5jbGllbnRZPQp2b2lkIDAhPT1hLmNsaWVudFk/YS5jbGllbnRZOmEucGFnZVksdGhpcy5zY3JlZW5YPWEuc2NyZWVuWHx8MCx0aGlzLnNjcmVlblk9YS5zY3JlZW5ZfHwwKTt0aGlzLmJ1dHRvbj1hLmJ1dHRvbjt0aGlzLmtleUNvZGU9YS5rZXlDb2RlfHwwO3RoaXMua2V5PWEua2V5fHwiIjt0aGlzLmNoYXJDb2RlPWEuY2hhckNvZGV8fCgia2V5cHJlc3MiPT1jP2Eua2V5Q29kZTowKTt0aGlzLmN0cmxLZXk9YS5jdHJsS2V5O3RoaXMuYWx0S2V5PWEuYWx0S2V5O3RoaXMuc2hpZnRLZXk9YS5zaGlmdEtleTt0aGlzLm1ldGFLZXk9YS5tZXRhS2V5O3RoaXMuaj1fLndjP2EubWV0YUtleTphLmN0cmxLZXk7dGhpcy5wb2ludGVySWQ9YS5wb2ludGVySWR8fDA7dGhpcy5wb2ludGVyVHlwZT0ic3RyaW5nIj09PXR5cGVvZiBhLnBvaW50ZXJUeXBlP2EucG9pbnRlclR5cGU6dmRbYS5wb2ludGVyVHlwZV18fCIiO3RoaXMuc3RhdGU9YS5zdGF0ZTt0aGlzLnRpbWVTdGFtcD1hLnRpbWVTdGFtcDt0aGlzLmc9CmE7YS5kZWZhdWx0UHJldmVudGVkJiZfLndkLk8ucHJldmVudERlZmF1bHQuY2FsbCh0aGlzKX19O18uQihfLndkLF8udGQpO3ZhciB2ZD17MjoidG91Y2giLDM6InBlbiIsNDoibW91c2UifTtfLndkLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXtfLndkLk8uc3RvcFByb3BhZ2F0aW9uLmNhbGwodGhpcyk7dGhpcy5nLnN0b3BQcm9wYWdhdGlvbj90aGlzLmcuc3RvcFByb3BhZ2F0aW9uKCk6dGhpcy5nLmNhbmNlbEJ1YmJsZT0hMH07Xy53ZC5wcm90b3R5cGUucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXtfLndkLk8ucHJldmVudERlZmF1bHQuY2FsbCh0aGlzKTt2YXIgYT10aGlzLmc7YS5wcmV2ZW50RGVmYXVsdD9hLnByZXZlbnREZWZhdWx0KCk6YS5yZXR1cm5WYWx1ZT0hMX07dmFyIHhkO3hkPSJjbG9zdXJlX2xpc3RlbmFibGVfIisoMUU2Kk1hdGgucmFuZG9tKCl8MCk7Xy55ZD1mdW5jdGlvbihhKXtyZXR1cm4hKCFhfHwhYVt4ZF0pfTt2YXIgemQ9MDt2YXIgQWQ9ZnVuY3Rpb24oYSxiLGMsZCxlKXt0aGlzLmxpc3RlbmVyPWE7dGhpcy5wcm94eT1udWxsO3RoaXMuc3JjPWI7dGhpcy50eXBlPWM7dGhpcy5jYXB0dXJlPSEhZDt0aGlzLmNkPWU7dGhpcy5rZXk9Kyt6ZDt0aGlzLnVjPXRoaXMuS2M9ITF9LEJkPWZ1bmN0aW9uKGEpe2EudWM9ITA7YS5saXN0ZW5lcj1udWxsO2EucHJveHk9bnVsbDthLnNyYz1udWxsO2EuY2Q9bnVsbH07dmFyIENkPWZ1bmN0aW9uKGEpe3RoaXMuc3JjPWE7dGhpcy5nPXt9O3RoaXMuaD0wfSxFZDtDZC5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9YS50b1N0cmluZygpO2E9dGhpcy5nW2ZdO2F8fChhPXRoaXMuZ1tmXT1bXSx0aGlzLmgrKyk7dmFyIGc9RGQoYSxiLGQsZSk7LTE8Zz8oYj1hW2ddLGN8fChiLktjPSExKSk6KGI9bmV3IEFkKGIsdGhpcy5zcmMsZiwhIWQsZSksYi5LYz1jLGEucHVzaChiKSk7cmV0dXJuIGJ9O0NkLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oYSxiLGMsZCl7YT1hLnRvU3RyaW5nKCk7aWYoIShhIGluIHRoaXMuZykpcmV0dXJuITE7dmFyIGU9dGhpcy5nW2FdO2I9RGQoZSxiLGMsZCk7cmV0dXJuLTE8Yj8oQmQoZVtiXSksQXJyYXkucHJvdG90eXBlLnNwbGljZS5jYWxsKGUsYiwxKSwwPT1lLmxlbmd0aCYmKGRlbGV0ZSB0aGlzLmdbYV0sdGhpcy5oLS0pLCEwKTohMX07CkVkPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi50eXBlO2lmKCEoYyBpbiBhLmcpKXJldHVybiExO3ZhciBkPV8udGEoYS5nW2NdLGIpO2QmJihCZChiKSwwPT1hLmdbY10ubGVuZ3RoJiYoZGVsZXRlIGEuZ1tjXSxhLmgtLSkpO3JldHVybiBkfTtfLkZkPWZ1bmN0aW9uKGEpe3ZhciBiPTAsYztmb3IoYyBpbiBhLmcpe2Zvcih2YXIgZD1hLmdbY10sZT0wO2U8ZC5sZW5ndGg7ZSsrKSsrYixCZChkW2VdKTtkZWxldGUgYS5nW2NdO2EuaC0tfX07Q2QucHJvdG90eXBlLm5jPWZ1bmN0aW9uKGEsYixjLGQpe2E9dGhpcy5nW2EudG9TdHJpbmcoKV07dmFyIGU9LTE7YSYmKGU9RGQoYSxiLGMsZCkpO3JldHVybi0xPGU/YVtlXTpudWxsfTsKQ2QucHJvdG90eXBlLmhhc0xpc3RlbmVyPWZ1bmN0aW9uKGEsYil7dmFyIGM9dm9pZCAwIT09YSxkPWM/YS50b1N0cmluZygpOiIiLGU9dm9pZCAwIT09YjtyZXR1cm4gS2EodGhpcy5nLGZ1bmN0aW9uKGYpe2Zvcih2YXIgZz0wO2c8Zi5sZW5ndGg7KytnKWlmKCEoYyYmZltnXS50eXBlIT1kfHxlJiZmW2ddLmNhcHR1cmUhPWIpKXJldHVybiEwO3JldHVybiExfSl9O3ZhciBEZD1mdW5jdGlvbihhLGIsYyxkKXtmb3IodmFyIGU9MDtlPGEubGVuZ3RoOysrZSl7dmFyIGY9YVtlXTtpZighZi51YyYmZi5saXN0ZW5lcj09YiYmZi5jYXB0dXJlPT0hIWMmJmYuY2Q9PWQpcmV0dXJuIGV9cmV0dXJuLTF9O3ZhciBHZCxIZCxJZCxMZCxOZCxPZCxQZCxTZCxLZDtHZD0iY2xvc3VyZV9sbV8iKygxRTYqTWF0aC5yYW5kb20oKXwwKTtIZD17fTtJZD0wO18uRz1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKGQmJmQub25jZSlyZXR1cm4gXy5KZChhLGIsYyxkLGUpO2lmKEFycmF5LmlzQXJyYXkoYikpe2Zvcih2YXIgZj0wO2Y8Yi5sZW5ndGg7ZisrKV8uRyhhLGJbZl0sYyxkLGUpO3JldHVybiBudWxsfWM9S2QoYyk7cmV0dXJuIF8ueWQoYSk/YS5JKGIsYyxfLndhKGQpPyEhZC5jYXB0dXJlOiEhZCxlKTpMZChhLGIsYywhMSxkLGUpfTsKTGQ9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2lmKCFiKXRocm93IEVycm9yKCJCIik7dmFyIGc9Xy53YShlKT8hIWUuY2FwdHVyZTohIWUsaD1fLk1kKGEpO2h8fChhW0dkXT1oPW5ldyBDZChhKSk7Yz1oLmFkZChiLGMsZCxnLGYpO2lmKGMucHJveHkpcmV0dXJuIGM7ZD1OZCgpO2MucHJveHk9ZDtkLnNyYz1hO2QubGlzdGVuZXI9YztpZihhLmFkZEV2ZW50TGlzdGVuZXIpdWR8fChlPWcpLHZvaWQgMD09PWUmJihlPSExKSxhLmFkZEV2ZW50TGlzdGVuZXIoYi50b1N0cmluZygpLGQsZSk7ZWxzZSBpZihhLmF0dGFjaEV2ZW50KWEuYXR0YWNoRXZlbnQoT2QoYi50b1N0cmluZygpKSxkKTtlbHNlIGlmKGEuYWRkTGlzdGVuZXImJmEucmVtb3ZlTGlzdGVuZXIpYS5hZGRMaXN0ZW5lcihkKTtlbHNlIHRocm93IEVycm9yKCJDIik7SWQrKztyZXR1cm4gY307TmQ9ZnVuY3Rpb24oKXt2YXIgYT1QZCxiPWZ1bmN0aW9uKGMpe3JldHVybiBhLmNhbGwoYi5zcmMsYi5saXN0ZW5lcixjKX07cmV0dXJuIGJ9OwpfLkpkPWZ1bmN0aW9uKGEsYixjLGQsZSl7aWYoQXJyYXkuaXNBcnJheShiKSl7Zm9yKHZhciBmPTA7ZjxiLmxlbmd0aDtmKyspXy5KZChhLGJbZl0sYyxkLGUpO3JldHVybiBudWxsfWM9S2QoYyk7cmV0dXJuIF8ueWQoYSk/YS5xYihiLGMsXy53YShkKT8hIWQuY2FwdHVyZTohIWQsZSk6TGQoYSxiLGMsITAsZCxlKX07Xy5RZD1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKEFycmF5LmlzQXJyYXkoYikpZm9yKHZhciBmPTA7ZjxiLmxlbmd0aDtmKyspXy5RZChhLGJbZl0sYyxkLGUpO2Vsc2UgZD1fLndhKGQpPyEhZC5jYXB0dXJlOiEhZCxjPUtkKGMpLF8ueWQoYSk/YS5SYShiLGMsZCxlKTphJiYoYT1fLk1kKGEpKSYmKGI9YS5uYyhiLGMsZCxlKSkmJl8uUmQoYil9OwpfLlJkPWZ1bmN0aW9uKGEpe2lmKCJudW1iZXIiPT09dHlwZW9mIGF8fCFhfHxhLnVjKXJldHVybiExO3ZhciBiPWEuc3JjO2lmKF8ueWQoYikpcmV0dXJuIEVkKGIuTGEsYSk7dmFyIGM9YS50eXBlLGQ9YS5wcm94eTtiLnJlbW92ZUV2ZW50TGlzdGVuZXI/Yi5yZW1vdmVFdmVudExpc3RlbmVyKGMsZCxhLmNhcHR1cmUpOmIuZGV0YWNoRXZlbnQ/Yi5kZXRhY2hFdmVudChPZChjKSxkKTpiLmFkZExpc3RlbmVyJiZiLnJlbW92ZUxpc3RlbmVyJiZiLnJlbW92ZUxpc3RlbmVyKGQpO0lkLS07KGM9Xy5NZChiKSk/KEVkKGMsYSksMD09Yy5oJiYoYy5zcmM9bnVsbCxiW0dkXT1udWxsKSk6QmQoYSk7cmV0dXJuITB9O09kPWZ1bmN0aW9uKGEpe3JldHVybiBhIGluIEhkP0hkW2FdOkhkW2FdPSJvbiIrYX07ClBkPWZ1bmN0aW9uKGEsYil7aWYoYS51YylhPSEwO2Vsc2V7Yj1uZXcgXy53ZChiLHRoaXMpO3ZhciBjPWEubGlzdGVuZXIsZD1hLmNkfHxhLnNyYzthLktjJiZfLlJkKGEpO2E9Yy5jYWxsKGQsYil9cmV0dXJuIGF9O18uTWQ9ZnVuY3Rpb24oYSl7YT1hW0dkXTtyZXR1cm4gYSBpbnN0YW5jZW9mIENkP2E6bnVsbH07U2Q9Il9fY2xvc3VyZV9ldmVudHNfZm5fIisoMUU5Kk1hdGgucmFuZG9tKCk+Pj4wKTtLZD1mdW5jdGlvbihhKXtpZigiZnVuY3Rpb24iPT09dHlwZW9mIGEpcmV0dXJuIGE7YVtTZF18fChhW1NkXT1mdW5jdGlvbihiKXtyZXR1cm4gYS5oYW5kbGVFdmVudChiKX0pO3JldHVybiBhW1NkXX07Xy5IPWZ1bmN0aW9uKCl7Xy5ELmNhbGwodGhpcyk7dGhpcy5MYT1uZXcgQ2QodGhpcyk7dGhpcy5naD10aGlzO3RoaXMudWQ9bnVsbH07Xy5CKF8uSCxfLkQpO18uSC5wcm90b3R5cGVbeGRdPSEwO18uaz1fLkgucHJvdG90eXBlO18uay54ZD1mdW5jdGlvbihhKXt0aGlzLnVkPWF9O18uay5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGEsYixjLGQpe18uRyh0aGlzLGEsYixjLGQpfTtfLmsucmVtb3ZlRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihhLGIsYyxkKXtfLlFkKHRoaXMsYSxiLGMsZCl9OwpfLmsuZGlzcGF0Y2hFdmVudD1mdW5jdGlvbihhKXt2YXIgYixjPXRoaXMudWQ7aWYoYylmb3IoYj1bXTtjO2M9Yy51ZCliLnB1c2goYyk7Yz10aGlzLmdoO3ZhciBkPWEudHlwZXx8YTtpZigic3RyaW5nIj09PXR5cGVvZiBhKWE9bmV3IF8udGQoYSxjKTtlbHNlIGlmKGEgaW5zdGFuY2VvZiBfLnRkKWEudGFyZ2V0PWEudGFyZ2V0fHxjO2Vsc2V7dmFyIGU9YTthPW5ldyBfLnRkKGQsYyk7T2EoYSxlKX1lPSEwO2lmKGIpZm9yKHZhciBmPWIubGVuZ3RoLTE7IWEuaCYmMDw9ZjtmLS0pe3ZhciBnPWEuY3VycmVudFRhcmdldD1iW2ZdO2U9VGQoZyxkLCEwLGEpJiZlfWEuaHx8KGc9YS5jdXJyZW50VGFyZ2V0PWMsZT1UZChnLGQsITAsYSkmJmUsYS5ofHwoZT1UZChnLGQsITEsYSkmJmUpKTtpZihiKWZvcihmPTA7IWEuaCYmZjxiLmxlbmd0aDtmKyspZz1hLmN1cnJlbnRUYXJnZXQ9YltmXSxlPVRkKGcsZCwhMSxhKSYmZTtyZXR1cm4gZX07Cl8uay5KPWZ1bmN0aW9uKCl7Xy5ILk8uSi5jYWxsKHRoaXMpO3RoaXMuTGEmJl8uRmQodGhpcy5MYSk7dGhpcy51ZD1udWxsfTtfLmsuST1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5MYS5hZGQoU3RyaW5nKGEpLGIsITEsYyxkKX07Xy5rLnFiPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLkxhLmFkZChTdHJpbmcoYSksYiwhMCxjLGQpfTtfLmsuUmE9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIHRoaXMuTGEucmVtb3ZlKFN0cmluZyhhKSxiLGMsZCl9O3ZhciBUZD1mdW5jdGlvbihhLGIsYyxkKXtiPWEuTGEuZ1tTdHJpbmcoYildO2lmKCFiKXJldHVybiEwO2I9Yi5jb25jYXQoKTtmb3IodmFyIGU9ITAsZj0wO2Y8Yi5sZW5ndGg7KytmKXt2YXIgZz1iW2ZdO2lmKGcmJiFnLnVjJiZnLmNhcHR1cmU9PWMpe3ZhciBoPWcubGlzdGVuZXIsbD1nLmNkfHxnLnNyYztnLktjJiZFZChhLkxhLGcpO2U9ITEhPT1oLmNhbGwobCxkKSYmZX19cmV0dXJuIGUmJiFkLmRlZmF1bHRQcmV2ZW50ZWR9OwpfLkgucHJvdG90eXBlLm5jPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLkxhLm5jKFN0cmluZyhhKSxiLGMsZCl9O18uSC5wcm90b3R5cGUuaGFzTGlzdGVuZXI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5MYS5oYXNMaXN0ZW5lcih2b2lkIDAhPT1hP1N0cmluZyhhKTp2b2lkIDAsYil9O3ZhciBVZD1mdW5jdGlvbihhKXtfLkguY2FsbCh0aGlzKTt0aGlzLmc9YXx8d2luZG93O3RoaXMuaD1fLkcodGhpcy5nLCJyZXNpemUiLHRoaXMubCwhMSx0aGlzKTt0aGlzLmo9Xy5qZCh0aGlzLmd8fHdpbmRvdyl9O18uQihVZCxfLkgpO1VkLnByb3RvdHlwZS5KPWZ1bmN0aW9uKCl7VWQuTy5KLmNhbGwodGhpcyk7dGhpcy5oJiYoXy5SZCh0aGlzLmgpLHRoaXMuaD1udWxsKTt0aGlzLmo9dGhpcy5nPW51bGx9O1VkLnByb3RvdHlwZS5sPWZ1bmN0aW9uKCl7dmFyIGE9Xy5qZCh0aGlzLmd8fHdpbmRvdyk7Xy5aYyhhLHRoaXMuail8fCh0aGlzLmo9YSx0aGlzLmRpc3BhdGNoRXZlbnQoInJlc2l6ZSIpKX07dmFyIFZkPWZ1bmN0aW9uKGEpe18uSC5jYWxsKHRoaXMpO3RoaXMuaj1hP18ucmQoYSk6d2luZG93O3RoaXMubz0xLjU8PXRoaXMuai5kZXZpY2VQaXhlbFJhdGlvPzI6MTt0aGlzLmg9KDAsXy5BKSh0aGlzLnMsdGhpcyk7dGhpcy5sPW51bGw7KHRoaXMuZz10aGlzLmoubWF0Y2hNZWRpYT90aGlzLmoubWF0Y2hNZWRpYSgiKG1pbi1yZXNvbHV0aW9uOiAxLjVkcHB4KSwgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS41KSIpOm51bGwpJiYiZnVuY3Rpb24iIT09dHlwZW9mIHRoaXMuZy5hZGRMaXN0ZW5lciYmImZ1bmN0aW9uIiE9PXR5cGVvZiB0aGlzLmcuYWRkRXZlbnRMaXN0ZW5lciYmKHRoaXMuZz1udWxsKX07Xy5CKFZkLF8uSCk7ClZkLnByb3RvdHlwZS5zdGFydD1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5nJiYoImZ1bmN0aW9uIj09PXR5cGVvZiB0aGlzLmcuYWRkRXZlbnRMaXN0ZW5lcj8odGhpcy5nLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsdGhpcy5oKSx0aGlzLmw9ZnVuY3Rpb24oKXthLmcucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixhLmgpfSk6KHRoaXMuZy5hZGRMaXN0ZW5lcih0aGlzLmgpLHRoaXMubD1mdW5jdGlvbigpe2EuZy5yZW1vdmVMaXN0ZW5lcihhLmgpfSkpfTtWZC5wcm90b3R5cGUucz1mdW5jdGlvbigpe3ZhciBhPTEuNTw9dGhpcy5qLmRldmljZVBpeGVsUmF0aW8/MjoxO3RoaXMubyE9YSYmKHRoaXMubz1hLHRoaXMuZGlzcGF0Y2hFdmVudCgiYSIpKX07VmQucHJvdG90eXBlLko9ZnVuY3Rpb24oKXt0aGlzLmwmJnRoaXMubCgpO1ZkLk8uSi5jYWxsKHRoaXMpfTt2YXIgV2Q9ZnVuY3Rpb24oYSxiKXtfLkQuY2FsbCh0aGlzKTt0aGlzLm89YTtpZihiKXtpZih0aGlzLmwpdGhyb3cgRXJyb3IoIkQiKTt0aGlzLmw9Yjt0aGlzLmg9Xy5lZChiKTt0aGlzLmc9bmV3IFVkKF8ua2QoYikpO3RoaXMuZy54ZCh0aGlzLm8uaCgpKTt0aGlzLmo9bmV3IFZkKHRoaXMuaCk7dGhpcy5qLnN0YXJ0KCl9fTtfLkIoV2QsXy5EKTtXZC5wcm90b3R5cGUuSj1mdW5jdGlvbigpe3RoaXMuaD10aGlzLmw9bnVsbDt0aGlzLmcmJih0aGlzLmcuUigpLHRoaXMuZz1udWxsKTtfLmNhKHRoaXMuaik7dGhpcy5qPW51bGx9O18ucWEoXy5hYyxXZCk7dmFyIFhkPWZ1bmN0aW9uKGEsYil7dGhpcy5sPWE7dGhpcy5qPWI7dGhpcy5oPTA7dGhpcy5nPW51bGx9O1hkLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oKXtpZigwPHRoaXMuaCl7dGhpcy5oLS07dmFyIGE9dGhpcy5nO3RoaXMuZz1hLm5leHQ7YS5uZXh0PW51bGx9ZWxzZSBhPXRoaXMubCgpO3JldHVybiBhfTt2YXIgWWQ9ZnVuY3Rpb24oYSxiKXthLmooYik7MTAwPmEuaCYmKGEuaCsrLGIubmV4dD1hLmcsYS5nPWIpfTt2YXIgWmQsJGQ9ZnVuY3Rpb24oKXt2YXIgYT1fLnQuTWVzc2FnZUNoYW5uZWw7InVuZGVmaW5lZCI9PT10eXBlb2YgYSYmInVuZGVmaW5lZCIhPT10eXBlb2Ygd2luZG93JiZ3aW5kb3cucG9zdE1lc3NhZ2UmJndpbmRvdy5hZGRFdmVudExpc3RlbmVyJiYhXy52KCJQcmVzdG8iKSYmKGE9ZnVuY3Rpb24oKXt2YXIgZT1fLmxkKGRvY3VtZW50LCJJRlJBTUUiKTtlLnN0eWxlLmRpc3BsYXk9Im5vbmUiO2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChlKTt2YXIgZj1lLmNvbnRlbnRXaW5kb3c7ZT1mLmRvY3VtZW50O2Uub3BlbigpO2UuY2xvc2UoKTt2YXIgZz0iY2FsbEltbWVkaWF0ZSIrTWF0aC5yYW5kb20oKSxoPSJmaWxlOiI9PWYubG9jYXRpb24ucHJvdG9jb2w/IioiOmYubG9jYXRpb24ucHJvdG9jb2wrIi8vIitmLmxvY2F0aW9uLmhvc3Q7ZT0oMCxfLkEpKGZ1bmN0aW9uKGwpe2lmKCgiKiI9PWh8fGwub3JpZ2luPT1oKSYmbC5kYXRhPT1nKXRoaXMucG9ydDEub25tZXNzYWdlKCl9LAp0aGlzKTtmLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGUsITEpO3RoaXMucG9ydDE9e307dGhpcy5wb3J0Mj17cG9zdE1lc3NhZ2U6ZnVuY3Rpb24oKXtmLnBvc3RNZXNzYWdlKGcsaCl9fX0pO2lmKCJ1bmRlZmluZWQiIT09dHlwZW9mIGEmJiFfLkVhKCkpe3ZhciBiPW5ldyBhLGM9e30sZD1jO2IucG9ydDEub25tZXNzYWdlPWZ1bmN0aW9uKCl7aWYodm9pZCAwIT09Yy5uZXh0KXtjPWMubmV4dDt2YXIgZT1jLm5mO2MubmY9bnVsbDtlKCl9fTtyZXR1cm4gZnVuY3Rpb24oZSl7ZC5uZXh0PXtuZjplfTtkPWQubmV4dDtiLnBvcnQyLnBvc3RNZXNzYWdlKDApfX1yZXR1cm4gZnVuY3Rpb24oZSl7Xy50LnNldFRpbWVvdXQoZSwwKX19O3ZhciBhZT1mdW5jdGlvbigpe3RoaXMuaD10aGlzLmc9bnVsbH07YWUucHJvdG90eXBlLmFkZD1mdW5jdGlvbihhLGIpe3ZhciBjPWJlLmdldCgpO2Muc2V0KGEsYik7dGhpcy5oP3RoaXMuaC5uZXh0PWM6dGhpcy5nPWM7dGhpcy5oPWN9O2FlLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oKXt2YXIgYT1udWxsO3RoaXMuZyYmKGE9dGhpcy5nLHRoaXMuZz10aGlzLmcubmV4dCx0aGlzLmd8fCh0aGlzLmg9bnVsbCksYS5uZXh0PW51bGwpO3JldHVybiBhfTt2YXIgYmU9bmV3IFhkKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBjZX0sZnVuY3Rpb24oYSl7cmV0dXJuIGEucmVzZXQoKX0pLGNlPWZ1bmN0aW9uKCl7dGhpcy5uZXh0PXRoaXMuZz10aGlzLmg9bnVsbH07Y2UucHJvdG90eXBlLnNldD1mdW5jdGlvbihhLGIpe3RoaXMuaD1hO3RoaXMuZz1iO3RoaXMubmV4dD1udWxsfTtjZS5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLm5leHQ9dGhpcy5nPXRoaXMuaD1udWxsfTt2YXIgZGUsZWU9ITEsZmU9bmV3IGFlLGhlPWZ1bmN0aW9uKGEsYil7ZGV8fGdlKCk7ZWV8fChkZSgpLGVlPSEwKTtmZS5hZGQoYSxiKX0sZ2U9ZnVuY3Rpb24oKXtpZihfLnQuUHJvbWlzZSYmXy50LlByb21pc2UucmVzb2x2ZSl7dmFyIGE9Xy50LlByb21pc2UucmVzb2x2ZSh2b2lkIDApO2RlPWZ1bmN0aW9uKCl7YS50aGVuKGllKX19ZWxzZSBkZT1mdW5jdGlvbigpe3ZhciBiPWllOyJmdW5jdGlvbiIhPT10eXBlb2YgXy50LnNldEltbWVkaWF0ZXx8Xy50LldpbmRvdyYmXy50LldpbmRvdy5wcm90b3R5cGUmJihfLkNhKCl8fCFfLnYoIkVkZ2UiKSkmJl8udC5XaW5kb3cucHJvdG90eXBlLnNldEltbWVkaWF0ZT09Xy50LnNldEltbWVkaWF0ZT8oWmR8fChaZD0kZCgpKSxaZChiKSk6Xy50LnNldEltbWVkaWF0ZShiKX19LGllPWZ1bmN0aW9uKCl7Zm9yKHZhciBhO2E9ZmUucmVtb3ZlKCk7KXt0cnl7YS5oLmNhbGwoYS5nKX1jYXRjaChiKXtiYShiKX1ZZChiZSxhKX1lZT0hMX07dmFyIGplPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiExO3RyeXtyZXR1cm4hIWEuJGdvb2dfVGhlbmFibGV9Y2F0Y2goYil7cmV0dXJuITF9fTt2YXIgbWUsd2UsdWUsc2U7Xy5sZT1mdW5jdGlvbihhKXt0aGlzLmc9MDt0aGlzLkE9dm9pZCAwO3RoaXMubD10aGlzLmg9dGhpcy5qPW51bGw7dGhpcy5vPXRoaXMucz0hMTtpZihhIT1fLk9iKXRyeXt2YXIgYj10aGlzO2EuY2FsbCh2b2lkIDAsZnVuY3Rpb24oYyl7Xy5rZShiLDIsYyl9LGZ1bmN0aW9uKGMpe18ua2UoYiwzLGMpfSl9Y2F0Y2goYyl7Xy5rZSh0aGlzLDMsYyl9fTttZT1mdW5jdGlvbigpe3RoaXMubmV4dD10aGlzLmo9dGhpcy5oPXRoaXMubD10aGlzLmc9bnVsbDt0aGlzLm89ITF9O21lLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuaj10aGlzLmg9dGhpcy5sPXRoaXMuZz1udWxsO3RoaXMubz0hMX07dmFyIG5lPW5ldyBYZChmdW5jdGlvbigpe3JldHVybiBuZXcgbWV9LGZ1bmN0aW9uKGEpe2EucmVzZXQoKX0pLG9lPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1uZS5nZXQoKTtkLmw9YTtkLmg9YjtkLmo9YztyZXR1cm4gZH07Cl8ubGUucHJvdG90eXBlLnRoZW49ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBwZSh0aGlzLCJmdW5jdGlvbiI9PT10eXBlb2YgYT9hOm51bGwsImZ1bmN0aW9uIj09PXR5cGVvZiBiP2I6bnVsbCxjKX07Xy5sZS5wcm90b3R5cGUuJGdvb2dfVGhlbmFibGU9ITA7Xy5sZS5wcm90b3R5cGUuQj1mdW5jdGlvbihhLGIpe3JldHVybiBwZSh0aGlzLG51bGwsYSxiKX07Xy5sZS5wcm90b3R5cGUuY2F0Y2g9Xy5sZS5wcm90b3R5cGUuQjtfLmxlLnByb3RvdHlwZS5jYW5jZWw9ZnVuY3Rpb24oYSl7aWYoMD09dGhpcy5nKXt2YXIgYj1uZXcgcWUoYSk7aGUoZnVuY3Rpb24oKXtyZSh0aGlzLGIpfSx0aGlzKX19Owp2YXIgcmU9ZnVuY3Rpb24oYSxiKXtpZigwPT1hLmcpaWYoYS5qKXt2YXIgYz1hLmo7aWYoYy5oKXtmb3IodmFyIGQ9MCxlPW51bGwsZj1udWxsLGc9Yy5oO2cmJihnLm98fChkKyssZy5nPT1hJiYoZT1nKSwhKGUmJjE8ZCkpKTtnPWcubmV4dCllfHwoZj1nKTtlJiYoMD09Yy5nJiYxPT1kP3JlKGMsYik6KGY/KGQ9ZixkLm5leHQ9PWMubCYmKGMubD1kKSxkLm5leHQ9ZC5uZXh0Lm5leHQpOnNlKGMpLHRlKGMsZSwzLGIpKSl9YS5qPW51bGx9ZWxzZSBfLmtlKGEsMyxiKX0sdmU9ZnVuY3Rpb24oYSxiKXthLmh8fDIhPWEuZyYmMyE9YS5nfHx1ZShhKTthLmw/YS5sLm5leHQ9YjphLmg9YjthLmw9Yn0scGU9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9b2UobnVsbCxudWxsLG51bGwpO2UuZz1uZXcgXy5sZShmdW5jdGlvbihmLGcpe2UubD1iP2Z1bmN0aW9uKGgpe3RyeXt2YXIgbD1iLmNhbGwoZCxoKTtmKGwpfWNhdGNoKG0pe2cobSl9fTpmO2UuaD1jP2Z1bmN0aW9uKGgpe3RyeXt2YXIgbD0KYy5jYWxsKGQsaCk7dm9pZCAwPT09bCYmaCBpbnN0YW5jZW9mIHFlP2coaCk6ZihsKX1jYXRjaChtKXtnKG0pfX06Z30pO2UuZy5qPWE7dmUoYSxlKTtyZXR1cm4gZS5nfTtfLmxlLnByb3RvdHlwZS5EPWZ1bmN0aW9uKGEpe3RoaXMuZz0wO18ua2UodGhpcywyLGEpfTtfLmxlLnByb3RvdHlwZS5HPWZ1bmN0aW9uKGEpe3RoaXMuZz0wO18ua2UodGhpcywzLGEpfTsKXy5rZT1mdW5jdGlvbihhLGIsYyl7aWYoMD09YS5nKXthPT09YyYmKGI9MyxjPW5ldyBUeXBlRXJyb3IoIkUiKSk7YS5nPTE7YTp7dmFyIGQ9YyxlPWEuRCxmPWEuRztpZihkIGluc3RhbmNlb2YgXy5sZSl7dmUoZCxvZShlfHxfLk9iLGZ8fG51bGwsYSkpO3ZhciBnPSEwfWVsc2UgaWYoamUoZCkpZC50aGVuKGUsZixhKSxnPSEwO2Vsc2V7aWYoXy53YShkKSl0cnl7dmFyIGg9ZC50aGVuO2lmKCJmdW5jdGlvbiI9PT10eXBlb2YgaCl7d2UoZCxoLGUsZixhKTtnPSEwO2JyZWFrIGF9fWNhdGNoKGwpe2YuY2FsbChhLGwpO2c9ITA7YnJlYWsgYX1nPSExfX1nfHwoYS5BPWMsYS5nPWIsYS5qPW51bGwsdWUoYSksMyE9Ynx8YyBpbnN0YW5jZW9mIHFlfHx4ZShhLGMpKX19O3dlPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9ITEsZz1mdW5jdGlvbihsKXtmfHwoZj0hMCxjLmNhbGwoZSxsKSl9LGg9ZnVuY3Rpb24obCl7Znx8KGY9ITAsZC5jYWxsKGUsbCkpfTt0cnl7Yi5jYWxsKGEsZyxoKX1jYXRjaChsKXtoKGwpfX07CnVlPWZ1bmN0aW9uKGEpe2Euc3x8KGEucz0hMCxoZShhLkYsYSkpfTtzZT1mdW5jdGlvbihhKXt2YXIgYj1udWxsO2EuaCYmKGI9YS5oLGEuaD1iLm5leHQsYi5uZXh0PW51bGwpO2EuaHx8KGEubD1udWxsKTtyZXR1cm4gYn07Xy5sZS5wcm90b3R5cGUuRj1mdW5jdGlvbigpe2Zvcih2YXIgYTthPXNlKHRoaXMpOyl0ZSh0aGlzLGEsdGhpcy5nLHRoaXMuQSk7dGhpcy5zPSExfTsKdmFyIHRlPWZ1bmN0aW9uKGEsYixjLGQpe2lmKDM9PWMmJmIuaCYmIWIubylmb3IoO2EmJmEubzthPWEuailhLm89ITE7aWYoYi5nKWIuZy5qPW51bGwseWUoYixjLGQpO2Vsc2UgdHJ5e2Iubz9iLmwuY2FsbChiLmopOnllKGIsYyxkKX1jYXRjaChlKXt6ZS5jYWxsKG51bGwsZSl9WWQobmUsYil9LHllPWZ1bmN0aW9uKGEsYixjKXsyPT1iP2EubC5jYWxsKGEuaixjKTphLmgmJmEuaC5jYWxsKGEuaixjKX0seGU9ZnVuY3Rpb24oYSxiKXthLm89ITA7aGUoZnVuY3Rpb24oKXthLm8mJnplLmNhbGwobnVsbCxiKX0pfSx6ZT1iYSxxZT1mdW5jdGlvbihhKXtfLmFhLmNhbGwodGhpcyxhKX07Xy5CKHFlLF8uYWEpO3FlLnByb3RvdHlwZS5uYW1lPSJjYW5jZWwiOy8qCgogQ29weXJpZ2h0IDIwMDUsIDIwMDcgQm9iIElwcG9saXRvLiBBbGwgUmlnaHRzIFJlc2VydmVkLgogQ29weXJpZ2h0IFRoZSBDbG9zdXJlIExpYnJhcnkgQXV0aG9ycy4KIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQKKi8KdmFyIEFlPWZ1bmN0aW9uKGEsYil7dGhpcy5zPVtdO3RoaXMuSD1hO3RoaXMuSz1ifHxudWxsO3RoaXMubD10aGlzLmc9ITE7dGhpcy5qPXZvaWQgMDt0aGlzLkQ9dGhpcy5NPXRoaXMuQj0hMTt0aGlzLkE9MDt0aGlzLmg9bnVsbDt0aGlzLm89MH07Xy5CKEFlLFZhKTtBZS5wcm90b3R5cGUuY2FuY2VsPWZ1bmN0aW9uKGEpe2lmKHRoaXMuZyl0aGlzLmogaW5zdGFuY2VvZiBBZSYmdGhpcy5qLmNhbmNlbCgpO2Vsc2V7aWYodGhpcy5oKXt2YXIgYj10aGlzLmg7ZGVsZXRlIHRoaXMuaDthP2IuY2FuY2VsKGEpOihiLm8tLSwwPj1iLm8mJmIuY2FuY2VsKCkpfXRoaXMuSD90aGlzLkguY2FsbCh0aGlzLkssdGhpcyk6dGhpcy5EPSEwO3RoaXMuZ3x8dGhpcy5GKG5ldyBCZSh0aGlzKSl9fTtBZS5wcm90b3R5cGUuRz1mdW5jdGlvbihhLGIpe3RoaXMuQj0hMTtDZSh0aGlzLGEsYil9Owp2YXIgQ2U9ZnVuY3Rpb24oYSxiLGMpe2EuZz0hMDthLmo9YzthLmw9IWI7RGUoYSl9LEZlPWZ1bmN0aW9uKGEpe2lmKGEuZyl7aWYoIWEuRCl0aHJvdyBuZXcgRWUoYSk7YS5EPSExfX07QWUucHJvdG90eXBlLmNhbGxiYWNrPWZ1bmN0aW9uKGEpe0ZlKHRoaXMpO0NlKHRoaXMsITAsYSl9O0FlLnByb3RvdHlwZS5GPWZ1bmN0aW9uKGEpe0ZlKHRoaXMpO0NlKHRoaXMsITEsYSl9O3ZhciBIZT1mdW5jdGlvbihhLGIsYyl7R2UoYSxiLG51bGwsYyl9LEllPWZ1bmN0aW9uKGEsYixjKXtHZShhLG51bGwsYixjKX0sR2U9ZnVuY3Rpb24oYSxiLGMsZCl7YS5zLnB1c2goW2IsYyxkXSk7YS5nJiZEZShhKX07CkFlLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGY9bmV3IF8ubGUoZnVuY3Rpb24oZyxoKXtlPWc7ZD1ofSk7R2UodGhpcyxlLGZ1bmN0aW9uKGcpe2cgaW5zdGFuY2VvZiBCZT9mLmNhbmNlbCgpOmQoZyk7cmV0dXJuIEplfSx0aGlzKTtyZXR1cm4gZi50aGVuKGEsYixjKX07QWUucHJvdG90eXBlLiRnb29nX1RoZW5hYmxlPSEwO3ZhciBLZT1mdW5jdGlvbihhLGIpe2IgaW5zdGFuY2VvZiBBZT9IZShhLCgwLF8uQSkoYi5iYSxiKSk6SGUoYSxmdW5jdGlvbigpe3JldHVybiBifSl9O0FlLnByb3RvdHlwZS5iYT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgQWU7R2UodGhpcyxiLmNhbGxiYWNrLGIuRixiKTthJiYoYi5oPXRoaXMsdGhpcy5vKyspO3JldHVybiBifTsKdmFyIExlPWZ1bmN0aW9uKGEpe3JldHVybiBfLmdjKGEucyxmdW5jdGlvbihiKXtyZXR1cm4iZnVuY3Rpb24iPT09dHlwZW9mIGJbMV19KX0sSmU9e30sRGU9ZnVuY3Rpb24oYSl7aWYoYS5BJiZhLmcmJkxlKGEpKXt2YXIgYj1hLkEsYz1NZVtiXTtjJiYoXy50LmNsZWFyVGltZW91dChjLmcpLGRlbGV0ZSBNZVtiXSk7YS5BPTB9YS5oJiYoYS5oLm8tLSxkZWxldGUgYS5oKTtiPWEuajtmb3IodmFyIGQ9Yz0hMTthLnMubGVuZ3RoJiYhYS5COyl7dmFyIGU9YS5zLnNoaWZ0KCksZj1lWzBdLGc9ZVsxXTtlPWVbMl07aWYoZj1hLmw/ZzpmKXRyeXt2YXIgaD1mLmNhbGwoZXx8YS5LLGIpO2g9PT1KZSYmKGg9dm9pZCAwKTt2b2lkIDAhPT1oJiYoYS5sPWEubCYmKGg9PWJ8fGggaW5zdGFuY2VvZiBFcnJvciksYS5qPWI9aCk7aWYoamUoYil8fCJmdW5jdGlvbiI9PT10eXBlb2YgXy50LlByb21pc2UmJmIgaW5zdGFuY2VvZiBfLnQuUHJvbWlzZSlkPSEwLGEuQj0hMH1jYXRjaChsKXtiPWwsCmEubD0hMCxMZShhKXx8KGM9ITApfX1hLmo9YjtkJiYoaD0oMCxfLkEpKGEuRyxhLCEwKSxkPSgwLF8uQSkoYS5HLGEsITEpLGIgaW5zdGFuY2VvZiBBZT8oR2UoYixoLGQpLGIuTT0hMCk6Yi50aGVuKGgsZCkpO2MmJihiPW5ldyBOZShiKSxNZVtiLmddPWIsYS5BPWIuZyl9LEVlPWZ1bmN0aW9uKCl7Xy5hYS5jYWxsKHRoaXMpfTtfLkIoRWUsXy5hYSk7RWUucHJvdG90eXBlLm1lc3NhZ2U9IkRlZmVycmVkIGhhcyBhbHJlYWR5IGZpcmVkIjtFZS5wcm90b3R5cGUubmFtZT0iQWxyZWFkeUNhbGxlZEVycm9yIjt2YXIgQmU9ZnVuY3Rpb24oKXtfLmFhLmNhbGwodGhpcyl9O18uQihCZSxfLmFhKTtCZS5wcm90b3R5cGUubWVzc2FnZT0iRGVmZXJyZWQgd2FzIGNhbmNlbGVkIjtCZS5wcm90b3R5cGUubmFtZT0iQ2FuY2VsZWRFcnJvciI7dmFyIE5lPWZ1bmN0aW9uKGEpe3RoaXMuZz1fLnQuc2V0VGltZW91dCgoMCxfLkEpKHRoaXMudGhyb3dFcnJvcix0aGlzKSwwKTt0aGlzLmg9YX07Ck5lLnByb3RvdHlwZS50aHJvd0Vycm9yPWZ1bmN0aW9uKCl7ZGVsZXRlIE1lW3RoaXMuZ107dGhyb3cgdGhpcy5oO307dmFyIE1lPXt9O3ZhciBPZT1mdW5jdGlvbihhLGIpe3RoaXMudHlwZT1hO3RoaXMuc3RhdHVzPWJ9O09lLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiBQZSh0aGlzKSsiICgiKyh2b2lkIDAhPXRoaXMuc3RhdHVzP3RoaXMuc3RhdHVzOiI/IikrIikifTt2YXIgUGU9ZnVuY3Rpb24oYSl7c3dpdGNoKGEudHlwZSl7Y2FzZSBPZS5nLmVmOnJldHVybiJVbmF1dGhvcml6ZWQiO2Nhc2UgT2UuZy5TZTpyZXR1cm4iQ29uc2VjdXRpdmUgbG9hZCBmYWlsdXJlcyI7Y2FzZSBPZS5nLlRJTUVPVVQ6cmV0dXJuIlRpbWVkIG91dCI7Y2FzZSBPZS5nLmNmOnJldHVybiJPdXQgb2YgZGF0ZSBtb2R1bGUgaWQiO2Nhc2UgT2UuZy5FZDpyZXR1cm4iSW5pdCBlcnJvciI7ZGVmYXVsdDpyZXR1cm4iVW5rbm93biBmYWlsdXJlIHR5cGUgIithLnR5cGV9fTtEYi5KYT1PZTtEYi5KYS5nPXtlZjowLFNlOjEsVElNRU9VVDoyLGNmOjMsRWQ6NH07dmFyIFFlPWZ1bmN0aW9uKCl7WmIuY2FsbCh0aGlzKTt0aGlzLlQ9bnVsbDt0aGlzLmc9e307dGhpcy5sPVtdO3RoaXMubz1bXTt0aGlzLks9W107dGhpcy5oPVtdO3RoaXMuQT1bXTt0aGlzLnM9e307dGhpcy5NPXt9O3RoaXMuaj10aGlzLkY9bmV3IFdiKFtdLCIiKTt0aGlzLmJhPW51bGw7dGhpcy5HPW5ldyBBZTt0aGlzLkg9ITE7dGhpcy5EPTA7dGhpcy5QPXRoaXMuVz10aGlzLlU9ITF9O18uQihRZSxaYik7dmFyIFJlPWZ1bmN0aW9uKGEsYil7Xy5hYS5jYWxsKHRoaXMsIkVycm9yIGxvYWRpbmcgIithKyI6ICIrYil9O18uQihSZSxfLmFhKTtfLms9UWUucHJvdG90eXBlO18uay51Zz1mdW5jdGlvbihhKXt0aGlzLkg9YX07Cl8uay5GZT1mdW5jdGlvbihhLGIpe2lmKCEodGhpcyBpbnN0YW5jZW9mIFFlKSl0aGlzLkZlKGEsYik7ZWxzZSBpZigic3RyaW5nIj09PXR5cGVvZiBhKXthPWEuc3BsaXQoIi8iKTtmb3IodmFyIGM9W10sZD0wO2Q8YS5sZW5ndGg7ZCsrKXt2YXIgZT1hW2RdLnNwbGl0KCI6IiksZj1lWzBdO2lmKGVbMV0pe2U9ZVsxXS5zcGxpdCgiLCIpO2Zvcih2YXIgZz0wO2c8ZS5sZW5ndGg7ZysrKWVbZ109Y1twYXJzZUludChlW2ddLDM2KV19ZWxzZSBlPVtdO2MucHVzaChmKTt0aGlzLmdbZl0/KGY9dGhpcy5nW2ZdLmgsZiE9ZSYmZi5zcGxpY2UuYXBwbHkoZixbMCxmLmxlbmd0aF0uY29uY2F0KF8ubGIoZSkpKSk6dGhpcy5nW2ZdPW5ldyBXYihlLGYpfWImJmIubGVuZ3RoPyh2YSh0aGlzLmwsYiksdGhpcy5iYT1iW2IubGVuZ3RoLTFdKTp0aGlzLkcuZ3x8dGhpcy5HLmNhbGxiYWNrKCk7dGhpcy5UPWM7T2JqZWN0LmZyZWV6ZSh0aGlzLlQpO1NlKHRoaXMpfX07Cl8uay5yZz1mdW5jdGlvbihhLGIpe2lmKHRoaXMuc1thXSl7ZGVsZXRlIHRoaXMuc1thXVtiXTtmb3IodmFyIGMgaW4gdGhpcy5zW2FdKXJldHVybjtkZWxldGUgdGhpcy5zW2FdfX07Xy5rLkdlPWZ1bmN0aW9uKGEpe1FlLk8uR2UuY2FsbCh0aGlzLGEpO1NlKHRoaXMpfTtfLmsuaXNBY3RpdmU9ZnVuY3Rpb24oKXtyZXR1cm4gMDx0aGlzLmwubGVuZ3RofTtfLmsuVGY9ZnVuY3Rpb24oKXtyZXR1cm4gMDx0aGlzLkEubGVuZ3RofTsKdmFyIFVlPWZ1bmN0aW9uKGEpe3ZhciBiPWEuVSxjPWEuaXNBY3RpdmUoKTtjIT1iJiYoVGUoYSxjPyJhY3RpdmUiOiJpZGxlIiksYS5VPWMpO2I9YS5UZigpO2IhPWEuVyYmKFRlKGEsYj8idXNlckFjdGl2ZSI6InVzZXJJZGxlIiksYS5XPWIpfSxYZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9W107eWEoYixkKTtiPVtdO2Zvcih2YXIgZT17fSxmPTA7ZjxkLmxlbmd0aDtmKyspe3ZhciBnPWRbZl0saD1hLmdbZ107aWYoIWgpdGhyb3cgRXJyb3IoIkZgIitnKTt2YXIgbD1uZXcgQWU7ZVtnXT1sO2guZz9sLmNhbGxiYWNrKGEucWEpOihWZShhLGcsaCwhIWMsbCksV2UoYSxnKXx8Yi5wdXNoKGcpKX0wPGIubGVuZ3RoJiYoMD09PWEubC5sZW5ndGg/YS5OKGIpOihhLmgucHVzaChiKSxVZShhKSkpO3JldHVybiBlfSxWZT1mdW5jdGlvbihhLGIsYyxkLGUpe2Muby5wdXNoKG5ldyBWYihlLmNhbGxiYWNrLGUpKTtYYihjLGZ1bmN0aW9uKGYpe2UuRihuZXcgUmUoYixmKSl9KTtXZShhLGIpPwpkJiYoXy51KGEuQSxiKXx8YS5BLnB1c2goYiksVWUoYSkpOmQmJihfLnUoYS5BLGIpfHxhLkEucHVzaChiKSl9OwpRZS5wcm90b3R5cGUuTj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcztifHwodGhpcy5EPTApO3ZhciBlPVllKHRoaXMsYSk7dGhpcy5sPWU7dGhpcy5vPXRoaXMuSD9hOl8udWEoZSk7VWUodGhpcyk7aWYoMCE9PWUubGVuZ3RoKXt0aGlzLksucHVzaC5hcHBseSh0aGlzLkssZSk7aWYoMDxPYmplY3Qua2V5cyh0aGlzLnMpLmxlbmd0aCYmIXRoaXMuQi5IKXRocm93IEVycm9yKCJHIik7YT0oMCxfLkEpKHRoaXMuQi5HLHRoaXMuQixfLnVhKGUpLHRoaXMuZyx7dGg6dGhpcy5zLHZoOiEhYyxyZTpmdW5jdGlvbihmKXt2YXIgZz1kLm87Zj1udWxsIT1mP2Y6dm9pZCAwO2QuRCsrO2Qubz1nO2UuZm9yRWFjaChfLkpiKF8udGEsZC5LKSxkKTs0MDE9PWY/KFplKGQsbmV3IERiLkphKERiLkphLmcuZWYsZikpLGQuaC5sZW5ndGg9MCk6NDEwPT1mPygkZShkLG5ldyBEYi5KYShEYi5KYS5nLmNmLGYpKSxhZihkKSk6Mzw9ZC5EPygkZShkLG5ldyBEYi5KYShEYi5KYS5nLlNlLGYpKSxhZihkKSk6CmQuTihkLm8sITAsODAwMT09Zil9LExpOigwLF8uQSkodGhpcy5hYSx0aGlzKX0pOyhiPTVFMypNYXRoLnBvdyh0aGlzLkQsMikpP18udC5zZXRUaW1lb3V0KGEsYik6YSgpfX07CnZhciBZZT1mdW5jdGlvbihhLGIpe2I9Yi5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuIGEuZ1tlXS5nPyhfLnQuc2V0VGltZW91dChmdW5jdGlvbigpe3JldHVybiBFcnJvcigiSGAiK2UpfSwwKSwhMSk6ITB9KTtmb3IodmFyIGM9W10sZD0wO2Q8Yi5sZW5ndGg7ZCsrKWM9Yy5jb25jYXQoYmYoYSxiW2RdKSk7eWEoYyk7cmV0dXJuIWEuSCYmMTxjLmxlbmd0aD8oYj1jLnNoaWZ0KCksYS5oPWMubWFwKGZ1bmN0aW9uKGUpe3JldHVybltlXX0pLmNvbmNhdChhLmgpLFtiXSk6Y30sYmY9ZnVuY3Rpb24oYSxiKXt2YXIgYz1QYShhLkspLGQ9W107Y1tiXXx8ZC5wdXNoKGIpO2I9W2JdO2Zvcih2YXIgZT0wO2U8Yi5sZW5ndGg7ZSsrKWZvcih2YXIgZj1hLmdbYltlXV0uaCxnPWYubGVuZ3RoLTE7MDw9ZztnLS0pe3ZhciBoPWZbZ107YS5nW2hdLmd8fGNbaF18fChkLnB1c2goaCksYi5wdXNoKGgpKX1kLnJldmVyc2UoKTt5YShkKTtyZXR1cm4gZH0sU2U9ZnVuY3Rpb24oYSl7YS5qPT1hLkYmJgooYS5qPW51bGwsYS5GLm9uTG9hZCgoMCxfLkEpKGEuemYsYSkpJiZaZShhLG5ldyBEYi5KYShEYi5KYS5nLkVkKSksVWUoYSkpfSxuYT1mdW5jdGlvbihhKXtpZihhLmope3ZhciBiPWEuai5NYSgpLGM9W107aWYoYS5zW2JdKXtmb3IodmFyIGQ9Xy55KE9iamVjdC5rZXlzKGEuc1tiXSkpLGU9ZC5uZXh0KCk7IWUuZG9uZTtlPWQubmV4dCgpKXtlPWUudmFsdWU7dmFyIGY9YS5nW2VdO2YmJiFmLmcmJihhLnJnKGIsZSksYy5wdXNoKGUpKX1YZShhLGMpfWEuWGEoKXx8KGEuZ1tiXS5vbkxvYWQoKDAsXy5BKShhLnpmLGEpKSYmWmUoYSxuZXcgRGIuSmEoRGIuSmEuZy5FZCkpLF8udGEoYS5BLGIpLF8udGEoYS5sLGIpLDA9PT1hLmwubGVuZ3RoJiZhZihhKSxhLmJhJiZiPT1hLmJhJiYoYS5HLmd8fGEuRy5jYWxsYmFjaygpKSxVZShhKSxhLmo9bnVsbCl9fSxXZT1mdW5jdGlvbihhLGIpe2lmKF8udShhLmwsYikpcmV0dXJuITA7Zm9yKHZhciBjPTA7YzxhLmgubGVuZ3RoO2MrKylpZihfLnUoYS5oW2NdLApiKSlyZXR1cm4hMDtyZXR1cm4hMX07UWUucHJvdG90eXBlLmxvYWQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gWGUodGhpcyxbYV0sYilbYV19O3ZhciBsYT1mdW5jdGlvbihhKXt2YXIgYj1fLmZhO2IuaiYmInN5bnRoZXRpY19tb2R1bGVfb3ZlcmhlYWQiPT09Yi5qLk1hKCkmJihuYShiKSxkZWxldGUgYi5nLnN5bnRoZXRpY19tb2R1bGVfb3ZlcmhlYWQpO2IuZ1thXSYmY2YoYixiLmdbYV0uaHx8W10sZnVuY3Rpb24oYyl7Yy5nPW5ldyBVYjtfLnRhKGIubCxjLk1hKCkpfSxmdW5jdGlvbihjKXtyZXR1cm4hYy5nfSk7Yi5qPWIuZ1thXX07UWUucHJvdG90eXBlLnBnPWZ1bmN0aW9uKGEpe3RoaXMuanx8KHRoaXMuZy5zeW50aGV0aWNfbW9kdWxlX292ZXJoZWFkPW5ldyBXYihbXSwic3ludGhldGljX21vZHVsZV9vdmVyaGVhZCIpLHRoaXMuaj10aGlzLmcuc3ludGhldGljX21vZHVsZV9vdmVyaGVhZCk7dGhpcy5qLmoucHVzaChuZXcgVmIoYSkpfTsKUWUucHJvdG90eXBlLmFhPWZ1bmN0aW9uKCl7JGUodGhpcyxuZXcgRGIuSmEoRGIuSmEuZy5USU1FT1VUKSk7YWYodGhpcyl9Owp2YXIgJGU9ZnVuY3Rpb24oYSxiKXsxPGEuby5sZW5ndGg/YS5oPWEuby5tYXAoZnVuY3Rpb24oYyl7cmV0dXJuW2NdfSkuY29uY2F0KGEuaCk6WmUoYSxiKX0sWmU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLm87YS5sLmxlbmd0aD0wO2Zvcih2YXIgZD1bXSxlPTA7ZTxhLmgubGVuZ3RoO2UrKyl7dmFyIGY9YS5oW2VdLmZpbHRlcihmdW5jdGlvbihsKXt2YXIgbT1iZih0aGlzLGwpO3JldHVybiBfLmdjKGMsZnVuY3Rpb24obil7cmV0dXJuIF8udShtLG4pfSl9LGEpO3ZhKGQsZil9Zm9yKGU9MDtlPGMubGVuZ3RoO2UrKylfLnNhKGQsY1tlXSk7Zm9yKGU9MDtlPGQubGVuZ3RoO2UrKyl7Zm9yKGY9MDtmPGEuaC5sZW5ndGg7ZisrKV8udGEoYS5oW2ZdLGRbZV0pO18udGEoYS5BLGRbZV0pfXZhciBnPWEuTS5lcnJvcjtpZihnKWZvcihlPTA7ZTxnLmxlbmd0aDtlKyspe3ZhciBoPWdbZV07Zm9yKGY9MDtmPGQubGVuZ3RoO2YrKyloKCJlcnJvciIsZFtmXSxiKX1mb3IoZT0wO2U8Yy5sZW5ndGg7ZSsrKWEuZ1tjW2VdXSYmCmEuZ1tjW2VdXS5yZShiKTthLm8ubGVuZ3RoPTA7VWUoYSl9LGFmPWZ1bmN0aW9uKGEpe2Zvcig7YS5oLmxlbmd0aDspe3ZhciBiPWEuaC5zaGlmdCgpLmZpbHRlcihmdW5jdGlvbihjKXtyZXR1cm4hdGhpcy5nW2NdLmd9LGEpO2lmKDA8Yi5sZW5ndGgpe2EuTihiKTtyZXR1cm59fVVlKGEpfSxUZT1mdW5jdGlvbihhLGIpe2E9YS5NW2JdO2Zvcih2YXIgYz0wO2EmJmM8YS5sZW5ndGg7YysrKWFbY10oYil9LGNmPWZ1bmN0aW9uKGEsYixjLGQsZSl7ZD12b2lkIDA9PT1kP2Z1bmN0aW9uKCl7cmV0dXJuITB9OmQ7ZT12b2lkIDA9PT1lP3t9OmU7Yj1fLnkoYik7Zm9yKHZhciBmPWIubmV4dCgpOyFmLmRvbmU7Zj1iLm5leHQoKSl7Zj1mLnZhbHVlO3ZhciBnPWEuZ1tmXTshZVtmXSYmZChnKSYmKGVbZl09ITAsY2YoYSxnLmh8fFtdLGMsZCxlKSxjKGcpKX19OwpRZS5wcm90b3R5cGUuUj1mdW5jdGlvbigpe2VhKExhKHRoaXMuZyksdGhpcy5GKTt0aGlzLmc9e307dGhpcy5sPVtdO3RoaXMubz1bXTt0aGlzLkE9W107dGhpcy5oPVtdO3RoaXMuTT17fTt0aGlzLlA9ITB9O1FlLnByb3RvdHlwZS5YYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLlB9O18uaGE9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFFlfTt2YXIgZGY9ZnVuY3Rpb24oYSxiKXt0aGlzLmc9YVtfLnQuU3ltYm9sLml0ZXJhdG9yXSgpO3RoaXMuaD1ifTtkZi5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfTtkZi5wcm90b3R5cGUubmV4dD1mdW5jdGlvbigpe3ZhciBhPXRoaXMuZy5uZXh0KCk7cmV0dXJue3ZhbHVlOmEuZG9uZT92b2lkIDA6dGhpcy5oLmNhbGwodm9pZCAwLGEudmFsdWUpLGRvbmU6YS5kb25lfX07dmFyIGVmPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBkZihhLGIpfTtfLmZmPWZ1bmN0aW9uKCl7fTtfLmZmLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKCl7cmV0dXJuIF8uZ2Z9O18uZ2Y9e2RvbmU6ITAsdmFsdWU6dm9pZCAwfTtfLmZmLnByb3RvdHlwZS5tYj1mdW5jdGlvbigpe3JldHVybiB0aGlzfTt2YXIgbGY9ZnVuY3Rpb24oYSl7aWYoYSBpbnN0YW5jZW9mIGhmfHxhIGluc3RhbmNlb2YgamZ8fGEgaW5zdGFuY2VvZiBrZilyZXR1cm4gYTtpZigiZnVuY3Rpb24iPT10eXBlb2YgYS5uZXh0KXJldHVybiBuZXcgaGYoZnVuY3Rpb24oKXtyZXR1cm4gYX0pO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBhW1N5bWJvbC5pdGVyYXRvcl0pcmV0dXJuIG5ldyBoZihmdW5jdGlvbigpe3JldHVybiBhW1N5bWJvbC5pdGVyYXRvcl0oKX0pO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBhLm1iKXJldHVybiBuZXcgaGYoZnVuY3Rpb24oKXtyZXR1cm4gYS5tYigpfSk7dGhyb3cgRXJyb3IoIkkiKTt9LGhmPWZ1bmN0aW9uKGEpe3RoaXMuZz1hfTtoZi5wcm90b3R5cGUubWI9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGpmKHRoaXMuZygpKX07aGYucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGtmKHRoaXMuZygpKX07aGYucHJvdG90eXBlLmg9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGtmKHRoaXMuZygpKX07CnZhciBqZj1mdW5jdGlvbihhKXt0aGlzLmc9YX07Xy56KGpmLF8uZmYpO2pmLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZy5uZXh0KCl9O2pmLnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBrZih0aGlzLmcpfTtqZi5wcm90b3R5cGUuaD1mdW5jdGlvbigpe3JldHVybiBuZXcga2YodGhpcy5nKX07dmFyIGtmPWZ1bmN0aW9uKGEpe2hmLmNhbGwodGhpcyxmdW5jdGlvbigpe3JldHVybiBhfSk7dGhpcy5qPWF9O18ueihrZixoZik7a2YucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5qLm5leHQoKX07Xy5tZj1mdW5jdGlvbihhLGIpe3RoaXMuaD17fTt0aGlzLmc9W107dGhpcy5qPXRoaXMuc2l6ZT0wO3ZhciBjPWFyZ3VtZW50cy5sZW5ndGg7aWYoMTxjKXtpZihjJTIpdGhyb3cgRXJyb3IoInoiKTtmb3IodmFyIGQ9MDtkPGM7ZCs9Mil0aGlzLnNldChhcmd1bWVudHNbZF0sYXJndW1lbnRzW2QrMV0pfWVsc2UgaWYoYSlpZihhIGluc3RhbmNlb2YgXy5tZilmb3IoYz1hLkRiKCksZD0wO2Q8Yy5sZW5ndGg7ZCsrKXRoaXMuc2V0KGNbZF0sYS5nZXQoY1tkXSkpO2Vsc2UgZm9yKGQgaW4gYSl0aGlzLnNldChkLGFbZF0pfTtfLms9Xy5tZi5wcm90b3R5cGU7Xy5rLlZhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2l6ZX07Xy5rLkNhPWZ1bmN0aW9uKCl7bmYodGhpcyk7Zm9yKHZhciBhPVtdLGI9MDtiPHRoaXMuZy5sZW5ndGg7YisrKWEucHVzaCh0aGlzLmhbdGhpcy5nW2JdXSk7cmV0dXJuIGF9O18uay5EYj1mdW5jdGlvbigpe25mKHRoaXMpO3JldHVybiB0aGlzLmcuY29uY2F0KCl9OwpfLmsuaGFzPWZ1bmN0aW9uKGEpe3JldHVybiBvZih0aGlzLmgsYSl9O18uay5qYz1mdW5jdGlvbihhKXtmb3IodmFyIGI9MDtiPHRoaXMuZy5sZW5ndGg7YisrKXt2YXIgYz10aGlzLmdbYl07aWYob2YodGhpcy5oLGMpJiZ0aGlzLmhbY109PWEpcmV0dXJuITB9cmV0dXJuITF9O18uay5lcXVhbHM9ZnVuY3Rpb24oYSxiKXtpZih0aGlzPT09YSlyZXR1cm4hMDtpZih0aGlzLnNpemUhPWEuVmEoKSlyZXR1cm4hMTtiPWJ8fHBmO25mKHRoaXMpO2Zvcih2YXIgYyxkPTA7Yz10aGlzLmdbZF07ZCsrKWlmKCFiKHRoaXMuZ2V0KGMpLGEuZ2V0KGMpKSlyZXR1cm4hMTtyZXR1cm4hMH07dmFyIHBmPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PT1ifTtfLm1mLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuaD17fTt0aGlzLmo9dGhpcy5zaXplPXRoaXMuZy5sZW5ndGg9MH07Xy5tZi5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmRlbGV0ZShhKX07Cl8ubWYucHJvdG90eXBlLmRlbGV0ZT1mdW5jdGlvbihhKXtyZXR1cm4gb2YodGhpcy5oLGEpPyhkZWxldGUgdGhpcy5oW2FdLC0tdGhpcy5zaXplLHRoaXMuaisrLHRoaXMuZy5sZW5ndGg+Mip0aGlzLnNpemUmJm5mKHRoaXMpLCEwKTohMX07dmFyIG5mPWZ1bmN0aW9uKGEpe2lmKGEuc2l6ZSE9YS5nLmxlbmd0aCl7Zm9yKHZhciBiPTAsYz0wO2I8YS5nLmxlbmd0aDspe3ZhciBkPWEuZ1tiXTtvZihhLmgsZCkmJihhLmdbYysrXT1kKTtiKyt9YS5nLmxlbmd0aD1jfWlmKGEuc2l6ZSE9YS5nLmxlbmd0aCl7dmFyIGU9e307Zm9yKGM9Yj0wO2I8YS5nLmxlbmd0aDspZD1hLmdbYl0sb2YoZSxkKXx8KGEuZ1tjKytdPWQsZVtkXT0xKSxiKys7YS5nLmxlbmd0aD1jfX07Xy5rPV8ubWYucHJvdG90eXBlO18uay5nZXQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gb2YodGhpcy5oLGEpP3RoaXMuaFthXTpifTsKXy5rLnNldD1mdW5jdGlvbihhLGIpe29mKHRoaXMuaCxhKXx8KHRoaXMuc2l6ZSs9MSx0aGlzLmcucHVzaChhKSx0aGlzLmorKyk7dGhpcy5oW2FdPWJ9O18uay5mb3JFYWNoPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPXRoaXMuRGIoKSxkPTA7ZDxjLmxlbmd0aDtkKyspe3ZhciBlPWNbZF0sZj10aGlzLmdldChlKTthLmNhbGwoYixmLGUsdGhpcyl9fTtfLmsua2V5cz1mdW5jdGlvbigpe3JldHVybiBsZih0aGlzLm1iKCEwKSkuaCgpfTtfLmsudmFsdWVzPWZ1bmN0aW9uKCl7cmV0dXJuIGxmKHRoaXMubWIoITEpKS5oKCl9O18uay5lbnRyaWVzPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcztyZXR1cm4gZWYodGhpcy5rZXlzKCksZnVuY3Rpb24oYil7cmV0dXJuW2IsYS5nZXQoYildfSl9OwpfLmsubWI9ZnVuY3Rpb24oYSl7bmYodGhpcyk7dmFyIGI9MCxjPXRoaXMuaixkPXRoaXMsZT1uZXcgXy5mZjtlLm5leHQ9ZnVuY3Rpb24oKXtpZihjIT1kLmopdGhyb3cgRXJyb3IoIkoiKTtpZihiPj1kLmcubGVuZ3RoKXJldHVybiBfLmdmO3ZhciBmPWQuZ1tiKytdO3JldHVybnt2YWx1ZTphP2Y6ZC5oW2ZdLGRvbmU6ITF9fTtyZXR1cm4gZX07dmFyIG9mPWZ1bmN0aW9uKGEsYil7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhLGIpfTt2YXIgcWYsdWY7cWY9ZnVuY3Rpb24oYSl7aWYoYS5WYSYmImZ1bmN0aW9uIj09dHlwZW9mIGEuVmEpYT1hLlZhKCk7ZWxzZSBpZihfLmRhKGEpfHwic3RyaW5nIj09PXR5cGVvZiBhKWE9YS5sZW5ndGg7ZWxzZXt2YXIgYj0wLGM7Zm9yKGMgaW4gYSliKys7YT1ifXJldHVybiBhfTtfLnJmPWZ1bmN0aW9uKGEpe2lmKGEuQ2EmJiJmdW5jdGlvbiI9PXR5cGVvZiBhLkNhKXJldHVybiBhLkNhKCk7aWYoInVuZGVmaW5lZCIhPT10eXBlb2YgTWFwJiZhIGluc3RhbmNlb2YgTWFwfHwidW5kZWZpbmVkIiE9PXR5cGVvZiBTZXQmJmEgaW5zdGFuY2VvZiBTZXQpcmV0dXJuIEFycmF5LmZyb20oYS52YWx1ZXMoKSk7aWYoInN0cmluZyI9PT10eXBlb2YgYSlyZXR1cm4gYS5zcGxpdCgiIik7aWYoXy5kYShhKSl7Zm9yKHZhciBiPVtdLGM9YS5sZW5ndGgsZD0wO2Q8YztkKyspYi5wdXNoKGFbZF0pO3JldHVybiBifXJldHVybiBMYShhKX07Cl8uc2Y9ZnVuY3Rpb24oYSl7aWYoYS5EYiYmImZ1bmN0aW9uIj09dHlwZW9mIGEuRGIpcmV0dXJuIGEuRGIoKTtpZighYS5DYXx8ImZ1bmN0aW9uIiE9dHlwZW9mIGEuQ2Epe2lmKCJ1bmRlZmluZWQiIT09dHlwZW9mIE1hcCYmYSBpbnN0YW5jZW9mIE1hcClyZXR1cm4gQXJyYXkuZnJvbShhLmtleXMoKSk7aWYoISgidW5kZWZpbmVkIiE9PXR5cGVvZiBTZXQmJmEgaW5zdGFuY2VvZiBTZXQpKXtpZihfLmRhKGEpfHwic3RyaW5nIj09PXR5cGVvZiBhKXt2YXIgYj1bXTthPWEubGVuZ3RoO2Zvcih2YXIgYz0wO2M8YTtjKyspYi5wdXNoKGMpO3JldHVybiBifXJldHVybiBfLk1hKGEpfX19OwpfLnRmPWZ1bmN0aW9uKGEsYixjKXtpZihhLmZvckVhY2gmJiJmdW5jdGlvbiI9PXR5cGVvZiBhLmZvckVhY2gpYS5mb3JFYWNoKGIsYyk7ZWxzZSBpZihfLmRhKGEpfHwic3RyaW5nIj09PXR5cGVvZiBhKUFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoYSxiLGMpO2Vsc2UgZm9yKHZhciBkPV8uc2YoYSksZT1fLnJmKGEpLGY9ZS5sZW5ndGgsZz0wO2c8ZjtnKyspYi5jYWxsKGMsZVtnXSxkJiZkW2ddLGEpfTt1Zj1mdW5jdGlvbihhLGIpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBhLmV2ZXJ5KXJldHVybiBhLmV2ZXJ5KGIsdm9pZCAwKTtpZihfLmRhKGEpfHwic3RyaW5nIj09PXR5cGVvZiBhKXJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChhLGIsdm9pZCAwKTtmb3IodmFyIGM9Xy5zZihhKSxkPV8ucmYoYSksZT1kLmxlbmd0aCxmPTA7ZjxlO2YrKylpZighYi5jYWxsKHZvaWQgMCxkW2ZdLGMmJmNbZl0sYSkpcmV0dXJuITE7cmV0dXJuITB9O3ZhciB3ZjtfLnZmPWZ1bmN0aW9uKGEpe3RoaXMuZz1uZXcgXy5tZjt0aGlzLnNpemU9MDtpZihhKXthPV8ucmYoYSk7Zm9yKHZhciBiPWEubGVuZ3RoLGM9MDtjPGI7YysrKXRoaXMuYWRkKGFbY10pO3RoaXMuc2l6ZT10aGlzLmcuc2l6ZX19O3dmPWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBhO3JldHVybiJvYmplY3QiPT1iJiZhfHwiZnVuY3Rpb24iPT1iPyJvIitfLnhhKGEpOmIuY2hhckF0KDApK2F9O18uaz1fLnZmLnByb3RvdHlwZTtfLmsuVmE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLnNpemV9O18uay5hZGQ9ZnVuY3Rpb24oYSl7dGhpcy5nLnNldCh3ZihhKSxhKTt0aGlzLnNpemU9dGhpcy5nLnNpemV9O18uay5kZWxldGU9ZnVuY3Rpb24oYSl7YT10aGlzLmcucmVtb3ZlKHdmKGEpKTt0aGlzLnNpemU9dGhpcy5nLnNpemU7cmV0dXJuIGF9O18uay5yZW1vdmU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZGVsZXRlKGEpfTsKXy5rLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5nLmNsZWFyKCk7dGhpcy5zaXplPTB9O18uay5oYXM9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5nO2E9d2YoYSk7cmV0dXJuIGIuaGFzKGEpfTtfLmsuY29udGFpbnM9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5nO2E9d2YoYSk7cmV0dXJuIGIuaGFzKGEpfTtfLmsuQ2E9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLkNhKCl9O18uay52YWx1ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLnZhbHVlcygpfTtfLmsuZXF1YWxzPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLlZhKCk9PXFmKGEpJiZ4Zih0aGlzLGEpfTsKdmFyIHhmPWZ1bmN0aW9uKGEsYil7dmFyIGM9cWYoYik7aWYoYS5WYSgpPmMpcmV0dXJuITE7IShiIGluc3RhbmNlb2YgXy52ZikmJjU8YyYmKGI9bmV3IF8udmYoYikpO3JldHVybiB1ZihhLGZ1bmN0aW9uKGQpe3ZhciBlPWI7aWYoZS5jb250YWlucyYmImZ1bmN0aW9uIj09dHlwZW9mIGUuY29udGFpbnMpZD1lLmNvbnRhaW5zKGQpO2Vsc2UgaWYoZS5qYyYmImZ1bmN0aW9uIj09dHlwZW9mIGUuamMpZD1lLmpjKGQpO2Vsc2UgaWYoXy5kYShlKXx8InN0cmluZyI9PT10eXBlb2YgZSlkPV8udShlLGQpO2Vsc2UgYTp7Zm9yKHZhciBmIGluIGUpaWYoZVtmXT09ZCl7ZD0hMDticmVhayBhfWQ9ITF9cmV0dXJuIGR9KX07Xy52Zi5wcm90b3R5cGUubWI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLm1iKCExKX07Xy52Zi5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlcygpfTt2YXIgeWY9W10semY9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihkKXtkJiZmYyhkLGZ1bmN0aW9uKGUsZil7ZVtmLmlkXT0hMDtyZXR1cm4gZX0sYy5SaSl9dmFyIGM9e1JpOnt9LGluZGV4OnlmLmxlbmd0aCxWbDphfTtiKGEuZyk7YihhLmopO3lmLnB1c2goYyk7YS5nJiZfLmNjKGEuZyxmdW5jdGlvbihkKXt2YXIgZT1kLmlkO2UgaW5zdGFuY2VvZiBFJiZkLm1vZHVsZSYmKGUuZz1kLm1vZHVsZSl9KX07bmV3IEUoIkJnZjBpYiIpO3ZhciBBZj1uZXcgRSgiTXBKd1pjIiwiTXBKd1pjIik7Xy5CZj1uZXcgRSgiVVVKcVZlIiwiVVVKcVZlIik7Xy5DZj1uZXcgRSgiR0hBZUFjIiwiR0hBZUFjIik7Xy5EZj1uZXcgRSgiV3Q2dmpmIiwiV3Q2dmpmIik7Xy5FZj1uZXcgRSgiYnlmVE9iIiwiYnlmVE9iIik7Xy5GZj1uZXcgRSgiTEVpa1plIiwiTEVpa1plIik7Xy5HZj1uZXcgRSgibHNqVm1jIiwibHNqVm1jIik7bmV3IEUoInBWYnhCYyIpO25ldyBFKCJrbHB5WWUiKTtuZXcgRSgiT1BiSXhiIik7bmV3IEUoInBnOWhGZCIpO25ldyBFKCJJYXFEM2UiKTtuZXcgRSgiWHB3MW9mIik7bmV3IEUoInY1QlFsZSIpO25ldyBFKCJ0ZFVrYWYiKTtuZXcgRSgiV1N6aUZmIik7bmV3IEUoIlVCU2dHZiIpO25ldyBFKCJ6WmE0eGMiKTtuZXcgRSgibzFiWmNkIik7bmV3IEUoIld3RzY3ZCIpO25ldyBFKCJKY2NaUmUiKTtuZXcgRSgiYW1ZM1RkIik7bmV3IEUoIkFCbWEzZSIpO25ldyBFKCJnU3NoUGIiKTtuZXcgRSgieXU0REEiKTtuZXcgRSgidmszV2MiKTtuZXcgRSgiSXlrdkVmIik7bmV3IEUoIko1SzFBZCIpO25ldyBFKCJJVzhVc2QiKTtuZXcgRSgiamJEZ0ciKTtuZXcgRSgiYjh4S3UiKTtuZXcgRSgiZDBSQUdiIik7bmV3IEUoIkF6RzBrZSIpO25ldyBFKCJKNFFXQiIpO25ldyBFKCJUdURzWiIpO25ldyBFKCJoZFhJaWYiKTtuZXcgRSgibUlUUjVjIik7bmV3IEUoIkRGRWxYYiIpO25ldyBFKCJGRU5acWUiKTtuZXcgRSgidExueHEiKTt6Zih7Zzpbe2lkOl8uYWMsQWI6V2QsbXVsdGlwbGU6ITB9XX0pO3ZhciBIZj17fTt2YXIgSWY9bmV3IHNkLEpmPWZ1bmN0aW9uKGEsYil7Xy50ZC5jYWxsKHRoaXMsYSxiKTt0aGlzLm5vZGU9Yn07Xy56KEpmLF8udGQpO18uS2Y9UmVnRXhwKCJeKGFyfGNrYnxkdnxoZXxpd3xmYXxucW98cHN8c2R8dWd8dXJ8eWl8LipbLV9dKEFkbG18QXJhYnxIZWJyfE5rb298Um9oZ3xUaGFhKSkoPyEuKlstX10oTGF0bnxDeXJsKSgkfC18XykpKCR8LXxfKSIsImkiKTt2YXIgTmYsT2Y7Xy5MZj1SZWdFeHAoIl4oPzooW146Lz8jLl0rKTopPyg/Oi8vKD86KFteXFxcXC8/I10qKUApPyhbXlxcXFwvPyNdKj8pKD86OihbMC05XSspKT8oPz1bXFxcXC8/I118JCkpPyhbXj8jXSspPyg/OlxcPyhbXiNdKikpPyg/OiMoW1xcc1xcU10qKSk/JCIpO18uTWY9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/ZGVjb2RlVVJJKGEpOmF9O05mPWZ1bmN0aW9uKGEsYil7aWYoYSl7YT1hLnNwbGl0KCImIik7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspe3ZhciBkPWFbY10uaW5kZXhPZigiPSIpLGU9bnVsbDtpZigwPD1kKXt2YXIgZj1hW2NdLnN1YnN0cmluZygwLGQpO2U9YVtjXS5zdWJzdHJpbmcoZCsxKX1lbHNlIGY9YVtjXTtiKGYsZT9fLmFkKGUpOiIiKX19fTsKT2Y9ZnVuY3Rpb24oYSxiLGMpe2lmKEFycmF5LmlzQXJyYXkoYikpZm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspT2YoYSxTdHJpbmcoYltkXSksYyk7ZWxzZSBudWxsIT1iJiZjLnB1c2goYSsoIiI9PT1iPyIiOiI9IitfLiRjKGIpKSl9O3ZhciBTZixVZixXZixZZixmZyxaZixhZywkZixkZyxiZyxnZztfLlBmPWZ1bmN0aW9uKGEpe3RoaXMuaD10aGlzLkE9dGhpcy5sPSIiO3RoaXMuQj1udWxsO3RoaXMucz10aGlzLmo9IiI7dGhpcy5vPSExO3ZhciBiO2EgaW5zdGFuY2VvZiBfLlBmPyh0aGlzLm89YS5vLF8uUWYodGhpcyxhLmwpLHRoaXMuQT1hLkEsXy5SZih0aGlzLGEuaCksU2YodGhpcyxhLkIpLF8uVGYodGhpcyxhLmopLFVmKHRoaXMsVmYoYS5nKSksdGhpcy5zPWEucyk6YSYmKGI9U3RyaW5nKGEpLm1hdGNoKF8uTGYpKT8odGhpcy5vPSExLF8uUWYodGhpcyxiWzFdfHwiIiwhMCksdGhpcy5BPVdmKGJbMl18fCIiKSxfLlJmKHRoaXMsYlszXXx8IiIsITApLFNmKHRoaXMsYls0XSksXy5UZih0aGlzLGJbNV18fCIiLCEwKSxVZih0aGlzLGJbNl18fCIiLCEwKSx0aGlzLnM9V2YoYls3XXx8IiIpKToodGhpcy5vPSExLHRoaXMuZz1uZXcgXy5YZihudWxsLHRoaXMubykpfTsKXy5QZi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgYT1bXSxiPXRoaXMubDtiJiZhLnB1c2goWWYoYixaZiwhMCksIjoiKTt2YXIgYz10aGlzLmg7aWYoY3x8ImZpbGUiPT1iKWEucHVzaCgiLy8iKSwoYj10aGlzLkEpJiZhLnB1c2goWWYoYixaZiwhMCksIkAiKSxhLnB1c2goXy4kYyhjKS5yZXBsYWNlKC8lMjUoWzAtOWEtZkEtRl17Mn0pL2csIiUkMSIpKSxjPXRoaXMuQixudWxsIT1jJiZhLnB1c2goIjoiLFN0cmluZyhjKSk7aWYoYz10aGlzLmopdGhpcy5oJiYiLyIhPWMuY2hhckF0KDApJiZhLnB1c2goIi8iKSxhLnB1c2goWWYoYywiLyI9PWMuY2hhckF0KDApPyRmOmFnLCEwKSk7KGM9dGhpcy5nLnRvU3RyaW5nKCkpJiZhLnB1c2goIj8iLGMpOyhjPXRoaXMucykmJmEucHVzaCgiIyIsWWYoYyxiZykpO3JldHVybiBhLmpvaW4oIiIpfTsKXy5QZi5wcm90b3R5cGUucmVzb2x2ZT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgXy5QZih0aGlzKSxjPSEhYS5sO2M/Xy5RZihiLGEubCk6Yz0hIWEuQTtjP2IuQT1hLkE6Yz0hIWEuaDtjP18uUmYoYixhLmgpOmM9bnVsbCE9YS5CO3ZhciBkPWEuajtpZihjKVNmKGIsYS5CKTtlbHNlIGlmKGM9ISFhLmope2lmKCIvIiE9ZC5jaGFyQXQoMCkpaWYodGhpcy5oJiYhdGhpcy5qKWQ9Ii8iK2Q7ZWxzZXt2YXIgZT1iLmoubGFzdEluZGV4T2YoIi8iKTstMSE9ZSYmKGQ9Yi5qLnNsaWNlKDAsZSsxKStkKX1lPWQ7aWYoIi4uIj09ZXx8Ii4iPT1lKWQ9IiI7ZWxzZSBpZigtMSE9ZS5pbmRleE9mKCIuLyIpfHwtMSE9ZS5pbmRleE9mKCIvLiIpKXtkPTA9PWUubGFzdEluZGV4T2YoIi8iLDApO2U9ZS5zcGxpdCgiLyIpO2Zvcih2YXIgZj1bXSxnPTA7ZzxlLmxlbmd0aDspe3ZhciBoPWVbZysrXTsiLiI9PWg/ZCYmZz09ZS5sZW5ndGgmJmYucHVzaCgiIik6Ii4uIj09aD8oKDE8Zi5sZW5ndGh8fDE9PQpmLmxlbmd0aCYmIiIhPWZbMF0pJiZmLnBvcCgpLGQmJmc9PWUubGVuZ3RoJiZmLnB1c2goIiIpKTooZi5wdXNoKGgpLGQ9ITApfWQ9Zi5qb2luKCIvIil9ZWxzZSBkPWV9Yz9fLlRmKGIsZCk6Yz0iIiE9PWEuZy50b1N0cmluZygpO2M/VWYoYixWZihhLmcpKTpjPSEhYS5zO2MmJihiLnM9YS5zKTtyZXR1cm4gYn07Xy5RZj1mdW5jdGlvbihhLGIsYyl7YS5sPWM/V2YoYiwhMCk6YjthLmwmJihhLmw9YS5sLnJlcGxhY2UoLzokLywiIikpO3JldHVybiBhfTtfLlJmPWZ1bmN0aW9uKGEsYixjKXthLmg9Yz9XZihiLCEwKTpiO3JldHVybiBhfTtTZj1mdW5jdGlvbihhLGIpe2lmKGIpe2I9TnVtYmVyKGIpO2lmKGlzTmFOKGIpfHwwPmIpdGhyb3cgRXJyb3IoIktgIitiKTthLkI9Yn1lbHNlIGEuQj1udWxsfTtfLlRmPWZ1bmN0aW9uKGEsYixjKXthLmo9Yz9XZihiLCEwKTpiO3JldHVybiBhfTsKVWY9ZnVuY3Rpb24oYSxiLGMpe2IgaW5zdGFuY2VvZiBfLlhmPyhhLmc9YixjZyhhLmcsYS5vKSk6KGN8fChiPVlmKGIsZGcpKSxhLmc9bmV3IF8uWGYoYixhLm8pKX07Xy5lZz1mdW5jdGlvbihhKXt2YXIgYj1iZCgpO2EuZy5zZXQoInp4IixiKX07V2Y9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT9iP2RlY29kZVVSSShhLnJlcGxhY2UoLyUyNS9nLCIlMjUyNSIpKTpkZWNvZGVVUklDb21wb25lbnQoYSk6IiJ9O1lmPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4ic3RyaW5nIj09PXR5cGVvZiBhPyhhPWVuY29kZVVSSShhKS5yZXBsYWNlKGIsZmcpLGMmJihhPWEucmVwbGFjZSgvJTI1KFswLTlhLWZBLUZdezJ9KS9nLCIlJDEiKSksYSk6bnVsbH07Zmc9ZnVuY3Rpb24oYSl7YT1hLmNoYXJDb2RlQXQoMCk7cmV0dXJuIiUiKyhhPj40JjE1KS50b1N0cmluZygxNikrKGEmMTUpLnRvU3RyaW5nKDE2KX07WmY9L1sjXC9cP0BdL2c7YWc9L1sjXD86XS9nOyRmPS9bI1w/XS9nO2RnPS9bI1w/QF0vZzsKYmc9LyMvZztfLlhmPWZ1bmN0aW9uKGEsYil7dGhpcy5oPXRoaXMuZz1udWxsO3RoaXMuaj1hfHxudWxsO3RoaXMubD0hIWJ9O2dnPWZ1bmN0aW9uKGEpe2EuZ3x8KGEuZz1uZXcgTWFwLGEuaD0wLGEuaiYmTmYoYS5qLGZ1bmN0aW9uKGIsYyl7YS5hZGQoXy5hZChiKSxjKX0pKX07Xy5YZi5wcm90b3R5cGUuVmE9ZnVuY3Rpb24oKXtnZyh0aGlzKTtyZXR1cm4gdGhpcy5ofTtfLlhmLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSxiKXtnZyh0aGlzKTt0aGlzLmo9bnVsbDthPWhnKHRoaXMsYSk7dmFyIGM9dGhpcy5nLmdldChhKTtjfHx0aGlzLmcuc2V0KGEsYz1bXSk7Yy5wdXNoKGIpO3RoaXMuaCs9MTtyZXR1cm4gdGhpc307Xy5YZi5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGEpe2dnKHRoaXMpO2E9aGcodGhpcyxhKTtyZXR1cm4gdGhpcy5nLmhhcyhhKT8odGhpcy5qPW51bGwsdGhpcy5oLT10aGlzLmcuZ2V0KGEpLmxlbmd0aCx0aGlzLmcuZGVsZXRlKGEpKTohMX07Cl8uWGYucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5nPXRoaXMuaj1udWxsO3RoaXMuaD0wfTt2YXIgaWc9ZnVuY3Rpb24oYSxiKXtnZyhhKTtiPWhnKGEsYik7cmV0dXJuIGEuZy5oYXMoYil9O18uaz1fLlhmLnByb3RvdHlwZTtfLmsuamM9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5DYSgpO3JldHVybiBfLnUoYixhKX07Xy5rLmZvckVhY2g9ZnVuY3Rpb24oYSxiKXtnZyh0aGlzKTt0aGlzLmcuZm9yRWFjaChmdW5jdGlvbihjLGQpe2MuZm9yRWFjaChmdW5jdGlvbihlKXthLmNhbGwoYixlLGQsdGhpcyl9LHRoaXMpfSx0aGlzKX07Xy5rLkRiPWZ1bmN0aW9uKCl7Z2codGhpcyk7Zm9yKHZhciBhPUFycmF5LmZyb20odGhpcy5nLnZhbHVlcygpKSxiPUFycmF5LmZyb20odGhpcy5nLmtleXMoKSksYz1bXSxkPTA7ZDxiLmxlbmd0aDtkKyspZm9yKHZhciBlPWFbZF0sZj0wO2Y8ZS5sZW5ndGg7ZisrKWMucHVzaChiW2RdKTtyZXR1cm4gY307Cl8uay5DYT1mdW5jdGlvbihhKXtnZyh0aGlzKTt2YXIgYj1bXTtpZigic3RyaW5nIj09PXR5cGVvZiBhKWlnKHRoaXMsYSkmJihiPWIuY29uY2F0KHRoaXMuZy5nZXQoaGcodGhpcyxhKSkpKTtlbHNle2E9QXJyYXkuZnJvbSh0aGlzLmcudmFsdWVzKCkpO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWI9Yi5jb25jYXQoYVtjXSl9cmV0dXJuIGJ9O18uay5zZXQ9ZnVuY3Rpb24oYSxiKXtnZyh0aGlzKTt0aGlzLmo9bnVsbDthPWhnKHRoaXMsYSk7aWcodGhpcyxhKSYmKHRoaXMuaC09dGhpcy5nLmdldChhKS5sZW5ndGgpO3RoaXMuZy5zZXQoYSxbYl0pO3RoaXMuaCs9MTtyZXR1cm4gdGhpc307Xy5rLmdldD1mdW5jdGlvbihhLGIpe2lmKCFhKXJldHVybiBiO2E9dGhpcy5DYShhKTtyZXR1cm4gMDxhLmxlbmd0aD9TdHJpbmcoYVswXSk6Yn07Cl8uamc9ZnVuY3Rpb24oYSxiLGMpe2EucmVtb3ZlKGIpOzA8Yy5sZW5ndGgmJihhLmo9bnVsbCxhLmcuc2V0KGhnKGEsYiksXy51YShjKSksYS5oKz1jLmxlbmd0aCl9O18uWGYucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7aWYodGhpcy5qKXJldHVybiB0aGlzLmo7aWYoIXRoaXMuZylyZXR1cm4iIjtmb3IodmFyIGE9W10sYj1BcnJheS5mcm9tKHRoaXMuZy5rZXlzKCkpLGM9MDtjPGIubGVuZ3RoO2MrKyl7dmFyIGQ9YltjXSxlPV8uJGMoZCk7ZD10aGlzLkNhKGQpO2Zvcih2YXIgZj0wO2Y8ZC5sZW5ndGg7ZisrKXt2YXIgZz1lOyIiIT09ZFtmXSYmKGcrPSI9IitfLiRjKGRbZl0pKTthLnB1c2goZyl9fXJldHVybiB0aGlzLmo9YS5qb2luKCImIil9Owp2YXIgVmY9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IF8uWGY7Yi5qPWEuajthLmcmJihiLmc9bmV3IE1hcChhLmcpLGIuaD1hLmgpO3JldHVybiBifSxoZz1mdW5jdGlvbihhLGIpe2I9U3RyaW5nKGIpO2EubCYmKGI9Yi50b0xvd2VyQ2FzZSgpKTtyZXR1cm4gYn0sY2c9ZnVuY3Rpb24oYSxiKXtiJiYhYS5sJiYoZ2coYSksYS5qPW51bGwsYS5nLmZvckVhY2goZnVuY3Rpb24oYyxkKXt2YXIgZT1kLnRvTG93ZXJDYXNlKCk7ZCE9ZSYmKHRoaXMucmVtb3ZlKGQpLF8uamcodGhpcyxlLGMpKX0sYSkpO2EubD1ifTtfLlhmLnByb3RvdHlwZS5leHRlbmQ9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTA7Yjxhcmd1bWVudHMubGVuZ3RoO2IrKylfLnRmKGFyZ3VtZW50c1tiXSxmdW5jdGlvbihjLGQpe3RoaXMuYWRkKGQsYyl9LHRoaXMpfTtfLldhPWZ1bmN0aW9uKGEpe3RoaXMuaWk9YX07Xy5rZz1bWGEoImRhdGEiKSxYYSgiaHR0cCIpLFhhKCJodHRwcyIpLFhhKCJtYWlsdG8iKSxYYSgiZnRwIiksbmV3IF8uV2EoZnVuY3Rpb24oYSl7cmV0dXJuL15bXjpdKihbLz8jXXwkKS8udGVzdChhKX0pXTtfLmxnPVFhKGZ1bmN0aW9uKCl7cmV0dXJuImZ1bmN0aW9uIj09PXR5cGVvZiBVUkx9KTt2YXIgbWc9IkFSVElDTEUgU0VDVElPTiBOQVYgQVNJREUgSDEgSDIgSDMgSDQgSDUgSDYgSEVBREVSIEZPT1RFUiBBRERSRVNTIFAgSFIgUFJFIEJMT0NLUVVPVEUgT0wgVUwgTEggTEkgREwgRFQgREQgRklHVVJFIEZJR0NBUFRJT04gTUFJTiBESVYgRU0gU1RST05HIFNNQUxMIFMgQ0lURSBRIERGTiBBQkJSIFJVQlkgUkIgUlQgUlRDIFJQIERBVEEgVElNRSBDT0RFIFZBUiBTQU1QIEtCRCBTVUIgU1VQIEkgQiBVIE1BUksgQkRJIEJETyBTUEFOIEJSIFdCUiBJTlMgREVMIFBJQ1RVUkUgUEFSQU0gVFJBQ0sgTUFQIFRBQkxFIENBUFRJT04gQ09MR1JPVVAgQ09MIFRCT0RZIFRIRUFEIFRGT09UIFRSIFREIFRIIFNFTEVDVCBEQVRBTElTVCBPUFRHUk9VUCBPUFRJT04gT1VUUFVUIFBST0dSRVNTIE1FVEVSIEZJRUxEU0VUIExFR0VORCBERVRBSUxTIFNVTU1BUlkgTUVOVSBESUFMT0cgU0xPVCBDQU5WQVMgRk9OVCBDRU5URVIgQUNST05ZTSBCQVNFRk9OVCBCSUcgRElSIEhHUk9VUCBTVFJJS0UgVFQiLnNwbGl0KCIgIiksCm5nPVtbIkEiLG5ldyBNYXAoW1siaHJlZiIse3BhOjJ9XV0pXSxbIkFSRUEiLG5ldyBNYXAoW1siaHJlZiIse3BhOjJ9XV0pXSxbIkxJTksiLG5ldyBNYXAoW1siaHJlZiIse3BhOjIsY29uZGl0aW9uczpuZXcgTWFwKFtbInJlbCIsbmV3IFNldCgiYWx0ZXJuYXRlIGF1dGhvciBib29rbWFyayBjYW5vbmljYWwgY2l0ZSBoZWxwIGljb24gbGljZW5zZSBuZXh0IHByZWZldGNoIGRucy1wcmVmZXRjaCBwcmVyZW5kZXIgcHJlY29ubmVjdCBwcmVsb2FkIHByZXYgc2VhcmNoIHN1YnJlc291cmNlIi5zcGxpdCgiICIpKV1dKX1dXSldLFsiU09VUkNFIixuZXcgTWFwKFtbInNyYyIse3BhOjF9XV0pXSxbIklNRyIsbmV3IE1hcChbWyJzcmMiLHtwYToxfV1dKV0sWyJWSURFTyIsbmV3IE1hcChbWyJzcmMiLHtwYToxfV1dKV0sWyJBVURJTyIsbmV3IE1hcChbWyJzcmMiLHtwYToxfV1dKV1dLG9nPSJ0aXRsZSBhcmlhLWF0b21pYyBhcmlhLWF1dG9jb21wbGV0ZSBhcmlhLWJ1c3kgYXJpYS1jaGVja2VkIGFyaWEtY3VycmVudCBhcmlhLWRpc2FibGVkIGFyaWEtZHJvcGVmZmVjdCBhcmlhLWV4cGFuZGVkIGFyaWEtaGFzcG9wdXAgYXJpYS1oaWRkZW4gYXJpYS1pbnZhbGlkIGFyaWEtbGFiZWwgYXJpYS1sZXZlbCBhcmlhLWxpdmUgYXJpYS1tdWx0aWxpbmUgYXJpYS1tdWx0aXNlbGVjdGFibGUgYXJpYS1vcmllbnRhdGlvbiBhcmlhLXBvc2luc2V0IGFyaWEtcHJlc3NlZCBhcmlhLXJlYWRvbmx5IGFyaWEtcmVsZXZhbnQgYXJpYS1yZXF1aXJlZCBhcmlhLXNlbGVjdGVkIGFyaWEtc2V0c2l6ZSBhcmlhLXNvcnQgYXJpYS12YWx1ZW1heCBhcmlhLXZhbHVlbWluIGFyaWEtdmFsdWVub3cgYXJpYS12YWx1ZXRleHQgYWx0IGFsaWduIGF1dG9jYXBpdGFsaXplIGF1dG9jb21wbGV0ZSBhdXRvY29ycmVjdCBhdXRvZm9jdXMgYXV0b3BsYXkgYmdjb2xvciBib3JkZXIgY2VsbHBhZGRpbmcgY2VsbHNwYWNpbmcgY2hlY2tlZCBjb2xvciBjb2xzIGNvbHNwYW4gY29udHJvbHMgZGF0ZXRpbWUgZGlzYWJsZWQgZG93bmxvYWQgZHJhZ2dhYmxlIGVuY3R5cGUgZmFjZSBmb3JtZW5jdHlwZSBmcmFtZWJvcmRlciBoZWlnaHQgaHJlZmxhbmcgaGlkZGVuIGlzbWFwIGxhYmVsIGxhbmcgbG9vcCBtYXggbWF4bGVuZ3RoIG1lZGlhIG1pbmxlbmd0aCBtaW4gbXVsdGlwbGUgbXV0ZWQgbm9uY2Ugb3BlbiBwbGFjZWhvbGRlciBwcmVsb2FkIHJlbCByZXF1aXJlZCByZXZlcnNlZCByb2xlIHJvd3Mgcm93c3BhbiBzZWxlY3RlZCBzaGFwZSBzaXplIHNpemVzIHNsb3Qgc3BhbiBzcGVsbGNoZWNrIHN0YXJ0IHN0ZXAgc3VtbWFyeSB0cmFuc2xhdGUgdHlwZSB2YWxpZ24gdmFsdWUgd2lkdGggd3JhcCBpdGVtc2NvcGUgaXRlbXR5cGUgaXRlbWlkIGl0ZW1wcm9wIGl0ZW1yZWYiLnNwbGl0KCIgIiksCnBnPVtbImRpciIse3BhOjMsY29uZGl0aW9uczpRYShmdW5jdGlvbigpe3JldHVybiBuZXcgTWFwKFtbImRpciIsbmV3IFNldChbImF1dG8iLCJsdHIiLCJydGwiXSldXSl9KX1dLFsiYXN5bmMiLHtwYTozLGNvbmRpdGlvbnM6UWEoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IE1hcChbWyJhc3luYyIsbmV3IFNldChbImFzeW5jIl0pXV0pfSl9XSxbImNpdGUiLHtwYToyfV0sWyJsb2FkaW5nIix7cGE6Myxjb25kaXRpb25zOlFhKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXAoW1sibG9hZGluZyIsbmV3IFNldChbImVhZ2VyIiwibGF6eSJdKV1dKX0pfV0sWyJwb3N0ZXIiLHtwYToyfV0sWyJ0YXJnZXQiLHtwYTozLGNvbmRpdGlvbnM6UWEoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IE1hcChbWyJ0YXJnZXQiLG5ldyBTZXQoWyJfc2VsZiIsIl9ibGFuayJdKV1dKX0pfV1dLHFnPW5ldyBmdW5jdGlvbihhLGIsYyl7dmFyIGQ9bmV3IFNldChbImRhdGEtIiwiYXJpYS0iXSksZT1uZXcgTWFwKG5nKTsKdGhpcy5qPWE7dGhpcy5nPWU7dGhpcy5sPWI7dGhpcy5vPWM7dGhpcy5oPWR9KG5ldyBTZXQoUWEoZnVuY3Rpb24oKXtyZXR1cm4gbWcuY29uY2F0KCJTVFlMRSBUSVRMRSBJTlBVVCBURVhUQVJFQSBCVVRUT04gTEFCRUwiLnNwbGl0KCIgIikpfSkpLG5ldyBTZXQoUWEoZnVuY3Rpb24oKXtyZXR1cm4gb2cuY29uY2F0KFsiY2xhc3MiLCJpZCIsInRhYmluZGV4IiwiY29udGVudGVkaXRhYmxlIiwibmFtZSJdKX0pKSxuZXcgTWFwKFFhKGZ1bmN0aW9uKCl7cmV0dXJuIHBnLmNvbmNhdChbWyJzdHlsZSIse3BhOjR9XV0pfSkpKTt2YXIgcmc7cmc9ZnVuY3Rpb24oKXt0aGlzLmg9cWc7dGhpcy5nPVtdfTtfLnNnPVFhKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyByZ30pO18udGc9ZnVuY3Rpb24oYSxiKXtifHxfLmVkKCk7dGhpcy5qPWF8fG51bGx9O18udGcucHJvdG90eXBlLnlhPWZ1bmN0aW9uKGEpe2E9YSh7fSx0aGlzLmo/dGhpcy5qLmcoKTp7fSk7dGhpcy5oKG51bGwsImZ1bmN0aW9uIj09dHlwZW9mIF8udWcmJmEgaW5zdGFuY2VvZiBfLnVnP2EuemI6bnVsbCl9O18udGcucHJvdG90eXBlLmg9ZnVuY3Rpb24oKXt9O3ZhciB2Zz1mdW5jdGlvbihhKXt0aGlzLmg9YTt0aGlzLmo9dGhpcy5oLmcoXy5CZil9O3ZnLnByb3RvdHlwZS5nPWZ1bmN0aW9uKCl7dGhpcy5oLlhhKCl8fCh0aGlzLmo9dGhpcy5oLmcoXy5CZikpO3JldHVybiB0aGlzLmo/dGhpcy5qLmwoKTp7fX07dmFyIHdnPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyB2ZyhhKTtfLnRnLmNhbGwodGhpcyxiLGEuZ2V0KF8uYWMpLmgpO3RoaXMubD1uZXcgXy5IO3RoaXMubz1ifTtfLnood2csXy50Zyk7d2cucHJvdG90eXBlLmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vLmcoKX07d2cucHJvdG90eXBlLmg9ZnVuY3Rpb24oYSxiKXtfLnRnLnByb3RvdHlwZS5oLmNhbGwodGhpcyxhLGIpO3RoaXMubC5kaXNwYXRjaEV2ZW50KG5ldyBKZihJZixhLGIpKX07Xy5xYShBZix3Zyk7emYoe2c6W3tpZDpBZixBYjp3ZyxtdWx0aXBsZTohMH1dfSk7dmFyIHhnPWZ1bmN0aW9uKGEsYil7dGhpcy5kZWZhdWx0VmFsdWU9YTt0aGlzLnR5cGU9Yjt0aGlzLnZhbHVlPWF9O3hnLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZX07eGcucHJvdG90eXBlLnNldD1mdW5jdGlvbihhKXt0aGlzLnZhbHVlPWF9O3ZhciB5Zz1mdW5jdGlvbihhKXt4Zy5jYWxsKHRoaXMsYSwiYiIpfTtfLnooeWcseGcpO3lnLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZX07dmFyIHpnPWZ1bmN0aW9uKGEpe3RoaXMuRWU9YX07emcucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuRWUuam9pbigiLiIpfTt2YXIgQWc9ZnVuY3Rpb24oYSl7dmFyIGI9YS5zcGxpdCgiLiIpO2I9NCE9PWIubGVuZ3RoJiYzIT09Yi5sZW5ndGh8fC0xIT09YlswXS5pbmRleE9mKCI9Iik/bnVsbDpuZXcgemcoYik7aWYobnVsbD09PWIpdGhyb3cgbmV3IFR5cGVFcnJvcigiUGAiK2EpO3JldHVybiBifTt2YXIgQmc9ZnVuY3Rpb24oKXt0aGlzLmc9e307dGhpcy5oPSIiO3RoaXMuaj17fTt0aGlzLmw9Ii53YXNtIn07QmcucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7aWYodGhpcy5oLmVuZHNXaXRoKCJfL3dhLyIpKXZhciBhPXRoaXMuaCtDZyh0aGlzLCJ3ayIpK3RoaXMubDtlbHNle2E9dGhpcy5oK0RnKHRoaXMpO3ZhciBiPXRoaXMuajt2YXIgYz1bXSxkO2ZvcihkIGluIGIpT2YoZCxiW2RdLGMpO2I9Yy5qb2luKCImIik7Yz0iIjsiIiE9YiYmKGM9Ij8iK2IpO2ErPWN9cmV0dXJuIGF9Owp2YXIgRWc9ZnVuY3Rpb24oYSl7YT1DZyhhLCJtZCIpO3JldHVybiEhYSYmIjAiIT09YX0sRGc9ZnVuY3Rpb24oYSl7dmFyIGI9W10sYz0oMCxfLkEpKGZ1bmN0aW9uKGQpe3ZvaWQgMCE9PXRoaXMuZ1tkXSYmYi5wdXNoKGQrIj0iK3RoaXMuZ1tkXSl9LGEpO0VnKGEpPyhjKCJtZCIpLGMoImsiKSxjKCJjayIpLGMoImFtIiksYygicnMiKSxjKCJnc3Ntb2R1bGVzZXRwcm90byIpLGMoInRwYyIpKTooYygic2RjaCIpLGMoImsiKSxjKCJjayIpLGMoImFtIiksYygicnQiKSwiZCJpbiBhLmd8fEZnKGEsImQiLCIwIiksYygiZCIpLGMoImV4bSIpLGMoImV4Y20iKSwoYS5nLmV4Y218fGEuZy5leG0pJiZiLnB1c2goImVkPTEiKSxjKCJpbSIpLGMoImRnIiksYygic20iKSwiMSI9PUNnKGEsImJyIikmJmMoImJyIiksYygic2JyIiksIiIhPT1HZyhhKSYmYygid3QiKSxjKCJnc3Ntb2R1bGVzZXRwcm90byIpLGMoInVqZyIpLGMoInNwIiksYygicnMiKSxjKCJjYiIpLGMoImVlIiksYygidHBjIiksCmMoIm0iKSk7cmV0dXJuIGIuam9pbigiLyIpfSxDZz1mdW5jdGlvbihhLGIpe3JldHVybiBhLmdbYl0/YS5nW2JdOm51bGx9LEZnPWZ1bmN0aW9uKGEsYixjKXtjP2EuZ1tiXT1jOmRlbGV0ZSBhLmdbYl19LEdnPWZ1bmN0aW9uKGEpe3N3aXRjaChDZyhhLCJ3dCIpKXtjYXNlICIwIjpyZXR1cm4iMCI7Y2FzZSAiMSI6cmV0dXJuIjEiO2Nhc2UgIjIiOnJldHVybiIyIjtkZWZhdWx0OnJldHVybiIifX0sTGc9ZnVuY3Rpb24oYSl7dmFyIGI9dm9pZCAwPT09Yj8hMDpiO3ZhciBjPUhnKGEpLGQ9bmV3IEJnLGU9Yy5tYXRjaChfLkxmKVs1XTtfLk5jKElnLGZ1bmN0aW9uKGgpe3ZhciBsPWUubWF0Y2goIi8iK2grIj0oW14vXSspIik7bCYmRmcoZCxoLGxbMV0pfSk7dmFyIGY9LTEhPWEuaW5kZXhPZigiXy9zcy8iKT8iXy9zcy8iOi0xIT1hLmluZGV4T2YoIl8vd2EvIik/Il8vd2EvIjoiXy9qcy8iO2QuaD1hLnN1YnN0cigwLGEuaW5kZXhPZihmKStmLmxlbmd0aCk7aWYoZC5oLmVuZHNXaXRoKCJfL3dhLyIpKXtiPQpKZyhhKTt2YXIgZz0hMDtPYmplY3QudmFsdWVzKEtnKS5mb3JFYWNoKGZ1bmN0aW9uKGgpe2EuZW5kc1dpdGgoaCkmJihkLmw9aCxnPSExKX0pO2cmJihjPWEuc3BsaXQoIi8iKSxkLmw9Ii8iK2NbYy5sZW5ndGgtMV0pO0ZnKGQsIndrIixiLnRvU3RyaW5nKCkpO3JldHVybiBkfWlmKCFiKXJldHVybiBkOyhiPWMubWF0Y2goXy5MZilbNl18fG51bGwpJiZOZihiLGZ1bmN0aW9uKGgsbCl7ZC5qW2hdPWx9KTtyZXR1cm4gZH0sSmc9ZnVuY3Rpb24oYSl7dmFyIGI9bnVsbCxjPWEubGFzdEluZGV4T2YoIl8vd2EvIikrNSxkPWEuaW5kZXhPZigiLyIsYyk7LTEhPT1kP2I9YS5zbGljZShjLGQpOk9iamVjdC52YWx1ZXMoS2cpLmZvckVhY2goZnVuY3Rpb24oZSl7YS5lbmRzV2l0aChlKSYmKGI9YS5zbGljZShjLGEubGFzdEluZGV4T2YoZSkpKX0pO2lmKG51bGw9PT1iKXJldHVybiBudWxsO3RyeXtyZXR1cm4gQWcoYil9Y2F0Y2goZSl7cmV0dXJuIG51bGx9fSxIZz1mdW5jdGlvbihhKXtyZXR1cm4gYS5zdGFydHNXaXRoKCJodHRwczovL3ViZXJwcm94eS1wZW4tcmVkaXJlY3QuY29ycC5nb29nbGUuY29tL3ViZXJwcm94eS9wZW4/dXJsPSIpPwphLnN1YnN0cig2NSk6YX0sSWc9e2hrOiJrIix4ajoiY2siLExrOiJ3ayIsVmo6Im0iLEdqOiJleG0iLEVqOiJleGNtIixvajoiYW0iLFRqOiJtbSIsZ2s6InJ0IixPajoiZCIsRmo6ImVkIixzazoic3YiLHlqOiJkZW9iIix2ajoiY2IiLG5rOiJycyIsaWs6InNkY2giLFBqOiJpbSIsemo6ImRnIixDajoiYnIiLERqOiJzYnIiLE9rOiJ3dCIsSGo6ImVlIixyazoic20iLFVqOiJtZCIsTWo6Imdzc21vZHVsZXNldHByb3RvIixJazoidWpnIixIazoic3AiLEFrOiJ0cGMifSxLZz17S2s6Ii53YXNtIixxazoiLm1hcCIseGs6Ii5zeW1ib2xzIixRajoiLmxvYWRlci5qcyIsUmo6Ii5sb2FkZXIuc291cmNlbWFwIixNazoiLndvcmtlci5qcyIsTms6Ii53b3JrZXIuc291cmNlbWFwIn07Xy5JPWZ1bmN0aW9uKGEpe18uRC5jYWxsKHRoaXMpO3RoaXMuaD1hO3RoaXMuZz17fX07Xy5CKF8uSSxfLkQpO3ZhciBNZz1bXTtfLkkucHJvdG90eXBlLkk9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIE5nKHRoaXMsYSxiLGMsZCl9O3ZhciBOZz1mdW5jdGlvbihhLGIsYyxkLGUsZil7QXJyYXkuaXNBcnJheShjKXx8KGMmJihNZ1swXT1jLnRvU3RyaW5nKCkpLGM9TWcpO2Zvcih2YXIgZz0wO2c8Yy5sZW5ndGg7ZysrKXt2YXIgaD1fLkcoYixjW2ddLGR8fGEuaGFuZGxlRXZlbnQsZXx8ITEsZnx8YS5ofHxhKTtpZighaClicmVhazthLmdbaC5rZXldPWh9cmV0dXJuIGF9O18uSS5wcm90b3R5cGUucWI9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIE9nKHRoaXMsYSxiLGMsZCl9Owp2YXIgT2c9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2lmKEFycmF5LmlzQXJyYXkoYykpZm9yKHZhciBnPTA7ZzxjLmxlbmd0aDtnKyspT2coYSxiLGNbZ10sZCxlLGYpO2Vsc2V7Yj1fLkpkKGIsYyxkfHxhLmhhbmRsZUV2ZW50LGUsZnx8YS5ofHxhKTtpZighYilyZXR1cm4gYTthLmdbYi5rZXldPWJ9cmV0dXJuIGF9O18uSS5wcm90b3R5cGUuUmE9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihBcnJheS5pc0FycmF5KGIpKWZvcih2YXIgZj0wO2Y8Yi5sZW5ndGg7ZisrKXRoaXMuUmEoYSxiW2ZdLGMsZCxlKTtlbHNlIGM9Y3x8dGhpcy5oYW5kbGVFdmVudCxkPV8ud2EoZCk/ISFkLmNhcHR1cmU6ISFkLGU9ZXx8dGhpcy5ofHx0aGlzLGM9S2QoYyksZD0hIWQsYj1fLnlkKGEpP2EubmMoYixjLGQsZSk6YT8oYT1fLk1kKGEpKT9hLm5jKGIsYyxkLGUpOm51bGw6bnVsbCxiJiYoXy5SZChiKSxkZWxldGUgdGhpcy5nW2Iua2V5XSk7cmV0dXJuIHRoaXN9OwpfLlBnPWZ1bmN0aW9uKGEpe18uTmMoYS5nLGZ1bmN0aW9uKGIsYyl7dGhpcy5nLmhhc093blByb3BlcnR5KGMpJiZfLlJkKGIpfSxhKTthLmc9e319O18uSS5wcm90b3R5cGUuSj1mdW5jdGlvbigpe18uSS5PLkouY2FsbCh0aGlzKTtfLlBnKHRoaXMpfTtfLkkucHJvdG90eXBlLmhhbmRsZUV2ZW50PWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoIlEiKTt9O3ZhciBRZz1mdW5jdGlvbigpe307UWcucHJvdG90eXBlLmg9bnVsbDt2YXIgUmc9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuaHx8KGEuaD1hLmwoKSl9O3ZhciBTZyxUZz1mdW5jdGlvbigpe307Xy5CKFRnLFFnKTtUZy5wcm90b3R5cGUuZz1mdW5jdGlvbigpe3ZhciBhPVVnKHRoaXMpO3JldHVybiBhP25ldyBBY3RpdmVYT2JqZWN0KGEpOm5ldyBYTUxIdHRwUmVxdWVzdH07VGcucHJvdG90eXBlLmw9ZnVuY3Rpb24oKXt2YXIgYT17fTtVZyh0aGlzKSYmKGFbMF09ITAsYVsxXT0hMCk7cmV0dXJuIGF9O3ZhciBVZz1mdW5jdGlvbihhKXtpZighYS5qJiYidW5kZWZpbmVkIj09dHlwZW9mIFhNTEh0dHBSZXF1ZXN0JiYidW5kZWZpbmVkIiE9dHlwZW9mIEFjdGl2ZVhPYmplY3Qpe2Zvcih2YXIgYj1bIk1TWE1MMi5YTUxIVFRQLjYuMCIsIk1TWE1MMi5YTUxIVFRQLjMuMCIsIk1TWE1MMi5YTUxIVFRQIiwiTWljcm9zb2Z0LlhNTEhUVFAiXSxjPTA7YzxiLmxlbmd0aDtjKyspe3ZhciBkPWJbY107dHJ5e3JldHVybiBuZXcgQWN0aXZlWE9iamVjdChkKSxhLmo9ZH1jYXRjaChlKXt9fXRocm93IEVycm9yKCJSIik7fXJldHVybiBhLmp9OwpTZz1uZXcgVGc7dmFyIFdnPWZ1bmN0aW9uKCl7fTtfLkIoV2csUWcpO1dnLnByb3RvdHlwZS5nPWZ1bmN0aW9uKCl7dmFyIGE9bmV3IFhNTEh0dHBSZXF1ZXN0O2lmKCJ3aXRoQ3JlZGVudGlhbHMiaW4gYSlyZXR1cm4gYTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIFhEb21haW5SZXF1ZXN0KXJldHVybiBuZXcgWGc7dGhyb3cgRXJyb3IoIlMiKTt9O1dnLnByb3RvdHlwZS5sPWZ1bmN0aW9uKCl7cmV0dXJue319Owp2YXIgWGc9ZnVuY3Rpb24oKXt0aGlzLmc9bmV3IFhEb21haW5SZXF1ZXN0O3RoaXMucmVhZHlTdGF0ZT0wO3RoaXMub25yZWFkeXN0YXRlY2hhbmdlPW51bGw7dGhpcy5yZXNwb25zZVR5cGU9dGhpcy5yZXNwb25zZVRleHQ9IiI7dGhpcy5zdGF0dXM9LTE7dGhpcy5zdGF0dXNUZXh0PSIiO3RoaXMuZy5vbmxvYWQ9KDAsXy5BKSh0aGlzLkdnLHRoaXMpO3RoaXMuZy5vbmVycm9yPSgwLF8uQSkodGhpcy5VZSx0aGlzKTt0aGlzLmcub25wcm9ncmVzcz0oMCxfLkEpKHRoaXMuVmgsdGhpcyk7dGhpcy5nLm9udGltZW91dD0oMCxfLkEpKHRoaXMuWGgsdGhpcyl9O18uaz1YZy5wcm90b3R5cGU7Xy5rLm9wZW49ZnVuY3Rpb24oYSxiLGMpe2lmKG51bGwhPWMmJiFjKXRocm93IEVycm9yKCJUIik7dGhpcy5nLm9wZW4oYSxiKX07Xy5rLnNlbmQ9ZnVuY3Rpb24oYSl7aWYoYSlpZigic3RyaW5nIj09dHlwZW9mIGEpdGhpcy5nLnNlbmQoYSk7ZWxzZSB0aHJvdyBFcnJvcigiVSIpO2Vsc2UgdGhpcy5nLnNlbmQoKX07Cl8uay5hYm9ydD1mdW5jdGlvbigpe3RoaXMuZy5hYm9ydCgpfTtfLmsuc2V0UmVxdWVzdEhlYWRlcj1mdW5jdGlvbigpe307Xy5rLmdldFJlc3BvbnNlSGVhZGVyPWZ1bmN0aW9uKGEpe3JldHVybiJjb250ZW50LXR5cGUiPT1hLnRvTG93ZXJDYXNlKCk/dGhpcy5nLmNvbnRlbnRUeXBlOiIifTtfLmsuR2c9ZnVuY3Rpb24oKXt0aGlzLnN0YXR1cz0yMDA7dGhpcy5yZXNwb25zZVRleHQ9dGhpcy5nLnJlc3BvbnNlVGV4dDtZZyh0aGlzLDQpfTtfLmsuVWU9ZnVuY3Rpb24oKXt0aGlzLnN0YXR1cz01MDA7dGhpcy5yZXNwb25zZVRleHQ9IiI7WWcodGhpcyw0KX07Xy5rLlhoPWZ1bmN0aW9uKCl7dGhpcy5VZSgpfTtfLmsuVmg9ZnVuY3Rpb24oKXt0aGlzLnN0YXR1cz0yMDA7WWcodGhpcywxKX07dmFyIFlnPWZ1bmN0aW9uKGEsYil7YS5yZWFkeVN0YXRlPWI7aWYoYS5vbnJlYWR5c3RhdGVjaGFuZ2UpYS5vbnJlYWR5c3RhdGVjaGFuZ2UoKX07ClhnLnByb3RvdHlwZS5nZXRBbGxSZXNwb25zZUhlYWRlcnM9ZnVuY3Rpb24oKXtyZXR1cm4iY29udGVudC10eXBlOiAiK3RoaXMuZy5jb250ZW50VHlwZX07Xy5aZz1mdW5jdGlvbihhLGIsYyl7aWYoImZ1bmN0aW9uIj09PXR5cGVvZiBhKWMmJihhPSgwLF8uQSkoYSxjKSk7ZWxzZSBpZihhJiYiZnVuY3Rpb24iPT10eXBlb2YgYS5oYW5kbGVFdmVudClhPSgwLF8uQSkoYS5oYW5kbGVFdmVudCxhKTtlbHNlIHRocm93IEVycm9yKCJXIik7cmV0dXJuIDIxNDc0ODM2NDc8TnVtYmVyKGIpPy0xOl8udC5zZXRUaW1lb3V0KGEsYnx8MCl9O3ZhciBhaCxiaDtfLiRnPWZ1bmN0aW9uKGEpe18uSC5jYWxsKHRoaXMpO3RoaXMuaGVhZGVycz1uZXcgTWFwO3RoaXMuRz1hfHxudWxsO3RoaXMuaD0hMTt0aGlzLkQ9dGhpcy5nPW51bGw7dGhpcy5zPSIiO3RoaXMubD0wO3RoaXMuaj10aGlzLkg9dGhpcy5BPXRoaXMuSz0hMTt0aGlzLm89MDt0aGlzLkI9bnVsbDt0aGlzLk49IiI7dGhpcy5NPXRoaXMuRj0hMX07Xy5CKF8uJGcsXy5IKTthaD0vXmh0dHBzPyQvaTtiaD1bIlBPU1QiLCJQVVQiXTtfLmNoPVtdO18uJGcucHJvdG90eXBlLlQ9ZnVuY3Rpb24oKXt0aGlzLlIoKTtfLnRhKF8uY2gsdGhpcyl9OwpfLiRnLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKGEsYixjLGQpe2lmKHRoaXMuZyl0aHJvdyBFcnJvcigiWGAiK3RoaXMucysiYCIrYSk7Yj1iP2IudG9VcHBlckNhc2UoKToiR0VUIjt0aGlzLnM9YTt0aGlzLmw9MDt0aGlzLks9ITE7dGhpcy5oPSEwO3RoaXMuZz10aGlzLkc/dGhpcy5HLmcoKTpTZy5nKCk7dGhpcy5EPXRoaXMuRz9SZyh0aGlzLkcpOlJnKFNnKTt0aGlzLmcub25yZWFkeXN0YXRlY2hhbmdlPSgwLF8uQSkodGhpcy5QLHRoaXMpO3RyeXt0aGlzLkg9ITAsdGhpcy5nLm9wZW4oYixTdHJpbmcoYSksITApLHRoaXMuSD0hMX1jYXRjaChnKXtkaCh0aGlzKTtyZXR1cm59YT1jfHwiIjtjPW5ldyBNYXAodGhpcy5oZWFkZXJzKTtpZihkKWlmKE9iamVjdC5nZXRQcm90b3R5cGVPZihkKT09PU9iamVjdC5wcm90b3R5cGUpZm9yKHZhciBlIGluIGQpYy5zZXQoZSxkW2VdKTtlbHNlIGlmKCJmdW5jdGlvbiI9PT10eXBlb2YgZC5rZXlzJiYiZnVuY3Rpb24iPT09dHlwZW9mIGQuZ2V0KXtlPQpfLnkoZC5rZXlzKCkpO2Zvcih2YXIgZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpZj1mLnZhbHVlLGMuc2V0KGYsZC5nZXQoZikpfWVsc2UgdGhyb3cgRXJyb3IoIllgIitTdHJpbmcoZCkpO2Q9QXJyYXkuZnJvbShjLmtleXMoKSkuZmluZChmdW5jdGlvbihnKXtyZXR1cm4iY29udGVudC10eXBlIj09Zy50b0xvd2VyQ2FzZSgpfSk7ZT1fLnQuRm9ybURhdGEmJmEgaW5zdGFuY2VvZiBfLnQuRm9ybURhdGE7IV8udShiaCxiKXx8ZHx8ZXx8Yy5zZXQoIkNvbnRlbnQtVHlwZSIsImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04Iik7Yj1fLnkoYyk7Zm9yKGQ9Yi5uZXh0KCk7IWQuZG9uZTtkPWIubmV4dCgpKWM9Xy55KGQudmFsdWUpLGQ9Yy5uZXh0KCkudmFsdWUsYz1jLm5leHQoKS52YWx1ZSx0aGlzLmcuc2V0UmVxdWVzdEhlYWRlcihkLGMpO3RoaXMuTiYmKHRoaXMuZy5yZXNwb25zZVR5cGU9dGhpcy5OKTsid2l0aENyZWRlbnRpYWxzImluCnRoaXMuZyYmdGhpcy5nLndpdGhDcmVkZW50aWFscyE9PXRoaXMuRiYmKHRoaXMuZy53aXRoQ3JlZGVudGlhbHM9dGhpcy5GKTt0cnl7ZWgodGhpcyksMDx0aGlzLm8mJigodGhpcy5NPWZoKHRoaXMuZykpPyh0aGlzLmcudGltZW91dD10aGlzLm8sdGhpcy5nLm9udGltZW91dD0oMCxfLkEpKHRoaXMuVSx0aGlzKSk6dGhpcy5CPV8uWmcodGhpcy5VLHRoaXMubyx0aGlzKSksdGhpcy5BPSEwLHRoaXMuZy5zZW5kKGEpLHRoaXMuQT0hMX1jYXRjaChnKXtkaCh0aGlzKX19O3ZhciBmaD1mdW5jdGlvbihhKXtyZXR1cm4gXy5GJiYibnVtYmVyIj09PXR5cGVvZiBhLnRpbWVvdXQmJnZvaWQgMCE9PWEub250aW1lb3V0fTtfLiRnLnByb3RvdHlwZS5VPWZ1bmN0aW9uKCl7InVuZGVmaW5lZCIhPXR5cGVvZiB4YiYmdGhpcy5nJiYodGhpcy5sPTgsdGhpcy5kaXNwYXRjaEV2ZW50KCJ0aW1lb3V0IiksdGhpcy5hYm9ydCg4KSl9Owp2YXIgZGg9ZnVuY3Rpb24oYSl7YS5oPSExO2EuZyYmKGEuaj0hMCxhLmcuYWJvcnQoKSxhLmo9ITEpO2EubD01O2doKGEpO2hoKGEpfSxnaD1mdW5jdGlvbihhKXthLkt8fChhLks9ITAsYS5kaXNwYXRjaEV2ZW50KCJjb21wbGV0ZSIpLGEuZGlzcGF0Y2hFdmVudCgiZXJyb3IiKSl9O18uJGcucHJvdG90eXBlLmFib3J0PWZ1bmN0aW9uKGEpe3RoaXMuZyYmdGhpcy5oJiYodGhpcy5oPSExLHRoaXMuaj0hMCx0aGlzLmcuYWJvcnQoKSx0aGlzLmo9ITEsdGhpcy5sPWF8fDcsdGhpcy5kaXNwYXRjaEV2ZW50KCJjb21wbGV0ZSIpLHRoaXMuZGlzcGF0Y2hFdmVudCgiYWJvcnQiKSxoaCh0aGlzKSl9O18uJGcucHJvdG90eXBlLko9ZnVuY3Rpb24oKXt0aGlzLmcmJih0aGlzLmgmJih0aGlzLmg9ITEsdGhpcy5qPSEwLHRoaXMuZy5hYm9ydCgpLHRoaXMuaj0hMSksaGgodGhpcywhMCkpO18uJGcuTy5KLmNhbGwodGhpcyl9OwpfLiRnLnByb3RvdHlwZS5QPWZ1bmN0aW9uKCl7dGhpcy5YYSgpfHwodGhpcy5IfHx0aGlzLkF8fHRoaXMuaj9paCh0aGlzKTp0aGlzLlcoKSl9O18uJGcucHJvdG90eXBlLlc9ZnVuY3Rpb24oKXtpaCh0aGlzKX07CnZhciBpaD1mdW5jdGlvbihhKXtpZihhLmgmJiJ1bmRlZmluZWQiIT10eXBlb2YgeGImJighYS5EWzFdfHw0IT1fLmpoKGEpfHwyIT1hLk5hKCkpKWlmKGEuQSYmND09Xy5qaChhKSlfLlpnKGEuUCwwLGEpO2Vsc2UgaWYoYS5kaXNwYXRjaEV2ZW50KCJyZWFkeXN0YXRlY2hhbmdlIiksND09Xy5qaChhKSl7YS5oPSExO3RyeXthLnBjKCk/KGEuZGlzcGF0Y2hFdmVudCgiY29tcGxldGUiKSxhLmRpc3BhdGNoRXZlbnQoInN1Y2Nlc3MiKSk6KGEubD02LGdoKGEpKX1maW5hbGx5e2hoKGEpfX19LGhoPWZ1bmN0aW9uKGEsYil7aWYoYS5nKXtlaChhKTt2YXIgYz1hLmcsZD1hLkRbMF0/ZnVuY3Rpb24oKXt9Om51bGw7YS5nPW51bGw7YS5EPW51bGw7Ynx8YS5kaXNwYXRjaEV2ZW50KCJyZWFkeSIpO3RyeXtjLm9ucmVhZHlzdGF0ZWNoYW5nZT1kfWNhdGNoKGUpe319fSxlaD1mdW5jdGlvbihhKXthLmcmJmEuTSYmKGEuZy5vbnRpbWVvdXQ9bnVsbCk7YS5CJiYoXy50LmNsZWFyVGltZW91dChhLkIpLAphLkI9bnVsbCl9O18uJGcucHJvdG90eXBlLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLmd9O18uJGcucHJvdG90eXBlLnBjPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5OYSgpO2E6c3dpdGNoKGEpe2Nhc2UgMjAwOmNhc2UgMjAxOmNhc2UgMjAyOmNhc2UgMjA0OmNhc2UgMjA2OmNhc2UgMzA0OmNhc2UgMTIyMzp2YXIgYj0hMDticmVhayBhO2RlZmF1bHQ6Yj0hMX1pZighYil7aWYoYT0wPT09YSlhPVN0cmluZyh0aGlzLnMpLm1hdGNoKF8uTGYpWzFdfHxudWxsLCFhJiZfLnQuc2VsZiYmXy50LnNlbGYubG9jYXRpb24mJihhPV8udC5zZWxmLmxvY2F0aW9uLnByb3RvY29sLnNsaWNlKDAsLTEpKSxhPSFhaC50ZXN0KGE/YS50b0xvd2VyQ2FzZSgpOiIiKTtiPWF9cmV0dXJuIGJ9O18uamg9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZz9hLmcucmVhZHlTdGF0ZTowfTsKXy4kZy5wcm90b3R5cGUuTmE9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIDI8Xy5qaCh0aGlzKT90aGlzLmcuc3RhdHVzOi0xfWNhdGNoKGEpe3JldHVybi0xfX07Xy4kZy5wcm90b3R5cGUuQmE9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIHRoaXMuZz90aGlzLmcucmVzcG9uc2VUZXh0OiIifWNhdGNoKGEpe3JldHVybiIifX07dmFyIGxoPWZ1bmN0aW9uKGEpe18uRC5jYWxsKHRoaXMpO3RoaXMuRD1hO3RoaXMuQT1MZyhhKTt0aGlzLmw9dGhpcy5vPW51bGw7dGhpcy5IPSEwO3RoaXMuaD1uZXcgXy5JKHRoaXMpO3RoaXMuSz1bXTt0aGlzLnM9bmV3IFNldDt0aGlzLmc9W107dGhpcy5NPW5ldyBraDt0aGlzLmo9W107dGhpcy5CPSExO2E9KDAsXy5BKSh0aGlzLkYsdGhpcyk7SGYudmVyc2lvbj1hfTtfLnoobGgsXy5EKTt2YXIgbWg9ZnVuY3Rpb24oYSxiKXthLmcubGVuZ3RoJiZLZShiLGEuZ1thLmcubGVuZ3RoLTFdKTthLmcucHVzaChiKTtIZShiLGZ1bmN0aW9uKCl7Xy50YSh0aGlzLmcsYil9LGEpfTtsaC5wcm90b3R5cGUuRz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dm9pZCAwPT09Yz97fTpjO2M9ZC52aDt2YXIgZT1kLnJlLGY9ZC5MaTthPW5oKHRoaXMsYSxiLGQudGgsYyk7b2godGhpcyxhLGUsZixjKX07CnZhciBuaD1mdW5jdGlvbihhLGIsYyxkLGUpe2Q9dm9pZCAwPT09ZD97fTpkO3ZhciBmPVtdO3BoKGEsYixjLGQsdm9pZCAwPT09ZT8hMTplLGZ1bmN0aW9uKGcpe2YucHVzaChnLk1hKCkpfSk7cmV0dXJuIGZ9LHBoPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcpe2c9dm9pZCAwPT09Zz97fTpnO2I9Xy55KGIpO2Zvcih2YXIgaD1iLm5leHQoKTshaC5kb25lO2g9Yi5uZXh0KCkpe3ZhciBsPWgudmFsdWU7aD1jW2xdOyFlJiYoYS5zLmhhcyhsKXx8aC5nKXx8Z1tsXXx8KGdbbF09ITAsbD1kW2xdP09iamVjdC5rZXlzKGRbbF0pOltdLHBoKGEsaC5oLmNvbmNhdChsKSxjLGQsZSxmLGcpLGYoaCkpfX0sb2g9ZnVuY3Rpb24oYSxiLGMsZCxlKXtlPXZvaWQgMD09PWU/ITE6ZTt2YXIgZj1bXSxnPW5ldyBBZTtiPVtiXTtmb3IodmFyIGg9ZnVuY3Rpb24ocSxyKXtmb3IodmFyIHA9W10seD0wLEM9TWF0aC5mbG9vcihxLmxlbmd0aC9yKSsxLFM9MDtTPHI7UysrKXt2YXIgUT0oUysxKSpDO3AucHVzaChxLnNsaWNlKHgsClEpKTt4PVF9cmV0dXJuIHB9LGw9Yi5zaGlmdCgpO2w7KXt2YXIgbT1xaChhLGwsISFlLCEwKTtpZigyRTM+PW0ubGVuZ3RoKXtpZihsPXJoKGEsbCxlKSlmLnB1c2gobCksS2UoZyxsLmcpfWVsc2UgYj1oKGwsTWF0aC5jZWlsKG0ubGVuZ3RoLzJFMykpLmNvbmNhdChiKTtsPWIuc2hpZnQoKX12YXIgbj1uZXcgQWU7bWgoYSxuKTtIZShuLGZ1bmN0aW9uKCl7cmV0dXJuIHNoKGEsZixjLGQpfSk7SWUobixmdW5jdGlvbigpe3ZhciBxPW5ldyB0aDtxLmo9ITA7cS5oPS0xO3NoKHRoaXMsW3FdLGMsZCl9LGEpO0hlKGcsZnVuY3Rpb24oKXtyZXR1cm4gbi5jYWxsYmFjaygpfSk7Zy5jYWxsYmFjaygpfSxyaD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9cWgoYSxiLCEodm9pZCAwPT09Y3x8IWMpKTthLksucHVzaChkKTtiPV8ueShiKTtmb3IoYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpYS5zLmFkZChjLnZhbHVlKTtpZihhLkIpYT1fLmxkKGRvY3VtZW50LCJTQ1JJUFQiKSxfLmNiKGEsCl8uZWIoZCkpLGEudHlwZT0idGV4dC9qYXZhc2NyaXB0IixhLmFzeW5jPSExLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYSk7ZWxzZXt2YXIgZT1uZXcgdGgsZj1uZXcgXy4kZygwPGEuai5sZW5ndGg/bmV3IFdnOnZvaWQgMCk7YS5oLkkoZiwic3VjY2VzcyIsKDAsXy5BKShlLkIsZSxmKSk7YS5oLkkoZiwiZXJyb3IiLCgwLF8uQSkoZS5BLGUsZikpO2EuaC5JKGYsInRpbWVvdXQiLCgwLF8uQSkoZS5zLGUpKTtOZyhhLmgsZiwicmVhZHkiLGYuUiwhMSxmKTtmLm89M0U0O3VoKGEuTSxmdW5jdGlvbigpe2Yuc2VuZChkKTtyZXR1cm4gZS5nfSk7cmV0dXJuIGV9cmV0dXJuIG51bGx9LHNoPWZ1bmN0aW9uKGEsYixjLGQpe2Zvcih2YXIgZT0hMSxmLGc9ITEsaD0wO2g8Yi5sZW5ndGg7aCsrKXt2YXIgbD1iW2hdO2lmKCFmJiZsLmope2U9ITA7Zj1sLmg7YnJlYWt9ZWxzZSBsLmwmJihnPSEwKX1oPV8udWEoYS5nKTsoZXx8ZykmJi0xIT1mJiYoYS5nLmxlbmd0aD0wKTtpZihlKWMmJgpjKGYpO2Vsc2UgaWYoZylkJiZkKCk7ZWxzZSBmb3IoYT0wO2E8Yi5sZW5ndGg7YSsrKWQ9YlthXSx2aChkLm8sZC5HYSl8fGMmJmMoODAwMSk7KGV8fGcpJiYtMSE9ZiYmXy5jYyhoLGZ1bmN0aW9uKG0pe20uY2FuY2VsKCl9KX07bGgucHJvdG90eXBlLko9ZnVuY3Rpb24oKXt0aGlzLmguUigpO2RlbGV0ZSBIZi52ZXJzaW9uO18uRC5wcm90b3R5cGUuSi5jYWxsKHRoaXMpfTtsaC5wcm90b3R5cGUuRj1mdW5jdGlvbigpe3JldHVybiBDZyh0aGlzLkEsImsiKX07CnZhciBxaD1mdW5jdGlvbihhLGIsYyxkKXtkPXZvaWQgMD09PWQ/ITE6ZDt2YXIgZT1fLk1mKGEuRC5tYXRjaChfLkxmKVszXXx8bnVsbCk7aWYoMDxhLmoubGVuZ3RoJiYhXy51KGEuaixlKSYmbnVsbCE9ZSYmd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lIT1lKXRocm93IEVycm9yKCJiYWAiK2UpO2U9TGcoYS5BLnRvU3RyaW5nKCkpO2RlbGV0ZSBlLmcubTtkZWxldGUgZS5nLmV4bTtkZWxldGUgZS5nLmVkO0ZnKGUsIm0iLGIuam9pbigiLCIpKTthLm8mJihGZyhlLCJjayIsYS5vKSxhLmwmJkZnKGUsInJzIixhLmwpKTtGZyhlLCJkIiwiMCIpO2MmJihhPWJkKCksZS5qLnp4PWEpO2E9ZS50b1N0cmluZygpO2lmKGQmJjA9PWEubGFzdEluZGV4T2YoIi8iLDApKXtlPWRvY3VtZW50LmxvY2F0aW9uLmhyZWYubWF0Y2goXy5MZik7ZD1lWzFdO2I9ZVsyXTtjPWVbM107ZT1lWzRdO3ZhciBmPSIiO2QmJihmKz1kKyI6Iik7YyYmKGYrPSIvLyIsYiYmKGYrPWIrIkAiKSxmKz1jLGUmJihmKz0KIjoiK2UpKTthPWYrYX1yZXR1cm4gYX0sdmg9ZnVuY3Rpb24oYSxiKXt2YXIgYz0iIjtpZigxPGEubGVuZ3RoJiYiXG4iPT09YS5jaGFyQXQoYS5sZW5ndGgtMSkpe3ZhciBkPWEubGFzdEluZGV4T2YoIlxuIixhLmxlbmd0aC0yKTswPD1kJiYoYz1hLnN1YnN0cmluZyhkKzEsYS5sZW5ndGgtMSkpfWQ9Yy5sZW5ndGgtMTE7aWYoMDw9ZCYmYy5pbmRleE9mKCJHb29nbGUgSW5jLiIsZCk9PWR8fDA9PWMubGFzdEluZGV4T2YoIi8vIyBzb3VyY2VNYXBwaW5nVVJMPSIsMCkpdHJ5e2M9d2luZG93O2E9YSsiXHJcbi8vIyBzb3VyY2VVUkw9IitiO2E9Xy5kYihhKTt2YXIgZT1fLlRhKGEpO3ZhciBmPV8uVWEoZSk7Yy5ldmFsKGYpPT09ZiYmYy5ldmFsKGYudG9TdHJpbmcoKSl9Y2F0Y2goZyl7cmV0dXJuITF9ZWxzZSByZXR1cm4hMTtyZXR1cm4hMH0sd2g9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5NZihhLm1hdGNoKF8uTGYpWzVdfHxudWxsKXx8IiIsYz1fLk1mKEhnKGIpLm1hdGNoKF8uTGYpWzVdfHwKbnVsbCk7cmV0dXJuKG51bGw9PT1jPzA6UmVnRXhwKCIvXy93YS8iLCJnIikudGVzdChjKT9KZyhiKTpSZWdFeHAoIigvXy9qcy8pfCgvXy9zcy8pIiwiZyIpLnRlc3QoYykmJi9cL2s9Ly50ZXN0KGMpKT9hOm51bGx9LHRoPWZ1bmN0aW9uKCl7dGhpcy5nPW5ldyBBZTt0aGlzLkdhPXRoaXMubz0iIjt0aGlzLmo9ITE7dGhpcy5oPTA7dGhpcy5sPSExfTt0aC5wcm90b3R5cGUuQj1mdW5jdGlvbihhKXt0aGlzLm89YS5CYSgpO3RoaXMuR2E9U3RyaW5nKGEucyk7dGhpcy5nLmNhbGxiYWNrKCl9O3RoLnByb3RvdHlwZS5BPWZ1bmN0aW9uKGEpe3RoaXMuaj0hMDt0aGlzLmg9YS5OYSgpO3RoaXMuZy5jYWxsYmFjaygpfTt0aC5wcm90b3R5cGUucz1mdW5jdGlvbigpe3RoaXMubD0hMDt0aGlzLmcuY2FsbGJhY2soKX07CnZhciBraD1mdW5jdGlvbigpe3RoaXMuZz0wO3RoaXMuaD1bXX0sdWg9ZnVuY3Rpb24oYSxiKXthLmgucHVzaChiKTt4aChhKX0seGg9ZnVuY3Rpb24oYSl7Zm9yKDs1PmEuZyYmYS5oLmxlbmd0aDspeWgoYSxhLmguc2hpZnQoKSl9LHloPWZ1bmN0aW9uKGEsYil7YS5nKys7SGUoYigpLGZ1bmN0aW9uKCl7dGhpcy5nLS07eGgodGhpcyl9LGEpfTt2YXIgemg9bmV3IHlnKCExKSxBaD1kb2N1bWVudC5sb2NhdGlvbi5ocmVmOwp6Zih7aDp7ZG1sOnpofSxpbml0aWFsaXplOmZ1bmN0aW9uKGEpe3ZhciBiPXpoLmdldCgpLGM9IiIsZD0iIjt3aW5kb3cmJndpbmRvdy5fRl9jc3NSb3dLZXkmJihjPXdpbmRvdy5fRl9jc3NSb3dLZXksd2luZG93Ll9GX2NvbWJpbmVkU2lnbmF0dXJlJiYoZD13aW5kb3cuX0ZfY29tYmluZWRTaWduYXR1cmUpKTtpZihjJiYiZnVuY3Rpb24iIT09dHlwZW9mIHdpbmRvdy5fRl9pbnN0YWxsQ3NzKXRocm93IEVycm9yKCIkIik7dmFyIGUsZj1fLnQuX0ZfanNVcmw7ZiYmKGU9d2goZikpOyFlJiYoZj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYmFzZS1qcyIpKSYmKGU9Zi5zcmM/Zi5zcmM6Zi5nZXRBdHRyaWJ1dGUoImhyZWYiKSxlPXdoKGUpKTtlfHwoZT13aChBaCkpO2V8fChlPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKSxlPXdoKGVbZS5sZW5ndGgtMV0uc3JjKSk7aWYoIWUpdGhyb3cgRXJyb3IoImFhIik7ZT1uZXcgbGgoZSk7YyYmKGUubz1jKTtkJiYKKGUubD1kKTtlLkI9YjtiPV8uamEoKTtiLkI9ZTtiLnVnKCEwKTtiPV8uamEoKTtiLkdlKGEpO2EuQShiKX19KTsKXy5fTW9kdWxlTWFuYWdlcl9pbml0aWFsaXplPWZ1bmN0aW9uKGEsYil7aWYoIV8uZmEpe2lmKCFfLmhhKXJldHVybjtfLmlhKCl9Xy5mYS5GZShhLGIpfTsKXy5fTW9kdWxlTWFuYWdlcl9pbml0aWFsaXplKCdiL3N5MC9zeTEvc3kyL3JKbUpyYzoxLDIsMy9uNzNxd2YvVVVKcVZlL01wSndaYy9HSEFlQWMvc3kzL3N5NDo5L3N5NS9XdDZ2amY6MixhLGIvc3k2OjEvYnlmVE9iOmQvc3k3OmEvc3k4L3N5OTo5L0xFaWtaZToyLDMsZCxmLGcsaC9sc2pWbWM6ZixnL3N5YS9lbF9jb25mOmsvZWxfbWFpbl9jc3Mvc3ljOmIsZi9zeWQ6OS9zeWUvZWxfbWFpbjpoLGssbSxuLG8scC9jb3JzcHJveHkvd2Vic2l0ZV9lcnJvci9zeWYvbmF2aWdhdGlvbnVpOmEscCx0L3BoaXNoaW5nX3Byb3RlY3Rpb246bix0L19zdGFtOm8nLFsnc3lhJywnZWxfY29uZiddKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5NPXt9O01TR19UUkFOU0xBVEU9IlRyYW5zbGF0ZSI7Xy5NWzBdPU1TR19UUkFOU0xBVEU7TVNHX0NBTkNFTD0iQ2FuY2VsIjtfLk1bMV09TVNHX0NBTkNFTDtNU0dfQ0xPU0U9IkNsb3NlIjtfLk1bMl09TVNHX0NMT1NFO01TR0ZVTkNfUEFHRV9UUkFOU0xBVEVEX1RPPWZ1bmN0aW9uKGEpe3JldHVybiJHb29nbGUgaGFzIHRyYW5zbGF0ZWQgdGhpcyBwYWdlIGF1dG9tYXRpY2FsbHkgdG86ICIrYX07Xy5NWzNdPU1TR0ZVTkNfUEFHRV9UUkFOU0xBVEVEX1RPO01TR0ZVTkNfVFJBTlNMQVRFRF9UTz1mdW5jdGlvbihhKXtyZXR1cm4iVHJhbnNsYXRlZCBpbnRvOiAiK2F9O18uTVs0XT1NU0dGVU5DX1RSQU5TTEFURURfVE87TVNHX0dFTkVSQUxfRVJST1I9IkVycm9yOiBUaGUgc2VydmVyIGNvdWxkIG5vdCBjb21wbGV0ZSB5b3VyIHJlcXVlc3QuIFRyeSBhZ2FpbiBsYXRlci4iO18uTVs1XT1NU0dfR0VORVJBTF9FUlJPUjtNU0dfTEVBUk5fTU9SRT0iTGVhcm4gbW9yZSI7Cl8uTVs2XT1NU0dfTEVBUk5fTU9SRTtNU0dGVU5DX1BPV0VSRURfQlk9ZnVuY3Rpb24oYSl7cmV0dXJuIlBvd2VyZWQgYnkgIithfTtfLk1bN109TVNHRlVOQ19QT1dFUkVEX0JZO01TR19UUkFOU0xBVEVfUFJPRFVDVF9OQU1FPSJUcmFuc2xhdGUiO18uTVs4XT1NU0dfVFJBTlNMQVRFX1BST0RVQ1RfTkFNRTtNU0dfVFJBTlNMQVRJT05fSU5fUFJPR1JFU1M9IlRyYW5zbGF0aW9uIGluIHByb2dyZXNzIjtfLk1bOV09TVNHX1RSQU5TTEFUSU9OX0lOX1BST0dSRVNTO01TR0ZVTkNfVFJBTlNMQVRFX1BBR0VfVE89ZnVuY3Rpb24oYSl7cmV0dXJuIlRyYW5zbGF0ZSB0aGlzIHBhZ2UgdG86ICIrYSsiIHVzaW5nIEdvb2dsZSBUcmFuc2xhdGU/In07Xy5NWzEwXT1NU0dGVU5DX1RSQU5TTEFURV9QQUdFX1RPO01TR0ZVTkNfVklFV19QQUdFX0lOPWZ1bmN0aW9uKGEpe3JldHVybiJWaWV3IHRoaXMgcGFnZSBpbjogIithfTtfLk1bMTFdPU1TR0ZVTkNfVklFV19QQUdFX0lOOwpNU0dfUkVTVE9SRT0iU2hvdyBvcmlnaW5hbCI7Xy5NWzEyXT1NU0dfUkVTVE9SRTtNU0dfU1NMX0lORk9fTE9DQUxfRklMRT0iVGhlIGNvbnRlbnQgb2YgdGhpcyBsb2NhbCBmaWxlIHdpbGwgYmUgc2VudCB0byBHb29nbGUgZm9yIHRyYW5zbGF0aW9uIHVzaW5nIGEgc2VjdXJlIGNvbm5lY3Rpb24uIjtfLk1bMTNdPU1TR19TU0xfSU5GT19MT0NBTF9GSUxFO01TR19TU0xfSU5GT19TRUNVUkVfUEFHRT0iVGhlIGNvbnRlbnQgb2YgdGhpcyBzZWN1cmUgcGFnZSB3aWxsIGJlIHNlbnQgdG8gR29vZ2xlIGZvciB0cmFuc2xhdGlvbiwgdXNpbmcgYSBzZWN1cmUgY29ubmVjdGlvbi4iO18uTVsxNF09TVNHX1NTTF9JTkZPX1NFQ1VSRV9QQUdFO01TR19TU0xfSU5GT19JTlRSQU5FVF9QQUdFPSJUaGUgY29udGVudCBvZiB0aGlzIGludHJhbmV0IHBhZ2Ugd2lsbCBiZSBzZW50IHRvIEdvb2dsZSBmb3IgdHJhbnNsYXRpb24sIHVzaW5nIGEgc2VjdXJlIGNvbm5lY3Rpb24uIjtfLk1bMTVdPU1TR19TU0xfSU5GT19JTlRSQU5FVF9QQUdFOwpNU0dfU0VMRUNUX0xBTkdVQUdFPSJTZWxlY3QgTGFuZ3VhZ2UiO18uTVsxNl09TVNHX1NFTEVDVF9MQU5HVUFHRTtNU0dGVU5DX1RVUk5fT0ZGX1RSQU5TTEFUSU9OPWZ1bmN0aW9uKGEpe3JldHVybiJUdXJuIG9mZiAiK2ErIiB0cmFuc2xhdGlvbiJ9O18uTVsxN109TVNHRlVOQ19UVVJOX09GRl9UUkFOU0xBVElPTjtNU0dGVU5DX1RVUk5fT0ZGX0ZPUj1mdW5jdGlvbihhKXtyZXR1cm4iVHVybiBvZmYgZm9yOiAiK2F9O18uTVsxOF09TVNHRlVOQ19UVVJOX09GRl9GT1I7TVNHX0FMV0FZU19ISURFX0FVVE9fUE9QVVBfQkFOTkVSPSJBbHdheXMgaGlkZSI7Xy5NWzE5XT1NU0dfQUxXQVlTX0hJREVfQVVUT19QT1BVUF9CQU5ORVI7TVNHX09SSUdJTkFMX1RFWFQ9Ik9yaWdpbmFsIHRleHQ6IjtfLk1bMjBdPU1TR19PUklHSU5BTF9URVhUO01TR19GSUxMX1NVR0dFU1RJT049IkNvbnRyaWJ1dGUgYSBiZXR0ZXIgdHJhbnNsYXRpb24iO18uTVsyMV09TVNHX0ZJTExfU1VHR0VTVElPTjsKTVNHX1NVQk1JVF9TVUdHRVNUSU9OPSJDb250cmlidXRlIjtfLk1bMjJdPU1TR19TVUJNSVRfU1VHR0VTVElPTjtNU0dfU0hPV19UUkFOU0xBVEVfQUxMPSJUcmFuc2xhdGUgYWxsIjtfLk1bMjNdPU1TR19TSE9XX1RSQU5TTEFURV9BTEw7TVNHX1NIT1dfUkVTVE9SRV9BTEw9IlJlc3RvcmUgYWxsIjtfLk1bMjRdPU1TR19TSE9XX1JFU1RPUkVfQUxMO01TR19TSE9XX0NBTkNFTF9BTEw9IkNhbmNlbCBhbGwiO18uTVsyNV09TVNHX1NIT1dfQ0FOQ0VMX0FMTDtNU0dfVFJBTlNMQVRFX1RPX01ZX0xBTkdVQUdFPSJUcmFuc2xhdGUgc2VjdGlvbnMgdG8gbXkgbGFuZ3VhZ2UiO18uTVsyNl09TVNHX1RSQU5TTEFURV9UT19NWV9MQU5HVUFHRTtNU0dGVU5DX1RSQU5TTEFURV9FVkVSWVRISU5HX1RPPWZ1bmN0aW9uKGEpe3JldHVybiJUcmFuc2xhdGUgZXZlcnl0aGluZyB0byAiK2F9O18uTVsyN109TVNHRlVOQ19UUkFOU0xBVEVfRVZFUllUSElOR19UTzsKTVNHX1NIT1dfT1JJR0lOQUxfTEFOR1VBR0VTPSJTaG93IG9yaWdpbmFsIGxhbmd1YWdlcyI7Xy5NWzI4XT1NU0dfU0hPV19PUklHSU5BTF9MQU5HVUFHRVM7TVNHX09QVElPTlM9Ik9wdGlvbnMiO18uTVsyOV09TVNHX09QVElPTlM7TVNHX1RVUk5fT0ZGX1RSQU5TTEFUSU9OX0ZPUl9USElTX1NJVEU9IlR1cm4gb2ZmIHRyYW5zbGF0aW9uIGZvciB0aGlzIHNpdGUiO18uTVszMF09TVNHX1RVUk5fT0ZGX1RSQU5TTEFUSU9OX0ZPUl9USElTX1NJVEU7Xy5NWzMxXT1udWxsO01TR19BTFRfU1VHR0VTVElPTj0iU2hvdyBhbHRlcm5hdGl2ZSB0cmFuc2xhdGlvbnMiO18uTVszMl09TVNHX0FMVF9TVUdHRVNUSU9OO01TR19BTFRfQUNUSVZJVFlfSEVMUEVSX1RFWFQ9IkNsaWNrIHdvcmRzIGFib3ZlIHRvIGdldCBhbHRlcm5hdGl2ZSB0cmFuc2xhdGlvbnMiO18uTVszM109TVNHX0FMVF9BQ1RJVklUWV9IRUxQRVJfVEVYVDtNU0dfVVNFX0FMVEVSTkFUSVZFUz0iVXNlIjtfLk1bMzRdPU1TR19VU0VfQUxURVJOQVRJVkVTOwpNU0dfRFJBR19USVA9IkRyYWcgd2l0aCBzaGlmdCBrZXkgdG8gcmVvcmRlciI7Xy5NWzM1XT1NU0dfRFJBR19USVA7TVNHX0NMSUNLX0ZPUl9BTFQ9IkNsaWNrIGZvciBhbHRlcm5hdGl2ZSB0cmFuc2xhdGlvbnMiO18uTVszNl09TVNHX0NMSUNLX0ZPUl9BTFQ7TVNHX0RSQUdfSU5TVFVDVElPTlM9IkhvbGQgZG93biB0aGUgc2hpZnQga2V5LCBjbGljayBhbmQgZHJhZyB0aGUgd29yZHMgYWJvdmUgdG8gcmVvcmRlci4iO18uTVszN109TVNHX0RSQUdfSU5TVFVDVElPTlM7TVNHX1NVR0dFU1RJT05fU1VCTUlUVEVEPSJUaGFuayB5b3UgZm9yIGNvbnRyaWJ1dGluZyB5b3VyIHRyYW5zbGF0aW9uIHN1Z2dlc3Rpb24gdG8gR29vZ2xlIFRyYW5zbGF0ZS4iO18uTVszOF09TVNHX1NVR0dFU1RJT05fU1VCTUlUVEVEO01TR19NQU5BR0VfVFJBTlNMQVRJT05fRk9SX1RISVNfU0lURT0iTWFuYWdlIHRyYW5zbGF0aW9uIGZvciB0aGlzIHNpdGUiO18uTVszOV09TVNHX01BTkFHRV9UUkFOU0xBVElPTl9GT1JfVEhJU19TSVRFOwpNU0dfQUxUX0FORF9DT05UUklCVVRFX0FDVElWSVRZX0hFTFBFUl9URVhUPSJDbGljayBhIHdvcmQgZm9yIGFsdGVybmF0aXZlIHRyYW5zbGF0aW9ucyBvciBkb3VibGUtY2xpY2sgdG8gZWRpdCBkaXJlY3RseSI7Xy5NWzQwXT1NU0dfQUxUX0FORF9DT05UUklCVVRFX0FDVElWSVRZX0hFTFBFUl9URVhUO01TR19PUklHSU5BTF9URVhUX05PX0NPTE9OPSJPcmlnaW5hbCB0ZXh0IjtfLk1bNDFdPU1TR19PUklHSU5BTF9URVhUX05PX0NPTE9OO18uTVs0Ml09IlRyYW5zbGF0ZSI7Xy5NWzQzXT0iVHJhbnNsYXRlIjtfLk1bNDRdPSJZb3VyIGNvcnJlY3Rpb24gaGFzIGJlZW4gc3VibWl0dGVkLiI7TVNHX0xBTkdVQUdFX1VOU1VQUE9SVEVEPSJFcnJvcjogVGhlIGxhbmd1YWdlIG9mIHRoZSB3ZWIgcGFnZSBpcyBub3Qgc3VwcG9ydGVkLiI7Xy5NWzQ1XT1NU0dfTEFOR1VBR0VfVU5TVVBQT1JURUQ7TVNHX0xBTkdVQUdFX1RSQU5TTEFURV9XSURHRVQ9Ikxhbmd1YWdlIFRyYW5zbGF0ZSBXaWRnZXQiOwpfLk1bNDZdPU1TR19MQU5HVUFHRV9UUkFOU0xBVEVfV0lER0VUO01TR19SQVRFX1RISVNfVFJBTlNMQVRJT049IlJhdGUgdGhpcyB0cmFuc2xhdGlvbiI7Xy5NWzQ3XT1NU0dfUkFURV9USElTX1RSQU5TTEFUSU9OO01TR19GRUVEQkFDS19VU0FHRV9GT1JfSU1QUk9WRU1FTlQ9IllvdXIgZmVlZGJhY2sgd2lsbCBiZSB1c2VkIHRvIGhlbHAgaW1wcm92ZSBHb29nbGUgVHJhbnNsYXRlIjtfLk1bNDhdPU1TR19GRUVEQkFDS19VU0FHRV9GT1JfSU1QUk9WRU1FTlQ7TVNHX0ZFRURCQUNLX1NBVElTRklFRF9MQUJFTD0iR29vZCB0cmFuc2xhdGlvbiI7Xy5NWzQ5XT1NU0dfRkVFREJBQ0tfU0FUSVNGSUVEX0xBQkVMO01TR19GRUVEQkFDS19ESVNTQVRJU0ZJRURfTEFCRUw9IlBvb3IgdHJhbnNsYXRpb24iO18uTVs1MF09TVNHX0ZFRURCQUNLX0RJU1NBVElTRklFRF9MQUJFTDtNU0dfVFJBTlNMQVRJT05fTk9fQ09MT049IlRyYW5zbGF0aW9uIjtfLk1bNTFdPU1TR19UUkFOU0xBVElPTl9OT19DT0xPTjsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5tYSgiZWxfY29uZiIpOwp2YXIgZGw7Xy5fZXhwb3J0VmVyc2lvbj1mdW5jdGlvbihhKXtfLkxiKCJnb29nbGUudHJhbnNsYXRlLnYiLGEpfTtfLl9nZXRDYWxsYmFja0Z1bmN0aW9uPWZ1bmN0aW9uKGEpe3JldHVybiBfLnliKGEpfTtfLl9leHBvcnRNZXNzYWdlcz1mdW5jdGlvbigpe18uTGIoImdvb2dsZS50cmFuc2xhdGUubSIsXy5NKX07ZGw9ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXTtifHwoYj1kb2N1bWVudC5ib2R5LnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaGVhZCIpKSk7Yi5hcHBlbmRDaGlsZChhKX07Xy5fbG9hZEpzPWZ1bmN0aW9uKGEpe3ZhciBiPV8ubGQoZG9jdW1lbnQsIlNDUklQVCIpO2IudHlwZT0idGV4dC9qYXZhc2NyaXB0IjtiLmNoYXJzZXQ9IlVURi04IjtfLmNiKGIsXy5lYihhKSk7ZGwoYil9OwpfLl9sb2FkQ3NzPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtiLnR5cGU9InRleHQvY3NzIjtiLnJlbD0ic3R5bGVzaGVldCI7Yi5jaGFyc2V0PSJVVEYtOCI7Yi5ocmVmPWE7ZGwoYil9O18uX2lzTlM9ZnVuY3Rpb24oYSl7YT1hLnNwbGl0KCIuIik7Zm9yKHZhciBiPXdpbmRvdyxjPTA7YzxhLmxlbmd0aDsrK2MpaWYoIShiPWJbYVtjXV0pKXJldHVybiExO3JldHVybiEwfTtfLl9zZXR1cE5TPWZ1bmN0aW9uKGEpe2E9YS5zcGxpdCgiLiIpO2Zvcih2YXIgYj13aW5kb3csYz0wO2M8YS5sZW5ndGg7KytjKWIuaGFzT3duUHJvcGVydHk/Yi5oYXNPd25Qcm9wZXJ0eShhW2NdKT9iPWJbYVtjXV06Yj1iW2FbY11dPXt9OmI9YlthW2NdXXx8KGJbYVtjXV09e30pO3JldHVybiBifTtfLkxiKCJfZXhwb3J0VmVyc2lvbiIsXy5fZXhwb3J0VmVyc2lvbik7Xy5MYigiX2dldENhbGxiYWNrRnVuY3Rpb24iLF8uX2dldENhbGxiYWNrRnVuY3Rpb24pOwpfLkxiKCJfZXhwb3J0TWVzc2FnZXMiLF8uX2V4cG9ydE1lc3NhZ2VzKTtfLkxiKCJfbG9hZEpzIixfLl9sb2FkSnMpO18uTGIoIl9sb2FkQ3NzIixfLl9sb2FkQ3NzKTtfLkxiKCJfaXNOUyIsXy5faXNOUyk7Xy5MYigiX3NldHVwTlMiLF8uX3NldHVwTlMpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyJiYidW5kZWZpbmVkIj09dHlwZW9mIGRvY3VtZW50LnJlYWR5U3RhdGUmJndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixmdW5jdGlvbigpe2RvY3VtZW50LnJlYWR5U3RhdGU9ImNvbXBsZXRlIn0sITEpOwpfLm9hKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp9KS5jYWxsKHRoaXMsdGhpcy5kZWZhdWx0X3RyKTsKLy8gR29vZ2xlIEluYy4KCi8vIyBzb3VyY2VVUkw9L18vdHJhbnNsYXRlX2h0dHAvXy9qcy9rPXRyYW5zbGF0ZV9odHRwLnRyLmVuX0dCLjBiT2t3TWVVaHNzLk8vYW09d0EvZD0xL3JzPUFOOFNQZnBtZlpFektVOXphZmVFMTlEWnVYeGpCdXpIbVEvbT1lbF9jb25mCiAgICAvLyBDb25maWd1cmUgQ29uc3RhbnRzCiAgICAoZnVuY3Rpb24oKXsKICAgICAgbGV0IGd0Q29uc3RFdmFsU3RhcnRUaW1lID0gbmV3IERhdGUoKTsKICAgICAgaWYgKF9pc05TKCdnb29nbGUudHJhbnNsYXRlLkVsZW1lbnQnKSl7cmV0dXJufQoKICAgICAgKGZ1bmN0aW9uKCl7CiAgICAgICAgY29uc3QgYz1fc2V0dXBOUygnZ29vZ2xlLnRyYW5zbGF0ZS5fY29uc3QnKTsKCiAgICAgICAgYy5fY2VzdCA9IGd0Q29uc3RFdmFsU3RhcnRUaW1lOwogICAgICAgIGd0Q29uc3RFdmFsU3RhcnRUaW1lID0gdW5kZWZpbmVkOyAvLyBoaWRlIHRoaXMgZXZhbCBzdGFydCB0aW1lIGNvbnN0YW50CiAgYy5fY2w9J2VuLUdCJzsgYy5fY3VjPSdnb29nbGVUcmFuc2xhdGVFbGVtZW50SW5pdCc7IGMuX2NhYz0nJzsgYy5fY2FtPScnOyBjLl9jZW52PSdwcm9kJzsgYy5fY3Rraz0nNDc0MzM2LjE1MTU5Nzg3Nic7IGNvbnN0IGg9J3RyYW5zbGF0ZS5nb29nbGVhcGlzLmNvbSc7IGNvbnN0IG9waD0ndHJhbnNsYXRlLXBhLmdvb2dsZWFwaXMuY29tJzsgY29uc3Qgcz0naHR0cHMnKyc6Ly8nOyBjLl9wYWg9aDsgYy5fcGFzPXM7IGNvbnN0IGI9cysndHJhbnNsYXRlLmdvb2dsZWFwaXMuY29tJzsgY29uc3Qgc3RhdGljUGF0aCA9ICcvdHJhbnNsYXRlX3N0YXRpYy8nOyBjLl9wY2k9YitzdGF0aWNQYXRoKydpbWcvdGVfY3RybDMuZ2lmJzsgYy5fcG1pPWIrc3RhdGljUGF0aCsnaW1nL21pbmlfZ29vZ2xlLnBuZyc7IGMuX3BiaT1iK3N0YXRpY1BhdGgrJ2ltZy90ZV9iay5naWYnOyBjLl9wbGk9YitzdGF0aWNQYXRoKydpbWcvbG9hZGluZy5naWYnOyBjLl9wcz0naHR0cHM6XC9cL3d3dy5nc3RhdGljLmNvbVwvX1wvdHJhbnNsYXRlX2h0dHBcL19cL3NzXC9rXHgzZHRyYW5zbGF0ZV9odHRwLnRyLmgtOG5OS21TMU93LkwuWC5PXC9hbVx4M2R3QVwvZFx4M2QwXC9yc1x4M2RBTjhTUGZxT3pWVzFpNDA4ZzBMRWdGNlUxQzZ5Vk82RUVBXC9tXHgzZGVsX21haW5fY3NzJzsgYy5fcGxsYT1vcGgrJ1wvdjFcL3N1cHBvcnRlZExhbmd1YWdlcyc7IGMuX3B1aD0ndHJhbnNsYXRlLmdvb2dsZS5jb20nO2MuX2NuYWw9e307X2xvYWRDc3MoYy5fcHMpOyBfbG9hZEpzKCdodHRwczpcL1wvdHJhbnNsYXRlLmdvb2dsZWFwaXMuY29tXC9fXC90cmFuc2xhdGVfaHR0cFwvX1wvanNcL2tceDNkdHJhbnNsYXRlX2h0dHAudHIuZW5fR0IuMGJPa3dNZVVoc3MuT1wvYW1ceDNkQUFRXC9kXHgzZDFcL2V4bVx4M2RlbF9jb25mXC9lZFx4M2QxXC9yc1x4M2RBTjhTUGZwSi1iNVJMN2pYX2xKUTg4eWVnNm5BR21iMHNRXC9tXHgzZGVsX21haW4nKTtfZXhwb3J0TWVzc2FnZXMoKTsgX2V4cG9ydFZlcnNpb24oJ1RFXzIwMjQwMjA3Jyk7CiAgICAgICAgfSkoKTsKICAgICAgfSkoKTsKICA="}},"time_used":56,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":29,"receive":27,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/15049.08e0888e7d45f371417a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.939Z","timestamp":1785120633939,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/15049.08e0888e7d45f371417a.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-7e05\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:32:38\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a3860cd624d86a80dcb17e50e540beed\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":32261,"size_decoded":11983,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3440)","md5":"db48995ff5f730ecb170f36e4e2cc18a","sha1":"044ce4f192cecbee308979fbae086c96bfb8db14","sha256":"c81b7b8904e0431a7b79c10f58c825619389b9b17ab64e096121d6f89e2dbe44","sha512":"b421809d047c58d7c47154fd7dd0c211a8727f97c41abc92cb643758b44cc1861e7dc1a4ebc141ba015e211d59dee2becc24789ebb814d22544421123442befa","ssdeep":"768:ffIIzV3q50QTARuL5BAPuQ8GYzHdnj2WyvbVLKdrPQg4xGCSHyezAYMfKngc/oze:nw7H1awIgJdAag7nwvsBKJ/n","tlshash":"a8e2f8c23285b8773bf350e618791542962e35627c0a48bcfa6d29cf3c1cd8a617fa75","first_seen":"2026-07-24T18:44:55.936981Z","last_seen":"2026-07-27T05:27:33.151992Z","times_seen":119,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxNTA0OV0sezg0NTU3NyhlKXtlLmV4cG9ydHM9eyJ0di1zcGlubmVyX19jb250YWluZXItcm90YXRlIjoidHYtc3Bpbm5lcl9fY29udGFpbmVyLXJvdGF0ZS1qNEpscllWSCIsInR2LXNwaW5uZXJfX2NvbnRhaW5lci1yb3RhdGUtcnRsIjoidHYtc3Bpbm5lcl9fY29udGFpbmVyLXJvdGF0ZS1ydGwtajRKbHJZVkgifX0sMzg0MDE3KGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse2ZldGNoOigpPT5zfSk7dmFyIG49cigyMjEwNjEpO3IoMzAwMjg2KTtjb25zdCBpPSgwLG4uZ2V0TG9nZ2VyKSgiRmV0Y2giKTtmdW5jdGlvbiBzKGUsdCxyPXt9KXt7Y29uc3R7bG9nT25FcnJvclN0YXR1czpuPSEwLGxvZ0JvZHlPbkVycm9yOnM9ITF9PXI7dD10fHx7fSxmdW5jdGlvbihlKXtyZXR1cm4gbmV3IFVSTChlLGRvY3VtZW50LmJhc2VVUkkpLm9yaWdpbj09PWxvY2F0aW9uLm9yaWdpbn0oZSkmJih0LmhlYWRlcnM/dC5oZWFkZXJzIGluc3RhbmNlb2YgSGVhZGVyc3x8KHQuaGVhZGVycz1uZXcgSGVhZGVycyh0LmhlYWRlcnMpKTp0LmhlYWRlcnM9bmV3IEhlYWRlcnMsd2luZG93LmxvY2FsZSYmdC5oZWFkZXJzLnNldCgiWC1MYW5ndWFnZSIsd2luZG93LmxvY2FsZSksdC5oZWFkZXJzLnNldCgiWC1SZXF1ZXN0ZWQtV2l0aCIsIlhNTEh0dHBSZXF1ZXN0IikpLHZvaWQgMD09PXQuY3JlZGVudGlhbHMmJih0LmNyZWRlbnRpYWxzPSJzYW1lLW9yaWdpbiIpO2NvbnN0IGE9d2luZG93LmZldGNoKGUsdCk7cmV0dXJuIGEudGhlbigocj0+e2lmKCFyLm9rJiZuKXtsZXQgbj0iIjt0Lm1ldGhvZCYmKG4rPWAke3QubWV0aG9kLnRvVXBwZXJDYXNlKCl9IGApLG4rPWUsbis9YC4gU3RhdHVzICR7ci5zdGF0dXN9YCxyLnN0YXR1c1RleHQmJihuKz1gLiAke3Iuc3RhdHVzVGV4dH1gKSxyLmhlYWRlcnMudmlhJiYobis9YC4gVmlhOiAke3IuaGVhZGVycy52aWF9YCkscyYmInN0cmluZyI9PXR5cGVvZiB0LmJvZHkmJihuKz1gLiBCb2R5OiAke3QuYm9keS5zbGljZSgwLDEwMjQpfWApLGkubG9nRXJyb3Iobil9cmV0dXJuIHJ9KSwocj0+e2lmKHImJiJBYm9ydEVycm9yIj09PXIubmFtZSlyZXR1cm47bGV0IG49IiI7dC5tZXRob2QmJihuKz1gJHt0Lm1ldGhvZC50b1VwcGVyQ2FzZSgpfSBgKSxuKz1lLG5hdmlnYXRvci5vbkxpbmU/bis9YC4gJHtTdHJpbmcocil9YDpuKz0iLiBVc2VyIGlzIG9mZmxpbmUuIixpLmxvZ0Vycm9yKG4pfSkpLGF9fX0sOTA5Nzk4KGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse2ZsdXNoRGVsZWdhdGU6KCk9Pm59KTtjb25zdCBuPW5ldyhyKDk0ODM4MCkuRGVsZWdhdGUpfSwyNDc5MDEoZSx0LHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbjtyLmQodCx7U3RkVGhlbWU6KCk9Pm59KSxmdW5jdGlvbihlKXtlLkxpZ2h0PSJsaWdodCIsZS5EYXJrPSJkYXJrIn0obnx8KG49e30pKX0sMTUyNjk5KGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse1RWWFdpbmRvd0V2ZW50czooKT0+YX0pO3ZhciBuPXIoMjIxMDYxKSxpPXIoOTMyMzY1KTtjb25zdCBzPSgwLG4uZ2V0TG9nZ2VyKSgiWFdpbmRvd0V2ZW50cyIpO3ZhciBhOyFmdW5jdGlvbihlKXtjb25zdCB0PSJ0dnh3ZXZlbnRzLiIscj17fTtsZXQgbjt3aW5kb3cuQnJvYWRjYXN0Q2hhbm5lbD8obj1uZXcgQnJvYWRjYXN0Q2hhbm5lbCgidHZ4d2V2ZW50cyIpLG4uYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsKGZ1bmN0aW9uKGUpe2NvbnN0e2RhdGE6e2V2ZW50OnQsdmFsdWU6bn19PWU7clt0XSYmclt0XS5mb3JFYWNoKChlPT57ZShuKX0pKX0pKSxmdW5jdGlvbigpe2NvbnN0IGU9W10scj1wZXJmb3JtYW5jZS5ub3coKTtmb3IobGV0IHI9MDtyPGkuVFZMb2NhbFN0b3JhZ2UubGVuZ3RoO3IrKyl7Y29uc3Qgbj1pLlRWTG9jYWxTdG9yYWdlLmtleShyKTtuLnN0YXJ0c1dpdGgodCkmJmUucHVzaChuKX1jb25zdCBuPWkuVFZMb2NhbFN0b3JhZ2UubGVuZ3RoO2Zvcihjb25zdCB0IG9mIGUpaS5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHQpO2NvbnN0IGE9cGVyZm9ybWFuY2Uubm93KCktcjtzLmxvZ05vcm1hbChgVG90YWwga2V5cyBhbW91bnQgaW4gbG9jYWwgc3RvcmFnZSBvbiBvcGVyYXRpb24gc3RhcnQ6ICR7bn1gKSxzLmxvZ05vcm1hbChgS2V5cyBhbW91bnQgaW4gbG9jYWwgc3RvcmFnZSB0byBiZSBkZWxldGVkOiAke2UubGVuZ3RofWApLHMubG9nTm9ybWFsKGBLZXlzIHRvIGJlIGRlbGV0ZWQgZnJvbSBsb2NhbCBzdG9yYWdlOiAke0pTT04uc3RyaW5naWZ5KGUpfWApLHMubG9nTm9ybWFsKGBSZW1vdmluZyBrZXlzIGZyb20gbG9jYWwgc3RvcmFnZSB0b29rICR7YX0gbXNgKX0oKSk6d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInN0b3JhZ2UiLChmdW5jdGlvbihlKXtjb25zdHtuZXdWYWx1ZTpuLGtleTpzfT1lO2lmKG51bGw9PT1ufHwhc3x8IXMuc3RhcnRzV2l0aCh0KSlyZXR1cm47Y29uc3QgYT1zLnN1YnN0cmluZygxMSk7clthXSYmclthXS5mb3JFYWNoKCh0PT57dChlLm5ld1ZhbHVlKX0pKTtpLlRWTG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0ocyl9KSksZS5vbj1mdW5jdGlvbihlLHQpe3JbZV18fChyW2VdPVtdKSxyW2VdLnB1c2godCl9LGUub2ZmPWZ1bmN0aW9uKGUsdCl7aWYoIXJbZV0pcmV0dXJuO2NvbnN0IG49cltlXS5pbmRleE9mKHQpOy0xIT09biYmKDE9PT1yW2VdLmxlbmd0aD9kZWxldGUgcltlXTpyW2VdLnNwbGljZShuLDEpKX0sZS5lbWl0PWZ1bmN0aW9uKGUscj1EYXRlLm5vdygpKXt0cnl7bj9uLnBvc3RNZXNzYWdlKHtldmVudDplLHZhbHVlOnJ9KTppLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0odCtlLHIudG9TdHJpbmcoKSl9Y2F0Y2goZSl7cy5sb2dFcnJvcihlLm1lc3NhZ2UpfX19KGF8fChhPXt9KSl9LDgzMDc4MyhlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHt0cnlQYXJzZU5hbWVkUmdiYTooKT0+aX0pCjtjb25zdCBuPW5ldyBNYXAoW1siYWxpY2VibHVlIiwiI2YwZjhmZiJdLFsiYW50aXF1ZXdoaXRlIiwiI2ZhZWJkNyJdLFsiYXF1YSIsIiMwMGZmZmYiXSxbImFxdWFtYXJpbmUiLCIjN2ZmZmQ0Il0sWyJhenVyZSIsIiNmMGZmZmYiXSxbImJlaWdlIiwiI2Y1ZjVkYyJdLFsiYmlzcXVlIiwiI2ZmZTRjNCJdLFsiYmxhY2siLCIjMDAwMDAwIl0sWyJibGFuY2hlZGFsbW9uZCIsIiNmZmViY2QiXSxbImJsdWUiLCIjMDAwMGZmIl0sWyJibHVldmlvbGV0IiwiIzhhMmJlMiJdLFsiYnJvd24iLCIjYTUyYTJhIl0sWyJidXJseXdvb2QiLCIjZGViODg3Il0sWyJjYWRldGJsdWUiLCIjNWY5ZWEwIl0sWyJjaGFydHJldXNlIiwiIzdmZmYwMCJdLFsiY2hvY29sYXRlIiwiI2QyNjkxZSJdLFsiY29yYWwiLCIjZmY3ZjUwIl0sWyJjb3JuZmxvd2VyYmx1ZSIsIiM2NDk1ZWQiXSxbImNvcm5zaWxrIiwiI2ZmZjhkYyJdLFsiY3JpbXNvbiIsIiNkYzE0M2MiXSxbImN5YW4iLCIjMDBmZmZmIl0sWyJkYXJrYmx1ZSIsIiMwMDAwOGIiXSxbImRhcmtjeWFuIiwiIzAwOGI4YiJdLFsiZGFya2dvbGRlbnJvZCIsIiNiODg2MGIiXSxbImRhcmtncmF5IiwiI2E5YTlhOSJdLFsiZGFya2dyZWVuIiwiIzAwNjQwMCJdLFsiZGFya2toYWtpIiwiI2JkYjc2YiJdLFsiZGFya21hZ2VudGEiLCIjOGIwMDhiIl0sWyJkYXJrb2xpdmVncmVlbiIsIiM1NTZiMmYiXSxbImRhcmtvcmFuZ2UiLCIjZmY4YzAwIl0sWyJkYXJrb3JjaGlkIiwiIzk5MzJjYyJdLFsiZGFya3JlZCIsIiM4YjAwMDAiXSxbImRhcmtzYWxtb24iLCIjZTk5NjdhIl0sWyJkYXJrc2VhZ3JlZW4iLCIjOGZiYzhmIl0sWyJkYXJrc2xhdGVibHVlIiwiIzQ4M2Q4YiJdLFsiZGFya3NsYXRlZ3JheSIsIiMyZjRmNGYiXSxbImRhcmt0dXJxdW9pc2UiLCIjMDBjZWQxIl0sWyJkYXJrdmlvbGV0IiwiIzk0MDBkMyJdLFsiZGVlcHBpbmsiLCIjZmYxNDkzIl0sWyJkZWVwc2t5Ymx1ZSIsIiMwMGJmZmYiXSxbImRpbWdyYXkiLCIjNjk2OTY5Il0sWyJkb2RnZXJibHVlIiwiIzFlOTBmZiJdLFsiZmVsZHNwYXIiLCIjZDE5Mjc1Il0sWyJmaXJlYnJpY2siLCIjYjIyMjIyIl0sWyJmbG9yYWx3aGl0ZSIsIiNmZmZhZjAiXSxbImZvcmVzdGdyZWVuIiwiIzIyOGIyMiJdLFsiZnVjaHNpYSIsIiNmZjAwZmYiXSxbImdhaW5zYm9ybyIsIiNkY2RjZGMiXSxbImdob3N0d2hpdGUiLCIjZjhmOGZmIl0sWyJnb2xkIiwiI2ZmZDcwMCJdLFsiZ29sZGVucm9kIiwiI2RhYTUyMCJdLFsiZ3JheSIsIiM4MDgwODAiXSxbImdyZWVuIiwiIzAwODAwMCJdLFsiZ3JlZW55ZWxsb3ciLCIjYWRmZjJmIl0sWyJob25leWRldyIsIiNmMGZmZjAiXSxbImhvdHBpbmsiLCIjZmY2OWI0Il0sWyJpbmRpYW5yZWQiLCIjY2Q1YzVjIl0sWyJpbmRpZ28iLCIjNGIwMDgyIl0sWyJpdm9yeSIsIiNmZmZmZjAiXSxbImtoYWtpIiwiI2YwZTY4YyJdLFsibGF2ZW5kZXIiLCIjZTZlNmZhIl0sWyJsYXZlbmRlcmJsdXNoIiwiI2ZmZjBmNSJdLFsibGF3bmdyZWVuIiwiIzdjZmMwMCJdLFsibGVtb25jaGlmZm9uIiwiI2ZmZmFjZCJdLFsibGlnaHRibHVlIiwiI2FkZDhlNiJdLFsibGlnaHRjb3JhbCIsIiNmMDgwODAiXSxbImxpZ2h0Y3lhbiIsIiNlMGZmZmYiXSxbImxpZ2h0Z29sZGVucm9keWVsbG93IiwiI2ZhZmFkMiJdLFsibGlnaHRncmVlbiIsIiM5MGVlOTAiXSxbImxpZ2h0Z3JleSIsIiNkM2QzZDMiXSxbImxpZ2h0cGluayIsIiNmZmI2YzEiXSxbImxpZ2h0c2FsbW9uIiwiI2ZmYTA3YSJdLFsibGlnaHRzZWFncmVlbiIsIiMyMGIyYWEiXSxbImxpZ2h0c2t5Ymx1ZSIsIiM4N2NlZmEiXSxbImxpZ2h0c2xhdGVibHVlIiwiIzg0NzBmZiJdLFsibGlnaHRzbGF0ZWdyYXkiLCIjNzc4ODk5Il0sWyJsaWdodHN0ZWVsYmx1ZSIsIiNiMGM0ZGUiXSxbImxpZ2h0eWVsbG93IiwiI2ZmZmZlMCJdLFsibGltZSIsIiMwMGZmMDAiXSxbImxpbWVncmVlbiIsIiMzMmNkMzIiXSxbImxpbmVuIiwiI2ZhZjBlNiJdLFsibWFnZW50YSIsIiNmZjAwZmYiXSxbIm1hcm9vbiIsIiM4MDAwMDAiXSxbIm1lZGl1bWFxdWFtYXJpbmUiLCIjNjZjZGFhIl0sWyJtZWRpdW1ibHVlIiwiIzAwMDBjZCJdLFsibWVkaXVtb3JjaGlkIiwiI2JhNTVkMyJdLFsibWVkaXVtcHVycGxlIiwiIzkzNzBkOCJdLFsibWVkaXVtc2VhZ3JlZW4iLCIjM2NiMzcxIl0sWyJtZWRpdW1zbGF0ZWJsdWUiLCIjN2I2OGVlIl0sWyJtZWRpdW1zcHJpbmdncmVlbiIsIiMwMGZhOWEiXSxbIm1lZGl1bXR1cnF1b2lzZSIsIiM0OGQxY2MiXSxbIm1lZGl1bXZpb2xldHJlZCIsIiNjNzE1ODUiXSxbIm1pZG5pZ2h0Ymx1ZSIsIiMxOTE5NzAiXSxbIm1pbnRjcmVhbSIsIiNmNWZmZmEiXSxbIm1pc3R5cm9zZSIsIiNmZmU0ZTEiXSxbIm1vY2Nhc2luIiwiI2ZmZTRiNSJdLFsibmF2YWpvd2hpdGUiLCIjZmZkZWFkIl0sWyJuYXZ5IiwiIzAwMDA4MCJdLFsib2xkbGFjZSIsIiNmZGY1ZTYiXSxbIm9saXZlIiwiIzgwODAwMCJdLFsib2xpdmVkcmFiIiwiIzZiOGUyMyJdLFsib3JhbmdlIiwiI2ZmYTUwMCJdLFsib3JhbmdlcmVkIiwiI2ZmNDUwMCJdLFsib3JjaGlkIiwiI2RhNzBkNiJdLFsicGFsZWdvbGRlbnJvZCIsIiNlZWU4YWEiXSxbInBhbGVncmVlbiIsIiM5OGZiOTgiXSxbInBhbGV0dXJxdW9pc2UiLCIjYWZlZWVlIl0sWyJwYWxldmlvbGV0cmVkIiwiI2Q4NzA5MyJdLFsicGFwYXlhd2hpcCIsIiNmZmVmZDUiXSxbInBlYWNocHVmZiIsIiNmZmRhYjkiXSxbInBlcnUiLCIjY2Q4NTNmIl0sWyJwaW5rIiwiI2ZmYzBjYiJdLFsicGx1bSIsIiNkZGEwZGQiXSxbInBvd2RlcmJsdWUiLCIjYjBlMGU2Il0sWyJwdXJwbGUiLCIjODAwMDgwIl0sWyJyZWQiLCIjZmYwMDAwIl0sWyJyb3N5YnJvd24iLCIjYmM4ZjhmIl0sWyJyb3lhbGJsdWUiLCIjNDE2OWUxIl0sWyJzYWRkbGVicm93biIsIiM4YjQ1MTMiXSxbInNhbG1vbiIsIiNmYTgwNzIiXSxbInNhbmR5YnJvd24iLCIjZjRhNDYwIl0sWyJzZWFncmVlbiIsIiMyZThiNTciXSxbInNlYXNoZWxsIiwiI2ZmZjVlZSJdLFsic2llbm5hIiwiI2EwNTIyZCJdLFsic2lsdmVyIiwiI2MwYzBjMCJdLFsic2t5Ymx1ZSIsIiM4N2NlZWIiXSxbInNsYXRlYmx1ZSIsIiM2YTVhY2QiXSxbInNsYXRlZ3JheSIsIiM3MDgwOTAiXSxbInNub3ciLCIjZmZmYWZhIl0sWyJzcHJpbmdncmVlbiIsIiMwMGZmN2YiXSxbInN0ZWVsYmx1ZSIsIiM0NjgyYjQiXSxbInRhbiIsIiNkMmI0OGMiXSxbInRlYWwiLCIjMDA4MDgwIl0sWyJ0aGlzdGxlIiwiI2Q4YmZkOCJdLFsidG9tYXRvIiwiI2ZmNjM0NyJdLFsidHVycXVvaXNlIiwiIzQwZTBkMCJdLFsidmlvbGV0IiwiI2VlODJlZSJdLFsidmlvbGV0cmVkIiwiI2QwMjA5MCJdLFsid2hlYXQiLCIjZjVkZWIzIl0sWyJ3aGl0ZSIsIiNmZmZmZmYiXSxbIndoaXRlc21va2UiLCIjZjVmNWY1Il0sWyJ5ZWxsb3ciLCIjZmZmZjAwIl0sWyJ5ZWxsb3dncmVlbiIsIiM5YWNkMzIiXV0pCjtmdW5jdGlvbiBpKGUpe2NvbnN0IHQ9bi5nZXQoZSk7aWYodm9pZCAwPT09dClyZXR1cm4gbnVsbDtyZXR1cm5bcGFyc2VJbnQodC5zbGljZSgxLDMpLDE2KSxwYXJzZUludCh0LnNsaWNlKDMsNSksMTYpLHBhcnNlSW50KHQuc2xpY2UoNSw3KSwxNiksMV19fSw2OTM1MDAoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7Z2V0VGltZUZyYW1lczooKT0+c30pO3ZhciBuPXIoNzgzMjU0KSxpPXIoMjE1NzMwKTtmdW5jdGlvbiBzKGUpe3JldHVybnsiMWQiOnt0ZXh0Om4udChudWxsLHZvaWQgMCxyKDkzODEwMCkpLHZhbHVlOnt2YWx1ZToiMUQiLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5bIjFEIl0/PygwLGkuc3RyaW5nQXNSZXNvbHV0aW9uKSgiMSIpLGRlc2NyaXB0aW9uOigwLGkuZGF5c1N0cmluZ0xpdGVyYWwpKDEpfSwiNWQiOnt0ZXh0Om4udChudWxsLHZvaWQgMCxyKDgyODU1KSksdmFsdWU6e3ZhbHVlOiI1RCIsdHlwZToicGVyaW9kLWJhY2sifSx0YXJnZXRSZXNvbHV0aW9uOmU/LlsiNUQiXT8/KDAsaS5zdHJpbmdBc1Jlc29sdXRpb24pKCI1IiksZGVzY3JpcHRpb246KDAsaS5kYXlzU3RyaW5nTGl0ZXJhbCkoNSl9LCIxdyI6e3RleHQ6bi50KG51bGwsdm9pZCAwLHIoNDkyMTM1KSksdmFsdWU6e3ZhbHVlOiI3RCIsdHlwZToicGVyaW9kLWJhY2sifSx0YXJnZXRSZXNvbHV0aW9uOmU/LlsiNVciXT8/KDAsaS5zdHJpbmdBc1Jlc29sdXRpb24pKCIxNSIpLGRlc2NyaXB0aW9uOigwLGkud2Vla3NTdHJpbmdMaXRlcmFsKSgxKX0sIjFtIjp7dGV4dDpuLnQobnVsbCx2b2lkIDAscig4MzI3MzMpKSx2YWx1ZTp7dmFsdWU6IjFNIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyIxTSJdPz8oMCxpLnN0cmluZ0FzUmVzb2x1dGlvbikoIjMwIiksZGVzY3JpcHRpb246KDAsaS5tb250aHNTdHJpbmdMaXRlcmFsKSgxKX0sIjNtIjp7dGV4dDpuLnQobnVsbCx2b2lkIDAscig4MTkwNzgpKSx2YWx1ZTp7dmFsdWU6IjNNIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyIzTSJdPz8oMCxpLnN0cmluZ0FzUmVzb2x1dGlvbikoIjYwIiksZGVzY3JpcHRpb246KDAsaS5tb250aHNTdHJpbmdMaXRlcmFsKSgzKX0sIjZtIjp7dGV4dDpuLnQobnVsbCx2b2lkIDAscig2ODA3NikpLHZhbHVlOnt2YWx1ZToiNk0iLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5bIjZNIl0/PygwLGkuc3RyaW5nQXNSZXNvbHV0aW9uKSgiMTIwIiksZGVzY3JpcHRpb246KDAsaS5tb250aHNTdHJpbmdMaXRlcmFsKSg2KX0sIjEybSI6e3RleHQ6bi50KG51bGwsdm9pZCAwLHIoNzcwMzAzKSksdmFsdWU6e3ZhbHVlOiIxMk0iLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5bIjEyTSJdPz8oMCxpLnN0cmluZ0FzUmVzb2x1dGlvbikoIjFEIiksZGVzY3JpcHRpb246KDAsaS55ZWFyc1N0cmluZ0xpdGVyYWwpKDEpfSwiMjRtIjp7dGV4dDpuLnQobnVsbCx2b2lkIDAscig5MzQ3NzcpKSx2YWx1ZTp7dmFsdWU6IjI0TSIsdHlwZToicGVyaW9kLWJhY2sifSx0YXJnZXRSZXNvbHV0aW9uOmU/LlsiMjRNIl0/PygwLGkuc3RyaW5nQXNSZXNvbHV0aW9uKSgiMVciKSxkZXNjcmlwdGlvbjooMCxpLnllYXJzU3RyaW5nTGl0ZXJhbCkoMil9LCIzNm0iOnt0ZXh0Om4udChudWxsLHZvaWQgMCxyKDI3MjA5OCkpLHZhbHVlOnt2YWx1ZToiMzZNIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyIzNk0iXT8/KDAsaS5zdHJpbmdBc1Jlc29sdXRpb24pKCIxVyIpLGRlc2NyaXB0aW9uOigwLGkueWVhcnNTdHJpbmdMaXRlcmFsKSgzKX0sIjYwbSI6e3RleHQ6bi50KG51bGwsdm9pZCAwLHIoNDQ2NTYwKSksdmFsdWU6e3ZhbHVlOiI2ME0iLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5bIjYwTSJdPz8oMCxpLnN0cmluZ0FzUmVzb2x1dGlvbikoIjFXIiksZGVzY3JpcHRpb246KDAsaS55ZWFyc1N0cmluZ0xpdGVyYWwpKDUpfSwiMTIwbSI6e3RleHQ6bi50KG51bGwsdm9pZCAwLHIoOTk1MDY2KSksdmFsdWU6e3ZhbHVlOiIxMjBNIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyIxMjBNIl0/PygwLGkuc3RyaW5nQXNSZXNvbHV0aW9uKSgiMU0iKSxkZXNjcmlwdGlvbjooMCxpLnllYXJzU3RyaW5nTGl0ZXJhbCkoMTApfSx5dGQ6e3RleHQ6bi50KG51bGwsdm9pZCAwLHIoNDIyMzY5KSksdmFsdWU6e3ZhbHVlOiJZVEQiLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5ZVEQ/PygwLGkuc3RyaW5nQXNSZXNvbHV0aW9uKSgiMUQiKSxkZXNjcmlwdGlvbjpuLnQobnVsbCx2b2lkIDAscig0ODU0MjApKX0sYWxsOnt0ZXh0Om4udChudWxsLHZvaWQgMCxyKDIzMzY5MCkpLHZhbHVlOnt2YWx1ZToiQUxMIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uQUxMPz8oMCxpLnN0cmluZ0FzUmVzb2x1dGlvbikoIjFNIil9LGxhc3RzZXNzaW9uOnt0ZXh0Om4udChudWxsLHZvaWQgMCxyKDkzODEwMCkpLHZhbHVlOnt2YWx1ZToiTEFTVFNFU1NJT04iLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5MQVNUU0VTU0lPTj8/KDAsaS5zdHJpbmdBc1Jlc29sdXRpb24pKCIxIiksZGVzY3JpcHRpb246KDAsaS5kYXlzU3RyaW5nTGl0ZXJhbCkoMSl9fX19LDIxNTczMChlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtkYXlzU3RyaW5nTGl0ZXJhbDooKT0+aSxtb250aHNTdHJpbmdMaXRlcmFsOigpPT5hLHN0cmluZ0FzUmVzb2x1dGlvbjooKT0+bCx3ZWVrc1N0cmluZ0xpdGVyYWw6KCk9PnMseWVhcnNTdHJpbmdMaXRlcmFsOigpPT5vfSk7dmFyIG49cig3ODMyNTQpO2NvbnN0IGk9ZT0+bi50KG51bGwse3BsdXJhbDoie3N0cn0gZGF5cyIsY291bnQ6ZSxyZXBsYWNlOntzdHI6YCR7ZX1gfX0scigxMDMwMzApKSxzPWU9Pm4udChudWxsLHtwbHVyYWw6IntzdHJ9IHdlZWtzIixjb3VudDplLHJlcGxhY2U6e3N0cjpgJHtlfWB9fSxyKDY0NDYyNSkpLGE9ZT0+bi50KG51bGwsewpwbHVyYWw6IntzdHJ9IG1vbnRocyIsY291bnQ6ZSxyZXBsYWNlOntzdHI6YCR7ZX1gfX0scig2OTQ2MTcpKSxvPWU9Pm4udChudWxsLHtwbHVyYWw6IntzdHJ9IHllYXJzIixjb3VudDplLHJlcGxhY2U6e3N0cjpgJHtlfWB9fSxyKDIxNjQwMikpLGw9ZT0+ZX0sNDI5NTQ5KGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse2dldEFjdHVhbFRpbWVGcmFtZTooKT0+aX0pO3ZhciBuPXIoNjkzNTAwKTtmdW5jdGlvbiBpKGUpe2NvbnN0IHQ9bmV3IFNldChPYmplY3QudmFsdWVzKCgwLG4uZ2V0VGltZUZyYW1lcykoKSkubWFwKChlPT5lLnZhbHVlLnZhbHVlKSkpO2lmKHQuaGFzKGUpKXJldHVybiBlO2NvbnN0IHI9ZS50b1VwcGVyQ2FzZSgpO3JldHVybiB0LmhhcyhyKT9yOiIxMk0ifX0sNTA1NTYoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7Y29sb3JzUGFsZXR0ZTooKT0+YyxnZXRIZXhDb2xvckJ5TmFtZTooKT0+aH0pO3ZhciBuPXIoMzE3NjYzKSxpPXIoODY3NTIyKSxzPXIoMTM4NjM4KTtjb25zdCBhPXsuLi5uLC4uLml9LG89e30sbD1PYmplY3Qua2V5cyhhKS5sZW5ndGgsdT0vXiMoKFthLWYwLTldezJ9KXsyLDR9fFthLWYwLTldezN9KSQvaTtmdW5jdGlvbiBkKGUsdD1bXSxyPWEpe2NvbnN0IG49cltlXTtpZighbilyZXR1cm4gbnVsbDtpZih1LnRlc3QobikpcmV0dXJuIG47Y29uc3QgaT1uO3JldHVybiB0LnB1c2goZSksLTEhPT10LmluZGV4T2YoaSk/KGNvbnNvbGUud2FybigiQ29sb3JzIGRlZmluaXRpb25zIGN5Y2xlZCIpLG4pOnQubGVuZ3RoPmw/KGNvbnNvbGUud2FybigiVG9vIG1hbnkgdmFyaWFibGVzLWxpbmsgaW4gSEVYLWNvbG9yIHNlYXJjaDogIit0WzBdKSxudWxsKTpkKGksdCxyKX1PYmplY3Qua2V5cyhhKS5mb3JFYWNoKChlPT57Y29uc3QgdD1kKGUpO29bZV09KDAscy5lbnN1cmVOb3ROdWxsKSh0KX0pKTtjb25zdCBjPW87ZnVuY3Rpb24gaChlLHQ9Yyl7Y29uc3Qgcj10W2VdO2lmKCFyKXtpZih1LnRlc3QoZSkpcmV0dXJuIGU7dGhyb3cgbmV3IEVycm9yKCJObyBzdWNoIGNvbG9yICIrZSl9cmV0dXJuIHJ9fSw1Njc0NzkoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7REVGQVVMVF9TSVpFOigpPT5uLHNwaW5uZXJTaXplTWFwOigpPT5pfSk7Y29uc3Qgbj0ibGFyZ2UiLGk9e21pbmk6InhzbWFsbCIseHhzbWFsbDoieHhzbWFsbCIseHNtYWxsOiJ4c21hbGwiLHNtYWxsOiJzbWFsbCIsbWVkaXVtOiJtZWRpdW0iLGxhcmdlOiJsYXJnZSJ9fSwxOTg5MDEoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGUsdCxyLG49MCxpPWUubGVuZ3RoKXtyZXR1cm4gZnVuY3Rpb24oZSx0LHIsbixpKXtsZXQgcz1pLW47Zm9yKDswPHM7KXtjb25zdCBpPXM+PjEsYT1uK2k7cihlKGEpLHQpPyhuPWErMSxzLT1pKzEpOnM9aX1yZXR1cm4gbn0oKHQ9PmVbdF0pLHQscixuLGkpfWZ1bmN0aW9uIGkoZSx0LHIsbj0wLGk9ZS5sZW5ndGgpe2xldCBzPWktbjtmb3IoOzA8czspe2NvbnN0IGk9cz4+MSxhPW4raTtyKHQsZVthXSk/cz1pOihuPWErMSxzLT1pKzEpfXJldHVybiBufXIuZCh0LHtsb3dlcmJvdW5kOigpPT5uLHVwcGVyYm91bmQ6KCk9Pml9KX0sNTQwNTc4KGUsdCxyKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlKXtyZXR1cm4gZS5yZXBsYWNlKC9bLS9cXF4kKis/LigpfFtcXXt9XS9nLCJcXCQmIil9ci5kKHQse3JlZ0V4cEVzY2FwZTooKT0+bn0pfSw0OTExNjUoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7ZGF0ZUZvcm1hdEZ1bmN0aW9uczooKT0+eSxnZXREYXRlRm9ybWF0V2l0aFdlZWtkYXk6KCk9PmJ9KTt2YXIgbj1yKDc4MzI1NCksaT1yKDgyMjQzMSkscz1yKDg1NjMyNCk7Y29uc3QgYT17MTooKT0+bi50KG51bGwsdm9pZCAwLHIoNjU3Mzc0KSksMjooKT0+bi50KG51bGwsdm9pZCAwLHIoNjE3MzQxKSksMzooKT0+bi50KG51bGwsdm9pZCAwLHIoMTAzMzA1KSksNDooKT0+bi50KG51bGwsdm9pZCAwLHIoNTI2Nzg1KSksNTooKT0+bi50KG51bGwse2NvbnRleHQ6InNob3J0In0scig3MzQ3NTApKSw2OigpPT5uLnQobnVsbCx2b2lkIDAscig4Nzc0NSkpLDc6KCk9Pm4udChudWxsLHZvaWQgMCxyKDE4Mzk1OSkpLDg6KCk9Pm4udChudWxsLHZvaWQgMCxyKDkzNzYyKSksOTooKT0+bi50KG51bGwsdm9pZCAwLHIoMTc4NDY5KSksMTA6KCk9Pm4udChudWxsLHZvaWQgMCxyKDcyODMzNykpLDExOigpPT5uLnQobnVsbCx2b2lkIDAscig2NDY1NDUpKSwxMjooKT0+bi50KG51bGwsdm9pZCAwLHIoNzY5MDM2KSl9LG89ezE6KCk9Pm4udChudWxsLHZvaWQgMCxyKDg5NzY3KSksMjooKT0+bi50KG51bGwsdm9pZCAwLHIoOTQ4OTIzKSksMzooKT0+bi50KG51bGwsdm9pZCAwLHIoMzY3OTM1KSksNDooKT0+bi50KG51bGwsdm9pZCAwLHIoMTc1NTA3KSl9LGw9KGUsdCk9Pih0P2UuZ2V0TW9udGgoKTplLmdldFVUQ01vbnRoKCkpKzEsdT0oZSx0KT0+dD9lLmdldERhdGUoKTplLmdldFVUQ0RhdGUoKSxkPShlLHQpPT50P2UuZ2V0RnVsbFllYXIoKTplLmdldFVUQ0Z1bGxZZWFyKCksYz0oZSx0KT0+ZS50b0xvY2FsZURhdGVTdHJpbmcoKDAscy5nZXRMYW5ndWFnZSkoKT8oMCxzLm1hcExhbmd1YWdlQ29kZSkoKDAscy5nZXRMYW5ndWFnZSkoKSk6dm9pZCAwLHt3ZWVrZGF5OiJzaG9ydCIsdGltZVpvbmU6ImxvY2FsIj09PXQ/dm9pZCAwOnR9KSxoPShlLHQpPT5vWygoZSx0KT0+TWF0aC5mbG9vcigobChlLHQpLTEpLzMpKzEpKGUsdCldKCksZj0oZSx0KT0+KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykodShlLHQpLDIpLG09KGUsdCk9PmFbbChlLHQpXSgpLGc9KGUsdCk9PigwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGwoZSx0KSwyKSxfPShlLHQpPT4oMCxpLm51bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvKShkKGUsdCklMTAwLDIpLHA9KGUsdCk9PigwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGQoZSx0KSw0KSx5PXsicXEgJ3l5IjooZSx0KT0+YCR7aChlLHQpfSAnJHtfKGUsdCl9YCwicXEgeXl5eSI6KGUsdCk9PmAke2goZSx0KX0gJHtwKGUsdCl9YCwKImRkIE1NTSAneXkiOihlLHQpPT5gJHtmKGUsdCl9ICR7bShlLHQpfSAnJHtfKGUsdCl9YCwiTU1NICd5eSI6KGUsdCk9PmAke20oZSx0KX0gJyR7XyhlLHQpfWAsIk1NTSBkZCwgeXl5eSI6KGUsdCk9PmAke20oZSx0KX0gJHtmKGUsdCl9LCAke3AoZSx0KX1gLCJNTU0gZCwgeXl5eSI6KGUsdCk9PmAke20oZSx0KX0gJHsoKGUsdCk9PigwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKHUoZSx0KSwwKSkoZSx0KX0sICR7cChlLHQpfWAsIk1NTSB5eXl5IjooZSx0KT0+YCR7bShlLHQpfSAke3AoZSx0KX1gLCJNTU0gZGQiOihlLHQpPT5gJHttKGUsdCl9ICR7ZihlLHQpfWAsImRkIE1NTSI6KGUsdCk9PmAke2YoZSx0KX0gJHttKGUsdCl9YCwieXl5eS1NTS1kZCI6KGUsdCk9PmAke3AoZSx0KX0tJHtnKGUsdCl9LSR7ZihlLHQpfWAsInl5LU1NLWRkIjooZSx0KT0+YCR7XyhlLHQpfS0ke2coZSx0KX0tJHtmKGUsdCl9YCwieXkvTU0vZGQiOihlLHQpPT5gJHtfKGUsdCl9LyR7ZyhlLHQpfS8ke2YoZSx0KX1gLCJ5eXl5L01NL2RkIjooZSx0KT0+YCR7cChlLHQpfS8ke2coZSx0KX0vJHtmKGUsdCl9YCwiZGQtTU0teXl5eSI6KGUsdCk9PmAke2YoZSx0KX0tJHtnKGUsdCl9LSR7cChlLHQpfWAsImRkLU1NLXl5IjooZSx0KT0+YCR7ZihlLHQpfS0ke2coZSx0KX0tJHtfKGUsdCl9YCwiZGQvTU0veXkiOihlLHQpPT5gJHtmKGUsdCl9LyR7ZyhlLHQpfS8ke18oZSx0KX1gLCJkZC9NTS95eXl5IjooZSx0KT0+YCR7ZihlLHQpfS8ke2coZSx0KX0vJHtwKGUsdCl9YCwiTU0vZGQveXkiOihlLHQpPT5gJHtnKGUsdCl9LyR7ZihlLHQpfS8ke18oZSx0KX1gLCJNTS9kZC95eXl5IjooZSx0KT0+YCR7ZyhlLHQpfS8ke2YoZSx0KX0vJHtwKGUsdCl9YH07ZnVuY3Rpb24gYihlLHQpe3JldHVybiJqYSI9PT0oMCxzLmdldExhbmd1YWdlKSgpPyhyLG4pPT5gJHt5W2VdKHIsbil9ICgke2Mocix0KX0pYDoocixuKT0+YCR7YyhyLHQpfSAke3lbZV0ocixuKX1gfU9iamVjdC5rZXlzKHkpfSw4NTYzMjQoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7Z2V0TGFuZ3VhZ2U6KCk9PnMsbWFwTGFuZ3VhZ2VDb2RlOigpPT5sLHJlZ2lzdGVyTGFuZ3VhZ2VDb2RlTWFwcGVyOigpPT5vLHJlZ2lzdGVyTGFuZ3VhZ2VHZXR0ZXI6KCk9Pml9KTtsZXQgbj1udWxsO2Z1bmN0aW9uIGkoZSl7bj1lfWZ1bmN0aW9uIHMoKXtpZighbil0aHJvdyBuZXcgRXJyb3IoIkxhbmd1YWdlIGdldHRlciBub3QgcmVnaXN0ZXJlZC4gQ2FsbCByZWdpc3Rlckxhbmd1YWdlR2V0dGVyKCkgZmlyc3QuIik7cmV0dXJuIG4oKX1sZXQgYT1lPT5lO2Z1bmN0aW9uIG8oZSl7YT1lfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIGEoZSl9fSw4NTI5ODAoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGUsdCxyLG4saSl7Y29uc3R7cGF5QXR0ZW50aW9uVG9UaWNrZXJOb3RTeW1ib2w6cyx1c2VUaWNrZXJPblN5bWJvbEluZm9VcGRhdGU6YSxjaGFydGluZ0xpYnJhcnlTaW5nbGVTeW1ib2xSZXF1ZXN0Om8sdXBwZXJjYXNlSW5zdHJ1bWVudE5hbWVzOmx9PWU7bGV0IHU9dCYmKG4mJnQucHJvX25hbWV8fHQuZnVsbF9uYW1lfHx0Lm5hbWUpO3JldHVybiBvJiZyP3U9cjooYXx8IWkmJnMpJiZ0JiZ0LnRpY2tlciYmKHU9dC50aWNrZXIpLGwmJnUmJih1PXUudG9VcHBlckNhc2UoKSksdX1yLmQodCx7ZXh0cmFjdFN5bWJvbE5hbWVGcm9tU3ltYm9sSW5mbzooKT0+bn0pfSw4NTcxNTEoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7UGxvdExpc3Q6KCk9Pmh9KTt2YXIgbj1yKDEzODYzOCksaT1yKDIyMTA2MSkscz1yKDE5ODkwMSksYT1yKDgxNDU4OSksbz1yKDkzNjMyNik7Y29uc3QgbD0oMCxpLmdldExvZ2dlcikoIkNoYXJ0LlBsb3RMaXN0IiksdT0zMDtmdW5jdGlvbiBkKGUpe3JldHVybiBlLmluZGV4fWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGUudmFsdWVbMF19Y2xhc3MgaHtjb25zdHJ1Y3RvcihlPW51bGwsdD1udWxsKXt0aGlzLl9pdGVtcz1bXSx0aGlzLl9zdGFydD0wLHRoaXMuX2VuZD0wLHRoaXMuX3NoYXJlUmVhZD0hMSx0aGlzLl9taW5NYXhDYWNoZT1uZXcgTWFwLHRoaXMuX3Jvd1NlYXJjaENhY2hlQnlJbmRleD1uZXcgTWFwLHRoaXMuX3Jvd1NlYXJjaENhY2hlQnlJbmRleFdpdGhvdXRFbXB0eVZhbHVlcz1uZXcgTWFwLHRoaXMuX3Jvd1NlYXJjaENhY2hlQnlUaW1lPW5ldyBNYXAsdGhpcy5fcm93U2VhcmNoQ2FjaGVCeVRpbWVXaXRob3V0RW1wdHlWYWx1ZXM9bmV3IE1hcCx0aGlzLl9wbG90RnVuY3Rpb25zPWV8fG5ldyBNYXAsdGhpcy5fZW1wdHlWYWx1ZVByZWRpY2F0ZT10fWNsZWFyKCl7dGhpcy5faXRlbXM9W10sdGhpcy5fc3RhcnQ9MCx0aGlzLl9lbmQ9MCx0aGlzLl9zaGFyZVJlYWQ9ITEsdGhpcy5fbWluTWF4Q2FjaGUuY2xlYXIoKSx0aGlzLl9pbnZhbGlkYXRlU2VhcmNoQ2FjaGVzKCl9Zmlyc3QoKXtyZXR1cm4gdGhpcy5zaXplKCk+MD90aGlzLl9pdGVtc1t0aGlzLl9zdGFydF06bnVsbH1sYXN0KCl7cmV0dXJuIHRoaXMuc2l6ZSgpPjA/dGhpcy5faXRlbXNbdGhpcy5fZW5kLTFdOm51bGx9Zmlyc3RJbmRleCgpe3JldHVybiB0aGlzLnNpemUoKT4wP3RoaXMuX2luZGV4QXQodGhpcy5fc3RhcnQpOm51bGx9Zmlyc3RQbG90dGFibGVJbmRleCgpe2lmKHRoaXMuaXNFbXB0eSgpKXJldHVybiBudWxsO2ZvcihsZXQgZT10aGlzLl9zdGFydDtlPHRoaXMuX2VuZDsrK2Upe2NvbnN0IHQ9dGhpcy5faW5kZXhBdChlKTtpZih0PmEuVU5QTE9UVEFCTEVfVElNRV9QT0lOVF9JTkRFWClyZXR1cm4gdH1yZXR1cm4gbnVsbH1sYXN0SW5kZXgoKXtyZXR1cm4gdGhpcy5zaXplKCk+MD90aGlzLl9pbmRleEF0KHRoaXMuX2VuZC0xKTpudWxsfWNsb25lKCl7Y29uc3QgZT10aGlzLmZpcnN0SW5kZXgoKSx0PXRoaXMubGFzdEluZGV4KCk7cmV0dXJuIG51bGw9PT1lfHxudWxsPT09dD9uZXcgaDp0aGlzLnJhbmdlKGUsdCl9c2l6ZSgpe3JldHVybiB0aGlzLl9lbmQtdGhpcy5fc3RhcnR9aXNFbXB0eSgpe3JldHVybiAwPT09dGhpcy5zaXplKCl9Y29udGFpbnMoZSl7CnJldHVybiBudWxsIT09dGhpcy5zZWFyY2goZSxvLlBsb3RSb3dTZWFyY2hNb2RlLkV4YWN0KX12YWx1ZUF0KGUpe2NvbnN0IHQ9dGhpcy5zZWFyY2goZSk7cmV0dXJuIG51bGwhPT10P3QudmFsdWU6bnVsbH1hZGQoZSx0KXtpZih0aGlzLl9zaGFyZVJlYWQpcmV0dXJuIGwubG9nRGVidWcoImFkZDogcmVhZG9ubHkgY29sbGVjdGlvbiBtb2RpZmljYXRpb24gYXR0ZW1wdCIpLCExO2NvbnN0IHI9e2luZGV4OmUsdmFsdWU6dH0sbj10aGlzLl9ub25DYWNoZWRTZWFyY2goZSxvLlBsb3RSb3dTZWFyY2hNb2RlLkV4YWN0LGQpO3JldHVybiB0aGlzLl9pbnZhbGlkYXRlU2VhcmNoQ2FjaGVzKCksbnVsbD09PW4/KHRoaXMuX2l0ZW1zLnNwbGljZSh0aGlzLl9sb3dlcmJvdW5kKGUsZCksMCxyKSx0aGlzLl9zdGFydD0wLHRoaXMuX2VuZD10aGlzLl9pdGVtcy5sZW5ndGgsITApOih0aGlzLl9pdGVtc1tuXT1yLCExKX1zZWFyY2goZSx0PW8uUGxvdFJvd1NlYXJjaE1vZGUuRXhhY3Qscil7cmV0dXJuIHRoaXMuX3NlYXJjaEltcGwoZSx0LHRoaXMuX3Jvd1NlYXJjaENhY2hlQnlJbmRleCx0aGlzLl9yb3dTZWFyY2hDYWNoZUJ5SW5kZXhXaXRob3V0RW1wdHlWYWx1ZXMsZCxyKX1zZWFyY2hCeVRpbWUoZSx0PW8uUGxvdFJvd1NlYXJjaE1vZGUuRXhhY3Qscil7cmV0dXJuIHRoaXMuX3NlYXJjaEltcGwoZSx0LHRoaXMuX3Jvd1NlYXJjaENhY2hlQnlUaW1lLHRoaXMuX3Jvd1NlYXJjaENhY2hlQnlUaW1lV2l0aG91dEVtcHR5VmFsdWVzLGMscil9Zm9sZChlLHQpe2xldCByPXQ7Zm9yKGxldCB0PXRoaXMuX3N0YXJ0O3Q8dGhpcy5fZW5kOysrdCl7cj1lKHRoaXMuX2luZGV4QXQodCksdGhpcy5fdmFsdWVBdCh0KSxyKX1yZXR1cm4gcn1maW5kRmlyc3QoZSx0KXtjb25zdCByPXZvaWQgMCE9PXQmJk1hdGgubWluKHRoaXMuX3N0YXJ0K3QsdGhpcy5fZW5kKXx8dGhpcy5fZW5kO2ZvcihsZXQgdD10aGlzLl9zdGFydDt0PHI7Kyt0KXtjb25zdCByPXRoaXMuX2luZGV4QXQodCksbj10aGlzLl92YWx1ZUF0KHQpO2lmKGUocixuKSlyZXR1cm57aW5kZXg6cix2YWx1ZTpufX1yZXR1cm4gbnVsbH1maW5kTGFzdChlLHQpe2NvbnN0IHI9dm9pZCAwIT09dCYmTWF0aC5tYXgodGhpcy5fZW5kLXQsdGhpcy5fc3RhcnQpfHx0aGlzLl9zdGFydDtmb3IobGV0IHQ9dGhpcy5fZW5kLTE7dD49cjstLXQpe2NvbnN0IHI9dGhpcy5faW5kZXhBdCh0KSxuPXRoaXMuX3ZhbHVlQXQodCk7aWYoZShyLG4pKXJldHVybntpbmRleDpyLHZhbHVlOm59fXJldHVybiBudWxsfWVhY2goZSl7Zm9yKGxldCB0PXRoaXMuX3N0YXJ0O3Q8dGhpcy5fZW5kOysrdCl7aWYoZSh0aGlzLl9pbmRleEF0KHQpLHRoaXMuX3ZhbHVlQXQodCkpKWJyZWFrfX1yZWR1Y2UoZSx0KXtsZXQgcj10O2ZvcihsZXQgdD10aGlzLl9zdGFydDt0PHRoaXMuX2VuZDsrK3Qpe3I9ZShyLHRoaXMuX2luZGV4QXQodCksdGhpcy5fdmFsdWVBdCh0KSl9cmV0dXJuIHJ9cmFuZ2UoZSx0KXtjb25zdCByPW5ldyBoKHRoaXMuX3Bsb3RGdW5jdGlvbnMsdGhpcy5fZW1wdHlWYWx1ZVByZWRpY2F0ZSk7cmV0dXJuIHIuX2l0ZW1zPXRoaXMuX2l0ZW1zLHIuX3N0YXJ0PXRoaXMuX2xvd2VyYm91bmQoZSxkKSxyLl9lbmQ9dGhpcy5fdXBwZXJib3VuZCh0KSxyLl9zaGFyZVJlYWQ9ITAscn1wbG90dGFibGVSYW5nZShlKXtjb25zdCB0PW5ldyBoKHRoaXMuX3Bsb3RGdW5jdGlvbnMsdGhpcy5fZW1wdHlWYWx1ZVByZWRpY2F0ZSk7cmV0dXJuIHQuX2l0ZW1zPXRoaXMuX2l0ZW1zLHQuX3N0YXJ0PXRoaXMuX3VwcGVyYm91bmQoYS5VTlBMT1RUQUJMRV9USU1FX1BPSU5UX0lOREVYKSx0Ll9lbmQ9dGhpcy5fZW5kLHQuX3NoYXJlUmVhZD0hMCwhMD09PWUmJnQuX3N0YXJ0PnRoaXMuX3N0YXJ0JiYodC5fc3RhcnQtPTEpLHR9cmFuZ2VDb3VudGJhY2soZSx0KXtpZihudWxsPT09dGhpcy5maXJzdEluZGV4KCkpcmV0dXJuIG5ldyBoO2NvbnN0IHI9bmV3IGgodGhpcy5fcGxvdEZ1bmN0aW9ucyx0aGlzLl9lbXB0eVZhbHVlUHJlZGljYXRlKTtyZXR1cm4gci5faXRlbXM9dGhpcy5faXRlbXMsci5fZW5kPXRoaXMuX3VwcGVyYm91bmQoZSksci5fc3RhcnQ9TWF0aC5tYXgodGhpcy5fc3RhcnQsci5fZW5kLXQpLHIuX3NoYXJlUmVhZD0hMCxyfXJhbmdlSXRlcmF0b3IoZSx0KXtjb25zdCByPXRoaXMuX2xvd2VyYm91bmQoZSxkKSxuPXRoaXMuX3VwcGVyYm91bmQodCk7cmV0dXJuIHRoaXMuX3JhbmdlSXRlcmF0b3JJbXBsKHIsbil9ZnVsbFJhbmdlSXRlcmF0b3IoKXtyZXR1cm4gdGhpcy5fcmFuZ2VJdGVyYXRvckltcGwodGhpcy5fc3RhcnQsdGhpcy5fZW5kKX1taW5NYXhPblJhbmdlQ2FjaGVkKGUsdCxyKXtpZih0aGlzLmlzRW1wdHkoKSlyZXR1cm4gbnVsbDtsZXQgbj1udWxsO2Zvcihjb25zdCBpIG9mIHIpe249ZihuLHRoaXMuX21pbk1heE9uUmFuZ2VDYWNoZWRJbXBsKGUtaS5vZmZzZXQsdC1pLm9mZnNldCxpLm5hbWUpKX1yZXR1cm4gbn1taW5NYXhPblJhbmdlKGUsdCxyKXtpZih0aGlzLmlzRW1wdHkoKSlyZXR1cm4gbnVsbDtsZXQgbj1udWxsO2Zvcihjb25zdCBpIG9mIHIpe249ZihuLHRoaXMuX21pbk1heE9uUmFuZ2UoZS1pLm9mZnNldCx0LWkub2Zmc2V0LGkubmFtZSkpfXJldHVybiBufW1lcmdlKGUpe3JldHVybiB0aGlzLl9zaGFyZVJlYWQ/KGwubG9nRGVidWcoIm1lcmdlOiByZWFkb25seSBjb2xsZWN0aW9uIG1vZGlmaWNhdGlvbiBhdHRlbXB0IiksbnVsbCk6MD09PWUubGVuZ3RoP251bGw6dGhpcy5pc0VtcHR5KCl8fGVbZS5sZW5ndGgtMV0uaW5kZXg8dGhpcy5faXRlbXNbMF0uaW5kZXg/dGhpcy5fcHJlcGVuZChlKTplWzBdLmluZGV4PnRoaXMuX2l0ZW1zW3RoaXMuX2l0ZW1zLmxlbmd0aC0xXS5pbmRleD90aGlzLl9hcHBlbmQoZSk6MT09PWUubGVuZ3RoJiZlWzBdLmluZGV4PT09dGhpcy5faXRlbXNbdGhpcy5faXRlbXMubGVuZ3RoLTFdLmluZGV4Pyh0aGlzLl91cGRhdGVMYXN0KGVbMF0pLGVbMF0pOnRoaXMuX21lcmdlKGUpfWFkZFRhaWwoZSx0PSExKXtpZigwPT09ZS5sZW5ndGgpcmV0dXJuO2xldCByPTA7dCYmdGhpcy5fZW5kLXRoaXMuX3N0YXJ0PjAmJihyPTEsCnRoaXMuX2l0ZW1zW3RoaXMuX2VuZC10aGlzLl9zdGFydC0xXS52YWx1ZT1lWzBdLnZhbHVlKTtmb3IobGV0IHQ9cjt0PGUubGVuZ3RoOysrdCl7Y29uc3Qgcj1lW3RdLG49dGhpcy5sYXN0SW5kZXgoKTtpZihudWxsPT09bil7bC5sb2dFcnJvcigiQ2FuJ3QgYWRkIHRhaWwgdG8gdGhlIGVtcHR5IHBsb3RsaXN0Iik7YnJlYWt9dGhpcy5hZGQobisxLHIudmFsdWUpfXRoaXMuX2ludmFsaWRhdGVTZWFyY2hDYWNoZXMoKX1tb3ZlKGUpe2lmKHRoaXMuX3NoYXJlUmVhZClyZXR1cm4gdm9pZCBsLmxvZ0RlYnVnKCJtb3ZlOiByZWFkb25seSBjb2xsZWN0aW9uIG1vZGlmaWNhdGlvbiBhdHRlbXB0Iik7aWYoMD09PWUubGVuZ3RoKXJldHVybjtjb25zdCB0PXRoaXMuX2l0ZW1zLnNsaWNlKCk7Zm9yKGNvbnN0IHIgb2YgZSl7Y29uc3QgZT10aGlzLl9ic2VhcmNoKHIub2xkLGQpO2lmKG51bGwhPT1lJiZ2b2lkIDAhPT10W2VdKWlmKHIubmV3PT09YS5JTlZBTElEX1RJTUVfUE9JTlRfSU5ERVgpdFtlXT12b2lkIDA7ZWxzZXt0W2VdPXtpbmRleDpyLm5ldyx2YWx1ZTp0W2VdLnZhbHVlfTtjb25zdCBuPXRoaXMuX2JzZWFyY2goci5uZXcsZCk7aWYobnVsbCE9PW4pe2NvbnN0IGU9dFtuXTt2b2lkIDAhPT1lJiZlLmluZGV4PT09ci5uZXcmJih0W25dPXZvaWQgMCl9fX10aGlzLl9pdGVtcz10LmZpbHRlcigoZT0+dm9pZCAwIT09ZSkpLnNvcnQoKChlLHQpPT5lLmluZGV4LXQuaW5kZXgpKSx0aGlzLl9pbnZhbGlkYXRlU2VhcmNoQ2FjaGVzKCksdGhpcy5fbWluTWF4Q2FjaGUuY2xlYXIoKSx0aGlzLl9zdGFydD0wLHRoaXMuX2VuZD10aGlzLl9pdGVtcy5sZW5ndGh9cmVtb3ZlKGUpe2lmKHRoaXMuX3NoYXJlUmVhZClyZXR1cm4gbC5sb2dEZWJ1ZygicmVtb3ZlOiByZWFkb25seSBjb2xsZWN0aW9uIG1vZGlmaWNhdGlvbiBhdHRlbXB0IiksbnVsbDtjb25zdCB0PXRoaXMuX25vbkNhY2hlZFNlYXJjaChlLG8uUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdFJpZ2h0LGQpO2lmKG51bGw9PT10KXJldHVybiBudWxsO2NvbnN0IHI9dGhpcy5faXRlbXMuc3BsaWNlKHQpO3JldHVybiB0aGlzLl9lbmQ9dGhpcy5faXRlbXMubGVuZ3RoLHRoaXMuX21pbk1heENhY2hlLmNsZWFyKCksdGhpcy5faW52YWxpZGF0ZVNlYXJjaENhY2hlcygpLHIubGVuZ3RoPjA/clswXTpudWxsfXN0YXRlKCl7Y29uc3QgZT10aGlzLl9pdGVtcy5zbGljZSh0aGlzLl9zdGFydCx0aGlzLl9lbmQpO3JldHVybntzdGFydDowLGVuZDplLmxlbmd0aCxkYXRhOmV9fXJlc3RvcmVTdGF0ZShlKXtlPyh0aGlzLl9zdGFydD1lLnN0YXJ0LHRoaXMuX2VuZD1lLmVuZCx0aGlzLl9zaGFyZVJlYWQ9ITEsdGhpcy5faXRlbXM9ZS5kYXRhLHRoaXMuX21pbk1heENhY2hlLmNsZWFyKCksdGhpcy5faW52YWxpZGF0ZVNlYXJjaENhY2hlcygpKTp0aGlzLmNsZWFyKCl9X2luZGV4QXQoZSl7cmV0dXJuIHRoaXMuX2l0ZW1zW2VdLmluZGV4fV92YWx1ZUF0KGUpe3JldHVybiB0aGlzLl9pdGVtc1tlXS52YWx1ZX1fbGVuZ3RoKCl7cmV0dXJuIHRoaXMuX2l0ZW1zLmxlbmd0aH1fc2VhcmNoSW1wbChlLHQscixuLGkscyl7Y29uc3QgYT12b2lkIDAhPT1zP3I6bixvPXZvaWQgMCE9PXM/MWU0Kih0KzEpK3M6dDtsZXQgbD1hLmdldChlKTtpZih2b2lkIDAhPT1sKXtjb25zdCBlPWwuZ2V0KG8pO2lmKHZvaWQgMCE9PWUpcmV0dXJuIGV9Y29uc3QgdT10aGlzLl9ub25DYWNoZWRTZWFyY2goZSx0LGkscyk7aWYobnVsbD09PXUpcmV0dXJuIG51bGw7Y29uc3QgZD17aW5kZXg6dGhpcy5faW5kZXhBdCh1KSx2YWx1ZTp0aGlzLl92YWx1ZUF0KHUpfTtyZXR1cm4gdm9pZCAwPT09bCYmKGw9bmV3IE1hcCxhLnNldChlLGwpKSxsLnNldChvLGQpLGR9X25vbkNhY2hlZFNlYXJjaChlLHQscixuKXtjb25zdCBpPXRoaXMuX2xvd2VyYm91bmQoZSxyKSxzPWk9PT10aGlzLl9lbmR8fGUhPT1yKHRoaXMuX2l0ZW1zW2ldKTtpZihzJiZ0IT09by5QbG90Um93U2VhcmNoTW9kZS5FeGFjdClzd2l0Y2godCl7Y2FzZSBvLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RMZWZ0OnJldHVybiB0aGlzLl9zZWFyY2hOZWFyZXN0TGVmdChpLG4pO2Nhc2Ugby5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0UmlnaHQ6cmV0dXJuIHRoaXMuX3NlYXJjaE5lYXJlc3RSaWdodChpLG4pO2RlZmF1bHQ6dGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biBzZWFyY2ggbW9kZSIpfWlmKHZvaWQgMD09PW58fHN8fHQ9PT1vLlBsb3RSb3dTZWFyY2hNb2RlLkV4YWN0KXJldHVybiBzP251bGw6aTtzd2l0Y2godCl7Y2FzZSBvLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RMZWZ0OnJldHVybiB0aGlzLl9ub25FbXB0eU5lYXJlc3RMZWZ0KGksbik7Y2FzZSBvLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RSaWdodDpyZXR1cm4gdGhpcy5fbm9uRW1wdHlOZWFyZXN0UmlnaHQoaSxuKTtkZWZhdWx0OnRocm93IG5ldyBUeXBlRXJyb3IoIlVua25vd24gc2VhcmNoIG1vZGUiKX19X25vbkVtcHR5TmVhcmVzdFJpZ2h0KGUsdCl7Y29uc3Qgcj0oMCxuLmVuc3VyZSkodGhpcy5fZW1wdHlWYWx1ZVByZWRpY2F0ZSksaT0oMCxuLmVuc3VyZSkodCk7Zm9yKDtlPHRoaXMuX2VuZCYmcih0aGlzLl92YWx1ZUF0KGUpLGkpOyllKz0xO3JldHVybiBlPT09dGhpcy5fZW5kP251bGw6ZX1fbm9uRW1wdHlOZWFyZXN0TGVmdChlLHQpe2NvbnN0IHI9KDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9lbXB0eVZhbHVlUHJlZGljYXRlKSxpPSgwLG4uZW5zdXJlKSh0KTtmb3IoO2U+PXRoaXMuX3N0YXJ0JiZyKHRoaXMuX3ZhbHVlQXQoZSksaSk7KWUtPTE7cmV0dXJuIGU8dGhpcy5fc3RhcnQ/bnVsbDplfV9zZWFyY2hOZWFyZXN0TGVmdChlLHQpe2lmKGU9PT10aGlzLl9zdGFydClyZXR1cm4gbnVsbDtjb25zdCByPWUtMSxuPXIhPT10aGlzLl9lbmQ/cjpudWxsO3JldHVybiB2b2lkIDAhPT10JiZudWxsIT09bj90aGlzLl9ub25FbXB0eU5lYXJlc3RMZWZ0KG4sdCk6bn1fc2VhcmNoTmVhcmVzdFJpZ2h0KGUsdCl7Y29uc3Qgcj1lLG49ciE9PXRoaXMuX2VuZD9yOm51bGwKO3JldHVybiB2b2lkIDAhPT10JiZudWxsIT09bj90aGlzLl9ub25FbXB0eU5lYXJlc3RSaWdodChuLHQpOm59X2JzZWFyY2goZSx0KXtjb25zdCByPXRoaXMuX2xvd2VyYm91bmQoZSx0KTtyZXR1cm4gciE9PXRoaXMuX2VuZCYmZT09PXQodGhpcy5faXRlbXNbcl0pP3I6bnVsbH1fbG93ZXJib3VuZChlLHQpe3JldHVybigwLHMubG93ZXJib3VuZCkodGhpcy5faXRlbXMsZSwoKGUscik9PnQoZSk8ciksdGhpcy5fc3RhcnQsdGhpcy5fZW5kKX1fdXBwZXJib3VuZChlKXtyZXR1cm4oMCxzLnVwcGVyYm91bmQpKHRoaXMuX2l0ZW1zLGUsKChlLHQpPT50LmluZGV4PmUpLHRoaXMuX3N0YXJ0LHRoaXMuX2VuZCl9X3Bsb3RNaW5NYXgoZSx0LHIpe2xldCBuPW51bGw7Y29uc3QgaT10aGlzLl9wbG90RnVuY3Rpb25zLmdldChyKTtpZih2b2lkIDA9PT1pKXRocm93IG5ldyBFcnJvcihgUGxvdCAiJHtyfSIgaXMgbm90IHJlZ2lzdGVyZWRgKTtmb3IobGV0IHI9ZTtyPHQ7cisrKXtjb25zdCBlPWkodGhpcy5faXRlbXNbcl0udmFsdWUpO251bGw9PWV8fE51bWJlci5pc05hTihlKXx8KG51bGw9PT1uP249e21pbjplLG1heDplfTooZTxuLm1pbiYmKG4ubWluPWUpLGU+bi5tYXgmJihuLm1heD1lKSkpfXJldHVybiBufV9pbnZhbGlkYXRlQ2FjaGVGb3JSb3coZSl7Y29uc3QgdD1NYXRoLmZsb29yKGUuaW5kZXgvdSk7dGhpcy5fbWluTWF4Q2FjaGUuZm9yRWFjaCgoZT0+ZS5kZWxldGUodCkpKX1fcHJlcGVuZChlKXtyZXR1cm4oMCxuLmFzc2VydCkoIXRoaXMuX3NoYXJlUmVhZCwiY29sbGVjdGlvbiBzaG91bGQgbm90IGJlIHJlYWRvbmx5IiksKDAsbi5hc3NlcnQpKDAhPT1lLmxlbmd0aCwicGxvdFJvd3Mgc2hvdWxkIG5vdCBiZSBlbXB0eSIpLHRoaXMuX2ludmFsaWRhdGVTZWFyY2hDYWNoZXMoKSx0aGlzLl9taW5NYXhDYWNoZS5jbGVhcigpLHRoaXMuX2l0ZW1zPWUuY29uY2F0KHRoaXMuX2l0ZW1zKSx0aGlzLl9zdGFydD0wLHRoaXMuX2VuZD10aGlzLl9pdGVtcy5sZW5ndGgsZVswXX1fYXBwZW5kKGUpe3JldHVybigwLG4uYXNzZXJ0KSghdGhpcy5fc2hhcmVSZWFkLCJjb2xsZWN0aW9uIHNob3VsZCBub3QgYmUgcmVhZG9ubHkiKSwoMCxuLmFzc2VydCkoMCE9PWUubGVuZ3RoLCJwbG90Um93cyBzaG91bGQgbm90IGJlIGVtcHR5IiksdGhpcy5faW52YWxpZGF0ZVNlYXJjaENhY2hlcygpLHRoaXMuX21pbk1heENhY2hlLmNsZWFyKCksdGhpcy5faXRlbXM9dGhpcy5faXRlbXMuY29uY2F0KGUpLHRoaXMuX3N0YXJ0PTAsdGhpcy5fZW5kPXRoaXMuX2l0ZW1zLmxlbmd0aCxlWzBdfV91cGRhdGVMYXN0KGUpeygwLG4uYXNzZXJ0KSghdGhpcy5pc0VtcHR5KCksInBsb3QgbGlzdCBzaG91bGQgbm90IGJlIGVtcHR5Iik7Y29uc3QgdD10aGlzLl9pdGVtc1t0aGlzLl9lbmQtMV07KDAsbi5hc3NlcnQpKHQuaW5kZXg9PT1lLmluZGV4LCJsYXN0IHJvdyBpbmRleCBzaG91bGQgbWF0Y2ggbmV3IHJvdyBpbmRleCIpLHRoaXMuX2ludmFsaWRhdGVDYWNoZUZvclJvdyhlKSx0aGlzLl9pbnZhbGlkYXRlU2VhcmNoQ2FjaGVzKCksdGhpcy5faXRlbXNbdGhpcy5fZW5kLTFdPWV9X21lcmdlKGUpe3JldHVybigwLG4uYXNzZXJ0KSgwIT09ZS5sZW5ndGgsInBsb3Qgcm93cyBzaG91bGQgbm90IGJlIGVtcHR5IiksdGhpcy5faW52YWxpZGF0ZVNlYXJjaENhY2hlcygpLHRoaXMuX21pbk1heENhY2hlLmNsZWFyKCksdGhpcy5faXRlbXM9ZnVuY3Rpb24oZSx0KXtjb25zdCByPWZ1bmN0aW9uKGUsdCl7Y29uc3Qgcj1lLmxlbmd0aCxuPXQubGVuZ3RoO2xldCBpPXIrbixzPTAsYT0wO2Zvcig7czxyJiZhPG47KWVbc10uaW5kZXg8dFthXS5pbmRleD9zKys6ZVtzXS5pbmRleD50W2FdLmluZGV4P2ErKzoocysrLGErKyxpLS0pO3JldHVybiBpfShlLHQpLG49bmV3IEFycmF5KHIpO2xldCBpPTAscz0wO2NvbnN0IGE9ZS5sZW5ndGgsbz10Lmxlbmd0aDtsZXQgbD0wO2Zvcig7aTxhJiZzPG87KWVbaV0uaW5kZXg8dFtzXS5pbmRleD8obltsXT1lW2ldLGkrKyk6ZVtpXS5pbmRleD50W3NdLmluZGV4PyhuW2xdPXRbc10scysrKToobltsXT10W3NdLGkrKyxzKyspLGwrKztmb3IoO2k8YTspbltsXT1lW2ldLGkrKyxsKys7Zm9yKDtzPG87KW5bbF09dFtzXSxzKyssbCsrO3JldHVybiBufSh0aGlzLl9pdGVtcyxlKSx0aGlzLl9zdGFydD0wLHRoaXMuX2VuZD10aGlzLl9pdGVtcy5sZW5ndGgsZVswXX1fbWluTWF4T25SYW5nZUNhY2hlZEltcGwoZSx0LHIpe2lmKHRoaXMuaXNFbXB0eSgpKXJldHVybiBudWxsO2xldCBpPW51bGw7Y29uc3Qgcz0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuZmlyc3RJbmRleCgpKSxhPSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5sYXN0SW5kZXgoKSksbz1NYXRoLm1heChlLHMpLGw9TWF0aC5taW4odCxhKSxkPU1hdGguY2VpbChvL3UpKnUsYz1NYXRoLm1heChkLE1hdGguZmxvb3IobC91KSp1KTtpPWYoaSx0aGlzLl9taW5NYXhPblJhbmdlKG8sTWF0aC5taW4oZCx0LGwpLHIpKTtsZXQgaD10aGlzLl9taW5NYXhDYWNoZS5nZXQocik7dm9pZCAwPT09aCYmKGg9bmV3IE1hcCx0aGlzLl9taW5NYXhDYWNoZS5zZXQocixoKSk7Zm9yKGxldCBlPU1hdGgubWF4KGQrMSxvKTtlPGM7ZSs9dSl7Y29uc3QgdD1NYXRoLmZsb29yKGUvdSk7bGV0IG49aC5nZXQodCk7aWYodm9pZCAwPT09bil7Y29uc3QgZT10KnUsaT0odCsxKSp1LTE7bj10aGlzLl9taW5NYXhPblJhbmdlKGUsaSxyKSxoLnNldCh0LG4pfWk9ZihpLG4pfWk9ZihpLHRoaXMuX21pbk1heE9uUmFuZ2UoYyxsLHIpKTtyZXR1cm4gaX1fbWluTWF4T25SYW5nZShlLHQscil7cmV0dXJuIHRoaXMuX3Bsb3RNaW5NYXgodGhpcy5fbG93ZXJib3VuZChlLGQpLHRoaXMuX3VwcGVyYm91bmQodCkscil9X3JhbmdlSXRlcmF0b3JJbXBsKGUsdCl7bGV0IHI9ZS0xO3JldHVybntbU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiB0aGlzfSxuZXh0OigpPT4ocis9MSxyPj10P3tkb25lOiEwLHZhbHVlOnZvaWQgMH06e2RvbmU6ITEsdmFsdWU6dGhpcy5faXRlbXNbcl19KX19X2ludmFsaWRhdGVTZWFyY2hDYWNoZXMoKXsKdGhpcy5fcm93U2VhcmNoQ2FjaGVCeUluZGV4LmNsZWFyKCksdGhpcy5fcm93U2VhcmNoQ2FjaGVCeUluZGV4V2l0aG91dEVtcHR5VmFsdWVzLmNsZWFyKCksdGhpcy5fcm93U2VhcmNoQ2FjaGVCeVRpbWUuY2xlYXIoKSx0aGlzLl9yb3dTZWFyY2hDYWNoZUJ5VGltZVdpdGhvdXRFbXB0eVZhbHVlcy5jbGVhcigpfX1mdW5jdGlvbiBmKGUsdCl7aWYobnVsbD09PWUpcmV0dXJuIHQ7aWYobnVsbD09PXQpcmV0dXJuIGU7cmV0dXJue21pbjpNYXRoLm1pbihlLm1pbix0Lm1pbiksbWF4Ok1hdGgubWF4KGUubWF4LHQubWF4KX19fSw2MTkxNjUoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7U2VyaWVzRGF0YTooKT0+Zn0pO3ZhciBuLGkscz1yKDEzODYzOCksYT1yKDg1NzE1MSksbz1yKDQ3NTQ3OCk7IWZ1bmN0aW9uKGUpe2VbZS5Gcm9tTGVmdD0tMV09IkZyb21MZWZ0IixlW2UuRnJvbVJpZ2h0PTFdPSJGcm9tUmlnaHQifShufHwobj17fSkpLGZ1bmN0aW9uKGUpe2VbZS5UaW1lPTBdPSJUaW1lIixlW2UuT3Blbj0xXT0iT3BlbiIsZVtlLkhpZ2g9Ml09IkhpZ2giLGVbZS5Mb3c9M109IkxvdyIsZVtlLkNsb3NlPTRdPSJDbG9zZSIsZVtlLlZvbHVtZT01XT0iVm9sdW1lIixlW2UuQWR0PTZdPSJBZHQifShpfHwoaT17fSkpO2NvbnN0IGw9WyJvcGVuIiwiaGlnaCIsImxvdyIsImNsb3NlIiwiaGwyIiwiaGxjMyIsIm9obGM0Il07dmFyIHU7IWZ1bmN0aW9uKGUpe2VbZS5GaXJzdFByaWNlPTBdPSJGaXJzdFByaWNlIixlW2UuTGFzdFByaWNlPTFdPSJMYXN0UHJpY2UiLGVbZS5MYXN0VmFsdWVQcmljZT0yXT0iTGFzdFZhbHVlUHJpY2UifSh1fHwodT17fSkpO2NvbnN0IGQ9e29wZW46ZT0+ZVsxXSxoaWdoOmU9PmVbMl0sbG93OmU9PmVbM10sY2xvc2U6ZT0+ZVs0XSxobDI6ZT0+KGVbMl0rZVszXSkvMixobGMzOmU9PihlWzJdK2VbM10rZVs0XSkvMyxvaGxjNDplPT4oZVsxXStlWzJdK2VbM10rZVs0XSkvNH07ZnVuY3Rpb24gYygpe2NvbnN0IGU9bmV3IE1hcDtyZXR1cm4gbC5mb3JFYWNoKCgodCxyKT0+e2Uuc2V0KHQsZnVuY3Rpb24oZSx0LHIpe2NvbnN0IG49ZFt0Pz9lXSxpPWRbZV0scz1kW3I/P2VdO3JldHVybihlLHQpPT57c3dpdGNoKHQpe2Nhc2UgMDpyZXR1cm4gbihlKTtjYXNlIDI6cmV0dXJuIHMoZSk7ZGVmYXVsdDpyZXR1cm4gaShlKX19fSh0KSl9KSksZX1mdW5jdGlvbiBoKGUsdCl7cmV0dXJuIG51bGw9PWVbdF19Y2xhc3MgZntjb25zdHJ1Y3Rvcigpe3RoaXMubV9iYXJzPW5ldyBhLlBsb3RMaXN0KGMoKSxoKSx0aGlzLm1fbnNCYXJzPW5ldyBhLlBsb3RMaXN0KGMoKSxoKSx0aGlzLl9jb25mbGF0ZWRDaHVua3NCdWlsZGVyPW5ldyBvLkNvbmZsYXRlZENodW5rc0J1aWxkZXIodGhpcy5tX2JhcnMsKGU9PmRbZV0pKX1iYXJzKCl7cmV0dXJuIHRoaXMubV9iYXJzfW5zQmFycygpe3JldHVybiB0aGlzLm1fbnNCYXJzfWNvbmZsYXRlZENodW5rcyhlLHQpe3JldHVybiB0aGlzLl9jb25mbGF0ZWRDaHVua3NCdWlsZGVyLmNvbmZsYXRlZENodW5rcyhlLHQpfW1lcmdlUmVndWxhckJhcnMoZSl7cmV0dXJuIHRoaXMuX2NvbmZsYXRlZENodW5rc0J1aWxkZXIubWVyZ2VEYXRhKGUpfXNpemUoKXtyZXR1cm4gdGhpcy5tX2JhcnMuc2l6ZSgpK3RoaXMubV9uc0JhcnMuc2l6ZSgpfWVhY2goZSl7dGhpcy5tX2JhcnMuZWFjaChlKSx0aGlzLm1fbnNCYXJzLmVhY2goZSl9Y2xlYXIoKXt0aGlzLm1fbnNCYXJzLmNsZWFyKCksdGhpcy5sYXN0UHJvamVjdGlvblByaWNlPXZvaWQgMCx0aGlzLl9jb25mbGF0ZWRDaHVua3NCdWlsZGVyLmNsZWFyRGF0YSgpfWNsb25lKCl7Y29uc3QgZT1uZXcgZjtyZXR1cm4gZS5sYXN0UHJvamVjdGlvblByaWNlPXRoaXMubGFzdFByb2plY3Rpb25QcmljZSxlLmJveFNpemU9dGhpcy5ib3hTaXplLGUucmV2ZXJzYWxBbW91bnQ9dGhpcy5yZXZlcnNhbEFtb3VudCxlLm1fYmFycz10aGlzLm1fYmFycy5jbG9uZSgpLGUubV9uc0JhcnM9dGhpcy5tX2JhcnMuY2xvbmUoKSxlfWlzRW1wdHkoKXtyZXR1cm4gdGhpcy5tX2JhcnMuaXNFbXB0eSgpJiZ0aGlzLm1fbnNCYXJzLmlzRW1wdHkoKX1maXJzdCgpe3JldHVybiB0aGlzLm1fYmFycy5pc0VtcHR5KCk/dGhpcy5tX25zQmFycy5maXJzdCgpOnRoaXMubV9iYXJzLmZpcnN0KCl9bGFzdCgpe3JldHVybiB0aGlzLm1fbnNCYXJzLmlzRW1wdHkoKT90aGlzLm1fYmFycy5sYXN0KCk6dGhpcy5tX25zQmFycy5sYXN0KCl9c2VhcmNoKGUsdCxyKXtyZXR1cm4gdGhpcy5uc0JhcnMoKS5pc0VtcHR5KCk/dGhpcy5iYXJzKCkuc2VhcmNoKGUsdCxyKTp0aGlzLmJhcnMoKS5pc0VtcHR5KCl8fCgwLHMuZW5zdXJlTm90TnVsbCkodGhpcy5uc0JhcnMoKS5maXJzdEluZGV4KCkpPD1lP3RoaXMubnNCYXJzKCkuc2VhcmNoKGUsdCxyKTp0aGlzLmJhcnMoKS5zZWFyY2goZSx0LHIpfXZhbHVlQXQoZSl7Y29uc3QgdD10aGlzLnNlYXJjaChlKTtyZXR1cm4gbnVsbCE9PXQ/dC52YWx1ZTpudWxsfXBsb3RWYWx1ZVRvVGltZVBvaW50SW5kZXgoZSx0LHIpe2lmKHI9PT1uLkZyb21SaWdodCl7Y29uc3Qgcj0ocixuKT0+e2NvbnN0IGk9blt0XTtyZXR1cm4gbnVsbCE9aSYmZT49aX0sbj10aGlzLm1fYmFycy5maW5kTGFzdChyKTtpZihudWxsIT09bilyZXR1cm4gbi5pbmRleDtjb25zdCBpPXRoaXMubV9uc0JhcnMuZmluZExhc3Qocik7cmV0dXJuIG51bGwhPT1pP2kuaW5kZXg6dGhpcy5tX2JhcnMuZmlyc3RJbmRleCgpfWlmKHI9PT1uLkZyb21MZWZ0KXtjb25zdCByPShyLG4pPT57Y29uc3QgaT1uW3RdO3JldHVybiBudWxsIT1pJiZlPD1pfSxuPXRoaXMubV9iYXJzLmZpbmRGaXJzdChyKTtpZihudWxsIT09bilyZXR1cm4gbi5pbmRleDtjb25zdCBpPXRoaXMubV9uc0JhcnMuZmluZEZpcnN0KHIpO3JldHVybiBudWxsIT09aT9pLmluZGV4OnRoaXMubV9iYXJzLmxhc3RJbmRleCgpfXRocm93IG5ldyBFcnJvcigicGxvdFZhbHVlVG9UaW1lUG9pbnRJbmRleDogdW5zdXBwb3J0ZWQgc2VhcmNoIG1vZGUiKX1tb3ZlRGF0YShlKXt0aGlzLl9jb25mbGF0ZWRDaHVua3NCdWlsZGVyLm1vdmVEYXRhKGUpLHRoaXMubV9uc0JhcnMubW92ZShlKX19fSwKNzczMDg4KGUsdCxyKXsidXNlIHN0cmljdCI7dmFyIG47ZnVuY3Rpb24gaShlLHQpe3JldHVybiJwZXJpb2QtYmFjayI9PT1lLnR5cGUmJiJwZXJpb2QtYmFjayI9PT10LnR5cGU/ZS52YWx1ZT09PXQudmFsdWU6InRpbWUtcmFuZ2UiPT09ZS50eXBlJiYidGltZS1yYW5nZSI9PT10LnR5cGUmJihlLmZyb209PT10LmZyb20mJmUudG89PT10LnRvKX1mdW5jdGlvbiBzKGUsdD0hMSl7aWYoInBlcmlvZC1iYWNrIj09PWUudHlwZSl7bGV0IHI9ZS52YWx1ZTtyZXR1cm4gdCYmIllURCIhPT1yJiYiRCI9PT1yLnNsaWNlKC0xKSYmKHI9ci5zbGljZSgwLC0xKSkscn1yZXR1cm4iciwiK2UuZnJvbSsiOiIrZS50b31mdW5jdGlvbiBhKGUpe2NvbnN0IHQ9L3IsKFxkKyk6KFxkKykvLmV4ZWMoZSk7cmV0dXJuIG51bGwhPT10P3tmcm9tOk51bWJlcih0WzFdKSx0bzpOdW1iZXIodFsyXSksdHlwZToidGltZS1yYW5nZSJ9Ont2YWx1ZTplLHR5cGU6InBlcmlvZC1iYWNrIn19ci5kKHQse2FyZUVxdWFsVGltZUZyYW1lczooKT0+aSxjb252ZXJ0U3RyVG9UaW1lRnJhbWU6KCk9PmEsY29udmVydFRpbWVGcmFtZVRvU3RyOigpPT5zfSksZnVuY3Rpb24oZSl7ZS5QZXJpb2RCYWNrPSJwZXJpb2QtYmFjayIsZS5UaW1lUmFuZ2U9InRpbWUtcmFuZ2UifShufHwobj17fSkpfSw4MTA0MShlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtTdGRUaGVtZTooKT0+bi5TdGRUaGVtZX0pO3ZhciBuPXIoMjQ3OTAxKX0sNDA3Nzk5KGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse2VuY29kZUV4dGVuZGVkU3ltYm9sT3JHZXRTaW1wbGVTeW1ib2xTdHJpbmc6KCk9Pml9KTt2YXIgbj1yKDExMTk1Myk7ZnVuY3Rpb24gaShlKXtyZXR1cm4oMCxuLmVuY29kZUV4dGVuZGVkU3ltYm9sU3RydWN0dXJhbCkoZSl9fSwzMTQ5MTQoZSx0LHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDg1Mjk4MCksaT1yKDkzMDIzMSk7Y29uc3Qgcz0oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJwYXlfYXR0ZW50aW9uX3RvX3RpY2tlcl9ub3Rfc3ltYm9sIiksYT0oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJjaGFydGluZ19saWJyYXJ5X3NpbmdsZV9zeW1ib2xfcmVxdWVzdCIpLG89KDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgidXNlX3RpY2tlcl9vbl9zeW1ib2xfaW5mb191cGRhdGUiKSxsPSgwLGkuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIik7bi5leHRyYWN0U3ltYm9sTmFtZUZyb21TeW1ib2xJbmZvLmJpbmQobnVsbCx7cGF5QXR0ZW50aW9uVG9UaWNrZXJOb3RTeW1ib2w6cyxjaGFydGluZ0xpYnJhcnlTaW5nbGVTeW1ib2xSZXF1ZXN0OmEsdXNlVGlja2VyT25TeW1ib2xJbmZvVXBkYXRlOm8sdXBwZXJjYXNlSW5zdHJ1bWVudE5hbWVzOmx9KX0sNTgwMzcoZSx0LHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbixpOyFmdW5jdGlvbihlKXtlW2UuT2ZmbGluZT0wXT0iT2ZmbGluZSIsZVtlLlJlc29sdmluZz0xXT0iUmVzb2x2aW5nIixlW2UuTG9hZGluZz0yXT0iTG9hZGluZyIsZVtlLlJlYWR5PTNdPSJSZWFkeSIsZVtlLkludmFsaWRTeW1ib2w9NF09IkludmFsaWRTeW1ib2wiLGVbZS5TbmFwc2hvdD01XT0iU25hcHNob3QiLGVbZS5FT0Q9Nl09IkVPRCIsZVtlLlB1bHNlPTddPSJQdWxzZSIsZVtlLkRlbGF5ZWQ9OF09IkRlbGF5ZWQiLGVbZS5EZWxheWVkU3RlYW1pbmc9OV09IkRlbGF5ZWRTdGVhbWluZyIsZVtlLk5vQmFycz0xMF09Ik5vQmFycyIsZVtlLlJlcGxheT0xMV09IlJlcGxheSIsZVtlLkVycm9yPTEyXT0iRXJyb3IiLGVbZS5DYWxjdWxhdGlvbkVycm9yPTEzXT0iQ2FsY3VsYXRpb25FcnJvciIsZVtlLlVuc3VwcG9ydGVkUmVzb2x1dGlvbj0xNF09IlVuc3VwcG9ydGVkUmVzb2x1dGlvbiJ9KG58fChuPXt9KSksZnVuY3Rpb24oZSl7ZVtlLk1hcmtlcnM9MF09Ik1hcmtlcnMiLGVbZS5TdGVwbGluZT0xXT0iU3RlcGxpbmUiLGVbZS5TaW1wbGU9Ml09IlNpbXBsZSJ9KGl8fChpPXt9KSl9LDgzNzIwMyhlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtTZXJpZXNEYXRhU291cmNlOigpPT5uLlNlcmllc0RhdGFTb3VyY2V9KTt2YXIgbj1yKDkzNTI0MCksaT1yKDExMTk1Mykscz1yKDg1NjU2KSxhPXIoOTMwMjMxKTtuLlNlcmllc0RhdGFTb3VyY2Uuc2V0Tm9uU2VyaWVzRGF0YVVucGFja2VyKHMudW5wYWNrTm9uU2VyaWVzRGF0YUNvbXByZXNzZWQpLG4uU2VyaWVzRGF0YVNvdXJjZS5zZXRTeW1ib2xFbmNvZGVyKGkuZW5jb2RlRXh0ZW5kZWRTeW1ib2xTdHJ1Y3R1cmFsKSxuLlNlcmllc0RhdGFTb3VyY2Uuc2V0RXh0cmFjdFN5bWJvbEZlYXR1cmVzZXRzKHtwYXlBdHRlbnRpb25Ub1RpY2tlck5vdFN5bWJvbDooMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJwYXlfYXR0ZW50aW9uX3RvX3RpY2tlcl9ub3Rfc3ltYm9sIiksY2hhcnRpbmdMaWJyYXJ5U2luZ2xlU3ltYm9sUmVxdWVzdDooMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJjaGFydGluZ19saWJyYXJ5X3NpbmdsZV9zeW1ib2xfcmVxdWVzdCIpLHVzZVRpY2tlck9uU3ltYm9sSW5mb1VwZGF0ZTooMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1c2VfdGlja2VyX29uX3N5bWJvbF9pbmZvX3VwZGF0ZSIpLHVwcGVyY2FzZUluc3RydW1lbnROYW1lczooMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1cHBlcmNhc2VfaW5zdHJ1bWVudF9uYW1lcyIpfSl9LDc3NzY2MShlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtzdHVkeVRwb1ByZXJpb2RpY0lkOigpPT5uLHN0dWR5VHBvU2Vzc2lvbnNJZDooKT0+aX0pO2NvbnN0IG49IlRQT1BlcmlvZGljQHR2LXZvbHVtZWJ5cHJpY2UiLGk9IlRQT1Nlc3Npb25zQHR2LXZvbHVtZWJ5cHJpY2UifSw3Mjg0MzYoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7c3R1ZHlWb2xGb290cHJpbnRJZDooKT0+bn0pO2NvbnN0IG49IkZvb3RwcmludEB0di12b2x1bWVieXByaWNlIn0sNTUwMzkzKGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse3N0dWR5VmJQU2Vzc2lvbnNJZDooKT0+bn0pO2NvbnN0IG49IlZiUFNlc3Npb25zQHR2LXZvbHVtZWJ5cHJpY2UifSw1OTE3NDEoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7CmdldFRpbWVGb3JtYXRGb3JJbnRlcnZhbDooKT0+aX0pO3ZhciBuPXIoMjM4MTAzKTtmdW5jdGlvbiBpKGUsdCl7aWYoZS5pc1JhbmdlKCkpcmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiIxMi1ob3VycyI9PT1lP24udHdlbHZlSG91ck1pbnV0ZU5vblplcm9TZWNvbmRGb3JtYXQ6bi5ob3VyTWludXRlTm9uWmVyb1NlY29uZEZvcm1hdH0odCk7aWYoZS5pc1RpY2tzKCkpcmV0dXJuIG4uaG91ck1pbnV0ZVNlY29uZE1pbGxpc2VjRm9ybWF0O3JldHVybiBlLmlzU2Vjb25kcygpfHxlLmlzVGlja3MoKT9mdW5jdGlvbihlKXtyZXR1cm4iMTItaG91cnMiPT09ZT9uLnR3ZWx2ZUhvdXJNaW51dGVTZWNvbmRGb3JtYXQ6bi5ob3VyTWludXRlU2Vjb25kRm9ybWF0fSh0KTpmdW5jdGlvbihlKXtyZXR1cm4iMTItaG91cnMiPT09ZT9uLnR3ZWx2ZUhvdXJNaW51dGVGb3JtYXQ6bi5ob3VyTWludXRlRm9ybWF0fSh0KX19LDg3MzU3MyhlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHthcHBseUFscGhhOigpPT5zLGFwcGx5VHJhbnNwYXJlbmN5OigpPT5vLGdlbmVyYXRlQ29sb3I6KCk9PmkscmVzZXRUcmFuc3BhcmVuY3k6KCk9Pmx9KTt2YXIgbj1yKDEzNDY3KTtmdW5jdGlvbiBpKGUsdCxyKXtpZih0PXR8fDAsIXUoZSkpcmV0dXJuIHI/KDAsbi5yZ2JhVG9TdHJpbmcpKCgwLG4ucmdiYSkoKDAsbi5wYXJzZVJnYikoZSksKDAsbi5ub3JtYWxpemVBbHBoYUNvbXBvbmVudCkoYSh0KSkpKTplO2NvbnN0W2kscyxvXT0oMCxuLnBhcnNlUmdiKShlKSxsPSgwLG4ubm9ybWFsaXplQWxwaGFDb21wb25lbnQpKGEodCkpO3JldHVybigwLG4ucmdiYVRvU3RyaW5nKShbaSxzLG8sbF0pfWZ1bmN0aW9uIHMoZSx0LHIpe2NvbnN0IGk9KDAsbi50cnlQYXJzZVJnYmEpKGUpO2lmKG51bGw9PT1pKXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb2xvcjogJHtlfWApO2NvbnN0W3MsYSxvLGxdPWksdT0oMCxuLm5vcm1hbGl6ZUFscGhhQ29tcG9uZW50KSh0KihyP2w6MSkpO3JldHVybigwLG4ucmdiYVRvU3RyaW5nKSgoMCxuLnJnYmEpKFtzLGEsb10sdSkpfWZ1bmN0aW9uIGEoZSl7aWYoZTwwfHxlPjEwMCl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgdHJhbnNwYXJlbmN5Iik7cmV0dXJuIDEtZS8xMDB9ZnVuY3Rpb24gbyhlLHQpe2lmKCJ0cmFuc3BhcmVudCI9PT1lKXJldHVybiBlO2NvbnN0IHI9KDAsbi5wYXJzZVJnYmEpKGUpLGk9clszXTtyZXR1cm4oMCxuLnJnYmFUb1N0cmluZykoKDAsbi5yZ2JhKShyWzBdLHJbMV0sclsyXSxhKHQpKmkpKX1mdW5jdGlvbiBsKGUpe3JldHVybiJ0cmFuc3BhcmVudCI9PT1lP2U6dShlKT9lLnNsaWNlKDAsNyk6KDAsbi5yZ2JhVG9TdHJpbmcpKCgwLG4ucmdiYSkoKDAsbi5wYXJzZVJnYikoZSksKDAsbi5ub3JtYWxpemVBbHBoYUNvbXBvbmVudCkoMSkpKX1mdW5jdGlvbiB1KGUpe3JldHVybiAwPT09ZS5pbmRleE9mKCIjIil9fX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"tvc-invdn-cf-com.investing.com/tool/1.12.10/jquery-2.1.0.min.js","fqdn":"tvc-invdn-cf-com.investing.com","domain":"investing.com","tld":"com"},"ip":{"addr":"172.64.155.105","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://tvc-invdn-cf-com.investing.com/tool/1.12.10/tool-prod-2-ssl.html?carrier=cc6698fccca44e51b088d9ddbbcf8ec8\u0026time=1785120633\u0026domain_ID=7\u0026lang_ID=7\u0026timezone_ID=17\u0026version=1.12.10\u0026locale=ru\u0026timezone=Europe/Moscow\u0026pair_ID=945629\u0026interval=5\u0026session=24x7\u0026prefix=ru\u0026suffix=\u0026client=0\u0026user=\u0026plotStyle=area\u0026geoc=NO\u0026styleOverride=","date":"2026-07-27T02:50:34.337Z","timestamp":1785120634337,"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":"tvc-invdn-cf-com.investing.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 31 May 2026 06:59:21 GMT","end":"Sat, 29 Aug 2026 07:59:19 GMT"},"fingerprint":{"sha1":"90:A7:5D:5C:7F:22:D6:92:72:4C:85:3E:E7:2D:28:D1:42:20:B1:F8","sha256":"4C:97:98:34:DB:36:63:81:85:8D:5B:E0:91:75:21:94:B9:1D:97:17:07:3D:61:14:3E:02:DB:0F:73:40:E7:84"}}},"request":{"raw":"GET /tool/1.12.10/jquery-2.1.0.min.js HTTP/1.1\r\nHost: tvc-invdn-cf-com.investing.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://tvc-invdn-cf-com.investing.com/tool/1.12.10/tool-prod-2-ssl.html?carrier=cc6698fccca44e51b088d9ddbbcf8ec8\u0026time=1785120633\u0026domain_ID=7\u0026lang_ID=7\u0026timezone_ID=17\u0026version=1.12.10\u0026locale=ru\u0026timezone=Europe/Moscow\u0026pair_ID=945629\u0026interval=5\u0026session=24x7\u0026prefix=ru\u0026suffix=\u0026client=0\u0026user=\u0026plotStyle=area\u0026geoc=NO\u0026styleOverride=\r\nCookie: __cf_bm=mn1PVnpxBsLEicPCDwE_Pe4gHkvTYye6Tx_zgzNLo.k-1785120633.699759-1.0.1.1-lB_db9Ov1aU8Fd3phu4.zXI.0INMPk8u0VotUI0k5.d8tcJf9MPZ8.4bNw0k2UZ4hoLBefzQWLGi7ZW06ZZmMXWweiLPcAzMaI0v_RVdZq.Z_fjpI5Y5UZbmopumxELp1CKoKFuB0JWJV4cWCH7O8Q\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\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript\r\nx-guploader-uploadid: AAVLpEjWl9wNq2_LfEz2iMqIyIlK0IjS6LUlxImVSYEpNO4JbE4469iD1g9h3Zz9vEM1i0Mbhskd3cctQku4\r\nexpires: Mon, 27 Jul 2026 03:50:34 GMT\r\ncache-control: public, max-age=3600\r\nlast-modified: Wed, 07 Feb 2024 12:23:28 GMT\r\nvary: accept-encoding\r\nx-goog-generation: 1707308608637118\r\nx-goog-metageneration: 1\r\nx-goog-stored-content-encoding: identity\r\nx-goog-stored-content-length: 83619\r\nx-goog-hash: crc32c=y3z1ZQ==, md5=FRS+Gs93HVpISu7Zay0wug==\r\nx-goog-storage-class: STANDARD\r\nserver: cloudflare\r\nvia: 1.1 google\r\nalt-svc: h3=\":443\"; ma=86400\r\npriority: u=2,i=?0\r\nage: 1605\r\ncf-cache-status: HIT\r\netag: W/\"1514be1acf771d5a484aeed96b2d30ba\"\r\ncontent-encoding: br\r\ncf-ray: a218565c9b450daa-OSL\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Google Cloud","description":"Google Cloud is a suite of cloud computing services.","website":"https://cloud.google.com","common_platform_enumeration":"cpe:2.3:a:google:cloud_platform:*:*:*:*:*:*:*:*","icon":"Google Cloud.svg","categories":["IaaS"]},{"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":"Google Cloud Storage","description":"Google Cloud Storage allows world-wide storage and retrieval of any amount of data at any time.","website":"https://cloud.google.com/storage","common_platform_enumeration":"","icon":"google-cloud-storage.svg","categories":["Miscellaneous"]},{"name":"Google Cloud CDN","description":"Cloud CDN uses Google's global edge network to serve content closer to users.","website":"https://cloud.google.com/cdn","common_platform_enumeration":"","icon":"google-cloud-cdn.svg","categories":["CDN"]}],"data":{"size":83619,"size_decoded":31311,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (32065), with CRLF line terminators","md5":"1514be1acf771d5a484aeed96b2d30ba","sha1":"0faaa0c56f563693cdeafa299f97e3d5bd6fcdd8","sha256":"a4469f8e63bb73eecdcc84f2d2c106f3ea4d516bfe044bdf6a35a5e613efc931","sha512":"37a9f508a99c461d74bb2fcc7816978bd2c10b4979e41005ff099a11b8808e6820c38051f8bc98725133ec6b99ffea7c4186ec55c98a42eb21fdf9cb241873f7","ssdeep":"1536:ePpEy5BMibZGOj/bEe8v+/UWf4IhvAQP2Z93E8ud44d+ROvcgbRNkVPEWW9MtXa/:dIODpETQRBFrta98HrS","tlshash":"4b83c6d9b2c6b162d77730b850bf450bb13a98dab80c8c60f0a5d5e47db4a89507bf2d","first_seen":"2023-03-07T16:44:16Z","last_seen":"2026-07-27T02:59:54.645399Z","times_seen":131,"resource_available":true,"data":"LyohIGpRdWVyeSB2Mi4xLjAgfCAoYykgMjAwNSwgMjAxNCBqUXVlcnkgRm91bmRhdGlvbiwgSW5jLiB8IGpxdWVyeS5vcmcvbGljZW5zZSAqLw0KIWZ1bmN0aW9uKGEsYil7Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9YS5kb2N1bWVudD9iKGEsITApOmZ1bmN0aW9uKGEpe2lmKCFhLmRvY3VtZW50KXRocm93IG5ldyBFcnJvcigialF1ZXJ5IHJlcXVpcmVzIGEgd2luZG93IHdpdGggYSBkb2N1bWVudCIpO3JldHVybiBiKGEpfTpiKGEpfSgidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6dGhpcyxmdW5jdGlvbihhLGIpe3ZhciBjPVtdLGQ9Yy5zbGljZSxlPWMuY29uY2F0LGY9Yy5wdXNoLGc9Yy5pbmRleE9mLGg9e30saT1oLnRvU3RyaW5nLGo9aC5oYXNPd25Qcm9wZXJ0eSxrPSIiLnRyaW0sbD17fSxtPWEuZG9jdW1lbnQsbj0iMi4xLjAiLG89ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbmV3IG8uZm4uaW5pdChhLGIpfSxwPS9eLW1zLS8scT0vLShbXGRhLXpdKS9naSxyPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGIudG9VcHBlckNhc2UoKX07by5mbj1vLnByb3RvdHlwZT17anF1ZXJ5Om4sY29uc3RydWN0b3I6byxzZWxlY3RvcjoiIixsZW5ndGg6MCx0b0FycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIGQuY2FsbCh0aGlzKX0sZ2V0OmZ1bmN0aW9uKGEpe3JldHVybiBudWxsIT1hPzA+YT90aGlzW2ErdGhpcy5sZW5ndGhdOnRoaXNbYV06ZC5jYWxsKHRoaXMpfSxwdXNoU3RhY2s6ZnVuY3Rpb24oYSl7dmFyIGI9by5tZXJnZSh0aGlzLmNvbnN0cnVjdG9yKCksYSk7cmV0dXJuIGIucHJldk9iamVjdD10aGlzLGIuY29udGV4dD10aGlzLmNvbnRleHQsYn0sZWFjaDpmdW5jdGlvbihhLGIpe3JldHVybiBvLmVhY2godGhpcyxhLGIpfSxtYXA6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKG8ubWFwKHRoaXMsZnVuY3Rpb24oYixjKXtyZXR1cm4gYS5jYWxsKGIsYyxiKX0pKX0sc2xpY2U6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soZC5hcHBseSh0aGlzLGFyZ3VtZW50cykpfSxmaXJzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKDApfSxsYXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoLTEpfSxlcTpmdW5jdGlvbihhKXt2YXIgYj10aGlzLmxlbmd0aCxjPSthKygwPmE/YjowKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soYz49MCYmYj5jP1t0aGlzW2NdXTpbXSl9LGVuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnByZXZPYmplY3R8fHRoaXMuY29uc3RydWN0b3IobnVsbCl9LHB1c2g6Zixzb3J0OmMuc29ydCxzcGxpY2U6Yy5zcGxpY2V9LG8uZXh0ZW5kPW8uZm4uZXh0ZW5kPWZ1bmN0aW9uKCl7dmFyIGEsYixjLGQsZSxmLGc9YXJndW1lbnRzWzBdfHx7fSxoPTEsaT1hcmd1bWVudHMubGVuZ3RoLGo9ITE7Zm9yKCJib29sZWFuIj09dHlwZW9mIGcmJihqPWcsZz1hcmd1bWVudHNbaF18fHt9LGgrKyksIm9iamVjdCI9PXR5cGVvZiBnfHxvLmlzRnVuY3Rpb24oZyl8fChnPXt9KSxoPT09aSYmKGc9dGhpcyxoLS0pO2k+aDtoKyspaWYobnVsbCE9KGE9YXJndW1lbnRzW2hdKSlmb3IoYiBpbiBhKWM9Z1tiXSxkPWFbYl0sZyE9PWQmJihqJiZkJiYoby5pc1BsYWluT2JqZWN0KGQpfHwoZT1vLmlzQXJyYXkoZCkpKT8oZT8oZT0hMSxmPWMmJm8uaXNBcnJheShjKT9jOltdKTpmPWMmJm8uaXNQbGFpbk9iamVjdChjKT9jOnt9LGdbYl09by5leHRlbmQoaixmLGQpKTp2b2lkIDAhPT1kJiYoZ1tiXT1kKSk7cmV0dXJuIGd9LG8uZXh0ZW5kKHtleHBhbmRvOiJqUXVlcnkiKyhuK01hdGgucmFuZG9tKCkpLnJlcGxhY2UoL1xEL2csIiIpLGlzUmVhZHk6ITAsZXJyb3I6ZnVuY3Rpb24oYSl7dGhyb3cgbmV3IEVycm9yKGEpfSxub29wOmZ1bmN0aW9uKCl7fSxpc0Z1bmN0aW9uOmZ1bmN0aW9uKGEpe3JldHVybiJmdW5jdGlvbiI9PT1vLnR5cGUoYSl9LGlzQXJyYXk6QXJyYXkuaXNBcnJheSxpc1dpbmRvdzpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbCE9YSYmYT09PWEud2luZG93fSxpc051bWVyaWM6ZnVuY3Rpb24oYSl7cmV0dXJuIGEtcGFyc2VGbG9hdChhKT49MH0saXNQbGFpbk9iamVjdDpmdW5jdGlvbihhKXtpZigib2JqZWN0IiE9PW8udHlwZShhKXx8YS5ub2RlVHlwZXx8by5pc1dpbmRvdyhhKSlyZXR1cm4hMTt0cnl7aWYoYS5jb25zdHJ1Y3RvciYmIWouY2FsbChhLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwiaXNQcm90b3R5cGVPZiIpKXJldHVybiExfWNhdGNoKGIpe3JldHVybiExfXJldHVybiEwfSxpc0VtcHR5T2JqZWN0OmZ1bmN0aW9uKGEpe3ZhciBiO2ZvcihiIGluIGEpcmV0dXJuITE7cmV0dXJuITB9LHR5cGU6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWE/YSsiIjoib2JqZWN0Ij09dHlwZW9mIGF8fCJmdW5jdGlvbiI9PXR5cGVvZiBhP2hbaS5jYWxsKGEpXXx8Im9iamVjdCI6dHlwZW9mIGF9LGdsb2JhbEV2YWw6ZnVuY3Rpb24oYSl7dmFyIGIsYz1ldmFsO2E9by50cmltKGEpLGEmJigxPT09YS5pbmRleE9mKCJ1c2Ugc3RyaWN0Iik/KGI9bS5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSxiLnRleHQ9YSxtLmhlYWQuYXBwZW5kQ2hpbGQoYikucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChiKSk6YyhhKSl9LGNhbWVsQ2FzZTpmdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKHAsIm1zLSIpLnJlcGxhY2UocSxyKX0sbm9kZU5hbWU6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5ub2RlTmFtZSYmYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09Yi50b0xvd2VyQ2FzZSgpfSxlYWNoOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlPTAsZj1hLmxlbmd0aCxnPXMoYSk7aWYoYyl7aWYoZyl7Zm9yKDtmPmU7ZSsrKWlmKGQ9Yi5hcHBseShhW2VdLGMpLGQ9PT0hMSlicmVha31lbHNlIGZvcihlIGluIGEpaWYoZD1iLmFwcGx5KGFbZV0sYyksZD09PSExKWJyZWFrfWVsc2UgaWYoZyl7Zm9yKDtmPmU7ZSsrKWlmKGQ9Yi5jYWxsKGFbZV0sZSxhW2VdKSxkPT09ITEpYnJlYWt9ZWxzZSBmb3IoZSBpbiBhKWlmKGQ9Yi5jYWxsKGFbZV0sZSxhW2VdKSxkPT09ITEpYnJlYWs7cmV0dXJuIGF9LHRyaW06ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWE/IiI6ay5jYWxsKGEpfSxtYWtlQXJyYXk6ZnVuY3Rpb24oYSxiKXt2YXIgYz1ifHxbXTtyZXR1cm4gbnVsbCE9YSYmKHMoT2JqZWN0KGEpKT9vLm1lcmdlKGMsInN0cmluZyI9PXR5cGVvZiBhP1thXTphKTpmLmNhbGwoYyxhKSksY30saW5BcnJheTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIG51bGw9PWI/LTE6Zy5jYWxsKGIsYSxjKX0sbWVyZ2U6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9K2IubGVuZ3RoLGQ9MCxlPWEubGVuZ3RoO2M+ZDtkKyspYVtlKytdPWJbZF07cmV0dXJuIGEubGVuZ3RoPWUsYX0sZ3JlcDpmdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkLGU9W10sZj0wLGc9YS5sZW5ndGgsaD0hYztnPmY7ZisrKWQ9IWIoYVtmXSxmKSxkIT09aCYmZS5wdXNoKGFbZl0pO3JldHVybiBlfSxtYXA6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGY9MCxnPWEubGVuZ3RoLGg9cyhhKSxpPVtdO2lmKGgpZm9yKDtnPmY7ZisrKWQ9YihhW2ZdLGYsYyksbnVsbCE9ZCYmaS5wdXNoKGQpO2Vsc2UgZm9yKGYgaW4gYSlkPWIoYVtmXSxmLGMpLG51bGwhPWQmJmkucHVzaChkKTtyZXR1cm4gZS5hcHBseShbXSxpKX0sZ3VpZDoxLHByb3h5OmZ1bmN0aW9uKGEsYil7dmFyIGMsZSxmO3JldHVybiJzdHJpbmciPT10eXBlb2YgYiYmKGM9YVtiXSxiPWEsYT1jKSxvLmlzRnVuY3Rpb24oYSk/KGU9ZC5jYWxsKGFyZ3VtZW50cywyKSxmPWZ1bmN0aW9uKCl7cmV0dXJuIGEuYXBwbHkoYnx8dGhpcyxlLmNvbmNhdChkLmNhbGwoYXJndW1lbnRzKSkpfSxmLmd1aWQ9YS5ndWlkPWEuZ3VpZHx8by5ndWlkKyssZik6dm9pZCAwfSxub3c6RGF0ZS5ub3csc3VwcG9ydDpsfSksby5lYWNoKCJCb29sZWFuIE51bWJlciBTdHJpbmcgRnVuY3Rpb24gQXJyYXkgRGF0ZSBSZWdFeHAgT2JqZWN0IEVycm9yIi5zcGxpdCgiICIpLGZ1bmN0aW9uKGEsYil7aFsiW29iamVjdCAiK2IrIl0iXT1iLnRvTG93ZXJDYXNlKCl9KTtmdW5jdGlvbiBzKGEpe3ZhciBiPWEubGVuZ3RoLGM9by50eXBlKGEpO3JldHVybiJmdW5jdGlvbiI9PT1jfHxvLmlzV2luZG93KGEpPyExOjE9PT1hLm5vZGVUeXBlJiZiPyEwOiJhcnJheSI9PT1jfHwwPT09Ynx8Im51bWJlciI9PXR5cGVvZiBiJiZiPjAmJmItMSBpbiBhfXZhciB0PWZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlLGYsZyxoLGksaixrLGwsbSxuLG8scCxxLHIscz0ic2l6emxlIistbmV3IERhdGUsdD1hLmRvY3VtZW50LHU9MCx2PTAsdz1lYigpLHg9ZWIoKSx5PWViKCksej1mdW5jdGlvbihhLGIpe3JldHVybiBhPT09YiYmKGo9ITApLDB9LEE9InVuZGVmaW5lZCIsQj0xPDwzMSxDPXt9Lmhhc093blByb3BlcnR5LEQ9W10sRT1ELnBvcCxGPUQucHVzaCxHPUQucHVzaCxIPUQuc2xpY2UsST1ELmluZGV4T2Z8fGZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wLGM9dGhpcy5sZW5ndGg7Yz5iO2IrKylpZih0aGlzW2JdPT09YSlyZXR1cm4gYjtyZXR1cm4tMX0sSj0iY2hlY2tlZHxzZWxlY3RlZHxhc3luY3xhdXRvZm9jdXN8YXV0b3BsYXl8Y29udHJvbHN8ZGVmZXJ8ZGlzYWJsZWR8aGlkZGVufGlzbWFwfGxvb3B8bXVsdGlwbGV8b3BlbnxyZWFkb25seXxyZXF1aXJlZHxzY29wZWQiLEs9IltcXHgyMFxcdFxcclxcblxcZl0iLEw9Iig/OlxcXFwufFtcXHctXXxbXlxceDAwLVxceGEwXSkrIixNPUwucmVwbGFjZSgidyIsIncjIiksTj0iXFxbIitLKyIqKCIrTCsiKSIrSysiKig/OihbKl4kfCF+XT89KSIrSysiKig/OihbJ1wiXSkoKD86XFxcXC58W15cXFxcXSkqPylcXDN8KCIrTSsiKXwpfCkiK0srIipcXF0iLE89IjooIitMKyIpKD86XFwoKChbJ1wiXSkoKD86XFxcXC58W15cXFxcXSkqPylcXDN8KCg/OlxcXFwufFteXFxcXCgpW1xcXV18IitOLnJlcGxhY2UoMyw4KSsiKSopfC4qKVxcKXwpIixQPW5ldyBSZWdFeHAoIl4iK0srIit8KCg/Ol58W15cXFxcXSkoPzpcXFxcLikqKSIrSysiKyQiLCJnIiksUT1uZXcgUmVnRXhwKCJeIitLKyIqLCIrSysiKiIpLFI9bmV3IFJlZ0V4cCgiXiIrSysiKihbPit+XXwiK0srIikiK0srIioiKSxTPW5ldyBSZWdFeHAoIj0iK0srIiooW15cXF0nXCJdKj8pIitLKyIqXFxdIiwiZyIpLFQ9bmV3IFJlZ0V4cChPKSxVPW5ldyBSZWdFeHAoIl4iK00rIiQiKSxWPXtJRDpuZXcgUmVnRXhwKCJeIygiK0wrIikiKSxDTEFTUzpuZXcgUmVnRXhwKCJeXFwuKCIrTCsiKSIpLFRBRzpuZXcgUmVnRXhwKCJeKCIrTC5yZXBsYWNlKCJ3IiwidyoiKSsiKSIpLEFUVFI6bmV3IFJlZ0V4cCgiXiIrTiksUFNFVURPOm5ldyBSZWdFeHAoIl4iK08pLENISUxEOm5ldyBSZWdFeHAoIl46KG9ubHl8Zmlyc3R8bGFzdHxudGh8bnRoLWxhc3QpLShjaGlsZHxvZi10eXBlKSg/OlxcKCIrSysiKihldmVufG9kZHwoKFsrLV18KShcXGQqKW58KSIrSysiKig/OihbKy1dfCkiK0srIiooXFxkKyl8KSkiK0srIipcXCl8KSIsImkiKSxib29sOm5ldyBSZWdFeHAoIl4oPzoiK0orIikkIiwiaSIpLG5lZWRzQ29udGV4dDpuZXcgUmVnRXhwKCJeIitLKyIqWz4rfl18OihldmVufG9kZHxlcXxndHxsdHxudGh8Zmlyc3R8bGFzdCkoPzpcXCgiK0srIiooKD86LVxcZCk/XFxkKikiK0srIipcXCl8KSg/PVteLV18JCkiLCJpIil9LFc9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSxYPS9eaFxkJC9pLFk9L15bXntdK1x7XHMqXFtuYXRpdmUgXHcvLFo9L14oPzojKFtcdy1dKyl8KFx3Kyl8XC4oW1x3LV0rKSkkLywkPS9bK35dLyxfPS8nfFxcL2csYWI9bmV3IFJlZ0V4cCgiXFxcXChbXFxkYS1mXXsxLDZ9IitLKyI/fCgiK0srIil8LikiLCJpZyIpLGJiPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0iMHgiK2ItNjU1MzY7cmV0dXJuIGQhPT1kfHxjP2I6MD5kP1N0cmluZy5mcm9tQ2hhckNvZGUoZCs2NTUzNik6U3RyaW5nLmZyb21DaGFyQ29kZShkPj4xMHw1NTI5NiwxMDIzJmR8NTYzMjApfTt0cnl7Ry5hcHBseShEPUguY2FsbCh0LmNoaWxkTm9kZXMpLHQuY2hpbGROb2RlcyksRFt0LmNoaWxkTm9kZXMubGVuZ3RoXS5ub2RlVHlwZX1jYXRjaChjYil7Rz17YXBwbHk6RC5sZW5ndGg/ZnVuY3Rpb24oYSxiKXtGLmFwcGx5KGEsSC5jYWxsKGIpKX06ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmxlbmd0aCxkPTA7d2hpbGUoYVtjKytdPWJbZCsrXSk7YS5sZW5ndGg9Yy0xfX19ZnVuY3Rpb24gZGIoYSxiLGQsZSl7dmFyIGYsZyxoLGksaixtLHAscSx1LHY7aWYoKGI/Yi5vd25lckRvY3VtZW50fHxiOnQpIT09bCYmayhiKSxiPWJ8fGwsZD1kfHxbXSwhYXx8InN0cmluZyIhPXR5cGVvZiBhKXJldHVybiBkO2lmKDEhPT0oaT1iLm5vZGVUeXBlKSYmOSE9PWkpcmV0dXJuW107aWYobiYmIWUpe2lmKGY9Wi5leGVjKGEpKWlmKGg9ZlsxXSl7aWYoOT09PWkpe2lmKGc9Yi5nZXRFbGVtZW50QnlJZChoKSwhZ3x8IWcucGFyZW50Tm9kZSlyZXR1cm4gZDtpZihnLmlkPT09aClyZXR1cm4gZC5wdXNoKGcpLGR9ZWxzZSBpZihiLm93bmVyRG9jdW1lbnQmJihnPWIub3duZXJEb2N1bWVudC5nZXRFbGVtZW50QnlJZChoKSkmJnIoYixnKSYmZy5pZD09PWgpcmV0dXJuIGQucHVzaChnKSxkfWVsc2V7aWYoZlsyXSlyZXR1cm4gRy5hcHBseShkLGIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYSkpLGQ7aWYoKGg9ZlszXSkmJmMuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmYi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKXJldHVybiBHLmFwcGx5KGQsYi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGgpKSxkfWlmKGMucXNhJiYoIW98fCFvLnRlc3QoYSkpKXtpZihxPXA9cyx1PWIsdj05PT09aSYmYSwxPT09aSYmIm9iamVjdCIhPT1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpe209b2IoYSksKHA9Yi5nZXRBdHRyaWJ1dGUoImlkIikpP3E9cC5yZXBsYWNlKF8sIlxcJCYiKTpiLnNldEF0dHJpYnV0ZSgiaWQiLHEpLHE9IltpZD0nIitxKyInXSAiLGo9bS5sZW5ndGg7d2hpbGUoai0tKW1bal09cStwYihtW2pdKTt1PSQudGVzdChhKSYmbWIoYi5wYXJlbnROb2RlKXx8Yix2PW0uam9pbigiLCIpfWlmKHYpdHJ5e3JldHVybiBHLmFwcGx5KGQsdS5xdWVyeVNlbGVjdG9yQWxsKHYpKSxkfWNhdGNoKHcpe31maW5hbGx5e3B8fGIucmVtb3ZlQXR0cmlidXRlKCJpZCIpfX19cmV0dXJuIHhiKGEucmVwbGFjZShQLCIkMSIpLGIsZCxlKX1mdW5jdGlvbiBlYigpe3ZhciBhPVtdO2Z1bmN0aW9uIGIoYyxlKXtyZXR1cm4gYS5wdXNoKGMrIiAiKT5kLmNhY2hlTGVuZ3RoJiZkZWxldGUgYlthLnNoaWZ0KCldLGJbYysiICJdPWV9cmV0dXJuIGJ9ZnVuY3Rpb24gZmIoYSl7cmV0dXJuIGFbc109ITAsYX1mdW5jdGlvbiBnYihhKXt2YXIgYj1sLmNyZWF0ZUVsZW1lbnQoImRpdiIpO3RyeXtyZXR1cm4hIWEoYil9Y2F0Y2goYyl7cmV0dXJuITF9ZmluYWxseXtiLnBhcmVudE5vZGUmJmIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChiKSxiPW51bGx9fWZ1bmN0aW9uIGhiKGEsYil7dmFyIGM9YS5zcGxpdCgifCIpLGU9YS5sZW5ndGg7d2hpbGUoZS0tKWQuYXR0ckhhbmRsZVtjW2VdXT1ifWZ1bmN0aW9uIGliKGEsYil7dmFyIGM9YiYmYSxkPWMmJjE9PT1hLm5vZGVUeXBlJiYxPT09Yi5ub2RlVHlwZSYmKH5iLnNvdXJjZUluZGV4fHxCKS0ofmEuc291cmNlSW5kZXh8fEIpO2lmKGQpcmV0dXJuIGQ7aWYoYyl3aGlsZShjPWMubmV4dFNpYmxpbmcpaWYoYz09PWIpcmV0dXJuLTE7cmV0dXJuIGE/MTotMX1mdW5jdGlvbiBqYihhKXtyZXR1cm4gZnVuY3Rpb24oYil7dmFyIGM9Yi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiJpbnB1dCI9PT1jJiZiLnR5cGU9PT1hfX1mdW5jdGlvbiBrYihhKXtyZXR1cm4gZnVuY3Rpb24oYil7dmFyIGM9Yi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybigiaW5wdXQiPT09Y3x8ImJ1dHRvbiI9PT1jKSYmYi50eXBlPT09YX19ZnVuY3Rpb24gbGIoYSl7cmV0dXJuIGZiKGZ1bmN0aW9uKGIpe3JldHVybiBiPStiLGZiKGZ1bmN0aW9uKGMsZCl7dmFyIGUsZj1hKFtdLGMubGVuZ3RoLGIpLGc9Zi5sZW5ndGg7d2hpbGUoZy0tKWNbZT1mW2ddXSYmKGNbZV09IShkW2VdPWNbZV0pKX0pfSl9ZnVuY3Rpb24gbWIoYSl7cmV0dXJuIGEmJnR5cGVvZiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lIT09QSYmYX1jPWRiLnN1cHBvcnQ9e30sZj1kYi5pc1hNTD1mdW5jdGlvbihhKXt2YXIgYj1hJiYoYS5vd25lckRvY3VtZW50fHxhKS5kb2N1bWVudEVsZW1lbnQ7cmV0dXJuIGI/IkhUTUwiIT09Yi5ub2RlTmFtZTohMX0saz1kYi5zZXREb2N1bWVudD1mdW5jdGlvbihhKXt2YXIgYixlPWE/YS5vd25lckRvY3VtZW50fHxhOnQsZz1lLmRlZmF1bHRWaWV3O3JldHVybiBlIT09bCYmOT09PWUubm9kZVR5cGUmJmUuZG9jdW1lbnRFbGVtZW50PyhsPWUsbT1lLmRvY3VtZW50RWxlbWVudCxuPSFmKGUpLGcmJmchPT1nLnRvcCYmKGcuYWRkRXZlbnRMaXN0ZW5lcj9nLmFkZEV2ZW50TGlzdGVuZXIoInVubG9hZCIsZnVuY3Rpb24oKXtrKCl9LCExKTpnLmF0dGFjaEV2ZW50JiZnLmF0dGFjaEV2ZW50KCJvbnVubG9hZCIsZnVuY3Rpb24oKXtrKCl9KSksYy5hdHRyaWJ1dGVzPWdiKGZ1bmN0aW9uKGEpe3JldHVybiBhLmNsYXNzTmFtZT0iaSIsIWEuZ2V0QXR0cmlidXRlKCJjbGFzc05hbWUiKX0pLGMuZ2V0RWxlbWVudHNCeVRhZ05hbWU9Z2IoZnVuY3Rpb24oYSl7cmV0dXJuIGEuYXBwZW5kQ2hpbGQoZS5jcmVhdGVDb21tZW50KCIiKSksIWEuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKS5sZW5ndGh9KSxjLmdldEVsZW1lbnRzQnlDbGFzc05hbWU9WS50ZXN0KGUuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSkmJmdiKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlubmVySFRNTD0iPGRpdiBjbGFzcz0nYSc+PC9kaXY+PGRpdiBjbGFzcz0nYSBpJz48L2Rpdj4iLGEuZmlyc3RDaGlsZC5jbGFzc05hbWU9ImkiLDI9PT1hLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImkiKS5sZW5ndGh9KSxjLmdldEJ5SWQ9Z2IoZnVuY3Rpb24oYSl7cmV0dXJuIG0uYXBwZW5kQ2hpbGQoYSkuaWQ9cywhZS5nZXRFbGVtZW50c0J5TmFtZXx8IWUuZ2V0RWxlbWVudHNCeU5hbWUocykubGVuZ3RofSksYy5nZXRCeUlkPyhkLmZpbmQuSUQ9ZnVuY3Rpb24oYSxiKXtpZih0eXBlb2YgYi5nZXRFbGVtZW50QnlJZCE9PUEmJm4pe3ZhciBjPWIuZ2V0RWxlbWVudEJ5SWQoYSk7cmV0dXJuIGMmJmMucGFyZW50Tm9kZT9bY106W119fSxkLmZpbHRlci5JRD1mdW5jdGlvbihhKXt2YXIgYj1hLnJlcGxhY2UoYWIsYmIpO3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRBdHRyaWJ1dGUoImlkIik9PT1ifX0pOihkZWxldGUgZC5maW5kLklELGQuZmlsdGVyLklEPWZ1bmN0aW9uKGEpe3ZhciBiPWEucmVwbGFjZShhYixiYik7cmV0dXJuIGZ1bmN0aW9uKGEpe3ZhciBjPXR5cGVvZiBhLmdldEF0dHJpYnV0ZU5vZGUhPT1BJiZhLmdldEF0dHJpYnV0ZU5vZGUoImlkIik7cmV0dXJuIGMmJmMudmFsdWU9PT1ifX0pLGQuZmluZC5UQUc9Yy5nZXRFbGVtZW50c0J5VGFnTmFtZT9mdW5jdGlvbihhLGIpe3JldHVybiB0eXBlb2YgYi5nZXRFbGVtZW50c0J5VGFnTmFtZSE9PUE/Yi5nZXRFbGVtZW50c0J5VGFnTmFtZShhKTp2b2lkIDB9OmZ1bmN0aW9uKGEsYil7dmFyIGMsZD1bXSxlPTAsZj1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpO2lmKCIqIj09PWEpe3doaWxlKGM9ZltlKytdKTE9PT1jLm5vZGVUeXBlJiZkLnB1c2goYyk7cmV0dXJuIGR9cmV0dXJuIGZ9LGQuZmluZC5DTEFTUz1jLmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJmZ1bmN0aW9uKGEsYil7cmV0dXJuIHR5cGVvZiBiLmdldEVsZW1lbnRzQnlDbGFzc05hbWUhPT1BJiZuP2IuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShhKTp2b2lkIDB9LHA9W10sbz1bXSwoYy5xc2E9WS50ZXN0KGUucXVlcnlTZWxlY3RvckFsbCkpJiYoZ2IoZnVuY3Rpb24oYSl7YS5pbm5lckhUTUw9IjxzZWxlY3QgdD0nJz48b3B0aW9uIHNlbGVjdGVkPScnPjwvb3B0aW9uPjwvc2VsZWN0PiIsYS5xdWVyeVNlbGVjdG9yQWxsKCJbdF49JyddIikubGVuZ3RoJiZvLnB1c2goIlsqXiRdPSIrSysiKig/OicnfFwiXCIpIiksYS5xdWVyeVNlbGVjdG9yQWxsKCJbc2VsZWN0ZWRdIikubGVuZ3RofHxvLnB1c2goIlxcWyIrSysiKig/OnZhbHVlfCIrSisiKSIpLGEucXVlcnlTZWxlY3RvckFsbCgiOmNoZWNrZWQiKS5sZW5ndGh8fG8ucHVzaCgiOmNoZWNrZWQiKX0pLGdiKGZ1bmN0aW9uKGEpe3ZhciBiPWUuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTtiLnNldEF0dHJpYnV0ZSgidHlwZSIsImhpZGRlbiIpLGEuYXBwZW5kQ2hpbGQoYikuc2V0QXR0cmlidXRlKCJuYW1lIiwiRCIpLGEucXVlcnlTZWxlY3RvckFsbCgiW25hbWU9ZF0iKS5sZW5ndGgmJm8ucHVzaCgibmFtZSIrSysiKlsqXiR8IX5dPz0iKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIjplbmFibGVkIikubGVuZ3RofHxvLnB1c2goIjplbmFibGVkIiwiOmRpc2FibGVkIiksYS5xdWVyeVNlbGVjdG9yQWxsKCIqLDp4Iiksby5wdXNoKCIsLio6Iil9KSksKGMubWF0Y2hlc1NlbGVjdG9yPVkudGVzdChxPW0ud2Via2l0TWF0Y2hlc1NlbGVjdG9yfHxtLm1vek1hdGNoZXNTZWxlY3Rvcnx8bS5vTWF0Y2hlc1NlbGVjdG9yfHxtLm1zTWF0Y2hlc1NlbGVjdG9yKSkmJmdiKGZ1bmN0aW9uKGEpe2MuZGlzY29ubmVjdGVkTWF0Y2g9cS5jYWxsKGEsImRpdiIpLHEuY2FsbChhLCJbcyE9JyddOngiKSxwLnB1c2goIiE9IixPKX0pLG89by5sZW5ndGgmJm5ldyBSZWdFeHAoby5qb2luKCJ8IikpLHA9cC5sZW5ndGgmJm5ldyBSZWdFeHAocC5qb2luKCJ8IikpLGI9WS50ZXN0KG0uY29tcGFyZURvY3VtZW50UG9zaXRpb24pLHI9Ynx8WS50ZXN0KG0uY29udGFpbnMpP2Z1bmN0aW9uKGEsYil7dmFyIGM9OT09PWEubm9kZVR5cGU/YS5kb2N1bWVudEVsZW1lbnQ6YSxkPWImJmIucGFyZW50Tm9kZTtyZXR1cm4gYT09PWR8fCEoIWR8fDEhPT1kLm5vZGVUeXBlfHwhKGMuY29udGFpbnM/Yy5jb250YWlucyhkKTphLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uJiYxNiZhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGQpKSl9OmZ1bmN0aW9uKGEsYil7aWYoYil3aGlsZShiPWIucGFyZW50Tm9kZSlpZihiPT09YSlyZXR1cm4hMDtyZXR1cm4hMX0sej1iP2Z1bmN0aW9uKGEsYil7aWYoYT09PWIpcmV0dXJuIGo9ITAsMDt2YXIgZD0hYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbi0hYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbjtyZXR1cm4gZD9kOihkPShhLm93bmVyRG9jdW1lbnR8fGEpPT09KGIub3duZXJEb2N1bWVudHx8Yik/YS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKToxLDEmZHx8IWMuc29ydERldGFjaGVkJiZiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpPT09ZD9hPT09ZXx8YS5vd25lckRvY3VtZW50PT09dCYmcih0LGEpPy0xOmI9PT1lfHxiLm93bmVyRG9jdW1lbnQ9PT10JiZyKHQsYik/MTppP0kuY2FsbChpLGEpLUkuY2FsbChpLGIpOjA6NCZkPy0xOjEpfTpmdW5jdGlvbihhLGIpe2lmKGE9PT1iKXJldHVybiBqPSEwLDA7dmFyIGMsZD0wLGY9YS5wYXJlbnROb2RlLGc9Yi5wYXJlbnROb2RlLGg9W2FdLGs9W2JdO2lmKCFmfHwhZylyZXR1cm4gYT09PWU/LTE6Yj09PWU/MTpmPy0xOmc/MTppP0kuY2FsbChpLGEpLUkuY2FsbChpLGIpOjA7aWYoZj09PWcpcmV0dXJuIGliKGEsYik7Yz1hO3doaWxlKGM9Yy5wYXJlbnROb2RlKWgudW5zaGlmdChjKTtjPWI7d2hpbGUoYz1jLnBhcmVudE5vZGUpay51bnNoaWZ0KGMpO3doaWxlKGhbZF09PT1rW2RdKWQrKztyZXR1cm4gZD9pYihoW2RdLGtbZF0pOmhbZF09PT10Py0xOmtbZF09PT10PzE6MH0sZSk6bH0sZGIubWF0Y2hlcz1mdW5jdGlvbihhLGIpe3JldHVybiBkYihhLG51bGwsbnVsbCxiKX0sZGIubWF0Y2hlc1NlbGVjdG9yPWZ1bmN0aW9uKGEsYil7aWYoKGEub3duZXJEb2N1bWVudHx8YSkhPT1sJiZrKGEpLGI9Yi5yZXBsYWNlKFMsIj0nJDEnXSIpLCEoIWMubWF0Y2hlc1NlbGVjdG9yfHwhbnx8cCYmcC50ZXN0KGIpfHxvJiZvLnRlc3QoYikpKXRyeXt2YXIgZD1xLmNhbGwoYSxiKTtpZihkfHxjLmRpc2Nvbm5lY3RlZE1hdGNofHxhLmRvY3VtZW50JiYxMSE9PWEuZG9jdW1lbnQubm9kZVR5cGUpcmV0dXJuIGR9Y2F0Y2goZSl7fXJldHVybiBkYihiLGwsbnVsbCxbYV0pLmxlbmd0aD4wfSxkYi5jb250YWlucz1mdW5jdGlvbihhLGIpe3JldHVybihhLm93bmVyRG9jdW1lbnR8fGEpIT09bCYmayhhKSxyKGEsYil9LGRiLmF0dHI9ZnVuY3Rpb24oYSxiKXsoYS5vd25lckRvY3VtZW50fHxhKSE9PWwmJmsoYSk7dmFyIGU9ZC5hdHRySGFuZGxlW2IudG9Mb3dlckNhc2UoKV0sZj1lJiZDLmNhbGwoZC5hdHRySGFuZGxlLGIudG9Mb3dlckNhc2UoKSk/ZShhLGIsIW4pOnZvaWQgMDtyZXR1cm4gdm9pZCAwIT09Zj9mOmMuYXR0cmlidXRlc3x8IW4/YS5nZXRBdHRyaWJ1dGUoYik6KGY9YS5nZXRBdHRyaWJ1dGVOb2RlKGIpKSYmZi5zcGVjaWZpZWQ/Zi52YWx1ZTpudWxsfSxkYi5lcnJvcj1mdW5jdGlvbihhKXt0aHJvdyBuZXcgRXJyb3IoIlN5bnRheCBlcnJvciwgdW5yZWNvZ25pemVkIGV4cHJlc3Npb246ICIrYSl9LGRiLnVuaXF1ZVNvcnQ9ZnVuY3Rpb24oYSl7dmFyIGIsZD1bXSxlPTAsZj0wO2lmKGo9IWMuZGV0ZWN0RHVwbGljYXRlcyxpPSFjLnNvcnRTdGFibGUmJmEuc2xpY2UoMCksYS5zb3J0KHopLGope3doaWxlKGI9YVtmKytdKWI9PT1hW2ZdJiYoZT1kLnB1c2goZikpO3doaWxlKGUtLSlhLnNwbGljZShkW2VdLDEpfXJldHVybiBpPW51bGwsYX0sZT1kYi5nZXRUZXh0PWZ1bmN0aW9uKGEpe3ZhciBiLGM9IiIsZD0wLGY9YS5ub2RlVHlwZTtpZihmKXtpZigxPT09Znx8OT09PWZ8fDExPT09Zil7aWYoInN0cmluZyI9PXR5cGVvZiBhLnRleHRDb250ZW50KXJldHVybiBhLnRleHRDb250ZW50O2ZvcihhPWEuZmlyc3RDaGlsZDthO2E9YS5uZXh0U2libGluZyljKz1lKGEpfWVsc2UgaWYoMz09PWZ8fDQ9PT1mKXJldHVybiBhLm5vZGVWYWx1ZX1lbHNlIHdoaWxlKGI9YVtkKytdKWMrPWUoYik7cmV0dXJuIGN9LGQ9ZGIuc2VsZWN0b3JzPXtjYWNoZUxlbmd0aDo1MCxjcmVhdGVQc2V1ZG86ZmIsbWF0Y2g6VixhdHRySGFuZGxlOnt9LGZpbmQ6e30scmVsYXRpdmU6eyI+Ijp7ZGlyOiJwYXJlbnROb2RlIixmaXJzdDohMH0sIiAiOntkaXI6InBhcmVudE5vZGUifSwiKyI6e2RpcjoicHJldmlvdXNTaWJsaW5nIixmaXJzdDohMH0sIn4iOntkaXI6InByZXZpb3VzU2libGluZyJ9fSxwcmVGaWx0ZXI6e0FUVFI6ZnVuY3Rpb24oYSl7cmV0dXJuIGFbMV09YVsxXS5yZXBsYWNlKGFiLGJiKSxhWzNdPShhWzRdfHxhWzVdfHwiIikucmVwbGFjZShhYixiYiksIn49Ij09PWFbMl0mJihhWzNdPSIgIithWzNdKyIgIiksYS5zbGljZSgwLDQpfSxDSElMRDpmdW5jdGlvbihhKXtyZXR1cm4gYVsxXT1hWzFdLnRvTG93ZXJDYXNlKCksIm50aCI9PT1hWzFdLnNsaWNlKDAsMyk/KGFbM118fGRiLmVycm9yKGFbMF0pLGFbNF09KyhhWzRdP2FbNV0rKGFbNl18fDEpOjIqKCJldmVuIj09PWFbM118fCJvZGQiPT09YVszXSkpLGFbNV09KyhhWzddK2FbOF18fCJvZGQiPT09YVszXSkpOmFbM10mJmRiLmVycm9yKGFbMF0pLGF9LFBTRVVETzpmdW5jdGlvbihhKXt2YXIgYixjPSFhWzVdJiZhWzJdO3JldHVybiBWLkNISUxELnRlc3QoYVswXSk/bnVsbDooYVszXSYmdm9pZCAwIT09YVs0XT9hWzJdPWFbNF06YyYmVC50ZXN0KGMpJiYoYj1vYihjLCEwKSkmJihiPWMuaW5kZXhPZigiKSIsYy5sZW5ndGgtYiktYy5sZW5ndGgpJiYoYVswXT1hWzBdLnNsaWNlKDAsYiksYVsyXT1jLnNsaWNlKDAsYikpLGEuc2xpY2UoMCwzKSl9fSxmaWx0ZXI6e1RBRzpmdW5jdGlvbihhKXt2YXIgYj1hLnJlcGxhY2UoYWIsYmIpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIioiPT09YT9mdW5jdGlvbigpe3JldHVybiEwfTpmdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlTmFtZSYmYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09Yn19LENMQVNTOmZ1bmN0aW9uKGEpe3ZhciBiPXdbYSsiICJdO3JldHVybiBifHwoYj1uZXcgUmVnRXhwKCIoXnwiK0srIikiK2ErIigiK0srInwkKSIpKSYmdyhhLGZ1bmN0aW9uKGEpe3JldHVybiBiLnRlc3QoInN0cmluZyI9PXR5cGVvZiBhLmNsYXNzTmFtZSYmYS5jbGFzc05hbWV8fHR5cGVvZiBhLmdldEF0dHJpYnV0ZSE9PUEmJmEuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIil9KX0sQVRUUjpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGZ1bmN0aW9uKGQpe3ZhciBlPWRiLmF0dHIoZCxhKTtyZXR1cm4gbnVsbD09ZT8iIT0iPT09YjpiPyhlKz0iIiwiPSI9PT1iP2U9PT1jOiIhPSI9PT1iP2UhPT1jOiJePSI9PT1iP2MmJjA9PT1lLmluZGV4T2YoYyk6Iio9Ij09PWI/YyYmZS5pbmRleE9mKGMpPi0xOiIkPSI9PT1iP2MmJmUuc2xpY2UoLWMubGVuZ3RoKT09PWM6In49Ij09PWI/KCIgIitlKyIgIikuaW5kZXhPZihjKT4tMToifD0iPT09Yj9lPT09Y3x8ZS5zbGljZSgwLGMubGVuZ3RoKzEpPT09YysiLSI6ITEpOiEwfX0sQ0hJTEQ6ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj0ibnRoIiE9PWEuc2xpY2UoMCwzKSxnPSJsYXN0IiE9PWEuc2xpY2UoLTQpLGg9Im9mLXR5cGUiPT09YjtyZXR1cm4gMT09PWQmJjA9PT1lP2Z1bmN0aW9uKGEpe3JldHVybiEhYS5wYXJlbnROb2RlfTpmdW5jdGlvbihiLGMsaSl7dmFyIGosayxsLG0sbixvLHA9ZiE9PWc/Im5leHRTaWJsaW5nIjoicHJldmlvdXNTaWJsaW5nIixxPWIucGFyZW50Tm9kZSxyPWgmJmIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSx0PSFpJiYhaDtpZihxKXtpZihmKXt3aGlsZShwKXtsPWI7d2hpbGUobD1sW3BdKWlmKGg/bC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09cjoxPT09bC5ub2RlVHlwZSlyZXR1cm4hMTtvPXA9Im9ubHkiPT09YSYmIW8mJiJuZXh0U2libGluZyJ9cmV0dXJuITB9aWYobz1bZz9xLmZpcnN0Q2hpbGQ6cS5sYXN0Q2hpbGRdLGcmJnQpe2s9cVtzXXx8KHFbc109e30pLGo9a1thXXx8W10sbj1qWzBdPT09dSYmalsxXSxtPWpbMF09PT11JiZqWzJdLGw9biYmcS5jaGlsZE5vZGVzW25dO3doaWxlKGw9KytuJiZsJiZsW3BdfHwobT1uPTApfHxvLnBvcCgpKWlmKDE9PT1sLm5vZGVUeXBlJiYrK20mJmw9PT1iKXtrW2FdPVt1LG4sbV07YnJlYWt9fWVsc2UgaWYodCYmKGo9KGJbc118fChiW3NdPXt9KSlbYV0pJiZqWzBdPT09dSltPWpbMV07ZWxzZSB3aGlsZShsPSsrbiYmbCYmbFtwXXx8KG09bj0wKXx8by5wb3AoKSlpZigoaD9sLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1yOjE9PT1sLm5vZGVUeXBlKSYmKyttJiYodCYmKChsW3NdfHwobFtzXT17fSkpW2FdPVt1LG1dKSxsPT09YikpYnJlYWs7cmV0dXJuIG0tPWUsbT09PWR8fG0lZD09PTAmJm0vZD49MH19fSxQU0VVRE86ZnVuY3Rpb24oYSxiKXt2YXIgYyxlPWQucHNldWRvc1thXXx8ZC5zZXRGaWx0ZXJzW2EudG9Mb3dlckNhc2UoKV18fGRiLmVycm9yKCJ1bnN1cHBvcnRlZCBwc2V1ZG86ICIrYSk7cmV0dXJuIGVbc10/ZShiKTplLmxlbmd0aD4xPyhjPVthLGEsIiIsYl0sZC5zZXRGaWx0ZXJzLmhhc093blByb3BlcnR5KGEudG9Mb3dlckNhc2UoKSk/ZmIoZnVuY3Rpb24oYSxjKXt2YXIgZCxmPWUoYSxiKSxnPWYubGVuZ3RoO3doaWxlKGctLSlkPUkuY2FsbChhLGZbZ10pLGFbZF09IShjW2RdPWZbZ10pfSk6ZnVuY3Rpb24oYSl7cmV0dXJuIGUoYSwwLGMpfSk6ZX19LHBzZXVkb3M6e25vdDpmYihmdW5jdGlvbihhKXt2YXIgYj1bXSxjPVtdLGQ9ZyhhLnJlcGxhY2UoUCwiJDEiKSk7cmV0dXJuIGRbc10/ZmIoZnVuY3Rpb24oYSxiLGMsZSl7dmFyIGYsZz1kKGEsbnVsbCxlLFtdKSxoPWEubGVuZ3RoO3doaWxlKGgtLSkoZj1nW2hdKSYmKGFbaF09IShiW2hdPWYpKX0pOmZ1bmN0aW9uKGEsZSxmKXtyZXR1cm4gYlswXT1hLGQoYixudWxsLGYsYyksIWMucG9wKCl9fSksaGFzOmZiKGZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbihiKXtyZXR1cm4gZGIoYSxiKS5sZW5ndGg+MH19KSxjb250YWluczpmYihmdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oYil7cmV0dXJuKGIudGV4dENvbnRlbnR8fGIuaW5uZXJUZXh0fHxlKGIpKS5pbmRleE9mKGEpPi0xfX0pLGxhbmc6ZmIoZnVuY3Rpb24oYSl7cmV0dXJuIFUudGVzdChhfHwiIil8fGRiLmVycm9yKCJ1bnN1cHBvcnRlZCBsYW5nOiAiK2EpLGE9YS5yZXBsYWNlKGFiLGJiKS50b0xvd2VyQ2FzZSgpLGZ1bmN0aW9uKGIpe3ZhciBjO2RvIGlmKGM9bj9iLmxhbmc6Yi5nZXRBdHRyaWJ1dGUoInhtbDpsYW5nIil8fGIuZ2V0QXR0cmlidXRlKCJsYW5nIikpcmV0dXJuIGM9Yy50b0xvd2VyQ2FzZSgpLGM9PT1hfHwwPT09Yy5pbmRleE9mKGErIi0iKTt3aGlsZSgoYj1iLnBhcmVudE5vZGUpJiYxPT09Yi5ub2RlVHlwZSk7cmV0dXJuITF9fSksdGFyZ2V0OmZ1bmN0aW9uKGIpe3ZhciBjPWEubG9jYXRpb24mJmEubG9jYXRpb24uaGFzaDtyZXR1cm4gYyYmYy5zbGljZSgxKT09PWIuaWR9LHJvb3Q6ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1tfSxmb2N1czpmdW5jdGlvbihhKXtyZXR1cm4gYT09PWwuYWN0aXZlRWxlbWVudCYmKCFsLmhhc0ZvY3VzfHxsLmhhc0ZvY3VzKCkpJiYhIShhLnR5cGV8fGEuaHJlZnx8fmEudGFiSW5kZXgpfSxlbmFibGVkOmZ1bmN0aW9uKGEpe3JldHVybiBhLmRpc2FibGVkPT09ITF9LGRpc2FibGVkOmZ1bmN0aW9uKGEpe3JldHVybiBhLmRpc2FibGVkPT09ITB9LGNoZWNrZWQ6ZnVuY3Rpb24oYSl7dmFyIGI9YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiJpbnB1dCI9PT1iJiYhIWEuY2hlY2tlZHx8Im9wdGlvbiI9PT1iJiYhIWEuc2VsZWN0ZWR9LHNlbGVjdGVkOmZ1bmN0aW9uKGEpe3JldHVybiBhLnBhcmVudE5vZGUmJmEucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4LGEuc2VsZWN0ZWQ9PT0hMH0sZW1wdHk6ZnVuY3Rpb24oYSl7Zm9yKGE9YS5maXJzdENoaWxkO2E7YT1hLm5leHRTaWJsaW5nKWlmKGEubm9kZVR5cGU8NilyZXR1cm4hMTtyZXR1cm4hMH0scGFyZW50OmZ1bmN0aW9uKGEpe3JldHVybiFkLnBzZXVkb3MuZW1wdHkoYSl9LGhlYWRlcjpmdW5jdGlvbihhKXtyZXR1cm4gWC50ZXN0KGEubm9kZU5hbWUpfSxpbnB1dDpmdW5jdGlvbihhKXtyZXR1cm4gVy50ZXN0KGEubm9kZU5hbWUpfSxidXR0b246ZnVuY3Rpb24oYSl7dmFyIGI9YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiJpbnB1dCI9PT1iJiYiYnV0dG9uIj09PWEudHlwZXx8ImJ1dHRvbiI9PT1ifSx0ZXh0OmZ1bmN0aW9uKGEpe3ZhciBiO3JldHVybiJpbnB1dCI9PT1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkmJiJ0ZXh0Ij09PWEudHlwZSYmKG51bGw9PShiPWEuZ2V0QXR0cmlidXRlKCJ0eXBlIikpfHwidGV4dCI9PT1iLnRvTG93ZXJDYXNlKCkpfSxmaXJzdDpsYihmdW5jdGlvbigpe3JldHVyblswXX0pLGxhc3Q6bGIoZnVuY3Rpb24oYSxiKXtyZXR1cm5bYi0xXX0pLGVxOmxiKGZ1bmN0aW9uKGEsYixjKXtyZXR1cm5bMD5jP2MrYjpjXX0pLGV2ZW46bGIoZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MDtiPmM7Yys9MilhLnB1c2goYyk7cmV0dXJuIGF9KSxvZGQ6bGIoZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MTtiPmM7Yys9MilhLnB1c2goYyk7cmV0dXJuIGF9KSxsdDpsYihmdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkPTA+Yz9jK2I6YzstLWQ+PTA7KWEucHVzaChkKTtyZXR1cm4gYX0pLGd0OmxiKGZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9MD5jP2MrYjpjOysrZDxiOylhLnB1c2goZCk7cmV0dXJuIGF9KX19LGQucHNldWRvcy5udGg9ZC5wc2V1ZG9zLmVxO2ZvcihiIGlue3JhZGlvOiEwLGNoZWNrYm94OiEwLGZpbGU6ITAscGFzc3dvcmQ6ITAsaW1hZ2U6ITB9KWQucHNldWRvc1tiXT1qYihiKTtmb3IoYiBpbntzdWJtaXQ6ITAscmVzZXQ6ITB9KWQucHNldWRvc1tiXT1rYihiKTtmdW5jdGlvbiBuYigpe31uYi5wcm90b3R5cGU9ZC5maWx0ZXJzPWQucHNldWRvcyxkLnNldEZpbHRlcnM9bmV3IG5iO2Z1bmN0aW9uIG9iKGEsYil7dmFyIGMsZSxmLGcsaCxpLGosaz14W2ErIiAiXTtpZihrKXJldHVybiBiPzA6ay5zbGljZSgwKTtoPWEsaT1bXSxqPWQucHJlRmlsdGVyO3doaWxlKGgpeyghY3x8KGU9US5leGVjKGgpKSkmJihlJiYoaD1oLnNsaWNlKGVbMF0ubGVuZ3RoKXx8aCksaS5wdXNoKGY9W10pKSxjPSExLChlPVIuZXhlYyhoKSkmJihjPWUuc2hpZnQoKSxmLnB1c2goe3ZhbHVlOmMsdHlwZTplWzBdLnJlcGxhY2UoUCwiICIpfSksaD1oLnNsaWNlKGMubGVuZ3RoKSk7Zm9yKGcgaW4gZC5maWx0ZXIpIShlPVZbZ10uZXhlYyhoKSl8fGpbZ10mJiEoZT1qW2ddKGUpKXx8KGM9ZS5zaGlmdCgpLGYucHVzaCh7dmFsdWU6Yyx0eXBlOmcsbWF0Y2hlczplfSksaD1oLnNsaWNlKGMubGVuZ3RoKSk7aWYoIWMpYnJlYWt9cmV0dXJuIGI/aC5sZW5ndGg6aD9kYi5lcnJvcihhKTp4KGEsaSkuc2xpY2UoMCl9ZnVuY3Rpb24gcGIoYSl7Zm9yKHZhciBiPTAsYz1hLmxlbmd0aCxkPSIiO2M+YjtiKyspZCs9YVtiXS52YWx1ZTtyZXR1cm4gZH1mdW5jdGlvbiBxYihhLGIsYyl7dmFyIGQ9Yi5kaXIsZT1jJiYicGFyZW50Tm9kZSI9PT1kLGY9disrO3JldHVybiBiLmZpcnN0P2Z1bmN0aW9uKGIsYyxmKXt3aGlsZShiPWJbZF0paWYoMT09PWIubm9kZVR5cGV8fGUpcmV0dXJuIGEoYixjLGYpfTpmdW5jdGlvbihiLGMsZyl7dmFyIGgsaSxqPVt1LGZdO2lmKGcpe3doaWxlKGI9YltkXSlpZigoMT09PWIubm9kZVR5cGV8fGUpJiZhKGIsYyxnKSlyZXR1cm4hMH1lbHNlIHdoaWxlKGI9YltkXSlpZigxPT09Yi5ub2RlVHlwZXx8ZSl7aWYoaT1iW3NdfHwoYltzXT17fSksKGg9aVtkXSkmJmhbMF09PT11JiZoWzFdPT09ZilyZXR1cm4galsyXT1oWzJdO2lmKGlbZF09aixqWzJdPWEoYixjLGcpKXJldHVybiEwfX19ZnVuY3Rpb24gcmIoYSl7cmV0dXJuIGEubGVuZ3RoPjE/ZnVuY3Rpb24oYixjLGQpe3ZhciBlPWEubGVuZ3RoO3doaWxlKGUtLSlpZighYVtlXShiLGMsZCkpcmV0dXJuITE7cmV0dXJuITB9OmFbMF19ZnVuY3Rpb24gc2IoYSxiLGMsZCxlKXtmb3IodmFyIGYsZz1bXSxoPTAsaT1hLmxlbmd0aCxqPW51bGwhPWI7aT5oO2grKykoZj1hW2hdKSYmKCFjfHxjKGYsZCxlKSkmJihnLnB1c2goZiksaiYmYi5wdXNoKGgpKTtyZXR1cm4gZ31mdW5jdGlvbiB0YihhLGIsYyxkLGUsZil7cmV0dXJuIGQmJiFkW3NdJiYoZD10YihkKSksZSYmIWVbc10mJihlPXRiKGUsZikpLGZiKGZ1bmN0aW9uKGYsZyxoLGkpe3ZhciBqLGssbCxtPVtdLG49W10sbz1nLmxlbmd0aCxwPWZ8fHdiKGJ8fCIqIixoLm5vZGVUeXBlP1toXTpoLFtdKSxxPSFhfHwhZiYmYj9wOnNiKHAsbSxhLGgsaSkscj1jP2V8fChmP2E6b3x8ZCk/W106ZzpxO2lmKGMmJmMocSxyLGgsaSksZCl7aj1zYihyLG4pLGQoaixbXSxoLGkpLGs9ai5sZW5ndGg7d2hpbGUoay0tKShsPWpba10pJiYocltuW2tdXT0hKHFbbltrXV09bCkpfWlmKGYpe2lmKGV8fGEpe2lmKGUpe2o9W10saz1yLmxlbmd0aDt3aGlsZShrLS0pKGw9cltrXSkmJmoucHVzaChxW2tdPWwpO2UobnVsbCxyPVtdLGosaSl9az1yLmxlbmd0aDt3aGlsZShrLS0pKGw9cltrXSkmJihqPWU/SS5jYWxsKGYsbCk6bVtrXSk+LTEmJihmW2pdPSEoZ1tqXT1sKSl9fWVsc2Ugcj1zYihyPT09Zz9yLnNwbGljZShvLHIubGVuZ3RoKTpyKSxlP2UobnVsbCxnLHIsaSk6Ry5hcHBseShnLHIpfSl9ZnVuY3Rpb24gdWIoYSl7Zm9yKHZhciBiLGMsZSxmPWEubGVuZ3RoLGc9ZC5yZWxhdGl2ZVthWzBdLnR5cGVdLGk9Z3x8ZC5yZWxhdGl2ZVsiICJdLGo9Zz8xOjAsaz1xYihmdW5jdGlvbihhKXtyZXR1cm4gYT09PWJ9LGksITApLGw9cWIoZnVuY3Rpb24oYSl7cmV0dXJuIEkuY2FsbChiLGEpPi0xfSxpLCEwKSxtPVtmdW5jdGlvbihhLGMsZCl7cmV0dXJuIWcmJihkfHxjIT09aCl8fCgoYj1jKS5ub2RlVHlwZT9rKGEsYyxkKTpsKGEsYyxkKSl9XTtmPmo7aisrKWlmKGM9ZC5yZWxhdGl2ZVthW2pdLnR5cGVdKW09W3FiKHJiKG0pLGMpXTtlbHNle2lmKGM9ZC5maWx0ZXJbYVtqXS50eXBlXS5hcHBseShudWxsLGFbal0ubWF0Y2hlcyksY1tzXSl7Zm9yKGU9KytqO2Y+ZTtlKyspaWYoZC5yZWxhdGl2ZVthW2VdLnR5cGVdKWJyZWFrO3JldHVybiB0YihqPjEmJnJiKG0pLGo+MSYmcGIoYS5zbGljZSgwLGotMSkuY29uY2F0KHt2YWx1ZToiICI9PT1hW2otMl0udHlwZT8iKiI6IiJ9KSkucmVwbGFjZShQLCIkMSIpLGMsZT5qJiZ1YihhLnNsaWNlKGosZSkpLGY+ZSYmdWIoYT1hLnNsaWNlKGUpKSxmPmUmJnBiKGEpKX1tLnB1c2goYyl9cmV0dXJuIHJiKG0pfWZ1bmN0aW9uIHZiKGEsYil7dmFyIGM9Yi5sZW5ndGg+MCxlPWEubGVuZ3RoPjAsZj1mdW5jdGlvbihmLGcsaSxqLGspe3ZhciBtLG4sbyxwPTAscT0iMCIscj1mJiZbXSxzPVtdLHQ9aCx2PWZ8fGUmJmQuZmluZC5UQUcoIioiLGspLHc9dSs9bnVsbD09dD8xOk1hdGgucmFuZG9tKCl8fC4xLHg9di5sZW5ndGg7Zm9yKGsmJihoPWchPT1sJiZnKTtxIT09eCYmbnVsbCE9KG09dltxXSk7cSsrKXtpZihlJiZtKXtuPTA7d2hpbGUobz1hW24rK10paWYobyhtLGcsaSkpe2oucHVzaChtKTticmVha31rJiYodT13KX1jJiYoKG09IW8mJm0pJiZwLS0sZiYmci5wdXNoKG0pKX1pZihwKz1xLGMmJnEhPT1wKXtuPTA7d2hpbGUobz1iW24rK10pbyhyLHMsZyxpKTtpZihmKXtpZihwPjApd2hpbGUocS0tKXJbcV18fHNbcV18fChzW3FdPUUuY2FsbChqKSk7cz1zYihzKX1HLmFwcGx5KGoscyksayYmIWYmJnMubGVuZ3RoPjAmJnArYi5sZW5ndGg+MSYmZGIudW5pcXVlU29ydChqKX1yZXR1cm4gayYmKHU9dyxoPXQpLHJ9O3JldHVybiBjP2ZiKGYpOmZ9Zz1kYi5jb21waWxlPWZ1bmN0aW9uKGEsYil7dmFyIGMsZD1bXSxlPVtdLGY9eVthKyIgIl07aWYoIWYpe2J8fChiPW9iKGEpKSxjPWIubGVuZ3RoO3doaWxlKGMtLSlmPXViKGJbY10pLGZbc10/ZC5wdXNoKGYpOmUucHVzaChmKTtmPXkoYSx2YihlLGQpKX1yZXR1cm4gZn07ZnVuY3Rpb24gd2IoYSxiLGMpe2Zvcih2YXIgZD0wLGU9Yi5sZW5ndGg7ZT5kO2QrKylkYihhLGJbZF0sYyk7cmV0dXJuIGN9ZnVuY3Rpb24geGIoYSxiLGUsZil7dmFyIGgsaSxqLGssbCxtPW9iKGEpO2lmKCFmJiYxPT09bS5sZW5ndGgpe2lmKGk9bVswXT1tWzBdLnNsaWNlKDApLGkubGVuZ3RoPjImJiJJRCI9PT0oaj1pWzBdKS50eXBlJiZjLmdldEJ5SWQmJjk9PT1iLm5vZGVUeXBlJiZuJiZkLnJlbGF0aXZlW2lbMV0udHlwZV0pe2lmKGI9KGQuZmluZC5JRChqLm1hdGNoZXNbMF0ucmVwbGFjZShhYixiYiksYil8fFtdKVswXSwhYilyZXR1cm4gZTthPWEuc2xpY2UoaS5zaGlmdCgpLnZhbHVlLmxlbmd0aCl9aD1WLm5lZWRzQ29udGV4dC50ZXN0KGEpPzA6aS5sZW5ndGg7d2hpbGUoaC0tKXtpZihqPWlbaF0sZC5yZWxhdGl2ZVtrPWoudHlwZV0pYnJlYWs7aWYoKGw9ZC5maW5kW2tdKSYmKGY9bChqLm1hdGNoZXNbMF0ucmVwbGFjZShhYixiYiksJC50ZXN0KGlbMF0udHlwZSkmJm1iKGIucGFyZW50Tm9kZSl8fGIpKSl7aWYoaS5zcGxpY2UoaCwxKSxhPWYubGVuZ3RoJiZwYihpKSwhYSlyZXR1cm4gRy5hcHBseShlLGYpLGU7YnJlYWt9fX1yZXR1cm4gZyhhLG0pKGYsYiwhbixlLCQudGVzdChhKSYmbWIoYi5wYXJlbnROb2RlKXx8YiksZX1yZXR1cm4gYy5zb3J0U3RhYmxlPXMuc3BsaXQoIiIpLnNvcnQoeikuam9pbigiIik9PT1zLGMuZGV0ZWN0RHVwbGljYXRlcz0hIWosaygpLGMuc29ydERldGFjaGVkPWdiKGZ1bmN0aW9uKGEpe3JldHVybiAxJmEuY29tcGFyZURvY3VtZW50UG9zaXRpb24obC5jcmVhdGVFbGVtZW50KCJkaXYiKSl9KSxnYihmdW5jdGlvbihhKXtyZXR1cm4gYS5pbm5lckhUTUw9IjxhIGhyZWY9JyMnPjwvYT4iLCIjIj09PWEuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoImhyZWYiKX0pfHxoYigidHlwZXxocmVmfGhlaWdodHx3aWR0aCIsZnVuY3Rpb24oYSxiLGMpe3JldHVybiBjP3ZvaWQgMDphLmdldEF0dHJpYnV0ZShiLCJ0eXBlIj09PWIudG9Mb3dlckNhc2UoKT8xOjIpfSksYy5hdHRyaWJ1dGVzJiZnYihmdW5jdGlvbihhKXtyZXR1cm4gYS5pbm5lckhUTUw9IjxpbnB1dC8+IixhLmZpcnN0Q2hpbGQuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsIiIpLCIiPT09YS5maXJzdENoaWxkLmdldEF0dHJpYnV0ZSgidmFsdWUiKX0pfHxoYigidmFsdWUiLGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gY3x8ImlucHV0IiE9PWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKT92b2lkIDA6YS5kZWZhdWx0VmFsdWV9KSxnYihmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YS5nZXRBdHRyaWJ1dGUoImRpc2FibGVkIil9KXx8aGIoSixmdW5jdGlvbihhLGIsYyl7dmFyIGQ7cmV0dXJuIGM/dm9pZCAwOmFbYl09PT0hMD9iLnRvTG93ZXJDYXNlKCk6KGQ9YS5nZXRBdHRyaWJ1dGVOb2RlKGIpKSYmZC5zcGVjaWZpZWQ/ZC52YWx1ZTpudWxsfSksZGJ9KGEpO28uZmluZD10LG8uZXhwcj10LnNlbGVjdG9ycyxvLmV4cHJbIjoiXT1vLmV4cHIucHNldWRvcyxvLnVuaXF1ZT10LnVuaXF1ZVNvcnQsby50ZXh0PXQuZ2V0VGV4dCxvLmlzWE1MRG9jPXQuaXNYTUwsby5jb250YWlucz10LmNvbnRhaW5zO3ZhciB1PW8uZXhwci5tYXRjaC5uZWVkc0NvbnRleHQsdj0vXjwoXHcrKVxzKlwvPz4oPzo8XC9cMT58KSQvLHc9L14uW146I1xbXC4sXSokLztmdW5jdGlvbiB4KGEsYixjKXtpZihvLmlzRnVuY3Rpb24oYikpcmV0dXJuIG8uZ3JlcChhLGZ1bmN0aW9uKGEsZCl7cmV0dXJuISFiLmNhbGwoYSxkLGEpIT09Y30pO2lmKGIubm9kZVR5cGUpcmV0dXJuIG8uZ3JlcChhLGZ1bmN0aW9uKGEpe3JldHVybiBhPT09YiE9PWN9KTtpZigic3RyaW5nIj09dHlwZW9mIGIpe2lmKHcudGVzdChiKSlyZXR1cm4gby5maWx0ZXIoYixhLGMpO2I9by5maWx0ZXIoYixhKX1yZXR1cm4gby5ncmVwKGEsZnVuY3Rpb24oYSl7cmV0dXJuIGcuY2FsbChiLGEpPj0wIT09Y30pfW8uZmlsdGVyPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1iWzBdO3JldHVybiBjJiYoYT0iOm5vdCgiK2ErIikiKSwxPT09Yi5sZW5ndGgmJjE9PT1kLm5vZGVUeXBlP28uZmluZC5tYXRjaGVzU2VsZWN0b3IoZCxhKT9bZF06W106by5maW5kLm1hdGNoZXMoYSxvLmdyZXAoYixmdW5jdGlvbihhKXtyZXR1cm4gMT09PWEubm9kZVR5cGV9KSl9LG8uZm4uZXh0ZW5kKHtmaW5kOmZ1bmN0aW9uKGEpe3ZhciBiLGM9dGhpcy5sZW5ndGgsZD1bXSxlPXRoaXM7aWYoInN0cmluZyIhPXR5cGVvZiBhKXJldHVybiB0aGlzLnB1c2hTdGFjayhvKGEpLmZpbHRlcihmdW5jdGlvbigpe2ZvcihiPTA7Yz5iO2IrKylpZihvLmNvbnRhaW5zKGVbYl0sdGhpcykpcmV0dXJuITB9KSk7Zm9yKGI9MDtjPmI7YisrKW8uZmluZChhLGVbYl0sZCk7cmV0dXJuIGQ9dGhpcy5wdXNoU3RhY2soYz4xP28udW5pcXVlKGQpOmQpLGQuc2VsZWN0b3I9dGhpcy5zZWxlY3Rvcj90aGlzLnNlbGVjdG9yKyIgIithOmEsZH0sZmlsdGVyOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnB1c2hTdGFjayh4KHRoaXMsYXx8W10sITEpKX0sbm90OmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnB1c2hTdGFjayh4KHRoaXMsYXx8W10sITApKX0saXM6ZnVuY3Rpb24oYSl7cmV0dXJuISF4KHRoaXMsInN0cmluZyI9PXR5cGVvZiBhJiZ1LnRlc3QoYSk/byhhKTphfHxbXSwhMSkubGVuZ3RofX0pO3ZhciB5LHo9L14oPzpccyooPFtcd1xXXSs+KVtePl0qfCMoW1x3LV0qKSkkLyxBPW8uZm4uaW5pdD1mdW5jdGlvbihhLGIpe3ZhciBjLGQ7aWYoIWEpcmV0dXJuIHRoaXM7aWYoInN0cmluZyI9PXR5cGVvZiBhKXtpZihjPSI8Ij09PWFbMF0mJiI+Ij09PWFbYS5sZW5ndGgtMV0mJmEubGVuZ3RoPj0zP1tudWxsLGEsbnVsbF06ei5leGVjKGEpLCFjfHwhY1sxXSYmYilyZXR1cm4hYnx8Yi5qcXVlcnk/KGJ8fHkpLmZpbmQoYSk6dGhpcy5jb25zdHJ1Y3RvcihiKS5maW5kKGEpO2lmKGNbMV0pe2lmKGI9YiBpbnN0YW5jZW9mIG8/YlswXTpiLG8ubWVyZ2UodGhpcyxvLnBhcnNlSFRNTChjWzFdLGImJmIubm9kZVR5cGU/Yi5vd25lckRvY3VtZW50fHxiOm0sITApKSx2LnRlc3QoY1sxXSkmJm8uaXNQbGFpbk9iamVjdChiKSlmb3IoYyBpbiBiKW8uaXNGdW5jdGlvbih0aGlzW2NdKT90aGlzW2NdKGJbY10pOnRoaXMuYXR0cihjLGJbY10pO3JldHVybiB0aGlzfXJldHVybiBkPW0uZ2V0RWxlbWVudEJ5SWQoY1syXSksZCYmZC5wYXJlbnROb2RlJiYodGhpcy5sZW5ndGg9MSx0aGlzWzBdPWQpLHRoaXMuY29udGV4dD1tLHRoaXMuc2VsZWN0b3I9YSx0aGlzfXJldHVybiBhLm5vZGVUeXBlPyh0aGlzLmNvbnRleHQ9dGhpc1swXT1hLHRoaXMubGVuZ3RoPTEsdGhpcyk6by5pc0Z1bmN0aW9uKGEpPyJ1bmRlZmluZWQiIT10eXBlb2YgeS5yZWFkeT95LnJlYWR5KGEpOmEobyk6KHZvaWQgMCE9PWEuc2VsZWN0b3ImJih0aGlzLnNlbGVjdG9yPWEuc2VsZWN0b3IsdGhpcy5jb250ZXh0PWEuY29udGV4dCksby5tYWtlQXJyYXkoYSx0aGlzKSl9O0EucHJvdG90eXBlPW8uZm4seT1vKG0pO3ZhciBCPS9eKD86cGFyZW50c3xwcmV2KD86VW50aWx8QWxsKSkvLEM9e2NoaWxkcmVuOiEwLGNvbnRlbnRzOiEwLG5leHQ6ITAscHJldjohMH07by5leHRlbmQoe2RpcjpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9W10sZT12b2lkIDAhPT1jO3doaWxlKChhPWFbYl0pJiY5IT09YS5ub2RlVHlwZSlpZigxPT09YS5ub2RlVHlwZSl7aWYoZSYmbyhhKS5pcyhjKSlicmVhaztkLnB1c2goYSl9cmV0dXJuIGR9LHNpYmxpbmc6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9W107YTthPWEubmV4dFNpYmxpbmcpMT09PWEubm9kZVR5cGUmJmEhPT1iJiZjLnB1c2goYSk7cmV0dXJuIGN9fSksby5mbi5leHRlbmQoe2hhczpmdW5jdGlvbihhKXt2YXIgYj1vKGEsdGhpcyksYz1iLmxlbmd0aDtyZXR1cm4gdGhpcy5maWx0ZXIoZnVuY3Rpb24oKXtmb3IodmFyIGE9MDtjPmE7YSsrKWlmKG8uY29udGFpbnModGhpcyxiW2FdKSlyZXR1cm4hMH0pfSxjbG9zZXN0OmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjLGQ9MCxlPXRoaXMubGVuZ3RoLGY9W10sZz11LnRlc3QoYSl8fCJzdHJpbmciIT10eXBlb2YgYT9vKGEsYnx8dGhpcy5jb250ZXh0KTowO2U+ZDtkKyspZm9yKGM9dGhpc1tkXTtjJiZjIT09YjtjPWMucGFyZW50Tm9kZSlpZihjLm5vZGVUeXBlPDExJiYoZz9nLmluZGV4KGMpPi0xOjE9PT1jLm5vZGVUeXBlJiZvLmZpbmQubWF0Y2hlc1NlbGVjdG9yKGMsYSkpKXtmLnB1c2goYyk7YnJlYWt9cmV0dXJuIHRoaXMucHVzaFN0YWNrKGYubGVuZ3RoPjE/by51bmlxdWUoZik6Zil9LGluZGV4OmZ1bmN0aW9uKGEpe3JldHVybiBhPyJzdHJpbmciPT10eXBlb2YgYT9nLmNhbGwobyhhKSx0aGlzWzBdKTpnLmNhbGwodGhpcyxhLmpxdWVyeT9hWzBdOmEpOnRoaXNbMF0mJnRoaXNbMF0ucGFyZW50Tm9kZT90aGlzLmZpcnN0KCkucHJldkFsbCgpLmxlbmd0aDotMX0sYWRkOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMucHVzaFN0YWNrKG8udW5pcXVlKG8ubWVyZ2UodGhpcy5nZXQoKSxvKGEsYikpKSl9LGFkZEJhY2s6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuYWRkKG51bGw9PWE/dGhpcy5wcmV2T2JqZWN0OnRoaXMucHJldk9iamVjdC5maWx0ZXIoYSkpfX0pO2Z1bmN0aW9uIEQoYSxiKXt3aGlsZSgoYT1hW2JdKSYmMSE9PWEubm9kZVR5cGUpO3JldHVybiBhfW8uZWFjaCh7cGFyZW50OmZ1bmN0aW9uKGEpe3ZhciBiPWEucGFyZW50Tm9kZTtyZXR1cm4gYiYmMTEhPT1iLm5vZGVUeXBlP2I6bnVsbH0scGFyZW50czpmdW5jdGlvbihhKXtyZXR1cm4gby5kaXIoYSwicGFyZW50Tm9kZSIpfSxwYXJlbnRzVW50aWw6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBvLmRpcihhLCJwYXJlbnROb2RlIixjKX0sbmV4dDpmdW5jdGlvbihhKXtyZXR1cm4gRChhLCJuZXh0U2libGluZyIpfSxwcmV2OmZ1bmN0aW9uKGEpe3JldHVybiBEKGEsInByZXZpb3VzU2libGluZyIpfSxuZXh0QWxsOmZ1bmN0aW9uKGEpe3JldHVybiBvLmRpcihhLCJuZXh0U2libGluZyIpfSxwcmV2QWxsOmZ1bmN0aW9uKGEpe3JldHVybiBvLmRpcihhLCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dFVudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gby5kaXIoYSwibmV4dFNpYmxpbmciLGMpfSxwcmV2VW50aWw6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBvLmRpcihhLCJwcmV2aW91c1NpYmxpbmciLGMpfSxzaWJsaW5nczpmdW5jdGlvbihhKXtyZXR1cm4gby5zaWJsaW5nKChhLnBhcmVudE5vZGV8fHt9KS5maXJzdENoaWxkLGEpfSxjaGlsZHJlbjpmdW5jdGlvbihhKXtyZXR1cm4gby5zaWJsaW5nKGEuZmlyc3RDaGlsZCl9LGNvbnRlbnRzOmZ1bmN0aW9uKGEpe3JldHVybiBhLmNvbnRlbnREb2N1bWVudHx8by5tZXJnZShbXSxhLmNoaWxkTm9kZXMpfX0sZnVuY3Rpb24oYSxiKXtvLmZuW2FdPWZ1bmN0aW9uKGMsZCl7dmFyIGU9by5tYXAodGhpcyxiLGMpO3JldHVybiJVbnRpbCIhPT1hLnNsaWNlKC01KSYmKGQ9YyksZCYmInN0cmluZyI9PXR5cGVvZiBkJiYoZT1vLmZpbHRlcihkLGUpKSx0aGlzLmxlbmd0aD4xJiYoQ1thXXx8by51bmlxdWUoZSksQi50ZXN0KGEpJiZlLnJldmVyc2UoKSksdGhpcy5wdXNoU3RhY2soZSl9fSk7dmFyIEU9L1xTKy9nLEY9e307ZnVuY3Rpb24gRyhhKXt2YXIgYj1GW2FdPXt9O3JldHVybiBvLmVhY2goYS5tYXRjaChFKXx8W10sZnVuY3Rpb24oYSxjKXtiW2NdPSEwfSksYn1vLkNhbGxiYWNrcz1mdW5jdGlvbihhKXthPSJzdHJpbmciPT10eXBlb2YgYT9GW2FdfHxHKGEpOm8uZXh0ZW5kKHt9LGEpO3ZhciBiLGMsZCxlLGYsZyxoPVtdLGk9IWEub25jZSYmW10saj1mdW5jdGlvbihsKXtmb3IoYj1hLm1lbW9yeSYmbCxjPSEwLGc9ZXx8MCxlPTAsZj1oLmxlbmd0aCxkPSEwO2gmJmY+ZztnKyspaWYoaFtnXS5hcHBseShsWzBdLGxbMV0pPT09ITEmJmEuc3RvcE9uRmFsc2Upe2I9ITE7YnJlYWt9ZD0hMSxoJiYoaT9pLmxlbmd0aCYmaihpLnNoaWZ0KCkpOmI/aD1bXTprLmRpc2FibGUoKSl9LGs9e2FkZDpmdW5jdGlvbigpe2lmKGgpe3ZhciBjPWgubGVuZ3RoOyFmdW5jdGlvbiBnKGIpe28uZWFjaChiLGZ1bmN0aW9uKGIsYyl7dmFyIGQ9by50eXBlKGMpOyJmdW5jdGlvbiI9PT1kP2EudW5pcXVlJiZrLmhhcyhjKXx8aC5wdXNoKGMpOmMmJmMubGVuZ3RoJiYic3RyaW5nIiE9PWQmJmcoYyl9KX0oYXJndW1lbnRzKSxkP2Y9aC5sZW5ndGg6YiYmKGU9YyxqKGIpKX1yZXR1cm4gdGhpc30scmVtb3ZlOmZ1bmN0aW9uKCl7cmV0dXJuIGgmJm8uZWFjaChhcmd1bWVudHMsZnVuY3Rpb24oYSxiKXt2YXIgYzt3aGlsZSgoYz1vLmluQXJyYXkoYixoLGMpKT4tMSloLnNwbGljZShjLDEpLGQmJihmPj1jJiZmLS0sZz49YyYmZy0tKX0pLHRoaXN9LGhhczpmdW5jdGlvbihhKXtyZXR1cm4gYT9vLmluQXJyYXkoYSxoKT4tMTohKCFofHwhaC5sZW5ndGgpfSxlbXB0eTpmdW5jdGlvbigpe3JldHVybiBoPVtdLGY9MCx0aGlzfSxkaXNhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIGg9aT1iPXZvaWQgMCx0aGlzfSxkaXNhYmxlZDpmdW5jdGlvbigpe3JldHVybiFofSxsb2NrOmZ1bmN0aW9uKCl7cmV0dXJuIGk9dm9pZCAwLGJ8fGsuZGlzYWJsZSgpLHRoaXN9LGxvY2tlZDpmdW5jdGlvbigpe3JldHVybiFpfSxmaXJlV2l0aDpmdW5jdGlvbihhLGIpe3JldHVybiFofHxjJiYhaXx8KGI9Ynx8W10sYj1bYSxiLnNsaWNlP2Iuc2xpY2UoKTpiXSxkP2kucHVzaChiKTpqKGIpKSx0aGlzfSxmaXJlOmZ1bmN0aW9uKCl7cmV0dXJuIGsuZmlyZVdpdGgodGhpcyxhcmd1bWVudHMpLHRoaXN9LGZpcmVkOmZ1bmN0aW9uKCl7cmV0dXJuISFjfX07cmV0dXJuIGt9LG8uZXh0ZW5kKHtEZWZlcnJlZDpmdW5jdGlvbihhKXt2YXIgYj1bWyJyZXNvbHZlIiwiZG9uZSIsby5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksInJlc29sdmVkIl0sWyJyZWplY3QiLCJmYWlsIixvLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSwicmVqZWN0ZWQiXSxbIm5vdGlmeSIsInByb2dyZXNzIixvLkNhbGxiYWNrcygibWVtb3J5IildXSxjPSJwZW5kaW5nIixkPXtzdGF0ZTpmdW5jdGlvbigpe3JldHVybiBjfSxhbHdheXM6ZnVuY3Rpb24oKXtyZXR1cm4gZS5kb25lKGFyZ3VtZW50cykuZmFpbChhcmd1bWVudHMpLHRoaXN9LHRoZW46ZnVuY3Rpb24oKXt2YXIgYT1hcmd1bWVudHM7cmV0dXJuIG8uRGVmZXJyZWQoZnVuY3Rpb24oYyl7by5lYWNoKGIsZnVuY3Rpb24oYixmKXt2YXIgZz1vLmlzRnVuY3Rpb24oYVtiXSkmJmFbYl07ZVtmWzFdXShmdW5jdGlvbigpe3ZhciBhPWcmJmcuYXBwbHkodGhpcyxhcmd1bWVudHMpO2EmJm8uaXNGdW5jdGlvbihhLnByb21pc2UpP2EucHJvbWlzZSgpLmRvbmUoYy5yZXNvbHZlKS5mYWlsKGMucmVqZWN0KS5wcm9ncmVzcyhjLm5vdGlmeSk6Y1tmWzBdKyJXaXRoIl0odGhpcz09PWQ/Yy5wcm9taXNlKCk6dGhpcyxnP1thXTphcmd1bWVudHMpfSl9KSxhPW51bGx9KS5wcm9taXNlKCl9LHByb21pc2U6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPWE/by5leHRlbmQoYSxkKTpkfX0sZT17fTtyZXR1cm4gZC5waXBlPWQudGhlbixvLmVhY2goYixmdW5jdGlvbihhLGYpe3ZhciBnPWZbMl0saD1mWzNdO2RbZlsxXV09Zy5hZGQsaCYmZy5hZGQoZnVuY3Rpb24oKXtjPWh9LGJbMV5hXVsyXS5kaXNhYmxlLGJbMl1bMl0ubG9jayksZVtmWzBdXT1mdW5jdGlvbigpe3JldHVybiBlW2ZbMF0rIldpdGgiXSh0aGlzPT09ZT9kOnRoaXMsYXJndW1lbnRzKSx0aGlzfSxlW2ZbMF0rIldpdGgiXT1nLmZpcmVXaXRofSksZC5wcm9taXNlKGUpLGEmJmEuY2FsbChlLGUpLGV9LHdoZW46ZnVuY3Rpb24oYSl7dmFyIGI9MCxjPWQuY2FsbChhcmd1bWVudHMpLGU9Yy5sZW5ndGgsZj0xIT09ZXx8YSYmby5pc0Z1bmN0aW9uKGEucHJvbWlzZSk/ZTowLGc9MT09PWY/YTpvLkRlZmVycmVkKCksaD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGZ1bmN0aW9uKGUpe2JbYV09dGhpcyxjW2FdPWFyZ3VtZW50cy5sZW5ndGg+MT9kLmNhbGwoYXJndW1lbnRzKTplLGM9PT1pP2cubm90aWZ5V2l0aChiLGMpOi0tZnx8Zy5yZXNvbHZlV2l0aChiLGMpfX0saSxqLGs7aWYoZT4xKWZvcihpPW5ldyBBcnJheShlKSxqPW5ldyBBcnJheShlKSxrPW5ldyBBcnJheShlKTtlPmI7YisrKWNbYl0mJm8uaXNGdW5jdGlvbihjW2JdLnByb21pc2UpP2NbYl0ucHJvbWlzZSgpLmRvbmUoaChiLGssYykpLmZhaWwoZy5yZWplY3QpLnByb2dyZXNzKGgoYixqLGkpKTotLWY7cmV0dXJuIGZ8fGcucmVzb2x2ZVdpdGgoayxjKSxnLnByb21pc2UoKX19KTt2YXIgSDtvLmZuLnJlYWR5PWZ1bmN0aW9uKGEpe3JldHVybiBvLnJlYWR5LnByb21pc2UoKS5kb25lKGEpLHRoaXN9LG8uZXh0ZW5kKHtpc1JlYWR5OiExLHJlYWR5V2FpdDoxLGhvbGRSZWFkeTpmdW5jdGlvbihhKXthP28ucmVhZHlXYWl0Kys6by5yZWFkeSghMCl9LHJlYWR5OmZ1bmN0aW9uKGEpeyhhPT09ITA/LS1vLnJlYWR5V2FpdDpvLmlzUmVhZHkpfHwoby5pc1JlYWR5PSEwLGEhPT0hMCYmLS1vLnJlYWR5V2FpdD4wfHwoSC5yZXNvbHZlV2l0aChtLFtvXSksby5mbi50cmlnZ2VyJiZvKG0pLnRyaWdnZXIoInJlYWR5Iikub2ZmKCJyZWFkeSIpKSl9fSk7ZnVuY3Rpb24gSSgpe20ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsSSwhMSksYS5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixJLCExKSxvLnJlYWR5KCl9by5yZWFkeS5wcm9taXNlPWZ1bmN0aW9uKGIpe3JldHVybiBIfHwoSD1vLkRlZmVycmVkKCksImNvbXBsZXRlIj09PW0ucmVhZHlTdGF0ZT9zZXRUaW1lb3V0KG8ucmVhZHkpOihtLmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLEksITEpLGEuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsSSwhMSkpKSxILnByb21pc2UoYil9LG8ucmVhZHkucHJvbWlzZSgpO3ZhciBKPW8uYWNjZXNzPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcpe3ZhciBoPTAsaT1hLmxlbmd0aCxqPW51bGw9PWM7aWYoIm9iamVjdCI9PT1vLnR5cGUoYykpe2U9ITA7Zm9yKGggaW4gYylvLmFjY2VzcyhhLGIsaCxjW2hdLCEwLGYsZyl9ZWxzZSBpZih2b2lkIDAhPT1kJiYoZT0hMCxvLmlzRnVuY3Rpb24oZCl8fChnPSEwKSxqJiYoZz8oYi5jYWxsKGEsZCksYj1udWxsKTooaj1iLGI9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBqLmNhbGwobyhhKSxjKX0pKSxiKSlmb3IoO2k+aDtoKyspYihhW2hdLGMsZz9kOmQuY2FsbChhW2hdLGgsYihhW2hdLGMpKSk7cmV0dXJuIGU/YTpqP2IuY2FsbChhKTppP2IoYVswXSxjKTpmfTtvLmFjY2VwdERhdGE9ZnVuY3Rpb24oYSl7cmV0dXJuIDE9PT1hLm5vZGVUeXBlfHw5PT09YS5ub2RlVHlwZXx8ISthLm5vZGVUeXBlfTtmdW5jdGlvbiBLKCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMuY2FjaGU9e30sMCx7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJue319fSksdGhpcy5leHBhbmRvPW8uZXhwYW5kbytNYXRoLnJhbmRvbSgpfUsudWlkPTEsSy5hY2NlcHRzPW8uYWNjZXB0RGF0YSxLLnByb3RvdHlwZT17a2V5OmZ1bmN0aW9uKGEpe2lmKCFLLmFjY2VwdHMoYSkpcmV0dXJuIDA7dmFyIGI9e30sYz1hW3RoaXMuZXhwYW5kb107aWYoIWMpe2M9Sy51aWQrKzt0cnl7Ylt0aGlzLmV4cGFuZG9dPXt2YWx1ZTpjfSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhLGIpfWNhdGNoKGQpe2JbdGhpcy5leHBhbmRvXT1jLG8uZXh0ZW5kKGEsYil9fXJldHVybiB0aGlzLmNhY2hlW2NdfHwodGhpcy5jYWNoZVtjXT17fSksY30sc2V0OmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlPXRoaXMua2V5KGEpLGY9dGhpcy5jYWNoZVtlXTtpZigic3RyaW5nIj09dHlwZW9mIGIpZltiXT1jO2Vsc2UgaWYoby5pc0VtcHR5T2JqZWN0KGYpKW8uZXh0ZW5kKHRoaXMuY2FjaGVbZV0sYik7ZWxzZSBmb3IoZCBpbiBiKWZbZF09YltkXTtyZXR1cm4gZn0sZ2V0OmZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5jYWNoZVt0aGlzLmtleShhKV07cmV0dXJuIHZvaWQgMD09PWI/YzpjW2JdfSxhY2Nlc3M6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybiB2b2lkIDA9PT1ifHxiJiYic3RyaW5nIj09dHlwZW9mIGImJnZvaWQgMD09PWM/KGQ9dGhpcy5nZXQoYSxiKSx2b2lkIDAhPT1kP2Q6dGhpcy5nZXQoYSxvLmNhbWVsQ2FzZShiKSkpOih0aGlzLnNldChhLGIsYyksdm9pZCAwIT09Yz9jOmIpfSxyZW1vdmU6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZj10aGlzLmtleShhKSxnPXRoaXMuY2FjaGVbZl07aWYodm9pZCAwPT09Yil0aGlzLmNhY2hlW2ZdPXt9O2Vsc2V7by5pc0FycmF5KGIpP2Q9Yi5jb25jYXQoYi5tYXAoby5jYW1lbENhc2UpKTooZT1vLmNhbWVsQ2FzZShiKSxiIGluIGc/ZD1bYixlXTooZD1lLGQ9ZCBpbiBnP1tkXTpkLm1hdGNoKEUpfHxbXSkpLGM9ZC5sZW5ndGg7d2hpbGUoYy0tKWRlbGV0ZSBnW2RbY11dfX0saGFzRGF0YTpmdW5jdGlvbihhKXtyZXR1cm4hby5pc0VtcHR5T2JqZWN0KHRoaXMuY2FjaGVbYVt0aGlzLmV4cGFuZG9dXXx8e30pfSxkaXNjYXJkOmZ1bmN0aW9uKGEpe2FbdGhpcy5leHBhbmRvXSYmZGVsZXRlIHRoaXMuY2FjaGVbYVt0aGlzLmV4cGFuZG9dXX19O3ZhciBMPW5ldyBLLE09bmV3IEssTj0vXig/Olx7W1x3XFddKlx9fFxbW1x3XFddKlxdKSQvLE89LyhbQS1aXSkvZztmdW5jdGlvbiBQKGEsYixjKXt2YXIgZDtpZih2b2lkIDA9PT1jJiYxPT09YS5ub2RlVHlwZSlpZihkPSJkYXRhLSIrYi5yZXBsYWNlKE8sIi0kMSIpLnRvTG93ZXJDYXNlKCksYz1hLmdldEF0dHJpYnV0ZShkKSwic3RyaW5nIj09dHlwZW9mIGMpe3RyeXtjPSJ0cnVlIj09PWM/ITA6ImZhbHNlIj09PWM/ITE6Im51bGwiPT09Yz9udWxsOitjKyIiPT09Yz8rYzpOLnRlc3QoYyk/by5wYXJzZUpTT04oYyk6Y31jYXRjaChlKXt9TS5zZXQoYSxiLGMpfWVsc2UgYz12b2lkIDA7cmV0dXJuIGN9by5leHRlbmQoe2hhc0RhdGE6ZnVuY3Rpb24oYSl7cmV0dXJuIE0uaGFzRGF0YShhKXx8TC5oYXNEYXRhKGEpfSxkYXRhOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gTS5hY2Nlc3MoYSxiLGMpfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGEsYil7TS5yZW1vdmUoYSxiKX0sX2RhdGE6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBMLmFjY2VzcyhhLGIsYyl9LF9yZW1vdmVEYXRhOmZ1bmN0aW9uKGEsYil7TC5yZW1vdmUoYSxiKX19KSxvLmZuLmV4dGVuZCh7ZGF0YTpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmPXRoaXNbMF0sZz1mJiZmLmF0dHJpYnV0ZXM7aWYodm9pZCAwPT09YSl7aWYodGhpcy5sZW5ndGgmJihlPU0uZ2V0KGYpLDE9PT1mLm5vZGVUeXBlJiYhTC5nZXQoZiwiaGFzRGF0YUF0dHJzIikpKXtjPWcubGVuZ3RoOw0Kd2hpbGUoYy0tKWQ9Z1tjXS5uYW1lLDA9PT1kLmluZGV4T2YoImRhdGEtIikmJihkPW8uY2FtZWxDYXNlKGQuc2xpY2UoNSkpLFAoZixkLGVbZF0pKTtMLnNldChmLCJoYXNEYXRhQXR0cnMiLCEwKX1yZXR1cm4gZX1yZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGE/dGhpcy5lYWNoKGZ1bmN0aW9uKCl7TS5zZXQodGhpcyxhKX0pOkoodGhpcyxmdW5jdGlvbihiKXt2YXIgYyxkPW8uY2FtZWxDYXNlKGEpO2lmKGYmJnZvaWQgMD09PWIpe2lmKGM9TS5nZXQoZixhKSx2b2lkIDAhPT1jKXJldHVybiBjO2lmKGM9TS5nZXQoZixkKSx2b2lkIDAhPT1jKXJldHVybiBjO2lmKGM9UChmLGQsdm9pZCAwKSx2b2lkIDAhPT1jKXJldHVybiBjfWVsc2UgdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGM9TS5nZXQodGhpcyxkKTtNLnNldCh0aGlzLGQsYiksLTEhPT1hLmluZGV4T2YoIi0iKSYmdm9pZCAwIT09YyYmTS5zZXQodGhpcyxhLGIpfSl9LG51bGwsYixhcmd1bWVudHMubGVuZ3RoPjEsbnVsbCwhMCl9LHJlbW92ZURhdGE6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe00ucmVtb3ZlKHRoaXMsYSl9KX19KSxvLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybiBhPyhiPShifHwiZngiKSsicXVldWUiLGQ9TC5nZXQoYSxiKSxjJiYoIWR8fG8uaXNBcnJheShjKT9kPUwuYWNjZXNzKGEsYixvLm1ha2VBcnJheShjKSk6ZC5wdXNoKGMpKSxkfHxbXSk6dm9pZCAwfSxkZXF1ZXVlOmZ1bmN0aW9uKGEsYil7Yj1ifHwiZngiO3ZhciBjPW8ucXVldWUoYSxiKSxkPWMubGVuZ3RoLGU9Yy5zaGlmdCgpLGY9by5fcXVldWVIb29rcyhhLGIpLGc9ZnVuY3Rpb24oKXtvLmRlcXVldWUoYSxiKX07ImlucHJvZ3Jlc3MiPT09ZSYmKGU9Yy5zaGlmdCgpLGQtLSksZSYmKCJmeCI9PT1iJiZjLnVuc2hpZnQoImlucHJvZ3Jlc3MiKSxkZWxldGUgZi5zdG9wLGUuY2FsbChhLGcsZikpLCFkJiZmJiZmLmVtcHR5LmZpcmUoKX0sX3F1ZXVlSG9va3M6ZnVuY3Rpb24oYSxiKXt2YXIgYz1iKyJxdWV1ZUhvb2tzIjtyZXR1cm4gTC5nZXQoYSxjKXx8TC5hY2Nlc3MoYSxjLHtlbXB0eTpvLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKS5hZGQoZnVuY3Rpb24oKXtMLnJlbW92ZShhLFtiKyJxdWV1ZSIsY10pfSl9KX19KSxvLmZuLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oYSxiKXt2YXIgYz0yO3JldHVybiJzdHJpbmciIT10eXBlb2YgYSYmKGI9YSxhPSJmeCIsYy0tKSxhcmd1bWVudHMubGVuZ3RoPGM/by5xdWV1ZSh0aGlzWzBdLGEpOnZvaWQgMD09PWI/dGhpczp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1vLnF1ZXVlKHRoaXMsYSxiKTtvLl9xdWV1ZUhvb2tzKHRoaXMsYSksImZ4Ij09PWEmJiJpbnByb2dyZXNzIiE9PWNbMF0mJm8uZGVxdWV1ZSh0aGlzLGEpfSl9LGRlcXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe28uZGVxdWV1ZSh0aGlzLGEpfSl9LGNsZWFyUXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucXVldWUoYXx8ImZ4IixbXSl9LHByb21pc2U6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPTEsZT1vLkRlZmVycmVkKCksZj10aGlzLGc9dGhpcy5sZW5ndGgsaD1mdW5jdGlvbigpey0tZHx8ZS5yZXNvbHZlV2l0aChmLFtmXSl9OyJzdHJpbmciIT10eXBlb2YgYSYmKGI9YSxhPXZvaWQgMCksYT1hfHwiZngiO3doaWxlKGctLSljPUwuZ2V0KGZbZ10sYSsicXVldWVIb29rcyIpLGMmJmMuZW1wdHkmJihkKyssYy5lbXB0eS5hZGQoaCkpO3JldHVybiBoKCksZS5wcm9taXNlKGIpfX0pO3ZhciBRPS9bKy1dPyg/OlxkKlwufClcZCsoPzpbZUVdWystXT9cZCt8KS8uc291cmNlLFI9WyJUb3AiLCJSaWdodCIsIkJvdHRvbSIsIkxlZnQiXSxTPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9Ynx8YSwibm9uZSI9PT1vLmNzcyhhLCJkaXNwbGF5Iil8fCFvLmNvbnRhaW5zKGEub3duZXJEb2N1bWVudCxhKX0sVD0vXig/OmNoZWNrYm94fHJhZGlvKSQvaTshZnVuY3Rpb24oKXt2YXIgYT1tLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxiPWEuYXBwZW5kQ2hpbGQobS5jcmVhdGVFbGVtZW50KCJkaXYiKSk7Yi5pbm5lckhUTUw9IjxpbnB1dCB0eXBlPSdyYWRpbycgY2hlY2tlZD0nY2hlY2tlZCcgbmFtZT0ndCcvPiIsbC5jaGVja0Nsb25lPWIuY2xvbmVOb2RlKCEwKS5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5jaGVja2VkLGIuaW5uZXJIVE1MPSI8dGV4dGFyZWE+eDwvdGV4dGFyZWE+IixsLm5vQ2xvbmVDaGVja2VkPSEhYi5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5kZWZhdWx0VmFsdWV9KCk7dmFyIFU9InVuZGVmaW5lZCI7bC5mb2N1c2luQnViYmxlcz0ib25mb2N1c2luImluIGE7dmFyIFY9L15rZXkvLFc9L14oPzptb3VzZXxjb250ZXh0bWVudSl8Y2xpY2svLFg9L14oPzpmb2N1c2luZm9jdXN8Zm9jdXNvdXRibHVyKSQvLFk9L14oW14uXSopKD86XC4oLispfCkkLztmdW5jdGlvbiBaKCl7cmV0dXJuITB9ZnVuY3Rpb24gJCgpe3JldHVybiExfWZ1bmN0aW9uIF8oKXt0cnl7cmV0dXJuIG0uYWN0aXZlRWxlbWVudH1jYXRjaChhKXt9fW8uZXZlbnQ9e2dsb2JhbDp7fSxhZGQ6ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZixnLGgsaSxqLGssbCxtLG4scCxxLHI9TC5nZXQoYSk7aWYocil7Yy5oYW5kbGVyJiYoZj1jLGM9Zi5oYW5kbGVyLGU9Zi5zZWxlY3RvciksYy5ndWlkfHwoYy5ndWlkPW8uZ3VpZCsrKSwoaT1yLmV2ZW50cyl8fChpPXIuZXZlbnRzPXt9KSwoZz1yLmhhbmRsZSl8fChnPXIuaGFuZGxlPWZ1bmN0aW9uKGIpe3JldHVybiB0eXBlb2YgbyE9PVUmJm8uZXZlbnQudHJpZ2dlcmVkIT09Yi50eXBlP28uZXZlbnQuZGlzcGF0Y2guYXBwbHkoYSxhcmd1bWVudHMpOnZvaWQgMH0pLGI9KGJ8fCIiKS5tYXRjaChFKXx8WyIiXSxqPWIubGVuZ3RoO3doaWxlKGotLSloPVkuZXhlYyhiW2pdKXx8W10sbj1xPWhbMV0scD0oaFsyXXx8IiIpLnNwbGl0KCIuIikuc29ydCgpLG4mJihsPW8uZXZlbnQuc3BlY2lhbFtuXXx8e30sbj0oZT9sLmRlbGVnYXRlVHlwZTpsLmJpbmRUeXBlKXx8bixsPW8uZXZlbnQuc3BlY2lhbFtuXXx8e30saz1vLmV4dGVuZCh7dHlwZTpuLG9yaWdUeXBlOnEsZGF0YTpkLGhhbmRsZXI6YyxndWlkOmMuZ3VpZCxzZWxlY3RvcjplLG5lZWRzQ29udGV4dDplJiZvLmV4cHIubWF0Y2gubmVlZHNDb250ZXh0LnRlc3QoZSksbmFtZXNwYWNlOnAuam9pbigiLiIpfSxmKSwobT1pW25dKXx8KG09aVtuXT1bXSxtLmRlbGVnYXRlQ291bnQ9MCxsLnNldHVwJiZsLnNldHVwLmNhbGwoYSxkLHAsZykhPT0hMXx8YS5hZGRFdmVudExpc3RlbmVyJiZhLmFkZEV2ZW50TGlzdGVuZXIobixnLCExKSksbC5hZGQmJihsLmFkZC5jYWxsKGEsayksay5oYW5kbGVyLmd1aWR8fChrLmhhbmRsZXIuZ3VpZD1jLmd1aWQpKSxlP20uc3BsaWNlKG0uZGVsZWdhdGVDb3VudCsrLDAsayk6bS5wdXNoKGspLG8uZXZlbnQuZ2xvYmFsW25dPSEwKX19LHJlbW92ZTpmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmLGcsaCxpLGosayxsLG0sbixwLHEscj1MLmhhc0RhdGEoYSkmJkwuZ2V0KGEpO2lmKHImJihpPXIuZXZlbnRzKSl7Yj0oYnx8IiIpLm1hdGNoKEUpfHxbIiJdLGo9Yi5sZW5ndGg7d2hpbGUoai0tKWlmKGg9WS5leGVjKGJbal0pfHxbXSxuPXE9aFsxXSxwPShoWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksbil7bD1vLmV2ZW50LnNwZWNpYWxbbl18fHt9LG49KGQ/bC5kZWxlZ2F0ZVR5cGU6bC5iaW5kVHlwZSl8fG4sbT1pW25dfHxbXSxoPWhbMl0mJm5ldyBSZWdFeHAoIihefFxcLikiK3Auam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIiksZz1mPW0ubGVuZ3RoO3doaWxlKGYtLSlrPW1bZl0sIWUmJnEhPT1rLm9yaWdUeXBlfHxjJiZjLmd1aWQhPT1rLmd1aWR8fGgmJiFoLnRlc3Qoay5uYW1lc3BhY2UpfHxkJiZkIT09ay5zZWxlY3RvciYmKCIqKiIhPT1kfHwhay5zZWxlY3Rvcil8fChtLnNwbGljZShmLDEpLGsuc2VsZWN0b3ImJm0uZGVsZWdhdGVDb3VudC0tLGwucmVtb3ZlJiZsLnJlbW92ZS5jYWxsKGEsaykpO2cmJiFtLmxlbmd0aCYmKGwudGVhcmRvd24mJmwudGVhcmRvd24uY2FsbChhLHAsci5oYW5kbGUpIT09ITF8fG8ucmVtb3ZlRXZlbnQoYSxuLHIuaGFuZGxlKSxkZWxldGUgaVtuXSl9ZWxzZSBmb3IobiBpbiBpKW8uZXZlbnQucmVtb3ZlKGEsbitiW2pdLGMsZCwhMCk7by5pc0VtcHR5T2JqZWN0KGkpJiYoZGVsZXRlIHIuaGFuZGxlLEwucmVtb3ZlKGEsImV2ZW50cyIpKX19LHRyaWdnZXI6ZnVuY3Rpb24oYixjLGQsZSl7dmFyIGYsZyxoLGksayxsLG4scD1bZHx8bV0scT1qLmNhbGwoYiwidHlwZSIpP2IudHlwZTpiLHI9ai5jYWxsKGIsIm5hbWVzcGFjZSIpP2IubmFtZXNwYWNlLnNwbGl0KCIuIik6W107aWYoZz1oPWQ9ZHx8bSwzIT09ZC5ub2RlVHlwZSYmOCE9PWQubm9kZVR5cGUmJiFYLnRlc3QocStvLmV2ZW50LnRyaWdnZXJlZCkmJihxLmluZGV4T2YoIi4iKT49MCYmKHI9cS5zcGxpdCgiLiIpLHE9ci5zaGlmdCgpLHIuc29ydCgpKSxrPXEuaW5kZXhPZigiOiIpPDAmJiJvbiIrcSxiPWJbby5leHBhbmRvXT9iOm5ldyBvLkV2ZW50KHEsIm9iamVjdCI9PXR5cGVvZiBiJiZiKSxiLmlzVHJpZ2dlcj1lPzI6MyxiLm5hbWVzcGFjZT1yLmpvaW4oIi4iKSxiLm5hbWVzcGFjZV9yZT1iLm5hbWVzcGFjZT9uZXcgUmVnRXhwKCIoXnxcXC4pIityLmpvaW4oIlxcLig/Oi4qXFwufCkiKSsiKFxcLnwkKSIpOm51bGwsYi5yZXN1bHQ9dm9pZCAwLGIudGFyZ2V0fHwoYi50YXJnZXQ9ZCksYz1udWxsPT1jP1tiXTpvLm1ha2VBcnJheShjLFtiXSksbj1vLmV2ZW50LnNwZWNpYWxbcV18fHt9LGV8fCFuLnRyaWdnZXJ8fG4udHJpZ2dlci5hcHBseShkLGMpIT09ITEpKXtpZighZSYmIW4ubm9CdWJibGUmJiFvLmlzV2luZG93KGQpKXtmb3IoaT1uLmRlbGVnYXRlVHlwZXx8cSxYLnRlc3QoaStxKXx8KGc9Zy5wYXJlbnROb2RlKTtnO2c9Zy5wYXJlbnROb2RlKXAucHVzaChnKSxoPWc7aD09PShkLm93bmVyRG9jdW1lbnR8fG0pJiZwLnB1c2goaC5kZWZhdWx0Vmlld3x8aC5wYXJlbnRXaW5kb3d8fGEpfWY9MDt3aGlsZSgoZz1wW2YrK10pJiYhYi5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKWIudHlwZT1mPjE/aTpuLmJpbmRUeXBlfHxxLGw9KEwuZ2V0KGcsImV2ZW50cyIpfHx7fSlbYi50eXBlXSYmTC5nZXQoZywiaGFuZGxlIiksbCYmbC5hcHBseShnLGMpLGw9ayYmZ1trXSxsJiZsLmFwcGx5JiZvLmFjY2VwdERhdGEoZykmJihiLnJlc3VsdD1sLmFwcGx5KGcsYyksYi5yZXN1bHQ9PT0hMSYmYi5wcmV2ZW50RGVmYXVsdCgpKTtyZXR1cm4gYi50eXBlPXEsZXx8Yi5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8bi5fZGVmYXVsdCYmbi5fZGVmYXVsdC5hcHBseShwLnBvcCgpLGMpIT09ITF8fCFvLmFjY2VwdERhdGEoZCl8fGsmJm8uaXNGdW5jdGlvbihkW3FdKSYmIW8uaXNXaW5kb3coZCkmJihoPWRba10saCYmKGRba109bnVsbCksby5ldmVudC50cmlnZ2VyZWQ9cSxkW3FdKCksby5ldmVudC50cmlnZ2VyZWQ9dm9pZCAwLGgmJihkW2tdPWgpKSxiLnJlc3VsdH19LGRpc3BhdGNoOmZ1bmN0aW9uKGEpe2E9by5ldmVudC5maXgoYSk7dmFyIGIsYyxlLGYsZyxoPVtdLGk9ZC5jYWxsKGFyZ3VtZW50cyksaj0oTC5nZXQodGhpcywiZXZlbnRzIil8fHt9KVthLnR5cGVdfHxbXSxrPW8uZXZlbnQuc3BlY2lhbFthLnR5cGVdfHx7fTtpZihpWzBdPWEsYS5kZWxlZ2F0ZVRhcmdldD10aGlzLCFrLnByZURpc3BhdGNofHxrLnByZURpc3BhdGNoLmNhbGwodGhpcyxhKSE9PSExKXtoPW8uZXZlbnQuaGFuZGxlcnMuY2FsbCh0aGlzLGEsaiksYj0wO3doaWxlKChmPWhbYisrXSkmJiFhLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpe2EuY3VycmVudFRhcmdldD1mLmVsZW0sYz0wO3doaWxlKChnPWYuaGFuZGxlcnNbYysrXSkmJiFhLmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkKCkpKCFhLm5hbWVzcGFjZV9yZXx8YS5uYW1lc3BhY2VfcmUudGVzdChnLm5hbWVzcGFjZSkpJiYoYS5oYW5kbGVPYmo9ZyxhLmRhdGE9Zy5kYXRhLGU9KChvLmV2ZW50LnNwZWNpYWxbZy5vcmlnVHlwZV18fHt9KS5oYW5kbGV8fGcuaGFuZGxlcikuYXBwbHkoZi5lbGVtLGkpLHZvaWQgMCE9PWUmJihhLnJlc3VsdD1lKT09PSExJiYoYS5wcmV2ZW50RGVmYXVsdCgpLGEuc3RvcFByb3BhZ2F0aW9uKCkpKX1yZXR1cm4gay5wb3N0RGlzcGF0Y2gmJmsucG9zdERpc3BhdGNoLmNhbGwodGhpcyxhKSxhLnJlc3VsdH19LGhhbmRsZXJzOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGYsZz1bXSxoPWIuZGVsZWdhdGVDb3VudCxpPWEudGFyZ2V0O2lmKGgmJmkubm9kZVR5cGUmJighYS5idXR0b258fCJjbGljayIhPT1hLnR5cGUpKWZvcig7aSE9PXRoaXM7aT1pLnBhcmVudE5vZGV8fHRoaXMpaWYoaS5kaXNhYmxlZCE9PSEwfHwiY2xpY2siIT09YS50eXBlKXtmb3IoZD1bXSxjPTA7aD5jO2MrKylmPWJbY10sZT1mLnNlbGVjdG9yKyIgIix2b2lkIDA9PT1kW2VdJiYoZFtlXT1mLm5lZWRzQ29udGV4dD9vKGUsdGhpcykuaW5kZXgoaSk+PTA6by5maW5kKGUsdGhpcyxudWxsLFtpXSkubGVuZ3RoKSxkW2VdJiZkLnB1c2goZik7ZC5sZW5ndGgmJmcucHVzaCh7ZWxlbTppLGhhbmRsZXJzOmR9KX1yZXR1cm4gaDxiLmxlbmd0aCYmZy5wdXNoKHtlbGVtOnRoaXMsaGFuZGxlcnM6Yi5zbGljZShoKX0pLGd9LHByb3BzOiJhbHRLZXkgYnViYmxlcyBjYW5jZWxhYmxlIGN0cmxLZXkgY3VycmVudFRhcmdldCBldmVudFBoYXNlIG1ldGFLZXkgcmVsYXRlZFRhcmdldCBzaGlmdEtleSB0YXJnZXQgdGltZVN0YW1wIHZpZXcgd2hpY2giLnNwbGl0KCIgIiksZml4SG9va3M6e30sa2V5SG9va3M6e3Byb3BzOiJjaGFyIGNoYXJDb2RlIGtleSBrZXlDb2RlIi5zcGxpdCgiICIpLGZpbHRlcjpmdW5jdGlvbihhLGIpe3JldHVybiBudWxsPT1hLndoaWNoJiYoYS53aGljaD1udWxsIT1iLmNoYXJDb2RlP2IuY2hhckNvZGU6Yi5rZXlDb2RlKSxhfX0sbW91c2VIb29rczp7cHJvcHM6ImJ1dHRvbiBidXR0b25zIGNsaWVudFggY2xpZW50WSBvZmZzZXRYIG9mZnNldFkgcGFnZVggcGFnZVkgc2NyZWVuWCBzY3JlZW5ZIHRvRWxlbWVudCIuc3BsaXQoIiAiKSxmaWx0ZXI6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZj1iLmJ1dHRvbjtyZXR1cm4gbnVsbD09YS5wYWdlWCYmbnVsbCE9Yi5jbGllbnRYJiYoYz1hLnRhcmdldC5vd25lckRvY3VtZW50fHxtLGQ9Yy5kb2N1bWVudEVsZW1lbnQsZT1jLmJvZHksYS5wYWdlWD1iLmNsaWVudFgrKGQmJmQuc2Nyb2xsTGVmdHx8ZSYmZS5zY3JvbGxMZWZ0fHwwKS0oZCYmZC5jbGllbnRMZWZ0fHxlJiZlLmNsaWVudExlZnR8fDApLGEucGFnZVk9Yi5jbGllbnRZKyhkJiZkLnNjcm9sbFRvcHx8ZSYmZS5zY3JvbGxUb3B8fDApLShkJiZkLmNsaWVudFRvcHx8ZSYmZS5jbGllbnRUb3B8fDApKSxhLndoaWNofHx2b2lkIDA9PT1mfHwoYS53aGljaD0xJmY/MToyJmY/Mzo0JmY/MjowKSxhfX0sZml4OmZ1bmN0aW9uKGEpe2lmKGFbby5leHBhbmRvXSlyZXR1cm4gYTt2YXIgYixjLGQsZT1hLnR5cGUsZj1hLGc9dGhpcy5maXhIb29rc1tlXTtnfHwodGhpcy5maXhIb29rc1tlXT1nPVcudGVzdChlKT90aGlzLm1vdXNlSG9va3M6Vi50ZXN0KGUpP3RoaXMua2V5SG9va3M6e30pLGQ9Zy5wcm9wcz90aGlzLnByb3BzLmNvbmNhdChnLnByb3BzKTp0aGlzLnByb3BzLGE9bmV3IG8uRXZlbnQoZiksYj1kLmxlbmd0aDt3aGlsZShiLS0pYz1kW2JdLGFbY109ZltjXTtyZXR1cm4gYS50YXJnZXR8fChhLnRhcmdldD1tKSwzPT09YS50YXJnZXQubm9kZVR5cGUmJihhLnRhcmdldD1hLnRhcmdldC5wYXJlbnROb2RlKSxnLmZpbHRlcj9nLmZpbHRlcihhLGYpOmF9LHNwZWNpYWw6e2xvYWQ6e25vQnViYmxlOiEwfSxmb2N1czp7dHJpZ2dlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzIT09XygpJiZ0aGlzLmZvY3VzPyh0aGlzLmZvY3VzKCksITEpOnZvaWQgMH0sZGVsZWdhdGVUeXBlOiJmb2N1c2luIn0sYmx1cjp7dHJpZ2dlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzPT09XygpJiZ0aGlzLmJsdXI/KHRoaXMuYmx1cigpLCExKTp2b2lkIDB9LGRlbGVnYXRlVHlwZToiZm9jdXNvdXQifSxjbGljazp7dHJpZ2dlcjpmdW5jdGlvbigpe3JldHVybiJjaGVja2JveCI9PT10aGlzLnR5cGUmJnRoaXMuY2xpY2smJm8ubm9kZU5hbWUodGhpcywiaW5wdXQiKT8odGhpcy5jbGljaygpLCExKTp2b2lkIDB9LF9kZWZhdWx0OmZ1bmN0aW9uKGEpe3JldHVybiBvLm5vZGVOYW1lKGEudGFyZ2V0LCJhIil9fSxiZWZvcmV1bmxvYWQ6e3Bvc3REaXNwYXRjaDpmdW5jdGlvbihhKXt2b2lkIDAhPT1hLnJlc3VsdCYmKGEub3JpZ2luYWxFdmVudC5yZXR1cm5WYWx1ZT1hLnJlc3VsdCl9fX0sc2ltdWxhdGU6ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9by5leHRlbmQobmV3IG8uRXZlbnQsYyx7dHlwZTphLGlzU2ltdWxhdGVkOiEwLG9yaWdpbmFsRXZlbnQ6e319KTtkP28uZXZlbnQudHJpZ2dlcihlLG51bGwsYik6by5ldmVudC5kaXNwYXRjaC5jYWxsKGIsZSksZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmYy5wcmV2ZW50RGVmYXVsdCgpfX0sby5yZW1vdmVFdmVudD1mdW5jdGlvbihhLGIsYyl7YS5yZW1vdmVFdmVudExpc3RlbmVyJiZhLnJlbW92ZUV2ZW50TGlzdGVuZXIoYixjLCExKX0sby5FdmVudD1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzIGluc3RhbmNlb2Ygby5FdmVudD8oYSYmYS50eXBlPyh0aGlzLm9yaWdpbmFsRXZlbnQ9YSx0aGlzLnR5cGU9YS50eXBlLHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPWEuZGVmYXVsdFByZXZlbnRlZHx8dm9pZCAwPT09YS5kZWZhdWx0UHJldmVudGVkJiZhLmdldFByZXZlbnREZWZhdWx0JiZhLmdldFByZXZlbnREZWZhdWx0KCk/WjokKTp0aGlzLnR5cGU9YSxiJiZvLmV4dGVuZCh0aGlzLGIpLHRoaXMudGltZVN0YW1wPWEmJmEudGltZVN0YW1wfHxvLm5vdygpLHZvaWQodGhpc1tvLmV4cGFuZG9dPSEwKSk6bmV3IG8uRXZlbnQoYSxiKX0sby5FdmVudC5wcm90b3R5cGU9e2lzRGVmYXVsdFByZXZlbnRlZDokLGlzUHJvcGFnYXRpb25TdG9wcGVkOiQsaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ6JCxwcmV2ZW50RGVmYXVsdDpmdW5jdGlvbigpe3ZhciBhPXRoaXMub3JpZ2luYWxFdmVudDt0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1aLGEmJmEucHJldmVudERlZmF1bHQmJmEucHJldmVudERlZmF1bHQoKX0sc3RvcFByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9WixhJiZhLnN0b3BQcm9wYWdhdGlvbiYmYS5zdG9wUHJvcGFnYXRpb24oKX0sc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dGhpcy5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZD1aLHRoaXMuc3RvcFByb3BhZ2F0aW9uKCl9fSxvLmVhY2goe21vdXNlZW50ZXI6Im1vdXNlb3ZlciIsbW91c2VsZWF2ZToibW91c2VvdXQifSxmdW5jdGlvbihhLGIpe28uZXZlbnQuc3BlY2lhbFthXT17ZGVsZWdhdGVUeXBlOmIsYmluZFR5cGU6YixoYW5kbGU6ZnVuY3Rpb24oYSl7dmFyIGMsZD10aGlzLGU9YS5yZWxhdGVkVGFyZ2V0LGY9YS5oYW5kbGVPYmo7cmV0dXJuKCFlfHxlIT09ZCYmIW8uY29udGFpbnMoZCxlKSkmJihhLnR5cGU9Zi5vcmlnVHlwZSxjPWYuaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyksYS50eXBlPWIpLGN9fX0pLGwuZm9jdXNpbkJ1YmJsZXN8fG8uZWFjaCh7Zm9jdXM6ImZvY3VzaW4iLGJsdXI6ImZvY3Vzb3V0In0sZnVuY3Rpb24oYSxiKXt2YXIgYz1mdW5jdGlvbihhKXtvLmV2ZW50LnNpbXVsYXRlKGIsYS50YXJnZXQsby5ldmVudC5maXgoYSksITApfTtvLmV2ZW50LnNwZWNpYWxbYl09e3NldHVwOmZ1bmN0aW9uKCl7dmFyIGQ9dGhpcy5vd25lckRvY3VtZW50fHx0aGlzLGU9TC5hY2Nlc3MoZCxiKTtlfHxkLmFkZEV2ZW50TGlzdGVuZXIoYSxjLCEwKSxMLmFjY2VzcyhkLGIsKGV8fDApKzEpfSx0ZWFyZG93bjpmdW5jdGlvbigpe3ZhciBkPXRoaXMub3duZXJEb2N1bWVudHx8dGhpcyxlPUwuYWNjZXNzKGQsYiktMTtlP0wuYWNjZXNzKGQsYixlKTooZC5yZW1vdmVFdmVudExpc3RlbmVyKGEsYywhMCksTC5yZW1vdmUoZCxiKSl9fX0pLG8uZm4uZXh0ZW5kKHtvbjpmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmLGc7aWYoIm9iamVjdCI9PXR5cGVvZiBhKXsic3RyaW5nIiE9dHlwZW9mIGImJihjPWN8fGIsYj12b2lkIDApO2ZvcihnIGluIGEpdGhpcy5vbihnLGIsYyxhW2ddLGUpO3JldHVybiB0aGlzfWlmKG51bGw9PWMmJm51bGw9PWQ/KGQ9YixjPWI9dm9pZCAwKTpudWxsPT1kJiYoInN0cmluZyI9PXR5cGVvZiBiPyhkPWMsYz12b2lkIDApOihkPWMsYz1iLGI9dm9pZCAwKSksZD09PSExKWQ9JDtlbHNlIGlmKCFkKXJldHVybiB0aGlzO3JldHVybiAxPT09ZSYmKGY9ZCxkPWZ1bmN0aW9uKGEpe3JldHVybiBvKCkub2ZmKGEpLGYuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxkLmd1aWQ9Zi5ndWlkfHwoZi5ndWlkPW8uZ3VpZCsrKSksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7by5ldmVudC5hZGQodGhpcyxhLGQsYyxiKX0pfSxvbmU6ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIHRoaXMub24oYSxiLGMsZCwxKX0sb2ZmOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlO2lmKGEmJmEucHJldmVudERlZmF1bHQmJmEuaGFuZGxlT2JqKXJldHVybiBkPWEuaGFuZGxlT2JqLG8oYS5kZWxlZ2F0ZVRhcmdldCkub2ZmKGQubmFtZXNwYWNlP2Qub3JpZ1R5cGUrIi4iK2QubmFtZXNwYWNlOmQub3JpZ1R5cGUsZC5zZWxlY3RvcixkLmhhbmRsZXIpLHRoaXM7aWYoIm9iamVjdCI9PXR5cGVvZiBhKXtmb3IoZSBpbiBhKXRoaXMub2ZmKGUsYixhW2VdKTtyZXR1cm4gdGhpc31yZXR1cm4oYj09PSExfHwiZnVuY3Rpb24iPT10eXBlb2YgYikmJihjPWIsYj12b2lkIDApLGM9PT0hMSYmKGM9JCksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7by5ldmVudC5yZW1vdmUodGhpcyxhLGMsYil9KX0sdHJpZ2dlcjpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtvLmV2ZW50LnRyaWdnZXIoYSxiLHRoaXMpfSl9LHRyaWdnZXJIYW5kbGVyOmZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpc1swXTtyZXR1cm4gYz9vLmV2ZW50LnRyaWdnZXIoYSxiLGMsITApOnZvaWQgMH19KTt2YXIgYWI9LzwoPyFhcmVhfGJyfGNvbHxlbWJlZHxocnxpbWd8aW5wdXR8bGlua3xtZXRhfHBhcmFtKSgoW1x3Ol0rKVtePl0qKVwvPi9naSxiYj0vPChbXHc6XSspLyxjYj0vPHwmIz9cdys7LyxkYj0vPCg/OnNjcmlwdHxzdHlsZXxsaW5rKS9pLGViPS9jaGVja2VkXHMqKD86W149XXw9XHMqLmNoZWNrZWQuKS9pLGZiPS9eJHxcLyg/OmphdmF8ZWNtYSlzY3JpcHQvaSxnYj0vXnRydWVcLyguKikvLGhiPS9eXHMqPCEoPzpcW0NEQVRBXFt8LS0pfCg/OlxdXF18LS0pPlxzKiQvZyxpYj17b3B0aW9uOlsxLCI8c2VsZWN0IG11bHRpcGxlPSdtdWx0aXBsZSc+IiwiPC9zZWxlY3Q+Il0sdGhlYWQ6WzEsIjx0YWJsZT4iLCI8L3RhYmxlPiJdLGNvbDpbMiwiPHRhYmxlPjxjb2xncm91cD4iLCI8L2NvbGdyb3VwPjwvdGFibGU+Il0sdHI6WzIsIjx0YWJsZT48dGJvZHk+IiwiPC90Ym9keT48L3RhYmxlPiJdLHRkOlszLCI8dGFibGU+PHRib2R5Pjx0cj4iLCI8L3RyPjwvdGJvZHk+PC90YWJsZT4iXSxfZGVmYXVsdDpbMCwiIiwiIl19O2liLm9wdGdyb3VwPWliLm9wdGlvbixpYi50Ym9keT1pYi50Zm9vdD1pYi5jb2xncm91cD1pYi5jYXB0aW9uPWliLnRoZWFkLGliLnRoPWliLnRkO2Z1bmN0aW9uIGpiKGEsYil7cmV0dXJuIG8ubm9kZU5hbWUoYSwidGFibGUiKSYmby5ub2RlTmFtZSgxMSE9PWIubm9kZVR5cGU/YjpiLmZpcnN0Q2hpbGQsInRyIik/YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGJvZHkiKVswXXx8YS5hcHBlbmRDaGlsZChhLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGJvZHkiKSk6YX1mdW5jdGlvbiBrYihhKXtyZXR1cm4gYS50eXBlPShudWxsIT09YS5nZXRBdHRyaWJ1dGUoInR5cGUiKSkrIi8iK2EudHlwZSxhfWZ1bmN0aW9uIGxiKGEpe3ZhciBiPWdiLmV4ZWMoYS50eXBlKTtyZXR1cm4gYj9hLnR5cGU9YlsxXTphLnJlbW92ZUF0dHJpYnV0ZSgidHlwZSIpLGF9ZnVuY3Rpb24gbWIoYSxiKXtmb3IodmFyIGM9MCxkPWEubGVuZ3RoO2Q+YztjKyspTC5zZXQoYVtjXSwiZ2xvYmFsRXZhbCIsIWJ8fEwuZ2V0KGJbY10sImdsb2JhbEV2YWwiKSl9ZnVuY3Rpb24gbmIoYSxiKXt2YXIgYyxkLGUsZixnLGgsaSxqO2lmKDE9PT1iLm5vZGVUeXBlKXtpZihMLmhhc0RhdGEoYSkmJihmPUwuYWNjZXNzKGEpLGc9TC5zZXQoYixmKSxqPWYuZXZlbnRzKSl7ZGVsZXRlIGcuaGFuZGxlLGcuZXZlbnRzPXt9O2ZvcihlIGluIGopZm9yKGM9MCxkPWpbZV0ubGVuZ3RoO2Q+YztjKyspby5ldmVudC5hZGQoYixlLGpbZV1bY10pfU0uaGFzRGF0YShhKSYmKGg9TS5hY2Nlc3MoYSksaT1vLmV4dGVuZCh7fSxoKSxNLnNldChiLGkpKX19ZnVuY3Rpb24gb2IoYSxiKXt2YXIgYz1hLmdldEVsZW1lbnRzQnlUYWdOYW1lP2EuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYnx8IioiKTphLnF1ZXJ5U2VsZWN0b3JBbGw/YS5xdWVyeVNlbGVjdG9yQWxsKGJ8fCIqIik6W107cmV0dXJuIHZvaWQgMD09PWJ8fGImJm8ubm9kZU5hbWUoYSxiKT9vLm1lcmdlKFthXSxjKTpjfWZ1bmN0aW9uIHBiKGEsYil7dmFyIGM9Yi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpOyJpbnB1dCI9PT1jJiZULnRlc3QoYS50eXBlKT9iLmNoZWNrZWQ9YS5jaGVja2VkOigiaW5wdXQiPT09Y3x8InRleHRhcmVhIj09PWMpJiYoYi5kZWZhdWx0VmFsdWU9YS5kZWZhdWx0VmFsdWUpfW8uZXh0ZW5kKHtjbG9uZTpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmLGcsaD1hLmNsb25lTm9kZSghMCksaT1vLmNvbnRhaW5zKGEub3duZXJEb2N1bWVudCxhKTtpZighKGwubm9DbG9uZUNoZWNrZWR8fDEhPT1hLm5vZGVUeXBlJiYxMSE9PWEubm9kZVR5cGV8fG8uaXNYTUxEb2MoYSkpKWZvcihnPW9iKGgpLGY9b2IoYSksZD0wLGU9Zi5sZW5ndGg7ZT5kO2QrKylwYihmW2RdLGdbZF0pO2lmKGIpaWYoYylmb3IoZj1mfHxvYihhKSxnPWd8fG9iKGgpLGQ9MCxlPWYubGVuZ3RoO2U+ZDtkKyspbmIoZltkXSxnW2RdKTtlbHNlIG5iKGEsaCk7cmV0dXJuIGc9b2IoaCwic2NyaXB0IiksZy5sZW5ndGg+MCYmbWIoZywhaSYmb2IoYSwic2NyaXB0IikpLGh9LGJ1aWxkRnJhZ21lbnQ6ZnVuY3Rpb24oYSxiLGMsZCl7Zm9yKHZhciBlLGYsZyxoLGksaixrPWIuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLGw9W10sbT0wLG49YS5sZW5ndGg7bj5tO20rKylpZihlPWFbbV0sZXx8MD09PWUpaWYoIm9iamVjdCI9PT1vLnR5cGUoZSkpby5tZXJnZShsLGUubm9kZVR5cGU/W2VdOmUpO2Vsc2UgaWYoY2IudGVzdChlKSl7Zj1mfHxrLmFwcGVuZENoaWxkKGIuY3JlYXRlRWxlbWVudCgiZGl2IikpLGc9KGJiLmV4ZWMoZSl8fFsiIiwiIl0pWzFdLnRvTG93ZXJDYXNlKCksaD1pYltnXXx8aWIuX2RlZmF1bHQsZi5pbm5lckhUTUw9aFsxXStlLnJlcGxhY2UoYWIsIjwkMT48LyQyPiIpK2hbMl0saj1oWzBdO3doaWxlKGotLSlmPWYubGFzdENoaWxkO28ubWVyZ2UobCxmLmNoaWxkTm9kZXMpLGY9ay5maXJzdENoaWxkLGYudGV4dENvbnRlbnQ9IiJ9ZWxzZSBsLnB1c2goYi5jcmVhdGVUZXh0Tm9kZShlKSk7ay50ZXh0Q29udGVudD0iIixtPTA7d2hpbGUoZT1sW20rK10paWYoKCFkfHwtMT09PW8uaW5BcnJheShlLGQpKSYmKGk9by5jb250YWlucyhlLm93bmVyRG9jdW1lbnQsZSksZj1vYihrLmFwcGVuZENoaWxkKGUpLCJzY3JpcHQiKSxpJiZtYihmKSxjKSl7aj0wO3doaWxlKGU9ZltqKytdKWZiLnRlc3QoZS50eXBlfHwiIikmJmMucHVzaChlKX1yZXR1cm4ga30sY2xlYW5EYXRhOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYixjLGQsZSxmLGcsaD1vLmV2ZW50LnNwZWNpYWwsaT0wO3ZvaWQgMCE9PShjPWFbaV0pO2krKyl7aWYoby5hY2NlcHREYXRhKGMpJiYoZj1jW0wuZXhwYW5kb10sZiYmKGI9TC5jYWNoZVtmXSkpKXtpZihkPU9iamVjdC5rZXlzKGIuZXZlbnRzfHx7fSksZC5sZW5ndGgpZm9yKGc9MDt2b2lkIDAhPT0oZT1kW2ddKTtnKyspaFtlXT9vLmV2ZW50LnJlbW92ZShjLGUpOm8ucmVtb3ZlRXZlbnQoYyxlLGIuaGFuZGxlKTtMLmNhY2hlW2ZdJiZkZWxldGUgTC5jYWNoZVtmXX1kZWxldGUgTS5jYWNoZVtjW00uZXhwYW5kb11dfX19KSxvLmZuLmV4dGVuZCh7dGV4dDpmdW5jdGlvbihhKXtyZXR1cm4gSih0aGlzLGZ1bmN0aW9uKGEpe3JldHVybiB2b2lkIDA9PT1hP28udGV4dCh0aGlzKTp0aGlzLmVtcHR5KCkuZWFjaChmdW5jdGlvbigpeygxPT09dGhpcy5ub2RlVHlwZXx8MTE9PT10aGlzLm5vZGVUeXBlfHw5PT09dGhpcy5ub2RlVHlwZSkmJih0aGlzLnRleHRDb250ZW50PWEpfSl9LG51bGwsYSxhcmd1bWVudHMubGVuZ3RoKX0sYXBwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLGZ1bmN0aW9uKGEpe2lmKDE9PT10aGlzLm5vZGVUeXBlfHwxMT09PXRoaXMubm9kZVR5cGV8fDk9PT10aGlzLm5vZGVUeXBlKXt2YXIgYj1qYih0aGlzLGEpO2IuYXBwZW5kQ2hpbGQoYSl9fSl9LHByZXBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYSl7aWYoMT09PXRoaXMubm9kZVR5cGV8fDExPT09dGhpcy5ub2RlVHlwZXx8OT09PXRoaXMubm9kZVR5cGUpe3ZhciBiPWpiKHRoaXMsYSk7Yi5pbnNlcnRCZWZvcmUoYSxiLmZpcnN0Q2hpbGQpfX0pfSxiZWZvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsdGhpcyl9KX0sYWZ0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsdGhpcy5uZXh0U2libGluZyl9KX0scmVtb3ZlOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjLGQ9YT9vLmZpbHRlcihhLHRoaXMpOnRoaXMsZT0wO251bGwhPShjPWRbZV0pO2UrKylifHwxIT09Yy5ub2RlVHlwZXx8by5jbGVhbkRhdGEob2IoYykpLGMucGFyZW50Tm9kZSYmKGImJm8uY29udGFpbnMoYy5vd25lckRvY3VtZW50LGMpJiZtYihvYihjLCJzY3JpcHQiKSksYy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGMpKTtyZXR1cm4gdGhpc30sZW1wdHk6ZnVuY3Rpb24oKXtmb3IodmFyIGEsYj0wO251bGwhPShhPXRoaXNbYl0pO2IrKykxPT09YS5ub2RlVHlwZSYmKG8uY2xlYW5EYXRhKG9iKGEsITEpKSxhLnRleHRDb250ZW50PSIiKTtyZXR1cm4gdGhpc30sY2xvbmU6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT1udWxsPT1hPyExOmEsYj1udWxsPT1iP2E6Yix0aGlzLm1hcChmdW5jdGlvbigpe3JldHVybiBvLmNsb25lKHRoaXMsYSxiKX0pfSxodG1sOmZ1bmN0aW9uKGEpe3JldHVybiBKKHRoaXMsZnVuY3Rpb24oYSl7dmFyIGI9dGhpc1swXXx8e30sYz0wLGQ9dGhpcy5sZW5ndGg7aWYodm9pZCAwPT09YSYmMT09PWIubm9kZVR5cGUpcmV0dXJuIGIuaW5uZXJIVE1MO2lmKCJzdHJpbmciPT10eXBlb2YgYSYmIWRiLnRlc3QoYSkmJiFpYlsoYmIuZXhlYyhhKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKV0pe2E9YS5yZXBsYWNlKGFiLCI8JDE+PC8kMj4iKTt0cnl7Zm9yKDtkPmM7YysrKWI9dGhpc1tjXXx8e30sMT09PWIubm9kZVR5cGUmJihvLmNsZWFuRGF0YShvYihiLCExKSksYi5pbm5lckhUTUw9YSk7Yj0wfWNhdGNoKGUpe319YiYmdGhpcy5lbXB0eSgpLmFwcGVuZChhKX0sbnVsbCxhLGFyZ3VtZW50cy5sZW5ndGgpfSxyZXBsYWNlV2l0aDpmdW5jdGlvbigpe3ZhciBhPWFyZ3VtZW50c1swXTtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYil7YT10aGlzLnBhcmVudE5vZGUsby5jbGVhbkRhdGEob2IodGhpcykpLGEmJmEucmVwbGFjZUNoaWxkKGIsdGhpcyl9KSxhJiYoYS5sZW5ndGh8fGEubm9kZVR5cGUpP3RoaXM6dGhpcy5yZW1vdmUoKX0sZGV0YWNoOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnJlbW92ZShhLCEwKX0sZG9tTWFuaXA6ZnVuY3Rpb24oYSxiKXthPWUuYXBwbHkoW10sYSk7dmFyIGMsZCxmLGcsaCxpLGo9MCxrPXRoaXMubGVuZ3RoLG09dGhpcyxuPWstMSxwPWFbMF0scT1vLmlzRnVuY3Rpb24ocCk7aWYocXx8az4xJiYic3RyaW5nIj09dHlwZW9mIHAmJiFsLmNoZWNrQ2xvbmUmJmViLnRlc3QocCkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihjKXt2YXIgZD1tLmVxKGMpO3EmJihhWzBdPXAuY2FsbCh0aGlzLGMsZC5odG1sKCkpKSxkLmRvbU1hbmlwKGEsYil9KTtpZihrJiYoYz1vLmJ1aWxkRnJhZ21lbnQoYSx0aGlzWzBdLm93bmVyRG9jdW1lbnQsITEsdGhpcyksZD1jLmZpcnN0Q2hpbGQsMT09PWMuY2hpbGROb2Rlcy5sZW5ndGgmJihjPWQpLGQpKXtmb3IoZj1vLm1hcChvYihjLCJzY3JpcHQiKSxrYiksZz1mLmxlbmd0aDtrPmo7aisrKWg9YyxqIT09biYmKGg9by5jbG9uZShoLCEwLCEwKSxnJiZvLm1lcmdlKGYsb2IoaCwic2NyaXB0IikpKSxiLmNhbGwodGhpc1tqXSxoLGopO2lmKGcpZm9yKGk9ZltmLmxlbmd0aC0xXS5vd25lckRvY3VtZW50LG8ubWFwKGYsbGIpLGo9MDtnPmo7aisrKWg9ZltqXSxmYi50ZXN0KGgudHlwZXx8IiIpJiYhTC5hY2Nlc3MoaCwiZ2xvYmFsRXZhbCIpJiZvLmNvbnRhaW5zKGksaCkmJihoLnNyYz9vLl9ldmFsVXJsJiZvLl9ldmFsVXJsKGguc3JjKTpvLmdsb2JhbEV2YWwoaC50ZXh0Q29udGVudC5yZXBsYWNlKGhiLCIiKSkpfXJldHVybiB0aGlzfX0pLG8uZWFjaCh7YXBwZW5kVG86ImFwcGVuZCIscHJlcGVuZFRvOiJwcmVwZW5kIixpbnNlcnRCZWZvcmU6ImJlZm9yZSIsaW5zZXJ0QWZ0ZXI6ImFmdGVyIixyZXBsYWNlQWxsOiJyZXBsYWNlV2l0aCJ9LGZ1bmN0aW9uKGEsYil7by5mblthXT1mdW5jdGlvbihhKXtmb3IodmFyIGMsZD1bXSxlPW8oYSksZz1lLmxlbmd0aC0xLGg9MDtnPj1oO2grKyljPWg9PT1nP3RoaXM6dGhpcy5jbG9uZSghMCksbyhlW2hdKVtiXShjKSxmLmFwcGx5KGQsYy5nZXQoKSk7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGQpfX0pO3ZhciBxYixyYj17fTtmdW5jdGlvbiBzYihiLGMpe3ZhciBkPW8oYy5jcmVhdGVFbGVtZW50KGIpKS5hcHBlbmRUbyhjLmJvZHkpLGU9YS5nZXREZWZhdWx0Q29tcHV0ZWRTdHlsZT9hLmdldERlZmF1bHRDb21wdXRlZFN0eWxlKGRbMF0pLmRpc3BsYXk6by5jc3MoZFswXSwiZGlzcGxheSIpO3JldHVybiBkLmRldGFjaCgpLGV9ZnVuY3Rpb24gdGIoYSl7dmFyIGI9bSxjPXJiW2FdO3JldHVybiBjfHwoYz1zYihhLGIpLCJub25lIiE9PWMmJmN8fChxYj0ocWJ8fG8oIjxpZnJhbWUgZnJhbWVib3JkZXI9JzAnIHdpZHRoPScwJyBoZWlnaHQ9JzAnLz4iKSkuYXBwZW5kVG8oYi5kb2N1bWVudEVsZW1lbnQpLGI9cWJbMF0uY29udGVudERvY3VtZW50LGIud3JpdGUoKSxiLmNsb3NlKCksYz1zYihhLGIpLHFiLmRldGFjaCgpKSxyYlthXT1jKSxjfXZhciB1Yj0vXm1hcmdpbi8sdmI9bmV3IFJlZ0V4cCgiXigiK1ErIikoPyFweClbYS16JV0rJCIsImkiKSx3Yj1mdW5jdGlvbihhKXtyZXR1cm4gYS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUoYSxudWxsKX07ZnVuY3Rpb24geGIoYSxiLGMpe3ZhciBkLGUsZixnLGg9YS5zdHlsZTtyZXR1cm4gYz1jfHx3YihhKSxjJiYoZz1jLmdldFByb3BlcnR5VmFsdWUoYil8fGNbYl0pLGMmJigiIiE9PWd8fG8uY29udGFpbnMoYS5vd25lckRvY3VtZW50LGEpfHwoZz1vLnN0eWxlKGEsYikpLHZiLnRlc3QoZykmJnViLnRlc3QoYikmJihkPWgud2lkdGgsZT1oLm1pbldpZHRoLGY9aC5tYXhXaWR0aCxoLm1pbldpZHRoPWgubWF4V2lkdGg9aC53aWR0aD1nLGc9Yy53aWR0aCxoLndpZHRoPWQsaC5taW5XaWR0aD1lLGgubWF4V2lkdGg9ZikpLHZvaWQgMCE9PWc/ZysiIjpnfWZ1bmN0aW9uIHliKGEsYil7cmV0dXJue2dldDpmdW5jdGlvbigpe3JldHVybiBhKCk/dm9pZCBkZWxldGUgdGhpcy5nZXQ6KHRoaXMuZ2V0PWIpLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19fSFmdW5jdGlvbigpe3ZhciBiLGMsZD0icGFkZGluZzowO21hcmdpbjowO2JvcmRlcjowO2Rpc3BsYXk6YmxvY2s7LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94Oy1tb3otYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94IixlPW0uZG9jdW1lbnRFbGVtZW50LGY9bS5jcmVhdGVFbGVtZW50KCJkaXYiKSxnPW0uY3JlYXRlRWxlbWVudCgiZGl2Iik7Zy5zdHlsZS5iYWNrZ3JvdW5kQ2xpcD0iY29udGVudC1ib3giLGcuY2xvbmVOb2RlKCEwKS5zdHlsZS5iYWNrZ3JvdW5kQ2xpcD0iIixsLmNsZWFyQ2xvbmVTdHlsZT0iY29udGVudC1ib3giPT09Zy5zdHlsZS5iYWNrZ3JvdW5kQ2xpcCxmLnN0eWxlLmNzc1RleHQ9ImJvcmRlcjowO3dpZHRoOjA7aGVpZ2h0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDotOTk5OXB4O21hcmdpbi10b3A6MXB4IixmLmFwcGVuZENoaWxkKGcpO2Z1bmN0aW9uIGgoKXtnLnN0eWxlLmNzc1RleHQ9Ii13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjFweDtib3JkZXI6MXB4O2Rpc3BsYXk6YmxvY2s7d2lkdGg6NHB4O21hcmdpbi10b3A6MSU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjElIixlLmFwcGVuZENoaWxkKGYpO3ZhciBkPWEuZ2V0Q29tcHV0ZWRTdHlsZShnLG51bGwpO2I9IjElIiE9PWQudG9wLGM9IjRweCI9PT1kLndpZHRoLGUucmVtb3ZlQ2hpbGQoZil9YS5nZXRDb21wdXRlZFN0eWxlJiZvLmV4dGVuZChsLHtwaXhlbFBvc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIGgoKSxifSxib3hTaXppbmdSZWxpYWJsZTpmdW5jdGlvbigpe3JldHVybiBudWxsPT1jJiZoKCksY30scmVsaWFibGVNYXJnaW5SaWdodDpmdW5jdGlvbigpe3ZhciBiLGM9Zy5hcHBlbmRDaGlsZChtLmNyZWF0ZUVsZW1lbnQoImRpdiIpKTtyZXR1cm4gYy5zdHlsZS5jc3NUZXh0PWcuc3R5bGUuY3NzVGV4dD1kLGMuc3R5bGUubWFyZ2luUmlnaHQ9Yy5zdHlsZS53aWR0aD0iMCIsZy5zdHlsZS53aWR0aD0iMXB4IixlLmFwcGVuZENoaWxkKGYpLGI9IXBhcnNlRmxvYXQoYS5nZXRDb21wdXRlZFN0eWxlKGMsbnVsbCkubWFyZ2luUmlnaHQpLGUucmVtb3ZlQ2hpbGQoZiksZy5pbm5lckhUTUw9IiIsYn19KX0oKSxvLnN3YXA9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixnPXt9O2ZvcihmIGluIGIpZ1tmXT1hLnN0eWxlW2ZdLGEuc3R5bGVbZl09YltmXTtlPWMuYXBwbHkoYSxkfHxbXSk7Zm9yKGYgaW4gYilhLnN0eWxlW2ZdPWdbZl07cmV0dXJuIGV9O3ZhciB6Yj0vXihub25lfHRhYmxlKD8hLWNbZWFdKS4rKS8sQWI9bmV3IFJlZ0V4cCgiXigiK1ErIikoLiopJCIsImkiKSxCYj1uZXcgUmVnRXhwKCJeKFsrLV0pPSgiK1ErIikiLCJpIiksQ2I9e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdmlzaWJpbGl0eToiaGlkZGVuIixkaXNwbGF5OiJibG9jayJ9LERiPXtsZXR0ZXJTcGFjaW5nOjAsZm9udFdlaWdodDo0MDB9LEViPVsiV2Via2l0IiwiTyIsIk1veiIsIm1zIl07ZnVuY3Rpb24gRmIoYSxiKXtpZihiIGluIGEpcmV0dXJuIGI7dmFyIGM9YlswXS50b1VwcGVyQ2FzZSgpK2Iuc2xpY2UoMSksZD1iLGU9RWIubGVuZ3RoO3doaWxlKGUtLSlpZihiPUViW2VdK2MsYiBpbiBhKXJldHVybiBiO3JldHVybiBkfWZ1bmN0aW9uIEdiKGEsYixjKXt2YXIgZD1BYi5leGVjKGIpO3JldHVybiBkP01hdGgubWF4KDAsZFsxXS0oY3x8MCkpKyhkWzJdfHwicHgiKTpifWZ1bmN0aW9uIEhiKGEsYixjLGQsZSl7Zm9yKHZhciBmPWM9PT0oZD8iYm9yZGVyIjoiY29udGVudCIpPzQ6IndpZHRoIj09PWI/MTowLGc9MDs0PmY7Zis9MikibWFyZ2luIj09PWMmJihnKz1vLmNzcyhhLGMrUltmXSwhMCxlKSksZD8oImNvbnRlbnQiPT09YyYmKGctPW8uY3NzKGEsInBhZGRpbmciK1JbZl0sITAsZSkpLCJtYXJnaW4iIT09YyYmKGctPW8uY3NzKGEsImJvcmRlciIrUltmXSsiV2lkdGgiLCEwLGUpKSk6KGcrPW8uY3NzKGEsInBhZGRpbmciK1JbZl0sITAsZSksInBhZGRpbmciIT09YyYmKGcrPW8uY3NzKGEsImJvcmRlciIrUltmXSsiV2lkdGgiLCEwLGUpKSk7cmV0dXJuIGd9ZnVuY3Rpb24gSWIoYSxiLGMpe3ZhciBkPSEwLGU9IndpZHRoIj09PWI/YS5vZmZzZXRXaWR0aDphLm9mZnNldEhlaWdodCxmPXdiKGEpLGc9ImJvcmRlci1ib3giPT09by5jc3MoYSwiYm94U2l6aW5nIiwhMSxmKTtpZigwPj1lfHxudWxsPT1lKXtpZihlPXhiKGEsYixmKSwoMD5lfHxudWxsPT1lKSYmKGU9YS5zdHlsZVtiXSksdmIudGVzdChlKSlyZXR1cm4gZTtkPWcmJihsLmJveFNpemluZ1JlbGlhYmxlKCl8fGU9PT1hLnN0eWxlW2JdKSxlPXBhcnNlRmxvYXQoZSl8fDB9cmV0dXJuIGUrSGIoYSxiLGN8fChnPyJib3JkZXIiOiJjb250ZW50IiksZCxmKSsicHgifWZ1bmN0aW9uIEpiKGEsYil7Zm9yKHZhciBjLGQsZSxmPVtdLGc9MCxoPWEubGVuZ3RoO2g+ZztnKyspZD1hW2ddLGQuc3R5bGUmJihmW2ddPUwuZ2V0KGQsIm9sZGRpc3BsYXkiKSxjPWQuc3R5bGUuZGlzcGxheSxiPyhmW2ddfHwibm9uZSIhPT1jfHwoZC5zdHlsZS5kaXNwbGF5PSIiKSwiIj09PWQuc3R5bGUuZGlzcGxheSYmUyhkKSYmKGZbZ109TC5hY2Nlc3MoZCwib2xkZGlzcGxheSIsdGIoZC5ub2RlTmFtZSkpKSk6ZltnXXx8KGU9UyhkKSwoYyYmIm5vbmUiIT09Y3x8IWUpJiZMLnNldChkLCJvbGRkaXNwbGF5IixlP2M6by5jc3MoZCwiZGlzcGxheSIpKSkpO2ZvcihnPTA7aD5nO2crKylkPWFbZ10sZC5zdHlsZSYmKGImJiJub25lIiE9PWQuc3R5bGUuZGlzcGxheSYmIiIhPT1kLnN0eWxlLmRpc3BsYXl8fChkLnN0eWxlLmRpc3BsYXk9Yj9mW2ddfHwiIjoibm9uZSIpKTtyZXR1cm4gYX1vLmV4dGVuZCh7Y3NzSG9va3M6e29wYWNpdHk6e2dldDpmdW5jdGlvbihhLGIpe2lmKGIpe3ZhciBjPXhiKGEsIm9wYWNpdHkiKTtyZXR1cm4iIj09PWM/IjEiOmN9fX19LGNzc051bWJlcjp7Y29sdW1uQ291bnQ6ITAsZmlsbE9wYWNpdHk6ITAsZm9udFdlaWdodDohMCxsaW5lSGVpZ2h0OiEwLG9wYWNpdHk6ITAsb3JkZXI6ITAsb3JwaGFuczohMCx3aWRvd3M6ITAsekluZGV4OiEwLHpvb206ITB9LGNzc1Byb3BzOnsiZmxvYXQiOiJjc3NGbG9hdCJ9LHN0eWxlOmZ1bmN0aW9uKGEsYixjLGQpe2lmKGEmJjMhPT1hLm5vZGVUeXBlJiY4IT09YS5ub2RlVHlwZSYmYS5zdHlsZSl7dmFyIGUsZixnLGg9by5jYW1lbENhc2UoYiksaT1hLnN0eWxlO3JldHVybiBiPW8uY3NzUHJvcHNbaF18fChvLmNzc1Byb3BzW2hdPUZiKGksaCkpLGc9by5jc3NIb29rc1tiXXx8by5jc3NIb29rc1toXSx2b2lkIDA9PT1jP2cmJiJnZXQiaW4gZyYmdm9pZCAwIT09KGU9Zy5nZXQoYSwhMSxkKSk/ZTppW2JdOihmPXR5cGVvZiBjLCJzdHJpbmciPT09ZiYmKGU9QmIuZXhlYyhjKSkmJihjPShlWzFdKzEpKmVbMl0rcGFyc2VGbG9hdChvLmNzcyhhLGIpKSxmPSJudW1iZXIiKSxudWxsIT1jJiZjPT09YyYmKCJudW1iZXIiIT09Znx8by5jc3NOdW1iZXJbaF18fChjKz0icHgiKSxsLmNsZWFyQ2xvbmVTdHlsZXx8IiIhPT1jfHwwIT09Yi5pbmRleE9mKCJiYWNrZ3JvdW5kIil8fChpW2JdPSJpbmhlcml0IiksZyYmInNldCJpbiBnJiZ2b2lkIDA9PT0oYz1nLnNldChhLGMsZCkpfHwoaVtiXT0iIixpW2JdPWMpKSx2b2lkIDApfX0sY3NzOmZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlLGYsZyxoPW8uY2FtZWxDYXNlKGIpO3JldHVybiBiPW8uY3NzUHJvcHNbaF18fChvLmNzc1Byb3BzW2hdPUZiKGEuc3R5bGUsaCkpLGc9by5jc3NIb29rc1tiXXx8by5jc3NIb29rc1toXSxnJiYiZ2V0ImluIGcmJihlPWcuZ2V0KGEsITAsYykpLHZvaWQgMD09PWUmJihlPXhiKGEsYixkKSksIm5vcm1hbCI9PT1lJiZiIGluIERiJiYoZT1EYltiXSksIiI9PT1jfHxjPyhmPXBhcnNlRmxvYXQoZSksYz09PSEwfHxvLmlzTnVtZXJpYyhmKT9mfHwwOmUpOmV9fSksby5lYWNoKFsiaGVpZ2h0Iiwid2lkdGgiXSxmdW5jdGlvbihhLGIpe28uY3NzSG9va3NbYl09e2dldDpmdW5jdGlvbihhLGMsZCl7cmV0dXJuIGM/MD09PWEub2Zmc2V0V2lkdGgmJnpiLnRlc3Qoby5jc3MoYSwiZGlzcGxheSIpKT9vLnN3YXAoYSxDYixmdW5jdGlvbigpe3JldHVybiBJYihhLGIsZCl9KTpJYihhLGIsZCk6dm9pZCAwfSxzZXQ6ZnVuY3Rpb24oYSxjLGQpe3ZhciBlPWQmJndiKGEpO3JldHVybiBHYihhLGMsZD9IYihhLGIsZCwiYm9yZGVyLWJveCI9PT1vLmNzcyhhLCJib3hTaXppbmciLCExLGUpLGUpOjApfX19KSxvLmNzc0hvb2tzLm1hcmdpblJpZ2h0PXliKGwucmVsaWFibGVNYXJnaW5SaWdodCxmdW5jdGlvbihhLGIpe3JldHVybiBiP28uc3dhcChhLHtkaXNwbGF5OiJpbmxpbmUtYmxvY2sifSx4YixbYSwibWFyZ2luUmlnaHQiXSk6dm9pZCAwfSksby5lYWNoKHttYXJnaW46IiIscGFkZGluZzoiIixib3JkZXI6IldpZHRoIn0sZnVuY3Rpb24oYSxiKXtvLmNzc0hvb2tzW2ErYl09e2V4cGFuZDpmdW5jdGlvbihjKXtmb3IodmFyIGQ9MCxlPXt9LGY9InN0cmluZyI9PXR5cGVvZiBjP2Muc3BsaXQoIiAiKTpbY107ND5kO2QrKyllW2ErUltkXStiXT1mW2RdfHxmW2QtMl18fGZbMF07cmV0dXJuIGV9fSx1Yi50ZXN0KGEpfHwoby5jc3NIb29rc1thK2JdLnNldD1HYil9KSxvLmZuLmV4dGVuZCh7Y3NzOmZ1bmN0aW9uKGEsYil7cmV0dXJuIEoodGhpcyxmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmPXt9LGc9MDtpZihvLmlzQXJyYXkoYikpe2ZvcihkPXdiKGEpLGU9Yi5sZW5ndGg7ZT5nO2crKylmW2JbZ11dPW8uY3NzKGEsYltnXSwhMSxkKTtyZXR1cm4gZn1yZXR1cm4gdm9pZCAwIT09Yz9vLnN0eWxlKGEsYixjKTpvLmNzcyhhLGIpfSxhLGIsYXJndW1lbnRzLmxlbmd0aD4xKX0sc2hvdzpmdW5jdGlvbigpe3JldHVybiBKYih0aGlzLCEwKX0saGlkZTpmdW5jdGlvbigpe3JldHVybiBKYih0aGlzKX0sdG9nZ2xlOmZ1bmN0aW9uKGEpe3JldHVybiJib29sZWFuIj09dHlwZW9mIGE/YT90aGlzLnNob3coKTp0aGlzLmhpZGUoKTp0aGlzLmVhY2goZnVuY3Rpb24oKXtTKHRoaXMpP28odGhpcykuc2hvdygpOm8odGhpcykuaGlkZSgpfSl9fSk7ZnVuY3Rpb24gS2IoYSxiLGMsZCxlKXtyZXR1cm4gbmV3IEtiLnByb3RvdHlwZS5pbml0KGEsYixjLGQsZSl9by5Ud2Vlbj1LYixLYi5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOktiLGluaXQ6ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3RoaXMuZWxlbT1hLHRoaXMucHJvcD1jLHRoaXMuZWFzaW5nPWV8fCJzd2luZyIsdGhpcy5vcHRpb25zPWIsdGhpcy5zdGFydD10aGlzLm5vdz10aGlzLmN1cigpLHRoaXMuZW5kPWQsdGhpcy51bml0PWZ8fChvLmNzc051bWJlcltjXT8iIjoicHgiKX0sY3VyOmZ1bmN0aW9uKCl7dmFyIGE9S2IucHJvcEhvb2tzW3RoaXMucHJvcF07cmV0dXJuIGEmJmEuZ2V0P2EuZ2V0KHRoaXMpOktiLnByb3BIb29rcy5fZGVmYXVsdC5nZXQodGhpcyl9LHJ1bjpmdW5jdGlvbihhKXt2YXIgYixjPUtiLnByb3BIb29rc1t0aGlzLnByb3BdO3JldHVybiB0aGlzLnBvcz1iPXRoaXMub3B0aW9ucy5kdXJhdGlvbj9vLmVhc2luZ1t0aGlzLmVhc2luZ10oYSx0aGlzLm9wdGlvbnMuZHVyYXRpb24qYSwwLDEsdGhpcy5vcHRpb25zLmR1cmF0aW9uKTphLHRoaXMubm93PSh0aGlzLmVuZC10aGlzLnN0YXJ0KSpiK3RoaXMuc3RhcnQsdGhpcy5vcHRpb25zLnN0ZXAmJnRoaXMub3B0aW9ucy5zdGVwLmNhbGwodGhpcy5lbGVtLHRoaXMubm93LHRoaXMpLGMmJmMuc2V0P2Muc2V0KHRoaXMpOktiLnByb3BIb29rcy5fZGVmYXVsdC5zZXQodGhpcyksdGhpc319LEtiLnByb3RvdHlwZS5pbml0LnByb3RvdHlwZT1LYi5wcm90b3R5cGUsS2IucHJvcEhvb2tzPXtfZGVmYXVsdDp7Z2V0OmZ1bmN0aW9uKGEpe3ZhciBiO3JldHVybiBudWxsPT1hLmVsZW1bYS5wcm9wXXx8YS5lbGVtLnN0eWxlJiZudWxsIT1hLmVsZW0uc3R5bGVbYS5wcm9wXT8oYj1vLmNzcyhhLmVsZW0sYS5wcm9wLCIiKSxiJiYiYXV0byIhPT1iP2I6MCk6YS5lbGVtW2EucHJvcF19LHNldDpmdW5jdGlvbihhKXtvLmZ4LnN0ZXBbYS5wcm9wXT9vLmZ4LnN0ZXBbYS5wcm9wXShhKTphLmVsZW0uc3R5bGUmJihudWxsIT1hLmVsZW0uc3R5bGVbby5jc3NQcm9wc1thLnByb3BdXXx8by5jc3NIb29rc1thLnByb3BdKT9vLnN0eWxlKGEuZWxlbSxhLnByb3AsYS5ub3crYS51bml0KTphLmVsZW1bYS5wcm9wXT1hLm5vd319fSxLYi5wcm9wSG9va3Muc2Nyb2xsVG9wPUtiLnByb3BIb29rcy5zY3JvbGxMZWZ0PXtzZXQ6ZnVuY3Rpb24oYSl7YS5lbGVtLm5vZGVUeXBlJiZhLmVsZW0ucGFyZW50Tm9kZSYmKGEuZWxlbVthLnByb3BdPWEubm93KX19LG8uZWFzaW5nPXtsaW5lYXI6ZnVuY3Rpb24oYSl7cmV0dXJuIGF9LHN3aW5nOmZ1bmN0aW9uKGEpe3JldHVybi41LU1hdGguY29zKGEqTWF0aC5QSSkvMn19LG8uZng9S2IucHJvdG90eXBlLmluaXQsby5meC5zdGVwPXt9O3ZhciBMYixNYixOYj0vXig/OnRvZ2dsZXxzaG93fGhpZGUpJC8sT2I9bmV3IFJlZ0V4cCgiXig/OihbKy1dKT18KSgiK1ErIikoW2EteiVdKikkIiwiaSIpLFBiPS9xdWV1ZUhvb2tzJC8sUWI9W1ZiXSxSYj17IioiOltmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuY3JlYXRlVHdlZW4oYSxiKSxkPWMuY3VyKCksZT1PYi5leGVjKGIpLGY9ZSYmZVszXXx8KG8uY3NzTnVtYmVyW2FdPyIiOiJweCIpLGc9KG8uY3NzTnVtYmVyW2FdfHwicHgiIT09ZiYmK2QpJiZPYi5leGVjKG8uY3NzKGMuZWxlbSxhKSksaD0xLGk9MjA7aWYoZyYmZ1szXSE9PWYpe2Y9Znx8Z1szXSxlPWV8fFtdLGc9K2R8fDE7ZG8gaD1ofHwiLjUiLGcvPWgsby5zdHlsZShjLmVsZW0sYSxnK2YpO3doaWxlKGghPT0oaD1jLmN1cigpL2QpJiYxIT09aCYmLS1pKX1yZXR1cm4gZSYmKGc9Yy5zdGFydD0rZ3x8K2R8fDAsYy51bml0PWYsYy5lbmQ9ZVsxXT9nKyhlWzFdKzEpKmVbMl06K2VbMl0pLGN9XX07ZnVuY3Rpb24gU2IoKXtyZXR1cm4gc2V0VGltZW91dChmdW5jdGlvbigpe0xiPXZvaWQgMH0pLExiPW8ubm93KCl9ZnVuY3Rpb24gVGIoYSxiKXt2YXIgYyxkPTAsZT17aGVpZ2h0OmF9O2ZvcihiPWI/MTowOzQ+ZDtkKz0yLWIpYz1SW2RdLGVbIm1hcmdpbiIrY109ZVsicGFkZGluZyIrY109YTtyZXR1cm4gYiYmKGUub3BhY2l0eT1lLndpZHRoPWEpLGV9ZnVuY3Rpb24gVWIoYSxiLGMpe2Zvcih2YXIgZCxlPShSYltiXXx8W10pLmNvbmNhdChSYlsiKiJdKSxmPTAsZz1lLmxlbmd0aDtnPmY7ZisrKWlmKGQ9ZVtmXS5jYWxsKGMsYixhKSlyZXR1cm4gZH1mdW5jdGlvbiBWYihhLGIsYyl7dmFyIGQsZSxmLGcsaCxpLGosaz10aGlzLGw9e30sbT1hLnN0eWxlLG49YS5ub2RlVHlwZSYmUyhhKSxwPUwuZ2V0KGEsImZ4c2hvdyIpO2MucXVldWV8fChoPW8uX3F1ZXVlSG9va3MoYSwiZngiKSxudWxsPT1oLnVucXVldWVkJiYoaC51bnF1ZXVlZD0wLGk9aC5lbXB0eS5maXJlLGguZW1wdHkuZmlyZT1mdW5jdGlvbigpe2gudW5xdWV1ZWR8fGkoKX0pLGgudW5xdWV1ZWQrKyxrLmFsd2F5cyhmdW5jdGlvbigpe2suYWx3YXlzKGZ1bmN0aW9uKCl7aC51bnF1ZXVlZC0tLG8ucXVldWUoYSwiZngiKS5sZW5ndGh8fGguZW1wdHkuZmlyZSgpfSl9KSksMT09PWEubm9kZVR5cGUmJigiaGVpZ2h0ImluIGJ8fCJ3aWR0aCJpbiBiKSYmKGMub3ZlcmZsb3c9W20ub3ZlcmZsb3csbS5vdmVyZmxvd1gsbS5vdmVyZmxvd1ldLGo9by5jc3MoYSwiZGlzcGxheSIpLCJub25lIj09PWomJihqPXRiKGEubm9kZU5hbWUpKSwiaW5saW5lIj09PWomJiJub25lIj09PW8uY3NzKGEsImZsb2F0IikmJihtLmRpc3BsYXk9ImlubGluZS1ibG9jayIpKSxjLm92ZXJmbG93JiYobS5vdmVyZmxvdz0iaGlkZGVuIixrLmFsd2F5cyhmdW5jdGlvbigpe20ub3ZlcmZsb3c9Yy5vdmVyZmxvd1swXSxtLm92ZXJmbG93WD1jLm92ZXJmbG93WzFdLG0ub3ZlcmZsb3dZPWMub3ZlcmZsb3dbMl19KSk7Zm9yKGQgaW4gYilpZihlPWJbZF0sTmIuZXhlYyhlKSl7aWYoZGVsZXRlIGJbZF0sZj1mfHwidG9nZ2xlIj09PWUsZT09PShuPyJoaWRlIjoic2hvdyIpKXtpZigic2hvdyIhPT1lfHwhcHx8dm9pZCAwPT09cFtkXSljb250aW51ZTtuPSEwfWxbZF09cCYmcFtkXXx8by5zdHlsZShhLGQpfWlmKCFvLmlzRW1wdHlPYmplY3QobCkpe3A/ImhpZGRlbiJpbiBwJiYobj1wLmhpZGRlbik6cD1MLmFjY2VzcyhhLCJmeHNob3ciLHt9KSxmJiYocC5oaWRkZW49IW4pLG4/byhhKS5zaG93KCk6ay5kb25lKGZ1bmN0aW9uKCl7byhhKS5oaWRlKCl9KSxrLmRvbmUoZnVuY3Rpb24oKXt2YXIgYjtMLnJlbW92ZShhLCJmeHNob3ciKTtmb3IoYiBpbiBsKW8uc3R5bGUoYSxiLGxbYl0pfSk7Zm9yKGQgaW4gbClnPVViKG4/cFtkXTowLGQsayksZCBpbiBwfHwocFtkXT1nLnN0YXJ0LG4mJihnLmVuZD1nLnN0YXJ0LGcuc3RhcnQ9IndpZHRoIj09PWR8fCJoZWlnaHQiPT09ZD8xOjApKX19ZnVuY3Rpb24gV2IoYSxiKXt2YXIgYyxkLGUsZixnO2ZvcihjIGluIGEpaWYoZD1vLmNhbWVsQ2FzZShjKSxlPWJbZF0sZj1hW2NdLG8uaXNBcnJheShmKSYmKGU9ZlsxXSxmPWFbY109ZlswXSksYyE9PWQmJihhW2RdPWYsZGVsZXRlIGFbY10pLGc9by5jc3NIb29rc1tkXSxnJiYiZXhwYW5kImluIGcpe2Y9Zy5leHBhbmQoZiksZGVsZXRlIGFbZF07Zm9yKGMgaW4gZiljIGluIGF8fChhW2NdPWZbY10sYltjXT1lKX1lbHNlIGJbZF09ZX1mdW5jdGlvbiBYYihhLGIsYyl7dmFyIGQsZSxmPTAsZz1RYi5sZW5ndGgsaD1vLkRlZmVycmVkKCkuYWx3YXlzKGZ1bmN0aW9uKCl7ZGVsZXRlIGkuZWxlbX0pLGk9ZnVuY3Rpb24oKXtpZihlKXJldHVybiExO2Zvcih2YXIgYj1MYnx8U2IoKSxjPU1hdGgubWF4KDAsai5zdGFydFRpbWUrai5kdXJhdGlvbi1iKSxkPWMvai5kdXJhdGlvbnx8MCxmPTEtZCxnPTAsaT1qLnR3ZWVucy5sZW5ndGg7aT5nO2crKylqLnR3ZWVuc1tnXS5ydW4oZik7cmV0dXJuIGgubm90aWZ5V2l0aChhLFtqLGYsY10pLDE+ZiYmaT9jOihoLnJlc29sdmVXaXRoKGEsW2pdKSwhMSl9LGo9aC5wcm9taXNlKHtlbGVtOmEscHJvcHM6by5leHRlbmQoe30sYiksb3B0czpvLmV4dGVuZCghMCx7c3BlY2lhbEVhc2luZzp7fX0sYyksb3JpZ2luYWxQcm9wZXJ0aWVzOmIsb3JpZ2luYWxPcHRpb25zOmMsc3RhcnRUaW1lOkxifHxTYigpLGR1cmF0aW9uOmMuZHVyYXRpb24sdHdlZW5zOltdLGNyZWF0ZVR3ZWVuOmZ1bmN0aW9uKGIsYyl7dmFyIGQ9by5Ud2VlbihhLGoub3B0cyxiLGMsai5vcHRzLnNwZWNpYWxFYXNpbmdbYl18fGoub3B0cy5lYXNpbmcpO3JldHVybiBqLnR3ZWVucy5wdXNoKGQpLGR9LHN0b3A6ZnVuY3Rpb24oYil7dmFyIGM9MCxkPWI/ai50d2VlbnMubGVuZ3RoOjA7aWYoZSlyZXR1cm4gdGhpcztmb3IoZT0hMDtkPmM7YysrKWoudHdlZW5zW2NdLnJ1bigxKTtyZXR1cm4gYj9oLnJlc29sdmVXaXRoKGEsW2osYl0pOmgucmVqZWN0V2l0aChhLFtqLGJdKSx0aGlzfX0pLGs9ai5wcm9wcztmb3IoV2IoayxqLm9wdHMuc3BlY2lhbEVhc2luZyk7Zz5mO2YrKylpZihkPVFiW2ZdLmNhbGwoaixhLGssai5vcHRzKSlyZXR1cm4gZDtyZXR1cm4gby5tYXAoayxVYixqKSxvLmlzRnVuY3Rpb24oai5vcHRzLnN0YXJ0KSYmai5vcHRzLnN0YXJ0LmNhbGwoYSxqKSxvLmZ4LnRpbWVyKG8uZXh0ZW5kKGkse2VsZW06YSxhbmltOmoscXVldWU6ai5vcHRzLnF1ZXVlfSkpLGoucHJvZ3Jlc3Moai5vcHRzLnByb2dyZXNzKS5kb25lKGoub3B0cy5kb25lLGoub3B0cy5jb21wbGV0ZSkuZmFpbChqLm9wdHMuZmFpbCkuYWx3YXlzKGoub3B0cy5hbHdheXMpfW8uQW5pbWF0aW9uPW8uZXh0ZW5kKFhiLHt0d2VlbmVyOmZ1bmN0aW9uKGEsYil7by5pc0Z1bmN0aW9uKGEpPyhiPWEsYT1bIioiXSk6YT1hLnNwbGl0KCIgIik7Zm9yKHZhciBjLGQ9MCxlPWEubGVuZ3RoO2U+ZDtkKyspYz1hW2RdLFJiW2NdPVJiW2NdfHxbXSxSYltjXS51bnNoaWZ0KGIpfSxwcmVmaWx0ZXI6ZnVuY3Rpb24oYSxiKXtiP1FiLnVuc2hpZnQoYSk6UWIucHVzaChhKX19KSxvLnNwZWVkPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hJiYib2JqZWN0Ij09dHlwZW9mIGE/by5leHRlbmQoe30sYSk6e2NvbXBsZXRlOmN8fCFjJiZifHxvLmlzRnVuY3Rpb24oYSkmJmEsZHVyYXRpb246YSxlYXNpbmc6YyYmYnx8YiYmIW8uaXNGdW5jdGlvbihiKSYmYn07cmV0dXJuIGQuZHVyYXRpb249by5meC5vZmY/MDoibnVtYmVyIj09dHlwZW9mIGQuZHVyYXRpb24/ZC5kdXJhdGlvbjpkLmR1cmF0aW9uIGluIG8uZnguc3BlZWRzP28uZnguc3BlZWRzW2QuZHVyYXRpb25dOm8uZnguc3BlZWRzLl9kZWZhdWx0LChudWxsPT1kLnF1ZXVlfHxkLnF1ZXVlPT09ITApJiYoZC5xdWV1ZT0iZngiKSxkLm9sZD1kLmNvbXBsZXRlLGQuY29tcGxldGU9ZnVuY3Rpb24oKXtvLmlzRnVuY3Rpb24oZC5vbGQpJiZkLm9sZC5jYWxsKHRoaXMpLGQucXVldWUmJm8uZGVxdWV1ZSh0aGlzLGQucXVldWUpfSxkfSxvLmZuLmV4dGVuZCh7ZmFkZVRvOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLmZpbHRlcihTKS5jc3MoIm9wYWNpdHkiLDApLnNob3coKS5lbmQoKS5hbmltYXRlKHtvcGFjaXR5OmJ9LGEsYyxkKX0sYW5pbWF0ZTpmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1vLmlzRW1wdHlPYmplY3QoYSksZj1vLnNwZWVkKGIsYyxkKSxnPWZ1bmN0aW9uKCl7dmFyIGI9WGIodGhpcyxvLmV4dGVuZCh7fSxhKSxmKTsoZXx8TC5nZXQodGhpcywiZmluaXNoIikpJiZiLnN0b3AoITApfTtyZXR1cm4gZy5maW5pc2g9ZyxlfHxmLnF1ZXVlPT09ITE/dGhpcy5lYWNoKGcpOnRoaXMucXVldWUoZi5xdWV1ZSxnKX0sc3RvcDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9ZnVuY3Rpb24oYSl7dmFyIGI9YS5zdG9wO2RlbGV0ZSBhLnN0b3AsYihjKX07cmV0dXJuInN0cmluZyIhPXR5cGVvZiBhJiYoYz1iLGI9YSxhPXZvaWQgMCksYiYmYSE9PSExJiZ0aGlzLnF1ZXVlKGF8fCJmeCIsW10pLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPSEwLGU9bnVsbCE9YSYmYSsicXVldWVIb29rcyIsZj1vLnRpbWVycyxnPUwuZ2V0KHRoaXMpO2lmKGUpZ1tlXSYmZ1tlXS5zdG9wJiZkKGdbZV0pO2Vsc2UgZm9yKGUgaW4gZylnW2VdJiZnW2VdLnN0b3AmJlBiLnRlc3QoZSkmJmQoZ1tlXSk7Zm9yKGU9Zi5sZW5ndGg7ZS0tOylmW2VdLmVsZW0hPT10aGlzfHxudWxsIT1hJiZmW2VdLnF1ZXVlIT09YXx8KGZbZV0uYW5pbS5zdG9wKGMpLGI9ITEsZi5zcGxpY2UoZSwxKSk7KGJ8fCFjKSYmby5kZXF1ZXVlKHRoaXMsYSl9KX0sZmluaXNoOmZ1bmN0aW9uKGEpe3JldHVybiBhIT09ITEmJihhPWF8fCJmeCIpLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiLGM9TC5nZXQodGhpcyksZD1jW2ErInF1ZXVlIl0sZT1jW2ErInF1ZXVlSG9va3MiXSxmPW8udGltZXJzLGc9ZD9kLmxlbmd0aDowO2ZvcihjLmZpbmlzaD0hMCxvLnF1ZXVlKHRoaXMsYSxbXSksZSYmZS5zdG9wJiZlLnN0b3AuY2FsbCh0aGlzLCEwKSxiPWYubGVuZ3RoO2ItLTspZltiXS5lbGVtPT09dGhpcyYmZltiXS5xdWV1ZT09PWEmJihmW2JdLmFuaW0uc3RvcCghMCksZi5zcGxpY2UoYiwxKSk7Zm9yKGI9MDtnPmI7YisrKWRbYl0mJmRbYl0uZmluaXNoJiZkW2JdLmZpbmlzaC5jYWxsKHRoaXMpO2RlbGV0ZSBjLmZpbmlzaH0pfX0pLG8uZWFjaChbInRvZ2dsZSIsInNob3ciLCJoaWRlIl0sZnVuY3Rpb24oYSxiKXt2YXIgYz1vLmZuW2JdO28uZm5bYl09ZnVuY3Rpb24oYSxkLGUpe3JldHVybiBudWxsPT1hfHwiYm9vbGVhbiI9PXR5cGVvZiBhP2MuYXBwbHkodGhpcyxhcmd1bWVudHMpOnRoaXMuYW5pbWF0ZShUYihiLCEwKSxhLGQsZSl9fSksby5lYWNoKHtzbGlkZURvd246VGIoInNob3ciKSxzbGlkZVVwOlRiKCJoaWRlIiksc2xpZGVUb2dnbGU6VGIoInRvZ2dsZSIpLGZhZGVJbjp7b3BhY2l0eToic2hvdyJ9LGZhZGVPdXQ6e29wYWNpdHk6ImhpZGUifSxmYWRlVG9nZ2xlOntvcGFjaXR5OiJ0b2dnbGUifX0sZnVuY3Rpb24oYSxiKXtvLmZuW2FdPWZ1bmN0aW9uKGEsYyxkKXtyZXR1cm4gdGhpcy5hbmltYXRlKGIsYSxjLGQpfX0pLG8udGltZXJzPVtdLG8uZngudGljaz1mdW5jdGlvbigpe3ZhciBhLGI9MCxjPW8udGltZXJzO2ZvcihMYj1vLm5vdygpO2I8Yy5sZW5ndGg7YisrKWE9Y1tiXSxhKCl8fGNbYl0hPT1hfHxjLnNwbGljZShiLS0sMSk7Yy5sZW5ndGh8fG8uZnguc3RvcCgpLExiPXZvaWQgMH0sby5meC50aW1lcj1mdW5jdGlvbihhKXtvLnRpbWVycy5wdXNoKGEpLGEoKT9vLmZ4LnN0YXJ0KCk6by50aW1lcnMucG9wKCl9LG8uZnguaW50ZXJ2YWw9MTMsby5meC5zdGFydD1mdW5jdGlvbigpe01ifHwoTWI9c2V0SW50ZXJ2YWwoby5meC50aWNrLG8uZnguaW50ZXJ2YWwpKX0sby5meC5zdG9wPWZ1bmN0aW9uKCl7Y2xlYXJJbnRlcnZhbChNYiksTWI9bnVsbH0sby5meC5zcGVlZHM9e3Nsb3c6NjAwLGZhc3Q6MjAwLF9kZWZhdWx0OjQwMH0sby5mbi5kZWxheT1mdW5jdGlvbihhLGIpe3JldHVybiBhPW8uZng/by5meC5zcGVlZHNbYV18fGE6YSxiPWJ8fCJmeCIsdGhpcy5xdWV1ZShiLGZ1bmN0aW9uKGIsYyl7dmFyIGQ9c2V0VGltZW91dChiLGEpO2Muc3RvcD1mdW5jdGlvbigpe2NsZWFyVGltZW91dChkKX19KX0sZnVuY3Rpb24oKXt2YXIgYT1tLmNyZWF0ZUVsZW1lbnQoImlucHV0IiksYj1tLmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpLGM9Yi5hcHBlbmRDaGlsZChtLmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpKTthLnR5cGU9ImNoZWNrYm94IixsLmNoZWNrT249IiIhPT1hLnZhbHVlLGwub3B0U2VsZWN0ZWQ9Yy5zZWxlY3RlZCxiLmRpc2FibGVkPSEwLGwub3B0RGlzYWJsZWQ9IWMuZGlzYWJsZWQsYT1tLmNyZWF0ZUVsZW1lbnQoImlucHV0IiksYS52YWx1ZT0idCIsYS50eXBlPSJyYWRpbyIsbC5yYWRpb1ZhbHVlPSJ0Ij09PWEudmFsdWV9KCk7dmFyIFliLFpiLCRiPW8uZXhwci5hdHRySGFuZGxlO28uZm4uZXh0ZW5kKHthdHRyOmZ1bmN0aW9uKGEsYil7cmV0dXJuIEoodGhpcyxvLmF0dHIsYSxiLGFyZ3VtZW50cy5sZW5ndGg+MSl9LHJlbW92ZUF0dHI6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe28ucmVtb3ZlQXR0cih0aGlzLGEpfSl9fSksby5leHRlbmQoe2F0dHI6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZj1hLm5vZGVUeXBlO2lmKGEmJjMhPT1mJiY4IT09ZiYmMiE9PWYpcmV0dXJuIHR5cGVvZiBhLmdldEF0dHJpYnV0ZT09PVU/by5wcm9wKGEsYixjKTooMT09PWYmJm8uaXNYTUxEb2MoYSl8fChiPWIudG9Mb3dlckNhc2UoKSxkPW8uYXR0ckhvb2tzW2JdfHwoby5leHByLm1hdGNoLmJvb2wudGVzdChiKT9aYjpZYikpLHZvaWQgMD09PWM/ZCYmImdldCJpbiBkJiZudWxsIT09KGU9ZC5nZXQoYSxiKSk/ZTooZT1vLmZpbmQuYXR0cihhLGIpLG51bGw9PWU/dm9pZCAwOmUpOm51bGwhPT1jP2QmJiJzZXQiaW4gZCYmdm9pZCAwIT09KGU9ZC5zZXQoYSxjLGIpKT9lOihhLnNldEF0dHJpYnV0ZShiLGMrIiIpLGMpOnZvaWQgby5yZW1vdmVBdHRyKGEsYikpfSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlPTAsZj1iJiZiLm1hdGNoKEUpO2lmKGYmJjE9PT1hLm5vZGVUeXBlKXdoaWxlKGM9ZltlKytdKWQ9by5wcm9wRml4W2NdfHxjLG8uZXhwci5tYXRjaC5ib29sLnRlc3QoYykmJihhW2RdPSExKSxhLnJlbW92ZUF0dHJpYnV0ZShjKX0sYXR0ckhvb2tzOnt0eXBlOntzZXQ6ZnVuY3Rpb24oYSxiKXtpZighbC5yYWRpb1ZhbHVlJiYicmFkaW8iPT09YiYmby5ub2RlTmFtZShhLCJpbnB1dCIpKXt2YXIgYz1hLnZhbHVlO3JldHVybiBhLnNldEF0dHJpYnV0ZSgidHlwZSIsYiksYyYmKGEudmFsdWU9YyksYn19fX19KSxaYj17c2V0OmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYj09PSExP28ucmVtb3ZlQXR0cihhLGMpOmEuc2V0QXR0cmlidXRlKGMsYyksY319LG8uZWFjaChvLmV4cHIubWF0Y2guYm9vbC5zb3VyY2UubWF0Y2goL1x3Ky9nKSxmdW5jdGlvbihhLGIpe3ZhciBjPSRiW2JdfHxvLmZpbmQuYXR0cjskYltiXT1mdW5jdGlvbihhLGIsZCl7dmFyIGUsZjsNCnJldHVybiBkfHwoZj0kYltiXSwkYltiXT1lLGU9bnVsbCE9YyhhLGIsZCk/Yi50b0xvd2VyQ2FzZSgpOm51bGwsJGJbYl09ZiksZX19KTt2YXIgX2I9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaTtvLmZuLmV4dGVuZCh7cHJvcDpmdW5jdGlvbihhLGIpe3JldHVybiBKKHRoaXMsby5wcm9wLGEsYixhcmd1bWVudHMubGVuZ3RoPjEpfSxyZW1vdmVQcm9wOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtkZWxldGUgdGhpc1tvLnByb3BGaXhbYV18fGFdfSl9fSksby5leHRlbmQoe3Byb3BGaXg6eyJmb3IiOiJodG1sRm9yIiwiY2xhc3MiOiJjbGFzc05hbWUifSxwcm9wOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGYsZz1hLm5vZGVUeXBlO2lmKGEmJjMhPT1nJiY4IT09ZyYmMiE9PWcpcmV0dXJuIGY9MSE9PWd8fCFvLmlzWE1MRG9jKGEpLGYmJihiPW8ucHJvcEZpeFtiXXx8YixlPW8ucHJvcEhvb2tzW2JdKSx2b2lkIDAhPT1jP2UmJiJzZXQiaW4gZSYmdm9pZCAwIT09KGQ9ZS5zZXQoYSxjLGIpKT9kOmFbYl09YzplJiYiZ2V0ImluIGUmJm51bGwhPT0oZD1lLmdldChhLGIpKT9kOmFbYl19LHByb3BIb29rczp7dGFiSW5kZXg6e2dldDpmdW5jdGlvbihhKXtyZXR1cm4gYS5oYXNBdHRyaWJ1dGUoInRhYmluZGV4Iil8fF9iLnRlc3QoYS5ub2RlTmFtZSl8fGEuaHJlZj9hLnRhYkluZGV4Oi0xfX19fSksbC5vcHRTZWxlY3RlZHx8KG8ucHJvcEhvb2tzLnNlbGVjdGVkPXtnZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9YS5wYXJlbnROb2RlO3JldHVybiBiJiZiLnBhcmVudE5vZGUmJmIucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4LG51bGx9fSksby5lYWNoKFsidGFiSW5kZXgiLCJyZWFkT25seSIsIm1heExlbmd0aCIsImNlbGxTcGFjaW5nIiwiY2VsbFBhZGRpbmciLCJyb3dTcGFuIiwiY29sU3BhbiIsInVzZU1hcCIsImZyYW1lQm9yZGVyIiwiY29udGVudEVkaXRhYmxlIl0sZnVuY3Rpb24oKXtvLnByb3BGaXhbdGhpcy50b0xvd2VyQ2FzZSgpXT10aGlzfSk7dmFyIGFjPS9bXHRcclxuXGZdL2c7by5mbi5leHRlbmQoe2FkZENsYXNzOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlLGYsZyxoPSJzdHJpbmciPT10eXBlb2YgYSYmYSxpPTAsaj10aGlzLmxlbmd0aDtpZihvLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXtvKHRoaXMpLmFkZENsYXNzKGEuY2FsbCh0aGlzLGIsdGhpcy5jbGFzc05hbWUpKX0pO2lmKGgpZm9yKGI9KGF8fCIiKS5tYXRjaChFKXx8W107aj5pO2krKylpZihjPXRoaXNbaV0sZD0xPT09Yy5ub2RlVHlwZSYmKGMuY2xhc3NOYW1lPygiICIrYy5jbGFzc05hbWUrIiAiKS5yZXBsYWNlKGFjLCIgIik6IiAiKSl7Zj0wO3doaWxlKGU9YltmKytdKWQuaW5kZXhPZigiICIrZSsiICIpPDAmJihkKz1lKyIgIik7Zz1vLnRyaW0oZCksYy5jbGFzc05hbWUhPT1nJiYoYy5jbGFzc05hbWU9Zyl9cmV0dXJuIHRoaXN9LHJlbW92ZUNsYXNzOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlLGYsZyxoPTA9PT1hcmd1bWVudHMubGVuZ3RofHwic3RyaW5nIj09dHlwZW9mIGEmJmEsaT0wLGo9dGhpcy5sZW5ndGg7aWYoby5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7byh0aGlzKS5yZW1vdmVDbGFzcyhhLmNhbGwodGhpcyxiLHRoaXMuY2xhc3NOYW1lKSl9KTtpZihoKWZvcihiPShhfHwiIikubWF0Y2goRSl8fFtdO2o+aTtpKyspaWYoYz10aGlzW2ldLGQ9MT09PWMubm9kZVR5cGUmJihjLmNsYXNzTmFtZT8oIiAiK2MuY2xhc3NOYW1lKyIgIikucmVwbGFjZShhYywiICIpOiIiKSl7Zj0wO3doaWxlKGU9YltmKytdKXdoaWxlKGQuaW5kZXhPZigiICIrZSsiICIpPj0wKWQ9ZC5yZXBsYWNlKCIgIitlKyIgIiwiICIpO2c9YT9vLnRyaW0oZCk6IiIsYy5jbGFzc05hbWUhPT1nJiYoYy5jbGFzc05hbWU9Zyl9cmV0dXJuIHRoaXN9LHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKGEsYil7dmFyIGM9dHlwZW9mIGE7cmV0dXJuImJvb2xlYW4iPT10eXBlb2YgYiYmInN0cmluZyI9PT1jP2I/dGhpcy5hZGRDbGFzcyhhKTp0aGlzLnJlbW92ZUNsYXNzKGEpOnRoaXMuZWFjaChvLmlzRnVuY3Rpb24oYSk/ZnVuY3Rpb24oYyl7byh0aGlzKS50b2dnbGVDbGFzcyhhLmNhbGwodGhpcyxjLHRoaXMuY2xhc3NOYW1lLGIpLGIpfTpmdW5jdGlvbigpe2lmKCJzdHJpbmciPT09Yyl7dmFyIGIsZD0wLGU9byh0aGlzKSxmPWEubWF0Y2goRSl8fFtdO3doaWxlKGI9ZltkKytdKWUuaGFzQ2xhc3MoYik/ZS5yZW1vdmVDbGFzcyhiKTplLmFkZENsYXNzKGIpfWVsc2UoYz09PVV8fCJib29sZWFuIj09PWMpJiYodGhpcy5jbGFzc05hbWUmJkwuc2V0KHRoaXMsIl9fY2xhc3NOYW1lX18iLHRoaXMuY2xhc3NOYW1lKSx0aGlzLmNsYXNzTmFtZT10aGlzLmNsYXNzTmFtZXx8YT09PSExPyIiOkwuZ2V0KHRoaXMsIl9fY2xhc3NOYW1lX18iKXx8IiIpfSl9LGhhc0NsYXNzOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0iICIrYSsiICIsYz0wLGQ9dGhpcy5sZW5ndGg7ZD5jO2MrKylpZigxPT09dGhpc1tjXS5ub2RlVHlwZSYmKCIgIit0aGlzW2NdLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UoYWMsIiAiKS5pbmRleE9mKGIpPj0wKXJldHVybiEwO3JldHVybiExfX0pO3ZhciBiYz0vXHIvZztvLmZuLmV4dGVuZCh7dmFsOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlPXRoaXNbMF07e2lmKGFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQ9by5pc0Z1bmN0aW9uKGEpLHRoaXMuZWFjaChmdW5jdGlvbihjKXt2YXIgZTsxPT09dGhpcy5ub2RlVHlwZSYmKGU9ZD9hLmNhbGwodGhpcyxjLG8odGhpcykudmFsKCkpOmEsbnVsbD09ZT9lPSIiOiJudW1iZXIiPT10eXBlb2YgZT9lKz0iIjpvLmlzQXJyYXkoZSkmJihlPW8ubWFwKGUsZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWE/IiI6YSsiIn0pKSxiPW8udmFsSG9va3NbdGhpcy50eXBlXXx8by52YWxIb29rc1t0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldLGImJiJzZXQiaW4gYiYmdm9pZCAwIT09Yi5zZXQodGhpcyxlLCJ2YWx1ZSIpfHwodGhpcy52YWx1ZT1lKSl9KTtpZihlKXJldHVybiBiPW8udmFsSG9va3NbZS50eXBlXXx8by52YWxIb29rc1tlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldLGImJiJnZXQiaW4gYiYmdm9pZCAwIT09KGM9Yi5nZXQoZSwidmFsdWUiKSk/YzooYz1lLnZhbHVlLCJzdHJpbmciPT10eXBlb2YgYz9jLnJlcGxhY2UoYmMsIiIpOm51bGw9PWM/IiI6Yyl9fX0pLG8uZXh0ZW5kKHt2YWxIb29rczp7c2VsZWN0OntnZXQ6ZnVuY3Rpb24oYSl7Zm9yKHZhciBiLGMsZD1hLm9wdGlvbnMsZT1hLnNlbGVjdGVkSW5kZXgsZj0ic2VsZWN0LW9uZSI9PT1hLnR5cGV8fDA+ZSxnPWY/bnVsbDpbXSxoPWY/ZSsxOmQubGVuZ3RoLGk9MD5lP2g6Zj9lOjA7aD5pO2krKylpZihjPWRbaV0sISghYy5zZWxlY3RlZCYmaSE9PWV8fChsLm9wdERpc2FibGVkP2MuZGlzYWJsZWQ6bnVsbCE9PWMuZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpKXx8Yy5wYXJlbnROb2RlLmRpc2FibGVkJiZvLm5vZGVOYW1lKGMucGFyZW50Tm9kZSwib3B0Z3JvdXAiKSkpe2lmKGI9byhjKS52YWwoKSxmKXJldHVybiBiO2cucHVzaChiKX1yZXR1cm4gZ30sc2V0OmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlPWEub3B0aW9ucyxmPW8ubWFrZUFycmF5KGIpLGc9ZS5sZW5ndGg7d2hpbGUoZy0tKWQ9ZVtnXSwoZC5zZWxlY3RlZD1vLmluQXJyYXkobyhkKS52YWwoKSxmKT49MCkmJihjPSEwKTtyZXR1cm4gY3x8KGEuc2VsZWN0ZWRJbmRleD0tMSksZn19fX0pLG8uZWFjaChbInJhZGlvIiwiY2hlY2tib3giXSxmdW5jdGlvbigpe28udmFsSG9va3NbdGhpc109e3NldDpmdW5jdGlvbihhLGIpe3JldHVybiBvLmlzQXJyYXkoYik/YS5jaGVja2VkPW8uaW5BcnJheShvKGEpLnZhbCgpLGIpPj0wOnZvaWQgMH19LGwuY2hlY2tPbnx8KG8udmFsSG9va3NbdGhpc10uZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiBudWxsPT09YS5nZXRBdHRyaWJ1dGUoInZhbHVlIik/Im9uIjphLnZhbHVlfSl9KSxvLmVhY2goImJsdXIgZm9jdXMgZm9jdXNpbiBmb2N1c291dCBsb2FkIHJlc2l6ZSBzY3JvbGwgdW5sb2FkIGNsaWNrIGRibGNsaWNrIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW92ZXIgbW91c2VvdXQgbW91c2VlbnRlciBtb3VzZWxlYXZlIGNoYW5nZSBzZWxlY3Qgc3VibWl0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgZXJyb3IgY29udGV4dG1lbnUiLnNwbGl0KCIgIiksZnVuY3Rpb24oYSxiKXtvLmZuW2JdPWZ1bmN0aW9uKGEsYyl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MD90aGlzLm9uKGIsbnVsbCxhLGMpOnRoaXMudHJpZ2dlcihiKX19KSxvLmZuLmV4dGVuZCh7aG92ZXI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5tb3VzZWVudGVyKGEpLm1vdXNlbGVhdmUoYnx8YSl9LGJpbmQ6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB0aGlzLm9uKGEsbnVsbCxiLGMpfSx1bmJpbmQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5vZmYoYSxudWxsLGIpfSxkZWxlZ2F0ZTpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5vbihiLGEsYyxkKX0sdW5kZWxlZ2F0ZTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP3RoaXMub2ZmKGEsIioqIik6dGhpcy5vZmYoYixhfHwiKioiLGMpfX0pO3ZhciBjYz1vLm5vdygpLGRjPS9cPy87by5wYXJzZUpTT049ZnVuY3Rpb24oYSl7cmV0dXJuIEpTT04ucGFyc2UoYSsiIil9LG8ucGFyc2VYTUw9ZnVuY3Rpb24oYSl7dmFyIGIsYztpZighYXx8InN0cmluZyIhPXR5cGVvZiBhKXJldHVybiBudWxsO3RyeXtjPW5ldyBET01QYXJzZXIsYj1jLnBhcnNlRnJvbVN0cmluZyhhLCJ0ZXh0L3htbCIpfWNhdGNoKGQpe2I9dm9pZCAwfXJldHVybighYnx8Yi5nZXRFbGVtZW50c0J5VGFnTmFtZSgicGFyc2VyZXJyb3IiKS5sZW5ndGgpJiZvLmVycm9yKCJJbnZhbGlkIFhNTDogIithKSxifTt2YXIgZWMsZmMsZ2M9LyMuKiQvLGhjPS8oWz8mXSlfPVteJl0qLyxpYz0vXiguKj8pOlsgXHRdKihbXlxyXG5dKikkL2dtLGpjPS9eKD86YWJvdXR8YXBwfGFwcC1zdG9yYWdlfC4rLWV4dGVuc2lvbnxmaWxlfHJlc3x3aWRnZXQpOiQvLGtjPS9eKD86R0VUfEhFQUQpJC8sbGM9L15cL1wvLyxtYz0vXihbXHcuKy1dKzopKD86XC9cLyg/OlteXC8/I10qQHwpKFteXC8/IzpdKikoPzo6KFxkKyl8KXwpLyxuYz17fSxvYz17fSxwYz0iKi8iLmNvbmNhdCgiKiIpO3RyeXtmYz1sb2NhdGlvbi5ocmVmfWNhdGNoKHFjKXtmYz1tLmNyZWF0ZUVsZW1lbnQoImEiKSxmYy5ocmVmPSIiLGZjPWZjLmhyZWZ9ZWM9bWMuZXhlYyhmYy50b0xvd2VyQ2FzZSgpKXx8W107ZnVuY3Rpb24gcmMoYSl7cmV0dXJuIGZ1bmN0aW9uKGIsYyl7InN0cmluZyIhPXR5cGVvZiBiJiYoYz1iLGI9IioiKTt2YXIgZCxlPTAsZj1iLnRvTG93ZXJDYXNlKCkubWF0Y2goRSl8fFtdO2lmKG8uaXNGdW5jdGlvbihjKSl3aGlsZShkPWZbZSsrXSkiKyI9PT1kWzBdPyhkPWQuc2xpY2UoMSl8fCIqIiwoYVtkXT1hW2RdfHxbXSkudW5zaGlmdChjKSk6KGFbZF09YVtkXXx8W10pLnB1c2goYyl9fWZ1bmN0aW9uIHNjKGEsYixjLGQpe3ZhciBlPXt9LGY9YT09PW9jO2Z1bmN0aW9uIGcoaCl7dmFyIGk7cmV0dXJuIGVbaF09ITAsby5lYWNoKGFbaF18fFtdLGZ1bmN0aW9uKGEsaCl7dmFyIGo9aChiLGMsZCk7cmV0dXJuInN0cmluZyIhPXR5cGVvZiBqfHxmfHxlW2pdP2Y/IShpPWopOnZvaWQgMDooYi5kYXRhVHlwZXMudW5zaGlmdChqKSxnKGopLCExKX0pLGl9cmV0dXJuIGcoYi5kYXRhVHlwZXNbMF0pfHwhZVsiKiJdJiZnKCIqIil9ZnVuY3Rpb24gdGMoYSxiKXt2YXIgYyxkLGU9by5hamF4U2V0dGluZ3MuZmxhdE9wdGlvbnN8fHt9O2ZvcihjIGluIGIpdm9pZCAwIT09YltjXSYmKChlW2NdP2E6ZHx8KGQ9e30pKVtjXT1iW2NdKTtyZXR1cm4gZCYmby5leHRlbmQoITAsYSxkKSxhfWZ1bmN0aW9uIHVjKGEsYixjKXt2YXIgZCxlLGYsZyxoPWEuY29udGVudHMsaT1hLmRhdGFUeXBlczt3aGlsZSgiKiI9PT1pWzBdKWkuc2hpZnQoKSx2b2lkIDA9PT1kJiYoZD1hLm1pbWVUeXBlfHxiLmdldFJlc3BvbnNlSGVhZGVyKCJDb250ZW50LVR5cGUiKSk7aWYoZClmb3IoZSBpbiBoKWlmKGhbZV0mJmhbZV0udGVzdChkKSl7aS51bnNoaWZ0KGUpO2JyZWFrfWlmKGlbMF1pbiBjKWY9aVswXTtlbHNle2ZvcihlIGluIGMpe2lmKCFpWzBdfHxhLmNvbnZlcnRlcnNbZSsiICIraVswXV0pe2Y9ZTticmVha31nfHwoZz1lKX1mPWZ8fGd9cmV0dXJuIGY/KGYhPT1pWzBdJiZpLnVuc2hpZnQoZiksY1tmXSk6dm9pZCAwfWZ1bmN0aW9uIHZjKGEsYixjLGQpe3ZhciBlLGYsZyxoLGksaj17fSxrPWEuZGF0YVR5cGVzLnNsaWNlKCk7aWYoa1sxXSlmb3IoZyBpbiBhLmNvbnZlcnRlcnMpaltnLnRvTG93ZXJDYXNlKCldPWEuY29udmVydGVyc1tnXTtmPWsuc2hpZnQoKTt3aGlsZShmKWlmKGEucmVzcG9uc2VGaWVsZHNbZl0mJihjW2EucmVzcG9uc2VGaWVsZHNbZl1dPWIpLCFpJiZkJiZhLmRhdGFGaWx0ZXImJihiPWEuZGF0YUZpbHRlcihiLGEuZGF0YVR5cGUpKSxpPWYsZj1rLnNoaWZ0KCkpaWYoIioiPT09ZilmPWk7ZWxzZSBpZigiKiIhPT1pJiZpIT09Zil7aWYoZz1qW2krIiAiK2ZdfHxqWyIqICIrZl0sIWcpZm9yKGUgaW4gailpZihoPWUuc3BsaXQoIiAiKSxoWzFdPT09ZiYmKGc9altpKyIgIitoWzBdXXx8alsiKiAiK2hbMF1dKSl7Zz09PSEwP2c9altlXTpqW2VdIT09ITAmJihmPWhbMF0say51bnNoaWZ0KGhbMV0pKTticmVha31pZihnIT09ITApaWYoZyYmYVsidGhyb3dzIl0pYj1nKGIpO2Vsc2UgdHJ5e2I9ZyhiKX1jYXRjaChsKXtyZXR1cm57c3RhdGU6InBhcnNlcmVycm9yIixlcnJvcjpnP2w6Ik5vIGNvbnZlcnNpb24gZnJvbSAiK2krIiB0byAiK2Z9fX1yZXR1cm57c3RhdGU6InN1Y2Nlc3MiLGRhdGE6Yn19by5leHRlbmQoe2FjdGl2ZTowLGxhc3RNb2RpZmllZDp7fSxldGFnOnt9LGFqYXhTZXR0aW5nczp7dXJsOmZjLHR5cGU6IkdFVCIsaXNMb2NhbDpqYy50ZXN0KGVjWzFdKSxnbG9iYWw6ITAscHJvY2Vzc0RhdGE6ITAsYXN5bmM6ITAsY29udGVudFR5cGU6ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDsgY2hhcnNldD1VVEYtOCIsYWNjZXB0czp7IioiOnBjLHRleHQ6InRleHQvcGxhaW4iLGh0bWw6InRleHQvaHRtbCIseG1sOiJhcHBsaWNhdGlvbi94bWwsIHRleHQveG1sIixqc29uOiJhcHBsaWNhdGlvbi9qc29uLCB0ZXh0L2phdmFzY3JpcHQifSxjb250ZW50czp7eG1sOi94bWwvLGh0bWw6L2h0bWwvLGpzb246L2pzb24vfSxyZXNwb25zZUZpZWxkczp7eG1sOiJyZXNwb25zZVhNTCIsdGV4dDoicmVzcG9uc2VUZXh0Iixqc29uOiJyZXNwb25zZUpTT04ifSxjb252ZXJ0ZXJzOnsiKiB0ZXh0IjpTdHJpbmcsInRleHQgaHRtbCI6ITAsInRleHQganNvbiI6by5wYXJzZUpTT04sInRleHQgeG1sIjpvLnBhcnNlWE1MfSxmbGF0T3B0aW9uczp7dXJsOiEwLGNvbnRleHQ6ITB9fSxhamF4U2V0dXA6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYj90Yyh0YyhhLG8uYWpheFNldHRpbmdzKSxiKTp0YyhvLmFqYXhTZXR0aW5ncyxhKX0sYWpheFByZWZpbHRlcjpyYyhuYyksYWpheFRyYW5zcG9ydDpyYyhvYyksYWpheDpmdW5jdGlvbihhLGIpeyJvYmplY3QiPT10eXBlb2YgYSYmKGI9YSxhPXZvaWQgMCksYj1ifHx7fTt2YXIgYyxkLGUsZixnLGgsaSxqLGs9by5hamF4U2V0dXAoe30sYiksbD1rLmNvbnRleHR8fGssbT1rLmNvbnRleHQmJihsLm5vZGVUeXBlfHxsLmpxdWVyeSk/byhsKTpvLmV2ZW50LG49by5EZWZlcnJlZCgpLHA9by5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IikscT1rLnN0YXR1c0NvZGV8fHt9LHI9e30scz17fSx0PTAsdT0iY2FuY2VsZWQiLHY9e3JlYWR5U3RhdGU6MCxnZXRSZXNwb25zZUhlYWRlcjpmdW5jdGlvbihhKXt2YXIgYjtpZigyPT09dCl7aWYoIWYpe2Y9e307d2hpbGUoYj1pYy5leGVjKGUpKWZbYlsxXS50b0xvd2VyQ2FzZSgpXT1iWzJdfWI9ZlthLnRvTG93ZXJDYXNlKCldfXJldHVybiBudWxsPT1iP251bGw6Yn0sZ2V0QWxsUmVzcG9uc2VIZWFkZXJzOmZ1bmN0aW9uKCl7cmV0dXJuIDI9PT10P2U6bnVsbH0sc2V0UmVxdWVzdEhlYWRlcjpmdW5jdGlvbihhLGIpe3ZhciBjPWEudG9Mb3dlckNhc2UoKTtyZXR1cm4gdHx8KGE9c1tjXT1zW2NdfHxhLHJbYV09YiksdGhpc30sb3ZlcnJpZGVNaW1lVHlwZTpmdW5jdGlvbihhKXtyZXR1cm4gdHx8KGsubWltZVR5cGU9YSksdGhpc30sc3RhdHVzQ29kZTpmdW5jdGlvbihhKXt2YXIgYjtpZihhKWlmKDI+dClmb3IoYiBpbiBhKXFbYl09W3FbYl0sYVtiXV07ZWxzZSB2LmFsd2F5cyhhW3Yuc3RhdHVzXSk7cmV0dXJuIHRoaXN9LGFib3J0OmZ1bmN0aW9uKGEpe3ZhciBiPWF8fHU7cmV0dXJuIGMmJmMuYWJvcnQoYikseCgwLGIpLHRoaXN9fTtpZihuLnByb21pc2UodikuY29tcGxldGU9cC5hZGQsdi5zdWNjZXNzPXYuZG9uZSx2LmVycm9yPXYuZmFpbCxrLnVybD0oKGF8fGsudXJsfHxmYykrIiIpLnJlcGxhY2UoZ2MsIiIpLnJlcGxhY2UobGMsZWNbMV0rIi8vIiksay50eXBlPWIubWV0aG9kfHxiLnR5cGV8fGsubWV0aG9kfHxrLnR5cGUsay5kYXRhVHlwZXM9by50cmltKGsuZGF0YVR5cGV8fCIqIikudG9Mb3dlckNhc2UoKS5tYXRjaChFKXx8WyIiXSxudWxsPT1rLmNyb3NzRG9tYWluJiYoaD1tYy5leGVjKGsudXJsLnRvTG93ZXJDYXNlKCkpLGsuY3Jvc3NEb21haW49ISghaHx8aFsxXT09PWVjWzFdJiZoWzJdPT09ZWNbMl0mJihoWzNdfHwoImh0dHA6Ij09PWhbMV0/IjgwIjoiNDQzIikpPT09KGVjWzNdfHwoImh0dHA6Ij09PWVjWzFdPyI4MCI6IjQ0MyIpKSkpLGsuZGF0YSYmay5wcm9jZXNzRGF0YSYmInN0cmluZyIhPXR5cGVvZiBrLmRhdGEmJihrLmRhdGE9by5wYXJhbShrLmRhdGEsay50cmFkaXRpb25hbCkpLHNjKG5jLGssYix2KSwyPT09dClyZXR1cm4gdjtpPWsuZ2xvYmFsLGkmJjA9PT1vLmFjdGl2ZSsrJiZvLmV2ZW50LnRyaWdnZXIoImFqYXhTdGFydCIpLGsudHlwZT1rLnR5cGUudG9VcHBlckNhc2UoKSxrLmhhc0NvbnRlbnQ9IWtjLnRlc3Qoay50eXBlKSxkPWsudXJsLGsuaGFzQ29udGVudHx8KGsuZGF0YSYmKGQ9ay51cmwrPShkYy50ZXN0KGQpPyImIjoiPyIpK2suZGF0YSxkZWxldGUgay5kYXRhKSxrLmNhY2hlPT09ITEmJihrLnVybD1oYy50ZXN0KGQpP2QucmVwbGFjZShoYywiJDFfPSIrY2MrKyk6ZCsoZGMudGVzdChkKT8iJiI6Ij8iKSsiXz0iK2NjKyspKSxrLmlmTW9kaWZpZWQmJihvLmxhc3RNb2RpZmllZFtkXSYmdi5zZXRSZXF1ZXN0SGVhZGVyKCJJZi1Nb2RpZmllZC1TaW5jZSIsby5sYXN0TW9kaWZpZWRbZF0pLG8uZXRhZ1tkXSYmdi5zZXRSZXF1ZXN0SGVhZGVyKCJJZi1Ob25lLU1hdGNoIixvLmV0YWdbZF0pKSwoay5kYXRhJiZrLmhhc0NvbnRlbnQmJmsuY29udGVudFR5cGUhPT0hMXx8Yi5jb250ZW50VHlwZSkmJnYuc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIixrLmNvbnRlbnRUeXBlKSx2LnNldFJlcXVlc3RIZWFkZXIoIkFjY2VwdCIsay5kYXRhVHlwZXNbMF0mJmsuYWNjZXB0c1trLmRhdGFUeXBlc1swXV0/ay5hY2NlcHRzW2suZGF0YVR5cGVzWzBdXSsoIioiIT09ay5kYXRhVHlwZXNbMF0/IiwgIitwYysiOyBxPTAuMDEiOiIiKTprLmFjY2VwdHNbIioiXSk7Zm9yKGogaW4gay5oZWFkZXJzKXYuc2V0UmVxdWVzdEhlYWRlcihqLGsuaGVhZGVyc1tqXSk7aWYoay5iZWZvcmVTZW5kJiYoay5iZWZvcmVTZW5kLmNhbGwobCx2LGspPT09ITF8fDI9PT10KSlyZXR1cm4gdi5hYm9ydCgpO3U9ImFib3J0Ijtmb3IoaiBpbntzdWNjZXNzOjEsZXJyb3I6MSxjb21wbGV0ZToxfSl2W2pdKGtbal0pO2lmKGM9c2Mob2MsayxiLHYpKXt2LnJlYWR5U3RhdGU9MSxpJiZtLnRyaWdnZXIoImFqYXhTZW5kIixbdixrXSksay5hc3luYyYmay50aW1lb3V0PjAmJihnPXNldFRpbWVvdXQoZnVuY3Rpb24oKXt2LmFib3J0KCJ0aW1lb3V0Iil9LGsudGltZW91dCkpO3RyeXt0PTEsYy5zZW5kKHIseCl9Y2F0Y2godyl7aWYoISgyPnQpKXRocm93IHc7eCgtMSx3KX19ZWxzZSB4KC0xLCJObyBUcmFuc3BvcnQiKTtmdW5jdGlvbiB4KGEsYixmLGgpe3ZhciBqLHIscyx1LHcseD1iOzIhPT10JiYodD0yLGcmJmNsZWFyVGltZW91dChnKSxjPXZvaWQgMCxlPWh8fCIiLHYucmVhZHlTdGF0ZT1hPjA/NDowLGo9YT49MjAwJiYzMDA+YXx8MzA0PT09YSxmJiYodT11YyhrLHYsZikpLHU9dmMoayx1LHYsaiksaj8oay5pZk1vZGlmaWVkJiYodz12LmdldFJlc3BvbnNlSGVhZGVyKCJMYXN0LU1vZGlmaWVkIiksdyYmKG8ubGFzdE1vZGlmaWVkW2RdPXcpLHc9di5nZXRSZXNwb25zZUhlYWRlcigiZXRhZyIpLHcmJihvLmV0YWdbZF09dykpLDIwND09PWF8fCJIRUFEIj09PWsudHlwZT94PSJub2NvbnRlbnQiOjMwND09PWE/eD0ibm90bW9kaWZpZWQiOih4PXUuc3RhdGUscj11LmRhdGEscz11LmVycm9yLGo9IXMpKToocz14LChhfHwheCkmJih4PSJlcnJvciIsMD5hJiYoYT0wKSkpLHYuc3RhdHVzPWEsdi5zdGF0dXNUZXh0PShifHx4KSsiIixqP24ucmVzb2x2ZVdpdGgobCxbcix4LHZdKTpuLnJlamVjdFdpdGgobCxbdix4LHNdKSx2LnN0YXR1c0NvZGUocSkscT12b2lkIDAsaSYmbS50cmlnZ2VyKGo/ImFqYXhTdWNjZXNzIjoiYWpheEVycm9yIixbdixrLGo/cjpzXSkscC5maXJlV2l0aChsLFt2LHhdKSxpJiYobS50cmlnZ2VyKCJhamF4Q29tcGxldGUiLFt2LGtdKSwtLW8uYWN0aXZlfHxvLmV2ZW50LnRyaWdnZXIoImFqYXhTdG9wIikpKX1yZXR1cm4gdn0sZ2V0SlNPTjpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIG8uZ2V0KGEsYixjLCJqc29uIil9LGdldFNjcmlwdDpmdW5jdGlvbihhLGIpe3JldHVybiBvLmdldChhLHZvaWQgMCxiLCJzY3JpcHQiKX19KSxvLmVhY2goWyJnZXQiLCJwb3N0Il0sZnVuY3Rpb24oYSxiKXtvW2JdPWZ1bmN0aW9uKGEsYyxkLGUpe3JldHVybiBvLmlzRnVuY3Rpb24oYykmJihlPWV8fGQsZD1jLGM9dm9pZCAwKSxvLmFqYXgoe3VybDphLHR5cGU6YixkYXRhVHlwZTplLGRhdGE6YyxzdWNjZXNzOmR9KX19KSxvLmVhY2goWyJhamF4U3RhcnQiLCJhamF4U3RvcCIsImFqYXhDb21wbGV0ZSIsImFqYXhFcnJvciIsImFqYXhTdWNjZXNzIiwiYWpheFNlbmQiXSxmdW5jdGlvbihhLGIpe28uZm5bYl09ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMub24oYixhKX19KSxvLl9ldmFsVXJsPWZ1bmN0aW9uKGEpe3JldHVybiBvLmFqYXgoe3VybDphLHR5cGU6IkdFVCIsZGF0YVR5cGU6InNjcmlwdCIsYXN5bmM6ITEsZ2xvYmFsOiExLCJ0aHJvd3MiOiEwfSl9LG8uZm4uZXh0ZW5kKHt3cmFwQWxsOmZ1bmN0aW9uKGEpe3ZhciBiO3JldHVybiBvLmlzRnVuY3Rpb24oYSk/dGhpcy5lYWNoKGZ1bmN0aW9uKGIpe28odGhpcykud3JhcEFsbChhLmNhbGwodGhpcyxiKSl9KToodGhpc1swXSYmKGI9byhhLHRoaXNbMF0ub3duZXJEb2N1bWVudCkuZXEoMCkuY2xvbmUoITApLHRoaXNbMF0ucGFyZW50Tm9kZSYmYi5pbnNlcnRCZWZvcmUodGhpc1swXSksYi5tYXAoZnVuY3Rpb24oKXt2YXIgYT10aGlzO3doaWxlKGEuZmlyc3RFbGVtZW50Q2hpbGQpYT1hLmZpcnN0RWxlbWVudENoaWxkO3JldHVybiBhfSkuYXBwZW5kKHRoaXMpKSx0aGlzKX0sd3JhcElubmVyOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goby5pc0Z1bmN0aW9uKGEpP2Z1bmN0aW9uKGIpe28odGhpcykud3JhcElubmVyKGEuY2FsbCh0aGlzLGIpKX06ZnVuY3Rpb24oKXt2YXIgYj1vKHRoaXMpLGM9Yi5jb250ZW50cygpO2MubGVuZ3RoP2Mud3JhcEFsbChhKTpiLmFwcGVuZChhKX0pfSx3cmFwOmZ1bmN0aW9uKGEpe3ZhciBiPW8uaXNGdW5jdGlvbihhKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGMpe28odGhpcykud3JhcEFsbChiP2EuY2FsbCh0aGlzLGMpOmEpfSl9LHVud3JhcDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnBhcmVudCgpLmVhY2goZnVuY3Rpb24oKXtvLm5vZGVOYW1lKHRoaXMsImJvZHkiKXx8byh0aGlzKS5yZXBsYWNlV2l0aCh0aGlzLmNoaWxkTm9kZXMpfSkuZW5kKCl9fSksby5leHByLmZpbHRlcnMuaGlkZGVuPWZ1bmN0aW9uKGEpe3JldHVybiBhLm9mZnNldFdpZHRoPD0wJiZhLm9mZnNldEhlaWdodDw9MH0sby5leHByLmZpbHRlcnMudmlzaWJsZT1mdW5jdGlvbihhKXtyZXR1cm4hby5leHByLmZpbHRlcnMuaGlkZGVuKGEpfTt2YXIgd2M9LyUyMC9nLHhjPS9cW1xdJC8seWM9L1xyP1xuL2csemM9L14oPzpzdWJtaXR8YnV0dG9ufGltYWdlfHJlc2V0fGZpbGUpJC9pLEFjPS9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGtleWdlbikvaTtmdW5jdGlvbiBCYyhhLGIsYyxkKXt2YXIgZTtpZihvLmlzQXJyYXkoYikpby5lYWNoKGIsZnVuY3Rpb24oYixlKXtjfHx4Yy50ZXN0KGEpP2QoYSxlKTpCYyhhKyJbIisoIm9iamVjdCI9PXR5cGVvZiBlP2I6IiIpKyJdIixlLGMsZCl9KTtlbHNlIGlmKGN8fCJvYmplY3QiIT09by50eXBlKGIpKWQoYSxiKTtlbHNlIGZvcihlIGluIGIpQmMoYSsiWyIrZSsiXSIsYltlXSxjLGQpfW8ucGFyYW09ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPVtdLGU9ZnVuY3Rpb24oYSxiKXtiPW8uaXNGdW5jdGlvbihiKT9iKCk6bnVsbD09Yj8iIjpiLGRbZC5sZW5ndGhdPWVuY29kZVVSSUNvbXBvbmVudChhKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGIpfTtpZih2b2lkIDA9PT1iJiYoYj1vLmFqYXhTZXR0aW5ncyYmby5hamF4U2V0dGluZ3MudHJhZGl0aW9uYWwpLG8uaXNBcnJheShhKXx8YS5qcXVlcnkmJiFvLmlzUGxhaW5PYmplY3QoYSkpby5lYWNoKGEsZnVuY3Rpb24oKXtlKHRoaXMubmFtZSx0aGlzLnZhbHVlKX0pO2Vsc2UgZm9yKGMgaW4gYSlCYyhjLGFbY10sYixlKTtyZXR1cm4gZC5qb2luKCImIikucmVwbGFjZSh3YywiKyIpfSxvLmZuLmV4dGVuZCh7c2VyaWFsaXplOmZ1bmN0aW9uKCl7cmV0dXJuIG8ucGFyYW0odGhpcy5zZXJpYWxpemVBcnJheSgpKX0sc2VyaWFsaXplQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXt2YXIgYT1vLnByb3AodGhpcywiZWxlbWVudHMiKTtyZXR1cm4gYT9vLm1ha2VBcnJheShhKTp0aGlzfSkuZmlsdGVyKGZ1bmN0aW9uKCl7dmFyIGE9dGhpcy50eXBlO3JldHVybiB0aGlzLm5hbWUmJiFvKHRoaXMpLmlzKCI6ZGlzYWJsZWQiKSYmQWMudGVzdCh0aGlzLm5vZGVOYW1lKSYmIXpjLnRlc3QoYSkmJih0aGlzLmNoZWNrZWR8fCFULnRlc3QoYSkpfSkubWFwKGZ1bmN0aW9uKGEsYil7dmFyIGM9byh0aGlzKS52YWwoKTtyZXR1cm4gbnVsbD09Yz9udWxsOm8uaXNBcnJheShjKT9vLm1hcChjLGZ1bmN0aW9uKGEpe3JldHVybntuYW1lOmIubmFtZSx2YWx1ZTphLnJlcGxhY2UoeWMsIlxyXG4iKX19KTp7bmFtZTpiLm5hbWUsdmFsdWU6Yy5yZXBsYWNlKHljLCJcclxuIil9fSkuZ2V0KCl9fSksby5hamF4U2V0dGluZ3MueGhyPWZ1bmN0aW9uKCl7dHJ5e3JldHVybiBuZXcgWE1MSHR0cFJlcXVlc3R9Y2F0Y2goYSl7fX07dmFyIENjPTAsRGM9e30sRWM9ezA6MjAwLDEyMjM6MjA0fSxGYz1vLmFqYXhTZXR0aW5ncy54aHIoKTthLkFjdGl2ZVhPYmplY3QmJm8oYSkub24oInVubG9hZCIsZnVuY3Rpb24oKXtmb3IodmFyIGEgaW4gRGMpRGNbYV0oKX0pLGwuY29ycz0hIUZjJiYid2l0aENyZWRlbnRpYWxzImluIEZjLGwuYWpheD1GYz0hIUZjLG8uYWpheFRyYW5zcG9ydChmdW5jdGlvbihhKXt2YXIgYjtyZXR1cm4gbC5jb3JzfHxGYyYmIWEuY3Jvc3NEb21haW4/e3NlbmQ6ZnVuY3Rpb24oYyxkKXt2YXIgZSxmPWEueGhyKCksZz0rK0NjO2lmKGYub3BlbihhLnR5cGUsYS51cmwsYS5hc3luYyxhLnVzZXJuYW1lLGEucGFzc3dvcmQpLGEueGhyRmllbGRzKWZvcihlIGluIGEueGhyRmllbGRzKWZbZV09YS54aHJGaWVsZHNbZV07YS5taW1lVHlwZSYmZi5vdmVycmlkZU1pbWVUeXBlJiZmLm92ZXJyaWRlTWltZVR5cGUoYS5taW1lVHlwZSksYS5jcm9zc0RvbWFpbnx8Y1siWC1SZXF1ZXN0ZWQtV2l0aCJdfHwoY1siWC1SZXF1ZXN0ZWQtV2l0aCJdPSJYTUxIdHRwUmVxdWVzdCIpO2ZvcihlIGluIGMpZi5zZXRSZXF1ZXN0SGVhZGVyKGUsY1tlXSk7Yj1mdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oKXtiJiYoZGVsZXRlIERjW2ddLGI9Zi5vbmxvYWQ9Zi5vbmVycm9yPW51bGwsImFib3J0Ij09PWE/Zi5hYm9ydCgpOiJlcnJvciI9PT1hP2QoZi5zdGF0dXMsZi5zdGF0dXNUZXh0KTpkKEVjW2Yuc3RhdHVzXXx8Zi5zdGF0dXMsZi5zdGF0dXNUZXh0LCJzdHJpbmciPT10eXBlb2YgZi5yZXNwb25zZVRleHQ/e3RleHQ6Zi5yZXNwb25zZVRleHR9OnZvaWQgMCxmLmdldEFsbFJlc3BvbnNlSGVhZGVycygpKSl9fSxmLm9ubG9hZD1iKCksZi5vbmVycm9yPWIoImVycm9yIiksYj1EY1tnXT1iKCJhYm9ydCIpLGYuc2VuZChhLmhhc0NvbnRlbnQmJmEuZGF0YXx8bnVsbCl9LGFib3J0OmZ1bmN0aW9uKCl7YiYmYigpfX06dm9pZCAwfSksby5hamF4U2V0dXAoe2FjY2VwdHM6e3NjcmlwdDoidGV4dC9qYXZhc2NyaXB0LCBhcHBsaWNhdGlvbi9qYXZhc2NyaXB0LCBhcHBsaWNhdGlvbi9lY21hc2NyaXB0LCBhcHBsaWNhdGlvbi94LWVjbWFzY3JpcHQifSxjb250ZW50czp7c2NyaXB0Oi8oPzpqYXZhfGVjbWEpc2NyaXB0L30sY29udmVydGVyczp7InRleHQgc2NyaXB0IjpmdW5jdGlvbihhKXtyZXR1cm4gby5nbG9iYWxFdmFsKGEpLGF9fX0pLG8uYWpheFByZWZpbHRlcigic2NyaXB0IixmdW5jdGlvbihhKXt2b2lkIDA9PT1hLmNhY2hlJiYoYS5jYWNoZT0hMSksYS5jcm9zc0RvbWFpbiYmKGEudHlwZT0iR0VUIil9KSxvLmFqYXhUcmFuc3BvcnQoInNjcmlwdCIsZnVuY3Rpb24oYSl7aWYoYS5jcm9zc0RvbWFpbil7dmFyIGIsYztyZXR1cm57c2VuZDpmdW5jdGlvbihkLGUpe2I9bygiPHNjcmlwdD4iKS5wcm9wKHthc3luYzohMCxjaGFyc2V0OmEuc2NyaXB0Q2hhcnNldCxzcmM6YS51cmx9KS5vbigibG9hZCBlcnJvciIsYz1mdW5jdGlvbihhKXtiLnJlbW92ZSgpLGM9bnVsbCxhJiZlKCJlcnJvciI9PT1hLnR5cGU/NDA0OjIwMCxhLnR5cGUpfSksbS5oZWFkLmFwcGVuZENoaWxkKGJbMF0pfSxhYm9ydDpmdW5jdGlvbigpe2MmJmMoKX19fX0pO3ZhciBHYz1bXSxIYz0vKD0pXD8oPz0mfCQpfFw/XD8vO28uYWpheFNldHVwKHtqc29ucDoiY2FsbGJhY2siLGpzb25wQ2FsbGJhY2s6ZnVuY3Rpb24oKXt2YXIgYT1HYy5wb3AoKXx8by5leHBhbmRvKyJfIitjYysrO3JldHVybiB0aGlzW2FdPSEwLGF9fSksby5hamF4UHJlZmlsdGVyKCJqc29uIGpzb25wIixmdW5jdGlvbihiLGMsZCl7dmFyIGUsZixnLGg9Yi5qc29ucCE9PSExJiYoSGMudGVzdChiLnVybCk/InVybCI6InN0cmluZyI9PXR5cGVvZiBiLmRhdGEmJiEoYi5jb250ZW50VHlwZXx8IiIpLmluZGV4T2YoImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIpJiZIYy50ZXN0KGIuZGF0YSkmJiJkYXRhIik7cmV0dXJuIGh8fCJqc29ucCI9PT1iLmRhdGFUeXBlc1swXT8oZT1iLmpzb25wQ2FsbGJhY2s9by5pc0Z1bmN0aW9uKGIuanNvbnBDYWxsYmFjayk/Yi5qc29ucENhbGxiYWNrKCk6Yi5qc29ucENhbGxiYWNrLGg/YltoXT1iW2hdLnJlcGxhY2UoSGMsIiQxIitlKTpiLmpzb25wIT09ITEmJihiLnVybCs9KGRjLnRlc3QoYi51cmwpPyImIjoiPyIpK2IuanNvbnArIj0iK2UpLGIuY29udmVydGVyc1sic2NyaXB0IGpzb24iXT1mdW5jdGlvbigpe3JldHVybiBnfHxvLmVycm9yKGUrIiB3YXMgbm90IGNhbGxlZCIpLGdbMF19LGIuZGF0YVR5cGVzWzBdPSJqc29uIixmPWFbZV0sYVtlXT1mdW5jdGlvbigpe2c9YXJndW1lbnRzfSxkLmFsd2F5cyhmdW5jdGlvbigpe2FbZV09ZixiW2VdJiYoYi5qc29ucENhbGxiYWNrPWMuanNvbnBDYWxsYmFjayxHYy5wdXNoKGUpKSxnJiZvLmlzRnVuY3Rpb24oZikmJmYoZ1swXSksZz1mPXZvaWQgMH0pLCJzY3JpcHQiKTp2b2lkIDB9KSxvLnBhcnNlSFRNTD1mdW5jdGlvbihhLGIsYyl7aWYoIWF8fCJzdHJpbmciIT10eXBlb2YgYSlyZXR1cm4gbnVsbDsiYm9vbGVhbiI9PXR5cGVvZiBiJiYoYz1iLGI9ITEpLGI9Ynx8bTt2YXIgZD12LmV4ZWMoYSksZT0hYyYmW107cmV0dXJuIGQ/W2IuY3JlYXRlRWxlbWVudChkWzFdKV06KGQ9by5idWlsZEZyYWdtZW50KFthXSxiLGUpLGUmJmUubGVuZ3RoJiZvKGUpLnJlbW92ZSgpLG8ubWVyZ2UoW10sZC5jaGlsZE5vZGVzKSl9O3ZhciBJYz1vLmZuLmxvYWQ7by5mbi5sb2FkPWZ1bmN0aW9uKGEsYixjKXtpZigic3RyaW5nIiE9dHlwZW9mIGEmJkljKXJldHVybiBJYy5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dmFyIGQsZSxmLGc9dGhpcyxoPWEuaW5kZXhPZigiICIpO3JldHVybiBoPj0wJiYoZD1hLnNsaWNlKGgpLGE9YS5zbGljZSgwLGgpKSxvLmlzRnVuY3Rpb24oYik/KGM9YixiPXZvaWQgMCk6YiYmIm9iamVjdCI9PXR5cGVvZiBiJiYoZT0iUE9TVCIpLGcubGVuZ3RoPjAmJm8uYWpheCh7dXJsOmEsdHlwZTplLGRhdGFUeXBlOiJodG1sIixkYXRhOmJ9KS5kb25lKGZ1bmN0aW9uKGEpe2Y9YXJndW1lbnRzLGcuaHRtbChkP28oIjxkaXY+IikuYXBwZW5kKG8ucGFyc2VIVE1MKGEpKS5maW5kKGQpOmEpfSkuY29tcGxldGUoYyYmZnVuY3Rpb24oYSxiKXtnLmVhY2goYyxmfHxbYS5yZXNwb25zZVRleHQsYixhXSl9KSx0aGlzfSxvLmV4cHIuZmlsdGVycy5hbmltYXRlZD1mdW5jdGlvbihhKXtyZXR1cm4gby5ncmVwKG8udGltZXJzLGZ1bmN0aW9uKGIpe3JldHVybiBhPT09Yi5lbGVtfSkubGVuZ3RofTt2YXIgSmM9YS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7ZnVuY3Rpb24gS2MoYSl7cmV0dXJuIG8uaXNXaW5kb3coYSk/YTo5PT09YS5ub2RlVHlwZSYmYS5kZWZhdWx0Vmlld31vLm9mZnNldD17c2V0T2Zmc2V0OmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGYsZyxoLGksaixrPW8uY3NzKGEsInBvc2l0aW9uIiksbD1vKGEpLG09e307InN0YXRpYyI9PT1rJiYoYS5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiKSxoPWwub2Zmc2V0KCksZj1vLmNzcyhhLCJ0b3AiKSxpPW8uY3NzKGEsImxlZnQiKSxqPSgiYWJzb2x1dGUiPT09a3x8ImZpeGVkIj09PWspJiYoZitpKS5pbmRleE9mKCJhdXRvIik+LTEsaj8oZD1sLnBvc2l0aW9uKCksZz1kLnRvcCxlPWQubGVmdCk6KGc9cGFyc2VGbG9hdChmKXx8MCxlPXBhcnNlRmxvYXQoaSl8fDApLG8uaXNGdW5jdGlvbihiKSYmKGI9Yi5jYWxsKGEsYyxoKSksbnVsbCE9Yi50b3AmJihtLnRvcD1iLnRvcC1oLnRvcCtnKSxudWxsIT1iLmxlZnQmJihtLmxlZnQ9Yi5sZWZ0LWgubGVmdCtlKSwidXNpbmciaW4gYj9iLnVzaW5nLmNhbGwoYSxtKTpsLmNzcyhtKX19LG8uZm4uZXh0ZW5kKHtvZmZzZXQ6ZnVuY3Rpb24oYSl7aWYoYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdm9pZCAwPT09YT90aGlzOnRoaXMuZWFjaChmdW5jdGlvbihiKXtvLm9mZnNldC5zZXRPZmZzZXQodGhpcyxhLGIpfSk7dmFyIGIsYyxkPXRoaXNbMF0sZT17dG9wOjAsbGVmdDowfSxmPWQmJmQub3duZXJEb2N1bWVudDtpZihmKXJldHVybiBiPWYuZG9jdW1lbnRFbGVtZW50LG8uY29udGFpbnMoYixkKT8odHlwZW9mIGQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0IT09VSYmKGU9ZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSksYz1LYyhmKSx7dG9wOmUudG9wK2MucGFnZVlPZmZzZXQtYi5jbGllbnRUb3AsbGVmdDplLmxlZnQrYy5wYWdlWE9mZnNldC1iLmNsaWVudExlZnR9KTplfSxwb3NpdGlvbjpmdW5jdGlvbigpe2lmKHRoaXNbMF0pe3ZhciBhLGIsYz10aGlzWzBdLGQ9e3RvcDowLGxlZnQ6MH07cmV0dXJuImZpeGVkIj09PW8uY3NzKGMsInBvc2l0aW9uIik/Yj1jLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOihhPXRoaXMub2Zmc2V0UGFyZW50KCksYj10aGlzLm9mZnNldCgpLG8ubm9kZU5hbWUoYVswXSwiaHRtbCIpfHwoZD1hLm9mZnNldCgpKSxkLnRvcCs9by5jc3MoYVswXSwiYm9yZGVyVG9wV2lkdGgiLCEwKSxkLmxlZnQrPW8uY3NzKGFbMF0sImJvcmRlckxlZnRXaWR0aCIsITApKSx7dG9wOmIudG9wLWQudG9wLW8uY3NzKGMsIm1hcmdpblRvcCIsITApLGxlZnQ6Yi5sZWZ0LWQubGVmdC1vLmNzcyhjLCJtYXJnaW5MZWZ0IiwhMCl9fX0sb2Zmc2V0UGFyZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vZmZzZXRQYXJlbnR8fEpjO3doaWxlKGEmJiFvLm5vZGVOYW1lKGEsImh0bWwiKSYmInN0YXRpYyI9PT1vLmNzcyhhLCJwb3NpdGlvbiIpKWE9YS5vZmZzZXRQYXJlbnQ7cmV0dXJuIGF8fEpjfSl9fSksby5lYWNoKHtzY3JvbGxMZWZ0OiJwYWdlWE9mZnNldCIsc2Nyb2xsVG9wOiJwYWdlWU9mZnNldCJ9LGZ1bmN0aW9uKGIsYyl7dmFyIGQ9InBhZ2VZT2Zmc2V0Ij09PWM7by5mbltiXT1mdW5jdGlvbihlKXtyZXR1cm4gSih0aGlzLGZ1bmN0aW9uKGIsZSxmKXt2YXIgZz1LYyhiKTtyZXR1cm4gdm9pZCAwPT09Zj9nP2dbY106YltlXTp2b2lkKGc/Zy5zY3JvbGxUbyhkP2EucGFnZVhPZmZzZXQ6ZixkP2Y6YS5wYWdlWU9mZnNldCk6YltlXT1mKX0sYixlLGFyZ3VtZW50cy5sZW5ndGgsbnVsbCl9fSksby5lYWNoKFsidG9wIiwibGVmdCJdLGZ1bmN0aW9uKGEsYil7by5jc3NIb29rc1tiXT15YihsLnBpeGVsUG9zaXRpb24sZnVuY3Rpb24oYSxjKXtyZXR1cm4gYz8oYz14YihhLGIpLHZiLnRlc3QoYyk/byhhKS5wb3NpdGlvbigpW2JdKyJweCI6Yyk6dm9pZCAwfSl9KSxvLmVhY2goe0hlaWdodDoiaGVpZ2h0IixXaWR0aDoid2lkdGgifSxmdW5jdGlvbihhLGIpe28uZWFjaCh7cGFkZGluZzoiaW5uZXIiK2EsY29udGVudDpiLCIiOiJvdXRlciIrYX0sZnVuY3Rpb24oYyxkKXtvLmZuW2RdPWZ1bmN0aW9uKGQsZSl7dmFyIGY9YXJndW1lbnRzLmxlbmd0aCYmKGN8fCJib29sZWFuIiE9dHlwZW9mIGQpLGc9Y3x8KGQ9PT0hMHx8ZT09PSEwPyJtYXJnaW4iOiJib3JkZXIiKTtyZXR1cm4gSih0aGlzLGZ1bmN0aW9uKGIsYyxkKXt2YXIgZTtyZXR1cm4gby5pc1dpbmRvdyhiKT9iLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFsiY2xpZW50IithXTo5PT09Yi5ub2RlVHlwZT8oZT1iLmRvY3VtZW50RWxlbWVudCxNYXRoLm1heChiLmJvZHlbInNjcm9sbCIrYV0sZVsic2Nyb2xsIithXSxiLmJvZHlbIm9mZnNldCIrYV0sZVsib2Zmc2V0IithXSxlWyJjbGllbnQiK2FdKSk6dm9pZCAwPT09ZD9vLmNzcyhiLGMsZyk6by5zdHlsZShiLGMsZCxnKX0sYixmP2Q6dm9pZCAwLGYsbnVsbCl9fSl9KSxvLmZuLnNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sZW5ndGh9LG8uZm4uYW5kU2VsZj1vLmZuLmFkZEJhY2ssImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZCYmZGVmaW5lKCJqcXVlcnkiLFtdLGZ1bmN0aW9uKCl7cmV0dXJuIG99KTt2YXIgTGM9YS5qUXVlcnksTWM9YS4kO3JldHVybiBvLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oYil7cmV0dXJuIGEuJD09PW8mJihhLiQ9TWMpLGImJmEualF1ZXJ5PT09byYmKGEualF1ZXJ5PUxjKSxvfSx0eXBlb2YgYj09PVUmJihhLmpRdWVyeT1hLiQ9byksb30pOw0K"}},"time_used":13,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":10,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ssltvc.forexprostools.com/cc6698fccca44e51b088d9ddbbcf8ec8/1785120633/7/7/17/config","fqdn":"ssltvc.forexprostools.com","domain":"forexprostools.com","tld":"com"},"ip":{"addr":"172.64.145.17","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://tvc-invdn-cf-com.investing.com/tool/1.12.10/tool-prod-2-ssl.html?carrier=cc6698fccca44e51b088d9ddbbcf8ec8\u0026time=1785120633\u0026domain_ID=7\u0026lang_ID=7\u0026timezone_ID=17\u0026version=1.12.10\u0026locale=ru\u0026timezone=Europe/Moscow\u0026pair_ID=945629\u0026interval=5\u0026session=24x7\u0026prefix=ru\u0026suffix=\u0026client=0\u0026user=\u0026plotStyle=area\u0026geoc=NO\u0026styleOverride=","date":"2026-07-27T02:50:34.464Z","timestamp":1785120634464,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ssltvc.forexprostools.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 01 Jul 2026 07:28:49 GMT","end":"Tue, 29 Sep 2026 08:28:41 GMT"},"fingerprint":{"sha1":"A5:B9:A3:37:7A:C1:B6:8A:CE:8E:33:4E:C4:D0:99:66:F7:7A:73:97","sha256":"71:C3:86:3A:F2:24:C3:AF:EF:93:54:97:D5:74:4E:5F:D9:86:A5:FC:AC:5A:03:59:95:7F:14:56:28:BF:61:89"}}},"request":{"raw":"GET /cc6698fccca44e51b088d9ddbbcf8ec8/1785120633/7/7/17/config HTTP/1.1\r\nHost: ssltvc.forexprostools.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://tvc-invdn-cf-com.investing.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://tvc-invdn-cf-com.investing.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 02:50:34 GMT\r\ncontent-type: text/html; charset=UTF-8\r\nserver: cloudflare\r\nset-cookie: __cf_bm=AnXuIShqOiOfoqEVzo6qHo_WcjkgNbX_xKnqRF9NZVA-1785120634.4788172-1.0.1.1-eYG8aWJuazNu_EBkkpLsp6k989O_8AebjPIkVd9Z9K7AgOswEwUdOmcRrftBSPLMdDaFftbrWf48XgSkfDQbLQhSfRyZ2ESVgulmTO5DZW_O9ZQvyH74YVTrC522oP4F; HttpOnly; SameSite=None; Secure; Path=/; Domain=forexprostools.com; Expires=Mon, 27 Jul 2026 03:20:34 GMT\r\naccess-control-allow-origin: https://tvc-invdn-cf-com.investing.com\r\nx-requested-with: XMLHttpRequest\r\naccess-control-allow-methods: POST, GET, OPTIONS, PUT, DELETE\r\naccess-control-allow-headers: Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, accept, sessionid, x-csrftoken, content-type\r\nx-benchmark-1a: 0ms, mem alloc - 2.00Mb start\r\nx-benchmark-1b: 0ms, mem alloc - 2.00Mb start of TradingviewConnector::getExchanges\r\nx-benchmark-1c: 0ms, mem alloc - 2.00Mb end of TradingviewConnector::getExchanges\r\nx-benchmark-1d: 0ms, mem alloc - 2.00Mb end\r\nvary: Accept-Encoding,User-Agent\r\ncontent-security-policy: upgrade-insecure-requests; block-all-mixed-content\r\ncf-cache-status: DYNAMIC\r\ncontent-encoding: gzip\r\ncf-ray: a218565d7b971a30-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare Bot Management","description":"Cloudflare bot management solution identifies and mitigates automated traffic to protect websites from bad bots.","website":"https://www.cloudflare.com/en-gb/products/bot-management/","common_platform_enumeration":"","icon":"CloudFlare.svg","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":83754,"size_decoded":11113,"mime_type":"text/html; charset=UTF-8","magic":"JSON text data","md5":"a0bedb9f1d3ff32fbc15764715d196ea","sha1":"9b77deef2bce3e8d77570217b8b8940b91b65c32","sha256":"b166ef95179bb4b727d6762238b7e5247baf946b4c75ac168f3779c92f2351c6","sha512":"bea547eed20fb47b5a80a4175d6c5aee8b8cb17b947704e066ce85ee4d8d3b674979ef7427a2f0d612bc8f6de84d849b464acdc7c6a016794e0f2c9a8e818bf0","ssdeep":"384:n+u+2+e+dM+k+D+i+axD+W+M+f+o+g+I+6+o+G+8+E+w+P+0+I+V+J+3+3+w+e+C:Q9C4ZYCVsqlnt6jibkAqj5cAvqie9dr","tlshash":"69836cb89b714ebdcebb62a4b54db3d95378921b92e08dc135c48e684fa4dc07016b1f","first_seen":"2026-07-27T02:45:25.226497Z","last_seen":"2026-07-27T02:52:08.328879Z","times_seen":3,"resource_available":false,"data":"eyJzdXBwb3J0c19zZWFyY2giOnRydWUsInN1cHBvcnRzX2dyb3VwX3JlcXVlc3QiOmZhbHNlLCJzdXBwb3J0c19tYXJrcyI6dHJ1ZSwiZXhjaGFuZ2VzIjpbeyJ2YWx1ZSI6IiIsIm5hbWUiOiJcdTA0MTJcdTA0NDFcdTA0MzUgXHUwNDMxXHUwNDM4XHUwNDQwXHUwNDM2XHUwNDM4IiwiZGVzYyI6Ilx1MDQxMlx1MDQ0MVx1MDQzNSBcdTA0MzFcdTA0MzhcdTA0NDBcdTA0MzZcdTA0MzgifSx7ImlkIjoiMTIyNiIsInZhbHVlIjoiQUFYIiwibmFtZSI6IkFBWCIsImRlc2MiOiIgLSBBQVggIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjExNTAiLCJ2YWx1ZSI6IkFCQ0MiLCJuYW1lIjoiQUJDQyIsImRlc2MiOiIgLSBBQkNDICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMDQxIiwidmFsdWUiOiJBQ1giLCJuYW1lIjoiQUNYIiwiZGVzYyI6IiAtIEFDWCAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTA2NSIsInZhbHVlIjoiQUVYIiwibmFtZSI6IkFFWCIsImRlc2MiOiIgLSBBRVggIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEwMTEiLCJ2YWx1ZSI6IkFOWCIsIm5hbWUiOiJBTlgiLCJkZXNjIjoiIC0gQU5YICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMTkxIiwidmFsdWUiOiJBbGllbkNsb3VkIiwibmFtZSI6IkFsaWVuQ2xvdWQiLCJkZXNjIjoiIC0gQWxpZW5DbG91ZCAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTA0MiIsInZhbHVlIjoiQWxsY29pbiIsIm5hbWUiOiJBbGxjb2luIiwiZGVzYyI6IiAtIEFsbGNvaW4gIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjExNTEiLCJ2YWx1ZSI6IkFsdENvaW5UcmFkZXIiLCJuYW1lIjoiQWx0Q29pblRyYWRlciIsImRlc2MiOiIgLSBBbHRDb2luVHJhZGVyICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMjIwIiwidmFsdWUiOiJBbHRpbGx5IiwibmFtZSI6IkFsdGlsbHkiLCJkZXNjIjoiIC0gQWx0aWxseSAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTE2MyIsInZhbHVlIjoiQXNjZW5kRVggKEJpdG1heCkiLCJuYW1lIjoiQXNjZW5kRVggKEJpdE1heCkiLCJkZXNjIjoiIC0gQXNjZW5kRVggKEJpdE1heCkgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEyNjkiLCJ2YWx1ZSI6IkF6Yml0IiwibmFtZSI6IkF6Yml0IiwiZGVzYyI6IiAtIEF6Yml0ICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMjcwIiwidmFsdWUiOiJCMlogRXhjaGFuZ2UiLCJuYW1lIjoiQjJaIEV4Y2hhbmdlIiwiZGVzYyI6IiAtIEIyWiBFeGNoYW5nZSAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTE5OCIsInZhbHVlIjoiQklPTkUiLCJuYW1lIjoiQklPTkUiLCJkZXNjIjoiIC0gQklPTkUgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEyNDciLCJ2YWx1ZSI6IkJLRVgiLCJuYW1lIjoiQktFWCIsImRlc2MiOiIgLSBCS0VYICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMDMyIiwidmFsdWUiOiJCaXRjb2luSW5kb25lc2lhIiwibmFtZSI6IkJUQyBJbmRvbmVzaWEiLCJkZXNjIjoiIC0gQlRDIEluZG9uZXNpYSAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTA2OSIsInZhbHVlIjoiQlRDIE1hcmtldHMiLCJuYW1lIjoiQlRDIE1hcmtldHMiLCJkZXNjIjoiIC0gQlRDIE1hcmtldHMgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEwODUiLCJ2YWx1ZSI6IkJUQy1BbHBoYSIsIm5hbWUiOiJCVEMtQWxwaGEiLCJkZXNjIjoiIC0gQlRDLUFscGhhICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMDQ1IiwidmFsdWUiOiJCVENCT1giLCJuYW1lIjoiQlRDQk9YIiwiZGVzYyI6IiAtIEJUQ0JPWCAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTAxMCIsInZhbHVlIjoiQlRDIENoaW5hIiwibmFtZSI6IkJUQ0MiLCJkZXNjIjoiIC0gQlRDQyAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTA1MCIsInZhbHVlIjoiQlRDQyIsIm5hbWUiOiJCVENDIiwiZGVzYyI6IiAtIEJUQ0MgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEwMjQiLCJ2YWx1ZSI6IkJUQ1R1cmsiLCJuYW1lIjoiQlRDVHVyayIsImRlc2MiOiIgLSBCVENUdXJrICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMDA3IiwidmFsdWUiOiJCVEMtZSIsIm5hbWUiOiJCVENlIiwiZGVzYyI6IiAtIEJUQ2UgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEyMTgiLCJ2YWx1ZSI6IkJUU0UiLCJuYW1lIjoiQlRTRSIsImRlc2MiOiIgLSBCVFNFICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMDMxIiwidmFsdWUiOiJCWFRoYWlsYW5kIiwibmFtZSI6IkJYVGhhaWxhbmQiLCJkZXNjIjoiIC0gQlhUaGFpbGFuZCAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTA5NCIsInZhbHVlIjoiQmFuY29yIE5ldHdvcmsiLCJuYW1lIjoiQmFuY29yIE5ldHdvcmsiLCJkZXNjIjoiIC0gQmFuY29yIE5ldHdvcmsgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEwNTMiLCJ2YWx1ZSI6IkJpYm94IiwibmFtZSI6IkJpYm94IiwiZGVzYyI6IiAtIEJpYm94ICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMDc1IiwidmFsdWUiOiJCaWdPTkUiLCJuYW1lIjoiQmlnT05FIiwiZGVzYyI6IiAtIEJpZ09ORSAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTE4MCIsInZhbHVlIjoiQmlsYXh5IiwibmFtZSI6IkJpbGF4eSIsImRlc2MiOiIgLSBCaWxheHkgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEwMjciLCJ2YWx1ZSI6IkJpbmFuY2UiLCJuYW1lIjoiQmluYW5jZSIsImRlc2MiOiIgLSBCaW5hbmNlICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMjE1IiwidmFsdWUiOiJCaW5hbmNlIERFWCIsIm5hbWUiOiJCaW5hbmNlIERFWCIsImRlc2MiOiIgLSBCaW5hbmNlIERFWCAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTI4MyIsInZhbHVlIjoiQmluYW5jZSBGdXR1cmVzIiwibmFtZSI6IkJpbmFuY2UgRnV0dXJlcyIsImRlc2MiOiIgLSBCaW5hbmNlIEZ1dHVyZXMgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEyNDIiLCJ2YWx1ZSI6IkJpbmFuY2UuVVMiLCJuYW1lIjoiQmluYW5jZS5VUyIsImRlc2MiOiIgLSBCaW5hbmNlLlVTICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMDQwIiwidmFsdWUiOiJCaXQtWiIsIm5hbWUiOiJCaXQtWiIsImRlc2MiOiIgLSBCaXQtWiAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTE2MiIsInZhbHVlIjoiQml0Rm9yZXgiLCJuYW1lIjoiQml0Rm9yZXgiLCJkZXNjIjoiIC0gQml0Rm9yZXggIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEyMzciLCJ2YWx1ZSI6IkJpdEdsb2JhbCIsIm5hbWUiOiJCaXRHbG9iYWwiLCJkZXNjIjoiIC0gQml0R2xvYmFsICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMDQ5IiwidmFsdWUiOiJCaXRNRVgiLCJuYW1lIjoiQml0TUVYIiwiZGVzYyI6IiAtIEJpdE1FWCAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTE0MSIsInZhbHVlIjoiQml0TWFydCIsIm5hbWUiOiJCaXRNYXJ0IiwiZGVzYyI6IiAtIEJpdE1hcnQgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEwMDYiLCJ2YWx1ZSI6IkJpdFN0YW1wIiwibmFtZSI6IkJpdFN0YW1wIiwiZGVzYyI6IiAtIEJpdFN0YW1wICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMjc4IiwidmFsdWUiOiJCaXRTdG9yYWdlIiwibmFtZSI6IkJpdFN0b3JhZ2UiLCJkZXNjIjoiIC0gQml0U3RvcmFnZSAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTA3MiIsInZhbHVlIjoiQml0YmFuayIsIm5hbWUiOiJCaXRiYW5rIiwiZGVzYyI6IiAtIEJpdGJhbmsgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjExNzEiLCJ2YWx1ZSI6IkJpdGJlZ2luIiwibmFtZSI6IkJpdGJlZ2luIiwiZGVzYyI6IiAtIEJpdGJlZ2luICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMTM4IiwidmFsdWUiOiJCaXRibnMiLCJuYW1lIjoiQml0Ym5zIiwiZGVzYyI6IiAtIEJpdGJucyAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTIwMiIsInZhbHVlIjoiQml0Y2kuY29tIiwibmFtZSI6IkJpdGNpLmNvbSIsImRlc2MiOiIgLSBCaXRjaS5jb20gIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEwODAiLCJ2YWx1ZSI6IkJpdGNvaW5Ub1lvdSIsIm5hbWUiOiJCaXRjb2luVG9Zb3UiLCJkZXNjIjoiIC0gQml0Y29pblRvWW91ICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMDgxIiwidmFsdWUiOiJCaXRjb2luVHJhZGUiLCJuYW1lIjoiQml0Y29pblRyYWRlIiwiZGVzYyI6IiAtIEJpdGNvaW5UcmFkZSAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTExNCIsInZhbHVlIjoiQml0ZUJUQyIsIm5hbWUiOiJCaXRlQlRDIiwiZGVzYyI6IiAtIEJpdGVCVEMgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEyMDkiLCJ2YWx1ZSI6IkJpdGV4LmxhIiwibmFtZSI6IkJpdGV4LmxhIiwiZGVzYyI6IiAtIEJpdGV4LmxhICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMjMzIiwidmFsdWUiOiJCaXRleGVuIiwibmFtZSI6IkJpdGV4ZW4iLCJkZXNjIjoiIC0gQml0ZXhlbiAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTE4OCIsInZhbHVlIjoiQml0ZXhsaXZlIiwibmFtZSI6IkJpdGV4bGl2ZSIsImRlc2MiOiIgLSBCaXRleGxpdmUgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjExMDIiLCJ2YWx1ZSI6IkJpdGZleCIsIm5hbWUiOiJCaXRmZXgiLCJkZXNjIjoiIC0gQml0ZmV4ICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMDE0IiwidmFsdWUiOiJCaXRmaW5leCIsIm5hbWUiOiJCaXRmaW5leCIsImRlc2MiOiIgLSBCaXRmaW5leCAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTI0NCIsInZhbHVlIjoiQml0Z2V0IiwibmFtZSI6IkJpdGdldCIsImRlc2MiOiIgLSBCaXRnZXQgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEwOTYiLCJ2YWx1ZSI6IkJpdGhlc2FwIiwibmFtZSI6IkJpdGhlc2FwIiwiZGVzYyI6IiAtIEJpdGhlc2FwICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMDE3IiwidmFsdWUiOiJCaXRodW1iIiwibmFtZSI6IkJpdGh1bWIiLCJkZXNjIjoiIC0gQml0aHVtYiAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTE0MiIsInZhbHVlIjoiQml0aWJ1IiwibmFtZSI6IkJpdGlidSIsImRlc2MiOiIgLSBCaXRpYnUgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjExNzgiLCJ2YWx1ZSI6IkJpdGlua2EiLCJuYW1lIjoiQml0aW5rYSIsImRlc2MiOiIgLSBCaXRpbmthICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMTUyIiwidmFsdWUiOiJCaXRrdWIiLCJuYW1lIjoiQml0a3ViIiwiZGVzYyI6IiAtIEJpdGt1YiAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTEzMyIsInZhbHVlIjoiQml0bGlzaCIsIm5hbWUiOiJCaXRsaXNoIiwiZGVzYyI6IiAtIEJpdGxpc2ggIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEyMjciLCJ2YWx1ZSI6IkJpdHBhbmRhIFBybyIsIm5hbWUiOiJCaXRwYW5kYSBQcm8iLCJkZXNjIjoiIC0gQml0cGFuZGEgUHJvICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMTQ3IiwidmFsdWUiOiJCaXRydWUiLCJuYW1lIjoiQml0cnVlIiwiZGVzYyI6IiAtIEJpdHJ1ZSAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTE4MiIsInZhbHVlIjoiQml0c2FuZSIsIm5hbWUiOiJCaXRzYW5lIiwiZGVzYyI6IiAtIEJpdHNhbmUgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEyMjkiLCJ2YWx1ZSI6IkJpdHNvIiwibmFtZSI6IkJpdHNvIiwiZGVzYyI6IiAtIEJpdHNvICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMjYwIiwidmFsdWUiOiJCaXRzcGF5IiwibmFtZSI6IkJpdHNwYXkiLCJkZXNjIjoiIC0gQml0c3BheSAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTAyMiIsInZhbHVlIjoiQml0dHJleCIsIm5hbWUiOiJCaXR0cmV4IiwiZGVzYyI6IiAtIEJpdHRyZXggIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEyNDYiLCJ2YWx1ZSI6IkJpdHZhdm8iLCJuYW1lIjoiQml0dmF2byIsImRlc2MiOiIgLSBCaXR2YXZvICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMDkwIiwidmFsdWUiOiJCbGV1dHJhZGUiLCJuYW1lIjoiQmxldXRyYWRlIiwiZGVzYyI6IiAtIEJsZXV0cmFkZSAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTI3NCIsInZhbHVlIjoiQmx5bmV4IiwibmFtZSI6IkJseW5leCIsImRlc2MiOiIgLSBCbHluZXggIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEwODIiLCJ2YWx1ZSI6IkJyYXppbGlleCIsIm5hbWUiOiJCcmF6aWxpZXgiLCJkZXNjIjoiIC0gQnJhemlsaWV4ICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMjExIiwidmFsdWUiOiJCdGN3aW5leCIsIm5hbWUiOiJCdGN3aW5leCIsImRlc2MiOiIgLSBCdGN3aW5leCAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTEyNiIsInZhbHVlIjoiQy1DRVgiLCJuYW1lIjoiQy1DRVgiLCJkZXNjIjoiIC0gQy1DRVggIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEyMDMiLCJ2YWx1ZSI6IkMtUGF0ZXgiLCJuYW1lIjoiQy1QYXRleCIsImRlc2MiOiIgLSBDLVBhdGV4ICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMTQ2IiwidmFsdWUiOiJDMkNYIiwibmFtZSI6IkMyQ1giLCJkZXNjIjoiIC0gQzJDWCAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTE2OSIsInZhbHVlIjoiQ0JYIiwibmFtZSI6IkNCWCIsImRlc2MiOiIgLSBDQlggIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEwMzQiLCJ2YWx1ZSI6IkNFWC5JTyIsIm5hbWUiOiJDRVguSU8iLCJkZXNjIjoiIC0gQ0VYLklPICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMjAxIiwidmFsdWUiOiJDSEFPRVgiLCJuYW1lIjoiQ0hBT0VYIiwiZGVzYyI6IiAtIENIQU9FWCAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTAxOSIsInZhbHVlIjoiQ0hCVEMiLCJuYW1lIjoiQ0hCVEMiLCJkZXNjIjoiIC0gQ0hCVEMgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEwNTEiLCJ2YWx1ZSI6IkNPSU5FR0ciLCJuYW1lIjoiQ09JTkVHRyIsImRlc2MiOiIgLSBDT0lORUdHICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMjEyIiwidmFsdWUiOiJDT1NTIiwibmFtZSI6IkNPU1MiLCJkZXNjIjoiIC0gQ09TUyAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTE1NSIsInZhbHVlIjoiQ1BEQVgiLCJuYW1lIjoiQ1BEQVgiLCJkZXNjIjoiIC0gQ1BEQVggIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEyMzEiLCJ2YWx1ZSI6IkNWSSBGaW5hbmNlIiwibmFtZSI6IkNWSSBGaW5hbmNlIiwiZGVzYyI6IiAtIENWSSBGaW5hbmNlICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMTYxIiwidmFsdWUiOiJDYXNoaWVyZXN0IiwibmFtZSI6IkNhc2hpZXJlc3QiLCJkZXNjIjoiIC0gQ2FzaGllcmVzdCAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTIzOSIsInZhbHVlIjoiQ2hpbGl6IiwibmFtZSI6IkNoaWxpeiIsImRlc2MiOiIgLSBDaGlsaXogIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEwOTEiLCJ2YWx1ZSI6IkNvYmluaG9vZCIsIm5hbWUiOiJDb2Jpbmhvb2QiLCJkZXNjIjoiIC0gQ29iaW5ob29kICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMTY1IiwidmFsdWUiOiJDb2luQWxsIiwibmFtZSI6IkNvaW5BbGwiLCJkZXNjIjoiIC0gQ29pbkFsbCAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTI2OCIsInZhbHVlIjoiQ29pbkRDWCIsIm5hbWUiOiJDb2luRENYIiwiZGVzYyI6IiAtIENvaW5EQ1ggIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjExMTUiLCJ2YWx1ZSI6IkNvaW5FeCIsIm5hbWUiOiJDb2luRXgiLCJkZXNjIjoiIC0gQ29pbkV4ICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMDg0IiwidmFsdWUiOiJDb2luRXhjaGFuZ2UiLCJuYW1lIjoiQ29pbkV4Y2hhbmdlIiwiZGVzYyI6IiAtIENvaW5FeGNoYW5nZSAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTE3NCIsInZhbHVlIjoiQ29pbkZpZWxkIiwibmFtZSI6IkNvaW5GaWVsZCIsImRlc2MiOiIgLSBDb2luRmllbGQgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjExNTciLCJ2YWx1ZSI6IkNvaW5IdWIiLCJuYW1lIjoiQ29pbkh1YiIsImRlc2MiOiIgLSBDb2luSHViICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMjYzIiwidmFsdWUiOiJDb2luSmFyIiwibmFtZSI6IkNvaW5KYXIiLCJkZXNjIjoiIC0gQ29pbkphciAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTE3NyIsInZhbHVlIjoiQ29pbk1leCIsIm5hbWUiOiJDb2luTWV4IiwiZGVzYyI6IiAtIENvaW5NZXggIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjExMDkiLCJ2YWx1ZSI6IkNvaW5UaWdlciIsIm5hbWUiOiJDb2luVGlnZXIiLCJkZXNjIjoiIC0gQ29pblRpZ2VyICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMjUxIiwidmFsdWUiOiJDb2luVyIsIm5hbWUiOiJDb2luVyIsImRlc2MiOiIgLSBDb2luVyAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTE3OSIsInZhbHVlIjoiQ29pblplc3QiLCJuYW1lIjoiQ29pblplc3QiLCJkZXNjIjoiIC0gQ29pblplc3QgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjExODEiLCJ2YWx1ZSI6IkNvaW5iYXNlIFBybyIsIm5hbWUiOiJDb2luYmFzZSBQcm8iLCJkZXNjIjoiIC0gQ29pbmJhc2UgUHJvICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMDk4IiwidmFsdWUiOiJDb2luYmVuZSIsIm5hbWUiOiJDb2luYmVuZSIsImRlc2MiOiIgLSBDb2luYmVuZSAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTE5NSIsInZhbHVlIjoiQ29pbmJpZyIsIm5hbWUiOiJDb2luYmlnIiwiZGVzYyI6IiAtIENvaW5iaWcgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEyMTQiLCJ2YWx1ZSI6IkNvaW5lYWwiLCJuYW1lIjoiQ29pbmVhbCIsImRlc2MiOiIgLSBDb2luZWFsICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMjI1IiwidmFsdWUiOiJDb2luZXh0IiwibmFtZSI6IkNvaW5leHQiLCJkZXNjIjoiIC0gQ29pbmV4dCAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTExNyIsInZhbHVlIjoiQ29pbmdlY2tvIiwibmFtZSI6IkNvaW5nZWNrbyIsImRlc2MiOiIgLSBDb2luZ2Vja28gIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjExMzAiLCJ2YWx1ZSI6IkNvaW5saWIiLCJuYW1lIjoiQ29pbmxpYiIsImRlc2MiOiIgLSBDb2lubGliICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMjc3IiwidmFsdWUiOiJDb2lubWF0ZSIsIm5hbWUiOiJDb2lubWF0ZSIsImRlc2MiOiIgLSBDb2lubWF0ZSAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTI2NCIsInZhbHVlIjoiQ29pbm1ldHJvIiwibmFtZSI6IkNvaW5tZXRybyIsImRlc2MiOiIgLSBDb2lubWV0cm8gIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEwNDciLCJ2YWx1ZSI6IkNvaW5uZXN0IiwibmFtZSI6IkNvaW5uZXN0IiwiZGVzYyI6IiAtIENvaW5uZXN0ICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMTk5IiwidmFsdWUiOiJDb2lub2FoIiwibmFtZSI6IkNvaW5vYWgiLCJkZXNjIjoiIC0gQ29pbm9haCAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTAyNiIsInZhbHVlIjoiQ29pbm9uZSIsIm5hbWUiOiJDb2lub25lIiwiZGVzYyI6IiAtIENvaW5vbmUgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEwNjgiLCJ2YWx1ZSI6IkNvaW5yYWlsIiwibmFtZSI6IkNvaW5yYWlsIiwiZGVzYyI6IiAtIENvaW5yYWlsICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMTU4IiwidmFsdWUiOiJDb2lucm9vbSIsIm5hbWUiOiJDb2lucm9vbSIsImRlc2MiOiIgLSBDb2lucm9vbSAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTI1NSIsInZhbHVlIjoiQ29pbnMucGgiLCJuYW1lIjoiQ29pbnMucGgiLCJkZXNjIjoiIC0gQ29pbnMucGggIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEyNzkiLCJ2YWx1ZSI6IkNvaW5zLnh5eiIsIm5hbWUiOiJDb2lucy54eXoiLCJkZXNjIjoiIC0gQ29pbnMueHl6ICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMDY3IiwidmFsdWUiOiJDb2luc0JhbmsiLCJuYW1lIjoiQ29pbnNCYW5rIiwiZGVzYyI6IiAtIENvaW5zQmFuayAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTIxMCIsInZhbHVlIjoiQ29pbnNiaXQiLCJuYW1lIjoiQ29pbnNiaXQiLCJkZXNjIjoiIC0gQ29pbnNiaXQgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjExMDgiLCJ2YWx1ZSI6IkNvaW5zdG9jayIsIm5hbWUiOiJDb2luc3RvY2siLCJkZXNjIjoiIC0gQ29pbnN0b2NrICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMjU4IiwidmFsdWUiOiJDb2luc3RvcmUiLCJuYW1lIjoiQ29pbnN0b3JlIiwiZGVzYyI6IiAtIENvaW5zdG9yZSAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTEwMyIsInZhbHVlIjoiQ3JleDI0IiwibmFtZSI6IkNyZXgyNCIsImRlc2MiOiIgLSBDcmV4MjQgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjExNjYiLCJ2YWx1ZSI6IkNyeXB0YWxEYXNoIiwibmFtZSI6IkNyeXB0YWxEYXNoIiwiZGVzYyI6IiAtIENyeXB0YWxEYXNoICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMTc2IiwidmFsdWUiOiJCaXRodW1iIEluZGljZXMiLCJuYW1lIjoiQ3J5cHRvIEluZGljZXMiLCJkZXNjIjoiIC0gQ3J5cHRvIEluZGljZXMgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjExODUiLCJ2YWx1ZSI6IkNyeXB0byBJbmRpY2VzIiwibmFtZSI6IkNyeXB0byBJbmRpY2VzIiwiZGVzYyI6IiAtIENyeXB0byBJbmRpY2VzICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMjM2IiwidmFsdWUiOiJDcnlwdG8uY29tIEV4Y2hhbmdlIiwibmFtZSI6IkNyeXB0by5jb20gRXhjaGFuZ2UiLCJkZXNjIjoiIC0gQ3J5cHRvLmNvbSBFeGNoYW5nZSAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTA3OCIsInZhbHVlIjoiQ3J5cHRvQnJpZGdlIiwibmFtZSI6IkNyeXB0b0JyaWRnZSIsImRlc2MiOiIgLSBDcnlwdG9CcmlkZ2UgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjExMjkiLCJ2YWx1ZSI6IkNyeXB0b0h1YiIsIm5hbWUiOiJDcnlwdG9IdWIiLCJkZXNjIjoiIC0gQ3J5cHRvSHViICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMjc2IiwidmFsdWUiOiJDcnlwdG9uIEV4Y2hhbmdlIiwibmFtZSI6IkNyeXB0b24gRXhjaGFuZ2UiLCJkZXNjIjoiIC0gQ3J5cHRvbiBFeGNoYW5nZSAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTIxMyIsInZhbHVlIjoiQ3J5cHRvbmV4IiwibmFtZSI6IkNyeXB0b25leCIsImRlc2MiOiIgLSBDcnlwdG9uZXggIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEwNTUiLCJ2YWx1ZSI6IkNyeXB0b3BpYSIsIm5hbWUiOiJDcnlwdG9waWEiLCJkZXNjIjoiIC0gQ3J5cHRvcGlhICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMTEzIiwidmFsdWUiOiJEREVYIiwibmFtZSI6IkRERVgiLCJkZXNjIjoiIC0gRERFWCAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTE5NiIsInZhbHVlIjoiRGNvaW4iLCJuYW1lIjoiRGNvaW4iLCJkZXNjIjoiIC0gRGNvaW4gIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEyMjMiLCJ2YWx1ZSI6IkRlY29pbiIsIm5hbWUiOiJEZWNvaW4iLCJkZXNjIjoiIC0gRGVjb2luICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMjI0IiwidmFsdWUiOiJEaWdpRmluZXgiLCJuYW1lIjoiRGlnaUZpbmV4IiwiZGVzYyI6IiAtIERpZ2lGaW5leCAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTE0OSIsInZhbHVlIjoiRHJhZ29uRVgiLCJuYW1lIjoiRHJhZ29uRVgiLCJkZXNjIjoiIC0gRHJhZ29uRVggIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEwMjkiLCJ2YWx1ZSI6IkV4bW8iLCJuYW1lIjoiRVhNTyIsImRlc2MiOiIgLSBFWE1PICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMjQ4IiwidmFsdWUiOiJFWE1PLk1FIiwibmFtZSI6IkVYTU8uTUUiLCJkZXNjIjoiIC0gRVhNTy5NRSAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTA1MiIsInZhbHVlIjoiRVhYIiwibmFtZSI6IkVYWCIsImRlc2MiOiIgLSBFWFggIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjExNTQiLCJ2YWx1ZSI6IkVzY29kZXgiLCJuYW1lIjoiRXNjb2RleCIsImRlc2MiOiIgLSBFc2NvZGV4ICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMTMyIiwidmFsdWUiOiJFdGhlbiIsIm5hbWUiOiJFdGhlbiIsImRlc2MiOiIgLSBFdGhlbiAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTA3OSIsInZhbHVlIjoiRXRoZXJEZWx0YSIsIm5hbWUiOiJFdGhlckRlbHRhIiwiZGVzYyI6IiAtIEV0aGVyRGVsdGEgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjExODciLCJ2YWx1ZSI6IkV0aGVyRmx5ZXIiLCJuYW1lIjoiRXRoZXJGbHllciIsImRlc2MiOiIgLSBFdGhlckZseWVyICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMDkyIiwidmFsdWUiOiJFdGhmaW5leCIsIm5hbWUiOiJFdGhmaW5leCIsImRlc2MiOiIgLSBFdGhmaW5leCAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTI1NyIsInZhbHVlIjoiRXhNYXJrZXRzIiwibmFtZSI6IkV4TWFya2V0cyIsImRlc2MiOiIgLSBFeE1hcmtldHMgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjExMzUiLCJ2YWx1ZSI6IkV4cmF0ZXMiLCJuYW1lIjoiRXhyYXRlcyIsImRlc2MiOiIgLSBFeHJhdGVzICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMjQ5IiwidmFsdWUiOiJGTUZXLmlvIiwibmFtZSI6IkZNRlcuaW8iLCJkZXNjIjoiIC0gRk1GVy5pbyAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTIzNSIsInZhbHVlIjoiRlRYIiwibmFtZSI6IkZUWCIsImRlc2MiOiIgLSBGVFggIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjExMTIiLCJ2YWx1ZSI6IkZhdGJ0YyIsIm5hbWUiOiJGYXRidGMiLCJkZXNjIjoiIC0gRmF0YnRjICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMTQ0IiwidmFsdWUiOiJGaW5leEJveCIsIm5hbWUiOiJGaW5leEJveCIsImRlc2MiOiIgLSBGaW5leEJveCAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTA2MSIsInZhbHVlIjoiRmlzY28iLCJuYW1lIjoiRmlzY28iLCJkZXNjIjoiIC0gRmlzY28gIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEyNDUiLCJ2YWx1ZSI6IkZsYXRRdWJlIEV4Y2hhbmdlIiwibmFtZSI6IkZsYXRRdWJlIEV4Y2hhbmdlIiwiZGVzYyI6IiAtIEZsYXRRdWJlIEV4Y2hhbmdlICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMDk1IiwidmFsdWUiOiJGb3JrRGVsdGEiLCJuYW1lIjoiRm9ya0RlbHRhIiwiZGVzYyI6IiAtIEZvcmtEZWx0YSAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTAyMyIsInZhbHVlIjoiRm94Yml0IiwibmFtZSI6IkZveEJpdCIsImRlc2MiOiIgLSBGb3hCaXQgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjExNDAiLCJ2YWx1ZSI6IkZyZWlFeGNoYW5nZSIsIm5hbWUiOiJGcmVpRXhjaGFuZ2UiLCJkZXNjIjoiIC0gRnJlaUV4Y2hhbmdlICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMDE2IiwidmFsdWUiOiJHREFYIiwibmFtZSI6IkdEQVgiLCJkZXNjIjoiIC0gR0RBWCAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTA1OCIsInZhbHVlIjoiR09QQVgiLCJuYW1lIjoiR09QQVgiLCJkZXNjIjoiIC0gR09QQVggIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEwNDgiLCJ2YWx1ZSI6IkdhdGUuaW8iLCJuYW1lIjoiR2F0ZS5pbyIsImRlc2MiOiIgLSBHYXRlLmlvICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMDc3IiwidmFsdWUiOiJHYXRlY29pbiIsIm5hbWUiOiJHYXRlY29pbiIsImRlc2MiOiIgLSBHYXRlY29pbiAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTAzNSIsInZhbHVlIjoiR2VtaW5pIiwibmFtZSI6IkdlbWluaSIsImRlc2MiOiIgLSBHZW1pbmkgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEwNzYiLCJ2YWx1ZSI6IkdldEJUQyIsIm5hbWUiOiJHZXRCVEMiLCJkZXNjIjoiIC0gR2V0QlRDICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiI5OCIsInZhbHVlIjoiR0xPQkFMIiwibmFtZSI6Ikdsb2JhbCBJbmRleGVzIiwiZGVzYyI6IiAgR2xvYmFsIEluZGV4ZXMgKEdMTykiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMjM6NTk6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJBc2lhXC9KZXJ1c2FsZW0iLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTEwMSIsInZhbHVlIjoiR3JhdmlleCIsIm5hbWUiOiJHcmF2aWV4IiwiZGVzYyI6IiAtIEdyYXZpZXggIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEyODQiLCJ2YWx1ZSI6Ikdyb3ZlWCIsIm5hbWUiOiJHcm92ZVgiLCJkZXNjIjoiIC0gR3JvdmVYICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMTI0IiwidmFsdWUiOiJIQURBWCIsIm5hbWUiOiJIQURBWCIsImRlc2MiOiIgLSBIQURBWCAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTE5MCIsInZhbHVlIjoiSENvaW4iLCJuYW1lIjoiSENvaW4iLCJkZXNjIjoiIC0gSENvaW4gIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjExOTQiLCJ2YWx1ZSI6IkhQWCIsIm5hbWUiOiJIUFgiLCJkZXNjIjoiIC0gSFBYICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMDEzIiwidmFsdWUiOiJIdW9iaSIsIm5hbWUiOiJIVFgiLCJkZXNjIjoiIC0gSFRYICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMDI4IiwidmFsdWUiOiJIaXRCVEMiLCJuYW1lIjoiSGl0QlRDIiwiZGVzYyI6IiAtIEhpdEJUQyAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTEyMSIsInZhbHVlIjoiSG90Yml0IiwibmFtZSI6IkhvdGJpdCIsImRlc2MiOiIgLSBIb3RiaXQgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEyMDUiLCJ2YWx1ZSI6Ikh1b2JpIEtvcmVhIiwibmFtZSI6Ikh1b2JpIEtvcmVhIiwiZGVzYyI6IiAtIEh1b2JpIEtvcmVhICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMTIyIiwidmFsdWUiOiJJREFYIiwibmFtZSI6IklEQVgiLCJkZXNjIjoiIC0gSURBWCAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTE2NyIsInZhbHVlIjoiSURDTSIsIm5hbWUiOiJJRENNIiwiZGVzYyI6IiAtIElEQ00gIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjExMTEiLCJ2YWx1ZSI6IklERVgiLCJuYW1lIjoiSURFWCIsImRlc2MiOiIgLSBJREVYICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMTczIiwidmFsdWUiOiJJbmRlcGVuZGVudCBSZXNlcnZlIiwibmFtZSI6IkluZGVwZW5kZW50IFJlc2VydmUiLCJkZXNjIjoiIC0gSW5kZXBlbmRlbnQgUmVzZXJ2ZSAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTI1MCIsInZhbHVlIjoiSW5kb0V4IiwibmFtZSI6IkluZG9FeCIsImRlc2MiOiIgLSBJbmRvRXggIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjExMjMiLCJ2YWx1ZSI6IkluZG9kYXgiLCJuYW1lIjoiSW5kb2RheCIsImRlc2MiOiIgLSBJbmRvZGF4ICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMjUzIiwidmFsdWUiOiJKdWJpIiwibmFtZSI6Ikp1YmkiLCJkZXNjIjoiIC0gSnViaSAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTI3MiIsInZhbHVlIjoiS2FuZ2EgRXhjaGFuZ2UiLCJuYW1lIjoiS2FuZ2EgRXhjaGFuZ2UiLCJkZXNjIjoiIC0gS2FuZ2EgRXhjaGFuZ2UgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEyNjciLCJ2YWx1ZSI6IktvaW5CWCIsIm5hbWUiOiJLb2luQlgiLCJkZXNjIjoiIC0gS29pbkJYICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMjA4IiwidmFsdWUiOiJLb2luaW0iLCJuYW1lIjoiS29pbmltIiwiZGVzYyI6IiAtIEtvaW5pbSAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTI3MyIsInZhbHVlIjoiS29pbnBhcmsiLCJuYW1lIjoiS29pbnBhcmsiLCJkZXNjIjoiIC0gS29pbnBhcmsgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEwNDYiLCJ2YWx1ZSI6IktvcmJpdCIsIm5hbWUiOiJLb3JiaXQiLCJkZXNjIjoiIC0gS29yYml0ICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMDA4IiwidmFsdWUiOiJLcmFrZW4iLCJuYW1lIjoiS3Jha2VuIiwiZGVzYyI6IiAtIEtyYWtlbiAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTEyNSIsInZhbHVlIjoiS3J5cHRvbm8iLCJuYW1lIjoiS3J5cHRvbm8iLCJkZXNjIjoiIC0gS3J5cHRvbm8gIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEwNTQiLCJ2YWx1ZSI6Ikt1Y29pbiIsIm5hbWUiOiJLdUNvaW4iLCJkZXNjIjoiIC0gS3VDb2luICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMTE2IiwidmFsdWUiOiJLeWJlciBOZXR3b3JrIiwibmFtZSI6Ikt5YmVyIE5ldHdvcmsiLCJkZXNjIjoiIC0gS3liZXIgTmV0d29yayAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTA5NyIsInZhbHVlIjoiTEFUT0tFTiIsIm5hbWUiOiJMQVRPS0VOIiwiZGVzYyI6IiAtIExBVE9LRU4gIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEwNjYiLCJ2YWx1ZSI6IkxCYW5rIiwibmFtZSI6IkxCYW5rIiwiZGVzYyI6IiAtIExCYW5rICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMjgwIiwidmFsdWUiOiJMQ1ggRXhjaGFuZ2UiLCJuYW1lIjoiTENYIEV4Y2hhbmdlIiwiZGVzYyI6IiAtIExDWCBFeGNoYW5nZSAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTA2MiIsInZhbHVlIjoiTGFrZUJUQyIsIm5hbWUiOiJMYWtlQlRDIiwiZGVzYyI6IiAtIExha2VCVEMgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjExMzQiLCJ2YWx1ZSI6IkxldHNEb0NvaW56IiwibmFtZSI6IkxldHNEb0NvaW56IiwiZGVzYyI6IiAtIExldHNEb0NvaW56ICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMDMwIiwidmFsdWUiOiJMaXF1aSIsIm5hbWUiOiJMaXF1aSIsImRlc2MiOiIgLSBMaXF1aSAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTE2NCIsInZhbHVlIjoiTGlxdWlkIiwibmFtZSI6IkxpcXVpZCIsImRlc2MiOiIgLSBMaXF1aWQgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEwNjAiLCJ2YWx1ZSI6IkxpdmVjb2luIiwibmFtZSI6IkxpdmVjb2luIiwiZGVzYyI6IiAtIExpdmVjb2luICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMjA2IiwidmFsdWUiOiJMb2NhbFRyYWRlIiwibmFtZSI6IkxvY2FsVHJhZGUiLCJkZXNjIjoiIC0gTG9jYWxUcmFkZSAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTE3MCIsInZhbHVlIjoiTHVubyIsIm5hbWUiOiJMdW5vIiwiZGVzYyI6IiAtIEx1bm8gIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjExMjciLCJ2YWx1ZSI6Ikx5a2tlIiwibmFtZSI6Ikx5a2tlIEV4Y2hhbmdlIiwiZGVzYyI6IiAtIEx5a2tlIEV4Y2hhbmdlICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMTkzIiwidmFsdWUiOiJNWEMiLCJuYW1lIjoiTUVYQyIsImRlc2MiOiIgLSBNRVhDICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMDIwIiwidmFsdWUiOiJNZXJjYWRvQml0Y29pbiIsIm5hbWUiOiJNZXJjYWRvQml0Y29pbiIsImRlc2MiOiIgLSBNZXJjYWRvQml0Y29pbiAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTEwMCIsInZhbHVlIjoiTWVyY2F0b3giLCJuYW1lIjoiTWVyY2F0b3giLCJkZXNjIjoiIC0gTWVyY2F0b3ggIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEwMDUiLCJ2YWx1ZSI6Ik10R294IiwibmFtZSI6Ik10R294IiwiZGVzYyI6IiAtIE10R294ICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMjI4IiwidmFsdWUiOiJOTGV4Y2giLCJuYW1lIjoiTkxleGNoIiwiZGVzYyI6IiAtIE5MZXhjaCAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTA3NCIsInZhbHVlIjoiTmVnb2NpZSBDb2lucyIsIm5hbWUiOiJOZWdvY2llIENvaW5zIiwiZGVzYyI6IiAtIE5lZ29jaWUgQ29pbnMgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEyNzEiLCJ2YWx1ZSI6Ik5leERBWCIsIm5hbWUiOiJOZXhEQVgiLCJkZXNjIjoiIC0gTmV4REFYICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMTg0IiwidmFsdWUiOiJOb3ZhIEV4Y2hhbmdlIiwibmFtZSI6Ik5vdmEgRXhjaGFuZ2UiLCJkZXNjIjoiIC0gTm92YSBFeGNoYW5nZSAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTIzMCIsInZhbHVlIjoiTm92YURBWCIsIm5hbWUiOiJOb3ZhREFYIiwiZGVzYyI6IiAtIE5vdmFEQVggIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEwMTIiLCJ2YWx1ZSI6Ik9LQ29pbiIsIm5hbWUiOiJPS0NvaW4iLCJkZXNjIjoiIC0gT0tDb2luICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMDQzIiwidmFsdWUiOiJPS0NvaW4iLCJuYW1lIjoiT0tDb2luIiwiZGVzYyI6IiAtIE9LQ29pbiAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTAzOCIsInZhbHVlIjoiT0tFeCIsIm5hbWUiOiJPS1giLCJkZXNjIjoiIC0gT0tYICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMTY4IiwidmFsdWUiOiJPT09CVEMiLCJuYW1lIjoiT09PQlRDIiwiZGVzYyI6IiAtIE9PT0JUQyAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTE1MyIsInZhbHVlIjoiT1RDQlRDIiwibmFtZSI6Ik9UQ0JUQyIsImRlc2MiOiIgLSBPVENCVEMgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEyNTIiLCJ2YWx1ZSI6Ik9yYW5nZVgiLCJuYW1lIjoiT3JhbmdlWCIsImRlc2MiOiIgLSBPcmFuZ2VYICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMDg5IiwidmFsdWUiOiJPcmJpeCIsIm5hbWUiOiJPcmJpeCIsImRlc2MiOiIgLSBPcmJpeCAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTE1OSIsInZhbHVlIjoicDJwYjJiIiwibmFtZSI6IlAyUEIyQiIsImRlc2MiOiIgLSBQMlBCMkIgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEyMzIiLCJ2YWx1ZSI6IlBhbmNha2VTd2FwIiwibmFtZSI6IlBhbmNha2VTd2FwIiwiZGVzYyI6IiAtIFBhbmNha2VTd2FwICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMTc1IiwidmFsdWUiOiJQYW54b3JhIiwibmFtZSI6IlBhbnhvcmEiLCJkZXNjIjoiIC0gUGFueG9yYSAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTI1NCIsInZhbHVlIjoiUGFyYWxsZWwgUmF0ZSIsIm5hbWUiOiJQYXJhbGxlbCBSYXRlIiwiZGVzYyI6IiAtIFBhcmFsbGVsIFJhdGUgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEwMzMiLCJ2YWx1ZSI6IlBhcmlidSIsIm5hbWUiOiJQYXJpYnUiLCJkZXNjIjoiIC0gUGFyaWJ1ICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMjU2IiwidmFsdWUiOiJQYXlCaXRvIiwibmFtZSI6IlBheUJpdG8iLCJkZXNjIjoiIC0gUGF5Qml0byAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTAxNSIsInZhbHVlIjoiUG9sb25pZXgiLCJuYW1lIjoiUG9sb25pZXgiLCJkZXNjIjoiIC0gUG9sb25pZXggIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEyMjEiLCJ2YWx1ZSI6IlByaXptQml0IiwibmFtZSI6IlByaXptQml0IiwiZGVzYyI6IiAtIFByaXptQml0ICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMjE3IiwidmFsdWUiOiJQcm9CaXQgRXhjaGFuZ2UiLCJuYW1lIjoiUHJvQml0IEV4Y2hhbmdlIiwiZGVzYyI6IiAtIFByb0JpdCBFeGNoYW5nZSAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTE5NyIsInZhbHVlIjoiUUJUQyIsIm5hbWUiOiJRQlRDIiwiZGVzYyI6IiAtIFFCVEMgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEwNTYiLCJ2YWx1ZSI6IlFVT0lORSIsIm5hbWUiOiJRVU9JTkUiLCJkZXNjIjoiIC0gUVVPSU5FICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMDgzIiwidmFsdWUiOiJRcnlwdG9zIiwibmFtZSI6IlFyeXB0b3MiLCJkZXNjIjoiIC0gUXJ5cHRvcyAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTA3MyIsInZhbHVlIjoiUXVhZHJpZ2FDWCIsIm5hbWUiOiJRdWFkcmlnYUNYIiwiZGVzYyI6IiAtIFF1YWRyaWdhQ1ggIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEyODEiLCJ2YWx1ZSI6IlJ1REVYIiwibmFtZSI6IlJ1REVYIiwiZGVzYyI6IiAtIFJ1REVYICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMTYwIiwidmFsdWUiOiJTSU1FWCIsIm5hbWUiOiJTSU1FWCIsImRlc2MiOiIgLSBTSU1FWCAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTEzNyIsInZhbHVlIjoiU1RFWCIsIm5hbWUiOiJTVEVYIiwiZGVzYyI6IiAtIFNURVggIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEyNjYiLCJ2YWx1ZSI6IlNhZmVUcmFkZSIsIm5hbWUiOiJTYWZlVHJhZGUiLCJkZXNjIjoiIC0gU2FmZVRyYWRlICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMTEwIiwidmFsdWUiOiJTaXN0ZW1rb2luIiwibmFtZSI6IlNpc3RlbWtvaW4iLCJkZXNjIjoiIC0gU2lzdGVta29pbiAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTA5MyIsInZhbHVlIjoiU291dGhYY2hhbmdlIiwibmFtZSI6IlNvdXRoWGNoYW5nZSIsImRlc2MiOiIgLSBTb3V0aFhjaGFuZ2UgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEyNjUiLCJ2YWx1ZSI6IlN0YWtlQ3ViZSIsIm5hbWUiOiJTdGFrZUN1YmUiLCJkZXNjIjoiIC0gU3Rha2VDdWJlICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMTIwIiwidmFsdWUiOiJTdGVsbGFycG9ydCIsIm5hbWUiOiJTdGVsbGFycG9ydCIsImRlc2MiOiIgLSBTdGVsbGFycG9ydCAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTEwNCIsInZhbHVlIjoiU3RvY2tzLkV4Y2hhbmdlIiwibmFtZSI6IlN0b2Nrcy5FeGNoYW5nZSIsImRlc2MiOiIgLSBTdG9ja3MuRXhjaGFuZ2UgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEyMDQiLCJ2YWx1ZSI6IlN3aXRjaGVvIE5ldHdvcmsiLCJuYW1lIjoiU3dpdGNoZW8gTmV0d29yayIsImRlc2MiOiIgLSBTd2l0Y2hlbyBOZXR3b3JrICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMTg5IiwidmFsdWUiOiJUT0tFTk1PTSIsIm5hbWUiOiJUT0tFTk1PTSIsImRlc2MiOiIgLSBUT0tFTk1PTSAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTE4MyIsInZhbHVlIjoiVE9LT0siLCJuYW1lIjoiVE9LT0siLCJkZXNjIjoiIC0gVE9LT0sgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjExMzkiLCJ2YWx1ZSI6IlRPUEJUQyIsIm5hbWUiOiJUT1BCVEMiLCJkZXNjIjoiIC0gVE9QQlRDICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMTE4IiwidmFsdWUiOiJUaGVyb2NrdHJhZGluZyIsIm5hbWUiOiJUaGUgUm9jayBUcmFkaW5nIiwiZGVzYyI6IiAtIFRoZSBSb2NrIFRyYWRpbmcgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjExMzEiLCJ2YWx1ZSI6IlRob2RleCIsIm5hbWUiOiJUaG9kZXgiLCJkZXNjIjoiIC0gVGhvZGV4ICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMTg2IiwidmFsdWUiOiJUaG9yZSBFeGNoYW5nZSIsIm5hbWUiOiJUaG9yZSBFeGNoYW5nZSIsImRlc2MiOiIgLSBUaG9yZSBFeGNoYW5nZSAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTA4OCIsInZhbHVlIjoiVGlkZWJpdCIsIm5hbWUiOiJUaWRlYml0IiwiZGVzYyI6IiAtIFRpZGViaXQgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEwNjQiLCJ2YWx1ZSI6IlRpZGV4IiwibmFtZSI6IlRpZGV4IiwiZGVzYyI6IiAtIFRpZGV4ICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMTM2IiwidmFsdWUiOiJUb2tlbiBTdG9yZSIsIm5hbWUiOiJUb2tlbiBTdG9yZSIsImRlc2MiOiIgLSBUb2tlbiBTdG9yZSAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTE0MyIsInZhbHVlIjoiVG9rZW5vbXkiLCJuYW1lIjoiVG9rZW5vbXkiLCJkZXNjIjoiIC0gVG9rZW5vbXkgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEyNjIiLCJ2YWx1ZSI6IlRva3BpZSIsIm5hbWUiOiJUb2twaWUiLCJkZXNjIjoiIC0gVG9rcGllICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMDg2IiwidmFsdWUiOiJUcmFkZSBCeSBUcmFkZSIsIm5hbWUiOiJUcmFkZSBCeSBUcmFkZSIsImRlc2MiOiIgLSBUcmFkZSBCeSBUcmFkZSAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTA5OSIsInZhbHVlIjoiVHJhZGUgU2F0b3NoaSIsIm5hbWUiOiJUcmFkZSBTYXRvc2hpIiwiZGVzYyI6IiAtIFRyYWRlIFNhdG9zaGkgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjExMDciLCJ2YWx1ZSI6IlRyYWRlT2dyZSIsIm5hbWUiOiJUcmFkZU9ncmUiLCJkZXNjIjoiIC0gVHJhZGVPZ3JlICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMjYxIiwidmFsdWUiOiJUcnVCaXQgUHJvIEV4Y2hhbmdlIiwibmFtZSI6IlRydUJpdCBQcm8gRXhjaGFuZ2UiLCJkZXNjIjoiIC0gVHJ1Qml0IFBybyBFeGNoYW5nZSAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTIxNiIsInZhbHVlIjoiVHVydWtvIiwibmFtZSI6IlR1cnVrbyIsImRlc2MiOiIgLSBUdXJ1a28gIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEyMzgiLCJ2YWx1ZSI6IlR4Yml0IiwibmFtZSI6IlR4Yml0IiwiZGVzYyI6IiAtIFR4Yml0ICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMTU2IiwidmFsdWUiOiJVRVgiLCJuYW1lIjoiVUVYIiwiZGVzYyI6IiAtIFVFWCAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTI3NSIsInZhbHVlIjoiVW5vY29pbiIsIm5hbWUiOiJVbm9jb2luIiwiZGVzYyI6IiAtIFVub2NvaW4gIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEwODciLCJ2YWx1ZSI6IlVwYml0IiwibmFtZSI6IlVwYml0IiwiZGVzYyI6IiAtIFVwYml0ICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMjAwIiwidmFsdWUiOiJWVkJUQyIsIm5hbWUiOiJWVkJUQyIsImRlc2MiOiIgLSBWVkJUQyAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTE0NSIsInZhbHVlIjoiVmViaXRjb2luIiwibmFtZSI6IlZlYml0Y29pbiIsImRlc2MiOiIgLSBWZWJpdGNvaW4gIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEyNDEiLCJ2YWx1ZSI6IlZpbkRBWCIsIm5hbWUiOiJWaW5EQVgiLCJkZXNjIjoiIC0gVmluREFYICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMjQzIiwidmFsdWUiOiJWaXRlWCIsIm5hbWUiOiJWaXRlWCIsImRlc2MiOiIgLSBWaXRlWCAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTA2MyIsInZhbHVlIjoiV0VYIiwibmFtZSI6IldFWCIsImRlc2MiOiIgLSBXRVggIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEyMjIiLCJ2YWx1ZSI6IldhdmVzIERlY2VudHJhbGl6ZWQgRXhjaGFuZ2UiLCJuYW1lIjoiV2F2ZXMgRGVjZW50cmFsaXplZCBFeGNoYW5nZSIsImRlc2MiOiIgLSBXYXZlcyBEZWNlbnRyYWxpemVkIEV4Y2hhbmdlICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMTQ4IiwidmFsdWUiOiJXYXppclgiLCJuYW1lIjoiV2F6aXJYIiwiZGVzYyI6IiAtIFdhemlyWCAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTI4MiIsInZhbHVlIjoiV2hpdGVCSVQiLCJuYW1lIjoiV2hpdGVCSVQiLCJkZXNjIjoiIC0gV2hpdGVCSVQgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEyMzQiLCJ2YWx1ZSI6IlhULkNPTSIsIm5hbWUiOiJYVC5DT00iLCJkZXNjIjoiIC0gWFQuQ09NICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMjU5IiwidmFsdWUiOiJYZWdnZVgiLCJuYW1lIjoiWGVnZ2VYIiwiZGVzYyI6IiAtIFhlZ2dlWCAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTA1OSIsInZhbHVlIjoiWW9CaXQiLCJuYW1lIjoiWW9CaXQiLCJkZXNjIjoiIC0gWW9CaXQgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEwMjUiLCJ2YWx1ZSI6Ill1bmJpIiwibmFtZSI6Ill1bmJpIiwiZGVzYyI6IiAtIFl1bmJpICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMDQ0IiwidmFsdWUiOiJaQi5DT00iLCJuYW1lIjoiWkIuQ09NIiwiZGVzYyI6IiAtIFpCLkNPTSAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTI0MCIsInZhbHVlIjoiWlQiLCJuYW1lIjoiWlQiLCJkZXNjIjoiIC0gWlQgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEwNTciLCJ2YWx1ZSI6IlphaWYiLCJuYW1lIjoiWmFpZiIsImRlc2MiOiIgLSBaYWlmICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMTA2IiwidmFsdWUiOiJaZWJwYXkiLCJuYW1lIjoiWmViUGF5IiwiZGVzYyI6IiAtIFplYlBheSAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTAxOCIsInZhbHVlIjoiQml0QmF5IiwibmFtZSI6IlpvbmRhIChCaXRCYXkpIiwiZGVzYyI6IiAtIFpvbmRhIChCaXRCYXkpICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMDM5IiwidmFsdWUiOiJiaXRGbHllciIsIm5hbWUiOiJiaXRGbHllciIsImRlc2MiOiIgLSBiaXRGbHllciAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTEyOCIsInZhbHVlIjoiY2ZpbmV4IiwibmFtZSI6ImNmaW5leCIsImRlc2MiOiIgLSBjZmluZXggIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEwMDkiLCJ2YWx1ZSI6Iml0Qml0IiwibmFtZSI6Iml0Qml0IiwiZGVzYyI6IiAtIGl0Qml0ICIsIm9wZW50aW1lIjoiMDA6MDA6MDAiLCJjbG9zZXRpbWUiOiIwMDowMDowMCIsIndlZWtfZW5kX2RheSI6IjYiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOm51bGx9LHsiaWQiOiIxMjA3IiwidmFsdWUiOiJuLmV4Y2hhbmdlIiwibmFtZSI6Im4uZXhjaGFuZ2UiLCJkZXNjIjoiIC0gbi5leGNoYW5nZSAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMDA6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjpudWxsfSx7ImlkIjoiMTAyMSIsInZhbHVlIjoieEJUQ2UiLCJuYW1lIjoieEJUQ2UiLCJkZXNjIjoiIC0geEJUQ2UgIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjAwOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6bnVsbH0seyJpZCI6IjEzOCIsInZhbHVlIjoiQU5EIiwibmFtZSI6IkFuZG9ycmEiLCJkZXNjIjoiQW5kb3JyYSAtIEFuZG9ycmEgKEFORCkiLCJvcGVudGltZSI6IjA5OjI4OjAwIiwiY2xvc2V0aW1lIjoiMTg6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjoiQW5kb3JyYSJ9LHsiaWQiOiIzNyIsInZhbHVlIjoiQkNCQSIsIm5hbWUiOiJCdWVub3MgQWlyZXMiLCJkZXNjIjoiQXJnZW50aW5hIC0gQnVlbm9zIEFpcmVzIChCQSkiLCJvcGVudGltZSI6IjEwOjU4OjAwIiwiY2xvc2V0aW1lIjoiMTc6MDU6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJBbWVyaWNhXC9BcmdlbnRpbmFcL0J1ZW5vc19BaXJlcyIsImNvdW50cnkiOiJBcmdlbnRpbmEifSx7ImlkIjoiMTgiLCJ2YWx1ZSI6IkFTWCIsIm5hbWUiOiJTeWRuZXkiLCJkZXNjIjoiQXVzdHJhbGlhIC0gU3lkbmV5IChBWCkiLCJvcGVudGltZSI6IjA5OjU5OjAwIiwiY2xvc2V0aW1lIjoiMTY6MDU6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJBdXN0cmFsaWFcL1N5ZG5leSIsImNvdW50cnkiOiJBdXN0cmFsaWEifSx7ImlkIjoiMTciLCJ2YWx1ZSI6IlZJRSIsIm5hbWUiOiJWaWVubmEiLCJkZXNjIjoiQXVzdHJpYSAtIFZpZW5uYSAoVkkpIiwib3BlbnRpbWUiOiIwODo1ODowMCIsImNsb3NldGltZSI6IjE3OjM2OjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiRXVyb3BlXC9CZXJsaW4iLCJjb3VudHJ5IjoiQXVzdHJpYSJ9LHsiaWQiOiIzOSIsInZhbHVlIjoiQkhCIiwibmFtZSI6IkJhaHJhaW4iLCJkZXNjIjoiQmFocmFpbiAtIEJhaHJhaW4gKEJIKSIsIm9wZW50aW1lIjoiMDk6Mjg6MDAiLCJjbG9zZXRpbWUiOiIxMzowMDowMCIsIndlZWtfZW5kX2RheSI6IjQiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkFzaWFcL0JhaHJhaW4iLCJjb3VudHJ5IjoiQmFocmFpbiJ9LHsiaWQiOiIxMTUiLCJ2YWx1ZSI6IkRIIiwibmFtZSI6IkRTRSIsImRlc2MiOiJCYW5nbGFkZXNoIC0gRFNFIChESCkiLCJvcGVudGltZSI6IjA5OjU4OjAwIiwiY2xvc2V0aW1lIjoiMTU6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI0Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJBc2lhXC9EaGFrYSIsImNvdW50cnkiOiJCYW5nbGFkZXNoIn0seyJpZCI6IjE0IiwidmFsdWUiOiJFQlIiLCJuYW1lIjoiQnJ1c3NlbHMiLCJkZXNjIjoiQmVsZ2l1bSAtIEJydXNzZWxzIChCUikiLCJvcGVudGltZSI6IjA4OjU4OjAwIiwiY2xvc2V0aW1lIjoiMTc6MzY6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJFdXJvcGVcL0JlcmxpbiIsImNvdW50cnkiOiJCZWxnaXVtIn0seyJpZCI6IjEzMyIsInZhbHVlIjoiQkhTIiwibmFtZSI6IkJTWCIsImRlc2MiOiJCZXJtdWRhIC0gQlNYIChCSFMpIiwib3BlbnRpbWUiOiIwODo1ODowMCIsImNsb3NldGltZSI6IjE4OjMwOjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiQXRsYW50aWNcL0Jlcm11ZGEiLCJjb3VudHJ5IjoiQmVybXVkYSJ9LHsiaWQiOiIxMDEiLCJ2YWx1ZSI6IkJKIiwibmFtZSI6IkJvc25pYSIsImRlc2MiOiJCb3NuaWEtSGVyemVnb3ZpbmEgLSBCb3NuaWEgKEJKKSIsIm9wZW50aW1lIjoiMDk6NTg6MDAiLCJjbG9zZXRpbWUiOiIxMzozNTowMCIsIndlZWtfZW5kX2RheSI6IjUiLCJ3ZWVrX3N0YXJ0X2RheSI6IjEiLCJ0aW1lem9uZSI6IkV1cm9wZVwvU2FyYWpldm8iLCJjb3VudHJ5IjoiQm9zbmlhLUhlcnplZ292aW5hIn0seyJpZCI6Ijc3IiwidmFsdWUiOiJCVCIsIm5hbWUiOiJCb3Rzd2FuYSIsImRlc2MiOiJCb3Rzd2FuYSAtIEJvdHN3YW5hIChCVCkiLCJvcGVudGltZSI6IjEwOjIzOjAwIiwiY2xvc2V0aW1lIjoiMTM6MjA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJBZnJpY2FcL0dhYm9yb25lIiwiY291bnRyeSI6IkJvdHN3YW5hIn0seyJpZCI6IjQ3IiwidmFsdWUiOiJCVk1GIiwibmFtZSI6IkIzIiwiZGVzYyI6IkJyYXppbCAtIEIzIChTQSkiLCJvcGVudGltZSI6IjA5OjU5OjAwIiwiY2xvc2V0aW1lIjoiMTc6NTU6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJBbWVyaWNhXC9TYW9fUGF1bG8iLCJjb3VudHJ5IjoiQnJhemlsIn0seyJpZCI6IjExMyIsInZhbHVlIjoiU08iLCJuYW1lIjoiU09NQSIsImRlc2MiOiJCcmF6aWwgLSBTT01BIChTTykiLCJvcGVudGltZSI6IjA5OjU4OjAwIiwiY2xvc2V0aW1lIjoiMTc6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJBbWVyaWNhXC9TYW9fUGF1bG8iLCJjb3VudHJ5IjoiQnJhemlsIn0seyJpZCI6IjQ0IiwidmFsdWUiOiJCQiIsIm5hbWUiOiJTb2ZpYSIsImRlc2MiOiJCdWxnYXJpYSAtIFNvZmlhIChCQikiLCJvcGVudGltZSI6IjA5OjE4OjAwIiwiY2xvc2V0aW1lIjoiMTc6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJFdXJvcGVcL1NvZmlhIiwiY291bnRyeSI6IkJ1bGdhcmlhIn0seyJpZCI6IjEyNyIsInZhbHVlIjoiTkxCIiwibmFtZSI6IkNCT0UgQ2FuYWRhIiwiZGVzYyI6IkNhbmFkYSAtIENCT0UgQ2FuYWRhIChOTEIpIiwib3BlbnRpbWUiOiIwOToyODowMCIsImNsb3NldGltZSI6IjE2OjAxOjMwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiQW1lcmljYVwvVG9yb250byIsImNvdW50cnkiOiJDYW5hZGEifSx7ImlkIjoiMTA5IiwidmFsdWUiOiJDU0UiLCJuYW1lIjoiQ1NFIiwiZGVzYyI6IkNhbmFkYSAtIENTRSAoQ0QpIiwib3BlbnRpbWUiOiIwOToyODowMCIsImNsb3NldGltZSI6IjE2OjAxOjMwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiQW1lcmljYVwvVG9yb250byIsImNvdW50cnkiOiJDYW5hZGEifSx7ImlkIjoiMTA4IiwidmFsdWUiOiJUU1hWIiwibmFtZSI6IlRTWFYiLCJkZXNjIjoiQ2FuYWRhIC0gVFNYViAoVikiLCJvcGVudGltZSI6IjA5OjI4OjAwIiwiY2xvc2V0aW1lIjoiMTY6MDE6MzAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJBbWVyaWNhXC9Ub3JvbnRvIiwiY291bnRyeSI6IkNhbmFkYSJ9LHsiaWQiOiI1MSIsInZhbHVlIjoiVFNYIiwibmFtZSI6IlRvcm9udG8iLCJkZXNjIjoiQ2FuYWRhIC0gVG9yb250byAoVE8pIiwib3BlbnRpbWUiOiIwOToyODowMCIsImNsb3NldGltZSI6IjE2OjAxOjMwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiQW1lcmljYVwvVG9yb250byIsImNvdW50cnkiOiJDYW5hZGEifSx7ImlkIjoiMTM0IiwidmFsdWUiOiJDU1giLCJuYW1lIjoiQ1NYIiwiZGVzYyI6IkNheW1hbiBJc2xhbmRzIC0gQ1NYIChDU1gpIiwib3BlbnRpbWUiOiIwODo1ODowMCIsImNsb3NldGltZSI6IjE2OjM1OjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiQW1lcmljYVwvQ2F5bWFuIiwiY291bnRyeSI6IkNheW1hbiBJc2xhbmRzIn0seyJpZCI6IjQyIiwidmFsdWUiOiJCQ1MiLCJuYW1lIjoiU2FudGlhZ28iLCJkZXNjIjoiQ2hpbGUgLSBTYW50aWFnbyAoU04pIiwib3BlbnRpbWUiOiIwOToyODowMCIsImNsb3NldGltZSI6IjE2OjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiQ2hpbGVcL0NvbnRpbmVudGFsIiwiY291bnRyeSI6IkNoaWxlIn0seyJpZCI6IjExOSIsInZhbHVlIjoiRENFIiwibmFtZSI6IkRDRSIsImRlc2MiOiJDaGluYSAtIERDRSAoRENFKSIsIm9wZW50aW1lIjoiMDg6NTg6MDAiLCJjbG9zZXRpbWUiOiIxNjo1OTowMCIsIndlZWtfZW5kX2RheSI6IjUiLCJ3ZWVrX3N0YXJ0X2RheSI6IjEiLCJ0aW1lem9uZSI6IkFzaWFcL0hvbmdfS29uZyIsImNvdW50cnkiOiJDaGluYSJ9LHsiaWQiOiIxNDgiLCJ2YWx1ZSI6IlNHRSIsIm5hbWUiOiJTR0UiLCJkZXNjIjoiQ2hpbmEgLSBTR0UgKFNHRSkiLCJvcGVudGltZSI6IjA4OjU4OjAwIiwiY2xvc2V0aW1lIjoiMTY6NTk6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJBc2lhXC9Ib25nX0tvbmciLCJjb3VudHJ5IjoiQ2hpbmEifSx7ImlkIjoiMTI2IiwidmFsdWUiOiJTRkUiLCJuYW1lIjoiU0hGRSIsImRlc2MiOiJDaGluYSAtIFNIRkUgKFNGRSkiLCJvcGVudGltZSI6IjA4OjU4OjAwIiwiY2xvc2V0aW1lIjoiMTU6MzA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJBc2lhXC9TaGFuZ2hhaSIsImNvdW50cnkiOiJDaGluYSJ9LHsiaWQiOiI1NCIsInZhbHVlIjoiU1MiLCJuYW1lIjoiU2hhbmdoYWkiLCJkZXNjIjoiQ2hpbmEgLSBTaGFuZ2hhaSAoU1MpIiwib3BlbnRpbWUiOiIwOToyODowMCIsImNsb3NldGltZSI6IjE1OjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiQXNpYVwvU2hhbmdoYWkiLCJjb3VudHJ5IjoiQ2hpbmEifSx7ImlkIjoiMTAzIiwidmFsdWUiOiJTWiIsIm5hbWUiOiJTaGVuemhlbiIsImRlc2MiOiJDaGluYSAtIFNoZW56aGVuIChTWikiLCJvcGVudGltZSI6IjA5OjI4OjAwIiwiY2xvc2V0aW1lIjoiMTU6NDU6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJBc2lhXC9TaGFuZ2hhaSIsImNvdW50cnkiOiJDaGluYSJ9LHsiaWQiOiIxNDUiLCJ2YWx1ZSI6IkNaQ0UiLCJuYW1lIjoiWkNFIiwiZGVzYyI6IkNoaW5hIC0gWkNFIChDWkNFKSIsIm9wZW50aW1lIjoiMDg6NTg6MDAiLCJjbG9zZXRpbWUiOiIxNTozMDowMCIsIndlZWtfZW5kX2RheSI6IjUiLCJ3ZWVrX3N0YXJ0X2RheSI6IjEiLCJ0aW1lem9uZSI6IkFzaWFcL1NoYW5naGFpIiwiY291bnRyeSI6IkNoaW5hIn0seyJpZCI6IjU1IiwidmFsdWUiOiJCVkMiLCJuYW1lIjoiQ29sb21iaWEiLCJkZXNjIjoiQ29sb21iaWEgLSBDb2xvbWJpYSAoQ04pIiwib3BlbnRpbWUiOiIwOToyODowMCIsImNsb3NldGltZSI6IjE2OjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiQW1lcmljYVwvQm9nb3RhIiwiY291bnRyeSI6IkNvbG9tYmlhIn0seyJpZCI6IjkxIiwidmFsdWUiOiJDSiIsIm5hbWUiOiJDb3N0YSBSaWNhIiwiZGVzYyI6IkNvc3RhIFJpY2EgLSBDb3N0YSBSaWNhIChDSikiLCJvcGVudGltZSI6IjA3OjU4OjAwIiwiY2xvc2V0aW1lIjoiMTY6MDU6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJBbWVyaWNhXC9Db3N0YV9SaWNhIiwiY291bnRyeSI6IkNvc3RhIFJpY2EifSx7ImlkIjoiMTExIiwidmFsdWUiOiJDSSIsIm5hbWUiOiJCUlZNIiwiZGVzYyI6IkNvdGUgRCdJdm9pcmUgLSBCUlZNIChDSSkiLCJvcGVudGltZSI6IjA5OjQzOjAwIiwiY2xvc2V0aW1lIjoiMTU6MzA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjoiQ290ZSBEJ0l2b2lyZSJ9LHsiaWQiOiI0NSIsInZhbHVlIjoiWkEiLCJuYW1lIjoiWmFncmViIiwiZGVzYyI6IkNyb2F0aWEgLSBaYWdyZWIgKFpBKSIsIm9wZW50aW1lIjoiMDk6MTM6MDAiLCJjbG9zZXRpbWUiOiIxNjowNTowMCIsIndlZWtfZW5kX2RheSI6IjUiLCJ3ZWVrX3N0YXJ0X2RheSI6IjEiLCJ0aW1lem9uZSI6IkV1cm9wZVwvWmFncmViIiwiY291bnRyeSI6IkNyb2F0aWEifSx7ImlkIjoiNzgiLCJ2YWx1ZSI6IkNZIiwibmFtZSI6IkN5cHJ1cyIsImRlc2MiOiJDeXBydXMgLSBDeXBydXMgKENZKSIsIm9wZW50aW1lIjoiMTA6MTM6MDAiLCJjbG9zZXRpbWUiOiIxNzoyMDowMCIsIndlZWtfZW5kX2RheSI6IjUiLCJ3ZWVrX3N0YXJ0X2RheSI6IjEiLCJ0aW1lem9uZSI6IkV1cm9wZVwvTmljb3NpYSIsImNvdW50cnkiOiJDeXBydXMifSx7ImlkIjoiNTYiLCJ2YWx1ZSI6IlBSIiwibmFtZSI6IlByYWd1ZSIsImRlc2MiOiJDemVjaCBSZXB1YmxpYyAtIFByYWd1ZSAoUFIpIiwib3BlbnRpbWUiOiIwODo1ODowMCIsImNsb3NldGltZSI6IjE2OjI1OjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiRXVyb3BlXC9QcmFndWUiLCJjb3VudHJ5IjoiQ3plY2ggUmVwdWJsaWMifSx7ImlkIjoiMTUiLCJ2YWx1ZSI6IkNTRSIsIm5hbWUiOiJDb3BlbmhhZ2VuIiwiZGVzYyI6IkRlbm1hcmsgLSBDb3BlbmhhZ2VuIChDTykiLCJvcGVudGltZSI6IjA4OjU4OjAwIiwiY2xvc2V0aW1lIjoiMTc6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJFdXJvcGVcL0NvcGVuaGFnZW4iLCJjb3VudHJ5IjoiRGVubWFyayJ9LHsiaWQiOiI5MiIsInZhbHVlIjoiQlEiLCJuYW1lIjoiUXVpdG8iLCJkZXNjIjoiRWN1YWRvciAtIFF1aXRvIChCUSkiLCJvcGVudGltZSI6IjA4OjU4OjAwIiwiY2xvc2V0aW1lIjoiMTY6MDU6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJBbWVyaWNhXC9HdWF5YXF1aWwiLCJjb3VudHJ5IjoiRWN1YWRvciJ9LHsiaWQiOiIzMyIsInZhbHVlIjoiRUdYIiwibmFtZSI6IkVneXB0IiwiZGVzYyI6IkVneXB0IC0gRWd5cHQgKENBKSIsIm9wZW50aW1lIjoiMDk6NTg6MDAiLCJjbG9zZXRpbWUiOiIxNDoxNzowMCIsIndlZWtfZW5kX2RheSI6IjQiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkFmcmljYVwvQ2Fpcm8iLCJjb3VudHJ5IjoiRWd5cHQifSx7ImlkIjoiNzkiLCJ2YWx1ZSI6IlRMIiwibmFtZSI6IlRhbGxpbm4iLCJkZXNjIjoiRXN0b25pYSAtIFRhbGxpbm4gKFRMKSIsIm9wZW50aW1lIjoiMDk6NTg6MDAiLCJjbG9zZXRpbWUiOiIxNjoxMDowMCIsIndlZWtfZW5kX2RheSI6IjUiLCJ3ZWVrX3N0YXJ0X2RheSI6IjEiLCJ0aW1lem9uZSI6IkV1cm9wZVwvVGFsbGlubiIsImNvdW50cnkiOiJFc3RvbmlhIn0seyJpZCI6IjEyMSIsInZhbHVlIjoiQlMiLCJuYW1lIjoiQkFUUyBFdXJvcGUiLCJkZXNjIjoiRXVybyBab25lIC0gQkFUUyBFdXJvcGUgKEJTKSIsIm9wZW50aW1lIjoiMDg6NTg6MDAiLCJjbG9zZXRpbWUiOiIxOTowMDowMCIsIndlZWtfZW5kX2RheSI6IjUiLCJ3ZWVrX3N0YXJ0X2RheSI6IjEiLCJ0aW1lem9uZSI6IkV1cm9wZVwvQmVybGluIiwiY291bnRyeSI6IkV1cm8gWm9uZSJ9LHsiaWQiOiIxNiIsInZhbHVlIjoiSEUiLCJuYW1lIjoiSGVsc2lua2kiLCJkZXNjIjoiRmlubGFuZCAtIEhlbHNpbmtpIChIRSkiLCJvcGVudGltZSI6IjA5OjU4OjAwIiwiY2xvc2V0aW1lIjoiMTg6MzA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJFdXJvcGVcL0hlbHNpbmtpIiwiY291bnRyeSI6IkZpbmxhbmQifSx7ImlkIjoiOSIsInZhbHVlIjoiRVBBIiwibmFtZSI6IlBhcmlzIiwiZGVzYyI6IkZyYW5jZSAtIFBhcmlzIChQQSkiLCJvcGVudGltZSI6IjA4OjU5OjAwIiwiY2xvc2V0aW1lIjoiMTc6MzY6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJFdXJvcGVcL0JlcmxpbiIsImNvdW50cnkiOiJGcmFuY2UifSx7ImlkIjoiMTEyIiwidmFsdWUiOiJCRSIsIm5hbWUiOiJCZXJsaW4iLCJkZXNjIjoiR2VybWFueSAtIEJlcmxpbiAoQkUpIiwib3BlbnRpbWUiOiIwNzo1ODowMCIsImNsb3NldGltZSI6IjIwOjAxOjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiRXVyb3BlXC9CZXJsaW4iLCJjb3VudHJ5IjoiR2VybWFueSJ9LHsiaWQiOiIxMjMiLCJ2YWx1ZSI6IkQiLCJuYW1lIjoiRHVzc2VsZG9yZiIsImRlc2MiOiJHZXJtYW55IC0gRHVzc2VsZG9yZiAoRCkiLCJvcGVudGltZSI6IjA3OjU4OjAwIiwiY2xvc2V0aW1lIjoiMjA6MzA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJFdXJvcGVcL0JlcmxpbiIsImNvdW50cnkiOiJHZXJtYW55In0seyJpZCI6IjE1NCIsInZhbHVlIjoiRUVYIiwibmFtZSI6IkVFWCIsImRlc2MiOiJHZXJtYW55IC0gRUVYIChFRVgpIiwib3BlbnRpbWUiOiIwNzo1ODowMCIsImNsb3NldGltZSI6IjE4OjAxOjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiRXVyb3BlXC9CZXJsaW4iLCJjb3VudHJ5IjoiR2VybWFueSJ9LHsiaWQiOiIxNTEiLCJ2YWx1ZSI6IkVXWCIsIm5hbWUiOiJFVVdBWCIsImRlc2MiOiJHZXJtYW55IC0gRVVXQVggKEVXKSIsIm9wZW50aW1lIjoiMDc6NTg6MDAiLCJjbG9zZXRpbWUiOiIxNzo0MDowMCIsIndlZWtfZW5kX2RheSI6IjUiLCJ3ZWVrX3N0YXJ0X2RheSI6IjEiLCJ0aW1lem9uZSI6IkV1cm9wZVwvQmVybGluIiwiY291bnRyeSI6Ikdlcm1hbnkifSx7ImlkIjoiODUiLCJ2YWx1ZSI6IkVYIiwibmFtZSI6IkV1cmV4IiwiZGVzYyI6Ikdlcm1hbnkgLSBFdXJleCAoRVgpIiwib3BlbnRpbWUiOiIwMTowMDowMCIsImNsb3NldGltZSI6IjIzOjAxOjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiRXVyb3BlXC9CZXJsaW4iLCJjb3VudHJ5IjoiR2VybWFueSJ9LHsiaWQiOiIxMDQiLCJ2YWx1ZSI6IkYiLCJuYW1lIjoiRnJhbmtmdXJ0IiwiZGVzYyI6Ikdlcm1hbnkgLSBGcmFua2Z1cnQgKEYpIiwib3BlbnRpbWUiOiIwNzo1ODowMCIsImNsb3NldGltZSI6IjIwOjAxOjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiRXVyb3BlXC9CZXJsaW4iLCJjb3VudHJ5IjoiR2VybWFueSJ9LHsiaWQiOiIxMjUiLCJ2YWx1ZSI6IkgiLCJuYW1lIjoiSGFtYnVyZyIsImRlc2MiOiJHZXJtYW55IC0gSGFtYnVyZyAoSCkiLCJvcGVudGltZSI6IjA3OjU4OjAwIiwiY2xvc2V0aW1lIjoiMjA6MzA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJFdXJvcGVcL0JlcmxpbiIsImNvdW50cnkiOiJHZXJtYW55In0seyJpZCI6IjEwNiIsInZhbHVlIjoiTVUiLCJuYW1lIjoiTXVuaWNoIiwiZGVzYyI6Ikdlcm1hbnkgLSBNdW5pY2ggKE1VKSIsIm9wZW50aW1lIjoiMDc6NTg6MDAiLCJjbG9zZXRpbWUiOiIxNzo0MDowMCIsIndlZWtfZW5kX2RheSI6IjUiLCJ3ZWVrX3N0YXJ0X2RheSI6IjEiLCJ0aW1lem9uZSI6IkV1cm9wZVwvQmVybGluIiwiY291bnRyeSI6Ikdlcm1hbnkifSx7ImlkIjoiMTA3IiwidmFsdWUiOiJTRyIsIm5hbWUiOiJTdHV0dGdhcnQiLCJkZXNjIjoiR2VybWFueSAtIFN0dXR0Z2FydCAoU0cpIiwib3BlbnRpbWUiOiIwNzo1ODowMCIsImNsb3NldGltZSI6IjE3OjQxOjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiRXVyb3BlXC9CZXJsaW4iLCJjb3VudHJ5IjoiR2VybWFueSJ9LHsiaWQiOiIxMDUiLCJ2YWx1ZSI6IlRHIiwibmFtZSI6IlRyYWRlR2F0ZSIsImRlc2MiOiJHZXJtYW55IC0gVHJhZGVHYXRlIChURykiLCJvcGVudGltZSI6IjA3OjU4OjAwIiwiY2xvc2V0aW1lIjoiMjI6MDU6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJFdXJvcGVcL0JlcmxpbiIsImNvdW50cnkiOiJHZXJtYW55In0seyJpZCI6IjQiLCJ2YWx1ZSI6IkVUUiIsIm5hbWUiOiJYZXRyYSIsImRlc2MiOiJHZXJtYW55IC0gWGV0cmEgKERFKSIsIm9wZW50aW1lIjoiMDg6NTk6MDAiLCJjbG9zZXRpbWUiOiIxNzozOTowMCIsIndlZWtfZW5kX2RheSI6IjUiLCJ3ZWVrX3N0YXJ0X2RheSI6IjEiLCJ0aW1lem9uZSI6IkV1cm9wZVwvQmVybGluIiwiY291bnRyeSI6Ikdlcm1hbnkifSx7ImlkIjoiMTM1IiwidmFsdWUiOiJHU1giLCJuYW1lIjoiR1NYIiwiZGVzYyI6IkdpYnJhbHRhciAtIEdTWCAoR1NYKSIsIm9wZW50aW1lIjoiMDk6Mjg6MDAiLCJjbG9zZXRpbWUiOiIxNTowMDowMCIsIndlZWtfZW5kX2RheSI6IjUiLCJ3ZWVrX3N0YXJ0X2RheSI6IjEiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOiJHaWJyYWx0YXIifSx7ImlkIjoiNDEiLCJ2YWx1ZSI6IkFUIiwibmFtZSI6IkF0aGVucyIsImRlc2MiOiJHcmVlY2UgLSBBdGhlbnMgKEFUKSIsIm9wZW50aW1lIjoiMTA6Mjg6MDAiLCJjbG9zZXRpbWUiOiIxNzozNTowMCIsIndlZWtfZW5kX2RheSI6IjUiLCJ3ZWVrX3N0YXJ0X2RheSI6IjEiLCJ0aW1lem9uZSI6IkV1cm9wZVwvQXRoZW5zIiwiY291bnRyeSI6IkdyZWVjZSJ9LHsiaWQiOiIyMSIsInZhbHVlIjoiSEsiLCJuYW1lIjoiSG9uZyBLb25nIiwiZGVzYyI6IkhvbmcgS29uZyAtIEhvbmcgS29uZyAoSEspIiwib3BlbnRpbWUiOiIwOToyODowMCIsImNsb3NldGltZSI6IjE2OjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiQXNpYVwvSG9uZ19Lb25nIiwiY291bnRyeSI6IkhvbmcgS29uZyJ9LHsiaWQiOiIyMyIsInZhbHVlIjoiQlUiLCJuYW1lIjoiQnVkYXBlc3QiLCJkZXNjIjoiSHVuZ2FyeSAtIEJ1ZGFwZXN0IChCVSkiLCJvcGVudGltZSI6IjA4OjU4OjAwIiwiY2xvc2V0aW1lIjoiMTc6MTY6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJFdXJvcGVcL0JlcmxpbiIsImNvdW50cnkiOiJIdW5nYXJ5In0seyJpZCI6IjUyIiwidmFsdWUiOiJJQyIsIm5hbWUiOiJJY2VsYW5kIiwiZGVzYyI6IkljZWxhbmQgLSBJY2VsYW5kIChJQykiLCJvcGVudGltZSI6IjA5OjI4OjAwIiwiY2xvc2V0aW1lIjoiMTU6MzE6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJJY2VsYW5kIiwiY291bnRyeSI6IkljZWxhbmQifSx7ImlkIjoiNzQiLCJ2YWx1ZSI6IkJPIiwibmFtZSI6IkJTRSIsImRlc2MiOiJJbmRpYSAtIEJTRSAoQk8pIiwib3BlbnRpbWUiOiIwOToxMzowMCIsImNsb3NldGltZSI6IjE1OjMwOjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiQXNpYVwvS29sa2F0YSIsImNvdW50cnkiOiJJbmRpYSJ9LHsiaWQiOiI5MyIsInZhbHVlIjoiTUNYIiwibmFtZSI6Ik1DWCIsImRlc2MiOiJJbmRpYSAtIE1DWCAoTUNYKSIsIm9wZW50aW1lIjoiMDg6NTg6MDAiLCJjbG9zZXRpbWUiOiIyMzozMDowMCIsIndlZWtfZW5kX2RheSI6IjUiLCJ3ZWVrX3N0YXJ0X2RheSI6IjEiLCJ0aW1lem9uZSI6IkFzaWFcL0tvbGthdGEiLCJjb3VudHJ5IjoiSW5kaWEifSx7ImlkIjoiMTM5IiwidmFsdWUiOiJOQ0RFWCIsIm5hbWUiOiJOQ0RFWCIsImRlc2MiOiJJbmRpYSAtIE5DREVYIChOQ0RFWCkiLCJvcGVudGltZSI6IjA4OjU4OjAwIiwiY2xvc2V0aW1lIjoiMjM6NTg6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJBc2lhXC9Lb2xrYXRhIiwiY291bnRyeSI6IkluZGlhIn0seyJpZCI6IjQ2IiwidmFsdWUiOiJOU0UiLCJuYW1lIjoiTlNFIiwiZGVzYyI6IkluZGlhIC0gTlNFIChOUykiLCJvcGVudGltZSI6IjA5OjA1OjAwIiwiY2xvc2V0aW1lIjoiMTU6MzA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJBc2lhXC9Lb2xrYXRhIiwiY291bnRyeSI6IkluZGlhIn0seyJpZCI6IjU3IiwidmFsdWUiOiJKSyIsIm5hbWUiOiJKYWthcnRhIiwiZGVzYyI6IkluZG9uZXNpYSAtIEpha2FydGEgKEpLKSIsIm9wZW50aW1lIjoiMDg6NTg6MDAiLCJjbG9zZXRpbWUiOiIxNjo0MDowMCIsIndlZWtfZW5kX2RheSI6IjUiLCJ3ZWVrX3N0YXJ0X2RheSI6IjEiLCJ0aW1lem9uZSI6IkFzaWFcL0pha2FydGEiLCJjb3VudHJ5IjoiSW5kb25lc2lhIn0seyJpZCI6IjExNiIsInZhbHVlIjoiSVNYIiwibmFtZSI6IklTWCIsImRlc2MiOiJJcmFxIC0gSVNYIChJU1gpIiwib3BlbnRpbWUiOiIwOTo1ODowMCIsImNsb3NldGltZSI6IjEyOjQwOjAwIiwid2Vla19lbmRfZGF5IjoiNCIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiQXNpYVwvQmFnaGRhZCIsImNvdW50cnkiOiJJcmFxIn0seyJpZCI6IjU4IiwidmFsdWUiOiJJUiIsIm5hbWUiOiJJcmVsYW5kIiwiZGVzYyI6IklyZWxhbmQgLSBJcmVsYW5kIChJKSIsIm9wZW50aW1lIjoiMDc6NTg6MDAiLCJjbG9zZXRpbWUiOiIxNjozMDowMCIsIndlZWtfZW5kX2RheSI6IjUiLCJ3ZWVrX3N0YXJ0X2RheSI6IjEiLCJ0aW1lem9uZSI6IkV1cm9wZVwvRHVibGluIiwiY291bnRyeSI6IklyZWxhbmQifSx7ImlkIjoiMTQyIiwidmFsdWUiOiJDQVJBVFMuSU8iLCJuYW1lIjoiRGluZGV4IiwiZGVzYyI6IklzcmFlbCAtIERpbmRleCAiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMjM6NTk6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI2Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjoiSXNyYWVsIn0seyJpZCI6IjI2IiwidmFsdWUiOiJUQVNFIiwibmFtZSI6IlRlbCBBdml2IiwiZGVzYyI6IklzcmFlbCAtIFRlbCBBdml2IChUQSkiLCJvcGVudGltZSI6IjA5OjQ0OjAwIiwiY2xvc2V0aW1lIjoiMTc6MzA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJBc2lhXC9KZXJ1c2FsZW0iLCJjb3VudHJ5IjoiSXNyYWVsIn0seyJpZCI6IjE0NyIsInZhbHVlIjoiVFgiLCJuYW1lIjoiRXVyb1RMWCIsImRlc2MiOiJJdGFseSAtIEV1cm9UTFggKFRYKSIsIm9wZW50aW1lIjoiMDg6NTk6MDAiLCJjbG9zZXRpbWUiOiIxNzo0MDowMCIsIndlZWtfZW5kX2RheSI6IjUiLCJ3ZWVrX3N0YXJ0X2RheSI6IjEiLCJ0aW1lem9uZSI6IkV1cm9wZVwvQmVybGluIiwiY291bnRyeSI6Ikl0YWx5In0seyJpZCI6IjYiLCJ2YWx1ZSI6IkJJVCIsIm5hbWUiOiJNaWxhbiIsImRlc2MiOiJJdGFseSAtIE1pbGFuIChNSSkiLCJvcGVudGltZSI6IjA4OjU5OjAwIiwiY2xvc2V0aW1lIjoiMTc6MzY6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJFdXJvcGVcL0JlcmxpbiIsImNvdW50cnkiOiJJdGFseSJ9LHsiaWQiOiIxMjQiLCJ2YWx1ZSI6IkpTIiwibmFtZSI6IkphbWFpY2EiLCJkZXNjIjoiSmFtYWljYSAtIEphbWFpY2EgKEpTKSIsIm9wZW50aW1lIjoiMDk6MDA6MDAiLCJjbG9zZXRpbWUiOiIxNDoxNTowMCIsIndlZWtfZW5kX2RheSI6IjUiLCJ3ZWVrX3N0YXJ0X2RheSI6IjEiLCJ0aW1lem9uZSI6IkFtZXJpY2FcL0phbWFpY2EiLCJjb3VudHJ5IjoiSmFtYWljYSJ9LHsiaWQiOiIxNDAiLCJ2YWx1ZSI6IlRPQ09NIiwibmFtZSI6IlRPQ09NIiwiZGVzYyI6IkphcGFuIC0gVE9DT00gKFRPQ09NKSIsIm9wZW50aW1lIjoiMDg6NDM6MDAiLCJjbG9zZXRpbWUiOiIyMTowMDowMCIsIndlZWtfZW5kX2RheSI6IjUiLCJ3ZWVrX3N0YXJ0X2RheSI6IjEiLCJ0aW1lem9uZSI6IkFzaWFcL1Rva3lvIiwiY291bnRyeSI6IkphcGFuIn0seyJpZCI6IjIwIiwidmFsdWUiOiJUWU8iLCJuYW1lIjoiVG9reW8iLCJkZXNjIjoiSmFwYW4gLSBUb2t5byAoVCkiLCJvcGVudGltZSI6IjA4OjU4OjAwIiwiY2xvc2V0aW1lIjoiMTU6MzA6MzAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJBc2lhXC9Ub2t5byIsImNvdW50cnkiOiJKYXBhbiJ9LHsiaWQiOiIyOSIsInZhbHVlIjoiQVNFIiwibmFtZSI6IkFtbWFuIiwiZGVzYyI6IkpvcmRhbiAtIEFtbWFuIChBTSkiLCJvcGVudGltZSI6IjEwOjI4OjAwIiwiY2xvc2V0aW1lIjoiMTM6MzA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI0Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJBc2lhXC9BbW1hbiIsImNvdW50cnkiOiJKb3JkYW4ifSx7ImlkIjoiMTE3IiwidmFsdWUiOiJLWiIsIm5hbWUiOiJLQVNFIiwiZGVzYyI6IkthemFraHN0YW4gLSBLQVNFIChLWikiLCJvcGVudGltZSI6IjExOjI4OjAwIiwiY2xvc2V0aW1lIjoiMTc6NTA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJBc2lhXC9BbG1hdHkiLCJjb3VudHJ5IjoiS2F6YWtoc3RhbiJ9LHsiaWQiOiI1OSIsInZhbHVlIjoiTlIiLCJuYW1lIjoiS2VueWEiLCJkZXNjIjoiS2VueWEgLSBLZW55YSAoTlIpIiwib3BlbnRpbWUiOiIwOToyODowMCIsImNsb3NldGltZSI6IjE2OjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiQWZyaWNhXC9OYWlyb2JpIiwiY291bnRyeSI6IktlbnlhIn0seyJpZCI6IjI3IiwidmFsdWUiOiJLU0UiLCJuYW1lIjoiS3V3YWl0IENpdHkiLCJkZXNjIjoiS3V3YWl0IC0gS3V3YWl0IENpdHkgKEtXKSIsIm9wZW50aW1lIjoiMDg6NTg6MDAiLCJjbG9zZXRpbWUiOiIxMzowMDowMCIsIndlZWtfZW5kX2RheSI6IjQiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkFzaWFcL0t1d2FpdCIsImNvdW50cnkiOiJLdXdhaXQifSx7ImlkIjoiODAiLCJ2YWx1ZSI6IlJJIiwibmFtZSI6Ik5BU0RBUSBPTVggUmlnYSIsImRlc2MiOiJMYXR2aWEgLSBOQVNEQVEgT01YIFJpZ2EgKFJJKSIsIm9wZW50aW1lIjoiMDk6NTg6MDAiLCJjbG9zZXRpbWUiOiIxNjoxMDowMCIsIndlZWtfZW5kX2RheSI6IjUiLCJ3ZWVrX3N0YXJ0X2RheSI6IjEiLCJ0aW1lem9uZSI6IkV1cm9wZVwvUmlnYSIsImNvdW50cnkiOiJMYXR2aWEifSx7ImlkIjoiMzQiLCJ2YWx1ZSI6IkJTRS1CRUlSVVQiLCJuYW1lIjoiQmVpcnV0IiwiZGVzYyI6IkxlYmFub24gLSBCZWlydXQgKEJZKSIsIm9wZW50aW1lIjoiMDk6Mjg6MDAiLCJjbG9zZXRpbWUiOiIxNDowMDowMCIsIndlZWtfZW5kX2RheSI6IjQiLCJ3ZWVrX3N0YXJ0X2RheSI6IjAiLCJ0aW1lem9uZSI6IkFzaWFcL0JlaXJ1dCIsImNvdW50cnkiOiJMZWJhbm9uIn0seyJpZCI6IjEzNiIsInZhbHVlIjoiTExMIiwibmFtZSI6IkxpZWNodGVuc3RlaW4iLCJkZXNjIjoiTGllY2h0ZW5zdGVpbiAtIExpZWNodGVuc3RlaW4gKExMTCkiLCJvcGVudGltZSI6IjA5OjI4OjAwIiwiY2xvc2V0aW1lIjoiMTg6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjoiTGllY2h0ZW5zdGVpbiJ9LHsiaWQiOiI4MSIsInZhbHVlIjoiVkwiLCJuYW1lIjoiVmlsbml1cyIsImRlc2MiOiJMaXRodWFuaWEgLSBWaWxuaXVzIChWTCkiLCJvcGVudGltZSI6IjA4OjU4OjAwIiwiY2xvc2V0aW1lIjoiMTY6MTA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJFdXJvcGVcL1ZpbG5pdXMiLCJjb3VudHJ5IjoiTGl0aHVhbmlhIn0seyJpZCI6IjYxIiwidmFsdWUiOiJMVSIsIm5hbWUiOiJMdXhlbWJvdXJnIiwiZGVzYyI6Ikx1eGVtYm91cmcgLSBMdXhlbWJvdXJnIChMVSkiLCJvcGVudGltZSI6IjA4OjU4OjAwIiwiY2xvc2V0aW1lIjoiMTc6NTA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJFdXJvcGVcL0x1eGVtYm91cmciLCJjb3VudHJ5IjoiTHV4ZW1ib3VyZyJ9LHsiaWQiOiI4NyIsInZhbHVlIjoiTVYiLCJuYW1lIjoiTWFsYXdpIiwiZGVzYyI6Ik1hbGF3aSAtIE1hbGF3aSAoTVYpIiwib3BlbnRpbWUiOiIxMDo1ODowMCIsImNsb3NldGltZSI6IjExOjM1OjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiQWZyaWNhXC9CbGFudHlyZSIsImNvdW50cnkiOiJNYWxhd2kifSx7ImlkIjoiNjIiLCJ2YWx1ZSI6IktMIiwibmFtZSI6Ikt1YWxhIEx1bXB1ciIsImRlc2MiOiJNYWxheXNpYSAtIEt1YWxhIEx1bXB1ciAoS0wpIiwib3BlbnRpbWUiOiIwODo1ODowMCIsImNsb3NldGltZSI6IjE3OjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiQXNpYVwvS3VhbGFfTHVtcHVyIiwiY291bnRyeSI6Ik1hbGF5c2lhIn0seyJpZCI6IjgyIiwidmFsdWUiOiJNVCIsIm5hbWUiOiJNYWx0YSIsImRlc2MiOiJNYWx0YSAtIE1hbHRhIChNVCkiLCJvcGVudGltZSI6IjA5OjI4OjAwIiwiY2xvc2V0aW1lIjoiMTU6MzU6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJFdXJvcGVcL01hbHRhIiwiY291bnRyeSI6Ik1hbHRhIn0seyJpZCI6Ijg2IiwidmFsdWUiOiJNWiIsIm5hbWUiOiJNYXVyaXRpdXMiLCJkZXNjIjoiTWF1cml0aXVzIC0gTWF1cml0aXVzIChNWikiLCJvcGVudGltZSI6IjA4OjU4OjAwIiwiY2xvc2V0aW1lIjoiMTQ6MzU6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJJbmRpYW5cL01hdXJpdGl1cyIsImNvdW50cnkiOiJNYXVyaXRpdXMifSx7ImlkIjoiMTQ0IiwidmFsdWUiOiJCSVYiLCJuYW1lIjoiQklWQSIsImRlc2MiOiJNZXhpY28gLSBCSVZBIChCSVYpIiwib3BlbnRpbWUiOiIwNzozMDowMCIsImNsb3NldGltZSI6IjE1OjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiQW1lcmljYVwvTWV4aWNvX0NpdHkiLCJjb3VudHJ5IjoiTWV4aWNvIn0seyJpZCI6IjUzIiwidmFsdWUiOiJCTVYiLCJuYW1lIjoiTWV4aWNvIiwiZGVzYyI6Ik1leGljbyAtIE1leGljbyAoTVgpIiwib3BlbnRpbWUiOiIwNzozMDowMCIsImNsb3NldGltZSI6IjE1OjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiQW1lcmljYVwvTWV4aWNvX0NpdHkiLCJjb3VudHJ5IjoiTWV4aWNvIn0seyJpZCI6IjEzNyIsInZhbHVlIjoiTU1NIiwibmFtZSI6Ik1vbmFjbyIsImRlc2MiOiJNb25hY28gLSBNb25hY28gKE1NTSkiLCJvcGVudGltZSI6IjA5OjI4OjAwIiwiY2xvc2V0aW1lIjoiMTg6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjoiTW9uYWNvIn0seyJpZCI6IjEyOSIsInZhbHVlIjoiTU5FIiwibmFtZSI6Ik1vbmdvbGlhIiwiZGVzYyI6Ik1vbmdvbGlhIC0gTW9uZ29saWEgKE1ORSkiLCJvcGVudGltZSI6IjA5OjU4OjAwIiwiY2xvc2V0aW1lIjoiMTM6NTU6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJBc2lhXC9VbGFhbmJhYXRhciIsImNvdW50cnkiOiJNb25nb2xpYSJ9LHsiaWQiOiIxMjgiLCJ2YWx1ZSI6Ik1PVCIsIm5hbWUiOiJNTlNFIiwiZGVzYyI6Ik1vbnRlbmVncm8gLSBNTlNFIChNT1QpIiwib3BlbnRpbWUiOiIwOTowMDowMCIsImNsb3NldGltZSI6IjEzOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiRXVyb3BlXC9Qb2Rnb3JpY2EiLCJjb3VudHJ5IjoiTW9udGVuZWdybyJ9LHsiaWQiOiIzNiIsInZhbHVlIjoiQ1NFIiwibmFtZSI6IkNhc2FibGFuY2EiLCJkZXNjIjoiTW9yb2NjbyAtIENhc2FibGFuY2EgKENTKSIsIm9wZW50aW1lIjoiMDk6Mjg6MDAiLCJjbG9zZXRpbWUiOiIxNjowMDowMCIsIndlZWtfZW5kX2RheSI6IjUiLCJ3ZWVrX3N0YXJ0X2RheSI6IjEiLCJ0aW1lem9uZSI6IkFmcmljYVwvQ2FzYWJsYW5jYSIsImNvdW50cnkiOiJNb3JvY2NvIn0seyJpZCI6Ijc1IiwidmFsdWUiOiJOTSIsIm5hbWUiOiJOYW1pYmlhIiwiZGVzYyI6Ik5hbWliaWEgLSBOYW1pYmlhIChOTSkiLCJvcGVudGltZSI6IjA4OjU4OjAwIiwiY2xvc2V0aW1lIjoiMTc6MTA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJBZnJpY2FcL1dpbmRob2VrIiwiY291bnRyeSI6Ik5hbWliaWEifSx7ImlkIjoiNyIsInZhbHVlIjoiQVMiLCJuYW1lIjoiQW1zdGVyZGFtIiwiZGVzYyI6Ik5ldGhlcmxhbmRzIC0gQW1zdGVyZGFtIChBUykiLCJvcGVudGltZSI6IjA4OjU4OjAwIiwiY2xvc2V0aW1lIjoiMTc6MzY6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJFdXJvcGVcL0JlcmxpbiIsImNvdW50cnkiOiJOZXRoZXJsYW5kcyJ9LHsiaWQiOiI4MyIsInZhbHVlIjoiTloiLCJuYW1lIjoiTmV3IFplYWxhbmQiLCJkZXNjIjoiTmV3IFplYWxhbmQgLSBOZXcgWmVhbGFuZCAoTlopIiwib3BlbnRpbWUiOiIwOTo1ODowMCIsImNsb3NldGltZSI6IjE3OjQwOjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiUGFjaWZpY1wvQXVja2xhbmQiLCJjb3VudHJ5IjoiTmV3IFplYWxhbmQifSx7ImlkIjoiOTYiLCJ2YWx1ZSI6IkxBR09TIiwibmFtZSI6IkxhZ29zIiwiZGVzYyI6Ik5pZ2VyaWEgLSBMYWdvcyAoTEcpIiwib3BlbnRpbWUiOiIwOTo1ODowMCIsImNsb3NldGltZSI6IjE0OjM1OjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiQWZyaWNhXC9MYWdvcyIsImNvdW50cnkiOiJOaWdlcmlhIn0seyJpZCI6IjgiLCJ2YWx1ZSI6Ik9MIiwibmFtZSI6Ik9zbG8iLCJkZXNjIjoiTm9yd2F5IC0gT3NsbyAoT0wpIiwib3BlbnRpbWUiOiIwODo1ODowMCIsImNsb3NldGltZSI6IjE2OjI2OjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiRXVyb3BlXC9CZXJsaW4iLCJjb3VudHJ5IjoiTm9yd2F5In0seyJpZCI6IjM4IiwidmFsdWUiOiJNU00iLCJuYW1lIjoiT21hbiIsImRlc2MiOiJPbWFuIC0gT21hbiAoT00pIiwib3BlbnRpbWUiOiIwOTo1ODowMCIsImNsb3NldGltZSI6IjE0OjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNCIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiQXNpYVwvTXVzY2F0IiwiY291bnRyeSI6Ik9tYW4ifSx7ImlkIjoiNjMiLCJ2YWx1ZSI6IlBTWCIsIm5hbWUiOiJLYXJhY2hpIiwiZGVzYyI6IlBha2lzdGFuIC0gS2FyYWNoaSAoUFNYKSIsIm9wZW50aW1lIjoiMDg6NTg6MDAiLCJjbG9zZXRpbWUiOiIxNjozMDowMCIsIndlZWtfZW5kX2RheSI6IjUiLCJ3ZWVrX3N0YXJ0X2RheSI6IjEiLCJ0aW1lem9uZSI6IkFzaWFcL0thcmFjaGkiLCJjb3VudHJ5IjoiUGFraXN0YW4ifSx7ImlkIjoiMzIiLCJ2YWx1ZSI6IlBFWCIsIm5hbWUiOiJSYW1hbGxhaCIsImRlc2MiOiJQYWxlc3RpbmlhbiBUZXJyaXRvcnkgLSBSYW1hbGxhaCAoUEwpIiwib3BlbnRpbWUiOiIwOTo1ODowMCIsImNsb3NldGltZSI6IjEzOjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNCIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiQXNpYVwvSmVydXNhbGVtIiwiY291bnRyeSI6IlBhbGVzdGluaWFuIFRlcnJpdG9yeSJ9LHsiaWQiOiI2NCIsInZhbHVlIjoiQlZMIiwibmFtZSI6IkxpbWEiLCJkZXNjIjoiUGVydSAtIExpbWEgKExNKSIsIm9wZW50aW1lIjoiMDg6MTg6MDAiLCJjbG9zZXRpbWUiOiIxNjowNTowMCIsIndlZWtfZW5kX2RheSI6IjUiLCJ3ZWVrX3N0YXJ0X2RheSI6IjEiLCJ0aW1lem9uZSI6IkFtZXJpY2FcL0xpbWEiLCJjb3VudHJ5IjoiUGVydSJ9LHsiaWQiOiI2NSIsInZhbHVlIjoiUFMiLCJuYW1lIjoiUGhpbGlwcGluZXMiLCJkZXNjIjoiUGhpbGlwcGluZXMgLSBQaGlsaXBwaW5lcyAoUFMpIiwib3BlbnRpbWUiOiIwOToyODowMCIsImNsb3NldGltZSI6IjE0OjU5OjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiQXNpYVwvTWFuaWxhIiwiY291bnRyeSI6IlBoaWxpcHBpbmVzIn0seyJpZCI6IjI1IiwidmFsdWUiOiJXQSIsIm5hbWUiOiJXYXJzYXciLCJkZXNjIjoiUG9sYW5kIC0gV2Fyc2F3IChXQSkiLCJvcGVudGltZSI6IjA4OjU4OjAwIiwiY2xvc2V0aW1lIjoiMTc6MDY6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJFdXJvcGVcL0JlcmxpbiIsImNvdW50cnkiOiJQb2xhbmQifSx7ImlkIjoiMTAiLCJ2YWx1ZSI6IkVMSSIsIm5hbWUiOiJMaXNib24iLCJkZXNjIjoiUG9ydHVnYWwgLSBMaXNib24gKExTKSIsIm9wZW50aW1lIjoiMDg6NTg6MDAiLCJjbG9zZXRpbWUiOiIxNzozNjowMCIsIndlZWtfZW5kX2RheSI6IjUiLCJ3ZWVrX3N0YXJ0X2RheSI6IjEiLCJ0aW1lem9uZSI6IkV1cm9wZVwvQmVybGluIiwiY291bnRyeSI6IlBvcnR1Z2FsIn0seyJpZCI6IjM1IiwidmFsdWUiOiJRRSIsIm5hbWUiOiJEb2hhIiwiZGVzYyI6IlFhdGFyIC0gRG9oYSAoUUEpIiwib3BlbnRpbWUiOiIwOToyODowMCIsImNsb3NldGltZSI6IjE0OjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNCIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiQXNpYVwvUWF0YXIiLCJjb3VudHJ5IjoiUWF0YXIifSx7ImlkIjoiNDMiLCJ2YWx1ZSI6IkJYIiwibmFtZSI6IkJ1Y2hhcmVzdCIsImRlc2MiOiJSb21hbmlhIC0gQnVjaGFyZXN0IChCWCkiLCJvcGVudGltZSI6IjA5OjU4OjAwIiwiY2xvc2V0aW1lIjoiMTg6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJFdXJvcGVcL0J1Y2hhcmVzdCIsImNvdW50cnkiOiJSb21hbmlhIn0seyJpZCI6IjQwIiwidmFsdWUiOiJNQ1giLCJuYW1lIjoiTW9zY293IiwiZGVzYyI6IlJ1c3NpYSAtIE1vc2NvdyAoTU0pIiwib3BlbnRpbWUiOiIwNjo1MDowMCIsImNsb3NldGltZSI6IjIzOjUwOjAwIiwid2Vla19lbmRfZGF5IjoiNiIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiRXVyb3BlXC9Nb3Njb3ciLCJjb3VudHJ5IjoiUnVzc2lhIn0seyJpZCI6IjE1MCIsInZhbHVlIjoiTUNYIiwibmFtZSI6Ik1vc2NvdyIsImRlc2MiOiJSdXNzaWEgLSBNb3Njb3cgKE1NVikiLCJvcGVudGltZSI6IjA5OjU4OjAwIiwiY2xvc2V0aW1lIjoiMTg6NTk6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJFdXJvcGVcL01vc2NvdyIsImNvdW50cnkiOiJSdXNzaWEifSx7ImlkIjoiOTAiLCJ2YWx1ZSI6IlJXIiwibmFtZSI6IlJ3YW5kYSIsImRlc2MiOiJSd2FuZGEgLSBSd2FuZGEgKFJXKSIsIm9wZW50aW1lIjoiMDg6NTg6MDAiLCJjbG9zZXRpbWUiOiIxMjowNTowMCIsIndlZWtfZW5kX2RheSI6IjUiLCJ3ZWVrX3N0YXJ0X2RheSI6IjEiLCJ0aW1lem9uZSI6IkFmcmljYVwvS2lnYWxpIiwiY291bnRyeSI6IlJ3YW5kYSJ9LHsiaWQiOiIyOCIsInZhbHVlIjoiVEFEQVdVTCIsIm5hbWUiOiJTYXVkaSBBcmFiaWEiLCJkZXNjIjoiU2F1ZGkgQXJhYmlhIC0gU2F1ZGkgQXJhYmlhIChTRSkiLCJvcGVudGltZSI6IjA5OjU4OjAwIiwiY2xvc2V0aW1lIjoiMTU6MTY6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI0Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJBc2lhXC9SaXlhZGgiLCJjb3VudHJ5IjoiU2F1ZGkgQXJhYmlhIn0seyJpZCI6IjEwMiIsInZhbHVlIjoiQkVMIiwibmFtZSI6IkJlbGdyYWRlIiwiZGVzYyI6IlNlcmJpYSAtIEJlbGdyYWRlIChCRUwpIiwib3BlbnRpbWUiOiIwOTo1ODowMCIsImNsb3NldGltZSI6IjE1OjA1OjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiRXVyb3BlXC9CZWxncmFkZSIsImNvdW50cnkiOiJTZXJiaWEifSx7ImlkIjoiMTkiLCJ2YWx1ZSI6IlNHWCIsIm5hbWUiOiJTaW5nYXBvcmUiLCJkZXNjIjoiU2luZ2Fwb3JlIC0gU2luZ2Fwb3JlIChTSSkiLCJvcGVudGltZSI6IjA4OjU4OjAwIiwiY2xvc2V0aW1lIjoiMTc6MDA6MzAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJBc2lhXC9TaW5nYXBvcmUiLCJjb3VudHJ5IjoiU2luZ2Fwb3JlIn0seyJpZCI6Ijg0IiwidmFsdWUiOiJCViIsIm5hbWUiOiJCcmF0aXNsYXZhIiwiZGVzYyI6IlNsb3Zha2lhIC0gQnJhdGlzbGF2YSAoQlYpIiwib3BlbnRpbWUiOiIxMDoyODowMCIsImNsb3NldGltZSI6IjE1OjM1OjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiRXVyb3BlXC9CcmF0aXNsYXZhIiwiY291bnRyeSI6IlNsb3Zha2lhIn0seyJpZCI6IjY2IiwidmFsdWUiOiJMSiIsIm5hbWUiOiJManVibGphbmEiLCJkZXNjIjoiU2xvdmVuaWEgLSBManVibGphbmEgKExKKSIsIm9wZW50aW1lIjoiMDk6MTM6MDAiLCJjbG9zZXRpbWUiOiIxNToxNTowMCIsIndlZWtfZW5kX2RheSI6IjUiLCJ3ZWVrX3N0YXJ0X2RheSI6IjEiLCJ0aW1lem9uZSI6IkV1cm9wZVwvTGp1YmxqYW5hIiwiY291bnRyeSI6IlNsb3ZlbmlhIn0seyJpZCI6IjIyIiwidmFsdWUiOiJKTyIsIm5hbWUiOiJKb2hhbm5lc2J1cmciLCJkZXNjIjoiU291dGggQWZyaWNhIC0gSm9oYW5uZXNidXJnIChKKSIsIm9wZW50aW1lIjoiMDg6NTg6MDAiLCJjbG9zZXRpbWUiOiIxNzowMDowMCIsIndlZWtfZW5kX2RheSI6IjUiLCJ3ZWVrX3N0YXJ0X2RheSI6IjEiLCJ0aW1lem9uZSI6IkFmcmljYVwvSm9oYW5uZXNidXJnIiwiY291bnRyeSI6IlNvdXRoIEFmcmljYSJ9LHsiaWQiOiIxMzAiLCJ2YWx1ZSI6IktOIiwibmFtZSI6IktPTkVYIiwiZGVzYyI6IlNvdXRoIEtvcmVhIC0gS09ORVggKEtOKSIsIm9wZW50aW1lIjoiMDg6NTg6MDAiLCJjbG9zZXRpbWUiOiIxNjowMDowMCIsIndlZWtfZW5kX2RheSI6IjUiLCJ3ZWVrX3N0YXJ0X2RheSI6IjEiLCJ0aW1lem9uZSI6IkFzaWFcL1Nlb3VsIiwiY291bnRyeSI6IlNvdXRoIEtvcmVhIn0seyJpZCI6IjExMCIsInZhbHVlIjoiS1EiLCJuYW1lIjoiS09TREFRIiwiZGVzYyI6IlNvdXRoIEtvcmVhIC0gS09TREFRIChLUSkiLCJvcGVudGltZSI6IjA4OjU4OjAwIiwiY2xvc2V0aW1lIjoiMTU6MzA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJBc2lhXC9TZW91bCIsImNvdW50cnkiOiJTb3V0aCBLb3JlYSJ9LHsiaWQiOiI2MCIsInZhbHVlIjoiS1MiLCJuYW1lIjoiU2VvdWwiLCJkZXNjIjoiU291dGggS29yZWEgLSBTZW91bCAoS1MpIiwib3BlbnRpbWUiOiIwODo1ODowMCIsImNsb3NldGltZSI6IjE1OjMwOjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiQXNpYVwvU2VvdWwiLCJjb3VudHJ5IjoiU291dGggS29yZWEifSx7ImlkIjoiMTQ2IiwidmFsdWUiOiJMQSIsIm5hbWUiOiJMQVRJQkVYIiwiZGVzYyI6IlNwYWluIC0gTEFUSUJFWCAoTEEpIiwib3BlbnRpbWUiOiIwODo1ODowMCIsImNsb3NldGltZSI6IjE3OjM2OjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiRXVyb3BlXC9CZXJsaW4iLCJjb3VudHJ5IjoiU3BhaW4ifSx7ImlkIjoiMTEiLCJ2YWx1ZSI6IkJNRSIsIm5hbWUiOiJNYWRyaWQiLCJkZXNjIjoiU3BhaW4gLSBNYWRyaWQgKE1DKSIsIm9wZW50aW1lIjoiMDg6NTg6MDAiLCJjbG9zZXRpbWUiOiIxNzozNjowMCIsIndlZWtfZW5kX2RheSI6IjUiLCJ3ZWVrX3N0YXJ0X2RheSI6IjEiLCJ0aW1lem9uZSI6IkV1cm9wZVwvQmVybGluIiwiY291bnRyeSI6IlNwYWluIn0seyJpZCI6IjY3IiwidmFsdWUiOiJDTSIsIm5hbWUiOiJDb2xvbWJvIiwiZGVzYyI6IlNyaSBMYW5rYSAtIENvbG9tYm8gKENNKSIsIm9wZW50aW1lIjoiMDk6Mjg6MDAiLCJjbG9zZXRpbWUiOiIxNDozMDowMCIsIndlZWtfZW5kX2RheSI6IjUiLCJ3ZWVrX3N0YXJ0X2RheSI6IjEiLCJ0aW1lem9uZSI6IkFzaWFcL0NvbG9tYm8iLCJjb3VudHJ5IjoiU3JpIExhbmthIn0seyJpZCI6IjExNCIsInZhbHVlIjoiTkdNIiwibmFtZSI6Ik5HTSIsImRlc2MiOiJTd2VkZW4gLSBOR00gKE5HTSkiLCJvcGVudGltZSI6IjA4OjU4OjAwIiwiY2xvc2V0aW1lIjoiMTc6MzA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJFdXJvcGVcL1N0b2NraG9sbSIsImNvdW50cnkiOiJTd2VkZW4ifSx7ImlkIjoiMTQxIiwidmFsdWUiOiJURSIsIm5hbWUiOiJTcG90bGlnaHQiLCJkZXNjIjoiU3dlZGVuIC0gU3BvdGxpZ2h0IChURSkiLCJvcGVudGltZSI6IjA4OjU4OjAwIiwiY2xvc2V0aW1lIjoiMTc6MzA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJFdXJvcGVcL1N0b2NraG9sbSIsImNvdW50cnkiOiJTd2VkZW4ifSx7ImlkIjoiMTIiLCJ2YWx1ZSI6IlNUIiwibmFtZSI6IlN0b2NraG9sbSIsImRlc2MiOiJTd2VkZW4gLSBTdG9ja2hvbG0gKFNUKSIsIm9wZW50aW1lIjoiMDg6NTg6MDAiLCJjbG9zZXRpbWUiOiIxNzozMTowMCIsIndlZWtfZW5kX2RheSI6IjUiLCJ3ZWVrX3N0YXJ0X2RheSI6IjEiLCJ0aW1lem9uZSI6IkV1cm9wZVwvU3RvY2tob2xtIiwiY291bnRyeSI6IlN3ZWRlbiJ9LHsiaWQiOiI1IiwidmFsdWUiOiJTSVgiLCJuYW1lIjoiU3dpdHplcmxhbmQiLCJkZXNjIjoiU3dpdHplcmxhbmQgLSBTd2l0emVybGFuZCAoUykiLCJvcGVudGltZSI6IjA4OjU4OjAwIiwiY2xvc2V0aW1lIjoiMTc6MzY6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJFdXJvcGVcL0JlcmxpbiIsImNvdW50cnkiOiJTd2l0emVybGFuZCJ9LHsiaWQiOiIxMzIiLCJ2YWx1ZSI6IlRBSUZFWCIsIm5hbWUiOiJUQUlGRVgiLCJkZXNjIjoiVGFpd2FuIC0gVEFJRkVYIChUQUlGRVgpIiwib3BlbnRpbWUiOiIwODo0MzowMCIsImNsb3NldGltZSI6IjE3OjMwOjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiQXNpYVwvVGFpcGVpIiwiY291bnRyeSI6IlRhaXdhbiJ9LHsiaWQiOiIxMzEiLCJ2YWx1ZSI6IlRXTyIsIm5hbWUiOiJUUEVYIiwiZGVzYyI6IlRhaXdhbiAtIFRQRVggKFRXTykiLCJvcGVudGltZSI6IjA4OjU4OjAwIiwiY2xvc2V0aW1lIjoiMTU6MzA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJBc2lhXC9UYWlwZWkiLCJjb3VudHJ5IjoiVGFpd2FuIn0seyJpZCI6IjY4IiwidmFsdWUiOiJUVyIsIm5hbWUiOiJUYWl3YW4iLCJkZXNjIjoiVGFpd2FuIC0gVGFpd2FuIChUVykiLCJvcGVudGltZSI6IjA4OjU4OjAwIiwiY2xvc2V0aW1lIjoiMTQ6MzA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJBc2lhXC9UYWlwZWkiLCJjb3VudHJ5IjoiVGFpd2FuIn0seyJpZCI6Ijg4IiwidmFsdWUiOiJUWiIsIm5hbWUiOiJEYXIgRXMgU2FsYWFtIiwiZGVzYyI6IlRhbnphbmlhIC0gRGFyIEVzIFNhbGFhbSAoVFopIiwib3BlbnRpbWUiOiIwOTo1ODowMCIsImNsb3NldGltZSI6IjE2OjA1OjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiQWZyaWNhXC9EYXJfZXNfU2FsYWFtIiwiY291bnRyeSI6IlRhbnphbmlhIn0seyJpZCI6IjY5IiwidmFsdWUiOiJCSyIsIm5hbWUiOiJUaGFpbGFuZCIsImRlc2MiOiJUaGFpbGFuZCAtIFRoYWlsYW5kIChCSykiLCJvcGVudGltZSI6IjA5OjU4OjAwIiwiY2xvc2V0aW1lIjoiMTc6NTA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJBc2lhXC9CYW5na29rIiwiY291bnRyeSI6IlRoYWlsYW5kIn0seyJpZCI6IjQ4IiwidmFsdWUiOiJCVk1UIiwibmFtZSI6IlR1bmlzIiwiZGVzYyI6IlR1bmlzaWEgLSBUdW5pcyAoVE4pIiwib3BlbnRpbWUiOiIwODo1OTowMCIsImNsb3NldGltZSI6IjE0OjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiQWZyaWNhXC9UdW5pcyIsImNvdW50cnkiOiJUdW5pc2lhIn0seyJpZCI6IjQ5IiwidmFsdWUiOiJJUyIsIm5hbWUiOiJJc3RhbmJ1bCIsImRlc2MiOiJUXHUwMGZjcmtpeWUgLSBJc3RhbmJ1bCAoSVMpIiwib3BlbnRpbWUiOiIwOTo0MDowMCIsImNsb3NldGltZSI6IjE4OjEwOjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiQXNpYVwvSXN0YW5idWwiLCJjb3VudHJ5IjoiVFx1MDBmY3JraXllIn0seyJpZCI6Ijc2IiwidmFsdWUiOiJVRyIsIm5hbWUiOiJVZ2FuZGEiLCJkZXNjIjoiVWdhbmRhIC0gVWdhbmRhIChVRykiLCJvcGVudGltZSI6IjA5OjU4OjAwIiwiY2xvc2V0aW1lIjoiMTI6MTA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJBZnJpY2FcL0thbXBhbGEiLCJjb3VudHJ5IjoiVWdhbmRhIn0seyJpZCI6IjcwIiwidmFsdWUiOiJVQVgiLCJuYW1lIjoiVWtyYWluZSIsImRlc2MiOiJVa3JhaW5lIC0gVWtyYWluZSAoVUFYKSIsIm9wZW50aW1lIjoiMTA6Mjg6MDAiLCJjbG9zZXRpbWUiOiIxNzowMDowMCIsIndlZWtfZW5kX2RheSI6IjUiLCJ3ZWVrX3N0YXJ0X2RheSI6IjEiLCJ0aW1lem9uZSI6IkV1cm9wZVwvS2lldiIsImNvdW50cnkiOiJVa3JhaW5lIn0seyJpZCI6IjEwMCIsInZhbHVlIjoiQURYIiwibmFtZSI6IkFidSBEaGFiaSIsImRlc2MiOiJVbml0ZWQgQXJhYiBFbWlyYXRlcyAtIEFidSBEaGFiaSAoQUQpIiwib3BlbnRpbWUiOiIwOTo1ODowMCIsImNsb3NldGltZSI6IjE0OjQ1OjAwIiwid2Vla19lbmRfZGF5IjoiNCIsIndlZWtfc3RhcnRfZGF5IjoiMCIsInRpbWV6b25lIjoiQXNpYVwvRHViYWkiLCJjb3VudHJ5IjoiVW5pdGVkIEFyYWIgRW1pcmF0ZXMifSx7ImlkIjoiMzAiLCJ2YWx1ZSI6IkRGTSIsIm5hbWUiOiJEdWJhaSIsImRlc2MiOiJVbml0ZWQgQXJhYiBFbWlyYXRlcyAtIER1YmFpIChEVSkiLCJvcGVudGltZSI6IjA5OjU4OjAwIiwiY2xvc2V0aW1lIjoiMTU6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI0Iiwid2Vla19zdGFydF9kYXkiOiIwIiwidGltZXpvbmUiOiJBc2lhXC9EdWJhaSIsImNvdW50cnkiOiJVbml0ZWQgQXJhYiBFbWlyYXRlcyJ9LHsiaWQiOiIxNTMiLCJ2YWx1ZSI6IkFRVUlTIiwibmFtZSI6IkFxdWlzIEV4Y2hhbmdlIiwiZGVzYyI6IlVuaXRlZCBLaW5nZG9tIC0gQXF1aXMgRXhjaGFuZ2UgKE5YWCkiLCJvcGVudGltZSI6IjA3OjU4OjAwIiwiY2xvc2V0aW1lIjoiMTY6MzA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJFdXJvcGVcL0xvbmRvbiIsImNvdW50cnkiOiJVbml0ZWQgS2luZ2RvbSJ9LHsiaWQiOiIzIiwidmFsdWUiOiJMT04iLCJuYW1lIjoiTG9uZG9uIiwiZGVzYyI6IlVuaXRlZCBLaW5nZG9tIC0gTG9uZG9uIChMKSIsIm9wZW50aW1lIjoiMDc6NTg6MDAiLCJjbG9zZXRpbWUiOiIxNjozNjowMCIsIndlZWtfZW5kX2RheSI6IjUiLCJ3ZWVrX3N0YXJ0X2RheSI6IjEiLCJ0aW1lem9uZSI6IkV1cm9wZVwvTG9uZG9uIiwiY291bnRyeSI6IlVuaXRlZCBLaW5nZG9tIn0seyJpZCI6IjczIiwidmFsdWUiOiJCWiIsIm5hbWUiOiJCQVRTIFVTIiwiZGVzYyI6IlVuaXRlZCBTdGF0ZXMgLSBCQVRTIFVTIChCWikiLCJvcGVudGltZSI6IjA3OjU4OjAwIiwiY2xvc2V0aW1lIjoiMTc6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJVU1wvRWFzdGVybiIsImNvdW50cnkiOiJVbml0ZWQgU3RhdGVzIn0seyJpZCI6Ijk3IiwidmFsdWUiOiJDQk9FIiwibmFtZSI6IkNCT0UiLCJkZXNjIjoiVW5pdGVkIFN0YXRlcyAtIENCT0UgKEJBVCkiLCJvcGVudGltZSI6IjA5OjI5OjAwIiwiY2xvc2V0aW1lIjoiMTc6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJVU1wvRWFzdGVybiIsImNvdW50cnkiOiJVbml0ZWQgU3RhdGVzIn0seyJpZCI6IjExOCIsInZhbHVlIjoiQ01FIiwibmFtZSI6IkNNRSIsImRlc2MiOiJVbml0ZWQgU3RhdGVzIC0gQ01FIChDTUUpIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjIzOjU5OjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiQW1lcmljYVwvQ2hpY2FnbyIsImNvdW50cnkiOiJVbml0ZWQgU3RhdGVzIn0seyJpZCI6IjEyMCIsInZhbHVlIjoiSUNFIiwibmFtZSI6IklDRSIsImRlc2MiOiJVbml0ZWQgU3RhdGVzIC0gSUNFIChJQ0UpIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjIzOjU5OjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiQXNpYVwvSmVydXNhbGVtIiwiY291bnRyeSI6IlVuaXRlZCBTdGF0ZXMifSx7ImlkIjoiMiIsInZhbHVlIjoiTkFTREFRIiwibmFtZSI6Ik5BU0RBUSIsImRlc2MiOiJVbml0ZWQgU3RhdGVzIC0gTkFTREFRIChPUSkiLCJvcGVudGltZSI6IjA5OjI5OjAwIiwiY2xvc2V0aW1lIjoiMTY6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJVU1wvRWFzdGVybiIsImNvdW50cnkiOiJVbml0ZWQgU3RhdGVzIn0seyJpZCI6IjEiLCJ2YWx1ZSI6Ik5ZU0UiLCJuYW1lIjoiTllTRSIsImRlc2MiOiJVbml0ZWQgU3RhdGVzIC0gTllTRSAoTikiLCJvcGVudGltZSI6IjA5OjI5OjAwIiwiY2xvc2V0aW1lIjoiMTY6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJVU1wvRWFzdGVybiIsImNvdW50cnkiOiJVbml0ZWQgU3RhdGVzIn0seyJpZCI6IjUwIiwidmFsdWUiOiJBIiwibmFtZSI6Ik5ZU0UgQW1leCIsImRlc2MiOiJVbml0ZWQgU3RhdGVzIC0gTllTRSBBbWV4IChBKSIsIm9wZW50aW1lIjoiMDk6Mjg6MDAiLCJjbG9zZXRpbWUiOiIxNjowMDo1OSIsIndlZWtfZW5kX2RheSI6IjUiLCJ3ZWVrX3N0YXJ0X2RheSI6IjEiLCJ0aW1lem9uZSI6IlVTXC9FYXN0ZXJuIiwiY291bnRyeSI6IlVuaXRlZCBTdGF0ZXMifSx7ImlkIjoiMTMiLCJ2YWx1ZSI6IlAiLCJuYW1lIjoiTllTRSBBcmNhIiwiZGVzYyI6IlVuaXRlZCBTdGF0ZXMgLSBOWVNFIEFyY2EgKFApIiwib3BlbnRpbWUiOiIwOToyOTowMCIsImNsb3NldGltZSI6IjE2OjAwOjU5Iiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiVVNcL0Vhc3Rlcm4iLCJjb3VudHJ5IjoiVW5pdGVkIFN0YXRlcyJ9LHsiaWQiOiI5NCIsInZhbHVlIjoiT0JCIiwibmFtZSI6Ik9UQyBCQiIsImRlc2MiOiJVbml0ZWQgU3RhdGVzIC0gT1RDIEJCIChPQikiLCJvcGVudGltZSI6IjA5OjI5OjAwIiwiY2xvc2V0aW1lIjoiMTY6MDA6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJVU1wvRWFzdGVybiIsImNvdW50cnkiOiJVbml0ZWQgU3RhdGVzIn0seyJpZCI6IjE0MyIsInZhbHVlIjoiUlJQUyIsIm5hbWUiOiJPVEMgQm9uZHMiLCJkZXNjIjoiVW5pdGVkIFN0YXRlcyAtIE9UQyBCb25kcyAoUlJQUykiLCJvcGVudGltZSI6IjAwOjAwOjAwIiwiY2xvc2V0aW1lIjoiMjM6NTk6MDAiLCJ3ZWVrX2VuZF9kYXkiOiI1Iiwid2Vla19zdGFydF9kYXkiOiIxIiwidGltZXpvbmUiOiJHTVQiLCJjb3VudHJ5IjoiVW5pdGVkIFN0YXRlcyJ9LHsiaWQiOiI5NSIsInZhbHVlIjoiT1RDIiwibmFtZSI6Ik9UQyBNYXJrZXRzIiwiZGVzYyI6IlVuaXRlZCBTdGF0ZXMgLSBPVEMgTWFya2V0cyAoUEspIiwib3BlbnRpbWUiOiIwOToyOTowMCIsImNsb3NldGltZSI6IjE2OjAwOjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiVVNcL0Vhc3Rlcm4iLCJjb3VudHJ5IjoiVW5pdGVkIFN0YXRlcyJ9LHsiaWQiOiIxNDkiLCJ2YWx1ZSI6IkxQIiwibmFtZSI6IlVTIEZ1bmRzIiwiZGVzYyI6IlVuaXRlZCBTdGF0ZXMgLSBVUyBGdW5kcyAoTFApIiwib3BlbnRpbWUiOiIwMDowMDowMCIsImNsb3NldGltZSI6IjIzOjU5OjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiR01UIiwiY291bnRyeSI6IlVuaXRlZCBTdGF0ZXMifSx7ImlkIjoiNzEiLCJ2YWx1ZSI6IkNSIiwibmFtZSI6IkNhcmFjYXMiLCJkZXNjIjoiVmVuZXp1ZWxhIC0gQ2FyYWNhcyAoQ1IpIiwib3BlbnRpbWUiOiIwODo1ODowMCIsImNsb3NldGltZSI6IjE0OjUwOjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiQW1lcmljYVwvQ2FyYWNhcyIsImNvdW50cnkiOiJWZW5lenVlbGEifSx7ImlkIjoiNzIiLCJ2YWx1ZSI6IkhOIiwibmFtZSI6Ikhhbm9pIiwiZGVzYyI6IlZpZXRuYW0gLSBIYW5vaSAoSE4pIiwib3BlbnRpbWUiOiIwODo1ODowMCIsImNsb3NldGltZSI6IjE1OjA1OjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiQXNpYVwvSG9fQ2hpX01pbmgiLCJjb3VudHJ5IjoiVmlldG5hbSJ9LHsiaWQiOiIxMjIiLCJ2YWx1ZSI6IkhNIiwibmFtZSI6IkhvIENoaSBNaW5oIiwiZGVzYyI6IlZpZXRuYW0gLSBIbyBDaGkgTWluaCAoSE0pIiwib3BlbnRpbWUiOiIwODo1ODowMCIsImNsb3NldGltZSI6IjE1OjAxOjAwIiwid2Vla19lbmRfZGF5IjoiNSIsIndlZWtfc3RhcnRfZGF5IjoiMSIsInRpbWV6b25lIjoiQXNpYVwvSG9fQ2hpX01pbmgiLCJjb3VudHJ5IjoiVmlldG5hbSJ9LHsiaWQiOiI5OSIsInZhbHVlIjoiWmFtYmlhIiwibmFtZSI6IlphbWJpYSIsImRlc2MiOiJaYW1iaWEgLSBaYW1iaWEgKExaKSIsIm9wZW50aW1lIjoiMDg6NTg6MDAiLCJjbG9zZXRpbWUiOiIxMjozNTowMCIsIndlZWtfZW5kX2RheSI6IjUiLCJ3ZWVrX3N0YXJ0X2RheSI6IjEiLCJ0aW1lem9uZSI6IkdNVCIsImNvdW50cnkiOiJaYW1iaWEifSx7ImlkIjoiODkiLCJ2YWx1ZSI6IlpJIiwibmFtZSI6IlppbWJhYndlIiwiZGVzYyI6IlppbWJhYndlIC0gWmltYmFid2UgKFpJKSIsIm9wZW50aW1lIjoiMDk6MzA6MDAiLCJjbG9zZXRpbWUiOiIxMzowMDowMCIsIndlZWtfZW5kX2RheSI6IjUiLCJ3ZWVrX3N0YXJ0X2RheSI6IjEiLCJ0aW1lem9uZSI6IkFmcmljYVwvSGFyYXJlIiwiY291bnRyeSI6IlppbWJhYndlIn1dLCJzeW1ib2xzVHlwZXMiOlt7InZhbHVlIjoiIiwibmFtZSI6Ilx1MDQxMlx1MDQ0MVx1MDQzNSJ9LHsidmFsdWUiOiJJbmRleCIsIm5hbWUiOiJcdTA0MThcdTA0M2RcdTA0MzRcdTA0MzVcdTA0M2FcdTA0NDFcdTA0NGIifSx7InZhbHVlIjoiU3RvY2siLCJuYW1lIjoiXHUwNDEwXHUwNDNhXHUwNDQ2XHUwNDM4XHUwNDM4In0seyJ2YWx1ZSI6IkVURiIsIm5hbWUiOiJFVEYifSx7InZhbHVlIjoiQ29tbW9kaXR5IiwibmFtZSI6Ilx1MDQyMlx1MDQzZVx1MDQzMlx1MDQzMFx1MDQ0MFx1MDQ0YiJ9LHsidmFsdWUiOiJGWCIsIm5hbWUiOiJcdTA0MTJcdTA0MzBcdTA0M2JcdTA0NGVcdTA0NDJcdTA0MzAifSx7InZhbHVlIjoiRnV0dXJlIiwibmFtZSI6Ilx1MDQyNFx1MDQ0Y1x1MDQ0ZVx1MDQ0N1x1MDQzNVx1MDQ0MFx1MDQ0MVx1MDQ0YiJ9LHsidmFsdWUiOiJZaWVsZCIsIm5hbWUiOiJcdTA0MWVcdTA0MzFcdTA0M2JcdTA0MzhcdTA0MzMuIn1dLCJzdXBwb3J0ZWRSZXNvbHV0aW9ucyI6WyIxIiwiNSIsIjE1IiwiMzAiLCI2MCIsIjMwMCIsIkQiLCJXIiwiTSIsIjQ1IiwiMTIwIiwiMjQwIl19"}},"time_used":96,"timings":{"blocked":-1,"dns":1,"connect":3,"send":0,"wait":82,"receive":0,"ssl":10},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"tvc-invdn-cf-com.investing.com/tool/1.12.10/static/tv-chart.e816a7a6edc9de3ed709.html#localserver=1\u0026symbol=945629\u0026interval=5\u0026studiesAccess=%7B%22type%22%3A%22black%22%2C%22tools%22%3A%5B%7B%22name%22%3A%22Correlation%20Coeff%22%2C%22grayed%22%3Afalse%7D%5D%7D\u0026widgetbar=%7B%22details%22%3Afalse%2C%22watchlist%22%3Afalse%2C%22watchlist_settings%22%3A%7B%22default_symbols%22%3A%5B%5D%7D%7D\u0026drawingsAccess=%7B%22type%22%3A%22black%22%2C%22tools%22%3A%5B%7B%22name%22%3A%22Regression%20Trend%22%2C%22grayed%22%3Afalse%7D%5D%7D\u0026timeFrames=%5B%7B%22text%22%3A%2210y%22%2C%22resolution%22%3A%22M%22%7D%2C%7B%22text%22%3A%223y%22%2C%22resolution%22%3A%22W%22%7D%2C%7B%22text%22%3A%221y%22%2C%22resolution%22%3A%22W%22%7D%2C%7B%22text%22%3A%223m%22%2C%22resolution%22%3A%22D%22%7D%2C%7B%22text%22%3A%221m%22%2C%22resolution%22%3A%22300%22%7D%2C%7B%22text%22%3A%227d%22%2C%22resolution%22%3A%2260%22%7D%2C%7B%22text%22%3A%221d%22%2C%22resolution%22%3A%2215%22%7D%5D\u0026locale=ru\u0026uid=tradingview_52714\u0026clientId=0\u0026userId=0\u0026chartsStorageVer=1.0\u0026customCSS=https%3A%2F%2Ftvc-invdn-cf-com.investing.com%2Ftool%2F1.12.10%2Fcustom.css\u0026debug=false\u0026snapshotUrl=https%3A%2F%2Fssltvc.forexprostools.com%2Fcc6698fccca44e51b088d9ddbbcf8ec8%2F1785120633%2F7%2F7%2F17%2Fsnapshot\u0026timezone=Europe%2FMoscow","fqdn":"tvc-invdn-cf-com.investing.com","domain":"investing.com","tld":"com"},"ip":{"addr":"172.64.155.105","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://tvc-invdn-cf-com.investing.com/tool/1.12.10/tool-prod-2-ssl.html?carrier=cc6698fccca44e51b088d9ddbbcf8ec8\u0026time=1785120633\u0026domain_ID=7\u0026lang_ID=7\u0026timezone_ID=17\u0026version=1.12.10\u0026locale=ru\u0026timezone=Europe/Moscow\u0026pair_ID=945629\u0026interval=5\u0026session=24x7\u0026prefix=ru\u0026suffix=\u0026client=0\u0026user=\u0026plotStyle=area\u0026geoc=NO\u0026styleOverride=","date":"2026-07-27T02:50:34.465Z","timestamp":1785120634465,"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":"tvc-invdn-cf-com.investing.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 31 May 2026 06:59:21 GMT","end":"Sat, 29 Aug 2026 07:59:19 GMT"},"fingerprint":{"sha1":"90:A7:5D:5C:7F:22:D6:92:72:4C:85:3E:E7:2D:28:D1:42:20:B1:F8","sha256":"4C:97:98:34:DB:36:63:81:85:8D:5B:E0:91:75:21:94:B9:1D:97:17:07:3D:61:14:3E:02:DB:0F:73:40:E7:84"}}},"request":{"raw":"GET /tool/1.12.10/static/tv-chart.e816a7a6edc9de3ed709.html HTTP/1.1\r\nHost: tvc-invdn-cf-com.investing.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://tvc-invdn-cf-com.investing.com/tool/1.12.10/tool-prod-2-ssl.html?carrier=cc6698fccca44e51b088d9ddbbcf8ec8\u0026time=1785120633\u0026domain_ID=7\u0026lang_ID=7\u0026timezone_ID=17\u0026version=1.12.10\u0026locale=ru\u0026timezone=Europe/Moscow\u0026pair_ID=945629\u0026interval=5\u0026session=24x7\u0026prefix=ru\u0026suffix=\u0026client=0\u0026user=\u0026plotStyle=area\u0026geoc=NO\u0026styleOverride=\r\nCookie: __cf_bm=mn1PVnpxBsLEicPCDwE_Pe4gHkvTYye6Tx_zgzNLo.k-1785120633.699759-1.0.1.1-lB_db9Ov1aU8Fd3phu4.zXI.0INMPk8u0VotUI0k5.d8tcJf9MPZ8.4bNw0k2UZ4hoLBefzQWLGi7ZW06ZZmMXWweiLPcAzMaI0v_RVdZq.Z_fjpI5Y5UZbmopumxELp1CKoKFuB0JWJV4cWCH7O8Q\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: same-origin\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 02:50:34 GMT\r\ncontent-type: text/html\r\nx-guploader-uploadid: AKhXX7Kx08fIXSaFwNr0hq_IASiSFYz-oZLsSuiK8FQgIBiJ7mYBB4EwkSsltSLBPyq3E2T-\r\nx-goog-generation: 1707308609284211\r\nx-goog-metageneration: 1\r\nx-goog-stored-content-encoding: identity\r\nx-goog-stored-content-length: 2076\r\nx-goog-hash: crc32c=0LkHtQ==, md5=gbG88ovV8PumtCsOQmGNvQ==\r\nx-goog-storage-class: STANDARD\r\nvary: accept-encoding\r\nserver: cloudflare\r\nvia: 1.1 google\r\nexpires: Mon, 27 Jul 2026 03:50:34 GMT\r\ncache-control: public, max-age=3600\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Wed, 07 Feb 2024 12:23:29 GMT\r\npriority: u=4,i=?0\r\nage: 1604\r\ncf-cache-status: HIT\r\ncontent-encoding: br\r\ncf-ray: a218565d6c240daa-OSL\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Google Cloud CDN","description":"Cloud CDN uses Google's global edge network to serve content closer to users.","website":"https://cloud.google.com/cdn","common_platform_enumeration":"","icon":"google-cloud-cdn.svg","categories":["CDN"]},{"name":"spin.js","description":"Configurable JavaScript/CSS spinner that can be used as a resolution-independent loading indicator","website":"https://spin.js.org/","common_platform_enumeration":"","icon":"spin.js.png","categories":["JavaScript graphics"]},{"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":"Google Cloud Storage","description":"Google Cloud Storage allows world-wide storage and retrieval of any amount of data at any time.","website":"https://cloud.google.com/storage","common_platform_enumeration":"","icon":"google-cloud-storage.svg","categories":["Miscellaneous"]},{"name":"Google Cloud","description":"Google Cloud is a suite of cloud computing services.","website":"https://cloud.google.com","common_platform_enumeration":"cpe:2.3:a:google:cloud_platform:*:*:*:*:*:*:*:*","icon":"Google Cloud.svg","categories":["IaaS"]}],"data":{"size":3014,"size_decoded":2118,"mime_type":"text/html","magic":"HTML document, ASCII text, with very long lines (3014), with no line terminators","md5":"0d14d3986cdf55a4f17f9c92b22c7c78","sha1":"c702adf55b6ddfc57554313c77317581c37f9ef9","sha256":"69df9a4343566d8d9be698131fa8ca9d826ab40b7eec2ecaabe25e4e7effdb0d","sha512":"f9be346dae87c9a48d2cdb206e381e44519159f466883697b47a19707655528190ed9a0eeb6bee7190b6c8bd0f6d955ac3ee33c9d362765e0c8ea254f3142a4b","ssdeep":"","tlshash":"4051977d3e2251396ae320a8507fb76c74777051be05c84482acd83d6e78f8e086be99","first_seen":"2026-07-27T02:51:26.938423Z","last_seen":"2026-07-27T02:51:26.938423Z","times_seen":1,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+PGh0bWw+PGhlYWQ+PG1ldGEgY2hhcnNldD0idXRmLTgiLz48bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPUVkZ2UiPjxsaW5rIHR5cGU9InRleHQvY3NzIiBocmVmPSJidW5kbGVzL3ZlbmRvcnMuYTk0ZWY0NGVkNWMyMDFjZWZjZjZhZDc0NjA3ODhjMWEuY3NzIiByZWw9InN0eWxlc2hlZXQiLz48bGluayB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iYnVuZGxlcy9saWJyYXJ5LmE4ZGU2ZjhjZjRkZGE2ODk1MDcxYzZlYzQ1ZjkwMGQ5LmNzcyIgcmVsPSJzdHlsZXNoZWV0Ii8+PC9oZWFkPjxib2R5IGNsYXNzPSJjaGFydC1wYWdlIG9uLXdpZGdldCI+PGRpdiBjbGFzcz0ibG9hZGluZy1pbmRpY2F0b3IiIGlkPSJsb2FkaW5nLWluZGljYXRvciI+PC9kaXY+PHNjcmlwdCBzcmM9ImpzL2V4dGVybmFsL3NwaW4ubWluLmpzIj48L3NjcmlwdD48c2NyaXB0PnZhciBKU1NlcnZlcj17fTt2YXIgX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzPVsiY2hhcnRpbmdfbGlicmFyeSJdOzwvc2NyaXB0PjxzY3JpcHQ+KGZ1bmN0aW9uKCl7d2luZG93LnVybFBhcmFtcz0oZnVuY3Rpb24oKXt2YXIgaixoPS9cKy9nLG09LyhbXiY9XSspPT8oW14mXSopL2csZT1mdW5jdGlvbihvKXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KG8ucmVwbGFjZShoLCIgIikpLnJlcGxhY2UoLzxcLz9bXj5dKyg+fCQpL2csIiIpfSxrPWZ1bmN0aW9uKCl7dmFyIHA9bG9jYXRpb24uaHJlZjt2YXIgbz1wLmluZGV4T2YoIiMiKTtpZihvPj0wKXtyZXR1cm4gcC5zdWJzdHJpbmcobysxKX1lbHNle3Rocm93IlVuZXhwZWN0ZWQgdXNlIG9mIHRoaXMgcGFnZSJ9fSgpLG49e307d2hpbGUoaj1tLmV4ZWMoaykpe25bZShqWzFdKV09ZShqWzJdKX12YXIgbD13aW5kb3cucGFyZW50W24udWlkXTt2YXIgaT1bImRhdGFmZWVkIiwiY3VzdG9tRm9ybWF0dGVycyIsImJyb2tlckZhY3RvcnkiXTtmb3IodmFyIGcgaW4gbCl7aWYoaS5pbmRleE9mKGcpPT09LTEpe25bZ109SlNPTi5zdHJpbmdpZnkobFtnXSl9fXJldHVybiBufSkoKTt3aW5kb3cubG9jYWxlPXVybFBhcmFtcy5sb2NhbGU7d2luZG93Lmxhbmd1YWdlPXVybFBhcmFtcy5sb2NhbGU7d2luZG93LmFkZEN1c3RvbUNTU0ZpbGU9ZnVuY3Rpb24oZSl7dmFyIGc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpO2RvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0uYXBwZW5kQ2hpbGQoZyk7Zy5zZXRBdHRyaWJ1dGUoInR5cGUiLCJ0ZXh0L2NzcyIpO2cuc2V0QXR0cmlidXRlKCJyZWwiLCJzdHlsZXNoZWV0Iik7Zy5zZXRBdHRyaWJ1dGUoImhyZWYiLGUpfTtpZighIXVybFBhcmFtcy5jdXN0b21DU1Mpe3dpbmRvdy5hZGRDdXN0b21DU1NGaWxlKHVybFBhcmFtcy5jdXN0b21DU1MpfXZhciBmPXt9O2lmKHR5cGVvZiB1cmxQYXJhbXMubG9hZGluZ19zY3JlZW49PT0ic3RyaW5nIil7dHJ5e2Y9SlNPTi5wYXJzZSh1cmxQYXJhbXMubG9hZGluZ19zY3JlZW4pfWNhdGNoKGQpe319dmFyIGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxvYWRpbmctaW5kaWNhdG9yIik7aWYoZi5iYWNrZ3JvdW5kQ29sb3Ipe2Euc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICIrZi5iYWNrZ3JvdW5kQ29sb3J9dmFyIGI9KGYuZm9yZWdyb3VuZENvbG9yKT9mLmZvcmVncm91bmRDb2xvcjoiIzAwQTJFMiI7dmFyIGM9bmV3IFNwaW5uZXIoe2xpbmVzOjE3LGxlbmd0aDowLHdpZHRoOjMscmFkaXVzOjMwLHNjYWxlOjEsY29ybmVyczoxLGNvbG9yOmIsb3BhY2l0eTowLHJvdGF0ZTowLGRpcmVjdGlvbjoxLHNwZWVkOjEuNSx0cmFpbDo2MCxmcHM6MjAsekluZGV4OjIwMDAwMDAwMDAsY2xhc3NOYW1lOiJzcGlubmVyIix0b3A6IjUwJSIsbGVmdDoiNTAlIixzaGFkb3c6ZmFsc2UsaHdhY2NlbDpmYWxzZX0pLnNwaW4oYSl9KSgpOzwvc2NyaXB0PjxzY3JpcHQgc3JjPSJidW5kbGVzL3ZlbmRvcnMuZTc2Nzc0NjY0ZDY1YmEyYzkwZmYuanMiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSJidW5kbGVzL2xpYnJhcnkuM2ExZGFjODg2NDkxMzVjNzFhN2QuanMiPjwvc2NyaXB0PjxzY3JpcHQ+KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYygpe3ZhciBiPWEuY29udGVudERvY3VtZW50fHwoYS5jb250ZW50V2luZG93JiZhLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQpO2lmKGIpe3ZhciBkPWIuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7ZC5pbm5lckhUTUw9IndpbmRvdy5fX0NGJGN2JHBhcmFtcz17cjonYTIxODU2NWQ2YzI0MGRhYScsdDonTVRjNE5URXlNRFl6TkE9PSd9O3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO2Euc3JjPScvY2RuLWNnaS9jaGFsbGVuZ2UtcGxhdGZvcm0vc2NyaXB0cy9qc2QvbWFpbi5qcyc7ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXS5hcHBlbmRDaGlsZChhKTsiO2IuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXS5hcHBlbmRDaGlsZChkKX19aWYoZG9jdW1lbnQuYm9keSl7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7YS5oZWlnaHQ9MTthLndpZHRoPTE7YS5zdHlsZS5wb3NpdGlvbj0nYWJzb2x1dGUnO2Euc3R5bGUudG9wPTA7YS5zdHlsZS5sZWZ0PTA7YS5zdHlsZS5ib3JkZXI9J25vbmUnO2Euc3R5bGUudmlzaWJpbGl0eT0naGlkZGVuJztkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO2lmKCdsb2FkaW5nJyE9PWRvY3VtZW50LnJlYWR5U3RhdGUpYygpO2Vsc2UgaWYod2luZG93LmFkZEV2ZW50TGlzdGVuZXIpZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsYyk7ZWxzZXt2YXIgZT1kb2N1bWVudC5vbnJlYWR5c3RhdGVjaGFuZ2V8fGZ1bmN0aW9uKCl7fTtkb2N1bWVudC5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oYil7ZShiKTsnbG9hZGluZychPT1kb2N1bWVudC5yZWFkeVN0YXRlJiYoZG9jdW1lbnQub25yZWFkeXN0YXRlY2hhbmdlPWUsYygpKX19fX0pKCk7PC9zY3JpcHQ+PC9ib2R5PjwvaHRtbD4="}},"time_used":12,"timings":{"blocked":1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/element/log?format=json\u0026hasfast=true\u0026authuser=0","fqdn":"translate.googleapis.com","domain":"translate.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":"xhr","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:44.148Z","timestamp":1785120644148,"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":"POST /element/log?format=json\u0026hasfast=true\u0026authuser=0 HTTP/1.1\r\nHost: translate.googleapis.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\nX-Goog-AuthUser: 0\r\nContent-Encoding: gzip\r\nContent-Type: application/binary\r\nContent-Length: 306\r\nOrigin: https://247optiontradefx.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://247optiontradefx.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":"POST","post_data":{"size":446,"data":"\u001f\b\u0000\u0000\u0000\u0000\u0000\u0000\u0003íTQo \u0010þ/\u003ckå\u0010ömnv`oH\f¬3qhV¶,ûõ\u0003MµYÝóR |áã¾ã8NJìGÛþÙÈëÛè©¨\b\u0026\u0014\u0013ÌÑü\u0018DxJ©\b\u0004HJ\u0004\\d@0K)Ð\u0014­(£\u0015éjJdlüké¹ËZ\u0005=g|êJDs²§\u0015qQ,¦,ÛÇ[.òç÷\u000f¾\\Ó;3O%zu®?îPÞõ®é¬{×µyùÚ\u003cwo§Wð´@VaÍôJdõgsÐáÔ \u001a|%°\u001cÖÀ\u0005\u003c\tnÏ±\u000fé*\u0016\u000b\u0013\u001e#\u0019ÂR%d \u0005\u0006\u0011\u0010á-cù\u0019â÷wµÇV;³ëõÁTm§ëÊuUc\u001b×è¶ù6u¸ÊÒO4ep\u001e\nc^´\u0017\u0006ÿþrà£º\u0003õÝ!Cê\u0007ß]\u003eä«\u0004\u0000\u0000"}},"response":{"raw":"HTTP/3 200 \r\naccess-control-allow-origin: https://247optiontradefx.com\r\ncross-origin-resource-policy: cross-origin\r\naccess-control-allow-credentials: true\r\naccess-control-allow-headers: X-Playlog-Web\r\ncontent-type: text/plain; charset=UTF-8\r\ncontent-encoding: gzip\r\ndate: Mon, 27 Jul 2026 02:50:44 GMT\r\nserver: Playlog\r\ncontent-length: 131\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\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":131,"size_decoded":581,"mime_type":"text/plain; charset=UTF-8","magic":"JSON text data","md5":"ca0b7e866005f6774d284b9f438ebfd2","sha1":"53644f5ee3640189bdb223473ba6a2d46606c556","sha256":"502e9680cfa78fa8be779cbf4f1947c8eaa3d43bf8c7464800ec772b2ddea358","sha512":"939c4526c623db033ad40bfdc6c8848a1dcd0ca797f17fbbd89fbec1b49dededc16e89084b3759e62fa0ffc8fe896980b10a1ff8daee22736a70b08f1ee13e2f","ssdeep":"","tlshash":"58c08c50330469e1080e82c8c0026858228c903b46708cf10bbd68125d3234a1004854","first_seen":"2023-04-05T03:14:56Z","last_seen":"2026-07-27T05:10:54.375367Z","times_seen":581608,"resource_available":false,"data":"WyItMSIsbnVsbCxbW1siQU5EUk9JRF9CQUNLVVAiLDBdLFsiQkFUVEVSWV9TVEFUUyIsMF0sWyJTTUFSVF9TRVRVUCIsMF0sWyJUUk9OIiwwXV0sLTMzMzQ3Mzc1OTQwMjQ5NzEyMjVdLFtdLHsiMTc1MjM3Mzc1IjpbMTAwMDBdfV0="}},"time_used":76,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":76,"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://247optiontradefx.com/","date":"2026-07-27T02:50:55.401Z","timestamp":1785120655401,"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://247optiontradefx.com\r\nSec-WebSocket-Protocol: actioncable-v1-json, actioncable-unsupported\r\nSec-WebSocket-Extensions: permessage-deflate\r\nSec-WebSocket-Key: NDKBtuUnmvnEqXBea6a6Lw==\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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"247optiontradefx.com/img/payment_5.png","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.154Z","timestamp":1785120633154,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /img/payment_5.png HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: image/png\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-aa6\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":2726,"size_decoded":2728,"mime_type":"image/png","magic":"PNG image data, 127 x 27, 8-bit/color RGBA, non-interlaced","md5":"b71982262800547f6df32871614d3da6","sha1":"b347b4a5c7f99f2d6f5130f631be6e43e400d5c2","sha256":"086ec511ac3eebff9172cb4bac3ce8ac25aebe53b21911294dffebce820f0a42","sha512":"b97374a35914c17cf838740e6f2e0a95ab27be38096f37432a2e7895a1d23f7bbaa5d48c8bf6c986b2d595949c8e94e2b9ee5310b242203352de53c25dc29257","ssdeep":"","tlshash":"5951081de66064439001e9a034f3502b9d230a649e84589bbda6d92a0a7d07c2c971cb","first_seen":"2026-07-27T02:45:25.165807Z","last_seen":"2026-07-27T02:59:54.68027Z","times_seen":4,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAH8AAAAbCAYAAABV2FBfAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Qzg0MzY2NUI5MTcyMTFFODlFQTdEMUQ5QzI4QTBGRTkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Qzg0MzY2NUM5MTcyMTFFODlFQTdEMUQ5QzI4QTBGRTkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDODQzNjY1OTkxNzIxMUU4OUVBN0QxRDlDMjhBMEZFOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDODQzNjY1QTkxNzIxMUU4OUVBN0QxRDlDMjhBMEZFOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmijIZgAAAcaSURBVHja7FsJbBVV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"}},"time_used":31,"timings":{"blocked":2,"dns":0,"connect":0,"send":0,"wait":29,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"static.getbutton.io/widget/bundle.js","fqdn":"static.getbutton.io","domain":"getbutton.io","tld":"io"},"ip":{"addr":"104.26.15.221","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.574Z","timestamp":1785120633574,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"getbutton.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Tue, 16 Jun 2026 00:45:37 GMT","end":"Mon, 14 Sep 2026 01:45:33 GMT"},"fingerprint":{"sha1":"DC:2F:40:2C:2E:8F:A1:FE:B6:A3:D2:1B:01:7E:28:02:66:38:0E:86","sha256":"E1:C6:2E:FD:25:F8:44:CA:B3:2C:26:9B:A5:CB:26:9B:6D:77:7B:CF:2A:52:29:CD:23:39:99:E7:89:F4:41:57"}}},"request":{"raw":"GET /widget/bundle.js HTTP/1.1\r\nHost: static.getbutton.io\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://247optiontradefx.com/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: cloudflare\r\nlast-modified: Fri, 13 Feb 2026 07:15:48 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\netag: \"698ecfa4-6beb9\"\r\nexpires: Mon, 27 Jul 2026 03:15:51 GMT\r\ncache-control: max-age=14400\r\naccess-control-allow-origin: *\r\ncontent-encoding: gzip\r\nage: 9281\r\ncf-cache-status: HIT\r\nvary: accept-encoding\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=AIuJMC4v2prsmv9upwXMagBUz678KbrbL33o4gIbyTMhAyw2nM6trN%2BAzP%2Bw09rgk9ymQQ1rmKMda%2FcTXAjz2T%2FnLB07CQ1AQETkjwCxx9l20X02fwmfKY5PMZITsnwHWE7aRLE%3D\"}]}\r\ncf-ray: a2185657df815a0f-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":442041,"size_decoded":129343,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (65475)","md5":"bc3e8108dcd36c0d0c129a726dd8f47f","sha1":"db6320723c55ad91550a1ca87176058bed49d99c","sha256":"791450932271b1682c103cadb334baea8bf68100069c3c3eb317ed8a20098483","sha512":"821203cb21570cee7a989e40a417990e408949e7d239766562cfee62c0a0320c936bfbc8fcb2ecb35067ba1034eb7363d907edb72ccd878ee510640aa7a976b3","ssdeep":"6144:HSFryQhY3HpsS+U6qAcXha0oPKiqLVwoNbsR5LoQGnE2:xQhY3JsS+U6qASoPKiq+oNbsRFoQGnE2","tlshash":"53946de93290f0a653b352b700af240bf379641a785d8860a215ecdcf8b94ed513bf6d","first_seen":"2026-02-13T07:56:32.581356Z","last_seen":"2026-07-27T05:27:08.834141Z","times_seen":2433,"resource_available":true,"data":"LyohIEZvciBsaWNlbnNlIGluZm9ybWF0aW9uIHBsZWFzZSBzZWUgYnVuZGxlLmpzLkxJQ0VOU0UgKi8KIWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSl7dmFyIHQ7cmV0dXJuKHJbZV18fCh0PXJbZV09e2k6ZSxsOiExLGV4cG9ydHM6e319LG5bZV0uY2FsbCh0LmV4cG9ydHMsdCx0LmV4cG9ydHMsbyksdC5sPSEwLHQpKS5leHBvcnRzfXZhciBuLHI7bj1bZnVuY3Rpb24oZSx0LG4pe2UuZXhwb3J0cz1uKDE2OCl9LGZ1bmN0aW9uKGUsVWUsQmUpeyFmdW5jdGlvbihlKXtCZS5kKFVlLCJhIixmdW5jdGlvbigpe3JldHVybiB6ZX0pLEJlLmQoVWUsImIiLGZ1bmN0aW9uKCl7cmV0dXJuIFJlfSksQmUuZChVZSwiYyIsZnVuY3Rpb24oKXtyZXR1cm4gQX0pLEJlLmQoVWUsImUiLGZ1bmN0aW9uKCl7cmV0dXJuIE5lfSk7dmFyIGE9QmUoNTYpLHg9QmUoMCksZD1CZS5uKHgpLHQ9QmUoOTUpLFI9QmUubih0KSxOPUJlKDk2KSxEPUJlKDk3KSxVPUJlKDU4KSx0PUJlKDU3KSxCPUJlLm4odCk7ZnVuY3Rpb24gaygpe3JldHVybihrPU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciBuLHI9YXJndW1lbnRzW3RdO2ZvcihuIGluIHIpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHIsbikmJihlW25dPXJbbl0pfXJldHVybiBlfSkuYXBwbHkodGhpcyxhcmd1bWVudHMpfXZhciBGPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPVtlWzBdXSxyPTAsbz10Lmxlbmd0aDtyPG87cis9MSluLnB1c2godFtyXSxlW3IrMV0pO3JldHVybiBufSxjPWZ1bmN0aW9uKGUpe3JldHVybiBudWxsIT09ZSYmIm9iamVjdCI9PXR5cGVvZiBlJiYiW29iamVjdCBPYmplY3RdIj09PShlLnRvU3RyaW5nP2UudG9TdHJpbmcoKTpPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkpJiYhT2JqZWN0KGEudHlwZU9mKShlKX0scD1PYmplY3QuZnJlZXplKFtdKSxTPU9iamVjdC5mcmVlemUoe30pO2Z1bmN0aW9uIEMoZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGV9ZnVuY3Rpb24gSChlKXtyZXR1cm4gZS5kaXNwbGF5TmFtZXx8ZS5uYW1lfHwiQ29tcG9uZW50In1mdW5jdGlvbiBtKGUpe3JldHVybiBlJiYic3RyaW5nIj09dHlwZW9mIGUuc3R5bGVkQ29tcG9uZW50SWR9dmFyIHU9dm9pZCAwIT09ZSYmKHtSRUFDVF9BUFBfQ09OVEFDVF9GT1JNX0hPU1Q6ImdldGJ1dHRvbi5pbyIsUkVBQ1RfQVBQX1ZBTElEQVRJT05fVVJMOiJodHRwczovL3dpZGdldC5nZXRidXR0b24uaW8vYXBpL3ZhbGlkYXRlIixSRUFDVF9BUFBfQUxMT1dFRF9ET01BSU5TX0xJU1Q6ImFkbWluLmdldGJ1dHRvbi5pbywgbmV4dC5nZXRidXR0b24uaW8sIDEyNy4wLjAuMSwgbG9jYWxob3N0LCB0ZXN0LmdldGJ1dHRvbi5pbywgZGV2LmdldGJ1dHRvbi5pbywgZ2V0YnV0dG9uLmlvLCBhZG1pbi5zaG9waWZ5LmNvbSIsUkVBQ1RfQVBQX0dPT0dMRU1BUFNfQVBJX0tFWToiQUl6YVN5Qnp4Tm8yLWxhSXpBVC1HcnFndDVVYVFoTVNzbFQxSEJFIixSRUFDVF9BUFBfQUlfQlVORExFX1VSTDoiaHR0cHM6Ly9zdGF0aWMuZ2V0YnV0dG9uLmlvL3dpZGdldC9idW5kbGUtYWkuanMifS5SRUFDVF9BUFBfU0NfQVRUUnx8e1JFQUNUX0FQUF9DT05UQUNUX0ZPUk1fSE9TVDoiZ2V0YnV0dG9uLmlvIixSRUFDVF9BUFBfVkFMSURBVElPTl9VUkw6Imh0dHBzOi8vd2lkZ2V0LmdldGJ1dHRvbi5pby9hcGkvdmFsaWRhdGUiLFJFQUNUX0FQUF9BTExPV0VEX0RPTUFJTlNfTElTVDoiYWRtaW4uZ2V0YnV0dG9uLmlvLCBuZXh0LmdldGJ1dHRvbi5pbywgMTI3LjAuMC4xLCBsb2NhbGhvc3QsIHRlc3QuZ2V0YnV0dG9uLmlvLCBkZXYuZ2V0YnV0dG9uLmlvLCBnZXRidXR0b24uaW8sIGFkbWluLnNob3BpZnkuY29tIixSRUFDVF9BUFBfR09PR0xFTUFQU19BUElfS0VZOiJBSXphU3lCenhObzItbGFJekFULUdycWd0NVVhUWhNU3NsVDFIQkUiLFJFQUNUX0FQUF9BSV9CVU5ETEVfVVJMOiJodHRwczovL3N0YXRpYy5nZXRidXR0b24uaW8vd2lkZ2V0L2J1bmRsZS1haS5qcyJ9LlNDX0FUVFIpfHwiZGF0YS1zdHlsZWQiLHM9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJiJIVE1MRWxlbWVudCJpbiB3aW5kb3csdD1Cb29sZWFuKCJib29sZWFuIj09dHlwZW9mIFNDX0RJU0FCTEVfU1BFRURZP1NDX0RJU0FCTEVfU1BFRURZOnZvaWQgMCE9PWUmJih2b2lkIDAhPT17UkVBQ1RfQVBQX0NPTlRBQ1RfRk9STV9IT1NUOiJnZXRidXR0b24uaW8iLFJFQUNUX0FQUF9WQUxJREFUSU9OX1VSTDoiaHR0cHM6Ly93aWRnZXQuZ2V0YnV0dG9uLmlvL2FwaS92YWxpZGF0ZSIsUkVBQ1RfQVBQX0FMTE9XRURfRE9NQUlOU19MSVNUOiJhZG1pbi5nZXRidXR0b24uaW8sIG5leHQuZ2V0YnV0dG9uLmlvLCAxMjcuMC4wLjEsIGxvY2FsaG9zdCwgdGVzdC5nZXRidXR0b24uaW8sIGRldi5nZXRidXR0b24uaW8sIGdldGJ1dHRvbi5pbywgYWRtaW4uc2hvcGlmeS5jb20iLFJFQUNUX0FQUF9HT09HTEVNQVBTX0FQSV9LRVk6IkFJemFTeUJ6eE5vMi1sYUl6QVQtR3JxZ3Q1VWFRaE1Tc2xUMUhCRSIsUkVBQ1RfQVBQX0FJX0JVTkRMRV9VUkw6Imh0dHBzOi8vc3RhdGljLmdldGJ1dHRvbi5pby93aWRnZXQvYnVuZGxlLWFpLmpzIn0uUkVBQ1RfQVBQX1NDX0RJU0FCTEVfU1BFRURZJiYiIiE9PXtSRUFDVF9BUFBfQ09OVEFDVF9GT1JNX0hPU1Q6ImdldGJ1dHRvbi5pbyIsUkVBQ1RfQVBQX1ZBTElEQVRJT05fVVJMOiJodHRwczovL3dpZGdldC5nZXRidXR0b24uaW8vYXBpL3ZhbGlkYXRlIixSRUFDVF9BUFBfQUxMT1dFRF9ET01BSU5TX0xJU1Q6ImFkbWluLmdldGJ1dHRvbi5pbywgbmV4dC5nZXRidXR0b24uaW8sIDEyNy4wLjAuMSwgbG9jYWxob3N0LCB0ZXN0LmdldGJ1dHRvbi5pbywgZGV2LmdldGJ1dHRvbi5pbywgZ2V0YnV0dG9uLmlvLCBhZG1pbi5zaG9waWZ5LmNvbSIsUkVBQ1RfQVBQX0dPT0dMRU1BUFNfQVBJX0tFWToiQUl6YVN5Qnp4Tm8yLWxhSXpBVC1HcnFndDVVYVFoTVNzbFQxSEJFIixSRUFDVF9BUFBfQUlfQlVORExFX1VSTDoiaHR0cHM6Ly9zdGF0aWMuZ2V0YnV0dG9uLmlvL3dpZGdldC9idW5kbGUtYWkuanMifS5SRUFDVF9BUFBfU0NfRElTQUJMRV9TUEVFRFk/ImZhbHNlIiE9PXtSRUFDVF9BUFBfQ09OVEFDVF9GT1JNX0hPU1Q6ImdldGJ1dHRvbi5pbyIsUkVBQ1RfQVBQX1ZBTElEQVRJT05fVVJMOiJodHRwczovL3dpZGdldC5nZXRidXR0b24uaW8vYXBpL3ZhbGlkYXRlIixSRUFDVF9BUFBfQUxMT1dFRF9ET01BSU5TX0xJU1Q6ImFkbWluLmdldGJ1dHRvbi5pbywgbmV4dC5nZXRidXR0b24uaW8sIDEyNy4wLjAuMSwgbG9jYWxob3N0LCB0ZXN0LmdldGJ1dHRvbi5pbywgZGV2LmdldGJ1dHRvbi5pbywgZ2V0YnV0dG9uLmlvLCBhZG1pbi5zaG9waWZ5LmNvbSIsUkVBQ1RfQVBQX0dPT0dMRU1BUFNfQVBJX0tFWToiQUl6YVN5Qnp4Tm8yLWxhSXpBVC1HcnFndDVVYVFoTVNzbFQxSEJFIixSRUFDVF9BUFBfQUlfQlVORExFX1VSTDoiaHR0cHM6Ly9zdGF0aWMuZ2V0YnV0dG9uLmlvL3dpZGdldC9idW5kbGUtYWkuanMifS5SRUFDVF9BUFBfU0NfRElTQUJMRV9TUEVFRFkmJntSRUFDVF9BUFBfQ09OVEFDVF9GT1JNX0hPU1Q6ImdldGJ1dHRvbi5pbyIsUkVBQ1RfQVBQX1ZBTElEQVRJT05fVVJMOiJodHRwczovL3dpZGdldC5nZXRidXR0b24uaW8vYXBpL3ZhbGlkYXRlIixSRUFDVF9BUFBfQUxMT1dFRF9ET01BSU5TX0xJU1Q6ImFkbWluLmdldGJ1dHRvbi5pbywgbmV4dC5nZXRidXR0b24uaW8sIDEyNy4wLjAuMSwgbG9jYWxob3N0LCB0ZXN0LmdldGJ1dHRvbi5pbywgZGV2LmdldGJ1dHRvbi5pbywgZ2V0YnV0dG9uLmlvLCBhZG1pbi5zaG9waWZ5LmNvbSIsUkVBQ1RfQVBQX0dPT0dMRU1BUFNfQVBJX0tFWToiQUl6YVN5Qnp4Tm8yLWxhSXpBVC1HcnFndDVVYVFoTVNzbFQxSEJFIixSRUFDVF9BUFBfQUlfQlVORExFX1VSTDoiaHR0cHM6Ly9zdGF0aWMuZ2V0YnV0dG9uLmlvL3dpZGdldC9idW5kbGUtYWkuanMifS5SRUFDVF9BUFBfU0NfRElTQUJMRV9TUEVFRFk6dm9pZCAwIT09e1JFQUNUX0FQUF9DT05UQUNUX0ZPUk1fSE9TVDoiZ2V0YnV0dG9uLmlvIixSRUFDVF9BUFBfVkFMSURBVElPTl9VUkw6Imh0dHBzOi8vd2lkZ2V0LmdldGJ1dHRvbi5pby9hcGkvdmFsaWRhdGUiLFJFQUNUX0FQUF9BTExPV0VEX0RPTUFJTlNfTElTVDoiYWRtaW4uZ2V0YnV0dG9uLmlvLCBuZXh0LmdldGJ1dHRvbi5pbywgMTI3LjAuMC4xLCBsb2NhbGhvc3QsIHRlc3QuZ2V0YnV0dG9uLmlvLCBkZXYuZ2V0YnV0dG9uLmlvLCBnZXRidXR0b24uaW8sIGFkbWluLnNob3BpZnkuY29tIixSRUFDVF9BUFBfR09PR0xFTUFQU19BUElfS0VZOiJBSXphU3lCenhObzItbGFJekFULUdycWd0NVVhUWhNU3NsVDFIQkUiLFJFQUNUX0FQUF9BSV9CVU5ETEVfVVJMOiJodHRwczovL3N0YXRpYy5nZXRidXR0b24uaW8vd2lkZ2V0L2J1bmRsZS1haS5qcyJ9LlNDX0RJU0FCTEVfU1BFRURZJiYiIiE9PXtSRUFDVF9BUFBfQ09OVEFDVF9GT1JNX0hPU1Q6ImdldGJ1dHRvbi5pbyIsUkVBQ1RfQVBQX1ZBTElEQVRJT05fVVJMOiJodHRwczovL3dpZGdldC5nZXRidXR0b24uaW8vYXBpL3ZhbGlkYXRlIixSRUFDVF9BUFBfQUxMT1dFRF9ET01BSU5TX0xJU1Q6ImFkbWluLmdldGJ1dHRvbi5pbywgbmV4dC5nZXRidXR0b24uaW8sIDEyNy4wLjAuMSwgbG9jYWxob3N0LCB0ZXN0LmdldGJ1dHRvbi5pbywgZGV2LmdldGJ1dHRvbi5pbywgZ2V0YnV0dG9uLmlvLCBhZG1pbi5zaG9waWZ5LmNvbSIsUkVBQ1RfQVBQX0dPT0dMRU1BUFNfQVBJX0tFWToiQUl6YVN5Qnp4Tm8yLWxhSXpBVC1HcnFndDVVYVFoTVNzbFQxSEJFIixSRUFDVF9BUFBfQUlfQlVORExFX1VSTDoiaHR0cHM6Ly9zdGF0aWMuZ2V0YnV0dG9uLmlvL3dpZGdldC9idW5kbGUtYWkuanMifS5TQ19ESVNBQkxFX1NQRUVEWSYmImZhbHNlIiE9PXtSRUFDVF9BUFBfQ09OVEFDVF9GT1JNX0hPU1Q6ImdldGJ1dHRvbi5pbyIsUkVBQ1RfQVBQX1ZBTElEQVRJT05fVVJMOiJodHRwczovL3dpZGdldC5nZXRidXR0b24uaW8vYXBpL3ZhbGlkYXRlIixSRUFDVF9BUFBfQUxMT1dFRF9ET01BSU5TX0xJU1Q6ImFkbWluLmdldGJ1dHRvbi5pbywgbmV4dC5nZXRidXR0b24uaW8sIDEyNy4wLjAuMSwgbG9jYWxob3N0LCB0ZXN0LmdldGJ1dHRvbi5pbywgZGV2LmdldGJ1dHRvbi5pbywgZ2V0YnV0dG9uLmlvLCBhZG1pbi5zaG9waWZ5LmNvbSIsUkVBQ1RfQVBQX0dPT0dMRU1BUFNfQVBJX0tFWToiQUl6YVN5Qnp4Tm8yLWxhSXpBVC1HcnFndDVVYVFoTVNzbFQxSEJFIixSRUFDVF9BUFBfQUlfQlVORExFX1VSTDoiaHR0cHM6Ly9zdGF0aWMuZ2V0YnV0dG9uLmlvL3dpZGdldC9idW5kbGUtYWkuanMifS5TQ19ESVNBQkxFX1NQRUVEWSYme1JFQUNUX0FQUF9DT05UQUNUX0ZPUk1fSE9TVDoiZ2V0YnV0dG9uLmlvIixSRUFDVF9BUFBfVkFMSURBVElPTl9VUkw6Imh0dHBzOi8vd2lkZ2V0LmdldGJ1dHRvbi5pby9hcGkvdmFsaWRhdGUiLFJFQUNUX0FQUF9BTExPV0VEX0RPTUFJTlNfTElTVDoiYWRtaW4uZ2V0YnV0dG9uLmlvLCBuZXh0LmdldGJ1dHRvbi5pbywgMTI3LjAuMC4xLCBsb2NhbGhvc3QsIHRlc3QuZ2V0YnV0dG9uLmlvLCBkZXYuZ2V0YnV0dG9uLmlvLCBnZXRidXR0b24uaW8sIGFkbWluLnNob3BpZnkuY29tIixSRUFDVF9BUFBfR09PR0xFTUFQU19BUElfS0VZOiJBSXphU3lCenhObzItbGFJekFULUdycWd0NVVhUWhNU3NsVDFIQkUiLFJFQUNUX0FQUF9BSV9CVU5ETEVfVVJMOiJodHRwczovL3N0YXRpYy5nZXRidXR0b24uaW8vd2lkZ2V0L2J1bmRsZS1haS5qcyJ9LlNDX0RJU0FCTEVfU1BFRURZKSksVj17fTtmdW5jdGlvbiBoKGUpe2Zvcih2YXIgdD1hcmd1bWVudHMubGVuZ3RoLG49bmV3IEFycmF5KDE8dD90LTE6MCkscj0xO3I8dDtyKyspbltyLTFdPWFyZ3VtZW50c1tyXTt0aHJvdyBuZXcgRXJyb3IoIkFuIGVycm9yIG9jY3VycmVkLiBTZWUgaHR0cHM6Ly9naXQuaW8vSlVJYUUjIitlKyIgZm9yIG1vcmUgaW5mb3JtYXRpb24uIisoMDxuLmxlbmd0aD8iIEFyZ3M6ICIrbi5qb2luKCIsICIpOiIiKSl9ZnVuY3Rpb24gcihlKXtpZihuLmhhcyhlKSlyZXR1cm4gbi5nZXQoZSk7Zm9yKDtmLmhhcyhvKTspbysrO3ZhciB0PW8rKztyZXR1cm4gbi5zZXQoZSx0KSxmLnNldCh0LGUpLHR9ZnVuY3Rpb24gJChlKXt2YXIgdD1kb2N1bWVudC5oZWFkLHI9ZXx8dCxlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIiksdD12b2lkIDAhPT0odD1mdW5jdGlvbigpe2Zvcih2YXIgZT1yLmNoaWxkTm9kZXMsdD1lLmxlbmd0aDswPD10O3QtLSl7dmFyIG49ZVt0XTtpZihuJiYxPT09bi5ub2RlVHlwZSYmbi5oYXNBdHRyaWJ1dGUodSkpcmV0dXJuIG59fSgpKT90Lm5leHRTaWJsaW5nOm51bGwsbj0oZS5zZXRBdHRyaWJ1dGUodSwiYWN0aXZlIiksZS5zZXRBdHRyaWJ1dGUoImRhdGEtc3R5bGVkLXZlcnNpb24iLCI1LjMuMTEiKSxpKCkpO3JldHVybiBuJiZlLnNldEF0dHJpYnV0ZSgibm9uY2UiLG4pLHIuaW5zZXJ0QmVmb3JlKGUsdCksZX1mdW5jdGlvbiBXKGUpe3JldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKGUrKDI1PGU/Mzk6OTcpKX0oZT1pZS5wcm90b3R5cGUpLmluZGV4T2ZHcm91cD1mdW5jdGlvbihlKXtmb3IodmFyIHQ9MCxuPTA7bjxlO24rKyl0Kz10aGlzLmdyb3VwU2l6ZXNbbl07cmV0dXJuIHR9LGUuaW5zZXJ0UnVsZXM9ZnVuY3Rpb24oZSx0KXtpZihlPj10aGlzLmdyb3VwU2l6ZXMubGVuZ3RoKXtmb3IodmFyIG49dGhpcy5ncm91cFNpemVzLHI9bi5sZW5ndGgsbz1yO288PWU7KShvPDw9MSk8MCYmaCgxNiwiIitlKTt0aGlzLmdyb3VwU2l6ZXM9bmV3IFVpbnQzMkFycmF5KG8pLHRoaXMuZ3JvdXBTaXplcy5zZXQobiksdGhpcy5sZW5ndGg9bztmb3IodmFyIGE9cjthPG87YSsrKXRoaXMuZ3JvdXBTaXplc1thXT0wfWZvcih2YXIgaT10aGlzLmluZGV4T2ZHcm91cChlKzEpLGw9MCxjPXQubGVuZ3RoO2w8YztsKyspdGhpcy50YWcuaW5zZXJ0UnVsZShpLHRbbF0pJiYodGhpcy5ncm91cFNpemVzW2VdKyssaSsrKX0sZS5jbGVhckdyb3VwPWZ1bmN0aW9uKGUpe2lmKGU8dGhpcy5sZW5ndGgpe3ZhciB0PXRoaXMuZ3JvdXBTaXplc1tlXSxuPXRoaXMuaW5kZXhPZkdyb3VwKGUpLHI9bit0O3RoaXMuZ3JvdXBTaXplc1tlXT0wO2Zvcih2YXIgbz1uO288cjtvKyspdGhpcy50YWcuZGVsZXRlUnVsZShuKX19LGUuZ2V0R3JvdXA9ZnVuY3Rpb24oZSl7dmFyIHQ9IiI7aWYoIShlPj10aGlzLmxlbmd0aHx8MD09PXRoaXMuZ3JvdXBTaXplc1tlXSkpZm9yKHZhciBuPXRoaXMuZ3JvdXBTaXplc1tlXSxlPXRoaXMuaW5kZXhPZkdyb3VwKGUpLHI9ZStuLG89ZTtvPHI7bysrKXQrPXRoaXMudGFnLmdldFJ1bGUobykrIi8qIXNjKi9cbiI7cmV0dXJuIHR9O3ZhciBHPWllLG49bmV3IE1hcCxmPW5ldyBNYXAsbz0xLHE9ZnVuY3Rpb24oZSx0KXtvPD10JiYobz10KzEpLG4uc2V0KGUsdCksZi5zZXQodCxlKX0sWj0ic3R5bGVbIit1KyddW2RhdGEtc3R5bGVkLXZlcnNpb249IjUuMy4xMSJdJyxYPW5ldyBSZWdFeHAoIl4iK3UrJ1xcLmcoXFxkKylcXFtpZD0iKFtcXHdcXGQtXSspIlxcXS4qPyIoW14iXSopJyksWT1mdW5jdGlvbihlLHQsbil7Zm9yKHZhciByLG89bi5zcGxpdCgiLCIpLGE9MCxpPW8ubGVuZ3RoO2E8aTthKyspKHI9b1thXSkmJmUucmVnaXN0ZXJOYW1lKHQscil9LGk9ZnVuY3Rpb24oKXtyZXR1cm4gQmUubmN9LFE9KChlPWFlLnByb3RvdHlwZSkuaW5zZXJ0UnVsZT1mdW5jdGlvbihlLHQpe3RyeXtyZXR1cm4gdGhpcy5zaGVldC5pbnNlcnRSdWxlKHQsZSksdGhpcy5sZW5ndGgrKywhMH1jYXRjaChlKXtyZXR1cm4hMX19LGUuZGVsZXRlUnVsZT1mdW5jdGlvbihlKXt0aGlzLnNoZWV0LmRlbGV0ZVJ1bGUoZSksdGhpcy5sZW5ndGgtLX0sZS5nZXRSdWxlPWZ1bmN0aW9uKGUpe2U9dGhpcy5zaGVldC5jc3NSdWxlc1tlXTtyZXR1cm4gdm9pZCAwIT09ZSYmInN0cmluZyI9PXR5cGVvZiBlLmNzc1RleHQ/ZS5jc3NUZXh0OiIifSxhZSksSz0oKGU9b2UucHJvdG90eXBlKS5pbnNlcnRSdWxlPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU8PXRoaXMubGVuZ3RoJiYwPD1lJiYodD1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0KSxlPXRoaXMubm9kZXNbZV0sdGhpcy5lbGVtZW50Lmluc2VydEJlZm9yZSh0LGV8fG51bGwpLHRoaXMubGVuZ3RoKyssITApfSxlLmRlbGV0ZVJ1bGU9ZnVuY3Rpb24oZSl7dGhpcy5lbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMubm9kZXNbZV0pLHRoaXMubGVuZ3RoLS19LGUuZ2V0UnVsZT1mdW5jdGlvbihlKXtyZXR1cm4gZTx0aGlzLmxlbmd0aD90aGlzLm5vZGVzW2VdLnRleHRDb250ZW50OiIifSxvZSksSj0oKGU9cmUucHJvdG90eXBlKS5pbnNlcnRSdWxlPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU8PXRoaXMubGVuZ3RoJiYodGhpcy5ydWxlcy5zcGxpY2UoZSwwLHQpLHRoaXMubGVuZ3RoKyssITApfSxlLmRlbGV0ZVJ1bGU9ZnVuY3Rpb24oZSl7dGhpcy5ydWxlcy5zcGxpY2UoZSwxKSx0aGlzLmxlbmd0aC0tfSxlLmdldFJ1bGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGU8dGhpcy5sZW5ndGg/dGhpcy5ydWxlc1tlXToiIn0scmUpLGVlPXMsdGU9e2lzU2VydmVyOiFzLHVzZUNTU09NSW5qZWN0aW9uOiF0fSxsPShnLnJlZ2lzdGVySWQ9ciwoZT1nLnByb3RvdHlwZSkucmVjb25zdHJ1Y3RXaXRoT3B0aW9ucz1mdW5jdGlvbihlLHQpe3JldHVybiB2b2lkIDA9PT10JiYodD0hMCksbmV3IGcoayh7fSx0aGlzLm9wdGlvbnMse30sZSksdGhpcy5ncyx0JiZ0aGlzLm5hbWVzfHx2b2lkIDApfSxlLmFsbG9jYXRlR1NJbnN0YW5jZT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5nc1tlXT0odGhpcy5nc1tlXXx8MCkrMX0sZS5nZXRUYWc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50YWd8fCh0aGlzLnRhZz0oZT0obj10aGlzLm9wdGlvbnMpLmlzU2VydmVyLHQ9bi51c2VDU1NPTUluamVjdGlvbixuPW4udGFyZ2V0LGU9bmV3KGU/Sjp0P1E6SykobiksbmV3IEcoZSkpKTt2YXIgZSx0LG59LGUuaGFzTmFtZUZvcklkPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMubmFtZXMuaGFzKGUpJiZ0aGlzLm5hbWVzLmdldChlKS5oYXModCl9LGUucmVnaXN0ZXJOYW1lPWZ1bmN0aW9uKGUsdCl7dmFyIG47cihlKSx0aGlzLm5hbWVzLmhhcyhlKT90aGlzLm5hbWVzLmdldChlKS5hZGQodCk6KChuPW5ldyBTZXQpLmFkZCh0KSx0aGlzLm5hbWVzLnNldChlLG4pKX0sZS5pbnNlcnRSdWxlcz1mdW5jdGlvbihlLHQsbil7dGhpcy5yZWdpc3Rlck5hbWUoZSx0KSx0aGlzLmdldFRhZygpLmluc2VydFJ1bGVzKHIoZSksbil9LGUuY2xlYXJOYW1lcz1mdW5jdGlvbihlKXt0aGlzLm5hbWVzLmhhcyhlKSYmdGhpcy5uYW1lcy5nZXQoZSkuY2xlYXIoKX0sZS5jbGVhclJ1bGVzPWZ1bmN0aW9uKGUpe3RoaXMuZ2V0VGFnKCkuY2xlYXJHcm91cChyKGUpKSx0aGlzLmNsZWFyTmFtZXMoZSl9LGUuY2xlYXJUYWc9ZnVuY3Rpb24oKXt0aGlzLnRhZz12b2lkIDB9LGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcyx0PWUuZ2V0VGFnKCksbj10Lmxlbmd0aCxyPSIiLG89MDtvPG47bysrKXtjPW87dmFyIGEsaSxsLGM9Zi5nZXQoYyk7dm9pZCAwIT09YyYmKGE9ZS5uYW1lcy5nZXQoYyksaT10LmdldEdyb3VwKG8pLGEpJiZpJiZhLnNpemUmJihjPXUrIi5nIitvKydbaWQ9IicrYysnIl0nLGw9IiIsdm9pZCAwIT09YSYmYS5mb3JFYWNoKGZ1bmN0aW9uKGUpezA8ZS5sZW5ndGgmJihsKz1lKyIsIil9KSxyKz1pK2MrJ3tjb250ZW50OiInK2wrJyJ9Lyohc2MqL1xuJyl9cmV0dXJuIHJ9LGcpLG5lPS8oYSkoZCkvZ2k7ZnVuY3Rpb24gZyhlLHQsbil7aWYodm9pZCAwPT09ZSYmKGU9Uyksdm9pZCAwPT09dCYmKHQ9e30pLHRoaXMub3B0aW9ucz1rKHt9LHRlLHt9LGUpLHRoaXMuZ3M9dCx0aGlzLm5hbWVzPW5ldyBNYXAobiksdGhpcy5zZXJ2ZXI9ISFlLmlzU2VydmVyLCF0aGlzLnNlcnZlciYmcyYmZWUpe2VlPSExO2Zvcih2YXIgcj10aGlzLG89ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChaKSxhPTAsaT1vLmxlbmd0aDthPGk7YSsrKXt2YXIgbD1vW2FdO2wmJiJhY3RpdmUiIT09bC5nZXRBdHRyaWJ1dGUodSkmJihmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0odC50ZXh0Q29udGVudHx8IiIpLnNwbGl0KCIvKiFzYyovXG4iKSxyPVtdLG89MCxhPW4ubGVuZ3RoO288YTtvKyspe3ZhciBpLGwsYyx1PW5bb10udHJpbSgpO3UmJigoaT11Lm1hdGNoKFgpKT8obD0wfHBhcnNlSW50KGlbMV0sMTApLGM9aVsyXSwwIT1sJiYocShjLGwpLFkoZSxjLGlbM10pLGUuZ2V0VGFnKCkuaW5zZXJ0UnVsZXMobCxyKSksci5sZW5ndGg9MCk6ci5wdXNoKHUpKX19KHIsbCksbC5wYXJlbnROb2RlKSYmbC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGwpfX19ZnVuY3Rpb24gcmUoZSl7dGhpcy5ydWxlcz1bXSx0aGlzLmxlbmd0aD0wfWZ1bmN0aW9uIG9lKGUpe2U9dGhpcy5lbGVtZW50PSQoZSk7dGhpcy5ub2Rlcz1lLmNoaWxkTm9kZXMsdGhpcy5sZW5ndGg9MH1mdW5jdGlvbiBhZShlKXtlPXRoaXMuZWxlbWVudD0kKGUpO2UuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIpKSx0aGlzLnNoZWV0PWZ1bmN0aW9uKGUpe2lmKGUuc2hlZXQpcmV0dXJuIGUuc2hlZXQ7Zm9yKHZhciB0PWRvY3VtZW50LnN0eWxlU2hlZXRzLG49MCxyPXQubGVuZ3RoO248cjtuKyspe3ZhciBvPXRbbl07aWYoby5vd25lck5vZGU9PT1lKXJldHVybiBvfWgoMTcpfShlKSx0aGlzLmxlbmd0aD0wfWZ1bmN0aW9uIGllKGUpe3RoaXMuZ3JvdXBTaXplcz1uZXcgVWludDMyQXJyYXkoNTEyKSx0aGlzLmxlbmd0aD01MTIsdGhpcy50YWc9ZX1mdW5jdGlvbiBiKGUpe2Zvcih2YXIgdD0iIixuPU1hdGguYWJzKGUpOzUyPG47bj1uLzUyfDApdD1XKG4lNTIpK3Q7cmV0dXJuKFcobiU1MikrdCkucmVwbGFjZShuZSwiJDEtJDIiKX1mdW5jdGlvbiB5KGUsdCl7Zm9yKHZhciBuPXQubGVuZ3RoO247KWU9MzMqZV50LmNoYXJDb2RlQXQoLS1uKTtyZXR1cm4gZX1mdW5jdGlvbiBsZShlKXtyZXR1cm4geSg1MzgxLGUpfWZ1bmN0aW9uIGNlKGUpe2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCs9MSl7dmFyIG49ZVt0XTtpZihDKG4pJiYhbShuKSlyZXR1cm4hMX1yZXR1cm4hMH12YXIgdWU9bGUoIjUuMy4xMSIpLHNlPShwZS5wcm90b3R5cGUuZ2VuZXJhdGVBbmRJbmplY3RTdHlsZXM9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXRoaXMuY29tcG9uZW50SWQsbz1bXTtpZih0aGlzLmJhc2VTdHlsZSYmby5wdXNoKHRoaXMuYmFzZVN0eWxlLmdlbmVyYXRlQW5kSW5qZWN0U3R5bGVzKGUsdCxuKSksdGhpcy5pc1N0YXRpYyYmIW4uaGFzaCl0aGlzLnN0YXRpY1J1bGVzSWQmJnQuaGFzTmFtZUZvcklkKHIsdGhpcy5zdGF0aWNSdWxlc0lkKT9vLnB1c2godGhpcy5zdGF0aWNSdWxlc0lkKTooYT1qKHRoaXMucnVsZXMsZSx0LG4pLmpvaW4oIiIpLGk9Yih5KHRoaXMuYmFzZUhhc2gsYSk+Pj4wKSx0Lmhhc05hbWVGb3JJZChyLGkpfHwoYT1uKGEsIi4iK2ksdm9pZCAwLHIpLHQuaW5zZXJ0UnVsZXMocixpLGEpKSxvLnB1c2goaSksdGhpcy5zdGF0aWNSdWxlc0lkPWkpO2Vsc2V7Zm9yKHZhciBhLGksbD10aGlzLnJ1bGVzLmxlbmd0aCxjPXkodGhpcy5iYXNlSGFzaCxuLmhhc2gpLHU9IiIscz0wO3M8bDtzKyspe3ZhciBmPXRoaXMucnVsZXNbc107InN0cmluZyI9PXR5cGVvZiBmP3UrPWY6ZiYmKGY9aihmLGUsdCxuKSxmPUFycmF5LmlzQXJyYXkoZik/Zi5qb2luKCIiKTpmLGM9eShjLGYrcyksdSs9Zil9dSYmKGE9YihjPj4+MCksdC5oYXNOYW1lRm9ySWQocixhKXx8KGk9bih1LCIuIithLHZvaWQgMCxyKSx0Lmluc2VydFJ1bGVzKHIsYSxpKSksby5wdXNoKGEpKX1yZXR1cm4gby5qb2luKCIgIil9LHBlKSxmZT0vXlxzKlwvXC8uKiQvZ20sZGU9WyI6IiwiWyIsIi4iLCIjIl07ZnVuY3Rpb24gcGUoZSx0LG4pe3RoaXMucnVsZXM9ZSx0aGlzLnN0YXRpY1J1bGVzSWQ9IiIsdGhpcy5pc1N0YXRpYz0odm9pZCAwPT09bnx8bi5pc1N0YXRpYykmJmNlKGUpLHRoaXMuY29tcG9uZW50SWQ9dCx0aGlzLmJhc2VIYXNoPXkodWUsdCksdGhpcy5iYXNlU3R5bGU9bixsLnJlZ2lzdGVySWQodCl9ZnVuY3Rpb24gbWUoZSl7ZnVuY3Rpb24gdChlLHQsbixyLG8sYSxpLGwsYyx1KXtzd2l0Y2goZSl7Y2FzZSAxOmlmKDA9PT1jJiY2ND09PXQuY2hhckNvZGVBdCgwKSlyZXR1cm4gcyh0KyI7IiksIiI7YnJlYWs7Y2FzZSAyOmlmKDA9PT1sKXJldHVybiB0KyIvKnwqLyI7YnJlYWs7Y2FzZSAzOnN3aXRjaChsKXtjYXNlIDEwMjpjYXNlIDExMjpyZXR1cm4gcyhuWzBdK3QpLCIiO2RlZmF1bHQ6cmV0dXJuIHQrKDA9PT11PyIvKnwqLyI6IiIpfWNhc2UtMjp0LnNwbGl0KCIvKnwqL30iKS5mb3JFYWNoKGYpfX1mdW5jdGlvbiByKGUsdCxuKXtyZXR1cm4gMD09PXQmJi0xIT09ZGUuaW5kZXhPZihuW2EubGVuZ3RoXSl8fG4ubWF0Y2gobCk/ZToiLiIrb312YXIgbyxhLGksbCxzLGU9dm9pZCAwPT09ZT9TOmUsbj1lLm9wdGlvbnMsbj12b2lkIDA9PT1uP1M6bixlPWUucGx1Z2lucyxlPXZvaWQgMD09PWU/cDplLGM9bmV3IE4uYShuKSx1PVtdO3M9ZnVuY3Rpb24oZSl7dS5wdXNoKGUpfTtmdW5jdGlvbiBmKGUpe2lmKGUpdHJ5e3MoZSsifSIpfWNhdGNoKGUpe319ZnVuY3Rpb24gZChlLHQsbixyKXt2b2lkIDA9PT1yJiYocj0iJiIpO2U9ZS5yZXBsYWNlKGZlLCIiKSxlPXQmJm4/bisiICIrdCsiIHsgIitlKyIgfSI6ZTtyZXR1cm4gbz1yLGE9dCxpPW5ldyBSZWdFeHAoIlxcIithKyJcXGIiLCJnIiksbD1uZXcgUmVnRXhwKCIoXFwiK2ErIlxcYil7Mix9IiksYyhufHwhdD8iIjp0LGUpfXJldHVybiBjLnVzZShbXS5jb25jYXQoZSxbZnVuY3Rpb24oZSx0LG4pezI9PT1lJiZuLmxlbmd0aCYmMDxuWzBdLmxhc3RJbmRleE9mKGEpJiYoblswXT1uWzBdLnJlcGxhY2UoaSxyKSl9LHQsZnVuY3Rpb24oZSl7aWYoLTI9PT1lKXJldHVybiBlPXUsdT1bXSxlfV0pKSxkLmhhc2g9ZS5sZW5ndGg/ZS5yZWR1Y2UoZnVuY3Rpb24oZSx0KXtyZXR1cm4gdC5uYW1lfHxoKDE1KSx5KGUsdC5uYW1lKX0sNTM4MSkudG9TdHJpbmcoKToiIixkfXZhciB2PWQuYS5jcmVhdGVDb250ZXh0KCksdz0odi5Db25zdW1lcixkLmEuY3JlYXRlQ29udGV4dCgpKSxoZT0ody5Db25zdW1lcixuZXcgbCksRT1tZSgpO2Z1bmN0aW9uIE8oKXtyZXR1cm4gT2JqZWN0KHgudXNlQ29udGV4dCkodil8fGhlfWZ1bmN0aW9uIGdlKCl7cmV0dXJuIE9iamVjdCh4LnVzZUNvbnRleHQpKHcpfHxFfWZ1bmN0aW9uIGJlKHQpe3ZhciBlPU9iamVjdCh4LnVzZVN0YXRlKSh0LnN0eWxpc1BsdWdpbnMpLG49ZVswXSxyPWVbMV0sbz1PKCksZT1PYmplY3QoeC51c2VNZW1vKShmdW5jdGlvbigpe3ZhciBlPW87cmV0dXJuIHQuc2hlZXQ/ZT10LnNoZWV0OnQudGFyZ2V0JiYoZT1lLnJlY29uc3RydWN0V2l0aE9wdGlvbnMoe3RhcmdldDp0LnRhcmdldH0sITEpKSxlPXQuZGlzYWJsZUNTU09NSW5qZWN0aW9uP2UucmVjb25zdHJ1Y3RXaXRoT3B0aW9ucyh7dXNlQ1NTT01JbmplY3Rpb246ITF9KTplfSxbdC5kaXNhYmxlQ1NTT01JbmplY3Rpb24sdC5zaGVldCx0LnRhcmdldF0pLGE9T2JqZWN0KHgudXNlTWVtbykoZnVuY3Rpb24oKXtyZXR1cm4gbWUoe29wdGlvbnM6e3ByZWZpeDohdC5kaXNhYmxlVmVuZG9yUHJlZml4ZXN9LHBsdWdpbnM6bn0pfSxbdC5kaXNhYmxlVmVuZG9yUHJlZml4ZXMsbl0pO3JldHVybiBPYmplY3QoeC51c2VFZmZlY3QpKGZ1bmN0aW9uKCl7UigpKG4sdC5zdHlsaXNQbHVnaW5zKXx8cih0LnN0eWxpc1BsdWdpbnMpfSxbdC5zdHlsaXNQbHVnaW5zXSksZC5hLmNyZWF0ZUVsZW1lbnQodi5Qcm92aWRlcix7dmFsdWU6ZX0sZC5hLmNyZWF0ZUVsZW1lbnQody5Qcm92aWRlcix7dmFsdWU6YX0sdC5jaGlsZHJlbikpfVNlLnByb3RvdHlwZS5nZXROYW1lPWZ1bmN0aW9uKGUpe3JldHVybiB2b2lkIDA9PT1lJiYoZT1FKSx0aGlzLm5hbWUrZS5oYXNofTt2YXIgeWU9U2UsdmU9LyhbQS1aXSkvLHdlPS8oW0EtWl0pL2cseGU9L15tcy0vLGtlPWZ1bmN0aW9uKGUpe3JldHVybiItIitlLnRvTG93ZXJDYXNlKCl9O2Z1bmN0aW9uIFNlKGUsdCl7dmFyIHI9dGhpczt0aGlzLmluamVjdD1mdW5jdGlvbihlLHQpe3ZvaWQgMD09PXQmJih0PUUpO3ZhciBuPXIubmFtZSt0Lmhhc2g7ZS5oYXNOYW1lRm9ySWQoci5pZCxuKXx8ZS5pbnNlcnRSdWxlcyhyLmlkLG4sdChyLnJ1bGVzLG4sIkBrZXlmcmFtZXMiKSl9LHRoaXMudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gaCgxMixTdHJpbmcoci5uYW1lKSl9LHRoaXMubmFtZT1lLHRoaXMuaWQ9InNjLWtleWZyYW1lcy0iK2UsdGhpcy5ydWxlcz10fWZ1bmN0aW9uIENlKGUpe3JldHVybiB2ZS50ZXN0KGUpP2UucmVwbGFjZSh3ZSxrZSkucmVwbGFjZSh4ZSwiLW1zLSIpOmV9dmFyIEVlPWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lfHwhMT09PWV8fCIiPT09ZX07ZnVuY3Rpb24gaihlLHQsbixyKXtpZihBcnJheS5pc0FycmF5KGUpKXtmb3IodmFyIG8sYT1bXSxpPTAsbD1lLmxlbmd0aDtpPGw7aSs9MSkiIiE9PShvPWooZVtpXSx0LG4scikpJiYoQXJyYXkuaXNBcnJheShvKT9hLnB1c2guYXBwbHkoYSxvKTphLnB1c2gobykpO3JldHVybiBhfXJldHVybiBFZShlKT8iIjptKGUpPyIuIitlLnN0eWxlZENvbXBvbmVudElkOkMoZSk/ImZ1bmN0aW9uIiE9dHlwZW9mIGV8fGUucHJvdG90eXBlJiZlLnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50fHwhdD9lOmooZSh0KSx0LG4scik6ZSBpbnN0YW5jZW9mIHllP24/KGUuaW5qZWN0KG4sciksZS5nZXROYW1lKHIpKTplOmMoZSk/ZnVuY3Rpb24gZSh0LG4pe3ZhciByLG8sYSxpPVtdO2ZvcihhIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShhKSYmIUVlKHRbYV0pJiYoQXJyYXkuaXNBcnJheSh0W2FdKSYmdFthXS5pc0Nzc3x8Qyh0W2FdKT9pLnB1c2goQ2UoYSkrIjoiLHRbYV0sIjsiKTpjKHRbYV0pP2kucHVzaC5hcHBseShpLGUodFthXSxhKSk6aS5wdXNoKENlKGEpKyI6ICIrKHI9YSxudWxsPT0obz10W2FdKXx8ImJvb2xlYW4iPT10eXBlb2Ygb3x8IiI9PT1vPyIiOiJudW1iZXIiIT10eXBlb2Ygb3x8MD09PW98fHIgaW4gRC5hfHxyLnN0YXJ0c1dpdGgoIi0tIik/U3RyaW5nKG8pLnRyaW0oKTpvKyJweCIpKyI7IikpO3JldHVybiBuP1tuKyIgeyJdLmNvbmNhdChpLFsifSJdKTppfShlKTplLnRvU3RyaW5nKCl9dmFyIE9lPWZ1bmN0aW9uKGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpJiYoZS5pc0Nzcz0hMCksZX07ZnVuY3Rpb24gQShlKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxuPW5ldyBBcnJheSgxPHQ/dC0xOjApLHI9MTtyPHQ7cisrKW5bci0xXT1hcmd1bWVudHNbcl07cmV0dXJuIEMoZSl8fGMoZSk/T2UoaihGKHAsW2VdLmNvbmNhdChuKSkpKTowPT09bi5sZW5ndGgmJjE9PT1lLmxlbmd0aCYmInN0cmluZyI9PXR5cGVvZiBlWzBdP2U6T2UoaihGKGUsbikpKX1uZXcgU2V0O3ZhciBqZT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIHZvaWQgMD09PW4mJihuPVMpLGUudGhlbWUhPT1uLnRoZW1lJiZlLnRoZW1lfHx0fHxuLnRoZW1lfSxBZT0vWyEiIyQlJicoKSorLC4vOjs8PT4/QFtcXFxdXmB7fH1+LV0rL2csUGU9LyheLXwtJCkvZztmdW5jdGlvbiBQKGUpe3JldHVybiBlLnJlcGxhY2UoQWUsIi0iKS5yZXBsYWNlKFBlLCIiKX12YXIgST1mdW5jdGlvbihlKXtyZXR1cm4gYihsZShlKT4+PjApfTtmdW5jdGlvbiBfKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZSYmITB9dmFyIHo9ZnVuY3Rpb24oZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGV8fCJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJiFBcnJheS5pc0FycmF5KGUpfSxJZT1mdW5jdGlvbihlKXtyZXR1cm4iX19wcm90b19fIiE9PWUmJiJjb25zdHJ1Y3RvciIhPT1lJiYicHJvdG90eXBlIiE9PWV9O2Z1bmN0aW9uIF9lKGUpe2Zvcih2YXIgdD1hcmd1bWVudHMubGVuZ3RoLG49bmV3IEFycmF5KDE8dD90LTE6MCkscj0xO3I8dDtyKyspbltyLTFdPWFyZ3VtZW50c1tyXTtmb3IodmFyIG8sYSxpLGw9MCxjPW47bDxjLmxlbmd0aDtsKyspe3ZhciB1PWNbbF07aWYoeih1KSlmb3IodmFyIHMgaW4gdSlJZShzKSYmKG89ZSxhPXVbc10scz1zLGk9dm9pZCAwLGk9b1tzXSx6KGEpJiZ6KGkpP19lKGksYSk6b1tzXT1hKX1yZXR1cm4gZX12YXIgVD1kLmEuY3JlYXRlQ29udGV4dCgpO1QuQ29uc3VtZXI7ZnVuY3Rpb24gemUobil7dmFyIHI9T2JqZWN0KHgudXNlQ29udGV4dCkoVCksZT1PYmplY3QoeC51c2VNZW1vKShmdW5jdGlvbigpe3JldHVybiBlPW4udGhlbWUsdD1yLGU/QyhlKT9lKHQpOkFycmF5LmlzQXJyYXkoZSl8fCJvYmplY3QiIT10eXBlb2YgZT9oKDgpOnQ/ayh7fSx0LHt9LGUpOmU6aCgxNCk7dmFyIGUsdH0sW24udGhlbWUscl0pO3JldHVybiBuLmNoaWxkcmVuP2QuYS5jcmVhdGVFbGVtZW50KFQuUHJvdmlkZXIse3ZhbHVlOmV9LG4uY2hpbGRyZW4pOm51bGx9dmFyIEw9e307ZnVuY3Rpb24gVGUocixvLGEpe3ZhciB0PW0ociksZT0hXyhyKSxuPW8uYXR0cnMsbj12b2lkIDA9PT1uP3A6bixpPW8uY29tcG9uZW50SWQsaT12b2lkIDA9PT1pP2Z1bmN0aW9uKGUsdCl7ZT0ic3RyaW5nIiE9dHlwZW9mIGU/InNjIjpQKGUpLExbZV09KExbZV18fDApKzEsZT1lKyItIitJKCI1LjMuMTEiK2UrTFtlXSk7cmV0dXJuIHQ/dCsiLSIrZTplfShvLmRpc3BsYXlOYW1lLG8ucGFyZW50Q29tcG9uZW50SWQpOmksbD1vLmRpc3BsYXlOYW1lLGw9dm9pZCAwPT09bD9fKHIpPyJzdHlsZWQuIityOiJTdHlsZWQoIitIKHIpKyIpIjpsLGk9by5kaXNwbGF5TmFtZSYmby5jb21wb25lbnRJZD9QKG8uZGlzcGxheU5hbWUpKyItIitvLmNvbXBvbmVudElkOm8uY29tcG9uZW50SWR8fGksYz10JiZyLmF0dHJzP0FycmF5LnByb3RvdHlwZS5jb25jYXQoci5hdHRycyxuKS5maWx0ZXIoQm9vbGVhbik6bix1PW8uc2hvdWxkRm9yd2FyZFByb3A7dCYmci5zaG91bGRGb3J3YXJkUHJvcCYmKHU9by5zaG91bGRGb3J3YXJkUHJvcD9mdW5jdGlvbihlLHQsbil7cmV0dXJuIHIuc2hvdWxkRm9yd2FyZFByb3AoZSx0LG4pJiZvLnNob3VsZEZvcndhcmRQcm9wKGUsdCxuKX06ci5zaG91bGRGb3J3YXJkUHJvcCk7ZnVuY3Rpb24gcyhlLHQpe3ZhciBuLHIsYSxpLG8sbD13LGM9KG09dikuYXR0cnMsdT1tLmNvbXBvbmVudFN0eWxlLHM9bS5kZWZhdWx0UHJvcHMsZj1tLmZvbGRlZENvbXBvbmVudElkcyxkPW0uc2hvdWxkRm9yd2FyZFByb3AscD1tLnN0eWxlZENvbXBvbmVudElkLG09bS50YXJnZXQsYz0ocz1qZShlLE9iamVjdCh4LnVzZUNvbnRleHQpKFQpLHMpfHxTLGM9YyxhPWsoe30sZSx7dGhlbWU6cz12b2lkIDA9PT1zP1M6c30pLGk9e30sYy5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciB0LG4scixvPWU7Zm9yKHQgaW4gbz1DKG8pP28oYSk6bylhW3RdPWlbdF09ImNsYXNzTmFtZSI9PT10PyhuPWlbdF0scj1vW3RdLG4mJnI/bisiICIrcjpufHxyKTpvW3RdfSksKHM9W2EsaV0pWzFdKSxsPSh1PXUsbD1sLHM9c1swXSxuPU8oKSxyPWdlKCksbD91LmdlbmVyYXRlQW5kSW5qZWN0U3R5bGVzKFMsbixyKTp1LmdlbmVyYXRlQW5kSW5qZWN0U3R5bGVzKHMsbixyKSksdT10LGg9Yy4kYXN8fGUuJGFzfHxjLmFzfHxlLmFzfHxtLGc9XyhoKSxiPWMhPT1lP2soe30sZSx7fSxjKTplLHk9e307Zm9yKG8gaW4gYikiJCIhPT1vWzBdJiYiYXMiIT09byYmKCJmb3J3YXJkZWRBcyI9PT1vP3kuYXM9YltvXTooZD9kKG8sVS5hLGgpOiFnfHxPYmplY3QoVS5hKShvKSkmJih5W29dPWJbb10pKTtyZXR1cm4gZS5zdHlsZSYmYy5zdHlsZSE9PWUuc3R5bGUmJih5LnN0eWxlPWsoe30sZS5zdHlsZSx7fSxjLnN0eWxlKSkseS5jbGFzc05hbWU9QXJyYXkucHJvdG90eXBlLmNvbmNhdChmLHAsbCE9PXA/bDpudWxsLGUuY2xhc3NOYW1lLGMuY2xhc3NOYW1lKS5maWx0ZXIoQm9vbGVhbikuam9pbigiICIpLHkucmVmPXUsT2JqZWN0KHguY3JlYXRlRWxlbWVudCkoaCx5KX12YXIgdixmPW5ldyBzZShhLGksdD9yLmNvbXBvbmVudFN0eWxlOnZvaWQgMCksdz1mLmlzU3RhdGljJiYwPT09bi5sZW5ndGg7cmV0dXJuIHMuZGlzcGxheU5hbWU9bCwodj1kLmEuZm9yd2FyZFJlZihzKSkuYXR0cnM9Yyx2LmNvbXBvbmVudFN0eWxlPWYsdi5kaXNwbGF5TmFtZT1sLHYuc2hvdWxkRm9yd2FyZFByb3A9dSx2LmZvbGRlZENvbXBvbmVudElkcz10P0FycmF5LnByb3RvdHlwZS5jb25jYXQoci5mb2xkZWRDb21wb25lbnRJZHMsci5zdHlsZWRDb21wb25lbnRJZCk6cCx2LnN0eWxlZENvbXBvbmVudElkPWksdi50YXJnZXQ9dD9yLnRhcmdldDpyLHYud2l0aENvbXBvbmVudD1mdW5jdGlvbihlKXt2YXIgdD1vLmNvbXBvbmVudElkLG49ZnVuY3Rpb24oZSx0KXtpZihudWxsPT1lKXJldHVybnt9O2Zvcih2YXIgbixyPXt9LG89T2JqZWN0LmtleXMoZSksYT0wO2E8by5sZW5ndGg7YSsrKW49b1thXSwwPD10LmluZGV4T2Yobil8fChyW25dPWVbbl0pO3JldHVybiByfShvLFsiY29tcG9uZW50SWQiXSksdD10JiZ0KyItIisoXyhlKT9lOlAoSChlKSkpO3JldHVybiBUZShlLGsoe30sbix7YXR0cnM6Yyxjb21wb25lbnRJZDp0fSksYSl9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh2LCJkZWZhdWx0UHJvcHMiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZm9sZGVkRGVmYXVsdFByb3BzfSxzZXQ6ZnVuY3Rpb24oZSl7dGhpcy5fZm9sZGVkRGVmYXVsdFByb3BzPXQ/X2Uoe30sci5kZWZhdWx0UHJvcHMsZSk6ZX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodiwidG9TdHJpbmciLHt2YWx1ZTpmdW5jdGlvbigpe3JldHVybiIuIit2LnN0eWxlZENvbXBvbmVudElkfX0pLGUmJkIoKSh2LHIse2F0dHJzOiEwLGNvbXBvbmVudFN0eWxlOiEwLGRpc3BsYXlOYW1lOiEwLGZvbGRlZENvbXBvbmVudElkczohMCxzaG91bGRGb3J3YXJkUHJvcDohMCxzdHlsZWRDb21wb25lbnRJZDohMCx0YXJnZXQ6ITAsd2l0aENvbXBvbmVudDohMH0pLHZ9ZnVuY3Rpb24gTShlKXtyZXR1cm4gZnVuY3Rpb24gdChuLHIsbyl7dmFyIGU7cmV0dXJuIHZvaWQgMD09PW8mJihvPVMpLE9iamVjdChhLmlzVmFsaWRFbGVtZW50VHlwZSkocik/KChlPWZ1bmN0aW9uKCl7cmV0dXJuIG4ocixvLEEuYXBwbHkodm9pZCAwLGFyZ3VtZW50cykpfSkud2l0aENvbmZpZz1mdW5jdGlvbihlKXtyZXR1cm4gdChuLHIsayh7fSxvLHt9LGUpKX0sZS5hdHRycz1mdW5jdGlvbihlKXtyZXR1cm4gdChuLHIsayh7fSxvLHthdHRyczpBcnJheS5wcm90b3R5cGUuY29uY2F0KG8uYXR0cnMsZSkuZmlsdGVyKEJvb2xlYW4pfSkpfSxlKTpoKDEsU3RyaW5nKHIpKX0oVGUsZSl9WyJhIiwiYWJiciIsImFkZHJlc3MiLCJhcmVhIiwiYXJ0aWNsZSIsImFzaWRlIiwiYXVkaW8iLCJiIiwiYmFzZSIsImJkaSIsImJkbyIsImJpZyIsImJsb2NrcXVvdGUiLCJib2R5IiwiYnIiLCJidXR0b24iLCJjYW52YXMiLCJjYXB0aW9uIiwiY2l0ZSIsImNvZGUiLCJjb2wiLCJjb2xncm91cCIsImRhdGEiLCJkYXRhbGlzdCIsImRkIiwiZGVsIiwiZGV0YWlscyIsImRmbiIsImRpYWxvZyIsImRpdiIsImRsIiwiZHQiLCJlbSIsImVtYmVkIiwiZmllbGRzZXQiLCJmaWdjYXB0aW9uIiwiZmlndXJlIiwiZm9vdGVyIiwiZm9ybSIsImgxIiwiaDIiLCJoMyIsImg0IiwiaDUiLCJoNiIsImhlYWQiLCJoZWFkZXIiLCJoZ3JvdXAiLCJociIsImh0bWwiLCJpIiwiaWZyYW1lIiwiaW1nIiwiaW5wdXQiLCJpbnMiLCJrYmQiLCJrZXlnZW4iLCJsYWJlbCIsImxlZ2VuZCIsImxpIiwibGluayIsIm1haW4iLCJtYXAiLCJtYXJrIiwibWFycXVlZSIsIm1lbnUiLCJtZW51aXRlbSIsIm1ldGEiLCJtZXRlciIsIm5hdiIsIm5vc2NyaXB0Iiwib2JqZWN0Iiwib2wiLCJvcHRncm91cCIsIm9wdGlvbiIsIm91dHB1dCIsInAiLCJwYXJhbSIsInBpY3R1cmUiLCJwcmUiLCJwcm9ncmVzcyIsInEiLCJycCIsInJ0IiwicnVieSIsInMiLCJzYW1wIiwic2NyaXB0Iiwic2VjdGlvbiIsInNlbGVjdCIsInNtYWxsIiwic291cmNlIiwic3BhbiIsInN0cm9uZyIsInN0eWxlIiwic3ViIiwic3VtbWFyeSIsInN1cCIsInRhYmxlIiwidGJvZHkiLCJ0ZCIsInRleHRhcmVhIiwidGZvb3QiLCJ0aCIsInRoZWFkIiwidGltZSIsInRpdGxlIiwidHIiLCJ0cmFjayIsInUiLCJ1bCIsInZhciIsInZpZGVvIiwid2JyIiwiY2lyY2xlIiwiY2xpcFBhdGgiLCJkZWZzIiwiZWxsaXBzZSIsImZvcmVpZ25PYmplY3QiLCJnIiwiaW1hZ2UiLCJsaW5lIiwibGluZWFyR3JhZGllbnQiLCJtYXJrZXIiLCJtYXNrIiwicGF0aCIsInBhdHRlcm4iLCJwb2x5Z29uIiwicG9seWxpbmUiLCJyYWRpYWxHcmFkaWVudCIsInJlY3QiLCJzdG9wIiwic3ZnIiwidGV4dCIsInRleHRQYXRoIiwidHNwYW4iXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe01bZV09TShlKX0pLCh0PU1lLnByb3RvdHlwZSkuY3JlYXRlU3R5bGVzPWZ1bmN0aW9uKGUsdCxuLHIpe3Q9cihqKHRoaXMucnVsZXMsdCxuLHIpLmpvaW4oIiIpLCIiKSxyPXRoaXMuY29tcG9uZW50SWQrZTtuLmluc2VydFJ1bGVzKHIscix0KX0sdC5yZW1vdmVTdHlsZXM9ZnVuY3Rpb24oZSx0KXt0LmNsZWFyUnVsZXModGhpcy5jb21wb25lbnRJZCtlKX0sdC5yZW5kZXJTdHlsZXM9ZnVuY3Rpb24oZSx0LG4scil7MjxlJiZsLnJlZ2lzdGVySWQodGhpcy5jb21wb25lbnRJZCtlKSx0aGlzLnJlbW92ZVN0eWxlcyhlLG4pLHRoaXMuY3JlYXRlU3R5bGVzKGUsdCxuLHIpfTt2YXIgTGU9TWU7ZnVuY3Rpb24gTWUoZSx0KXt0aGlzLnJ1bGVzPWUsdGhpcy5jb21wb25lbnRJZD10LHRoaXMuaXNTdGF0aWM9Y2UoZSksbC5yZWdpc3RlcklkKHRoaXMuY29tcG9uZW50SWQrMSl9ZnVuY3Rpb24gUmUoZSl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgsbj1uZXcgQXJyYXkoMTx0P3QtMTowKSxyPTE7cjx0O3IrKyluW3ItMV09YXJndW1lbnRzW3JdO3ZhciBlPUEuYXBwbHkodm9pZCAwLFtlXS5jb25jYXQobikpLGE9InNjLWdsb2JhbC0iK0koSlNPTi5zdHJpbmdpZnkoZSkpLGk9bmV3IExlKGUsYSk7ZnVuY3Rpb24gbChlKXt2YXIgdD1PKCksbj1nZSgpLHI9T2JqZWN0KHgudXNlQ29udGV4dCkoVCksbz1PYmplY3QoeC51c2VSZWYpKHQuYWxsb2NhdGVHU0luc3RhbmNlKGEpKS5jdXJyZW50O3JldHVybiB0LnNlcnZlciYmYyhvLGUsdCxyLG4pLE9iamVjdCh4LnVzZUxheW91dEVmZmVjdCkoZnVuY3Rpb24oKXtpZighdC5zZXJ2ZXIpcmV0dXJuIGMobyxlLHQscixuKSxmdW5jdGlvbigpe3JldHVybiBpLnJlbW92ZVN0eWxlcyhvLHQpfX0sW28sZSx0LHIsbl0pLG51bGx9ZnVuY3Rpb24gYyhlLHQsbixyLG8pe2kuaXNTdGF0aWM/aS5yZW5kZXJTdHlsZXMoZSxWLG4sbyk6KHQ9ayh7fSx0LHt0aGVtZTpqZSh0LHIsbC5kZWZhdWx0UHJvcHMpfSksaS5yZW5kZXJTdHlsZXMoZSx0LG4sbykpfXJldHVybiBkLmEubWVtbyhsKX1mdW5jdGlvbiBOZShlKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxuPW5ldyBBcnJheSgxPHQ/dC0xOjApLHI9MTtyPHQ7cisrKW5bci0xXT1hcmd1bWVudHNbcl07dmFyIGU9QS5hcHBseSh2b2lkIDAsW2VdLmNvbmNhdChuKSkuam9pbigiIiksbz1JKGUpO3JldHVybiBuZXcgeWUobyxlKX0oZT1EZS5wcm90b3R5cGUpLmNvbGxlY3RTdHlsZXM9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuc2VhbGVkP2goMik6ZC5hLmNyZWF0ZUVsZW1lbnQoYmUse3NoZWV0OnRoaXMuaW5zdGFuY2V9LGUpfSxlLmludGVybGVhdmVXaXRoTm9kZVN0cmVhbT1mdW5jdGlvbihlKXtyZXR1cm4gaCgzKX07ZnVuY3Rpb24gRGUoKXt2YXIgbj10aGlzO3RoaXMuX2VtaXRTaGVldENTUz1mdW5jdGlvbigpe3ZhciBlLHQ9bi5pbnN0YW5jZS50b1N0cmluZygpO3JldHVybiB0PyI8c3R5bGUgIitbKGU9aSgpKSYmJ25vbmNlPSInK2UrJyInLHUrJz0idHJ1ZSInLCdkYXRhLXN0eWxlZC12ZXJzaW9uPSI1LjMuMTEiJ10uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiAiKSsiPiIrdCsiPC9zdHlsZT4iOiIifSx0aGlzLmdldFN0eWxlVGFncz1mdW5jdGlvbigpe3JldHVybiBuLnNlYWxlZD9oKDIpOm4uX2VtaXRTaGVldENTUygpfSx0aGlzLmdldFN0eWxlRWxlbWVudD1mdW5jdGlvbigpe3ZhciBlLHQ7cmV0dXJuIG4uc2VhbGVkP2goMik6KChlPXt9KVt1XT0iIixlWyJkYXRhLXN0eWxlZC12ZXJzaW9uIl09IjUuMy4xMSIsZS5kYW5nZXJvdXNseVNldElubmVySFRNTD17X19odG1sOm4uaW5zdGFuY2UudG9TdHJpbmcoKX0sZT1lLCh0PWkoKSkmJihlLm5vbmNlPXQpLFtkLmEuY3JlYXRlRWxlbWVudCgic3R5bGUiLGsoe30sZSx7a2V5OiJzYy0wLTAifSkpXSl9LHRoaXMuc2VhbD1mdW5jdGlvbigpe24uc2VhbGVkPSEwfSx0aGlzLmluc3RhbmNlPW5ldyBsKHtpc1NlcnZlcjohMH0pLHRoaXMuc2VhbGVkPSExfVVlLmQ9TX0uY2FsbCh0aGlzLEJlKDkyKSl9LGZ1bmN0aW9uKGUsdCxuKXt2YXIgbj1uKDYxKSxyPW4uYWxsO2UuZXhwb3J0cz1uLklTX0hUTUxEREE/ZnVuY3Rpb24oZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGV8fGU9PT1yfTpmdW5jdGlvbihlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZX19LGZ1bmN0aW9uKG4sZSx0KXshZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChlKXtyZXR1cm4gZSYmZS5NYXRoPT09TWF0aCYmZX1uLmV4cG9ydHM9dCgib2JqZWN0Ij09dHlwZW9mIGdsb2JhbFRoaXMmJmdsb2JhbFRoaXMpfHx0KCJvYmplY3QiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3cpfHx0KCJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZil8fHQoIm9iamVjdCI9PXR5cGVvZiBlJiZlKXx8dCgib2JqZWN0Ij09dHlwZW9mIHRoaXMmJnRoaXMpfHxmdW5jdGlvbigpe3JldHVybiB0aGlzfSgpfHxGdW5jdGlvbigicmV0dXJuIHRoaXMiKSgpfS5jYWxsKHRoaXMsdCgyMikpfSxmdW5jdGlvbihlLHQsbil7dmFyIG49bigyOCkscj1GdW5jdGlvbi5wcm90b3R5cGUsbz1yLmNhbGwscj1uJiZyLmJpbmQuYmluZChvLG8pO2UuZXhwb3J0cz1uP3I6ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG8uYXBwbHkoZSxhcmd1bWVudHMpfX19LGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKDMpLG89big2NiksYT1uKDExKSxpPW4oNjgpLGw9big2NCksbj1uKDYzKSxjPXIuU3ltYm9sLHU9bygid2tzIikscz1uP2MuZm9yfHxjOmMmJmMud2l0aG91dFNldHRlcnx8aTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuIGEodSxlKXx8KHVbZV09bCYmYShjLGUpP2NbZV06cygiU3ltYm9sLiIrZSkpLHVbZV19fSxmdW5jdGlvbihlLHQsbil7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3RyeXtyZXR1cm4hIWUoKX1jYXRjaChlKXtyZXR1cm4hMH19fSxmdW5jdGlvbihlLHQsbil7dmFyIHU9bigzKSxzPW4oNDEpLmYsZj1uKDE4KSxkPW4oMTkpLHA9big0NSksbT1uKDczKSxoPW4oNzYpO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3ZhciBuLHIsbyxhPWUudGFyZ2V0LGk9ZS5nbG9iYWwsbD1lLnN0YXQsYz1pP3U6bD91W2FdfHxwKGEse30pOih1W2FdfHx7fSkucHJvdG90eXBlO2lmKGMpZm9yKG4gaW4gdCl7aWYocj10W25dLG89ZS5kb250Q2FsbEdldFNldD8obz1zKGMsbikpJiZvLnZhbHVlOmNbbl0sIWgoaT9uOmErKGw/Ii4iOiIjIikrbixlLmZvcmNlZCkmJnZvaWQgMCE9PW8pe2lmKHR5cGVvZiByPT10eXBlb2Ygbyljb250aW51ZTttKHIsbyl9KGUuc2hhbXx8byYmby5zaGFtKSYmZihyLCJzaGFtIiwhMCksZChjLG4scixlKX19fSxmdW5jdGlvbihlLHQsbil7dmFyIG49bigyOCkscj1GdW5jdGlvbi5wcm90b3R5cGUuY2FsbDtlLmV4cG9ydHM9bj9yLmJpbmQocik6ZnVuY3Rpb24oKXtyZXR1cm4gci5hcHBseShyLGFyZ3VtZW50cyl9fSxmdW5jdGlvbihlLHQsbil7bj1uKDYpO2UuZXhwb3J0cz0hbihmdW5jdGlvbigpe3JldHVybiA3IT09T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LDEse2dldDpmdW5jdGlvbigpe3JldHVybiA3fX0pWzFdfSl9LGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKDIpLG89bigzMyksYT1UeXBlRXJyb3I7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe2lmKHIoZSkpcmV0dXJuIGU7dGhyb3cgbmV3IGEobyhlKSsiIGlzIG5vdCBhIGZ1bmN0aW9uIil9fSxmdW5jdGlvbihlLHQsbil7dmFyIHI9big0KSxvPW4oNjcpLGE9cih7fS5oYXNPd25Qcm9wZXJ0eSk7ZS5leHBvcnRzPU9iamVjdC5oYXNPd258fGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGEobyhlKSx0KX19LGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKDEzKSxvPVN0cmluZyxhPVR5cGVFcnJvcjtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7aWYocihlKSlyZXR1cm4gZTt0aHJvdyBuZXcgYShvKGUpKyIgaXMgbm90IGFuIG9iamVjdCIpfX0sZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oMiksbj1uKDYxKSxvPW4uYWxsO2UuZXhwb3J0cz1uLklTX0hUTUxEREE/ZnVuY3Rpb24oZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlP251bGwhPT1lOnIoZSl8fGU9PT1vfTpmdW5jdGlvbihlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGU/bnVsbCE9PWU6cihlKX19LGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKDMpLG89bigyKTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDwyPyhuPXJbZV0sbyhuKT9uOnZvaWQgMCk6cltlXSYmcltlXVt0XTt2YXIgbn19LGZ1bmN0aW9uKGUsdCxuKXtlLmV4cG9ydHM9ITF9LGZ1bmN0aW9uKGUsdCxuKXtmdW5jdGlvbiByKGUpe3ZhciBuLHI7dGhpcy5wcm9taXNlPW5ldyBlKGZ1bmN0aW9uKGUsdCl7aWYodm9pZCAwIT09bnx8dm9pZCAwIT09cil0aHJvdyBuZXcgYSgiQmFkIFByb21pc2UgY29uc3RydWN0b3IiKTtuPWUscj10fSksdGhpcy5yZXNvbHZlPW8obiksdGhpcy5yZWplY3Q9byhyKX12YXIgbz1uKDEwKSxhPVR5cGVFcnJvcjtlLmV4cG9ydHMuZj1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IHIoZSl9fSxmdW5jdGlvbihlLHQsbil7dmFyIHI9big5KSxvPW4oNjkpLGE9big3MCksaT1uKDEyKSxsPW4oNjApLGM9VHlwZUVycm9yLHU9T2JqZWN0LmRlZmluZVByb3BlcnR5LHM9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixmPSJlbnVtZXJhYmxlIixkPSJjb25maWd1cmFibGUiLHA9IndyaXRhYmxlIjt0LmY9cj9hP2Z1bmN0aW9uKGUsdCxuKXt2YXIgcjtyZXR1cm4gaShlKSx0PWwodCksaShuKSwiZnVuY3Rpb24iPT10eXBlb2YgZSYmInByb3RvdHlwZSI9PT10JiYidmFsdWUiaW4gbiYmcCBpbiBuJiYhbltwXSYmKHI9cyhlLHQpKSYmcltwXSYmKGVbdF09bi52YWx1ZSxuPXtjb25maWd1cmFibGU6KGQgaW4gbj9uOnIpW2RdLGVudW1lcmFibGU6KGYgaW4gbj9uOnIpW2ZdLHdyaXRhYmxlOiExfSksdShlLHQsbil9OnU6ZnVuY3Rpb24oZSx0LG4pe2lmKGkoZSksdD1sKHQpLGkobiksbyl0cnl7cmV0dXJuIHUoZSx0LG4pfWNhdGNoKGUpe31pZigiZ2V0ImluIG58fCJzZXQiaW4gbil0aHJvdyBuZXcgYygiQWNjZXNzb3JzIG5vdCBzdXBwb3J0ZWQiKTtyZXR1cm4idmFsdWUiaW4gbiYmKGVbdF09bi52YWx1ZSksZX19LGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKDkpLG89bigxNyksYT1uKDIzKTtlLmV4cG9ydHM9cj9mdW5jdGlvbihlLHQsbil7cmV0dXJuIG8uZihlLHQsYSgxLG4pKX06ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBlW3RdPW4sZX19LGZ1bmN0aW9uKGUsdCxuKXt2YXIgaT1uKDIpLGw9bigxNyksYz1uKDcxKSx1PW4oNDUpO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQsbixyKXt2YXIgbz0ocj1yfHx7fSkuZW51bWVyYWJsZSxhPXZvaWQgMCE9PXIubmFtZT9yLm5hbWU6dDtpZihpKG4pJiZjKG4sYSxyKSxyLmdsb2JhbClvP2VbdF09bjp1KHQsbik7ZWxzZXt0cnl7ci51bnNhZmU/ZVt0XSYmKG89ITApOmRlbGV0ZSBlW3RdfWNhdGNoKGUpe31vP2VbdF09bjpsLmYoZSx0LHt2YWx1ZTpuLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiFyLm5vbkNvbmZpZ3VyYWJsZSx3cml0YWJsZTohci5ub25Xcml0YWJsZX0pfXJldHVybiBlfX0sZnVuY3Rpb24oZSx0LG4pe2UuZXhwb3J0cz1mdW5jdGlvbihlKXt0cnl7cmV0dXJue2Vycm9yOiExLHZhbHVlOmUoKX19Y2F0Y2goZSl7cmV0dXJue2Vycm9yOiEwLHZhbHVlOmV9fX19LGZ1bmN0aW9uKGUsdCxuKXtuPW4oMyk7ZS5leHBvcnRzPW4uUHJvbWlzZX0sZnVuY3Rpb24oZSx0KXt2YXIgbj1mdW5jdGlvbigpe3JldHVybiB0aGlzfSgpO3RyeXtuPW58fG5ldyBGdW5jdGlvbigicmV0dXJuIHRoaXMiKSgpfWNhdGNoKGUpeyJvYmplY3QiPT10eXBlb2Ygd2luZG93JiYobj13aW5kb3cpfWUuZXhwb3J0cz1ufSxmdW5jdGlvbihlLHQsbil7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7cmV0dXJue2VudW1lcmFibGU6ISgxJmUpLGNvbmZpZ3VyYWJsZTohKDImZSksd3JpdGFibGU6ISg0JmUpLHZhbHVlOnR9fX0sZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oMTA1KSxvPW4oNDIpO2UuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4gcihvKGUpKX19LGZ1bmN0aW9uKGUsdCxuKXtmdW5jdGlvbiBiKGUsdCl7dGhpcy5zdG9wcGVkPWUsdGhpcy5yZXN1bHQ9dH12YXIgeT1uKDUzKSx2PW4oOCksdz1uKDEyKSx4PW4oMzMpLGs9bigxMjYpLFM9big3NSksQz1uKDMxKSxFPW4oMTI3KSxPPW4oNzgpLGo9bigxMjgpLEE9VHlwZUVycm9yLFA9Yi5wcm90b3R5cGU7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCxuKXtmdW5jdGlvbiByKGUpe3JldHVybiBhJiZqKGEsIm5vcm1hbCIsZSksbmV3IGIoITAsZSl9ZnVuY3Rpb24gbyhlKXtyZXR1cm4gZD8odyhlKSxoP2coZVswXSxlWzFdLHIpOmcoZVswXSxlWzFdKSk6aD9nKGUscik6ZyhlKX12YXIgYSxpLGwsYyx1LHMsZj1uJiZuLnRoYXQsZD0hKCFufHwhbi5BU19FTlRSSUVTKSxwPSEoIW58fCFuLklTX1JFQ09SRCksbT0hKCFufHwhbi5JU19JVEVSQVRPUiksaD0hKCFufHwhbi5JTlRFUlJVUFRFRCksZz15KHQsZik7aWYocClhPWUuaXRlcmF0b3I7ZWxzZSBpZihtKWE9ZTtlbHNle2lmKCEobj1PKGUpKSl0aHJvdyBuZXcgQSh4KGUpKyIgaXMgbm90IGl0ZXJhYmxlIik7aWYoayhuKSl7Zm9yKGk9MCxsPVMoZSk7aTxsO2krKylpZigoYz1vKGVbaV0pKSYmQyhQLGMpKXJldHVybiBjO3JldHVybiBuZXcgYighMSl9YT1FKGUsbil9Zm9yKHU9KHA/ZTphKS5uZXh0OyEocz12KHUsYSkpLmRvbmU7KXt0cnl7Yz1vKHMudmFsdWUpfWNhdGNoKGUpe2ooYSwidGhyb3ciLGUpfWlmKCJvYmplY3QiPT10eXBlb2YgYyYmYyYmQyhQLGMpKXJldHVybiBjfXJldHVybiBuZXcgYighMSl9fSxmdW5jdGlvbihlLHQsbil7ZS5leHBvcnRzPXt9fSxmdW5jdGlvbihlLHQsbil7dmFyIHI9bigzKSxvPW4oMjEpLGE9bigyKSxpPW4oNzYpLGw9big0NiksYz1uKDUpLHU9bigxNDgpLHM9big4NyksZj1uKDE1KSxkPW4oNjUpLHA9byYmby5wcm90b3R5cGUsbT1jKCJzcGVjaWVzIiksaD0hMSxnPWEoci5Qcm9taXNlUmVqZWN0aW9uRXZlbnQpLG49aSgiUHJvbWlzZSIsZnVuY3Rpb24oKXt2YXIgZT1sKG8pLHQ9ZSE9PVN0cmluZyhvKTtpZighdCYmNjY9PT1kKXJldHVybiEwO2lmKGYmJighcC5jYXRjaHx8IXAuZmluYWxseSkpcmV0dXJuITA7aWYoIWR8fGQ8NTF8fCEvbmF0aXZlIGNvZGUvLnRlc3QoZSkpe3ZhciBlPW5ldyBvKGZ1bmN0aW9uKGUpe2UoMSl9KSxuPWZ1bmN0aW9uKGUpe2UoZnVuY3Rpb24oKXt9LGZ1bmN0aW9uKCl7fSl9O2lmKChlLmNvbnN0cnVjdG9yPXt9KVttXT1uLCEoaD1lLnRoZW4oZnVuY3Rpb24oKXt9KWluc3RhbmNlb2YgbikpcmV0dXJuITB9cmV0dXJuIXQmJih1fHxzKSYmIWd9KTtlLmV4cG9ydHM9e0NPTlNUUlVDVE9SOm4sUkVKRUNUSU9OX0VWRU5UOmcsU1VCQ0xBU1NJTkc6aH19LGZ1bmN0aW9uKGUsdCxuKXtuPW4oNik7ZS5leHBvcnRzPSFuKGZ1bmN0aW9uKCl7dmFyIGU9ZnVuY3Rpb24oKXt9LmJpbmQoKTtyZXR1cm4iZnVuY3Rpb24iIT10eXBlb2YgZXx8ZS5oYXNPd25Qcm9wZXJ0eSgicHJvdG90eXBlIil9KX0sZnVuY3Rpb24oZSx0LG4pe3ZhciBuPW4oNCkscj1uKHt9LnRvU3RyaW5nKSxvPW4oIiIuc2xpY2UpO2UuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4gbyhyKGUpLDgsLTEpfX0sZnVuY3Rpb24oZSx0LG4pe2UuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZX19LGZ1bmN0aW9uKGUsdCxuKXtuPW4oNCk7ZS5leHBvcnRzPW4oe30uaXNQcm90b3R5cGVPZil9LGZ1bmN0aW9uKGUsdCxuKXtlLmV4cG9ydHM9InVuZGVmaW5lZCIhPXR5cGVvZiBuYXZpZ2F0b3ImJlN0cmluZyhuYXZpZ2F0b3IudXNlckFnZW50KXx8IiJ9LGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1TdHJpbmc7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3RyeXtyZXR1cm4gcihlKX1jYXRjaChlKXtyZXR1cm4iT2JqZWN0In19fSxmdW5jdGlvbihlLHQsbil7dmFyIHI9bigzKSxuPW4oMTMpLG89ci5kb2N1bWVudCxhPW4obykmJm4oby5jcmVhdGVFbGVtZW50KTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuIGE/by5jcmVhdGVFbGVtZW50KGUpOnt9fX0sZnVuY3Rpb24oZSx0LG4pe3ZhciByLG8sYSxpLGw9bigxMDgpLGM9bigzKSx1PW4oMTMpLHM9bigxOCksZj1uKDExKSxkPW4oNDQpLHA9big0Nyksbj1uKDQ4KSxtPSJPYmplY3QgYWxyZWFkeSBpbml0aWFsaXplZCIsaD1jLlR5cGVFcnJvcixjPWMuV2Vha01hcCxnPWx8fGQuc3RhdGU/KChhPWQuc3RhdGV8fChkLnN0YXRlPW5ldyBjKSkuZ2V0PWEuZ2V0LGEuaGFzPWEuaGFzLGEuc2V0PWEuc2V0LHI9ZnVuY3Rpb24oZSx0KXtpZihhLmhhcyhlKSl0aHJvdyBuZXcgaChtKTtyZXR1cm4gdC5mYWNhZGU9ZSxhLnNldChlLHQpLHR9LG89ZnVuY3Rpb24oZSl7cmV0dXJuIGEuZ2V0KGUpfHx7fX0sZnVuY3Rpb24oZSl7cmV0dXJuIGEuaGFzKGUpfSk6KG5baT1wKCJzdGF0ZSIpXT0hMCxyPWZ1bmN0aW9uKGUsdCl7aWYoZihlLGkpKXRocm93IG5ldyBoKG0pO3JldHVybiB0LmZhY2FkZT1lLHMoZSxpLHQpLHR9LG89ZnVuY3Rpb24oZSl7cmV0dXJuIGYoZSxpKT9lW2ldOnt9fSxmdW5jdGlvbihlKXtyZXR1cm4gZihlLGkpfSk7ZS5leHBvcnRzPXtzZXQ6cixnZXQ6byxoYXM6ZyxlbmZvcmNlOmZ1bmN0aW9uKGUpe3JldHVybiBnKGUpP28oZSk6cihlLHt9KX0sZ2V0dGVyRm9yOmZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlKXtpZih1KGUpJiYoZT1vKGUpKS50eXBlPT09dClyZXR1cm4gZTt0aHJvdyBuZXcgaCgiSW5jb21wYXRpYmxlIHJlY2VpdmVyLCAiK3QrIiByZXF1aXJlZCIpfX19fSxmdW5jdGlvbihlLHQsbil7ZnVuY3Rpb24gcigpe31mdW5jdGlvbiBvKGUpe2Uud3JpdGUoaCgiIikpLGUuY2xvc2UoKTt2YXIgdD1lLnBhcmVudFdpbmRvdy5PYmplY3Q7cmV0dXJuIGU9bnVsbCx0fXZhciBhLGk9bigxMiksbD1uKDExOSksYz1uKDUwKSx1PW4oNDgpLHM9big3NyksZj1uKDM0KSxuPW4oNDcpLGQ9InByb3RvdHlwZSIscD0ic2NyaXB0IixtPW4oIklFX1BST1RPIiksaD1mdW5jdGlvbihlKXtyZXR1cm4iPCIrcCsiPiIrZSsiPC8iK3ArIj4ifSxnPWZ1bmN0aW9uKCl7dHJ5e2E9bmV3IEFjdGl2ZVhPYmplY3QoImh0bWxmaWxlIil9Y2F0Y2goZSl7fWc9InVuZGVmaW5lZCI9PXR5cGVvZiBkb2N1bWVudHx8ZG9jdW1lbnQuZG9tYWluJiZhP28oYSk6KGU9ZigiaWZyYW1lIiksdD0iamF2YSIrcCsiOiIsZS5zdHlsZS5kaXNwbGF5PSJub25lIixzLmFwcGVuZENoaWxkKGUpLGUuc3JjPVN0cmluZyh0KSwodD1lLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQpLm9wZW4oKSx0LndyaXRlKGgoImRvY3VtZW50LkY9T2JqZWN0IikpLHQuY2xvc2UoKSx0LkYpO2Zvcih2YXIgZSx0LG49Yy5sZW5ndGg7bi0tOylkZWxldGUgZ1tkXVtjW25dXTtyZXR1cm4gZygpfTt1W21dPSEwLGUuZXhwb3J0cz1PYmplY3QuY3JlYXRlfHxmdW5jdGlvbihlLHQpe3ZhciBuO3JldHVybiBudWxsIT09ZT8ocltkXT1pKGUpLG49bmV3IHIscltkXT1udWxsLG5bbV09ZSk6bj1nKCksdm9pZCAwPT09dD9uOmwuZihuLHQpfX0sZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oNTQpLG89bigyKSxhPW4oMjkpLGk9big1KSgidG9TdHJpbmdUYWciKSxsPU9iamVjdCxjPSJBcmd1bWVudHMiPT09YShmdW5jdGlvbigpe3JldHVybiBhcmd1bWVudHN9KCkpO2UuZXhwb3J0cz1yP2E6ZnVuY3Rpb24oZSl7dmFyIHQ7cmV0dXJuIHZvaWQgMD09PWU/IlVuZGVmaW5lZCI6bnVsbD09PWU/Ik51bGwiOiJzdHJpbmciPT10eXBlb2YodD1mdW5jdGlvbihlLHQpe3RyeXtyZXR1cm4gZVt0XX1jYXRjaChlKXt9fShlPWwoZSksaSkpP3Q6Yz9hKGUpOiJPYmplY3QiPT09KHQ9YShlKSkmJm8oZS5jYWxsZWUpPyJBcmd1bWVudHMiOnR9fSxmdW5jdGlvbihlLHQsbil7dmFyIHI9bigxNykuZixvPW4oMTEpLGE9big1KSgidG9TdHJpbmdUYWciKTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0LG4peyhlPWUmJiFuP2UucHJvdG90eXBlOmUpJiYhbyhlLGEpJiZyKGUsYSx7Y29uZmlndXJhYmxlOiEwLHZhbHVlOnR9KX19LGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKDMpLG49bigyOSk7ZS5leHBvcnRzPSJwcm9jZXNzIj09PW4oci5wcm9jZXNzKX0sZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oMjEpLG89bigxNTApLG49bigyNykuQ09OU1RSVUNUT1I7ZS5leHBvcnRzPW58fCFvKGZ1bmN0aW9uKGUpe3IuYWxsKGUpLnRoZW4odm9pZCAwLGZ1bmN0aW9uKCl7fSl9KX0sZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oOSksbz1uKDgpLGE9bigxMDQpLGk9bigyMyksbD1uKDI0KSxjPW4oNjApLHU9bigxMSkscz1uKDY5KSxmPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7dC5mPXI/ZjpmdW5jdGlvbihlLHQpe2lmKGU9bChlKSx0PWModCkscyl0cnl7cmV0dXJuIGYoZSx0KX1jYXRjaChlKXt9aWYodShlLHQpKXJldHVybiBpKCFvKGEuZixlLHQpLGVbdF0pfX0sZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oMzApLG89VHlwZUVycm9yO2UuZXhwb3J0cz1mdW5jdGlvbihlKXtpZihyKGUpKXRocm93IG5ldyBvKCJDYW4ndCBjYWxsIG1ldGhvZCBvbiAiK2UpO3JldHVybiBlfX0sZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oMTApLG89bigzMCk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7ZT1lW3RdO3JldHVybiBvKGUpP3ZvaWQgMDpyKGUpfX0sZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oMyksbj1uKDQ1KSxvPSJfX2NvcmUtanNfc2hhcmVkX18iLHI9cltvXXx8bihvLHt9KTtlLmV4cG9ydHM9cn0sZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oMyksbz1PYmplY3QuZGVmaW5lUHJvcGVydHk7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsbil7dHJ5e28ocix0LHt2YWx1ZTpuLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pfWNhdGNoKGUpe3JbdF09bn1yZXR1cm4gbn19LGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKDQpLG89bigyKSxuPW4oNDQpLGE9cihGdW5jdGlvbi50b1N0cmluZyk7byhuLmluc3BlY3RTb3VyY2UpfHwobi5pbnNwZWN0U291cmNlPWZ1bmN0aW9uKGUpe3JldHVybiBhKGUpfSksZS5leHBvcnRzPW4uaW5zcGVjdFNvdXJjZX0sZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oNjYpLG89big2OCksYT1yKCJrZXlzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiBhW2VdfHwoYVtlXT1vKGUpKX19LGZ1bmN0aW9uKGUsdCxuKXtlLmV4cG9ydHM9e319LGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKDExMyk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe2U9K2U7cmV0dXJuIGUhPWV8fDA9PWU/MDpyKGUpfX0sZnVuY3Rpb24oZSx0LG4pe2UuZXhwb3J0cz1bImNvbnN0cnVjdG9yIiwiaGFzT3duUHJvcGVydHkiLCJpc1Byb3RvdHlwZU9mIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJ0b0xvY2FsZVN0cmluZyIsInRvU3RyaW5nIiwidmFsdWVPZiJdfSxmdW5jdGlvbihlLHQsbil7dmFyIHI9bigxMSksbz1uKDIpLGE9big2NyksaT1uKDQ3KSxuPW4oMTE2KSxsPWkoIklFX1BST1RPIiksYz1PYmplY3QsdT1jLnByb3RvdHlwZTtlLmV4cG9ydHM9bj9jLmdldFByb3RvdHlwZU9mOmZ1bmN0aW9uKGUpe3ZhciB0LGU9YShlKTtyZXR1cm4gcihlLGwpP2VbbF06KHQ9ZS5jb25zdHJ1Y3RvcixvKHQpJiZlIGluc3RhbmNlb2YgdD90LnByb3RvdHlwZTplIGluc3RhbmNlb2YgYz91Om51bGwpfX0sZnVuY3Rpb24oZSx0LG4pe3ZhciBvPW4oMTE3KSxhPW4oMTIpLGk9bigxMTgpO2UuZXhwb3J0cz1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fCgiX19wcm90b19fImlue30/ZnVuY3Rpb24oKXt2YXIgbixyPSExLGU9e307dHJ5eyhuPW8oT2JqZWN0LnByb3RvdHlwZSwiX19wcm90b19fIiwic2V0IikpKGUsW10pLHI9ZSBpbnN0YW5jZW9mIEFycmF5fWNhdGNoKGUpe31yZXR1cm4gZnVuY3Rpb24oZSx0KXtyZXR1cm4gYShlKSxpKHQpLHI/bihlLHQpOmUuX19wcm90b19fPXQsZX19KCk6dm9pZCAwKX0sZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oMTI1KSxvPW4oMTApLGE9bigyOCksaT1yKHIuYmluZCk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIG8oZSksdm9pZCAwPT09dD9lOmE/aShlLHQpOmZ1bmN0aW9uKCl7cmV0dXJuIGUuYXBwbHkodCxhcmd1bWVudHMpfX19LGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj17fTtyW24oNSkoInRvU3RyaW5nVGFnIildPSJ6IixlLmV4cG9ydHM9IltvYmplY3Qgel0iPT09U3RyaW5nKHIpfSxmdW5jdGlvbihlLHQsbil7dmFyIHI9bigzNyksbz1TdHJpbmc7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe2lmKCJTeW1ib2wiPT09cihlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY29udmVydCBhIFN5bWJvbCB2YWx1ZSB0byBhIHN0cmluZyIpO3JldHVybiBvKGUpfX0sZnVuY3Rpb24oZSx0LG4pe2UuZXhwb3J0cz1uKDE3NSl9LGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKDE3Niksbz17Y2hpbGRDb250ZXh0VHlwZXM6ITAsY29udGV4dFR5cGU6ITAsY29udGV4dFR5cGVzOiEwLGRlZmF1bHRQcm9wczohMCxkaXNwbGF5TmFtZTohMCxnZXREZWZhdWx0UHJvcHM6ITAsZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yOiEwLGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wczohMCxtaXhpbnM6ITAscHJvcFR5cGVzOiEwLHR5cGU6ITB9LGY9e25hbWU6ITAsbGVuZ3RoOiEwLHByb3RvdHlwZTohMCxjYWxsZXI6ITAsY2FsbGVlOiEwLGFyZ3VtZW50czohMCxhcml0eTohMH0sYT17JCR0eXBlb2Y6ITAsY29tcGFyZTohMCxkZWZhdWx0UHJvcHM6ITAsZGlzcGxheU5hbWU6ITAscHJvcFR5cGVzOiEwLHR5cGU6ITB9LGk9e307ZnVuY3Rpb24gZChlKXtyZXR1cm4gci5pc01lbW8oZSk/YTppW2UuJCR0eXBlb2ZdfHxvfWlbci5Gb3J3YXJkUmVmXT17JCR0eXBlb2Y6ITAscmVuZGVyOiEwLGRlZmF1bHRQcm9wczohMCxkaXNwbGF5TmFtZTohMCxwcm9wVHlwZXM6ITB9LGlbci5NZW1vXT1hO3ZhciBwPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxtPU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzLGg9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyxnPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsYj1PYmplY3QuZ2V0UHJvdG90eXBlT2YseT1PYmplY3QucHJvdG90eXBlO2UuZXhwb3J0cz1mdW5jdGlvbiBlKHQsbixyKXtpZigic3RyaW5nIiE9dHlwZW9mIG4pe3kmJihvPWIobikpJiZvIT09eSYmZSh0LG8scik7Zm9yKHZhciBvLGE9bShuKSxpPShoJiYoYT1hLmNvbmNhdChoKG4pKSksZCh0KSksbD1kKG4pLGM9MDtjPGEubGVuZ3RoOysrYyl7dmFyIHU9YVtjXTtpZighKGZbdV18fHImJnJbdV18fGwmJmxbdV18fGkmJmlbdV0pKXt2YXIgcz1nKG4sdSk7dHJ5e3AodCx1LHMpfWNhdGNoKGUpe319fX1yZXR1cm4gdH19LGZ1bmN0aW9uKGUsdCxuKXtmdW5jdGlvbiByKHQpe3ZhciBuPU9iamVjdC5jcmVhdGUobnVsbCk7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB2b2lkIDA9PT1uW2VdJiYobltlXT10KGUpKSxuW2VdfX1uLmQodCwiYSIsZnVuY3Rpb24oKXtyZXR1cm4gYX0pO3ZhciBvPS9eKChjaGlsZHJlbnxkYW5nZXJvdXNseVNldElubmVySFRNTHxrZXl8cmVmfGF1dG9Gb2N1c3xkZWZhdWx0VmFsdWV8ZGVmYXVsdENoZWNrZWR8aW5uZXJIVE1MfHN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZ3xzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmd8dmFsdWVMaW5rfGFiYnJ8YWNjZXB0fGFjY2VwdENoYXJzZXR8YWNjZXNzS2V5fGFjdGlvbnxhbGxvd3xhbGxvd1VzZXJNZWRpYXxhbGxvd1BheW1lbnRSZXF1ZXN0fGFsbG93RnVsbFNjcmVlbnxhbGxvd1RyYW5zcGFyZW5jeXxhbHR8YXN5bmN8YXV0b0NvbXBsZXRlfGF1dG9QbGF5fGNhcHR1cmV8Y2VsbFBhZGRpbmd8Y2VsbFNwYWNpbmd8Y2hhbGxlbmdlfGNoYXJTZXR8Y2hlY2tlZHxjaXRlfGNsYXNzSUR8Y2xhc3NOYW1lfGNvbHN8Y29sU3Bhbnxjb250ZW50fGNvbnRlbnRFZGl0YWJsZXxjb250ZXh0TWVudXxjb250cm9sc3xjb250cm9sc0xpc3R8Y29vcmRzfGNyb3NzT3JpZ2lufGRhdGF8ZGF0ZVRpbWV8ZGVjb2Rpbmd8ZGVmYXVsdHxkZWZlcnxkaXJ8ZGlzYWJsZWR8ZGlzYWJsZVBpY3R1cmVJblBpY3R1cmV8ZG93bmxvYWR8ZHJhZ2dhYmxlfGVuY1R5cGV8ZW50ZXJLZXlIaW50fGZvcm18Zm9ybUFjdGlvbnxmb3JtRW5jVHlwZXxmb3JtTWV0aG9kfGZvcm1Ob1ZhbGlkYXRlfGZvcm1UYXJnZXR8ZnJhbWVCb3JkZXJ8aGVhZGVyc3xoZWlnaHR8aGlkZGVufGhpZ2h8aHJlZnxocmVmTGFuZ3xodG1sRm9yfGh0dHBFcXVpdnxpZHxpbnB1dE1vZGV8aW50ZWdyaXR5fGlzfGtleVBhcmFtc3xrZXlUeXBlfGtpbmR8bGFiZWx8bGFuZ3xsaXN0fGxvYWRpbmd8bG9vcHxsb3d8bWFyZ2luSGVpZ2h0fG1hcmdpbldpZHRofG1heHxtYXhMZW5ndGh8bWVkaWF8bWVkaWFHcm91cHxtZXRob2R8bWlufG1pbkxlbmd0aHxtdWx0aXBsZXxtdXRlZHxuYW1lfG5vbmNlfG5vVmFsaWRhdGV8b3BlbnxvcHRpbXVtfHBhdHRlcm58cGxhY2Vob2xkZXJ8cGxheXNJbmxpbmV8cG9zdGVyfHByZWxvYWR8cHJvZmlsZXxyYWRpb0dyb3VwfHJlYWRPbmx5fHJlZmVycmVyUG9saWN5fHJlbHxyZXF1aXJlZHxyZXZlcnNlZHxyb2xlfHJvd3N8cm93U3BhbnxzYW5kYm94fHNjb3BlfHNjb3BlZHxzY3JvbGxpbmd8c2VhbWxlc3N8c2VsZWN0ZWR8c2hhcGV8c2l6ZXxzaXplc3xzbG90fHNwYW58c3BlbGxDaGVja3xzcmN8c3JjRG9jfHNyY0xhbmd8c3JjU2V0fHN0YXJ0fHN0ZXB8c3R5bGV8c3VtbWFyeXx0YWJJbmRleHx0YXJnZXR8dGl0bGV8dHJhbnNsYXRlfHR5cGV8dXNlTWFwfHZhbHVlfHdpZHRofHdtb2RlfHdyYXB8YWJvdXR8ZGF0YXR5cGV8aW5saXN0fHByZWZpeHxwcm9wZXJ0eXxyZXNvdXJjZXx0eXBlb2Z8dm9jYWJ8YXV0b0NhcGl0YWxpemV8YXV0b0NvcnJlY3R8YXV0b1NhdmV8Y29sb3J8aW5jcmVtZW50YWx8ZmFsbGJhY2t8aW5lcnR8aXRlbVByb3B8aXRlbVNjb3BlfGl0ZW1UeXBlfGl0ZW1JRHxpdGVtUmVmfG9ufG9wdGlvbnxyZXN1bHRzfHNlY3VyaXR5fHVuc2VsZWN0YWJsZXxhY2NlbnRIZWlnaHR8YWNjdW11bGF0ZXxhZGRpdGl2ZXxhbGlnbm1lbnRCYXNlbGluZXxhbGxvd1Jlb3JkZXJ8YWxwaGFiZXRpY3xhbXBsaXR1ZGV8YXJhYmljRm9ybXxhc2NlbnR8YXR0cmlidXRlTmFtZXxhdHRyaWJ1dGVUeXBlfGF1dG9SZXZlcnNlfGF6aW11dGh8YmFzZUZyZXF1ZW5jeXxiYXNlbGluZVNoaWZ0fGJhc2VQcm9maWxlfGJib3h8YmVnaW58Ymlhc3xieXxjYWxjTW9kZXxjYXBIZWlnaHR8Y2xpcHxjbGlwUGF0aFVuaXRzfGNsaXBQYXRofGNsaXBSdWxlfGNvbG9ySW50ZXJwb2xhdGlvbnxjb2xvckludGVycG9sYXRpb25GaWx0ZXJzfGNvbG9yUHJvZmlsZXxjb2xvclJlbmRlcmluZ3xjb250ZW50U2NyaXB0VHlwZXxjb250ZW50U3R5bGVUeXBlfGN1cnNvcnxjeHxjeXxkfGRlY2VsZXJhdGV8ZGVzY2VudHxkaWZmdXNlQ29uc3RhbnR8ZGlyZWN0aW9ufGRpc3BsYXl8ZGl2aXNvcnxkb21pbmFudEJhc2VsaW5lfGR1cnxkeHxkeXxlZGdlTW9kZXxlbGV2YXRpb258ZW5hYmxlQmFja2dyb3VuZHxlbmR8ZXhwb25lbnR8ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZHxmaWxsfGZpbGxPcGFjaXR5fGZpbGxSdWxlfGZpbHRlcnxmaWx0ZXJSZXN8ZmlsdGVyVW5pdHN8Zmxvb2RDb2xvcnxmbG9vZE9wYWNpdHl8Zm9jdXNhYmxlfGZvbnRGYW1pbHl8Zm9udFNpemV8Zm9udFNpemVBZGp1c3R8Zm9udFN0cmV0Y2h8Zm9udFN0eWxlfGZvbnRWYXJpYW50fGZvbnRXZWlnaHR8Zm9ybWF0fGZyb218ZnJ8Znh8Znl8ZzF8ZzJ8Z2x5cGhOYW1lfGdseXBoT3JpZW50YXRpb25Ib3Jpem9udGFsfGdseXBoT3JpZW50YXRpb25WZXJ0aWNhbHxnbHlwaFJlZnxncmFkaWVudFRyYW5zZm9ybXxncmFkaWVudFVuaXRzfGhhbmdpbmd8aG9yaXpBZHZYfGhvcml6T3JpZ2luWHxpZGVvZ3JhcGhpY3xpbWFnZVJlbmRlcmluZ3xpbnxpbjJ8aW50ZXJjZXB0fGt8azF8azJ8azN8azR8a2VybmVsTWF0cml4fGtlcm5lbFVuaXRMZW5ndGh8a2VybmluZ3xrZXlQb2ludHN8a2V5U3BsaW5lc3xrZXlUaW1lc3xsZW5ndGhBZGp1c3R8bGV0dGVyU3BhY2luZ3xsaWdodGluZ0NvbG9yfGxpbWl0aW5nQ29uZUFuZ2xlfGxvY2FsfG1hcmtlckVuZHxtYXJrZXJNaWR8bWFya2VyU3RhcnR8bWFya2VySGVpZ2h0fG1hcmtlclVuaXRzfG1hcmtlcldpZHRofG1hc2t8bWFza0NvbnRlbnRVbml0c3xtYXNrVW5pdHN8bWF0aGVtYXRpY2FsfG1vZGV8bnVtT2N0YXZlc3xvZmZzZXR8b3BhY2l0eXxvcGVyYXRvcnxvcmRlcnxvcmllbnR8b3JpZW50YXRpb258b3JpZ2lufG92ZXJmbG93fG92ZXJsaW5lUG9zaXRpb258b3ZlcmxpbmVUaGlja25lc3N8cGFub3NlMXxwYWludE9yZGVyfHBhdGhMZW5ndGh8cGF0dGVybkNvbnRlbnRVbml0c3xwYXR0ZXJuVHJhbnNmb3JtfHBhdHRlcm5Vbml0c3xwb2ludGVyRXZlbnRzfHBvaW50c3xwb2ludHNBdFh8cG9pbnRzQXRZfHBvaW50c0F0WnxwcmVzZXJ2ZUFscGhhfHByZXNlcnZlQXNwZWN0UmF0aW98cHJpbWl0aXZlVW5pdHN8cnxyYWRpdXN8cmVmWHxyZWZZfHJlbmRlcmluZ0ludGVudHxyZXBlYXRDb3VudHxyZXBlYXREdXJ8cmVxdWlyZWRFeHRlbnNpb25zfHJlcXVpcmVkRmVhdHVyZXN8cmVzdGFydHxyZXN1bHR8cm90YXRlfHJ4fHJ5fHNjYWxlfHNlZWR8c2hhcGVSZW5kZXJpbmd8c2xvcGV8c3BhY2luZ3xzcGVjdWxhckNvbnN0YW50fHNwZWN1bGFyRXhwb25lbnR8c3BlZWR8c3ByZWFkTWV0aG9kfHN0YXJ0T2Zmc2V0fHN0ZERldmlhdGlvbnxzdGVtaHxzdGVtdnxzdGl0Y2hUaWxlc3xzdG9wQ29sb3J8c3RvcE9wYWNpdHl8c3RyaWtldGhyb3VnaFBvc2l0aW9ufHN0cmlrZXRocm91Z2hUaGlja25lc3N8c3RyaW5nfHN0cm9rZXxzdHJva2VEYXNoYXJyYXl8c3Ryb2tlRGFzaG9mZnNldHxzdHJva2VMaW5lY2FwfHN0cm9rZUxpbmVqb2lufHN0cm9rZU1pdGVybGltaXR8c3Ryb2tlT3BhY2l0eXxzdHJva2VXaWR0aHxzdXJmYWNlU2NhbGV8c3lzdGVtTGFuZ3VhZ2V8dGFibGVWYWx1ZXN8dGFyZ2V0WHx0YXJnZXRZfHRleHRBbmNob3J8dGV4dERlY29yYXRpb258dGV4dFJlbmRlcmluZ3x0ZXh0TGVuZ3RofHRvfHRyYW5zZm9ybXx1MXx1Mnx1bmRlcmxpbmVQb3NpdGlvbnx1bmRlcmxpbmVUaGlja25lc3N8dW5pY29kZXx1bmljb2RlQmlkaXx1bmljb2RlUmFuZ2V8dW5pdHNQZXJFbXx2QWxwaGFiZXRpY3x2SGFuZ2luZ3x2SWRlb2dyYXBoaWN8dk1hdGhlbWF0aWNhbHx2YWx1ZXN8dmVjdG9yRWZmZWN0fHZlcnNpb258dmVydEFkdll8dmVydE9yaWdpblh8dmVydE9yaWdpbll8dmlld0JveHx2aWV3VGFyZ2V0fHZpc2liaWxpdHl8d2lkdGhzfHdvcmRTcGFjaW5nfHdyaXRpbmdNb2RlfHh8eEhlaWdodHx4MXx4Mnx4Q2hhbm5lbFNlbGVjdG9yfHhsaW5rQWN0dWF0ZXx4bGlua0FyY3JvbGV8eGxpbmtIcmVmfHhsaW5rUm9sZXx4bGlua1Nob3d8eGxpbmtUaXRsZXx4bGlua1R5cGV8eG1sQmFzZXx4bWxuc3x4bWxuc1hsaW5rfHhtbExhbmd8eG1sU3BhY2V8eXx5MXx5Mnx5Q2hhbm5lbFNlbGVjdG9yfHp8em9vbUFuZFBhbnxmb3J8Y2xhc3N8YXV0b2ZvY3VzKXwoKFtEZF1bQWFdW1R0XVtBYV18W0FhXVtScl1bSWldW0FhXXx4KS0uKikpJC8sYT1yKGZ1bmN0aW9uKGUpe3JldHVybiBvLnRlc3QoZSl8fDExMT09PWUuY2hhckNvZGVBdCgwKSYmMTEwPT09ZS5jaGFyQ29kZUF0KDEpJiZlLmNoYXJDb2RlQXQoMik8OTF9KX0sZnVuY3Rpb24oZSx0LG4pe24oMTAzKX0sZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oMTA2KSxvPW4oNjIpO2UuZXhwb3J0cz1mdW5jdGlvbihlKXtlPXIoZSwic3RyaW5nIik7cmV0dXJuIG8oZSk/ZTplKyIifX0sZnVuY3Rpb24oZSx0LG4pe3ZhciByPSJvYmplY3QiPT10eXBlb2YgZG9jdW1lbnQmJmRvY3VtZW50LmFsbDtlLmV4cG9ydHM9e2FsbDpyLElTX0hUTUxEREE6dm9pZCAwPT09ciYmdm9pZCAwIT09cn19LGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKDE0KSxvPW4oMiksYT1uKDMxKSxuPW4oNjMpLGk9T2JqZWN0O2UuZXhwb3J0cz1uP2Z1bmN0aW9uKGUpe3JldHVybiJzeW1ib2wiPT10eXBlb2YgZX06ZnVuY3Rpb24oZSl7dmFyIHQ9cigiU3ltYm9sIik7cmV0dXJuIG8odCkmJmEodC5wcm90b3R5cGUsaShlKSl9fSxmdW5jdGlvbihlLHQsbil7bj1uKDY0KTtlLmV4cG9ydHM9biYmIVN5bWJvbC5zaGFtJiYic3ltYm9sIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcn0sZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oNjUpLG89big2KSxhPW4oMykuU3RyaW5nO2UuZXhwb3J0cz0hIU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMmJiFvKGZ1bmN0aW9uKCl7dmFyIGU9U3ltYm9sKCJzeW1ib2wgZGV0ZWN0aW9uIik7cmV0dXJuIWEoZSl8fCEoT2JqZWN0KGUpaW5zdGFuY2VvZiBTeW1ib2wpfHwhU3ltYm9sLnNoYW0mJnImJnI8NDF9KX0sZnVuY3Rpb24oZSx0LG4pe3ZhciByLG8sYT1uKDMpLG49bigzMiksaT1hLnByb2Nlc3MsYT1hLkRlbm8saT1pJiZpLnZlcnNpb25zfHxhJiZhLnZlcnNpb24sYT1pJiZpLnY4OyEobz1hPzA8KHI9YS5zcGxpdCgiLiIpKVswXSYmclswXTw0PzE6KyhyWzBdK3JbMV0pOm8pJiZuJiYoIShyPW4ubWF0Y2goL0VkZ2VcLyhcZCspLykpfHw3NDw9clsxXSkmJihyPW4ubWF0Y2goL0Nocm9tZVwvKFxkKykvKSkmJihvPStyWzFdKSxlLmV4cG9ydHM9b30sZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oMTUpLG89big0NCk7KGUuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3JldHVybiBvW2VdfHwob1tlXT12b2lkIDAhPT10P3Q6e30pfSkoInZlcnNpb25zIixbXSkucHVzaCh7dmVyc2lvbjoiMy4zNC4wIixtb2RlOnI/InB1cmUiOiJnbG9iYWwiLGNvcHlyaWdodDoiwqkgMjAxNC0yMDIzIERlbmlzIFB1c2hrYXJldiAoemxvaXJvY2sucnUpIixsaWNlbnNlOiJodHRwczovL2dpdGh1Yi5jb20vemxvaXJvY2svY29yZS1qcy9ibG9iL3YzLjM0LjAvTElDRU5TRSIsc291cmNlOiJodHRwczovL2dpdGh1Yi5jb20vemxvaXJvY2svY29yZS1qcyJ9KX0sZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oNDIpLG89T2JqZWN0O2UuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4gbyhyKGUpKX19LGZ1bmN0aW9uKGUsdCxuKXt2YXIgbj1uKDQpLHI9MCxvPU1hdGgucmFuZG9tKCksYT1uKDEuLnRvU3RyaW5nKTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuIlN5bWJvbCgiKyh2b2lkIDA9PT1lPyIiOmUpKyIpXyIrYSgrK3IrbywzNil9fSxmdW5jdGlvbihlLHQsbil7dmFyIHI9big5KSxvPW4oNiksYT1uKDM0KTtlLmV4cG9ydHM9IXImJiFvKGZ1bmN0aW9uKCl7cmV0dXJuIDchPT1PYmplY3QuZGVmaW5lUHJvcGVydHkoYSgiZGl2IiksImEiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gN319KS5hfSl9LGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKDkpLG49big2KTtlLmV4cG9ydHM9ciYmbihmdW5jdGlvbigpe3JldHVybiA0MiE9PU9iamVjdC5kZWZpbmVQcm9wZXJ0eShmdW5jdGlvbigpe30sInByb3RvdHlwZSIse3ZhbHVlOjQyLHdyaXRhYmxlOiExfSkucHJvdG90eXBlfSl9LGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKDQpLG89big2KSxhPW4oMiksaT1uKDExKSxsPW4oOSksYz1uKDcyKS5DT05GSUdVUkFCTEUsdT1uKDQ2KSxuPW4oMzUpLHM9bi5lbmZvcmNlLGY9bi5nZXQsZD1TdHJpbmcscD1PYmplY3QuZGVmaW5lUHJvcGVydHksbT1yKCIiLnNsaWNlKSxoPXIoIiIucmVwbGFjZSksZz1yKFtdLmpvaW4pLGI9bCYmIW8oZnVuY3Rpb24oKXtyZXR1cm4gOCE9PXAoZnVuY3Rpb24oKXt9LCJsZW5ndGgiLHt2YWx1ZTo4fSkubGVuZ3RofSkseT1TdHJpbmcoU3RyaW5nKS5zcGxpdCgiU3RyaW5nIiksbj1lLmV4cG9ydHM9ZnVuY3Rpb24oZSx0LG4peyJTeW1ib2woIj09PW0oZCh0KSwwLDcpJiYodD0iWyIraChkKHQpLC9eU3ltYm9sXCgoW14pXSopXCkvLCIkMSIpKyJdIiksbiYmbi5nZXR0ZXImJih0PSJnZXQgIit0KSxuJiZuLnNldHRlciYmKHQ9InNldCAiK3QpLCghaShlLCJuYW1lIil8fGMmJmUubmFtZSE9PXQpJiYobD9wKGUsIm5hbWUiLHt2YWx1ZTp0LGNvbmZpZ3VyYWJsZTohMH0pOmUubmFtZT10KSxiJiZuJiZpKG4sImFyaXR5IikmJmUubGVuZ3RoIT09bi5hcml0eSYmcChlLCJsZW5ndGgiLHt2YWx1ZTpuLmFyaXR5fSk7dHJ5e24mJmkobiwiY29uc3RydWN0b3IiKSYmbi5jb25zdHJ1Y3Rvcj9sJiZwKGUsInByb3RvdHlwZSIse3dyaXRhYmxlOiExfSk6ZS5wcm90b3R5cGUmJihlLnByb3RvdHlwZT12b2lkIDApfWNhdGNoKGUpe31uPXMoZSk7cmV0dXJuIGkobiwic291cmNlIil8fChuLnNvdXJjZT1nKHksInN0cmluZyI9PXR5cGVvZiB0P3Q6IiIpKSxlfTtGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmc9bihmdW5jdGlvbigpe3JldHVybiBhKHRoaXMpJiZmKHRoaXMpLnNvdXJjZXx8dSh0aGlzKX0sInRvU3RyaW5nIil9LGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKDkpLG49bigxMSksbz1GdW5jdGlvbi5wcm90b3R5cGUsYT1yJiZPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLG49bihvLCJuYW1lIiksaT1uJiYic29tZXRoaW5nIj09PWZ1bmN0aW9uKCl7fS5uYW1lLHI9biYmKCFyfHxhKG8sIm5hbWUiKS5jb25maWd1cmFibGUpO2UuZXhwb3J0cz17RVhJU1RTOm4sUFJPUEVSOmksQ09ORklHVVJBQkxFOnJ9fSxmdW5jdGlvbihlLHQsbil7dmFyIGM9bigxMSksdT1uKDEwOSkscz1uKDQxKSxmPW4oMTcpO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQsbil7Zm9yKHZhciByPXUodCksbz1mLmYsYT1zLmYsaT0wO2k8ci5sZW5ndGg7aSsrKXt2YXIgbD1yW2ldO2MoZSxsKXx8biYmYyhuLGwpfHxvKGUsbCxhKHQsbCkpfX19LGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKDQpLGk9bigxMSksbD1uKDI0KSxjPW4oMTExKS5pbmRleE9mLHU9big0OCkscz1yKFtdLnB1c2gpO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3ZhciBuLHI9bChlKSxvPTAsYT1bXTtmb3IobiBpbiByKSFpKHUsbikmJmkocixuKSYmcyhhLG4pO2Zvcig7dC5sZW5ndGg+bzspIWkocixuPXRbbysrXSl8fH5jKGEsbil8fHMoYSxuKTtyZXR1cm4gYX19LGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKDExNCk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiByKGUubGVuZ3RoKX19LGZ1bmN0aW9uKGUsdCxuKXtmdW5jdGlvbiByKGUsdCl7cmV0dXJuKGU9Y1tsKGUpXSk9PT1zfHxlIT09dSYmKGEodCk/byh0KTohIXQpfXZhciBvPW4oNiksYT1uKDIpLGk9LyN8XC5wcm90b3R5cGVcLi8sbD1yLm5vcm1hbGl6ZT1mdW5jdGlvbihlKXtyZXR1cm4gU3RyaW5nKGUpLnJlcGxhY2UoaSwiLiIpLnRvTG93ZXJDYXNlKCl9LGM9ci5kYXRhPXt9LHU9ci5OQVRJVkU9Ik4iLHM9ci5QT0xZRklMTD0iUCI7ZS5leHBvcnRzPXJ9LGZ1bmN0aW9uKGUsdCxuKXtuPW4oMTQpO2UuZXhwb3J0cz1uKCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIpfSxmdW5jdGlvbihlLHQsbil7dmFyIHI9bigzNyksbz1uKDQzKSxhPW4oMzApLGk9bigyNiksbD1uKDUpKCJpdGVyYXRvciIpO2UuZXhwb3J0cz1mdW5jdGlvbihlKXtpZighYShlKSlyZXR1cm4gbyhlLGwpfHxvKGUsIkBAaXRlcmF0b3IiKXx8aVtyKGUpXX19LGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKDI0KSxvPW4oMTMwKSxhPW4oMjYpLGk9bigzNSksbD1uKDE3KS5mLGM9big4MCksdT1uKDgyKSxzPW4oMTUpLG49big5KSxmPSJBcnJheSBJdGVyYXRvciIsZD1pLnNldCxwPWkuZ2V0dGVyRm9yKGYpLGk9KGUuZXhwb3J0cz1jKEFycmF5LCJBcnJheSIsZnVuY3Rpb24oZSx0KXtkKHRoaXMse3R5cGU6Zix0YXJnZXQ6cihlKSxpbmRleDowLGtpbmQ6dH0pfSxmdW5jdGlvbigpe3ZhciBlPXAodGhpcyksdD1lLnRhcmdldCxuPWUuaW5kZXgrKztpZighdHx8bj49dC5sZW5ndGgpcmV0dXJuIGUudGFyZ2V0PXZvaWQgMCx1KHZvaWQgMCwhMCk7c3dpdGNoKGUua2luZCl7Y2FzZSJrZXlzIjpyZXR1cm4gdShuLCExKTtjYXNlInZhbHVlcyI6cmV0dXJuIHUodFtuXSwhMSl9cmV0dXJuIHUoW24sdFtuXV0sITEpfSwidmFsdWVzIiksYS5Bcmd1bWVudHM9YS5BcnJheSk7aWYobygia2V5cyIpLG8oInZhbHVlcyIpLG8oImVudHJpZXMiKSwhcyYmbiYmInZhbHVlcyIhPT1pLm5hbWUpdHJ5e2woaSwibmFtZSIse3ZhbHVlOiJ2YWx1ZXMifSl9Y2F0Y2goZSl7fX0sZnVuY3Rpb24oZSx0LG4pe2Z1bmN0aW9uIGgoKXtyZXR1cm4gdGhpc312YXIgZz1uKDcpLGI9big4KSx5PW4oMTUpLHI9big3Miksdj1uKDIpLHc9bigxMzEpLHg9big1MSksaz1uKDUyKSxTPW4oMzgpLEM9bigxOCksRT1uKDE5KSxvPW4oNSksTz1uKDI2KSxuPW4oODEpLGo9ci5QUk9QRVIsQT1yLkNPTkZJR1VSQUJMRSxQPW4uSXRlcmF0b3JQcm90b3R5cGUsST1uLkJVR0dZX1NBRkFSSV9JVEVSQVRPUlMsXz1vKCJpdGVyYXRvciIpLHo9InZhbHVlcyIsVD0iZW50cmllcyI7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCxuLHIsbyxhLGkpe3cobix0LHIpO2Z1bmN0aW9uIGwoZSl7aWYoZT09PW8mJnApcmV0dXJuIHA7aWYoIUkmJmUmJmUgaW4gZilyZXR1cm4gZltlXTtzd2l0Y2goZSl7Y2FzZSJrZXlzIjpjYXNlIHo6Y2FzZSBUOnJldHVybiBmdW5jdGlvbigpe3JldHVybiBuZXcgbih0aGlzLGUpfX1yZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbmV3IG4odGhpcyl9fXZhciBjLHUscj10KyIgSXRlcmF0b3IiLHM9ITEsZj1lLnByb3RvdHlwZSxkPWZbX118fGZbIkBAaXRlcmF0b3IiXXx8byYmZltvXSxwPSFJJiZkfHxsKG8pLG09IkFycmF5Ij09PXQmJmYuZW50cmllc3x8ZDtpZihtJiYobT14KG0uY2FsbChuZXcgZSkpKSE9PU9iamVjdC5wcm90b3R5cGUmJm0ubmV4dCYmKHl8fHgobSk9PT1QfHwoaz9rKG0sUCk6dihtW19dKXx8RShtLF8saCkpLFMobSxyLCEwLCEwKSx5KSYmKE9bcl09aCksaiYmbz09PXomJmQmJmQubmFtZSE9PXomJigheSYmQT9DKGYsIm5hbWUiLHopOihzPSEwLHA9ZnVuY3Rpb24oKXtyZXR1cm4gYihkLHRoaXMpfSkpLG8paWYoYz17dmFsdWVzOmwoeiksa2V5czphP3A6bCgia2V5cyIpLGVudHJpZXM6bChUKX0saSlmb3IodSBpbiBjKSFJJiYhcyYmdSBpbiBmfHxFKGYsdSxjW3VdKTtlbHNlIGcoe3RhcmdldDp0LHByb3RvOiEwLGZvcmNlZDpJfHxzfSxjKTtyZXR1cm4geSYmIWl8fGZbX109PT1wfHxFKGYsXyxwLHtuYW1lOm99KSxPW3RdPXAsY319LGZ1bmN0aW9uKGUsdCxuKXt2YXIgcixvLGE9big2KSxpPW4oMiksbD1uKDEzKSxjPW4oMzYpLHU9big1MSkscz1uKDE5KSxmPW4oNSksbj1uKDE1KSxkPWYoIml0ZXJhdG9yIiksZj0hMTtbXS5rZXlzJiYoIm5leHQiaW4obz1bXS5rZXlzKCkpPyh1PXUodShvKSkpIT09T2JqZWN0LnByb3RvdHlwZSYmKHI9dSk6Zj0hMCksIWwocil8fGEoZnVuY3Rpb24oKXt2YXIgZT17fTtyZXR1cm4gcltkXS5jYWxsKGUpIT09ZX0pP3I9e306biYmKHI9YyhyKSksaShyW2RdKXx8cyhyLGQsZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLGUuZXhwb3J0cz17SXRlcmF0b3JQcm90b3R5cGU6cixCVUdHWV9TQUZBUklfSVRFUkFUT1JTOmZ9fSxmdW5jdGlvbihlLHQsbil7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7cmV0dXJue3ZhbHVlOmUsZG9uZTp0fX19LGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKDEyKSxvPW4oMTM5KSxhPW4oMzApLGk9big1KSgic3BlY2llcyIpO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3ZhciBlPXIoZSkuY29uc3RydWN0b3I7cmV0dXJuIHZvaWQgMD09PWV8fGEoZT1yKGUpW2ldKT90Om8oZSl9fSxmdW5jdGlvbihlLHQsbil7ZnVuY3Rpb24gcihlKXtyZXR1cm4gZnVuY3Rpb24oKXtQKGUpfX1mdW5jdGlvbiBvKGUpe1AoZS5kYXRhKX1mdW5jdGlvbiBhKGUpe2MucG9zdE1lc3NhZ2UoRShlKSxpLnByb3RvY29sKyIvLyIraS5ob3N0KX12YXIgaSxsLGM9bigzKSx1PW4oMTQxKSxzPW4oNTMpLGY9bigyKSxkPW4oMTEpLHA9big2KSxtPW4oNzcpLGg9bigxNDIpLGc9bigzNCksYj1uKDE0MykseT1uKDg1KSxuPW4oMzkpLHY9Yy5zZXRJbW1lZGlhdGUsdz1jLmNsZWFySW1tZWRpYXRlLHg9Yy5wcm9jZXNzLGs9Yy5EaXNwYXRjaCxTPWMuRnVuY3Rpb24sQz1jLk1lc3NhZ2VDaGFubmVsLEU9Yy5TdHJpbmcsTz0wLGo9e30sQT0ib25yZWFkeXN0YXRlY2hhbmdlIixQPShwKGZ1bmN0aW9uKCl7aT1jLmxvY2F0aW9ufSksZnVuY3Rpb24oZSl7dmFyIHQ7ZChqLGUpJiYodD1qW2VdLGRlbGV0ZSBqW2VdLHQoKSl9KTt2JiZ3fHwodj1mdW5jdGlvbihlKXtiKGFyZ3VtZW50cy5sZW5ndGgsMSk7dmFyIHQ9ZihlKT9lOlMoZSksbj1oKGFyZ3VtZW50cywxKTtyZXR1cm4galsrK09dPWZ1bmN0aW9uKCl7dSh0LHZvaWQgMCxuKX0sbChPKSxPfSx3PWZ1bmN0aW9uKGUpe2RlbGV0ZSBqW2VdfSxuP2w9ZnVuY3Rpb24oZSl7eC5uZXh0VGljayhyKGUpKX06ayYmay5ub3c/bD1mdW5jdGlvbihlKXtrLm5vdyhyKGUpKX06QyYmIXk/KHk9KG49bmV3IEMpLnBvcnQyLG4ucG9ydDEub25tZXNzYWdlPW8sbD1zKHkucG9zdE1lc3NhZ2UseSkpOmMuYWRkRXZlbnRMaXN0ZW5lciYmZihjLnBvc3RNZXNzYWdlKSYmIWMuaW1wb3J0U2NyaXB0cyYmaSYmImZpbGU6IiE9PWkucHJvdG9jb2wmJiFwKGEpPyhsPWEsYy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixvLCExKSk6bD1BIGluIGcoInNjcmlwdCIpP2Z1bmN0aW9uKGUpe20uYXBwZW5kQ2hpbGQoZygic2NyaXB0IikpW0FdPWZ1bmN0aW9uKCl7bS5yZW1vdmVDaGlsZCh0aGlzKSxQKGUpfX06ZnVuY3Rpb24oZSl7c2V0VGltZW91dChyKGUpLDApfSksZS5leHBvcnRzPXtzZXQ6dixjbGVhcjp3fX0sZnVuY3Rpb24oZSx0LG4pe249bigzMik7ZS5leHBvcnRzPS8oPzppcGFkfGlwaG9uZXxpcG9kKS4qYXBwbGV3ZWJraXQvaS50ZXN0KG4pfSxmdW5jdGlvbihlLHQsbil7ZnVuY3Rpb24gcigpe3RoaXMuaGVhZD1udWxsLHRoaXMudGFpbD1udWxsfXIucHJvdG90eXBlPXthZGQ6ZnVuY3Rpb24oZSl7dmFyIGU9e2l0ZW06ZSxuZXh0Om51bGx9LHQ9dGhpcy50YWlsO3Q/dC5uZXh0PWU6dGhpcy5oZWFkPWUsdGhpcy50YWlsPWV9LGdldDpmdW5jdGlvbigpe3ZhciBlPXRoaXMuaGVhZDtpZihlKXJldHVybiBudWxsPT09KHRoaXMuaGVhZD1lLm5leHQpJiYodGhpcy50YWlsPW51bGwpLGUuaXRlbX19LGUuZXhwb3J0cz1yfSxmdW5jdGlvbihlLHQsbil7ZS5leHBvcnRzPSJvYmplY3QiPT10eXBlb2YgRGVubyYmRGVubyYmIm9iamVjdCI9PXR5cGVvZiBEZW5vLnZlcnNpb259LGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKDEyKSxvPW4oMTMpLGE9bigxNik7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHIoZSksbyh0KSYmdC5jb25zdHJ1Y3Rvcj09PWU/dDooKDAsKGU9YS5mKGUpKS5yZXNvbHZlKSh0KSxlLnByb21pc2UpfX0sZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oNyksdT1uKDgpLHM9bigxMCksbz1uKDE2KSxhPW4oMjApLGY9bigyNSk7cih7dGFyZ2V0OiJQcm9taXNlIixzdGF0OiEwLGZvcmNlZDpuKDQwKX0se2FsbFNldHRsZWQ6ZnVuY3Rpb24oZSl7dmFyIGw9dGhpcyx0PW8uZihsKSxjPXQucmVzb2x2ZSxuPXQucmVqZWN0LHI9YShmdW5jdGlvbigpe3ZhciByPXMobC5yZXNvbHZlKSxvPVtdLGE9MCxpPTE7ZihlLGZ1bmN0aW9uKGUpe3ZhciB0PWErKyxuPSExO2krKyx1KHIsbCxlKS50aGVuKGZ1bmN0aW9uKGUpe258fChuPSEwLG9bdF09e3N0YXR1czoiZnVsZmlsbGVkIix2YWx1ZTplfSwtLWkpfHxjKG8pfSxmdW5jdGlvbihlKXtufHwobj0hMCxvW3RdPXtzdGF0dXM6InJlamVjdGVkIixyZWFzb246ZX0sLS1pKXx8YyhvKX0pfSksLS1pfHxjKG8pfSk7cmV0dXJuIHIuZXJyb3ImJm4oci52YWx1ZSksdC5wcm9taXNlfX0pfSxmdW5jdGlvbihlLHQsbil7dmFyIHI9big3KSxkPW4oOCkscD1uKDEwKSxvPW4oMTQpLGE9bigxNiksaT1uKDIwKSxtPW4oMjUpLG49big0MCksaD0iTm8gb25lIHByb21pc2UgcmVzb2x2ZWQiO3Ioe3RhcmdldDoiUHJvbWlzZSIsc3RhdDohMCxmb3JjZWQ6bn0se2FueTpmdW5jdGlvbihlKXt2YXIgYz10aGlzLHU9bygiQWdncmVnYXRlRXJyb3IiKSx0PWEuZihjKSxzPXQucmVzb2x2ZSxmPXQucmVqZWN0LG49aShmdW5jdGlvbigpe3ZhciByPXAoYy5yZXNvbHZlKSxvPVtdLGE9MCxpPTEsbD0hMTttKGUsZnVuY3Rpb24oZSl7dmFyIHQ9YSsrLG49ITE7aSsrLGQocixjLGUpLnRoZW4oZnVuY3Rpb24oZSl7bnx8bHx8KGw9ITAscyhlKSl9LGZ1bmN0aW9uKGUpe258fGx8fChuPSEwLG9bdF09ZSwtLWkpfHxmKG5ldyB1KG8saCkpfSl9KSwtLWl8fGYobmV3IHUobyxoKSl9KTtyZXR1cm4gbi5lcnJvciYmZihuLnZhbHVlKSx0LnByb21pc2V9fSl9LGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKDcpLG89bigxNik7cih7dGFyZ2V0OiJQcm9taXNlIixzdGF0OiEwfSx7d2l0aFJlc29sdmVyczpmdW5jdGlvbigpe3ZhciBlPW8uZih0aGlzKTtyZXR1cm57cHJvbWlzZTplLnByb21pc2UscmVzb2x2ZTplLnJlc29sdmUscmVqZWN0OmUucmVqZWN0fX19KX0sZnVuY3Rpb24oZSx0KXt2YXIgbixyLGU9ZS5leHBvcnRzPXt9O2Z1bmN0aW9uIG8oKXt0aHJvdyBuZXcgRXJyb3IoInNldFRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWQiKX1mdW5jdGlvbiBhKCl7dGhyb3cgbmV3IEVycm9yKCJjbGVhclRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWQiKX10cnl7bj0iZnVuY3Rpb24iPT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0Om99Y2F0Y2goZSl7bj1vfXRyeXtyPSJmdW5jdGlvbiI9PXR5cGVvZiBjbGVhclRpbWVvdXQ/Y2xlYXJUaW1lb3V0OmF9Y2F0Y2goZSl7cj1hfWZ1bmN0aW9uIGkodCl7aWYobj09PXNldFRpbWVvdXQpcmV0dXJuIHNldFRpbWVvdXQodCwwKTtpZigobj09PW98fCFuKSYmc2V0VGltZW91dClyZXR1cm4obj1zZXRUaW1lb3V0KSh0LDApO3RyeXtyZXR1cm4gbih0LDApfWNhdGNoKGUpe3RyeXtyZXR1cm4gbi5jYWxsKG51bGwsdCwwKX1jYXRjaChlKXtyZXR1cm4gbi5jYWxsKHRoaXMsdCwwKX19fXZhciBsLGM9W10sdT0hMSxzPS0xO2Z1bmN0aW9uIGYoKXt1JiZsJiYodT0hMSxsLmxlbmd0aD9jPWwuY29uY2F0KGMpOnM9LTEsYy5sZW5ndGgpJiZkKCl9ZnVuY3Rpb24gZCgpe2lmKCF1KXtmb3IodmFyIGU9aShmKSx0PSh1PSEwLGMubGVuZ3RoKTt0Oyl7Zm9yKGw9YyxjPVtdOysrczx0OylsJiZsW3NdLnJ1bigpO3M9LTEsdD1jLmxlbmd0aH1sPW51bGwsdT0hMSwhZnVuY3Rpb24odCl7aWYocj09PWNsZWFyVGltZW91dClyZXR1cm4gY2xlYXJUaW1lb3V0KHQpO2lmKChyPT09YXx8IXIpJiZjbGVhclRpbWVvdXQpcmV0dXJuKHI9Y2xlYXJUaW1lb3V0KSh0KTt0cnl7cih0KX1jYXRjaChlKXt0cnl7cmV0dXJuIHIuY2FsbChudWxsLHQpfWNhdGNoKGUpe3JldHVybiByLmNhbGwodGhpcyx0KX19fShlKX19ZnVuY3Rpb24gcChlLHQpe3RoaXMuZnVuPWUsdGhpcy5hcnJheT10fWZ1bmN0aW9uIG0oKXt9ZS5uZXh0VGljaz1mdW5jdGlvbihlKXt2YXIgdD1uZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aC0xKTtpZigxPGFyZ3VtZW50cy5sZW5ndGgpZm9yKHZhciBuPTE7bjxhcmd1bWVudHMubGVuZ3RoO24rKyl0W24tMV09YXJndW1lbnRzW25dO2MucHVzaChuZXcgcChlLHQpKSwxIT09Yy5sZW5ndGh8fHV8fGkoZCl9LHAucHJvdG90eXBlLnJ1bj1mdW5jdGlvbigpe3RoaXMuZnVuLmFwcGx5KG51bGwsdGhpcy5hcnJheSl9LGUudGl0bGU9ImJyb3dzZXIiLGUuYnJvd3Nlcj0hMCxlLmVudj17fSxlLmFyZ3Y9W10sZS52ZXJzaW9uPSIiLGUudmVyc2lvbnM9e30sZS5vbj1tLGUuYWRkTGlzdGVuZXI9bSxlLm9uY2U9bSxlLm9mZj1tLGUucmVtb3ZlTGlzdGVuZXI9bSxlLnJlbW92ZUFsbExpc3RlbmVycz1tLGUuZW1pdD1tLGUucHJlcGVuZExpc3RlbmVyPW0sZS5wcmVwZW5kT25jZUxpc3RlbmVyPW0sZS5saXN0ZW5lcnM9ZnVuY3Rpb24oZSl7cmV0dXJuW119LGUuYmluZGluZz1mdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoInByb2Nlc3MuYmluZGluZyBpcyBub3Qgc3VwcG9ydGVkIil9LGUuY3dkPWZ1bmN0aW9uKCl7cmV0dXJuIi8ifSxlLmNoZGlyPWZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcigicHJvY2Vzcy5jaGRpciBpcyBub3Qgc3VwcG9ydGVkIil9LGUudW1hc2s9ZnVuY3Rpb24oKXtyZXR1cm4gMH19LGZ1bmN0aW9uKGUsdCxuKXtuPW4oMTY5KTt0LmNyZWF0ZVJvb3Q9bi5jcmVhdGVSb290LHQuaHlkcmF0ZVJvb3Q9bi5oeWRyYXRlUm9vdH0sZnVuY3Rpb24odixlLHQpeyFmdW5jdGlvbihlKXt2YXIgbj05MDA3MTk5MjU0NzQwOTkxLHI9IltvYmplY3QgQXJndW1lbnRzXSIsbz0iW29iamVjdCBGdW5jdGlvbl0iLGE9IltvYmplY3QgR2VuZXJhdG9yRnVuY3Rpb25dIixpPSJbb2JqZWN0IFN5bWJvbF0iLGU9Im9iamVjdCI9PXR5cGVvZiBlJiZlJiZlLk9iamVjdD09PU9iamVjdCYmZSx0PSJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZiYmc2VsZi5PYmplY3Q9PT1PYmplY3QmJnNlbGYsZT1lfHx0fHxGdW5jdGlvbigicmV0dXJuIHRoaXMiKSgpO3ZhciB0PU9iamVjdC5wcm90b3R5cGUsbD10Lmhhc093blByb3BlcnR5LGM9dC50b1N0cmluZyxlPWUuU3ltYm9sLHU9dC5wcm9wZXJ0eUlzRW51bWVyYWJsZSxzPWU/ZS5pc0NvbmNhdFNwcmVhZGFibGU6dm9pZCAwLGY9TWF0aC5tYXg7ZnVuY3Rpb24gbShlKXtyZXR1cm4gcChlKXx8ZnVuY3Rpb24oZSl7cmV0dXJuIGgoZSkmJmZ1bmN0aW9uKGUpe3JldHVybiBudWxsIT1lJiZmdW5jdGlvbihlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGUmJi0xPGUmJmUlMT09MCYmZTw9bn0oZS5sZW5ndGgpJiYhZnVuY3Rpb24oZSl7ZT1mdW5jdGlvbihlKXt2YXIgdD10eXBlb2YgZTtyZXR1cm4gZSYmKCJvYmplY3QiPT10fHwiZnVuY3Rpb24iPT10KX0oZSk/Yy5jYWxsKGUpOiIiO3JldHVybiBlPT1vfHxlPT1hfShlKX0oZSl9KHQ9ZSkmJmwuY2FsbCh0LCJjYWxsZWUiKSYmKCF1LmNhbGwodCwiY2FsbGVlIil8fGMuY2FsbCh0KT09cil8fCEhKHMmJmUmJmVbc10pO3ZhciB0fWZ1bmN0aW9uIGQoZSl7dmFyIHQ7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlfHwic3ltYm9sIj09dHlwZW9mKHQ9ZSl8fGgodCkmJmMuY2FsbCh0KT09aT9lOiIwIj09KHQ9ZSsiIikmJjEvZT09LTEvMD8iLTAiOnR9dmFyIHA9QXJyYXkuaXNBcnJheTtmdW5jdGlvbiBoKGUpe3JldHVybiEhZSYmIm9iamVjdCI9PXR5cGVvZiBlfWZ1bmN0aW9uIGcoKXtmb3IodmFyIGU9YXJndW1lbnRzLHQ9LTEsbj1mKGUubGVuZ3RoLXksMCkscj1BcnJheShuKTsrK3Q8bjspclt0XT1lW3krdF07Zm9yKHZhciB0PS0xLG89QXJyYXkoeSsxKTsrK3Q8eTspb1t0XT1lW3RdO29beV09cjt2YXIgYT1iLGk9dGhpcyxsPW87c3dpdGNoKGwubGVuZ3RoKXtjYXNlIDA6cmV0dXJuIGEuY2FsbChpKTtjYXNlIDE6cmV0dXJuIGEuY2FsbChpLGxbMF0pO2Nhc2UgMjpyZXR1cm4gYS5jYWxsKGksbFswXSxsWzFdKTtjYXNlIDM6cmV0dXJuIGEuY2FsbChpLGxbMF0sbFsxXSxsWzJdKX1yZXR1cm4gYS5hcHBseShpLGwpfXZhciBiLHk7Yj1mdW5jdGlvbihlLHQpe2lmKG51bGw9PWUpcmV0dXJue307Zm9yKHZhciBuPWUsZT1mdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0tMSxyPWU/ZS5sZW5ndGg6MCxvPUFycmF5KHIpOysrbjxyOylvW25dPXQoZVtuXSxuLGUpO3JldHVybiBvfShmdW5jdGlvbiBlKHQsbixyLG8sYSl7dmFyIGk9LTEsbD10Lmxlbmd0aDtmb3Iocj1yfHxtLGE9YXx8W107KytpPGw7KXt2YXIgYz10W2ldO2lmKDA8biYmcihjKSlpZigxPG4pZShjLG4tMSxyLG8sYSk7ZWxzZXtwPWQ9Zj1zPXU9dm9pZCAwO2Zvcih2YXIgdT1hLHM9YyxmPS0xLGQ9cy5sZW5ndGgscD11Lmxlbmd0aDsrK2Y8ZDspdVtwK2ZdPXNbZl19ZWxzZSBvfHwoYVthLmxlbmd0aF09Yyl9cmV0dXJuIGF9KHQsMSksZCkscj1uPU9iamVjdChuKSxvPWUsYT1mdW5jdGlvbihlLHQpe3JldHVybiB0IGluIG59LGk9LTEsbD1vLmxlbmd0aCxjPXt9OysraTxsOyl7dmFyIHU9b1tpXSxzPXJbdV07YShzLHUpJiYoY1t1XT1zKX1yZXR1cm4gY30seT1mKHZvaWQgMD09PXk/Yi5sZW5ndGgtMTp5LDApO3YuZXhwb3J0cz1nfS5jYWxsKHRoaXMsdCgyMikpfSxmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz1mdW5jdGlvbihlLHQsbixyKXtpZih2b2lkIDAhPT0odT1uP24uY2FsbChyLGUsdCk6dm9pZCAwKSlyZXR1cm4hIXU7aWYoZSE9PXQpe2lmKCJvYmplY3QiIT10eXBlb2YgZXx8IWV8fCJvYmplY3QiIT10eXBlb2YgdHx8IXQpcmV0dXJuITE7dmFyIG89T2JqZWN0LmtleXMoZSksYT1PYmplY3Qua2V5cyh0KTtpZihvLmxlbmd0aCE9PWEubGVuZ3RoKXJldHVybiExO2Zvcih2YXIgaT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmJpbmQodCksbD0wO2w8by5sZW5ndGg7bCsrKXt2YXIgYz1vW2xdO2lmKCFpKGMpKXJldHVybiExO3ZhciB1LHM9ZVtjXSxmPXRbY107aWYoITE9PT0odT1uP24uY2FsbChyLHMsZixjKTp2b2lkIDApfHx2b2lkIDA9PT11JiZzIT09ZilyZXR1cm4hMX19cmV0dXJuITB9fSxmdW5jdGlvbihlLHQsbil7dC5hPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIEEoZSx0LG4pe3ZhciByPXQudHJpbSgpLnNwbGl0KGYpLG89KHQ9cikubGVuZ3RoLGE9ZS5sZW5ndGg7c3dpdGNoKGEpe2Nhc2UgMDpjYXNlIDE6dmFyIGk9MDtmb3IoZT0wPT09YT8iIjplWzBdKyIgIjtpPG87KytpKXRbaV09dShlLHRbaV0sbikudHJpbSgpO2JyZWFrO2RlZmF1bHQ6dmFyIGw9aT0wO2Zvcih0PVtdO2k8bzsrK2kpZm9yKHZhciBjPTA7YzxhOysrYyl0W2wrK109dShlW2NdKyIgIixyW2ldLG4pLnRyaW0oKX1yZXR1cm4gdH1mdW5jdGlvbiB1KGUsdCxuKXt2YXIgcj10LmNoYXJDb2RlQXQoMCk7c3dpdGNoKHI9cjwzMz8odD10LnRyaW0oKSkuY2hhckNvZGVBdCgwKTpyKXtjYXNlIDM4OnJldHVybiB0LnJlcGxhY2UobywiJDEiK2UudHJpbSgpKTtjYXNlIDU4OnJldHVybiBlLnRyaW0oKSt0LnJlcGxhY2UobywiJDEiK2UudHJpbSgpKTtkZWZhdWx0OmlmKDA8K24mJjA8dC5pbmRleE9mKCJcZiIpKXJldHVybiB0LnJlcGxhY2UobywoNTg9PT1lLmNoYXJDb2RlQXQoMCk/IiI6IiQxIikrZS50cmltKCkpfXJldHVybiBlK3R9ZnVuY3Rpb24gUChlLHQsbixyKXt2YXIgbyxhPWUrIjsiLGk9Mip0KzMqbis0KnI7aWYoOTQ0PT1pKXJldHVybiBlPWEuaW5kZXhPZigiOiIsOSkrMSxvPWEuc3Vic3RyaW5nKGUsYS5sZW5ndGgtMSkudHJpbSgpLG89YS5zdWJzdHJpbmcoMCxlKS50cmltKCkrbysiOyIsMT09PUh8fDI9PT1IJiZJKG8sMSk/Ii13ZWJraXQtIitvK286bztpZigwIT09SCYmKDIhPT1IfHxJKGEsMSkpKXN3aXRjaChpKXtjYXNlIDEwMTU6cmV0dXJuIDk3PT09YS5jaGFyQ29kZUF0KDEwKT8iLXdlYmtpdC0iK2ErYTphO2Nhc2UgOTUxOnJldHVybiAxMTY9PT1hLmNoYXJDb2RlQXQoMyk/Ii13ZWJraXQtIithK2E6YTtjYXNlIDk2MzpyZXR1cm4gMTEwPT09YS5jaGFyQ29kZUF0KDUpPyItd2Via2l0LSIrYSthOmE7Y2FzZSAxMDA5OmlmKDEwMCE9PWEuY2hhckNvZGVBdCg0KSlicmVhaztjYXNlIDk2OTpjYXNlIDk0MjpyZXR1cm4iLXdlYmtpdC0iK2ErYTtjYXNlIDk3ODpyZXR1cm4iLXdlYmtpdC0iK2ErIi1tb3otIithK2E7Y2FzZSAxMDE5OmNhc2UgOTgzOnJldHVybiItd2Via2l0LSIrYSsiLW1vei0iK2ErIi1tcy0iK2ErYTtjYXNlIDg4MzppZig0NT09PWEuY2hhckNvZGVBdCg4KSlyZXR1cm4iLXdlYmtpdC0iK2ErYTtpZigwPGEuaW5kZXhPZigiaW1hZ2Utc2V0KCIsMTEpKXJldHVybiBhLnJlcGxhY2UoZywiJDEtd2Via2l0LSQyIikrYTticmVhaztjYXNlIDkzMjppZig0NT09PWEuY2hhckNvZGVBdCg0KSlzd2l0Y2goYS5jaGFyQ29kZUF0KDUpKXtjYXNlIDEwMzpyZXR1cm4iLXdlYmtpdC1ib3gtIithLnJlcGxhY2UoIi1ncm93IiwiIikrIi13ZWJraXQtIithKyItbXMtIithLnJlcGxhY2UoImdyb3ciLCJwb3NpdGl2ZSIpK2E7Y2FzZSAxMTU6cmV0dXJuIi13ZWJraXQtIithKyItbXMtIithLnJlcGxhY2UoInNocmluayIsIm5lZ2F0aXZlIikrYTtjYXNlIDk4OnJldHVybiItd2Via2l0LSIrYSsiLW1zLSIrYS5yZXBsYWNlKCJiYXNpcyIsInByZWZlcnJlZC1zaXplIikrYX1yZXR1cm4iLXdlYmtpdC0iK2ErIi1tcy0iK2ErYTtjYXNlIDk2NDpyZXR1cm4iLXdlYmtpdC0iK2ErIi1tcy1mbGV4LSIrYSthO2Nhc2UgMTAyMzppZig5OSE9PWEuY2hhckNvZGVBdCg4KSlicmVhaztyZXR1cm4iLXdlYmtpdC1ib3gtcGFjayIrKG89YS5zdWJzdHJpbmcoYS5pbmRleE9mKCI6IiwxNSkpLnJlcGxhY2UoImZsZXgtIiwiIikucmVwbGFjZSgic3BhY2UtYmV0d2VlbiIsImp1c3RpZnkiKSkrIi13ZWJraXQtIithKyItbXMtZmxleC1wYWNrIitvK2E7Y2FzZSAxMDA1OnJldHVybiBjLnRlc3QoYSk/YS5yZXBsYWNlKGwsIjotd2Via2l0LSIpK2EucmVwbGFjZShsLCI6LW1vei0iKSthOmE7Y2FzZSAxZTM6c3dpdGNoKHQ9KG89YS5zdWJzdHJpbmcoMTMpLnRyaW0oKSkuaW5kZXhPZigiLSIpKzEsby5jaGFyQ29kZUF0KDApK28uY2hhckNvZGVBdCh0KSl7Y2FzZSAyMjY6bz1hLnJlcGxhY2UoZCwidGIiKTticmVhaztjYXNlIDIzMjpvPWEucmVwbGFjZShkLCJ0Yi1ybCIpO2JyZWFrO2Nhc2UgMjIwOm89YS5yZXBsYWNlKGQsImxyIik7YnJlYWs7ZGVmYXVsdDpyZXR1cm4gYX1yZXR1cm4iLXdlYmtpdC0iK2ErIi1tcy0iK28rYTtjYXNlIDEwMTc6aWYoLTE9PT1hLmluZGV4T2YoInN0aWNreSIsOSkpYnJlYWs7Y2FzZSA5NzU6c3dpdGNoKHQ9KGE9ZSkubGVuZ3RoLTEwLGk9KG89KDMzPT09YS5jaGFyQ29kZUF0KHQpP2Euc3Vic3RyaW5nKDAsdCk6YSkuc3Vic3RyaW5nKGUuaW5kZXhPZigiOiIsNykrMSkudHJpbSgpKS5jaGFyQ29kZUF0KDApKygwfG8uY2hhckNvZGVBdCg3KSkpe2Nhc2UgMjAzOmlmKG8uY2hhckNvZGVBdCg4KTwxMTEpYnJlYWs7Y2FzZSAxMTU6YT1hLnJlcGxhY2UobywiLXdlYmtpdC0iK28pKyI7IithO2JyZWFrO2Nhc2UgMjA3OmNhc2UgMTAyOmE9YS5yZXBsYWNlKG8sIi13ZWJraXQtIisoMTAyPGk/ImlubGluZS0iOiIiKSsiYm94IikrIjsiK2EucmVwbGFjZShvLCItd2Via2l0LSIrbykrIjsiK2EucmVwbGFjZShvLCItbXMtIitvKyJib3giKSsiOyIrYX1yZXR1cm4gYSsiOyI7Y2FzZSA5Mzg6aWYoNDU9PT1hLmNoYXJDb2RlQXQoNSkpc3dpdGNoKGEuY2hhckNvZGVBdCg2KSl7Y2FzZSAxMDU6cmV0dXJuIG89YS5yZXBsYWNlKCItaXRlbXMiLCIiKSwiLXdlYmtpdC0iK2ErIi13ZWJraXQtYm94LSIrbysiLW1zLWZsZXgtIitvK2E7Y2FzZSAxMTU6cmV0dXJuIi13ZWJraXQtIithKyItbXMtZmxleC1pdGVtLSIrYS5yZXBsYWNlKG0sIiIpK2E7ZGVmYXVsdDpyZXR1cm4iLXdlYmtpdC0iK2ErIi1tcy1mbGV4LWxpbmUtcGFjayIrYS5yZXBsYWNlKCJhbGlnbi1jb250ZW50IiwiIikucmVwbGFjZShtLCIiKSthfWJyZWFrO2Nhc2UgOTczOmNhc2UgOTg5OmlmKDQ1IT09YS5jaGFyQ29kZUF0KDMpfHwxMjI9PT1hLmNoYXJDb2RlQXQoNCkpYnJlYWs7Y2FzZSA5MzE6Y2FzZSA5NTM6aWYoITA9PT1oLnRlc3QoZSkpcmV0dXJuIDExNT09PShvPWUuc3Vic3RyaW5nKGUuaW5kZXhPZigiOiIpKzEpKS5jaGFyQ29kZUF0KDApP1AoZS5yZXBsYWNlKCJzdHJldGNoIiwiZmlsbC1hdmFpbGFibGUiKSx0LG4scikucmVwbGFjZSgiOmZpbGwtYXZhaWxhYmxlIiwiOnN0cmV0Y2giKTphLnJlcGxhY2UobywiLXdlYmtpdC0iK28pK2EucmVwbGFjZShvLCItbW96LSIrby5yZXBsYWNlKCJmaWxsLSIsIiIpKSthO2JyZWFrO2Nhc2UgOTYyOmlmKGE9Ii13ZWJraXQtIithKygxMDI9PT1hLmNoYXJDb2RlQXQoNSk/Ii1tcy0iK2E6IiIpK2EsMjExPT09bityJiYxMDU9PT1hLmNoYXJDb2RlQXQoMTMpJiYwPGEuaW5kZXhPZigidHJhbnNmb3JtIiwxMCkpcmV0dXJuIGEuc3Vic3RyaW5nKDAsYS5pbmRleE9mKCI7IiwyNykrMSkucmVwbGFjZShzLCIkMS13ZWJraXQtJDIiKSthfXJldHVybiBhfWZ1bmN0aW9uIEkoZSx0KXt2YXIgbj1lLmluZGV4T2YoMT09PXQ/IjoiOiJ7Iikscj1lLnN1YnN0cmluZygwLDMhPT10P246MTApLG49ZS5zdWJzdHJpbmcobisxLGUubGVuZ3RoLTEpO3JldHVybiBpKDIhPT10P3I6ci5yZXBsYWNlKGEsIiQxIiksbix0KX1mdW5jdGlvbiBfKGUsdCl7dmFyIG49UCh0LHQuY2hhckNvZGVBdCgwKSx0LmNoYXJDb2RlQXQoMSksdC5jaGFyQ29kZUF0KDIpKTtyZXR1cm4gbiE9PXQrIjsiP24ucmVwbGFjZShyLCIgb3IgKCQxKSIpLnN1YnN0cmluZyg0KToiKCIrdCsiKSJ9ZnVuY3Rpb24geihlLHQsbixyLG8sYSxpLGwsYyx1KXtmb3IodmFyIHMsZj0wLGQ9dDtmPCQ7KytmKXN3aXRjaChzPWJbZl0uY2FsbChwLGUsZCxuLHIsbyxhLGksbCxjLHUpKXtjYXNlIHZvaWQgMDpjYXNlITE6Y2FzZSEwOmNhc2UgbnVsbDpicmVhaztkZWZhdWx0OmQ9c31pZihkIT09dClyZXR1cm4gZH1mdW5jdGlvbiB0KGUpe3JldHVybiB2b2lkIDAhPT0oZT1lLnByZWZpeCkmJihpPW51bGwsZT8iZnVuY3Rpb24iIT10eXBlb2YgZT9IPTE6KEg9MixpPWUpOkg9MCksdH1mdW5jdGlvbiBwKGUsdCl7ZT1bZT1lLmNoYXJDb2RlQXQoMCk8MzM/ZS50cmltKCk6ZV0sMDwkJiZ2b2lkIDAhPT0obj16KC0xLHQsZSxlLEIsVSwwLDAsMCwwKSkmJiJzdHJpbmciPT10eXBlb2YgbiYmKHQ9bik7dmFyIG4sdD1mdW5jdGlvbiBlKHQsbixyLG8sYSl7Zm9yKHZhciBpLGwsYyx1LHMsZj0wLGQ9MCxwPTAsbT0wLGg9MCxnPTAsYj1jPWk9MCx5PTAsdj0wLHc9MCx4PTAsaz1yLmxlbmd0aCxTPWstMSxDPSIiLEU9IiIsTz0iIixqPSIiO3k8azspe2lmKGw9ci5jaGFyQ29kZUF0KHkpLHk9PT1TJiYwIT09ZCttK3ArZiYmKDAhPT1kJiYobD00Nz09PWQ/MTA6NDcpLG09cD1mPTAsaysrLFMrKyksMD09PWQrbStwK2Ype2lmKHk9PT1TJiYwPChDPTA8dj9DLnJlcGxhY2UoTCwiIik6QykudHJpbSgpLmxlbmd0aCl7c3dpdGNoKGwpe2Nhc2UgMzI6Y2FzZSA5OmNhc2UgNTk6Y2FzZSAxMzpjYXNlIDEwOmJyZWFrO2RlZmF1bHQ6Qys9ci5jaGFyQXQoeSl9bD01OX1zd2l0Y2gobCl7Y2FzZSAxMjM6Zm9yKGk9KEM9Qy50cmltKCkpLmNoYXJDb2RlQXQoMCksYz0xLHg9Kyt5O3k8azspe3N3aXRjaChsPXIuY2hhckNvZGVBdCh5KSl7Y2FzZSAxMjM6YysrO2JyZWFrO2Nhc2UgMTI1OmMtLTticmVhaztjYXNlIDQ3OnN3aXRjaChsPXIuY2hhckNvZGVBdCh5KzEpKXtjYXNlIDQyOmNhc2UgNDc6ZTp7Zm9yKGI9eSsxO2I8UzsrK2Ipc3dpdGNoKHIuY2hhckNvZGVBdChiKSl7Y2FzZSA0NzppZig0MiE9PWx8fDQyIT09ci5jaGFyQ29kZUF0KGItMSl8fHkrMj09PWIpYnJlYWs7eT1iKzE7YnJlYWsgZTtjYXNlIDEwOmlmKDQ3PT09bCl7eT1iKzE7YnJlYWsgZX19eT1ifX1icmVhaztjYXNlIDkxOmwrKztjYXNlIDQwOmwrKztjYXNlIDM0OmNhc2UgMzk6Zm9yKDt5Kys8UyYmci5jaGFyQ29kZUF0KHkpIT09bDspO31pZigwPT09YylicmVhazt5Kyt9aWYoYz1yLnN1YnN0cmluZyh4LHkpLDY0PT09KGk9MD09PWk/KEM9Qy5yZXBsYWNlKFQsIiIpLnRyaW0oKSkuY2hhckNvZGVBdCgwKTppKSl7c3dpdGNoKGw9KEM9MDx2P0MucmVwbGFjZShMLCIiKTpDKS5jaGFyQ29kZUF0KDEpKXtjYXNlIDEwMDpjYXNlIDEwOTpjYXNlIDExNTpjYXNlIDQ1OnY9bjticmVhaztkZWZhdWx0OnY9Vn1pZih4PShjPWUobix2LGMsbCxhKzEpKS5sZW5ndGgsMDwkJiYocz16KDMsYyx2PUEoVixDLHcpLG4sQixVLHgsbCxhLG8pLEM9di5qb2luKCIiKSx2b2lkIDAhPT1zKSYmMD09PSh4PShjPXMudHJpbSgpKS5sZW5ndGgpJiYobD0wLGM9IiIpLDA8eClzd2l0Y2gobCl7Y2FzZSAxMTU6Qz1DLnJlcGxhY2UoRCxfKTtjYXNlIDEwMDpjYXNlIDEwOTpjYXNlIDQ1OmM9QysieyIrYysifSI7YnJlYWs7Y2FzZSAxMDc6Yz0oQz1DLnJlcGxhY2UoTSwiJDEgJDIiKSkrInsiK2MrIn0iLGM9MT09PUh8fDI9PT1IJiZJKCJAIitjLDMpPyJALXdlYmtpdC0iK2MrIkAiK2M6IkAiK2M7YnJlYWs7ZGVmYXVsdDpjPUMrYywxMTI9PT1vJiYoRSs9YyxjPSIiKX1lbHNlIGM9IiJ9ZWxzZSBjPWUobixBKG4sQyx3KSxjLG8sYSsxKTtPKz1jLGM9dz12PWI9aT0wLEM9IiIsbD1yLmNoYXJDb2RlQXQoKyt5KTticmVhaztjYXNlIDEyNTpjYXNlIDU5OmlmKDE8KHg9KEM9KDA8dj9DLnJlcGxhY2UoTCwiIik6QykudHJpbSgpKS5sZW5ndGgpKXN3aXRjaCgwPT09YiYmKGk9Qy5jaGFyQ29kZUF0KDApLDQ1PT09aXx8OTY8aSYmaTwxMjMpJiYoeD0oQz1DLnJlcGxhY2UoIiAiLCI6IikpLmxlbmd0aCksMDwkJiZ2b2lkIDAhPT0ocz16KDEsQyxuLHQsQixVLEUubGVuZ3RoLG8sYSxvKSkmJjA9PT0oeD0oQz1zLnRyaW0oKSkubGVuZ3RoKSYmKEM9IlwwXDAiKSxpPUMuY2hhckNvZGVBdCgwKSxsPUMuY2hhckNvZGVBdCgxKSxpKXtjYXNlIDA6YnJlYWs7Y2FzZSA2NDppZigxMDU9PT1sfHw5OT09PWwpe2orPUMrci5jaGFyQXQoeSk7YnJlYWt9ZGVmYXVsdDo1OCE9PUMuY2hhckNvZGVBdCh4LTEpJiYoRSs9UChDLGksbCxDLmNoYXJDb2RlQXQoMikpKX13PXY9Yj1pPTAsQz0iIixsPXIuY2hhckNvZGVBdCgrK3kpfX1zd2l0Y2gobCl7Y2FzZSAxMzpjYXNlIDEwOjQ3PT09ZD9kPTA6MD09PTEraSYmMTA3IT09byYmMDxDLmxlbmd0aCYmKHY9MSxDKz0iXDAiKSwwPCQqVyYmeigwLEMsbix0LEIsVSxFLmxlbmd0aCxvLGEsbyksVT0xLEIrKzticmVhaztjYXNlIDU5OmNhc2UgMTI1OmlmKDA9PT1kK20rcCtmKXtVKys7YnJlYWt9ZGVmYXVsdDpzd2l0Y2goVSsrLHU9ci5jaGFyQXQoeSksbCl7Y2FzZSA5OmNhc2UgMzI6aWYoMD09PW0rZitkKXN3aXRjaChoKXtjYXNlIDQ0OmNhc2UgNTg6Y2FzZSA5OmNhc2UgMzI6dT0iIjticmVhaztkZWZhdWx0OjMyIT09bCYmKHU9IiAiKX1icmVhaztjYXNlIDA6dT0iXFwwIjticmVhaztjYXNlIDEyOnU9IlxcZiI7YnJlYWs7Y2FzZSAxMTp1PSJcXHYiO2JyZWFrO2Nhc2UgMzg6MD09PW0rZCtmJiYodj13PTEsdT0iXGYiK3UpO2JyZWFrO2Nhc2UgMTA4OmlmKDA9PT1tK2QrZitGJiYwPGIpc3dpdGNoKHktYil7Y2FzZSAyOjExMj09PWgmJjU4PT09ci5jaGFyQ29kZUF0KHktMykmJihGPWgpO2Nhc2UgODoxMTE9PT1nJiYoRj1nKX1icmVhaztjYXNlIDU4OjA9PT1tK2QrZiYmKGI9eSk7YnJlYWs7Y2FzZSA0NDowPT09ZCtwK20rZiYmKHY9MSx1Kz0iXHIiKTticmVhaztjYXNlIDM0OmNhc2UgMzk6MD09PWQmJihtPW09PT1sPzA6MD09PW0/bDptKTticmVhaztjYXNlIDkxOjA9PT1tK2QrcCYmZisrO2JyZWFrO2Nhc2UgOTM6MD09PW0rZCtwJiZmLS07YnJlYWs7Y2FzZSA0MTowPT09bStkK2YmJnAtLTticmVhaztjYXNlIDQwOjA9PT1tK2QrZiYmKDA9PT1pJiYyKmgrMypnIT01MzMmJihpPTEpLHArKyk7YnJlYWs7Y2FzZSA2NDowPT09ZCtwK20rZitiK2MmJihjPTEpO2JyZWFrO2Nhc2UgNDI6Y2FzZSA0NzppZighKDA8bStmK3ApKXN3aXRjaChkKXtjYXNlIDA6c3dpdGNoKDIqbCszKnIuY2hhckNvZGVBdCh5KzEpKXtjYXNlIDIzNTpkPTQ3O2JyZWFrO2Nhc2UgMjIwOng9eSxkPTQyfWJyZWFrO2Nhc2UgNDI6NDc9PT1sJiY0Mj09PWgmJngrMiE9PXkmJigzMz09PXIuY2hhckNvZGVBdCh4KzIpJiYoRSs9ci5zdWJzdHJpbmcoeCx5KzEpKSx1PSIiLGQ9MCl9fTA9PT1kJiYoQys9dSl9Zz1oLGg9bCx5Kyt9aWYoMDwoeD1FLmxlbmd0aCkpe2lmKHY9biwwPCQmJnZvaWQgMCE9PShzPXooMixFLHYsdCxCLFUseCxvLGEsbykpJiYwPT09KEU9cykubGVuZ3RoKXJldHVybiBqK0UrTztpZihFPXYuam9pbigiLCIpKyJ7IitFKyJ9IiwwIT1IKkYpe3N3aXRjaChGPTIhPT1IfHxJKEUsMik/RjowKXtjYXNlIDExMTpFPUUucmVwbGFjZShOLCI6LW1vei0kMSIpK0U7YnJlYWs7Y2FzZSAxMTI6RT1FLnJlcGxhY2UoUiwiOjotd2Via2l0LWlucHV0LSQxIikrRS5yZXBsYWNlKFIsIjo6LW1vei0kMSIpK0UucmVwbGFjZShSLCI6LW1zLWlucHV0LSQxIikrRX1GPTB9fXJldHVybiBqK0UrT30oVixlLHQsMCwwKTtyZXR1cm4gMDwkJiZ2b2lkIDAhPT0obj16KC0yLHQsZSxlLEIsVSx0Lmxlbmd0aCwwLDAsMCkpJiYodD1uKSxGPTAsVT1CPTEsdH12YXIgVD0vXlwwKy9nLEw9L1tcMFxyXGZdL2csbD0vOiAqL2csYz0vem9vfGdyYS8scz0vKFssOiBdKSh0cmFuc2Zvcm0pL2csZj0vLFxyKz8vZyxvPS8oW1x0XHJcbiBdKSpcZj8mL2csTT0vQChrXHcrKVxzKihcUyopXHMqLyxSPS86OihwbGFjZSkvZyxOPS86KHJlYWQtb25seSkvZyxkPS9bc3ZoXVx3Ky1bdGJscl17Mn0vLEQ9L1woXHMqKC4qKVxzKlwpL2cscj0vKFtcc1xTXSo/KTsvZyxtPS8tc2VsZnxmbGV4LS9nLGE9L1teXSo/KDpbcnBdW2VsXWFbXHctXSspW15dKi8saD0vc3RyZXRjaHw6XHMqXHcrXC0oPzpjb250ZXxhdmFpbCkvLGc9LyhbXi1dKShpbWFnZS1zZXRcKCkvLFU9MSxCPTEsRj0wLEg9MSxWPVtdLGI9W10sJD0wLGk9bnVsbCxXPTA7cmV0dXJuIHAudXNlPWZ1bmN0aW9uIGUodCl7c3dpdGNoKHQpe2Nhc2Ugdm9pZCAwOmNhc2UgbnVsbDokPWIubGVuZ3RoPTA7YnJlYWs7ZGVmYXVsdDppZigiZnVuY3Rpb24iPT10eXBlb2YgdCliWyQrK109dDtlbHNlIGlmKCJvYmplY3QiPT10eXBlb2YgdClmb3IodmFyIG49MCxyPXQubGVuZ3RoO248cjsrK24pZSh0W25dKTtlbHNlIFc9MHwhIXR9cmV0dXJuIGV9LHAuc2V0PXQsdm9pZCAwIT09ZSYmdChlKSxwfX0sZnVuY3Rpb24oZSx0LG4pe3QuYT17YW5pbWF0aW9uSXRlcmF0aW9uQ291bnQ6MSxib3JkZXJJbWFnZU91dHNldDoxLGJvcmRlckltYWdlU2xpY2U6MSxib3JkZXJJbWFnZVdpZHRoOjEsYm94RmxleDoxLGJveEZsZXhHcm91cDoxLGJveE9yZGluYWxHcm91cDoxLGNvbHVtbkNvdW50OjEsY29sdW1uczoxLGZsZXg6MSxmbGV4R3JvdzoxLGZsZXhQb3NpdGl2ZToxLGZsZXhTaHJpbms6MSxmbGV4TmVnYXRpdmU6MSxmbGV4T3JkZXI6MSxncmlkUm93OjEsZ3JpZFJvd0VuZDoxLGdyaWRSb3dTcGFuOjEsZ3JpZFJvd1N0YXJ0OjEsZ3JpZENvbHVtbjoxLGdyaWRDb2x1bW5FbmQ6MSxncmlkQ29sdW1uU3BhbjoxLGdyaWRDb2x1bW5TdGFydDoxLG1zR3JpZFJvdzoxLG1zR3JpZFJvd1NwYW46MSxtc0dyaWRDb2x1bW46MSxtc0dyaWRDb2x1bW5TcGFuOjEsZm9udFdlaWdodDoxLGxpbmVIZWlnaHQ6MSxvcGFjaXR5OjEsb3JkZXI6MSxvcnBoYW5zOjEsdGFiU2l6ZToxLHdpZG93czoxLHpJbmRleDoxLHpvb206MSxXZWJraXRMaW5lQ2xhbXA6MSxmaWxsT3BhY2l0eToxLGZsb29kT3BhY2l0eToxLHN0b3BPcGFjaXR5OjEsc3Ryb2tlRGFzaGFycmF5OjEsc3Ryb2tlRGFzaG9mZnNldDoxLHN0cm9rZU1pdGVybGltaXQ6MSxzdHJva2VPcGFjaXR5OjEsc3Ryb2tlV2lkdGg6MX19LGZ1bmN0aW9uKGUsdCxuKXtlLmV4cG9ydHM9big5OSl9LGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKDEwMCk7bigxNjMpLG4oMTY0KSxuKDE2NSksbigxNjYpLGUuZXhwb3J0cz1yfSxmdW5jdGlvbihlLHQsbil7dmFyIHI9bigxMDEpO24oMTYyKSxlLmV4cG9ydHM9cn0sZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oMTAyKTtuKDE1OSksZS5leHBvcnRzPXJ9LGZ1bmN0aW9uKGUsdCxuKXtuKDU5KSxuKDc5KSxuKDEzMiksbigxMzQpLG4oODkpLG4oOTApLG4oOTEpLG4oMTU1KSxuKDE1Nik7bj1uKDE1OCk7ZS5leHBvcnRzPW4uUHJvbWlzZX0sZnVuY3Rpb24oZSx0LG4pe2Z1bmN0aW9uIG8oZSx0KXt2YXIgbixyPWEodix0aGlzKTtyZXR1cm4gbD9uPWwobmV3IGIscj9pKHRoaXMpOnYpOihuPXI/dGhpczp1KHYpLHMobixnLCJFcnJvciIpKSx2b2lkIDAhPT10JiZzKG4sIm1lc3NhZ2UiLGgodCkpLHAobixvLG4uc3RhY2ssMSksMjxhcmd1bWVudHMubGVuZ3RoJiZkKG4sYXJndW1lbnRzWzJdKSxtKGUseSx7dGhhdDpyPVtdfSkscyhuLCJlcnJvcnMiLHIpLG59dmFyIHI9big3KSxhPW4oMzEpLGk9big1MSksbD1uKDUyKSxjPW4oNzMpLHU9bigzNikscz1uKDE4KSxmPW4oMjMpLGQ9bigxMjEpLHA9bigxMjIpLG09bigyNSksaD1uKDEyOSksZz1uKDUpKCJ0b1N0cmluZ1RhZyIpLGI9RXJyb3IseT1bXS5wdXNoLHY9KGw/bChvLGIpOmMobyxiLHtuYW1lOiEwfSksby5wcm90b3R5cGU9dShiLnByb3RvdHlwZSx7Y29uc3RydWN0b3I6ZigxLG8pLG1lc3NhZ2U6ZigxLCIiKSxuYW1lOmYoMSwiQWdncmVnYXRlRXJyb3IiKX0pKTtyKHtnbG9iYWw6ITAsY29uc3RydWN0b3I6ITAsYXJpdHk6Mn0se0FnZ3JlZ2F0ZUVycm9yOm99KX0sZnVuY3Rpb24oZSx0LG4pe3ZhciByPXt9LnByb3BlcnR5SXNFbnVtZXJhYmxlLG89T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixhPW8mJiFyLmNhbGwoezE6Mn0sMSk7dC5mPWE/ZnVuY3Rpb24oZSl7ZT1vKHRoaXMsZSk7cmV0dXJuISFlJiZlLmVudW1lcmFibGV9OnJ9LGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKDQpLG89big2KSxhPW4oMjkpLGk9T2JqZWN0LGw9cigiIi5zcGxpdCk7ZS5leHBvcnRzPW8oZnVuY3Rpb24oKXtyZXR1cm4haSgieiIpLnByb3BlcnR5SXNFbnVtZXJhYmxlKDApfSk/ZnVuY3Rpb24oZSl7cmV0dXJuIlN0cmluZyI9PT1hKGUpP2woZSwiIik6aShlKX06aX0sZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oOCksbz1uKDEzKSxhPW4oNjIpLGk9big0MyksbD1uKDEwNyksbj1uKDUpLGM9VHlwZUVycm9yLHU9bigidG9QcmltaXRpdmUiKTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXtpZighbyhlKXx8YShlKSlyZXR1cm4gZTt2YXIgbj1pKGUsdSk7aWYobil7aWYobj1yKG4sZSx0PXZvaWQgMD09PXQ/ImRlZmF1bHQiOnQpLCFvKG4pfHxhKG4pKXJldHVybiBuO3Rocm93IG5ldyBjKCJDYW4ndCBjb252ZXJ0IG9iamVjdCB0byBwcmltaXRpdmUgdmFsdWUiKX1yZXR1cm4gbChlLHQ9dm9pZCAwPT09dD8ibnVtYmVyIjp0KX19LGZ1bmN0aW9uKGUsdCxuKXt2YXIgbz1uKDgpLGE9bigyKSxpPW4oMTMpLGw9VHlwZUVycm9yO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3ZhciBuLHI7aWYoInN0cmluZyI9PT10JiZhKG49ZS50b1N0cmluZykmJiFpKHI9byhuLGUpKSlyZXR1cm4gcjtpZihhKG49ZS52YWx1ZU9mKSYmIWkocj1vKG4sZSkpKXJldHVybiByO2lmKCJzdHJpbmciIT09dCYmYShuPWUudG9TdHJpbmcpJiYhaShyPW8obixlKSkpcmV0dXJuIHI7dGhyb3cgbmV3IGwoIkNhbid0IGNvbnZlcnQgb2JqZWN0IHRvIHByaW1pdGl2ZSB2YWx1ZSIpfX0sZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oMyksbj1uKDIpLHI9ci5XZWFrTWFwO2UuZXhwb3J0cz1uKHIpJiYvbmF0aXZlIGNvZGUvLnRlc3QoU3RyaW5nKHIpKX0sZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oMTQpLG89big0KSxhPW4oMTEwKSxpPW4oMTE1KSxsPW4oMTIpLGM9byhbXS5jb25jYXQpO2UuZXhwb3J0cz1yKCJSZWZsZWN0Iiwib3duS2V5cyIpfHxmdW5jdGlvbihlKXt2YXIgdD1hLmYobChlKSksbj1pLmY7cmV0dXJuIG4/Yyh0LG4oZSkpOnR9fSxmdW5jdGlvbihlLHQsbil7dmFyIHI9big3NCksbz1uKDUwKS5jb25jYXQoImxlbmd0aCIsInByb3RvdHlwZSIpO3QuZj1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lc3x8ZnVuY3Rpb24oZSl7cmV0dXJuIHIoZSxvKX19LGZ1bmN0aW9uKGUsdCxuKXtmdW5jdGlvbiByKGwpe3JldHVybiBmdW5jdGlvbihlLHQsbil7dmFyIHIsbz1jKGUpLGE9cyhvKSxpPXUobixhKTtpZihsJiZ0IT10KXtmb3IoO2k8YTspaWYoKHI9b1tpKytdKSE9cilyZXR1cm4hMH1lbHNlIGZvcig7aTxhO2krKylpZigobHx8aSBpbiBvKSYmb1tpXT09PXQpcmV0dXJuIGx8fGl8fDA7cmV0dXJuIWwmJi0xfX12YXIgYz1uKDI0KSx1PW4oMTEyKSxzPW4oNzUpO2UuZXhwb3J0cz17aW5jbHVkZXM6cighMCksaW5kZXhPZjpyKCExKX19LGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKDQ5KSxvPU1hdGgubWF4LGE9TWF0aC5taW47ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7ZT1yKGUpO3JldHVybiBlPDA/byhlK3QsMCk6YShlLHQpfX0sZnVuY3Rpb24oZSx0LG4pe3ZhciByPU1hdGguY2VpbCxvPU1hdGguZmxvb3I7ZS5leHBvcnRzPU1hdGgudHJ1bmN8fGZ1bmN0aW9uKGUpe2U9K2U7cmV0dXJuKDA8ZT9vOnIpKGUpfX0sZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oNDkpLG89TWF0aC5taW47ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiAwPGU/byhyKGUpLDkwMDcxOTkyNTQ3NDA5OTEpOjB9fSxmdW5jdGlvbihlLHQsbil7dC5mPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHN9LGZ1bmN0aW9uKGUsdCxuKXtuPW4oNik7ZS5leHBvcnRzPSFuKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSgpe31yZXR1cm4gZS5wcm90b3R5cGUuY29uc3RydWN0b3I9bnVsbCxPYmplY3QuZ2V0UHJvdG90eXBlT2YobmV3IGUpIT09ZS5wcm90b3R5cGV9KX0sZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oNCksbz1uKDEwKTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0LG4pe3RyeXtyZXR1cm4gcihvKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSx0KVtuXSkpfWNhdGNoKGUpe319fSxmdW5jdGlvbihlLHQsbil7dmFyIHI9bigyKSxvPVN0cmluZyxhPVR5cGVFcnJvcjtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7aWYoIm9iamVjdCI9PXR5cGVvZiBlfHxyKGUpKXJldHVybiBlO3Rocm93IG5ldyBhKCJDYW4ndCBzZXQgIitvKGUpKyIgYXMgYSBwcm90b3R5cGUiKX19LGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKDkpLG89big3MCksbD1uKDE3KSxjPW4oMTIpLHU9bigyNCkscz1uKDEyMCk7dC5mPXImJiFvP09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzOmZ1bmN0aW9uKGUsdCl7YyhlKTtmb3IodmFyIG4scj11KHQpLG89cyh0KSxhPW8ubGVuZ3RoLGk9MDtpPGE7KWwuZihlLG49b1tpKytdLHJbbl0pO3JldHVybiBlfX0sZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oNzQpLG89big1MCk7ZS5leHBvcnRzPU9iamVjdC5rZXlzfHxmdW5jdGlvbihlKXtyZXR1cm4gcihlLG8pfX0sZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oMTMpLG89bigxOCk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7cih0KSYmImNhdXNlImluIHQmJm8oZSwiY2F1c2UiLHQuY2F1c2UpfX0sZnVuY3Rpb24oZSx0LG4pe3ZhciBvPW4oMTgpLGE9bigxMjMpLGk9bigxMjQpLGw9RXJyb3IuY2FwdHVyZVN0YWNrVHJhY2U7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCxuLHIpe2kmJihsP2woZSx0KTpvKGUsInN0YWNrIixhKG4scikpKX19LGZ1bmN0aW9uKGUsdCxuKXt2YXIgbj1uKDQpLHI9RXJyb3Isbz1uKCIiLnJlcGxhY2UpLG49U3RyaW5nKG5ldyByKCJ6eGNhc2QiKS5zdGFjayksYT0vXG5ccyphdCBbXjpdKjpbXlxuXSovLGk9YS50ZXN0KG4pO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe2lmKGkmJiJzdHJpbmciPT10eXBlb2YgZSYmIXIucHJlcGFyZVN0YWNrVHJhY2UpZm9yKDt0LS07KWU9byhlLGEsIiIpO3JldHVybiBlfX0sZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oNiksbz1uKDIzKTtlLmV4cG9ydHM9IXIoZnVuY3Rpb24oKXt2YXIgZT1uZXcgRXJyb3IoImEiKTtyZXR1cm4hKCJzdGFjayJpbiBlKXx8KE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJzdGFjayIsbygxLDcpKSw3IT09ZS5zdGFjayl9KX0sZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oMjkpLG89big0KTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7aWYoIkZ1bmN0aW9uIj09PXIoZSkpcmV0dXJuIG8oZSl9fSxmdW5jdGlvbihlLHQsbil7dmFyIHI9big1KSxvPW4oMjYpLGE9cigiaXRlcmF0b3IiKSxpPUFycmF5LnByb3RvdHlwZTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuIHZvaWQgMCE9PWUmJihvLkFycmF5PT09ZXx8aVthXT09PWUpfX0sZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oOCksbz1uKDEwKSxhPW4oMTIpLGk9bigzMyksbD1uKDc4KSxjPVR5cGVFcnJvcjtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt0PWFyZ3VtZW50cy5sZW5ndGg8Mj9sKGUpOnQ7aWYobyh0KSlyZXR1cm4gYShyKHQsZSkpO3Rocm93IG5ldyBjKGkoZSkrIiBpcyBub3QgaXRlcmFibGUiKX19LGZ1bmN0aW9uKGUsdCxuKXt2YXIgYT1uKDgpLGk9bigxMiksbD1uKDQzKTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLG87aShlKTt0cnl7aWYoIShyPWwoZSwicmV0dXJuIikpKXtpZigidGhyb3ciPT09dCl0aHJvdyBuO3JldHVybiBufXI9YShyLGUpfWNhdGNoKGUpe289ITAscj1lfWlmKCJ0aHJvdyI9PT10KXRocm93IG47aWYobyl0aHJvdyByO3JldHVybiBpKHIpLG59fSxmdW5jdGlvbihlLHQsbil7dmFyIHI9big1NSk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHZvaWQgMD09PWU/YXJndW1lbnRzLmxlbmd0aDwyPyIiOnQ6cihlKX19LGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKDUpLG89bigzNiksbj1uKDE3KS5mLGE9cigidW5zY29wYWJsZXMiKSxpPUFycmF5LnByb3RvdHlwZTt2b2lkIDA9PT1pW2FdJiZuKGksYSx7Y29uZmlndXJhYmxlOiEwLHZhbHVlOm8obnVsbCl9KSxlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7aVthXVtlXT0hMH19LGZ1bmN0aW9uKGUsdCxuKXtmdW5jdGlvbiBvKCl7cmV0dXJuIHRoaXN9dmFyIGE9big4MSkuSXRlcmF0b3JQcm90b3R5cGUsaT1uKDM2KSxsPW4oMjMpLGM9bigzOCksdT1uKDI2KTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0LG4scil7dCs9IiBJdGVyYXRvciI7cmV0dXJuIGUucHJvdG90eXBlPWkoYSx7bmV4dDpsKCshcixuKX0pLGMoZSx0LCExLCEwKSx1W3RdPW8sZX19LGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKDU0KSxvPW4oMTkpLG49bigxMzMpO3J8fG8oT2JqZWN0LnByb3RvdHlwZSwidG9TdHJpbmciLG4se3Vuc2FmZTohMH0pfSxmdW5jdGlvbihlLHQsbil7dmFyIHI9big1NCksbz1uKDM3KTtlLmV4cG9ydHM9cj97fS50b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiJbb2JqZWN0ICIrbyh0aGlzKSsiXSJ9fSxmdW5jdGlvbihlLHQsbil7bigxMzUpLG4oMTQ5KSxuKDE1MSksbigxNTIpLG4oMTUzKSxuKDE1NCl9LGZ1bmN0aW9uKFIsTixlKXtmdW5jdGlvbiBhKGUsdCl7dmFyIG4scixvLGEsaT10LnZhbHVlLGw9dC5zdGF0ZT09PU8sYz1sP2Uub2s6ZS5mYWlsLHU9ZS5yZXNvbHZlLHM9ZS5yZWplY3QsZj1lLmRvbWFpbjt0cnl7Yz8obHx8KHQucmVqZWN0aW9uPT09QSYmKGE9dCxtKGgscCxmdW5jdGlvbigpe3ZhciBlPWEuZmFjYWRlO2Q/Uy5lbWl0KCJyZWplY3Rpb25IYW5kbGVkIixlKTpfKEosZSxhLnZhbHVlKX0pKSx0LnJlamVjdGlvbj1qKSwhMD09PWM/bj1pOihmJiZmLmVudGVyKCksbj1jKGkpLGYmJihmLmV4aXQoKSxvPSEwKSksbj09PWUucHJvbWlzZT9zKG5ldyB4KCJQcm9taXNlLWNoYWluIGN5Y2xlIikpOihyPVAobikpP20ocixuLHUscyk6dShuKSk6cyhpKX1jYXRjaChlKXtmJiYhbyYmZi5leGl0KCkscyhlKX19dmFyIG4sdCxyLEQ9ZSg3KSxVPWUoMTUpLGQ9ZSgzOSkscD1lKDMpLG09ZSg4KSxvPWUoMTkpLGk9ZSg1MiksQj1lKDM4KSxGPWUoMTM2KSxIPWUoMTApLGw9ZSgyKSxWPWUoMTMpLCQ9ZSgxMzgpLFc9ZSg4MyksaD1lKDg0KS5zZXQsYz1lKDE0NCksRz1lKDE0NykscT1lKDIwKSxaPWUoODYpLHU9ZSgzNSkscz1lKDIxKSxmPWUoMjcpLGU9ZSgxNiksZz0iUHJvbWlzZSIsYj1mLkNPTlNUUlVDVE9SLFg9Zi5SRUpFQ1RJT05fRVZFTlQsZj1mLlNVQkNMQVNTSU5HLHk9dS5nZXR0ZXJGb3IoZyksWT11LnNldCx1PXMmJnMucHJvdG90eXBlLHY9cyx3PXUseD1wLlR5cGVFcnJvcixrPXAuZG9jdW1lbnQsUz1wLnByb2Nlc3MsQz1lLmYsUT1DLEs9ISEoayYmay5jcmVhdGVFdmVudCYmcC5kaXNwYXRjaEV2ZW50KSxFPSJ1bmhhbmRsZWRyZWplY3Rpb24iLEo9InJlamVjdGlvbmhhbmRsZWQiLE89MSxlZT0yLGo9MSxBPTIsUD1mdW5jdGlvbihlKXt2YXIgdDtyZXR1cm4hKCFWKGUpfHwhbCh0PWUudGhlbikpJiZ0fSxJPWZ1bmN0aW9uKG4sbyl7bi5ub3RpZmllZHx8KG4ubm90aWZpZWQ9ITAsYyhmdW5jdGlvbigpe2Zvcih2YXIgZSxyLHQ9bi5yZWFjdGlvbnM7ZT10LmdldCgpOylhKGUsbik7bi5ub3RpZmllZD0hMSxvJiYhbi5yZWplY3Rpb24mJihyPW4sbShoLHAsZnVuY3Rpb24oKXt2YXIgZT1yLmZhY2FkZSx0PXIudmFsdWUsbj16KHIpO2lmKG4mJihuPXEoZnVuY3Rpb24oKXtkP1MuZW1pdCgidW5oYW5kbGVkUmVqZWN0aW9uIix0LGUpOl8oRSxlLHQpfSksci5yZWplY3Rpb249ZHx8eihyKT9BOmosbi5lcnJvcikpdGhyb3cgbi52YWx1ZX0pKX0pKX0sXz1mdW5jdGlvbihlLHQsbil7dmFyIHI7Sz8oKHI9ay5jcmVhdGVFdmVudCgiRXZlbnQiKSkucHJvbWlzZT10LHIucmVhc29uPW4sci5pbml0RXZlbnQoZSwhMSwhMCkscC5kaXNwYXRjaEV2ZW50KHIpKTpyPXtwcm9taXNlOnQscmVhc29uOm59LCFYJiYodD1wWyJvbiIrZV0pP3Qocik6ZT09PUUmJkcoIlVuaGFuZGxlZCBwcm9taXNlIHJlamVjdGlvbiIsbil9LHo9ZnVuY3Rpb24oZSl7cmV0dXJuIGUucmVqZWN0aW9uIT09aiYmIWUucGFyZW50fSxUPWZ1bmN0aW9uKHQsbixyKXtyZXR1cm4gZnVuY3Rpb24oZSl7dChuLGUscil9fSxMPWZ1bmN0aW9uKGUsdCxuKXtlLmRvbmV8fChlLmRvbmU9ITAsKGU9bj9uOmUpLnZhbHVlPXQsZS5zdGF0ZT1lZSxJKGUsITApKX0sTT1mdW5jdGlvbihuLGUsdCl7aWYoIW4uZG9uZSl7bi5kb25lPSEwLHQmJihuPXQpO3RyeXtpZihuLmZhY2FkZT09PWUpdGhyb3cgbmV3IHgoIlByb21pc2UgY2FuJ3QgYmUgcmVzb2x2ZWQgaXRzZWxmIik7dmFyIHI9UChlKTtyP2MoZnVuY3Rpb24oKXt2YXIgdD17ZG9uZTohMX07dHJ5e20ocixlLFQoTSx0LG4pLFQoTCx0LG4pKX1jYXRjaChlKXtMKHQsZSxuKX19KToobi52YWx1ZT1lLG4uc3RhdGU9TyxJKG4sITEpKX1jYXRjaChlKXtMKHtkb25lOiExfSxlLG4pfX19O2lmKGImJih3PSh2PWZ1bmN0aW9uKGUpeyQodGhpcyx3KSxIKGUpLG0obix0aGlzKTt2YXIgdD15KHRoaXMpO3RyeXtlKFQoTSx0KSxUKEwsdCkpfWNhdGNoKGUpe0wodCxlKX19KS5wcm90b3R5cGUsKG49ZnVuY3Rpb24oZSl7WSh0aGlzLHt0eXBlOmcsZG9uZTohMSxub3RpZmllZDohMSxwYXJlbnQ6ITEscmVhY3Rpb25zOm5ldyBaLHJlamVjdGlvbjohMSxzdGF0ZTowLHZhbHVlOnZvaWQgMH0pfSkucHJvdG90eXBlPW8odywidGhlbiIsZnVuY3Rpb24oZSx0KXt2YXIgbj15KHRoaXMpLHI9QyhXKHRoaXMsdikpO3JldHVybiBuLnBhcmVudD0hMCxyLm9rPSFsKGUpfHxlLHIuZmFpbD1sKHQpJiZ0LHIuZG9tYWluPWQ/Uy5kb21haW46dm9pZCAwLDA9PT1uLnN0YXRlP24ucmVhY3Rpb25zLmFkZChyKTpjKGZ1bmN0aW9uKCl7YShyLG4pfSksci5wcm9taXNlfSksdD1mdW5jdGlvbigpe3ZhciBlPW5ldyBuLHQ9eShlKTt0aGlzLnByb21pc2U9ZSx0aGlzLnJlc29sdmU9VChNLHQpLHRoaXMucmVqZWN0PVQoTCx0KX0sZS5mPUM9ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT12fHx2b2lkIDA9PT1lP25ldyB0OlEoZSl9LCFVKSYmbChzKSYmdSE9PU9iamVjdC5wcm90b3R5cGUpe3I9dS50aGVuLGZ8fG8odSwidGhlbiIsZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzO3JldHVybiBuZXcgdihmdW5jdGlvbihlLHQpe20ocixuLGUsdCl9KS50aGVuKGUsdCl9LHt1bnNhZmU6ITB9KTt0cnl7ZGVsZXRlIHUuY29uc3RydWN0b3J9Y2F0Y2goZSl7fWkmJmkodSx3KX1EKHtnbG9iYWw6ITAsY29uc3RydWN0b3I6ITAsd3JhcDohMCxmb3JjZWQ6Yn0se1Byb21pc2U6dn0pLEIodixnLCExLCEwKSxGKGcpfSxmdW5jdGlvbihlLHQsbil7dmFyIHI9bigxNCksbz1uKDEzNyksYT1uKDUpLGk9big5KSxsPWEoInNwZWNpZXMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7ZT1yKGUpO2kmJmUmJiFlW2xdJiZvKGUsbCx7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzfX0pfX0sZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oNzEpLG89bigxNyk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gbi5nZXQmJnIobi5nZXQsdCx7Z2V0dGVyOiEwfSksbi5zZXQmJnIobi5zZXQsdCx7c2V0dGVyOiEwfSksby5mKGUsdCxuKX19LGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKDMxKSxvPVR5cGVFcnJvcjtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXtpZihyKHQsZSkpcmV0dXJuIGU7dGhyb3cgbmV3IG8oIkluY29ycmVjdCBpbnZvY2F0aW9uIil9fSxmdW5jdGlvbihlLHQsbil7dmFyIHI9bigxNDApLG89bigzMyksYT1UeXBlRXJyb3I7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe2lmKHIoZSkpcmV0dXJuIGU7dGhyb3cgbmV3IGEobyhlKSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIil9fSxmdW5jdGlvbihlLHQsbil7ZnVuY3Rpb24gcigpe31mdW5jdGlvbiBvKGUpe2lmKCFjKGUpKXJldHVybiExO3RyeXtyZXR1cm4gcChyLGQsZSksITB9Y2F0Y2goZSl7cmV0dXJuITF9fWZ1bmN0aW9uIGEoZSl7aWYoIWMoZSkpcmV0dXJuITE7c3dpdGNoKHUoZSkpe2Nhc2UiQXN5bmNGdW5jdGlvbiI6Y2FzZSJHZW5lcmF0b3JGdW5jdGlvbiI6Y2FzZSJBc3luY0dlbmVyYXRvckZ1bmN0aW9uIjpyZXR1cm4hMX10cnl7cmV0dXJuIGd8fCEhaChtLGYoZSkpfWNhdGNoKGUpe3JldHVybiEwfX12YXIgaT1uKDQpLGw9big2KSxjPW4oMiksdT1uKDM3KSxzPW4oMTQpLGY9big0NiksZD1bXSxwPXMoIlJlZmxlY3QiLCJjb25zdHJ1Y3QiKSxtPS9eXHMqKD86Y2xhc3N8ZnVuY3Rpb24pXGIvLGg9aShtLmV4ZWMpLGc9IW0udGVzdChyKTthLnNoYW09ITAsZS5leHBvcnRzPSFwfHxsKGZ1bmN0aW9uKCl7dmFyIGU7cmV0dXJuIG8oby5jYWxsKXx8IW8oT2JqZWN0KXx8IW8oZnVuY3Rpb24oKXtlPSEwfSl8fGV9KT9hOm99LGZ1bmN0aW9uKGUsdCxuKXt2YXIgbj1uKDI4KSxyPUZ1bmN0aW9uLnByb3RvdHlwZSxvPXIuYXBwbHksYT1yLmNhbGw7ZS5leHBvcnRzPSJvYmplY3QiPT10eXBlb2YgUmVmbGVjdCYmUmVmbGVjdC5hcHBseXx8KG4/YS5iaW5kKG8pOmZ1bmN0aW9uKCl7cmV0dXJuIGEuYXBwbHkobyxhcmd1bWVudHMpfSl9LGZ1bmN0aW9uKGUsdCxuKXtuPW4oNCk7ZS5leHBvcnRzPW4oW10uc2xpY2UpfSxmdW5jdGlvbihlLHQsbil7dmFyIHI9VHlwZUVycm9yO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe2lmKGU8dCl0aHJvdyBuZXcgcigiTm90IGVub3VnaCBhcmd1bWVudHMiKTtyZXR1cm4gZX19LGZ1bmN0aW9uKGUsdCxuKXt2YXIgcixvLGEsaSxsLGMsdT1uKDMpLHM9big1MyksZj1uKDQxKS5mLGQ9big4NCkuc2V0LHA9big4NiksbT1uKDg1KSxoPW4oMTQ1KSxnPW4oMTQ2KSxiPW4oMzkpLG49dS5NdXRhdGlvbk9ic2VydmVyfHx1LldlYktpdE11dGF0aW9uT2JzZXJ2ZXIseT11LmRvY3VtZW50LHY9dS5wcm9jZXNzLHc9dS5Qcm9taXNlLGY9Zih1LCJxdWV1ZU1pY3JvdGFzayIpLGY9ZiYmZi52YWx1ZTtmfHwoaT1uZXcgcCxsPWZ1bmN0aW9uKCl7dmFyIGUsdDtmb3IoYiYmKGU9di5kb21haW4pJiZlLmV4aXQoKTt0PWkuZ2V0KCk7KXRyeXt0KCl9Y2F0Y2goZSl7dGhyb3cgaS5oZWFkJiZjKCksZX1lJiZlLmVudGVyKCl9LGM9bXx8Ynx8Z3x8IW58fCF5PyFoJiZ3JiZ3LnJlc29sdmU/KChwPXcucmVzb2x2ZSh2b2lkIDApKS5jb25zdHJ1Y3Rvcj13LGE9cyhwLnRoZW4scCksZnVuY3Rpb24oKXthKGwpfSk6Yj9mdW5jdGlvbigpe3YubmV4dFRpY2sobCl9OihkPXMoZCx1KSxmdW5jdGlvbigpe2QobCl9KToocj0hMCxvPXkuY3JlYXRlVGV4dE5vZGUoIiIpLG5ldyBuKGwpLm9ic2VydmUobyx7Y2hhcmFjdGVyRGF0YTohMH0pLGZ1bmN0aW9uKCl7by5kYXRhPXI9IXJ9KSxmPWZ1bmN0aW9uKGUpe2kuaGVhZHx8YygpLGkuYWRkKGUpfSksZS5leHBvcnRzPWZ9LGZ1bmN0aW9uKGUsdCxuKXtuPW4oMzIpO2UuZXhwb3J0cz0vaXBhZHxpcGhvbmV8aXBvZC9pLnRlc3QobikmJiJ1bmRlZmluZWQiIT10eXBlb2YgUGViYmxlfSxmdW5jdGlvbihlLHQsbil7bj1uKDMyKTtlLmV4cG9ydHM9L3dlYjBzKD8hLipjaHJvbWUpL2kudGVzdChuKX0sZnVuY3Rpb24oZSx0LG4pe2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3RyeXsxPT09YXJndW1lbnRzLmxlbmd0aD9jb25zb2xlLmVycm9yKGUpOmNvbnNvbGUuZXJyb3IoZSx0KX1jYXRjaChlKXt9fX0sZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oODcpLG49bigzOSk7ZS5leHBvcnRzPSFyJiYhbiYmIm9iamVjdCI9PXR5cGVvZiB3aW5kb3cmJiJvYmplY3QiPT10eXBlb2YgZG9jdW1lbnR9LGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKDcpLHM9big4KSxmPW4oMTApLG89bigxNiksYT1uKDIwKSxkPW4oMjUpO3Ioe3RhcmdldDoiUHJvbWlzZSIsc3RhdDohMCxmb3JjZWQ6big0MCl9LHthbGw6ZnVuY3Rpb24oZSl7dmFyIGw9dGhpcyx0PW8uZihsKSxjPXQucmVzb2x2ZSx1PXQucmVqZWN0LG49YShmdW5jdGlvbigpe3ZhciByPWYobC5yZXNvbHZlKSxvPVtdLGE9MCxpPTE7ZChlLGZ1bmN0aW9uKGUpe3ZhciB0PWErKyxuPSExO2krKyxzKHIsbCxlKS50aGVuKGZ1bmN0aW9uKGUpe258fChuPSEwLG9bdF09ZSwtLWkpfHxjKG8pfSx1KX0pLC0taXx8YyhvKX0pO3JldHVybiBuLmVycm9yJiZ1KG4udmFsdWUpLHQucHJvbWlzZX19KX0sZnVuY3Rpb24oZSx0LG4pe3ZhciBvPW4oNSkoIml0ZXJhdG9yIiksYT0hMTt0cnl7dmFyIHI9MCxpPXtuZXh0OmZ1bmN0aW9uKCl7cmV0dXJue2RvbmU6ISFyKyt9fSxyZXR1cm46ZnVuY3Rpb24oKXthPSEwfX07aVtvXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxBcnJheS5mcm9tKGksZnVuY3Rpb24oKXt0aHJvdyAyfSl9Y2F0Y2goZSl7fWUuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3RyeXtpZighdCYmIWEpcmV0dXJuITF9Y2F0Y2goZSl7cmV0dXJuITF9dmFyIG49ITE7dHJ5e3ZhciByPXt9O3Jbb109ZnVuY3Rpb24oKXtyZXR1cm57bmV4dDpmdW5jdGlvbigpe3JldHVybntkb25lOm49ITB9fX19LGUocil9Y2F0Y2goZSl7fXJldHVybiBufX0sZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oNyksbz1uKDE1KSxhPW4oMjcpLkNPTlNUUlVDVE9SLGk9bigyMSksbD1uKDE0KSxjPW4oMiksbj1uKDE5KSx1PWkmJmkucHJvdG90eXBlO3Ioe3RhcmdldDoiUHJvbWlzZSIscHJvdG86ITAsZm9yY2VkOmEscmVhbDohMH0se2NhdGNoOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnRoZW4odm9pZCAwLGUpfX0pLCFvJiZjKGkpJiYocj1sKCJQcm9taXNlIikucHJvdG90eXBlLmNhdGNoLHUuY2F0Y2ghPT1yKSYmbih1LCJjYXRjaCIscix7dW5zYWZlOiEwfSl9LGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKDcpLGE9big4KSxpPW4oMTApLGw9bigxNiksYz1uKDIwKSx1PW4oMjUpO3Ioe3RhcmdldDoiUHJvbWlzZSIsc3RhdDohMCxmb3JjZWQ6big0MCl9LHtyYWNlOmZ1bmN0aW9uKGUpe3ZhciBuPXRoaXMscj1sLmYobiksbz1yLnJlamVjdCx0PWMoZnVuY3Rpb24oKXt2YXIgdD1pKG4ucmVzb2x2ZSk7dShlLGZ1bmN0aW9uKGUpe2EodCxuLGUpLnRoZW4oci5yZXNvbHZlLG8pfSl9KTtyZXR1cm4gdC5lcnJvciYmbyh0LnZhbHVlKSxyLnByb21pc2V9fSl9LGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKDcpLG89big4KSxhPW4oMTYpO3Ioe3RhcmdldDoiUHJvbWlzZSIsc3RhdDohMCxmb3JjZWQ6bigyNykuQ09OU1RSVUNUT1J9LHtyZWplY3Q6ZnVuY3Rpb24oZSl7dmFyIHQ9YS5mKHRoaXMpO3JldHVybiBvKHQucmVqZWN0LHZvaWQgMCxlKSx0LnByb21pc2V9fSl9LGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKDcpLG89bigxNCksYT1uKDE1KSxpPW4oMjEpLGw9bigyNykuQ09OU1RSVUNUT1IsYz1uKDg4KSx1PW8oIlByb21pc2UiKSxzPWEmJiFsO3Ioe3RhcmdldDoiUHJvbWlzZSIsc3RhdDohMCxmb3JjZWQ6YXx8bH0se3Jlc29sdmU6ZnVuY3Rpb24oZSl7cmV0dXJuIGMocyYmdGhpcz09PXU/aTp0aGlzLGUpfX0pfSxmdW5jdGlvbihlLHQsbil7dmFyIHI9big3KSxvPW4oMTUpLGE9bigyMSksaT1uKDYpLGw9bigxNCksYz1uKDIpLHU9big4Mykscz1uKDg4KSxuPW4oMTkpLGY9YSYmYS5wcm90b3R5cGU7cih7dGFyZ2V0OiJQcm9taXNlIixwcm90bzohMCxyZWFsOiEwLGZvcmNlZDohIWEmJmkoZnVuY3Rpb24oKXtmLmZpbmFsbHkuY2FsbCh7dGhlbjpmdW5jdGlvbigpe319LGZ1bmN0aW9uKCl7fSl9KX0se2ZpbmFsbHk6ZnVuY3Rpb24odCl7dmFyIG49dSh0aGlzLGwoIlByb21pc2UiKSksZT1jKHQpO3JldHVybiB0aGlzLnRoZW4oZT9mdW5jdGlvbihlKXtyZXR1cm4gcyhuLHQoKSkudGhlbihmdW5jdGlvbigpe3JldHVybiBlfSl9OnQsZT9mdW5jdGlvbihlKXtyZXR1cm4gcyhuLHQoKSkudGhlbihmdW5jdGlvbigpe3Rocm93IGV9KX06dCl9fSksIW8mJmMoYSkmJihyPWwoIlByb21pc2UiKS5wcm90b3R5cGUuZmluYWxseSxmLmZpbmFsbHkhPT1yKSYmbihmLCJmaW5hbGx5IixyLHt1bnNhZmU6ITB9KX0sZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oMTU3KS5jaGFyQXQsbz1uKDU1KSxhPW4oMzUpLGk9big4MCksbD1uKDgyKSxjPSJTdHJpbmcgSXRlcmF0b3IiLHU9YS5zZXQscz1hLmdldHRlckZvcihjKTtpKFN0cmluZywiU3RyaW5nIixmdW5jdGlvbihlKXt1KHRoaXMse3R5cGU6YyxzdHJpbmc6byhlKSxpbmRleDowfSl9LGZ1bmN0aW9uKCl7dmFyIGU9cyh0aGlzKSx0PWUuc3RyaW5nLG49ZS5pbmRleDtyZXR1cm4gbj49dC5sZW5ndGg/bCh2b2lkIDAsITApOih0PXIodCxuKSxlLmluZGV4Kz10Lmxlbmd0aCxsKHQsITEpKX0pfSxmdW5jdGlvbihlLHQsbil7ZnVuY3Rpb24gcihvKXtyZXR1cm4gZnVuY3Rpb24oZSx0KXt2YXIgbixlPWkobChlKSksdD1hKHQpLHI9ZS5sZW5ndGg7cmV0dXJuIHQ8MHx8cjw9dD9vPyIiOnZvaWQgMDoobj11KGUsdCkpPDU1Mjk2fHw1NjMxOTxufHx0KzE9PT1yfHwocj11KGUsdCsxKSk8NTYzMjB8fDU3MzQzPHI/bz9jKGUsdCk6bjpvP3MoZSx0LHQrMik6ci01NjMyMCsobi01NTI5Njw8MTApKzY1NTM2fX12YXIgbz1uKDQpLGE9big0OSksaT1uKDU1KSxsPW4oNDIpLGM9bygiIi5jaGFyQXQpLHU9bygiIi5jaGFyQ29kZUF0KSxzPW8oIiIuc2xpY2UpO2UuZXhwb3J0cz17Y29kZUF0OnIoITEpLGNoYXJBdDpyKCEwKX19LGZ1bmN0aW9uKGUsdCxuKXtuPW4oMyk7ZS5leHBvcnRzPW59LGZ1bmN0aW9uKGUsdCxuKXtmdW5jdGlvbiByKHQsZSl7aWYodCl7aWYodFtmXSE9PWQpdHJ5e3UodCxmLGQpfWNhdGNoKGUpe3RbZl09ZH1pZihzKHQsZSwhMCksaVtlXSlmb3IodmFyIG4gaW4gYylpZih0W25dIT09Y1tuXSl0cnl7dSh0LG4sY1tuXSl9Y2F0Y2goZSl7dFtuXT1jW25dfX19dmFyIG8sYT1uKDMpLGk9bigxNjApLGw9bigxNjEpLGM9big3OSksdT1uKDE4KSxzPW4oMzgpLGY9big1KSgiaXRlcmF0b3IiKSxkPWMudmFsdWVzO2ZvcihvIGluIGkpcihhW29dJiZhW29dLnByb3RvdHlwZSxvKTtyKGwsIkRPTVRva2VuTGlzdCIpfSxmdW5jdGlvbihlLHQsbil7ZS5leHBvcnRzPXtDU1NSdWxlTGlzdDowLENTU1N0eWxlRGVjbGFyYXRpb246MCxDU1NWYWx1ZUxpc3Q6MCxDbGllbnRSZWN0TGlzdDowLERPTVJlY3RMaXN0OjAsRE9NU3RyaW5nTGlzdDowLERPTVRva2VuTGlzdDoxLERhdGFUcmFuc2Zlckl0ZW1MaXN0OjAsRmlsZUxpc3Q6MCxIVE1MQWxsQ29sbGVjdGlvbjowLEhUTUxDb2xsZWN0aW9uOjAsSFRNTEZvcm1FbGVtZW50OjAsSFRNTFNlbGVjdEVsZW1lbnQ6MCxNZWRpYUxpc3Q6MCxNaW1lVHlwZUFycmF5OjAsTmFtZWROb2RlTWFwOjAsTm9kZUxpc3Q6MSxQYWludFJlcXVlc3RMaXN0OjAsUGx1Z2luOjAsUGx1Z2luQXJyYXk6MCxTVkdMZW5ndGhMaXN0OjAsU1ZHTnVtYmVyTGlzdDowLFNWR1BhdGhTZWdMaXN0OjAsU1ZHUG9pbnRMaXN0OjAsU1ZHU3RyaW5nTGlzdDowLFNWR1RyYW5zZm9ybUxpc3Q6MCxTb3VyY2VCdWZmZXJMaXN0OjAsU3R5bGVTaGVldExpc3Q6MCxUZXh0VHJhY2tDdWVMaXN0OjAsVGV4dFRyYWNrTGlzdDowLFRvdWNoTGlzdDowfX0sZnVuY3Rpb24oZSx0LG4pe249bigzNCkoInNwYW4iKS5jbGFzc0xpc3Qsbj1uJiZuLmNvbnN0cnVjdG9yJiZuLmNvbnN0cnVjdG9yLnByb3RvdHlwZTtlLmV4cG9ydHM9bj09PU9iamVjdC5wcm90b3R5cGU/dm9pZCAwOm59LGZ1bmN0aW9uKGUsdCxuKXtuKDkxKX0sZnVuY3Rpb24oZSx0LG4pe24oNTkpfSxmdW5jdGlvbihlLHQsbil7big4OSl9LGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKDcpLG89bigxNiksYT1uKDIwKTtyKHt0YXJnZXQ6IlByb21pc2UiLHN0YXQ6ITAsZm9yY2VkOiEwfSx7dHJ5OmZ1bmN0aW9uKGUpe3ZhciB0PW8uZih0aGlzKSxlPWEoZSk7cmV0dXJuKGUuZXJyb3I/dC5yZWplY3Q6dC5yZXNvbHZlKShlLnZhbHVlKSx0LnByb21pc2V9fSl9LGZ1bmN0aW9uKGUsdCxuKXtuKDkwKX0sZnVuY3Rpb24oZSx0LG4peyFmdW5jdGlvbihlKXt2YXIgdCxuLGM9InVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWxUaGlzJiZnbG9iYWxUaGlzfHwidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGYmJnNlbGZ8fHZvaWQgMCE9PWUmJmV8fHt9LHI9IlVSTFNlYXJjaFBhcmFtcyJpbiBjLG89IlN5bWJvbCJpbiBjJiYiaXRlcmF0b3IiaW4gU3ltYm9sLHU9IkZpbGVSZWFkZXIiaW4gYyYmIkJsb2IiaW4gYyYmZnVuY3Rpb24oKXt0cnl7cmV0dXJuIG5ldyBCbG9iLCEwfWNhdGNoKGUpe3JldHVybiExfX0oKSxhPSJGb3JtRGF0YSJpbiBjLHM9IkFycmF5QnVmZmVyImluIGM7ZnVuY3Rpb24gZihlKXtpZigic3RyaW5nIiE9dHlwZW9mIGUmJihlPVN0cmluZyhlKSksL1teYS16MC05XC0jJCUmJyorLl5fYHx+IV0vaS50ZXN0KGUpfHwiIj09PWUpdGhyb3cgbmV3IFR5cGVFcnJvcignSW52YWxpZCBjaGFyYWN0ZXIgaW4gaGVhZGVyIGZpZWxkIG5hbWU6ICInK2UrJyInKTtyZXR1cm4gZS50b0xvd2VyQ2FzZSgpfWZ1bmN0aW9uIGQoZSl7cmV0dXJuIGU9InN0cmluZyIhPXR5cGVvZiBlP1N0cmluZyhlKTplfWZ1bmN0aW9uIGkodCl7dmFyIGU9e25leHQ6ZnVuY3Rpb24oKXt2YXIgZT10LnNoaWZ0KCk7cmV0dXJue2RvbmU6dm9pZCAwPT09ZSx2YWx1ZTplfX19O3JldHVybiBvJiYoZVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIGV9KSxlfWZ1bmN0aW9uIHAodCl7dGhpcy5tYXA9e30sdCBpbnN0YW5jZW9mIHA/dC5mb3JFYWNoKGZ1bmN0aW9uKGUsdCl7dGhpcy5hcHBlbmQodCxlKX0sdGhpcyk6QXJyYXkuaXNBcnJheSh0KT90LmZvckVhY2goZnVuY3Rpb24oZSl7aWYoMiE9ZS5sZW5ndGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiSGVhZGVycyBjb25zdHJ1Y3RvcjogZXhwZWN0ZWQgbmFtZS92YWx1ZSBwYWlyIHRvIGJlIGxlbmd0aCAyLCBmb3VuZCIrZS5sZW5ndGgpO3RoaXMuYXBwZW5kKGVbMF0sZVsxXSl9LHRoaXMpOnQmJk9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHQpLmZvckVhY2goZnVuY3Rpb24oZSl7dGhpcy5hcHBlbmQoZSx0W2VdKX0sdGhpcyl9ZnVuY3Rpb24gbChlKXtpZighZS5fbm9Cb2R5KXJldHVybiBlLmJvZHlVc2VkP1Byb21pc2UucmVqZWN0KG5ldyBUeXBlRXJyb3IoIkFscmVhZHkgcmVhZCIpKTp2b2lkKGUuYm9keVVzZWQ9ITApfWZ1bmN0aW9uIG0obil7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGUsdCl7bi5vbmxvYWQ9ZnVuY3Rpb24oKXtlKG4ucmVzdWx0KX0sbi5vbmVycm9yPWZ1bmN0aW9uKCl7dChuLmVycm9yKX19KX1mdW5jdGlvbiBoKGUpe3ZhciB0PW5ldyBGaWxlUmVhZGVyLG49bSh0KTtyZXR1cm4gdC5yZWFkQXNBcnJheUJ1ZmZlcihlKSxufWZ1bmN0aW9uIGcoZSl7dmFyIHQ7cmV0dXJuIGUuc2xpY2U/ZS5zbGljZSgwKTooKHQ9bmV3IFVpbnQ4QXJyYXkoZS5ieXRlTGVuZ3RoKSkuc2V0KG5ldyBVaW50OEFycmF5KGUpKSx0LmJ1ZmZlcil9ZnVuY3Rpb24gYigpe3JldHVybiB0aGlzLmJvZHlVc2VkPSExLHRoaXMuX2luaXRCb2R5PWZ1bmN0aW9uKGUpe3ZhciB0O3RoaXMuYm9keVVzZWQ9dGhpcy5ib2R5VXNlZCwodGhpcy5fYm9keUluaXQ9ZSk/InN0cmluZyI9PXR5cGVvZiBlP3RoaXMuX2JvZHlUZXh0PWU6dSYmQmxvYi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihlKT90aGlzLl9ib2R5QmxvYj1lOmEmJkZvcm1EYXRhLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKGUpP3RoaXMuX2JvZHlGb3JtRGF0YT1lOnImJlVSTFNlYXJjaFBhcmFtcy5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihlKT90aGlzLl9ib2R5VGV4dD1lLnRvU3RyaW5nKCk6cyYmdSYmKHQ9ZSkmJkRhdGFWaWV3LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHQpPyh0aGlzLl9ib2R5QXJyYXlCdWZmZXI9ZyhlLmJ1ZmZlciksdGhpcy5fYm9keUluaXQ9bmV3IEJsb2IoW3RoaXMuX2JvZHlBcnJheUJ1ZmZlcl0pKTpzJiYoQXJyYXlCdWZmZXIucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoZSl8fG4oZSkpP3RoaXMuX2JvZHlBcnJheUJ1ZmZlcj1nKGUpOnRoaXMuX2JvZHlUZXh0PWU9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpOih0aGlzLl9ub0JvZHk9ITAsdGhpcy5fYm9keVRleHQ9IiIpLHRoaXMuaGVhZGVycy5nZXQoImNvbnRlbnQtdHlwZSIpfHwoInN0cmluZyI9PXR5cGVvZiBlP3RoaXMuaGVhZGVycy5zZXQoImNvbnRlbnQtdHlwZSIsInRleHQvcGxhaW47Y2hhcnNldD1VVEYtOCIpOnRoaXMuX2JvZHlCbG9iJiZ0aGlzLl9ib2R5QmxvYi50eXBlP3RoaXMuaGVhZGVycy5zZXQoImNvbnRlbnQtdHlwZSIsdGhpcy5fYm9keUJsb2IudHlwZSk6ciYmVVJMU2VhcmNoUGFyYW1zLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKGUpJiZ0aGlzLmhlYWRlcnMuc2V0KCJjb250ZW50LXR5cGUiLCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD1VVEYtOCIpKX0sdSYmKHRoaXMuYmxvYj1mdW5jdGlvbigpe3ZhciBlPWwodGhpcyk7aWYoZSlyZXR1cm4gZTtpZih0aGlzLl9ib2R5QmxvYilyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2JvZHlCbG9iKTtpZih0aGlzLl9ib2R5QXJyYXlCdWZmZXIpcmV0dXJuIFByb21pc2UucmVzb2x2ZShuZXcgQmxvYihbdGhpcy5fYm9keUFycmF5QnVmZmVyXSkpO2lmKHRoaXMuX2JvZHlGb3JtRGF0YSl0aHJvdyBuZXcgRXJyb3IoImNvdWxkIG5vdCByZWFkIEZvcm1EYXRhIGJvZHkgYXMgYmxvYiIpO3JldHVybiBQcm9taXNlLnJlc29sdmUobmV3IEJsb2IoW3RoaXMuX2JvZHlUZXh0XSkpfSksdGhpcy5hcnJheUJ1ZmZlcj1mdW5jdGlvbigpe2lmKHRoaXMuX2JvZHlBcnJheUJ1ZmZlcilyZXR1cm4gbCh0aGlzKXx8KEFycmF5QnVmZmVyLmlzVmlldyh0aGlzLl9ib2R5QXJyYXlCdWZmZXIpP1Byb21pc2UucmVzb2x2ZSh0aGlzLl9ib2R5QXJyYXlCdWZmZXIuYnVmZmVyLnNsaWNlKHRoaXMuX2JvZHlBcnJheUJ1ZmZlci5ieXRlT2Zmc2V0LHRoaXMuX2JvZHlBcnJheUJ1ZmZlci5ieXRlT2Zmc2V0K3RoaXMuX2JvZHlBcnJheUJ1ZmZlci5ieXRlTGVuZ3RoKSk6UHJvbWlzZS5yZXNvbHZlKHRoaXMuX2JvZHlBcnJheUJ1ZmZlcikpO2lmKHUpcmV0dXJuIHRoaXMuYmxvYigpLnRoZW4oaCk7dGhyb3cgbmV3IEVycm9yKCJjb3VsZCBub3QgcmVhZCBhcyBBcnJheUJ1ZmZlciIpfSx0aGlzLnRleHQ9ZnVuY3Rpb24oKXt2YXIgZSx0LG4scj1sKHRoaXMpO2lmKHIpcmV0dXJuIHI7aWYodGhpcy5fYm9keUJsb2IpcmV0dXJuIHI9dGhpcy5fYm9keUJsb2IsZT1uZXcgRmlsZVJlYWRlcix0PW0oZSksbj0obj0vY2hhcnNldD0oW0EtWmEtejAtOV8tXSspLy5leGVjKHIudHlwZSkpP25bMV06InV0Zi04IixlLnJlYWRBc1RleHQocixuKSx0O2lmKHRoaXMuX2JvZHlBcnJheUJ1ZmZlcilyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1uZXcgVWludDhBcnJheShlKSxuPW5ldyBBcnJheSh0Lmxlbmd0aCkscj0wO3I8dC5sZW5ndGg7cisrKW5bcl09U3RyaW5nLmZyb21DaGFyQ29kZSh0W3JdKTtyZXR1cm4gbi5qb2luKCIiKX0odGhpcy5fYm9keUFycmF5QnVmZmVyKSk7aWYodGhpcy5fYm9keUZvcm1EYXRhKXRocm93IG5ldyBFcnJvcigiY291bGQgbm90IHJlYWQgRm9ybURhdGEgYm9keSBhcyB0ZXh0Iik7cmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLl9ib2R5VGV4dCl9LGEmJih0aGlzLmZvcm1EYXRhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudGV4dCgpLnRoZW4odyl9KSx0aGlzLmpzb249ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50ZXh0KCkudGhlbihKU09OLnBhcnNlKX0sdGhpc31zJiYodD1bIltvYmplY3QgSW50OEFycmF5XSIsIltvYmplY3QgVWludDhBcnJheV0iLCJbb2JqZWN0IFVpbnQ4Q2xhbXBlZEFycmF5XSIsIltvYmplY3QgSW50MTZBcnJheV0iLCJbb2JqZWN0IFVpbnQxNkFycmF5XSIsIltvYmplY3QgSW50MzJBcnJheV0iLCJbb2JqZWN0IFVpbnQzMkFycmF5XSIsIltvYmplY3QgRmxvYXQzMkFycmF5XSIsIltvYmplY3QgRmxvYXQ2NEFycmF5XSJdLG49QXJyYXlCdWZmZXIuaXNWaWV3fHxmdW5jdGlvbihlKXtyZXR1cm4gZSYmLTE8dC5pbmRleE9mKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKSl9KSxwLnByb3RvdHlwZS5hcHBlbmQ9ZnVuY3Rpb24oZSx0KXtlPWYoZSksdD1kKHQpO3ZhciBuPXRoaXMubWFwW2VdO3RoaXMubWFwW2VdPW4/bisiLCAiK3Q6dH0scC5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKGUpe2RlbGV0ZSB0aGlzLm1hcFtmKGUpXX0scC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGUpe3JldHVybiBlPWYoZSksdGhpcy5oYXMoZSk/dGhpcy5tYXBbZV06bnVsbH0scC5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLm1hcC5oYXNPd25Qcm9wZXJ0eShmKGUpKX0scC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGUsdCl7dGhpcy5tYXBbZihlKV09ZCh0KX0scC5wcm90b3R5cGUuZm9yRWFjaD1mdW5jdGlvbihlLHQpe2Zvcih2YXIgbiBpbiB0aGlzLm1hcCl0aGlzLm1hcC5oYXNPd25Qcm9wZXJ0eShuKSYmZS5jYWxsKHQsdGhpcy5tYXBbbl0sbix0aGlzKX0scC5wcm90b3R5cGUua2V5cz1mdW5jdGlvbigpe3ZhciBuPVtdO3JldHVybiB0aGlzLmZvckVhY2goZnVuY3Rpb24oZSx0KXtuLnB1c2godCl9KSxpKG4pfSxwLnByb3RvdHlwZS52YWx1ZXM9ZnVuY3Rpb24oKXt2YXIgdD1bXTtyZXR1cm4gdGhpcy5mb3JFYWNoKGZ1bmN0aW9uKGUpe3QucHVzaChlKX0pLGkodCl9LHAucHJvdG90eXBlLmVudHJpZXM9ZnVuY3Rpb24oKXt2YXIgbj1bXTtyZXR1cm4gdGhpcy5mb3JFYWNoKGZ1bmN0aW9uKGUsdCl7bi5wdXNoKFt0LGVdKX0pLGkobil9LG8mJihwLnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdPXAucHJvdG90eXBlLmVudHJpZXMpO3ZhciB5PVsiQ09OTkVDVCIsIkRFTEVURSIsIkdFVCIsIkhFQUQiLCJPUFRJT05TIiwiUEFUQ0giLCJQT1NUIiwiUFVUIiwiVFJBQ0UiXTtmdW5jdGlvbiB2KGUsdCl7aWYoISh0aGlzIGluc3RhbmNlb2YgdikpdGhyb3cgbmV3IFR5cGVFcnJvcignUGxlYXNlIHVzZSB0aGUgIm5ldyIgb3BlcmF0b3IsIHRoaXMgRE9NIG9iamVjdCBjb25zdHJ1Y3RvciBjYW5ub3QgYmUgY2FsbGVkIGFzIGEgZnVuY3Rpb24uJyk7dmFyIG4scj0odD10fHx7fSkuYm9keTtpZihlIGluc3RhbmNlb2Ygdil7aWYoZS5ib2R5VXNlZCl0aHJvdyBuZXcgVHlwZUVycm9yKCJBbHJlYWR5IHJlYWQiKTt0aGlzLnVybD1lLnVybCx0aGlzLmNyZWRlbnRpYWxzPWUuY3JlZGVudGlhbHMsdC5oZWFkZXJzfHwodGhpcy5oZWFkZXJzPW5ldyBwKGUuaGVhZGVycykpLHRoaXMubWV0aG9kPWUubWV0aG9kLHRoaXMubW9kZT1lLm1vZGUsdGhpcy5zaWduYWw9ZS5zaWduYWwscnx8bnVsbD09ZS5fYm9keUluaXR8fChyPWUuX2JvZHlJbml0LGUuYm9keVVzZWQ9ITApfWVsc2UgdGhpcy51cmw9U3RyaW5nKGUpO2lmKHRoaXMuY3JlZGVudGlhbHM9dC5jcmVkZW50aWFsc3x8dGhpcy5jcmVkZW50aWFsc3x8InNhbWUtb3JpZ2luIiwhdC5oZWFkZXJzJiZ0aGlzLmhlYWRlcnN8fCh0aGlzLmhlYWRlcnM9bmV3IHAodC5oZWFkZXJzKSksdGhpcy5tZXRob2Q9KGU9dC5tZXRob2R8fHRoaXMubWV0aG9kfHwiR0VUIixuPWUudG9VcHBlckNhc2UoKSwtMTx5LmluZGV4T2Yobik/bjplKSx0aGlzLm1vZGU9dC5tb2RlfHx0aGlzLm1vZGV8fG51bGwsdGhpcy5zaWduYWw9dC5zaWduYWx8fHRoaXMuc2lnbmFsfHxmdW5jdGlvbigpe2lmKCJBYm9ydENvbnRyb2xsZXIiaW4gYylyZXR1cm4obmV3IEFib3J0Q29udHJvbGxlcikuc2lnbmFsfSgpLHRoaXMucmVmZXJyZXI9bnVsbCwoIkdFVCI9PT10aGlzLm1ldGhvZHx8IkhFQUQiPT09dGhpcy5tZXRob2QpJiZyKXRocm93IG5ldyBUeXBlRXJyb3IoIkJvZHkgbm90IGFsbG93ZWQgZm9yIEdFVCBvciBIRUFEIHJlcXVlc3RzIik7dGhpcy5faW5pdEJvZHkociksIkdFVCIhPT10aGlzLm1ldGhvZCYmIkhFQUQiIT09dGhpcy5tZXRob2R8fCJuby1zdG9yZSIhPT10LmNhY2hlJiYibm8tY2FjaGUiIT09dC5jYWNoZXx8KChuPS8oWz8mXSlfPVteJl0qLykudGVzdCh0aGlzLnVybCk/dGhpcy51cmw9dGhpcy51cmwucmVwbGFjZShuLCIkMV89IisobmV3IERhdGUpLmdldFRpbWUoKSk6dGhpcy51cmwrPSgvXD8vLnRlc3QodGhpcy51cmwpPyImIjoiPyIpKyJfPSIrKG5ldyBEYXRlKS5nZXRUaW1lKCkpfWZ1bmN0aW9uIHcoZSl7dmFyIG49bmV3IEZvcm1EYXRhO3JldHVybiBlLnRyaW0oKS5zcGxpdCgiJiIpLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIHQ7ZSYmKHQ9KGU9ZS5zcGxpdCgiPSIpKS5zaGlmdCgpLnJlcGxhY2UoL1wrL2csIiAiKSxlPWUuam9pbigiPSIpLnJlcGxhY2UoL1wrL2csIiAiKSxuLmFwcGVuZChkZWNvZGVVUklDb21wb25lbnQodCksZGVjb2RlVVJJQ29tcG9uZW50KGUpKSl9KSxufWZ1bmN0aW9uIHgoZSx0KXtpZighKHRoaXMgaW5zdGFuY2VvZiB4KSl0aHJvdyBuZXcgVHlwZUVycm9yKCdQbGVhc2UgdXNlIHRoZSAibmV3IiBvcGVyYXRvciwgdGhpcyBET00gb2JqZWN0IGNvbnN0cnVjdG9yIGNhbm5vdCBiZSBjYWxsZWQgYXMgYSBmdW5jdGlvbi4nKTtpZih0PXR8fHt9LHRoaXMudHlwZT0iZGVmYXVsdCIsdGhpcy5zdGF0dXM9dm9pZCAwPT09dC5zdGF0dXM/MjAwOnQuc3RhdHVzLHRoaXMuc3RhdHVzPDIwMHx8NTk5PHRoaXMuc3RhdHVzKXRocm93IG5ldyBSYW5nZUVycm9yKCJGYWlsZWQgdG8gY29uc3RydWN0ICdSZXNwb25zZSc6IFRoZSBzdGF0dXMgcHJvdmlkZWQgKDApIGlzIG91dHNpZGUgdGhlIHJhbmdlIFsyMDAsIDU5OV0uIik7dGhpcy5vaz0yMDA8PXRoaXMuc3RhdHVzJiZ0aGlzLnN0YXR1czwzMDAsdGhpcy5zdGF0dXNUZXh0PXZvaWQgMD09PXQuc3RhdHVzVGV4dD8iIjoiIit0LnN0YXR1c1RleHQsdGhpcy5oZWFkZXJzPW5ldyBwKHQuaGVhZGVycyksdGhpcy51cmw9dC51cmx8fCIiLHRoaXMuX2luaXRCb2R5KGUpfXYucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyB2KHRoaXMse2JvZHk6dGhpcy5fYm9keUluaXR9KX0sYi5jYWxsKHYucHJvdG90eXBlKSxiLmNhbGwoeC5wcm90b3R5cGUpLHgucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyB4KHRoaXMuX2JvZHlJbml0LHtzdGF0dXM6dGhpcy5zdGF0dXMsc3RhdHVzVGV4dDp0aGlzLnN0YXR1c1RleHQsaGVhZGVyczpuZXcgcCh0aGlzLmhlYWRlcnMpLHVybDp0aGlzLnVybH0pfSx4LmVycm9yPWZ1bmN0aW9uKCl7dmFyIGU9bmV3IHgobnVsbCx7c3RhdHVzOjIwMCxzdGF0dXNUZXh0OiIifSk7cmV0dXJuIGUuc3RhdHVzPTAsZS50eXBlPSJlcnJvciIsZX07dmFyIGs9WzMwMSwzMDIsMzAzLDMwNywzMDhdLFM9KHgucmVkaXJlY3Q9ZnVuY3Rpb24oZSx0KXtpZigtMT09PWsuaW5kZXhPZih0KSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCBzdGF0dXMgY29kZSIpO3JldHVybiBuZXcgeChudWxsLHtzdGF0dXM6dCxoZWFkZXJzOntsb2NhdGlvbjplfX0pfSxjLkRPTUV4Y2VwdGlvbik7dHJ5e25ldyBTfWNhdGNoKGUpeyhTPWZ1bmN0aW9uKGUsdCl7dGhpcy5tZXNzYWdlPWUsdGhpcy5uYW1lPXQ7dD1FcnJvcihlKTt0aGlzLnN0YWNrPXQuc3RhY2t9KS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShFcnJvci5wcm90b3R5cGUpLFMucHJvdG90eXBlLmNvbnN0cnVjdG9yPVN9ZnVuY3Rpb24gQyhyLGwpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihvLGUpe3ZhciBhPW5ldyB2KHIsbCk7aWYoYS5zaWduYWwmJmEuc2lnbmFsLmFib3J0ZWQpcmV0dXJuIGUobmV3IFMoIkFib3J0ZWQiLCJBYm9ydEVycm9yIikpO3ZhciBuLGk9bmV3IFhNTEh0dHBSZXF1ZXN0O2Z1bmN0aW9uIHQoKXtpLmFib3J0KCl9aS5vbmxvYWQ9ZnVuY3Rpb24oKXt2YXIgZSxuLHQ9e3N0YXR1c1RleHQ6aS5zdGF0dXNUZXh0LGhlYWRlcnM6KGU9aS5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKXx8IiIsbj1uZXcgcCxlLnJlcGxhY2UoL1xyP1xuW1x0IF0rL2csIiAiKS5zcGxpdCgiXHIiKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIDA9PT1lLmluZGV4T2YoIlxuIik/ZS5zdWJzdHIoMSxlLmxlbmd0aCk6ZX0pLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIGU9ZS5zcGxpdCgiOiIpLHQ9ZS5zaGlmdCgpLnRyaW0oKTtpZih0KXtlPWUuam9pbigiOiIpLnRyaW0oKTt0cnl7bi5hcHBlbmQodCxlKX1jYXRjaChlKXtjb25zb2xlLndhcm4oIlJlc3BvbnNlICIrZS5tZXNzYWdlKX19fSksbil9LHI9KGEudXJsLnN0YXJ0c1dpdGgoImZpbGU6Ly8iKSYmKGkuc3RhdHVzPDIwMHx8NTk5PGkuc3RhdHVzKT90LnN0YXR1cz0yMDA6dC5zdGF0dXM9aS5zdGF0dXMsdC51cmw9InJlc3BvbnNlVVJMImluIGk/aS5yZXNwb25zZVVSTDp0LmhlYWRlcnMuZ2V0KCJYLVJlcXVlc3QtVVJMIiksInJlc3BvbnNlImluIGk/aS5yZXNwb25zZTppLnJlc3BvbnNlVGV4dCk7c2V0VGltZW91dChmdW5jdGlvbigpe28obmV3IHgocix0KSl9LDApfSxpLm9uZXJyb3I9ZnVuY3Rpb24oKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZShuZXcgVHlwZUVycm9yKCJOZXR3b3JrIHJlcXVlc3QgZmFpbGVkIikpfSwwKX0saS5vbnRpbWVvdXQ9ZnVuY3Rpb24oKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZShuZXcgVHlwZUVycm9yKCJOZXR3b3JrIHJlcXVlc3QgdGltZWQgb3V0IikpfSwwKX0saS5vbmFib3J0PWZ1bmN0aW9uKCl7c2V0VGltZW91dChmdW5jdGlvbigpe2UobmV3IFMoIkFib3J0ZWQiLCJBYm9ydEVycm9yIikpfSwwKX0saS5vcGVuKGEubWV0aG9kLGZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4iIj09PXQmJmMubG9jYXRpb24uaHJlZj9jLmxvY2F0aW9uLmhyZWY6dH1jYXRjaChlKXtyZXR1cm4gdH19KGEudXJsKSwhMCksImluY2x1ZGUiPT09YS5jcmVkZW50aWFscz9pLndpdGhDcmVkZW50aWFscz0hMDoib21pdCI9PT1hLmNyZWRlbnRpYWxzJiYoaS53aXRoQ3JlZGVudGlhbHM9ITEpLCJyZXNwb25zZVR5cGUiaW4gaSYmKHU/aS5yZXNwb25zZVR5cGU9ImJsb2IiOnMmJihpLnJlc3BvbnNlVHlwZT0iYXJyYXlidWZmZXIiKSksbCYmIm9iamVjdCI9PXR5cGVvZiBsLmhlYWRlcnMmJiEobC5oZWFkZXJzIGluc3RhbmNlb2YgcHx8Yy5IZWFkZXJzJiZsLmhlYWRlcnMgaW5zdGFuY2VvZiBjLkhlYWRlcnMpPyhuPVtdLE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGwuaGVhZGVycykuZm9yRWFjaChmdW5jdGlvbihlKXtuLnB1c2goZihlKSksaS5zZXRSZXF1ZXN0SGVhZGVyKGUsZChsLmhlYWRlcnNbZV0pKX0pLGEuaGVhZGVycy5mb3JFYWNoKGZ1bmN0aW9uKGUsdCl7LTE9PT1uLmluZGV4T2YodCkmJmkuc2V0UmVxdWVzdEhlYWRlcih0LGUpfSkpOmEuaGVhZGVycy5mb3JFYWNoKGZ1bmN0aW9uKGUsdCl7aS5zZXRSZXF1ZXN0SGVhZGVyKHQsZSl9KSxhLnNpZ25hbCYmKGEuc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0Iix0KSxpLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpezQ9PT1pLnJlYWR5U3RhdGUmJmEuc2lnbmFsLnJlbW92ZUV2ZW50TGlzdGVuZXIoImFib3J0Iix0KX0pLGkuc2VuZCh2b2lkIDA9PT1hLl9ib2R5SW5pdD9udWxsOmEuX2JvZHlJbml0KX0pfUMucG9seWZpbGw9ITAsYy5mZXRjaHx8KGMuZmV0Y2g9QyxjLkhlYWRlcnM9cCxjLlJlcXVlc3Q9dixjLlJlc3BvbnNlPXgpfS5jYWxsKHRoaXMsbigyMikpfSxmdW5jdGlvbihlLHQsbil7dmFyIGY9U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLGQ9U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIikscj1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpLG89U3ltYm9sLmZvcigicmVhY3Quc3RyaWN0X21vZGUiKSxhPVN5bWJvbC5mb3IoInJlYWN0LnByb2ZpbGVyIiksaT1TeW1ib2wuZm9yKCJyZWFjdC5wcm92aWRlciIpLGw9U3ltYm9sLmZvcigicmVhY3QuY29udGV4dCIpLGM9U3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKSx1PVN5bWJvbC5mb3IoInJlYWN0LnN1c3BlbnNlIikscz1TeW1ib2wuZm9yKCJyZWFjdC5tZW1vIikscD1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5IiksbT1TeW1ib2wuaXRlcmF0b3I7dmFyIGg9e2lzTW91bnRlZDpmdW5jdGlvbigpe3JldHVybiExfSxlbnF1ZXVlRm9yY2VVcGRhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVSZXBsYWNlU3RhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVTZXRTdGF0ZTpmdW5jdGlvbigpe319LGc9T2JqZWN0LmFzc2lnbixiPXt9O2Z1bmN0aW9uIHkoZSx0LG4pe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9Yix0aGlzLnVwZGF0ZXI9bnx8aH1mdW5jdGlvbiB2KCl7fWZ1bmN0aW9uIHcoZSx0LG4pe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9Yix0aGlzLnVwZGF0ZXI9bnx8aH15LnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PXt9LHkucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKGUsdCl7aWYoIm9iamVjdCIhPXR5cGVvZiBlJiYiZnVuY3Rpb24iIT10eXBlb2YgZSYmbnVsbCE9ZSl0aHJvdyBFcnJvcigic2V0U3RhdGUoLi4uKTogdGFrZXMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcyB0byB1cGRhdGUgb3IgYSBmdW5jdGlvbiB3aGljaCByZXR1cm5zIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMuIik7dGhpcy51cGRhdGVyLmVucXVldWVTZXRTdGF0ZSh0aGlzLGUsdCwic2V0U3RhdGUiKX0seS5wcm90b3R5cGUuZm9yY2VVcGRhdGU9ZnVuY3Rpb24oZSl7dGhpcy51cGRhdGVyLmVucXVldWVGb3JjZVVwZGF0ZSh0aGlzLGUsImZvcmNlVXBkYXRlIil9LHYucHJvdG90eXBlPXkucHJvdG90eXBlO3ZhciB4PXcucHJvdG90eXBlPW5ldyB2LGs9KHguY29uc3RydWN0b3I9dyxnKHgseS5wcm90b3R5cGUpLHguaXNQdXJlUmVhY3RDb21wb25lbnQ9ITAsQXJyYXkuaXNBcnJheSksUz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LEM9e2N1cnJlbnQ6bnVsbH0sRT17a2V5OiEwLHJlZjohMCxfX3NlbGY6ITAsX19zb3VyY2U6ITB9O2Z1bmN0aW9uIE8oZSx0LG4pe3ZhciByLG89e30sYT1udWxsLGk9bnVsbDtpZihudWxsIT10KWZvcihyIGluIHZvaWQgMCE9PXQucmVmJiYoaT10LnJlZiksdm9pZCAwIT09dC5rZXkmJihhPSIiK3Qua2V5KSx0KVMuY2FsbCh0LHIpJiYhRS5oYXNPd25Qcm9wZXJ0eShyKSYmKG9bcl09dFtyXSk7dmFyIGw9YXJndW1lbnRzLmxlbmd0aC0yO2lmKDE9PT1sKW8uY2hpbGRyZW49bjtlbHNlIGlmKDE8bCl7Zm9yKHZhciBjPUFycmF5KGwpLHU9MDt1PGw7dSsrKWNbdV09YXJndW1lbnRzW3UrMl07by5jaGlsZHJlbj1jfWlmKGUmJmUuZGVmYXVsdFByb3BzKWZvcihyIGluIGw9ZS5kZWZhdWx0UHJvcHMpdm9pZCAwPT09b1tyXSYmKG9bcl09bFtyXSk7cmV0dXJueyQkdHlwZW9mOmYsdHlwZTplLGtleTphLHJlZjppLHByb3BzOm8sX293bmVyOkMuY3VycmVudH19ZnVuY3Rpb24gaihlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiZlLiQkdHlwZW9mPT09Zn12YXIgQT0vXC8rL2c7ZnVuY3Rpb24gUChlLHQpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJm51bGwhPWUua2V5PyhlPSIiK2Uua2V5LG49eyI9IjoiPTAiLCI6IjoiPTIifSwiJCIrZS5yZXBsYWNlKC9bPTpdL2csZnVuY3Rpb24oZSl7cmV0dXJuIG5bZV19KSk6dC50b1N0cmluZygzNik7dmFyIG59ZnVuY3Rpb24gSShlLHQsbixyLG8pe3ZhciBhLGksbD0hMTtpZihudWxsPT09KGU9InVuZGVmaW5lZCIhPT0odT10eXBlb2YgZSkmJiJib29sZWFuIiE9PXU/ZTpudWxsKSlsPSEwO2Vsc2Ugc3dpdGNoKHUpe2Nhc2Uic3RyaW5nIjpjYXNlIm51bWJlciI6bD0hMDticmVhaztjYXNlIm9iamVjdCI6c3dpdGNoKGUuJCR0eXBlb2Ype2Nhc2UgZjpjYXNlIGQ6bD0hMH19aWYobClyZXR1cm4gbz1vKGw9ZSksZT0iIj09PXI/Ii4iK1AobCwwKTpyLGsobyk/KG49IiIsSShvLHQsbj1udWxsIT1lP2UucmVwbGFjZShBLCIkJi8iKSsiLyI6biwiIixmdW5jdGlvbihlKXtyZXR1cm4gZX0pKTpudWxsIT1vJiYoaihvKSYmKGk9bisoIShhPW8pLmtleXx8bCYmbC5rZXk9PT1vLmtleT8iIjooIiIrby5rZXkpLnJlcGxhY2UoQSwiJCYvIikrIi8iKStlLG89eyQkdHlwZW9mOmYsdHlwZTphLnR5cGUsa2V5OmkscmVmOmEucmVmLHByb3BzOmEucHJvcHMsX293bmVyOmEuX293bmVyfSksdC5wdXNoKG8pKSwxO2lmKGw9MCxyPSIiPT09cj8iLiI6cisiOiIsayhlKSlmb3IodmFyIGM9MDtjPGUubGVuZ3RoO2MrKyl7dmFyIHUscz1yK1AodT1lW2NdLGMpO2wrPUkodSx0LG4scyxvKX1lbHNlIGlmKCJmdW5jdGlvbiI9PXR5cGVvZihzPW51bGwhPT0oaT1lKSYmIm9iamVjdCI9PXR5cGVvZiBpJiYiZnVuY3Rpb24iPT10eXBlb2YoaT1tJiZpW21dfHxpWyJAQGl0ZXJhdG9yIl0pP2k6bnVsbCkpZm9yKGU9cy5jYWxsKGUpLGM9MDshKHU9ZS5uZXh0KCkpLmRvbmU7KWwrPUkodT11LnZhbHVlLHQsbixzPXIrUCh1LGMrKyksbyk7ZWxzZSBpZigib2JqZWN0Ij09PXUpdGhyb3cgdD1TdHJpbmcoZSksRXJyb3IoIk9iamVjdHMgYXJlIG5vdCB2YWxpZCBhcyBhIFJlYWN0IGNoaWxkIChmb3VuZDogIisoIltvYmplY3QgT2JqZWN0XSI9PT10PyJvYmplY3Qgd2l0aCBrZXlzIHsiK09iamVjdC5rZXlzKGUpLmpvaW4oIiwgIikrIn0iOnQpKyIpLiBJZiB5b3UgbWVhbnQgdG8gcmVuZGVyIGEgY29sbGVjdGlvbiBvZiBjaGlsZHJlbiwgdXNlIGFuIGFycmF5IGluc3RlYWQuIik7cmV0dXJuIGx9ZnVuY3Rpb24gXyhlLHQsbil7dmFyIHI7cmV0dXJuIG51bGw9PWV8fChyPTAsSShlLGU9W10sIiIsIiIsZnVuY3Rpb24oZSl7cmV0dXJuIHQuY2FsbChuLGUscisrKX0pKSxlfWZ1bmN0aW9uIHoodCl7dmFyIGU7aWYoLTE9PT10Ll9zdGF0dXMmJigoZT0oZT10Ll9yZXN1bHQpKCkpLnRoZW4oZnVuY3Rpb24oZSl7MCE9PXQuX3N0YXR1cyYmLTEhPT10Ll9zdGF0dXN8fCh0Ll9zdGF0dXM9MSx0Ll9yZXN1bHQ9ZSl9LGZ1bmN0aW9uKGUpezAhPT10Ll9zdGF0dXMmJi0xIT09dC5fc3RhdHVzfHwodC5fc3RhdHVzPTIsdC5fcmVzdWx0PWUpfSksLTE9PT10Ll9zdGF0dXMpJiYodC5fc3RhdHVzPTAsdC5fcmVzdWx0PWUpLDE9PT10Ll9zdGF0dXMpcmV0dXJuIHQuX3Jlc3VsdC5kZWZhdWx0O3Rocm93IHQuX3Jlc3VsdH12YXIgVD17Y3VycmVudDpudWxsfSxMPXt0cmFuc2l0aW9uOm51bGx9LHg9e1JlYWN0Q3VycmVudERpc3BhdGNoZXI6VCxSZWFjdEN1cnJlbnRCYXRjaENvbmZpZzpMLFJlYWN0Q3VycmVudE93bmVyOkN9O3QuQ2hpbGRyZW49e21hcDpfLGZvckVhY2g6ZnVuY3Rpb24oZSx0LG4pe18oZSxmdW5jdGlvbigpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxuKX0sY291bnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9MDtyZXR1cm4gXyhlLGZ1bmN0aW9uKCl7dCsrfSksdH0sdG9BcnJheTpmdW5jdGlvbihlKXtyZXR1cm4gXyhlLGZ1bmN0aW9uKGUpe3JldHVybiBlfSl8fFtdfSxvbmx5OmZ1bmN0aW9uKGUpe2lmKGooZSkpcmV0dXJuIGU7dGhyb3cgRXJyb3IoIlJlYWN0LkNoaWxkcmVuLm9ubHkgZXhwZWN0ZWQgdG8gcmVjZWl2ZSBhIHNpbmdsZSBSZWFjdCBlbGVtZW50IGNoaWxkLiIpfX0sdC5Db21wb25lbnQ9eSx0LkZyYWdtZW50PXIsdC5Qcm9maWxlcj1hLHQuUHVyZUNvbXBvbmVudD13LHQuU3RyaWN0TW9kZT1vLHQuU3VzcGVuc2U9dSx0Ll9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEPXgsdC5jbG9uZUVsZW1lbnQ9ZnVuY3Rpb24oZSx0LG4pe2lmKG51bGw9PWUpdGhyb3cgRXJyb3IoIlJlYWN0LmNsb25lRWxlbWVudCguLi4pOiBUaGUgYXJndW1lbnQgbXVzdCBiZSBhIFJlYWN0IGVsZW1lbnQsIGJ1dCB5b3UgcGFzc2VkICIrZSsiLiIpO3ZhciByPWcoe30sZS5wcm9wcyksbz1lLmtleSxhPWUucmVmLGk9ZS5fb3duZXI7aWYobnVsbCE9dClmb3IobCBpbiB2b2lkIDAhPT10LnJlZiYmKGE9dC5yZWYsaT1DLmN1cnJlbnQpLHZvaWQgMCE9PXQua2V5JiYobz0iIit0LmtleSksZS50eXBlJiZlLnR5cGUuZGVmYXVsdFByb3BzJiYoYz1lLnR5cGUuZGVmYXVsdFByb3BzKSx0KVMuY2FsbCh0LGwpJiYhRS5oYXNPd25Qcm9wZXJ0eShsKSYmKHJbbF09KHZvaWQgMD09PXRbbF0mJnZvaWQgMCE9PWM/Yzp0KVtsXSk7dmFyIGw9YXJndW1lbnRzLmxlbmd0aC0yO2lmKDE9PT1sKXIuY2hpbGRyZW49bjtlbHNlIGlmKDE8bCl7Zm9yKHZhciBjPUFycmF5KGwpLHU9MDt1PGw7dSsrKWNbdV09YXJndW1lbnRzW3UrMl07ci5jaGlsZHJlbj1jfXJldHVybnskJHR5cGVvZjpmLHR5cGU6ZS50eXBlLGtleTpvLHJlZjphLHByb3BzOnIsX293bmVyOml9fSx0LmNyZWF0ZUNvbnRleHQ9ZnVuY3Rpb24oZSl7cmV0dXJuKGU9eyQkdHlwZW9mOmwsX2N1cnJlbnRWYWx1ZTplLF9jdXJyZW50VmFsdWUyOmUsX3RocmVhZENvdW50OjAsUHJvdmlkZXI6bnVsbCxDb25zdW1lcjpudWxsLF9kZWZhdWx0VmFsdWU6bnVsbCxfZ2xvYmFsTmFtZTpudWxsfSkuUHJvdmlkZXI9eyQkdHlwZW9mOmksX2NvbnRleHQ6ZX0sZS5Db25zdW1lcj1lfSx0LmNyZWF0ZUVsZW1lbnQ9Tyx0LmNyZWF0ZUZhY3Rvcnk9ZnVuY3Rpb24oZSl7dmFyIHQ9Ty5iaW5kKG51bGwsZSk7cmV0dXJuIHQudHlwZT1lLHR9LHQuY3JlYXRlUmVmPWZ1bmN0aW9uKCl7cmV0dXJue2N1cnJlbnQ6bnVsbH19LHQuZm9yd2FyZFJlZj1mdW5jdGlvbihlKXtyZXR1cm57JCR0eXBlb2Y6YyxyZW5kZXI6ZX19LHQuaXNWYWxpZEVsZW1lbnQ9aix0Lmxhenk9ZnVuY3Rpb24oZSl7cmV0dXJueyQkdHlwZW9mOnAsX3BheWxvYWQ6e19zdGF0dXM6LTEsX3Jlc3VsdDplfSxfaW5pdDp6fX0sdC5tZW1vPWZ1bmN0aW9uKGUsdCl7cmV0dXJueyQkdHlwZW9mOnMsdHlwZTplLGNvbXBhcmU6dm9pZCAwPT09dD9udWxsOnR9fSx0LnN0YXJ0VHJhbnNpdGlvbj1mdW5jdGlvbihlKXt2YXIgdD1MLnRyYW5zaXRpb247TC50cmFuc2l0aW9uPXt9O3RyeXtlKCl9ZmluYWxseXtMLnRyYW5zaXRpb249dH19LHQudW5zdGFibGVfYWN0PWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoImFjdCguLi4pIGlzIG5vdCBzdXBwb3J0ZWQgaW4gcHJvZHVjdGlvbiBidWlsZHMgb2YgUmVhY3QuIil9LHQudXNlQ2FsbGJhY2s9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gVC5jdXJyZW50LnVzZUNhbGxiYWNrKGUsdCl9LHQudXNlQ29udGV4dD1mdW5jdGlvbihlKXtyZXR1cm4gVC5jdXJyZW50LnVzZUNvbnRleHQoZSl9LHQudXNlRGVidWdWYWx1ZT1mdW5jdGlvbigpe30sdC51c2VEZWZlcnJlZFZhbHVlPWZ1bmN0aW9uKGUpe3JldHVybiBULmN1cnJlbnQudXNlRGVmZXJyZWRWYWx1ZShlKX0sdC51c2VFZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gVC5jdXJyZW50LnVzZUVmZmVjdChlLHQpfSx0LnVzZUlkPWZ1bmN0aW9uKCl7cmV0dXJuIFQuY3VycmVudC51c2VJZCgpfSx0LnVzZUltcGVyYXRpdmVIYW5kbGU9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBULmN1cnJlbnQudXNlSW1wZXJhdGl2ZUhhbmRsZShlLHQsbil9LHQudXNlSW5zZXJ0aW9uRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIFQuY3VycmVudC51c2VJbnNlcnRpb25FZmZlY3QoZSx0KX0sdC51c2VMYXlvdXRFZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gVC5jdXJyZW50LnVzZUxheW91dEVmZmVjdChlLHQpfSx0LnVzZU1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm4gVC5jdXJyZW50LnVzZU1lbW8oZSx0KX0sdC51c2VSZWR1Y2VyPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gVC5jdXJyZW50LnVzZVJlZHVjZXIoZSx0LG4pfSx0LnVzZVJlZj1mdW5jdGlvbihlKXtyZXR1cm4gVC5jdXJyZW50LnVzZVJlZihlKX0sdC51c2VTdGF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gVC5jdXJyZW50LnVzZVN0YXRlKGUpfSx0LnVzZVN5bmNFeHRlcm5hbFN0b3JlPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gVC5jdXJyZW50LnVzZVN5bmNFeHRlcm5hbFN0b3JlKGUsdCxuKX0sdC51c2VUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIFQuY3VycmVudC51c2VUcmFuc2l0aW9uKCl9LHQudmVyc2lvbj0iMTguMi4wIn0sZnVuY3Rpb24oZSx0LG4peyFmdW5jdGlvbiBlKCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18mJiJmdW5jdGlvbiI9PXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UpdHJ5e19fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRShlKX1jYXRjaChlKXtjb25zb2xlLmVycm9yKGUpfX0oKSxlLmV4cG9ydHM9bigxNzApfSxmdW5jdGlvbihhLGMsUil7dmFyIE49UigwKSxCPVIoMTcxKTtmdW5jdGlvbiBEKGUpe2Zvcih2YXIgdD0iaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL2Vycm9yLWRlY29kZXIuaHRtbD9pbnZhcmlhbnQ9IitlLG49MTtuPGFyZ3VtZW50cy5sZW5ndGg7bisrKXQrPSImYXJnc1tdPSIrZW5jb2RlVVJJQ29tcG9uZW50KGFyZ3VtZW50c1tuXSk7cmV0dXJuIk1pbmlmaWVkIFJlYWN0IGVycm9yICMiK2UrIjsgdmlzaXQgIit0KyIgZm9yIHRoZSBmdWxsIG1lc3NhZ2Ugb3IgdXNlIHRoZSBub24tbWluaWZpZWQgZGV2IGVudmlyb25tZW50IGZvciBmdWxsIGVycm9ycyBhbmQgYWRkaXRpb25hbCBoZWxwZnVsIHdhcm5pbmdzLiJ9dmFyIEY9bmV3IFNldCxIPXt9O2Z1bmN0aW9uIFYoZSx0KXskKGUsdCksJChlKyJDYXB0dXJlIix0KX1mdW5jdGlvbiAkKGUsdCl7Zm9yKEhbZV09dCxlPTA7ZTx0Lmxlbmd0aDtlKyspRi5hZGQodFtlXSl9dmFyIFI9ISgidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvd3x8dm9pZCAwPT09d2luZG93LmRvY3VtZW50fHx2b2lkIDA9PT13aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCksVz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LEc9L15bOkEtWl9hLXpcdTAwQzAtXHUwMEQ2XHUwMEQ4LVx1MDBGNlx1MDBGOC1cdTAyRkZcdTAzNzAtXHUwMzdEXHUwMzdGLVx1MUZGRlx1MjAwQy1cdTIwMERcdTIwNzAtXHUyMThGXHUyQzAwLVx1MkZFRlx1MzAwMS1cdUQ3RkZcdUY5MDAtXHVGRENGXHVGREYwLVx1RkZGRF1bOkEtWl9hLXpcdTAwQzAtXHUwMEQ2XHUwMEQ4LVx1MDBGNlx1MDBGOC1cdTAyRkZcdTAzNzAtXHUwMzdEXHUwMzdGLVx1MUZGRlx1MjAwQy1cdTIwMERcdTIwNzAtXHUyMThGXHUyQzAwLVx1MkZFRlx1MzAwMS1cdUQ3RkZcdUY5MDAtXHVGRENGXHVGREYwLVx1RkZGRFwtLjAtOVx1MDBCN1x1MDMwMC1cdTAzNkZcdTIwM0YtXHUyMDQwXSokLyxxPXt9LFo9e307ZnVuY3Rpb24gWChlLHQsbixyKXtpZihudWxsPT10fHxmdW5jdGlvbihlLHQsbixyKXtpZihudWxsPT09bnx8MCE9PW4udHlwZSlzd2l0Y2godHlwZW9mIHQpe2Nhc2UiZnVuY3Rpb24iOmNhc2Uic3ltYm9sIjpyZXR1cm4gMTtjYXNlImJvb2xlYW4iOnJldHVybiByP3ZvaWQgMDpudWxsIT09bj8hbi5hY2NlcHRzQm9vbGVhbnM6ImRhdGEtIiE9PShlPWUudG9Mb3dlckNhc2UoKS5zbGljZSgwLDUpKSYmImFyaWEtIiE9PWU7ZGVmYXVsdDpyZXR1cm59fShlLHQsbixyKSlyZXR1cm4gMTtpZighciYmbnVsbCE9PW4pc3dpdGNoKG4udHlwZSl7Y2FzZSAzOnJldHVybiF0O2Nhc2UgNDpyZXR1cm4hMT09PXQ7Y2FzZSA1OnJldHVybiBpc05hTih0KTtjYXNlIDY6cmV0dXJuIGlzTmFOKHQpfHx0PDF9fWZ1bmN0aW9uIG4oZSx0LG4scixvLGEsaSl7dGhpcy5hY2NlcHRzQm9vbGVhbnM9Mj09PXR8fDM9PT10fHw0PT09dCx0aGlzLmF0dHJpYnV0ZU5hbWU9cix0aGlzLmF0dHJpYnV0ZU5hbWVzcGFjZT1vLHRoaXMubXVzdFVzZVByb3BlcnR5PW4sdGhpcy5wcm9wZXJ0eU5hbWU9ZSx0aGlzLnR5cGU9dCx0aGlzLnNhbml0aXplVVJMPWEsdGhpcy5yZW1vdmVFbXB0eVN0cmluZz1pfXZhciBpPXt9LFk9KCJjaGlsZHJlbiBkYW5nZXJvdXNseVNldElubmVySFRNTCBkZWZhdWx0VmFsdWUgZGVmYXVsdENoZWNrZWQgaW5uZXJIVE1MIHN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyBzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmcgc3R5bGUiLnNwbGl0KCIgIikuZm9yRWFjaChmdW5jdGlvbihlKXtpW2VdPW5ldyBuKGUsMCwhMSxlLG51bGwsITEsITEpfSksW1siYWNjZXB0Q2hhcnNldCIsImFjY2VwdC1jaGFyc2V0Il0sWyJjbGFzc05hbWUiLCJjbGFzcyJdLFsiaHRtbEZvciIsImZvciJdLFsiaHR0cEVxdWl2IiwiaHR0cC1lcXVpdiJdXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciB0PWVbMF07aVt0XT1uZXcgbih0LDEsITEsZVsxXSxudWxsLCExLCExKX0pLFsiY29udGVudEVkaXRhYmxlIiwiZHJhZ2dhYmxlIiwic3BlbGxDaGVjayIsInZhbHVlIl0uZm9yRWFjaChmdW5jdGlvbihlKXtpW2VdPW5ldyBuKGUsMiwhMSxlLnRvTG93ZXJDYXNlKCksbnVsbCwhMSwhMSl9KSxbImF1dG9SZXZlcnNlIiwiZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCIsImZvY3VzYWJsZSIsInByZXNlcnZlQWxwaGEiXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2lbZV09bmV3IG4oZSwyLCExLGUsbnVsbCwhMSwhMSl9KSwiYWxsb3dGdWxsU2NyZWVuIGFzeW5jIGF1dG9Gb2N1cyBhdXRvUGxheSBjb250cm9scyBkZWZhdWx0IGRlZmVyIGRpc2FibGVkIGRpc2FibGVQaWN0dXJlSW5QaWN0dXJlIGRpc2FibGVSZW1vdGVQbGF5YmFjayBmb3JtTm9WYWxpZGF0ZSBoaWRkZW4gbG9vcCBub01vZHVsZSBub1ZhbGlkYXRlIG9wZW4gcGxheXNJbmxpbmUgcmVhZE9ubHkgcmVxdWlyZWQgcmV2ZXJzZWQgc2NvcGVkIHNlYW1sZXNzIGl0ZW1TY29wZSIuc3BsaXQoIiAiKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2lbZV09bmV3IG4oZSwzLCExLGUudG9Mb3dlckNhc2UoKSxudWxsLCExLCExKX0pLFsiY2hlY2tlZCIsIm11bHRpcGxlIiwibXV0ZWQiLCJzZWxlY3RlZCJdLmZvckVhY2goZnVuY3Rpb24oZSl7aVtlXT1uZXcgbihlLDMsITAsZSxudWxsLCExLCExKX0pLFsiY2FwdHVyZSIsImRvd25sb2FkIl0uZm9yRWFjaChmdW5jdGlvbihlKXtpW2VdPW5ldyBuKGUsNCwhMSxlLG51bGwsITEsITEpfSksWyJjb2xzIiwicm93cyIsInNpemUiLCJzcGFuIl0uZm9yRWFjaChmdW5jdGlvbihlKXtpW2VdPW5ldyBuKGUsNiwhMSxlLG51bGwsITEsITEpfSksWyJyb3dTcGFuIiwic3RhcnQiXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2lbZV09bmV3IG4oZSw1LCExLGUudG9Mb3dlckNhc2UoKSxudWxsLCExLCExKX0pLC9bXC06XShbYS16XSkvZyk7ZnVuY3Rpb24gUShlKXtyZXR1cm4gZVsxXS50b1VwcGVyQ2FzZSgpfWZ1bmN0aW9uIEsoZSx0LG4scil7dmFyIG8sYT1pLmhhc093blByb3BlcnR5KHQpP2lbdF06bnVsbDsobnVsbCE9PWE/MCE9PWEudHlwZTpyfHwhKDI8dC5sZW5ndGgpfHwibyIhPT10WzBdJiYiTyIhPT10WzBdfHwibiIhPT10WzFdJiYiTiIhPT10WzFdKSYmKFgodCxuLGEscikmJihuPW51bGwpLHJ8fG51bGw9PT1hPyhvPXQsKFcuY2FsbChaLG8pfHwhVy5jYWxsKHEsbykmJihHLnRlc3Qobyk/WltvXT0hMDp2b2lkKHFbb109ITApKSkmJihudWxsPT09bj9lLnJlbW92ZUF0dHJpYnV0ZSh0KTplLnNldEF0dHJpYnV0ZSh0LCIiK24pKSk6YS5tdXN0VXNlUHJvcGVydHk/ZVthLnByb3BlcnR5TmFtZV09bnVsbD09PW4/MyE9PWEudHlwZSYmIiI6bjoodD1hLmF0dHJpYnV0ZU5hbWUscj1hLmF0dHJpYnV0ZU5hbWVzcGFjZSxudWxsPT09bj9lLnJlbW92ZUF0dHJpYnV0ZSh0KToobj0zPT09KGE9YS50eXBlKXx8ND09PWEmJiEwPT09bj8iIjoiIituLHI/ZS5zZXRBdHRyaWJ1dGVOUyhyLHQsbik6ZS5zZXRBdHRyaWJ1dGUodCxuKSkpKX0iYWNjZW50LWhlaWdodCBhbGlnbm1lbnQtYmFzZWxpbmUgYXJhYmljLWZvcm0gYmFzZWxpbmUtc2hpZnQgY2FwLWhlaWdodCBjbGlwLXBhdGggY2xpcC1ydWxlIGNvbG9yLWludGVycG9sYXRpb24gY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzIGNvbG9yLXByb2ZpbGUgY29sb3ItcmVuZGVyaW5nIGRvbWluYW50LWJhc2VsaW5lIGVuYWJsZS1iYWNrZ3JvdW5kIGZpbGwtb3BhY2l0eSBmaWxsLXJ1bGUgZmxvb2QtY29sb3IgZmxvb2Qtb3BhY2l0eSBmb250LWZhbWlseSBmb250LXNpemUgZm9udC1zaXplLWFkanVzdCBmb250LXN0cmV0Y2ggZm9udC1zdHlsZSBmb250LXZhcmlhbnQgZm9udC13ZWlnaHQgZ2x5cGgtbmFtZSBnbHlwaC1vcmllbnRhdGlvbi1ob3Jpem9udGFsIGdseXBoLW9yaWVudGF0aW9uLXZlcnRpY2FsIGhvcml6LWFkdi14IGhvcml6LW9yaWdpbi14IGltYWdlLXJlbmRlcmluZyBsZXR0ZXItc3BhY2luZyBsaWdodGluZy1jb2xvciBtYXJrZXItZW5kIG1hcmtlci1taWQgbWFya2VyLXN0YXJ0IG92ZXJsaW5lLXBvc2l0aW9uIG92ZXJsaW5lLXRoaWNrbmVzcyBwYWludC1vcmRlciBwYW5vc2UtMSBwb2ludGVyLWV2ZW50cyByZW5kZXJpbmctaW50ZW50IHNoYXBlLXJlbmRlcmluZyBzdG9wLWNvbG9yIHN0b3Atb3BhY2l0eSBzdHJpa2V0aHJvdWdoLXBvc2l0aW9uIHN0cmlrZXRocm91Z2gtdGhpY2tuZXNzIHN0cm9rZS1kYXNoYXJyYXkgc3Ryb2tlLWRhc2hvZmZzZXQgc3Ryb2tlLWxpbmVjYXAgc3Ryb2tlLWxpbmVqb2luIHN0cm9rZS1taXRlcmxpbWl0IHN0cm9rZS1vcGFjaXR5IHN0cm9rZS13aWR0aCB0ZXh0LWFuY2hvciB0ZXh0LWRlY29yYXRpb24gdGV4dC1yZW5kZXJpbmcgdW5kZXJsaW5lLXBvc2l0aW9uIHVuZGVybGluZS10aGlja25lc3MgdW5pY29kZS1iaWRpIHVuaWNvZGUtcmFuZ2UgdW5pdHMtcGVyLWVtIHYtYWxwaGFiZXRpYyB2LWhhbmdpbmcgdi1pZGVvZ3JhcGhpYyB2LW1hdGhlbWF0aWNhbCB2ZWN0b3ItZWZmZWN0IHZlcnQtYWR2LXkgdmVydC1vcmlnaW4teCB2ZXJ0LW9yaWdpbi15IHdvcmQtc3BhY2luZyB3cml0aW5nLW1vZGUgeG1sbnM6eGxpbmsgeC1oZWlnaHQiLnNwbGl0KCIgIikuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD1lLnJlcGxhY2UoWSxRKTtpW3RdPW5ldyBuKHQsMSwhMSxlLG51bGwsITEsITEpfSksInhsaW5rOmFjdHVhdGUgeGxpbms6YXJjcm9sZSB4bGluazpyb2xlIHhsaW5rOnNob3cgeGxpbms6dGl0bGUgeGxpbms6dHlwZSIuc3BsaXQoIiAiKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciB0PWUucmVwbGFjZShZLFEpO2lbdF09bmV3IG4odCwxLCExLGUsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCExLCExKX0pLFsieG1sOmJhc2UiLCJ4bWw6bGFuZyIsInhtbDpzcGFjZSJdLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIHQ9ZS5yZXBsYWNlKFksUSk7aVt0XT1uZXcgbih0LDEsITEsZSwiaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlIiwhMSwhMSl9KSxbInRhYkluZGV4IiwiY3Jvc3NPcmlnaW4iXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2lbZV09bmV3IG4oZSwxLCExLGUudG9Mb3dlckNhc2UoKSxudWxsLCExLCExKX0pLGkueGxpbmtIcmVmPW5ldyBuKCJ4bGlua0hyZWYiLDEsITEsInhsaW5rOmhyZWYiLCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwhMCwhMSksWyJzcmMiLCJocmVmIiwiYWN0aW9uIiwiZm9ybUFjdGlvbiJdLmZvckVhY2goZnVuY3Rpb24oZSl7aVtlXT1uZXcgbihlLDEsITEsZS50b0xvd2VyQ2FzZSgpLG51bGwsITAsITApfSk7dmFyIEo9Ti5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRCxlZT1TeW1ib2wuZm9yKCJyZWFjdC5lbGVtZW50IiksdGU9U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIiksbmU9U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSxyZT1TeW1ib2wuZm9yKCJyZWFjdC5zdHJpY3RfbW9kZSIpLG9lPVN5bWJvbC5mb3IoInJlYWN0LnByb2ZpbGVyIiksYWU9U3ltYm9sLmZvcigicmVhY3QucHJvdmlkZXIiKSxpZT1TeW1ib2wuZm9yKCJyZWFjdC5jb250ZXh0IiksbGU9U3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKSxjZT1TeW1ib2wuZm9yKCJyZWFjdC5zdXNwZW5zZSIpLHVlPVN5bWJvbC5mb3IoInJlYWN0LnN1c3BlbnNlX2xpc3QiKSxzZT1TeW1ib2wuZm9yKCJyZWFjdC5tZW1vIiksZmU9U3ltYm9sLmZvcigicmVhY3QubGF6eSIpLGRlPShTeW1ib2wuZm9yKCJyZWFjdC5zY29wZSIpLFN5bWJvbC5mb3IoInJlYWN0LmRlYnVnX3RyYWNlX21vZGUiKSxTeW1ib2wuZm9yKCJyZWFjdC5vZmZzY3JlZW4iKSkscGU9KFN5bWJvbC5mb3IoInJlYWN0LmxlZ2FjeV9oaWRkZW4iKSxTeW1ib2wuZm9yKCJyZWFjdC5jYWNoZSIpLFN5bWJvbC5mb3IoInJlYWN0LnRyYWNpbmdfbWFya2VyIiksU3ltYm9sLml0ZXJhdG9yKTtmdW5jdGlvbiBtZShlKXtyZXR1cm4gbnVsbCE9PWUmJiJvYmplY3QiPT10eXBlb2YgZSYmImZ1bmN0aW9uIj09dHlwZW9mKGU9cGUmJmVbcGVdfHxlWyJAQGl0ZXJhdG9yIl0pP2U6bnVsbH12YXIgaGUsZz1PYmplY3QuYXNzaWduO2Z1bmN0aW9uIGdlKGUpe2lmKHZvaWQgMD09PWhlKXRyeXt0aHJvdyBFcnJvcigpfWNhdGNoKGUpe3ZhciB0PWUuc3RhY2sudHJpbSgpLm1hdGNoKC9cbiggKihhdCApPykvKTtoZT10JiZ0WzFdfHwiIn1yZXR1cm4iXG4iK2hlK2V9dmFyIGJlPSExO2Z1bmN0aW9uIHllKHQsZSl7aWYoIXR8fGJlKXJldHVybiIiO2JlPSEwO3ZhciBuPUVycm9yLnByZXBhcmVTdGFja1RyYWNlO0Vycm9yLnByZXBhcmVTdGFja1RyYWNlPXZvaWQgMDt0cnl7aWYoZSlpZihlPWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoKX0sT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJwcm9wcyIse3NldDpmdW5jdGlvbigpe3Rocm93IEVycm9yKCl9fSksIm9iamVjdCI9PXR5cGVvZiBSZWZsZWN0JiZSZWZsZWN0LmNvbnN0cnVjdCl7dHJ5e1JlZmxlY3QuY29uc3RydWN0KGUsW10pfWNhdGNoKGUpe3ZhciByPWV9UmVmbGVjdC5jb25zdHJ1Y3QodCxbXSxlKX1lbHNle3RyeXtlLmNhbGwoKX1jYXRjaChlKXtyPWV9dC5jYWxsKGUucHJvdG90eXBlKX1lbHNle3RyeXt0aHJvdyBFcnJvcigpfWNhdGNoKGUpe3I9ZX10KCl9fWNhdGNoKGUpe2lmKGUmJnImJiJzdHJpbmciPT10eXBlb2YgZS5zdGFjayl7Zm9yKHZhciBvLGE9ZS5zdGFjay5zcGxpdCgiXG4iKSxpPXIuc3RhY2suc3BsaXQoIlxuIiksbD1hLmxlbmd0aC0xLGM9aS5sZW5ndGgtMTsxPD1sJiYwPD1jJiZhW2xdIT09aVtjXTspYy0tO2Zvcig7MTw9bCYmMDw9YztsLS0sYy0tKWlmKGFbbF0hPT1pW2NdKXtpZigxIT09bHx8MSE9PWMpZG97aWYobC0tLC0tYzwwfHxhW2xdIT09aVtjXSlyZXR1cm4gbz0iXG4iK2FbbF0ucmVwbGFjZSgiIGF0IG5ldyAiLCIgYXQgIiksbz10LmRpc3BsYXlOYW1lJiZvLmluY2x1ZGVzKCI8YW5vbnltb3VzPiIpP28ucmVwbGFjZSgiPGFub255bW91cz4iLHQuZGlzcGxheU5hbWUpOm99d2hpbGUoMTw9bCYmMDw9Yyk7YnJlYWt9fX1maW5hbGx5e2JlPSExLEVycm9yLnByZXBhcmVTdGFja1RyYWNlPW59cmV0dXJuKHQ9dD90LmRpc3BsYXlOYW1lfHx0Lm5hbWU6IiIpP2dlKHQpOiIifWZ1bmN0aW9uIHZlKGUpe3ZhciB0PWUudHlwZTtzd2l0Y2goZS50YWcpe2Nhc2UgMjQ6cmV0dXJuIkNhY2hlIjtjYXNlIDk6cmV0dXJuKHQuZGlzcGxheU5hbWV8fCJDb250ZXh0IikrIi5Db25zdW1lciI7Y2FzZSAxMDpyZXR1cm4odC5fY29udGV4dC5kaXNwbGF5TmFtZXx8IkNvbnRleHQiKSsiLlByb3ZpZGVyIjtjYXNlIDE4OnJldHVybiJEZWh5ZHJhdGVkRnJhZ21lbnQiO2Nhc2UgMTE6cmV0dXJuIGU9KGU9dC5yZW5kZXIpLmRpc3BsYXlOYW1lfHxlLm5hbWV8fCIiLHQuZGlzcGxheU5hbWV8fCgiIiE9PWU/IkZvcndhcmRSZWYoIitlKyIpIjoiRm9yd2FyZFJlZiIpO2Nhc2UgNzpyZXR1cm4iRnJhZ21lbnQiO2Nhc2UgNTpyZXR1cm4gdDtjYXNlIDQ6cmV0dXJuIlBvcnRhbCI7Y2FzZSAzOnJldHVybiJSb290IjtjYXNlIDY6cmV0dXJuIlRleHQiO2Nhc2UgMTY6cmV0dXJuIGZ1bmN0aW9uIGUodCl7aWYobnVsbCE9dCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHQpcmV0dXJuIHQuZGlzcGxheU5hbWV8fHQubmFtZXx8bnVsbDtpZigic3RyaW5nIj09dHlwZW9mIHQpcmV0dXJuIHQ7c3dpdGNoKHQpe2Nhc2UgbmU6cmV0dXJuIkZyYWdtZW50IjtjYXNlIHRlOnJldHVybiJQb3J0YWwiO2Nhc2Ugb2U6cmV0dXJuIlByb2ZpbGVyIjtjYXNlIHJlOnJldHVybiJTdHJpY3RNb2RlIjtjYXNlIGNlOnJldHVybiJTdXNwZW5zZSI7Y2FzZSB1ZTpyZXR1cm4iU3VzcGVuc2VMaXN0In1pZigib2JqZWN0Ij09dHlwZW9mIHQpc3dpdGNoKHQuJCR0eXBlb2Ype2Nhc2UgaWU6cmV0dXJuKHQuZGlzcGxheU5hbWV8fCJDb250ZXh0IikrIi5Db25zdW1lciI7Y2FzZSBhZTpyZXR1cm4odC5fY29udGV4dC5kaXNwbGF5TmFtZXx8IkNvbnRleHQiKSsiLlByb3ZpZGVyIjtjYXNlIGxlOnZhciBuPXQucmVuZGVyO3JldHVybiB0PSh0PXQuZGlzcGxheU5hbWUpfHwoIiIhPT0odD1uLmRpc3BsYXlOYW1lfHxuLm5hbWV8fCIiKT8iRm9yd2FyZFJlZigiK3QrIikiOiJGb3J3YXJkUmVmIik7Y2FzZSBzZTpyZXR1cm4gbnVsbCE9PShuPXQuZGlzcGxheU5hbWV8fG51bGwpP246ZSh0LnR5cGUpfHwiTWVtbyI7Y2FzZSBmZTpuPXQuX3BheWxvYWQsdD10Ll9pbml0O3RyeXtyZXR1cm4gZSh0KG4pKX1jYXRjaChlKXt9fX1yZXR1cm4gbnVsbH0odCk7Y2FzZSA4OnJldHVybiB0PT09cmU/IlN0cmljdE1vZGUiOiJNb2RlIjtjYXNlIDIyOnJldHVybiJPZmZzY3JlZW4iO2Nhc2UgMTI6cmV0dXJuIlByb2ZpbGVyIjtjYXNlIDIxOnJldHVybiJTY29wZSI7Y2FzZSAxMzpyZXR1cm4iU3VzcGVuc2UiO2Nhc2UgMTk6cmV0dXJuIlN1c3BlbnNlTGlzdCI7Y2FzZSAyNTpyZXR1cm4iVHJhY2luZ01hcmtlciI7Y2FzZSAxOmNhc2UgMDpjYXNlIDE3OmNhc2UgMjpjYXNlIDE0OmNhc2UgMTU6aWYoImZ1bmN0aW9uIj09dHlwZW9mIHQpcmV0dXJuIHQuZGlzcGxheU5hbWV8fHQubmFtZXx8bnVsbDtpZigic3RyaW5nIj09dHlwZW9mIHQpcmV0dXJuIHR9cmV0dXJuIG51bGx9ZnVuY3Rpb24gd2UoZSl7c3dpdGNoKHR5cGVvZiBlKXtjYXNlImJvb2xlYW4iOmNhc2UibnVtYmVyIjpjYXNlInN0cmluZyI6Y2FzZSJ1bmRlZmluZWQiOmNhc2Uib2JqZWN0IjpyZXR1cm4gZTtkZWZhdWx0OnJldHVybiIifX1mdW5jdGlvbiB4ZShlKXt2YXIgdD1lLnR5cGU7cmV0dXJuKGU9ZS5ub2RlTmFtZSkmJiJpbnB1dCI9PT1lLnRvTG93ZXJDYXNlKCkmJigiY2hlY2tib3giPT09dHx8InJhZGlvIj09PXQpfWZ1bmN0aW9uIGtlKGUpe2UuX3ZhbHVlVHJhY2tlcnx8KGUuX3ZhbHVlVHJhY2tlcj1mdW5jdGlvbihlKXt2YXIgdCxuLHI9eGUoZSk/ImNoZWNrZWQiOiJ2YWx1ZSIsbz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUuY29uc3RydWN0b3IucHJvdG90eXBlLHIpLGE9IiIrZVtyXTtpZighZS5oYXNPd25Qcm9wZXJ0eShyKSYmdm9pZCAwIT09byYmImZ1bmN0aW9uIj09dHlwZW9mIG8uZ2V0JiYiZnVuY3Rpb24iPT10eXBlb2Ygby5zZXQpcmV0dXJuIHQ9by5nZXQsbj1vLnNldCxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHQuY2FsbCh0aGlzKX0sc2V0OmZ1bmN0aW9uKGUpe2E9IiIrZSxuLmNhbGwodGhpcyxlKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLHtlbnVtZXJhYmxlOm8uZW51bWVyYWJsZX0pLHtnZXRWYWx1ZTpmdW5jdGlvbigpe3JldHVybiBhfSxzZXRWYWx1ZTpmdW5jdGlvbihlKXthPSIiK2V9LHN0b3BUcmFja2luZzpmdW5jdGlvbigpe2UuX3ZhbHVlVHJhY2tlcj1udWxsLGRlbGV0ZSBlW3JdfX19KGUpKX1mdW5jdGlvbiBTZShlKXt2YXIgdCxuLHI7aWYoZSlyZXR1cm4odD1lLl92YWx1ZVRyYWNrZXIpPyhuPXQuZ2V0VmFsdWUoKSxyPSIiLChlPXI9ZT94ZShlKT9lLmNoZWNrZWQ/InRydWUiOiJmYWxzZSI6ZS52YWx1ZTpyKSE9PW4mJih0LnNldFZhbHVlKGUpLDEpKToxfWZ1bmN0aW9uIENlKHQpe2lmKHZvaWQgMD09PSh0PXR8fCgidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50OnZvaWQgMCkpKXJldHVybiBudWxsO3RyeXtyZXR1cm4gdC5hY3RpdmVFbGVtZW50fHx0LmJvZHl9Y2F0Y2goZSl7cmV0dXJuIHQuYm9keX19ZnVuY3Rpb24gRWUoZSx0KXt2YXIgbj10LmNoZWNrZWQ7cmV0dXJuIGcoe30sdCx7ZGVmYXVsdENoZWNrZWQ6dm9pZCAwLGRlZmF1bHRWYWx1ZTp2b2lkIDAsdmFsdWU6dm9pZCAwLGNoZWNrZWQ6bnVsbCE9bj9uOmUuX3dyYXBwZXJTdGF0ZS5pbml0aWFsQ2hlY2tlZH0pfWZ1bmN0aW9uIE9lKGUsdCl7dmFyIG49bnVsbD09dC5kZWZhdWx0VmFsdWU/IiI6dC5kZWZhdWx0VmFsdWUscj1udWxsIT10LmNoZWNrZWQ/dC5jaGVja2VkOnQuZGVmYXVsdENoZWNrZWQsbj13ZShudWxsIT10LnZhbHVlP3QudmFsdWU6bik7ZS5fd3JhcHBlclN0YXRlPXtpbml0aWFsQ2hlY2tlZDpyLGluaXRpYWxWYWx1ZTpuLGNvbnRyb2xsZWQ6ImNoZWNrYm94Ij09PXQudHlwZXx8InJhZGlvIj09PXQudHlwZT9udWxsIT10LmNoZWNrZWQ6bnVsbCE9dC52YWx1ZX19ZnVuY3Rpb24gamUoZSx0KXtudWxsIT0odD10LmNoZWNrZWQpJiZLKGUsImNoZWNrZWQiLHQsITEpfWZ1bmN0aW9uIEFlKGUsdCl7amUoZSx0KTt2YXIgbj13ZSh0LnZhbHVlKSxyPXQudHlwZTtpZihudWxsIT1uKSJudW1iZXIiPT09cj8oMD09PW4mJiIiPT09ZS52YWx1ZXx8ZS52YWx1ZSE9bikmJihlLnZhbHVlPSIiK24pOmUudmFsdWUhPT0iIituJiYoZS52YWx1ZT0iIituKTtlbHNlIGlmKCJzdWJtaXQiPT09cnx8InJlc2V0Ij09PXIpcmV0dXJuIHZvaWQgZS5yZW1vdmVBdHRyaWJ1dGUoInZhbHVlIik7dC5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKT9JZShlLHQudHlwZSxuKTp0Lmhhc093blByb3BlcnR5KCJkZWZhdWx0VmFsdWUiKSYmSWUoZSx0LnR5cGUsd2UodC5kZWZhdWx0VmFsdWUpKSxudWxsPT10LmNoZWNrZWQmJm51bGwhPXQuZGVmYXVsdENoZWNrZWQmJihlLmRlZmF1bHRDaGVja2VkPSEhdC5kZWZhdWx0Q2hlY2tlZCl9ZnVuY3Rpb24gUGUoZSx0LG4pe2lmKHQuaGFzT3duUHJvcGVydHkoInZhbHVlIil8fHQuaGFzT3duUHJvcGVydHkoImRlZmF1bHRWYWx1ZSIpKXt2YXIgcj10LnR5cGU7aWYoISgic3VibWl0IiE9PXImJiJyZXNldCIhPT1yfHx2b2lkIDAhPT10LnZhbHVlJiZudWxsIT09dC52YWx1ZSkpcmV0dXJuO3Q9IiIrZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZSxufHx0PT09ZS52YWx1ZXx8KGUudmFsdWU9dCksZS5kZWZhdWx0VmFsdWU9dH0iIiE9PShuPWUubmFtZSkmJihlLm5hbWU9IiIpLGUuZGVmYXVsdENoZWNrZWQ9ISFlLl93cmFwcGVyU3RhdGUuaW5pdGlhbENoZWNrZWQsIiIhPT1uJiYoZS5uYW1lPW4pfWZ1bmN0aW9uIEllKGUsdCxuKXsibnVtYmVyIj09PXQmJkNlKGUub3duZXJEb2N1bWVudCk9PT1lfHwobnVsbD09bj9lLmRlZmF1bHRWYWx1ZT0iIitlLl93cmFwcGVyU3RhdGUuaW5pdGlhbFZhbHVlOmUuZGVmYXVsdFZhbHVlIT09IiIrbiYmKGUuZGVmYXVsdFZhbHVlPSIiK24pKX12YXIgX2U9QXJyYXkuaXNBcnJheTtmdW5jdGlvbiB6ZShlLHQsbixyKXtpZihlPWUub3B0aW9ucyx0KXt0PXt9O2Zvcih2YXIgbz0wO288bi5sZW5ndGg7bysrKXRbIiQiK25bb11dPSEwO2ZvcihuPTA7bjxlLmxlbmd0aDtuKyspbz10Lmhhc093blByb3BlcnR5KCIkIitlW25dLnZhbHVlKSxlW25dLnNlbGVjdGVkIT09byYmKGVbbl0uc2VsZWN0ZWQ9byksbyYmciYmKGVbbl0uZGVmYXVsdFNlbGVjdGVkPSEwKX1lbHNle2ZvcihuPSIiK3dlKG4pLHQ9bnVsbCxvPTA7bzxlLmxlbmd0aDtvKyspe2lmKGVbb10udmFsdWU9PT1uKXJldHVybiBlW29dLnNlbGVjdGVkPSEwLHZvaWQociYmKGVbb10uZGVmYXVsdFNlbGVjdGVkPSEwKSk7bnVsbCE9PXR8fGVbb10uZGlzYWJsZWR8fCh0PWVbb10pfW51bGwhPT10JiYodC5zZWxlY3RlZD0hMCl9fWZ1bmN0aW9uIFRlKGUsdCl7aWYobnVsbCE9dC5kYW5nZXJvdXNseVNldElubmVySFRNTCl0aHJvdyBFcnJvcihEKDkxKSk7cmV0dXJuIGcoe30sdCx7dmFsdWU6dm9pZCAwLGRlZmF1bHRWYWx1ZTp2b2lkIDAsY2hpbGRyZW46IiIrZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZX0pfWZ1bmN0aW9uIExlKGUsdCl7dmFyIG49dC52YWx1ZTtpZihudWxsPT1uKXtpZihuPXQuY2hpbGRyZW4sdD10LmRlZmF1bHRWYWx1ZSxudWxsIT1uKXtpZihudWxsIT10KXRocm93IEVycm9yKEQoOTIpKTtpZihfZShuKSl7aWYoMTxuLmxlbmd0aCl0aHJvdyBFcnJvcihEKDkzKSk7bj1uWzBdfXQ9bn1uPXQ9bnVsbD09dD8iIjp0fWUuX3dyYXBwZXJTdGF0ZT17aW5pdGlhbFZhbHVlOndlKG4pfX1mdW5jdGlvbiBNZShlLHQpe3ZhciBuPXdlKHQudmFsdWUpLHI9d2UodC5kZWZhdWx0VmFsdWUpO251bGwhPW4mJigobj0iIituKSE9PWUudmFsdWUmJihlLnZhbHVlPW4pLG51bGw9PXQuZGVmYXVsdFZhbHVlKSYmZS5kZWZhdWx0VmFsdWUhPT1uJiYoZS5kZWZhdWx0VmFsdWU9biksbnVsbCE9ciYmKGUuZGVmYXVsdFZhbHVlPSIiK3IpfWZ1bmN0aW9uIFJlKGUpe3ZhciB0PWUudGV4dENvbnRlbnQ7dD09PWUuX3dyYXBwZXJTdGF0ZS5pbml0aWFsVmFsdWUmJiIiIT09dCYmbnVsbCE9PXQmJihlLnZhbHVlPXQpfWZ1bmN0aW9uIE5lKGUpe3N3aXRjaChlKXtjYXNlInN2ZyI6cmV0dXJuImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIjtjYXNlIm1hdGgiOnJldHVybiJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MIjtkZWZhdWx0OnJldHVybiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIn19ZnVuY3Rpb24gRGUoZSx0KXtyZXR1cm4gbnVsbD09ZXx8Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPT09ZT9OZSh0KToiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPT09ZSYmImZvcmVpZ25PYmplY3QiPT09dD8iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI6ZX1CZT1mdW5jdGlvbihlLHQpe2lmKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIhPT1lLm5hbWVzcGFjZVVSSXx8ImlubmVySFRNTCJpbiBlKWUuaW5uZXJIVE1MPXQ7ZWxzZXtmb3IoKFVlPVVlfHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSkuaW5uZXJIVE1MPSI8c3ZnPiIrdC52YWx1ZU9mKCkudG9TdHJpbmcoKSsiPC9zdmc+Iix0PVVlLmZpcnN0Q2hpbGQ7ZS5maXJzdENoaWxkOyllLnJlbW92ZUNoaWxkKGUuZmlyc3RDaGlsZCk7Zm9yKDt0LmZpcnN0Q2hpbGQ7KWUuYXBwZW5kQ2hpbGQodC5maXJzdENoaWxkKX19O3ZhciBVZSxCZSxGZT0idW5kZWZpbmVkIiE9dHlwZW9mIE1TQXBwJiZNU0FwcC5leGVjVW5zYWZlTG9jYWxGdW5jdGlvbj9mdW5jdGlvbihlLHQsbixyKXtNU0FwcC5leGVjVW5zYWZlTG9jYWxGdW5jdGlvbihmdW5jdGlvbigpe3JldHVybiBCZShlLHQpfSl9OkJlO2Z1bmN0aW9uIEhlKGUsdCl7aWYodCl7dmFyIG49ZS5maXJzdENoaWxkO2lmKG4mJm49PT1lLmxhc3RDaGlsZCYmMz09PW4ubm9kZVR5cGUpcmV0dXJuIHZvaWQobi5ub2RlVmFsdWU9dCl9ZS50ZXh0Q29udGVudD10fXZhciBWZT17YW5pbWF0aW9uSXRlcmF0aW9uQ291bnQ6ITAsYXNwZWN0UmF0aW86ITAsYm9yZGVySW1hZ2VPdXRzZXQ6ITAsYm9yZGVySW1hZ2VTbGljZTohMCxib3JkZXJJbWFnZVdpZHRoOiEwLGJveEZsZXg6ITAsYm94RmxleEdyb3VwOiEwLGJveE9yZGluYWxHcm91cDohMCxjb2x1bW5Db3VudDohMCxjb2x1bW5zOiEwLGZsZXg6ITAsZmxleEdyb3c6ITAsZmxleFBvc2l0aXZlOiEwLGZsZXhTaHJpbms6ITAsZmxleE5lZ2F0aXZlOiEwLGZsZXhPcmRlcjohMCxncmlkQXJlYTohMCxncmlkUm93OiEwLGdyaWRSb3dFbmQ6ITAsZ3JpZFJvd1NwYW46ITAsZ3JpZFJvd1N0YXJ0OiEwLGdyaWRDb2x1bW46ITAsZ3JpZENvbHVtbkVuZDohMCxncmlkQ29sdW1uU3BhbjohMCxncmlkQ29sdW1uU3RhcnQ6ITAsZm9udFdlaWdodDohMCxsaW5lQ2xhbXA6ITAsbGluZUhlaWdodDohMCxvcGFjaXR5OiEwLG9yZGVyOiEwLG9ycGhhbnM6ITAsdGFiU2l6ZTohMCx3aWRvd3M6ITAsekluZGV4OiEwLHpvb206ITAsZmlsbE9wYWNpdHk6ITAsZmxvb2RPcGFjaXR5OiEwLHN0b3BPcGFjaXR5OiEwLHN0cm9rZURhc2hhcnJheTohMCxzdHJva2VEYXNob2Zmc2V0OiEwLHN0cm9rZU1pdGVybGltaXQ6ITAsc3Ryb2tlT3BhY2l0eTohMCxzdHJva2VXaWR0aDohMH0sJGU9WyJXZWJraXQiLCJtcyIsIk1veiIsIk8iXTtmdW5jdGlvbiBXZShlLHQsbil7cmV0dXJuIG51bGw9PXR8fCJib29sZWFuIj09dHlwZW9mIHR8fCIiPT09dD8iIjpufHwibnVtYmVyIiE9dHlwZW9mIHR8fDA9PT10fHxWZS5oYXNPd25Qcm9wZXJ0eShlKSYmVmVbZV0/KCIiK3QpLnRyaW0oKTp0KyJweCJ9ZnVuY3Rpb24gR2UoZSx0KXtmb3IodmFyIG4gaW4gZT1lLnN0eWxlLHQpe3ZhciByLG87dC5oYXNPd25Qcm9wZXJ0eShuKSYmKHI9MD09PW4uaW5kZXhPZigiLS0iKSxvPVdlKG4sdFtuXSxyKSwiZmxvYXQiPT09biYmKG49ImNzc0Zsb2F0Iikscj9lLnNldFByb3BlcnR5KG4sbyk6ZVtuXT1vKX19T2JqZWN0LmtleXMoVmUpLmZvckVhY2goZnVuY3Rpb24odCl7JGUuZm9yRWFjaChmdW5jdGlvbihlKXtlPWUrdC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSt0LnN1YnN0cmluZygxKSxWZVtlXT1WZVt0XX0pfSk7dmFyIHFlPWcoe21lbnVpdGVtOiEwfSx7YXJlYTohMCxiYXNlOiEwLGJyOiEwLGNvbDohMCxlbWJlZDohMCxocjohMCxpbWc6ITAsaW5wdXQ6ITAsa2V5Z2VuOiEwLGxpbms6ITAsbWV0YTohMCxwYXJhbTohMCxzb3VyY2U6ITAsdHJhY2s6ITAsd2JyOiEwfSk7ZnVuY3Rpb24gWmUoZSx0KXtpZih0KXtpZihxZVtlXSYmKG51bGwhPXQuY2hpbGRyZW58fG51bGwhPXQuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpKXRocm93IEVycm9yKEQoMTM3LGUpKTtpZihudWxsIT10LmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MKXtpZihudWxsIT10LmNoaWxkcmVuKXRocm93IEVycm9yKEQoNjApKTtpZigib2JqZWN0IiE9dHlwZW9mIHQuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUx8fCEoIl9faHRtbCJpbiB0LmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MKSl0aHJvdyBFcnJvcihEKDYxKSl9aWYobnVsbCE9dC5zdHlsZSYmIm9iamVjdCIhPXR5cGVvZiB0LnN0eWxlKXRocm93IEVycm9yKEQoNjIpKX19ZnVuY3Rpb24gWGUoZSx0KXtpZigtMT09PWUuaW5kZXhPZigiLSIpKXJldHVybiJzdHJpbmciPT10eXBlb2YgdC5pcztzd2l0Y2goZSl7Y2FzZSJhbm5vdGF0aW9uLXhtbCI6Y2FzZSJjb2xvci1wcm9maWxlIjpjYXNlImZvbnQtZmFjZSI6Y2FzZSJmb250LWZhY2Utc3JjIjpjYXNlImZvbnQtZmFjZS11cmkiOmNhc2UiZm9udC1mYWNlLWZvcm1hdCI6Y2FzZSJmb250LWZhY2UtbmFtZSI6Y2FzZSJtaXNzaW5nLWdseXBoIjpyZXR1cm4hMTtkZWZhdWx0OnJldHVybiEwfX12YXIgWWU9bnVsbDtmdW5jdGlvbiBRZShlKXtyZXR1cm4gMz09PShlPShlPWUudGFyZ2V0fHxlLnNyY0VsZW1lbnR8fHdpbmRvdykuY29ycmVzcG9uZGluZ1VzZUVsZW1lbnQ/ZS5jb3JyZXNwb25kaW5nVXNlRWxlbWVudDplKS5ub2RlVHlwZT9lLnBhcmVudE5vZGU6ZX12YXIgS2U9bnVsbCxKZT1udWxsLGV0PW51bGw7ZnVuY3Rpb24gdHQoZSl7aWYoZT16byhlKSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIEtlKXRocm93IEVycm9yKEQoMjgwKSk7dmFyIHQ9ZS5zdGF0ZU5vZGU7dCYmKHQ9TG8odCksS2UoZS5zdGF0ZU5vZGUsZS50eXBlLHQpKX19ZnVuY3Rpb24gbnQoZSl7SmU/ZXQ/ZXQucHVzaChlKTpldD1bZV06SmU9ZX1mdW5jdGlvbiBydCgpe2lmKEplKXt2YXIgZT1KZSx0PWV0O2lmKGV0PUplPW51bGwsdHQoZSksdClmb3IoZT0wO2U8dC5sZW5ndGg7ZSsrKXR0KHRbZV0pfX1mdW5jdGlvbiBvdChlLHQpe3JldHVybiBlKHQpfWZ1bmN0aW9uIGF0KCl7fXZhciBpdD0hMTtmdW5jdGlvbiBsdChlLHQsbil7aWYoaXQpcmV0dXJuIGUodCxuKTtpdD0hMDt0cnl7b3QoZSx0LG4pfWZpbmFsbHl7aXQ9ITEsbnVsbD09PUplJiZudWxsPT09ZXR8fChhdCgpLHJ0KCkpfX1mdW5jdGlvbiBjdChlLHQpe3ZhciBuPWUuc3RhdGVOb2RlO2lmKG51bGw9PT1uKXJldHVybiBudWxsO3ZhciByPUxvKG4pO2lmKG51bGw9PT1yKXJldHVybiBudWxsO3N3aXRjaChuPXJbdF0sdCl7Y2FzZSJvbkNsaWNrIjpjYXNlIm9uQ2xpY2tDYXB0dXJlIjpjYXNlIm9uRG91YmxlQ2xpY2siOmNhc2Uib25Eb3VibGVDbGlja0NhcHR1cmUiOmNhc2Uib25Nb3VzZURvd24iOmNhc2Uib25Nb3VzZURvd25DYXB0dXJlIjpjYXNlIm9uTW91c2VNb3ZlIjpjYXNlIm9uTW91c2VNb3ZlQ2FwdHVyZSI6Y2FzZSJvbk1vdXNlVXAiOmNhc2Uib25Nb3VzZVVwQ2FwdHVyZSI6Y2FzZSJvbk1vdXNlRW50ZXIiOmU9IShyPShyPSFyLmRpc2FibGVkKT9yOiEoImJ1dHRvbiI9PT0oZT1lLnR5cGUpfHwiaW5wdXQiPT09ZXx8InNlbGVjdCI9PT1lfHwidGV4dGFyZWEiPT09ZSkpO2JyZWFrO2RlZmF1bHQ6ZT0hMX1pZihlKXJldHVybiBudWxsO2lmKG4mJiJmdW5jdGlvbiIhPXR5cGVvZiBuKXRocm93IEVycm9yKEQoMjMxLHQsdHlwZW9mIG4pKTtyZXR1cm4gbn12YXIgdXQ9ITE7aWYoUil0cnl7dmFyIGU9e307T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsInBhc3NpdmUiLHtnZXQ6ZnVuY3Rpb24oKXt1dD0hMH19KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidGVzdCIsZSxlKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdCIsZSxlKX1jYXRjaChlKXt1dD0hMX12YXIgc3Q9ITEsZnQ9bnVsbCxkdD0hMSxwdD1udWxsLG10PXtvbkVycm9yOmZ1bmN0aW9uKGUpe3N0PSEwLGZ0PWV9fTtmdW5jdGlvbiBodChlLHQsbixyLG8sYSxpLGwsYyl7c3Q9ITEsZnQ9bnVsbCxmdW5jdGlvbihlLHQsbixyLG8sYSxpLGwsYyl7dmFyIHU9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDMpO3RyeXt0LmFwcGx5KG4sdSl9Y2F0Y2goZSl7dGhpcy5vbkVycm9yKGUpfX0uYXBwbHkobXQsYXJndW1lbnRzKX1mdW5jdGlvbiBndChlKXt2YXIgdD1lLG49ZTtpZihlLmFsdGVybmF0ZSlmb3IoO3QucmV0dXJuOyl0PXQucmV0dXJuO2Vsc2UgZm9yKGU9dDswIT0oNDA5OCYodD1lKS5mbGFncykmJihuPXQucmV0dXJuKSxlPXQucmV0dXJuOyk7cmV0dXJuIDM9PT10LnRhZz9uOm51bGx9ZnVuY3Rpb24gYnQoZSl7aWYoMTM9PT1lLnRhZyl7dmFyIHQ9ZS5tZW1vaXplZFN0YXRlO2lmKG51bGwhPT0odD1udWxsPT09dCYmbnVsbCE9PShlPWUuYWx0ZXJuYXRlKT9lLm1lbW9pemVkU3RhdGU6dCkpcmV0dXJuIHQuZGVoeWRyYXRlZH1yZXR1cm4gbnVsbH1mdW5jdGlvbiB5dChlKXtpZihndChlKSE9PWUpdGhyb3cgRXJyb3IoRCgxODgpKX1mdW5jdGlvbiB2dChlKXtyZXR1cm4gbnVsbCE9PShlPWZ1bmN0aW9uKGUpe3ZhciB0PWUuYWx0ZXJuYXRlO2lmKCF0KXtpZihudWxsPT09KHQ9Z3QoZSkpKXRocm93IEVycm9yKEQoMTg4KSk7cmV0dXJuIHQhPT1lP251bGw6ZX1mb3IodmFyIG49ZSxyPXQ7Oyl7dmFyIG89bi5yZXR1cm47aWYobnVsbD09PW8pYnJlYWs7dmFyIGE9by5hbHRlcm5hdGU7aWYobnVsbD09PWEpe2lmKG51bGw9PT0ocj1vLnJldHVybikpYnJlYWs7bj1yfWVsc2V7aWYoby5jaGlsZD09PWEuY2hpbGQpe2ZvcihhPW8uY2hpbGQ7YTspe2lmKGE9PT1uKXJldHVybiB5dChvKSxlO2lmKGE9PT1yKXJldHVybiB5dChvKSx0O2E9YS5zaWJsaW5nfXRocm93IEVycm9yKEQoMTg4KSl9aWYobi5yZXR1cm4hPT1yLnJldHVybiluPW8scj1hO2Vsc2V7Zm9yKHZhciBpPSExLGw9by5jaGlsZDtsOyl7aWYobD09PW4pe2k9ITAsbj1vLHI9YTticmVha31pZihsPT09cil7aT0hMCxyPW8sbj1hO2JyZWFrfWw9bC5zaWJsaW5nfWlmKCFpKXtmb3IobD1hLmNoaWxkO2w7KXtpZihsPT09bil7aT0hMCxuPWEscj1vO2JyZWFrfWlmKGw9PT1yKXtpPSEwLHI9YSxuPW87YnJlYWt9bD1sLnNpYmxpbmd9aWYoIWkpdGhyb3cgRXJyb3IoRCgxODkpKX19aWYobi5hbHRlcm5hdGUhPT1yKXRocm93IEVycm9yKEQoMTkwKSl9fWlmKDMhPT1uLnRhZyl0aHJvdyBFcnJvcihEKDE4OCkpO3JldHVybiBuLnN0YXRlTm9kZS5jdXJyZW50PT09bj9lOnR9KGUpKT9mdW5jdGlvbiBlKHQpe2lmKDU9PT10LnRhZ3x8Nj09PXQudGFnKXJldHVybiB0O2Zvcih0PXQuY2hpbGQ7bnVsbCE9PXQ7KXt2YXIgbj1lKHQpO2lmKG51bGwhPT1uKXJldHVybiBuO3Q9dC5zaWJsaW5nfXJldHVybiBudWxsfShlKTpudWxsfXZhciB3dD1CLnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2sseHQ9Qi51bnN0YWJsZV9jYW5jZWxDYWxsYmFjayxrdD1CLnVuc3RhYmxlX3Nob3VsZFlpZWxkLFN0PUIudW5zdGFibGVfcmVxdWVzdFBhaW50LGg9Qi51bnN0YWJsZV9ub3csQ3Q9Qi51bnN0YWJsZV9nZXRDdXJyZW50UHJpb3JpdHlMZXZlbCxFdD1CLnVuc3RhYmxlX0ltbWVkaWF0ZVByaW9yaXR5LE90PUIudW5zdGFibGVfVXNlckJsb2NraW5nUHJpb3JpdHksanQ9Qi51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eSxBdD1CLnVuc3RhYmxlX0xvd1ByaW9yaXR5LFB0PUIudW5zdGFibGVfSWRsZVByaW9yaXR5LEl0PW51bGwsX3Q9bnVsbDt2YXIgenQ9TWF0aC5jbHozMnx8ZnVuY3Rpb24oZSl7cmV0dXJuIDA9PShlPj4+PTApPzMyOjMxLShUdChlKS9MdHwwKXwwfSxUdD1NYXRoLmxvZyxMdD1NYXRoLkxOMjt2YXIgTXQ9NjQsUnQ9NDE5NDMwNDtmdW5jdGlvbiBOdChlKXtzd2l0Y2goZSYtZSl7Y2FzZSAxOnJldHVybiAxO2Nhc2UgMjpyZXR1cm4gMjtjYXNlIDQ6cmV0dXJuIDQ7Y2FzZSA4OnJldHVybiA4O2Nhc2UgMTY6cmV0dXJuIDE2O2Nhc2UgMzI6cmV0dXJuIDMyO2Nhc2UgNjQ6Y2FzZSAxMjg6Y2FzZSAyNTY6Y2FzZSA1MTI6Y2FzZSAxMDI0OmNhc2UgMjA0ODpjYXNlIDQwOTY6Y2FzZSA4MTkyOmNhc2UgMTYzODQ6Y2FzZSAzMjc2ODpjYXNlIDY1NTM2OmNhc2UgMTMxMDcyOmNhc2UgMjYyMTQ0OmNhc2UgNTI0Mjg4OmNhc2UgMTA0ODU3NjpjYXNlIDIwOTcxNTI6cmV0dXJuIDQxOTQyNDAmZTtjYXNlIDQxOTQzMDQ6Y2FzZSA4Mzg4NjA4OmNhc2UgMTY3NzcyMTY6Y2FzZSAzMzU1NDQzMjpjYXNlIDY3MTA4ODY0OnJldHVybiAxMzAwMjM0MjQmZTtjYXNlIDEzNDIxNzcyODpyZXR1cm4gMTM0MjE3NzI4O2Nhc2UgMjY4NDM1NDU2OnJldHVybiAyNjg0MzU0NTY7Y2FzZSA1MzY4NzA5MTI6cmV0dXJuIDUzNjg3MDkxMjtjYXNlIDEwNzM3NDE4MjQ6cmV0dXJuIDEwNzM3NDE4MjQ7ZGVmYXVsdDpyZXR1cm4gZX19ZnVuY3Rpb24gRHQoZSx0KXt2YXIgbj1lLnBlbmRpbmdMYW5lcztpZigwPT09bilyZXR1cm4gMDt2YXIgcixvPTAsYT1lLnN1c3BlbmRlZExhbmVzLGk9ZS5waW5nZWRMYW5lcyxsPTI2ODQzNTQ1NSZuO2lmKDAhPWw/MCE9KHI9bCZ+YSk/bz1OdChyKTowIT09KGkmPWwpJiYobz1OdChpKSk6MCE9KGw9biZ+YSk/bz1OdChsKTowIT09aSYmKG89TnQoaSkpLDA9PT1vKXJldHVybiAwO2lmKDAhPT10JiZ0IT09byYmMD09KHQmYSkmJigoaT10Ji10KTw9KGE9byYtbyl8fDE2PT09YSYmMCE9KDQxOTQyNDAmaSkpKXJldHVybiB0O2lmKDAhPSg0Jm8pJiYob3w9MTYmbiksMCE9PSh0PWUuZW50YW5nbGVkTGFuZXMpKWZvcihlPWUuZW50YW5nbGVtZW50cyx0Jj1vOzA8dDspb3w9ZVtuPTMxLXp0KHQpXSx0Jj1+KGE9MTw8bik7cmV0dXJuIG99ZnVuY3Rpb24gVXQoZSx0KXtmb3IodmFyIG49ZS5zdXNwZW5kZWRMYW5lcyxyPWUucGluZ2VkTGFuZXMsbz1lLmV4cGlyYXRpb25UaW1lcyxhPWUucGVuZGluZ0xhbmVzOzA8YTspe3ZhciBpPTMxLXp0KGEpLGw9MTw8aSxjPW9baV07LTE9PT1jPzAhPShsJm4pJiYwPT0obCZyKXx8KG9baV09ZnVuY3Rpb24oZSx0KXtzd2l0Y2goZSl7Y2FzZSAxOmNhc2UgMjpjYXNlIDQ6cmV0dXJuIHQrMjUwO2Nhc2UgODpjYXNlIDE2OmNhc2UgMzI6Y2FzZSA2NDpjYXNlIDEyODpjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6Y2FzZSAyNjIxNDQ6Y2FzZSA1MjQyODg6Y2FzZSAxMDQ4NTc2OmNhc2UgMjA5NzE1MjpyZXR1cm4gdCs1ZTM7Y2FzZSA0MTk0MzA0OmNhc2UgODM4ODYwODpjYXNlIDE2Nzc3MjE2OmNhc2UgMzM1NTQ0MzI6Y2FzZSA2NzEwODg2NDpyZXR1cm4tMTtkZWZhdWx0OnJldHVybi0xfX0obCx0KSk6Yzw9dCYmKGUuZXhwaXJlZExhbmVzfD1sKSxhJj1+bH19ZnVuY3Rpb24gQnQoZSl7cmV0dXJuIDAhPT0oZT0tMTA3Mzc0MTgyNSZlLnBlbmRpbmdMYW5lcyk/ZToxMDczNzQxODI0JmU/MTA3Mzc0MTgyNDowfWZ1bmN0aW9uIEZ0KCl7dmFyIGU9TXQ7cmV0dXJuIDA9PSg0MTk0MjQwJihNdDw8PTEpKSYmKE10PTY0KSxlfWZ1bmN0aW9uIEh0KGUpe2Zvcih2YXIgdD1bXSxuPTA7bjwzMTtuKyspdC5wdXNoKGUpO3JldHVybiB0fWZ1bmN0aW9uIFZ0KGUsdCxuKXtlLnBlbmRpbmdMYW5lc3w9dCw1MzY4NzA5MTIhPT10JiYoZS5zdXNwZW5kZWRMYW5lcz0wLGUucGluZ2VkTGFuZXM9MCksKGU9ZS5ldmVudFRpbWVzKVt0PTMxLXp0KHQpXT1ufWZ1bmN0aW9uICR0KGUsdCl7dmFyIG49ZS5lbnRhbmdsZWRMYW5lc3w9dDtmb3IoZT1lLmVudGFuZ2xlbWVudHM7bjspe3ZhciByPTMxLXp0KG4pLG89MTw8cjtvJnR8ZVtyXSZ0JiYoZVtyXXw9dCksbiY9fm99fXZhciB4PTA7ZnVuY3Rpb24gV3QoZSl7cmV0dXJuIDE8KGUmPS1lKT80PGU/MCE9KDI2ODQzNTQ1NSZlKT8xNjo1MzY4NzA5MTI6NDoxfXZhciBHdCxxdCxadCxYdCxZdCxRdD0hMSxLdD1bXSxKdD1udWxsLGVuPW51bGwsdG49bnVsbCxubj1uZXcgTWFwLHJuPW5ldyBNYXAsb249W10sYW49Im1vdXNlZG93biBtb3VzZXVwIHRvdWNoY2FuY2VsIHRvdWNoZW5kIHRvdWNoc3RhcnQgYXV4Y2xpY2sgZGJsY2xpY2sgcG9pbnRlcmNhbmNlbCBwb2ludGVyZG93biBwb2ludGVydXAgZHJhZ2VuZCBkcmFnc3RhcnQgZHJvcCBjb21wb3NpdGlvbmVuZCBjb21wb3NpdGlvbnN0YXJ0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgaW5wdXQgdGV4dElucHV0IGNvcHkgY3V0IHBhc3RlIGNsaWNrIGNoYW5nZSBjb250ZXh0bWVudSByZXNldCBzdWJtaXQiLnNwbGl0KCIgIik7ZnVuY3Rpb24gbG4oZSx0KXtzd2l0Y2goZSl7Y2FzZSJmb2N1c2luIjpjYXNlImZvY3Vzb3V0IjpKdD1udWxsO2JyZWFrO2Nhc2UiZHJhZ2VudGVyIjpjYXNlImRyYWdsZWF2ZSI6ZW49bnVsbDticmVhaztjYXNlIm1vdXNlb3ZlciI6Y2FzZSJtb3VzZW91dCI6dG49bnVsbDticmVhaztjYXNlInBvaW50ZXJvdmVyIjpjYXNlInBvaW50ZXJvdXQiOm5uLmRlbGV0ZSh0LnBvaW50ZXJJZCk7YnJlYWs7Y2FzZSJnb3Rwb2ludGVyY2FwdHVyZSI6Y2FzZSJsb3N0cG9pbnRlcmNhcHR1cmUiOnJuLmRlbGV0ZSh0LnBvaW50ZXJJZCl9fWZ1bmN0aW9uIGNuKGUsdCxuLHIsbyxhKXtyZXR1cm4gbnVsbD09PWV8fGUubmF0aXZlRXZlbnQhPT1hPyhlPXtibG9ja2VkT246dCxkb21FdmVudE5hbWU6bixldmVudFN5c3RlbUZsYWdzOnIsbmF0aXZlRXZlbnQ6YSx0YXJnZXRDb250YWluZXJzOltvXX0sbnVsbCE9PXQmJm51bGwhPT0odD16byh0KSkmJnF0KHQpKTooZS5ldmVudFN5c3RlbUZsYWdzfD1yLHQ9ZS50YXJnZXRDb250YWluZXJzLG51bGwhPT1vJiYtMT09PXQuaW5kZXhPZihvKSYmdC5wdXNoKG8pKSxlfWZ1bmN0aW9uIHVuKGUpe3ZhciB0PV9vKGUudGFyZ2V0KTtpZihudWxsIT09dCl7dmFyIG49Z3QodCk7aWYobnVsbCE9PW4paWYoMTM9PT0odD1uLnRhZykpe2lmKG51bGwhPT0odD1idChuKSkpcmV0dXJuIGUuYmxvY2tlZE9uPXQsdm9pZCBZdChlLnByaW9yaXR5LGZ1bmN0aW9uKCl7WnQobil9KX1lbHNlIGlmKDM9PT10JiZuLnN0YXRlTm9kZS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXJldHVybiB2b2lkKGUuYmxvY2tlZE9uPTM9PT1uLnRhZz9uLnN0YXRlTm9kZS5jb250YWluZXJJbmZvOm51bGwpfWUuYmxvY2tlZE9uPW51bGx9ZnVuY3Rpb24gc24oZSl7aWYobnVsbD09PWUuYmxvY2tlZE9uKXtmb3IodmFyIHQ9ZS50YXJnZXRDb250YWluZXJzOzA8dC5sZW5ndGg7KXt2YXIgbj14bihlLmRvbUV2ZW50TmFtZSxlLmV2ZW50U3lzdGVtRmxhZ3MsdFswXSxlLm5hdGl2ZUV2ZW50KTtpZihudWxsIT09bilyZXR1cm4gbnVsbCE9PSh0PXpvKG4pKSYmcXQodCksZS5ibG9ja2VkT249biwwO3ZhciByPW5ldyhuPWUubmF0aXZlRXZlbnQpLmNvbnN0cnVjdG9yKG4udHlwZSxuKTtZZT1yLG4udGFyZ2V0LmRpc3BhdGNoRXZlbnQociksWWU9bnVsbCx0LnNoaWZ0KCl9cmV0dXJuIDF9fWZ1bmN0aW9uIGZuKGUsdCxuKXtzbihlKSYmbi5kZWxldGUodCl9ZnVuY3Rpb24gZG4oKXtRdD0hMSxudWxsIT09SnQmJnNuKEp0KSYmKEp0PW51bGwpLG51bGwhPT1lbiYmc24oZW4pJiYoZW49bnVsbCksbnVsbCE9PXRuJiZzbih0bikmJih0bj1udWxsKSxubi5mb3JFYWNoKGZuKSxybi5mb3JFYWNoKGZuKX1mdW5jdGlvbiBwbihlLHQpe2UuYmxvY2tlZE9uPT09dCYmKGUuYmxvY2tlZE9uPW51bGwsUXR8fChRdD0hMCxCLnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2soQi51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eSxkbikpKX1mdW5jdGlvbiBtbih0KXtmdW5jdGlvbiBlKGUpe3JldHVybiBwbihlLHQpfWlmKDA8S3QubGVuZ3RoKXtwbihLdFswXSx0KTtmb3IodmFyIG49MTtuPEt0Lmxlbmd0aDtuKyspe3ZhciByPUt0W25dO3IuYmxvY2tlZE9uPT09dCYmKHIuYmxvY2tlZE9uPW51bGwpfX1mb3IobnVsbCE9PUp0JiZwbihKdCx0KSxudWxsIT09ZW4mJnBuKGVuLHQpLG51bGwhPT10biYmcG4odG4sdCksbm4uZm9yRWFjaChlKSxybi5mb3JFYWNoKGUpLG49MDtuPG9uLmxlbmd0aDtuKyspKHI9b25bbl0pLmJsb2NrZWRPbj09PXQmJihyLmJsb2NrZWRPbj1udWxsKTtmb3IoOzA8b24ubGVuZ3RoJiZudWxsPT09KG49b25bMF0pLmJsb2NrZWRPbjspdW4obiksbnVsbD09PW4uYmxvY2tlZE9uJiZvbi5zaGlmdCgpfXZhciBobj1KLlJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLGduPSEwO2Z1bmN0aW9uIGJuKGUsdCxuLHIpe3ZhciBvPXgsYT1obi50cmFuc2l0aW9uO2huLnRyYW5zaXRpb249bnVsbDt0cnl7eD0xLHZuKGUsdCxuLHIpfWZpbmFsbHl7eD1vLGhuLnRyYW5zaXRpb249YX19ZnVuY3Rpb24geW4oZSx0LG4scil7dmFyIG89eCxhPWhuLnRyYW5zaXRpb247aG4udHJhbnNpdGlvbj1udWxsO3RyeXt4PTQsdm4oZSx0LG4scil9ZmluYWxseXt4PW8saG4udHJhbnNpdGlvbj1hfX1mdW5jdGlvbiB2bihlLHQsbixyKXtpZihnbil7dmFyIG89eG4oZSwwLDAscik7aWYobnVsbD09PW8pcm8oZSx0LHIsd24sbiksbG4oZSxyKTtlbHNlIGlmKGZ1bmN0aW9uKGUsdCxuLHIsbyl7c3dpdGNoKHQpe2Nhc2UiZm9jdXNpbiI6cmV0dXJuIEp0PWNuKEp0LGUsdCxuLHIsbyksMTtjYXNlImRyYWdlbnRlciI6cmV0dXJuIGVuPWNuKGVuLGUsdCxuLHIsbyksMTtjYXNlIm1vdXNlb3ZlciI6cmV0dXJuIHRuPWNuKHRuLGUsdCxuLHIsbyksMTtjYXNlInBvaW50ZXJvdmVyIjp2YXIgYT1vLnBvaW50ZXJJZDtyZXR1cm4gbm4uc2V0KGEsY24obm4uZ2V0KGEpfHxudWxsLGUsdCxuLHIsbykpLDE7Y2FzZSJnb3Rwb2ludGVyY2FwdHVyZSI6cmV0dXJuIGE9by5wb2ludGVySWQscm4uc2V0KGEsY24ocm4uZ2V0KGEpfHxudWxsLGUsdCxuLHIsbykpLDF9fShvLGUsdCxuLHIpKXIuc3RvcFByb3BhZ2F0aW9uKCk7ZWxzZSBpZihsbihlLHIpLDQmdCYmLTE8YW4uaW5kZXhPZihlKSl7Zm9yKDtudWxsIT09bzspe3ZhciBhPXpvKG8pO2lmKG51bGwhPT1hJiZHdChhKSxudWxsPT09KGE9eG4oZSwwLDAscikpJiZybyhlLHQscix3bixuKSxhPT09bylicmVhaztvPWF9bnVsbCE9PW8mJnIuc3RvcFByb3BhZ2F0aW9uKCl9ZWxzZSBybyhlLHQscixudWxsLG4pfX12YXIgd249bnVsbDtmdW5jdGlvbiB4bihlLHQsbixyKXtpZigod249bnVsbCkhPT0oZT1fbyhlPVFlKHIpKSkpaWYobnVsbD09PSh0PWd0KGUpKSllPW51bGw7ZWxzZSBpZigxMz09PShuPXQudGFnKSl7aWYobnVsbCE9PShlPWJ0KHQpKSlyZXR1cm4gZTtlPW51bGx9ZWxzZSBpZigzPT09bil7aWYodC5zdGF0ZU5vZGUuY3VycmVudC5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZClyZXR1cm4gMz09PXQudGFnP3Quc3RhdGVOb2RlLmNvbnRhaW5lckluZm86bnVsbDtlPW51bGx9ZWxzZSB0IT09ZSYmKGU9bnVsbCk7cmV0dXJuIHduPWUsbnVsbH1mdW5jdGlvbiBrbihlKXtzd2l0Y2goZSl7Y2FzZSJjYW5jZWwiOmNhc2UiY2xpY2siOmNhc2UiY2xvc2UiOmNhc2UiY29udGV4dG1lbnUiOmNhc2UiY29weSI6Y2FzZSJjdXQiOmNhc2UiYXV4Y2xpY2siOmNhc2UiZGJsY2xpY2siOmNhc2UiZHJhZ2VuZCI6Y2FzZSJkcmFnc3RhcnQiOmNhc2UiZHJvcCI6Y2FzZSJmb2N1c2luIjpjYXNlImZvY3Vzb3V0IjpjYXNlImlucHV0IjpjYXNlImludmFsaWQiOmNhc2Uia2V5ZG93biI6Y2FzZSJrZXlwcmVzcyI6Y2FzZSJrZXl1cCI6Y2FzZSJtb3VzZWRvd24iOmNhc2UibW91c2V1cCI6Y2FzZSJwYXN0ZSI6Y2FzZSJwYXVzZSI6Y2FzZSJwbGF5IjpjYXNlInBvaW50ZXJjYW5jZWwiOmNhc2UicG9pbnRlcmRvd24iOmNhc2UicG9pbnRlcnVwIjpjYXNlInJhdGVjaGFuZ2UiOmNhc2UicmVzZXQiOmNhc2UicmVzaXplIjpjYXNlInNlZWtlZCI6Y2FzZSJzdWJtaXQiOmNhc2UidG91Y2hjYW5jZWwiOmNhc2UidG91Y2hlbmQiOmNhc2UidG91Y2hzdGFydCI6Y2FzZSJ2b2x1bWVjaGFuZ2UiOmNhc2UiY2hhbmdlIjpjYXNlInNlbGVjdGlvbmNoYW5nZSI6Y2FzZSJ0ZXh0SW5wdXQiOmNhc2UiY29tcG9zaXRpb25zdGFydCI6Y2FzZSJjb21wb3NpdGlvbmVuZCI6Y2FzZSJjb21wb3NpdGlvbnVwZGF0ZSI6Y2FzZSJiZWZvcmVibHVyIjpjYXNlImFmdGVyYmx1ciI6Y2FzZSJiZWZvcmVpbnB1dCI6Y2FzZSJibHVyIjpjYXNlImZ1bGxzY3JlZW5jaGFuZ2UiOmNhc2UiZm9jdXMiOmNhc2UiaGFzaGNoYW5nZSI6Y2FzZSJwb3BzdGF0ZSI6Y2FzZSJzZWxlY3QiOmNhc2Uic2VsZWN0c3RhcnQiOnJldHVybiAxO2Nhc2UiZHJhZyI6Y2FzZSJkcmFnZW50ZXIiOmNhc2UiZHJhZ2V4aXQiOmNhc2UiZHJhZ2xlYXZlIjpjYXNlImRyYWdvdmVyIjpjYXNlIm1vdXNlbW92ZSI6Y2FzZSJtb3VzZW91dCI6Y2FzZSJtb3VzZW92ZXIiOmNhc2UicG9pbnRlcm1vdmUiOmNhc2UicG9pbnRlcm91dCI6Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJzY3JvbGwiOmNhc2UidG9nZ2xlIjpjYXNlInRvdWNobW92ZSI6Y2FzZSJ3aGVlbCI6Y2FzZSJtb3VzZWVudGVyIjpjYXNlIm1vdXNlbGVhdmUiOmNhc2UicG9pbnRlcmVudGVyIjpjYXNlInBvaW50ZXJsZWF2ZSI6cmV0dXJuIDQ7Y2FzZSJtZXNzYWdlIjpzd2l0Y2goQ3QoKSl7Y2FzZSBFdDpyZXR1cm4gMTtjYXNlIE90OnJldHVybiA0O2Nhc2UganQ6Y2FzZSBBdDpyZXR1cm4gMTY7Y2FzZSBQdDpyZXR1cm4gNTM2ODcwOTEyO2RlZmF1bHQ6cmV0dXJuIDE2fWRlZmF1bHQ6cmV0dXJuIDE2fX12YXIgU249bnVsbCxDbj1udWxsLEVuPW51bGw7ZnVuY3Rpb24gT24oKXtpZihFbilyZXR1cm4gRW47Zm9yKHZhciBlPUNuLHQ9ZS5sZW5ndGgsbj0oInZhbHVlImluIFNuP1NuLnZhbHVlOlNuLnRleHRDb250ZW50KSxyPW4ubGVuZ3RoLG89MDtvPHQmJmVbb109PT1uW29dO28rKyk7Zm9yKHZhciBhPXQtbyxpPTE7aTw9YSYmZVt0LWldPT09bltyLWldO2krKyk7cmV0dXJuIEVuPW4uc2xpY2UobywxPGk/MS1pOnZvaWQgMCl9ZnVuY3Rpb24gam4oZSl7dmFyIHQ9ZS5rZXlDb2RlO3JldHVybiJjaGFyQ29kZSJpbiBlPzA9PT0oZT1lLmNoYXJDb2RlKSYmMTM9PT10JiYoZT0xMyk6ZT10LDMyPD0oZT0xMD09PWU/MTM6ZSl8fDEzPT09ZT9lOjB9ZnVuY3Rpb24gQW4oKXtyZXR1cm4hMH1mdW5jdGlvbiBQbigpe3JldHVybiExfWZ1bmN0aW9uIEluKGkpe2Z1bmN0aW9uIGUoZSx0LG4scixvKXtmb3IodmFyIGEgaW4gdGhpcy5fcmVhY3ROYW1lPWUsdGhpcy5fdGFyZ2V0SW5zdD1uLHRoaXMudHlwZT10LHRoaXMubmF0aXZlRXZlbnQ9cix0aGlzLnRhcmdldD1vLHRoaXMuY3VycmVudFRhcmdldD1udWxsLGkpaS5oYXNPd25Qcm9wZXJ0eShhKSYmKGU9aVthXSx0aGlzW2FdPWU/ZShyKTpyW2FdKTtyZXR1cm4gdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9KG51bGwhPXIuZGVmYXVsdFByZXZlbnRlZD9yLmRlZmF1bHRQcmV2ZW50ZWQ6ITE9PT1yLnJldHVyblZhbHVlKT9BbjpQbix0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPVBuLHRoaXN9cmV0dXJuIGcoZS5wcm90b3R5cGUse3ByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0UHJldmVudGVkPSEwO3ZhciBlPXRoaXMubmF0aXZlRXZlbnQ7ZSYmKGUucHJldmVudERlZmF1bHQ/ZS5wcmV2ZW50RGVmYXVsdCgpOiJ1bmtub3duIiE9dHlwZW9mIGUucmV0dXJuVmFsdWUmJihlLnJldHVyblZhbHVlPSExKSx0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1Bbil9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMubmF0aXZlRXZlbnQ7ZSYmKGUuc3RvcFByb3BhZ2F0aW9uP2Uuc3RvcFByb3BhZ2F0aW9uKCk6InVua25vd24iIT10eXBlb2YgZS5jYW5jZWxCdWJibGUmJihlLmNhbmNlbEJ1YmJsZT0hMCksdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1Bbil9LHBlcnNpc3Q6ZnVuY3Rpb24oKXt9LGlzUGVyc2lzdGVudDpBbn0pLGV9dmFyIF9uLHpuLFRuLGU9e2V2ZW50UGhhc2U6MCxidWJibGVzOjAsY2FuY2VsYWJsZTowLHRpbWVTdGFtcDpmdW5jdGlvbihlKXtyZXR1cm4gZS50aW1lU3RhbXB8fERhdGUubm93KCl9LGRlZmF1bHRQcmV2ZW50ZWQ6MCxpc1RydXN0ZWQ6MH0sTG49SW4oZSksdD1nKHt9LGUse3ZpZXc6MCxkZXRhaWw6MH0pLE1uPUluKHQpLHI9Zyh7fSx0LHtzY3JlZW5YOjAsc2NyZWVuWTowLGNsaWVudFg6MCxjbGllbnRZOjAscGFnZVg6MCxwYWdlWTowLGN0cmxLZXk6MCxzaGlmdEtleTowLGFsdEtleTowLG1ldGFLZXk6MCxnZXRNb2RpZmllclN0YXRlOkduLGJ1dHRvbjowLGJ1dHRvbnM6MCxyZWxhdGVkVGFyZ2V0OmZ1bmN0aW9uKGUpe3JldHVybiB2b2lkIDA9PT1lLnJlbGF0ZWRUYXJnZXQ/ZS5mcm9tRWxlbWVudD09PWUuc3JjRWxlbWVudD9lLnRvRWxlbWVudDplLmZyb21FbGVtZW50OmUucmVsYXRlZFRhcmdldH0sbW92ZW1lbnRYOmZ1bmN0aW9uKGUpe3JldHVybiJtb3ZlbWVudFgiaW4gZT9lLm1vdmVtZW50WDooZSE9PVRuJiYoem49VG4mJiJtb3VzZW1vdmUiPT09ZS50eXBlPyhfbj1lLnNjcmVlblgtVG4uc2NyZWVuWCxlLnNjcmVlblktVG4uc2NyZWVuWSk6X249MCxUbj1lKSxfbil9LG1vdmVtZW50WTpmdW5jdGlvbihlKXtyZXR1cm4ibW92ZW1lbnRZImluIGU/ZS5tb3ZlbWVudFk6em59fSksUm49SW4ociksTm49SW4oZyh7fSxyLHtkYXRhVHJhbnNmZXI6MH0pKSxEbj1JbihnKHt9LHQse3JlbGF0ZWRUYXJnZXQ6MH0pKSxVbj1JbihnKHt9LGUse2FuaW1hdGlvbk5hbWU6MCxlbGFwc2VkVGltZTowLHBzZXVkb0VsZW1lbnQ6MH0pKSxCbj1JbihnKHt9LGUse2NsaXBib2FyZERhdGE6ZnVuY3Rpb24oZSl7cmV0dXJuKCJjbGlwYm9hcmREYXRhImluIGU/ZTp3aW5kb3cpLmNsaXBib2FyZERhdGF9fSkpLEZuPUluKGcoe30sZSx7ZGF0YTowfSkpLEhuPXtFc2M6IkVzY2FwZSIsU3BhY2ViYXI6IiAiLExlZnQ6IkFycm93TGVmdCIsVXA6IkFycm93VXAiLFJpZ2h0OiJBcnJvd1JpZ2h0IixEb3duOiJBcnJvd0Rvd24iLERlbDoiRGVsZXRlIixXaW46Ik9TIixNZW51OiJDb250ZXh0TWVudSIsQXBwczoiQ29udGV4dE1lbnUiLFNjcm9sbDoiU2Nyb2xsTG9jayIsTW96UHJpbnRhYmxlS2V5OiJVbmlkZW50aWZpZWQifSxWbj17ODoiQmFja3NwYWNlIiw5OiJUYWIiLDEyOiJDbGVhciIsMTM6IkVudGVyIiwxNjoiU2hpZnQiLDE3OiJDb250cm9sIiwxODoiQWx0IiwxOToiUGF1c2UiLDIwOiJDYXBzTG9jayIsMjc6IkVzY2FwZSIsMzI6IiAiLDMzOiJQYWdlVXAiLDM0OiJQYWdlRG93biIsMzU6IkVuZCIsMzY6IkhvbWUiLDM3OiJBcnJvd0xlZnQiLDM4OiJBcnJvd1VwIiwzOToiQXJyb3dSaWdodCIsNDA6IkFycm93RG93biIsNDU6Ikluc2VydCIsNDY6IkRlbGV0ZSIsMTEyOiJGMSIsMTEzOiJGMiIsMTE0OiJGMyIsMTE1OiJGNCIsMTE2OiJGNSIsMTE3OiJGNiIsMTE4OiJGNyIsMTE5OiJGOCIsMTIwOiJGOSIsMTIxOiJGMTAiLDEyMjoiRjExIiwxMjM6IkYxMiIsMTQ0OiJOdW1Mb2NrIiwxNDU6IlNjcm9sbExvY2siLDIyNDoiTWV0YSJ9LCRuPXtBbHQ6ImFsdEtleSIsQ29udHJvbDoiY3RybEtleSIsTWV0YToibWV0YUtleSIsU2hpZnQ6InNoaWZ0S2V5In07ZnVuY3Rpb24gV24oZSl7dmFyIHQ9dGhpcy5uYXRpdmVFdmVudDtyZXR1cm4gdC5nZXRNb2RpZmllclN0YXRlP3QuZ2V0TW9kaWZpZXJTdGF0ZShlKTohIShlPSRuW2VdKSYmISF0W2VdfWZ1bmN0aW9uIEduKCl7cmV0dXJuIFdufXZhciBxbj1JbihnKHt9LHQse2tleTpmdW5jdGlvbihlKXtpZihlLmtleSl7dmFyIHQ9SG5bZS5rZXldfHxlLmtleTtpZigiVW5pZGVudGlmaWVkIiE9PXQpcmV0dXJuIHR9cmV0dXJuImtleXByZXNzIj09PWUudHlwZT8xMz09PShlPWpuKGUpKT8iRW50ZXIiOlN0cmluZy5mcm9tQ2hhckNvZGUoZSk6ImtleWRvd24iPT09ZS50eXBlfHwia2V5dXAiPT09ZS50eXBlP1ZuW2Uua2V5Q29kZV18fCJVbmlkZW50aWZpZWQiOiIifSxjb2RlOjAsbG9jYXRpb246MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxhbHRLZXk6MCxtZXRhS2V5OjAscmVwZWF0OjAsbG9jYWxlOjAsZ2V0TW9kaWZpZXJTdGF0ZTpHbixjaGFyQ29kZTpmdW5jdGlvbihlKXtyZXR1cm4ia2V5cHJlc3MiPT09ZS50eXBlP2puKGUpOjB9LGtleUNvZGU6ZnVuY3Rpb24oZSl7cmV0dXJuImtleWRvd24iPT09ZS50eXBlfHwia2V5dXAiPT09ZS50eXBlP2Uua2V5Q29kZTowfSx3aGljaDpmdW5jdGlvbihlKXtyZXR1cm4ia2V5cHJlc3MiPT09ZS50eXBlP2puKGUpOiJrZXlkb3duIj09PWUudHlwZXx8ImtleXVwIj09PWUudHlwZT9lLmtleUNvZGU6MH19KSksWm49SW4oZyh7fSxyLHtwb2ludGVySWQ6MCx3aWR0aDowLGhlaWdodDowLHByZXNzdXJlOjAsdGFuZ2VudGlhbFByZXNzdXJlOjAsdGlsdFg6MCx0aWx0WTowLHR3aXN0OjAscG9pbnRlclR5cGU6MCxpc1ByaW1hcnk6MH0pKSxYbj1JbihnKHt9LHQse3RvdWNoZXM6MCx0YXJnZXRUb3VjaGVzOjAsY2hhbmdlZFRvdWNoZXM6MCxhbHRLZXk6MCxtZXRhS2V5OjAsY3RybEtleTowLHNoaWZ0S2V5OjAsZ2V0TW9kaWZpZXJTdGF0ZTpHbn0pKSxZbj1JbihnKHt9LGUse3Byb3BlcnR5TmFtZTowLGVsYXBzZWRUaW1lOjAscHNldWRvRWxlbWVudDowfSkpLFFuPUluKGcoe30scix7ZGVsdGFYOmZ1bmN0aW9uKGUpe3JldHVybiJkZWx0YVgiaW4gZT9lLmRlbHRhWDoid2hlZWxEZWx0YVgiaW4gZT8tZS53aGVlbERlbHRhWDowfSxkZWx0YVk6ZnVuY3Rpb24oZSl7cmV0dXJuImRlbHRhWSJpbiBlP2UuZGVsdGFZOiJ3aGVlbERlbHRhWSJpbiBlPy1lLndoZWVsRGVsdGFZOiJ3aGVlbERlbHRhImluIGU/LWUud2hlZWxEZWx0YTowfSxkZWx0YVo6MCxkZWx0YU1vZGU6MH0pKSxLbj1bOSwxMywyNywzMl0sSm49UiYmIkNvbXBvc2l0aW9uRXZlbnQiaW4gd2luZG93LHQ9bnVsbCxlcj0oUiYmImRvY3VtZW50TW9kZSJpbiBkb2N1bWVudCYmKHQ9ZG9jdW1lbnQuZG9jdW1lbnRNb2RlKSxSJiYiVGV4dEV2ZW50ImluIHdpbmRvdyYmIXQpLHRyPVImJighSm58fHQmJjg8dCYmdDw9MTEpLG5yPVN0cmluZy5mcm9tQ2hhckNvZGUoMzIpLHJyPSExO2Z1bmN0aW9uIG9yKGUsdCl7c3dpdGNoKGUpe2Nhc2Uia2V5dXAiOnJldHVybi0xIT09S24uaW5kZXhPZih0LmtleUNvZGUpO2Nhc2Uia2V5ZG93biI6cmV0dXJuIDIyOSE9PXQua2V5Q29kZTtjYXNlImtleXByZXNzIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJmb2N1c291dCI6cmV0dXJuIDE7ZGVmYXVsdDpyZXR1cm59fWZ1bmN0aW9uIGFyKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YoZT1lLmRldGFpbCkmJiJkYXRhImluIGU/ZS5kYXRhOm51bGx9dmFyIGlyPSExO3ZhciBscj17Y29sb3I6ITAsZGF0ZTohMCxkYXRldGltZTohMCwiZGF0ZXRpbWUtbG9jYWwiOiEwLGVtYWlsOiEwLG1vbnRoOiEwLG51bWJlcjohMCxwYXNzd29yZDohMCxyYW5nZTohMCxzZWFyY2g6ITAsdGVsOiEwLHRleHQ6ITAsdGltZTohMCx1cmw6ITAsd2VlazohMH07ZnVuY3Rpb24gY3IoZSl7dmFyIHQ9ZSYmZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiJpbnB1dCI9PT10P2xyW2UudHlwZV06InRleHRhcmVhIj09PXR9ZnVuY3Rpb24gdXIoZSx0LG4scil7bnQociksMDwodD1hbyh0LCJvbkNoYW5nZSIpKS5sZW5ndGgmJihuPW5ldyBMbigib25DaGFuZ2UiLCJjaGFuZ2UiLG51bGwsbixyKSxlLnB1c2goe2V2ZW50Om4sbGlzdGVuZXJzOnR9KSl9dmFyIHNyPW51bGwsZnI9bnVsbDtmdW5jdGlvbiBkcihlKXtLcihlLDApfWZ1bmN0aW9uIHByKGUpe2lmKFNlKFRvKGUpKSlyZXR1cm4gZX1mdW5jdGlvbiBtcihlLHQpe2lmKCJjaGFuZ2UiPT09ZSlyZXR1cm4gdH12YXIgaHI9ITE7ZnVuY3Rpb24gZ3IoKXtzciYmKHNyLmRldGFjaEV2ZW50KCJvbnByb3BlcnR5Y2hhbmdlIixiciksZnI9c3I9bnVsbCl9ZnVuY3Rpb24gYnIoZSl7dmFyIHQ7InZhbHVlIj09PWUucHJvcGVydHlOYW1lJiZwcihmcikmJih1cih0PVtdLGZyLGUsUWUoZSkpLGx0KGRyLHQpKX1mdW5jdGlvbiB5cihlLHQsbil7ImZvY3VzaW4iPT09ZT8oZ3IoKSxmcj1uLChzcj10KS5hdHRhY2hFdmVudCgib25wcm9wZXJ0eWNoYW5nZSIsYnIpKToiZm9jdXNvdXQiPT09ZSYmZ3IoKX1mdW5jdGlvbiB2cihlKXtpZigic2VsZWN0aW9uY2hhbmdlIj09PWV8fCJrZXl1cCI9PT1lfHwia2V5ZG93biI9PT1lKXJldHVybiBwcihmcil9ZnVuY3Rpb24gd3IoZSx0KXtpZigiY2xpY2siPT09ZSlyZXR1cm4gcHIodCl9ZnVuY3Rpb24geHIoZSx0KXtpZigiaW5wdXQiPT09ZXx8ImNoYW5nZSI9PT1lKXJldHVybiBwcih0KX1SJiYodD1SJiYoKGU9Im9uaW5wdXQiaW4gZG9jdW1lbnQpfHwoKHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpLnNldEF0dHJpYnV0ZSgib25pbnB1dCIsInJldHVybjsiKSxlPSJmdW5jdGlvbiI9PXR5cGVvZiByLm9uaW5wdXQpLGUpLGhyPXQmJighZG9jdW1lbnQuZG9jdW1lbnRNb2RlfHw5PGRvY3VtZW50LmRvY3VtZW50TW9kZSkpO3ZhciBrcj0iZnVuY3Rpb24iPT10eXBlb2YgT2JqZWN0LmlzP09iamVjdC5pczpmdW5jdGlvbihlLHQpe3JldHVybiBlPT09dCYmKDAhPT1lfHwxL2U9PTEvdCl8fGUhPWUmJnQhPXR9O2Z1bmN0aW9uIFNyKGUsdCl7aWYoIWtyKGUsdCkpe2lmKCJvYmplY3QiIT10eXBlb2YgZXx8bnVsbD09PWV8fCJvYmplY3QiIT10eXBlb2YgdHx8bnVsbD09PXQpcmV0dXJuITE7dmFyIG49T2JqZWN0LmtleXMoZSkscj1PYmplY3Qua2V5cyh0KTtpZihuLmxlbmd0aCE9PXIubGVuZ3RoKXJldHVybiExO2ZvcihyPTA7cjxuLmxlbmd0aDtyKyspe3ZhciBvPW5bcl07aWYoIVcuY2FsbCh0LG8pfHwha3IoZVtvXSx0W29dKSlyZXR1cm4hMX19cmV0dXJuITB9ZnVuY3Rpb24gQ3IoZSl7Zm9yKDtlJiZlLmZpcnN0Q2hpbGQ7KWU9ZS5maXJzdENoaWxkO3JldHVybiBlfWZ1bmN0aW9uIEVyKGUsdCl7dmFyIG4scj1DcihlKTtmb3IoZT0wO3I7KXtpZigzPT09ci5ub2RlVHlwZSl7aWYobj1lK3IudGV4dENvbnRlbnQubGVuZ3RoLGU8PXQmJnQ8PW4pcmV0dXJue25vZGU6cixvZmZzZXQ6dC1lfTtlPW59ZTp7Zm9yKDtyOyl7aWYoci5uZXh0U2libGluZyl7cj1yLm5leHRTaWJsaW5nO2JyZWFrIGV9cj1yLnBhcmVudE5vZGV9cj12b2lkIDB9cj1DcihyKX19ZnVuY3Rpb24gT3IoKXtmb3IodmFyIGU9d2luZG93LHQ9Q2UoKTt0IGluc3RhbmNlb2YgZS5IVE1MSUZyYW1lRWxlbWVudDspe3RyeXt2YXIgbj0ic3RyaW5nIj09dHlwZW9mIHQuY29udGVudFdpbmRvdy5sb2NhdGlvbi5ocmVmfWNhdGNoKGUpe249ITF9aWYoIW4pYnJlYWs7dD1DZSgoZT10LmNvbnRlbnRXaW5kb3cpLmRvY3VtZW50KX1yZXR1cm4gdH1mdW5jdGlvbiBqcihlKXt2YXIgdD1lJiZlLm5vZGVOYW1lJiZlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuIHQmJigiaW5wdXQiPT09dCYmKCJ0ZXh0Ij09PWUudHlwZXx8InNlYXJjaCI9PT1lLnR5cGV8fCJ0ZWwiPT09ZS50eXBlfHwidXJsIj09PWUudHlwZXx8InBhc3N3b3JkIj09PWUudHlwZSl8fCJ0ZXh0YXJlYSI9PT10fHwidHJ1ZSI9PT1lLmNvbnRlbnRFZGl0YWJsZSl9ZnVuY3Rpb24gQXIoZSl7dmFyIHQsbixyLG89T3IoKSxhPWUuZm9jdXNlZEVsZW0saT1lLnNlbGVjdGlvblJhbmdlO2lmKG8hPT1hJiZhJiZhLm93bmVyRG9jdW1lbnQmJmZ1bmN0aW9uIGUodCxuKXtyZXR1cm4hKCF0fHwhbikmJih0PT09bnx8KCF0fHwzIT09dC5ub2RlVHlwZSkmJihuJiYzPT09bi5ub2RlVHlwZT9lKHQsbi5wYXJlbnROb2RlKToiY29udGFpbnMiaW4gdD90LmNvbnRhaW5zKG4pOiEhdC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiYmISEoMTYmdC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihuKSkpKX0oYS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxhKSl7bnVsbCE9PWkmJmpyKGEpJiYobz1pLnN0YXJ0LHZvaWQgMD09PShlPWkuZW5kKSYmKGU9byksInNlbGVjdGlvblN0YXJ0ImluIGE/KGEuc2VsZWN0aW9uU3RhcnQ9byxhLnNlbGVjdGlvbkVuZD1NYXRoLm1pbihlLGEudmFsdWUubGVuZ3RoKSk6KGU9KG89YS5vd25lckRvY3VtZW50fHxkb2N1bWVudCkmJm8uZGVmYXVsdFZpZXd8fHdpbmRvdykuZ2V0U2VsZWN0aW9uJiYoZT1lLmdldFNlbGVjdGlvbigpLG49YS50ZXh0Q29udGVudC5sZW5ndGgsdD1NYXRoLm1pbihpLnN0YXJ0LG4pLGk9dm9pZCAwPT09aS5lbmQ/dDpNYXRoLm1pbihpLmVuZCxuKSwhZS5leHRlbmQmJmk8dCYmKG49aSxpPXQsdD1uKSxuPUVyKGEsdCkscj1FcihhLGkpLG4pJiZyJiYoMSE9PWUucmFuZ2VDb3VudHx8ZS5hbmNob3JOb2RlIT09bi5ub2RlfHxlLmFuY2hvck9mZnNldCE9PW4ub2Zmc2V0fHxlLmZvY3VzTm9kZSE9PXIubm9kZXx8ZS5mb2N1c09mZnNldCE9PXIub2Zmc2V0KSYmKChvPW8uY3JlYXRlUmFuZ2UoKSkuc2V0U3RhcnQobi5ub2RlLG4ub2Zmc2V0KSxlLnJlbW92ZUFsbFJhbmdlcygpLGk8dD8oZS5hZGRSYW5nZShvKSxlLmV4dGVuZChyLm5vZGUsci5vZmZzZXQpKTooby5zZXRFbmQoci5ub2RlLHIub2Zmc2V0KSxlLmFkZFJhbmdlKG8pKSkpLG89W107Zm9yKGU9YTtlPWUucGFyZW50Tm9kZTspMT09PWUubm9kZVR5cGUmJm8ucHVzaCh7ZWxlbWVudDplLGxlZnQ6ZS5zY3JvbGxMZWZ0LHRvcDplLnNjcm9sbFRvcH0pO2ZvcigiZnVuY3Rpb24iPT10eXBlb2YgYS5mb2N1cyYmYS5mb2N1cygpLGE9MDthPG8ubGVuZ3RoO2ErKykoZT1vW2FdKS5lbGVtZW50LnNjcm9sbExlZnQ9ZS5sZWZ0LGUuZWxlbWVudC5zY3JvbGxUb3A9ZS50b3B9fXZhciBQcj1SJiYiZG9jdW1lbnRNb2RlImluIGRvY3VtZW50JiZkb2N1bWVudC5kb2N1bWVudE1vZGU8PTExLElyPW51bGwsX3I9bnVsbCx6cj1udWxsLFRyPSExO2Z1bmN0aW9uIExyKGUsdCxuKXt2YXIgcj1uLndpbmRvdz09PW4/bi5kb2N1bWVudDo5PT09bi5ub2RlVHlwZT9uOm4ub3duZXJEb2N1bWVudDtUcnx8bnVsbD09SXJ8fElyIT09Q2Uocil8fChyPSJzZWxlY3Rpb25TdGFydCJpbihyPUlyKSYmanIocik/e3N0YXJ0OnIuc2VsZWN0aW9uU3RhcnQsZW5kOnIuc2VsZWN0aW9uRW5kfTp7YW5jaG9yTm9kZToocj0oci5vd25lckRvY3VtZW50JiZyLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXd8fHdpbmRvdykuZ2V0U2VsZWN0aW9uKCkpLmFuY2hvck5vZGUsYW5jaG9yT2Zmc2V0OnIuYW5jaG9yT2Zmc2V0LGZvY3VzTm9kZTpyLmZvY3VzTm9kZSxmb2N1c09mZnNldDpyLmZvY3VzT2Zmc2V0fSx6ciYmU3IoenIscikpfHwoenI9ciwwPChyPWFvKF9yLCJvblNlbGVjdCIpKS5sZW5ndGgmJih0PW5ldyBMbigib25TZWxlY3QiLCJzZWxlY3QiLG51bGwsdCxuKSxlLnB1c2goe2V2ZW50OnQsbGlzdGVuZXJzOnJ9KSx0LnRhcmdldD1JcikpfWZ1bmN0aW9uIE1yKGUsdCl7dmFyIG49e307cmV0dXJuIG5bZS50b0xvd2VyQ2FzZSgpXT10LnRvTG93ZXJDYXNlKCksblsiV2Via2l0IitlXT0id2Via2l0Iit0LG5bIk1veiIrZV09Im1veiIrdCxufXZhciBScj17YW5pbWF0aW9uZW5kOk1yKCJBbmltYXRpb24iLCJBbmltYXRpb25FbmQiKSxhbmltYXRpb25pdGVyYXRpb246TXIoIkFuaW1hdGlvbiIsIkFuaW1hdGlvbkl0ZXJhdGlvbiIpLGFuaW1hdGlvbnN0YXJ0Ok1yKCJBbmltYXRpb24iLCJBbmltYXRpb25TdGFydCIpLHRyYW5zaXRpb25lbmQ6TXIoIlRyYW5zaXRpb24iLCJUcmFuc2l0aW9uRW5kIil9LE5yPXt9LERyPXt9O2Z1bmN0aW9uIFVyKGUpe2lmKE5yW2VdKXJldHVybiBOcltlXTtpZihScltlXSl7dmFyIHQsbj1ScltlXTtmb3IodCBpbiBuKWlmKG4uaGFzT3duUHJvcGVydHkodCkmJnQgaW4gRHIpcmV0dXJuIE5yW2VdPW5bdF19cmV0dXJuIGV9UiYmKERyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLnN0eWxlLCJBbmltYXRpb25FdmVudCJpbiB3aW5kb3d8fChkZWxldGUgUnIuYW5pbWF0aW9uZW5kLmFuaW1hdGlvbixkZWxldGUgUnIuYW5pbWF0aW9uaXRlcmF0aW9uLmFuaW1hdGlvbixkZWxldGUgUnIuYW5pbWF0aW9uc3RhcnQuYW5pbWF0aW9uKSwiVHJhbnNpdGlvbkV2ZW50ImluIHdpbmRvd3x8ZGVsZXRlIFJyLnRyYW5zaXRpb25lbmQudHJhbnNpdGlvbik7dmFyIEJyPVVyKCJhbmltYXRpb25lbmQiKSxGcj1VcigiYW5pbWF0aW9uaXRlcmF0aW9uIiksSHI9VXIoImFuaW1hdGlvbnN0YXJ0IiksVnI9VXIoInRyYW5zaXRpb25lbmQiKSwkcj1uZXcgTWFwLFdyPSJhYm9ydCBhdXhDbGljayBjYW5jZWwgY2FuUGxheSBjYW5QbGF5VGhyb3VnaCBjbGljayBjbG9zZSBjb250ZXh0TWVudSBjb3B5IGN1dCBkcmFnIGRyYWdFbmQgZHJhZ0VudGVyIGRyYWdFeGl0IGRyYWdMZWF2ZSBkcmFnT3ZlciBkcmFnU3RhcnQgZHJvcCBkdXJhdGlvbkNoYW5nZSBlbXB0aWVkIGVuY3J5cHRlZCBlbmRlZCBlcnJvciBnb3RQb2ludGVyQ2FwdHVyZSBpbnB1dCBpbnZhbGlkIGtleURvd24ga2V5UHJlc3Mga2V5VXAgbG9hZCBsb2FkZWREYXRhIGxvYWRlZE1ldGFkYXRhIGxvYWRTdGFydCBsb3N0UG9pbnRlckNhcHR1cmUgbW91c2VEb3duIG1vdXNlTW92ZSBtb3VzZU91dCBtb3VzZU92ZXIgbW91c2VVcCBwYXN0ZSBwYXVzZSBwbGF5IHBsYXlpbmcgcG9pbnRlckNhbmNlbCBwb2ludGVyRG93biBwb2ludGVyTW92ZSBwb2ludGVyT3V0IHBvaW50ZXJPdmVyIHBvaW50ZXJVcCBwcm9ncmVzcyByYXRlQ2hhbmdlIHJlc2V0IHJlc2l6ZSBzZWVrZWQgc2Vla2luZyBzdGFsbGVkIHN1Ym1pdCBzdXNwZW5kIHRpbWVVcGRhdGUgdG91Y2hDYW5jZWwgdG91Y2hFbmQgdG91Y2hTdGFydCB2b2x1bWVDaGFuZ2Ugc2Nyb2xsIHRvZ2dsZSB0b3VjaE1vdmUgd2FpdGluZyB3aGVlbCIuc3BsaXQoIiAiKTtmdW5jdGlvbiBHcihlLHQpeyRyLnNldChlLHQpLFYodCxbZV0pfWZvcih2YXIgcXI9MDtxcjxXci5sZW5ndGg7cXIrKyl7dmFyIFpyPVdyW3FyXTtHcihaci50b0xvd2VyQ2FzZSgpLCJvbiIrKFpyWzBdLnRvVXBwZXJDYXNlKCkrWnIuc2xpY2UoMSkpKX1HcihCciwib25BbmltYXRpb25FbmQiKSxHcihGciwib25BbmltYXRpb25JdGVyYXRpb24iKSxHcihIciwib25BbmltYXRpb25TdGFydCIpLEdyKCJkYmxjbGljayIsIm9uRG91YmxlQ2xpY2siKSxHcigiZm9jdXNpbiIsIm9uRm9jdXMiKSxHcigiZm9jdXNvdXQiLCJvbkJsdXIiKSxHcihWciwib25UcmFuc2l0aW9uRW5kIiksJCgib25Nb3VzZUVudGVyIixbIm1vdXNlb3V0IiwibW91c2VvdmVyIl0pLCQoIm9uTW91c2VMZWF2ZSIsWyJtb3VzZW91dCIsIm1vdXNlb3ZlciJdKSwkKCJvblBvaW50ZXJFbnRlciIsWyJwb2ludGVyb3V0IiwicG9pbnRlcm92ZXIiXSksJCgib25Qb2ludGVyTGVhdmUiLFsicG9pbnRlcm91dCIsInBvaW50ZXJvdmVyIl0pLFYoIm9uQ2hhbmdlIiwiY2hhbmdlIGNsaWNrIGZvY3VzaW4gZm9jdXNvdXQgaW5wdXQga2V5ZG93biBrZXl1cCBzZWxlY3Rpb25jaGFuZ2UiLnNwbGl0KCIgIikpLFYoIm9uU2VsZWN0IiwiZm9jdXNvdXQgY29udGV4dG1lbnUgZHJhZ2VuZCBmb2N1c2luIGtleWRvd24ga2V5dXAgbW91c2Vkb3duIG1vdXNldXAgc2VsZWN0aW9uY2hhbmdlIi5zcGxpdCgiICIpKSxWKCJvbkJlZm9yZUlucHV0IixbImNvbXBvc2l0aW9uZW5kIiwia2V5cHJlc3MiLCJ0ZXh0SW5wdXQiLCJwYXN0ZSJdKSxWKCJvbkNvbXBvc2l0aW9uRW5kIiwiY29tcG9zaXRpb25lbmQgZm9jdXNvdXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBtb3VzZWRvd24iLnNwbGl0KCIgIikpLFYoIm9uQ29tcG9zaXRpb25TdGFydCIsImNvbXBvc2l0aW9uc3RhcnQgZm9jdXNvdXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBtb3VzZWRvd24iLnNwbGl0KCIgIikpLFYoIm9uQ29tcG9zaXRpb25VcGRhdGUiLCJjb21wb3NpdGlvbnVwZGF0ZSBmb2N1c291dCBrZXlkb3duIGtleXByZXNzIGtleXVwIG1vdXNlZG93biIuc3BsaXQoIiAiKSk7dmFyIFhyPSJhYm9ydCBjYW5wbGF5IGNhbnBsYXl0aHJvdWdoIGR1cmF0aW9uY2hhbmdlIGVtcHRpZWQgZW5jcnlwdGVkIGVuZGVkIGVycm9yIGxvYWRlZGRhdGEgbG9hZGVkbWV0YWRhdGEgbG9hZHN0YXJ0IHBhdXNlIHBsYXkgcGxheWluZyBwcm9ncmVzcyByYXRlY2hhbmdlIHJlc2l6ZSBzZWVrZWQgc2Vla2luZyBzdGFsbGVkIHN1c3BlbmQgdGltZXVwZGF0ZSB2b2x1bWVjaGFuZ2Ugd2FpdGluZyIuc3BsaXQoIiAiKSxZcj1uZXcgU2V0KCJjYW5jZWwgY2xvc2UgaW52YWxpZCBsb2FkIHNjcm9sbCB0b2dnbGUiLnNwbGl0KCIgIikuY29uY2F0KFhyKSk7ZnVuY3Rpb24gUXIoZSx0LG4pe3ZhciByPWUudHlwZXx8InVua25vd24tZXZlbnQiO2UuY3VycmVudFRhcmdldD1uLGZ1bmN0aW9uKCl7dmFyIGU7aHQuYXBwbHkodGhpcyxhcmd1bWVudHMpLHN0JiYoZT1mdCxzdD0hMSxmdD1udWxsLGR0fHwoZHQ9ITAscHQ9ZSkpfShyLHQsdm9pZCAwLGUpLGUuY3VycmVudFRhcmdldD1udWxsfWZ1bmN0aW9uIEtyKGUsdCl7dD0wIT0oNCZ0KTtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIHI9KG89ZVtuXSkuZXZlbnQsbz1vLmxpc3RlbmVycztlOnt2YXIgYT12b2lkIDA7aWYodClmb3IodmFyIGk9by5sZW5ndGgtMTswPD1pO2ktLSl7dmFyIGw9KHU9b1tpXSkuaW5zdGFuY2UsYz11LmN1cnJlbnRUYXJnZXQsdT11Lmxpc3RlbmVyO2lmKGwhPT1hJiZyLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpYnJlYWsgZTtRcihyLHUsYyksYT1sfWVsc2UgZm9yKGk9MDtpPG8ubGVuZ3RoO2krKyl7aWYobD0odT1vW2ldKS5pbnN0YW5jZSxjPXUuY3VycmVudFRhcmdldCx1PXUubGlzdGVuZXIsbCE9PWEmJnIuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSlicmVhayBlO1FyKHIsdSxjKSxhPWx9fX1pZihkdCl0aHJvdyBlPXB0LGR0PSExLHB0PW51bGwsZX1mdW5jdGlvbiBzKGUsdCl7dmFyIG49dFtBb10scj1lKyJfX2J1YmJsZSI7KG49dm9pZCAwPT09bj90W0FvXT1uZXcgU2V0Om4pLmhhcyhyKXx8KG5vKHQsZSwyLCExKSxuLmFkZChyKSl9ZnVuY3Rpb24gSnIoZSx0LG4pe3ZhciByPTA7dCYmKHJ8PTQpLG5vKG4sZSxyLHQpfXZhciBlbz0iX3JlYWN0TGlzdGVuaW5nIitNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKTtmdW5jdGlvbiB0byh0KXt2YXIgZTt0W2VvXXx8KHRbZW9dPSEwLEYuZm9yRWFjaChmdW5jdGlvbihlKXsic2VsZWN0aW9uY2hhbmdlIiE9PWUmJihZci5oYXMoZSl8fEpyKGUsITEsdCksSnIoZSwhMCx0KSl9KSxudWxsPT09KGU9OT09PXQubm9kZVR5cGU/dDp0Lm93bmVyRG9jdW1lbnQpKXx8ZVtlb118fEpyKCJzZWxlY3Rpb25jaGFuZ2UiLCEoZVtlb109ITApLGUpfWZ1bmN0aW9uIG5vKGUsdCxuLHIpe3N3aXRjaChrbih0KSl7Y2FzZSAxOnZhciBvPWJuO2JyZWFrO2Nhc2UgNDpvPXluO2JyZWFrO2RlZmF1bHQ6bz12bn1uPW8uYmluZChudWxsLHQsbixlKSxvPSF1dHx8InRvdWNoc3RhcnQiIT09dCYmInRvdWNobW92ZSIhPT10JiYid2hlZWwiIT09dD92b2lkIDA6ITAscj92b2lkIDAhPT1vP2UuYWRkRXZlbnRMaXN0ZW5lcih0LG4se2NhcHR1cmU6ITAscGFzc2l2ZTpvfSk6ZS5hZGRFdmVudExpc3RlbmVyKHQsbiwhMCk6dm9pZCAwIT09bz9lLmFkZEV2ZW50TGlzdGVuZXIodCxuLHtwYXNzaXZlOm99KTplLmFkZEV2ZW50TGlzdGVuZXIodCxuLCExKX1mdW5jdGlvbiBybyhnLGIseSxlLHQpe3ZhciB2PWU7aWYoMD09KDEmYikmJjA9PSgyJmIpJiZudWxsIT09ZSllOmZvcig7Oyl7aWYobnVsbD09PWUpcmV0dXJuO3ZhciBuPWUudGFnO2lmKDM9PT1ufHw0PT09bil7dmFyIHI9ZS5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztpZihyPT09dHx8OD09PXIubm9kZVR5cGUmJnIucGFyZW50Tm9kZT09PXQpYnJlYWs7aWYoND09PW4pZm9yKG49ZS5yZXR1cm47bnVsbCE9PW47KXt2YXIgbz1uLnRhZztpZigoMz09PW98fDQ9PT1vKSYmKChvPW4uc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pPT09dHx8OD09PW8ubm9kZVR5cGUmJm8ucGFyZW50Tm9kZT09PXQpKXJldHVybjtuPW4ucmV0dXJufWZvcig7bnVsbCE9PXI7KXtpZihudWxsPT09KG49X28ocikpKXJldHVybjtpZig1PT09KG89bi50YWcpfHw2PT09byl7ZT12PW47Y29udGludWUgZX1yPXIucGFyZW50Tm9kZX19ZT1lLnJldHVybn1sdChmdW5jdGlvbigpe3ZhciBlLHQsbixyPXYsbz1RZSh5KSxhPVtdO2U6e3ZhciBpPSRyLmdldChnKTtpZih2b2lkIDAhPT1pKXt2YXIgbD1MbixjPWc7c3dpdGNoKGcpe2Nhc2Uia2V5cHJlc3MiOmlmKDA9PT1qbih5KSlicmVhayBlO2Nhc2Uia2V5ZG93biI6Y2FzZSJrZXl1cCI6bD1xbjticmVhaztjYXNlImZvY3VzaW4iOmM9ImZvY3VzIixsPURuO2JyZWFrO2Nhc2UiZm9jdXNvdXQiOmM9ImJsdXIiLGw9RG47YnJlYWs7Y2FzZSJiZWZvcmVibHVyIjpjYXNlImFmdGVyYmx1ciI6bD1EbjticmVhaztjYXNlImNsaWNrIjppZigyPT09eS5idXR0b24pYnJlYWsgZTtjYXNlImF1eGNsaWNrIjpjYXNlImRibGNsaWNrIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJtb3VzZW1vdmUiOmNhc2UibW91c2V1cCI6Y2FzZSJtb3VzZW91dCI6Y2FzZSJtb3VzZW92ZXIiOmNhc2UiY29udGV4dG1lbnUiOmw9Um47YnJlYWs7Y2FzZSJkcmFnIjpjYXNlImRyYWdlbmQiOmNhc2UiZHJhZ2VudGVyIjpjYXNlImRyYWdleGl0IjpjYXNlImRyYWdsZWF2ZSI6Y2FzZSJkcmFnb3ZlciI6Y2FzZSJkcmFnc3RhcnQiOmNhc2UiZHJvcCI6bD1ObjticmVhaztjYXNlInRvdWNoY2FuY2VsIjpjYXNlInRvdWNoZW5kIjpjYXNlInRvdWNobW92ZSI6Y2FzZSJ0b3VjaHN0YXJ0IjpsPVhuO2JyZWFrO2Nhc2UgQnI6Y2FzZSBGcjpjYXNlIEhyOmw9VW47YnJlYWs7Y2FzZSBWcjpsPVluO2JyZWFrO2Nhc2Uic2Nyb2xsIjpsPU1uO2JyZWFrO2Nhc2Uid2hlZWwiOmw9UW47YnJlYWs7Y2FzZSJjb3B5IjpjYXNlImN1dCI6Y2FzZSJwYXN0ZSI6bD1CbjticmVhaztjYXNlImdvdHBvaW50ZXJjYXB0dXJlIjpjYXNlImxvc3Rwb2ludGVyY2FwdHVyZSI6Y2FzZSJwb2ludGVyY2FuY2VsIjpjYXNlInBvaW50ZXJkb3duIjpjYXNlInBvaW50ZXJtb3ZlIjpjYXNlInBvaW50ZXJvdXQiOmNhc2UicG9pbnRlcm92ZXIiOmNhc2UicG9pbnRlcnVwIjpsPVpufWZvcih2YXIgdT0hKGY9MCE9KDQmYikpJiYic2Nyb2xsIj09PWcscz1mP251bGwhPT1pP2krIkNhcHR1cmUiOm51bGw6aSxmPVtdLGQ9cjtudWxsIT09ZDspe3ZhciBwLG09KHA9ZCkuc3RhdGVOb2RlO2lmKDU9PT1wLnRhZyYmbnVsbCE9PW0mJihwPW0sbnVsbCE9PXMpJiZudWxsIT0obT1jdChkLHMpKSYmZi5wdXNoKG9vKGQsbSxwKSksdSlicmVhaztkPWQucmV0dXJufTA8Zi5sZW5ndGgmJihpPW5ldyBsKGksYyxudWxsLHksbyksYS5wdXNoKHtldmVudDppLGxpc3RlbmVyczpmfSkpfX1pZigwPT0oNyZiKSl7aWYobD0ibW91c2VvdXQiPT09Z3x8InBvaW50ZXJvdXQiPT09ZywoIShpPSJtb3VzZW92ZXIiPT09Z3x8InBvaW50ZXJvdmVyIj09PWcpfHx5PT09WWV8fCEoYz15LnJlbGF0ZWRUYXJnZXR8fHkuZnJvbUVsZW1lbnQpfHwhX28oYykmJiFjW2pvXSkmJihsfHxpKSYmKGk9by53aW5kb3c9PT1vP286KGk9by5vd25lckRvY3VtZW50KT9pLmRlZmF1bHRWaWV3fHxpLnBhcmVudFdpbmRvdzp3aW5kb3csbD8obD1yLG51bGwhPT0oYz0oYz15LnJlbGF0ZWRUYXJnZXR8fHkudG9FbGVtZW50KT9fbyhjKTpudWxsKSYmKGMhPT0odT1ndChjKSl8fDUhPT1jLnRhZyYmNiE9PWMudGFnKSYmKGM9bnVsbCkpOihsPW51bGwsYz1yKSxsIT09Yykpe2lmKGY9Um4sbT0ib25Nb3VzZUxlYXZlIixzPSJvbk1vdXNlRW50ZXIiLGQ9Im1vdXNlIiwicG9pbnRlcm91dCIhPT1nJiYicG9pbnRlcm92ZXIiIT09Z3x8KGY9Wm4sbT0ib25Qb2ludGVyTGVhdmUiLHM9Im9uUG9pbnRlckVudGVyIixkPSJwb2ludGVyIiksdT1udWxsPT1sP2k6VG8obCkscD1udWxsPT1jP2k6VG8oYyksKGk9bmV3IGYobSxkKyJsZWF2ZSIsbCx5LG8pKS50YXJnZXQ9dSxpLnJlbGF0ZWRUYXJnZXQ9cCxtPW51bGwsX28obyk9PT1yJiYoKGY9bmV3IGYocyxkKyJlbnRlciIsYyx5LG8pKS50YXJnZXQ9cCxmLnJlbGF0ZWRUYXJnZXQ9dSxtPWYpLHU9bSxsJiZjKWU6e2ZvcihzPWMsZD0wLHA9Zj1sO3A7cD1pbyhwKSlkKys7Zm9yKHA9MCxtPXM7bTttPWlvKG0pKXArKztmb3IoOzA8ZC1wOylmPWlvKGYpLGQtLTtmb3IoOzA8cC1kOylzPWlvKHMpLHAtLTtmb3IoO2QtLTspe2lmKGY9PT1zfHxudWxsIT09cyYmZj09PXMuYWx0ZXJuYXRlKWJyZWFrIGU7Zj1pbyhmKSxzPWlvKHMpfWY9bnVsbH1lbHNlIGY9bnVsbDtudWxsIT09bCYmbG8oYSxpLGwsZiwhMSksbnVsbCE9PWMmJm51bGwhPT11JiZsbyhhLHUsYyxmLCEwKX1zd2l0Y2goInNlbGVjdCI9PT0obD0oaT1yP1RvKHIpOndpbmRvdykubm9kZU5hbWUmJmkubm9kZU5hbWUudG9Mb3dlckNhc2UoKSl8fCJpbnB1dCI9PT1sJiYiZmlsZSI9PT1pLnR5cGU/ZT1tcjpjcihpKT9ocj9lPXhyOihlPXZyLHQ9eXIpOiEobD1pLm5vZGVOYW1lKXx8ImlucHV0IiE9PWwudG9Mb3dlckNhc2UoKXx8ImNoZWNrYm94IiE9PWkudHlwZSYmInJhZGlvIiE9PWkudHlwZXx8KGU9d3IpLChlPWUmJmUoZyxyKSk/dXIoYSxlLHksbyk6KHQmJnQoZyxpLHIpLCJmb2N1c291dCI9PT1nJiYodD1pLl93cmFwcGVyU3RhdGUpJiZ0LmNvbnRyb2xsZWQmJiJudW1iZXIiPT09aS50eXBlJiZJZShpLCJudW1iZXIiLGkudmFsdWUpKSx0PXI/VG8ocik6d2luZG93LGcpe2Nhc2UiZm9jdXNpbiI6IWNyKHQpJiYidHJ1ZSIhPT10LmNvbnRlbnRFZGl0YWJsZXx8KElyPXQsX3I9cix6cj1udWxsKTticmVhaztjYXNlImZvY3Vzb3V0Ijp6cj1fcj1Jcj1udWxsO2JyZWFrO2Nhc2UibW91c2Vkb3duIjpUcj0hMDticmVhaztjYXNlImNvbnRleHRtZW51IjpjYXNlIm1vdXNldXAiOmNhc2UiZHJhZ2VuZCI6VHI9ITEsTHIoYSx5LG8pO2JyZWFrO2Nhc2Uic2VsZWN0aW9uY2hhbmdlIjppZihQcilicmVhaztjYXNlImtleWRvd24iOmNhc2Uia2V5dXAiOkxyKGEseSxvKX1pZihKbillOntzd2l0Y2goZyl7Y2FzZSJjb21wb3NpdGlvbnN0YXJ0Ijp2YXIgaD0ib25Db21wb3NpdGlvblN0YXJ0IjticmVhayBlO2Nhc2UiY29tcG9zaXRpb25lbmQiOmg9Im9uQ29tcG9zaXRpb25FbmQiO2JyZWFrIGU7Y2FzZSJjb21wb3NpdGlvbnVwZGF0ZSI6aD0ib25Db21wb3NpdGlvblVwZGF0ZSI7YnJlYWsgZX1oPXZvaWQgMH1lbHNlIGlyP29yKGcseSkmJihoPSJvbkNvbXBvc2l0aW9uRW5kIik6ImtleWRvd24iPT09ZyYmMjI5PT09eS5rZXlDb2RlJiYoaD0ib25Db21wb3NpdGlvblN0YXJ0Iik7aCYmKHRyJiYia28iIT09eS5sb2NhbGUmJihpcnx8Im9uQ29tcG9zaXRpb25TdGFydCIhPT1oPyJvbkNvbXBvc2l0aW9uRW5kIj09PWgmJmlyJiYobj1PbigpKTooQ249InZhbHVlImluKFNuPW8pP1NuLnZhbHVlOlNuLnRleHRDb250ZW50LGlyPSEwKSksMDwodD1hbyhyLGgpKS5sZW5ndGgpJiYoaD1uZXcgRm4oaCxnLG51bGwseSxvKSxhLnB1c2goe2V2ZW50OmgsbGlzdGVuZXJzOnR9KSxufHxudWxsIT09KG49YXIoeSkpKSYmKGguZGF0YT1uKSwobj0oZXI/ZnVuY3Rpb24oZSx0KXtzd2l0Y2goZSl7Y2FzZSJjb21wb3NpdGlvbmVuZCI6cmV0dXJuIGFyKHQpO2Nhc2Uia2V5cHJlc3MiOnJldHVybiAzMiE9PXQud2hpY2g/bnVsbDoocnI9ITAsbnIpO2Nhc2UidGV4dElucHV0IjpyZXR1cm4oZT10LmRhdGEpPT09bnImJnJyP251bGw6ZTtkZWZhdWx0OnJldHVybiBudWxsfX06ZnVuY3Rpb24oZSx0KXtpZihpcilyZXR1cm4iY29tcG9zaXRpb25lbmQiPT09ZXx8IUpuJiZvcihlLHQpPyhlPU9uKCksRW49Q249U249bnVsbCxpcj0hMSxlKTpudWxsO3N3aXRjaChlKXtjYXNlInBhc3RlIjpyZXR1cm4gbnVsbDtjYXNlImtleXByZXNzIjppZighKHQuY3RybEtleXx8dC5hbHRLZXl8fHQubWV0YUtleSl8fHQuY3RybEtleSYmdC5hbHRLZXkpe2lmKHQuY2hhciYmMTx0LmNoYXIubGVuZ3RoKXJldHVybiB0LmNoYXI7aWYodC53aGljaClyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZSh0LndoaWNoKX1yZXR1cm4gbnVsbDtjYXNlImNvbXBvc2l0aW9uZW5kIjpyZXR1cm4gdHImJiJrbyIhPT10LmxvY2FsZT9udWxsOnQuZGF0YTtkZWZhdWx0OnJldHVybiBudWxsfX0pKGcseSkpJiYwPChyPWFvKHIsIm9uQmVmb3JlSW5wdXQiKSkubGVuZ3RoJiYobz1uZXcgRm4oIm9uQmVmb3JlSW5wdXQiLCJiZWZvcmVpbnB1dCIsbnVsbCx5LG8pLGEucHVzaCh7ZXZlbnQ6byxsaXN0ZW5lcnM6cn0pLG8uZGF0YT1uKX1LcihhLGIpfSl9ZnVuY3Rpb24gb28oZSx0LG4pe3JldHVybntpbnN0YW5jZTplLGxpc3RlbmVyOnQsY3VycmVudFRhcmdldDpufX1mdW5jdGlvbiBhbyhlLHQpe2Zvcih2YXIgbj10KyJDYXB0dXJlIixyPVtdO251bGwhPT1lOyl7dmFyIG89ZSxhPW8uc3RhdGVOb2RlOzU9PT1vLnRhZyYmbnVsbCE9PWEmJihvPWEsbnVsbCE9KGE9Y3QoZSxuKSkmJnIudW5zaGlmdChvbyhlLGEsbykpLG51bGwhPShhPWN0KGUsdCkpKSYmci5wdXNoKG9vKGUsYSxvKSksZT1lLnJldHVybn1yZXR1cm4gcn1mdW5jdGlvbiBpbyhlKXtpZihudWxsPT09ZSlyZXR1cm4gbnVsbDtmb3IoOyhlPWUucmV0dXJuKSYmNSE9PWUudGFnOyk7cmV0dXJuIGV8fG51bGx9ZnVuY3Rpb24gbG8oZSx0LG4scixvKXtmb3IodmFyIGE9dC5fcmVhY3ROYW1lLGk9W107bnVsbCE9PW4mJm4hPT1yOyl7dmFyIGw9bixjPWwuYWx0ZXJuYXRlLHU9bC5zdGF0ZU5vZGU7aWYobnVsbCE9PWMmJmM9PT1yKWJyZWFrOzU9PT1sLnRhZyYmbnVsbCE9PXUmJihsPXUsbz9udWxsIT0oYz1jdChuLGEpKSYmaS51bnNoaWZ0KG9vKG4sYyxsKSk6bnVsbCE9KGM9Y3QobixhKSkmJmkucHVzaChvbyhuLGMsbCkpKSxuPW4ucmV0dXJufTAhPT1pLmxlbmd0aCYmZS5wdXNoKHtldmVudDp0LGxpc3RlbmVyczppfSl9dmFyIGNvPS9cclxuPy9nLHVvPS9cdTAwMDB8XHVGRkZEL2c7ZnVuY3Rpb24gc28oZSl7cmV0dXJuKCJzdHJpbmciPT10eXBlb2YgZT9lOiIiK2UpLnJlcGxhY2UoY28sIlxuIikucmVwbGFjZSh1bywiIil9ZnVuY3Rpb24gZm8oZSx0LG4pe2lmKHQ9c28odCksc28oZSkhPT10JiZuKXRocm93IEVycm9yKEQoNDI1KSl9ZnVuY3Rpb24gcG8oKXt9dmFyIG1vPW51bGwsaG89bnVsbDtmdW5jdGlvbiBnbyhlLHQpe3JldHVybiJ0ZXh0YXJlYSI9PT1lfHwibm9zY3JpcHQiPT09ZXx8InN0cmluZyI9PXR5cGVvZiB0LmNoaWxkcmVufHwibnVtYmVyIj09dHlwZW9mIHQuY2hpbGRyZW58fCJvYmplY3QiPT10eXBlb2YgdC5kYW5nZXJvdXNseVNldElubmVySFRNTCYmbnVsbCE9PXQuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwmJm51bGwhPXQuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sfXZhciBibz0iZnVuY3Rpb24iPT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0OnZvaWQgMCx5bz0iZnVuY3Rpb24iPT10eXBlb2YgY2xlYXJUaW1lb3V0P2NsZWFyVGltZW91dDp2b2lkIDAsdm89ImZ1bmN0aW9uIj09dHlwZW9mIFByb21pc2U/UHJvbWlzZTp2b2lkIDAsd289ImZ1bmN0aW9uIj09dHlwZW9mIHF1ZXVlTWljcm90YXNrP3F1ZXVlTWljcm90YXNrOnZvaWQgMCE9PXZvP2Z1bmN0aW9uKGUpe3JldHVybiB2by5yZXNvbHZlKG51bGwpLnRoZW4oZSkuY2F0Y2goeG8pfTpibztmdW5jdGlvbiB4byhlKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgZX0pfWZ1bmN0aW9uIGtvKGUsdCl7dmFyIG49dCxyPTA7ZG97dmFyIG89bi5uZXh0U2libGluZztpZihlLnJlbW92ZUNoaWxkKG4pLG8mJjg9PT1vLm5vZGVUeXBlKWlmKCIvJCI9PT0obj1vLmRhdGEpKXtpZigwPT09cilyZXR1cm4gZS5yZW1vdmVDaGlsZChvKSx2b2lkIG1uKHQpO3ItLX1lbHNlIiQiIT09biYmIiQ/IiE9PW4mJiIkISIhPT1ufHxyKyt9d2hpbGUobj1vKTttbih0KX1mdW5jdGlvbiBTbyhlKXtmb3IoO251bGwhPWU7ZT1lLm5leHRTaWJsaW5nKXt2YXIgdD1lLm5vZGVUeXBlO2lmKDE9PT10fHwzPT09dClicmVhaztpZig4PT09dCl7aWYoIiQiPT09KHQ9ZS5kYXRhKXx8IiQhIj09PXR8fCIkPyI9PT10KWJyZWFrO2lmKCIvJCI9PT10KXJldHVybiBudWxsfX1yZXR1cm4gZX1mdW5jdGlvbiBDbyhlKXtlPWUucHJldmlvdXNTaWJsaW5nO2Zvcih2YXIgdD0wO2U7KXtpZig4PT09ZS5ub2RlVHlwZSl7dmFyIG49ZS5kYXRhO2lmKCIkIj09PW58fCIkISI9PT1ufHwiJD8iPT09bil7aWYoMD09PXQpcmV0dXJuIGU7dC0tfWVsc2UiLyQiPT09biYmdCsrfWU9ZS5wcmV2aW91c1NpYmxpbmd9cmV0dXJuIG51bGx9dmFyIHI9TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiksRW89Il9fcmVhY3RGaWJlciQiK3IsT289Il9fcmVhY3RQcm9wcyQiK3Isam89Il9fcmVhY3RDb250YWluZXIkIityLEFvPSJfX3JlYWN0RXZlbnRzJCIrcixQbz0iX19yZWFjdExpc3RlbmVycyQiK3IsSW89Il9fcmVhY3RIYW5kbGVzJCIrcjtmdW5jdGlvbiBfbyhlKXt2YXIgdD1lW0VvXTtpZih0KXJldHVybiB0O2Zvcih2YXIgbj1lLnBhcmVudE5vZGU7bjspe2lmKHQ9bltqb118fG5bRW9dKXtpZihuPXQuYWx0ZXJuYXRlLG51bGwhPT10LmNoaWxkfHxudWxsIT09biYmbnVsbCE9PW4uY2hpbGQpZm9yKGU9Q28oZSk7bnVsbCE9PWU7KXtpZihuPWVbRW9dKXJldHVybiBuO2U9Q28oZSl9cmV0dXJuIHR9bj0oZT1uKS5wYXJlbnROb2RlfXJldHVybiBudWxsfWZ1bmN0aW9uIHpvKGUpe3JldHVybiEoZT1lW0VvXXx8ZVtqb10pfHw1IT09ZS50YWcmJjYhPT1lLnRhZyYmMTMhPT1lLnRhZyYmMyE9PWUudGFnP251bGw6ZX1mdW5jdGlvbiBUbyhlKXtpZig1PT09ZS50YWd8fDY9PT1lLnRhZylyZXR1cm4gZS5zdGF0ZU5vZGU7dGhyb3cgRXJyb3IoRCgzMykpfWZ1bmN0aW9uIExvKGUpe3JldHVybiBlW09vXXx8bnVsbH12YXIgTW89W10sUm89LTE7ZnVuY3Rpb24gTm8oZSl7cmV0dXJue2N1cnJlbnQ6ZX19ZnVuY3Rpb24gdShlKXtSbzwwfHwoZS5jdXJyZW50PU1vW1JvXSxNb1tSb109bnVsbCxSby0tKX1mdW5jdGlvbiBiKGUsdCl7TW9bKytSb109ZS5jdXJyZW50LGUuY3VycmVudD10fXZhciBEbz17fSx5PU5vKERvKSx2PU5vKCExKSxVbz1EbztmdW5jdGlvbiBCbyhlLHQpe3ZhciBuPWUudHlwZS5jb250ZXh0VHlwZXM7aWYoIW4pcmV0dXJuIERvO3ZhciByPWUuc3RhdGVOb2RlO2lmKHImJnIuX19yZWFjdEludGVybmFsTWVtb2l6ZWRVbm1hc2tlZENoaWxkQ29udGV4dD09PXQpcmV0dXJuIHIuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNYXNrZWRDaGlsZENvbnRleHQ7dmFyIG8sYT17fTtmb3IobyBpbiBuKWFbb109dFtvXTtyZXR1cm4gciYmKChlPWUuc3RhdGVOb2RlKS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZFVubWFza2VkQ2hpbGRDb250ZXh0PXQsZS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1hc2tlZENoaWxkQ29udGV4dD1hKSxhfWZ1bmN0aW9uIHcoZSl7cmV0dXJuIG51bGwhPShlPWUuY2hpbGRDb250ZXh0VHlwZXMpfWZ1bmN0aW9uIEZvKCl7dSh2KSx1KHkpfWZ1bmN0aW9uIEhvKGUsdCxuKXtpZih5LmN1cnJlbnQhPT1Ebyl0aHJvdyBFcnJvcihEKDE2OCkpO2IoeSx0KSxiKHYsbil9ZnVuY3Rpb24gVm8oZSx0LG4pe3ZhciByLG89ZS5zdGF0ZU5vZGU7aWYodD10LmNoaWxkQ29udGV4dFR5cGVzLCJmdW5jdGlvbiIhPXR5cGVvZiBvLmdldENoaWxkQ29udGV4dClyZXR1cm4gbjtmb3IociBpbiBvPW8uZ2V0Q2hpbGRDb250ZXh0KCkpaWYoIShyIGluIHQpKXRocm93IEVycm9yKEQoMTA4LHZlKGUpfHwiVW5rbm93biIscikpO3JldHVybiBnKHt9LG4sbyl9ZnVuY3Rpb24gJG8oZSl7ZT0oZT1lLnN0YXRlTm9kZSkmJmUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNZXJnZWRDaGlsZENvbnRleHR8fERvLFVvPXkuY3VycmVudCxiKHksZSksYih2LHYuY3VycmVudCl9ZnVuY3Rpb24gV28oZSx0LG4pe3ZhciByPWUuc3RhdGVOb2RlO2lmKCFyKXRocm93IEVycm9yKEQoMTY5KSk7bj8oZT1WbyhlLHQsVW8pLHIuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNZXJnZWRDaGlsZENvbnRleHQ9ZSx1KHYpLHUoeSksYih5LGUpKTp1KHYpLGIodixuKX12YXIgR289bnVsbCxxbz0hMSxabz0hMTtmdW5jdGlvbiBYbyhlKXtudWxsPT09R28/R289W2VdOkdvLnB1c2goZSl9ZnVuY3Rpb24gWW8oKXtpZighWm8mJm51bGwhPT1Hbyl7Wm89ITA7dmFyIHQ9MCxlPXg7dHJ5e3ZhciBuPUdvO2Zvcih4PTE7dDxuLmxlbmd0aDt0KyspZm9yKHZhciByPW5bdF07bnVsbCE9PShyPXIoITApKTspO0dvPW51bGwscW89ITF9Y2F0Y2goZSl7dGhyb3cgbnVsbCE9PUdvJiYoR289R28uc2xpY2UodCsxKSksd3QoRXQsWW8pLGV9ZmluYWxseXt4PWUsWm89ITF9fXJldHVybiBudWxsfXZhciBRbz1bXSxLbz0wLEpvPW51bGwsZWE9MCx0YT1bXSxuYT0wLHJhPW51bGwsb2E9MSxhYT0iIjtmdW5jdGlvbiBpYShlLHQpe1FvW0tvKytdPWVhLFFvW0tvKytdPUpvLEpvPWUsZWE9dH1mdW5jdGlvbiBsYShlLHQsbil7dGFbbmErK109b2EsdGFbbmErK109YWEsdGFbbmErK109cmEscmE9ZTt2YXIgcixvPW9hLGE9KGU9YWEsMzItenQobyktMSksaT0obyY9figxPDxhKSxuKz0xLDMyLXp0KHQpK2EpO2FhPTMwPGk/KGk9KG8mKDE8PChyPWEtYSU1KSktMSkudG9TdHJpbmcoMzIpLG8+Pj1yLGEtPXIsb2E9MTw8MzItenQodCkrYXxuPDxhfG8saStlKToob2E9MTw8aXxuPDxhfG8sZSl9ZnVuY3Rpb24gY2EoZSl7bnVsbCE9PWUucmV0dXJuJiYoaWEoZSwxKSxsYShlLDEsMCkpfWZ1bmN0aW9uIHVhKGUpe2Zvcig7ZT09PUpvOylKbz1Rb1stLUtvXSxRb1tLb109bnVsbCxlYT1Rb1stLUtvXSxRb1tLb109bnVsbDtmb3IoO2U9PT1yYTspcmE9dGFbLS1uYV0sdGFbbmFdPW51bGwsYWE9dGFbLS1uYV0sdGFbbmFdPW51bGwsb2E9dGFbLS1uYV0sdGFbbmFdPW51bGx9dmFyIHNhPW51bGwsaz1udWxsLFU9ITEsZmE9bnVsbDtmdW5jdGlvbiBkYShlLHQpe3ZhciBuPW51KDUsbnVsbCxudWxsLDApO24uZWxlbWVudFR5cGU9IkRFTEVURUQiLG4uc3RhdGVOb2RlPXQsbnVsbD09PSh0PShuLnJldHVybj1lKS5kZWxldGlvbnMpPyhlLmRlbGV0aW9ucz1bbl0sZS5mbGFnc3w9MTYpOnQucHVzaChuKX1mdW5jdGlvbiBwYShlLHQpe3N3aXRjaChlLnRhZyl7Y2FzZSA1OnZhciBuPWUudHlwZTtyZXR1cm4gbnVsbCE9PSh0PTEhPT10Lm5vZGVUeXBlfHxuLnRvTG93ZXJDYXNlKCkhPT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk/bnVsbDp0KSYmKGUuc3RhdGVOb2RlPXQsc2E9ZSxrPVNvKHQuZmlyc3RDaGlsZCksMSk7Y2FzZSA2OnJldHVybiBudWxsIT09KHQ9IiI9PT1lLnBlbmRpbmdQcm9wc3x8MyE9PXQubm9kZVR5cGU/bnVsbDp0KSYmKGUuc3RhdGVOb2RlPXQsc2E9ZSxrPW51bGwsMSk7Y2FzZSAxMzpyZXR1cm4gbnVsbCE9PSh0PTghPT10Lm5vZGVUeXBlP251bGw6dCkmJihuPW51bGwhPT1yYT97aWQ6b2Esb3ZlcmZsb3c6YWF9Om51bGwsZS5tZW1vaXplZFN0YXRlPXtkZWh5ZHJhdGVkOnQsdHJlZUNvbnRleHQ6bixyZXRyeUxhbmU6MTA3Mzc0MTgyNH0sKG49bnUoMTgsbnVsbCxudWxsLDApKS5zdGF0ZU5vZGU9dCwobi5yZXR1cm49ZSkuY2hpbGQ9bixzYT1lLGs9bnVsbCwxKTtkZWZhdWx0OnJldHVybn19ZnVuY3Rpb24gbWEoZSl7cmV0dXJuIDAhPSgxJmUubW9kZSkmJjA9PSgxMjgmZS5mbGFncyl9ZnVuY3Rpb24gaGEoZSl7aWYoVSlpZihrKXt2YXIgdD1rO2lmKCFwYShlLGspKXtpZihtYShlKSl0aHJvdyBFcnJvcihEKDQxOCkpO3ZhciBuPVNvKHQubmV4dFNpYmxpbmcpLHI9c2E7biYmcGEoZSxuKT9kYShyLHQpOihlLmZsYWdzPS00MDk3JmUuZmxhZ3N8MixVPSExLHNhPWUpfX1lbHNle2lmKG1hKGUpKXRocm93IEVycm9yKEQoNDE4KSk7ZS5mbGFncz0tNDA5NyZlLmZsYWdzfDIsVT0hMSxzYT1lfX1mdW5jdGlvbiBnYShlKXtmb3IoZT1lLnJldHVybjtudWxsIT09ZSYmNSE9PWUudGFnJiYzIT09ZS50YWcmJjEzIT09ZS50YWc7KWU9ZS5yZXR1cm47c2E9ZX1mdW5jdGlvbiBiYShlKXtpZihlIT09c2EpcmV0dXJuITE7aWYoIVUpcmV0dXJuIGdhKGUpLCEoVT0hMCk7dmFyIHQ7aWYodD0odD0odD0zIT09ZS50YWcpJiYhKHQ9NSE9PWUudGFnKT8iaGVhZCIhPT0odD1lLnR5cGUpJiYiYm9keSIhPT10JiYhZ28oZS50eXBlLGUubWVtb2l6ZWRQcm9wcyk6dCkmJmspe2lmKG1hKGUpKXRocm93IHlhKCksRXJyb3IoRCg0MTgpKTtmb3IoO3Q7KWRhKGUsdCksdD1Tbyh0Lm5leHRTaWJsaW5nKX1pZihnYShlKSwxMz09PWUudGFnKXtpZighKGU9bnVsbCE9PShlPWUubWVtb2l6ZWRTdGF0ZSk/ZS5kZWh5ZHJhdGVkOm51bGwpKXRocm93IEVycm9yKEQoMzE3KSk7ZTp7Zm9yKGU9ZS5uZXh0U2libGluZyx0PTA7ZTspe2lmKDg9PT1lLm5vZGVUeXBlKXt2YXIgbj1lLmRhdGE7aWYoIi8kIj09PW4pe2lmKDA9PT10KXtrPVNvKGUubmV4dFNpYmxpbmcpO2JyZWFrIGV9dC0tfWVsc2UiJCIhPT1uJiYiJCEiIT09biYmIiQ/IiE9PW58fHQrK31lPWUubmV4dFNpYmxpbmd9az1udWxsfX1lbHNlIGs9c2E/U28oZS5zdGF0ZU5vZGUubmV4dFNpYmxpbmcpOm51bGw7cmV0dXJuITB9ZnVuY3Rpb24geWEoKXtmb3IodmFyIGU9aztlOyllPVNvKGUubmV4dFNpYmxpbmcpfWZ1bmN0aW9uIHZhKCl7az1zYT1udWxsLFU9ITF9ZnVuY3Rpb24gd2EoZSl7bnVsbD09PWZhP2ZhPVtlXTpmYS5wdXNoKGUpfXZhciB4YT1KLlJlYWN0Q3VycmVudEJhdGNoQ29uZmlnO2Z1bmN0aW9uIGthKGUsdCl7aWYoZSYmZS5kZWZhdWx0UHJvcHMpZm9yKHZhciBuIGluIHQ9Zyh7fSx0KSxlPWUuZGVmYXVsdFByb3BzKXZvaWQgMD09PXRbbl0mJih0W25dPWVbbl0pO3JldHVybiB0fXZhciBTYT1ObyhudWxsKSxDYT1udWxsLEVhPW51bGwsT2E9bnVsbDtmdW5jdGlvbiBqYSgpe09hPUVhPUNhPW51bGx9ZnVuY3Rpb24gQWEoZSl7dmFyIHQ9U2EuY3VycmVudDt1KFNhKSxlLl9jdXJyZW50VmFsdWU9dH1mdW5jdGlvbiBQYShlLHQsbil7Zm9yKDtudWxsIT09ZTspe3ZhciByPWUuYWx0ZXJuYXRlO2lmKChlLmNoaWxkTGFuZXMmdCkhPT10PyhlLmNoaWxkTGFuZXN8PXQsbnVsbCE9PXImJihyLmNoaWxkTGFuZXN8PXQpKTpudWxsIT09ciYmKHIuY2hpbGRMYW5lcyZ0KSE9PXQmJihyLmNoaWxkTGFuZXN8PXQpLGU9PT1uKWJyZWFrO2U9ZS5yZXR1cm59fWZ1bmN0aW9uIElhKGUsdCl7KE9hPUVhPW51bGwpIT09KGU9KENhPWUpLmRlcGVuZGVuY2llcykmJm51bGwhPT1lLmZpcnN0Q29udGV4dCYmKDAhPShlLmxhbmVzJnQpJiYoaj0hMCksZS5maXJzdENvbnRleHQ9bnVsbCl9ZnVuY3Rpb24gX2EoZSl7dmFyIHQ9ZS5fY3VycmVudFZhbHVlO2lmKE9hIT09ZSlpZihlPXtjb250ZXh0OmUsbWVtb2l6ZWRWYWx1ZTp0LG5leHQ6bnVsbH0sbnVsbD09PUVhKXtpZihudWxsPT09Q2EpdGhyb3cgRXJyb3IoRCgzMDgpKTtFYT1lLENhLmRlcGVuZGVuY2llcz17bGFuZXM6MCxmaXJzdENvbnRleHQ6ZX19ZWxzZSBFYT1FYS5uZXh0PWU7cmV0dXJuIHR9dmFyIHphPW51bGw7ZnVuY3Rpb24gVGEoZSl7bnVsbD09PXphP3phPVtlXTp6YS5wdXNoKGUpfWZ1bmN0aW9uIExhKGUsdCxuLHIpe3ZhciBvPXQuaW50ZXJsZWF2ZWQ7cmV0dXJuIG51bGw9PT1vPyhuLm5leHQ9bixUYSh0KSk6KG4ubmV4dD1vLm5leHQsby5uZXh0PW4pLHQuaW50ZXJsZWF2ZWQ9bixNYShlLHIpfWZ1bmN0aW9uIE1hKGUsdCl7ZS5sYW5lc3w9dDt2YXIgbj1lLmFsdGVybmF0ZTtmb3IobnVsbCE9PW4mJihuLmxhbmVzfD10KSxlPShuPWUpLnJldHVybjtudWxsIT09ZTspZS5jaGlsZExhbmVzfD10LG51bGwhPT0obj1lLmFsdGVybmF0ZSkmJihuLmNoaWxkTGFuZXN8PXQpLGU9KG49ZSkucmV0dXJuO3JldHVybiAzPT09bi50YWc/bi5zdGF0ZU5vZGU6bnVsbH12YXIgUmE9ITE7ZnVuY3Rpb24gTmEoZSl7ZS51cGRhdGVRdWV1ZT17YmFzZVN0YXRlOmUubWVtb2l6ZWRTdGF0ZSxmaXJzdEJhc2VVcGRhdGU6bnVsbCxsYXN0QmFzZVVwZGF0ZTpudWxsLHNoYXJlZDp7cGVuZGluZzpudWxsLGludGVybGVhdmVkOm51bGwsbGFuZXM6MH0sZWZmZWN0czpudWxsfX1mdW5jdGlvbiBEYShlLHQpe2U9ZS51cGRhdGVRdWV1ZSx0LnVwZGF0ZVF1ZXVlPT09ZSYmKHQudXBkYXRlUXVldWU9e2Jhc2VTdGF0ZTplLmJhc2VTdGF0ZSxmaXJzdEJhc2VVcGRhdGU6ZS5maXJzdEJhc2VVcGRhdGUsbGFzdEJhc2VVcGRhdGU6ZS5sYXN0QmFzZVVwZGF0ZSxzaGFyZWQ6ZS5zaGFyZWQsZWZmZWN0czplLmVmZmVjdHN9KX1mdW5jdGlvbiBVYShlLHQpe3JldHVybntldmVudFRpbWU6ZSxsYW5lOnQsdGFnOjAscGF5bG9hZDpudWxsLGNhbGxiYWNrOm51bGwsbmV4dDpudWxsfX1mdW5jdGlvbiBCYShlLHQsbil7dmFyIHIsbz1lLnVwZGF0ZVF1ZXVlO3JldHVybiBudWxsPT09bz9udWxsOihvPW8uc2hhcmVkLDAhPSgyJl8pPyhudWxsPT09KHI9by5wZW5kaW5nKT90Lm5leHQ9dDoodC5uZXh0PXIubmV4dCxyLm5leHQ9dCksby5wZW5kaW5nPXQpOihudWxsPT09KHI9by5pbnRlcmxlYXZlZCk/KHQubmV4dD10LFRhKG8pKToodC5uZXh0PXIubmV4dCxyLm5leHQ9dCksby5pbnRlcmxlYXZlZD10KSxNYShlLG4pKX1mdW5jdGlvbiBGYShlLHQsbil7dmFyIHI7bnVsbCE9PSh0PXQudXBkYXRlUXVldWUpJiYodD10LnNoYXJlZCwwIT0oNDE5NDI0MCZuKSkmJihyPXQubGFuZXMsciY9ZS5wZW5kaW5nTGFuZXMsJHQoZSx0LmxhbmVzPW58PXIpKX1mdW5jdGlvbiBIYShlLHQpe3ZhciBuPWUudXBkYXRlUXVldWUscj1lLmFsdGVybmF0ZTtpZihudWxsIT09ciYmbj09PShyPXIudXBkYXRlUXVldWUpKXt2YXIgbz1udWxsLGE9bnVsbDtpZihudWxsIT09KG49bi5maXJzdEJhc2VVcGRhdGUpKXtkb3t2YXIgaT17ZXZlbnRUaW1lOm4uZXZlbnRUaW1lLGxhbmU6bi5sYW5lLHRhZzpuLnRhZyxwYXlsb2FkOm4ucGF5bG9hZCxjYWxsYmFjazpuLmNhbGxiYWNrLG5leHQ6bnVsbH19d2hpbGUobnVsbD09PWE/bz1hPWk6YT1hLm5leHQ9aSxudWxsIT09KG49bi5uZXh0KSk7bnVsbD09PWE/bz1hPXQ6YT1hLm5leHQ9dH1lbHNlIG89YT10O249e2Jhc2VTdGF0ZTpyLmJhc2VTdGF0ZSxmaXJzdEJhc2VVcGRhdGU6byxsYXN0QmFzZVVwZGF0ZTphLHNoYXJlZDpyLnNoYXJlZCxlZmZlY3RzOnIuZWZmZWN0c30sZS51cGRhdGVRdWV1ZT1ufWVsc2UgbnVsbD09PShlPW4ubGFzdEJhc2VVcGRhdGUpP24uZmlyc3RCYXNlVXBkYXRlPXQ6ZS5uZXh0PXQsbi5sYXN0QmFzZVVwZGF0ZT10fWZ1bmN0aW9uIFZhKGUsdCxuLHIpe3ZhciBvLGEsaT1lLnVwZGF0ZVF1ZXVlLGw9KFJhPSExLGkuZmlyc3RCYXNlVXBkYXRlKSxjPWkubGFzdEJhc2VVcGRhdGU7aWYobnVsbCE9PShmPWkuc2hhcmVkLnBlbmRpbmcpJiYoaS5zaGFyZWQucGVuZGluZz1udWxsLGE9KG89ZikubmV4dCwoby5uZXh0PW51bGwpPT09Yz9sPWE6Yy5uZXh0PWEsYz1vLG51bGwhPT0ocz1lLmFsdGVybmF0ZSkpJiYoZj0ocz1zLnVwZGF0ZVF1ZXVlKS5sYXN0QmFzZVVwZGF0ZSkhPT1jJiYobnVsbD09PWY/cy5maXJzdEJhc2VVcGRhdGU9YTpmLm5leHQ9YSxzLmxhc3RCYXNlVXBkYXRlPW8pLG51bGwhPT1sKXtmb3IodmFyIHU9aS5iYXNlU3RhdGUsYz0wLHM9YT1vPW51bGwsZj1sOzspe3ZhciBkPWYubGFuZSxwPWYuZXZlbnRUaW1lO2lmKChyJmQpPT09ZCl7bnVsbCE9PXMmJihzPXMubmV4dD17ZXZlbnRUaW1lOnAsbGFuZTowLHRhZzpmLnRhZyxwYXlsb2FkOmYucGF5bG9hZCxjYWxsYmFjazpmLmNhbGxiYWNrLG5leHQ6bnVsbH0pO2U6e3ZhciBtPWUsaD1mLGQ9dCxwPW47c3dpdGNoKGgudGFnKXtjYXNlIDE6aWYoImZ1bmN0aW9uIj09dHlwZW9mKG09aC5wYXlsb2FkKSl7dT1tLmNhbGwocCx1LGQpO2JyZWFrIGV9dT1tO2JyZWFrIGU7Y2FzZSAzOm0uZmxhZ3M9LTY1NTM3Jm0uZmxhZ3N8MTI4O2Nhc2UgMDppZihudWxsPT0oZD0iZnVuY3Rpb24iPT10eXBlb2YobT1oLnBheWxvYWQpP20uY2FsbChwLHUsZCk6bSkpYnJlYWsgZTt1PWcoe30sdSxkKTticmVhayBlO2Nhc2UgMjpSYT0hMH19bnVsbCE9PWYuY2FsbGJhY2smJjAhPT1mLmxhbmUmJihlLmZsYWdzfD02NCxudWxsPT09KGQ9aS5lZmZlY3RzKT9pLmVmZmVjdHM9W2ZdOmQucHVzaChmKSl9ZWxzZSBwPXtldmVudFRpbWU6cCxsYW5lOmQsdGFnOmYudGFnLHBheWxvYWQ6Zi5wYXlsb2FkLGNhbGxiYWNrOmYuY2FsbGJhY2ssbmV4dDpudWxsfSxudWxsPT09cz8oYT1zPXAsbz11KTpzPXMubmV4dD1wLGN8PWQ7aWYobnVsbD09PShmPWYubmV4dCkpe2lmKG51bGw9PT0oZj1pLnNoYXJlZC5wZW5kaW5nKSlicmVhaztmPShkPWYpLm5leHQsZC5uZXh0PW51bGwsaS5sYXN0QmFzZVVwZGF0ZT1kLGkuc2hhcmVkLnBlbmRpbmc9bnVsbH19aWYobnVsbD09PXMmJihvPXUpLGkuYmFzZVN0YXRlPW8saS5maXJzdEJhc2VVcGRhdGU9YSxpLmxhc3RCYXNlVXBkYXRlPXMsbnVsbCE9PSh0PWkuc2hhcmVkLmludGVybGVhdmVkKSlmb3IoaT10O2N8PWkubGFuZSwoaT1pLm5leHQpIT09dDspO2Vsc2UgbnVsbD09PWwmJihpLnNoYXJlZC5sYW5lcz0wKTtoY3w9YyxlLmxhbmVzPWMsZS5tZW1vaXplZFN0YXRlPXV9fWZ1bmN0aW9uICRhKGUsdCxuKXtpZihlPXQuZWZmZWN0cywodC5lZmZlY3RzPW51bGwpIT09ZSlmb3IodD0wO3Q8ZS5sZW5ndGg7dCsrKXt2YXIgcj1lW3RdLG89ci5jYWxsYmFjaztpZihudWxsIT09byl7aWYoci5jYWxsYmFjaz1udWxsLHI9biwiZnVuY3Rpb24iIT10eXBlb2Ygbyl0aHJvdyBFcnJvcihEKDE5MSxvKSk7by5jYWxsKHIpfX19dmFyIFdhPShuZXcgTi5Db21wb25lbnQpLnJlZnM7ZnVuY3Rpb24gR2EoZSx0LG4scil7bj1udWxsPT0obj1uKHIsdD1lLm1lbW9pemVkU3RhdGUpKT90Omcoe30sdCxuKSxlLm1lbW9pemVkU3RhdGU9biwwPT09ZS5sYW5lcyYmKGUudXBkYXRlUXVldWUuYmFzZVN0YXRlPW4pfXZhciBxYT17aXNNb3VudGVkOmZ1bmN0aW9uKGUpe3JldHVybiEhKGU9ZS5fcmVhY3RJbnRlcm5hbHMpJiZndChlKT09PWV9LGVucXVldWVTZXRTdGF0ZTpmdW5jdGlvbihlLHQsbil7ZT1lLl9yZWFjdEludGVybmFsczt2YXIgcj1tKCksbz16YyhlKSxhPVVhKHIsbyk7YS5wYXlsb2FkPXQsbnVsbCE9biYmKGEuY2FsbGJhY2s9biksbnVsbCE9PSh0PUJhKGUsYSxvKSkmJihUYyh0LGUsbyxyKSxGYSh0LGUsbykpfSxlbnF1ZXVlUmVwbGFjZVN0YXRlOmZ1bmN0aW9uKGUsdCxuKXtlPWUuX3JlYWN0SW50ZXJuYWxzO3ZhciByPW0oKSxvPXpjKGUpLGE9VWEocixvKTthLnRhZz0xLGEucGF5bG9hZD10LG51bGwhPW4mJihhLmNhbGxiYWNrPW4pLG51bGwhPT0odD1CYShlLGEsbykpJiYoVGModCxlLG8sciksRmEodCxlLG8pKX0sZW5xdWV1ZUZvcmNlVXBkYXRlOmZ1bmN0aW9uKGUsdCl7ZT1lLl9yZWFjdEludGVybmFsczt2YXIgbj1tKCkscj16YyhlKSxvPVVhKG4scik7by50YWc9MixudWxsIT10JiYoby5jYWxsYmFjaz10KSxudWxsIT09KHQ9QmEoZSxvLHIpKSYmKFRjKHQsZSxyLG4pLEZhKHQsZSxyKSl9fTtmdW5jdGlvbiBaYShlLHQsbixyLG8sYSxpKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YoZT1lLnN0YXRlTm9kZSkuc2hvdWxkQ29tcG9uZW50VXBkYXRlP2Uuc2hvdWxkQ29tcG9uZW50VXBkYXRlKHIsYSxpKTohKHQucHJvdG90eXBlJiZ0LnByb3RvdHlwZS5pc1B1cmVSZWFjdENvbXBvbmVudCYmU3IobixyKSYmU3IobyxhKSl9ZnVuY3Rpb24gWGEoZSx0LG4pe3ZhciByPSExLG89RG8sYT10LmNvbnRleHRUeXBlO3Q9bmV3IHQobixhPSJvYmplY3QiPT10eXBlb2YgYSYmbnVsbCE9PWE/X2EoYSk6KG89dyh0KT9Vbzp5LmN1cnJlbnQsKHI9bnVsbCE9KHI9dC5jb250ZXh0VHlwZXMpKT9CbyhlLG8pOkRvKSksZS5tZW1vaXplZFN0YXRlPW51bGwhPT10LnN0YXRlJiZ2b2lkIDAhPT10LnN0YXRlP3Quc3RhdGU6bnVsbCx0LnVwZGF0ZXI9cWEsKGUuc3RhdGVOb2RlPXQpLl9yZWFjdEludGVybmFscz1lLHImJigoZT1lLnN0YXRlTm9kZSkuX19yZWFjdEludGVybmFsTWVtb2l6ZWRVbm1hc2tlZENoaWxkQ29udGV4dD1vLGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNYXNrZWRDaGlsZENvbnRleHQ9YSl9ZnVuY3Rpb24gWWEoZSx0LG4scil7ZT10LnN0YXRlLCJmdW5jdGlvbiI9PXR5cGVvZiB0LmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMmJnQuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhuLHIpLCJmdW5jdGlvbiI9PXR5cGVvZiB0LlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJiZ0LlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG4sciksdC5zdGF0ZSE9PWUmJnFhLmVucXVldWVSZXBsYWNlU3RhdGUodCx0LnN0YXRlLG51bGwpfWZ1bmN0aW9uIFFhKGUsdCxuLHIpe3ZhciBvPWUuc3RhdGVOb2RlLGE9KG8ucHJvcHM9bixvLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSxvLnJlZnM9V2EsTmEoZSksdC5jb250ZXh0VHlwZSk7Im9iamVjdCI9PXR5cGVvZiBhJiZudWxsIT09YT9vLmNvbnRleHQ9X2EoYSk6KGE9dyh0KT9Vbzp5LmN1cnJlbnQsby5jb250ZXh0PUJvKGUsYSkpLG8uc3RhdGU9ZS5tZW1vaXplZFN0YXRlLCJmdW5jdGlvbiI9PXR5cGVvZihhPXQuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKSYmKEdhKGUsMCxhLG4pLG8uc3RhdGU9ZS5tZW1vaXplZFN0YXRlKSwiZnVuY3Rpb24iPT10eXBlb2YgdC5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHN8fCJmdW5jdGlvbiI9PXR5cGVvZiBvLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlfHwiZnVuY3Rpb24iIT10eXBlb2Ygby5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JiYiZnVuY3Rpb24iIT10eXBlb2Ygby5jb21wb25lbnRXaWxsTW91bnR8fCh0PW8uc3RhdGUsImZ1bmN0aW9uIj09dHlwZW9mIG8uY29tcG9uZW50V2lsbE1vdW50JiZvLmNvbXBvbmVudFdpbGxNb3VudCgpLCJmdW5jdGlvbiI9PXR5cGVvZiBvLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQmJm8uVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCgpLHQhPT1vLnN0YXRlJiZxYS5lbnF1ZXVlUmVwbGFjZVN0YXRlKG8sby5zdGF0ZSxudWxsKSxWYShlLG4sbyxyKSxvLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSksImZ1bmN0aW9uIj09dHlwZW9mIG8uY29tcG9uZW50RGlkTW91bnQmJihlLmZsYWdzfD00MTk0MzA4KX1mdW5jdGlvbiBLYShlLHQsbil7aWYobnVsbCE9PShlPW4ucmVmKSYmImZ1bmN0aW9uIiE9dHlwZW9mIGUmJiJvYmplY3QiIT10eXBlb2YgZSl7aWYobi5fb3duZXIpe2lmKG49bi5fb3duZXIpe2lmKDEhPT1uLnRhZyl0aHJvdyBFcnJvcihEKDMwOSkpO3ZhciByPW4uc3RhdGVOb2RlfXZhciBvLGE7aWYocilyZXR1cm4gbz1yLGE9IiIrZSxudWxsIT09dCYmbnVsbCE9PXQucmVmJiYiZnVuY3Rpb24iPT10eXBlb2YgdC5yZWYmJnQucmVmLl9zdHJpbmdSZWY9PT1hP3QucmVmOigodD1mdW5jdGlvbihlKXt2YXIgdD1vLnJlZnM7dD09PVdhJiYodD1vLnJlZnM9e30pLG51bGw9PT1lP2RlbGV0ZSB0W2FdOnRbYV09ZX0pLl9zdHJpbmdSZWY9YSx0KTt0aHJvdyBFcnJvcihEKDE0NyxlKSl9aWYoInN0cmluZyIhPXR5cGVvZiBlKXRocm93IEVycm9yKEQoMjg0KSk7aWYoIW4uX293bmVyKXRocm93IEVycm9yKEQoMjkwLGUpKX1yZXR1cm4gZX1mdW5jdGlvbiBKYShlLHQpe3Rocm93IGU9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpLEVycm9yKEQoMzEsIltvYmplY3QgT2JqZWN0XSI9PT1lPyJvYmplY3Qgd2l0aCBrZXlzIHsiK09iamVjdC5rZXlzKHQpLmpvaW4oIiwgIikrIn0iOmUpKX1mdW5jdGlvbiBlaShlKXtyZXR1cm4oMCxlLl9pbml0KShlLl9wYXlsb2FkKX1mdW5jdGlvbiB0aShBKXtmdW5jdGlvbiBQKGUsdCl7dmFyIG47QSYmKG51bGw9PT0obj1lLmRlbGV0aW9ucyk/KGUuZGVsZXRpb25zPVt0XSxlLmZsYWdzfD0xNik6bi5wdXNoKHQpKX1mdW5jdGlvbiBJKGUsdCl7aWYoQSlmb3IoO251bGwhPT10OylQKGUsdCksdD10LnNpYmxpbmc7cmV0dXJuIG51bGx9ZnVuY3Rpb24gXyhlLHQpe2ZvcihlPW5ldyBNYXA7bnVsbCE9PXQ7KW51bGwhPT10LmtleT9lLnNldCh0LmtleSx0KTplLnNldCh0LmluZGV4LHQpLHQ9dC5zaWJsaW5nO3JldHVybiBlfWZ1bmN0aW9uIHooZSx0KXtyZXR1cm4oZT1vdShlLHQpKS5pbmRleD0wLGUuc2libGluZz1udWxsLGV9ZnVuY3Rpb24gVChlLHQsbil7aWYoZS5pbmRleD1uLEEpe2lmKG51bGwhPT0obj1lLmFsdGVybmF0ZSkpcmV0dXJuKG49bi5pbmRleCk8dD8oZS5mbGFnc3w9Mix0KTpuO2UuZmxhZ3N8PTJ9ZWxzZSBlLmZsYWdzfD0xMDQ4NTc2O3JldHVybiB0fWZ1bmN0aW9uIEwoZSl7cmV0dXJuIEEmJm51bGw9PT1lLmFsdGVybmF0ZSYmKGUuZmxhZ3N8PTIpLGV9ZnVuY3Rpb24gYShlLHQsbixyKXtyZXR1cm4gbnVsbD09PXR8fDYhPT10LnRhZz8odD1jdShuLGUubW9kZSxyKSkucmV0dXJuPWU6KHQ9eih0LG4pKS5yZXR1cm49ZSx0fWZ1bmN0aW9uIGkoZSx0LG4scil7dmFyIG89bi50eXBlO3JldHVybiBvPT09bmU/YyhlLHQsbi5wcm9wcy5jaGlsZHJlbixyLG4ua2V5KToobnVsbCE9PXQmJih0LmVsZW1lbnRUeXBlPT09b3x8Im9iamVjdCI9PXR5cGVvZiBvJiZudWxsIT09byYmby4kJHR5cGVvZj09PWZlJiZlaShvKT09PXQudHlwZSk/KHI9eih0LG4ucHJvcHMpKS5yZWY9S2EoMCx0LG4pOihyPWF1KG4udHlwZSxuLmtleSxuLnByb3BzLG51bGwsZS5tb2RlLHIpKS5yZWY9S2EoMCx0LG4pLHIucmV0dXJuPWUscil9ZnVuY3Rpb24gbChlLHQsbixyKXtyZXR1cm4gbnVsbD09PXR8fDQhPT10LnRhZ3x8dC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyE9PW4uY29udGFpbmVySW5mb3x8dC5zdGF0ZU5vZGUuaW1wbGVtZW50YXRpb24hPT1uLmltcGxlbWVudGF0aW9uPyh0PXV1KG4sZS5tb2RlLHIpKS5yZXR1cm49ZToodD16KHQsbi5jaGlsZHJlbnx8W10pKS5yZXR1cm49ZSx0fWZ1bmN0aW9uIGMoZSx0LG4scixvKXtyZXR1cm4gbnVsbD09PXR8fDchPT10LnRhZz8odD1pdShuLGUubW9kZSxyLG8pKS5yZXR1cm49ZToodD16KHQsbikpLnJldHVybj1lLHR9ZnVuY3Rpb24gTShlLHQsbil7aWYoInN0cmluZyI9PXR5cGVvZiB0JiYiIiE9PXR8fCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4odD1jdSgiIit0LGUubW9kZSxuKSkucmV0dXJuPWUsdDtpZigib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10KXtzd2l0Y2godC4kJHR5cGVvZil7Y2FzZSBlZTpyZXR1cm4obj1hdSh0LnR5cGUsdC5rZXksdC5wcm9wcyxudWxsLGUubW9kZSxuKSkucmVmPUthKDAsbnVsbCx0KSxuLnJldHVybj1lLG47Y2FzZSB0ZTpyZXR1cm4odD11dSh0LGUubW9kZSxuKSkucmV0dXJuPWUsdDtjYXNlIGZlOnJldHVybiBNKGUsKDAsdC5faW5pdCkodC5fcGF5bG9hZCksbil9aWYoX2UodCl8fG1lKHQpKXJldHVybih0PWl1KHQsZS5tb2RlLG4sbnVsbCkpLnJldHVybj1lLHQ7SmEoMCx0KX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBSKGUsdCxuLHIpe3ZhciBvPW51bGwhPT10P3Qua2V5Om51bGw7aWYoInN0cmluZyI9PXR5cGVvZiBuJiYiIiE9PW58fCJudW1iZXIiPT10eXBlb2YgbilyZXR1cm4gbnVsbCE9PW8/bnVsbDphKGUsdCwiIituLHIpO2lmKCJvYmplY3QiPT10eXBlb2YgbiYmbnVsbCE9PW4pe3N3aXRjaChuLiQkdHlwZW9mKXtjYXNlIGVlOnJldHVybiBuLmtleT09PW8/aShlLHQsbixyKTpudWxsO2Nhc2UgdGU6cmV0dXJuIG4ua2V5PT09bz9sKGUsdCxuLHIpOm51bGw7Y2FzZSBmZTpyZXR1cm4gUihlLHQsKG89bi5faW5pdCkobi5fcGF5bG9hZCkscil9aWYoX2Uobil8fG1lKG4pKXJldHVybiBudWxsIT09bz9udWxsOmMoZSx0LG4scixudWxsKTtKYSgwLG4pfXJldHVybiBudWxsfWZ1bmN0aW9uIE4oZSx0LG4scixvKXtpZigic3RyaW5nIj09dHlwZW9mIHImJiIiIT09cnx8Im51bWJlciI9PXR5cGVvZiByKXJldHVybiBhKHQsZT1lLmdldChuKXx8bnVsbCwiIityLG8pO2lmKCJvYmplY3QiPT10eXBlb2YgciYmbnVsbCE9PXIpe3N3aXRjaChyLiQkdHlwZW9mKXtjYXNlIGVlOnJldHVybiBpKHQsZT1lLmdldChudWxsPT09ci5rZXk/bjpyLmtleSl8fG51bGwscixvKTtjYXNlIHRlOnJldHVybiBsKHQsZT1lLmdldChudWxsPT09ci5rZXk/bjpyLmtleSl8fG51bGwscixvKTtjYXNlIGZlOnJldHVybiBOKGUsdCxuLCgwLHIuX2luaXQpKHIuX3BheWxvYWQpLG8pfWlmKF9lKHIpfHxtZShyKSlyZXR1cm4gYyh0LGU9ZS5nZXQobil8fG51bGwscixvLG51bGwpO0phKDAscil9cmV0dXJuIG51bGx9cmV0dXJuIGZ1bmN0aW9uIGUodCxuLHIsbyl7aWYoIm9iamVjdCI9PXR5cGVvZihyPSJvYmplY3QiPT10eXBlb2YgciYmbnVsbCE9PXImJnIudHlwZT09PW5lJiZudWxsPT09ci5rZXk/ci5wcm9wcy5jaGlsZHJlbjpyKSYmbnVsbCE9PXIpe3N3aXRjaChyLiQkdHlwZW9mKXtjYXNlIGVlOmU6e2Zvcih2YXIgYT1yLmtleSxpPW47bnVsbCE9PWk7KXtpZihpLmtleT09PWEpe2lmKChhPXIudHlwZSk9PT1uZSl7aWYoNz09PWkudGFnKXtJKHQsaS5zaWJsaW5nKSwobj16KGksci5wcm9wcy5jaGlsZHJlbikpLnJldHVybj10LHQ9bjticmVhayBlfX1lbHNlIGlmKGkuZWxlbWVudFR5cGU9PT1hfHwib2JqZWN0Ij09dHlwZW9mIGEmJm51bGwhPT1hJiZhLiQkdHlwZW9mPT09ZmUmJmVpKGEpPT09aS50eXBlKXtJKHQsaS5zaWJsaW5nKSwobj16KGksci5wcm9wcykpLnJlZj1LYSgwLGksciksbi5yZXR1cm49dCx0PW47YnJlYWsgZX1JKHQsaSk7YnJlYWt9UCh0LGkpLGk9aS5zaWJsaW5nfXQ9ci50eXBlPT09bmU/KChuPWl1KHIucHJvcHMuY2hpbGRyZW4sdC5tb2RlLG8sci5rZXkpKS5yZXR1cm49dCxuKTooKG89YXUoci50eXBlLHIua2V5LHIucHJvcHMsbnVsbCx0Lm1vZGUsbykpLnJlZj1LYSgwLG4sciksby5yZXR1cm49dCxvKX1yZXR1cm4gTCh0KTtjYXNlIHRlOmU6e2ZvcihpPXIua2V5O251bGwhPT1uOyl7aWYobi5rZXk9PT1pKXtpZig0PT09bi50YWcmJm4uc3RhdGVOb2RlLmNvbnRhaW5lckluZm89PT1yLmNvbnRhaW5lckluZm8mJm4uc3RhdGVOb2RlLmltcGxlbWVudGF0aW9uPT09ci5pbXBsZW1lbnRhdGlvbil7SSh0LG4uc2libGluZyksKG49eihuLHIuY2hpbGRyZW58fFtdKSkucmV0dXJuPXQsdD1uO2JyZWFrIGV9SSh0LG4pO2JyZWFrfVAodCxuKSxuPW4uc2libGluZ30obj11dShyLHQubW9kZSxvKSkucmV0dXJuPXQsdD1ufXJldHVybiBMKHQpO2Nhc2UgZmU6cmV0dXJuIGUodCxuLChpPXIuX2luaXQpKHIuX3BheWxvYWQpLG8pfWlmKF9lKHIpKXtmb3IodmFyIGw9dCxjPW4sdT1yLHM9byxmPW51bGwsZD1udWxsLHA9YyxtPWM9MCxoPW51bGw7bnVsbCE9PXAmJm08dS5sZW5ndGg7bSsrKXtwLmluZGV4Pm0/KGg9cCxwPW51bGwpOmg9cC5zaWJsaW5nO3ZhciBnPVIobCxwLHVbbV0scyk7aWYobnVsbD09PWcpe251bGw9PT1wJiYocD1oKTticmVha31BJiZwJiZudWxsPT09Zy5hbHRlcm5hdGUmJlAobCxwKSxjPVQoZyxjLG0pLG51bGw9PT1kP2Y9ZzpkLnNpYmxpbmc9ZyxkPWcscD1ofWlmKG09PT11Lmxlbmd0aClJKGwscCk7ZWxzZSBpZihudWxsPT09cClmb3IoO208dS5sZW5ndGg7bSsrKW51bGwhPT0ocD1NKGwsdVttXSxzKSkmJihjPVQocCxjLG0pLG51bGw9PT1kP2Y9cDpkLnNpYmxpbmc9cCxkPXApO2Vsc2V7Zm9yKHA9XyhsLHApO208dS5sZW5ndGg7bSsrKW51bGwhPT0oaD1OKHAsbCxtLHVbbV0scykpJiYoQSYmbnVsbCE9PWguYWx0ZXJuYXRlJiZwLmRlbGV0ZShudWxsPT09aC5rZXk/bTpoLmtleSksYz1UKGgsYyxtKSxudWxsPT09ZD9mPWg6ZC5zaWJsaW5nPWgsZD1oKTtBJiZwLmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIFAobCxlKX0pfXJldHVybiBVJiZpYShsLG0pLGZ9aWYobWUocikpe3ZhciBiPXQseT1uLHY9cix3PW8seD1tZSh2KTtpZigiZnVuY3Rpb24iIT10eXBlb2YgeCl0aHJvdyBFcnJvcihEKDE1MCkpO2lmKG51bGw9PSh2PXguY2FsbCh2KSkpdGhyb3cgRXJyb3IoRCgxNTEpKTtmb3IodmFyIGs9eD1udWxsLFM9eSxDPXk9MCxFPW51bGwsTz12Lm5leHQoKTtudWxsIT09UyYmIU8uZG9uZTtDKyssTz12Lm5leHQoKSl7Uy5pbmRleD5DPyhFPVMsUz1udWxsKTpFPVMuc2libGluZzt2YXIgaj1SKGIsUyxPLnZhbHVlLHcpO2lmKG51bGw9PT1qKXtudWxsPT09UyYmKFM9RSk7YnJlYWt9QSYmUyYmbnVsbD09PWouYWx0ZXJuYXRlJiZQKGIsUykseT1UKGoseSxDKSxudWxsPT09az94PWo6ay5zaWJsaW5nPWosaz1qLFM9RX1pZihPLmRvbmUpSShiLFMpO2Vsc2UgaWYobnVsbD09PVMpZm9yKDshTy5kb25lO0MrKyxPPXYubmV4dCgpKW51bGwhPT0oTz1NKGIsTy52YWx1ZSx3KSkmJih5PVQoTyx5LEMpLG51bGw9PT1rP3g9TzprLnNpYmxpbmc9TyxrPU8pO2Vsc2V7Zm9yKFM9XyhiLFMpOyFPLmRvbmU7QysrLE89di5uZXh0KCkpbnVsbCE9PShPPU4oUyxiLEMsTy52YWx1ZSx3KSkmJihBJiZudWxsIT09Ty5hbHRlcm5hdGUmJlMuZGVsZXRlKG51bGw9PT1PLmtleT9DOk8ua2V5KSx5PVQoTyx5LEMpLG51bGw9PT1rP3g9TzprLnNpYmxpbmc9TyxrPU8pO0EmJlMuZm9yRWFjaChmdW5jdGlvbihlKXtyZXR1cm4gUChiLGUpfSl9cmV0dXJuIFUmJmlhKGIsQykseH1KYSgwLHIpfXJldHVybiJzdHJpbmciPT10eXBlb2YgciYmIiIhPT1yfHwibnVtYmVyIj09dHlwZW9mIHI/KHI9IiIrciwobj1udWxsIT09biYmNj09PW4udGFnPyhJKHQsbi5zaWJsaW5nKSx6KG4scikpOihJKHQsbiksY3Uocix0Lm1vZGUsbykpKS5yZXR1cm49dCxMKHQ9bikpOkkodCxuKX19dmFyIG5pPXRpKCEwKSxyaT10aSghMSksb2k9e30sYWk9Tm8ob2kpLGlpPU5vKG9pKSxsaT1ObyhvaSk7ZnVuY3Rpb24gY2koZSl7aWYoZT09PW9pKXRocm93IEVycm9yKEQoMTc0KSk7cmV0dXJuIGV9ZnVuY3Rpb24gdWkoZSx0KXtzd2l0Y2goYihsaSx0KSxiKGlpLGUpLGIoYWksb2kpLGU9dC5ub2RlVHlwZSl7Y2FzZSA5OmNhc2UgMTE6dD0odD10LmRvY3VtZW50RWxlbWVudCk/dC5uYW1lc3BhY2VVUkk6RGUobnVsbCwiIik7YnJlYWs7ZGVmYXVsdDp0PURlKHQ9KGU9OD09PWU/dC5wYXJlbnROb2RlOnQpLm5hbWVzcGFjZVVSSXx8bnVsbCxlPWUudGFnTmFtZSl9dShhaSksYihhaSx0KX1mdW5jdGlvbiBzaSgpe3UoYWkpLHUoaWkpLHUobGkpfWZ1bmN0aW9uIGZpKGUpe2NpKGxpLmN1cnJlbnQpO3ZhciB0PWNpKGFpLmN1cnJlbnQpLG49RGUodCxlLnR5cGUpO3QhPT1uJiYoYihpaSxlKSxiKGFpLG4pKX1mdW5jdGlvbiBkaShlKXtpaS5jdXJyZW50PT09ZSYmKHUoYWkpLHUoaWkpKX12YXIgUz1ObygwKTtmdW5jdGlvbiBwaShlKXtmb3IodmFyIHQ9ZTtudWxsIT09dDspe2lmKDEzPT09dC50YWcpe3ZhciBuPXQubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09biYmKG51bGw9PT0obj1uLmRlaHlkcmF0ZWQpfHwiJD8iPT09bi5kYXRhfHwiJCEiPT09bi5kYXRhKSlyZXR1cm4gdH1lbHNlIGlmKDE5PT09dC50YWcmJnZvaWQgMCE9PXQubWVtb2l6ZWRQcm9wcy5yZXZlYWxPcmRlcil7aWYoMCE9KDEyOCZ0LmZsYWdzKSlyZXR1cm4gdH1lbHNlIGlmKG51bGwhPT10LmNoaWxkKXt0PSh0LmNoaWxkLnJldHVybj10KS5jaGlsZDtjb250aW51ZX1pZih0PT09ZSlicmVhaztmb3IoO251bGw9PT10LnNpYmxpbmc7KXtpZihudWxsPT09dC5yZXR1cm58fHQucmV0dXJuPT09ZSlyZXR1cm4gbnVsbDt0PXQucmV0dXJufXQuc2libGluZy5yZXR1cm49dC5yZXR1cm4sdD10LnNpYmxpbmd9cmV0dXJuIG51bGx9dmFyIG1pPVtdO2Z1bmN0aW9uIGhpKCl7Zm9yKHZhciBlPTA7ZTxtaS5sZW5ndGg7ZSsrKW1pW2VdLl93b3JrSW5Qcm9ncmVzc1ZlcnNpb25QcmltYXJ5PW51bGw7bWkubGVuZ3RoPTB9dmFyIGdpPUouUmVhY3RDdXJyZW50RGlzcGF0Y2hlcixiaT1KLlJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLHlpPTAsQz1udWxsLEU9bnVsbCxPPW51bGwsdmk9ITEsd2k9ITEseGk9MCxraT0wO2Z1bmN0aW9uIG8oKXt0aHJvdyBFcnJvcihEKDMyMSkpfWZ1bmN0aW9uIFNpKGUsdCl7aWYobnVsbCE9PXQpe2Zvcih2YXIgbj0wO248dC5sZW5ndGgmJm48ZS5sZW5ndGg7bisrKWlmKCFrcihlW25dLHRbbl0pKXJldHVybjtyZXR1cm4gMX19ZnVuY3Rpb24gQ2koZSx0LG4scixvLGEpe2lmKHlpPWEsKEM9dCkubWVtb2l6ZWRTdGF0ZT1udWxsLHQudXBkYXRlUXVldWU9bnVsbCx0LmxhbmVzPTAsZ2kuY3VycmVudD1udWxsPT09ZXx8bnVsbD09PWUubWVtb2l6ZWRTdGF0ZT9vbDphbCxlPW4ocixvKSx3aSl7YT0wO2Rve2lmKHdpPSExLHhpPTAsMjU8PWEpdGhyb3cgRXJyb3IoRCgzMDEpKX13aGlsZShhKz0xLE89RT1udWxsLHQudXBkYXRlUXVldWU9bnVsbCxnaS5jdXJyZW50PWlsLGU9bihyLG8pLHdpKX1pZihnaS5jdXJyZW50PXJsLHQ9bnVsbCE9PUUmJm51bGwhPT1FLm5leHQseWk9MCxPPUU9Qz1udWxsLHZpPSExLHQpdGhyb3cgRXJyb3IoRCgzMDApKTtyZXR1cm4gZX1mdW5jdGlvbiBFaSgpe3ZhciBlPTAhPT14aTtyZXR1cm4geGk9MCxlfWZ1bmN0aW9uIE9pKCl7dmFyIGU9e21lbW9pemVkU3RhdGU6bnVsbCxiYXNlU3RhdGU6bnVsbCxiYXNlUXVldWU6bnVsbCxxdWV1ZTpudWxsLG5leHQ6bnVsbH07cmV0dXJuIG51bGw9PT1PP0MubWVtb2l6ZWRTdGF0ZT1PPWU6Tz1PLm5leHQ9ZSxPfWZ1bmN0aW9uIGppKCl7ZT1udWxsPT09RT9udWxsIT09KGU9Qy5hbHRlcm5hdGUpP2UubWVtb2l6ZWRTdGF0ZTpudWxsOkUubmV4dDt2YXIgZSx0PW51bGw9PT1PP0MubWVtb2l6ZWRTdGF0ZTpPLm5leHQ7aWYobnVsbCE9PXQpTz10LEU9ZTtlbHNle2lmKG51bGw9PT1lKXRocm93IEVycm9yKEQoMzEwKSk7ZT17bWVtb2l6ZWRTdGF0ZTooRT1lKS5tZW1vaXplZFN0YXRlLGJhc2VTdGF0ZTpFLmJhc2VTdGF0ZSxiYXNlUXVldWU6RS5iYXNlUXVldWUscXVldWU6RS5xdWV1ZSxuZXh0Om51bGx9LG51bGw9PT1PP0MubWVtb2l6ZWRTdGF0ZT1PPWU6Tz1PLm5leHQ9ZX1yZXR1cm4gT31mdW5jdGlvbiBBaShlLHQpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0P3QoZSk6dH1mdW5jdGlvbiBQaShlKXt2YXIgdD1qaSgpLG49dC5xdWV1ZTtpZihudWxsPT09bil0aHJvdyBFcnJvcihEKDMxMSkpO24ubGFzdFJlbmRlcmVkUmVkdWNlcj1lO3ZhciByLG89KGk9RSkuYmFzZVF1ZXVlO2lmKG51bGwhPT0oYT1uLnBlbmRpbmcpJiYobnVsbCE9PW8mJihyPW8ubmV4dCxvLm5leHQ9YS5uZXh0LGEubmV4dD1yKSxpLmJhc2VRdWV1ZT1vPWEsbi5wZW5kaW5nPW51bGwpLG51bGwhPT1vKXt2YXIgYT1vLm5leHQsaT1pLmJhc2VTdGF0ZSxsPXI9bnVsbCxjPW51bGwsdT1hO2Rve3ZhciBzLGY9dS5sYW5lfXdoaWxlKCh5aSZmKT09PWY/KG51bGwhPT1jJiYoYz1jLm5leHQ9e2xhbmU6MCxhY3Rpb246dS5hY3Rpb24saGFzRWFnZXJTdGF0ZTp1Lmhhc0VhZ2VyU3RhdGUsZWFnZXJTdGF0ZTp1LmVhZ2VyU3RhdGUsbmV4dDpudWxsfSksaT11Lmhhc0VhZ2VyU3RhdGU/dS5lYWdlclN0YXRlOmUoaSx1LmFjdGlvbikpOihzPXtsYW5lOmYsYWN0aW9uOnUuYWN0aW9uLGhhc0VhZ2VyU3RhdGU6dS5oYXNFYWdlclN0YXRlLGVhZ2VyU3RhdGU6dS5lYWdlclN0YXRlLG5leHQ6bnVsbH0sbnVsbD09PWM/KGw9Yz1zLHI9aSk6Yz1jLm5leHQ9cyxDLmxhbmVzfD1mLGhjfD1mKSxudWxsIT09KHU9dS5uZXh0KSYmdSE9PWEpO251bGw9PT1jP3I9aTpjLm5leHQ9bCxrcihpLHQubWVtb2l6ZWRTdGF0ZSl8fChqPSEwKSx0Lm1lbW9pemVkU3RhdGU9aSx0LmJhc2VTdGF0ZT1yLHQuYmFzZVF1ZXVlPWMsbi5sYXN0UmVuZGVyZWRTdGF0ZT1pfWlmKG51bGwhPT0oZT1uLmludGVybGVhdmVkKSlmb3Iobz1lO2E9by5sYW5lLEMubGFuZXN8PWEsaGN8PWEsKG89by5uZXh0KSE9PWU7KTtlbHNlIG51bGw9PT1vJiYobi5sYW5lcz0wKTtyZXR1cm5bdC5tZW1vaXplZFN0YXRlLG4uZGlzcGF0Y2hdfWZ1bmN0aW9uIElpKGUpe3ZhciB0PWppKCksbj10LnF1ZXVlO2lmKG51bGw9PT1uKXRocm93IEVycm9yKEQoMzExKSk7bi5sYXN0UmVuZGVyZWRSZWR1Y2VyPWU7dmFyIHI9bi5kaXNwYXRjaCxvPW4ucGVuZGluZyxhPXQubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09byl7bi5wZW5kaW5nPW51bGw7Zm9yKHZhciBpPW89by5uZXh0O2E9ZShhLGkuYWN0aW9uKSwoaT1pLm5leHQpIT09bzspO2tyKGEsdC5tZW1vaXplZFN0YXRlKXx8KGo9ITApLHQubWVtb2l6ZWRTdGF0ZT1hLG51bGw9PT10LmJhc2VRdWV1ZSYmKHQuYmFzZVN0YXRlPWEpLG4ubGFzdFJlbmRlcmVkU3RhdGU9YX1yZXR1cm5bYSxyXX1mdW5jdGlvbiBfaSgpe31mdW5jdGlvbiB6aShlLHQpe3ZhciBuPUMscj1qaSgpLG89dCgpLGE9IWtyKHIubWVtb2l6ZWRTdGF0ZSxvKTtpZihhJiYoci5tZW1vaXplZFN0YXRlPW8saj0hMCkscj1yLnF1ZXVlLCRpKE1pLmJpbmQobnVsbCxuLHIsZSksW2VdKSxyLmdldFNuYXBzaG90IT09dHx8YXx8bnVsbCE9PU8mJjEmTy5tZW1vaXplZFN0YXRlLnRhZyl7aWYobi5mbGFnc3w9MjA0OCxVaSg5LExpLmJpbmQobnVsbCxuLHIsbyx0KSx2b2lkIDAsbnVsbCksbnVsbD09PXApdGhyb3cgRXJyb3IoRCgzNDkpKTswPT0oMzAmeWkpJiZUaShuLHQsbyl9cmV0dXJuIG99ZnVuY3Rpb24gVGkoZSx0LG4pe2UuZmxhZ3N8PTE2Mzg0LGU9e2dldFNuYXBzaG90OnQsdmFsdWU6bn0sbnVsbD09PSh0PUMudXBkYXRlUXVldWUpPyhDLnVwZGF0ZVF1ZXVlPXQ9e2xhc3RFZmZlY3Q6bnVsbCxzdG9yZXM6bnVsbH0pLnN0b3Jlcz1bZV06bnVsbD09PShuPXQuc3RvcmVzKT90LnN0b3Jlcz1bZV06bi5wdXNoKGUpfWZ1bmN0aW9uIExpKGUsdCxuLHIpe3QudmFsdWU9bix0LmdldFNuYXBzaG90PXIsUmkodCkmJk5pKGUpfWZ1bmN0aW9uIE1pKGUsdCxuKXtyZXR1cm4gbihmdW5jdGlvbigpe1JpKHQpJiZOaShlKX0pfWZ1bmN0aW9uIFJpKGUpe3ZhciB0PWUuZ2V0U25hcHNob3Q7ZT1lLnZhbHVlO3RyeXt2YXIgbj10KCk7cmV0dXJuIWtyKGUsbil9Y2F0Y2goZSl7cmV0dXJuIDF9fWZ1bmN0aW9uIE5pKGUpe3ZhciB0PU1hKGUsMSk7bnVsbCE9PXQmJlRjKHQsZSwxLC0xKX1mdW5jdGlvbiBEaShlKXt2YXIgdD1PaSgpO3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBlJiYoZT1lKCkpLHQubWVtb2l6ZWRTdGF0ZT10LmJhc2VTdGF0ZT1lLGU9KHQucXVldWU9ZT17cGVuZGluZzpudWxsLGludGVybGVhdmVkOm51bGwsbGFuZXM6MCxkaXNwYXRjaDpudWxsLGxhc3RSZW5kZXJlZFJlZHVjZXI6QWksbGFzdFJlbmRlcmVkU3RhdGU6ZX0pLmRpc3BhdGNoPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj16YyhlKSxvPXtsYW5lOnIsYWN0aW9uOm4saGFzRWFnZXJTdGF0ZTohMSxlYWdlclN0YXRlOm51bGwsbmV4dDpudWxsfTtpZihlbChlKSl0bCh0LG8pO2Vsc2V7dmFyIGE9ZS5hbHRlcm5hdGU7aWYoMD09PWUubGFuZXMmJihudWxsPT09YXx8MD09PWEubGFuZXMpJiZudWxsIT09KGE9dC5sYXN0UmVuZGVyZWRSZWR1Y2VyKSl0cnl7dmFyIGksbD10Lmxhc3RSZW5kZXJlZFN0YXRlLGM9YShsLG4pO2lmKG8uaGFzRWFnZXJTdGF0ZT0hMCxvLmVhZ2VyU3RhdGU9YyxrcihjLGwpKXJldHVybiBudWxsPT09KGk9dC5pbnRlcmxlYXZlZCk/KG8ubmV4dD1vLFRhKHQpKTooby5uZXh0PWkubmV4dCxpLm5leHQ9byksdm9pZCh0LmludGVybGVhdmVkPW8pfWNhdGNoKGUpe31udWxsIT09KG49TGEoZSx0LG8scikpJiYobz1tKCksVGMobixlLHIsbyksbmwobix0LHIpKX19LmJpbmQobnVsbCxDLGUpLFt0Lm1lbW9pemVkU3RhdGUsZV19ZnVuY3Rpb24gVWkoZSx0LG4scil7cmV0dXJuIGU9e3RhZzplLGNyZWF0ZTp0LGRlc3Ryb3k6bixkZXBzOnIsbmV4dDpudWxsfSxudWxsPT09KHQ9Qy51cGRhdGVRdWV1ZSk/KEMudXBkYXRlUXVldWU9dD17bGFzdEVmZmVjdDpudWxsLHN0b3JlczpudWxsfSkubGFzdEVmZmVjdD1lLm5leHQ9ZTpudWxsPT09KG49dC5sYXN0RWZmZWN0KT90Lmxhc3RFZmZlY3Q9ZS5uZXh0PWU6KHI9bi5uZXh0LChuLm5leHQ9ZSkubmV4dD1yLHQubGFzdEVmZmVjdD1lKSxlfWZ1bmN0aW9uIEJpKCl7cmV0dXJuIGppKCkubWVtb2l6ZWRTdGF0ZX1mdW5jdGlvbiBGaShlLHQsbixyKXt2YXIgbz1PaSgpO0MuZmxhZ3N8PWUsby5tZW1vaXplZFN0YXRlPVVpKDF8dCxuLHZvaWQgMCx2b2lkIDA9PT1yP251bGw6cil9ZnVuY3Rpb24gSGkoZSx0LG4scil7dmFyIG89amkoKSxhPShyPXZvaWQgMD09PXI/bnVsbDpyLHZvaWQgMCk7aWYobnVsbCE9PUUpe3ZhciBpPUUubWVtb2l6ZWRTdGF0ZSxhPWkuZGVzdHJveTtpZihudWxsIT09ciYmU2kocixpLmRlcHMpKXJldHVybiB2b2lkKG8ubWVtb2l6ZWRTdGF0ZT1VaSh0LG4sYSxyKSl9Qy5mbGFnc3w9ZSxvLm1lbW9pemVkU3RhdGU9VWkoMXx0LG4sYSxyKX1mdW5jdGlvbiBWaShlLHQpe3JldHVybiBGaSg4MzkwNjU2LDgsZSx0KX1mdW5jdGlvbiAkaShlLHQpe3JldHVybiBIaSgyMDQ4LDgsZSx0KX1mdW5jdGlvbiBXaShlLHQpe3JldHVybiBIaSg0LDIsZSx0KX1mdW5jdGlvbiBHaShlLHQpe3JldHVybiBIaSg0LDQsZSx0KX1mdW5jdGlvbiBxaShlLHQpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0PyhlPWUoKSx0KGUpLGZ1bmN0aW9uKCl7dChudWxsKX0pOm51bGwhPXQ/KGU9ZSgpLHQuY3VycmVudD1lLGZ1bmN0aW9uKCl7dC5jdXJyZW50PW51bGx9KTp2b2lkIDB9ZnVuY3Rpb24gWmkoZSx0LG4pe3JldHVybiBuPW51bGwhPW4/bi5jb25jYXQoW2VdKTpudWxsLEhpKDQsNCxxaS5iaW5kKG51bGwsdCxlKSxuKX1mdW5jdGlvbiBYaSgpe31mdW5jdGlvbiBZaShlLHQpe3ZhciBuPWppKCkscj0odD12b2lkIDA9PT10P251bGw6dCxuLm1lbW9pemVkU3RhdGUpO3JldHVybiBudWxsIT09ciYmbnVsbCE9PXQmJlNpKHQsclsxXSk/clswXToobi5tZW1vaXplZFN0YXRlPVtlLHRdLGUpfWZ1bmN0aW9uIFFpKGUsdCl7dmFyIG49amkoKSxyPSh0PXZvaWQgMD09PXQ/bnVsbDp0LG4ubWVtb2l6ZWRTdGF0ZSk7cmV0dXJuIG51bGwhPT1yJiZudWxsIT09dCYmU2kodCxyWzFdKT9yWzBdOihlPWUoKSxuLm1lbW9pemVkU3RhdGU9W2UsdF0sZSl9ZnVuY3Rpb24gS2koZSx0LG4pe3JldHVybiAwPT0oMjEmeWkpPyhlLmJhc2VTdGF0ZSYmKGUuYmFzZVN0YXRlPSExLGo9ITApLGUubWVtb2l6ZWRTdGF0ZT1uKTooa3Iobix0KXx8KG49RnQoKSxDLmxhbmVzfD1uLGhjfD1uLGUuYmFzZVN0YXRlPSEwKSx0KX1mdW5jdGlvbiBKaSgpe3JldHVybiBqaSgpLm1lbW9pemVkU3RhdGV9ZnVuY3Rpb24gZWwoZSl7dmFyIHQ9ZS5hbHRlcm5hdGU7cmV0dXJuIGU9PT1DfHxudWxsIT09dCYmdD09PUN9ZnVuY3Rpb24gdGwoZSx0KXt3aT12aT0hMDt2YXIgbj1lLnBlbmRpbmc7bnVsbD09PW4/dC5uZXh0PXQ6KHQubmV4dD1uLm5leHQsbi5uZXh0PXQpLGUucGVuZGluZz10fWZ1bmN0aW9uIG5sKGUsdCxuKXt2YXIgcjswIT0oNDE5NDI0MCZuKSYmKHI9dC5sYW5lcyxyJj1lLnBlbmRpbmdMYW5lcywkdChlLHQubGFuZXM9bnw9cikpfXZhciBybD17cmVhZENvbnRleHQ6X2EsdXNlQ2FsbGJhY2s6byx1c2VDb250ZXh0Om8sdXNlRWZmZWN0Om8sdXNlSW1wZXJhdGl2ZUhhbmRsZTpvLHVzZUluc2VydGlvbkVmZmVjdDpvLHVzZUxheW91dEVmZmVjdDpvLHVzZU1lbW86byx1c2VSZWR1Y2VyOm8sdXNlUmVmOm8sdXNlU3RhdGU6byx1c2VEZWJ1Z1ZhbHVlOm8sdXNlRGVmZXJyZWRWYWx1ZTpvLHVzZVRyYW5zaXRpb246byx1c2VNdXRhYmxlU291cmNlOm8sdXNlU3luY0V4dGVybmFsU3RvcmU6byx1c2VJZDpvLHVuc3RhYmxlX2lzTmV3UmVjb25jaWxlcjohMX0sb2w9e3JlYWRDb250ZXh0Ol9hLHVzZUNhbGxiYWNrOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIE9pKCkubWVtb2l6ZWRTdGF0ZT1bZSx2b2lkIDA9PT10P251bGw6dF0sZX0sdXNlQ29udGV4dDpfYSx1c2VFZmZlY3Q6VmksdXNlSW1wZXJhdGl2ZUhhbmRsZTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIG49bnVsbCE9bj9uLmNvbmNhdChbZV0pOm51bGwsRmkoNDE5NDMwOCw0LHFpLmJpbmQobnVsbCx0LGUpLG4pfSx1c2VMYXlvdXRFZmZlY3Q6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gRmkoNDE5NDMwOCw0LGUsdCl9LHVzZUluc2VydGlvbkVmZmVjdDpmdW5jdGlvbihlLHQpe3JldHVybiBGaSg0LDIsZSx0KX0sdXNlTWVtbzpmdW5jdGlvbihlLHQpe3ZhciBuPU9pKCk7cmV0dXJuIHQ9dm9pZCAwPT09dD9udWxsOnQsZT1lKCksbi5tZW1vaXplZFN0YXRlPVtlLHRdLGV9LHVzZVJlZHVjZXI6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPU9pKCk7cmV0dXJuIHQ9dm9pZCAwIT09bj9uKHQpOnQsci5tZW1vaXplZFN0YXRlPXIuYmFzZVN0YXRlPXQsZT0oci5xdWV1ZT1lPXtwZW5kaW5nOm51bGwsaW50ZXJsZWF2ZWQ6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjplLGxhc3RSZW5kZXJlZFN0YXRlOnR9KS5kaXNwYXRjaD1mdW5jdGlvbihlLHQsbil7dmFyIHI9emMoZSk7bj17bGFuZTpyLGFjdGlvbjpuLGhhc0VhZ2VyU3RhdGU6ITEsZWFnZXJTdGF0ZTpudWxsLG5leHQ6bnVsbH0sZWwoZSk/dGwodCxuKTpudWxsIT09KG49TGEoZSx0LG4scikpJiYoVGMobixlLHIsbSgpKSxubChuLHQscikpfS5iaW5kKG51bGwsQyxlKSxbci5tZW1vaXplZFN0YXRlLGVdfSx1c2VSZWY6ZnVuY3Rpb24oZSl7cmV0dXJuIE9pKCkubWVtb2l6ZWRTdGF0ZT1lPXtjdXJyZW50OmV9fSx1c2VTdGF0ZTpEaSx1c2VEZWJ1Z1ZhbHVlOlhpLHVzZURlZmVycmVkVmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIE9pKCkubWVtb2l6ZWRTdGF0ZT1lfSx1c2VUcmFuc2l0aW9uOmZ1bmN0aW9uKCl7dmFyIGU9KHQ9RGkoITEpKVswXSx0PWZ1bmN0aW9uKGUsdCl7dmFyIG49eCxyPSh4PTAhPT1uJiZuPDQ/bjo0LGUoITApLGJpLnRyYW5zaXRpb24pO2JpLnRyYW5zaXRpb249e307dHJ5e2UoITEpLHQoKX1maW5hbGx5e3g9bixiaS50cmFuc2l0aW9uPXJ9fS5iaW5kKG51bGwsdFsxXSk7cmV0dXJuW2UsT2koKS5tZW1vaXplZFN0YXRlPXRdfSx1c2VNdXRhYmxlU291cmNlOmZ1bmN0aW9uKCl7fSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpmdW5jdGlvbihlLHQsbil7dmFyIHI9QyxvPU9pKCk7aWYoVSl7aWYodm9pZCAwPT09bil0aHJvdyBFcnJvcihEKDQwNykpO249bigpfWVsc2V7aWYobj10KCksbnVsbD09PXApdGhyb3cgRXJyb3IoRCgzNDkpKTswPT0oMzAmeWkpJiZUaShyLHQsbil9dmFyIGE9e3ZhbHVlOm8ubWVtb2l6ZWRTdGF0ZT1uLGdldFNuYXBzaG90OnR9O3JldHVybiBvLnF1ZXVlPWEsVmkoTWkuYmluZChudWxsLHIsYSxlKSxbZV0pLHIuZmxhZ3N8PTIwNDgsVWkoOSxMaS5iaW5kKG51bGwscixhLG4sdCksdm9pZCAwLG51bGwpLG59LHVzZUlkOmZ1bmN0aW9uKCl7dmFyIGUsdD1PaSgpLG49cC5pZGVudGlmaWVyUHJlZml4O3JldHVybiBVPyhlPWFhLG49IjoiK24rIlIiKyhlPShvYSZ+KDE8PDMyLXp0KG9hKS0xKSkudG9TdHJpbmcoMzIpK2UpLDA8KGU9eGkrKykmJihuKz0iSCIrZS50b1N0cmluZygzMikpLG4rPSI6Iik6bj0iOiIrbisiciIrKGU9a2krKykudG9TdHJpbmcoMzIpKyI6Iix0Lm1lbW9pemVkU3RhdGU9bn0sdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiExfSxhbD17cmVhZENvbnRleHQ6X2EsdXNlQ2FsbGJhY2s6WWksdXNlQ29udGV4dDpfYSx1c2VFZmZlY3Q6JGksdXNlSW1wZXJhdGl2ZUhhbmRsZTpaaSx1c2VJbnNlcnRpb25FZmZlY3Q6V2ksdXNlTGF5b3V0RWZmZWN0OkdpLHVzZU1lbW86UWksdXNlUmVkdWNlcjpQaSx1c2VSZWY6QmksdXNlU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gUGkoQWkpfSx1c2VEZWJ1Z1ZhbHVlOlhpLHVzZURlZmVycmVkVmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIEtpKGppKCksRS5tZW1vaXplZFN0YXRlLGUpfSx1c2VUcmFuc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuW1BpKEFpKVswXSxqaSgpLm1lbW9pemVkU3RhdGVdfSx1c2VNdXRhYmxlU291cmNlOl9pLHVzZVN5bmNFeHRlcm5hbFN0b3JlOnppLHVzZUlkOkppLHVuc3RhYmxlX2lzTmV3UmVjb25jaWxlcjohMX0saWw9e3JlYWRDb250ZXh0Ol9hLHVzZUNhbGxiYWNrOllpLHVzZUNvbnRleHQ6X2EsdXNlRWZmZWN0OiRpLHVzZUltcGVyYXRpdmVIYW5kbGU6WmksdXNlSW5zZXJ0aW9uRWZmZWN0OldpLHVzZUxheW91dEVmZmVjdDpHaSx1c2VNZW1vOlFpLHVzZVJlZHVjZXI6SWksdXNlUmVmOkJpLHVzZVN0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIElpKEFpKX0sdXNlRGVidWdWYWx1ZTpYaSx1c2VEZWZlcnJlZFZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PWppKCk7cmV0dXJuIG51bGw9PT1FP3QubWVtb2l6ZWRTdGF0ZT1lOktpKHQsRS5tZW1vaXplZFN0YXRlLGUpfSx1c2VUcmFuc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuW0lpKEFpKVswXSxqaSgpLm1lbW9pemVkU3RhdGVdfSx1c2VNdXRhYmxlU291cmNlOl9pLHVzZVN5bmNFeHRlcm5hbFN0b3JlOnppLHVzZUlkOkppLHVuc3RhYmxlX2lzTmV3UmVjb25jaWxlcjohMX07ZnVuY3Rpb24gbGwoZSx0KXt0cnl7Zm9yKHZhciBuPSIiLHI9dDtuKz1mdW5jdGlvbihlKXtzd2l0Y2goZS50YWcpe2Nhc2UgNTpyZXR1cm4gZ2UoZS50eXBlKTtjYXNlIDE2OnJldHVybiBnZSgiTGF6eSIpO2Nhc2UgMTM6cmV0dXJuIGdlKCJTdXNwZW5zZSIpO2Nhc2UgMTk6cmV0dXJuIGdlKCJTdXNwZW5zZUxpc3QiKTtjYXNlIDA6Y2FzZSAyOmNhc2UgMTU6cmV0dXJuIGU9eWUoZS50eXBlLCExKTtjYXNlIDExOnJldHVybiBlPXllKGUudHlwZS5yZW5kZXIsITEpO2Nhc2UgMTpyZXR1cm4gZT15ZShlLnR5cGUsITApO2RlZmF1bHQ6cmV0dXJuIiJ9fShyKSxyPXIucmV0dXJuOyk7dmFyIG89bn1jYXRjaChlKXtvPSJcbkVycm9yIGdlbmVyYXRpbmcgc3RhY2s6ICIrZS5tZXNzYWdlKyJcbiIrZS5zdGFja31yZXR1cm57dmFsdWU6ZSxzb3VyY2U6dCxzdGFjazpvLGRpZ2VzdDpudWxsfX1mdW5jdGlvbiBjbChlLHQsbil7cmV0dXJue3ZhbHVlOmUsc291cmNlOm51bGwsc3RhY2s6bnVsbCE9bj9uOm51bGwsZGlnZXN0Om51bGwhPXQ/dDpudWxsfX1mdW5jdGlvbiB1bChlLHQpe3RyeXtjb25zb2xlLmVycm9yKHQudmFsdWUpfWNhdGNoKGUpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0aHJvdyBlfSl9fXZhciBzbD0iZnVuY3Rpb24iPT10eXBlb2YgV2Vha01hcD9XZWFrTWFwOk1hcDtmdW5jdGlvbiBmbChlLHQsbil7KG49VWEoLTEsbikpLnRhZz0zLG4ucGF5bG9hZD17ZWxlbWVudDpudWxsfTt2YXIgcj10LnZhbHVlO3JldHVybiBuLmNhbGxiYWNrPWZ1bmN0aW9uKCl7a2N8fChrYz0hMCxTYz1yKSx1bCgwLHQpfSxufWZ1bmN0aW9uIGRsKGUsdCxuKXsobj1VYSgtMSxuKSkudGFnPTM7dmFyIHIsbz1lLnR5cGUuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yLGU9KCJmdW5jdGlvbiI9PXR5cGVvZiBvJiYocj10LnZhbHVlLG4ucGF5bG9hZD1mdW5jdGlvbigpe3JldHVybiBvKHIpfSxuLmNhbGxiYWNrPWZ1bmN0aW9uKCl7dWwoMCx0KX0pLGUuc3RhdGVOb2RlKTtyZXR1cm4gbnVsbCE9PWUmJiJmdW5jdGlvbiI9PXR5cGVvZiBlLmNvbXBvbmVudERpZENhdGNoJiYobi5jYWxsYmFjaz1mdW5jdGlvbigpe3VsKDAsdCksImZ1bmN0aW9uIiE9dHlwZW9mIG8mJihudWxsPT09Q2M/Q2M9bmV3IFNldChbdGhpc10pOkNjLmFkZCh0aGlzKSk7dmFyIGU9dC5zdGFjazt0aGlzLmNvbXBvbmVudERpZENhdGNoKHQudmFsdWUse2NvbXBvbmVudFN0YWNrOm51bGwhPT1lP2U6IiJ9KX0pLG59ZnVuY3Rpb24gcGwoZSx0LG4pe3ZhciByLG89ZS5waW5nQ2FjaGU7bnVsbD09PW8/KG89ZS5waW5nQ2FjaGU9bmV3IHNsLHI9bmV3IFNldCxvLnNldCh0LHIpKTp2b2lkIDA9PT0ocj1vLmdldCh0KSkmJihyPW5ldyBTZXQsby5zZXQodCxyKSksci5oYXMobil8fChyLmFkZChuKSxlPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1lLnBpbmdDYWNoZTtudWxsIT09ciYmci5kZWxldGUodCksdD1tKCksZS5waW5nZWRMYW5lc3w9ZS5zdXNwZW5kZWRMYW5lcyZuLHA9PT1lJiYoVCZuKT09PW4mJig0PT09THx8Mz09PUwmJigxMzAwMjM0MjQmVCk9PT1UJiZoKCktdmM8NTAwP1ZjKGUsMCk6YmN8PW4pLExjKGUsdCl9LmJpbmQobnVsbCxlLHQsbiksdC50aGVuKGUsZSkpfWZ1bmN0aW9uIG1sKGUpe2Rve3ZhciB0O2lmKHQ9KHQ9MTM9PT1lLnRhZyk/bnVsbD09PSh0PWUubWVtb2l6ZWRTdGF0ZSl8fG51bGwhPT10LmRlaHlkcmF0ZWQ6dClyZXR1cm4gZX13aGlsZShudWxsIT09KGU9ZS5yZXR1cm4pKTtyZXR1cm4gbnVsbH1mdW5jdGlvbiBobChlLHQsbixyLG8pe2lmKDA9PSgxJmUubW9kZSkpcmV0dXJuIGU9PT10P2UuZmxhZ3N8PTY1NTM2OihlLmZsYWdzfD0xMjgsbi5mbGFnc3w9MTMxMDcyLG4uZmxhZ3MmPS01MjgwNSwxPT09bi50YWcmJihudWxsPT09bi5hbHRlcm5hdGU/bi50YWc9MTc6KCh0PVVhKC0xLDEpKS50YWc9MixCYShuLHQsMSkpKSxuLmxhbmVzfD0xKTtlLmZsYWdzfD02NTUzNixlLmxhbmVzPW99dmFyIGdsPUouUmVhY3RDdXJyZW50T3duZXIsaj0hMTtmdW5jdGlvbiBBKGUsdCxuLHIpe3QuY2hpbGQ9bnVsbD09PWU/cmkodCxudWxsLG4scik6bmkodCxlLmNoaWxkLG4scil9ZnVuY3Rpb24gYmwoZSx0LG4scixvKXtuPW4ucmVuZGVyO3ZhciBhPXQucmVmO3JldHVybiBJYSh0LG8pLHI9Q2koZSx0LG4scixhLG8pLG49RWkoKSxudWxsPT09ZXx8aj8oVSYmbiYmY2EodCksdC5mbGFnc3w9MSxBKGUsdCxyLG8pLHQuY2hpbGQpOih0LnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsdC5mbGFncyY9LTIwNTMsZS5sYW5lcyY9fm8sUmwoZSx0LG8pKX1mdW5jdGlvbiB5bChlLHQsbixyLG8pe3ZhciBhO2lmKG51bGw9PT1lKXJldHVybiJmdW5jdGlvbiIhPXR5cGVvZihhPW4udHlwZSl8fHJ1KGEpfHx2b2lkIDAhPT1hLmRlZmF1bHRQcm9wc3x8bnVsbCE9PW4uY29tcGFyZXx8dm9pZCAwIT09bi5kZWZhdWx0UHJvcHM/KChlPWF1KG4udHlwZSxudWxsLHIsdCx0Lm1vZGUsbykpLnJlZj10LnJlZiwoZS5yZXR1cm49dCkuY2hpbGQ9ZSk6KHQudGFnPTE1LHQudHlwZT1hLHZsKGUsdCxhLHIsbykpO2lmKGE9ZS5jaGlsZCwwPT0oZS5sYW5lcyZvKSl7dmFyIGk9YS5tZW1vaXplZFByb3BzO2lmKChuPW51bGwhPT0obj1uLmNvbXBhcmUpP246U3IpKGkscikmJmUucmVmPT09dC5yZWYpcmV0dXJuIFJsKGUsdCxvKX1yZXR1cm4gdC5mbGFnc3w9MSwoZT1vdShhLHIpKS5yZWY9dC5yZWYsKGUucmV0dXJuPXQpLmNoaWxkPWV9ZnVuY3Rpb24gdmwoZSx0LG4scixvKXtpZihudWxsIT09ZSl7dmFyIGE9ZS5tZW1vaXplZFByb3BzO2lmKFNyKGEscikmJmUucmVmPT09dC5yZWYpe2lmKGo9ITEsdC5wZW5kaW5nUHJvcHM9cj1hLDA9PShlLmxhbmVzJm8pKXJldHVybiB0LmxhbmVzPWUubGFuZXMsUmwoZSx0LG8pOzAhPSgxMzEwNzImZS5mbGFncykmJihqPSEwKX19cmV0dXJuIGtsKGUsdCxuLHIsbyl9ZnVuY3Rpb24gd2woZSx0LG4pe3ZhciByPXQucGVuZGluZ1Byb3BzLG89ci5jaGlsZHJlbixhPW51bGwhPT1lP2UubWVtb2l6ZWRTdGF0ZTpudWxsO2lmKCJoaWRkZW4iPT09ci5tb2RlKWlmKDA9PSgxJnQubW9kZSkpdC5tZW1vaXplZFN0YXRlPXtiYXNlTGFuZXM6MCxjYWNoZVBvb2w6bnVsbCx0cmFuc2l0aW9uczpudWxsfSxiKHBjLGRjKSxkY3w9bjtlbHNle2lmKDA9PSgxMDczNzQxODI0Jm4pKXJldHVybiBlPW51bGwhPT1hP2EuYmFzZUxhbmVzfG46bix0LmxhbmVzPXQuY2hpbGRMYW5lcz0xMDczNzQxODI0LHQubWVtb2l6ZWRTdGF0ZT17YmFzZUxhbmVzOmUsY2FjaGVQb29sOm51bGwsdHJhbnNpdGlvbnM6bnVsbH0sdC51cGRhdGVRdWV1ZT1udWxsLGIocGMsZGMpLGRjfD1lLG51bGw7dC5tZW1vaXplZFN0YXRlPXtiYXNlTGFuZXM6MCxjYWNoZVBvb2w6bnVsbCx0cmFuc2l0aW9uczpudWxsfSxyPW51bGwhPT1hP2EuYmFzZUxhbmVzOm4sYihwYyxkYyksZGN8PXJ9ZWxzZSBudWxsIT09YT8ocj1hLmJhc2VMYW5lc3xuLHQubWVtb2l6ZWRTdGF0ZT1udWxsKTpyPW4sYihwYyxkYyksZGN8PXI7cmV0dXJuIEEoZSx0LG8sbiksdC5jaGlsZH1mdW5jdGlvbiB4bChlLHQpe3ZhciBuPXQucmVmOyhudWxsPT09ZSYmbnVsbCE9PW58fG51bGwhPT1lJiZlLnJlZiE9PW4pJiYodC5mbGFnc3w9NTEyLHQuZmxhZ3N8PTIwOTcxNTIpfWZ1bmN0aW9uIGtsKGUsdCxuLHIsbyl7dmFyIGE9Qm8odCx3KG4pP1VvOnkuY3VycmVudCk7cmV0dXJuIElhKHQsbyksbj1DaShlLHQsbixyLGEsbykscj1FaSgpLG51bGw9PT1lfHxqPyhVJiZyJiZjYSh0KSx0LmZsYWdzfD0xLEEoZSx0LG4sbyksdC5jaGlsZCk6KHQudXBkYXRlUXVldWU9ZS51cGRhdGVRdWV1ZSx0LmZsYWdzJj0tMjA1MyxlLmxhbmVzJj1+byxSbChlLHQsbykpfWZ1bmN0aW9uIFNsKGUsdCxuLHIsbyl7dmFyIGEsaSxsLGMsdSxzLGYsZCxwLG07cmV0dXJuIHcobik/KGE9ITAsJG8odCkpOmE9ITEsSWEodCxvKSxyPW51bGw9PT10LnN0YXRlTm9kZT8oTWwoZSx0KSxYYSh0LG4sciksUWEodCxuLHIsbyksITApOm51bGw9PT1lPyhpPXQuc3RhdGVOb2RlLGw9dC5tZW1vaXplZFByb3BzLGkucHJvcHM9bCxkPWkuY29udGV4dCxjPSJvYmplY3QiPT10eXBlb2YoYz1uLmNvbnRleHRUeXBlKSYmbnVsbCE9PWM/X2EoYyk6Qm8odCxjPXcobik/VW86eS5jdXJyZW50KSwocz0iZnVuY3Rpb24iPT10eXBlb2YodT1uLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyl8fCJmdW5jdGlvbiI9PXR5cGVvZiBpLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlKXx8ImZ1bmN0aW9uIiE9dHlwZW9mIGkuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMmJiJmdW5jdGlvbiIhPXR5cGVvZiBpLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHN8fGw9PT1yJiZkPT09Y3x8WWEoMCxpLHIsYyksUmE9ITEsZj10Lm1lbW9pemVkU3RhdGUsaS5zdGF0ZT1mLFZhKHQscixpLG8pLGQ9dC5tZW1vaXplZFN0YXRlLGwhPT1yfHxmIT09ZHx8di5jdXJyZW50fHxSYT8oImZ1bmN0aW9uIj09dHlwZW9mIHUmJihHYSh0LDAsdSxyKSxkPXQubWVtb2l6ZWRTdGF0ZSksKGw9UmF8fFphKHQsbixsLHIsZixkLGMpKT8oc3x8ImZ1bmN0aW9uIiE9dHlwZW9mIGkuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCYmImZ1bmN0aW9uIiE9dHlwZW9mIGkuY29tcG9uZW50V2lsbE1vdW50fHwoImZ1bmN0aW9uIj09dHlwZW9mIGkuY29tcG9uZW50V2lsbE1vdW50JiZpLmNvbXBvbmVudFdpbGxNb3VudCgpLCJmdW5jdGlvbiI9PXR5cGVvZiBpLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQmJmkuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCgpKSwiZnVuY3Rpb24iPT10eXBlb2YgaS5jb21wb25lbnREaWRNb3VudCYmKHQuZmxhZ3N8PTQxOTQzMDgpKTooImZ1bmN0aW9uIj09dHlwZW9mIGkuY29tcG9uZW50RGlkTW91bnQmJih0LmZsYWdzfD00MTk0MzA4KSx0Lm1lbW9pemVkUHJvcHM9cix0Lm1lbW9pemVkU3RhdGU9ZCksaS5wcm9wcz1yLGkuc3RhdGU9ZCxpLmNvbnRleHQ9YyxsKTooImZ1bmN0aW9uIj09dHlwZW9mIGkuY29tcG9uZW50RGlkTW91bnQmJih0LmZsYWdzfD00MTk0MzA4KSwhMSkpOihpPXQuc3RhdGVOb2RlLERhKGUsdCksbD10Lm1lbW9pemVkUHJvcHMsYz10LnR5cGU9PT10LmVsZW1lbnRUeXBlP2w6a2EodC50eXBlLGwpLGkucHJvcHM9YyxzPXQucGVuZGluZ1Byb3BzLGY9aS5jb250ZXh0LGQ9Im9iamVjdCI9PXR5cGVvZihkPW4uY29udGV4dFR5cGUpJiZudWxsIT09ZD9fYShkKTpCbyh0LGQ9dyhuKT9Vbzp5LmN1cnJlbnQpLCh1PSJmdW5jdGlvbiI9PXR5cGVvZihwPW4uZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKXx8ImZ1bmN0aW9uIj09dHlwZW9mIGkuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUpfHwiZnVuY3Rpb24iIT10eXBlb2YgaS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyYmImZ1bmN0aW9uIiE9dHlwZW9mIGkuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc3x8bD09PXMmJmY9PT1kfHxZYSgwLGkscixkKSxSYT0hMSxmPXQubWVtb2l6ZWRTdGF0ZSxpLnN0YXRlPWYsVmEodCxyLGksbyksbT10Lm1lbW9pemVkU3RhdGUsbCE9PXN8fGYhPT1tfHx2LmN1cnJlbnR8fFJhPygiZnVuY3Rpb24iPT10eXBlb2YgcCYmKEdhKHQsMCxwLHIpLG09dC5tZW1vaXplZFN0YXRlKSwoYz1SYXx8WmEodCxuLGMscixmLG0sZCl8fCExKT8odXx8ImZ1bmN0aW9uIiE9dHlwZW9mIGkuVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUmJiJmdW5jdGlvbiIhPXR5cGVvZiBpLmNvbXBvbmVudFdpbGxVcGRhdGV8fCgiZnVuY3Rpb24iPT10eXBlb2YgaS5jb21wb25lbnRXaWxsVXBkYXRlJiZpLmNvbXBvbmVudFdpbGxVcGRhdGUocixtLGQpLCJmdW5jdGlvbiI9PXR5cGVvZiBpLlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlJiZpLlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlKHIsbSxkKSksImZ1bmN0aW9uIj09dHlwZW9mIGkuY29tcG9uZW50RGlkVXBkYXRlJiYodC5mbGFnc3w9NCksImZ1bmN0aW9uIj09dHlwZW9mIGkuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUmJih0LmZsYWdzfD0xMDI0KSk6KCJmdW5jdGlvbiIhPXR5cGVvZiBpLmNvbXBvbmVudERpZFVwZGF0ZXx8bD09PWUubWVtb2l6ZWRQcm9wcyYmZj09PWUubWVtb2l6ZWRTdGF0ZXx8KHQuZmxhZ3N8PTQpLCJmdW5jdGlvbiIhPXR5cGVvZiBpLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlfHxsPT09ZS5tZW1vaXplZFByb3BzJiZmPT09ZS5tZW1vaXplZFN0YXRlfHwodC5mbGFnc3w9MTAyNCksdC5tZW1vaXplZFByb3BzPXIsdC5tZW1vaXplZFN0YXRlPW0pLGkucHJvcHM9cixpLnN0YXRlPW0saS5jb250ZXh0PWQsYyk6KCJmdW5jdGlvbiIhPXR5cGVvZiBpLmNvbXBvbmVudERpZFVwZGF0ZXx8bD09PWUubWVtb2l6ZWRQcm9wcyYmZj09PWUubWVtb2l6ZWRTdGF0ZXx8KHQuZmxhZ3N8PTQpLCJmdW5jdGlvbiIhPXR5cGVvZiBpLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlfHxsPT09ZS5tZW1vaXplZFByb3BzJiZmPT09ZS5tZW1vaXplZFN0YXRlfHwodC5mbGFnc3w9MTAyNCksITEpKSxDbChlLHQsbixyLGEsbyl9ZnVuY3Rpb24gQ2woZSx0LG4scixvLGEpe3hsKGUsdCk7dmFyIGk9MCE9KDEyOCZ0LmZsYWdzKTtpZighciYmIWkpcmV0dXJuIG8mJldvKHQsbiwhMSksUmwoZSx0LGEpO3I9dC5zdGF0ZU5vZGUsZ2wuY3VycmVudD10O3ZhciBsPWkmJiJmdW5jdGlvbiIhPXR5cGVvZiBuLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcj9udWxsOnIucmVuZGVyKCk7cmV0dXJuIHQuZmxhZ3N8PTEsbnVsbCE9PWUmJmk/KHQuY2hpbGQ9bmkodCxlLmNoaWxkLG51bGwsYSksdC5jaGlsZD1uaSh0LG51bGwsbCxhKSk6QShlLHQsbCxhKSx0Lm1lbW9pemVkU3RhdGU9ci5zdGF0ZSxvJiZXbyh0LG4sITApLHQuY2hpbGR9ZnVuY3Rpb24gRWwoZSl7dmFyIHQ9ZS5zdGF0ZU5vZGU7dC5wZW5kaW5nQ29udGV4dD9IbygwLHQucGVuZGluZ0NvbnRleHQsdC5wZW5kaW5nQ29udGV4dCE9PXQuY29udGV4dCk6dC5jb250ZXh0JiZIbygwLHQuY29udGV4dCwhMSksdWkoZSx0LmNvbnRhaW5lckluZm8pfWZ1bmN0aW9uIE9sKGUsdCxuLHIsbyl7cmV0dXJuIHZhKCksd2EobyksdC5mbGFnc3w9MjU2LEEoZSx0LG4sciksdC5jaGlsZH12YXIgamw9e2RlaHlkcmF0ZWQ6bnVsbCx0cmVlQ29udGV4dDpudWxsLHJldHJ5TGFuZTowfTtmdW5jdGlvbiBBbChlKXtyZXR1cm57YmFzZUxhbmVzOmUsY2FjaGVQb29sOm51bGwsdHJhbnNpdGlvbnM6bnVsbH19ZnVuY3Rpb24gUGwoZSx0LG4pe3ZhciByLG8sYT10LnBlbmRpbmdQcm9wcyxpPVMuY3VycmVudCxsPSExLGM9MCE9KDEyOCZ0LmZsYWdzKTtpZigobz0obz1jKXx8KG51bGw9PT1lfHxudWxsIT09ZS5tZW1vaXplZFN0YXRlKSYmMCE9KDImaSkpPyhsPSEwLHQuZmxhZ3MmPS0xMjkpOm51bGwhPT1lJiZudWxsPT09ZS5tZW1vaXplZFN0YXRlfHwoaXw9MSksYihTLDEmaSksbnVsbD09PWUpcmV0dXJuIGhhKHQpLG51bGwhPT0oZT10Lm1lbW9pemVkU3RhdGUpJiZudWxsIT09KGU9ZS5kZWh5ZHJhdGVkKT8oMD09KDEmdC5tb2RlKT90LmxhbmVzPTE6IiQhIj09PWUuZGF0YT90LmxhbmVzPTg6dC5sYW5lcz0xMDczNzQxODI0LG51bGwpOihjPWEuY2hpbGRyZW4sZT1hLmZhbGxiYWNrLGw/KGE9dC5tb2RlLGw9dC5jaGlsZCxjPXttb2RlOiJoaWRkZW4iLGNoaWxkcmVuOmN9LDA9PSgxJmEpJiZudWxsIT09bD8obC5jaGlsZExhbmVzPTAsbC5wZW5kaW5nUHJvcHM9Yyk6bD1sdShjLGEsMCxudWxsKSxlPWl1KGUsYSxuLG51bGwpLGwucmV0dXJuPXQsZS5yZXR1cm49dCxsLnNpYmxpbmc9ZSx0LmNoaWxkPWwsdC5jaGlsZC5tZW1vaXplZFN0YXRlPUFsKG4pLHQubWVtb2l6ZWRTdGF0ZT1qbCxlKTpJbCh0LGMpKTtpZihudWxsPT09KGk9ZS5tZW1vaXplZFN0YXRlKXx8bnVsbD09PShvPWkuZGVoeWRyYXRlZCkpcmV0dXJuIGw/KGw9YS5mYWxsYmFjayxjPXQubW9kZSxvPShpPWUuY2hpbGQpLnNpYmxpbmcsdT17bW9kZToiaGlkZGVuIixjaGlsZHJlbjphLmNoaWxkcmVufSwwPT0oMSZjKSYmdC5jaGlsZCE9PWk/KChhPXQuY2hpbGQpLmNoaWxkTGFuZXM9MCxhLnBlbmRpbmdQcm9wcz11LHQuZGVsZXRpb25zPW51bGwpOihhPW91KGksdSkpLnN1YnRyZWVGbGFncz0xNDY4MDA2NCZpLnN1YnRyZWVGbGFncyxudWxsIT09bz9sPW91KG8sbCk6KGw9aXUobCxjLG4sbnVsbCkpLmZsYWdzfD0yLGwucmV0dXJuPXQsYS5yZXR1cm49dCxhLnNpYmxpbmc9bCx0LmNoaWxkPWEsYT1sLGw9dC5jaGlsZCxjPW51bGw9PT0oYz1lLmNoaWxkLm1lbW9pemVkU3RhdGUpP0FsKG4pOntiYXNlTGFuZXM6Yy5iYXNlTGFuZXN8bixjYWNoZVBvb2w6bnVsbCx0cmFuc2l0aW9uczpjLnRyYW5zaXRpb25zfSxsLm1lbW9pemVkU3RhdGU9YyxsLmNoaWxkTGFuZXM9ZS5jaGlsZExhbmVzJn5uLHQubWVtb2l6ZWRTdGF0ZT1qbCk6KGU9KGw9ZS5jaGlsZCkuc2libGluZyxhPW91KGwse21vZGU6InZpc2libGUiLGNoaWxkcmVuOmEuY2hpbGRyZW59KSwwPT0oMSZ0Lm1vZGUpJiYoYS5sYW5lcz1uKSxhLnJldHVybj10LChhLnNpYmxpbmc9bnVsbCkhPT1lJiYobnVsbD09PShuPXQuZGVsZXRpb25zKT8odC5kZWxldGlvbnM9W2VdLHQuZmxhZ3N8PTE2KTpuLnB1c2goZSkpLHQuY2hpbGQ9YSx0Lm1lbW9pemVkU3RhdGU9bnVsbCksYTt2YXIgdT1lLGw9dCxlPWEscz1vLHQ9aSxhPW47aWYoYylyZXR1cm4gMjU2JmwuZmxhZ3M/KGwuZmxhZ3MmPS0yNTcsZT1jbChFcnJvcihEKDQyMikpKSxfbCh1LGwsYSxlKSk6bnVsbCE9PWwubWVtb2l6ZWRTdGF0ZT8obC5jaGlsZD11LmNoaWxkLGwuZmxhZ3N8PTEyOCxudWxsKToodD1lLmZhbGxiYWNrLHM9bC5tb2RlLGU9bHUoe21vZGU6InZpc2libGUiLGNoaWxkcmVuOmUuY2hpbGRyZW59LHMsMCxudWxsKSwodD1pdSh0LHMsYSxudWxsKSkuZmxhZ3N8PTIsZS5yZXR1cm49bCx0LnJldHVybj1sLGUuc2libGluZz10LGwuY2hpbGQ9ZSwwIT0oMSZsLm1vZGUpJiZuaShsLHUuY2hpbGQsbnVsbCxhKSxsLmNoaWxkLm1lbW9pemVkU3RhdGU9QWwoYSksbC5tZW1vaXplZFN0YXRlPWpsLHQpO2lmKDA9PSgxJmwubW9kZSkpcmV0dXJuIF9sKHUsbCxhLG51bGwpO2lmKCIkISI9PT1zLmRhdGEpcmV0dXJuIGU9cj0oZT1zLm5leHRTaWJsaW5nJiZzLm5leHRTaWJsaW5nLmRhdGFzZXQpP2UuZGdzdDpyLHQ9RXJyb3IoRCg0MTkpKSxlPWNsKHQsZSx2b2lkIDApLF9sKHUsbCxhLGUpO2lmKHI9MCE9KGEmdS5jaGlsZExhbmVzKSxqfHxyKXtpZihudWxsIT09KGU9cCkpe3N3aXRjaChhJi1hKXtjYXNlIDQ6cz0yO2JyZWFrO2Nhc2UgMTY6cz04O2JyZWFrO2Nhc2UgNjQ6Y2FzZSAxMjg6Y2FzZSAyNTY6Y2FzZSA1MTI6Y2FzZSAxMDI0OmNhc2UgMjA0ODpjYXNlIDQwOTY6Y2FzZSA4MTkyOmNhc2UgMTYzODQ6Y2FzZSAzMjc2ODpjYXNlIDY1NTM2OmNhc2UgMTMxMDcyOmNhc2UgMjYyMTQ0OmNhc2UgNTI0Mjg4OmNhc2UgMTA0ODU3NjpjYXNlIDIwOTcxNTI6Y2FzZSA0MTk0MzA0OmNhc2UgODM4ODYwODpjYXNlIDE2Nzc3MjE2OmNhc2UgMzM1NTQ0MzI6Y2FzZSA2NzEwODg2NDpzPTMyO2JyZWFrO2Nhc2UgNTM2ODcwOTEyOnM9MjY4NDM1NDU2O2JyZWFrO2RlZmF1bHQ6cz0wfTAhPT0ocz0wIT0ocyYoZS5zdXNwZW5kZWRMYW5lc3xhKSk/MDpzKSYmcyE9PXQucmV0cnlMYW5lJiYodC5yZXRyeUxhbmU9cyxNYSh1LHMpLFRjKGUsdSxzLC0xKSl9cmV0dXJuIEdjKCksZT1jbChFcnJvcihEKDQyMSkpKSxfbCh1LGwsYSxlKX1yZXR1cm4iJD8iPT09cy5kYXRhPyhsLmZsYWdzfD0xMjgsbC5jaGlsZD11LmNoaWxkLGw9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5tZW1vaXplZFN0YXRlLG49MDtudWxsIT09dCYmKG49dC5yZXRyeUxhbmUpLEpjKGUsbil9LmJpbmQobnVsbCx1KSxzLl9yZWFjdFJldHJ5PWwsbnVsbCk6KHU9dC50cmVlQ29udGV4dCxrPVNvKHMubmV4dFNpYmxpbmcpLHNhPWwsVT0hMCwoZmE9bnVsbCkhPT11JiYodGFbbmErK109b2EsdGFbbmErK109YWEsdGFbbmErK109cmEsb2E9dS5pZCxhYT11Lm92ZXJmbG93LHJhPWwpLChsPUlsKGwsZS5jaGlsZHJlbikpLmZsYWdzfD00MDk2LGwpfWZ1bmN0aW9uIElsKGUsdCl7cmV0dXJuKCh0PWx1KHttb2RlOiJ2aXNpYmxlIixjaGlsZHJlbjp0fSxlLm1vZGUsMCxudWxsKSkucmV0dXJuPWUpLmNoaWxkPXR9ZnVuY3Rpb24gX2woZSx0LG4scil7cmV0dXJuIG51bGwhPT1yJiZ3YShyKSxuaSh0LGUuY2hpbGQsbnVsbCxuKSwoZT1JbCh0LHQucGVuZGluZ1Byb3BzLmNoaWxkcmVuKSkuZmxhZ3N8PTIsdC5tZW1vaXplZFN0YXRlPW51bGwsZX1mdW5jdGlvbiB6bChlLHQsbil7ZS5sYW5lc3w9dDt2YXIgcj1lLmFsdGVybmF0ZTtudWxsIT09ciYmKHIubGFuZXN8PXQpLFBhKGUucmV0dXJuLHQsbil9ZnVuY3Rpb24gVGwoZSx0LG4scixvKXt2YXIgYT1lLm1lbW9pemVkU3RhdGU7bnVsbD09PWE/ZS5tZW1vaXplZFN0YXRlPXtpc0JhY2t3YXJkczp0LHJlbmRlcmluZzpudWxsLHJlbmRlcmluZ1N0YXJ0VGltZTowLGxhc3Q6cix0YWlsOm4sdGFpbE1vZGU6b306KGEuaXNCYWNrd2FyZHM9dCxhLnJlbmRlcmluZz1udWxsLGEucmVuZGVyaW5nU3RhcnRUaW1lPTAsYS5sYXN0PXIsYS50YWlsPW4sYS50YWlsTW9kZT1vKX1mdW5jdGlvbiBMbChlLHQsbil7dmFyIHI9dC5wZW5kaW5nUHJvcHMsbz1yLnJldmVhbE9yZGVyLGE9ci50YWlsO2lmKEEoZSx0LHIuY2hpbGRyZW4sbiksMCE9KDImKHI9Uy5jdXJyZW50KSkpcj0xJnJ8Mix0LmZsYWdzfD0xMjg7ZWxzZXtpZihudWxsIT09ZSYmMCE9KDEyOCZlLmZsYWdzKSllOmZvcihlPXQuY2hpbGQ7bnVsbCE9PWU7KXtpZigxMz09PWUudGFnKW51bGwhPT1lLm1lbW9pemVkU3RhdGUmJnpsKGUsbix0KTtlbHNlIGlmKDE5PT09ZS50YWcpemwoZSxuLHQpO2Vsc2UgaWYobnVsbCE9PWUuY2hpbGQpe2U9KGUuY2hpbGQucmV0dXJuPWUpLmNoaWxkO2NvbnRpbnVlfWlmKGU9PT10KWJyZWFrO2Zvcig7bnVsbD09PWUuc2libGluZzspe2lmKG51bGw9PT1lLnJldHVybnx8ZS5yZXR1cm49PT10KWJyZWFrIGU7ZT1lLnJldHVybn1lLnNpYmxpbmcucmV0dXJuPWUucmV0dXJuLGU9ZS5zaWJsaW5nfXImPTF9aWYoYihTLHIpLDA9PSgxJnQubW9kZSkpdC5tZW1vaXplZFN0YXRlPW51bGw7ZWxzZSBzd2l0Y2gobyl7Y2FzZSJmb3J3YXJkcyI6Zm9yKG49dC5jaGlsZCxvPW51bGw7bnVsbCE9PW47KW51bGwhPT0oZT1uLmFsdGVybmF0ZSkmJm51bGw9PT1waShlKSYmKG89biksbj1uLnNpYmxpbmc7bnVsbD09PShuPW8pPyhvPXQuY2hpbGQsdC5jaGlsZD1udWxsKToobz1uLnNpYmxpbmcsbi5zaWJsaW5nPW51bGwpLFRsKHQsITEsbyxuLGEpO2JyZWFrO2Nhc2UiYmFja3dhcmRzIjpmb3Iobz10LmNoaWxkLHQuY2hpbGQ9bj1udWxsO251bGwhPT1vOyl7aWYobnVsbCE9PShlPW8uYWx0ZXJuYXRlKSYmbnVsbD09PXBpKGUpKXt0LmNoaWxkPW87YnJlYWt9ZT1vLnNpYmxpbmcsby5zaWJsaW5nPW4sbj1vLG89ZX1UbCh0LCEwLG4sbnVsbCxhKTticmVhaztjYXNlInRvZ2V0aGVyIjpUbCh0LCExLG51bGwsbnVsbCx2b2lkIDApO2JyZWFrO2RlZmF1bHQ6dC5tZW1vaXplZFN0YXRlPW51bGx9cmV0dXJuIHQuY2hpbGR9ZnVuY3Rpb24gTWwoZSx0KXswPT0oMSZ0Lm1vZGUpJiZudWxsIT09ZSYmKGUuYWx0ZXJuYXRlPW51bGwsdC5hbHRlcm5hdGU9bnVsbCx0LmZsYWdzfD0yKX1mdW5jdGlvbiBSbChlLHQsbil7aWYobnVsbCE9PWUmJih0LmRlcGVuZGVuY2llcz1lLmRlcGVuZGVuY2llcyksaGN8PXQubGFuZXMsMD09KG4mdC5jaGlsZExhbmVzKSlyZXR1cm4gbnVsbDtpZihudWxsIT09ZSYmdC5jaGlsZCE9PWUuY2hpbGQpdGhyb3cgRXJyb3IoRCgxNTMpKTtpZihudWxsIT09dC5jaGlsZCl7Zm9yKG49b3UoZT10LmNoaWxkLGUucGVuZGluZ1Byb3BzKSwodC5jaGlsZD1uKS5yZXR1cm49dDtudWxsIT09ZS5zaWJsaW5nOyllPWUuc2libGluZywobj1uLnNpYmxpbmc9b3UoZSxlLnBlbmRpbmdQcm9wcykpLnJldHVybj10O24uc2libGluZz1udWxsfXJldHVybiB0LmNoaWxkfWZ1bmN0aW9uIE5sKGUsdCl7aWYoIVUpc3dpdGNoKGUudGFpbE1vZGUpe2Nhc2UiaGlkZGVuIjp0PWUudGFpbDtmb3IodmFyIG49bnVsbDtudWxsIT09dDspbnVsbCE9PXQuYWx0ZXJuYXRlJiYobj10KSx0PXQuc2libGluZztudWxsPT09bj9lLnRhaWw9bnVsbDpuLnNpYmxpbmc9bnVsbDticmVhaztjYXNlImNvbGxhcHNlZCI6Zm9yKHZhciBuPWUudGFpbCxyPW51bGw7bnVsbCE9PW47KW51bGwhPT1uLmFsdGVybmF0ZSYmKHI9biksbj1uLnNpYmxpbmc7bnVsbD09PXI/dHx8bnVsbD09PWUudGFpbD9lLnRhaWw9bnVsbDplLnRhaWwuc2libGluZz1udWxsOnIuc2libGluZz1udWxsfX1mdW5jdGlvbiBmKGUpe3ZhciB0PW51bGwhPT1lLmFsdGVybmF0ZSYmZS5hbHRlcm5hdGUuY2hpbGQ9PT1lLmNoaWxkLG49MCxyPTA7aWYodClmb3IodmFyIG89ZS5jaGlsZDtudWxsIT09bzspbnw9by5sYW5lc3xvLmNoaWxkTGFuZXMscj0ocnw9MTQ2ODAwNjQmby5zdWJ0cmVlRmxhZ3MpfDE0NjgwMDY0Jm8uZmxhZ3Msby5yZXR1cm49ZSxvPW8uc2libGluZztlbHNlIGZvcihvPWUuY2hpbGQ7bnVsbCE9PW87KW58PW8ubGFuZXN8by5jaGlsZExhbmVzLHI9KHJ8PW8uc3VidHJlZUZsYWdzKXxvLmZsYWdzLG8ucmV0dXJuPWUsbz1vLnNpYmxpbmc7ZS5zdWJ0cmVlRmxhZ3N8PXIsZS5jaGlsZExhbmVzPW59dmFyIERsPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPXQuY2hpbGQ7bnVsbCE9PW47KXtpZig1PT09bi50YWd8fDY9PT1uLnRhZyllLmFwcGVuZENoaWxkKG4uc3RhdGVOb2RlKTtlbHNlIGlmKDQhPT1uLnRhZyYmbnVsbCE9PW4uY2hpbGQpe249KG4uY2hpbGQucmV0dXJuPW4pLmNoaWxkO2NvbnRpbnVlfWlmKG49PT10KWJyZWFrO2Zvcig7bnVsbD09PW4uc2libGluZzspe2lmKG51bGw9PT1uLnJldHVybnx8bi5yZXR1cm49PT10KXJldHVybjtuPW4ucmV0dXJufW4uc2libGluZy5yZXR1cm49bi5yZXR1cm4sbj1uLnNpYmxpbmd9fSxVbD1mdW5jdGlvbihlLHQsbixyKXt2YXIgbz1lLm1lbW9pemVkUHJvcHM7aWYobyE9PXIpe2U9dC5zdGF0ZU5vZGUsY2koYWkuY3VycmVudCk7dmFyIGEsaT1udWxsO3N3aXRjaChuKXtjYXNlImlucHV0IjpvPUVlKGUsbykscj1FZShlLHIpLGk9W107YnJlYWs7Y2FzZSJzZWxlY3QiOm89Zyh7fSxvLHt2YWx1ZTp2b2lkIDB9KSxyPWcoe30scix7dmFsdWU6dm9pZCAwfSksaT1bXTticmVhaztjYXNlInRleHRhcmVhIjpvPVRlKGUsbykscj1UZShlLHIpLGk9W107YnJlYWs7ZGVmYXVsdDoiZnVuY3Rpb24iIT10eXBlb2Ygby5vbkNsaWNrJiYiZnVuY3Rpb24iPT10eXBlb2Ygci5vbkNsaWNrJiYoZS5vbmNsaWNrPXBvKX1mb3IodSBpbiBaZShuLHIpLG49bnVsbCxvKWlmKCFyLmhhc093blByb3BlcnR5KHUpJiZvLmhhc093blByb3BlcnR5KHUpJiZudWxsIT1vW3VdKWlmKCJzdHlsZSI9PT11KXt2YXIgbD1vW3VdO2ZvcihhIGluIGwpbC5oYXNPd25Qcm9wZXJ0eShhKSYmKG49bnx8e30sblthXT0iIil9ZWxzZSJkYW5nZXJvdXNseVNldElubmVySFRNTCIhPT11JiYiY2hpbGRyZW4iIT09dSYmInN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyIhPT11JiYic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIiE9PXUmJiJhdXRvRm9jdXMiIT09dSYmKEguaGFzT3duUHJvcGVydHkodSk/aT1pfHxbXTooaT1pfHxbXSkucHVzaCh1LG51bGwpKTtmb3IodSBpbiByKXt2YXIgYz1yW3VdLGw9bnVsbCE9bz9vW3VdOnZvaWQgMDtpZihyLmhhc093blByb3BlcnR5KHUpJiZjIT09bCYmKG51bGwhPWN8fG51bGwhPWwpKWlmKCJzdHlsZSI9PT11KWlmKGwpe2ZvcihhIGluIGwpIWwuaGFzT3duUHJvcGVydHkoYSl8fGMmJmMuaGFzT3duUHJvcGVydHkoYSl8fChuPW58fHt9LG5bYV09IiIpO2ZvcihhIGluIGMpYy5oYXNPd25Qcm9wZXJ0eShhKSYmbFthXSE9PWNbYV0mJihuPW58fHt9LG5bYV09Y1thXSl9ZWxzZSBufHwoaT1pfHxbXSkucHVzaCh1LG4pLG49YztlbHNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj09PXU/KGM9Yz9jLl9faHRtbDp2b2lkIDAsbD1sP2wuX19odG1sOnZvaWQgMCxudWxsIT1jJiZsIT09YyYmKGk9aXx8W10pLnB1c2godSxjKSk6ImNoaWxkcmVuIj09PXU/InN0cmluZyIhPXR5cGVvZiBjJiYibnVtYmVyIiE9dHlwZW9mIGN8fChpPWl8fFtdKS5wdXNoKHUsIiIrYyk6InN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyIhPT11JiYic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIiE9PXUmJihILmhhc093blByb3BlcnR5KHUpPyhudWxsIT1jJiYib25TY3JvbGwiPT09dSYmcygic2Nyb2xsIixlKSxpfHxsPT09Y3x8KGk9W10pKTooaT1pfHxbXSkucHVzaCh1LGMpKX1uJiYoaT1pfHxbXSkucHVzaCgic3R5bGUiLG4pO3ZhciB1PWk7KHQudXBkYXRlUXVldWU9dSkmJih0LmZsYWdzfD00KX19LEJsPWZ1bmN0aW9uKGUsdCxuLHIpe24hPT1yJiYodC5mbGFnc3w9NCl9LEZsPSExLFA9ITEsSGw9ImZ1bmN0aW9uIj09dHlwZW9mIFdlYWtTZXQ/V2Vha1NldDpTZXQsST1udWxsO2Z1bmN0aW9uIFZsKHQsbil7dmFyIGU9dC5yZWY7aWYobnVsbCE9PWUpaWYoImZ1bmN0aW9uIj09dHlwZW9mIGUpdHJ5e2UobnVsbCl9Y2F0Y2goZSl7TSh0LG4sZSl9ZWxzZSBlLmN1cnJlbnQ9bnVsbH1mdW5jdGlvbiAkbCh0LG4sZSl7dHJ5e2UoKX1jYXRjaChlKXtNKHQsbixlKX19dmFyIFdsPSExO2Z1bmN0aW9uIEdsKGUsdCxuKXt2YXIgcj10LnVwZGF0ZVF1ZXVlO2lmKG51bGwhPT0ocj1udWxsIT09cj9yLmxhc3RFZmZlY3Q6bnVsbCkpe3ZhciBvLGE9cj1yLm5leHQ7ZG97fXdoaWxlKChhLnRhZyZlKT09PWUmJihvPWEuZGVzdHJveSwoYS5kZXN0cm95PXZvaWQgMCkhPT1vKSYmJGwodCxuLG8pLChhPWEubmV4dCkhPT1yKX19ZnVuY3Rpb24gcWwoZSx0KXtpZihudWxsIT09KHQ9bnVsbCE9PSh0PXQudXBkYXRlUXVldWUpP3QubGFzdEVmZmVjdDpudWxsKSl7dmFyIG4scj10PXQubmV4dDtkb3t9d2hpbGUoKHIudGFnJmUpPT09ZSYmKG49ci5jcmVhdGUsci5kZXN0cm95PW4oKSksKHI9ci5uZXh0KSE9PXQpfX1mdW5jdGlvbiBabChlKXt2YXIgdCxuPWUucmVmO251bGwhPT1uJiYodD1lLnN0YXRlTm9kZSxlLnRhZyxlPXQsImZ1bmN0aW9uIj09dHlwZW9mIG4/bihlKTpuLmN1cnJlbnQ9ZSl9ZnVuY3Rpb24gWGwoZSl7cmV0dXJuIDU9PT1lLnRhZ3x8Mz09PWUudGFnfHw0PT09ZS50YWd9ZnVuY3Rpb24gWWwoZSl7ZTpmb3IoOzspe2Zvcig7bnVsbD09PWUuc2libGluZzspe2lmKG51bGw9PT1lLnJldHVybnx8WGwoZS5yZXR1cm4pKXJldHVybiBudWxsO2U9ZS5yZXR1cm59Zm9yKGUuc2libGluZy5yZXR1cm49ZS5yZXR1cm4sZT1lLnNpYmxpbmc7NSE9PWUudGFnJiY2IT09ZS50YWcmJjE4IT09ZS50YWc7KXtpZigyJmUuZmxhZ3MpY29udGludWUgZTtpZihudWxsPT09ZS5jaGlsZHx8ND09PWUudGFnKWNvbnRpbnVlIGU7ZT0oZS5jaGlsZC5yZXR1cm49ZSkuY2hpbGR9aWYoISgyJmUuZmxhZ3MpKXJldHVybiBlLnN0YXRlTm9kZX19dmFyIGQ9bnVsbCxRbD0hMTtmdW5jdGlvbiBLbChlLHQsbil7Zm9yKG49bi5jaGlsZDtudWxsIT09bjspSmwoZSx0LG4pLG49bi5zaWJsaW5nfWZ1bmN0aW9uIEpsKGUsdCxuKXtpZihfdCYmImZ1bmN0aW9uIj09dHlwZW9mIF90Lm9uQ29tbWl0RmliZXJVbm1vdW50KXRyeXtfdC5vbkNvbW1pdEZpYmVyVW5tb3VudChJdCxuKX1jYXRjaChlKXt9c3dpdGNoKG4udGFnKXtjYXNlIDU6UHx8Vmwobix0KTtjYXNlIDY6dmFyIHI9ZCxvPVFsO2Q9bnVsbCxLbChlLHQsbiksUWw9byxudWxsIT09KGQ9cikmJihRbD8oZT1kLG49bi5zdGF0ZU5vZGUsKDg9PT1lLm5vZGVUeXBlP2UucGFyZW50Tm9kZTplKS5yZW1vdmVDaGlsZChuKSk6ZC5yZW1vdmVDaGlsZChuLnN0YXRlTm9kZSkpO2JyZWFrO2Nhc2UgMTg6bnVsbCE9PWQmJihRbD8oZT1kLG49bi5zdGF0ZU5vZGUsOD09PWUubm9kZVR5cGU/a28oZS5wYXJlbnROb2RlLG4pOjE9PT1lLm5vZGVUeXBlJiZrbyhlLG4pLG1uKGUpKTprbyhkLG4uc3RhdGVOb2RlKSk7YnJlYWs7Y2FzZSA0OnI9ZCxvPVFsLGQ9bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyxRbD0hMCxLbChlLHQsbiksZD1yLFFsPW87YnJlYWs7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNDpjYXNlIDE1OmlmKCFQJiZudWxsIT09KHI9bi51cGRhdGVRdWV1ZSkmJm51bGwhPT0ocj1yLmxhc3RFZmZlY3QpKXtvPXI9ci5uZXh0O2Rve3ZhciBhPW8uZGVzdHJveSxpPW8udGFnfXdoaWxlKHZvaWQgMD09PWF8fDA9PSgyJmkpJiYwPT0oNCZpKXx8JGwobix0LGEpLChvPW8ubmV4dCkhPT1yKX1LbChlLHQsbik7YnJlYWs7Y2FzZSAxOmlmKCFQJiYoVmwobix0KSwiZnVuY3Rpb24iPT10eXBlb2Yocj1uLnN0YXRlTm9kZSkuY29tcG9uZW50V2lsbFVubW91bnQpKXRyeXtyLnByb3BzPW4ubWVtb2l6ZWRQcm9wcyxyLnN0YXRlPW4ubWVtb2l6ZWRTdGF0ZSxyLmNvbXBvbmVudFdpbGxVbm1vdW50KCl9Y2F0Y2goZSl7TShuLHQsZSl9S2woZSx0LG4pO2JyZWFrO2Nhc2UgMjE6S2woZSx0LG4pO2JyZWFrO2Nhc2UgMjI6MSZuLm1vZGU/KFA9KHI9UCl8fG51bGwhPT1uLm1lbW9pemVkU3RhdGUsS2woZSx0LG4pLFA9cik6S2woZSx0LG4pO2JyZWFrO2RlZmF1bHQ6S2woZSx0LG4pfX1mdW5jdGlvbiBlYyhuKXt2YXIgcixlPW4udXBkYXRlUXVldWU7bnVsbCE9PWUmJigobi51cGRhdGVRdWV1ZT1udWxsKT09PShyPW4uc3RhdGVOb2RlKSYmKHI9bi5zdGF0ZU5vZGU9bmV3IEhsKSxlLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIHQ9ZnVuY3Rpb24oZSx0KXt2YXIgbj0wO3N3aXRjaChlLnRhZyl7Y2FzZSAxMzp2YXIgcj1lLnN0YXRlTm9kZSxvPWUubWVtb2l6ZWRTdGF0ZTtudWxsIT09byYmKG49by5yZXRyeUxhbmUpO2JyZWFrO2Nhc2UgMTk6cj1lLnN0YXRlTm9kZTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKEQoMzE0KSl9bnVsbCE9PXImJnIuZGVsZXRlKHQpLEpjKGUsbil9LmJpbmQobnVsbCxuLGUpO3IuaGFzKGUpfHwoci5hZGQoZSksZS50aGVuKHQsdCkpfSkpfWZ1bmN0aW9uIHRjKGUsdCl7dmFyIG49dC5kZWxldGlvbnM7aWYobnVsbCE9PW4pZm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspe3ZhciBvPW5bcl07dHJ5e3ZhciBhPWUsaT10LGw9aTtlOmZvcig7bnVsbCE9PWw7KXtzd2l0Y2gobC50YWcpe2Nhc2UgNTpkPWwuc3RhdGVOb2RlLFFsPSExO2JyZWFrIGU7Y2FzZSAzOmNhc2UgNDpkPWwuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8sUWw9ITA7YnJlYWsgZX1sPWwucmV0dXJufWlmKG51bGw9PT1kKXRocm93IEVycm9yKEQoMTYwKSk7SmwoYSxpLG8pLGQ9bnVsbCxRbD0hMTt2YXIgYz1vLmFsdGVybmF0ZTtudWxsIT09YyYmKGMucmV0dXJuPW51bGwpLG8ucmV0dXJuPW51bGx9Y2F0Y2goZSl7TShvLHQsZSl9fWlmKDEyODU0JnQuc3VidHJlZUZsYWdzKWZvcih0PXQuY2hpbGQ7bnVsbCE9PXQ7KW5jKHQsZSksdD10LnNpYmxpbmd9ZnVuY3Rpb24gbmModCxlKXt2YXIgbj10LmFsdGVybmF0ZSxyPXQuZmxhZ3M7c3dpdGNoKHQudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE0OmNhc2UgMTU6aWYodGMoZSx0KSxyYyh0KSw0JnIpe3RyeXtHbCgzLHQsdC5yZXR1cm4pLHFsKDMsdCl9Y2F0Y2goZSl7TSh0LHQucmV0dXJuLGUpfXRyeXtHbCg1LHQsdC5yZXR1cm4pfWNhdGNoKGUpe00odCx0LnJldHVybixlKX19YnJlYWs7Y2FzZSAxOnRjKGUsdCkscmModCksNTEyJnImJm51bGwhPT1uJiZWbChuLG4ucmV0dXJuKTticmVhaztjYXNlIDU6aWYodGMoZSx0KSxyYyh0KSw1MTImciYmbnVsbCE9PW4mJlZsKG4sbi5yZXR1cm4pLDMyJnQuZmxhZ3Mpe3ZhciBvPXQuc3RhdGVOb2RlO3RyeXtIZShvLCIiKX1jYXRjaChlKXtNKHQsdC5yZXR1cm4sZSl9fWlmKDQmciYmbnVsbCE9KG89dC5zdGF0ZU5vZGUpKXt2YXIgYT10Lm1lbW9pemVkUHJvcHMsaT1udWxsIT09bj9uLm1lbW9pemVkUHJvcHM6YSxsPXQudHlwZSxjPXQudXBkYXRlUXVldWU7aWYoKHQudXBkYXRlUXVldWU9bnVsbCkhPT1jKXRyeXsiaW5wdXQiPT09bCYmInJhZGlvIj09PWEudHlwZSYmbnVsbCE9YS5uYW1lJiZqZShvLGEpLFhlKGwsaSk7Zm9yKHZhciB1PVhlKGwsYSksaT0wO2k8Yy5sZW5ndGg7aSs9Mil7dmFyIHM9Y1tpXSxmPWNbaSsxXTsic3R5bGUiPT09cz9HZShvLGYpOiJkYW5nZXJvdXNseVNldElubmVySFRNTCI9PT1zP0ZlKG8sZik6ImNoaWxkcmVuIj09PXM/SGUobyxmKTpLKG8scyxmLHUpfXN3aXRjaChsKXtjYXNlImlucHV0IjpBZShvLGEpO2JyZWFrO2Nhc2UidGV4dGFyZWEiOk1lKG8sYSk7YnJlYWs7Y2FzZSJzZWxlY3QiOnZhciBkPW8uX3dyYXBwZXJTdGF0ZS53YXNNdWx0aXBsZSxwPShvLl93cmFwcGVyU3RhdGUud2FzTXVsdGlwbGU9ISFhLm11bHRpcGxlLGEudmFsdWUpO251bGwhPXA/emUobywhIWEubXVsdGlwbGUscCwhMSk6ZCE9PSEhYS5tdWx0aXBsZSYmKG51bGwhPWEuZGVmYXVsdFZhbHVlP3plKG8sISFhLm11bHRpcGxlLGEuZGVmYXVsdFZhbHVlLCEwKTp6ZShvLCEhYS5tdWx0aXBsZSxhLm11bHRpcGxlP1tdOiIiLCExKSl9b1tPb109YX1jYXRjaChlKXtNKHQsdC5yZXR1cm4sZSl9fWJyZWFrO2Nhc2UgNjppZih0YyhlLHQpLHJjKHQpLDQmcil7aWYobnVsbD09PXQuc3RhdGVOb2RlKXRocm93IEVycm9yKEQoMTYyKSk7bz10LnN0YXRlTm9kZSxhPXQubWVtb2l6ZWRQcm9wczt0cnl7by5ub2RlVmFsdWU9YX1jYXRjaChlKXtNKHQsdC5yZXR1cm4sZSl9fWJyZWFrO2Nhc2UgMzppZih0YyhlLHQpLHJjKHQpLDQmciYmbnVsbCE9PW4mJm4ubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpdHJ5e21uKGUuY29udGFpbmVySW5mbyl9Y2F0Y2goZSl7TSh0LHQucmV0dXJuLGUpfWJyZWFrO2Nhc2UgNDp0YyhlLHQpLHJjKHQpO2JyZWFrO2Nhc2UgMTM6dGMoZSx0KSxyYyh0KSw4MTkyJihvPXQuY2hpbGQpLmZsYWdzJiYoYT1udWxsIT09by5tZW1vaXplZFN0YXRlLCEoby5zdGF0ZU5vZGUuaXNIaWRkZW49YSl8fG51bGwhPT1vLmFsdGVybmF0ZSYmbnVsbCE9PW8uYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGV8fCh2Yz1oKCkpKSw0JnImJmVjKHQpO2JyZWFrO2Nhc2UgMjI6aWYocz1udWxsIT09biYmbnVsbCE9PW4ubWVtb2l6ZWRTdGF0ZSwxJnQubW9kZT8oUD0odT1QKXx8cyx0YyhlLHQpLFA9dSk6dGMoZSx0KSxyYyh0KSw4MTkyJnIpe2lmKHU9bnVsbCE9PXQubWVtb2l6ZWRTdGF0ZSwodC5zdGF0ZU5vZGUuaXNIaWRkZW49dSkmJiFzJiYwIT0oMSZ0Lm1vZGUpKWZvcihzPShJPXQpLmNoaWxkO251bGwhPT1zOyl7Zm9yKGY9ST1zO251bGwhPT1JOyl7c3dpdGNoKHA9KGQ9SSkuY2hpbGQsZC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTpHbCg0LGQsZC5yZXR1cm4pO2JyZWFrO2Nhc2UgMTpWbChkLGQucmV0dXJuKTt2YXIgbT1kLnN0YXRlTm9kZTtpZigiZnVuY3Rpb24iPT10eXBlb2YgbS5jb21wb25lbnRXaWxsVW5tb3VudCl7bj0ocj1kKS5yZXR1cm47dHJ5e2U9cixtLnByb3BzPWUubWVtb2l6ZWRQcm9wcyxtLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSxtLmNvbXBvbmVudFdpbGxVbm1vdW50KCl9Y2F0Y2goZSl7TShyLG4sZSl9fWJyZWFrO2Nhc2UgNTpWbChkLGQucmV0dXJuKTticmVhaztjYXNlIDIyOmlmKG51bGwhPT1kLm1lbW9pemVkU3RhdGUpe2ljKGYpO2NvbnRpbnVlfX1udWxsIT09cD8ocC5yZXR1cm49ZCxJPXApOmljKGYpfXM9cy5zaWJsaW5nfWU6Zm9yKHM9bnVsbCxmPXQ7Oyl7aWYoNT09PWYudGFnKXtpZihudWxsPT09cyl7cz1mO3RyeXtvPWYuc3RhdGVOb2RlLHU/ImZ1bmN0aW9uIj09dHlwZW9mKGE9by5zdHlsZSkuc2V0UHJvcGVydHk/YS5zZXRQcm9wZXJ0eSgiZGlzcGxheSIsIm5vbmUiLCJpbXBvcnRhbnQiKTphLmRpc3BsYXk9Im5vbmUiOihsPWYuc3RhdGVOb2RlLGk9bnVsbCE9KGM9Zi5tZW1vaXplZFByb3BzLnN0eWxlKSYmYy5oYXNPd25Qcm9wZXJ0eSgiZGlzcGxheSIpP2MuZGlzcGxheTpudWxsLGwuc3R5bGUuZGlzcGxheT1XZSgiZGlzcGxheSIsaSkpfWNhdGNoKGUpe00odCx0LnJldHVybixlKX19fWVsc2UgaWYoNj09PWYudGFnKXtpZihudWxsPT09cyl0cnl7Zi5zdGF0ZU5vZGUubm9kZVZhbHVlPXU/IiI6Zi5tZW1vaXplZFByb3BzfWNhdGNoKGUpe00odCx0LnJldHVybixlKX19ZWxzZSBpZigoMjIhPT1mLnRhZyYmMjMhPT1mLnRhZ3x8bnVsbD09PWYubWVtb2l6ZWRTdGF0ZXx8Zj09PXQpJiZudWxsIT09Zi5jaGlsZCl7Zj0oZi5jaGlsZC5yZXR1cm49ZikuY2hpbGQ7Y29udGludWV9aWYoZj09PXQpYnJlYWs7Zm9yKDtudWxsPT09Zi5zaWJsaW5nOyl7aWYobnVsbD09PWYucmV0dXJufHxmLnJldHVybj09PXQpYnJlYWsgZTtzPT09ZiYmKHM9bnVsbCksZj1mLnJldHVybn1zPT09ZiYmKHM9bnVsbCksZi5zaWJsaW5nLnJldHVybj1mLnJldHVybixmPWYuc2libGluZ319YnJlYWs7Y2FzZSAxOTp0YyhlLHQpLHJjKHQpLDQmciYmZWModCk7YnJlYWs7Y2FzZSAyMTpicmVhaztkZWZhdWx0OnRjKGUsdCkscmModCl9fWZ1bmN0aW9uIHJjKHQpe3ZhciBlPXQuZmxhZ3M7aWYoMiZlKXt0cnl7ZTp7Zm9yKHZhciBuPXQucmV0dXJuO251bGwhPT1uOyl7aWYoWGwobikpe3ZhciByPW47YnJlYWsgZX1uPW4ucmV0dXJufXRocm93IEVycm9yKEQoMTYwKSl9c3dpdGNoKHIudGFnKXtjYXNlIDU6dmFyIG89ci5zdGF0ZU5vZGU7MzImci5mbGFncyYmKEhlKG8sIiIpLHIuZmxhZ3MmPS0zMyksIWZ1bmN0aW9uIGUodCxuLHIpe3ZhciBvPXQudGFnO2lmKDU9PT1vfHw2PT09byl0PXQuc3RhdGVOb2RlLG4/ci5pbnNlcnRCZWZvcmUodCxuKTpyLmFwcGVuZENoaWxkKHQpO2Vsc2UgaWYoNCE9PW8mJm51bGwhPT0odD10LmNoaWxkKSlmb3IoZSh0LG4sciksdD10LnNpYmxpbmc7bnVsbCE9PXQ7KWUodCxuLHIpLHQ9dC5zaWJsaW5nfSh0LFlsKHQpLG8pO2JyZWFrO2Nhc2UgMzpjYXNlIDQ6dmFyIGE9ci5zdGF0ZU5vZGUuY29udGFpbmVySW5mbzshZnVuY3Rpb24gZSh0LG4scil7dmFyIG89dC50YWc7aWYoNT09PW98fDY9PT1vKXQ9dC5zdGF0ZU5vZGUsbj8oOD09PXIubm9kZVR5cGU/ci5wYXJlbnROb2RlOnIpLmluc2VydEJlZm9yZSh0LG4pOig4PT09ci5ub2RlVHlwZT8obj1yLnBhcmVudE5vZGUpLmluc2VydEJlZm9yZSh0LHIpOihuPXIpLmFwcGVuZENoaWxkKHQpLG51bGw9PShyPXIuX3JlYWN0Um9vdENvbnRhaW5lcikmJm51bGw9PT1uLm9uY2xpY2smJihuLm9uY2xpY2s9cG8pKTtlbHNlIGlmKDQhPT1vJiZudWxsIT09KHQ9dC5jaGlsZCkpZm9yKGUodCxuLHIpLHQ9dC5zaWJsaW5nO251bGwhPT10OyllKHQsbixyKSx0PXQuc2libGluZ30odCxZbCh0KSxhKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKEQoMTYxKSl9fWNhdGNoKGUpe00odCx0LnJldHVybixlKX10LmZsYWdzJj0tM300MDk2JmUmJih0LmZsYWdzJj0tNDA5Nyl9ZnVuY3Rpb24gb2MoZSx0LG4peyFmdW5jdGlvbiBlKHQsbixyKXtmb3IodmFyIG89MCE9KDEmdC5tb2RlKTtudWxsIT09STspe3ZhciBhPUksaT1hLmNoaWxkO2lmKDIyPT09YS50YWcmJm8pe3ZhciBsPW51bGwhPT1hLm1lbW9pemVkU3RhdGV8fEZsO2lmKCFsKXt2YXIgYz1hLmFsdGVybmF0ZSx1PW51bGwhPT1jJiZudWxsIT09Yy5tZW1vaXplZFN0YXRlfHxQLHM9KGM9RmwsUCk7aWYoRmw9bCwoUD11KSYmIXMpZm9yKEk9YTtudWxsIT09STspdT0obD1JKS5jaGlsZCwoMjIhPT1sLnRhZ3x8bnVsbD09PWwubWVtb2l6ZWRTdGF0ZSkmJm51bGwhPT11Pyh1LnJldHVybj1sLEk9dSk6bGMoYSk7Zm9yKDtudWxsIT09aTspZShJPWksbixyKSxpPWkuc2libGluZztJPWEsRmw9YyxQPXN9YWModCl9ZWxzZSAwIT0oODc3MiZhLnN1YnRyZWVGbGFncykmJm51bGwhPT1pPyhpLnJldHVybj1hLEk9aSk6YWModCl9fShJPWUsdCxuKX1mdW5jdGlvbiBhYyhlKXtmb3IoO251bGwhPT1JOyl7dmFyIHQ9STtpZigwIT0oODc3MiZ0LmZsYWdzKSl7dmFyIG4scixvLGE9dC5hbHRlcm5hdGU7dHJ5e2lmKDAhPSg4NzcyJnQuZmxhZ3MpKXN3aXRjaCh0LnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpQfHxxbCg1LHQpO2JyZWFrO2Nhc2UgMTp2YXIgaSxsPXQuc3RhdGVOb2RlLGM9KDQmdC5mbGFncyYmIVAmJihudWxsPT09YT9sLmNvbXBvbmVudERpZE1vdW50KCk6KGk9dC5lbGVtZW50VHlwZT09PXQudHlwZT9hLm1lbW9pemVkUHJvcHM6a2EodC50eXBlLGEubWVtb2l6ZWRQcm9wcyksbC5jb21wb25lbnREaWRVcGRhdGUoaSxhLm1lbW9pemVkU3RhdGUsbC5fX3JlYWN0SW50ZXJuYWxTbmFwc2hvdEJlZm9yZVVwZGF0ZSkpKSx0LnVwZGF0ZVF1ZXVlKTtudWxsIT09YyYmJGEoMCxjLGwpO2JyZWFrO2Nhc2UgMzp2YXIgdT10LnVwZGF0ZVF1ZXVlO2lmKG51bGwhPT11KXtpZigoYT1udWxsKSE9PXQuY2hpbGQpc3dpdGNoKHQuY2hpbGQudGFnKXtjYXNlIDU6Y2FzZSAxOmE9dC5jaGlsZC5zdGF0ZU5vZGV9JGEoMCx1LGEpfWJyZWFrO2Nhc2UgNTp2YXIgcz10LnN0YXRlTm9kZTtpZihudWxsPT09YSYmNCZ0LmZsYWdzKXt2YXIgYT1zLGY9dC5tZW1vaXplZFByb3BzO3N3aXRjaCh0LnR5cGUpe2Nhc2UiYnV0dG9uIjpjYXNlImlucHV0IjpjYXNlInNlbGVjdCI6Y2FzZSJ0ZXh0YXJlYSI6Zi5hdXRvRm9jdXMmJmEuZm9jdXMoKTticmVhaztjYXNlImltZyI6Zi5zcmMmJihhLnNyYz1mLnNyYyl9fWJyZWFrO2Nhc2UgNjpjYXNlIDQ6Y2FzZSAxMjpicmVhaztjYXNlIDEzOm51bGw9PT10Lm1lbW9pemVkU3RhdGUmJm51bGwhPT0obj10LmFsdGVybmF0ZSkmJm51bGwhPT0ocj1uLm1lbW9pemVkU3RhdGUpJiZudWxsIT09KG89ci5kZWh5ZHJhdGVkKSYmbW4obyk7YnJlYWs7Y2FzZSAxOTpjYXNlIDE3OmNhc2UgMjE6Y2FzZSAyMjpjYXNlIDIzOmNhc2UgMjU6YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcihEKDE2MykpfVB8fDUxMiZ0LmZsYWdzJiZabCh0KX1jYXRjaChlKXtNKHQsdC5yZXR1cm4sZSl9fWlmKHQ9PT1lKXtJPW51bGw7YnJlYWt9aWYobnVsbCE9PShhPXQuc2libGluZykpe2EucmV0dXJuPXQucmV0dXJuLEk9YTticmVha31JPXQucmV0dXJufX1mdW5jdGlvbiBpYyhlKXtmb3IoO251bGwhPT1JOyl7dmFyIHQ9STtpZih0PT09ZSl7ST1udWxsO2JyZWFrfXZhciBuPXQuc2libGluZztpZihudWxsIT09bil7bi5yZXR1cm49dC5yZXR1cm4sST1uO2JyZWFrfUk9dC5yZXR1cm59fWZ1bmN0aW9uIGxjKGUpe2Zvcig7bnVsbCE9PUk7KXt2YXIgdD1JO3RyeXtzd2l0Y2godC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6dmFyIG49dC5yZXR1cm47dHJ5e3FsKDQsdCl9Y2F0Y2goZSl7TSh0LG4sZSl9YnJlYWs7Y2FzZSAxOnZhciByPXQuc3RhdGVOb2RlO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiByLmNvbXBvbmVudERpZE1vdW50KXt2YXIgbz10LnJldHVybjt0cnl7ci5jb21wb25lbnREaWRNb3VudCgpfWNhdGNoKGUpe00odCxvLGUpfX12YXIgYT10LnJldHVybjt0cnl7WmwodCl9Y2F0Y2goZSl7TSh0LGEsZSl9YnJlYWs7Y2FzZSA1OnZhciBpPXQucmV0dXJuO3RyeXtabCh0KX1jYXRjaChlKXtNKHQsaSxlKX19fWNhdGNoKGUpe00odCx0LnJldHVybixlKX1pZih0PT09ZSl7ST1udWxsO2JyZWFrfXZhciBsPXQuc2libGluZztpZihudWxsIT09bCl7bC5yZXR1cm49dC5yZXR1cm4sST1sO2JyZWFrfUk9dC5yZXR1cm59fXZhciBjYz1NYXRoLmNlaWwsdWM9Si5SZWFjdEN1cnJlbnREaXNwYXRjaGVyLHNjPUouUmVhY3RDdXJyZW50T3duZXIsZmM9Si5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxfPTAscD1udWxsLHo9bnVsbCxUPTAsZGM9MCxwYz1ObygwKSxMPTAsbWM9bnVsbCxoYz0wLGdjPTAsYmM9MCx5Yz1udWxsLGw9bnVsbCx2Yz0wLHdjPTEvMCx4Yz1udWxsLGtjPSExLFNjPW51bGwsQ2M9bnVsbCxFYz0hMSxPYz1udWxsLGpjPTAsQWM9MCxQYz1udWxsLEljPS0xLF9jPTA7ZnVuY3Rpb24gbSgpe3JldHVybiAwIT0oNiZfKT9oKCk6LTEhPT1JYz9JYzpJYz1oKCl9ZnVuY3Rpb24gemMoZSl7cmV0dXJuIDA9PSgxJmUubW9kZSk/MTowIT0oMiZfKSYmMCE9PVQ/VCYtVDpudWxsIT09eGEudHJhbnNpdGlvbj9fYz0wPT09X2M/RnQoKTpfYzowPT09KGU9eCk/dm9pZCAwPT09KGU9d2luZG93LmV2ZW50KT8xNjprbihlLnR5cGUpOmV9ZnVuY3Rpb24gVGMoZSx0LG4scil7aWYoNTA8QWMpdGhyb3cgQWM9MCxQYz1udWxsLEVycm9yKEQoMTg1KSk7VnQoZSxuLHIpLDAhPSgyJl8pJiZlPT09cHx8KGU9PT1wJiYoMD09KDImXykmJihnY3w9biksND09PUwpJiZEYyhlLFQpLExjKGUsciksMT09PW4mJjA9PT1fJiYwPT0oMSZ0Lm1vZGUpJiYod2M9aCgpKzUwMCxxbykmJllvKCkpfWZ1bmN0aW9uIExjKGUsdCl7dmFyIG4scj1lLmNhbGxiYWNrTm9kZSxvPShVdChlLHQpLER0KGUsZT09PXA/VDowKSk7aWYoMD09PW8pbnVsbCE9PXImJnh0KHIpLGUuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTA7ZWxzZSBpZihlLmNhbGxiYWNrUHJpb3JpdHkhPT0odD1vJi1vKSl7aWYobnVsbCE9ciYmeHQociksMT09PXQpMD09PWUudGFnPyhuPVVjLmJpbmQobnVsbCxlKSxxbz0hMCxYbyhuKSk6WG8oVWMuYmluZChudWxsLGUpKSx3byhmdW5jdGlvbigpezA9PSg2Jl8pJiZZbygpfSkscj1udWxsO2Vsc2V7c3dpdGNoKFd0KG8pKXtjYXNlIDE6cj1FdDticmVhaztjYXNlIDQ6cj1PdDticmVhaztjYXNlIDE2OnI9anQ7YnJlYWs7Y2FzZSA1MzY4NzA5MTI6cj1QdDticmVhaztkZWZhdWx0OnI9anR9cj1ldShyLE1jLmJpbmQobnVsbCxlKSl9ZS5jYWxsYmFja1ByaW9yaXR5PXQsZS5jYWxsYmFja05vZGU9cn19ZnVuY3Rpb24gTWModCxlKXtpZihJYz0tMSwoX2M9MCkhPSg2Jl8pKXRocm93IEVycm9yKEQoMzI3KSk7dmFyIG49dC5jYWxsYmFja05vZGU7aWYoUWMoKSYmdC5jYWxsYmFja05vZGUhPT1uKXJldHVybiBudWxsO3ZhciByPUR0KHQsdD09PXA/VDowKTtpZigwPT09cilyZXR1cm4gbnVsbDtpZigwIT0oMzAmcil8fDAhPShyJnQuZXhwaXJlZExhbmVzKXx8ZSllPXFjKHQscik7ZWxzZXtlPXI7dmFyIG89XyxhPShffD0yLFdjKCkpO2ZvcihwPT09dCYmVD09PWV8fCh4Yz1udWxsLHdjPWgoKSs1MDAsVmModCxlKSk7Oyl0cnl7Zm9yKDtudWxsIT09eiYmIWt0KCk7KVpjKHopO2JyZWFrfWNhdGNoKGUpeyRjKHQsZSl9amEoKSx1Yy5jdXJyZW50PWEsXz1vLGU9bnVsbCE9PXo/MDoocD1udWxsLFQ9MCxMKX1pZigwIT09ZSl7aWYoMT09PShlPTI9PT1lJiYwIT09KG89QnQodCkpP1JjKHQscj1vKTplKSl0aHJvdyBuPW1jLFZjKHQsMCksRGModCxyKSxMYyh0LGgoKSksbjtpZig2PT09ZSlEYyh0LHIpO2Vsc2V7aWYobz10LmN1cnJlbnQuYWx0ZXJuYXRlLDA9PSgzMCZyKSYmIWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1lOzspe2lmKDE2Mzg0JnQuZmxhZ3Mpe3ZhciBuPXQudXBkYXRlUXVldWU7aWYobnVsbCE9PW4mJm51bGwhPT0obj1uLnN0b3JlcykpZm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspe3ZhciBvPW5bcl0sYT1vLmdldFNuYXBzaG90O289by52YWx1ZTt0cnl7aWYoIWtyKGEoKSxvKSlyZXR1cm59Y2F0Y2goZSl7cmV0dXJufX19aWYobj10LmNoaWxkLDE2Mzg0JnQuc3VidHJlZUZsYWdzJiZudWxsIT09biluLnJldHVybj10LHQ9bjtlbHNle2lmKHQ9PT1lKWJyZWFrO2Zvcig7bnVsbD09PXQuc2libGluZzspe2lmKG51bGw9PT10LnJldHVybnx8dC5yZXR1cm49PT1lKXJldHVybiAxO3Q9dC5yZXR1cm59dC5zaWJsaW5nLnJldHVybj10LnJldHVybix0PXQuc2libGluZ319cmV0dXJuIDF9KG8pJiYxPT09KGU9Mj09PShlPXFjKHQscikpJiYwIT09KGE9QnQodCkpP1JjKHQscj1hKTplKSl0aHJvdyBuPW1jLFZjKHQsMCksRGModCxyKSxMYyh0LGgoKSksbjtzd2l0Y2godC5maW5pc2hlZFdvcms9byx0LmZpbmlzaGVkTGFuZXM9cixlKXtjYXNlIDA6Y2FzZSAxOnRocm93IEVycm9yKEQoMzQ1KSk7Y2FzZSAyOlljKHQsbCx4Yyk7YnJlYWs7Y2FzZSAzOmlmKERjKHQsciksKDEzMDAyMzQyNCZyKT09PXImJjEwPChlPXZjKzUwMC1oKCkpKXtpZigwIT09RHQodCwwKSlicmVhaztpZigoKG89dC5zdXNwZW5kZWRMYW5lcykmcikhPT1yKXttKCksdC5waW5nZWRMYW5lc3w9dC5zdXNwZW5kZWRMYW5lcyZvO2JyZWFrfXQudGltZW91dEhhbmRsZT1ibyhZYy5iaW5kKG51bGwsdCxsLHhjKSxlKX1lbHNlIFljKHQsbCx4Yyk7YnJlYWs7Y2FzZSA0OmlmKERjKHQsciksKDQxOTQyNDAmcikhPT1yKXtmb3IoZT10LmV2ZW50VGltZXMsbz0tMTswPHI7KXt2YXIgaT0zMS16dChyKSxhPTE8PGk7bzwoaT1lW2ldKSYmKG89aSksciY9fmF9cj1vLDEwPChyPSgocj1oKCktcik8MTIwPzEyMDpyPDQ4MD80ODA6cjwxMDgwPzEwODA6cjwxOTIwPzE5MjA6cjwzZTM/M2UzOnI8NDMyMD80MzIwOjE5NjAqY2Moci8xOTYwKSktcik/dC50aW1lb3V0SGFuZGxlPWJvKFljLmJpbmQobnVsbCx0LGwseGMpLHIpOlljKHQsbCx4Yyl9YnJlYWs7Y2FzZSA1OlljKHQsbCx4Yyk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcihEKDMyOSkpfX19cmV0dXJuIExjKHQsaCgpKSx0LmNhbGxiYWNrTm9kZT09PW4/TWMuYmluZChudWxsLHQpOm51bGx9ZnVuY3Rpb24gUmMoZSx0KXt2YXIgbj15YztyZXR1cm4gZS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkJiYoVmMoZSx0KS5mbGFnc3w9MjU2KSwyIT09KGU9cWMoZSx0KSkmJih0PWwsbD1uLG51bGwhPT10KSYmTmModCksZX1mdW5jdGlvbiBOYyhlKXtudWxsPT09bD9sPWU6bC5wdXNoLmFwcGx5KGwsZSl9ZnVuY3Rpb24gRGMoZSx0KXtmb3IodD10Jn5iYyZ+Z2MsZS5zdXNwZW5kZWRMYW5lc3w9dCxlLnBpbmdlZExhbmVzJj1+dCxlPWUuZXhwaXJhdGlvblRpbWVzOzA8dDspe3ZhciBuPTMxLXp0KHQpLHI9MTw8bjtlW25dPS0xLHQmPX5yfX1mdW5jdGlvbiBVYyhlKXtpZigwIT0oNiZfKSl0aHJvdyBFcnJvcihEKDMyNykpO1FjKCk7dmFyIHQ9RHQoZSwwKTtpZigwIT0oMSZ0KSl7dmFyIG4scj1xYyhlLHQpO2lmKDE9PT0ocj0wIT09ZS50YWcmJjI9PT1yJiYwIT09KG49QnQoZSkpP1JjKGUsdD1uKTpyKSl0aHJvdyByPW1jLFZjKGUsMCksRGMoZSx0KSxMYyhlLGgoKSkscjtpZig2PT09cil0aHJvdyBFcnJvcihEKDM0NSkpO2UuZmluaXNoZWRXb3JrPWUuY3VycmVudC5hbHRlcm5hdGUsZS5maW5pc2hlZExhbmVzPXQsWWMoZSxsLHhjKX1yZXR1cm4gTGMoZSxoKCkpLG51bGx9ZnVuY3Rpb24gQmMoZSx0KXt2YXIgbj1fO198PTE7dHJ5e3JldHVybiBlKHQpfWZpbmFsbHl7MD09PShfPW4pJiYod2M9aCgpKzUwMCxxbykmJllvKCl9fWZ1bmN0aW9uIEZjKGUpe251bGwhPT1PYyYmMD09PU9jLnRhZyYmMD09KDYmXykmJlFjKCk7dmFyIHQ9XyxuPShffD0xLGZjLnRyYW5zaXRpb24pLHI9eDt0cnl7aWYoZmMudHJhbnNpdGlvbj1udWxsLHg9MSxlKXJldHVybiBlKCl9ZmluYWxseXt4PXIsZmMudHJhbnNpdGlvbj1uLDA9PSg2JihfPXQpKSYmWW8oKX19ZnVuY3Rpb24gSGMoKXtkYz1wYy5jdXJyZW50LHUocGMpfWZ1bmN0aW9uIFZjKGUsdCl7ZS5maW5pc2hlZFdvcms9bnVsbCxlLmZpbmlzaGVkTGFuZXM9MDt2YXIgbixyLG8sYT1lLnRpbWVvdXRIYW5kbGU7aWYoLTEhPT1hJiYoZS50aW1lb3V0SGFuZGxlPS0xLHlvKGEpKSxudWxsIT09eilmb3IoYT16LnJldHVybjtudWxsIT09YTspe3ZhciBpPWE7c3dpdGNoKHVhKGkpLGkudGFnKXtjYXNlIDE6bnVsbCE9KGk9aS50eXBlLmNoaWxkQ29udGV4dFR5cGVzKSYmRm8oKTticmVhaztjYXNlIDM6c2koKSx1KHYpLHUoeSksaGkoKTticmVhaztjYXNlIDU6ZGkoaSk7YnJlYWs7Y2FzZSA0OnNpKCk7YnJlYWs7Y2FzZSAxMzpjYXNlIDE5OnUoUyk7YnJlYWs7Y2FzZSAxMDpBYShpLnR5cGUuX2NvbnRleHQpO2JyZWFrO2Nhc2UgMjI6Y2FzZSAyMzpIYygpfWE9YS5yZXR1cm59aWYoej1lPW91KChwPWUpLmN1cnJlbnQsbnVsbCksVD1kYz10LGJjPWdjPWhjPUw9MCwobD15Yz1tYz1udWxsKSE9PXphKXtmb3IodD0wO3Q8emEubGVuZ3RoO3QrKyludWxsIT09KGk9KGE9emFbdF0pLmludGVybGVhdmVkKSYmKGEuaW50ZXJsZWF2ZWQ9bnVsbCxuPWkubmV4dCxudWxsIT09KHI9YS5wZW5kaW5nKSYmKG89ci5uZXh0LHIubmV4dD1uLGkubmV4dD1vKSxhLnBlbmRpbmc9aSk7emE9bnVsbH1yZXR1cm4gZX1mdW5jdGlvbiAkYyhlLHQpe2Rve3ZhciBuPXo7dHJ5e2lmKGphKCksZ2kuY3VycmVudD1ybCx2aSl7Zm9yKHZhciByPUMubWVtb2l6ZWRTdGF0ZTtudWxsIT09cjspe3ZhciBvPXIucXVldWU7bnVsbCE9PW8mJihvLnBlbmRpbmc9bnVsbCkscj1yLm5leHR9dmk9ITF9aWYoTz1FPUM9bnVsbCx3aT0hMSx4aT15aT0wLChzYy5jdXJyZW50PW51bGwpPT09bnx8bnVsbD09PW4ucmV0dXJuKXtMPTEsbWM9dCx6PW51bGw7YnJlYWt9ZTp7dmFyIGE9ZSxpPW4ucmV0dXJuLGw9dDtpZih0PVQsKGc9bikuZmxhZ3N8PTMyNzY4LG51bGwhPT1sJiYib2JqZWN0Ij09dHlwZW9mIGwmJiJmdW5jdGlvbiI9PXR5cGVvZiBsLnRoZW4pe3ZhciBjLHU9bCxzPWcsZj1zLnRhZyxkPSgwIT0oMSZzLm1vZGUpfHwwIT09ZiYmMTEhPT1mJiYxNSE9PWZ8fCgoYz1zLmFsdGVybmF0ZSk/KHMudXBkYXRlUXVldWU9Yy51cGRhdGVRdWV1ZSxzLm1lbW9pemVkU3RhdGU9Yy5tZW1vaXplZFN0YXRlLHMubGFuZXM9Yy5sYW5lcyk6KHMudXBkYXRlUXVldWU9bnVsbCxzLm1lbW9pemVkU3RhdGU9bnVsbCkpLG1sKGkpKTtpZihudWxsIT09ZCl7ZC5mbGFncyY9LTI1NyxobChkLGksZywwLHQpLDEmZC5tb2RlJiZwbChhLHUsdCk7dmFyIHAsbD11LG09KHQ9ZCkudXBkYXRlUXVldWU7bnVsbD09PW0/KChwPW5ldyBTZXQpLmFkZChsKSx0LnVwZGF0ZVF1ZXVlPXApOm0uYWRkKGwpO2JyZWFrIGV9aWYoMD09KDEmdCkpe3BsKGEsdSx0KSxHYygpO2JyZWFrIGV9bD1FcnJvcihEKDQyNikpfWVsc2UgaWYoVSYmMSZnLm1vZGUpe3ZhciBoPW1sKGkpO2lmKG51bGwhPT1oKXswPT0oNjU1MzYmaC5mbGFncykmJihoLmZsYWdzfD0yNTYpLGhsKGgsaSxnLDAsdCksd2EobGwobCxnKSk7YnJlYWsgZX19YT1sPWxsKGwsZyksNCE9PUwmJihMPTIpLG51bGw9PT15Yz95Yz1bYV06eWMucHVzaChhKSxhPWk7ZG97c3dpdGNoKGEudGFnKXtjYXNlIDM6YS5mbGFnc3w9NjU1MzYsdCY9LXQsYS5sYW5lc3w9dCxIYShhLGZsKDAsbCx0KSk7YnJlYWsgZTtjYXNlIDE6dmFyIGc9bCxiPWEudHlwZSx5PWEuc3RhdGVOb2RlO2lmKDA9PSgxMjgmYS5mbGFncykmJigiZnVuY3Rpb24iPT10eXBlb2YgYi5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3J8fG51bGwhPT15JiYiZnVuY3Rpb24iPT10eXBlb2YgeS5jb21wb25lbnREaWRDYXRjaCYmKG51bGw9PT1DY3x8IUNjLmhhcyh5KSkpKXthLmZsYWdzfD02NTUzNix0Jj0tdCxhLmxhbmVzfD10LEhhKGEsZGwoYSxnLHQpKTticmVhayBlfX19d2hpbGUobnVsbCE9PShhPWEucmV0dXJuKSl9WGMobil9Y2F0Y2goZSl7dD1lLHo9PT1uJiZudWxsIT09biYmKHo9bi5yZXR1cm4pO2NvbnRpbnVlfWJyZWFrfXdoaWxlKDEpfWZ1bmN0aW9uIFdjKCl7dmFyIGU9dWMuY3VycmVudDtyZXR1cm4gdWMuY3VycmVudD1ybCxudWxsPT09ZT9ybDplfWZ1bmN0aW9uIEdjKCl7MCE9PUwmJjMhPT1MJiYyIT09THx8KEw9NCksbnVsbD09PXB8fDA9PSgyNjg0MzU0NTUmaGMpJiYwPT0oMjY4NDM1NDU1JmdjKXx8RGMocCxUKX1mdW5jdGlvbiBxYyh0LGUpe3ZhciBuPV8scj0oX3w9MixXYygpKTtmb3IocD09PXQmJlQ9PT1lfHwoeGM9bnVsbCxWYyh0LGUpKTs7KXRyeXtmb3IoO251bGwhPT16OylaYyh6KTticmVha31jYXRjaChlKXskYyh0LGUpfWlmKGphKCksXz1uLHVjLmN1cnJlbnQ9cixudWxsIT09eil0aHJvdyBFcnJvcihEKDI2MSkpO3JldHVybiBwPW51bGwsVD0wLEx9ZnVuY3Rpb24gWmMoZSl7dmFyIHQ9eXUoZS5hbHRlcm5hdGUsZSxkYyk7ZS5tZW1vaXplZFByb3BzPWUucGVuZGluZ1Byb3BzLG51bGw9PT10P1hjKGUpOno9dCxzYy5jdXJyZW50PW51bGx9ZnVuY3Rpb24gWGMoZSl7dmFyIHQ9ZTtkb3t2YXIgbj10LmFsdGVybmF0ZTtpZihlPXQucmV0dXJuLDA9PSgzMjc2OCZ0LmZsYWdzKSl7aWYobnVsbCE9PShuPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj10LnBlbmRpbmdQcm9wcztzd2l0Y2godWEodCksdC50YWcpe2Nhc2UgMjpjYXNlIDE2OmNhc2UgMTU6Y2FzZSAwOmNhc2UgMTE6Y2FzZSA3OmNhc2UgODpjYXNlIDEyOmNhc2UgOTpjYXNlIDE0OnJldHVybiBmKHQpLG51bGw7Y2FzZSAxOnJldHVybiB3KHQudHlwZSkmJkZvKCksZih0KSxudWxsO2Nhc2UgMzpyZXR1cm4gcj10LnN0YXRlTm9kZSxzaSgpLHUodiksdSh5KSxoaSgpLHIucGVuZGluZ0NvbnRleHQmJihyLmNvbnRleHQ9ci5wZW5kaW5nQ29udGV4dCxyLnBlbmRpbmdDb250ZXh0PW51bGwpLG51bGwhPT1lJiZudWxsIT09ZS5jaGlsZHx8KGJhKHQpP3QuZmxhZ3N8PTQ6bnVsbD09PWV8fGUubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQmJjA9PSgyNTYmdC5mbGFncyl8fCh0LmZsYWdzfD0xMDI0LG51bGwhPT1mYSYmKE5jKGZhKSxmYT1udWxsKSkpLGYodCksbnVsbDtjYXNlIDU6ZGkodCk7dmFyIG8sYT1jaShsaS5jdXJyZW50KTtpZihuPXQudHlwZSxudWxsIT09ZSYmbnVsbCE9dC5zdGF0ZU5vZGUpVWwoZSx0LG4sciksZS5yZWYhPT10LnJlZiYmKHQuZmxhZ3N8PTUxMix0LmZsYWdzfD0yMDk3MTUyKTtlbHNle2lmKCFyKXtpZihudWxsPT09dC5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IoRCgxNjYpKTtyZXR1cm4gZih0KSxudWxsfWlmKGU9Y2koYWkuY3VycmVudCksYmEodCkpe3I9dC5zdGF0ZU5vZGUsbj10LnR5cGU7dmFyIGksbCxjPXQubWVtb2l6ZWRQcm9wcztzd2l0Y2gocltFb109dCxyW09vXT1jLGU9MCE9KDEmdC5tb2RlKSxuKXtjYXNlImRpYWxvZyI6cygiY2FuY2VsIixyKSxzKCJjbG9zZSIscik7YnJlYWs7Y2FzZSJpZnJhbWUiOmNhc2Uib2JqZWN0IjpjYXNlImVtYmVkIjpzKCJsb2FkIixyKTticmVhaztjYXNlInZpZGVvIjpjYXNlImF1ZGlvIjpmb3IoYT0wO2E8WHIubGVuZ3RoO2ErKylzKFhyW2FdLHIpO2JyZWFrO2Nhc2Uic291cmNlIjpzKCJlcnJvciIscik7YnJlYWs7Y2FzZSJpbWciOmNhc2UiaW1hZ2UiOmNhc2UibGluayI6cygiZXJyb3IiLHIpLHMoImxvYWQiLHIpO2JyZWFrO2Nhc2UiZGV0YWlscyI6cygidG9nZ2xlIixyKTticmVhaztjYXNlImlucHV0IjpPZShyLGMpLHMoImludmFsaWQiLHIpO2JyZWFrO2Nhc2Uic2VsZWN0IjpyLl93cmFwcGVyU3RhdGU9e3dhc011bHRpcGxlOiEhYy5tdWx0aXBsZX0scygiaW52YWxpZCIscik7YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6TGUocixjKSxzKCJpbnZhbGlkIixyKX1mb3IoaSBpbiBaZShuLGMpLGE9bnVsbCxjKWMuaGFzT3duUHJvcGVydHkoaSkmJihsPWNbaV0sImNoaWxkcmVuIj09PWk/InN0cmluZyI9PXR5cGVvZiBsP3IudGV4dENvbnRlbnQhPT1sJiYoITAhPT1jLnN1cHByZXNzSHlkcmF0aW9uV2FybmluZyYmZm8oci50ZXh0Q29udGVudCxsLGUpLGE9WyJjaGlsZHJlbiIsbF0pOiJudW1iZXIiPT10eXBlb2YgbCYmci50ZXh0Q29udGVudCE9PSIiK2wmJighMCE9PWMuc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nJiZmbyhyLnRleHRDb250ZW50LGwsZSksYT1bImNoaWxkcmVuIiwiIitsXSk6SC5oYXNPd25Qcm9wZXJ0eShpKSYmbnVsbCE9bCYmIm9uU2Nyb2xsIj09PWkmJnMoInNjcm9sbCIscikpO3N3aXRjaChuKXtjYXNlImlucHV0IjprZShyKSxQZShyLGMsITApO2JyZWFrO2Nhc2UidGV4dGFyZWEiOmtlKHIpLFJlKHIpO2JyZWFrO2Nhc2Uic2VsZWN0IjpjYXNlIm9wdGlvbiI6YnJlYWs7ZGVmYXVsdDoiZnVuY3Rpb24iPT10eXBlb2YgYy5vbkNsaWNrJiYoci5vbmNsaWNrPXBvKX1yPWEsbnVsbCE9PSh0LnVwZGF0ZVF1ZXVlPXIpJiYodC5mbGFnc3w9NCl9ZWxzZXtpPTk9PT1hLm5vZGVUeXBlP2E6YS5vd25lckRvY3VtZW50LCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj09PShlPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj09PWU/TmUobik6ZSk/InNjcmlwdCI9PT1uPygoZT1pLmNyZWF0ZUVsZW1lbnQoImRpdiIpKS5pbm5lckhUTUw9IjxzY3JpcHQ+PFwvc2NyaXB0PiIsZT1lLnJlbW92ZUNoaWxkKGUuZmlyc3RDaGlsZCkpOiJzdHJpbmciPT10eXBlb2Ygci5pcz9lPWkuY3JlYXRlRWxlbWVudChuLHtpczpyLmlzfSk6KGU9aS5jcmVhdGVFbGVtZW50KG4pLCJzZWxlY3QiPT09biYmKGk9ZSxyLm11bHRpcGxlP2kubXVsdGlwbGU9ITA6ci5zaXplJiYoaS5zaXplPXIuc2l6ZSkpKTplPWkuY3JlYXRlRWxlbWVudE5TKGUsbiksZVtFb109dCxlW09vXT1yLERsKGUsdCksdC5zdGF0ZU5vZGU9ZTtlOntzd2l0Y2goaT1YZShuLHIpLG4pe2Nhc2UiZGlhbG9nIjpzKCJjYW5jZWwiLGUpLHMoImNsb3NlIixlKSxhPXI7YnJlYWs7Y2FzZSJpZnJhbWUiOmNhc2Uib2JqZWN0IjpjYXNlImVtYmVkIjpzKCJsb2FkIixlKSxhPXI7YnJlYWs7Y2FzZSJ2aWRlbyI6Y2FzZSJhdWRpbyI6Zm9yKGE9MDthPFhyLmxlbmd0aDthKyspcyhYclthXSxlKTthPXI7YnJlYWs7Y2FzZSJzb3VyY2UiOnMoImVycm9yIixlKSxhPXI7YnJlYWs7Y2FzZSJpbWciOmNhc2UiaW1hZ2UiOmNhc2UibGluayI6cygiZXJyb3IiLGUpLHMoImxvYWQiLGUpLGE9cjticmVhaztjYXNlImRldGFpbHMiOnMoInRvZ2dsZSIsZSksYT1yO2JyZWFrO2Nhc2UiaW5wdXQiOk9lKGUsciksYT1FZShlLHIpLHMoImludmFsaWQiLGUpO2JyZWFrO2Nhc2Uib3B0aW9uIjphPXI7YnJlYWs7Y2FzZSJzZWxlY3QiOmUuX3dyYXBwZXJTdGF0ZT17d2FzTXVsdGlwbGU6ISFyLm11bHRpcGxlfSxhPWcoe30scix7dmFsdWU6dm9pZCAwfSkscygiaW52YWxpZCIsZSk7YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6TGUoZSxyKSxhPVRlKGUscikscygiaW52YWxpZCIsZSk7YnJlYWs7ZGVmYXVsdDphPXJ9Zm9yKGMgaW4gWmUobixhKSxsPWEpbC5oYXNPd25Qcm9wZXJ0eShjKSYmKG89bFtjXSwic3R5bGUiPT09Yz9HZShlLG8pOiJkYW5nZXJvdXNseVNldElubmVySFRNTCI9PT1jP251bGwhPShvPW8/by5fX2h0bWw6dm9pZCAwKSYmRmUoZSxvKToiY2hpbGRyZW4iPT09Yz8ic3RyaW5nIj09dHlwZW9mIG8/InRleHRhcmVhIj09PW4mJiIiPT09b3x8SGUoZSxvKToibnVtYmVyIj09dHlwZW9mIG8mJkhlKGUsIiIrbyk6InN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyIhPT1jJiYic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIiE9PWMmJiJhdXRvRm9jdXMiIT09YyYmKEguaGFzT3duUHJvcGVydHkoYyk/bnVsbCE9byYmIm9uU2Nyb2xsIj09PWMmJnMoInNjcm9sbCIsZSk6bnVsbCE9byYmSyhlLGMsbyxpKSkpO3N3aXRjaChuKXtjYXNlImlucHV0IjprZShlKSxQZShlLHIsITEpO2JyZWFrO2Nhc2UidGV4dGFyZWEiOmtlKGUpLFJlKGUpO2JyZWFrO2Nhc2Uib3B0aW9uIjpudWxsIT1yLnZhbHVlJiZlLnNldEF0dHJpYnV0ZSgidmFsdWUiLCIiK3dlKHIudmFsdWUpKTticmVhaztjYXNlInNlbGVjdCI6ZS5tdWx0aXBsZT0hIXIubXVsdGlwbGUsbnVsbCE9KGM9ci52YWx1ZSk/emUoZSwhIXIubXVsdGlwbGUsYywhMSk6bnVsbCE9ci5kZWZhdWx0VmFsdWUmJnplKGUsISFyLm11bHRpcGxlLHIuZGVmYXVsdFZhbHVlLCEwKTticmVhaztkZWZhdWx0OiJmdW5jdGlvbiI9PXR5cGVvZiBhLm9uQ2xpY2smJihlLm9uY2xpY2s9cG8pfXN3aXRjaChuKXtjYXNlImJ1dHRvbiI6Y2FzZSJpbnB1dCI6Y2FzZSJzZWxlY3QiOmNhc2UidGV4dGFyZWEiOnI9ISFyLmF1dG9Gb2N1czticmVhayBlO2Nhc2UiaW1nIjpyPSEwO2JyZWFrIGU7ZGVmYXVsdDpyPSExfX1yJiYodC5mbGFnc3w9NCl9bnVsbCE9PXQucmVmJiYodC5mbGFnc3w9NTEyLHQuZmxhZ3N8PTIwOTcxNTIpfXJldHVybiBmKHQpLG51bGw7Y2FzZSA2OmlmKGUmJm51bGwhPXQuc3RhdGVOb2RlKUJsKDAsdCxlLm1lbW9pemVkUHJvcHMscik7ZWxzZXtpZigic3RyaW5nIiE9dHlwZW9mIHImJm51bGw9PT10LnN0YXRlTm9kZSl0aHJvdyBFcnJvcihEKDE2NikpO2lmKG49Y2kobGkuY3VycmVudCksY2koYWkuY3VycmVudCksYmEodCkpe2lmKHI9dC5zdGF0ZU5vZGUsbj10Lm1lbW9pemVkUHJvcHMscltFb109dCwoYz1yLm5vZGVWYWx1ZSE9PW4pJiZudWxsIT09KGU9c2EpKXN3aXRjaChlLnRhZyl7Y2FzZSAzOmZvKHIubm9kZVZhbHVlLG4sMCE9KDEmZS5tb2RlKSk7YnJlYWs7Y2FzZSA1OiEwIT09ZS5tZW1vaXplZFByb3BzLnN1cHByZXNzSHlkcmF0aW9uV2FybmluZyYmZm8oci5ub2RlVmFsdWUsbiwwIT0oMSZlLm1vZGUpKX1jJiYodC5mbGFnc3w9NCl9ZWxzZSgocj0oOT09PW4ubm9kZVR5cGU/bjpuLm93bmVyRG9jdW1lbnQpLmNyZWF0ZVRleHROb2RlKHIpKVtFb109dCkuc3RhdGVOb2RlPXJ9cmV0dXJuIGYodCksbnVsbDtjYXNlIDEzOmlmKHUoUykscj10Lm1lbW9pemVkU3RhdGUsbnVsbD09PWV8fG51bGwhPT1lLm1lbW9pemVkU3RhdGUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUuZGVoeWRyYXRlZCl7aWYoVSYmbnVsbCE9PWsmJjAhPSgxJnQubW9kZSkmJjA9PSgxMjgmdC5mbGFncykpeWEoKSx2YSgpLHQuZmxhZ3N8PTk4NTYwLGM9ITE7ZWxzZSBpZihjPWJhKHQpLG51bGwhPT1yJiZudWxsIT09ci5kZWh5ZHJhdGVkKXtpZihudWxsPT09ZSl7aWYoIWMpdGhyb3cgRXJyb3IoRCgzMTgpKTtpZighKGM9bnVsbCE9PShjPXQubWVtb2l6ZWRTdGF0ZSk/Yy5kZWh5ZHJhdGVkOm51bGwpKXRocm93IEVycm9yKEQoMzE3KSk7Y1tFb109dH1lbHNlIHZhKCksMD09KDEyOCZ0LmZsYWdzKSYmKHQubWVtb2l6ZWRTdGF0ZT1udWxsKSx0LmZsYWdzfD00O2YodCksYz0hMX1lbHNlIG51bGwhPT1mYSYmKE5jKGZhKSxmYT1udWxsKSxjPSEwO2lmKCFjKXJldHVybiA2NTUzNiZ0LmZsYWdzP3Q6bnVsbH1yZXR1cm4gMCE9KDEyOCZ0LmZsYWdzKT8odC5sYW5lcz1uLHQpOigocj1udWxsIT09cikhPT0obnVsbCE9PWUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUpJiZyJiYodC5jaGlsZC5mbGFnc3w9ODE5MiwwIT0oMSZ0Lm1vZGUpKSYmKG51bGw9PT1lfHwwIT0oMSZTLmN1cnJlbnQpPzA9PT1MJiYoTD0zKTpHYygpKSxudWxsIT09dC51cGRhdGVRdWV1ZSYmKHQuZmxhZ3N8PTQpLGYodCksbnVsbCk7Y2FzZSA0OnJldHVybiBzaSgpLG51bGw9PT1lJiZ0byh0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKSxmKHQpLG51bGw7Y2FzZSAxMDpyZXR1cm4gQWEodC50eXBlLl9jb250ZXh0KSxmKHQpLG51bGw7Y2FzZSAxNzpyZXR1cm4gdyh0LnR5cGUpJiZGbygpLGYodCksbnVsbDtjYXNlIDE5OmlmKHUoUyksbnVsbD09PShjPXQubWVtb2l6ZWRTdGF0ZSkpO2Vsc2V7aWYocj0wIT0oMTI4JnQuZmxhZ3MpLG51bGw9PT0oaT1jLnJlbmRlcmluZykpaWYocilObChjLCExKTtlbHNle2lmKDAhPT1MfHxudWxsIT09ZSYmMCE9KDEyOCZlLmZsYWdzKSlmb3IoZT10LmNoaWxkO251bGwhPT1lOyl7aWYobnVsbCE9PShpPXBpKGUpKSl7Zm9yKHQuZmxhZ3N8PTEyOCxObChjLCExKSxudWxsIT09KHI9aS51cGRhdGVRdWV1ZSkmJih0LnVwZGF0ZVF1ZXVlPXIsdC5mbGFnc3w9NCksdC5zdWJ0cmVlRmxhZ3M9MCxyPW4sbj10LmNoaWxkO251bGwhPT1uOyllPXIsKGM9bikuZmxhZ3MmPTE0NjgwMDY2LG51bGw9PT0oaT1jLmFsdGVybmF0ZSk/KGMuY2hpbGRMYW5lcz0wLGMubGFuZXM9ZSxjLmNoaWxkPW51bGwsYy5zdWJ0cmVlRmxhZ3M9MCxjLm1lbW9pemVkUHJvcHM9bnVsbCxjLm1lbW9pemVkU3RhdGU9bnVsbCxjLnVwZGF0ZVF1ZXVlPW51bGwsYy5kZXBlbmRlbmNpZXM9bnVsbCxjLnN0YXRlTm9kZT1udWxsKTooYy5jaGlsZExhbmVzPWkuY2hpbGRMYW5lcyxjLmxhbmVzPWkubGFuZXMsYy5jaGlsZD1pLmNoaWxkLGMuc3VidHJlZUZsYWdzPTAsYy5kZWxldGlvbnM9bnVsbCxjLm1lbW9pemVkUHJvcHM9aS5tZW1vaXplZFByb3BzLGMubWVtb2l6ZWRTdGF0ZT1pLm1lbW9pemVkU3RhdGUsYy51cGRhdGVRdWV1ZT1pLnVwZGF0ZVF1ZXVlLGMudHlwZT1pLnR5cGUsZT1pLmRlcGVuZGVuY2llcyxjLmRlcGVuZGVuY2llcz1udWxsPT09ZT9udWxsOntsYW5lczplLmxhbmVzLGZpcnN0Q29udGV4dDplLmZpcnN0Q29udGV4dH0pLG49bi5zaWJsaW5nO3JldHVybiBiKFMsMSZTLmN1cnJlbnR8MiksdC5jaGlsZH1lPWUuc2libGluZ31udWxsIT09Yy50YWlsJiZoKCk+d2MmJih0LmZsYWdzfD0xMjgsTmwoYywhKHI9ITApKSx0LmxhbmVzPTQxOTQzMDQpfWVsc2V7aWYoIXIpaWYobnVsbCE9PShlPXBpKGkpKSl7aWYodC5mbGFnc3w9MTI4LHI9ITAsbnVsbCE9PShuPWUudXBkYXRlUXVldWUpJiYodC51cGRhdGVRdWV1ZT1uLHQuZmxhZ3N8PTQpLE5sKGMsITApLG51bGw9PT1jLnRhaWwmJiJoaWRkZW4iPT09Yy50YWlsTW9kZSYmIWkuYWx0ZXJuYXRlJiYhVSlyZXR1cm4gZih0KSxudWxsfWVsc2UgMipoKCktYy5yZW5kZXJpbmdTdGFydFRpbWU+d2MmJjEwNzM3NDE4MjQhPT1uJiYodC5mbGFnc3w9MTI4LE5sKGMsIShyPSEwKSksdC5sYW5lcz00MTk0MzA0KTtjLmlzQmFja3dhcmRzPyhpLnNpYmxpbmc9dC5jaGlsZCx0LmNoaWxkPWkpOihudWxsIT09KG49Yy5sYXN0KT9uLnNpYmxpbmc9aTp0LmNoaWxkPWksYy5sYXN0PWkpfWlmKG51bGwhPT1jLnRhaWwpcmV0dXJuIHQ9Yy50YWlsLGMucmVuZGVyaW5nPXQsYy50YWlsPXQuc2libGluZyxjLnJlbmRlcmluZ1N0YXJ0VGltZT1oKCksdC5zaWJsaW5nPW51bGwsbj1TLmN1cnJlbnQsYihTLHI/MSZufDI6MSZuKSx0fXJldHVybiBmKHQpLG51bGw7Y2FzZSAyMjpjYXNlIDIzOnJldHVybiBIYygpLHI9bnVsbCE9PXQubWVtb2l6ZWRTdGF0ZSxudWxsIT09ZSYmbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSE9PXImJih0LmZsYWdzfD04MTkyKSxyJiYwIT0oMSZ0Lm1vZGUpPzAhPSgxMDczNzQxODI0JmRjKSYmKGYodCksNiZ0LnN1YnRyZWVGbGFncykmJih0LmZsYWdzfD04MTkyKTpmKHQpLG51bGw7Y2FzZSAyNDpjYXNlIDI1OnJldHVybiBudWxsfXRocm93IEVycm9yKEQoMTU2LHQudGFnKSl9KG4sdCxkYykpKXJldHVybiB2b2lkKHo9bil9ZWxzZXtpZihudWxsIT09KG49ZnVuY3Rpb24oZSx0KXtzd2l0Y2godWEodCksdC50YWcpe2Nhc2UgMTpyZXR1cm4gdyh0LnR5cGUpJiZGbygpLDY1NTM2JihlPXQuZmxhZ3MpPyh0LmZsYWdzPS02NTUzNyZlfDEyOCx0KTpudWxsO2Nhc2UgMzpyZXR1cm4gc2koKSx1KHYpLHUoeSksaGkoKSwwIT0oNjU1MzYmKGU9dC5mbGFncykpJiYwPT0oMTI4JmUpPyh0LmZsYWdzPS02NTUzNyZlfDEyOCx0KTpudWxsO2Nhc2UgNTpyZXR1cm4gZGkodCksbnVsbDtjYXNlIDEzOmlmKHUoUyksbnVsbCE9PShlPXQubWVtb2l6ZWRTdGF0ZSkmJm51bGwhPT1lLmRlaHlkcmF0ZWQpe2lmKG51bGw9PT10LmFsdGVybmF0ZSl0aHJvdyBFcnJvcihEKDM0MCkpO3ZhKCl9cmV0dXJuIDY1NTM2JihlPXQuZmxhZ3MpPyh0LmZsYWdzPS02NTUzNyZlfDEyOCx0KTpudWxsO2Nhc2UgMTk6cmV0dXJuIHUoUyksbnVsbDtjYXNlIDQ6cmV0dXJuIHNpKCksbnVsbDtjYXNlIDEwOnJldHVybiBBYSh0LnR5cGUuX2NvbnRleHQpLG51bGw7Y2FzZSAyMjpjYXNlIDIzOnJldHVybiBIYygpLG51bGw7ZGVmYXVsdDpyZXR1cm4gbnVsbH19KG4sdCkpKXJldHVybiBuLmZsYWdzJj0zMjc2Nyx2b2lkKHo9bik7aWYobnVsbD09PWUpcmV0dXJuIEw9Nix2b2lkKHo9bnVsbCk7ZS5mbGFnc3w9MzI3NjgsZS5zdWJ0cmVlRmxhZ3M9MCxlLmRlbGV0aW9ucz1udWxsfWlmKG51bGwhPT0odD10LnNpYmxpbmcpKXJldHVybiB2b2lkKHo9dCl9d2hpbGUoej10PWUsbnVsbCE9PXQpOzA9PT1MJiYoTD01KX1mdW5jdGlvbiBZYyhlLHQsbil7dmFyIHI9eCxvPWZjLnRyYW5zaXRpb247dHJ5e2ZjLnRyYW5zaXRpb249bnVsbCx4PTE7Zm9yKHZhciBhPWUsaT10LGw9bixjPXI7UWMoKSxudWxsIT09T2M7KTtpZigwIT0oNiZfKSl0aHJvdyBFcnJvcihEKDMyNykpO2w9YS5maW5pc2hlZFdvcms7dmFyIHU9YS5maW5pc2hlZExhbmVzO2lmKG51bGwhPT1sKXtpZihhLmZpbmlzaGVkV29yaz1udWxsLGEuZmluaXNoZWRMYW5lcz0wLGw9PT1hLmN1cnJlbnQpdGhyb3cgRXJyb3IoRCgxNzcpKTthLmNhbGxiYWNrTm9kZT1udWxsLGEuY2FsbGJhY2tQcmlvcml0eT0wO3ZhciBzLGYsZD1sLmxhbmVzfGwuY2hpbGRMYW5lcztpZighZnVuY3Rpb24oZSx0KXt2YXIgbj1lLnBlbmRpbmdMYW5lcyZ+dCxyPShlLnBlbmRpbmdMYW5lcz10LGUuc3VzcGVuZGVkTGFuZXM9MCxlLnBpbmdlZExhbmVzPTAsZS5leHBpcmVkTGFuZXMmPXQsZS5tdXRhYmxlUmVhZExhbmVzJj10LGUuZW50YW5nbGVkTGFuZXMmPXQsdD1lLmVudGFuZ2xlbWVudHMsZS5ldmVudFRpbWVzKTtmb3IoZT1lLmV4cGlyYXRpb25UaW1lczswPG47KXt2YXIgbz0zMS16dChuKSxhPTE8PG87dFtvXT0wLHJbb109LTEsZVtvXT0tMSxuJj1+YX19KGEsZCksYT09PXAmJih6PXA9bnVsbCxUPTApLDA9PSgyMDY0Jmwuc3VidHJlZUZsYWdzKSYmMD09KDIwNjQmbC5mbGFncyl8fEVjfHwoRWM9ITAsZXUoanQsZnVuY3Rpb24oKXtyZXR1cm4gUWMoKSxudWxsfSkpLGQ9MCE9KDE1OTkwJmwuZmxhZ3MpLDAhPSgxNTk5MCZsLnN1YnRyZWVGbGFncyl8fGQ/KGQ9ZmMudHJhbnNpdGlvbixmYy50cmFuc2l0aW9uPW51bGwscz14LHg9MSxmPV8sX3w9NCxzYy5jdXJyZW50PW51bGwsZnVuY3Rpb24oZSx0KXtpZihtbz1nbixqcihlPU9yKCkpKXtpZigic2VsZWN0aW9uU3RhcnQiaW4gZSl2YXIgbj17c3RhcnQ6ZS5zZWxlY3Rpb25TdGFydCxlbmQ6ZS5zZWxlY3Rpb25FbmR9O2Vsc2UgZTppZigoYT0obj0obj1lLm93bmVyRG9jdW1lbnQpJiZuLmRlZmF1bHRWaWV3fHx3aW5kb3cpLmdldFNlbGVjdGlvbiYmbi5nZXRTZWxlY3Rpb24oKSkmJjAhPT1hLnJhbmdlQ291bnQpe3ZhciBuPWEuYW5jaG9yTm9kZSxyPWEuYW5jaG9yT2Zmc2V0LG89YS5mb2N1c05vZGUsYT1hLmZvY3VzT2Zmc2V0O3RyeXtuLm5vZGVUeXBlLG8ubm9kZVR5cGV9Y2F0Y2goZSl7bj1udWxsO2JyZWFrIGV9dmFyIGksbD0wLGM9LTEsdT0tMSxzPTAsZj0wLGQ9ZSxwPW51bGw7dDpmb3IoOzspe2Zvcig7ZCE9PW58fDAhPT1yJiYzIT09ZC5ub2RlVHlwZXx8KGM9bCtyKSxkIT09b3x8MCE9PWEmJjMhPT1kLm5vZGVUeXBlfHwodT1sK2EpLDM9PT1kLm5vZGVUeXBlJiYobCs9ZC5ub2RlVmFsdWUubGVuZ3RoKSxudWxsIT09KGk9ZC5maXJzdENoaWxkKTspcD1kLGQ9aTtmb3IoOzspe2lmKGQ9PT1lKWJyZWFrIHQ7aWYocD09PW4mJisrcz09PXImJihjPWwpLHA9PT1vJiYrK2Y9PT1hJiYodT1sKSxudWxsIT09KGk9ZC5uZXh0U2libGluZykpYnJlYWs7cD0oZD1wKS5wYXJlbnROb2RlfWQ9aX1uPS0xPT09Y3x8LTE9PT11P251bGw6e3N0YXJ0OmMsZW5kOnV9fWVsc2Ugbj1udWxsO249bnx8e3N0YXJ0OjAsZW5kOjB9fWVsc2Ugbj1udWxsO2Zvcihnbj0hKGhvPXtmb2N1c2VkRWxlbTplLHNlbGVjdGlvblJhbmdlOm59KSxJPXQ7bnVsbCE9PUk7KWlmKGU9KHQ9SSkuY2hpbGQsMCE9KDEwMjgmdC5zdWJ0cmVlRmxhZ3MpJiZudWxsIT09ZSllLnJldHVybj10LEk9ZTtlbHNlIGZvcig7bnVsbCE9PUk7KXt0PUk7dHJ5e3ZhciBtLGgsZyxiLHk9dC5hbHRlcm5hdGU7aWYoMCE9KDEwMjQmdC5mbGFncykpc3dpdGNoKHQudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OmJyZWFrO2Nhc2UgMTpudWxsIT09eSYmKG09eS5tZW1vaXplZFByb3BzLGg9eS5tZW1vaXplZFN0YXRlLGI9KGc9dC5zdGF0ZU5vZGUpLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlKHQuZWxlbWVudFR5cGU9PT10LnR5cGU/bTprYSh0LnR5cGUsbSksaCksZy5fX3JlYWN0SW50ZXJuYWxTbmFwc2hvdEJlZm9yZVVwZGF0ZT1iKTticmVhaztjYXNlIDM6dmFyIHY9dC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbzsxPT09di5ub2RlVHlwZT92LnRleHRDb250ZW50PSIiOjk9PT12Lm5vZGVUeXBlJiZ2LmRvY3VtZW50RWxlbWVudCYmdi5yZW1vdmVDaGlsZCh2LmRvY3VtZW50RWxlbWVudCk7YnJlYWs7Y2FzZSA1OmNhc2UgNjpjYXNlIDQ6Y2FzZSAxNzpicmVhaztkZWZhdWx0OnRocm93IEVycm9yKEQoMTYzKSl9fWNhdGNoKGUpe00odCx0LnJldHVybixlKX1pZihudWxsIT09KGU9dC5zaWJsaW5nKSl7ZS5yZXR1cm49dC5yZXR1cm4sST1lO2JyZWFrfUk9dC5yZXR1cm59eT1XbCxXbD0hMX0oYSxsKSxuYyhsLGEpLEFyKGhvKSxnbj0hIW1vLGhvPW1vPW51bGwsb2MoYS5jdXJyZW50PWwsYSx1KSxTdCgpLF89Zix4PXMsZmMudHJhbnNpdGlvbj1kKTphLmN1cnJlbnQ9bCxFYyYmKEVjPSExLE9jPWEsamM9dSksMD09PShkPWEucGVuZGluZ0xhbmVzKSYmKENjPW51bGwpLCFmdW5jdGlvbihlKXtpZihfdCYmImZ1bmN0aW9uIj09dHlwZW9mIF90Lm9uQ29tbWl0RmliZXJSb290KXRyeXtfdC5vbkNvbW1pdEZpYmVyUm9vdChJdCxlLHZvaWQgMCwxMjg9PSgxMjgmZS5jdXJyZW50LmZsYWdzKSl9Y2F0Y2goZSl7fX0obC5zdGF0ZU5vZGUpLExjKGEsaCgpKSxudWxsIT09aSlmb3IoYz1hLm9uUmVjb3ZlcmFibGVFcnJvcixsPTA7bDxpLmxlbmd0aDtsKyspdT1pW2xdLGModS52YWx1ZSx7Y29tcG9uZW50U3RhY2s6dS5zdGFjayxkaWdlc3Q6dS5kaWdlc3R9KTtpZihrYyl0aHJvdyBrYz0hMSxhPVNjLFNjPW51bGwsYTswIT0oMSZqYykmJjAhPT1hLnRhZyYmUWMoKSwwIT0oMSYoZD1hLnBlbmRpbmdMYW5lcykpP2E9PT1QYz9BYysrOihBYz0wLFBjPWEpOkFjPTAsWW8oKX19ZmluYWxseXtmYy50cmFuc2l0aW9uPW8seD1yfXJldHVybiBudWxsfWZ1bmN0aW9uIFFjKCl7aWYobnVsbCE9PU9jKXt2YXIgZT1XdChqYyksdD1mYy50cmFuc2l0aW9uLG49eDt0cnl7aWYoZmMudHJhbnNpdGlvbj1udWxsLHg9ZTwxNj8xNjplLG51bGw9PT1PYyl2YXIgcj0hMTtlbHNle2lmKGU9T2MsT2M9bnVsbCwoamM9MCkhPSg2Jl8pKXRocm93IEVycm9yKEQoMzMxKSk7dmFyIG89Xztmb3IoX3w9NCxJPWUuY3VycmVudDtudWxsIT09STspe3ZhciBhPUksaT1hLmNoaWxkO2lmKDAhPSgxNiZJLmZsYWdzKSl7dmFyIGw9YS5kZWxldGlvbnM7aWYobnVsbCE9PWwpe2Zvcih2YXIgYz0wO2M8bC5sZW5ndGg7YysrKXt2YXIgdT1sW2NdO2ZvcihJPXU7bnVsbCE9PUk7KXtzd2l0Y2goKGY9SSkudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OkdsKDgsZixhKX12YXIgcz1mLmNoaWxkO2lmKG51bGwhPT1zKXMucmV0dXJuPWYsST1zO2Vsc2UgZm9yKDtudWxsIT09STspe3ZhciBmLGQ9KGY9SSkuc2libGluZyxwPWYucmV0dXJuO2lmKCFmdW5jdGlvbiBlKHQpe3ZhciBuPXQuYWx0ZXJuYXRlO251bGwhPT1uJiYodC5hbHRlcm5hdGU9bnVsbCxlKG4pKSx0LmNoaWxkPW51bGwsdC5kZWxldGlvbnM9bnVsbCx0LnNpYmxpbmc9bnVsbCw1PT09dC50YWcmJm51bGwhPT0obj10LnN0YXRlTm9kZSkmJihkZWxldGUgbltFb10sZGVsZXRlIG5bT29dLGRlbGV0ZSBuW0FvXSxkZWxldGUgbltQb10sZGVsZXRlIG5bSW9dKSx0LnN0YXRlTm9kZT1udWxsLHQucmV0dXJuPW51bGwsdC5kZXBlbmRlbmNpZXM9bnVsbCx0Lm1lbW9pemVkUHJvcHM9bnVsbCx0Lm1lbW9pemVkU3RhdGU9bnVsbCx0LnBlbmRpbmdQcm9wcz1udWxsLHQuc3RhdGVOb2RlPW51bGwsdC51cGRhdGVRdWV1ZT1udWxsfShmKSxmPT09dSl7ST1udWxsO2JyZWFrfWlmKG51bGwhPT1kKXtkLnJldHVybj1wLEk9ZDticmVha31JPXB9fX12YXIgbT1hLmFsdGVybmF0ZTtpZihudWxsIT09bSl7dmFyIGg9bS5jaGlsZDtpZihudWxsIT09aCl7bS5jaGlsZD1udWxsO2Rve3ZhciBnPWguc2libGluZ313aGlsZSgoaC5zaWJsaW5nPW51bGwpIT09KGg9ZykpfX1JPWF9fWlmKDAhPSgyMDY0JmEuc3VidHJlZUZsYWdzKSYmbnVsbCE9PWkpaS5yZXR1cm49YSxJPWk7ZWxzZSBmb3IoO251bGwhPT1JOyl7aWYoMCE9KDIwNDgmKGE9SSkuZmxhZ3MpKXN3aXRjaChhLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpHbCg5LGEsYS5yZXR1cm4pfXZhciBiPWEuc2libGluZztpZihudWxsIT09Yil7Yi5yZXR1cm49YS5yZXR1cm4sST1iO2JyZWFrfUk9YS5yZXR1cm59fXZhciB5PWUuY3VycmVudDtmb3IoST15O251bGwhPT1JOyl7dmFyIHY9KGk9SSkuY2hpbGQ7aWYoMCE9KDIwNjQmaS5zdWJ0cmVlRmxhZ3MpJiZudWxsIT09dil2LnJldHVybj1pLEk9djtlbHNlIGZvcihpPXk7bnVsbCE9PUk7KXtpZigwIT0oMjA0OCYobD1JKS5mbGFncykpdHJ5e3N3aXRjaChsLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpxbCg5LGwpfX1jYXRjaChlKXtNKGwsbC5yZXR1cm4sZSl9aWYobD09PWkpe0k9bnVsbDticmVha312YXIgdz1sLnNpYmxpbmc7aWYobnVsbCE9PXcpe3cucmV0dXJuPWwucmV0dXJuLEk9dzticmVha31JPWwucmV0dXJufX1pZihfPW8sWW8oKSxfdCYmImZ1bmN0aW9uIj09dHlwZW9mIF90Lm9uUG9zdENvbW1pdEZpYmVyUm9vdCl0cnl7X3Qub25Qb3N0Q29tbWl0RmliZXJSb290KEl0LGUpfWNhdGNoKGUpe31yPSEwfXJldHVybiByfWZpbmFsbHl7eD1uLGZjLnRyYW5zaXRpb249dH19fWZ1bmN0aW9uIEtjKGUsdCxuKXtlPUJhKGUsdD1mbCgwLHQ9bGwobix0KSwxKSwxKSx0PW0oKSxudWxsIT09ZSYmKFZ0KGUsMSx0KSxMYyhlLHQpKX1mdW5jdGlvbiBNKGUsdCxuKXtpZigzPT09ZS50YWcpS2MoZSxlLG4pO2Vsc2UgZm9yKDtudWxsIT09dDspe2lmKDM9PT10LnRhZyl7S2ModCxlLG4pO2JyZWFrfWlmKDE9PT10LnRhZyl7dmFyIHI9dC5zdGF0ZU5vZGU7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHQudHlwZS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3J8fCJmdW5jdGlvbiI9PXR5cGVvZiByLmNvbXBvbmVudERpZENhdGNoJiYobnVsbD09PUNjfHwhQ2MuaGFzKHIpKSl7dD1CYSh0LGU9ZGwodCxlPWxsKG4sZSksMSksMSksZT1tKCksbnVsbCE9PXQmJihWdCh0LDEsZSksTGModCxlKSk7YnJlYWt9fXQ9dC5yZXR1cm59fWZ1bmN0aW9uIEpjKGUsdCl7MD09PXQmJigwPT0oMSZlLm1vZGUpP3Q9MToodD1SdCwwPT0oMTMwMDIzNDI0JihSdDw8PTEpKSYmKFJ0PTQxOTQzMDQpKSk7dmFyIG49bSgpO251bGwhPT0oZT1NYShlLHQpKSYmKFZ0KGUsdCxuKSxMYyhlLG4pKX1mdW5jdGlvbiBldShlLHQpe3JldHVybiB3dChlLHQpfWZ1bmN0aW9uIHR1KGUsdCxuLHIpe3RoaXMudGFnPWUsdGhpcy5rZXk9bix0aGlzLnNpYmxpbmc9dGhpcy5jaGlsZD10aGlzLnJldHVybj10aGlzLnN0YXRlTm9kZT10aGlzLnR5cGU9dGhpcy5lbGVtZW50VHlwZT1udWxsLHRoaXMuaW5kZXg9MCx0aGlzLnJlZj1udWxsLHRoaXMucGVuZGluZ1Byb3BzPXQsdGhpcy5kZXBlbmRlbmNpZXM9dGhpcy5tZW1vaXplZFN0YXRlPXRoaXMudXBkYXRlUXVldWU9dGhpcy5tZW1vaXplZFByb3BzPW51bGwsdGhpcy5tb2RlPXIsdGhpcy5zdWJ0cmVlRmxhZ3M9dGhpcy5mbGFncz0wLHRoaXMuZGVsZXRpb25zPW51bGwsdGhpcy5jaGlsZExhbmVzPXRoaXMubGFuZXM9MCx0aGlzLmFsdGVybmF0ZT1udWxsfWZ1bmN0aW9uIG51KGUsdCxuLHIpe3JldHVybiBuZXcgdHUoZSx0LG4scil9ZnVuY3Rpb24gcnUoZSl7cmV0dXJuKGU9ZS5wcm90b3R5cGUpJiZlLmlzUmVhY3RDb21wb25lbnR9ZnVuY3Rpb24gb3UoZSx0KXt2YXIgbj1lLmFsdGVybmF0ZTtyZXR1cm4gbnVsbD09PW4/KChuPW51KGUudGFnLHQsZS5rZXksZS5tb2RlKSkuZWxlbWVudFR5cGU9ZS5lbGVtZW50VHlwZSxuLnR5cGU9ZS50eXBlLG4uc3RhdGVOb2RlPWUuc3RhdGVOb2RlLChuLmFsdGVybmF0ZT1lKS5hbHRlcm5hdGU9bik6KG4ucGVuZGluZ1Byb3BzPXQsbi50eXBlPWUudHlwZSxuLmZsYWdzPTAsbi5zdWJ0cmVlRmxhZ3M9MCxuLmRlbGV0aW9ucz1udWxsKSxuLmZsYWdzPTE0NjgwMDY0JmUuZmxhZ3Msbi5jaGlsZExhbmVzPWUuY2hpbGRMYW5lcyxuLmxhbmVzPWUubGFuZXMsbi5jaGlsZD1lLmNoaWxkLG4ubWVtb2l6ZWRQcm9wcz1lLm1lbW9pemVkUHJvcHMsbi5tZW1vaXplZFN0YXRlPWUubWVtb2l6ZWRTdGF0ZSxuLnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsdD1lLmRlcGVuZGVuY2llcyxuLmRlcGVuZGVuY2llcz1udWxsPT09dD9udWxsOntsYW5lczp0LmxhbmVzLGZpcnN0Q29udGV4dDp0LmZpcnN0Q29udGV4dH0sbi5zaWJsaW5nPWUuc2libGluZyxuLmluZGV4PWUuaW5kZXgsbi5yZWY9ZS5yZWYsbn1mdW5jdGlvbiBhdShlLHQsbixyLG8sYSl7dmFyIGk9MjtpZigiZnVuY3Rpb24iPT10eXBlb2Yocj1lKSlydShlKSYmKGk9MSk7ZWxzZSBpZigic3RyaW5nIj09dHlwZW9mIGUpaT01O2Vsc2UgZTpzd2l0Y2goZSl7Y2FzZSBuZTpyZXR1cm4gaXUobi5jaGlsZHJlbixvLGEsdCk7Y2FzZSByZTpvfD1pPTg7YnJlYWs7Y2FzZSBvZTpyZXR1cm4oZT1udSgxMixuLHQsMnxvKSkuZWxlbWVudFR5cGU9b2UsZS5sYW5lcz1hLGU7Y2FzZSBjZTpyZXR1cm4oZT1udSgxMyxuLHQsbykpLmVsZW1lbnRUeXBlPWNlLGUubGFuZXM9YSxlO2Nhc2UgdWU6cmV0dXJuKGU9bnUoMTksbix0LG8pKS5lbGVtZW50VHlwZT11ZSxlLmxhbmVzPWEsZTtjYXNlIGRlOnJldHVybiBsdShuLG8sYSx0KTtkZWZhdWx0OmlmKCJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUpc3dpdGNoKGUuJCR0eXBlb2Ype2Nhc2UgYWU6aT0xMDticmVhayBlO2Nhc2UgaWU6aT05O2JyZWFrIGU7Y2FzZSBsZTppPTExO2JyZWFrIGU7Y2FzZSBzZTppPTE0O2JyZWFrIGU7Y2FzZSBmZTppPTE2LHI9bnVsbDticmVhayBlfXRocm93IEVycm9yKEQoMTMwLG51bGw9PWU/ZTp0eXBlb2YgZSwiIikpfXJldHVybih0PW51KGksbix0LG8pKS5lbGVtZW50VHlwZT1lLHQudHlwZT1yLHQubGFuZXM9YSx0fWZ1bmN0aW9uIGl1KGUsdCxuLHIpe3JldHVybihlPW51KDcsZSxyLHQpKS5sYW5lcz1uLGV9ZnVuY3Rpb24gbHUoZSx0LG4scil7cmV0dXJuKGU9bnUoMjIsZSxyLHQpKS5lbGVtZW50VHlwZT1kZSxlLmxhbmVzPW4sZS5zdGF0ZU5vZGU9e2lzSGlkZGVuOiExfSxlfWZ1bmN0aW9uIGN1KGUsdCxuKXtyZXR1cm4oZT1udSg2LGUsbnVsbCx0KSkubGFuZXM9bixlfWZ1bmN0aW9uIHV1KGUsdCxuKXtyZXR1cm4odD1udSg0LG51bGwhPT1lLmNoaWxkcmVuP2UuY2hpbGRyZW46W10sZS5rZXksdCkpLmxhbmVzPW4sdC5zdGF0ZU5vZGU9e2NvbnRhaW5lckluZm86ZS5jb250YWluZXJJbmZvLHBlbmRpbmdDaGlsZHJlbjpudWxsLGltcGxlbWVudGF0aW9uOmUuaW1wbGVtZW50YXRpb259LHR9ZnVuY3Rpb24gc3UoZSx0LG4scixvKXt0aGlzLnRhZz10LHRoaXMuY29udGFpbmVySW5mbz1lLHRoaXMuZmluaXNoZWRXb3JrPXRoaXMucGluZ0NhY2hlPXRoaXMuY3VycmVudD10aGlzLnBlbmRpbmdDaGlsZHJlbj1udWxsLHRoaXMudGltZW91dEhhbmRsZT0tMSx0aGlzLmNhbGxiYWNrTm9kZT10aGlzLnBlbmRpbmdDb250ZXh0PXRoaXMuY29udGV4dD1udWxsLHRoaXMuY2FsbGJhY2tQcmlvcml0eT0wLHRoaXMuZXZlbnRUaW1lcz1IdCgwKSx0aGlzLmV4cGlyYXRpb25UaW1lcz1IdCgtMSksdGhpcy5lbnRhbmdsZWRMYW5lcz10aGlzLmZpbmlzaGVkTGFuZXM9dGhpcy5tdXRhYmxlUmVhZExhbmVzPXRoaXMuZXhwaXJlZExhbmVzPXRoaXMucGluZ2VkTGFuZXM9dGhpcy5zdXNwZW5kZWRMYW5lcz10aGlzLnBlbmRpbmdMYW5lcz0wLHRoaXMuZW50YW5nbGVtZW50cz1IdCgwKSx0aGlzLmlkZW50aWZpZXJQcmVmaXg9cix0aGlzLm9uUmVjb3ZlcmFibGVFcnJvcj1vLHRoaXMubXV0YWJsZVNvdXJjZUVhZ2VySHlkcmF0aW9uRGF0YT1udWxsfWZ1bmN0aW9uIGZ1KGUsdCxuLHIsbyxhLGksbCxjKXtyZXR1cm4gZT1uZXcgc3UoZSx0LDAsbCxjKSwxPT09dD8odD0xLCEwPT09YSYmKHR8PTgpKTp0PTAsYT1udSgzLG51bGwsbnVsbCx0KSwoZS5jdXJyZW50PWEpLnN0YXRlTm9kZT1lLGEubWVtb2l6ZWRTdGF0ZT17ZWxlbWVudDpyLGlzRGVoeWRyYXRlZDpuLGNhY2hlOm51bGwsdHJhbnNpdGlvbnM6bnVsbCxwZW5kaW5nU3VzcGVuc2VCb3VuZGFyaWVzOm51bGx9LE5hKGEpLGV9ZnVuY3Rpb24gZHUoZSl7aWYoIWUpcmV0dXJuIERvO2U6e2lmKGd0KGU9ZS5fcmVhY3RJbnRlcm5hbHMpIT09ZXx8MSE9PWUudGFnKXRocm93IEVycm9yKEQoMTcwKSk7dmFyIHQ9ZTtkb3tzd2l0Y2godC50YWcpe2Nhc2UgMzp0PXQuc3RhdGVOb2RlLmNvbnRleHQ7YnJlYWsgZTtjYXNlIDE6aWYodyh0LnR5cGUpKXt0PXQuc3RhdGVOb2RlLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0O2JyZWFrIGV9fX13aGlsZShudWxsIT09KHQ9dC5yZXR1cm4pKTt0aHJvdyBFcnJvcihEKDE3MSkpfWlmKDE9PT1lLnRhZyl7dmFyIG49ZS50eXBlO2lmKHcobikpcmV0dXJuIFZvKGUsbix0KX1yZXR1cm4gdH1mdW5jdGlvbiBwdShlLHQsbixyLG8sYSxpLGwsYyl7cmV0dXJuKGU9ZnUobixyLCEwLGUsMCxhLDAsbCxjKSkuY29udGV4dD1kdShudWxsKSxuPWUuY3VycmVudCwoYT1VYShyPW0oKSxvPXpjKG4pKSkuY2FsbGJhY2s9bnVsbCE9dD90Om51bGwsQmEobixhLG8pLGUuY3VycmVudC5sYW5lcz1vLFZ0KGUsbyxyKSxMYyhlLHIpLGV9ZnVuY3Rpb24gbXUoZSx0LG4scil7dmFyIG89dC5jdXJyZW50LGE9bSgpLGk9emMobyk7bj1kdShuKSxudWxsPT09dC5jb250ZXh0P3QuY29udGV4dD1uOnQucGVuZGluZ0NvbnRleHQ9biwodD1VYShhLGkpKS5wYXlsb2FkPXtlbGVtZW50OmV9LG51bGwhPT0ocj12b2lkIDA9PT1yP251bGw6cikmJih0LmNhbGxiYWNrPXIpLG51bGwhPT0oZT1CYShvLHQsaSkpJiYoVGMoZSxvLGksYSksRmEoZSxvLGkpKX1mdW5jdGlvbiBodShlKXtyZXR1cm4oZT1lLmN1cnJlbnQpLmNoaWxkPyhlLmNoaWxkLnRhZyxlLmNoaWxkLnN0YXRlTm9kZSk6bnVsbH1mdW5jdGlvbiBndShlLHQpe3ZhciBuO251bGwhPT0oZT1lLm1lbW9pemVkU3RhdGUpJiZudWxsIT09ZS5kZWh5ZHJhdGVkJiYobj1lLnJldHJ5TGFuZSxlLnJldHJ5TGFuZT0wIT09biYmbjx0P246dCl9ZnVuY3Rpb24gYnUoZSx0KXtndShlLHQpLChlPWUuYWx0ZXJuYXRlKSYmZ3UoZSx0KX12YXIgeXU9ZnVuY3Rpb24oZSx0LG4pe2lmKG51bGwhPT1lKWlmKGUubWVtb2l6ZWRQcm9wcyE9PXQucGVuZGluZ1Byb3BzfHx2LmN1cnJlbnQpaj0hMDtlbHNle2lmKDA9PShlLmxhbmVzJm4pJiYwPT0oMTI4JnQuZmxhZ3MpKXtqPSExO3t2YXIgcj1lO3ZhciBvPXQ7dmFyIGE9bjtzd2l0Y2goby50YWcpe2Nhc2UgMzpFbChvKSx2YSgpO2JyZWFrO2Nhc2UgNTpmaShvKTticmVhaztjYXNlIDE6dyhvLnR5cGUpJiYkbyhvKTticmVhaztjYXNlIDQ6dWkobyxvLnN0YXRlTm9kZS5jb250YWluZXJJbmZvKTticmVhaztjYXNlIDEwOnZhciBpPW8udHlwZS5fY29udGV4dCxsPW8ubWVtb2l6ZWRQcm9wcy52YWx1ZTtiKFNhLGkuX2N1cnJlbnRWYWx1ZSksaS5fY3VycmVudFZhbHVlPWw7YnJlYWs7Y2FzZSAxMzppZihudWxsIT09KGk9by5tZW1vaXplZFN0YXRlKSlyZXR1cm4gbnVsbCE9PWkuZGVoeWRyYXRlZD8oYihTLDEmUy5jdXJyZW50KSxvLmZsYWdzfD0xMjgsbnVsbCk6MCE9KGEmby5jaGlsZC5jaGlsZExhbmVzKT9QbChyLG8sYSk6KGIoUywxJlMuY3VycmVudCksbnVsbCE9PShyPVJsKHIsbyxhKSk/ci5zaWJsaW5nOm51bGwpO2IoUywxJlMuY3VycmVudCk7YnJlYWs7Y2FzZSAxOTppZihpPTAhPShhJm8uY2hpbGRMYW5lcyksMCE9KDEyOCZyLmZsYWdzKSl7aWYoaSlyZXR1cm4gTGwocixvLGEpO28uZmxhZ3N8PTEyOH1pZihudWxsIT09KGw9by5tZW1vaXplZFN0YXRlKSYmKGwucmVuZGVyaW5nPW51bGwsbC50YWlsPW51bGwsbC5sYXN0RWZmZWN0PW51bGwpLGIoUyxTLmN1cnJlbnQpLGkpYnJlYWs7cmV0dXJuIG51bGw7Y2FzZSAyMjpjYXNlIDIzOnJldHVybiBvLmxhbmVzPTAsd2wocixvLGEpfXJldHVybiBSbChyLG8sYSk7cmV0dXJufX1qPTAhPSgxMzEwNzImZS5mbGFncyl9ZWxzZSBqPSExLFUmJjAhPSgxMDQ4NTc2JnQuZmxhZ3MpJiZsYSh0LGVhLHQuaW5kZXgpO3N3aXRjaCh0LmxhbmVzPTAsdC50YWcpe2Nhc2UgMjp2YXIgYz10LnR5cGUsdT0oTWwoZSx0KSxlPXQucGVuZGluZ1Byb3BzLEJvKHQseS5jdXJyZW50KSkscz0oSWEodCxuKSx1PUNpKG51bGwsdCxjLGUsdSxuKSxFaSgpKTtyZXR1cm4gdC5mbGFnc3w9MSx0PSJvYmplY3QiPT10eXBlb2YgdSYmbnVsbCE9PXUmJiJmdW5jdGlvbiI9PXR5cGVvZiB1LnJlbmRlciYmdm9pZCAwPT09dS4kJHR5cGVvZj8odC50YWc9MSx0Lm1lbW9pemVkU3RhdGU9bnVsbCx0LnVwZGF0ZVF1ZXVlPW51bGwsdyhjKT8ocz0hMCwkbyh0KSk6cz0hMSx0Lm1lbW9pemVkU3RhdGU9bnVsbCE9PXUuc3RhdGUmJnZvaWQgMCE9PXUuc3RhdGU/dS5zdGF0ZTpudWxsLE5hKHQpLHUudXBkYXRlcj1xYSxRYSgodC5zdGF0ZU5vZGU9dSkuX3JlYWN0SW50ZXJuYWxzPXQsYyxlLG4pLENsKG51bGwsdCxjLCEwLHMsbikpOih0LnRhZz0wLFUmJnMmJmNhKHQpLEEobnVsbCx0LHUsbiksdC5jaGlsZCk7Y2FzZSAxNjpjPXQuZWxlbWVudFR5cGU7ZTp7c3dpdGNoKE1sKGUsdCksZT10LnBlbmRpbmdQcm9wcyxjPSh1PWMuX2luaXQpKGMuX3BheWxvYWQpLHQudHlwZT1jLHU9dC50YWc9ZnVuY3Rpb24oZSl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGUpcmV0dXJuIHJ1KGUpPzE6MDtpZihudWxsIT1lKXtpZigoZT1lLiQkdHlwZW9mKT09PWxlKXJldHVybiAxMTtpZihlPT09c2UpcmV0dXJuIDE0fXJldHVybiAyfShjKSxlPWthKGMsZSksdSl7Y2FzZSAwOnQ9a2wobnVsbCx0LGMsZSxuKTticmVhayBlO2Nhc2UgMTp0PVNsKG51bGwsdCxjLGUsbik7YnJlYWsgZTtjYXNlIDExOnQ9YmwobnVsbCx0LGMsZSxuKTticmVhayBlO2Nhc2UgMTQ6dD15bChudWxsLHQsYyxrYShjLnR5cGUsZSksbik7YnJlYWsgZX10aHJvdyBFcnJvcihEKDMwNixjLCIiKSl9cmV0dXJuIHQ7Y2FzZSAwOnJldHVybiBjPXQudHlwZSx1PXQucGVuZGluZ1Byb3BzLGtsKGUsdCxjLHU9dC5lbGVtZW50VHlwZT09PWM/dTprYShjLHUpLG4pO2Nhc2UgMTpyZXR1cm4gYz10LnR5cGUsdT10LnBlbmRpbmdQcm9wcyxTbChlLHQsYyx1PXQuZWxlbWVudFR5cGU9PT1jP3U6a2EoYyx1KSxuKTtjYXNlIDM6ZTp7aWYoRWwodCksbnVsbD09PWUpdGhyb3cgRXJyb3IoRCgzODcpKTtjPXQucGVuZGluZ1Byb3BzLHU9KHM9dC5tZW1vaXplZFN0YXRlKS5lbGVtZW50LERhKGUsdCksVmEodCxjLG51bGwsbik7dmFyIGY9dC5tZW1vaXplZFN0YXRlLGM9Zi5lbGVtZW50O2lmKHMuaXNEZWh5ZHJhdGVkKXtpZihzPXtlbGVtZW50OmMsaXNEZWh5ZHJhdGVkOiExLGNhY2hlOmYuY2FjaGUscGVuZGluZ1N1c3BlbnNlQm91bmRhcmllczpmLnBlbmRpbmdTdXNwZW5zZUJvdW5kYXJpZXMsdHJhbnNpdGlvbnM6Zi50cmFuc2l0aW9uc30sdC51cGRhdGVRdWV1ZS5iYXNlU3RhdGU9cyx0Lm1lbW9pemVkU3RhdGU9cywyNTYmdC5mbGFncyl7dD1PbChlLHQsYyxuLHU9bGwoRXJyb3IoRCg0MjMpKSx0KSk7YnJlYWsgZX1pZihjIT09dSl7dD1PbChlLHQsYyxuLHU9bGwoRXJyb3IoRCg0MjQpKSx0KSk7YnJlYWsgZX1mb3Ioaz1Tbyh0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvLmZpcnN0Q2hpbGQpLFU9ITAsbj1yaShzYT10LGZhPW51bGwsYyxuKSx0LmNoaWxkPW47bjspbi5mbGFncz0tMyZuLmZsYWdzfDQwOTYsbj1uLnNpYmxpbmd9ZWxzZXtpZih2YSgpLGM9PT11KXt0PVJsKGUsdCxuKTticmVhayBlfUEoZSx0LGMsbil9dD10LmNoaWxkfXJldHVybiB0O2Nhc2UgNTpyZXR1cm4gZmkodCksbnVsbD09PWUmJmhhKHQpLGM9dC50eXBlLHU9dC5wZW5kaW5nUHJvcHMscz1udWxsIT09ZT9lLm1lbW9pemVkUHJvcHM6bnVsbCxmPXUuY2hpbGRyZW4sZ28oYyx1KT9mPW51bGw6bnVsbCE9PXMmJmdvKGMscykmJih0LmZsYWdzfD0zMikseGwoZSx0KSxBKGUsdCxmLG4pLHQuY2hpbGQ7Y2FzZSA2OnJldHVybiBudWxsPT09ZSYmaGEodCksbnVsbDtjYXNlIDEzOnJldHVybiBQbChlLHQsbik7Y2FzZSA0OnJldHVybiB1aSh0LHQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLGM9dC5wZW5kaW5nUHJvcHMsbnVsbD09PWU/dC5jaGlsZD1uaSh0LG51bGwsYyxuKTpBKGUsdCxjLG4pLHQuY2hpbGQ7Y2FzZSAxMTpyZXR1cm4gYz10LnR5cGUsdT10LnBlbmRpbmdQcm9wcyxibChlLHQsYyx1PXQuZWxlbWVudFR5cGU9PT1jP3U6a2EoYyx1KSxuKTtjYXNlIDc6cmV0dXJuIEEoZSx0LHQucGVuZGluZ1Byb3BzLG4pLHQuY2hpbGQ7Y2FzZSA4OmNhc2UgMTI6cmV0dXJuIEEoZSx0LHQucGVuZGluZ1Byb3BzLmNoaWxkcmVuLG4pLHQuY2hpbGQ7Y2FzZSAxMDplOntpZihjPXQudHlwZS5fY29udGV4dCx1PXQucGVuZGluZ1Byb3BzLHM9dC5tZW1vaXplZFByb3BzLGY9dS52YWx1ZSxiKFNhLGMuX2N1cnJlbnRWYWx1ZSksYy5fY3VycmVudFZhbHVlPWYsbnVsbCE9PXMpaWYoa3Iocy52YWx1ZSxmKSl7aWYocy5jaGlsZHJlbj09PXUuY2hpbGRyZW4mJiF2LmN1cnJlbnQpe3Q9UmwoZSx0LG4pO2JyZWFrIGV9fWVsc2UgZm9yKG51bGwhPT0ocz10LmNoaWxkKSYmKHMucmV0dXJuPXQpO251bGwhPT1zOyl7dmFyIGQ9cy5kZXBlbmRlbmNpZXM7aWYobnVsbCE9PWQpZm9yKHZhciBwLG0sZj1zLmNoaWxkLGg9ZC5maXJzdENvbnRleHQ7bnVsbCE9PWg7KXtpZihoLmNvbnRleHQ9PT1jKXsxPT09cy50YWcmJigoaD1VYSgtMSxuJi1uKSkudGFnPTIsbnVsbCE9PShwPXMudXBkYXRlUXVldWUpKSYmKG51bGw9PT0obT0ocD1wLnNoYXJlZCkucGVuZGluZyk/aC5uZXh0PWg6KGgubmV4dD1tLm5leHQsbS5uZXh0PWgpLHAucGVuZGluZz1oKSxzLmxhbmVzfD1uLG51bGwhPT0oaD1zLmFsdGVybmF0ZSkmJihoLmxhbmVzfD1uKSxQYShzLnJldHVybixuLHQpLGQubGFuZXN8PW47YnJlYWt9aD1oLm5leHR9ZWxzZSBpZigxMD09PXMudGFnKWY9cy50eXBlPT09dC50eXBlP251bGw6cy5jaGlsZDtlbHNlIGlmKDE4PT09cy50YWcpe2lmKG51bGw9PT0oZj1zLnJldHVybikpdGhyb3cgRXJyb3IoRCgzNDEpKTtmLmxhbmVzfD1uLG51bGwhPT0oZD1mLmFsdGVybmF0ZSkmJihkLmxhbmVzfD1uKSxQYShmLG4sdCksZj1zLnNpYmxpbmd9ZWxzZSBmPXMuY2hpbGQ7aWYobnVsbCE9PWYpZi5yZXR1cm49cztlbHNlIGZvcihmPXM7bnVsbCE9PWY7KXtpZihmPT09dCl7Zj1udWxsO2JyZWFrfWlmKG51bGwhPT0ocz1mLnNpYmxpbmcpKXtzLnJldHVybj1mLnJldHVybixmPXM7YnJlYWt9Zj1mLnJldHVybn1zPWZ9QShlLHQsdS5jaGlsZHJlbixuKSx0PXQuY2hpbGR9cmV0dXJuIHQ7Y2FzZSA5OnJldHVybiB1PXQudHlwZSxjPXQucGVuZGluZ1Byb3BzLmNoaWxkcmVuLElhKHQsbiksYz1jKHU9X2EodSkpLHQuZmxhZ3N8PTEsQShlLHQsYyxuKSx0LmNoaWxkO2Nhc2UgMTQ6cmV0dXJuIHU9a2EoYz10LnR5cGUsdC5wZW5kaW5nUHJvcHMpLHlsKGUsdCxjLHU9a2EoYy50eXBlLHUpLG4pO2Nhc2UgMTU6cmV0dXJuIHZsKGUsdCx0LnR5cGUsdC5wZW5kaW5nUHJvcHMsbik7Y2FzZSAxNzpyZXR1cm4gYz10LnR5cGUsdT10LnBlbmRpbmdQcm9wcyx1PXQuZWxlbWVudFR5cGU9PT1jP3U6a2EoYyx1KSxNbChlLHQpLHQudGFnPTEsdyhjKT8oZT0hMCwkbyh0KSk6ZT0hMSxJYSh0LG4pLFhhKHQsYyx1KSxRYSh0LGMsdSxuKSxDbChudWxsLHQsYywhMCxlLG4pO2Nhc2UgMTk6cmV0dXJuIExsKGUsdCxuKTtjYXNlIDIyOnJldHVybiB3bChlLHQsbil9dGhyb3cgRXJyb3IoRCgxNTYsdC50YWcpKX0sdnU9ImZ1bmN0aW9uIj09dHlwZW9mIHJlcG9ydEVycm9yP3JlcG9ydEVycm9yOmZ1bmN0aW9uKGUpe2NvbnNvbGUuZXJyb3IoZSl9O2Z1bmN0aW9uIHd1KGUpe3RoaXMuX2ludGVybmFsUm9vdD1lfWZ1bmN0aW9uIHh1KGUpe3RoaXMuX2ludGVybmFsUm9vdD1lfWZ1bmN0aW9uIGt1KGUpe3JldHVybiBlJiYoMT09PWUubm9kZVR5cGV8fDk9PT1lLm5vZGVUeXBlfHwxMT09PWUubm9kZVR5cGUpfWZ1bmN0aW9uIFN1KGUpe3JldHVybiBlJiYoMT09PWUubm9kZVR5cGV8fDk9PT1lLm5vZGVUeXBlfHwxMT09PWUubm9kZVR5cGV8fDg9PT1lLm5vZGVUeXBlJiYiIHJlYWN0LW1vdW50LXBvaW50LXVuc3RhYmxlICI9PT1lLm5vZGVWYWx1ZSl9ZnVuY3Rpb24gQ3UoKXt9ZnVuY3Rpb24gRXUoZSx0LG4scixvKXt2YXIgYSxpLGw9bi5fcmVhY3RSb290Q29udGFpbmVyO3JldHVybiBsPygiZnVuY3Rpb24iPT10eXBlb2YgbyYmKGk9byxvPWZ1bmN0aW9uKCl7dmFyIGU9aHUoYSk7aS5jYWxsKGUpfSksbXUodCxhPWwsZSxvKSk6YT1mdW5jdGlvbihlLHQsbixyLG8pe3ZhciBhLGksbDtpZihvKXJldHVybiJmdW5jdGlvbiI9PXR5cGVvZiByJiYoYT1yLHI9ZnVuY3Rpb24oKXt2YXIgZT1odShpKTthLmNhbGwoZSl9KSxpPXB1KHQscixlLDAsbnVsbCwhMSwwLCIiLEN1KSxlLl9yZWFjdFJvb3RDb250YWluZXI9aSxlW2pvXT1pLmN1cnJlbnQsdG8oOD09PWUubm9kZVR5cGU/ZS5wYXJlbnROb2RlOmUpLEZjKCksaTtmb3IoO289ZS5sYXN0Q2hpbGQ7KWUucmVtb3ZlQ2hpbGQobyk7ImZ1bmN0aW9uIj09dHlwZW9mIHImJihsPXIscj1mdW5jdGlvbigpe3ZhciBlPWh1KGMpO2wuY2FsbChlKX0pO3ZhciBjPWZ1KGUsMCwhMSxudWxsLDAsITEsMCwiIixDdSk7cmV0dXJuIGUuX3JlYWN0Um9vdENvbnRhaW5lcj1jLGVbam9dPWMuY3VycmVudCx0byg4PT09ZS5ub2RlVHlwZT9lLnBhcmVudE5vZGU6ZSksRmMoZnVuY3Rpb24oKXttdSh0LGMsbixyKX0pLGN9KG4sdCxlLG8sciksaHUoYSl9eHUucHJvdG90eXBlLnJlbmRlcj13dS5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX2ludGVybmFsUm9vdDtpZihudWxsPT09dCl0aHJvdyBFcnJvcihEKDQwOSkpO211KGUsdCxudWxsLG51bGwpfSx4dS5wcm90b3R5cGUudW5tb3VudD13dS5wcm90b3R5cGUudW5tb3VudD1mdW5jdGlvbigpe3ZhciBlLHQ9dGhpcy5faW50ZXJuYWxSb290O251bGwhPT10JiYodGhpcy5faW50ZXJuYWxSb290PW51bGwsZT10LmNvbnRhaW5lckluZm8sRmMoZnVuY3Rpb24oKXttdShudWxsLHQsbnVsbCxudWxsKX0pLGVbam9dPW51bGwpfSx4dS5wcm90b3R5cGUudW5zdGFibGVfc2NoZWR1bGVIeWRyYXRpb249ZnVuY3Rpb24oZSl7aWYoZSl7dmFyIHQ9WHQoKTtlPXtibG9ja2VkT246bnVsbCx0YXJnZXQ6ZSxwcmlvcml0eTp0fTtmb3IodmFyIG49MDtuPG9uLmxlbmd0aCYmMCE9PXQmJnQ8b25bbl0ucHJpb3JpdHk7bisrKTtvbi5zcGxpY2UobiwwLGUpLDA9PT1uJiZ1bihlKX19LEd0PWZ1bmN0aW9uKG4pe3N3aXRjaChuLnRhZyl7Y2FzZSAzOnZhciBlLHQ9bi5zdGF0ZU5vZGU7dC5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkJiYwIT09KGU9TnQodC5wZW5kaW5nTGFuZXMpKSYmKCR0KHQsMXxlKSxMYyh0LGgoKSksMD09KDYmXykpJiYod2M9aCgpKzUwMCxZbygpKTticmVhaztjYXNlIDEzOkZjKGZ1bmN0aW9uKCl7dmFyIGUsdD1NYShuLDEpO251bGwhPT10JiYoZT1tKCksVGModCxuLDEsZSkpfSksYnUobiwxKX19LHF0PWZ1bmN0aW9uKGUpe3ZhciB0OzEzPT09ZS50YWcmJihudWxsIT09KHQ9TWEoZSwxMzQyMTc3MjgpKSYmVGModCxlLDEzNDIxNzcyOCxtKCkpLGJ1KGUsMTM0MjE3NzI4KSl9LFp0PWZ1bmN0aW9uKGUpe3ZhciB0LG47MTM9PT1lLnRhZyYmKG51bGwhPT0obj1NYShlLHQ9emMoZSkpKSYmVGMobixlLHQsbSgpKSxidShlLHQpKX0sWHQ9ZnVuY3Rpb24oKXtyZXR1cm4geH0sWXQ9ZnVuY3Rpb24oZSx0KXt2YXIgbj14O3RyeXtyZXR1cm4geD1lLHQoKX1maW5hbGx5e3g9bn19LGF0PUZjO2U9e3VzaW5nQ2xpZW50RW50cnlQb2ludDohKEtlPWZ1bmN0aW9uKGUsdCxuKXtzd2l0Y2godCl7Y2FzZSJpbnB1dCI6aWYoQWUoZSxuKSx0PW4ubmFtZSwicmFkaW8iPT09bi50eXBlJiZudWxsIT10KXtmb3Iobj1lO24ucGFyZW50Tm9kZTspbj1uLnBhcmVudE5vZGU7Zm9yKG49bi5xdWVyeVNlbGVjdG9yQWxsKCJpbnB1dFtuYW1lPSIrSlNPTi5zdHJpbmdpZnkoIiIrdCkrJ11bdHlwZT0icmFkaW8iXScpLHQ9MDt0PG4ubGVuZ3RoO3QrKyl7dmFyIHI9blt0XTtpZihyIT09ZSYmci5mb3JtPT09ZS5mb3JtKXt2YXIgbz1MbyhyKTtpZighbyl0aHJvdyBFcnJvcihEKDkwKSk7U2UociksQWUocixvKX19fWJyZWFrO2Nhc2UidGV4dGFyZWEiOk1lKGUsbik7YnJlYWs7Y2FzZSJzZWxlY3QiOm51bGwhPSh0PW4udmFsdWUpJiZ6ZShlLCEhbi5tdWx0aXBsZSx0LCExKX19KSxFdmVudHM6W3pvLFRvLExvLG50LHJ0LG90PUJjXX0sdD17ZmluZEZpYmVyQnlIb3N0SW5zdGFuY2U6X28sYnVuZGxlVHlwZTowLHZlcnNpb246IjE4LjIuMCIscmVuZGVyZXJQYWNrYWdlTmFtZToicmVhY3QtZG9tIn0sUj17YnVuZGxlVHlwZTp0LmJ1bmRsZVR5cGUsdmVyc2lvbjp0LnZlcnNpb24scmVuZGVyZXJQYWNrYWdlTmFtZTp0LnJlbmRlcmVyUGFja2FnZU5hbWUscmVuZGVyZXJDb25maWc6dC5yZW5kZXJlckNvbmZpZyxvdmVycmlkZUhvb2tTdGF0ZTpudWxsLG92ZXJyaWRlSG9va1N0YXRlRGVsZXRlUGF0aDpudWxsLG92ZXJyaWRlSG9va1N0YXRlUmVuYW1lUGF0aDpudWxsLG92ZXJyaWRlUHJvcHM6bnVsbCxvdmVycmlkZVByb3BzRGVsZXRlUGF0aDpudWxsLG92ZXJyaWRlUHJvcHNSZW5hbWVQYXRoOm51bGwsc2V0RXJyb3JIYW5kbGVyOm51bGwsc2V0U3VzcGVuc2VIYW5kbGVyOm51bGwsc2NoZWR1bGVVcGRhdGU6bnVsbCxjdXJyZW50RGlzcGF0Y2hlclJlZjpKLlJlYWN0Q3VycmVudERpc3BhdGNoZXIsZmluZEhvc3RJbnN0YW5jZUJ5RmliZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PT0oZT12dChlKSk/bnVsbDplLnN0YXRlTm9kZX0sZmluZEZpYmVyQnlIb3N0SW5zdGFuY2U6dC5maW5kRmliZXJCeUhvc3RJbnN0YW5jZXx8ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH0sZmluZEhvc3RJbnN0YW5jZXNGb3JSZWZyZXNoOm51bGwsc2NoZWR1bGVSZWZyZXNoOm51bGwsc2NoZWR1bGVSb290Om51bGwsc2V0UmVmcmVzaEhhbmRsZXI6bnVsbCxnZXRDdXJyZW50RmliZXI6bnVsbCxyZWNvbmNpbGVyVmVyc2lvbjoiMTguMi4wLW5leHQtOWUzYjc3MmI4LTIwMjIwNjA4In07aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18pe3I9X19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fO2lmKCFyLmlzRGlzYWJsZWQmJnIuc3VwcG9ydHNGaWJlcil0cnl7SXQ9ci5pbmplY3QoUiksX3Q9cn1jYXRjaChlKXt9fWMuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQ9ZSxjLmNyZWF0ZVBvcnRhbD1mdW5jdGlvbihlLHQpe2lmKGt1KHQpKXJldHVybiBmdW5jdGlvbihlLHQsbixyKXtyZXR1cm57JCR0eXBlb2Y6dGUsa2V5Om51bGw9PShyPTM8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09cj9yOm51bGwpP251bGw6IiIrcixjaGlsZHJlbjplLGNvbnRhaW5lckluZm86dCxpbXBsZW1lbnRhdGlvbjpufX0oZSx0LG51bGwsMjxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOm51bGwpO3Rocm93IEVycm9yKEQoMjAwKSl9LGMuY3JlYXRlUm9vdD1mdW5jdGlvbihlLHQpe3ZhciBuLHIsbztpZihrdShlKSlyZXR1cm4gbj0hMSxyPSIiLG89dnUsbnVsbCE9dCYmKCEwPT09dC51bnN0YWJsZV9zdHJpY3RNb2RlJiYobj0hMCksdm9pZCAwIT09dC5pZGVudGlmaWVyUHJlZml4JiYocj10LmlkZW50aWZpZXJQcmVmaXgpLHZvaWQgMCE9PXQub25SZWNvdmVyYWJsZUVycm9yKSYmKG89dC5vblJlY292ZXJhYmxlRXJyb3IpLHQ9ZnUoZSwxLCExLG51bGwsMCxuLDAscixvKSxlW2pvXT10LmN1cnJlbnQsdG8oOD09PWUubm9kZVR5cGU/ZS5wYXJlbnROb2RlOmUpLG5ldyB3dSh0KTt0aHJvdyBFcnJvcihEKDI5OSkpfSxjLmZpbmRET01Ob2RlPWZ1bmN0aW9uKGUpe2lmKG51bGw9PWUpcmV0dXJuIG51bGw7aWYoMSE9PWUubm9kZVR5cGUpe3ZhciB0PWUuX3JlYWN0SW50ZXJuYWxzO2lmKHZvaWQgMD09PXQpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBlLnJlbmRlcil0aHJvdyBFcnJvcihEKDE4OCkpO3Rocm93IGU9T2JqZWN0LmtleXMoZSkuam9pbigiLCIpLEVycm9yKEQoMjY4LGUpKX1lPW51bGw9PT0oZT12dCh0KSk/bnVsbDplLnN0YXRlTm9kZX1yZXR1cm4gZX0sYy5mbHVzaFN5bmM9RmMsYy5oeWRyYXRlPWZ1bmN0aW9uKGUsdCxuKXtpZihTdSh0KSlyZXR1cm4gRXUobnVsbCxlLHQsITAsbik7dGhyb3cgRXJyb3IoRCgyMDApKX0sYy5oeWRyYXRlUm9vdD1mdW5jdGlvbihlLHQsbil7aWYoIWt1KGUpKXRocm93IEVycm9yKEQoNDA1KSk7dmFyIHI9bnVsbCE9biYmbi5oeWRyYXRlZFNvdXJjZXN8fG51bGwsbz0hMSxhPSIiLGk9dnU7aWYobnVsbCE9biYmKCEwPT09bi51bnN0YWJsZV9zdHJpY3RNb2RlJiYobz0hMCksdm9pZCAwIT09bi5pZGVudGlmaWVyUHJlZml4JiYoYT1uLmlkZW50aWZpZXJQcmVmaXgpLHZvaWQgMCE9PW4ub25SZWNvdmVyYWJsZUVycm9yKSYmKGk9bi5vblJlY292ZXJhYmxlRXJyb3IpLHQ9cHUodCxudWxsLGUsMSxudWxsIT1uP246bnVsbCxvLDAsYSxpKSxlW2pvXT10LmN1cnJlbnQsdG8oZSkscilmb3IoZT0wO2U8ci5sZW5ndGg7ZSsrKW89KG89KG49cltlXSkuX2dldFZlcnNpb24pKG4uX3NvdXJjZSksbnVsbD09dC5tdXRhYmxlU291cmNlRWFnZXJIeWRyYXRpb25EYXRhP3QubXV0YWJsZVNvdXJjZUVhZ2VySHlkcmF0aW9uRGF0YT1bbixvXTp0Lm11dGFibGVTb3VyY2VFYWdlckh5ZHJhdGlvbkRhdGEucHVzaChuLG8pO3JldHVybiBuZXcgeHUodCl9LGMucmVuZGVyPWZ1bmN0aW9uKGUsdCxuKXtpZihTdSh0KSlyZXR1cm4gRXUobnVsbCxlLHQsITEsbik7dGhyb3cgRXJyb3IoRCgyMDApKX0sYy51bm1vdW50Q29tcG9uZW50QXROb2RlPWZ1bmN0aW9uKGUpe2lmKFN1KGUpKXJldHVybiEhZS5fcmVhY3RSb290Q29udGFpbmVyJiYoRmMoZnVuY3Rpb24oKXtFdShudWxsLG51bGwsZSwhMSxmdW5jdGlvbigpe2UuX3JlYWN0Um9vdENvbnRhaW5lcj1udWxsLGVbam9dPW51bGx9KX0pLCEwKTt0aHJvdyBFcnJvcihEKDQwKSl9LGMudW5zdGFibGVfYmF0Y2hlZFVwZGF0ZXM9QmMsYy51bnN0YWJsZV9yZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcj1mdW5jdGlvbihlLHQsbixyKXtpZighU3UobikpdGhyb3cgRXJyb3IoRCgyMDApKTtpZihudWxsPT1lfHx2b2lkIDA9PT1lLl9yZWFjdEludGVybmFscyl0aHJvdyBFcnJvcihEKDM4KSk7cmV0dXJuIEV1KGUsdCxuLCExLHIpfSxjLnZlcnNpb249IjE4LjIuMC1uZXh0LTllM2I3NzJiOC0yMDIyMDYwOCJ9LGZ1bmN0aW9uKGUsdCxuKXtlLmV4cG9ydHM9bigxNzIpfSxmdW5jdGlvbihlLFQsdCl7IWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIGEoZSx0KXt2YXIgbj1lLmxlbmd0aDtmb3IoZS5wdXNoKHQpOzA8bjspe3ZhciByPW4tMT4+PjEsbz1lW3JdO2lmKCEoMDxzKG8sdCkpKWJyZWFrO2Vbcl09dCxlW25dPW8sbj1yfX1mdW5jdGlvbiBsKGUpe3JldHVybiAwPT09ZS5sZW5ndGg/bnVsbDplWzBdfWZ1bmN0aW9uIGMoZSl7aWYoMCE9PWUubGVuZ3RoKXt2YXIgdD1lWzBdLG49ZS5wb3AoKTtpZihuIT09dCl7ZVswXT1uO2Zvcih2YXIgcj0wLG89ZS5sZW5ndGgsYT1vPj4+MTtyPGE7KXt2YXIgaT0yKihyKzEpLTEsbD1lW2ldLGM9MStpLHU9ZVtjXTtpZihzKGwsbik8MClyPWM8byYmcyh1LGwpPDA/KGVbcl09dSxlW2NdPW4sYyk6KGVbcl09bCxlW2ldPW4saSk7ZWxzZXtpZighKGM8byYmcyh1LG4pPDApKWJyZWFrO2Vbcl09dSxlW2NdPW4scj1jfX19fX1mdW5jdGlvbiBzKGUsdCl7dmFyIG49ZS5zb3J0SW5kZXgtdC5zb3J0SW5kZXg7cmV0dXJuIDAhPW4/bjplLmlkLXQuaWR9Im9iamVjdCI9PXR5cGVvZiBwZXJmb3JtYW5jZSYmImZ1bmN0aW9uIj09dHlwZW9mIHBlcmZvcm1hbmNlLm5vdz8odD1wZXJmb3JtYW5jZSxULnVuc3RhYmxlX25vdz1mdW5jdGlvbigpe3JldHVybiB0Lm5vdygpfSk6KG49RGF0ZSxyPW4ubm93KCksVC51bnN0YWJsZV9ub3c9ZnVuY3Rpb24oKXtyZXR1cm4gbi5ub3coKS1yfSk7dmFyIHQsbixyLHU9W10sZj1bXSxpPTEsZD1udWxsLHA9MyxtPSExLGg9ITEsZz0hMSxvPSJmdW5jdGlvbiI9PXR5cGVvZiBzZXRUaW1lb3V0P3NldFRpbWVvdXQ6bnVsbCxiPSJmdW5jdGlvbiI9PXR5cGVvZiBjbGVhclRpbWVvdXQ/Y2xlYXJUaW1lb3V0Om51bGwseT12b2lkIDAhPT1lP2U6bnVsbDtmdW5jdGlvbiB2KGUpe2Zvcih2YXIgdD1sKGYpO251bGwhPT10Oyl7aWYobnVsbD09PXQuY2FsbGJhY2spYyhmKTtlbHNle2lmKCEodC5zdGFydFRpbWU8PWUpKWJyZWFrO2MoZiksdC5zb3J0SW5kZXg9dC5leHBpcmF0aW9uVGltZSxhKHUsdCl9dD1sKGYpfX1mdW5jdGlvbiB3KGUpe3ZhciB0O2c9ITEsdihlKSxofHwobnVsbCE9PWwodSk/KGg9ITAsXyh4KSk6bnVsbCE9PSh0PWwoZikpJiZ6KHcsdC5zdGFydFRpbWUtZSkpfWZ1bmN0aW9uIHgoZSx0KXtoPSExLGcmJihnPSExLGIoTyksTz0tMSksbT0hMDt2YXIgbj1wO3RyeXtmb3Iodih0KSxkPWwodSk7bnVsbCE9PWQmJighKGQuZXhwaXJhdGlvblRpbWU+dCl8fGUmJiFQKCkpOyl7dmFyIHIsbz1kLmNhbGxiYWNrOyJmdW5jdGlvbiI9PXR5cGVvZiBvPyhkLmNhbGxiYWNrPW51bGwscD1kLnByaW9yaXR5TGV2ZWwscj1vKGQuZXhwaXJhdGlvblRpbWU8PXQpLHQ9VC51bnN0YWJsZV9ub3coKSwiZnVuY3Rpb24iPT10eXBlb2Ygcj9kLmNhbGxiYWNrPXI6ZD09PWwodSkmJmModSksdih0KSk6Yyh1KSxkPWwodSl9dmFyIGEsaT1udWxsIT09ZHx8KG51bGwhPT0oYT1sKGYpKSYmeih3LGEuc3RhcnRUaW1lLXQpLCExKTtyZXR1cm4gaX1maW5hbGx5e2Q9bnVsbCxwPW4sbT0hMX19InVuZGVmaW5lZCIhPXR5cGVvZiBuYXZpZ2F0b3ImJnZvaWQgMCE9PW5hdmlnYXRvci5zY2hlZHVsaW5nJiZ2b2lkIDAhPT1uYXZpZ2F0b3Iuc2NoZWR1bGluZy5pc0lucHV0UGVuZGluZyYmbmF2aWdhdG9yLnNjaGVkdWxpbmcuaXNJbnB1dFBlbmRpbmcuYmluZChuYXZpZ2F0b3Iuc2NoZWR1bGluZyk7dmFyIGssUyxDPSExLEU9bnVsbCxPPS0xLGo9NSxBPS0xO2Z1bmN0aW9uIFAoKXtyZXR1cm4hKFQudW5zdGFibGVfbm93KCktQTxqKX1mdW5jdGlvbiBJKCl7aWYobnVsbCE9PUUpe3ZhciBlPVQudW5zdGFibGVfbm93KCksdD0oQT1lLCEwKTt0cnl7dD1FKCEwLGUpfWZpbmFsbHl7dD9rKCk6KEM9ITEsRT1udWxsKX19ZWxzZSBDPSExfWZ1bmN0aW9uIF8oZSl7RT1lLEN8fChDPSEwLGsoKSl9ZnVuY3Rpb24geihlLHQpe089byhmdW5jdGlvbigpe2UoVC51bnN0YWJsZV9ub3coKSl9LHQpfWs9ImZ1bmN0aW9uIj09dHlwZW9mIHk/ZnVuY3Rpb24oKXt5KEkpfToidW5kZWZpbmVkIiE9dHlwZW9mIE1lc3NhZ2VDaGFubmVsPyhlPW5ldyBNZXNzYWdlQ2hhbm5lbCxTPWUucG9ydDIsZS5wb3J0MS5vbm1lc3NhZ2U9SSxmdW5jdGlvbigpe1MucG9zdE1lc3NhZ2UobnVsbCl9KTpmdW5jdGlvbigpe28oSSwwKX0sVC51bnN0YWJsZV9JZGxlUHJpb3JpdHk9NSxULnVuc3RhYmxlX0ltbWVkaWF0ZVByaW9yaXR5PTEsVC51bnN0YWJsZV9Mb3dQcmlvcml0eT00LFQudW5zdGFibGVfTm9ybWFsUHJpb3JpdHk9MyxULnVuc3RhYmxlX1Byb2ZpbGluZz1udWxsLFQudW5zdGFibGVfVXNlckJsb2NraW5nUHJpb3JpdHk9MixULnVuc3RhYmxlX2NhbmNlbENhbGxiYWNrPWZ1bmN0aW9uKGUpe2UuY2FsbGJhY2s9bnVsbH0sVC51bnN0YWJsZV9jb250aW51ZUV4ZWN1dGlvbj1mdW5jdGlvbigpe2h8fG18fChoPSEwLF8oeCkpfSxULnVuc3RhYmxlX2ZvcmNlRnJhbWVSYXRlPWZ1bmN0aW9uKGUpe2U8MHx8MTI1PGU/Y29uc29sZS5lcnJvcigiZm9yY2VGcmFtZVJhdGUgdGFrZXMgYSBwb3NpdGl2ZSBpbnQgYmV0d2VlbiAwIGFuZCAxMjUsIGZvcmNpbmcgZnJhbWUgcmF0ZXMgaGlnaGVyIHRoYW4gMTI1IGZwcyBpcyBub3Qgc3VwcG9ydGVkIik6aj0wPGU/TWF0aC5mbG9vcigxZTMvZSk6NX0sVC51bnN0YWJsZV9nZXRDdXJyZW50UHJpb3JpdHlMZXZlbD1mdW5jdGlvbigpe3JldHVybiBwfSxULnVuc3RhYmxlX2dldEZpcnN0Q2FsbGJhY2tOb2RlPWZ1bmN0aW9uKCl7cmV0dXJuIGwodSl9LFQudW5zdGFibGVfbmV4dD1mdW5jdGlvbihlKXtzd2l0Y2gocCl7Y2FzZSAxOmNhc2UgMjpjYXNlIDM6dmFyIHQ9MzticmVhaztkZWZhdWx0OnQ9cH12YXIgbj1wO3A9dDt0cnl7cmV0dXJuIGUoKX1maW5hbGx5e3A9bn19LFQudW5zdGFibGVfcGF1c2VFeGVjdXRpb249ZnVuY3Rpb24oKXt9LFQudW5zdGFibGVfcmVxdWVzdFBhaW50PWZ1bmN0aW9uKCl7fSxULnVuc3RhYmxlX3J1bldpdGhQcmlvcml0eT1mdW5jdGlvbihlLHQpe3N3aXRjaChlKXtjYXNlIDE6Y2FzZSAyOmNhc2UgMzpjYXNlIDQ6Y2FzZSA1OmJyZWFrO2RlZmF1bHQ6ZT0zfXZhciBuPXA7cD1lO3RyeXtyZXR1cm4gdCgpfWZpbmFsbHl7cD1ufX0sVC51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1ULnVuc3RhYmxlX25vdygpO3N3aXRjaChuPSJvYmplY3QiPT10eXBlb2YgbiYmbnVsbCE9PW4mJiJudW1iZXIiPT10eXBlb2Yobj1uLmRlbGF5KSYmMDxuP3IrbjpyLGUpe2Nhc2UgMTp2YXIgbz0tMTticmVhaztjYXNlIDI6bz0yNTA7YnJlYWs7Y2FzZSA1Om89MTA3Mzc0MTgyMzticmVhaztjYXNlIDQ6bz0xZTQ7YnJlYWs7ZGVmYXVsdDpvPTVlM31yZXR1cm4gZT17aWQ6aSsrLGNhbGxiYWNrOnQscHJpb3JpdHlMZXZlbDplLHN0YXJ0VGltZTpuLGV4cGlyYXRpb25UaW1lOm89bitvLHNvcnRJbmRleDotMX0scjxuPyhlLnNvcnRJbmRleD1uLGEoZixlKSxudWxsPT09bCh1KSYmZT09PWwoZikmJihnPyhiKE8pLE89LTEpOmc9ITAseih3LG4tcikpKTooZS5zb3J0SW5kZXg9byxhKHUsZSksaHx8bXx8KGg9ITAsXyh4KSkpLGV9LFQudW5zdGFibGVfc2hvdWxkWWllbGQ9UCxULnVuc3RhYmxlX3dyYXBDYWxsYmFjaz1mdW5jdGlvbih0KXt2YXIgbj1wO3JldHVybiBmdW5jdGlvbigpe3ZhciBlPXA7cD1uO3RyeXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZmluYWxseXtwPWV9fX19LmNhbGwodGhpcyx0KDE3Mykuc2V0SW1tZWRpYXRlKX0sZnVuY3Rpb24oZSxvLGEpeyFmdW5jdGlvbihlKXt2YXIgdD12b2lkIDAhPT1lJiZlfHwidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGYmJnNlbGZ8fHdpbmRvdyxuPUZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseTtmdW5jdGlvbiByKGUsdCl7dGhpcy5faWQ9ZSx0aGlzLl9jbGVhckZuPXR9by5zZXRUaW1lb3V0PWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyByKG4uY2FsbChzZXRUaW1lb3V0LHQsYXJndW1lbnRzKSxjbGVhclRpbWVvdXQpfSxvLnNldEludGVydmFsPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyByKG4uY2FsbChzZXRJbnRlcnZhbCx0LGFyZ3VtZW50cyksY2xlYXJJbnRlcnZhbCl9LG8uY2xlYXJUaW1lb3V0PW8uY2xlYXJJbnRlcnZhbD1mdW5jdGlvbihlKXtlJiZlLmNsb3NlKCl9LHIucHJvdG90eXBlLnVucmVmPXIucHJvdG90eXBlLnJlZj1mdW5jdGlvbigpe30sci5wcm90b3R5cGUuY2xvc2U9ZnVuY3Rpb24oKXt0aGlzLl9jbGVhckZuLmNhbGwodCx0aGlzLl9pZCl9LG8uZW5yb2xsPWZ1bmN0aW9uKGUsdCl7Y2xlYXJUaW1lb3V0KGUuX2lkbGVUaW1lb3V0SWQpLGUuX2lkbGVUaW1lb3V0PXR9LG8udW5lbnJvbGw9ZnVuY3Rpb24oZSl7Y2xlYXJUaW1lb3V0KGUuX2lkbGVUaW1lb3V0SWQpLGUuX2lkbGVUaW1lb3V0PS0xfSxvLl91bnJlZkFjdGl2ZT1vLmFjdGl2ZT1mdW5jdGlvbihlKXtjbGVhclRpbWVvdXQoZS5faWRsZVRpbWVvdXRJZCk7dmFyIHQ9ZS5faWRsZVRpbWVvdXQ7MDw9dCYmKGUuX2lkbGVUaW1lb3V0SWQ9c2V0VGltZW91dChmdW5jdGlvbigpe2UuX29uVGltZW91dCYmZS5fb25UaW1lb3V0KCl9LHQpKX0sYSgxNzQpLG8uc2V0SW1tZWRpYXRlPSJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZiYmc2VsZi5zZXRJbW1lZGlhdGV8fHZvaWQgMCE9PWUmJmUuc2V0SW1tZWRpYXRlfHx0aGlzJiZ0aGlzLnNldEltbWVkaWF0ZSxvLmNsZWFySW1tZWRpYXRlPSJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZiYmc2VsZi5jbGVhckltbWVkaWF0ZXx8dm9pZCAwIT09ZSYmZS5jbGVhckltbWVkaWF0ZXx8dGhpcyYmdGhpcy5jbGVhckltbWVkaWF0ZX0uY2FsbCh0aGlzLGEoMjIpKX0sZnVuY3Rpb24oZSx0LG4peyFmdW5jdGlvbihlLHQpe2Z1bmN0aW9uIGEoZSl7ZGVsZXRlIGNbZV19ZnVuY3Rpb24gaShlKXtpZih1KXNldFRpbWVvdXQoaSwwLGUpO2Vsc2V7dmFyIHQ9Y1tlXTtpZih0KXt1PSEwO3RyeXt2YXIgbj10LHI9bi5jYWxsYmFjayxvPW4uYXJncztzd2l0Y2goby5sZW5ndGgpe2Nhc2UgMDpyKCk7YnJlYWs7Y2FzZSAxOnIob1swXSk7YnJlYWs7Y2FzZSAyOnIob1swXSxvWzFdKTticmVhaztjYXNlIDM6cihvWzBdLG9bMV0sb1syXSk7YnJlYWs7ZGVmYXVsdDpyLmFwcGx5KGwsbyl9fWZpbmFsbHl7YShlKSx1PSExfX19fWZ1bmN0aW9uIG4oKXtmdW5jdGlvbiBlKGUpe2Uuc291cmNlPT09ciYmInN0cmluZyI9PXR5cGVvZiBlLmRhdGEmJjA9PT1lLmRhdGEuaW5kZXhPZih0KSYmaSgrZS5kYXRhLnNsaWNlKHQubGVuZ3RoKSl9dmFyIHQ9InNldEltbWVkaWF0ZSQiK01hdGgucmFuZG9tKCkrIiQiO3IuYWRkRXZlbnRMaXN0ZW5lcj9yLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGUsITEpOnIuYXR0YWNoRXZlbnQoIm9ubWVzc2FnZSIsZSksZj1mdW5jdGlvbihlKXtyLnBvc3RNZXNzYWdlKHQrZSwiKiIpfX12YXIgcixsLG8sYyx1LHMsZixkLHA7KHI9InVuZGVmaW5lZCI9PXR5cGVvZiBzZWxmP3ZvaWQgMD09PWU/dGhpczplOnNlbGYpLnNldEltbWVkaWF0ZXx8KG89MSx1PSEoYz17fSkscz1yLmRvY3VtZW50LGU9KGU9T2JqZWN0LmdldFByb3RvdHlwZU9mJiZPYmplY3QuZ2V0UHJvdG90eXBlT2YocikpJiZlLnNldFRpbWVvdXQ/ZTpyLCJbb2JqZWN0IHByb2Nlc3NdIj09PXt9LnRvU3RyaW5nLmNhbGwoci5wcm9jZXNzKT9mPWZ1bmN0aW9uKGUpe3QubmV4dFRpY2soZnVuY3Rpb24oKXtpKGUpfSl9OiFmdW5jdGlvbigpe3ZhciBlLHQ7aWYoci5wb3N0TWVzc2FnZSYmIXIuaW1wb3J0U2NyaXB0cylyZXR1cm4gZT0hMCx0PXIub25tZXNzYWdlLHIub25tZXNzYWdlPWZ1bmN0aW9uKCl7ZT0hMX0sci5wb3N0TWVzc2FnZSgiIiwiKiIpLHIub25tZXNzYWdlPXQsZX0oKT9mPXIuTWVzc2FnZUNoYW5uZWw/KChwPW5ldyBNZXNzYWdlQ2hhbm5lbCkucG9ydDEub25tZXNzYWdlPWZ1bmN0aW9uKGUpe2koZS5kYXRhKX0sZnVuY3Rpb24oZSl7cC5wb3J0Mi5wb3N0TWVzc2FnZShlKX0pOnMmJiJvbnJlYWR5c3RhdGVjaGFuZ2UiaW4gcy5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKT8oZD1zLmRvY3VtZW50RWxlbWVudCxmdW5jdGlvbihlKXt2YXIgdD1zLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO3Qub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7aShlKSx0Lm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsLGQucmVtb3ZlQ2hpbGQodCksdD1udWxsfSxkLmFwcGVuZENoaWxkKHQpfSk6ZnVuY3Rpb24oZSl7c2V0VGltZW91dChpLDAsZSl9Om4oKSxlLnNldEltbWVkaWF0ZT1mdW5jdGlvbihlKXsiZnVuY3Rpb24iIT10eXBlb2YgZSYmKGU9bmV3IEZ1bmN0aW9uKCIiK2UpKTtmb3IodmFyIHQ9bmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMSksbj0wO248dC5sZW5ndGg7bisrKXRbbl09YXJndW1lbnRzW24rMV07cmV0dXJuIGNbb109e2NhbGxiYWNrOmUsYXJnczp0fSxmKG8pLG8rK30sZS5jbGVhckltbWVkaWF0ZT1hKX0uY2FsbCh0aGlzLG4oMjIpLG4oOTIpKX0sZnVuY3Rpb24oZSx0LG4pe3ZhciByLG89U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLGE9U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIiksaT1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpLGw9U3ltYm9sLmZvcigicmVhY3Quc3RyaWN0X21vZGUiKSxjPVN5bWJvbC5mb3IoInJlYWN0LnByb2ZpbGVyIiksdT1TeW1ib2wuZm9yKCJyZWFjdC5wcm92aWRlciIpLHM9U3ltYm9sLmZvcigicmVhY3QuY29udGV4dCIpLGY9U3ltYm9sLmZvcigicmVhY3Quc2VydmVyX2NvbnRleHQiKSxkPVN5bWJvbC5mb3IoInJlYWN0LmZvcndhcmRfcmVmIikscD1TeW1ib2wuZm9yKCJyZWFjdC5zdXNwZW5zZSIpLG09U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2VfbGlzdCIpLGg9U3ltYm9sLmZvcigicmVhY3QubWVtbyIpLGc9U3ltYm9sLmZvcigicmVhY3QubGF6eSIpLGI9U3ltYm9sLmZvcigicmVhY3Qub2Zmc2NyZWVuIik7ZnVuY3Rpb24geShlKXtpZigib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lKXt2YXIgdD1lLiQkdHlwZW9mO3N3aXRjaCh0KXtjYXNlIG86c3dpdGNoKGU9ZS50eXBlKXtjYXNlIGk6Y2FzZSBjOmNhc2UgbDpjYXNlIHA6Y2FzZSBtOnJldHVybiBlO2RlZmF1bHQ6c3dpdGNoKGU9ZSYmZS4kJHR5cGVvZil7Y2FzZSBmOmNhc2UgczpjYXNlIGQ6Y2FzZSBnOmNhc2UgaDpjYXNlIHU6cmV0dXJuIGU7ZGVmYXVsdDpyZXR1cm4gdH19Y2FzZSBhOnJldHVybiB0fX19cj1TeW1ib2wuZm9yKCJyZWFjdC5tb2R1bGUucmVmZXJlbmNlIiksdC5Db250ZXh0Q29uc3VtZXI9cyx0LkNvbnRleHRQcm92aWRlcj11LHQuRWxlbWVudD1vLHQuRm9yd2FyZFJlZj1kLHQuRnJhZ21lbnQ9aSx0Lkxhenk9Zyx0Lk1lbW89aCx0LlBvcnRhbD1hLHQuUHJvZmlsZXI9Yyx0LlN0cmljdE1vZGU9bCx0LlN1c3BlbnNlPXAsdC5TdXNwZW5zZUxpc3Q9bSx0LmlzQXN5bmNNb2RlPWZ1bmN0aW9uKCl7cmV0dXJuITF9LHQuaXNDb25jdXJyZW50TW9kZT1mdW5jdGlvbigpe3JldHVybiExfSx0LmlzQ29udGV4dENvbnN1bWVyPWZ1bmN0aW9uKGUpe3JldHVybiB5KGUpPT09c30sdC5pc0NvbnRleHRQcm92aWRlcj1mdW5jdGlvbihlKXtyZXR1cm4geShlKT09PXV9LHQuaXNFbGVtZW50PWZ1bmN0aW9uKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJmUuJCR0eXBlb2Y9PT1vfSx0LmlzRm9yd2FyZFJlZj1mdW5jdGlvbihlKXtyZXR1cm4geShlKT09PWR9LHQuaXNGcmFnbWVudD1mdW5jdGlvbihlKXtyZXR1cm4geShlKT09PWl9LHQuaXNMYXp5PWZ1bmN0aW9uKGUpe3JldHVybiB5KGUpPT09Z30sdC5pc01lbW89ZnVuY3Rpb24oZSl7cmV0dXJuIHkoZSk9PT1ofSx0LmlzUG9ydGFsPWZ1bmN0aW9uKGUpe3JldHVybiB5KGUpPT09YX0sdC5pc1Byb2ZpbGVyPWZ1bmN0aW9uKGUpe3JldHVybiB5KGUpPT09Y30sdC5pc1N0cmljdE1vZGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHkoZSk9PT1sfSx0LmlzU3VzcGVuc2U9ZnVuY3Rpb24oZSl7cmV0dXJuIHkoZSk9PT1wfSx0LmlzU3VzcGVuc2VMaXN0PWZ1bmN0aW9uKGUpe3JldHVybiB5KGUpPT09bX0sdC5pc1ZhbGlkRWxlbWVudFR5cGU9ZnVuY3Rpb24oZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlfHwiZnVuY3Rpb24iPT10eXBlb2YgZXx8ZT09PWl8fGU9PT1jfHxlPT09bHx8ZT09PXB8fGU9PT1tfHxlPT09Ynx8Im9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmKGUuJCR0eXBlb2Y9PT1nfHxlLiQkdHlwZW9mPT09aHx8ZS4kJHR5cGVvZj09PXV8fGUuJCR0eXBlb2Y9PT1zfHxlLiQkdHlwZW9mPT09ZHx8ZS4kJHR5cGVvZj09PXJ8fHZvaWQgMCE9PWUuZ2V0TW9kdWxlSWQpfSx0LnR5cGVPZj15fSxmdW5jdGlvbihlLHQsbil7ZS5leHBvcnRzPW4oMTc3KX0sZnVuY3Rpb24oZSx0LG4pe3ZhciByPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5mb3Isbz1yP1N5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKTo2MDEwMyxhPXI/U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIik6NjAxMDYsaT1yP1N5bWJvbC5mb3IoInJlYWN0LmZyYWdtZW50Iik6NjAxMDcsbD1yP1N5bWJvbC5mb3IoInJlYWN0LnN0cmljdF9tb2RlIik6NjAxMDgsYz1yP1N5bWJvbC5mb3IoInJlYWN0LnByb2ZpbGVyIik6NjAxMTQsdT1yP1N5bWJvbC5mb3IoInJlYWN0LnByb3ZpZGVyIik6NjAxMDkscz1yP1N5bWJvbC5mb3IoInJlYWN0LmNvbnRleHQiKTo2MDExMCxmPXI/U3ltYm9sLmZvcigicmVhY3QuYXN5bmNfbW9kZSIpOjYwMTExLGQ9cj9TeW1ib2wuZm9yKCJyZWFjdC5jb25jdXJyZW50X21vZGUiKTo2MDExMSxwPXI/U3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKTo2MDExMixtPXI/U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2UiKTo2MDExMyxoPXI/U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2VfbGlzdCIpOjYwMTIwLGc9cj9TeW1ib2wuZm9yKCJyZWFjdC5tZW1vIik6NjAxMTUsYj1yP1N5bWJvbC5mb3IoInJlYWN0LmxhenkiKTo2MDExNix5PXI/U3ltYm9sLmZvcigicmVhY3QuYmxvY2siKTo2MDEyMSx2PXI/U3ltYm9sLmZvcigicmVhY3QuZnVuZGFtZW50YWwiKTo2MDExNyx3PXI/U3ltYm9sLmZvcigicmVhY3QucmVzcG9uZGVyIik6NjAxMTgseD1yP1N5bWJvbC5mb3IoInJlYWN0LnNjb3BlIik6NjAxMTk7ZnVuY3Rpb24gayhlKXtpZigib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lKXt2YXIgdD1lLiQkdHlwZW9mO3N3aXRjaCh0KXtjYXNlIG86c3dpdGNoKGU9ZS50eXBlKXtjYXNlIGY6Y2FzZSBkOmNhc2UgaTpjYXNlIGM6Y2FzZSBsOmNhc2UgbTpyZXR1cm4gZTtkZWZhdWx0OnN3aXRjaChlPWUmJmUuJCR0eXBlb2Ype2Nhc2UgczpjYXNlIHA6Y2FzZSBiOmNhc2UgZzpjYXNlIHU6cmV0dXJuIGU7ZGVmYXVsdDpyZXR1cm4gdH19Y2FzZSBhOnJldHVybiB0fX19ZnVuY3Rpb24gUyhlKXtyZXR1cm4gayhlKT09PWR9dC5Bc3luY01vZGU9Zix0LkNvbmN1cnJlbnRNb2RlPWQsdC5Db250ZXh0Q29uc3VtZXI9cyx0LkNvbnRleHRQcm92aWRlcj11LHQuRWxlbWVudD1vLHQuRm9yd2FyZFJlZj1wLHQuRnJhZ21lbnQ9aSx0Lkxhenk9Yix0Lk1lbW89Zyx0LlBvcnRhbD1hLHQuUHJvZmlsZXI9Yyx0LlN0cmljdE1vZGU9bCx0LlN1c3BlbnNlPW0sdC5pc0FzeW5jTW9kZT1mdW5jdGlvbihlKXtyZXR1cm4gUyhlKXx8ayhlKT09PWZ9LHQuaXNDb25jdXJyZW50TW9kZT1TLHQuaXNDb250ZXh0Q29uc3VtZXI9ZnVuY3Rpb24oZSl7cmV0dXJuIGsoZSk9PT1zfSx0LmlzQ29udGV4dFByb3ZpZGVyPWZ1bmN0aW9uKGUpe3JldHVybiBrKGUpPT09dX0sdC5pc0VsZW1lbnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmZS4kJHR5cGVvZj09PW99LHQuaXNGb3J3YXJkUmVmPWZ1bmN0aW9uKGUpe3JldHVybiBrKGUpPT09cH0sdC5pc0ZyYWdtZW50PWZ1bmN0aW9uKGUpe3JldHVybiBrKGUpPT09aX0sdC5pc0xhenk9ZnVuY3Rpb24oZSl7cmV0dXJuIGsoZSk9PT1ifSx0LmlzTWVtbz1mdW5jdGlvbihlKXtyZXR1cm4gayhlKT09PWd9LHQuaXNQb3J0YWw9ZnVuY3Rpb24oZSl7cmV0dXJuIGsoZSk9PT1hfSx0LmlzUHJvZmlsZXI9ZnVuY3Rpb24oZSl7cmV0dXJuIGsoZSk9PT1jfSx0LmlzU3RyaWN0TW9kZT1mdW5jdGlvbihlKXtyZXR1cm4gayhlKT09PWx9LHQuaXNTdXNwZW5zZT1mdW5jdGlvbihlKXtyZXR1cm4gayhlKT09PW19LHQuaXNWYWxpZEVsZW1lbnRUeXBlPWZ1bmN0aW9uKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZXx8ImZ1bmN0aW9uIj09dHlwZW9mIGV8fGU9PT1pfHxlPT09ZHx8ZT09PWN8fGU9PT1sfHxlPT09bXx8ZT09PWh8fCJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJihlLiQkdHlwZW9mPT09Ynx8ZS4kJHR5cGVvZj09PWd8fGUuJCR0eXBlb2Y9PT11fHxlLiQkdHlwZW9mPT09c3x8ZS4kJHR5cGVvZj09PXB8fGUuJCR0eXBlb2Y9PT12fHxlLiQkdHlwZW9mPT09d3x8ZS4kJHR5cGVvZj09PXh8fGUuJCR0eXBlb2Y9PT15KX0sdC50eXBlT2Y9a30sZnVuY3Rpb24oYixlLHQpe3QucihlKSx0LmQoZSwic2NyaXB0SWQiLGZ1bmN0aW9uKCl7cmV0dXJuIGd9KTt0KDk4KSx0KDE2Nyk7dmFyIG4sRj10KDApLEg9dC5uKEYpLGU9dCg5MykseT10Lm4oZSk7ZnVuY3Rpb24gbygpe3JldHVybiBuYXZpZ2F0b3IudXNlckFnZW50fHxuYXZpZ2F0b3IudmVuZG9yfWZ1bmN0aW9uIHYoKXtyZXR1cm4gMDw9bmF2aWdhdG9yLnBsYXRmb3JtLnRvVXBwZXJDYXNlKCkuaW5kZXhPZigiTUFDIil9ZnVuY3Rpb24gYSgpe3JldHVybiEhL2lQYWR8aVBob25lfGlQb2QvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKXx8ISEvaXAoaG9uZXxvZHxhZCkvaS50ZXN0KG8oKSl8fG5hdmlnYXRvci5tYXhUb3VjaFBvaW50cyYmMjxuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMmJi9NYWNJbnRlbC8udGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pfWZ1bmN0aW9uIHcoKXtyZXR1cm4tMSE9PW8oKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoImFuZHJvaWQiKX1mdW5jdGlvbiBEKCl7dmFyIGU7cmV0dXJuIHZvaWQgMD09PW4mJiExPT09KG49YSgpfHx3KCkpJiYoZT1vKCksbj0vKGFuZHJvaWR8YmJcZCt8bWVlZ28pLittb2JpbGV8YXZhbnRnb3xiYWRhXC98YmxhY2tiZXJyeXxibGF6ZXJ8Y29tcGFsfGVsYWluZXxmZW5uZWN8aGlwdG9wfGllbW9iaWxlfGlwKGhvbmV8b2QpfGlyaXN8a2luZGxlfGxnZSB8bWFlbW98bWlkcHxtbXB8bW9iaWxlLitmaXJlZm94fG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyBjZXx4ZGF8eGlpbm8vaS50ZXN0KGUpfHwvMTIwN3w2MzEwfDY1OTB8M2dzb3w0dGhwfDUwWzEtNl1pfDc3MHN8ODAyc3xhIHdhfGFiYWN8YWMoZXJ8b298c1wtKXxhaShrb3xybil8YWwoYXZ8Y2F8Y28pfGFtb2l8YW4oZXh8bnl8eXcpfGFwdHV8YXIoY2h8Z28pfGFzKHRlfHVzKXxhdHR3fGF1KGRpfFwtbXxyIHxzICl8YXZhbnxiZShja3xsbHxucSl8YmkobGJ8cmQpfGJsKGFjfGF6KXxicihlfHYpd3xidW1ifGJ3XC0obnx1KXxjNTVcL3xjYXBpfGNjd2F8Y2RtXC18Y2VsbHxjaHRtfGNsZGN8Y21kXC18Y28obXB8bmQpfGNyYXd8ZGEoaXR8bGx8bmcpfGRidGV8ZGNcLXN8ZGV2aXxkaWNhfGRtb2J8ZG8oY3xwKW98ZHMoMTJ8XC1kKXxlbCg0OXxhaSl8ZW0obDJ8dWwpfGVyKGljfGswKXxlc2w4fGV6KFs0LTddMHxvc3x3YXx6ZSl8ZmV0Y3xmbHkoXC18Xyl8ZzEgdXxnNTYwfGdlbmV8Z2ZcLTV8Z1wtbW98Z28oXC53fG9kKXxncihhZHx1bil8aGFpZXxoY2l0fGhkXC0obXxwfHQpfGhlaVwtfGhpKHB0fHRhKXxocCggaXxpcCl8aHNcLWN8aHQoYyhcLXwgfF98YXxnfHB8c3x0KXx0cCl8aHUoYXd8dGMpfGlcLSgyMHxnb3xtYSl8aTIzMHxpYWMoIHxcLXxcLyl8aWJyb3xpZGVhfGlnMDF8aWtvbXxpbTFrfGlubm98aXBhcXxpcmlzfGphKHR8dilhfGpicm98amVtdXxqaWdzfGtkZGl8a2VqaXxrZ3QoIHxcLyl8a2xvbnxrcHQgfGt3Y1wtfGt5byhjfGspfGxlKG5vfHhpKXxsZyggZ3xcLyhrfGx8dSl8NTB8NTR8XC1bYS13XSl8bGlid3xseW54fG0xXC13fG0zZ2F8bTUwXC98bWEodGV8dWl8eG8pfG1jKDAxfDIxfGNhKXxtXC1jcnxtZShyY3xyaSl8bWkobzh8b2F8dHMpfG1tZWZ8bW8oMDF8MDJ8Yml8ZGV8ZG98dChcLXwgfG98dil8enopfG10KDUwfHAxfHYgKXxtd2JwfG15d2F8bjEwWzAtMl18bjIwWzItM118bjMwKDB8Mil8bjUwKDB8Mnw1KXxuNygwKDB8MSl8MTApfG5lKChjfG0pXC18b258dGZ8d2Z8d2d8d3QpfG5vayg2fGkpfG56cGh8bzJpbXxvcCh0aXx3dil8b3Jhbnxvd2cxfHA4MDB8cGFuKGF8ZHx0KXxwZHhnfHBnKDEzfFwtKFsxLThdfGMpKXxwaGlsfHBpcmV8cGwoYXl8dWMpfHBuXC0yfHBvKGNrfHJ0fHNlKXxwcm94fHBzaW98cHRcLWd8cWFcLWF8cWMoMDd8MTJ8MjF8MzJ8NjB8XC1bMi03XXxpXC0pfHF0ZWt8cjM4MHxyNjAwfHJha3N8cmltOXxybyh2ZXx6byl8czU1XC98c2EoZ2V8bWF8bW18bXN8bnl8dmEpfHNjKDAxfGhcLXxvb3xwXC0pfHNka1wvfHNlKGMoXC18MHwxKXw0N3xtY3xuZHxyaSl8c2doXC18c2hhcnxzaWUoXC18bSl8c2tcLTB8c2woNDV8aWQpfHNtKGFsfGFyfGIzfGl0fHQ1KXxzbyhmdHxueSl8c3AoMDF8aFwtfHZcLXx2ICl8c3koMDF8bWIpfHQyKDE4fDUwKXx0NigwMHwxMHwxOCl8dGEoZ3R8bGspfHRjbFwtfHRkZ1wtfHRlbChpfG0pfHRpbVwtfHRcLW1vfHRvKHBsfHNoKXx0cyg3MHxtXC18bTN8bTUpfHR4XC05fHVwKFwuYnxnMXxzaSl8dXRzdHx2NDAwfHY3NTB8dmVyaXx2aShyZ3x0ZSl8dmsoNDB8NVswLTNdfFwtdil8dm00MHx2b2RhfHZ1bGN8dngoNTJ8NTN8NjB8NjF8NzB8ODB8ODF8ODN8ODV8OTgpfHczYyhcLXwgKXx3ZWJjfHdoaXR8d2koZyB8bmN8bncpfHdtbGJ8d29udXx4NzAwfHlhc1wtfHlvdXJ8emV0b3x6dGVcLS9pLnRlc3QoZS5zdWJzdHIoMCw0KSkpLG59ZnVuY3Rpb24gVSgpe3JldHVybiFEKCl9dmFyIGU9dCg5NCkseD10Lm4oZSk7ZnVuY3Rpb24gaShlKXtyZXR1cm4oaT0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYic3ltYm9sIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbihlKXtyZXR1cm4gdHlwZW9mIGV9OmZ1bmN0aW9uKGUpe3JldHVybiBlJiYiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZlLmNvbnN0cnVjdG9yPT09U3ltYm9sJiZlIT09U3ltYm9sLnByb3RvdHlwZT8ic3ltYm9sIjp0eXBlb2YgZX0pKGUpfWZ1bmN0aW9uIF8odCxlKXt2YXIgbixyPU9iamVjdC5rZXlzKHQpO3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzJiYobj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpLGUmJihuPW4uZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsZSkuZW51bWVyYWJsZX0pKSxyLnB1c2guYXBwbHkocixuKSkscn12YXIgbD17Y2FsbFRvQWN0aW9uOiJNZXNzYWdlIHVzIPCfkYsiLGJ1dHRvblRleHQ6IkNvbnRhY3QgdXMiLGJ1dHRvblRleHRDbG9zZToiQ2xvc2UiLGdyZWV0aW5nTWVzc2FnZToiSGVsbG8g8J+RiyBIb3cgbWF5IHdlIGhlbHAgeW91PyBKdXN0IHNlbmQgdXMgYSBtZXNzYWdlIG5vdyB0byBnZXQgYXNzaXN0YW5jZS4iLGdyZWV0aW5nTWVzc2FnZURlbGF5OjUsY2FsbFRvQWN0aW9uRGVsYXk6M2UzLGNvbXBhbnlMb2dvVXJsOiExLGJ1dHRvbkltYWdlVXJsOiExLHBvc2l0aW9uOiJyaWdodCIsZ3JlZXRpbmc6ITEsYW5pbWF0aW9uOiExLGdyZWV0aW5nU3R5bGU6ImNsYXNzaWMiLGdyZWV0aW5nQWdlbnROYW1lOiJCb2IiLGdyZWV0aW5nRGlyZWN0aW9uOiJjb2x1bW4iLGdyZWV0aW5nQWdlbnRQb3NpdGlvbjoiTWFuYWdlciIsZ3JlZXRpbmdTdGFydENoYXRXaXRoOiJTdGFydCBDaGF0IHdpdGg6IixncmVldGluZ01lc3NlbmdlcnM6ITAsZ3JlZXRpbmdDb29raWU6ODY0MDAsYnJhbmRpbmc6ITEsZGlyZWN0aW9uOiJjb2x1bW4iLGJvcmRlcjohMSxub3RpZmljYXRpb25JbmRpY2F0b3I6ITEsYnV0dG9uQm9yZGVyUmFkaXVzOjUwLGFjdGl2YXRvclNpemU6NTAsYnV0dG9uU2hhZG93OjQwLGJ1dHRvbk9wYWNpdHk6MTAwLGJnU3R5bGU6ImNvbG9yIixidXR0b25BbmltYXRpb246InB1bHNlIixhY3RpdmF0b3JJY29uOiJjbGFzc2ljIixidXR0b25TdHlsZToiY2xhc3NpYyIsc2hpZnRIb3Jpem9udGFsOjAsc2hpZnRWZXJ0aWNhbDowLGdhOiExLG1pcnJvcjohMSxtb2JpbGU6ITAsZGVza3RvcDohMCxkb21haW46ITEsa2V5OiExLG9yZGVyOltdLGlzU2luZ2xlOiExLHNob3dXaWRnZXQ6ITAsY29uZmlnTG9hZGVkOiExLGRpc3BsYXlPbkFsbFBhZ2VzOiEwLHBhZ2VMaXN0VG9TaG93OltdLHBhZ2VMaXN0VG9IaWRlOltdLHN1YnNjcmlwdGlvbkNyZWF0ZWREYXRlOm51bGwsYnV0dG9uQ29sb3I6IiNGRjY1NTAiLGFwcGxlOiExLGFwcGxlTGFiZWw6IkFwcGxlIE1lc3NhZ2VzIixhcHBsZUNvbG9yOiIjMzNkOTRmIixhcHBsZUljb246ITEseW91dHViZTohMSx5b3V0dWJlTGFiZWw6IllvdXR1YmUiLHlvdXR1YmVDb2xvcjoiI2ZmMDAwMCIseW91dHViZUljb246ITEseW91dHViZVNob3dQb3B1cFBsYXRmb3JtOiJldmVyeXdoZXJlIixjYWxsOiExLGNhbGxMYWJlbDoiUGhvbmUiLGNhbGxDb2xvcjoiI2VjNTkyMyIsY2FsbEljb246ITEsY2FsbFFyQ29kZTohMSxjYWxsU2hvd1BvcHVwUGxhdGZvcm06ImRlc2t0b3AiLGNvbnRhY3Rmb3JtSG9zdDpudWxsLGNvbnRhY3Rmb3JtOiExLGNvbnRhY3Rmb3JtTGFiZWw6IkNvbnRhY3QgRm9ybSIsY29udGFjdGZvcm1Db2xvcjoiIzAwNjNmZiIsY29udGFjdGZvcm1JY29uOiExLGNvbnRhY3Rmb3JtUG9wdXBUaXRsZToiQ29udGFjdCBVcyIsY29udGFjdGZvcm1Qb3B1cExhbmc6ImVuIixkaXNjb3JkOiExLGRpc2NvcmRMYWJlbDoiRGlzY29yZCIsZGlzY29yZENvbG9yOiIjNTg2NUYyIixkaXNjb3JkSWNvbjohMSx0ZWFtczohMSx0ZWFtc0xhYmVsOiJUZWFtcyIsdGVhbXNDb2xvcjoiI2ZmZmZmZiIsdGVhbXNJY29uOiExLGVtYWlsOiExLGVtYWlsTGFiZWw6IkVtYWlsIixlbWFpbENvbG9yOiIjNjA2MDYwIixlbWFpbEljb246ITEsZmFjZWJvb2s6ITEsZmFjZWJvb2tMYWJlbDoiTWVzc2VuZ2VyIixmYWNlYm9va0NvbG9yOiIjMDA4NGZmIixmYWNlYm9va0ljb246ITEsZmFjZWJvb2tGcmFtZTpudWxsLGNhbGVuZGFySG9zdDpudWxsLGNhbGVuZGFyOiExLGNhbGVuZGFyTGFiZWw6IkFwcG9pbnRtZW50IixjYWxlbmRhckNvbG9yOiIjMDA2M2ZmIixjYWxlbmRhckljb246ITEsY2FsZW5kYXJDdXN0b21NZXNzYWdlOiJNYWtlIGFuIGFwcG9pbnRtZW50ISIsY2FsZW5kYXJOYW1lUGxhY2Vob2xkZXI6Ik5hbWUiLGNhbGVuZGFyUGhvbmVQbGFjZWhvbGRlcjoiUGhvbmUiLGNhbGVuZGFyRW1haWxQbGFjZWhvbGRlcjoiRW1haWwiLGNhbGVuZGFyTWVzc2FnZVBsYWNlaG9sZGVyOiJNZXNzYWdlIixjYWxlbmRhclNlbmRCdXR0b25UZXh0OiJTRU5EIixnb29nbGVtYXA6ITEsZ29vZ2xlbWFwTGFiZWw6Ikdvb2dsZSBNYXBzIixnb29nbGVtYXBDdXN0b21NZXNzYWdlOiExLGdvb2dsZW1hcENvbG9yOiIjZjNmM2YzIixnb29nbGVtYXBJY29uOiExLGdvb2dsZW1hcFNob3dQb3B1cFBsYXRmb3JtOiJub3doZXJlIixpbnN0YWdyYW06ITEsaW5zdGFncmFtTGFiZWw6Ikluc3RhZ3JhbSIsaW5zdGFncmFtQ29sb3I6IiNGNzc3MzciLGluc3RhZ3JhbUljb246ITEsbGluZTohMSxsaW5lTGFiZWw6IkxpbmUiLGxpbmVDb2xvcjoiIzAwYzMwMCIsbGluZUljb246ITEsbGluZVNob3dQb3B1cFBsYXRmb3JtOiJkZXNrdG9wIixsaW5rOiExLGxpbmtMYWJlbDoiTGluayIsbGlua0NvbG9yOiIjMWY4OGU1IixsaW5rSWNvbjohMSxsaW5rZWRpbjohMSxsaW5rZWRpbkxhYmVsOiJMaW5rZWRJbiIsbGlua2VkaW5Db2xvcjoiIzAwN2ViYiIsbGlua2VkaW5JY29uOiExLHNreXBlOiExLHNreXBlTGFiZWw6IlNreXBlIixza3lwZUNvbG9yOiIjMDBhZmYwIixza3lwZUljb246ITEsc2xhY2s6ITEsc2xhY2tMYWJlbDoiU2xhY2siLHNsYWNrQ29sb3I6IiNmZmZmZmYiLHNsYWNrSWNvbjohMSxzbXM6ITEsc21zTGFiZWw6IlNNUyIsc21zQ29sb3I6IiMxZWNlYTgiLHNtc0ljb246ITEsc21zU2hvd1BvcHVwUGxhdGZvcm06ImRlc2t0b3AiLHNuYXBjaGF0OiExLHNuYXBjaGF0TGFiZWw6IlNuYXBjaGF0IixzbmFwY2hhdENvbG9yOiIjRkZFQTAwIixzbmFwY2hhdEljb246ITEsc25hcGNoYXRTaG93UG9wdXBQbGF0Zm9ybToiZGVza3RvcCIsdGVsZWdyYW06ITEsdGVsZWdyYW1MYWJlbDoiVGVsZWdyYW0iLHRlbGVncmFtQ29sb3I6IiMwMDg3Y2IiLHRlbGVncmFtSWNvbjohMSx0aWt0b2s6ITEsdGlrdG9rTGFiZWw6IlRpa1RvayIsdGlrdG9rQ29sb3I6IiMwMDAwMDAiLHRpa3Rva0ljb246ITEsdHdpdHRlcjohMSx0d2l0dGVyTGFiZWw6IlguY29tIix0d2l0dGVyQ29sb3I6IiMwMDAwMDAiLHR3aXR0ZXJJY29uOiExLHZpYmVyOiExLHZpYmVyTGFiZWw6IlZpYmVyIix2aWJlckNvbG9yOiIjN2I1MTlkIix2aWJlckljb246ITEsdmliZXJTaG93UG9wdXBQbGF0Zm9ybToiZGVza3RvcCIsdmtvbnRha3RlOiExLHZrb250YWt0ZUxhYmVsOiJWa29udGFrdGUiLHZrb250YWt0ZUNvbG9yOiIjNjM4M2E4Iix2a29udGFrdGVJY29uOiExLGNhbGxiYWNrSG9zdDpudWxsLGNhbGxiYWNrOiExLGNhbGxiYWNrTGFiZWw6IkNhbGxiYWNrIixjYWxsYmFja0NvbG9yOiIjMDA2M2ZmIixjYWxsYmFja0ljb246ITEsY2FsbGJhY2tDdXN0b21NZXNzYWdlOiJXZSB3aWxsIGNhbGwgeW91IGJhY2sgaW4gNSBtaW5zISIsY2FsbGJhY2tOYW1lUGxhY2Vob2xkZXI6Ik5hbWUiLGNhbGxiYWNrUGhvbmVQbGFjZWhvbGRlcjoiUGhvbmUiLGNhbGxiYWNrU2VuZEJ1dHRvblRleHQ6IkNhbGwgbWUiLHdhemU6ITEsd2F6ZUxhYmVsOiJXYXplIix3YXplQ29sb3I6IiMzMmNjZmYiLHdhemVJY29uOiExLHdlY2hhdDohMSx3ZWNoYXRMYWJlbDoiV2VDaGF0Iix3ZWNoYXRDb2xvcjoiIzJkYzEwMCIsd2VjaGF0SWNvbjohMSx3ZWNoYXRTaG93UG9wdXBQbGF0Zm9ybToiZGVza3RvcCIsd2hhdHNhcHBMYWJlbDoiV2hhdHNBcHAiLHdoYXRzYXBwQ29sb3I6IiM0ZGMyNDciLHdoYXRzYXBwSWNvbjohMSx3aGF0c2FwcFNob3dQb3B1cDohMSx3aGF0c2FwcFBvcHVwVGl0bGU6ITEsd2hhdHNhcHBQb3B1cFN1YnRpdGxlOiExLHdoYXRzYXBwOiExLHdoYXRzYXBwQWdlbnROdW1iZXIyOiExLHdoYXRzYXBwQWdlbnROdW1iZXIzOiExLHdoYXRzYXBwQWdlbnROdW1iZXI0OiExLHdoYXRzYXBwQWdlbnROdW1iZXI1OiExLHdoYXRzYXBwQWdlbnROYW1lMToiQWdlbnQgbmFtZSIsd2hhdHNhcHBBZ2VudE5hbWUyOiJBZ2VudCBuYW1lIix3aGF0c2FwcEFnZW50TmFtZTM6IkFnZW50IG5hbWUiLHdoYXRzYXBwQWdlbnROYW1lNDoiQWdlbnQgbmFtZSIsd2hhdHNhcHBBZ2VudE5hbWU1OiJBZ2VudCBuYW1lIix3aGF0c2FwcEFnZW50UG9zaXRpb24xOiJBZ2VudCBwb3NpdGlvbiIsd2hhdHNhcHBBZ2VudFBvc2l0aW9uMjoiQWdlbnQgcG9zaXRpb24iLHdoYXRzYXBwQWdlbnRQb3NpdGlvbjM6IkFnZW50IHBvc2l0aW9uIix3aGF0c2FwcEFnZW50UG9zaXRpb240OiJBZ2VudCBwb3NpdGlvbiIsd2hhdHNhcHBBZ2VudFBvc2l0aW9uNToiQWdlbnQgcG9zaXRpb24iLHByZUZpbGxlZE1lc3NhZ2U6ITEsd2hhdHNhcHBQcmVGaWxsZWRNZXNzYWdlMjohMSx3aGF0c2FwcFByZUZpbGxlZE1lc3NhZ2UzOiExLHdoYXRzYXBwUHJlRmlsbGVkTWVzc2FnZTQ6ITEsd2hhdHNhcHBQcmVGaWxsZWRNZXNzYWdlNTohMSx3aGF0c2FwcEFnZW50SW1hZ2UxOiExLHdoYXRzYXBwQWdlbnRJbWFnZTI6ITEsd2hhdHNhcHBBZ2VudEltYWdlMzohMSx3aGF0c2FwcEFnZW50SW1hZ2U0OiExLHdoYXRzYXBwQWdlbnRJbWFnZTU6ITEsd29uZGVyY2hhdDohMSx3b25kZXJjaGF0TGFiZWw6IkFJIGFzc2lzdGFudCIsd29uZGVyY2hhdENvbG9yOiIjNjIzMmViIix3b25kZXJjaGF0SWNvbjohMSxhaTohMSxhaUxhYmVsOiJBSSBjaGF0Ym90IixhaUNvbG9yOiIjMTI5YmYzIixhaUljb246ITEsYWlBdXRvb3BlbjpudWxsLGtha2FvdGFsazohMSxrYWthb3RhbGtMYWJlbDoiS2FrYW9UYWxrIixrYWthb3RhbGtDb2xvcjoiI2YyZGMwMCIsa2FrYW90YWxrSWNvbjohMX0sYz1mdW5jdGlvbihyKXtmb3IodmFyIGU9MTtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXt2YXIgbz1udWxsIT1hcmd1bWVudHNbZV0/YXJndW1lbnRzW2VdOnt9O2UlMj9fKE9iamVjdChvKSwhMCkuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdCxuO3Q9cixuPW9bZT1lXSwoZT1mdW5jdGlvbihlKXtlPWZ1bmN0aW9uKGUsdCl7aWYoIm9iamVjdCIhPT1pKGUpfHxudWxsPT09ZSlyZXR1cm4gZTt2YXIgbj1lW1N5bWJvbC50b1ByaW1pdGl2ZV07aWYodm9pZCAwPT09bilyZXR1cm4oInN0cmluZyI9PT10P1N0cmluZzpOdW1iZXIpKGUpO249bi5jYWxsKGUsdHx8ImRlZmF1bHQiKTtpZigib2JqZWN0IiE9PWkobikpcmV0dXJuIG47dGhyb3cgbmV3IFR5cGVFcnJvcigiQEB0b1ByaW1pdGl2ZSBtdXN0IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZS4iKX0oZSwic3RyaW5nIik7cmV0dXJuInN5bWJvbCI9PT1pKGUpP2U6U3RyaW5nKGUpfShlKSlpbiB0P09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse3ZhbHVlOm4sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTp0W2VdPW59KTpPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycz9PYmplY3QuZGVmaW5lUHJvcGVydGllcyhyLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKG8pKTpfKE9iamVjdChvKSkuZm9yRWFjaChmdW5jdGlvbihlKXtPYmplY3QuZGVmaW5lUHJvcGVydHkocixlLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobyxlKSl9KX1yZXR1cm4gcn0oe30sbCk7ZnVuY3Rpb24gdShlKXtyZXR1cm4odT0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYic3ltYm9sIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbihlKXtyZXR1cm4gdHlwZW9mIGV9OmZ1bmN0aW9uKGUpe3JldHVybiBlJiYiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZlLmNvbnN0cnVjdG9yPT09U3ltYm9sJiZlIT09U3ltYm9sLnByb3RvdHlwZT8ic3ltYm9sIjp0eXBlb2YgZX0pKGUpfWZ1bmN0aW9uIHoodCxlKXt2YXIgbixyPU9iamVjdC5rZXlzKHQpO3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzJiYobj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpLGUmJihuPW4uZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsZSkuZW51bWVyYWJsZX0pKSxyLnB1c2guYXBwbHkocixuKSkscn1mdW5jdGlvbiByKHIpe2Zvcih2YXIgZT0xO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspe3ZhciBvPW51bGwhPWFyZ3VtZW50c1tlXT9hcmd1bWVudHNbZV06e307ZSUyP3ooT2JqZWN0KG8pLCEwKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciB0LG47dD1yLG49b1tlPWVdLChlPWZ1bmN0aW9uKGUpe2U9ZnVuY3Rpb24oZSx0KXtpZigib2JqZWN0IiE9PXUoZSl8fG51bGw9PT1lKXJldHVybiBlO3ZhciBuPWVbU3ltYm9sLnRvUHJpbWl0aXZlXTtpZih2b2lkIDA9PT1uKXJldHVybigic3RyaW5nIj09PXQ/U3RyaW5nOk51bWJlcikoZSk7bj1uLmNhbGwoZSx0fHwiZGVmYXVsdCIpO2lmKCJvYmplY3QiIT09dShuKSlyZXR1cm4gbjt0aHJvdyBuZXcgVHlwZUVycm9yKCJAQHRvUHJpbWl0aXZlIG11c3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLiIpfShlLCJzdHJpbmciKTtyZXR1cm4ic3ltYm9sIj09PXUoZSk/ZTpTdHJpbmcoZSl9KGUpKWluIHQ/T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSx7dmFsdWU6bixlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOnRbZV09bn0pOk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzP09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHIsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMobykpOnooT2JqZWN0KG8pKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGUsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLGUpKX0pfXJldHVybiByfXZhciBUPXtidXR0b25zOiExLGdyZWV0aW5nTWVzc2FnZTohMCxjYWxsVG9BY3Rpb246ITEsYnV0dG9uUG9wdXA6ITF9LEw9ImFjdGl2YXRvcl9jbGlja2VkIixNPSJhY3RpdmF0b3Jfb3ZlciIsUj0iZ3JlZXRpbmdfbWVzc2FnZV9jbG9zZWQiLHE9ImdyZWV0aW5nX21lc3NhZ2Vfb3BlbmVkIixaPSJidXR0b25fY2xpY2tlZCIsWD0ic2hvd19idXR0b25fcG9wdXAiLHM9e0FDVElWQVRPUl9DTElDS0VEOkwsQUNUSVZBVE9SX09WRVI6TSxHUkVFVElOR19NRVNTQUdFX0NMT1NFRDpSLEdSRUVUSU5HX01FU1NBR0VfT1BFTkVEOnEsQlVUVE9OX0NMSUNLRUQ6Wn07ZnVuY3Rpb24gWShlLHQpe3N3aXRjaCh0LnR5cGUpe2Nhc2UgTDpyZXR1cm4gcihyKHIoe30sZSksdC5wYXlsb2FkKSx7fSx7YnV0dG9uczohZS5idXR0b25zLGNhbGxUb0FjdGlvbjplLmJ1dHRvbnN9KTtjYXNlIE06Y2FzZSBaOmNhc2UgWDpjYXNlIFI6Y2FzZSBxOnJldHVybiByKHIoe30sZSksdC5wYXlsb2FkKTtkZWZhdWx0OnJldHVybiBlfX1mdW5jdGlvbiBRKCl7Qi53aGF0c2FwcC5zaG93UG9wdXA9Yy53aGF0c2FwcFNob3dQb3B1cCxCLnlvdXR1YmUuc2hvd1BvcHVwPWYoYy55b3V0dWJlU2hvd1BvcHVwUGxhdGZvcm0pLEIuY2FsbC5zaG93UG9wdXA9ZihjLmNhbGxTaG93UG9wdXBQbGF0Zm9ybSksQi5zbXMuc2hvd1BvcHVwPWYoYy5zbXNTaG93UG9wdXBQbGF0Zm9ybSksQi5saW5lLnNob3dQb3B1cD1mKGMubGluZVNob3dQb3B1cFBsYXRmb3JtKSxCLnNuYXBjaGF0LnNob3dQb3B1cD1mKGMuc25hcGNoYXRTaG93UG9wdXBQbGF0Zm9ybSksQi52aWJlci5zaG93UG9wdXA9ZihjLnZpYmVyU2hvd1BvcHVwUGxhdGZvcm0pLEIud2VjaGF0LnNob3dQb3B1cD1mKGMud2VjaGF0U2hvd1BvcHVwUGxhdGZvcm0pLEIuZ29vZ2xlbWFwLnNob3dQb3B1cD1mKGMuZ29vZ2xlbWFwU2hvd1BvcHVwUGxhdGZvcm0pO3ZhciB0PVtdO3JldHVybiBKLm1hcChmdW5jdGlvbihlKXtCW2VdLnNob3dQb3B1cCYmdC5wdXNoKGUpfSksdH12YXIgSz1VKCkmJi0xPT09WyJmaXJlZm94IiwiZWRnIiwic2FmYXJpIl0uaW5kZXhPZihmdW5jdGlvbigpe2Zvcih2YXIgZT1vKCkudG9Mb3dlckNhc2UoKSx0PTAsbj1bImZpcmVmb3giLCJ0cmlkZW50IiwiZWRnZSIsImVkZyIsIm9wZXJhIiwiY2hyb21lIiwic2FmYXJpIl07dDxuLmxlbmd0aDt0Kyspe3ZhciByPW5bdF07aWYoLTE8ZS5pbmRleE9mKHIpKXJldHVybiByfX0oKSksZj1mdW5jdGlvbihlKXtzd2l0Y2goZSl7Y2FzZSJldmVyeXdoZXJlIjpyZXR1cm4hMDtjYXNlImRlc2t0b3AiOnJldHVybiBVKCk7Y2FzZSJtb2JpbGUiOnJldHVybiFVKCk7ZGVmYXVsdDpyZXR1cm4hMX19LEI9e2FjdGl2YXRvcjp7Y29sb3I6Yy5idXR0b25Db2xvcixzaG93UG9wdXA6ITEsdGl0bGU6bnVsbCxvbkRlc2t0b3A6ITAsb25Nb2JpbGU6ITAsb25UYWJsZXQ6ITB9LGFwcGxlOntjb2xvcjpjLmFwcGxlQ29sb3Isc2hvd1BvcHVwOiFhKCkmJiF2KCksdGl0bGU6Yy5hcHBsZUxhYmVsLGJ1dHRvbklkOiJnZXRidXR0b24tYXBwbGUiLG9uRGVza3RvcDohMCxvbk1vYmlsZTohMCxvblRhYmxldDohMH0seW91dHViZTp7Y29sb3I6Yy55b3V0dWJlQ29sb3Isc2hvd1BvcHVwOiEwLHRpdGxlOmMueW91dHViZUxhYmVsLGJ1dHRvbklkOiJnZXRidXR0b24teW91dHViZSIsb25EZXNrdG9wOiEwLG9uTW9iaWxlOiEwLG9uVGFibGV0OiEwfSxjYWxsOntjb2xvcjpjLmNhbGxDb2xvcixzaG93UG9wdXA6VSgpLGNhbGxRckNvZGU6ITAsdGl0bGU6Yy5jYWxsTGFiZWwsYnV0dG9uSWQ6ImdldGJ1dHRvbi1jYWxsIixvbkRlc2t0b3A6ITAsb25Nb2JpbGU6ITAsb25UYWJsZXQ6ITB9LGNvbnRhY3Rmb3JtOntob3N0OmMuY29udGFjdGZvcm1Ib3N0LGNvbG9yOmMuY29udGFjdGZvcm1Db2xvcixzaG93UG9wdXA6ITAsdGl0bGU6Yy5jb250YWN0Zm9ybUxhYmVsLGJ1dHRvbklkOiJnZXRidXR0b24tY29udGFjdGZvcm0iLG9uRGVza3RvcDohMCxvbk1vYmlsZTohMCxvblRhYmxldDohMH0sY2FsZW5kYXI6e2hvc3Q6Yy5jYWxlbmRhckhvc3QsY29sb3I6Yy5jYWxlbmRhckNvbG9yLHNob3dQb3B1cDohMCx0aXRsZTpjLmNhbGVuZGFyTGFiZWwsYnV0dG9uSWQ6ImdldGJ1dHRvbi1jYWxlbmRhciIsb25EZXNrdG9wOiEwLG9uTW9iaWxlOiEwLG9uVGFibGV0OiEwfSxkaXNjb3JkOntjb2xvcjpjLmRpc2NvcmRDb2xvcixzaG93UG9wdXA6ITEsdGl0bGU6Yy5kaXNjb3JkTGFiZWwsYnV0dG9uSWQ6ImdldGJ1dHRvbi1kaXNjb3JkIixvbkRlc2t0b3A6ITAsb25Nb2JpbGU6ITAsb25UYWJsZXQ6ITB9LHRlYW1zOntjb2xvcjpjLnRlYW1zQ29sb3Isc2hvd1BvcHVwOiExLHRpdGxlOmMudGVhbXNMYWJlbCxidXR0b25JZDoiZ2V0YnV0dG9uLXRlYW1zIixvbkRlc2t0b3A6ITAsb25Nb2JpbGU6ITAsb25UYWJsZXQ6ITB9LGVtYWlsOntjb2xvcjpjLmVtYWlsQ29sb3Isc2hvd1BvcHVwOiExLHRpdGxlOmMuZW1haWxMYWJlbCxidXR0b25JZDoiZ2V0YnV0dG9uLWVtYWlsIixvbkRlc2t0b3A6ITAsb25Nb2JpbGU6ITAsb25UYWJsZXQ6ITB9LGZhY2Vib29rOntjb2xvcjpjLmZhY2Vib29rQ29sb3Isc2hvd1BvcHVwOkssdGl0bGU6Yy5mYWNlYm9va0xhYmVsLGJ1dHRvbklkOiJnZXRidXR0b24tZmFjZWJvb2siLG9uRGVza3RvcDohMCxvbk1vYmlsZTohMCxvblRhYmxldDohMH0sZ29vZ2xlbWFwOntjb2xvcjpjLmdvb2dsZW1hcENvbG9yLHRpdGxlOmMuZ29vZ2xlbWFwTGFiZWwsc2hvd1BvcHVwOiExLGJ1dHRvbklkOiJnZXRidXR0b24tZ29vZ2xlbWFwIixvbkRlc2t0b3A6ITAsb25Nb2JpbGU6ITAsb25UYWJsZXQ6ITB9LGluc3RhZ3JhbTp7Y29sb3I6Yy5pbnN0YWdyYW1Db2xvcixzaG93UG9wdXA6ITEsdGl0bGU6Yy5pbnN0YWdyYW1MYWJlbCxidXR0b25JZDoiZ2V0YnV0dG9uLWluc3RhZ3JhbSIsb25EZXNrdG9wOiEwLG9uTW9iaWxlOiEwLG9uVGFibGV0OiEwfSxsaW5lOntjb2xvcjpjLmxpbmVDb2xvcixzaG93UG9wdXA6VSgpLHRpdGxlOmMubGluZUxhYmVsLGJ1dHRvbklkOiJnZXRidXR0b24tbGluZSIsb25EZXNrdG9wOiEwLG9uTW9iaWxlOiEwLG9uVGFibGV0OiEwfSxsaW5rOntjb2xvcjpjLmxpbmtDb2xvcixzaG93UG9wdXA6ITEsdGl0bGU6Yy5saW5rTGFiZWwsYnV0dG9uSWQ6ImdldGJ1dHRvbi1saW5rIixvbkRlc2t0b3A6ITAsb25Nb2JpbGU6ITAsb25UYWJsZXQ6ITB9LGxpbmtlZGluOntjb2xvcjpjLmxpbmtlZGluQ29sb3IsdGl0bGU6Yy5saW5rZWRpbkxhYmVsLGJ1dHRvbklkOiJnZXRidXR0b24tbGlua2VkaW4iLG9uRGVza3RvcDohMCxvbk1vYmlsZTohMCxvblRhYmxldDohMH0sc2t5cGU6e2NvbG9yOmMuc2t5cGVDb2xvcix0aXRsZTpjLnNreXBlTGFiZWwsYnV0dG9uSWQ6ImdldGJ1dHRvbi1za3lwZSIsb25EZXNrdG9wOiEwLG9uTW9iaWxlOiEwLG9uVGFibGV0OiEwfSxzbGFjazp7Y29sb3I6Yy5zbGFja0NvbG9yLHRpdGxlOmMuc2xhY2tMYWJlbCxidXR0b25JZDoiZ2V0YnV0dG9uLXNsYWNrIixvbkRlc2t0b3A6ITAsb25Nb2JpbGU6ITAsb25UYWJsZXQ6ITB9LHNtczp7Y29sb3I6Yy5zbXNDb2xvcixzaG93UG9wdXA6VSgpLHRpdGxlOmMuc21zTGFiZWwsYnV0dG9uSWQ6ImdldGJ1dHRvbi1zbXMiLG9uRGVza3RvcDohMCxvbk1vYmlsZTohMCxvblRhYmxldDohMX0sc25hcGNoYXQ6e2NvbG9yOmMuc25hcGNoYXRDb2xvcixzaG93UG9wdXA6VSgpLHRpdGxlOmMuc25hcGNoYXRMYWJlbCxidXR0b25JZDoiZ2V0YnV0dG9uLXNuYXBjaGF0IixvbkRlc2t0b3A6ITAsb25Nb2JpbGU6ITAsb25UYWJsZXQ6ITB9LHRlbGVncmFtOntjb2xvcjpjLnRlbGVncmFtQ29sb3Isc2hvd1BvcHVwOiExLHRpdGxlOmMudGVsZWdyYW1MYWJlbCxidXR0b25JZDoiZ2V0YnV0dG9uLXRlbGVncmFtIixvbkRlc2t0b3A6ITAsb25Nb2JpbGU6ITAsb25UYWJsZXQ6ITB9LHRpa3Rvazp7Y29sb3I6Yy50aWt0b2tDb2xvcix0aXRsZTpjLnRpa3Rva0xhYmVsLGJ1dHRvbklkOiJnZXRidXR0b24tdGlrdG9rIixvbkRlc2t0b3A6ITAsb25Nb2JpbGU6ITAsb25UYWJsZXQ6ITB9LHR3aXR0ZXI6e2NvbG9yOmMudHdpdHRlckNvbG9yLHRpdGxlOmMudHdpdHRlckxhYmVsLGJ1dHRvbklkOiJnZXRidXR0b24tdHdpdHRlciIsb25EZXNrdG9wOiEwLG9uTW9iaWxlOiEwLG9uVGFibGV0OiEwfSx2aWJlcjp7Y29sb3I6Yy52aWJlckNvbG9yLHNob3dQb3B1cDpVKCksdGl0bGU6Yy52aWJlckxhYmVsLGJ1dHRvbklkOiJnZXRidXR0b24tdmliZXIiLG9uRGVza3RvcDohMCxvbk1vYmlsZTohMCxvblRhYmxldDohMH0sY2FsbGJhY2s6e2hvc3Q6Yy5jYWxsYmFja0hvc3QsY29sb3I6Yy5jYWxsYmFja0NvbG9yLHNob3dQb3B1cDohMCx0aXRsZTpjLmNhbGxiYWNrTGFiZWwsYnV0dG9uSWQ6ImdldGJ1dHRvbi1jYWxsYmFjayIsb25EZXNrdG9wOiEwLG9uTW9iaWxlOiEwLG9uVGFibGV0OiEwfSx2a29udGFrdGU6e2NvbG9yOmMudmtvbnRha3RlQ29sb3Isc2hvd1BvcHVwOiExLHRpdGxlOmMudmtvbnRha3RlTGFiZWwsYnV0dG9uSWQ6ImdldGJ1dHRvbi12a29udGFrdGUiLG9uRGVza3RvcDohMCxvbk1vYmlsZTohMCxvblRhYmxldDohMH0sd2F6ZTp7Y29sb3I6Yy53YXplQ29sb3IsdGl0bGU6Yy53YXplTGFiZWwsYnV0dG9uSWQ6ImdldGJ1dHRvbi13YXplIixvbkRlc2t0b3A6ITAsb25Nb2JpbGU6ITAsb25UYWJsZXQ6ITB9LHdlY2hhdDp7Y29sb3I6Yy53ZWNoYXRDb2xvcix0aXRsZTpjLndlY2hhdExhYmVsLHNob3dQb3B1cDpVKCksYnV0dG9uSWQ6ImdldGJ1dHRvbi13ZWNoYXQiLG9uRGVza3RvcDohMCxvbk1vYmlsZTohMCxvblRhYmxldDohMH0sd2hhdHNhcHA6e2NvbG9yOmMud2hhdHNhcHBDb2xvcixzaG93UG9wdXA6Yy53aGF0c2FwcFNob3dQb3B1cCx0aXRsZTpjLndoYXRzYXBwTGFiZWwsYnV0dG9uSWQ6ImdldGJ1dHRvbi13aGF0c2FwcCIsb25EZXNrdG9wOiEwLG9uTW9iaWxlOiEwLG9uVGFibGV0OiEwfSx3b25kZXJjaGF0Ontjb2xvcjpjLndvbmRlcmNoYXRDb2xvcixzaG93UG9wdXA6ITAsdGl0bGU6Yy53b25kZXJjaGF0TGFiZWwsYnV0dG9uSWQ6ImdldGJ1dHRvbi13b25kZXJjaGF0IixvbkRlc2t0b3A6ITAsb25Nb2JpbGU6ITAsb25UYWJsZXQ6ITB9LGFpOntjb2xvcjpjLmFpQ29sb3Isc2hvd1BvcHVwOiEwLHRpdGxlOmMuYWlMYWJlbCxidXR0b25JZDoiYWkiLG9uRGVza3RvcDohMCxvbk1vYmlsZTohMCxvblRhYmxldDohMH0sa2FrYW90YWxrOntjb2xvcjpjLmtha2FvdGFsa0NvbG9yLHNob3dQb3B1cDohMSx0aXRsZTpjLmtha2FvdGFsa0xhYmVsLGJ1dHRvbklkOiJnZXRidXR0b24ta2FrYW90YWxrdCIsb25EZXNrdG9wOiEwLG9uTW9iaWxlOiEwLG9uVGFibGV0OiEwfX0sSj1PYmplY3Qua2V5cyhCKS5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuIEJbZV0ub25EZXNrdG9wJiZVKCl8fEJbZV0ub25Nb2JpbGUmJiFVKCl9KTtmdW5jdGlvbiBkKGUpe3JldHVybihkPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yP2Z1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgZX06ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJmUuY29uc3RydWN0b3I9PT1TeW1ib2wmJmUhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnR5cGVvZiBlfSkoZSl9ZnVuY3Rpb24gZWUodCxlKXt2YXIgbixyPU9iamVjdC5rZXlzKHQpO3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzJiYobj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpLGUmJihuPW4uZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsZSkuZW51bWVyYWJsZX0pKSxyLnB1c2guYXBwbHkocixuKSkscn1mdW5jdGlvbiB0ZSh0KXtmb3IodmFyIGU9MTtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXt2YXIgbj1udWxsIT1hcmd1bWVudHNbZV0/YXJndW1lbnRzW2VdOnt9O2UlMj9lZShPYmplY3QobiksITApLmZvckVhY2goZnVuY3Rpb24oZSl7bmUodCxlLG5bZV0pfSk6T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnM/T2JqZWN0LmRlZmluZVByb3BlcnRpZXModCxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhuKSk6ZWUoT2JqZWN0KG4pKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihuLGUpKX0pfXJldHVybiB0fWZ1bmN0aW9uIG5lKGUsdCxuKXtyZXR1cm4odD1mdW5jdGlvbihlKXtlPWZ1bmN0aW9uKGUsdCl7aWYoIm9iamVjdCIhPT1kKGUpfHxudWxsPT09ZSlyZXR1cm4gZTt2YXIgbj1lW1N5bWJvbC50b1ByaW1pdGl2ZV07aWYodm9pZCAwPT09bilyZXR1cm4oInN0cmluZyI9PT10P1N0cmluZzpOdW1iZXIpKGUpO249bi5jYWxsKGUsdHx8ImRlZmF1bHQiKTtpZigib2JqZWN0IiE9PWQobikpcmV0dXJuIG47dGhyb3cgbmV3IFR5cGVFcnJvcigiQEB0b1ByaW1pdGl2ZSBtdXN0IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZS4iKX0oZSwic3RyaW5nIik7cmV0dXJuInN5bWJvbCI9PT1kKGUpP2U6U3RyaW5nKGUpfSh0KSlpbiBlP09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQse3ZhbHVlOm4sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTplW3RdPW4sZX1mdW5jdGlvbiByZShlLHQpe3JldHVybiBmdW5jdGlvbihlKXtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBlfShlKXx8ZnVuY3Rpb24oZSx0KXt2YXIgbj1udWxsPT1lP251bGw6InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJmVbU3ltYm9sLml0ZXJhdG9yXXx8ZVsiQEBpdGVyYXRvciJdO2lmKG51bGwhPW4pe3ZhciByLG8sYSxpLGw9W10sYz0hMCx1PSExO3RyeXtpZihhPShuPW4uY2FsbChlKSkubmV4dCwwPT09dCl7aWYoT2JqZWN0KG4pIT09bilyZXR1cm47Yz0hMX1lbHNlIGZvcig7IShjPShyPWEuY2FsbChuKSkuZG9uZSkmJihsLnB1c2goci52YWx1ZSksbC5sZW5ndGghPT10KTtjPSEwKTt9Y2F0Y2goZSl7dT0hMCxvPWV9ZmluYWxseXt0cnl7aWYoIWMmJm51bGwhPW4ucmV0dXJuJiYoaT1uLnJldHVybigpLE9iamVjdChpKSE9PWkpKXJldHVybn1maW5hbGx5e2lmKHUpdGhyb3cgb319cmV0dXJuIGx9fShlLHQpfHxmdW5jdGlvbihlLHQpe3ZhciBuO2lmKGUpcmV0dXJuInN0cmluZyI9PXR5cGVvZiBlP29lKGUsdCk6Ik1hcCI9PT0obj0iT2JqZWN0Ij09PShuPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKS5zbGljZSg4LC0xKSkmJmUuY29uc3RydWN0b3I/ZS5jb25zdHJ1Y3Rvci5uYW1lOm4pfHwiU2V0Ij09PW4/QXJyYXkuZnJvbShlKToiQXJndW1lbnRzIj09PW58fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pP29lKGUsdCk6dm9pZCAwfShlLHQpfHxmdW5jdGlvbigpe3Rocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9KCl9ZnVuY3Rpb24gb2UoZSx0KXsobnVsbD09dHx8dD5lLmxlbmd0aCkmJih0PWUubGVuZ3RoKTtmb3IodmFyIG49MCxyPW5ldyBBcnJheSh0KTtuPHQ7bisrKXJbbl09ZVtuXTtyZXR1cm4gcn12YXIgYWU9ZnVuY3Rpb24oKXt2YXIgZT1yZShPYmplY3QoRi51c2VTdGF0ZSkoYyksMiksdD1lWzBdLHI9ZVsxXTtyZXR1cm4gT2JqZWN0KEYudXNlRWZmZWN0KShmdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSl7dmFyIHQ9KGU9ZS5kZXRhaWwpLmtleSxuPWUudmFsdWU7cihmdW5jdGlvbihlKXtyZXR1cm4gdGUodGUoe30sZSkse30sbmUoe30sZmUodCksbikpfSl9cmV0dXJuImFkbWluLmdldGJ1dHRvbi5pbywgbmV4dC5nZXRidXR0b24uaW8sIDEyNy4wLjAuMSwgbG9jYWxob3N0LCB0ZXN0LmdldGJ1dHRvbi5pbywgZGV2LmdldGJ1dHRvbi5pbywgZ2V0YnV0dG9uLmlvLCBhZG1pbi5zaG9waWZ5LmNvbSIuaW5jbHVkZXMobG9jYXRpb24uaG9zdG5hbWUpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzZXR0aW5nVXBkYXRlZCIsZSksZnVuY3Rpb24oKXtkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzZXR0aW5nVXBkYXRlZCIsZSl9fSxbY10pLHR9O2Z1bmN0aW9uIGllKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIGV9KGUpfHxmdW5jdGlvbihlLHQpe3ZhciBuPW51bGw9PWU/bnVsbDoidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmZVtTeW1ib2wuaXRlcmF0b3JdfHxlWyJAQGl0ZXJhdG9yIl07aWYobnVsbCE9bil7dmFyIHIsbyxhLGksbD1bXSxjPSEwLHU9ITE7dHJ5e2lmKGE9KG49bi5jYWxsKGUpKS5uZXh0LDA9PT10KXtpZihPYmplY3QobikhPT1uKXJldHVybjtjPSExfWVsc2UgZm9yKDshKGM9KHI9YS5jYWxsKG4pKS5kb25lKSYmKGwucHVzaChyLnZhbHVlKSxsLmxlbmd0aCE9PXQpO2M9ITApO31jYXRjaChlKXt1PSEwLG89ZX1maW5hbGx5e3RyeXtpZighYyYmbnVsbCE9bi5yZXR1cm4mJihpPW4ucmV0dXJuKCksT2JqZWN0KGkpIT09aSkpcmV0dXJufWZpbmFsbHl7aWYodSl0aHJvdyBvfX1yZXR1cm4gbH19KGUsdCl8fGZ1bmN0aW9uKGUsdCl7dmFyIG47aWYoZSlyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/bGUoZSx0KToiTWFwIj09PShuPSJPYmplY3QiPT09KG49T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpLnNsaWNlKDgsLTEpKSYmZS5jb25zdHJ1Y3Rvcj9lLmNvbnN0cnVjdG9yLm5hbWU6bil8fCJTZXQiPT09bj9BcnJheS5mcm9tKGUpOiJBcmd1bWVudHMiPT09bnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3Qobik/bGUoZSx0KTp2b2lkIDB9KGUsdCl8fGZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX0oKX1mdW5jdGlvbiBsZShlLHQpeyhudWxsPT10fHx0PmUubGVuZ3RoKSYmKHQ9ZS5sZW5ndGgpO2Zvcih2YXIgbj0wLHI9bmV3IEFycmF5KHQpO248dDtuKyspcltuXT1lW25dO3JldHVybiByfXZhciBjZT1ILmEuY3JlYXRlQ29udGV4dChudWxsKTtmdW5jdGlvbiB1ZShlKXt2YXIgZT1lLmNoaWxkcmVuLHQ9aWUoT2JqZWN0KEYudXNlUmVkdWNlcikoWSxUKSwyKSxuPXRbMF0scj10WzFdLHQ9e3RvZ2dsZUJ1dHRvbnM6ZnVuY3Rpb24oKXtyKHt0eXBlOnMuQUNUSVZBVE9SX0NMSUNLRUQscGF5bG9hZDp7YnV0dG9uUG9wdXA6ITEsZ3JlZXRpbmdNZXNzYWdlOiExfX0pfSxzaG93QnV0dG9uczpmdW5jdGlvbigpe3Ioe3R5cGU6cy5BQ1RJVkFUT1JfT1ZFUixwYXlsb2FkOntidXR0b25zOiEwLGJ1dHRvblBvcHVwOiExLGdyZWV0aW5nTWVzc2FnZTohMSxjYWxsVG9BY3Rpb246ITF9fSl9LGNsb3NlR3JlZXRpbmdNZXNzYWdlOmZ1bmN0aW9uKCl7cih7dHlwZTpzLkdSRUVUSU5HX01FU1NBR0VfQ0xPU0VELHBheWxvYWQ6e2dyZWV0aW5nTWVzc2FnZTohMSxidXR0b25Qb3B1cDohMSxjYWxsVG9BY3Rpb246ITB9fSl9LG9wZW5HcmVldGluZ01lc3NhZ2U6ZnVuY3Rpb24oKXtyKHt0eXBlOnMuR1JFRVRJTkdfTUVTU0FHRV9PUEVORUQscGF5bG9hZDp7Z3JlZXRpbmdNZXNzYWdlOiEwLGNhbGxUb0FjdGlvbjohMX19KX0sYnV0dG9uQ2xpY2tlZDpmdW5jdGlvbigpe3Ioe3R5cGU6cy5CVVRUT05fQ0xJQ0tFRCxwYXlsb2FkOntidXR0b25zOiExLGdyZWV0aW5nTWVzc2FnZTohMSxjYWxsVG9BY3Rpb246ITAsYnV0dG9uUG9wdXA6ITB9fSl9LHNob3dCdXR0b25Qb3B1cDpmdW5jdGlvbigpe3IoZnVuY3Rpb24oZSl7cmV0dXJuIGU9MDxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1lP2U6IiIsZT0tMSE9PVEoKS5pbmRleE9mKGUpJiZlLHt0eXBlOnMuQlVUVE9OX0NMSUNLRUQscGF5bG9hZDp7YnV0dG9uczohMSxidXR0b25Qb3B1cDplLGdyZWV0aW5nTWVzc2FnZTohMSxjYWxsVG9BY3Rpb246ITE9PT1lfX19KDA8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXToiIikpfSxjbG9zZUJ1dHRvblBvcHVwOmZ1bmN0aW9uKCl7cih7dHlwZTpzLkJVVFRPTl9DTElDS0VELHBheWxvYWQ6e2J1dHRvbnM6ITEsYnV0dG9uUG9wdXA6ITEsZ3JlZXRpbmdNZXNzYWdlOiExLGNhbGxUb0FjdGlvbjohMCxjYWxsVG9BY3Rpb25UaW1lcjohMH19KX19LG89YWUoKTtyZXR1cm4gSC5hLmNyZWF0ZUVsZW1lbnQoY2UuUHJvdmlkZXIse3ZhbHVlOntzdGF0ZTpuLGFjdGlvbnM6dCxzZXR0aW5nczpvfX0sZSl9Y2UuQ29uc3VtZXI7ZnVuY3Rpb24gc2UoZSl7dmFyIHQ9ZS5jaGlsZHJlbixlPWUudGhlbWU7cmV0dXJuIEguYS5jcmVhdGVFbGVtZW50KEMuYSx7dGhlbWU6ZGVbZV19LHQpfWZ1bmN0aW9uIGZlKGUpe3JldHVybiBlLnJlcGxhY2UoLyhbLV9dW2EtejAtOV0pL2csZnVuY3Rpb24oZSl7cmV0dXJuIGUudG9VcHBlckNhc2UoKS5yZXBsYWNlKCItIiwiIikucmVwbGFjZSgiXyIsIiIpfSl9dmFyIFY9Y2UsQz10KDEpLGRlPXtsZWZ0Ontwb3NpdGlvbjoibGVmdCIsYnV0dG9uc09yZGVyOjEscG9wdXBzT3JkZXI6Mixjb250YWluZXJEaXJlY3Rpb246ImZsZXgtc3RhcnQiLGNhbGxUb0FjdGlvbk1hcmdpbjoiYXV0byBhdXRvIGF1dG8gMzFweCIsZ3JlZXRpbmdNYXJnaW46IjIxcHggMjBweCAwIDAifSxyaWdodDp7cG9zaXRpb246InJpZ2h0IixidXR0b25zT3JkZXI6Mixwb3B1cHNPcmRlcjoxLGNvbnRhaW5lckRpcmVjdGlvbjoiZmxleC1lbmQiLGNhbGxUb0FjdGlvbk1hcmdpbjoiYXV0byAzMXB4IGF1dG8gYXV0byIsZ3JlZXRpbmdNYXJnaW46IjIxcHggMCAwIDIwcHgifX0sJD1mdW5jdGlvbihlKXtyZXR1cm4gSC5hLnVzZUNhbGxiYWNrKGZ1bmN0aW9uKGUpe3JldHVybiA0MDxlPzI6MzA8ZT8wOjIwPGU/LTE6MTA8ZT8tMjotNH0sW10pKGUpfSxwZT1mdW5jdGlvbihlLHQpe3JldHVybiBILmEudXNlQ2FsbGJhY2soZnVuY3Rpb24oZSx0KXt2YXIgbj0oZT1lKT97cjpwYXJzZUludChlLnN1YnN0cmluZygxLDMpLDE2KSxnOnBhcnNlSW50KGUuc3Vic3RyaW5nKDMsNSksMTYpLGI6cGFyc2VJbnQoZS5zdWJzdHJpbmcoNSw3KSwxNil9Om51bGw7aWYoIW4pcmV0dXJuIG51bGw7Zm9yKHZhciByPSgyNTUtbi5yKS8odC0yKSxvPSgyNTUtbi5nKS8odCsxKSxhPSgyNTUtbi5iKS8odCs1KSxpPVtdLGw9MDtsPD10O2wrKyl7dmFyIGM9TWF0aC5yb3VuZChuLnIrcipsKSx1PU1hdGgucm91bmQobi5nK28qbCkscz1NYXRoLnJvdW5kKG4uYithKmwpLGM9KHU9dSxzPXMsIm51bWJlciIhPXR5cGVvZihjPWMpfHwibnVtYmVyIiE9dHlwZW9mIHV8fCJudW1iZXIiIT10eXBlb2Ygcz9udWxsOiIjIitjLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIikrdS50b1N0cmluZygxNikucGFkU3RhcnQoMiwiMCIpK3MudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsIjAiKSk7YyYmaS5wdXNoKGMpfXJldHVybiBpLnNwbGljZSgtMyksaX0sW10pKGUsdCl9O2Z1bmN0aW9uIG1lKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIGV9KGUpfHxmdW5jdGlvbihlLHQpe3ZhciBuPW51bGw9PWU/bnVsbDoidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmZVtTeW1ib2wuaXRlcmF0b3JdfHxlWyJAQGl0ZXJhdG9yIl07aWYobnVsbCE9bil7dmFyIHIsbyxhLGksbD1bXSxjPSEwLHU9ITE7dHJ5e2lmKGE9KG49bi5jYWxsKGUpKS5uZXh0LDA9PT10KXtpZihPYmplY3QobikhPT1uKXJldHVybjtjPSExfWVsc2UgZm9yKDshKGM9KHI9YS5jYWxsKG4pKS5kb25lKSYmKGwucHVzaChyLnZhbHVlKSxsLmxlbmd0aCE9PXQpO2M9ITApO31jYXRjaChlKXt1PSEwLG89ZX1maW5hbGx5e3RyeXtpZighYyYmbnVsbCE9bi5yZXR1cm4mJihpPW4ucmV0dXJuKCksT2JqZWN0KGkpIT09aSkpcmV0dXJufWZpbmFsbHl7aWYodSl0aHJvdyBvfX1yZXR1cm4gbH19KGUsdCl8fGZ1bmN0aW9uKGUsdCl7dmFyIG47aWYoZSlyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/aGUoZSx0KToiTWFwIj09PShuPSJPYmplY3QiPT09KG49T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpLnNsaWNlKDgsLTEpKSYmZS5jb25zdHJ1Y3Rvcj9lLmNvbnN0cnVjdG9yLm5hbWU6bil8fCJTZXQiPT09bj9BcnJheS5mcm9tKGUpOiJBcmd1bWVudHMiPT09bnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3Qobik/aGUoZSx0KTp2b2lkIDB9KGUsdCl8fGZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX0oKX1mdW5jdGlvbiBoZShlLHQpeyhudWxsPT10fHx0PmUubGVuZ3RoKSYmKHQ9ZS5sZW5ndGgpO2Zvcih2YXIgbj0wLHI9bmV3IEFycmF5KHQpO248dDtuKyspcltuXT1lW25dO3JldHVybiByfWZ1bmN0aW9uIGdlKG8pe3ZhciBlPW1lKEguYS51c2VTdGF0ZSghMSksMiksdD1lWzBdLGE9ZVsxXTtyZXR1cm4gSC5hLnVzZUVmZmVjdChmdW5jdGlvbigpe2Z1bmN0aW9uIHQobil7dmFyIHI9MTxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOm51bGw7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHQpe3ImJnNldFRpbWVvdXQoZnVuY3Rpb24oKXt0KCl9LHIpO3ZhciBlPW5ldyBJbWFnZTtlLnNyYz1uLGUuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsZnVuY3Rpb24oZSl7dCgpfSl9KX12YXIgbj1vJiY1MDA8PW8/by01MDA6bnVsbCxlPVtjLmJ1dHRvbkltYWdlVXJsLGMuY29tcGFueUxvZ29VcmxdLHI9W2MuY2FsbEljb24sYy5lbWFpbEljb24sYy5mYWNlYm9va0ljb24sYy5pbnN0YWdyYW1JY29uLGMubGlua0ljb24sYy5saW5lSWNvbixjLnNtc0ljb24sYy5zbmFwY2hhdEljb24sYy50ZWxlZ3JhbUljb24sYy52aWJlckljb24sYy52a29udGFrdGVJY29uLGMud2hhdHNhcHBJY29uLGMuYWlJY29uXSxlPWUuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkubWFwKGZ1bmN0aW9uKGUpe3JldHVybiB0KGUsNTAwKX0pO1Byb21pc2UuYWxsKGUpLnRoZW4oZnVuY3Rpb24oKXt2YXIgZT1yLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gZX0pLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gdChlLG4pfSk7UHJvbWlzZS5hbGwoZSkudGhlbihmdW5jdGlvbigpe2EoITApfSl9KX0sW10pLHR9dmFyIFc9ZnVuY3Rpb24oZSl7aWYoImFkbWluLmdldGJ1dHRvbi5pbywgbmV4dC5nZXRidXR0b24uaW8sIDEyNy4wLjAuMSwgbG9jYWxob3N0LCB0ZXN0LmdldGJ1dHRvbi5pbywgZGV2LmdldGJ1dHRvbi5pbywgZ2V0YnV0dG9uLmlvLCBhZG1pbi5zaG9waWZ5LmNvbSIuaW5jbHVkZXMobG9jYXRpb24uaG9zdG5hbWUpKXJldHVybiBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZWxlbWVudEFwcGVhcmVkIix7ZGV0YWlsOnt3aWRnZXRXaWR0aDplfX0pKX07ZnVuY3Rpb24gYmUoZSx0KXtyZXR1cm4gZnVuY3Rpb24oZSl7aWYoQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gZX0oZSl8fGZ1bmN0aW9uKGUsdCl7dmFyIG49bnVsbD09ZT9udWxsOiJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZlW1N5bWJvbC5pdGVyYXRvcl18fGVbIkBAaXRlcmF0b3IiXTtpZihudWxsIT1uKXt2YXIgcixvLGEsaSxsPVtdLGM9ITAsdT0hMTt0cnl7aWYoYT0obj1uLmNhbGwoZSkpLm5leHQsMD09PXQpe2lmKE9iamVjdChuKSE9PW4pcmV0dXJuO2M9ITF9ZWxzZSBmb3IoOyEoYz0ocj1hLmNhbGwobikpLmRvbmUpJiYobC5wdXNoKHIudmFsdWUpLGwubGVuZ3RoIT09dCk7Yz0hMCk7fWNhdGNoKGUpe3U9ITAsbz1lfWZpbmFsbHl7dHJ5e2lmKCFjJiZudWxsIT1uLnJldHVybiYmKGk9bi5yZXR1cm4oKSxPYmplY3QoaSkhPT1pKSlyZXR1cm59ZmluYWxseXtpZih1KXRocm93IG99fXJldHVybiBsfX0oZSx0KXx8ZnVuY3Rpb24oZSx0KXt2YXIgbjtpZihlKXJldHVybiJzdHJpbmciPT10eXBlb2YgZT95ZShlLHQpOiJNYXAiPT09KG49Ik9iamVjdCI9PT0obj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkuc2xpY2UoOCwtMSkpJiZlLmNvbnN0cnVjdG9yP2UuY29uc3RydWN0b3IubmFtZTpuKXx8IlNldCI9PT1uP0FycmF5LmZyb20oZSk6IkFyZ3VtZW50cyI9PT1ufHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKT95ZShlLHQpOnZvaWQgMH0oZSx0KXx8ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gZGVzdHJ1Y3R1cmUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLiIpfSgpfWZ1bmN0aW9uIHllKGUsdCl7KG51bGw9PXR8fHQ+ZS5sZW5ndGgpJiYodD1lLmxlbmd0aCk7Zm9yKHZhciBuPTAscj1uZXcgQXJyYXkodCk7bjx0O24rKylyW25dPWVbbl07cmV0dXJuIHJ9ZnVuY3Rpb24gdmUoKXt2YXIgZT1iZShPYmplY3QoRi51c2VTdGF0ZSkoe3dpZHRoOnZvaWQgMCxoZWlnaHQ6dm9pZCAwfSksMiksdD1lWzBdLG49ZVsxXTtyZXR1cm4gT2JqZWN0KEYudXNlRWZmZWN0KShmdW5jdGlvbigpe2Z1bmN0aW9uIGUoKXtuKHt3aWR0aDp3aW5kb3cuaW5uZXJXaWR0aCxoZWlnaHQ6d2luZG93LmlubmVySGVpZ2h0fSl9cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLGUpLGUoKSxmdW5jdGlvbigpe3JldHVybiB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIixlKX19LFtdKSx0fWZ1bmN0aW9uIHdlKGUpe3JldHVybih3ZT0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYic3ltYm9sIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbihlKXtyZXR1cm4gdHlwZW9mIGV9OmZ1bmN0aW9uKGUpe3JldHVybiBlJiYiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZlLmNvbnN0cnVjdG9yPT09U3ltYm9sJiZlIT09U3ltYm9sLnByb3RvdHlwZT8ic3ltYm9sIjp0eXBlb2YgZX0pKGUpfWZ1bmN0aW9uIHhlKGUsdCl7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciByPXRbbl07ci5lbnVtZXJhYmxlPXIuZW51bWVyYWJsZXx8ITEsci5jb25maWd1cmFibGU9ITAsInZhbHVlImluIHImJihyLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxmdW5jdGlvbihlKXtlPWZ1bmN0aW9uKGUsdCl7aWYoIm9iamVjdCIhPT13ZShlKXx8bnVsbD09PWUpcmV0dXJuIGU7dmFyIG49ZVtTeW1ib2wudG9QcmltaXRpdmVdO2lmKHZvaWQgMD09PW4pcmV0dXJuKCJzdHJpbmciPT09dD9TdHJpbmc6TnVtYmVyKShlKTtuPW4uY2FsbChlLHR8fCJkZWZhdWx0Iik7aWYoIm9iamVjdCIhPT13ZShuKSlyZXR1cm4gbjt0aHJvdyBuZXcgVHlwZUVycm9yKCJAQHRvUHJpbWl0aXZlIG11c3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLiIpfShlLCJzdHJpbmciKTtyZXR1cm4ic3ltYm9sIj09PXdlKGUpP2U6U3RyaW5nKGUpfShyLmtleSkscil9fXZhciBrZT1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoKXtpZighKHRoaXMgaW5zdGFuY2VvZiBlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24iKX12YXIgdCxuLHI7cmV0dXJuIHQ9ZSxyPVt7a2V5OiJzZXQiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7dmFyIG49Mjxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOm51bGwscj0zPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1szXT9hcmd1bWVudHNbM106bnVsbCxvPTQ8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09YXJndW1lbnRzWzRdP2FyZ3VtZW50c1s0XTpudWxsLGE9NTxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbNV0mJmFyZ3VtZW50c1s1XSxlPShlPWUrIj0iK2VuY29kZVVSSUNvbXBvbmVudCh0LnRvU3RyaW5nKCkpKyI7ICIpKygicGF0aD0iKyhyfHwiLyIpKyI7ICIpKyJzYW1lc2l0ZT1sYXg7ICI7biYmKCJzdHJpbmciPT10eXBlb2Ygbnx8biBpbnN0YW5jZW9mIFN0cmluZz9lKz0iZXhwaXJlcz0iK24rIjsgIjooKHQ9bmV3IERhdGUpLnNldFRpbWUodC5nZXRUaW1lKCkrMWUzKm4pLGUrPSJleHBpcmVzPSIrdC50b1VUQ1N0cmluZygpKyI7ICIpKSxvJiYoZSs9ImRvbWFpbj0iK28rIjsgIiksYSYmKGUrPSJzZWN1cmU7ICIpLGRvY3VtZW50LmNvb2tpZT1lfX0se2tleToiZ2V0Iix2YWx1ZTpmdW5jdGlvbihlKXtmb3IodmFyIHQ9ZSsiPSIsbj1kb2N1bWVudC5jb29raWUuc3BsaXQoIjsiKSxyPTA7cjxuLmxlbmd0aDtyKyspe2Zvcih2YXIgbz1uW3JdOyIgIj09PW8uY2hhckF0KDApOylvPW8uc3Vic3RyaW5nKDEpO2lmKDA9PT1vLmluZGV4T2YodCkpcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChvLnN1YnN0cmluZyh0Lmxlbmd0aCxvLmxlbmd0aCkpfXJldHVybiBudWxsfX1dLChuPW51bGwpJiZ4ZSh0LnByb3RvdHlwZSxuKSxyJiZ4ZSh0LHIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJwcm90b3R5cGUiLHt3cml0YWJsZTohMX0pLGV9KCksU2U9MTYsQ2U9MTQsRWU9ImdiLXdpZGdldC1jb29raWUiLE9lPSExO2Z1bmN0aW9uIGplKCl7Y29uc29sZS5sb2coInZhbGlkYXRpb24uLi4iLGcpO2Z1bmN0aW9uIG8oZSl7ZS5zdGFydHNXaXRoKCJ3d3cuIikmJihlPWUuc2xpY2UoNCkpO3ZhciB0PWxvY2F0aW9uLmhvc3RuYW1lLGU9ZS50b0xvd2VyQ2FzZSgpLG49dC5zbGljZSgwLC1lLmxlbmd0aCkscj10LmVuZHNXaXRoKGUpJiZbIiIsIi4iXS5pbmNsdWRlcyhuLmNoYXJBdChuLmxlbmd0aC0xKSk7cmV0dXJuIHJ8fGNvbnNvbGUud2FybigicmVhc29uOiBkb21haW4iLHQsbixlKSxyfXJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihuKXt2YXIgZSx0OyFnJiYiYWRtaW4uZ2V0YnV0dG9uLmlvLCBuZXh0LmdldGJ1dHRvbi5pbywgMTI3LjAuMC4xLCBsb2NhbGhvc3QsIHRlc3QuZ2V0YnV0dG9uLmlvLCBkZXYuZ2V0YnV0dG9uLmlvLCBnZXRidXR0b24uaW8sIGFkbWluLnNob3BpZnkuY29tIi5pbmNsdWRlcyhsb2NhdGlvbi5ob3N0bmFtZSk/KGMuaXNQcm89ITAsbigpKTpjLmtleXx8Z3x8Yy5oYXNoSWQ/KGU9KHQ9Imh0dHBzOi8vd2lkZ2V0LmdldGJ1dHRvbi5pby9hcGkvdmFsaWRhdGUiKSsiP2tleT0iK2Mua2V5LHQ9Zz90KyI/aGFzaF9pZD0iK2c6Yy5oYXNoSWQ/dCsiP2hhc2hfaWQ9IitjLmhhc2hJZDplLGZldGNoKHQpLnRoZW4oZnVuY3Rpb24oZSl7ZS5vaz9lLmpzb24oKS50aGVuKGZ1bmN0aW9uKGUpe3ZhciB0PW51bGwhPWUmJmUuY3JlYXRlZF9hdD9lLmNyZWF0ZWRfYXQ6bnVsbDtjLmlzUHJvPSEwPT09ZS52YWxpZCYmZnVuY3Rpb24oKXt2YXIgZT0wPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06bnVsbCx0PTE8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTpudWxsLG49KGNvbnNvbGUubG9nKCJ2YWxpZGF0ZURvbWFpbiIsZSx0KSxuZXcgRGF0ZSgiMjAyMi0wNS0xMyIpKSxyPXQ/bmV3IERhdGUodCk6bnVsbDtyZXR1cm4gbnVsbD09PXQ/byhlKTohKG48PXIpfHwoZT9vKGUpOihjb25zb2xlLndhcm4oInJlYXNvbjogaW52YWxpZCBkb21haW4iLGUpLCExKSl9KGUuZG9tYWlucyx0KSxjLnN1YnNjcmlwdGlvbkNyZWF0ZWREYXRlPXQsZS5vcHRpb25zJiYoT2U9ZS5vcHRpb25zKSxjLmlzUHJvfHxjb25zb2xlLndhcm4oIkdldEJ1dHRvbiB3b3JrcyBpbiBERU1PIG1vZGUsIHBsZWFzZSByZW5ldyBzdWJzY3JpcHRpb24gb3IgY29udGFjdCB3aXRoIHVzOiBodHRwczovL2dldGJ1dHRvbi5pbyIpLG4oKX0pOihjLmlzUHJvPSEwLG4oKSl9KSk6KGMuaXNQcm89ITEsbigpKX0pfWZ1bmN0aW9uIEFlKGUpe3ZhciB0PVtdO3JldHVybih0PSJzdHJpbmciPT10eXBlb2YgZXx8ZSBpbnN0YW5jZW9mIFN0cmluZz8oZT1lLnRyaW0oKSkuc3BsaXQoL1ssXG5dKy8pLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS50cmltKCl9KTp0KS5maWx0ZXIoZnVuY3Rpb24oZSx0LG4pe3JldHVybiJzdHJpbmciPT10eXBlb2YgZSYmIiIhPT1lLnRyaW0oKSYmbi5pbmRleE9mKGUpPT09dH0pfWZ1bmN0aW9uIFBlKGUpe3JldHVybiBlLnJlcGxhY2UoL1wvJC8sIiIpfWZ1bmN0aW9uIEllKGUsdCxuKXtmb3IodmFyIHI9MDtyPGUubGVuZ3RoO3IrKyl7dmFyIG8sYSxpPWVbcl0udHJpbSgpOyIiIT09aSYmKGkuZW5kc1dpdGgoIioiKT8obz1QZShpLnJlcGxhY2UoIioiLCIiKSksKGE9UGUod2luZG93LmxvY2F0aW9uLmhyZWYudG9Mb3dlckNhc2UoKSkpLnN0YXJ0c1dpdGgobykmJmEubGVuZ3RoPm8ubGVuZ3RoP2Muc2hvd1dpZGdldD10OmMuc2hvd1dpZGdldD0hdCk6bmV3IFJlZ0V4cCgiXiIuY29uY2F0KFBlKGkucmVwbGFjZSgvXCovZywiLioiKSksIiQiKSwiaSIpLnRlc3QoUGUod2luZG93LmxvY2F0aW9uLmhyZWYpKSYmKGMuc2hvd1dpZGdldD10KSl9biYmIWMuc2hvd1dpZGdldCYmKGMuc2hvd1dpZGdldD0hMSl9ZnVuY3Rpb24gX2UoZSl7Zm9yKHZhciB0PTAsbj1PYmplY3Qua2V5cyhlKTt0PG4ubGVuZ3RoO3QrKyl7dmFyIHI9blt0XTtjW2ZlKHIpXT1lW3JdfX1mdW5jdGlvbiB6ZShlLHQpe2Zvcih2YXIgbj0yPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06bnVsbCxyPTAsbz1PYmplY3Qua2V5cyhsKTtyPG8ubGVuZ3RoO3IrKyl7dmFyIGE9b1tyXTtjW2FdPWxbYV19biYmX2UobiksamUoIiIuY29uY2F0KHQsIi8vIikuY29uY2F0KGUsIi8iKSkudGhlbihmdW5jdGlvbigpe3ZhciBlLHQsbjtpZihPZSYmX2UoT2UpLGMuaXNQcm8/Yy5hY3RpdmF0b3JTaXplPWMuYWN0aXZhdG9yU2l6ZXx8NTA6Yy5hY3RpdmF0b3JTaXplPTUwLGMuaGFzT3duUHJvcGVydHkoInNoaWZ0SG9yaXpvbnRhbCIpJiYhKGMuc2hpZnRIb3Jpem9udGFsPFNlKSYmYy5pc1Byb3x8KGMuc2hpZnRIb3Jpem9udGFsPVNlKSxjLmhhc093blByb3BlcnR5KCJzaGlmdFZlcnRpY2FsIikmJiEoYy5zaGlmdFZlcnRpY2FsPENlKSYmYy5pc1Byb3x8KGMuc2hpZnRWZXJ0aWNhbD1DZSksInN0cmluZyI9PXR5cGVvZiBjLm9yZGVyfHxjLm9yZGVyIGluc3RhbmNlb2YgU3RyaW5nP2Mub3JkZXI9Yy5vcmRlci5zcGxpdCgiLCIpLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS50cmltKCl9KTpBcnJheS5pc0FycmF5KGMub3JkZXIpJiYoYy5vcmRlcj1bXSksYy5vcmRlcj1jLm9yZGVyLmNvbmNhdChPYmplY3Qua2V5cyh4KCkoYyxKKSkpLDA9PT1jLm9yZGVyLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIkJ1dHRvbiBpcyBlbXB0eSIpO2Mub3JkZXI9Yy5vcmRlci5maWx0ZXIoZnVuY3Rpb24oZSx0LG4pe3JldHVybiJzdHJpbmciPT10eXBlb2YgZSYmbi5pbmRleE9mKGUpPT09dH0pLGMub3JkZXI9Yy5vcmRlci5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuISFlJiZjLmhhc093blByb3BlcnR5KGUpJiYhIWNbZV19KSxjLmlzUHJvfHwoYy5vcmRlcj1jLm9yZGVyLnNsaWNlKDAsMikpLGMuYnV0dG9uQ29sb3I9bnVsbCE9KGU9Yy5idXR0b25Db2xvcik/ZToiI2ZmNjU1MCIsYy5pc1NpbmdsZT0xPT09Yy5vcmRlci5sZW5ndGgsYy5pc1Byb3x8KGMuYnV0dG9uSW1hZ2VVcmw9bnVsbCxjLmFwcGxlSWNvbj1udWxsLGMuY2FsbEljb249bnVsbCxjLmNvbnRhY3Rmb3JtSWNvbj1udWxsLGMuZGlzY29yZEljb249bnVsbCxjLmVtYWlsSWNvbj1udWxsLGMuZmFjZWJvb2tJY29uPW51bGwsYy5nb29nbGVtYXBJY29uPW51bGwsYy5pbnN0YWdyYW1JY29uPW51bGwsYy5saW5lSWNvbj1udWxsLGMubGlua0ljb249bnVsbCxjLmxpbmtlZGluSWNvbj1udWxsLGMuc2t5cGVJY29uPW51bGwsYy5zbGFja0ljb249bnVsbCxjLnNtc0ljb249bnVsbCxjLnNuYXBjaGF0SWNvbj1udWxsLGMudGVsZWdyYW1JY29uPW51bGwsYy50d2l0dGVySWNvbj1udWxsLGMudGlrdG9rSWNvbj1udWxsLGMudmliZXJJY29uPW51bGwsYy52a29udGFrdGVJY29uPW51bGwsYy53YXplSWNvbj1udWxsLGMud2VjaGF0SWNvbj1udWxsLGMud2hhdHNhcHBJY29uPW51bGwpLGMuaXNQcm98fChjLmFwcGxlTGFiZWw9Qi5hcHBsZS50aXRsZSxjLmNhbGxMYWJlbD1CLmNhbGwudGl0bGUsYy5jb250YWN0Zm9ybUxhYmVsPUIuY29udGFjdGZvcm0udGl0bGUsYy5kaXNjb3JkTGFiZWw9Qi5kaXNjb3JkLnRpdGxlLGMuZW1haWxMYWJlbD1CLmVtYWlsLnRpdGxlLGMuZmFjZWJvb2tMYWJlbD1CLmZhY2Vib29rLnRpdGxlLGMuZ29vZ2xlbWFwTGFiZWw9Qi5nb29nbGVtYXAudGl0bGUsYy5pbnN0YWdyYW1MYWJlbD1CLmluc3RhZ3JhbS50aXRsZSxjLmxpbmVMYWJlbD1CLmxpbmUudGl0bGUsYy5saW5rTGFiZWw9Qi5saW5rLnRpdGxlLGMubGlua2VkaW5MYWJlbD1CLmxpbmtlZGluLnRpdGxlLGMuc2t5cGVMYWJlbD1CLnNreXBlLnRpdGxlLGMuc2xhY2tMYWJlbD1CLnNsYWNrLnRpdGxlLGMuc21zTGFiZWw9Qi5zbXMudGl0bGUsYy5zbmFwY2hhdExhYmVsPUIuc25hcGNoYXQudGl0bGUsYy50ZWxlZ3JhbUxhYmVsPUIudGVsZWdyYW0udGl0bGUsYy50aWt0b2tMYWJlbD1CLnRpa3Rvay50aXRsZSxjLnR3aXR0ZXJMYWJlbD1CLnR3aXR0ZXIudGl0bGUsYy52aWJlckxhYmVsPUIudmliZXIudGl0bGUsYy52a29udGFrdGVMYWJlbD1CLnZrb250YWt0ZS50aXRsZSxjLndhemVMYWJlbD1CLndhemUudGl0bGUsYy53ZWNoYXRMYWJlbD1CLndlY2hhdC50aXRsZSxjLndoYXRzYXBwTGFiZWw9Qi53aGF0c2FwcC50aXRsZSksYy5ncmVldGluZz1jLmdyZWV0aW5nJiZjLmlzUHJvLGMuZ3JlZXRpbmcmJjAhPT1jLmdyZWV0aW5nQ29va2llJiYoZT1EYXRlLm5vdygpLG49RWUrKGd8fCIiKSwhKHQ9a2UuZ2V0KG4pKXx8KGUtKHQ9cGFyc2VJbnQodCwxMCkpKS8xZTM+PWMuZ3JlZXRpbmdDb29raWU/a2Uuc2V0KG4sZSxudWxsKTpjLmdyZWV0aW5nPSExKSxjLnBvc2l0aW9uPSJsZWZ0Ij09PWMucG9zaXRpb24/ImxlZnQiOiJyaWdodCIsIWMuaXNQcm8mJihjLmJyYW5kaW5nPSEwLGMuYW5pbWF0aW9uPSExLGMuZGlyZWN0aW9uPSJjb2x1bW4iLGMuYm9yZGVyPSExLGMubm90aWZpY2F0aW9uSW5kaWNhdG9yPSExLGMuYnV0dG9uQm9yZGVyUmFkaXVzPTUwLGMuYnV0dG9uU2hhZG93PTQwLGMuYnV0dG9uT3BhY2l0eT1sLmJ1dHRvbk9wYWNpdHksYy5iZ1N0eWxlPSJjb2xvciIsYy5hY3RpdmF0b3JJY29uPSJjbGFzc2ljIixjLmJ1dHRvblN0eWxlPSJjbGFzc2ljIixnfHxjLmhhc2hJZCkmJihjLmNhbGxUb0FjdGlvbj0hMSxjLmFjdGl2YXRvclNpemU9bC5hY3RpdmF0b3JTaXplLGMuYnV0dG9uQ29sb3I9bC5idXR0b25Db2xvcixjLmJ1dHRvblNoYWRvdz0wLGMuZ3JlZXRpbmc9ITEsYy5wb3NpdGlvbj1sLnBvc2l0aW9uLGMuc2hpZnRIb3Jpem9udGFsPTE2LGMuc2hpZnRWZXJ0aWNhbD0xNCksYy5nYT1jLmlzUHJvJiZjLmdhLHQ9QWUoYy5wYWdlTGlzdFRvU2hvdyksbj1BZShjLnBhZ2VMaXN0VG9IaWRlKSxjLmRpc3BsYXlPbkFsbFBhZ2VzP2Muc2hvd1dpZGdldD0hMDp0Lmxlbmd0aHx8bi5sZW5ndGg/dC5sZW5ndGg/bi5sZW5ndGg/KEllKHQsIShjLnNob3dXaWRnZXQ9ITEpLCExKSxJZShuLCExLCEwKSk6SWUodCwhKGMuc2hvd1dpZGdldD0hMSksITEpOkllKG4sIShjLnNob3dXaWRnZXQ9ITApLCEwKTpjLnNob3dXaWRnZXQ9ITEsYy5zaG93V2lkZ2V0JiYoYy5zaG93V2lkZ2V0PUQoKT9jLm1vYmlsZTpjLmRlc2t0b3ApLGMuY29uZmlnTG9hZGVkPSEwfSksc2V0VGltZW91dChmdW5jdGlvbigpe1coImNsYXNzaWMiPT09Yy5idXR0b25TdHlsZT9jLmFjdGl2YXRvclNpemU6MypjLmFjdGl2YXRvclNpemUpfSw1MDApfWZ1bmN0aW9uIFRlKCl7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGUsdCl7Yy5jb25maWdMb2FkZWQ/ZSghMCk6dCghMSl9KX1mdW5jdGlvbiBMZShyLGUsdCl7dmFyIG89MTxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1lP2U6MTAsYT0yPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PXQ/dDo1MDA7cmV0dXJuIGNvbnNvbGUubG9nKCJjb25maWcgbG9hZGluZy4uIixvKSxuZXcgUHJvbWlzZShmdW5jdGlvbih0LG4pe3IoKS50aGVuKHQpLmNhdGNoKGZ1bmN0aW9uKGUpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXsxPT09bz8obihlKSxjb25zb2xlLmVycm9yKCJzdG9wIGNvbmZpZyBsb2FkcyIpKTpMZShyLGEsby0xKS50aGVuKHQsbil9LGEpfSl9KX1mdW5jdGlvbiBNZShlKXt3aW5kb3cuaGFzT3duUHJvcGVydHkoImRhdGFMYXllciIpJiYodD1lLHdpbmRvdy5kYXRhTGF5ZXIucHVzaCh7ZXZlbnQ6ImdldGJ1dHRvbl9jbGljayIsZXZlbnRfY2F0ZWdvcnk6IkdldEJ1dHRvbiBXaWRnZXQiLGV2ZW50X2xhYmVsOiJjbGlja18iLmNvbmNhdCh0KSxldmVudENhdGVnb3J5OiJHZXRCdXR0b24gV2lkZ2V0IixldmVudEFjdGlvbjoiY2xpY2tfIi5jb25jYXQodCl9KSksd2luZG93Lmhhc093blByb3BlcnR5KCJndGFnIikmJih0PXtldmVudF9jYXRlZ29yeToiR2V0QnV0dG9uIFdpZGdldCIsZXZlbnRfbGFiZWw6ImNsaWNrXyIuY29uY2F0KHQ9ZSl9LHdpbmRvdy5ndGFnKCJldmVudCIsImNsaWNrIix0KSksd2luZG93Lmhhc093blByb3BlcnR5KCJnYSIpJiYobj17ZXZlbnRDYXRlZ29yeToiR2V0QnV0dG9uIFdpZGdldCIsZXZlbnRBY3Rpb246ImNsaWNrXyIuY29uY2F0KG49ZSl9LHI9d2luZG93LmdhLmdldEFsbD93aW5kb3cuZ2EuZ2V0QWxsKClbMF06dm9pZCAwKSYmci5zZW5kKCJldmVudCIsImNsaWNrIixuKTt2YXIgdCxuLHI9ZTtyPXtjb250ZW50X2NhdGVnb3J5OiJHZXRCdXR0b24gV2lkZ2V0Iixjb250ZW50X25hbWU6ImNsaWNrXyIuY29uY2F0KHIpfSwiZnVuY3Rpb24iPT10eXBlb2YgZmJxJiZmYnEoInRyYWNrIiwiY2xpY2siLHIpfXZhciBSZT1PYmplY3QoQy5lKShbIjAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSg0NXB4KTt9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApO30iXSksTmU9T2JqZWN0KEMuZSkoWyIwJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9dG97b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDQ1cHgpO30iXSksRGU9T2JqZWN0KEMuZSkoWyIwJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoNDVweCk7fXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt9Il0pLFVlPU9iamVjdChDLmUpKFsiMCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC00NXB4KTt9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApO30iXSksQmU9T2JqZWN0KEMuZSkoWyIwJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7fXRve29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWCg0NXB4KTt9Il0pLEZlPU9iamVjdChDLmUpKFsiMCV7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApO310b3tvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTQ1cHgpO30iXSksSGU9T2JqZWN0KEMuZSkoWyIwJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnJvdGF0ZSgtNjBkZWcpO310b3tvcGFjaXR5OjE7fSJdKSxWZT1PYmplY3QoQy5lKShbIjAle29wYWNpdHk6MTt9dG97b3BhY2l0eTowO3RyYW5zZm9ybTpyb3RhdGUoLTYwZGVnKTt9Il0pLGU9Qy5kLmRpdi53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2MtMXMxOHEzZC0wIn0pKFsiYW5pbWF0aW9uLWR1cmF0aW9uOi4yczthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2U7YW5pbWF0aW9uLWRlbGF5Oi4wNXM7IiwiICIsIiAiLCIiXSxmdW5jdGlvbihlKXtyZXR1cm4icm93Ij09PWUuZGlyZWN0aW9uJiZPYmplY3QoQy5jKShbInRyYW5zZm9ybTp0cmFuc2xhdGVYKDApOyIsIjsiLCI7Il0sZS5pc1Nob3cmJk9iamVjdChDLmMpKFsiYW5pbWF0aW9uLWZpbGwtbW9kZTpiYWNrd2FyZHM7YW5pbWF0aW9uLW5hbWU6IiwiOyJdLCJyaWdodCI9PT1lLnRoZW1lLnBvc2l0aW9uP0RlOlVlKSwhZS5pc1Nob3cmJk9iamVjdChDLmMpKFsiYW5pbWF0aW9uLWZpbGwtbW9kZTpmb3J3YXJkczthbmltYXRpb24tbmFtZToiLCI7Il0sInJpZ2h0Ij09PWUudGhlbWUucG9zaXRpb24/QmU6RmUpKX0sZnVuY3Rpb24oZSl7cmV0dXJuImNvbHVtbiI9PT1lLmRpcmVjdGlvbiYmT2JqZWN0KEMuYykoWyJ0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTsiLCI7IiwiOyJdLGUuaXNTaG93JiZPYmplY3QoQy5jKShbImFuaW1hdGlvbi1maWxsLW1vZGU6YmFja3dhcmRzO2FuaW1hdGlvbi1uYW1lOiIsIjsiXSxSZSksIWUuaXNTaG93JiZPYmplY3QoQy5jKShbImFuaW1hdGlvbi1maWxsLW1vZGU6Zm9yd2FyZHM7YW5pbWF0aW9uLW5hbWU6IiwiOyJdLE5lKSl9LGZ1bmN0aW9uKGUpe3JldHVybiJhcm91bmQiPT09ZS5kaXJlY3Rpb24mJk9iamVjdChDLmMpKFsiYW5pbWF0aW9uLWR1cmF0aW9uOi40czthbmltYXRpb24tZmlsbC1tb2RlOmJvdGg7IiwiOyIsIjsiXSxlLmlzU2hvdyYmT2JqZWN0KEMuYykoWyJhbmltYXRpb24tbmFtZToiLCI7Il0sSGUpLCFlLmlzU2hvdyYmT2JqZWN0KEMuYykoWyJhbmltYXRpb24tbmFtZToiLCI7Il0sVmUpKX0pLHQ9Qy5kLmRpdi53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2MtMXMxOHEzZC0xIn0pKFsiYW5pbWF0aW9uLWR1cmF0aW9uOi4yczthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2U7YW5pbWF0aW9uLWRlbGF5Oi4wNXM7IiwiICIsIiJdLGZ1bmN0aW9uKGUpe3JldHVybiJyb3ciPT09ZS5kaXJlY3Rpb24mJk9iamVjdChDLmMpKFsidHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7IiwiOyIsIjsiXSxlLmlzU2hvdyYmT2JqZWN0KEMuYykoWyJhbmltYXRpb24tZmlsbC1tb2RlOmJhY2t3YXJkczthbmltYXRpb24tbmFtZToiLCI7Il0sInJpZ2h0Ij09PWUudGhlbWUucG9zaXRpb24/RGU6VWUpLCFlLmlzU2hvdyYmT2JqZWN0KEMuYykoWyJhbmltYXRpb24tZmlsbC1tb2RlOmZvcndhcmRzO2FuaW1hdGlvbi1uYW1lOiIsIjsiXSwicmlnaHQiPT09ZS50aGVtZS5wb3NpdGlvbj9CZTpGZSkpfSxmdW5jdGlvbihlKXtyZXR1cm4icm93IiE9PWUuZGlyZWN0aW9uJiZPYmplY3QoQy5jKShbInRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOyIsIjsiLCI7Il0sZS5pc1Nob3cmJk9iamVjdChDLmMpKFsiYW5pbWF0aW9uLWZpbGwtbW9kZTpiYWNrd2FyZHM7YW5pbWF0aW9uLW5hbWU6IiwiOyJdLFJlKSwhZS5pc1Nob3cmJk9iamVjdChDLmMpKFsiYW5pbWF0aW9uLWZpbGwtbW9kZTpmb3J3YXJkczthbmltYXRpb24tbmFtZToiLCI7Il0sTmUpKX0pLCRlPU9iamVjdChDLmUpKFsiMCV7b3BhY2l0eTowO2xlZnQ6LTIwcHg7fXRve29wYWNpdHk6MTtsZWZ0OjA7fSJdKSxXZT1PYmplY3QoQy5lKShbIjAle29wYWNpdHk6MTsiLCI6MDt9dG97b3BhY2l0eTowOyIsIjotMjBweDt9Il0sZnVuY3Rpb24oZSl7cmV0dXJuIGUudGhlbWUucG9zaXRpb259LGZ1bmN0aW9uKGUpe3JldHVybiBlLnRoZW1lLnBvc2l0aW9ufSksR2U9T2JqZWN0KEMuZSkoWyIwJXtvcGFjaXR5OjA7cmlnaHQ6LTIwcHg7fXRve29wYWNpdHk6MTtyaWdodDowO30iXSkscWU9T2JqZWN0KEMuZSkoWyIwJXtvcGFjaXR5OjE7IiwiOjA7fXRve29wYWNpdHk6MDsiLCI6LTIwcHg7fSJdLGZ1bmN0aW9uKGUpe3JldHVybiBlLnRoZW1lLnBvc2l0aW9ufSxmdW5jdGlvbihlKXtyZXR1cm4gZS50aGVtZS5wb3NpdGlvbn0pLFplPUMuZC5kaXYud2l0aENvbmZpZyh7Y29tcG9uZW50SWQ6InNjLTFzMThxM2QtMiJ9KShbInRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3Bvc2l0aW9uOnJlbGF0aXZlO2FuaW1hdGlvbi1kdXJhdGlvbjowLjY0czthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMjMsMSwuMzIsMSk7YW5pbWF0aW9uLWRlbGF5OjAuMTZzOyIsIjsiLCI7Il0sZnVuY3Rpb24oZSl7cmV0dXJuIGUuaXNTaG93JiZPYmplY3QoQy5jKShbImFuaW1hdGlvbi1maWxsLW1vZGU6YmFja3dhcmRzO2FuaW1hdGlvbi1uYW1lOiIsIjsiXSxmdW5jdGlvbihlKXtyZXR1cm4ibGVmdCI9PT1lLnRoZW1lLnBvc2l0aW9uPyRlOkdlfSl9LGZ1bmN0aW9uKGUpe3JldHVybiFlLmlzU2hvdyYmT2JqZWN0KEMuYykoWyJhbmltYXRpb24tZmlsbC1tb2RlOmZvcndhcmRzO2FuaW1hdGlvbi1uYW1lOiIsIjsiXSxmdW5jdGlvbihlKXtyZXR1cm4ibGVmdCI9PT1lLnRoZW1lLnBvc2l0aW9uP1dlOnFlfSl9KSxYZT1PYmplY3QoQy5lKShbImZyb217b3BhY2l0eTowO21hcmdpbi1sZWZ0Oi0yMHB4O310b3tvcGFjaXR5OjE7fSJdKSxZZT1PYmplY3QoQy5lKShbImZyb217b3BhY2l0eTowO21hcmdpbi1yaWdodDotMjBweDt9dG97b3BhY2l0eToxO30iXSksUWU9T2JqZWN0KEMuZSkoWyIwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSk7fTE0JXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjMpO3RyYW5zZm9ybTpzY2FsZSgxLjMpO30yOCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpO300MiV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4zKTt0cmFuc2Zvcm06c2NhbGUoMS4zKTt9NzAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKTt9Il0pLEtlPU9iamVjdChDLmUpKFsiZnJvbXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTt9MTUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0yNSUsMCwwKSByb3RhdGUzZCgwLDAsMSwtNWRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0yNSUsMCwwKSByb3RhdGUzZCgwLDAsMSwtNWRlZyk7fTMwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgyMCUsMCwwKSByb3RhdGUzZCgwLDAsMSwzZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMjAlLDAsMCkgcm90YXRlM2QoMCwwLDEsM2RlZyk7fTQ1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTUlLDAsMCkgcm90YXRlM2QoMCwwLDEsLTNkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTUlLDAsMCkgcm90YXRlM2QoMCwwLDEsLTNkZWcpO302MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAlLDAsMCkgcm90YXRlM2QoMCwwLDEsMmRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwJSwwLDApIHJvdGF0ZTNkKDAsMCwxLDJkZWcpO303NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTUlLDAsMCkgcm90YXRlM2QoMCwwLDEsLTFkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNSUsMCwwKSByb3RhdGUzZCgwLDAsMSwtMWRlZyk7fXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApO30iXSksSmU9T2JqZWN0KEMuZSkoWyJmcm9tey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoMSwxLDEpO3RyYW5zZm9ybTpzY2FsZTNkKDEsMSwxKTt9MzAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoMS4yNSwwLjc1LDEpO3RyYW5zZm9ybTpzY2FsZTNkKDEuMjUsMC43NSwxKTt9NDAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoMC43NSwxLjI1LDEpO3RyYW5zZm9ybTpzY2FsZTNkKDAuNzUsMS4yNSwxKTt9NTAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoMS4xNSwwLjg1LDEpO3RyYW5zZm9ybTpzY2FsZTNkKDEuMTUsMC44NSwxKTt9NjUley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoMC45NSwxLjA1LDEpO3RyYW5zZm9ybTpzY2FsZTNkKDAuOTUsMS4wNSwxKTt9NzUley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoMS4wNSwwLjk1LDEpO3RyYW5zZm9ybTpzY2FsZTNkKDEuMDUsMC45NSwxKTt9dG97LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgxLDEsMSk7dHJhbnNmb3JtOnNjYWxlM2QoMSwxLDEpO30iXSksZXQ9T2JqZWN0KEMuZSkoWyJmcm9tLDIwJSw1MyUsdG97LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjIxNSwwLjYxLDAuMzU1LDEpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuMjE1LDAuNjEsMC4zNTUsMSk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCk7fTQwJSw0MyV7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjc1NSwwLjA1LDAuODU1LDAuMDYpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuNzU1LDAuMDUsMC44NTUsMC4wNik7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMzBweCwwKSBzY2FsZVkoMS4xKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMzBweCwwKSBzY2FsZVkoMS4xKTt9NzAley13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC43NTUsMC4wNSwwLjg1NSwwLjA2KTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjc1NSwwLjA1LDAuODU1LDAuMDYpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTE1cHgsMCkgc2NhbGVZKDEuMDUpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0xNXB4LDApIHNjYWxlWSgxLjA1KTt9ODAley13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuMjE1LDAuNjEsMC4zNTUsMSk7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuMjE1LDAuNjEsMC4zNTUsMSk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApIHNjYWxlWSgwLjk1KTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApIHNjYWxlWSgwLjk1KTt9OTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTRweCwwKSBzY2FsZVkoMS4wMik7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTRweCwwKSBzY2FsZVkoMS4wMik7fSJdKSx0dD1PYmplY3QoQy5lKShbImZyb217LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgxLDEsMSk7dHJhbnNmb3JtOnNjYWxlM2QoMSwxLDEpO301MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEuMSk7dHJhbnNmb3JtOnNjYWxlM2QoMS4xLDEuMSwxLjEpO310b3std2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKDEsMSwxKTt0cmFuc2Zvcm06c2NhbGUzZCgxLDEsMSk7fSJdKSxudD1PYmplY3QoQy5lKShbIjAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7fTYuNSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTt9MTguNSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO30zMS41JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO300My41JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7fTUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApO30iXSkscnQ9T2JqZWN0KEMuZSkoWyIyMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlM2QoMCwwLDEsMTVkZWcpO3RyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSwxNWRlZyk7fTQwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSwtMTBkZWcpO3RyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSwtMTBkZWcpO302MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlM2QoMCwwLDEsNWRlZyk7dHJhbnNmb3JtOnJvdGF0ZTNkKDAsMCwxLDVkZWcpO304MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlM2QoMCwwLDEsLTVkZWcpO3RyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSwtNWRlZyk7fXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZTNkKDAsMCwxLDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUzZCgwLDAsMSwwZGVnKTt9Il0pLG90PU9iamVjdChDLmUpKFsiZnJvbXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKDEsMSwxKTt0cmFuc2Zvcm06c2NhbGUzZCgxLDEsMSk7fTEwJSwyMCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgwLjksMC45LDAuOSkgcm90YXRlM2QoMCwwLDEsLTNkZWcpO3RyYW5zZm9ybTpzY2FsZTNkKDAuOSwwLjksMC45KSByb3RhdGUzZCgwLDAsMSwtM2RlZyk7fTMwJSw1MCUsNzAlLDkwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKDEuMSwxLjEsMS4xKSByb3RhdGUzZCgwLDAsMSwzZGVnKTt0cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEuMSkgcm90YXRlM2QoMCwwLDEsM2RlZyk7fTQwJSw2MCUsODAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoMS4xLDEuMSwxLjEpIHJvdGF0ZTNkKDAsMCwxLC0zZGVnKTt0cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEuMSkgcm90YXRlM2QoMCwwLDEsLTNkZWcpO310b3std2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKDEsMSwxKTt0cmFuc2Zvcm06c2NhbGUzZCgxLDEsMSk7fSJdKSxhdD1PYmplY3QoQy5lKShbImZyb20sMTEuMSUsdG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCk7fTIyLjIley13ZWJraXQtdHJhbnNmb3JtOnNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7dHJhbnNmb3JtOnNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7fTMzLjMley13ZWJraXQtdHJhbnNmb3JtOnNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO3RyYW5zZm9ybTpza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTt9NDQuNCV7LXdlYmtpdC10cmFuc2Zvcm06c2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO3RyYW5zZm9ybTpza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7fTU1LjUley13ZWJraXQtdHJhbnNmb3JtOnNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTt0cmFuc2Zvcm06c2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO302Ni42JXstd2Via2l0LXRyYW5zZm9ybTpza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO3RyYW5zZm9ybTpza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO303Ny43JXstd2Via2l0LXRyYW5zZm9ybTpza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO3RyYW5zZm9ybTpza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO304OC44JXstd2Via2l0LXRyYW5zZm9ybTpza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTt0cmFuc2Zvcm06c2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7fSJdKSxpdD1PYmplY3QoQy5lKShbIjAle3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7b3BhY2l0eToxO30xMDAle3dpZHRoOiIsInB4O2hlaWdodDoiLCJweDtvcGFjaXR5OjA7fSJdLDMqYy5hY3RpdmF0b3JTaXplKzIwLGMuYWN0aXZhdG9yU2l6ZSs1MCksbHQ9T2JqZWN0KEMuZSkoWyIwJXt3aWR0aDozMHB4O2hlaWdodDozMHB4O29wYWNpdHk6MTt9MTAwJXt3aWR0aDoiLCJweDtoZWlnaHQ6IiwicHg7b3BhY2l0eTowO30iXSwzKmMuYWN0aXZhdG9yU2l6ZSsyMCxjLmFjdGl2YXRvclNpemUrNTApLGN0PU9iamVjdChDLmUpKFsiMCV7b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZVgoMSkgc2NhbGVZKDEpO301MCV7b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZVgoMS40KSBzY2FsZVkoMS40KTt9MTAwJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnNjYWxlWCgxKSBzY2FsZVkoMSk7fSJdKTtmdW5jdGlvbiB1dChlLHQpe3JldHVybiBmdW5jdGlvbihlKXtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBlfShlKXx8ZnVuY3Rpb24oZSx0KXt2YXIgbj1udWxsPT1lP251bGw6InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJmVbU3ltYm9sLml0ZXJhdG9yXXx8ZVsiQEBpdGVyYXRvciJdO2lmKG51bGwhPW4pe3ZhciByLG8sYSxpLGw9W10sYz0hMCx1PSExO3RyeXtpZihhPShuPW4uY2FsbChlKSkubmV4dCwwPT09dCl7aWYoT2JqZWN0KG4pIT09bilyZXR1cm47Yz0hMX1lbHNlIGZvcig7IShjPShyPWEuY2FsbChuKSkuZG9uZSkmJihsLnB1c2goci52YWx1ZSksbC5sZW5ndGghPT10KTtjPSEwKTt9Y2F0Y2goZSl7dT0hMCxvPWV9ZmluYWxseXt0cnl7aWYoIWMmJm51bGwhPW4ucmV0dXJuJiYoaT1uLnJldHVybigpLE9iamVjdChpKSE9PWkpKXJldHVybn1maW5hbGx5e2lmKHUpdGhyb3cgb319cmV0dXJuIGx9fShlLHQpfHxmdW5jdGlvbihlLHQpe3ZhciBuO2lmKGUpcmV0dXJuInN0cmluZyI9PXR5cGVvZiBlP3N0KGUsdCk6Ik1hcCI9PT0obj0iT2JqZWN0Ij09PShuPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKS5zbGljZSg4LC0xKSkmJmUuY29uc3RydWN0b3I/ZS5jb25zdHJ1Y3Rvci5uYW1lOm4pfHwiU2V0Ij09PW4/QXJyYXkuZnJvbShlKToiQXJndW1lbnRzIj09PW58fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pP3N0KGUsdCk6dm9pZCAwfShlLHQpfHxmdW5jdGlvbigpe3Rocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9KCl9ZnVuY3Rpb24gc3QoZSx0KXsobnVsbD09dHx8dD5lLmxlbmd0aCkmJih0PWUubGVuZ3RoKTtmb3IodmFyIG49MCxyPW5ldyBBcnJheSh0KTtuPHQ7bisrKXJbbl09ZVtuXTtyZXR1cm4gcn12YXIgZnQ9Qy5kLmRpdi53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2MtOGVxYzN5LTAifSkoWyIiLCIiXSxmdW5jdGlvbihlKXt2YXIgdD1lLm1pcnJvcixlPWUuYWN0aXZhdG9yU2l6ZTtyZXR1cm4gT2JqZWN0KEMuYykoWyJ0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nOjdweCAxMHB4O2xpbmUtaGVpZ2h0OjE2cHg7Zm9udC1mYW1pbHk6QXJpYWwsSGVsdmV0aWNhIE5ldWUsSGVsdmV0aWNhLHNhbnMtc2VyaWY7Zm9udC1zaXplOiIsInB4O21hcmdpbjphdXRvOyIsIiJdLE1hdGgubWluKC4yOCplLDE3LjUpLHQmJk9iamVjdChDLmMpKFsiZGlyZWN0aW9uOnJ0bDt1bmljb2RlLWJpZGk6cGxhaW50ZXh0OyJdKSl9KSxkdD1PYmplY3QoQy5kKShaZSkud2l0aENvbmZpZyh7Y29tcG9uZW50SWQ6InNjLThlcWMzeS0xIn0pKFsiIiwiIl0sZnVuY3Rpb24oZSl7dmFyIHQ9ZS5idXR0b25TaGFkb3csZT1lLnRoZW1lO3JldHVybiBPYmplY3QoQy5jKShbImJveC1zaGFkb3c6MHB4IDFweCA3cHggcmdiYSgxMzYsMTM2LDEzNiwiLCIlKTtmbGV4LXNocmluazowO2JvcmRlcjoxcHggc29saWQgI2UyZTJlMjtib3JkZXItcmFkaXVzOjVweDtiYWNrZ3JvdW5kOndoaXRlO3RleHQtZGVjb3JhdGlvbjpub25lICFpbXBvcnRhbnQ7Y29sb3I6IzAwMDAwMCAhaW1wb3J0YW50O2N1cnNvcjpwb2ludGVyO21hcmdpbjoiLCI7bWF4LXdpZHRoOjE3MnB4O21heC1oZWlnaHQ6NjVweDtkaXNwbGF5OmZsZXg7b3JkZXI6IiwiOyY6OmJlZm9yZXtjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQ6d2hpdGU7Ym9yZGVyLSIsIjoxcHggc29saWQgI2UyZTJlMjtib3JkZXItIiwiOjFweCBzb2xpZCAjZTJlMmUyOyIsIjotNXB4O3RvcDo1MCU7bWFyZ2luLXRvcDotNHB4O3dpZHRoOjhweDtoZWlnaHQ6OHB4O3otaW5kZXg6MTt0cmFuc2Zvcm06cm90YXRlKC00NWRlZyk7fSY6OmFmdGVye2NvbnRlbnQ6Jyc7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZDp3aGl0ZTtib3JkZXItIiwiOjFweCBzb2xpZCAjZTJlMmUyO2JvcmRlci0iLCI6MXB4IHNvbGlkICNlMmUyZTI7IiwiOi01cHg7dG9wOjUwJTttYXJnaW4tdG9wOi00cHg7d2lkdGg6OHB4O2hlaWdodDo4cHg7ei1pbmRleDoxO3RyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKTt9Il0sMjA8dD90OjIwLGUuY2FsbFRvQWN0aW9uTWFyZ2luLGUucG9wdXBzT3JkZXIsImxlZnQiPT09ZS5wb3NpdGlvbj8idG9wIjoiYm90dG9tIixlLnBvc2l0aW9uLGUucG9zaXRpb24sImxlZnQiPT09ZS5wb3NpdGlvbj8idG9wIjoiYm90dG9tIixlLnBvc2l0aW9uLGUucG9zaXRpb24pfSkscHQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5ocmVmLHQ9dm9pZCAwPT09dD9udWxsOnQsZT1lLnRhcmdldCxlPXZvaWQgMD09PWU/bnVsbDplLG49T2JqZWN0KEYudXNlQ29udGV4dCkoVikscj1uLnN0YXRlLG89bi5hY3Rpb25zLnNob3dCdXR0b25zLG49bi5zZXR0aW5ncyxhPW4uY2FsbFRvQWN0aW9uLGk9bi5jYWxsVG9BY3Rpb25EZWxheSxsPW4uZGlyZWN0aW9uLGM9bi5idXR0b25TdHlsZSx1PW4uYWN0aXZhdG9yU2l6ZSxzPW4ubWlycm9yLG49bi5idXR0b25TaGFkb3csZj11dChPYmplY3QoRi51c2VTdGF0ZSkoITEpLDIpLGQ9ZlswXSxwPWZbMV0sZj11dChPYmplY3QoRi51c2VTdGF0ZSkoITEpLDIpLG09ZlswXSxoPWZbMV0sZz1PYmplY3QoRi51c2VSZWYpKDApO3JldHVybiBPYmplY3QoRi51c2VFZmZlY3QpKGZ1bmN0aW9uKCl7IXIuYnV0dG9ucyYmITAhPT1yLmNhbGxUb0FjdGlvblRpbWVyfHwoY2xlYXJUaW1lb3V0KGcuY3VycmVudCksZy5jdXJyZW50PTApLHIuY2FsbFRvQWN0aW9uJiYwPGEubGVuZ3RoPzA9PT1nLmN1cnJlbnQmJihnLmN1cnJlbnQ9c2V0VGltZW91dChmdW5jdGlvbigpe3Aoci5jYWxsVG9BY3Rpb24pLGgoci5jYWxsVG9BY3Rpb24pLFcoImFyb3VuZCIhPT1sPyJjbGFzc2ljIj09PWM/MjgwOjMqdSsyMDA6OTk5OTk5OTk5KX0saSkpOnAoITEpfSksT2JqZWN0KEYudXNlRWZmZWN0KShmdW5jdGlvbigpe3IuY2FsbFRvQWN0aW9uJiYwPGEubGVuZ3RoJiZXKCJhcm91bmQiIT09bD8iY2xhc3NpYyI9PT1jPzI4MDozKnUrMjAwOjk5OTk5OTk5OSl9LFtyLmNhbGxUb0FjdGlvbixhLGMsbCx1XSksbSYmSC5hLmNyZWF0ZUVsZW1lbnQoZHQse2FzOm51bGw9PT10PyJkaXYiOiJhIixocmVmOnQsdGFyZ2V0OmUsb25Nb3VzZVVwOmZ1bmN0aW9uKCl7bygpfSxpc1Nob3c6ZCxvbkFuaW1hdGlvbkVuZDpmdW5jdGlvbigpe2goZCl9LGJ1dHRvblNoYWRvdzpufSxILmEuY3JlYXRlRWxlbWVudChmdCx7bWlycm9yOnMsYWN0aXZhdG9yU2l6ZTp1fSxhKSl9O2Z1bmN0aW9uIG10KGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIGV9KGUpfHxmdW5jdGlvbihlLHQpe3ZhciBuPW51bGw9PWU/bnVsbDoidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmZVtTeW1ib2wuaXRlcmF0b3JdfHxlWyJAQGl0ZXJhdG9yIl07aWYobnVsbCE9bil7dmFyIHIsbyxhLGksbD1bXSxjPSEwLHU9ITE7dHJ5e2lmKGE9KG49bi5jYWxsKGUpKS5uZXh0LDA9PT10KXtpZihPYmplY3QobikhPT1uKXJldHVybjtjPSExfWVsc2UgZm9yKDshKGM9KHI9YS5jYWxsKG4pKS5kb25lKSYmKGwucHVzaChyLnZhbHVlKSxsLmxlbmd0aCE9PXQpO2M9ITApO31jYXRjaChlKXt1PSEwLG89ZX1maW5hbGx5e3RyeXtpZighYyYmbnVsbCE9bi5yZXR1cm4mJihpPW4ucmV0dXJuKCksT2JqZWN0KGkpIT09aSkpcmV0dXJufWZpbmFsbHl7aWYodSl0aHJvdyBvfX1yZXR1cm4gbH19KGUsdCl8fGZ1bmN0aW9uKGUsdCl7dmFyIG47aWYoZSlyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/aHQoZSx0KToiTWFwIj09PShuPSJPYmplY3QiPT09KG49T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpLnNsaWNlKDgsLTEpKSYmZS5jb25zdHJ1Y3Rvcj9lLmNvbnN0cnVjdG9yLm5hbWU6bil8fCJTZXQiPT09bj9BcnJheS5mcm9tKGUpOiJBcmd1bWVudHMiPT09bnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3Qobik/aHQoZSx0KTp2b2lkIDB9KGUsdCl8fGZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX0oKX1mdW5jdGlvbiBodChlLHQpeyhudWxsPT10fHx0PmUubGVuZ3RoKSYmKHQ9ZS5sZW5ndGgpO2Zvcih2YXIgbj0wLHI9bmV3IEFycmF5KHQpO248dDtuKyspcltuXT1lW25dO3JldHVybiByfWZ1bmN0aW9uIGd0KGUpe3N3aXRjaCghMCl7Y2FzZSJudW1iZXIiPT10eXBlb2YgZTpyZXR1cm4gZSsicHgiO2Nhc2Uic21hbGwiPT09ZTpyZXR1cm4iMzRweCI7Y2FzZSJtZWRpdW0iPT09ZTpyZXR1cm4iNDVweCI7ZGVmYXVsdDpyZXR1cm4iNTBweCJ9fWZ1bmN0aW9uIEUoZSl7c3dpdGNoKGUpe2Nhc2UiaGVhcnRCZWF0IjpyZXR1cm4gUWU7Y2FzZSJ3b2JibGUiOnJldHVybiBLZTtjYXNlInJ1YmJlckJhbmQiOnJldHVybiBKZTtjYXNlImJvdW5jZSI6cmV0dXJuIGV0O2Nhc2UicHVsc2UiOnJldHVybiB0dDtjYXNlImhlYWRTaGFrZSI6cmV0dXJuIG50O2Nhc2Uic3dpbmciOnJldHVybiBydDtjYXNlInRhZGEiOnJldHVybiBvdDtjYXNlImplbGxvIjpyZXR1cm4gYXQ7Y2FzZSJyaW5nIjpyZXR1cm4gaXQ7Y2FzZSJkb3VibGVSaW5nIjpyZXR1cm4gbHQ7Y2FzZSJtb3ZlSW4iOnJldHVybiBjdDtkZWZhdWx0OnJldHVybiJzdGFuZGFyZCJ9fWZ1bmN0aW9uIE8oZSl7c3dpdGNoKGUubGVuZ3RoKXtjYXNlIDI6cmV0dXJuIDUuMTtjYXNlIDM6cmV0dXJuIDg7ZGVmYXVsdDpyZXR1cm4gMTJ9fWZ1bmN0aW9uIHAoZSl7ZnVuY3Rpb24gdCgpe058fChkP2goKTooUyYmTWUoYSkscCgpLG0oYSksITE9PT1CW2FdLnNob3dQb3B1cCYmZygpKSl9ZnVuY3Rpb24gbigpe0QoKXx8InNtYWxsIj09PXJ8fCJtZWRpdW0iPT09cnx8ImZhY2Vib29rIj09PWF8fGR8fChNKCEwKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7TSghMSl9LDFlMyksdCgpKX12YXIgcj1lLnNpemUsbz1lLmxpbmssYT1lLm5hbWUsaT1lLmljb24sbD1lLnRhcmdldCxjPWUuY29sb3IsdT1lLmN1c3RvbUljb24sZT1lLmxhYmVsLHM9KGI9T2JqZWN0KEYudXNlQ29udGV4dCkoVikpLnN0YXRlLGY9cy5idXR0b25zLGQ9cy5idXR0b25Qb3B1cDtzLmdyZWV0aW5nTWVzc2FnZTt2YXIgcD0ocz1iLmFjdGlvbnMpLmJ1dHRvbkNsaWNrZWQsbT1zLnNob3dCdXR0b25Qb3B1cCxoPXMuY2xvc2VCdXR0b25Qb3B1cCxnPXMub3BlbkdyZWV0aW5nTWVzc2FnZSxiPShzPWIuc2V0dGluZ3MpLmJ1dHRvbkJvcmRlclJhZGl1cyx5PXMuYWN0aXZhdG9yU2l6ZSx2PXMuaXNQcm8sdz1zLmlzU2luZ2xlLHg9cy5kaXJlY3Rpb24saz1zLmJ1dHRvblN0eWxlLFM9cy5nYSxDPXMuYnV0dG9uQW5pbWF0aW9uLEU9cy5ib3JkZXIsTz1zLmJ1dHRvblNoYWRvdyxqPXMuYnV0dG9uT3BhY2l0eSxBPXMuYmdTdHlsZSxQPXMubm90aWZpY2F0aW9uSW5kaWNhdG9yLEk9cy5taXJyb3IsXz1zLm9yZGVyLHo9cy5wb3NpdGlvbixUPXMuYW5pbWF0aW9uLFI9JChiKSxMPSIiLHI9InNtYWxsIj09PXJ8fCJtZWRpdW0iPT09cj9yOnkseT0odj8oYz1jfHxCW2FdLmNvbG9yLEw9QlthXS5idXR0b25JZCk6Yz1idChjKT9jOkJbYV0uY29sb3IsdyYmKHMuYnV0dG9uQ29sb3I9YykscGUoYyw1KSksTj0odj1tdChPYmplY3QoRi51c2VTdGF0ZSkoITEpLDIpKVswXSxNPXZbMV07cmV0dXJuIE9iamVjdChGLnVzZUVmZmVjdCkoZnVuY3Rpb24oKXt2YXIgZTtpZigiY29sdW1uIj09PXgpcmV0dXJuIGU9c2V0VGltZW91dChmdW5jdGlvbigpe1coImNsYXNzaWMiPT09az9yOjMqcil9LDM1MCksZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQoZSl9O1coZj85OTk5OTk5OToiY2xhc3NpYyI9PT1rP3I6MypyKX0sW2sseCxyXSksT2JqZWN0KEYudXNlRWZmZWN0KShmdW5jdGlvbigpe3ZhciBlPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtXKCJjbGFzc2ljIj09PWs/cjozKnIpfSw1MDApO3JldHVybiBmdW5jdGlvbigpe2NsZWFyVGltZW91dChlKX19LFtrLHJdKSwhMD09PXc/SC5hLmNyZWF0ZUVsZW1lbnQoU3Qse29uTW91c2VVcDp0fSxVKCkmJkguYS5jcmVhdGVFbGVtZW50KHB0LHtocmVmOm8sdGFyZ2V0Omwsc2l6ZTpyfSksSC5hLmNyZWF0ZUVsZW1lbnQoeHQse2J1dHRvbkFuaW1hdGlvbjpDLGNvbG9yOmMsYnV0dG9uQm9yZGVyUmFkaXVzOmIsc2l6ZTpyLGFuaW1hdGlvbjpULGJ1dHRvblN0eWxlOmsscG9wdXBPcGVuZWQ6ZH0sSC5hLmNyZWF0ZUVsZW1lbnQod3Qse29uTW91c2VFbnRlcjpuLHNpemU6cixocmVmOm8sdGFyZ2V0OmwsImFyaWEtbGFiZWwiOiJHbyB0byAiLmNvbmNhdChhKSxjb2xvcjpjLGlkOkwsY3VzdG9tSWNvbjp1LGdyYWRpZW50OnksaW5kaWNhdG9yUG9zaXRpb246Uixib3JkZXI6RSxidXR0b25Cb3JkZXJSYWRpdXM6YixidXR0b25TaGFkb3c6TyxidXR0b25PcGFjaXR5OmosYmdTdHlsZTpBLGJ1dHRvblN0eWxlOmssYnV0dG9uQW5pbWF0aW9uOkMsbm90aWZpY2F0aW9uSW5kaWNhdG9yOlAsbWlycm9yOkksaXNTaW5nbGU6dyxkaXJlY3Rpb246eCxwb3NpdGlvbjp6LG9yZGVyOl8sYW5pbWF0aW9uOlQscG9wdXBPcGVuZWQ6ZH0saSwibWVkaXVtIj09PXImJkguYS5jcmVhdGVFbGVtZW50KEcse2NvbG9yOmMsbWlycm9yOkksc2l6ZTpyfSxlKSwibWVkaXVtIiE9PXImJiJjbGFzc2ljIiE9PWsmJkguYS5jcmVhdGVFbGVtZW50KEcse2NvbG9yOmMsbWlycm9yOkksc2l6ZTpyfSxlKSkpKTpILmEuY3JlYXRlRWxlbWVudChTdCx7b25Nb3VzZVVwOnQsZGF0YUluZGV4Onl0KF8sYSksb3BlbmVkOmYsc2l6ZTpyLGRpcmVjdGlvbjp4LG9yZGVyOl99LEguYS5jcmVhdGVFbGVtZW50KGt0LHtzaXplOnIsbWlycm9yOkksYnV0dG9uU3R5bGU6ayxkaXJlY3Rpb246eCxvcmRlcjpfLGRhdGFJbmRleDp5dChfLGEpLGJ1dHRvblNoYWRvdzpPfSxlKSxILmEuY3JlYXRlRWxlbWVudCh4dCx7c2l6ZTpyfSxILmEuY3JlYXRlRWxlbWVudCh3dCx7c2l6ZTpyLGhyZWY6byx0YXJnZXQ6bCwiYXJpYS1sYWJlbCI6IkdvIHRvICIuY29uY2F0KGEpLGNvbG9yOmMsaWQ6TCxjdXN0b21JY29uOnUsZ3JhZGllbnQ6eSwiZGF0YS1jb21wb25lbnQtbmFtZSI6IkJhc2VCdXR0b24iLGJvcmRlcjpFLGRhdGFJbmRleDp5dChfLGEpLGJ1dHRvbkJvcmRlclJhZGl1czpiLGJ1dHRvblNoYWRvdzpPLGJ1dHRvbk9wYWNpdHk6aixiZ1N0eWxlOkEsYnV0dG9uU3R5bGU6ayxtaXJyb3I6SSxpc1NpbmdsZTp3LGRpcmVjdGlvbjp4LHBvc2l0aW9uOnosb3JkZXI6X30saSwibWVkaXVtIiE9PXImJiJzbWFsbCIhPT1yJiYiY2xhc3NpYyIhPT1rJiZILmEuY3JlYXRlRWxlbWVudChHLHtjb2xvcjpjLG1pcnJvcjpJLHNpemU6cn0sZSkpKSl9dmFyIGJ0PWZ1bmN0aW9uKGUpe3JldHVybiEhWyIjNjY2NjY2IiwiIzY2NiIsIiNFNzQzMzkiLCIjRkY2NTUwIiwiI0E4Q0U1MCIsIiMxMjlCRjQiLCIjOTMyQzhCIiwiI0ZGMzE4RSIsIiMwMDAwMDAiLCIjMDAwIl0uaW5jbHVkZXMoZS50b1VwcGVyQ2FzZSgpKX0seXQ9ZnVuY3Rpb24oZSx0KXtlPWUuaW5kZXhPZih0KTtpZigtMSE9PWUpcmV0dXJuIGUrMX0sdnQ9MTQsd3Q9Qy5kLmEud2l0aENvbmZpZyh7Y29tcG9uZW50SWQ6InNjLXE4YzZ0dC0wIn0pKFsiIiwiICJdLGZ1bmN0aW9uKGUpe3ZhciB0PWUuYnV0dG9uT3BhY2l0eSxuPWUuc2l6ZSxyPWUuYnV0dG9uU3R5bGUsbz1lLmlzU2luZ2xlLGE9ZS5iZ1N0eWxlLGk9ZS5jb2xvcixsPWUuZ3JhZGllbnQsYz1lLmJ1dHRvbkJvcmRlclJhZGl1cyx1PWUuYnV0dG9uSW1hZ2Uscz1lLnRoZW1lLGY9ZS5jdXN0b21JY29uLGQ9ZS5ub3RpZmljYXRpb25JbmRpY2F0b3IscD1lLmJ1dHRvblNoYWRvdyxtPWUuYm9yZGVyLGg9ZS5hbmltYXRpb24sZz1lLmJ1dHRvbkFuaW1hdGlvbixiPWUub3BlbmVkLHk9ZS5pbmRpY2F0b3JQb3NpdGlvbix2PWUubWlycm9yLHc9ZS5kYXRhSW5kZXgseD1lLmRpcmVjdGlvbixrPWUucG9zaXRpb24sUz1lLm9yZGVyLGU9ZS5wb3B1cE9wZW5lZDtyZXR1cm4gT2JqZWN0KEMuYykoWyJkaXNwbGF5OiIsIjtmbGV4LXNocmluazowO29wYWNpdHk6IiwiJTt0ZXh0LWRlY29yYXRpb246bm9uZSAhaW1wb3J0YW50O3dpZHRoOiIsIjtoZWlnaHQ6IiwiO2JvcmRlci1yYWRpdXM6IiwiOyIsIjsiLCIgIiwiIG9yZGVyOiIsIjtwYWRkaW5nOiIsIjtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOnBvaW50ZXI7b3ZlcmZsb3c6IiwiOyIsIjt0cmFuc2l0aW9uOmFsbCAwLjVzO3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MjAwO2JvcmRlcjoiLCI7IiwiICIsIiAiLCI7Jjpob3ZlcntjdXJzb3I6cG9pbnRlcjtjb2xvcjojZmZmZmZmICFpbXBvcnRhbnQ7fSIsIjsiLCIgIiwiICIsIiAiLCIgIiwiICIsIiAiLCIgIiwiICIsIiJdLDA9PT1uPyJub25lIjoiYmxvY2siLHQsZ3QoIm1lZGl1bSIhPT1uJiYic21hbGwiIT09biYmImNsYXNzaWMiIT09cj8zKm46biksZ3QobiksIiIuY29uY2F0KGMsIm1lZGl1bSIhPT1uJiYic21hbGwiIT09biYmImNsYXNzaWMiIT09cj8icHgiOiIlIiksbyYmIm1lZGl1bSI9PT1uJiZPYmplY3QoQy5jKShbIndpZHRoOjI5MHB4O2JvcmRlci1yYWRpdXM6MTBweDtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6MTBweDtjb2xvcjojZmZmZmZmO2ZvbnQtd2VpZ2h0OmJvbGQ7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDo1MnB4OyJdKSwiY29sb3IiPT09YT9PYmplY3QoQy5jKShbImJhY2tncm91bmQtY29sb3I6IiwiICFpbXBvcnRhbnQ7Il0saXx8IiM4NDg0ODQiKTpPYmplY3QoQy5jKShbImJhY2tncm91bmQ6IiwiOyJdLCJsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAiLmNvbmNhdChsLCIpIikpLHUmJiJjbGFzc2ljIj09PXImJk9iamVjdChDLmMpKFsiYmFja2dyb3VuZC1pbWFnZTp1cmwoICIsIiApO2JhY2tncm91bmQtc2l6ZTpjb3ZlciAhaW1wb3J0YW50O2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlcjsiXSx1KSxzLmJ1dHRvbnNPcmRlcixmPyIwIjoiNXB4IiwhZCYmImhpZGRlbiIsIm1lZGl1bSIhPT1uJiYic21hbGwiIT09biYmT2JqZWN0KEMuYykoWyJib3gtc2hhZG93OjBweCAxcHggN3B4IHJnYmEoMTM2LDEzNiwxMzYsIiwiJSk7Il0scCksbSYmIm1lZGl1bSIhPT1uJiYic21hbGwiIT09biYmIiIuY29uY2F0KC4wNDUqbiwicHggc29saWQgI2ZmZmZmZiIpLCJzbWFsbCI9PT1uJiYiI2ZmZmZmZiI9PT1pJiZPYmplY3QoQy5jKShbImJvcmRlcjoxcHggc29saWQgbGlnaHRncmF5O2NvbG9yOmJsYWNrICFpbXBvcnRhbnQ7Jjpob3Zlcntjb2xvcjpibGFjayAhaW1wb3J0YW50O30iXSksIm1lZGl1bSI9PT1uJiYiI2ZmZmZmZiI9PT1pJiZPYmplY3QoQy5jKShbImJvcmRlcjoxcHggc29saWQgbGlnaHRncmF5O2NvbG9yOmJsYWNrICFpbXBvcnRhbnQ7Jjpob3Zlcntjb2xvcjpibGFjayAhaW1wb3J0YW50O30iXSksaCYmT2JqZWN0KEMuYykoWyIiLCIiXSwic3RhbmRhcmQiIT09ZyYmInJpbmciIT09ZyYmImRvdWJsZVJpbmciIT09ZyYmIm1vdmVJbiIhPT1nJiYibWVkaXVtIiE9PW4mJk9iamVjdChDLmMpKFsiYW5pbWF0aW9uOiIsIiAycyBpbmZpbml0ZTthbmltYXRpb24tZGVsYXk6MXM7Jjpob3ZlcnthbmltYXRpb246bm9uZTt9Il0sRShnKSkpLGQmJiJtZWRpdW0iIT09biYmIWImJk9iamVjdChDLmMpKFsiJjpiZWZvcmV7Y29udGVudDonMSc7d2lkdGg6IiwicHg7aGVpZ2h0OiIsInB4O2Rpc3BsYXk6Z3JpZDtwbGFjZS1jb250ZW50OmNlbnRlcjtjb2xvcjojZmZmZmZmO2ZvbnQtc2l6ZToxM3B4O2JhY2tncm91bmQtY29sb3I6cmVkO2JvcmRlci1yYWRpdXM6NTAlO2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7cG9zaXRpb246YWJzb2x1dGU7dG9wOiIsInB4OyIsIiBib3gtc2hhZG93OjBweCAxcHggMnB4IHJnYmEoMCwwLDAsNTAlKTt9OyJdLE1hdGgubWluKC4zKm4sMjApLE1hdGgubWluKC4zKm4sMjApLHktNCx2P09iamVjdChDLmMpKFsibGVmdDoiLCJweDsiXSx5LTQpOk9iamVjdChDLmMpKFsicmlnaHQ6IiwicHg7Il0seS00KSksYiYmT2JqZWN0KEMuYykoWyJhbmltYXRpb246bm9uZTsiXSksZSYmT2JqZWN0KEMuYykoWyJhbmltYXRpb246bm9uZTsiXSksIm1lZGl1bSIhPT1uJiYic21hbGwiIT09biYmImNsYXNzaWMiIT09ciYmT2JqZWN0KEMuYykoWyJhbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCwxZnIpOyIsIiJdLHY/T2JqZWN0KEMuYykoWyJwYWRkaW5nOjAgMTVweCAwIDIwcHg7Il0pOk9iamVjdChDLmMpKFsicGFkZGluZzowIDIwcHggMCAxNXB4OyJdKSksImNsYXNzaWMiIT09ciYmIm1lZGl1bSI9PT1ufHwic21hbGwiPT09biYmT2JqZWN0KEMuYykoWyJkaXNwbGF5OmdyaWQ7cGxhY2UtY29udGVudDpjZW50ZXI7Il0pLHYmJk9iamVjdChDLmMpKFsiZGlyZWN0aW9uOnJ0bDsiXSksInNtYWxsIj09PW4mJk9iamVjdChDLmMpKFsiZGlzcGxheTpibG9jazsiXSksdyYmImFyb3VuZCI9PT14JiYibWVkaXVtIiE9PW4mJiJzbWFsbCIhPT1uJiZPYmplY3QoQy5jKShbInRyYW5zZm9ybTpyb3RhdGUoIiwiZGVnKTsiXSwicmlnaHQiPT09az93KigzNjAvLU8oUykpLTE1KlMuc2xpY2UoMCw0KS5sZW5ndGg6dyooMzYwLy1PKFMpKS0xNSpTLnNsaWNlKDAsNCkubGVuZ3RoLTkwKSxwPDI1JiYiI2ZmZmZmZiI9PT1pJiZPYmplY3QoQy5jKShbIm91dGxpbmU6MXB4IHNvbGlkIGxpZ2h0Z3JheTsmOmhvdmVye291dGxpbmU6MXB4IHNvbGlkIGxpZ2h0Z3JheSAhaW1wb3J0YW50O30iXSkscDwyNSYmbSYmT2JqZWN0KEMuYykoWyJvdXRsaW5lOjFweCBzb2xpZCBsaWdodGdyYXk7Jjpob3ZlcntvdXRsaW5lOjFweCBzb2xpZCBsaWdodGdyYXkgIWltcG9ydGFudDt9Il0pKX0pLHh0PUMuZC5kaXYud2l0aENvbmZpZyh7Y29tcG9uZW50SWQ6InNjLXE4YzZ0dC0xIn0pKFsiIiwiIl0sZnVuY3Rpb24oZSl7dmFyIHQ9ZS50aGVtZSxuPWUuYW5pbWF0aW9uLHI9ZS5idXR0b25BbmltYXRpb24sbz1lLnNpemUsYT1lLmJ1dHRvblN0eWxlLGk9ZS5idXR0b25Cb3JkZXJSYWRpdXMsbD1lLmNvbG9yLGM9ZS5vcGVuZWQsZT1lLnBvcHVwT3BlbmVkO3JldHVybiBPYmplY3QoQy5jKShbIm9yZGVyOiIsIjtwb3NpdGlvbjpyZWxhdGl2ZTsiLCIgIiwiICIsIiAiLCIiXSx0LmJ1dHRvbnNPcmRlcixuJiZPYmplY3QoQy5jKShbIiIsIiAiLCIgIiwiIl0sInJpbmciPT09ciYmT2JqZWN0KEMuYykoWyJhbmltYXRpb24tZGVsYXk6MXM7Jjo6YWZ0ZXJ7Y29udGVudDonJztib3JkZXItcmFkaXVzOiIsIjtib3JkZXI6NnB4IHNvbGlkICIsIjtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xO3RvcDo1MCU7bGVmdDo1MCU7aGVpZ2h0OiIsIjt3aWR0aDoiLCI7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO2FuaW1hdGlvbjoiLCIgMS41cyBpbmZpbml0ZTtvcGFjaXR5OjA7fSY6aG92ZXJ7YW5pbWF0aW9uOm5vbmU7fSJdLCIiLmNvbmNhdChpLCJtZWRpdW0iIT09byYmInNtYWxsIiE9PW8mJiJjbGFzc2ljIiE9PWE/InB4IjoiJSIpLGwsImNsYXNzaWMiIT09YT8iMTMwJSI6IjE1MCUiLCJjbGFzc2ljIiE9PWE/IjEzMCUiOiIxNTAlIixFKHIpKSwiZG91YmxlUmluZyI9PT1yJiZPYmplY3QoQy5jKShbImFuaW1hdGlvbi1kZWxheToxczsmOmhvdmVye2FuaW1hdGlvbjpub25lO30mOjphZnRlcntjb250ZW50OicnO29wYWNpdHk6MDtib3JkZXItcmFkaXVzOiIsIjtib3JkZXI6NnB4IHNvbGlkICIsIjtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xO3RvcDo1MCU7bGVmdDo1MCU7aGVpZ2h0OiIsIjt3aWR0aDoiLCI7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO2FuaW1hdGlvbjoiLCIgMS41cyBpbmZpbml0ZTt9Jjo6YmVmb3Jle2NvbnRlbnQ6Jyc7Ym9yZGVyLXJhZGl1czoiLCI7Ym9yZGVyOjZweCBzb2xpZCAiLCI7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTt0b3A6NTAlO2xlZnQ6NTAlO2hlaWdodDoiLCI7d2lkdGg6IiwiO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTthbmltYXRpb246IiwiIDNzIGluZmluaXRlO29wYWNpdHk6MDt9Il0sIiIuY29uY2F0KGksIm1lZGl1bSIhPT1vJiYic21hbGwiIT09byYmImNsYXNzaWMiIT09YT8icHgiOiIlIiksbCwiY2xhc3NpYyIhPT1hPyIxMzAlIjoiMTUwJSIsImNsYXNzaWMiIT09YT8iMTMwJSI6IjE1MCUiLEUociksIiIuY29uY2F0KGksIm1lZGl1bSIhPT1vJiYic21hbGwiIT09byYmImNsYXNzaWMiIT09YT8icHgiOiIlIiksbCwiY2xhc3NpYyIhPT1hPyIxMzAlIjoiMTUwJSIsImNsYXNzaWMiIT09YT8iMTMwJSI6IjE1MCUiLEUocikpLCJtb3ZlSW4iPT09ciYmT2JqZWN0KEMuYykoWydhbmltYXRpb24tZGVsYXk6MXM7b3ZlcmZsb3c6dW5zZXQ7Jjpob3ZlcnthbmltYXRpb246bm9uZTt9JjphZnRlcntjb250ZW50OiIiO2FuaW1hdGlvbjonLCIgM3MgaW5maW5pdGU7b3BhY2l0eTowO2JhY2tncm91bmQtY29sb3I6IiwiNjk7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOiIsIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7ei1pbmRleDotMTtib3gtc2hhZG93OjAgMCA1MHB4IHJnYmEoMCwwLDAsMC4xKTt9Il0sRShyKSxsLCIiLmNvbmNhdChpLCJtZWRpdW0iIT09byYmInNtYWxsIiE9PW8mJiJjbGFzc2ljIiE9PWE/InB4IjoiJSIpKSksYyYmT2JqZWN0KEMuYykoWyImOmFmdGVyLCY6YmVmb3Jle2FuaW1hdGlvbjpub25lO30iXSksZSYmT2JqZWN0KEMuYykoWyImOmFmdGVyLCY6YmVmb3Jle2FuaW1hdGlvbjpub25lO30iXSksIm1lZGl1bSI9PT1vJiZPYmplY3QoQy5jKShbIiY6YWZ0ZXIsJjpiZWZvcmV7YW5pbWF0aW9uOm5vbmU7fSJdKSl9KSxrdD1DLmQuZGl2LndpdGhDb25maWcoe2NvbXBvbmVudElkOiJzYy1xOGM2dHQtMiJ9KShbIiIsIiJdLGZ1bmN0aW9uKGUpe3ZhciB0PWUuYnV0dG9uU3R5bGUsbj1lLnNpemUscj1lLnRoZW1lLG89ZS5idXR0b25TaGFkb3csYT1lLmRpcmVjdGlvbixpPWUubWlycm9yLGw9ZS5vcmRlcixlPWUuZGF0YUluZGV4O3JldHVybiBPYmplY3QoQy5jKShbInBvc2l0aW9uOmFic29sdXRlOyIsIiAiLCIgei1pbmRleDoxMDAwO3BhZGRpbmc6N3B4IDEwcHg7Zm9udC1mYW1pbHk6QXJpYWwsSGVsdmV0aWNhIE5ldWUsSGVsdmV0aWNhLHNhbnMtc2VyaWY7Zm9udC1zaXplOiIsInB4O2xpbmUtaGVpZ2h0OjEuMSAhaW1wb3J0YW50O2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO2JvcmRlci1yYWRpdXM6NHB4O2NvbG9yOiMzMzM7YmFja2dyb3VuZDp3aGl0ZTtib3gtc2hhZG93OjBweCAxcHggN3B4IHJnYmEoMTM2LDEzNiwxMzYsIiwiJSk7d2hpdGUtc3BhY2U6bm93cmFwO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNmb3JtLW9yaWdpbjoiLCI7IiwiICIsIiAiLCIgIiwiIl0sImNsYXNzaWMiIT09dCYmIm1lZGl1bSIhPT1uJiYic21hbGwiIT09bj9PYmplY3QoQy5jKShbImRpc3BsYXk6bm9uZSAhaW1wb3J0YW50OyJdKTpPYmplY3QoQy5jKShbImRpc3BsYXk6bm9uZTsiXSksInNtYWxsIiE9PW4mJiJtZWRpdW0iIT09bj9PYmplY3QoQy5jKShbIiIsIjoiLCJweDt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOyJdLHIucG9zaXRpb24sbisxNyk6T2JqZWN0KEMuYykoWyJsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTtib3R0b206IiwicHg7Il0sInNtYWxsIj09PW4/LTMzOiJtZWRpdW0iPT09bj8tMzg6biksTWF0aC5taW4oInNtYWxsIj09PW4/MzQqLjI4OiJtZWRpdW0iPT09bj80NSouMjg6LjI4Km4sMTcuNSksMjA8bz9vOjIwLHIucG9zaXRpb24sInNtYWxsIiE9PW4mJiJtZWRpdW0iIT09biYmInJvdyI9PT1hJiZPYmplY3QoQy5jKShbInRvcDotNDVweDsiLCI6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVYKCIsIik7Il0sci5wb3NpdGlvbiwibGVmdCI9PT1yLnBvc2l0aW9uPyItNTAlIjoiNTAlIiksInNtYWxsIiE9PW4mJiJtZWRpdW0iIT09biYmT2JqZWN0KEMuYykoWyImOjpiZWZvcmV7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDo1cHggc29saWQgcmdiYSgwLDAsMCwuMDkpO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKCIsIik7IiwifSY6OmFmdGVye2NvbnRlbnQ6Jyc7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6NXB4IHNvbGlkICNmZmY7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoIiwiKTsiLCJ9Il0sInJpZ2h0Ij09PXIucG9zaXRpb24/IjE4MGRlZyI6IjBkZWciLCJyaWdodCI9PT1yLnBvc2l0aW9uP09iamVjdChDLmMpKFsicmlnaHQ6LTExcHg7IiwiIl0sInJvdyI9PT1hJiZPYmplY3QoQy5jKShbInRvcDp1bnNldDtyaWdodDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoNTAlKSByb3RhdGUoMjcwZGVnKTtib3R0b206LTExcHg7Il0pKTpPYmplY3QoQy5jKShbImxlZnQ6LTExcHg7IiwiIl0sInJvdyI9PT1hJiZPYmplY3QoQy5jKShbInRvcDp1bnNldDtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoMjcwZGVnKTtib3R0b206LTExcHg7Il0pKSwicmlnaHQiPT09ci5wb3NpdGlvbj8iMTgwZGVnIjoiMGRlZyIsInJpZ2h0Ij09PXIucG9zaXRpb24mJiJyb3ciIT09YT9PYmplY3QoQy5jKShbInJpZ2h0Oi0xMHB4OyIsIiJdLCJyb3ciPT09YSYmT2JqZWN0KEMuYykoWyJ0b3A6dW5zZXQ7cmlnaHQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSkgcm90YXRlKDI3MGRlZyk7Ym90dG9tOi0xMHB4OyJdKSk6T2JqZWN0KEMuYykoWyJsZWZ0Oi0xMHB4OyIsIiJdLCJyb3ciPT09YSYmT2JqZWN0KEMuYykoWyJ0b3A6dW5zZXQ7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlKDI3MGRlZyk7Ym90dG9tOi0xMHB4OyJdKSkpLGkmJk9iamVjdChDLmMpKFsiZGlyZWN0aW9uOnJ0bDt1bmljb2RlLWJpZGk6cGxhaW50ZXh0OyJdKSxlJiYiYXJvdW5kIj09PWEmJiJtZWRpdW0iIT09biYmInNtYWxsIiE9PW4mJk9iamVjdChDLmMpKFsidG9wOnVuc2V0O2xlZnQ6dW5zZXQ7cmlnaHQ6dW5zZXQ7Ym90dG9tOnVuc2V0OyIsIiAiLCIgIiwiICIsIiAiLCIgIiwiICIsIiAiLCIgdHJhbnNmb3JtOnJvdGF0ZSgiLCJkZWcpOyJdLDE9PT1lJiZPYmplY3QoQy5jKShbIiIsIiJdLCJyaWdodCI9PT1yLnBvc2l0aW9uP09iamVjdChDLmMpKFsicmlnaHQ6NTAlO2JvdHRvbTotNTAlOyJdKTpPYmplY3QoQy5jKShbInJpZ2h0OjUwJTtib3R0b206MjUlOyJdKSksMj09PWUmJjQ9PT1sLnNsaWNlKDAsNCkubGVuZ3RoJiZPYmplY3QoQy5jKShbIiIsIiJdLCJyaWdodCI9PT1yLnBvc2l0aW9uP09iamVjdChDLmMpKFsicmlnaHQ6MTAlO2JvdHRvbTotNDAlOyJdKTpPYmplY3QoQy5jKShbInJpZ2h0OjEyJTtib3R0b206LTE1JTsiXSkpLDM9PT1lJiY0PT09bC5zbGljZSgwLDQpLmxlbmd0aCYmT2JqZWN0KEMuYykoWyIiLCIiXSwicmlnaHQiPT09ci5wb3NpdGlvbj9PYmplY3QoQy5jKShbInJpZ2h0Oi0yMCU7Ym90dG9tOi01JTsiXSk6T2JqZWN0KEMuYykoWyJyaWdodDotNDElO2JvdHRvbTotNTMlOyJdKSksND09PWUmJjQ9PT1sLnNsaWNlKDAsNCkubGVuZ3RoJiZPYmplY3QoQy5jKShbIiIsIiJdLCJyaWdodCI9PT1yLnBvc2l0aW9uP09iamVjdChDLmMpKFsicmlnaHQ6LTMwJTtib3R0b206MzAlOyJdKTpPYmplY3QoQy5jKShbInJpZ2h0Oi04OCU7Ym90dG9tOi02MSU7Il0pKSwyPT09ZSYmMz09PWwuc2xpY2UoMCw0KS5sZW5ndGgmJk9iamVjdChDLmMpKFsiIiwiIl0sInJpZ2h0Ij09PXIucG9zaXRpb24/T2JqZWN0KEMuYykoWyJyaWdodDotNSU7Ym90dG9tOi0yNSU7Il0pOk9iamVjdChDLmMpKFsicmlnaHQ6NSU7Ym90dG9tOi0zOCU7Il0pKSwzPT09ZSYmMz09PWwuc2xpY2UoMCw0KS5sZW5ndGgmJk9iamVjdChDLmMpKFsiIiwiIl0sInJpZ2h0Ij09PXIucG9zaXRpb24/T2JqZWN0KEMuYykoWyJyaWdodDotMjUlO2JvdHRvbToyNSU7Il0pOk9iamVjdChDLmMpKFsicmlnaHQ6LTkwJTtib3R0b206LTYwJTsiXSkpLDE9PT1lJiYyPT09bC5zbGljZSgwLDQpLmxlbmd0aCYmT2JqZWN0KEMuYykoWyIiLCIiXSwicmlnaHQiPT09ci5wb3NpdGlvbj9PYmplY3QoQy5jKShbInJpZ2h0OjM1JTtib3R0b206LTUwJTsiXSk6T2JqZWN0KEMuYykoWyJyaWdodDo0NiU7Ym90dG9tOjglOyJdKSksMj09PWUmJjI9PT1sLnNsaWNlKDAsNCkubGVuZ3RoJiZPYmplY3QoQy5jKShbIiIsIiJdLCJyaWdodCI9PT1yLnBvc2l0aW9uP09iamVjdChDLmMpKFsicmlnaHQ6LTI1JTtib3R0b206MTUlOyJdKTpPYmplY3QoQy5jKShbInJpZ2h0Oi03NCU7Ym90dG9tOi02MCU7Il0pKSwicmlnaHQiPT09ci5wb3NpdGlvbj9lKigzNjAvLU8obCkpLTE1Kmwuc2xpY2UoMCw0KS5sZW5ndGg6ZSooMzYwLy1PKGwpKS0xNSpsLnNsaWNlKDAsNCkubGVuZ3RoLTkwKSl9KSxTdD1DLmQuZGl2LndpdGhDb25maWcoe2NvbXBvbmVudElkOiJzYy1xOGM2dHQtMyJ9KShbIiIsIiJdLGZ1bmN0aW9uKGUpe3ZhciB0PWUudGhlbWUsbj1lLnNpemUscj1lLmRhdGFJbmRleCxvPWUuZGlyZWN0aW9uLGU9ZS5vcmRlcjtyZXR1cm4gT2JqZWN0KEMuYykoWyJkaXNwbGF5OmZsZXg7bWFyZ2luOiIsInB4O3Bvc2l0aW9uOnJlbGF0aXZlO2p1c3RpZnktY29udGVudDoiLCI7bWF4LWhlaWdodDoiLCJweDsiLCIgIiwiIl0sdnQvMix0LmNvbnRhaW5lckRpcmVjdGlvbixuLHImJiJhcm91bmQiPT09byYmIm1lZGl1bSIhPT1uJiYic21hbGwiIT09biYmT2JqZWN0KEMuYykoWyJwb3NpdGlvbjpmaXhlZDt0cmFuc2Zvcm06cm90YXRlKCIsImRlZykgdHJhbnNsYXRlWSgiLCJweCk7Il0sciooMzYwL08oZSkpLDIqbitmdW5jdGlvbihlKXtzd2l0Y2goZS5sZW5ndGgpe2Nhc2UgMjpyZXR1cm4tMjA7Y2FzZSAzOnJldHVybiAwO2RlZmF1bHQ6cmV0dXJuIDUwfX0oZSkpLFUoKSYmT2JqZWN0KEMuYykoWyImOmhvdmVyICIsIntkaXNwbGF5OmZsZXg7YW5pbWF0aW9uOiIsIiAwLjFzIGxpbmVhcjt9Il0sa3QsImxlZnQiPT09dC5wb3NpdGlvbj9YZTpZZSkpfSksRz1DLmQucC53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2MtcThjNnR0LTQifSkoWyIiLCIgICJdLGZ1bmN0aW9uKGUpe3ZhciB0PWUuY29sb3Isbj1lLnNpemUsZT1lLm1pcnJvcjtyZXR1cm4gT2JqZWN0KEMuYykoWyJtYXJnaW46MCAhaW1wb3J0YW50O2xldHRlci1zcGFjaW5nOjAuNXB4O2ZvbnQtZmFtaWx5OkFyaWFsLEhlbHZldGljYSBOZXVlLEhlbHZldGljYSxzYW5zLXNlcmlmOyIsIiBncmlkLWFyZWE6MSAvIDIgLyAyIC8gNTsiLCIiXSwiI2ZmZmZmZiI9PT10fHwiI2YzZjNmMyI9PT10P09iamVjdChDLmMpKFsiY29sb3I6IzAwMDAwMCAhaW1wb3J0YW50OyY6aG92ZXJ7Y29sb3I6IzAwMDAwMCAhaW1wb3J0YW50O30iXSk6T2JqZWN0KEMuYykoWyJjb2xvcjojZmZmZmZmOyJdKSwibWVkaXVtIiE9PW4/T2JqZWN0KEMuYykoWyIiLCIgbGluZS1oZWlnaHQ6MS4yNSAhaW1wb3J0YW50O2ZvbnQtc2l6ZToiLCJweDsiXSxlP09iamVjdChDLmMpKFsibWFyZ2luLXJpZ2h0OjEwcHg7dW5pY29kZS1iaWRpOnBsYWludGV4dDsiXSk6T2JqZWN0KEMuYykoWyJ0ZXh0LWFsaWduOmxlZnQ7bWFyZ2luLWxlZnQ6MTBweDsiXSksTWF0aC5taW4oLjI5Km4sMjIpKTpPYmplY3QoQy5jKShbImxpbmUtaGVpZ2h0OjEgIWltcG9ydGFudDtmb250LXNpemU6MjBweDsiXSkpfSk7ZnVuY3Rpb24gQ3QoZSx0KXtyZXR1cm4gZnVuY3Rpb24oZSl7aWYoQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gZX0oZSl8fGZ1bmN0aW9uKGUsdCl7dmFyIG49bnVsbD09ZT9udWxsOiJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZlW1N5bWJvbC5pdGVyYXRvcl18fGVbIkBAaXRlcmF0b3IiXTtpZihudWxsIT1uKXt2YXIgcixvLGEsaSxsPVtdLGM9ITAsdT0hMTt0cnl7aWYoYT0obj1uLmNhbGwoZSkpLm5leHQsMD09PXQpe2lmKE9iamVjdChuKSE9PW4pcmV0dXJuO2M9ITF9ZWxzZSBmb3IoOyEoYz0ocj1hLmNhbGwobikpLmRvbmUpJiYobC5wdXNoKHIudmFsdWUpLGwubGVuZ3RoIT09dCk7Yz0hMCk7fWNhdGNoKGUpe3U9ITAsbz1lfWZpbmFsbHl7dHJ5e2lmKCFjJiZudWxsIT1uLnJldHVybiYmKGk9bi5yZXR1cm4oKSxPYmplY3QoaSkhPT1pKSlyZXR1cm59ZmluYWxseXtpZih1KXRocm93IG99fXJldHVybiBsfX0oZSx0KXx8ZnVuY3Rpb24oZSx0KXt2YXIgbjtpZihlKXJldHVybiJzdHJpbmciPT10eXBlb2YgZT9FdChlLHQpOiJNYXAiPT09KG49Ik9iamVjdCI9PT0obj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkuc2xpY2UoOCwtMSkpJiZlLmNvbnN0cnVjdG9yP2UuY29uc3RydWN0b3IubmFtZTpuKXx8IlNldCI9PT1uP0FycmF5LmZyb20oZSk6IkFyZ3VtZW50cyI9PT1ufHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKT9FdChlLHQpOnZvaWQgMH0oZSx0KXx8ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gZGVzdHJ1Y3R1cmUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLiIpfSgpfWZ1bmN0aW9uIEV0KGUsdCl7KG51bGw9PXR8fHQ+ZS5sZW5ndGgpJiYodD1lLmxlbmd0aCk7Zm9yKHZhciBuPTAscj1uZXcgQXJyYXkodCk7bjx0O24rKylyW25dPWVbbl07cmV0dXJuIHJ9ZnVuY3Rpb24gT3QoKXt2YXIgZT0uMDEqd2luZG93LmlubmVySGVpZ2h0O2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgiLS12aCIsIiIuY29uY2F0KGUsInB4IikpfU90KCksd2luZG93Lm9ucmVzaXplPWZ1bmN0aW9uKCl7T3QoKX07ZnVuY3Rpb24ganQoZSl7dmFyIGU9ZS5zaXplLHQ9KHI9T2JqZWN0KEYudXNlQ29udGV4dCkoVikuc2V0dGluZ3MpLmFwcGxlSWNvbixuPXIuaXNQcm8scj1yLmlzU2luZ2xlO3JldHVybiBuJiZ0P0guYS5jcmVhdGVFbGVtZW50KG0se2ljb25Vcmw6dCxzaXplOmV9KTpILmEuY3JlYXRlRWxlbWVudCgic3ZnIix7c3R5bGU6Im1lZGl1bSI9PT1lJiZyP3toZWlnaHQ6IjMwcHgiLG1pbldpZHRoOiIzMHB4IixmaWxsOiIjZmZmIixzdHJva2U6Im5vbmUifTp7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsZmlsbDoiI2ZmZiIsc3Ryb2tlOiJub25lIn0sdmVyc2lvbjoiMS4xIix2aWV3Qm94OiIwIDAgMTM4IDEyNSIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIn0sSC5hLmNyZWF0ZUVsZW1lbnQoInBhdGgiLHtkOiJNNjguODIsMTMuNzJjLTI5LjU1LDAtNTMuNSwyMC01My41LDQ0LjU2LDAsMTUuNjQsOS44OSwzMC4xMiwyNiwzOC4xNkE0Mi40Miw0Mi40MiwwLDAsMSwzMiwxMDkuNTMsNTcuMyw1Ny4zLDAsMCwwLDUzLjY4LDEwMWE2NCw2NCwwLDAsMCwxNS4xNCwxLjg0YzI5LjU1LDAsNTMuNS0yMCw1My41LTQ0LjU2Uzk4LjM3LDEzLjcyLDY4LjgyLDEzLjcyWiJ9KSl9dmFyIGs9T2JqZWN0KEMuZCkodCkud2l0aENvbmZpZyh7Y29tcG9uZW50SWQ6InNjLXI4cmZ6eC0wIn0pKFsiIiwiIl0sZnVuY3Rpb24oZSl7dmFyIHQ9ZS5taXJyb3Isbj1lLnRoZW1lLHI9ZS5zaXplLG89ZS5idXR0b25TaGFkb3csZT1lLmN1c3RvbVNldHRpbmdzO3JldHVybiBPYmplY3QoQy5jKShbImJveC1zaGFkb3c6MHB4IDFweCA3cHggcmdiYSgxMzYsMTM2LDEzNiwiLCIlKTttaW4taGVpZ2h0OjE0OXB4O2JvcmRlci1yYWRpdXM6MTBweDsiLCI6MDtib3R0b206IiwncHg7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmO3dpZHRoOjMwMnB4O3Bvc2l0aW9uOmFic29sdXRlO2xpbmUtaGVpZ2h0OjIzcHg7Zm9udC1zaXplOjE0cHg7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1mYW1pbHk6Um9ib3RvLCJIZWx2ZXRpY2EgTmV1ZSIsc2Fucy1zZXJpZjsnLCIgIiwiIl0sMjA8bz9vOjIwLG4ucG9zaXRpb24sciszMCwid2hhdHNhcHAiIT09ZSYmRCgpJiZPYmplY3QoQy5jKShbInBvc2l0aW9uOmZpeGVkO2JvdHRvbTowO3JpZ2h0OjA7ei1pbmRleDo5OTk5O2JvcmRlci1yYWRpdXM6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2hlaWdodDpjYWxjKHZhcigtLXZoKSAqIDEwMCk7Il0pLHQmJk9iamVjdChDLmMpKFsiZGlyZWN0aW9uOnJ0bDsiXSkpfSksUz1DLmQuZGl2LndpdGhDb25maWcoe2NvbXBvbmVudElkOiJzYy1yOHJmengtMSJ9KShbImN1cnNvcjpwb2ludGVyO3dpZHRoOjI0cHg7IiwiIl0sZnVuY3Rpb24oZSl7cmV0dXJuIGUubWlycm9yP09iamVjdChDLmMpKFsibWFyZ2luOjZweCBhdXRvIDAgMTJweDsiXSk6T2JqZWN0KEMuYykoWyJtYXJnaW46NnB4IDEycHggMCBhdXRvOyJdKX0pLGo9Qy5kLmRpdi53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2MtcjhyZnp4LTIifSkoWyIiLCIiXSxmdW5jdGlvbihlKXt2YXIgdD1lLmdyYWRpZW50LG49ZS5iZ1N0eWxlLGU9ZS5jb2xvcjtyZXR1cm4gT2JqZWN0KEMuYykoWyIiLCIgZGlzcGxheTpmbGV4O2hlaWdodDo1MHB4O2JvcmRlci1yYWRpdXM6OXB4IDlweCAwIDA7YWxpZ24taXRlbXM6Y2VudGVyO3RleHQtYWxpZ246bGVmdDsiLCIiXSwiY29sb3IiPT09bj9PYmplY3QoQy5jKShbImJhY2tncm91bmQtY29sb3I6IiwiOyJdLGUpOk9iamVjdChDLmMpKFsiYmFja2dyb3VuZDoiLCI7Il0sImxpbmVhci1ncmFkaWVudCgxMzVkZWcsICIuY29uY2F0KHQsIikiKSksRCgpJiZPYmplY3QoQy5jKShbImJvcmRlci1yYWRpdXM6MDsiXSkpfSksQXQ9Qy5kLmRpdi53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2MtcjhyZnp4LTMifSkoWyJ0ZXh0LWFsaWduOmxlZnQ7Y29sb3I6I0ZGRkZGRjsiLCIiXSxmdW5jdGlvbihlKXtyZXR1cm4gZS5taXJyb3ImJk9iamVjdChDLmMpKFsidW5pY29kZS1iaWRpOnBsYWludGV4dDsiXSl9KSxBPUMuZC5kaXYud2l0aENvbmZpZyh7Y29tcG9uZW50SWQ6InNjLXI4cmZ6eC00In0pKFsid2lkdGg6MjhweDtoZWlnaHQ6MjhweDsiLCIiXSxmdW5jdGlvbihlKXtyZXR1cm4gZS5taXJyb3I/T2JqZWN0KEMuYykoWyJtYXJnaW46MCAxMnB4IDAgM3B4OyJdKTpPYmplY3QoQy5jKShbIm1hcmdpbjowIDNweCAwIDEycHg7Il0pfSksUHQ9T2JqZWN0KEMuZCkoaykud2l0aENvbmZpZyh7Y29tcG9uZW50SWQ6InNjLXI4cmZ6eC01In0pKFsiYm9yZGVyLXJhZGl1czoxNnB4O3dpZHRoOjMyMHB4OyJdKSxJdD1PYmplY3QoQy5kKShqKS53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2MtcjhyZnp4LTYifSkoWyJqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjtib3JkZXItcmFkaXVzOjE2cHggMTZweCAwIDA7cGFkZGluZzowIDE1cHg7aGVpZ2h0OjgwcHg7Il0pLF90PUMuZC5kaXYud2l0aENvbmZpZyh7Y29tcG9uZW50SWQ6InNjLXI4cmZ6eC03In0pKFsiZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDsiXSksenQ9Qy5kLmg0LndpdGhDb25maWcoe2NvbXBvbmVudElkOiJzYy1yOHJmengtOCJ9KShbImNvbG9yOiNGRkZGRkY7bWFyZ2luOjA7bGluZS1oZWlnaHQ6MTtmb250LXNpemU6MTVweDtmb250LXdlaWdodDpib2xkOyIsIiBsZXR0ZXItc3BhY2luZzowLjNweDsiXSxmdW5jdGlvbihlKXtyZXR1cm4gZS5taXJyb3I/T2JqZWN0KEMuYykoWyJ0ZXh0LWFsaWduOnJpZ2h0O3VuaWNvZGUtYmlkaTpwbGFpbnRleHQ7Il0pOk9iamVjdChDLmMpKFsidGV4dC1hbGlnbjpsZWZ0OyJdKX0pLFR0PUMuZC5wLndpdGhDb25maWcoe2NvbXBvbmVudElkOiJzYy1yOHJmengtOSJ9KShbIiIsIiBjb2xvcjojZmZmZmZmY2M7bWFyZ2luOjVweCAwIDAgMDtsaW5lLWhlaWdodDoxO3dpZHRoOjE4MHB4O2xldHRlci1zcGFjaW5nOjAuM3B4OyJdLGZ1bmN0aW9uKGUpe3JldHVybiBlLm1pcnJvcj9PYmplY3QoQy5jKShbInRleHQtYWxpZ246cmlnaHQ7dW5pY29kZS1iaWRpOnBsYWludGV4dDsiXSk6T2JqZWN0KEMuYykoWyJ0ZXh0LWFsaWduOmxlZnQ7Il0pfSksTHQ9Qy5kLmRpdi53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2MtcjhyZnp4LTEwIn0pKFsid2lkdGg6NDVweDtoZWlnaHQ6NDVweDsiXSksTXQ9Qy5kLmRpdi53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2MtcjhyZnp4LTExIn0pKFsiY3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpncmlkOyJdKSxSdD1PYmplY3QoQy5kKShrKS53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2MtcjhyZnp4LTEyIn0pKFsid2lkdGg6NTA1cHg7IiwiIl0sRCgpJiZPYmplY3QoQy5jKShbIndpZHRoOjEwMCU7Il0pKSxOdD1PYmplY3QoQy5kKShrKS53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2MtcjhyZnp4LTEzIn0pKFsid2lkdGg6NDgwcHg7bGluZS1oZWlnaHQ6MHB4OyIsIiJdLEQoKT9PYmplY3QoQy5jKShbIndpZHRoOjEwMCU7Il0pOk9iamVjdChDLmMpKFsiQG1lZGlhIChtYXgtd2lkdGg6NTIwcHgpe3dpZHRoOjM4MHB4O31AbWVkaWEgKG1heC13aWR0aDo0MDBweCl7d2lkdGg6MjgwcHg7fUBtZWRpYSAobWF4LWhlaWdodDo2MDBweCl7Ym90dG9tOjdweCAhaW1wb3J0YW50OyIsIjoiLCJweCAhaW1wb3J0YW50O30iXSxmdW5jdGlvbihlKXtyZXR1cm4gZS50aGVtZS5wb3NpdGlvbn0sZnVuY3Rpb24oZSl7cmV0dXJuIGUuc2l6ZSszMH0pKSxEdD1PYmplY3QoQy5kKShrKS53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2MtcjhyZnp4LTE0In0pKFsiaGVpZ2h0OjY4MHB4O21heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDE3MHB4KTtib3JkZXItcmFkaXVzOjIzcHg7d2lkdGg6MzMwcHg7IiwiIl0sRCgpP09iamVjdChDLmMpKFsid2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtoZWlnaHQ6Y2FsYyh2YXIoLS12aCkgKiAxMDApO21heC1oZWlnaHQ6dW5zZXQ7Ym9yZGVyLXJhZGl1czowOyJdKTpPYmplY3QoQy5jKShbIkBtZWRpYSAobWF4LWhlaWdodDo1MDBweCl7bWF4LWhlaWdodDpjYWxjKDEwMHZoIC0gNDBweCk7Ym90dG9tOjdweCAhaW1wb3J0YW50OyIsIjoiLCJweCAhaW1wb3J0YW50O31AbWVkaWEgKG1heC13aWR0aDozNzBweCl7d2lkdGg6MjgwcHg7fSJdLGZ1bmN0aW9uKGUpe3JldHVybiBlLnRoZW1lLnBvc2l0aW9ufSxmdW5jdGlvbihlKXtyZXR1cm4gZS5zaXplKzMwfSkpLFV0PU9iamVjdChDLmQpKGspLndpdGhDb25maWcoe2NvbXBvbmVudElkOiJzYy1yOHJmengtMTUifSkoWyJ3aWR0aDo0ODBweDtsaW5lLWhlaWdodDowO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym94LXNoYWRvdzpub25lOyIsIiJdLEQoKT9PYmplY3QoQy5jKShbIndpZHRoOjEwMCU7YmFja2dyb3VuZDojZmZmZmZmOyJdKTpPYmplY3QoQy5jKShbIkBtZWRpYSAobWF4LXdpZHRoOjUyMHB4KXt3aWR0aDozODBweDt9QG1lZGlhIChtYXgtd2lkdGg6NDAwcHgpe3dpZHRoOjI4MHB4O31AbWVkaWEgKG1heC1oZWlnaHQ6NTAwcHgpe2JvdHRvbTo3cHggIWltcG9ydGFudDsiLCI6IiwicHggIWltcG9ydGFudDt9Il0sZnVuY3Rpb24oZSl7cmV0dXJuIGUudGhlbWUucG9zaXRpb259LGZ1bmN0aW9uKGUpe3JldHVybiBlLnNpemUrMzB9KSksQnQ9T2JqZWN0KEMuZCkoUykud2l0aENvbmZpZyh7Y29tcG9uZW50SWQ6InNjLXI4cmZ6eC0xNiJ9KShbImJhY2tncm91bmQ6I2ZmZmZmZjtib3JkZXItcmFkaXVzOjMwcHg7cGFkZGluZzo2cHg7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDsiLCIgIiwiIl0sIUQoKSYmT2JqZWN0KEMuYykoWyJib3gtc2hhZG93OjBweCAxcHggN3B4IHJnYmEoMTM2LDEzNiwxMzYsIiwiJSk7Il0sZnVuY3Rpb24oZSl7cmV0dXJuIDIwPGUuYnV0dG9uU2hhZG93P2UuYnV0dG9uU2hhZG93OjIwfSksZnVuY3Rpb24oZSl7cmV0dXJuIGUubWlycm9yP09iamVjdChDLmMpKFsibWFyZ2luOjAgYXV0byAwIDA7Il0pOk9iamVjdChDLmMpKFsibWFyZ2luOjAgMCAwIGF1dG87Il0pfSksUD1mdW5jdGlvbihlKXtlPWUuY3VzdG9tU2V0dGluZ3M7cmV0dXJuIEguYS5jcmVhdGVFbGVtZW50KCJzdmciLHtzdHlsZToid2hhdHNhcHAiPT09ZT97d2lkdGg6IjI1cHgiLGhlaWdodDoiMjVweCIsZmlsbDoiI2ZmZiIsc3Ryb2tlOiJub25lIn06InlvdXR1YmUiPT09ZT97d2lkdGg6IjEwMCUiLGZpbGw6IiMwMDAwMDAiLHN0cm9rZToibm9uZSJ9Ont3aWR0aDoiMTAwJSIsaGVpZ2h0OiIyNHB4IixmaWxsOiIjZmZmIixzdHJva2U6Im5vbmUifSx2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIn0sSC5hLmNyZWF0ZUVsZW1lbnQoInBhdGgiLHtkOiJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyeiJ9KSxILmEuY3JlYXRlRWxlbWVudCgicGF0aCIse2Q6Ik0wIDBoMjR2MjRIMHoiLGZpbGw6Im5vbmUifSkpfSxOPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoKXt4KHkpfWZ1bmN0aW9uIG4oKXtmKCl9dmFyIHI9ZS5pY29uLG89ZS5tZXNzZW5nZXJUaXRsZSxhPWUuY29sb3IsaT1lLmNoaWxkcmVuLGw9ZS5lbmFibGVQb3B1cCxjPWUuY3VzdG9tU2V0dGluZ3MsYz12b2lkIDAhPT1jJiZjLHU9ZS5iZ1N0eWxlLHU9dm9pZCAwPT09dT8iY29sb3IiOnUsZT1lLnNpemUscz1PYmplY3QoRi51c2VDb250ZXh0KShWKSxmPXMuYWN0aW9ucy5jbG9zZUJ1dHRvblBvcHVwLHM9cy5zZXR0aW5ncyxkPXMubWlycm9yLHA9cy53aGF0c2FwcFBvcHVwVGl0bGUsbT1zLndoYXRzYXBwUG9wdXBTdWJ0aXRsZSxoPXMuYnV0dG9uU2hhZG93LHM9cy5kaXJlY3Rpb24sZz1wZShhLDUpLGI9Q3QoT2JqZWN0KEYudXNlU3RhdGUpKCExKSwyKSx5PWJbMF0sdj1iWzFdLGI9Q3QoT2JqZWN0KEYudXNlU3RhdGUpKCExKSwyKSx3PWJbMF0seD1iWzFdO09iamVjdChGLnVzZUVmZmVjdCkoZnVuY3Rpb24oKXtsPyh2KCEwKSx4KCEwKSk6dighMSl9KTtyZXR1cm4ieW91dHViZSI9PT1jP3cmJkguYS5jcmVhdGVFbGVtZW50KFV0LHtpc1Nob3c6eSxvbkFuaW1hdGlvbkVuZDp0LHNpemU6ZSxidXR0b25TaGFkb3c6aCxkaXJlY3Rpb246cyxjdXN0b21TZXR0aW5nczpjfSxILmEuY3JlYXRlRWxlbWVudChqLG51bGwsRCgpJiZILmEuY3JlYXRlRWxlbWVudChBLHttaXJyb3I6ZH0sciksSC5hLmNyZWF0ZUVsZW1lbnQoQnQse29uTW91c2VVcDpuLG1pcnJvcjpkLGJ1dHRvblNoYWRvdzpofSxILmEuY3JlYXRlRWxlbWVudChQLHtjdXN0b21TZXR0aW5nczpjfSkpKSxpKToid29uZGVyY2hhdCI9PT1jP3cmJkguYS5jcmVhdGVFbGVtZW50KER0LHtpc1Nob3c6eSxvbkFuaW1hdGlvbkVuZDp0LHNpemU6ZSxidXR0b25TaGFkb3c6aCxkaXJlY3Rpb246cyxjdXN0b21TZXR0aW5nczpjfSxEKCkmJkguYS5jcmVhdGVFbGVtZW50KGose2NvbG9yOmEsYmdTdHlsZTp1LGdyYWRpZW50Omd9LEguYS5jcmVhdGVFbGVtZW50KEEse21pcnJvcjpkfSxyKSxILmEuY3JlYXRlRWxlbWVudChBdCx7bWlycm9yOmR9LG8pLEguYS5jcmVhdGVFbGVtZW50KFMse29uTW91c2VVcDpuLG1pcnJvcjpkfSxILmEuY3JlYXRlRWxlbWVudChQLG51bGwpKSksaSk6Imdvb2dsZW1hcCI9PT1jP3cmJkguYS5jcmVhdGVFbGVtZW50KE50LHtpc1Nob3c6eSxvbkFuaW1hdGlvbkVuZDp0LHNpemU6ZSxidXR0b25TaGFkb3c6aCxkaXJlY3Rpb246cyxjdXN0b21TZXR0aW5nczpjfSxILmEuY3JlYXRlRWxlbWVudChqLHtjb2xvcjphLGJnU3R5bGU6dSxncmFkaWVudDpnfSxILmEuY3JlYXRlRWxlbWVudChBLHttaXJyb3I6ZH0sciksSC5hLmNyZWF0ZUVsZW1lbnQoQXQse21pcnJvcjpkfSxvKSxILmEuY3JlYXRlRWxlbWVudChTLHtvbk1vdXNlVXA6bixtaXJyb3I6ZH0sSC5hLmNyZWF0ZUVsZW1lbnQoUCxudWxsKSkpLGkpOiJ3aGF0c2FwcCI9PT1jP3cmJkguYS5jcmVhdGVFbGVtZW50KFB0LHtpc1Nob3c6eSxvbkFuaW1hdGlvbkVuZDp0LHNpemU6ZSxtaXJyb3I6ZCxidXR0b25TaGFkb3c6aCxkaXJlY3Rpb246cyxjdXN0b21TZXR0aW5nczpjfSxILmEuY3JlYXRlRWxlbWVudChJdCx7Y29sb3I6YSxiZ1N0eWxlOnUsZ3JhZGllbnQ6Z30sSC5hLmNyZWF0ZUVsZW1lbnQoX3QsbnVsbCxILmEuY3JlYXRlRWxlbWVudChMdCxudWxsLHIpLEguYS5jcmVhdGVFbGVtZW50KCJkaXYiLG51bGwscCYmSC5hLmNyZWF0ZUVsZW1lbnQoenQse21pcnJvcjpkfSxwKSxtJiZILmEuY3JlYXRlRWxlbWVudChUdCx7bWlycm9yOmR9LG0pKSksSC5hLmNyZWF0ZUVsZW1lbnQoTXQse29uTW91c2VVcDpufSxILmEuY3JlYXRlRWxlbWVudChQLHtjdXN0b21TZXR0aW5nczpjfSkpKSxpKToiY2FsZW5kYXIiPT09Yz93JiZILmEuY3JlYXRlRWxlbWVudChSdCx7aXNTaG93Onksb25BbmltYXRpb25FbmQ6dCxzaXplOmUsbWlycm9yOmQsYnV0dG9uU2hhZG93OmgsZGlyZWN0aW9uOnN9LEguYS5jcmVhdGVFbGVtZW50KGose2NvbG9yOmEsYmdTdHlsZTp1LGdyYWRpZW50Omd9LEguYS5jcmVhdGVFbGVtZW50KEEse21pcnJvcjpkfSxyKSxILmEuY3JlYXRlRWxlbWVudChBdCx7bWlycm9yOmR9LG8pLEguYS5jcmVhdGVFbGVtZW50KFMse29uTW91c2VVcDpuLG1pcnJvcjpkfSxILmEuY3JlYXRlRWxlbWVudChQLG51bGwpKSksaSk6dyYmSC5hLmNyZWF0ZUVsZW1lbnQoayx7aXNTaG93Onksb25BbmltYXRpb25FbmQ6dCxzaXplOmUsbWlycm9yOmQsYnV0dG9uU2hhZG93OmgsZGlyZWN0aW9uOnMsY3VzdG9tU2V0dGluZ3M6Y30sSC5hLmNyZWF0ZUVsZW1lbnQoaix7Y29sb3I6YSxiZ1N0eWxlOnUsZ3JhZGllbnQ6Z30sSC5hLmNyZWF0ZUVsZW1lbnQoQSx7bWlycm9yOmR9LHIpLEguYS5jcmVhdGVFbGVtZW50KEF0LHttaXJyb3I6ZH0sbyksSC5hLmNyZWF0ZUVsZW1lbnQoUyx7b25Nb3VzZVVwOm4sbWlycm9yOmR9LEguYS5jcmVhdGVFbGVtZW50KFAsbnVsbCkpKSxpKX0sRnQ9Qy5kLnNwYW4ud2l0aENvbmZpZyh7Y29tcG9uZW50SWQ6InNjLTE2Z2R4MGktMCJ9KShbIiIsIiJdLGZ1bmN0aW9uKGUpe3ZhciB0PWUuYmdVcmwsbj1lLnNpemUscj1lLmlzU2luZ2xlLG89ZS5idXR0b25TdHlsZSxlPWUuYnV0dG9uQm9yZGVyUmFkaXVzO3JldHVybiBPYmplY3QoQy5jKShbJ2Rpc3BsYXk6YmxvY2sgIWltcG9ydGFudDtiYWNrZ3JvdW5kOnVybCgiJywnIikgbm8tcmVwZWF0IGNlbnRlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7d2lkdGg6JywiO2hlaWdodDoiLCI7IiwiIHBvaW50ZXItZXZlbnRzOm5vbmU7Ym9yZGVyLXJhZGl1czoiLCI7Il0sdCwibWVkaXVtIj09PW4mJnI/IjMwcHgiOiIxMDAlIiwibWVkaXVtIj09PW4mJnI/IjMwcHgiOiIxMDAlIiwiY2xhc3NpYyIhPT1vJiYibWVkaXVtIiE9PW4mJiJzbWFsbCIhPT1uJiZPYmplY3QoQy5jKShbIndpZHRoOiIsInB4O2hlaWdodDoiLCJweDsiXSxNYXRoLm1pbiguNTUqbiw0MCksTWF0aC5taW4oLjU1Km4sNDApKSwibWVkaXVtIiE9PW4mJiJzbWFsbCIhPT1uJiYiY2xhc3NpYyI9PT1vPyIiLmNvbmNhdChlLCIlIik6IiIuY29uY2F0KC4zNSplLCJweCIpKX0pLG09ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5pY29uVXJsLGU9ZS5zaXplLG49T2JqZWN0KEYudXNlQ29udGV4dCkoVikuc2V0dGluZ3Mscj1uLmlzU2luZ2xlLG89bi5idXR0b25TdHlsZSxuPW4uYnV0dG9uQm9yZGVyUmFkaXVzO3JldHVybiBILmEuY3JlYXRlRWxlbWVudChGdCx7YmdVcmw6dCxzaXplOmUsaXNTaW5nbGU6cixidXR0b25TdHlsZTpvLGJ1dHRvbkJvcmRlclJhZGl1czpufSl9O2Z1bmN0aW9uIEh0KGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIGV9KGUpfHxmdW5jdGlvbihlLHQpe3ZhciBuPW51bGw9PWU/bnVsbDoidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmZVtTeW1ib2wuaXRlcmF0b3JdfHxlWyJAQGl0ZXJhdG9yIl07aWYobnVsbCE9bil7dmFyIHIsbyxhLGksbD1bXSxjPSEwLHU9ITE7dHJ5e2lmKGE9KG49bi5jYWxsKGUpKS5uZXh0LDA9PT10KXtpZihPYmplY3QobikhPT1uKXJldHVybjtjPSExfWVsc2UgZm9yKDshKGM9KHI9YS5jYWxsKG4pKS5kb25lKSYmKGwucHVzaChyLnZhbHVlKSxsLmxlbmd0aCE9PXQpO2M9ITApO31jYXRjaChlKXt1PSEwLG89ZX1maW5hbGx5e3RyeXtpZighYyYmbnVsbCE9bi5yZXR1cm4mJihpPW4ucmV0dXJuKCksT2JqZWN0KGkpIT09aSkpcmV0dXJufWZpbmFsbHl7aWYodSl0aHJvdyBvfX1yZXR1cm4gbH19KGUsdCl8fGZ1bmN0aW9uKGUsdCl7dmFyIG47aWYoZSlyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/VnQoZSx0KToiTWFwIj09PShuPSJPYmplY3QiPT09KG49T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpLnNsaWNlKDgsLTEpKSYmZS5jb25zdHJ1Y3Rvcj9lLmNvbnN0cnVjdG9yLm5hbWU6bil8fCJTZXQiPT09bj9BcnJheS5mcm9tKGUpOiJBcmd1bWVudHMiPT09bnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3Qobik/VnQoZSx0KTp2b2lkIDB9KGUsdCl8fGZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX0oKX1mdW5jdGlvbiBWdChlLHQpeyhudWxsPT10fHx0PmUubGVuZ3RoKSYmKHQ9ZS5sZW5ndGgpO2Zvcih2YXIgbj0wLHI9bmV3IEFycmF5KHQpO248dDtuKyspcltuXT1lW25dO3JldHVybiByfWZ1bmN0aW9uICR0KGUpe3ZhciB0PWUuc2l6ZSxlPXZvaWQgMD09PShlPWUuY3VzdG9tU2V0dGluZ3MpP251bGw6ZSxuPShvPU9iamVjdChGLnVzZUNvbnRleHQpKFYpLnNldHRpbmdzKS55b3V0dWJlSWNvbixyPW8uaXNQcm8sbz1vLmlzU2luZ2xlO3JldHVybiByJiZuP0guYS5jcmVhdGVFbGVtZW50KG0se2ljb25Vcmw6bixzaXplOnR9KTpILmEuY3JlYXRlRWxlbWVudCgic3ZnIix7c3R5bGU6Im1lZGl1bSI9PT10JiZvP3toZWlnaHQ6IjMwcHgiLG1pbldpZHRoOiIzMHB4IixmaWxsOiIjZmZmIixzdHJva2U6Im5vbmUifTp7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsZmlsbDoiI2ZmZiIsc3Ryb2tlOiJub25lIn0sdmVyc2lvbjoiMS4xIix2aWV3Qm94OiItMyAtMyAzOCAzOCIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIn0sSC5hLmNyZWF0ZUVsZW1lbnQoInBhdGgiLHtkOiJNMTIuOTMyIDIwLjQ1OXYtOC45MTdsNy44MzkgNC40NTl6TTMwLjM2OCA4LjczNWMtMC4zNTQtMS4zMDEtMS4zNTQtMi4zMDctMi42MjUtMi42NjNsLTAuMDI3LTAuMDA2Yy0zLjE5My0wLjQwNi02Ljg4Ni0wLjYzOC0xMC42MzQtMC42MzgtMC4zODEgMC0wLjc2MSAwLjAwMi0xLjE0IDAuMDA3bDAuMDU4LTAuMDAxYy0wLjMyMi0wLjAwNC0wLjcwMS0wLjAwNy0xLjA4Mi0wLjAwNy0zLjc0OCAwLTcuNDQzIDAuMjMyLTExLjA3MCAwLjY4MWwwLjQzNC0wLjA0NGMtMS4yOTcgMC4zNjMtMi4yOTcgMS4zNjgtMi42NDQgMi42NDNsLTAuMDA2IDAuMDI2Yy0wLjQgMi4xMDktMC42MjggNC41MzYtMC42MjggNy4wMTYgMCAwLjA4OCAwIDAuMTc2IDAuMDAxIDAuMjYzbC0wLTAuMDE0Yy0wIDAuMDc0LTAuMDAxIDAuMTYyLTAuMDAxIDAuMjUgMCAyLjQ4IDAuMjI5IDQuOTA2IDAuNjY2IDcuMjU5bC0wLjAzOC0wLjI0NGMwLjM1NCAxLjMwMSAxLjM1NCAyLjMwNyAyLjYyNSAyLjY2M2wwLjAyNyAwLjAwNmMzLjE5MyAwLjQwNiA2Ljg4NiAwLjYzOCAxMC42MzQgMC42MzggMC4zOCAwIDAuNzYtMC4wMDIgMS4xNC0wLjAwN2wtMC4wNTggMC4wMDFjMC4zMjIgMC4wMDQgMC43MDIgMC4wMDcgMS4wODIgMC4wMDcgMy43NDkgMCA3LjQ0My0wLjIzMiAxMS4wNzAtMC42ODFsLTAuNDM0IDAuMDQ0YzEuMjk4LTAuMzYyIDIuMjk4LTEuMzY4IDIuNjQ2LTIuNjQzbDAuMDA2LTAuMDI2YzAuMzk5LTIuMTA5IDAuNjI3LTQuNTM2IDAuNjI3LTcuMDE1IDAtMC4wODgtMC0wLjE3Ni0wLjAwMS0wLjI2M2wwIDAuMDEzYzAtMC4wNzQgMC4wMDEtMC4xNjIgMC4wMDEtMC4yNSAwLTIuNDgtMC4yMjktNC45MDYtMC42NjYtNy4yNTlsMC4wMzggMC4yNDR6IixmaWxsOiJ5b3V0dWJlIj09PWUmJiIjZmYwMDAwIn0pKX12YXIgV3Q9Qy5kLmRpdi53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2MtMWVhNDV4aS0wIn0pKFsibWFyZ2luOjYwcHggMCA2MHB4IDA7bGluZS1oZWlnaHQ6MjNweDsmIGF7Y29sb3I6IzExMTtmb250LXNpemU6MjZweDt0ZXh0LWRlY29yYXRpb246bm9uZTt1bmljb2RlLWJpZGk6cGxhaW50ZXh0O30iXSksR3Q9Qy5kLmRpdi53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2MteTVqbTd5LTAifSkoWyJwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9pbnRlci1ldmVudHM6bm9uZTsiXSksWmU9T2JqZWN0KEMuZSkoWyIwJXt0cmFuc2Zvcm06cm90YXRlKDBkZWcpO30xMDAle3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKTt9Il0pLHF0PUMuZC5zcGFuLndpdGhDb25maWcoe2NvbXBvbmVudElkOiJzYy15NWptN3ktMSJ9KShbImRpc3BsYXk6YmxvY2s7d2lkdGg6NTBweDtoZWlnaHQ6NTBweDtib3JkZXI6MTBweCBzb2xpZCAjZjNmM2YzO2JvcmRlci10b3A6MTBweCBzb2xpZCAjMzgzNjM2O2JvcmRlci1yYWRpdXM6NTAlO2FuaW1hdGlvbjoiLCIgMS41cyBsaW5lYXIgaW5maW5pdGU7Il0sWmUpO2Z1bmN0aW9uIEkoZSl7ZS5jaGlsZHJlbjtyZXR1cm4gSC5hLmNyZWF0ZUVsZW1lbnQoR3Qse2NsYXNzTmFtZToic3Bpbm5lci1jb250YWluZXIifSxILmEuY3JlYXRlRWxlbWVudChxdCx7Y2xhc3NOYW1lOiJsb2FkaW5nLXNwaW5uZXIifSkpfWZ1bmN0aW9uIFp0KGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIGV9KGUpfHxmdW5jdGlvbihlLHQpe3ZhciBuPW51bGw9PWU/bnVsbDoidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmZVtTeW1ib2wuaXRlcmF0b3JdfHxlWyJAQGl0ZXJhdG9yIl07aWYobnVsbCE9bil7dmFyIHIsbyxhLGksbD1bXSxjPSEwLHU9ITE7dHJ5e2lmKGE9KG49bi5jYWxsKGUpKS5uZXh0LDA9PT10KXtpZihPYmplY3QobikhPT1uKXJldHVybjtjPSExfWVsc2UgZm9yKDshKGM9KHI9YS5jYWxsKG4pKS5kb25lKSYmKGwucHVzaChyLnZhbHVlKSxsLmxlbmd0aCE9PXQpO2M9ITApO31jYXRjaChlKXt1PSEwLG89ZX1maW5hbGx5e3RyeXtpZighYyYmbnVsbCE9bi5yZXR1cm4mJihpPW4ucmV0dXJuKCksT2JqZWN0KGkpIT09aSkpcmV0dXJufWZpbmFsbHl7aWYodSl0aHJvdyBvfX1yZXR1cm4gbH19KGUsdCl8fGZ1bmN0aW9uKGUsdCl7dmFyIG47aWYoZSlyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/WHQoZSx0KToiTWFwIj09PShuPSJPYmplY3QiPT09KG49T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpLnNsaWNlKDgsLTEpKSYmZS5jb25zdHJ1Y3Rvcj9lLmNvbnN0cnVjdG9yLm5hbWU6bil8fCJTZXQiPT09bj9BcnJheS5mcm9tKGUpOiJBcmd1bWVudHMiPT09bnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3Qobik/WHQoZSx0KTp2b2lkIDB9KGUsdCl8fGZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX0oKX1mdW5jdGlvbiBYdChlLHQpeyhudWxsPT10fHx0PmUubGVuZ3RoKSYmKHQ9ZS5sZW5ndGgpO2Zvcih2YXIgbj0wLHI9bmV3IEFycmF5KHQpO248dDtuKyspcltuXT1lW25dO3JldHVybiByfWZ1bmN0aW9uIFl0KGUpe3ZhciBlPWUuc2l6ZSx0PShyPU9iamVjdChGLnVzZUNvbnRleHQpKFYpLnNldHRpbmdzKS5jYWxsSWNvbixuPXIuaXNQcm8scj1yLmlzU2luZ2xlO3JldHVybiBuJiZ0P0guYS5jcmVhdGVFbGVtZW50KG0se2ljb25Vcmw6dCxzaXplOmV9KTpILmEuY3JlYXRlRWxlbWVudCgic3ZnIix7c3R5bGU6Im1lZGl1bSI9PT1lJiZyP3toZWlnaHQ6IjMwcHgiLG1pbldpZHRoOiIzMHB4IixmaWxsOiIjZmZmIixzdHJva2U6Im5vbmUifTp7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsZmlsbDoiI2ZmZiIsc3Ryb2tlOiJub25lIn0sdmlld0JveDoiLTcyIC03MiA3MDQgNzA0Iix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHhtbG5zWGxpbms6Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsifSxILmEuY3JlYXRlRWxlbWVudCgicGF0aCIse2Q6IiBNMTY2LjE1Niw1MTJoLTQxLjUzMWMtNy4zNzUtMC4wMzEtMjAuNTYzLTguNTYzLTIwLjkzOC04LjkwNkMzNy40MzgsNDM3Ljk2OSwwLDM0OC45MDYsMCwyNTUuOTM4IEMwLDE2Mi43MTksMzcuNjU2LDczLjM3NSwxMDQuMjgxLDguMjE5QzEwNC4zMTMsOC4xODgsMTE3LjI1LDAsMTI0LjYyNSwwaDQxLjUzMWMxNS4yMTksMCwzMy4yNSwxMS4xMjUsNDAuMDYzLDI0Ljc4MWwyLjkwNiw1Ljg0NCBjNi43ODEsMTMuNTk0LDYuMTg4LDM1LjU2My0xLjM0NCw0OC43NWwtMjcuOTA2LDQ4LjgxM2MtNy41NjMsMTMuMjE5LTI2LjE4OCwyNC4yNS00MS40MDYsMjQuMjVIMTEwLjc1IGMtMzYuODEzLDY0LTM2LjgxMywxNDMuMDk0LTAuMDMxLDIwNy4xMjVoMjcuNzVjMTUuMjE5LDAsMzMuODQ0LDExLjAzMSw0MS40MDYsMjQuMjVsMjcuODc1LDQ4LjgxMyBjNy41MzEsMTMuMTg4LDguMTU2LDM1LjA5NCwxLjM3NSw0OC43ODFsLTIuOTA2LDUuODQ0QzE5OS4zNzUsNTAwLjg0NCwxODEuMzc1LDUxMiwxNjYuMTU2LDUxMnogTTUxMiwxMjh2MjU2IGMwLDM1LjM0NC0yOC42NTYsNjQtNjQsNjRIMjQ0LjY4OGMtMS4yNS0xMS4yMTktMy45NjktMjIuMTU2LTkuMTU2LTMxLjI1bC0yNy44NzUtNDguODEzIGMtMTMuNDA2LTIzLjQwNi00Mi40NjktNDAuMzc1LTY5LjE4OC00MC4zNzVoLTguMTU2Yy0yMC4xODgtNDUuNDM4LTIwLjE4OC05Ny43MTksMC0xNDMuMTI1aDguMTU2IGMyNi43MTksMCw1NS43ODEtMTYuOTY5LDY5LjE4OC00MC4zNzVsMjcuOTA2LTQ4LjgxM2M1LjE4OC05LjA5NCw3LjkwNi0yMC4wNjMsOS4xNTYtMzEuMjVINDQ4QzQ4My4zNDQsNjQsNTEyLDkyLjY1Niw1MTIsMTI4eiBNMzI4LDM2OGMwLTEzLjI1LTEwLjc1LTI0LTI0LTI0cy0yNCwxMC43NS0yNCwyNHMxMC43NSwyNCwyNCwyNFMzMjgsMzgxLjI1LDMyOCwzNjh6IE0zMjgsMzA0YzAtMTMuMjUtMTAuNzUtMjQtMjQtMjQgcy0yNCwxMC43NS0yNCwyNHMxMC43NSwyNCwyNCwyNFMzMjgsMzE3LjI1LDMyOCwzMDR6IE0zMjgsMjQwYzAtMTMuMjUtMTAuNzUtMjQtMjQtMjRzLTI0LDEwLjc1LTI0LDI0czEwLjc1LDI0LDI0LDI0IFMzMjgsMjUzLjI1LDMyOCwyNDB6IE0zOTIsMzY4YzAtMTMuMjUtMTAuNzUtMjQtMjQtMjRzLTI0LDEwLjc1LTI0LDI0czEwLjc1LDI0LDI0LDI0UzM5MiwzODEuMjUsMzkyLDM2OHogTTM5MiwzMDQgYzAtMTMuMjUtMTAuNzUtMjQtMjQtMjRzLTI0LDEwLjc1LTI0LDI0czEwLjc1LDI0LDI0LDI0UzM5MiwzMTcuMjUsMzkyLDMwNHogTTM5MiwyNDBjMC0xMy4yNS0xMC43NS0yNC0yNC0yNHMtMjQsMTAuNzUtMjQsMjQgczEwLjc1LDI0LDI0LDI0UzM5MiwyNTMuMjUsMzkyLDI0MHogTTQ1NiwzNjhjMC0xMy4yNS0xMC43NS0yNC0yNC0yNHMtMjQsMTAuNzUtMjQsMjRzMTAuNzUsMjQsMjQsMjRTNDU2LDM4MS4yNSw0NTYsMzY4eiBNNDU2LDMwNCBjMC0xMy4yNS0xMC43NS0yNC0yNC0yNHMtMjQsMTAuNzUtMjQsMjRzMTAuNzUsMjQsMjQsMjRTNDU2LDMxNy4yNSw0NTYsMzA0eiBNNDU2LDI0MGMwLTEzLjI1LTEwLjc1LTI0LTI0LTI0cy0yNCwxMC43NS0yNCwyNCBzMTAuNzUsMjQsMjQsMjRTNDU2LDI1My4yNSw0NTYsMjQweiBNNDU2LDE0NGMwLTguODQ0LTcuMTU2LTE2LTE2LTE2SDI5NmMtOC44NDQsMC0xNiw3LjE1Ni0xNiwxNnYzMmMwLDguODQ0LDcuMTU2LDE2LDE2LDE2aDE0NCBjOC44NDQsMCwxNi03LjE1NiwxNi0xNlYxNDR6In0pKX12YXIgUXQ9Qy5kLmlmcmFtZS53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2MtMWVoNGUzMy0wIn0pKFsiaGVpZ2h0OjI3MHB4O2JvcmRlci1yYWRpdXM6OXB4O21heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDEwMHB4KTtib3JkZXI6bm9uZTtvdmVyZmxvdzpoaWRkZW47dHJhbnNpdGlvbjpvcGFjaXR5IC41czt3aWR0aDoxMDAlO2JveC1zaGFkb3c6MHB4IDFweCA3cHggcmdiYSgxMzYsMTM2LDEzNiwiLCIlKTsiLCI7IiwiIl0sZnVuY3Rpb24oZSl7cmV0dXJuIDIwPGUuYnV0dG9uU2hhZG93P2UuYnV0dG9uU2hhZG93OjIwfSxmdW5jdGlvbihlKXtyZXR1cm4gZS5pc0xvYWRpbmcmJk9iamVjdChDLmMpKFsib3BhY2l0eTowOyJdKX0sRCgpJiZPYmplY3QoQy5jKShbImhlaWdodDoxMDB2aDttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSA1MHB4KTtib3JkZXItcmFkaXVzOjA7Il0pKSxLdD1DLmQuZGl2LndpdGhDb25maWcoe2NvbXBvbmVudElkOiJzYy0xZWg0ZTMzLTEifSkoWyIgIGJvcmRlci1yYWRpdXM6OXB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb246YmFja2dyb3VuZCAuNXM7IiwiICIsIiJdLGZ1bmN0aW9uKGUpe3JldHVybiBlLmlzTG9hZGluZyYmT2JqZWN0KEMuYykoWyJiYWNrZ3JvdW5kOiMwMDAwMDA7Il0pfSxEKCkmJk9iamVjdChDLmMpKFsiYm9yZGVyLXJhZGl1czowOyJdKSk7ZnVuY3Rpb24gSnQoZSx0KXtyZXR1cm4gZnVuY3Rpb24oZSl7aWYoQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gZX0oZSl8fGZ1bmN0aW9uKGUsdCl7dmFyIG49bnVsbD09ZT9udWxsOiJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZlW1N5bWJvbC5pdGVyYXRvcl18fGVbIkBAaXRlcmF0b3IiXTtpZihudWxsIT1uKXt2YXIgcixvLGEsaSxsPVtdLGM9ITAsdT0hMTt0cnl7aWYoYT0obj1uLmNhbGwoZSkpLm5leHQsMD09PXQpe2lmKE9iamVjdChuKSE9PW4pcmV0dXJuO2M9ITF9ZWxzZSBmb3IoOyEoYz0ocj1hLmNhbGwobikpLmRvbmUpJiYobC5wdXNoKHIudmFsdWUpLGwubGVuZ3RoIT09dCk7Yz0hMCk7fWNhdGNoKGUpe3U9ITAsbz1lfWZpbmFsbHl7dHJ5e2lmKCFjJiZudWxsIT1uLnJldHVybiYmKGk9bi5yZXR1cm4oKSxPYmplY3QoaSkhPT1pKSlyZXR1cm59ZmluYWxseXtpZih1KXRocm93IG99fXJldHVybiBsfX0oZSx0KXx8ZnVuY3Rpb24oZSx0KXt2YXIgbjtpZihlKXJldHVybiJzdHJpbmciPT10eXBlb2YgZT9lbihlLHQpOiJNYXAiPT09KG49Ik9iamVjdCI9PT0obj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkuc2xpY2UoOCwtMSkpJiZlLmNvbnN0cnVjdG9yP2UuY29uc3RydWN0b3IubmFtZTpuKXx8IlNldCI9PT1uP0FycmF5LmZyb20oZSk6IkFyZ3VtZW50cyI9PT1ufHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKT9lbihlLHQpOnZvaWQgMH0oZSx0KXx8ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gZGVzdHJ1Y3R1cmUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLiIpfSgpfWZ1bmN0aW9uIGVuKGUsdCl7KG51bGw9PXR8fHQ+ZS5sZW5ndGgpJiYodD1lLmxlbmd0aCk7Zm9yKHZhciBuPTAscj1uZXcgQXJyYXkodCk7bjx0O24rKylyW25dPWVbbl07cmV0dXJuIHJ9ZnVuY3Rpb24gdG4oZSl7dmFyIGU9ZS5zaXplLHQ9KHI9T2JqZWN0KEYudXNlQ29udGV4dCkoVikuc2V0dGluZ3MpLmNvbnRhY3Rmb3JtSWNvbixuPXIuaXNQcm8scj1yLmlzU2luZ2xlO3JldHVybiBuJiZ0P0guYS5jcmVhdGVFbGVtZW50KG0se2ljb25Vcmw6dCxzaXplOmV9KTpILmEuY3JlYXRlRWxlbWVudCgic3ZnIix7c3R5bGU6Im1lZGl1bSI9PT1lJiZyP3toZWlnaHQ6IjMwcHgiLG1pbldpZHRoOiIzMHB4IixmaWxsOiIjZmZmIixzdHJva2U6Im5vbmUifTp7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsZmlsbDoiI2ZmZiIsc3Ryb2tlOiJub25lIn0sdmlld0JveDoiMCAwIDMyIDMyIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHhtbG5zWGxpbms6Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsifSxILmEuY3JlYXRlRWxlbWVudCgicGF0aCIse2Q6IiBNMjcgMjIuNzU3YzAgMS4yNC0uOTg4IDIuMjQzLTIuMTkgMi4yNDNINy4xOUM1Ljk4IDI1IDUgMjMuOTk0IDUgMjIuNzU3VjEzLjY3YzAtLjU1Ni4zOS0uNzczLjg1NS0uNDk2bDguNzggNS4yMzhjLjc4Mi40NjcgMS45NS40NjcgMi43MyAwbDguNzgtNS4yMzhjLjQ3Mi0uMjguODU1LS4wNjMuODU1LjQ5NXY5LjA4N3oifSksSC5hLmNyZWF0ZUVsZW1lbnQoInBhdGgiLHtkOiIgTTI3IDkuMjQzQzI3IDguMDA2IDI2LjAyIDcgMjQuODEgN0g3LjE5QzUuOTg4IDcgNSA4LjAwNCA1IDkuMjQzdi40NjVjMCAuNTU0LjM4NSAxLjIzMi44NTcgMS41MTRsOS42MSA1LjczM2MuMjY3LjE2LjguMTYgMS4wNjcgMGw5LjYxLTUuNzMzYy40NzMtLjI4My44NTYtLjk2Ljg1Ni0xLjUxNHYtLjQ2NXoifSkpfXZhciBubj1DLmQuZGl2LndpdGhDb25maWcoe2NvbXBvbmVudElkOiJzYy0xNXZnYmh0LTAifSkoWyJtYXJnaW46NjBweCAwIDYwcHggMDtsaW5lLWhlaWdodDoyM3B4OyYgYXtjb2xvcjojMTExO2ZvbnQtc2l6ZToyNnB4O3RleHQtZGVjb3JhdGlvbjpub25lO3VuaWNvZGUtYmlkaTpwbGFpbnRleHQ7fSJdKSxybj1DLmQuZGl2LndpdGhDb25maWcoe2NvbXBvbmVudElkOiJzYy0xNXZnYmh0LTEifSkoWyJtYXJnaW46MzBweCAyNXB4IDIwcHggMjVweDt0cmFuc2l0aW9uOm9wYWNpdHkgLjVzOyIsIjsmIGltZ3t3aWR0aDoxNTBweDttYXJnaW46MCBhdXRvO30mIGF7Y29sb3I6IzExMTtkaXNwbGF5OmJsb2NrO21hcmdpbi1ib3R0b206MTBweDtmb250LXNpemU6MjZweDt0ZXh0LWRlY29yYXRpb246bm9uZTt1bmljb2RlLWJpZGk6cGxhaW50ZXh0O30iXSxmdW5jdGlvbihlKXtyZXR1cm4gZS5pc0xvYWRpbmcmJk9iamVjdChDLmMpKFsib3BhY2l0eTouMTU7Il0pfSk7ZnVuY3Rpb24gb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24oZSl7aWYoQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gZX0oZSl8fGZ1bmN0aW9uKGUsdCl7dmFyIG49bnVsbD09ZT9udWxsOiJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZlW1N5bWJvbC5pdGVyYXRvcl18fGVbIkBAaXRlcmF0b3IiXTtpZihudWxsIT1uKXt2YXIgcixvLGEsaSxsPVtdLGM9ITAsdT0hMTt0cnl7aWYoYT0obj1uLmNhbGwoZSkpLm5leHQsMD09PXQpe2lmKE9iamVjdChuKSE9PW4pcmV0dXJuO2M9ITF9ZWxzZSBmb3IoOyEoYz0ocj1hLmNhbGwobikpLmRvbmUpJiYobC5wdXNoKHIudmFsdWUpLGwubGVuZ3RoIT09dCk7Yz0hMCk7fWNhdGNoKGUpe3U9ITAsbz1lfWZpbmFsbHl7dHJ5e2lmKCFjJiZudWxsIT1uLnJldHVybiYmKGk9bi5yZXR1cm4oKSxPYmplY3QoaSkhPT1pKSlyZXR1cm59ZmluYWxseXtpZih1KXRocm93IG99fXJldHVybiBsfX0oZSx0KXx8ZnVuY3Rpb24oZSx0KXt2YXIgbjtpZihlKXJldHVybiJzdHJpbmciPT10eXBlb2YgZT9hbihlLHQpOiJNYXAiPT09KG49Ik9iamVjdCI9PT0obj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkuc2xpY2UoOCwtMSkpJiZlLmNvbnN0cnVjdG9yP2UuY29uc3RydWN0b3IubmFtZTpuKXx8IlNldCI9PT1uP0FycmF5LmZyb20oZSk6IkFyZ3VtZW50cyI9PT1ufHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKT9hbihlLHQpOnZvaWQgMH0oZSx0KXx8ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gZGVzdHJ1Y3R1cmUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLiIpfSgpfWZ1bmN0aW9uIGFuKGUsdCl7KG51bGw9PXR8fHQ+ZS5sZW5ndGgpJiYodD1lLmxlbmd0aCk7Zm9yKHZhciBuPTAscj1uZXcgQXJyYXkodCk7bjx0O24rKylyW25dPWVbbl07cmV0dXJuIHJ9ZnVuY3Rpb24gbG4oZSl7dmFyIGU9ZS5zaXplLHQ9KHI9T2JqZWN0KEYudXNlQ29udGV4dCkoVikuc2V0dGluZ3MpLmRpc2NvcmRJY29uLG49ci5pc1BybyxyPXIuaXNTaW5nbGU7cmV0dXJuIG4mJnQ/SC5hLmNyZWF0ZUVsZW1lbnQobSx7aWNvblVybDp0LHNpemU6ZX0pOkguYS5jcmVhdGVFbGVtZW50KCJzdmciLHtzdHlsZToibWVkaXVtIj09PWUmJnI/e2hlaWdodDoiMzBweCIsbWluV2lkdGg6IjMwcHgiLGZpbGw6IiNmZmYiLHN0cm9rZToibm9uZSJ9Ont3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIixmaWxsOiIjZmZmIixzdHJva2U6Im5vbmUifSx2aWV3Qm94OiItMTcuNiAwIDE2MC4xNCA5Ni4zNiIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix4bWxuc1hsaW5rOiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIn0sSC5hLmNyZWF0ZUVsZW1lbnQoInBhdGgiLHtkOiJNMTA3LjcsOC4wN0ExMDUuMTUsMTA1LjE1LDAsMCwwLDgxLjQ3LDBhNzIuMDYsNzIuMDYsMCwwLDAtMy4zNiw2LjgzQTk3LjY4LDk3LjY4LDAsMCwwLDQ5LDYuODMsNzIuMzcsNzIuMzcsMCwwLDAsNDUuNjQsMCwxMDUuODksMTA1Ljg5LDAsMCwwLDE5LjM5LDguMDlDMi43OSwzMi42NS0xLjcxLDU2LjYuNTQsODAuMjFoMEExMDUuNzMsMTA1LjczLDAsMCwwLDMyLjcxLDk2LjM2LDc3LjcsNzcuNywwLDAsMCwzOS42LDg1LjI1YTY4LjQyLDY4LjQyLDAsMCwxLTEwLjg1LTUuMThjLjkxLS42NiwxLjgtMS4zNCwyLjY2LTJhNzUuNTcsNzUuNTcsMCwwLDAsNjQuMzIsMGMuODcuNzEsMS43NiwxLjM5LDIuNjYsMmE2OC42OCw2OC42OCwwLDAsMS0xMC44Nyw1LjE5LDc3LDc3LDAsMCwwLDYuODksMTEuMUExMDUuMjUsMTA1LjI1LDAsMCwwLDEyNi42LDgwLjIyaDBDMTI5LjI0LDUyLjg0LDEyMi4wOSwyOS4xMSwxMDcuNyw4LjA3Wk00Mi40NSw2NS42OUMzNi4xOCw2NS42OSwzMSw2MCwzMSw1M3M1LTEyLjc0LDExLjQzLTEyLjc0UzU0LDQ2LDUzLjg5LDUzLDQ4Ljg0LDY1LjY5LDQyLjQ1LDY1LjY5Wm00Mi4yNCwwQzc4LjQxLDY1LjY5LDczLjI1LDYwLDczLjI1LDUzczUtMTIuNzQsMTEuNDQtMTIuNzRTOTYuMjMsNDYsOTYuMTIsNTMsOTEuMDgsNjUuNjksODQuNjksNjUuNjlaIn0pKX1mdW5jdGlvbiBjbihlKXt2YXIgZT1lLnNpemUsdD0ocj1PYmplY3QoRi51c2VDb250ZXh0KShWKS5zZXR0aW5ncykudGVhbXNJY29uLG49ci5pc1BybyxyPXIuaXNTaW5nbGU7cmV0dXJuIG4mJnQ/SC5hLmNyZWF0ZUVsZW1lbnQobSx7aWNvblVybDp0LHNpemU6ZX0pOkguYS5jcmVhdGVFbGVtZW50KCJzdmciLHtzdHlsZToibWVkaXVtIj09PWUmJnI/e2hlaWdodDoiMzBweCIsbWluV2lkdGg6IjMwcHgiLHN0cm9rZToibm9uZSJ9Ont3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIixzdHJva2U6Im5vbmUifSx2aWV3Qm94OiItMjAzLjMyNDk1IC01MTguMzMzNSAyODk3LjQ4MjkgMzExMC4wMDEiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIseG1sbnNYbGluazoiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayJ9LEguYS5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZDoiTTE1NTQuNjM3IDc3Ny41aDU3NS43MTNjNTQuMzkxIDAgOTguNDgzIDQ0LjA5MiA5OC40ODMgOTguNDgzdjUyNC4zOThjMCAxOTkuOTAxLTE2Mi4wNTEgMzYxLjk1Mi0zNjEuOTUyIDM2MS45NTJoLTEuNzExYy0xOTkuOTAxLjAyOC0zNjEuOTc1LTE2Mi0zNjIuMDA0LTM2MS45MDFWODI4Ljk3MWMuMDAxLTI4LjQyNyAyMy4wNDUtNTEuNDcxIDUxLjQ3MS01MS40NzF6IixmaWxsOiIjNTA1OUM5In0pLEguYS5jcmVhdGVFbGVtZW50KCJjaXJjbGUiLHtyOiIyMzMuMjUiLGN5OiI0NDAuNTgzIixjeDoiMTk0My43NSIsZmlsbDoiIzUwNTlDOSJ9KSxILmEuY3JlYXRlRWxlbWVudCgiY2lyY2xlIix7cjoiMzM2LjkxNyIsY3k6IjMzNi45MTciLGN4OiIxMjE4LjA4MyIsZmlsbDoiIzdCODNFQiJ9KSxILmEuY3JlYXRlRWxlbWVudCgicGF0aCIse2Q6Ik0xNjY3LjMyMyA3NzcuNUg3MTcuMDFjLTUzLjc0MyAxLjMzLTk2LjI1NyA0NS45MzEtOTUuMDEgOTkuNjc2djU5OC4xMDVjLTcuNTA1IDMyMi41MTkgMjQ3LjY1NyA1OTAuMTYgNTcwLjE2NyA1OTguMDUzIDMyMi41MS03Ljg5MyA1NzcuNjcxLTI3NS41MzQgNTcwLjE2Ny01OTguMDUzVjg3Ny4xNzZjMS4yNDUtNTMuNzQ1LTQxLjI2OC05OC4zNDYtOTUuMDExLTk5LjY3NnoiLGZpbGw6IiM3QjgzRUIifSksSC5hLmNyZWF0ZUVsZW1lbnQoInBhdGgiLHtkOiJNMTI0NCA3NzcuNXY4MzguMTQ1Yy0uMjU4IDM4LjQzNS0yMy41NDkgNzIuOTY0LTU5LjA5IDg3LjU5OGE5MS44NTYgOTEuODU2IDAgMDEtMzUuNzY1IDcuMjU3SDY2Ny42MTNjLTYuNzM4LTE3LjEwNS0xMi45NTgtMzQuMjEtMTguMTQyLTUxLjgzM2E2MzEuMjg3IDYzMS4yODcgMCAwMS0yNy40NzItMTgzLjQ5Vjg3Ny4wMmMtMS4yNDYtNTMuNjU5IDQxLjE5OC05OC4xOSA5NC44NTUtOTkuNTJ6IixvcGFjaXR5OiIuMSJ9KSxILmEuY3JlYXRlRWxlbWVudCgicGF0aCIse2Q6Ik0xMTkyLjE2NyA3NzcuNXY4ODkuOTc4YTkxLjgwMiA5MS44MDIgMCAwMS03LjI1NyAzNS43NjVjLTE0LjYzNCAzNS41NDEtNDkuMTYzIDU4LjgzMy04Ny41OTggNTkuMDlINjkxLjk3NWMtOC44MTItMTcuMTA1LTE3LjEwNS0zNC4yMS0yNC4zNjItNTEuODMzLTcuMjU3LTE3LjYyMy0xMi45NTgtMzQuMjEtMTguMTQyLTUxLjgzM2E2MzEuMjgyIDYzMS4yODIgMCAwMS0yNy40NzItMTgzLjQ5Vjg3Ny4wMmMtMS4yNDYtNTMuNjU5IDQxLjE5OC05OC4xOSA5NC44NTUtOTkuNTJ6IixvcGFjaXR5OiIuMiJ9KSxILmEuY3JlYXRlRWxlbWVudCgicGF0aCIse2Q6Ik0xMTkyLjE2NyA3NzcuNXY3ODYuMzEyYy0uMzk1IDUyLjIyMy00Mi42MzIgOTQuNDYtOTQuODU1IDk0Ljg1NWgtNDQ3Ljg0QTYzMS4yODIgNjMxLjI4MiAwIDAxNjIyIDE0NzUuMTc3Vjg3Ny4wMmMtMS4yNDYtNTMuNjU5IDQxLjE5OC05OC4xOSA5NC44NTUtOTkuNTJ6IixvcGFjaXR5OiIuMiJ9KSxILmEuY3JlYXRlRWxlbWVudCgicGF0aCIse2Q6Ik0xMTQwLjMzMyA3NzcuNXY3ODYuMzEyYy0uMzk1IDUyLjIyMy00Mi42MzIgOTQuNDYtOTQuODU1IDk0Ljg1NUg2NDkuNDcyQTYzMS4yODIgNjMxLjI4MiAwIDAxNjIyIDE0NzUuMTc3Vjg3Ny4wMmMtMS4yNDYtNTMuNjU5IDQxLjE5OC05OC4xOSA5NC44NTUtOTkuNTJ6IixvcGFjaXR5OiIuMiJ9KSxILmEuY3JlYXRlRWxlbWVudCgicGF0aCIse2Q6Ik0xMjQ0IDUwOS41MjJ2MTYzLjI3NWMtOC44MTIuNTE4LTE3LjEwNSAxLjAzNy0yNS45MTcgMS4wMzctOC44MTIgMC0xNy4xMDUtLjUxOC0yNS45MTctMS4wMzdhMjg0LjQ3MiAyODQuNDcyIDAgMDEtNTEuODMzLTguMjkzYy0xMDQuOTYzLTI0Ljg1Ny0xOTEuNjc5LTk4LjQ2OS0yMzMuMjUtMTk4LjAwM2EyODguMDIgMjg4LjAyIDAgMDEtMTYuNTg3LTUxLjgzM2gyNTguNjQ4YzUyLjMwNS4xOTggOTQuNjU3IDQyLjU0OSA5NC44NTYgOTQuODU0eiIsb3BhY2l0eToiLjEifSksSC5hLmNyZWF0ZUVsZW1lbnQoInBhdGgiLHtkOiJNMTE5Mi4xNjcgNTYxLjM1NXYxMTEuNDQyYTI4NC40NzIgMjg0LjQ3MiAwIDAxLTUxLjgzMy04LjI5M2MtMTA0Ljk2My0yNC44NTctMTkxLjY3OS05OC40NjktMjMzLjI1LTE5OC4wMDNoMTkwLjIyOGM1Mi4zMDQuMTk4IDk0LjY1NiA0Mi41NSA5NC44NTUgOTQuODU0eiIsb3BhY2l0eToiLjIifSksSC5hLmNyZWF0ZUVsZW1lbnQoInBhdGgiLHtkOiJNMTE5Mi4xNjcgNTYxLjM1NXYxMTEuNDQyYTI4NC40NzIgMjg0LjQ3MiAwIDAxLTUxLjgzMy04LjI5M2MtMTA0Ljk2My0yNC44NTctMTkxLjY3OS05OC40NjktMjMzLjI1LTE5OC4wMDNoMTkwLjIyOGM1Mi4zMDQuMTk4IDk0LjY1NiA0Mi41NSA5NC44NTUgOTQuODU0eiIsb3BhY2l0eToiLjIifSksSC5hLmNyZWF0ZUVsZW1lbnQoInBhdGgiLHtkOiJNMTE0MC4zMzMgNTYxLjM1NXYxMDMuMTQ4Yy0xMDQuOTYzLTI0Ljg1Ny0xOTEuNjc5LTk4LjQ2OS0yMzMuMjUtMTk4LjAwM2gxMzguMzk1YzUyLjMwNS4xOTkgOTQuNjU2IDQyLjU1MSA5NC44NTUgOTQuODU1eiIsb3BhY2l0eToiLjIifSksSC5hLmNyZWF0ZUVsZW1lbnQoImxpbmVhckdyYWRpZW50Iix7Z3JhZGllbnRUcmFuc2Zvcm06Im1hdHJpeCgxIDAgMCAtMSAwIDIwNzUuMzMzKSIseTI6IjM5NC4yNjEiLHgyOiI5NDIuMjM0Iix5MToiMTY4My4wNzMiLHgxOiIxOTguMDk5IixncmFkaWVudFVuaXRzOiJ1c2VyU3BhY2VPblVzZSIsaWQ6ImEifSxILmEuY3JlYXRlRWxlbWVudCgic3RvcCIse29mZnNldDoiMCIsc3RvcENvbG9yOiIjNWE2MmMzIn0pLEguYS5jcmVhdGVFbGVtZW50KCJzdG9wIix7b2Zmc2V0OiIuNSIsc3RvcENvbG9yOiIjNGQ1NWJkIn0pLEguYS5jcmVhdGVFbGVtZW50KCJzdG9wIix7b2Zmc2V0OiIxIixzdG9wQ29sb3I6IiMzOTQwYWIifSkpLEguYS5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZDoiTTk1LjAxIDQ2Ni41aDk1MC4zMTJjNTIuNDczIDAgOTUuMDEgNDIuNTM4IDk1LjAxIDk1LjAxdjk1MC4zMTJjMCA1Mi40NzMtNDIuNTM4IDk1LjAxLTk1LjAxIDk1LjAxSDk1LjAxYy01Mi40NzMgMC05NS4wMS00Mi41MzgtOTUuMDEtOTUuMDFWNTYxLjUxYzAtNTIuNDcyIDQyLjUzOC05NS4wMSA5NS4wMS05NS4wMXoiLGZpbGw6InVybCgjYSkifSksSC5hLmNyZWF0ZUVsZW1lbnQoInBhdGgiLHtkOiJNODIwLjIxMSA4MjguMTkzaC0xODkuOTd2NTE3LjI5N2gtMTIxLjAzVjgyOC4xOTNIMzIwLjEyM1Y3MjcuODQ0aDUwMC4wODh6IixmaWxsOiIjRkZGIn0pKX1mdW5jdGlvbiB1bihlKXt2YXIgZT1lLnNpemUsdD0ocj1PYmplY3QoRi51c2VDb250ZXh0KShWKS5zZXR0aW5ncykuZW1haWxJY29uLG49ci5pc1BybyxyPXIuaXNTaW5nbGU7cmV0dXJuIG4mJnQ/SC5hLmNyZWF0ZUVsZW1lbnQobSx7aWNvblVybDp0LHNpemU6ZX0pOkguYS5jcmVhdGVFbGVtZW50KCJzdmciLHtzdHlsZToibWVkaXVtIj09PWUmJnI/e2hlaWdodDoiMzBweCIsbWluV2lkdGg6IjMwcHgiLGZpbGw6IiNmZmYiLHN0cm9rZToibm9uZSJ9Ont3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIixmaWxsOiIjZmZmIixzdHJva2U6Im5vbmUifSx2aWV3Qm94OiIwIDAgMzIgMzIiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIseG1sbnNYbGluazoiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayJ9LEguYS5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZDoiTTE5LjYsMTkuNDdBNSw1LDAsMSwxLDIxLDE2djEuNWExLjUsMS41LDAsMCwwLDMsMFYxNmE4LDgsMCwxLDAtNC45NCw3LjRBMSwxLDAsMCwxLDIwLDI1LjE4bC0uMTQuMDZBMTAsMTAsMCwxLDEsMjYsMTZ2MS41YTMuNSwzLjUsMCwwLDEtNi40LDJaTTE2LDE5YTMsMywwLDEsMC0zLTNBMywzLDAsMCwwLDE2LDE5WiJ9KSl9ZnVuY3Rpb24gc24oZSl7dmFyIGU9ZS5zaXplLHQ9KHI9T2JqZWN0KEYudXNlQ29udGV4dCkoVikuc2V0dGluZ3MpLmNhbGVuZGFySWNvbixuPXIuaXNQcm8scj1yLmlzU2luZ2xlO3JldHVybiBuJiZ0P0guYS5jcmVhdGVFbGVtZW50KG0se2ljb25Vcmw6dCxzaXplOmV9KTpILmEuY3JlYXRlRWxlbWVudCgic3ZnIix7c3R5bGU6Im1lZGl1bSI9PT1lJiZyP3toZWlnaHQ6IjMwcHgiLG1pbldpZHRoOiIzMHB4IixmaWxsOiIjZmZmIixzdHJva2U6Im5vbmUifTp7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsZmlsbDoiI2ZmZiIsc3Ryb2tlOiJub25lIix0cmFuc2Zvcm06InNjYWxlKDAuODUpIn0sdmVyc2lvbjoiMS4xIix2aWV3Qm94OiIwIDAgMjQuNSAyNCIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIn0sSC5hLmNyZWF0ZUVsZW1lbnQoInBhdGgiLHtkOiJNNy43NSAyLjVDNy43NSAyLjA4NTc5IDcuNDE0MjEgMS43NSA3IDEuNzVDNi41ODU3OSAxLjc1IDYuMjUgMi4wODU3OSA2LjI1IDIuNVY0LjA3OTI2QzQuODEwNjcgNC4xOTQ1MSAzLjg2NTc3IDQuNDc3MzcgMy4xNzE1NyA1LjE3MTU3QzIuNDc3MzcgNS44NjU3NyAyLjE5NDUxIDYuODEwNjcgMi4wNzkyNiA4LjI1SDIxLjkyMDdDMjEuODA1NSA2LjgxMDY3IDIxLjUyMjYgNS44NjU3NyAyMC44Mjg0IDUuMTcxNTdDMjAuMTM0MiA0LjQ3NzM3IDE5LjE4OTMgNC4xOTQ1MSAxNy43NSA0LjA3OTI2VjIuNUMxNy43NSAyLjA4NTc5IDE3LjQxNDIgMS43NSAxNyAxLjc1QzE2LjU4NTggMS43NSAxNi4yNSAyLjA4NTc5IDE2LjI1IDIuNVY0LjAxMjlDMTUuNTg0NyA0IDE0LjgzOSA0IDE0IDRIMTBDOS4xNjA5NyA0IDguNDE1MjcgNCA3Ljc1IDQuMDEyOVYyLjVaIn0pLEguYS5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZmlsbFJ1bGU6ImV2ZW5vZGQiLGQ6Ik0yIDEyQzIgMTEuMTYxIDIgMTAuNDE1MyAyLjAxMjkgOS43NUgyMS45ODcxQzIyIDEwLjQxNTMgMjIgMTEuMTYxIDIyIDEyVjE0QzIyIDE3Ljc3MTIgMjIgMTkuNjU2OSAyMC44Mjg0IDIwLjgyODRDMTkuNjU2OSAyMiAxNy43NzEyIDIyIDE0IDIySDEwQzYuMjI4NzYgMjIgNC4zNDMxNSAyMiAzLjE3MTU3IDIwLjgyODRDMiAxOS42NTY5IDIgMTcuNzcxMiAyIDE0VjEyWk0xNyAxNEMxNy41NTIzIDE0IDE4IDEzLjU1MjMgMTggMTNDMTggMTIuNDQ3NyAxNy41NTIzIDEyIDE3IDEyQzE2LjQ0NzcgMTIgMTYgMTIuNDQ3NyAxNiAxM0MxNiAxMy41NTIzIDE2LjQ0NzcgMTQgMTcgMTRaTTE3IDE4QzE3LjU1MjMgMTggMTggMTcuNTUyMyAxOCAxN0MxOCAxNi40NDc3IDE3LjU1MjMgMTYgMTcgMTZDMTYuNDQ3NyAxNiAxNiAxNi40NDc3IDE2IDE3QzE2IDE3LjU1MjMgMTYuNDQ3NyAxOCAxNyAxOFpNMTMgMTNDMTMgMTMuNTUyMyAxMi41NTIzIDE0IDEyIDE0QzExLjQ0NzcgMTQgMTEgMTMuNTUyMyAxMSAxM0MxMSAxMi40NDc3IDExLjQ0NzcgMTIgMTIgMTJDMTIuNTUyMyAxMiAxMyAxMi40NDc3IDEzIDEzWk0xMyAxN0MxMyAxNy41NTIzIDEyLjU1MjMgMTggMTIgMThDMTEuNDQ3NyAxOCAxMSAxNy41NTIzIDExIDE3QzExIDE2LjQ0NzcgMTEuNDQ3NyAxNiAxMiAxNkMxMi41NTIzIDE2IDEzIDE2LjQ0NzcgMTMgMTdaTTcgMTRDNy41NTIyOCAxNCA4IDEzLjU1MjMgOCAxM0M4IDEyLjQ0NzcgNy41NTIyOCAxMiA3IDEyQzYuNDQ3NzIgMTIgNiAxMi40NDc3IDYgMTNDNiAxMy41NTIzIDYuNDQ3NzIgMTQgNyAxNFpNNyAxOEM3LjU1MjI4IDE4IDggMTcuNTUyMyA4IDE3QzggMTYuNDQ3NyA3LjU1MjI4IDE2IDcgMTZDNi40NDc3MiAxNiA2IDE2LjQ0NzcgNiAxN0M2IDE3LjU1MjMgNi40NDc3MiAxOCA3IDE4WiJ9KSl9dmFyIGZuPUMuZC5pZnJhbWUud2l0aENvbmZpZyh7Y29tcG9uZW50SWQ6InNjLTE5bnpuamMtMCJ9KShbImhlaWdodDozNTZweDttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSAxNTBweCk7Ym9yZGVyOm5vbmU7b3ZlcmZsb3c6aGlkZGVuO3RyYW5zaXRpb246b3BhY2l0eSAuNXM7IiwiOyIsIiJdLGZ1bmN0aW9uKGUpe3JldHVybiBlLmlzTG9hZGluZyYmT2JqZWN0KEMuYykoWyJvcGFjaXR5Oi4xNTsiXSl9LEQoKSYmT2JqZWN0KEMuYykoWyJ3aWR0aDoxMDAlO2hlaWdodDoxMDB2aDttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSA1N3B4KTsiXSkpO2Z1bmN0aW9uIGRuKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIGV9KGUpfHxmdW5jdGlvbihlLHQpe3ZhciBuPW51bGw9PWU/bnVsbDoidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmZVtTeW1ib2wuaXRlcmF0b3JdfHxlWyJAQGl0ZXJhdG9yIl07aWYobnVsbCE9bil7dmFyIHIsbyxhLGksbD1bXSxjPSEwLHU9ITE7dHJ5e2lmKGE9KG49bi5jYWxsKGUpKS5uZXh0LDA9PT10KXtpZihPYmplY3QobikhPT1uKXJldHVybjtjPSExfWVsc2UgZm9yKDshKGM9KHI9YS5jYWxsKG4pKS5kb25lKSYmKGwucHVzaChyLnZhbHVlKSxsLmxlbmd0aCE9PXQpO2M9ITApO31jYXRjaChlKXt1PSEwLG89ZX1maW5hbGx5e3RyeXtpZighYyYmbnVsbCE9bi5yZXR1cm4mJihpPW4ucmV0dXJuKCksT2JqZWN0KGkpIT09aSkpcmV0dXJufWZpbmFsbHl7aWYodSl0aHJvdyBvfX1yZXR1cm4gbH19KGUsdCl8fGZ1bmN0aW9uKGUsdCl7dmFyIG47aWYoZSlyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/cG4oZSx0KToiTWFwIj09PShuPSJPYmplY3QiPT09KG49T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpLnNsaWNlKDgsLTEpKSYmZS5jb25zdHJ1Y3Rvcj9lLmNvbnN0cnVjdG9yLm5hbWU6bil8fCJTZXQiPT09bj9BcnJheS5mcm9tKGUpOiJBcmd1bWVudHMiPT09bnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3Qobik/cG4oZSx0KTp2b2lkIDB9KGUsdCl8fGZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX0oKX1mdW5jdGlvbiBwbihlLHQpeyhudWxsPT10fHx0PmUubGVuZ3RoKSYmKHQ9ZS5sZW5ndGgpO2Zvcih2YXIgbj0wLHI9bmV3IEFycmF5KHQpO248dDtuKyspcltuXT1lW25dO3JldHVybiByfXZhciBtbj1DLmQuaWZyYW1lLndpdGhDb25maWcoe2NvbXBvbmVudElkOiJzYy0xdXcwamMxLTAifSkoWyJoZWlnaHQ6NDA0cHg7bWF4LWhlaWdodDpjYWxjKDEwMHZoIC0gMTkwcHgpO2JvcmRlcjpub25lO292ZXJmbG93OmhpZGRlbjt0cmFuc2l0aW9uOm9wYWNpdHkgLjVzO3dpZHRoOjEwMCU7IiwiOyIsIiJdLGZ1bmN0aW9uKGUpe3JldHVybiBlLmlzTG9hZGluZyYmT2JqZWN0KEMuYykoWyJvcGFjaXR5OjA7Il0pfSxEKCkmJk9iamVjdChDLmMpKFsiaGVpZ2h0OjEwMHZoO21heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDUwcHgpOyJdKSksaG49ZnVuY3Rpb24oZSl7dmFyIGU9ZS5zaXplLHQ9T2JqZWN0KEYudXNlQ29udGV4dCkoVikuc2V0dGluZ3Msbj10LmZhY2Vib29rSWNvbixyPXQuaXNQcm8sdD10LmlzU2luZ2xlO3JldHVybiByJiZuP0guYS5jcmVhdGVFbGVtZW50KG0se2ljb25Vcmw6bixzaXplOmV9KTpILmEuY3JlYXRlRWxlbWVudCgic3ZnIix7c3R5bGU6Im1lZGl1bSI9PT1lJiZ0P3toZWlnaHQ6IjMwcHgiLG1pbldpZHRoOiIzMHB4IixmaWxsOiIjZmZmIixzdHJva2U6Im5vbmUifTp7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsZmlsbDoiI2ZmZiIsc3Ryb2tlOiJub25lIn0sdmlld0JveDoiMCAwIDMyIDMyIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHhtbG5zWGxpbms6Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsifSxILmEuY3JlYXRlRWxlbWVudCgicGF0aCIse2Q6Ik0xNiA2QzkuOTI1IDYgNSAxMC41NiA1IDE2LjE4NWMwIDMuMjA1IDEuNiA2LjA2NSA0LjEgNy45MzJWMjhsMy43NDUtMi4wNTZjMSAuMjc3IDIuMDU4LjQyNiAzLjE1NS40MjYgNi4wNzUgMCAxMS00LjU2IDExLTEwLjE4NUMyNyAxMC41NiAyMi4wNzUgNiAxNiA2em0xLjA5MyAxMy43MTZsLTIuOC0yLjk4OC01LjQ2NyAyLjk4OCA2LjAxMy02LjM4MyAyLjg2OCAyLjk4OCA1LjM5OC0yLjk4Ny02LjAxMyA2LjM4M3oifSkpfTtmdW5jdGlvbiBnbihlLHQpe3JldHVybiBmdW5jdGlvbihlKXtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBlfShlKXx8ZnVuY3Rpb24oZSx0KXt2YXIgbj1udWxsPT1lP251bGw6InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJmVbU3ltYm9sLml0ZXJhdG9yXXx8ZVsiQEBpdGVyYXRvciJdO2lmKG51bGwhPW4pe3ZhciByLG8sYSxpLGw9W10sYz0hMCx1PSExO3RyeXtpZihhPShuPW4uY2FsbChlKSkubmV4dCwwPT09dCl7aWYoT2JqZWN0KG4pIT09bilyZXR1cm47Yz0hMX1lbHNlIGZvcig7IShjPShyPWEuY2FsbChuKSkuZG9uZSkmJihsLnB1c2goci52YWx1ZSksbC5sZW5ndGghPT10KTtjPSEwKTt9Y2F0Y2goZSl7dT0hMCxvPWV9ZmluYWxseXt0cnl7aWYoIWMmJm51bGwhPW4ucmV0dXJuJiYoaT1uLnJldHVybigpLE9iamVjdChpKSE9PWkpKXJldHVybn1maW5hbGx5e2lmKHUpdGhyb3cgb319cmV0dXJuIGx9fShlLHQpfHxmdW5jdGlvbihlLHQpe3ZhciBuO2lmKGUpcmV0dXJuInN0cmluZyI9PXR5cGVvZiBlP2JuKGUsdCk6Ik1hcCI9PT0obj0iT2JqZWN0Ij09PShuPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKS5zbGljZSg4LC0xKSkmJmUuY29uc3RydWN0b3I/ZS5jb25zdHJ1Y3Rvci5uYW1lOm4pfHwiU2V0Ij09PW4/QXJyYXkuZnJvbShlKToiQXJndW1lbnRzIj09PW58fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pP2JuKGUsdCk6dm9pZCAwfShlLHQpfHxmdW5jdGlvbigpe3Rocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9KCl9ZnVuY3Rpb24gYm4oZSx0KXsobnVsbD09dHx8dD5lLmxlbmd0aCkmJih0PWUubGVuZ3RoKTtmb3IodmFyIG49MCxyPW5ldyBBcnJheSh0KTtuPHQ7bisrKXJbbl09ZVtuXTtyZXR1cm4gcn1mdW5jdGlvbiB5bigpe3ZhciBlPShhPU9iamVjdChGLnVzZUNvbnRleHQpKFYpKS5zdGF0ZSx0PShhPWEuc2V0dGluZ3MpLmZhY2Vib29rLG49YS5mYWNlYm9va0xhYmVsLHI9YS5mYWNlYm9va0NvbG9yLG89YS5iZ1N0eWxlLGE9YS5hY3RpdmF0b3JTaXplLGk9KHM9Z24oT2JqZWN0KEYudXNlU3RhdGUpKCExKSwyKSlbMF0sbD1zWzFdO09iamVjdChGLnVzZUVmZmVjdCkoZnVuY3Rpb24oKXtsKCJmYWNlYm9vayI9PT1lLmJ1dHRvblBvcHVwKX0pO3ZhciBjPShzPWduKE9iamVjdChGLnVzZVN0YXRlKSghMCksMikpWzBdLHU9c1sxXSxzPShPYmplY3QoRi51c2VFZmZlY3QpKGZ1bmN0aW9uKCl7ImZhY2Vib29rIj09PWUuYnV0dG9uUG9wdXAmJnUoITApfSxbZS5idXR0b25Qb3B1cF0pLCJodHRwczovL3d3dy5mYWNlYm9vay5jb20vcGx1Z2lucy9wYWdlLnBocD9ocmVmPWh0dHBzJTNBJTJGJTJGd3d3LmZhY2Vib29rLmNvbSUyRiIuY29uY2F0KHQsIiZ0YWJzPW1lc3NhZ2VzJndpZHRoPTMwMiZoZWlnaHQ9MzAwJnNtYWxsX2hlYWRlcj10cnVlJmFkYXB0X2NvbnRhaW5lcl93aWR0aD10cnVlJmhpZGVfY292ZXI9dHJ1ZSZzaG93X2ZhY2VwaWxlPWZhbHNlJmFwcElkIikpO3JldHVybiBILmEuY3JlYXRlRWxlbWVudChOLHtjb2xvcjpyLG1lc3NlbmdlclRpdGxlOm4saWNvbjpILmEuY3JlYXRlRWxlbWVudChobixudWxsKSxlbmFibGVQb3B1cDppLGJnU3R5bGU6byxzaXplOmF9LGMmJkguYS5jcmVhdGVFbGVtZW50KEksbnVsbCksSC5hLmNyZWF0ZUVsZW1lbnQod24se29uTG9hZDpmdW5jdGlvbihlKXt1KCExKX0sc2Nyb2xsaW5nOiJubyIsZnJhbWVCb3JkZXI6IjAiLGFsbG93dHJhbnNwYXJlbmN5OiJ0cnVlIixzcmM6c30pKX1mdW5jdGlvbiB2bihlKXt2YXIgZT1lLnNpemUsdD0ocj1PYmplY3QoRi51c2VDb250ZXh0KShWKS5zZXR0aW5ncykuZ29vZ2xlbWFwSWNvbixuPXIuaXNQcm8scj1yLmlzU2luZ2xlO3JldHVybiBuJiZ0P0guYS5jcmVhdGVFbGVtZW50KG0se2ljb25Vcmw6dCxzaXplOmV9KTpILmEuY3JlYXRlRWxlbWVudCgic3ZnIix7c3R5bGU6Im1lZGl1bSI9PT1lJiZyP3toZWlnaHQ6IjMwcHgiLG1pbldpZHRoOiIzMHB4IixmaWxsOiJyZ2IoMjM0LCA2NywgNTMpIixzdHJva2U6Im5vbmUifTp7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsZmlsbDoicmdiKDIzNCwgNjcsIDUzKSIsc3Ryb2tlOiJub25lIn0sdmVyc2lvbjoiMS4xIix2aWV3Qm94OiIwIDAgMTIwIDEyMCIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIn0sSC5hLmNyZWF0ZUVsZW1lbnQoInBhdGgiLHtkOiJNNjAsNy41QTM0LjU3LDM0LjU3LDAsMCwwLDI1LjQzLDQyLjA3QzI1LjQzLDYzLjIzLDQwLDcyLjgsNTAuMjgsODguOWM3LDExLDUuNTcsMTcuNiw5LjcyLDE3LjZzMi42OS02LjU4LDkuNzItMTcuNkM4MCw3Mi44LDk0LjU3LDYzLjIzLDk0LjU3LDQyLjA3QTM0LjU3LDM0LjU3LDAsMCwwLDYwLDcuNVptMCw0Ny44MUExMy4yNCwxMy4yNCwwLDEsMSw3My4yNCw0Mi4wNywxMy4yNCwxMy4yNCwwLDAsMSw2MCw1NS4zMVoifSkpfXZhciB3bj1DLmQuaWZyYW1lLndpdGhDb25maWcoe2NvbXBvbmVudElkOiJzYy0xOTQyYTQ2LTAifSkoWyJib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjAgMCAxNnB4IDE2cHg7b3ZlcmZsb3c6aGlkZGVuO3dpZHRoOjMwMnB4O2hlaWdodDozMDBweDsiXSkseG49ZnVuY3Rpb24oZSx0KXtyZXR1cm4hIWUmJm51bGw9PT10JiZuZXcgRGF0ZShlKTxuZXcgRGF0ZSgiMjAyMi0wNS0yMCIpfTtmdW5jdGlvbiBrbihlLHQpe3JldHVybiBmdW5jdGlvbihlKXtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBlfShlKXx8ZnVuY3Rpb24oZSx0KXt2YXIgbj1udWxsPT1lP251bGw6InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJmVbU3ltYm9sLml0ZXJhdG9yXXx8ZVsiQEBpdGVyYXRvciJdO2lmKG51bGwhPW4pe3ZhciByLG8sYSxpLGw9W10sYz0hMCx1PSExO3RyeXtpZihhPShuPW4uY2FsbChlKSkubmV4dCwwPT09dCl7aWYoT2JqZWN0KG4pIT09bilyZXR1cm47Yz0hMX1lbHNlIGZvcig7IShjPShyPWEuY2FsbChuKSkuZG9uZSkmJihsLnB1c2goci52YWx1ZSksbC5sZW5ndGghPT10KTtjPSEwKTt9Y2F0Y2goZSl7dT0hMCxvPWV9ZmluYWxseXt0cnl7aWYoIWMmJm51bGwhPW4ucmV0dXJuJiYoaT1uLnJldHVybigpLE9iamVjdChpKSE9PWkpKXJldHVybn1maW5hbGx5e2lmKHUpdGhyb3cgb319cmV0dXJuIGx9fShlLHQpfHxmdW5jdGlvbihlLHQpe3ZhciBuO2lmKGUpcmV0dXJuInN0cmluZyI9PXR5cGVvZiBlP1NuKGUsdCk6Ik1hcCI9PT0obj0iT2JqZWN0Ij09PShuPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKS5zbGljZSg4LC0xKSkmJmUuY29uc3RydWN0b3I/ZS5jb25zdHJ1Y3Rvci5uYW1lOm4pfHwiU2V0Ij09PW4/QXJyYXkuZnJvbShlKToiQXJndW1lbnRzIj09PW58fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pP1NuKGUsdCk6dm9pZCAwfShlLHQpfHxmdW5jdGlvbigpe3Rocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9KCl9ZnVuY3Rpb24gU24oZSx0KXsobnVsbD09dHx8dD5lLmxlbmd0aCkmJih0PWUubGVuZ3RoKTtmb3IodmFyIG49MCxyPW5ldyBBcnJheSh0KTtuPHQ7bisrKXJbbl09ZVtuXTtyZXR1cm4gcn1mdW5jdGlvbiBDbihlKXt2YXIgZT1lLnNpemUsdD0ocj1PYmplY3QoRi51c2VDb250ZXh0KShWKS5zZXR0aW5ncykuaW5zdGFncmFtSWNvbixuPXIuaXNQcm8scj1yLmlzU2luZ2xlO3JldHVybiBuJiZ0P0guYS5jcmVhdGVFbGVtZW50KG0se2ljb25Vcmw6dCxzaXplOmV9KTpILmEuY3JlYXRlRWxlbWVudCgic3ZnIix7c3R5bGU6Im1lZGl1bSI9PT1lJiZyP3toZWlnaHQ6IjMwcHgiLG1pbldpZHRoOiIzMHB4IixmaWxsOiIjZmZmIixzdHJva2U6Im5vbmUifTp7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsZmlsbDoiI2ZmZiIsc3Ryb2tlOiJub25lIn0sdmlld0JveDoiMCAwIDMyIDMyIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHhtbG5zWGxpbms6Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsifSxILmEuY3JlYXRlRWxlbWVudCgicGF0aCIse2Q6Im0yMC45NzM1NSw1bC05Ljg4NTM3LDBjLTMuMzU3MDIsMCAtNi4wODgxOCwyLjczMTI5IC02LjA4ODE4LDYuMDg4MzFsMCw5Ljg4NTM3YzAsMy4zNTcxNSAyLjczMTE2LDYuMDg4MzEgNi4wODgxOCw2LjA4ODMxbDkuODg1MzcsMGMzLjM1NzI4LDAgNi4wODg0NCwtMi43MzEyOSA2LjA4ODQ0LC02LjA4ODMxbDAsLTkuODg1MzdjMC4wMDAxMywtMy4zNTcwMiAtMi43MzExNiwtNi4wODgzMSAtNi4wODg0NCwtNi4wODgzMXptNC4xMzExMywxNS45NzM2OGMwLDIuMjc3ODIgLTEuODUzMTgsNC4xMzA4NyAtNC4xMzEsNC4xMzA4N2wtOS44ODU1LDBjLTIuMjc3NjksMC4wMDAxMyAtNC4xMzA3NCwtMS44NTMwNSAtNC4xMzA3NCwtNC4xMzA4N2wwLC05Ljg4NTM3YzAsLTIuMjc3NjkgMS44NTMwNSwtNC4xMzA4NyA0LjEzMDc0LC00LjEzMDg3bDkuODg1MzcsMGMyLjI3NzgyLDAgNC4xMzEsMS44NTMxOCA0LjEzMSw0LjEzMDg3bDAsOS44ODUzN2wwLjAwMDEzLDB6In0pLEguYS5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZDoibTE2LjAzMSwxMC4zNDY0NGMtMy4xMzQ2NiwwIC01LjY4NDgyLDIuNTUwMTYgLTUuNjg0ODIsNS42ODQ4MmMwLDMuMTM0NTMgMi41NTAxNiw1LjY4NDU2IDUuNjg0ODIsNS42ODQ1NmMzLjEzNDY2LDAgNS42ODQ4MiwtMi41NTAwMyA1LjY4NDgyLC01LjY4NDU2YzAsLTMuMTM0NjYgLTIuNTUwMTYsLTUuNjg0ODIgLTUuNjg0ODIsLTUuNjg0ODJ6bTAsOS40MTE4Yy0yLjA1NTE5LDAgLTMuNzI3MzcsLTEuNjcxOTIgLTMuNzI3MzcsLTMuNzI3MTFjMCwtMi4wNTUzMiAxLjY3MjA1LC0zLjcyNzM3IDMuNzI3MzcsLTMuNzI3MzdjMi4wNTUzMiwwIDMuNzI3MzcsMS42NzIwNSAzLjcyNzM3LDMuNzI3MzdjMCwyLjA1NTE5IC0xLjY3MjE4LDMuNzI3MTEgLTMuNzI3MzcsMy43MjcxMXoifSksSC5hLmNyZWF0ZUVsZW1lbnQoInBhdGgiLHtkOiJtMjEuOTU0MjMsOC42ODY2NmMtMC4zNzcxMywwIC0wLjc0NzYxLDAuMTUyNjggLTEuMDEzOTYsMC40MjAyYy0wLjI2NzY1LDAuMjY2MjEgLTAuNDIxNSwwLjYzNjgyIC0wLjQyMTUsMS4wMTUyNmMwLDAuMzc3MjcgMC4xNTM5OSwwLjc0Nzc0IDAuNDIxNSwxLjAxNTI2YzAuMjY2MjEsMC4yNjYyMSAwLjYzNjgyLDAuNDIwMiAxLjAxMzk2LDAuNDIwMmMwLjM3ODQ0LDAgMC43NDc3NCwtMC4xNTM5OSAxLjAxNTI2LC0wLjQyMDJjMC4yNjc1MiwtMC4yNjc1MiAwLjQyMDIsLTAuNjM4MTMgMC40MjAyLC0xLjAxNTI2YzAsLTAuMzc4NDQgLTAuMTUyNjgsLTAuNzQ5MDUgLTAuNDIwMiwtMS4wMTUyNmMtMC4yNjYyMSwtMC4yNjc1MiAtMC42MzY4MiwtMC40MjAyIC0xLjAxNTI2LC0wLjQyMDJ6In0pKX1mdW5jdGlvbiBFbihlKXt2YXIgZT1lLnNpemUsdD0ocj1PYmplY3QoRi51c2VDb250ZXh0KShWKS5zZXR0aW5ncykubGluZUljb24sbj1yLmlzUHJvLHI9ci5pc1NpbmdsZTtyZXR1cm4gbiYmdD9ILmEuY3JlYXRlRWxlbWVudChtLHtpY29uVXJsOnQsc2l6ZTplfSk6SC5hLmNyZWF0ZUVsZW1lbnQoInN2ZyIse3N0eWxlOiJtZWRpdW0iPT09ZSYmcj97aGVpZ2h0OiIzMHB4IixtaW5XaWR0aDoiMzBweCIsZmlsbDoiI2ZmZiIsc3Ryb2tlOiJub25lIn06e3dpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLGZpbGw6IiNmZmYiLHN0cm9rZToibm9uZSJ9LHZpZXdCb3g6IjAgMCAzMiAzMiIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix4bWxuc1hsaW5rOiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIn0sSC5hLmNyZWF0ZUVsZW1lbnQoInBhdGgiLHtkOiJNMjcgMTQuOTI2QzI3IDEwLjAwNiAyMi4wNjUgNiAxNiA2UzUgMTAuMDA1IDUgMTQuOTI2YzAgNC40MTMgMy45MTMgOC4xMSA5LjIgOC44MDguMzU4LjA3Ny44NDUuMjM2Ljk2OC41NDIuMTEyLjI3OC4wNzMuNzEzLjAzNi45OTVsLS4xNTcuOTQyYy0uMDQ4LjI4LS4yMiAxLjA4OC45NTMuNTkzIDEuMTc0LS40OTQgNi4zMzQtMy43MyA4LjY0Mi02LjM4NkMyNi4yMzYgMTguNjcgMjcgMTYuODk2IDI3IDE0LjkyNXptLTQuMjQ3LS40MWEuNTc3LjU3NyAwIDAgMSAwIDEuMTUzaC0xLjYxdjEuMDNoMS42MWEuNTc4LjU3OCAwIDAgMSAwIDEuMTU1aC0yLjE4NmEuNTc4LjU3OCAwIDAgMS0uNTc3LS41Nzd2LTQuMzdjMC0uMzIuMjYtLjU3OC41NzctLjU3OGgyLjE4NmEuNTc4LjU3OCAwIDAgMSAwIDEuMTUzaC0xLjYxdjEuMDMzaDEuNjF6bS0zLjUzNyAyLjc2MmEuNTc1LjU3NSAwIDAgMS0uNTc4LjU3Ny41OC41OCAwIDAgMS0uNDYtLjIzbC0yLjI0LTMuMDV2Mi43MDNhLjU3Ny41NzcgMCAwIDEtMS4xNTQgMHYtNC4zN2EuNTc3LjU3NyAwIDAgMSAxLjAzOC0uMzQ3bDIuMjQgMy4wNXYtMi43MDNhLjU3OC41NzggMCAwIDEgMS4xNTQgMHY0LjM3em0tNS4yNiAwYS41NzcuNTc3IDAgMCAxLTEuMTU0IDB2LTQuMzdhLjU3Ny41NzcgMCAwIDEgMS4xNTMgMHY0LjM3em0tMi4yNjIuNTc3SDkuNTA4YS41NzcuNTc3IDAgMCAxLS41NzYtLjU3N3YtNC4zN2EuNTc3LjU3NyAwIDAgMSAxLjE1MyAwVjE2LjdoMS42MWEuNTc3LjU3NyAwIDAgMSAwIDEuMTU1eiJ9KSl9dmFyIE9uPUMuZC5pZnJhbWUud2l0aENvbmZpZyh7Y29tcG9uZW50SWQ6InNjLTE3dGI2d3YtMCJ9KShbImhlaWdodDo0MDBweDttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSAxMDBweCk7Ym9yZGVyOm5vbmU7b3ZlcmZsb3c6aGlkZGVuO3RyYW5zaXRpb246b3BhY2l0eSAuNXM7d2lkdGg6MTAwJTsiLCI7IiwiIl0sZnVuY3Rpb24oZSl7cmV0dXJuIGUuaXNMb2FkaW5nJiZPYmplY3QoQy5jKShbIm9wYWNpdHk6MDsiXSl9LEQoKT9PYmplY3QoQy5jKShbImhlaWdodDoxMDB2aDttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSA1MHB4KTtib3JkZXItcmFkaXVzOjA7Il0pOk9iamVjdChDLmMpKFsiIiwiIl0sZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ29vZ2xlbWFwQ3VzdG9tTWVzc2FnZT9PYmplY3QoQy5jKShbImJvcmRlci1yYWRpdXM6MDsiXSk6T2JqZWN0KEMuYykoWyJib3JkZXItcmFkaXVzOjAgMCA5cHggOXB4OyJdKX0pKTtmdW5jdGlvbiBqbihlLHQpe3JldHVybiBmdW5jdGlvbihlKXtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBlfShlKXx8ZnVuY3Rpb24oZSx0KXt2YXIgbj1udWxsPT1lP251bGw6InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJmVbU3ltYm9sLml0ZXJhdG9yXXx8ZVsiQEBpdGVyYXRvciJdO2lmKG51bGwhPW4pe3ZhciByLG8sYSxpLGw9W10sYz0hMCx1PSExO3RyeXtpZihhPShuPW4uY2FsbChlKSkubmV4dCwwPT09dCl7aWYoT2JqZWN0KG4pIT09bilyZXR1cm47Yz0hMX1lbHNlIGZvcig7IShjPShyPWEuY2FsbChuKSkuZG9uZSkmJihsLnB1c2goci52YWx1ZSksbC5sZW5ndGghPT10KTtjPSEwKTt9Y2F0Y2goZSl7dT0hMCxvPWV9ZmluYWxseXt0cnl7aWYoIWMmJm51bGwhPW4ucmV0dXJuJiYoaT1uLnJldHVybigpLE9iamVjdChpKSE9PWkpKXJldHVybn1maW5hbGx5e2lmKHUpdGhyb3cgb319cmV0dXJuIGx9fShlLHQpfHxmdW5jdGlvbihlLHQpe3ZhciBuO2lmKGUpcmV0dXJuInN0cmluZyI9PXR5cGVvZiBlP0FuKGUsdCk6Ik1hcCI9PT0obj0iT2JqZWN0Ij09PShuPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKS5zbGljZSg4LC0xKSkmJmUuY29uc3RydWN0b3I/ZS5jb25zdHJ1Y3Rvci5uYW1lOm4pfHwiU2V0Ij09PW4/QXJyYXkuZnJvbShlKToiQXJndW1lbnRzIj09PW58fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pP0FuKGUsdCk6dm9pZCAwfShlLHQpfHxmdW5jdGlvbigpe3Rocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9KCl9ZnVuY3Rpb24gQW4oZSx0KXsobnVsbD09dHx8dD5lLmxlbmd0aCkmJih0PWUubGVuZ3RoKTtmb3IodmFyIG49MCxyPW5ldyBBcnJheSh0KTtuPHQ7bisrKXJbbl09ZVtuXTtyZXR1cm4gcn1mdW5jdGlvbiBQbihlKXt2YXIgZT1lLnNpemUsdD0ocj1PYmplY3QoRi51c2VDb250ZXh0KShWKS5zZXR0aW5ncykubGlua0ljb24sbj1yLmlzUHJvLHI9ci5pc1NpbmdsZTtyZXR1cm4gbiYmdD9ILmEuY3JlYXRlRWxlbWVudChtLHtpY29uVXJsOnQsc2l6ZTplfSk6SC5hLmNyZWF0ZUVsZW1lbnQoInN2ZyIse3N0eWxlOiJtZWRpdW0iPT09ZSYmcj97aGVpZ2h0OiIzMHB4IixtaW5XaWR0aDoiMzBweCIsZmlsbDoiI2ZmZiIsc3Ryb2tlOiJub25lIn06e3dpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLGZpbGw6IiNmZmYiLHN0cm9rZToibm9uZSJ9LHZpZXdCb3g6Ii00IC00IDMyIDMyIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHhtbG5zWGxpbms6Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLHg6IjBweCIseToiMHB4In0sSC5hLmNyZWF0ZUVsZW1lbnQoInBhdGgiLHtkOiJNNywyNWEyLjM4LDIuMzgsMCwwLDEtMS42OC0uN0wuNywxOS43M2EyLjM4LDIuMzgsMCwwLDEsMC0zLjM3bDUuMjItNS4yMmEyLjM3LDIuMzcsMCwwLDEsMS42OS0uN2gwYTIuMzUsMi4zNSwwLDAsMSwxLjY4LjcxbC45Mi45Mkw4LjgsMTMuNDhsLS45My0uOTNjLS4xLS4xLS4yMS0uMTQtLjI3LS4xMmEuMzkuMzksMCwwLDAtLjI3LjEyTDIuMTEsMTcuNzhhLjM5LjM5LDAsMCwwLDAsLjU0bDQuNTcsNC41N2EuMzkuMzksMCwwLDAsLjU0LDBsNS4yMi01LjIyYS4zOS4zOSwwLDAsMCwuMTItLjI4LjM2LjM2LDAsMCwwLS4xMS0uMjZsLS45NC0uOTQsMS40MS0xLjQyLjkzLjkzYTIuMzQsMi4zNCwwLDAsMSwuNywxLjY3LDIuMzcsMi4zNywwLDAsMS0uNywxLjdMOC42NCwyNC4zQTIuMzgsMi4zOCwwLDAsMSw3LDI1Wm0xLjM2LTYuOUw2LjksMTYuNjksMTYuNjksNi45LDE4LjEsOC4zMVptOS4wOC0zLjU0aDBhMi4zNSwyLjM1LDAsMCwxLTEuNjgtLjcxbC0uOTItLjkyLDEuNDItMS40MS45My45M2EuMzcuMzcsMCwwLDAsLjI3LjEyLjM5LjM5LDAsMCwwLC4yNy0uMTJsNS4yMi01LjIyYS4zOS4zOSwwLDAsMCwwLS41NEwxOC4zMiwyLjExYS4zOS4zOSwwLDAsMC0uNTQsMEwxMi41Niw3LjMzYS4zOS4zOSwwLDAsMC0uMTIuMjguMzYuMzYsMCwwLDAsLjExLjI2bC45NC45NC0xLjQxLDEuNDItLjkzLS45M2EyLjM0LDIuMzQsMCwwLDEtLjctMS42NywyLjM3LDIuMzcsMCwwLDEsLjctMS43TDE2LjM2LjdhMi4zOSwyLjM5LDAsMCwxLDMuMzcsMEwyNC4zLDUuMjdhMi4zOCwyLjM4LDAsMCwxLDAsMy4zN2wtNS4yMiw1LjIyQTIuMzcsMi4zNywwLDAsMSwxNy4zOSwxNC41NloifSkpfWZ1bmN0aW9uIEluKGUpe3ZhciBlPWUuc2l6ZSx0PShyPU9iamVjdChGLnVzZUNvbnRleHQpKFYpLnNldHRpbmdzKS5saW5rZWRpbkljb24sbj1yLmlzUHJvLHI9ci5pc1NpbmdsZTtyZXR1cm4gbiYmdD9ILmEuY3JlYXRlRWxlbWVudChtLHtpY29uVXJsOnQsc2l6ZTplfSk6SC5hLmNyZWF0ZUVsZW1lbnQoInN2ZyIse3N0eWxlOiJtZWRpdW0iPT09ZSYmcj97aGVpZ2h0OiIzMHB4IixtaW5XaWR0aDoiMzBweCIsZmlsbDoiI2ZmZiIsc3Ryb2tlOiJub25lIixmaWxsUnVsZToiZXZlbm9kZCJ9Ont3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIixmaWxsOiIjZmZmIixzdHJva2U6Im5vbmUiLGZpbGxSdWxlOiJldmVub2RkIn0sdmVyc2lvbjoiMS4xIix2aWV3Qm94OiIwIDAgNzIgNzIiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyJ9LEguYS5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZDoiTTU3LDU1SDQ4Ljc4VjQxYzAtMy44NC0xLjQ2LTYtNC40OS02LTMuMzEsMC01LDIuMjMtNSw2VjU1SDMxLjMzVjI4LjMzaDcuOTJ2My42YTkuMzIsOS4zMiwwLDAsMSw4LTQuNDFDNTMsMjcuNTIsNTcsMzEsNTcsMzguMTJaTTIxLjg4LDI0Ljg0YTQuOTIsNC45MiwwLDEsMSw0Ljg5LTQuOTJBNC45LDQuOSwwLDAsMSwyMS44OCwyNC44NFpNMTcuNzksNTVoOC4yNlYyOC4zM0gxNy43OVoifSkpfWZ1bmN0aW9uIF9uKGUpe3ZhciBlPWUuc2l6ZSx0PShyPU9iamVjdChGLnVzZUNvbnRleHQpKFYpLnNldHRpbmdzKS5za3lwZUljb24sbj1yLmlzUHJvLHI9ci5pc1NpbmdsZTtyZXR1cm4gbiYmdD9ILmEuY3JlYXRlRWxlbWVudChtLHtpY29uVXJsOnQsc2l6ZTplfSk6SC5hLmNyZWF0ZUVsZW1lbnQoInN2ZyIse3N0eWxlOiJtZWRpdW0iPT09ZSYmcj97aGVpZ2h0OiIzMHB4IixtaW5XaWR0aDoiMzBweCIsZmlsbDoiI2ZmZiIsc3Ryb2tlOiJub25lIn06e3dpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLGZpbGw6IiNmZmYiLHN0cm9rZToibm9uZSJ9LHZlcnNpb246IjEuMSIsdmlld0JveDoiMCAwIDUxMiA1MTIiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyJ9LEguYS5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZDoiTTQzNi45LDI5Ni44YzIuOC0xMi41LDQuMi0yNS40LDQuMi0zOC43YzAtOTkuNy04Mi0xODAuNi0xODMuMi0xODAuNmMtMTAuNywwLTIxLjEsMC45LTMxLjMsMi42ICBDMjEwLjMsNjkuOSwxOTEsNjQsMTcwLjIsNjRDMTExLjYsNjQsNjQsMTEwLjksNjQsMTY4LjdjMCwxOS40LDUuMywzNy41LDE0LjYsNTNjLTIuNCwxMS43LTMuNywyMy45LTMuNywzNi4zICBjMCw5OS44LDgyLDE4MC42LDE4My4xLDE4MC42YzExLjUsMCwyMi43LTEsMzMuNS0zYzE1LDcuOSwzMi4xLDEyLjQsNTAuMiwxMi40YzU4LjcsMCwxMDYuMi00Ni45LDEwNi4yLTEwNC43ICBDNDQ4LDMyNi42LDQ0NCwzMTAuOCw0MzYuOSwyOTYuOHogTTM1MS45LDM0NC4zYy04LjUsMTEuOC0yMSwyMS4yLTM3LjIsMjcuOGMtMTYuMSw2LjYtMzUuMyw5LjktNTcuMyw5LjkgIGMtMjYuMywwLTQ4LjMtNC42LTY1LjYtMTMuNmMtMTIuMy02LjYtMjIuNC0xNS40LTMwLjItMjYuNGMtNy44LTExLTExLjctMjItMTEuNy0zMi42YzAtNi42LDIuNi0xMi4zLDcuNi0xNy4xYzUtNC42LDExLjUtNywxOS4xLTcgIGM2LjMsMCwxMS43LDEuOCwxNi4xLDUuNWM0LjIsMy41LDcuOCw4LjcsMTAuNywxNS41YzMuMyw3LjMsNi44LDEzLjUsMTAuNiwxOC40YzMuNiw0LjcsOC43LDguNiwxNS4zLDExLjcgIGM2LjcsMy4xLDE1LjYsNC43LDI2LjYsNC43YzE1LjEsMCwyNy41LTMuMiwzNi44LTkuNWM5LjItNi4xLDEzLjYtMTMuNSwxMy42LTIyLjVjMC03LjEtMi4zLTEyLjctNy4xLTE3LjEgIGMtNS00LjYtMTEuNS04LjItMTkuNi0xMC42Yy04LjMtMi42LTE5LjYtNS4zLTMzLjYtOC4yYy0xOS00LTM1LjEtOC44LTQ4LTE0LjJjLTEzLjEtNS41LTIzLjctMTMuMi0zMS41LTIyLjcgIGMtNy45LTkuNy0xMS44LTIxLjktMTEuOC0zNi4yYzAtMTMuNyw0LjItMjUuOSwxMi40LTM2LjVjOC4yLTEwLjUsMjAuMS0xOC43LDM1LjYtMjQuM2MxNS4yLTUuNiwzMy4zLTguNCw1My43LTguNCAgYzE2LjQsMCwzMC43LDEuOSw0Mi43LDUuNWMxMi4xLDMuNywyMi4yLDguNywzMC4zLDE0LjljOCw2LjIsMTQsMTIuOCwxNy44LDE5LjdjMy44LDcsNS43LDEzLjksNS43LDIwLjZjMCw2LjQtMi41LDEyLjMtNy41LDE3LjQgIGMtNSw1LjEtMTEuMyw3LjgtMTguOCw3LjhjLTYuOCwwLTEyLjEtMS42LTE1LjgtNC44Yy0zLjQtMy03LTcuNi0xMC45LTE0LjNjLTQuNi04LjUtMTAuMS0xNS4zLTE2LjQtMjAuMWMtNi4yLTQuNi0xNi40LTctMzAuNi03ICBjLTEzLjEsMC0yMy44LDIuNi0zMS43LDcuN2MtNy42LDQuOS0xMS4zLDEwLjYtMTEuMywxNy4zYzAsNC4xLDEuMiw3LjUsMy43LDEwLjVjMi42LDMuMSw2LjIsNS45LDEwLjksOC4yICBjNC44LDIuNCw5LjgsNC4zLDE0LjcsNS42YzUuMSwxLjQsMTMuNiwzLjUsMjUuMyw2LjFjMTQuOSwzLjEsMjguNSw2LjcsNDAuNSwxMC40YzEyLjIsMy45LDIyLjcsOC42LDMxLjMsMTQuMSAgYzguOCw1LjYsMTUuNywxMi45LDIwLjcsMjEuNWM0LjksOC42LDcuNCwxOS40LDcuNCwzMS44QzM2NC44LDMxOC45LDM2MC41LDMzMi41LDM1MS45LDM0NC4zeiJ9KSl9ZnVuY3Rpb24gem4oZSl7dmFyIGU9ZS5zaXplLHQ9KHI9T2JqZWN0KEYudXNlQ29udGV4dCkoVikuc2V0dGluZ3MpLnNsYWNrSWNvbixuPXIuaXNQcm8scj1yLmlzU2luZ2xlO3JldHVybiBuJiZ0P0guYS5jcmVhdGVFbGVtZW50KG0se2ljb25Vcmw6dCxzaXplOmV9KTpILmEuY3JlYXRlRWxlbWVudCgic3ZnIix7c3R5bGU6Im1lZGl1bSI9PT1lJiZyP3toZWlnaHQ6IjMwcHgiLG1pbldpZHRoOiIzMHB4IixmaWxsOiIjZmZmIixzdHJva2U6Im5vbmUifTp7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsZmlsbDoiI2ZmZiIsc3Ryb2tlOiJub25lIn0sdmVyc2lvbjoiMS4xIix2aWV3Qm94OiIwIDAgMTY4IDE2OCIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIn0sSC5hLmNyZWF0ZUVsZW1lbnQoInBhdGgiLHtkOiJNNDcuMiwxMDBBMTMuMiwxMy4yLDAsMSwxLDM0LDg2LjhINDcuMlptNi42LDBhMTMuMiwxMy4yLDAsMCwxLDI2LjQsMHYzM2ExMy4yLDEzLjIsMCwwLDEtMjYuNCwwWiIsZmlsbDoiI2UwMWU1YSJ9KSxILmEuY3JlYXRlRWxlbWVudCgicGF0aCIse2Q6Ik02Nyw0N0ExMy4yLDEzLjIsMCwxLDEsODAuMiwzMy44VjQ3Wm0wLDYuN2ExMy4yLDEzLjIsMCwxLDEsMCwyNi40SDMzLjlhMTMuMiwxMy4yLDAsMCwxLDAtMjYuNFoiLGZpbGw6IiMzNmM1ZjAifSksSC5hLmNyZWF0ZUVsZW1lbnQoInBhdGgiLHtkOiJNMTE5LjksNjYuOWExMy4yLDEzLjIsMCwxLDEsMTMuMiwxMy4ySDExOS45Wm0tNi42LDBhMTMuMiwxMy4yLDAsMCwxLTI2LjQsMFYzMy44YTEzLjIsMTMuMiwwLDAsMSwyNi40LDBaIixmaWxsOiIjMmViNjdkIn0pLEguYS5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZDoiTTEwMC4xLDExOS44QTEzLjIsMTMuMiwwLDEsMSw4Ni45LDEzM1YxMTkuOFptMC02LjZhMTMuMiwxMy4yLDAsMSwxLDAtMjYuNGgzMy4xYTEzLjIsMTMuMiwwLDEsMSwwLDI2LjRaIixmaWxsOiIjZWNiMjJlIn0pKX1mdW5jdGlvbiBUbihlKXt2YXIgZT1lLnNpemUsdD0ocj1PYmplY3QoRi51c2VDb250ZXh0KShWKS5zZXR0aW5ncykuc21zSWNvbixuPXIuaXNQcm8scj1yLmlzU2luZ2xlO3JldHVybiBuJiZ0P0guYS5jcmVhdGVFbGVtZW50KG0se2ljb25Vcmw6dCxzaXplOmV9KTpILmEuY3JlYXRlRWxlbWVudCgic3ZnIix7dmlld0JveDoiMCAwIDMyIDMyIixzdHlsZToibWVkaXVtIj09PWUmJnI/e2hlaWdodDoiMzBweCIsbWluV2lkdGg6IjMwcHgiLGZpbGw6IiNmZmYiLHN0cm9rZToibm9uZSJ9Ont3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIixmaWxsOiIjZmZmIixzdHJva2U6Im5vbmUifSx4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHhtbG5zWGxpbms6Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsifSxILmEuY3JlYXRlRWxlbWVudCgicGF0aCIse2Q6Ik0yMSAyM2g0LjAxYzEuMSAwIDEuOTktLjg5MyAxLjk5LTEuOTk0VjguOTk0QzI3IDcuODk0IDI2LjExIDcgMjUuMDEgN0g2Ljk5QzUuODkgNyA1IDcuODkzIDUgOC45OTR2MTIuMDEyQzUgMjIuMTA2IDUuODkgMjMgNi45OSAyM2g5LjU2NmwzLjExNCAzLjUwNGMuNzMuODIgMS4zMy42MDIgMS4zMy0uNVYyM3pNMTAuNTE1IDEyLjE2NWMuMzYuMTEuNjgyLjI2Ljk2Mi40NDZsLS40MTMuODhhMy44ODIgMy44ODIgMCAwIDAtLjkxNS0uNDE2IDIuOSAyLjkgMCAwIDAtLjgyLS4xMzZjLS4zIDAtLjUzNi4wNTQtLjcwNy4xNmEuNTEyLjUxMiAwIDAgMC0uMjU2LjQ2YzAgLjE3My4wNTUuMzIuMTY3LjQzNy4xMS4xMi4yNTIuMjE0LjQyLjI4NS4xNy4wNzIuNDA4LjE1Mi43MTQuMjQuNC4xMi43MjUuMjM2Ljk3Ny4zNS4yNTIuMTE3LjQ2Ny4yOS42NDQuNTE4LjE3Ny4yMjguMjY2LjUyNi4yNjYuODkyIDAgLjM0NC0uMDk1LjY0Ny0uMjg1LjkwNy0uMTkuMjYtLjQ1My40Ni0uNzkuNi0uMzM4LjE0LS43MjQuMjEyLTEuMTYuMjEyLS40NSAwLS44ODgtLjA4Ni0xLjMxLS4yNTVhMy42NzMgMy42NzMgMCAwIDEtMS4xMS0uNjg0bC40MzQtLjg2M2MuMy4yNzYuNjI4LjQ5Ljk4NS42NC4zNTYuMTUuNjk1LjIyNCAxLjAxNy4yMjQuMzUgMCAuNjIyLS4wNjMuODE2LS4xOWEuNTk4LjU5OCAwIDAgMCAuMjkyLS41MjguNjE4LjYxOCAwIDAgMC0uMTc0LS40NSAxLjIxMiAxLjIxMiAwIDAgMC0uNDMtLjI4IDkuNjUgOS42NSAwIDAgMC0uNzEzLS4yMzcgNy40MTQgNy40MTQgMCAwIDEtLjk3Ny0uMzQ3IDEuNzUgMS43NSAwIDAgMS0uNjM3LS40OThjLS4xNzctLjIyLS4yNjYtLjUxLS4yNjYtLjg3NyAwLS4zMzQuMDktLjYyNS4yNy0uODc0LjE4LS4yNS40MzQtLjQ0My43Ni0uNTc4LjMyNC0uMTM1LjctLjIwMiAxLjEyNy0uMjAyLjM4IDAgLjc1LjA1NSAxLjExLjE2NXptNy43MzIgNS44bC0uMDEtNC40MjQtMS44NyAzLjgwNmgtLjY1M2wtMS44NjctMy44MDV2NC40MjZoLS45NDJWMTIuMDRoMS4xODZsMS45NTUgMy45MzggMS45NDUtMy45MzdoMS4xNzh2NS45MjZoLS45MnptNS43MjgtNS44Yy4zNi4xMS42OC4yNi45NjIuNDQ2bC0uNDEzLjg4YTMuODgyIDMuODgyIDAgMCAwLS45MTUtLjQxNiAyLjkgMi45IDAgMCAwLS44Mi0uMTM2Yy0uMyAwLS41MzcuMDU0LS43MDcuMTZhLjUxMi41MTIgMCAwIDAtLjI1Ny40NmMwIC4xNzMuMDU2LjMyLjE2OC40MzcuMTEuMTIuMjUyLjIxNC40Mi4yODUuMTcuMDcyLjQwOC4xNTIuNzE0LjI0LjQuMTIuNzI1LjIzNi45NzcuMzUuMjUyLjExNy40NjcuMjkuNjQ0LjUxOC4xNzcuMjI4LjI2Ni41MjYuMjY2Ljg5MiAwIC4zNDQtLjA5NS42NDctLjI4NS45MDctLjE5LjI2LS40NTMuNDYtLjc5LjYtLjMzOC4xNC0uNzI0LjIxMi0xLjE2LjIxMi0uNDUgMC0uODg4LS4wODYtMS4zMS0uMjU1YTMuNjczIDMuNjczIDAgMCAxLTEuMTEtLjY4NGwuNDM0LS44NjNjLjMuMjc2LjYyOC40OS45ODUuNjQuMzU2LjE1LjY5NS4yMjQgMS4wMTcuMjI0LjM1IDAgLjYyMi0uMDYzLjgxNi0uMTlhLjU5OC41OTggMCAwIDAgLjI5LS41MjguNjE4LjYxOCAwIDAgMC0uMTcyLS40NSAxLjIxMiAxLjIxMiAwIDAgMC0uNDMtLjI4IDkuNjUgOS42NSAwIDAgMC0uNzEzLS4yMzcgNy40MTQgNy40MTQgMCAwIDEtLjk3Ny0uMzQ3IDEuNzUgMS43NSAwIDAgMS0uNjM3LS40OThjLS4xNzctLjIyLS4yNjYtLjUxLS4yNjYtLjg3NyAwLS4zMzQuMDktLjYyNS4yNy0uODc0LjE4LS4yNS40MzQtLjQ0My43Ni0uNTc4LjMyNC0uMTM1LjctLjIwMiAxLjEyNi0uMjAyLjM4IDAgLjc1LjA1NSAxLjExMi4xNjV6In0pKX12YXIgTG49Qy5kLmRpdi53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2MtMWNnd21tYy0wIn0pKFsibWFyZ2luOjI1cHggMjBweDsiXSk7ZnVuY3Rpb24gTW4oZSx0KXtyZXR1cm4gZnVuY3Rpb24oZSl7aWYoQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gZX0oZSl8fGZ1bmN0aW9uKGUsdCl7dmFyIG49bnVsbD09ZT9udWxsOiJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZlW1N5bWJvbC5pdGVyYXRvcl18fGVbIkBAaXRlcmF0b3IiXTtpZihudWxsIT1uKXt2YXIgcixvLGEsaSxsPVtdLGM9ITAsdT0hMTt0cnl7aWYoYT0obj1uLmNhbGwoZSkpLm5leHQsMD09PXQpe2lmKE9iamVjdChuKSE9PW4pcmV0dXJuO2M9ITF9ZWxzZSBmb3IoOyEoYz0ocj1hLmNhbGwobikpLmRvbmUpJiYobC5wdXNoKHIudmFsdWUpLGwubGVuZ3RoIT09dCk7Yz0hMCk7fWNhdGNoKGUpe3U9ITAsbz1lfWZpbmFsbHl7dHJ5e2lmKCFjJiZudWxsIT1uLnJldHVybiYmKGk9bi5yZXR1cm4oKSxPYmplY3QoaSkhPT1pKSlyZXR1cm59ZmluYWxseXtpZih1KXRocm93IG99fXJldHVybiBsfX0oZSx0KXx8ZnVuY3Rpb24oZSx0KXt2YXIgbjtpZihlKXJldHVybiJzdHJpbmciPT10eXBlb2YgZT9SbihlLHQpOiJNYXAiPT09KG49Ik9iamVjdCI9PT0obj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkuc2xpY2UoOCwtMSkpJiZlLmNvbnN0cnVjdG9yP2UuY29uc3RydWN0b3IubmFtZTpuKXx8IlNldCI9PT1uP0FycmF5LmZyb20oZSk6IkFyZ3VtZW50cyI9PT1ufHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKT9SbihlLHQpOnZvaWQgMH0oZSx0KXx8ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gZGVzdHJ1Y3R1cmUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLiIpfSgpfWZ1bmN0aW9uIFJuKGUsdCl7KG51bGw9PXR8fHQ+ZS5sZW5ndGgpJiYodD1lLmxlbmd0aCk7Zm9yKHZhciBuPTAscj1uZXcgQXJyYXkodCk7bjx0O24rKylyW25dPWVbbl07cmV0dXJuIHJ9ZnVuY3Rpb24gTm4oZSl7dmFyIGU9ZS5zaXplLHQ9KHI9T2JqZWN0KEYudXNlQ29udGV4dCkoVikuc2V0dGluZ3MpLnNuYXBjaGF0SWNvbixuPXIuaXNQcm8scj1yLmlzU2luZ2xlO3JldHVybiBuJiZ0P0guYS5jcmVhdGVFbGVtZW50KG0se2ljb25Vcmw6dCxzaXplOmV9KTpILmEuY3JlYXRlRWxlbWVudCgic3ZnIix7c3R5bGU6Im1lZGl1bSI9PT1lJiZyP3toZWlnaHQ6IjMwcHgiLG1pbldpZHRoOiIzMHB4IixmaWxsOiIjZmZmIixzdHJva2U6Im5vbmUifTp7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsZmlsbDoiI2ZmZiIsc3Ryb2tlOiJub25lIn0sdmlld0JveDoiMCAwIDUxMiA1MTIiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIseG1sbnNYbGluazoiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayJ9LEguYS5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZDoibSAyNTQuMjMxOTIsNjcuNzQ1NjU2IGMgLTI0LjE1NTMsMC4xNjUzNiAtNDkuMTMzMyw2LjU3NjE2IC02OC43MTg4LDIyLjA2MjUgLTE0LjY2NywxMS41Nzc2NTQgLTI2LjE5OTE2LDI2LjkyMTE2NCAtMzMuNDY4NzEsNDQuMDYyNTA0IC0wLjAxMDksMC4wNDE1IC0wLjAyMTMsMC4wODMyIC0wLjAzMTIsMC4xMjUgLTYuOTIzNTgsMTcuNjYyMDYgLTYuMjgyNDEsMzYuNDU5MDggLTUuMzQzNzUsNTMuODc1IDQuOWUtNCwwLjAxMDYgLTQuOWUtNCwwLjAyMDcgMCwwLjAzMTIgMC41NzA0NiwxMi4yNDExMSAxLjkxOTIsMjQuMDkxODIgMC43ODEyNSwzNS4zNDM3NSAtMC4wOTE5LDAuNDM4MDIgLTAuMDk2LDAuNTQ3NzYgLTAuMTU2MjUsMC44MTI1IC01LjQ0NTE2LDAuOTg3MDEgLTExLjM3MiwwLjYyOTAyIC0xNy4yNSwtMC41IC0wLjAzMTIsLTIuOWUtNCAtMC4wNjI1LC0yLjllLTQgLTAuMDkzNywwIC00LjAyNjM5LC0wLjY5MzA2IC04LjMyNzk3LC0yLjM1MjI5IC0xMy4xODc1LC0zLjcxODc1IC0wLjA4MjgsLTAuMDIzIC0wLjE2NjE1LC0wLjA0MzggLTAuMjUsLTAuMDYyNSAtNC43MTYzMywtMS4wNzgyNCAtOS4zNTI0MiwwLjI5NTAxIC0xMi45MDYyNSwyLjkzNzUgLTAuMDQ1NywwLjAyOTYgLTAuMTA5ODUsMC4wNjM1IC0wLjE1NjI1LDAuMDkzNyAtMC4wNzEsMC4wNTQgLTAuMTQ4NjUsMC4xMDEyNCAtMC4yMTg3NSwwLjE1NjI1IC0yLjg5MjY1LDEuOTE1NiAtNi44NTQ5NzgsNS4xMzE5NyAtNy4wNjI0OTgsMTAuNzE4NzUgLTAuMDA5LDAuMzY2NTUgMC4wMjI1LDAuNzM0MDcgMC4wOTM3LDEuMDkzNzUgMC42MjQ2NCwzLjI4Mjk5IDIuNjQ0MDcsNS42ODM0MyA0LjQzNzQ5OCw3LjI1IDEuNzkzNDIsMS41NjY1NyAzLjQ4Nzc4LDIuNjAxMTkgNC41MzEyNSwzLjQwNjI1IDAuMDgxNCwwLjA2NTEgMC4xNjQ3NCwwLjEyNzYyIDAuMjUsMC4xODc1IDguNzk2OTUsNS45MzUxNCAxOC41MzI4MSw4LjU0Mjk5IDI3LDExLjg0Mzc1IDAuMDA5LDAuMDAzIDAuMDIyNSwtMC4wMDMgMC4wMzEyLDAgNS44NjIwNSwyLjU5NzMxIDEwLjk1NTkyLDYuNjM2MDkgMTIuMTI1LDExLjcxODc1IDEuNDU5NzcsNi40MjcxMyAtMS4yNDY4LDEzLjgwNTU4IC00Ljc4MTI1LDIwLjk2ODc1IC0wLjAwNCwwLjAwOSAwLjAwNCwwLjAyMjYgMCwwLjAzMTIgLTkuNTMzMzQsMTguOTg1NjUgLTIzLjY5MDg5LDM1LjQ5NjA5IC00MS4wOTM3NDgsNDcuNTkzNzUgLTkuMTIzNzQsNi4yOTUxMSAtMTkuNDE2NTI1LDEwLjk5NDUgLTMwLjE1NjMwNSwxMy45MDY0IC0wLjE0ODE0OSwwLjA0NTMgLTAuMjk0MTkyLDAuMDk3NCAtMC40Mzc1LDAuMTU2MjUgLTIuMjAzNzQsMC44Mjk4NiAtNy40MjkyNCwxLjM3MjQ3IC0xMC43MTg3NSw2LjM3NSAtMC4yMzM3OTMsMC4zNDkzNyAtMC40MjMyODIsMC43MjgzNSAtMC41NjI1LDEuMTI1IC0xLjEwOTIzLDMuMjE2OCAwLjE1NjIsNi42NzA1OCAxLjcxODc1LDguNTYyNSAxLjQ5MjEsMS44MDY2MiAzLjE1NjY3LDIuODU3ODYgNC41OTM3NSwzLjYyNSAwLjA3MzUsMC4wNDMgMC4xNDUxLDAuMDgyNCAwLjIxODc1LDAuMTI1IDkuMDQyNzYsNS4yMjYwOCAxOC45MTg1OTUsNy40OTE1NyAyNy45Mzc1MDUsOS44MTI1IDAuMDQxNSwwLjAxMDkgMC4wODMyLDAuMDIxMyAwLjEyNSwwLjAzMTIgNi40OTgxLDEuNDc5NzcgMTIuNDg4NzM4LDIuMjcwMjkgMTcuMzc0OTk4LDQuMzc1IDAuMjM5MjMsMC40MDIzNCAwLjcyODUyLDIuMDU4MzIgMS44NzUsNC44MTI1IDEuNjAxNTEsNC45OTk2OCAyLjMyOTUyLDEwLjkwMzcgNC4xODc1LDE3LjA5Mzc1IDAuNTA4MDQsMS43MTM0MiAyLjAwMjI1LDMuMDk1NTYgMy43NSwzLjQ2ODc1IDQuMTA0LDAuODcxOTMgNi4zNjExOSwtMC41MzYxNyA2LjcxODc1LC0wLjU2MjUgMC4xNjc1OCwtMC4wMTI0IDAuMzM0NTIsLTAuMDMzMyAwLjUsLTAuMDYyNSAxNS4xMDAxOSwtMi42NDY4IDMwLjE2ODM1LC00Ljk5MzgzIDQzLjk5OTk2LC0xLjUgMC4wMSwwLjAwMyAwLjAyMSwtMC4wMDMgMC4wMzEsMCAxNC41MTYsMy44MjM2MyAyNy4xMzA5LDEzLjkxNDQ2IDQxLjM0MzgsMjIuNTkzNzUgMC4wMjUsMC4wMTU0IDAuMDM3LDAuMDQ3MSAwLjA2MiwwLjA2MjUgbCAwLC0wLjAzMTIgYyA5LjQzNDIsNS45ODY0NiAyMC4zMzkzLDExLjg0ODUgMzIuOTM3NSwxMi4yODEyNSBsIDAsMC4wMzEyIGMgMC4wNDIsMTBlLTQgMC4wODMsLTEwZS00IDAuMTI1LDAgOS41MTU1LDAuNTM4OTYgMTguODU1LC0wLjA2NTcgMjcuOTY4NywtMC42ODc1IDAuMDUyMSw4LjFlLTQgMC4xMDQyLDguMWUtNCAwLjE1NjMsMCA3LjgwMzgsLTAuNzczMDIgMTUuMzgwNywtMy4zNzAwMiAyMiwtNy42MjUgMC4wOTQsLTAuMDUzNSAwLjE4NzYsLTAuMTAyNTggMC4yODEyLC0wLjE1NjI1IDE0Ljk0NTIsLTguNTYzNDQgMjguMjI1OCwtMTguODgyMzQgNDIuNzgxMywtMjUuMzQzNzUgMC4wMjEsLTAuMDA4IDAuMDQyLC0wLjAyMzcgMC4wNjIsLTAuMDMxMiA0LjcyMDgsLTEuNzExNTcgMTAuNjE4OSwtMS42MTUwNiAxNy4xODc1LC0yLjA2MjUgMC4wNjIsLTAuMDAyIDAuMTI1LDAuMDAyIDAuMTg3NSwwIDEyLjA1MjcsLTAuMzcyMSAyNC4xMjgzLDAuMjc0MTQgMzYuMDkzNywxLjg3NSAwLjQxNDQ4LDAuMDUyMiAwLjgzNTUyLDAuMDUyMiAxLjI1LDAgMS41NzE0LC0wLjE4NjQgMy4yODg5LC0xLjI0MTU1IDQuMTI1LC0yLjMxMjUgMC44MzYxLC0xLjA3MDk1IDEuMDc3LC0xLjk0MzE4IDEuMjUsLTIuNTYyNSAwLjM0NjIsLTEuMjM4NjQgMC42NjcsLTEuODMxMDIgMC4wOTQsLTAuODEyNSAwLjE4MTcsLTAuMzE2MDYgMC4zMjg3LC0wLjY1MjA1IDAuNDM3NSwtMSAyLjE5NzEsLTcuMjgwMDIgMy4zOTI1LC0xMy44Njc5NyA2LjkzNzUsLTE3Ljk2ODc1IDEuNTkyOSwtMS41NTcxNiA0LjMzNCwtMi4zMzg4NiA3LjQzNzUsLTIuMjgxMjUgMC4yMjk1MiwwLjAwNSAwLjQ1OTQxLC0wLjAwNSAwLjY4NzUsLTAuMDMxMiAxMC40MDI0LC0xLjIzMTMzIDE5LjgwNTIsLTQuOTg2OTYgMjguNzE4OCwtOC4xODc1IDAuMTA1NTYsLTAuMDM4MiAwLjIwOTg0LC0wLjA3OTkgMC4zMTI2LC0wLjEyNTA1IDMuMzExMywtMS40NDM0MSA4LjI0NTMsLTMuMDk5NjMgMTEuNjI1LC03Ljg0Mzc1IDAuMDE4LC0wLjAyNTQgMC4wNDQsLTAuMDM2OSAwLjA2MiwtMC4wNjI1IGwgLTAuMDMxLC0wLjAzMTIgYyAyLjg0MjgsLTMuOTcyNSAxLjUyMywtOS40MjQ2OSAtMi41LC0xMS45MDYyNSBsIDAuMDYyLC0wLjA2MjUgYyAtMC4xMjc1LC0wLjA4NjcgLTAuMjQ3NCwtMC4xMzU5NSAtMC4zNzUsLTAuMjE4NzUgLTAuMDM0LC0wLjAxODYgLTAuMDU5LC0wLjA0NDQgLTAuMDk0LC0wLjA2MjUgbCAwLDAuMDMxMiBjIC00LjgyNTksLTMuMTAwMDYgLTkuNjYxMiwtMy41MzA5MiAtMTIuNzE4NywtNC42NTYyNSAtMC4wNjIxLC0wLjAyMjEgLTAuMTI0NiwtMC4wNDI5IC0wLjE4NzUsLTAuMDYyNSAtMjAuNjg3MiwtNi42MzU2OCAtMzguNTc3OCwtMjAuOTIxMTEgLTUxLjkzNzUsLTM4LjMxMjUgLTcuNDE3MiwtOS42OTEyOSAtMTMuNjg5OSwtMjAuMjIyMDIgLTE3Ljg0MzgsLTMxLjQ2ODc1IC0wLjAxNCwtMC4wNDEgLTAuMDE4LC0wLjA4NCAtMC4wMzEsLTAuMTI1IC0xLjYyNjIsLTQuODgzNTMgLTEuNzA3NywtMTAuMjA5MDIgMC42ODc1LC0xMy40Mzc1IDAuMDMxNywtMC4wMzA4IDAuMDYzMSwtMC4wNjIgMC4wOTQsLTAuMDkzNyAzLjczNjYsLTUuMzY4MzkgMTAuNTkzNSwtOC44MTg3OCAxNy45MDYzLC0xMS41MzEyNSAwLjAzLC0wLjAxMDQgMC4wNjQsLTAuMDIwOCAwLjA5NCwtMC4wMzEyIDguMDgxOSwtMi44MTE1NyAxNi45MjYzLC02LjA4Njg2IDI0LjIxODcsLTEyLjU2MjUgMC4wMzE4LC0wLjAzMDggMC4wNjMxLC0wLjA2MiAwLjA5NCwtMC4wOTM3IDEuMTI4MywtMS4wNjY5NSAyLjQ4NTIsLTIuNDU2MDIgMy41LC00LjUzMTI1IDEuMDE0OSwtMi4wNzUyMyAxLjQ5NjEsLTUuMzEwMzIgMC4xNTYzLC04LjEyNSAzZS01LC0wLjAxMDQgM2UtNSwtMC4wMjA4IDAsLTAuMDMxMiAtMi4xMDQ0LC00LjMzNTQ5IC01Ljc3NCwtNi41NjYyIC04LjUsLTguMTg3NSAtMC4wMTAzLC0zZS01IC0wLjAyMDcsLTNlLTUgLTAuMDMxLDAgLTQuNTY3MywtMi42NjU5MiAtOS44ODE2LC0yLjgzODg3IC0xNC41LC0xLjM0Mzc1IC0wLjAxLDAuMDAzIC0wLjAyMSwtMC4wMDMgLTAuMDMxLDAgLTAuMDMxLDAuMDEwMSAtMC4wNjMsMC4wMjEgLTAuMDk0LDAuMDMxMiAtNC45ODkyLDEuNTE4MzUgLTkuMDYyNCwzLjMzMzkxIC0xMi44NDM4LDMuODEyNSAtMC4wODM5LDAuMDE4NyAtMC4xNjcyMiwwLjAzOTUgLTAuMjUsMC4wNjI1IC01LjM3MzcsMC45NTc3NyAtMTAuNTc3MywxLjE4Nzc5IC0xNC42MjUsLTAuMzEyNSAtMC4wMzgsLTAuNjA2NDkgLTAuMDU3LC0xLjc5MDEzIC0wLjIxODcsLTMuMjUgbCAwLjAzMSwwIGMgLTAuMjk4OCwtOC45MTUzIDAuNDU2NSwtMTguMTA2MDQgMC41OTM3LC0yNy42MjUgM2UtNCwtMC4wMjEyIC0zZS00LC0wLjA0MTMgMCwtMC4wNjI1IDAuNDExMiwtMTQuNDYzMTggMC45OTQ4LC0yOS4zNTI5NSAtMS4xMjUsLTQ0LjM0Mzc1IC0wLjAwOSwtMC4wNzMxIC0wLjAxOTEsLTAuMTQ2MDcgLTAuMDMxLC0wLjIxODc1IC00LjYxNTQsLTI1LjI4NzUzIC0yMC42ODcsLTQ3LjA2NzM2IC00MS4wNjI1LC02MS41NjI1MDQgLTE0LjgxMjEsLTEwLjUwOTg3IC0zMi4zOTcyLC0xNi4zNzU4MSAtNTAuMjUsLTE4LjAzMTI1IC0wLjAxLC0wLjAwMSAtMC4wMjEsMC4wMDEgLTAuMDMxLDAgLTUuOTkxMiwtMC42MDQ4NyAtMTEuOTc0MSwtMC44MTk0NSAtMTcuOTM3NSwtMC43NSB6In0pKX12YXIgRG49Qy5kLmRpdi53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2MtdzB5OWo1LTAifSkoWyJtYXJnaW46NjBweCAwIDYwcHggMDtsaW5lLWhlaWdodDoyM3B4OyYgYXtjb2xvcjojMTExO2ZvbnQtc2l6ZToyNnB4O3RleHQtZGVjb3JhdGlvbjpub25lO3VuaWNvZGUtYmlkaTpwbGFpbnRleHQ7fSJdKTtmdW5jdGlvbiBVbihlLHQpe3JldHVybiBmdW5jdGlvbihlKXtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBlfShlKXx8ZnVuY3Rpb24oZSx0KXt2YXIgbj1udWxsPT1lP251bGw6InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJmVbU3ltYm9sLml0ZXJhdG9yXXx8ZVsiQEBpdGVyYXRvciJdO2lmKG51bGwhPW4pe3ZhciByLG8sYSxpLGw9W10sYz0hMCx1PSExO3RyeXtpZihhPShuPW4uY2FsbChlKSkubmV4dCwwPT09dCl7aWYoT2JqZWN0KG4pIT09bilyZXR1cm47Yz0hMX1lbHNlIGZvcig7IShjPShyPWEuY2FsbChuKSkuZG9uZSkmJihsLnB1c2goci52YWx1ZSksbC5sZW5ndGghPT10KTtjPSEwKTt9Y2F0Y2goZSl7dT0hMCxvPWV9ZmluYWxseXt0cnl7aWYoIWMmJm51bGwhPW4ucmV0dXJuJiYoaT1uLnJldHVybigpLE9iamVjdChpKSE9PWkpKXJldHVybn1maW5hbGx5e2lmKHUpdGhyb3cgb319cmV0dXJuIGx9fShlLHQpfHxmdW5jdGlvbihlLHQpe3ZhciBuO2lmKGUpcmV0dXJuInN0cmluZyI9PXR5cGVvZiBlP0JuKGUsdCk6Ik1hcCI9PT0obj0iT2JqZWN0Ij09PShuPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKS5zbGljZSg4LC0xKSkmJmUuY29uc3RydWN0b3I/ZS5jb25zdHJ1Y3Rvci5uYW1lOm4pfHwiU2V0Ij09PW4/QXJyYXkuZnJvbShlKToiQXJndW1lbnRzIj09PW58fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pP0JuKGUsdCk6dm9pZCAwfShlLHQpfHxmdW5jdGlvbigpe3Rocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9KCl9ZnVuY3Rpb24gQm4oZSx0KXsobnVsbD09dHx8dD5lLmxlbmd0aCkmJih0PWUubGVuZ3RoKTtmb3IodmFyIG49MCxyPW5ldyBBcnJheSh0KTtuPHQ7bisrKXJbbl09ZVtuXTtyZXR1cm4gcn1mdW5jdGlvbiBGbihlKXt2YXIgZT1lLnNpemUsdD0ocj1PYmplY3QoRi51c2VDb250ZXh0KShWKS5zZXR0aW5ncykudGVsZWdyYW1JY29uLG49ci5pc1BybyxyPXIuaXNTaW5nbGU7cmV0dXJuIG4mJnQ/SC5hLmNyZWF0ZUVsZW1lbnQobSx7aWNvblVybDp0LHNpemU6ZX0pOkguYS5jcmVhdGVFbGVtZW50KCJzdmciLHtzdHlsZToibWVkaXVtIj09PWUmJnI/e2hlaWdodDoiMzBweCIsbWluV2lkdGg6IjMwcHgiLGZpbGw6IiNmZmYiLHN0cm9rZToibm9uZSJ9Ont3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIixmaWxsOiIjZmZmIixzdHJva2U6Im5vbmUifSx2aWV3Qm94OiItOCAtMTcgMTMwIDEzMCIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix4bWxuc1hsaW5rOiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIn0sSC5hLmNyZWF0ZUVsZW1lbnQoInBhdGgiLHtkOiJNODguNzIzLDEyLjE0MkM3Ni40MTksMTcuMjM4LDIzLjY2MSwzOS4wOTEsOS4wODQsNDUuMDQ3Yy05Ljc3NiwzLjgxNS00LjA1Myw3LjM5Mi00LjA1Myw3LjM5MiAgICBzOC4zNDUsMi44NjEsMTUuNDk5LDUuMDA3YzcuMTUzLDIuMTQ2LDEwLjk2OC0wLjIzOCwxMC45NjgtMC4yMzhsMzMuNjItMjIuNjUyYzExLjkyMi04LjEwNyw5LjA2MS0xLjQzMSw2LjE5OSwxLjQzMSAgICBjLTYuMTk5LDYuMi0xNi40NTIsMTUuOTc1LTI1LjAzNiwyMy44NDRjLTMuODE1LDMuMzM4LTEuOTA4LDYuMTk5LTAuMjM4LDcuNjNjNi4xOTksNS4yNDYsMjMuMTI5LDE1Ljk3NiwyNC4wODIsMTYuNjkxICAgIGM1LjAzNywzLjU2NiwxNC45NDUsOC42OTksMTYuNDUyLTIuMTQ2YzAsMCw1Ljk2MS0zNy40MzUsNS45NjEtMzcuNDM1YzEuOTA4LTEyLjYzNywzLjgxNS0yNC4zMjEsNC4wNTMtMjcuNjU5ICAgIEM5Ny4zMDcsOC44MDQsODguNzIzLDEyLjE0Miw4OC43MjMsMTIuMTQyeiJ9KSl9ZnVuY3Rpb24gSG4oZSl7dmFyIGU9ZS5zaXplLHQ9KHI9T2JqZWN0KEYudXNlQ29udGV4dCkoVikuc2V0dGluZ3MpLnRpa3Rva0ljb24sbj1yLmlzUHJvLHI9ci5pc1NpbmdsZTtyZXR1cm4gbiYmdD9ILmEuY3JlYXRlRWxlbWVudChtLHtpY29uVXJsOnQsc2l6ZTplfSk6SC5hLmNyZWF0ZUVsZW1lbnQoInN2ZyIse3N0eWxlOiJtZWRpdW0iPT09ZSYmcj97aGVpZ2h0OiIzMHB4IixtaW5XaWR0aDoiMzBweCIsZmlsbDoiIzAwMCIsc3Ryb2tlOiJub25lIn06e3dpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLGZpbGw6IiMwMDAiLHN0cm9rZToibm9uZSJ9LHZlcnNpb246IjEuMSIsdmlld0JveDoiMCAwIDEyMCAxMjAiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyJ9LEguYS5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZDoiTTQ5LjY3LDQ5Ljk0YTI2LjM3LDI2LjM3LDAsMCwxLDQuNjEuMjhWNjYuMzNDNDMsNjIuNTYsMzEuNjgsNzUuNjcsMzkuNDQsODcuMTQsMTUuNDIsNzUuNDIsNDkuNjcsNDkuOTQsNDkuNjcsNDkuOTRabTI1LjU1LTM0aDQuNHMtLjg3LDcuNDUsNS41MiwxNC43NmwuMDkuMDlDODEsMjkuNjksNzQuNjIsMjEuNTYsNzUuMjIsMTUuOTFabTI2LjUsMjIuMjJWNTMuOTFDODQuNDQsNTIuMDYsNzkuODMsNDcsNzkuNjQsNDYuODV2MzIuNkM3OS4zLDEwNCw0OS40MywxMTksMjkuNDEsOTkuNjRsMCwwYTI5LjksMjkuOSwwLDAsMCwxNi4zMiw0Ljg4QzYyLjA4LDEwNC45MSw3NS4yLDkwLDc1LDc1LjU3VjQzYy4yMS4xMiwyMi4wOC01LjMsMjIuMDgtNS4zQTE0LjkzLDE0LjkzLDAsMCwwLDEwMS43MiwzOC4xM1oiLGZpbGw6IiNlZTFkNTIifSksSC5hLmNyZWF0ZUVsZW1lbnQoInBhdGgiLHtkOiJNOTcuMDksMzcuNjdWNTBhNTQuOTQsNTQuOTQsMCwwLDEtOS43Ny0xLjMzQzc4LjI1LDQ2LjUsNzUuMiw0My4wOSw3NSw0M3YzMi42YTMyLjg3LDMyLjg3LDAsMCwxLTEuOTMsMTAuMTJDNzAuMzgsOTIuNSw2Mi4yNSwxMDUsNDUuNzcsMTA0LjU2YTMwLjEsMzAuMSwwLDAsMS0xNi4zMi00Ljg4bDAsMGMtNy4xNi01LjM5LTEwLTEzLjE0LTEwLTI0LjQ1LjMxLTcuNTQsOS43NS0yNS4yNywzMC4yMy0yNS4yN1Y2Mi40M3MtNi4zNS0yLjEtMTEuNDQsMS42MmMtMy41NSwyLjc2LTUuNDQsNS40NC02LDEwLjI1LDAsMy41My44NSw4LjUyLDUuNTksMTEuODYuNTYuMzYsMS4xLjY5LDEuNjQsMSwyLjc5LDMsMTIuNTcsMy42NSwxNy4yOSwxLjExLDYuOTItMy43Miw2Ljg4LTcyLjM0LDYuODgtNzIuMzRINzUuMmEyMiwyMiwwLDAsMCw1LjMxLDEwLjg4LDI1LjgyLDI1LjgyLDAsMCwwLDQuNyw0LDI0LjQ1LDI0LjQ1LDAsMCwwLDYuNDYsNC45NCwyNC45NCwyNC45NCwwLDAsMCw1LjQyLDJaIixmaWxsOiIjZmZmIn0pLEguYS5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZDoiTTM5LjU2LDUyLjA2QzI4Ljk0LDU1Ljc1LDIxLjUsNjYuODgsMjEsNzguNjJjLS40MiwxMC44Nyw1LDE3LjQ0LDguMzcsMjEuMDYtNC4wOS0yLjIxLTEzLjY2LTkuMy0xMy0yNC45NC44OC0yMCwxNy4zMi0zMC4yMSwzMy4yNi0yOC4zOXYzLjU5QTM1Ljc0LDM1Ljc0LDAsMCwwLDM5LjU2LDUyLjA2WiIsZmlsbDoiIzY5YzlkMCJ9KSxILmEuY3JlYXRlRWxlbWVudCgicGF0aCIse2Q6Ik03NS4yMiwxNS45MUg2My42NVY3Ny4zNmExOS4wNiwxOS4wNiwwLDAsMS0uNzEsNi4zMywxMi44NywxMi44NywwLDAsMS03LDcuNjZjLTUsMi04Ljg3LDEuNzctMTMuNS0xLjNhMTIuNDQsMTIuNDQsMCwwLDEtMy0yLjg5YzQsMi4xLDcuNDksMi4wNiwxMS44Ni4zMWExMi43MiwxMi43MiwwLDAsMCw3LTcuNjZBMTguNSwxOC41LDAsMCwwLDU5LDczLjQ5VjEySDc1QTEzLjcsMTMuNywwLDAsMCw3NS4yMiwxNS45MVpNOTcuMDksMzQuMjV2My40MmEyNC45NCwyNC45NCwwLDAsMS01LjQyLTIsMjQuNzUsMjQuNzUsMCwwLDEtNi40Ni00Ljk0LDE4LjY2LDE4LjY2LDAsMCwwLDEuODQsMS4wNkM5MS4xMywzMy44NSw5NS4xMywzNC40Nyw5Ny4wOSwzNC4yNVoiLGZpbGw6IiM2OWM5ZDAifSkpfWZ1bmN0aW9uIFZuKGUpe3ZhciBlPWUuc2l6ZSx0PShyPU9iamVjdChGLnVzZUNvbnRleHQpKFYpLnNldHRpbmdzKS50d2l0dGVySWNvbixuPXIuaXNQcm8scj1yLmlzU2luZ2xlO3JldHVybiBuJiZ0P0guYS5jcmVhdGVFbGVtZW50KG0se2ljb25Vcmw6dCxzaXplOmV9KTpILmEuY3JlYXRlRWxlbWVudCgic3ZnIix7c3R5bGU6Im1lZGl1bSI9PT1lJiZyP3toZWlnaHQ6IjMwcHgiLG1pbldpZHRoOiIzMHB4IixmaWxsOiIjZmZmIixzdHJva2U6Im5vbmUifTp7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsZmlsbDoiI2ZmZiIsc3Ryb2tlOiJub25lIn0sdmlld0JveDoiLTM1MCAtMzUwIDE5MDAgMTkyNyIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIn0sSC5hLmNyZWF0ZUVsZW1lbnQoInBhdGgiLHtkOiJNNzE0LjE2MyA1MTkuMjg0TDExNjAuODkgMEgxMDU1LjAzTDY2Ny4xMzcgNDUwLjg4N0wzNTcuMzI4IDBIMEw0NjguNDkyIDY4MS44MjFMMCAxMjI2LjM3SDEwNS44NjZMNTE1LjQ5MSA3NTAuMjE4TDg0Mi42NzIgMTIyNi4zN0gxMjAwTDcxNC4xMzcgNTE5LjI4NEg3MTQuMTYzWk01NjkuMTY1IDY4Ny44MjhMNTIxLjY5NyA2MTkuOTM0TDE0NC4wMTEgNzkuNjk0NEgzMDYuNjE1TDYxMS40MTIgNTE1LjY4NUw2NTguODggNTgzLjU3OUwxMDU1LjA4IDExNTAuM0g4OTIuNDc2TDU2OS4xNjUgNjg3Ljg1NFY2ODcuODI4WiJ9KSl9ZnVuY3Rpb24gJG4oZSl7dmFyIGU9ZS5zaXplLHQ9KHI9T2JqZWN0KEYudXNlQ29udGV4dCkoVikuc2V0dGluZ3MpLnZpYmVySWNvbixuPXIuaXNQcm8scj1yLmlzU2luZ2xlO3JldHVybiBuJiZ0P0guYS5jcmVhdGVFbGVtZW50KG0se2ljb25Vcmw6dCxzaXplOmV9KTpILmEuY3JlYXRlRWxlbWVudCgic3ZnIix7c3R5bGU6Im1lZGl1bSI9PT1lJiZyP3toZWlnaHQ6IjMwcHgiLG1pbldpZHRoOiIzMHB4IixmaWxsOiIjZmZmIixzdHJva2U6Im5vbmUifTp7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsZmlsbDoiI2ZmZiIsc3Ryb2tlOiJub25lIn0sdmlld0JveDoiMCAwIDMyIDMyIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHhtbG5zWGxpbms6Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsifSxILmEuY3JlYXRlRWxlbWVudCgicGF0aCIse2Q6Ik0yMS4xNzYgMjdjLS4yMDgtLjA2Mi0uNjE4LS4xMy0uOTg3LS4zMDMtNi40NzYtMy4wMi0xMS4xOC03Ljk3Mi0xMy44NTMtMTUuMDgyLS44OTctMi4zODMuMDQtNC4zOTYgMi4yOTgtNS4yMi40MDUtLjE0Ny44MDItLjE1NyAxLjIuMDAyLjk2NC4zODMgMy40MDQgNC4wMjIgMy40NTggNS4xMS4wNDIuODM1LS40OCAxLjI4Ny0xIDEuNjctLjk4My43MjItLjk4OCAxLjYzOC0uNTY4IDIuNjYuOTQ4IDIuMzA4IDIuNTY3IDMuODk1IDQuNjYzIDQuOTI1Ljc2LjM3NCAxLjQ4OC4zMzcgMi4wMDctLjUxNS45MjUtMS41MTggMi4wNi0xLjQ0NSAzLjMtLjUwMi42Mi40NzMgMS4yNTMuOTM2IDEuODQ0IDEuNDUuOC43MDIgMS44MTYgMS4yODUgMS4zMzYgMi43NTQtLjUgMS41MjctMi4yMjYgMy4wNjYtMy43IDMuMDV6bS00Ljc2LTIwLjk4NmM0LjU0Ni4xNjYgOC40NiA0LjY3NyA4LjQwNiA5LjU0My0uMDA1LjQ3OC4xNTMgMS4xODUtLjUwNCAxLjE3Mi0uNjI4LS4wMTUtLjQ2NC0uNzMzLS41Mi0xLjIxLS42MDMtNS4xNjctMi43ODYtNy42MDYtNy41Mi04LjM5NC0uMzkyLS4wNjYtLjk5LjAyNi0uOTYtLjUzNS4wNDQtLjgzMy43NTQtLjUyMyAxLjA5Ny0uNTc2em02LjA3MiA4LjY3MmMtLjA0NS4zNTYuMTQ3Ljk2OC0uMzg1IDEuMDU2LS43Mi4xMTgtLjU4LS41OTUtLjY1LTEuMDUzLS40OC0zLjE0NC0xLjUtNC4yOTctNC40MjMtNS4wMDUtLjQzLS4xMDUtMS4xLS4wMzItLjk5LS43NS4xMDgtLjY4NS43MS0uNDUyIDEuMTY0LS4zOTMgMi45Mi4zOCA1LjMwNyAzLjEyNiA1LjI4NCA2LjE0NHptLTIuMjIyLS41NzNjLjAxMy4zOTgtLjAyNi44MTgtLjQ2Ljg3NC0uMzE0LjA0LS41Mi0uMjQ1LS41NTMtLjU5Ny0uMTItMS4yOTYtLjc1LTIuMDYyLTEuOTUtMi4yNy0uMzYtLjA2My0uNzEyLS4xOS0uNTQ0LS43MTUuMTEtLjM1Mi40MDgtLjM4Ny43MTItLjM5NiAxLjI5Ny0uMDM2IDIuODE1IDEuNjQ3IDIuNzk0IDMuMTAzeiJ9KSl9dmFyIFduPUMuZC5kaXYud2l0aENvbmZpZyh7Y29tcG9uZW50SWQ6InNjLXZ1NmF3eC0wIn0pKFsiZm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NjAwO21hcmdpbjo1cHggMCAxNXB4IDA7Il0pLEduPUMuZC5kaXYud2l0aENvbmZpZyh7Y29tcG9uZW50SWQ6InNjLXZ1NmF3eC0xIn0pKFsibWFyZ2luOjIxcHggMjBweCAwIDIwcHg7Il0pLHFuPUMuZC5pbWcud2l0aENvbmZpZyh7Y29tcG9uZW50SWQ6InNjLXZ1NmF3eC0yIn0pKFsid2lkdGg6MjAwcHggIWltcG9ydGFudDtkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7bWFyZ2luOjAgYXV0byAhaW1wb3J0YW50OyJdKTtmdW5jdGlvbiBabihlLHQpe3JldHVybiBmdW5jdGlvbihlKXtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBlfShlKXx8ZnVuY3Rpb24oZSx0KXt2YXIgbj1udWxsPT1lP251bGw6InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJmVbU3ltYm9sLml0ZXJhdG9yXXx8ZVsiQEBpdGVyYXRvciJdO2lmKG51bGwhPW4pe3ZhciByLG8sYSxpLGw9W10sYz0hMCx1PSExO3RyeXtpZihhPShuPW4uY2FsbChlKSkubmV4dCwwPT09dCl7aWYoT2JqZWN0KG4pIT09bilyZXR1cm47Yz0hMX1lbHNlIGZvcig7IShjPShyPWEuY2FsbChuKSkuZG9uZSkmJihsLnB1c2goci52YWx1ZSksbC5sZW5ndGghPT10KTtjPSEwKTt9Y2F0Y2goZSl7dT0hMCxvPWV9ZmluYWxseXt0cnl7aWYoIWMmJm51bGwhPW4ucmV0dXJuJiYoaT1uLnJldHVybigpLE9iamVjdChpKSE9PWkpKXJldHVybn1maW5hbGx5e2lmKHUpdGhyb3cgb319cmV0dXJuIGx9fShlLHQpfHxmdW5jdGlvbihlLHQpe3ZhciBuO2lmKGUpcmV0dXJuInN0cmluZyI9PXR5cGVvZiBlP1huKGUsdCk6Ik1hcCI9PT0obj0iT2JqZWN0Ij09PShuPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKS5zbGljZSg4LC0xKSkmJmUuY29uc3RydWN0b3I/ZS5jb25zdHJ1Y3Rvci5uYW1lOm4pfHwiU2V0Ij09PW4/QXJyYXkuZnJvbShlKToiQXJndW1lbnRzIj09PW58fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pP1huKGUsdCk6dm9pZCAwfShlLHQpfHxmdW5jdGlvbigpe3Rocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9KCl9ZnVuY3Rpb24gWG4oZSx0KXsobnVsbD09dHx8dD5lLmxlbmd0aCkmJih0PWUubGVuZ3RoKTtmb3IodmFyIG49MCxyPW5ldyBBcnJheSh0KTtuPHQ7bisrKXJbbl09ZVtuXTtyZXR1cm4gcn12YXIgWW49Qy5kLmRpdi53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2MtMWJreGUxbi0wIn0pKFsibWFyZ2luOi01cHggMCAxNXB4IDA7Zm9udC1zaXplOjE2cHg7JiBpbWd7aGVpZ2h0OjIwMHB4O2Rpc3BsYXk6YmxvY2s7bWFyZ2luOmF1dG87fSYgYXtjb2xvcjojMTExO3RleHQtZGVjb3JhdGlvbjpub25lO2ZvbnQtd2VpZ2h0OmJvbGQ7dW5pY29kZS1iaWRpOnBsYWludGV4dDsmIHNwYW57Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc2l6ZToxMnB4O3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fX0iXSksUW49Qy5kLmRpdi53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2MtMWJreGUxbi0xIn0pKFsibWFyZ2luOjE1cHggMjBweCAwIDIwcHg7bGluZS1oZWlnaHQ6MjNweDsiXSk7ZnVuY3Rpb24gS24oZSl7dmFyIGU9ZS5zaXplLHQ9KHI9T2JqZWN0KEYudXNlQ29udGV4dCkoVikuc2V0dGluZ3MpLmNhbGxiYWNrSWNvbixuPXIuaXNQcm8scj1yLmlzU2luZ2xlO3JldHVybiBuJiZ0P0guYS5jcmVhdGVFbGVtZW50KG0se2ljb25Vcmw6dCxzaXplOmV9KTpILmEuY3JlYXRlRWxlbWVudCgic3ZnIix7c3R5bGU6Im1lZGl1bSI9PT1lJiZyP3toZWlnaHQ6IjMwcHgiLG1pbldpZHRoOiIzMHB4IixmaWxsOiIjZmZmIixzdHJva2U6Im5vbmUifTp7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsZmlsbDoiI2ZmZiIsc3Ryb2tlOiJub25lIn0sdmlld0JveDoiLTQgLTQgNTYgNTYiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIseG1sbnNYbGluazoiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayJ9LEguYS5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZDoiTTI2LjQsMzMuOWMwLDAsNC0yLjYsNC44LTNjMC44LTAuNCwxLjctMC42LDIuMi0wLjJjMC44LDAuNSw3LjUsNC45LDguMSw1LjNjMC42LDAuNCwwLjgsMS41LDAuMSwyLjYgYy0wLjgsMS4xLTQuMyw1LjUtNS44LDUuNGMtMS41LDAtOC40LDAuNC0yMC4zLTExLjRDMy42LDIwLjcsNCwxMy44LDQsMTIuM2MwLTEuNSw0LjMtNS4xLDUuNC01LjhjMS4xLTAuOCwyLjItMC41LDIuNiwwLjEgYzAuNCwwLjYsNC44LDcuMyw1LjMsOC4xYzAuMywwLjUsMC4yLDEuNC0wLjIsMi4yYy0wLjQsMC44LTMsNC44LTMsNC44czAuNywyLjgsNSw3LjJDMjMuNSwzMy4yLDI2LjQsMzMuOSwyNi40LDMzLjl6In0pLEguYS5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZDoiTTM1LDlIMjV2NGgxMGMxLjEsMCwyLDAuOSwyLDJ2MTBoNFYxNUM0MSwxMS43LDM4LjMsOSwzNSw5eiJ9KSxILmEuY3JlYXRlRWxlbWVudCgicGF0aCIse2Q6Ik0yOCwxNkwyMS4zLDExTDI4LDYifSkpfWZ1bmN0aW9uIEpuKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIGV9KGUpfHxmdW5jdGlvbihlLHQpe3ZhciBuPW51bGw9PWU/bnVsbDoidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmZVtTeW1ib2wuaXRlcmF0b3JdfHxlWyJAQGl0ZXJhdG9yIl07aWYobnVsbCE9bil7dmFyIHIsbyxhLGksbD1bXSxjPSEwLHU9ITE7dHJ5e2lmKGE9KG49bi5jYWxsKGUpKS5uZXh0LDA9PT10KXtpZihPYmplY3QobikhPT1uKXJldHVybjtjPSExfWVsc2UgZm9yKDshKGM9KHI9YS5jYWxsKG4pKS5kb25lKSYmKGwucHVzaChyLnZhbHVlKSxsLmxlbmd0aCE9PXQpO2M9ITApO31jYXRjaChlKXt1PSEwLG89ZX1maW5hbGx5e3RyeXtpZighYyYmbnVsbCE9bi5yZXR1cm4mJihpPW4ucmV0dXJuKCksT2JqZWN0KGkpIT09aSkpcmV0dXJufWZpbmFsbHl7aWYodSl0aHJvdyBvfX1yZXR1cm4gbH19KGUsdCl8fGZ1bmN0aW9uKGUsdCl7dmFyIG47aWYoZSlyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/ZXIoZSx0KToiTWFwIj09PShuPSJPYmplY3QiPT09KG49T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpLnNsaWNlKDgsLTEpKSYmZS5jb25zdHJ1Y3Rvcj9lLmNvbnN0cnVjdG9yLm5hbWU6bil8fCJTZXQiPT09bj9BcnJheS5mcm9tKGUpOiJBcmd1bWVudHMiPT09bnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3Qobik/ZXIoZSx0KTp2b2lkIDB9KGUsdCl8fGZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX0oKX1mdW5jdGlvbiBlcihlLHQpeyhudWxsPT10fHx0PmUubGVuZ3RoKSYmKHQ9ZS5sZW5ndGgpO2Zvcih2YXIgbj0wLHI9bmV3IEFycmF5KHQpO248dDtuKyspcltuXT1lW25dO3JldHVybiByfWZ1bmN0aW9uIHRyKGUpe3ZhciBlPWUuc2l6ZSx0PShyPU9iamVjdChGLnVzZUNvbnRleHQpKFYpLnNldHRpbmdzKS52a29udGFrdGVJY29uLG49ci5pc1BybyxyPXIuaXNTaW5nbGU7cmV0dXJuIG4mJnQ/SC5hLmNyZWF0ZUVsZW1lbnQobSx7aWNvblVybDp0LHNpemU6ZX0pOkguYS5jcmVhdGVFbGVtZW50KCJzdmciLHtzdHlsZToibWVkaXVtIj09PWUmJnI/e2hlaWdodDoiMzBweCIsbWluV2lkdGg6IjMwcHgiLGZpbGw6IiNmZmYiLHN0cm9rZToibm9uZSJ9Ont3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIixmaWxsOiIjZmZmIixzdHJva2U6Im5vbmUifSx2aWV3Qm94OiIwIDAgMzIgMzIiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIseG1sbnNYbGluazoiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayJ9LEguYS5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZDoiTTI2LjcxMiAxMC45NnMtLjE2Ny0uNDgtMS4yMS0uMzQ4bC0zLjQ0Ny4wMjRhLjc4NS43ODUgMCAwIDAtLjQ1NS4wNzJzLS4yMDQuMTA4LS4zLjM3YTIyLjEgMjIuMSAwIDAgMS0xLjI4IDIuNjk1Yy0xLjUzMyAyLjYxLTIuMTU2IDIuNzU0LTIuNDA3IDIuNTg3LS41ODctLjM3Mi0uNDMtMS41MS0uNDMtMi4zMjMgMC0yLjU0LjM4Mi0zLjU5Mi0uNzU2LTMuODY4LS4zNy0uMDg0LS42NDYtLjE0NC0xLjYxNi0uMTU2LTEuMjMyLS4wMTItMi4yNzQgMC0yLjg2LjI4Ny0uMzk2LjE5My0uNjk1LjYyNC0uNTE1LjY0OC4yMjcuMDM2Ljc0Mi4xNDMgMS4wMTcuNTE1IDAgMCAuMy40OS4zNDcgMS41NjguMTMgMi45ODItLjQ4IDMuMzUzLS40OCAzLjM1My0uNDY2LjI1Mi0xLjI4LS4xNjctMi40NzgtMi42MzQgMCAwLS42OTQtMS4yMjItMS4yMzMtMi41NjMtLjA5Ny0uMjUtLjI4OC0uMzgzLS4yODgtLjM4M3MtLjIxNi0uMTY4LS41MjctLjIxNmwtMy4yOC4wMjRjLS41MDQgMC0uNjgzLjIyOC0uNjgzLjIyOHMtLjE4LjE5LS4wMTIuNTg3YzIuNTYyIDYuMDIyIDUuNDgzIDkuMDQgNS40ODMgOS4wNHMyLjY3IDIuNzkgNS43IDIuNTk3aDEuMzc2Yy40MTgtLjAzNS42MzQtLjI2My42MzQtLjI2M3MuMTkyLS4yMTQuMTgtLjYxYy0uMDI0LTEuODQzLjgzOC0yLjEyLjgzOC0yLjEyLjgzOC0uMjYyIDEuOTE1IDEuNzg1IDMuMDY1IDIuNTc1IDAgMCAuODc0LjYgMS41MzIuNDY3bDMuMDY0LS4wNDhjMS42MTctLjAxLjg1LTEuMzUyLjg1LTEuMzUyLS4wNi0uMTA4LS40NDItLjkzNC0yLjI4Ni0yLjY0Ny0xLjkxNi0xLjc4NC0xLjY2NS0xLjQ5Ni42NTgtNC41ODUgMS40MTMtMS44OCAxLjk3Ni0zLjAzIDEuNzk2LTMuNTJ6In0pKX1mdW5jdGlvbiBucihlKXt2YXIgZT1lLnNpemUsdD0ocj1PYmplY3QoRi51c2VDb250ZXh0KShWKS5zZXR0aW5ncykud2F6ZUljb24sbj1yLmlzUHJvLHI9ci5pc1NpbmdsZTtyZXR1cm4gbiYmdD9ILmEuY3JlYXRlRWxlbWVudChtLHtpY29uVXJsOnQsc2l6ZTplfSk6SC5hLmNyZWF0ZUVsZW1lbnQoInN2ZyIse3N0eWxlOiJtZWRpdW0iPT09ZSYmcj97aGVpZ2h0OiIzMHB4IixtaW5XaWR0aDoiMzBweCIsZmlsbDoiI2ZmZiIsc3Ryb2tlOiJub25lIn06e3dpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLGZpbGw6IiNmZmYiLHN0cm9rZToibm9uZSJ9LHZlcnNpb246IjEuMSIsdmlld0JveDoiMCAwIDMzMCAzMzAiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyJ9LEguYS5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZDoiTTI5OSwxNDkuNTlhMTIxLDEyMSwwLDAsMC0zNS42Mi04Ni4xNCwxMjIuOTMsMTIyLjkzLDAsMCwwLTg2LjE0LTM1LjYyYy0zNy4zLDAtNzIuMTMsMTYuODctOTYsNDYuODZhMTIxLjM1LDEyMS4zNSwwLDAsMC0yNi4xNSw3NS43OFYxNzBjMCwxMC4xNi03LDE5LjY0LTIxLDIwLjUyLTMuMzYuMy02LjIyLDIuNTctNi4yMiw1LjkyLS41OSw5LjI4LDkuMjgsMjYuMTUsMjIuNywzOS41N2ExMTUuOSwxMTUuOSwwLDAsMCwzMiwyMywzMy45MywzMy45MywwLDAsMCw2Ni42LDEyLjkzaDI4LjMyYzMuNjUsMTkuMTQsMjMuNTgsMzIuMjYsNDQuODksMjUsMTguNTUtNi4yMSwyNi42NC0yNy4yMywxOS45My00NC40QTEzNywxMzcsMCwwLDAsMjYzLDIzNS45MmExMjAuMzksMTIwLjM5LDAsMCwwLDM2LTg2LjMzWk0xNzcuMTQsMjU4LjEySDE0OS40MWEzNCwzNCwwLDAsMC02MS43Ni0xMS44NHYuM2ExMDAuOSwxMDAuOSwwLDAsMS0yNy4yNC0yMC4yM2MtOS41Ny05LjU3LTE0LjktMTguMjUtMTcuMDctMjMuODhhMzEuNzIsMzEuNzIsMCwwLDAsMTYuMjgtOS41NywzMy4zOCwzMy4zOCwwLDAsMCw5LTIzVjE0OS42OEExMDguNTYsMTA4LjU2LDAsMCwxLDI1My44MSw3M2ExMDguNDQsMTA4LjQ0LDAsMCwxLTc2LjY3LDE4NS4xWm02Ny42OS0xMzUuNDdhMTMuNDcsMTMuNDcsMCwxLDEtMTMuNDItMTMuNTIsMTMuNDMsMTMuNDMsMCwwLDEsMTMuNDIsMTMuNTJabS04MS40LDBBMTMuNDcsMTMuNDcsMCwxLDEsMTUwLDEwOS4xM2ExMy40MywxMy40MywwLDAsMSwxMy40MiwxMy41MlpNMTU0LjE1LDE2N2E3LjE2LDcuMTYsMCwwLDAtNi4yMi0zLjk0LDYuOCw2LjgsMCwwLDAtNi4yMSw5LjU3LDU0LjMsNTQuMywwLDAsMCw5OC4yNywwLDYuNzUsNi43NSwwLDAsMC02LjIxLTkuNTdoLS4zYTYuMzcsNi4zNywwLDAsMC01LjkyLDMuOTQsNDAuNTcsNDAuNTcsMCwwLDEtNzMuNDEsMFoifSkpfWZ1bmN0aW9uIHJyKGUpe3ZhciBlPWUuc2l6ZSx0PShyPU9iamVjdChGLnVzZUNvbnRleHQpKFYpLnNldHRpbmdzKS53ZWNoYXRJY29uLG49ci5pc1BybyxyPXIuaXNTaW5nbGU7cmV0dXJuIG4mJnQ/SC5hLmNyZWF0ZUVsZW1lbnQobSx7aWNvblVybDp0LHNpemU6ZX0pOkguYS5jcmVhdGVFbGVtZW50KCJzdmciLHtzdHlsZToibWVkaXVtIj09PWUmJnI/e2hlaWdodDoiMzBweCIsbWluV2lkdGg6IjMwcHgiLGZpbGw6IiNmZmYiLHN0cm9rZToibm9uZSJ9Ont3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIixmaWxsOiIjZmZmIixzdHJva2U6Im5vbmUifSx2ZXJzaW9uOiIxLjEiLHZpZXdCb3g6IjAgMCAxMDAgMTAwIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcifSxILmEuY3JlYXRlRWxlbWVudCgicGF0aCIse2Q6Ik02NS42OCwzNy43NWMtNy40Ny4zOS0xNCwyLjY1LTE5LjI1LDcuNzdhMjIuODcsMjIuODcsMCwwLDAtNy4xLDE5LjM2Yy0yLjkyLS4zNi01LjU4LS43NS04LjI1LTFhNS4xMyw1LjEzLDAsMCwwLTIuODEuNDdjLTIuNTksMS40Ny01LjA5LDMuMTMtOCw1LC41NC0yLjQ1Ljg5LTQuNiwxLjUyLTYuNjZhMi41NCwyLjU0LDAsMCwwLTEuMTYtMy4zNWMtOS02LjMzLTEyLjc1LTE1LjgxLTkuOTItMjUuNTcsMi42Mi05LDktMTQuNSwxNy43OC0xNy4zNUM0MC4zOCwxMi41MSw1My43OCwxNi40OCw2MSwyNmEyMi4zNiwyMi4zNiwwLDAsMSw0LjY1LDExLjhabS0zNC40LTNBMy40MywzLjQzLDAsMCwwLDI4LDMxLjI2YTMuMzQsMy4zNCwwLDEsMC0uMjEsNi42NywzLjQsMy40LDAsMCwwLDMuNTItMy4yMlptMTcuOTUtMy40NWEzLjQ0LDMuNDQsMCwwLDAtMy4zNywzLjQsMy4zNSwzLjM1LDAsMCwwLDMuNDYsMy4yOCwzLjM0LDMuMzQsMCwxLDAtLjA5LTYuNjhaIn0pLEguYS5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZDoiTTgyLjQ3LDg0LjM0Yy0yLjM3LTEuMDYtNC41NC0yLjY0LTYuODUtMi44OHMtNC43MiwxLjA5LTcuMTMsMS4zNGEyMy44NCwyMy44NCwwLDAsMS0xOS4zMy02LjMxYy0xMC4zMS05LjU0LTguODMtMjQuMTUsMy4wOS0zMiwxMC42LTYuOTQsMjYuMTQtNC42MywzMy42MSw1LDYuNTMsOC40MSw1Ljc2LDE5LjU3LTIuMiwyNi42My0yLjMxLDItMy4xNCwzLjcyLTEuNjYsNi40MmE3LjQyLDcuNDIsMCwwLDEsLjQ3LDEuNzZaTTU1LjUzLDU4LjI2YTIuNzksMi43OSwwLDEsMC0yLjc5LTIuNjksMi44LDIuOCwwLDAsMCwyLjc5LDIuNjlaTTcyLjg5LDUyLjdhMi43NywyLjc3LDAsMCwwLTIuNzYsMi42NiwyLjc1LDIuNzUsMCwxLDAsMi43Ni0yLjY2WiJ9KSl9dmFyIG9yPUMuZC5pZnJhbWUud2l0aENvbmZpZyh7Y29tcG9uZW50SWQ6InNjLTFqbnU2bjItMCJ9KShbImhlaWdodDoyMjBweDttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSAxOTBweCk7Ym9yZGVyOm5vbmU7b3ZlcmZsb3c6aGlkZGVuO3RyYW5zaXRpb246b3BhY2l0eSAuNXM7IiwiOyIsIiJdLGZ1bmN0aW9uKGUpe3JldHVybiBlLmlzTG9hZGluZyYmT2JqZWN0KEMuYykoWyJvcGFjaXR5Oi4xNTsiXSl9LEQoKSYmT2JqZWN0KEMuYykoWyJ3aWR0aDoxMDAlO2hlaWdodDoxMDB2aDttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSA1N3B4KTsiXSkpO2Z1bmN0aW9uIGFyKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIGV9KGUpfHxmdW5jdGlvbihlLHQpe3ZhciBuPW51bGw9PWU/bnVsbDoidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmZVtTeW1ib2wuaXRlcmF0b3JdfHxlWyJAQGl0ZXJhdG9yIl07aWYobnVsbCE9bil7dmFyIHIsbyxhLGksbD1bXSxjPSEwLHU9ITE7dHJ5e2lmKGE9KG49bi5jYWxsKGUpKS5uZXh0LDA9PT10KXtpZihPYmplY3QobikhPT1uKXJldHVybjtjPSExfWVsc2UgZm9yKDshKGM9KHI9YS5jYWxsKG4pKS5kb25lKSYmKGwucHVzaChyLnZhbHVlKSxsLmxlbmd0aCE9PXQpO2M9ITApO31jYXRjaChlKXt1PSEwLG89ZX1maW5hbGx5e3RyeXtpZighYyYmbnVsbCE9bi5yZXR1cm4mJihpPW4ucmV0dXJuKCksT2JqZWN0KGkpIT09aSkpcmV0dXJufWZpbmFsbHl7aWYodSl0aHJvdyBvfX1yZXR1cm4gbH19KGUsdCl8fGZ1bmN0aW9uKGUsdCl7dmFyIG47aWYoZSlyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/aXIoZSx0KToiTWFwIj09PShuPSJPYmplY3QiPT09KG49T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpLnNsaWNlKDgsLTEpKSYmZS5jb25zdHJ1Y3Rvcj9lLmNvbnN0cnVjdG9yLm5hbWU6bil8fCJTZXQiPT09bj9BcnJheS5mcm9tKGUpOiJBcmd1bWVudHMiPT09bnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3Qobik/aXIoZSx0KTp2b2lkIDB9KGUsdCl8fGZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX0oKX1mdW5jdGlvbiBpcihlLHQpeyhudWxsPT10fHx0PmUubGVuZ3RoKSYmKHQ9ZS5sZW5ndGgpO2Zvcih2YXIgbj0wLHI9bmV3IEFycmF5KHQpO248dDtuKyspcltuXT1lW25dO3JldHVybiByfWZ1bmN0aW9uIGxyKGUpe3ZhciB0PWUuc2l6ZSxuPXZvaWQgMCE9PShuPWUuaXNJdGVtSWNvbikmJm4sZT12b2lkIDA9PT0oZT1lLmNvbG9yKT8iI2ZmZiI6ZSxyPShhPU9iamVjdChGLnVzZUNvbnRleHQpKFYpLnNldHRpbmdzKS53aGF0c2FwcEljb24sbz1hLmlzUHJvLGE9YS5pc1NpbmdsZTtyZXR1cm4gbyYmciYmITE9PT1uP0guYS5jcmVhdGVFbGVtZW50KG0se2ljb25Vcmw6cixzaXplOnR9KTpILmEuY3JlYXRlRWxlbWVudCgic3ZnIix7dmlld0JveDoiMCAwIDMyIDMyIixzdHlsZToid2FfaGVhZGVyX2ljb24iPT09bj97d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsZmlsbDoiI2ZmZiIsc3Ryb2tlOiJub25lIn06bj97d2lkdGg6IjMwcHgiLGhlaWdodDoiMzBweCIsZmlsbDoiIi5jb25jYXQoZSksc3Ryb2tlOiJub25lIn06Im1lZGl1bSI9PT10JiZhP3toZWlnaHQ6IjMwcHgiLG1pbldpZHRoOiIzMHB4IixmaWxsOiIjZmZmIixzdHJva2U6Im5vbmUifTp7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsZmlsbDoiI2ZmZiIsc3Ryb2tlOiJub25lIn0seG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix4bWxuc1hsaW5rOiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIn0sSC5hLmNyZWF0ZUVsZW1lbnQoInBhdGgiLHtkOiJNMTkuMTEgMTcuMjA1Yy0uMzcyIDAtMS4wODggMS4zOS0xLjUxOCAxLjM5YS42My42MyAwIDAgMS0uMzE1LS4xYy0uODAyLS40MDItMS41MDQtLjgxNy0yLjE2My0xLjQ0Ny0uNTQ1LS41MTYtMS4xNDYtMS4yOS0xLjQ2LTEuOTYzYS40MjYuNDI2IDAgMCAxLS4wNzMtLjIxNWMwLS4zMy45OS0uOTQ1Ljk5LTEuNDkgMC0uMTQzLS43My0yLjA5LS44MzItMi4zMzUtLjE0My0uMzcyLS4yMTQtLjQ4Ny0uNi0uNDg3LS4xODcgMC0uMzYtLjA0My0uNTMtLjA0My0uMzAyIDAtLjUzLjExNS0uNzQ2LjMxNS0uNjg4LjY0NS0xLjAzMiAxLjMxOC0xLjA2IDIuMjY0di4xMTRjLS4wMTUuOTkuNDcyIDEuOTc3IDEuMDE3IDIuNzggMS4yMyAxLjgyIDIuNTA2IDMuNDEgNC41NTQgNC4zNC42MTYuMjg3IDIuMDM1Ljg4OCAyLjcyMi44ODguODE3IDAgMi4xNS0uNTE1IDIuNDc4LTEuMzE4LjEzLS4zMy4yNDQtLjczLjI0NC0xLjA4OCAwLS4wNTggMC0uMTQ0LS4wMy0uMjE1LS4xLS4xNzItMi40MzQtMS4zOS0yLjY3OC0xLjM5em0tMi45MDggNy41OTNjLTEuNzQ3IDAtMy40OC0uNTMtNC45NDItMS40OUw3Ljc5MyAyNC40MWwxLjEzMi0zLjMzN2E4Ljk1NSA4Ljk1NSAwIDAgMS0xLjcyLTUuMjcyYzAtNC45NTUgNC4wNC04Ljk5NSA4Ljk5Ny04Ljk5NVMyNS4yIDEwLjg0NSAyNS4yIDE1LjhjMCA0Ljk1OC00LjA0IDguOTk4LTguOTk4IDguOTk4em0wLTE5Ljc5OGMtNS45NiAwLTEwLjggNC44NDItMTAuOCAxMC44IDAgMS45NjQuNTMgMy44OTggMS41NDYgNS41NzRMNSAyNy4xNzZsNS45NzQtMS45MmExMC44MDcgMTAuODA3IDAgMCAwIDE2LjAzLTkuNDU1YzAtNS45NTgtNC44NDItMTAuOC0xMC44MDItMTAuOHoifSkpfXZhciBjcj1DLmQuZGl2LndpdGhDb25maWcoe2NvbXBvbmVudElkOiJzYy0yaWs1bGMtMCJ9KShbIm1hcmdpbjoyNXB4IDIwcHg7Il0pO2Z1bmN0aW9uIHVyKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIGV9KGUpfHxmdW5jdGlvbihlLHQpe3ZhciBuPW51bGw9PWU/bnVsbDoidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmZVtTeW1ib2wuaXRlcmF0b3JdfHxlWyJAQGl0ZXJhdG9yIl07aWYobnVsbCE9bil7dmFyIHIsbyxhLGksbD1bXSxjPSEwLHU9ITE7dHJ5e2lmKGE9KG49bi5jYWxsKGUpKS5uZXh0LDA9PT10KXtpZihPYmplY3QobikhPT1uKXJldHVybjtjPSExfWVsc2UgZm9yKDshKGM9KHI9YS5jYWxsKG4pKS5kb25lKSYmKGwucHVzaChyLnZhbHVlKSxsLmxlbmd0aCE9PXQpO2M9ITApO31jYXRjaChlKXt1PSEwLG89ZX1maW5hbGx5e3RyeXtpZighYyYmbnVsbCE9bi5yZXR1cm4mJihpPW4ucmV0dXJuKCksT2JqZWN0KGkpIT09aSkpcmV0dXJufWZpbmFsbHl7aWYodSl0aHJvdyBvfX1yZXR1cm4gbH19KGUsdCl8fGZ1bmN0aW9uKGUsdCl7dmFyIG47aWYoZSlyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/c3IoZSx0KToiTWFwIj09PShuPSJPYmplY3QiPT09KG49T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpLnNsaWNlKDgsLTEpKSYmZS5jb25zdHJ1Y3Rvcj9lLmNvbnN0cnVjdG9yLm5hbWU6bil8fCJTZXQiPT09bj9BcnJheS5mcm9tKGUpOiJBcmd1bWVudHMiPT09bnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3Qobik/c3IoZSx0KTp2b2lkIDB9KGUsdCl8fGZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX0oKX1mdW5jdGlvbiBzcihlLHQpeyhudWxsPT10fHx0PmUubGVuZ3RoKSYmKHQ9ZS5sZW5ndGgpO2Zvcih2YXIgbj0wLHI9bmV3IEFycmF5KHQpO248dDtuKyspcltuXT1lW25dO3JldHVybiByfWZ1bmN0aW9uIGZyKGUpe3ZhciBlPWUuc2l6ZSx0PShyPU9iamVjdChGLnVzZUNvbnRleHQpKFYpLnNldHRpbmdzKS53b25kZXJjaGF0SWNvbixuPXIuaXNQcm8scj1yLmlzU2luZ2xlO3JldHVybiBuJiZ0P0guYS5jcmVhdGVFbGVtZW50KG0se2ljb25Vcmw6dCxzaXplOmV9KTpILmEuY3JlYXRlRWxlbWVudCgic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix4bWxuc1hsaW5rOiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIixzdHlsZToibWVkaXVtIj09PWUmJnI/e2hlaWdodDoiMzBweCIsbWluV2lkdGg6IjMwcHgiLGZpbGw6IiNmZmZmZmYiLHN0cm9rZToibm9uZSJ9Ont3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIixmaWxsOiIjZmZmZmZmIixzdHJva2U6Im5vbmUifSx2aWV3Qm94OiIwIDAgMTAwIDEwMCJ9LEguYS5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZDoiTTg1LDQ1Ljk0YzAtMTQuMTctMTEuNTgtMjUuNjctMjUuODctMjUuNjdoLTIwLjI1Yy0xNC4yOSwwLTI1Ljg3LDExLjQ5LTI1Ljg3LDI1LjY3djIuMjNjMCwxNC4xOCwxMS41OCwyNS42NywyNS44NywyNS42N2gyMC4yNWMxLjQyLDAsMi44MS0uMTIsNC4xNy0uMzRsNS42MSw5LjQ2YzIuOTEsNC45LDEwLjQ3LDIuODYsMTAuNDctMi44M3YtMTUuOTljMy41Mi00LjM4LDUuNjItOS45Myw1LjYyLTE1Ljk3di0yLjIzWk0zMi4xMiw1MS44N2MtMi40OSwwLTQuNS0yLjAyLTQuNS00LjUxaDBjMC0yLjQ5LDIuMDEtNC41MSw0LjUtNC41MmgwYzIuNDksMCw0LjUsMi4wMyw0LjUsNC41MiwwLDIuNDktMi4wMSw0LjUxLTQuNSw0LjUxWk00NS42Miw1MS44N2MtMi40OSwwLTQuNS0yLjAyLTQuNS00LjUxaDBjMC0yLjQ5LDIuMDEtNC41MSw0LjUtNC41MmgwYzIuNDksMCw0LjUsMi4wMyw0LjUsNC41MiwwLDIuNDktMi4wMSw0LjUxLTQuNSw0LjUxWk01NC43Miw0Ny44MWMtLjI1LS41NywwLTEuMjMuNTctMS40OGwzLjg5LTEuNzNjLjI2LS4xMS40Ni0uMzIuNTctLjU3bDEuNzItMy45Yy4xMS0uMjYuMzItLjQ2LjU3LS41Ny41Ny0uMjUsMS4yMywwLDEuNDcuNTdsMS43MiwzLjljLjExLjI1LjMyLjQ2LjU3LjU3bDMuODksMS43M2MuMjYuMTEuNDYuMzIuNTcuNTcuMjUuNTcsMCwxLjIzLS41NywxLjQ4bC0zLjg5LDEuNzNjLS4yNS4xMS0uNDYuMzItLjU3LjU3bC0xLjcyLDMuOWMtLjExLjI2LS4zMi40Ni0uNTcuNTctLjU3LjI1LTEuMjIsMC0xLjQ3LS41N2wtMS43Mi0zLjljLS4xMS0uMjYtLjMyLS40Ni0uNTctLjU3bC0zLjg5LTEuNzNjLS4yNi0uMTEtLjQ2LS4zMi0uNTctLjU3WiJ9KSl9dmFyIGRyPUMuZC51bC53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2MtbDAzMGFkLTAifSkoWyJkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMHB4O3BhZGRpbmc6MTVweDttYXJnaW46MDtsaXN0LXN0eWxlLXR5cGU6bm9uZTttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSAyMjRweCk7b3ZlcmZsb3c6YXV0bzsmOjotd2Via2l0LXNjcm9sbGJhcntoZWlnaHQ6NXB4O3dpZHRoOjVweDttYXJnaW4tYm90dG9tOjVweDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjAyKTt9Jjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7bWFyZ2luLWJvdHRvbToxMHB4O30mOjotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kOnJnYmEoNTcsNTYsMTgsLjA3KTstd2Via2l0LWJvcmRlci1yYWRpdXM6M3B4O30iLCIiXSxEKCkmJk9iamVjdChDLmMpKFsibWF4LWhlaWdodDpjYWxjKDEwMHZoIC0gMTEwcHgpOyJdKSkscHI9Qy5kLmEud2l0aENvbmZpZyh7Y29tcG9uZW50SWQ6InNjLWwwMzBhZC0xIn0pKFsiIiwiIl0sZnVuY3Rpb24oZSl7ZT1lLmNvbG9yO3JldHVybiBPYmplY3QoQy5jKShbImhlaWdodDo2NXB4O2JhY2tncm91bmQtY29sb3I6IiwiMTA7Ym9yZGVyLXJhZGl1czoxMnB4O2JvcmRlcjoxcHggc29saWQgIiwiMzA7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtwYWRkaW5nOjVweCAxMHB4O3RleHQtZGVjb3JhdGlvbjpub25lO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246MC4xcyBhbGw7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1kZWNvcmF0aW9uOm5vbmUgIWltcG9ydGFudDsmOmJlZm9yZXtjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt3aWR0aDoycHg7aGVpZ2h0OjMyLjVweDtiYWNrZ3JvdW5kLWNvbG9yOiIsIjt9Jjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYgIWltcG9ydGFudDtib3gtc2hhZG93OnJnYigwIDAgMCAvIDglKSAycHggMnB4IDZweDt9Il0sZSxlLGUpfSksbXI9Qy5kLmltZy53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2MtbDAzMGFkLTIifSkoWyIiLCIiXSxmdW5jdGlvbihlKXt2YXIgdD1lLmJ1dHRvbkJvcmRlclJhZGl1cyxlPWUuYm9yZGVyO3JldHVybiBPYmplY3QoQy5jKShbIndpZHRoOjQ1cHg7aGVpZ2h0OjQ1cHg7bWluLXdpZHRoOjQ1cHg7Ym9yZGVyLXJhZGl1czoiLCIlO29iamVjdC1maXQ6Y292ZXI7Ym9yZGVyOiIsIjsiXSx0LGUmJiIycHggc29saWQgI2ZmZmZmZiIpfSksaHI9Qy5kLmRpdi53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2MtbDAzMGFkLTMifSkoWyIiLCIiXSxmdW5jdGlvbihlKXt2YXIgdD1lLmluZGljYXRvclBvc2l0aW9uLGU9ZS5taXJyb3I7cmV0dXJuIE9iamVjdChDLmMpKFsicG9zaXRpb246cmVsYXRpdmU7d2lkdGg6NDVweDtoZWlnaHQ6NDVweDttaW4td2lkdGg6NDVweDsmOmFmdGVye2NvbnRlbnQ6Jyc7d2lkdGg6MTBweDtoZWlnaHQ6MTBweDtiYWNrZ3JvdW5kLWNvbG9yOiM0ZGMyNDc7Ym9yZGVyLXJhZGl1czo1MCU7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOiIsInB4OyIsIiBib3gtc2hhZG93OjJweCAycHggNnB4IHJnYmEoMCwwLDAsMTAlKTt9Il0sdCxlP09iamVjdChDLmMpKFsibGVmdDoiLCJweDsiXSx0KTpPYmplY3QoQy5jKShbInJpZ2h0OiIsInB4OyJdLHQpKX0pLGdyPUMuZC5kaXYud2l0aENvbmZpZyh7Y29tcG9uZW50SWQ6InNjLWwwMzBhZC00In0pKFsiZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDsiXSksYnI9Qy5kLmg0LndpdGhDb25maWcoe2NvbXBvbmVudElkOiJzYy1sMDMwYWQtNSJ9KShbImNvbG9yOiM0ZDUxNTc7Zm9udC1zaXplOjE0cHg7bWFyZ2luOjA7bGluZS1oZWlnaHQ6MTZweDtmb250LXdlaWdodDo2MDA7IiwiIHRleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt3aWR0aDoxNzBweDsiXSxmdW5jdGlvbihlKXtyZXR1cm4gZS5taXJyb3I/T2JqZWN0KEMuYykoWyJ0ZXh0LWFsaWduOnJpZ2h0OyJdKTpPYmplY3QoQy5jKShbInRleHQtYWxpZ246bGVmdDsiXSl9KSx5cj1DLmQucC53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2MtbDAzMGFkLTYifSkoWyJjb2xvcjojOTg5YjlmO2ZvbnQtc2l6ZToxMnB4O21hcmdpbjo1cHggMCAwIDA7bGluZS1oZWlnaHQ6MTRweDsiLCIgdGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3dpZHRoOjE3MHB4OyJdLGZ1bmN0aW9uKGUpe3JldHVybiBlLm1pcnJvcj9PYmplY3QoQy5jKShbInRleHQtYWxpZ246cmlnaHQ7Il0pOk9iamVjdChDLmMpKFsidGV4dC1hbGlnbjpsZWZ0OyJdKX0pO2Z1bmN0aW9uIHZyKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIGV9KGUpfHxmdW5jdGlvbihlLHQpe3ZhciBuPW51bGw9PWU/bnVsbDoidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmZVtTeW1ib2wuaXRlcmF0b3JdfHxlWyJAQGl0ZXJhdG9yIl07aWYobnVsbCE9bil7dmFyIHIsbyxhLGksbD1bXSxjPSEwLHU9ITE7dHJ5e2lmKGE9KG49bi5jYWxsKGUpKS5uZXh0LDA9PT10KXtpZihPYmplY3QobikhPT1uKXJldHVybjtjPSExfWVsc2UgZm9yKDshKGM9KHI9YS5jYWxsKG4pKS5kb25lKSYmKGwucHVzaChyLnZhbHVlKSxsLmxlbmd0aCE9PXQpO2M9ITApO31jYXRjaChlKXt1PSEwLG89ZX1maW5hbGx5e3RyeXtpZighYyYmbnVsbCE9bi5yZXR1cm4mJihpPW4ucmV0dXJuKCksT2JqZWN0KGkpIT09aSkpcmV0dXJufWZpbmFsbHl7aWYodSl0aHJvdyBvfX1yZXR1cm4gbH19KGUsdCl8fGZ1bmN0aW9uKGUsdCl7dmFyIG47aWYoZSlyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/d3IoZSx0KToiTWFwIj09PShuPSJPYmplY3QiPT09KG49T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpLnNsaWNlKDgsLTEpKSYmZS5jb25zdHJ1Y3Rvcj9lLmNvbnN0cnVjdG9yLm5hbWU6bil8fCJTZXQiPT09bj9BcnJheS5mcm9tKGUpOiJBcmd1bWVudHMiPT09bnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3Qobik/d3IoZSx0KTp2b2lkIDB9KGUsdCl8fGZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX0oKX1mdW5jdGlvbiB3cihlLHQpeyhudWxsPT10fHx0PmUubGVuZ3RoKSYmKHQ9ZS5sZW5ndGgpO2Zvcih2YXIgbj0wLHI9bmV3IEFycmF5KHQpO248dDtuKyspcltuXT1lW25dO3JldHVybiByfWZ1bmN0aW9uIHhyKGUpe3ZhciBlPWUuc2l6ZSx0PShyPU9iamVjdChGLnVzZUNvbnRleHQpKFYpLnNldHRpbmdzKS5haUljb24sbj1yLmlzUHJvLHI9ci5pc1NpbmdsZTtyZXR1cm4gbiYmdD9ILmEuY3JlYXRlRWxlbWVudChtLHtpY29uVXJsOnQsc2l6ZTplfSk6SC5hLmNyZWF0ZUVsZW1lbnQoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIseG1sbnNYbGluazoiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsc3R5bGU6Im1lZGl1bSI9PT1lJiZyP3toZWlnaHQ6IjMwcHgiLG1pbldpZHRoOiIzMHB4IixmaWxsOiIjZmZmZmZmIixzdHJva2U6Im5vbmUifTp7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsZmlsbDoiI2ZmZmZmZiIsc3Ryb2tlOiJub25lIn0sdmlld0JveDoiMCAwIDQ4IDQ4In0sSC5hLmNyZWF0ZUVsZW1lbnQoInBhdGgiLHtmaWxsOiIjZmZmIixkOiJNMzguOTUsMTkuNTNjLS4yMy0uMDgtLjQyLS4yNi0uNDktLjUtMS4zMy00LjQ1LTQuNzMtNi4yMS0xMC4wOS02LjczLS4xOS0uMDItLjM3LS4xLS41MS0uMjMtLjU5LS41NC0xLjQ4LS44Ni0yLjgtLjk3LS4xNC0uMDEtLjI1LS4xMi0uMjctLjI2bC0uMjMtMS43MWMtLjAyLS4xMy4wNi0uMjYuMTgtLjMyLjc4LS4zMiwxLjMtMS4xMywxLjE4LTIuMDUtLjExLS44OC0uODMtMS41Ny0xLjctMS42Ny0xLjE3LS4xMy0yLjE2Ljc4LTIuMTYsMS45MywwLC44MS40OSwxLjUsMS4xOSwxLjc5LjEzLjA1LjIuMTguMTguMzJsLS4yMywxLjcxYy0uMDIuMTQtLjEzLjI1LS4yNy4yNi0xLjMyLjEtMi4yMS40My0yLjguOTctLjE0LjEzLS4zMi4yMS0uNTEuMjMtNS4zNi41Mi04Ljc1LDIuMjgtMTAuMDksNi43My0uMDcuMjQtLjI1LjQyLS40OS41LTEuNTYuNTMtMi4yNywxLjc2LTIuMjcsNC42N3MuNzIsNC4xNSwyLjI3LDQuNjdjLjIzLjA4LjQyLjI2LjQ5LjUsMS4zNiw0LjU1LDQuODgsNi4yOCwxMC40NCw2Ljc2aC0uMDZjLjI4LjAyLjUxLjI1LjUxLjUydjIuNjNjMCwuMzIuMzEuNTQuNjEuNDMsMS44OS0uNjksNy43OS0yLjg1LDEyLjMtNC43aDBjMi41NS0xLjAyLDQuMjctMi43Nyw1LjEzLTUuNjQuMDctLjI0LjI1LS40Mi40OS0uNSwxLjU2LS41MywyLjI3LTEuNzYsMi4yNy00LjY4cy0uNzItNC4xNS0yLjI3LTQuNjdaTTM0Ljc4LDI4Ljk1Yy0uMzYuOTEtLjg2LDEuNTYtMS41OCwyLjA2LTEuNjEsMS4xMy00LjUzLDEuNjUtOS4yMSwxLjY1cy03LjYtLjUzLTkuMjEtMS42NWMtLjcxLS41LTEuMjEtMS4xNi0xLjU4LTIuMDYtLjQ3LTEuMTctLjctMi43Ni0uNy00Ljc0cy4yNC0zLjU4LjctNC43NGMuMzYtLjkxLjg2LTEuNTYsMS41OC0yLjA2LDEuNjEtMS4xMyw0LjUzLTEuNjUsOS4yMS0xLjY1czcuNi41Miw5LjIxLDEuNjVjLjcxLjUsMS4yMSwxLjE2LDEuNTgsMi4wNi40NywxLjE3LjcsMi43Ni43LDQuNzRzLS4yNCwzLjU4LS43LDQuNzRaIn0pLEguYS5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZmlsbDoiI2ZmZiIsZDoiTTE4Ljk1LDIxLjk3Yy0xLjIxLDAtMS40NywxLjExLTEuNDcsMi4yNHMuMjYsMi4yNCwxLjQ3LDIuMjQsMS40Ny0xLjExLDEuNDctMi4yNC0uMjYtMi4yNC0xLjQ3LTIuMjRaIn0pLEguYS5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZmlsbDoiI2ZmZiIsZDoiTTI5LjA1LDIxLjk3Yy0xLjIxLDAtMS40NywxLjExLTEuNDcsMi4yNHMuMjYsMi4yNCwxLjQ3LDIuMjQsMS40Ny0xLjExLDEuNDctMi4yNC0uMjYtMi4yNC0xLjQ3LTIuMjRaIn0pKX12YXIga3I9Qy5kLmlmcmFtZS53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2MtMWdlamdrbS0wIn0pKFsiYm9yZGVyOm5vbmU7b3ZlcmZsb3c6aGlkZGVuO3RyYW5zaXRpb246b3BhY2l0eSAuNXM7d2lkdGg6MTA4JTtoZWlnaHQ6MTAwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTJweCk7IiwiOyIsIiJdLGZ1bmN0aW9uKGUpe3JldHVybiBlLmlzTG9hZGluZyYmT2JqZWN0KEMuYykoWyJvcGFjaXR5Oi4wOyJdKX0sRCgpJiZPYmplY3QoQy5jKShbImhlaWdodDoxMDB2aDtoZWlnaHQ6Y2FsYygodmFyKC0tdmgpICogMTAwKSAtIDUwcHgpO21heC1oZWlnaHQ6Y2FsYygxMDAlIC0gNTBweCk7d2lkdGg6Y2FsYygxMDAlICsgMTlweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTExcHgpOyJdKSk7ZnVuY3Rpb24gU3IoZSx0KXtyZXR1cm4gZnVuY3Rpb24oZSl7aWYoQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gZX0oZSl8fGZ1bmN0aW9uKGUsdCl7dmFyIG49bnVsbD09ZT9udWxsOiJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZlW1N5bWJvbC5pdGVyYXRvcl18fGVbIkBAaXRlcmF0b3IiXTtpZihudWxsIT1uKXt2YXIgcixvLGEsaSxsPVtdLGM9ITAsdT0hMTt0cnl7aWYoYT0obj1uLmNhbGwoZSkpLm5leHQsMD09PXQpe2lmKE9iamVjdChuKSE9PW4pcmV0dXJuO2M9ITF9ZWxzZSBmb3IoOyEoYz0ocj1hLmNhbGwobikpLmRvbmUpJiYobC5wdXNoKHIudmFsdWUpLGwubGVuZ3RoIT09dCk7Yz0hMCk7fWNhdGNoKGUpe3U9ITAsbz1lfWZpbmFsbHl7dHJ5e2lmKCFjJiZudWxsIT1uLnJldHVybiYmKGk9bi5yZXR1cm4oKSxPYmplY3QoaSkhPT1pKSlyZXR1cm59ZmluYWxseXtpZih1KXRocm93IG99fXJldHVybiBsfX0oZSx0KXx8ZnVuY3Rpb24oZSx0KXt2YXIgbjtpZihlKXJldHVybiJzdHJpbmciPT10eXBlb2YgZT9DcihlLHQpOiJNYXAiPT09KG49Ik9iamVjdCI9PT0obj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkuc2xpY2UoOCwtMSkpJiZlLmNvbnN0cnVjdG9yP2UuY29uc3RydWN0b3IubmFtZTpuKXx8IlNldCI9PT1uP0FycmF5LmZyb20oZSk6IkFyZ3VtZW50cyI9PT1ufHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKT9DcihlLHQpOnZvaWQgMH0oZSx0KXx8ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gZGVzdHJ1Y3R1cmUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLiIpfSgpfWZ1bmN0aW9uIENyKGUsdCl7KG51bGw9PXR8fHQ+ZS5sZW5ndGgpJiYodD1lLmxlbmd0aCk7Zm9yKHZhciBuPTAscj1uZXcgQXJyYXkodCk7bjx0O24rKylyW25dPWVbbl07cmV0dXJuIHJ9dmFyIEVyPSJmcm9tLWdiLXdpZGdldCIsT3I9ZnVuY3Rpb24oKXtyZXR1cm4iaHR0cHM6Ly9zdGF0aWMuZ2V0YnV0dG9uLmlvL3dpZGdldC9idW5kbGUtYWkuanMifSxqcj1mdW5jdGlvbiBlKHQpe3ZhciBuPTE8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTowO3dpbmRvdy5HQkFJPyh0LmlkPUVyLGNvbnNvbGUubG9nKCdHQiBzZW5kIGV2ZW50OiAiaW5pdCBhcHAiJyx0KSx3aW5kb3cuR0JBSS5pbml0KHtzZXR0aW5nczp0fSkpOihjb25zb2xlLmVycm9yKCJ3aW5kb3cuR0JBSSBub3QgZm91bmQuLi4iLHdpbmRvdy5HQkFJKSxuPDE1P3NldFRpbWVvdXQoZnVuY3Rpb24oKXtjb25zb2xlLmxvZygid2luZG93LkdCQUkgbG9hZGlnIGF0dGVtcHQgIi5jb25jYXQobisxLCI6IHJldHJ5aW5nIGluaXRQb3B1cC4uLiIpKSxlKHQsbisxKX0sMWUzKTpjb25zb2xlLmVycm9yKCJ3aW5kb3cuR0JBSSBhdHRlbXB0cyBmaW5pc2hlZC4iKSl9LEFyPWZ1bmN0aW9uKCl7SXIoe2lzX3Nob3dfcG9wdXA6ITB9KX0sUHI9ZnVuY3Rpb24oKXtJcih7aXNfc2hvd19wb3B1cDohMX0pfSxJcj1mdW5jdGlvbihlKXtlLmlkPUVyLGNvbnNvbGUubG9nKCdHQiBzZW5kIGV2ZW50OiAidXBkYXRlIHNldHRpbmdzIicsZSksd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJHZXRidXR0b25BaVVwZGF0ZVN0YXRlIix7ZGV0YWlsOmV9KSl9O2Z1bmN0aW9uIF9yKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIGV9KGUpfHxmdW5jdGlvbihlLHQpe3ZhciBuPW51bGw9PWU/bnVsbDoidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmZVtTeW1ib2wuaXRlcmF0b3JdfHxlWyJAQGl0ZXJhdG9yIl07aWYobnVsbCE9bil7dmFyIHIsbyxhLGksbD1bXSxjPSEwLHU9ITE7dHJ5e2lmKGE9KG49bi5jYWxsKGUpKS5uZXh0LDA9PT10KXtpZihPYmplY3QobikhPT1uKXJldHVybjtjPSExfWVsc2UgZm9yKDshKGM9KHI9YS5jYWxsKG4pKS5kb25lKSYmKGwucHVzaChyLnZhbHVlKSxsLmxlbmd0aCE9PXQpO2M9ITApO31jYXRjaChlKXt1PSEwLG89ZX1maW5hbGx5e3RyeXtpZighYyYmbnVsbCE9bi5yZXR1cm4mJihpPW4ucmV0dXJuKCksT2JqZWN0KGkpIT09aSkpcmV0dXJufWZpbmFsbHl7aWYodSl0aHJvdyBvfX1yZXR1cm4gbH19KGUsdCl8fGZ1bmN0aW9uKGUsdCl7dmFyIG47aWYoZSlyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/enIoZSx0KToiTWFwIj09PShuPSJPYmplY3QiPT09KG49T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpLnNsaWNlKDgsLTEpKSYmZS5jb25zdHJ1Y3Rvcj9lLmNvbnN0cnVjdG9yLm5hbWU6bil8fCJTZXQiPT09bj9BcnJheS5mcm9tKGUpOiJBcmd1bWVudHMiPT09bnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3Qobik/enIoZSx0KTp2b2lkIDB9KGUsdCl8fGZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX0oKX1mdW5jdGlvbiB6cihlLHQpeyhudWxsPT10fHx0PmUubGVuZ3RoKSYmKHQ9ZS5sZW5ndGgpO2Zvcih2YXIgbj0wLHI9bmV3IEFycmF5KHQpO248dDtuKyspcltuXT1lW25dO3JldHVybiByfWZ1bmN0aW9uIFRyKGUpe3ZhciBlPWUuc2l6ZSx0PShyPU9iamVjdChGLnVzZUNvbnRleHQpKFYpLnNldHRpbmdzKS5rYWthb3RhbGtJY29uLG49ci5pc1BybyxyPXIuaXNTaW5nbGU7cmV0dXJuIG4mJnQ/SC5hLmNyZWF0ZUVsZW1lbnQobSx7aWNvblVybDp0LHNpemU6ZX0pOkguYS5jcmVhdGVFbGVtZW50KCJzdmciLHtzdHlsZToibWVkaXVtIj09PWUmJnI/e2hlaWdodDoiMzBweCIsbWluV2lkdGg6IjMwcHgiLGZpbGw6IiNmZmYiLHN0cm9rZToibm9uZSJ9Ont3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIixmaWxsOiIjZmZmIixzdHJva2U6Im5vbmUifSx2ZXJzaW9uOiIxLjEiLHZpZXdCb3g6Ii0yNCAtMjQgMjUyIDIzNiIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIn0sSC5hLmNyZWF0ZUVsZW1lbnQoInBhdGgiLHtmaWxsUnVsZToiZXZlbm9kZCIsY2xpcFJ1bGU6ImV2ZW5vZGQiLGQ6Ik0wLjQzNzUgODAuMjM0NEMwLjQzNzUgMzYuMDA4OCA0NS45MDgyIDAuMTU2MjUgMTAyIDAuMTU2MjVDMTU4LjA5MiAwLjE1NjI1IDIwMy41NjIgMzYuMDA4OCAyMDMuNTYyIDgwLjIzNDRDMjAzLjU2MiAxMjQuNDYxIDE1OC4wOTIgMTYwLjMxMiAxMDIgMTYwLjMxMkM5NS44NDM4IDE2MC4zMTIgODkuODE1NCAxNTkuODgyIDgzLjk2MDkgMTU5LjA1M0M3OC4xMDA2IDE2My4xODMgNDQuMjQyMiAxODYuOTY2IDQxLjA0NjkgMTg3LjQxMkM0MS4wNDY5IDE4Ny40MTIgMzkuNzM2MyAxODcuOTIyIDM4LjYyMjEgMTg3LjI2NkMzNy41MDc4IDE4Ni42MDkgMzcuNzEgMTg0Ljg4OSAzNy43MSAxODQuODg5QzM4LjA0NTkgMTgyLjU5OSA0Ni40ODczIDE1My40NDggNDguMDQzIDE0OC4wODNDMTkuNDQ3MyAxMzMuOTE2IDAuNDM3NSAxMDguODI3IDAuNDM3NSA4MC4yMzQ0Wk0zOS45ODgzIDEwMi41OTNDMzkuOTg4MyAxMDUuNjc5IDQyLjYxNjIgMTA4LjE4OCA0NS44NDc3IDEwOC4xODhDNDkuMDc5MSAxMDguMTg4IDUxLjcwNyAxMDUuNjc5IDUxLjcwNyAxMDIuNTkzVjY3Ljc4MzJINjAuODQ5NkM2NC4wMTk1IDY3Ljc4MzIgNjYuNTk5NiA2NS4yMDkgNjYuNTk5NiA2Mi4wNDU5QzY2LjU5OTYgNTguODgyOCA2NC4wMjA1IDU2LjMwODYgNjAuODQ5NiA1Ni4zMDg2SDMwLjg0NTdDMjcuNjc1OCA1Ni4zMDg2IDI1LjA5NTcgNTguODgyOCAyNS4wOTU3IDYyLjA0NTlDMjUuMDk1NyA2NS4yMDkgMjcuNjc0OCA2Ny43ODMyIDMwLjg0NTcgNjcuNzgzMkgzOS45ODgzVjEwMi41OTNaTTkyLjM1MDYgMTA1LjUyNEM5Mi45MTQxIDEwNy4xMiA5NC43ODMyIDEwOC4xMTIgOTcuMjI2NiAxMDguMTEyQzk4LjUxMTYgMTA4LjExMyA5OS43ODE5IDEwNy44MzggMTAwLjk1MSAxMDcuMzA1QzEwMi41NjYgMTA2LjU2MiAxMDQuMTE5IDEwNC41MTIgMTAyLjMzNiA5OC45NzI3TDg4LjMyNjIgNjIuMDk4NkM4Ny4zMzY5IDU5LjI4NzEgODQuMzM3OSA1Ni4zOTU1IDgwLjUxMDcgNTYuMzA5NkM3Ni42OTQzIDU2LjM5NjUgNzMuNjk1MyA1OS4yODcxIDcyLjcwOCA2Mi4wOTI4TDU4LjY5MjQgOTguOTgzNEM1Ni45MTMxIDEwNC41MSA1OC40NjU4IDEwNi41NTkgNjAuMDgxMSAxMDcuMzA0QzYxLjI1IDEwNy44MzggNjIuNTIwNCAxMDguMTE0IDYzLjgwNTcgMTA4LjExMkM2Ni4yNDkgMTA4LjExMiA2OC4xMTcyIDEwNy4xMjEgNjguNjc4NyAxMDUuNTI4TDcxLjU4MiA5Ny45Mjc3TDg5LjQ0OTIgOTcuOTI4N0w5Mi4zNTA2IDEwNS41MjRaTTgwLjUxNTYgNzAuOTIzOEw4Ni4zNjgyIDg3LjU0OThINzQuNjYzMUw4MC41MTU2IDcwLjkyMzhaTTEwNi4xNSAxMDEuOTYzQzEwNi4xNSAxMDQuOTI0IDEwOC42NjkgMTA3LjMzNCAxMTEuNzY2IDEwNy4zMzRIMTMwLjU2NEMxMzMuNjYxIDEwNy4zMzQgMTM2LjE4IDEwNC45MjQgMTM2LjE4IDEwMS45NjNDMTM2LjE4IDk5LjAwMiAxMzMuNjYxIDk2LjU5MTggMTMwLjU2NCA5Ni41OTE4SDExOC4xMTNWNjIuMTY4QzExOC4xMTMgNTguOTM2NSAxMTUuNDMgNTYuMzA4NiAxMTIuMTMyIDU2LjMwODZDMTA4LjgzNCA1Ni4zMDg2IDEwNi4xNSA1OC45MzY1IDEwNi4xNSA2Mi4xNjhWMTAxLjk2M1pNMTM4LjQ1OSAxMDIuMjUzQzEzOC40NTkgMTA1LjQ4NCAxNDEuMDg3IDEwOC4xMTIgMTQ0LjMxOCAxMDguMTEyQzE0NS44NzIgMTA4LjExIDE0Ny4zNjIgMTA3LjQ5MiAxNDguNDYxIDEwNi4zOTNDMTQ5LjU2IDEwNS4yOTQgMTUwLjE3OCAxMDMuODA0IDE1MC4xOCAxMDIuMjVWODkuNDY1OEwxNTIuMjEzIDg3LjQzMjZMMTY1Ljk1NCAxMDUuNjRDMTY2LjQ5OCAxMDYuMzY2IDE2Ny4yMDUgMTA2Ljk1NiAxNjguMDE4IDEwNy4zNkMxNjguODMxIDEwNy43NjUgMTY5LjcyNyAxMDcuOTczIDE3MC42MzUgMTA3Ljk2OUMxNzEuOTA3IDEwNy45NzIgMTczLjE0NiAxMDcuNTU2IDE3NC4xNTkgMTA2Ljc4NkMxNzQuNzc1IDEwNi4zMjQgMTc1LjI5MyAxMDUuNzQ1IDE3NS42ODMgMTA1LjA4MkMxNzYuMDczIDEwNC40MTkgMTc2LjMyOCAxMDMuNjg0IDE3Ni40MzMgMTAyLjkyMkMxNzYuNTQyIDEwMi4xNiAxNzYuNDk5IDEwMS4zODQgMTc2LjMwNiAxMDAuNjM5QzE3Ni4xMTMgOTkuODkzNCAxNzUuNzczIDk5LjE5NCAxNzUuMzA4IDk4LjU4MTFMMTYwLjg4NSA3OS40NzM2TDE3NC4yMzcgNjYuMTIzQzE3NS4xNTUgNjUuMjA0MSAxNzUuNjE1IDYzLjkzNzUgMTc1LjUzIDYyLjU1NTdDMTc1LjQ0NiA2MS4xODU2IDE3NC44MzQgNTkuODY2MiAxNzMuODA4IDU4Ljg0MDhDMTcyLjcwNyA1Ny43NDEyIDE3MS4yMzggNTcuMTEwNCAxNjkuNzc1IDU3LjExMDRDMTY4LjUyMSA1Ny4xMTA0IDE2Ny4zNjYgNTcuNTczMiAxNjYuNTI1IDU4LjQxNDFMMTUwLjE3OCA3NC43NjE3VjYyLjE2OEMxNTAuMTc4IDU4LjkzNjUgMTQ3LjU1IDU2LjMwODYgMTQ0LjMxOCA1Ni4zMDg2QzE0MS4wODcgNTYuMzA4NiAxMzguNDU5IDU4LjkzNjUgMTM4LjQ1OSA2Mi4xNjhWMTAyLjI1M1oifSkpfWZ1bmN0aW9uIExyKGUpe3ZhciB0PXZvaWQgMD09PSh0PWUuYWN0aXZhdG9ySWNvbik/bnVsbDp0LGU9ZS5idXR0b25JbWFnZSxuPShvPU9iamVjdChGLnVzZUNvbnRleHQpKFYpLnNldHRpbmdzKS5hY3RpdmF0b3JTaXplLHI9by5idXR0b25Cb3JkZXJSYWRpdXMsbz1vLmJ1dHRvblN0eWxlO3JldHVybiBlP0guYS5jcmVhdGVFbGVtZW50KCJpbWciLHtzcmM6IiIuY29uY2F0KGUpLHN0eWxlOnt3aWR0aDoiIi5jb25jYXQoTWF0aC5taW4oLjU1Km4sNDApLCJweCIpLGhlaWdodDoiIi5jb25jYXQoTWF0aC5taW4oLjU1Km4sNDApLCJweCIpLG9iamVjdEZpdDoiY292ZXIiLGJvcmRlclJhZGl1czoiIi5jb25jYXQoLjM1KnIsInB4Iil9fSk6InNtaWxlIj09PXQ/SC5hLmNyZWF0ZUVsZW1lbnQoInN2ZyIse3N0eWxlOiJjbGFzc2ljIiE9PW8/e3dpZHRoOiI4NSUiLGhlaWdodDoiMTAwJSIsZmlsbDoiI2ZmZiIsc3Ryb2tlOiJub25lIn06e3dpZHRoOiI2NSUiLGhlaWdodDoiMTAwJSIsZmlsbDoiI2ZmZiIsc3Ryb2tlOiJub25lIixkaXNwbGF5OiJibG9jayIsbWFyZ2luOiJhdXRvIixtYXJnaW5MZWZ0OiIyMCUifSx2aWV3Qm94OiIwIDAgMzAgMzAiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyJ9LEguYS5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZmlsbFJ1bGU6ImV2ZW5vZGQiLGNsaXBSdWxlOiJldmVub2RkIixkOiJNNy40NjIwNCAyLjAyNzQ2QzkuNzUwMjcgMC42OTgzMjcgMTIuMzQ5NSAtMC4wMDExODM3NyAxNC45OTU1IDIuNjAzNzNlLTA2QzE3LjMwMzEgLTAuMDAxMzU3MzQgMTkuNTc5OSAwLjUzMDAyOCAyMS42NDg3IDEuNTUyNzlDMjMuNzE3NCAyLjU3NTU2IDI1LjUyMjMgNC4wNjIxIDI2LjkyMjcgNS44OTY3MUMyOC4zMjMyIDcuNzMxMzEgMjkuMjgxNSA5Ljg2NDQ3IDI5LjcyMyAxMi4xMzAxQzMwLjE2NDUgMTQuMzk1OCAzMC4wNzczIDE2LjczMjggMjkuNDY4MiAxOC45NTkyQzI4Ljg1OTEgMjEuMTg1NiAyNy43NDQ2IDIzLjI0MTQgMjYuMjExMyAyNC45NjY1QzI0LjY3OCAyNi42OTE2IDIyLjc2NzUgMjguMDM5NSAyMC42MjgzIDI4LjkwNTJDMTguNDg5MSAyOS43NzA4IDE2LjE3OSAzMC4xMzEgMTMuODc3OSAyOS45NTc2QzExLjU3NjggMjkuNzg0MiA5LjM0Njc5IDI5LjA4MTkgNy4zNjEzOSAyNy45MDU1TDEuODI5MzcgMjkuOTE4MkMxLjY3OTc5IDI5Ljk3MTkgMS41MjIwOSAyOS45OTk2IDEuMzYzMTQgMzBDMS4xNDQwNyAyOS45OTk4IDAuOTI4MjY0IDI5Ljk0NjkgMC43MzM5OTcgMjkuODQ1NkMwLjUzOTczIDI5Ljc0NDMgMC4zNzI3MjggMjkuNTk3NyAwLjI0NzEzNCAyOS40MTgxQzAuMTIxNTQgMjkuMjM4NiAwLjA0MTA1NDYgMjkuMDMxNCAwLjAxMjQ5NDQgMjguODE0MUMtMC4wMTYwNjU3IDI4LjU5NjkgMC4wMDgxNDA4MyAyOC4zNzU5IDAuMDgzMDYzNiAyOC4xN0wyLjA5Mzg0IDIyLjYzNjRDMC43NDQ5NDQgMjAuMzU5MyAwLjAyMjcwOSAxNy43NjU2IDAuMDAwNTI2ODMyIDE1LjExODlDLTAuMDIxNjU1MyAxMi40NzIxIDAuNjU3MDA3IDkuODY2NzEgMS45Njc1NSA3LjU2NzMzQzMuMjc4MDkgNS4yNjc5NSA1LjE3MzggMy4zNTY1OCA3LjQ2MjA0IDIuMDI3NDZaTTEwLjkwNiA4LjAzNjQ0QzkuODc0NSA4LjAzNjQ0IDkuMDM3ODcgOC44NzMzNyA5LjAzNzg3IDkuOTA0NjFDOS4wMzc4NyAxMC45MzY4IDkuODc0NSAxMS43NzMxIDEwLjkwNiAxMS43NzM0QzExLjkzNzMgMTEuNzczNCAxMi43NzM5IDEwLjkzNjggMTIuNzczOSA5LjkwNDYxQzEyLjc3MzkgOC44NzMwNiAxMS45MzczIDguMDM2NDQgMTAuOTA2IDguMDM2NDRaTTE5LjM3NzQgOC4wMzY0NEMxOC4zNDYyIDguMDM2NDQgMTcuNTA4NyA4Ljg3MzM3IDE3LjUwODcgOS45MDQ2MUMxNy41MDg3IDEwLjkzNjggMTguMzQ2NSAxMS43NzMxIDE5LjM3NzQgMTEuNzczNEMyMC40MDkgMTEuNzczNCAyMS4yNDU2IDEwLjkzNjggMjEuMjQ1NiA5LjkwNDYxQzIxLjI0NTYgOC44NzMwNiAyMC40MDg3IDguMDM2NDQgMTkuMzc3NCA4LjAzNjQ0Wk0xNS4wMTc4IDIxLjk2MzVDMTguMDU2NCAyMS45NjM1IDIwLjc2NzggMjAuMjMzNiAyMS45MjU2IDE3LjU1NjNDMjIuMTIzOCAxNy4wOTggMjEuOTEyOSAxNi41NjYgMjEuNDU0MSAxNi4zNjhDMjAuOTk2NSAxNi4xNjkyIDIwLjQ2NDQgMTYuMzgwNCAyMC4yNjYyIDE2LjgzODZDMTkuMzk0NiAxOC44NTQxIDE3LjMzNDUgMjAuMTU2MiAxNS4wMTc4IDIwLjE1NjJDMTIuNjQ3NCAyMC4xNTYyIDEwLjU3NTIgMTguODU1IDkuNzM4NjIgMTYuODQxQzkuNTk0MzEgMTYuNDkzMSA5LjI1ODEgMTYuMjgzNCA4LjkwMzggMTYuMjgzNEM4Ljc4ODEyIDE2LjI4MzQgOC42NzA2MiAxNi4zMDU3IDguNTU3MzQgMTYuMzUyNEM4LjA5NjEgMTYuNTQ0IDcuODc3NjggMTcuMDczIDguMDY5MjkgMTcuNTM0QzkuMTg3IDIwLjIyNDkgMTEuOTE0NCAyMS45NjM1IDE1LjAxNzggMjEuOTYzNVoiLGZpbGw6IndoaXRlIn0pKToic3F1YXJlX21lc3NhZ2UiPT09dD9ILmEuY3JlYXRlRWxlbWVudCgic3ZnIix7c3R5bGU6ImNsYXNzaWMiIT09bz97d2lkdGg6Ijg1JSIsaGVpZ2h0OiIxMDAlIixmaWxsOiIjZmZmIixzdHJva2U6Im5vbmUifTp7d2lkdGg6IjY1JSIsaGVpZ2h0OiIxMDAlIixmaWxsOiIjZmZmIixzdHJva2U6Im5vbmUiLGRpc3BsYXk6ImJsb2NrIixtYXJnaW46ImF1dG8iLG1hcmdpbkxlZnQ6IjIwJSJ9LHZpZXdCb3g6IjAgMCAzMiAzMiIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIn0sSC5hLmNyZWF0ZUVsZW1lbnQoInBhdGgiLHtkOiJNMjMuOTU0NSAySDcuMDQ1NDVDNS4xNzc1NyAyLjAwMjE3IDMuMzg2ODMgMi43MjEyIDIuMDY2MDQgMy45OTkzOEMwLjc0NTI0MyA1LjI3NzU2IDAuMDAyMjM3NDQgNy4wMTA1MiAwIDguODE4MTRWMTkuNzI3MkMwLjAwMjA0OTU2IDIxLjI5ODMgMC41NjM3NjMgMjIuODIwOCAxLjU5MDQ3IDI0LjAzNzlDMi42MTcxNyAyNS4yNTUxIDQuMDQ2MDggMjYuMDkyNCA1LjYzNjM2IDI2LjQwODlWMzAuNjM2MkM1LjYzNjMzIDMwLjg4MyA1LjcwNTU0IDMxLjEyNTMgNS44MzY2MyAzMS4zMzcxQzUuOTY3NzIgMzEuNTQ4OSA2LjE1NTc2IDMxLjcyMjIgNi4zODA2OSAzMS44Mzg3QzYuNjA1NjMgMzEuOTU1MiA2Ljg1OTAxIDMyLjAxMDQgNy4xMTM4MiAzMS45OTg0QzcuMzY4NjIgMzEuOTg2NCA3LjYxNTI5IDMxLjkwNzcgNy44Mjc1IDMxLjc3MDdMMTUuOTIyNyAyNi41NDUzSDIzLjk1NDVDMjUuODIyNCAyNi41NDMxIDI3LjYxMzIgMjUuODI0MSAyOC45MzQgMjQuNTQ1OUMzMC4yNTQ4IDIzLjI2NzcgMzAuOTk3OCAyMS41MzQ4IDMxIDE5LjcyNzJWOC44MTgxNEMzMC45OTc4IDcuMDEwNTIgMzAuMjU0OCA1LjI3NzU2IDI4LjkzNCAzLjk5OTM4QzI3LjYxMzIgMi43MjEyIDI1LjgyMjQgMi4wMDIxNyAyMy45NTQ1IDJaTTIxLjEzNjQgMTguMzYzNUg5Ljg2MzY0QzkuNDg5OTIgMTguMzYzNSA5LjEzMTUxIDE4LjIxOTkgOC44NjcyNiAxNy45NjQxQzguNjAzIDE3LjcwODQgOC40NTQ1NSAxNy4zNjE2IDguNDU0NTUgMTYuOTk5OUM4LjQ1NDU1IDE2LjYzODIgOC42MDMgMTYuMjkxNCA4Ljg2NzI2IDE2LjAzNTdDOS4xMzE1MSAxNS43Nzk5IDkuNDg5OTIgMTUuNjM2MyA5Ljg2MzY0IDE1LjYzNjNIMjEuMTM2NEMyMS41MTAxIDE1LjYzNjMgMjEuODY4NSAxNS43Nzk5IDIyLjEzMjcgMTYuMDM1N0MyMi4zOTcgMTYuMjkxNCAyMi41NDU1IDE2LjYzODIgMjIuNTQ1NSAxNi45OTk5QzIyLjU0NTUgMTcuMzYxNiAyMi4zOTcgMTcuNzA4NCAyMi4xMzI3IDE3Ljk2NDFDMjEuODY4NSAxOC4yMTk5IDIxLjUxMDEgMTguMzYzNSAyMS4xMzY0IDE4LjM2MzVaTTIzLjk1NDUgMTIuOTA5SDcuMDQ1NDVDNi42NzE3NCAxMi45MDkgNi4zMTMzMyAxMi43NjUzIDYuMDQ5MDggMTIuNTA5NkM1Ljc4NDgyIDEyLjI1MzkgNS42MzYzNiAxMS45MDcgNS42MzYzNiAxMS41NDU0QzUuNjM2MzYgMTEuMTgzNyA1Ljc4NDgyIDEwLjgzNjkgNi4wNDkwOCAxMC41ODEyQzYuMzEzMzMgMTAuMzI1NCA2LjY3MTc0IDEwLjE4MTggNy4wNDU0NSAxMC4xODE4SDIzLjk1NDVDMjQuMzI4MyAxMC4xODE4IDI0LjY4NjcgMTAuMzI1NCAyNC45NTA5IDEwLjU4MTJDMjUuMjE1MiAxMC44MzY5IDI1LjM2MzYgMTEuMTgzNyAyNS4zNjM2IDExLjU0NTRDMjUuMzYzNiAxMS45MDcgMjUuMjE1MiAxMi4yNTM5IDI0Ljk1MDkgMTIuNTA5NkMyNC42ODY3IDEyLjc2NTMgMjQuMzI4MyAxMi45MDkgMjMuOTU0NSAxMi45MDlaIixmaWxsOiJ3aGl0ZSJ9KSk6InJvdW5kX21lc3NhZ2UiPT09dD9ILmEuY3JlYXRlRWxlbWVudCgic3ZnIix7c3R5bGU6ImNsYXNzaWMiIT09bz97d2lkdGg6Ijg1JSIsaGVpZ2h0OiIxMDAlIixmaWxsOiIjZmZmIixzdHJva2U6Im5vbmUifTp7d2lkdGg6IjY1JSIsaGVpZ2h0OiIxMDAlIixmaWxsOiIjZmZmIixzdHJva2U6Im5vbmUiLGRpc3BsYXk6ImJsb2NrIixtYXJnaW46ImF1dG8iLG1hcmdpbkxlZnQ6IjIwJSJ9LHZpZXdCb3g6IjAgMCAzMiAzMiIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIn0sSC5hLmNyZWF0ZUVsZW1lbnQoInBhdGgiLHtkOiJNMTYgMUM3LjcyOTM4IDEgMSA3LjcyOTM4IDEgMTZWMzAuMDYyNUMxIDMwLjU4IDEuNDIgMzEgMS45Mzc1IDMxSDE2QzI0LjI3MDYgMzEgMzEgMjQuMjcwNiAzMSAxNkMzMSA3LjcyOTM4IDI0LjI3MDYgMSAxNiAxWk0xNi45Mzc1IDE5Ljc1SDkuNDM3NUM4LjkyIDE5Ljc1IDguNSAxOS4zMyA4LjUgMTguODEyNUM4LjUgMTguMjk1IDguOTIgMTcuODc1IDkuNDM3NSAxNy44NzVIMTYuOTM3NUMxNy40NTUgMTcuODc1IDE3Ljg3NSAxOC4yOTUgMTcuODc1IDE4LjgxMjVDMTcuODc1IDE5LjMzIDE3LjQ1NSAxOS43NSAxNi45Mzc1IDE5Ljc1Wk0yMi41NjI1IDE0LjEyNUg5LjQzNzVDOC45MiAxNC4xMjUgOC41IDEzLjcwNSA4LjUgMTMuMTg3NUM4LjUgMTIuNjcgOC45MiAxMi4yNSA5LjQzNzUgMTIuMjVIMjIuNTYyNUMyMy4wOCAxMi4yNSAyMy41IDEyLjY3IDIzLjUgMTMuMTg3NUMyMy41IDEzLjcwNSAyMy4wOCAxNC4xMjUgMjIuNTYyNSAxNC4xMjVaIixmaWxsOiJ3aGl0ZSJ9KSk6ImRpYWxvZyI9PT10P0guYS5jcmVhdGVFbGVtZW50KCJzdmciLHtzdHlsZToiY2xhc3NpYyIhPT1vP3t3aWR0aDoiODUlIixoZWlnaHQ6IjEwMCUiLGZpbGw6IiNmZmYiLHN0cm9rZToibm9uZSJ9Ont3aWR0aDoiNjUlIixoZWlnaHQ6IjEwMCUiLGZpbGw6IiNmZmYiLHN0cm9rZToibm9uZSIsZGlzcGxheToiYmxvY2siLG1hcmdpbjoiYXV0byIsbWFyZ2luTGVmdDoiMjAlIn0sdmlld0JveDoiMCAwIDMyIDMyIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcifSxILmEuY3JlYXRlRWxlbWVudCgicGF0aCIse2Q6Ik0yNC45ODU3IDMwLjM2MTZDMjUuMjUxNSAzMC4zNjE2IDI1LjUxMzggMzAuNDYyNyAyNS43MTMzIDMwLjY1NTRDMjYuOTg4NyAzMS44ODcgMjguODQ5IDMyLjI5NyAzMC41MDI5IDMxLjc4MzhDMjkuNDM4NSAyOS41NjY0IDI5LjI5MSAyNy4wMjYxIDMwLjExNTggMjQuNjc0QzMxLjEzOTQgMjEuNzQ3NiAzMS4zOTYgMTguODE0NCAzMC4yMzEgMTUuODcyN0MyOS4yMDc1IDEzLjI4ODQgMjcuMjMyNSAxMS4xNDEzIDI0LjczMyA5LjkxNjk5QzI0Ljg4NjcgMTAuNzM2OCAyNC45NjQyIDExLjU3MjEgMjQuOTY0MiAxMi40MTYyQzI0Ljk2NDMgMTUuOTk5MyAyMy41ODY1IDE5LjM2OTIgMjEuMDg0OSAyMS45MDU0QzE4LjU4MjkgMjQuNDQxOSAxNS4yMjkxIDI1Ljg2ODEgMTEuNjQxMyAyNS45MjE0QzEwLjk3NDcgMjUuOTMxOCAxMC4zMTExIDI1Ljg5MjYgOS42NTUwNyAyNS44MDYyQzExLjYyNjkgMjkuMjYyNCAxNS4zNDU2IDMxLjUxMzQgMTkuNDMyMSAzMS41NzQxQzIxLjIxOTggMzEuNjAxNyAyMi45MzYyIDMxLjIyNzIgMjQuNTM0NyAzMC40NjM4QzI0LjY3ODYgMzAuMzk1IDI0LjgzMjggMzAuMzYxNiAyNC45ODU3IDMwLjM2MTZaIixmaWxsOiJ3aGl0ZSJ9KSxILmEuY3JlYXRlRWxlbWVudCgicGF0aCIse2Q6Ik0xMS42NzA4IDEuMDAyMjhDNS4zMDYxNyAwLjg3NTg5OSAwLjAxNTM4MSA2LjAyNDgxIDMuNDUxMTVlLTA1IDEyLjM4ODFDLTAuMDAzNzI1MzkgMTMuOTQyOCAwLjI5OTc1MiAxNS40NTAxIDAuOTAyMTA0IDE2Ljg2ODRDMC45MTA4NTEgMTYuODg5MSAwLjkxODk4NSAxNi45MDk5IDAuOTI2MzUxIDE2LjkzMTFDMS43NTExNSAxOS4yODMyIDEuNjAzNzUgMjEuODIzNCAwLjUzOTMxMiAyNC4wNDA4QzIuMTkzMjggMjQuNTUzOSA0LjA1MzQ0IDI0LjE0NCA1LjMyODg5IDIyLjkxMjRDNS42NDMxMSAyMi42MDg5IDYuMTEzMjUgMjIuNTMyNCA2LjUwNzUgMjIuNzIwOUM4LjEwNTc3IDIzLjQ4NDIgOS44MjI0MyAyMy44NTk5IDExLjYxIDIzLjgzMTJDMTcuOTI0OSAyMy43Mzc0IDIyLjg3MTQgMTguNzIzNCAyMi44NzE0IDEyLjQxNjJDMjIuODcxNCA2LjI0NjY0IDE3Ljg0NjggMS4xMjY0MyAxMS42NzA4IDEuMDAyMjhaTTUuMzM1NzkgMTQuMTIxMkM0LjQyMTM3IDE0LjEyMTIgMy42ODAwNiAxMy4zODExIDMuNjgwMDYgMTIuNDY4MkMzLjY4MDA2IDExLjU1NTMgNC40MjEzNyAxMC44MTUyIDUuMzM1NzkgMTAuODE1MkM2LjI1MDIyIDEwLjgxNTIgNi45OTE1MyAxMS41NTUzIDYuOTkxNTMgMTIuNDY4MkM2Ljk5MTQ1IDEzLjM4MTEgNi4yNTAyMiAxNC4xMjEyIDUuMzM1NzkgMTQuMTIxMlpNMTEuNDM1NyAxNC4xMjEyQzEwLjUyMTMgMTQuMTIxMiA5Ljc3OTk5IDEzLjM4MTEgOS43Nzk5OSAxMi40NjgyQzkuNzc5OTkgMTEuNTU1MyAxMC41MjEzIDEwLjgxNTIgMTEuNDM1NyAxMC44MTUyQzEyLjM1MDIgMTAuODE1MiAxMy4wOTE1IDExLjU1NTMgMTMuMDkxNSAxMi40NjgyQzEzLjA5MTUgMTMuMzgxMSAxMi4zNTAyIDE0LjEyMTIgMTEuNDM1NyAxNC4xMjEyWk0xNy41MzU3IDE0LjEyMTJDMTYuNjIxMyAxNC4xMjEyIDE1Ljg4IDEzLjM4MTEgMTUuODggMTIuNDY4MkMxNS44OCAxMS41NTUzIDE2LjYyMTMgMTAuODE1MiAxNy41MzU3IDEwLjgxNTJDMTguNDUwMiAxMC44MTUyIDE5LjE5MTUgMTEuNTU1MyAxOS4xOTE1IDEyLjQ2ODJDMTkuMTkxNSAxMy4zODExIDE4LjQ1MDIgMTQuMTIxMiAxNy41MzU3IDE0LjEyMTJaIixmaWxsOiJ3aGl0ZSJ9KSk6InBsYW5lIj09PXQ/SC5hLmNyZWF0ZUVsZW1lbnQoInN2ZyIse3N0eWxlOiJjbGFzc2ljIiE9PW8/e3dpZHRoOiI4NSUiLGhlaWdodDoiMTAwJSIsZmlsbDoiI2ZmZiIsc3Ryb2tlOiJub25lIn06e3dpZHRoOiI2NSUiLGhlaWdodDoiMTAwJSIsZmlsbDoiI2ZmZiIsc3Ryb2tlOiJub25lIixkaXNwbGF5OiJibG9jayIsbWFyZ2luOiJhdXRvIixtYXJnaW5SaWdodDoiMjElIn0sdmlld0JveDoiMCAwIDMwIDMwIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcifSxILmEuY3JlYXRlRWxlbWVudCgiZyIsbnVsbCxILmEuY3JlYXRlRWxlbWVudCgicGF0aCIse2Q6Ik0yOS45NDc4IDIuMTI5NTJMMjQuNjYxMyAyNi41MTA0QzI0LjU0ODggMjcuMDQwNyAyNC4xOTczIDI3LjQ4NzMgMjMuNzA1MiAyNy43MjQ1QzIzLjIxMzEgMjcuOTYxOCAyMi42NTA3IDI3Ljk2MTggMjIuMTQ0NiAyNy43MjQ1TDE4LjIwNzggMjUuODI2NUMxOC4yMDc4IDI1LjgyNjUgMTMuMTc0NCAyOS40NDExIDEyLjE0ODEgMjkuOTE1NkMxMS45NTEyIDMwLjAxMzMgMTEuODY2OSAyOS45OTkzIDExLjcyNjMgMjkuOTk5M0MxMS41Mjk0IDI5Ljk5OTMgMTEuMzE4NSAyOS45NDM1IDExLjE0OTggMjkuODMxOEMxMC44NTQ2IDI5LjYzNjUgMTAuNjcxOCAyOS4zMTU1IDEwLjY3MTggMjguOTY2NlYyMS41NTZDMTAuNjU3NyAyMS40MDI1IDEwLjY3MTggMjEuMjQ5IDEwLjc1NjIgMjEuMDk1NUMxMC43NTYyIDIxLjA5NTUgMTAuNzcwMiAyMS4wNjc2IDEwLjc4NDMgMjEuMDUzNkMxMC44MjY1IDIwLjk4MzggMTAuODY4NiAyMC45MTQxIDEwLjkyNDkgMjAuODQ0M0wyMy44NzQgNi43NzY4MUw3Ljc3NTQ4IDE5LjkyMzJDNy42NDg5NCAyMC4wNDg4IDcuNDgwMjIgMjAuMTYwNCA3LjI5NzQ0IDIwLjIwMjNDNy4wMDIxOSAyMC4yODYxIDYuNjc4ODEgMjAuMjMwMiA2LjQyNTc0IDIwLjA2MjhMMS4wMTI3MSAxNy42MzQ0QzAuNDA4MTQxIDE3LjM0MTQgMC4wMjg1MjYxIDE2Ljc1NTIgMC4wMDA0MDY0NzYgMTYuMDg1M0MtMC4wMTM2NTMzIDE1LjQyOTQgMC4zMzc4NDIgMTQuODE1NCAwLjkyODM1MyAxNC40OTQ0TDI3LjM2MDggMC4yMTc1NjhDMjcuOTc5NCAtMC4xMTczNzIgMjguNzEwNSAtMC4wNjE1NDg5IDI5LjI4NyAwLjM1NzEyNkMyOS44NDk0IDAuNzc1ODAxIDMwLjEwMjQgMS40NTk2NCAyOS45NjE4IDIuMTI5NTJIMjkuOTQ3OFoiLGZpbGw6IndoaXRlIn0pKSk6SC5hLmNyZWF0ZUVsZW1lbnQoInN2ZyIse3N0eWxlOnt3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIixmaWxsOiIjZmZmIixzdHJva2U6Im5vbmUifSx2aWV3Qm94OiIwIC0yNTYgMTg1MCAxODUwIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHhtbG5zWGxpbms6Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsifSxILmEuY3JlYXRlRWxlbWVudCgicGF0aCIse3RyYW5zZm9ybToibWF0cml4KDAuNzExODY0NDEsMCwwLC0wLjcxMTg2NDQxLDI4OC41NDIzNywxMDkzLjk0ODIpIixkOiJNIDcwNCwxMTUyIFEgNTUxLDExNTIgNDE4LDExMDAgMjg1LDEwNDggMjA2LjUsOTU5IDEyOCw4NzAgMTI4LDc2OCBxIDAsLTgyIDUzLC0xNTggNTMsLTc2IDE0OSwtMTMyIGwgOTcsLTU2IC0zNSwtODQgcSAzNCwyMCA2MiwzOSBsIDQ0LDMxIDUzLC0xMCBxIDc4LC0xNCAxNTMsLTE0IDE1MywwIDI4Niw1MiAxMzMsNTIgMjExLjUsMTQxIDc4LjUsODkgNzguNSwxOTEgMCwxMDIgLTc4LjUsMTkxIC03OC41LDg5IC0yMTEuNSwxNDEgLTEzMyw1MiAtMjg2LDUyIHogbSAwLDEyOCBxIDE5MSwwIDM1My41LC02OC41IFEgMTIyMCwxMTQzIDEzMTQsMTAyNSAxNDA4LDkwNyAxNDA4LDc2OCAxNDA4LDYyOSAxMzE0LDUxMSAxMjIwLDM5MyAxMDU3LjUsMzI0LjUgODk1LDI1NiA3MDQsMjU2IDYxOCwyNTYgNTI4LDI3MiA0MDQsMTg0IDI1MCwxNDQgMjE0LDEzNSAxNjQsMTI4IGggLTMgcSAtMTEsMCAtMjAuNSw4IC05LjUsOCAtMTEuNSwyMSAtMSwzIC0xLDYuNSAwLDMuNSAwLjUsNi41IDAuNSwzIDIsNiBsIDIuNSw1IHEgMCwwIDMuNSw1LjUgMy41LDUuNSA0LDUgMC41LC0wLjUgNC41LDUgNCw1LjUgNCw0LjUgNSw2IDIzLDI1IDE4LDE5IDI2LDI5LjUgOCwxMC41IDIyLjUsMjkgUSAyMzUsMzAzIDI0NS41LDMyMyAyNTYsMzQzIDI2NiwzNjcgMTQyLDQzOSA3MSw1NDQgMCw2NDkgMCw3NjggMCw5MDcgOTQsMTAyNSAxODgsMTE0MyAzNTAuNSwxMjExLjUgNTEzLDEyODAgNzA0LDEyODAgWiBNIDE1MjYsMTExIHEgMTAsLTI0IDIwLjUsLTQ0IDEwLjUsLTIwIDI1LC0zOC41IDE0LjUsLTE4LjUgMjIuNSwtMjkgOCwtMTAuNSAyNiwtMjkuNSAxOCwtMTkgMjMsLTI1IDEsLTEgNCwtNC41IDMsLTMuNSA0LjUsLTUgMS41LC0xLjUgNCwtNSAyLjUsLTMuNSAzLjUsLTUuNSBsIDIuNSwtNSBxIDAsMCAyLC02IDIsLTYgMC41LC02LjUgLTEuNSwtMC41IC0xLC02LjUgLTMsLTE0IC0xMywtMjIgLTEwLC04IC0yMiwtNyAtNTAsNyAtODYsMTYgUSAxMzg4LC03MiAxMjY0LDE2IDExNzQsMCAxMDg4LDAgODE3LDAgNjE2LDEzMiBxIDU4LC00IDg4LC00IDE2MSwwIDMwOSw0NSAxNDgsNDUgMjY0LDEyOSAxMjUsOTIgMTkyLDIxMiA2NywxMjAgNjcsMjU0IDAsNzcgLTIzLDE1MiAxMjksLTcxIDIwNCwtMTc4IDc1LC0xMDcgNzUsLTIzMCAwLC0xMjAgLTcxLC0yMjQuNSBRIDE2NTAsMTgzIDE1MjYsMTExIFoifSkpfWZ1bmN0aW9uIE1yKCl7dmFyIGU9KHQ9T2JqZWN0KEYudXNlQ29udGV4dCkoVikuc2V0dGluZ3MpLmFjdGl2YXRvclNpemUsdD10LmJ1dHRvblN0eWxlO3JldHVybiBILmEuY3JlYXRlRWxlbWVudCgic3BhbiIse3N0eWxlOiJjbGFzc2ljIj09PXQ/e2Rpc3BsYXk6ImdyaWQiLHBsYWNlQ29udGVudDoiY2VudGVyIixmb250U2l6ZToiIi5jb25jYXQoZS0xMCwicHgiKSxmb250V2VpZ2h0OiI2MDAiLGNvbG9yOiIjZmZmZmZmIixtYXJnaW5Ub3A6IjFweCIsd2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsZm9udEZhbWlseToiVGltZXMgTmV3IFJvbWFuLCBzYW5zLXNlcmlmIixsaW5lSGVpZ2h0OiIxIn06e2ZvbnRTaXplOiIiLmNvbmNhdCguNSplKzE1LCJweCIpLGZvbnRXZWlnaHQ6IjYwMCIsY29sb3I6IiNmZmZmZmYiLGZvbnRGYW1pbHk6IlRpbWVzIE5ldyBSb21hbiwgc2Fucy1zZXJpZiIsbGluZUhlaWdodDoiMSJ9fSwiw5ciKX12YXIgaD17YXBwbGU6ZnVuY3Rpb24oZSl7dmFyIGU9ZS5zaXplLHQ9T2JqZWN0KEYudXNlQ29udGV4dCkoVikuc2V0dGluZ3Msbj10LmFwcGxlLHI9dC5hcHBsZUNvbG9yLG89dC5hcHBsZUljb24sdD10LmFwcGxlTGFiZWwsbj1hKCl8fHYoKT8iaW1lc3NhZ2U6Ly8iLmNvbmNhdChuKTpudWxsO3JldHVybiBILmEuY3JlYXRlRWxlbWVudChwLHtzaXplOmUsbmFtZToiYXBwbGUiLGxpbms6bixpY29uOkguYS5jcmVhdGVFbGVtZW50KGp0LHtzaXplOmV9KSxjb2xvcjpyfHwhMSxjdXN0b21JY29uOiEhbyxsYWJlbDp0fSl9LHlvdXR1YmU6ZnVuY3Rpb24oZSl7dmFyIGU9ZS5zaXplLHQ9T2JqZWN0KEYudXNlQ29udGV4dCkoVikuc2V0dGluZ3Msbj10LnlvdXR1YmUscj10LnlvdXR1YmVDb2xvcixvPXQueW91dHViZUljb24sYT10LnlvdXR1YmVMYWJlbCxuPWZ1bmN0aW9uKGUsdCl7c3dpdGNoKHQpe2Nhc2UiZXZlcnl3aGVyZSI6cmV0dXJuIG51bGw7Y2FzZSJkZXNrdG9wIjppZihVKCkpcmV0dXJuIG51bGw7Y2FzZSJtb2JpbGUiOmlmKCFVKCkpcmV0dXJuIG51bGw7Y2FzZSJub3doZXJlIjpyZXR1cm4gZTtkZWZhdWx0OnJldHVybiBudWxsfX0obix0LnlvdXR1YmVTaG93UG9wdXBQbGF0Zm9ybSk7cmV0dXJuIEguYS5jcmVhdGVFbGVtZW50KHAse3NpemU6ZSxuYW1lOiJ5b3V0dWJlIixsaW5rOm4sdGFyZ2V0OiJfYmxhbmsiLGljb246SC5hLmNyZWF0ZUVsZW1lbnQoJHQse3NpemU6ZX0pLGNvbG9yOnJ8fCExLGN1c3RvbUljb246ISFvLGxhYmVsOmF9KX0sY2FsbDpmdW5jdGlvbihlKXt2YXIgZT1lLnNpemUsdD1PYmplY3QoRi51c2VDb250ZXh0KShWKS5zZXR0aW5ncyxuPXQuY2FsbCxyPXQuY2FsbENvbG9yLG89dC5jYWxsSWNvbixhPXQuY2FsbExhYmVsLG49ZnVuY3Rpb24oZSx0KXtzd2l0Y2godCl7Y2FzZSJldmVyeXdoZXJlIjpyZXR1cm4gbnVsbDtjYXNlImRlc2t0b3AiOnJldHVybiBVKCk/bnVsbDoidGVsOiIuY29uY2F0KGUpO2Nhc2UibW9iaWxlIjpyZXR1cm4gVSgpPyJ0ZWw6Ii5jb25jYXQoZSk6bnVsbDtjYXNlIm5vd2hlcmUiOnJldHVybiJ0ZWw6Ii5jb25jYXQoZSk7ZGVmYXVsdDpyZXR1cm4gbnVsbH19KG4sdC5jYWxsU2hvd1BvcHVwUGxhdGZvcm0pO3JldHVybiBILmEuY3JlYXRlRWxlbWVudChwLHtzaXplOmUsbmFtZToiY2FsbCIsbGluazpuLGljb246SC5hLmNyZWF0ZUVsZW1lbnQoWXQse3NpemU6ZX0pLGNvbG9yOnJ8fCExLGN1c3RvbUljb246ISFvLGxhYmVsOmF9KX0sY29udGFjdGZvcm06ZnVuY3Rpb24oZSl7dmFyIGU9ZS5zaXplLHQ9T2JqZWN0KEYudXNlQ29udGV4dCkoVikuc2V0dGluZ3Msbj10LmNvbnRhY3Rmb3JtQ29sb3Iscj10LmNvbnRhY3Rmb3JtSWNvbix0PXQuY29udGFjdGZvcm1MYWJlbDtyZXR1cm4gSC5hLmNyZWF0ZUVsZW1lbnQocCx7c2l6ZTplLG5hbWU6ImNvbnRhY3Rmb3JtIixpY29uOkguYS5jcmVhdGVFbGVtZW50KHRuLHtzaXplOmV9KSxjb2xvcjpufHwhMSxjdXN0b21JY29uOiEhcixsYWJlbDp0fSl9LGRpc2NvcmQ6ZnVuY3Rpb24oZSl7dmFyIGU9ZS5zaXplLHQ9T2JqZWN0KEYudXNlQ29udGV4dCkoVikuc2V0dGluZ3Msbj10LmRpc2NvcmQscj10LmRpc2NvcmRDb2xvcixvPXQuZGlzY29yZEljb24sdD10LmRpc2NvcmRMYWJlbCxuPSIiLmNvbmNhdChuKTtyZXR1cm4gSC5hLmNyZWF0ZUVsZW1lbnQocCx7c2l6ZTplLG5hbWU6ImRpc2NvcmQiLGxpbms6bix0YXJnZXQ6Il9ibGFuayIsaWNvbjpILmEuY3JlYXRlRWxlbWVudChsbix7c2l6ZTplfSksY29sb3I6cnx8ITEsY3VzdG9tSWNvbjohIW8sbGFiZWw6dH0pfSx0ZWFtczpmdW5jdGlvbihlKXt2YXIgZT1lLnNpemUsdD1PYmplY3QoRi51c2VDb250ZXh0KShWKS5zZXR0aW5ncyxuPXQudGVhbXMscj10LnRlYW1zQ29sb3Isbz10LnRlYW1zSWNvbix0PXQudGVhbXNMYWJlbCxuPSIiLmNvbmNhdChuKTtyZXR1cm4gSC5hLmNyZWF0ZUVsZW1lbnQocCx7c2l6ZTplLG5hbWU6InRlYW1zIix0YXJnZXQ6Il9ibGFuayIsbGluazpuLGljb246SC5hLmNyZWF0ZUVsZW1lbnQoY24se3NpemU6ZX0pLGNvbG9yOnJ8fCExLGN1c3RvbUljb246ISFvLGxhYmVsOnR9KX0sY2FsZW5kYXI6ZnVuY3Rpb24oZSl7dmFyIGU9ZS5zaXplLHQ9T2JqZWN0KEYudXNlQ29udGV4dCkoVikuc2V0dGluZ3Msbj10LmNhbGVuZGFyQ29sb3Iscj10LmNhbGVuZGFySWNvbix0PXQuY2FsZW5kYXJMYWJlbDtyZXR1cm4gSC5hLmNyZWF0ZUVsZW1lbnQocCx7c2l6ZTplLG5hbWU6ImNhbGVuZGFyIixpY29uOkguYS5jcmVhdGVFbGVtZW50KHNuLHtzaXplOmV9KSxjb2xvcjpufHwhMSxjdXN0b21JY29uOiEhcixsYWJlbDp0fSl9LGVtYWlsOmZ1bmN0aW9uKGUpe3ZhciBlPWUuc2l6ZSx0PU9iamVjdChGLnVzZUNvbnRleHQpKFYpLnNldHRpbmdzLG49dC5lbWFpbCxyPXQuZW1haWxDb2xvcixvPXQuZW1haWxJY29uLHQ9dC5lbWFpbExhYmVsLG49Im1haWx0bzoiLmNvbmNhdChuKTtyZXR1cm4gSC5hLmNyZWF0ZUVsZW1lbnQocCx7c2l6ZTplLG5hbWU6ImVtYWlsIix0YXJnZXQ6Il9ibGFuayIsbGluazpuLGljb246SC5hLmNyZWF0ZUVsZW1lbnQodW4se3NpemU6ZX0pLGNvbG9yOnJ8fCExLGN1c3RvbUljb246ISFvLGxhYmVsOnR9KX0sZmFjZWJvb2s6ZnVuY3Rpb24oZSl7dmFyIHQsbixlPWUuc2l6ZSxyPU9iamVjdChGLnVzZUNvbnRleHQpKFYpLG89ci5zdGF0ZSxhPXIuYWN0aW9ucy5jbG9zZUJ1dHRvblBvcHVwLHI9ci5zZXR0aW5ncyxpPXIuZmFjZWJvb2ssbD1yLmZhY2Vib29rQ29sb3IsYz1yLmZhY2Vib29rSWNvbix1PXIuZmFjZWJvb2tMYWJlbCxzPXIuZmFjZWJvb2tGcmFtZSxmPXIuc3Vic2NyaXB0aW9uQ3JlYXRlZERhdGUscj1sfHwhMSxsPSEhYztyZXR1cm4gT2JqZWN0KEYudXNlRWZmZWN0KShmdW5jdGlvbigpeyJmYWNlYm9vayI9PT1vLmJ1dHRvblBvcHVwJiZVKCkmJnMmJiF4bihmLHMpJiYob3BlbigiaHR0cHM6Ly9tLm1lLyIuY29uY2F0KGkpLCJnZXRidXR0b24tcG9wdXAtIitvLmJ1dHRvblBvcHVwLCJwb3B1cCxsZWZ0PTAsdG9wPTAsd2lkdGg9NjAwLGhlaWdodD01MDAiKSxhKG8uYnV0dG9uUG9wdXApKX0sW28uYnV0dG9uUG9wdXBdKSxILmEuY3JlYXRlRWxlbWVudChwLHtzaXplOmUsbmFtZToiZmFjZWJvb2siLGxpbms6KGM9Zix0PXMsbj1pLEsmJih4bihjLHQpfHx0KT92b2lkIDA6Imh0dHBzOi8vbS5tZS8iLmNvbmNhdChuKSksdGFyZ2V0OiJfYmxhbmsiLGljb246SC5hLmNyZWF0ZUVsZW1lbnQoaG4se3NpemU6ZX0pLGNvbG9yOnIsY3VzdG9tSWNvbjpsLGxhYmVsOnV9KX0sZ29vZ2xlbWFwOmZ1bmN0aW9uKGUpe3ZhciBlPWUuc2l6ZSx0PU9iamVjdChGLnVzZUNvbnRleHQpKFYpLnNldHRpbmdzLG49dC5nb29nbGVtYXAscj10Lmdvb2dsZW1hcENvbG9yLG89dC5nb29nbGVtYXBJY29uLGE9dC5nb29nbGVtYXBMYWJlbCxuPWZ1bmN0aW9uKGUsdCl7c3dpdGNoKHQpe2Nhc2UiZXZlcnl3aGVyZSI6cmV0dXJuIG51bGw7Y2FzZSJkZXNrdG9wIjppZihVKCkpcmV0dXJuIG51bGw7Y2FzZSJtb2JpbGUiOmlmKCFVKCkpcmV0dXJuIG51bGw7Y2FzZSJub3doZXJlIjpyZXR1cm4gZTtkZWZhdWx0OnJldHVybiBudWxsfX0obix0Lmdvb2dsZW1hcFNob3dQb3B1cFBsYXRmb3JtKTtyZXR1cm4gSC5hLmNyZWF0ZUVsZW1lbnQocCx7c2l6ZTplLG5hbWU6Imdvb2dsZW1hcCIsdGFyZ2V0OiJfYmxhbmsiLGxpbms6bixpY29uOkguYS5jcmVhdGVFbGVtZW50KHZuLHtzaXplOmV9KSxjb2xvcjpyfHwhMSxjdXN0b21JY29uOiEhbyxsYWJlbDphfSl9LGluc3RhZ3JhbTpmdW5jdGlvbihlKXt2YXIgZT1lLnNpemUsdD1PYmplY3QoRi51c2VDb250ZXh0KShWKS5zZXR0aW5ncyxuPXQuaW5zdGFncmFtLHI9dC5pbnN0YWdyYW1Db2xvcixvPXQuaW5zdGFncmFtSWNvbix0PXQuaW5zdGFncmFtTGFiZWwsbj1mdW5jdGlvbihlKXtlPWUmJmUuc3RhcnRzV2l0aCgiaHR0cHM6Ly9pZy5tZS9tLyIpP2U6Imh0dHBzOi8vd3d3Lmluc3RhZ3JhbS5jb20vIi5jb25jYXQoZSk7cmV0dXJuIGV9KG4pO3JldHVybiBILmEuY3JlYXRlRWxlbWVudChwLHtzaXplOmUsbmFtZToiaW5zdGFncmFtIixsaW5rOm4sdGFyZ2V0OiJfYmxhbmsiLGljb246SC5hLmNyZWF0ZUVsZW1lbnQoQ24se3NpemU6ZX0pLGNvbG9yOnJ8fCExLGN1c3RvbUljb246ISFvLGxhYmVsOnR9KX0sbGluZTpmdW5jdGlvbihlKXt2YXIgZT1lLnNpemUsdD1PYmplY3QoRi51c2VDb250ZXh0KShWKS5zZXR0aW5ncyxuPXQubGluZSxyPXQubGluZUNvbG9yLG89dC5saW5lSWNvbix0PXQubGluZUxhYmVsLG49VSgpP251bGw6Ii8vIj09PShuPW4pLnN1YnN0cigwLDIpPyJodHRwczoiK246Imh0dHAiIT09bi5zdWJzdHIoMCw0KT8iaHR0cHM6Ly8iK246bjtyZXR1cm4gSC5hLmNyZWF0ZUVsZW1lbnQocCx7c2l6ZTplLG5hbWU6ImxpbmUiLGljb246SC5hLmNyZWF0ZUVsZW1lbnQoRW4se3NpemU6ZX0pLGNvbG9yOnJ8fCExLGxpbms6bixjdXN0b21JY29uOiEhbyxsYWJlbDp0fSl9LGxpbms6ZnVuY3Rpb24oZSl7dmFyIGU9ZS5zaXplLHQ9T2JqZWN0KEYudXNlQ29udGV4dCkoVikuc2V0dGluZ3Msbj10Lmxpbmsscj10LmxpbmtJY29uLG89dC5saW5rQ29sb3IsdD10LmxpbmtMYWJlbCxuPSIiLmNvbmNhdChuKTtyZXR1cm4gSC5hLmNyZWF0ZUVsZW1lbnQocCx7c2l6ZTplLG5hbWU6ImxpbmsiLHRhcmdldDoiX2JsYW5rIixsaW5rOm4saWNvbjpILmEuY3JlYXRlRWxlbWVudChQbix7c2l6ZTplfSksY29sb3I6b3x8ITEsY3VzdG9tSWNvbjohIXIsbGFiZWw6dH0pfSxsaW5rZWRpbjpmdW5jdGlvbihlKXt2YXIgZT1lLnNpemUsdD1PYmplY3QoRi51c2VDb250ZXh0KShWKS5zZXR0aW5ncyxuPXQubGlua2VkaW4scj10LmxpbmtlZGluSWNvbixvPXQubGlua2VkaW5Db2xvcix0PXQubGlua2VkaW5MYWJlbCxuPSIiLmNvbmNhdChuKTtyZXR1cm4gSC5hLmNyZWF0ZUVsZW1lbnQocCx7c2l6ZTplLG5hbWU6ImxpbmtlZGluIix0YXJnZXQ6Il9ibGFuayIsbGluazpuLGljb246SC5hLmNyZWF0ZUVsZW1lbnQoSW4se3NpemU6ZX0pLGNvbG9yOm98fCExLGN1c3RvbUljb246ISFyLGxhYmVsOnR9KX0sc2t5cGU6ZnVuY3Rpb24oZSl7dmFyIGU9ZS5zaXplLHQ9T2JqZWN0KEYudXNlQ29udGV4dCkoVikuc2V0dGluZ3Msbj10LnNreXBlLHI9dC5za3lwZUljb24sbz10LnNreXBlQ29sb3IsdD10LnNreXBlTGFiZWwsbj0ic2t5cGU6Ii5jb25jYXQobiwiP2NoYXQiKTtyZXR1cm4gSC5hLmNyZWF0ZUVsZW1lbnQocCx7c2l6ZTplLG5hbWU6InNreXBlIix0YXJnZXQ6Il9ibGFuayIsbGluazpuLGljb246SC5hLmNyZWF0ZUVsZW1lbnQoX24se3NpemU6ZX0pLGNvbG9yOm98fCExLGN1c3RvbUljb246ISFyLGxhYmVsOnR9KX0sc2xhY2s6ZnVuY3Rpb24oZSl7dmFyIGU9ZS5zaXplLHQ9T2JqZWN0KEYudXNlQ29udGV4dCkoVikuc2V0dGluZ3Msbj10LnNsYWNrLHI9dC5zbGFja0ljb24sbz10LnNsYWNrQ29sb3IsdD10LnNsYWNrTGFiZWwsbj0iIi5jb25jYXQobik7cmV0dXJuIEguYS5jcmVhdGVFbGVtZW50KHAse3NpemU6ZSxuYW1lOiJzbGFjayIsdGFyZ2V0OiJfYmxhbmsiLGxpbms6bixpY29uOkguYS5jcmVhdGVFbGVtZW50KHpuLHtzaXplOmV9KSxjb2xvcjpvfHwhMSxjdXN0b21JY29uOiEhcixsYWJlbDp0fSl9LHNtczpmdW5jdGlvbihlKXt2YXIgZT1lLnNpemUsdD1PYmplY3QoRi51c2VDb250ZXh0KShWKS5zZXR0aW5ncyxuPXQuc21zLHI9dC5zbXNDb2xvcixvPXQuc21zSWNvbixhPXQuc21zTGFiZWwsbj1mdW5jdGlvbihlLHQpe3N3aXRjaCh0KXtjYXNlImV2ZXJ5d2hlcmUiOnJldHVybiBudWxsO2Nhc2UiZGVza3RvcCI6cmV0dXJuIFUoKT9udWxsOiJzbXM6Ii5jb25jYXQoZSk7Y2FzZSJtb2JpbGUiOnJldHVybiBVKCk/InNtczoiLmNvbmNhdChlKTpudWxsO2Nhc2Uibm93aGVyZSI6cmV0dXJuInNtczoiLmNvbmNhdChlKTtkZWZhdWx0OnJldHVybiBudWxsfX0obix0LnNtc1Nob3dQb3B1cFBsYXRmb3JtKTtyZXR1cm4gSC5hLmNyZWF0ZUVsZW1lbnQocCx7c2l6ZTplLG5hbWU6InNtcyIsbGluazpuLGljb246SC5hLmNyZWF0ZUVsZW1lbnQoVG4se3NpemU6ZX0pLGNvbG9yOnJ8fCExLGN1c3RvbUljb246ISFvLGxhYmVsOmF9KX0sc25hcGNoYXQ6ZnVuY3Rpb24oZSl7dmFyIGU9ZS5zaXplLHQ9T2JqZWN0KEYudXNlQ29udGV4dCkoVikuc2V0dGluZ3Msbj10LnNuYXBjaGF0LHI9dC5zbmFwY2hhdENvbG9yLG89dC5zbmFwY2hhdEljb24sdD10LnNuYXBjaGF0TGFiZWwscj1yfHwhMSxvPSEhbztyZXR1cm4gSC5hLmNyZWF0ZUVsZW1lbnQocCx7bGluazpmdW5jdGlvbihlKXtpZihEKCkpcmV0dXJuImh0dHBzOi8vd3d3LnNuYXBjaGF0LmNvbS9hZGQvIi5jb25jYXQoZSl9KG4pLHNpemU6ZSxuYW1lOiJzbmFwY2hhdCIsaWNvbjpILmEuY3JlYXRlRWxlbWVudChObix7c2l6ZTplfSksY29sb3I6cixjdXN0b21JY29uOm8sbGFiZWw6dH0pfSx0ZWxlZ3JhbTpmdW5jdGlvbihlKXt2YXIgZT1lLnNpemUsdD1PYmplY3QoRi51c2VDb250ZXh0KShWKS5zZXR0aW5ncyxuPXQudGVsZWdyYW0scj10LnRlbGVncmFtQ29sb3Isbz10LnRlbGVncmFtSWNvbix0PXQudGVsZWdyYW1MYWJlbCxuPShVKCk/Imh0dHBzOi8vdGVsZWdyYW0ubWUvIjoidGc6Ly9yZXNvbHZlP2RvbWFpbj0iKS5jb25jYXQobik7cmV0dXJuIEguYS5jcmVhdGVFbGVtZW50KHAse3NpemU6ZSxuYW1lOiJ0ZWxlZ3JhbSIsdGFyZ2V0OiJfYmxhbmsiLGxpbms6bixpY29uOkguYS5jcmVhdGVFbGVtZW50KEZuLHtzaXplOmV9KSxjb2xvcjpyfHwhMSxjdXN0b21JY29uOiEhbyxsYWJlbDp0fSl9LHRpa3RvazpmdW5jdGlvbihlKXt2YXIgZT1lLnNpemUsdD1PYmplY3QoRi51c2VDb250ZXh0KShWKS5zZXR0aW5ncyxuPXQudGlrdG9rLHI9dC50aWt0b2tDb2xvcixvPXQudGlrdG9rSWNvbix0PXQudGlrdG9rTGFiZWwsbj0iaHR0cHM6Ly90aWt0b2suY29tL0AiLmNvbmNhdChuKTtyZXR1cm4gSC5hLmNyZWF0ZUVsZW1lbnQocCx7c2l6ZTplLG5hbWU6InRpa3RvayIsdGFyZ2V0OiJfYmxhbmsiLGxpbms6bixpY29uOkguYS5jcmVhdGVFbGVtZW50KEhuLHtzaXplOmV9KSxjb2xvcjpyfHwhMSxjdXN0b21JY29uOiEhbyxsYWJlbDp0fSl9LGNhbGxiYWNrOmZ1bmN0aW9uKGUpe3ZhciBlPWUuc2l6ZSx0PU9iamVjdChGLnVzZUNvbnRleHQpKFYpLnNldHRpbmdzLG49dC5jYWxsYmFja0NvbG9yLHI9dC5jYWxsYmFja0ljb24sdD10LmNhbGxiYWNrTGFiZWw7cmV0dXJuIEguYS5jcmVhdGVFbGVtZW50KHAse3NpemU6ZSxuYW1lOiJjYWxsYmFjayIsaWNvbjpILmEuY3JlYXRlRWxlbWVudChLbix7c2l6ZTplfSksY29sb3I6bnx8ITEsY3VzdG9tSWNvbjohIXIsbGFiZWw6dH0pfSx0d2l0dGVyOmZ1bmN0aW9uKGUpe3ZhciBlPWUuc2l6ZSx0PU9iamVjdChGLnVzZUNvbnRleHQpKFYpLnNldHRpbmdzLG49dC50d2l0dGVyLHI9dC50d2l0dGVyQ29sb3Isbz10LnR3aXR0ZXJJY29uLHQ9dC50d2l0dGVyTGFiZWwsbj0iaHR0cDovL3R3aXR0ZXIuY29tLyIuY29uY2F0KG4pO3JldHVybiBILmEuY3JlYXRlRWxlbWVudChwLHtzaXplOmUsbmFtZToidHdpdHRlciIsdGFyZ2V0OiJfYmxhbmsiLGxpbms6bixpY29uOkguYS5jcmVhdGVFbGVtZW50KFZuLHtzaXplOmV9KSxjb2xvcjpyfHwhMSxjdXN0b21JY29uOiEhbyxsYWJlbDp0fSl9LHZpYmVyOmZ1bmN0aW9uKGUpe3ZhciBlPWUuc2l6ZSx0PU9iamVjdChGLnVzZUNvbnRleHQpKFYpLnNldHRpbmdzLG49dC52aWJlcixyPXQudmliZXJDb2xvcixvPXQudmliZXJJY29uLHQ9dC52aWJlckxhYmVsLHI9cnx8ITEsbz0hIW87cmV0dXJuIEguYS5jcmVhdGVFbGVtZW50KHAse2xpbms6ZnVuY3Rpb24oZSl7aWYoRCgpJiYvXlswLTkgKCkrLV0rJC8udGVzdChlKSlyZXR1cm4gZT1lLnJlcGxhY2UoL1xEKy9nLCIiKS5yZXBsYWNlKC9eWzBdKy9nLCIiKSwodygpPyJ2aWJlcjovL2NoYXQ/bnVtYmVyPSUyQiI6YSgpPyJ2aWJlcjovL2NoYXQ/bnVtYmVyPSsiOiJ2aWJlcjovL2NoYXQ/bnVtYmVyPSIpLmNvbmNhdChlKX0obiksdGFyZ2V0OiJfYmxhbmsiLHNpemU6ZSxuYW1lOiJ2aWJlciIsaWNvbjpILmEuY3JlYXRlRWxlbWVudCgkbix7c2l6ZTplfSksY29sb3I6cixjdXN0b21JY29uOm8sbGFiZWw6dH0pfSx2a29udGFrdGU6ZnVuY3Rpb24oZSl7dmFyIGU9ZS5zaXplLHQ9T2JqZWN0KEYudXNlQ29udGV4dCkoVikuc2V0dGluZ3Msbj10LnZrb250YWt0ZSxyPXQudmtvbnRha3RlQ29sb3Isbz10LnZrb250YWt0ZUljb24sdD10LnZrb250YWt0ZUxhYmVsLG49Imh0dHBzOi8vdmsubWUvIi5jb25jYXQobik7cmV0dXJuIEguYS5jcmVhdGVFbGVtZW50KHAse3NpemU6ZSxuYW1lOiJ2a29udGFrdGUiLHRhcmdldDoiX2JsYW5rIixsaW5rOm4saWNvbjpILmEuY3JlYXRlRWxlbWVudCh0cix7c2l6ZTplfSksY29sb3I6cnx8ITEsY3VzdG9tSWNvbjohIW8sbGFiZWw6dH0pfSx3YXplOmZ1bmN0aW9uKGUpe3ZhciBlPWUuc2l6ZSx0PU9iamVjdChGLnVzZUNvbnRleHQpKFYpLnNldHRpbmdzLG49dC53YXplLHI9dC53YXplQ29sb3Isbz10LndhemVJY29uLHQ9dC53YXplTGFiZWwsbj0iIi5jb25jYXQobik7cmV0dXJuIEguYS5jcmVhdGVFbGVtZW50KHAse3NpemU6ZSxuYW1lOiJ3YXplIix0YXJnZXQ6Il9ibGFuayIsbGluazpuLGljb246SC5hLmNyZWF0ZUVsZW1lbnQobnIse3NpemU6ZX0pLGNvbG9yOnJ8fCExLGN1c3RvbUljb246ISFvLGxhYmVsOnR9KX0sd2VjaGF0OmZ1bmN0aW9uKGUpe3ZhciBlPWUuc2l6ZSx0PU9iamVjdChGLnVzZUNvbnRleHQpKFYpLnNldHRpbmdzLG49dC53ZWNoYXQscj10LndlY2hhdENvbG9yLG89dC53ZWNoYXRJY29uLGE9dC53ZWNoYXRMYWJlbCxuPWZ1bmN0aW9uKGUsdCl7c3dpdGNoKHQpe2Nhc2UiZXZlcnl3aGVyZSI6cmV0dXJuIG51bGw7Y2FzZSJkZXNrdG9wIjpyZXR1cm4gVSgpP251bGw6Imh0dHA6Ly93ZWl4aW4ucXEuY29tL3IvIi5jb25jYXQoZSk7Y2FzZSJtb2JpbGUiOnJldHVybiBVKCk/Imh0dHA6Ly93ZWl4aW4ucXEuY29tL3IvIi5jb25jYXQoZSk6bnVsbDtjYXNlIm5vd2hlcmUiOnJldHVybiJodHRwOi8vd2VpeGluLnFxLmNvbS9yLyIuY29uY2F0KGUpO2RlZmF1bHQ6cmV0dXJuIG51bGx9fShuLHQud2VjaGF0U2hvd1BvcHVwUGxhdGZvcm0pO3JldHVybiBILmEuY3JlYXRlRWxlbWVudChwLHtzaXplOmUsbmFtZToid2VjaGF0Iix0YXJnZXQ6Il9ibGFuayIsbGluazpuLGljb246SC5hLmNyZWF0ZUVsZW1lbnQocnIse3NpemU6ZX0pLGNvbG9yOnJ8fCExLGN1c3RvbUljb246ISFvLGxhYmVsOmF9KX0sd2hhdHNhcHA6ZnVuY3Rpb24oZSl7dmFyIHQsZT1lLnNpemUsbj1PYmplY3QoRi51c2VDb250ZXh0KShWKS5zZXR0aW5ncyxyPW4ud2hhdHNhcHAsbz1uLndoYXRzYXBwQ29sb3IsYT1uLndoYXRzYXBwSWNvbixpPW4ud2hhdHNhcHBMYWJlbCxsPW4ucHJlRmlsbGVkTWVzc2FnZSxuPW4ud2hhdHNhcHBTaG93UG9wdXAscj0obD1sLChyPXIpJiZyLnN0YXJ0c1dpdGgoImh0dHBzOi8vY2hhdC53aGF0c2FwcC5jb20vIik/dD1yOihyPXI/ci5tYXRjaCgvXGQrL2cpLmpvaW4oIiIpOm51bGwsdD0iaHR0cHM6Ly93YS5tZS8iLmNvbmNhdChyKSxsJiYodD0iIi5jb25jYXQodCwiP3RleHQ9IikuY29uY2F0KGVuY29kZVVSSUNvbXBvbmVudChsKSkpKSx0KTtyZXR1cm4gSC5hLmNyZWF0ZUVsZW1lbnQocCx7c2l6ZTplLG5hbWU6IndoYXRzYXBwIixsaW5rOm4/bnVsbDpyLHRhcmdldDpuP251bGw6Il9ibGFuayIsaWNvbjpILmEuY3JlYXRlRWxlbWVudChscix7c2l6ZTplfSksY29sb3I6b3x8ITEsY3VzdG9tSWNvbjohIWEsbGFiZWw6aX0pfSx3b25kZXJjaGF0OmZ1bmN0aW9uKGUpe3ZhciBlPWUuc2l6ZSx0PU9iamVjdChGLnVzZUNvbnRleHQpKFYpLnNldHRpbmdzLG49dC53b25kZXJjaGF0Q29sb3Iscj10LndvbmRlcmNoYXRJY29uLHQ9dC53b25kZXJjaGF0TGFiZWw7cmV0dXJuIEguYS5jcmVhdGVFbGVtZW50KHAse3NpemU6ZSxuYW1lOiJ3b25kZXJjaGF0IixsaW5rOm51bGwsaWNvbjpILmEuY3JlYXRlRWxlbWVudChmcix7c2l6ZTplfSksY29sb3I6bnx8ITEsY3VzdG9tSWNvbjohIXIsbGFiZWw6dH0pfSxhaTpmdW5jdGlvbihlKXt2YXIgZT1lLnNpemUsdD1PYmplY3QoRi51c2VDb250ZXh0KShWKS5zZXR0aW5ncyxuPXQuYWlDb2xvcixyPXQuYWlJY29uLHQ9dC5haUxhYmVsO3JldHVybiBILmEuY3JlYXRlRWxlbWVudChwLHtzaXplOmUsbmFtZToiYWkiLGljb246SC5hLmNyZWF0ZUVsZW1lbnQoeHIse3NpemU6ZX0pLGNvbG9yOm58fCExLGN1c3RvbUljb246ISFyLGxhYmVsOnR9KX0sa2FrYW90YWxrOmZ1bmN0aW9uKGUpe3ZhciBlPWUuc2l6ZSx0PU9iamVjdChGLnVzZUNvbnRleHQpKFYpLnNldHRpbmdzLG49dC5rYWthb3RhbGsscj10Lmtha2FvdGFsa0NvbG9yLG89dC5rYWthb3RhbGtJY29uLHQ9dC5rYWthb3RhbGtMYWJlbCxuPSJodHRwczovL29wZW4ua2FrYW8uY29tL28vIi5jb25jYXQobik7cmV0dXJuIEguYS5jcmVhdGVFbGVtZW50KHAse3NpemU6ZSxuYW1lOiJrYWthb3RhbGsiLGxpbms6bix0YXJnZXQ6Il9ibGFuayIsaWNvbjpILmEuY3JlYXRlRWxlbWVudChUcix7c2l6ZTplfSksY29sb3I6cnx8ITEsY3VzdG9tSWNvbjohIW8sbGFiZWw6dH0pfX0sUnI9e2FwcGxlOmZ1bmN0aW9uKCl7dmFyIGU9T2JqZWN0KEYudXNlQ29udGV4dCkoViksdD1lLnN0YXRlLGU9ZS5zZXR0aW5ncyxuPWUuYXBwbGVDb2xvcixyPWUuYXBwbGVMYWJlbCxvPWUuYXBwbGUsYT1lLmJnU3R5bGUsZT1lLmFjdGl2YXRvclNpemUsaT1IdChPYmplY3QoRi51c2VTdGF0ZSkoITEpLDIpLGw9aVswXSxjPWlbMV07cmV0dXJuIE9iamVjdChGLnVzZUVmZmVjdCkoZnVuY3Rpb24oKXtjKCJhcHBsZSI9PT10LmJ1dHRvblBvcHVwKX0pLEguYS5jcmVhdGVFbGVtZW50KE4se2NvbG9yOm4sbWVzc2VuZ2VyVGl0bGU6cixpY29uOkguYS5jcmVhdGVFbGVtZW50KGp0LG51bGwpLGVuYWJsZVBvcHVwOmwsYmdTdHlsZTphLHNpemU6ZX0sSC5hLmNyZWF0ZUVsZW1lbnQoV3QsbnVsbCxILmEuY3JlYXRlRWxlbWVudCgiYSIse2hyZWY6ImltZXNzYWdlOi8vIi5jb25jYXQobyl9LG8pKSl9LHlvdXR1YmU6ZnVuY3Rpb24oKXt2YXIgZT1PYmplY3QoRi51c2VDb250ZXh0KShWKSx0PWUuc3RhdGUsZT1lLnNldHRpbmdzLG49ZS55b3V0dWJlQ29sb3Iscj1lLnlvdXR1YmVMYWJlbCxvPWUueW91dHViZSxhPWUuYmdTdHlsZSxpPWUuYWN0aXZhdG9yU2l6ZSxlPWUuYnV0dG9uU2hhZG93LG89KG89KG89bykucmVwbGFjZSgvd2F0Y2hcP3Y9LywiZW1iZWQvIikuc3BsaXQoIiYiKVswXSwobD1uZXcgVVJMU2VhcmNoUGFyYW1zKS5hcHBlbmQoImNvbnRyb2xzIiwiMCIpLGwuYXBwZW5kKCJhdXRvcGxheSIsIjEiKSxsLmFwcGVuZCgibG9vcCIsIjEiKSwiIi5jb25jYXQobywiPyIpLmNvbmNhdChsLnRvU3RyaW5nKCkpKSxsPVp0KE9iamVjdChGLnVzZVN0YXRlKSghMSksMiksYz1sWzBdLHU9bFsxXTtPYmplY3QoRi51c2VFZmZlY3QpKGZ1bmN0aW9uKCl7dSgieW91dHViZSI9PT10LmJ1dHRvblBvcHVwKX0pO3ZhciBsPVp0KE9iamVjdChGLnVzZVN0YXRlKSghMCksMikscz1sWzBdLGY9bFsxXTtyZXR1cm4gT2JqZWN0KEYudXNlRWZmZWN0KShmdW5jdGlvbigpeyJ5b3V0dWJlIj09PXQuYnV0dG9uUG9wdXAmJmYoITApfSxbdC5idXR0b25Qb3B1cF0pLEguYS5jcmVhdGVFbGVtZW50KE4se2NvbG9yOm4sbWVzc2VuZ2VyVGl0bGU6cixjdXN0b21TZXR0aW5nczoieW91dHViZSIsaWNvbjpILmEuY3JlYXRlRWxlbWVudCgkdCx7Y3VzdG9tU2V0dGluZ3M6InlvdXR1YmUifSksZW5hYmxlUG9wdXA6YyxiZ1N0eWxlOmEsc2l6ZTppfSxILmEuY3JlYXRlRWxlbWVudChLdCx7aXNMb2FkaW5nOnN9LHMmJkguYS5jcmVhdGVFbGVtZW50KEksbnVsbCksSC5hLmNyZWF0ZUVsZW1lbnQoUXQse29uTG9hZDpmdW5jdGlvbihlKXtmKCExKX0sc3JjOm8saXNMb2FkaW5nOnMsYnV0dG9uU2hhZG93OmUsYWxsb3dGdWxsU2NyZWVuOiEwLGFsbG93OiJhY2NlbGVyb21ldGVyOyBhdXRvcGxheTsgY2xpcGJvYXJkLXdyaXRlOyBlbmNyeXB0ZWQtbWVkaWE7In0pKSl9LGNhbGw6ZnVuY3Rpb24oKXt2YXIgZT1PYmplY3QoRi51c2VDb250ZXh0KShWKSx0PWUuc3RhdGUsZT1lLnNldHRpbmdzLG49ZS5jYWxsQ29sb3Iscj1lLmNhbGxMYWJlbCxvPWUuY2FsbCxhPWUuY2FsbFFyQ29kZSxpPWUuYmdTdHlsZSxlPWUuYWN0aXZhdG9yU2l6ZSxsPUp0KE9iamVjdChGLnVzZVN0YXRlKSghMSksMiksYz1sWzBdLHU9bFsxXTtPYmplY3QoRi51c2VFZmZlY3QpKGZ1bmN0aW9uKCl7dSgiY2FsbCI9PT10LmJ1dHRvblBvcHVwKX0pO3ZhciBsPUp0KE9iamVjdChGLnVzZVN0YXRlKSghMCksMikscz1sWzBdLGY9bFsxXSxsPShPYmplY3QoRi51c2VFZmZlY3QpKGZ1bmN0aW9uKCl7ImxpbmUiPT09dC5idXR0b25Qb3B1cCYmZighMCl9LFt0LmJ1dHRvblBvcHVwXSksInRlbDoiLmNvbmNhdChvKSksZD0iaHR0cHM6Ly9hcGkucXJzZXJ2ZXIuY29tL3YxL2NyZWF0ZS1xci1jb2RlLz9zaXplPTE1MHgxNTAmbWFyZ2luPTEwJmRhdGE9Ii5jb25jYXQobCk7cmV0dXJuIEguYS5jcmVhdGVFbGVtZW50KE4se2NvbG9yOm4sbWVzc2VuZ2VyVGl0bGU6cixpY29uOkguYS5jcmVhdGVFbGVtZW50KFl0LG51bGwpLGVuYWJsZVBvcHVwOmMsYmdTdHlsZTppLHNpemU6ZX0sYT9ILmEuY3JlYXRlRWxlbWVudChybix7aXNMb2FkaW5nOnN9LHMmJkguYS5jcmVhdGVFbGVtZW50KEksbnVsbCksSC5hLmNyZWF0ZUVsZW1lbnQoImEiLHtocmVmOmx9LG8pLEguYS5jcmVhdGVFbGVtZW50KCJpbWciLHtvbkxvYWQ6ZnVuY3Rpb24oZSl7ZighMSl9LGFsdDoiY2FsbCIsc3JjOmQsaGVpZ2h0OiIxNTBweCIsd2lkdGg6IjE1MHB4In0pKTpILmEuY3JlYXRlRWxlbWVudChubixudWxsLEguYS5jcmVhdGVFbGVtZW50KCJhIix7aHJlZjpsfSxvKSkpfSxjb250YWN0Zm9ybTpmdW5jdGlvbigpe3ZhciBlLHQsbj1PYmplY3QoRi51c2VDb250ZXh0KShWKSxyPW4uc3RhdGUsbj1uLnNldHRpbmdzLG89bi5jb250YWN0Zm9ybSxhPW4uY29udGFjdGZvcm1Db2xvcixpPW4uY29udGFjdGZvcm1Qb3B1cFRpdGxlLGw9KG4uY29udGFjdGZvcm1Ib3N0LG4uY29udGFjdGZvcm1Qb3B1cExhbmcpLGM9bi5rZXksYz12b2lkIDA9PT1jP251bGw6Yyx1PW4ubWlycm9yLHM9bi5iZ1N0eWxlLGY9bi5hY3RpdmF0b3JTaXplLGQ9bi5oYXNoSWQsZD12b2lkIDA9PT1kP251bGw6ZCxuPW4uc2NyaXB0SWQsbj12b2lkIDA9PT1uP251bGw6bixwPW9uKE9iamVjdChGLnVzZVN0YXRlKSghMSksMiksbT1wWzBdLGg9cFsxXSxnPShwPW8sbz1sLGw9YyxjPXUsdT1kLGQ9bixuPWxvY2F0aW9uLmhvc3RuYW1lLGc9ImdldGJ1dHRvbi5pbyIsdD0iaHR0cHM6Ly9nZXRidXR0b24uaW8iLGI9bi5zbGljZSgwLC1nLmxlbmd0aCksbi5lbmRzV2l0aChnKSYmWyIiLCIuIl0uaW5jbHVkZXMoYi5jaGFyQXQoYi5sZW5ndGgtMSkpJiYoZT0vXi4rQC4rXC4uKyQvaS50ZXN0KHApP3A6bnVsbCksbj1uZXcgVVJMU2VhcmNoUGFyYW1zLGwmJm4uYXBwZW5kKCJ3aWRnZXRfa2V5IixsKSxlJiZuLmFwcGVuZCgidG8iLGUpLGMmJm4uYXBwZW5kKCJtaXJyb3IiLGMpLG8mJiJlbiIhPT1vJiZuLmFwcGVuZCgibGFuZyIsbyksKHV8fGQpJiZuLmFwcGVuZCgiaGFzaF9pZCIsdXx8ZCksdCsiL2NvbnRhY3QtYnV0dG9uPyIrbi50b1N0cmluZygpKTtPYmplY3QoRi51c2VFZmZlY3QpKGZ1bmN0aW9uKCl7aCgiY29udGFjdGZvcm0iPT09ci5idXR0b25Qb3B1cCl9KTt2YXIgYj1vbihPYmplY3QoRi51c2VTdGF0ZSkoITApLDIpLHA9YlswXSx5PWJbMV07cmV0dXJuIE9iamVjdChGLnVzZUVmZmVjdCkoZnVuY3Rpb24oKXsibGluZSI9PT1yLmJ1dHRvblBvcHVwJiZ5KCEwKX0sW3IuYnV0dG9uUG9wdXBdKSxILmEuY3JlYXRlRWxlbWVudChOLHtjb2xvcjphLG1lc3NlbmdlclRpdGxlOmksaWNvbjpILmEuY3JlYXRlRWxlbWVudCh0bixudWxsKSxlbmFibGVQb3B1cDptLGJnU3R5bGU6cyxzaXplOmZ9LEguYS5jcmVhdGVFbGVtZW50KCJkaXYiLG51bGwscCYmSC5hLmNyZWF0ZUVsZW1lbnQoSSxudWxsKSxILmEuY3JlYXRlRWxlbWVudChmbix7b25Mb2FkOmZ1bmN0aW9uKGUpe3koITEpfSxzcmM6Zyxpc0xvYWRpbmc6cH0pKSl9LHNtczpmdW5jdGlvbigpe3ZhciBlPU9iamVjdChGLnVzZUNvbnRleHQpKFYpLHQ9ZS5zdGF0ZSxlPWUuc2V0dGluZ3Msbj1lLnNtcyxyPWUuc21zQ29sb3Isbz1lLnNtc0xhYmVsLGE9ZS5iZ1N0eWxlLGU9ZS5hY3RpdmF0b3JTaXplLGk9TW4oT2JqZWN0KEYudXNlU3RhdGUpKCExKSwyKSxsPWlbMF0sYz1pWzFdO3JldHVybiBPYmplY3QoRi51c2VFZmZlY3QpKGZ1bmN0aW9uKCl7Yygic21zIj09PXQuYnV0dG9uUG9wdXApfSksSC5hLmNyZWF0ZUVsZW1lbnQoTix7Y29sb3I6cixtZXNzZW5nZXJUaXRsZTpvLGljb246SC5hLmNyZWF0ZUVsZW1lbnQoVG4sbnVsbCksZW5hYmxlUG9wdXA6bCxiZ1N0eWxlOmEsc2l6ZTplfSxILmEuY3JlYXRlRWxlbWVudChEbixudWxsLEguYS5jcmVhdGVFbGVtZW50KCJhIix7aHJlZjoic21zOiIuY29uY2F0KG4pfSxuKSkpfSxnb29nbGVtYXA6ZnVuY3Rpb24oKXt2YXIgZT1PYmplY3QoRi51c2VDb250ZXh0KShWKSx0PWUuc3RhdGUsZT1lLnNldHRpbmdzLG49KGUuZ29vZ2xlbWFwQ29sb3IsZS5nb29nbGVtYXBMYWJlbCkscj1lLmdvb2dsZW1hcCxvPWUuYmdTdHlsZSxhPWUuYWN0aXZhdG9yU2l6ZSxlPWUuZ29vZ2xlbWFwQ3VzdG9tTWVzc2FnZSxyPSJodHRwczovL2dldGJ1dHRvbi5pby8/Y29udHJvbGxlcj1NYXBCdXR0b24mYWN0aW9uPWluZGV4Jmxpbms9Ii5jb25jYXQociksaT1rbihPYmplY3QoRi51c2VTdGF0ZSkoITEpLDIpLGw9aVswXSxjPWlbMV07T2JqZWN0KEYudXNlRWZmZWN0KShmdW5jdGlvbigpe2MoImdvb2dsZW1hcCI9PT10LmJ1dHRvblBvcHVwKX0pO3ZhciBpPWtuKE9iamVjdChGLnVzZVN0YXRlKSghMCksMiksdT1pWzBdLHM9aVsxXTtyZXR1cm4gT2JqZWN0KEYudXNlRWZmZWN0KShmdW5jdGlvbigpeyJnb29nbGVtYXAiPT09dC5idXR0b25Qb3B1cCYmcyghMCl9LFt0LmJ1dHRvblBvcHVwXSksSC5hLmNyZWF0ZUVsZW1lbnQoTix7Y29sb3I6IiM5MzkzOTMiLG1lc3NlbmdlclRpdGxlOm4saWNvbjpILmEuY3JlYXRlRWxlbWVudCh2bixudWxsKSxjdXN0b21TZXR0aW5nczoiZ29vZ2xlbWFwIixlbmFibGVQb3B1cDpsLGJnU3R5bGU6byxzaXplOmF9LEguYS5jcmVhdGVFbGVtZW50KCJkaXYiLG51bGwsdSYmSC5hLmNyZWF0ZUVsZW1lbnQoSSxudWxsKSxILmEuY3JlYXRlRWxlbWVudChPbix7b25Mb2FkOmZ1bmN0aW9uKGUpe3MoITEpfSxzcmM6cixpc0xvYWRpbmc6dSxsb2FkaW5nOiJsYXp5Iixnb29nbGVtYXBDdXN0b21NZXNzYWdlOmV9KSxlJiZILmEuY3JlYXRlRWxlbWVudCgicCIse3N0eWxlOnttYXJnaW46IjdweCAwcHgiLGxpbmVIZWlnaHQ6IjIzcHgifX0sZSkpKX0sY2FsbGJhY2s6ZnVuY3Rpb24oKXt2YXIgZSx0LG4scj1PYmplY3QoRi51c2VDb250ZXh0KShWKSxvPXIuc3RhdGUscj1yLnNldHRpbmdzLGE9ci5jYWxsYmFjayxpPXIuY2FsbGJhY2tDb2xvcixsPXIuY2FsbGJhY2tMYWJlbCxjPShyLmNhbGxiYWNrSG9zdCxyLmNhbGxiYWNrQ3VzdG9tTWVzc2FnZSksdT1yLmNhbGxiYWNrTmFtZVBsYWNlaG9sZGVyLHM9ci5jYWxsYmFja1Bob25lUGxhY2Vob2xkZXIsZj1yLmNhbGxiYWNrU2VuZEJ1dHRvblRleHQsZD1yLmtleSxkPXZvaWQgMD09PWQ/bnVsbDpkLHA9ci5taXJyb3IsbT1yLmJnU3R5bGUsaD1yLmFjdGl2YXRvclNpemUsZz1yLmhhc2hJZCxnPXZvaWQgMD09PWc/bnVsbDpnLHI9ci5zY3JpcHRJZCxyPXZvaWQgMD09PXI/bnVsbDpyLGI9Sm4oT2JqZWN0KEYudXNlU3RhdGUpKCExKSwyKSx5PWJbMF0sdj1iWzFdLHc9KGI9YSxhPWksYz1jLHU9dSxzPXMsZj1mLGQ9ZCxwPXAsZz1nLHI9cix0PWxvY2F0aW9uLmhvc3RuYW1lLHc9ImdldGJ1dHRvbi5pbyIsbj0iaHR0cHM6Ly9nZXRidXR0b24uaW8iLGR8fCh4PXQuc2xpY2UoMCwtdy5sZW5ndGgpLHQuZW5kc1dpdGgodykmJlsiIiwiLiJdLmluY2x1ZGVzKHguY2hhckF0KHgubGVuZ3RoLTEpKSYmKGU9L14uK0AuK1wuLiskL2kudGVzdChiKT9iOm51bGwpKSx0PW5ldyBVUkxTZWFyY2hQYXJhbXMsZCYmdC5hcHBlbmQoIndpZGdldF9rZXkiLGQpLGUmJnQuYXBwZW5kKCJ0byIsZSkscCYmdC5hcHBlbmQoIm1pcnJvciIscCksYSYmdC5hcHBlbmQoImNvbG9yIixhLnNsaWNlKDEpKSxjJiZ0LmFwcGVuZCgiY3VzdG9tX21lc3NhZ2UiLGMpLHUmJnQuYXBwZW5kKCJuYW1lX3BsYWNlaG9sZGVyIix1KSxzJiZ0LmFwcGVuZCgicGhvbmVfcGxhY2Vob2xkZXIiLHMpLGYmJnQuYXBwZW5kKCJzZW5kX3RleHQiLGYpLChnfHxyKSYmdC5hcHBlbmQoImhhc2hfaWQiLGd8fHIpLG4rIi9jYWxsYmFjay1idXR0b24/Iit0LnRvU3RyaW5nKCkpO09iamVjdChGLnVzZUVmZmVjdCkoZnVuY3Rpb24oKXt2KCJjYWxsYmFjayI9PT1vLmJ1dHRvblBvcHVwKX0pO3ZhciB4PUpuKE9iamVjdChGLnVzZVN0YXRlKSghMCksMiksYj14WzBdLGs9eFsxXTtyZXR1cm4gT2JqZWN0KEYudXNlRWZmZWN0KShmdW5jdGlvbigpeyJjYWxsYmFjayI9PT1vLmJ1dHRvblBvcHVwJiZrKCEwKX0sW28uYnV0dG9uUG9wdXBdKSxILmEuY3JlYXRlRWxlbWVudChOLHtjb2xvcjppLG1lc3NlbmdlclRpdGxlOmwsaWNvbjpILmEuY3JlYXRlRWxlbWVudChLbixudWxsKSxlbmFibGVQb3B1cDp5LGJnU3R5bGU6bSxzaXplOmh9LEguYS5jcmVhdGVFbGVtZW50KCJkaXYiLG51bGwsYiYmSC5hLmNyZWF0ZUVsZW1lbnQoSSxudWxsKSxILmEuY3JlYXRlRWxlbWVudChvcix7b25Mb2FkOmZ1bmN0aW9uKGUpe2soITEpfSxzcmM6dyxpc0xvYWRpbmc6Yn0pKSl9LGZhY2Vib29rOmZ1bmN0aW9uKCl7cmV0dXJuIHhuKCk/SC5hLmNyZWF0ZUVsZW1lbnQoeW4sbnVsbCk6SC5hLmNyZWF0ZUVsZW1lbnQoSC5hLkZyYWdtZW50LG51bGwpfSxjYWxlbmRhcjpmdW5jdGlvbigpe3ZhciBlLHQsbixyPU9iamVjdChGLnVzZUNvbnRleHQpKFYpLG89ci5zdGF0ZSxyPXIuc2V0dGluZ3MsYT1yLmNhbGVuZGFyLGk9ci5jYWxlbmRhckNvbG9yLGw9ci5jYWxlbmRhckxhYmVsLGM9KHIuY2FsZW5kYXJIb3N0LHIuY2FsZW5kYXJDdXN0b21NZXNzYWdlKSx1PXIuY2FsZW5kYXJOYW1lUGxhY2Vob2xkZXIscz1yLmNhbGVuZGFyUGhvbmVQbGFjZWhvbGRlcixmPXIuY2FsZW5kYXJFbWFpbFBsYWNlaG9sZGVyLGQ9ci5jYWxlbmRhck1lc3NhZ2VQbGFjZWhvbGRlcixwPXIuY2FsZW5kYXJTZW5kQnV0dG9uVGV4dCxtPXIua2V5LG09dm9pZCAwPT09bT9udWxsOm0saD1yLm1pcnJvcixnPXIuYmdTdHlsZSxiPXIuYWN0aXZhdG9yU2l6ZSx5PXIuaGFzaElkLHk9dm9pZCAwPT09eT9udWxsOnkscj1yLnNjcmlwdElkLHI9dm9pZCAwPT09cj9udWxsOnIsdj1kbihPYmplY3QoRi51c2VTdGF0ZSkoITEpLDIpLHc9dlswXSx4PXZbMV0saz0odj1hLGE9aSxjPWMsdT11LHM9cyxmPWYsZD1kLHA9cCxtPW0saD1oLHk9eSxyPXIsdD1sb2NhdGlvbi5ob3N0bmFtZSxrPSJnZXRidXR0b24uaW8iLG49Imh0dHBzOi8vZ2V0YnV0dG9uLmlvIixtfHwoUz10LnNsaWNlKDAsLWsubGVuZ3RoKSx0LmVuZHNXaXRoKGspJiZbIiIsIi4iXS5pbmNsdWRlcyhTLmNoYXJBdChTLmxlbmd0aC0xKSkmJihlPS9eLitALitcLi4rJC9pLnRlc3Qodik/djpudWxsKSksdD1uZXcgVVJMU2VhcmNoUGFyYW1zLG0mJnQuYXBwZW5kKCJ3aWRnZXRfa2V5IixtKSxlJiZ0LmFwcGVuZCgidG8iLGUpLGgmJnQuYXBwZW5kKCJtaXJyb3IiLGgpLGEmJnQuYXBwZW5kKCJjb2xvciIsYS5zbGljZSgxKSksYyYmdC5hcHBlbmQoImN1c3RvbV9tZXNzYWdlIixjKSx1JiZ0LmFwcGVuZCgibmFtZV9wbGFjZWhvbGRlciIsdSkscyYmdC5hcHBlbmQoInBob25lX3BsYWNlaG9sZGVyIixzKSxmJiZ0LmFwcGVuZCgiZW1haWxfcGxhY2Vob2xkZXIiLGYpLGQmJnQuYXBwZW5kKCJtZXNzYWdlX3BsYWNlaG9sZGVyIixkKSxwJiZ0LmFwcGVuZCgic2VuZF90ZXh0IixwKSwoeXx8cikmJnQuYXBwZW5kKCJoYXNoX2lkIix5fHxyKSxuKyIvY2FsZW5kYXItYnV0dG9uPyIrdC50b1N0cmluZygpKTtPYmplY3QoRi51c2VFZmZlY3QpKGZ1bmN0aW9uKCl7eCgiY2FsZW5kYXIiPT09by5idXR0b25Qb3B1cCl9KTt2YXIgUz1kbihPYmplY3QoRi51c2VTdGF0ZSkoITApLDIpLHY9U1swXSxDPVNbMV07cmV0dXJuIE9iamVjdChGLnVzZUVmZmVjdCkoZnVuY3Rpb24oKXsiY2FsZW5kYXIiPT09by5idXR0b25Qb3B1cCYmQyghMCl9LFtvLmJ1dHRvblBvcHVwXSksSC5hLmNyZWF0ZUVsZW1lbnQoTix7Y29sb3I6aSxtZXNzZW5nZXJUaXRsZTpsLGljb246SC5hLmNyZWF0ZUVsZW1lbnQoc24sbnVsbCksY3VzdG9tU2V0dGluZ3M6ImNhbGVuZGFyIixlbmFibGVQb3B1cDp3LGJnU3R5bGU6ZyxzaXplOmJ9LEguYS5jcmVhdGVFbGVtZW50KCJkaXYiLG51bGwsdiYmSC5hLmNyZWF0ZUVsZW1lbnQoSSxudWxsKSxILmEuY3JlYXRlRWxlbWVudChtbix7b25Mb2FkOmZ1bmN0aW9uKGUpe0MoITEpfSxzcmM6ayxpc0xvYWRpbmc6dn0pKSl9LGxpbmU6ZnVuY3Rpb24oKXt2YXIgZT1PYmplY3QoRi51c2VDb250ZXh0KShWKSx0PWUuc3RhdGUsZT1lLnNldHRpbmdzLG49ZS5saW5lLHI9ZS5saW5lQ29sb3Isbz1lLmxpbmVMYWJlbCxhPWUuYmdTdHlsZSxlPWUuYWN0aXZhdG9yU2l6ZSxpPWpuKE9iamVjdChGLnVzZVN0YXRlKSghMSksMiksbD1pWzBdLGM9aVsxXTtPYmplY3QoRi51c2VFZmZlY3QpKGZ1bmN0aW9uKCl7YygibGluZSI9PT10LmJ1dHRvblBvcHVwKX0pO3ZhciBpPWpuKE9iamVjdChGLnVzZVN0YXRlKSghMCksMiksdT1pWzBdLHM9aVsxXSxuPShPYmplY3QoRi51c2VFZmZlY3QpKGZ1bmN0aW9uKCl7ImxpbmUiPT09dC5idXR0b25Qb3B1cCYmcyghMCl9LFt0LmJ1dHRvblBvcHVwXSksLTEhPT0obj0oaT1uKS5pbmRleE9mKCJAIikpPyhuPWkuc2xpY2UobiksImh0dHBzOi8vbGluZS5tZS90aS9wL34iLmNvbmNhdChuKSk6aSksaT0iaHR0cHM6Ly9hcGkucXJzZXJ2ZXIuY29tL3YxL2NyZWF0ZS1xci1jb2RlLz9zaXplPTI1MHgyNTAmbWFyZ2luPTEwJmRhdGE9Ii5jb25jYXQobik7cmV0dXJuIEguYS5jcmVhdGVFbGVtZW50KE4se2NvbG9yOnIsbWVzc2VuZ2VyVGl0bGU6byxpY29uOkguYS5jcmVhdGVFbGVtZW50KEVuLG51bGwpLGVuYWJsZVBvcHVwOmwsYmdTdHlsZTphLHNpemU6ZX0sSC5hLmNyZWF0ZUVsZW1lbnQoTG4sbnVsbCx1JiZILmEuY3JlYXRlRWxlbWVudChJLG51bGwpLEguYS5jcmVhdGVFbGVtZW50KCJpbWciLHtvbkxvYWQ6ZnVuY3Rpb24oZSl7cyghMSl9LGFsdDoiV2VjaGF0IixzcmM6aSxoZWlnaHQ6IjI1MHB4Iix3aWR0aDoiMjUwcHgifSksSC5hLmNyZWF0ZUVsZW1lbnQoImEiLHtocmVmOiIiLmNvbmNhdChuKSx0YXJnZXQ6Il9ibGFuayJ9LG4pKSl9LHNuYXBjaGF0OmZ1bmN0aW9uKCl7dmFyIGU9T2JqZWN0KEYudXNlQ29udGV4dCkoViksdD1lLnN0YXRlLGU9ZS5zZXR0aW5ncyxuPWUuc25hcGNoYXQscj1lLnNuYXBjaGF0Q29sb3Isbz1lLnNuYXBjaGF0TGFiZWwsYT1lLmJnU3R5bGUsZT1lLmFjdGl2YXRvclNpemUsaT1VbihPYmplY3QoRi51c2VTdGF0ZSkoITEpLDIpLGw9aVswXSxjPWlbMV07T2JqZWN0KEYudXNlRWZmZWN0KShmdW5jdGlvbigpe2MoInNuYXBjaGF0Ij09PXQuYnV0dG9uUG9wdXApfSk7dmFyIGk9VW4oT2JqZWN0KEYudXNlU3RhdGUpKCEwKSwyKSx1PWlbMF0scz1pWzFdLGk9KE9iamVjdChGLnVzZUVmZmVjdCkoZnVuY3Rpb24oKXsic25hcGNoYXQiPT09dC5idXR0b25Qb3B1cCYmcyghMCl9LFt0LmJ1dHRvblBvcHVwXSksImh0dHBzOi8vZmVlbGluc29uaWNlLWhyZC5hcHBzcG90LmNvbS93ZWIvZGVlcGxpbmsvc25hcGNvZGU/dXNlcm5hbWU9Ii5jb25jYXQobiwiJnR5cGU9UE5HIikpO3JldHVybiBILmEuY3JlYXRlRWxlbWVudChOLHtjb2xvcjpyLG1lc3NlbmdlclRpdGxlOm8saWNvbjpILmEuY3JlYXRlRWxlbWVudChObixudWxsKSxlbmFibGVQb3B1cDpsLGJnU3R5bGU6YSxzaXplOmV9LEguYS5jcmVhdGVFbGVtZW50KEduLG51bGwsdSYmSC5hLmNyZWF0ZUVsZW1lbnQoSSxudWxsKSxILmEuY3JlYXRlRWxlbWVudChxbix7b25Mb2FkOmZ1bmN0aW9uKGUpe3MoITEpfSxhbHQ6IlNuYXBjaGF0IixzcmM6aSxoZWlnaHQ6IjIwMHB4Iix3aWR0aDoiMjAwcHgifSksSC5hLmNyZWF0ZUVsZW1lbnQoV24sbnVsbCxuKSkpfSx2aWJlcjpmdW5jdGlvbigpe3ZhciBlPU9iamVjdChGLnVzZUNvbnRleHQpKFYpLHQ9ZS5zdGF0ZSxlPWUuc2V0dGluZ3Msbj1lLnZpYmVyLHI9ZS52aWJlckNvbG9yLG89ZS52aWJlckxhYmVsLGE9ZS5iZ1N0eWxlLGU9ZS5hY3RpdmF0b3JTaXplLGk9Wm4oT2JqZWN0KEYudXNlU3RhdGUpKCExKSwyKSxsPWlbMF0sYz1pWzFdO09iamVjdChGLnVzZUVmZmVjdCkoZnVuY3Rpb24oKXtjKCJ2aWJlciI9PT10LmJ1dHRvblBvcHVwKX0pO3ZhciBpPVpuKE9iamVjdChGLnVzZVN0YXRlKSghMCksMiksdT1pWzBdLHM9aVsxXSxmPShPYmplY3QoRi51c2VFZmZlY3QpKGZ1bmN0aW9uKCl7InZpYmVyIj09PXQuYnV0dG9uUG9wdXAmJnMoITApfSxbdC5idXR0b25Qb3B1cF0pLC9eWzAtOSAoKSstXSskLy50ZXN0KGk9bik/KGY9aS5yZXBsYWNlKC9cRCsvZywiIikucmVwbGFjZSgvXlswXSsvZywiIikse3FyOiJ2aWJlcjovL2FkZD9udW1iZXI9Ii5jb25jYXQoZiksbGluazoidmliZXI6Ly9jaGF0P251bWJlcj0iLmNvbmNhdChmKX0pOntxcjoidmliZXI6Ly9hZGQ/bnVtYmVyPSIuY29uY2F0KGVuY29kZVVSSUNvbXBvbmVudChpKSksbGluazoidmliZXI6Ly9wYT9jaGF0VVJJPSIuY29uY2F0KGVuY29kZVVSSUNvbXBvbmVudChpKSl9KSxpPWYubGluayxkPSJodHRwczovL2FwaS5xcnNlcnZlci5jb20vdjEvY3JlYXRlLXFyLWNvZGUvP3NpemU9MjUweDI1MCZtYXJnaW49MTAmZGF0YT0iLmNvbmNhdChmLnFyKTtyZXR1cm4gSC5hLmNyZWF0ZUVsZW1lbnQoTix7Y29sb3I6cixtZXNzZW5nZXJUaXRsZTpvLGljb246SC5hLmNyZWF0ZUVsZW1lbnQoJG4sbnVsbCksZW5hYmxlUG9wdXA6bCxiZ1N0eWxlOmEsc2l6ZTplfSxILmEuY3JlYXRlRWxlbWVudChRbixudWxsLHUmJkguYS5jcmVhdGVFbGVtZW50KEksbnVsbCksSC5hLmNyZWF0ZUVsZW1lbnQoImltZyIse29uTG9hZDpmdW5jdGlvbihlKXtzKCExKX0sYWx0OiJWaWJlciIsc3JjOmQsaGVpZ2h0OiIyNTBweCIsd2lkdGg6IjI1MHB4In0pLEguYS5jcmVhdGVFbGVtZW50KFluLG51bGwsSC5hLmNyZWF0ZUVsZW1lbnQoImEiLHtocmVmOmksdGFyZ2V0OiJfYmxhbmsifSxuLEguYS5jcmVhdGVFbGVtZW50KCJiciIsbnVsbCksSC5hLmNyZWF0ZUVsZW1lbnQoInNwYW4iLG51bGwsIihPcGVuIGluIFZpYmVyIGZvciBEZXNrdG9wKSIpKSkpKX0sd2hhdHNhcHA6ZnVuY3Rpb24oKXt2YXIgZT1PYmplY3QoRi51c2VDb250ZXh0KShWKSx0PWUuc3RhdGUsZT1lLnNldHRpbmdzLG49ZS53aGF0c2FwcEFnZW50SW1hZ2UxLHI9ZS53aGF0c2FwcEFnZW50SW1hZ2UyLG89ZS53aGF0c2FwcEFnZW50SW1hZ2UzLGE9ZS53aGF0c2FwcEFnZW50SW1hZ2U0LGk9ZS53aGF0c2FwcEFnZW50SW1hZ2U1LGw9ZS53aGF0c2FwcEFnZW50TmFtZTEsYz1lLndoYXRzYXBwQWdlbnROYW1lMix1PWUud2hhdHNhcHBBZ2VudE5hbWUzLHM9ZS53aGF0c2FwcEFnZW50TmFtZTQsZj1lLndoYXRzYXBwQWdlbnROYW1lNSxkPWUud2hhdHNhcHBBZ2VudFBvc2l0aW9uMSxwPWUud2hhdHNhcHBBZ2VudFBvc2l0aW9uMixtPWUud2hhdHNhcHBBZ2VudFBvc2l0aW9uMyxoPWUud2hhdHNhcHBBZ2VudFBvc2l0aW9uNCxnPWUud2hhdHNhcHBBZ2VudFBvc2l0aW9uNSxiPWUud2hhdHNhcHAseT1lLndoYXRzYXBwQWdlbnROdW1iZXIyLHY9ZS53aGF0c2FwcEFnZW50TnVtYmVyMyx3PWUud2hhdHNhcHBBZ2VudE51bWJlcjQseD1lLndoYXRzYXBwQWdlbnROdW1iZXI1LGs9ZS5wcmVGaWxsZWRNZXNzYWdlLFM9ZS53aGF0c2FwcFByZUZpbGxlZE1lc3NhZ2UyLEM9ZS53aGF0c2FwcFByZUZpbGxlZE1lc3NhZ2UzLEU9ZS53aGF0c2FwcFByZUZpbGxlZE1lc3NhZ2U0LE89ZS53aGF0c2FwcFByZUZpbGxlZE1lc3NhZ2U1LGo9ZS5idXR0b25Cb3JkZXJSYWRpdXMsQT1lLndoYXRzYXBwQ29sb3IsUD1lLmJnU3R5bGUsST1lLmFjdGl2YXRvclNpemUsXz1lLm1pcnJvcix6PWUuYm9yZGVyLGU9ZS53aGF0c2FwcExhYmVsLFQ9dXIoT2JqZWN0KEYudXNlU3RhdGUpKCExKSwyKSxMPVRbMF0sTT1UWzFdLFI9KE9iamVjdChGLnVzZUVmZmVjdCkoZnVuY3Rpb24oKXtNKCJ3aGF0c2FwcCI9PT10LmJ1dHRvblBvcHVwKX0pLCQoaikpLFQ9T2JqZWN0KEYudXNlTWVtbykoZnVuY3Rpb24oKXtyZXR1cm5be3Bob3RvOm4sbmFtZTpsLHBvc2l0aW9uOmQsbnVtYmVyOmIsbWVzc2FnZTprfSx7cGhvdG86cixuYW1lOmMscG9zaXRpb246cCxudW1iZXI6eSxtZXNzYWdlOlN9LHtwaG90bzpvLG5hbWU6dSxwb3NpdGlvbjptLG51bWJlcjp2LG1lc3NhZ2U6Q30se3Bob3RvOmEsbmFtZTpzLHBvc2l0aW9uOmgsbnVtYmVyOncsbWVzc2FnZTpFfSx7cGhvdG86aSxuYW1lOmYscG9zaXRpb246ZyxudW1iZXI6eCxtZXNzYWdlOk99XX0sW24scixvLGEsaSxsLGMsdSxzLGYsZCxwLG0saCxnLGIseSx2LHcseCxrLFMsQyxFLE9dKTtyZXR1cm4gSC5hLmNyZWF0ZUVsZW1lbnQoTix7Y29sb3I6QSxtZXNzZW5nZXJUaXRsZTplLGljb246SC5hLmNyZWF0ZUVsZW1lbnQobHIse2lzSXRlbUljb246IndhX2hlYWRlcl9pY29uIn0pLGVuYWJsZVBvcHVwOkwsY3VzdG9tU2V0dGluZ3M6IndoYXRzYXBwIixiZ1N0eWxlOlAsc2l6ZTpJfSxILmEuY3JlYXRlRWxlbWVudChkcixudWxsLFQubWFwKGZ1bmN0aW9uKGUsdCl7dmFyIG4scixvPWUucGhvdG8sYT1lLm5hbWUsaT1lLnBvc2l0aW9uLGw9ZS5udW1iZXIsZT1lLm1lc3NhZ2UsYz0oZT1lLChuPWwpJiZuLnN0YXJ0c1dpdGgoImh0dHBzOi8vY2hhdC53aGF0c2FwcC5jb20vIik/cj1uOihjPW4/bi5tYXRjaCgvXGQrL2cpLmpvaW4oIiIpOm51bGwscj0iaHR0cHM6Ly93YS5tZS8iLmNvbmNhdChjKSxudWxsIT09biYmZSYmKHI9IiIuY29uY2F0KHIsIj90ZXh0PSIpLmNvbmNhdChlbmNvZGVVUklDb21wb25lbnQoZSkpKSkscik7cmV0dXJuIEguYS5jcmVhdGVFbGVtZW50KCJsaSIse2tleTp0LHN0eWxlOntkaXNwbGF5OiFsJiYibm9uZSJ9fSxILmEuY3JlYXRlRWxlbWVudChwcix7aHJlZjpjLHRhcmdldDoiX2JsYW5rIixyZWw6Im5vcmVmZXJyZXIiLGNvbG9yOkF9LEguYS5jcmVhdGVFbGVtZW50KGdyLG51bGwsSC5hLmNyZWF0ZUVsZW1lbnQoaHIse2luZGljYXRvclBvc2l0aW9uOlIsbWlycm9yOl99LEguYS5jcmVhdGVFbGVtZW50KG1yLHtzcmM6b3x8bnVsbCxidXR0b25Cb3JkZXJSYWRpdXM6aixib3JkZXI6en0pKSxILmEuY3JlYXRlRWxlbWVudCgiZGl2IixudWxsLEguYS5jcmVhdGVFbGVtZW50KGJyLHttaXJyb3I6X30sYSksSC5hLmNyZWF0ZUVsZW1lbnQoeXIse21pcnJvcjpffSxpKSkpLEguYS5jcmVhdGVFbGVtZW50KGxyLHtpc0l0ZW1JY29uOiEwLGNvbG9yOkF9KSkpfSkpKX0sd2VjaGF0OmZ1bmN0aW9uKCl7dmFyIGU9T2JqZWN0KEYudXNlQ29udGV4dCkoViksdD1lLnN0YXRlLGU9ZS5zZXR0aW5ncyxuPWUud2VjaGF0LHI9ZS53ZWNoYXRDb2xvcixvPWUud2VjaGF0TGFiZWwsYT1lLmJnU3R5bGUsZT1lLmFjdGl2YXRvclNpemUsaT1hcihPYmplY3QoRi51c2VTdGF0ZSkoITEpLDIpLGw9aVswXSxjPWlbMV07T2JqZWN0KEYudXNlRWZmZWN0KShmdW5jdGlvbigpe2MoIndlY2hhdCI9PT10LmJ1dHRvblBvcHVwKX0pO3ZhciBpPWFyKE9iamVjdChGLnVzZVN0YXRlKSghMCksMiksdT1pWzBdLHM9aVsxXSxpPShPYmplY3QoRi51c2VFZmZlY3QpKGZ1bmN0aW9uKCl7IndlY2hhdCI9PT10LmJ1dHRvblBvcHVwJiZzKCEwKX0sW3QuYnV0dG9uUG9wdXBdKSwiaHR0cDovL3dlaXhpbi5xcS5jb20vci8iLmNvbmNhdChlbmNvZGVVUklDb21wb25lbnQobikpKSxpPSJodHRwczovL2FwaS5xcnNlcnZlci5jb20vdjEvY3JlYXRlLXFyLWNvZGUvP3NpemU9MjUweDI1MCZtYXJnaW49MTAmZGF0YT0iLmNvbmNhdChpKTtyZXR1cm4gSC5hLmNyZWF0ZUVsZW1lbnQoTix7Y29sb3I6cixtZXNzZW5nZXJUaXRsZTpvLGljb246SC5hLmNyZWF0ZUVsZW1lbnQocnIsbnVsbCksZW5hYmxlUG9wdXA6bCxiZ1N0eWxlOmEsc2l6ZTplfSxILmEuY3JlYXRlRWxlbWVudChjcixudWxsLHUmJkguYS5jcmVhdGVFbGVtZW50KEksbnVsbCksSC5hLmNyZWF0ZUVsZW1lbnQoImltZyIse29uTG9hZDpmdW5jdGlvbihlKXtzKCExKX0sYWx0OiJXZWNoYXQiLHNyYzppLGhlaWdodDoiMjUwcHgiLHdpZHRoOiIyNTBweCJ9KSxILmEuY3JlYXRlRWxlbWVudCgiYSIse2hyZWY6Imh0dHA6Ly93ZWl4aW4ucXEuY29tL3IvIi5jb25jYXQobiksdGFyZ2V0OiJfYmxhbmsifSwiaHR0cDovL3dlaXhpbi5xcS5jb20vci8iLmNvbmNhdChuKSkpKX0sd29uZGVyY2hhdDpmdW5jdGlvbigpe3ZhciBlPU9iamVjdChGLnVzZUNvbnRleHQpKFYpLHQ9ZS5zdGF0ZSxlPWUuc2V0dGluZ3Msbj1lLndvbmRlcmNoYXQscj1lLndvbmRlcmNoYXRDb2xvcixvPWUud29uZGVyY2hhdExhYmVsLGE9ZS5iZ1N0eWxlLGk9ZS5hY3RpdmF0b3JTaXplLGU9ZS5rZXksbD12cihPYmplY3QoRi51c2VTdGF0ZSkoITEpLDIpLGM9bFswXSx1PWxbMV0sbj0obD1uLG49ZSxlPW5ldyBVUkxTZWFyY2hQYXJhbXMsbiYmZS5hcHBlbmQoImdldGJ1dHRvbl9mYWxsYmFjayIsbiksRCgpJiZlLmFwcGVuZCgiaGVhZGVySGlkZGVuIiwhMCksImh0dHBzOi8vYXBwLndvbmRlcmNoYXQuaW8vY2hhdGJvdCIrIi8iLmNvbmNhdChsLCI/IikrZS50b1N0cmluZygpKTtPYmplY3QoRi51c2VFZmZlY3QpKGZ1bmN0aW9uKCl7dSgid29uZGVyY2hhdCI9PT10LmJ1dHRvblBvcHVwKX0pO3ZhciBsPXZyKE9iamVjdChGLnVzZVN0YXRlKSghMCksMiksZT1sWzBdLHM9bFsxXTtyZXR1cm4gT2JqZWN0KEYudXNlRWZmZWN0KShmdW5jdGlvbigpeyJ3b25kZXJjaGF0Ij09PXQuYnV0dG9uUG9wdXAmJnMoITApfSxbdC5idXR0b25Qb3B1cF0pLEguYS5jcmVhdGVFbGVtZW50KE4se2NvbG9yOnIsbWVzc2VuZ2VyVGl0bGU6byxpY29uOkguYS5jcmVhdGVFbGVtZW50KGZyLG51bGwpLGVuYWJsZVBvcHVwOmMsYmdTdHlsZTphLHNpemU6aSxjdXN0b21TZXR0aW5nczoid29uZGVyY2hhdCJ9LEguYS5jcmVhdGVFbGVtZW50KEguYS5GcmFnbWVudCxudWxsLGUmJkguYS5jcmVhdGVFbGVtZW50KEksbnVsbCksSC5hLmNyZWF0ZUVsZW1lbnQoa3Ise29uTG9hZDpmdW5jdGlvbihlKXtzKCExKX0sc3JjOm4saXNMb2FkaW5nOmV9KSkpfSxhaTpmdW5jdGlvbigpe3ZhciB0LHIsZSxuPV9yKE9iamVjdChGLnVzZVN0YXRlKSghMSksMiksbz1uWzBdLGE9blsxXSxuPU9iamVjdChGLnVzZUNvbnRleHQpKFYpLGk9bi5zdGF0ZSxsPW4uYWN0aW9ucyxuPW4uc2V0dGluZ3MsYz1uLmFpLHU9bi5haUNvbG9yLHM9bi5haUljb24sZj0obi5haVBvcHVwVGl0bGUsbi5iZ1N0eWxlLG4uYWlQb3B1cExhbmcsbi5rZXksbi5taXJyb3IpLGQ9bi5haUF1dG9vcGVuLHA9bi5wb3NpdGlvbixtPW4uYWN0aXZhdG9yU2l6ZSxoPW4uc2hpZnRWZXJ0aWNhbCxnPW4uc2hpZnRIb3Jpem9udGFsLG49KE9iamVjdChGLnVzZUVmZmVjdCkoZnVuY3Rpb24oKXthKCJhaSI9PT1pLmJ1dHRvblBvcHVwKX0pLE9iamVjdChGLnVzZUVmZmVjdCkoZnVuY3Rpb24oKXtzJiYoKG5ldyBJbWFnZSkuc3JjPXMpfSxbXSksbj17Y2xvc2VQb3B1cDpsLmNsb3NlQnV0dG9uUG9wdXB9LHQ9bi5jbG9zZVBvcHVwLG49U3IoT2JqZWN0KEYudXNlU3RhdGUpKCExKSwyKSxsPW5bMF0scj1uWzFdLE9iamVjdChGLnVzZUVmZmVjdCkoZnVuY3Rpb24oKXt2YXIgZSx0PSJnYi1haS1zY3JpcHQiLG49ZG9jdW1lbnQucXVlcnlTZWxlY3Rvcigic2NyaXB0W2RhdGEtaWQ9Ii5jb25jYXQodCwiXSIpKTtuPyJsb2FkZWQiPT09bi5nZXRBdHRyaWJ1dGUoImRhdGEtc3RhdHVzIik/cighMCk6KG4ub25sb2FkPWZ1bmN0aW9uKCl7cighMCksbi5zZXRBdHRyaWJ1dGUoImRhdGEtc3RhdHVzIiwibG9hZGVkIil9LG4ub25lcnJvcj1mdW5jdGlvbihlKXtjb25zb2xlLmVycm9yKCJFcnJvciBsb2FkaW5nIEFJIHNjcmlwdCIsZSl9KToobj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSwwPD0oZT1PcigpKS5pbmRleE9mKCJsb2NhbGhvc3QiKSYmKG4udHlwZT0ibW9kdWxlIiksbi5zcmM9ZSxuLmRlZmVyPSEwLG4uc2V0QXR0cmlidXRlKCJkYXRhLWlkIix0KSxuLnNldEF0dHJpYnV0ZSgiZGF0YS1zdGF0dXMiLCJsb2FkaW5nIiksbi5vbmxvYWQ9ZnVuY3Rpb24oKXtyKCEwKSxuLnNldEF0dHJpYnV0ZSgiZGF0YS1zdGF0dXMiLCJsb2FkZWQiKX0sbi5vbmVycm9yPWZ1bmN0aW9uKGUpe2NvbnNvbGUuZXJyb3IoIkVycm9yIGxvYWRpbmcgQUkgc2NyaXB0IixlKX0sZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChuKSl9LFtyXSksZT1PYmplY3QoRi51c2VDYWxsYmFjaykoZnVuY3Rpb24oZSl7ZT1lLmRldGFpbDtjb25zb2xlLmxvZygiR0IgcmVjZWl2ZWQgZXZlbnQ6IixlKSxlP2UuaWQhPT1Fcj9jb25zb2xlLmxvZygiR0Igc2tpcCBldmVudCwgaWQ6IixlLmlkKTp2b2lkIDAhPT1lLmlzX3Nob3dfcG9wdXAmJnQoZS5pc19zaG93X3BvcHVwKTpjb25zb2xlLmVycm9yKCJldmVudE1hbmFnZXI6IGV2ZW50LmRldGFpbCBub3QgZm91bmQhIil9LFt0XSksT2JqZWN0KEYudXNlRWZmZWN0KShmdW5jdGlvbigpe3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiR2V0YnV0dG9uVXBkYXRlU3RhdGUiLGUpLGZ1bmN0aW9uKCl7cmV0dXJuIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJHZXRidXR0b25VcGRhdGVTdGF0ZSIsZSl9fSxbZSx0XSkse2lzU2NyaXB0TG9hZGVkOmwsaW5pdFBvcHVwOmpyLGFwcGx5U2V0dGluZ3NQb3B1cDpJcixvcGVuUG9wdXA6QXIsY2xvc2VQb3B1cDpmdW5jdGlvbigpe3QoKSxQcigpfX0pLGI9bi5pc1NjcmlwdExvYWRlZCx5PW4ub3BlblBvcHVwLHY9bi5jbG9zZVBvcHVwLHc9bi5hcHBseVNldHRpbmdzUG9wdXAseD1uLmluaXRQb3B1cDtPYmplY3QoRi51c2VFZmZlY3QpKGZ1bmN0aW9uKCl7YiYmdyh7Y29sb3JfaGVhZGVyOnV9KX0sW3VdKTt2YXIgbD1fcihPYmplY3QoRi51c2VTdGF0ZSkoITEpLDIpLGs9bFswXSxTPWxbMV07T2JqZWN0KEYudXNlRWZmZWN0KShmdW5jdGlvbigpe3ZhciBlO28/az95KCk6a3x8KGI/KGU9e2JvdF9pZDpjLGJvdF9sb2dvOnN8fG51bGwsY29sb3JfaGVhZGVyOnUsaXNfc2hvd19wb3B1cDpkfHxvLGlzX3Nob3dfYWN0aXZhdG9yOiExLGFjdGl2YXRvcl9zaXplOm0sYWN0aXZhdG9yX29mZnNldF94OmcsYWN0aXZhdG9yX29mZnNldF95OmgsYWN0aXZhdG9yX3Bvc2l0aW9uOnAsaXNfbWlycm9yOmZ9LGNvbnNvbGUubG9nKCJhaSBzY3JpcHQgbG9hZGluZy4uLiIsd2luZG93LkdCQUksZSkseChlKSxTKCEwKSk6Y29uc29sZS5lcnJvcigiUG9wdXAgQUkgbm90IGluaXRpYWxpemVkIikpOihifHxkKSYmdigpfSxbb10pfX0sTnI9ZnVuY3Rpb24oKXt2YXIgZT1PYmplY3QoRi51c2VDb250ZXh0KShWKS5zZXR0aW5ncy5vcmRlcjtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT8oZT1lWzBdLEguYS5jcmVhdGVFbGVtZW50KEguYS5GcmFnbWVudCxudWxsLGhbZV0/SC5hLmNyZWF0ZUVsZW1lbnQoaFtlXSx7a2V5OjF9KTpudWxsKSk6bnVsbH07ZnVuY3Rpb24gRHIoZSx0KXtyZXR1cm4gZnVuY3Rpb24oZSl7aWYoQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gZX0oZSl8fGZ1bmN0aW9uKGUsdCl7dmFyIG49bnVsbD09ZT9udWxsOiJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZlW1N5bWJvbC5pdGVyYXRvcl18fGVbIkBAaXRlcmF0b3IiXTtpZihudWxsIT1uKXt2YXIgcixvLGEsaSxsPVtdLGM9ITAsdT0hMTt0cnl7aWYoYT0obj1uLmNhbGwoZSkpLm5leHQsMD09PXQpe2lmKE9iamVjdChuKSE9PW4pcmV0dXJuO2M9ITF9ZWxzZSBmb3IoOyEoYz0ocj1hLmNhbGwobikpLmRvbmUpJiYobC5wdXNoKHIudmFsdWUpLGwubGVuZ3RoIT09dCk7Yz0hMCk7fWNhdGNoKGUpe3U9ITAsbz1lfWZpbmFsbHl7dHJ5e2lmKCFjJiZudWxsIT1uLnJldHVybiYmKGk9bi5yZXR1cm4oKSxPYmplY3QoaSkhPT1pKSlyZXR1cm59ZmluYWxseXtpZih1KXRocm93IG99fXJldHVybiBsfX0oZSx0KXx8ZnVuY3Rpb24oZSx0KXt2YXIgbjtpZihlKXJldHVybiJzdHJpbmciPT10eXBlb2YgZT9VcihlLHQpOiJNYXAiPT09KG49Ik9iamVjdCI9PT0obj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkuc2xpY2UoOCwtMSkpJiZlLmNvbnN0cnVjdG9yP2UuY29uc3RydWN0b3IubmFtZTpuKXx8IlNldCI9PT1uP0FycmF5LmZyb20oZSk6IkFyZ3VtZW50cyI9PT1ufHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKT9VcihlLHQpOnZvaWQgMH0oZSx0KXx8ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gZGVzdHJ1Y3R1cmUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLiIpfSgpfWZ1bmN0aW9uIFVyKGUsdCl7KG51bGw9PXR8fHQ+ZS5sZW5ndGgpJiYodD1lLmxlbmd0aCk7Zm9yKHZhciBuPTAscj1uZXcgQXJyYXkodCk7bjx0O24rKylyW25dPWVbbl07cmV0dXJuIHJ9ZnVuY3Rpb24gQnIoKXtmdW5jdGlvbiBlKCl7SSghMCksc2V0VGltZW91dChmdW5jdGlvbigpe0koITEpfSw1MDApfXZhciB0PU9iamVjdChGLnVzZUNvbnRleHQpKFYpLG49KGo9dC5zdGF0ZSkuYnV0dG9ucyxyPWouYnV0dG9uUG9wdXAsbz0oaj10LmFjdGlvbnMpLnRvZ2dsZUJ1dHRvbnMsYT1qLnNob3dCdXR0b25zLGk9ai5jbG9zZUJ1dHRvblBvcHVwLGw9KGo9dC5zZXR0aW5ncykuZGlyZWN0aW9uLGM9ai5hY3RpdmF0b3JTaXplLHQ9ai5hY3RpdmF0b3JJY29uLHU9ai5idXR0b25TdHlsZSxzPWouYnV0dG9uQW5pbWF0aW9uLGY9ai5idXR0b25Db2xvcixkPWouYnV0dG9uQm9yZGVyUmFkaXVzLHA9ai5idXR0b25JbWFnZVVybCxtPWouYm9yZGVyLGg9ai5idXR0b25TaGFkb3csZz1qLmJ1dHRvbk9wYWNpdHksYj1qLmJnU3R5bGUseT1qLm5vdGlmaWNhdGlvbkluZGljYXRvcix2PWoubWlycm9yLHc9ai5idXR0b25UZXh0LHg9ai5idXR0b25UZXh0Q2xvc2Usaz1qLmFuaW1hdGlvbixTPWouaXNTaW5nbGUsQz1qLm9yZGVyLEU9ai5wb3NpdGlvbixPPSQoai5idXR0b25Cb3JkZXJSYWRpdXMpLGo9cGUoai5idXR0b25Db2xvciw1KSxBPURyKE9iamVjdChGLnVzZVN0YXRlKSghMSksMiksUD1BWzBdLEk9QVsxXTtyZXR1cm4gSC5hLmNyZWF0ZUVsZW1lbnQoU3QsbnVsbCxVKCkmJiJyb3ciIT09bCYmSC5hLmNyZWF0ZUVsZW1lbnQocHQsbnVsbCksSC5hLmNyZWF0ZUVsZW1lbnQoeHQse29wZW5lZDpuLHBvcHVwT3BlbmVkOnIsYnV0dG9uQW5pbWF0aW9uOnMsY29sb3I6ZixidXR0b25Cb3JkZXJSYWRpdXM6ZCxzaXplOmMsYW5pbWF0aW9uOmssYnV0dG9uU3R5bGU6dX0sSC5hLmNyZWF0ZUVsZW1lbnQod3Qse29uTW91c2VVcDpmdW5jdGlvbigpe1B8fCgocj9pOm8pKCksZSgpLFcoImFyb3VuZCI9PT1sP24/Yzo5OTk5OTk5OTk6ImNsYXNzaWMiPT09dT9jOjMqYykpfSxvbk1vdXNlRW50ZXI6ZnVuY3Rpb24oKXtQfHwhVSgpfHwhMSE9PW58fHJ8fChhKCksZSgpLCJhcm91bmQiPT09bCYmVyg5OTk5OTk5OTkpKX0sZ3JhZGllbnQ6aixpbmRpY2F0b3JQb3NpdGlvbjpPLG9wZW5lZDpuLHBvcHVwT3BlbmVkOnIsImRhdGEtY29tcG9uZW50LW5hbWUiOiJCYXNlQnV0dG9uQWN0aXZhdG9yIiwiYXJpYS1sYWJlbCI6Ik9wZW4gbWVzc2VuZ2VycyBsaXN0Iixjb2xvcjpmLHNpemU6YyxidXR0b25JbWFnZTpwLGJvcmRlcjptLGJ1dHRvbkJvcmRlclJhZGl1czpkLGJ1dHRvblNoYWRvdzpoLGJ1dHRvbk9wYWNpdHk6ZyxiZ1N0eWxlOmIsYnV0dG9uQW5pbWF0aW9uOnMsbm90aWZpY2F0aW9uSW5kaWNhdG9yOnksYnV0dG9uU3R5bGU6dSxtaXJyb3I6dixhbmltYXRpb246ayxpc1NpbmdsZTpTLGRpcmVjdGlvbjpsLHBvc2l0aW9uOkUsb3JkZXI6Q30sSC5hLmNyZWF0ZUVsZW1lbnQoVnIse29wZW5lZDpuLGJ1dHRvblN0eWxlOnUsYnV0dG9uSW1hZ2VVcmw6cH0sIW4mJkguYS5jcmVhdGVFbGVtZW50KExyLHtidXR0b25JbWFnZToiY2xhc3NpYyIhPT11JiZwLGFjdGl2YXRvckljb246IXAmJnR9KSxuJiZILmEuY3JlYXRlRWxlbWVudChNcix7c3R5bGU6IndpZHRoOiA0MXB4In0pKSwiY2xhc3NpYyIhPT11JiYhbiYmSC5hLmNyZWF0ZUVsZW1lbnQoRyx7Y29sb3I6ZixtaXJyb3I6dixzaXplOmN9LHcpLCJjbGFzc2ljIiE9PXUmJm4mJkguYS5jcmVhdGVFbGVtZW50KEcse2NvbG9yOmYsbWlycm9yOnYsc2l6ZTpjfSx4KSkpKX12YXIgRnI9T2JqZWN0KEMuZSkoWyIwJXt0cmFuc2Zvcm06cm90YXRlKC0yNzBkZWcpO310b3t0cmFuc2Zvcm06cm90YXRlKDApO30iXSksSHI9T2JqZWN0KEMuZSkoWyIwJXt0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyk7fXRve3RyYW5zZm9ybTpyb3RhdGUoMCk7fSJdKSxWcj1DLmQuZGl2LndpdGhDb25maWcoe2NvbXBvbmVudElkOiJzYy12MnAzaDItMCJ9KShbIiIsIiJdLGZ1bmN0aW9uKGUpe3ZhciB0PWUub3BlbmVkLG49ZS5idXR0b25TdHlsZSxlPWUuYnV0dG9uSW1hZ2VVcmw7cmV0dXJuIE9iamVjdChDLmMpKFsiYW5pbWF0aW9uLWR1cmF0aW9uOjAuNHM7YW5pbWF0aW9uLWRlbGF5Oi4wNXM7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTttYXJnaW4tdG9wOi0xcHg7IiwiOyIsIjsiLCIgIiwiIl0sdCYmT2JqZWN0KEMuYykoWyJhbmltYXRpb24tbmFtZToiLCI7Il0sRnIpLCF0JiZPYmplY3QoQy5jKShbImFuaW1hdGlvbi1uYW1lOiIsIjsiXSxIciksImNsYXNzaWMiIT09biYmT2JqZWN0KEMuYykoWyJkaXNwbGF5OmdyaWQ7cGxhY2UtY29udGVudDpjZW50ZXI7Il0pLGUmJiJjbGFzc2ljIj09PW4mJk9iamVjdChDLmMpKFsiZGlzcGxheTpub25lOyJdKSl9KTtmdW5jdGlvbiAkcihlLHQpe3JldHVybiBmdW5jdGlvbihlKXtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBlfShlKXx8ZnVuY3Rpb24oZSx0KXt2YXIgbj1udWxsPT1lP251bGw6InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJmVbU3ltYm9sLml0ZXJhdG9yXXx8ZVsiQEBpdGVyYXRvciJdO2lmKG51bGwhPW4pe3ZhciByLG8sYSxpLGw9W10sYz0hMCx1PSExO3RyeXtpZihhPShuPW4uY2FsbChlKSkubmV4dCwwPT09dCl7aWYoT2JqZWN0KG4pIT09bilyZXR1cm47Yz0hMX1lbHNlIGZvcig7IShjPShyPWEuY2FsbChuKSkuZG9uZSkmJihsLnB1c2goci52YWx1ZSksbC5sZW5ndGghPT10KTtjPSEwKTt9Y2F0Y2goZSl7dT0hMCxvPWV9ZmluYWxseXt0cnl7aWYoIWMmJm51bGwhPW4ucmV0dXJuJiYoaT1uLnJldHVybigpLE9iamVjdChpKSE9PWkpKXJldHVybn1maW5hbGx5e2lmKHUpdGhyb3cgb319cmV0dXJuIGx9fShlLHQpfHxmdW5jdGlvbihlLHQpe3ZhciBuO2lmKGUpcmV0dXJuInN0cmluZyI9PXR5cGVvZiBlP1dyKGUsdCk6Ik1hcCI9PT0obj0iT2JqZWN0Ij09PShuPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKS5zbGljZSg4LC0xKSkmJmUuY29uc3RydWN0b3I/ZS5jb25zdHJ1Y3Rvci5uYW1lOm4pfHwiU2V0Ij09PW4/QXJyYXkuZnJvbShlKToiQXJndW1lbnRzIj09PW58fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pP1dyKGUsdCk6dm9pZCAwfShlLHQpfHxmdW5jdGlvbigpe3Rocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9KCl9ZnVuY3Rpb24gV3IoZSx0KXsobnVsbD09dHx8dD5lLmxlbmd0aCkmJih0PWUubGVuZ3RoKTtmb3IodmFyIG49MCxyPW5ldyBBcnJheSh0KTtuPHQ7bisrKXJbbl09ZVtuXTtyZXR1cm4gcn1mdW5jdGlvbiBHcigpe3JldHVybiBPYmplY3QoRi51c2VDb250ZXh0KShWKS5zZXR0aW5ncy5pc1NpbmdsZT9ILmEuY3JlYXRlRWxlbWVudChOcixudWxsKTpILmEuY3JlYXRlRWxlbWVudChacixudWxsKX1mdW5jdGlvbiBxcigpe3ZhciBlPU9iamVjdChGLnVzZUNvbnRleHQpKFYpLnNldHRpbmdzLm9yZGVyO3JldHVybiBBcnJheS5pc0FycmF5KGUpP0guYS5jcmVhdGVFbGVtZW50KEguYS5GcmFnbWVudCxudWxsLGUubWFwKGZ1bmN0aW9uKGUsdCl7aWYoUnIuaGFzT3duUHJvcGVydHkoZSkpcmV0dXJuIFJyW2VdP0guYS5jcmVhdGVFbGVtZW50KFJyW2VdLHtrZXk6dH0pOm51bGx9KSk6bnVsbH12YXIgWnI9ZnVuY3Rpb24oKXt2YXIgZT1PYmplY3QoRi51c2VDb250ZXh0KShWKSx0PWUuc3RhdGUsZT1lLnNldHRpbmdzLG89ZS5vcmRlcixhPWUuYWN0aXZhdG9yU2l6ZSxpPWUuc2hpZnRWZXJ0aWNhbCxuPWUuc2hpZnRIb3Jpem9udGFsLGU9ZS5kaXJlY3Rpb247aWYoIUFycmF5LmlzQXJyYXkobykpcmV0dXJuIG51bGw7dmFyIGw9dmUoKS5oZWlnaHQscj0kcihPYmplY3QoRi51c2VTdGF0ZSkoMCksMiksYz1yWzBdLHU9clsxXTtPYmplY3QoRi51c2VFZmZlY3QpKGZ1bmN0aW9uKCl7dmFyIGU9YSt2dCx0PW8ubGVuZ3RoLG49TWF0aC5mbG9vcigobC1pKS9lKS0xLG49TWF0aC5jZWlsKG4qZSkscj1NYXRoLmNlaWwoZSp0L24pO3UodC1uL2UqKHItMSk8MiYmMjxuL2U/bi0rZTpuKX0sW2xdKTt2YXIgcj0kcihPYmplY3QoRi51c2VTdGF0ZSkoITEpLDIpLHM9clswXSxmPXJbMV0scj0kcihPYmplY3QoRi51c2VTdGF0ZSkoITEpLDIpLGQ9clswXSxwPXJbMV0scj0oT2JqZWN0KEYudXNlRWZmZWN0KShmdW5jdGlvbigpe3QuYnV0dG9ucz8oZighMCkscCghMCkpOmYoITEpfSxbdC5idXR0b25zXSksImFyb3VuZCI9PT1lP28uc2xpY2UoMCw0KTpvKTtyZXR1cm4gSC5hLmNyZWF0ZUVsZW1lbnQoSC5hLkZyYWdtZW50LG51bGwsZCYmSC5hLmNyZWF0ZUVsZW1lbnQoWHIse2lzU2hvdzpzLG9uQW5pbWF0aW9uRW5kOmZ1bmN0aW9uKCl7cChzKX0saGVpZ2h0OmMsZGlyZWN0aW9uOmUsb3JkZXI6byxzaGlmdFZlcnRpY2FsOmksc2hpZnRIb3Jpem9udGFsOm4sYWN0aXZhdG9yU2l6ZTphfSxyLm1hcChmdW5jdGlvbihlLHQpe3JldHVybiBoW2VdP0guYS5jcmVhdGVFbGVtZW50KGhbZV0se2tleTp0fSk6bnVsbH0pKSxILmEuY3JlYXRlRWxlbWVudChCcixudWxsKSl9LFhyPU9iamVjdChDLmQpKGUpLndpdGhDb25maWcoe2NvbXBvbmVudElkOiJzYy0xd3hkZDJzLTAifSkoWyIiLCIiXSxmdW5jdGlvbihlKXt2YXIgdD1lLmRpcmVjdGlvbixuPWUudGhlbWUscj1lLm9yZGVyLG89ZS5zaGlmdFZlcnRpY2FsLGE9ZS5zaGlmdEhvcml6b250YWwsaT1lLmFjdGl2YXRvclNpemUsZT1lLmhlaWdodDtyZXR1cm4gT2JqZWN0KEMuYykoWyIiLCIgIiwiICIsIiJdLCJhcm91bmQiPT09dD9PYmplY3QoQy5jKShbImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt0cmFuc2Zvcm06cm90YXRlKCIsImRlZyk7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOiIsInB4OyIsIjoiLCJweDsiXSwicmlnaHQiPT09bi5wb3NpdGlvbj8xNSpyLnNsaWNlKDAsNCkubGVuZ3RoOjE1KnIuc2xpY2UoMCw0KS5sZW5ndGgrOTAsbyooNzA8PWk/My4yOjIuNSksbi5wb3NpdGlvbiwyLjUqYSk6T2JqZWN0KEMuYykoWyJkaXNwbGF5OmlubGluZS1mbGV4O2ZsZXgtd3JhcDoiLCI7bWFyZ2luLSIsIjphdXRvO2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0OyJdLCJsZWZ0Ij09PW4ucG9zaXRpb24/IndyYXAiOiJ3cmFwLXJldmVyc2UiLCJsZWZ0Ij09PW4ucG9zaXRpb24/InJpZ2h0IjoibGVmdCIpLCJyb3ciPT09dCYmT2JqZWN0KEMuYykoWyJmbGV4LWRpcmVjdGlvbjoiLCI7ZmxleC13cmFwOiIsIjsiXSwicmlnaHQiPT09bi5wb3NpdGlvbiYmInJvdy1yZXZlcnNlIiwibGVmdCI9PT1uLnBvc2l0aW9uJiYid3JhcC1yZXZlcnNlIiksImNvbHVtbiI9PT10JiZPYmplY3QoQy5jKShbImZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlO2hlaWdodDoiLCI7Il0sZSsicHgiKSl9KTtmdW5jdGlvbiBZcihlLHQpe3JldHVybiBmdW5jdGlvbihlKXtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBlfShlKXx8ZnVuY3Rpb24oZSx0KXt2YXIgbj1udWxsPT1lP251bGw6InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJmVbU3ltYm9sLml0ZXJhdG9yXXx8ZVsiQEBpdGVyYXRvciJdO2lmKG51bGwhPW4pe3ZhciByLG8sYSxpLGw9W10sYz0hMCx1PSExO3RyeXtpZihhPShuPW4uY2FsbChlKSkubmV4dCwwPT09dCl7aWYoT2JqZWN0KG4pIT09bilyZXR1cm47Yz0hMX1lbHNlIGZvcig7IShjPShyPWEuY2FsbChuKSkuZG9uZSkmJihsLnB1c2goci52YWx1ZSksbC5sZW5ndGghPT10KTtjPSEwKTt9Y2F0Y2goZSl7dT0hMCxvPWV9ZmluYWxseXt0cnl7aWYoIWMmJm51bGwhPW4ucmV0dXJuJiYoaT1uLnJldHVybigpLE9iamVjdChpKSE9PWkpKXJldHVybn1maW5hbGx5e2lmKHUpdGhyb3cgb319cmV0dXJuIGx9fShlLHQpfHxmdW5jdGlvbihlLHQpe3ZhciBuO2lmKGUpcmV0dXJuInN0cmluZyI9PXR5cGVvZiBlP1FyKGUsdCk6Ik1hcCI9PT0obj0iT2JqZWN0Ij09PShuPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKS5zbGljZSg4LC0xKSkmJmUuY29uc3RydWN0b3I/ZS5jb25zdHJ1Y3Rvci5uYW1lOm4pfHwiU2V0Ij09PW4/QXJyYXkuZnJvbShlKToiQXJndW1lbnRzIj09PW58fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pP1FyKGUsdCk6dm9pZCAwfShlLHQpfHxmdW5jdGlvbigpe3Rocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9KCl9ZnVuY3Rpb24gUXIoZSx0KXsobnVsbD09dHx8dD5lLmxlbmd0aCkmJih0PWUubGVuZ3RoKTtmb3IodmFyIG49MCxyPW5ldyBBcnJheSh0KTtuPHQ7bisrKXJbbl09ZVtuXTtyZXR1cm4gcn1mdW5jdGlvbiBLcigpe3ZhciBlPSh0PU9iamVjdChGLnVzZUNvbnRleHQpKFYpLnNldHRpbmdzKS5icmFuZGluZyx0PXQuYWN0aXZhdG9yU2l6ZTtyZXR1cm4gZSYmSC5hLmNyZWF0ZUVsZW1lbnQobm8se3NpemU6dCx0eXBlOiJsaW5rIixocmVmOnJvLHRhcmdldDoiX2JsYW5rIiwiYXJpYS1sYWJlbCI6IkdvIHRvIEdldEJ1dHRvbi5pbyB3ZWJzaXRlIn0sSC5hLmNyZWF0ZUVsZW1lbnQodG8sbnVsbCkpfXZhciBKcj1DLmQuZGl2LndpdGhDb25maWcoe2NvbXBvbmVudElkOiJzYy0xYXU4cnlsLTAifSkoWyJwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDo2NHB4O21hcmdpbjphdXRvOyJdKSxlbz1DLmQuc3Bhbi53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2MtMWF1OHJ5bC0xIn0pKFsicG9zaXRpb246YWJzb2x1dGU7bGVmdDoycHg7cmlnaHQ6MDtib3R0b206LTFweDtoZWlnaHQ6MXB4O2JhY2tncm91bmQ6I2JlYmViZTsiXSksdG89ZnVuY3Rpb24oKXt2YXIgZT1ZcihILmEudXNlU3RhdGUoITEpLDIpLHQ9ZVswXSxuPWVbMV07cmV0dXJuIEguYS5jcmVhdGVFbGVtZW50KEpyLHtvbk1vdXNlRW50ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gbighMCl9LG9uTW91c2VMZWF2ZTpmdW5jdGlvbigpe3JldHVybiBuKCExKX19LEguYS5jcmVhdGVFbGVtZW50KCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHZpZXdCb3g6IjAgMCA1OC4xNiAxMC4xNSJ9LEguYS5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZDoiTTIuNDksNi40MiwxLjY1LDkuNzVjLS4wOS4yNy4xOC41NC40LjIxTDMuNjgsNy44OUE1LjQ5LDUuNDksMCwwLDAsNC43Niw4QzcuNCw4LDkuNTMsNi4yMSw5LjUzLDRTNy40LDAsNC43NiwwLDAsMS43OSwwLDRBMy40NywzLjQ3LDAsMCwwLC4yNCw1LjI1YS40NS40NSwwLDAsMCwuNDkuMTgsNy4wNyw3LjA3LDAsMCwwLC43LS4yNnMuMjQtLjEuMTktLjQ4aDBBMiwyLDAsMCwxLDEuNDksNEMxLjQ5LDIuNjIsMywxLjUsNC43NiwxLjVTOCwyLjYyLDgsNCw2LjU3LDYuNSw0Ljc2LDYuNWE0LjA2LDQuMDYsMCwwLDEtMS42OC0uMzZBLjQ5LjQ5LDAsMCwwLDIuNDksNi40MloiLGZpbGw6IiNhZmFmYWYifSksSC5hLmNyZWF0ZUVsZW1lbnQoInBhdGgiLHtkOiJNMTEuMTIsMTAuMTVIMTFsLTEuNDktLjlhNS40NSw1LjQ1LDAsMCwxLTIuNC42LDQuMTYsNC4xNiwwLDAsMS0yLjI3LS42Mkw1LDkuMTdjMi4yMiwwLDUuNDMtMS42Niw1LjYxLTQuMzdoMGEzLDMsMCwwLDEsLjU3LDEuODYsMi4zMywyLjMzLDAsMCwxLS42NSwxLjY0bC41MiwxLjI5cy4yMi40NC4xNi41MS0uMDYuMDUtLjExLjA1WiIsZmlsbDoiI2FmYWZhZiJ9KSxILmEuY3JlYXRlRWxlbWVudCgicGF0aCIse2Q6Ik00OS44NCwzLjIxaDBhMi4zMywyLjMzLDAsMCwxLDIuMzIsMi4zNHYxLjNhMi4zMywyLjMzLDAsMCwxLTIuMzIsMi4zM2gwYTIuMzQsMi4zNCwwLDAsMS0yLjMzLTIuMzNWNS41NUEyLjM0LDIuMzQsMCwwLDEsNDkuODQsMy4yMVptMCwxLjE2aDBhMSwxLDAsMCwxLDEsMVY3YTEsMSwwLDAsMS0xLDFoMGExLDEsMCwwLDEtMS0xVjUuMzlBMSwxLDAsMCwxLDQ5Ljg0LDQuMzdaIixmaWxsOiIjYWZhZmFmIixmaWxsUnVsZToiZXZlbm9kZCJ9KSxILmEuY3JlYXRlRWxlbWVudCgicGF0aCIse2Q6Ik01NS44MywzLjIxaDBhMi4zNCwyLjM0LDAsMCwxLDIuMzMsMi4zNFY5LjA2SDU2Ljg0VjUuMzlhMSwxLDAsMCwwLTEtMWgwYTEsMSwwLDAsMC0xLDFWOS4wNkg1My41VjUuNTVBMi4zNCwyLjM0LDAsMCwxLDU1LjgzLDMuMjFaIixmaWxsOiIjYWZhZmFmIn0pLEguYS5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZDoiTTM2LjkzLDkuMDZoMGEyLjMzLDIuMzMsMCwwLDAsMi4zMy0yLjMyVjMuMjFIMzcuOTRWNi45YTEsMSwwLDAsMS0xLDFoMGExLDEsMCwwLDEtMS0xVjMuMjFIMzQuNlY2Ljc0QTIuMzMsMi4zMywwLDAsMCwzNi45Myw5LjA2WiIsZmlsbDoiI2FmYWZhZiJ9KSxILmEuY3JlYXRlRWxlbWVudCgicG9seWdvbiIse3BvaW50czoiNDMuMiAzLjM3IDQyLjEyIDMuMzcgNDIuMTIgMS43OSA0MC45NyAxLjc5IDQwLjk3IDMuMzcgMzkuOTEgMy4zNyA0MC4yNiA0LjM5IDQwLjk3IDQuMzkgNDAuOTcgOS4wMyA0Mi4xMiA5LjAzIDQyLjEyIDQuMzkgNDMuMiA0LjM5IDQzLjIgMy4zNyIsZmlsbDoiI2FmYWZhZiJ9KSxILmEuY3JlYXRlRWxlbWVudCgicG9seWdvbiIse3BvaW50czoiNDYuNzYgMy4zNyA0NS42NyAzLjM3IDQ1LjY3IDEuNzkgNDQuNTIgMS43OSA0NC41MiAzLjM3IDQzLjQ3IDMuMzcgNDMuODEgNC4zOSA0NC41MiA0LjM5IDQ0LjUyIDkuMDMgNDUuNjcgOS4wMyA0NS42NyA0LjM5IDQ2Ljc2IDQuMzkgNDYuNzYgMy4zNyIsZmlsbDoiI2FmYWZhZiJ9KSxILmEuY3JlYXRlRWxlbWVudCgicGF0aCIse2Q6Ik0yOC41NiwxLjczSDMwLjlhMy40OCwzLjQ4LDAsMCwxLDEuMzQuMTgsMS41MywxLjUzLDAsMCwxLC42Ni42MywyLjExLDIuMTEsMCwwLDEsLjI3LDEsMiwyLDAsMCwxLS4yMy45NSwxLjYsMS42LDAsMCwxLS41OS42NCwxLjQ5LDEuNDksMCwwLDEsLjguNjQsMi4wOSwyLjA5LDAsMCwxLC4zLDEuMTEsMi4zMSwyLjMxLDAsMCwxLS4zOCwxLjM1LDEuNTQsMS41NCwwLDAsMS0uODguNjhBOSw5LDAsMCwxLDMwLjU0LDloLTJaTTI5LjczLDNWNC42NGguNzhhNy4wNiw3LjA2LDAsMCwwLC44NywwLC43MS43MSwwLDAsMCwuNDctLjI2QS44Ni44NiwwLDAsMCwzMiwzLjc3YS45MS45MSwwLDAsMC0uMTQtLjUyQS42NC42NCwwLDAsMCwzMS41NSwzYTguMTYsOC4xNiwwLDAsMC0xLjE0LDBabTAsMi45VjcuNzloMS4xYTMuNDksMy40OSwwLDAsMCwuOTItLjA3LjcxLjcxLDAsMCwwLC4zNS0uMywxLjEzLDEuMTMsMCwwLDAsLjEzLS41OCwxLjIsMS4yLDAsMCwwLS4xNC0uNTkuODguODgsMCwwLDAtLjQtLjMyLDQuMSw0LjEsMCwwLDAtMS0uMDhaIixmaWxsOiIjYWZhZmFmIn0pLEguYS5jcmVhdGVFbGVtZW50KCJwb2x5Z29uIix7cG9pbnRzOiIyNy41NiAzLjM3IDI2LjQ3IDMuMzcgMjYuNDcgMS43OSAyNS4zMiAxLjc5IDI1LjMyIDMuMzcgMjQuMjcgMy4zNyAyNC42MiA0LjM5IDI1LjMyIDQuMzkgMjUuMzIgOS4wMyAyNi40NyA5LjAzIDI2LjQ3IDQuMzkgMjcuNTYgNC4zOSAyNy41NiAzLjM3IixmaWxsOiIjYWZhZmFmIn0pLEguYS5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZDoiTTIxLjQ5LDMuMjFoMGEyLjM0LDIuMzQsMCwwLDEsMi4zMywyLjM0djFIMjAuNDhWN2MwLDEuMjUsMS45NCwxLjE5LDIuMy43MmwxLC43MmMtMS4xMywxLjM2LTQuNTkuODctNC41OS0xLjYxVjUuNTVBMi4zNCwyLjM0LDAsMCwxLDIxLjQ5LDMuMjFabS0xLDIuMzhoMnYtLjJhMSwxLDAsMCwwLTEtMWgwYTEsMSwwLDAsMC0xLDFaIixmaWxsOiIjYWZhZmFmIn0pLEguYS5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZDoiTTE3LjI3LDMuMDVhMy44MiwzLjgyLDAsMCwwLTIuNjgsMCwxLjE0LDEuMTQsMCwwLDAtLjUuNzloMFY2Ljg2YTEuMTcsMS4xNywwLDAsMCwxLjA2LDEsMy45LDMuOSwwLDAsMCwxLjU0LS4wOVY2LjEySDE1LjlWNC43N0gxOHYzLjRhLjY0LjY0LDAsMCwxLS4zMS42NCw0LjU1LDQuNTUsMCwwLDEtMi43My40QTIuNTIsMi41MiwwLDAsMSwxMi43NSw3VjMuNzloMGEyLjY3LDIuNjcsMCwwLDEsMS4xNC0xLjkybDAsMGMxLjU2LS45MSwzLjgyLDAsMy44MywwWiIsZmlsbDoiI2FmYWZhZiJ9KSksdCYmSC5hLmNyZWF0ZUVsZW1lbnQoZW8sbnVsbCkpfSxubz1DLmQuYS53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2Mtc2JzaTdsLTAifSkoWyIiLCIiXSxmdW5jdGlvbihlKXt2YXIgdD1lLnRoZW1lLGU9ZS5zaXplO3JldHVybiBPYmplY3QoQy5jKShbIm9wYWNpdHk6MTtkaXNwbGF5OmJsb2NrO21hcmdpbi10b3A6N3B4O3doaXRlLXNwYWNlOm5vd3JhcDttYXJnaW4tIiwiOmF1dG87dGV4dC1kZWNvcmF0aW9uOm5vbmU7d2lkdGg6IiwncHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJIZWx2ZXRpY2EgTmV1ZSIsc2Fucy1zZXJpZjtmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxMXB4O2NvbG9yOiNhZmFmYWYgIWltcG9ydGFudDtib3JkZXI6MDttYXgtd2lkdGg6aW5oZXJpdDsnLCIiXSwibGVmdCI9PT10LnBvc2l0aW9uPyJyaWdodCI6ImxlZnQiLChlfHw1MCkrMTQsVSgpJiZPYmplY3QoQy5jKShbIiY6aG92ZXJ7Y3Vyc29yOnBvaW50ZXI7fSJdKSl9KSxybz0iaHR0cHM6Ly9nZXRidXR0b24uaW8vP3V0bV9jYW1wYWlnbj1tdWx0eV93aWRnZXQmdXRtX21lZGl1bT13aWRnZXQmdXRtX3NvdXJjZT0iLmNvbmNhdCh3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUpO2Z1bmN0aW9uIG9vKGUpe3JldHVybiBmdW5jdGlvbihlKXtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBpbyhlKX0oZSl8fGZ1bmN0aW9uKGUpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZudWxsIT1lW1N5bWJvbC5pdGVyYXRvcl18fG51bGwhPWVbIkBAaXRlcmF0b3IiXSlyZXR1cm4gQXJyYXkuZnJvbShlKX0oZSl8fGFvKGUpfHxmdW5jdGlvbigpe3Rocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBzcHJlYWQgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLiIpfSgpfWZ1bmN0aW9uIGFvKGUsdCl7dmFyIG47aWYoZSlyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/aW8oZSx0KToiTWFwIj09PShuPSJPYmplY3QiPT09KG49T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpLnNsaWNlKDgsLTEpKSYmZS5jb25zdHJ1Y3Rvcj9lLmNvbnN0cnVjdG9yLm5hbWU6bil8fCJTZXQiPT09bj9BcnJheS5mcm9tKGUpOiJBcmd1bWVudHMiPT09bnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3Qobik/aW8oZSx0KTp2b2lkIDB9ZnVuY3Rpb24gaW8oZSx0KXsobnVsbD09dHx8dD5lLmxlbmd0aCkmJih0PWUubGVuZ3RoKTtmb3IodmFyIG49MCxyPW5ldyBBcnJheSh0KTtuPHQ7bisrKXJbbl09ZVtuXTtyZXR1cm4gcn12YXIgbG89Qy5kLmRpdi53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2MtZjMwZzVsLTAifSkoWyJtYXJnaW4tYm90dG9tOjA7cGFkZGluZy1ib3R0b206MjZweDsiXSksY289Qy5kLmRpdi53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2MtZjMwZzVsLTEifSkoWyJkaXNwbGF5OmZsZXg7cGFkZGluZzowOyIsIiBAbWVkaWEgKG1heC13aWR0aDozNzBweCl7bWFyZ2luLWxlZnQ6MThweDt9Il0sZnVuY3Rpb24oZSl7cmV0dXJuIGUubWlycm9yP09iamVjdChDLmMpKFsibWFyZ2luOjAgODVweCAwIDA7Il0pOk9iamVjdChDLmMpKFsibWFyZ2luOjAgMCAwIDg1cHg7Il0pfSksdW89Qy5kLmRpdi53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2MtZjMwZzVsLTIifSkoWyJtYXJnaW4tYm90dG9tOjA7QG1lZGlhIChtYXgtd2lkdGg6MzcwcHgpe3RyYW5zZm9ybTpzY2FsZSgwLjkpO30iXSksc289Qy5kLmRpdi53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2MtZjMwZzVsLTMifSkoWyJkaXNwbGF5OmZsZXg7cGFkZGluZzowO2p1c3RpZnktY29udGVudDpjZW50ZXI7IiwiIEBtZWRpYShtYXggLSB3aWR0aDozNzBweCl7dHJhbnNmb3JtOnNjYWxlKDAuOSk7fSJdLGZ1bmN0aW9uKGUpe3JldHVybiJtaW5pIj09PWUuZ3JlZXRpbmdTdHlsZSYmZS5idXR0b25zTnVtYmVyPDUmJjE8ZS5idXR0b25zTnVtYmVyJiZPYmplY3QoQy5jKShbImp1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O21hcmdpbi1sZWZ0OjM4cHg7Il0pfSksZm89ZnVuY3Rpb24oKXt2YXIgZT1PYmplY3QoRi51c2VDb250ZXh0KShWKS5zZXR0aW5ncyx0PWUub3JkZXIsbj1lLmdyZWV0aW5nU3R5bGUsZT1lLm1pcnJvcjtpZighQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gbnVsbDt2YXIgcixvPVtdLGE9ZnVuY3Rpb24oZSx0KXt2YXIgbixyLG8sYSxpPSJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZlW1N5bWJvbC5pdGVyYXRvcl18fGVbIkBAaXRlcmF0b3IiXTtpZihpKXJldHVybiByPSEobj0hMCkse3M6ZnVuY3Rpb24oKXtpPWkuY2FsbChlKX0sbjpmdW5jdGlvbigpe3ZhciBlPWkubmV4dCgpO3JldHVybiBuPWUuZG9uZSxlfSxlOmZ1bmN0aW9uKGUpe3I9ITAsbz1lfSxmOmZ1bmN0aW9uKCl7dHJ5e258fG51bGw9PWkucmV0dXJufHxpLnJldHVybigpfWZpbmFsbHl7aWYocil0aHJvdyBvfX19O2lmKEFycmF5LmlzQXJyYXkoZSl8fChpPWFvKGUpKXx8dCYmZSYmIm51bWJlciI9PXR5cGVvZiBlLmxlbmd0aClyZXR1cm4gaSYmKGU9aSksYT0wLHtzOnQ9ZnVuY3Rpb24oKXt9LG46ZnVuY3Rpb24oKXtyZXR1cm4gYT49ZS5sZW5ndGg/e2RvbmU6ITB9Ontkb25lOiExLHZhbHVlOmVbYSsrXX19LGU6ZnVuY3Rpb24oZSl7dGhyb3cgZX0sZjp0fTt0aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gaXRlcmF0ZSBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9KG9vKHQpLnJldmVyc2UoKSk7dHJ5e2ZvcihhLnMoKTshKHI9YS5uKCkpLmRvbmU7KXt2YXIgaT1yLnZhbHVlLGw9QltpXTtpZigobCYmKCEwPT09VSgpJiZsLm9uRGVza3RvcHx8ITA9PT0vVGFibGV0fGlQYWR8aVBvZC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkmJmwub25UYWJsZXQpfHwhMD09PUQoKSYmbC5vbk1vYmlsZSkmJihvLnB1c2goaSksNDxvLmxlbmd0aCkpYnJlYWt9fWNhdGNoKGUpe2EuZShlKX1maW5hbGx5e2EuZigpfXJldHVybiJhbHRlcm5hdGl2ZSI9PT1ufHwibWluaSI9PT1uP0guYS5jcmVhdGVFbGVtZW50KHVvLG51bGwsSC5hLmNyZWF0ZUVsZW1lbnQoc28se2J1dHRvbnNOdW1iZXI6by5sZW5ndGgsZ3JlZXRpbmdTdHlsZTpufSxvLm1hcChmdW5jdGlvbihlLHQpe3JldHVybiBoW2VdP0guYS5jcmVhdGVFbGVtZW50KGhbZV0se2tleTp0LHNpemU6Im1lZGl1bSJ9KTpudWxsfSkpKTpILmEuY3JlYXRlRWxlbWVudChsbyxudWxsLEguYS5jcmVhdGVFbGVtZW50KGNvLHttaXJyb3I6ZX0sby5tYXAoZnVuY3Rpb24oZSx0KXtyZXR1cm4gaFtlXT9ILmEuY3JlYXRlRWxlbWVudChoW2VdLHtrZXk6dCxzaXplOiJzbWFsbCJ9KTpudWxsfSkucmV2ZXJzZSgpKSl9LHBvPWZ1bmN0aW9uKGUpe3ZhciB0PWUuY29sb3IsdD12b2lkIDA9PT10PyIjZmZmZmZmIjp0LGU9ZS5zaXplLGU9dm9pZCAwPT09ZT8iMjVweCI6ZTtyZXR1cm4iYWx0ZXJuYXRpdmUiPT09T2JqZWN0KEYudXNlQ29udGV4dCkoVikuc2V0dGluZ3MuZ3JlZXRpbmdTdHlsZT9ILmEuY3JlYXRlRWxlbWVudCgic3ZnIix7c3R5bGU6e3dpZHRoOmUsaGVpZ2h0OmUsZmlsbDp0LHN0cm9rZToibm9uZSJ9LHZpZXdCb3g6IjAgMCAyNCAyNCIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIn0sSC5hLmNyZWF0ZUVsZW1lbnQoInBhdGgiLHtkOiJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyeiJ9KSxILmEuY3JlYXRlRWxlbWVudCgicGF0aCIse2Q6Ik0wIDBoMjR2MjRIMHoiLGZpbGw6Im5vbmUifSkpOkguYS5jcmVhdGVFbGVtZW50KCJzdmciLHtzdHlsZTp7d2lkdGg6IjE1cHgiLGhlaWdodDoiMTVweCIsZmlsbDoiI2EzYTNhMyIsc3Ryb2tlOiJub25lIn0sdmlld0JveDoiMCAwIDI0IDI0Iix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcifSxILmEuY3JlYXRlRWxlbWVudCgicGF0aCIse2Q6Ik0xOSA2LjQxTDE3LjU5IDUgMTIgMTAuNTkgNi40MSA1IDUgNi40MSAxMC41OSAxMiA1IDE3LjU5IDYuNDEgMTkgMTIgMTMuNDEgMTcuNTkgMTkgMTkgMTcuNTkgMTMuNDEgMTJ6In0pLEguYS5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZDoiTTAgMGgyNHYyNEgweiIsZmlsbDoibm9uZSJ9KSl9O2Z1bmN0aW9uIG1vKGUpe3JldHVybihtbz0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYic3ltYm9sIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbihlKXtyZXR1cm4gdHlwZW9mIGV9OmZ1bmN0aW9uKGUpe3JldHVybiBlJiYiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZlLmNvbnN0cnVjdG9yPT09U3ltYm9sJiZlIT09U3ltYm9sLnByb3RvdHlwZT8ic3ltYm9sIjp0eXBlb2YgZX0pKGUpfWZ1bmN0aW9uIGhvKGUsdCxuKXtyZXR1cm4odD1mdW5jdGlvbihlKXtlPWZ1bmN0aW9uKGUsdCl7aWYoIm9iamVjdCIhPT1tbyhlKXx8bnVsbD09PWUpcmV0dXJuIGU7dmFyIG49ZVtTeW1ib2wudG9QcmltaXRpdmVdO2lmKHZvaWQgMD09PW4pcmV0dXJuKCJzdHJpbmciPT09dD9TdHJpbmc6TnVtYmVyKShlKTtuPW4uY2FsbChlLHR8fCJkZWZhdWx0Iik7aWYoIm9iamVjdCIhPT1tbyhuKSlyZXR1cm4gbjt0aHJvdyBuZXcgVHlwZUVycm9yKCJAQHRvUHJpbWl0aXZlIG11c3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLiIpfShlLCJzdHJpbmciKTtyZXR1cm4ic3ltYm9sIj09PW1vKGUpP2U6U3RyaW5nKGUpfSh0KSlpbiBlP09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQse3ZhbHVlOm4sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTplW3RdPW4sZX1mdW5jdGlvbiBnbyhlLHQpe3JldHVybiBmdW5jdGlvbihlKXtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBlfShlKXx8ZnVuY3Rpb24oZSx0KXt2YXIgbj1udWxsPT1lP251bGw6InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJmVbU3ltYm9sLml0ZXJhdG9yXXx8ZVsiQEBpdGVyYXRvciJdO2lmKG51bGwhPW4pe3ZhciByLG8sYSxpLGw9W10sYz0hMCx1PSExO3RyeXtpZihhPShuPW4uY2FsbChlKSkubmV4dCwwPT09dCl7aWYoT2JqZWN0KG4pIT09bilyZXR1cm47Yz0hMX1lbHNlIGZvcig7IShjPShyPWEuY2FsbChuKSkuZG9uZSkmJihsLnB1c2goci52YWx1ZSksbC5sZW5ndGghPT10KTtjPSEwKTt9Y2F0Y2goZSl7dT0hMCxvPWV9ZmluYWxseXt0cnl7aWYoIWMmJm51bGwhPW4ucmV0dXJuJiYoaT1uLnJldHVybigpLE9iamVjdChpKSE9PWkpKXJldHVybn1maW5hbGx5e2lmKHUpdGhyb3cgb319cmV0dXJuIGx9fShlLHQpfHxmdW5jdGlvbihlLHQpe3ZhciBuO2lmKGUpcmV0dXJuInN0cmluZyI9PXR5cGVvZiBlP2JvKGUsdCk6Ik1hcCI9PT0obj0iT2JqZWN0Ij09PShuPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKS5zbGljZSg4LC0xKSkmJmUuY29uc3RydWN0b3I/ZS5jb25zdHJ1Y3Rvci5uYW1lOm4pfHwiU2V0Ij09PW4/QXJyYXkuZnJvbShlKToiQXJndW1lbnRzIj09PW58fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pP2JvKGUsdCk6dm9pZCAwfShlLHQpfHxmdW5jdGlvbigpe3Rocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9KCl9ZnVuY3Rpb24gYm8oZSx0KXsobnVsbD09dHx8dD5lLmxlbmd0aCkmJih0PWUubGVuZ3RoKTtmb3IodmFyIG49MCxyPW5ldyBBcnJheSh0KTtuPHQ7bisrKXJbbl09ZVtuXTtyZXR1cm4gcn1mdW5jdGlvbiB5byhlKXtmdW5jdGlvbiB0KCl7bygpfWZ1bmN0aW9uIG4oKXtPKFMpfXZhciBlPWUuY29sb3Iscj0oaz1PYmplY3QoRi51c2VDb250ZXh0KShWKSkuc3RhdGUsbz1rLmFjdGlvbnMuY2xvc2VHcmVldGluZ01lc3NhZ2UsYT0oaz1rLnNldHRpbmdzKS5idXR0b25Cb3JkZXJSYWRpdXMsaT1rLmdyZWV0aW5nTWVzc2FnZURlbGF5LGw9ay5ncmVldGluZyxjPWsuZ3JlZXRpbmdEaXJlY3Rpb24sdT1rLmJ1dHRvblN0eWxlLHM9ay5hY3RpdmF0b3JTaXplLGY9ay5zaGlmdFZlcnRpY2FsLGQ9ay5wb3NpdGlvbixwPWsuc2hpZnRIb3Jpem9udGFsLG09ay5ncmVldGluZ1N0eWxlLGg9ay5taXJyb3IsZz1rLmJnU3R5bGUsYj1rLmNvbXBhbnlMb2dvVXJsLHk9ay5ncmVldGluZ01lc3NhZ2Usdj1rLmdyZWV0aW5nQWdlbnROYW1lLFI9ay5ncmVldGluZ0FnZW50UG9zaXRpb24sdz1rLmdyZWV0aW5nTWVzc2VuZ2VycyxOPWsuZ3JlZXRpbmdTdGFydENoYXRXaXRoLHg9ay5pc1NpbmdsZSxrPWsuYnV0dG9uU2hhZG93LFM9KGo9Z28oT2JqZWN0KEYudXNlU3RhdGUpKCExKSwyKSlbMF0sQz1qWzFdLEU9KGo9Z28oT2JqZWN0KEYudXNlU3RhdGUpKCExKSwyKSlbMF0sTz1qWzFdLGo9JChhKSxEPXBlKGUsNSksQT0iIi5jb25jYXQoaSwiMDAwIiksUD0oQS5pbmNsdWRlcygiLiIpJiYoQT0iIi5jb25jYXQoQS5yZXBsYWNlKC9cLi9nLCIiKS8xMCkpLE9iamVjdChGLnVzZVJlZikoMCkpO09iamVjdChGLnVzZUVmZmVjdCkoZnVuY3Rpb24oKXtyLmdyZWV0aW5nTWVzc2FnZSYmIWw/dCgpOihyLmdyZWV0aW5nTWVzc2FnZT8wPT09UC5jdXJyZW50JiYoUC5jdXJyZW50PXNldFRpbWVvdXQoZnVuY3Rpb24oKXtDKHIuZ3JlZXRpbmdNZXNzYWdlKSxPKHIuZ3JlZXRpbmdNZXNzYWdlKX0sK0EpKTooQyghMSksTyghMSkpLHIuYnV0dG9ucyYmY2xlYXJUaW1lb3V0KFAuY3VycmVudCkpfSksT2JqZWN0KEYudXNlRWZmZWN0KShmdW5jdGlvbigpe3IuZ3JlZXRpbmdNZXNzYWdlPyJyb3ciPT09YyYmVyg5OTk5OTk5OTkpOiJyb3ciPT09YyYmVygiY2xhc3NpYyI9PT11P3M6MypzKX0sW2MsdSxyLmdyZWV0aW5nTWVzc2FnZSxzXSk7dmFyIEk9KGk9dmUoKSkuaGVpZ2h0LGk9aS53aWR0aCxfPShNPWdvKE9iamVjdChGLnVzZVN0YXRlKSgiYXV0byIpLDIpKVswXSxVPU1bMV0sej0oTT1nbyhPYmplY3QoRi51c2VTdGF0ZSkoe3dpZHRoOiJhdXRvIixoZWlnaHQ6ImF1dG8ifSksMikpWzBdLEI9TVsxXSxUPU9iamVjdChGLnVzZVJlZikoKSxMPU9iamVjdChGLnVzZVJlZikoKSxNPShPYmplY3QoRi51c2VFZmZlY3QpKGZ1bmN0aW9uKCl7dmFyIGUsdDtULmN1cnJlbnQmJih0PUktZi1zLXZ0LGU9VC5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCsxNzgsVSh0PGU/dC0xNDg6ImF1dG8iKSksTC5jdXJyZW50JiYoZT1MLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0LHQ9TC5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoLEIoe3dpZHRoOnQsaGVpZ2h0OmV9KSl9LFtJLEUsaSxMXSksImNlbnRlciIhPT1jPyJjb2x1bW4iPT09Yz97Ym90dG9tOnMrMzB9OiJyaWdodCI9PT1kP3tyaWdodDoiY2xhc3NpYyI9PT11P3MrMzA6MypzKzMwLGJvdHRvbTo3fTp7bGVmdDoiY2xhc3NpYyI9PT11P3MrMzA6MypzKzMwLGJvdHRvbTo3fTpobyh7Ym90dG9tOiJjYWxjKDUwdmggLSAiLmNvbmNhdCh6LmhlaWdodC8yKzEwLCJweCAtICIpLmNvbmNhdChmLzItMiwicHgpIil9LCJyaWdodCI9PT1kPyJyaWdodCI6ImxlZnQiLCJjYWxjKDUwdncgLSAiLmNvbmNhdCh6LndpZHRoLzIrMjAsInB4IC0gIikuY29uY2F0KHAvMi0yLCJweCkiKSkpLGk9KG5ldyBEYXRlKS5nZXRIb3VycygpKyI6IisobmV3IERhdGUpLmdldE1pbnV0ZXMoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKTtyZXR1cm4iYWx0ZXJuYXRpdmUiPT09bT9FJiZILmEuY3JlYXRlRWxlbWVudChPbyx7aXNTaG93OlMsb25BbmltYXRpb25FbmQ6bixzaGlmdEhvcml6b250YWw6cCxtaXJyb3I6aCxyZWY6TCxzdHlsZTpNLGdyZWV0aW5nRGlyZWN0aW9uOmMsYWN0aXZhdG9yU2l6ZTpzfSxILmEuY3JlYXRlRWxlbWVudChqbyx7YnV0dG9uU2hhZG93OmssZ3JlZXRpbmdNZXNzZW5nZXJzOnd9LEguYS5jcmVhdGVFbGVtZW50KEFvLHtjb2xvcjplLGJnU3R5bGU6ZyxncmFkaWVudDpEfSxILmEuY3JlYXRlRWxlbWVudChQbyx7aXNTaW5nbGU6eH0sSC5hLmNyZWF0ZUVsZW1lbnQoSW8sbnVsbCxILmEuY3JlYXRlRWxlbWVudChMbyx7aW5kaWNhdG9yUG9zaXRpb246aixtaXJyb3I6aH0sSC5hLmNyZWF0ZUVsZW1lbnQoVG8se2NvbXBhbnlMb2dvVXJsOmIsYnV0dG9uQm9yZGVyUmFkaXVzOmF9KSksSC5hLmNyZWF0ZUVsZW1lbnQoImRpdiIsbnVsbCxILmEuY3JlYXRlRWxlbWVudChfbyx7bWlycm9yOmh9LHYpLEguYS5jcmVhdGVFbGVtZW50KHpvLHttaXJyb3I6aH0sUikpKSxILmEuY3JlYXRlRWxlbWVudChNbyx7b25Nb3VzZVVwOnR9LEguYS5jcmVhdGVFbGVtZW50KHBvLG51bGwpKSkpLEguYS5jcmVhdGVFbGVtZW50KFJvLHtncmVldGluZ01lc3NlbmdlcnM6d30sSC5hLmNyZWF0ZUVsZW1lbnQoR28se29uTW91c2VVcDp0fSxILmEuY3JlYXRlRWxlbWVudChwbyx7Y29sb3I6IiNlMGRmZGYiLHNpemU6IjIwcHgifSkpLEguYS5jcmVhdGVFbGVtZW50KCRvLG51bGwsaSksSC5hLmNyZWF0ZUVsZW1lbnQoRG8sbnVsbCxILmEuY3JlYXRlRWxlbWVudChCbyx7Y29tcGFueUxvZ29Vcmw6YixzaGlmdEhvcml6b250YWw6cCxidXR0b25Cb3JkZXJSYWRpdXM6YX0pLEguYS5jcmVhdGVFbGVtZW50KEZvLHtoZWlnaHQ6XyxtaXJyb3I6aH0sSC5hLmNyZWF0ZUVsZW1lbnQoVm8se21pcnJvcjpofSxILmEuY3JlYXRlRWxlbWVudCgic3BhbiIse3JlZjpUfSx5KSkpKSx3JiZILmEuY3JlYXRlRWxlbWVudChILmEuRnJhZ21lbnQsbnVsbCxILmEuY3JlYXRlRWxlbWVudChXbyx7bWlycm9yOmh9LE4pLEguYS5jcmVhdGVFbGVtZW50KGZvLG51bGwpKSkpKToibWluaSI9PT1tP0UmJkguYS5jcmVhdGVFbGVtZW50KE9vLHtpc1Nob3c6UyxvbkFuaW1hdGlvbkVuZDpuLHNoaWZ0SG9yaXpvbnRhbDpwLHJlZjpMLHN0eWxlOk0sbWlycm9yOmgsZ3JlZXRpbmdEaXJlY3Rpb246YyxhY3RpdmF0b3JTaXplOnN9LEguYS5jcmVhdGVFbGVtZW50KGpvLHtidXR0b25TaGFkb3c6ayxncmVldGluZ01lc3NlbmdlcnM6d30sSC5hLmNyZWF0ZUVsZW1lbnQoTm8sbnVsbCxILmEuY3JlYXRlRWxlbWVudChxbyx7b25Nb3VzZVVwOnR9LEguYS5jcmVhdGVFbGVtZW50KHBvLHtjb2xvcjoiI2UwZGZkZiIsc2l6ZToiMjBweCJ9KSksSC5hLmNyZWF0ZUVsZW1lbnQoVW8sbnVsbCxILmEuY3JlYXRlRWxlbWVudChCbyx7Y29tcGFueUxvZ29Vcmw6YixzaGlmdEhvcml6b250YWw6cCxidXR0b25Cb3JkZXJSYWRpdXM6YX0pLEguYS5jcmVhdGVFbGVtZW50KEhvLHtoZWlnaHQ6XyxtaXJyb3I6aH0sSC5hLmNyZWF0ZUVsZW1lbnQoVm8se21pcnJvcjpofSxILmEuY3JlYXRlRWxlbWVudCgic3BhbiIse3JlZjpUfSx5KSkpKSx3JiZILmEuY3JlYXRlRWxlbWVudChmbyxudWxsKSkpKTpFJiZILmEuY3JlYXRlRWxlbWVudCh2byx7aXNTaG93OlMsb25BbmltYXRpb25FbmQ6bixyZWY6TCxzdHlsZTpNLHNoaWZ0SG9yaXpvbnRhbDpwLG1pcnJvcjpoLGdyZWV0aW5nRGlyZWN0aW9uOmMsYWN0aXZhdG9yU2l6ZTpzfSxILmEuY3JlYXRlRWxlbWVudCh3byx7YnV0dG9uU2hhZG93OmssZ3JlZXRpbmdNZXNzZW5nZXJzOnd9LEguYS5jcmVhdGVFbGVtZW50KEVvLHtvbk1vdXNlVXA6dCxtaXJyb3I6aH0sSC5hLmNyZWF0ZUVsZW1lbnQocG8sbnVsbCkpLEguYS5jcmVhdGVFbGVtZW50KFNvLG51bGwsSC5hLmNyZWF0ZUVsZW1lbnQoQ28se2NvbXBhbnlMb2dvVXJsOmIsc2hpZnRIb3Jpem9udGFsOnB9KSxILmEuY3JlYXRlRWxlbWVudChrbyx7aGVpZ2h0Ol8sbWlycm9yOmh9LEguYS5jcmVhdGVFbGVtZW50KHhvLHttaXJyb3I6aH0sSC5hLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyZWY6VH0seSkpKSksIXgmJncmJkguYS5jcmVhdGVFbGVtZW50KGZvLG51bGwpKSl9dmFyIHZvPU9iamVjdChDLmQpKHQpLndpdGhDb25maWcoe2NvbXBvbmVudElkOiJzYy1yazcyYmgtMCJ9KShbIiIsIiJdLGZ1bmN0aW9uKGUpe3ZhciB0PWUudGhlbWUsbj1lLm1pcnJvcixyPWUuZ3JlZXRpbmdEaXJlY3Rpb24sZT1lLmFjdGl2YXRvclNpemU7cmV0dXJuIE9iamVjdChDLmMpKFsnb3BhY2l0eToxO3BhZGRpbmc6MDtib3JkZXI6MDt3aWR0aDozNDNweDt0ZXh0LWFsaWduOmNlbnRlcjtmb250LWZhbWlseTpSb2JvdG8sIkhlbHZldGljYSBOZXVlIixzYW5zLXNlcmlmO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo3M3B4O2xpbmUtaGVpZ2h0OjIzcHg7Zm9udC1zaXplOjE0cHg7JywiOjA7QG1lZGlhIChtYXgtd2lkdGg6MzcwcHgpe3dpZHRoOjI4MHB4O30iLCIgQG1lZGlhIChtYXgtd2lkdGg6NDcwcHgpeyIsIn0iXSx0LnBvc2l0aW9uLG4mJk9iamVjdChDLmMpKFsiZGlyZWN0aW9uOnJ0bDsiXSksInJvdyI9PT1yJiZPYmplY3QoQy5jKShbImJvdHRvbToiLCJweCAhaW1wb3J0YW50OyIsIjowICFpbXBvcnRhbnQ7Il0sZSszMCx0LnBvc2l0aW9uKSl9KSx3bz1DLmQuZGl2LndpdGhDb25maWcoe2NvbXBvbmVudElkOiJzYy1yazcyYmgtMSJ9KShbIiIsIiJdLGZ1bmN0aW9uKGUpe3ZhciB0PWUuYnV0dG9uU2hhZG93LGU9ZS5ncmVldGluZ01lc3NlbmdlcnM7cmV0dXJuIE9iamVjdChDLmMpKFsiYm94LXNoYWRvdzowcHggMXB4IDdweCByZ2JhKDEzNiwxMzYsMTM2LCIsIiUpO2JvcmRlcjoxcHggc29saWQgI2UyZTJlMjtwb3NpdGlvbjpyZWxhdGl2ZTttaW4taGVpZ2h0OiIsIjtib3JkZXItcmFkaXVzOjEwcHg7YmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtkaXNwbGF5OmJsb2NrOyJdLDIwPHQ/dDoyMCxlPyIxNDlweCI6InVuc2V0Iil9KSx4bz1DLmQuZGl2LndpdGhDb25maWcoe2NvbXBvbmVudElkOiJzYy1yazcyYmgtMiJ9KShbInBhZGRpbmc6MTBweCAxNnB4O2xpbmUtaGVpZ2h0OjIwcHg7d2hpdGUtc3BhY2U6cHJlLXdyYXA7b3ZlcmZsb3cteTphdXRvO2hlaWdodDoxMDAlO2JveC1zaXppbmc6Ym9yZGVyLWJveDsiLCIgJjo6LXdlYmtpdC1zY3JvbGxiYXJ7aGVpZ2h0OjVweDt3aWR0aDo1cHg7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4wMik7fSY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQ6cmdiYSg1Nyw1NiwxOCwuMDcpOy13ZWJraXQtYm9yZGVyLXJhZGl1czozcHg7fSJdLGZ1bmN0aW9uKGUpe3JldHVybiBlLm1pcnJvcj9PYmplY3QoQy5jKShbInRleHQtYWxpZ246cmlnaHQ7dW5pY29kZS1iaWRpOnBsYWludGV4dDsiXSk6T2JqZWN0KEMuYykoWyJ0ZXh0LWFsaWduOmxlZnQ7Il0pfSksa289Qy5kLmRpdi53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2Mtcms3MmJoLTMifSkoWyIiLCIiXSxmdW5jdGlvbihlKXt2YXIgdD1lLmhlaWdodCxlPWUubWlycm9yO3JldHVybiBPYmplY3QoQy5jKShbIm1pbi1oZWlnaHQ6NTZweDtoZWlnaHQ6IiwiO3dpZHRoOjIzNHB4O2JvcmRlcjoxcHggc29saWQgI2UyZTJlMjtib3JkZXItcmFkaXVzOjhweDtwb3NpdGlvbjpyZWxhdGl2ZTsiLCIgJjo6YmVmb3Jle2NvbnRlbnQ6Jyc7cG9zaXRpb246YWJzb2x1dGU7dG9wOjIwcHg7Ym9yZGVyOjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6NXB4IHNvbGlkICNlMmUyZTI7IiwifSY6OmFmdGVye2NvbnRlbnQ6Jyc7cG9zaXRpb246YWJzb2x1dGU7dG9wOjIwcHg7Ym9yZGVyOjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6NXB4IHNvbGlkICNmZmY7IiwifSJdLHQrInB4IixlP09iamVjdChDLmMpKFsibWFyZ2luOjAgYXV0byAwIDVweDsiXSk6T2JqZWN0KEMuYykoWyJtYXJnaW46MCA1cHggMCBhdXRvOyJdKSxlP09iamVjdChDLmMpKFsicmlnaHQ6LTEwcHg7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpOyJdKTpPYmplY3QoQy5jKShbImxlZnQ6LTEwcHg7Il0pLGU/T2JqZWN0KEMuYykoWyJyaWdodDotOXB4O3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTsiXSk6T2JqZWN0KEMuYykoWyJsZWZ0Oi05cHg7Il0pKX0pLFNvPUMuZC5kaXYud2l0aENvbmZpZyh7Y29tcG9uZW50SWQ6InNjLXJrNzJiaC00In0pKFsibWluLWhlaWdodDo1OHB4O2JvcmRlci1yYWRpdXM6NHB4IDRweCAwIDA7Y29sb3I6YmxhY2s7cGFkZGluZzoyN3B4IDE4cHggMjBweCAxOHB4O2Rpc3BsYXk6ZmxleDsiXSksQ289Qy5kLmRpdi53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2Mtcms3MmJoLTUifSkoWydkaXNwbGF5OmJsb2NrIWltcG9ydGFudDtoZWlnaHQ6NTBweDt3aWR0aDo1MHB4O21pbi13aWR0aDo1MHB4O2JvcmRlcjoxcHggc29saWQgI2UyZTJlMjtib3JkZXItcmFkaXVzOjhweDtiYWNrZ3JvdW5kOnVybCgiJywnIikgbm8tcmVwZWF0IGNlbnRlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7QG1lZGlhIChtYXgtd2lkdGg6MzcwcHgpe2Rpc3BsYXk6bm9uZTt9J10sZnVuY3Rpb24oZSl7cmV0dXJuIGUuY29tcGFueUxvZ29Vcmx9KSxFbz1DLmQuZGl2LndpdGhDb25maWcoe2NvbXBvbmVudElkOiJzYy1yazcyYmgtNiJ9KShbIndpZHRoOjE1cHg7aGVpZ2h0OjE1cHg7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjdweDsiLCIiXSxmdW5jdGlvbihlKXtyZXR1cm4gZS5taXJyb3I/T2JqZWN0KEMuYykoWyJsZWZ0OjlweDsiXSk6T2JqZWN0KEMuYykoWyJyaWdodDo5cHg7Il0pfSksT289T2JqZWN0KEMuZCkodm8pLndpdGhDb25maWcoe2NvbXBvbmVudElkOiJzYy1yazcyYmgtNyJ9KShbIndpZHRoOjMyMHB4OyJdKSxqbz1PYmplY3QoQy5kKSh3bykud2l0aENvbmZpZyh7Y29tcG9uZW50SWQ6InNjLXJrNzJiaC04In0pKFsiYm9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czoxNnB4OyJdKSxBbz1DLmQuZGl2LndpdGhDb25maWcoe2NvbXBvbmVudElkOiJzYy1yazcyYmgtOSJ9KShbIiIsIiAiXSxmdW5jdGlvbihlKXt2YXIgdD1lLmJnU3R5bGUsbj1lLmNvbG9yLGU9ZS5ncmFkaWVudDtyZXR1cm4gT2JqZWN0KEMuYykoWyJib3JkZXItcmFkaXVzOjE2cHggMTZweCAwIDA7IiwiIEBtZWRpYShtYXgtaGVpZ2h0OjQ3MHB4KXtkaXNwbGF5Om5vbmU7fSJdLCJjb2xvciI9PT10P09iamVjdChDLmMpKFsiYmFja2dyb3VuZC1jb2xvcjoiLCI7Il0sbik6T2JqZWN0KEMuYykoWyJiYWNrZ3JvdW5kOiIsIjsiXSwibGluZWFyLWdyYWRpZW50KDEzNWRlZywgIi5jb25jYXQoZSwiKSIpKSl9KSxQbz1DLmQuZGl2LndpdGhDb25maWcoe2NvbXBvbmVudElkOiJzYy1yazcyYmgtMTAifSkoWyJib3JkZXItcmFkaXVzOjE2cHggMTZweCAwIDA7cGFkZGluZzowIDE1cHg7aGVpZ2h0OjgwcHg7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZHJvcC1maWx0ZXI6IiwiOyJdLGZ1bmN0aW9uKGUpe3JldHVybiBlLmlzU2luZ2xlJiYiYnJpZ2h0bmVzcygwLjUpIn0pLElvPUMuZC5kaXYud2l0aENvbmZpZyh7Y29tcG9uZW50SWQ6InNjLXJrNzJiaC0xMSJ9KShbImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjE1cHg7dGV4dC1kZWNvcmF0aW9uOm5vbmU7cG9zaXRpb246cmVsYXRpdmU7Il0pLF9vPUMuZC5oNC53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2Mtcms3MmJoLTEyIn0pKFsibWFyZ2luOjA7dGV4dC1hbGlnbjpsZWZ0O2NvbG9yOndoaXRlICFpbXBvcnRhbnQ7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxOHB4OyIsIiJdLGZ1bmN0aW9uKGUpe3JldHVybiBlLm1pcnJvcj9PYmplY3QoQy5jKShbInRleHQtYWxpZ246cmlnaHQ7dW5pY29kZS1iaWRpOnBsYWludGV4dDsiXSk6T2JqZWN0KEMuYykoWyJ0ZXh0LWFsaWduOmxlZnQ7Il0pfSksem89Qy5kLnAud2l0aENvbmZpZyh7Y29tcG9uZW50SWQ6InNjLXJrNzJiaC0xMyJ9KShbIm1hcmdpbjowO2xpbmUtaGVpZ2h0OjEuMyAhaW1wb3J0YW50O2NvbG9yOndoaXRlO2ZvbnQtc2l6ZToxNHB4OyIsIiJdLGZ1bmN0aW9uKGUpe3JldHVybiBlLm1pcnJvcj9PYmplY3QoQy5jKShbInRleHQtYWxpZ246cmlnaHQ7dW5pY29kZS1iaWRpOnBsYWludGV4dDsiXSk6T2JqZWN0KEMuYykoWyJ0ZXh0LWFsaWduOmxlZnQ7Il0pfSksVG89Qy5kLmltZy53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2Mtcms3MmJoLTE0In0pKFsiIiwiIl0sZnVuY3Rpb24oZSl7dmFyIHQ9ZS5idXR0b25Cb3JkZXJSYWRpdXMsZT1lLmNvbXBhbnlMb2dvVXJsO3JldHVybiBPYmplY3QoQy5jKShbImRpc3BsYXk6YmxvY2shaW1wb3J0YW50O2hlaWdodDo1MHB4ICFpbXBvcnRhbnQ7d2lkdGg6NTBweDttaW4td2lkdGg6NTBweDtib3JkZXI6MnB4IHNvbGlkICNmZmZmZmY7Ym9yZGVyLXJhZGl1czoiLCclO2JhY2tncm91bmQ6dXJsKCInLCciKSBuby1yZXBlYXQgY2VudGVyO2JhY2tncm91bmQtc2l6ZTpjb3ZlcjtAbWVkaWEgKG1heC13aWR0aDozNzBweCl7ZGlzcGxheTpub25lO30nXSx0LGUpfSksTG89Qy5kLmRpdi53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2Mtcms3MmJoLTE1In0pKFsiIiwiIl0sZnVuY3Rpb24oZSl7dmFyIHQ9ZS5pbmRpY2F0b3JQb3NpdGlvbixlPWUubWlycm9yO3JldHVybiBPYmplY3QoQy5jKShbInBvc2l0aW9uOnJlbGF0aXZlOyY6YWZ0ZXJ7Y29udGVudDonJzt3aWR0aDoxMHB4O2hlaWdodDoxMHB4O2JhY2tncm91bmQtY29sb3I6IzRkYzI0Nztib3JkZXItcmFkaXVzOjUwJTtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206IiwicHg7Ym94LXNoYWRvdzoycHggMnB4IDZweCByZ2JhKDAsMCwwLDEwJSk7IiwifSJdLHQsZT9PYmplY3QoQy5jKShbImxlZnQ6IiwicHg7Il0sdCk6T2JqZWN0KEMuYykoWyJyaWdodDoiLCJweDsiXSx0KSl9KSxNbz1DLmQuZGl2LndpdGhDb25maWcoe2NvbXBvbmVudElkOiJzYy1yazcyYmgtMTYifSkoWyJ3aWR0aDoyNXB4O2hlaWdodDoyNXB4O2N1cnNvcjpwb2ludGVyOyJdKSxSbz1DLmQuZGl2LndpdGhDb25maWcoe2NvbXBvbmVudElkOiJzYy1yazcyYmgtMTcifSkoWyJwYWRkaW5nOiIsIjtAbWVkaWEobWF4LWhlaWdodDo0NzBweCl7cGFkZGluZzo1cHggMTVweDt9Il0sZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ3JlZXRpbmdNZXNzZW5nZXJzPyIxNXB4IjoiMTVweCAxNXB4IDI1cHggMTVweCJ9KSxObz1DLmQuZGl2LndpdGhDb25maWcoe2NvbXBvbmVudElkOiJzYy1yazcyYmgtMTgifSkoWyJwYWRkaW5nOjE1cHg7Il0pLERvPUMuZC5kaXYud2l0aENvbmZpZyh7Y29tcG9uZW50SWQ6InNjLXJrNzJiaC0xOSJ9KShbImRpc3BsYXk6ZmxleDtnYXA6MTBweDtjb2xvcjojMDAwMDAwO0BtZWRpYShtYXgtaGVpZ2h0OjQ3MHB4KXttYXJnaW46N3B4IDA7fSJdKSxVbz1DLmQuZGl2LndpdGhDb25maWcoe2NvbXBvbmVudElkOiJzYy1yazcyYmgtMjAifSkoWyJkaXNwbGF5OmZsZXg7Z2FwOjEwcHg7Y29sb3I6IzAwMDAwMDttYXJnaW46N3B4IDA7Il0pLEJvPUMuZC5kaXYud2l0aENvbmZpZyh7Y29tcG9uZW50SWQ6InNjLXJrNzJiaC0yMSJ9KShbIiIsIiJdLGZ1bmN0aW9uKGUpe3ZhciB0PWUuYnV0dG9uQm9yZGVyUmFkaXVzLGU9ZS5jb21wYW55TG9nb1VybDtyZXR1cm4gT2JqZWN0KEMuYykoWyJkaXNwbGF5OmJsb2NrIWltcG9ydGFudDtoZWlnaHQ6MzVweDt3aWR0aDozNXB4O21pbi13aWR0aDozNXB4O2JvcmRlci1yYWRpdXM6IiwnJTtiYWNrZ3JvdW5kOnVybCgiJywnIikgbm8tcmVwZWF0IGNlbnRlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7J10sdCxlKX0pLEZvPUMuZC5kaXYud2l0aENvbmZpZyh7Y29tcG9uZW50SWQ6InNjLXJrNzJiaC0yMiJ9KShbImJhY2tncm91bmQ6cmdiYSg0NCwxMjAsMjU1LDAuMik7bWF4LWhlaWdodDoyMHZoO3BhZGRpbmc6MTRweCAwOyIsIiBAbWVkaWEobWF4LWhlaWdodDo0NzBweCl7d2lkdGg6ODAlO30iXSxmdW5jdGlvbihlKXtyZXR1cm4gZS5taXJyb3I/T2JqZWN0KEMuYykoWyJib3JkZXItcmFkaXVzOjIwcHggMnB4IDIwcHggMjBweDsiXSk6T2JqZWN0KEMuYykoWyJib3JkZXItcmFkaXVzOjJweCAyMHB4IDIwcHggMjBweDsiXSl9KSxIbz1DLmQuZGl2LndpdGhDb25maWcoe2NvbXBvbmVudElkOiJzYy1yazcyYmgtMjMifSkoWyJiYWNrZ3JvdW5kOnJnYmEoNDQsMTIwLDI1NSwwLjIpO21heC1oZWlnaHQ6MjB2aDtwYWRkaW5nOjE0cHggMDt3aWR0aDo4MCU7IiwiIl0sZnVuY3Rpb24oZSl7cmV0dXJuIGUubWlycm9yP09iamVjdChDLmMpKFsiYm9yZGVyLXJhZGl1czoyMHB4IDJweCAyMHB4IDIwcHg7Il0pOk9iamVjdChDLmMpKFsiYm9yZGVyLXJhZGl1czoycHggMjBweCAyMHB4IDIwcHg7Il0pfSksVm89T2JqZWN0KEMuZCkoeG8pLndpdGhDb25maWcoe2NvbXBvbmVudElkOiJzYy1yazcyYmgtMjQifSkoWyJwYWRkaW5nOjAgMTZweDsiXSksJG89Qy5kLnAud2l0aENvbmZpZyh7Y29tcG9uZW50SWQ6InNjLXJrNzJiaC0yNSJ9KShbIm1hcmdpbjowIDAgMTVweCAwO2NvbG9yOiM5NTlEQTk7QG1lZGlhKG1heC1oZWlnaHQ6NDcwcHgpe2Rpc3BsYXk6bm9uZTt9Il0pLFdvPUMuZC5wLndpdGhDb25maWcoe2NvbXBvbmVudElkOiJzYy1yazcyYmgtMjYifSkoWyJmb250LXdlaWdodDpib2xkO21hcmdpbjoyNXB4IDAgNXB4IDA7Y29sb3I6IzAwMDAwMCAhaW1wb3J0YW50OyIsIiBAbWVkaWEobWF4LWhlaWdodDo0NzBweCl7ZGlzcGxheTpub25lO30iXSxmdW5jdGlvbihlKXtyZXR1cm4gZS5taXJyb3ImJk9iamVjdChDLmMpKFsidW5pY29kZS1iaWRpOnBsYWludGV4dDsiXSl9KSxHbz1PYmplY3QoQy5kKShNbykud2l0aENvbmZpZyh7Y29tcG9uZW50SWQ6InNjLXJrNzJiaC0yNyJ9KShbImRpc3BsYXk6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NXB4O3JpZ2h0OjNweDtAbWVkaWEobWF4LWhlaWdodDo0NzBweCl7ZGlzcGxheTpibG9jazt9Il0pLHFvPU9iamVjdChDLmQpKE1vKS53aXRoQ29uZmlnKHtjb21wb25lbnRJZDoic2Mtcms3MmJoLTI4In0pKFsicG9zaXRpb246YWJzb2x1dGU7dG9wOjVweDtyaWdodDozcHg7Il0pLFpvPU9iamVjdChDLmIpKFsiIyIsIiA+ICp7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnJnYmEoMCwwLDAsMCkgIWltcG9ydGFudDtib3gtc2l6aW5nOmJvcmRlci1ib3ggIWltcG9ydGFudDt9IyIsIiBwe3BhZGRpbmctYm90dG9tOjAgIWltcG9ydGFudDt9IiwiIl0sZnVuY3Rpb24oZSl7cmV0dXJuIGUuY29udGFpbmVySWR9LGZ1bmN0aW9uKGUpe3JldHVybiBlLmNvbnRhaW5lcklkfSxmdW5jdGlvbihlKXtyZXR1cm4gZS5zZXR0aW5ncy5mYWNlYm9vayYmWG99KSxYbz1PYmplY3QoQy5jKShbIiNmYi1yb290IC5mYi1jdXN0b21lcmNoYXQgPip7b3BhY2l0eTowO30uZmItY3VzdG9tZXJjaGF0IGlmcmFtZXtib3R0b206IiwicHggIWltcG9ydGFudDsiLCI6IiwicHggIWltcG9ydGFudDt9LmZiLWN1c3RvbWVyY2hhdCBpZnJhbWUuZmJfY3VzdG9tZXJfY2hhdF9ib3VuY2VfaW5fdjJ7bWF4LWhlaWdodDpjYWxjKDgwJSAtIDMwcHgpICFpbXBvcnRhbnQ7fS5mYl9kaWFsb2d7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fS5mYl9jdXN0b21lcl9jaGF0X2JvdW5jZV9vdXRfdjJ7YW5pbWF0aW9uLW5hbWU6ZmJfYm91bmNlX291dF9jcyFpbXBvcnRhbnQ7fS5mYl9jdXN0b21lcl9jaGF0X2JvdW5jZV9pbl92MnthbmltYXRpb24tbmFtZTpmYl9ib3VuY2VfaW5fY3MhaW1wb3J0YW50O31Aa2V5ZnJhbWVzIGZiX2JvdW5jZV9pbl9jc3swJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnNjYWxlKDAsMCk7dHJhbnNmb3JtLW9yaWdpbjpib3R0b20gIiwiO301MCV7dHJhbnNmb3JtOnNjYWxlKDEuMDMsMS4wMyk7dHJhbnNmb3JtLW9yaWdpbjpib3R0b20gIiwiO30xMDAle29wYWNpdHk6MTt0cmFuc2Zvcm06c2NhbGUoMSwxKTt0cmFuc2Zvcm0tb3JpZ2luOmJvdHRvbSAiLCI7fX1Aa2V5ZnJhbWVzIGZiX2JvdW5jZV9vdXRfY3N7MCV7b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZSgxLDEpO3RyYW5zZm9ybS1vcmlnaW46Ym90dG9tICIsIjt9MTAwJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnNjYWxlKDAsMCk7dHJhbnNmb3JtLW9yaWdpbjpib3R0b20gIiwiO319Il0sZnVuY3Rpb24oZSl7cmV0dXJuIGUuc3R5bGVzLnNoaWZ0VmVydGljYWwrNTB9LGZ1bmN0aW9uKGUpe3JldHVybiBlLnN0eWxlcy5wb3NpdGlvbn0sZnVuY3Rpb24oZSl7cmV0dXJuIGUuc3R5bGVzLnNoaWZ0SG9yaXpvbnRhbC0yMH0sZnVuY3Rpb24oZSl7cmV0dXJuIGUuc3R5bGVzLnBvc2l0aW9ufSxmdW5jdGlvbihlKXtyZXR1cm4gZS5zdHlsZXMucG9zaXRpb259LGZ1bmN0aW9uKGUpe3JldHVybiBlLnN0eWxlcy5wb3NpdGlvbn0sZnVuY3Rpb24oZSl7cmV0dXJuIGUuc3R5bGVzLnBvc2l0aW9ufSxmdW5jdGlvbihlKXtyZXR1cm4gZS5zdHlsZXMucG9zaXRpb259KTtmdW5jdGlvbiBZbyhlLHQpe3ZhciBuLHIsbyxhLGk9InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJmVbU3ltYm9sLml0ZXJhdG9yXXx8ZVsiQEBpdGVyYXRvciJdO2lmKGkpcmV0dXJuIHI9IShuPSEwKSx7czpmdW5jdGlvbigpe2k9aS5jYWxsKGUpfSxuOmZ1bmN0aW9uKCl7dmFyIGU9aS5uZXh0KCk7cmV0dXJuIG49ZS5kb25lLGV9LGU6ZnVuY3Rpb24oZSl7cj0hMCxvPWV9LGY6ZnVuY3Rpb24oKXt0cnl7bnx8bnVsbD09aS5yZXR1cm58fGkucmV0dXJuKCl9ZmluYWxseXtpZihyKXRocm93IG99fX07aWYoQXJyYXkuaXNBcnJheShlKXx8KGk9ZnVuY3Rpb24oZSx0KXt2YXIgbjtpZihlKXJldHVybiJzdHJpbmciPT10eXBlb2YgZT9RbyhlLHQpOiJNYXAiPT09KG49Ik9iamVjdCI9PT0obj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkuc2xpY2UoOCwtMSkpJiZlLmNvbnN0cnVjdG9yP2UuY29uc3RydWN0b3IubmFtZTpuKXx8IlNldCI9PT1uP0FycmF5LmZyb20oZSk6IkFyZ3VtZW50cyI9PT1ufHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKT9RbyhlLHQpOnZvaWQgMH0oZSkpfHx0JiZlJiYibnVtYmVyIj09dHlwZW9mIGUubGVuZ3RoKXJldHVybiBpJiYoZT1pKSxhPTAse3M6dD1mdW5jdGlvbigpe30sbjpmdW5jdGlvbigpe3JldHVybiBhPj1lLmxlbmd0aD97ZG9uZTohMH06e2RvbmU6ITEsdmFsdWU6ZVthKytdfX0sZTpmdW5jdGlvbihlKXt0aHJvdyBlfSxmOnR9O3Rocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBpdGVyYXRlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX1mdW5jdGlvbiBRbyhlLHQpeyhudWxsPT10fHx0PmUubGVuZ3RoKSYmKHQ9ZS5sZW5ndGgpO2Zvcih2YXIgbj0wLHI9bmV3IEFycmF5KHQpO248dDtuKyspcltuXT1lW25dO3JldHVybiByfXdpbmRvdy5HQkJUTj13aW5kb3cuR0JCVE58fHtsb2FkZWRfYnV0dG9uc19oYXNoX2lkczpbXX07dmFyIEtvLEpvLGVhLHRhLG5hLGc9ITEscmE9WW8oZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpKTt0cnl7Zm9yKHJhLnMoKTshKGVhPXJhLm4oKSkuZG9uZTspe3ZhciBvYSxhYSxpYT1lYS52YWx1ZTtpZihudWxsIT0ob2E9aWEuc3JjKSYmb2EuaW5jbHVkZXMoIi5nZXRidXR0b24uaW8vd2lkZ2V0L2J1bmRsZS5qcz9pZCIpfHxudWxsIT0oYWE9aWEuc3JjKSYmYWEuaW5jbHVkZXMoIjo5MDAwL2J1bmRsZS5qcz9pZD0iKSl7aWYoZz1pYS5zcmMubWF0Y2goL2lkPShbXiZdKikvKVsxXSxjb25zb2xlLmxvZygiZm91bmQgaGFzaElkOiIsZyksIXdpbmRvdy5HQkJUTi5sb2FkZWRfYnV0dG9uc19oYXNoX2lkcy5pbmNsdWRlcyhnKSl7d2luZG93LkdCQlROLmxvYWRlZF9idXR0b25zX2hhc2hfaWRzLnB1c2goZyksdGE9ImdldGJ1dHRvbi5pbyIsbmE9Imh0dHBzOiIsY29uc29sZS5sb2coIj4gc2hvcnRDb2RlSW5pdCIpLHplKHRhLG5hKSxMZShUZSkudGhlbihmdW5jdGlvbigpe3JldHVybiBsYSgpfSkuY2F0Y2goZnVuY3Rpb24oZSl7cmV0dXJuIGNvbnNvbGUuZXJyb3J9KSxjLnNjcmlwdElkPWc7YnJlYWt9Y29uc29sZS5sb2coInNraXAgbG9hZGluZyBoYXNoSWQ6ICIuY29uY2F0KGcsIiAoYWxyZWFkeSBsb2FkZWQpIikpfX19Y2F0Y2goZSl7cmEuZShlKX1maW5hbGx5e3JhLmYoKX1jb25zb2xlLmxvZygiPiBsb25nQ29kZUluaXQiKSx3aW5kb3cuV2hXaWRnZXRTZW5kQnV0dG9uPXtpbml0OnplLHJlSW5pdDpmdW5jdGlvbihlLHQsbil7emUoZSx0LG4pLExlKFRlKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGxhKCl9KS5jYXRjaChmdW5jdGlvbihlKXtyZXR1cm4gY29uc29sZS5lcnJvcn0pfX07dHJ5e2NvbnNvbGUubG9nKCI+IHRyeSIpLExlKFRlKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGxhKCl9KS5jYXRjaChmdW5jdGlvbihlKXtyZXR1cm4gY29uc29sZS5lcnJvcn0pfWNhdGNoKGUpe2NvbnNvbGUuZXJyb3IoIj4gdHJ5IGVycm9yIixlKX12YXIgbGE9ZnVuY3Rpb24oKXt2YXIgZSx0O0pvJiYoSm8udW5tb3VudCgpLEpvPW51bGwsdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChLbykpJiZ0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCksYy5zaG93V2lkZ2V0PzAhPT1jLm9yZGVyLmxlbmd0aHx8Zz8oS289ImdiLXdpZGdldC0iLmNvbmNhdChNYXRoLmZsb29yKDk5OTkqTWF0aC5yYW5kb20oKSkpLChlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKS5zZXRBdHRyaWJ1dGUoImlkIixLbyksZS5zZXRBdHRyaWJ1dGUoInNjcmlwdC1pZCIsZyksZG9jdW1lbnQuYm9keS5pbnNlcnRCZWZvcmUoZSxkb2N1bWVudC5ib2R5Lmxhc3RDaGlsZC5uZXh0U2libGluZyksdD1mdW5jdGlvbigpe3JldHVybiBnZSgxZTMpP0guYS5jcmVhdGVFbGVtZW50KHVlLG51bGwsSC5hLmNyZWF0ZUVsZW1lbnQoY2Ese3Jvb3RDb250YWluZXI6ZSxjb250YWluZXJJZDpLb30pKToiIn0sKEpvPXkuYS5jcmVhdGVSb290KGUpKS5yZW5kZXIoSC5hLmNyZWF0ZUVsZW1lbnQodCxudWxsKSkpOmNvbnNvbGUud2FybigiR2V0QnV0dG9uIGlzIGVtcHR5Iik6Y29uc29sZS53YXJuKCJXaWRnZXQgaXMgaGlkZGVuIixnKX0sY2E9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5yb290Q29udGFpbmVyLGU9ZS5jb250YWluZXJJZCxuPU9iamVjdChGLnVzZUNvbnRleHQpKFYpLHI9bi5hY3Rpb25zLG49bi5zZXR0aW5ncyxvPShILmEudXNlRWZmZWN0KGZ1bmN0aW9uKCl7d2luZG93LldoV2lkZ2V0U2VuZEJ1dHRvbj13aW5kb3cuV2hXaWRnZXRTZW5kQnV0dG9ufHx7fSx3aW5kb3cuV2hXaWRnZXRTZW5kQnV0dG9uLnNob3dQb3B1cD1mdW5jdGlvbihlKXtyLnNob3dCdXR0b25Qb3B1cChlKX19LFtdKSxuLnNoaWZ0VmVydGljYWwpLGE9bi5zaGlmdEhvcml6b250YWwsaT1uLnBvc2l0aW9uLGw9bi5kaXJlY3Rpb24sYz1uLmFjdGl2YXRvclNpemUsdT1uLmJ1dHRvbkNvbG9yLGw9IlxuICAgIGJvdHRvbTogIi5jb25jYXQobywicHggIWltcG9ydGFudDtcbiAgICAiKS5jb25jYXQoaSwiOiAiKS5jb25jYXQoYSwicHggIWltcG9ydGFudDtcbiAgICAvLyBvcGFjaXR5OiAwO1xuICAgIC8vIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICAgIHotaW5kZXg6IDE2MDAwMTYwICFpbXBvcnRhbnQ7XG4gICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgdGV4dC1hbGlnbjogIikuY29uY2F0KCJyaWdodCI9PT1pPyJyaWdodCI6ImxlZnQiLCI7XG4gICAgZGlzcGxheTogIikuY29uY2F0KCJyb3ciPT09bCYmImZsZXgiLCI7XG4gICAgYWxpZ24taXRlbXM6ICIpLmNvbmNhdCgicm93Ij09PWwmJiJmbGV4LWVuZCIsIjtcbiAgICBmbGV4LWRpcmVjdGlvbjogIikuY29uY2F0KCJsZWZ0Ij09PWkmJiJyb3ctcmV2ZXJzZSIsIjtcbiAgIiksbz0odC5zZXRBdHRyaWJ1dGUoInN0eWxlIixsKSx7c2hpZnRWZXJ0aWNhbDpvLHNoaWZ0SG9yaXpvbnRhbDphLGFjdGl2YXRvclNpemU6Yyxwb3NpdGlvbjppfSk7cmV0dXJuIHQuc2V0QXR0cmlidXRlKCJzdHlsZSIsbCksSC5hLmNyZWF0ZUVsZW1lbnQoSC5hLkZyYWdtZW50LG51bGwsSC5hLmNyZWF0ZUVsZW1lbnQoWm8se2NvbnRhaW5lcklkOmUsc3R5bGVzOm8sc2V0dGluZ3M6bn0pLEguYS5jcmVhdGVFbGVtZW50KHNlLHt0aGVtZTppfSxILmEuY3JlYXRlRWxlbWVudChHcixudWxsKSxILmEuY3JlYXRlRWxlbWVudChLcixudWxsKSxILmEuY3JlYXRlRWxlbWVudChxcixudWxsKSxILmEuY3JlYXRlRWxlbWVudCh5byx7Y29sb3I6dX0pKSl9fV0scj17fSxvLm09bixvLmM9cixvLmQ9ZnVuY3Rpb24oZSx0LG4pe28ubyhlLHQpfHxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHtlbnVtZXJhYmxlOiEwLGdldDpufSl9LG8ucj1mdW5jdGlvbihlKXsidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLnRvU3RyaW5nVGFnJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxTeW1ib2wudG9TdHJpbmdUYWcse3ZhbHVlOiJNb2R1bGUifSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSxvLnQ9ZnVuY3Rpb24odCxlKXtpZigxJmUmJih0PW8odCkpLDgmZSlyZXR1cm4gdDtpZig0JmUmJiJvYmplY3QiPT10eXBlb2YgdCYmdCYmdC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBuPU9iamVjdC5jcmVhdGUobnVsbCk7aWYoby5yKG4pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCx2YWx1ZTp0fSksMiZlJiYic3RyaW5nIiE9dHlwZW9mIHQpZm9yKHZhciByIGluIHQpby5kKG4scixmdW5jdGlvbihlKXtyZXR1cm4gdFtlXX0uYmluZChudWxsLHIpKTtyZXR1cm4gbn0sby5uPWZ1bmN0aW9uKGUpe3ZhciB0PWUmJmUuX19lc01vZHVsZT9mdW5jdGlvbigpe3JldHVybiBlLmRlZmF1bHR9OmZ1bmN0aW9uKCl7cmV0dXJuIGV9O3JldHVybiBvLmQodCwiYSIsdCksdH0sby5vPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLHQpfSxvLnA9Ii8iLG8oby5zPTE3OCl9KCk7"}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/49265.c208ef8379e073f94d16.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.874Z","timestamp":1785120633874,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/49265.c208ef8379e073f94d16.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a435fcb-4ddf\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:18:51 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:09\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c8e2f979176ebe6d5e618f9d2d36ebc3\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":19935,"size_decoded":7323,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"7b82078f584e6803982971fd98e254ad","sha1":"68381b82a3c15fb84e25d74f902a92fd1de3a245","sha256":"e79b56277f3ab3f995df2d44c612a393858265d70e8d4151a858384901aaa5ae","sha512":"856120280da4d842117fb927a8dbab94215dfb803172d5217ef06b3e3160c27bfbc9fda244b20ac94ce02cebb4356d25c92927cb9292b29f658e377fca579fec","ssdeep":"384:j9PRJCURbRGehSowQ7pJIdRW5TejB6ScRTtDe1efLBHxe+Wl2XaKKTV28fRJmRDM:RPTCURbwehStQ7pJIdk5TejB6ScZtDeb","tlshash":"7e92de8679c2f0e962d55cd4c07b4846f01a0d3c704db8e9e7e6c8d2da7a14ed436bba","first_seen":"2026-06-30T14:35:40.41523Z","last_seen":"2026-07-27T05:15:36.955954Z","times_seen":2158,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0OTI2NV0sezc1Njg1MSh0KXsidXNlIHN0cmljdCI7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxyPXQubGVuZ3RoLG49MDtuPHI7bisrKXt2YXIgdT10LmNoYXJDb2RlQXQobik7aWYodT49NTUyOTYmJnU8PTU2MzE5JiZyPm4rMSl7dmFyIGE9dC5jaGFyQ29kZUF0KG4rMSk7YT49NTYzMjAmJmE8PTU3MzQzJiYodT0xMDI0Kih1LTU1Mjk2KSthLTU2MzIwKzY1NTM2LG4rPTEpfXU8MTI4P2UucHVzaCh1KTp1PDIwNDg/KGUucHVzaCh1Pj42fDE5MiksZS5wdXNoKDYzJnV8MTI4KSk6dTw1NTI5Nnx8dT49NTczNDQmJnU8NjU1MzY/KGUucHVzaCh1Pj4xMnwyMjQpLGUucHVzaCh1Pj42JjYzfDEyOCksZS5wdXNoKDYzJnV8MTI4KSk6dT49NjU1MzYmJnU8PTExMTQxMTE/KGUucHVzaCh1Pj4xOHwyNDApLGUucHVzaCh1Pj4xMiY2M3wxMjgpLGUucHVzaCh1Pj42JjYzfDEyOCksZS5wdXNoKDYzJnV8MTI4KSk6ZS5wdXNoKDIzOSwxOTEsMTg5KX1yZXR1cm4gbmV3IFVpbnQ4QXJyYXkoZSkuYnVmZmVyfX0sNTA0NDAyKHQsZSxyKXt2YXIgbj1yKDYzODIyMSk7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiB0PW4odF49dD4+PjE2LDIyNDY4MjI1MDcpLHQ9bih0Xj10Pj4+MTMsMzI2NjQ4OTkwOSksKHRePXQ+Pj4xNik+Pj4wfX0sNjM4MjIxKHQpeyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9TWF0aC5pbXVsfHxmdW5jdGlvbih0LGUpe3ZhciByPTY1NTM1JnQsbj02NTUzNSZlO3JldHVybiByKm4rKCh0Pj4+MTYmNjU1MzUpKm4rciooZT4+PjE2JjY1NTM1KTw8MTY+Pj4wKXwwfX0sMTAwNTk1KHQsZSxyKXt2YXIgbj1yKDYzODIyMSksdT1yKDUwNDQwMiksYT1yKDc1Njg1MSksbz1uZXcgVWludDMyQXJyYXkoWzM0MzI5MTgzNTMsNDYxODQ1OTA3XSk7ZnVuY3Rpb24gYyh0LGUpe3JldHVybiB0PDxlfHQ+Pj4zMi1lfXQuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2lmKGU9ZT8wfGU6MCwic3RyaW5nIj09dHlwZW9mIHQmJih0PWEodCkpLCEodCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBrZXkgdG8gYmUgQXJyYXlCdWZmZXIgb3Igc3RyaW5nIik7dmFyIHI9bmV3IFVpbnQzMkFycmF5KFtlXSk7cmV0dXJuIGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXQuYnl0ZUxlbmd0aC80fDAsdT1uZXcgVWludDMyQXJyYXkodCwwLHIpLGE9MDthPHI7YSsrKXVbYV09bih1W2FdLG9bMF0pLHVbYV09Yyh1W2FdLDE1KSx1W2FdPW4odVthXSxvWzFdKSxlWzBdPWVbMF1edVthXSxlWzBdPWMoZVswXSwxMyksZVswXT1uKGVbMF0sNSkrMzg2NDI5MjE5Nn0odCxyKSxmdW5jdGlvbih0LGUpe3ZhciByPXQuYnl0ZUxlbmd0aC80fDAsdT10LmJ5dGVMZW5ndGglNCxhPTAsZj1uZXcgVWludDhBcnJheSh0LDQqcix1KTtzd2l0Y2godSl7Y2FzZSAzOmFePWZbMl08PDE2O2Nhc2UgMjphXj1mWzFdPDw4O2Nhc2UgMTphXj1mWzBdLGE9YyhhPW4oYSxvWzBdKSwxNSksYT1uKGEsb1sxXSksZVswXT1lWzBdXmF9fSh0LHIpLGZ1bmN0aW9uKHQsZSl7ZVswXT1lWzBdXnQuYnl0ZUxlbmd0aCxlWzBdPXUoZVswXSl9KHQsciksci5idWZmZXJ9fSw0MTQxMjModCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBuPXIoMTYyMzE2KSx1PXIoOTgxNTIzKTtjb25zdCBhPSgwLG4uZGVmYXVsdCkodS5kZWZhdWx0LCJTZXQiKX0sMjY5MzY2KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PmN9KTt2YXIgbj1yKDcxMzE0OCk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5zZXQodCwiX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyIpLHRoaXN9O2NvbnN0IGE9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX19kYXRhX18uaGFzKHQpfTtmdW5jdGlvbiBvKHQpe3ZhciBlPS0xLHI9bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLl9fZGF0YV9fPW5ldyBuLmRlZmF1bHQ7KytlPHI7KXRoaXMuYWRkKHRbZV0pfW8ucHJvdG90eXBlLmFkZD1vLnByb3RvdHlwZS5wdXNoPXUsby5wcm90b3R5cGUuaGFzPWE7Y29uc3QgYz1vfSw4ODY1MTQodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+ZH0pO3ZhciBuPXIoNzM1OTgzKTtjb25zdCB1PWZ1bmN0aW9uKCl7dGhpcy5fX2RhdGFfXz1uZXcgbi5kZWZhdWx0LHRoaXMuc2l6ZT0wfTtjb25zdCBhPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX18scj1lLmRlbGV0ZSh0KTtyZXR1cm4gdGhpcy5zaXplPWUuc2l6ZSxyfTtjb25zdCBvPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9fZGF0YV9fLmdldCh0KX07Y29uc3QgYz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5oYXModCl9O3ZhciBmPXIoNjk0MjEpLHM9cig3MTMxNDgpO2NvbnN0IGk9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLl9fZGF0YV9fO2lmKHIgaW5zdGFuY2VvZiBuLmRlZmF1bHQpe3ZhciB1PXIuX19kYXRhX187aWYoIWYuZGVmYXVsdHx8dS5sZW5ndGg8MTk5KXJldHVybiB1LnB1c2goW3QsZV0pLHRoaXMuc2l6ZT0rK3Iuc2l6ZSx0aGlzO3I9dGhpcy5fX2RhdGFfXz1uZXcgcy5kZWZhdWx0KHUpfXJldHVybiByLnNldCh0LGUpLHRoaXMuc2l6ZT1yLnNpemUsdGhpc307ZnVuY3Rpb24gbCh0KXt2YXIgZT10aGlzLl9fZGF0YV9fPW5ldyBuLmRlZmF1bHQodCk7dGhpcy5zaXplPWUuc2l6ZX1sLnByb3RvdHlwZS5jbGVhcj11LGwucHJvdG90eXBlLmRlbGV0ZT1hLGwucHJvdG90eXBlLmdldD1vLGwucHJvdG90eXBlLmhhcz1jLGwucHJvdG90eXBlLnNldD1pO2NvbnN0IGQ9bH0sODY1MzMwKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPXIoOTgxNTIzKS5kZWZhdWx0LlVpbnQ4QXJyYXl9LDkyODQ1Myh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cigxNjIzMTYpLHU9cig5ODE1MjMpO2NvbnN0IGE9KDAsbi5kZWZhdWx0KSh1LmRlZmF1bHQsIldlYWtNYXAiKX0sCjk4NDEzOSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0tMSxuPW51bGw9PXQ/MDp0Lmxlbmd0aDsrK3I8biYmITEhPT1lKHRbcl0scix0KTspO3JldHVybiB0fX0sMjI0NDE2KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PmN9KTt2YXIgbj1yKDY4ODk2NSk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4gdCE9dH07Y29uc3QgYT1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBuPXItMSx1PXQubGVuZ3RoOysrbjx1OylpZih0W25dPT09ZSlyZXR1cm4gbjtyZXR1cm4tMX07Y29uc3Qgbz1mdW5jdGlvbih0LGUscil7cmV0dXJuIGU9PWU/YSh0LGUscik6KDAsbi5kZWZhdWx0KSh0LHUscil9O2NvbnN0IGM9ZnVuY3Rpb24odCxlKXtyZXR1cm4hIShudWxsPT10PzA6dC5sZW5ndGgpJiZvKHQsZSwwKT4tMX19LDgyNTAzOSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBuPS0xLHU9bnVsbD09dD8wOnQubGVuZ3RoOysrbjx1OylpZihyKGUsdFtuXSkpcmV0dXJuITA7cmV0dXJuITF9fSw4MjA5NzUodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+aX0pO2NvbnN0IG49ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9LTEsbj1BcnJheSh0KTsrK3I8dDspbltyXT1lKHIpO3JldHVybiBufTt2YXIgdT1yKDUzMTU1NyksYT1yKDI5NTYzNSksbz1yKDY1OTAxOCksYz1yKDkyMTE0MyksZj1yKDE2NTI2Nykscz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2NvbnN0IGk9ZnVuY3Rpb24odCxlKXt2YXIgcj0oMCxhLmRlZmF1bHQpKHQpLGk9IXImJigwLHUuZGVmYXVsdCkodCksbD0hciYmIWkmJigwLG8uZGVmYXVsdCkodCksZD0hciYmIWkmJiFsJiYoMCxmLmRlZmF1bHQpKHQpLHY9cnx8aXx8bHx8ZCxwPXY/bih0Lmxlbmd0aCxTdHJpbmcpOltdLGI9cC5sZW5ndGg7Zm9yKHZhciB5IGluIHQpIWUmJiFzLmNhbGwodCx5KXx8diYmKCJsZW5ndGgiPT15fHxsJiYoIm9mZnNldCI9PXl8fCJwYXJlbnQiPT15KXx8ZCYmKCJidWZmZXIiPT15fHwiYnl0ZUxlbmd0aCI9PXl8fCJieXRlT2Zmc2V0Ij09eSl8fCgwLGMuZGVmYXVsdCkoeSxiKSl8fHAucHVzaCh5KTtyZXR1cm4gcH19LDQ0ODYyNih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0tMSxuPWUubGVuZ3RoLHU9dC5sZW5ndGg7KytyPG47KXRbdStyXT1lW3JdO3JldHVybiB0fX0sMTY4NTMzKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm99KTt2YXIgbj1yKDI1NDczOCksdT1yKDkxMDc3OCksYT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2NvbnN0IG89ZnVuY3Rpb24odCxlLHIpe3ZhciBvPXRbZV07YS5jYWxsKHQsZSkmJigwLHUuZGVmYXVsdCkobyxyKSYmKHZvaWQgMCE9PXJ8fGUgaW4gdCl8fCgwLG4uZGVmYXVsdCkodCxlLHIpfX0sMjU0NzM4KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgbj1yKDM2MDQ5KTtjb25zdCB1PWZ1bmN0aW9uKHQsZSxyKXsiX19wcm90b19fIj09ZSYmbi5kZWZhdWx0PygwLG4uZGVmYXVsdCkodCxlLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCx2YWx1ZTpyLHdyaXRhYmxlOiEwfSk6dFtlXT1yfX0sNDkzMDE4KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pkh9KTt2YXIgbj1yKDg4NjUxNCksdT1yKDk4NDEzOSksYT1yKDE2ODUzMyksbz1yKDYxODU3KSxjPXIoMzA5MDgwKTtjb25zdCBmPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQmJigwLG8uZGVmYXVsdCkoZSwoMCxjLmRlZmF1bHQpKGUpLHQpfTt2YXIgcz1yKDIxNzQ1Nyk7Y29uc3QgaT1mdW5jdGlvbih0LGUpe3JldHVybiB0JiYoMCxvLmRlZmF1bHQpKGUsKDAscy5kZWZhdWx0KShlKSx0KX07dmFyIGw9cig0ODcwNjApLGQ9cig3MDU3NDkpLHY9cigyMzA5NTEpO2NvbnN0IHA9ZnVuY3Rpb24odCxlKXtyZXR1cm4oMCxvLmRlZmF1bHQpKHQsKDAsdi5kZWZhdWx0KSh0KSxlKX07dmFyIGI9cigxMTY2NDEpO2NvbnN0IHk9ZnVuY3Rpb24odCxlKXtyZXR1cm4oMCxvLmRlZmF1bHQpKHQsKDAsYi5kZWZhdWx0KSh0KSxlKX07dmFyIGg9cig4MDYyNDApLGo9cig5OTE1OTkpLGc9cig5Njk3ODUpLHc9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBfPWZ1bmN0aW9uKHQpe3ZhciBlPXQubGVuZ3RoLHI9bmV3IHQuY29uc3RydWN0b3IoZSk7cmV0dXJuIGUmJiJzdHJpbmciPT10eXBlb2YgdFswXSYmdy5jYWxsKHQsImluZGV4IikmJihyLmluZGV4PXQuaW5kZXgsci5pbnB1dD10LmlucHV0KSxyfTt2YXIgQT1yKDM3NzI1MSk7Y29uc3QgbT1mdW5jdGlvbih0LGUpe3ZhciByPWU/KDAsQS5kZWZhdWx0KSh0LmJ1ZmZlcik6dC5idWZmZXI7cmV0dXJuIG5ldyB0LmNvbnN0cnVjdG9yKHIsdC5ieXRlT2Zmc2V0LHQuYnl0ZUxlbmd0aCl9O3ZhciBPPS9cdyokLztjb25zdCB4PWZ1bmN0aW9uKHQpe3ZhciBlPW5ldyB0LmNvbnN0cnVjdG9yKHQuc291cmNlLE8uZXhlYyh0KSk7cmV0dXJuIGUubGFzdEluZGV4PXQubGFzdEluZGV4LGV9O3ZhciBVPXIoODcyOTk5KSxFPVUuZGVmYXVsdD9VLmRlZmF1bHQucHJvdG90eXBlOnZvaWQgMCxUPUU/RS52YWx1ZU9mOnZvaWQgMDtjb25zdCBTPWZ1bmN0aW9uKHQpe3JldHVybiBUP09iamVjdChULmNhbGwodCkpOnt9fTt2YXIgST1yKDEzOTA3KTtjb25zdCBNPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10LmNvbnN0cnVjdG9yO3N3aXRjaChlKXtjYXNlIltvYmplY3QgQXJyYXlCdWZmZXJdIjpyZXR1cm4oMCxBLmRlZmF1bHQpKHQpO2Nhc2UiW29iamVjdCBCb29sZWFuXSI6Y2FzZSJbb2JqZWN0IERhdGVdIjpyZXR1cm4gbmV3IG4oK3QpO2Nhc2UiW29iamVjdCBEYXRhVmlld10iOnJldHVybiBtKHQscik7Y2FzZSJbb2JqZWN0IEZsb2F0MzJBcnJheV0iOmNhc2UiW29iamVjdCBGbG9hdDY0QXJyYXldIjoKY2FzZSJbb2JqZWN0IEludDhBcnJheV0iOmNhc2UiW29iamVjdCBJbnQxNkFycmF5XSI6Y2FzZSJbb2JqZWN0IEludDMyQXJyYXldIjpjYXNlIltvYmplY3QgVWludDhBcnJheV0iOmNhc2UiW29iamVjdCBVaW50OENsYW1wZWRBcnJheV0iOmNhc2UiW29iamVjdCBVaW50MTZBcnJheV0iOmNhc2UiW29iamVjdCBVaW50MzJBcnJheV0iOnJldHVybigwLEkuZGVmYXVsdCkodCxyKTtjYXNlIltvYmplY3QgTWFwXSI6Y2FzZSJbb2JqZWN0IFNldF0iOnJldHVybiBuZXcgbjtjYXNlIltvYmplY3QgTnVtYmVyXSI6Y2FzZSJbb2JqZWN0IFN0cmluZ10iOnJldHVybiBuZXcgbih0KTtjYXNlIltvYmplY3QgUmVnRXhwXSI6cmV0dXJuIHgodCk7Y2FzZSJbb2JqZWN0IFN5bWJvbF0iOnJldHVybiBTKHQpfX07dmFyIEI9cig4MDc1NzUpLFA9cigyOTU2MzUpLGs9cig2NTkwMTgpLHo9cig2NzI1MTEpLEM9cig4ODAxMTUpLEQ9cigzNjA2MjApO2NvbnN0IEY9ZnVuY3Rpb24odCl7cmV0dXJuKDAsRC5kZWZhdWx0KSh0KSYmIltvYmplY3QgU2V0XSI9PSgwLGcuZGVmYXVsdCkodCl9O3ZhciBMPXIoODk5MzM5KSxOPXIoMzY5ODk5KSxXPU4uZGVmYXVsdCYmTi5kZWZhdWx0LmlzU2V0O2NvbnN0IFY9Vz8oMCxMLmRlZmF1bHQpKFcpOkY7dmFyICQ9IltvYmplY3QgQXJndW1lbnRzXSIsUj0iW29iamVjdCBGdW5jdGlvbl0iLHE9IltvYmplY3QgT2JqZWN0XSIsRz17fTtHWyRdPUdbIltvYmplY3QgQXJyYXldIl09R1siW29iamVjdCBBcnJheUJ1ZmZlcl0iXT1HWyJbb2JqZWN0IERhdGFWaWV3XSJdPUdbIltvYmplY3QgQm9vbGVhbl0iXT1HWyJbb2JqZWN0IERhdGVdIl09R1siW29iamVjdCBGbG9hdDMyQXJyYXldIl09R1siW29iamVjdCBGbG9hdDY0QXJyYXldIl09R1siW29iamVjdCBJbnQ4QXJyYXldIl09R1siW29iamVjdCBJbnQxNkFycmF5XSJdPUdbIltvYmplY3QgSW50MzJBcnJheV0iXT1HWyJbb2JqZWN0IE1hcF0iXT1HWyJbb2JqZWN0IE51bWJlcl0iXT1HW3FdPUdbIltvYmplY3QgUmVnRXhwXSJdPUdbIltvYmplY3QgU2V0XSJdPUdbIltvYmplY3QgU3RyaW5nXSJdPUdbIltvYmplY3QgU3ltYm9sXSJdPUdbIltvYmplY3QgVWludDhBcnJheV0iXT1HWyJbb2JqZWN0IFVpbnQ4Q2xhbXBlZEFycmF5XSJdPUdbIltvYmplY3QgVWludDE2QXJyYXldIl09R1siW29iamVjdCBVaW50MzJBcnJheV0iXT0hMCxHWyJbb2JqZWN0IEVycm9yXSJdPUdbUl09R1siW29iamVjdCBXZWFrTWFwXSJdPSExO2NvbnN0IEg9ZnVuY3Rpb24gdChlLHIsbyx2LGIsdyl7dmFyIEEsbT0xJnIsTz0yJnIseD00JnI7aWYobyYmKEE9Yj9vKGUsdixiLHcpOm8oZSkpLHZvaWQgMCE9PUEpcmV0dXJuIEE7aWYoISgwLEMuZGVmYXVsdCkoZSkpcmV0dXJuIGU7dmFyIFU9KDAsUC5kZWZhdWx0KShlKTtpZihVKXtpZihBPV8oZSksIW0pcmV0dXJuKDAsZC5kZWZhdWx0KShlLEEpfWVsc2V7dmFyIEU9KDAsZy5kZWZhdWx0KShlKSxUPUU9PVJ8fCJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSI9PUU7aWYoKDAsay5kZWZhdWx0KShlKSlyZXR1cm4oMCxsLmRlZmF1bHQpKGUsbSk7aWYoRT09cXx8RT09JHx8VCYmIWIpe2lmKEE9T3x8VD97fTooMCxCLmRlZmF1bHQpKGUpLCFtKXJldHVybiBPP3koZSxpKEEsZSkpOnAoZSxmKEEsZSkpfWVsc2V7aWYoIUdbRV0pcmV0dXJuIGI/ZTp7fTtBPU0oZSxFLG0pfX13fHwodz1uZXcgbi5kZWZhdWx0KTt2YXIgUz13LmdldChlKTtpZihTKXJldHVybiBTO3cuc2V0KGUsQSksVihlKT9lLmZvckVhY2goKGZ1bmN0aW9uKG4pe0EuYWRkKHQobixyLG8sbixlLHcpKX0pKTooMCx6LmRlZmF1bHQpKGUpJiZlLmZvckVhY2goKGZ1bmN0aW9uKG4sdSl7QS5zZXQodSx0KG4scixvLHUsZSx3KSl9KSk7dmFyIEk9eD9PP2ouZGVmYXVsdDpoLmRlZmF1bHQ6Tz9zLmRlZmF1bHQ6Yy5kZWZhdWx0LEQ9VT92b2lkIDA6SShlKTtyZXR1cm4oMCx1LmRlZmF1bHQpKER8fGUsKGZ1bmN0aW9uKG4sdSl7RCYmKG49ZVt1PW5dKSwoMCxhLmRlZmF1bHQpKEEsdSx0KG4scixvLHUsZSx3KSl9KSksQX19LDg1MTA4Mih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cig4ODAxMTUpLHU9T2JqZWN0LmNyZWF0ZTtjb25zdCBhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe31yZXR1cm4gZnVuY3Rpb24oZSl7aWYoISgwLG4uZGVmYXVsdCkoZSkpcmV0dXJue307aWYodSlyZXR1cm4gdShlKTt0LnByb3RvdHlwZT1lO3ZhciByPW5ldyB0O3JldHVybiB0LnByb3RvdHlwZT12b2lkIDAscn19KCl9LDY4ODk2NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUscixuKXtmb3IodmFyIHU9dC5sZW5ndGgsYT1yKyhuPzE6LTEpO24/YS0tOisrYTx1OylpZihlKHRbYV0sYSx0KSlyZXR1cm4gYTtyZXR1cm4tMX19LDkxNjA4NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cig0NDg2MjYpLHU9cigyOTU2MzUpO2NvbnN0IGE9ZnVuY3Rpb24odCxlLHIpe3ZhciBhPWUodCk7cmV0dXJuKDAsdS5kZWZhdWx0KSh0KT9hOigwLG4uZGVmYXVsdCkoYSxyKHQpKX19LDgzMDg3NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig2OTM5NDEpO2NvbnN0IHU9KDAscigxMzk4NDkpLmRlZmF1bHQpKE9iamVjdC5rZXlzLE9iamVjdCk7dmFyIGE9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBvPWZ1bmN0aW9uKHQpe2lmKCEoMCxuLmRlZmF1bHQpKHQpKXJldHVybiB1KHQpO3ZhciBlPVtdO2Zvcih2YXIgciBpbiBPYmplY3QodCkpYS5jYWxsKHQscikmJiJjb25zdHJ1Y3RvciIhPXImJmUucHVzaChyKTtyZXR1cm4gZX19LDg5OTMzOSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQoZSl9fX0sNzEyODAxKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuaGFzKGUpfX0sCjM3NzI1MSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT51fSk7dmFyIG49cig4NjUzMzApO2NvbnN0IHU9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IHQuY29uc3RydWN0b3IodC5ieXRlTGVuZ3RoKTtyZXR1cm4gbmV3IG4uZGVmYXVsdChlKS5zZXQobmV3IG4uZGVmYXVsdCh0KSksZX19LDQ4NzA2MCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5mfSk7dmFyIG49cig5ODE1MjMpLHU9Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiZleHBvcnRzJiYhZXhwb3J0cy5ub2RlVHlwZSYmZXhwb3J0cyxhPXUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUmJiFtb2R1bGUubm9kZVR5cGUmJm1vZHVsZSxvPWEmJmEuZXhwb3J0cz09PXU/bi5kZWZhdWx0LkJ1ZmZlcjp2b2lkIDAsYz1vP28uYWxsb2NVbnNhZmU6dm9pZCAwO2NvbnN0IGY9ZnVuY3Rpb24odCxlKXtpZihlKXJldHVybiB0LnNsaWNlKCk7dmFyIHI9dC5sZW5ndGgsbj1jP2Mocik6bmV3IHQuY29uc3RydWN0b3Iocik7cmV0dXJuIHQuY29weShuKSxufX0sMTM5MDcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+dX0pO3ZhciBuPXIoMzc3MjUxKTtjb25zdCB1PWZ1bmN0aW9uKHQsZSl7dmFyIHI9ZT8oMCxuLmRlZmF1bHQpKHQuYnVmZmVyKTp0LmJ1ZmZlcjtyZXR1cm4gbmV3IHQuY29uc3RydWN0b3Iocix0LmJ5dGVPZmZzZXQsdC5sZW5ndGgpfX0sNzA1NzQ5KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKHQsZSl7dmFyIHI9LTEsbj10Lmxlbmd0aDtmb3IoZXx8KGU9QXJyYXkobikpOysrcjxuOyllW3JdPXRbcl07cmV0dXJuIGV9fSw2MTg1Nyh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cigxNjg1MzMpLHU9cigyNTQ3MzgpO2NvbnN0IGE9ZnVuY3Rpb24odCxlLHIsYSl7dmFyIG89IXI7cnx8KHI9e30pO2Zvcih2YXIgYz0tMSxmPWUubGVuZ3RoOysrYzxmOyl7dmFyIHM9ZVtjXSxpPWE/YShyW3NdLHRbc10scyxyLHQpOnZvaWQgMDt2b2lkIDA9PT1pJiYoaT10W3NdKSxvPygwLHUuZGVmYXVsdCkocixzLGkpOigwLG4uZGVmYXVsdCkocixzLGkpfXJldHVybiByfX0sMzYwNDkodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+dX0pO3ZhciBuPXIoMTYyMzE2KTtjb25zdCB1PWZ1bmN0aW9uKCl7dHJ5e3ZhciB0PSgwLG4uZGVmYXVsdCkoT2JqZWN0LCJkZWZpbmVQcm9wZXJ0eSIpO3JldHVybiB0KHt9LCIiLHt9KSx0fWNhdGNoKHQpe319KCl9LDgwNjI0MCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig5MTYwODUpLHU9cigyMzA5NTEpLGE9cigzMDkwODApO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuKDAsbi5kZWZhdWx0KSh0LGEuZGVmYXVsdCx1LmRlZmF1bHQpfX0sOTkxNTk5KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm99KTt2YXIgbj1yKDkxNjA4NSksdT1yKDExNjY0MSksYT1yKDIxNzQ1Nyk7Y29uc3Qgbz1mdW5jdGlvbih0KXtyZXR1cm4oMCxuLmRlZmF1bHQpKHQsYS5kZWZhdWx0LHUuZGVmYXVsdCl9fSwzOTI1NDUodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49KDAscigxMzk4NDkpLmRlZmF1bHQpKE9iamVjdC5nZXRQcm90b3R5cGVPZixPYmplY3QpfSwyMzA5NTEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+Y30pO2NvbnN0IG49ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9LTEsbj1udWxsPT10PzA6dC5sZW5ndGgsdT0wLGE9W107KytyPG47KXt2YXIgbz10W3JdO2UobyxyLHQpJiYoYVt1KytdPW8pfXJldHVybiBhfTt2YXIgdT1yKDE3NzY1NSksYT1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLG89T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scztjb25zdCBjPW8/ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/W106KHQ9T2JqZWN0KHQpLG4obyh0KSwoZnVuY3Rpb24oZSl7cmV0dXJuIGEuY2FsbCh0LGUpfSkpKX06dS5kZWZhdWx0fSwxMTY2NDEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+Y30pO3ZhciBuPXIoNDQ4NjI2KSx1PXIoMzkyNTQ1KSxhPXIoMjMwOTUxKSxvPXIoMTc3NjU1KTtjb25zdCBjPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM/ZnVuY3Rpb24odCl7Zm9yKHZhciBlPVtdO3Q7KSgwLG4uZGVmYXVsdCkoZSwoMCxhLmRlZmF1bHQpKHQpKSx0PSgwLHUuZGVmYXVsdCkodCk7cmV0dXJuIGV9Om8uZGVmYXVsdH0sOTY5Nzg1KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm19KTt2YXIgbj1yKDE2MjMxNiksdT1yKDk4MTUyMyk7Y29uc3QgYT0oMCxuLmRlZmF1bHQpKHUuZGVmYXVsdCwiRGF0YVZpZXciKTt2YXIgbz1yKDY5NDIxKTtjb25zdCBjPSgwLG4uZGVmYXVsdCkodS5kZWZhdWx0LCJQcm9taXNlIik7dmFyIGY9cig0MTQxMjMpLHM9cig5Mjg0NTMpLGk9cigxNzg0OTcpLGw9cig3MzA1MDMpLGQ9IltvYmplY3QgTWFwXSIsdj0iW29iamVjdCBQcm9taXNlXSIscD0iW29iamVjdCBTZXRdIixiPSJbb2JqZWN0IFdlYWtNYXBdIix5PSJbb2JqZWN0IERhdGFWaWV3XSIsaD0oMCxsLmRlZmF1bHQpKGEpLGo9KDAsbC5kZWZhdWx0KShvLmRlZmF1bHQpLGc9KDAsbC5kZWZhdWx0KShjKSx3PSgwLGwuZGVmYXVsdCkoZi5kZWZhdWx0KSxfPSgwLGwuZGVmYXVsdCkocy5kZWZhdWx0KSxBPWkuZGVmYXVsdDsoYSYmQShuZXcgYShuZXcgQXJyYXlCdWZmZXIoMSkpKSE9eXx8by5kZWZhdWx0JiZBKG5ldyBvLmRlZmF1bHQpIT1kfHxjJiZBKGMucmVzb2x2ZSgpKSE9dnx8Zi5kZWZhdWx0JiZBKG5ldyBmLmRlZmF1bHQpIT1wfHxzLmRlZmF1bHQmJkEobmV3IHMuZGVmYXVsdCkhPWIpJiYoQT1mdW5jdGlvbih0KXt2YXIgZT0oMCxpLmRlZmF1bHQpKHQpLHI9IltvYmplY3QgT2JqZWN0XSI9PWU/dC5jb25zdHJ1Y3Rvcjp2b2lkIDAsbj1yPygwLGwuZGVmYXVsdCkocik6IiI7aWYobilzd2l0Y2gobil7Y2FzZSBoOgpyZXR1cm4geTtjYXNlIGo6cmV0dXJuIGQ7Y2FzZSBnOnJldHVybiB2O2Nhc2UgdzpyZXR1cm4gcDtjYXNlIF86cmV0dXJuIGJ9cmV0dXJuIGV9KTtjb25zdCBtPUF9LDgwNzU3NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig4NTEwODIpLHU9cigzOTI1NDUpLGE9cig2OTM5NDEpO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuImZ1bmN0aW9uIiE9dHlwZW9mIHQuY29uc3RydWN0b3J8fCgwLGEuZGVmYXVsdCkodCk/e306KDAsbi5kZWZhdWx0KSgoMCx1LmRlZmF1bHQpKHQpKX19LDkyMTE0Myh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT51fSk7dmFyIG49L14oPzowfFsxLTldXGQqKSQvO2NvbnN0IHU9ZnVuY3Rpb24odCxlKXt2YXIgcj10eXBlb2YgdDtyZXR1cm4hIShlPWU/PzkwMDcxOTkyNTQ3NDA5OTEpJiYoIm51bWJlciI9PXJ8fCJzeW1ib2wiIT1yJiZuLnRlc3QodCkpJiZ0Pi0xJiZ0JTE9PTAmJnQ8ZX19LDY5Mzk0MSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT51fSk7dmFyIG49T2JqZWN0LnByb3RvdHlwZTtjb25zdCB1PWZ1bmN0aW9uKHQpe3ZhciBlPXQmJnQuY29uc3RydWN0b3I7cmV0dXJuIHQ9PT0oImZ1bmN0aW9uIj09dHlwZW9mIGUmJmUucHJvdG90eXBlfHxuKX19LDM2OTg5OSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5jfSk7dmFyIG49cig2MDI5NDIpLHU9Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiZleHBvcnRzJiYhZXhwb3J0cy5ub2RlVHlwZSYmZXhwb3J0cyxhPXUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUmJiFtb2R1bGUubm9kZVR5cGUmJm1vZHVsZSxvPWEmJmEuZXhwb3J0cz09PXUmJm4uZGVmYXVsdC5wcm9jZXNzO2NvbnN0IGM9ZnVuY3Rpb24oKXt0cnl7dmFyIHQ9YSYmYS5yZXF1aXJlJiZhLnJlcXVpcmUoInV0aWwiKS50eXBlcztyZXR1cm4gdHx8byYmby5iaW5kaW5nJiZvLmJpbmRpbmcoInV0aWwiKX1jYXRjaCh0KXt9fSgpfSwxMzk4NDkodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49ZnVuY3Rpb24odCxlKXtyZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIHQoZShyKSl9fX0sOTcyMDE3KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKHQpe3ZhciBlPS0xLHI9QXJyYXkodC5zaXplKTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbih0KXtyWysrZV09dH0pKSxyfX0sMjAzNjgxKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgbj1yKDQ5MzAxOCk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4oMCxuLmRlZmF1bHQpKHQsNSl9fSw1NDc4NTEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+c30pO3ZhciBuPXIoODgwMTE1KSx1PXIoOTgxNTIzKTtjb25zdCBhPWZ1bmN0aW9uKCl7cmV0dXJuIHUuZGVmYXVsdC5EYXRlLm5vdygpfTt2YXIgbz1yKDQwNjQ0OSksYz1NYXRoLm1heCxmPU1hdGgubWluO2NvbnN0IHM9ZnVuY3Rpb24odCxlLHIpe3ZhciB1LHMsaSxsLGQsdixwPTAsYj0hMSx5PSExLGg9ITA7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhwZWN0ZWQgYSBmdW5jdGlvbiIpO2Z1bmN0aW9uIGooZSl7dmFyIHI9dSxuPXM7cmV0dXJuIHU9cz12b2lkIDAscD1lLGw9dC5hcHBseShuLHIpfWZ1bmN0aW9uIGcodCl7dmFyIHI9dC12O3JldHVybiB2b2lkIDA9PT12fHxyPj1lfHxyPDB8fHkmJnQtcD49aX1mdW5jdGlvbiB3KCl7dmFyIHQ9YSgpO2lmKGcodCkpcmV0dXJuIF8odCk7ZD1zZXRUaW1lb3V0KHcsZnVuY3Rpb24odCl7dmFyIHI9ZS0odC12KTtyZXR1cm4geT9mKHIsaS0odC1wKSk6cn0odCkpfWZ1bmN0aW9uIF8odCl7cmV0dXJuIGQ9dm9pZCAwLGgmJnU/aih0KToodT1zPXZvaWQgMCxsKX1mdW5jdGlvbiBBKCl7dmFyIHQ9YSgpLHI9Zyh0KTtpZih1PWFyZ3VtZW50cyxzPXRoaXMsdj10LHIpe2lmKHZvaWQgMD09PWQpcmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBwPXQsZD1zZXRUaW1lb3V0KHcsZSksYj9qKHQpOmx9KHYpO2lmKHkpcmV0dXJuIGNsZWFyVGltZW91dChkKSxkPXNldFRpbWVvdXQodyxlKSxqKHYpfXJldHVybiB2b2lkIDA9PT1kJiYoZD1zZXRUaW1lb3V0KHcsZSkpLGx9cmV0dXJuIGU9KDAsby5kZWZhdWx0KShlKXx8MCwoMCxuLmRlZmF1bHQpKHIpJiYoYj0hIXIubGVhZGluZyxpPSh5PSJtYXhXYWl0ImluIHIpP2MoKDAsby5kZWZhdWx0KShyLm1heFdhaXQpfHwwLGUpOmksaD0idHJhaWxpbmciaW4gcj8hIXIudHJhaWxpbmc6aCksQS5jYW5jZWw9ZnVuY3Rpb24oKXt2b2lkIDAhPT1kJiZjbGVhclRpbWVvdXQoZCkscD0wLHU9dj1zPWQ9dm9pZCAwfSxBLmZsdXNoPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMD09PWQ/bDpfKGEoKSl9LEF9fSw1MzE1NTcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+aX0pO3ZhciBuPXIoMTc4NDk3KSx1PXIoMzYwNjIwKTtjb25zdCBhPWZ1bmN0aW9uKHQpe3JldHVybigwLHUuZGVmYXVsdCkodCkmJiJbb2JqZWN0IEFyZ3VtZW50c10iPT0oMCxuLmRlZmF1bHQpKHQpfTt2YXIgbz1PYmplY3QucHJvdG90eXBlLGM9by5oYXNPd25Qcm9wZXJ0eSxmPW8ucHJvcGVydHlJc0VudW1lcmFibGUscz1hKGZ1bmN0aW9uKCl7cmV0dXJuIGFyZ3VtZW50c30oKSk/YTpmdW5jdGlvbih0KXtyZXR1cm4oMCx1LmRlZmF1bHQpKHQpJiZjLmNhbGwodCwiY2FsbGVlIikmJiFmLmNhbGwodCwiY2FsbGVlIil9O2NvbnN0IGk9c30sMjk1NjM1KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPUFycmF5LmlzQXJyYXl9LDM5MjkwOCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cig5MjgxMzIpLHU9cig5OTA2MDQpO2NvbnN0IGE9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGwhPXQmJigwLHUuZGVmYXVsdCkodC5sZW5ndGgpJiYhKDAsbi5kZWZhdWx0KSh0KX19LDY1OTAxOCh0LGUscil7CiJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+Zn0pO3ZhciBuPXIoOTgxNTIzKTtjb25zdCB1PWZ1bmN0aW9uKCl7cmV0dXJuITF9O3ZhciBhPSJvYmplY3QiPT10eXBlb2YgZXhwb3J0cyYmZXhwb3J0cyYmIWV4cG9ydHMubm9kZVR5cGUmJmV4cG9ydHMsbz1hJiYib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmbW9kdWxlJiYhbW9kdWxlLm5vZGVUeXBlJiZtb2R1bGUsYz1vJiZvLmV4cG9ydHM9PT1hP24uZGVmYXVsdC5CdWZmZXI6dm9pZCAwO2NvbnN0IGY9KGM/Yy5pc0J1ZmZlcjp2b2lkIDApfHx1fSw5OTA2MDQodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49ZnVuY3Rpb24odCl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0JiZ0Pi0xJiZ0JTE9PTAmJnQ8PTkwMDcxOTkyNTQ3NDA5OTF9fSw2NzI1MTEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+c30pO3ZhciBuPXIoOTY5Nzg1KSx1PXIoMzYwNjIwKTtjb25zdCBhPWZ1bmN0aW9uKHQpe3JldHVybigwLHUuZGVmYXVsdCkodCkmJiJbb2JqZWN0IE1hcF0iPT0oMCxuLmRlZmF1bHQpKHQpfTt2YXIgbz1yKDg5OTMzOSksYz1yKDM2OTg5OSksZj1jLmRlZmF1bHQmJmMuZGVmYXVsdC5pc01hcDtjb25zdCBzPWY/KDAsby5kZWZhdWx0KShmKTphfSwzNjA2MjAodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49ZnVuY3Rpb24odCl7cmV0dXJuIG51bGwhPXQmJiJvYmplY3QiPT10eXBlb2YgdH19LDcxNzMzMih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cigxNzg0OTcpLHU9cigzNjA2MjApO2NvbnN0IGE9ZnVuY3Rpb24odCl7cmV0dXJuInN5bWJvbCI9PXR5cGVvZiB0fHwoMCx1LmRlZmF1bHQpKHQpJiYiW29iamVjdCBTeW1ib2xdIj09KDAsbi5kZWZhdWx0KSh0KX19LDE2NTI2Nyh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5sfSk7dmFyIG49cigxNzg0OTcpLHU9cig5OTA2MDQpLGE9cigzNjA2MjApLG89e307b1siW29iamVjdCBGbG9hdDMyQXJyYXldIl09b1siW29iamVjdCBGbG9hdDY0QXJyYXldIl09b1siW29iamVjdCBJbnQ4QXJyYXldIl09b1siW29iamVjdCBJbnQxNkFycmF5XSJdPW9bIltvYmplY3QgSW50MzJBcnJheV0iXT1vWyJbb2JqZWN0IFVpbnQ4QXJyYXldIl09b1siW29iamVjdCBVaW50OENsYW1wZWRBcnJheV0iXT1vWyJbb2JqZWN0IFVpbnQxNkFycmF5XSJdPW9bIltvYmplY3QgVWludDMyQXJyYXldIl09ITAsb1siW29iamVjdCBBcmd1bWVudHNdIl09b1siW29iamVjdCBBcnJheV0iXT1vWyJbb2JqZWN0IEFycmF5QnVmZmVyXSJdPW9bIltvYmplY3QgQm9vbGVhbl0iXT1vWyJbb2JqZWN0IERhdGFWaWV3XSJdPW9bIltvYmplY3QgRGF0ZV0iXT1vWyJbb2JqZWN0IEVycm9yXSJdPW9bIltvYmplY3QgRnVuY3Rpb25dIl09b1siW29iamVjdCBNYXBdIl09b1siW29iamVjdCBOdW1iZXJdIl09b1siW29iamVjdCBPYmplY3RdIl09b1siW29iamVjdCBSZWdFeHBdIl09b1siW29iamVjdCBTZXRdIl09b1siW29iamVjdCBTdHJpbmddIl09b1siW29iamVjdCBXZWFrTWFwXSJdPSExO2NvbnN0IGM9ZnVuY3Rpb24odCl7cmV0dXJuKDAsYS5kZWZhdWx0KSh0KSYmKDAsdS5kZWZhdWx0KSh0Lmxlbmd0aCkmJiEhb1soMCxuLmRlZmF1bHQpKHQpXX07dmFyIGY9cig4OTkzMzkpLHM9cigzNjk4OTkpLGk9cy5kZWZhdWx0JiZzLmRlZmF1bHQuaXNUeXBlZEFycmF5O2NvbnN0IGw9aT8oMCxmLmRlZmF1bHQpKGkpOmN9LDMwOTA4MCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig4MjA5NzUpLHU9cig4MzA4NzUpLGE9cigzOTI5MDgpO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuKDAsYS5kZWZhdWx0KSh0KT8oMCxuLmRlZmF1bHQpKHQpOigwLHUuZGVmYXVsdCkodCl9fSwyMTc0NTcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+aX0pO3ZhciBuPXIoODIwOTc1KSx1PXIoODgwMTE1KSxhPXIoNjkzOTQxKTtjb25zdCBvPWZ1bmN0aW9uKHQpe3ZhciBlPVtdO2lmKG51bGwhPXQpZm9yKHZhciByIGluIE9iamVjdCh0KSllLnB1c2gocik7cmV0dXJuIGV9O3ZhciBjPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7Y29uc3QgZj1mdW5jdGlvbih0KXtpZighKDAsdS5kZWZhdWx0KSh0KSlyZXR1cm4gbyh0KTt2YXIgZT0oMCxhLmRlZmF1bHQpKHQpLHI9W107Zm9yKHZhciBuIGluIHQpKCJjb25zdHJ1Y3RvciIhPW58fCFlJiZjLmNhbGwodCxuKSkmJnIucHVzaChuKTtyZXR1cm4gcn07dmFyIHM9cigzOTI5MDgpO2NvbnN0IGk9ZnVuY3Rpb24odCl7cmV0dXJuKDAscy5kZWZhdWx0KSh0KT8oMCxuLmRlZmF1bHQpKHQsITApOmYodCl9fSw2NjMwNDYodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBuPXIoNzEzMTQ4KTtmdW5jdGlvbiB1KHQsZSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHR8fG51bGwhPWUmJiJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGEgZnVuY3Rpb24iKTt2YXIgcj1mdW5jdGlvbigpe3ZhciBuPWFyZ3VtZW50cyx1PWU/ZS5hcHBseSh0aGlzLG4pOm5bMF0sYT1yLmNhY2hlO2lmKGEuaGFzKHUpKXJldHVybiBhLmdldCh1KTt2YXIgbz10LmFwcGx5KHRoaXMsbik7cmV0dXJuIHIuY2FjaGU9YS5zZXQodSxvKXx8YSxvfTtyZXR1cm4gci5jYWNoZT1uZXcodS5DYWNoZXx8bi5kZWZhdWx0KSxyfXUuQ2FjaGU9bi5kZWZhdWx0O2NvbnN0IGE9dX0sODYyMzg4KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKCl7fX0sMTc3NjU1KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKCl7cmV0dXJuW119fSw1ODcxNjgodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBuPXIoNTQ3ODUxKSx1PXIoODgwMTE1KTtjb25zdCBhPWZ1bmN0aW9uKHQsZSxyKXsKdmFyIGE9ITAsbz0hMDtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBhIGZ1bmN0aW9uIik7cmV0dXJuKDAsdS5kZWZhdWx0KShyKSYmKGE9ImxlYWRpbmciaW4gcj8hIXIubGVhZGluZzphLG89InRyYWlsaW5nImluIHI/ISFyLnRyYWlsaW5nOm8pLCgwLG4uZGVmYXVsdCkodCxlLHtsZWFkaW5nOmEsbWF4V2FpdDplLHRyYWlsaW5nOm99KX19LDQwNjQ0OSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT52fSk7dmFyIG49L1xzLztjb25zdCB1PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10Lmxlbmd0aDtlLS0mJm4udGVzdCh0LmNoYXJBdChlKSk7KTtyZXR1cm4gZX07dmFyIGE9L15ccysvO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuIHQ/dC5zbGljZSgwLHUodCkrMSkucmVwbGFjZShhLCIiKTp0fTt2YXIgYz1yKDg4MDExNSksZj1yKDcxNzMzMikscz0vXlstK10weFswLTlhLWZdKyQvaSxpPS9eMGJbMDFdKyQvaSxsPS9eMG9bMC03XSskL2ksZD1wYXJzZUludDtjb25zdCB2PWZ1bmN0aW9uKHQpe2lmKCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gdDtpZigoMCxmLmRlZmF1bHQpKHQpKXJldHVybiBOYU47aWYoKDAsYy5kZWZhdWx0KSh0KSl7dmFyIGU9ImZ1bmN0aW9uIj09dHlwZW9mIHQudmFsdWVPZj90LnZhbHVlT2YoKTp0O3Q9KDAsYy5kZWZhdWx0KShlKT9lKyIiOmV9aWYoInN0cmluZyIhPXR5cGVvZiB0KXJldHVybiAwPT09dD90Oit0O3Q9byh0KTt2YXIgcj1pLnRlc3QodCk7cmV0dXJuIHJ8fGwudGVzdCh0KT9kKHQuc2xpY2UoMikscj8yOjgpOnMudGVzdCh0KT9OYU46K3R9fSwzNTI4MzcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+ZH0pO3ZhciBuPXIoMjY5MzY2KSx1PXIoMjI0NDE2KSxhPXIoODI1MDM5KSxvPXIoNzEyODAxKSxjPXIoNDE0MTIzKSxmPXIoODYyMzg4KSxzPXIoOTcyMDE3KTtjb25zdCBpPWMuZGVmYXVsdCYmMS8oMCxzLmRlZmF1bHQpKG5ldyBjLmRlZmF1bHQoWywtMF0pKVsxXT09MS8wP2Z1bmN0aW9uKHQpe3JldHVybiBuZXcgYy5kZWZhdWx0KHQpfTpmLmRlZmF1bHQ7Y29uc3QgbD1mdW5jdGlvbih0LGUscil7dmFyIGM9LTEsZj11LmRlZmF1bHQsbD10Lmxlbmd0aCxkPSEwLHY9W10scD12O2lmKHIpZD0hMSxmPWEuZGVmYXVsdDtlbHNlIGlmKGw+PTIwMCl7dmFyIGI9ZT9udWxsOmkodCk7aWYoYilyZXR1cm4oMCxzLmRlZmF1bHQpKGIpO2Q9ITEsZj1vLmRlZmF1bHQscD1uZXcgbi5kZWZhdWx0fWVsc2UgcD1lP1tdOnY7dDpmb3IoOysrYzxsOyl7dmFyIHk9dFtjXSxoPWU/ZSh5KTp5O2lmKHk9cnx8MCE9PXk/eTowLGQmJmg9PWgpe2Zvcih2YXIgaj1wLmxlbmd0aDtqLS07KWlmKHBbal09PT1oKWNvbnRpbnVlIHQ7ZSYmcC5wdXNoKGgpLHYucHVzaCh5KX1lbHNlIGYocCxoLHIpfHwocCE9PXYmJnAucHVzaChoKSx2LnB1c2goeSkpfXJldHVybiB2fTtjb25zdCBkPWZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0Lmxlbmd0aD9sKHQpOltdfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/Error.html","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.957Z","timestamp":1785120633957,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /Error.html HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 404 Not Found\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: text/html; charset=iso-8859-1\r\nContent-Length: 283\r\nConnection: keep-alive\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"Not Found","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":283,"size_decoded":458,"mime_type":"text/html; charset=iso-8859-1","magic":"HTML document, ASCII text","md5":"f973e61ffb0a7990eb10a464b8dbe3f4","sha1":"384889221664f1536b04a83e93f0612e77015ca5","sha256":"fec9552fb9862e2786d6eb7ce34088e31244c829bb219584c01a52365b5dd1bd","sha512":"d5ebecf282277191a3eb8bd5661e7e0bcf11f30b567720f6f188f5f89b26697cc86104cfd1cda038381ef77490c75119d0da94c0114ee4335af9e14e59abd57a","ssdeep":"","tlshash":"f3d02b9e5043638b481315907ac525c2368d13f6a43b85e82d86e4cb52d867fcddaa9c","first_seen":"2026-07-27T02:45:25.079023Z","last_seen":"2026-07-27T02:59:54.542762Z","times_seen":4,"resource_available":false,"data":"PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTCAyLjAvL0VOIj4KPGh0bWw+PGhlYWQ+Cjx0aXRsZT40MDQgTm90IEZvdW5kPC90aXRsZT4KPC9oZWFkPjxib2R5Pgo8aDE+Tm90IEZvdW5kPC9oMT4KPHA+VGhlIHJlcXVlc3RlZCBVUkwgd2FzIG5vdCBmb3VuZCBvbiB0aGlzIHNlcnZlci48L3A+Cjxocj4KPGFkZHJlc3M+QXBhY2hlLzIuNC41OCAoVWJ1bnR1KSBTZXJ2ZXIgYXQgMjQ3b3B0aW9udHJhZGVmeC5jb20gUG9ydCA0NDM8L2FkZHJlc3M+CjwvYm9keT48L2h0bWw+Cg=="}},"time_used":31,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":31,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/51508.767219283c65f4d4ca6e.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.981Z","timestamp":1785120633981,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/51508.767219283c65f4d4ca6e.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b75-9e1\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:25 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 380f944c126431fe4245779221c71be7\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2529,"size_decoded":1498,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2529), with no line terminators","md5":"76e3b34ef660092cb6ebcda4b1e8a0b0","sha1":"d997b9296e92721e4cfa8c5cd062150dd5a72d76","sha256":"1f4abc998292aaf8b21eb2933273369f5d7611063f098e70b47fbd27258859c0","sha512":"91d3087923640eeca24866262f097a03a730ca9ecbcab63c5851539144aca3fc7b28c2b2a340a3318f5a5f4149e8f995999a8ec0680a94a7780ac64e2ce591a3","ssdeep":"","tlshash":"6651481fb3fb1d212c234b0047d56e432330e5a315e36aece810d1ae9eda9de39b1285","first_seen":"2026-04-15T09:47:56.501715Z","last_seen":"2026-07-27T05:15:36.98548Z","times_seen":4555,"resource_available":false,"data":"LnR2LWRhdGEtbW9kZXt2ZXJ0aWNhbC1hbGlnbjp0b3B9LnR2LWRhdGEtbW9kZS0tcmVhbHRpbWV7Y29sb3I6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKX0udHYtZGF0YS1tb2RlLS1zbmFwc2hvdHtjb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTQwMCl9LnR2LWRhdGEtbW9kZS0tZW5kb2ZkYXl7Y29sb3I6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS00MDApfS50di1kYXRhLW1vZGUtLWNvbm5lY3RpbmcsLnR2LWRhdGEtbW9kZS0tZm9yYmlkZGVuLC50di1kYXRhLW1vZGUtLWludmFsaWQsLnR2LWRhdGEtbW9kZS0tbG9hZGluZ3t2aXNpYmlsaXR5OmhpZGRlbn0udHYtZGF0YS1tb2RlLS1kZWxheWVke2NvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKX0udHYtZGF0YS1tb2RlLS1mb3ItdGlja2VyLWxhc3R7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NzAwO21hcmdpbi1pbmxpbmUtc3RhcnQ6MnB4O3Bvc2l0aW9uOmFic29sdXRlfS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3ItdGlja2VyLWxhc3R7ZGlzcGxheTpub25lfS50di1kYXRhLW1vZGUtLWZvci1zdGlja3ktc3ltYm9sLWhlYWRlciwudHYtZGF0YS1tb2RlLS1mb3ItdGlja2VyLXRhcGV7Zm9udC1zaXplOjEwcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMnB4KX0udHYtZGF0YS1tb2RlLS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXI6ZGlyKHJ0bCksLnR2LWRhdGEtbW9kZS0tZm9yLXRpY2tlci10YXBlOmRpcihydGwpe3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0ycHgpfS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXIsLnR2LWRhdGEtbW9kZS0tcmVhbHRpbWUtLWZvci10aWNrZXItdGFwZXtkaXNwbGF5Om5vbmV9LnR2LWRhdGEtbW9kZS0tZm9yLXRpY2tlci1oZWFkZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEwcHg7bGluZS1oZWlnaHQ6bm9ybWFsO21hcmdpbi1pbmxpbmUtc3RhcnQ6MXB4O21hcmdpbi10b3A6NHB4O3ZlcnRpY2FsLWFsaWduOnRvcH0udHYtZGF0YS1tb2RlLS1yZWFsdGltZS0tZm9yLXRpY2tlci1oZWFkZXJ7ZGlzcGxheTpub25lfS50di1kYXRhLW1vZGUtLWZvci10aWNrZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEwcHg7bWFyZ2luLWxlZnQ6MnB4fS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3ItdGlja2VyLC50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1uby1yZWFsdGltZXtkaXNwbGF5Om5vbmV9LnR2LWRhdGEtbW9kZS0tcmVwbGF5e2NvbG9yOnZhcigtLWNvbG9yLXJlcGxheS1kYXRhLW1vZGUpfS50di1kYXRhLW1vZGUtLWZvci1jaGFydHtmbG9hdDppbmxpbmUtZW5kO2xpbmUtaGVpZ2h0OjE2cHg7bWFyZ2luLWlubGluZS1zdGFydDo2cHh9LnR2LWRhdGEtbW9kZS0tY29ubmVjdGluZy0tZm9yLWNoYXJ0LC50di1kYXRhLW1vZGUtLWxvYWRpbmctLWZvci1jaGFydHtkaXNwbGF5Om5vbmV9LnR2LWRhdGEtbW9kZS0tZm9yYmlkZGVuLS1mb3ItY2hhcnQsLnR2LWRhdGEtbW9kZS0taW52YWxpZC0tZm9yLWNoYXJ0e2NvbG9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7dmlzaWJpbGl0eTp2aXNpYmxlfS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3ItY2hhcnR7ZGlzcGxheTpub25lfS50di1kYXRhLW1vZGUtLWZvci1jaGFydC50di1kYXRhLW1vZGUtLXJlcGxheXttYXJnaW4tbGVmdDowfS50di1kYXRhLW1vZGUtLWZvci10aWNrZXItY2FyZHtkaXNwbGF5OmlubGluZTttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0udHYtZGF0YS1tb2RlLS1mb3Itc3ltYm9sLXdpZGdldHtkaXNwbGF5OmlubGluZTtmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoxN3B4O21hcmdpbi1sZWZ0OjNweH0udHYtZGF0YS1tb2RlLS1yZWFsdGltZS50di1kYXRhLW1vZGUtLWZvci1zeW1ib2wtd2lkZ2V0LC50di1kYXRhLW1vZGUtLXJlYWx0aW1lLnR2LWRhdGEtbW9kZS0tZm9yLXRpY2tlci1jYXJke2Rpc3BsYXk6bm9uZX0udHYtZGF0YS1tb2RlLS1mb3Itd2F0Y2gtbGlzdHtmb250LXNpemU6MTBweDtsaW5lLWhlaWdodDoxNHB4O292ZXJmbG93OnZpc2libGU7cG9pbnRlci1ldmVudHM6YXV0bzt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LWRhdGEtbW9kZS0tZm9yLXdhdGNoLWxpc3Q6ZGlyKHJ0bCl7bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6MnB4fS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3Itd2F0Y2gtbGlzdHt2aXNpYmlsaXR5OmhpZGRlbn0udHYtZGF0YS1tb2RlLS1zaXplX2xhcmdle2ZvbnQtc2l6ZToxMnB4fS50di1kYXRhLW1vZGUtLWZvci1zeW1ib2wtaW5mb3tkaXNwbGF5OmlubGluZTtmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoxN3B4O21hcmdpbi1sZWZ0OjNweH0udHYtZGF0YS1tb2RlLS1yZWFsdGltZS0tZm9yLXN5bWJvbC1pbmZve2Rpc3BsYXk6bm9uZX0udHYtZGF0YS1tb2RlLS1mb3Itc2NyZWVuZXJ7Zm9udC1zaXplOjEwcHh9LnR2LWRhdGEtbW9kZS0tcmVhbHRpbWUtLWZvci1zY3JlZW5lcntkaXNwbGF5Om5vbmV9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"tvc-invdn-cf-com.investing.com/tool/1.12.10/static/bundles/library.a8de6f8cf4dda6895071c6ec45f900d9.css","fqdn":"tvc-invdn-cf-com.investing.com","domain":"investing.com","tld":"com"},"ip":{"addr":"172.64.155.105","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://tvc-invdn-cf-com.investing.com/tool/1.12.10/static/tv-chart.e816a7a6edc9de3ed709.html#localserver=1\u0026symbol=945629\u0026interval=5\u0026studiesAccess=%7B%22type%22%3A%22black%22%2C%22tools%22%3A%5B%7B%22name%22%3A%22Correlation%20Coeff%22%2C%22grayed%22%3Afalse%7D%5D%7D\u0026widgetbar=%7B%22details%22%3Afalse%2C%22watchlist%22%3Afalse%2C%22watchlist_settings%22%3A%7B%22default_symbols%22%3A%5B%5D%7D%7D\u0026drawingsAccess=%7B%22type%22%3A%22black%22%2C%22tools%22%3A%5B%7B%22name%22%3A%22Regression%20Trend%22%2C%22grayed%22%3Afalse%7D%5D%7D\u0026timeFrames=%5B%7B%22text%22%3A%2210y%22%2C%22resolution%22%3A%22M%22%7D%2C%7B%22text%22%3A%223y%22%2C%22resolution%22%3A%22W%22%7D%2C%7B%22text%22%3A%221y%22%2C%22resolution%22%3A%22W%22%7D%2C%7B%22text%22%3A%223m%22%2C%22resolution%22%3A%22D%22%7D%2C%7B%22text%22%3A%221m%22%2C%22resolution%22%3A%22300%22%7D%2C%7B%22text%22%3A%227d%22%2C%22resolution%22%3A%2260%22%7D%2C%7B%22text%22%3A%221d%22%2C%22resolution%22%3A%2215%22%7D%5D\u0026locale=ru\u0026uid=tradingview_52714\u0026clientId=0\u0026userId=0\u0026chartsStorageVer=1.0\u0026customCSS=https%3A%2F%2Ftvc-invdn-cf-com.investing.com%2Ftool%2F1.12.10%2Fcustom.css\u0026debug=false\u0026snapshotUrl=https%3A%2F%2Fssltvc.forexprostools.com%2Fcc6698fccca44e51b088d9ddbbcf8ec8%2F1785120633%2F7%2F7%2F17%2Fsnapshot\u0026timezone=Europe%2FMoscow","date":"2026-07-27T02:50:34.630Z","timestamp":1785120634630,"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":"tvc-invdn-cf-com.investing.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 31 May 2026 06:59:21 GMT","end":"Sat, 29 Aug 2026 07:59:19 GMT"},"fingerprint":{"sha1":"90:A7:5D:5C:7F:22:D6:92:72:4C:85:3E:E7:2D:28:D1:42:20:B1:F8","sha256":"4C:97:98:34:DB:36:63:81:85:8D:5B:E0:91:75:21:94:B9:1D:97:17:07:3D:61:14:3E:02:DB:0F:73:40:E7:84"}}},"request":{"raw":"GET /tool/1.12.10/static/bundles/library.a8de6f8cf4dda6895071c6ec45f900d9.css HTTP/1.1\r\nHost: tvc-invdn-cf-com.investing.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://tvc-invdn-cf-com.investing.com/tool/1.12.10/static/tv-chart.e816a7a6edc9de3ed709.html\r\nCookie: __cf_bm=h6SAR28kd_QbNop_COMOHghDdlytG1dix_NDRXPGmD4-1785120634.5691435-1.0.1.1-s4ne_iKLzdjYKinGlFUaklT6ynKOQcbwbTfQ9Ee2VWc6HnktRWLJU5i.P2cm15_MZLMVhgoXFqglYOYqP14NW3ukSx7P6pAGRd3O_Fc9rU3d7y1GygnJGLidPsQIZp.Yom6Jb8b5KK1yqn7xaAW3WA\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\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: text/css\r\nx-guploader-uploadid: AKhXX7KBfFlxVmJT3To_iZ-le0NxfCgbfRl-bwgiSlFUZr5Kj3E6nHcrSyTg-HQrukEaRUN8\r\nx-goog-generation: 1707308611910035\r\nx-goog-metageneration: 1\r\nx-goog-stored-content-encoding: identity\r\nx-goog-stored-content-length: 443750\r\nx-goog-hash: crc32c=cgZj3w==, md5=mb+oiwI3mlV3vR3GgGqxPA==\r\nx-goog-storage-class: STANDARD\r\nserver: cloudflare\r\nvia: 1.1 google\r\nexpires: Mon, 27 Jul 2026 03:50:34 GMT\r\ncache-control: public, max-age=3600\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Wed, 07 Feb 2024 12:23:31 GMT\r\nvary: accept-encoding\r\npriority: u=2,i=?0\r\nage: 973\r\ncf-cache-status: HIT\r\netag: W/\"99bfa88b02379a5577bd1dc6806ab13c\"\r\ncontent-encoding: br\r\ncf-ray: a218565e6d280daa-OSL\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Google Cloud CDN","description":"Cloud CDN uses Google's global edge network to serve content closer to users.","website":"https://cloud.google.com/cdn","common_platform_enumeration":"","icon":"google-cloud-cdn.svg","categories":["CDN"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"Google Cloud Storage","description":"Google Cloud Storage allows world-wide storage and retrieval of any amount of data at any time.","website":"https://cloud.google.com/storage","common_platform_enumeration":"","icon":"google-cloud-storage.svg","categories":["Miscellaneous"]},{"name":"Google Cloud","description":"Google Cloud is a suite of cloud computing services.","website":"https://cloud.google.com","common_platform_enumeration":"cpe:2.3:a:google:cloud_platform:*:*:*:*:*:*:*:*","icon":"Google Cloud.svg","categories":["IaaS"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-07-27T05:14:11.3544Z","times_seen":17556491,"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":"www.tradingview-widget.com/static/bundles/embed/47551.8d2ce524b38e4a92547f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.829Z","timestamp":1785120634829,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/47551.8d2ce524b38e4a92547f.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"www.tradingview-widget.com/static/bundles/embed/94825.8a90c0c3ebd413eb9c81.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.936Z","timestamp":1785120633936,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/94825.8a90c0c3ebd413eb9c81.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-846c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 71079bf3b115680cba1e756dfe9eb40a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":33900,"size_decoded":11131,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"321406610467d6dffd30c75b9184e9df","sha1":"eb120d6cc348265cbed0295dd3cfab7428c5425f","sha256":"3f94fcd41f3f37d9d46697679761c3bf1712a0f67a22b38bc5e3c44b47eb56b5","sha512":"8d1b1035b2fe029452f0a7de35ef2793e6da96377c589956a5e21eaf23f3b2ae7bcedfe568a74bb8ba9a46109cdc8876912e2d73814beca47bbfa286c3081136","ssdeep":"768:QmBTez9037WM2rFgD0Nm7YLSxeUf4DK4uA8JUJESLb/XW4xmmInIPxHgask+vvw4:Q4Ow7uxNVvpPpghBT4Uf","tlshash":"17e2b693b3f9a02966ded0dad8341403e31924447884046cf27dbdde6b5dd88b2b9b7e","first_seen":"2026-07-23T13:38:20.509185Z","last_seen":"2026-07-27T05:27:33.108678Z","times_seen":356,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTQ4MjVdLHs0MDIwNDUoZSx0LHMpe3MuZCh0LHtXYXRjaGVkT2JqZWN0OigpPT5vfSk7dmFyIHI9cyg2MDE4NDEpLGk9cygyMzIzNjQpO2Z1bmN0aW9uIGEoZSx0KXtyZXR1cm4oMCxyLmRlZXBFcXVhbHMpKGUsdClbMF19Y2xhc3MgbyBleHRlbmRzIGkuV2F0Y2hlZFZhbHVle2NvbnN0cnVjdG9yKGUsdD1hKXtzdXBlcihlKSx0aGlzLl9jb21wYXJhdG9yPXR9c2V0VmFsdWUoZSx0KXshdCYmdGhpcy5fY29tcGFyYXRvcih0aGlzLnZhbHVlKCksZSl8fHN1cGVyLnNldFZhbHVlKGUsdCl9fX0sNjI0Njc4KGUsdCxzKXtzLmQodCx7RGF0ZUZvcm1hdHRlcjooKT0+YX0pO3ZhciByPXMoNDkxMTY1KTtjbGFzcyBpe2NvbnN0cnVjdG9yKGU9Inl5eXktTU0tZGQiLHQ9ITEscz0iVVRDIil7dGhpcy5fZGF0ZUZvcm1hdEZ1bmM9dD8oMCxyLmdldERhdGVGb3JtYXRXaXRoV2Vla2RheSkoZSxzKTpyLmRhdGVGb3JtYXRGdW5jdGlvbnNbZV19Zm9ybWF0KGUpe3JldHVybiB0aGlzLl9kYXRlRm9ybWF0RnVuYyhlLCExKX1mb3JtYXRMb2NhbChlKXtyZXR1cm4gdGhpcy5fZGF0ZUZvcm1hdEZ1bmMoZSwhMCl9cGFyc2UoZSl7cmV0dXJuIiI9PT1lP3tyZXM6ITF9OntyZXM6ITAsdmFsdWU6ZX19fWNsYXNzIGF7Y29uc3RydWN0b3IoZSx0LHMpe3RoaXMuX2RhdGVGb3JtYXR0ZXJJbnN0YW5jZT1uZXcgaShlLHQscyl9Zm9ybWF0KGUpe3JldHVybiBhLl9jdXN0b21Gb3JtYXR0ZXI/YS5fY3VzdG9tRm9ybWF0dGVyLmZvcm1hdChlKTp0aGlzLl9kYXRlRm9ybWF0dGVySW5zdGFuY2UuZm9ybWF0KGUpfWZvcm1hdExvY2FsKGUpe3JldHVybiBhLl9jdXN0b21Gb3JtYXR0ZXI/YS5fY3VzdG9tRm9ybWF0dGVyLmZvcm1hdExvY2FsKGUpOnRoaXMuX2RhdGVGb3JtYXR0ZXJJbnN0YW5jZS5mb3JtYXRMb2NhbChlKX1wYXJzZShlKXtyZXR1cm4gYS5fY3VzdG9tRm9ybWF0dGVyP2EuX2N1c3RvbUZvcm1hdHRlci5wYXJzZShlKTp0aGlzLl9kYXRlRm9ybWF0dGVySW5zdGFuY2UucGFyc2UoZSl9c3RhdGljIHNldEN1c3RvbUZvcm1hdHRlcihlKXthLl9jdXN0b21Gb3JtYXR0ZXI9ZX19YS5fY3VzdG9tRm9ybWF0dGVyPW51bGx9LDgyNjE1NihlLHQscyl7cy5kKHQse0RhdGVUaW1lRm9ybWF0dGVyOigpPT5ufSk7dmFyIHI9cygyMzgxMDMpLGk9cyg2MjQ2NzgpLGE9cygyOTcxMTEpO2NvbnN0IG89e2RhdGVGb3JtYXQ6Inl5eXktTU0tZGQiLHdpdGhXZWVrZGF5OiExLHRpbWVGb3JtYXQ6ci5ob3VyTWludXRlU2Vjb25kRm9ybWF0LGRhdGVUaW1lU2VwYXJhdG9yOiIgIn07Y2xhc3Mgbntjb25zdHJ1Y3RvcihlPXt9KXtjb25zdCB0PU9iamVjdC5hc3NpZ24oe30sbyxlKTt0aGlzLl9kYXRlRm9ybWF0dGVyPW5ldyBpLkRhdGVGb3JtYXR0ZXIodC5kYXRlRm9ybWF0LHQud2l0aFdlZWtkYXksdC50aW1lem9uZSksdGhpcy5fdGltZUZvcm1hdHRlcj1uZXcgYS5UaW1lRm9ybWF0dGVyKHQudGltZUZvcm1hdCksdGhpcy5fc2VwYXJhdG9yPXQuZGF0ZVRpbWVTZXBhcmF0b3J9Zm9ybWF0KGUsdCl7Y29uc3Qgcz10Py5kYXRlVGltZVNlcGFyYXRvcj8/dGhpcy5fc2VwYXJhdG9yO3JldHVybmAke3RoaXMuX2RhdGVGb3JtYXR0ZXIuZm9ybWF0KGUpfSR7c30ke3RoaXMuX3RpbWVGb3JtYXR0ZXIuZm9ybWF0KGUpfWB9Zm9ybWF0TG9jYWwoZSx0KXtjb25zdCBzPXQ/LmRhdGVUaW1lU2VwYXJhdG9yPz90aGlzLl9zZXBhcmF0b3I7cmV0dXJuYCR7dGhpcy5fZGF0ZUZvcm1hdHRlci5mb3JtYXRMb2NhbChlKX0ke3N9JHt0aGlzLl90aW1lRm9ybWF0dGVyLmZvcm1hdExvY2FsKGUpfWB9fX0sMjM4MTAzKGUsdCxzKXtzLmQodCx7aG91ck1pbnV0ZUZvcm1hdDooKT0+byxob3VyTWludXRlTm9uWmVyb1NlY29uZEZvcm1hdDooKT0+aSxob3VyTWludXRlU2Vjb25kRm9ybWF0OigpPT5yLGhvdXJNaW51dGVTZWNvbmRNaWxsaXNlY0Zvcm1hdDooKT0+YSx0d2VsdmVIb3VyTWludXRlRm9ybWF0OigpPT5sLHR3ZWx2ZUhvdXJNaW51dGVOb25aZXJvU2Vjb25kRm9ybWF0OigpPT5kLHR3ZWx2ZUhvdXJNaW51dGVTZWNvbmRGb3JtYXQ6KCk9Pm59KTtjb25zdCByPSIlaDolbTolcyIsaT0iJWg6JW06JXMrIixhPSIlaDolbTolcy4lc3MrIixvPSIlaDolbSIsbj0iJWg6JW06JXMgJWFtcG0iLGQ9IiVoOiVtOiVzKyAlYW1wbSIsbD0iJWg6JW0gJWFtcG0iO3ZhciBoOyFmdW5jdGlvbihlKXtlLlR3ZW50eUZvdXJIb3Vycz0iMjQtaG91cnMiLGUuVHdlbHZlSG91cnM9IjEyLWhvdXJzIn0oaHx8KGg9e30pKX0sMjk3MTExKGUsdCxzKXtzLmQodCx7VGltZUZvcm1hdHRlcjooKT0+b30pO3ZhciByPXMoMjM4MTAzKSxpPXMoODIyNDMxKTtjbGFzcyBhe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2lzVHdlbHZlSG91cnNGb3JtYXQ9ITEsdGhpcy5fdmFsdWVzQW5kRGVsaW1pdGVycz1bXTtjb25zdCB0PWV8fHIuaG91ck1pbnV0ZVNlY29uZEZvcm1hdCxzPW5ldyBSZWdFeHAoIiVofCVtfCVzXFwrfCVzc1xcK3wlc3N8JWFtcG18JXMiLCJnIik7bGV0IGk9cy5leGVjKHQpLGE9MDtmb3IoO251bGwhPT1pOyl7Y29uc3QgZT1pWzBdOyIlYW1wbSI9PT1lJiYodGhpcy5faXNUd2VsdmVIb3Vyc0Zvcm1hdD0hMCk7Y29uc3Qgcj10LnN1YnN0cmluZyhhLGkuaW5kZXgpOyIiIT09ciYmdGhpcy5fdmFsdWVzQW5kRGVsaW1pdGVycy5wdXNoKHIpLHRoaXMuX3ZhbHVlc0FuZERlbGltaXRlcnMucHVzaChlKSxhPWkuaW5kZXgrZS5sZW5ndGgsaT1zLmV4ZWModCl9fWZvcm1hdChlKXtyZXR1cm4gdGhpcy5fZm9ybWF0VGltZShlKX1mb3JtYXRMb2NhbChlKXtyZXR1cm4gdGhpcy5fZm9ybWF0VGltZShlLCEwKX1fZm9ybWF0VGltZShlLHQ9ITEpe2xldCBzPXQ/ZS5nZXRIb3VycygpOmUuZ2V0VVRDSG91cnMoKTtjb25zdCByPXQ/ZS5nZXRNaW51dGVzKCk6ZS5nZXRVVENNaW51dGVzKCksYT10P2UuZ2V0U2Vjb25kcygpOmUuZ2V0VVRDU2Vjb25kcygpLG89dD9lLmdldE1pbGxpc2Vjb25kcygpOmUuZ2V0VVRDTWlsbGlzZWNvbmRzKCk7bGV0IG49IiIKO3RoaXMuX2lzVHdlbHZlSG91cnNGb3JtYXQmJihuPXM+PTEyPyJQTSI6IkFNIixzJT0xMixzPXN8fDEyKTtsZXQgZD0iIixsPSExO2ZvcihsZXQgZT10aGlzLl92YWx1ZXNBbmREZWxpbWl0ZXJzLmxlbmd0aC0xO2U+PTA7ZS0tKXtjb25zdCB0PXRoaXMuX3ZhbHVlc0FuZERlbGltaXRlcnNbZV07bGV0IGg7c3dpdGNoKHQpe2Nhc2UiJWgiOmg9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykocywyKTticmVhaztjYXNlIiVtIjpoPSgwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKHIsMik7YnJlYWs7Y2FzZSIlcysiOjAhPT1hP2g9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoYSwyKTooaD0iIixsPSEwKTticmVhaztjYXNlIiVzIjpoPSgwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGEsMik7YnJlYWs7Y2FzZSIlc3MiOmg9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykobywzKTticmVhaztjYXNlIiVzcysiOjAhPT1vP2g9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykobywzKTooaD0iIixsPSEwKTticmVhaztjYXNlIiVhbXBtIjpoPW47YnJlYWs7ZGVmYXVsdDppZihsKXtsPSExO2NvbnRpbnVlfWg9dH1kPWgrZH1yZXR1cm4gZH19Y2xhc3Mgb3tjb25zdHJ1Y3RvcihlKXt0aGlzLl90aW1lRm9ybWF0dGVySW5zdGFuY2U9bmV3IGEoZSl9Zm9ybWF0KGUpe3JldHVybiBvLl9jdXN0b21Gb3JtYXR0ZXI/by5fY3VzdG9tRm9ybWF0dGVyLmZvcm1hdChlKTp0aGlzLl90aW1lRm9ybWF0dGVySW5zdGFuY2UuZm9ybWF0KGUpfWZvcm1hdExvY2FsKGUpe3JldHVybiBvLl9jdXN0b21Gb3JtYXR0ZXI/by5fY3VzdG9tRm9ybWF0dGVyLmZvcm1hdExvY2FsKGUpOnRoaXMuX3RpbWVGb3JtYXR0ZXJJbnN0YW5jZS5mb3JtYXRMb2NhbChlKX1zdGF0aWMgc2V0Q3VzdG9tRm9ybWF0dGVyKGUpe28uX2N1c3RvbUZvcm1hdHRlcj1lfX1vLl9jdXN0b21Gb3JtYXR0ZXI9bnVsbH0sNDU5OTk0KGUsdCxzKXtzLmQodCx7Q2hhcnRTZXNzaW9uOigpPT5jfSk7dmFyIHI9cyg5NDgzODApLGk9cygxMzg2MzgpLGE9cygyMzIzNjQpLG89cygyMjEwNjEpLG49cygxNTAxNTApO2NvbnN0IGQ9KDAsby5nZXRMb2dnZXIpKCJDaGFydEFwaS5BYnN0cmFjdFNlc3Npb24iKTt2YXIgbDshZnVuY3Rpb24oZSl7ZVtlLkRpc2Nvbm5lY3RlZD0wXT0iRGlzY29ubmVjdGVkIixlW2UuUmVnaXN0ZXJlZD0xXT0iUmVnaXN0ZXJlZCIsZVtlLkNvbm5lY3RlZD0yXT0iQ29ubmVjdGVkIn0obHx8KGw9e30pKTtjbGFzcyBoe2NvbnN0cnVjdG9yKGUsdCxzKXt0aGlzLl9pc0Nvbm5lY3RlZD1uZXcgYS5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3N0YXRlPTAsdGhpcy5faXNDb25uZWN0Rm9yYmlkZGVuPSExLHRoaXMuX3Nlc3Npb25JZD0iIix0aGlzLl9zZXNzaW9uSWRDaGFuZ2VkPW5ldyByLkRlbGVnYXRlLHRoaXMuX2NoYXJ0QXBpPWUsdGhpcy5fc2Vzc2lvblByZWZpeD10LHRoaXMuX3Nob3VsZFJlY29ubmVjdEFmdGVyQ3JpdGljYWxFcnJvcj1zfWRlc3Ryb3koKXt0aGlzLl9sb2dOb3JtYWwoIkRlc3Ryb3lpbmcgc2Vzc2lvbiIpLHRoaXMuX2lzQ29ubmVjdGVkLnVuc3Vic2NyaWJlKCksdGhpcy5kaXNjb25uZWN0KCksdGhpcy5fc2Vzc2lvbklkQ2hhbmdlZC5kZXN0cm95KCksZGVsZXRlIHRoaXMuX2NoYXJ0QXBpLHRoaXMuX2xvZ05vcm1hbCgiU2Vzc2lvbiBoYXMgYmVlbiBkZXN0cm95ZWQiKX1pc0Nvbm5lY3RlZCgpe3JldHVybiB0aGlzLl9pc0Nvbm5lY3RlZH1zZXNzaW9uSWQoKXtyZXR1cm4gdGhpcy5fc2Vzc2lvbklkfW9uU2Vzc2lvbklkQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9zZXNzaW9uSWRDaGFuZ2VkfWNvbm5lY3QoKXswPT09dGhpcy5fc3RhdGUmJigoMCxpLmFzc2VydCkoIXRoaXMuX2lzQ29ubmVjdEZvcmJpZGRlbiwiQ2Fubm90IGNhbGwgY29ubmVjdCBiZWNhdXNlIGl0IGlzIGZvcmJpZGRlbiBhdCB0aGlzIG1vbWVudCIpLHRoaXMuX3NldFNlc3Npb25JZChgJHt0aGlzLl9zZXNzaW9uUHJlZml4fV8keygwLG4ucmFuZG9tSGFzaCkoKX1gKSx0aGlzLl9sb2dOb3JtYWwoIkNvbm5lY3Rpbmcgc2Vzc2lvbiAtIHdhaXQgdW50aWwgdHJhbnNwb3J0IHN0YXkgY29ubmVjdGVkIiksdGhpcy5fc3RhdGU9MSx0aGlzLl9jaGFydEFwaS5jcmVhdGVTZXNzaW9uKHRoaXMuX3Nlc3Npb25JZCx0aGlzKSl9ZGlzY29ubmVjdCgpezAhPT10aGlzLl9zdGF0ZSYmKCgwLGkuYXNzZXJ0KSgiIiE9PXRoaXMuX3Nlc3Npb25JZCwic2Vzc2lvbklkIG11c3Qgbm90IGJlIGludmFsaWQiKSx0aGlzLl9sb2dOb3JtYWwoIkRpc2Nvbm5lY3Rpbmcgc2Vzc2lvbi4uLiIpLHRoaXMuX2ZvcmJpZENvbm5lY3RXaGlsZSgoKCk9Pnt0aGlzLl9jaGFydEFwaS5jb25uZWN0ZWQoKSYmdGhpcy5fc2VuZFJlbW92ZVNlc3Npb24oKSx0aGlzLl9wcm9jZXNzRGVzdHJveWluZ09uU2VydmVyKCl9KSkpfW9uTWVzc2FnZShlKXtzd2l0Y2goZS5tZXRob2Qpe2Nhc2UiY29ubmVjdGVkIjpyZXR1cm4gdm9pZCB0aGlzLl9vbkNoYXJ0QXBpQ29ubmVjdGVkKCk7Y2FzZSJkaXNjb25uZWN0ZWQiOnJldHVybiB2b2lkIHRoaXMuX29uQ2hhcnRBcGlEaXNjb25uZWN0ZWQoKTtjYXNlImNyaXRpY2FsX2Vycm9yIjpjb25zdCB0PVN0cmluZyhlLnBhcmFtc1swXSkscz1TdHJpbmcoZS5wYXJhbXNbMV0pO3JldHVybiB2b2lkIHRoaXMuX29uQ3JpdGljYWxFcnJvcih0LHMpfXRoaXMuX29uTWVzc2FnZShlKX1zZXJ2ZXJUaW1lKCl7cmV0dXJuIHRoaXMuX2NoYXJ0QXBpLnNlcnZlclRpbWUoKX1fZ2V0Q2hhcnRBcGkoKXtyZXR1cm4gdGhpcy5fY2hhcnRBcGl9X2dlbmVyYXRlTG9nTWVzc2FnZShlKXtyZXR1cm5gWyR7dGhpcy5fc2Vzc2lvbklkfV0gJHtlfWB9X29uQ3JpdGljYWxFcnJvcihlLHQpe3RoaXMuX2xvZ0Vycm9yKGBDcml0aWNhbCBlcnJvci4gUmVhc29uPSR7ZX0sIGluZm89JHt0fS5gKSx0aGlzLl9mb3JiaWRDb25uZWN0V2hpbGUoKCgpPT57dGhpcy5fcHJvY2Vzc0Rlc3Ryb3lpbmdPblNlcnZlcigpfSkpLAp0aGlzLl9zaG91bGRSZWNvbm5lY3RBZnRlckNyaXRpY2FsRXJyb3I/KHRoaXMuX2xvZ05vcm1hbCgiUmVjb25uZWN0aW5nIGFmdGVyIGNyaXRpY2FsIGVycm9yLi4uIiksdGhpcy5jb25uZWN0KCkpOnRoaXMuX2xvZ05vcm1hbCgiUmVjb25uZWN0aW5nIGFmdGVyIGNyaXRpY2FsIGVycm9yIHNraXBwZWQiKX1fb25DaGFydEFwaUNvbm5lY3RlZCgpeygwLGkuYXNzZXJ0KSgxPT09dGhpcy5fc3RhdGUsIlNlc3Npb24gaXMgbm90IHJlZ2lzdGVyZWQiKSx0aGlzLl9sb2dOb3JtYWwoIlRyYW5zcG9ydCBpcyBjb25uZWN0ZWQuIENyZWF0aW5nIHNlc3Npb24gb24gdGhlIHNlcnZlciIpLHRoaXMuX3NlbmRDcmVhdGVTZXNzaW9uKCksdGhpcy5fc3RhdGU9Mix0aGlzLl9pc0Nvbm5lY3RlZC5zZXRWYWx1ZSghMCl9X29uQ2hhcnRBcGlEaXNjb25uZWN0ZWQoKXt0aGlzLl9sb2dOb3JtYWwoIlRyYW5zcG9ydCBpcyBkaXNjb25uZWN0ZWQuIFJlY29ubmVjdGluZy4uLiIpLHRoaXMuX2ZvcmJpZENvbm5lY3RXaGlsZSgoKCk9Pnt0aGlzLl9wcm9jZXNzRGVzdHJveWluZ09uU2VydmVyKCl9KSksdGhpcy5jb25uZWN0KCl9X3NldFNlc3Npb25JZChlKXtjb25zdCB0PXRoaXMuX3Nlc3Npb25JZDt0aGlzLl9sb2dOb3JtYWwoYENoYW5naW5nIHNlc3Npb25JZDogb2xkPSR7dH0sIG5ldz0ke2V9YCksdGhpcy5fc2Vzc2lvbklkPWUsdGhpcy5fc2Vzc2lvbklkQ2hhbmdlZC5maXJlKGUsdCl9X2xvZ05vcm1hbChlKXtkLmxvZ05vcm1hbCh0aGlzLl9nZW5lcmF0ZUxvZ01lc3NhZ2UoZSkpfV9sb2dFcnJvcihlKXtkLmxvZ0Vycm9yKHRoaXMuX2dlbmVyYXRlTG9nTWVzc2FnZShlKSl9X3Byb2Nlc3NEZXN0cm95aW5nT25TZXJ2ZXIoKXt0aGlzLl9zdGF0ZT0wLHRoaXMuX2lzQ29ubmVjdGVkLnNldFZhbHVlKCExKSx0aGlzLl9jaGFydEFwaS5yZW1vdmVTZXNzaW9uKHRoaXMuX3Nlc3Npb25JZCksdGhpcy5fc2V0U2Vzc2lvbklkKCIiKX1fZm9yYmlkQ29ubmVjdFdoaWxlKGUpe3RoaXMuX2lzQ29ubmVjdEZvcmJpZGRlbj0hMCxlKCksdGhpcy5faXNDb25uZWN0Rm9yYmlkZGVuPSExfX1jbGFzcyBjIGV4dGVuZHMgaHtjb25zdHJ1Y3RvcihlLHQ9ITEpe3N1cGVyKGUsImNzIiwhMSksdGhpcy5fc2Vzc2lvbkRpc2FibGVkPSExLHRoaXMuX2hhbmRsZXI9bnVsbCx0aGlzLl9jcml0aWNhbEVycm9yPW5ldyByLkRlbGVnYXRlLHRoaXMuX3N5bWJvbFJlc29sdmVNYXA9bmV3IE1hcCx0aGlzLl9sYXN0U3ltYm9sUmVzb2x2ZUluZm9NYXA9bmV3IE1hcCx0aGlzLl9kaXNhYmxlU3RhdGlzdGljcz10fWRlc3Ryb3koKXt0aGlzLl9jcml0aWNhbEVycm9yLmRlc3Ryb3koKSx0aGlzLl9oYW5kbGVyPW51bGwsdGhpcy5fc3ltYm9sUmVzb2x2ZU1hcC5jbGVhcigpLHN1cGVyLmRlc3Ryb3koKX1zd2l0Y2hUaW1lem9uZShlKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5zd2l0Y2hUaW1lem9uZSh0aGlzLnNlc3Npb25JZCgpLGUpfWRlZmF1bHRSZXNvbHV0aW9ucygpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmRlZmF1bHRSZXNvbHV0aW9ucygpfWF2YWlsYWJsZUN1cnJlbmNpZXMoKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5hdmFpbGFibGVDdXJyZW5jaWVzKCl9YXZhaWxhYmxlVW5pdHMoKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5hdmFpbGFibGVVbml0cygpfWF2YWlsYWJsZU1ldHJpY3MoKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5hdmFpbGFibGVNZXRyaWNzKCl9YXZhaWxhYmxlUHJpY2VTb3VyY2VzKGUpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmF2YWlsYWJsZVByaWNlU291cmNlcyhlKX1yZXNvbHZlU3ltYm9sKGUsdCxzKXtpZih0aGlzLl9zeW1ib2xSZXNvbHZlTWFwLmhhcyh0KSl7Y29uc3RbZSxyXT10aGlzLl9zeW1ib2xSZXNvbHZlTWFwLmdldCh0KTtyZXR1cm4gQXJyYXkuaXNBcnJheShyKT9yLnB1c2gocyk6ci50aGVuKHMpLGV9e2NvbnN0IHI9W3NdO3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLnJlc29sdmVTeW1ib2wodGhpcy5zZXNzaW9uSWQoKSxlLHQsKHM9PntpZigic3ltYm9sX2Vycm9yIj09PXMubWV0aG9kKXRoaXMuX3N5bWJvbFJlc29sdmVNYXAuZGVsZXRlKHQpO2Vsc2V7dGhpcy5fc3ltYm9sUmVzb2x2ZU1hcC5zZXQodCxbZSxQcm9taXNlLnJlc29sdmUocyldKTtjb25zdFsscl09cy5wYXJhbXMsaT17cHJvX25hbWU6ci5wcm9fbmFtZSx0aWNrZXI6ci50aWNrZXJ9O3RoaXMuX2xhc3RTeW1ib2xSZXNvbHZlSW5mb01hcC5zZXQodCxpKSxpLnByb19uYW1lJiZ0aGlzLl9sYXN0U3ltYm9sUmVzb2x2ZUluZm9NYXAuc2V0KGkucHJvX25hbWUsaSksci5mdWxsX25hbWUmJnRoaXMuX2xhc3RTeW1ib2xSZXNvbHZlSW5mb01hcC5zZXQoci5mdWxsX25hbWUsaSksaS50aWNrZXImJnRoaXMuX2xhc3RTeW1ib2xSZXNvbHZlSW5mb01hcC5zZXQoaS50aWNrZXIsaSl9ci5mb3JFYWNoKChlPT5lKHMpKSl9KSksdGhpcy5fc3ltYm9sUmVzb2x2ZU1hcC5zZXQodCxbZSxyXSksZX19cmVxdWVzdEZpcnN0QmFyVGltZShlLHQscyl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCkucmVxdWVzdEZpcnN0QmFyVGltZSh0aGlzLnNlc3Npb25JZCgpLGUsdCxzKX1sYXN0U3ltYm9sUmVzb2x2ZUluZm8oZSl7cmV0dXJuIHRoaXMuX2xhc3RTeW1ib2xSZXNvbHZlSW5mb01hcC5nZXQoZSk/P251bGx9Y3JlYXRlU2VyaWVzKGUsdCxzLHIsaSxhLG8pe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmNyZWF0ZVNlcmllcyh0aGlzLnNlc3Npb25JZCgpLGUsdCxzLHIsaSxhLG8pfW1vZGlmeVNlcmllcyhlLHQscyxyLGksYSxvKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5tb2RpZnlTZXJpZXModGhpcy5zZXNzaW9uSWQoKSxlLHQscyxyLGksYSxvKX1yZW1vdmVTZXJpZXMoZSl7cmV0dXJuISF0aGlzLmlzQ29ubmVjdGVkKCkudmFsdWUoKSYmdGhpcy5fZ2V0Q2hhcnRBcGkoKS5yZW1vdmVTZXJpZXModGhpcy5zZXNzaW9uSWQoKSxlKX1yZXF1ZXN0TW9yZURhdGEoZSx0LHMpewpyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGU/dGhpcy5fZ2V0Q2hhcnRBcGkoKS5yZXF1ZXN0TW9yZURhdGEodGhpcy5zZXNzaW9uSWQoKSxlKTp0aGlzLl9nZXRDaGFydEFwaSgpLnJlcXVlc3RNb3JlRGF0YSh0aGlzLnNlc3Npb25JZCgpLGUsdCxzKX1yZXF1ZXN0TW9yZVRpY2ttYXJrcyhlLHQscyl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCkucmVxdWVzdE1vcmVUaWNrbWFya3ModGhpcy5zZXNzaW9uSWQoKSxlLHQscyl9c2V0RnV0dXJlVGlja21hcmtzTW9kZShlKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5zZXRGdXR1cmVUaWNrbWFya3NNb2RlKHRoaXMuc2Vzc2lvbklkKCksZSl9Y2FuQ3JlYXRlU3R1ZHkoZSx0KXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5jYW5DcmVhdGVTdHVkeSh0aGlzLnNlc3Npb25JZCgpLGUsdCl9Z2V0U3R1ZHlDb3VudGVyKCl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCkuZ2V0U3R1ZHlDb3VudGVyKHRoaXMuc2Vzc2lvbklkKCkpfWdldEZ1bmRhbWVudGFsQ291bnRlcigpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmdldEZ1bmRhbWVudGFsQ291bnRlcih0aGlzLnNlc3Npb25JZCgpKX1nZXRDaGlsZFN0dWR5Q291bnRlcigpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmdldENoaWxkU3R1ZHlDb3VudGVyKHRoaXMuc2Vzc2lvbklkKCkpfWNyZWF0ZVN0dWR5KGUsdCxzLHIsaSxhLG8pe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmNyZWF0ZVN0dWR5KHRoaXMuc2Vzc2lvbklkKCksZSx0LHMscixpLGEsbyl9bW9kaWZ5U3R1ZHkoZSx0LHMscixpKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5tb2RpZnlTdHVkeSh0aGlzLnNlc3Npb25JZCgpLGUsdCxzLHIsaSl9bm90aWZ5U3R1ZHkoZSx0LHMpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLm5vdGlmeVN0dWR5KHRoaXMuc2Vzc2lvbklkKCksZSx0LHMpfXJlbW92ZVN0dWR5KGUpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLnJlbW92ZVN0dWR5KHRoaXMuc2Vzc2lvbklkKCksZSl9Y3JlYXRlUG9pbnRzZXQoZSx0LHMscixpLGEpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmNyZWF0ZVBvaW50c2V0KHRoaXMuc2Vzc2lvbklkKCksZSx0LHMscixpLGEpfW1vZGlmeVBvaW50c2V0KGUsdCxzLHIpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLm1vZGlmeVBvaW50c2V0KHRoaXMuc2Vzc2lvbklkKCksZSx0LHMscil9cmVtb3ZlUG9pbnRzZXQoZSl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCkucmVtb3ZlUG9pbnRzZXQodGhpcy5zZXNzaW9uSWQoKSxlKX1zZXRWaXNpYmxlVGltZVJhbmdlKGUsdCxzLHIsaSxhLG8pe3RoaXMuX2dldENoYXJ0QXBpKCkuc2V0VmlzaWJsZVRpbWVSYW5nZSh0aGlzLnNlc3Npb25JZCgpLGUsdCxzLHIsITAsaSxhLHZvaWQgMCxvKX1jcml0aWNhbEVycm9yKCl7cmV0dXJuIHRoaXMuX2NyaXRpY2FsRXJyb3J9Y29ubmVjdChlPW51bGwpe251bGwhPT1lJiYodGhpcy5faGFuZGxlcj1lKSx0aGlzLl9zeW1ib2xSZXNvbHZlTWFwLmNsZWFyKCksc3VwZXIuY29ubmVjdCgpfXNldEhhbmRsZXIoZSl7dGhpcy5faGFuZGxlcj1lfWNvbm5lY3RlZCgpe3JldHVybiB0aGlzLmlzQ29ubmVjdGVkKCkudmFsdWUoKSYmIXRoaXMuX3Nlc3Npb25EaXNhYmxlZH1kaXNhYmxlKCl7dGhpcy5fc2Vzc2lvbkRpc2FibGVkPSEwfWNoYXJ0QXBpKCl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCl9X3NlbmRDcmVhdGVTZXNzaW9uKCl7T2JqZWN0LmtleXModGhpcykuZm9yRWFjaCgoZT0+ey9eKHN8c3R8c3ltYm9sXylcZCskLy50ZXN0KGUpJiZkZWxldGUgdGhpc1tlXX0pKSx0aGlzLl9nZXRDaGFydEFwaSgpLmNoYXJ0Q3JlYXRlU2Vzc2lvbih0aGlzLnNlc3Npb25JZCgpLHRoaXMuX2Rpc2FibGVTdGF0aXN0aWNzKX1fc2VuZFJlbW92ZVNlc3Npb24oKXt0aGlzLl9nZXRDaGFydEFwaSgpLmNoYXJ0RGVsZXRlU2Vzc2lvbih0aGlzLnNlc3Npb25JZCgpKX1fb25NZXNzYWdlKGUpe3RoaXMuX2hhbmRsZXImJnRoaXMuX2hhbmRsZXIoZSl9X29uQ3JpdGljYWxFcnJvcihlLHQpe3RoaXMuX2NyaXRpY2FsRXJyb3IuZmlyZShlLHQpLHN1cGVyLl9vbkNyaXRpY2FsRXJyb3IoZSx0KX19fSw0NzU0NzgoZSx0LHMpe3MuZCh0LHtDb25mbGF0ZWRDaHVua3NCdWlsZGVyOigpPT5vfSk7dmFyIHI9cygxMzg2MzgpLGk9cygxOTg5MDEpO2NvbnN0IGE9W3tiYXJzVG9NZXJnZToxMCxmb3JCYXJzcGFjaW5nTGFyZ2VyVGhlbjouMDN9LHtiYXJzVG9NZXJnZTozMCxmb3JCYXJzcGFjaW5nTGFyZ2VyVGhlbjouMDF9LHtiYXJzVG9NZXJnZToxMDAsZm9yQmFyc3BhY2luZ0xhcmdlclRoZW46LjAwM30se2JhcnNUb01lcmdlOjUwMCxmb3JCYXJzcGFjaW5nTGFyZ2VyVGhlbjowfV07Y2xhc3Mgb3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX3Bsb3RzPWUsdGhpcy5fc3RhdGU9e2NodW5rczpuZXcgTWFwLHByaWNlU291cmNlOm51bGwscHJpY2VTb3VyY2VzUHJvdmlkZXI6dH0sdGhpcy5fc2V0RW1wdHlDb25mbGF0ZWRDaHVua3MoKX1jb25mbGF0ZWRDaHVua3MoZSx0KXtpZih0IT09dGhpcy5fc3RhdGUucHJpY2VTb3VyY2Upe3RoaXMuX3N0YXRlLnByaWNlU291cmNlPXQ7Y29uc3QgZT10aGlzLl9wbG90cy5maXJzdCgpO2UmJih0aGlzLl9zZXRFbXB0eUNvbmZsYXRlZENodW5rcygpLHRoaXMuX3JlYnVpbGRDb25mbGF0ZWRDaHVua3MoZSkpfWNvbnN0IHM9KDAsci5lbnN1cmVEZWZpbmVkKShhLmZpbmQoKHQ9PnQuZm9yQmFyc3BhY2luZ0xhcmdlclRoZW48PWUpKSk7cmV0dXJuKDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zdGF0ZS5jaHVua3MuZ2V0KHMuYmFyc1RvTWVyZ2UpKX1tZXJnZURhdGEoZSl7Y29uc3QgdD10aGlzLl9wbG90cy5zaXplKCkscz10aGlzLl9wbG90cy5tZXJnZShlKTtyZXR1cm4gcyYmbnVsbCE9PXRoaXMuX3N0YXRlLnByaWNlU291cmNlJiYodD09PXRoaXMuX3Bsb3RzLnNpemUoKSYmcy5pbmRleD09PXRoaXMuX3Bsb3RzLmxhc3RJbmRleCgpP3RoaXMuX3VwZGF0ZUxhdGVzdENodW5rcygpOnRoaXMuX3JlYnVpbGRDb25mbGF0ZWRDaHVua3MocykpLHN9bW92ZURhdGEoZSl7CnRoaXMuX3Bsb3RzLm1vdmUoZSksdGhpcy5fcGxvdHMuc2l6ZSgpPjAmJnRoaXMuX2NsZWFyU3RhdGUoKX1jbGVhckRhdGEoKXt0aGlzLl9wbG90cy5jbGVhcigpLHRoaXMuX2NsZWFyU3RhdGUoKX1fcmVidWlsZENvbmZsYXRlZENodW5rcyhlKXtjb25zdCB0PXRoaXMuX3N0YXRlLnByaWNlU291cmNlO2lmKG51bGw9PT10KXJldHVybjtjb25zdCBzPWUuaW5kZXgsbz10aGlzLl9zdGF0ZS5wcmljZVNvdXJjZXNQcm92aWRlcih0KSxuPShlLHQscyk9PntsZXQgcj1udWxsO2Zvcihjb25zdCBpIG9mIGUpe2NvbnN0IGU9byhpLnZhbHVlKTtyJiZpLmluZGV4LXIuc3RhcnRUaW1lPj1zLmJhcnNUb01lcmdlJiYodC5wdXNoKHIpLHI9bnVsbCkscj8oci5lbmRUaW1lPWkuaW5kZXgsci5oaWdoPU1hdGgubWF4KHIuaGlnaCxlKSxyLmxvdz1NYXRoLm1pbihyLmxvdyxlKSxyLmNsb3NlPWUpOnI9e3N0YXJ0VGltZTppLmluZGV4LGVuZFRpbWU6aS5pbmRleCxvcGVuOmUsaGlnaDplLGxvdzplLGNsb3NlOmV9fXImJnQucHVzaChyKX07YS5mb3JFYWNoKChlPT57Y29uc3QgdD0oMCxyLmVuc3VyZURlZmluZWQpKHRoaXMuX3N0YXRlLmNodW5rcy5nZXQoZS5iYXJzVG9NZXJnZSkpLGE9KDAsaS5sb3dlcmJvdW5kKSh0LHMsKChlLHQpPT5lLmVuZFRpbWU8dCkpO2lmKDA9PT1hJiZ0Lmxlbmd0aD4wKXtjb25zdCBzPXRbMF0uc3RhcnRUaW1lLTEsaT0oMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Bsb3RzLmZpcnN0SW5kZXgoKSksYT10aGlzLl9wbG90cy5yYW5nZUl0ZXJhdG9yKGkscyksbz1bXTtuKGEsbyxlKTtjb25zdCBkPW8uY29uY2F0KHQpO3RoaXMuX3N0YXRlLmNodW5rcy5zZXQoZS5iYXJzVG9NZXJnZSxkKX1lbHNle2NvbnN0IHM9KDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wbG90cy5sYXN0SW5kZXgoKSk7dC5zcGxpY2UoYSk7bGV0IGk9KDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wbG90cy5maXJzdEluZGV4KCkpO3QubGVuZ3RoJiYoaT10W3QubGVuZ3RoLTFdLmVuZFRpbWUrMSk7Y29uc3Qgbz10aGlzLl9wbG90cy5yYW5nZUl0ZXJhdG9yKGkscyk7bihvLHQsZSl9fSkpfV91cGRhdGVMYXRlc3RDaHVua3MoKXtjb25zdCBlPSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fcGxvdHMubGFzdCgpKSx0PXRoaXMuX3N0YXRlLnByaWNlU291cmNlc1Byb3ZpZGVyKCJjbG9zZSIpO2EuZm9yRWFjaCgocz0+e2NvbnN0IGk9KDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zdGF0ZS5jaHVua3MuZ2V0KHMuYmFyc1RvTWVyZ2UpKSxhPXQoZS52YWx1ZSksbz1pW2kubGVuZ3RoLTFdO28uaGlnaD1NYXRoLm1heChvLmhpZ2gsYSksby5sb3c9TWF0aC5taW4oby5sb3csYSksby5jbG9zZT1hLG8uZW5kVGltZT1lLmluZGV4fSkpfV9zZXRFbXB0eUNvbmZsYXRlZENodW5rcygpe2EuZm9yRWFjaCgoZT0+dGhpcy5fc3RhdGUuY2h1bmtzLnNldChlLmJhcnNUb01lcmdlLFtdKSkpfV9jbGVhclN0YXRlKCl7dGhpcy5fc3RhdGUuY2h1bmtzLmNsZWFyKCksdGhpcy5fc3RhdGUucHJpY2VTb3VyY2U9bnVsbH19fSw5MzYzMjYoZSx0LHMpe3ZhciByO3MuZCh0LHtQbG90Um93U2VhcmNoTW9kZTooKT0+cn0pLGZ1bmN0aW9uKGUpe2VbZS5OZWFyZXN0TGVmdD0tMV09Ik5lYXJlc3RMZWZ0IixlW2UuRXhhY3Q9MF09IkV4YWN0IixlW2UuTmVhcmVzdFJpZ2h0PTFdPSJOZWFyZXN0UmlnaHQifShyfHwocj17fSkpfSw3OTE1MjEoZSx0LHMpe3ZhciByO3MuZCh0LHtTeW1ib2xFcnJvclBlcm1pc3Npb25EZW5pZWRSZWFzb246KCk9PnIsaW52YWxpZFN5bWJvbDooKT0+YSxwZXJtaXNzaW9uRGVuaWVkOigpPT5pfSksZnVuY3Rpb24oZSl7ZS5TeW1ib2w9InN5bWJvbCIsZS5Hcm91cFBlcm1pc3Npb249Imdyb3VwIn0ocnx8KHI9e30pKTtjb25zdCBpPSJwZXJtaXNzaW9uIGRlbmllZCIsYT0iaW52YWxpZCBzeW1ib2wifSw4NDg2MDEoZSx0LHMpe3MuZCh0LHtwYXJzZU5vblNlcmllc0VudmVsb3BlOigpPT5hfSk7dmFyIHI9cyg2MDE4NDEpLGk9cyg5OTU2NTUpO2Z1bmN0aW9uIGEoZSl7aWYoIiI9PT1lKXJldHVybiBudWxsO2NvbnN0IHQ9SlNPTi5wYXJzZShlKTtpZighKDAsci5pc09iamVjdCkodCl8fCJmdW5jdGlvbiI9PXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcigiTm9uLW9iamVjdCBjb250ZW50IGluIHRoZSBub24tc2VyaWVzIGVudmVsb3BlIik7aWYoKDAsci5oYXNQcm9wZXJ0eSkodCwiaW5kZXhlc19yZXBsYWNlIikpcmV0dXJue25zRGF0YTp7aW5kZXhlc19yZXBsYWNlOiEwfSxwYXJzZWREYXRhOnR9O2NvbnN0IHM9e2luZGV4ZXNfcmVwbGFjZTohMX07aWYoKDAsci5oYXNQcm9wZXJ0eSkodCwib2Zmc2V0cyIpJiYocy5vZmZzZXRzPXQub2Zmc2V0cyksKDAsci5oYXNQcm9wZXJ0eSkodCwiaXNVcGRhdGUiKSl7aWYoImJvb2xlYW4iIT10eXBlb2YgdC5pc1VwZGF0ZSl0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdHlwZSBvZiAiaXNVcGRhdGUiIGZpZWxkJyk7cy5pc1VwZGF0ZT10LmlzVXBkYXRlfXJldHVybigwLHIuaGFzUHJvcGVydHkpKHQsImRhdGEiKSYmKHMuZGF0YT10LmRhdGEpLCgwLHIuaGFzUHJvcGVydHkpKHQsImdyYXBoaWNzQ21kcyIpJiYocy5ncmFwaGljc0NtZHM9KDAsaS52YWxpZGF0ZUdyYXBoaWNzQ29tbWFuZHMpKHQuZ3JhcGhpY3NDbWRzKSkse25zRGF0YTpzLHBhcnNlZERhdGE6dH19fSw1NTA5MDQoZSx0LHMpe3MuZCh0LHt1bnBhY2tOb25TZXJpZXNEYXRhOigpPT5pfSk7dmFyIHI9cyg4NDg2MDEpO2FzeW5jIGZ1bmN0aW9uIGkoZSl7cmV0dXJuKDAsci5wYXJzZU5vblNlcmllc0VudmVsb3BlKShlKT8ubnNEYXRhPz9udWxsfX0sMTU2OTA4KGUsdCxzKXtzLmQodCx7REVGQVVMVF9OVU1CQVJTOigpPT5pLGluaXRpYWxSZXF1ZXN0T3B0aW9uc1RvTnVtQmFyczooKT0+YX0pO3ZhciByPXMoMTM4NjM4KTtjb25zdCBpPTMwMDtmdW5jdGlvbiBhKGUpe3JldHVybiBlLnN0YXJ0RGF0ZT9lLmVuZERhdGV8fGUuY291bnQ/ZS5lbmREYXRlP1siZnJvbV90byIsZS5zdGFydERhdGUsZS5lbmREYXRlXTpbImJhcl9jb3VudCIsZS5zdGFydERhdGUsKDAsCnIuZW5zdXJlKShlLmNvdW50KV06WyJmcm9tX3RvIixlLnN0YXJ0RGF0ZV06ZS5jb3VudHx8aX19LDg3MTAzNyhlLHQscyl7YXN5bmMgZnVuY3Rpb24gcihlLHQpe2lmKHZvaWQgMD09PWUpcmV0dXJue3Byb2plY3Rpb25QbG90czpbXSxib3hTaXplOm51bGx9O2lmKCIiPT09ZS5kfHwibm9jaGFuZ2UiPT09ZS5pbmRleGVzKXJldHVybiBudWxsO2NvbnN0IHM9YXdhaXQgdChlLmQpO2lmKG51bGw9PT1zfHxzLmluZGV4ZXNfcmVwbGFjZSlyZXR1cm4gbnVsbDtjb25zdCByPWUuaW5kZXhlcyx7YmFyczppPVtdLHByaWNlOmEsYm94U2l6ZTpvLHJldmVyc2FsQW1vdW50Om59PXMuZGF0YTtyZXR1cm57bGFzdFByaWNlOmEscHJvamVjdGlvblBsb3RzOmkubWFwKChlPT57bGV0IHQ7cmV0dXJuImZhY3RvciJpbiBlP3Q9ZS5mYWN0b3I6ImFkZGl0aW9uYWxQcmljZSJpbiBlJiYodD1lLmFkZGl0aW9uYWxQcmljZSkse2luZGV4OnJbZS50aW1lXSx2YWx1ZTpbMCxlLm9wZW4sZS5oaWdoLGUubG93LGUuY2xvc2UsZS52b2x1bWUsdF19fSkpLHJldmVyc2FsQW1vdW50Om4sYm94U2l6ZTpvfX1zLmQodCx7cGFyc2VKYXBhbmVzZVByb2plY3Rpb25CYXJzOigpPT5yfSl9LDkzNTI0MChlLHQscyl7cy5kKHQse1Nlcmllc0RhdGFTb3VyY2U6KCk9PkN9KTt2YXIgcj1zKDEzODYzOCksaT1zKDYwMTg0MSksYT1zKDIyMTA2MSksbz1zKDI1NDY3Myksbj1zKDYxOTE2NSksZD1zKDc5MTUyMSksbD1zKDU1MDkwNCksaD1zKDE1NjkwOCksYz1zKDExMTk1MyksdT1zKDk0ODM4MCk7Y2xhc3MgX3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2NyZWF0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fbW9kaWZpZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fY2xlYXJlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9sb2FkaW5nPW5ldyB1LkRlbGVnYXRlLHRoaXMuX2NvbXBsZXRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9lcnJvcj1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xFcnJvcj1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xSZXNvbHZlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zZXJpZXNFcnJvcj1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xOb3RQZXJtaXR0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fc3ltYm9sSW52YWxpZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xHcm91cE5vdFBlcm1pdHRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9jaGFydFR5cGVOb3RQZXJtaXR0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5faW50cmFkYXlTcHJlYWROb3RQZXJtaXR0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5faW50cmFkYXlFeGNoYW5nZU5vdFBlcm1pdHRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9jdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zZWNvbmRzSW50ZXJ2YWxOb3RQZXJtaXR0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fdGlja3NJbnRlcnZhbE5vdFBlcm1pdHRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9iYXJSZWNlaXZlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zZXJpZXNUaW1lRnJhbWU9bmV3IHUuRGVsZWdhdGUsdGhpcy5fZGF0YVVwZGF0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fdW5zdXBwb3J0ZWRSZXNvbHV0aW9uUmVxdWVzdGVkPW5ldyB1LkRlbGVnYXRlfWRlc3Ryb3koKXt0aGlzLl9jcmVhdGVkLmRlc3Ryb3koKSx0aGlzLl9tb2RpZmllZC5kZXN0cm95KCksdGhpcy5fbG9hZGluZy5kZXN0cm95KCksdGhpcy5fY29tcGxldGVkLmRlc3Ryb3koKSx0aGlzLl9lcnJvci5kZXN0cm95KCksdGhpcy5fc3ltYm9sRXJyb3IuZGVzdHJveSgpLHRoaXMuX3N5bWJvbFJlc29sdmVkLmRlc3Ryb3koKSx0aGlzLl9zZXJpZXNFcnJvci5kZXN0cm95KCksdGhpcy5fc3ltYm9sSW52YWxpZC5kZXN0cm95KCksdGhpcy5fc3ltYm9sTm90UGVybWl0dGVkLmRlc3Ryb3koKSx0aGlzLl9zeW1ib2xHcm91cE5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5fY2hhcnRUeXBlTm90UGVybWl0dGVkLmRlc3Ryb3koKSx0aGlzLl9pbnRyYWRheVNwcmVhZE5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5faW50cmFkYXlFeGNoYW5nZU5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5fY3VzdG9tSW50ZXJ2YWxOb3RQZXJtaXR0ZWQuZGVzdHJveSgpLHRoaXMuX3NlY29uZHNJbnRlcnZhbE5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5fdGlja3NJbnRlcnZhbE5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5fYmFyUmVjZWl2ZWQuZGVzdHJveSgpLHRoaXMuX3Nlcmllc1RpbWVGcmFtZS5kZXN0cm95KCksdGhpcy5fZGF0YVVwZGF0ZWQuZGVzdHJveSgpLHRoaXMuX3Vuc3VwcG9ydGVkUmVzb2x1dGlvblJlcXVlc3RlZC5kZXN0cm95KCl9Y3JlYXRlZCgpe3JldHVybiB0aGlzLl9jcmVhdGVkfW1vZGlmaWVkKCl7cmV0dXJuIHRoaXMuX21vZGlmaWVkfWNsZWFyZWQoKXtyZXR1cm4gdGhpcy5fY2xlYXJlZH1sb2FkaW5nKCl7cmV0dXJuIHRoaXMuX2xvYWRpbmd9Y29tcGxldGVkKCl7cmV0dXJuIHRoaXMuX2NvbXBsZXRlZH1lcnJvcigpe3JldHVybiB0aGlzLl9lcnJvcn1zeW1ib2xFcnJvcigpe3JldHVybiB0aGlzLl9zeW1ib2xFcnJvcn1zeW1ib2xSZXNvbHZlZCgpe3JldHVybiB0aGlzLl9zeW1ib2xSZXNvbHZlZH1zZXJpZXNFcnJvcigpe3JldHVybiB0aGlzLl9zZXJpZXNFcnJvcn1zeW1ib2xJbnZhbGlkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbEludmFsaWR9c3ltYm9sTm90UGVybWl0dGVkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbE5vdFBlcm1pdHRlZH1zeW1ib2xHcm91cE5vdFBlcm1pdHRlZCgpe3JldHVybiB0aGlzLl9zeW1ib2xHcm91cE5vdFBlcm1pdHRlZH1jaGFydFR5cGVOb3RQZXJtaXR0ZWQoKXtyZXR1cm4gdGhpcy5fY2hhcnRUeXBlTm90UGVybWl0dGVkfWludHJhZGF5U3ByZWFkTm90UGVybWl0dGVkKCl7cmV0dXJuIHRoaXMuX2ludHJhZGF5U3ByZWFkTm90UGVybWl0dGVkfWludHJhZGF5RXhjaGFuZ2VOb3RQZXJtaXR0ZWQoKXtyZXR1cm4gdGhpcy5faW50cmFkYXlFeGNoYW5nZU5vdFBlcm1pdHRlZH1jdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZCgpewpyZXR1cm4gdGhpcy5fY3VzdG9tSW50ZXJ2YWxOb3RQZXJtaXR0ZWR9c2Vjb25kc0ludGVydmFsTm90UGVybWl0dGVkKCl7cmV0dXJuIHRoaXMuX3NlY29uZHNJbnRlcnZhbE5vdFBlcm1pdHRlZH10aWNrc0ludGVydmFsTm90UGVybWl0dGVkKCl7cmV0dXJuIHRoaXMuX3RpY2tzSW50ZXJ2YWxOb3RQZXJtaXR0ZWR9YmFyUmVjZWl2ZWQoKXtyZXR1cm4gdGhpcy5fYmFyUmVjZWl2ZWR9c2VyaWVzVGltZUZyYW1lKCl7cmV0dXJuIHRoaXMuX3Nlcmllc1RpbWVGcmFtZX1kYXRhVXBkYXRlZCgpe3JldHVybiB0aGlzLl9kYXRhVXBkYXRlZH11bnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQoKXtyZXR1cm4gdGhpcy5fdW5zdXBwb3J0ZWRSZXNvbHV0aW9uUmVxdWVzdGVkfWZpcmVDb21wbGV0ZWQoZSl7dGhpcy5fY29tcGxldGVkLmZpcmUoZSl9ZmlyZUNyZWF0ZWQoZSl7dGhpcy5fY3JlYXRlZC5maXJlKGUpfWZpcmVNb2RpZmllZCgpe3RoaXMuX21vZGlmaWVkLmZpcmUoKX1maXJlQ2xlYXJlZCgpe3RoaXMuX2NsZWFyZWQuZmlyZSgpfWZpcmVMb2FkaW5nKGUpe3RoaXMuX2xvYWRpbmcuZmlyZShlKX1maXJlRXJyb3IoKXt0aGlzLl9lcnJvci5maXJlKCl9ZmlyZVN5bWJvbEVycm9yKGUpe3RoaXMuX3N5bWJvbEVycm9yLmZpcmUoZSksdGhpcy5maXJlRXJyb3IoKX1maXJlU3ltYm9sUmVzb2x2ZWQoZSl7dGhpcy5fc3ltYm9sUmVzb2x2ZWQuZmlyZShlKX1maXJlU2VyaWVzRXJyb3IoZSl7dGhpcy5fc2VyaWVzRXJyb3IuZmlyZShlKSx0aGlzLmZpcmVFcnJvcigpfWZpcmVTeW1ib2xJbnZhbGlkKCl7dGhpcy5fc3ltYm9sSW52YWxpZC5maXJlKCl9ZmlyZVN5bWJvbE5vdFBlcm1pdHRlZChlKXt0aGlzLl9zeW1ib2xOb3RQZXJtaXR0ZWQuZmlyZShlKX1maXJlU3ltYm9sR3JvdXBOb3RQZXJtaXR0ZWQoZSl7dGhpcy5fc3ltYm9sR3JvdXBOb3RQZXJtaXR0ZWQuZmlyZShlKX1maXJlQ2hhcnRUeXBlTm90UGVybWl0dGVkKGUpe3RoaXMuX2NoYXJ0VHlwZU5vdFBlcm1pdHRlZC5maXJlKGUpLHRoaXMuZmlyZUVycm9yKCl9ZmlyZUludHJhZGF5U3ByZWFkTm90UGVybWl0dGVkKCl7dGhpcy5faW50cmFkYXlTcHJlYWROb3RQZXJtaXR0ZWQuZmlyZSgpLHRoaXMuZmlyZUVycm9yKCl9ZmlyZUludHJhZGF5RXhjaGFuZ2VOb3RQZXJtaXR0ZWQoKXt0aGlzLl9pbnRyYWRheUV4Y2hhbmdlTm90UGVybWl0dGVkLmZpcmUoKSx0aGlzLmZpcmVFcnJvcigpfWZpcmVDdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZChlKXt0aGlzLl9jdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZC5maXJlKGUpLHRoaXMuZmlyZUVycm9yKCl9ZmlyZVNlY29uZHNJbnRlcnZhbE5vdFBlcm1pdHRlZCgpe3RoaXMuX3NlY29uZHNJbnRlcnZhbE5vdFBlcm1pdHRlZC5maXJlKCksdGhpcy5maXJlRXJyb3IoKX1maXJlVGlja3NJbnRlcnZhbE5vdFBlcm1pdHRlZCgpe3RoaXMuX3RpY2tzSW50ZXJ2YWxOb3RQZXJtaXR0ZWQuZmlyZSgpLHRoaXMuZmlyZUVycm9yKCl9ZmlyZUJhclJlY2VpdmVkKGUpe3RoaXMuX2JhclJlY2VpdmVkLmZpcmUoZSl9ZmlyZVNlcmllc1RpbWVGcmFtZShlLHQscyxyLGkpe3RoaXMuX3Nlcmllc1RpbWVGcmFtZS5maXJlKGUsdCxzLHIsaSl9ZmlyZURhdGFVcGRhdGVkKGUsdCxzLHIsaSl7dGhpcy5fZGF0YVVwZGF0ZWQuZmlyZShlLHQscyxyLGkpfWZpcmVVbnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQoKXt0aGlzLl91bnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQuZmlyZSgpfX12YXIgbT1zKDg3MTAzNykscD1zKDg1Mjk4MCkseT1zKDMyMjU1NCk7Y29uc3QgZz0veyhcdyspfS9nO2NvbnN0IGI9KDAsYS5nZXRMb2dnZXIpKCJDaGFydC5TZXJpZXNEYXRhU291cmNlIik7dmFyIGY7IWZ1bmN0aW9uKGUpe2VbZS5JZGxlPTBdPSJJZGxlIixlW2UuQXdhaXRpbmdDb25uZWN0aW9uPTFdPSJBd2FpdGluZ0Nvbm5lY3Rpb24iLGVbZS5Bd2FpdGluZ0ZpcnN0RGF0YVVwZGF0ZT0yXT0iQXdhaXRpbmdGaXJzdERhdGFVcGRhdGUiLGVbZS5BY3RpdmU9M109IkFjdGl2ZSJ9KGZ8fChmPXt9KSk7bGV0IFM9MTtsZXQgdj0xO2Z1bmN0aW9uIEkoZSl7cmV0dXJuKDAsYy5leHRyYWN0RXh0ZW5kZWRTeW1ib2wpKGUpLnN5bWJvbH1jbGFzcyBDe2NvbnN0cnVjdG9yKGUsdCxzLHIpe3RoaXMuX2V4dFN5bWJvbD1udWxsLHRoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbD0iIix0aGlzLl9jcmVhdGVTZXJpZXNPdmVycmlkZGVuUGFyYW1zPTAsdGhpcy5faW5zdGFuY2VJZD1udWxsLHRoaXMuX3N5bWJvbEluc3RhbmNlSWQ9bnVsbCx0aGlzLl9yZXNvbHV0aW9uPW51bGwsdGhpcy5fdGltZUZyYW1lPW51bGwsdGhpcy5fZGF0YT1uZXcgbi5TZXJpZXNEYXRhLHRoaXMuX2RhdGFFdmVudHM9bmV3IF8sdGhpcy5fc3RhdHVzPWYuSWRsZSx0aGlzLl90dXJuYXJvdW5kQ291bnRlcj0xLHRoaXMuX2JvdW5kT25HYXRld2F5SXNDb25uZWN0ZWRDaGFuZ2VkPXRoaXMuX29uR2F0ZXdheUlzQ29ubmVjdGVkQ2hhbmdlZC5iaW5kKHRoaXMpLHRoaXMuX2JvdW5kT25NZXNzYWdlPXRoaXMuX29uTWVzc2FnZS5iaW5kKHRoaXMpLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlPVByb21pc2UucmVzb2x2ZSgpLHRoaXMuX2dhdGV3YXk9ZSx0aGlzLl90dXJuYXJvdW5kUHJlZml4PXQsdGhpcy5fY3JlYXRlU2VyaWVzUGFyYW1zPSgwLGguaW5pdGlhbFJlcXVlc3RPcHRpb25zVG9OdW1CYXJzKShzPz97Y291bnQ6aC5ERUZBVUxUX05VTUJBUlN9KSx0aGlzLl90aW1lRnJhbWU9cnx8bnVsbCx0aGlzLl9nYXRld2F5LmlzQ29ubmVjdGVkKCkuc3Vic2NyaWJlKHRoaXMuX2JvdW5kT25HYXRld2F5SXNDb25uZWN0ZWRDaGFuZ2VkKX1kZXN0cm95KCl7dGhpcy5zdG9wKCksdGhpcy5fZ2F0ZXdheS5pc0Nvbm5lY3RlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX2JvdW5kT25HYXRld2F5SXNDb25uZWN0ZWRDaGFuZ2VkKSx0aGlzLl9kYXRhRXZlbnRzLmRlc3Ryb3koKX1jYW5Nb2RpZnlTZXJpZXMoZSx0KXtjb25zdCBzPSEoMCwKaS5kZWVwRXF1YWxzKSh0aGlzLl9leHRTeW1ib2wsZSlbMF0scj1udWxsPT09dGhpcy5fcmVzb2x1dGlvbnx8IW8uSW50ZXJ2YWwuaXNFcXVhbCh0aGlzLl9yZXNvbHV0aW9uLHQpO3JldHVybiBzfHxyfW1vZGlmeVNlcmllcyhlLHQscz1udWxsLGE9ITEsbj1udWxsKXthJiYoYi5sb2dOb3JtYWwoIkR1ZSB0byBmb3JjZSBmbGFnIGNsZWFyaW5nIHN5bWJvbCAmIHJlc29sdXRpb24gdG8gZm9yY2UgcmUtcmVxdWVzdGluZyBkYXRhLiIpLHRoaXMuX2V4dFN5bWJvbD1udWxsLHRoaXMuX3Jlc29sdXRpb249bnVsbCk7Y29uc3QgZD1JKGUpLGw9IXRoaXMuc3ltYm9sU2FtZUFzUmVzb2x2ZWQoZCk7aWYobCYmKHRoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbD0iIiksdGhpcy5fZXh0U3ltYm9sJiYhbCl7Y29uc3QgdD1JKHRoaXMuX2V4dFN5bWJvbCk7KDAsYy5yZXBsYWNlRXh0ZW5kZWRTeW1ib2wpKGUsdCl9Y29uc3QgaD10aGlzLl9leHRTeW1ib2wsdT10aGlzLl9yZXNvbHV0aW9uO2lmKHRoaXMuX2V4dFN5bWJvbD1lLHRoaXMuX3Jlc29sdXRpb249dCxudWxsPT09dGhpcy5faW5zdGFuY2VJZClyZXR1cm4gdm9pZCh0aGlzLl90aW1lRnJhbWU9cyk7Y29uc3QgXz0hKDAsaS5kZWVwRXF1YWxzKShoLGUpWzBdO18mJigwLGMucmVwbGFjZUV4dGVuZGVkU3ltYm9sKSh0aGlzLl9leHRTeW1ib2wsZCk7Y29uc3QgbT1udWxsPT09dXx8IW8uSW50ZXJ2YWwuaXNFcXVhbCh1LHQpOyhffHxtfHxudWxsIT09cykmJih0aGlzLl90aW1lRnJhbWU9bnVsbCwoX3x8bSkmJnRoaXMuX3R1cm5hcm91bmRDb3VudGVyKyssXyYmdGhpcy5fcmVzb2x2ZVN5bWJvbCgpLHRoaXMuX2dhdGV3YXkubW9kaWZ5U2VyaWVzKHRoaXMuX2luc3RhbmNlSWQsdGhpcy50dXJuYXJvdW5kKCksKDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zeW1ib2xJbnN0YW5jZUlkKSx0aGlzLl9yZXNvbHV0aW9uLG4scyx0aGlzLl9ib3VuZE9uTWVzc2FnZSksdGhpcy5fZGF0YUV2ZW50cy5maXJlTW9kaWZpZWQoKSl9cmVxdWVzdE1vcmVEYXRhKGUpe251bGwhPT10aGlzLl9pbnN0YW5jZUlkJiZ0aGlzLl9nYXRld2F5LnJlcXVlc3RNb3JlRGF0YSh0aGlzLl9pbnN0YW5jZUlkLGUsdGhpcy5fYm91bmRPbk1lc3NhZ2UpfXJlcXVlc3RNb3JlVGlja21hcmtzKGUpe251bGwhPT10aGlzLl9pbnN0YW5jZUlkJiZ0aGlzLl9nYXRld2F5LnJlcXVlc3RNb3JlVGlja21hcmtzKHRoaXMuX2luc3RhbmNlSWQsZSx0aGlzLl9ib3VuZE9uTWVzc2FnZSl9c2V0RnV0dXJlVGlja21hcmtzTW9kZShlKXtudWxsIT09dGhpcy5faW5zdGFuY2VJZCYmdGhpcy5fZ2F0ZXdheS5zZXRGdXR1cmVUaWNrbWFya3NNb2RlKGUpfWlzU3RhcnRlZCgpe3JldHVybiB0aGlzLl9zdGF0dXMhPT1mLklkbGV9aXNBY3RpdmUoKXtyZXR1cm4gdGhpcy5fc3RhdHVzPT09Zi5BY3RpdmV9cmVzb2x1dGlvbigpe3JldHVybiB0aGlzLl9yZXNvbHV0aW9ufXN0YXJ0KCl7dGhpcy5pc1N0YXJ0ZWQoKT9iLmxvZ05vcm1hbCgic3RhcnQ6IGRhdGEgc291cmNlIGlzIGFscmVhZHkgc3RhcnRlZCwgbm90aGluZyB0byBkbyIpOigoMCxyLmFzc2VydCkobnVsbCE9PXRoaXMuX2V4dFN5bWJvbCwic3ltYm9sIG11c3QgYmUgc2V0IGJlZm9yZSBzdGFydCIpLCgwLHIuYXNzZXJ0KShudWxsIT09dGhpcy5fcmVzb2x1dGlvbiwicmVzb2x1dGlvbiBtdXN0IGJlIHNldCBiZWZvcmUgc3RhcnQiKSx0aGlzLl9nYXRld2F5LmlzQ29ubmVjdGVkKCkudmFsdWUoKT90aGlzLl9jcmVhdGVTZXJpZXMoKTp0aGlzLl9jaGFuZ2VTdGF0dXNUbyhmLkF3YWl0aW5nQ29ubmVjdGlvbikpfXN0b3AoKXt0aGlzLmlzU3RhcnRlZCgpPyhudWxsIT09dGhpcy5faW5zdGFuY2VJZCYmKHRoaXMuX2dhdGV3YXkucmVtb3ZlU2VyaWVzKHRoaXMuX2luc3RhbmNlSWQpLHRoaXMuX2luc3RhbmNlSWQ9bnVsbCksdGhpcy5fc3ltYm9sSW5zdGFuY2VJZD1udWxsLHRoaXMuX2NoYW5nZVN0YXR1c1RvKGYuSWRsZSkpOmIubG9nTm9ybWFsKCJzdG9wOiBkYXRhIHNvdXJjZSBpcyBhbHJlYWR5IHN0b3BwZWQsIG5vdGhpbmcgdG8gZG8iKX1pbnN0YW5jZUlkKCl7cmV0dXJuIHRoaXMuX2luc3RhbmNlSWR9ZGF0YSgpe3JldHVybiB0aGlzLl9kYXRhfXNldERhdGEoZSl7dGhpcy5fZGF0YT1lfXNldFRpbWVmcmFtZShlKXt0aGlzLl90aW1lRnJhbWU9ZX1jbGVhckRhdGEoKXt0aGlzLmlzU3RhcnRlZCgpP3RoaXMuX2VucXVldWVVcGRhdGUoKCgpPT50aGlzLl9jbGVhckRhdGFJbXBsKCkpKTp0aGlzLl9jbGVhckRhdGFJbXBsKCl9ZGF0YUV2ZW50cygpe3JldHVybiB0aGlzLl9kYXRhRXZlbnRzfXR1cm5hcm91bmQoKXtyZXR1cm5gJHt0aGlzLl90dXJuYXJvdW5kUHJlZml4fSR7dGhpcy5fdHVybmFyb3VuZENvdW50ZXJ9YH1zeW1ib2xJbnN0YW5jZUlkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbEluc3RhbmNlSWR9c3ltYm9sKCl7cmV0dXJuIHRoaXMuX2V4dFN5bWJvbH11cGRhdGVFeHRTeW1ib2woZSl7dGhpcy5fZXh0U3ltYm9sPWV9bW92ZURhdGEoZSl7cmV0dXJuIHRoaXMuX2VucXVldWVVcGRhdGUoKCgpPT50aGlzLl9kYXRhLm1vdmVEYXRhKGUpKSl9c2V0SW5pdGlhbFJlcXVlc3RPcHRpb25zKGUpe3RoaXMuX2NyZWF0ZVNlcmllc092ZXJyaWRkZW5QYXJhbXM9KDAsaC5pbml0aWFsUmVxdWVzdE9wdGlvbnNUb051bUJhcnMpKGUpfXN5bWJvbFNhbWVBc1Jlc29sdmVkKGUpe3JldHVybiBudWxsIT09dGhpcy5fZXh0U3ltYm9sJiYoMCx5LnN5bWJvbFNhbWVBc1Jlc29sdmVkKShlLEkodGhpcy5fZXh0U3ltYm9sKSx0aGlzLl9sYXN0UmVzb2x2ZWRTeW1ib2wpfXJlc29sdmVkU3ltYm9sKCl7cmV0dXJuIG51bGw9PT10aGlzLl9leHRTeW1ib2w/bnVsbDpJKHRoaXMuX2V4dFN5bWJvbCl9c3RhdGljIHNldE5vblNlcmllc0RhdGFVbnBhY2tlcihlKXtDLl9ub25TZXJpZXNEYXRhVW5wYWNrZXI9ZX1zdGF0aWMgc2V0U3ltYm9sRW5jb2RlcihlKXtDLl9lbmNvZGVTeW1ib2w9ZX1zdGF0aWMgc2V0RXh0cmFjdFN5bWJvbEZlYXR1cmVzZXRzKGUpe0MuX2V4dHJhY3RTeW1ib2xOYW1lRmVhdHVyZXNldHM9ZX1fcmVzb2x2ZVN5bWJvbCgpewpudWxsIT09dGhpcy5fZXh0U3ltYm9sJiYodGhpcy5fc3ltYm9sSW5zdGFuY2VJZD10aGlzLl9nYXRld2F5LnJlc29sdmVTeW1ib2woInNkc19zeW1fIitTKyssQy5fZW5jb2RlU3ltYm9sKHRoaXMuX2V4dFN5bWJvbCksdGhpcy5fYm91bmRPbk1lc3NhZ2UpKX1fY2xlYXJEYXRhSW1wbCgpe3RoaXMuX2RhdGEuY2xlYXIoKSx0aGlzLl9kYXRhRXZlbnRzLmZpcmVDbGVhcmVkKCl9X2NoYW5nZVN0YXR1c1RvKGUpeygwLHIuYXNzZXJ0KSh0aGlzLl9zdGF0dXMhPT1lLCJTb3VyY2UgYW5kIGRlc3RpbmF0aW9uIHN0YXR1cyBzaG91bGQgYmUgZGlzdGluY3QiKSxiLmxvZ05vcm1hbChgU3RhdHVzIGNoYW5nZWQgZnJvbSAke2ZbdGhpcy5fc3RhdHVzXX0gdG8gJHtmW2VdfWApLHRoaXMuX3N0YXR1cz1lfV9jcmVhdGVTZXJpZXMoKXsoMCxyLmFzc2VydCkodGhpcy5fc3RhdHVzIT09Zi5BY3RpdmUsJ1N0YXR1cyBzaG91bGQgbm90IGJlICJBY3RpdmUiIHdoZW4gY3JlYXRpbmcgYSBzdHVkeScpLHRoaXMuX2luc3RhbmNlSWQ9InNkc18iK3YrKyx0aGlzLl9yZXNvbHZlU3ltYm9sKCk7Y29uc3QgZT10aGlzLl9jcmVhdGVTZXJpZXNPdmVycmlkZGVuUGFyYW1zfHx0aGlzLl9jcmVhdGVTZXJpZXNQYXJhbXM7dGhpcy5fY3JlYXRlU2VyaWVzT3ZlcnJpZGRlblBhcmFtcyYmKHRoaXMuX2NyZWF0ZVNlcmllc092ZXJyaWRkZW5QYXJhbXM9MCksdGhpcy5fZ2F0ZXdheS5jcmVhdGVTZXJpZXModGhpcy5faW5zdGFuY2VJZCx0aGlzLnR1cm5hcm91bmQoKSwoMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N5bWJvbEluc3RhbmNlSWQpLCgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fcmVzb2x1dGlvbiksZSx0aGlzLl90aW1lRnJhbWUsdGhpcy5fYm91bmRPbk1lc3NhZ2UpLHRoaXMuX3RpbWVGcmFtZT1udWxsLHRoaXMuX2NoYW5nZVN0YXR1c1RvKGYuQXdhaXRpbmdGaXJzdERhdGFVcGRhdGUpLHRoaXMuX2RhdGFFdmVudHMuZmlyZUNyZWF0ZWQodGhpcy5faW5zdGFuY2VJZCl9X29uR2F0ZXdheUlzQ29ubmVjdGVkQ2hhbmdlZChlKXtlP3RoaXMuX29uR2F0ZXdheUNvbm5lY3RlZCgpOnRoaXMuX29uR2F0ZXdheURpc2Nvbm5lY3RlZCgpfV9vbkdhdGV3YXlDb25uZWN0ZWQoKXt0aGlzLl9zdGF0dXM9PT1mLkF3YWl0aW5nQ29ubmVjdGlvbiYmdGhpcy5fY3JlYXRlU2VyaWVzKCl9X29uR2F0ZXdheURpc2Nvbm5lY3RlZCgpe3RoaXMuX3N0YXR1cyE9PWYuSWRsZSYmdGhpcy5fc3RhdHVzIT09Zi5Bd2FpdGluZ0Nvbm5lY3Rpb24mJih0aGlzLl9pbnN0YW5jZUlkPW51bGwsdGhpcy5fY2hhbmdlU3RhdHVzVG8oZi5Bd2FpdGluZ0Nvbm5lY3Rpb24pKSx0aGlzLl90dXJuYXJvdW5kQ291bnRlcj0xfV9vbk1lc3NhZ2UoZSl7dGhpcy5fZW5xdWV1ZVVwZGF0ZSgoKCk9PnRoaXMuX29uTWVzc2FnZUltcGwoZSkpKX1hc3luYyBfb25NZXNzYWdlSW1wbChlKXtzd2l0Y2goZS5tZXRob2Qpe2Nhc2Uic3ltYm9sX3Jlc29sdmVkIjp7Y29uc3RbdCxzXT1lLnBhcmFtcztpZih0IT09dGhpcy5fc3ltYm9sSW5zdGFuY2VJZCl7bnVsbCE9PXRoaXMuX3N5bWJvbEluc3RhbmNlSWQmJmIubG9nTm9ybWFsKGBSZXNvbHZlIGZvciBvbGQgc3ltYm9sLCBleHBlY3RlZDogJHt0aGlzLl9zeW1ib2xJbnN0YW5jZUlkfSwgYWN0dWFsICR7ZS5wYXJhbXNbMF19YCk7YnJlYWt9dGhpcy5fb25TeW1ib2xSZXNvbHZlZChzKTticmVha31jYXNlInN5bWJvbF9lcnJvciI6aWYoZS5wYXJhbXNbMF0hPT10aGlzLl9zeW1ib2xJbnN0YW5jZUlkKXtudWxsIT09dGhpcy5fc3ltYm9sSW5zdGFuY2VJZCYmYi5sb2dOb3JtYWwoYFN5bWJvbCBlcnJvciBmb3Igb2xkIHN5bWJvbCwgZXhwZWN0ZWQ6ICR7dGhpcy5fc3ltYm9sSW5zdGFuY2VJZH0sIGFjdHVhbCAke2UucGFyYW1zWzBdfWApO2JyZWFrfXRoaXMuX29uU3ltYm9sRXJyb3IoZSk7YnJlYWs7Y2FzZSJzZXJpZXNfdGltZWZyYW1lIjp7Y29uc3RbdCxzLHIsaSxhLG8sbl09ZS5wYXJhbXM7aWYoIXRoaXMuX2NoZWNrVHVybmFyb3VuZCh0LHMpKXtiLmxvZ05vcm1hbChgVGltZSBmcmFtZSBmb3Igb2xkIGRhdGEsIGV4cGVjdGVkOiAke3RoaXMuX3N5bWJvbEluc3RhbmNlSWR9ICgke3RoaXMudHVybmFyb3VuZCgpfSksIGFjdHVhbCAke3R9ICgke3N9KWApO2JyZWFrfXRoaXMuX29uU2VyaWVzVGltZUZyYW1lKHIsaSxhLG8sbik7YnJlYWt9Y2FzZSJzZXJpZXNfZXJyb3IiOntjb25zdFt0LHNdPWUucGFyYW1zO2lmKCF0aGlzLl9jaGVja1R1cm5hcm91bmQodCxzKSl7Yi5sb2dOb3JtYWwoYFNlcmllcyBlcnJvciBmb3Igb2xkIGRhdGEsIGV4cGVjdGVkOiAke3RoaXMuX3N5bWJvbEluc3RhbmNlSWR9ICgke3RoaXMudHVybmFyb3VuZCgpfSksIGFjdHVhbCAke3R9ICgke3N9KWApO2JyZWFrfXRoaXMuX29uU2VyaWVzRXJyb3IoZS5wYXJhbXNbMl0pO2JyZWFrfWNhc2Uic2VyaWVzX2xvYWRpbmciOntjb25zdFt0LHNdPWUucGFyYW1zO2lmKCF0aGlzLl9jaGVja1R1cm5hcm91bmQodCxzKSlicmVhazt0aGlzLl9vblNlcmllc0xvYWRpbmcoZS50aW1lKTticmVha31jYXNlInNlcmllc19jb21wbGV0ZWQiOntjb25zdFt0LHMscixpXT1lLnBhcmFtcztpZighdGhpcy5fY2hlY2tUdXJuYXJvdW5kKHQscikpe2IubG9nTm9ybWFsKGBTZXJpZXMgY29tcGxldGVkIGZvciBvbGQgZGF0YSwgZXhwZWN0ZWQ6ICR7dGhpcy5fc3ltYm9sSW5zdGFuY2VJZH0gKCR7dGhpcy50dXJuYXJvdW5kKCl9KSwgYWN0dWFsICR7dH0gKCR7cn0pYCk7YnJlYWt9dGhpcy5fb25TZXJpZXNDb21wbGV0ZWQocyxlLnRpbWUsaSk7YnJlYWt9Y2FzZSJkYXRhX3VwZGF0ZSI6aWYoIXRoaXMuX2NoZWNrVHVybmFyb3VuZChlLnBhcmFtcy5jdXN0b21JZCxlLnBhcmFtcy50dXJuYXJvdW5kKSl7Yi5sb2dOb3JtYWwoYERhdGEgdXBkYXRlIGZvciBvbGQgZGF0YSwgZXhwZWN0ZWQ6ICR7dGhpcy5fc3ltYm9sSW5zdGFuY2VJZH0gKCR7dGhpcy50dXJuYXJvdW5kKCl9KSwgYWN0dWFsICR7ZS5wYXJhbXMuY3VzdG9tSWR9ICgke2UucGFyYW1zLnR1cm5hcm91bmR9KWApO2JyZWFrfQphd2FpdCB0aGlzLl9vbkRhdGFVcGRhdGUoZS5wYXJhbXMucGxvdHMsZS5wYXJhbXMubm9uc2VyaWVzLGUucGFyYW1zLmxhc3RCYXIpO2JyZWFrO2Nhc2UiY2xlYXJfZGF0YSI6e2lmKGUucGFyYW1zLnR1cm5hcm91bmQhPT10aGlzLnR1cm5hcm91bmQoKSl7Yi5sb2dOb3JtYWwoYENsZWFyIGRhdGEgZm9yIG9sZCBkYXRhLCBleHBlY3RlZDogJHt0aGlzLnR1cm5hcm91bmQoKX0sIGFjdHVhbCAke2UucGFyYW1zLnR1cm5hcm91bmR9YCk7YnJlYWt9Y29uc3QgdD10aGlzLl9kYXRhLmZpcnN0KCk7dGhpcy5fY2xlYXJEYXRhSW1wbCgpLHRoaXMuX2RhdGFFdmVudHMuZmlyZURhdGFVcGRhdGVkKHZvaWQgMCwhMSxudWxsLCExLHQpO2JyZWFrfX19X29uU2VyaWVzRXJyb3IoZSl7bGV0IHQscztpZigic3RyaW5nIj09dHlwZW9mIGUpcz17ZXJyb3I6ZX0sdD1lO2Vsc2UgaWYocz1lLGUuY3R4KXtjb25zdCBzPXt9O09iamVjdC5lbnRyaWVzKGUuY3R4KS5mb3JFYWNoKCgoW2UsdF0pPT57c1tlXT10LnRvU3RyaW5nKCl9KSksaT1lLmVycm9yLGE9cyx0PWkucmVwbGFjZShnLCgoZSx0KT0+dm9pZCAwIT09YVt0XT9hW3RdOmUpKX1lbHNlIHQ9ZS5lcnJvcjt2YXIgaSxhO2lmKHQuc3RhcnRzV2l0aCgic3R1ZHlfbm90X2F1dGg6Iikpe2NvbnN0IGU9dC5zcGxpdCgiOiIsMilbMV0uc3BsaXQoIkAiLDIpWzBdO2lmKFsiQmFyU2V0UmVua28iLCJCYXJTZXRQcmljZUJyZWFrIiwiQmFyU2V0S2FnaSIsIkJhclNldFBuRiJdLmluY2x1ZGVzKGUpKXRoaXMuX2RhdGFFdmVudHMuZmlyZUNoYXJ0VHlwZU5vdFBlcm1pdHRlZChlKTtlbHNle2lmKCJCYXJTZXRTcHJlYWQiPT09ZSlyZXR1cm4gdm9pZCB0aGlzLl9kYXRhRXZlbnRzLmZpcmVJbnRyYWRheVNwcmVhZE5vdFBlcm1pdHRlZCgpO2lmKCJCYXJTZXRSYW5nZSI9PT1lKXtjb25zdCBlPWAkeygwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fZXh0U3ltYm9sKS5pbnB1dHMucmFuZ2V9UmA7dGhpcy5fZGF0YUV2ZW50cy5maXJlQ3VzdG9tSW50ZXJ2YWxOb3RQZXJtaXR0ZWQoZSl9fX1lbHNle2lmKHQuc3RhcnRzV2l0aCgidW5zdXBwb3J0ZWQiKSlyZXR1cm4gdm9pZCB0aGlzLl9kYXRhRXZlbnRzLmZpcmVVbnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQoKTsicmVzb2x1dGlvbl9ub3RfZW50aXRsZWQiPT09dD90aGlzLl9kYXRhRXZlbnRzLmZpcmVJbnRyYWRheUV4Y2hhbmdlTm90UGVybWl0dGVkKCk6ImN1c3RvbV9yZXNvbHV0aW9uIj09PXQ/dGhpcy5fZGF0YUV2ZW50cy5maXJlQ3VzdG9tSW50ZXJ2YWxOb3RQZXJtaXR0ZWQoKDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9yZXNvbHV0aW9uKSk6InNlY29uZHNfbm90X2VudGl0bGVkIj09PXQ/dGhpcy5fZGF0YUV2ZW50cy5maXJlU2Vjb25kc0ludGVydmFsTm90UGVybWl0dGVkKCk6InRpY2tzX25vdF9lbnRpdGxlZCI9PT10JiZ0aGlzLl9kYXRhRXZlbnRzLmZpcmVUaWNrc0ludGVydmFsTm90UGVybWl0dGVkKCl9dGhpcy5fZGF0YUV2ZW50cy5maXJlU2VyaWVzRXJyb3Iocyl9X29uU2VyaWVzVGltZUZyYW1lKGUsdCxzLHIsaSl7dGhpcy5fZGF0YUV2ZW50cy5maXJlU2VyaWVzVGltZUZyYW1lKGUsdCxzLHI/PyEwLGkpfV9vblN5bWJvbEVycm9yKGUpe2lmKGUucGFyYW1zWzFdPT09ZC5wZXJtaXNzaW9uRGVuaWVkKXN3aXRjaChlLnBhcmFtc1syXSl7Y2FzZSBkLlN5bWJvbEVycm9yUGVybWlzc2lvbkRlbmllZFJlYXNvbi5TeW1ib2w6dGhpcy5fZGF0YUV2ZW50cy5maXJlU3ltYm9sTm90UGVybWl0dGVkKGUucGFyYW1zWzNdKTticmVhaztjYXNlIGQuU3ltYm9sRXJyb3JQZXJtaXNzaW9uRGVuaWVkUmVhc29uLkdyb3VwUGVybWlzc2lvbjp0aGlzLl9kYXRhRXZlbnRzLmZpcmVTeW1ib2xHcm91cE5vdFBlcm1pdHRlZChlLnBhcmFtc1szXSk7YnJlYWs7ZGVmYXVsdDp0aGlzLl9kYXRhRXZlbnRzLmZpcmVTeW1ib2xOb3RQZXJtaXR0ZWQoZS5wYXJhbXNbMl0pfWVsc2UgZS5wYXJhbXNbMV09PT1kLmludmFsaWRTeW1ib2wmJnRoaXMuX2RhdGFFdmVudHMuZmlyZVN5bWJvbEludmFsaWQoKTt0aGlzLl9kYXRhRXZlbnRzLmZpcmVTeW1ib2xFcnJvcihlLnBhcmFtc1sxXSl9X29uU3ltYm9sUmVzb2x2ZWQoZSl7dGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sPSgwLHIuZW5zdXJlTm90TnVsbCkoKDAscC5leHRyYWN0U3ltYm9sTmFtZUZyb21TeW1ib2xJbmZvKShDLl9leHRyYWN0U3ltYm9sTmFtZUZlYXR1cmVzZXRzLGUsIiIpKSx0aGlzLl9kYXRhRXZlbnRzLmZpcmVTeW1ib2xSZXNvbHZlZChlKX1hc3luYyBfb25EYXRhVXBkYXRlKGUsdCxzKXt0aGlzLl9vbkRhdGFVbnBhY2tlZChlLHMsYXdhaXQoMCxtLnBhcnNlSmFwYW5lc2VQcm9qZWN0aW9uQmFycykodCxDLl9ub25TZXJpZXNEYXRhVW5wYWNrZXIpKX1fZW5xdWV1ZVVwZGF0ZShlKXtyZXR1cm4gdGhpcy5fb25nb2luZ0RhdGFVcGRhdGU9dGhpcy5fb25nb2luZ0RhdGFVcGRhdGUudGhlbihlLGUpLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlfV9vbkRhdGFVbnBhY2tlZChlLHQscyl7aWYodGhpcy5fc3RhdHVzPT09Zi5JZGxlKXJldHVybjt0aGlzLl9zdGF0dXM9PT1mLkF3YWl0aW5nRmlyc3REYXRhVXBkYXRlJiYodGhpcy5fY2hhbmdlU3RhdHVzVG8oZi5BY3RpdmUpLHRoaXMuX2NsZWFyRGF0YUltcGwoKSk7Y29uc3Qgcj10aGlzLl9kYXRhLmJhcnMoKS5zaXplKCksaT10aGlzLl9kYXRhLmZpcnN0KCksYT10aGlzLl9kYXRhLmJhcnMoKS5maXJzdEluZGV4KCksbz10aGlzLl9kYXRhLm1lcmdlUmVndWxhckJhcnMoZSk7bnVsbCE9PXMmJih0aGlzLl9kYXRhLm5zQmFycygpLmNsZWFyKCksdGhpcy5fZGF0YS5uc0JhcnMoKS5tZXJnZShzLnByb2plY3Rpb25QbG90cyksdGhpcy5fZGF0YS5sYXN0UHJvamVjdGlvblByaWNlPXMubGFzdFByaWNlLG51bGwhPT1zLmJveFNpemUmJih0aGlzLl9kYXRhLmJveFNpemU9cy5ib3hTaXplKSx0aGlzLl9kYXRhLnJldmVyc2FsQW1vdW50PXMucmV2ZXJzYWxBbW91bnQpO2NvbnN0IG49bnVsbD09PWEsZD1ufHxudWxsIT09byYmby5pbmRleDxhO3RoaXMuX2RhdGFFdmVudHMuZmlyZURhdGFVcGRhdGVkKHQsZCxvLG4saSksCnIhPT10aGlzLl9kYXRhLmJhcnMoKS5zaXplKCkmJm51bGwhPT1vJiZ0aGlzLl9kYXRhRXZlbnRzLmZpcmVCYXJSZWNlaXZlZChvKX1fb25TZXJpZXNMb2FkaW5nKGUpe3RoaXMuX2RhdGFFdmVudHMuZmlyZUxvYWRpbmcoZSl9X29uU2VyaWVzQ29tcGxldGVkKGUsdCxzKXt0aGlzLl9kYXRhRXZlbnRzLmZpcmVDb21wbGV0ZWQoe3VwZGF0ZU1vZGU6ZSx0aW1lOnQsZmxhZ3M6c30pfV9jaGVja1R1cm5hcm91bmQoZSx0KXtyZXR1cm4gdGhpcy5faW5zdGFuY2VJZD09PWUmJih2b2lkIDA9PT10fHx0PT09dGhpcy50dXJuYXJvdW5kKCkpfX1DLl9ub25TZXJpZXNEYXRhVW5wYWNrZXI9bC51bnBhY2tOb25TZXJpZXNEYXRhLEMuX2VuY29kZVN5bWJvbD1jLmVuY29kZUV4dGVuZGVkU3ltYm9sLEMuX2V4dHJhY3RTeW1ib2xOYW1lRmVhdHVyZXNldHM9e3BheUF0dGVudGlvblRvVGlja2VyTm90U3ltYm9sOiExLGNoYXJ0aW5nTGlicmFyeVNpbmdsZVN5bWJvbFJlcXVlc3Q6ITEsdXNlVGlja2VyT25TeW1ib2xJbmZvVXBkYXRlOiExLHVwcGVyY2FzZUluc3RydW1lbnROYW1lczohMX19LDEyMTQ3OShlLHQscyl7cy5kKHQse2dldFNlcnZlckludGVydmFsOigpPT5pfSk7dmFyIHI9cygyNTQ2NzMpO2Z1bmN0aW9uIGkoZSl7cmV0dXJuIHIuSW50ZXJ2YWwuaXNSYW5nZShlKT8iMSI6ZX19LDk5NTY1NShlLHQscyl7cy5kKHQse3ZhbGlkYXRlR3JhcGhpY3NDb21tYW5kczooKT0+YX0pO3ZhciByPXMoNjAxODQxKSxpPXMoMTM4NjM4KTtmdW5jdGlvbiBhKGUpe2lmKCEoMCxyLmlzT2JqZWN0KShlKSl0aHJvdyBuZXcgRXJyb3IoIkdyYXBoaWNzIGNvbW1hbmRzIHNob3VsZCBiZSB3cmFwcGVkIGluIGFuIG9iamVjdCIpO2lmKCgwLHIuaGFzUHJvcGVydHkpKGUsImNyZWF0ZSIpLCgwLHIuaGFzUHJvcGVydHkpKGUsImVyYXNlIikpe2NvbnN0IHQ9ZS5lcmFzZTsoMCxpLmFzc2VydCkoQXJyYXkuaXNBcnJheSh0KSwiQ29sbGVjdGlvbiBvZiBlcmFzZSBjb21tYW5kcyBzaG91bGQgYmUgYXJyYXkiKTtmb3IoY29uc3QgZSBvZiB0KXtpZighKDAsci5pc09iamVjdCkoZSl8fCEoMCxyLmhhc1Byb3BlcnR5KShlLCJhY3Rpb24iKSl0aHJvdyBuZXcgRXJyb3IoIkNvbW1hbmQgc2hvdWxkIGJlIGFuIG9iamVjdCB3aXRoICdhY3Rpb24nIHByb3BlcnR5Iik7KDAsaS5hc3NlcnQpKCJhbGwiPT09ZS5hY3Rpb258fCJvbmUiPT09ZS5hY3Rpb24sIkVyYXNlIGNvbW1hbmQgYWN0aW9uIHNob3VsZCBiZSAnYWxsJyBvciAnb25lJyIpfX1yZXR1cm4gZX19LDMyMjU1NChlLHQscyl7ZnVuY3Rpb24gcihlLHQscyl7cmV0dXJuIGU9PT10fHxlPT09c31zLmQodCx7c3ltYm9sU2FtZUFzUmVzb2x2ZWQ6KCk9PnJ9KX0sODE0NTg5KGUsdCxzKXtzLmQodCx7SU5WQUxJRF9USU1FX1BPSU5UX0lOREVYOigpPT5yLFVOUExPVFRBQkxFX1RJTUVfUE9JTlRfSU5ERVg6KCk9Pml9KTtjb25zdCByPS0yZTYsaT0tMWU2fSw4NjY3NDgoZSx0LHMpe2FzeW5jIGZ1bmN0aW9uIHIoZSl7Y29uc3Rbe2luZmxhdGVabGliOnQsaW5mbGF0ZVJhdzpyfSx7dW5wYWNrSW1wbDppfV09YXdhaXQgUHJvbWlzZS5hbGwoWyJmdW5jdGlvbiI9PXR5cGVvZiBEZWNvbXByZXNzaW9uU3RyZWFtP3MuZSgyMTI2MCkudGhlbihzLmJpbmQocyw3MzUwOTkpKTpQcm9taXNlLmFsbChbcy5lKDI0Njk4KSxzLmUoNjIyMzQpXSkudGhlbihzLmJpbmQocywyOTU4NzMpKSxzLmUoMjEyNjApLnRoZW4ocy5iaW5kKHMsMjk0NDgzKSldKTtyZXR1cm4gaSh0LHIsZSl9cy5kKHQse3VucGFjazooKT0+cn0pfSwxODk4NjMoZSx0LHMpe3MuZCh0LHtTcGlubmVyOigpPT5hfSk7cyg4NDU1NzcpO3ZhciByPXMoNDQzNTU3KSxpPXMoNTY3NDc5KTtjbGFzcyBhe2NvbnN0cnVjdG9yKGUpe3RoaXMuX3Nob3duPSExLHRoaXMuX2VsPSgwLHIucGFyc2VIdG1sRWxlbWVudCkoZnVuY3Rpb24oZT0iIil7cmV0dXJuYDxkaXYgY2xhc3M9InR2LXNwaW5uZXIgJHtlfSIgcm9sZT0icHJvZ3Jlc3NiYXIiPjwvZGl2PmB9KCkpLHRoaXMuc2V0U2l6ZShpLnNwaW5uZXJTaXplTWFwW2V8fGkuREVGQVVMVF9TSVpFXSl9c3BpbihlKXtyZXR1cm4gdGhpcy5fZWwuY2xhc3NMaXN0LmFkZCgidHYtc3Bpbm5lci0tc2hvd24iKSx2b2lkIDA9PT10aGlzLl9jb250YWluZXImJih0aGlzLl9jb250YWluZXI9ZSx2b2lkIDAhPT1lJiZlLmFwcGVuZENoaWxkKHRoaXMuX2VsKSksdGhpcy5fc2hvd249ITAsdGhpc31zdG9wKGUpe3JldHVybiBlJiZ2b2lkIDAhPT10aGlzLl9jb250YWluZXImJnRoaXMuX2NvbnRhaW5lci5yZW1vdmVDaGlsZCh0aGlzLl9lbCksdGhpcy5fZWwmJnRoaXMuX2VsLmNsYXNzTGlzdC5yZW1vdmUoInR2LXNwaW5uZXItLXNob3duIiksdGhpcy5fc2hvd249ITEsdGhpc31zZXRTdHlsZShlKXtyZXR1cm4gT2JqZWN0LmtleXMoZSkuZm9yRWFjaCgodD0+e2NvbnN0IHM9ZVt0XTt2b2lkIDAhPT1zJiZ0aGlzLl9lbC5zdHlsZS5zZXRQcm9wZXJ0eSh0LHMpfSkpLHRoaXN9c3R5bGUoKXtyZXR1cm4gdGhpcy5fZWwuc3R5bGV9c2V0U2l6ZShlKXtjb25zdCB0PXZvaWQgMCE9PWU/YHR2LXNwaW5uZXItLXNpemVfJHtlfWA6IiI7cmV0dXJuIHRoaXMuX2VsLmNsYXNzTmFtZT1gdHYtc3Bpbm5lciAke3R9ICR7dGhpcy5fc2hvd24/InR2LXNwaW5uZXItLXNob3duIjoiIn1gLHRoaXN9Z2V0RWwoKXtyZXR1cm4gdGhpcy5fZWx9ZGVzdHJveSgpe3RoaXMuc3RvcCgpLGRlbGV0ZSB0aGlzLl9lbCxkZWxldGUgdGhpcy5fY29udGFpbmVyfX19LDIyNjkzNyhlLHQscyl7cy5kKHQse0FzeW5jUmVzb3VyY2VXcmFwcGVyOigpPT5yfSk7Y2xhc3Mgcntjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2Rlc3Ryb3llZD0hMSx0aGlzLl9jYWxsYmFja3M9W10sdGhpcy5fcmVzb3VyY2U9e3BlbmRpbmdSZXNvdXJjZTplfSx0aGlzLl9kZXN0cm95Rm49dCxlLnRoZW4oKGU9PntpZih0aGlzLl9kZXN0cm95ZWQpdGhpcy5fZGVzdHJveUZuPy4oZSk7ZWxzZXt0aGlzLl9yZXNvdXJjZS5yZXNvdXJjZT1lO2Zvcihjb25zdCB0IG9mIHRoaXMuX2NhbGxiYWNrcyl0KGUpfX0pKS5maW5hbGx5KCgoKT0+e3RoaXMuX2NhbGxiYWNrcz1bXX0pKX0KZGVzdHJveSgpe3RoaXMuX3Jlc291cmNlLnJlc291cmNlJiZ0aGlzLl9kZXN0cm95Rm4/Lih0aGlzLl9yZXNvdXJjZS5yZXNvdXJjZSksdGhpcy5fcmVzb3VyY2U9e3BlbmRpbmdSZXNvdXJjZTpQcm9taXNlLnJlamVjdCgiUmVzb3VyY2UgaXMgZGVzdHJveWVkIikuY2F0Y2goKCgpPT57fSkpfSx0aGlzLl9jYWxsYmFja3M9W10sdGhpcy5fZGVzdHJveWVkPSEwfWNhbGxGdW5jdGlvbihlKXt0aGlzLl9kZXN0cm95ZWR8fCh0aGlzLl9yZXNvdXJjZS5yZXNvdXJjZT9lKHRoaXMuX3Jlc291cmNlLnJlc291cmNlKTp0aGlzLl9jYWxsYmFja3MucHVzaChlKSl9Z2V0KCl7cmV0dXJuIHRoaXMuX2Rlc3Ryb3llZHx8IXRoaXMuX3Jlc291cmNlLnJlc291cmNlP251bGw6dGhpcy5fcmVzb3VyY2UucmVzb3VyY2V9cHJvbWlzZSgpe3JldHVybiB0aGlzLl9yZXNvdXJjZS5wZW5kaW5nUmVzb3VyY2V9fX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/91855.009764da61bd8c8c44be.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.177Z","timestamp":1785120634177,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/91855.009764da61bd8c8c44be.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-3ec8\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d14b4e938fbf35ea74ab2e975123a154\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":16072,"size_decoded":3208,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (16072), with no line terminators","md5":"5af480f71e4ef9ec77601345a4929f5d","sha1":"ecefed36b921685bdd5209326cb6df8597dde83a","sha256":"3ebda9c5708c386688759cbfcdb87d7945032ec17792e052beb13dc8e324634f","sha512":"70df359a37d0201c61d77f5f9bd228c85b53c7ff114d8440380b0adff4052ffe3a1f7827d0ce1e96b173f732ba5064899dc6736b12d5b6899ed48f2562fb9e5d","ssdeep":"192:+8o3ziODLTrekcQDLBrvQXsDLHrH41UDLZrZwJL4DL84rp4P4wNvHNoIh2EHDc5n:+8o1vHvQ0Q6UlNvHNoIwyDVjEZ9eYJ","tlshash":"917210872355d8647877f6cd66aa63a952008c3ad002cefdc072aebd92c37f911e5f12","first_seen":"2026-07-16T13:40:49.854598Z","last_seen":"2026-07-27T05:19:37.122218Z","times_seen":103,"resource_available":false,"data":"LnNjcm9sbFdyYXAtRmFWMGJLN2V7bWFyZ2luOi00cHg7bWluLWhlaWdodDoxMDAlO3BhZGRpbmc6NHB4O3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO3dpZHRoOjEwMCV9LnNjcm9sbFdyYXAtRmFWMGJLN2Uub3ZlcmZsb3dTY3JvbGwtRmFWMGJLN2V7b3ZlcmZsb3cteDphdXRvO292ZXJmbG93LXk6aGlkZGVuOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNofUBzdXBwb3J0cyAoLW1vei1hcHBlYXJhbmNlOm5vbmUpey5zY3JvbGxXcmFwLUZhVjBiSzdlLm92ZXJmbG93U2Nyb2xsLUZhVjBiSzdle3Njcm9sbGJhci13aWR0aDpub25lfX0uc2Nyb2xsV3JhcC1GYVYwYks3ZS5vdmVyZmxvd1Njcm9sbC1GYVYwYks3ZS5zYi1zY3JvbGxiYXItd3JhcHtkaXNwbGF5Om5vbmV9LnNjcm9sbFdyYXAtRmFWMGJLN2Uub3ZlcmZsb3dTY3JvbGwtRmFWMGJLN2U6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MDt3aWR0aDowfS5zY3JvbGxXcmFwLUZhVjBiSzdlLm92ZXJmbG93U2Nyb2xsLUZhVjBiSzdlOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiwuc2Nyb2xsV3JhcC1GYVYwYks3ZS5vdmVyZmxvd1Njcm9sbC1GYVYwYks3ZTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7ZGlzcGxheTpub25lfS5zY3JvbGxXcmFwLUZhVjBiSzdlLm92ZXJmbG93U2Nyb2xsLUZhVjBiSzdlOjotd2Via2l0LXNjcm9sbGJhci1jb3JuZXJ7ZGlzcGxheTpub25lfS5zcXVhcmVUYWJzLUZhVjBiSzdle2Rpc3BsYXk6ZmxleDtmbGV4LWZsb3c6cm93IG5vd3JhcDstLXVpLWxpYi1wcml2YXRlLXNxdWFyZVRhYnMtbWFyZ2luOnZhcigtLXVpLWxpYi1wcml2YXRlLXNxdWFyZVRhYnMtZ2FwKX06bm90KC5vdmVyZmxvd1Njcm9sbC1GYVYwYks3ZSkgLnNxdWFyZVRhYnMtRmFWMGJLN2V7cGFkZGluZzowIHZhcigtLXVpLWxpYi1zcXVhcmVUYWJzLWhvcml6b250YWwtc2Nyb2xsLXBhZGRpbmcsMCl9Lm92ZXJmbG93U2Nyb2xsLUZhVjBiSzdlIC5zcXVhcmVUYWJzLUZhVjBiSzdle3BhZGRpbmctaW5saW5lLXN0YXJ0OnZhcigtLXVpLWxpYi1zcXVhcmVUYWJzLWhvcml6b250YWwtc2Nyb2xsLXBhZGRpbmcsMCl9Lm92ZXJmbG93U2Nyb2xsLUZhVjBiSzdlIC5zcXVhcmVUYWJzLUZhVjBiSzdlOmFmdGVye2NvbnRlbnQ6IiI7ZmxleC1zaHJpbms6MDt3aWR0aDpjYWxjKHZhcigtLXVpLWxpYi1zcXVhcmVUYWJzLWhvcml6b250YWwtc2Nyb2xsLXBhZGRpbmcsIDBweCkgKyA0cHgpfS5vdmVyZmxvd1dyYXAtRmFWMGJLN2UgLnNxdWFyZVRhYnMtRmFWMGJLN2V7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVUYWJzLW1hcmdpbjowO2ZsZXgtd3JhcDp3cmFwO2dhcDp2YXIoLS11aS1saWItcHJpdmF0ZS1zcXVhcmVUYWJzLWdhcCl9LnNxdWFyZVRhYnMtRmFWMGJLN2UgLmNvbnRlbnQtRmFWMGJLN2V7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0uc3F1YXJlVGFicy1GYVYwYks3ZSAudmVydGljYWxDb250ZW50LUZhVjBiSzdle2Rpc3BsYXk6YmxvY2s7bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO3dpZHRoOmZpdC1jb250ZW50fS52ZXJ0aWNhbC1GYVYwYks3ZXtmbGV4LWZsb3c6Y29sdW1ufS54c21hbGwtRmFWMGJLN2UgLnNxdWFyZVRhYkJ1dHRvbi1GYVYwYks3ZTpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4taW5saW5lLXN0YXJ0OnZhcigtLXVpLWxpYi1wcml2YXRlLXNxdWFyZVRhYnMtbWFyZ2luKX0ueHNtYWxsLUZhVjBiSzdlIC5zcXVhcmVUYWJCdXR0b24tRmFWMGJLN2U6aGFzKC5zdGFydFNsb3RXcmFwLUZhVjBiSzdlKXtwYWRkaW5nLWlubGluZS1zdGFydDo2cHh9LnhzbWFsbC1GYVYwYks3ZSAuc3F1YXJlVGFiQnV0dG9uLUZhVjBiSzdlOmhhcyguc3RhcnRTbG90V3JhcC1GYVYwYks3ZSk6bm90KDpoYXMoLmNvbnRlbnQtRmFWMGJLN2UpKXthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzowfS54c21hbGwtRmFWMGJLN2UgLnNxdWFyZVRhYkJ1dHRvbi1GYVYwYks3ZTpoYXMoLmVuZFNsb3RXcmFwLUZhVjBiSzdlKTpoYXMoLmNvbnRlbnQtRmFWMGJLN2Upe3BhZGRpbmctaW5saW5lLWVuZDo2cHh9LnhzbWFsbC1GYVYwYks3ZSAuZW5kU2xvdFdyYXAtRmFWMGJLN2UsLnhzbWFsbC1GYVYwYks3ZSAuZW5kVXBwZXJTbG90LUZhVjBiSzdlLC54c21hbGwtRmFWMGJLN2UgLnN0YXJ0U2xvdFdyYXAtRmFWMGJLN2V7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aGl0ZS1zcGFjZTpub3JtYWx9LnhzbWFsbC1GYVYwYks3ZSAuZW5kU2xvdFdyYXAtRmFWMGJLN2UsLnhzbWFsbC1GYVYwYks3ZSAuc3RhcnRTbG90V3JhcC1GYVYwYks3ZXttYXgtaGVpZ2h0Om1heC1jb250ZW50O21heC13aWR0aDptYXgtY29udGVudH0ueHNtYWxsLUZhVjBiSzdlIC5lbmRVcHBlclNsb3QtRmFWMGJLN2V7aW5zZXQtaW5saW5lLWVuZDotMnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMnB4O3otaW5kZXg6MTB9LnhzbWFsbC1GYVYwYks3ZSAuc3RhcnRTbG90V3JhcC1GYVYwYks3ZXttYXJnaW4taW5saW5lLWVuZDo0cHh9LnhzbWFsbC1GYVYwYks3ZSAuZW5kU2xvdFdyYXAtRmFWMGJLN2V7bWFyZ2luLWlubGluZS1zdGFydDo0cHh9LnhzbWFsbC1GYVYwYks3ZSAuc3RhcnRTbG90V3JhcEljb25Pbmx5LUZhVjBiSzdle21hcmdpbi1pbmxpbmUtZW5kOjB9LnNtYWxsLUZhVjBiSzdlIC5zcXVhcmVUYWJCdXR0b24tRmFWMGJLN2U6bm90KDpmaXJzdC1jaGlsZCl7bWFyZ2luLWlubGluZS1zdGFydDp2YXIoLS11aS1saWItcHJpdmF0ZS1zcXVhcmVUYWJzLW1hcmdpbil9LnNtYWxsLUZhVjBiSzdlIC5zcXVhcmVUYWJCdXR0b24tRmFWMGJLN2U6aGFzKC5zdGFydFNsb3RXcmFwLUZhVjBiSzdlKXtwYWRkaW5nLWlubGluZS1zdGFydDoxMHB4fS5zbWFsbC1GYVYwYks3ZSAuc3F1YXJlVGFiQnV0dG9uLUZhVjBiSzdlOmhhcyguc3RhcnRTbG90V3JhcC1GYVYwYks3ZSk6bm90KDpoYXMoLmNvbnRlbnQtRmFWMGJLN2UpKXthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzowfS5zbWFsbC1GYVYwYks3ZSAuc3F1YXJlVGFiQnV0dG9uLUZhVjBiSzdlOmhhcyguZW5kU2xvdFdyYXAtRmFWMGJLN2UpOmhhcyguY29udGVudC1GYVYwYks3ZSl7cGFkZGluZy1pbmxpbmUtZW5kOjEwcHh9LnNtYWxsLUZhVjBiSzdlIC5lbmRTbG90V3JhcC1GYVYwYks3ZSwuc21hbGwtRmFWMGJLN2UgLmVuZFVwcGVyU2xvdC1GYVYwYks3ZSwuc21hbGwtRmFWMGJLN2UgLnN0YXJ0U2xvdFdyYXAtRmFWMGJLN2V7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aGl0ZS1zcGFjZTpub3JtYWx9LnNtYWxsLUZhVjBiSzdlIC5lbmRTbG90V3JhcC1GYVYwYks3ZSwuc21hbGwtRmFWMGJLN2UgLnN0YXJ0U2xvdFdyYXAtRmFWMGJLN2V7bWF4LWhlaWdodDptYXgtY29udGVudDttYXgtd2lkdGg6bWF4LWNvbnRlbnR9LnNtYWxsLUZhVjBiSzdlIC5lbmRVcHBlclNsb3QtRmFWMGJLN2V7aW5zZXQtaW5saW5lLWVuZDotMnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMnB4O3otaW5kZXg6MTB9LnNtYWxsLUZhVjBiSzdlIC5zdGFydFNsb3RXcmFwLUZhVjBiSzdle21hcmdpbi1pbmxpbmUtZW5kOjRweH0uc21hbGwtRmFWMGJLN2UgLmVuZFNsb3RXcmFwLUZhVjBiSzdle21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4fS5zbWFsbC1GYVYwYks3ZSAuc3RhcnRTbG90V3JhcEljb25Pbmx5LUZhVjBiSzdle21hcmdpbi1pbmxpbmUtZW5kOjB9Lm1lZGl1bS1GYVYwYks3ZSAuc3F1YXJlVGFiQnV0dG9uLUZhVjBiSzdlOm5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1pbmxpbmUtc3RhcnQ6dmFyKC0tdWktbGliLXByaXZhdGUtc3F1YXJlVGFicy1tYXJnaW4pfS5tZWRpdW0tRmFWMGJLN2UgLnNxdWFyZVRhYkJ1dHRvbi1GYVYwYks3ZTpoYXMoLnN0YXJ0U2xvdFdyYXAtRmFWMGJLN2Upe3BhZGRpbmctaW5saW5lLXN0YXJ0OjEycHh9Lm1lZGl1bS1GYVYwYks3ZSAuc3F1YXJlVGFiQnV0dG9uLUZhVjBiSzdlOmhhcyguc3RhcnRTbG90V3JhcC1GYVYwYks3ZSk6bm90KDpoYXMoLmNvbnRlbnQtRmFWMGJLN2UpKXthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzowfS5tZWRpdW0tRmFWMGJLN2UgLnNxdWFyZVRhYkJ1dHRvbi1GYVYwYks3ZTpoYXMoLmVuZFNsb3RXcmFwLUZhVjBiSzdlKTpoYXMoLmNvbnRlbnQtRmFWMGJLN2Upe3BhZGRpbmctaW5saW5lLWVuZDoxMnB4fS5tZWRpdW0tRmFWMGJLN2UgLmVuZFNsb3RXcmFwLUZhVjBiSzdlLC5tZWRpdW0tRmFWMGJLN2UgLmVuZFVwcGVyU2xvdC1GYVYwYks3ZSwubWVkaXVtLUZhVjBiSzdlIC5zdGFydFNsb3RXcmFwLUZhVjBiSzdle2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7d2hpdGUtc3BhY2U6bm9ybWFsfS5tZWRpdW0tRmFWMGJLN2UgLmVuZFNsb3RXcmFwLUZhVjBiSzdlLC5tZWRpdW0tRmFWMGJLN2UgLnN0YXJ0U2xvdFdyYXAtRmFWMGJLN2V7bWF4LWhlaWdodDptYXgtY29udGVudDttYXgtd2lkdGg6bWF4LWNvbnRlbnR9Lm1lZGl1bS1GYVYwYks3ZSAuZW5kVXBwZXJTbG90LUZhVjBiSzdle2luc2V0LWlubGluZS1lbmQ6LTJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTJweDt6LWluZGV4OjEwfS5tZWRpdW0tRmFWMGJLN2UgLnN0YXJ0U2xvdFdyYXAtRmFWMGJLN2V7bWFyZ2luLWlubGluZS1lbmQ6NHB4fS5tZWRpdW0tRmFWMGJLN2UgLmVuZFNsb3RXcmFwLUZhVjBiSzdle21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4fS5tZWRpdW0tRmFWMGJLN2UgLnN0YXJ0U2xvdFdyYXBJY29uT25seS1GYVYwYks3ZXttYXJnaW4taW5saW5lLWVuZDowfS5tZWRpdW1XaXRoU21hbGxGb250LUZhVjBiSzdlIC5zcXVhcmVUYWJCdXR0b24tRmFWMGJLN2U6bm90KDpmaXJzdC1jaGlsZCl7bWFyZ2luLWlubGluZS1zdGFydDp2YXIoLS11aS1saWItcHJpdmF0ZS1zcXVhcmVUYWJzLW1hcmdpbil9Lm1lZGl1bVdpdGhTbWFsbEZvbnQtRmFWMGJLN2UgLnNxdWFyZVRhYkJ1dHRvbi1GYVYwYks3ZTpoYXMoLnN0YXJ0U2xvdFdyYXAtRmFWMGJLN2Upe3BhZGRpbmctaW5saW5lLXN0YXJ0OjEycHh9Lm1lZGl1bVdpdGhTbWFsbEZvbnQtRmFWMGJLN2UgLnNxdWFyZVRhYkJ1dHRvbi1GYVYwYks3ZTpoYXMoLnN0YXJ0U2xvdFdyYXAtRmFWMGJLN2UpOm5vdCg6aGFzKC5jb250ZW50LUZhVjBiSzdlKSl7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6MH0ubWVkaXVtV2l0aFNtYWxsRm9udC1GYVYwYks3ZSAuc3F1YXJlVGFiQnV0dG9uLUZhVjBiSzdlOmhhcyguZW5kU2xvdFdyYXAtRmFWMGJLN2UpOmhhcyguY29udGVudC1GYVYwYks3ZSl7cGFkZGluZy1pbmxpbmUtZW5kOjEycHh9Lm1lZGl1bVdpdGhTbWFsbEZvbnQtRmFWMGJLN2UgLmVuZFNsb3RXcmFwLUZhVjBiSzdlLC5tZWRpdW1XaXRoU21hbGxGb250LUZhVjBiSzdlIC5lbmRVcHBlclNsb3QtRmFWMGJLN2UsLm1lZGl1bVdpdGhTbWFsbEZvbnQtRmFWMGJLN2UgLnN0YXJ0U2xvdFdyYXAtRmFWMGJLN2V7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aGl0ZS1zcGFjZTpub3JtYWx9Lm1lZGl1bVdpdGhTbWFsbEZvbnQtRmFWMGJLN2UgLmVuZFNsb3RXcmFwLUZhVjBiSzdlLC5tZWRpdW1XaXRoU21hbGxGb250LUZhVjBiSzdlIC5zdGFydFNsb3RXcmFwLUZhVjBiSzdle21heC1oZWlnaHQ6bWF4LWNvbnRlbnQ7bWF4LXdpZHRoOm1heC1jb250ZW50fS5tZWRpdW1XaXRoU21hbGxGb250LUZhVjBiSzdlIC5lbmRVcHBlclNsb3QtRmFWMGJLN2V7aW5zZXQtaW5saW5lLWVuZDotMnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMnB4O3otaW5kZXg6MTB9Lm1lZGl1bVdpdGhTbWFsbEZvbnQtRmFWMGJLN2UgLnN0YXJ0U2xvdFdyYXAtRmFWMGJLN2V7bWFyZ2luLWlubGluZS1lbmQ6NHB4fS5tZWRpdW1XaXRoU21hbGxGb250LUZhVjBiSzdlIC5lbmRTbG90V3JhcC1GYVYwYks3ZXttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0ubWVkaXVtV2l0aFNtYWxsRm9udC1GYVYwYks3ZSAuc3RhcnRTbG90V3JhcEljb25Pbmx5LUZhVjBiSzdle21hcmdpbi1pbmxpbmUtZW5kOjB9LnhsYXJnZS1GYVYwYks3ZSAuc3F1YXJlVGFiQnV0dG9uLUZhVjBiSzdlOm5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1pbmxpbmUtc3RhcnQ6dmFyKC0tdWktbGliLXByaXZhdGUtc3F1YXJlVGFicy1tYXJnaW4pfS54bGFyZ2UtRmFWMGJLN2UgLnNxdWFyZVRhYkJ1dHRvbi1GYVYwYks3ZTpoYXMoLnN0YXJ0U2xvdFdyYXAtRmFWMGJLN2Upe3BhZGRpbmctaW5saW5lLXN0YXJ0OjIycHh9LnhsYXJnZS1GYVYwYks3ZSAuc3F1YXJlVGFiQnV0dG9uLUZhVjBiSzdlOmhhcyguc3RhcnRTbG90V3JhcC1GYVYwYks3ZSk6bm90KDpoYXMoLmNvbnRlbnQtRmFWMGJLN2UpKXthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzowfS54bGFyZ2UtRmFWMGJLN2UgLnNxdWFyZVRhYkJ1dHRvbi1GYVYwYks3ZTpoYXMoLmVuZFNsb3RXcmFwLUZhVjBiSzdlKTpoYXMoLmNvbnRlbnQtRmFWMGJLN2Upe3BhZGRpbmctaW5saW5lLWVuZDoyMnB4fS54bGFyZ2UtRmFWMGJLN2UgLmVuZFNsb3RXcmFwLUZhVjBiSzdlLC54bGFyZ2UtRmFWMGJLN2UgLmVuZFVwcGVyU2xvdC1GYVYwYks3ZSwueGxhcmdlLUZhVjBiSzdlIC5zdGFydFNsb3RXcmFwLUZhVjBiSzdle2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7d2hpdGUtc3BhY2U6bm9ybWFsfS54bGFyZ2UtRmFWMGJLN2UgLmVuZFNsb3RXcmFwLUZhVjBiSzdlLC54bGFyZ2UtRmFWMGJLN2UgLnN0YXJ0U2xvdFdyYXAtRmFWMGJLN2V7bWF4LWhlaWdodDptYXgtY29udGVudDttYXgtd2lkdGg6bWF4LWNvbnRlbnR9LnhsYXJnZS1GYVYwYks3ZSAuZW5kVXBwZXJTbG90LUZhVjBiSzdle2luc2V0LWlubGluZS1lbmQ6LTJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTJweDt6LWluZGV4OjEwfS54bGFyZ2UtRmFWMGJLN2UgLnN0YXJ0U2xvdFdyYXAtRmFWMGJLN2V7bWFyZ2luLWlubGluZS1lbmQ6OHB4fS54bGFyZ2UtRmFWMGJLN2UgLmVuZFNsb3RXcmFwLUZhVjBiSzdle21hcmdpbi1pbmxpbmUtc3RhcnQ6OHB4fS54bGFyZ2UtRmFWMGJLN2UgLnN0YXJ0U2xvdFdyYXBJY29uT25seS1GYVYwYks3ZXttYXJnaW4taW5saW5lLWVuZDowfS5zcXVhcmVUYWJDb3VudGVyLUZhVjBiSzdle3otaW5kZXg6MTB9W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtU0VqaTojMDAwMDstLV8xLVNFamk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1fMi1TRWppOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tXzMtU0VqaTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLVNFamk6IzAwMDA7LS1fMS1TRWppOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tXzItU0VqaTp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMy1TRWppOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApfS5zcXVhcmVUYWJCdXR0b24tUktLVFJoWjZ7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAtU0VqaSk7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czo4cHg7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtkaXNwbGF5OmZsZXg7ZmxleC1mbG93OmNvbHVtbiBub3dyYXA7ZmxleC1zaHJpbms6MDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDtjdXJzb3I6ZGVmYXVsdH0uc3F1YXJlVGFiQnV0dG9uLVJLS1RSaFo2LnNlbGVjdGVkLVJLS1RSaFo2e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeS1ob3Zlcik7Y29sb3I6dmFyKC0tXzItU0VqaSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5zcXVhcmVUYWJCdXR0b24tUktLVFJoWjY6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5LWhvdmVyKTtjb2xvcjp2YXIoLS1fMi1TRWppKX19LnNxdWFyZVRhYkJ1dHRvbi1SS0tUUmhaNjphY3RpdmU6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtUktLVFJoWjYpe2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzEtU0VqaSk7Y29sb3I6dmFyKC0tXzItU0VqaSl9LnNxdWFyZVRhYkJ1dHRvbi1SS0tUUmhaNi5kaXNhYmxlZC1SS0tUUmhaNiwuc3F1YXJlVGFiQnV0dG9uLVJLS1RSaFo2LmRpc2FibGVkLVJLS1RSaFo2Om5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLVJLS1RSaFo2KXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLVNFamkpO2NvbG9yOnZhcigtLWNvbG9yLXRleHQtZGlzYWJsZWQpfS5zcXVhcmVUYWJCdXR0b24tUktLVFJoWjZ7b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmV9LnNxdWFyZVRhYkJ1dHRvbi1SS0tUUmhaNjpmb2N1c3tvdXRsaW5lOm5vbmV9LnNxdWFyZVRhYkJ1dHRvbi1SS0tUUmhaNjpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0uc3F1YXJlVGFiQnV0dG9uLVJLS1RSaFo2OmFmdGVye2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIiO2Rpc3BsYXk6bm9uZTtoZWlnaHQ6Y2FsYygxMDAlICsgOHB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LTRweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSArIDhweCk7ei1pbmRleDoxfS5zcXVhcmVUYWJCdXR0b24tUktLVFJoWjY6Zm9jdXM6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uc3F1YXJlVGFiQnV0dG9uLVJLS1RSaFo2OmZvY3VzLXZpc2libGU6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uc3F1YXJlVGFiQnV0dG9uLVJLS1RSaFo2OmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSk6YWZ0ZXJ7ZGlzcGxheTpub25lfS5zcXVhcmVUYWJCdXR0b24tUktLVFJoWjY6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmx1ZSk7Ym9yZGVyLXJhZGl1czoxMnB4fS5zcXVhcmVUYWJCdXR0b24tUktLVFJoWjYuZGlzYWJsZUZvY3VzT3V0bGluZS1SS0tUUmhaNjphZnRlcntkaXNwbGF5Om5vbmV9LnNxdWFyZVRhYkJ1dHRvbi1SS0tUUmhaNi54bGFyZ2UtUktLVFJoWjZ7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToyMHB4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjQwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjMwcHg7aGVpZ2h0OjU2cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpO21pbi13aWR0aDo1NnB4O3BhZGRpbmc6MCAyNnB4fS5zcXVhcmVUYWJCdXR0b24tUktLVFJoWjYueGxhcmdlLVJLS1RSaFo2IC50YWJIaWRkZW5Db250ZW50LVJLS1RSaFo2LC5zcXVhcmVUYWJCdXR0b24tUktLVFJoWjYueGxhcmdlLVJLS1RSaFo2LnNlbGVjdGVkLVJLS1RSaFo2e2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MjBweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo2MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyNHB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KX0uc3F1YXJlVGFiQnV0dG9uLVJLS1RSaFo2Lm1lZGl1bS1SS0tUUmhaNntmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7aGVpZ2h0OjQwcHg7bWluLXdpZHRoOjQwcHg7cGFkZGluZzowIDE2cHh9LnNxdWFyZVRhYkJ1dHRvbi1SS0tUUmhaNi5tZWRpdW0tUktLVFJoWjYsLnNxdWFyZVRhYkJ1dHRvbi1SS0tUUmhaNi5tZWRpdW0tUktLVFJoWjYuc2VsZWN0ZWQtUktLVFJoWjZ7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxNnB4Oy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MjRweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LnNxdWFyZVRhYkJ1dHRvbi1SS0tUUmhaNi5tZWRpdW0tUktLVFJoWjYuc2VsZWN0ZWQtUktLVFJoWjZ7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NjAwfS5zcXVhcmVUYWJCdXR0b24tUktLVFJoWjYubWVkaXVtLVJLS1RSaFo2IC50YWJIaWRkZW5Db250ZW50LVJLS1RSaFo2e2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjYwMH0uc3F1YXJlVGFiQnV0dG9uLVJLS1RSaFo2Lm1lZGl1bS1SS0tUUmhaNiAudGFiSGlkZGVuQ29udGVudC1SS0tUUmhaNiwuc3F1YXJlVGFiQnV0dG9uLVJLS1RSaFo2LnNtYWxsLVJLS1RSaFo2e2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS5zcXVhcmVUYWJCdXR0b24tUktLVFJoWjYuc21hbGwtUktLVFJoWjZ7Ym9yZGVyLXJhZGl1czo2cHg7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2hlaWdodDozNHB4O21pbi13aWR0aDozNHB4O3BhZGRpbmc6MCB2YXIoLS11aS1saWItc3F1YXJlVGFiLWJ1dHRvbi1zbWFsbC1pbmxpbmUtcGFkZGluZy1vdmVycmlkZSwxMnB4KX0uc3F1YXJlVGFiQnV0dG9uLVJLS1RSaFo2LnNtYWxsLVJLS1RSaFo2OmFmdGVye2JvcmRlci1yYWRpdXM6MTBweH0uc3F1YXJlVGFiQnV0dG9uLVJLS1RSaFo2LnNtYWxsLVJLS1RSaFo2IC50YWJIaWRkZW5Db250ZW50LVJLS1RSaFo2LC5zcXVhcmVUYWJCdXR0b24tUktLVFJoWjYuc21hbGwtUktLVFJoWjYuc2VsZWN0ZWQtUktLVFJoWjZ7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxNnB4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjYwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS5zcXVhcmVUYWJCdXR0b24tUktLVFJoWjYueHNtYWxsLVJLS1RSaFo2e2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTRweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoxOHB4O2JvcmRlci1yYWRpdXM6NnB4O2hlaWdodDoyOHB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KTttaW4td2lkdGg6MjhweDtwYWRkaW5nOjAgOHB4fS5zcXVhcmVUYWJCdXR0b24tUktLVFJoWjYueHNtYWxsLVJLS1RSaFo2OmFmdGVye2JvcmRlci1yYWRpdXM6MTBweH0uc3F1YXJlVGFiQnV0dG9uLVJLS1RSaFo2LnhzbWFsbC1SS0tUUmhaNiAudGFiSGlkZGVuQ29udGVudC1SS0tUUmhaNiwuc3F1YXJlVGFiQnV0dG9uLVJLS1RSaFo2LnhzbWFsbC1SS0tUUmhaNi5zZWxlY3RlZC1SS0tUUmhaNntmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo2MDB9LnNxdWFyZVRhYkJ1dHRvbi1SS0tUUmhaNi5tZWRpdW1XaXRoU21hbGxGb250LVJLS1RSaFo2LC5zcXVhcmVUYWJCdXR0b24tUktLVFJoWjYueHNtYWxsLVJLS1RSaFo2IC50YWJIaWRkZW5Db250ZW50LVJLS1RSaFo2LC5zcXVhcmVUYWJCdXR0b24tUktLVFJoWjYueHNtYWxsLVJLS1RSaFo2LnNlbGVjdGVkLVJLS1RSaFo2e2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTRweDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE4cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS5zcXVhcmVUYWJCdXR0b24tUktLVFJoWjYubWVkaXVtV2l0aFNtYWxsRm9udC1SS0tUUmhaNntmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7aGVpZ2h0OjQwcHg7bWluLXdpZHRoOjQwcHg7cGFkZGluZzowIDE2cHh9LnNxdWFyZVRhYkJ1dHRvbi1SS0tUUmhaNi5tZWRpdW1XaXRoU21hbGxGb250LVJLS1RSaFo2IC50YWJIaWRkZW5Db250ZW50LVJLS1RSaFo2LC5zcXVhcmVUYWJCdXR0b24tUktLVFJoWjYubWVkaXVtV2l0aFNtYWxsRm9udC1SS0tUUmhaNi5zZWxlY3RlZC1SS0tUUmhaNntmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NjAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LnNxdWFyZVRhYkJ1dHRvbi1SS0tUUmhaNi5mYWtlLVJLS1RSaFo2e2luc2V0LWlubGluZS1zdGFydDotOTk5OTk5cHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDptYXgtY29udGVudDt6LWluZGV4Oi0xfS52ZXJ0aWNhbFRhYnNXcmFwcGVyLVJLS1RSaFo2ey0tdWktbGliLXNxdWFyZVRhYnMtaG9yaXpvbnRhbC1zY3JvbGwtcGFkZGluZzowcHh9LnZlcnRpY2FsQnV0dG9uLVJLS1RSaFo2e2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6YXV0b30udmVydGljYWxCdXR0b24tUktLVFJoWjY6Zm9jdXN7b3V0bGluZTpub25lfS52ZXJ0aWNhbEJ1dHRvbi1SS0tUUmhaNjpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0udmVydGljYWxCdXR0b24tUktLVFJoWjY6YWZ0ZXJ7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDpjYWxjKDEwMCUgKyA0cHgpO2luc2V0LWlubGluZS1zdGFydDotMnB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi0ycHg7d2lkdGg6Y2FsYygxMDAlICsgNHB4KTt6LWluZGV4OjF9LnZlcnRpY2FsQnV0dG9uLVJLS1RSaFo2OmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LnZlcnRpY2FsQnV0dG9uLVJLS1RSaFo2OmZvY3VzLXZpc2libGU6YWZ0ZXJ7ZGlzcGxheTpibG9ja30udmVydGljYWxCdXR0b24tUktLVFJoWjY6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKTphZnRlcntkaXNwbGF5Om5vbmV9LnZlcnRpY2FsQnV0dG9uLVJLS1RSaFo2LnNtYWxsLVJLS1RSaFo2e2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyNHB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KX0udmVydGljYWxCdXR0b24tUktLVFJoWjYuc21hbGwtUktLVFJoWjYgLnRhYkhpZGRlbkNvbnRlbnQtUktLVFJoWjYsLnZlcnRpY2FsQnV0dG9uLVJLS1RSaFo2LnNtYWxsLVJLS1RSaFo2LnNlbGVjdGVkLVJLS1RSaFo2e2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo2MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyNHB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KX0udmVydGljYWxCdXR0b24tUktLVFJoWjYuc21hbGwtUktLVFJoWjY6YWZ0ZXIsLnZlcnRpY2FsQnV0dG9uLVJLS1RSaFo2LnhzbWFsbC1SS0tUUmhaNjphZnRlcntib3JkZXItcmFkaXVzOjhweH0udmVydGljYWxCdXR0b24tUktLVFJoWjYubWVkaXVtLVJLS1RSaFo2OmFmdGVyLC52ZXJ0aWNhbEJ1dHRvbi1SS0tUUmhaNi54bGFyZ2UtUktLVFJoWjY6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czoxMHB4fS5jb250ZW50LVJLS1RSaFo2e2ZsZXgtc2hyaW5rOjB9LmNvbnRlbnQtUktLVFJoWjYsLnRhYkNvbnRlbnQtUktLVFJoWjZ7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS50YWJDb250ZW50LVJLS1RSaFo2e21heC13aWR0aDoxMDAlfS50YWJIaWRkZW5Db250ZW50LVJLS1RSaFo2e2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MDt2aXNpYmlsaXR5OmhpZGRlbn0uZW5kU2xvdEluRGlzY2xvc3VyZS1SS0tUUmhaNj5zcGFuey0tdWktbGliLWluLWNvdW50ZXItc2l6ZTozOy0tdWktbGliLWNvdW50ZXItYm9yZGVyLW91dGxpbmUtcHJpbWFyeTpub25lfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"tvc-invdn-cf-com.investing.com/cdn-cgi/challenge-platform/h/g/jsd/oneshot/b0da9f4911ba/0.049161679534553526:1785117695:YRbT8mNp8P_gpMz0_a-HK3CXXpHOf5PhwtEIZB3EqH4/a21856589e2e0daa","fqdn":"tvc-invdn-cf-com.investing.com","domain":"investing.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://tvc-invdn-cf-com.investing.com/tool/1.12.10/tool-prod-2-ssl.html?carrier=cc6698fccca44e51b088d9ddbbcf8ec8\u0026time=1785120633\u0026domain_ID=7\u0026lang_ID=7\u0026timezone_ID=17\u0026version=1.12.10\u0026locale=ru\u0026timezone=Europe/Moscow\u0026pair_ID=945629\u0026interval=5\u0026session=24x7\u0026prefix=ru\u0026suffix=\u0026client=0\u0026user=\u0026plotStyle=area\u0026geoc=NO\u0026styleOverride=","date":"2026-07-27T02:50:34.711Z","timestamp":1785120634711,"http_version":"","security_state":"","security_info":null,"request":{"raw":"POST /cdn-cgi/challenge-platform/h/g/jsd/oneshot/b0da9f4911ba/0.049161679534553526:1785117695:YRbT8mNp8P_gpMz0_a-HK3CXXpHOf5PhwtEIZB3EqH4/a21856589e2e0daa HTTP/1.1\r\nHost: tvc-invdn-cf-com.investing.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;charset=UTF-8\r\nContent-Length: 14131\r\nOrigin: https://tvc-invdn-cf-com.investing.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://tvc-invdn-cf-com.investing.com/tool/1.12.10/tool-prod-2-ssl.html?carrier=cc6698fccca44e51b088d9ddbbcf8ec8\u0026time=1785120633\u0026domain_ID=7\u0026lang_ID=7\u0026timezone_ID=17\u0026version=1.12.10\u0026locale=ru\u0026timezone=Europe/Moscow\u0026pair_ID=945629\u0026interval=5\u0026session=24x7\u0026prefix=ru\u0026suffix=\u0026client=0\u0026user=\u0026plotStyle=area\u0026geoc=NO\u0026styleOverride=\r\nCookie: __cf_bm=h6SAR28kd_QbNop_COMOHghDdlytG1dix_NDRXPGmD4-1785120634.5691435-1.0.1.1-s4ne_iKLzdjYKinGlFUaklT6ynKOQcbwbTfQ9Ee2VWc6HnktRWLJU5i.P2cm15_MZLMVhgoXFqglYOYqP14NW3ukSx7P6pAGRd3O_Fc9rU3d7y1GygnJGLidPsQIZp.Yom6Jb8b5KK1yqn7xaAW3WA\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"POST","post_data":{"size":14131,"data":"jzM3xrOi097W6sCLo5N+0kfaZMQ2bt04YP3w92V3tmfxoD3pON+DloecYdINH5yHqXMcG1AChS6XnN5m3qohKBVkMMr98dXWZUBSCaVCWm827cTiGy4WD7kA-IicR04JkB6s+vryv1UXVPeI7udO9aWCcZmC2eM5qoLm-gckcv5NBjt-+RwwMcJH0EABC0o9LQrCkZAYMS4EZ0vYd5v8lc1nJ635gn+N1nBKaHlAEmBK5KoSxZemikVKoQIwAvClMwWkHvjljPj9yzDFL5cUKlik38d2YVmXpnfesaRgJiaYI5TcamCXV1j+J84pcaERFj1Bv8Pht-2Hy99uH4ncLpW0hyC36nrt+7ypTXLnRSDQGZogsuD2qVYRN7CrNIaAewGJTFFCPBUZSC1PJgJdUe2bVUnANYJ2xuFy1hOe2Soto0eBQjZEBlDhCZ22pce9Klq0Qs9bFMGsHo6a7B2Co5eJIwnungCUw2DjHbOy6t9XLiMKwxf-oeCf-q-UGI9wmmB2aS6HGPIjh2-kh8B+GhLUDUr8D2uziJw7-+ommIqgOycuMPLEbaWPWZlXk3zwzXcq0UO28A8+solF+OcYmExlhssEKkjQYnYzSOxjrTILdBnJNwxq8R3kIQLv0sZ98F1P1BbeVgXGgufty3li9+XGIjMnzHUuQyOWvqI1z7De-Gzs8H+Y6Tzz7I9UsGdn6OVFIEVfDfpSzmkd0FhIsF-8D0y3nuK+8rc0yHZMTlZEZDr1fk2-cUzB8t4WBamZ6aUr5AqWOckITdcs1P9smEg9PkprplD6MQhC69zV0Wwb8MYDXF7mrcT-AXmIHwM+oAm+hDRFdjefGAMqA2CwLqixJPYGNUreg8nV4+PmZ3BQoQSJjLXaKuuXp8E30SlqVrQJzOjoyHiYl1LX9+THWT73BaCGhshu-sIeJ5xBJhNHXeZZhlPmTrgNIDmxYsZUlvsMGe8ZFIljah8mNfRxV-dTl8wgCluO9mEqNfMne6Iu1OQlkAZ+oVU4ZUaPpfHFBCly7f1PQfm46NwinITEGWaqGD0pjDnxqyOLsHj+gSRiTva19wU7per02Gmwnr7LA8+Z9SPNhONtNgGf+PofatrWk3T+30Sfxvw5qYCZmGUTeaV-sGu0a9xGajoBavE2DGCFgQs4jGa6XWxP3kOrGJHbwutUWfN-X8SoOLcs842A6uUTHcaeFTPHBcOlyMdf8Uma22cuSzzIUKVu3nyXzcav5yr3zjrz3Od8PPohnHSKq-nKMTepl3Wcd43n6Xhl+3BUpb5vbpx1WbxLHR3j22oa5gKU61raYsCSzuRLK5YuOHSYPvgMwJvaGzysWC+qFpaa6zFYGNONNdB1aFEvWJsloPAJMrlc+lFzUygZ0Rlfhu5qsO8aVUAEkl2CZtR69sN5cdUQa5qDv5kv4XeMJ2ycds7LfIEI3p9xvdAB-d4z-pJLRx8vyO8gtMWP4p7TL7Oi6rrmRaaOD-WqDqCFMzlH3ZO4LkQAtYLEImw-99q3OesSfqpawZmmTKuvack8K4DuO8PY4j79IpG1ORGEvI8dJBaPA3DJshz7-gCvMiKyaFkhxDoBnD3ysZ4-MinZUuCoqp5hb5Y5FsYCVB9Bf+b3+jUm4T1xDjqLVhUVMp-IrBNLUyy5Q5HPLipDZ8N6hVJark8TfkqWu-Qk72ItgZX+kuw-SIB4HtI5d3-7LIyTkaZBivXFnEaMzsoD1L93iaQZhPOohCyc0jOkIGNmahNzqWybm6BXyt3rJ8wUNasCgQR3iDTg7P617OlJyIIsVOLncG5QeBG1-++YUK5r8VgR4AKCfJJ5v6DPHV9bxRE-7WskBRn5AhRgxxZljSfoTxB9u769Birg8h95ahO2JbgZVyyK9XqiUonVxiEa2Ps1HFmmtHi7D-eXYxS5-si47AeikUNBZIaZbAzJFIp+c250q2koatff9sGlafFLIHH7fJzZvn+xG7r85HGYu+pmOt8GXDqmcLeE+pCoubEyIHWJGlnUYijXMo6i9qiqfTEohObGa6tzW9P-2wM32rqs0HOUtVyEyJU7-9PjNi04OoJ0KY4sbPpmLS7725AIo2qbOajRi3YuwvzPJN1cXWEY6pAHG9qqx2ZXXGhn3L0XsPPsncuZNLJkP1dClHZDAyUfrPXE29SfzmJFmykxYrd+haTI-gpb+-CtlZ4obzuUKceFA-P-BoNOJKVRh+wTpkD4VV14HIk6wiLbTAVwntbAZojQZsIft7HqMRq9TESVTUdDhnKV5wPZOR6MzRFRS2by6mG4BNzeI2bLdmJccodozTy0y3MzmWhXm55ptJkPishNK+knCTh9acwCY2PQJRZOuu7CuG0V7teeaA9bbDKqG9F0aUMsEjOVyWks9Vq6fabYQD1lE+V70o1iftBZzYH2AVEiJ3Bz07u5bAluMm4LBgWDeRaVCXR3ufGGoSIjX0Fo5fFE6S3EWUIUZsrFjhRNhLdd88hj-l2KUMFZjrshHlUcLFVWlDMEoiCpL0u8i4pB7BDWbWJ0k9pUdIg8tjjj5TbqxZgBbsTjYvYeSHKGW0ZJcGGtg+x9fu05nCk7aTa4V5VKpe40B15rG-csymFaxFpB6QF1nPwRIcuG5J6Gi9jEcltQr9WsQyTj+WVF8-MoLxtsdcF4+dsPHFDm0jnuiR+jjofqH8JrQ2aoMHgOjIxPDWLAXcWfdYjcXjetWqSk1C0XBzkGWVfSXt3XPVxKOKR7s8stoCZVj9D-XgT4m7YhZ44etU57wFIyEWEiEtWpIwAmF+fJS9mVqLweL8DHn156UW--a6URI7phrYEX2UMIuId-MteS5zBwXbk79msHDkB6GYpw5f7H51odZWEH9kbwXFFrBp2KQlCnNasv5FahQTjiQ7N-AWCkL7DEU1y9XtkirJoFOlk7RgBL5NMrZlnOIQF8WYLZB1p6wCvAkMEoYs7yd-Ee7-B10Hlxzhy8m+E7w6irpM5vu6YtUvM9Z5VMBhmS3n0iXtRxIYQTS9W-GBjIPIm5U7d+8BLUaXfC9aS+MBTTwMU9veE15YPkesCPBCIBy2j6fhZs-j08Wb0f7FKHjxnywZ1XpDr6fzu-6or8wUZP4qETpgYOl1RwlqxpA1PbyjLrSQEM7xd7J3xO9ozcOFDsOXHpQablo+Qs0qpnBpqfnctibqlOKkIeYuZC+KjOcSnW0qc3YuV1H0iXZdN2ZRgZEdwldcDlCFFEVXExnr7rqi4rAGByUvRozFw-U7MCteIj3VL6wEsrebjzHrh3G1zviOFEzc+8dNYYrv7Gphzc3xeFxFnYqW9banW6lxwXSen12CBbDuCgquO96iUgVoVhYNlu+4Gs4LksogBFevDOHAtlMMX4aMMx8eyIHxJ18rT6RPuIVYpHFPnq1DWyYPaz8qBv2q7wZt8rvE-FpPdZut16E22YobdrK3pbOLmtLAusd2S3wH+swS3TnWEWsh7E15CSdGQukXRjAFFuBxfWBmh2-M4H4e10W8BnaPxgfAk0NqwWh0xS9yqJ5RPsLHqipT1H3HZv2QxauxLxZN19NS9QT9u0ZIzZO55PKOg61ow0fCPlt9HH2GXU8xX1jh2-Kk5VzncI9JCfCFAc4QqtdGx-vSN6oxUDLQxN2lEfpFj1jRiYpjh-ZIEB9sDC0pkifsXh3ta5M3SN108I88PRibnk7tJVO4ZdeMCmCYtMqCvDJr56CSivWAuyajxDlirVTDXAhi6PQqwOpOUgILmOEZB8uTxQsIJCE4lYf0qMqRgTVMrM+Ym77k0phMU2qm2CvAIlExUm76gwn1gtApxnaSPldYPXktjuyV1wEeA+YVpDHgQLTUj5MQq4-qfkdN1NOePNKMfmbVvktuBRvduHoXuHerFhDoyzDT9gRHCFesQYZOTno3CJZEvcxqcf39LPWkmbCe+6vo63hN5Ko3lgRkkRZrmMjeFxs6cknfkaYQv2E4Dz2N4Yfead0lyGH6G1wctnJqbyc1BdlWQDBjGvYkWGpHneYTdNju8y2SfAZNVf3-FlbfVPIRwIP11IQJ4fnCgQ2GF0qKqiM1e3mK0MXQIGqe546UopcpSrdyj5iI0JBXHe9CbZ2GKSxruBq+rihZEuTVu5J2ozJdcdKJWsWB18CY-WXbJiyOV4dVtBOhOlzwWMSQ9GeJAE3WEVcmxh9ZJViRWkYpivBTZtT3wE7acwLHfuiLByZ-1ZrHx6qrEan8TRKlY0OnDzx2LEsCRaHHO6AkCIo5Iouzg+0x5b-NZGGs5TgnBriwdiA9UBGpqtX3USyUGMLG+-7ZdGT3KQsMxdVlzN6Ynzqu464b0CYcuhs8JQoKHJFwsa3xPWfj3OK1NCTOQuM+tAdNIActM4T+krxQUTT1R7gImhsaD7J+n9FhZ2yJRjVZhdaDuxQRRXBgEM-M58XItslBd-11AIcUA72FyMxTVCOOBSwNFuzQQ3NbLVsWGlAyGjwUiyDuDSkPn1e38YqEW2SWWbSeMnrntXZ3pFz6Gg-fSmXy3b1-lJGm0VyFsGWPSyzvg7DuphPOcjzEExlKYOOsy9KEkAJxRRoR1wA7U13bNnbUPuNfpkdqpumCBLlJav7e+00HG6xCQn2EeCRK4Y-r17HIGnAd27gC4VsodlGaXJuOazAtHmr4u6738ogKCwoc+WdWm1mE7biVYm6snZmc8yjefaVhj2pqDjP5UdtMNxRKjfW2zozLf8C8r3b426UmbPEPdWWz+TF5Qb+YLBm1dbXI5DDeqLExnzUvCtaAiv0wo6SIwU0oa4-VGv0YkVDBkUEWUAvGY0md2TRQAISMgyYeaAkI4osOezmeAswnys6wspdQOvk6xH6cD995DBXW3jdqHZ1WYZPH8c+iqbD9lBNv+e1N-VT2nubX9Tv8prPWo9h+GAqNPw3Wx6edCN6av33QYCNf9hXs+UZyIf+IdTsVciZgJ+HUuwnLXp00TsFZcyu4qGiVKZM4HAROXs5pi8mVGgRbfwkVSRqXDk6AduY3pu405lTKZ9UVRXB87kkpfvB+-pjGKOzY0HTAxJXuaUIhXlOrurn7Y7MnoyV+J2e-3litF8bsTn699q163DtfvUzBDDcN2V0ObDuhTpqs6zI+8uCyBuw9EQXE5Zc8p3Gqs292+aNvsM3LiNphro5dEXVpAxFDWZ7euoehnZUfSq2TRnkd1rGEzfOYahiyiakNuiF-RXVvzTh-cREHikjRHNoTFbfprZrULD6AUtwza-V4h4zKkJzWVQIqfWAsPkW0BJXfZLeEafT3ScB8+gO2F4Y8hICQUAnvYeQ-FchXQ7ExxvbmhSJKMFUfVTr5DF3Bex2q-WP0-epNS4EkxZvDkqvKzSWkKLVZq9bAF05v92RH7w5SQwrtYdWBjfoenNd4Z2EjtJbwfu5jnIahis3rUa4j9+lMIZ6n2OnazMhajX2Zokms67r9Zy9ieREH3PTjwhaxkHOROWHf+obTe3n9JiCUIFJqiQ-MCpaMb-o4XRhpGFYV3-NKPI2s2GeD7BkXzBnOfDaqf+a83j4qWohzh3i+3yNJX549fsuASNKoGNPFjJGu3XNzp68a6syktzC6ZfsIEciWJEcIwFCTMUjP8AJyKKF6h0eONJ2Y6vIqyEwNUc8hdIG1VNNonUIwO055ms0hbjXhDI+DiY9o7nrWaJvF1-nM7yTYX7rnPHe+025+-gjbkdJ3nM5nk7FbHnU4F55MFsERTIxgXeaTHSEcq+tmf7afzCugBgijkW55i47xwhxbSB0sNj90NgZ91BpIw8rt6o+LWLzZcs86XLega3v0oS0ONvT7uqYsHaI6L-F1L-DKjeJHzCZJYN0Zin9JTmqbLW7sVkpu727J7bzbcNOgPKZV6mPBxZiwmdhFD4Ce2a-9uFh0e0WQjFKe3A5d+g7jm8YKbb38q5-7q83ge5oTW1dkr0aM4xZRtSDur70MbJ456OcXw5AGv3U1-vwoWZWd103zaPW5EMrJR2+GDUrdTGwZZQsTnx1Rxcu0K2Ct82nk-ZkhlbFQwEJu68qc1zoozeNpEQbb8lJxQ4GwtcpsJE681VEwwacbsHz2CYcEf5pMg4X0TXMK3Ry3gFHUGF2wmJg3dRRtKgMIWIC6lWN5SS-YJdMj6OWUSoTFNZD2mW25b3dMu7N0P7zmoZs-Eik3tCg2fgB978vkXcsBOvNjzWZAvPO32Xx8ytIaOkedFLNgdgmQ+8IMVrvrlcegMn5SHNcGqFzpw+pxyFcvBMe9rY+f3V8+zyZplhwYPIPugvm+Xu8AQn+s-OzsplcAe0Vt076DJTsSLuS7PTTDaqxIlF5Bjy5ky+V5ftwY67qczVrbVOxdYSvoqzlUXPAgyBgx5cVd9wywjw5OfZas49Od7O8vs4niZ3Wk7YOu5n+-nv5HxhNU22sywoPMy3LyYtgpnBrU+ASveFzpJqtCBbs1wOZSXLjmHHm2r+HmmXojthekmMD3uXhxFKrjBAI2Yfq7Y382YOX8MwzlmzIpAEnYJ47BGFK20tb5HkJWkJv9JkPmUhO3wvnB39lW7+c7zTo8DX4hwlLq3sJ+PS2GtVpnjcmOolQMzqBbetDXeZtHEFfJfNmgr4UE+g1IB5yiFSzf8BQVUvxma5rHEje4MiH+vHv+hetn-bmqUwpu8wG7ebU56Vms9XUd3rfMUn9pU4u94IetRwuiDrCd2VuIovBaxMo9IF4bqvP+6OIeNMxvclyKcSDB-HpWB-m5ELNriO6crNMbR8rrU5ModkLLyVoNRZDOmSvZtrE4eXvqOwFRgJPFPe+aeByJeYrx5gEduR8yKrqS9oaLggNk6zswStxglZYg75oidgOVZ6Y3ASFUPHlfXRluHQnHUIMlQ8HoWSGXX0FsDvn4wOnp2JktujND0L22Nt1RidgNRki4XBcS1IjpHr1bjio66T7xpWRHuIzDHpQM+OwPupwob92W3EDm6gxdyQYDnXebihRkC1mCyBmdyfQgc-iCxhWTejP2CMWm9SyQVJ43-SaZTCj3TrLfUIQhStUen2LCFZCXCJaHHTsbVV1oiQqJI1ViCYg2OUfrC1Bt-Ir-Uor-aoiKnxW69SzJK72iWDwaJeXkSbCgVIByC6kzq2by1SAXGm6IJ7kBK7fYpaPXJwdCVDjNCeBQCocj8Weu+95FPtYVoJXOCJ2AMRAsiCZv-I43s4J95WoDCjHYDsLnVHj+zPRTl9MIZNkXlmFEdjwQMok9-E+g81DRCSCIp5Xvt51ctwZtSvsmrvj2lCma3WV-z0RKhbyiKrfqRgchDce8dZ8KgKP9i3Mnf5qTRkcpPH0OcmDPfDRH3MpNBZJbcjttOneCQSGWmmfRhPyDeHHV0evUgK54NUCkJKy8wCErFMsA-eGirL1mBpTvX2DCCMZMXxwKcv0zrNWrNne+EWyt4pi+ji8lMinp8ImNCnF2sfWLzjOkVXyqCMRagOsslXqko9HRcDVWcRhBl9eXMEbx8EgdKWUT-k7mnY6x7IZ184XeKkQG-N10yHc-x8U2e6ZTiND4qbI6p8mD-XGUNw+vhAK0NzphR9Uy-ph86+brIFUuZmhPpFLRawWOLZCiKCSyWFxk50y-FSp8gMc1XpUw7PBj+5R2YUa4qoUJl5lze7QbMPMSoqwumh5284nBs+Wfp9D0rhEJazt6R1O4ZoD-yzOUS3ZDkaUseX7dbtPQq7qNRfW-Jf+7dM9qCQkFvLD0gA4WDkXLmSj6IFwrnODUQmSmT3wgLfCaeXB6d00ylpbDI6yFTniSNvAykB4w8qcEaH2vWIXenCu1u+XIME28U434zg4LIXnjndfyg7Qx6jW76LCtIxFcc8AkJ7lU+jjhFx65l+7wJ9RlffesWUmgVhDljblfNOHeYbBJZMp-o79acgwhko7YEXu6mW4FxhhhIwSPJREDQGzcnsCOg9B1lrnKuCTkfzkDFbdOI4UsBMhSY1+apHyaUbJ-RilK0MiJt6S7R8LMIMyHBOyJzbJoaoZnvX7+PB9Ko1RK014St30Clb9K2Gk3fJ52yw4hIulUCGbq+2pfimzccPUjXZPBV-X-dM4P-ZBbtKGd+iaYGkh4+d0x8JrrcbYM3eQNjQEZLbLd+vnGCc1Y44v1hx7nqt1Qq2bdSO07yivRughnVXjIJyaWZAUzatAK2OjqqrxyvJIlqE--t9BGmYxnv7ZpKrMHoHRtgBxgBcJbmIlcUUxL+Uw2P6a0vjurSNW8w+WOqgomVk-kW+FeKwEMxzUJL5ou5uTC5EsZdeWEz7POv8a3F0SeQUN702PN1ipjd8Juz6Gf9zTaDteksNebIlD-Z3psRHhyQujdWTldYJJgJl4HM4N9VbTCQFlg8uSRpFZ1bTjczD1Db5OgVoLuh33b-bDvVGT9pYSWSfBuBQJGahRCjqbCtO19WNNF+KCEjD7864G9yxCTzDnQ7MHae5jnw1Tlo0eSAgl6+TXtz+-eFAxcqCOJJ8ORXD0lD1cluHC057evirIccIGFFzrQUGYLvi+u3uSIszuc4Sbn5f8WZZmiw84NhcsM2NDfaJnAH4gw0OuJVSz+0wNWvTNwEgVuCC7Z3knI4odUm1zoq0To09UDZxg3mybC5rkjBWewgt4JpdxzDVhNic3tI3lDSj6aIAu0+OXL8BjXBnrgw6Z4n7udDFNfyqwsxkG0s84SIp165RNeLJQsMIoz+dCxZos16oKelmXHJsylGMND3-tGFKWpvioj4lFZCeRj+iaX+clTvmuCvo4-IBosCaLKcvS8grVl94ic2Frywefu2kWnQ8xcep2UcNKrzJAhlPMmjpkXvyLrfakbFFYTRkkOxdOQJy60Yaj7VPzJQKqmqRB9H5zXG68o-cpC8DzF6dx5WUOH-fklfmim5mKdOWcsqicm81YqbSGVca99FeZ1St+hXYLMo7ggG4xu-77NwEyWYHxM9X2G6ijzdcNzQHdHF2EZ0hN01vMBb1cj+8VElZXbXvpghFelAhphpUPZpxEXrSbQ42Zldt3CFE62GmU32a4DlQW7fsKe9NF56V4JeCNVm9sCyQXjIUscrkEE06ZTIzc1KG+IPHnFgr1DgvbFKPUpD7DeIN5GUC1iledBG1cpLXJ26-pIyoaEDVZmf2SrErDnfXyVu+4u98X3Vj6GelTS1LVxMTVyxL++itfCS-nmZxZFCQAXwVF+lkF1oWyknxcUrrQRr1YymFUeFIoXnhVvBa6rmlK1L9-FlOlGlk9ibjfSG5L36xF0H2GKAuFCfiH96ua-XgMpApWrhwfxr65Da3GEmXTJ-DdxD5MSmn7KUkcqGzYv-9aVFrn-QwOVlWbp-75Q7yUsCcLxzADYl61q8tAdL1uMN9g-vj1frcbBL3aKyBFjZ25xW9zaEWsFIzFY5bEqpz1PNE1hjYIM6-4ZJo-RDCKCj5GJ5FCjhNgWoqRZoGEhwyQ9wKPFVylC9i4dbJQm1zcIIsRZmPlTVd8fdl4Ej82LRoVZ5xv8wDN5naNF64UuwQE-vfabA9K9jdVHt3FMoW0-0QcS53083xyauGMfR3vWoCWmuh9eIExcf+YIC6M1LpVlOX0fgfi-PKgPxVGMZH9+VN-GZjPWDCGcaPvyDYjMbMYX2KgSw+BdzdYpSCb7DA8EdE015eSJL8LPFEGL5R2yQhe6tWc0QkPbMB6eiTxCy600SqLHwA+QU8d7z9k4DZFqNV8zesfUnNmdseAWA66ZrztXqNGJ8xOn0qEmkjkRF4YmecVQqXAXJRsXW6nqInyZncgAgAJtJQ1Qik5d1LaP5C29lwWTzpuCznUvtpcDE17sJKNMH3u99QjqFTfXwM8b9gah6486ub4y+Obo6khek92riER4mC5i8RAaOYBgkIbWaPyApuoD1KZNIHRs0WkFwJ4PAtqJv7YZNt8LlpQdB7uxcqCayWbMCRfj0alEAMlGe6j-R3Yzl-X+6-OsBu65rwXVa4QyCoMcHOC7N54std1G6RB0t81tuvZ9sstWSqA1AJBUv6UrjuI+LxIlqpodjBwWvJVRohRNv+vsbOD8h2kMRHdsoICnLYkHGNS35r5gos1tVZOu06B7ixRns7nhEAU+JrHARcrXg2Om5smXjj7Honm3ay1qGs7iPfxFJPBpcvxjH4H1ozXHA-v61ItFNJEHGVxxKlj3YFNXEFlkrIhQ4eIWQFZ25Sz0Ys1aGGH4RlVemV7lRjGV-BqkelwU9Wp12+zPr5UjjCyPJOyh5tMcKTvg8ePY43ledC61FtE4Omo2v0UnDgGh5mpD5zyQ+mrSqjyYubY-eB+YsjnykJ9pUTQIiHINrQsOdVrSFQS5OUiyRLJ4G-gV-BBv4Tr6O0NwTqZGBiaBEs1f5bzNdQAIrhcU8hFDSc4DOQ4Pc7KkPFaReGdbJ73PLTm7X7EzOctQ8Q0gy6l8YA22YRW9vzqFItOsPV4g1nyw3jWrfLqXIv4UyREz8An3nW+gF4h7wjQ8--n+66rkDe-h50vv-xIDfF0UeCA4vbtqe4tNkZIZD6NLc5XuET+3NQTU55600ih+OGM9Wo2Jg2IBV6u-X63yKUhidwy+k7YjM2KQLVssd1QX2xj0Rc7p3ytKtPuQdgmawFJySkO0vScHPnsrW-gdjXGlLSaWrIfAoVy0hUC3SNv-o7trGLd2KrMAmykR6jxWEejY+-TSFN7G+DJznY5tM8HAHM5UB-qzg1i65ThgYE0gxGFJvpVdfQloppmwDrEFZoI25V4aLHh-ot7k2HFGzSfBj7geM2kHyMmaRX5aci90IGrLjTcBM-jkHH-Unb2wP1DQPnRy8XKuoC7540UsBZwwb6m8hcRtCyrhA7gfQxWtvhpfskj9oxmsOcGteocAxOUdIW9wr2LCXVwBn2dAGmJWRzruz8SYOucmC8zySwIk2Qn77zx8V0y-6u83rwC1+lGh-sgRtA7lYSZOWKQwEVkha5yzt7343TKUcorrGFNqLhWH7uDDcH5gZYQjeqLgE4UDOn4esJruppJ1QnbrTsBNq3RpmKxp9xy21rYENws0vxTqrFztov7gNibv+rvwAcqTkz0UvY1tELiJQPQX9WxDRl9ekSsGbfW14W0turBpAKo+2C6hE3hUav81wybMh2-SFJmU+ANtCrG3MC1PNWxXH3AuvwTzz9BcqrQFRFyCx6+ghMCKGT4msMyot4eI+PaSq2rE-KpqxFcAvyqETuIJdzFPxytYLyFh9mGd8cpj+7UKjmDsZpqJAjACEiB7OIn4s1GGKCX8KW+C8Ed3JiHmZjBdxdNvRdGXinlQztkWmzjcTczmRIIj1UhavHwNSDyy72MQqwEPZd6e32KwUdmEDLKm5n02lQf8dR9BQZ+1UgrNbtnOECAqHch6sY8Z1eokcvFR0wLJezm65zFgMD4RG9wp4SDYaxje9s2uR1RvtsGFey2cWvcA9Rg17uG9rvNRuKlWw8OFcKzue5DKuIWTt+wItGxqbJ15pWudaQASXebEATiJHceTr1dYBXlaRxhtbwGtAoleMeOm0PPwtcWB33KGZgnY32yAJtIWwmMXyNSStPEI1qJH9962KU84mNK2kRk5wCr7isNLr1h0Wr1RrnfOLBd-jgr7w40uA9sny5P5l0ux+hZg7gULTmoGO0iZ42KTzh8TI9yS0RLWvw7GyT3oXT9sQIwrewfx0dt5zFRT6SLsgn9UeuyjPs4ZG+LgGLI0ojWgaMgSQu27xlDR5gfrjqcWZ-otzLOcIarDZzUjZZuqwvmfh4bW-uGjRWmoy+vHilozZPAVZv+7t5SJcCeIOAfojwozPw1RjLpxT7T1L0PUVlBtM8LRx+aj1D-Ua9QjI2R4a7A2QSVmu-Csly0R6gVXvOoPB5oHeqYxkJh87dsMVR2zLtOYLYKCgL-g56TXCnZT-KVYfzcqrZCNObFls-neGw2hRU+vAGztbWwaGELWo0X1+fvl2SODD21lHUw+nbtgonjQtXKWbB8xkCx-1qnNs7W+S78k3bUfPmfL26+PJbvlWmF-WNle8M28uFsiXW72cEIM9L0jJpk7lsOmuPBodVg991YsrHMkwLmpodAHQ4K6kjZbV2LuiabJrdKy2234IZj7YHbUgNVGOfKNzG7TVgjiQbNmr7LxmWNYjR+OtcjXFjt3GNU9i1qOhThoT-Ru7Euze755uHXi1401or11TIaaNQIxepflXhJ6Hiq3UlTulR61bVsPfTmD16eukJoAV+6fkbPleiFw1Z0bC8hVaxOUNa+qVYhZxVO0Yc67Fi-S1dV07m72Nc2aLGLrBOl8lanpzRvkVmTld0yYx5-gBF7-lKCc42QO3cLROzKz+pU-x4PVyAaRHd1sQ4jOu92C0J+5842NiTj8vPmSHuCtc4PEdoH-joz9DP1y4WZXbZuNHTV6RuAURRCHCNMg51UQhkM2lpdZj7vprnA8TVYiktHsinwLLqhFIOKCXTDVrizZPJNPPYdCOrgVxwZce8BTKlQRYvU7lmXveTUegIc-9FESOKDEKUTBb8DuGCi6Omzz1A7goko1-yvm2+1KuPDNxHJ0hqQUC0yTeQ3zYY-tETwPvMAsSPCJhMBj2MnAORnSGoN6KtSm8I-ZKwOQBOB5IARifCY4bEsxboNsG9fOkKZ4YdpUzaJ+oUEj6rm+pBStXSJp-SYbyVQwNf51iUXgl1hUmc8oP-reoFjg1Qk21CfMLirbyeawlZ5OoZEX51U9oLFHIbFDcn-NzuurCUC2xvwPGvlAzIN1rJQSt0s9EgY+lyOGgamG8IoCYgQSWb4xRzrF2dw1LSfgYLkYnvgNIuQbzI6DXUYRdea10P8VwAqhNYg11pkgUjgDuJHbpCCCXaNh4qvJENv9iE67ej8lJXyXd5a9mmR1qSmHo66BCyy-Y3knmOFZgEw2Kd2WUvTtgQ7nBOAPhQUIV3T49DJl9iVwx-LobpLU8GfJBIfCE6R8Uj3OiO261fI09PWHoYdvSTzX1Gmg016NhdvLreRqEvPvbnhzweqQz-R9AATZuKch9GyWxpc-qj9kvVasnFNuDBN6FwDvM93EgnWm7ZJ9CgXMImJoKMkMZRJ8Mq7Ezz-FL4sW5CIdnLhCiq46y2VKr8ck1ve2g6geFEzY7q9lPp28sPnirCEeIRYX44mlR7E9cB-aqSKG+oPU9f0CoSVwRRNevuTzQOI25cN7ah2kzHAxIrZGzjgGBL0BMB+zV1vwBlka9U1DWHr1oeJ50LX0-m90CLDggz97bQgsfxlvtENO0C91hjjS67ihysT3t8XVQ3+25n2jE8QwInBMQ9nOZVoKrM9cFPQkk2yiyDZL0ZFgjZ9Gf5Hs9Prlfp7TcLwBiAHr6TS4lpImaZdQxno0ACmyYrbwLHyES-GKMnt56oQYzB7OaYlnK1-bnHGg-ahhxwOG9E8qmug8FDuZ5HXX5T1ksv6DwQ2lyDo-EsihbpxX7jaWLvdp1ciM7vOI72jiCbI9teHSHNOxVjiSaR9hBsUIy1PqgK6hklFybUqRCs3p84MEjZAHmLpaAiqcclAPIwkMLayQu2UjNeE3aZNEuxNrYzkcO+FILbKdSYkUEZbx5xoxhMeghVG7PfucyOzzxAzWSjuHWCg2YyDYH1BZyNa1jFHvywvhB4DSoscNlSz54L7d7gEbbgcX+TSFixKg3A467gSRHO6cI7qw9Yhv2wDyE2AooTCY2r5IV-kbXOUC10e6u4SFYMKNpj-5dtWM-fi0vFNY2aCuCOBlBRcth5KbOAmPiF7BVnfiuUR2iVJltthIHzQYleHmBNA+ZgyrlFnJP9n0FFPGkX0HQPU5TkKF+4gIavPruVYva0m-EBGFzE1F07Re3RnJ53ztY283UaZ-p-65B2fvmMrFor0fyxS3fYwD4HN3Ke2CNKrs3ZS1owX0KtmkagQnNnaiYBsZZgxahM3rHRrB-t5fSall+TXC5nWDRUBGMYt1+0JgMNQr85p6YbteVt3HafWb2rt35Xpt9bTbZENQz7P6CF3NRPz4iMJSN4XD96ZdYjfHPCTFsKmRfX9tYGGca0G3AGw-+x7+TXClDmQx1lKmL77X6vmwyMuM4cauhgOlh0b2TwnEGNWICWD6nVBUEvJ-7ddIWf1YuVJlwWFCUIQ3+mDkgI1RIDbwlSQpXd6ihIXOY033pFu5QBagRfv89VjBR"}},"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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"www.tradingview-widget.com/static/bundles/embed/29536.736f471a8d64a8122fd8.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.838Z","timestamp":1785120634838,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/29536.736f471a8d64a8122fd8.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"247optiontradefx.com/img/payment_4.png","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.153Z","timestamp":1785120633153,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /img/payment_4.png HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: image/png\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-d0e\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":3342,"size_decoded":3340,"mime_type":"image/png","magic":"PNG image data, 114 x 24, 8-bit/color RGBA, non-interlaced","md5":"5ef8538857840176abe4900edf02734f","sha1":"82af29a5829fa7d98e7cf4eb384df0e4a0c59928","sha256":"8b288a3cc0e452cd224b967dec5093a5a0becd4cdf0c41c00812e0746db61475","sha512":"eeed62aec40e4ca108eec53859bf8597076055ab9d742b8416428ae276e122a64d11dcb46f205d93f1b1260f04f0e9d88eb1b5500f66a530c0c503aa8cf64101","ssdeep":"","tlshash":"de615e8dfd11b4c3516ae1861ce58c2f4bb369c19dc871c3a557c61ed8a41e680592df","first_seen":"2026-07-27T02:45:25.221335Z","last_seen":"2026-07-27T02:59:54.534912Z","times_seen":4,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAHIAAAAYCAYAAAAmsqlBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzBBMjZFMDI5MTcyMTFFOEE2ODU4N0EwOTlFMkE1Q0MiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzBBMjZFMDM5MTcyMTFFOEE2ODU4N0EwOTlFMkE1Q0MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDMEEyNkUwMDkxNzIxMUU4QTY4NTg3QTA5OUUyQTVDQyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDMEEyNkUwMTkxNzIxMUU4QTY4NTg3QTA5OUUyQTVDQyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pqhff/YAAAmCSURBVHja1JoJcJXVFce/9/JeIInRBAxgIQaE4EJkE6RWYBhRoeJWt3Za3Du1tKXa2gVoC3UZHccFxsFuaqfq0KJQW3XQalvcwLgEAxIWGYJ1QQOpQEjAhATSc+nvdk6P93vvJeoMnpn/5L0v97vfvfds/3O+lxg4bESURcoEkwSjBP0EBYIOQaNgneBFwaao6+LmqhQcIzhBsF3wO0FzF+Y4UTBR8KHgScHu6PMnhwumCPoIVgpWd2eSVIb/VQhmCi7gIUWBMW2CnYLnBAtZSC6SL3gYRTjD6Cm4T7Avx/sTghmCuYJegnbBM4IrBE2fIyUOxnjHcSYNgh8KlnZ1omTgWlrwLcEKwfWCQTFKdNIDz/qa4B+C27GwbDKExZeixIjnteW47pMFswV9WW+hYLJgfMwaS9RzDhXJQ2mncb5uH+WCb3waHukOZJ7gJ92Yyx3UjwTHC64WbMsw9hTz7B2CDV141lDBAHNtH+HZydGE3ApCd2+MbOUhpEhn8McFrjd2Z7Kk+Tw3ixL3COYIXuHw3xF0mjHTBH/AC+LkVCzSSx1z5SouN79nrj0geI3PLpI8JLhZcBXG9cEh5pEtglpzbb3gnk/qkRfj6lYckdiMF7i/CwRnCu4U7OJ72twzFe/8JcTIhrrRAcVs78K6XxdMF1xIFHmJnOtTg52/RvDWIabIdqLENsie+7tIsPaTKLIcK04Hxrjc9R1CQR55bR1eNzPmHu8VjwteNdePJa966WTMgS6u/Xng1rRfXXdMuL/6vp/5O7t5Ph2f4T3bUGZ3nhNUpPOwsTFjXK65A2Xugl3Nger/E+IxKUCcXM78Nt6gleRIzhHq+05KmwnkMzdvNcxtcwzj/TLhspVrbwv+wufhsGxt+a7G+h7RIOLQnPX/25CPY5nbhf4vMP4jwbsYtGPGb5r1uPx7Hmc4kPW5EmoNe1hpDE0b3HmcjcefBVvVPiuILqNguL247uZ7X7Bc8JjLqwmpI4vlw/2E1jj5CEWvg/aPJwctZ9KFKC2UuEfyUC+/hRVnE6ec7wqWmetO2U8Qjrz8GkNzcpPg51nmdjR/GHk+woOvh6RlYt2/Yk2eU1wk+IWgKma8O5u7SDF7zf9mCW5V35tYk1fkjaSngix7cY5yTZIwd3KWwS/ygHwO7OuCp6DOfrHtgft6m3zVk9oxF6lA6WPM9XKs08sBmgE+/47IYe4XlBJHYNU/yKLEDzF4r8SfCv6UQYney38suNbwkcMwcC0vKyX2pklQkMNe3PksSDHpgCyDXyGspsk3+/G2BmXRyZjCvdJ0YkLPqiXMDUWBkZr3SghAmzr4HqZ0qVH1aaWZuxkk1Zq84l2N/Efj3RHhfTX3lbLuv0OynHwTRpw0LLQaY59g/jeTKFKnFDU2wEW8DCNMa2PdAgpJT5qbfDGFpeRlUKIjCav4XIQlpshPu/DmO2LmSJgyxOWvo0w4mQspaqbAX2Ss1R3KkVhrYSB61CrGO9R4azOp4A3W4qWevcwOKHGxYD7lUCvPHKDq4lGESq2oVXj0Bs7BKfoGdSZHcfh1yoAGBqKeVmSZ+u6M/HLycz6pabYy6HQqBzb3jiIdjuScS1i9B0V2mIdGgUI9Ut6kQ8y/yG/tKnxZRTqvLOZzSYwlezJVZSy1EcIR6hh9iZaelqXkSZ3Pdpkcf5kxxu0c7Osml87EMHVu1+FQG8JW1RBJsH9teG9RYnlZYsjbwcnaYprNrRz0MiZyB3Q+zO46eqOlbGBhBm/2cb80YP1rA7l1S6DuTKu8aUOn79YUB/LjmhglOk85xyi9GZK0N0tvdKq5tsgo0YfmBnOtgPNOY0SR8ehm5b1VAUKjpcxGwBResDEmZE1U9U0vrKaDxaxR3paM2XgH43z+Os6UBTWBewoDBrVPWXLCeNxGPvcj7IWUHAUO1fZlq3PoLlViyDraPBxT1uUHumIHKL3GBIhOmyJzwwzzXWHGD4fb/O8cUoSGZwOK7AuVX0P9tAOPLGfyrcoT4kqXtSpkDKY20wqqjmmIa3lXWWvIkpti8k5HFkVWmGsbcyjKhwYMKfQKr8w0PXw5FWHM/QNk0qeHE0yd3YKitYw20aQ+yeKXmeLYx/RZkJEkYWcKiz+eXHUhrO+kmI3/RhXtI8whvK+8NVLh9+zAJhshJ2MDXrRXMeKkMYD1GRr8RYFcnq27VGq+N1FjW5lslLFbrWV8YJ1bVBoZZ+Z600SKIuOxTjak1IEsJoFa2UCocK9Xnuag71WMrjhm09V0KnxYtv3P1wL5ay6e5aUNRttO2BwUmOMA1mlZYD3WHNfnbA20DvNiujA6zGkpwbtbTY04wyhrBc0Uz8K1vEp68/ONCZyjNrCqQAuyNqnC0O2qzNAyBdfuR2ibjrX1zaDE3dDjHSp/DTdjnjabn6e6Jl4ejf77nvNgrZTBktPUZlr6mQK/h2J5e7hfy2lwgrRijz1ZW0JFES19ID9J5S13BrxqMd5bEmgE1KjU0TdACG1+HGlakC5a1aZMmfF9we9NQi9SYWhBDp2GZqj38+rakEDOGIkHuMV/BUXZ/HqLIjoTAm9AGhQ7tuy3Cpq+XFH6zRTyLRjIOLPPxZQgW1CiTwdXoojV/D1CkZr5GKnb91n0abU8wjp8euljvOkN9X2U6ebsiT7+qmukKeHc67m19sXyS4TQuwPEIhepJ68uNVR/fMzbkTipIzzVKSY7OgPRaUWxl5kxpwMvz6Igl1cfpI7sb1qK1wTIlj+n9XCCGYYUzsrQCpyjQu+phqRsVlElL3Dmq6P/f71XAj+xZ9UUKhtWQWLmRbm/w9uNJ18Qffz3Js7ST8lxHv9W4quGcU40BXWkco73yCUBdhfq3/qffGxS3ZJMUq480CnkNtp12WQRhlKvrp1j0sMmavWIZ5wbKEt0XXtSIIfWRFH8j68a6L4vgYFNxqXLOIgO8t9GQuhTeESIvruF/ExwBqGskpZbT/Vm5W3m+Ss5oTXAMh/FavNol9lfm7n8dQlN/WmUOvmsaSeW+ySfvbjXcO5V0qXccwze34lxbsKLd5oyYjpKuoiS5DCesx0DdOH0b4bRFmF8jYqgLVF7LYKh61r0cUOw3Lqe41kJwvkzBxN6Dj+H9GSkmINJqpy0hxZWLpKAfBSyiTyVJ1o5rPYM5YImIZ51htqLSQylB2M72XhLFP9TywT3FLCuTtbl9xdXlhzJfvw9+xi/N6abVKCIU4JxHUpxBWZNLebZ+ZxFp2qmuzVG/xFgAMRgYDssc7DLAAAAAElFTkSuQmCC"}},"time_used":29,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":29,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/42171.1c05d8147c230d86b4fa.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.938Z","timestamp":1785120633938,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/42171.1c05d8147c230d86b4fa.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-4ff4\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:02:18\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a4ec7925b12c1ac19eeac1815343ec09\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":20468,"size_decoded":7449,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"edddce8d1d6f604a250bcfbe9d7eb025","sha1":"253ca6c52edbd8045f2d7582a4cbe1d58aa63fb7","sha256":"5ce8d2d6a4b23546f3ef7e86e56e51c0dd33a1ed0a3cef47794f49bbaf49fd90","sha512":"8bea5dd5042c7cbb2e5672e14ea2d4734a6fec646472748c7fc97e3549559befc114de998d38beab5c5097dccc1d9db856c75c8b482946bb7276dc6c44fffb43","ssdeep":"384:BrqTqqPiwUF5A2XlUggtc6TPlrtRH/hIRgvFoPVAAg0dUDs3nRCvO3Ja7m8t51hv:FqTLPinvA2uggtc6TPlrtRH/hImvFoP8","tlshash":"fd92b424f382216105eb91ed1c760913b63bb7963c87466db92c9ace675c918f372b3c","first_seen":"2026-07-22T16:00:00.324158Z","last_seen":"2026-07-27T06:01:16.155257Z","times_seen":31,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNDIxNzFdLHsyNDIxNzEoZSx0LGkpe2kuZCh0LHtNaW5pQ2hhcnRQbG90QmFzZTooKT0+VSxjdXN0b21QcmljZUZvcm1hdEJ5U3ltYm9sSW5mbzooKT0+Rixpc1RpbWVQb2ludEluZGV4OigpPT5QLHNlcmllc0hvcnpNYXJnaW5zRGVmYXVsdHM6KCk9PkV9KTt2YXIgcz1pKDY2MzA0Nikscj1pKDY3ODMxMiksYT1pKDc0MDE2Miksbz1pKDMwNDIyMSksbj1pKDEzODYzOCksbD1pKDEzNDY3KSxoPWkoMjIxMDYxKSx1PWkoNjAxODQxKSxkPWkoMjMyMzY0KSxfPWkoNDAyMDQ1KSxjPWkoOTUyOTAwKSxtPWkoMTUwMTUwKSxwPWkoOTQ4MzgwKSxnPWkoNzczMDg4KSxTPWkoODE0NTg5KSx5PWkoNzgzMjU0KSxmPWkoOTg0Mzc2KSxDPWkoNDA3Nzk5KSxiPWkoMTExOTUzKSx2PWkoMTI4OTk4KSx3PWkoMTEzNTY3KSxJPWkoODczNTczKSxWPWkoMjI2OTM3KSxEPWkoNjk1OTQ2KTtjb25zdCBCPSgwLGguZ2V0TG9nZ2VyKSgiQ2hhcnQuTWluaUNoYXJ0IiksTz1uZXcgZi5Wb2x1bWVGb3JtYXR0ZXI7ZnVuY3Rpb24gTChlLHQsaSxzKXtyZXR1cm57dGltZTp0LGNvbG9yOnMsdmFsdWU6aVtlXX19ZnVuY3Rpb24gVChlLHQpe3JldHVybnt0aW1lOmUsb3Blbjp0WzFdLGhpZ2g6dFsyXSxsb3c6dFszXSxjbG9zZTp0WzRdfX1mdW5jdGlvbiB4KGUsdCxpLHMscil7cmV0dXJue3RpbWU6ZSx0b3BDb2xvcjpzLGJvdHRvbUNvbG9yOnIsbGluZUNvbG9yOmksdmFsdWU6dFs0XX19ZnVuY3Rpb24gTShlKXtjb25zdCB0PW5ldyBEYXRlKGUpO3JldHVybiBEYXRlLlVUQyh0LmdldEZ1bGxZZWFyKCksdC5nZXRNb250aCgpLHQuZ2V0RGF0ZSgpLHQuZ2V0SG91cnMoKSx0LmdldE1pbnV0ZXMoKSx0LmdldFNlY29uZHMoKSkvMWUzfWZ1bmN0aW9uIFAoZSl7cmV0dXJuKDAsdS5pc0ludGVnZXIpKGUpfWNvbnN0IGs9KDAscy5kZWZhdWx0KShJLnJlc2V0VHJhbnNwYXJlbmN5KTtmdW5jdGlvbiBGKGUpe2NvbnN0IHQ9KDAsdi5jcmVhdGVTZXJpZXNGb3JtYXR0ZXIpKGUsImRlZmF1bHQiKTtyZXR1cm57dHlwZToiY3VzdG9tIixtaW5Nb3ZlOmUubWlubW92L2UucHJpY2VzY2FsZSxiYXNlOmUucHJpY2VzY2FsZS9lLm1pbm1vdixmb3JtYXR0ZXI6ZT0+dC5mb3JtYXQoZSl9fWNvbnN0IEU9e2xlZnRMb2dpY2FsOjAscmlnaHRMb2dpY2FsOjAsbGVmdFB4OjAscmlnaHRQeDo0fTtmdW5jdGlvbiBXKGUpe2lmKDA9PT1lLnNlcmllcy5sZW5ndGgpcmV0dXJuIG51bGw7Y29uc3QgdD1lLnNlcmllc1swXSxpPXQudmFsdWU/P3QuY2xvc2Uscz1lLnNlcmllc1tlLnNlcmllcy5sZW5ndGgtMV0scj1zLnZhbHVlPz9zLmNsb3NlO3JldHVybntmaXJzdDp7dmFsdWU6aSx0aW1lOnQudGltZX0sbGFzdDp7dmFsdWU6cix0aW1lOnMudGltZX19fWNsYXNzIFV7Y29uc3RydWN0b3IoZSx0LGkscyl7dGhpcy5fc3ltYm9sQ2hhbmdlZD1uZXcgcC5EZWxlZ2F0ZSx0aGlzLl9zZXJpZXNDaGFuZ2VkPW5ldyBwLkRlbGVnYXRlLHRoaXMuX3doaXRlc3BhY2VzPW51bGwsdGhpcy5fc3ltYm9sUmVzb2x2ZWQ9bmV3IHAuRGVsZWdhdGUsdGhpcy5fb3JpZ2luYWxTY2FsZU1vZGU9bnVsbCx0aGlzLl9jdXN0b21QcmljZUZvcm1hdHRlcj1udWxsLHRoaXMuX2lzRGVzdHJveWVkPW5ldyBkLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fc3RhdHVzPW5ldyBkLldhdGNoZWRWYWx1ZSgwKSx0aGlzLl9ub0RhdGE9bmV3IGQuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2NoYXJ0VHlwZT1uZXcgZC5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fZGlyZWN0aW9uQmFzZWRDb2xvcj1uZXcgZC5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fZGF0YUxlbmd0aEluZm89bnVsbCx0aGlzLl9zZXNzaW9uSWQ9bmV3IGQuV2F0Y2hlZFZhbHVlLHRoaXMuX2JhckJ1aWxkZXJMb2FkZXI9bnVsbCx0aGlzLl9zeW1ib2xJbmZvPW51bGwsdGhpcy5fc3ltYm9sSW5mb1dWPW5ldyBfLldhdGNoZWRPYmplY3QobnVsbCksdGhpcy5fc3ltYm9sPXtzeW1ib2w6IiJ9LHRoaXMuX21pbkJhckluZGV4PW51bGwsdGhpcy5fbWF4QmFySW5kZXg9bnVsbCx0aGlzLl9sYXN0VmFsdWU9bmV3IGQuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2lzVmlzaWJsZT1uZXcgZC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2lkPSgwLG0ucmFuZG9tSGFzaCkoKSx0aGlzLl90aW1lRnJhbWVJbnZhbGlkYXRlZD1uZXcgcC5EZWxlZ2F0ZSx0aGlzLl9maXJzdFZhbHVlQ2FjaGU9bnVsbCx0aGlzLl9maXJzdEJhclRpbWU9bmV3IGQuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2xlZ2VuZExhc3RCYXJEYXRhPW51bGwsdGhpcy5faGlzdG9yeVVwZGF0ZVJlY2VpdmVkPSExLHRoaXMuX21pbmlDaGFydD1lLHRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucz10LHRoaXMuX2N1cnJlbnRTZXJpZXNPcHRpb25zPSgwLGEuZGVmYXVsdCkoe30sdCksdGhpcy5fb3B0aW9ucz1zLHRoaXMuX3Nlcmllcz10aGlzLl9jcmVhdGVTZXJpZXMoKSx0aGlzLl9jaGFydFR5cGUuc2V0VmFsdWUodC5jaGFydFR5cGU/P251bGwpLHRoaXMuX29yaWdpbmFsVm9sdW1lT3B0aW9ucz1pLHRoaXMuX3ZvbHVtZT10aGlzLl9jcmVhdGVWb2x1bWUoKSx0aGlzLl90aW1lRnJhbWU9ZS50aW1lZnJhbWUoKS5zcGF3bigpLHRoaXMuX3RpbWVGcmFtZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU2Vzc2lvbklkLmJpbmQodGhpcykpLHRoaXMuX2N1cnJlbnRseVNob3duRGF0YURlc2NyaXB0aW9uPW5ldyBfLldhdGNoZWRPYmplY3Qoe3RpbWVmcmFtZTp0aGlzLl90aW1lRnJhbWUudmFsdWUoKSxzeW1ib2w6dGhpcy5zeW1ib2woKX0pLHRoaXMuX2lzTGFzdFNlc3Npb25JbnRlcnZhbD0oMCxjLmNvbWJpbmUpKChlPT4iTEFTVFNFU1NJT04iPT09KDAsZy5jb252ZXJ0VGltZUZyYW1lVG9TdHIpKGUpKSx0aGlzLl9taW5pQ2hhcnQudGltZWZyYW1lKCkud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9pc0xhc3RTZXNzaW9uSW50ZXJ2YWwuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVNlc3Npb25JZC5iaW5kKHRoaXMpKSwKdGhpcy5fbWluaUNoYXJ0LnRpbWVTY2FsZVNpemVDaGFuZ2VkKCkuc3Vic2NyaWJlKG51bGwsdGhpcy5fdGltZVNjYWxlU2l6ZUNoYW5nZWQuYmluZCh0aGlzKSksdGhpcy5fc3RhdHVzLnN1YnNjcmliZSgoZT0+ezMhPT1lJiYodGhpcy5fbGFzdFZhbHVlLnNldFZhbHVlKG51bGwpLHRoaXMuX29uTGFzdEJhckRhdGFNYXlDaGFuZ2UoKSl9KSl9ZGVzdHJveSgpe3RoaXMuX3N0YXR1cy51bnN1YnNjcmliZSgpLHRoaXMuX3RpbWVGcmFtZS5kZXN0cm95KCksdGhpcy5faXNEZXN0cm95ZWQuc2V0VmFsdWUoITApLHRoaXMuX2lzTGFzdFNlc3Npb25JbnRlcnZhbC5kZXN0cm95KCksdGhpcy5fYmFyQnVpbGRlckxvYWRlcj8uZGVzdHJveSgpfWlkKCl7cmV0dXJuIHRoaXMuX2lkfXN0YXR1cygpe3JldHVybiB0aGlzLl9zdGF0dXMucmVhZG9ubHkoKX1ub0RhdGEoKXtyZXR1cm4gdGhpcy5fbm9EYXRhLnJlYWRvbmx5KCl9Y2hhcnRUeXBlKCl7cmV0dXJuIHRoaXMuX2NoYXJ0VHlwZS5yZWFkb25seSgpfXN5bWJvbEluZm8oKXtyZXR1cm4gdGhpcy5fc3ltYm9sSW5mb31zeW1ib2xJbmZvV1YoKXtyZXR1cm4gdGhpcy5fc3ltYm9sSW5mb1dWLnJlYWRvbmx5KCl9c3ltYm9sKCl7cmV0dXJuIHRoaXMuX3N5bWJvbC5zeW1ib2x9c3ViU2Vzc2lvbigpe3JldHVybiB0aGlzLl9zZXNzaW9uSWQudmFsdWUoKX1zZXRTeW1ib2woZSx0KXtyZXR1cm4oMCxvLmRlZmF1bHQpKGUpJiYoZT0oMCxiLmlzRW5jb2RlZEV4dGVuZGVkU3ltYm9sKShlKT8oMCxiLmRlY29kZUV4dGVuZGVkU3ltYm9sKShlKTp7Li4udGhpcy5fc3ltYm9sLHN5bWJvbDplfSksdm9pZCAwIT09dCYmdGhpcy5fdXBkYXRlU2VyaWVzT3B0aW9ucyh0KSwhKDAsYi5jb21wYXJlU3ltYm9scykodGhpcy5fc3ltYm9sLGUpJiYodGhpcy5fc3ltYm9sPWUsdGhpcy5fdXBkYXRlU2Vzc2lvbklkKCksdGhpcy5fc3ltYm9sQ2hhbmdlZC5maXJlKCksITApfWV4dGVuZGVkU3ltYm9sKCl7cmV0dXJuey4uLnRoaXMuX3N5bWJvbCxzZXNzaW9uOnRoaXMuX3Nlc3Npb25JZC52YWx1ZSgpfX1xdW90ZXNTeW1ib2woKXtyZXR1cm57Li4udGhpcy5leHRlbmRlZFN5bWJvbCgpLG1ldHJpYzp2b2lkIDB9fXVwZGF0ZVNlcmllc09wdGlvbnMoZSl7bGV0IHQ9ITE7dm9pZCAwIT09ZS5jaGFydFR5cGUmJnRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucy5jaGFydFR5cGUhPT1lLmNoYXJ0VHlwZT90PSEwOiJsaW5lIiE9PXRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucy5jaGFydFR5cGUmJiJhcmVhIiE9PXRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucy5jaGFydFR5cGV8fCh0PSJwb3N0bWFya2V0TGluZUNvbG9yImluIGUmJnRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucy5wb3N0bWFya2V0TGluZUNvbG9yIT09ZS5wb3N0bWFya2V0TGluZUNvbG9yfHwicHJlbWFya2V0TGluZUNvbG9yImluIGUmJnRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucy5wcmVtYXJrZXRMaW5lQ29sb3IhPT1lLnByZW1hcmtldExpbmVDb2xvcnx8Im5pZ2h0TGluZUNvbG9yImluIGUmJnRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucy5uaWdodExpbmVDb2xvciE9PWUubmlnaHRMaW5lQ29sb3IpLHRoaXMuX3VwZGF0ZVNlcmllc09wdGlvbnMoZSksdD90aGlzLl9vbkNoYXJ0U3R5bGVDaGFuZ2VkKCk6dGhpcy5fc2VyaWVzLmFwcGx5T3B0aW9ucyhlKX1hcHBseU9wdGlvbnMoZSl7KDAsYS5kZWZhdWx0KSh0aGlzLl9vcHRpb25zLGUpfXN5bWJvbFJlc29sdmVkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbFJlc29sdmVkfXN5bWJvbENoYW5nZWQoKXtyZXR1cm4gdGhpcy5fc3ltYm9sQ2hhbmdlZH1zZXJpZXNDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3Nlcmllc0NoYW5nZWR9dGltZUZyYW1lSW52YWxpZGF0ZWQoKXtyZXR1cm4gdGhpcy5fdGltZUZyYW1lSW52YWxpZGF0ZWR9cmVzdG9yZU9yaWdpbmFsU2NhbGVNb2RlKCl7bnVsbCE9PXRoaXMuX29yaWdpbmFsU2NhbGVNb2RlJiZ0aGlzLl9zZXJpZXMucHJpY2VTY2FsZSgpLmFwcGx5T3B0aW9ucyh7bW9kZTp0aGlzLl9vcmlnaW5hbFNjYWxlTW9kZX0pfXN3aXRjaFRvUGVyY2VudGFnZVNjYWxlTW9kZSgpe251bGw9PT10aGlzLl9vcmlnaW5hbFNjYWxlTW9kZSYmKHRoaXMuX29yaWdpbmFsU2NhbGVNb2RlPXRoaXMuX3Nlcmllcy5wcmljZVNjYWxlKCkub3B0aW9ucygpLm1vZGUpLHRoaXMuX3Nlcmllcy5wcmljZVNjYWxlKCkuYXBwbHlPcHRpb25zKHttb2RlOnIuUHJpY2VTY2FsZU1vZGUuUGVyY2VudGFnZX0pfWNoYXJ0U2Vzc2lvbigpe3JldHVybiB0aGlzLl9taW5pQ2hhcnQuY2hhcnRTZXNzaW9uKCl9Y3VycmVudFNlcmllc09wdGlvbnMoKXtyZXR1cm4gdGhpcy5fY3VycmVudFNlcmllc09wdGlvbnN9dm9sdW1lT3B0aW9ucygpe3JldHVybiB0aGlzLl9vcmlnaW5hbFZvbHVtZU9wdGlvbnN9c2VyaWVzKCl7cmV0dXJuIHRoaXMuX3Nlcmllc312b2x1bWUoKXtyZXR1cm4gdGhpcy5fb3JpZ2luYWxWb2x1bWVPcHRpb25zLnZpc2libGU/dGhpcy5fdm9sdW1lOm51bGx9dXBkYXRlRGF0YShlLHQsaSl7ZSYmdGhpcy5jbGVhclNvdXJjZURhdGEoKTtjb25zdCBzPXRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucyxyPXRoaXMuX2J1aWxkVmlld0RhdGEoaSksYT1yLnNlcmllcy5sZW5ndGg7dGhpcy5faGlzdG9yeVVwZGF0ZVJlY2VpdmVkPXRoaXMuX2hpc3RvcnlVcGRhdGVSZWNlaXZlZHx8dm9pZCAwPT09aSx2b2lkIDAhPT1pfHwiYXJlYSIhPT1zLmNoYXJ0VHlwZSYmImxpbmUiIT09cy5jaGFydFR5cGV8fCh0aGlzLl9maXJzdFZhbHVlQ2FjaGU9ci5zZXJpZXNbMF0/LnZhbHVlPz9udWxsKTtjb25zdCBvPXRoaXMuX2hpc3RvcnlVcGRhdGVSZWNlaXZlZCYmbnVsbD09PXRoaXMuX2RhdGFMZW5ndGhJbmZvO2lmKHZvaWQgMCE9PWkmJiFvKXtjb25zdCBlPXRoaXMuX2RhdGFMZW5ndGhJbmZvO2lmKG51bGw9PT1lKXJldHVybjtjb25zdCB0PXsuLi5lfTtlLmxhc3RCYXJTZXNzaW9uPXIubGFzdEJhclNlc3Npb247bGV0IGk9bnVsbDtmb3IoY29uc3QgdCBvZiByLnNlcmllcyl0aGlzLl9zZXJpZXMudXBkYXRlKHQpLAoobnVsbD09PWUubGFzdEJhclRpbWV8fGUubGFzdEJhclRpbWU8dC50aW1lKSYmKGk9dC50aW1lLGUubGFzdEJhclRpbWU9aSxlLnJlYWx0aW1lKz0xLGUubGFzdEJhckluZGV4PShlLmxhc3RCYXJJbmRleD8/LTEpKzEpO2lmKHIuYWRkaXRpb25hbFNlcmllcyYmdGhpcy5fdXBkYXRlQWRkaXRpb25hbFNlcmllc0RhdGEoci5hZGRpdGlvbmFsU2VyaWVzKSxyLnZvbHVtZSlmb3IoY29uc3QgZSBvZiByLnZvbHVtZSl0aGlzLl92b2x1bWUudXBkYXRlKGUpO2lmKHZvaWQgMCE9PXRoaXMuX3doaXRlc3BhY2VzRGF0YSYmbnVsbCE9PWkpe2NvbnN0IHQ9dGhpcy5fd2hpdGVzcGFjZXNEYXRhLmZpbmRJbmRleCgoZT0+ZS50aW1lPmkpKTstMT09PXQ/KGUud2hpdGVzcGFjZXM9MCx0aGlzLl91cGRhdGVXaGl0ZXNwYWNlcyhbXSkpOjAhPT10JiYoZS53aGl0ZXNwYWNlcy09dCx0aGlzLl91cGRhdGVXaGl0ZXNwYWNlcyh0aGlzLl93aGl0ZXNwYWNlc0RhdGEuc2xpY2UodCkpKX1udWxsIT09aSYmKHZvaWQgMCE9PWUuZml4TGVmdEVkZ2VVbnRpbD8odGhpcy5faXNNYWluUGxvdCgpJiZlLmZpeExlZnRFZGdlVW50aWw+PWkmJnRoaXMuX21pbmlDaGFydC5maXRDb250ZW50KCksaT5lLmZpeExlZnRFZGdlVW50aWwmJihlLmhpc3RvcnkrPWUucmVhbHRpbWUtMSxlLnJlYWx0aW1lPTAsZS5maXhMZWZ0RWRnZVVudGlsPXZvaWQgMCxlLnRpbWVGcmFtZUludmFsaWRhdGVkPSEwLHRoaXMuX3RpbWVGcmFtZUludmFsaWRhdGVkLmZpcmUoKSkpOmUudGltZUZyYW1lSW52YWxpZGF0ZWR8fChlLnRpbWVGcmFtZUludmFsaWRhdGVkPSEwLHRoaXMuX3RpbWVGcmFtZUludmFsaWRhdGVkLmZpcmUoKSkpLHRoaXMuX3VwZGF0ZVNlcmllc0NvbG9yKHIuc2VyaWVzW3Iuc2VyaWVzLmxlbmd0aC0xXSksdGhpcy5fZGF0YVVwZGF0ZWQocixlLHQpO2NvbnN0IHM9VyhyKTtyZXR1cm4gdm9pZChudWxsIT09cyYmKHRoaXMuX2xhc3RWYWx1ZS5zZXRWYWx1ZShzLmxhc3QudmFsdWUpLHRoaXMuX29uTGFzdEJhckRhdGFNYXlDaGFuZ2UoKSkpfWNvbnN0IG49ci53aGl0ZXNwYWNlcyxsPW4/Lmxlbmd0aD8/MDt0aGlzLl9kYXRhTGVuZ3RoSW5mbz17aGlzdG9yeTphLHJlYWx0aW1lOjAsbGFzdEJhckluZGV4OjA9PT1hP251bGw6YS0xLGxhc3RCYXJUaW1lOjA9PT1hP251bGw6ci5zZXJpZXNbYS0xXS50aW1lLHdoaXRlc3BhY2VzOmwsZml4TGVmdEVkZ2VVbnRpbDpyLmZpeExlZnRFZGdlVW50aWwsdGltZUZyYW1lSW52YWxpZGF0ZWQ6ITEsbGFzdEJhclNlc3Npb246ci5sYXN0QmFyU2Vzc2lvbn0sdGhpcy5fdXBkYXRlU2VyaWVzQ29sb3IoMD09PWE/dm9pZCAwOnIuc2VyaWVzW2EtMV0pLHRoaXMuX3Nlcmllcy5hcHBseU9wdGlvbnModGhpcy5fY3VycmVudFNlcmllc09wdGlvbnMpLHRoaXMuX2FwcGx5UHJpY2VTY2FsZUZvcm1hdHRlcigpLHR8fHRoaXMuX2JlZm9yZURhdGFSZWFkeSgpLHRoaXMuX3Nlcmllcy5zZXREYXRhKHIuc2VyaWVzKSxyLmFkZGl0aW9uYWxTZXJpZXMmJnRoaXMuX3NldEFkZGl0aW9uYWxTZXJpZXNEYXRhKHIuYWRkaXRpb25hbFNlcmllcyksci52b2x1bWUmJnRoaXMuX3ZvbHVtZS5zZXREYXRhKHIudm9sdW1lKSx0aGlzLl91cGRhdGVXaGl0ZXNwYWNlcyhyLndoaXRlc3BhY2VzKSx0aGlzLl9kYXRhVXBkYXRlZChyLHRoaXMuX2RhdGFMZW5ndGhJbmZvKTtjb25zdCBoPVcocik7aWYobnVsbCE9PWgpe2NvbnN0e2ZpcnN0OmUsbGFzdDp0fT1oO3RoaXMuX2xhc3RWYWx1ZS5zZXRWYWx1ZSh0LnZhbHVlKSx0aGlzLl9maXJzdEJhclRpbWUuc2V0VmFsdWUoZS50aW1lKSx0aGlzLl9vbkxhc3RCYXJEYXRhTWF5Q2hhbmdlKCl9fXRpdGxlcygpe3JldHVybiB0aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucy50aXRsZT9bdGhpcy5fY3VycmVudFNlcmllc09wdGlvbnMudGl0bGVdOltdfWRlbGV0ZVZpZXcoKXt0aGlzLl9zZXJpZXMuc2V0RGF0YShbXSksdGhpcy5fd2hpdGVzcGFjZXM/LnNldERhdGEoW10pLHRoaXMuX3ZvbHVtZS5zZXREYXRhKFtdKX1jbGVhckRhdGEoKXt0aGlzLl9zeW1ib2xJbmZvPW51bGwsdGhpcy5fc3ltYm9sSW5mb1dWLnNldFZhbHVlKG51bGwpLHRoaXMuX2hpc3RvcnlVcGRhdGVSZWNlaXZlZD0hMSx0aGlzLl9kYXRhTGVuZ3RoSW5mbz1udWxsLHRoaXMuX2ZpcnN0VmFsdWVDYWNoZT1udWxsLHRoaXMuX2N1c3RvbVByaWNlRm9ybWF0dGVyPW51bGwsdGhpcy5fc3RhdHVzLnNldFZhbHVlKDApLHRoaXMuX25vRGF0YS5zZXRWYWx1ZShudWxsKSx0aGlzLl9kaXJlY3Rpb25CYXNlZENvbG9yLnNldFZhbHVlKG51bGwpfXJlc29sdXRpb24oKXtyZXR1cm4gdGhpcy5fbWluaUNoYXJ0LnJlc29sdXRpb24oKX1taW5CYXJJbmRleCgpe3JldHVybiB0aGlzLl9taW5CYXJJbmRleH1tYXhCYXJJbmRleCgpe3JldHVybiB0aGlzLl9tYXhCYXJJbmRleH1mb3JjZVBlcmNlbnRhZ2VNb2RlKCl7cmV0dXJuITF9bGFzdEJhclRpbWUoKXtyZXR1cm4gdGhpcy5fZGF0YUxlbmd0aEluZm8/Lmxhc3RCYXJUaW1lPz92b2lkIDB9bGFzdEJhckluZGV4KCl7cmV0dXJuIHRoaXMuX2RhdGFMZW5ndGhJbmZvPy5sYXN0QmFySW5kZXg/P251bGx9Z2V0Vmlld0RhdGEoZSl7cmV0dXJuIHRoaXMuX2J1aWxkVmlld0RhdGEoZSl9Z2V0TGVnZW5kRGF0YShlLHQpe2NvbnN0IHM9dGhpcy5zZXJpZXMoKSxyPXRoaXMudm9sdW1lKCk7aWYodm9pZCAwPT09ZSlyZXR1cm5bXTtjb25zdCBhPXMuZGF0YUJ5SW5kZXgoZSx0KTtpZihudWxsPT09YSlyZXR1cm5bXTtjb25zdCBvPVtdLG49cy5wcmljZUZvcm1hdHRlcigpLGw9dGhpcy5jdXJyZW50U2VyaWVzT3B0aW9ucygpO2lmKCExPT09bC52aXNpYmxlKXJldHVybltdO2lmKCJBcmVhIj09PXMuc2VyaWVzVHlwZSgpfHwiTGluZSI9PT1zLnNlcmllc1R5cGUoKXx8IkJhc2VsaW5lIj09PXMuc2VyaWVzVHlwZSgpfHwibGVnZW5kIj09PWwudG9vbHRpcFR5cGV8fCJsaW5lIj09PWwudG9vbHRpcFR5cGUpe2NvbnN0e3ZhbHVlOmV9PWE7bGV0IHQ7dD0iYXJlYSI9PT1sLmNoYXJ0VHlwZT9hLmxpbmVDb2xvcjphLmNvbG9yCjtjb25zdCBpPXRoaXMuc3ltYm9sSW5mbygpLHM9bC5jb2xvcnx8bC5saW5lQ29sb3I7by5wdXNoKHt0aXRsZTpsLnRvb2x0aXBUaXRsZXx8aT8ubmFtZXx8IiIsdmFsdWU6bi5mb3JtYXQoZSksY29sb3I6dHx8cyx1bml0Omwuc2hvd1VuaXQ/KDAsdy5wcmVwYXJlQ3VycmVuY3lWYWx1ZSkoe2N1cnJlbmN5X2NvZGU6aT8uY3VycmVuY3lfY29kZSx1bml0X2lkOmk/LnVuaXRfaWQsdmFsdWVfdW5pdF9pZDppPy52YWx1ZV91bml0X2lkLG1lYXN1cmU6aT8ubWVhc3VyZX0pOnZvaWQgMH0pfWVsc2V7Y29uc3R7b3BlbjplLGhpZ2g6dCxsb3c6cixjbG9zZTpsfT1hLGg9ZnVuY3Rpb24oZSx0KXtpZihudWxsPT09dClyZXR1cm47Y29uc3QgaT1lP3QudXA6dC5kb3duO3JldHVybiBrKGkpfShsPj1lLHRoaXMuX21pbmlDaGFydC51cERvd25Db2xvcnMocy5zZXJpZXNUeXBlKCkpKTtbW3kudChudWxsLHtjb250ZXh0OiJpbl9sZWdlbmQifSxpKDk2MDUxMykpLG4uZm9ybWF0KGUpXSxbeS50KG51bGwse2NvbnRleHQ6ImluX2xlZ2VuZCJ9LGkoOTU0NjE0KSksbi5mb3JtYXQodCldLFt5LnQobnVsbCx7Y29udGV4dDoiaW5fbGVnZW5kIn0saSg4Mzk0NjMpKSxuLmZvcm1hdChyKV0sW3kudChudWxsLHtjb250ZXh0OiJpbl9sZWdlbmQifSxpKDIyOTk5NCkpLG4uZm9ybWF0KGwpXV0uZm9yRWFjaCgoKFtlLHRdKT0+e28ucHVzaCh7dmFsdWU6dCx0aXRsZTplLGNvbG9yOmh9KX0pKX1jb25zdCBoPXImJnIuZGF0YUJ5SW5kZXgoZSx0KSx1PXRoaXMudm9sdW1lT3B0aW9ucygpO2lmKGgpe2NvbnN0e3ZhbHVlOmUsY29sb3I6dH09aDtvLnB1c2goe3RpdGxlOnUudG9vbHRpcFRpdGxlPz95LnQobnVsbCx7Y29udGV4dDoiaW5fbGVnZW5kIn0saSg1NjUzMjEpKSx2YWx1ZTpPLmZvcm1hdChlKSxjb2xvcjp1Lmlnbm9yZUNvbG9yP3ZvaWQgMDp0JiYoMCxJLnJlc2V0VHJhbnNwYXJlbmN5KSh0KSx1bml0OnUuc2hvd1VuaXQ/dGhpcy5zeW1ib2xJbmZvKCk/LmN1cnJlbmN5X2NvZGU6dm9pZCAwfSl9cmV0dXJuIG99bGVnZW5kTGFzdEJhckRhdGEoKXtyZXR1cm4gdGhpcy5fbGVnZW5kTGFzdEJhckRhdGF8fCh0aGlzLl9sZWdlbmRMYXN0QmFyRGF0YT1uZXcgXy5XYXRjaGVkT2JqZWN0KG51bGwpLHRoaXMuX29uTGFzdEJhckRhdGFNYXlDaGFuZ2UoKSksdGhpcy5fbGVnZW5kTGFzdEJhckRhdGEucmVhZG9ubHkoKX1zZXNzaW9uQXRUaW1lKGUpe3JldHVybiB0aGlzLl9iYXJCdWlsZGVyTG9hZGVyPy5nZXQoKT8uc2Vzc2lvbihlKT8/bnVsbH1sYXN0VmFsdWUoKXtyZXR1cm4gdGhpcy5fbGFzdFZhbHVlLnJlYWRvbmx5KCl9Zmlyc3RCYXJUaW1lKCl7cmV0dXJuIHRoaXMuX2ZpcnN0QmFyVGltZS5yZWFkb25seSgpfWlzVmlzaWJsZSgpe3JldHVybiB0aGlzLl9pc1Zpc2libGUucmVhZG9ubHkoKX1zeW1ib2xOYW1lKCl7cmV0dXJuIHRoaXMuX3N5bWJvbC5zeW1ib2x9bGluZUNvbG9yKCl7Y29uc3QgZT10aGlzLmN1cnJlbnRTZXJpZXNPcHRpb25zKCk7cmV0dXJuImxpbmUiPT09ZS5jaGFydFR5cGU/ZS5jb2xvcj8/IiI6ImFyZWEiPT09ZS5jaGFydFR5cGU/ZS5saW5lQ29sb3I/PyIiOnZvaWQoMCxuLmFzc2VydCkoITEsYFVuZXhwZWN0ZWQgY2hhcnQgdHlwZTogJHtlLmNoYXJ0VHlwZX1gKX1pc0Rlc3Ryb3llZCgpe3JldHVybiB0aGlzLl9pc0Rlc3Ryb3llZC5yZWFkb25seSgpfV9oYXNPdmVybmlnaHRTZXNzaW9uKCl7cmV0dXJuITF9X2lzTWFpblBsb3QoKXtyZXR1cm4hMX1fb25DaGFydFN0eWxlQ2hhbmdlZCgpe3RoaXMuX3JlY3JlYXRlU2VyaWVzKCksMz09PXRoaXMuX3N0YXR1cy52YWx1ZSgpJiZ0aGlzLnVwZGF0ZURhdGEoITEsITApfV9iZWZvcmVEYXRhUmVhZHkoKXt0aGlzLl9jdXJyZW50bHlTaG93bkRhdGFEZXNjcmlwdGlvbi5zZXRWYWx1ZSh7dGltZWZyYW1lOnRoaXMuX3RpbWVGcmFtZS52YWx1ZSgpLHN5bWJvbDp0aGlzLnN5bWJvbCgpfSl9X2RhdGFVcGRhdGVkKGUsdCxpKXt9X29uU3ltYm9sUmVzb2x2ZWQoZSl7dGhpcy5fYmFyQnVpbGRlckxvYWRlcj8uZGVzdHJveSgpLHRoaXMuX2JhckJ1aWxkZXJMb2FkZXI9bnVsbCx0aGlzLl9zeW1ib2xJbmZvPWUsdGhpcy5fc3ltYm9sSW5mb1dWLnNldFZhbHVlKGUpLHRoaXMuX3N5bWJvbFJlc29sdmVkLmZpcmUodGhpcy5fc3ltYm9sSW5mbyl9X2dldFZpZXdEYXRhKGUsdCl7Y29uc3QgaT1bXSxzPXtzZXJpZXM6W10sdm9sdW1lOml9O2xldCByPS0xLzA7Y29uc3QgYT10aGlzLl9iYXJzKCk7aWYoYS5pc0VtcHR5KCkpcmV0dXJuIHM7Y29uc3Qgbz10aGlzLm1pbkJhckluZGV4KCksbj10aGlzLm1heEJhckluZGV4KCk7aWYobnVsbD09PW98fG51bGw9PT1uKXJldHVybiBzO2NvbnN0IGw9dD8/KFAobyk/bzphLmZpcnN0SW5kZXgoKSksaD1hLmxhc3RJbmRleCgpO2lmKG51bGw9PT1sfHxudWxsPT09aClyZXR1cm4gcztsZXQgdTtjb25zdHtwcmVtYXJrZXRMaW5lQ29sb3I6ZCxwb3N0bWFya2V0TGluZUNvbG9yOl8sbmlnaHRMaW5lQ29sb3I6YyxwcmVtYXJrZXRUb3BDb2xvcjptLHByZW1hcmtldEJvdHRvbUNvbG9yOnAscG9zdG1hcmtldFRvcENvbG9yOnkscG9zdG1hcmtldEJvdHRvbUNvbG9yOmYsbmlnaHRUb3BDb2xvcjpDLG5pZ2h0Qm90dG9tQ29sb3I6Yn09dGhpcy5fZ2V0UHJlUG9zdE1hcmtldENvbG9ycygpLHY9ZT0+e3N3aXRjaChlKXtjYXNlIDA6cmV0dXJuW2QsbSxwXTtjYXNlIDE6cmV0dXJuW18seSxmXTtjYXNlIDM6cmV0dXJuW2MsQyxiXTtkZWZhdWx0OnJldHVybltdfX07Zm9yKGNvbnN0IHQgb2YgYS5yYW5nZUl0ZXJhdG9yKGwsaCkpe2NvbnN0e3ZhbHVlOmEsaW5kZXg6b309dDtpZihvPD1TLlVOUExPVFRBQkxFX1RJTUVfUE9JTlRfSU5ERVgpY29udGludWU7Y29uc3Qgbj10aGlzLl9taW5pQ2hhcnQuaW5kZXhUb1RpbWUobyk7aWYobnVsbD09PW4pe0IubG9nV2FybihgQ291bGRuJ3QgZmluZCB0aW1lIGZvciBpbmRleCAke299YCk7Y29udGludWV9Y29uc3QgbD0hdGhpcy5fbWluaUNoYXJ0LmlzRFdNUmVzb2x1dGlvbigpP00oMWUzKm4pOm47aWYobDw9ciljb250aW51ZTtyPWwsdT1sO2NvbnN0IGg9dGhpcy5fYmFySW5kZXhTZXNzaW9uKG8pCjtzLmxhc3RCYXJTZXNzaW9uPWgscy5zZXJpZXMucHVzaChlKGwsYSwuLi52KGgpKSk7Y29uc3QgZD1hWzRdPj1hWzFdP3RoaXMuX29yaWdpbmFsVm9sdW1lT3B0aW9ucy51cENvbG9yOnRoaXMuX29yaWdpbmFsVm9sdW1lT3B0aW9ucy5kb3duQ29sb3I7aS5wdXNoKHt0aW1lOmwsdmFsdWU6YVs1XSxjb2xvcjpkfSl9aWYodGhpcy5faXNNYWluUGxvdCgpJiZ2b2lkIDA9PT10JiZ2b2lkIDAhPT11KXN3aXRjaCgoMCxnLmNvbnZlcnRUaW1lRnJhbWVUb1N0cikodGhpcy5fdGltZUZyYW1lLnZhbHVlKCkpKXtjYXNlIjFEIjpzLmZpeExlZnRFZGdlVW50aWw9dSs4NjQwMC0xO2JyZWFrO2Nhc2UiTEFTVFNFU1NJT04iOntsZXQgZT1bXSx0PXUrODc4NDAtMTtjb25zdCBpPXRoaXMuX2dlbmVyYXRlQmFyc1RvU2Vzc2lvbkVuZCgpO2k/Lmxlbmd0aCYmbnVsbCE9PW4mJm4+aCYmKGU9aSx0PWlbaS5sZW5ndGgtMV0udGltZSkscy5maXhMZWZ0RWRnZVVudGlsPXQscy53aGl0ZXNwYWNlcz1lfX1yZXR1cm4gc31fYnVpbGRWaWV3RGF0YShlKXtzd2l0Y2godGhpcy5fb3JpZ2luYWxTZXJpZXNPcHRpb25zLmNoYXJ0VHlwZSl7Y2FzZSJwcmV0dHktaGlzdG9ncmFtIjpjYXNlImhpc3RvZ3JhbSI6e2NvbnN0IHQ9dGhpcy5fY3VycmVudFNlcmllc09wdGlvbnM7cmV0dXJuIHRoaXMuX2dldFZpZXdEYXRhKCgoZSxpKT0+ZnVuY3Rpb24oZSx0LGkscyl7Y29uc3Qgcj10WzRdO3JldHVybnt0aW1lOmUsY29sb3I6cj4wP2k6cyx2YWx1ZTpyfX0oZSxpLHQudXBDb2xvcix0LmRvd25Db2xvcikpLGUpfWNhc2UibGluZSI6e2NvbnN0IHQ9dGhpcy5fY3VycmVudFNlcmllc09wdGlvbnM7cmV0dXJuIHRoaXMuX2dldFZpZXdEYXRhKEwuYmluZChudWxsLHQuc291cmNlUGxvdEluZGV4Pz80KSxlKX1jYXNlImFyZWEiOmNhc2UiYmFzZWxpbmUiOnJldHVybiB0aGlzLl9nZXRWaWV3RGF0YSh4LGUpO2Nhc2UiYmFycyI6Y2FzZSJjYW5kbGVzdGlja3MiOnJldHVybiB0aGlzLl9nZXRWaWV3RGF0YShULGUpfX1fc2V0QWRkaXRpb25hbFNlcmllc0RhdGEoZSl7fV91cGRhdGVBZGRpdGlvbmFsU2VyaWVzRGF0YShlKXt9X2JhckluZGV4U2Vzc2lvbihlKXt9X29uU3ltYm9sRXJyb3IoZSl7Qi5sb2dXYXJuKCgwLEMuZW5jb2RlRXh0ZW5kZWRTeW1ib2xPckdldFNpbXBsZVN5bWJvbFN0cmluZykodGhpcy5fc3ltYm9sKSsiIHN5bWJvbCByZXNvbHZpbmcgZXJyb3I6ICIrZSksdGhpcy51cGRhdGVEYXRhKCEwKSx0aGlzLl9zdGF0dXMuc2V0VmFsdWUoMSl9X29uU3ltYm9sTm90UGVybWl0dGVkKCl7dGhpcy5fbm9EYXRhLnNldFZhbHVlKDEpfV9vbkludHJhZGF5U3ByZWFkTm90UGVybWl0dGVkKCl7dGhpcy5fc3RhdHVzLnNldFZhbHVlKDIpLHRoaXMuX25vRGF0YS5zZXRWYWx1ZSg0KSx0aGlzLl9pc01haW5QbG90KCkmJnRoaXMuX21pbmlDaGFydC5zaG93TWVzc2FnZSh5LnQobnVsbCx7Y29udGV4dDoibWluaSBjaGFydCBlcnJvciBtZXNzYWdlIn0saSg4MjkyNzMpKSl9X29uU3ltYm9sR3JvdXBOb3RQZXJtaXR0ZWQoKXt0aGlzLl9ub0RhdGEuc2V0VmFsdWUoMSl9X29uU3ltYm9sSW52YWxpZCgpe3RoaXMuX25vRGF0YS5zZXRWYWx1ZSgwKX1fb25SZXNvbHV0aW9uT3JFeGNoYW5nZU5vdFBlcm1pdHRlZEVycm9yKCl7Qi5sb2dFcnJvcigoMCxDLmVuY29kZUV4dGVuZGVkU3ltYm9sT3JHZXRTaW1wbGVTeW1ib2xTdHJpbmcpKHRoaXMuX3N5bWJvbCkrIiByZXNvbHV0aW9uIG9yIGV4Y2hhbmdlIHBlcm1pc3Npb24gZXJyb3IiKSx0aGlzLnVwZGF0ZURhdGEoITApLHRoaXMuX2lzTWFpblBsb3QoKSYmdGhpcy5fbWluaUNoYXJ0LnNob3dNZXNzYWdlKHkudChudWxsLHtjb250ZXh0OiJtaW5pIGNoYXJ0IGVycm9yIG1lc3NhZ2UifSxpKDI4NTg5MykpKSxzZXRUaW1lb3V0KCgoKT0+dGhpcy5fbWluaUNoYXJ0LnVwZGF0ZUF2YWlsYWJsZVRpbWVmcmFtZXMoKSksMWUzKX1fb25EYXRhRXJyb3IoKXsxIT09dGhpcy5fc3RhdHVzLnZhbHVlKCkmJnRoaXMuX3N0YXR1cy5zZXRWYWx1ZSgyKSx0aGlzLl9ub0RhdGEuc2V0VmFsdWUoMyl9X29uRGF0YUNvbXBsZXRlZCgpe3RoaXMuX3N0YXR1cy5zZXRWYWx1ZSgzKSx0aGlzLl9ub0RhdGEuc2V0VmFsdWUoMD09PXRoaXMuX2JhcnMoKS5zaXplKCk/MjpudWxsKSwyPT09dGhpcy5fbm9EYXRhLnZhbHVlKCkmJnRoaXMuX2lzTWFpblBsb3QoKSYmdGhpcy5fc2hvd05vRGF0YU1lc3NhZ2UoKX1fc2hvd05vRGF0YU1lc3NhZ2UoKXt0aGlzLl9taW5pQ2hhcnQuc2hvd01lc3NhZ2UoeS50KG51bGwse2NvbnRleHQ6Im1pbmkgY2hhcnQgZXJyb3IgbWVzc2FnZSJ9LGkoMjk5MTUzKSkpfWFzeW5jIF9vbkRhdGEoZSx0KXtudWxsIT09dGhpcy5taW5CYXJJbmRleCgpJiZudWxsIT09dGhpcy5tYXhCYXJJbmRleCgpJiYodGhpcy51cGRhdGVEYXRhKCExLHZvaWQgMCxlKSwzPT09dGhpcy5fc3RhdHVzLnZhbHVlKCkmJnRoaXMuX25vRGF0YS5zZXRWYWx1ZSgwPT09dGhpcy5fYmFycygpLnNpemUoKT8yOm51bGwpKX1fdXBkYXRlU2VyaWVzT3B0aW9ucyhlKXt0aGlzLl9vcmlnaW5hbFNlcmllc09wdGlvbnM9KDAsYS5kZWZhdWx0KSh0aGlzLl9vcmlnaW5hbFNlcmllc09wdGlvbnMsZSksdGhpcy5fY3VycmVudFNlcmllc09wdGlvbnM9KDAsYS5kZWZhdWx0KSh0aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucyx0aGlzLl9vcmlnaW5hbFNlcmllc09wdGlvbnMpLHRoaXMuX3VwZGF0ZVNlcmllc0NvbG9yKCksdm9pZCAwIT09dGhpcy5fY3VycmVudFNlcmllc09wdGlvbnMudmlzaWJsZSYmdGhpcy5faXNWaXNpYmxlLnNldFZhbHVlKHRoaXMuX2N1cnJlbnRTZXJpZXNPcHRpb25zLnZpc2libGUpfV9yZWNyZWF0ZVNlcmllcygpe2NvbnN0IGU9dGhpcy5fbWluaUNoYXJ0LndpZGdldCgpO2UucmVtb3ZlU2VyaWVzKHRoaXMuX3NlcmllcyksZS5yZW1vdmVTZXJpZXModGhpcy5fdm9sdW1lKSx0aGlzLl93aGl0ZXNwYWNlcyYmKGUucmVtb3ZlU2VyaWVzKHRoaXMuX3doaXRlc3BhY2VzKSx0aGlzLl93aGl0ZXNwYWNlcz1udWxsKSx0aGlzLl9zZXJpZXM9dGhpcy5fY3JlYXRlU2VyaWVzKCksCnRoaXMuX3ZvbHVtZT10aGlzLl9jcmVhdGVWb2x1bWUoKSx0aGlzLl9jaGFydFR5cGUuc2V0VmFsdWUodGhpcy5fY3VycmVudFNlcmllc09wdGlvbnMuY2hhcnRUeXBlKSx0aGlzLl9zZXJpZXNDaGFuZ2VkLmZpcmUoKX1faW5pdEJhckJ1aWxkZXIoZSl7cmV0dXJuIG51bGw9PT10aGlzLl9iYXJCdWlsZGVyTG9hZGVyJiYodGhpcy5fYmFyQnVpbGRlckxvYWRlcj1uZXcgVi5Bc3luY1Jlc291cmNlV3JhcHBlcihQcm9taXNlLmFsbChbaS5lKDEyMTgxKSxpLmUoNTU5NjkpLGkuZSg2MzE2MCksaS5lKDkzMjc5KV0pLnRoZW4oaS5iaW5kKGksMTY0NDc1KSkudGhlbigodD0+bmV3IHQuTWluaUNoYXJ0QmFyQnVpbGRlcihlKSkpKSksdGhpcy5fYmFyQnVpbGRlckxvYWRlci5wcm9taXNlKCl9X2ZpcnN0QW5kTGFzdFZhbHVlc0ZvclNlcmllc0NvbG9yKGUsdCl7aWYobnVsbD09PXRoaXMuX2ZpcnN0VmFsdWVDYWNoZXx8IXRoaXMuX2RhdGFMZW5ndGhJbmZvKXJldHVybiBudWxsO2lmKCJsaW5lIiE9PWUmJiJhcmVhIiE9PWUpcmV0dXJuIG51bGw7Y29uc3QgaT1udWxsPT09dGhpcy5fZGF0YUxlbmd0aEluZm8ubGFzdEJhckluZGV4P251bGw6dGhpcy5fc2VyaWVzLmRhdGFCeUluZGV4KHRoaXMuX2RhdGFMZW5ndGhJbmZvLmxhc3RCYXJJbmRleCk7cmV0dXJuIG51bGwhPT1pfHx0Pyh0PXQ/P2ksW3RoaXMuX2ZpcnN0VmFsdWVDYWNoZSx0LnZhbHVlXSk6bnVsbH1fdXBkYXRlU2VyaWVzQ29sb3IoZSl7Y29uc3QgdD10aGlzLl9vcmlnaW5hbFNlcmllc09wdGlvbnMsaT10LmNoYXJ0VHlwZSxzPXRoaXMuX2ZpcnN0QW5kTGFzdFZhbHVlc0ZvclNlcmllc0NvbG9yKGksZSk7aWYobnVsbD09PXMpcmV0dXJuO2NvbnN0W3IsYV09cztpZigibGluZSI9PT1pfHwiYXJlYSI9PT1pKXtjb25zdCBlPSJsaW5lIj09PWk/YT49cjphPnI7aWYoImFyZWEiPT09aSl7Y29uc3QgaT10aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucztlPyhpLmxpbmVDb2xvcj10Lmdyb3dpbmdMaW5lQ29sb3J8fHQubGluZUNvbG9yLGkudG9wQ29sb3I9dC5ncm93aW5nVG9wQ29sb3J8fHQudG9wQ29sb3IsaS5ib3R0b21Db2xvcj10Lmdyb3dpbmdCb3R0b21Db2xvcnx8dC5ib3R0b21Db2xvcik6KGkubGluZUNvbG9yPXQuZmFsbGluZ0xpbmVDb2xvcnx8dC5saW5lQ29sb3IsaS50b3BDb2xvcj10LmZhbGxpbmdUb3BDb2xvcnx8dC50b3BDb2xvcixpLmJvdHRvbUNvbG9yPXQuZmFsbGluZ0JvdHRvbUNvbG9yfHx0LmJvdHRvbUNvbG9yKSxpLmxpbmVDb2xvcnx8KGkubGluZUNvbG9yPXRoaXMuX3Nlcmllcy5vcHRpb25zKCkubGluZUNvbG9yKSx0aGlzLl9zZXJpZXMuYXBwbHlPcHRpb25zKHt0b3BDb2xvcjppLnRvcENvbG9yLGJvdHRvbUNvbG9yOmkuYm90dG9tQ29sb3IsbGluZUNvbG9yOmkubGluZUNvbG9yfSksdGhpcy5fZGlyZWN0aW9uQmFzZWRDb2xvci5zZXRWYWx1ZShpLmxpbmVDb2xvcil9ZWxzZSBpZigibGluZSI9PT1pKXtjb25zdHtjb2xvcjppLGdyb3dpbmdDb2xvcjpzPWksZmFsbGluZ0NvbG9yOnI9aX09dCxhPXRoaXMuX2N1cnJlbnRTZXJpZXNPcHRpb25zO2EuY29sb3I9ZT9zOnIsYS5jb2xvcnx8KGEuY29sb3I9dGhpcy5fc2VyaWVzLm9wdGlvbnMoKS5jb2xvciksdGhpcy5fc2VyaWVzLmFwcGx5T3B0aW9ucyh7Y29sb3I6YS5jb2xvcn0pLHRoaXMuX2RpcmVjdGlvbkJhc2VkQ29sb3Iuc2V0VmFsdWUoYS5jb2xvcil9fX1fcHJpY2VGb3JtYXQoKXtjb25zdCBlPXRoaXMuX3N5bWJvbEluZm8/P3RoaXMuX21pbmlDaGFydC5tYWluUGxvdCgpLnN5bWJvbEluZm8oKTtyZXR1cm4gbnVsbD09PWU/bnVsbDpGKGUpfV9vbkxhc3RCYXJEYXRhTWF5Q2hhbmdlKCl7aWYoIXRoaXMuX2xlZ2VuZExhc3RCYXJEYXRhKXJldHVybjtjb25zdCBlPXRoaXMuX21pbmlDaGFydC5tYWluUGxvdCgpLmxhc3RCYXJJbmRleCgpO251bGwhPT1lP3RoaXMuX2xlZ2VuZExhc3RCYXJEYXRhLnNldFZhbHVlKHRoaXMuZ2V0TGVnZW5kRGF0YShlLHIuTWlzbWF0Y2hEaXJlY3Rpb24uTmVhcmVzdExlZnQpKTp0aGlzLl9sZWdlbmRMYXN0QmFyRGF0YS5zZXRWYWx1ZShudWxsKX1fY3JlYXRlU2VyaWVzKCl7Y29uc3QgZT10aGlzLl9taW5pQ2hhcnQud2lkZ2V0KCk7bGV0IHQ7c3dpdGNoKHRoaXMuX2N1cnJlbnRTZXJpZXNPcHRpb25zLmNoYXJ0VHlwZSl7Y2FzZSJsaW5lIjp0PWUuYWRkU2VyaWVzKHIuTGluZVNlcmllcyx0aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucyk7YnJlYWs7Y2FzZSJoaXN0b2dyYW0iOnQ9ZS5hZGRTZXJpZXMoci5IaXN0b2dyYW1TZXJpZXMsdGhpcy5fY3VycmVudFNlcmllc09wdGlvbnMpO2JyZWFrO2Nhc2UiYXJlYSI6dD1lLmFkZFNlcmllcyhyLkFyZWFTZXJpZXMsdGhpcy5fY3VycmVudFNlcmllc09wdGlvbnMpO2JyZWFrO2Nhc2UiYmFycyI6dD1lLmFkZFNlcmllcyhyLkJhclNlcmllcyx0aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucyk7YnJlYWs7Y2FzZSJjYW5kbGVzdGlja3MiOnQ9ZS5hZGRTZXJpZXMoci5DYW5kbGVzdGlja1Nlcmllcyx0aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucyk7YnJlYWs7Y2FzZSJiYXNlbGluZSI6dD1lLmFkZFNlcmllcyhyLkJhc2VsaW5lU2VyaWVzLHRoaXMuX2N1cnJlbnRTZXJpZXNPcHRpb25zKTticmVhaztjYXNlInByZXR0eS1oaXN0b2dyYW0iOntjb25zdCBpPW5ldyBELlByZXR0eUhpc3RvZ3JhbVNlcmllczt0PWUuYWRkQ3VzdG9tU2VyaWVzKGksdGhpcy5fY3VycmVudFNlcmllc09wdGlvbnMpfX1yZXR1cm4gbnVsbD09PXRoaXMuX29yaWdpbmFsU2NhbGVNb2RlJiYodGhpcy5fb3JpZ2luYWxTY2FsZU1vZGU9dC5wcmljZVNjYWxlKCkub3B0aW9ucygpLm1vZGUpLHRoaXMuX2lzVmlzaWJsZS5zZXRWYWx1ZSh0Lm9wdGlvbnMoKS52aXNpYmxlKSx0LnByaWNlU2NhbGUoKS5hcHBseU9wdGlvbnMoe3NjYWxlTWFyZ2luczp0aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucy5zY2FsZU1hcmdpbnN9KSx0fV9jcmVhdGVWb2x1bWUoKXtjb25zdCBlPXRoaXMuX21pbmlDaGFydC53aWRnZXQoKS5hZGRTZXJpZXMoci5IaXN0b2dyYW1TZXJpZXMsdGhpcy5fb3JpZ2luYWxWb2x1bWVPcHRpb25zKQo7cmV0dXJuIGUucHJpY2VTY2FsZSgpLmFwcGx5T3B0aW9ucyh7c2NhbGVNYXJnaW5zOnRoaXMuX29yaWdpbmFsVm9sdW1lT3B0aW9ucy5zY2FsZU1hcmdpbnN9KSxlfV9hcHBseVByaWNlU2NhbGVGb3JtYXR0ZXIoKXtpZigicHJpY2VGb3JtYXQiaW4gdGhpcy5fb3JpZ2luYWxTZXJpZXNPcHRpb25zKXJldHVybjtjb25zdCBlPXRoaXMuX3ByaWNlRm9ybWF0KCk7ZSYmKHRoaXMuX2N1cnJlbnRTZXJpZXNPcHRpb25zLnByaWNlRm9ybWF0PWUsdGhpcy5fc2VyaWVzLmFwcGx5T3B0aW9ucyh0aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucykpfV91cGRhdGVTZXNzaW9uSWQoKXt0aGlzLl9pc0xhc3RTZXNzaW9uSW50ZXJ2YWwudmFsdWUoKT90aGlzLl9zZXNzaW9uSWQuc2V0VmFsdWUodGhpcy5faGFzT3Zlcm5pZ2h0U2Vzc2lvbigpPyIyNGgiOiJleHRlbmRlZCIpOnRoaXMuX3Nlc3Npb25JZC5zZXRWYWx1ZSh0aGlzLl9zeW1ib2wuc2Vzc2lvbil9X3VwZGF0ZVdoaXRlc3BhY2VzKGUpe3ZvaWQgMD09PWV8fDA9PT1lLmxlbmd0aD9udWxsIT09dGhpcy5fd2hpdGVzcGFjZXMmJih0aGlzLl9taW5pQ2hhcnQud2lkZ2V0KCkucmVtb3ZlU2VyaWVzKHRoaXMuX3doaXRlc3BhY2VzKSx0aGlzLl93aGl0ZXNwYWNlcz1udWxsKToobnVsbD09PXRoaXMuX3doaXRlc3BhY2VzJiYodGhpcy5fd2hpdGVzcGFjZXM9dGhpcy5fbWluaUNoYXJ0LndpZGdldCgpLmFkZFNlcmllcyhyLkxpbmVTZXJpZXMpKSx0aGlzLl93aGl0ZXNwYWNlc0RhdGE9bnVsbD09PXRoaXMuX3doaXRlc3BhY2VzP3ZvaWQgMDplLHRoaXMuX3doaXRlc3BhY2VzLnNldERhdGEoZSkpfV9nZW5lcmF0ZUJhcnNUb1Nlc3Npb25FbmQoKXtjb25zdCBlPXRoaXMuc3ltYm9sSW5mbygpLHQ9dGhpcy5fYmFycygpLmxhc3RJbmRleCgpLGk9dGhpcy5tYXhCYXJJbmRleCgpO2lmKGUmJnQmJmkmJnRoaXMuX2lzTGFzdFNlc3Npb25JbnRlcnZhbC52YWx1ZSgpKXtsZXQgZT10aGlzLl9taW5pQ2hhcnQuaW5kZXhUb1RpbWUodCk7aWYobnVsbD09PWUpcmV0dXJuO2NvbnN0IHM9W107Zm9yKGxldCByPXQrMTtyPD1pO3IrPTEpe2NvbnN0IHQ9dGhpcy5fbWluaUNoYXJ0LmluZGV4VG9UaW1lKHIpPz9lKzYwO3MucHVzaCh7dGltZTpNKDFlMyp0KX0pLGU9dH1yZXR1cm4gc319X2dldFByZVBvc3RNYXJrZXRDb2xvcnMoKXtpZighdGhpcy5faXNNYWluUGxvdCgpKXJldHVybnt9O2xldCBlLHQsaSxzLHIsYTtjb25zdCBvPXRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucy5wcmVtYXJrZXRMaW5lQ29sb3Isbj10aGlzLl9vcmlnaW5hbFNlcmllc09wdGlvbnMucG9zdG1hcmtldExpbmVDb2xvcixoPXRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucy5uaWdodExpbmVDb2xvcjtpZigiYXJlYSI9PT10aGlzLl9vcmlnaW5hbFNlcmllc09wdGlvbnMuY2hhcnRUeXBlJiZvJiZuJiZoKXtjb25zdCB1PXRoaXMuX2N1cnJlbnRTZXJpZXNPcHRpb25zLGQ9dS5ncm93aW5nVG9wQ29sb3J8fHUuZmFsbGluZ1RvcENvbG9yfHx1LnRvcENvbG9yO2lmKHZvaWQgMCE9PWQpe2NvbnN0IHQ9KDAsbC50cnlQYXJzZVJnYmEpKGQpO2lmKG51bGwhPT10KXtjb25zdCBzPXRbM107ZT0oMCxJLmFwcGx5QWxwaGEpKG8scyksaT0oMCxJLmFwcGx5QWxwaGEpKG4scykscj0oMCxJLmFwcGx5QWxwaGEpKGgscyl9fWNvbnN0IF89dS5ncm93aW5nQm90dG9tQ29sb3J8fHUuZmFsbGluZ0JvdHRvbUNvbG9yfHx1LmJvdHRvbUNvbG9yO2lmKHZvaWQgMCE9PV8pe2NvbnN0IGU9KDAsbC50cnlQYXJzZVJnYmEpKF8pO2lmKG51bGwhPT1lKXtjb25zdCBpPWVbM107dD0oMCxJLmFwcGx5QWxwaGEpKG8saSkscz0oMCxJLmFwcGx5QWxwaGEpKG4saSksYT0oMCxJLmFwcGx5QWxwaGEpKGgsaSl9fX1yZXR1cm57cHJlbWFya2V0TGluZUNvbG9yOm8scG9zdG1hcmtldExpbmVDb2xvcjpuLG5pZ2h0TGluZUNvbG9yOmgscHJlbWFya2V0VG9wQ29sb3I6ZSxwb3N0bWFya2V0VG9wQ29sb3I6aSxuaWdodFRvcENvbG9yOnIscHJlbWFya2V0Qm90dG9tQ29sb3I6dCxwb3N0bWFya2V0Qm90dG9tQ29sb3I6cyxuaWdodEJvdHRvbUNvbG9yOmF9fV90aW1lU2NhbGVTaXplQ2hhbmdlZCgpe3RoaXMuX2lzTWFpblBsb3QoKSYmUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKCk9PnRoaXMuX21pbmlDaGFydC5maXRDb250ZW50KCkpKX19fX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/12385.78561ebdef05ce648b5d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.172Z","timestamp":1785120634172,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/12385.78561ebdef05ce648b5d.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-d425\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ccaf3d6402108b972b1dea75a0550eeb\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":54309,"size_decoded":5303,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (54309), with no line terminators","md5":"0c88f4a2822b7956fa6a494b66642d6b","sha1":"3d02fd6fb3670db4645274f9d9261007de2c2d4c","sha256":"34608d65050c9883ea16820ce35863032278a925ad8eb001a2b5fa65240fa0a6","sha512":"a3b3660c9b9d810cf9ca78bf392ecc0623bb244d94a7f4d7cabf1f8a56e4e640197527938f544c0d403050bd175789df4437808eec5503b5a7b07cc1a0b401b1","ssdeep":"768:DhiEt1AI8s3XbXbfLAP5xsxF6I00xXxrO/:Dhr8s3XbXbfLAP5xsxF6I00xXxrO/","tlshash":"063358abb6a1a7797b52637e5319f375b380ed7ae4733de3f050402410c69a704caa72","first_seen":"2026-07-16T13:40:49.677399Z","last_seen":"2026-07-27T05:29:38.638714Z","times_seen":264,"resource_available":false,"data":"LmxpZ2h0QnV0dG9uLWtqUmZUbGZ4e2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXVpLWxpYi1saWdodC1idXR0b24tY29sb3ItYmcsdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnKSk7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1saWdodC1idXR0b24tY29sb3ItYm9yZGVyLHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXIpKTtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjFweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6dmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb2xvci1jb250ZW50LHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50KSk7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTppbmxpbmUtZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21heC13aWR0aDoxMDAlO21pbi13aWR0aDo0MHB4O291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5saWdodEJ1dHRvbi1ralJmVGxmeDpmb2N1c3tvdXRsaW5lOm5vbmV9LmxpZ2h0QnV0dG9uLWtqUmZUbGZ4OmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5saWdodEJ1dHRvbi1ralJmVGxmeDphZnRlcntib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDEwcHgpO2luc2V0LWlubGluZS1zdGFydDotNXB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi01cHg7d2lkdGg6Y2FsYygxMDAlICsgMTBweCk7ei1pbmRleDoxfS5saWdodEJ1dHRvbi1ralJmVGxmeDpmb2N1czphZnRlcntkaXNwbGF5OmJsb2NrfS5saWdodEJ1dHRvbi1ralJmVGxmeDpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmxpZ2h0QnV0dG9uLWtqUmZUbGZ4OmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSk6YWZ0ZXJ7ZGlzcGxheTpub25lfS5saWdodEJ1dHRvbi1ralJmVGxmeDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlKX0ubGlnaHRCdXR0b24ta2pSZlRsZngubGluay1ralJmVGxmeHtjdXJzb3I6cG9pbnRlcjstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ubGlnaHRCdXR0b24ta2pSZlRsZngubHRyLWtqUmZUbGZ4e2RpcmVjdGlvbjpsdHJ9LmxpZ2h0QnV0dG9uLWtqUmZUbGZ4LnJ0bC1ralJmVGxmeHtkaXJlY3Rpb246cnRsfS5saWdodEJ1dHRvbi1ralJmVGxmeC50eXBvZ3JhcGh5LXJlZ3VsYXIxNnB4LWtqUmZUbGZ4e2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMH0ubGlnaHRCdXR0b24ta2pSZlRsZngudHlwb2dyYXBoeS1tZWRpdW0xNnB4LWtqUmZUbGZ4LC5saWdodEJ1dHRvbi1ralJmVGxmeC50eXBvZ3JhcGh5LXJlZ3VsYXIxNnB4LWtqUmZUbGZ4e2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS5saWdodEJ1dHRvbi1ralJmVGxmeC50eXBvZ3JhcGh5LW1lZGl1bTE2cHgta2pSZlRsZnh7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwfS5saWdodEJ1dHRvbi1ralJmVGxmeC50eXBvZ3JhcGh5LXJlZ3VsYXIxNHB4LWtqUmZUbGZ4e2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMH0ubGlnaHRCdXR0b24ta2pSZlRsZngudHlwb2dyYXBoeS1yZWd1bGFyMTRweC1ralJmVGxmeCwubGlnaHRCdXR0b24ta2pSZlRsZngudHlwb2dyYXBoeS1zZW1pYm9sZDE0cHgta2pSZlRsZnh7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxNHB4Oy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LmxpZ2h0QnV0dG9uLWtqUmZUbGZ4LnR5cG9ncmFwaHktc2VtaWJvbGQxNHB4LWtqUmZUbGZ4e2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjYwMH0ubGlnaHRCdXR0b24ta2pSZlRsZngudHlwb2dyYXBoeS1zZW1pYm9sZDE2cHgta2pSZlRsZnh7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxNnB4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjYwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS5jb250ZW50LWtqUmZUbGZ4e2Rpc3BsYXk6aW5saW5lLWJsb2NrO21pbi13aWR0aDowO3RleHQtYWxpZ246Y2VudGVyOy0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjazp2YXIoLS11aS1saWItbGlnaHRCdXR0b24tc2hvdy1jaGlsZHJlbiwxKTttYXgtd2lkdGg6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDEpICogKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkpICogOTk5OXB4ICsgbWF4KDAsIDEgLSAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAwKSAqICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDApKSAqIDBweCl9LnZpc3VhbGx5SGlkZGVuLWtqUmZUbGZ4e2Rpc3BsYXk6YmxvY2s7Zm9udC13ZWlnaHQ6NjAwO2hlaWdodDowO292ZXJmbG93OmhpZGRlbjt2aXNpYmlsaXR5OmhpZGRlbn0ubm93cmFwLWtqUmZUbGZ4e2FsaWduLXNlbGY6YXV0bztvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwfS5lbGxpcHNpc0NvbnRhaW5lci1ralJmVGxmeHtkaXNwbGF5OmluaGVyaXQ7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS50ZXh0V3JhcENvbnRhaW5lci1ralJmVGxmeHttYXgtaGVpZ2h0OmNhbGModmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb250ZW50LW1heC1saW5lcykqdmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpKTtvdmVyZmxvdzpoaWRkZW47d29yZC13cmFwOmJyZWFrLXdvcmQ7dGV4dC1hbGlnbjpzdGFydDt3b3JkLWJyZWFrOmJyZWFrLXdvcmR9LnRleHRXcmFwV2l0aEVsbGlwc2lzLWtqUmZUbGZ4e2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtbGluZS1jbGFtcDp2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLWNvbnRlbnQtbWF4LWxpbmVzKTstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpO21heC1oZWlnaHQ6Y2FsYyh2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCkqdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb250ZW50LW1heC1saW5lcykpfS5zbG90LWtqUmZUbGZ4e2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uY2FyZXQta2pSZlRsZngsLnNsb3Qta2pSZlRsZng+c3Bhbltyb2xlPWltZ117ZGlzcGxheTppbmxpbmUtZmxleDtmbGV4LXNocmluazowfS5jYXJldC1ralJmVGxmeHttYXgtaGVpZ2h0OjI4cHg7bWF4LXdpZHRoOjI4cHg7bWluLWhlaWdodDoxOHB4O21pbi13aWR0aDoxOHB4fS5hY3RpdmVDYXJldC1ralJmVGxmeHt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LmFjdGl2ZUNhcmV0LWtqUmZUbGZ4OmRpcihydGwpe3RyYW5zZm9ybTpyb3RhdGUoLTE4MGRlZyl9LmNhcmV0LWtqUmZUbGZ4Om5vdCg6bGFzdC1jaGlsZCksLmNvbnRlbnQta2pSZlRsZng6bm90KDpsYXN0LWNoaWxkKSwuc2xvdC1ralJmVGxmeDpub3QoOmxhc3QtY2hpbGQpey0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjazp2YXIoLS11aS1saWItbGlnaHRCdXR0b24tc2hvdy1jaGlsZHJlbiwxKTttYXJnaW4taW5saW5lLWVuZDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSkgKiA0cHggKyBtYXgoMCwgMSAtICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDApICogKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkpICogMHB4KX0ueHNtYWxsLWtqUmZUbGZ4e2JvcmRlci1yYWRpdXM6NnB4O2hlaWdodDoyOHB4O21pbi13aWR0aDoyOHB4Oy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0OjExcHg7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLWVuZC1kZWZhdWx0OjExcHg7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctYmxvY2stc3RhcnQtZGVmYXVsdDowOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWJsb2NrLWVuZC1kZWZhdWx0OjA7LS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrOnZhcigtLXVpLWxpYi1saWdodEJ1dHRvbi1zaG93LWNoaWxkcmVuLDEpO3BhZGRpbmctYmxvY2stZW5kOjA7cGFkZGluZy1ibG9jay1zdGFydDowO3BhZGRpbmctaW5saW5lLWVuZDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSkgKiBtYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQsIHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQpKSwgM3B4KSArIG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAwKSkgKiAwcHgpO3BhZGRpbmctaW5saW5lLXN0YXJ0OmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSAqICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDEpKSAqIG1heCh2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LCB2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQpKSwgM3B4KSArIG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAwKSkgKiAwcHgpfS54c21hbGwta2pSZlRsZng6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czoxMHB4fS54c21hbGwta2pSZlRsZngud2l0aFN0YXJ0U2xvdC1ralJmVGxmeHstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtc3RhcnQtZGVmYXVsdDo3cHh9LnhzbWFsbC1ralJmVGxmeC53aXRoRW5kU2xvdC1ralJmVGxmeHstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQ6N3B4fS54c21hbGwta2pSZlRsZngubm9Db250ZW50LWtqUmZUbGZ4ey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0OjRweDstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQ6NHB4O3BhZGRpbmctaW5saW5lLWVuZDptYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQsdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQtZGVmYXVsdCkpLDJweCk7cGFkZGluZy1pbmxpbmUtc3RhcnQ6bWF4KHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtc3RhcnQsdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0KSksMnB4KX0ueHNtYWxsLWtqUmZUbGZ4LndyYXAta2pSZlRsZnh7aGVpZ2h0OmF1dG87bWluLWhlaWdodDoyOHB4fS54c21hbGwta2pSZlRsZnggLmNvbnRlbnQta2pSZlRsZnh7cGFkZGluZy1ib3R0b206Y2FsYygoMjhweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCk7cGFkZGluZy10b3A6Y2FsYygoMjhweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCl9LnNtYWxsLWtqUmZUbGZ4e2JvcmRlci1yYWRpdXM6NnB4O2hlaWdodDozNHB4O21pbi13aWR0aDozNHB4Oy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0OjExcHg7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLWVuZC1kZWZhdWx0OjExcHg7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctYmxvY2stc3RhcnQtZGVmYXVsdDowOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWJsb2NrLWVuZC1kZWZhdWx0OjA7LS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrOnZhcigtLXVpLWxpYi1saWdodEJ1dHRvbi1zaG93LWNoaWxkcmVuLDEpO3BhZGRpbmctYmxvY2stZW5kOjA7cGFkZGluZy1ibG9jay1zdGFydDowO3BhZGRpbmctaW5saW5lLWVuZDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSkgKiBtYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQsIHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQpKSwgM3B4KSArIG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAwKSkgKiAwcHgpO3BhZGRpbmctaW5saW5lLXN0YXJ0OmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSAqICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDEpKSAqIG1heCh2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LCB2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQpKSwgM3B4KSArIG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAwKSkgKiAwcHgpfS5zbWFsbC1ralJmVGxmeDphZnRlcntib3JkZXItcmFkaXVzOjEwcHh9LnNtYWxsLWtqUmZUbGZ4LndpdGhTdGFydFNsb3Qta2pSZlRsZnh7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQ6N3B4fS5zbWFsbC1ralJmVGxmeC53aXRoRW5kU2xvdC1ralJmVGxmeHstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQ6N3B4fS5zbWFsbC1ralJmVGxmeC5ub0NvbnRlbnQta2pSZlRsZnh7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQ6MnB4Oy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQtZGVmYXVsdDoycHg7cGFkZGluZy1pbmxpbmUtZW5kOm1heCh2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLWVuZCx2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLWVuZC1kZWZhdWx0KSksMnB4KTtwYWRkaW5nLWlubGluZS1zdGFydDptYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydCx2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQpKSwycHgpfS5zbWFsbC1ralJmVGxmeC53cmFwLWtqUmZUbGZ4e2hlaWdodDphdXRvO21pbi1oZWlnaHQ6MzRweH0uc21hbGwta2pSZlRsZnggLmNvbnRlbnQta2pSZlRsZnh7cGFkZGluZy1ib3R0b206Y2FsYygoMzRweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCk7cGFkZGluZy10b3A6Y2FsYygoMzRweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCl9Lm1lZGl1bS1ralJmVGxmeHtib3JkZXItcmFkaXVzOjhweDtoZWlnaHQ6NDBweDttaW4td2lkdGg6NDBweDstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtc3RhcnQtZGVmYXVsdDoxNXB4Oy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQtZGVmYXVsdDoxNXB4Oy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWJsb2NrLXN0YXJ0LWRlZmF1bHQ6MDstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1ibG9jay1lbmQtZGVmYXVsdDowOy0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjazp2YXIoLS11aS1saWItbGlnaHRCdXR0b24tc2hvdy1jaGlsZHJlbiwxKTtwYWRkaW5nLWJsb2NrLWVuZDowO3BhZGRpbmctYmxvY2stc3RhcnQ6MDtwYWRkaW5nLWlubGluZS1lbmQ6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDEpICogKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkpICogbWF4KHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLCB2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLWVuZC1kZWZhdWx0KSksIDNweCkgKyBtYXgoMCwgMSAtICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDApICogKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkpICogMHB4KTtwYWRkaW5nLWlubGluZS1zdGFydDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSkgKiBtYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydCwgdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0KSksIDNweCkgKyBtYXgoMCwgMSAtICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDApICogKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkpICogMHB4KX0ubWVkaXVtLWtqUmZUbGZ4OmFmdGVye2JvcmRlci1yYWRpdXM6MTJweH0ubWVkaXVtLWtqUmZUbGZ4LndpdGhTdGFydFNsb3Qta2pSZlRsZnh7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQ6MTFweH0ubWVkaXVtLWtqUmZUbGZ4LndpdGhFbmRTbG90LWtqUmZUbGZ4ey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQtZGVmYXVsdDoxMXB4fS5tZWRpdW0ta2pSZlRsZngubm9Db250ZW50LWtqUmZUbGZ4ey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0OjVweDstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQ6NXB4O3BhZGRpbmctaW5saW5lLWVuZDptYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQsdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQtZGVmYXVsdCkpLDJweCk7cGFkZGluZy1pbmxpbmUtc3RhcnQ6bWF4KHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtc3RhcnQsdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0KSksMnB4KX0ubWVkaXVtLWtqUmZUbGZ4LndyYXAta2pSZlRsZnh7aGVpZ2h0OmF1dG87bWluLWhlaWdodDo0MHB4fS5tZWRpdW0ta2pSZlRsZnggLmNvbnRlbnQta2pSZlRsZnh7cGFkZGluZy1ib3R0b206Y2FsYygoNDBweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCk7cGFkZGluZy10b3A6Y2FsYygoNDBweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCl9LnBpbGxzLUllUXdQamNaLnBpbGxzLUllUXdQamNaLnBpbGxzLUllUXdQamNaLnBpbGxzLUllUXdQamNaLnBpbGxzLUllUXdQamNaLnBpbGxzLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWludmVyc2UpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucGlsbHMtSWVRd1BqY1oucGlsbHMtSWVRd1BqY1oucGlsbHMtSWVRd1BqY1oucGlsbHMtSWVRd1BqY1oucGlsbHMtSWVRd1BqY1oucGlsbHMtSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktaW52ZXJzZSl9fS5waWxscy1JZVF3UGpjWi5waWxscy1JZVF3UGpjWi5waWxscy1JZVF3UGpjWi5waWxscy1JZVF3UGpjWi5waWxscy1JZVF3UGpjWi5waWxscy1JZVF3UGpjWjphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktaW52ZXJzZSl9LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtaG92ZXIpfX19LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1pcy1zZWxlY3RlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtaG92ZXIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLnNlbGVjdGVkLUllUXdQamNaOm5vdCguZ3JvdXBlZC1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtaG92ZXIpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWhvdmVyKX19LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi5hY3RpdmUtSWVRd1BqY1osLnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYWN0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYWN0aXZlKX0ucHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWi5ncm91cGVkLUllUXdQamNaLC5wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXsucHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1hY3RpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1hY3RpdmUpfS5wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi53aXRoR3JvdXBlZC1JZVF3UGpjWi5xdWlldC1wcmltYXJ5LUllUXdQamNaOm5vdCguc2VsZWN0ZWQtSWVRd1BqY1opOm5vdCg6aG92ZXIpOm5vdCg6ZGlzYWJsZWQpey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOiMwMDAwOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjojMDAwMH19LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZGlzYWJsZWQpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXIpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyKX19fS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1pcy1zZWxlY3RlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXIpfX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWiwucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1hY3RpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYWN0aXZlKX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWi5ncm91cGVkLUllUXdQamNaLC5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1hY3RpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYWN0aXZlKX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX19QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1o6ZGlzYWJsZWR7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWRpc2FibGVkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LWRpc2FibGVkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWRpc2FibGVkKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1wb3NpdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCl9fX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWjpub3QoLmdyb3VwZWQtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmhvdmVyey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktcG9zaXRpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpfX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5hY3RpdmUtSWVRd1BqY1osLnF1aWV0LXByaW1hcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1saWdodCl9LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLnF1aWV0LXByaW1hcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi53aXRoR3JvdXBlZC1JZVF3UGpjWi5xdWlldC1wcmltYXJ5LUllUXdQamNaOm5vdCguc2VsZWN0ZWQtSWVRd1BqY1opOm5vdCg6aG92ZXIpOm5vdCg6ZGlzYWJsZWQpey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOiMwMDAwOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjojMDAwMH19LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6ZGlzYWJsZWR7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYmFja2dyb3VuZC1kaXNhYmxlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1kaXNhYmxlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1kaXNhYmxlZCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9LnF1aWV0LXByaW1hcnktSWVRd1BqY1oucmVkLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5xdWlldC1wcmltYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmVnYXRpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCl9fX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnF1aWV0LXByaW1hcnktSWVRd1BqY1oucmVkLUllUXdQamNaLnNlbGVjdGVkLUllUXdQamNaOm5vdCguZ3JvdXBlZC1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5lZ2F0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpfX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLC5xdWlldC1wcmltYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLnF1aWV0LXByaW1hcnktSWVRd1BqY1oucmVkLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7LnF1aWV0LXByaW1hcnktSWVRd1BqY1oucmVkLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItbGlnaHQpfS5xdWlldC1wcmltYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5xdWlldC1wcmltYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZGlzYWJsZWQpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWjpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KX19fS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWjpub3QoLmdyb3VwZWQtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmhvdmVyey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtc2VtaS1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQpfX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWiwucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1leHRyYS1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtbGlnaHQpfS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLnF1aWV0LXByaW1hcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9QG1lZGlhIG5vdCAocG9pbnRlcjpjb2Fyc2Upey5xdWlldC1wcmltYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LWV4dHJhLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCl9LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaLndpdGhHcm91cGVkLUllUXdQamNaLnF1aWV0LXByaW1hcnktSWVRd1BqY1o6bm90KC5zZWxlY3RlZC1JZVF3UGpjWik6bm90KDpob3Zlcik6bm90KDpkaXNhYmxlZCl7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6IzAwMDA7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOiMwMDAwfX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaOmRpc2FibGVkey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1kaXNhYmxlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1kaXNhYmxlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1kaXNhYmxlZCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9LnNlY29uZGFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1saWdodCl9QG1lZGlhIG5vdCAocG9pbnRlcjpjb2Fyc2Upe0BtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuc2Vjb25kYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0KX19fS5zZWNvbmRhcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuc2Vjb25kYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtaG92ZXIpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtaG92ZXIpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQpfX0uc2Vjb25kYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLC5zZWNvbmRhcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYWN0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KX0uc2Vjb25kYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLnNlY29uZGFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7LnNlY29uZGFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpfS5zZWNvbmRhcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuc2Vjb25kYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5zZWNvbmRhcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0uc2Vjb25kYXJ5LUllUXdQamNaLmdyZWVuLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktc3VjY2Vzcy1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5zZWNvbmRhcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1wb3NpdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCl9fX0uc2Vjb25kYXJ5LUllUXdQamNaLmdyZWVuLUllUXdQamNaLnNlbGVjdGVkLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzcyl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5zZWNvbmRhcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXBvc2l0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWxpZ2h0KX19LnNlY29uZGFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5hY3RpdmUtSWVRd1BqY1osLnNlY29uZGFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KX0uc2Vjb25kYXJ5LUllUXdQamNaLmdyZWVuLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWi5ncm91cGVkLUllUXdQamNaLC5zZWNvbmRhcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXsuc2Vjb25kYXJ5LUllUXdQamNaLmdyZWVuLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtbGlnaHQpfS5zZWNvbmRhcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNlY29uZGFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi53aXRoR3JvdXBlZC1JZVF3UGpjWi5xdWlldC1wcmltYXJ5LUllUXdQamNaOm5vdCguc2VsZWN0ZWQtSWVRd1BqY1opOm5vdCg6aG92ZXIpOm5vdCg6ZGlzYWJsZWQpey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOiMwMDAwOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjojMDAwMH19LnNlY29uZGFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0uc2Vjb25kYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItbGlnaHQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNlY29uZGFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5lZ2F0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpfX19LnNlY29uZGFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNlY29uZGFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmVnYXRpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCl9fS5zZWNvbmRhcnktSWVRd1BqY1oucmVkLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWiwuc2Vjb25kYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1kYW5nZXItYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KX0uc2Vjb25kYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWi5hY3RpdmUtSWVRd1BqY1ouZ3JvdXBlZC1JZVF3UGpjWiwuc2Vjb25kYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9QG1lZGlhIG5vdCAocG9pbnRlcjpjb2Fyc2Upey5zZWNvbmRhcnktSWVRd1BqY1oucmVkLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LWRhbmdlci1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItbGlnaHQpfS5zZWNvbmRhcnktSWVRd1BqY1oucmVkLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX19QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5zZWNvbmRhcnktSWVRd1BqY1oucmVkLUllUXdQamNaLndpdGhHcm91cGVkLUllUXdQamNaLnF1aWV0LXByaW1hcnktSWVRd1BqY1o6bm90KC5zZWxlY3RlZC1JZVF3UGpjWik6bm90KDpob3Zlcik6bm90KDpkaXNhYmxlZCl7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6IzAwMDA7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOiMwMDAwfX0uc2Vjb25kYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0uc2Vjb25kYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtZGVmYXVsdCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWxpZ2h0KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5zZWNvbmRhcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWjpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KX19fS5zZWNvbmRhcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuc2Vjb25kYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KX19LnNlY29uZGFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWiwuc2Vjb25kYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LWV4dHJhLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCl9LnNlY29uZGFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWi5ncm91cGVkLUllUXdQamNaLC5zZWNvbmRhcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9QG1lZGlhIG5vdCAocG9pbnRlcjpjb2Fyc2Upey5zZWNvbmRhcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtZXh0cmEtYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWxpZ2h0KX0uc2Vjb25kYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNlY29uZGFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaLndpdGhHcm91cGVkLUllUXdQamNaLnF1aWV0LXByaW1hcnktSWVRd1BqY1o6bm90KC5zZWxlY3RlZC1JZVF3UGpjWik6bm90KDpob3Zlcik6bm90KDpkaXNhYmxlZCl7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6IzAwMDA7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOiMwMDAwfX0uc2Vjb25kYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1o6ZGlzYWJsZWR7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LWRpc2FibGVkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1saWdodCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9Lmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5naG9zdC1JZVF3UGpjWi5ncmF5LUllUXdQamNaOmhvdmVyey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWhvdmVyKX19fS5naG9zdC1JZVF3UGpjWi5ncmF5LUllUXdQamNaLnNlbGVjdGVkLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWlzLXNlbGVjdGVkKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWJvbGQtaG92ZXIpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ob3Zlcil9fS5naG9zdC1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWiwuZ2hvc3QtSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZSl9Lmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXsuZ2hvc3QtSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZSl9Lmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5naG9zdC1JZVF3UGpjWi5ncmF5LUllUXdQamNaOmRpc2FibGVkey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9Lmdob3N0LUllUXdQamNaLmdyZWVuLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktc3VjY2Vzcy1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWjpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXBvc2l0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWxpZ2h0KX19fS5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtZGVmYXVsdCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWjpub3QoLmdyb3VwZWQtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmhvdmVyey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktcG9zaXRpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpfX0uZ2hvc3QtSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLC5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KX0uZ2hvc3QtSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLmdob3N0LUllUXdQamNaLmdyZWVuLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7Lmdob3N0LUllUXdQamNaLmdyZWVuLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtbGlnaHQpfS5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuZ2hvc3QtSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1kYW5nZXItZGVmYXVsdCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCl9QG1lZGlhIG5vdCAocG9pbnRlcjpjb2Fyc2Upe0BtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuZ2hvc3QtSWVRd1BqY1oucmVkLUllUXdQamNaOmhvdmVyey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZWdhdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWV4dHJhLWxpZ2h0KX19fS5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1kYW5nZXItZGVmYXVsdCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmVnYXRpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCl9fS5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLC5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktZGFuZ2VyLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1saWdodCl9Lmdob3N0LUllUXdQamNaLnJlZC1JZVF3UGpjWi5hY3RpdmUtSWVRd1BqY1ouZ3JvdXBlZC1JZVF3UGpjWiwuZ2hvc3QtSWVRd1BqY1oucmVkLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7Lmdob3N0LUllUXdQamNaLnJlZC1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1kYW5nZXItYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KX0uZ2hvc3QtSWVRd1BqY1oucmVkLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX19QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1o6ZGlzYWJsZWR7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LWRpc2FibGVkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0uZ2hvc3QtSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWRlZmF1bHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1zZW1pLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCl9fX0uZ2hvc3QtSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1kZWZhdWx0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KX19Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLC5naG9zdC1JZVF3UGpjWi5ibHVlLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1leHRyYS1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtbGlnaHQpfS5naG9zdC1JZVF3UGpjWi5ibHVlLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWi5ncm91cGVkLUllUXdQamNaLC5naG9zdC1JZVF3UGpjWi5ibHVlLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LWV4dHJhLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCl9Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5naG9zdC1JZVF3UGpjWi5ibHVlLUllUXdQamNaOmRpc2FibGVkey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1kaXNhYmxlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/94825.8a90c0c3ebd413eb9c81.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.263Z","timestamp":1785120634263,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/94825.8a90c0c3ebd413eb9c81.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-846c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 255c26a774bae9f1493a16e03150baa6\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":33900,"size_decoded":11131,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"321406610467d6dffd30c75b9184e9df","sha1":"eb120d6cc348265cbed0295dd3cfab7428c5425f","sha256":"3f94fcd41f3f37d9d46697679761c3bf1712a0f67a22b38bc5e3c44b47eb56b5","sha512":"8d1b1035b2fe029452f0a7de35ef2793e6da96377c589956a5e21eaf23f3b2ae7bcedfe568a74bb8ba9a46109cdc8876912e2d73814beca47bbfa286c3081136","ssdeep":"768:QmBTez9037WM2rFgD0Nm7YLSxeUf4DK4uA8JUJESLb/XW4xmmInIPxHgask+vvw4:Q4Ow7uxNVvpPpghBT4Uf","tlshash":"17e2b693b3f9a02966ded0dad8341403e31924447884046cf27dbdde6b5dd88b2b9b7e","first_seen":"2026-07-23T13:38:20.509185Z","last_seen":"2026-07-27T05:27:33.108678Z","times_seen":356,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTQ4MjVdLHs0MDIwNDUoZSx0LHMpe3MuZCh0LHtXYXRjaGVkT2JqZWN0OigpPT5vfSk7dmFyIHI9cyg2MDE4NDEpLGk9cygyMzIzNjQpO2Z1bmN0aW9uIGEoZSx0KXtyZXR1cm4oMCxyLmRlZXBFcXVhbHMpKGUsdClbMF19Y2xhc3MgbyBleHRlbmRzIGkuV2F0Y2hlZFZhbHVle2NvbnN0cnVjdG9yKGUsdD1hKXtzdXBlcihlKSx0aGlzLl9jb21wYXJhdG9yPXR9c2V0VmFsdWUoZSx0KXshdCYmdGhpcy5fY29tcGFyYXRvcih0aGlzLnZhbHVlKCksZSl8fHN1cGVyLnNldFZhbHVlKGUsdCl9fX0sNjI0Njc4KGUsdCxzKXtzLmQodCx7RGF0ZUZvcm1hdHRlcjooKT0+YX0pO3ZhciByPXMoNDkxMTY1KTtjbGFzcyBpe2NvbnN0cnVjdG9yKGU9Inl5eXktTU0tZGQiLHQ9ITEscz0iVVRDIil7dGhpcy5fZGF0ZUZvcm1hdEZ1bmM9dD8oMCxyLmdldERhdGVGb3JtYXRXaXRoV2Vla2RheSkoZSxzKTpyLmRhdGVGb3JtYXRGdW5jdGlvbnNbZV19Zm9ybWF0KGUpe3JldHVybiB0aGlzLl9kYXRlRm9ybWF0RnVuYyhlLCExKX1mb3JtYXRMb2NhbChlKXtyZXR1cm4gdGhpcy5fZGF0ZUZvcm1hdEZ1bmMoZSwhMCl9cGFyc2UoZSl7cmV0dXJuIiI9PT1lP3tyZXM6ITF9OntyZXM6ITAsdmFsdWU6ZX19fWNsYXNzIGF7Y29uc3RydWN0b3IoZSx0LHMpe3RoaXMuX2RhdGVGb3JtYXR0ZXJJbnN0YW5jZT1uZXcgaShlLHQscyl9Zm9ybWF0KGUpe3JldHVybiBhLl9jdXN0b21Gb3JtYXR0ZXI/YS5fY3VzdG9tRm9ybWF0dGVyLmZvcm1hdChlKTp0aGlzLl9kYXRlRm9ybWF0dGVySW5zdGFuY2UuZm9ybWF0KGUpfWZvcm1hdExvY2FsKGUpe3JldHVybiBhLl9jdXN0b21Gb3JtYXR0ZXI/YS5fY3VzdG9tRm9ybWF0dGVyLmZvcm1hdExvY2FsKGUpOnRoaXMuX2RhdGVGb3JtYXR0ZXJJbnN0YW5jZS5mb3JtYXRMb2NhbChlKX1wYXJzZShlKXtyZXR1cm4gYS5fY3VzdG9tRm9ybWF0dGVyP2EuX2N1c3RvbUZvcm1hdHRlci5wYXJzZShlKTp0aGlzLl9kYXRlRm9ybWF0dGVySW5zdGFuY2UucGFyc2UoZSl9c3RhdGljIHNldEN1c3RvbUZvcm1hdHRlcihlKXthLl9jdXN0b21Gb3JtYXR0ZXI9ZX19YS5fY3VzdG9tRm9ybWF0dGVyPW51bGx9LDgyNjE1NihlLHQscyl7cy5kKHQse0RhdGVUaW1lRm9ybWF0dGVyOigpPT5ufSk7dmFyIHI9cygyMzgxMDMpLGk9cyg2MjQ2NzgpLGE9cygyOTcxMTEpO2NvbnN0IG89e2RhdGVGb3JtYXQ6Inl5eXktTU0tZGQiLHdpdGhXZWVrZGF5OiExLHRpbWVGb3JtYXQ6ci5ob3VyTWludXRlU2Vjb25kRm9ybWF0LGRhdGVUaW1lU2VwYXJhdG9yOiIgIn07Y2xhc3Mgbntjb25zdHJ1Y3RvcihlPXt9KXtjb25zdCB0PU9iamVjdC5hc3NpZ24oe30sbyxlKTt0aGlzLl9kYXRlRm9ybWF0dGVyPW5ldyBpLkRhdGVGb3JtYXR0ZXIodC5kYXRlRm9ybWF0LHQud2l0aFdlZWtkYXksdC50aW1lem9uZSksdGhpcy5fdGltZUZvcm1hdHRlcj1uZXcgYS5UaW1lRm9ybWF0dGVyKHQudGltZUZvcm1hdCksdGhpcy5fc2VwYXJhdG9yPXQuZGF0ZVRpbWVTZXBhcmF0b3J9Zm9ybWF0KGUsdCl7Y29uc3Qgcz10Py5kYXRlVGltZVNlcGFyYXRvcj8/dGhpcy5fc2VwYXJhdG9yO3JldHVybmAke3RoaXMuX2RhdGVGb3JtYXR0ZXIuZm9ybWF0KGUpfSR7c30ke3RoaXMuX3RpbWVGb3JtYXR0ZXIuZm9ybWF0KGUpfWB9Zm9ybWF0TG9jYWwoZSx0KXtjb25zdCBzPXQ/LmRhdGVUaW1lU2VwYXJhdG9yPz90aGlzLl9zZXBhcmF0b3I7cmV0dXJuYCR7dGhpcy5fZGF0ZUZvcm1hdHRlci5mb3JtYXRMb2NhbChlKX0ke3N9JHt0aGlzLl90aW1lRm9ybWF0dGVyLmZvcm1hdExvY2FsKGUpfWB9fX0sMjM4MTAzKGUsdCxzKXtzLmQodCx7aG91ck1pbnV0ZUZvcm1hdDooKT0+byxob3VyTWludXRlTm9uWmVyb1NlY29uZEZvcm1hdDooKT0+aSxob3VyTWludXRlU2Vjb25kRm9ybWF0OigpPT5yLGhvdXJNaW51dGVTZWNvbmRNaWxsaXNlY0Zvcm1hdDooKT0+YSx0d2VsdmVIb3VyTWludXRlRm9ybWF0OigpPT5sLHR3ZWx2ZUhvdXJNaW51dGVOb25aZXJvU2Vjb25kRm9ybWF0OigpPT5kLHR3ZWx2ZUhvdXJNaW51dGVTZWNvbmRGb3JtYXQ6KCk9Pm59KTtjb25zdCByPSIlaDolbTolcyIsaT0iJWg6JW06JXMrIixhPSIlaDolbTolcy4lc3MrIixvPSIlaDolbSIsbj0iJWg6JW06JXMgJWFtcG0iLGQ9IiVoOiVtOiVzKyAlYW1wbSIsbD0iJWg6JW0gJWFtcG0iO3ZhciBoOyFmdW5jdGlvbihlKXtlLlR3ZW50eUZvdXJIb3Vycz0iMjQtaG91cnMiLGUuVHdlbHZlSG91cnM9IjEyLWhvdXJzIn0oaHx8KGg9e30pKX0sMjk3MTExKGUsdCxzKXtzLmQodCx7VGltZUZvcm1hdHRlcjooKT0+b30pO3ZhciByPXMoMjM4MTAzKSxpPXMoODIyNDMxKTtjbGFzcyBhe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2lzVHdlbHZlSG91cnNGb3JtYXQ9ITEsdGhpcy5fdmFsdWVzQW5kRGVsaW1pdGVycz1bXTtjb25zdCB0PWV8fHIuaG91ck1pbnV0ZVNlY29uZEZvcm1hdCxzPW5ldyBSZWdFeHAoIiVofCVtfCVzXFwrfCVzc1xcK3wlc3N8JWFtcG18JXMiLCJnIik7bGV0IGk9cy5leGVjKHQpLGE9MDtmb3IoO251bGwhPT1pOyl7Y29uc3QgZT1pWzBdOyIlYW1wbSI9PT1lJiYodGhpcy5faXNUd2VsdmVIb3Vyc0Zvcm1hdD0hMCk7Y29uc3Qgcj10LnN1YnN0cmluZyhhLGkuaW5kZXgpOyIiIT09ciYmdGhpcy5fdmFsdWVzQW5kRGVsaW1pdGVycy5wdXNoKHIpLHRoaXMuX3ZhbHVlc0FuZERlbGltaXRlcnMucHVzaChlKSxhPWkuaW5kZXgrZS5sZW5ndGgsaT1zLmV4ZWModCl9fWZvcm1hdChlKXtyZXR1cm4gdGhpcy5fZm9ybWF0VGltZShlKX1mb3JtYXRMb2NhbChlKXtyZXR1cm4gdGhpcy5fZm9ybWF0VGltZShlLCEwKX1fZm9ybWF0VGltZShlLHQ9ITEpe2xldCBzPXQ/ZS5nZXRIb3VycygpOmUuZ2V0VVRDSG91cnMoKTtjb25zdCByPXQ/ZS5nZXRNaW51dGVzKCk6ZS5nZXRVVENNaW51dGVzKCksYT10P2UuZ2V0U2Vjb25kcygpOmUuZ2V0VVRDU2Vjb25kcygpLG89dD9lLmdldE1pbGxpc2Vjb25kcygpOmUuZ2V0VVRDTWlsbGlzZWNvbmRzKCk7bGV0IG49IiIKO3RoaXMuX2lzVHdlbHZlSG91cnNGb3JtYXQmJihuPXM+PTEyPyJQTSI6IkFNIixzJT0xMixzPXN8fDEyKTtsZXQgZD0iIixsPSExO2ZvcihsZXQgZT10aGlzLl92YWx1ZXNBbmREZWxpbWl0ZXJzLmxlbmd0aC0xO2U+PTA7ZS0tKXtjb25zdCB0PXRoaXMuX3ZhbHVlc0FuZERlbGltaXRlcnNbZV07bGV0IGg7c3dpdGNoKHQpe2Nhc2UiJWgiOmg9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykocywyKTticmVhaztjYXNlIiVtIjpoPSgwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKHIsMik7YnJlYWs7Y2FzZSIlcysiOjAhPT1hP2g9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoYSwyKTooaD0iIixsPSEwKTticmVhaztjYXNlIiVzIjpoPSgwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGEsMik7YnJlYWs7Y2FzZSIlc3MiOmg9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykobywzKTticmVhaztjYXNlIiVzcysiOjAhPT1vP2g9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykobywzKTooaD0iIixsPSEwKTticmVhaztjYXNlIiVhbXBtIjpoPW47YnJlYWs7ZGVmYXVsdDppZihsKXtsPSExO2NvbnRpbnVlfWg9dH1kPWgrZH1yZXR1cm4gZH19Y2xhc3Mgb3tjb25zdHJ1Y3RvcihlKXt0aGlzLl90aW1lRm9ybWF0dGVySW5zdGFuY2U9bmV3IGEoZSl9Zm9ybWF0KGUpe3JldHVybiBvLl9jdXN0b21Gb3JtYXR0ZXI/by5fY3VzdG9tRm9ybWF0dGVyLmZvcm1hdChlKTp0aGlzLl90aW1lRm9ybWF0dGVySW5zdGFuY2UuZm9ybWF0KGUpfWZvcm1hdExvY2FsKGUpe3JldHVybiBvLl9jdXN0b21Gb3JtYXR0ZXI/by5fY3VzdG9tRm9ybWF0dGVyLmZvcm1hdExvY2FsKGUpOnRoaXMuX3RpbWVGb3JtYXR0ZXJJbnN0YW5jZS5mb3JtYXRMb2NhbChlKX1zdGF0aWMgc2V0Q3VzdG9tRm9ybWF0dGVyKGUpe28uX2N1c3RvbUZvcm1hdHRlcj1lfX1vLl9jdXN0b21Gb3JtYXR0ZXI9bnVsbH0sNDU5OTk0KGUsdCxzKXtzLmQodCx7Q2hhcnRTZXNzaW9uOigpPT5jfSk7dmFyIHI9cyg5NDgzODApLGk9cygxMzg2MzgpLGE9cygyMzIzNjQpLG89cygyMjEwNjEpLG49cygxNTAxNTApO2NvbnN0IGQ9KDAsby5nZXRMb2dnZXIpKCJDaGFydEFwaS5BYnN0cmFjdFNlc3Npb24iKTt2YXIgbDshZnVuY3Rpb24oZSl7ZVtlLkRpc2Nvbm5lY3RlZD0wXT0iRGlzY29ubmVjdGVkIixlW2UuUmVnaXN0ZXJlZD0xXT0iUmVnaXN0ZXJlZCIsZVtlLkNvbm5lY3RlZD0yXT0iQ29ubmVjdGVkIn0obHx8KGw9e30pKTtjbGFzcyBoe2NvbnN0cnVjdG9yKGUsdCxzKXt0aGlzLl9pc0Nvbm5lY3RlZD1uZXcgYS5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3N0YXRlPTAsdGhpcy5faXNDb25uZWN0Rm9yYmlkZGVuPSExLHRoaXMuX3Nlc3Npb25JZD0iIix0aGlzLl9zZXNzaW9uSWRDaGFuZ2VkPW5ldyByLkRlbGVnYXRlLHRoaXMuX2NoYXJ0QXBpPWUsdGhpcy5fc2Vzc2lvblByZWZpeD10LHRoaXMuX3Nob3VsZFJlY29ubmVjdEFmdGVyQ3JpdGljYWxFcnJvcj1zfWRlc3Ryb3koKXt0aGlzLl9sb2dOb3JtYWwoIkRlc3Ryb3lpbmcgc2Vzc2lvbiIpLHRoaXMuX2lzQ29ubmVjdGVkLnVuc3Vic2NyaWJlKCksdGhpcy5kaXNjb25uZWN0KCksdGhpcy5fc2Vzc2lvbklkQ2hhbmdlZC5kZXN0cm95KCksZGVsZXRlIHRoaXMuX2NoYXJ0QXBpLHRoaXMuX2xvZ05vcm1hbCgiU2Vzc2lvbiBoYXMgYmVlbiBkZXN0cm95ZWQiKX1pc0Nvbm5lY3RlZCgpe3JldHVybiB0aGlzLl9pc0Nvbm5lY3RlZH1zZXNzaW9uSWQoKXtyZXR1cm4gdGhpcy5fc2Vzc2lvbklkfW9uU2Vzc2lvbklkQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9zZXNzaW9uSWRDaGFuZ2VkfWNvbm5lY3QoKXswPT09dGhpcy5fc3RhdGUmJigoMCxpLmFzc2VydCkoIXRoaXMuX2lzQ29ubmVjdEZvcmJpZGRlbiwiQ2Fubm90IGNhbGwgY29ubmVjdCBiZWNhdXNlIGl0IGlzIGZvcmJpZGRlbiBhdCB0aGlzIG1vbWVudCIpLHRoaXMuX3NldFNlc3Npb25JZChgJHt0aGlzLl9zZXNzaW9uUHJlZml4fV8keygwLG4ucmFuZG9tSGFzaCkoKX1gKSx0aGlzLl9sb2dOb3JtYWwoIkNvbm5lY3Rpbmcgc2Vzc2lvbiAtIHdhaXQgdW50aWwgdHJhbnNwb3J0IHN0YXkgY29ubmVjdGVkIiksdGhpcy5fc3RhdGU9MSx0aGlzLl9jaGFydEFwaS5jcmVhdGVTZXNzaW9uKHRoaXMuX3Nlc3Npb25JZCx0aGlzKSl9ZGlzY29ubmVjdCgpezAhPT10aGlzLl9zdGF0ZSYmKCgwLGkuYXNzZXJ0KSgiIiE9PXRoaXMuX3Nlc3Npb25JZCwic2Vzc2lvbklkIG11c3Qgbm90IGJlIGludmFsaWQiKSx0aGlzLl9sb2dOb3JtYWwoIkRpc2Nvbm5lY3Rpbmcgc2Vzc2lvbi4uLiIpLHRoaXMuX2ZvcmJpZENvbm5lY3RXaGlsZSgoKCk9Pnt0aGlzLl9jaGFydEFwaS5jb25uZWN0ZWQoKSYmdGhpcy5fc2VuZFJlbW92ZVNlc3Npb24oKSx0aGlzLl9wcm9jZXNzRGVzdHJveWluZ09uU2VydmVyKCl9KSkpfW9uTWVzc2FnZShlKXtzd2l0Y2goZS5tZXRob2Qpe2Nhc2UiY29ubmVjdGVkIjpyZXR1cm4gdm9pZCB0aGlzLl9vbkNoYXJ0QXBpQ29ubmVjdGVkKCk7Y2FzZSJkaXNjb25uZWN0ZWQiOnJldHVybiB2b2lkIHRoaXMuX29uQ2hhcnRBcGlEaXNjb25uZWN0ZWQoKTtjYXNlImNyaXRpY2FsX2Vycm9yIjpjb25zdCB0PVN0cmluZyhlLnBhcmFtc1swXSkscz1TdHJpbmcoZS5wYXJhbXNbMV0pO3JldHVybiB2b2lkIHRoaXMuX29uQ3JpdGljYWxFcnJvcih0LHMpfXRoaXMuX29uTWVzc2FnZShlKX1zZXJ2ZXJUaW1lKCl7cmV0dXJuIHRoaXMuX2NoYXJ0QXBpLnNlcnZlclRpbWUoKX1fZ2V0Q2hhcnRBcGkoKXtyZXR1cm4gdGhpcy5fY2hhcnRBcGl9X2dlbmVyYXRlTG9nTWVzc2FnZShlKXtyZXR1cm5gWyR7dGhpcy5fc2Vzc2lvbklkfV0gJHtlfWB9X29uQ3JpdGljYWxFcnJvcihlLHQpe3RoaXMuX2xvZ0Vycm9yKGBDcml0aWNhbCBlcnJvci4gUmVhc29uPSR7ZX0sIGluZm89JHt0fS5gKSx0aGlzLl9mb3JiaWRDb25uZWN0V2hpbGUoKCgpPT57dGhpcy5fcHJvY2Vzc0Rlc3Ryb3lpbmdPblNlcnZlcigpfSkpLAp0aGlzLl9zaG91bGRSZWNvbm5lY3RBZnRlckNyaXRpY2FsRXJyb3I/KHRoaXMuX2xvZ05vcm1hbCgiUmVjb25uZWN0aW5nIGFmdGVyIGNyaXRpY2FsIGVycm9yLi4uIiksdGhpcy5jb25uZWN0KCkpOnRoaXMuX2xvZ05vcm1hbCgiUmVjb25uZWN0aW5nIGFmdGVyIGNyaXRpY2FsIGVycm9yIHNraXBwZWQiKX1fb25DaGFydEFwaUNvbm5lY3RlZCgpeygwLGkuYXNzZXJ0KSgxPT09dGhpcy5fc3RhdGUsIlNlc3Npb24gaXMgbm90IHJlZ2lzdGVyZWQiKSx0aGlzLl9sb2dOb3JtYWwoIlRyYW5zcG9ydCBpcyBjb25uZWN0ZWQuIENyZWF0aW5nIHNlc3Npb24gb24gdGhlIHNlcnZlciIpLHRoaXMuX3NlbmRDcmVhdGVTZXNzaW9uKCksdGhpcy5fc3RhdGU9Mix0aGlzLl9pc0Nvbm5lY3RlZC5zZXRWYWx1ZSghMCl9X29uQ2hhcnRBcGlEaXNjb25uZWN0ZWQoKXt0aGlzLl9sb2dOb3JtYWwoIlRyYW5zcG9ydCBpcyBkaXNjb25uZWN0ZWQuIFJlY29ubmVjdGluZy4uLiIpLHRoaXMuX2ZvcmJpZENvbm5lY3RXaGlsZSgoKCk9Pnt0aGlzLl9wcm9jZXNzRGVzdHJveWluZ09uU2VydmVyKCl9KSksdGhpcy5jb25uZWN0KCl9X3NldFNlc3Npb25JZChlKXtjb25zdCB0PXRoaXMuX3Nlc3Npb25JZDt0aGlzLl9sb2dOb3JtYWwoYENoYW5naW5nIHNlc3Npb25JZDogb2xkPSR7dH0sIG5ldz0ke2V9YCksdGhpcy5fc2Vzc2lvbklkPWUsdGhpcy5fc2Vzc2lvbklkQ2hhbmdlZC5maXJlKGUsdCl9X2xvZ05vcm1hbChlKXtkLmxvZ05vcm1hbCh0aGlzLl9nZW5lcmF0ZUxvZ01lc3NhZ2UoZSkpfV9sb2dFcnJvcihlKXtkLmxvZ0Vycm9yKHRoaXMuX2dlbmVyYXRlTG9nTWVzc2FnZShlKSl9X3Byb2Nlc3NEZXN0cm95aW5nT25TZXJ2ZXIoKXt0aGlzLl9zdGF0ZT0wLHRoaXMuX2lzQ29ubmVjdGVkLnNldFZhbHVlKCExKSx0aGlzLl9jaGFydEFwaS5yZW1vdmVTZXNzaW9uKHRoaXMuX3Nlc3Npb25JZCksdGhpcy5fc2V0U2Vzc2lvbklkKCIiKX1fZm9yYmlkQ29ubmVjdFdoaWxlKGUpe3RoaXMuX2lzQ29ubmVjdEZvcmJpZGRlbj0hMCxlKCksdGhpcy5faXNDb25uZWN0Rm9yYmlkZGVuPSExfX1jbGFzcyBjIGV4dGVuZHMgaHtjb25zdHJ1Y3RvcihlLHQ9ITEpe3N1cGVyKGUsImNzIiwhMSksdGhpcy5fc2Vzc2lvbkRpc2FibGVkPSExLHRoaXMuX2hhbmRsZXI9bnVsbCx0aGlzLl9jcml0aWNhbEVycm9yPW5ldyByLkRlbGVnYXRlLHRoaXMuX3N5bWJvbFJlc29sdmVNYXA9bmV3IE1hcCx0aGlzLl9sYXN0U3ltYm9sUmVzb2x2ZUluZm9NYXA9bmV3IE1hcCx0aGlzLl9kaXNhYmxlU3RhdGlzdGljcz10fWRlc3Ryb3koKXt0aGlzLl9jcml0aWNhbEVycm9yLmRlc3Ryb3koKSx0aGlzLl9oYW5kbGVyPW51bGwsdGhpcy5fc3ltYm9sUmVzb2x2ZU1hcC5jbGVhcigpLHN1cGVyLmRlc3Ryb3koKX1zd2l0Y2hUaW1lem9uZShlKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5zd2l0Y2hUaW1lem9uZSh0aGlzLnNlc3Npb25JZCgpLGUpfWRlZmF1bHRSZXNvbHV0aW9ucygpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmRlZmF1bHRSZXNvbHV0aW9ucygpfWF2YWlsYWJsZUN1cnJlbmNpZXMoKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5hdmFpbGFibGVDdXJyZW5jaWVzKCl9YXZhaWxhYmxlVW5pdHMoKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5hdmFpbGFibGVVbml0cygpfWF2YWlsYWJsZU1ldHJpY3MoKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5hdmFpbGFibGVNZXRyaWNzKCl9YXZhaWxhYmxlUHJpY2VTb3VyY2VzKGUpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmF2YWlsYWJsZVByaWNlU291cmNlcyhlKX1yZXNvbHZlU3ltYm9sKGUsdCxzKXtpZih0aGlzLl9zeW1ib2xSZXNvbHZlTWFwLmhhcyh0KSl7Y29uc3RbZSxyXT10aGlzLl9zeW1ib2xSZXNvbHZlTWFwLmdldCh0KTtyZXR1cm4gQXJyYXkuaXNBcnJheShyKT9yLnB1c2gocyk6ci50aGVuKHMpLGV9e2NvbnN0IHI9W3NdO3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLnJlc29sdmVTeW1ib2wodGhpcy5zZXNzaW9uSWQoKSxlLHQsKHM9PntpZigic3ltYm9sX2Vycm9yIj09PXMubWV0aG9kKXRoaXMuX3N5bWJvbFJlc29sdmVNYXAuZGVsZXRlKHQpO2Vsc2V7dGhpcy5fc3ltYm9sUmVzb2x2ZU1hcC5zZXQodCxbZSxQcm9taXNlLnJlc29sdmUocyldKTtjb25zdFsscl09cy5wYXJhbXMsaT17cHJvX25hbWU6ci5wcm9fbmFtZSx0aWNrZXI6ci50aWNrZXJ9O3RoaXMuX2xhc3RTeW1ib2xSZXNvbHZlSW5mb01hcC5zZXQodCxpKSxpLnByb19uYW1lJiZ0aGlzLl9sYXN0U3ltYm9sUmVzb2x2ZUluZm9NYXAuc2V0KGkucHJvX25hbWUsaSksci5mdWxsX25hbWUmJnRoaXMuX2xhc3RTeW1ib2xSZXNvbHZlSW5mb01hcC5zZXQoci5mdWxsX25hbWUsaSksaS50aWNrZXImJnRoaXMuX2xhc3RTeW1ib2xSZXNvbHZlSW5mb01hcC5zZXQoaS50aWNrZXIsaSl9ci5mb3JFYWNoKChlPT5lKHMpKSl9KSksdGhpcy5fc3ltYm9sUmVzb2x2ZU1hcC5zZXQodCxbZSxyXSksZX19cmVxdWVzdEZpcnN0QmFyVGltZShlLHQscyl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCkucmVxdWVzdEZpcnN0QmFyVGltZSh0aGlzLnNlc3Npb25JZCgpLGUsdCxzKX1sYXN0U3ltYm9sUmVzb2x2ZUluZm8oZSl7cmV0dXJuIHRoaXMuX2xhc3RTeW1ib2xSZXNvbHZlSW5mb01hcC5nZXQoZSk/P251bGx9Y3JlYXRlU2VyaWVzKGUsdCxzLHIsaSxhLG8pe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmNyZWF0ZVNlcmllcyh0aGlzLnNlc3Npb25JZCgpLGUsdCxzLHIsaSxhLG8pfW1vZGlmeVNlcmllcyhlLHQscyxyLGksYSxvKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5tb2RpZnlTZXJpZXModGhpcy5zZXNzaW9uSWQoKSxlLHQscyxyLGksYSxvKX1yZW1vdmVTZXJpZXMoZSl7cmV0dXJuISF0aGlzLmlzQ29ubmVjdGVkKCkudmFsdWUoKSYmdGhpcy5fZ2V0Q2hhcnRBcGkoKS5yZW1vdmVTZXJpZXModGhpcy5zZXNzaW9uSWQoKSxlKX1yZXF1ZXN0TW9yZURhdGEoZSx0LHMpewpyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGU/dGhpcy5fZ2V0Q2hhcnRBcGkoKS5yZXF1ZXN0TW9yZURhdGEodGhpcy5zZXNzaW9uSWQoKSxlKTp0aGlzLl9nZXRDaGFydEFwaSgpLnJlcXVlc3RNb3JlRGF0YSh0aGlzLnNlc3Npb25JZCgpLGUsdCxzKX1yZXF1ZXN0TW9yZVRpY2ttYXJrcyhlLHQscyl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCkucmVxdWVzdE1vcmVUaWNrbWFya3ModGhpcy5zZXNzaW9uSWQoKSxlLHQscyl9c2V0RnV0dXJlVGlja21hcmtzTW9kZShlKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5zZXRGdXR1cmVUaWNrbWFya3NNb2RlKHRoaXMuc2Vzc2lvbklkKCksZSl9Y2FuQ3JlYXRlU3R1ZHkoZSx0KXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5jYW5DcmVhdGVTdHVkeSh0aGlzLnNlc3Npb25JZCgpLGUsdCl9Z2V0U3R1ZHlDb3VudGVyKCl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCkuZ2V0U3R1ZHlDb3VudGVyKHRoaXMuc2Vzc2lvbklkKCkpfWdldEZ1bmRhbWVudGFsQ291bnRlcigpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmdldEZ1bmRhbWVudGFsQ291bnRlcih0aGlzLnNlc3Npb25JZCgpKX1nZXRDaGlsZFN0dWR5Q291bnRlcigpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmdldENoaWxkU3R1ZHlDb3VudGVyKHRoaXMuc2Vzc2lvbklkKCkpfWNyZWF0ZVN0dWR5KGUsdCxzLHIsaSxhLG8pe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmNyZWF0ZVN0dWR5KHRoaXMuc2Vzc2lvbklkKCksZSx0LHMscixpLGEsbyl9bW9kaWZ5U3R1ZHkoZSx0LHMscixpKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5tb2RpZnlTdHVkeSh0aGlzLnNlc3Npb25JZCgpLGUsdCxzLHIsaSl9bm90aWZ5U3R1ZHkoZSx0LHMpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLm5vdGlmeVN0dWR5KHRoaXMuc2Vzc2lvbklkKCksZSx0LHMpfXJlbW92ZVN0dWR5KGUpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLnJlbW92ZVN0dWR5KHRoaXMuc2Vzc2lvbklkKCksZSl9Y3JlYXRlUG9pbnRzZXQoZSx0LHMscixpLGEpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmNyZWF0ZVBvaW50c2V0KHRoaXMuc2Vzc2lvbklkKCksZSx0LHMscixpLGEpfW1vZGlmeVBvaW50c2V0KGUsdCxzLHIpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLm1vZGlmeVBvaW50c2V0KHRoaXMuc2Vzc2lvbklkKCksZSx0LHMscil9cmVtb3ZlUG9pbnRzZXQoZSl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCkucmVtb3ZlUG9pbnRzZXQodGhpcy5zZXNzaW9uSWQoKSxlKX1zZXRWaXNpYmxlVGltZVJhbmdlKGUsdCxzLHIsaSxhLG8pe3RoaXMuX2dldENoYXJ0QXBpKCkuc2V0VmlzaWJsZVRpbWVSYW5nZSh0aGlzLnNlc3Npb25JZCgpLGUsdCxzLHIsITAsaSxhLHZvaWQgMCxvKX1jcml0aWNhbEVycm9yKCl7cmV0dXJuIHRoaXMuX2NyaXRpY2FsRXJyb3J9Y29ubmVjdChlPW51bGwpe251bGwhPT1lJiYodGhpcy5faGFuZGxlcj1lKSx0aGlzLl9zeW1ib2xSZXNvbHZlTWFwLmNsZWFyKCksc3VwZXIuY29ubmVjdCgpfXNldEhhbmRsZXIoZSl7dGhpcy5faGFuZGxlcj1lfWNvbm5lY3RlZCgpe3JldHVybiB0aGlzLmlzQ29ubmVjdGVkKCkudmFsdWUoKSYmIXRoaXMuX3Nlc3Npb25EaXNhYmxlZH1kaXNhYmxlKCl7dGhpcy5fc2Vzc2lvbkRpc2FibGVkPSEwfWNoYXJ0QXBpKCl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCl9X3NlbmRDcmVhdGVTZXNzaW9uKCl7T2JqZWN0LmtleXModGhpcykuZm9yRWFjaCgoZT0+ey9eKHN8c3R8c3ltYm9sXylcZCskLy50ZXN0KGUpJiZkZWxldGUgdGhpc1tlXX0pKSx0aGlzLl9nZXRDaGFydEFwaSgpLmNoYXJ0Q3JlYXRlU2Vzc2lvbih0aGlzLnNlc3Npb25JZCgpLHRoaXMuX2Rpc2FibGVTdGF0aXN0aWNzKX1fc2VuZFJlbW92ZVNlc3Npb24oKXt0aGlzLl9nZXRDaGFydEFwaSgpLmNoYXJ0RGVsZXRlU2Vzc2lvbih0aGlzLnNlc3Npb25JZCgpKX1fb25NZXNzYWdlKGUpe3RoaXMuX2hhbmRsZXImJnRoaXMuX2hhbmRsZXIoZSl9X29uQ3JpdGljYWxFcnJvcihlLHQpe3RoaXMuX2NyaXRpY2FsRXJyb3IuZmlyZShlLHQpLHN1cGVyLl9vbkNyaXRpY2FsRXJyb3IoZSx0KX19fSw0NzU0NzgoZSx0LHMpe3MuZCh0LHtDb25mbGF0ZWRDaHVua3NCdWlsZGVyOigpPT5vfSk7dmFyIHI9cygxMzg2MzgpLGk9cygxOTg5MDEpO2NvbnN0IGE9W3tiYXJzVG9NZXJnZToxMCxmb3JCYXJzcGFjaW5nTGFyZ2VyVGhlbjouMDN9LHtiYXJzVG9NZXJnZTozMCxmb3JCYXJzcGFjaW5nTGFyZ2VyVGhlbjouMDF9LHtiYXJzVG9NZXJnZToxMDAsZm9yQmFyc3BhY2luZ0xhcmdlclRoZW46LjAwM30se2JhcnNUb01lcmdlOjUwMCxmb3JCYXJzcGFjaW5nTGFyZ2VyVGhlbjowfV07Y2xhc3Mgb3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX3Bsb3RzPWUsdGhpcy5fc3RhdGU9e2NodW5rczpuZXcgTWFwLHByaWNlU291cmNlOm51bGwscHJpY2VTb3VyY2VzUHJvdmlkZXI6dH0sdGhpcy5fc2V0RW1wdHlDb25mbGF0ZWRDaHVua3MoKX1jb25mbGF0ZWRDaHVua3MoZSx0KXtpZih0IT09dGhpcy5fc3RhdGUucHJpY2VTb3VyY2Upe3RoaXMuX3N0YXRlLnByaWNlU291cmNlPXQ7Y29uc3QgZT10aGlzLl9wbG90cy5maXJzdCgpO2UmJih0aGlzLl9zZXRFbXB0eUNvbmZsYXRlZENodW5rcygpLHRoaXMuX3JlYnVpbGRDb25mbGF0ZWRDaHVua3MoZSkpfWNvbnN0IHM9KDAsci5lbnN1cmVEZWZpbmVkKShhLmZpbmQoKHQ9PnQuZm9yQmFyc3BhY2luZ0xhcmdlclRoZW48PWUpKSk7cmV0dXJuKDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zdGF0ZS5jaHVua3MuZ2V0KHMuYmFyc1RvTWVyZ2UpKX1tZXJnZURhdGEoZSl7Y29uc3QgdD10aGlzLl9wbG90cy5zaXplKCkscz10aGlzLl9wbG90cy5tZXJnZShlKTtyZXR1cm4gcyYmbnVsbCE9PXRoaXMuX3N0YXRlLnByaWNlU291cmNlJiYodD09PXRoaXMuX3Bsb3RzLnNpemUoKSYmcy5pbmRleD09PXRoaXMuX3Bsb3RzLmxhc3RJbmRleCgpP3RoaXMuX3VwZGF0ZUxhdGVzdENodW5rcygpOnRoaXMuX3JlYnVpbGRDb25mbGF0ZWRDaHVua3MocykpLHN9bW92ZURhdGEoZSl7CnRoaXMuX3Bsb3RzLm1vdmUoZSksdGhpcy5fcGxvdHMuc2l6ZSgpPjAmJnRoaXMuX2NsZWFyU3RhdGUoKX1jbGVhckRhdGEoKXt0aGlzLl9wbG90cy5jbGVhcigpLHRoaXMuX2NsZWFyU3RhdGUoKX1fcmVidWlsZENvbmZsYXRlZENodW5rcyhlKXtjb25zdCB0PXRoaXMuX3N0YXRlLnByaWNlU291cmNlO2lmKG51bGw9PT10KXJldHVybjtjb25zdCBzPWUuaW5kZXgsbz10aGlzLl9zdGF0ZS5wcmljZVNvdXJjZXNQcm92aWRlcih0KSxuPShlLHQscyk9PntsZXQgcj1udWxsO2Zvcihjb25zdCBpIG9mIGUpe2NvbnN0IGU9byhpLnZhbHVlKTtyJiZpLmluZGV4LXIuc3RhcnRUaW1lPj1zLmJhcnNUb01lcmdlJiYodC5wdXNoKHIpLHI9bnVsbCkscj8oci5lbmRUaW1lPWkuaW5kZXgsci5oaWdoPU1hdGgubWF4KHIuaGlnaCxlKSxyLmxvdz1NYXRoLm1pbihyLmxvdyxlKSxyLmNsb3NlPWUpOnI9e3N0YXJ0VGltZTppLmluZGV4LGVuZFRpbWU6aS5pbmRleCxvcGVuOmUsaGlnaDplLGxvdzplLGNsb3NlOmV9fXImJnQucHVzaChyKX07YS5mb3JFYWNoKChlPT57Y29uc3QgdD0oMCxyLmVuc3VyZURlZmluZWQpKHRoaXMuX3N0YXRlLmNodW5rcy5nZXQoZS5iYXJzVG9NZXJnZSkpLGE9KDAsaS5sb3dlcmJvdW5kKSh0LHMsKChlLHQpPT5lLmVuZFRpbWU8dCkpO2lmKDA9PT1hJiZ0Lmxlbmd0aD4wKXtjb25zdCBzPXRbMF0uc3RhcnRUaW1lLTEsaT0oMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Bsb3RzLmZpcnN0SW5kZXgoKSksYT10aGlzLl9wbG90cy5yYW5nZUl0ZXJhdG9yKGkscyksbz1bXTtuKGEsbyxlKTtjb25zdCBkPW8uY29uY2F0KHQpO3RoaXMuX3N0YXRlLmNodW5rcy5zZXQoZS5iYXJzVG9NZXJnZSxkKX1lbHNle2NvbnN0IHM9KDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wbG90cy5sYXN0SW5kZXgoKSk7dC5zcGxpY2UoYSk7bGV0IGk9KDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wbG90cy5maXJzdEluZGV4KCkpO3QubGVuZ3RoJiYoaT10W3QubGVuZ3RoLTFdLmVuZFRpbWUrMSk7Y29uc3Qgbz10aGlzLl9wbG90cy5yYW5nZUl0ZXJhdG9yKGkscyk7bihvLHQsZSl9fSkpfV91cGRhdGVMYXRlc3RDaHVua3MoKXtjb25zdCBlPSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fcGxvdHMubGFzdCgpKSx0PXRoaXMuX3N0YXRlLnByaWNlU291cmNlc1Byb3ZpZGVyKCJjbG9zZSIpO2EuZm9yRWFjaCgocz0+e2NvbnN0IGk9KDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zdGF0ZS5jaHVua3MuZ2V0KHMuYmFyc1RvTWVyZ2UpKSxhPXQoZS52YWx1ZSksbz1pW2kubGVuZ3RoLTFdO28uaGlnaD1NYXRoLm1heChvLmhpZ2gsYSksby5sb3c9TWF0aC5taW4oby5sb3csYSksby5jbG9zZT1hLG8uZW5kVGltZT1lLmluZGV4fSkpfV9zZXRFbXB0eUNvbmZsYXRlZENodW5rcygpe2EuZm9yRWFjaCgoZT0+dGhpcy5fc3RhdGUuY2h1bmtzLnNldChlLmJhcnNUb01lcmdlLFtdKSkpfV9jbGVhclN0YXRlKCl7dGhpcy5fc3RhdGUuY2h1bmtzLmNsZWFyKCksdGhpcy5fc3RhdGUucHJpY2VTb3VyY2U9bnVsbH19fSw5MzYzMjYoZSx0LHMpe3ZhciByO3MuZCh0LHtQbG90Um93U2VhcmNoTW9kZTooKT0+cn0pLGZ1bmN0aW9uKGUpe2VbZS5OZWFyZXN0TGVmdD0tMV09Ik5lYXJlc3RMZWZ0IixlW2UuRXhhY3Q9MF09IkV4YWN0IixlW2UuTmVhcmVzdFJpZ2h0PTFdPSJOZWFyZXN0UmlnaHQifShyfHwocj17fSkpfSw3OTE1MjEoZSx0LHMpe3ZhciByO3MuZCh0LHtTeW1ib2xFcnJvclBlcm1pc3Npb25EZW5pZWRSZWFzb246KCk9PnIsaW52YWxpZFN5bWJvbDooKT0+YSxwZXJtaXNzaW9uRGVuaWVkOigpPT5pfSksZnVuY3Rpb24oZSl7ZS5TeW1ib2w9InN5bWJvbCIsZS5Hcm91cFBlcm1pc3Npb249Imdyb3VwIn0ocnx8KHI9e30pKTtjb25zdCBpPSJwZXJtaXNzaW9uIGRlbmllZCIsYT0iaW52YWxpZCBzeW1ib2wifSw4NDg2MDEoZSx0LHMpe3MuZCh0LHtwYXJzZU5vblNlcmllc0VudmVsb3BlOigpPT5hfSk7dmFyIHI9cyg2MDE4NDEpLGk9cyg5OTU2NTUpO2Z1bmN0aW9uIGEoZSl7aWYoIiI9PT1lKXJldHVybiBudWxsO2NvbnN0IHQ9SlNPTi5wYXJzZShlKTtpZighKDAsci5pc09iamVjdCkodCl8fCJmdW5jdGlvbiI9PXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcigiTm9uLW9iamVjdCBjb250ZW50IGluIHRoZSBub24tc2VyaWVzIGVudmVsb3BlIik7aWYoKDAsci5oYXNQcm9wZXJ0eSkodCwiaW5kZXhlc19yZXBsYWNlIikpcmV0dXJue25zRGF0YTp7aW5kZXhlc19yZXBsYWNlOiEwfSxwYXJzZWREYXRhOnR9O2NvbnN0IHM9e2luZGV4ZXNfcmVwbGFjZTohMX07aWYoKDAsci5oYXNQcm9wZXJ0eSkodCwib2Zmc2V0cyIpJiYocy5vZmZzZXRzPXQub2Zmc2V0cyksKDAsci5oYXNQcm9wZXJ0eSkodCwiaXNVcGRhdGUiKSl7aWYoImJvb2xlYW4iIT10eXBlb2YgdC5pc1VwZGF0ZSl0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdHlwZSBvZiAiaXNVcGRhdGUiIGZpZWxkJyk7cy5pc1VwZGF0ZT10LmlzVXBkYXRlfXJldHVybigwLHIuaGFzUHJvcGVydHkpKHQsImRhdGEiKSYmKHMuZGF0YT10LmRhdGEpLCgwLHIuaGFzUHJvcGVydHkpKHQsImdyYXBoaWNzQ21kcyIpJiYocy5ncmFwaGljc0NtZHM9KDAsaS52YWxpZGF0ZUdyYXBoaWNzQ29tbWFuZHMpKHQuZ3JhcGhpY3NDbWRzKSkse25zRGF0YTpzLHBhcnNlZERhdGE6dH19fSw1NTA5MDQoZSx0LHMpe3MuZCh0LHt1bnBhY2tOb25TZXJpZXNEYXRhOigpPT5pfSk7dmFyIHI9cyg4NDg2MDEpO2FzeW5jIGZ1bmN0aW9uIGkoZSl7cmV0dXJuKDAsci5wYXJzZU5vblNlcmllc0VudmVsb3BlKShlKT8ubnNEYXRhPz9udWxsfX0sMTU2OTA4KGUsdCxzKXtzLmQodCx7REVGQVVMVF9OVU1CQVJTOigpPT5pLGluaXRpYWxSZXF1ZXN0T3B0aW9uc1RvTnVtQmFyczooKT0+YX0pO3ZhciByPXMoMTM4NjM4KTtjb25zdCBpPTMwMDtmdW5jdGlvbiBhKGUpe3JldHVybiBlLnN0YXJ0RGF0ZT9lLmVuZERhdGV8fGUuY291bnQ/ZS5lbmREYXRlP1siZnJvbV90byIsZS5zdGFydERhdGUsZS5lbmREYXRlXTpbImJhcl9jb3VudCIsZS5zdGFydERhdGUsKDAsCnIuZW5zdXJlKShlLmNvdW50KV06WyJmcm9tX3RvIixlLnN0YXJ0RGF0ZV06ZS5jb3VudHx8aX19LDg3MTAzNyhlLHQscyl7YXN5bmMgZnVuY3Rpb24gcihlLHQpe2lmKHZvaWQgMD09PWUpcmV0dXJue3Byb2plY3Rpb25QbG90czpbXSxib3hTaXplOm51bGx9O2lmKCIiPT09ZS5kfHwibm9jaGFuZ2UiPT09ZS5pbmRleGVzKXJldHVybiBudWxsO2NvbnN0IHM9YXdhaXQgdChlLmQpO2lmKG51bGw9PT1zfHxzLmluZGV4ZXNfcmVwbGFjZSlyZXR1cm4gbnVsbDtjb25zdCByPWUuaW5kZXhlcyx7YmFyczppPVtdLHByaWNlOmEsYm94U2l6ZTpvLHJldmVyc2FsQW1vdW50Om59PXMuZGF0YTtyZXR1cm57bGFzdFByaWNlOmEscHJvamVjdGlvblBsb3RzOmkubWFwKChlPT57bGV0IHQ7cmV0dXJuImZhY3RvciJpbiBlP3Q9ZS5mYWN0b3I6ImFkZGl0aW9uYWxQcmljZSJpbiBlJiYodD1lLmFkZGl0aW9uYWxQcmljZSkse2luZGV4OnJbZS50aW1lXSx2YWx1ZTpbMCxlLm9wZW4sZS5oaWdoLGUubG93LGUuY2xvc2UsZS52b2x1bWUsdF19fSkpLHJldmVyc2FsQW1vdW50Om4sYm94U2l6ZTpvfX1zLmQodCx7cGFyc2VKYXBhbmVzZVByb2plY3Rpb25CYXJzOigpPT5yfSl9LDkzNTI0MChlLHQscyl7cy5kKHQse1Nlcmllc0RhdGFTb3VyY2U6KCk9PkN9KTt2YXIgcj1zKDEzODYzOCksaT1zKDYwMTg0MSksYT1zKDIyMTA2MSksbz1zKDI1NDY3Myksbj1zKDYxOTE2NSksZD1zKDc5MTUyMSksbD1zKDU1MDkwNCksaD1zKDE1NjkwOCksYz1zKDExMTk1MyksdT1zKDk0ODM4MCk7Y2xhc3MgX3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2NyZWF0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fbW9kaWZpZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fY2xlYXJlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9sb2FkaW5nPW5ldyB1LkRlbGVnYXRlLHRoaXMuX2NvbXBsZXRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9lcnJvcj1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xFcnJvcj1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xSZXNvbHZlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zZXJpZXNFcnJvcj1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xOb3RQZXJtaXR0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fc3ltYm9sSW52YWxpZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xHcm91cE5vdFBlcm1pdHRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9jaGFydFR5cGVOb3RQZXJtaXR0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5faW50cmFkYXlTcHJlYWROb3RQZXJtaXR0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5faW50cmFkYXlFeGNoYW5nZU5vdFBlcm1pdHRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9jdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zZWNvbmRzSW50ZXJ2YWxOb3RQZXJtaXR0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fdGlja3NJbnRlcnZhbE5vdFBlcm1pdHRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9iYXJSZWNlaXZlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zZXJpZXNUaW1lRnJhbWU9bmV3IHUuRGVsZWdhdGUsdGhpcy5fZGF0YVVwZGF0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fdW5zdXBwb3J0ZWRSZXNvbHV0aW9uUmVxdWVzdGVkPW5ldyB1LkRlbGVnYXRlfWRlc3Ryb3koKXt0aGlzLl9jcmVhdGVkLmRlc3Ryb3koKSx0aGlzLl9tb2RpZmllZC5kZXN0cm95KCksdGhpcy5fbG9hZGluZy5kZXN0cm95KCksdGhpcy5fY29tcGxldGVkLmRlc3Ryb3koKSx0aGlzLl9lcnJvci5kZXN0cm95KCksdGhpcy5fc3ltYm9sRXJyb3IuZGVzdHJveSgpLHRoaXMuX3N5bWJvbFJlc29sdmVkLmRlc3Ryb3koKSx0aGlzLl9zZXJpZXNFcnJvci5kZXN0cm95KCksdGhpcy5fc3ltYm9sSW52YWxpZC5kZXN0cm95KCksdGhpcy5fc3ltYm9sTm90UGVybWl0dGVkLmRlc3Ryb3koKSx0aGlzLl9zeW1ib2xHcm91cE5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5fY2hhcnRUeXBlTm90UGVybWl0dGVkLmRlc3Ryb3koKSx0aGlzLl9pbnRyYWRheVNwcmVhZE5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5faW50cmFkYXlFeGNoYW5nZU5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5fY3VzdG9tSW50ZXJ2YWxOb3RQZXJtaXR0ZWQuZGVzdHJveSgpLHRoaXMuX3NlY29uZHNJbnRlcnZhbE5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5fdGlja3NJbnRlcnZhbE5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5fYmFyUmVjZWl2ZWQuZGVzdHJveSgpLHRoaXMuX3Nlcmllc1RpbWVGcmFtZS5kZXN0cm95KCksdGhpcy5fZGF0YVVwZGF0ZWQuZGVzdHJveSgpLHRoaXMuX3Vuc3VwcG9ydGVkUmVzb2x1dGlvblJlcXVlc3RlZC5kZXN0cm95KCl9Y3JlYXRlZCgpe3JldHVybiB0aGlzLl9jcmVhdGVkfW1vZGlmaWVkKCl7cmV0dXJuIHRoaXMuX21vZGlmaWVkfWNsZWFyZWQoKXtyZXR1cm4gdGhpcy5fY2xlYXJlZH1sb2FkaW5nKCl7cmV0dXJuIHRoaXMuX2xvYWRpbmd9Y29tcGxldGVkKCl7cmV0dXJuIHRoaXMuX2NvbXBsZXRlZH1lcnJvcigpe3JldHVybiB0aGlzLl9lcnJvcn1zeW1ib2xFcnJvcigpe3JldHVybiB0aGlzLl9zeW1ib2xFcnJvcn1zeW1ib2xSZXNvbHZlZCgpe3JldHVybiB0aGlzLl9zeW1ib2xSZXNvbHZlZH1zZXJpZXNFcnJvcigpe3JldHVybiB0aGlzLl9zZXJpZXNFcnJvcn1zeW1ib2xJbnZhbGlkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbEludmFsaWR9c3ltYm9sTm90UGVybWl0dGVkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbE5vdFBlcm1pdHRlZH1zeW1ib2xHcm91cE5vdFBlcm1pdHRlZCgpe3JldHVybiB0aGlzLl9zeW1ib2xHcm91cE5vdFBlcm1pdHRlZH1jaGFydFR5cGVOb3RQZXJtaXR0ZWQoKXtyZXR1cm4gdGhpcy5fY2hhcnRUeXBlTm90UGVybWl0dGVkfWludHJhZGF5U3ByZWFkTm90UGVybWl0dGVkKCl7cmV0dXJuIHRoaXMuX2ludHJhZGF5U3ByZWFkTm90UGVybWl0dGVkfWludHJhZGF5RXhjaGFuZ2VOb3RQZXJtaXR0ZWQoKXtyZXR1cm4gdGhpcy5faW50cmFkYXlFeGNoYW5nZU5vdFBlcm1pdHRlZH1jdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZCgpewpyZXR1cm4gdGhpcy5fY3VzdG9tSW50ZXJ2YWxOb3RQZXJtaXR0ZWR9c2Vjb25kc0ludGVydmFsTm90UGVybWl0dGVkKCl7cmV0dXJuIHRoaXMuX3NlY29uZHNJbnRlcnZhbE5vdFBlcm1pdHRlZH10aWNrc0ludGVydmFsTm90UGVybWl0dGVkKCl7cmV0dXJuIHRoaXMuX3RpY2tzSW50ZXJ2YWxOb3RQZXJtaXR0ZWR9YmFyUmVjZWl2ZWQoKXtyZXR1cm4gdGhpcy5fYmFyUmVjZWl2ZWR9c2VyaWVzVGltZUZyYW1lKCl7cmV0dXJuIHRoaXMuX3Nlcmllc1RpbWVGcmFtZX1kYXRhVXBkYXRlZCgpe3JldHVybiB0aGlzLl9kYXRhVXBkYXRlZH11bnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQoKXtyZXR1cm4gdGhpcy5fdW5zdXBwb3J0ZWRSZXNvbHV0aW9uUmVxdWVzdGVkfWZpcmVDb21wbGV0ZWQoZSl7dGhpcy5fY29tcGxldGVkLmZpcmUoZSl9ZmlyZUNyZWF0ZWQoZSl7dGhpcy5fY3JlYXRlZC5maXJlKGUpfWZpcmVNb2RpZmllZCgpe3RoaXMuX21vZGlmaWVkLmZpcmUoKX1maXJlQ2xlYXJlZCgpe3RoaXMuX2NsZWFyZWQuZmlyZSgpfWZpcmVMb2FkaW5nKGUpe3RoaXMuX2xvYWRpbmcuZmlyZShlKX1maXJlRXJyb3IoKXt0aGlzLl9lcnJvci5maXJlKCl9ZmlyZVN5bWJvbEVycm9yKGUpe3RoaXMuX3N5bWJvbEVycm9yLmZpcmUoZSksdGhpcy5maXJlRXJyb3IoKX1maXJlU3ltYm9sUmVzb2x2ZWQoZSl7dGhpcy5fc3ltYm9sUmVzb2x2ZWQuZmlyZShlKX1maXJlU2VyaWVzRXJyb3IoZSl7dGhpcy5fc2VyaWVzRXJyb3IuZmlyZShlKSx0aGlzLmZpcmVFcnJvcigpfWZpcmVTeW1ib2xJbnZhbGlkKCl7dGhpcy5fc3ltYm9sSW52YWxpZC5maXJlKCl9ZmlyZVN5bWJvbE5vdFBlcm1pdHRlZChlKXt0aGlzLl9zeW1ib2xOb3RQZXJtaXR0ZWQuZmlyZShlKX1maXJlU3ltYm9sR3JvdXBOb3RQZXJtaXR0ZWQoZSl7dGhpcy5fc3ltYm9sR3JvdXBOb3RQZXJtaXR0ZWQuZmlyZShlKX1maXJlQ2hhcnRUeXBlTm90UGVybWl0dGVkKGUpe3RoaXMuX2NoYXJ0VHlwZU5vdFBlcm1pdHRlZC5maXJlKGUpLHRoaXMuZmlyZUVycm9yKCl9ZmlyZUludHJhZGF5U3ByZWFkTm90UGVybWl0dGVkKCl7dGhpcy5faW50cmFkYXlTcHJlYWROb3RQZXJtaXR0ZWQuZmlyZSgpLHRoaXMuZmlyZUVycm9yKCl9ZmlyZUludHJhZGF5RXhjaGFuZ2VOb3RQZXJtaXR0ZWQoKXt0aGlzLl9pbnRyYWRheUV4Y2hhbmdlTm90UGVybWl0dGVkLmZpcmUoKSx0aGlzLmZpcmVFcnJvcigpfWZpcmVDdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZChlKXt0aGlzLl9jdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZC5maXJlKGUpLHRoaXMuZmlyZUVycm9yKCl9ZmlyZVNlY29uZHNJbnRlcnZhbE5vdFBlcm1pdHRlZCgpe3RoaXMuX3NlY29uZHNJbnRlcnZhbE5vdFBlcm1pdHRlZC5maXJlKCksdGhpcy5maXJlRXJyb3IoKX1maXJlVGlja3NJbnRlcnZhbE5vdFBlcm1pdHRlZCgpe3RoaXMuX3RpY2tzSW50ZXJ2YWxOb3RQZXJtaXR0ZWQuZmlyZSgpLHRoaXMuZmlyZUVycm9yKCl9ZmlyZUJhclJlY2VpdmVkKGUpe3RoaXMuX2JhclJlY2VpdmVkLmZpcmUoZSl9ZmlyZVNlcmllc1RpbWVGcmFtZShlLHQscyxyLGkpe3RoaXMuX3Nlcmllc1RpbWVGcmFtZS5maXJlKGUsdCxzLHIsaSl9ZmlyZURhdGFVcGRhdGVkKGUsdCxzLHIsaSl7dGhpcy5fZGF0YVVwZGF0ZWQuZmlyZShlLHQscyxyLGkpfWZpcmVVbnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQoKXt0aGlzLl91bnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQuZmlyZSgpfX12YXIgbT1zKDg3MTAzNykscD1zKDg1Mjk4MCkseT1zKDMyMjU1NCk7Y29uc3QgZz0veyhcdyspfS9nO2NvbnN0IGI9KDAsYS5nZXRMb2dnZXIpKCJDaGFydC5TZXJpZXNEYXRhU291cmNlIik7dmFyIGY7IWZ1bmN0aW9uKGUpe2VbZS5JZGxlPTBdPSJJZGxlIixlW2UuQXdhaXRpbmdDb25uZWN0aW9uPTFdPSJBd2FpdGluZ0Nvbm5lY3Rpb24iLGVbZS5Bd2FpdGluZ0ZpcnN0RGF0YVVwZGF0ZT0yXT0iQXdhaXRpbmdGaXJzdERhdGFVcGRhdGUiLGVbZS5BY3RpdmU9M109IkFjdGl2ZSJ9KGZ8fChmPXt9KSk7bGV0IFM9MTtsZXQgdj0xO2Z1bmN0aW9uIEkoZSl7cmV0dXJuKDAsYy5leHRyYWN0RXh0ZW5kZWRTeW1ib2wpKGUpLnN5bWJvbH1jbGFzcyBDe2NvbnN0cnVjdG9yKGUsdCxzLHIpe3RoaXMuX2V4dFN5bWJvbD1udWxsLHRoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbD0iIix0aGlzLl9jcmVhdGVTZXJpZXNPdmVycmlkZGVuUGFyYW1zPTAsdGhpcy5faW5zdGFuY2VJZD1udWxsLHRoaXMuX3N5bWJvbEluc3RhbmNlSWQ9bnVsbCx0aGlzLl9yZXNvbHV0aW9uPW51bGwsdGhpcy5fdGltZUZyYW1lPW51bGwsdGhpcy5fZGF0YT1uZXcgbi5TZXJpZXNEYXRhLHRoaXMuX2RhdGFFdmVudHM9bmV3IF8sdGhpcy5fc3RhdHVzPWYuSWRsZSx0aGlzLl90dXJuYXJvdW5kQ291bnRlcj0xLHRoaXMuX2JvdW5kT25HYXRld2F5SXNDb25uZWN0ZWRDaGFuZ2VkPXRoaXMuX29uR2F0ZXdheUlzQ29ubmVjdGVkQ2hhbmdlZC5iaW5kKHRoaXMpLHRoaXMuX2JvdW5kT25NZXNzYWdlPXRoaXMuX29uTWVzc2FnZS5iaW5kKHRoaXMpLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlPVByb21pc2UucmVzb2x2ZSgpLHRoaXMuX2dhdGV3YXk9ZSx0aGlzLl90dXJuYXJvdW5kUHJlZml4PXQsdGhpcy5fY3JlYXRlU2VyaWVzUGFyYW1zPSgwLGguaW5pdGlhbFJlcXVlc3RPcHRpb25zVG9OdW1CYXJzKShzPz97Y291bnQ6aC5ERUZBVUxUX05VTUJBUlN9KSx0aGlzLl90aW1lRnJhbWU9cnx8bnVsbCx0aGlzLl9nYXRld2F5LmlzQ29ubmVjdGVkKCkuc3Vic2NyaWJlKHRoaXMuX2JvdW5kT25HYXRld2F5SXNDb25uZWN0ZWRDaGFuZ2VkKX1kZXN0cm95KCl7dGhpcy5zdG9wKCksdGhpcy5fZ2F0ZXdheS5pc0Nvbm5lY3RlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX2JvdW5kT25HYXRld2F5SXNDb25uZWN0ZWRDaGFuZ2VkKSx0aGlzLl9kYXRhRXZlbnRzLmRlc3Ryb3koKX1jYW5Nb2RpZnlTZXJpZXMoZSx0KXtjb25zdCBzPSEoMCwKaS5kZWVwRXF1YWxzKSh0aGlzLl9leHRTeW1ib2wsZSlbMF0scj1udWxsPT09dGhpcy5fcmVzb2x1dGlvbnx8IW8uSW50ZXJ2YWwuaXNFcXVhbCh0aGlzLl9yZXNvbHV0aW9uLHQpO3JldHVybiBzfHxyfW1vZGlmeVNlcmllcyhlLHQscz1udWxsLGE9ITEsbj1udWxsKXthJiYoYi5sb2dOb3JtYWwoIkR1ZSB0byBmb3JjZSBmbGFnIGNsZWFyaW5nIHN5bWJvbCAmIHJlc29sdXRpb24gdG8gZm9yY2UgcmUtcmVxdWVzdGluZyBkYXRhLiIpLHRoaXMuX2V4dFN5bWJvbD1udWxsLHRoaXMuX3Jlc29sdXRpb249bnVsbCk7Y29uc3QgZD1JKGUpLGw9IXRoaXMuc3ltYm9sU2FtZUFzUmVzb2x2ZWQoZCk7aWYobCYmKHRoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbD0iIiksdGhpcy5fZXh0U3ltYm9sJiYhbCl7Y29uc3QgdD1JKHRoaXMuX2V4dFN5bWJvbCk7KDAsYy5yZXBsYWNlRXh0ZW5kZWRTeW1ib2wpKGUsdCl9Y29uc3QgaD10aGlzLl9leHRTeW1ib2wsdT10aGlzLl9yZXNvbHV0aW9uO2lmKHRoaXMuX2V4dFN5bWJvbD1lLHRoaXMuX3Jlc29sdXRpb249dCxudWxsPT09dGhpcy5faW5zdGFuY2VJZClyZXR1cm4gdm9pZCh0aGlzLl90aW1lRnJhbWU9cyk7Y29uc3QgXz0hKDAsaS5kZWVwRXF1YWxzKShoLGUpWzBdO18mJigwLGMucmVwbGFjZUV4dGVuZGVkU3ltYm9sKSh0aGlzLl9leHRTeW1ib2wsZCk7Y29uc3QgbT1udWxsPT09dXx8IW8uSW50ZXJ2YWwuaXNFcXVhbCh1LHQpOyhffHxtfHxudWxsIT09cykmJih0aGlzLl90aW1lRnJhbWU9bnVsbCwoX3x8bSkmJnRoaXMuX3R1cm5hcm91bmRDb3VudGVyKyssXyYmdGhpcy5fcmVzb2x2ZVN5bWJvbCgpLHRoaXMuX2dhdGV3YXkubW9kaWZ5U2VyaWVzKHRoaXMuX2luc3RhbmNlSWQsdGhpcy50dXJuYXJvdW5kKCksKDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zeW1ib2xJbnN0YW5jZUlkKSx0aGlzLl9yZXNvbHV0aW9uLG4scyx0aGlzLl9ib3VuZE9uTWVzc2FnZSksdGhpcy5fZGF0YUV2ZW50cy5maXJlTW9kaWZpZWQoKSl9cmVxdWVzdE1vcmVEYXRhKGUpe251bGwhPT10aGlzLl9pbnN0YW5jZUlkJiZ0aGlzLl9nYXRld2F5LnJlcXVlc3RNb3JlRGF0YSh0aGlzLl9pbnN0YW5jZUlkLGUsdGhpcy5fYm91bmRPbk1lc3NhZ2UpfXJlcXVlc3RNb3JlVGlja21hcmtzKGUpe251bGwhPT10aGlzLl9pbnN0YW5jZUlkJiZ0aGlzLl9nYXRld2F5LnJlcXVlc3RNb3JlVGlja21hcmtzKHRoaXMuX2luc3RhbmNlSWQsZSx0aGlzLl9ib3VuZE9uTWVzc2FnZSl9c2V0RnV0dXJlVGlja21hcmtzTW9kZShlKXtudWxsIT09dGhpcy5faW5zdGFuY2VJZCYmdGhpcy5fZ2F0ZXdheS5zZXRGdXR1cmVUaWNrbWFya3NNb2RlKGUpfWlzU3RhcnRlZCgpe3JldHVybiB0aGlzLl9zdGF0dXMhPT1mLklkbGV9aXNBY3RpdmUoKXtyZXR1cm4gdGhpcy5fc3RhdHVzPT09Zi5BY3RpdmV9cmVzb2x1dGlvbigpe3JldHVybiB0aGlzLl9yZXNvbHV0aW9ufXN0YXJ0KCl7dGhpcy5pc1N0YXJ0ZWQoKT9iLmxvZ05vcm1hbCgic3RhcnQ6IGRhdGEgc291cmNlIGlzIGFscmVhZHkgc3RhcnRlZCwgbm90aGluZyB0byBkbyIpOigoMCxyLmFzc2VydCkobnVsbCE9PXRoaXMuX2V4dFN5bWJvbCwic3ltYm9sIG11c3QgYmUgc2V0IGJlZm9yZSBzdGFydCIpLCgwLHIuYXNzZXJ0KShudWxsIT09dGhpcy5fcmVzb2x1dGlvbiwicmVzb2x1dGlvbiBtdXN0IGJlIHNldCBiZWZvcmUgc3RhcnQiKSx0aGlzLl9nYXRld2F5LmlzQ29ubmVjdGVkKCkudmFsdWUoKT90aGlzLl9jcmVhdGVTZXJpZXMoKTp0aGlzLl9jaGFuZ2VTdGF0dXNUbyhmLkF3YWl0aW5nQ29ubmVjdGlvbikpfXN0b3AoKXt0aGlzLmlzU3RhcnRlZCgpPyhudWxsIT09dGhpcy5faW5zdGFuY2VJZCYmKHRoaXMuX2dhdGV3YXkucmVtb3ZlU2VyaWVzKHRoaXMuX2luc3RhbmNlSWQpLHRoaXMuX2luc3RhbmNlSWQ9bnVsbCksdGhpcy5fc3ltYm9sSW5zdGFuY2VJZD1udWxsLHRoaXMuX2NoYW5nZVN0YXR1c1RvKGYuSWRsZSkpOmIubG9nTm9ybWFsKCJzdG9wOiBkYXRhIHNvdXJjZSBpcyBhbHJlYWR5IHN0b3BwZWQsIG5vdGhpbmcgdG8gZG8iKX1pbnN0YW5jZUlkKCl7cmV0dXJuIHRoaXMuX2luc3RhbmNlSWR9ZGF0YSgpe3JldHVybiB0aGlzLl9kYXRhfXNldERhdGEoZSl7dGhpcy5fZGF0YT1lfXNldFRpbWVmcmFtZShlKXt0aGlzLl90aW1lRnJhbWU9ZX1jbGVhckRhdGEoKXt0aGlzLmlzU3RhcnRlZCgpP3RoaXMuX2VucXVldWVVcGRhdGUoKCgpPT50aGlzLl9jbGVhckRhdGFJbXBsKCkpKTp0aGlzLl9jbGVhckRhdGFJbXBsKCl9ZGF0YUV2ZW50cygpe3JldHVybiB0aGlzLl9kYXRhRXZlbnRzfXR1cm5hcm91bmQoKXtyZXR1cm5gJHt0aGlzLl90dXJuYXJvdW5kUHJlZml4fSR7dGhpcy5fdHVybmFyb3VuZENvdW50ZXJ9YH1zeW1ib2xJbnN0YW5jZUlkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbEluc3RhbmNlSWR9c3ltYm9sKCl7cmV0dXJuIHRoaXMuX2V4dFN5bWJvbH11cGRhdGVFeHRTeW1ib2woZSl7dGhpcy5fZXh0U3ltYm9sPWV9bW92ZURhdGEoZSl7cmV0dXJuIHRoaXMuX2VucXVldWVVcGRhdGUoKCgpPT50aGlzLl9kYXRhLm1vdmVEYXRhKGUpKSl9c2V0SW5pdGlhbFJlcXVlc3RPcHRpb25zKGUpe3RoaXMuX2NyZWF0ZVNlcmllc092ZXJyaWRkZW5QYXJhbXM9KDAsaC5pbml0aWFsUmVxdWVzdE9wdGlvbnNUb051bUJhcnMpKGUpfXN5bWJvbFNhbWVBc1Jlc29sdmVkKGUpe3JldHVybiBudWxsIT09dGhpcy5fZXh0U3ltYm9sJiYoMCx5LnN5bWJvbFNhbWVBc1Jlc29sdmVkKShlLEkodGhpcy5fZXh0U3ltYm9sKSx0aGlzLl9sYXN0UmVzb2x2ZWRTeW1ib2wpfXJlc29sdmVkU3ltYm9sKCl7cmV0dXJuIG51bGw9PT10aGlzLl9leHRTeW1ib2w/bnVsbDpJKHRoaXMuX2V4dFN5bWJvbCl9c3RhdGljIHNldE5vblNlcmllc0RhdGFVbnBhY2tlcihlKXtDLl9ub25TZXJpZXNEYXRhVW5wYWNrZXI9ZX1zdGF0aWMgc2V0U3ltYm9sRW5jb2RlcihlKXtDLl9lbmNvZGVTeW1ib2w9ZX1zdGF0aWMgc2V0RXh0cmFjdFN5bWJvbEZlYXR1cmVzZXRzKGUpe0MuX2V4dHJhY3RTeW1ib2xOYW1lRmVhdHVyZXNldHM9ZX1fcmVzb2x2ZVN5bWJvbCgpewpudWxsIT09dGhpcy5fZXh0U3ltYm9sJiYodGhpcy5fc3ltYm9sSW5zdGFuY2VJZD10aGlzLl9nYXRld2F5LnJlc29sdmVTeW1ib2woInNkc19zeW1fIitTKyssQy5fZW5jb2RlU3ltYm9sKHRoaXMuX2V4dFN5bWJvbCksdGhpcy5fYm91bmRPbk1lc3NhZ2UpKX1fY2xlYXJEYXRhSW1wbCgpe3RoaXMuX2RhdGEuY2xlYXIoKSx0aGlzLl9kYXRhRXZlbnRzLmZpcmVDbGVhcmVkKCl9X2NoYW5nZVN0YXR1c1RvKGUpeygwLHIuYXNzZXJ0KSh0aGlzLl9zdGF0dXMhPT1lLCJTb3VyY2UgYW5kIGRlc3RpbmF0aW9uIHN0YXR1cyBzaG91bGQgYmUgZGlzdGluY3QiKSxiLmxvZ05vcm1hbChgU3RhdHVzIGNoYW5nZWQgZnJvbSAke2ZbdGhpcy5fc3RhdHVzXX0gdG8gJHtmW2VdfWApLHRoaXMuX3N0YXR1cz1lfV9jcmVhdGVTZXJpZXMoKXsoMCxyLmFzc2VydCkodGhpcy5fc3RhdHVzIT09Zi5BY3RpdmUsJ1N0YXR1cyBzaG91bGQgbm90IGJlICJBY3RpdmUiIHdoZW4gY3JlYXRpbmcgYSBzdHVkeScpLHRoaXMuX2luc3RhbmNlSWQ9InNkc18iK3YrKyx0aGlzLl9yZXNvbHZlU3ltYm9sKCk7Y29uc3QgZT10aGlzLl9jcmVhdGVTZXJpZXNPdmVycmlkZGVuUGFyYW1zfHx0aGlzLl9jcmVhdGVTZXJpZXNQYXJhbXM7dGhpcy5fY3JlYXRlU2VyaWVzT3ZlcnJpZGRlblBhcmFtcyYmKHRoaXMuX2NyZWF0ZVNlcmllc092ZXJyaWRkZW5QYXJhbXM9MCksdGhpcy5fZ2F0ZXdheS5jcmVhdGVTZXJpZXModGhpcy5faW5zdGFuY2VJZCx0aGlzLnR1cm5hcm91bmQoKSwoMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N5bWJvbEluc3RhbmNlSWQpLCgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fcmVzb2x1dGlvbiksZSx0aGlzLl90aW1lRnJhbWUsdGhpcy5fYm91bmRPbk1lc3NhZ2UpLHRoaXMuX3RpbWVGcmFtZT1udWxsLHRoaXMuX2NoYW5nZVN0YXR1c1RvKGYuQXdhaXRpbmdGaXJzdERhdGFVcGRhdGUpLHRoaXMuX2RhdGFFdmVudHMuZmlyZUNyZWF0ZWQodGhpcy5faW5zdGFuY2VJZCl9X29uR2F0ZXdheUlzQ29ubmVjdGVkQ2hhbmdlZChlKXtlP3RoaXMuX29uR2F0ZXdheUNvbm5lY3RlZCgpOnRoaXMuX29uR2F0ZXdheURpc2Nvbm5lY3RlZCgpfV9vbkdhdGV3YXlDb25uZWN0ZWQoKXt0aGlzLl9zdGF0dXM9PT1mLkF3YWl0aW5nQ29ubmVjdGlvbiYmdGhpcy5fY3JlYXRlU2VyaWVzKCl9X29uR2F0ZXdheURpc2Nvbm5lY3RlZCgpe3RoaXMuX3N0YXR1cyE9PWYuSWRsZSYmdGhpcy5fc3RhdHVzIT09Zi5Bd2FpdGluZ0Nvbm5lY3Rpb24mJih0aGlzLl9pbnN0YW5jZUlkPW51bGwsdGhpcy5fY2hhbmdlU3RhdHVzVG8oZi5Bd2FpdGluZ0Nvbm5lY3Rpb24pKSx0aGlzLl90dXJuYXJvdW5kQ291bnRlcj0xfV9vbk1lc3NhZ2UoZSl7dGhpcy5fZW5xdWV1ZVVwZGF0ZSgoKCk9PnRoaXMuX29uTWVzc2FnZUltcGwoZSkpKX1hc3luYyBfb25NZXNzYWdlSW1wbChlKXtzd2l0Y2goZS5tZXRob2Qpe2Nhc2Uic3ltYm9sX3Jlc29sdmVkIjp7Y29uc3RbdCxzXT1lLnBhcmFtcztpZih0IT09dGhpcy5fc3ltYm9sSW5zdGFuY2VJZCl7bnVsbCE9PXRoaXMuX3N5bWJvbEluc3RhbmNlSWQmJmIubG9nTm9ybWFsKGBSZXNvbHZlIGZvciBvbGQgc3ltYm9sLCBleHBlY3RlZDogJHt0aGlzLl9zeW1ib2xJbnN0YW5jZUlkfSwgYWN0dWFsICR7ZS5wYXJhbXNbMF19YCk7YnJlYWt9dGhpcy5fb25TeW1ib2xSZXNvbHZlZChzKTticmVha31jYXNlInN5bWJvbF9lcnJvciI6aWYoZS5wYXJhbXNbMF0hPT10aGlzLl9zeW1ib2xJbnN0YW5jZUlkKXtudWxsIT09dGhpcy5fc3ltYm9sSW5zdGFuY2VJZCYmYi5sb2dOb3JtYWwoYFN5bWJvbCBlcnJvciBmb3Igb2xkIHN5bWJvbCwgZXhwZWN0ZWQ6ICR7dGhpcy5fc3ltYm9sSW5zdGFuY2VJZH0sIGFjdHVhbCAke2UucGFyYW1zWzBdfWApO2JyZWFrfXRoaXMuX29uU3ltYm9sRXJyb3IoZSk7YnJlYWs7Y2FzZSJzZXJpZXNfdGltZWZyYW1lIjp7Y29uc3RbdCxzLHIsaSxhLG8sbl09ZS5wYXJhbXM7aWYoIXRoaXMuX2NoZWNrVHVybmFyb3VuZCh0LHMpKXtiLmxvZ05vcm1hbChgVGltZSBmcmFtZSBmb3Igb2xkIGRhdGEsIGV4cGVjdGVkOiAke3RoaXMuX3N5bWJvbEluc3RhbmNlSWR9ICgke3RoaXMudHVybmFyb3VuZCgpfSksIGFjdHVhbCAke3R9ICgke3N9KWApO2JyZWFrfXRoaXMuX29uU2VyaWVzVGltZUZyYW1lKHIsaSxhLG8sbik7YnJlYWt9Y2FzZSJzZXJpZXNfZXJyb3IiOntjb25zdFt0LHNdPWUucGFyYW1zO2lmKCF0aGlzLl9jaGVja1R1cm5hcm91bmQodCxzKSl7Yi5sb2dOb3JtYWwoYFNlcmllcyBlcnJvciBmb3Igb2xkIGRhdGEsIGV4cGVjdGVkOiAke3RoaXMuX3N5bWJvbEluc3RhbmNlSWR9ICgke3RoaXMudHVybmFyb3VuZCgpfSksIGFjdHVhbCAke3R9ICgke3N9KWApO2JyZWFrfXRoaXMuX29uU2VyaWVzRXJyb3IoZS5wYXJhbXNbMl0pO2JyZWFrfWNhc2Uic2VyaWVzX2xvYWRpbmciOntjb25zdFt0LHNdPWUucGFyYW1zO2lmKCF0aGlzLl9jaGVja1R1cm5hcm91bmQodCxzKSlicmVhazt0aGlzLl9vblNlcmllc0xvYWRpbmcoZS50aW1lKTticmVha31jYXNlInNlcmllc19jb21wbGV0ZWQiOntjb25zdFt0LHMscixpXT1lLnBhcmFtcztpZighdGhpcy5fY2hlY2tUdXJuYXJvdW5kKHQscikpe2IubG9nTm9ybWFsKGBTZXJpZXMgY29tcGxldGVkIGZvciBvbGQgZGF0YSwgZXhwZWN0ZWQ6ICR7dGhpcy5fc3ltYm9sSW5zdGFuY2VJZH0gKCR7dGhpcy50dXJuYXJvdW5kKCl9KSwgYWN0dWFsICR7dH0gKCR7cn0pYCk7YnJlYWt9dGhpcy5fb25TZXJpZXNDb21wbGV0ZWQocyxlLnRpbWUsaSk7YnJlYWt9Y2FzZSJkYXRhX3VwZGF0ZSI6aWYoIXRoaXMuX2NoZWNrVHVybmFyb3VuZChlLnBhcmFtcy5jdXN0b21JZCxlLnBhcmFtcy50dXJuYXJvdW5kKSl7Yi5sb2dOb3JtYWwoYERhdGEgdXBkYXRlIGZvciBvbGQgZGF0YSwgZXhwZWN0ZWQ6ICR7dGhpcy5fc3ltYm9sSW5zdGFuY2VJZH0gKCR7dGhpcy50dXJuYXJvdW5kKCl9KSwgYWN0dWFsICR7ZS5wYXJhbXMuY3VzdG9tSWR9ICgke2UucGFyYW1zLnR1cm5hcm91bmR9KWApO2JyZWFrfQphd2FpdCB0aGlzLl9vbkRhdGFVcGRhdGUoZS5wYXJhbXMucGxvdHMsZS5wYXJhbXMubm9uc2VyaWVzLGUucGFyYW1zLmxhc3RCYXIpO2JyZWFrO2Nhc2UiY2xlYXJfZGF0YSI6e2lmKGUucGFyYW1zLnR1cm5hcm91bmQhPT10aGlzLnR1cm5hcm91bmQoKSl7Yi5sb2dOb3JtYWwoYENsZWFyIGRhdGEgZm9yIG9sZCBkYXRhLCBleHBlY3RlZDogJHt0aGlzLnR1cm5hcm91bmQoKX0sIGFjdHVhbCAke2UucGFyYW1zLnR1cm5hcm91bmR9YCk7YnJlYWt9Y29uc3QgdD10aGlzLl9kYXRhLmZpcnN0KCk7dGhpcy5fY2xlYXJEYXRhSW1wbCgpLHRoaXMuX2RhdGFFdmVudHMuZmlyZURhdGFVcGRhdGVkKHZvaWQgMCwhMSxudWxsLCExLHQpO2JyZWFrfX19X29uU2VyaWVzRXJyb3IoZSl7bGV0IHQscztpZigic3RyaW5nIj09dHlwZW9mIGUpcz17ZXJyb3I6ZX0sdD1lO2Vsc2UgaWYocz1lLGUuY3R4KXtjb25zdCBzPXt9O09iamVjdC5lbnRyaWVzKGUuY3R4KS5mb3JFYWNoKCgoW2UsdF0pPT57c1tlXT10LnRvU3RyaW5nKCl9KSksaT1lLmVycm9yLGE9cyx0PWkucmVwbGFjZShnLCgoZSx0KT0+dm9pZCAwIT09YVt0XT9hW3RdOmUpKX1lbHNlIHQ9ZS5lcnJvcjt2YXIgaSxhO2lmKHQuc3RhcnRzV2l0aCgic3R1ZHlfbm90X2F1dGg6Iikpe2NvbnN0IGU9dC5zcGxpdCgiOiIsMilbMV0uc3BsaXQoIkAiLDIpWzBdO2lmKFsiQmFyU2V0UmVua28iLCJCYXJTZXRQcmljZUJyZWFrIiwiQmFyU2V0S2FnaSIsIkJhclNldFBuRiJdLmluY2x1ZGVzKGUpKXRoaXMuX2RhdGFFdmVudHMuZmlyZUNoYXJ0VHlwZU5vdFBlcm1pdHRlZChlKTtlbHNle2lmKCJCYXJTZXRTcHJlYWQiPT09ZSlyZXR1cm4gdm9pZCB0aGlzLl9kYXRhRXZlbnRzLmZpcmVJbnRyYWRheVNwcmVhZE5vdFBlcm1pdHRlZCgpO2lmKCJCYXJTZXRSYW5nZSI9PT1lKXtjb25zdCBlPWAkeygwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fZXh0U3ltYm9sKS5pbnB1dHMucmFuZ2V9UmA7dGhpcy5fZGF0YUV2ZW50cy5maXJlQ3VzdG9tSW50ZXJ2YWxOb3RQZXJtaXR0ZWQoZSl9fX1lbHNle2lmKHQuc3RhcnRzV2l0aCgidW5zdXBwb3J0ZWQiKSlyZXR1cm4gdm9pZCB0aGlzLl9kYXRhRXZlbnRzLmZpcmVVbnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQoKTsicmVzb2x1dGlvbl9ub3RfZW50aXRsZWQiPT09dD90aGlzLl9kYXRhRXZlbnRzLmZpcmVJbnRyYWRheUV4Y2hhbmdlTm90UGVybWl0dGVkKCk6ImN1c3RvbV9yZXNvbHV0aW9uIj09PXQ/dGhpcy5fZGF0YUV2ZW50cy5maXJlQ3VzdG9tSW50ZXJ2YWxOb3RQZXJtaXR0ZWQoKDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9yZXNvbHV0aW9uKSk6InNlY29uZHNfbm90X2VudGl0bGVkIj09PXQ/dGhpcy5fZGF0YUV2ZW50cy5maXJlU2Vjb25kc0ludGVydmFsTm90UGVybWl0dGVkKCk6InRpY2tzX25vdF9lbnRpdGxlZCI9PT10JiZ0aGlzLl9kYXRhRXZlbnRzLmZpcmVUaWNrc0ludGVydmFsTm90UGVybWl0dGVkKCl9dGhpcy5fZGF0YUV2ZW50cy5maXJlU2VyaWVzRXJyb3Iocyl9X29uU2VyaWVzVGltZUZyYW1lKGUsdCxzLHIsaSl7dGhpcy5fZGF0YUV2ZW50cy5maXJlU2VyaWVzVGltZUZyYW1lKGUsdCxzLHI/PyEwLGkpfV9vblN5bWJvbEVycm9yKGUpe2lmKGUucGFyYW1zWzFdPT09ZC5wZXJtaXNzaW9uRGVuaWVkKXN3aXRjaChlLnBhcmFtc1syXSl7Y2FzZSBkLlN5bWJvbEVycm9yUGVybWlzc2lvbkRlbmllZFJlYXNvbi5TeW1ib2w6dGhpcy5fZGF0YUV2ZW50cy5maXJlU3ltYm9sTm90UGVybWl0dGVkKGUucGFyYW1zWzNdKTticmVhaztjYXNlIGQuU3ltYm9sRXJyb3JQZXJtaXNzaW9uRGVuaWVkUmVhc29uLkdyb3VwUGVybWlzc2lvbjp0aGlzLl9kYXRhRXZlbnRzLmZpcmVTeW1ib2xHcm91cE5vdFBlcm1pdHRlZChlLnBhcmFtc1szXSk7YnJlYWs7ZGVmYXVsdDp0aGlzLl9kYXRhRXZlbnRzLmZpcmVTeW1ib2xOb3RQZXJtaXR0ZWQoZS5wYXJhbXNbMl0pfWVsc2UgZS5wYXJhbXNbMV09PT1kLmludmFsaWRTeW1ib2wmJnRoaXMuX2RhdGFFdmVudHMuZmlyZVN5bWJvbEludmFsaWQoKTt0aGlzLl9kYXRhRXZlbnRzLmZpcmVTeW1ib2xFcnJvcihlLnBhcmFtc1sxXSl9X29uU3ltYm9sUmVzb2x2ZWQoZSl7dGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sPSgwLHIuZW5zdXJlTm90TnVsbCkoKDAscC5leHRyYWN0U3ltYm9sTmFtZUZyb21TeW1ib2xJbmZvKShDLl9leHRyYWN0U3ltYm9sTmFtZUZlYXR1cmVzZXRzLGUsIiIpKSx0aGlzLl9kYXRhRXZlbnRzLmZpcmVTeW1ib2xSZXNvbHZlZChlKX1hc3luYyBfb25EYXRhVXBkYXRlKGUsdCxzKXt0aGlzLl9vbkRhdGFVbnBhY2tlZChlLHMsYXdhaXQoMCxtLnBhcnNlSmFwYW5lc2VQcm9qZWN0aW9uQmFycykodCxDLl9ub25TZXJpZXNEYXRhVW5wYWNrZXIpKX1fZW5xdWV1ZVVwZGF0ZShlKXtyZXR1cm4gdGhpcy5fb25nb2luZ0RhdGFVcGRhdGU9dGhpcy5fb25nb2luZ0RhdGFVcGRhdGUudGhlbihlLGUpLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlfV9vbkRhdGFVbnBhY2tlZChlLHQscyl7aWYodGhpcy5fc3RhdHVzPT09Zi5JZGxlKXJldHVybjt0aGlzLl9zdGF0dXM9PT1mLkF3YWl0aW5nRmlyc3REYXRhVXBkYXRlJiYodGhpcy5fY2hhbmdlU3RhdHVzVG8oZi5BY3RpdmUpLHRoaXMuX2NsZWFyRGF0YUltcGwoKSk7Y29uc3Qgcj10aGlzLl9kYXRhLmJhcnMoKS5zaXplKCksaT10aGlzLl9kYXRhLmZpcnN0KCksYT10aGlzLl9kYXRhLmJhcnMoKS5maXJzdEluZGV4KCksbz10aGlzLl9kYXRhLm1lcmdlUmVndWxhckJhcnMoZSk7bnVsbCE9PXMmJih0aGlzLl9kYXRhLm5zQmFycygpLmNsZWFyKCksdGhpcy5fZGF0YS5uc0JhcnMoKS5tZXJnZShzLnByb2plY3Rpb25QbG90cyksdGhpcy5fZGF0YS5sYXN0UHJvamVjdGlvblByaWNlPXMubGFzdFByaWNlLG51bGwhPT1zLmJveFNpemUmJih0aGlzLl9kYXRhLmJveFNpemU9cy5ib3hTaXplKSx0aGlzLl9kYXRhLnJldmVyc2FsQW1vdW50PXMucmV2ZXJzYWxBbW91bnQpO2NvbnN0IG49bnVsbD09PWEsZD1ufHxudWxsIT09byYmby5pbmRleDxhO3RoaXMuX2RhdGFFdmVudHMuZmlyZURhdGFVcGRhdGVkKHQsZCxvLG4saSksCnIhPT10aGlzLl9kYXRhLmJhcnMoKS5zaXplKCkmJm51bGwhPT1vJiZ0aGlzLl9kYXRhRXZlbnRzLmZpcmVCYXJSZWNlaXZlZChvKX1fb25TZXJpZXNMb2FkaW5nKGUpe3RoaXMuX2RhdGFFdmVudHMuZmlyZUxvYWRpbmcoZSl9X29uU2VyaWVzQ29tcGxldGVkKGUsdCxzKXt0aGlzLl9kYXRhRXZlbnRzLmZpcmVDb21wbGV0ZWQoe3VwZGF0ZU1vZGU6ZSx0aW1lOnQsZmxhZ3M6c30pfV9jaGVja1R1cm5hcm91bmQoZSx0KXtyZXR1cm4gdGhpcy5faW5zdGFuY2VJZD09PWUmJih2b2lkIDA9PT10fHx0PT09dGhpcy50dXJuYXJvdW5kKCkpfX1DLl9ub25TZXJpZXNEYXRhVW5wYWNrZXI9bC51bnBhY2tOb25TZXJpZXNEYXRhLEMuX2VuY29kZVN5bWJvbD1jLmVuY29kZUV4dGVuZGVkU3ltYm9sLEMuX2V4dHJhY3RTeW1ib2xOYW1lRmVhdHVyZXNldHM9e3BheUF0dGVudGlvblRvVGlja2VyTm90U3ltYm9sOiExLGNoYXJ0aW5nTGlicmFyeVNpbmdsZVN5bWJvbFJlcXVlc3Q6ITEsdXNlVGlja2VyT25TeW1ib2xJbmZvVXBkYXRlOiExLHVwcGVyY2FzZUluc3RydW1lbnROYW1lczohMX19LDEyMTQ3OShlLHQscyl7cy5kKHQse2dldFNlcnZlckludGVydmFsOigpPT5pfSk7dmFyIHI9cygyNTQ2NzMpO2Z1bmN0aW9uIGkoZSl7cmV0dXJuIHIuSW50ZXJ2YWwuaXNSYW5nZShlKT8iMSI6ZX19LDk5NTY1NShlLHQscyl7cy5kKHQse3ZhbGlkYXRlR3JhcGhpY3NDb21tYW5kczooKT0+YX0pO3ZhciByPXMoNjAxODQxKSxpPXMoMTM4NjM4KTtmdW5jdGlvbiBhKGUpe2lmKCEoMCxyLmlzT2JqZWN0KShlKSl0aHJvdyBuZXcgRXJyb3IoIkdyYXBoaWNzIGNvbW1hbmRzIHNob3VsZCBiZSB3cmFwcGVkIGluIGFuIG9iamVjdCIpO2lmKCgwLHIuaGFzUHJvcGVydHkpKGUsImNyZWF0ZSIpLCgwLHIuaGFzUHJvcGVydHkpKGUsImVyYXNlIikpe2NvbnN0IHQ9ZS5lcmFzZTsoMCxpLmFzc2VydCkoQXJyYXkuaXNBcnJheSh0KSwiQ29sbGVjdGlvbiBvZiBlcmFzZSBjb21tYW5kcyBzaG91bGQgYmUgYXJyYXkiKTtmb3IoY29uc3QgZSBvZiB0KXtpZighKDAsci5pc09iamVjdCkoZSl8fCEoMCxyLmhhc1Byb3BlcnR5KShlLCJhY3Rpb24iKSl0aHJvdyBuZXcgRXJyb3IoIkNvbW1hbmQgc2hvdWxkIGJlIGFuIG9iamVjdCB3aXRoICdhY3Rpb24nIHByb3BlcnR5Iik7KDAsaS5hc3NlcnQpKCJhbGwiPT09ZS5hY3Rpb258fCJvbmUiPT09ZS5hY3Rpb24sIkVyYXNlIGNvbW1hbmQgYWN0aW9uIHNob3VsZCBiZSAnYWxsJyBvciAnb25lJyIpfX1yZXR1cm4gZX19LDMyMjU1NChlLHQscyl7ZnVuY3Rpb24gcihlLHQscyl7cmV0dXJuIGU9PT10fHxlPT09c31zLmQodCx7c3ltYm9sU2FtZUFzUmVzb2x2ZWQ6KCk9PnJ9KX0sODE0NTg5KGUsdCxzKXtzLmQodCx7SU5WQUxJRF9USU1FX1BPSU5UX0lOREVYOigpPT5yLFVOUExPVFRBQkxFX1RJTUVfUE9JTlRfSU5ERVg6KCk9Pml9KTtjb25zdCByPS0yZTYsaT0tMWU2fSw4NjY3NDgoZSx0LHMpe2FzeW5jIGZ1bmN0aW9uIHIoZSl7Y29uc3Rbe2luZmxhdGVabGliOnQsaW5mbGF0ZVJhdzpyfSx7dW5wYWNrSW1wbDppfV09YXdhaXQgUHJvbWlzZS5hbGwoWyJmdW5jdGlvbiI9PXR5cGVvZiBEZWNvbXByZXNzaW9uU3RyZWFtP3MuZSgyMTI2MCkudGhlbihzLmJpbmQocyw3MzUwOTkpKTpQcm9taXNlLmFsbChbcy5lKDI0Njk4KSxzLmUoNjIyMzQpXSkudGhlbihzLmJpbmQocywyOTU4NzMpKSxzLmUoMjEyNjApLnRoZW4ocy5iaW5kKHMsMjk0NDgzKSldKTtyZXR1cm4gaSh0LHIsZSl9cy5kKHQse3VucGFjazooKT0+cn0pfSwxODk4NjMoZSx0LHMpe3MuZCh0LHtTcGlubmVyOigpPT5hfSk7cyg4NDU1NzcpO3ZhciByPXMoNDQzNTU3KSxpPXMoNTY3NDc5KTtjbGFzcyBhe2NvbnN0cnVjdG9yKGUpe3RoaXMuX3Nob3duPSExLHRoaXMuX2VsPSgwLHIucGFyc2VIdG1sRWxlbWVudCkoZnVuY3Rpb24oZT0iIil7cmV0dXJuYDxkaXYgY2xhc3M9InR2LXNwaW5uZXIgJHtlfSIgcm9sZT0icHJvZ3Jlc3NiYXIiPjwvZGl2PmB9KCkpLHRoaXMuc2V0U2l6ZShpLnNwaW5uZXJTaXplTWFwW2V8fGkuREVGQVVMVF9TSVpFXSl9c3BpbihlKXtyZXR1cm4gdGhpcy5fZWwuY2xhc3NMaXN0LmFkZCgidHYtc3Bpbm5lci0tc2hvd24iKSx2b2lkIDA9PT10aGlzLl9jb250YWluZXImJih0aGlzLl9jb250YWluZXI9ZSx2b2lkIDAhPT1lJiZlLmFwcGVuZENoaWxkKHRoaXMuX2VsKSksdGhpcy5fc2hvd249ITAsdGhpc31zdG9wKGUpe3JldHVybiBlJiZ2b2lkIDAhPT10aGlzLl9jb250YWluZXImJnRoaXMuX2NvbnRhaW5lci5yZW1vdmVDaGlsZCh0aGlzLl9lbCksdGhpcy5fZWwmJnRoaXMuX2VsLmNsYXNzTGlzdC5yZW1vdmUoInR2LXNwaW5uZXItLXNob3duIiksdGhpcy5fc2hvd249ITEsdGhpc31zZXRTdHlsZShlKXtyZXR1cm4gT2JqZWN0LmtleXMoZSkuZm9yRWFjaCgodD0+e2NvbnN0IHM9ZVt0XTt2b2lkIDAhPT1zJiZ0aGlzLl9lbC5zdHlsZS5zZXRQcm9wZXJ0eSh0LHMpfSkpLHRoaXN9c3R5bGUoKXtyZXR1cm4gdGhpcy5fZWwuc3R5bGV9c2V0U2l6ZShlKXtjb25zdCB0PXZvaWQgMCE9PWU/YHR2LXNwaW5uZXItLXNpemVfJHtlfWA6IiI7cmV0dXJuIHRoaXMuX2VsLmNsYXNzTmFtZT1gdHYtc3Bpbm5lciAke3R9ICR7dGhpcy5fc2hvd24/InR2LXNwaW5uZXItLXNob3duIjoiIn1gLHRoaXN9Z2V0RWwoKXtyZXR1cm4gdGhpcy5fZWx9ZGVzdHJveSgpe3RoaXMuc3RvcCgpLGRlbGV0ZSB0aGlzLl9lbCxkZWxldGUgdGhpcy5fY29udGFpbmVyfX19LDIyNjkzNyhlLHQscyl7cy5kKHQse0FzeW5jUmVzb3VyY2VXcmFwcGVyOigpPT5yfSk7Y2xhc3Mgcntjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2Rlc3Ryb3llZD0hMSx0aGlzLl9jYWxsYmFja3M9W10sdGhpcy5fcmVzb3VyY2U9e3BlbmRpbmdSZXNvdXJjZTplfSx0aGlzLl9kZXN0cm95Rm49dCxlLnRoZW4oKGU9PntpZih0aGlzLl9kZXN0cm95ZWQpdGhpcy5fZGVzdHJveUZuPy4oZSk7ZWxzZXt0aGlzLl9yZXNvdXJjZS5yZXNvdXJjZT1lO2Zvcihjb25zdCB0IG9mIHRoaXMuX2NhbGxiYWNrcyl0KGUpfX0pKS5maW5hbGx5KCgoKT0+e3RoaXMuX2NhbGxiYWNrcz1bXX0pKX0KZGVzdHJveSgpe3RoaXMuX3Jlc291cmNlLnJlc291cmNlJiZ0aGlzLl9kZXN0cm95Rm4/Lih0aGlzLl9yZXNvdXJjZS5yZXNvdXJjZSksdGhpcy5fcmVzb3VyY2U9e3BlbmRpbmdSZXNvdXJjZTpQcm9taXNlLnJlamVjdCgiUmVzb3VyY2UgaXMgZGVzdHJveWVkIikuY2F0Y2goKCgpPT57fSkpfSx0aGlzLl9jYWxsYmFja3M9W10sdGhpcy5fZGVzdHJveWVkPSEwfWNhbGxGdW5jdGlvbihlKXt0aGlzLl9kZXN0cm95ZWR8fCh0aGlzLl9yZXNvdXJjZS5yZXNvdXJjZT9lKHRoaXMuX3Jlc291cmNlLnJlc291cmNlKTp0aGlzLl9jYWxsYmFja3MucHVzaChlKSl9Z2V0KCl7cmV0dXJuIHRoaXMuX2Rlc3Ryb3llZHx8IXRoaXMuX3Jlc291cmNlLnJlc291cmNlP251bGw6dGhpcy5fcmVzb3VyY2UucmVzb3VyY2V9cHJvbWlzZSgpe3JldHVybiB0aGlzLl9yZXNvdXJjZS5wZW5kaW5nUmVzb3VyY2V9fX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"scanner.tradingview.com/forex/metainfo?api_key=widget_user_token\u0026label-product=screener-forex-old","fqdn":"scanner.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"143.204.238.97","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.406Z","timestamp":1785120634406,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Thu, 09 Oct 2025 00:00:00 GMT","end":"Fri, 06 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"02:47:4D:AC:A6:12:65:AD:C2:19:CD:7E:61:B8:BF:E1:D8:36:CF:00","sha256":"12:7C:86:50:31:B1:3E:03:76:8B:F1:84:D4:AD:BC:95:0E:C1:60:40:F5:CE:75:F0:11:AF:91:BC:55:C1:D7:36"}}},"request":{"raw":"POST /forex/metainfo?api_key=widget_user_token\u0026label-product=screener-forex-old HTTP/1.1\r\nHost: scanner.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/json, text/javascript, */*; q=0.01\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nContent-Type: application/x-www-form-urlencoded; charset=UTF-8\r\nContent-Length: 21\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.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":"POST","post_data":{"size":21,"data":"{\"markets\":[\"forex\"]}"}},"response":{"raw":"HTTP/2 200 \r\ncontent-type: application/json; charset=utf-8\r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\nvary: Origin\r\ncontent-encoding: gzip\r\nx-perm-error: InvalidCredential\r\nserver: tv\r\nvia: 23.105.168.224:443, 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\naccess-control-allow-origin: https://www.tradingview-widget.com\r\naccess-control-allow-headers: Referer,Accept\r\naccess-control-allow-methods: GET, POST\r\naccess-control-allow-credentials: true\r\naccess-control-max-age: 86400\r\nx-cache: Miss from cloudfront\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: HDPFwxwASID8DUcOdeoaLnd4yl_zKvLjGsNBqL1DaiOaxekRXkqiFQ==\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.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":146318,"size_decoded":22332,"mime_type":"application/json; charset=utf-8","magic":"JSON text data","md5":"35b9cdfce4f71f5a33f1281a42d8d82c","sha1":"aab4f9ad6420304c99411364bd2f51167cc41d12","sha256":"e00d5565e7a31e55d2194d8d1d2eacd7ab037f626f171adbaa6807dd53670f58","sha512":"726018cd040a2a00087ae357d6ace8cf4686c2a8deb376a5c23d3bea9f9c80fd8ecd712dd5fe7bce46b5f0d627471a9287d2cefb7a0eb49b03bb40c3ca4ae4cb","ssdeep":"1536:FPmV80T+nnzfHg4yTbKBTgi0jhT/1xIMzH36Io1GAtcUTqx:TYmTgi0x1qwH36Io1GAtcUTqx","tlshash":"04e3b9e9e98514be01736f5f20bb632937bd8843f3d61858e5470e0127da275b0a36be","first_seen":"2026-07-27T02:51:26.952951Z","last_seen":"2026-07-27T02:51:26.952951Z","times_seen":1,"resource_available":false,"data":"eyJmaW5hbmNpYWxfY3VycmVuY3kiOm51bGwsImZpZWxkcyI6W3sibiI6InBvcHVsYXJpdHlfcmFuayIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJjb3VudHJ5MiIsInQiOiJ0ZXh0IiwiciI6WyJBbWVyaWNhcyIsIkV1cm9wZSIsIkFzaWEiLCJQYWNpZmljIiwiQWZyaWNhIiwiTWlkZGxlIEVhc3QiXX0seyJuIjoiY291bnRyeV9jb2RlIiwidCI6InRleHQiLCJyIjpbIlJVIl19LHsibiI6ImFsbF90aW1lX2xvdyIsInQiOiJwcmljZSIsInIiOm51bGx9LHsibiI6InVwZGF0ZS10aW1lIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6InJhdGVzX2NmIiwidCI6Im1hcCIsInIiOm51bGx9LHsibiI6InJhdGVzX2Z5IiwidCI6Im1hcCIsInIiOm51bGx9LHsibiI6InJhdGVzX2ZoIiwidCI6Im1hcCIsInIiOm51bGx9LHsibiI6Im1pbm1vdiIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJtaW5tb3ZlMiIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJhbGxfdGltZV9vcGVuIiwidCI6InByaWNlIiwiciI6bnVsbH0seyJuIjoicmF0ZXNfZWFybmluZ3NfbmV4dF9mcSIsInQiOiJtYXAiLCJyIjpudWxsfSx7Im4iOiJjdXJyZW50X3lpZWxkIiwidCI6InBlcmNlbnQiLCJyIjpudWxsfSx7Im4iOiJpbmRleF9wcmlvcml0eSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJwcm92aWRlci1pZCIsInQiOiJ0ZXh0IiwiciI6WyJpYmtyIiwic2F4b2JhbmsiLCJqZngiLCJ2YW50YWdlZngiLCJnYmVicm9rZXJzIiwiZnVzaW9ubWFya2V0cyIsImZ4Y20iLCJ0dmMiLCJwZXBwZXJzdG9uZSIsInNwcmVhZGV4IiwiYWN0aXZ0cmFkZXMiLCJhbG9yIiwidGhpbmttYXJrZXRzIiwiZWFzeW1hcmtldHMiLCJpZyIsImNhcGl0YWxjb20iLCJmcG1hcmtldHMiLCJibGFja2J1bGxtYXJrZXRzIiwidmVsb2NpdHl0cmFkZSIsImlicm9rZXIiLCJnYWluIiwiZWlnaHRjYXAiLCJ3aHNlbGZpbnZlc3QiLCJwaGlsbGlwbm92YSIsImljbWFya2V0cyIsImNpdHlpbmRleCIsIm9hbmRhIiwic2tpbGxpbmciLCJ0cmFkZW5hdGlvbiIsImljZSJdfSx7Im4iOiJyYXRlc19tYyIsInQiOiJtYXAiLCJyIjpudWxsfSx7Im4iOiJyYXRlc19jdXJyZW50IiwidCI6Im1hcCIsInIiOm51bGx9LHsibiI6InJhdGVzX2ZxIiwidCI6Im1hcCIsInIiOm51bGx9LHsibiI6ImFzayIsInQiOiJwcmljZSIsInIiOm51bGx9LHsibiI6InN1YnNlc3Npb25zIiwidCI6ImludGVyZmFjZSIsInIiOm51bGx9LHsibiI6InJhdGVzX3RpbWVfc2VyaWVzIiwidCI6Im1hcCIsInIiOm51bGx9LHsibiI6InByaWNlc2NhbGUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoic2VjdG9yIiwidCI6InRleHQiLCJyIjpbIk1ham9yIiwiRXhvdGljIiwiTWlub3IiXX0seyJuIjoiZm9yZXhfbWlub3JfcHJpb3JpdHkiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiYWxsX3RpbWVfaGlnaCIsInQiOiJwcmljZSIsInIiOm51bGx9LHsibiI6InNvdXJjZS1sb2dvaWQiLCJ0IjoidGV4dCIsInIiOlsic291cmNlL09BTkRBIiwic291cmNlL1RISU5LTUFSS0VUUyIsInNvdXJjZS9WRUxPQ0lUWSIsInNvdXJjZS9GT1JFWENPTSIsInNvdXJjZS9SVVMiLCJzb3VyY2UvSUJLUiIsInNvdXJjZS9JQlJPS0VSIiwic291cmNlL0pGWCIsInNvdXJjZS9TQVhPIiwic291cmNlL1BISUxMSVBOT1ZBIiwic291cmNlL0ZQTUFSS0VUUyIsInNvdXJjZS9GVVNJT05NQVJLRVRTIiwic291cmNlL0JMQUNLQlVMTCIsInNvdXJjZS9QRVBQRVJTVE9ORSIsInNvdXJjZS9XSFNFTEZJTlZFU1QiLCJzb3VyY2UvU0tJTExJTkciLCJzb3VyY2UvU1BSRUFERVgiLCJzb3VyY2UvVFJBREVOQVRJT05TQiIsInNvdXJjZS9JRyIsInNvdXJjZS9JQ01BUktFVFMiLCJzb3VyY2UvVFJBREVOQVRJT04iLCJzb3VyY2UvQ0FQSVRBTENPTSIsInByb3ZpZGVyL2ljZSIsInNvdXJjZS9FQVNZTUFSS0VUUyIsInNvdXJjZS9GWENNIiwic291cmNlL1ZBTlRBR0UiLCJzb3VyY2UvQUNUSVZUUkFERVMiLCJzb3VyY2UvRUlHSFRDQVAiLCJzb3VyY2UvR0JFQlJPS0VSUyIsInNvdXJjZS9DSVRZSU5ERVgiXX0seyJuIjoiZnJhY3Rpb25hbCIsInQiOiJ0ZXh0IiwiciI6WyJmYWxzZSJdfSx7Im4iOiJjb3VudHJ5IiwidCI6InRleHQiLCJyIjpbIkV1cm9wZSIsIkFzaWEiLCJQYWNpZmljIiwiQWZyaWNhIiwiTWlkZGxlIEVhc3QiLCJBbWVyaWNhcyJdfSx7Im4iOiJydGMiLCJ0IjoicHJpY2UiLCJyIjpudWxsfSx7Im4iOiJiaWQiLCJ0IjoicHJpY2UiLCJyIjpudWxsfSx7Im4iOiJmb3JleF9leG90aWNfcHJpb3JpdHkiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiYWxsX3RpbWVfaGlnaF9kYXkiLCJ0IjoidGltZSIsInIiOm51bGx9LHsibiI6ImN1cnJlbnRfc2Vzc2lvbiIsInQiOiJ0ZXh0IiwiciI6WyJtYXJrZXQiLCJvdXRfb2Zfc2Vzc2lvbiJdfSx7Im4iOiJhbGxfdGltZV9sb3dfZGF5IiwidCI6InRpbWUiLCJyIjpudWxsfSx7Im4iOiJyYXRlc19lYXJuaW5nc19mcSIsInQiOiJtYXAiLCJyIjpudWxsfSx7Im4iOiJyYXRlc19kaXZpZGVuZF91cGNvbWluZyIsInQiOiJtYXAiLCJyIjpudWxsfSx7Im4iOiJyYXRlc19kaXZpZGVuZF9yZWNlbnQiLCJ0IjoibWFwIiwiciI6bnVsbH0seyJuIjoiZm9yZXhfcHJpb3JpdHkiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoicmF0ZXNfcHQiLCJ0IjoibWFwIiwiciI6bnVsbH0seyJuIjoicmF0ZXNfdHRtIiwidCI6Im1hcCIsInIiOm51bGx9LHsibiI6InR5cGUiLCJ0IjoidGV4dCIsInIiOlsiZm9yZXgiXX0seyJuIjoiYWN0aXZlX3N5bWJvbCIsInQiOiJib29sIiwiciI6bnVsbH0seyJuIjoibG93X2FmdGVyX2hpZ2hfYWxsX2NoYW5nZSIsInQiOiJwZXJjZW50IiwiciI6bnVsbH0seyJuIjoibG93X2FmdGVyX2hpZ2hfYWxsX2NoYW5nZV9hYnMiLCJ0IjoicHJpY2UiLCJyIjpudWxsfSx7Im4iOiJjcnlwdG9hc3NldC1pbmZvLmRlc2NyaXB0aW9uIiwidCI6InRleHQiLCJyIjpbXX0seyJuIjoiZXhwaXJhdGlvbiIsInQiOiJ0aW1lIiwiciI6bnVsbH0seyJuIjoiaXNfcHJpbWFyeSIsInQiOiJib29sIiwiciI6bnVsbH0seyJuIjoiY3VycmVuY3lfaWQiLCJ0IjoidGV4dCIsInIiOlsiWFRWQkVGIiwiWkFSIiwiQ05ZIiwiQU1EIiwiVVlVIiwiWFRWS1dGIiwiWFRWRklNIiwiTU9QIiwiR01EIiwiWFRWRVNQIiwiUlNEIiwiQk5EIiwiR0VMIiwiR0lQIiwiWFRWWkFDIiwiR1lEIiwiQVdHIiwiQldQIiwiQ0FEIiwiTVhWIiwiTFJEIiwiUFlHIiwiRVVSIiwiSFVGIiwiVEhCIiwiSU5SIiwiUEFCIiwiU1JEIiwiQ0hGIiwiUExOIiwiWFRWSVRMIiwiSFRHIiwiTEFLIiwiQ1ZFIiwiUEVOIiwiQVVEIiwiRVRCIiwiQklGIiwiWFRWQVRTIiwiSVNLIiwiTVVSIiwiUEtSIiwiVFJZIiwiS01GIiwiQkJEIiwiU09TIiwiT01SIiwiS0hSIiwiREpGIiwiVE9QIiwiV1NUIiwiU0NSIiwiWEFGIiwiRkpEIiwiQ1JDIiwiTVZSIiwiS1lEIiwiSVFEIiwiU0dEIiwiR0JQIiwiQ0xQIiwiQk1EIiwiRFpEIiwiSVJSIiwiU0FSIiwiSURSIiwiQ1VQIiwiQUxMIiwiTFlEIiwiWERSIiwiTVlSIiwiSlBZIiwiQ09QIiwiVFdEIiwiU0RHIiwiTU5UIiwiSUxTIiwiS0VTIiwiRktQIiwiWFBGIiwiVkVTIiwiS1JXIiwiQ0RGIiwiTUdBIiwiWFRWTkxHIiwiQlJMIiwiTFNMIiwiTkFEIiwiUEdLIiwiWFRWR0JYIiwiUldGIiwiUUFSIiwiTEJQIiwiSE5MIiwiWFRWQ05IIiwiUlVCIiwiVUdYIiwiVEpTIiwiTlpEIiwiU0JEIiwiTEtSIiwiVlVWIiwiU1lQIiwiU1ZDIiwiRVJOIiwiVVpTIiwiVVNEIiwiUk9OIiwiTVpOIiwiU1ROIiwiVUFIIiwiTkdOIiwiVE5EIiwiTURMIiwiWUVSIiwiREtLIiwiU1pMIiwiWk1XIiwiTVhOIiwiWFRWU0lUIiwiVFREIiwiQk9CIiwiUEhQIiwiTUtEIiwiWFRWUFRFIiwiS1BXIiwiQVpOIiwiQUZOIiwiVFpTIiwiSk1EIiwiTklPIiwiQVJTIiwiSEtEIiwiQkdOIiwiWFRWQ09VIiwiTVdLIiwiQUVEIiwiTUFEIiwiWENEIiwiTlBSIiwiTVJVIiwiQkhEIiwiTU1LIiwiSk9EIiwiVE1UIiwiQkFNIiwiQ0xGIiwiWFRWR1JEIiwiWFRWTFVGIiwiU0xMIiwiU0hQIiwiS1pUIiwiWFRWREVNIiwiRUdQIiwiR1RRIiwiSFJLIiwiWFRWSUxBIiwiWFRWRlJGIiwiRE9QIiwiQkRUIiwiVk5EIiwiR05GIiwiQU9BIiwiQlpEIiwiR0hTIiwiTk9LIiwiQ1pLIiwiS1dEIiwiQllOIiwiU0VLIiwiQlNEIiwiWE9GIl19LHsibiI6ImlzX3N5bWJvbF9wcmltYXJ5X2xpc3RpbmciLCJ0IjoiYm9vbCIsInIiOm51bGx9LHsibiI6ImlzX2JsYWNrbGlzdGVkIiwidCI6ImJvb2wiLCJyIjpudWxsfSx7Im4iOiJraW5kLWRlbGF5IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Imxhc3QtcHJpY2UtdXBkYXRlLXRpbWUiLCJ0IjoidGltZSIsInIiOm51bGx9LHsibiI6ImV4Y2hhbmdlIiwidCI6InRleHQiLCJyIjpbIk9BTkRBIiwiV0hTRUxGSU5WRVNUIiwiSUciLCJJQlJPS0VSIiwiRk9SRVhDT00iLCJHQkVCUk9LRVJTIiwiSUJLUiIsIkZYIiwiU1BSRUFERVgiLCJTQVhPIiwiVkVMT0NJVFkiLCJJQ01BUktFVFMiLCJBQ1RJVlRSQURFUyIsIlRISU5LTUFSS0VUUyIsIlBFUFBFUlNUT05FIiwiUEhJTExJUE5PVkEiLCJUUkFERU5BVElPTlNCIiwiRlhfSURDIiwiQkxBQ0tCVUxMIiwiSkZYIiwiQ0FQSVRBTENPTSIsIlJVUyIsIkNJVFlJTkRFWCIsIkZVU0lPTk1BUktFVFMiLCJTS0lMTElORyIsIlRSQURFTkFUSU9OIiwiRUFTWU1BUktFVFMiLCJWQU5UQUdFIiwiRlBNQVJLRVRTIiwiRUlHSFRDQVAiXX0seyJuIjoidHlwZXNwZWNzIiwidCI6InNldCIsInIiOlsiIiwic3ludGhldGljIiwiY2ZkIiwic3ByZWFkYmV0IiwibmRmIl19LHsibiI6ImJpZF9hc2tfc3ByZWFkX3BjdCIsInQiOiJwZXJjZW50IiwiciI6bnVsbH0seyJuIjoiYmFzZV9jdXJyZW5jeV9raW5kIiwidCI6InRleHQiLCJyIjpbImZpYXQiLCJmb3JleCIsIm1ldGFsIl19LHsibiI6ImRheXNfdG9fbWF0dXJpdHkiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGVyZi5BbGxfYWJzIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6ImluZGV4ZXMiLCJ0IjoiaW50ZXJmYWNlIiwiciI6bnVsbH0seyJuIjoibGFzdC1wcmljZS11cGRhdGUtdGltZS1pbnRyYWRheSIsInQiOiJ0aW1lIiwiciI6bnVsbH0seyJuIjoiY3J5cHRvYXNzZXQtaW5mby5pZCIsInQiOiJ0ZXh0IiwiciI6W119LHsibiI6ImNvdXBvbiIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJzdWJtYXJrZXQiLCJ0IjoidGV4dCIsInIiOlsiIl19LHsibiI6ImN1cnJlbmN5X2tpbmQiLCJ0IjoidGV4dCIsInIiOlsiZmlhdCIsImZvcmV4Il19LHsibiI6ImtpbmQiLCJ0IjoidGV4dCIsInIiOlsicnQiXX0seyJuIjoibWF0dXJpdHlfZGF0ZSIsInQiOiJ0aW1lLXl5eXltbWRkIiwiciI6bnVsbH0seyJuIjoic3VidHlwZSIsInQiOiJ0ZXh0IiwiciI6WyIiLCJzeW50aGV0aWMiLCJjZmQiLCJzcHJlYWRiZXQiLCJuZGYiXX0seyJuIjoiaXNfc2hhcmlhaF9jb21wbGlhbnQiLCJ0IjoiYm9vbCIsInIiOm51bGx9LHsibiI6Im1hcmtldCIsInQiOiJ0ZXh0IiwiciI6WyJmb3JleCJdfSx7Im4iOiJ1cGRhdGVfdGltZSIsInQiOiJ0aW1lIiwiciI6bnVsbH0seyJuIjoiY3VycmVuY3kiLCJ0IjoidGV4dCIsInIiOlsiU0dEIiwiTFlEIiwiU1JEIiwiQ05IIiwiVUFIIiwiUk9OIiwiU0NSIiwiUEFCIiwiUUFSIiwiTVpOIiwiRkpEIiwiTURMIiwiQk5EIiwiTFJEIiwiQ1pLIiwiSVJSIiwiVlVWIiwiR1lEIiwiSVRMIiwiQVpOIiwiR0JYIiwiWFBGIiwiWk1XIiwiQU9BIiwiWE9GIiwiTVVSIiwiSU5SIiwiSUxTIiwiVE9QIiwiRVNQIiwiVE5EIiwiQkJEIiwiS1dGIiwiU09TIiwiU0JEIiwiTEJQIiwiVUdYIiwiS1pUIiwiRktQIiwiQk9CIiwiT01SIiwiTVlSIiwiREtLIiwiU0hQIiwiQUVEIiwiTFNMIiwiQVRTIiwiR0JQIiwiUExOIiwiSURSIiwiVVpTIiwiVkVTIiwiS1JXIiwiREpGIiwiVFpTIiwiU1ZDIiwiS01GIiwiR0lQIiwiUEhQIiwiQkdOIiwiUFlHIiwiTlpEIiwiQUxMIiwiTVhOIiwiTkFEIiwiWUVSIiwiQ0xGIiwiQkVGIiwiSFVGIiwiQldQIiwiQ0FEIiwiRVVSIiwiVEhCIiwiWENEIiwiV1NUIiwiUFRFIiwiSk9EIiwiQVJTIiwiU0FSIiwiTk9LIiwiVVNEIiwiQVVEIiwiTlBSIiwiQkhEIiwiRFpEIiwiS1dEIiwiS1lEIiwiUEVOIiwiVFdEIiwiU1ROIiwiTEFLIiwiVVlVIiwiVk5EIiwiWERSIiwiQkRUIiwiRVJOIiwiQ09VIiwiR05GIiwiQ0hGIiwiVFREIiwiQ09QIiwiU0RHIiwiUEdLIiwiUldGIiwiWkFDIiwiQ0xQIiwiQlNEIiwiTUdBIiwiTVhWIiwiTkdOIiwiWkFSIiwiTUFEIiwiTU1LIiwiVEpTIiwiQ05ZIiwiQ0RGIiwiSFRHIiwiQ1JDIiwiQVdHIiwiVFJZIiwiS0VTIiwiU0xMIiwiTU5UIiwiTVZSIiwiU1lQIiwiQlpEIiwiSVNLIiwiSE5MIiwiQU1EIiwiREVNIiwiS1BXIiwiRlJGIiwiTU9QIiwiQkFNIiwiRE9QIiwiTklPIiwiU0lUIiwiQ1ZFIiwiR0VMIiwiUEtSIiwiWEFGIiwiR1JEIiwiSk1EIiwiSFJLIiwiRklNIiwiQUZOIiwiQlJMIiwiQ1VQIiwiS0hSIiwiQk1EIiwiTUtEIiwiTVdLIiwiU1pMIiwiRVRCIiwiU0VLIiwiQklGIiwiTFVGIiwiRUdQIiwiR1RRIiwiSUxBIiwiSlBZIiwiSEtEIiwiR0hTIiwiR01EIiwiSVFEIiwiTEtSIiwiUlNEIiwiTkxHIiwiQllOIiwiVE1UIiwiTVJVIiwiUlVCIl19LHsibiI6IlBlcmYuQWxsIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6ImNoYW5nZV9mcm9tX29wZW5fYWJzIiwidCI6InByaWNlIiwiciI6bnVsbH0seyJuIjoiaGlnaHwxNSIsInQiOiJwcmljZSIsInIiOm51bGx9LHsibiI6InByZV9jaGFuZ2V8MzAiLCJ0IjoicGVyY2VudCIsInIiOm51bGx9LHsibiI6ImdhcF9kb3dufDEyMCIsInQiOiJwZXJjZW50IiwiciI6bnVsbH0seyJuIjoiZ2FwX3VwX2Fic3w2MCIsInQiOiJwcmljZSIsInIiOm51bGx9LHsibiI6ImdhcF9kb3dufDFNIiwidCI6InBlcmNlbnQiLCJyIjpudWxsfSx7Im4iOiJwcmVfY2hhbmdlfDFNIiwidCI6InBlcmNlbnQiLCJyIjpudWxsfSx7Im4iOiJwcmVfY2hhbmdlX2Fic3w1IiwidCI6InByaWNlIiwiciI6bnVsbH0seyJuIjoidm9sdW1lX2NoYW5nZV9hYnN8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoidGltZXwzMCIsInQiOiJ0aW1lIiwiciI6bnVsbH0seyJuIjoidm9sdW1lX2NoYW5nZV9hYnN8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Im9wZW58MSIsInQiOiJwcmljZSIsInIiOm51bGx9LHsibiI6InVwZGF0ZV9tb2RlfDEyMCIsInQiOiJ0ZXh0IiwiciI6WyJzdHJlYW1pbmciXX0seyJuIjoiYmFyc19jb3VudHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJnYXB8NjAiLCJ0IjoicGVyY2VudCIsInIiOm51bGx9LHsibiI6InZvbHVtZV9jaGFuZ2V8MjQwIiwidCI6InBlcmNlbnQiLCJyIjpudWxsfSx7Im4iOiJjaGFuZ2VfZnJvbV9vcGVufDUiLCJ0IjoicGVyY2VudCIsInIiOm51bGx9LHsibiI6ImdhcF9kb3dufDUiLCJ0IjoicGVyY2VudCIsInIiOm51bGx9LHsibiI6Imxvd3wxIiwidCI6InByaWNlIiwiciI6bnVsbH0seyJuIjoidm9sdW1lX2NoYW5nZV9hYnN8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJnYXBfZG93bl9hYnN8MU0iLCJ0IjoicHJpY2UiLCJyIjpudWxsfSx7Im4iOiJnYXBfdXB8MjQwIiwidCI6InBlcmNlbnQiLCJyIjpudWxsfSx7Im4iOiJ2b2x1bWV8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6ImdhcF91cHw1IiwidCI6InBlcmNlbnQiLCJyIjpudWxsfSx7Im4iOiJjaGFuZ2V8NjAiLCJ0IjoicGVyY2VudCIsInIiOm51bGx9LHsibiI6Imxhc3RfYmFyX3VwZGF0ZV90aW1lfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6InZvbHVtZV9jaGFuZ2V8MTIwIiwidCI6InBlcmNlbnQiLCJyIjpudWxsfSx7Im4iOiJ2b2x1bWV8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6ImNoYW5nZV9mcm9tX29wZW58NjAiLCJ0IjoicGVyY2VudCIsInIiOm51bGx9LHsibiI6Im9wZW58MVciLCJ0IjoicHJpY2UiLCJyIjpudWxsfSx7Im4iOiJnYXBfdXBfYWJzfDFXIiwidCI6InByaWNlIiwiciI6bnVsbH0seyJuIjoiY2hhbmdlX2Fic3wyNDAiLCJ0IjoicHJpY2UiLCJyIjpudWxsfSx7Im4iOiJnYXBfdXBfYWJzfDMwIiwidCI6InByaWNlIiwiciI6bnVsbH0seyJuIjoidGltZXwxTSIsInQiOiJ0aW1lIiwiciI6bnVsbH0seyJuIjoidm9sdW1lfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6ImluZGljYXRvcnNfYmFyc19jb3VudHwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiY2xvc2V8MTIwIiwidCI6InByaWNlIiwiciI6bnVsbH0seyJuIjoiY2hhbmdlX2Fic3wxIiwidCI6InByaWNlIiwiciI6bnVsbH0seyJuIjoiZ2FwX2Rvd25fYWJzfDMwIiwidCI6InByaWNlIiwiciI6bnVsbH0seyJuIjoidm9sdW1lfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6ImNsb3NlfDFXIiwidCI6InByaWNlIiwiciI6bnVsbH0seyJuIjoiY2hhbmdlX2Zyb21fb3Blbl9hYnN8MVciLCJ0IjoicHJpY2UiLCJyIjpudWxsfSx7Im4iOiJoaWdofDI0MCIsInQiOiJwcmljZSIsInIiOm51bGx9LHsibiI6InByZV9jaGFuZ2VfYWJzfDI0MCIsInQiOiJwcmljZSIsInIiOm51bGx9LHsibiI6ImhpZ2h8NSIsInQiOiJwcmljZSIsInIiOm51bGx9LHsibiI6InZvbHVtZV9jaGFuZ2UiLCJ0IjoicGVyY2VudCIsInIiOm51bGx9LHsibiI6InZvbHVtZV9jaGFuZ2VfYWJzIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6InByZV9jaGFuZ2VfYWJzfDFNIiwidCI6InByaWNlIiwiciI6bnVsbH0seyJuIjoiY2xvc2V8MjQwIiwidCI6InByaWNlIiwiciI6bnVsbH0seyJuIjoiY2hhbmdlX2FicyIsInQiOiJwcmljZSIsInIiOm51bGx9LHsibiI6ImdhcHwxNSIsInQiOiJwZXJjZW50IiwiciI6bnVsbH0seyJuIjoiaGlnaHwxIiwidCI6InByaWNlIiwiciI6bnVsbH0seyJuIjoiZ2FwfDMwIiwidCI6InBlcmNlbnQiLCJyIjpudWxsfSx7Im4iOiJpbmRpY2F0b3JzX2JhcnNfY291bnR8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiZ2FwX3VwX2Fic3w1IiwidCI6InByaWNlIiwiciI6bnVsbH0seyJuIjoiZ2FwX2Rvd258MSIsInQiOiJwZXJjZW50IiwiciI6bnVsbH0seyJuIjoiY2hhbmdlX2Zyb21fb3BlbnwzMCIsInQiOiJwZXJjZW50IiwiciI6bnVsbH0seyJuIjoicG9zdG1hcmtldF9jaGFuZ2UiLCJ0IjoicGVyY2VudCIsInIiOm51bGx9LHsibiI6InByZV9jaGFuZ2VfYWJzfDYwIiwidCI6InByaWNlIiwiciI6bnVsbH0seyJuIjoiaW5kaWNhdG9yc19iYXJzX2NvdW50fDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6ImdhcF9kb3duX2Fic3wyNDAiLCJ0IjoicHJpY2UiLCJyIjpudWxsfSx7Im4iOiJnYXBfZG93bnwzMCIsInQiOiJwZXJjZW50IiwiciI6bnVsbH0seyJuIjoiYmFyc19jb3VudHwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJwcmVtYXJrZXRfY2hhbmdlX2Zyb21fb3BlbiIsInQiOiJwZXJjZW50IiwiciI6bnVsbH0seyJuIjoidm9sdW1lX2NoYW5nZV9hYnN8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiZ2FwX2Rvd25fYWJzfDEiLCJ0IjoicHJpY2UiLCJyIjpudWxsfSx7Im4iOiJsb3d8NjAiLCJ0IjoicHJpY2UiLCJyIjpudWxsfSx7Im4iOiJnYXBfdXB8MTUiLCJ0IjoicGVyY2VudCIsInIiOm51bGx9LHsibiI6ImJhcnNfY291bnR8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiY2hhbmdlX2Zyb21fb3BlbnwxMjAiLCJ0IjoicGVyY2VudCIsInIiOm51bGx9LHsibiI6InBvc3RfY2hhbmdlfDFNIiwidCI6InBlcmNlbnQiLCJyIjpudWxsfSx7Im4iOiJvcGVufDFNIiwidCI6InByaWNlIiwiciI6bnVsbH0seyJuIjoib3BlbnwyNDAiLCJ0IjoicHJpY2UiLCJyIjpudWxsfSx7Im4iOiJwcmVfY2hhbmdlfDI0MCIsInQiOiJwZXJjZW50IiwiciI6bnVsbH0seyJuIjoiZ2FwX2Rvd25fYWJzIiwidCI6InByaWNlIiwiciI6bnVsbH0seyJuIjoiZ2FwfDFXIiwidCI6InBlcmNlbnQiLCJyIjpudWxsfSx7Im4iOiJoaWdofDFNIiwidCI6InByaWNlIiwiciI6bnVsbH0seyJuIjoidm9sdW1lX2NoYW5nZXw1IiwidCI6InBlcmNlbnQiLCJyIjpudWxsfSx7Im4iOiJ0aW1lfDEyMCIsInQiOiJ0aW1lIiwiciI6bnVsbH0seyJuIjoibGFzdF9iYXJfdXBkYXRlX3RpbWUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoidm9sdW1lX2NoYW5nZV9hYnN8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJvcGVuIiwidCI6InByaWNlIiwiciI6bnVsbH0seyJuIjoiZ2FwX2Rvd258NjAiLCJ0IjoicGVyY2VudCIsInIiOm51bGx9LHsibiI6Imxvd3wxNSIsInQiOiJwcmljZSIsInIiOm51bGx9LHsibiI6ImNoYW5nZV9hYnN8MU0iLCJ0IjoicHJpY2UiLCJyIjpudWxsfSx7Im4iOiJjaGFuZ2VfZnJvbV9vcGVuX2Fic3wyNDAiLCJ0IjoicHJpY2UiLCJyIjpudWxsfSx7Im4iOiJjaGFuZ2VfYWJzfDFXIiwidCI6InByaWNlIiwiciI6bnVsbH0seyJuIjoiY2xvc2V8MzAiLCJ0IjoicHJpY2UiLCJyIjpudWxsfSx7Im4iOiJ0aW1lfDE1IiwidCI6InRpbWUiLCJyIjpudWxsfSx7Im4iOiJwb3N0X2NoYW5nZXwyNDAiLCJ0IjoicGVyY2VudCIsInIiOm51bGx9LHsibiI6ImdhcHw1IiwidCI6InBlcmNlbnQiLCJyIjpudWxsfSx7Im4iOiJnYXBfZG93biIsInQiOiJwZXJjZW50IiwiciI6bnVsbH0seyJuIjoicHJlX2NoYW5nZXw2MCIsInQiOiJwZXJjZW50IiwiciI6bnVsbH0seyJuIjoiY2xvc2V8MTUiLCJ0IjoicHJpY2UiLCJyIjpudWxsfSx7Im4iOiJjaGFuZ2VfZnJvbV9vcGVuX2Fic3w1IiwidCI6InByaWNlIiwiciI6bnVsbH0seyJuIjoiaW5kaWNhdG9yc19iYXJzX2NvdW50fDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoib3BlbnwxMjAiLCJ0IjoicHJpY2UiLCJyIjpudWxsfSx7Im4iOiJ1cGRhdGVfbW9kZXw2MCIsInQiOiJ0ZXh0IiwiciI6WyJzdHJlYW1pbmciXX0seyJuIjoidXBkYXRlX21vZGV8MTUiLCJ0IjoidGV4dCIsInIiOlsic3RyZWFtaW5nIl19LHsibiI6InByZV9jaGFuZ2V8NSIsInQiOiJwZXJjZW50IiwiciI6bnVsbH0seyJuIjoiY2hhbmdlX2Zyb21fb3BlbiIsInQiOiJwZXJjZW50IiwiciI6bnVsbH0seyJuIjoib3Blbnw2MCIsInQiOiJwcmljZSIsInIiOm51bGx9LHsibiI6ImNoYW5nZV9mcm9tX29wZW58MTUiLCJ0IjoicGVyY2VudCIsInIiOm51bGx9LHsibiI6Imxvd3wxVyIsInQiOiJwcmljZSIsInIiOm51bGx9LHsibiI6InByZV9jaGFuZ2V8MSIsInQiOiJwZXJjZW50IiwiciI6bnVsbH0seyJuIjoicHJlX2NoYW5nZSIsInQiOiJwZXJjZW50IiwiciI6bnVsbH0seyJuIjoibGFzdF9iYXJfdXBkYXRlX3RpbWV8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6ImNoYW5nZXwyNDAiLCJ0IjoicGVyY2VudCIsInIiOm51bGx9LHsibiI6ImdhcF91cHwzMCIsInQiOiJwZXJjZW50IiwiciI6bnVsbH0seyJuIjoiY2hhbmdlX2Zyb21fb3Blbl9hYnN8MzAiLCJ0IjoicHJpY2UiLCJyIjpudWxsfSx7Im4iOiJjaGFuZ2VfYWJzfDEyMCIsInQiOiJwcmljZSIsInIiOm51bGx9LHsibiI6ImdhcF9kb3dufDI0MCIsInQiOiJwZXJjZW50IiwiciI6bnVsbH0seyJuIjoiY2xvc2V8NSIsInQiOiJwcmljZSIsInIiOm51bGx9LHsibiI6ImdhcHwxMjAiLCJ0IjoicGVyY2VudCIsInIiOm51bGx9LHsibiI6ImNoYW5nZV9mcm9tX29wZW5fYWJzfDYwIiwidCI6InByaWNlIiwiciI6bnVsbH0seyJuIjoiZ2FwX3VwfDYwIiwidCI6InBlcmNlbnQiLCJyIjpudWxsfSx7Im4iOiJ0aW1lfDI0MCIsInQiOiJ0aW1lIiwiciI6bnVsbH0seyJuIjoidm9sdW1lX2NoYW5nZV9hYnN8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiY2hhbmdlX2Fic3wxNSIsInQiOiJwcmljZSIsInIiOm51bGx9LHsibiI6InBvc3RfY2hhbmdlfDFXIiwidCI6InBlcmNlbnQiLCJyIjpudWxsfSx7Im4iOiJ0aW1lfDFXIiwidCI6InRpbWUiLCJyIjpudWxsfSx7Im4iOiJwb3N0X2NoYW5nZXwxIiwidCI6InBlcmNlbnQiLCJyIjpudWxsfSx7Im4iOiJsYXN0X2Jhcl91cGRhdGVfdGltZXwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Imxvd3wzMCIsInQiOiJwcmljZSIsInIiOm51bGx9LHsibiI6ImJhcnNfY291bnQiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiY2xvc2V8NjAiLCJ0IjoicHJpY2UiLCJyIjpudWxsfSx7Im4iOiJiYXJzX2NvdW50fDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJjaGFuZ2VfZnJvbV9vcGVufDI0MCIsInQiOiJwZXJjZW50IiwiciI6bnVsbH0seyJuIjoiY2hhbmdlfDEiLCJ0IjoicGVyY2VudCIsInIiOm51bGx9LHsibiI6Im9wZW58MzAiLCJ0IjoicHJpY2UiLCJyIjpudWxsfSx7Im4iOiJsYXN0X2Jhcl91cGRhdGVfdGltZXw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJ2b2x1bWVfY2hhbmdlfDFNIiwidCI6InBlcmNlbnQiLCJyIjpudWxsfSx7Im4iOiJnYXBfZG93bl9hYnN8NSIsInQiOiJwcmljZSIsInIiOm51bGx9LHsibiI6ImdhcHwxIiwidCI6InBlcmNlbnQiLCJyIjpudWxsfSx7Im4iOiJsYXN0X2Jhcl91cGRhdGVfdGltZXwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJsb3d8MTIwIiwidCI6InByaWNlIiwiciI6bnVsbH0seyJuIjoiaW5kaWNhdG9yc19iYXJzX2NvdW50fDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6InRpbWV8NjAiLCJ0IjoidGltZSIsInIiOm51bGx9LHsibiI6ImdhcF91cF9hYnN8MTUiLCJ0IjoicHJpY2UiLCJyIjpudWxsfSx7Im4iOiJjaGFuZ2V8NSIsInQiOiJwZXJjZW50IiwiciI6bnVsbH0seyJuIjoidm9sdW1lX2NoYW5nZV9hYnN8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiaGlnaHwxVyIsInQiOiJwcmljZSIsInIiOm51bGx9LHsibiI6ImNoYW5nZXwxVyIsInQiOiJwZXJjZW50IiwiciI6bnVsbH0seyJuIjoiY2xvc2V8MU0iLCJ0IjoicHJpY2UiLCJyIjpudWxsfSx7Im4iOiJjaGFuZ2VfYWJzfDUiLCJ0IjoicHJpY2UiLCJyIjpudWxsfSx7Im4iOiJ0aW1lIiwidCI6InRpbWUiLCJyIjpudWxsfSx7Im4iOiJjaGFuZ2V8MTUiLCJ0IjoicGVyY2VudCIsInIiOm51bGx9LHsibiI6ImdhcF91cHwxIiwidCI6InBlcmNlbnQiLCJyIjpudWxsfSx7Im4iOiJoaWdofDMwIiwidCI6InByaWNlIiwiciI6bnVsbH0seyJuIjoibGFzdF9iYXJfdXBkYXRlX3RpbWV8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6ImdhcF9kb3duX2Fic3wxMjAiLCJ0IjoicHJpY2UiLCJyIjpudWxsfSx7Im4iOiJnYXBfdXB8MTIwIiwidCI6InBlcmNlbnQiLCJyIjpudWxsfSx7Im4iOiJjbG9zZSIsInQiOiJwcmljZSIsInIiOm51bGx9LHsibiI6ImdhcF9kb3duX2Fic3w2MCIsInQiOiJwcmljZSIsInIiOm51bGx9LHsibiI6Imxvd3wxTSIsInQiOiJwcmljZSIsInIiOm51bGx9LHsibiI6ImNoYW5nZXwxTSIsInQiOiJwZXJjZW50IiwiciI6bnVsbH0seyJuIjoidXBkYXRlX21vZGV8NSIsInQiOiJ0ZXh0IiwiciI6WyJzdHJlYW1pbmciXX0seyJuIjoicHJlX2NoYW5nZV9hYnN8MSIsInQiOiJwcmljZSIsInIiOm51bGx9LHsibiI6InBvc3RtYXJrZXRfY2hhbmdlX2FicyIsInQiOiJwcmljZSIsInIiOm51bGx9LHsibiI6InZvbHVtZV9jaGFuZ2V8NjAiLCJ0IjoicGVyY2VudCIsInIiOm51bGx9LHsibiI6ImluZGljYXRvcnNfYmFyc19jb3VudHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6ImJhcnNfY291bnR8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6ImdhcCIsInQiOiJwZXJjZW50IiwiciI6bnVsbH0seyJuIjoiaW5kaWNhdG9yc19iYXJzX2NvdW50IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6ImNoYW5nZV9mcm9tX29wZW58MVciLCJ0IjoicGVyY2VudCIsInIiOm51bGx9LHsibiI6ImdhcF91cF9hYnMiLCJ0IjoicHJpY2UiLCJyIjpudWxsfSx7Im4iOiJwb3N0X2NoYW5nZXwxNSIsInQiOiJwZXJjZW50IiwiciI6bnVsbH0seyJuIjoiZ2FwX3VwfDFNIiwidCI6InBlcmNlbnQiLCJyIjpudWxsfSx7Im4iOiJ2b2x1bWV8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJ1cGRhdGVfbW9kZXwzMCIsInQiOiJ0ZXh0IiwiciI6WyJzdHJlYW1pbmciXX0seyJuIjoiY2hhbmdlX2Zyb21fb3Blbl9hYnN8MTIwIiwidCI6InByaWNlIiwiciI6bnVsbH0seyJuIjoicG9zdF9jaGFuZ2UiLCJ0IjoicGVyY2VudCIsInIiOm51bGx9LHsibiI6Imxhc3RfYmFyX3VwZGF0ZV90aW1lfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6ImdhcF9kb3dufDE1IiwidCI6InBlcmNlbnQiLCJyIjpudWxsfSx7Im4iOiJnYXBfZG93bnwxVyIsInQiOiJwZXJjZW50IiwiciI6bnVsbH0seyJuIjoicHJlX2NoYW5nZXwxVyIsInQiOiJwZXJjZW50IiwiciI6bnVsbH0seyJuIjoiZ2FwX3VwX2Fic3wxIiwidCI6InByaWNlIiwiciI6bnVsbH0seyJuIjoib3BlbnwxNSIsInQiOiJwcmljZSIsInIiOm51bGx9LHsibiI6ImNoYW5nZXwxMjAiLCJ0IjoicGVyY2VudCIsInIiOm51bGx9LHsibiI6InByZW1hcmtldF9jaGFuZ2VfYWJzIiwidCI6InByaWNlIiwiciI6bnVsbH0seyJuIjoibGFzdF9iYXJfdXBkYXRlX3RpbWV8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJjbG9zZXwxIiwidCI6InByaWNlIiwiciI6bnVsbH0seyJuIjoicHJlX2NoYW5nZV9hYnN8MzAiLCJ0IjoicHJpY2UiLCJyIjpudWxsfSx7Im4iOiJ2b2x1bWVfY2hhbmdlX2Fic3wxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoibG93IiwidCI6InByaWNlIiwiciI6bnVsbH0seyJuIjoidm9sdW1lX2NoYW5nZXwxNSIsInQiOiJwZXJjZW50IiwiciI6bnVsbH0seyJuIjoiYmFyc19jb3VudHwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJnYXBfdXBfYWJzfDFNIiwidCI6InByaWNlIiwiciI6bnVsbH0seyJuIjoiY2hhbmdlX2Zyb21fb3BlbnwxIiwidCI6InBlcmNlbnQiLCJyIjpudWxsfSx7Im4iOiJnYXBfdXBfYWJzfDEyMCIsInQiOiJwcmljZSIsInIiOm51bGx9LHsibiI6Imxhc3RfYmFyX3VwZGF0ZV90aW1lfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6ImhpZ2h8MTIwIiwidCI6InByaWNlIiwiciI6bnVsbH0seyJuIjoidXBkYXRlX21vZGUiLCJ0IjoidGV4dCIsInIiOlsic3RyZWFtaW5nIl19LHsibiI6ImluZGljYXRvcnNfYmFyc19jb3VudHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJ2b2x1bWVfY2hhbmdlfDFXIiwidCI6InBlcmNlbnQiLCJyIjpudWxsfSx7Im4iOiJjaGFuZ2VfZnJvbV9vcGVuX2Fic3wxTSIsInQiOiJwcmljZSIsInIiOm51bGx9LHsibiI6InByZV9jaGFuZ2V8MTUiLCJ0IjoicGVyY2VudCIsInIiOm51bGx9LHsibiI6ImdhcF9kb3duX2Fic3wxVyIsInQiOiJwcmljZSIsInIiOm51bGx9LHsibiI6InVwZGF0ZV9tb2RlfDI0MCIsInQiOiJ0ZXh0IiwiciI6WyJzdHJlYW1pbmciXX0seyJuIjoibG93fDI0MCIsInQiOiJwcmljZSIsInIiOm51bGx9LHsibiI6InByZV9jaGFuZ2VfYWJzfDEyMCIsInQiOiJwcmljZSIsInIiOm51bGx9LHsibiI6ImNoYW5nZSIsInQiOiJwZXJjZW50IiwiciI6bnVsbH0seyJuIjoidm9sdW1lfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6ImdhcHwyNDAiLCJ0IjoicGVyY2VudCIsInIiOm51bGx9LHsibiI6Imxvd3w1IiwidCI6InByaWNlIiwiciI6bnVsbH0seyJuIjoidm9sdW1lX2NoYW5nZXwxIiwidCI6InBlcmNlbnQiLCJyIjpudWxsfSx7Im4iOiJwcmVfY2hhbmdlX2FicyIsInQiOiJwcmljZSIsInIiOm51bGx9LHsibiI6InBvc3RfY2hhbmdlfDYwIiwidCI6InBlcmNlbnQiLCJyIjpudWxsfSx7Im4iOiJjaGFuZ2VfYWJzfDMwIiwidCI6InByaWNlIiwiciI6bnVsbH0seyJuIjoicHJlX2NoYW5nZXwxMjAiLCJ0IjoicGVyY2VudCIsInIiOm51bGx9LHsibiI6ImhpZ2giLCJ0IjoicHJpY2UiLCJyIjpudWxsfSx7Im4iOiJiYXJzX2NvdW50fDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6InZvbHVtZXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJ1cGRhdGVfbW9kZXwxTSIsInQiOiJ0ZXh0IiwiciI6WyJzdHJlYW1pbmciXX0seyJuIjoidm9sdW1lfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoidGltZXwxIiwidCI6InRpbWUiLCJyIjpudWxsfSx7Im4iOiJiYXJzX2NvdW50fDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiY2hhbmdlX2Fic3w2MCIsInQiOiJwcmljZSIsInIiOm51bGx9LHsibiI6InVwZGF0ZV9tb2RlfDFXIiwidCI6InRleHQiLCJyIjpbInN0cmVhbWluZyJdfSx7Im4iOiJnYXBfdXBfYWJzfDI0MCIsInQiOiJwcmljZSIsInIiOm51bGx9LHsibiI6ImJhcnNfY291bnR8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJwcmVtYXJrZXRfY2hhbmdlIiwidCI6InBlcmNlbnQiLCJyIjpudWxsfSx7Im4iOiJnYXBfZG93bl9hYnN8MTUiLCJ0IjoicHJpY2UiLCJyIjpudWxsfSx7Im4iOiJjaGFuZ2VfZnJvbV9vcGVuX2Fic3wxNSIsInQiOiJwcmljZSIsInIiOm51bGx9LHsibiI6InZvbHVtZXwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJnYXB8MU0iLCJ0IjoicGVyY2VudCIsInIiOm51bGx9LHsibiI6InVwZGF0ZV9tb2RlfDEiLCJ0IjoidGV4dCIsInIiOlsic3RyZWFtaW5nIl19LHsibiI6InBvc3RfY2hhbmdlfDEyMCIsInQiOiJwZXJjZW50IiwiciI6bnVsbH0seyJuIjoicHJlbWFya2V0X2NoYW5nZV9mcm9tX29wZW5fYWJzIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6ImNoYW5nZV9mcm9tX29wZW58MU0iLCJ0IjoicGVyY2VudCIsInIiOm51bGx9LHsibiI6ImdhcF91cHwxVyIsInQiOiJwZXJjZW50IiwiciI6bnVsbH0seyJuIjoiaW5kaWNhdG9yc19iYXJzX2NvdW50fDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJ0aW1lfDUiLCJ0IjoidGltZSIsInIiOm51bGx9LHsibiI6ImNoYW5nZXwzMCIsInQiOiJwZXJjZW50IiwiciI6bnVsbH0seyJuIjoicG9zdF9jaGFuZ2V8MzAiLCJ0IjoicGVyY2VudCIsInIiOm51bGx9LHsibiI6InZvbHVtZV9jaGFuZ2V8MzAiLCJ0IjoicGVyY2VudCIsInIiOm51bGx9LHsibiI6ImhpZ2h8NjAiLCJ0IjoicHJpY2UiLCJyIjpudWxsfSx7Im4iOiJwcmVfY2hhbmdlX2Fic3wxNSIsInQiOiJwcmljZSIsInIiOm51bGx9LHsibiI6InBvc3RfY2hhbmdlfDUiLCJ0IjoicGVyY2VudCIsInIiOm51bGx9LHsibiI6ImNoYW5nZV9mcm9tX29wZW5fYWJzfDEiLCJ0IjoicHJpY2UiLCJyIjpudWxsfSx7Im4iOiJpbmRpY2F0b3JzX2JhcnNfY291bnR8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoicHJlbWFya2V0X2dhcCIsInQiOiJwZXJjZW50IiwiciI6bnVsbH0seyJuIjoidm9sdW1lX2NoYW5nZV9hYnN8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoicHJlX2NoYW5nZV9hYnN8MVciLCJ0IjoicHJpY2UiLCJyIjpudWxsfSx7Im4iOiJvcGVufDUiLCJ0IjoicHJpY2UiLCJyIjpudWxsfSx7Im4iOiJ2b2x1bWUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiZ2FwX3VwIiwidCI6InBlcmNlbnQiLCJyIjpudWxsfSx7Im4iOiJlbnRlcnByaXNlX3ZhbHVlX2ViaXRkYV9md2QiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiZW50ZXJwcmlzZV92YWx1ZV9lYml0X2Z3ZCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJlbnRlcnByaXNlX3ZhbHVlX3NhbGVzX2Z3ZCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJwcmljZV9lYXJuaW5nc19md2QiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoicHJpY2Vfc2FsZXNfZndkIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6InByaWNlX2Jvb2tfZndkIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRGVtYXJrLlIxfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkJCLnVwcGVyfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BOXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgtRElbMV18NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoicmVsYXRpdmVfdm9sdW1lXzEwZF9jYWxjfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRG9qaXwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5GaWJvbmFjY2kuUzF8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ik1BQ0QuaGlzdCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNsYXNzaWMuUzF8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMTJ8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BNDB8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlNob290aW5nU3RhcnwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQVRSfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5LXzVfM18zWzFdfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkludmVydGVkSGFtbWVyfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTEzfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Nb3JuaW5nRG9qaVN0YXIuQnVsbGlzaCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE5fDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkZpYm9uYWNjaS5NaWRkbGUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjLlZXTUF8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJJY2hpbW9rdS5MZWFkMnw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUExM3w2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE2fDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkZhbGxpbmdUaHJlZU1ldGhvZHMuQmVhcmlzaHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLldvb2RpZS5SMXw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNhbWFyaWxsYS5NaWRkbGV8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESV81MHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTIxfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiSWNoaW1va3UuQkxpbmVfMjBfNjBfMTIwXzMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTMwMHwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYXzIwfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjLlVPfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BOHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IktsdENobmwuYmFzaXN8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMnwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6ImF2ZXJhZ2Vfdm9sdW1lXzMwZF9jYWxjfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRfNV8zXzNbMV18MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMTJ8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJNQUNELmhpc3R8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uV29vZGllLlMyfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6InJlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsY3wxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEyNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUEyMDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMTJ8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2xhc3NpYy5SMSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElfMjBbMV18MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURSfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLktfMTRfMV8zWzFdfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkljaGltb2t1LkNMaW5lXzIwXzYwXzEyMF8zMHwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNsYXNzaWMuUzJ8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkZpYm9uYWNjaS5SM3wxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BOXw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJJY2hpbW9rdS5CTGluZXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEzNHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kyMXwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUExMDB8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiTUFDRC5zaWduYWx8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlNob290aW5nU3RhcnwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEyNXw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUExNXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWNvbW1lbmQuT3RoZXJ8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6ImF2ZXJhZ2Vfdm9sdW1lXzMwZF9jYWxjfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYK0RJfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRGVtYXJrLlMxfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWC1ESV81MHwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5Xb29kaWUuTWlkZGxlfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiTW9uZXlGbG93fDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUExNHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkJCLmJhc2lzfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiSGlnaC4zTS5EYXRlIiwidCI6InRpbWUiLCJyIjpudWxsfSx7Im4iOiJFTUE2MHwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DYW1hcmlsbGEuUzJ8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjLldSfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTI1fDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQkIudXBwZXJ8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkRvaml8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5LXzVfM18zfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5IYXJhbWlDcm9zcy5CZWFyaXNofDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTN8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlBpZXJjaW5nLkJ1bGxpc2h8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiSWNoaW1va3UuTGVhZDFfMjBfNjBfMTIwXzMwfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ikxvdy4zTS5EYXRlIiwidCI6InRpbWUiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5LXzVfM18zWzFdfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFhfMjB8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJMlsxXXwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDQ0kyMHwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BNzV8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLktfNV8zXzMiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS184XzNfM1sxXXwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5UcmlTdGFyLkJ1bGxpc2h8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuSGFyYW1pQ3Jvc3MuQnVsbGlzaHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuM1doaXRlU29sZGllcnN8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMzAwfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTQwfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkFiYW5kb25lZEJhYnkuQnVsbGlzaHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJNb21fMTR8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMnw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuSGFyYW1pQ3Jvc3MuQmVhcmlzaHwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5Xb29kaWUuUzN8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5LXzVfM18zWzFdfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTg5fDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Fbmd1bGZpbmcuQnVsbGlzaCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJ0aW1lX2J1c2luZXNzX2RheSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDQ0kyMHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE1fDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTIwMHwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgtRElfMTAwWzFdfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiTG93LkFsbCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kzMHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTl8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kxMFsxXSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuT25OZWNrLkJlYXJpc2h8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5Xb29kaWUuTWlkZGxlfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRGVtYXJrLlIxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Nb3JuaW5nU3Rhcnw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IktsdENobmwubG93ZXJ8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BM3wxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTI2fDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ik1BQ0Quc2lnbmFsfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0k5IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTIxWzFdfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkxvbmdTaGFkb3cuVXBwZXJ8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6ImF2ZXJhZ2Vfdm9sdW1lXzYwZF9jYWxjfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2FtYXJpbGxhLlIzfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkhhcmFtaUNyb3NzLkJlYXJpc2h8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMjAwfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kyMHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQZXJmLllURC5NYXJrZXRDYXAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiVldNQXwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiZnVuZF9mbG93cy4zTSIsInQiOiJmdW5kYW1lbnRhbF9wcmljZSIsInIiOm51bGx9LHsibiI6IkFEWCtESV8yMFsxXXwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJMzBbMV0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiTUFDRC5oaXN0fDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWHwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLldvb2RpZS5SMXwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJCQi51cHBlcnwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJVT3wxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRW5ndWxmaW5nLkJ1bGxpc2h8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRmlib25hY2NpLk1pZGRsZXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJNb21fMTRbMV0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESV8xMDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlNwaW5uaW5nVG9wLldoaXRlfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE1fDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYK0RJXzl8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESXw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkljaGltb2t1LkxlYWQyfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Fbmd1bGZpbmcuQmVhcmlzaHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTV8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLk1hcnVib3p1LkJsYWNrfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTdbMV18MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5UcmlTdGFyLkJ1bGxpc2h8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYXzl8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRmlib25hY2NpLlIzfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BM3wzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuM0JsYWNrQ3Jvd3N8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BN3w2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJCQi5sb3dlcnwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS182XzNfM3w2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuS2lja2luZy5CdWxsaXNofDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTE0NCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE4OXw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLktfMTRfMV8zfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJLbHRDaG5sLnVwcGVyfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBlcmYuM00iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkZhbGxpbmdXaW5kb3cuQmVhcmlzaHwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5Xb29kaWUuUzIiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJMnwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guRF81XzNfM1sxXXwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWHwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQU9bMl18MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLlJTSS5EfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTUwfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkRvbmNoQ2gyMC5Mb3dlcnwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlRyaVN0YXIuQnVsbGlzaCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kzfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRmlib25hY2NpLlIxfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5SU0kuS3wxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kzMHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJhdmVyYWdlX3ZvbHVtZV8xMGRfY2FsY3wyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BNyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUEyMHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJuYXZfcGVyZi4zWSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFhfNTB8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMTIwfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5IYXJhbWkuQnVsbGlzaHwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYK0RJXzl8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTIxfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRfMTRfMV8zWzFdfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5LWzFdfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBcm9vbi5Eb3dufDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkFiYW5kb25lZEJhYnkuQmVhcmlzaCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEzMDB8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkludmVydGVkSGFtbWVyIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTYwfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BM3w2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0k5fDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBlcmYuNVkuTWFya2V0Q2FwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNoYWlraW5Nb25leUZsb3d8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGVyZi4xVy5NYXJrZXRDYXAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQkIudXBwZXJ8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURSUHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0k3WzFdfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Eb2ppLkRyYWdvbmZseXwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJNb21fMTR8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiSGlnaC42TSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRGFya0Nsb3VkQ292ZXIuQmVhcmlzaHwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuTWFydWJvenUuQmxhY2t8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5EYXJrQ2xvdWRDb3Zlci5CZWFyaXNoIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLktfNV8zXzNbMV18MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMjAwfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBT1sxXXwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUEzfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRG9qaVN0YXIuQmVhcmlzaHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDQ0kyMFsxXXwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kzMHwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJMTBbMV18MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoicHJpY2VfNTJfd2Vla19oaWdoX2RhdGUiLCJ0IjoidGltZSIsInIiOm51bGx9LHsibiI6IkFEWF81MHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE5fDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS181XzNfM3wyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS181XzNfM3wxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRW5ndWxmaW5nLkJ1bGxpc2h8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS3wxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kxMFsxXXwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5GaWJvbmFjY2kuUzF8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DbGFzc2ljLlMyfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLktbMV18NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUExNTB8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMTR8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWC1ESV81MHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTI2fDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uV29vZGllLlIyfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuU3Bpbm5pbmdUb3AuV2hpdGV8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNhbWFyaWxsYS5SMnw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRfNV8zXzN8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5EZW1hcmsuUjF8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjLkh1bGxNQTkiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DbGFzc2ljLlIzfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJST0N8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guRF8xNF8xXzN8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTI1fDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJNb21fMTR8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEzMDB8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiTG93LkFsbC5DYWxjIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJlYy5TdG9jaC5SU0l8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BNDB8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2hhaWtpbk1vbmV5Rmxvd3w2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDQ0kyMHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWMuVU98MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkVuZ3VsZmluZy5CdWxsaXNofDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJlY29tbWVuZC5BbGx8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0k3IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5IYW1tZXJ8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURSIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2FtYXJpbGxhLlIxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTIxfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWC1ESV8xMDB8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgtREl8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IktsdENobmwuYmFzaXMiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMjAwfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTE0NHwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guRF84XzNfM3wxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBT1sxXXwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkVuZ3VsZmluZy5CZWFyaXNofDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJCQlBvd2VyIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWC1ESV8yMFsxXXwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMzR8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJN3wxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWMuV1J8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYXzl8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWC1ESVsxXXwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJJY2hpbW9rdS5DTGluZV8yMF82MF8xMjBfMzB8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTIwMHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTU1fDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTU1fDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJNb20iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjLlZXTUF8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWF81MHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTE0fDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ik1vbmV5Rmxvd3wzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5EXzVfM18zfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJNb21fMTR8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSXwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kyfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5VcHNpZGVUYXN1a2lHYXAuQnVsbGlzaCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQZXJmLlkiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJMjFbMV18NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNhbWFyaWxsYS5TM3wxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ikh1bGxNQTIwMHwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE1fDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLktfNV8zXzN8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BOHwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlR3ZWV6ZXJUb3AuQmVhcmlzaCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuUmlzaW5nV2luZG93LkJ1bGxpc2h8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLk9uTmVjay5CZWFyaXNofDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkljaGltb2t1LkxlYWQxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ikh1bGxNQTIwMHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUExNDR8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiTW9tWzFdfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5GYWxsaW5nVGhyZWVNZXRob2RzLkJlYXJpc2h8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBT1sxXXw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuS2lja2luZy5CZWFyaXNofDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJlY29tbWVuZC5PdGhlcnwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuTWFydWJvenUuQmxhY2t8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUEyMXwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlZXQVAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkZhbGxpbmdUaHJlZU1ldGhvZHMuQmVhcmlzaHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5EXzhfM18zfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESXwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE3fDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWMuSWNoaW1va3V8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTE1MHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Eb2ppU3Rhci5CZWFyaXNoIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTc1fDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSXwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5EXzE0XzFfM1sxXSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE3NXwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiVldBUHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ikxvdy42TSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJhdmVyYWdlX3ZvbHVtZV82MGRfY2FsY3w2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDaGFpa2luTW9uZXlGbG93fDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGVyZi4xTS5NYXJrZXRDYXAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQkJQb3dlcnwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRW5ndWxmaW5nLkJlYXJpc2h8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS184XzNfM1sxXXwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJJY2hpbW9rdS5MZWFkMV8yMF82MF8xMjBfMzB8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMTAwfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkt8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFyb29uLkRvd258MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiSHVsbE1BMjB8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BNDB8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5GaWJvbmFjY2kuUzEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMTV8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ik1vbXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNsYXNzaWMuUjF8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BNTV8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Fbmd1bGZpbmcuQmVhcmlzaHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJhdW1fcGVyZi41WSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJCQi5iYXNpc181MHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBlcmYuNk0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guRF82XzNfM1sxXXw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElfOVsxXXwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTV8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjLkljaGltb2t1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFPWzFdfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYXzEwMHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJWb2xhdGlsaXR5LkQiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5GaWJvbmFjY2kuUzN8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUEzMDB8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BOXwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlVwc2lkZVRhc3VraUdhcC5CdWxsaXNofDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTN8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ0NJMjBbMV18MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMjB8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkludmVydGVkSGFtbWVyfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWNvbW1lbmQuTUF8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFPWzJdfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkRvbmNoQ2gyMC5NaWRkbGV8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiSHVsbE1BMjAwfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLk9uTmVjay5CZWFyaXNofDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6ImF2ZXJhZ2Vfdm9sdW1lXzkwZF9jYWxjfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTI1MHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uV29vZGllLlIyfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ik1vbmV5Rmxvd3w2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJIaWdoLkFsbC5DYWxjLkRhdGUiLCJ0IjoidGltZSIsInIiOm51bGx9LHsibiI6IkFPWzJdfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uV29vZGllLlMzfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTIwWzFdfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTIwfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5LXzZfM18zfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJNb21fMTRbMV18MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBVFJQfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5NYXJ1Ym96dS5XaGl0ZSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWMuU3RvY2guUlNJfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ikxvdy4xTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNsYXNzaWMuUjN8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjLlN0b2NoLlJTSXwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGVyZi41WSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgtRElfOVsxXXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEyNnwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkJCLmJhc2lzXzUwfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uV29vZGllLlIzfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2FtYXJpbGxhLk1pZGRsZSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE1fDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJlYy5JY2hpbW9rdXwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjLlN0b2NoLlJTSXwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUExNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5EWzFdfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBlcmYuMVkuTWFya2V0Q2FwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFPfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTN8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiVldNQXw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTE1MHwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUExMjB8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLjNCbGFja0Nyb3dzfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLk1vcm5pbmdTdGFyfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgtRElfOVsxXSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgtRElfNTBbMV18MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkV2ZW5pbmdEb2ppU3Rhci5CZWFyaXNofDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRfOF8zXzNbMV18NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRG9qaS5HcmF2ZXN0b25lfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2FtYXJpbGxhLlMyIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTl8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYLURJXzIwWzFdfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRfOF8zXzN8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BOSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQLlNBUnw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJlYy5WV01BIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS4zV2hpdGVTb2xkaWVyc3wxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTRbMV18MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQkIuYmFzaXNfNTAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5GaWJvbmFjY2kuTWlkZGxlfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESV85WzFdIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkljaGltb2t1LkxlYWQyfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjLkljaGltb2t1fDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uV29vZGllLk1pZGRsZSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNhbWFyaWxsYS5SMnwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJM3w1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5VcHNpZGVUYXN1a2lHYXAuQnVsbGlzaHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5GYWxsaW5nV2luZG93LkJlYXJpc2h8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRG9uY2hDaDIwLkxvd2VyfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQU9bMV18MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiSWNoaW1va3UuQkxpbmV8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Eb2ppU3Rhci5CdWxsaXNofDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE4OXw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTIxfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESV8xMDB8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkJCLmJhc2lzXzUwfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTEzfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlZXTUF8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMnwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuVHdlZXplclRvcC5CZWFyaXNofDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRG9qaS5EcmFnb25mbHl8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUExM3wxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE4OSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJLbHRDaG5sLmJhc2lzfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiS2x0Q2hubC51cHBlcnwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkFiYW5kb25lZEJhYnkuQmVhcmlzaHwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlR3ZWV6ZXJUb3AuQmVhcmlzaHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElfOXwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5EYXJrQ2xvdWRDb3Zlci5CZWFyaXNofDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0k5WzFdfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BNjB8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkhhcmFtaS5CZWFyaXNofDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlVPfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5IYW1tZXJ8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTMwWzFdfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJJY2hpbW9rdS5CTGluZXwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUExNXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJLbHRDaG5sLnVwcGVyfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Im5hdl9wZXJmLllURCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE3fDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNsYXNzaWMuUjJ8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkV2ZW5pbmdEb2ppU3Rhci5CZWFyaXNofDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTEyMHwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWMuVU98MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTIxfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgtRElfOXw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElfNTBbMV18NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEyNTB8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWC1ESV8yMHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5EXzhfM18zfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUk9DfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRmlib25hY2NpLlIyfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRfNV8zXzN8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkFiYW5kb25lZEJhYnkuQnVsbGlzaCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEzfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUExMHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTE1MHwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlBpZXJjaW5nLkJ1bGxpc2giLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BNDB8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Eb2ppU3Rhci5CZWFyaXNofDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTEyMHwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURSUHwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMTAwfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BOHwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJyZWxhdGl2ZV92b2x1bWVfMTBkX2NhbGN8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRG9uY2hDaDIwLk1pZGRsZXw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEyNXwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYK0RJXzUwWzFdfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5Xb29kaWUuUjF8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRmFsbGluZ1RocmVlTWV0aG9kcy5CZWFyaXNofDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJCQi5sb3dlcnwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEzMHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTIwMHwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DbGFzc2ljLlMxfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLktfNl8zXzNbMV18NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiTUFDRC5zaWduYWx8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQXJvb24uVXB8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiSWNoaW1va3UuQkxpbmVfMjBfNjBfMTIwXzMwfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJMzBbMV18MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DYW1hcmlsbGEuUjF8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjb21tZW5kLk90aGVyfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLktfMTRfMV8zIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFPWzFdIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESV81MHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFhfMjB8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTc1fDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Ud2VlemVyQm90dG9tLkJ1bGxpc2h8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTE1fDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5EZW1hcmsuTWlkZGxlfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuSGFyYW1pLkJ1bGxpc2giLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiSHVsbE1BMjB8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMTJ8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkVuZ3VsZmluZy5CdWxsaXNofDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRmlib25hY2NpLk1pZGRsZXwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2FtYXJpbGxhLlIyfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTc1fDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElfOVsxXXwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuTWFydWJvenUuQmxhY2siLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BOHwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJIdWxsTUE5fDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWC1ESV81MHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJNb218MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJNFsxXXwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkZpYm9uYWNjaS5TM3wxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUExMnwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTl8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMTUwfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2xhc3NpYy5NaWRkbGV8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiS2x0Q2hubC51cHBlciIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLldvb2RpZS5NaWRkbGV8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUk9DfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJM1sxXXwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkZhbGxpbmdUaHJlZU1ldGhvZHMuQmVhcmlzaCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEyMDB8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlVwc2lkZVRhc3VraUdhcC5CdWxsaXNofDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUExMnwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkRvamlTdGFyLkJ1bGxpc2h8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJNb21fMTR8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ik1BQ0Quc2lnbmFsfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYLURJfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ikxvdy5BbGwuQ2FsYy5EYXRlIiwidCI6InRpbWUiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5LXzhfM18zfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgtRElfOSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUExM3w1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2xhc3NpYy5TMnwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEyMHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUExMjB8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTlbMV18NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiTW9tXzE0fDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5VcHNpZGVUYXN1a2lHYXAuQnVsbGlzaHwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5GaWJvbmFjY2kuUzF8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guRF8xNF8xXzNbMV18MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFh8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE2fDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuSGFyYW1pQ3Jvc3MuQnVsbGlzaHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRmlib25hY2NpLlMzfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Eb3duc2lkZVRhc3VraUdhcC5CZWFyaXNofDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQkIubG93ZXJfNTB8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWMuV1J8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJNFsxXXw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWF85fDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMTV8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5EXzZfM18zWzFdfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BODkiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkV2ZW5pbmdTdGFyfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRmlib25hY2NpLlIyfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5LaWNraW5nLkJlYXJpc2h8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlVPfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkJCLnVwcGVyIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFyb29uLkRvd258NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMjF8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Ud2VlemVyVG9wLkJlYXJpc2h8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guRFsxXXw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2xhc3NpYy5TMnwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BOXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuM1doaXRlU29sZGllcnN8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiTW9tXzE0WzFdfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTV8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRfNl8zXzN8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQVRSUHwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BNDB8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkludmVydGVkSGFtbWVyfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuSGFyYW1pQ3Jvc3MuQmVhcmlzaHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5IYXJhbWlDcm9zcy5CZWFyaXNofDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkljaGltb2t1LkxlYWQxfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guRF8xNF8xXzN8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0k3WzFdfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMTQ0fDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjb21tZW5kLk90aGVyfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTh8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiTUFDRC5zaWduYWwiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQkIuYmFzaXN8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUC5TQVJ8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRG9qaS5HcmF2ZXN0b25lfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS18xNF8xXzNbMV18NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBcm9vbi5Eb3dufDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJIdWxsTUE5fDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiYXZlcmFnZV92b2x1bWVfOTBkX2NhbGMiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiVldBUHwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMzR8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0lbMV18MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLjNCbGFja0Nyb3dzfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkRvamlTdGFyLkJ1bGxpc2giLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiS2x0Q2hubC5iYXNpc3wxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURSfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQVRSUHwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkRlbWFyay5SMXwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0k1WzFdfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMzR8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DbGFzc2ljLlMyfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkRvamlTdGFyLkJ1bGxpc2h8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQVRSfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJlY29tbWVuZC5NQSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUExMnwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5LaWNraW5nLkJlYXJpc2h8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLldvb2RpZS5SM3w1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJlYy5TdG9jaC5SU0l8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guUlNJLkR8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS3wxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJhdmVyYWdlX3ZvbHVtZV8zMGRfY2FsY3wzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kxMHwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjLkh1bGxNQTl8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMTJ8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNDSTIwfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWMuU3RvY2guUlNJfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DYW1hcmlsbGEuUzJ8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS181XzNfM3wxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uV29vZGllLlMyfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkhhcmFtaUNyb3NzLkJ1bGxpc2h8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNDSTIwfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJlY29tbWVuZC5PdGhlcnw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTIxWzFdfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5BYmFuZG9uZWRCYWJ5LkJ1bGxpc2h8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjb21tZW5kLk1BfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjLlZXTUF8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMnwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNhbWFyaWxsYS5SM3wxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjLkh1bGxNQTl8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS184XzNfM1sxXXwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQXJvb24uRG93bnwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0k3fDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlNob290aW5nU3RhciIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kyMVsxXXw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJWV0FQfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMjF8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNsYXNzaWMuTWlkZGxlfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESV85IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTEyMHwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkZpYm9uYWNjaS5SMXwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkxvbmdTaGFkb3cuTG93ZXJ8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMjZ8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiVldBUHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUExM3w2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5EXzhfM18zfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ik1vbXwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJMzBbMV18NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guRFsxXXwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5GaWJvbmFjY2kuUjJ8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5EXzE0XzFfM3wxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElfNTBbMV0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLk1vcm5pbmdEb2ppU3Rhci5CdWxsaXNofDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTc1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5LaWNraW5nLkJlYXJpc2h8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DYW1hcmlsbGEuUjN8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlVwc2lkZVRhc3VraUdhcC5CdWxsaXNofDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6ImF2ZXJhZ2Vfdm9sdW1lXzYwZF9jYWxjfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ikh1bGxNQTIwfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLktfNl8zXzN8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuVHdlZXplckJvdHRvbS5CdWxsaXNofDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTl8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBTyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkRlbWFyay5SMXwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTgiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMjB8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5LWzFdIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTEyMHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5VcHNpZGVUYXN1a2lHYXAuQnVsbGlzaHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgtRElbMV18MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5IYXJhbWlDcm9zcy5CdWxsaXNofDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuVHJpU3Rhci5CZWFyaXNofDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJST0MiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guUlNJLkt8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DYW1hcmlsbGEuUjMiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQkIubG93ZXJfNTB8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYK0RJXzUwfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTIxWzFdfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTV8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRfOF8zXzNbMV18MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiSWNoaW1va3UuTGVhZDJ8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQkIudXBwZXJfNTB8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYXzUwfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2xhc3NpYy5NaWRkbGV8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE3fDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5TcGlubmluZ1RvcC5XaGl0ZXwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE5fDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWC1ESVsxXXwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Mb25nU2hhZG93Lkxvd2VyfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTg5fDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Eb2ppU3Rhci5CdWxsaXNofDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkxvbmdTaGFkb3cuVXBwZXJ8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTRbMV18MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQVRSUHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kzMFsxXXwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuU2hvb3RpbmdTdGFyfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMTUwfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBVFJQfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0k1fDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFPWzJdfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLksiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMTR8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNhbWFyaWxsYS5SMiIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWNvbW1lbmQuQWxsfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRfNV8zXzN8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJJY2hpbW9rdS5CTGluZXwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BNDB8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYLURJXzEwMHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJlYy5VT3w2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkZpYm9uYWNjaS5SM3wxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUEzMHwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJEb25jaENoMjAuTWlkZGxlfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJMlsxXXwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guRF82XzNfMyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEzfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWC1ESV85WzFdfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5BYmFuZG9uZWRCYWJ5LkJlYXJpc2h8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DbGFzc2ljLlIzfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BM3w1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTE1MHwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJCQi5iYXNpc181MHwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQkIubG93ZXJfNTB8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6ImF2ZXJhZ2Vfdm9sdW1lXzEwZF9jYWxjfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Eb2ppLkRyYWdvbmZseXw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJhdmVyYWdlX3ZvbHVtZV82MGRfY2FsY3wzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUExM3wxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkRvbmNoQ2gyMC5Mb3dlcnwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUExNTAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BNTV8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5LXzVfM18zWzFdfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWF81MHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNDSTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkJCLmJhc2lzXzUwfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTE1MHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJCQlBvd2VyfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuSGFuZ2luZ01hbnwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5GaWJvbmFjY2kuUjN8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQU98MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuQWJhbmRvbmVkQmFieS5CZWFyaXNofDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFyb29uLkRvd258MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMjAwfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ik1BQ0QubWFjZHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJJY2hpbW9rdS5DTGluZXw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuTW9ybmluZ0RvamlTdGFyLkJ1bGxpc2h8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJWzFdfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DYW1hcmlsbGEuUzF8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiSWNoaW1va3UuQkxpbmUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkZhbGxpbmdXaW5kb3cuQmVhcmlzaHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESV8yMFsxXXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUExNHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE1MHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0k3WzFdfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTU1fDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DbGFzc2ljLk1pZGRsZXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNhbWFyaWxsYS5NaWRkbGV8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWNvbW1lbmQuTUF8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMjUwfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5Xb29kaWUuUzJ8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJMb3cuNUQiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjLlN0b2NoLlJTSXw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5EfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQkJQb3dlcnwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2FtYXJpbGxhLlIyfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLjNXaGl0ZVNvbGRpZXJzIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2xhc3NpYy5TMXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNsYXNzaWMuTWlkZGxlfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuTG9uZ1NoYWRvdy5VcHBlcnwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgtRElfOVsxXXwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5EXzhfM18zWzFdfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTI1MHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE1fDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Fbmd1bGZpbmcuQmVhcmlzaHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElfNTBbMV18MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guRF8xNF8xXzN8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMTB8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ik1BQ0QuaGlzdHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRG93bnNpZGVUYXN1a2lHYXAuQmVhcmlzaHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDQ0kyMFsxXXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElfMjB8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLjNCbGFja0Nyb3dzIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTE1MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJCQlBvd2VyfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS181XzNfM1sxXSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWNvbW1lbmQuQWxsfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFPWzJdfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJlYy5IdWxsTUE5fDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMTQ0fDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0k3fDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTI2fDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTZ8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJNQUNELm1hY2R8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTIwMHwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guRFsxXXwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNhbWFyaWxsYS5SM3wxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElfMTAwWzFdfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DbGFzc2ljLlMxfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DYW1hcmlsbGEuUjF8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guRFsxXSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5LXzE0XzFfM3wxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE5fDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ik1vbmV5RmxvdyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJNQUNELmhpc3R8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uV29vZGllLlMyfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkRvbmNoQ2gyMC5Mb3dlcnwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMjZ8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ik1vbXwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMzB8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEyMXwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5EXzVfM18zWzFdfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkZpYm9uYWNjaS5TM3wyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guUlNJLkR8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlNob290aW5nU3RhcnwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJMTB8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYXzl8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuTG9uZ1NoYWRvdy5VcHBlcnwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTEwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5FdmVuaW5nRG9qaVN0YXIuQmVhcmlzaHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlZXQVB8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFUUnwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUExMnwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE4OXwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkZpYm9uYWNjaS5SMnwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNhbWFyaWxsYS5TMSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kzMHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJPQ3w2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUExNCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRGFya0Nsb3VkQ292ZXIuQmVhcmlzaHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJyZWxhdGl2ZV92b2x1bWVfMTBkX2NhbGN8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTIwfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRG93bnNpZGVUYXN1a2lHYXAuQmVhcmlzaHwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEyNXwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kyfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DbGFzc2ljLlMzfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgtRElfMTAwWzFdfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5Xb29kaWUuUjN8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DYW1hcmlsbGEuUjJ8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DbGFzc2ljLlIyfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5LaWNraW5nLkJlYXJpc2h8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURSfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiYXZlcmFnZV92b2x1bWVfOTBkX2NhbGN8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMnwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kyMFsxXSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRG9qaS5EcmFnb25mbHl8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5QaWVyY2luZy5CdWxsaXNofDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYK0RJXzIwfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJMzBbMV18MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS181XzNfM1sxXXwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5LaWNraW5nLkJlYXJpc2h8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTM0fDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTJ8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlAuU0FSfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Eb2ppU3Rhci5CdWxsaXNofDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE2fDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkZpYm9uYWNjaS5NaWRkbGV8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5EZW1hcmsuUzF8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMTAwfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlcuUiIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFhfOXw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNhbWFyaWxsYS5TMXw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kzWzFdfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTUwfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTlbMV18MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJhdmVyYWdlX3ZvbHVtZV85MGRfY2FsY3wxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJCQi51cHBlcl81MHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkJCLmJhc2lzfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJNb21bMV18MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJNHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNsYXNzaWMuUzN8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiTW9tXzE0fDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DYW1hcmlsbGEuUzJ8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkljaGltb2t1LkJMaW5lXzIwXzYwXzEyMF8zMHwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0k3WzFdfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBcm9vbi5VcHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2xhc3NpYy5SMnw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWF8xMDB8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiTW9tXzE0WzFdfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkV2ZW5pbmdEb2ppU3Rhci5CZWFyaXNofDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTIxWzFdfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgtRElbMV18MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkJCLnVwcGVyXzUwfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElfMjBbMV18MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTc1fDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYK0RJXzl8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DYW1hcmlsbGEuUzF8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMjZ8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IktsdENobmwudXBwZXJ8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0lbMV18MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgtREl8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkRhcmtDbG91ZENvdmVyLkJlYXJpc2h8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEyNTAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMzAwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTN8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5Xb29kaWUuUjJ8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiTW9tfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6ImF2ZXJhZ2Vfdm9sdW1lXzMwZF9jYWxjfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5LXzE0XzFfM3wyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DbGFzc2ljLlIyfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTMwMHwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRmFsbGluZ1dpbmRvdy5CZWFyaXNofDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWC1ESV8xMDB8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTE0NHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ik1vbVsxXXwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEzNHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNhbWFyaWxsYS5SMnwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQZXJmLllfYWJzIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLktfNV8zXzNbMV18NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DbGFzc2ljLk1pZGRsZSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgtRElfMjBbMV18MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMTUwfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guRHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFhfMjB8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DbGFzc2ljLlMxfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNsYXNzaWMuUjN8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJMjB8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWC1ESV8xMDBbMV18MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTI1MHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kyfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ik1vbXwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE2IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSXwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5EZW1hcmsuTWlkZGxlfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiTW9tXzE0WzFdfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5SaXNpbmdXaW5kb3cuQnVsbGlzaHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUExMDB8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkJCUG93ZXJ8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS184XzNfM3wxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkljaGltb2t1LkJMaW5lXzIwXzYwXzEyMF8zMHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFyb29uLlVwfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEyMSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5EXzZfM18zWzFdfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRfOF8zXzNbMV18MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5GaWJvbmFjY2kuUjEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BOHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE5fDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTIwfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiSHVsbE1BMjAwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTMwMHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRbMV18MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWMuVldNQXwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJNQUNELm1hY2QiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMTIwfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTEwWzFdfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5UcmlTdGFyLkJlYXJpc2h8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJWzFdfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5IYW5naW5nTWFuIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Pbk5lY2suQmVhcmlzaHwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJNCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJCQi51cHBlcl81MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuSGFyYW1pLkJ1bGxpc2h8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMnw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTE1MHwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE2MHwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS181XzNfM3wxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYK0RJXzEwMFsxXXwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkludmVydGVkSGFtbWVyfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5EZW1hcmsuTWlkZGxlfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRGVtYXJrLk1pZGRsZXwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTE1fDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkZpYm9uYWNjaS5SMnwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYXzUwfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLldvb2RpZS5TMXwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkljaGltb2t1LkxlYWQxXzIwXzYwXzEyMF8zMHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgtRElfNTBbMV18NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkludmVydGVkSGFtbWVyfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJNVsxXSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRW5ndWxmaW5nLkJ1bGxpc2h8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFhfOXwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUEyNnw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJNQUNELnNpZ25hbHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRXZlbmluZ0RvamlTdGFyLkJlYXJpc2h8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTEwMHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBVFJ8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLktpY2tpbmcuQnVsbGlzaHwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYK0RJXzIwfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IktsdENobmwubG93ZXJ8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiTW9uZXlGbG93fDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUEyNTB8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uV29vZGllLlIxfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESV8xMDBbMV18NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkV2ZW5pbmdEb2ppU3Rhci5CZWFyaXNofDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiSWNoaW1va3UuQ0xpbmV8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5GaWJvbmFjY2kuTWlkZGxlfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTNbMV0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMzB8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQVRSIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESV8xMDB8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQkJQb3dlcnwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBT3wxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRG9qaXwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkZpYm9uYWNjaS5NaWRkbGV8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgtRElfOVsxXXwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE4fDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTc1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTV8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BNnw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IktsdENobmwubG93ZXJ8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMTUwfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjLkljaGltb2t1fDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoicmVsYXRpdmVfdm9sdW1lXzEwZF9jYWxjfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5GaWJvbmFjY2kuUzF8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMTAwfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuU3Bpbm5pbmdUb3AuQmxhY2t8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BNnwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJJY2hpbW9rdS5MZWFkMl8yMF82MF8xMjBfMzB8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQkIuYmFzaXN8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guRF8xNF8xXzNbMV18MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlNwaW5uaW5nVG9wLkJsYWNrfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ik1vbVsxXXwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDQ0kyMHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5QaWVyY2luZy5CdWxsaXNofDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuTWFydWJvenUuV2hpdGV8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiSWNoaW1va3UuQkxpbmV8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMTR8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLlJTSS5EfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlcuUnwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNsYXNzaWMuUzF8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guRHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTR8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMTN8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTEwfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNhbWFyaWxsYS5NaWRkbGV8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuQWJhbmRvbmVkQmFieS5CdWxsaXNofDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkV2ZW5pbmdEb2ppU3Rhci5CZWFyaXNofDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuTG9uZ1NoYWRvdy5Mb3dlcnwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJCQi5sb3dlcl81MHwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkRlbWFyay5SMXwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLktpY2tpbmcuQnVsbGlzaHwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJWb2xhdGlsaXR5LlciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5GaWJvbmFjY2kuTWlkZGxlfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWNvbW1lbmQuQWxsfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMnwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DYW1hcmlsbGEuUzN8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkRvamkuRHJhZ29uZmx5fDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTc1fDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWC1ESV8xMDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMjV8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWC1ESV85WzFdfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guUlNJLkR8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJCQi5sb3dlcl81MHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRGVtYXJrLk1pZGRsZXwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQVRSfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuSGFtbWVyIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTEwfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMjZ8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5Xb29kaWUuUjJ8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRG9uY2hDaDIwLlVwcGVyfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTE0fDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgtRElfMjB8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESXwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWNvbW1lbmQuQWxsfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTEyfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS4zV2hpdGVTb2xkaWVyc3wzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBVFJ8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMTR8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElfOXw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgtRElfNTBbMV18MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiS2x0Q2hubC5iYXNpc3wxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElfOVsxXXw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTZ8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiSGlnaC41RCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDQ0kyMHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTE0fDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BNDB8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRmlib25hY2NpLlMyfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJCQi5sb3dlcl81MHwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoicmVsYXRpdmVfdm9sdW1lXzEwZF9jYWxjfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTd8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQXJvb24uVXB8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYXzEwMHwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE1NXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUExM3wxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5LXzZfM18zfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBlcmYuMTBZX2FicyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5EfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5FdmVuaW5nU3RhcnwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BNnwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5LXzhfM18zWzFdIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRfOF8zXzNbMV18MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BOXwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWNvbW1lbmQuQWxsIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRfNl8zXzNbMV18MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFPWzJdIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2xhc3NpYy5SM3wzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuVHdlZXplckJvdHRvbS5CdWxsaXNoIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTUwfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiS2x0Q2hubC5sb3dlciIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5LXzZfM18zWzFdfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiSGlnaC4zTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5EXzZfM18zfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTU1fDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWC1ESV85WzFdfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTEwWzFdfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Eb2ppLkdyYXZlc3RvbmV8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ik1BQ0Quc2lnbmFsfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJMyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBcm9vbi5Eb3dufDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYLURJXzUwWzFdfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNsYXNzaWMuUzJ8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTYwfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTYwfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMTUwfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTg5fDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2FtYXJpbGxhLlIzfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IktsdENobmwubG93ZXJ8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5EXzZfM18zWzFdfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BNTB8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6ImF1bV9wZXJmLjFZIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTR8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUExMHwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kyMXwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjLkh1bGxNQTl8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkRvbmNoQ2gyMC5VcHBlcnwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuTG9uZ1NoYWRvdy5VcHBlcnwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRG9qaS5HcmF2ZXN0b25lfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5SaXNpbmdXaW5kb3cuQnVsbGlzaHwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQkIubG93ZXIiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYK0RJXzl8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkZpYm9uYWNjaS5SMXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDQ0kyMFsxXXw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJlYy5CQlBvd2VyfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLktfOF8zXzN8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMnwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS184XzNfM3wxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEzMHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE2fDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0k3WzFdfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWC1ESV8xMDB8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BNjB8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLk1vcm5pbmdEb2ppU3Rhci5CdWxsaXNofDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guRF81XzNfM1sxXXwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgtREl8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTE1fDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTR8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJIdWxsTUEyMDB8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Nb3JuaW5nU3RhcnwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DbGFzc2ljLlMyfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTEwfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNoYWlraW5Nb25leUZsb3d8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJEb25jaENoMjAuTWlkZGxlfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkZpYm9uYWNjaS5TMXwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBT1sxXXwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJEb25jaENoMjAuTG93ZXIiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRG9uY2hDaDIwLlVwcGVyfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6ImF2ZXJhZ2Vfdm9sdW1lXzkwZF9jYWxjfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRW5ndWxmaW5nLkJ1bGxpc2h8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiSWNoaW1va3UuQ0xpbmVfMjBfNjBfMTIwXzMwfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNsYXNzaWMuUzJ8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiS2x0Q2hubC5iYXNpc3w1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLktfNl8zXzNbMV18MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESV85fDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTEzfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRfNl8zXzN8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTI2fDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFyb29uLlVwfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEyMHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRG9qaVN0YXIuQmVhcmlzaHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE3fDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQkIubG93ZXJ8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BNTV8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuQWJhbmRvbmVkQmFieS5CdWxsaXNofDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6ImF2ZXJhZ2Vfdm9sdW1lXzYwZF9jYWxjfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6ImF2ZXJhZ2Vfdm9sdW1lXzkwZF9jYWxjfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYLURJXzEwMFsxXXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJyZWxhdGl2ZV92b2x1bWVfaW50cmFkYXl8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0k1WzFdfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5IYW1tZXJ8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlJpc2luZ1dpbmRvdy5CdWxsaXNofDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5EXzhfM18zWzFdfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJOXw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE4OXwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJNb218NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS18xNF8xXzNbMV18MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRmlib25hY2NpLlMyfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkZhbGxpbmdXaW5kb3cuQmVhcmlzaHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2xhc3NpYy5SMXw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kyWzFdfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWMuSWNoaW1va3V8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJN3wxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BNnwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kyWzFdfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMjUwfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ik1vbV8xNHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE0MHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTVbMV18NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJEb25jaENoMjAuTG93ZXJ8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYK0RJWzFdfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMTB8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTEwWzFdfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTdbMV18MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYLURJfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLktbMV18MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJMTB8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWNvbW1lbmQuT3RoZXJ8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DbGFzc2ljLlIzIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTU1fDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSVsxXXw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJNb21fMTR8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMTIiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJMzBbMV18MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJMjBbMV18MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJuYXZfcGVyZi4zTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElfOVsxXXw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJhdmVyYWdlX3ZvbHVtZV82MGRfY2FsYyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0l8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMTJ8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkhhcmFtaS5CdWxsaXNofDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2FtYXJpbGxhLlMxfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Nb3JuaW5nU3RhciIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBT1sxXXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgtRElfMjB8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQXJvb24uVXB8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE1MHwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMTQ0fDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLktfOF8zXzNbMV18MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Im5hdl90b3RhbF9yZXR1cm4uNVkiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guUlNJLkt8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiTW9tXzE0WzFdfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuTWFydWJvenUuQmxhY2t8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJCQi51cHBlcl81MHwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWMuV1J8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMTN8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUEyfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uV29vZGllLlMxfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLktpY2tpbmcuQnVsbGlzaHwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiTG93LkFsbC5EYXRlIiwidCI6InRpbWUiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNhbWFyaWxsYS5SMXwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJEb25jaENoMjAuTWlkZGxlIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLktfMTRfMV8zfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5IYXJhbWkuQnVsbGlzaHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTRbMV18MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DYW1hcmlsbGEuUjN8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BNzV8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkFiYW5kb25lZEJhYnkuQmVhcmlzaHwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS18xNF8xXzNbMV18MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuTG9uZ1NoYWRvdy5VcHBlcnw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLktbMV18MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRG9uY2hDaDIwLk1pZGRsZXwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEzMDB8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuSGFyYW1pLkJ1bGxpc2h8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BNjB8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoibmF2X3RvdGFsX3JldHVybi42TSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUExMHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuQWJhbmRvbmVkQmFieS5CdWxsaXNofDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUEyNXw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWC1ESV81MHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFPWzJdfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWF8yMHwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgtRElfMjB8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkhhbmdpbmdNYW58MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLk9uTmVjay5CZWFyaXNofDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuUGllcmNpbmcuQnVsbGlzaHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRGVtYXJrLlIxfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURSfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ikh1bGxNQTl8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiS2x0Q2hubC5sb3dlcnwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRfNl8zXzN8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuTG9uZ1NoYWRvdy5VcHBlcnwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJIdWxsTUEyMDB8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Im5hdl90b3RhbF9yZXR1cm4uM1kiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGVyZi5XIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTI1MHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBT3w2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUEzNHwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjLkJCUG93ZXJ8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWC1ESV8yMFsxXXwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuTG9uZ1NoYWRvdy5Mb3dlciIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJXLlJ8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5Xb29kaWUuUzF8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IktsdENobmwubG93ZXJ8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5LaWNraW5nLkJlYXJpc2h8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJXLlJ8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5Xb29kaWUuUzJ8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTV8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuS2lja2luZy5CdWxsaXNofDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guRF82XzNfM3wzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLldvb2RpZS5TMXwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBVFJQfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMjV8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guRHwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE1MHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFyb29uLkRvd24iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DbGFzc2ljLlIyfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYLURJXzIwfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYLURJXzUwfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkJCLnVwcGVyfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRmlib25hY2NpLlIyfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkljaGltb2t1LkxlYWQxXzIwXzYwXzEyMF8zMHwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuUGllcmNpbmcuQnVsbGlzaHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5SU0kuRHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUEyMHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0k5WzFdfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEyMXw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFhfOSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJLbHRDaG5sLmJhc2lzfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWC1ESV8xMDB8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guRF82XzNfM1sxXSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUEyNTB8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYLURJXzEwMFsxXXwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUEzMHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJlYy5VT3wzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuSGFyYW1pQ3Jvc3MuQnVsbGlzaHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNhbWFyaWxsYS5NaWRkbGV8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlNob290aW5nU3Rhcnw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuTG9uZ1NoYWRvdy5VcHBlcnw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kxMHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRG93bnNpZGVUYXN1a2lHYXAuQmVhcmlzaHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE2IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ikxvdy42TS5EYXRlIiwidCI6InRpbWUiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElfNTAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5GaWJvbmFjY2kuUzJ8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTU1fDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJXLlJ8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkZpYm9uYWNjaS5SMXwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5EXzhfM18zfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJhdmVyYWdlX3ZvbHVtZV8xMGRfY2FsY3wxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEyfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTVbMV18MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRfMTRfMV8zWzFdfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTc1fDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5IYXJhbWkuQmVhcmlzaHwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYLURJXzUwWzFdfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJuYXZfdG90YWxfcmV0dXJuLjFZIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESV8xMDBbMV18NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDaGFpa2luTW9uZXlGbG93fDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTM0fDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDQ0kyMFsxXSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE4OXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuS2lja2luZy5CZWFyaXNofDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESV81MHwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE4OXwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuVXBzaWRlVGFzdWtpR2FwLkJ1bGxpc2h8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BM3wxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMzAwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Eb2ppfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkJCLmJhc2lzXzUwfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMTQ0fDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5UcmlTdGFyLkJ1bGxpc2h8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkRvbmNoQ2gyMC5VcHBlcnwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJCQi51cHBlcnwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJN3wxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTZ8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiTUFDRC5tYWNkfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guUlNJLkt8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTI1fDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRGVtYXJrLlMxfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMjZ8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMTAwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ikh1bGxNQTl8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTM0fDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJMzBbMV18NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRG9qaVN0YXIuQnVsbGlzaHwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5EXzZfM18zWzFdfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkljaGltb2t1LkxlYWQyXzIwXzYwXzEyMF8zMHwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMjAwfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Nb3JuaW5nRG9qaVN0YXIuQnVsbGlzaHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkZpYm9uYWNjaS5TMiIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kyWzFdfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTI1MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE1MHwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DbGFzc2ljLlMyfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTMwfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5SaXNpbmdUaHJlZU1ldGhvZHMuQnVsbGlzaHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFyb29uLkRvd258MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkljaGltb2t1LkxlYWQyXzIwXzYwXzEyMF8zMHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkJCLmxvd2VyXzUwfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkljaGltb2t1LkxlYWQxfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTQwfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJNQUNELmhpc3R8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5EZW1hcmsuUzF8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTM0fDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuT25OZWNrLkJlYXJpc2h8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE1NXw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0l8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWNvbW1lbmQuT3RoZXIiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BNTB8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiSWNoaW1va3UuQkxpbmVfMjBfNjBfMTIwXzMwfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2FtYXJpbGxhLlMzfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRfOF8zXzN8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMTMiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMjV8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuTG9uZ1NoYWRvdy5Mb3dlcnwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJMb3cuQWZ0ZXIuSGlnaC5BbGwiLCJ0IjoicHJpY2UiLCJyIjpudWxsfSx7Im4iOiJTTUEzNHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kyMFsxXXwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlRyaVN0YXIuQmVhcmlzaHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUExNXwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuVHdlZXplckJvdHRvbS5CdWxsaXNofDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBlcmYuNk0uTWFya2V0Q2FwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2FtYXJpbGxhLlMyfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiYXZlcmFnZV92b2x1bWVfMzBkX2NhbGN8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkRvamkuR3JhdmVzdG9uZXw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ikh1bGxNQTIwfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTg5fDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuQWJhbmRvbmVkQmFieS5CZWFyaXNofDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5Xb29kaWUuTWlkZGxlfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS4zV2hpdGVTb2xkaWVyc3w1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6ImZ1bmRfZmxvd3MuMU0iLCJ0IjoiZnVuZGFtZW50YWxfcHJpY2UiLCJyIjpudWxsfSx7Im4iOiJSU0kyMVsxXXwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiSWNoaW1va3UuQ0xpbmV8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJLbHRDaG5sLmxvd2VyfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFUUnw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLldvb2RpZS5SM3wxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUExNTB8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESVsxXXwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWMuU3RvY2guUlNJIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlZXQVB8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkZhbGxpbmdXaW5kb3cuQmVhcmlzaHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kyMXwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTEwMHwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJIdWxsTUE5fDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTZ8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRfNV8zXzN8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5LWzFdfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTV8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6ImF2ZXJhZ2Vfdm9sdW1lXzEwZF9jYWxjfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiSWNoaW1va3UuQ0xpbmV8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTEwfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkljaGltb2t1LkxlYWQxfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuU2hvb3RpbmdTdGFyfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTIxfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkljaGltb2t1LkNMaW5lXzIwXzYwXzEyMF8zMHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEUnwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFh8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFPfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ik1vbmV5Rmxvd3wxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJJY2hpbW9rdS5CTGluZV8yMF82MF8xMjBfMzB8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWC1ESV85fDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWF85fDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlZXTUF8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRG9uY2hDaDIwLkxvd2VyfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS18xNF8xXzNbMV0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BODl8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjLldSfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFhfNTB8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Fbmd1bGZpbmcuQnVsbGlzaHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuTG9uZ1NoYWRvdy5Mb3dlcnwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guRF8xNF8xXzNbMV18MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS182XzNfM3wxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUEyMXwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkRlbWFyay5SMXwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNsYXNzaWMuUjJ8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESV8yMFsxXSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE1MHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkhpZ2guQWxsLkRhdGUiLCJ0IjoidGltZSIsInIiOm51bGx9LHsibiI6IlJTSTIwWzFdfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTl8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTc1fDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTI1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkljaGltb2t1LkNMaW5lfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTJ8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5EZW1hcmsuUzF8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiTUFDRC5tYWNkfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ikh1bGxNQTl8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DYW1hcmlsbGEuUjF8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkhhbmdpbmdNYW58MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTE1MHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE2MHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQZXJmLllURF9hYnMiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BN3wxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElbMV18MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5TcGlubmluZ1RvcC5CbGFja3wyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlJpc2luZ1RocmVlTWV0aG9kcy5CdWxsaXNoIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTYwfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTl8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Mb25nU2hhZG93Lkxvd2VyfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiSWNoaW1va3UuQkxpbmV8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guRF81XzNfM1sxXXwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BNTB8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiSWNoaW1va3UuTGVhZDFfMjBfNjBfMTIwXzMwfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQXZnVmFsdWUuVHJhZGVkXzkwZCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJIaWdoLkFsbC5DYWxjIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ik1BQ0QuaGlzdHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWC1ESV85fDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DbGFzc2ljLlMzfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTEyMHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLldvb2RpZS5SMnwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJIdWxsTUEyMHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESV8yMFsxXXw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkZpYm9uYWNjaS5TMnwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kxMFsxXXwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTVbMV18MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiSWNoaW1va3UuTGVhZDFfMjBfNjBfMTIwXzMwfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESV81MHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRGVtYXJrLk1pZGRsZSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0l8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTEwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJPQ3wxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRGVtYXJrLlIxfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uV29vZGllLlIxfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBcm9vbi5VcHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElfMTAwWzFdfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTEyMHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTI1fDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNoYWlraW5Nb25leUZsb3ciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guRF81XzNfM1sxXXwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNhbWFyaWxsYS5TM3w1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTdbMV18MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiVldNQXwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElfOXwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJJY2hpbW9rdS5DTGluZV8yMF82MF8xMjBfMzB8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYLURJXzUwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTJbMV18MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQkIuYmFzaXNfNTB8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5EZW1hcmsuUzF8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuU3Bpbm5pbmdUb3AuV2hpdGUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjLldSIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESVsxXXwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWMuVU8iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BODl8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkZpYm9uYWNjaS5SMXwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTEwfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Im5hdl9wZXJmLjFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTJbMV18MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYLURJfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTIxfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjLkh1bGxNQTl8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiYXZlcmFnZV92b2x1bWVfNjBkX2NhbGN8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRGVtYXJrLlMxfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkljaGltb2t1LkxlYWQyXzIwXzYwXzEyMF8zMHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuVHJpU3Rhci5CZWFyaXNofDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BN3w1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5BYmFuZG9uZWRCYWJ5LkJ1bGxpc2h8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRmlib25hY2NpLk1pZGRsZXwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DbGFzc2ljLlIyfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElfMTAwfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5Xb29kaWUuUjN8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ikh1bGxNQTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTEwWzFdfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJCQi5iYXNpc3wxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUEzfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTV8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFPWzJdfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLldvb2RpZS5TMnw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJJY2hpbW9rdS5DTGluZXwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJNVsxXXwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJhdmVyYWdlX3ZvbHVtZV82MGRfY2FsY3w1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlZXQVB8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkRvaml8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLldvb2RpZS5SMyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUEyMDB8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElfOVsxXXwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kyMXwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE4fDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2xhc3NpYy5SMiIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgtRElfOXwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGVyZi41WV9hYnMiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ0NJMjBbMV18NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQkIubG93ZXJfNTB8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYXzEwMHwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMTB8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kyMSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUExMHwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkhhcmFtaUNyb3NzLkJlYXJpc2h8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWNvbW1lbmQuT3RoZXJ8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGVyZi5XX2FicyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJCQi51cHBlcl81MHwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0l8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlVPfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQU98MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTIxfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJEb25jaENoMjAuTG93ZXJ8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkRvamkiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DbGFzc2ljLlIxfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuTWFydWJvenUuV2hpdGV8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUk9DfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUEyNTB8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiSWNoaW1va3UuTGVhZDFfMjBfNjBfMTIwXzMwfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJhdmVyYWdlX3ZvbHVtZV8xMGRfY2FsY3w1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkRvbmNoQ2gyMC5VcHBlcnwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTEwMHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2FtYXJpbGxhLlIzfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJlYy5JY2hpbW9rdXwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNsYXNzaWMuUzN8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0k0fDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkRvbmNoQ2gyMC5NaWRkbGV8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJMjFbMV18MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiTW9tWzFdfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guRF84XzNfMyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQZXJmLjZNX2FicyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUExNXwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2xhc3NpYy5SMXwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjLldSfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGVyZi4xMFkiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURSUHwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBcm9vbi5VcHwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5SU0kuS3wxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6InJlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLldvb2RpZS5SMSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQZXJmLjNNLk1hcmtldENhcCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWNvbW1lbmQuTUF8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElfMTAwWzFdfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRfOF8zXzN8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWNvbW1lbmQuTUF8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMTQ0fDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BNTB8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQU9bMl18MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRmFsbGluZ1dpbmRvdy5CZWFyaXNofDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTd8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTV8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BNDB8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE0MHwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BNnwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTI1MHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTMwfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ik1vbVsxXXwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BNnwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE2fDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLktfMTRfMV8zfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJMTB8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJIaWdoLjFNLkRhdGUiLCJ0IjoidGltZSIsInIiOm51bGx9LHsibiI6IkFEWCtESV81MFsxXXwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJhdW1fcGVyZi5ZVEQiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJNVsxXXwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kxMFsxXXw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuSW52ZXJ0ZWRIYW1tZXJ8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BNjB8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiYXZlcmFnZV92b2x1bWVfMTBkX2NhbGN8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiSHVsbE1BOXw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJmdW5kX2Zsb3dzLllURCIsInQiOiJmdW5kYW1lbnRhbF9wcmljZSIsInIiOm51bGx9LHsibiI6IkVNQTMwMHwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJOVsxXSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElfNTBbMV18MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTVbMV18MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uV29vZGllLlMyfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRfNl8zXzN8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEyMHwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJPcGVuLkFsbC5DYWxjIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRfNl8zXzN8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiZmlyc3RfYmFyX3RpbWUiLCJ0IjoidGltZSIsInIiOm51bGx9LHsibiI6IkFEWC1ESV8yMFsxXXw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuVHdlZXplclRvcC5CZWFyaXNofDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BNzV8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLk1hcnVib3p1LkJsYWNrfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkF2Z1ZhbHVlLlRyYWRlZF8zMGQiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMzAwfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWMuV1J8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE3NXwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLktpY2tpbmcuQmVhcmlzaCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBcm9vbi5VcHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkZpYm9uYWNjaS5TMnwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlJpc2luZ1RocmVlTWV0aG9kcy5CdWxsaXNofDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTU1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWC1ESV85WzFdfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0lbMV18MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLlJTSS5EfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgtRElfMjB8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMTMiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkhhcmFtaS5CZWFyaXNofDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiTUFDRC5tYWNkfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJlYy5TdG9jaC5SU0l8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTEwMHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWNvbW1lbmQuTUF8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS182XzNfM1sxXXwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuUmlzaW5nVGhyZWVNZXRob2RzLkJ1bGxpc2h8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJMjF8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYLURJXzUwfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTIwWzFdfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJLbHRDaG5sLnVwcGVyfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTEwMHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEyNiIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJNQUNELm1hY2R8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuS2lja2luZy5CdWxsaXNofDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Pbk5lY2suQmVhcmlzaCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5EXzZfM18zWzFdfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ikh1bGxNQTIwMHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuTG9uZ1NoYWRvdy5Mb3dlcnwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQXZnVmFsdWUuVHJhZGVkXzEwZCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEzMHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFhfNTB8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMTB8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuU3Bpbm5pbmdUb3AuQmxhY2t8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMTQ0fDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5BYmFuZG9uZWRCYWJ5LkJ1bGxpc2h8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guUlNJLkt8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRmlib25hY2NpLlIzIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRmlib25hY2NpLlIyfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJNQUNELmhpc3R8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFh8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGVyZi4xTV9hYnMiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DYW1hcmlsbGEuUzN8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BNDB8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoibmF2X3RvdGFsX3JldHVybi5ZVEQiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkRvd25zaWRlVGFzdWtpR2FwLkJlYXJpc2h8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IktsdENobmwuYmFzaXN8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uV29vZGllLlIzfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Ud2VlemVyVG9wLkJlYXJpc2h8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2xhc3NpYy5TM3w2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuSGFyYW1pLkJ1bGxpc2h8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYK0RJXzIwfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Mb25nU2hhZG93LlVwcGVyfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkJCLnVwcGVyXzUwfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5GaWJvbmFjY2kuUzN8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5Xb29kaWUuUzN8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlRyaVN0YXIuQnVsbGlzaHwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUExM3wxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuTG9uZ1NoYWRvdy5Mb3dlcnwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUEyMHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE1NXwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLktpY2tpbmcuQmVhcmlzaHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJWV01BfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTIwfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ik1BQ0QubWFjZHwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5GaWJvbmFjY2kuUzF8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuM0JsYWNrQ3Jvd3N8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DbGFzc2ljLlMxfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTJ8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGVyZi4xTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE2fDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTMwMHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS4zQmxhY2tDcm93c3wxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWNvbW1lbmQuQWxsfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFJQfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ikh1bGxNQTIwfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJMTB8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkxvbmdTaGFkb3cuVXBwZXIiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkRhcmtDbG91ZENvdmVyLkJlYXJpc2h8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DbGFzc2ljLk1pZGRsZXw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESVsxXXwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUExNXwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElfMjBbMV18NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5EXzZfM18zWzFdfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE1MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJJY2hpbW9rdS5MZWFkMV8yMF82MF8xMjBfMzB8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgtREl8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE1NXwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrREl8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESV81MFsxXXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUExM3wxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElbMV18MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2FtYXJpbGxhLlMzIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkljaGltb2t1LkxlYWQyfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRmlib25hY2NpLlIxfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTQwfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiSWNoaW1va3UuQ0xpbmV8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlRyaVN0YXIuQmVhcmlzaHwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5SU0kuRCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkZpYm9uYWNjaS5SM3wyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BODl8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2xhc3NpYy5TMiIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuSW52ZXJ0ZWRIYW1tZXJ8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYK0RJXzUwfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkljaGltb2t1LkJMaW5lXzIwXzYwXzEyMF8zMHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLldvb2RpZS5TM3wxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJIdWxsTUE5fDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlNwaW5uaW5nVG9wLldoaXRlfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTM0fDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiTW9tWzFdfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiSWNoaW1va3UuTGVhZDF8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuUGllcmNpbmcuQnVsbGlzaHwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEyNXwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNsYXNzaWMuUzF8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNsYXNzaWMuUzEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoicHJpY2VfNTJfd2Vla19sb3dfZGF0ZSIsInQiOiJ0aW1lIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5GaWJvbmFjY2kuUzJ8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJMzBbMV18MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJVT3w2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWMuSWNoaW1va3V8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE5fDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTYwfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Eb3duc2lkZVRhc3VraUdhcC5CZWFyaXNofDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRmlib25hY2NpLlIyfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRfOF8zXzNbMV18MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkt8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUExMjB8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ0NJMjB8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMTR8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMTV8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJCQi5iYXNpc3wxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS3w1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkljaGltb2t1LkJMaW5lfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRG9uY2hDaDIwLlVwcGVyfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuTWFydWJvenUuQmxhY2t8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURSUCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kyfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFPWzFdfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DYW1hcmlsbGEuUjN8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kyMFsxXXwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNsYXNzaWMuTWlkZGxlfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5TcGlubmluZ1RvcC5CbGFja3wxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTIxfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5FdmVuaW5nU3RhcnwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYLURJWzFdfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTEyMHwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuTW9ybmluZ1N0YXJ8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ0NJMjBbMV18MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlNob290aW5nU3RhcnwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEzMHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uV29vZGllLlMxfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRfNl8zXzN8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoibmF2X3BlcmYuMVkiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLk1hcnVib3p1LldoaXRlfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DYW1hcmlsbGEuUzJ8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNsYXNzaWMuUjF8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLktpY2tpbmcuQnVsbGlzaCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUEyNXwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQkIuYmFzaXN8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjLkJCUG93ZXJ8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5LfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTV8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRXZlbmluZ1N0YXJ8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkhhcmFtaS5CZWFyaXNofDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTMwfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTI1MHwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLldvb2RpZS5TM3wxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNhbWFyaWxsYS5SMXw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2FtYXJpbGxhLk1pZGRsZXwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0k5WzFdfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkJCLmJhc2lzXzUwfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE3fDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ik1vbXw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESV81MHwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DbGFzc2ljLlMzfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuVHdlZXplclRvcC5CZWFyaXNofDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTJ8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTIwMHwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5EXzE0XzFfM3w1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTEyfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2hhaWtpbk1vbmV5Rmxvd3wxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiVU98MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYK0RJWzFdfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESV8xMDBbMV18MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkRvbmNoQ2gyMC5Mb3dlcnwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuU3Bpbm5pbmdUb3AuQmxhY2t8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElfOVsxXXwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUExMDB8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiVldNQXwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTUwfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESV8xMDB8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiVldBUHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJJY2hpbW9rdS5DTGluZXw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2FtYXJpbGxhLlIyfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJlY29tbWVuZC5NQXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFhfOXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWMuQkJQb3dlcnw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uV29vZGllLlMzIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTIxfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMzR8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlVPIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Pbk5lY2suQmVhcmlzaHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLldvb2RpZS5TMXwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURSUHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUExNDQiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMTAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiTUFDRC5tYWNkfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESVsxXSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgtRElfOXwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGVyZi41RCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLldvb2RpZS5TM3w1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTE0NHwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0k0fDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5EXzVfM18zWzFdfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUC5TQVJ8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkFiYW5kb25lZEJhYnkuQmVhcmlzaHwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJEb25jaENoMjAuVXBwZXJ8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLktfOF8zXzNbMV18NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5LXzhfM18zfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTIwMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJhdmVyYWdlX3ZvbHVtZV8zMGRfY2FsY3wxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYLURJXzUwfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRfMTRfMV8zfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTlbMV18MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkhhcmFtaUNyb3NzLkJ1bGxpc2h8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5GaWJvbmFjY2kuUzF8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2FtYXJpbGxhLlIxfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuU3Bpbm5pbmdUb3AuV2hpdGV8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkZhbGxpbmdXaW5kb3cuQmVhcmlzaHwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BNDB8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiYXZlcmFnZV92b2x1bWVfMTBkX2NhbGN8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS182XzNfM3wyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5Xb29kaWUuUzN8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRfMTRfMV8zWzFdfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjLlZXTUF8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESV8yMHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTE1fDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEyMHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkZpYm9uYWNjaS5NaWRkbGV8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkVuZ3VsZmluZy5CZWFyaXNofDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTE1fDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTIwfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYK0RJXzEwMHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTV8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlZXTUEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BNzV8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMTQ0fDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTMiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMzB8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLktfOF8zXzN8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSVsxXXwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRGFya0Nsb3VkQ292ZXIuQmVhcmlzaHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJJY2hpbW9rdS5MZWFkMl8yMF82MF8xMjBfMzB8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMjUwfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTEwfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ik1vbV8xNFsxXXwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkludmVydGVkSGFtbWVyfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ikh1bGxNQTIwfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5NYXJ1Ym96dS5CbGFja3wzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IktsdENobmwubG93ZXJ8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTM0fDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRfNV8zXzN8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJMjB8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQU98NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE2fDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkR8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Ud2VlemVyVG9wLkJlYXJpc2h8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE1fDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IktsdENobmwudXBwZXJ8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guRF84XzNfM3wyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS1sxXXwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJMjF8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkRvamlTdGFyLkJlYXJpc2h8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTIwMHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLldvb2RpZS5TM3w2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgtRElfNTBbMV18MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkhhcmFtaS5CdWxsaXNofDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uV29vZGllLlIyfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS181XzNfM3wzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5LXzhfM18zfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTU1fDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS182XzNfM1sxXXwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMTQiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkhhcmFtaUNyb3NzLkJ1bGxpc2giLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlR3ZWV6ZXJCb3R0b20uQnVsbGlzaHwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuSGFtbWVyfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS18xNF8xXzNbMV18MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLktfMTRfMV8zWzFdfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkljaGltb2t1LkNMaW5lIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRGVtYXJrLk1pZGRsZXwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLldvb2RpZS5SMiIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNsYXNzaWMuUjF8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS182XzNfM1sxXXwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUEyNXwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUExNHwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBVFJQIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESVsxXXwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Nb3JuaW5nRG9qaVN0YXIuQnVsbGlzaHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRfNl8zXzN8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTE1MHwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURSfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTE0fDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ikh1bGxNQTkiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMiIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0k1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTMiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkV2ZW5pbmdTdGFyfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWC1ESV8yMFsxXXwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTEwfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDQ0kyMFsxXXwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJOXwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBlcmYuM1lfYWJzIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRmlib25hY2NpLlMxfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLktfNV8zXzN8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEyNXw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTd8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJN1sxXXw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWC1ESVsxXSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEyfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkljaGltb2t1LkNMaW5lXzIwXzYwXzEyMF8zMHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElfNTBbMV18NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5Xb29kaWUuUjF8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5EfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE4OXwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTMwMHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5EXzhfM18zWzFdIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTN8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkV2ZW5pbmdEb2ppU3Rhci5CZWFyaXNofDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Nb3JuaW5nU3RhcnwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElfMjB8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTE0fDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWC1ESV8yMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJNb21bMV18MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5GYWxsaW5nVGhyZWVNZXRob2RzLkJlYXJpc2h8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiSHVsbE1BMjAwfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRbMV18MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5UcmlTdGFyLkJlYXJpc2h8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjb21tZW5kLkFsbHwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5EZW1hcmsuUzEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJNXwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuVHJpU3Rhci5CZWFyaXNofDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTEwfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2xhc3NpYy5SM3wxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRG9uY2hDaDIwLlVwcGVyfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlR3ZWV6ZXJCb3R0b20uQnVsbGlzaHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTIwfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWMuSHVsbE1BOXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUEyNTB8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMTQ0fDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6ImF2ZXJhZ2Vfdm9sdW1lXzkwZF9jYWxjfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5Xb29kaWUuUzN8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5BYmFuZG9uZWRCYWJ5LkJlYXJpc2h8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNsYXNzaWMuUjN8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlVwc2lkZVRhc3VraUdhcC5CdWxsaXNofDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRGVtYXJrLlMxfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElfMTAwWzFdfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLktfNl8zXzNbMV18NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNhbWFyaWxsYS5NaWRkbGV8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYLURJfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guRF8xNF8xXzNbMV18MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJMzB8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkludmVydGVkSGFtbWVyfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5UcmlTdGFyLkJ1bGxpc2h8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGVyZi5ZVEQiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMTUwfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMjB8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUEyfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTU1fDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTEwfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2FtYXJpbGxhLlIzfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUExNHwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRG9qaVN0YXIuQmVhcmlzaHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTl8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiSHVsbE1BMjB8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTE0NHwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoicmVsYXRpdmVfdm9sdW1lXzEwZF9jYWxjfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQkIubG93ZXJfNTB8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMTN8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESV8yMHwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiYXZlcmFnZV92b2x1bWVfOTBkX2NhbGN8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJMjB8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkRvamlTdGFyLkJlYXJpc2h8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkhhcmFtaS5CZWFyaXNofDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFyb29uLkRvd258MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5GaWJvbmFjY2kuUzF8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuSGFyYW1pLkJlYXJpc2giLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkVuZ3VsZmluZy5CZWFyaXNofDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTIxfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWC1ESV8yMFsxXXw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2xhc3NpYy5SMXwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuQWJhbmRvbmVkQmFieS5CZWFyaXNofDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5GYWxsaW5nVGhyZWVNZXRob2RzLkJlYXJpc2h8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTEyfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Nb3JuaW5nRG9qaVN0YXIuQnVsbGlzaHwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYK0RJXzEwMHwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJMTBbMV18NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgtRElfOVsxXXwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQkIudXBwZXJfNTB8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BNTV8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkhhbW1lcnwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUExNDR8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMjZ8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuTW9ybmluZ0RvamlTdGFyLkJ1bGxpc2h8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMzR8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kzWzFdfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLk1vcm5pbmdTdGFyfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESV8yMFsxXXwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNhbWFyaWxsYS5TMXwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMTN8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DbGFzc2ljLlIxfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Im5hdl90b3RhbF9yZXR1cm4uMU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DYW1hcmlsbGEuUzF8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNhbWFyaWxsYS5NaWRkbGV8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkRvamkuR3JhdmVzdG9uZXwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWNvbW1lbmQuQWxsfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLlJTSS5LfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTd8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQVRSUHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTEzfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJhdW1fcGVyZi4zTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuU3Bpbm5pbmdUb3AuV2hpdGV8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTI2fDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTI1fDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTEwfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJlY29tbWVuZC5BbGx8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BNnwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUEzNHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEyIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uV29vZGllLlIzfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkRvaml8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5GaWJvbmFjY2kuUjN8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFhfMTAwfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLk9uTmVjay5CZWFyaXNofDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IktsdENobmwuYmFzaXN8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkV2ZW5pbmdEb2ppU3Rhci5CZWFyaXNoIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTQwfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTlbMV18MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS18xNF8xXzNbMV18MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5IYXJhbWlDcm9zcy5CZWFyaXNoIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTE0NHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTRbMV18NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkZhbGxpbmdUaHJlZU1ldGhvZHMuQmVhcmlzaHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTV8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiVldBUHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5LXzZfM18zWzFdfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRfNV8zXzN8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTEyMHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElfMTAwWzFdfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6InJlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsY3wxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5LXzhfM18zWzFdfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTM0fDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTIxWzFdIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5SaXNpbmdXaW5kb3cuQnVsbGlzaHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRG9qaXwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJWV01BfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTIiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkhhbW1lcnwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNhbWFyaWxsYS5TMnwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkhhbmdpbmdNYW58MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS182XzNfMyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWMuSHVsbE1BOXwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BNzV8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRG9uY2hDaDIwLk1pZGRsZXwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2xhc3NpYy5SMnwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLldvb2RpZS5SMXwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkhhcmFtaUNyb3NzLkJ1bGxpc2h8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEzMHwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuSGFyYW1pLkJlYXJpc2h8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTd8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkhhcmFtaUNyb3NzLkJ1bGxpc2h8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BNzV8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE4fDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTkiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYXzEwMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kzWzFdfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuUmlzaW5nVGhyZWVNZXRob2RzLkJ1bGxpc2h8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJN1sxXSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRmFsbGluZ1RocmVlTWV0aG9kcy5CZWFyaXNofDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Ud2VlemVyVG9wLkJlYXJpc2h8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkVuZ3VsZmluZy5CdWxsaXNofDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYLURJXzUwfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRmlib25hY2NpLlIyfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYLURJXzIwfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTEwMHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE4fDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRmlib25hY2NpLlMyfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJlY29tbWVuZC5NQXwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNhbWFyaWxsYS5SMnwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNhbWFyaWxsYS5TMXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJJY2hpbW9rdS5MZWFkMl8yMF82MF8xMjBfMzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMnw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlVPfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiTUFDRC5zaWduYWx8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DYW1hcmlsbGEuUjF8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuVHdlZXplckJvdHRvbS5CdWxsaXNofDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLktfOF8zXzNbMV18NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guRF81XzNfM1sxXXwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJCQi5sb3dlcnwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Eb2ppLkRyYWdvbmZseXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuU3Bpbm5pbmdUb3AuQmxhY2t8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BNjB8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE1MHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTN8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQU98MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJlYy5WV01BfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5Xb29kaWUuTWlkZGxlfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkJCLmJhc2lzXzUwfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkljaGltb2t1LkxlYWQxfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWF8yMHwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guUlNJLksiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlRyaVN0YXIuQnVsbGlzaHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0k0WzFdfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE4fDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJOXwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRG9qaS5HcmF2ZXN0b25lfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5EXzE0XzFfM3wzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuTWFydWJvenUuQmxhY2t8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYK0RJXzEwMHwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQLlNBUnw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElfOVsxXXwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlJpc2luZ1dpbmRvdy5CdWxsaXNofDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJlYy5CQlBvd2VyfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ik1BQ0QubWFjZHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kyfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMTR8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkV2ZW5pbmdTdGFyfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMzAwfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkJCLmJhc2lzIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTR8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkt8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2hhaWtpbk1vbmV5Rmxvd3wyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiYXZlcmFnZV92b2x1bWVfNjBkX2NhbGN8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuSGFyYW1pQ3Jvc3MuQmVhcmlzaHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJJY2hpbW9rdS5MZWFkMnwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5EZW1hcmsuUzF8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkRhcmtDbG91ZENvdmVyLkJlYXJpc2h8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ikh1bGxNQTIwMHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5NYXJ1Ym96dS5CbGFja3wxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYXzEwMHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDaGFpa2luTW9uZXlGbG93fDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTIwfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2FtYXJpbGxhLlMzfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0k5fDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6InByaWNlXzUyX3dlZWtfaGlnaCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNhbWFyaWxsYS5SMnwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkhhbmdpbmdNYW58MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiVldNQXwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiVm9sYXRpbGl0eS5NIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWC1ESVsxXXwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE2MHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgtRElfNTBbMV18NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFJQfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2FtYXJpbGxhLlMxfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlR3ZWV6ZXJCb3R0b20uQnVsbGlzaHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTUwfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlAuU0FSfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJNb21fMTQiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiVy5SfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRmlib25hY2NpLlMzfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DYW1hcmlsbGEuUzF8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5SaXNpbmdUaHJlZU1ldGhvZHMuQnVsbGlzaHwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYLURJXzUwfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0k0WzFdIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTIwfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMTV8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guRF81XzNfMyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLldvb2RpZS5TMnwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJCQlBvd2VyfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTNbMV18MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRG9uY2hDaDIwLkxvd2VyfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRfMTRfMV8zWzFdfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5LfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5GYWxsaW5nVGhyZWVNZXRob2RzLkJlYXJpc2h8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYK0RJWzFdfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTIxfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ik1vbmV5Rmxvd3wxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkRvbmNoQ2gyMC5VcHBlciIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElfMTAwfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uV29vZGllLlMxfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTE0NHwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUC5TQVIiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS18xNF8xXzNbMV18MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiZnVuZF9mbG93cy4zWSIsInQiOiJmdW5kYW1lbnRhbF9wcmljZSIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2FtYXJpbGxhLlIxfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuM1doaXRlU29sZGllcnN8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYXzEwMHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEUnwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5Xb29kaWUuUjF8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYLURJXzIwfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURSfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kzfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFhfNTAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiVy5SfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkljaGltb2t1LkxlYWQyfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTIwMHwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5LfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFhfMjB8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMjYiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMjEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiSWNoaW1va3UuTGVhZDJfMjBfNjBfMTIwXzMwfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlVPfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5LXzVfM18zWzFdfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE1fDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Nb3JuaW5nU3Rhcnw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE4IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJlYy5JY2hpbW9rdXwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE1MHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJLbHRDaG5sLnVwcGVyfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjLldSfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuUGllcmNpbmcuQnVsbGlzaHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElfMjBbMV18MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BOHwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYXzIwfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6ImF2ZXJhZ2Vfdm9sdW1lXzYwZF9jYWxjfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQZXJmLjNZIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTc1fDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTEyIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5IYXJhbWkuQmVhcmlzaHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTI2fDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5Xb29kaWUuTWlkZGxlfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRmFsbGluZ1dpbmRvdy5CZWFyaXNoIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uV29vZGllLlMxfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTV8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTJ8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BOXwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJlYy5CQlBvd2VyfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTN8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRbMV18MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS182XzNfM3w1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTYwfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5IYW5naW5nTWFufDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2xhc3NpYy5SMXwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5LaWNraW5nLkJ1bGxpc2h8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE1NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJJY2hpbW9rdS5CTGluZXwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuSGFyYW1pLkJlYXJpc2h8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DYW1hcmlsbGEuUzN8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYLURJXzUwWzFdfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWC1ESV85fDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTh8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWC1ESV8xMDBbMV18MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkV2ZW5pbmdTdGFyfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiSWNoaW1va3UuQ0xpbmVfMjBfNjBfMTIwXzMwfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkhpZ2guQWxsIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkQiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMjZ8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5Xb29kaWUuTWlkZGxlfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE3fDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiYXZlcmFnZV92b2x1bWVfMzBkX2NhbGN8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJXLlJ8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJJY2hpbW9rdS5DTGluZV8yMF82MF8xMjBfMzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiZnVuZF9mbG93cy4xWSIsInQiOiJmdW5kYW1lbnRhbF9wcmljZSIsInIiOm51bGx9LHsibiI6IkFUUnwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5SaXNpbmdXaW5kb3cuQnVsbGlzaHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTYwfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0lbMV0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLjNCbGFja0Nyb3dzfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJhdmVyYWdlX3ZvbHVtZV8zMGRfY2FsY3wxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUExMDB8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjb21tZW5kLk90aGVyfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiTW9tWzFdfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2FtYXJpbGxhLlMzfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEzfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMjZ8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTV8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLldvb2RpZS5SMnwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQkIudXBwZXJ8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYK0RJXzIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5IYW1tZXJ8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuM0JsYWNrQ3Jvd3N8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Fbmd1bGZpbmcuQnVsbGlzaHwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMTJ8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMTR8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkJCLmxvd2VyfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5LXzE0XzFfM3wxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJwcmljZV81Ml93ZWVrX2xvdyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWMuVldNQXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kzMFsxXXwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkFiYW5kb25lZEJhYnkuQnVsbGlzaHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2xhc3NpYy5NaWRkbGV8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWC1ESVsxXXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJJY2hpbW9rdS5MZWFkMiIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuS2lja2luZy5CdWxsaXNofDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkJCLmxvd2VyfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTc1fDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYLURJXzEwMFsxXXw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWMuQkJQb3dlciIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRW5ndWxmaW5nLkJlYXJpc2giLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DbGFzc2ljLlMzfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMjAwfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS182XzNfM3wxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuTW9ybmluZ0RvamlTdGFyLkJ1bGxpc2h8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJMlsxXSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5EXzVfM18zfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTEwfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFPfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTN8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuSGFuZ2luZ01hbnwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRmlib25hY2NpLlMzfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE4OXwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMTV8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJNVsxXXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJST0N8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guUlNJLkR8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJCQi5sb3dlcnwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUEzfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTEwMHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlAuU0FSfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuVHJpU3Rhci5CdWxsaXNofDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE1MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElfOVsxXXwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMTIwfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Eb2ppU3Rhci5CZWFyaXNofDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTg5fDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJIdWxsTUEyMDB8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlNwaW5uaW5nVG9wLldoaXRlfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTEyfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuSGFyYW1pQ3Jvc3MuQnVsbGlzaHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLldvb2RpZS5TMXwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJJY2hpbW9rdS5DTGluZXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJST0N8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiYXZlcmFnZV92b2x1bWVfOTBkX2NhbGN8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkljaGltb2t1LkxlYWQyXzIwXzYwXzEyMF8zMHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ik1vbVsxXSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEzMDB8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLk1hcnVib3p1LldoaXRlfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTV8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkV2ZW5pbmdTdGFyfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESXwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlR3ZWV6ZXJCb3R0b20uQnVsbGlzaHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuM0JsYWNrQ3Jvd3N8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS1sxXXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRG9qaS5HcmF2ZXN0b25lfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ik1BQ0Quc2lnbmFsfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUEzMHwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYK0RJXzl8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRG9uY2hDaDIwLk1pZGRsZXwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkV2ZW5pbmdTdGFyfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS4zV2hpdGVTb2xkaWVyc3wxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElfOVsxXXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRG93bnNpZGVUYXN1a2lHYXAuQmVhcmlzaHwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kzMHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5LXzE0XzFfM3wxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTEwfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2FtYXJpbGxhLlIxfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTNbMV18MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUExNTB8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiYXZlcmFnZV92b2x1bWVfOTBkX2NhbGN8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS184XzNfM3wxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJJY2hpbW9rdS5CTGluZV8yMF82MF8xMjBfMzB8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLktfNl8zXzN8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DYW1hcmlsbGEuUzN8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJOXw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTM0IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTNbMV18MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BOHwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFJQfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kyMHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuSGFyYW1pLkJ1bGxpc2h8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTd8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLk1vcm5pbmdTdGFyfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5GaWJvbmFjY2kuUzN8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5Xb29kaWUuUjN8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMjAwfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLk1hcnVib3p1LldoaXRlfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjLldSfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5TaG9vdGluZ1N0YXJ8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMTN8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5NYXJ1Ym96dS5XaGl0ZXwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlNob290aW5nU3RhcnwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESV81MFsxXXwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJyZWxhdGl2ZV92b2x1bWVfMTBkX2NhbGN8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DbGFzc2ljLlMzfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTlbMV18MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2FtYXJpbGxhLlMyfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ik1vbV8xNFsxXXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuSGFyYW1pLkJlYXJpc2h8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLk1hcnVib3p1LldoaXRlfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuUGllcmNpbmcuQnVsbGlzaHwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgtRElfOXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrREl8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLldvb2RpZS5TMSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5EWzFdfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWF8xMDB8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjb21tZW5kLk1BfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgtRElfMTAwfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJJY2hpbW9rdS5DTGluZV8yMF82MF8xMjBfMzB8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFJQfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiTG93LjFNLkRhdGUiLCJ0IjoidGltZSIsInIiOm51bGx9LHsibiI6IlJTSTIxfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNsYXNzaWMuUzMiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5GaWJvbmFjY2kuUzMiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guRF8xNF8xXzNbMV18NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQkIubG93ZXJ8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkRvamkuR3JhdmVzdG9uZXwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUExMnwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEzMDB8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrREl8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQkIudXBwZXJ8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5SaXNpbmdUaHJlZU1ldGhvZHMuQnVsbGlzaHwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUEzMHwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLk1vcm5pbmdTdGFyfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTE1fDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTIxfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElfNTB8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Im5hdl9kaXNjb3VudF9wcmVtaXVtIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkJCLnVwcGVyXzUwfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE1MHwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5GaWJvbmFjY2kuUzJ8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJEb25jaENoMjAuVXBwZXJ8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJM1sxXXwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRG9qaVN0YXIuQmVhcmlzaHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5TcGlubmluZ1RvcC5XaGl0ZXwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Eb3duc2lkZVRhc3VraUdhcC5CZWFyaXNoIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ik1vbmV5Rmxvd3w1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRmlib25hY2NpLlIyIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTE0NHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRG93bnNpZGVUYXN1a2lHYXAuQmVhcmlzaHwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guRF8xNF8xXzN8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTI1MHwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUExNXwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiTUFDRC5zaWduYWx8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiYXVtX3BlcmYuMU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlNwaW5uaW5nVG9wLkJsYWNrfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5EXzVfM18zWzFdfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Ud2VlemVyVG9wLkJlYXJpc2h8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiYXZlcmFnZV92b2x1bWVfMzBkX2NhbGN8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJN3wzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJJY2hpbW9rdS5MZWFkMXwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGVyZi4zTV9hYnMiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ0NJMjB8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMTV8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlJpc2luZ1RocmVlTWV0aG9kcy5CdWxsaXNofDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMTN8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJhdmVyYWdlX3ZvbHVtZV8xMGRfY2FsY3wxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5EZW1hcmsuTWlkZGxlfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLktfNV8zXzNbMV18MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYLURJXzEwMHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUExMjB8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkljaGltb2t1LkJMaW5lXzIwXzYwXzEyMF8zMHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWMuSHVsbE1BOXw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJJY2hpbW9rdS5MZWFkMXwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRG9qaS5EcmFnb25mbHl8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRfOF8zXzNbMV18MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYXzl8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiSWNoaW1va3UuTGVhZDJ8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkljaGltb2t1LkxlYWQyXzIwXzYwXzEyMF8zMHwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS184XzNfMyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE3fDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMjUwfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUExNHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFJ8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlJpc2luZ1dpbmRvdy5CdWxsaXNofDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2xhc3NpYy5TMXwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjLlVPfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYLURJXzUwWzFdfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlNwaW5uaW5nVG9wLkJsYWNrIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTd8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNDSTIwWzFdfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlJpc2luZ1dpbmRvdy5CdWxsaXNofDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjLkJCUG93ZXJ8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5GaWJvbmFjY2kuUjF8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkRlbWFyay5NaWRkbGV8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURSUHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6ImZ1bmRfZmxvd3MuNVkiLCJ0IjoiZnVuZGFtZW50YWxfcHJpY2UiLCJyIjpudWxsfSx7Im4iOiJFTUExNDR8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJMTB8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMzB8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkhhbmdpbmdNYW58NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNhbWFyaWxsYS5TMnwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRG9qaVN0YXIuQnVsbGlzaHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kzfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWF8xMDB8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5IYW1tZXJ8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYLURJWzFdfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkFiYW5kb25lZEJhYnkuQnVsbGlzaHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNhbWFyaWxsYS5NaWRkbGV8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS4zQmxhY2tDcm93c3wzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBT1sxXXwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMTUwfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSVsxXXwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BNjB8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRfNV8zXzN8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiSGlnaC4xTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkRlbWFyay5SMXwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMjUwfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRG9qaVN0YXIuQnVsbGlzaHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5LWzFdfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2xhc3NpYy5TM3wxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE1NXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUEzMDB8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5EYXJrQ2xvdWRDb3Zlci5CZWFyaXNofDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTEyMHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTIwfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRG9qaS5EcmFnb25mbHl8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQVRSfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjLkljaGltb2t1fDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLlJTSS5LfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUC5TQVJ8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiTW9tfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQVRSUHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRGFya0Nsb3VkQ292ZXIuQmVhcmlzaHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWC1ESV8xMDB8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjLlVPfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLldvb2RpZS5TMnwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYLURJXzIwWzFdfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESV8xMDBbMV0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJMjBbMV18NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUEyMXwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJLbHRDaG5sLnVwcGVyfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEzNHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRG9qaS5HcmF2ZXN0b25lIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTI2fDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJMb3cuM00iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUk9DfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBVFJQfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6ImF2ZXJhZ2Vfdm9sdW1lXzEwZF9jYWxjIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRbMV18MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLjNXaGl0ZVNvbGRpZXJzfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUExMDB8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5EXzE0XzFfM3wxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUEyMHwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkRvamkuRHJhZ29uZmx5IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTIwWzFdfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRmlib25hY2NpLlMzfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkljaGltb2t1LkxlYWQyfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkRvaml8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYK0RJXzIwWzFdfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiVy5SfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5EXzE0XzFfMyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNsYXNzaWMuUjN8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJuYXZfcGVyZi41WSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuUGllcmNpbmcuQnVsbGlzaHwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BNzV8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLldvb2RpZS5NaWRkbGV8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5DbGFzc2ljLlIzfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTI2fDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjLlN0b2NoLlJTSXwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTEyMHwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMzB8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTJbMV18MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJhdmVyYWdlX3ZvbHVtZV8xMGRfY2FsY3wxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUE1fDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlRyaVN0YXIuQmVhcmlzaCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuU3Bpbm5pbmdUb3AuV2hpdGV8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BNTB8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJM1sxXXwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUEzfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kzMHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQLlNBUnwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWMuVU98MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQXZnVmFsdWUuVHJhZGVkXzYwZCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRG9qaS5EcmFnb25mbHl8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgtREkiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS184XzNfM1sxXXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUExMDB8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWC1ESV8yMFsxXXwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYLURJXzlbMV18MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0k0WzFdfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYLURJXzEwMFsxXSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJJY2hpbW9rdS5MZWFkMV8yMF82MF8xMjBfMzB8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLktfMTRfMV8zfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRmFsbGluZ1dpbmRvdy5CZWFyaXNofDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkJCLnVwcGVyfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5Xb29kaWUuUjN8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Eb2ppU3Rhci5CZWFyaXNofDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTN8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTJ8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTMwfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWMuQkJQb3dlcnwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuVHJpU3Rhci5CdWxsaXNofDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRGVtYXJrLk1pZGRsZXw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0k0fDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTEyfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uQ2FtYXJpbGxhLk1pZGRsZXwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUExMDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMzAwfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkljaGltb2t1LkxlYWQxXzIwXzYwXzEyMF8zMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgtRElfMTAwWzFdfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSXwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuT25OZWNrLkJlYXJpc2h8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0k3fDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESV81MHwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5EXzZfM18zWzFdfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTIwMHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuUmlzaW5nVGhyZWVNZXRob2RzLkJ1bGxpc2h8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BODl8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5Xb29kaWUuTWlkZGxlfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5Xb29kaWUuUjJ8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUExNHwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFhfNTB8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkxvbmdTaGFkb3cuTG93ZXJ8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJhdW1fcGVyZi4zWSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE3fDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLktfMTRfMV8zfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWC1ESV8xMDBbMV18MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRfOF8zXzNbMV18MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWCtESV8yMHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLldvb2RpZS5SMnwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRXZlbmluZ1N0YXIiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiS2x0Q2hubC5iYXNpc3w2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kzMHwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJIdWxsTUEyMHwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMjV8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYLURJXzIwWzFdIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTV8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMzQiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlRyaVN0YXIuQmVhcmlzaHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IktsdENobmwudXBwZXJ8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BNjB8NSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWMuQkJQb3dlcnwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5GaWJvbmFjY2kuUjN8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BNjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiVU98MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRmlib25hY2NpLlIzfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFyb29uLlVwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkljaGltb2t1LkNMaW5lXzIwXzYwXzEyMF8zMHw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuTWFydWJvenUuV2hpdGV8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJNHwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWMuVldNQXwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNhbWFyaWxsYS5TMnw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5LXzE0XzFfM1sxXXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJuYXZfdG90YWxfcmV0dXJuLjNNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ik1vbV8xNFsxXXwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQZXJmLjVEX2FicyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRW5ndWxmaW5nLkJlYXJpc2h8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5UcmlTdGFyLkJ1bGxpc2h8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWNvbW1lbmQuT3RoZXJ8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkljaGltb2t1LkxlYWQxfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFPWzJdfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlJpc2luZ1RocmVlTWV0aG9kcy5CdWxsaXNofDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkZpYm9uYWNjaS5TMnwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNsYXNzaWMuTWlkZGxlfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTN8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kyMVsxXXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0kyMHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTIwfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uV29vZGllLlIxfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5SaXNpbmdXaW5kb3cuQnVsbGlzaCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFhfMjB8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkRvbmNoQ2gyMC5NaWRkbGV8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMTIwfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS182XzNfM1sxXXwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJCQi5sb3dlcl81MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuRG93bnNpZGVUYXN1a2lHYXAuQmVhcmlzaHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkljaGltb2t1LkxlYWQxfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkR8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlRyaVN0YXIuQmVhcmlzaHwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQkJQb3dlcnwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkhhbmdpbmdNYW58MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLlVwc2lkZVRhc3VraUdhcC5CdWxsaXNofDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJMlsxXXw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5LXzhfM18zfDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQkJQb3dlcnwxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDQ0kyMFsxXXwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLk1vcm5pbmdEb2ppU3Rhci5CdWxsaXNofDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5EfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWF8yMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElfMTAwfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlcuUnwyNDAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQkIuYmFzaXN8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5LWzFdfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJMnwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEyfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BOHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5TcGlubmluZ1RvcC5CbGFja3wxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJIaWdoLjZNLkRhdGUiLCJ0IjoidGltZSIsInIiOm51bGx9LHsibiI6IkFEWC1ESV8xMDB8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BNTV8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiTW9tXzE0WzFdfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlJTSTIwWzFdfDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTIwMHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJQaXZvdC5NLkNsYXNzaWMuUjJ8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYLURJXzl8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgtREl8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUlNJWzFdfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTh8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU3RvY2guS184XzNfM1sxXXwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJJY2hpbW9rdS5MZWFkMl8yMF82MF8xMjBfMzB8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLjNXaGl0ZVNvbGRpZXJzfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTdG9jaC5SU0kuS3wxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUEzMHwxVyIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE5fDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJFTUEzfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Eb2ppU3Rhci5CdWxsaXNofDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTh8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6Ik1vbmV5Rmxvd3wxTSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgtRElfNTBbMV0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLktpY2tpbmcuQnVsbGlzaHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJCQi5sb3dlcnw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLlJTSS5EfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0k0WzFdfDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuSGFyYW1pLkJ1bGxpc2h8MSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgrRElfNTBbMV18MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTEwMHwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMTJ8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkVuZ3VsZmluZy5CZWFyaXNofDUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BOHwxIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTg5fDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkFEWC1ESV85fDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTd8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLk1hcnVib3p1LldoaXRlfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5IYXJhbWlDcm9zcy5CZWFyaXNofDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWMuSHVsbE1BOXw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5FdmVuaW5nRG9qaVN0YXIuQmVhcmlzaHwzMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJNQUNELmhpc3R8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUGl2b3QuTS5GaWJvbmFjY2kuUjF8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BNDB8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiUmVjLlVPfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJBRFgtRElfMjB8MTIwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkNhbmRsZS5Eb2ppfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0k5fDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuSGFtbWVyfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDYW5kbGUuVHdlZXplckJvdHRvbS5CdWxsaXNofDI0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJTTUE0MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSZWMuVldNQXw2MCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0k5WzFdfDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkJCLnVwcGVyXzUwfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLkRfNV8zXzNbMV0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiTW9uZXlGbG93fDE1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6ImF2ZXJhZ2Vfdm9sdW1lXzMwZF9jYWxjIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkljaGltb2t1LkJMaW5lfDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiSWNoaW1va3UuQkxpbmVfMjBfNjBfMTIwXzMwfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRmlib25hY2NpLlIzfDMwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IktsdENobmwubG93ZXJ8NjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiSHVsbE1BOXwxMjAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQkIuYmFzaXN8MU0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiRU1BMjV8MTUiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiTUFDRC5oaXN0fDFXIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLktfNl8zXzNbMV0iLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQURYK0RJXzIwfDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IkVNQTI1MHw1IiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlBpdm90Lk0uRmlib25hY2NpLlIxfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlN0b2NoLktfNV8zXzN8MVciLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkFiYW5kb25lZEJhYnkuQmVhcmlzaHwxNSIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJSU0k1fDEiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiQ2FuZGxlLkhhcmFtaUNyb3NzLkJlYXJpc2h8MzAiLCJ0IjoibnVtYmVyIiwiciI6bnVsbH0seyJuIjoiU01BMzAwfDYwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTd8MjQwIiwidCI6Im51bWJlciIsInIiOm51bGx9LHsibiI6IlNNQTQwfDEyMCIsInQiOiJudW1iZXIiLCJyIjpudWxsfSx7Im4iOiJDaGFpa2luTW9uZXlGbG93fDFNIiwidCI6Im51bWJlciIsInIiOm51bGx9XX0="}},"time_used":141,"timings":{"blocked":-1,"dns":0,"connect":9,"send":0,"wait":115,"receive":0,"ssl":17},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"snowplow-pixel.tradingview.com/com.tradingview/track","fqdn":"snowplow-pixel.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"beacon","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.627Z","timestamp":1785120634627,"http_version":"","security_state":"","security_info":null,"request":{"raw":"OPTIONS /com.tradingview/track HTTP/1.1\r\nHost: snowplow-pixel.tradingview.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\nAccess-Control-Request-Method: POST\r\nAccess-Control-Request-Headers: content-type\r\nReferer: https://www.tradingview-widget.com/\r\nOrigin: https://www.tradingview-widget.com\r\nSec-Fetch-Storage-Access: none\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\n\r\n","headers":null,"cookies":null,"method":"OPTIONS"},"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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"s3.tradingview.com/external-embedding/embed-widget-symbol-overview.js","fqdn":"s3.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.106Z","timestamp":1785120633106,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 21 Oct 2025 00:00:00 GMT","end":"Tue, 17 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"C4:FE:64:00:30:2A:CD:16:30:95:7E:E1:70:D1:31:3A:D6:33:3A:CC","sha256":"87:D2:67:7D:3E:02:F0:3B:58:BD:38:17:DA:FE:73:C0:CA:25:F9:58:CC:11:14:E0:3A:6E:C3:58:84:9E:BF:52"}}},"request":{"raw":"GET /external-embedding/embed-widget-symbol-overview.js HTTP/1.1\r\nHost: s3.tradingview.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://247optiontradefx.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 02:50:33 GMT\r\ncontent-type: text/javascript\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1837468\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 3000\r\ncache-control: public, max-age=300\r\ncontent-encoding: zstd\r\netag: \"36467b799fea866531b4aeb7a69a8038\"\r\nlast-modified: Fri, 24 Jul 2026 10:29:28 GMT\r\nx-amz-id-2: pW1cG3eofhQSSqWSSSNvvIqys2QtZYxluXkYAcf3kr7FD622248G78fYeN9mVI0JmHOkTQp8m7Y=\r\nx-amz-request-id: HJCVSAAQ6H0363T5\r\nx-amz-server-side-encryption: AES256\r\nx-amz-version-id: KIEn.o5zCQ9R9aCVcWba58GAJ7qB3csl\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncontent-security-policy: default-src 'none'\r\ncdn-cachedat: 07/24/2026 10:29:49\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 7c256a66c1ae48f66a9b20cdff86f593\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\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":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":13375,"size_decoded":6101,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (3458)","md5":"36467b799fea866531b4aeb7a69a8038","sha1":"d8322943c2ce57c5dd1c5104aa657fb2e165ff24","sha256":"5a9522299418e049d7156835fca6066edff28d8575a3d76c3057d2b703e5765d","sha512":"507b704388e0a57d6d874ea2a440e9d7a571429612723f1f9ee29503e76acaee6d56b2c63cfb4d1c56a8796faadbbb8456b23c4f9e7b7d5f35849db0b9914657","ssdeep":"384:gf6uCWoofYkFdj9uvb22tY6q6dr26aMVivSzN:uDluvb22tYN6dr26akxzN","tlshash":"9c52e86ab660dcbd51d982dfa07a2720b61e3944f203aca4b5acd4c554edccca431f7e","first_seen":"2026-07-16T13:40:49.793868Z","last_seen":"2026-07-27T05:54:29.878531Z","times_seen":23,"resource_available":true,"data":"KCgpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHQodCxlKXtpZihudWxsPT09dCl0aHJvdyBuZXcgRXJyb3IoYCR7ZT8/IlZhbHVlIn0gaXMgbnVsbGApO3JldHVybiB0fWNvbnN0IGU9eyJjb2xvci1jb2xkLWdyYXktMzAwIjoiI0IyQjVCRSIsImNvbG9yLWJyYW5kIjoiIzI5NjJGRiIsImNvbG9yLWJyYW5kLWhvdmVyIjoiIzFFNTNFNSIsImNvbG9yLWJyYW5kLWFjdGl2ZSI6IiMxODQ4Q0MifQo7Y29uc3QgaT1KU09OLnBhcnNlKCd7ImNyeXB0by1ta3Qtc2NyZWVuZXIiOnsid2lkdGgiOjEwMDAsImhlaWdodCI6NDkwLCJkZWZhdWx0Q29sdW1uIjoib3ZlcnZpZXciLCJtYXJrZXQiOiJjcnlwdG8iLCJzY3JlZW5lcl90eXBlIjoiY3J5cHRvX21rdCIsImRpc3BsYXlDdXJyZW5jeSI6IlVTRCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwiZXZlbnRzIjp7IndpZHRoIjo1MTAsImhlaWdodCI6NjAwLCJpc1RyYW5zcGFyZW50IjpmYWxzZSwiaGlkZUltcG9ydGFuY2VJbmRpY2F0b3IiOmZhbHNlLCJhdXRvc2l6ZSI6ZmFsc2V9LCJmb3JleC1jcm9zcy1yYXRlcyI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImN1cnJlbmNpZXMiOlsiRVVSIiwiVVNEIiwiSlBZIiwiR0JQIiwiQ0hGIiwiQVVEIiwiQ0FEIiwiTlpEIl0sImZyYW1lRWxlbWVudElkIjpudWxsLCJhdXRvc2l6ZSI6ZmFsc2V9LCJmb3JleC1oZWF0LW1hcCI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImN1cnJlbmNpZXMiOlsiRVVSIiwiVVNEIiwiSlBZIiwiR0JQIiwiQ0hGIiwiQVVEIiwiQ0FEIiwiTlpEIiwiQ05ZIl0sImZyYW1lRWxlbWVudElkIjpudWxsLCJhdXRvc2l6ZSI6ZmFsc2V9LCJob3RsaXN0cyI6eyJ3aWR0aCI6NDAwLCJoZWlnaHQiOjYwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImRhdGVSYW5nZSI6IjEyTSIsInNob3dTeW1ib2xMb2dvIjpmYWxzZX0sIm1hcmtldC1vdmVydmlldyI6eyJ3aWR0aCI6NDAwLCJoZWlnaHQiOjY1MCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImRhdGVSYW5nZSI6IjEyTSIsInNob3dTeW1ib2xMb2dvIjp0cnVlfSwibWFya2V0LXF1b3RlcyI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQ1MCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsInNob3dTeW1ib2xMb2dvIjpmYWxzZX0sIm1pbmktc3ltYm9sLW92ZXJ2aWV3Ijp7IndpZHRoIjozNTAsImhlaWdodCI6MjIwLCJzeW1ib2wiOiJGWDpFVVJVU0QiLCJkYXRlUmFuZ2UiOiIxMk0iLCJpc1RyYW5zcGFyZW50IjpmYWxzZSwiYXV0b3NpemUiOmZhbHNlLCJsYXJnZUNoYXJ0VXJsIjoiIn0sInN5bWJvbC1vdmVydmlldyI6eyJ3aWR0aCI6MTAwMCwiaGVpZ2h0Ijo1MDAsInN5bWJvbHMiOltbIkFwcGxlIiwiQUFQTHwxRCJdLFsiR29vZ2xlIiwiR09PR0x8MUQiXSxbIk1pY3Jvc29mdCIsIk1TRlR8MUQiXV0sImF1dG9zaXplIjpmYWxzZSwiY2hhcnRPbmx5IjpmYWxzZSwiaGlkZURhdGVSYW5nZXMiOmZhbHNlLCJoaWRlTWFya2V0U3RhdHVzIjpmYWxzZSwiaGlkZVN5bWJvbExvZ28iOmZhbHNlLCJzY2FsZVBvc2l0aW9uIjoicmlnaHQiLCJzY2FsZU1vZGUiOiJOb3JtYWwiLCJmb250RmFtaWx5IjoiLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBUcmVidWNoZXQgTVMsIFJvYm90bywgVWJ1bnR1LCBzYW5zLXNlcmlmIiwiZm9udFNpemUiOiIxMCIsIm5vVGltZVNjYWxlIjpmYWxzZSwiY2hhcnRUeXBlIjoiYXJlYSIsInZhbHVlc1RyYWNraW5nIjoiMCIsImNoYW5nZU1vZGUiOiJwcmljZS1hbmQtcGVyY2VudCJ9LCJhZHZhbmNlZC1jaGFydCI6eyJib2R5SWQiOiJ3aWRnZXQtY29udGFpbmVyIiwiYm9keUNsYXNzZXMiOlsiY2hhcnQtcGFnZSIsInVuc2VsZWN0YWJsZSIsIm9uLXdpZGdldCJdfSwic2NyZWVuZXIiOnsid2lkdGgiOjExMDAsImhlaWdodCI6NTIzLCJkZWZhdWx0Q29sdW1uIjoib3ZlcnZpZXciLCJkZWZhdWx0U2NyZWVuIjoiZ2VuZXJhbCIsIm1hcmtldCI6ImZvcmV4Iiwic2hvd1Rvb2xiYXIiOnRydWUsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwic2luZ2xlLXF1b3RlIjp7IndpZHRoIjozNTAsInN5bWJvbCI6IkZYOkVVUlVTRCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwic3ltYm9sLXByb2ZpbGUiOnsid2lkdGgiOjQ4MCwiaGVpZ2h0Ijo2NTAsInN5bWJvbCI6Ik5BU0RBUTpBQVBMIiwiaXNUcmFuc3BhcmVudCI6ZmFsc2V9LCJzeW1ib2wtaW5mbyI6eyJ3aWR0aCI6MTAwMCwic3ltYm9sIjoiTkFTREFROkFBUEwiLCJpc1RyYW5zcGFyZW50IjpmYWxzZX0sInRlY2huaWNhbC1hbmFseXNpcyI6eyJpbnRlcnZhbCI6IjFtIiwid2lkdGgiOjQyNSwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImhlaWdodCI6NDUwLCJzeW1ib2wiOiJOQVNEQVE6QUFQTCIsInNob3dJbnRlcnZhbFRhYnMiOnRydWUsImRpc3BsYXlNb2RlIjoic2luZ2xlIn0sInRpY2tlci10YXBlIjp7ImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6ImFkYXB0aXZlIiwic2hvd1N5bWJvbExvZ28iOmZhbHNlfSwidGlja2VycyI6eyJpc1RyYW5zcGFyZW50IjpmYWxzZSwic2hvd1N5bWJvbExvZ28iOmZhbHNlfSwiZmluYW5jaWFscyI6eyJ3aWR0aCI6NDgwLCJoZWlnaHQiOjgzMCwiYXV0b3NpemUiOmZhbHNlLCJzeW1ib2wiOiJOQVNEQVE6QUFQTCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6InJlZ3VsYXIiLCJsYXJnZUNoYXJ0VXJsIjoiIn0sInRpbWVsaW5lIjp7IndpZHRoIjo0ODAsImhlaWdodCI6ODMwLCJhdXRvc2l6ZSI6ZmFsc2UsImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6InJlZ3VsYXIiLCJmZWVkTW9kZSI6ImFsbF9zeW1ib2xzIn0sInN0b2NrLWhlYXRtYXAiOnsid2lkdGgiOjUwMCwiaGVpZ2h0Ijo1MDAsImF1dG9zaXplIjp0cnVlLCJkYXRhU291cmNlIjoiU1BYNTAwIiwiZXhjaGFuZ2VzIjpbXSwiZ3JvdXBpbmciOiJzZWN0b3IiLCJibG9ja1NpemUiOiJtYXJrZXRfY2FwX2Jhc2ljIiwiYmxvY2tDb2xvciI6ImNoYW5nZSIsImhhc1RvcEJhciI6ZmFsc2UsImlzRGF0YVNldEVuYWJsZWQiOmZhbHNlLCJpc1pvb21FbmFibGVkIjp0cnVlLCJoYXNTeW1ib2xUb29sdGlwIjp0cnVlLCJzeW1ib2xVcmwiOiIiLCJpc01vbm9TaXplIjpmYWxzZX0sImNyeXB0by1jb2lucy1oZWF0bWFwIjp7IndpZHRoIjo1MDAsImhlaWdodCI6NTAwLCJhdXRvc2l6ZSI6dHJ1ZSwiZGF0YVNvdXJjZSI6IkNyeXB0byIsImJsb2NrU2l6ZSI6Im1hcmtldF9jYXBfY2FsYyIsImJsb2NrQ29sb3IiOiIyNGhfY2xvc2VfY2hhbmdlfDUiLCJoYXNUb3BCYXIiOmZhbHNlLCJpc0RhdGFTZXRFbmFibGVkIjpmYWxzZSwiaXNab29tRW5hYmxlZCI6dHJ1ZSwiaGFzU3ltYm9sVG9vbHRpcCI6dHJ1ZSwic3ltYm9sVXJsIjoiIiwiaXNNb25vU2l6ZSI6ZmFsc2V9LCJldGYtaGVhdG1hcCI6eyJ3aWR0aCI6NTAwLCJoZWlnaHQiOjUwMCwiYXV0b3NpemUiOnRydWUsImRhdGFTb3VyY2UiOiJBbGxVU0V0ZiIsImJsb2NrU2l6ZSI6InZvbHVtZSIsImJsb2NrQ29sb3IiOiJjaGFuZ2UiLCJncm91cGluZyI6ImFzc2V0X2NsYXNzIiwiaGFzVG9wQmFyIjpmYWxzZSwiaXNEYXRhU2V0RW5hYmxlZCI6ZmFsc2UsImlzWm9vbUVuYWJsZWQiOnRydWUsImhhc1N5bWJvbFRvb2x0aXAiOnRydWUsInN5bWJvbFVybCI6IiIsImlzTW9ub1NpemUiOmZhbHNlfX0nKQo7dmFyIHIsbzshZnVuY3Rpb24odCl7bGV0IGU7IWZ1bmN0aW9uKHQpe3QuU2V0U3ltYm9sPSJzZXQtc3ltYm9sIix0LlNldEludGVydmFsPSJzZXQtaW50ZXJ2YWwifShlPXQuTmFtZXN8fCh0Lk5hbWVzPXt9KSl9KHJ8fChyPXt9KSksZnVuY3Rpb24odCl7bGV0IGU7IWZ1bmN0aW9uKHQpe3QuU3ltYm9sQ2xpY2s9InR2LXdpZGdldC1zeW1ib2wtY2xpY2siLHQuV2lkZ2V0TG9hZD0idHYtd2lkZ2V0LWxvYWQiLHQuV2lkZ2V0UmVhZHk9InR2LXdpZGdldC1yZWFkeSIsdC5SZXNpemVJZnJhbWU9InR2LXdpZGdldC1yZXNpemUtaWZyYW1lIix0Lk5vRGF0YT0idHYtd2lkZ2V0LW5vLWRhdGEifShlPXQuTmFtZXN8fCh0Lk5hbWVzPXt9KSl9KG98fChvPXt9KSk7Y29uc3Qgcz0iX19GQUlMX18iLG49Il9fTkhUVFBfXyIsYT1uZXcgUmVnRXhwKCJeaHR0cChzKT86KC8vKT8iKTtmdW5jdGlvbiBsKHQ9bG9jYXRpb24uaHJlZil7Y29uc3QgZT1mdW5jdGlvbih0KXt0cnl7Y29uc3QgZT1uZXcgVVJMKHQpO3JldHVybiBhLnRlc3QoZS5wcm90b2NvbCk/bnVsbDpufWNhdGNoKHQpe3JldHVybiBzfX0odCk7cmV0dXJuIGV8fHQucmVwbGFjZShhLCIiKX1jb25zdCBjPXt3aWRnZXRIb3N0OiJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tIixlbnY6IkJBVFRMRSJ9O2NvbnN0IGg9WyJsb2NhbGUiLCJzeW1ib2wiLCJtYXJrZXQiXTtjbGFzcyBke2NvbnN0cnVjdG9yKHQpe3RoaXMuX2NvcHlyaWdodENvbnRhaW5lcj1udWxsO2NvbnN0IGU9dD8/dGhpcy5fZ2V0U2NyaXB0SW5mbygpO2UmJnRoaXMuX3JlcGxhY2VTY3JpcHQoZSl9aGFzQ29weXJpZ2h0KCl7cmV0dXJuISF0aGlzLl9jb3B5cmlnaHRDb250YWluZXJ9Z2V0IHdpZGdldElkKCl7dGhyb3cgbmV3IEVycm9yKCJNZXRob2QgbXVzdCBiZSBvdmVycmlkZGVuIil9d2lkZ2V0VXRtTmFtZSgpe3JldHVybiB0aGlzLndpZGdldElkfWdldCBkZWZhdWx0U2V0dGluZ3MoKXtyZXR1cm4gaVt0aGlzLndpZGdldElkXX1nZXQgcHJvcGVydGllc1RvV29ya1dpdGgoKXtyZXR1cm5bXX1nZXQgdXNlUGFyYW1zRm9yQ29ubmVjdFNvY2tldCgpe3JldHVybiExfWdldCB1c2VTbm93cGxvd1BhZ2VWaWV3KCl7cmV0dXJuITF9dXNlUXVlcnlTdHJpbmdQYXJhbWV0ZXJzKHQpe3JldHVybnt9fWZpbHRlclJhd1NldHRpbmdzKHQpe2NvbnN0IGU9e30saT17Li4udCwuLi50aGlzLnVzZVF1ZXJ5U3RyaW5nUGFyYW1ldGVycyh0KX0scj1PYmplY3Qua2V5cyhpKSxvPW5ldyBTZXQodGhpcy5wcm9wZXJ0aWVzVG9Xb3JrV2l0aCk7cmV0dXJuIHIuZm9yRWFjaCgodD0+e28uaGFzKHQpJiYoZVt0XT1pW3RdKX0pKSxlfWdldCBzaG91bGRMaXN0ZW5Ub0lmcmFtZVJlc2l6ZSgpe3JldHVybiEwfWdldCBwcm9wZXJ0aWVzVG9Ta2lwSW5IYXNoKCl7cmV0dXJuWyJjdXN0b21lciIsImxvY2FsZSJdfWdldCBwcm9wZXJ0aWVzVG9BZGRUb0dldFBhcmFtcygpe3JldHVyblsibG9jYWxlIl19c2hvdWxkQWRkQ29weXJpZ2h0U3R5bGVzKCl7cmV0dXJuITB9X2RlZmF1bHRXaWR0aCgpe31fZGVmYXVsdEhlaWdodCgpe31fZ2V0U2NyaXB0SW5mbygpe2NvbnN0IHQ9ZG9jdW1lbnQuY3VycmVudFNjcmlwdDtpZighdHx8IXQuc3JjKXJldHVybiBjb25zb2xlLmVycm9yKCJDb3VsZCBub3Qgc2VsZi1yZXBsYWNlIHRoZSBzY3JpcHQsIHdpZGdldCBlbWJlZGRpbmcgaGFzIGJlZW4gYWJvcnRlZCIpLG51bGw7cmV0dXJue3NjcmlwdFVSTDpmdW5jdGlvbih0KXtjb25zdCBlPW5ldyBVUkwodCxkb2N1bWVudC5iYXNlVVJJKTtyZXR1cm57aG9zdDplLmhvc3QscGF0aG5hbWU6ZS5wYXRobmFtZSxocmVmOmUuaHJlZixwcm90b2NvbDplLnByb3RvY29sfX0odC5zcmMpLHNjcmlwdEVsZW1lbnQ6dCxpZDp0LmlkLHJhd1NldHRpbmdzOnRoaXMuX3NjcmlwdENvbnRlbnRUb0pTT04odCksb3ZlcnJpZGVIb3N0OnQuZ2V0QXR0cmlidXRlKCJvdmVycmlkZS1ob3N0Iil9fV9yZXBsYWNlU2NyaXB0KGkpe2NvbnN0e3NjcmlwdFVSTDpyLHNjcmlwdEVsZW1lbnQ6cyxyYXdTZXR0aW5nczpuLGlkOmEsb3ZlcnJpZGVIb3N0Omx9PWksaD1sfHxmdW5jdGlvbih0LGU9Yyl7aWYoIkJBVFRMRSI9PT1lLmVudil7aWYod2luZG93LldJREdFVF9IT1NUKXJldHVybiB3aW5kb3cuV0lER0VUX0hPU1Q7aWYodC5ob3N0Lm1hdGNoKC9cLlx3c3RcdypcLlx3diQvaSkpcmV0dXJuYGh0dHBzOi8vJHsoaT10Lmhvc3Qscj0zLGkuc3BsaXQoIi4iKS5zbGljZSgtcikuam9pbigiLiIpKS5yZXBsYWNlKC9eYmV0YTAoPz1cLnhzdGFnaW5nXC50diQpL2ksImJldGEwLXhzdGFnaW5nIikucmVwbGFjZSgvXC4oXHcpdiQvaSwoKHQsZSk9PmAtd2lkZ2V0LiR7ZX12YCkpfWB9dmFyIGkscjtyZXR1cm4gZS53aWRnZXRIb3N0fShyKSxkPXMucGFyZW50Tm9kZTtuJiYidGltZWxpbmUiPT09dGhpcy53aWRnZXRVdG1OYW1lKCkmJihuLmxvY2FsZT0iZW4iKTtjb25zdCBnPXMubm9uY2V8fHMuZ2V0QXR0cmlidXRlKCJub25jZSIpLHU9ZnVuY3Rpb24odCl7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3QgZT10LnF1ZXJ5U2VsZWN0b3IoIiN0cmFkaW5ndmlldy1jb3B5cmlnaHQiKSxpPXQucXVlcnlTZWxlY3RvcigiI3RyYWRpbmd2aWV3LXF1b3RlcyIpLHI9ZXx8aTtyZXR1cm4gciYmdC5yZW1vdmVDaGlsZChyKSxyfShkKSxtPWQucXVlcnlTZWxlY3RvcigiLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQiKTt0aGlzLl9jb3B5cmlnaHRDb250YWluZXI9dXx8bTtjb25zdCBwPWQuY2xhc3NMaXN0LmNvbnRhaW5zKCJ0cmFkaW5ndmlldy13aWRnZXQtY29udGFpbmVyIik7dGhpcy5pZnJhbWVDb250YWluZXI9ZCYmcD9kOmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLG4mJih0aGlzLnNldHRpbmdzPXRoaXMuZmlsdGVyUmF3U2V0dGluZ3MobikpLG4mJnRoaXMuX3ZhbGlkYXRlU2V0dGluZ3MoKXx8KGNvbnNvbGUuZXJyb3IoIkludmFsaWQgc2V0dGluZ3MgcHJvdmlkZWQsIGZhbGwgYmFjayB0byBkZWZhdWx0cyIpLHRoaXMuc2V0dGluZ3M9dGhpcy5maWx0ZXJSYXdTZXR0aW5ncyh0aGlzLmRlZmF1bHRTZXR0aW5ncykpCjtjb25zdCBmPSIzMnB4Iix7d2lkdGg6dyxoZWlnaHQ6eX09dGhpcy5zZXR0aW5ncyxiPXZvaWQgMD09PXk/dm9pZCAwOmAke3l9JHtOdW1iZXIuaXNJbnRlZ2VyKHkpPyJweCI6IiJ9YCxTPXZvaWQgMD09PXc/dm9pZCAwOmAke3d9JHtOdW1iZXIuaXNJbnRlZ2VyKHcpPyJweCI6IiJ9YDtpZih2b2lkIDAhPT1TJiYodGhpcy5pZnJhbWVDb250YWluZXIuc3R5bGUud2lkdGg9Uyksdm9pZCAwIT09YiYmKHRoaXMuaWZyYW1lQ29udGFpbmVyLnN0eWxlLmhlaWdodD1iKSx0aGlzLnNob3VsZEFkZENvcHlyaWdodFN0eWxlcygpKXtjb25zdCB0PWZ1bmN0aW9uKCl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3JldHVybiB0LmlubmVySFRNTD1gXG5cdC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IHtcblx0XHRmb250LXNpemU6IDEzcHggIWltcG9ydGFudDtcblx0XHRsaW5lLWhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcblx0XHQvKiBAbWl4aW4gc2YtcHJvLWRpc3BsYXktZm9udDsgKi9cblx0XHRmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnVHJlYnVjaGV0IE1TJywgUm9ib3RvLCBVYnVudHUsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1jb2xkLWdyYXktMzAwIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYSB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0Y29sb3I6ICR7ZVsiY29sb3ItY29sZC1ncmF5LTMwMCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYTp2aXNpdGVkIHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1jb2xkLWdyYXktMzAwIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOmhvdmVyIC5ibHVlLXRleHQge1xuXHRcdGNvbG9yOiAke2VbImNvbG9yLWJyYW5kLWhvdmVyIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOmFjdGl2ZSAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZC1hY3RpdmUiXX0gIWltcG9ydGFudDtcblx0fVxuXG5cdC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IGE6dmlzaXRlZCAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cdGAsdH0oKTtnJiZ0LnNldEF0dHJpYnV0ZSgibm9uY2UiLGcpLHRoaXMuaWZyYW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKHQpfWNvbnN0IHY9dGhpcy5oYXNDb3B5cmlnaHQoKT9gY2FsYygxMDAlIC0gJHtmfSlgOiIxMDAlIixDPWxvY2F0aW9uLmhvc3RuYW1lLFQ9bT8id2lkZ2V0X25ldyI6IndpZGdldCIsXz10aGlzLndpZGdldFV0bU5hbWUoKTt0aGlzLnNldHRpbmdzLnV0bV9zb3VyY2U9Qyx0aGlzLnNldHRpbmdzLnV0bV9tZWRpdW09VCx0aGlzLnNldHRpbmdzLnV0bV9jYW1wYWlnbj1fLHRoaXMuX3VwZGF0ZUNvcHlyaWdodEhyZWZQYXJhbXMoQyxULF8pO2NvbnN0IGs9dGhpcy5zZXR0aW5ncy5pZnJhbWVUaXRsZXx8YCR7dGhpcy53aWRnZXRJZC5yZXBsYWNlKCItIiwiICIpfSBUcmFkaW5nVmlldyB3aWRnZXRgLEE9dGhpcy5zZXR0aW5ncy5pZnJhbWVMYW5nfHwiZW4iO3RoaXMuaWZyYW1lPXRoaXMuX2NyZWF0ZUlmcmFtZSh2LGgsYSxrLEEpLHRoaXMuX2FkZENTUEVycm9yTGlzdGVuZXIoaCksZyYmdGhpcy5pZnJhbWUuc2V0QXR0cmlidXRlKCJub25jZSIsZyk7Y29uc3QgTD10aGlzLmlmcmFtZUNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCIudHJhZGluZ3ZpZXctd2lkZ2V0LWNvbnRhaW5lcl9fd2lkZ2V0Iik7aWYoTD8odChMLnBhcmVudEVsZW1lbnQpLnJlcGxhY2VDaGlsZCh0aGlzLmlmcmFtZSxMKSxzPy5yZW1vdmUoKSk6cD8odGhpcy5pZnJhbWVDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5pZnJhbWUpLHM/LnJlbW92ZSgpKToodGhpcy5pZnJhbWVDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5pZnJhbWUpLGQucmVwbGFjZUNoaWxkKHRoaXMuaWZyYW1lQ29udGFpbmVyLHQocykpKSx0aGlzLnNob3VsZExpc3RlblRvSWZyYW1lUmVzaXplJiZmdW5jdGlvbih0LGUsaSl7Y29uc3Qgcj1lLmNvbnRlbnRXaW5kb3c7aWYoIXIpcmV0dXJuIGNvbnNvbGUuZXJyb3IoIkNhbm5vdCBsaXN0ZW4gdG8gdGhlIGV2ZW50IGZyb20gdGhlIHByb3ZpZGVkIGlmcmFtZSwgY29udGVudFdpbmRvdyBpcyBub3QgYXZhaWxhYmxlIiksKCk9Pnt9O2Z1bmN0aW9uIG8oZSl7ZS5zb3VyY2UmJmUuc291cmNlPT09ciYmZS5kYXRhJiZlLmRhdGEubmFtZSYmZS5kYXRhLm5hbWU9PT10JiZpKGUuZGF0YS5kYXRhKX13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsbywhMSl9KG8uTmFtZXMuUmVzaXplSWZyYW1lLHRoaXMuaWZyYW1lLCh0PT57dC53aWR0aCYmKHRoaXMuaWZyYW1lLnN0eWxlLndpZHRoPXQud2lkdGgrInB4Iix0aGlzLmlmcmFtZUNvbnRhaW5lci5zdHlsZS53aWR0aD10LndpZHRoKyJweCIpLHRoaXMuaWZyYW1lLnN0eWxlLmhlaWdodD10LmhlaWdodCsicHgiLHRoaXMuaWZyYW1lQ29udGFpbmVyLnN0eWxlLmhlaWdodD10LmhlaWdodCsodGhpcy5oYXNDb3B5cmlnaHQoKT8zMjowKSsicHgifSkpLHUpe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC5zdHlsZS5oZWlnaHQ9Zix0LnN0eWxlLmxpbmVIZWlnaHQ9Zix2b2lkIDAhPT1TJiYodC5zdHlsZS53aWR0aD1TKSx0LnN0eWxlLnRleHRBbGlnbj0iY2VudGVyIix0LnN0eWxlLnZlcnRpY2FsQWxpZ249Im1pZGRsZSIsdC5pbm5lckhUTUw9dS5pbm5lckhUTUwsCnRoaXMuaWZyYW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKHQpfX1faWZyYW1lU3JjQmFzZSh0KXtsZXQgZT1gJHt0fS9lbWJlZC13aWRnZXQvJHt0aGlzLndpZGdldElkfS9gO3JldHVybiB0aGlzLnNldHRpbmdzLmN1c3RvbWVyJiYtMSE9PXRoaXMucHJvcGVydGllc1RvU2tpcEluSGFzaC5pbmRleE9mKCJjdXN0b21lciIpJiYoZSs9YCR7dGhpcy5zZXR0aW5ncy5jdXN0b21lcn0vYCksZX1fdmFsaWRhdGVTZXR0aW5ncygpe2NvbnN0IHQ9KHQsZSk9PntpZih2b2lkIDA9PT10KXJldHVybiBlO2NvbnN0IGk9U3RyaW5nKHQpO3JldHVybi9eXGQrJC8udGVzdChpKT9wYXJzZUludChpKTovXihcZCslfGF1dG8pJC8udGVzdChpKT9pOm51bGx9LGU9dCh0aGlzLnNldHRpbmdzLndpZHRoLHRoaXMuX2RlZmF1bHRXaWR0aCgpKSxpPXQodGhpcy5zZXR0aW5ncy5oZWlnaHQsdGhpcy5fZGVmYXVsdEhlaWdodCgpKTtyZXR1cm4gbnVsbCE9PWUmJm51bGwhPT1pJiYodGhpcy5zZXR0aW5ncy53aWR0aD1lLHRoaXMuc2V0dGluZ3MuaGVpZ2h0PWksITApfV9zZXRTZXR0aW5nc1F1ZXJ5U3RyaW5nKHQpe2NvbnN0IGU9dGhpcy5wcm9wZXJ0aWVzVG9BZGRUb0dldFBhcmFtcy5maWx0ZXIoKHQ9Pi0xIT09aC5pbmRleE9mKHQpKSksaT1mdW5jdGlvbih0LGUpe2NvbnN0IGk9T2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YodCkpO2Zvcihjb25zdCByIG9mIGUpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJihpW3JdPXRbcl0pO3JldHVybiBpfSh0aGlzLnNldHRpbmdzLGUpO2Zvcihjb25zdFtlLHJdb2YgT2JqZWN0LmVudHJpZXMoaSkpdC5zZWFyY2hQYXJhbXMuYXBwZW5kKGUscil9X3NldEhhc2hTdHJpbmcodCxlKXtjb25zdCBpPXt9O2UmJihpLmZyYW1lRWxlbWVudElkPWUpLE9iamVjdC5rZXlzKHRoaXMuc2V0dGluZ3MpLmZvckVhY2goKHQ9PnstMT09PXRoaXMucHJvcGVydGllc1RvU2tpcEluSGFzaC5pbmRleE9mKHQpJiYoaVt0XT10aGlzLnNldHRpbmdzW3RdKX0pKSwodGhpcy51c2VQYXJhbXNGb3JDb25uZWN0U29ja2V0fHx0aGlzLnVzZVNub3dwbG93UGFnZVZpZXcpJiYoaVsicGFnZS11cmkiXT1sKCkpO09iamVjdC5rZXlzKGkpLmxlbmd0aD4wJiYodC5oYXNoPWVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShpKSkpfV9zY3JpcHRDb250ZW50VG9KU09OKHQpe2NvbnN0IGU9dC5pbm5lckhUTUwudHJpbSgpO3RyeXtyZXR1cm4gSlNPTi5wYXJzZShlKX1jYXRjaCh0KXtyZXR1cm4gY29uc29sZS5lcnJvcihgV2lkZ2V0IHNldHRpbmdzIHBhcnNlIGVycm9yOiAke3R9YCksbnVsbH19X2NyZWF0ZUlmcmFtZSh0LGUsaSxyLG8pe2NvbnN0IHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7aSYmKHMuaWQ9aSksdGhpcy5zZXR0aW5ncy5lbmFibGVTY3JvbGxpbmd8fHMuc2V0QXR0cmlidXRlKCJzY3JvbGxpbmciLCJubyIpLHMuc2V0QXR0cmlidXRlKCJhbGxvd3RyYW5zcGFyZW5jeSIsInRydWUiKSxzLnNldEF0dHJpYnV0ZSgiZnJhbWVib3JkZXIiLCIwIikscy5zdHlsZS51c2VyU2VsZWN0PSJub25lIixzLnN0eWxlLmJveFNpemluZz0iYm9yZGVyLWJveCIscy5zdHlsZS5kaXNwbGF5PSJibG9jayIscy5zdHlsZS5oZWlnaHQ9dCxzLnN0eWxlLndpZHRoPSIxMDAlIjtjb25zdCBuPW5ldyBVUkwodGhpcy5faWZyYW1lU3JjQmFzZShlKSk7cmV0dXJuIHRoaXMuX3NldFNldHRpbmdzUXVlcnlTdHJpbmcobiksdGhpcy5fc2V0SGFzaFN0cmluZyhuLGkpLHMuc2V0QXR0cmlidXRlKCJzcmMiLG4udG9TdHJpbmcoKSkscy50aXRsZT1yLHMubGFuZz1vLHN9X2FkZENTUEVycm9yTGlzdGVuZXIodCl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2VjdXJpdHlwb2xpY3l2aW9sYXRpb24iLChlPT57ZS5ibG9ja2VkVVJJLmluY2x1ZGVzKHQpJiYodGhpcy5fdHJ5Rml4Q1NQSXNzdWVXaXRoRmFsbGJhY2sodCksY29uc29sZS53YXJuKCJQbGVhc2UgdXBkYXRlIHlvdXIgQ1NQIHJ1bGVzIHRvIGFsbG93IHRoZSB0cmFkaW5ndmlldy13aWRnZXQuY29tIG9yaWdpbiBmb3IgZnJhbWUtc3JjLiIpKX0pKX1fdHJ5Rml4Q1NQSXNzdWVXaXRoRmFsbGJhY2sodCl7Y29uc3QgZT10aGlzLmlmcmFtZS5nZXRBdHRyaWJ1dGUoInNyYyIpO2lmKGUpe2NvbnN0IGk9bmV3IFVSTChlLnJlcGxhY2UodCwiaHR0cHM6Ly9zLnRyYWRpbmd2aWV3LmNvbSIpKTt0aGlzLmlmcmFtZS5zZXRBdHRyaWJ1dGUoInNyYyIsaS5ocmVmKX19X3VwZGF0ZUNvcHlyaWdodEhyZWZQYXJhbXModCxlLGkpe2lmKHRoaXMuX2NvcHlyaWdodENvbnRhaW5lcil7Y29uc3Qgcj10aGlzLl9jb3B5cmlnaHRDb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgiYSIpO3ImJnIuZm9yRWFjaCgocj0+e2NvbnN0IG89ci5nZXRBdHRyaWJ1dGUoImhyZWYiKTtpZihvKXRyeXtjb25zdCBzPW5ldyBVUkwobyk7cy5zZWFyY2hQYXJhbXMuc2V0KCJ1dG1fc291cmNlIix0KSxzLnNlYXJjaFBhcmFtcy5zZXQoInV0bV9tZWRpdW0iLGUpLHMuc2VhcmNoUGFyYW1zLnNldCgidXRtX2NhbXBhaWduIixpKSxyLnNldEF0dHJpYnV0ZSgiaHJlZiIscy50b1N0cmluZygpKX1jYXRjaCh0KXtjb25zb2xlLmxvZyhgQ2Fubm90IHVwZGF0ZSBsaW5rIFVUTSBwYXJhbXMsIGhyZWY9IiR7b30iYCl9fSkpfX19CmNvbnN0IGc9WyJzeW1ib2xzIiwiZGF0ZVJhbmdlcyIsImxvY2FsZSIsImNoYXJ0T25seSIsImNvbG9yVGhlbWUiLCJpc1RyYW5zcGFyZW50Iiwic2hvd1ZvbHVtZSIsInNob3dNQSIsImhpZGVEYXRlUmFuZ2VzIiwiaGlkZU1hcmtldFN0YXR1cyIsImhpZGVTeW1ib2xMb2dvIiwic2NhbGVQb3NpdGlvbiIsInNjYWxlTW9kZSIsImZvbnRGYW1pbHkiLCJub1RpbWVTY2FsZSIsImhlaWdodCIsIndpZHRoIiwiYmFja2dyb3VuZENvbG9yIiwiZ3JpZExpbmVDb2xvciIsImZvbnRDb2xvciIsImZvbnRTaXplIiwid2lkZ2V0Rm9udENvbG9yIiwiY2hhcnRUeXBlIiwiY29sb3IiLCJjb2xvckdyb3dpbmciLCJjb2xvckZhbGxpbmciLCJsaW5lQ29sb3IiLCJsaW5lQ29sb3JHcm93aW5nIiwibGluZUNvbG9yRmFsbGluZyIsInRvcENvbG9yIiwiYm90dG9tQ29sb3IiLCJ1cENvbG9yIiwiZG93bkNvbG9yIiwiYm9yZGVyVXBDb2xvciIsImJvcmRlckRvd25Db2xvciIsIndpY2tVcENvbG9yIiwid2lja0Rvd25Db2xvciIsInZvbHVtZVVwQ29sb3IiLCJ2b2x1bWVEb3duQ29sb3IiLCJsaW5lVHlwZSIsImxpbmVXaWR0aCIsInZhbHVlc1RyYWNraW5nIiwiY2hhbmdlTW9kZSIsImRhdGVGb3JtYXQiLCJ0aW1lSG91cnNGb3JtYXQiLCJtYUxpbmVDb2xvciIsIm1hTGluZVdpZHRoIiwibWFMZW5ndGgiLCJjb21wYXJlU3ltYm9sIiwiaGVhZGVyRm9udFNpemUiXTtuZXcgY2xhc3MgZXh0ZW5kcyBke2dldCB3aWRnZXRJZCgpe3JldHVybiJzeW1ib2wtb3ZlcnZpZXcifWdldCB1c2VQYXJhbXNGb3JDb25uZWN0U29ja2V0KCl7cmV0dXJuITB9Z2V0IHByb3BlcnRpZXNUb1dvcmtXaXRoKCl7cmV0dXJuWy4uLmcsImN1c3RvbWVyIl19X2RlZmF1bHRXaWR0aCgpe3JldHVybiAzMDB9X2RlZmF1bHRIZWlnaHQoKXtyZXR1cm4gNDAwfX19KSgpOw=="}},"time_used":69,"timings":{"blocked":-1,"dns":45,"connect":15,"send":0,"wait":3,"receive":-1,"ssl":6},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/img/faqs.png","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.148Z","timestamp":1785120633148,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /img/faqs.png HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: image/png\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-39a81\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":236161,"size_decoded":236284,"mime_type":"image/png","magic":"PNG image data, 512 x 584, 8-bit/color RGBA, non-interlaced","md5":"342b84c3ab7a09ab3e3af21aa7c45be9","sha1":"e489d804d846aceb8c012dd8ee44ca9822e15b30","sha256":"b1666ac08be7a5aa58a794be0a8218f4758434862ce66591e3023516377e8fcf","sha512":"6cdddce01c4eb349182d878505fa87d59e1b7ef92fb46cf995b509b53dd90f0895f08c5e8caccf53a20c3b0842c370b9c5ff4f3491e45fd316482648194d0aba","ssdeep":"6144:MUFqumC9Y2UkzZ+C8xoccFxg7dB5le8qUxCKlIXOJe9:Mzu02Uk38xVcGBu8lMdXOe9","tlshash":"503423680ccbbb16c886f2f45da11149acf38c8cc2e917f5da10cb56f7664a50993bb7","first_seen":"2026-07-27T02:45:25.235533Z","last_seen":"2026-07-27T02:59:54.572398Z","times_seen":4,"resource_available":false,"data":"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"}},"time_used":116,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":30,"receive":86,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/32387.47ace83c61a884341cd6.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.498Z","timestamp":1785120634498,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/32387.47ace83c61a884341cd6.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b73-205c8\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:23 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2b8a2f673244c98b4fc624d5071ebade\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":132552,"size_decoded":45612,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"6ca36e244c390f41edaabac69e09f117","sha1":"8cfcf1d847ab9d43572b0f37ce475fca4bba1dbd","sha256":"fb8f00815532561e6403dfa828baaf51b380bfdf9f9c92754695c2cfe989db60","sha512":"9d1bd8f2293d36779a4c8cc18dd6650a7b35228b865226f0071eb07da8a810a5bc9aebd1cd29957a9fdd12cab5df40ab9fbbd7d68ac374e023c356b4178e4e3d","ssdeep":"1536:pvqY4wv/eXX5nEIk5JGA1SpxhDGougC6dZJUz3wA3ovSuHpL+:pyIscb61Uz3wGZML+","tlshash":"6bd3f7e83996f6526ab7126700ef1807733c1a1b280c4960a615fd8e75b842fb17bfdd","first_seen":"2026-05-05T10:36:04.869805Z","last_seen":"2026-07-27T05:19:37.132998Z","times_seen":2137,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMzIzODddLHs1MzIzODcoZSxuLHQpe3ZhciByPXQoNzc5NDc0KSxsPXQoMTgyNjE0KTtmdW5jdGlvbiBhKGUpe2Zvcih2YXIgbj0iaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL2Vycm9yLWRlY29kZXIuaHRtbD9pbnZhcmlhbnQ9IitlLHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKW4rPSImYXJnc1tdPSIrZW5jb2RlVVJJQ29tcG9uZW50KGFyZ3VtZW50c1t0XSk7cmV0dXJuIk1pbmlmaWVkIFJlYWN0IGVycm9yICMiK2UrIjsgdmlzaXQgIituKyIgZm9yIHRoZSBmdWxsIG1lc3NhZ2Ugb3IgdXNlIHRoZSBub24tbWluaWZpZWQgZGV2IGVudmlyb25tZW50IGZvciBmdWxsIGVycm9ycyBhbmQgYWRkaXRpb25hbCBoZWxwZnVsIHdhcm5pbmdzLiJ9dmFyIHU9bmV3IFNldCxvPXt9O2Z1bmN0aW9uIGkoZSxuKXtzKGUsbikscyhlKyJDYXB0dXJlIixuKX1mdW5jdGlvbiBzKGUsbil7Zm9yKG9bZV09bixlPTA7ZTxuLmxlbmd0aDtlKyspdS5hZGQobltlXSl9dmFyIGM9ISgidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvd3x8dm9pZCAwPT09d2luZG93LmRvY3VtZW50fHx2b2lkIDA9PT13aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCksZj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LGQ9L15bOkEtWl9hLXpcdTAwQzAtXHUwMEQ2XHUwMEQ4LVx1MDBGNlx1MDBGOC1cdTAyRkZcdTAzNzAtXHUwMzdEXHUwMzdGLVx1MUZGRlx1MjAwQy1cdTIwMERcdTIwNzAtXHUyMThGXHUyQzAwLVx1MkZFRlx1MzAwMS1cdUQ3RkZcdUY5MDAtXHVGRENGXHVGREYwLVx1RkZGRF1bOkEtWl9hLXpcdTAwQzAtXHUwMEQ2XHUwMEQ4LVx1MDBGNlx1MDBGOC1cdTAyRkZcdTAzNzAtXHUwMzdEXHUwMzdGLVx1MUZGRlx1MjAwQy1cdTIwMERcdTIwNzAtXHUyMThGXHUyQzAwLVx1MkZFRlx1MzAwMS1cdUQ3RkZcdUY5MDAtXHVGRENGXHVGREYwLVx1RkZGRFwtLjAtOVx1MDBCN1x1MDMwMC1cdTAzNkZcdTIwM0YtXHUyMDQwXSokLyxwPXt9LG09e307ZnVuY3Rpb24gaChlLG4sdCxyLGwsYSx1KXt0aGlzLmFjY2VwdHNCb29sZWFucz0yPT09bnx8Mz09PW58fDQ9PT1uLHRoaXMuYXR0cmlidXRlTmFtZT1yLHRoaXMuYXR0cmlidXRlTmFtZXNwYWNlPWwsdGhpcy5tdXN0VXNlUHJvcGVydHk9dCx0aGlzLnByb3BlcnR5TmFtZT1lLHRoaXMudHlwZT1uLHRoaXMuc2FuaXRpemVVUkw9YSx0aGlzLnJlbW92ZUVtcHR5U3RyaW5nPXV9dmFyIGc9e307ImNoaWxkcmVuIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIGRlZmF1bHRWYWx1ZSBkZWZhdWx0Q2hlY2tlZCBpbm5lckhUTUwgc3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nIHN1cHByZXNzSHlkcmF0aW9uV2FybmluZyBzdHlsZSIuc3BsaXQoIiAiKS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsMCwhMSxlLG51bGwsITEsITEpfSkpLFtbImFjY2VwdENoYXJzZXQiLCJhY2NlcHQtY2hhcnNldCJdLFsiY2xhc3NOYW1lIiwiY2xhc3MiXSxbImh0bWxGb3IiLCJmb3IiXSxbImh0dHBFcXVpdiIsImh0dHAtZXF1aXYiXV0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIG49ZVswXTtnW25dPW5ldyBoKG4sMSwhMSxlWzFdLG51bGwsITEsITEpfSkpLFsiY29udGVudEVkaXRhYmxlIiwiZHJhZ2dhYmxlIiwic3BlbGxDaGVjayIsInZhbHVlIl0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7Z1tlXT1uZXcgaChlLDIsITEsZS50b0xvd2VyQ2FzZSgpLG51bGwsITEsITEpfSkpLFsiYXV0b1JldmVyc2UiLCJleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIiwiZm9jdXNhYmxlIiwicHJlc2VydmVBbHBoYSJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSwyLCExLGUsbnVsbCwhMSwhMSl9KSksImFsbG93RnVsbFNjcmVlbiBhc3luYyBhdXRvRm9jdXMgYXV0b1BsYXkgY29udHJvbHMgZGVmYXVsdCBkZWZlciBkaXNhYmxlZCBkaXNhYmxlUGljdHVyZUluUGljdHVyZSBkaXNhYmxlUmVtb3RlUGxheWJhY2sgZm9ybU5vVmFsaWRhdGUgaGlkZGVuIGxvb3Agbm9Nb2R1bGUgbm9WYWxpZGF0ZSBvcGVuIHBsYXlzSW5saW5lIHJlYWRPbmx5IHJlcXVpcmVkIHJldmVyc2VkIHNjb3BlZCBzZWFtbGVzcyBpdGVtU2NvcGUiLnNwbGl0KCIgIikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7Z1tlXT1uZXcgaChlLDMsITEsZS50b0xvd2VyQ2FzZSgpLG51bGwsITEsITEpfSkpLFsiY2hlY2tlZCIsIm11bHRpcGxlIiwibXV0ZWQiLCJzZWxlY3RlZCJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSwzLCEwLGUsbnVsbCwhMSwhMSl9KSksWyJjYXB0dXJlIiwiZG93bmxvYWQiXS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsNCwhMSxlLG51bGwsITEsITEpfSkpLFsiY29scyIsInJvd3MiLCJzaXplIiwic3BhbiJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSw2LCExLGUsbnVsbCwhMSwhMSl9KSksWyJyb3dTcGFuIiwic3RhcnQiXS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsNSwhMSxlLnRvTG93ZXJDYXNlKCksbnVsbCwhMSwhMSl9KSk7dmFyIHY9L1tcLTpdKFthLXpdKS9nO2Z1bmN0aW9uIHkoZSl7cmV0dXJuIGVbMV0udG9VcHBlckNhc2UoKX1mdW5jdGlvbiBiKGUsbix0LHIpe3ZhciBsPWcuaGFzT3duUHJvcGVydHkobik/Z1tuXTpudWxsOyhudWxsIT09bD8wIT09bC50eXBlOnJ8fCEoMjxuLmxlbmd0aCl8fCJvIiE9PW5bMF0mJiJPIiE9PW5bMF18fCJuIiE9PW5bMV0mJiJOIiE9PW5bMV0pJiYoZnVuY3Rpb24oZSxuLHQscil7aWYobnVsbD09bnx8ZnVuY3Rpb24oZSxuLHQscil7aWYobnVsbCE9PXQmJjA9PT10LnR5cGUpcmV0dXJuITE7c3dpdGNoKHR5cGVvZiBuKXtjYXNlImZ1bmN0aW9uIjpjYXNlInN5bWJvbCI6cmV0dXJuITA7Y2FzZSJib29sZWFuIjpyZXR1cm4hciYmKG51bGwhPT10PyF0LmFjY2VwdHNCb29sZWFuczoiZGF0YS0iIT09KGU9ZS50b0xvd2VyQ2FzZSgpLnNsaWNlKDAsNSkpJiYiYXJpYS0iIT09ZSk7ZGVmYXVsdDpyZXR1cm4hMX19KGUsbix0LHIpKXJldHVybiEwCjtpZihyKXJldHVybiExO2lmKG51bGwhPT10KXN3aXRjaCh0LnR5cGUpe2Nhc2UgMzpyZXR1cm4hbjtjYXNlIDQ6cmV0dXJuITE9PT1uO2Nhc2UgNTpyZXR1cm4gaXNOYU4obik7Y2FzZSA2OnJldHVybiBpc05hTihuKXx8MT5ufXJldHVybiExfShuLHQsbCxyKSYmKHQ9bnVsbCkscnx8bnVsbD09PWw/ZnVuY3Rpb24oZSl7cmV0dXJuISFmLmNhbGwobSxlKXx8IWYuY2FsbChwLGUpJiYoZC50ZXN0KGUpP21bZV09ITA6KHBbZV09ITAsITEpKX0obikmJihudWxsPT09dD9lLnJlbW92ZUF0dHJpYnV0ZShuKTplLnNldEF0dHJpYnV0ZShuLCIiK3QpKTpsLm11c3RVc2VQcm9wZXJ0eT9lW2wucHJvcGVydHlOYW1lXT1udWxsPT09dD8zIT09bC50eXBlJiYiIjp0OihuPWwuYXR0cmlidXRlTmFtZSxyPWwuYXR0cmlidXRlTmFtZXNwYWNlLG51bGw9PT10P2UucmVtb3ZlQXR0cmlidXRlKG4pOih0PTM9PT0obD1sLnR5cGUpfHw0PT09bCYmITA9PT10PyIiOiIiK3Qscj9lLnNldEF0dHJpYnV0ZU5TKHIsbix0KTplLnNldEF0dHJpYnV0ZShuLHQpKSkpfSJhY2NlbnQtaGVpZ2h0IGFsaWdubWVudC1iYXNlbGluZSBhcmFiaWMtZm9ybSBiYXNlbGluZS1zaGlmdCBjYXAtaGVpZ2h0IGNsaXAtcGF0aCBjbGlwLXJ1bGUgY29sb3ItaW50ZXJwb2xhdGlvbiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnMgY29sb3ItcHJvZmlsZSBjb2xvci1yZW5kZXJpbmcgZG9taW5hbnQtYmFzZWxpbmUgZW5hYmxlLWJhY2tncm91bmQgZmlsbC1vcGFjaXR5IGZpbGwtcnVsZSBmbG9vZC1jb2xvciBmbG9vZC1vcGFjaXR5IGZvbnQtZmFtaWx5IGZvbnQtc2l6ZSBmb250LXNpemUtYWRqdXN0IGZvbnQtc3RyZXRjaCBmb250LXN0eWxlIGZvbnQtdmFyaWFudCBmb250LXdlaWdodCBnbHlwaC1uYW1lIGdseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWwgZ2x5cGgtb3JpZW50YXRpb24tdmVydGljYWwgaG9yaXotYWR2LXggaG9yaXotb3JpZ2luLXggaW1hZ2UtcmVuZGVyaW5nIGxldHRlci1zcGFjaW5nIGxpZ2h0aW5nLWNvbG9yIG1hcmtlci1lbmQgbWFya2VyLW1pZCBtYXJrZXItc3RhcnQgb3ZlcmxpbmUtcG9zaXRpb24gb3ZlcmxpbmUtdGhpY2tuZXNzIHBhaW50LW9yZGVyIHBhbm9zZS0xIHBvaW50ZXItZXZlbnRzIHJlbmRlcmluZy1pbnRlbnQgc2hhcGUtcmVuZGVyaW5nIHN0b3AtY29sb3Igc3RvcC1vcGFjaXR5IHN0cmlrZXRocm91Z2gtcG9zaXRpb24gc3RyaWtldGhyb3VnaC10aGlja25lc3Mgc3Ryb2tlLWRhc2hhcnJheSBzdHJva2UtZGFzaG9mZnNldCBzdHJva2UtbGluZWNhcCBzdHJva2UtbGluZWpvaW4gc3Ryb2tlLW1pdGVybGltaXQgc3Ryb2tlLW9wYWNpdHkgc3Ryb2tlLXdpZHRoIHRleHQtYW5jaG9yIHRleHQtZGVjb3JhdGlvbiB0ZXh0LXJlbmRlcmluZyB1bmRlcmxpbmUtcG9zaXRpb24gdW5kZXJsaW5lLXRoaWNrbmVzcyB1bmljb2RlLWJpZGkgdW5pY29kZS1yYW5nZSB1bml0cy1wZXItZW0gdi1hbHBoYWJldGljIHYtaGFuZ2luZyB2LWlkZW9ncmFwaGljIHYtbWF0aGVtYXRpY2FsIHZlY3Rvci1lZmZlY3QgdmVydC1hZHYteSB2ZXJ0LW9yaWdpbi14IHZlcnQtb3JpZ2luLXkgd29yZC1zcGFjaW5nIHdyaXRpbmctbW9kZSB4bWxuczp4bGluayB4LWhlaWdodCIuc3BsaXQoIiAiKS5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgbj1lLnJlcGxhY2Uodix5KTtnW25dPW5ldyBoKG4sMSwhMSxlLG51bGwsITEsITEpfSkpLCJ4bGluazphY3R1YXRlIHhsaW5rOmFyY3JvbGUgeGxpbms6cm9sZSB4bGluazpzaG93IHhsaW5rOnRpdGxlIHhsaW5rOnR5cGUiLnNwbGl0KCIgIikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIG49ZS5yZXBsYWNlKHYseSk7Z1tuXT1uZXcgaChuLDEsITEsZSwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsITEsITEpfSkpLFsieG1sOmJhc2UiLCJ4bWw6bGFuZyIsInhtbDpzcGFjZSJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe3ZhciBuPWUucmVwbGFjZSh2LHkpO2dbbl09bmV3IGgobiwxLCExLGUsImh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIsITEsITEpfSkpLFsidGFiSW5kZXgiLCJjcm9zc09yaWdpbiJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSwxLCExLGUudG9Mb3dlckNhc2UoKSxudWxsLCExLCExKX0pKSxnLnhsaW5rSHJlZj1uZXcgaCgieGxpbmtIcmVmIiwxLCExLCJ4bGluazpocmVmIiwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsITAsITEpLFsic3JjIiwiaHJlZiIsImFjdGlvbiIsImZvcm1BY3Rpb24iXS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsMSwhMSxlLnRvTG93ZXJDYXNlKCksbnVsbCwhMCwhMCl9KSk7dmFyIGs9ci5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRCx3PVN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKSxTPVN5bWJvbC5mb3IoInJlYWN0LnBvcnRhbCIpLHg9U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSxFPVN5bWJvbC5mb3IoInJlYWN0LnN0cmljdF9tb2RlIiksQz1TeW1ib2wuZm9yKCJyZWFjdC5wcm9maWxlciIpLHo9U3ltYm9sLmZvcigicmVhY3QucHJvdmlkZXIiKSxOPVN5bWJvbC5mb3IoInJlYWN0LmNvbnRleHQiKSxfPVN5bWJvbC5mb3IoInJlYWN0LmZvcndhcmRfcmVmIiksUD1TeW1ib2wuZm9yKCJyZWFjdC5zdXNwZW5zZSIpLFQ9U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2VfbGlzdCIpLEw9U3ltYm9sLmZvcigicmVhY3QubWVtbyIpLE09U3ltYm9sLmZvcigicmVhY3QubGF6eSIpO1N5bWJvbC5mb3IoInJlYWN0LnNjb3BlIiksU3ltYm9sLmZvcigicmVhY3QuZGVidWdfdHJhY2VfbW9kZSIpO3ZhciBGPVN5bWJvbC5mb3IoInJlYWN0Lm9mZnNjcmVlbiIpO1N5bWJvbC5mb3IoInJlYWN0LmxlZ2FjeV9oaWRkZW4iKSxTeW1ib2wuZm9yKCJyZWFjdC5jYWNoZSIpLFN5bWJvbC5mb3IoInJlYWN0LnRyYWNpbmdfbWFya2VyIik7dmFyIFI9U3ltYm9sLml0ZXJhdG9yO2Z1bmN0aW9uIEQoZSl7CnJldHVybiBudWxsPT09ZXx8Im9iamVjdCIhPXR5cGVvZiBlP251bGw6ImZ1bmN0aW9uIj09dHlwZW9mKGU9UiYmZVtSXXx8ZVsiQEBpdGVyYXRvciJdKT9lOm51bGx9dmFyIEksTz1PYmplY3QuYXNzaWduO2Z1bmN0aW9uIFUoZSl7aWYodm9pZCAwPT09SSl0cnl7dGhyb3cgRXJyb3IoKX1jYXRjaChlKXt2YXIgbj1lLnN0YWNrLnRyaW0oKS5tYXRjaCgvXG4oICooYXQgKT8pLyk7ST1uJiZuWzFdfHwiIn1yZXR1cm4iXG4iK0krZX12YXIgVj0hMTtmdW5jdGlvbiBBKGUsbil7aWYoIWV8fFYpcmV0dXJuIiI7Vj0hMDt2YXIgdD1FcnJvci5wcmVwYXJlU3RhY2tUcmFjZTtFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT12b2lkIDA7dHJ5e2lmKG4paWYobj1mdW5jdGlvbigpe3Rocm93IEVycm9yKCl9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLnByb3RvdHlwZSwicHJvcHMiLHtzZXQ6ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpfX0pLCJvYmplY3QiPT10eXBlb2YgUmVmbGVjdCYmUmVmbGVjdC5jb25zdHJ1Y3Qpe3RyeXtSZWZsZWN0LmNvbnN0cnVjdChuLFtdKX1jYXRjaChlKXt2YXIgcj1lfVJlZmxlY3QuY29uc3RydWN0KGUsW10sbil9ZWxzZXt0cnl7bi5jYWxsKCl9Y2F0Y2goZSl7cj1lfWUuY2FsbChuLnByb3RvdHlwZSl9ZWxzZXt0cnl7dGhyb3cgRXJyb3IoKX1jYXRjaChlKXtyPWV9ZSgpfX1jYXRjaChuKXtpZihuJiZyJiYic3RyaW5nIj09dHlwZW9mIG4uc3RhY2spe2Zvcih2YXIgbD1uLnN0YWNrLnNwbGl0KCJcbiIpLGE9ci5zdGFjay5zcGxpdCgiXG4iKSx1PWwubGVuZ3RoLTEsbz1hLmxlbmd0aC0xOzE8PXUmJjA8PW8mJmxbdV0hPT1hW29dOylvLS07Zm9yKDsxPD11JiYwPD1vO3UtLSxvLS0paWYobFt1XSE9PWFbb10pe2lmKDEhPT11fHwxIT09bylkb3tpZih1LS0sMD4tLW98fGxbdV0hPT1hW29dKXt2YXIgaT0iXG4iK2xbdV0ucmVwbGFjZSgiIGF0IG5ldyAiLCIgYXQgIik7cmV0dXJuIGUuZGlzcGxheU5hbWUmJmkuaW5jbHVkZXMoIjxhbm9ueW1vdXM+IikmJihpPWkucmVwbGFjZSgiPGFub255bW91cz4iLGUuZGlzcGxheU5hbWUpKSxpfX13aGlsZSgxPD11JiYwPD1vKTticmVha319fWZpbmFsbHl7Vj0hMSxFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT10fXJldHVybihlPWU/ZS5kaXNwbGF5TmFtZXx8ZS5uYW1lOiIiKT9VKGUpOiIifWZ1bmN0aW9uIEIoZSl7c3dpdGNoKGUudGFnKXtjYXNlIDU6cmV0dXJuIFUoZS50eXBlKTtjYXNlIDE2OnJldHVybiBVKCJMYXp5Iik7Y2FzZSAxMzpyZXR1cm4gVSgiU3VzcGVuc2UiKTtjYXNlIDE5OnJldHVybiBVKCJTdXNwZW5zZUxpc3QiKTtjYXNlIDA6Y2FzZSAyOmNhc2UgMTU6cmV0dXJuIGU9QShlLnR5cGUsITEpO2Nhc2UgMTE6cmV0dXJuIGU9QShlLnR5cGUucmVuZGVyLCExKTtjYXNlIDE6cmV0dXJuIGU9QShlLnR5cGUsITApO2RlZmF1bHQ6cmV0dXJuIiJ9fWZ1bmN0aW9uIFcoZSl7aWYobnVsbD09ZSlyZXR1cm4gbnVsbDtpZigiZnVuY3Rpb24iPT10eXBlb2YgZSlyZXR1cm4gZS5kaXNwbGF5TmFtZXx8ZS5uYW1lfHxudWxsO2lmKCJzdHJpbmciPT10eXBlb2YgZSlyZXR1cm4gZTtzd2l0Y2goZSl7Y2FzZSB4OnJldHVybiJGcmFnbWVudCI7Y2FzZSBTOnJldHVybiJQb3J0YWwiO2Nhc2UgQzpyZXR1cm4iUHJvZmlsZXIiO2Nhc2UgRTpyZXR1cm4iU3RyaWN0TW9kZSI7Y2FzZSBQOnJldHVybiJTdXNwZW5zZSI7Y2FzZSBUOnJldHVybiJTdXNwZW5zZUxpc3QifWlmKCJvYmplY3QiPT10eXBlb2YgZSlzd2l0Y2goZS4kJHR5cGVvZil7Y2FzZSBOOnJldHVybihlLmRpc3BsYXlOYW1lfHwiQ29udGV4dCIpKyIuQ29uc3VtZXIiO2Nhc2UgejpyZXR1cm4oZS5fY29udGV4dC5kaXNwbGF5TmFtZXx8IkNvbnRleHQiKSsiLlByb3ZpZGVyIjtjYXNlIF86dmFyIG49ZS5yZW5kZXI7cmV0dXJuKGU9ZS5kaXNwbGF5TmFtZSl8fChlPSIiIT09KGU9bi5kaXNwbGF5TmFtZXx8bi5uYW1lfHwiIik/IkZvcndhcmRSZWYoIitlKyIpIjoiRm9yd2FyZFJlZiIpLGU7Y2FzZSBMOnJldHVybiBudWxsIT09KG49ZS5kaXNwbGF5TmFtZXx8bnVsbCk/bjpXKGUudHlwZSl8fCJNZW1vIjtjYXNlIE06bj1lLl9wYXlsb2FkLGU9ZS5faW5pdDt0cnl7cmV0dXJuIFcoZShuKSl9Y2F0Y2goZSl7fX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBIKGUpe3ZhciBuPWUudHlwZTtzd2l0Y2goZS50YWcpe2Nhc2UgMjQ6cmV0dXJuIkNhY2hlIjtjYXNlIDk6cmV0dXJuKG4uZGlzcGxheU5hbWV8fCJDb250ZXh0IikrIi5Db25zdW1lciI7Y2FzZSAxMDpyZXR1cm4obi5fY29udGV4dC5kaXNwbGF5TmFtZXx8IkNvbnRleHQiKSsiLlByb3ZpZGVyIjtjYXNlIDE4OnJldHVybiJEZWh5ZHJhdGVkRnJhZ21lbnQiO2Nhc2UgMTE6cmV0dXJuIGU9KGU9bi5yZW5kZXIpLmRpc3BsYXlOYW1lfHxlLm5hbWV8fCIiLG4uZGlzcGxheU5hbWV8fCgiIiE9PWU/IkZvcndhcmRSZWYoIitlKyIpIjoiRm9yd2FyZFJlZiIpO2Nhc2UgNzpyZXR1cm4iRnJhZ21lbnQiO2Nhc2UgNTpyZXR1cm4gbjtjYXNlIDQ6cmV0dXJuIlBvcnRhbCI7Y2FzZSAzOnJldHVybiJSb290IjtjYXNlIDY6cmV0dXJuIlRleHQiO2Nhc2UgMTY6cmV0dXJuIFcobik7Y2FzZSA4OnJldHVybiBuPT09RT8iU3RyaWN0TW9kZSI6Ik1vZGUiO2Nhc2UgMjI6cmV0dXJuIk9mZnNjcmVlbiI7Y2FzZSAxMjpyZXR1cm4iUHJvZmlsZXIiO2Nhc2UgMjE6cmV0dXJuIlNjb3BlIjtjYXNlIDEzOnJldHVybiJTdXNwZW5zZSI7Y2FzZSAxOTpyZXR1cm4iU3VzcGVuc2VMaXN0IjtjYXNlIDI1OnJldHVybiJUcmFjaW5nTWFya2VyIjtjYXNlIDE6Y2FzZSAwOmNhc2UgMTc6Y2FzZSAyOmNhc2UgMTQ6Y2FzZSAxNTppZigiZnVuY3Rpb24iPT10eXBlb2YgbilyZXR1cm4gbi5kaXNwbGF5TmFtZXx8bi5uYW1lfHxudWxsO2lmKCJzdHJpbmciPT10eXBlb2YgbilyZXR1cm4gbn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBRKGUpe3N3aXRjaCh0eXBlb2YgZSl7Y2FzZSJib29sZWFuIjpjYXNlIm51bWJlciI6Y2FzZSJzdHJpbmciOmNhc2UidW5kZWZpbmVkIjpjYXNlIm9iamVjdCI6cmV0dXJuIGU7ZGVmYXVsdDpyZXR1cm4iIn19ZnVuY3Rpb24gaihlKXt2YXIgbj1lLnR5cGUKO3JldHVybihlPWUubm9kZU5hbWUpJiYiaW5wdXQiPT09ZS50b0xvd2VyQ2FzZSgpJiYoImNoZWNrYm94Ij09PW58fCJyYWRpbyI9PT1uKX1mdW5jdGlvbiAkKGUpe2UuX3ZhbHVlVHJhY2tlcnx8KGUuX3ZhbHVlVHJhY2tlcj1mdW5jdGlvbihlKXt2YXIgbj1qKGUpPyJjaGVja2VkIjoidmFsdWUiLHQ9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLmNvbnN0cnVjdG9yLnByb3RvdHlwZSxuKSxyPSIiK2Vbbl07aWYoIWUuaGFzT3duUHJvcGVydHkobikmJnZvaWQgMCE9PXQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LmdldCYmImZ1bmN0aW9uIj09dHlwZW9mIHQuc2V0KXt2YXIgbD10LmdldCxhPXQuc2V0O3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGwuY2FsbCh0aGlzKX0sc2V0OmZ1bmN0aW9uKGUpe3I9IiIrZSxhLmNhbGwodGhpcyxlKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLHtlbnVtZXJhYmxlOnQuZW51bWVyYWJsZX0pLHtnZXRWYWx1ZTpmdW5jdGlvbigpe3JldHVybiByfSxzZXRWYWx1ZTpmdW5jdGlvbihlKXtyPSIiK2V9LHN0b3BUcmFja2luZzpmdW5jdGlvbigpe2UuX3ZhbHVlVHJhY2tlcj1udWxsLGRlbGV0ZSBlW25dfX19fShlKSl9ZnVuY3Rpb24gcShlKXtpZighZSlyZXR1cm4hMTt2YXIgbj1lLl92YWx1ZVRyYWNrZXI7aWYoIW4pcmV0dXJuITA7dmFyIHQ9bi5nZXRWYWx1ZSgpLHI9IiI7cmV0dXJuIGUmJihyPWooZSk/ZS5jaGVja2VkPyJ0cnVlIjoiZmFsc2UiOmUudmFsdWUpLChlPXIpIT09dCYmKG4uc2V0VmFsdWUoZSksITApfWZ1bmN0aW9uIEsoZSl7aWYodm9pZCAwPT09KGU9ZXx8KCJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQ/ZG9jdW1lbnQ6dm9pZCAwKSkpcmV0dXJuIG51bGw7dHJ5e3JldHVybiBlLmFjdGl2ZUVsZW1lbnR8fGUuYm9keX1jYXRjaChuKXtyZXR1cm4gZS5ib2R5fX1mdW5jdGlvbiBZKGUsbil7dmFyIHQ9bi5jaGVja2VkO3JldHVybiBPKHt9LG4se2RlZmF1bHRDaGVja2VkOnZvaWQgMCxkZWZhdWx0VmFsdWU6dm9pZCAwLHZhbHVlOnZvaWQgMCxjaGVja2VkOm51bGwhPXQ/dDplLl93cmFwcGVyU3RhdGUuaW5pdGlhbENoZWNrZWR9KX1mdW5jdGlvbiBYKGUsbil7dmFyIHQ9bnVsbD09bi5kZWZhdWx0VmFsdWU/IiI6bi5kZWZhdWx0VmFsdWUscj1udWxsIT1uLmNoZWNrZWQ/bi5jaGVja2VkOm4uZGVmYXVsdENoZWNrZWQ7dD1RKG51bGwhPW4udmFsdWU/bi52YWx1ZTp0KSxlLl93cmFwcGVyU3RhdGU9e2luaXRpYWxDaGVja2VkOnIsaW5pdGlhbFZhbHVlOnQsY29udHJvbGxlZDoiY2hlY2tib3giPT09bi50eXBlfHwicmFkaW8iPT09bi50eXBlP251bGwhPW4uY2hlY2tlZDpudWxsIT1uLnZhbHVlfX1mdW5jdGlvbiBHKGUsbil7bnVsbCE9KG49bi5jaGVja2VkKSYmYihlLCJjaGVja2VkIixuLCExKX1mdW5jdGlvbiBaKGUsbil7RyhlLG4pO3ZhciB0PVEobi52YWx1ZSkscj1uLnR5cGU7aWYobnVsbCE9dCkibnVtYmVyIj09PXI/KDA9PT10JiYiIj09PWUudmFsdWV8fGUudmFsdWUhPXQpJiYoZS52YWx1ZT0iIit0KTplLnZhbHVlIT09IiIrdCYmKGUudmFsdWU9IiIrdCk7ZWxzZSBpZigic3VibWl0Ij09PXJ8fCJyZXNldCI9PT1yKXJldHVybiB2b2lkIGUucmVtb3ZlQXR0cmlidXRlKCJ2YWx1ZSIpO24uaGFzT3duUHJvcGVydHkoInZhbHVlIik/ZWUoZSxuLnR5cGUsdCk6bi5oYXNPd25Qcm9wZXJ0eSgiZGVmYXVsdFZhbHVlIikmJmVlKGUsbi50eXBlLFEobi5kZWZhdWx0VmFsdWUpKSxudWxsPT1uLmNoZWNrZWQmJm51bGwhPW4uZGVmYXVsdENoZWNrZWQmJihlLmRlZmF1bHRDaGVja2VkPSEhbi5kZWZhdWx0Q2hlY2tlZCl9ZnVuY3Rpb24gSihlLG4sdCl7aWYobi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKXx8bi5oYXNPd25Qcm9wZXJ0eSgiZGVmYXVsdFZhbHVlIikpe3ZhciByPW4udHlwZTtpZighKCJzdWJtaXQiIT09ciYmInJlc2V0IiE9PXJ8fHZvaWQgMCE9PW4udmFsdWUmJm51bGwhPT1uLnZhbHVlKSlyZXR1cm47bj0iIitlLl93cmFwcGVyU3RhdGUuaW5pdGlhbFZhbHVlLHR8fG49PT1lLnZhbHVlfHwoZS52YWx1ZT1uKSxlLmRlZmF1bHRWYWx1ZT1ufSIiIT09KHQ9ZS5uYW1lKSYmKGUubmFtZT0iIiksZS5kZWZhdWx0Q2hlY2tlZD0hIWUuX3dyYXBwZXJTdGF0ZS5pbml0aWFsQ2hlY2tlZCwiIiE9PXQmJihlLm5hbWU9dCl9ZnVuY3Rpb24gZWUoZSxuLHQpeyJudW1iZXIiPT09biYmSyhlLm93bmVyRG9jdW1lbnQpPT09ZXx8KG51bGw9PXQ/ZS5kZWZhdWx0VmFsdWU9IiIrZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZTplLmRlZmF1bHRWYWx1ZSE9PSIiK3QmJihlLmRlZmF1bHRWYWx1ZT0iIit0KSl9dmFyIG5lPUFycmF5LmlzQXJyYXk7ZnVuY3Rpb24gdGUoZSxuLHQscil7aWYoZT1lLm9wdGlvbnMsbil7bj17fTtmb3IodmFyIGw9MDtsPHQubGVuZ3RoO2wrKyluWyIkIit0W2xdXT0hMDtmb3IodD0wO3Q8ZS5sZW5ndGg7dCsrKWw9bi5oYXNPd25Qcm9wZXJ0eSgiJCIrZVt0XS52YWx1ZSksZVt0XS5zZWxlY3RlZCE9PWwmJihlW3RdLnNlbGVjdGVkPWwpLGwmJnImJihlW3RdLmRlZmF1bHRTZWxlY3RlZD0hMCl9ZWxzZXtmb3IodD0iIitRKHQpLG49bnVsbCxsPTA7bDxlLmxlbmd0aDtsKyspe2lmKGVbbF0udmFsdWU9PT10KXJldHVybiBlW2xdLnNlbGVjdGVkPSEwLHZvaWQociYmKGVbbF0uZGVmYXVsdFNlbGVjdGVkPSEwKSk7bnVsbCE9PW58fGVbbF0uZGlzYWJsZWR8fChuPWVbbF0pfW51bGwhPT1uJiYobi5zZWxlY3RlZD0hMCl9fWZ1bmN0aW9uIHJlKGUsbil7aWYobnVsbCE9bi5kYW5nZXJvdXNseVNldElubmVySFRNTCl0aHJvdyBFcnJvcihhKDkxKSk7cmV0dXJuIE8oe30sbix7dmFsdWU6dm9pZCAwLGRlZmF1bHRWYWx1ZTp2b2lkIDAsY2hpbGRyZW46IiIrZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZX0pfWZ1bmN0aW9uIGxlKGUsbil7dmFyIHQ9bi52YWx1ZTtpZihudWxsPT10KXtpZih0PW4uY2hpbGRyZW4sbj1uLmRlZmF1bHRWYWx1ZSxudWxsIT10KXtpZihudWxsIT1uKXRocm93IEVycm9yKGEoOTIpKTtpZihuZSh0KSl7CmlmKDE8dC5sZW5ndGgpdGhyb3cgRXJyb3IoYSg5MykpO3Q9dFswXX1uPXR9bnVsbD09biYmKG49IiIpLHQ9bn1lLl93cmFwcGVyU3RhdGU9e2luaXRpYWxWYWx1ZTpRKHQpfX1mdW5jdGlvbiBhZShlLG4pe3ZhciB0PVEobi52YWx1ZSkscj1RKG4uZGVmYXVsdFZhbHVlKTtudWxsIT10JiYoKHQ9IiIrdCkhPT1lLnZhbHVlJiYoZS52YWx1ZT10KSxudWxsPT1uLmRlZmF1bHRWYWx1ZSYmZS5kZWZhdWx0VmFsdWUhPT10JiYoZS5kZWZhdWx0VmFsdWU9dCkpLG51bGwhPXImJihlLmRlZmF1bHRWYWx1ZT0iIityKX1mdW5jdGlvbiB1ZShlKXt2YXIgbj1lLnRleHRDb250ZW50O249PT1lLl93cmFwcGVyU3RhdGUuaW5pdGlhbFZhbHVlJiYiIiE9PW4mJm51bGwhPT1uJiYoZS52YWx1ZT1uKX1mdW5jdGlvbiBvZShlKXtzd2l0Y2goZSl7Y2FzZSJzdmciOnJldHVybiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI7Y2FzZSJtYXRoIjpyZXR1cm4iaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCI7ZGVmYXVsdDpyZXR1cm4iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCJ9fWZ1bmN0aW9uIGllKGUsbil7cmV0dXJuIG51bGw9PWV8fCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj09PWU/b2Uobik6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj09PWUmJiJmb3JlaWduT2JqZWN0Ij09PW4/Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiOmV9dmFyIHNlLGNlLGZlPShjZT1mdW5jdGlvbihlLG4pe2lmKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIhPT1lLm5hbWVzcGFjZVVSSXx8ImlubmVySFRNTCJpbiBlKWUuaW5uZXJIVE1MPW47ZWxzZXtmb3IoKHNlPXNlfHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSkuaW5uZXJIVE1MPSI8c3ZnPiIrbi52YWx1ZU9mKCkudG9TdHJpbmcoKSsiPC9zdmc+IixuPXNlLmZpcnN0Q2hpbGQ7ZS5maXJzdENoaWxkOyllLnJlbW92ZUNoaWxkKGUuZmlyc3RDaGlsZCk7Zm9yKDtuLmZpcnN0Q2hpbGQ7KWUuYXBwZW5kQ2hpbGQobi5maXJzdENoaWxkKX19LCJ1bmRlZmluZWQiIT10eXBlb2YgTVNBcHAmJk1TQXBwLmV4ZWNVbnNhZmVMb2NhbEZ1bmN0aW9uP2Z1bmN0aW9uKGUsbix0LHIpe01TQXBwLmV4ZWNVbnNhZmVMb2NhbEZ1bmN0aW9uKChmdW5jdGlvbigpe3JldHVybiBjZShlLG4pfSkpfTpjZSk7ZnVuY3Rpb24gZGUoZSxuKXtpZihuKXt2YXIgdD1lLmZpcnN0Q2hpbGQ7aWYodCYmdD09PWUubGFzdENoaWxkJiYzPT09dC5ub2RlVHlwZSlyZXR1cm4gdm9pZCh0Lm5vZGVWYWx1ZT1uKX1lLnRleHRDb250ZW50PW59dmFyIHBlPXthbmltYXRpb25JdGVyYXRpb25Db3VudDohMCxhc3BlY3RSYXRpbzohMCxib3JkZXJJbWFnZU91dHNldDohMCxib3JkZXJJbWFnZVNsaWNlOiEwLGJvcmRlckltYWdlV2lkdGg6ITAsYm94RmxleDohMCxib3hGbGV4R3JvdXA6ITAsYm94T3JkaW5hbEdyb3VwOiEwLGNvbHVtbkNvdW50OiEwLGNvbHVtbnM6ITAsZmxleDohMCxmbGV4R3JvdzohMCxmbGV4UG9zaXRpdmU6ITAsZmxleFNocmluazohMCxmbGV4TmVnYXRpdmU6ITAsZmxleE9yZGVyOiEwLGdyaWRBcmVhOiEwLGdyaWRSb3c6ITAsZ3JpZFJvd0VuZDohMCxncmlkUm93U3BhbjohMCxncmlkUm93U3RhcnQ6ITAsZ3JpZENvbHVtbjohMCxncmlkQ29sdW1uRW5kOiEwLGdyaWRDb2x1bW5TcGFuOiEwLGdyaWRDb2x1bW5TdGFydDohMCxmb250V2VpZ2h0OiEwLGxpbmVDbGFtcDohMCxsaW5lSGVpZ2h0OiEwLG9wYWNpdHk6ITAsb3JkZXI6ITAsb3JwaGFuczohMCx0YWJTaXplOiEwLHdpZG93czohMCx6SW5kZXg6ITAsem9vbTohMCxmaWxsT3BhY2l0eTohMCxmbG9vZE9wYWNpdHk6ITAsc3RvcE9wYWNpdHk6ITAsc3Ryb2tlRGFzaGFycmF5OiEwLHN0cm9rZURhc2hvZmZzZXQ6ITAsc3Ryb2tlTWl0ZXJsaW1pdDohMCxzdHJva2VPcGFjaXR5OiEwLHN0cm9rZVdpZHRoOiEwfSxtZT1bIldlYmtpdCIsIm1zIiwiTW96IiwiTyJdO2Z1bmN0aW9uIGhlKGUsbix0KXtyZXR1cm4gbnVsbD09bnx8ImJvb2xlYW4iPT10eXBlb2Ygbnx8IiI9PT1uPyIiOnR8fCJudW1iZXIiIT10eXBlb2Ygbnx8MD09PW58fHBlLmhhc093blByb3BlcnR5KGUpJiZwZVtlXT8oIiIrbikudHJpbSgpOm4rInB4In1mdW5jdGlvbiBnZShlLG4pe2Zvcih2YXIgdCBpbiBlPWUuc3R5bGUsbilpZihuLmhhc093blByb3BlcnR5KHQpKXt2YXIgcj0wPT09dC5pbmRleE9mKCItLSIpLGw9aGUodCxuW3RdLHIpOyJmbG9hdCI9PT10JiYodD0iY3NzRmxvYXQiKSxyP2Uuc2V0UHJvcGVydHkodCxsKTplW3RdPWx9fU9iamVjdC5rZXlzKHBlKS5mb3JFYWNoKChmdW5jdGlvbihlKXttZS5mb3JFYWNoKChmdW5jdGlvbihuKXtuPW4rZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStlLnN1YnN0cmluZygxKSxwZVtuXT1wZVtlXX0pKX0pKTt2YXIgdmU9Tyh7bWVudWl0ZW06ITB9LHthcmVhOiEwLGJhc2U6ITAsYnI6ITAsY29sOiEwLGVtYmVkOiEwLGhyOiEwLGltZzohMCxpbnB1dDohMCxrZXlnZW46ITAsbGluazohMCxtZXRhOiEwLHBhcmFtOiEwLHNvdXJjZTohMCx0cmFjazohMCx3YnI6ITB9KTtmdW5jdGlvbiB5ZShlLG4pe2lmKG4pe2lmKHZlW2VdJiYobnVsbCE9bi5jaGlsZHJlbnx8bnVsbCE9bi5kYW5nZXJvdXNseVNldElubmVySFRNTCkpdGhyb3cgRXJyb3IoYSgxMzcsZSkpO2lmKG51bGwhPW4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpe2lmKG51bGwhPW4uY2hpbGRyZW4pdGhyb3cgRXJyb3IoYSg2MCkpO2lmKCJvYmplY3QiIT10eXBlb2Ygbi5kYW5nZXJvdXNseVNldElubmVySFRNTHx8ISgiX19odG1sImluIG4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpKXRocm93IEVycm9yKGEoNjEpKX1pZihudWxsIT1uLnN0eWxlJiYib2JqZWN0IiE9dHlwZW9mIG4uc3R5bGUpdGhyb3cgRXJyb3IoYSg2MikpfX1mdW5jdGlvbiBiZShlLG4pe2lmKC0xPT09ZS5pbmRleE9mKCItIikpcmV0dXJuInN0cmluZyI9PXR5cGVvZiBuLmlzO3N3aXRjaChlKXtjYXNlImFubm90YXRpb24teG1sIjpjYXNlImNvbG9yLXByb2ZpbGUiOmNhc2UiZm9udC1mYWNlIjpjYXNlImZvbnQtZmFjZS1zcmMiOgpjYXNlImZvbnQtZmFjZS11cmkiOmNhc2UiZm9udC1mYWNlLWZvcm1hdCI6Y2FzZSJmb250LWZhY2UtbmFtZSI6Y2FzZSJtaXNzaW5nLWdseXBoIjpyZXR1cm4hMTtkZWZhdWx0OnJldHVybiEwfX12YXIga2U9bnVsbDtmdW5jdGlvbiB3ZShlKXtyZXR1cm4oZT1lLnRhcmdldHx8ZS5zcmNFbGVtZW50fHx3aW5kb3cpLmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50JiYoZT1lLmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50KSwzPT09ZS5ub2RlVHlwZT9lLnBhcmVudE5vZGU6ZX12YXIgU2U9bnVsbCx4ZT1udWxsLEVlPW51bGw7ZnVuY3Rpb24gQ2UoZSl7aWYoZT1ibChlKSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIFNlKXRocm93IEVycm9yKGEoMjgwKSk7dmFyIG49ZS5zdGF0ZU5vZGU7biYmKG49d2wobiksU2UoZS5zdGF0ZU5vZGUsZS50eXBlLG4pKX19ZnVuY3Rpb24gemUoZSl7eGU/RWU/RWUucHVzaChlKTpFZT1bZV06eGU9ZX1mdW5jdGlvbiBOZSgpe2lmKHhlKXt2YXIgZT14ZSxuPUVlO2lmKEVlPXhlPW51bGwsQ2UoZSksbilmb3IoZT0wO2U8bi5sZW5ndGg7ZSsrKUNlKG5bZV0pfX1mdW5jdGlvbiBfZShlLG4pe3JldHVybiBlKG4pfWZ1bmN0aW9uIFBlKCl7fXZhciBUZT0hMTtmdW5jdGlvbiBMZShlLG4sdCl7aWYoVGUpcmV0dXJuIGUobix0KTtUZT0hMDt0cnl7cmV0dXJuIF9lKGUsbix0KX1maW5hbGx5e1RlPSExLChudWxsIT09eGV8fG51bGwhPT1FZSkmJihQZSgpLE5lKCkpfX1mdW5jdGlvbiBNZShlLG4pe3ZhciB0PWUuc3RhdGVOb2RlO2lmKG51bGw9PT10KXJldHVybiBudWxsO3ZhciByPXdsKHQpO2lmKG51bGw9PT1yKXJldHVybiBudWxsO3Q9cltuXTtlOnN3aXRjaChuKXtjYXNlIm9uQ2xpY2siOmNhc2Uib25DbGlja0NhcHR1cmUiOmNhc2Uib25Eb3VibGVDbGljayI6Y2FzZSJvbkRvdWJsZUNsaWNrQ2FwdHVyZSI6Y2FzZSJvbk1vdXNlRG93biI6Y2FzZSJvbk1vdXNlRG93bkNhcHR1cmUiOmNhc2Uib25Nb3VzZU1vdmUiOmNhc2Uib25Nb3VzZU1vdmVDYXB0dXJlIjpjYXNlIm9uTW91c2VVcCI6Y2FzZSJvbk1vdXNlVXBDYXB0dXJlIjpjYXNlIm9uTW91c2VFbnRlciI6KHI9IXIuZGlzYWJsZWQpfHwocj0hKCJidXR0b24iPT09KGU9ZS50eXBlKXx8ImlucHV0Ij09PWV8fCJzZWxlY3QiPT09ZXx8InRleHRhcmVhIj09PWUpKSxlPSFyO2JyZWFrIGU7ZGVmYXVsdDplPSExfWlmKGUpcmV0dXJuIG51bGw7aWYodCYmImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgRXJyb3IoYSgyMzEsbix0eXBlb2YgdCkpO3JldHVybiB0fXZhciBGZT0hMTtpZihjKXRyeXt2YXIgUmU9e307T2JqZWN0LmRlZmluZVByb3BlcnR5KFJlLCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7RmU9ITB9fSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLFJlLFJlKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdCIsUmUsUmUpfWNhdGNoKGNlKXtGZT0hMX1mdW5jdGlvbiBEZShlLG4sdCxyLGwsYSx1LG8saSl7dmFyIHM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDMpO3RyeXtuLmFwcGx5KHQscyl9Y2F0Y2goZSl7dGhpcy5vbkVycm9yKGUpfX12YXIgSWU9ITEsT2U9bnVsbCxVZT0hMSxWZT1udWxsLEFlPXtvbkVycm9yOmZ1bmN0aW9uKGUpe0llPSEwLE9lPWV9fTtmdW5jdGlvbiBCZShlLG4sdCxyLGwsYSx1LG8saSl7SWU9ITEsT2U9bnVsbCxEZS5hcHBseShBZSxhcmd1bWVudHMpfWZ1bmN0aW9uIFdlKGUpe3ZhciBuPWUsdD1lO2lmKGUuYWx0ZXJuYXRlKWZvcig7bi5yZXR1cm47KW49bi5yZXR1cm47ZWxzZXtlPW47ZG97ISEoNDA5OCYobj1lKS5mbGFncykmJih0PW4ucmV0dXJuKSxlPW4ucmV0dXJufXdoaWxlKGUpfXJldHVybiAzPT09bi50YWc/dDpudWxsfWZ1bmN0aW9uIEhlKGUpe2lmKDEzPT09ZS50YWcpe3ZhciBuPWUubWVtb2l6ZWRTdGF0ZTtpZihudWxsPT09biYmKG51bGwhPT0oZT1lLmFsdGVybmF0ZSkmJihuPWUubWVtb2l6ZWRTdGF0ZSkpLG51bGwhPT1uKXJldHVybiBuLmRlaHlkcmF0ZWR9cmV0dXJuIG51bGx9ZnVuY3Rpb24gUWUoZSl7aWYoV2UoZSkhPT1lKXRocm93IEVycm9yKGEoMTg4KSl9ZnVuY3Rpb24gamUoZSl7cmV0dXJuIG51bGwhPT0oZT1mdW5jdGlvbihlKXt2YXIgbj1lLmFsdGVybmF0ZTtpZighbil7aWYobnVsbD09PShuPVdlKGUpKSl0aHJvdyBFcnJvcihhKDE4OCkpO3JldHVybiBuIT09ZT9udWxsOmV9Zm9yKHZhciB0PWUscj1uOzspe3ZhciBsPXQucmV0dXJuO2lmKG51bGw9PT1sKWJyZWFrO3ZhciB1PWwuYWx0ZXJuYXRlO2lmKG51bGw9PT11KXtpZihudWxsIT09KHI9bC5yZXR1cm4pKXt0PXI7Y29udGludWV9YnJlYWt9aWYobC5jaGlsZD09PXUuY2hpbGQpe2Zvcih1PWwuY2hpbGQ7dTspe2lmKHU9PT10KXJldHVybiBRZShsKSxlO2lmKHU9PT1yKXJldHVybiBRZShsKSxuO3U9dS5zaWJsaW5nfXRocm93IEVycm9yKGEoMTg4KSl9aWYodC5yZXR1cm4hPT1yLnJldHVybil0PWwscj11O2Vsc2V7Zm9yKHZhciBvPSExLGk9bC5jaGlsZDtpOyl7aWYoaT09PXQpe289ITAsdD1sLHI9dTticmVha31pZihpPT09cil7bz0hMCxyPWwsdD11O2JyZWFrfWk9aS5zaWJsaW5nfWlmKCFvKXtmb3IoaT11LmNoaWxkO2k7KXtpZihpPT09dCl7bz0hMCx0PXUscj1sO2JyZWFrfWlmKGk9PT1yKXtvPSEwLHI9dSx0PWw7YnJlYWt9aT1pLnNpYmxpbmd9aWYoIW8pdGhyb3cgRXJyb3IoYSgxODkpKX19aWYodC5hbHRlcm5hdGUhPT1yKXRocm93IEVycm9yKGEoMTkwKSl9aWYoMyE9PXQudGFnKXRocm93IEVycm9yKGEoMTg4KSk7cmV0dXJuIHQuc3RhdGVOb2RlLmN1cnJlbnQ9PT10P2U6bn0oZSkpPyRlKGUpOm51bGx9ZnVuY3Rpb24gJGUoZSl7aWYoNT09PWUudGFnfHw2PT09ZS50YWcpcmV0dXJuIGU7Zm9yKGU9ZS5jaGlsZDtudWxsIT09ZTspe3ZhciBuPSRlKGUpO2lmKG51bGwhPT1uKXJldHVybiBuO2U9ZS5zaWJsaW5nfXJldHVybiBudWxsfQp2YXIgcWU9bC51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrLEtlPWwudW5zdGFibGVfY2FuY2VsQ2FsbGJhY2ssWWU9bC51bnN0YWJsZV9zaG91bGRZaWVsZCxYZT1sLnVuc3RhYmxlX3JlcXVlc3RQYWludCxHZT1sLnVuc3RhYmxlX25vdyxaZT1sLnVuc3RhYmxlX2dldEN1cnJlbnRQcmlvcml0eUxldmVsLEplPWwudW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHksZW49bC51bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eSxubj1sLnVuc3RhYmxlX05vcm1hbFByaW9yaXR5LHRuPWwudW5zdGFibGVfTG93UHJpb3JpdHkscm49bC51bnN0YWJsZV9JZGxlUHJpb3JpdHksbG49bnVsbCxhbj1udWxsO3ZhciB1bj1NYXRoLmNsejMyP01hdGguY2x6MzI6ZnVuY3Rpb24oZSl7cmV0dXJuIGU+Pj49MCwwPT09ZT8zMjozMS0ob24oZSkvc258MCl8MH0sb249TWF0aC5sb2csc249TWF0aC5MTjI7dmFyIGNuPTY0LGZuPTQxOTQzMDQ7ZnVuY3Rpb24gZG4oZSl7c3dpdGNoKGUmLWUpe2Nhc2UgMTpyZXR1cm4gMTtjYXNlIDI6cmV0dXJuIDI7Y2FzZSA0OnJldHVybiA0O2Nhc2UgODpyZXR1cm4gODtjYXNlIDE2OnJldHVybiAxNjtjYXNlIDMyOnJldHVybiAzMjtjYXNlIDY0OmNhc2UgMTI4OmNhc2UgMjU2OmNhc2UgNTEyOmNhc2UgMTAyNDpjYXNlIDIwNDg6Y2FzZSA0MDk2OmNhc2UgODE5MjpjYXNlIDE2Mzg0OmNhc2UgMzI3Njg6Y2FzZSA2NTUzNjpjYXNlIDEzMTA3MjpjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOnJldHVybiA0MTk0MjQwJmU7Y2FzZSA0MTk0MzA0OmNhc2UgODM4ODYwODpjYXNlIDE2Nzc3MjE2OmNhc2UgMzM1NTQ0MzI6Y2FzZSA2NzEwODg2NDpyZXR1cm4gMTMwMDIzNDI0JmU7Y2FzZSAxMzQyMTc3Mjg6cmV0dXJuIDEzNDIxNzcyODtjYXNlIDI2ODQzNTQ1NjpyZXR1cm4gMjY4NDM1NDU2O2Nhc2UgNTM2ODcwOTEyOnJldHVybiA1MzY4NzA5MTI7Y2FzZSAxMDczNzQxODI0OnJldHVybiAxMDczNzQxODI0O2RlZmF1bHQ6cmV0dXJuIGV9fWZ1bmN0aW9uIHBuKGUsbil7dmFyIHQ9ZS5wZW5kaW5nTGFuZXM7aWYoMD09PXQpcmV0dXJuIDA7dmFyIHI9MCxsPWUuc3VzcGVuZGVkTGFuZXMsYT1lLnBpbmdlZExhbmVzLHU9MjY4NDM1NDU1JnQ7aWYoMCE9PXUpe3ZhciBvPXUmfmw7MCE9PW8/cj1kbihvKTowIT09KGEmPXUpJiYocj1kbihhKSl9ZWxzZSAwIT09KHU9dCZ+bCk/cj1kbih1KTowIT09YSYmKHI9ZG4oYSkpO2lmKDA9PT1yKXJldHVybiAwO2lmKDAhPT1uJiZuIT09ciYmIShuJmwpJiYoKGw9ciYtcik+PShhPW4mLW4pfHwxNj09PWwmJjQxOTQyNDAmYSkpcmV0dXJuIG47aWYoNCZyJiYocnw9MTYmdCksMCE9PShuPWUuZW50YW5nbGVkTGFuZXMpKWZvcihlPWUuZW50YW5nbGVtZW50cyxuJj1yOzA8bjspbD0xPDwodD0zMS11bihuKSkscnw9ZVt0XSxuJj1+bDtyZXR1cm4gcn1mdW5jdGlvbiBtbihlLG4pe3N3aXRjaChlKXtjYXNlIDE6Y2FzZSAyOmNhc2UgNDpyZXR1cm4gbisyNTA7Y2FzZSA4OmNhc2UgMTY6Y2FzZSAzMjpjYXNlIDY0OmNhc2UgMTI4OmNhc2UgMjU2OmNhc2UgNTEyOmNhc2UgMTAyNDpjYXNlIDIwNDg6Y2FzZSA0MDk2OmNhc2UgODE5MjpjYXNlIDE2Mzg0OmNhc2UgMzI3Njg6Y2FzZSA2NTUzNjpjYXNlIDEzMTA3MjpjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOnJldHVybiBuKzVlMztkZWZhdWx0OnJldHVybi0xfX1mdW5jdGlvbiBobihlKXtyZXR1cm4gMCE9PShlPS0xMDczNzQxODI1JmUucGVuZGluZ0xhbmVzKT9lOjEwNzM3NDE4MjQmZT8xMDczNzQxODI0OjB9ZnVuY3Rpb24gZ24oKXt2YXIgZT1jbjtyZXR1cm4hKDQxOTQyNDAmKGNuPDw9MSkpJiYoY249NjQpLGV9ZnVuY3Rpb24gdm4oZSl7Zm9yKHZhciBuPVtdLHQ9MDszMT50O3QrKyluLnB1c2goZSk7cmV0dXJuIG59ZnVuY3Rpb24geW4oZSxuLHQpe2UucGVuZGluZ0xhbmVzfD1uLDUzNjg3MDkxMiE9PW4mJihlLnN1c3BlbmRlZExhbmVzPTAsZS5waW5nZWRMYW5lcz0wKSwoZT1lLmV2ZW50VGltZXMpW249MzEtdW4obildPXR9ZnVuY3Rpb24gYm4oZSxuKXt2YXIgdD1lLmVudGFuZ2xlZExhbmVzfD1uO2ZvcihlPWUuZW50YW5nbGVtZW50czt0Oyl7dmFyIHI9MzEtdW4odCksbD0xPDxyO2wmbnxlW3JdJm4mJihlW3JdfD1uKSx0Jj1+bH19dmFyIGtuPTA7ZnVuY3Rpb24gd24oZSl7cmV0dXJuIDE8KGUmPS1lKT80PGU/MjY4NDM1NDU1JmU/MTY6NTM2ODcwOTEyOjQ6MX12YXIgU24seG4sRW4sQ24sem4sTm49ITEsX249W10sUG49bnVsbCxUbj1udWxsLExuPW51bGwsTW49bmV3IE1hcCxGbj1uZXcgTWFwLFJuPVtdLERuPSJtb3VzZWRvd24gbW91c2V1cCB0b3VjaGNhbmNlbCB0b3VjaGVuZCB0b3VjaHN0YXJ0IGF1eGNsaWNrIGRibGNsaWNrIHBvaW50ZXJjYW5jZWwgcG9pbnRlcmRvd24gcG9pbnRlcnVwIGRyYWdlbmQgZHJhZ3N0YXJ0IGRyb3AgY29tcG9zaXRpb25lbmQgY29tcG9zaXRpb25zdGFydCBrZXlkb3duIGtleXByZXNzIGtleXVwIGlucHV0IHRleHRJbnB1dCBjb3B5IGN1dCBwYXN0ZSBjbGljayBjaGFuZ2UgY29udGV4dG1lbnUgcmVzZXQgc3VibWl0Ii5zcGxpdCgiICIpO2Z1bmN0aW9uIEluKGUsbil7c3dpdGNoKGUpe2Nhc2UiZm9jdXNpbiI6Y2FzZSJmb2N1c291dCI6UG49bnVsbDticmVhaztjYXNlImRyYWdlbnRlciI6Y2FzZSJkcmFnbGVhdmUiOlRuPW51bGw7YnJlYWs7Y2FzZSJtb3VzZW92ZXIiOmNhc2UibW91c2VvdXQiOkxuPW51bGw7YnJlYWs7Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJwb2ludGVyb3V0IjpNbi5kZWxldGUobi5wb2ludGVySWQpO2JyZWFrO2Nhc2UiZ290cG9pbnRlcmNhcHR1cmUiOmNhc2UibG9zdHBvaW50ZXJjYXB0dXJlIjpGbi5kZWxldGUobi5wb2ludGVySWQpfX1mdW5jdGlvbiBPbihlLG4sdCxyLGwsYSl7cmV0dXJuIG51bGw9PT1lfHxlLm5hdGl2ZUV2ZW50IT09YT8oZT17YmxvY2tlZE9uOm4sZG9tRXZlbnROYW1lOnQsZXZlbnRTeXN0ZW1GbGFnczpyLG5hdGl2ZUV2ZW50OmEsdGFyZ2V0Q29udGFpbmVyczpbbF19LG51bGwhPT1uJiYobnVsbCE9PShuPWJsKG4pKSYmeG4obikpLAplKTooZS5ldmVudFN5c3RlbUZsYWdzfD1yLG49ZS50YXJnZXRDb250YWluZXJzLG51bGwhPT1sJiYtMT09PW4uaW5kZXhPZihsKSYmbi5wdXNoKGwpLGUpfWZ1bmN0aW9uIFVuKGUpe3ZhciBuPXlsKGUudGFyZ2V0KTtpZihudWxsIT09bil7dmFyIHQ9V2Uobik7aWYobnVsbCE9PXQpaWYoMTM9PT0obj10LnRhZykpe2lmKG51bGwhPT0obj1IZSh0KSkpcmV0dXJuIGUuYmxvY2tlZE9uPW4sdm9pZCB6bihlLnByaW9yaXR5LChmdW5jdGlvbigpe0VuKHQpfSkpfWVsc2UgaWYoMz09PW4mJnQuc3RhdGVOb2RlLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpcmV0dXJuIHZvaWQoZS5ibG9ja2VkT249Mz09PXQudGFnP3Quc3RhdGVOb2RlLmNvbnRhaW5lckluZm86bnVsbCl9ZS5ibG9ja2VkT249bnVsbH1mdW5jdGlvbiBWbihlKXtpZihudWxsIT09ZS5ibG9ja2VkT24pcmV0dXJuITE7Zm9yKHZhciBuPWUudGFyZ2V0Q29udGFpbmVyczswPG4ubGVuZ3RoOyl7dmFyIHQ9WG4oZS5kb21FdmVudE5hbWUsZS5ldmVudFN5c3RlbUZsYWdzLG5bMF0sZS5uYXRpdmVFdmVudCk7aWYobnVsbCE9PXQpcmV0dXJuIG51bGwhPT0obj1ibCh0KSkmJnhuKG4pLGUuYmxvY2tlZE9uPXQsITE7dmFyIHI9bmV3KHQ9ZS5uYXRpdmVFdmVudCkuY29uc3RydWN0b3IodC50eXBlLHQpO2tlPXIsdC50YXJnZXQuZGlzcGF0Y2hFdmVudChyKSxrZT1udWxsLG4uc2hpZnQoKX1yZXR1cm4hMH1mdW5jdGlvbiBBbihlLG4sdCl7Vm4oZSkmJnQuZGVsZXRlKG4pfWZ1bmN0aW9uIEJuKCl7Tm49ITEsbnVsbCE9PVBuJiZWbihQbikmJihQbj1udWxsKSxudWxsIT09VG4mJlZuKFRuKSYmKFRuPW51bGwpLG51bGwhPT1MbiYmVm4oTG4pJiYoTG49bnVsbCksTW4uZm9yRWFjaChBbiksRm4uZm9yRWFjaChBbil9ZnVuY3Rpb24gV24oZSxuKXtlLmJsb2NrZWRPbj09PW4mJihlLmJsb2NrZWRPbj1udWxsLE5ufHwoTm49ITAsbC51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrKGwudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksQm4pKSl9ZnVuY3Rpb24gSG4oZSl7ZnVuY3Rpb24gbihuKXtyZXR1cm4gV24obixlKX1pZigwPF9uLmxlbmd0aCl7V24oX25bMF0sZSk7Zm9yKHZhciB0PTE7dDxfbi5sZW5ndGg7dCsrKXt2YXIgcj1fblt0XTtyLmJsb2NrZWRPbj09PWUmJihyLmJsb2NrZWRPbj1udWxsKX19Zm9yKG51bGwhPT1QbiYmV24oUG4sZSksbnVsbCE9PVRuJiZXbihUbixlKSxudWxsIT09TG4mJlduKExuLGUpLE1uLmZvckVhY2gobiksRm4uZm9yRWFjaChuKSx0PTA7dDxSbi5sZW5ndGg7dCsrKShyPVJuW3RdKS5ibG9ja2VkT249PT1lJiYoci5ibG9ja2VkT249bnVsbCk7Zm9yKDswPFJuLmxlbmd0aCYmbnVsbD09PSh0PVJuWzBdKS5ibG9ja2VkT247KVVuKHQpLG51bGw9PT10LmJsb2NrZWRPbiYmUm4uc2hpZnQoKX12YXIgUW49ay5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxqbj0hMDtmdW5jdGlvbiAkbihlLG4sdCxyKXt2YXIgbD1rbixhPVFuLnRyYW5zaXRpb247UW4udHJhbnNpdGlvbj1udWxsO3RyeXtrbj0xLEtuKGUsbix0LHIpfWZpbmFsbHl7a249bCxRbi50cmFuc2l0aW9uPWF9fWZ1bmN0aW9uIHFuKGUsbix0LHIpe3ZhciBsPWtuLGE9UW4udHJhbnNpdGlvbjtRbi50cmFuc2l0aW9uPW51bGw7dHJ5e2tuPTQsS24oZSxuLHQscil9ZmluYWxseXtrbj1sLFFuLnRyYW5zaXRpb249YX19ZnVuY3Rpb24gS24oZSxuLHQscil7aWYoam4pe3ZhciBsPVhuKGUsbix0LHIpO2lmKG51bGw9PT1sKVFyKGUsbixyLFluLHQpLEluKGUscik7ZWxzZSBpZihmdW5jdGlvbihlLG4sdCxyLGwpe3N3aXRjaChuKXtjYXNlImZvY3VzaW4iOnJldHVybiBQbj1PbihQbixlLG4sdCxyLGwpLCEwO2Nhc2UiZHJhZ2VudGVyIjpyZXR1cm4gVG49T24oVG4sZSxuLHQscixsKSwhMDtjYXNlIm1vdXNlb3ZlciI6cmV0dXJuIExuPU9uKExuLGUsbix0LHIsbCksITA7Y2FzZSJwb2ludGVyb3ZlciI6dmFyIGE9bC5wb2ludGVySWQ7cmV0dXJuIE1uLnNldChhLE9uKE1uLmdldChhKXx8bnVsbCxlLG4sdCxyLGwpKSwhMDtjYXNlImdvdHBvaW50ZXJjYXB0dXJlIjpyZXR1cm4gYT1sLnBvaW50ZXJJZCxGbi5zZXQoYSxPbihGbi5nZXQoYSl8fG51bGwsZSxuLHQscixsKSksITB9cmV0dXJuITF9KGwsZSxuLHQscikpci5zdG9wUHJvcGFnYXRpb24oKTtlbHNlIGlmKEluKGUsciksNCZuJiYtMTxEbi5pbmRleE9mKGUpKXtmb3IoO251bGwhPT1sOyl7dmFyIGE9YmwobCk7aWYobnVsbCE9PWEmJlNuKGEpLG51bGw9PT0oYT1YbihlLG4sdCxyKSkmJlFyKGUsbixyLFluLHQpLGE9PT1sKWJyZWFrO2w9YX1udWxsIT09bCYmci5zdG9wUHJvcGFnYXRpb24oKX1lbHNlIFFyKGUsbixyLG51bGwsdCl9fXZhciBZbj1udWxsO2Z1bmN0aW9uIFhuKGUsbix0LHIpe2lmKFluPW51bGwsbnVsbCE9PShlPXlsKGU9d2UocikpKSlpZihudWxsPT09KG49V2UoZSkpKWU9bnVsbDtlbHNlIGlmKDEzPT09KHQ9bi50YWcpKXtpZihudWxsIT09KGU9SGUobikpKXJldHVybiBlO2U9bnVsbH1lbHNlIGlmKDM9PT10KXtpZihuLnN0YXRlTm9kZS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXJldHVybiAzPT09bi50YWc/bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbzpudWxsO2U9bnVsbH1lbHNlIG4hPT1lJiYoZT1udWxsKTtyZXR1cm4gWW49ZSxudWxsfWZ1bmN0aW9uIEduKGUpe3N3aXRjaChlKXtjYXNlImNhbmNlbCI6Y2FzZSJjbGljayI6Y2FzZSJjbG9zZSI6Y2FzZSJjb250ZXh0bWVudSI6Y2FzZSJjb3B5IjpjYXNlImN1dCI6Y2FzZSJhdXhjbGljayI6Y2FzZSJkYmxjbGljayI6Y2FzZSJkcmFnZW5kIjpjYXNlImRyYWdzdGFydCI6Y2FzZSJkcm9wIjpjYXNlImZvY3VzaW4iOmNhc2UiZm9jdXNvdXQiOmNhc2UiaW5wdXQiOmNhc2UiaW52YWxpZCI6Y2FzZSJrZXlkb3duIjpjYXNlImtleXByZXNzIjpjYXNlImtleXVwIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJtb3VzZXVwIjpjYXNlInBhc3RlIjpjYXNlInBhdXNlIjpjYXNlInBsYXkiOmNhc2UicG9pbnRlcmNhbmNlbCI6Y2FzZSJwb2ludGVyZG93biI6Y2FzZSJwb2ludGVydXAiOmNhc2UicmF0ZWNoYW5nZSI6CmNhc2UicmVzZXQiOmNhc2UicmVzaXplIjpjYXNlInNlZWtlZCI6Y2FzZSJzdWJtaXQiOmNhc2UidG91Y2hjYW5jZWwiOmNhc2UidG91Y2hlbmQiOmNhc2UidG91Y2hzdGFydCI6Y2FzZSJ2b2x1bWVjaGFuZ2UiOmNhc2UiY2hhbmdlIjpjYXNlInNlbGVjdGlvbmNoYW5nZSI6Y2FzZSJ0ZXh0SW5wdXQiOmNhc2UiY29tcG9zaXRpb25zdGFydCI6Y2FzZSJjb21wb3NpdGlvbmVuZCI6Y2FzZSJjb21wb3NpdGlvbnVwZGF0ZSI6Y2FzZSJiZWZvcmVibHVyIjpjYXNlImFmdGVyYmx1ciI6Y2FzZSJiZWZvcmVpbnB1dCI6Y2FzZSJibHVyIjpjYXNlImZ1bGxzY3JlZW5jaGFuZ2UiOmNhc2UiZm9jdXMiOmNhc2UiaGFzaGNoYW5nZSI6Y2FzZSJwb3BzdGF0ZSI6Y2FzZSJzZWxlY3QiOmNhc2Uic2VsZWN0c3RhcnQiOnJldHVybiAxO2Nhc2UiZHJhZyI6Y2FzZSJkcmFnZW50ZXIiOmNhc2UiZHJhZ2V4aXQiOmNhc2UiZHJhZ2xlYXZlIjpjYXNlImRyYWdvdmVyIjpjYXNlIm1vdXNlbW92ZSI6Y2FzZSJtb3VzZW91dCI6Y2FzZSJtb3VzZW92ZXIiOmNhc2UicG9pbnRlcm1vdmUiOmNhc2UicG9pbnRlcm91dCI6Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJzY3JvbGwiOmNhc2UidG9nZ2xlIjpjYXNlInRvdWNobW92ZSI6Y2FzZSJ3aGVlbCI6Y2FzZSJtb3VzZWVudGVyIjpjYXNlIm1vdXNlbGVhdmUiOmNhc2UicG9pbnRlcmVudGVyIjpjYXNlInBvaW50ZXJsZWF2ZSI6cmV0dXJuIDQ7Y2FzZSJtZXNzYWdlIjpzd2l0Y2goWmUoKSl7Y2FzZSBKZTpyZXR1cm4gMTtjYXNlIGVuOnJldHVybiA0O2Nhc2Ugbm46Y2FzZSB0bjpyZXR1cm4gMTY7Y2FzZSBybjpyZXR1cm4gNTM2ODcwOTEyO2RlZmF1bHQ6cmV0dXJuIDE2fWRlZmF1bHQ6cmV0dXJuIDE2fX12YXIgWm49bnVsbCxKbj1udWxsLGV0PW51bGw7ZnVuY3Rpb24gbnQoKXtpZihldClyZXR1cm4gZXQ7dmFyIGUsbix0PUpuLHI9dC5sZW5ndGgsbD0idmFsdWUiaW4gWm4/Wm4udmFsdWU6Wm4udGV4dENvbnRlbnQsYT1sLmxlbmd0aDtmb3IoZT0wO2U8ciYmdFtlXT09PWxbZV07ZSsrKTt2YXIgdT1yLWU7Zm9yKG49MTtuPD11JiZ0W3Itbl09PT1sW2Etbl07bisrKTtyZXR1cm4gZXQ9bC5zbGljZShlLDE8bj8xLW46dm9pZCAwKX1mdW5jdGlvbiB0dChlKXt2YXIgbj1lLmtleUNvZGU7cmV0dXJuImNoYXJDb2RlImluIGU/MD09PShlPWUuY2hhckNvZGUpJiYxMz09PW4mJihlPTEzKTplPW4sMTA9PT1lJiYoZT0xMyksMzI8PWV8fDEzPT09ZT9lOjB9ZnVuY3Rpb24gcnQoKXtyZXR1cm4hMH1mdW5jdGlvbiBsdCgpe3JldHVybiExfWZ1bmN0aW9uIGF0KGUpe2Z1bmN0aW9uIG4obix0LHIsbCxhKXtmb3IodmFyIHUgaW4gdGhpcy5fcmVhY3ROYW1lPW4sdGhpcy5fdGFyZ2V0SW5zdD1yLHRoaXMudHlwZT10LHRoaXMubmF0aXZlRXZlbnQ9bCx0aGlzLnRhcmdldD1hLHRoaXMuY3VycmVudFRhcmdldD1udWxsLGUpZS5oYXNPd25Qcm9wZXJ0eSh1KSYmKG49ZVt1XSx0aGlzW3VdPW4/bihsKTpsW3VdKTtyZXR1cm4gdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9KG51bGwhPWwuZGVmYXVsdFByZXZlbnRlZD9sLmRlZmF1bHRQcmV2ZW50ZWQ6ITE9PT1sLnJldHVyblZhbHVlKT9ydDpsdCx0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPWx0LHRoaXN9cmV0dXJuIE8obi5wcm90b3R5cGUse3ByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0UHJldmVudGVkPSEwO3ZhciBlPXRoaXMubmF0aXZlRXZlbnQ7ZSYmKGUucHJldmVudERlZmF1bHQ/ZS5wcmV2ZW50RGVmYXVsdCgpOiJ1bmtub3duIiE9dHlwZW9mIGUucmV0dXJuVmFsdWUmJihlLnJldHVyblZhbHVlPSExKSx0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1ydCl9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMubmF0aXZlRXZlbnQ7ZSYmKGUuc3RvcFByb3BhZ2F0aW9uP2Uuc3RvcFByb3BhZ2F0aW9uKCk6InVua25vd24iIT10eXBlb2YgZS5jYW5jZWxCdWJibGUmJihlLmNhbmNlbEJ1YmJsZT0hMCksdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1ydCl9LHBlcnNpc3Q6ZnVuY3Rpb24oKXt9LGlzUGVyc2lzdGVudDpydH0pLG59dmFyIHV0LG90LGl0LHN0PXtldmVudFBoYXNlOjAsYnViYmxlczowLGNhbmNlbGFibGU6MCx0aW1lU3RhbXA6ZnVuY3Rpb24oZSl7cmV0dXJuIGUudGltZVN0YW1wfHxEYXRlLm5vdygpfSxkZWZhdWx0UHJldmVudGVkOjAsaXNUcnVzdGVkOjB9LGN0PWF0KHN0KSxmdD1PKHt9LHN0LHt2aWV3OjAsZGV0YWlsOjB9KSxkdD1hdChmdCkscHQ9Tyh7fSxmdCx7c2NyZWVuWDowLHNjcmVlblk6MCxjbGllbnRYOjAsY2xpZW50WTowLHBhZ2VYOjAscGFnZVk6MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxhbHRLZXk6MCxtZXRhS2V5OjAsZ2V0TW9kaWZpZXJTdGF0ZTpDdCxidXR0b246MCxidXR0b25zOjAscmVsYXRlZFRhcmdldDpmdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwPT09ZS5yZWxhdGVkVGFyZ2V0P2UuZnJvbUVsZW1lbnQ9PT1lLnNyY0VsZW1lbnQ/ZS50b0VsZW1lbnQ6ZS5mcm9tRWxlbWVudDplLnJlbGF0ZWRUYXJnZXR9LG1vdmVtZW50WDpmdW5jdGlvbihlKXtyZXR1cm4ibW92ZW1lbnRYImluIGU/ZS5tb3ZlbWVudFg6KGUhPT1pdCYmKGl0JiYibW91c2Vtb3ZlIj09PWUudHlwZT8odXQ9ZS5zY3JlZW5YLWl0LnNjcmVlblgsb3Q9ZS5zY3JlZW5ZLWl0LnNjcmVlblkpOm90PXV0PTAsaXQ9ZSksdXQpfSxtb3ZlbWVudFk6ZnVuY3Rpb24oZSl7cmV0dXJuIm1vdmVtZW50WSJpbiBlP2UubW92ZW1lbnRZOm90fX0pLG10PWF0KHB0KSxodD1hdChPKHt9LHB0LHtkYXRhVHJhbnNmZXI6MH0pKSxndD1hdChPKHt9LGZ0LHtyZWxhdGVkVGFyZ2V0OjB9KSksdnQ9YXQoTyh7fSxzdCx7YW5pbWF0aW9uTmFtZTowLGVsYXBzZWRUaW1lOjAscHNldWRvRWxlbWVudDowfSkpLHl0PU8oe30sc3Qse2NsaXBib2FyZERhdGE6ZnVuY3Rpb24oZSl7cmV0dXJuImNsaXBib2FyZERhdGEiaW4gZT9lLmNsaXBib2FyZERhdGE6d2luZG93LmNsaXBib2FyZERhdGF9fSksYnQ9YXQoeXQpLGt0PWF0KE8oe30sc3Qse2RhdGE6MH0pKSx3dD17RXNjOiJFc2NhcGUiLFNwYWNlYmFyOiIgIixMZWZ0OiJBcnJvd0xlZnQiLApVcDoiQXJyb3dVcCIsUmlnaHQ6IkFycm93UmlnaHQiLERvd246IkFycm93RG93biIsRGVsOiJEZWxldGUiLFdpbjoiT1MiLE1lbnU6IkNvbnRleHRNZW51IixBcHBzOiJDb250ZXh0TWVudSIsU2Nyb2xsOiJTY3JvbGxMb2NrIixNb3pQcmludGFibGVLZXk6IlVuaWRlbnRpZmllZCJ9LFN0PXs4OiJCYWNrc3BhY2UiLDk6IlRhYiIsMTI6IkNsZWFyIiwxMzoiRW50ZXIiLDE2OiJTaGlmdCIsMTc6IkNvbnRyb2wiLDE4OiJBbHQiLDE5OiJQYXVzZSIsMjA6IkNhcHNMb2NrIiwyNzoiRXNjYXBlIiwzMjoiICIsMzM6IlBhZ2VVcCIsMzQ6IlBhZ2VEb3duIiwzNToiRW5kIiwzNjoiSG9tZSIsMzc6IkFycm93TGVmdCIsMzg6IkFycm93VXAiLDM5OiJBcnJvd1JpZ2h0Iiw0MDoiQXJyb3dEb3duIiw0NToiSW5zZXJ0Iiw0NjoiRGVsZXRlIiwxMTI6IkYxIiwxMTM6IkYyIiwxMTQ6IkYzIiwxMTU6IkY0IiwxMTY6IkY1IiwxMTc6IkY2IiwxMTg6IkY3IiwxMTk6IkY4IiwxMjA6IkY5IiwxMjE6IkYxMCIsMTIyOiJGMTEiLDEyMzoiRjEyIiwxNDQ6Ik51bUxvY2siLDE0NToiU2Nyb2xsTG9jayIsMjI0OiJNZXRhIn0seHQ9e0FsdDoiYWx0S2V5IixDb250cm9sOiJjdHJsS2V5IixNZXRhOiJtZXRhS2V5IixTaGlmdDoic2hpZnRLZXkifTtmdW5jdGlvbiBFdChlKXt2YXIgbj10aGlzLm5hdGl2ZUV2ZW50O3JldHVybiBuLmdldE1vZGlmaWVyU3RhdGU/bi5nZXRNb2RpZmllclN0YXRlKGUpOiEhKGU9eHRbZV0pJiYhIW5bZV19ZnVuY3Rpb24gQ3QoKXtyZXR1cm4gRXR9dmFyIHp0PU8oe30sZnQse2tleTpmdW5jdGlvbihlKXtpZihlLmtleSl7dmFyIG49d3RbZS5rZXldfHxlLmtleTtpZigiVW5pZGVudGlmaWVkIiE9PW4pcmV0dXJuIG59cmV0dXJuImtleXByZXNzIj09PWUudHlwZT8xMz09PShlPXR0KGUpKT8iRW50ZXIiOlN0cmluZy5mcm9tQ2hhckNvZGUoZSk6ImtleWRvd24iPT09ZS50eXBlfHwia2V5dXAiPT09ZS50eXBlP1N0W2Uua2V5Q29kZV18fCJVbmlkZW50aWZpZWQiOiIifSxjb2RlOjAsbG9jYXRpb246MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxhbHRLZXk6MCxtZXRhS2V5OjAscmVwZWF0OjAsbG9jYWxlOjAsZ2V0TW9kaWZpZXJTdGF0ZTpDdCxjaGFyQ29kZTpmdW5jdGlvbihlKXtyZXR1cm4ia2V5cHJlc3MiPT09ZS50eXBlP3R0KGUpOjB9LGtleUNvZGU6ZnVuY3Rpb24oZSl7cmV0dXJuImtleWRvd24iPT09ZS50eXBlfHwia2V5dXAiPT09ZS50eXBlP2Uua2V5Q29kZTowfSx3aGljaDpmdW5jdGlvbihlKXtyZXR1cm4ia2V5cHJlc3MiPT09ZS50eXBlP3R0KGUpOiJrZXlkb3duIj09PWUudHlwZXx8ImtleXVwIj09PWUudHlwZT9lLmtleUNvZGU6MH19KSxOdD1hdCh6dCksX3Q9YXQoTyh7fSxwdCx7cG9pbnRlcklkOjAsd2lkdGg6MCxoZWlnaHQ6MCxwcmVzc3VyZTowLHRhbmdlbnRpYWxQcmVzc3VyZTowLHRpbHRYOjAsdGlsdFk6MCx0d2lzdDowLHBvaW50ZXJUeXBlOjAsaXNQcmltYXJ5OjB9KSksUHQ9YXQoTyh7fSxmdCx7dG91Y2hlczowLHRhcmdldFRvdWNoZXM6MCxjaGFuZ2VkVG91Y2hlczowLGFsdEtleTowLG1ldGFLZXk6MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxnZXRNb2RpZmllclN0YXRlOkN0fSkpLFR0PWF0KE8oe30sc3Qse3Byb3BlcnR5TmFtZTowLGVsYXBzZWRUaW1lOjAscHNldWRvRWxlbWVudDowfSkpLEx0PU8oe30scHQse2RlbHRhWDpmdW5jdGlvbihlKXtyZXR1cm4iZGVsdGFYImluIGU/ZS5kZWx0YVg6IndoZWVsRGVsdGFYImluIGU/LWUud2hlZWxEZWx0YVg6MH0sZGVsdGFZOmZ1bmN0aW9uKGUpe3JldHVybiJkZWx0YVkiaW4gZT9lLmRlbHRhWToid2hlZWxEZWx0YVkiaW4gZT8tZS53aGVlbERlbHRhWToid2hlZWxEZWx0YSJpbiBlPy1lLndoZWVsRGVsdGE6MH0sZGVsdGFaOjAsZGVsdGFNb2RlOjB9KSxNdD1hdChMdCksRnQ9WzksMTMsMjcsMzJdLFJ0PWMmJiJDb21wb3NpdGlvbkV2ZW50ImluIHdpbmRvdyxEdD1udWxsO2MmJiJkb2N1bWVudE1vZGUiaW4gZG9jdW1lbnQmJihEdD1kb2N1bWVudC5kb2N1bWVudE1vZGUpO3ZhciBJdD1jJiYiVGV4dEV2ZW50ImluIHdpbmRvdyYmIUR0LE90PWMmJighUnR8fER0JiY4PER0JiYxMT49RHQpLFV0PVN0cmluZy5mcm9tQ2hhckNvZGUoMzIpLFZ0PSExO2Z1bmN0aW9uIEF0KGUsbil7c3dpdGNoKGUpe2Nhc2Uia2V5dXAiOnJldHVybi0xIT09RnQuaW5kZXhPZihuLmtleUNvZGUpO2Nhc2Uia2V5ZG93biI6cmV0dXJuIDIyOSE9PW4ua2V5Q29kZTtjYXNlImtleXByZXNzIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJmb2N1c291dCI6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19ZnVuY3Rpb24gQnQoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZihlPWUuZGV0YWlsKSYmImRhdGEiaW4gZT9lLmRhdGE6bnVsbH12YXIgV3Q9ITE7dmFyIEh0PXtjb2xvcjohMCxkYXRlOiEwLGRhdGV0aW1lOiEwLCJkYXRldGltZS1sb2NhbCI6ITAsZW1haWw6ITAsbW9udGg6ITAsbnVtYmVyOiEwLHBhc3N3b3JkOiEwLHJhbmdlOiEwLHNlYXJjaDohMCx0ZWw6ITAsdGV4dDohMCx0aW1lOiEwLHVybDohMCx3ZWVrOiEwfTtmdW5jdGlvbiBRdChlKXt2YXIgbj1lJiZlLm5vZGVOYW1lJiZlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PW4/ISFIdFtlLnR5cGVdOiJ0ZXh0YXJlYSI9PT1ufWZ1bmN0aW9uIGp0KGUsbix0LHIpe3plKHIpLDA8KG49JHIobiwib25DaGFuZ2UiKSkubGVuZ3RoJiYodD1uZXcgY3QoIm9uQ2hhbmdlIiwiY2hhbmdlIixudWxsLHQsciksZS5wdXNoKHtldmVudDp0LGxpc3RlbmVyczpufSkpfXZhciAkdD1udWxsLHF0PW51bGw7ZnVuY3Rpb24gS3QoZSl7VXIoZSwwKX1mdW5jdGlvbiBZdChlKXtpZihxKGtsKGUpKSlyZXR1cm4gZX1mdW5jdGlvbiBYdChlLG4pe2lmKCJjaGFuZ2UiPT09ZSlyZXR1cm4gbn12YXIgR3Q9ITE7aWYoYyl7dmFyIFp0O2lmKGMpe3ZhciBKdD0ib25pbnB1dCJpbiBkb2N1bWVudDtpZighSnQpe3ZhciBlcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtlci5zZXRBdHRyaWJ1dGUoIm9uaW5wdXQiLCJyZXR1cm47IiksSnQ9ImZ1bmN0aW9uIj09dHlwZW9mIGVyLm9uaW5wdXR9WnQ9SnQKfWVsc2UgWnQ9ITE7R3Q9WnQmJighZG9jdW1lbnQuZG9jdW1lbnRNb2RlfHw5PGRvY3VtZW50LmRvY3VtZW50TW9kZSl9ZnVuY3Rpb24gbnIoKXskdCYmKCR0LmRldGFjaEV2ZW50KCJvbnByb3BlcnR5Y2hhbmdlIix0cikscXQ9JHQ9bnVsbCl9ZnVuY3Rpb24gdHIoZSl7aWYoInZhbHVlIj09PWUucHJvcGVydHlOYW1lJiZZdChxdCkpe3ZhciBuPVtdO2p0KG4scXQsZSx3ZShlKSksTGUoS3Qsbil9fWZ1bmN0aW9uIHJyKGUsbix0KXsiZm9jdXNpbiI9PT1lPyhucigpLHF0PXQsKCR0PW4pLmF0dGFjaEV2ZW50KCJvbnByb3BlcnR5Y2hhbmdlIix0cikpOiJmb2N1c291dCI9PT1lJiZucigpfWZ1bmN0aW9uIGxyKGUpe2lmKCJzZWxlY3Rpb25jaGFuZ2UiPT09ZXx8ImtleXVwIj09PWV8fCJrZXlkb3duIj09PWUpcmV0dXJuIFl0KHF0KX1mdW5jdGlvbiBhcihlLG4pe2lmKCJjbGljayI9PT1lKXJldHVybiBZdChuKX1mdW5jdGlvbiB1cihlLG4pe2lmKCJpbnB1dCI9PT1lfHwiY2hhbmdlIj09PWUpcmV0dXJuIFl0KG4pfXZhciBvcj0iZnVuY3Rpb24iPT10eXBlb2YgT2JqZWN0LmlzP09iamVjdC5pczpmdW5jdGlvbihlLG4pe3JldHVybiBlPT09biYmKDAhPT1lfHwxL2U9PTEvbil8fGUhPWUmJm4hPW59O2Z1bmN0aW9uIGlyKGUsbil7aWYob3IoZSxuKSlyZXR1cm4hMDtpZigib2JqZWN0IiE9dHlwZW9mIGV8fG51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIG58fG51bGw9PT1uKXJldHVybiExO3ZhciB0PU9iamVjdC5rZXlzKGUpLHI9T2JqZWN0LmtleXMobik7aWYodC5sZW5ndGghPT1yLmxlbmd0aClyZXR1cm4hMTtmb3Iocj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbD10W3JdO2lmKCFmLmNhbGwobixsKXx8IW9yKGVbbF0sbltsXSkpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gc3IoZSl7Zm9yKDtlJiZlLmZpcnN0Q2hpbGQ7KWU9ZS5maXJzdENoaWxkO3JldHVybiBlfWZ1bmN0aW9uIGNyKGUsbil7dmFyIHQscj1zcihlKTtmb3IoZT0wO3I7KXtpZigzPT09ci5ub2RlVHlwZSl7aWYodD1lK3IudGV4dENvbnRlbnQubGVuZ3RoLGU8PW4mJnQ+PW4pcmV0dXJue25vZGU6cixvZmZzZXQ6bi1lfTtlPXR9ZTp7Zm9yKDtyOyl7aWYoci5uZXh0U2libGluZyl7cj1yLm5leHRTaWJsaW5nO2JyZWFrIGV9cj1yLnBhcmVudE5vZGV9cj12b2lkIDB9cj1zcihyKX19ZnVuY3Rpb24gZnIoZSxuKXtyZXR1cm4hKCFlfHwhbikmJihlPT09bnx8KCFlfHwzIT09ZS5ub2RlVHlwZSkmJihuJiYzPT09bi5ub2RlVHlwZT9mcihlLG4ucGFyZW50Tm9kZSk6ImNvbnRhaW5zImluIGU/ZS5jb250YWlucyhuKTohIWUuY29tcGFyZURvY3VtZW50UG9zaXRpb24mJiEhKDE2JmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24obikpKSl9ZnVuY3Rpb24gZHIoKXtmb3IodmFyIGU9d2luZG93LG49SygpO24gaW5zdGFuY2VvZiBlLkhUTUxJRnJhbWVFbGVtZW50Oyl7dHJ5e3ZhciB0PSJzdHJpbmciPT10eXBlb2Ygbi5jb250ZW50V2luZG93LmxvY2F0aW9uLmhyZWZ9Y2F0Y2goZSl7dD0hMX1pZighdClicmVhaztuPUsoKGU9bi5jb250ZW50V2luZG93KS5kb2N1bWVudCl9cmV0dXJuIG59ZnVuY3Rpb24gcHIoZSl7dmFyIG49ZSYmZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiBuJiYoImlucHV0Ij09PW4mJigidGV4dCI9PT1lLnR5cGV8fCJzZWFyY2giPT09ZS50eXBlfHwidGVsIj09PWUudHlwZXx8InVybCI9PT1lLnR5cGV8fCJwYXNzd29yZCI9PT1lLnR5cGUpfHwidGV4dGFyZWEiPT09bnx8InRydWUiPT09ZS5jb250ZW50RWRpdGFibGUpfWZ1bmN0aW9uIG1yKGUpe3ZhciBuPWRyKCksdD1lLmZvY3VzZWRFbGVtLHI9ZS5zZWxlY3Rpb25SYW5nZTtpZihuIT09dCYmdCYmdC5vd25lckRvY3VtZW50JiZmcih0Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHQpKXtpZihudWxsIT09ciYmcHIodCkpaWYobj1yLnN0YXJ0LHZvaWQgMD09PShlPXIuZW5kKSYmKGU9biksInNlbGVjdGlvblN0YXJ0ImluIHQpdC5zZWxlY3Rpb25TdGFydD1uLHQuc2VsZWN0aW9uRW5kPU1hdGgubWluKGUsdC52YWx1ZS5sZW5ndGgpO2Vsc2UgaWYoKGU9KG49dC5vd25lckRvY3VtZW50fHxkb2N1bWVudCkmJm4uZGVmYXVsdFZpZXd8fHdpbmRvdykuZ2V0U2VsZWN0aW9uKXtlPWUuZ2V0U2VsZWN0aW9uKCk7dmFyIGw9dC50ZXh0Q29udGVudC5sZW5ndGgsYT1NYXRoLm1pbihyLnN0YXJ0LGwpO3I9dm9pZCAwPT09ci5lbmQ/YTpNYXRoLm1pbihyLmVuZCxsKSwhZS5leHRlbmQmJmE+ciYmKGw9cixyPWEsYT1sKSxsPWNyKHQsYSk7dmFyIHU9Y3IodCxyKTtsJiZ1JiYoMSE9PWUucmFuZ2VDb3VudHx8ZS5hbmNob3JOb2RlIT09bC5ub2RlfHxlLmFuY2hvck9mZnNldCE9PWwub2Zmc2V0fHxlLmZvY3VzTm9kZSE9PXUubm9kZXx8ZS5mb2N1c09mZnNldCE9PXUub2Zmc2V0KSYmKChuPW4uY3JlYXRlUmFuZ2UoKSkuc2V0U3RhcnQobC5ub2RlLGwub2Zmc2V0KSxlLnJlbW92ZUFsbFJhbmdlcygpLGE+cj8oZS5hZGRSYW5nZShuKSxlLmV4dGVuZCh1Lm5vZGUsdS5vZmZzZXQpKToobi5zZXRFbmQodS5ub2RlLHUub2Zmc2V0KSxlLmFkZFJhbmdlKG4pKSl9Zm9yKG49W10sZT10O2U9ZS5wYXJlbnROb2RlOykxPT09ZS5ub2RlVHlwZSYmbi5wdXNoKHtlbGVtZW50OmUsbGVmdDplLnNjcm9sbExlZnQsdG9wOmUuc2Nyb2xsVG9wfSk7Zm9yKCJmdW5jdGlvbiI9PXR5cGVvZiB0LmZvY3VzJiZ0LmZvY3VzKCksdD0wO3Q8bi5sZW5ndGg7dCsrKShlPW5bdF0pLmVsZW1lbnQuc2Nyb2xsTGVmdD1lLmxlZnQsZS5lbGVtZW50LnNjcm9sbFRvcD1lLnRvcH19dmFyIGhyPWMmJiJkb2N1bWVudE1vZGUiaW4gZG9jdW1lbnQmJjExPj1kb2N1bWVudC5kb2N1bWVudE1vZGUsZ3I9bnVsbCx2cj1udWxsLHlyPW51bGwsYnI9ITE7ZnVuY3Rpb24ga3IoZSxuLHQpe3ZhciByPXQud2luZG93PT09dD90LmRvY3VtZW50Ojk9PT10Lm5vZGVUeXBlP3Q6dC5vd25lckRvY3VtZW50O2JyfHxudWxsPT1ncnx8Z3IhPT1LKHIpfHwoInNlbGVjdGlvblN0YXJ0ImluKHI9Z3IpJiZwcihyKT9yPXtzdGFydDpyLnNlbGVjdGlvblN0YXJ0LGVuZDpyLnNlbGVjdGlvbkVuZAp9OnI9e2FuY2hvck5vZGU6KHI9KHIub3duZXJEb2N1bWVudCYmci5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx3aW5kb3cpLmdldFNlbGVjdGlvbigpKS5hbmNob3JOb2RlLGFuY2hvck9mZnNldDpyLmFuY2hvck9mZnNldCxmb2N1c05vZGU6ci5mb2N1c05vZGUsZm9jdXNPZmZzZXQ6ci5mb2N1c09mZnNldH0seXImJmlyKHlyLHIpfHwoeXI9ciwwPChyPSRyKHZyLCJvblNlbGVjdCIpKS5sZW5ndGgmJihuPW5ldyBjdCgib25TZWxlY3QiLCJzZWxlY3QiLG51bGwsbix0KSxlLnB1c2goe2V2ZW50Om4sbGlzdGVuZXJzOnJ9KSxuLnRhcmdldD1ncikpKX1mdW5jdGlvbiB3cihlLG4pe3ZhciB0PXt9O3JldHVybiB0W2UudG9Mb3dlckNhc2UoKV09bi50b0xvd2VyQ2FzZSgpLHRbIldlYmtpdCIrZV09IndlYmtpdCIrbix0WyJNb3oiK2VdPSJtb3oiK24sdH12YXIgU3I9e2FuaW1hdGlvbmVuZDp3cigiQW5pbWF0aW9uIiwiQW5pbWF0aW9uRW5kIiksYW5pbWF0aW9uaXRlcmF0aW9uOndyKCJBbmltYXRpb24iLCJBbmltYXRpb25JdGVyYXRpb24iKSxhbmltYXRpb25zdGFydDp3cigiQW5pbWF0aW9uIiwiQW5pbWF0aW9uU3RhcnQiKSx0cmFuc2l0aW9uZW5kOndyKCJUcmFuc2l0aW9uIiwiVHJhbnNpdGlvbkVuZCIpfSx4cj17fSxFcj17fTtmdW5jdGlvbiBDcihlKXtpZih4cltlXSlyZXR1cm4geHJbZV07aWYoIVNyW2VdKXJldHVybiBlO3ZhciBuLHQ9U3JbZV07Zm9yKG4gaW4gdClpZih0Lmhhc093blByb3BlcnR5KG4pJiZuIGluIEVyKXJldHVybiB4cltlXT10W25dO3JldHVybiBlfWMmJihFcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKS5zdHlsZSwiQW5pbWF0aW9uRXZlbnQiaW4gd2luZG93fHwoZGVsZXRlIFNyLmFuaW1hdGlvbmVuZC5hbmltYXRpb24sZGVsZXRlIFNyLmFuaW1hdGlvbml0ZXJhdGlvbi5hbmltYXRpb24sZGVsZXRlIFNyLmFuaW1hdGlvbnN0YXJ0LmFuaW1hdGlvbiksIlRyYW5zaXRpb25FdmVudCJpbiB3aW5kb3d8fGRlbGV0ZSBTci50cmFuc2l0aW9uZW5kLnRyYW5zaXRpb24pO3ZhciB6cj1DcigiYW5pbWF0aW9uZW5kIiksTnI9Q3IoImFuaW1hdGlvbml0ZXJhdGlvbiIpLF9yPUNyKCJhbmltYXRpb25zdGFydCIpLFByPUNyKCJ0cmFuc2l0aW9uZW5kIiksVHI9bmV3IE1hcCxMcj0iYWJvcnQgYXV4Q2xpY2sgY2FuY2VsIGNhblBsYXkgY2FuUGxheVRocm91Z2ggY2xpY2sgY2xvc2UgY29udGV4dE1lbnUgY29weSBjdXQgZHJhZyBkcmFnRW5kIGRyYWdFbnRlciBkcmFnRXhpdCBkcmFnTGVhdmUgZHJhZ092ZXIgZHJhZ1N0YXJ0IGRyb3AgZHVyYXRpb25DaGFuZ2UgZW1wdGllZCBlbmNyeXB0ZWQgZW5kZWQgZXJyb3IgZ290UG9pbnRlckNhcHR1cmUgaW5wdXQgaW52YWxpZCBrZXlEb3duIGtleVByZXNzIGtleVVwIGxvYWQgbG9hZGVkRGF0YSBsb2FkZWRNZXRhZGF0YSBsb2FkU3RhcnQgbG9zdFBvaW50ZXJDYXB0dXJlIG1vdXNlRG93biBtb3VzZU1vdmUgbW91c2VPdXQgbW91c2VPdmVyIG1vdXNlVXAgcGFzdGUgcGF1c2UgcGxheSBwbGF5aW5nIHBvaW50ZXJDYW5jZWwgcG9pbnRlckRvd24gcG9pbnRlck1vdmUgcG9pbnRlck91dCBwb2ludGVyT3ZlciBwb2ludGVyVXAgcHJvZ3Jlc3MgcmF0ZUNoYW5nZSByZXNldCByZXNpemUgc2Vla2VkIHNlZWtpbmcgc3RhbGxlZCBzdWJtaXQgc3VzcGVuZCB0aW1lVXBkYXRlIHRvdWNoQ2FuY2VsIHRvdWNoRW5kIHRvdWNoU3RhcnQgdm9sdW1lQ2hhbmdlIHNjcm9sbCB0b2dnbGUgdG91Y2hNb3ZlIHdhaXRpbmcgd2hlZWwiLnNwbGl0KCIgIik7ZnVuY3Rpb24gTXIoZSxuKXtUci5zZXQoZSxuKSxpKG4sW2VdKX1mb3IodmFyIEZyPTA7RnI8THIubGVuZ3RoO0ZyKyspe3ZhciBScj1McltGcl07TXIoUnIudG9Mb3dlckNhc2UoKSwib24iKyhSclswXS50b1VwcGVyQ2FzZSgpK1JyLnNsaWNlKDEpKSl9TXIoenIsIm9uQW5pbWF0aW9uRW5kIiksTXIoTnIsIm9uQW5pbWF0aW9uSXRlcmF0aW9uIiksTXIoX3IsIm9uQW5pbWF0aW9uU3RhcnQiKSxNcigiZGJsY2xpY2siLCJvbkRvdWJsZUNsaWNrIiksTXIoImZvY3VzaW4iLCJvbkZvY3VzIiksTXIoImZvY3Vzb3V0Iiwib25CbHVyIiksTXIoUHIsIm9uVHJhbnNpdGlvbkVuZCIpLHMoIm9uTW91c2VFbnRlciIsWyJtb3VzZW91dCIsIm1vdXNlb3ZlciJdKSxzKCJvbk1vdXNlTGVhdmUiLFsibW91c2VvdXQiLCJtb3VzZW92ZXIiXSkscygib25Qb2ludGVyRW50ZXIiLFsicG9pbnRlcm91dCIsInBvaW50ZXJvdmVyIl0pLHMoIm9uUG9pbnRlckxlYXZlIixbInBvaW50ZXJvdXQiLCJwb2ludGVyb3ZlciJdKSxpKCJvbkNoYW5nZSIsImNoYW5nZSBjbGljayBmb2N1c2luIGZvY3Vzb3V0IGlucHV0IGtleWRvd24ga2V5dXAgc2VsZWN0aW9uY2hhbmdlIi5zcGxpdCgiICIpKSxpKCJvblNlbGVjdCIsImZvY3Vzb3V0IGNvbnRleHRtZW51IGRyYWdlbmQgZm9jdXNpbiBrZXlkb3duIGtleXVwIG1vdXNlZG93biBtb3VzZXVwIHNlbGVjdGlvbmNoYW5nZSIuc3BsaXQoIiAiKSksaSgib25CZWZvcmVJbnB1dCIsWyJjb21wb3NpdGlvbmVuZCIsImtleXByZXNzIiwidGV4dElucHV0IiwicGFzdGUiXSksaSgib25Db21wb3NpdGlvbkVuZCIsImNvbXBvc2l0aW9uZW5kIGZvY3Vzb3V0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2Vkb3duIi5zcGxpdCgiICIpKSxpKCJvbkNvbXBvc2l0aW9uU3RhcnQiLCJjb21wb3NpdGlvbnN0YXJ0IGZvY3Vzb3V0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2Vkb3duIi5zcGxpdCgiICIpKSxpKCJvbkNvbXBvc2l0aW9uVXBkYXRlIiwiY29tcG9zaXRpb251cGRhdGUgZm9jdXNvdXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBtb3VzZWRvd24iLnNwbGl0KCIgIikpCjt2YXIgRHI9ImFib3J0IGNhbnBsYXkgY2FucGxheXRocm91Z2ggZHVyYXRpb25jaGFuZ2UgZW1wdGllZCBlbmNyeXB0ZWQgZW5kZWQgZXJyb3IgbG9hZGVkZGF0YSBsb2FkZWRtZXRhZGF0YSBsb2Fkc3RhcnQgcGF1c2UgcGxheSBwbGF5aW5nIHByb2dyZXNzIHJhdGVjaGFuZ2UgcmVzaXplIHNlZWtlZCBzZWVraW5nIHN0YWxsZWQgc3VzcGVuZCB0aW1ldXBkYXRlIHZvbHVtZWNoYW5nZSB3YWl0aW5nIi5zcGxpdCgiICIpLElyPW5ldyBTZXQoImNhbmNlbCBjbG9zZSBpbnZhbGlkIGxvYWQgc2Nyb2xsIHRvZ2dsZSIuc3BsaXQoIiAiKS5jb25jYXQoRHIpKTtmdW5jdGlvbiBPcihlLG4sdCl7dmFyIHI9ZS50eXBlfHwidW5rbm93bi1ldmVudCI7ZS5jdXJyZW50VGFyZ2V0PXQsZnVuY3Rpb24oZSxuLHQscixsLHUsbyxpLHMpe2lmKEJlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxJZSl7aWYoIUllKXRocm93IEVycm9yKGEoMTk4KSk7dmFyIGM9T2U7SWU9ITEsT2U9bnVsbCxVZXx8KFVlPSEwLFZlPWMpfX0ocixuLHZvaWQgMCxlKSxlLmN1cnJlbnRUYXJnZXQ9bnVsbH1mdW5jdGlvbiBVcihlLG4pe249ISEoNCZuKTtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKyl7dmFyIHI9ZVt0XSxsPXIuZXZlbnQ7cj1yLmxpc3RlbmVycztlOnt2YXIgYT12b2lkIDA7aWYobilmb3IodmFyIHU9ci5sZW5ndGgtMTswPD11O3UtLSl7dmFyIG89clt1XSxpPW8uaW5zdGFuY2Uscz1vLmN1cnJlbnRUYXJnZXQ7aWYobz1vLmxpc3RlbmVyLGkhPT1hJiZsLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpYnJlYWsgZTtPcihsLG8scyksYT1pfWVsc2UgZm9yKHU9MDt1PHIubGVuZ3RoO3UrKyl7aWYoaT0obz1yW3VdKS5pbnN0YW5jZSxzPW8uY3VycmVudFRhcmdldCxvPW8ubGlzdGVuZXIsaSE9PWEmJmwuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSlicmVhayBlO09yKGwsbyxzKSxhPWl9fX1pZihVZSl0aHJvdyBlPVZlLFVlPSExLFZlPW51bGwsZX1mdW5jdGlvbiBWcihlLG4pe3ZhciB0PW5baGxdO3ZvaWQgMD09PXQmJih0PW5baGxdPW5ldyBTZXQpO3ZhciByPWUrIl9fYnViYmxlIjt0LmhhcyhyKXx8KEhyKG4sZSwyLCExKSx0LmFkZChyKSl9ZnVuY3Rpb24gQXIoZSxuLHQpe3ZhciByPTA7biYmKHJ8PTQpLEhyKHQsZSxyLG4pfXZhciBCcj0iX3JlYWN0TGlzdGVuaW5nIitNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKTtmdW5jdGlvbiBXcihlKXtpZighZVtCcl0pe2VbQnJdPSEwLHUuZm9yRWFjaCgoZnVuY3Rpb24obil7InNlbGVjdGlvbmNoYW5nZSIhPT1uJiYoSXIuaGFzKG4pfHxBcihuLCExLGUpLEFyKG4sITAsZSkpfSkpO3ZhciBuPTk9PT1lLm5vZGVUeXBlP2U6ZS5vd25lckRvY3VtZW50O251bGw9PT1ufHxuW0JyXXx8KG5bQnJdPSEwLEFyKCJzZWxlY3Rpb25jaGFuZ2UiLCExLG4pKX19ZnVuY3Rpb24gSHIoZSxuLHQscil7c3dpdGNoKEduKG4pKXtjYXNlIDE6dmFyIGw9JG47YnJlYWs7Y2FzZSA0Omw9cW47YnJlYWs7ZGVmYXVsdDpsPUtufXQ9bC5iaW5kKG51bGwsbix0LGUpLGw9dm9pZCAwLCFGZXx8InRvdWNoc3RhcnQiIT09biYmInRvdWNobW92ZSIhPT1uJiYid2hlZWwiIT09bnx8KGw9ITApLHI/dm9pZCAwIT09bD9lLmFkZEV2ZW50TGlzdGVuZXIobix0LHtjYXB0dXJlOiEwLHBhc3NpdmU6bH0pOmUuYWRkRXZlbnRMaXN0ZW5lcihuLHQsITApOnZvaWQgMCE9PWw/ZS5hZGRFdmVudExpc3RlbmVyKG4sdCx7cGFzc2l2ZTpsfSk6ZS5hZGRFdmVudExpc3RlbmVyKG4sdCwhMSl9ZnVuY3Rpb24gUXIoZSxuLHQscixsKXt2YXIgYT1yO2lmKCEoMSZufHwyJm58fG51bGw9PT1yKSllOmZvcig7Oyl7aWYobnVsbD09PXIpcmV0dXJuO3ZhciB1PXIudGFnO2lmKDM9PT11fHw0PT09dSl7dmFyIG89ci5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztpZihvPT09bHx8OD09PW8ubm9kZVR5cGUmJm8ucGFyZW50Tm9kZT09PWwpYnJlYWs7aWYoND09PXUpZm9yKHU9ci5yZXR1cm47bnVsbCE9PXU7KXt2YXIgaT11LnRhZztpZigoMz09PWl8fDQ9PT1pKSYmKChpPXUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pPT09bHx8OD09PWkubm9kZVR5cGUmJmkucGFyZW50Tm9kZT09PWwpKXJldHVybjt1PXUucmV0dXJufWZvcig7bnVsbCE9PW87KXtpZihudWxsPT09KHU9eWwobykpKXJldHVybjtpZig1PT09KGk9dS50YWcpfHw2PT09aSl7cj1hPXU7Y29udGludWUgZX1vPW8ucGFyZW50Tm9kZX19cj1yLnJldHVybn1MZSgoZnVuY3Rpb24oKXt2YXIgcj1hLGw9d2UodCksdT1bXTtlOnt2YXIgbz1Uci5nZXQoZSk7aWYodm9pZCAwIT09byl7dmFyIGk9Y3Qscz1lO3N3aXRjaChlKXtjYXNlImtleXByZXNzIjppZigwPT09dHQodCkpYnJlYWsgZTtjYXNlImtleWRvd24iOmNhc2Uia2V5dXAiOmk9TnQ7YnJlYWs7Y2FzZSJmb2N1c2luIjpzPSJmb2N1cyIsaT1ndDticmVhaztjYXNlImZvY3Vzb3V0IjpzPSJibHVyIixpPWd0O2JyZWFrO2Nhc2UiYmVmb3JlYmx1ciI6Y2FzZSJhZnRlcmJsdXIiOmk9Z3Q7YnJlYWs7Y2FzZSJjbGljayI6aWYoMj09PXQuYnV0dG9uKWJyZWFrIGU7Y2FzZSJhdXhjbGljayI6Y2FzZSJkYmxjbGljayI6Y2FzZSJtb3VzZWRvd24iOmNhc2UibW91c2Vtb3ZlIjpjYXNlIm1vdXNldXAiOmNhc2UibW91c2VvdXQiOmNhc2UibW91c2VvdmVyIjpjYXNlImNvbnRleHRtZW51IjppPW10O2JyZWFrO2Nhc2UiZHJhZyI6Y2FzZSJkcmFnZW5kIjpjYXNlImRyYWdlbnRlciI6Y2FzZSJkcmFnZXhpdCI6Y2FzZSJkcmFnbGVhdmUiOmNhc2UiZHJhZ292ZXIiOmNhc2UiZHJhZ3N0YXJ0IjpjYXNlImRyb3AiOmk9aHQ7YnJlYWs7Y2FzZSJ0b3VjaGNhbmNlbCI6Y2FzZSJ0b3VjaGVuZCI6Y2FzZSJ0b3VjaG1vdmUiOmNhc2UidG91Y2hzdGFydCI6aT1QdDticmVhaztjYXNlIHpyOmNhc2UgTnI6Y2FzZSBfcjppPXZ0O2JyZWFrO2Nhc2UgUHI6aT1UdDticmVhaztjYXNlInNjcm9sbCI6aT1kdDticmVhaztjYXNlIndoZWVsIjppPU10O2JyZWFrO2Nhc2UiY29weSI6Y2FzZSJjdXQiOmNhc2UicGFzdGUiOmk9YnQ7YnJlYWs7Y2FzZSJnb3Rwb2ludGVyY2FwdHVyZSI6Y2FzZSJsb3N0cG9pbnRlcmNhcHR1cmUiOgpjYXNlInBvaW50ZXJjYW5jZWwiOmNhc2UicG9pbnRlcmRvd24iOmNhc2UicG9pbnRlcm1vdmUiOmNhc2UicG9pbnRlcm91dCI6Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJwb2ludGVydXAiOmk9X3R9dmFyIGM9ISEoNCZuKSxmPSFjJiYic2Nyb2xsIj09PWUsZD1jP251bGwhPT1vP28rIkNhcHR1cmUiOm51bGw6bztjPVtdO2Zvcih2YXIgcCxtPXI7bnVsbCE9PW07KXt2YXIgaD0ocD1tKS5zdGF0ZU5vZGU7aWYoNT09PXAudGFnJiZudWxsIT09aCYmKHA9aCxudWxsIT09ZCYmKG51bGwhPShoPU1lKG0sZCkpJiZjLnB1c2goanIobSxoLHApKSkpLGYpYnJlYWs7bT1tLnJldHVybn0wPGMubGVuZ3RoJiYobz1uZXcgaShvLHMsbnVsbCx0LGwpLHUucHVzaCh7ZXZlbnQ6byxsaXN0ZW5lcnM6Y30pKX19aWYoISg3Jm4pKXtpZihpPSJtb3VzZW91dCI9PT1lfHwicG9pbnRlcm91dCI9PT1lLCghKG89Im1vdXNlb3ZlciI9PT1lfHwicG9pbnRlcm92ZXIiPT09ZSl8fHQ9PT1rZXx8IShzPXQucmVsYXRlZFRhcmdldHx8dC5mcm9tRWxlbWVudCl8fCF5bChzKSYmIXNbbWxdKSYmKGl8fG8pJiYobz1sLndpbmRvdz09PWw/bDoobz1sLm93bmVyRG9jdW1lbnQpP28uZGVmYXVsdFZpZXd8fG8ucGFyZW50V2luZG93OndpbmRvdyxpPyhpPXIsbnVsbCE9PShzPShzPXQucmVsYXRlZFRhcmdldHx8dC50b0VsZW1lbnQpP3lsKHMpOm51bGwpJiYocyE9PShmPVdlKHMpKXx8NSE9PXMudGFnJiY2IT09cy50YWcpJiYocz1udWxsKSk6KGk9bnVsbCxzPXIpLGkhPT1zKSl7aWYoYz1tdCxoPSJvbk1vdXNlTGVhdmUiLGQ9Im9uTW91c2VFbnRlciIsbT0ibW91c2UiLCJwb2ludGVyb3V0IiE9PWUmJiJwb2ludGVyb3ZlciIhPT1lfHwoYz1fdCxoPSJvblBvaW50ZXJMZWF2ZSIsZD0ib25Qb2ludGVyRW50ZXIiLG09InBvaW50ZXIiKSxmPW51bGw9PWk/bzprbChpKSxwPW51bGw9PXM/bzprbChzKSwobz1uZXcgYyhoLG0rImxlYXZlIixpLHQsbCkpLnRhcmdldD1mLG8ucmVsYXRlZFRhcmdldD1wLGg9bnVsbCx5bChsKT09PXImJigoYz1uZXcgYyhkLG0rImVudGVyIixzLHQsbCkpLnRhcmdldD1wLGMucmVsYXRlZFRhcmdldD1mLGg9YyksZj1oLGkmJnMpZTp7Zm9yKGQ9cyxtPTAscD1jPWk7cDtwPXFyKHApKW0rKztmb3IocD0wLGg9ZDtoO2g9cXIoaCkpcCsrO2Zvcig7MDxtLXA7KWM9cXIoYyksbS0tO2Zvcig7MDxwLW07KWQ9cXIoZCkscC0tO2Zvcig7bS0tOyl7aWYoYz09PWR8fG51bGwhPT1kJiZjPT09ZC5hbHRlcm5hdGUpYnJlYWsgZTtjPXFyKGMpLGQ9cXIoZCl9Yz1udWxsfWVsc2UgYz1udWxsO251bGwhPT1pJiZLcih1LG8saSxjLCExKSxudWxsIT09cyYmbnVsbCE9PWYmJktyKHUsZixzLGMsITApfWlmKCJzZWxlY3QiPT09KGk9KG89cj9rbChyKTp3aW5kb3cpLm5vZGVOYW1lJiZvLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpfHwiaW5wdXQiPT09aSYmImZpbGUiPT09by50eXBlKXZhciBnPVh0O2Vsc2UgaWYoUXQobykpaWYoR3QpZz11cjtlbHNle2c9bHI7dmFyIHY9cnJ9ZWxzZShpPW8ubm9kZU5hbWUpJiYiaW5wdXQiPT09aS50b0xvd2VyQ2FzZSgpJiYoImNoZWNrYm94Ij09PW8udHlwZXx8InJhZGlvIj09PW8udHlwZSkmJihnPWFyKTtzd2l0Y2goZyYmKGc9ZyhlLHIpKT9qdCh1LGcsdCxsKToodiYmdihlLG8sciksImZvY3Vzb3V0Ij09PWUmJih2PW8uX3dyYXBwZXJTdGF0ZSkmJnYuY29udHJvbGxlZCYmIm51bWJlciI9PT1vLnR5cGUmJmVlKG8sIm51bWJlciIsby52YWx1ZSkpLHY9cj9rbChyKTp3aW5kb3csZSl7Y2FzZSJmb2N1c2luIjooUXQodil8fCJ0cnVlIj09PXYuY29udGVudEVkaXRhYmxlKSYmKGdyPXYsdnI9cix5cj1udWxsKTticmVhaztjYXNlImZvY3Vzb3V0Ijp5cj12cj1ncj1udWxsO2JyZWFrO2Nhc2UibW91c2Vkb3duIjpicj0hMDticmVhaztjYXNlImNvbnRleHRtZW51IjpjYXNlIm1vdXNldXAiOmNhc2UiZHJhZ2VuZCI6YnI9ITEsa3IodSx0LGwpO2JyZWFrO2Nhc2Uic2VsZWN0aW9uY2hhbmdlIjppZihocilicmVhaztjYXNlImtleWRvd24iOmNhc2Uia2V5dXAiOmtyKHUsdCxsKX12YXIgeTtpZihSdCllOntzd2l0Y2goZSl7Y2FzZSJjb21wb3NpdGlvbnN0YXJ0Ijp2YXIgYj0ib25Db21wb3NpdGlvblN0YXJ0IjticmVhayBlO2Nhc2UiY29tcG9zaXRpb25lbmQiOmI9Im9uQ29tcG9zaXRpb25FbmQiO2JyZWFrIGU7Y2FzZSJjb21wb3NpdGlvbnVwZGF0ZSI6Yj0ib25Db21wb3NpdGlvblVwZGF0ZSI7YnJlYWsgZX1iPXZvaWQgMH1lbHNlIFd0P0F0KGUsdCkmJihiPSJvbkNvbXBvc2l0aW9uRW5kIik6ImtleWRvd24iPT09ZSYmMjI5PT09dC5rZXlDb2RlJiYoYj0ib25Db21wb3NpdGlvblN0YXJ0Iik7YiYmKE90JiYia28iIT09dC5sb2NhbGUmJihXdHx8Im9uQ29tcG9zaXRpb25TdGFydCIhPT1iPyJvbkNvbXBvc2l0aW9uRW5kIj09PWImJld0JiYoeT1udCgpKTooSm49InZhbHVlImluKFpuPWwpP1puLnZhbHVlOlpuLnRleHRDb250ZW50LFd0PSEwKSksMDwodj0kcihyLGIpKS5sZW5ndGgmJihiPW5ldyBrdChiLGUsbnVsbCx0LGwpLHUucHVzaCh7ZXZlbnQ6YixsaXN0ZW5lcnM6dn0pLHk/Yi5kYXRhPXk6bnVsbCE9PSh5PUJ0KHQpKSYmKGIuZGF0YT15KSkpLCh5PUl0P2Z1bmN0aW9uKGUsbil7c3dpdGNoKGUpe2Nhc2UiY29tcG9zaXRpb25lbmQiOnJldHVybiBCdChuKTtjYXNlImtleXByZXNzIjpyZXR1cm4gMzIhPT1uLndoaWNoP251bGw6KFZ0PSEwLFV0KTtjYXNlInRleHRJbnB1dCI6cmV0dXJuKGU9bi5kYXRhKT09PVV0JiZWdD9udWxsOmU7ZGVmYXVsdDpyZXR1cm4gbnVsbH19KGUsdCk6ZnVuY3Rpb24oZSxuKXtpZihXdClyZXR1cm4iY29tcG9zaXRpb25lbmQiPT09ZXx8IVJ0JiZBdChlLG4pPyhlPW50KCksZXQ9Sm49Wm49bnVsbCxXdD0hMSxlKTpudWxsO3N3aXRjaChlKXtjYXNlInBhc3RlIjpkZWZhdWx0OnJldHVybiBudWxsO2Nhc2Uia2V5cHJlc3MiOmlmKCEobi5jdHJsS2V5fHxuLmFsdEtleXx8bi5tZXRhS2V5KXx8bi5jdHJsS2V5JiZuLmFsdEtleSl7aWYobi5jaGFyJiYxPG4uY2hhci5sZW5ndGgpcmV0dXJuIG4uY2hhcgo7aWYobi53aGljaClyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZShuLndoaWNoKX1yZXR1cm4gbnVsbDtjYXNlImNvbXBvc2l0aW9uZW5kIjpyZXR1cm4gT3QmJiJrbyIhPT1uLmxvY2FsZT9udWxsOm4uZGF0YX19KGUsdCkpJiYoMDwocj0kcihyLCJvbkJlZm9yZUlucHV0IikpLmxlbmd0aCYmKGw9bmV3IGt0KCJvbkJlZm9yZUlucHV0IiwiYmVmb3JlaW5wdXQiLG51bGwsdCxsKSx1LnB1c2goe2V2ZW50OmwsbGlzdGVuZXJzOnJ9KSxsLmRhdGE9eSkpfVVyKHUsbil9KSl9ZnVuY3Rpb24ganIoZSxuLHQpe3JldHVybntpbnN0YW5jZTplLGxpc3RlbmVyOm4sY3VycmVudFRhcmdldDp0fX1mdW5jdGlvbiAkcihlLG4pe2Zvcih2YXIgdD1uKyJDYXB0dXJlIixyPVtdO251bGwhPT1lOyl7dmFyIGw9ZSxhPWwuc3RhdGVOb2RlOzU9PT1sLnRhZyYmbnVsbCE9PWEmJihsPWEsbnVsbCE9KGE9TWUoZSx0KSkmJnIudW5zaGlmdChqcihlLGEsbCkpLG51bGwhPShhPU1lKGUsbikpJiZyLnB1c2goanIoZSxhLGwpKSksZT1lLnJldHVybn1yZXR1cm4gcn1mdW5jdGlvbiBxcihlKXtpZihudWxsPT09ZSlyZXR1cm4gbnVsbDtkb3tlPWUucmV0dXJufXdoaWxlKGUmJjUhPT1lLnRhZyk7cmV0dXJuIGV8fG51bGx9ZnVuY3Rpb24gS3IoZSxuLHQscixsKXtmb3IodmFyIGE9bi5fcmVhY3ROYW1lLHU9W107bnVsbCE9PXQmJnQhPT1yOyl7dmFyIG89dCxpPW8uYWx0ZXJuYXRlLHM9by5zdGF0ZU5vZGU7aWYobnVsbCE9PWkmJmk9PT1yKWJyZWFrOzU9PT1vLnRhZyYmbnVsbCE9PXMmJihvPXMsbD9udWxsIT0oaT1NZSh0LGEpKSYmdS51bnNoaWZ0KGpyKHQsaSxvKSk6bHx8bnVsbCE9KGk9TWUodCxhKSkmJnUucHVzaChqcih0LGksbykpKSx0PXQucmV0dXJufTAhPT11Lmxlbmd0aCYmZS5wdXNoKHtldmVudDpuLGxpc3RlbmVyczp1fSl9dmFyIFlyPS9cclxuPy9nLFhyPS9cdTAwMDB8XHVGRkZEL2c7ZnVuY3Rpb24gR3IoZSl7cmV0dXJuKCJzdHJpbmciPT10eXBlb2YgZT9lOiIiK2UpLnJlcGxhY2UoWXIsIlxuIikucmVwbGFjZShYciwiIil9ZnVuY3Rpb24gWnIoZSxuLHQpe2lmKG49R3IobiksR3IoZSkhPT1uJiZ0KXRocm93IEVycm9yKGEoNDI1KSl9ZnVuY3Rpb24gSnIoKXt9dmFyIGVsPW51bGwsbmw9bnVsbDtmdW5jdGlvbiB0bChlLG4pe3JldHVybiJ0ZXh0YXJlYSI9PT1lfHwibm9zY3JpcHQiPT09ZXx8InN0cmluZyI9PXR5cGVvZiBuLmNoaWxkcmVufHwibnVtYmVyIj09dHlwZW9mIG4uY2hpbGRyZW58fCJvYmplY3QiPT10eXBlb2Ygbi5kYW5nZXJvdXNseVNldElubmVySFRNTCYmbnVsbCE9PW4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwmJm51bGwhPW4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sfXZhciBybD0iZnVuY3Rpb24iPT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0OnZvaWQgMCxsbD0iZnVuY3Rpb24iPT10eXBlb2YgY2xlYXJUaW1lb3V0P2NsZWFyVGltZW91dDp2b2lkIDAsYWw9ImZ1bmN0aW9uIj09dHlwZW9mIFByb21pc2U/UHJvbWlzZTp2b2lkIDAsdWw9ImZ1bmN0aW9uIj09dHlwZW9mIHF1ZXVlTWljcm90YXNrP3F1ZXVlTWljcm90YXNrOnZvaWQgMCE9PWFsP2Z1bmN0aW9uKGUpe3JldHVybiBhbC5yZXNvbHZlKG51bGwpLnRoZW4oZSkuY2F0Y2gob2wpfTpybDtmdW5jdGlvbiBvbChlKXtzZXRUaW1lb3V0KChmdW5jdGlvbigpe3Rocm93IGV9KSl9ZnVuY3Rpb24gaWwoZSxuKXt2YXIgdD1uLHI9MDtkb3t2YXIgbD10Lm5leHRTaWJsaW5nO2lmKGUucmVtb3ZlQ2hpbGQodCksbCYmOD09PWwubm9kZVR5cGUpaWYoIi8kIj09PSh0PWwuZGF0YSkpe2lmKDA9PT1yKXJldHVybiBlLnJlbW92ZUNoaWxkKGwpLHZvaWQgSG4obik7ci0tfWVsc2UiJCIhPT10JiYiJD8iIT09dCYmIiQhIiE9PXR8fHIrKzt0PWx9d2hpbGUodCk7SG4obil9ZnVuY3Rpb24gc2woZSl7Zm9yKDtudWxsIT1lO2U9ZS5uZXh0U2libGluZyl7dmFyIG49ZS5ub2RlVHlwZTtpZigxPT09bnx8Mz09PW4pYnJlYWs7aWYoOD09PW4pe2lmKCIkIj09PShuPWUuZGF0YSl8fCIkISI9PT1ufHwiJD8iPT09bilicmVhaztpZigiLyQiPT09bilyZXR1cm4gbnVsbH19cmV0dXJuIGV9ZnVuY3Rpb24gY2woZSl7ZT1lLnByZXZpb3VzU2libGluZztmb3IodmFyIG49MDtlOyl7aWYoOD09PWUubm9kZVR5cGUpe3ZhciB0PWUuZGF0YTtpZigiJCI9PT10fHwiJCEiPT09dHx8IiQ/Ij09PXQpe2lmKDA9PT1uKXJldHVybiBlO24tLX1lbHNlIi8kIj09PXQmJm4rK31lPWUucHJldmlvdXNTaWJsaW5nfXJldHVybiBudWxsfXZhciBmbD1NYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKSxkbD0iX19yZWFjdEZpYmVyJCIrZmwscGw9Il9fcmVhY3RQcm9wcyQiK2ZsLG1sPSJfX3JlYWN0Q29udGFpbmVyJCIrZmwsaGw9Il9fcmVhY3RFdmVudHMkIitmbCxnbD0iX19yZWFjdExpc3RlbmVycyQiK2ZsLHZsPSJfX3JlYWN0SGFuZGxlcyQiK2ZsO2Z1bmN0aW9uIHlsKGUpe3ZhciBuPWVbZGxdO2lmKG4pcmV0dXJuIG47Zm9yKHZhciB0PWUucGFyZW50Tm9kZTt0Oyl7aWYobj10W21sXXx8dFtkbF0pe2lmKHQ9bi5hbHRlcm5hdGUsbnVsbCE9PW4uY2hpbGR8fG51bGwhPT10JiZudWxsIT09dC5jaGlsZClmb3IoZT1jbChlKTtudWxsIT09ZTspe2lmKHQ9ZVtkbF0pcmV0dXJuIHQ7ZT1jbChlKX1yZXR1cm4gbn10PShlPXQpLnBhcmVudE5vZGV9cmV0dXJuIG51bGx9ZnVuY3Rpb24gYmwoZSl7cmV0dXJuIShlPWVbZGxdfHxlW21sXSl8fDUhPT1lLnRhZyYmNiE9PWUudGFnJiYxMyE9PWUudGFnJiYzIT09ZS50YWc/bnVsbDplfWZ1bmN0aW9uIGtsKGUpe2lmKDU9PT1lLnRhZ3x8Nj09PWUudGFnKXJldHVybiBlLnN0YXRlTm9kZTt0aHJvdyBFcnJvcihhKDMzKSl9ZnVuY3Rpb24gd2woZSl7cmV0dXJuIGVbcGxdfHxudWxsfXZhciBTbD1bXSx4bD0tMTtmdW5jdGlvbiBFbChlKXtyZXR1cm57Y3VycmVudDplfX1mdW5jdGlvbiBDbChlKXswPnhsfHwoZS5jdXJyZW50PVNsW3hsXSxTbFt4bF09bnVsbCx4bC0tKX1mdW5jdGlvbiB6bChlLG4pe3hsKyssU2xbeGxdPWUuY3VycmVudCxlLmN1cnJlbnQ9bn0KdmFyIE5sPXt9LF9sPUVsKE5sKSxQbD1FbCghMSksVGw9Tmw7ZnVuY3Rpb24gTGwoZSxuKXt2YXIgdD1lLnR5cGUuY29udGV4dFR5cGVzO2lmKCF0KXJldHVybiBObDt2YXIgcj1lLnN0YXRlTm9kZTtpZihyJiZyLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkVW5tYXNrZWRDaGlsZENvbnRleHQ9PT1uKXJldHVybiByLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWFza2VkQ2hpbGRDb250ZXh0O3ZhciBsLGE9e307Zm9yKGwgaW4gdClhW2xdPW5bbF07cmV0dXJuIHImJigoZT1lLnN0YXRlTm9kZSkuX19yZWFjdEludGVybmFsTWVtb2l6ZWRVbm1hc2tlZENoaWxkQ29udGV4dD1uLGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNYXNrZWRDaGlsZENvbnRleHQ9YSksYX1mdW5jdGlvbiBNbChlKXtyZXR1cm4gbnVsbCE9KGU9ZS5jaGlsZENvbnRleHRUeXBlcyl9ZnVuY3Rpb24gRmwoKXtDbChQbCksQ2woX2wpfWZ1bmN0aW9uIFJsKGUsbix0KXtpZihfbC5jdXJyZW50IT09TmwpdGhyb3cgRXJyb3IoYSgxNjgpKTt6bChfbCxuKSx6bChQbCx0KX1mdW5jdGlvbiBEbChlLG4sdCl7dmFyIHI9ZS5zdGF0ZU5vZGU7aWYobj1uLmNoaWxkQ29udGV4dFR5cGVzLCJmdW5jdGlvbiIhPXR5cGVvZiByLmdldENoaWxkQ29udGV4dClyZXR1cm4gdDtmb3IodmFyIGwgaW4gcj1yLmdldENoaWxkQ29udGV4dCgpKWlmKCEobCBpbiBuKSl0aHJvdyBFcnJvcihhKDEwOCxIKGUpfHwiVW5rbm93biIsbCkpO3JldHVybiBPKHt9LHQscil9ZnVuY3Rpb24gSWwoZSl7cmV0dXJuIGU9KGU9ZS5zdGF0ZU5vZGUpJiZlLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0fHxObCxUbD1fbC5jdXJyZW50LHpsKF9sLGUpLHpsKFBsLFBsLmN1cnJlbnQpLCEwfWZ1bmN0aW9uIE9sKGUsbix0KXt2YXIgcj1lLnN0YXRlTm9kZTtpZighcil0aHJvdyBFcnJvcihhKDE2OSkpO3Q/KGU9RGwoZSxuLFRsKSxyLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0PWUsQ2woUGwpLENsKF9sKSx6bChfbCxlKSk6Q2woUGwpLHpsKFBsLHQpfXZhciBVbD1udWxsLFZsPSExLEFsPSExO2Z1bmN0aW9uIEJsKGUpe251bGw9PT1VbD9VbD1bZV06VWwucHVzaChlKX1mdW5jdGlvbiBXbCgpe2lmKCFBbCYmbnVsbCE9PVVsKXtBbD0hMDt2YXIgZT0wLG49a247dHJ5e3ZhciB0PVVsO2Zvcihrbj0xO2U8dC5sZW5ndGg7ZSsrKXt2YXIgcj10W2VdO2Rve3I9cighMCl9d2hpbGUobnVsbCE9PXIpfVVsPW51bGwsVmw9ITF9Y2F0Y2gobil7dGhyb3cgbnVsbCE9PVVsJiYoVWw9VWwuc2xpY2UoZSsxKSkscWUoSmUsV2wpLG59ZmluYWxseXtrbj1uLEFsPSExfX1yZXR1cm4gbnVsbH12YXIgSGw9W10sUWw9MCxqbD1udWxsLCRsPTAscWw9W10sS2w9MCxZbD1udWxsLFhsPTEsR2w9IiI7ZnVuY3Rpb24gWmwoZSxuKXtIbFtRbCsrXT0kbCxIbFtRbCsrXT1qbCxqbD1lLCRsPW59ZnVuY3Rpb24gSmwoZSxuLHQpe3FsW0tsKytdPVhsLHFsW0tsKytdPUdsLHFsW0tsKytdPVlsLFlsPWU7dmFyIHI9WGw7ZT1HbDt2YXIgbD0zMi11bihyKS0xO3ImPX4oMTw8bCksdCs9MTt2YXIgYT0zMi11bihuKStsO2lmKDMwPGEpe3ZhciB1PWwtbCU1O2E9KHImKDE8PHUpLTEpLnRvU3RyaW5nKDMyKSxyPj49dSxsLT11LFhsPTE8PDMyLXVuKG4pK2x8dDw8bHxyLEdsPWErZX1lbHNlIFhsPTE8PGF8dDw8bHxyLEdsPWV9ZnVuY3Rpb24gZWEoZSl7bnVsbCE9PWUucmV0dXJuJiYoWmwoZSwxKSxKbChlLDEsMCkpfWZ1bmN0aW9uIG5hKGUpe2Zvcig7ZT09PWpsOylqbD1IbFstLVFsXSxIbFtRbF09bnVsbCwkbD1IbFstLVFsXSxIbFtRbF09bnVsbDtmb3IoO2U9PT1ZbDspWWw9cWxbLS1LbF0scWxbS2xdPW51bGwsR2w9cWxbLS1LbF0scWxbS2xdPW51bGwsWGw9cWxbLS1LbF0scWxbS2xdPW51bGx9dmFyIHRhPW51bGwscmE9bnVsbCxsYT0hMSxhYT1udWxsO2Z1bmN0aW9uIHVhKGUsbil7dmFyIHQ9THMoNSxudWxsLG51bGwsMCk7dC5lbGVtZW50VHlwZT0iREVMRVRFRCIsdC5zdGF0ZU5vZGU9bix0LnJldHVybj1lLG51bGw9PT0obj1lLmRlbGV0aW9ucyk/KGUuZGVsZXRpb25zPVt0XSxlLmZsYWdzfD0xNik6bi5wdXNoKHQpfWZ1bmN0aW9uIG9hKGUsbil7c3dpdGNoKGUudGFnKXtjYXNlIDU6dmFyIHQ9ZS50eXBlO3JldHVybiBudWxsIT09KG49MSE9PW4ubm9kZVR5cGV8fHQudG9Mb3dlckNhc2UoKSE9PW4ubm9kZU5hbWUudG9Mb3dlckNhc2UoKT9udWxsOm4pJiYoZS5zdGF0ZU5vZGU9bix0YT1lLHJhPXNsKG4uZmlyc3RDaGlsZCksITApO2Nhc2UgNjpyZXR1cm4gbnVsbCE9PShuPSIiPT09ZS5wZW5kaW5nUHJvcHN8fDMhPT1uLm5vZGVUeXBlP251bGw6bikmJihlLnN0YXRlTm9kZT1uLHRhPWUscmE9bnVsbCwhMCk7Y2FzZSAxMzpyZXR1cm4gbnVsbCE9PShuPTghPT1uLm5vZGVUeXBlP251bGw6bikmJih0PW51bGwhPT1ZbD97aWQ6WGwsb3ZlcmZsb3c6R2x9Om51bGwsZS5tZW1vaXplZFN0YXRlPXtkZWh5ZHJhdGVkOm4sdHJlZUNvbnRleHQ6dCxyZXRyeUxhbmU6MTA3Mzc0MTgyNH0sKHQ9THMoMTgsbnVsbCxudWxsLDApKS5zdGF0ZU5vZGU9bix0LnJldHVybj1lLGUuY2hpbGQ9dCx0YT1lLHJhPW51bGwsITApO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIGlhKGUpe3JldHVybiEoISgxJmUubW9kZSl8fDEyOCZlLmZsYWdzKX1mdW5jdGlvbiBzYShlKXtpZihsYSl7dmFyIG49cmE7aWYobil7dmFyIHQ9bjtpZighb2EoZSxuKSl7aWYoaWEoZSkpdGhyb3cgRXJyb3IoYSg0MTgpKTtuPXNsKHQubmV4dFNpYmxpbmcpO3ZhciByPXRhO24mJm9hKGUsbik/dWEocix0KTooZS5mbGFncz0tNDA5NyZlLmZsYWdzfDIsbGE9ITEsdGE9ZSl9fWVsc2V7aWYoaWEoZSkpdGhyb3cgRXJyb3IoYSg0MTgpKTtlLmZsYWdzPS00MDk3JmUuZmxhZ3N8MixsYT0hMSx0YT1lfX19ZnVuY3Rpb24gY2EoZSl7Zm9yKGU9ZS5yZXR1cm47bnVsbCE9PWUmJjUhPT1lLnRhZyYmMyE9PWUudGFnJiYxMyE9PWUudGFnOyllPWUucmV0dXJuO3RhPWV9ZnVuY3Rpb24gZmEoZSl7aWYoZSE9PXRhKXJldHVybiExO2lmKCFsYSlyZXR1cm4gY2EoZSksbGE9ITAsITE7dmFyIG4KO2lmKChuPTMhPT1lLnRhZykmJiEobj01IT09ZS50YWcpJiYobj0iaGVhZCIhPT0obj1lLnR5cGUpJiYiYm9keSIhPT1uJiYhdGwoZS50eXBlLGUubWVtb2l6ZWRQcm9wcykpLG4mJihuPXJhKSl7aWYoaWEoZSkpdGhyb3cgZGEoKSxFcnJvcihhKDQxOCkpO2Zvcig7bjspdWEoZSxuKSxuPXNsKG4ubmV4dFNpYmxpbmcpfWlmKGNhKGUpLDEzPT09ZS50YWcpe2lmKCEoZT1udWxsIT09KGU9ZS5tZW1vaXplZFN0YXRlKT9lLmRlaHlkcmF0ZWQ6bnVsbCkpdGhyb3cgRXJyb3IoYSgzMTcpKTtlOntmb3IoZT1lLm5leHRTaWJsaW5nLG49MDtlOyl7aWYoOD09PWUubm9kZVR5cGUpe3ZhciB0PWUuZGF0YTtpZigiLyQiPT09dCl7aWYoMD09PW4pe3JhPXNsKGUubmV4dFNpYmxpbmcpO2JyZWFrIGV9bi0tfWVsc2UiJCIhPT10JiYiJCEiIT09dCYmIiQ/IiE9PXR8fG4rK31lPWUubmV4dFNpYmxpbmd9cmE9bnVsbH19ZWxzZSByYT10YT9zbChlLnN0YXRlTm9kZS5uZXh0U2libGluZyk6bnVsbDtyZXR1cm4hMH1mdW5jdGlvbiBkYSgpe2Zvcih2YXIgZT1yYTtlOyllPXNsKGUubmV4dFNpYmxpbmcpfWZ1bmN0aW9uIHBhKCl7cmE9dGE9bnVsbCxsYT0hMX1mdW5jdGlvbiBtYShlKXtudWxsPT09YWE/YWE9W2VdOmFhLnB1c2goZSl9dmFyIGhhPWsuUmVhY3RDdXJyZW50QmF0Y2hDb25maWc7ZnVuY3Rpb24gZ2EoZSxuKXtpZihlJiZlLmRlZmF1bHRQcm9wcyl7Zm9yKHZhciB0IGluIG49Tyh7fSxuKSxlPWUuZGVmYXVsdFByb3BzKXZvaWQgMD09PW5bdF0mJihuW3RdPWVbdF0pO3JldHVybiBufXJldHVybiBufXZhciB2YT1FbChudWxsKSx5YT1udWxsLGJhPW51bGwsa2E9bnVsbDtmdW5jdGlvbiB3YSgpe2thPWJhPXlhPW51bGx9ZnVuY3Rpb24gU2EoZSl7dmFyIG49dmEuY3VycmVudDtDbCh2YSksZS5fY3VycmVudFZhbHVlPW59ZnVuY3Rpb24geGEoZSxuLHQpe2Zvcig7bnVsbCE9PWU7KXt2YXIgcj1lLmFsdGVybmF0ZTtpZigoZS5jaGlsZExhbmVzJm4pIT09bj8oZS5jaGlsZExhbmVzfD1uLG51bGwhPT1yJiYoci5jaGlsZExhbmVzfD1uKSk6bnVsbCE9PXImJihyLmNoaWxkTGFuZXMmbikhPT1uJiYoci5jaGlsZExhbmVzfD1uKSxlPT09dClicmVhaztlPWUucmV0dXJufX1mdW5jdGlvbiBFYShlLG4pe3lhPWUsa2E9YmE9bnVsbCxudWxsIT09KGU9ZS5kZXBlbmRlbmNpZXMpJiZudWxsIT09ZS5maXJzdENvbnRleHQmJighIShlLmxhbmVzJm4pJiYoa289ITApLGUuZmlyc3RDb250ZXh0PW51bGwpfWZ1bmN0aW9uIENhKGUpe3ZhciBuPWUuX2N1cnJlbnRWYWx1ZTtpZihrYSE9PWUpaWYoZT17Y29udGV4dDplLG1lbW9pemVkVmFsdWU6bixuZXh0Om51bGx9LG51bGw9PT1iYSl7aWYobnVsbD09PXlhKXRocm93IEVycm9yKGEoMzA4KSk7YmE9ZSx5YS5kZXBlbmRlbmNpZXM9e2xhbmVzOjAsZmlyc3RDb250ZXh0OmV9fWVsc2UgYmE9YmEubmV4dD1lO3JldHVybiBufXZhciB6YT1udWxsO2Z1bmN0aW9uIE5hKGUpe251bGw9PT16YT96YT1bZV06emEucHVzaChlKX1mdW5jdGlvbiBfYShlLG4sdCxyKXt2YXIgbD1uLmludGVybGVhdmVkO3JldHVybiBudWxsPT09bD8odC5uZXh0PXQsTmEobikpOih0Lm5leHQ9bC5uZXh0LGwubmV4dD10KSxuLmludGVybGVhdmVkPXQsUGEoZSxyKX1mdW5jdGlvbiBQYShlLG4pe2UubGFuZXN8PW47dmFyIHQ9ZS5hbHRlcm5hdGU7Zm9yKG51bGwhPT10JiYodC5sYW5lc3w9biksdD1lLGU9ZS5yZXR1cm47bnVsbCE9PWU7KWUuY2hpbGRMYW5lc3w9bixudWxsIT09KHQ9ZS5hbHRlcm5hdGUpJiYodC5jaGlsZExhbmVzfD1uKSx0PWUsZT1lLnJldHVybjtyZXR1cm4gMz09PXQudGFnP3Quc3RhdGVOb2RlOm51bGx9dmFyIFRhPSExO2Z1bmN0aW9uIExhKGUpe2UudXBkYXRlUXVldWU9e2Jhc2VTdGF0ZTplLm1lbW9pemVkU3RhdGUsZmlyc3RCYXNlVXBkYXRlOm51bGwsbGFzdEJhc2VVcGRhdGU6bnVsbCxzaGFyZWQ6e3BlbmRpbmc6bnVsbCxpbnRlcmxlYXZlZDpudWxsLGxhbmVzOjB9LGVmZmVjdHM6bnVsbH19ZnVuY3Rpb24gTWEoZSxuKXtlPWUudXBkYXRlUXVldWUsbi51cGRhdGVRdWV1ZT09PWUmJihuLnVwZGF0ZVF1ZXVlPXtiYXNlU3RhdGU6ZS5iYXNlU3RhdGUsZmlyc3RCYXNlVXBkYXRlOmUuZmlyc3RCYXNlVXBkYXRlLGxhc3RCYXNlVXBkYXRlOmUubGFzdEJhc2VVcGRhdGUsc2hhcmVkOmUuc2hhcmVkLGVmZmVjdHM6ZS5lZmZlY3RzfSl9ZnVuY3Rpb24gRmEoZSxuKXtyZXR1cm57ZXZlbnRUaW1lOmUsbGFuZTpuLHRhZzowLHBheWxvYWQ6bnVsbCxjYWxsYmFjazpudWxsLG5leHQ6bnVsbH19ZnVuY3Rpb24gUmEoZSxuLHQpe3ZhciByPWUudXBkYXRlUXVldWU7aWYobnVsbD09PXIpcmV0dXJuIG51bGw7aWYocj1yLnNoYXJlZCwyJl9pKXt2YXIgbD1yLnBlbmRpbmc7cmV0dXJuIG51bGw9PT1sP24ubmV4dD1uOihuLm5leHQ9bC5uZXh0LGwubmV4dD1uKSxyLnBlbmRpbmc9bixQYShlLHQpfXJldHVybiBudWxsPT09KGw9ci5pbnRlcmxlYXZlZCk/KG4ubmV4dD1uLE5hKHIpKToobi5uZXh0PWwubmV4dCxsLm5leHQ9biksci5pbnRlcmxlYXZlZD1uLFBhKGUsdCl9ZnVuY3Rpb24gRGEoZSxuLHQpe2lmKG51bGwhPT0obj1uLnVwZGF0ZVF1ZXVlKSYmKG49bi5zaGFyZWQsNDE5NDI0MCZ0KSl7dmFyIHI9bi5sYW5lczt0fD1yJj1lLnBlbmRpbmdMYW5lcyxuLmxhbmVzPXQsYm4oZSx0KX19ZnVuY3Rpb24gSWEoZSxuKXt2YXIgdD1lLnVwZGF0ZVF1ZXVlLHI9ZS5hbHRlcm5hdGU7aWYobnVsbCE9PXImJnQ9PT0ocj1yLnVwZGF0ZVF1ZXVlKSl7dmFyIGw9bnVsbCxhPW51bGw7aWYobnVsbCE9PSh0PXQuZmlyc3RCYXNlVXBkYXRlKSl7ZG97dmFyIHU9e2V2ZW50VGltZTp0LmV2ZW50VGltZSxsYW5lOnQubGFuZSx0YWc6dC50YWcscGF5bG9hZDp0LnBheWxvYWQsY2FsbGJhY2s6dC5jYWxsYmFjayxuZXh0Om51bGx9O251bGw9PT1hP2w9YT11OmE9YS5uZXh0PXUsdD10Lm5leHR9d2hpbGUobnVsbCE9PXQpO251bGw9PT1hP2w9YT1uOmE9YS5uZXh0PW59ZWxzZSBsPWE9bjtyZXR1cm4gdD17YmFzZVN0YXRlOnIuYmFzZVN0YXRlLGZpcnN0QmFzZVVwZGF0ZTpsLGxhc3RCYXNlVXBkYXRlOmEsCnNoYXJlZDpyLnNoYXJlZCxlZmZlY3RzOnIuZWZmZWN0c30sdm9pZChlLnVwZGF0ZVF1ZXVlPXQpfW51bGw9PT0oZT10Lmxhc3RCYXNlVXBkYXRlKT90LmZpcnN0QmFzZVVwZGF0ZT1uOmUubmV4dD1uLHQubGFzdEJhc2VVcGRhdGU9bn1mdW5jdGlvbiBPYShlLG4sdCxyKXt2YXIgbD1lLnVwZGF0ZVF1ZXVlO1RhPSExO3ZhciBhPWwuZmlyc3RCYXNlVXBkYXRlLHU9bC5sYXN0QmFzZVVwZGF0ZSxvPWwuc2hhcmVkLnBlbmRpbmc7aWYobnVsbCE9PW8pe2wuc2hhcmVkLnBlbmRpbmc9bnVsbDt2YXIgaT1vLHM9aS5uZXh0O2kubmV4dD1udWxsLG51bGw9PT11P2E9czp1Lm5leHQ9cyx1PWk7dmFyIGM9ZS5hbHRlcm5hdGU7bnVsbCE9PWMmJigobz0oYz1jLnVwZGF0ZVF1ZXVlKS5sYXN0QmFzZVVwZGF0ZSkhPT11JiYobnVsbD09PW8/Yy5maXJzdEJhc2VVcGRhdGU9czpvLm5leHQ9cyxjLmxhc3RCYXNlVXBkYXRlPWkpKX1pZihudWxsIT09YSl7dmFyIGY9bC5iYXNlU3RhdGU7Zm9yKHU9MCxjPXM9aT1udWxsLG89YTs7KXt2YXIgZD1vLmxhbmUscD1vLmV2ZW50VGltZTtpZigociZkKT09PWQpe251bGwhPT1jJiYoYz1jLm5leHQ9e2V2ZW50VGltZTpwLGxhbmU6MCx0YWc6by50YWcscGF5bG9hZDpvLnBheWxvYWQsY2FsbGJhY2s6by5jYWxsYmFjayxuZXh0Om51bGx9KTtlOnt2YXIgbT1lLGg9bztzd2l0Y2goZD1uLHA9dCxoLnRhZyl7Y2FzZSAxOmlmKCJmdW5jdGlvbiI9PXR5cGVvZihtPWgucGF5bG9hZCkpe2Y9bS5jYWxsKHAsZixkKTticmVhayBlfWY9bTticmVhayBlO2Nhc2UgMzptLmZsYWdzPS02NTUzNyZtLmZsYWdzfDEyODtjYXNlIDA6aWYobnVsbD09KGQ9ImZ1bmN0aW9uIj09dHlwZW9mKG09aC5wYXlsb2FkKT9tLmNhbGwocCxmLGQpOm0pKWJyZWFrIGU7Zj1PKHt9LGYsZCk7YnJlYWsgZTtjYXNlIDI6VGE9ITB9fW51bGwhPT1vLmNhbGxiYWNrJiYwIT09by5sYW5lJiYoZS5mbGFnc3w9NjQsbnVsbD09PShkPWwuZWZmZWN0cyk/bC5lZmZlY3RzPVtvXTpkLnB1c2gobykpfWVsc2UgcD17ZXZlbnRUaW1lOnAsbGFuZTpkLHRhZzpvLnRhZyxwYXlsb2FkOm8ucGF5bG9hZCxjYWxsYmFjazpvLmNhbGxiYWNrLG5leHQ6bnVsbH0sbnVsbD09PWM/KHM9Yz1wLGk9Zik6Yz1jLm5leHQ9cCx1fD1kO2lmKG51bGw9PT0obz1vLm5leHQpKXtpZihudWxsPT09KG89bC5zaGFyZWQucGVuZGluZykpYnJlYWs7bz0oZD1vKS5uZXh0LGQubmV4dD1udWxsLGwubGFzdEJhc2VVcGRhdGU9ZCxsLnNoYXJlZC5wZW5kaW5nPW51bGx9fWlmKG51bGw9PT1jJiYoaT1mKSxsLmJhc2VTdGF0ZT1pLGwuZmlyc3RCYXNlVXBkYXRlPXMsbC5sYXN0QmFzZVVwZGF0ZT1jLG51bGwhPT0obj1sLnNoYXJlZC5pbnRlcmxlYXZlZCkpe2w9bjtkb3t1fD1sLmxhbmUsbD1sLm5leHR9d2hpbGUobCE9PW4pfWVsc2UgbnVsbD09PWEmJihsLnNoYXJlZC5sYW5lcz0wKTtJaXw9dSxlLmxhbmVzPXUsZS5tZW1vaXplZFN0YXRlPWZ9fWZ1bmN0aW9uIFVhKGUsbix0KXtpZihlPW4uZWZmZWN0cyxuLmVmZmVjdHM9bnVsbCxudWxsIT09ZSlmb3Iobj0wO248ZS5sZW5ndGg7bisrKXt2YXIgcj1lW25dLGw9ci5jYWxsYmFjaztpZihudWxsIT09bCl7aWYoci5jYWxsYmFjaz1udWxsLHI9dCwiZnVuY3Rpb24iIT10eXBlb2YgbCl0aHJvdyBFcnJvcihhKDE5MSxsKSk7bC5jYWxsKHIpfX19dmFyIFZhPShuZXcgci5Db21wb25lbnQpLnJlZnM7ZnVuY3Rpb24gQWEoZSxuLHQscil7dD1udWxsPT0odD10KHIsbj1lLm1lbW9pemVkU3RhdGUpKT9uOk8oe30sbix0KSxlLm1lbW9pemVkU3RhdGU9dCwwPT09ZS5sYW5lcyYmKGUudXBkYXRlUXVldWUuYmFzZVN0YXRlPXQpfXZhciBCYT17aXNNb3VudGVkOmZ1bmN0aW9uKGUpe3JldHVybiEhKGU9ZS5fcmVhY3RJbnRlcm5hbHMpJiZXZShlKT09PWV9LGVucXVldWVTZXRTdGF0ZTpmdW5jdGlvbihlLG4sdCl7ZT1lLl9yZWFjdEludGVybmFsczt2YXIgcj1lcygpLGw9bnMoZSksYT1GYShyLGwpO2EucGF5bG9hZD1uLG51bGwhPXQmJihhLmNhbGxiYWNrPXQpLG51bGwhPT0obj1SYShlLGEsbCkpJiYodHMobixlLGwsciksRGEobixlLGwpKX0sZW5xdWV1ZVJlcGxhY2VTdGF0ZTpmdW5jdGlvbihlLG4sdCl7ZT1lLl9yZWFjdEludGVybmFsczt2YXIgcj1lcygpLGw9bnMoZSksYT1GYShyLGwpO2EudGFnPTEsYS5wYXlsb2FkPW4sbnVsbCE9dCYmKGEuY2FsbGJhY2s9dCksbnVsbCE9PShuPVJhKGUsYSxsKSkmJih0cyhuLGUsbCxyKSxEYShuLGUsbCkpfSxlbnF1ZXVlRm9yY2VVcGRhdGU6ZnVuY3Rpb24oZSxuKXtlPWUuX3JlYWN0SW50ZXJuYWxzO3ZhciB0PWVzKCkscj1ucyhlKSxsPUZhKHQscik7bC50YWc9MixudWxsIT1uJiYobC5jYWxsYmFjaz1uKSxudWxsIT09KG49UmEoZSxsLHIpKSYmKHRzKG4sZSxyLHQpLERhKG4sZSxyKSl9fTtmdW5jdGlvbiBXYShlLG4sdCxyLGwsYSx1KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YoZT1lLnN0YXRlTm9kZSkuc2hvdWxkQ29tcG9uZW50VXBkYXRlP2Uuc2hvdWxkQ29tcG9uZW50VXBkYXRlKHIsYSx1KTohbi5wcm90b3R5cGV8fCFuLnByb3RvdHlwZS5pc1B1cmVSZWFjdENvbXBvbmVudHx8KCFpcih0LHIpfHwhaXIobCxhKSl9ZnVuY3Rpb24gSGEoZSxuLHQpe3ZhciByPSExLGw9TmwsYT1uLmNvbnRleHRUeXBlO3JldHVybiJvYmplY3QiPT10eXBlb2YgYSYmbnVsbCE9PWE/YT1DYShhKToobD1NbChuKT9UbDpfbC5jdXJyZW50LGE9KHI9bnVsbCE9KHI9bi5jb250ZXh0VHlwZXMpKT9MbChlLGwpOk5sKSxuPW5ldyBuKHQsYSksZS5tZW1vaXplZFN0YXRlPW51bGwhPT1uLnN0YXRlJiZ2b2lkIDAhPT1uLnN0YXRlP24uc3RhdGU6bnVsbCxuLnVwZGF0ZXI9QmEsZS5zdGF0ZU5vZGU9bixuLl9yZWFjdEludGVybmFscz1lLHImJigoZT1lLnN0YXRlTm9kZSkuX19yZWFjdEludGVybmFsTWVtb2l6ZWRVbm1hc2tlZENoaWxkQ29udGV4dD1sLGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNYXNrZWRDaGlsZENvbnRleHQ9YSksbn1mdW5jdGlvbiBRYShlLG4sdCxyKXtlPW4uc3RhdGUsCiJmdW5jdGlvbiI9PXR5cGVvZiBuLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMmJm4uY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyh0LHIpLCJmdW5jdGlvbiI9PXR5cGVvZiBuLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJiZuLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKHQsciksbi5zdGF0ZSE9PWUmJkJhLmVucXVldWVSZXBsYWNlU3RhdGUobixuLnN0YXRlLG51bGwpfWZ1bmN0aW9uIGphKGUsbix0LHIpe3ZhciBsPWUuc3RhdGVOb2RlO2wucHJvcHM9dCxsLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSxsLnJlZnM9VmEsTGEoZSk7dmFyIGE9bi5jb250ZXh0VHlwZTsib2JqZWN0Ij09dHlwZW9mIGEmJm51bGwhPT1hP2wuY29udGV4dD1DYShhKTooYT1NbChuKT9UbDpfbC5jdXJyZW50LGwuY29udGV4dD1MbChlLGEpKSxsLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSwiZnVuY3Rpb24iPT10eXBlb2YoYT1uLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcykmJihBYShlLG4sYSx0KSxsLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSksImZ1bmN0aW9uIj09dHlwZW9mIG4uZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzfHwiZnVuY3Rpb24iPT10eXBlb2YgbC5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZXx8ImZ1bmN0aW9uIiE9dHlwZW9mIGwuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCYmImZ1bmN0aW9uIiE9dHlwZW9mIGwuY29tcG9uZW50V2lsbE1vdW50fHwobj1sLnN0YXRlLCJmdW5jdGlvbiI9PXR5cGVvZiBsLmNvbXBvbmVudFdpbGxNb3VudCYmbC5jb21wb25lbnRXaWxsTW91bnQoKSwiZnVuY3Rpb24iPT10eXBlb2YgbC5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JiZsLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSxuIT09bC5zdGF0ZSYmQmEuZW5xdWV1ZVJlcGxhY2VTdGF0ZShsLGwuc3RhdGUsbnVsbCksT2EoZSx0LGwsciksbC5zdGF0ZT1lLm1lbW9pemVkU3RhdGUpLCJmdW5jdGlvbiI9PXR5cGVvZiBsLmNvbXBvbmVudERpZE1vdW50JiYoZS5mbGFnc3w9NDE5NDMwOCl9ZnVuY3Rpb24gJGEoZSxuLHQpe2lmKG51bGwhPT0oZT10LnJlZikmJiJmdW5jdGlvbiIhPXR5cGVvZiBlJiYib2JqZWN0IiE9dHlwZW9mIGUpe2lmKHQuX293bmVyKXtpZih0PXQuX293bmVyKXtpZigxIT09dC50YWcpdGhyb3cgRXJyb3IoYSgzMDkpKTt2YXIgcj10LnN0YXRlTm9kZX1pZighcil0aHJvdyBFcnJvcihhKDE0NyxlKSk7dmFyIGw9cix1PSIiK2U7cmV0dXJuIG51bGwhPT1uJiZudWxsIT09bi5yZWYmJiJmdW5jdGlvbiI9PXR5cGVvZiBuLnJlZiYmbi5yZWYuX3N0cmluZ1JlZj09PXU/bi5yZWY6KG49ZnVuY3Rpb24oZSl7dmFyIG49bC5yZWZzO249PT1WYSYmKG49bC5yZWZzPXt9KSxudWxsPT09ZT9kZWxldGUgblt1XTpuW3VdPWV9LG4uX3N0cmluZ1JlZj11LG4pfWlmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBFcnJvcihhKDI4NCkpO2lmKCF0Ll9vd25lcil0aHJvdyBFcnJvcihhKDI5MCxlKSl9cmV0dXJuIGV9ZnVuY3Rpb24gcWEoZSxuKXt0aHJvdyBlPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuKSxFcnJvcihhKDMxLCJbb2JqZWN0IE9iamVjdF0iPT09ZT8ib2JqZWN0IHdpdGgga2V5cyB7IitPYmplY3Qua2V5cyhuKS5qb2luKCIsICIpKyJ9IjplKSl9ZnVuY3Rpb24gS2EoZSl7cmV0dXJuKDAsZS5faW5pdCkoZS5fcGF5bG9hZCl9ZnVuY3Rpb24gWWEoZSl7ZnVuY3Rpb24gbihuLHQpe2lmKGUpe3ZhciByPW4uZGVsZXRpb25zO251bGw9PT1yPyhuLmRlbGV0aW9ucz1bdF0sbi5mbGFnc3w9MTYpOnIucHVzaCh0KX19ZnVuY3Rpb24gdCh0LHIpe2lmKCFlKXJldHVybiBudWxsO2Zvcig7bnVsbCE9PXI7KW4odCxyKSxyPXIuc2libGluZztyZXR1cm4gbnVsbH1mdW5jdGlvbiByKGUsbil7Zm9yKGU9bmV3IE1hcDtudWxsIT09bjspbnVsbCE9PW4ua2V5P2Uuc2V0KG4ua2V5LG4pOmUuc2V0KG4uaW5kZXgsbiksbj1uLnNpYmxpbmc7cmV0dXJuIGV9ZnVuY3Rpb24gbChlLG4pe3JldHVybihlPUZzKGUsbikpLmluZGV4PTAsZS5zaWJsaW5nPW51bGwsZX1mdW5jdGlvbiB1KG4sdCxyKXtyZXR1cm4gbi5pbmRleD1yLGU/bnVsbCE9PShyPW4uYWx0ZXJuYXRlKT8ocj1yLmluZGV4KTx0PyhuLmZsYWdzfD0yLHQpOnI6KG4uZmxhZ3N8PTIsdCk6KG4uZmxhZ3N8PTEwNDg1NzYsdCl9ZnVuY3Rpb24gbyhuKXtyZXR1cm4gZSYmbnVsbD09PW4uYWx0ZXJuYXRlJiYobi5mbGFnc3w9Miksbn1mdW5jdGlvbiBpKGUsbix0LHIpe3JldHVybiBudWxsPT09bnx8NiE9PW4udGFnPygobj1Pcyh0LGUubW9kZSxyKSkucmV0dXJuPWUsbik6KChuPWwobix0KSkucmV0dXJuPWUsbil9ZnVuY3Rpb24gcyhlLG4sdCxyKXt2YXIgYT10LnR5cGU7cmV0dXJuIGE9PT14P2YoZSxuLHQucHJvcHMuY2hpbGRyZW4scix0LmtleSk6bnVsbCE9PW4mJihuLmVsZW1lbnRUeXBlPT09YXx8Im9iamVjdCI9PXR5cGVvZiBhJiZudWxsIT09YSYmYS4kJHR5cGVvZj09PU0mJkthKGEpPT09bi50eXBlKT8oKHI9bChuLHQucHJvcHMpKS5yZWY9JGEoZSxuLHQpLHIucmV0dXJuPWUscik6KChyPVJzKHQudHlwZSx0LmtleSx0LnByb3BzLG51bGwsZS5tb2RlLHIpKS5yZWY9JGEoZSxuLHQpLHIucmV0dXJuPWUscil9ZnVuY3Rpb24gYyhlLG4sdCxyKXtyZXR1cm4gbnVsbD09PW58fDQhPT1uLnRhZ3x8bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyE9PXQuY29udGFpbmVySW5mb3x8bi5zdGF0ZU5vZGUuaW1wbGVtZW50YXRpb24hPT10LmltcGxlbWVudGF0aW9uPygobj1Vcyh0LGUubW9kZSxyKSkucmV0dXJuPWUsbik6KChuPWwobix0LmNoaWxkcmVufHxbXSkpLnJldHVybj1lLG4pfWZ1bmN0aW9uIGYoZSxuLHQscixhKXtyZXR1cm4gbnVsbD09PW58fDchPT1uLnRhZz8oKG49RHModCxlLm1vZGUscixhKSkucmV0dXJuPWUsbik6KChuPWwobix0KSkucmV0dXJuPWUsbil9ZnVuY3Rpb24gZChlLG4sdCl7aWYoInN0cmluZyI9PXR5cGVvZiBuJiYiIiE9PW58fCJudW1iZXIiPT10eXBlb2YgbilyZXR1cm4obj1PcygiIituLGUubW9kZSx0KSkucmV0dXJuPWUsbjtpZigib2JqZWN0Ij09dHlwZW9mIG4mJm51bGwhPT1uKXsKc3dpdGNoKG4uJCR0eXBlb2Ype2Nhc2UgdzpyZXR1cm4odD1ScyhuLnR5cGUsbi5rZXksbi5wcm9wcyxudWxsLGUubW9kZSx0KSkucmVmPSRhKGUsbnVsbCxuKSx0LnJldHVybj1lLHQ7Y2FzZSBTOnJldHVybihuPVVzKG4sZS5tb2RlLHQpKS5yZXR1cm49ZSxuO2Nhc2UgTTpyZXR1cm4gZChlLCgwLG4uX2luaXQpKG4uX3BheWxvYWQpLHQpfWlmKG5lKG4pfHxEKG4pKXJldHVybihuPURzKG4sZS5tb2RlLHQsbnVsbCkpLnJldHVybj1lLG47cWEoZSxuKX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBwKGUsbix0LHIpe3ZhciBsPW51bGwhPT1uP24ua2V5Om51bGw7aWYoInN0cmluZyI9PXR5cGVvZiB0JiYiIiE9PXR8fCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gbnVsbCE9PWw/bnVsbDppKGUsbiwiIit0LHIpO2lmKCJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXQpe3N3aXRjaCh0LiQkdHlwZW9mKXtjYXNlIHc6cmV0dXJuIHQua2V5PT09bD9zKGUsbix0LHIpOm51bGw7Y2FzZSBTOnJldHVybiB0LmtleT09PWw/YyhlLG4sdCxyKTpudWxsO2Nhc2UgTTpyZXR1cm4gcChlLG4sKGw9dC5faW5pdCkodC5fcGF5bG9hZCkscil9aWYobmUodCl8fEQodCkpcmV0dXJuIG51bGwhPT1sP251bGw6ZihlLG4sdCxyLG51bGwpO3FhKGUsdCl9cmV0dXJuIG51bGx9ZnVuY3Rpb24gbShlLG4sdCxyLGwpe2lmKCJzdHJpbmciPT10eXBlb2YgciYmIiIhPT1yfHwibnVtYmVyIj09dHlwZW9mIHIpcmV0dXJuIGkobixlPWUuZ2V0KHQpfHxudWxsLCIiK3IsbCk7aWYoIm9iamVjdCI9PXR5cGVvZiByJiZudWxsIT09cil7c3dpdGNoKHIuJCR0eXBlb2Ype2Nhc2UgdzpyZXR1cm4gcyhuLGU9ZS5nZXQobnVsbD09PXIua2V5P3Q6ci5rZXkpfHxudWxsLHIsbCk7Y2FzZSBTOnJldHVybiBjKG4sZT1lLmdldChudWxsPT09ci5rZXk/dDpyLmtleSl8fG51bGwscixsKTtjYXNlIE06cmV0dXJuIG0oZSxuLHQsKDAsci5faW5pdCkoci5fcGF5bG9hZCksbCl9aWYobmUocil8fEQocikpcmV0dXJuIGYobixlPWUuZ2V0KHQpfHxudWxsLHIsbCxudWxsKTtxYShuLHIpfXJldHVybiBudWxsfWZ1bmN0aW9uIGgobCxhLG8saSl7Zm9yKHZhciBzPW51bGwsYz1udWxsLGY9YSxoPWE9MCxnPW51bGw7bnVsbCE9PWYmJmg8by5sZW5ndGg7aCsrKXtmLmluZGV4Pmg/KGc9ZixmPW51bGwpOmc9Zi5zaWJsaW5nO3ZhciB2PXAobCxmLG9baF0saSk7aWYobnVsbD09PXYpe251bGw9PT1mJiYoZj1nKTticmVha31lJiZmJiZudWxsPT09di5hbHRlcm5hdGUmJm4obCxmKSxhPXUodixhLGgpLG51bGw9PT1jP3M9djpjLnNpYmxpbmc9dixjPXYsZj1nfWlmKGg9PT1vLmxlbmd0aClyZXR1cm4gdChsLGYpLGxhJiZabChsLGgpLHM7aWYobnVsbD09PWYpe2Zvcig7aDxvLmxlbmd0aDtoKyspbnVsbCE9PShmPWQobCxvW2hdLGkpKSYmKGE9dShmLGEsaCksbnVsbD09PWM/cz1mOmMuc2libGluZz1mLGM9Zik7cmV0dXJuIGxhJiZabChsLGgpLHN9Zm9yKGY9cihsLGYpO2g8by5sZW5ndGg7aCsrKW51bGwhPT0oZz1tKGYsbCxoLG9baF0saSkpJiYoZSYmbnVsbCE9PWcuYWx0ZXJuYXRlJiZmLmRlbGV0ZShudWxsPT09Zy5rZXk/aDpnLmtleSksYT11KGcsYSxoKSxudWxsPT09Yz9zPWc6Yy5zaWJsaW5nPWcsYz1nKTtyZXR1cm4gZSYmZi5mb3JFYWNoKChmdW5jdGlvbihlKXtyZXR1cm4gbihsLGUpfSkpLGxhJiZabChsLGgpLHN9ZnVuY3Rpb24gZyhsLG8saSxzKXt2YXIgYz1EKGkpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBjKXRocm93IEVycm9yKGEoMTUwKSk7aWYobnVsbD09KGk9Yy5jYWxsKGkpKSl0aHJvdyBFcnJvcihhKDE1MSkpO2Zvcih2YXIgZj1jPW51bGwsaD1vLGc9bz0wLHY9bnVsbCx5PWkubmV4dCgpO251bGwhPT1oJiYheS5kb25lO2crKyx5PWkubmV4dCgpKXtoLmluZGV4Pmc/KHY9aCxoPW51bGwpOnY9aC5zaWJsaW5nO3ZhciBiPXAobCxoLHkudmFsdWUscyk7aWYobnVsbD09PWIpe251bGw9PT1oJiYoaD12KTticmVha31lJiZoJiZudWxsPT09Yi5hbHRlcm5hdGUmJm4obCxoKSxvPXUoYixvLGcpLG51bGw9PT1mP2M9YjpmLnNpYmxpbmc9YixmPWIsaD12fWlmKHkuZG9uZSlyZXR1cm4gdChsLGgpLGxhJiZabChsLGcpLGM7aWYobnVsbD09PWgpe2Zvcig7IXkuZG9uZTtnKysseT1pLm5leHQoKSludWxsIT09KHk9ZChsLHkudmFsdWUscykpJiYobz11KHksbyxnKSxudWxsPT09Zj9jPXk6Zi5zaWJsaW5nPXksZj15KTtyZXR1cm4gbGEmJlpsKGwsZyksY31mb3IoaD1yKGwsaCk7IXkuZG9uZTtnKysseT1pLm5leHQoKSludWxsIT09KHk9bShoLGwsZyx5LnZhbHVlLHMpKSYmKGUmJm51bGwhPT15LmFsdGVybmF0ZSYmaC5kZWxldGUobnVsbD09PXkua2V5P2c6eS5rZXkpLG89dSh5LG8sZyksbnVsbD09PWY/Yz15OmYuc2libGluZz15LGY9eSk7cmV0dXJuIGUmJmguZm9yRWFjaCgoZnVuY3Rpb24oZSl7cmV0dXJuIG4obCxlKX0pKSxsYSYmWmwobCxnKSxjfXJldHVybiBmdW5jdGlvbiBlKHIsYSx1LGkpe2lmKCJvYmplY3QiPT10eXBlb2YgdSYmbnVsbCE9PXUmJnUudHlwZT09PXgmJm51bGw9PT11LmtleSYmKHU9dS5wcm9wcy5jaGlsZHJlbiksIm9iamVjdCI9PXR5cGVvZiB1JiZudWxsIT09dSl7c3dpdGNoKHUuJCR0eXBlb2Ype2Nhc2UgdzplOntmb3IodmFyIHM9dS5rZXksYz1hO251bGwhPT1jOyl7aWYoYy5rZXk9PT1zKXtpZigocz11LnR5cGUpPT09eCl7aWYoNz09PWMudGFnKXt0KHIsYy5zaWJsaW5nKSwoYT1sKGMsdS5wcm9wcy5jaGlsZHJlbikpLnJldHVybj1yLHI9YTticmVhayBlfX1lbHNlIGlmKGMuZWxlbWVudFR5cGU9PT1zfHwib2JqZWN0Ij09dHlwZW9mIHMmJm51bGwhPT1zJiZzLiQkdHlwZW9mPT09TSYmS2Eocyk9PT1jLnR5cGUpe3QocixjLnNpYmxpbmcpLChhPWwoYyx1LnByb3BzKSkucmVmPSRhKHIsYyx1KSxhLnJldHVybj1yLHI9YTticmVhayBlfXQocixjKTticmVha31uKHIsYyksYz1jLnNpYmxpbmd9dS50eXBlPT09eD8oKGE9RHModS5wcm9wcy5jaGlsZHJlbixyLm1vZGUsaSx1LmtleSkpLnJldHVybj1yLHI9YSk6KChpPVJzKHUudHlwZSx1LmtleSx1LnByb3BzLG51bGwsci5tb2RlLGkpKS5yZWY9JGEocixhLHUpLAppLnJldHVybj1yLHI9aSl9cmV0dXJuIG8ocik7Y2FzZSBTOmU6e2ZvcihjPXUua2V5O251bGwhPT1hOyl7aWYoYS5rZXk9PT1jKXtpZig0PT09YS50YWcmJmEuc3RhdGVOb2RlLmNvbnRhaW5lckluZm89PT11LmNvbnRhaW5lckluZm8mJmEuc3RhdGVOb2RlLmltcGxlbWVudGF0aW9uPT09dS5pbXBsZW1lbnRhdGlvbil7dChyLGEuc2libGluZyksKGE9bChhLHUuY2hpbGRyZW58fFtdKSkucmV0dXJuPXIscj1hO2JyZWFrIGV9dChyLGEpO2JyZWFrfW4ocixhKSxhPWEuc2libGluZ30oYT1Vcyh1LHIubW9kZSxpKSkucmV0dXJuPXIscj1hfXJldHVybiBvKHIpO2Nhc2UgTTpyZXR1cm4gZShyLGEsKGM9dS5faW5pdCkodS5fcGF5bG9hZCksaSl9aWYobmUodSkpcmV0dXJuIGgocixhLHUsaSk7aWYoRCh1KSlyZXR1cm4gZyhyLGEsdSxpKTtxYShyLHUpfXJldHVybiJzdHJpbmciPT10eXBlb2YgdSYmIiIhPT11fHwibnVtYmVyIj09dHlwZW9mIHU/KHU9IiIrdSxudWxsIT09YSYmNj09PWEudGFnPyh0KHIsYS5zaWJsaW5nKSwoYT1sKGEsdSkpLnJldHVybj1yLHI9YSk6KHQocixhKSwoYT1Pcyh1LHIubW9kZSxpKSkucmV0dXJuPXIscj1hKSxvKHIpKTp0KHIsYSl9fXZhciBYYT1ZYSghMCksR2E9WWEoITEpLFphPXt9LEphPUVsKFphKSxldT1FbChaYSksbnU9RWwoWmEpO2Z1bmN0aW9uIHR1KGUpe2lmKGU9PT1aYSl0aHJvdyBFcnJvcihhKDE3NCkpO3JldHVybiBlfWZ1bmN0aW9uIHJ1KGUsbil7c3dpdGNoKHpsKG51LG4pLHpsKGV1LGUpLHpsKEphLFphKSxlPW4ubm9kZVR5cGUpe2Nhc2UgOTpjYXNlIDExOm49KG49bi5kb2N1bWVudEVsZW1lbnQpP24ubmFtZXNwYWNlVVJJOmllKG51bGwsIiIpO2JyZWFrO2RlZmF1bHQ6bj1pZShuPShlPTg9PT1lP24ucGFyZW50Tm9kZTpuKS5uYW1lc3BhY2VVUkl8fG51bGwsZT1lLnRhZ05hbWUpfUNsKEphKSx6bChKYSxuKX1mdW5jdGlvbiBsdSgpe0NsKEphKSxDbChldSksQ2wobnUpfWZ1bmN0aW9uIGF1KGUpe3R1KG51LmN1cnJlbnQpO3ZhciBuPXR1KEphLmN1cnJlbnQpLHQ9aWUobixlLnR5cGUpO24hPT10JiYoemwoZXUsZSksemwoSmEsdCkpfWZ1bmN0aW9uIHV1KGUpe2V1LmN1cnJlbnQ9PT1lJiYoQ2woSmEpLENsKGV1KSl9dmFyIG91PUVsKDApO2Z1bmN0aW9uIGl1KGUpe2Zvcih2YXIgbj1lO251bGwhPT1uOyl7aWYoMTM9PT1uLnRhZyl7dmFyIHQ9bi5tZW1vaXplZFN0YXRlO2lmKG51bGwhPT10JiYobnVsbD09PSh0PXQuZGVoeWRyYXRlZCl8fCIkPyI9PT10LmRhdGF8fCIkISI9PT10LmRhdGEpKXJldHVybiBufWVsc2UgaWYoMTk9PT1uLnRhZyYmdm9pZCAwIT09bi5tZW1vaXplZFByb3BzLnJldmVhbE9yZGVyKXtpZigxMjgmbi5mbGFncylyZXR1cm4gbn1lbHNlIGlmKG51bGwhPT1uLmNoaWxkKXtuLmNoaWxkLnJldHVybj1uLG49bi5jaGlsZDtjb250aW51ZX1pZihuPT09ZSlicmVhaztmb3IoO251bGw9PT1uLnNpYmxpbmc7KXtpZihudWxsPT09bi5yZXR1cm58fG4ucmV0dXJuPT09ZSlyZXR1cm4gbnVsbDtuPW4ucmV0dXJufW4uc2libGluZy5yZXR1cm49bi5yZXR1cm4sbj1uLnNpYmxpbmd9cmV0dXJuIG51bGx9dmFyIHN1PVtdO2Z1bmN0aW9uIGN1KCl7Zm9yKHZhciBlPTA7ZTxzdS5sZW5ndGg7ZSsrKXN1W2VdLl93b3JrSW5Qcm9ncmVzc1ZlcnNpb25QcmltYXJ5PW51bGw7c3UubGVuZ3RoPTB9dmFyIGZ1PWsuUmVhY3RDdXJyZW50RGlzcGF0Y2hlcixkdT1rLlJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLHB1PTAsbXU9bnVsbCxodT1udWxsLGd1PW51bGwsdnU9ITEseXU9ITEsYnU9MCxrdT0wO2Z1bmN0aW9uIHd1KCl7dGhyb3cgRXJyb3IoYSgzMjEpKX1mdW5jdGlvbiBTdShlLG4pe2lmKG51bGw9PT1uKXJldHVybiExO2Zvcih2YXIgdD0wO3Q8bi5sZW5ndGgmJnQ8ZS5sZW5ndGg7dCsrKWlmKCFvcihlW3RdLG5bdF0pKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIHh1KGUsbix0LHIsbCx1KXtpZihwdT11LG11PW4sbi5tZW1vaXplZFN0YXRlPW51bGwsbi51cGRhdGVRdWV1ZT1udWxsLG4ubGFuZXM9MCxmdS5jdXJyZW50PW51bGw9PT1lfHxudWxsPT09ZS5tZW1vaXplZFN0YXRlP3VvOm9vLGU9dChyLGwpLHl1KXt1PTA7ZG97aWYoeXU9ITEsYnU9MCwyNTw9dSl0aHJvdyBFcnJvcihhKDMwMSkpO3UrPTEsZ3U9aHU9bnVsbCxuLnVwZGF0ZVF1ZXVlPW51bGwsZnUuY3VycmVudD1pbyxlPXQocixsKX13aGlsZSh5dSl9aWYoZnUuY3VycmVudD1hbyxuPW51bGwhPT1odSYmbnVsbCE9PWh1Lm5leHQscHU9MCxndT1odT1tdT1udWxsLHZ1PSExLG4pdGhyb3cgRXJyb3IoYSgzMDApKTtyZXR1cm4gZX1mdW5jdGlvbiBFdSgpe3ZhciBlPTAhPT1idTtyZXR1cm4gYnU9MCxlfWZ1bmN0aW9uIEN1KCl7dmFyIGU9e21lbW9pemVkU3RhdGU6bnVsbCxiYXNlU3RhdGU6bnVsbCxiYXNlUXVldWU6bnVsbCxxdWV1ZTpudWxsLG5leHQ6bnVsbH07cmV0dXJuIG51bGw9PT1ndT9tdS5tZW1vaXplZFN0YXRlPWd1PWU6Z3U9Z3UubmV4dD1lLGd1fWZ1bmN0aW9uIHp1KCl7aWYobnVsbD09PWh1KXt2YXIgZT1tdS5hbHRlcm5hdGU7ZT1udWxsIT09ZT9lLm1lbW9pemVkU3RhdGU6bnVsbH1lbHNlIGU9aHUubmV4dDt2YXIgbj1udWxsPT09Z3U/bXUubWVtb2l6ZWRTdGF0ZTpndS5uZXh0O2lmKG51bGwhPT1uKWd1PW4saHU9ZTtlbHNle2lmKG51bGw9PT1lKXRocm93IEVycm9yKGEoMzEwKSk7ZT17bWVtb2l6ZWRTdGF0ZTooaHU9ZSkubWVtb2l6ZWRTdGF0ZSxiYXNlU3RhdGU6aHUuYmFzZVN0YXRlLGJhc2VRdWV1ZTpodS5iYXNlUXVldWUscXVldWU6aHUucXVldWUsbmV4dDpudWxsfSxudWxsPT09Z3U/bXUubWVtb2l6ZWRTdGF0ZT1ndT1lOmd1PWd1Lm5leHQ9ZX1yZXR1cm4gZ3V9ZnVuY3Rpb24gTnUoZSxuKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2Ygbj9uKGUpOm59ZnVuY3Rpb24gX3UoZSl7dmFyIG49enUoKSx0PW4ucXVldWU7aWYobnVsbD09PXQpdGhyb3cgRXJyb3IoYSgzMTEpKTt0Lmxhc3RSZW5kZXJlZFJlZHVjZXI9ZTt2YXIgcj1odSxsPXIuYmFzZVF1ZXVlLHU9dC5wZW5kaW5nO2lmKG51bGwhPT11KXtpZihudWxsIT09bCl7dmFyIG89bC5uZXh0CjtsLm5leHQ9dS5uZXh0LHUubmV4dD1vfXIuYmFzZVF1ZXVlPWw9dSx0LnBlbmRpbmc9bnVsbH1pZihudWxsIT09bCl7dT1sLm5leHQscj1yLmJhc2VTdGF0ZTt2YXIgaT1vPW51bGwscz1udWxsLGM9dTtkb3t2YXIgZj1jLmxhbmU7aWYoKHB1JmYpPT09ZiludWxsIT09cyYmKHM9cy5uZXh0PXtsYW5lOjAsYWN0aW9uOmMuYWN0aW9uLGhhc0VhZ2VyU3RhdGU6Yy5oYXNFYWdlclN0YXRlLGVhZ2VyU3RhdGU6Yy5lYWdlclN0YXRlLG5leHQ6bnVsbH0pLHI9Yy5oYXNFYWdlclN0YXRlP2MuZWFnZXJTdGF0ZTplKHIsYy5hY3Rpb24pO2Vsc2V7dmFyIGQ9e2xhbmU6ZixhY3Rpb246Yy5hY3Rpb24saGFzRWFnZXJTdGF0ZTpjLmhhc0VhZ2VyU3RhdGUsZWFnZXJTdGF0ZTpjLmVhZ2VyU3RhdGUsbmV4dDpudWxsfTtudWxsPT09cz8oaT1zPWQsbz1yKTpzPXMubmV4dD1kLG11LmxhbmVzfD1mLElpfD1mfWM9Yy5uZXh0fXdoaWxlKG51bGwhPT1jJiZjIT09dSk7bnVsbD09PXM/bz1yOnMubmV4dD1pLG9yKHIsbi5tZW1vaXplZFN0YXRlKXx8KGtvPSEwKSxuLm1lbW9pemVkU3RhdGU9cixuLmJhc2VTdGF0ZT1vLG4uYmFzZVF1ZXVlPXMsdC5sYXN0UmVuZGVyZWRTdGF0ZT1yfWlmKG51bGwhPT0oZT10LmludGVybGVhdmVkKSl7bD1lO2Rve3U9bC5sYW5lLG11LmxhbmVzfD11LElpfD11LGw9bC5uZXh0fXdoaWxlKGwhPT1lKX1lbHNlIG51bGw9PT1sJiYodC5sYW5lcz0wKTtyZXR1cm5bbi5tZW1vaXplZFN0YXRlLHQuZGlzcGF0Y2hdfWZ1bmN0aW9uIFB1KGUpe3ZhciBuPXp1KCksdD1uLnF1ZXVlO2lmKG51bGw9PT10KXRocm93IEVycm9yKGEoMzExKSk7dC5sYXN0UmVuZGVyZWRSZWR1Y2VyPWU7dmFyIHI9dC5kaXNwYXRjaCxsPXQucGVuZGluZyx1PW4ubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09bCl7dC5wZW5kaW5nPW51bGw7dmFyIG89bD1sLm5leHQ7ZG97dT1lKHUsby5hY3Rpb24pLG89by5uZXh0fXdoaWxlKG8hPT1sKTtvcih1LG4ubWVtb2l6ZWRTdGF0ZSl8fChrbz0hMCksbi5tZW1vaXplZFN0YXRlPXUsbnVsbD09PW4uYmFzZVF1ZXVlJiYobi5iYXNlU3RhdGU9dSksdC5sYXN0UmVuZGVyZWRTdGF0ZT11fXJldHVyblt1LHJdfWZ1bmN0aW9uIFR1KCl7fWZ1bmN0aW9uIEx1KGUsbil7dmFyIHQ9bXUscj16dSgpLGw9bigpLHU9IW9yKHIubWVtb2l6ZWRTdGF0ZSxsKTtpZih1JiYoci5tZW1vaXplZFN0YXRlPWwsa289ITApLHI9ci5xdWV1ZSxIdShSdS5iaW5kKG51bGwsdCxyLGUpLFtlXSksci5nZXRTbmFwc2hvdCE9PW58fHV8fG51bGwhPT1ndSYmMSZndS5tZW1vaXplZFN0YXRlLnRhZyl7aWYodC5mbGFnc3w9MjA0OCxVdSg5LEZ1LmJpbmQobnVsbCx0LHIsbCxuKSx2b2lkIDAsbnVsbCksbnVsbD09PVBpKXRocm93IEVycm9yKGEoMzQ5KSk7MzAmcHV8fE11KHQsbixsKX1yZXR1cm4gbH1mdW5jdGlvbiBNdShlLG4sdCl7ZS5mbGFnc3w9MTYzODQsZT17Z2V0U25hcHNob3Q6bix2YWx1ZTp0fSxudWxsPT09KG49bXUudXBkYXRlUXVldWUpPyhuPXtsYXN0RWZmZWN0Om51bGwsc3RvcmVzOm51bGx9LG11LnVwZGF0ZVF1ZXVlPW4sbi5zdG9yZXM9W2VdKTpudWxsPT09KHQ9bi5zdG9yZXMpP24uc3RvcmVzPVtlXTp0LnB1c2goZSl9ZnVuY3Rpb24gRnUoZSxuLHQscil7bi52YWx1ZT10LG4uZ2V0U25hcHNob3Q9cixEdShuKSYmSXUoZSl9ZnVuY3Rpb24gUnUoZSxuLHQpe3JldHVybiB0KChmdW5jdGlvbigpe0R1KG4pJiZJdShlKX0pKX1mdW5jdGlvbiBEdShlKXt2YXIgbj1lLmdldFNuYXBzaG90O2U9ZS52YWx1ZTt0cnl7dmFyIHQ9bigpO3JldHVybiFvcihlLHQpfWNhdGNoKGUpe3JldHVybiEwfX1mdW5jdGlvbiBJdShlKXt2YXIgbj1QYShlLDEpO251bGwhPT1uJiZ0cyhuLGUsMSwtMSl9ZnVuY3Rpb24gT3UoZSl7dmFyIG49Q3UoKTtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZSYmKGU9ZSgpKSxuLm1lbW9pemVkU3RhdGU9bi5iYXNlU3RhdGU9ZSxlPXtwZW5kaW5nOm51bGwsaW50ZXJsZWF2ZWQ6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjpOdSxsYXN0UmVuZGVyZWRTdGF0ZTplfSxuLnF1ZXVlPWUsZT1lLmRpc3BhdGNoPW5vLmJpbmQobnVsbCxtdSxlKSxbbi5tZW1vaXplZFN0YXRlLGVdfWZ1bmN0aW9uIFV1KGUsbix0LHIpe3JldHVybiBlPXt0YWc6ZSxjcmVhdGU6bixkZXN0cm95OnQsZGVwczpyLG5leHQ6bnVsbH0sbnVsbD09PShuPW11LnVwZGF0ZVF1ZXVlKT8obj17bGFzdEVmZmVjdDpudWxsLHN0b3JlczpudWxsfSxtdS51cGRhdGVRdWV1ZT1uLG4ubGFzdEVmZmVjdD1lLm5leHQ9ZSk6bnVsbD09PSh0PW4ubGFzdEVmZmVjdCk/bi5sYXN0RWZmZWN0PWUubmV4dD1lOihyPXQubmV4dCx0Lm5leHQ9ZSxlLm5leHQ9cixuLmxhc3RFZmZlY3Q9ZSksZX1mdW5jdGlvbiBWdSgpe3JldHVybiB6dSgpLm1lbW9pemVkU3RhdGV9ZnVuY3Rpb24gQXUoZSxuLHQscil7dmFyIGw9Q3UoKTttdS5mbGFnc3w9ZSxsLm1lbW9pemVkU3RhdGU9VXUoMXxuLHQsdm9pZCAwLHZvaWQgMD09PXI/bnVsbDpyKX1mdW5jdGlvbiBCdShlLG4sdCxyKXt2YXIgbD16dSgpO3I9dm9pZCAwPT09cj9udWxsOnI7dmFyIGE9dm9pZCAwO2lmKG51bGwhPT1odSl7dmFyIHU9aHUubWVtb2l6ZWRTdGF0ZTtpZihhPXUuZGVzdHJveSxudWxsIT09ciYmU3Uocix1LmRlcHMpKXJldHVybiB2b2lkKGwubWVtb2l6ZWRTdGF0ZT1VdShuLHQsYSxyKSl9bXUuZmxhZ3N8PWUsbC5tZW1vaXplZFN0YXRlPVV1KDF8bix0LGEscil9ZnVuY3Rpb24gV3UoZSxuKXtyZXR1cm4gQXUoODM5MDY1Niw4LGUsbil9ZnVuY3Rpb24gSHUoZSxuKXtyZXR1cm4gQnUoMjA0OCw4LGUsbil9ZnVuY3Rpb24gUXUoZSxuKXtyZXR1cm4gQnUoNCwyLGUsbil9ZnVuY3Rpb24ganUoZSxuKXtyZXR1cm4gQnUoNCw0LGUsbil9ZnVuY3Rpb24gJHUoZSxuKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2Ygbj8oZT1lKCksbihlKSxmdW5jdGlvbigpe24obnVsbCl9KTpudWxsIT1uPyhlPWUoKSxuLmN1cnJlbnQ9ZSxmdW5jdGlvbigpe24uY3VycmVudD1udWxsfSk6dm9pZCAwfWZ1bmN0aW9uIHF1KGUsbix0KXsKcmV0dXJuIHQ9bnVsbCE9dD90LmNvbmNhdChbZV0pOm51bGwsQnUoNCw0LCR1LmJpbmQobnVsbCxuLGUpLHQpfWZ1bmN0aW9uIEt1KCl7fWZ1bmN0aW9uIFl1KGUsbil7dmFyIHQ9enUoKTtuPXZvaWQgMD09PW4/bnVsbDpuO3ZhciByPXQubWVtb2l6ZWRTdGF0ZTtyZXR1cm4gbnVsbCE9PXImJm51bGwhPT1uJiZTdShuLHJbMV0pP3JbMF06KHQubWVtb2l6ZWRTdGF0ZT1bZSxuXSxlKX1mdW5jdGlvbiBYdShlLG4pe3ZhciB0PXp1KCk7bj12b2lkIDA9PT1uP251bGw6bjt2YXIgcj10Lm1lbW9pemVkU3RhdGU7cmV0dXJuIG51bGwhPT1yJiZudWxsIT09biYmU3UobixyWzFdKT9yWzBdOihlPWUoKSx0Lm1lbW9pemVkU3RhdGU9W2Usbl0sZSl9ZnVuY3Rpb24gR3UoZSxuLHQpe3JldHVybiAyMSZwdT8ob3IodCxuKXx8KHQ9Z24oKSxtdS5sYW5lc3w9dCxJaXw9dCxlLmJhc2VTdGF0ZT0hMCksbik6KGUuYmFzZVN0YXRlJiYoZS5iYXNlU3RhdGU9ITEsa289ITApLGUubWVtb2l6ZWRTdGF0ZT10KX1mdW5jdGlvbiBadShlLG4pe3ZhciB0PWtuO2tuPTAhPT10JiY0PnQ/dDo0LGUoITApO3ZhciByPWR1LnRyYW5zaXRpb247ZHUudHJhbnNpdGlvbj17fTt0cnl7ZSghMSksbigpfWZpbmFsbHl7a249dCxkdS50cmFuc2l0aW9uPXJ9fWZ1bmN0aW9uIEp1KCl7cmV0dXJuIHp1KCkubWVtb2l6ZWRTdGF0ZX1mdW5jdGlvbiBlbyhlLG4sdCl7dmFyIHI9bnMoZSk7aWYodD17bGFuZTpyLGFjdGlvbjp0LGhhc0VhZ2VyU3RhdGU6ITEsZWFnZXJTdGF0ZTpudWxsLG5leHQ6bnVsbH0sdG8oZSkpcm8obix0KTtlbHNlIGlmKG51bGwhPT0odD1fYShlLG4sdCxyKSkpe3RzKHQsZSxyLGVzKCkpLGxvKHQsbixyKX19ZnVuY3Rpb24gbm8oZSxuLHQpe3ZhciByPW5zKGUpLGw9e2xhbmU6cixhY3Rpb246dCxoYXNFYWdlclN0YXRlOiExLGVhZ2VyU3RhdGU6bnVsbCxuZXh0Om51bGx9O2lmKHRvKGUpKXJvKG4sbCk7ZWxzZXt2YXIgYT1lLmFsdGVybmF0ZTtpZigwPT09ZS5sYW5lcyYmKG51bGw9PT1hfHwwPT09YS5sYW5lcykmJm51bGwhPT0oYT1uLmxhc3RSZW5kZXJlZFJlZHVjZXIpKXRyeXt2YXIgdT1uLmxhc3RSZW5kZXJlZFN0YXRlLG89YSh1LHQpO2lmKGwuaGFzRWFnZXJTdGF0ZT0hMCxsLmVhZ2VyU3RhdGU9byxvcihvLHUpKXt2YXIgaT1uLmludGVybGVhdmVkO3JldHVybiBudWxsPT09aT8obC5uZXh0PWwsTmEobikpOihsLm5leHQ9aS5uZXh0LGkubmV4dD1sKSx2b2lkKG4uaW50ZXJsZWF2ZWQ9bCl9fWNhdGNoKGUpe31udWxsIT09KHQ9X2EoZSxuLGwscikpJiYodHModCxlLHIsbD1lcygpKSxsbyh0LG4scikpfX1mdW5jdGlvbiB0byhlKXt2YXIgbj1lLmFsdGVybmF0ZTtyZXR1cm4gZT09PW11fHxudWxsIT09biYmbj09PW11fWZ1bmN0aW9uIHJvKGUsbil7eXU9dnU9ITA7dmFyIHQ9ZS5wZW5kaW5nO251bGw9PT10P24ubmV4dD1uOihuLm5leHQ9dC5uZXh0LHQubmV4dD1uKSxlLnBlbmRpbmc9bn1mdW5jdGlvbiBsbyhlLG4sdCl7aWYoNDE5NDI0MCZ0KXt2YXIgcj1uLmxhbmVzO3R8PXImPWUucGVuZGluZ0xhbmVzLG4ubGFuZXM9dCxibihlLHQpfX12YXIgYW89e3JlYWRDb250ZXh0OkNhLHVzZUNhbGxiYWNrOnd1LHVzZUNvbnRleHQ6d3UsdXNlRWZmZWN0Ond1LHVzZUltcGVyYXRpdmVIYW5kbGU6d3UsdXNlSW5zZXJ0aW9uRWZmZWN0Ond1LHVzZUxheW91dEVmZmVjdDp3dSx1c2VNZW1vOnd1LHVzZVJlZHVjZXI6d3UsdXNlUmVmOnd1LHVzZVN0YXRlOnd1LHVzZURlYnVnVmFsdWU6d3UsdXNlRGVmZXJyZWRWYWx1ZTp3dSx1c2VUcmFuc2l0aW9uOnd1LHVzZU11dGFibGVTb3VyY2U6d3UsdXNlU3luY0V4dGVybmFsU3RvcmU6d3UsdXNlSWQ6d3UsdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiExfSx1bz17cmVhZENvbnRleHQ6Q2EsdXNlQ2FsbGJhY2s6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gQ3UoKS5tZW1vaXplZFN0YXRlPVtlLHZvaWQgMD09PW4/bnVsbDpuXSxlfSx1c2VDb250ZXh0OkNhLHVzZUVmZmVjdDpXdSx1c2VJbXBlcmF0aXZlSGFuZGxlOmZ1bmN0aW9uKGUsbix0KXtyZXR1cm4gdD1udWxsIT10P3QuY29uY2F0KFtlXSk6bnVsbCxBdSg0MTk0MzA4LDQsJHUuYmluZChudWxsLG4sZSksdCl9LHVzZUxheW91dEVmZmVjdDpmdW5jdGlvbihlLG4pe3JldHVybiBBdSg0MTk0MzA4LDQsZSxuKX0sdXNlSW5zZXJ0aW9uRWZmZWN0OmZ1bmN0aW9uKGUsbil7cmV0dXJuIEF1KDQsMixlLG4pfSx1c2VNZW1vOmZ1bmN0aW9uKGUsbil7dmFyIHQ9Q3UoKTtyZXR1cm4gbj12b2lkIDA9PT1uP251bGw6bixlPWUoKSx0Lm1lbW9pemVkU3RhdGU9W2Usbl0sZX0sdXNlUmVkdWNlcjpmdW5jdGlvbihlLG4sdCl7dmFyIHI9Q3UoKTtyZXR1cm4gbj12b2lkIDAhPT10P3Qobik6bixyLm1lbW9pemVkU3RhdGU9ci5iYXNlU3RhdGU9bixlPXtwZW5kaW5nOm51bGwsaW50ZXJsZWF2ZWQ6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjplLGxhc3RSZW5kZXJlZFN0YXRlOm59LHIucXVldWU9ZSxlPWUuZGlzcGF0Y2g9ZW8uYmluZChudWxsLG11LGUpLFtyLm1lbW9pemVkU3RhdGUsZV19LHVzZVJlZjpmdW5jdGlvbihlKXtyZXR1cm4gZT17Y3VycmVudDplfSxDdSgpLm1lbW9pemVkU3RhdGU9ZX0sdXNlU3RhdGU6T3UsdXNlRGVidWdWYWx1ZTpLdSx1c2VEZWZlcnJlZFZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiBDdSgpLm1lbW9pemVkU3RhdGU9ZX0sdXNlVHJhbnNpdGlvbjpmdW5jdGlvbigpe3ZhciBlPU91KCExKSxuPWVbMF07cmV0dXJuIGU9WnUuYmluZChudWxsLGVbMV0pLEN1KCkubWVtb2l6ZWRTdGF0ZT1lLFtuLGVdfSx1c2VNdXRhYmxlU291cmNlOmZ1bmN0aW9uKCl7fSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpmdW5jdGlvbihlLG4sdCl7dmFyIHI9bXUsbD1DdSgpO2lmKGxhKXtpZih2b2lkIDA9PT10KXRocm93IEVycm9yKGEoNDA3KSk7dD10KCl9ZWxzZXtpZih0PW4oKSxudWxsPT09UGkpdGhyb3cgRXJyb3IoYSgzNDkpKTszMCZwdXx8TXUocixuLHQpfWwubWVtb2l6ZWRTdGF0ZT10O3ZhciB1PXt2YWx1ZTp0LGdldFNuYXBzaG90Om59O3JldHVybiBsLnF1ZXVlPXUsCld1KFJ1LmJpbmQobnVsbCxyLHUsZSksW2VdKSxyLmZsYWdzfD0yMDQ4LFV1KDksRnUuYmluZChudWxsLHIsdSx0LG4pLHZvaWQgMCxudWxsKSx0fSx1c2VJZDpmdW5jdGlvbigpe3ZhciBlPUN1KCksbj1QaS5pZGVudGlmaWVyUHJlZml4O2lmKGxhKXt2YXIgdD1HbDtuPSI6IituKyJSIisodD0oWGwmfigxPDwzMi11bihYbCktMSkpLnRvU3RyaW5nKDMyKSt0KSwwPCh0PWJ1KyspJiYobis9IkgiK3QudG9TdHJpbmcoMzIpKSxuKz0iOiJ9ZWxzZSBuPSI6IituKyJyIisodD1rdSsrKS50b1N0cmluZygzMikrIjoiO3JldHVybiBlLm1lbW9pemVkU3RhdGU9bn0sdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiExfSxvbz17cmVhZENvbnRleHQ6Q2EsdXNlQ2FsbGJhY2s6WXUsdXNlQ29udGV4dDpDYSx1c2VFZmZlY3Q6SHUsdXNlSW1wZXJhdGl2ZUhhbmRsZTpxdSx1c2VJbnNlcnRpb25FZmZlY3Q6UXUsdXNlTGF5b3V0RWZmZWN0Omp1LHVzZU1lbW86WHUsdXNlUmVkdWNlcjpfdSx1c2VSZWY6VnUsdXNlU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gX3UoTnUpfSx1c2VEZWJ1Z1ZhbHVlOkt1LHVzZURlZmVycmVkVmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIEd1KHp1KCksaHUubWVtb2l6ZWRTdGF0ZSxlKX0sdXNlVHJhbnNpdGlvbjpmdW5jdGlvbigpe3JldHVybltfdShOdSlbMF0senUoKS5tZW1vaXplZFN0YXRlXX0sdXNlTXV0YWJsZVNvdXJjZTpUdSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpMdSx1c2VJZDpKdSx1bnN0YWJsZV9pc05ld1JlY29uY2lsZXI6ITF9LGlvPXtyZWFkQ29udGV4dDpDYSx1c2VDYWxsYmFjazpZdSx1c2VDb250ZXh0OkNhLHVzZUVmZmVjdDpIdSx1c2VJbXBlcmF0aXZlSGFuZGxlOnF1LHVzZUluc2VydGlvbkVmZmVjdDpRdSx1c2VMYXlvdXRFZmZlY3Q6anUsdXNlTWVtbzpYdSx1c2VSZWR1Y2VyOlB1LHVzZVJlZjpWdSx1c2VTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBQdShOdSl9LHVzZURlYnVnVmFsdWU6S3UsdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihlKXt2YXIgbj16dSgpO3JldHVybiBudWxsPT09aHU/bi5tZW1vaXplZFN0YXRlPWU6R3UobixodS5tZW1vaXplZFN0YXRlLGUpfSx1c2VUcmFuc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuW1B1KE51KVswXSx6dSgpLm1lbW9pemVkU3RhdGVdfSx1c2VNdXRhYmxlU291cmNlOlR1LHVzZVN5bmNFeHRlcm5hbFN0b3JlOkx1LHVzZUlkOkp1LHVuc3RhYmxlX2lzTmV3UmVjb25jaWxlcjohMX07ZnVuY3Rpb24gc28oZSxuKXt0cnl7dmFyIHQ9IiIscj1uO2Rve3QrPUIocikscj1yLnJldHVybn13aGlsZShyKTt2YXIgbD10fWNhdGNoKGUpe2w9IlxuRXJyb3IgZ2VuZXJhdGluZyBzdGFjazogIitlLm1lc3NhZ2UrIlxuIitlLnN0YWNrfXJldHVybnt2YWx1ZTplLHNvdXJjZTpuLHN0YWNrOmwsZGlnZXN0Om51bGx9fWZ1bmN0aW9uIGNvKGUsbix0KXtyZXR1cm57dmFsdWU6ZSxzb3VyY2U6bnVsbCxzdGFjazpudWxsIT10P3Q6bnVsbCxkaWdlc3Q6bnVsbCE9bj9uOm51bGx9fWZ1bmN0aW9uIGZvKGUsbil7dHJ5e2NvbnNvbGUuZXJyb3Iobi52YWx1ZSl9Y2F0Y2goZSl7c2V0VGltZW91dCgoZnVuY3Rpb24oKXt0aHJvdyBlfSkpfX12YXIgcG89ImZ1bmN0aW9uIj09dHlwZW9mIFdlYWtNYXA/V2Vha01hcDpNYXA7ZnVuY3Rpb24gbW8oZSxuLHQpeyh0PUZhKC0xLHQpKS50YWc9Myx0LnBheWxvYWQ9e2VsZW1lbnQ6bnVsbH07dmFyIHI9bi52YWx1ZTtyZXR1cm4gdC5jYWxsYmFjaz1mdW5jdGlvbigpe1FpfHwoUWk9ITAsamk9ciksZm8oMCxuKX0sdH1mdW5jdGlvbiBobyhlLG4sdCl7KHQ9RmEoLTEsdCkpLnRhZz0zO3ZhciByPWUudHlwZS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpe3ZhciBsPW4udmFsdWU7dC5wYXlsb2FkPWZ1bmN0aW9uKCl7cmV0dXJuIHIobCl9LHQuY2FsbGJhY2s9ZnVuY3Rpb24oKXtmbygwLG4pfX12YXIgYT1lLnN0YXRlTm9kZTtyZXR1cm4gbnVsbCE9PWEmJiJmdW5jdGlvbiI9PXR5cGVvZiBhLmNvbXBvbmVudERpZENhdGNoJiYodC5jYWxsYmFjaz1mdW5jdGlvbigpe2ZvKDAsbiksImZ1bmN0aW9uIiE9dHlwZW9mIHImJihudWxsPT09JGk/JGk9bmV3IFNldChbdGhpc10pOiRpLmFkZCh0aGlzKSk7dmFyIGU9bi5zdGFjazt0aGlzLmNvbXBvbmVudERpZENhdGNoKG4udmFsdWUse2NvbXBvbmVudFN0YWNrOm51bGwhPT1lP2U6IiJ9KX0pLHR9ZnVuY3Rpb24gZ28oZSxuLHQpe3ZhciByPWUucGluZ0NhY2hlO2lmKG51bGw9PT1yKXtyPWUucGluZ0NhY2hlPW5ldyBwbzt2YXIgbD1uZXcgU2V0O3Iuc2V0KG4sbCl9ZWxzZSB2b2lkIDA9PT0obD1yLmdldChuKSkmJihsPW5ldyBTZXQsci5zZXQobixsKSk7bC5oYXModCl8fChsLmFkZCh0KSxlPUNzLmJpbmQobnVsbCxlLG4sdCksbi50aGVuKGUsZSkpfWZ1bmN0aW9uIHZvKGUpe2Rve3ZhciBuO2lmKChuPTEzPT09ZS50YWcpJiYobj1udWxsPT09KG49ZS5tZW1vaXplZFN0YXRlKXx8bnVsbCE9PW4uZGVoeWRyYXRlZCksbilyZXR1cm4gZTtlPWUucmV0dXJufXdoaWxlKG51bGwhPT1lKTtyZXR1cm4gbnVsbH1mdW5jdGlvbiB5byhlLG4sdCxyLGwpe3JldHVybiAxJmUubW9kZT8oZS5mbGFnc3w9NjU1MzYsZS5sYW5lcz1sLGUpOihlPT09bj9lLmZsYWdzfD02NTUzNjooZS5mbGFnc3w9MTI4LHQuZmxhZ3N8PTEzMTA3Mix0LmZsYWdzJj0tNTI4MDUsMT09PXQudGFnJiYobnVsbD09PXQuYWx0ZXJuYXRlP3QudGFnPTE3Oigobj1GYSgtMSwxKSkudGFnPTIsUmEodCxuLDEpKSksdC5sYW5lc3w9MSksZSl9dmFyIGJvPWsuUmVhY3RDdXJyZW50T3duZXIsa289ITE7ZnVuY3Rpb24gd28oZSxuLHQscil7bi5jaGlsZD1udWxsPT09ZT9HYShuLG51bGwsdCxyKTpYYShuLGUuY2hpbGQsdCxyKX1mdW5jdGlvbiBTbyhlLG4sdCxyLGwpe3Q9dC5yZW5kZXI7dmFyIGE9bi5yZWY7cmV0dXJuIEVhKG4sbCkscj14dShlLG4sdCxyLGEsbCksdD1FdSgpLG51bGw9PT1lfHxrbz8obGEmJnQmJmVhKG4pLG4uZmxhZ3N8PTEsd28oZSxuLHIsbCksbi5jaGlsZCk6KG4udXBkYXRlUXVldWU9ZS51cGRhdGVRdWV1ZSxuLmZsYWdzJj0tMjA1MywKZS5sYW5lcyY9fmwsUW8oZSxuLGwpKX1mdW5jdGlvbiB4byhlLG4sdCxyLGwpe2lmKG51bGw9PT1lKXt2YXIgYT10LnR5cGU7cmV0dXJuImZ1bmN0aW9uIiE9dHlwZW9mIGF8fE1zKGEpfHx2b2lkIDAhPT1hLmRlZmF1bHRQcm9wc3x8bnVsbCE9PXQuY29tcGFyZXx8dm9pZCAwIT09dC5kZWZhdWx0UHJvcHM/KChlPVJzKHQudHlwZSxudWxsLHIsbixuLm1vZGUsbCkpLnJlZj1uLnJlZixlLnJldHVybj1uLG4uY2hpbGQ9ZSk6KG4udGFnPTE1LG4udHlwZT1hLEVvKGUsbixhLHIsbCkpfWlmKGE9ZS5jaGlsZCwhKGUubGFuZXMmbCkpe3ZhciB1PWEubWVtb2l6ZWRQcm9wcztpZigodD1udWxsIT09KHQ9dC5jb21wYXJlKT90OmlyKSh1LHIpJiZlLnJlZj09PW4ucmVmKXJldHVybiBRbyhlLG4sbCl9cmV0dXJuIG4uZmxhZ3N8PTEsKGU9RnMoYSxyKSkucmVmPW4ucmVmLGUucmV0dXJuPW4sbi5jaGlsZD1lfWZ1bmN0aW9uIEVvKGUsbix0LHIsbCl7aWYobnVsbCE9PWUpe3ZhciBhPWUubWVtb2l6ZWRQcm9wcztpZihpcihhLHIpJiZlLnJlZj09PW4ucmVmKXtpZihrbz0hMSxuLnBlbmRpbmdQcm9wcz1yPWEsIShlLmxhbmVzJmwpKXJldHVybiBuLmxhbmVzPWUubGFuZXMsUW8oZSxuLGwpOzEzMTA3MiZlLmZsYWdzJiYoa289ITApfX1yZXR1cm4gTm8oZSxuLHQscixsKX1mdW5jdGlvbiBDbyhlLG4sdCl7dmFyIHI9bi5wZW5kaW5nUHJvcHMsbD1yLmNoaWxkcmVuLGE9bnVsbCE9PWU/ZS5tZW1vaXplZFN0YXRlOm51bGw7aWYoImhpZGRlbiI9PT1yLm1vZGUpaWYoMSZuLm1vZGUpe2lmKCEoMTA3Mzc0MTgyNCZ0KSlyZXR1cm4gZT1udWxsIT09YT9hLmJhc2VMYW5lc3x0OnQsbi5sYW5lcz1uLmNoaWxkTGFuZXM9MTA3Mzc0MTgyNCxuLm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczplLGNhY2hlUG9vbDpudWxsLHRyYW5zaXRpb25zOm51bGx9LG4udXBkYXRlUXVldWU9bnVsbCx6bChGaSxNaSksTWl8PWUsbnVsbDtuLm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczowLGNhY2hlUG9vbDpudWxsLHRyYW5zaXRpb25zOm51bGx9LHI9bnVsbCE9PWE/YS5iYXNlTGFuZXM6dCx6bChGaSxNaSksTWl8PXJ9ZWxzZSBuLm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczowLGNhY2hlUG9vbDpudWxsLHRyYW5zaXRpb25zOm51bGx9LHpsKEZpLE1pKSxNaXw9dDtlbHNlIG51bGwhPT1hPyhyPWEuYmFzZUxhbmVzfHQsbi5tZW1vaXplZFN0YXRlPW51bGwpOnI9dCx6bChGaSxNaSksTWl8PXI7cmV0dXJuIHdvKGUsbixsLHQpLG4uY2hpbGR9ZnVuY3Rpb24gem8oZSxuKXt2YXIgdD1uLnJlZjsobnVsbD09PWUmJm51bGwhPT10fHxudWxsIT09ZSYmZS5yZWYhPT10KSYmKG4uZmxhZ3N8PTUxMixuLmZsYWdzfD0yMDk3MTUyKX1mdW5jdGlvbiBObyhlLG4sdCxyLGwpe3ZhciBhPU1sKHQpP1RsOl9sLmN1cnJlbnQ7cmV0dXJuIGE9TGwobixhKSxFYShuLGwpLHQ9eHUoZSxuLHQscixhLGwpLHI9RXUoKSxudWxsPT09ZXx8a28/KGxhJiZyJiZlYShuKSxuLmZsYWdzfD0xLHdvKGUsbix0LGwpLG4uY2hpbGQpOihuLnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsbi5mbGFncyY9LTIwNTMsZS5sYW5lcyY9fmwsUW8oZSxuLGwpKX1mdW5jdGlvbiBfbyhlLG4sdCxyLGwpe2lmKE1sKHQpKXt2YXIgYT0hMDtJbChuKX1lbHNlIGE9ITE7aWYoRWEobixsKSxudWxsPT09bi5zdGF0ZU5vZGUpSG8oZSxuKSxIYShuLHQsciksamEobix0LHIsbCkscj0hMDtlbHNlIGlmKG51bGw9PT1lKXt2YXIgdT1uLnN0YXRlTm9kZSxvPW4ubWVtb2l6ZWRQcm9wczt1LnByb3BzPW87dmFyIGk9dS5jb250ZXh0LHM9dC5jb250ZXh0VHlwZTsib2JqZWN0Ij09dHlwZW9mIHMmJm51bGwhPT1zP3M9Q2Eocyk6cz1MbChuLHM9TWwodCk/VGw6X2wuY3VycmVudCk7dmFyIGM9dC5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMsZj0iZnVuY3Rpb24iPT10eXBlb2YgY3x8ImZ1bmN0aW9uIj09dHlwZW9mIHUuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGU7Znx8ImZ1bmN0aW9uIiE9dHlwZW9mIHUuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMmJiJmdW5jdGlvbiIhPXR5cGVvZiB1LmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHN8fChvIT09cnx8aSE9PXMpJiZRYShuLHUscixzKSxUYT0hMTt2YXIgZD1uLm1lbW9pemVkU3RhdGU7dS5zdGF0ZT1kLE9hKG4scix1LGwpLGk9bi5tZW1vaXplZFN0YXRlLG8hPT1yfHxkIT09aXx8UGwuY3VycmVudHx8VGE/KCJmdW5jdGlvbiI9PXR5cGVvZiBjJiYoQWEobix0LGMsciksaT1uLm1lbW9pemVkU3RhdGUpLChvPVRhfHxXYShuLHQsbyxyLGQsaSxzKSk/KGZ8fCJmdW5jdGlvbiIhPXR5cGVvZiB1LlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQmJiJmdW5jdGlvbiIhPXR5cGVvZiB1LmNvbXBvbmVudFdpbGxNb3VudHx8KCJmdW5jdGlvbiI9PXR5cGVvZiB1LmNvbXBvbmVudFdpbGxNb3VudCYmdS5jb21wb25lbnRXaWxsTW91bnQoKSwiZnVuY3Rpb24iPT10eXBlb2YgdS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JiZ1LlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSksImZ1bmN0aW9uIj09dHlwZW9mIHUuY29tcG9uZW50RGlkTW91bnQmJihuLmZsYWdzfD00MTk0MzA4KSk6KCJmdW5jdGlvbiI9PXR5cGVvZiB1LmNvbXBvbmVudERpZE1vdW50JiYobi5mbGFnc3w9NDE5NDMwOCksbi5tZW1vaXplZFByb3BzPXIsbi5tZW1vaXplZFN0YXRlPWkpLHUucHJvcHM9cix1LnN0YXRlPWksdS5jb250ZXh0PXMscj1vKTooImZ1bmN0aW9uIj09dHlwZW9mIHUuY29tcG9uZW50RGlkTW91bnQmJihuLmZsYWdzfD00MTk0MzA4KSxyPSExKX1lbHNle3U9bi5zdGF0ZU5vZGUsTWEoZSxuKSxvPW4ubWVtb2l6ZWRQcm9wcyxzPW4udHlwZT09PW4uZWxlbWVudFR5cGU/bzpnYShuLnR5cGUsbyksdS5wcm9wcz1zLGY9bi5wZW5kaW5nUHJvcHMsZD11LmNvbnRleHQsIm9iamVjdCI9PXR5cGVvZihpPXQuY29udGV4dFR5cGUpJiZudWxsIT09aT9pPUNhKGkpOmk9TGwobixpPU1sKHQpP1RsOl9sLmN1cnJlbnQpO3ZhciBwPXQuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzCjsoYz0iZnVuY3Rpb24iPT10eXBlb2YgcHx8ImZ1bmN0aW9uIj09dHlwZW9mIHUuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUpfHwiZnVuY3Rpb24iIT10eXBlb2YgdS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyYmImZ1bmN0aW9uIiE9dHlwZW9mIHUuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc3x8KG8hPT1mfHxkIT09aSkmJlFhKG4sdSxyLGkpLFRhPSExLGQ9bi5tZW1vaXplZFN0YXRlLHUuc3RhdGU9ZCxPYShuLHIsdSxsKTt2YXIgbT1uLm1lbW9pemVkU3RhdGU7byE9PWZ8fGQhPT1tfHxQbC5jdXJyZW50fHxUYT8oImZ1bmN0aW9uIj09dHlwZW9mIHAmJihBYShuLHQscCxyKSxtPW4ubWVtb2l6ZWRTdGF0ZSksKHM9VGF8fFdhKG4sdCxzLHIsZCxtLGkpfHwhMSk/KGN8fCJmdW5jdGlvbiIhPXR5cGVvZiB1LlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlJiYiZnVuY3Rpb24iIT10eXBlb2YgdS5jb21wb25lbnRXaWxsVXBkYXRlfHwoImZ1bmN0aW9uIj09dHlwZW9mIHUuY29tcG9uZW50V2lsbFVwZGF0ZSYmdS5jb21wb25lbnRXaWxsVXBkYXRlKHIsbSxpKSwiZnVuY3Rpb24iPT10eXBlb2YgdS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZSYmdS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZShyLG0saSkpLCJmdW5jdGlvbiI9PXR5cGVvZiB1LmNvbXBvbmVudERpZFVwZGF0ZSYmKG4uZmxhZ3N8PTQpLCJmdW5jdGlvbiI9PXR5cGVvZiB1LmdldFNuYXBzaG90QmVmb3JlVXBkYXRlJiYobi5mbGFnc3w9MTAyNCkpOigiZnVuY3Rpb24iIT10eXBlb2YgdS5jb21wb25lbnREaWRVcGRhdGV8fG89PT1lLm1lbW9pemVkUHJvcHMmJmQ9PT1lLm1lbW9pemVkU3RhdGV8fChuLmZsYWdzfD00KSwiZnVuY3Rpb24iIT10eXBlb2YgdS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZXx8bz09PWUubWVtb2l6ZWRQcm9wcyYmZD09PWUubWVtb2l6ZWRTdGF0ZXx8KG4uZmxhZ3N8PTEwMjQpLG4ubWVtb2l6ZWRQcm9wcz1yLG4ubWVtb2l6ZWRTdGF0ZT1tKSx1LnByb3BzPXIsdS5zdGF0ZT1tLHUuY29udGV4dD1pLHI9cyk6KCJmdW5jdGlvbiIhPXR5cGVvZiB1LmNvbXBvbmVudERpZFVwZGF0ZXx8bz09PWUubWVtb2l6ZWRQcm9wcyYmZD09PWUubWVtb2l6ZWRTdGF0ZXx8KG4uZmxhZ3N8PTQpLCJmdW5jdGlvbiIhPXR5cGVvZiB1LmdldFNuYXBzaG90QmVmb3JlVXBkYXRlfHxvPT09ZS5tZW1vaXplZFByb3BzJiZkPT09ZS5tZW1vaXplZFN0YXRlfHwobi5mbGFnc3w9MTAyNCkscj0hMSl9cmV0dXJuIFBvKGUsbix0LHIsYSxsKX1mdW5jdGlvbiBQbyhlLG4sdCxyLGwsYSl7em8oZSxuKTt2YXIgdT0hISgxMjgmbi5mbGFncyk7aWYoIXImJiF1KXJldHVybiBsJiZPbChuLHQsITEpLFFvKGUsbixhKTtyPW4uc3RhdGVOb2RlLGJvLmN1cnJlbnQ9bjt2YXIgbz11JiYiZnVuY3Rpb24iIT10eXBlb2YgdC5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I/bnVsbDpyLnJlbmRlcigpO3JldHVybiBuLmZsYWdzfD0xLG51bGwhPT1lJiZ1PyhuLmNoaWxkPVhhKG4sZS5jaGlsZCxudWxsLGEpLG4uY2hpbGQ9WGEobixudWxsLG8sYSkpOndvKGUsbixvLGEpLG4ubWVtb2l6ZWRTdGF0ZT1yLnN0YXRlLGwmJk9sKG4sdCwhMCksbi5jaGlsZH1mdW5jdGlvbiBUbyhlKXt2YXIgbj1lLnN0YXRlTm9kZTtuLnBlbmRpbmdDb250ZXh0P1JsKDAsbi5wZW5kaW5nQ29udGV4dCxuLnBlbmRpbmdDb250ZXh0IT09bi5jb250ZXh0KTpuLmNvbnRleHQmJlJsKDAsbi5jb250ZXh0LCExKSxydShlLG4uY29udGFpbmVySW5mbyl9ZnVuY3Rpb24gTG8oZSxuLHQscixsKXtyZXR1cm4gcGEoKSxtYShsKSxuLmZsYWdzfD0yNTYsd28oZSxuLHQsciksbi5jaGlsZH12YXIgTW8sRm8sUm8sRG89e2RlaHlkcmF0ZWQ6bnVsbCx0cmVlQ29udGV4dDpudWxsLHJldHJ5TGFuZTowfTtmdW5jdGlvbiBJbyhlKXtyZXR1cm57YmFzZUxhbmVzOmUsY2FjaGVQb29sOm51bGwsdHJhbnNpdGlvbnM6bnVsbH19ZnVuY3Rpb24gT28oZSxuLHQpe3ZhciByLGw9bi5wZW5kaW5nUHJvcHMsdT1vdS5jdXJyZW50LG89ITEsaT0hISgxMjgmbi5mbGFncyk7aWYoKHI9aSl8fChyPShudWxsPT09ZXx8bnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSkmJiEhKDImdSkpLHI/KG89ITAsbi5mbGFncyY9LTEyOSk6bnVsbCE9PWUmJm51bGw9PT1lLm1lbW9pemVkU3RhdGV8fCh1fD0xKSx6bChvdSwxJnUpLG51bGw9PT1lKXJldHVybiBzYShuKSxudWxsIT09KGU9bi5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PShlPWUuZGVoeWRyYXRlZCk/KDEmbi5tb2RlPyIkISI9PT1lLmRhdGE/bi5sYW5lcz04Om4ubGFuZXM9MTA3Mzc0MTgyNDpuLmxhbmVzPTEsbnVsbCk6KGk9bC5jaGlsZHJlbixlPWwuZmFsbGJhY2ssbz8obD1uLm1vZGUsbz1uLmNoaWxkLGk9e21vZGU6ImhpZGRlbiIsY2hpbGRyZW46aX0sMSZsfHxudWxsPT09bz9vPUlzKGksbCwwLG51bGwpOihvLmNoaWxkTGFuZXM9MCxvLnBlbmRpbmdQcm9wcz1pKSxlPURzKGUsbCx0LG51bGwpLG8ucmV0dXJuPW4sZS5yZXR1cm49bixvLnNpYmxpbmc9ZSxuLmNoaWxkPW8sbi5jaGlsZC5tZW1vaXplZFN0YXRlPUlvKHQpLG4ubWVtb2l6ZWRTdGF0ZT1EbyxlKTpVbyhuLGkpKTtpZihudWxsIT09KHU9ZS5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PShyPXUuZGVoeWRyYXRlZCkpcmV0dXJuIGZ1bmN0aW9uKGUsbix0LHIsbCx1LG8pe2lmKHQpcmV0dXJuIDI1NiZuLmZsYWdzPyhuLmZsYWdzJj0tMjU3LFZvKGUsbixvLHI9Y28oRXJyb3IoYSg0MjIpKSkpKTpudWxsIT09bi5tZW1vaXplZFN0YXRlPyhuLmNoaWxkPWUuY2hpbGQsbi5mbGFnc3w9MTI4LG51bGwpOih1PXIuZmFsbGJhY2ssbD1uLm1vZGUscj1Jcyh7bW9kZToidmlzaWJsZSIsY2hpbGRyZW46ci5jaGlsZHJlbn0sbCwwLG51bGwpLCh1PURzKHUsbCxvLG51bGwpKS5mbGFnc3w9MixyLnJldHVybj1uLHUucmV0dXJuPW4sci5zaWJsaW5nPXUsbi5jaGlsZD1yLDEmbi5tb2RlJiZYYShuLGUuY2hpbGQsbnVsbCxvKSxuLmNoaWxkLm1lbW9pemVkU3RhdGU9SW8obyksbi5tZW1vaXplZFN0YXRlPURvLHUpO2lmKCEoMSZuLm1vZGUpKXJldHVybiBWbyhlLG4sbyxudWxsKTtpZigiJCEiPT09bC5kYXRhKXsKaWYocj1sLm5leHRTaWJsaW5nJiZsLm5leHRTaWJsaW5nLmRhdGFzZXQpdmFyIGk9ci5kZ3N0O3JldHVybiByPWksVm8oZSxuLG8scj1jbyh1PUVycm9yKGEoNDE5KSkscix2b2lkIDApKX1pZihpPSEhKG8mZS5jaGlsZExhbmVzKSxrb3x8aSl7aWYobnVsbCE9PShyPVBpKSl7c3dpdGNoKG8mLW8pe2Nhc2UgNDpsPTI7YnJlYWs7Y2FzZSAxNjpsPTg7YnJlYWs7Y2FzZSA2NDpjYXNlIDEyODpjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6Y2FzZSAyNjIxNDQ6Y2FzZSA1MjQyODg6Y2FzZSAxMDQ4NTc2OmNhc2UgMjA5NzE1MjpjYXNlIDQxOTQzMDQ6Y2FzZSA4Mzg4NjA4OmNhc2UgMTY3NzcyMTY6Y2FzZSAzMzU1NDQzMjpjYXNlIDY3MTA4ODY0Omw9MzI7YnJlYWs7Y2FzZSA1MzY4NzA5MTI6bD0yNjg0MzU0NTY7YnJlYWs7ZGVmYXVsdDpsPTB9MCE9PShsPWwmKHIuc3VzcGVuZGVkTGFuZXN8byk/MDpsKSYmbCE9PXUucmV0cnlMYW5lJiYodS5yZXRyeUxhbmU9bCxQYShlLGwpLHRzKHIsZSxsLC0xKSl9cmV0dXJuIGhzKCksVm8oZSxuLG8scj1jbyhFcnJvcihhKDQyMSkpKSl9cmV0dXJuIiQ/Ij09PWwuZGF0YT8obi5mbGFnc3w9MTI4LG4uY2hpbGQ9ZS5jaGlsZCxuPU5zLmJpbmQobnVsbCxlKSxsLl9yZWFjdFJldHJ5PW4sbnVsbCk6KGU9dS50cmVlQ29udGV4dCxyYT1zbChsLm5leHRTaWJsaW5nKSx0YT1uLGxhPSEwLGFhPW51bGwsbnVsbCE9PWUmJihxbFtLbCsrXT1YbCxxbFtLbCsrXT1HbCxxbFtLbCsrXT1ZbCxYbD1lLmlkLEdsPWUub3ZlcmZsb3csWWw9biksbj1VbyhuLHIuY2hpbGRyZW4pLG4uZmxhZ3N8PTQwOTYsbil9KGUsbixpLGwscix1LHQpO2lmKG8pe289bC5mYWxsYmFjayxpPW4ubW9kZSxyPSh1PWUuY2hpbGQpLnNpYmxpbmc7dmFyIHM9e21vZGU6ImhpZGRlbiIsY2hpbGRyZW46bC5jaGlsZHJlbn07cmV0dXJuIDEmaXx8bi5jaGlsZD09PXU/KGw9RnModSxzKSkuc3VidHJlZUZsYWdzPTE0NjgwMDY0JnUuc3VidHJlZUZsYWdzOigobD1uLmNoaWxkKS5jaGlsZExhbmVzPTAsbC5wZW5kaW5nUHJvcHM9cyxuLmRlbGV0aW9ucz1udWxsKSxudWxsIT09cj9vPUZzKHIsbyk6KG89RHMobyxpLHQsbnVsbCkpLmZsYWdzfD0yLG8ucmV0dXJuPW4sbC5yZXR1cm49bixsLnNpYmxpbmc9byxuLmNoaWxkPWwsbD1vLG89bi5jaGlsZCxpPW51bGw9PT0oaT1lLmNoaWxkLm1lbW9pemVkU3RhdGUpP0lvKHQpOntiYXNlTGFuZXM6aS5iYXNlTGFuZXN8dCxjYWNoZVBvb2w6bnVsbCx0cmFuc2l0aW9uczppLnRyYW5zaXRpb25zfSxvLm1lbW9pemVkU3RhdGU9aSxvLmNoaWxkTGFuZXM9ZS5jaGlsZExhbmVzJn50LG4ubWVtb2l6ZWRTdGF0ZT1EbyxsfXJldHVybiBlPShvPWUuY2hpbGQpLnNpYmxpbmcsbD1GcyhvLHttb2RlOiJ2aXNpYmxlIixjaGlsZHJlbjpsLmNoaWxkcmVufSksISgxJm4ubW9kZSkmJihsLmxhbmVzPXQpLGwucmV0dXJuPW4sbC5zaWJsaW5nPW51bGwsbnVsbCE9PWUmJihudWxsPT09KHQ9bi5kZWxldGlvbnMpPyhuLmRlbGV0aW9ucz1bZV0sbi5mbGFnc3w9MTYpOnQucHVzaChlKSksbi5jaGlsZD1sLG4ubWVtb2l6ZWRTdGF0ZT1udWxsLGx9ZnVuY3Rpb24gVW8oZSxuKXtyZXR1cm4obj1Jcyh7bW9kZToidmlzaWJsZSIsY2hpbGRyZW46bn0sZS5tb2RlLDAsbnVsbCkpLnJldHVybj1lLGUuY2hpbGQ9bn1mdW5jdGlvbiBWbyhlLG4sdCxyKXtyZXR1cm4gbnVsbCE9PXImJm1hKHIpLFhhKG4sZS5jaGlsZCxudWxsLHQpLChlPVVvKG4sbi5wZW5kaW5nUHJvcHMuY2hpbGRyZW4pKS5mbGFnc3w9MixuLm1lbW9pemVkU3RhdGU9bnVsbCxlfWZ1bmN0aW9uIEFvKGUsbix0KXtlLmxhbmVzfD1uO3ZhciByPWUuYWx0ZXJuYXRlO251bGwhPT1yJiYoci5sYW5lc3w9bikseGEoZS5yZXR1cm4sbix0KX1mdW5jdGlvbiBCbyhlLG4sdCxyLGwpe3ZhciBhPWUubWVtb2l6ZWRTdGF0ZTtudWxsPT09YT9lLm1lbW9pemVkU3RhdGU9e2lzQmFja3dhcmRzOm4scmVuZGVyaW5nOm51bGwscmVuZGVyaW5nU3RhcnRUaW1lOjAsbGFzdDpyLHRhaWw6dCx0YWlsTW9kZTpsfTooYS5pc0JhY2t3YXJkcz1uLGEucmVuZGVyaW5nPW51bGwsYS5yZW5kZXJpbmdTdGFydFRpbWU9MCxhLmxhc3Q9cixhLnRhaWw9dCxhLnRhaWxNb2RlPWwpfWZ1bmN0aW9uIFdvKGUsbix0KXt2YXIgcj1uLnBlbmRpbmdQcm9wcyxsPXIucmV2ZWFsT3JkZXIsYT1yLnRhaWw7aWYod28oZSxuLHIuY2hpbGRyZW4sdCksMiYocj1vdS5jdXJyZW50KSlyPTEmcnwyLG4uZmxhZ3N8PTEyODtlbHNle2lmKG51bGwhPT1lJiYxMjgmZS5mbGFncyllOmZvcihlPW4uY2hpbGQ7bnVsbCE9PWU7KXtpZigxMz09PWUudGFnKW51bGwhPT1lLm1lbW9pemVkU3RhdGUmJkFvKGUsdCxuKTtlbHNlIGlmKDE5PT09ZS50YWcpQW8oZSx0LG4pO2Vsc2UgaWYobnVsbCE9PWUuY2hpbGQpe2UuY2hpbGQucmV0dXJuPWUsZT1lLmNoaWxkO2NvbnRpbnVlfWlmKGU9PT1uKWJyZWFrIGU7Zm9yKDtudWxsPT09ZS5zaWJsaW5nOyl7aWYobnVsbD09PWUucmV0dXJufHxlLnJldHVybj09PW4pYnJlYWsgZTtlPWUucmV0dXJufWUuc2libGluZy5yZXR1cm49ZS5yZXR1cm4sZT1lLnNpYmxpbmd9ciY9MX1pZih6bChvdSxyKSwxJm4ubW9kZSlzd2l0Y2gobCl7Y2FzZSJmb3J3YXJkcyI6Zm9yKHQ9bi5jaGlsZCxsPW51bGw7bnVsbCE9PXQ7KW51bGwhPT0oZT10LmFsdGVybmF0ZSkmJm51bGw9PT1pdShlKSYmKGw9dCksdD10LnNpYmxpbmc7bnVsbD09PSh0PWwpPyhsPW4uY2hpbGQsbi5jaGlsZD1udWxsKToobD10LnNpYmxpbmcsdC5zaWJsaW5nPW51bGwpLEJvKG4sITEsbCx0LGEpO2JyZWFrO2Nhc2UiYmFja3dhcmRzIjpmb3IodD1udWxsLGw9bi5jaGlsZCxuLmNoaWxkPW51bGw7bnVsbCE9PWw7KXtpZihudWxsIT09KGU9bC5hbHRlcm5hdGUpJiZudWxsPT09aXUoZSkpe24uY2hpbGQ9bDticmVha31lPWwuc2libGluZyxsLnNpYmxpbmc9dCx0PWwsbD1lfUJvKG4sITAsdCxudWxsLGEpO2JyZWFrO2Nhc2UidG9nZXRoZXIiOgpCbyhuLCExLG51bGwsbnVsbCx2b2lkIDApO2JyZWFrO2RlZmF1bHQ6bi5tZW1vaXplZFN0YXRlPW51bGx9ZWxzZSBuLm1lbW9pemVkU3RhdGU9bnVsbDtyZXR1cm4gbi5jaGlsZH1mdW5jdGlvbiBIbyhlLG4peyEoMSZuLm1vZGUpJiZudWxsIT09ZSYmKGUuYWx0ZXJuYXRlPW51bGwsbi5hbHRlcm5hdGU9bnVsbCxuLmZsYWdzfD0yKX1mdW5jdGlvbiBRbyhlLG4sdCl7aWYobnVsbCE9PWUmJihuLmRlcGVuZGVuY2llcz1lLmRlcGVuZGVuY2llcyksSWl8PW4ubGFuZXMsISh0Jm4uY2hpbGRMYW5lcykpcmV0dXJuIG51bGw7aWYobnVsbCE9PWUmJm4uY2hpbGQhPT1lLmNoaWxkKXRocm93IEVycm9yKGEoMTUzKSk7aWYobnVsbCE9PW4uY2hpbGQpe2Zvcih0PUZzKGU9bi5jaGlsZCxlLnBlbmRpbmdQcm9wcyksbi5jaGlsZD10LHQucmV0dXJuPW47bnVsbCE9PWUuc2libGluZzspZT1lLnNpYmxpbmcsKHQ9dC5zaWJsaW5nPUZzKGUsZS5wZW5kaW5nUHJvcHMpKS5yZXR1cm49bjt0LnNpYmxpbmc9bnVsbH1yZXR1cm4gbi5jaGlsZH1mdW5jdGlvbiBqbyhlLG4pe2lmKCFsYSlzd2l0Y2goZS50YWlsTW9kZSl7Y2FzZSJoaWRkZW4iOm49ZS50YWlsO2Zvcih2YXIgdD1udWxsO251bGwhPT1uOyludWxsIT09bi5hbHRlcm5hdGUmJih0PW4pLG49bi5zaWJsaW5nO251bGw9PT10P2UudGFpbD1udWxsOnQuc2libGluZz1udWxsO2JyZWFrO2Nhc2UiY29sbGFwc2VkIjp0PWUudGFpbDtmb3IodmFyIHI9bnVsbDtudWxsIT09dDspbnVsbCE9PXQuYWx0ZXJuYXRlJiYocj10KSx0PXQuc2libGluZztudWxsPT09cj9ufHxudWxsPT09ZS50YWlsP2UudGFpbD1udWxsOmUudGFpbC5zaWJsaW5nPW51bGw6ci5zaWJsaW5nPW51bGx9fWZ1bmN0aW9uICRvKGUpe3ZhciBuPW51bGwhPT1lLmFsdGVybmF0ZSYmZS5hbHRlcm5hdGUuY2hpbGQ9PT1lLmNoaWxkLHQ9MCxyPTA7aWYobilmb3IodmFyIGw9ZS5jaGlsZDtudWxsIT09bDspdHw9bC5sYW5lc3xsLmNoaWxkTGFuZXMscnw9MTQ2ODAwNjQmbC5zdWJ0cmVlRmxhZ3Mscnw9MTQ2ODAwNjQmbC5mbGFncyxsLnJldHVybj1lLGw9bC5zaWJsaW5nO2Vsc2UgZm9yKGw9ZS5jaGlsZDtudWxsIT09bDspdHw9bC5sYW5lc3xsLmNoaWxkTGFuZXMscnw9bC5zdWJ0cmVlRmxhZ3Mscnw9bC5mbGFncyxsLnJldHVybj1lLGw9bC5zaWJsaW5nO3JldHVybiBlLnN1YnRyZWVGbGFnc3w9cixlLmNoaWxkTGFuZXM9dCxufWZ1bmN0aW9uIHFvKGUsbix0KXt2YXIgcj1uLnBlbmRpbmdQcm9wcztzd2l0Y2gobmEobiksbi50YWcpe2Nhc2UgMjpjYXNlIDE2OmNhc2UgMTU6Y2FzZSAwOmNhc2UgMTE6Y2FzZSA3OmNhc2UgODpjYXNlIDEyOmNhc2UgOTpjYXNlIDE0OnJldHVybiAkbyhuKSxudWxsO2Nhc2UgMTpjYXNlIDE3OnJldHVybiBNbChuLnR5cGUpJiZGbCgpLCRvKG4pLG51bGw7Y2FzZSAzOnJldHVybiByPW4uc3RhdGVOb2RlLGx1KCksQ2woUGwpLENsKF9sKSxjdSgpLHIucGVuZGluZ0NvbnRleHQmJihyLmNvbnRleHQ9ci5wZW5kaW5nQ29udGV4dCxyLnBlbmRpbmdDb250ZXh0PW51bGwpLG51bGwhPT1lJiZudWxsIT09ZS5jaGlsZHx8KGZhKG4pP24uZmxhZ3N8PTQ6bnVsbD09PWV8fGUubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQmJiEoMjU2Jm4uZmxhZ3MpfHwobi5mbGFnc3w9MTAyNCxudWxsIT09YWEmJih1cyhhYSksYWE9bnVsbCkpKSwkbyhuKSxudWxsO2Nhc2UgNTp1dShuKTt2YXIgbD10dShudS5jdXJyZW50KTtpZih0PW4udHlwZSxudWxsIT09ZSYmbnVsbCE9bi5zdGF0ZU5vZGUpRm8oZSxuLHQsciksZS5yZWYhPT1uLnJlZiYmKG4uZmxhZ3N8PTUxMixuLmZsYWdzfD0yMDk3MTUyKTtlbHNle2lmKCFyKXtpZihudWxsPT09bi5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IoYSgxNjYpKTtyZXR1cm4gJG8obiksbnVsbH1pZihlPXR1KEphLmN1cnJlbnQpLGZhKG4pKXtyPW4uc3RhdGVOb2RlLHQ9bi50eXBlO3ZhciB1PW4ubWVtb2l6ZWRQcm9wcztzd2l0Y2gocltkbF09bixyW3BsXT11LGU9ISEoMSZuLm1vZGUpLHQpe2Nhc2UiZGlhbG9nIjpWcigiY2FuY2VsIixyKSxWcigiY2xvc2UiLHIpO2JyZWFrO2Nhc2UiaWZyYW1lIjpjYXNlIm9iamVjdCI6Y2FzZSJlbWJlZCI6VnIoImxvYWQiLHIpO2JyZWFrO2Nhc2UidmlkZW8iOmNhc2UiYXVkaW8iOmZvcihsPTA7bDxEci5sZW5ndGg7bCsrKVZyKERyW2xdLHIpO2JyZWFrO2Nhc2Uic291cmNlIjpWcigiZXJyb3IiLHIpO2JyZWFrO2Nhc2UiaW1nIjpjYXNlImltYWdlIjpjYXNlImxpbmsiOlZyKCJlcnJvciIsciksVnIoImxvYWQiLHIpO2JyZWFrO2Nhc2UiZGV0YWlscyI6VnIoInRvZ2dsZSIscik7YnJlYWs7Y2FzZSJpbnB1dCI6WChyLHUpLFZyKCJpbnZhbGlkIixyKTticmVhaztjYXNlInNlbGVjdCI6ci5fd3JhcHBlclN0YXRlPXt3YXNNdWx0aXBsZTohIXUubXVsdGlwbGV9LFZyKCJpbnZhbGlkIixyKTticmVhaztjYXNlInRleHRhcmVhIjpsZShyLHUpLFZyKCJpbnZhbGlkIixyKX1mb3IodmFyIGkgaW4geWUodCx1KSxsPW51bGwsdSlpZih1Lmhhc093blByb3BlcnR5KGkpKXt2YXIgcz11W2ldOyJjaGlsZHJlbiI9PT1pPyJzdHJpbmciPT10eXBlb2Ygcz9yLnRleHRDb250ZW50IT09cyYmKCEwIT09dS5zdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmcmJlpyKHIudGV4dENvbnRlbnQscyxlKSxsPVsiY2hpbGRyZW4iLHNdKToibnVtYmVyIj09dHlwZW9mIHMmJnIudGV4dENvbnRlbnQhPT0iIitzJiYoITAhPT11LnN1cHByZXNzSHlkcmF0aW9uV2FybmluZyYmWnIoci50ZXh0Q29udGVudCxzLGUpLGw9WyJjaGlsZHJlbiIsIiIrc10pOm8uaGFzT3duUHJvcGVydHkoaSkmJm51bGwhPXMmJiJvblNjcm9sbCI9PT1pJiZWcigic2Nyb2xsIixyKX1zd2l0Y2godCl7Y2FzZSJpbnB1dCI6JChyKSxKKHIsdSwhMCk7YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6JChyKSx1ZShyKTticmVhaztjYXNlInNlbGVjdCI6Y2FzZSJvcHRpb24iOmJyZWFrO2RlZmF1bHQ6ImZ1bmN0aW9uIj09dHlwZW9mIHUub25DbGljayYmKHIub25jbGljaz1Kcil9cj1sLG4udXBkYXRlUXVldWU9cixudWxsIT09ciYmKG4uZmxhZ3N8PTQpfWVsc2V7Cmk9OT09PWwubm9kZVR5cGU/bDpsLm93bmVyRG9jdW1lbnQsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPT09ZSYmKGU9b2UodCkpLCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj09PWU/InNjcmlwdCI9PT10PygoZT1pLmNyZWF0ZUVsZW1lbnQoImRpdiIpKS5pbm5lckhUTUw9IjxzY3JpcHQ+PFwvc2NyaXB0PiIsZT1lLnJlbW92ZUNoaWxkKGUuZmlyc3RDaGlsZCkpOiJzdHJpbmciPT10eXBlb2Ygci5pcz9lPWkuY3JlYXRlRWxlbWVudCh0LHtpczpyLmlzfSk6KGU9aS5jcmVhdGVFbGVtZW50KHQpLCJzZWxlY3QiPT09dCYmKGk9ZSxyLm11bHRpcGxlP2kubXVsdGlwbGU9ITA6ci5zaXplJiYoaS5zaXplPXIuc2l6ZSkpKTplPWkuY3JlYXRlRWxlbWVudE5TKGUsdCksZVtkbF09bixlW3BsXT1yLE1vKGUsbiksbi5zdGF0ZU5vZGU9ZTtlOntzd2l0Y2goaT1iZSh0LHIpLHQpe2Nhc2UiZGlhbG9nIjpWcigiY2FuY2VsIixlKSxWcigiY2xvc2UiLGUpLGw9cjticmVhaztjYXNlImlmcmFtZSI6Y2FzZSJvYmplY3QiOmNhc2UiZW1iZWQiOlZyKCJsb2FkIixlKSxsPXI7YnJlYWs7Y2FzZSJ2aWRlbyI6Y2FzZSJhdWRpbyI6Zm9yKGw9MDtsPERyLmxlbmd0aDtsKyspVnIoRHJbbF0sZSk7bD1yO2JyZWFrO2Nhc2Uic291cmNlIjpWcigiZXJyb3IiLGUpLGw9cjticmVhaztjYXNlImltZyI6Y2FzZSJpbWFnZSI6Y2FzZSJsaW5rIjpWcigiZXJyb3IiLGUpLFZyKCJsb2FkIixlKSxsPXI7YnJlYWs7Y2FzZSJkZXRhaWxzIjpWcigidG9nZ2xlIixlKSxsPXI7YnJlYWs7Y2FzZSJpbnB1dCI6WChlLHIpLGw9WShlLHIpLFZyKCJpbnZhbGlkIixlKTticmVhaztjYXNlIm9wdGlvbiI6ZGVmYXVsdDpsPXI7YnJlYWs7Y2FzZSJzZWxlY3QiOmUuX3dyYXBwZXJTdGF0ZT17d2FzTXVsdGlwbGU6ISFyLm11bHRpcGxlfSxsPU8oe30scix7dmFsdWU6dm9pZCAwfSksVnIoImludmFsaWQiLGUpO2JyZWFrO2Nhc2UidGV4dGFyZWEiOmxlKGUsciksbD1yZShlLHIpLFZyKCJpbnZhbGlkIixlKX1mb3IodSBpbiB5ZSh0LGwpLHM9bClpZihzLmhhc093blByb3BlcnR5KHUpKXt2YXIgYz1zW3VdOyJzdHlsZSI9PT11P2dlKGUsYyk6ImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj09PXU/bnVsbCE9KGM9Yz9jLl9faHRtbDp2b2lkIDApJiZmZShlLGMpOiJjaGlsZHJlbiI9PT11PyJzdHJpbmciPT10eXBlb2YgYz8oInRleHRhcmVhIiE9PXR8fCIiIT09YykmJmRlKGUsYyk6Im51bWJlciI9PXR5cGVvZiBjJiZkZShlLCIiK2MpOiJzdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmciIT09dSYmInN1cHByZXNzSHlkcmF0aW9uV2FybmluZyIhPT11JiYiYXV0b0ZvY3VzIiE9PXUmJihvLmhhc093blByb3BlcnR5KHUpP251bGwhPWMmJiJvblNjcm9sbCI9PT11JiZWcigic2Nyb2xsIixlKTpudWxsIT1jJiZiKGUsdSxjLGkpKX1zd2l0Y2godCl7Y2FzZSJpbnB1dCI6JChlKSxKKGUsciwhMSk7YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6JChlKSx1ZShlKTticmVhaztjYXNlIm9wdGlvbiI6bnVsbCE9ci52YWx1ZSYmZS5zZXRBdHRyaWJ1dGUoInZhbHVlIiwiIitRKHIudmFsdWUpKTticmVhaztjYXNlInNlbGVjdCI6ZS5tdWx0aXBsZT0hIXIubXVsdGlwbGUsbnVsbCE9KHU9ci52YWx1ZSk/dGUoZSwhIXIubXVsdGlwbGUsdSwhMSk6bnVsbCE9ci5kZWZhdWx0VmFsdWUmJnRlKGUsISFyLm11bHRpcGxlLHIuZGVmYXVsdFZhbHVlLCEwKTticmVhaztkZWZhdWx0OiJmdW5jdGlvbiI9PXR5cGVvZiBsLm9uQ2xpY2smJihlLm9uY2xpY2s9SnIpfXN3aXRjaCh0KXtjYXNlImJ1dHRvbiI6Y2FzZSJpbnB1dCI6Y2FzZSJzZWxlY3QiOmNhc2UidGV4dGFyZWEiOnI9ISFyLmF1dG9Gb2N1czticmVhayBlO2Nhc2UiaW1nIjpyPSEwO2JyZWFrIGU7ZGVmYXVsdDpyPSExfX1yJiYobi5mbGFnc3w9NCl9bnVsbCE9PW4ucmVmJiYobi5mbGFnc3w9NTEyLG4uZmxhZ3N8PTIwOTcxNTIpfXJldHVybiAkbyhuKSxudWxsO2Nhc2UgNjppZihlJiZudWxsIT1uLnN0YXRlTm9kZSlSbygwLG4sZS5tZW1vaXplZFByb3BzLHIpO2Vsc2V7aWYoInN0cmluZyIhPXR5cGVvZiByJiZudWxsPT09bi5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IoYSgxNjYpKTtpZih0PXR1KG51LmN1cnJlbnQpLHR1KEphLmN1cnJlbnQpLGZhKG4pKXtpZihyPW4uc3RhdGVOb2RlLHQ9bi5tZW1vaXplZFByb3BzLHJbZGxdPW4sKHU9ci5ub2RlVmFsdWUhPT10KSYmbnVsbCE9PShlPXRhKSlzd2l0Y2goZS50YWcpe2Nhc2UgMzpacihyLm5vZGVWYWx1ZSx0LCEhKDEmZS5tb2RlKSk7YnJlYWs7Y2FzZSA1OiEwIT09ZS5tZW1vaXplZFByb3BzLnN1cHByZXNzSHlkcmF0aW9uV2FybmluZyYmWnIoci5ub2RlVmFsdWUsdCwhISgxJmUubW9kZSkpfXUmJihuLmZsYWdzfD00KX1lbHNlKHI9KDk9PT10Lm5vZGVUeXBlP3Q6dC5vd25lckRvY3VtZW50KS5jcmVhdGVUZXh0Tm9kZShyKSlbZGxdPW4sbi5zdGF0ZU5vZGU9cn1yZXR1cm4gJG8obiksbnVsbDtjYXNlIDEzOmlmKENsKG91KSxyPW4ubWVtb2l6ZWRTdGF0ZSxudWxsPT09ZXx8bnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSYmbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZS5kZWh5ZHJhdGVkKXtpZihsYSYmbnVsbCE9PXJhJiYxJm4ubW9kZSYmISgxMjgmbi5mbGFncykpZGEoKSxwYSgpLG4uZmxhZ3N8PTk4NTYwLHU9ITE7ZWxzZSBpZih1PWZhKG4pLG51bGwhPT1yJiZudWxsIT09ci5kZWh5ZHJhdGVkKXtpZihudWxsPT09ZSl7aWYoIXUpdGhyb3cgRXJyb3IoYSgzMTgpKTtpZighKHU9bnVsbCE9PSh1PW4ubWVtb2l6ZWRTdGF0ZSk/dS5kZWh5ZHJhdGVkOm51bGwpKXRocm93IEVycm9yKGEoMzE3KSk7dVtkbF09bn1lbHNlIHBhKCksISgxMjgmbi5mbGFncykmJihuLm1lbW9pemVkU3RhdGU9bnVsbCksbi5mbGFnc3w9NDskbyhuKSx1PSExfWVsc2UgbnVsbCE9PWFhJiYodXMoYWEpLGFhPW51bGwpLHU9ITA7aWYoIXUpcmV0dXJuIDY1NTM2Jm4uZmxhZ3M/bjpudWxsfXJldHVybiAxMjgmbi5mbGFncz8obi5sYW5lcz10LG4pOigocj1udWxsIT09cikhPT0obnVsbCE9PWUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUpJiZyJiYobi5jaGlsZC5mbGFnc3w9ODE5MiwKMSZuLm1vZGUmJihudWxsPT09ZXx8MSZvdS5jdXJyZW50PzA9PT1SaSYmKFJpPTMpOmhzKCkpKSxudWxsIT09bi51cGRhdGVRdWV1ZSYmKG4uZmxhZ3N8PTQpLCRvKG4pLG51bGwpO2Nhc2UgNDpyZXR1cm4gbHUoKSxudWxsPT09ZSYmV3Iobi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyksJG8obiksbnVsbDtjYXNlIDEwOnJldHVybiBTYShuLnR5cGUuX2NvbnRleHQpLCRvKG4pLG51bGw7Y2FzZSAxOTppZihDbChvdSksbnVsbD09PSh1PW4ubWVtb2l6ZWRTdGF0ZSkpcmV0dXJuICRvKG4pLG51bGw7aWYocj0hISgxMjgmbi5mbGFncyksbnVsbD09PShpPXUucmVuZGVyaW5nKSlpZihyKWpvKHUsITEpO2Vsc2V7aWYoMCE9PVJpfHxudWxsIT09ZSYmMTI4JmUuZmxhZ3MpZm9yKGU9bi5jaGlsZDtudWxsIT09ZTspe2lmKG51bGwhPT0oaT1pdShlKSkpe2ZvcihuLmZsYWdzfD0xMjgsam8odSwhMSksbnVsbCE9PShyPWkudXBkYXRlUXVldWUpJiYobi51cGRhdGVRdWV1ZT1yLG4uZmxhZ3N8PTQpLG4uc3VidHJlZUZsYWdzPTAscj10LHQ9bi5jaGlsZDtudWxsIT09dDspZT1yLCh1PXQpLmZsYWdzJj0xNDY4MDA2NixudWxsPT09KGk9dS5hbHRlcm5hdGUpPyh1LmNoaWxkTGFuZXM9MCx1LmxhbmVzPWUsdS5jaGlsZD1udWxsLHUuc3VidHJlZUZsYWdzPTAsdS5tZW1vaXplZFByb3BzPW51bGwsdS5tZW1vaXplZFN0YXRlPW51bGwsdS51cGRhdGVRdWV1ZT1udWxsLHUuZGVwZW5kZW5jaWVzPW51bGwsdS5zdGF0ZU5vZGU9bnVsbCk6KHUuY2hpbGRMYW5lcz1pLmNoaWxkTGFuZXMsdS5sYW5lcz1pLmxhbmVzLHUuY2hpbGQ9aS5jaGlsZCx1LnN1YnRyZWVGbGFncz0wLHUuZGVsZXRpb25zPW51bGwsdS5tZW1vaXplZFByb3BzPWkubWVtb2l6ZWRQcm9wcyx1Lm1lbW9pemVkU3RhdGU9aS5tZW1vaXplZFN0YXRlLHUudXBkYXRlUXVldWU9aS51cGRhdGVRdWV1ZSx1LnR5cGU9aS50eXBlLGU9aS5kZXBlbmRlbmNpZXMsdS5kZXBlbmRlbmNpZXM9bnVsbD09PWU/bnVsbDp7bGFuZXM6ZS5sYW5lcyxmaXJzdENvbnRleHQ6ZS5maXJzdENvbnRleHR9KSx0PXQuc2libGluZztyZXR1cm4gemwob3UsMSZvdS5jdXJyZW50fDIpLG4uY2hpbGR9ZT1lLnNpYmxpbmd9bnVsbCE9PXUudGFpbCYmR2UoKT5XaSYmKG4uZmxhZ3N8PTEyOCxyPSEwLGpvKHUsITEpLG4ubGFuZXM9NDE5NDMwNCl9ZWxzZXtpZighcilpZihudWxsIT09KGU9aXUoaSkpKXtpZihuLmZsYWdzfD0xMjgscj0hMCxudWxsIT09KHQ9ZS51cGRhdGVRdWV1ZSkmJihuLnVwZGF0ZVF1ZXVlPXQsbi5mbGFnc3w9NCksam8odSwhMCksbnVsbD09PXUudGFpbCYmImhpZGRlbiI9PT11LnRhaWxNb2RlJiYhaS5hbHRlcm5hdGUmJiFsYSlyZXR1cm4gJG8obiksbnVsbH1lbHNlIDIqR2UoKS11LnJlbmRlcmluZ1N0YXJ0VGltZT5XaSYmMTA3Mzc0MTgyNCE9PXQmJihuLmZsYWdzfD0xMjgscj0hMCxqbyh1LCExKSxuLmxhbmVzPTQxOTQzMDQpO3UuaXNCYWNrd2FyZHM/KGkuc2libGluZz1uLmNoaWxkLG4uY2hpbGQ9aSk6KG51bGwhPT0odD11Lmxhc3QpP3Quc2libGluZz1pOm4uY2hpbGQ9aSx1Lmxhc3Q9aSl9cmV0dXJuIG51bGwhPT11LnRhaWw/KG49dS50YWlsLHUucmVuZGVyaW5nPW4sdS50YWlsPW4uc2libGluZyx1LnJlbmRlcmluZ1N0YXJ0VGltZT1HZSgpLG4uc2libGluZz1udWxsLHQ9b3UuY3VycmVudCx6bChvdSxyPzEmdHwyOjEmdCksbik6KCRvKG4pLG51bGwpO2Nhc2UgMjI6Y2FzZSAyMzpyZXR1cm4gZnMoKSxyPW51bGwhPT1uLm1lbW9pemVkU3RhdGUsbnVsbCE9PWUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUhPT1yJiYobi5mbGFnc3w9ODE5MiksciYmMSZuLm1vZGU/ISEoMTA3Mzc0MTgyNCZNaSkmJigkbyhuKSw2Jm4uc3VidHJlZUZsYWdzJiYobi5mbGFnc3w9ODE5MikpOiRvKG4pLG51bGw7Y2FzZSAyNDpjYXNlIDI1OnJldHVybiBudWxsfXRocm93IEVycm9yKGEoMTU2LG4udGFnKSl9ZnVuY3Rpb24gS28oZSxuKXtzd2l0Y2gobmEobiksbi50YWcpe2Nhc2UgMTpyZXR1cm4gTWwobi50eXBlKSYmRmwoKSw2NTUzNiYoZT1uLmZsYWdzKT8obi5mbGFncz0tNjU1MzcmZXwxMjgsbik6bnVsbDtjYXNlIDM6cmV0dXJuIGx1KCksQ2woUGwpLENsKF9sKSxjdSgpLDY1NTM2JihlPW4uZmxhZ3MpJiYhKDEyOCZlKT8obi5mbGFncz0tNjU1MzcmZXwxMjgsbik6bnVsbDtjYXNlIDU6cmV0dXJuIHV1KG4pLG51bGw7Y2FzZSAxMzppZihDbChvdSksbnVsbCE9PShlPW4ubWVtb2l6ZWRTdGF0ZSkmJm51bGwhPT1lLmRlaHlkcmF0ZWQpe2lmKG51bGw9PT1uLmFsdGVybmF0ZSl0aHJvdyBFcnJvcihhKDM0MCkpO3BhKCl9cmV0dXJuIDY1NTM2JihlPW4uZmxhZ3MpPyhuLmZsYWdzPS02NTUzNyZlfDEyOCxuKTpudWxsO2Nhc2UgMTk6cmV0dXJuIENsKG91KSxudWxsO2Nhc2UgNDpyZXR1cm4gbHUoKSxudWxsO2Nhc2UgMTA6cmV0dXJuIFNhKG4udHlwZS5fY29udGV4dCksbnVsbDtjYXNlIDIyOmNhc2UgMjM6cmV0dXJuIGZzKCksbnVsbDtkZWZhdWx0OnJldHVybiBudWxsfX1Nbz1mdW5jdGlvbihlLG4pe2Zvcih2YXIgdD1uLmNoaWxkO251bGwhPT10Oyl7aWYoNT09PXQudGFnfHw2PT09dC50YWcpZS5hcHBlbmRDaGlsZCh0LnN0YXRlTm9kZSk7ZWxzZSBpZig0IT09dC50YWcmJm51bGwhPT10LmNoaWxkKXt0LmNoaWxkLnJldHVybj10LHQ9dC5jaGlsZDtjb250aW51ZX1pZih0PT09bilicmVhaztmb3IoO251bGw9PT10LnNpYmxpbmc7KXtpZihudWxsPT09dC5yZXR1cm58fHQucmV0dXJuPT09bilyZXR1cm47dD10LnJldHVybn10LnNpYmxpbmcucmV0dXJuPXQucmV0dXJuLHQ9dC5zaWJsaW5nfX0sRm89ZnVuY3Rpb24oZSxuLHQscil7dmFyIGw9ZS5tZW1vaXplZFByb3BzO2lmKGwhPT1yKXtlPW4uc3RhdGVOb2RlLHR1KEphLmN1cnJlbnQpO3ZhciBhLHU9bnVsbDtzd2l0Y2godCl7Y2FzZSJpbnB1dCI6bD1ZKGUsbCkscj1ZKGUsciksdT1bXTticmVhaztjYXNlInNlbGVjdCI6bD1PKHt9LGwse3ZhbHVlOnZvaWQgMH0pLHI9Tyh7fSxyLHt2YWx1ZTp2b2lkIDB9KSx1PVtdO2JyZWFrO2Nhc2UidGV4dGFyZWEiOmw9cmUoZSxsKSxyPXJlKGUsciksdT1bXTticmVhawo7ZGVmYXVsdDoiZnVuY3Rpb24iIT10eXBlb2YgbC5vbkNsaWNrJiYiZnVuY3Rpb24iPT10eXBlb2Ygci5vbkNsaWNrJiYoZS5vbmNsaWNrPUpyKX1mb3IoYyBpbiB5ZSh0LHIpLHQ9bnVsbCxsKWlmKCFyLmhhc093blByb3BlcnR5KGMpJiZsLmhhc093blByb3BlcnR5KGMpJiZudWxsIT1sW2NdKWlmKCJzdHlsZSI9PT1jKXt2YXIgaT1sW2NdO2ZvcihhIGluIGkpaS5oYXNPd25Qcm9wZXJ0eShhKSYmKHR8fCh0PXt9KSx0W2FdPSIiKX1lbHNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiE9PWMmJiJjaGlsZHJlbiIhPT1jJiYic3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nIiE9PWMmJiJzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmciIT09YyYmImF1dG9Gb2N1cyIhPT1jJiYoby5oYXNPd25Qcm9wZXJ0eShjKT91fHwodT1bXSk6KHU9dXx8W10pLnB1c2goYyxudWxsKSk7Zm9yKGMgaW4gcil7dmFyIHM9cltjXTtpZihpPW51bGwhPWw/bFtjXTp2b2lkIDAsci5oYXNPd25Qcm9wZXJ0eShjKSYmcyE9PWkmJihudWxsIT1zfHxudWxsIT1pKSlpZigic3R5bGUiPT09YylpZihpKXtmb3IoYSBpbiBpKSFpLmhhc093blByb3BlcnR5KGEpfHxzJiZzLmhhc093blByb3BlcnR5KGEpfHwodHx8KHQ9e30pLHRbYV09IiIpO2ZvcihhIGluIHMpcy5oYXNPd25Qcm9wZXJ0eShhKSYmaVthXSE9PXNbYV0mJih0fHwodD17fSksdFthXT1zW2FdKX1lbHNlIHR8fCh1fHwodT1bXSksdS5wdXNoKGMsdCkpLHQ9cztlbHNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj09PWM/KHM9cz9zLl9faHRtbDp2b2lkIDAsaT1pP2kuX19odG1sOnZvaWQgMCxudWxsIT1zJiZpIT09cyYmKHU9dXx8W10pLnB1c2goYyxzKSk6ImNoaWxkcmVuIj09PWM/InN0cmluZyIhPXR5cGVvZiBzJiYibnVtYmVyIiE9dHlwZW9mIHN8fCh1PXV8fFtdKS5wdXNoKGMsIiIrcyk6InN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyIhPT1jJiYic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIiE9PWMmJihvLmhhc093blByb3BlcnR5KGMpPyhudWxsIT1zJiYib25TY3JvbGwiPT09YyYmVnIoInNjcm9sbCIsZSksdXx8aT09PXN8fCh1PVtdKSk6KHU9dXx8W10pLnB1c2goYyxzKSl9dCYmKHU9dXx8W10pLnB1c2goInN0eWxlIix0KTt2YXIgYz11OyhuLnVwZGF0ZVF1ZXVlPWMpJiYobi5mbGFnc3w9NCl9fSxSbz1mdW5jdGlvbihlLG4sdCxyKXt0IT09ciYmKG4uZmxhZ3N8PTQpfTt2YXIgWW89ITEsWG89ITEsR289ImZ1bmN0aW9uIj09dHlwZW9mIFdlYWtTZXQ/V2Vha1NldDpTZXQsWm89bnVsbDtmdW5jdGlvbiBKbyhlLG4pe3ZhciB0PWUucmVmO2lmKG51bGwhPT10KWlmKCJmdW5jdGlvbiI9PXR5cGVvZiB0KXRyeXt0KG51bGwpfWNhdGNoKHQpe0VzKGUsbix0KX1lbHNlIHQuY3VycmVudD1udWxsfWZ1bmN0aW9uIGVpKGUsbix0KXt0cnl7dCgpfWNhdGNoKHQpe0VzKGUsbix0KX19dmFyIG5pPSExO2Z1bmN0aW9uIHRpKGUsbix0KXt2YXIgcj1uLnVwZGF0ZVF1ZXVlO2lmKG51bGwhPT0ocj1udWxsIT09cj9yLmxhc3RFZmZlY3Q6bnVsbCkpe3ZhciBsPXI9ci5uZXh0O2Rve2lmKChsLnRhZyZlKT09PWUpe3ZhciBhPWwuZGVzdHJveTtsLmRlc3Ryb3k9dm9pZCAwLHZvaWQgMCE9PWEmJmVpKG4sdCxhKX1sPWwubmV4dH13aGlsZShsIT09cil9fWZ1bmN0aW9uIHJpKGUsbil7aWYobnVsbCE9PShuPW51bGwhPT0obj1uLnVwZGF0ZVF1ZXVlKT9uLmxhc3RFZmZlY3Q6bnVsbCkpe3ZhciB0PW49bi5uZXh0O2Rve2lmKCh0LnRhZyZlKT09PWUpe3ZhciByPXQuY3JlYXRlO3QuZGVzdHJveT1yKCl9dD10Lm5leHR9d2hpbGUodCE9PW4pfX1mdW5jdGlvbiBsaShlKXt2YXIgbj1lLnJlZjtpZihudWxsIT09bil7dmFyIHQ9ZS5zdGF0ZU5vZGU7ZS50YWcsZT10LCJmdW5jdGlvbiI9PXR5cGVvZiBuP24oZSk6bi5jdXJyZW50PWV9fWZ1bmN0aW9uIGFpKGUpe3ZhciBuPWUuYWx0ZXJuYXRlO251bGwhPT1uJiYoZS5hbHRlcm5hdGU9bnVsbCxhaShuKSksZS5jaGlsZD1udWxsLGUuZGVsZXRpb25zPW51bGwsZS5zaWJsaW5nPW51bGwsNT09PWUudGFnJiYobnVsbCE9PShuPWUuc3RhdGVOb2RlKSYmKGRlbGV0ZSBuW2RsXSxkZWxldGUgbltwbF0sZGVsZXRlIG5baGxdLGRlbGV0ZSBuW2dsXSxkZWxldGUgblt2bF0pKSxlLnN0YXRlTm9kZT1udWxsLGUucmV0dXJuPW51bGwsZS5kZXBlbmRlbmNpZXM9bnVsbCxlLm1lbW9pemVkUHJvcHM9bnVsbCxlLm1lbW9pemVkU3RhdGU9bnVsbCxlLnBlbmRpbmdQcm9wcz1udWxsLGUuc3RhdGVOb2RlPW51bGwsZS51cGRhdGVRdWV1ZT1udWxsfWZ1bmN0aW9uIHVpKGUpe3JldHVybiA1PT09ZS50YWd8fDM9PT1lLnRhZ3x8ND09PWUudGFnfWZ1bmN0aW9uIG9pKGUpe2U6Zm9yKDs7KXtmb3IoO251bGw9PT1lLnNpYmxpbmc7KXtpZihudWxsPT09ZS5yZXR1cm58fHVpKGUucmV0dXJuKSlyZXR1cm4gbnVsbDtlPWUucmV0dXJufWZvcihlLnNpYmxpbmcucmV0dXJuPWUucmV0dXJuLGU9ZS5zaWJsaW5nOzUhPT1lLnRhZyYmNiE9PWUudGFnJiYxOCE9PWUudGFnOyl7aWYoMiZlLmZsYWdzKWNvbnRpbnVlIGU7aWYobnVsbD09PWUuY2hpbGR8fDQ9PT1lLnRhZyljb250aW51ZSBlO2UuY2hpbGQucmV0dXJuPWUsZT1lLmNoaWxkfWlmKCEoMiZlLmZsYWdzKSlyZXR1cm4gZS5zdGF0ZU5vZGV9fWZ1bmN0aW9uIGlpKGUsbix0KXt2YXIgcj1lLnRhZztpZig1PT09cnx8Nj09PXIpZT1lLnN0YXRlTm9kZSxuPzg9PT10Lm5vZGVUeXBlP3QucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSxuKTp0Lmluc2VydEJlZm9yZShlLG4pOig4PT09dC5ub2RlVHlwZT8obj10LnBhcmVudE5vZGUpLmluc2VydEJlZm9yZShlLHQpOihuPXQpLmFwcGVuZENoaWxkKGUpLG51bGwhPSh0PXQuX3JlYWN0Um9vdENvbnRhaW5lcil8fG51bGwhPT1uLm9uY2xpY2t8fChuLm9uY2xpY2s9SnIpKTtlbHNlIGlmKDQhPT1yJiZudWxsIT09KGU9ZS5jaGlsZCkpZm9yKGlpKGUsbix0KSxlPWUuc2libGluZztudWxsIT09ZTspaWkoZSxuLHQpLGU9ZS5zaWJsaW5nfWZ1bmN0aW9uIHNpKGUsbix0KXt2YXIgcj1lLnRhZztpZig1PT09cnx8Nj09PXIpZT1lLnN0YXRlTm9kZSwKbj90Lmluc2VydEJlZm9yZShlLG4pOnQuYXBwZW5kQ2hpbGQoZSk7ZWxzZSBpZig0IT09ciYmbnVsbCE9PShlPWUuY2hpbGQpKWZvcihzaShlLG4sdCksZT1lLnNpYmxpbmc7bnVsbCE9PWU7KXNpKGUsbix0KSxlPWUuc2libGluZ312YXIgY2k9bnVsbCxmaT0hMTtmdW5jdGlvbiBkaShlLG4sdCl7Zm9yKHQ9dC5jaGlsZDtudWxsIT09dDspcGkoZSxuLHQpLHQ9dC5zaWJsaW5nfWZ1bmN0aW9uIHBpKGUsbix0KXtpZihhbiYmImZ1bmN0aW9uIj09dHlwZW9mIGFuLm9uQ29tbWl0RmliZXJVbm1vdW50KXRyeXthbi5vbkNvbW1pdEZpYmVyVW5tb3VudChsbix0KX1jYXRjaChlKXt9c3dpdGNoKHQudGFnKXtjYXNlIDU6WG98fEpvKHQsbik7Y2FzZSA2OnZhciByPWNpLGw9Zmk7Y2k9bnVsbCxkaShlLG4sdCksZmk9bCxudWxsIT09KGNpPXIpJiYoZmk/KGU9Y2ksdD10LnN0YXRlTm9kZSw4PT09ZS5ub2RlVHlwZT9lLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCk6ZS5yZW1vdmVDaGlsZCh0KSk6Y2kucmVtb3ZlQ2hpbGQodC5zdGF0ZU5vZGUpKTticmVhaztjYXNlIDE4Om51bGwhPT1jaSYmKGZpPyhlPWNpLHQ9dC5zdGF0ZU5vZGUsOD09PWUubm9kZVR5cGU/aWwoZS5wYXJlbnROb2RlLHQpOjE9PT1lLm5vZGVUeXBlJiZpbChlLHQpLEhuKGUpKTppbChjaSx0LnN0YXRlTm9kZSkpO2JyZWFrO2Nhc2UgNDpyPWNpLGw9ZmksY2k9dC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyxmaT0hMCxkaShlLG4sdCksY2k9cixmaT1sO2JyZWFrO2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTppZighWG8mJihudWxsIT09KHI9dC51cGRhdGVRdWV1ZSkmJm51bGwhPT0ocj1yLmxhc3RFZmZlY3QpKSl7bD1yPXIubmV4dDtkb3t2YXIgYT1sLHU9YS5kZXN0cm95O2E9YS50YWcsdm9pZCAwIT09dSYmKDImYXx8NCZhKSYmZWkodCxuLHUpLGw9bC5uZXh0fXdoaWxlKGwhPT1yKX1kaShlLG4sdCk7YnJlYWs7Y2FzZSAxOmlmKCFYbyYmKEpvKHQsbiksImZ1bmN0aW9uIj09dHlwZW9mKHI9dC5zdGF0ZU5vZGUpLmNvbXBvbmVudFdpbGxVbm1vdW50KSl0cnl7ci5wcm9wcz10Lm1lbW9pemVkUHJvcHMsci5zdGF0ZT10Lm1lbW9pemVkU3RhdGUsci5jb21wb25lbnRXaWxsVW5tb3VudCgpfWNhdGNoKGUpe0VzKHQsbixlKX1kaShlLG4sdCk7YnJlYWs7Y2FzZSAyMTpkaShlLG4sdCk7YnJlYWs7Y2FzZSAyMjoxJnQubW9kZT8oWG89KHI9WG8pfHxudWxsIT09dC5tZW1vaXplZFN0YXRlLGRpKGUsbix0KSxYbz1yKTpkaShlLG4sdCk7YnJlYWs7ZGVmYXVsdDpkaShlLG4sdCl9fWZ1bmN0aW9uIG1pKGUpe3ZhciBuPWUudXBkYXRlUXVldWU7aWYobnVsbCE9PW4pe2UudXBkYXRlUXVldWU9bnVsbDt2YXIgdD1lLnN0YXRlTm9kZTtudWxsPT09dCYmKHQ9ZS5zdGF0ZU5vZGU9bmV3IEdvKSxuLmZvckVhY2goKGZ1bmN0aW9uKG4pe3ZhciByPV9zLmJpbmQobnVsbCxlLG4pO3QuaGFzKG4pfHwodC5hZGQobiksbi50aGVuKHIscikpfSkpfX1mdW5jdGlvbiBoaShlLG4pe3ZhciB0PW4uZGVsZXRpb25zO2lmKG51bGwhPT10KWZvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbD10W3JdO3RyeXt2YXIgdT1lLG89bixpPW87ZTpmb3IoO251bGwhPT1pOyl7c3dpdGNoKGkudGFnKXtjYXNlIDU6Y2k9aS5zdGF0ZU5vZGUsZmk9ITE7YnJlYWsgZTtjYXNlIDM6Y2FzZSA0OmNpPWkuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8sZmk9ITA7YnJlYWsgZX1pPWkucmV0dXJufWlmKG51bGw9PT1jaSl0aHJvdyBFcnJvcihhKDE2MCkpO3BpKHUsbyxsKSxjaT1udWxsLGZpPSExO3ZhciBzPWwuYWx0ZXJuYXRlO251bGwhPT1zJiYocy5yZXR1cm49bnVsbCksbC5yZXR1cm49bnVsbH1jYXRjaChlKXtFcyhsLG4sZSl9fWlmKDEyODU0Jm4uc3VidHJlZUZsYWdzKWZvcihuPW4uY2hpbGQ7bnVsbCE9PW47KWdpKG4sZSksbj1uLnNpYmxpbmd9ZnVuY3Rpb24gZ2koZSxuKXt2YXIgdD1lLmFsdGVybmF0ZSxyPWUuZmxhZ3M7c3dpdGNoKGUudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE0OmNhc2UgMTU6aWYoaGkobixlKSx2aShlKSw0JnIpe3RyeXt0aSgzLGUsZS5yZXR1cm4pLHJpKDMsZSl9Y2F0Y2gobil7RXMoZSxlLnJldHVybixuKX10cnl7dGkoNSxlLGUucmV0dXJuKX1jYXRjaChuKXtFcyhlLGUucmV0dXJuLG4pfX1icmVhaztjYXNlIDE6aGkobixlKSx2aShlKSw1MTImciYmbnVsbCE9PXQmJkpvKHQsdC5yZXR1cm4pO2JyZWFrO2Nhc2UgNTppZihoaShuLGUpLHZpKGUpLDUxMiZyJiZudWxsIT09dCYmSm8odCx0LnJldHVybiksMzImZS5mbGFncyl7dmFyIGw9ZS5zdGF0ZU5vZGU7dHJ5e2RlKGwsIiIpfWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9fWlmKDQmciYmbnVsbCE9KGw9ZS5zdGF0ZU5vZGUpKXt2YXIgdT1lLm1lbW9pemVkUHJvcHMsbz1udWxsIT09dD90Lm1lbW9pemVkUHJvcHM6dSxpPWUudHlwZSxzPWUudXBkYXRlUXVldWU7aWYoZS51cGRhdGVRdWV1ZT1udWxsLG51bGwhPT1zKXRyeXsiaW5wdXQiPT09aSYmInJhZGlvIj09PXUudHlwZSYmbnVsbCE9dS5uYW1lJiZHKGwsdSksYmUoaSxvKTt2YXIgYz1iZShpLHUpO2ZvcihvPTA7bzxzLmxlbmd0aDtvKz0yKXt2YXIgZj1zW29dLGQ9c1tvKzFdOyJzdHlsZSI9PT1mP2dlKGwsZCk6ImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj09PWY/ZmUobCxkKToiY2hpbGRyZW4iPT09Zj9kZShsLGQpOmIobCxmLGQsYyl9c3dpdGNoKGkpe2Nhc2UiaW5wdXQiOloobCx1KTticmVhaztjYXNlInRleHRhcmVhIjphZShsLHUpO2JyZWFrO2Nhc2Uic2VsZWN0Ijp2YXIgcD1sLl93cmFwcGVyU3RhdGUud2FzTXVsdGlwbGU7bC5fd3JhcHBlclN0YXRlLndhc011bHRpcGxlPSEhdS5tdWx0aXBsZTt2YXIgbT11LnZhbHVlO251bGwhPW0/dGUobCwhIXUubXVsdGlwbGUsbSwhMSk6cCE9PSEhdS5tdWx0aXBsZSYmKG51bGwhPXUuZGVmYXVsdFZhbHVlP3RlKGwsISF1Lm11bHRpcGxlLHUuZGVmYXVsdFZhbHVlLCEwKTp0ZShsLCEhdS5tdWx0aXBsZSx1Lm11bHRpcGxlP1tdOiIiLCExKSl9bFtwbF09dX1jYXRjaChuKXtFcyhlLGUucmV0dXJuLG4pfX1icmVhaztjYXNlIDY6aWYoaGkobixlKSx2aShlKSw0JnIpewppZihudWxsPT09ZS5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IoYSgxNjIpKTtsPWUuc3RhdGVOb2RlLHU9ZS5tZW1vaXplZFByb3BzO3RyeXtsLm5vZGVWYWx1ZT11fWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9fWJyZWFrO2Nhc2UgMzppZihoaShuLGUpLHZpKGUpLDQmciYmbnVsbCE9PXQmJnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpdHJ5e0huKG4uY29udGFpbmVySW5mbyl9Y2F0Y2gobil7RXMoZSxlLnJldHVybixuKX1icmVhaztjYXNlIDQ6ZGVmYXVsdDpoaShuLGUpLHZpKGUpO2JyZWFrO2Nhc2UgMTM6aGkobixlKSx2aShlKSw4MTkyJihsPWUuY2hpbGQpLmZsYWdzJiYodT1udWxsIT09bC5tZW1vaXplZFN0YXRlLGwuc3RhdGVOb2RlLmlzSGlkZGVuPXUsIXV8fG51bGwhPT1sLmFsdGVybmF0ZSYmbnVsbCE9PWwuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGV8fChCaT1HZSgpKSksNCZyJiZtaShlKTticmVhaztjYXNlIDIyOmlmKGY9bnVsbCE9PXQmJm51bGwhPT10Lm1lbW9pemVkU3RhdGUsMSZlLm1vZGU/KFhvPShjPVhvKXx8ZixoaShuLGUpLFhvPWMpOmhpKG4sZSksdmkoZSksODE5MiZyKXtpZihjPW51bGwhPT1lLm1lbW9pemVkU3RhdGUsKGUuc3RhdGVOb2RlLmlzSGlkZGVuPWMpJiYhZiYmMSZlLm1vZGUpZm9yKFpvPWUsZj1lLmNoaWxkO251bGwhPT1mOyl7Zm9yKGQ9Wm89ZjtudWxsIT09Wm87KXtzd2l0Y2gobT0ocD1abykuY2hpbGQscC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTp0aSg0LHAscC5yZXR1cm4pO2JyZWFrO2Nhc2UgMTpKbyhwLHAucmV0dXJuKTt2YXIgaD1wLnN0YXRlTm9kZTtpZigiZnVuY3Rpb24iPT10eXBlb2YgaC5jb21wb25lbnRXaWxsVW5tb3VudCl7cj1wLHQ9cC5yZXR1cm47dHJ5e249cixoLnByb3BzPW4ubWVtb2l6ZWRQcm9wcyxoLnN0YXRlPW4ubWVtb2l6ZWRTdGF0ZSxoLmNvbXBvbmVudFdpbGxVbm1vdW50KCl9Y2F0Y2goZSl7RXMocix0LGUpfX1icmVhaztjYXNlIDU6Sm8ocCxwLnJldHVybik7YnJlYWs7Y2FzZSAyMjppZihudWxsIT09cC5tZW1vaXplZFN0YXRlKXt3aShkKTtjb250aW51ZX19bnVsbCE9PW0/KG0ucmV0dXJuPXAsWm89bSk6d2koZCl9Zj1mLnNpYmxpbmd9ZTpmb3IoZj1udWxsLGQ9ZTs7KXtpZig1PT09ZC50YWcpe2lmKG51bGw9PT1mKXtmPWQ7dHJ5e2w9ZC5zdGF0ZU5vZGUsYz8iZnVuY3Rpb24iPT10eXBlb2YodT1sLnN0eWxlKS5zZXRQcm9wZXJ0eT91LnNldFByb3BlcnR5KCJkaXNwbGF5Iiwibm9uZSIsImltcG9ydGFudCIpOnUuZGlzcGxheT0ibm9uZSI6KGk9ZC5zdGF0ZU5vZGUsbz1udWxsIT0ocz1kLm1lbW9pemVkUHJvcHMuc3R5bGUpJiZzLmhhc093blByb3BlcnR5KCJkaXNwbGF5Iik/cy5kaXNwbGF5Om51bGwsaS5zdHlsZS5kaXNwbGF5PWhlKCJkaXNwbGF5IixvKSl9Y2F0Y2gobil7RXMoZSxlLnJldHVybixuKX19fWVsc2UgaWYoNj09PWQudGFnKXtpZihudWxsPT09Zil0cnl7ZC5zdGF0ZU5vZGUubm9kZVZhbHVlPWM/IiI6ZC5tZW1vaXplZFByb3BzfWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9fWVsc2UgaWYoKDIyIT09ZC50YWcmJjIzIT09ZC50YWd8fG51bGw9PT1kLm1lbW9pemVkU3RhdGV8fGQ9PT1lKSYmbnVsbCE9PWQuY2hpbGQpe2QuY2hpbGQucmV0dXJuPWQsZD1kLmNoaWxkO2NvbnRpbnVlfWlmKGQ9PT1lKWJyZWFrIGU7Zm9yKDtudWxsPT09ZC5zaWJsaW5nOyl7aWYobnVsbD09PWQucmV0dXJufHxkLnJldHVybj09PWUpYnJlYWsgZTtmPT09ZCYmKGY9bnVsbCksZD1kLnJldHVybn1mPT09ZCYmKGY9bnVsbCksZC5zaWJsaW5nLnJldHVybj1kLnJldHVybixkPWQuc2libGluZ319YnJlYWs7Y2FzZSAxOTpoaShuLGUpLHZpKGUpLDQmciYmbWkoZSk7Y2FzZSAyMTp9fWZ1bmN0aW9uIHZpKGUpe3ZhciBuPWUuZmxhZ3M7aWYoMiZuKXt0cnl7ZTp7Zm9yKHZhciB0PWUucmV0dXJuO251bGwhPT10Oyl7aWYodWkodCkpe3ZhciByPXQ7YnJlYWsgZX10PXQucmV0dXJufXRocm93IEVycm9yKGEoMTYwKSl9c3dpdGNoKHIudGFnKXtjYXNlIDU6dmFyIGw9ci5zdGF0ZU5vZGU7MzImci5mbGFncyYmKGRlKGwsIiIpLHIuZmxhZ3MmPS0zMyksc2koZSxvaShlKSxsKTticmVhaztjYXNlIDM6Y2FzZSA0OnZhciB1PXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87aWkoZSxvaShlKSx1KTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKGEoMTYxKSl9fWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9ZS5mbGFncyY9LTN9NDA5NiZuJiYoZS5mbGFncyY9LTQwOTcpfWZ1bmN0aW9uIHlpKGUsbix0KXtabz1lLGJpKGUsbix0KX1mdW5jdGlvbiBiaShlLG4sdCl7Zm9yKHZhciByPSEhKDEmZS5tb2RlKTtudWxsIT09Wm87KXt2YXIgbD1abyxhPWwuY2hpbGQ7aWYoMjI9PT1sLnRhZyYmcil7dmFyIHU9bnVsbCE9PWwubWVtb2l6ZWRTdGF0ZXx8WW87aWYoIXUpe3ZhciBvPWwuYWx0ZXJuYXRlLGk9bnVsbCE9PW8mJm51bGwhPT1vLm1lbW9pemVkU3RhdGV8fFhvO289WW87dmFyIHM9WG87aWYoWW89dSwoWG89aSkmJiFzKWZvcihabz1sO251bGwhPT1abzspaT0odT1abykuY2hpbGQsMjI9PT11LnRhZyYmbnVsbCE9PXUubWVtb2l6ZWRTdGF0ZT9TaShsKTpudWxsIT09aT8oaS5yZXR1cm49dSxabz1pKTpTaShsKTtmb3IoO251bGwhPT1hOylabz1hLGJpKGEsbix0KSxhPWEuc2libGluZztabz1sLFlvPW8sWG89c31raShlKX1lbHNlIDg3NzImbC5zdWJ0cmVlRmxhZ3MmJm51bGwhPT1hPyhhLnJldHVybj1sLFpvPWEpOmtpKGUpfX1mdW5jdGlvbiBraShlKXtmb3IoO251bGwhPT1abzspe3ZhciBuPVpvO2lmKDg3NzImbi5mbGFncyl7dmFyIHQ9bi5hbHRlcm5hdGU7dHJ5e2lmKDg3NzImbi5mbGFncylzd2l0Y2gobi50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6WG98fHJpKDUsbik7YnJlYWs7Y2FzZSAxOnZhciByPW4uc3RhdGVOb2RlO2lmKDQmbi5mbGFncyYmIVhvKWlmKG51bGw9PT10KXIuY29tcG9uZW50RGlkTW91bnQoKTtlbHNle3ZhciBsPW4uZWxlbWVudFR5cGU9PT1uLnR5cGU/dC5tZW1vaXplZFByb3BzOmdhKG4udHlwZSx0Lm1lbW9pemVkUHJvcHMpCjtyLmNvbXBvbmVudERpZFVwZGF0ZShsLHQubWVtb2l6ZWRTdGF0ZSxyLl9fcmVhY3RJbnRlcm5hbFNuYXBzaG90QmVmb3JlVXBkYXRlKX12YXIgdT1uLnVwZGF0ZVF1ZXVlO251bGwhPT11JiZVYShuLHUscik7YnJlYWs7Y2FzZSAzOnZhciBvPW4udXBkYXRlUXVldWU7aWYobnVsbCE9PW8pe2lmKHQ9bnVsbCxudWxsIT09bi5jaGlsZClzd2l0Y2gobi5jaGlsZC50YWcpe2Nhc2UgNTpjYXNlIDE6dD1uLmNoaWxkLnN0YXRlTm9kZX1VYShuLG8sdCl9YnJlYWs7Y2FzZSA1OnZhciBpPW4uc3RhdGVOb2RlO2lmKG51bGw9PT10JiY0Jm4uZmxhZ3Mpe3Q9aTt2YXIgcz1uLm1lbW9pemVkUHJvcHM7c3dpdGNoKG4udHlwZSl7Y2FzZSJidXR0b24iOmNhc2UiaW5wdXQiOmNhc2Uic2VsZWN0IjpjYXNlInRleHRhcmVhIjpzLmF1dG9Gb2N1cyYmdC5mb2N1cygpO2JyZWFrO2Nhc2UiaW1nIjpzLnNyYyYmKHQuc3JjPXMuc3JjKX19YnJlYWs7Y2FzZSA2OmNhc2UgNDpjYXNlIDEyOmNhc2UgMTk6Y2FzZSAxNzpjYXNlIDIxOmNhc2UgMjI6Y2FzZSAyMzpjYXNlIDI1OmJyZWFrO2Nhc2UgMTM6aWYobnVsbD09PW4ubWVtb2l6ZWRTdGF0ZSl7dmFyIGM9bi5hbHRlcm5hdGU7aWYobnVsbCE9PWMpe3ZhciBmPWMubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09Zil7dmFyIGQ9Zi5kZWh5ZHJhdGVkO251bGwhPT1kJiZIbihkKX19fWJyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoYSgxNjMpKX1Yb3x8NTEyJm4uZmxhZ3MmJmxpKG4pfWNhdGNoKGUpe0VzKG4sbi5yZXR1cm4sZSl9fWlmKG49PT1lKXtabz1udWxsO2JyZWFrfWlmKG51bGwhPT0odD1uLnNpYmxpbmcpKXt0LnJldHVybj1uLnJldHVybixabz10O2JyZWFrfVpvPW4ucmV0dXJufX1mdW5jdGlvbiB3aShlKXtmb3IoO251bGwhPT1abzspe3ZhciBuPVpvO2lmKG49PT1lKXtabz1udWxsO2JyZWFrfXZhciB0PW4uc2libGluZztpZihudWxsIT09dCl7dC5yZXR1cm49bi5yZXR1cm4sWm89dDticmVha31abz1uLnJldHVybn19ZnVuY3Rpb24gU2koZSl7Zm9yKDtudWxsIT09Wm87KXt2YXIgbj1abzt0cnl7c3dpdGNoKG4udGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OnZhciB0PW4ucmV0dXJuO3RyeXtyaSg0LG4pfWNhdGNoKGUpe0VzKG4sdCxlKX1icmVhaztjYXNlIDE6dmFyIHI9bi5zdGF0ZU5vZGU7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIuY29tcG9uZW50RGlkTW91bnQpe3ZhciBsPW4ucmV0dXJuO3RyeXtyLmNvbXBvbmVudERpZE1vdW50KCl9Y2F0Y2goZSl7RXMobixsLGUpfX12YXIgYT1uLnJldHVybjt0cnl7bGkobil9Y2F0Y2goZSl7RXMobixhLGUpfWJyZWFrO2Nhc2UgNTp2YXIgdT1uLnJldHVybjt0cnl7bGkobil9Y2F0Y2goZSl7RXMobix1LGUpfX19Y2F0Y2goZSl7RXMobixuLnJldHVybixlKX1pZihuPT09ZSl7Wm89bnVsbDticmVha312YXIgbz1uLnNpYmxpbmc7aWYobnVsbCE9PW8pe28ucmV0dXJuPW4ucmV0dXJuLFpvPW87YnJlYWt9Wm89bi5yZXR1cm59fXZhciB4aSxFaT1NYXRoLmNlaWwsQ2k9ay5SZWFjdEN1cnJlbnREaXNwYXRjaGVyLHppPWsuUmVhY3RDdXJyZW50T3duZXIsTmk9ay5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxfaT0wLFBpPW51bGwsVGk9bnVsbCxMaT0wLE1pPTAsRmk9RWwoMCksUmk9MCxEaT1udWxsLElpPTAsT2k9MCxVaT0wLFZpPW51bGwsQWk9bnVsbCxCaT0wLFdpPTEvMCxIaT1udWxsLFFpPSExLGppPW51bGwsJGk9bnVsbCxxaT0hMSxLaT1udWxsLFlpPTAsWGk9MCxHaT1udWxsLFppPS0xLEppPTA7ZnVuY3Rpb24gZXMoKXtyZXR1cm4gNiZfaT9HZSgpOi0xIT09Wmk/Wmk6Wmk9R2UoKX1mdW5jdGlvbiBucyhlKXtyZXR1cm4gMSZlLm1vZGU/MiZfaSYmMCE9PUxpP0xpJi1MaTpudWxsIT09aGEudHJhbnNpdGlvbj8oMD09PUppJiYoSmk9Z24oKSksSmkpOjAhPT0oZT1rbik/ZTplPXZvaWQgMD09PShlPXdpbmRvdy5ldmVudCk/MTY6R24oZS50eXBlKToxfWZ1bmN0aW9uIHRzKGUsbix0LHIpe2lmKDUwPFhpKXRocm93IFhpPTAsR2k9bnVsbCxFcnJvcihhKDE4NSkpO3luKGUsdCxyKSwyJl9pJiZlPT09UGl8fChlPT09UGkmJighKDImX2kpJiYoT2l8PXQpLDQ9PT1SaSYmb3MoZSxMaSkpLHJzKGUsciksMT09PXQmJjA9PT1faSYmISgxJm4ubW9kZSkmJihXaT1HZSgpKzUwMCxWbCYmV2woKSkpfWZ1bmN0aW9uIHJzKGUsbil7dmFyIHQ9ZS5jYWxsYmFja05vZGU7IWZ1bmN0aW9uKGUsbil7Zm9yKHZhciB0PWUuc3VzcGVuZGVkTGFuZXMscj1lLnBpbmdlZExhbmVzLGw9ZS5leHBpcmF0aW9uVGltZXMsYT1lLnBlbmRpbmdMYW5lczswPGE7KXt2YXIgdT0zMS11bihhKSxvPTE8PHUsaT1sW3VdOy0xPT09aT9vJnQmJiEobyZyKXx8KGxbdV09bW4obyxuKSk6aTw9biYmKGUuZXhwaXJlZExhbmVzfD1vKSxhJj1+b319KGUsbik7dmFyIHI9cG4oZSxlPT09UGk/TGk6MCk7aWYoMD09PXIpbnVsbCE9PXQmJktlKHQpLGUuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTA7ZWxzZSBpZihuPXImLXIsZS5jYWxsYmFja1ByaW9yaXR5IT09bil7aWYobnVsbCE9dCYmS2UodCksMT09PW4pMD09PWUudGFnP2Z1bmN0aW9uKGUpe1ZsPSEwLEJsKGUpfShpcy5iaW5kKG51bGwsZSkpOkJsKGlzLmJpbmQobnVsbCxlKSksdWwoKGZ1bmN0aW9uKCl7ISg2Jl9pKSYmV2woKX0pKSx0PW51bGw7ZWxzZXtzd2l0Y2god24ocikpe2Nhc2UgMTp0PUplO2JyZWFrO2Nhc2UgNDp0PWVuO2JyZWFrO2Nhc2UgMTY6ZGVmYXVsdDp0PW5uO2JyZWFrO2Nhc2UgNTM2ODcwOTEyOnQ9cm59dD1Qcyh0LGxzLmJpbmQobnVsbCxlKSl9ZS5jYWxsYmFja1ByaW9yaXR5PW4sZS5jYWxsYmFja05vZGU9dH19ZnVuY3Rpb24gbHMoZSxuKXtpZihaaT0tMSxKaT0wLDYmX2kpdGhyb3cgRXJyb3IoYSgzMjcpKTt2YXIgdD1lLmNhbGxiYWNrTm9kZTtpZihTcygpJiZlLmNhbGxiYWNrTm9kZSE9PXQpcmV0dXJuIG51bGw7dmFyIHI9cG4oZSxlPT09UGk/TGk6MCk7aWYoMD09PXIpcmV0dXJuIG51bGw7aWYoMzAmcnx8ciZlLmV4cGlyZWRMYW5lc3x8biluPWdzKGUscik7ZWxzZXtuPXI7dmFyIGw9X2k7X2l8PTI7dmFyIHU9bXMoKQo7Zm9yKFBpPT09ZSYmTGk9PT1ufHwoSGk9bnVsbCxXaT1HZSgpKzUwMCxkcyhlLG4pKTs7KXRyeXt5cygpO2JyZWFrfWNhdGNoKG4pe3BzKGUsbil9d2EoKSxDaS5jdXJyZW50PXUsX2k9bCxudWxsIT09VGk/bj0wOihQaT1udWxsLExpPTAsbj1SaSl9aWYoMCE9PW4pe2lmKDI9PT1uJiYoMCE9PShsPWhuKGUpKSYmKHI9bCxuPWFzKGUsbCkpKSwxPT09bil0aHJvdyB0PURpLGRzKGUsMCksb3MoZSxyKSxycyhlLEdlKCkpLHQ7aWYoNj09PW4pb3MoZSxyKTtlbHNle2lmKGw9ZS5jdXJyZW50LmFsdGVybmF0ZSwhKDMwJnJ8fGZ1bmN0aW9uKGUpe2Zvcih2YXIgbj1lOzspe2lmKDE2Mzg0Jm4uZmxhZ3Mpe3ZhciB0PW4udXBkYXRlUXVldWU7aWYobnVsbCE9PXQmJm51bGwhPT0odD10LnN0b3JlcykpZm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBsPXRbcl0sYT1sLmdldFNuYXBzaG90O2w9bC52YWx1ZTt0cnl7aWYoIW9yKGEoKSxsKSlyZXR1cm4hMX1jYXRjaChlKXtyZXR1cm4hMX19fWlmKHQ9bi5jaGlsZCwxNjM4NCZuLnN1YnRyZWVGbGFncyYmbnVsbCE9PXQpdC5yZXR1cm49bixuPXQ7ZWxzZXtpZihuPT09ZSlicmVhaztmb3IoO251bGw9PT1uLnNpYmxpbmc7KXtpZihudWxsPT09bi5yZXR1cm58fG4ucmV0dXJuPT09ZSlyZXR1cm4hMDtuPW4ucmV0dXJufW4uc2libGluZy5yZXR1cm49bi5yZXR1cm4sbj1uLnNpYmxpbmd9fXJldHVybiEwfShsKXx8KG49Z3MoZSxyKSwyPT09biYmKHU9aG4oZSksMCE9PXUmJihyPXUsbj1hcyhlLHUpKSksMSE9PW4pKSl0aHJvdyB0PURpLGRzKGUsMCksb3MoZSxyKSxycyhlLEdlKCkpLHQ7c3dpdGNoKGUuZmluaXNoZWRXb3JrPWwsZS5maW5pc2hlZExhbmVzPXIsbil7Y2FzZSAwOmNhc2UgMTp0aHJvdyBFcnJvcihhKDM0NSkpO2Nhc2UgMjpjYXNlIDU6d3MoZSxBaSxIaSk7YnJlYWs7Y2FzZSAzOmlmKG9zKGUsciksKDEzMDAyMzQyNCZyKT09PXImJjEwPChuPUJpKzUwMC1HZSgpKSl7aWYoMCE9PXBuKGUsMCkpYnJlYWs7aWYoKChsPWUuc3VzcGVuZGVkTGFuZXMpJnIpIT09cil7ZXMoKSxlLnBpbmdlZExhbmVzfD1lLnN1c3BlbmRlZExhbmVzJmw7YnJlYWt9ZS50aW1lb3V0SGFuZGxlPXJsKHdzLmJpbmQobnVsbCxlLEFpLEhpKSxuKTticmVha313cyhlLEFpLEhpKTticmVhaztjYXNlIDQ6aWYob3MoZSxyKSwoNDE5NDI0MCZyKT09PXIpYnJlYWs7Zm9yKG49ZS5ldmVudFRpbWVzLGw9LTE7MDxyOyl7dmFyIG89MzEtdW4ocik7dT0xPDxvLChvPW5bb10pPmwmJihsPW8pLHImPX51fWlmKHI9bCwxMDwocj0oMTIwPihyPUdlKCktcik/MTIwOjQ4MD5yPzQ4MDoxMDgwPnI/MTA4MDoxOTIwPnI/MTkyMDozZTM+cj8zZTM6NDMyMD5yPzQzMjA6MTk2MCpFaShyLzE5NjApKS1yKSl7ZS50aW1lb3V0SGFuZGxlPXJsKHdzLmJpbmQobnVsbCxlLEFpLEhpKSxyKTticmVha313cyhlLEFpLEhpKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKGEoMzI5KSl9fX1yZXR1cm4gcnMoZSxHZSgpKSxlLmNhbGxiYWNrTm9kZT09PXQ/bHMuYmluZChudWxsLGUpOm51bGx9ZnVuY3Rpb24gYXMoZSxuKXt2YXIgdD1WaTtyZXR1cm4gZS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkJiYoZHMoZSxuKS5mbGFnc3w9MjU2KSwyIT09KGU9Z3MoZSxuKSkmJihuPUFpLEFpPXQsbnVsbCE9PW4mJnVzKG4pKSxlfWZ1bmN0aW9uIHVzKGUpe251bGw9PT1BaT9BaT1lOkFpLnB1c2guYXBwbHkoQWksZSl9ZnVuY3Rpb24gb3MoZSxuKXtmb3IobiY9flVpLG4mPX5PaSxlLnN1c3BlbmRlZExhbmVzfD1uLGUucGluZ2VkTGFuZXMmPX5uLGU9ZS5leHBpcmF0aW9uVGltZXM7MDxuOyl7dmFyIHQ9MzEtdW4obikscj0xPDx0O2VbdF09LTEsbiY9fnJ9fWZ1bmN0aW9uIGlzKGUpe2lmKDYmX2kpdGhyb3cgRXJyb3IoYSgzMjcpKTtTcygpO3ZhciBuPXBuKGUsMCk7aWYoISgxJm4pKXJldHVybiBycyhlLEdlKCkpLG51bGw7dmFyIHQ9Z3MoZSxuKTtpZigwIT09ZS50YWcmJjI9PT10KXt2YXIgcj1obihlKTswIT09ciYmKG49cix0PWFzKGUscikpfWlmKDE9PT10KXRocm93IHQ9RGksZHMoZSwwKSxvcyhlLG4pLHJzKGUsR2UoKSksdDtpZig2PT09dCl0aHJvdyBFcnJvcihhKDM0NSkpO3JldHVybiBlLmZpbmlzaGVkV29yaz1lLmN1cnJlbnQuYWx0ZXJuYXRlLGUuZmluaXNoZWRMYW5lcz1uLHdzKGUsQWksSGkpLHJzKGUsR2UoKSksbnVsbH1mdW5jdGlvbiBzcyhlLG4pe3ZhciB0PV9pO19pfD0xO3RyeXtyZXR1cm4gZShuKX1maW5hbGx5ezA9PT0oX2k9dCkmJihXaT1HZSgpKzUwMCxWbCYmV2woKSl9fWZ1bmN0aW9uIGNzKGUpe251bGwhPT1LaSYmMD09PUtpLnRhZyYmISg2Jl9pKSYmU3MoKTt2YXIgbj1faTtfaXw9MTt2YXIgdD1OaS50cmFuc2l0aW9uLHI9a247dHJ5e2lmKE5pLnRyYW5zaXRpb249bnVsbCxrbj0xLGUpcmV0dXJuIGUoKX1maW5hbGx5e2tuPXIsTmkudHJhbnNpdGlvbj10LCEoNiYoX2k9bikpJiZXbCgpfX1mdW5jdGlvbiBmcygpe01pPUZpLmN1cnJlbnQsQ2woRmkpfWZ1bmN0aW9uIGRzKGUsbil7ZS5maW5pc2hlZFdvcms9bnVsbCxlLmZpbmlzaGVkTGFuZXM9MDt2YXIgdD1lLnRpbWVvdXRIYW5kbGU7aWYoLTEhPT10JiYoZS50aW1lb3V0SGFuZGxlPS0xLGxsKHQpKSxudWxsIT09VGkpZm9yKHQ9VGkucmV0dXJuO251bGwhPT10Oyl7dmFyIHI9dDtzd2l0Y2gobmEociksci50YWcpe2Nhc2UgMTpudWxsIT0ocj1yLnR5cGUuY2hpbGRDb250ZXh0VHlwZXMpJiZGbCgpO2JyZWFrO2Nhc2UgMzpsdSgpLENsKFBsKSxDbChfbCksY3UoKTticmVhaztjYXNlIDU6dXUocik7YnJlYWs7Y2FzZSA0Omx1KCk7YnJlYWs7Y2FzZSAxMzpjYXNlIDE5OkNsKG91KTticmVhaztjYXNlIDEwOlNhKHIudHlwZS5fY29udGV4dCk7YnJlYWs7Y2FzZSAyMjpjYXNlIDIzOmZzKCl9dD10LnJldHVybn1pZihQaT1lLFRpPWU9RnMoZS5jdXJyZW50LG51bGwpLExpPU1pPW4sUmk9MCxEaT1udWxsLFVpPU9pPUlpPTAsQWk9Vmk9bnVsbCxudWxsIT09emEpe2ZvcihuPTA7bjx6YS5sZW5ndGg7bisrKWlmKG51bGwhPT0ocj0odD16YVtuXSkuaW50ZXJsZWF2ZWQpKXt0LmludGVybGVhdmVkPW51bGwKO3ZhciBsPXIubmV4dCxhPXQucGVuZGluZztpZihudWxsIT09YSl7dmFyIHU9YS5uZXh0O2EubmV4dD1sLHIubmV4dD11fXQucGVuZGluZz1yfXphPW51bGx9cmV0dXJuIGV9ZnVuY3Rpb24gcHMoZSxuKXtmb3IoOzspe3ZhciB0PVRpO3RyeXtpZih3YSgpLGZ1LmN1cnJlbnQ9YW8sdnUpe2Zvcih2YXIgcj1tdS5tZW1vaXplZFN0YXRlO251bGwhPT1yOyl7dmFyIGw9ci5xdWV1ZTtudWxsIT09bCYmKGwucGVuZGluZz1udWxsKSxyPXIubmV4dH12dT0hMX1pZihwdT0wLGd1PWh1PW11PW51bGwseXU9ITEsYnU9MCx6aS5jdXJyZW50PW51bGwsbnVsbD09PXR8fG51bGw9PT10LnJldHVybil7Umk9MSxEaT1uLFRpPW51bGw7YnJlYWt9ZTp7dmFyIHU9ZSxvPXQucmV0dXJuLGk9dCxzPW47aWYobj1MaSxpLmZsYWdzfD0zMjc2OCxudWxsIT09cyYmIm9iamVjdCI9PXR5cGVvZiBzJiYiZnVuY3Rpb24iPT10eXBlb2Ygcy50aGVuKXt2YXIgYz1zLGY9aSxkPWYudGFnO2lmKCEoMSZmLm1vZGV8fDAhPT1kJiYxMSE9PWQmJjE1IT09ZCkpe3ZhciBwPWYuYWx0ZXJuYXRlO3A/KGYudXBkYXRlUXVldWU9cC51cGRhdGVRdWV1ZSxmLm1lbW9pemVkU3RhdGU9cC5tZW1vaXplZFN0YXRlLGYubGFuZXM9cC5sYW5lcyk6KGYudXBkYXRlUXVldWU9bnVsbCxmLm1lbW9pemVkU3RhdGU9bnVsbCl9dmFyIG09dm8obyk7aWYobnVsbCE9PW0pe20uZmxhZ3MmPS0yNTcseW8obSxvLGksMCxuKSwxJm0ubW9kZSYmZ28odSxjLG4pLHM9Yzt2YXIgaD0obj1tKS51cGRhdGVRdWV1ZTtpZihudWxsPT09aCl7dmFyIGc9bmV3IFNldDtnLmFkZChzKSxuLnVwZGF0ZVF1ZXVlPWd9ZWxzZSBoLmFkZChzKTticmVhayBlfWlmKCEoMSZuKSl7Z28odSxjLG4pLGhzKCk7YnJlYWsgZX1zPUVycm9yKGEoNDI2KSl9ZWxzZSBpZihsYSYmMSZpLm1vZGUpe3ZhciB2PXZvKG8pO2lmKG51bGwhPT12KXshKDY1NTM2JnYuZmxhZ3MpJiYodi5mbGFnc3w9MjU2KSx5byh2LG8saSwwLG4pLG1hKHNvKHMsaSkpO2JyZWFrIGV9fXU9cz1zbyhzLGkpLDQhPT1SaSYmKFJpPTIpLG51bGw9PT1WaT9WaT1bdV06VmkucHVzaCh1KSx1PW87ZG97c3dpdGNoKHUudGFnKXtjYXNlIDM6dS5mbGFnc3w9NjU1MzYsbiY9LW4sdS5sYW5lc3w9bixJYSh1LG1vKDAscyxuKSk7YnJlYWsgZTtjYXNlIDE6aT1zO3ZhciB5PXUudHlwZSxiPXUuc3RhdGVOb2RlO2lmKCEoMTI4JnUuZmxhZ3N8fCJmdW5jdGlvbiIhPXR5cGVvZiB5LmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciYmKG51bGw9PT1ifHwiZnVuY3Rpb24iIT10eXBlb2YgYi5jb21wb25lbnREaWRDYXRjaHx8bnVsbCE9PSRpJiYkaS5oYXMoYikpKSl7dS5mbGFnc3w9NjU1MzYsbiY9LW4sdS5sYW5lc3w9bixJYSh1LGhvKHUsaSxuKSk7YnJlYWsgZX19dT11LnJldHVybn13aGlsZShudWxsIT09dSl9a3ModCl9Y2F0Y2goZSl7bj1lLFRpPT09dCYmbnVsbCE9PXQmJihUaT10PXQucmV0dXJuKTtjb250aW51ZX1icmVha319ZnVuY3Rpb24gbXMoKXt2YXIgZT1DaS5jdXJyZW50O3JldHVybiBDaS5jdXJyZW50PWFvLG51bGw9PT1lP2FvOmV9ZnVuY3Rpb24gaHMoKXswIT09UmkmJjMhPT1SaSYmMiE9PVJpfHwoUmk9NCksbnVsbD09PVBpfHwhKDI2ODQzNTQ1NSZJaSkmJiEoMjY4NDM1NDU1Jk9pKXx8b3MoUGksTGkpfWZ1bmN0aW9uIGdzKGUsbil7dmFyIHQ9X2k7X2l8PTI7dmFyIHI9bXMoKTtmb3IoUGk9PT1lJiZMaT09PW58fChIaT1udWxsLGRzKGUsbikpOzspdHJ5e3ZzKCk7YnJlYWt9Y2F0Y2gobil7cHMoZSxuKX1pZih3YSgpLF9pPXQsQ2kuY3VycmVudD1yLG51bGwhPT1UaSl0aHJvdyBFcnJvcihhKDI2MSkpO3JldHVybiBQaT1udWxsLExpPTAsUml9ZnVuY3Rpb24gdnMoKXtmb3IoO251bGwhPT1UaTspYnMoVGkpfWZ1bmN0aW9uIHlzKCl7Zm9yKDtudWxsIT09VGkmJiFZZSgpOylicyhUaSl9ZnVuY3Rpb24gYnMoZSl7dmFyIG49eGkoZS5hbHRlcm5hdGUsZSxNaSk7ZS5tZW1vaXplZFByb3BzPWUucGVuZGluZ1Byb3BzLG51bGw9PT1uP2tzKGUpOlRpPW4semkuY3VycmVudD1udWxsfWZ1bmN0aW9uIGtzKGUpe3ZhciBuPWU7ZG97dmFyIHQ9bi5hbHRlcm5hdGU7aWYoZT1uLnJldHVybiwzMjc2OCZuLmZsYWdzKXtpZihudWxsIT09KHQ9S28odCxuKSkpcmV0dXJuIHQuZmxhZ3MmPTMyNzY3LHZvaWQoVGk9dCk7aWYobnVsbD09PWUpcmV0dXJuIFJpPTYsdm9pZChUaT1udWxsKTtlLmZsYWdzfD0zMjc2OCxlLnN1YnRyZWVGbGFncz0wLGUuZGVsZXRpb25zPW51bGx9ZWxzZSBpZihudWxsIT09KHQ9cW8odCxuLE1pKSkpcmV0dXJuIHZvaWQoVGk9dCk7aWYobnVsbCE9PShuPW4uc2libGluZykpcmV0dXJuIHZvaWQoVGk9bik7VGk9bj1lfXdoaWxlKG51bGwhPT1uKTswPT09UmkmJihSaT01KX1mdW5jdGlvbiB3cyhlLG4sdCl7dmFyIHI9a24sbD1OaS50cmFuc2l0aW9uO3RyeXtOaS50cmFuc2l0aW9uPW51bGwsa249MSxmdW5jdGlvbihlLG4sdCxyKXtkb3tTcygpfXdoaWxlKG51bGwhPT1LaSk7aWYoNiZfaSl0aHJvdyBFcnJvcihhKDMyNykpO3Q9ZS5maW5pc2hlZFdvcms7dmFyIGw9ZS5maW5pc2hlZExhbmVzO2lmKG51bGw9PT10KXJldHVybiBudWxsO2lmKGUuZmluaXNoZWRXb3JrPW51bGwsZS5maW5pc2hlZExhbmVzPTAsdD09PWUuY3VycmVudCl0aHJvdyBFcnJvcihhKDE3NykpO2UuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTA7dmFyIHU9dC5sYW5lc3x0LmNoaWxkTGFuZXM7aWYoZnVuY3Rpb24oZSxuKXt2YXIgdD1lLnBlbmRpbmdMYW5lcyZ+bjtlLnBlbmRpbmdMYW5lcz1uLGUuc3VzcGVuZGVkTGFuZXM9MCxlLnBpbmdlZExhbmVzPTAsZS5leHBpcmVkTGFuZXMmPW4sZS5tdXRhYmxlUmVhZExhbmVzJj1uLGUuZW50YW5nbGVkTGFuZXMmPW4sbj1lLmVudGFuZ2xlbWVudHM7dmFyIHI9ZS5ldmVudFRpbWVzO2ZvcihlPWUuZXhwaXJhdGlvblRpbWVzOzA8dDspe3ZhciBsPTMxLXVuKHQpLGE9MTw8bDtuW2xdPTAscltsXT0tMSxlW2xdPS0xLHQmPX5hfX0oZSx1KSxlPT09UGkmJihUaT1QaT1udWxsLExpPTApLAohKDIwNjQmdC5zdWJ0cmVlRmxhZ3MpJiYhKDIwNjQmdC5mbGFncyl8fHFpfHwocWk9ITAsUHMobm4sKGZ1bmN0aW9uKCl7cmV0dXJuIFNzKCksbnVsbH0pKSksdT0hISgxNTk5MCZ0LmZsYWdzKSwhISgxNTk5MCZ0LnN1YnRyZWVGbGFncyl8fHUpe3U9TmkudHJhbnNpdGlvbixOaS50cmFuc2l0aW9uPW51bGw7dmFyIG89a247a249MTt2YXIgaT1faTtfaXw9NCx6aS5jdXJyZW50PW51bGwsZnVuY3Rpb24oZSxuKXtpZihlbD1qbixwcihlPWRyKCkpKXtpZigic2VsZWN0aW9uU3RhcnQiaW4gZSl2YXIgdD17c3RhcnQ6ZS5zZWxlY3Rpb25TdGFydCxlbmQ6ZS5zZWxlY3Rpb25FbmR9O2Vsc2UgZTp7dmFyIHI9KHQ9KHQ9ZS5vd25lckRvY3VtZW50KSYmdC5kZWZhdWx0Vmlld3x8d2luZG93KS5nZXRTZWxlY3Rpb24mJnQuZ2V0U2VsZWN0aW9uKCk7aWYociYmMCE9PXIucmFuZ2VDb3VudCl7dD1yLmFuY2hvck5vZGU7dmFyIGw9ci5hbmNob3JPZmZzZXQsdT1yLmZvY3VzTm9kZTtyPXIuZm9jdXNPZmZzZXQ7dHJ5e3Qubm9kZVR5cGUsdS5ub2RlVHlwZX1jYXRjaChlKXt0PW51bGw7YnJlYWsgZX12YXIgbz0wLGk9LTEscz0tMSxjPTAsZj0wLGQ9ZSxwPW51bGw7bjpmb3IoOzspe2Zvcih2YXIgbTtkIT09dHx8MCE9PWwmJjMhPT1kLm5vZGVUeXBlfHwoaT1vK2wpLGQhPT11fHwwIT09ciYmMyE9PWQubm9kZVR5cGV8fChzPW8rciksMz09PWQubm9kZVR5cGUmJihvKz1kLm5vZGVWYWx1ZS5sZW5ndGgpLG51bGwhPT0obT1kLmZpcnN0Q2hpbGQpOylwPWQsZD1tO2Zvcig7Oyl7aWYoZD09PWUpYnJlYWsgbjtpZihwPT09dCYmKytjPT09bCYmKGk9bykscD09PXUmJisrZj09PXImJihzPW8pLG51bGwhPT0obT1kLm5leHRTaWJsaW5nKSlicmVhaztwPShkPXApLnBhcmVudE5vZGV9ZD1tfXQ9LTE9PT1pfHwtMT09PXM/bnVsbDp7c3RhcnQ6aSxlbmQ6c319ZWxzZSB0PW51bGx9dD10fHx7c3RhcnQ6MCxlbmQ6MH19ZWxzZSB0PW51bGw7Zm9yKG5sPXtmb2N1c2VkRWxlbTplLHNlbGVjdGlvblJhbmdlOnR9LGpuPSExLFpvPW47bnVsbCE9PVpvOylpZihlPShuPVpvKS5jaGlsZCwxMDI4Jm4uc3VidHJlZUZsYWdzJiZudWxsIT09ZSllLnJldHVybj1uLFpvPWU7ZWxzZSBmb3IoO251bGwhPT1abzspe249Wm87dHJ5e3ZhciBoPW4uYWx0ZXJuYXRlO2lmKDEwMjQmbi5mbGFncylzd2l0Y2gobi50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6Y2FzZSA1OmNhc2UgNjpjYXNlIDQ6Y2FzZSAxNzpicmVhaztjYXNlIDE6aWYobnVsbCE9PWgpe3ZhciBnPWgubWVtb2l6ZWRQcm9wcyx2PWgubWVtb2l6ZWRTdGF0ZSx5PW4uc3RhdGVOb2RlLGI9eS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZShuLmVsZW1lbnRUeXBlPT09bi50eXBlP2c6Z2Eobi50eXBlLGcpLHYpO3kuX19yZWFjdEludGVybmFsU25hcHNob3RCZWZvcmVVcGRhdGU9Yn1icmVhaztjYXNlIDM6dmFyIGs9bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbzsxPT09ay5ub2RlVHlwZT9rLnRleHRDb250ZW50PSIiOjk9PT1rLm5vZGVUeXBlJiZrLmRvY3VtZW50RWxlbWVudCYmay5yZW1vdmVDaGlsZChrLmRvY3VtZW50RWxlbWVudCk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcihhKDE2MykpfX1jYXRjaChlKXtFcyhuLG4ucmV0dXJuLGUpfWlmKG51bGwhPT0oZT1uLnNpYmxpbmcpKXtlLnJldHVybj1uLnJldHVybixabz1lO2JyZWFrfVpvPW4ucmV0dXJufWg9bmksbmk9ITF9KGUsdCksZ2kodCxlKSxtcihubCksam49ISFlbCxubD1lbD1udWxsLGUuY3VycmVudD10LHlpKHQsZSxsKSxYZSgpLF9pPWksa249byxOaS50cmFuc2l0aW9uPXV9ZWxzZSBlLmN1cnJlbnQ9dDtpZihxaSYmKHFpPSExLEtpPWUsWWk9bCksdT1lLnBlbmRpbmdMYW5lcywwPT09dSYmKCRpPW51bGwpLGZ1bmN0aW9uKGUpe2lmKGFuJiYiZnVuY3Rpb24iPT10eXBlb2YgYW4ub25Db21taXRGaWJlclJvb3QpdHJ5e2FuLm9uQ29tbWl0RmliZXJSb290KGxuLGUsdm9pZCAwLCEoMTI4Jn5lLmN1cnJlbnQuZmxhZ3MpKX1jYXRjaChlKXt9fSh0LnN0YXRlTm9kZSkscnMoZSxHZSgpKSxudWxsIT09bilmb3Iocj1lLm9uUmVjb3ZlcmFibGVFcnJvcix0PTA7dDxuLmxlbmd0aDt0KyspbD1uW3RdLHIobC52YWx1ZSx7Y29tcG9uZW50U3RhY2s6bC5zdGFjayxkaWdlc3Q6bC5kaWdlc3R9KTtpZihRaSl0aHJvdyBRaT0hMSxlPWppLGppPW51bGwsZTshISgxJllpKSYmMCE9PWUudGFnJiZTcygpLHU9ZS5wZW5kaW5nTGFuZXMsMSZ1P2U9PT1HaT9YaSsrOihYaT0wLEdpPWUpOlhpPTAsV2woKX0oZSxuLHQscil9ZmluYWxseXtOaS50cmFuc2l0aW9uPWwsa249cn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBTcygpe2lmKG51bGwhPT1LaSl7dmFyIGU9d24oWWkpLG49TmkudHJhbnNpdGlvbix0PWtuO3RyeXtpZihOaS50cmFuc2l0aW9uPW51bGwsa249MTY+ZT8xNjplLG51bGw9PT1LaSl2YXIgcj0hMTtlbHNle2lmKGU9S2ksS2k9bnVsbCxZaT0wLDYmX2kpdGhyb3cgRXJyb3IoYSgzMzEpKTt2YXIgbD1faTtmb3IoX2l8PTQsWm89ZS5jdXJyZW50O251bGwhPT1abzspe3ZhciB1PVpvLG89dS5jaGlsZDtpZigxNiZaby5mbGFncyl7dmFyIGk9dS5kZWxldGlvbnM7aWYobnVsbCE9PWkpe2Zvcih2YXIgcz0wO3M8aS5sZW5ndGg7cysrKXt2YXIgYz1pW3NdO2Zvcihabz1jO251bGwhPT1abzspe3ZhciBmPVpvO3N3aXRjaChmLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTp0aSg4LGYsdSl9dmFyIGQ9Zi5jaGlsZDtpZihudWxsIT09ZClkLnJldHVybj1mLFpvPWQ7ZWxzZSBmb3IoO251bGwhPT1abzspe3ZhciBwPShmPVpvKS5zaWJsaW5nLG09Zi5yZXR1cm47aWYoYWkoZiksZj09PWMpe1pvPW51bGw7YnJlYWt9aWYobnVsbCE9PXApe3AucmV0dXJuPW0sWm89cDticmVha31abz1tfX19dmFyIGg9dS5hbHRlcm5hdGU7aWYobnVsbCE9PWgpe3ZhciBnPWguY2hpbGQ7aWYobnVsbCE9PWcpe2guY2hpbGQ9bnVsbDtkb3t2YXIgdj1nLnNpYmxpbmc7Zy5zaWJsaW5nPW51bGwsZz12fXdoaWxlKG51bGwhPT1nKX19Wm89dX19aWYoMjA2NCZ1LnN1YnRyZWVGbGFncyYmbnVsbCE9PW8pby5yZXR1cm49dSwKWm89bztlbHNlIGU6Zm9yKDtudWxsIT09Wm87KXtpZigyMDQ4Jih1PVpvKS5mbGFncylzd2l0Y2godS50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6dGkoOSx1LHUucmV0dXJuKX12YXIgeT11LnNpYmxpbmc7aWYobnVsbCE9PXkpe3kucmV0dXJuPXUucmV0dXJuLFpvPXk7YnJlYWsgZX1abz11LnJldHVybn19dmFyIGI9ZS5jdXJyZW50O2Zvcihabz1iO251bGwhPT1abzspe3ZhciBrPShvPVpvKS5jaGlsZDtpZigyMDY0Jm8uc3VidHJlZUZsYWdzJiZudWxsIT09aylrLnJldHVybj1vLFpvPWs7ZWxzZSBlOmZvcihvPWI7bnVsbCE9PVpvOyl7aWYoMjA0OCYoaT1abykuZmxhZ3MpdHJ5e3N3aXRjaChpLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpyaSg5LGkpfX1jYXRjaChlKXtFcyhpLGkucmV0dXJuLGUpfWlmKGk9PT1vKXtabz1udWxsO2JyZWFrIGV9dmFyIHc9aS5zaWJsaW5nO2lmKG51bGwhPT13KXt3LnJldHVybj1pLnJldHVybixabz13O2JyZWFrIGV9Wm89aS5yZXR1cm59fWlmKF9pPWwsV2woKSxhbiYmImZ1bmN0aW9uIj09dHlwZW9mIGFuLm9uUG9zdENvbW1pdEZpYmVyUm9vdCl0cnl7YW4ub25Qb3N0Q29tbWl0RmliZXJSb290KGxuLGUpfWNhdGNoKGUpe31yPSEwfXJldHVybiByfWZpbmFsbHl7a249dCxOaS50cmFuc2l0aW9uPW59fXJldHVybiExfWZ1bmN0aW9uIHhzKGUsbix0KXtlPVJhKGUsbj1tbygwLG49c28odCxuKSwxKSwxKSxuPWVzKCksbnVsbCE9PWUmJih5bihlLDEsbikscnMoZSxuKSl9ZnVuY3Rpb24gRXMoZSxuLHQpe2lmKDM9PT1lLnRhZyl4cyhlLGUsdCk7ZWxzZSBmb3IoO251bGwhPT1uOyl7aWYoMz09PW4udGFnKXt4cyhuLGUsdCk7YnJlYWt9aWYoMT09PW4udGFnKXt2YXIgcj1uLnN0YXRlTm9kZTtpZigiZnVuY3Rpb24iPT10eXBlb2Ygbi50eXBlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcnx8ImZ1bmN0aW9uIj09dHlwZW9mIHIuY29tcG9uZW50RGlkQ2F0Y2gmJihudWxsPT09JGl8fCEkaS5oYXMocikpKXtuPVJhKG4sZT1obyhuLGU9c28odCxlKSwxKSwxKSxlPWVzKCksbnVsbCE9PW4mJih5bihuLDEsZSkscnMobixlKSk7YnJlYWt9fW49bi5yZXR1cm59fWZ1bmN0aW9uIENzKGUsbix0KXt2YXIgcj1lLnBpbmdDYWNoZTtudWxsIT09ciYmci5kZWxldGUobiksbj1lcygpLGUucGluZ2VkTGFuZXN8PWUuc3VzcGVuZGVkTGFuZXMmdCxQaT09PWUmJihMaSZ0KT09PXQmJig0PT09Uml8fDM9PT1SaSYmKDEzMDAyMzQyNCZMaSk9PT1MaSYmNTAwPkdlKCktQmk/ZHMoZSwwKTpVaXw9dCkscnMoZSxuKX1mdW5jdGlvbiB6cyhlLG4pezA9PT1uJiYoMSZlLm1vZGU/KG49Zm4sISgxMzAwMjM0MjQmKGZuPDw9MSkpJiYoZm49NDE5NDMwNCkpOm49MSk7dmFyIHQ9ZXMoKTtudWxsIT09KGU9UGEoZSxuKSkmJih5bihlLG4sdCkscnMoZSx0KSl9ZnVuY3Rpb24gTnMoZSl7dmFyIG49ZS5tZW1vaXplZFN0YXRlLHQ9MDtudWxsIT09biYmKHQ9bi5yZXRyeUxhbmUpLHpzKGUsdCl9ZnVuY3Rpb24gX3MoZSxuKXt2YXIgdD0wO3N3aXRjaChlLnRhZyl7Y2FzZSAxMzp2YXIgcj1lLnN0YXRlTm9kZSxsPWUubWVtb2l6ZWRTdGF0ZTtudWxsIT09bCYmKHQ9bC5yZXRyeUxhbmUpO2JyZWFrO2Nhc2UgMTk6cj1lLnN0YXRlTm9kZTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKGEoMzE0KSl9bnVsbCE9PXImJnIuZGVsZXRlKG4pLHpzKGUsdCl9ZnVuY3Rpb24gUHMoZSxuKXtyZXR1cm4gcWUoZSxuKX1mdW5jdGlvbiBUcyhlLG4sdCxyKXt0aGlzLnRhZz1lLHRoaXMua2V5PXQsdGhpcy5zaWJsaW5nPXRoaXMuY2hpbGQ9dGhpcy5yZXR1cm49dGhpcy5zdGF0ZU5vZGU9dGhpcy50eXBlPXRoaXMuZWxlbWVudFR5cGU9bnVsbCx0aGlzLmluZGV4PTAsdGhpcy5yZWY9bnVsbCx0aGlzLnBlbmRpbmdQcm9wcz1uLHRoaXMuZGVwZW5kZW5jaWVzPXRoaXMubWVtb2l6ZWRTdGF0ZT10aGlzLnVwZGF0ZVF1ZXVlPXRoaXMubWVtb2l6ZWRQcm9wcz1udWxsLHRoaXMubW9kZT1yLHRoaXMuc3VidHJlZUZsYWdzPXRoaXMuZmxhZ3M9MCx0aGlzLmRlbGV0aW9ucz1udWxsLHRoaXMuY2hpbGRMYW5lcz10aGlzLmxhbmVzPTAsdGhpcy5hbHRlcm5hdGU9bnVsbH1mdW5jdGlvbiBMcyhlLG4sdCxyKXtyZXR1cm4gbmV3IFRzKGUsbix0LHIpfWZ1bmN0aW9uIE1zKGUpe3JldHVybiEoIShlPWUucHJvdG90eXBlKXx8IWUuaXNSZWFjdENvbXBvbmVudCl9ZnVuY3Rpb24gRnMoZSxuKXt2YXIgdD1lLmFsdGVybmF0ZTtyZXR1cm4gbnVsbD09PXQ/KCh0PUxzKGUudGFnLG4sZS5rZXksZS5tb2RlKSkuZWxlbWVudFR5cGU9ZS5lbGVtZW50VHlwZSx0LnR5cGU9ZS50eXBlLHQuc3RhdGVOb2RlPWUuc3RhdGVOb2RlLHQuYWx0ZXJuYXRlPWUsZS5hbHRlcm5hdGU9dCk6KHQucGVuZGluZ1Byb3BzPW4sdC50eXBlPWUudHlwZSx0LmZsYWdzPTAsdC5zdWJ0cmVlRmxhZ3M9MCx0LmRlbGV0aW9ucz1udWxsKSx0LmZsYWdzPTE0NjgwMDY0JmUuZmxhZ3MsdC5jaGlsZExhbmVzPWUuY2hpbGRMYW5lcyx0LmxhbmVzPWUubGFuZXMsdC5jaGlsZD1lLmNoaWxkLHQubWVtb2l6ZWRQcm9wcz1lLm1lbW9pemVkUHJvcHMsdC5tZW1vaXplZFN0YXRlPWUubWVtb2l6ZWRTdGF0ZSx0LnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsbj1lLmRlcGVuZGVuY2llcyx0LmRlcGVuZGVuY2llcz1udWxsPT09bj9udWxsOntsYW5lczpuLmxhbmVzLGZpcnN0Q29udGV4dDpuLmZpcnN0Q29udGV4dH0sdC5zaWJsaW5nPWUuc2libGluZyx0LmluZGV4PWUuaW5kZXgsdC5yZWY9ZS5yZWYsdH1mdW5jdGlvbiBScyhlLG4sdCxyLGwsdSl7dmFyIG89MjtpZihyPWUsImZ1bmN0aW9uIj09dHlwZW9mIGUpTXMoZSkmJihvPTEpO2Vsc2UgaWYoInN0cmluZyI9PXR5cGVvZiBlKW89NTtlbHNlIGU6c3dpdGNoKGUpe2Nhc2UgeDpyZXR1cm4gRHModC5jaGlsZHJlbixsLHUsbik7Y2FzZSBFOm89OCxsfD04O2JyZWFrO2Nhc2UgQzpyZXR1cm4oZT1McygxMix0LG4sMnxsKSkuZWxlbWVudFR5cGU9QyxlLmxhbmVzPXUsZTtjYXNlIFA6cmV0dXJuKGU9THMoMTMsdCxuLGwpKS5lbGVtZW50VHlwZT1QLGUubGFuZXM9dSxlO2Nhc2UgVDoKcmV0dXJuKGU9THMoMTksdCxuLGwpKS5lbGVtZW50VHlwZT1ULGUubGFuZXM9dSxlO2Nhc2UgRjpyZXR1cm4gSXModCxsLHUsbik7ZGVmYXVsdDppZigib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lKXN3aXRjaChlLiQkdHlwZW9mKXtjYXNlIHo6bz0xMDticmVhayBlO2Nhc2UgTjpvPTk7YnJlYWsgZTtjYXNlIF86bz0xMTticmVhayBlO2Nhc2UgTDpvPTE0O2JyZWFrIGU7Y2FzZSBNOm89MTYscj1udWxsO2JyZWFrIGV9dGhyb3cgRXJyb3IoYSgxMzAsbnVsbD09ZT9lOnR5cGVvZiBlLCIiKSl9cmV0dXJuKG49THMobyx0LG4sbCkpLmVsZW1lbnRUeXBlPWUsbi50eXBlPXIsbi5sYW5lcz11LG59ZnVuY3Rpb24gRHMoZSxuLHQscil7cmV0dXJuKGU9THMoNyxlLHIsbikpLmxhbmVzPXQsZX1mdW5jdGlvbiBJcyhlLG4sdCxyKXtyZXR1cm4oZT1McygyMixlLHIsbikpLmVsZW1lbnRUeXBlPUYsZS5sYW5lcz10LGUuc3RhdGVOb2RlPXtpc0hpZGRlbjohMX0sZX1mdW5jdGlvbiBPcyhlLG4sdCl7cmV0dXJuKGU9THMoNixlLG51bGwsbikpLmxhbmVzPXQsZX1mdW5jdGlvbiBVcyhlLG4sdCl7cmV0dXJuKG49THMoNCxudWxsIT09ZS5jaGlsZHJlbj9lLmNoaWxkcmVuOltdLGUua2V5LG4pKS5sYW5lcz10LG4uc3RhdGVOb2RlPXtjb250YWluZXJJbmZvOmUuY29udGFpbmVySW5mbyxwZW5kaW5nQ2hpbGRyZW46bnVsbCxpbXBsZW1lbnRhdGlvbjplLmltcGxlbWVudGF0aW9ufSxufWZ1bmN0aW9uIFZzKGUsbix0LHIsbCl7dGhpcy50YWc9bix0aGlzLmNvbnRhaW5lckluZm89ZSx0aGlzLmZpbmlzaGVkV29yaz10aGlzLnBpbmdDYWNoZT10aGlzLmN1cnJlbnQ9dGhpcy5wZW5kaW5nQ2hpbGRyZW49bnVsbCx0aGlzLnRpbWVvdXRIYW5kbGU9LTEsdGhpcy5jYWxsYmFja05vZGU9dGhpcy5wZW5kaW5nQ29udGV4dD10aGlzLmNvbnRleHQ9bnVsbCx0aGlzLmNhbGxiYWNrUHJpb3JpdHk9MCx0aGlzLmV2ZW50VGltZXM9dm4oMCksdGhpcy5leHBpcmF0aW9uVGltZXM9dm4oLTEpLHRoaXMuZW50YW5nbGVkTGFuZXM9dGhpcy5maW5pc2hlZExhbmVzPXRoaXMubXV0YWJsZVJlYWRMYW5lcz10aGlzLmV4cGlyZWRMYW5lcz10aGlzLnBpbmdlZExhbmVzPXRoaXMuc3VzcGVuZGVkTGFuZXM9dGhpcy5wZW5kaW5nTGFuZXM9MCx0aGlzLmVudGFuZ2xlbWVudHM9dm4oMCksdGhpcy5pZGVudGlmaWVyUHJlZml4PXIsdGhpcy5vblJlY292ZXJhYmxlRXJyb3I9bCx0aGlzLm11dGFibGVTb3VyY2VFYWdlckh5ZHJhdGlvbkRhdGE9bnVsbH1mdW5jdGlvbiBBcyhlLG4sdCxyLGwsYSx1LG8saSl7cmV0dXJuIGU9bmV3IFZzKGUsbix0LG8saSksMT09PW4/KG49MSwhMD09PWEmJihufD04KSk6bj0wLGE9THMoMyxudWxsLG51bGwsbiksZS5jdXJyZW50PWEsYS5zdGF0ZU5vZGU9ZSxhLm1lbW9pemVkU3RhdGU9e2VsZW1lbnQ6cixpc0RlaHlkcmF0ZWQ6dCxjYWNoZTpudWxsLHRyYW5zaXRpb25zOm51bGwscGVuZGluZ1N1c3BlbnNlQm91bmRhcmllczpudWxsfSxMYShhKSxlfWZ1bmN0aW9uIEJzKGUpe2lmKCFlKXJldHVybiBObDtlOntpZihXZShlPWUuX3JlYWN0SW50ZXJuYWxzKSE9PWV8fDEhPT1lLnRhZyl0aHJvdyBFcnJvcihhKDE3MCkpO3ZhciBuPWU7ZG97c3dpdGNoKG4udGFnKXtjYXNlIDM6bj1uLnN0YXRlTm9kZS5jb250ZXh0O2JyZWFrIGU7Y2FzZSAxOmlmKE1sKG4udHlwZSkpe249bi5zdGF0ZU5vZGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNZXJnZWRDaGlsZENvbnRleHQ7YnJlYWsgZX19bj1uLnJldHVybn13aGlsZShudWxsIT09bik7dGhyb3cgRXJyb3IoYSgxNzEpKX1pZigxPT09ZS50YWcpe3ZhciB0PWUudHlwZTtpZihNbCh0KSlyZXR1cm4gRGwoZSx0LG4pfXJldHVybiBufWZ1bmN0aW9uIFdzKGUsbix0LHIsbCxhLHUsbyxpKXtyZXR1cm4oZT1Bcyh0LHIsITAsZSwwLGEsMCxvLGkpKS5jb250ZXh0PUJzKG51bGwpLHQ9ZS5jdXJyZW50LChhPUZhKHI9ZXMoKSxsPW5zKHQpKSkuY2FsbGJhY2s9bnVsbCE9bj9uOm51bGwsUmEodCxhLGwpLGUuY3VycmVudC5sYW5lcz1sLHluKGUsbCxyKSxycyhlLHIpLGV9ZnVuY3Rpb24gSHMoZSxuLHQscil7dmFyIGw9bi5jdXJyZW50LGE9ZXMoKSx1PW5zKGwpO3JldHVybiB0PUJzKHQpLG51bGw9PT1uLmNvbnRleHQ/bi5jb250ZXh0PXQ6bi5wZW5kaW5nQ29udGV4dD10LChuPUZhKGEsdSkpLnBheWxvYWQ9e2VsZW1lbnQ6ZX0sbnVsbCE9PShyPXZvaWQgMD09PXI/bnVsbDpyKSYmKG4uY2FsbGJhY2s9ciksbnVsbCE9PShlPVJhKGwsbix1KSkmJih0cyhlLGwsdSxhKSxEYShlLGwsdSkpLHV9ZnVuY3Rpb24gUXMoZSl7cmV0dXJuKGU9ZS5jdXJyZW50KS5jaGlsZD8oZS5jaGlsZC50YWcsZS5jaGlsZC5zdGF0ZU5vZGUpOm51bGx9ZnVuY3Rpb24ganMoZSxuKXtpZihudWxsIT09KGU9ZS5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PWUuZGVoeWRyYXRlZCl7dmFyIHQ9ZS5yZXRyeUxhbmU7ZS5yZXRyeUxhbmU9MCE9PXQmJnQ8bj90Om59fWZ1bmN0aW9uICRzKGUsbil7anMoZSxuKSwoZT1lLmFsdGVybmF0ZSkmJmpzKGUsbil9eGk9ZnVuY3Rpb24oZSxuLHQpe2lmKG51bGwhPT1lKWlmKGUubWVtb2l6ZWRQcm9wcyE9PW4ucGVuZGluZ1Byb3BzfHxQbC5jdXJyZW50KWtvPSEwO2Vsc2V7aWYoIShlLmxhbmVzJnR8fDEyOCZuLmZsYWdzKSlyZXR1cm4ga289ITEsZnVuY3Rpb24oZSxuLHQpe3N3aXRjaChuLnRhZyl7Y2FzZSAzOlRvKG4pLHBhKCk7YnJlYWs7Y2FzZSA1OmF1KG4pO2JyZWFrO2Nhc2UgMTpNbChuLnR5cGUpJiZJbChuKTticmVhaztjYXNlIDQ6cnUobixuLnN0YXRlTm9kZS5jb250YWluZXJJbmZvKTticmVhaztjYXNlIDEwOnZhciByPW4udHlwZS5fY29udGV4dCxsPW4ubWVtb2l6ZWRQcm9wcy52YWx1ZTt6bCh2YSxyLl9jdXJyZW50VmFsdWUpLHIuX2N1cnJlbnRWYWx1ZT1sO2JyZWFrO2Nhc2UgMTM6aWYobnVsbCE9PShyPW4ubWVtb2l6ZWRTdGF0ZSkpcmV0dXJuIG51bGwhPT1yLmRlaHlkcmF0ZWQ/KHpsKG91LDEmb3UuY3VycmVudCksbi5mbGFnc3w9MTI4LG51bGwpOnQmbi5jaGlsZC5jaGlsZExhbmVzP09vKGUsbix0KTooemwob3UsMSZvdS5jdXJyZW50KSwKbnVsbCE9PShlPVFvKGUsbix0KSk/ZS5zaWJsaW5nOm51bGwpO3psKG91LDEmb3UuY3VycmVudCk7YnJlYWs7Y2FzZSAxOTppZihyPSEhKHQmbi5jaGlsZExhbmVzKSwxMjgmZS5mbGFncyl7aWYocilyZXR1cm4gV28oZSxuLHQpO24uZmxhZ3N8PTEyOH1pZihudWxsIT09KGw9bi5tZW1vaXplZFN0YXRlKSYmKGwucmVuZGVyaW5nPW51bGwsbC50YWlsPW51bGwsbC5sYXN0RWZmZWN0PW51bGwpLHpsKG91LG91LmN1cnJlbnQpLHIpYnJlYWs7cmV0dXJuIG51bGw7Y2FzZSAyMjpjYXNlIDIzOnJldHVybiBuLmxhbmVzPTAsQ28oZSxuLHQpfXJldHVybiBRbyhlLG4sdCl9KGUsbix0KTtrbz0hISgxMzEwNzImZS5mbGFncyl9ZWxzZSBrbz0hMSxsYSYmMTA0ODU3NiZuLmZsYWdzJiZKbChuLCRsLG4uaW5kZXgpO3N3aXRjaChuLmxhbmVzPTAsbi50YWcpe2Nhc2UgMjp2YXIgcj1uLnR5cGU7SG8oZSxuKSxlPW4ucGVuZGluZ1Byb3BzO3ZhciBsPUxsKG4sX2wuY3VycmVudCk7RWEobix0KSxsPXh1KG51bGwsbixyLGUsbCx0KTt2YXIgdT1FdSgpO3JldHVybiBuLmZsYWdzfD0xLCJvYmplY3QiPT10eXBlb2YgbCYmbnVsbCE9PWwmJiJmdW5jdGlvbiI9PXR5cGVvZiBsLnJlbmRlciYmdm9pZCAwPT09bC4kJHR5cGVvZj8obi50YWc9MSxuLm1lbW9pemVkU3RhdGU9bnVsbCxuLnVwZGF0ZVF1ZXVlPW51bGwsTWwocik/KHU9ITAsSWwobikpOnU9ITEsbi5tZW1vaXplZFN0YXRlPW51bGwhPT1sLnN0YXRlJiZ2b2lkIDAhPT1sLnN0YXRlP2wuc3RhdGU6bnVsbCxMYShuKSxsLnVwZGF0ZXI9QmEsbi5zdGF0ZU5vZGU9bCxsLl9yZWFjdEludGVybmFscz1uLGphKG4scixlLHQpLG49UG8obnVsbCxuLHIsITAsdSx0KSk6KG4udGFnPTAsbGEmJnUmJmVhKG4pLHdvKG51bGwsbixsLHQpLG49bi5jaGlsZCksbjtjYXNlIDE2OnI9bi5lbGVtZW50VHlwZTtlOntzd2l0Y2goSG8oZSxuKSxlPW4ucGVuZGluZ1Byb3BzLHI9KGw9ci5faW5pdCkoci5fcGF5bG9hZCksbi50eXBlPXIsbD1uLnRhZz1mdW5jdGlvbihlKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgZSlyZXR1cm4gTXMoZSk/MTowO2lmKG51bGwhPWUpe2lmKChlPWUuJCR0eXBlb2YpPT09XylyZXR1cm4gMTE7aWYoZT09PUwpcmV0dXJuIDE0fXJldHVybiAyfShyKSxlPWdhKHIsZSksbCl7Y2FzZSAwOm49Tm8obnVsbCxuLHIsZSx0KTticmVhayBlO2Nhc2UgMTpuPV9vKG51bGwsbixyLGUsdCk7YnJlYWsgZTtjYXNlIDExOm49U28obnVsbCxuLHIsZSx0KTticmVhayBlO2Nhc2UgMTQ6bj14byhudWxsLG4scixnYShyLnR5cGUsZSksdCk7YnJlYWsgZX10aHJvdyBFcnJvcihhKDMwNixyLCIiKSl9cmV0dXJuIG47Y2FzZSAwOnJldHVybiByPW4udHlwZSxsPW4ucGVuZGluZ1Byb3BzLE5vKGUsbixyLGw9bi5lbGVtZW50VHlwZT09PXI/bDpnYShyLGwpLHQpO2Nhc2UgMTpyZXR1cm4gcj1uLnR5cGUsbD1uLnBlbmRpbmdQcm9wcyxfbyhlLG4scixsPW4uZWxlbWVudFR5cGU9PT1yP2w6Z2EocixsKSx0KTtjYXNlIDM6ZTp7aWYoVG8obiksbnVsbD09PWUpdGhyb3cgRXJyb3IoYSgzODcpKTtyPW4ucGVuZGluZ1Byb3BzLGw9KHU9bi5tZW1vaXplZFN0YXRlKS5lbGVtZW50LE1hKGUsbiksT2EobixyLG51bGwsdCk7dmFyIG89bi5tZW1vaXplZFN0YXRlO2lmKHI9by5lbGVtZW50LHUuaXNEZWh5ZHJhdGVkKXtpZih1PXtlbGVtZW50OnIsaXNEZWh5ZHJhdGVkOiExLGNhY2hlOm8uY2FjaGUscGVuZGluZ1N1c3BlbnNlQm91bmRhcmllczpvLnBlbmRpbmdTdXNwZW5zZUJvdW5kYXJpZXMsdHJhbnNpdGlvbnM6by50cmFuc2l0aW9uc30sbi51cGRhdGVRdWV1ZS5iYXNlU3RhdGU9dSxuLm1lbW9pemVkU3RhdGU9dSwyNTYmbi5mbGFncyl7bj1MbyhlLG4scix0LGw9c28oRXJyb3IoYSg0MjMpKSxuKSk7YnJlYWsgZX1pZihyIT09bCl7bj1MbyhlLG4scix0LGw9c28oRXJyb3IoYSg0MjQpKSxuKSk7YnJlYWsgZX1mb3IocmE9c2wobi5zdGF0ZU5vZGUuY29udGFpbmVySW5mby5maXJzdENoaWxkKSx0YT1uLGxhPSEwLGFhPW51bGwsdD1HYShuLG51bGwscix0KSxuLmNoaWxkPXQ7dDspdC5mbGFncz0tMyZ0LmZsYWdzfDQwOTYsdD10LnNpYmxpbmd9ZWxzZXtpZihwYSgpLHI9PT1sKXtuPVFvKGUsbix0KTticmVhayBlfXdvKGUsbixyLHQpfW49bi5jaGlsZH1yZXR1cm4gbjtjYXNlIDU6cmV0dXJuIGF1KG4pLG51bGw9PT1lJiZzYShuKSxyPW4udHlwZSxsPW4ucGVuZGluZ1Byb3BzLHU9bnVsbCE9PWU/ZS5tZW1vaXplZFByb3BzOm51bGwsbz1sLmNoaWxkcmVuLHRsKHIsbCk/bz1udWxsOm51bGwhPT11JiZ0bChyLHUpJiYobi5mbGFnc3w9MzIpLHpvKGUsbiksd28oZSxuLG8sdCksbi5jaGlsZDtjYXNlIDY6cmV0dXJuIG51bGw9PT1lJiZzYShuKSxudWxsO2Nhc2UgMTM6cmV0dXJuIE9vKGUsbix0KTtjYXNlIDQ6cmV0dXJuIHJ1KG4sbi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbykscj1uLnBlbmRpbmdQcm9wcyxudWxsPT09ZT9uLmNoaWxkPVhhKG4sbnVsbCxyLHQpOndvKGUsbixyLHQpLG4uY2hpbGQ7Y2FzZSAxMTpyZXR1cm4gcj1uLnR5cGUsbD1uLnBlbmRpbmdQcm9wcyxTbyhlLG4scixsPW4uZWxlbWVudFR5cGU9PT1yP2w6Z2EocixsKSx0KTtjYXNlIDc6cmV0dXJuIHdvKGUsbixuLnBlbmRpbmdQcm9wcyx0KSxuLmNoaWxkO2Nhc2UgODpjYXNlIDEyOnJldHVybiB3byhlLG4sbi5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sdCksbi5jaGlsZDtjYXNlIDEwOmU6e2lmKHI9bi50eXBlLl9jb250ZXh0LGw9bi5wZW5kaW5nUHJvcHMsdT1uLm1lbW9pemVkUHJvcHMsbz1sLnZhbHVlLHpsKHZhLHIuX2N1cnJlbnRWYWx1ZSksci5fY3VycmVudFZhbHVlPW8sbnVsbCE9PXUpaWYob3IodS52YWx1ZSxvKSl7aWYodS5jaGlsZHJlbj09PWwuY2hpbGRyZW4mJiFQbC5jdXJyZW50KXtuPVFvKGUsbix0KTticmVhayBlfX1lbHNlIGZvcihudWxsIT09KHU9bi5jaGlsZCkmJih1LnJldHVybj1uKTtudWxsIT09dTspe3ZhciBpPXUuZGVwZW5kZW5jaWVzO2lmKG51bGwhPT1pKXtvPXUuY2hpbGQ7Zm9yKHZhciBzPWkuZmlyc3RDb250ZXh0O251bGwhPT1zOyl7aWYocy5jb250ZXh0PT09cil7CmlmKDE9PT11LnRhZyl7KHM9RmEoLTEsdCYtdCkpLnRhZz0yO3ZhciBjPXUudXBkYXRlUXVldWU7aWYobnVsbCE9PWMpe3ZhciBmPShjPWMuc2hhcmVkKS5wZW5kaW5nO251bGw9PT1mP3MubmV4dD1zOihzLm5leHQ9Zi5uZXh0LGYubmV4dD1zKSxjLnBlbmRpbmc9c319dS5sYW5lc3w9dCxudWxsIT09KHM9dS5hbHRlcm5hdGUpJiYocy5sYW5lc3w9dCkseGEodS5yZXR1cm4sdCxuKSxpLmxhbmVzfD10O2JyZWFrfXM9cy5uZXh0fX1lbHNlIGlmKDEwPT09dS50YWcpbz11LnR5cGU9PT1uLnR5cGU/bnVsbDp1LmNoaWxkO2Vsc2UgaWYoMTg9PT11LnRhZyl7aWYobnVsbD09PShvPXUucmV0dXJuKSl0aHJvdyBFcnJvcihhKDM0MSkpO28ubGFuZXN8PXQsbnVsbCE9PShpPW8uYWx0ZXJuYXRlKSYmKGkubGFuZXN8PXQpLHhhKG8sdCxuKSxvPXUuc2libGluZ31lbHNlIG89dS5jaGlsZDtpZihudWxsIT09bylvLnJldHVybj11O2Vsc2UgZm9yKG89dTtudWxsIT09bzspe2lmKG89PT1uKXtvPW51bGw7YnJlYWt9aWYobnVsbCE9PSh1PW8uc2libGluZykpe3UucmV0dXJuPW8ucmV0dXJuLG89dTticmVha31vPW8ucmV0dXJufXU9b313byhlLG4sbC5jaGlsZHJlbix0KSxuPW4uY2hpbGR9cmV0dXJuIG47Y2FzZSA5OnJldHVybiBsPW4udHlwZSxyPW4ucGVuZGluZ1Byb3BzLmNoaWxkcmVuLEVhKG4sdCkscj1yKGw9Q2EobCkpLG4uZmxhZ3N8PTEsd28oZSxuLHIsdCksbi5jaGlsZDtjYXNlIDE0OnJldHVybiBsPWdhKHI9bi50eXBlLG4ucGVuZGluZ1Byb3BzKSx4byhlLG4scixsPWdhKHIudHlwZSxsKSx0KTtjYXNlIDE1OnJldHVybiBFbyhlLG4sbi50eXBlLG4ucGVuZGluZ1Byb3BzLHQpO2Nhc2UgMTc6cmV0dXJuIHI9bi50eXBlLGw9bi5wZW5kaW5nUHJvcHMsbD1uLmVsZW1lbnRUeXBlPT09cj9sOmdhKHIsbCksSG8oZSxuKSxuLnRhZz0xLE1sKHIpPyhlPSEwLElsKG4pKTplPSExLEVhKG4sdCksSGEobixyLGwpLGphKG4scixsLHQpLFBvKG51bGwsbixyLCEwLGUsdCk7Y2FzZSAxOTpyZXR1cm4gV28oZSxuLHQpO2Nhc2UgMjI6cmV0dXJuIENvKGUsbix0KX10aHJvdyBFcnJvcihhKDE1NixuLnRhZykpfTt2YXIgcXM9ImZ1bmN0aW9uIj09dHlwZW9mIHJlcG9ydEVycm9yP3JlcG9ydEVycm9yOmZ1bmN0aW9uKGUpe2NvbnNvbGUuZXJyb3IoZSl9O2Z1bmN0aW9uIEtzKGUpe3RoaXMuX2ludGVybmFsUm9vdD1lfWZ1bmN0aW9uIFlzKGUpe3RoaXMuX2ludGVybmFsUm9vdD1lfWZ1bmN0aW9uIFhzKGUpe3JldHVybiEoIWV8fDEhPT1lLm5vZGVUeXBlJiY5IT09ZS5ub2RlVHlwZSYmMTEhPT1lLm5vZGVUeXBlKX1mdW5jdGlvbiBHcyhlKXtyZXR1cm4hKCFlfHwxIT09ZS5ub2RlVHlwZSYmOSE9PWUubm9kZVR5cGUmJjExIT09ZS5ub2RlVHlwZSYmKDghPT1lLm5vZGVUeXBlfHwiIHJlYWN0LW1vdW50LXBvaW50LXVuc3RhYmxlICIhPT1lLm5vZGVWYWx1ZSkpfWZ1bmN0aW9uIFpzKCl7fWZ1bmN0aW9uIEpzKGUsbix0LHIsbCl7dmFyIGE9dC5fcmVhY3RSb290Q29udGFpbmVyO2lmKGEpe3ZhciB1PWE7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGwpe3ZhciBvPWw7bD1mdW5jdGlvbigpe3ZhciBlPVFzKHUpO28uY2FsbChlKX19SHMobix1LGUsbCl9ZWxzZSB1PWZ1bmN0aW9uKGUsbix0LHIsbCl7aWYobCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpe3ZhciBhPXI7cj1mdW5jdGlvbigpe3ZhciBlPVFzKHUpO2EuY2FsbChlKX19dmFyIHU9V3MobixyLGUsMCxudWxsLCExLDAsIiIsWnMpO3JldHVybiBlLl9yZWFjdFJvb3RDb250YWluZXI9dSxlW21sXT11LmN1cnJlbnQsV3IoOD09PWUubm9kZVR5cGU/ZS5wYXJlbnROb2RlOmUpLGNzKCksdX1mb3IoO2w9ZS5sYXN0Q2hpbGQ7KWUucmVtb3ZlQ2hpbGQobCk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpe3ZhciBvPXI7cj1mdW5jdGlvbigpe3ZhciBlPVFzKGkpO28uY2FsbChlKX19dmFyIGk9QXMoZSwwLCExLG51bGwsMCwhMSwwLCIiLFpzKTtyZXR1cm4gZS5fcmVhY3RSb290Q29udGFpbmVyPWksZVttbF09aS5jdXJyZW50LFdyKDg9PT1lLm5vZGVUeXBlP2UucGFyZW50Tm9kZTplKSxjcygoZnVuY3Rpb24oKXtIcyhuLGksdCxyKX0pKSxpfSh0LG4sZSxsLHIpO3JldHVybiBRcyh1KX1Zcy5wcm90b3R5cGUucmVuZGVyPUtzLnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oZSl7dmFyIG49dGhpcy5faW50ZXJuYWxSb290O2lmKG51bGw9PT1uKXRocm93IEVycm9yKGEoNDA5KSk7SHMoZSxuLG51bGwsbnVsbCl9LFlzLnByb3RvdHlwZS51bm1vdW50PUtzLnByb3RvdHlwZS51bm1vdW50PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5faW50ZXJuYWxSb290O2lmKG51bGwhPT1lKXt0aGlzLl9pbnRlcm5hbFJvb3Q9bnVsbDt2YXIgbj1lLmNvbnRhaW5lckluZm87Y3MoKGZ1bmN0aW9uKCl7SHMobnVsbCxlLG51bGwsbnVsbCl9KSksblttbF09bnVsbH19LFlzLnByb3RvdHlwZS51bnN0YWJsZV9zY2hlZHVsZUh5ZHJhdGlvbj1mdW5jdGlvbihlKXtpZihlKXt2YXIgbj1DbigpO2U9e2Jsb2NrZWRPbjpudWxsLHRhcmdldDplLHByaW9yaXR5Om59O2Zvcih2YXIgdD0wO3Q8Um4ubGVuZ3RoJiYwIT09biYmbjxSblt0XS5wcmlvcml0eTt0KyspO1JuLnNwbGljZSh0LDAsZSksMD09PXQmJlVuKGUpfX0sU249ZnVuY3Rpb24oZSl7c3dpdGNoKGUudGFnKXtjYXNlIDM6dmFyIG49ZS5zdGF0ZU5vZGU7aWYobi5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXt2YXIgdD1kbihuLnBlbmRpbmdMYW5lcyk7MCE9PXQmJihibihuLDF8dCkscnMobixHZSgpKSwhKDYmX2kpJiYoV2k9R2UoKSs1MDAsV2woKSkpfWJyZWFrO2Nhc2UgMTM6Y3MoKGZ1bmN0aW9uKCl7dmFyIG49UGEoZSwxKTtpZihudWxsIT09bil7dmFyIHQ9ZXMoKTt0cyhuLGUsMSx0KX19KSksJHMoZSwxKX19LHhuPWZ1bmN0aW9uKGUpe2lmKDEzPT09ZS50YWcpe3ZhciBuPVBhKGUsMTM0MjE3NzI4KTtpZihudWxsIT09bil0cyhuLGUsMTM0MjE3NzI4LGVzKCkpOyRzKGUsMTM0MjE3NzI4KX19LEVuPWZ1bmN0aW9uKGUpe2lmKDEzPT09ZS50YWcpe3ZhciBuPW5zKGUpLHQ9UGEoZSxuKQo7aWYobnVsbCE9PXQpdHModCxlLG4sZXMoKSk7JHMoZSxuKX19LENuPWZ1bmN0aW9uKCl7cmV0dXJuIGtufSx6bj1mdW5jdGlvbihlLG4pe3ZhciB0PWtuO3RyeXtyZXR1cm4ga249ZSxuKCl9ZmluYWxseXtrbj10fX0sU2U9ZnVuY3Rpb24oZSxuLHQpe3N3aXRjaChuKXtjYXNlImlucHV0IjppZihaKGUsdCksbj10Lm5hbWUsInJhZGlvIj09PXQudHlwZSYmbnVsbCE9bil7Zm9yKHQ9ZTt0LnBhcmVudE5vZGU7KXQ9dC5wYXJlbnROb2RlO2Zvcih0PXQucXVlcnlTZWxlY3RvckFsbCgiaW5wdXRbbmFtZT0iK0pTT04uc3RyaW5naWZ5KCIiK24pKyddW3R5cGU9InJhZGlvIl0nKSxuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciByPXRbbl07aWYociE9PWUmJnIuZm9ybT09PWUuZm9ybSl7dmFyIGw9d2wocik7aWYoIWwpdGhyb3cgRXJyb3IoYSg5MCkpO3EociksWihyLGwpfX19YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6YWUoZSx0KTticmVhaztjYXNlInNlbGVjdCI6bnVsbCE9KG49dC52YWx1ZSkmJnRlKGUsISF0Lm11bHRpcGxlLG4sITEpfX0sX2U9c3MsUGU9Y3M7dmFyIGVjPXt1c2luZ0NsaWVudEVudHJ5UG9pbnQ6ITEsRXZlbnRzOltibCxrbCx3bCx6ZSxOZSxzc119LG5jPXtmaW5kRmliZXJCeUhvc3RJbnN0YW5jZTp5bCxidW5kbGVUeXBlOjAsdmVyc2lvbjoiMTguMi4wIixyZW5kZXJlclBhY2thZ2VOYW1lOiJyZWFjdC1kb20ifSx0Yz17YnVuZGxlVHlwZTpuYy5idW5kbGVUeXBlLHZlcnNpb246bmMudmVyc2lvbixyZW5kZXJlclBhY2thZ2VOYW1lOm5jLnJlbmRlcmVyUGFja2FnZU5hbWUscmVuZGVyZXJDb25maWc6bmMucmVuZGVyZXJDb25maWcsb3ZlcnJpZGVIb29rU3RhdGU6bnVsbCxvdmVycmlkZUhvb2tTdGF0ZURlbGV0ZVBhdGg6bnVsbCxvdmVycmlkZUhvb2tTdGF0ZVJlbmFtZVBhdGg6bnVsbCxvdmVycmlkZVByb3BzOm51bGwsb3ZlcnJpZGVQcm9wc0RlbGV0ZVBhdGg6bnVsbCxvdmVycmlkZVByb3BzUmVuYW1lUGF0aDpudWxsLHNldEVycm9ySGFuZGxlcjpudWxsLHNldFN1c3BlbnNlSGFuZGxlcjpudWxsLHNjaGVkdWxlVXBkYXRlOm51bGwsY3VycmVudERpc3BhdGNoZXJSZWY6ay5SZWFjdEN1cnJlbnREaXNwYXRjaGVyLGZpbmRIb3N0SW5zdGFuY2VCeUZpYmVyOmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT09KGU9amUoZSkpP251bGw6ZS5zdGF0ZU5vZGV9LGZpbmRGaWJlckJ5SG9zdEluc3RhbmNlOm5jLmZpbmRGaWJlckJ5SG9zdEluc3RhbmNlfHxmdW5jdGlvbigpe3JldHVybiBudWxsfSxmaW5kSG9zdEluc3RhbmNlc0ZvclJlZnJlc2g6bnVsbCxzY2hlZHVsZVJlZnJlc2g6bnVsbCxzY2hlZHVsZVJvb3Q6bnVsbCxzZXRSZWZyZXNoSGFuZGxlcjpudWxsLGdldEN1cnJlbnRGaWJlcjpudWxsLHJlY29uY2lsZXJWZXJzaW9uOiIxOC4yLjAtbmV4dC05ZTNiNzcyYjgtMjAyMjA2MDgifTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyl7dmFyIHJjPV9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXztpZighcmMuaXNEaXNhYmxlZCYmcmMuc3VwcG9ydHNGaWJlcil0cnl7bG49cmMuaW5qZWN0KHRjKSxhbj1yY31jYXRjaChjZSl7fX1uLl9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEPWVjLG4uY3JlYXRlUG9ydGFsPWZ1bmN0aW9uKGUsbil7dmFyIHQ9Mjxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOm51bGw7aWYoIVhzKG4pKXRocm93IEVycm9yKGEoMjAwKSk7cmV0dXJuIGZ1bmN0aW9uKGUsbix0KXt2YXIgcj0zPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1szXT9hcmd1bWVudHNbM106bnVsbDtyZXR1cm57JCR0eXBlb2Y6UyxrZXk6bnVsbD09cj9udWxsOiIiK3IsY2hpbGRyZW46ZSxjb250YWluZXJJbmZvOm4saW1wbGVtZW50YXRpb246dH19KGUsbixudWxsLHQpfSxuLmNyZWF0ZVJvb3Q9ZnVuY3Rpb24oZSxuKXtpZighWHMoZSkpdGhyb3cgRXJyb3IoYSgyOTkpKTt2YXIgdD0hMSxyPSIiLGw9cXM7cmV0dXJuIG51bGwhPW4mJighMD09PW4udW5zdGFibGVfc3RyaWN0TW9kZSYmKHQ9ITApLHZvaWQgMCE9PW4uaWRlbnRpZmllclByZWZpeCYmKHI9bi5pZGVudGlmaWVyUHJlZml4KSx2b2lkIDAhPT1uLm9uUmVjb3ZlcmFibGVFcnJvciYmKGw9bi5vblJlY292ZXJhYmxlRXJyb3IpKSxuPUFzKGUsMSwhMSxudWxsLDAsdCwwLHIsbCksZVttbF09bi5jdXJyZW50LFdyKDg9PT1lLm5vZGVUeXBlP2UucGFyZW50Tm9kZTplKSxuZXcgS3Mobil9LG4uZmluZERPTU5vZGU9ZnVuY3Rpb24oZSl7aWYobnVsbD09ZSlyZXR1cm4gbnVsbDtpZigxPT09ZS5ub2RlVHlwZSlyZXR1cm4gZTt2YXIgbj1lLl9yZWFjdEludGVybmFscztpZih2b2lkIDA9PT1uKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgZS5yZW5kZXIpdGhyb3cgRXJyb3IoYSgxODgpKTt0aHJvdyBlPU9iamVjdC5rZXlzKGUpLmpvaW4oIiwiKSxFcnJvcihhKDI2OCxlKSl9cmV0dXJuIGU9bnVsbD09PShlPWplKG4pKT9udWxsOmUuc3RhdGVOb2RlfSxuLmZsdXNoU3luYz1mdW5jdGlvbihlKXtyZXR1cm4gY3MoZSl9LG4uaHlkcmF0ZT1mdW5jdGlvbihlLG4sdCl7aWYoIUdzKG4pKXRocm93IEVycm9yKGEoMjAwKSk7cmV0dXJuIEpzKG51bGwsZSxuLCEwLHQpfSxuLmh5ZHJhdGVSb290PWZ1bmN0aW9uKGUsbix0KXtpZighWHMoZSkpdGhyb3cgRXJyb3IoYSg0MDUpKTt2YXIgcj1udWxsIT10JiZ0Lmh5ZHJhdGVkU291cmNlc3x8bnVsbCxsPSExLHU9IiIsbz1xcztpZihudWxsIT10JiYoITA9PT10LnVuc3RhYmxlX3N0cmljdE1vZGUmJihsPSEwKSx2b2lkIDAhPT10LmlkZW50aWZpZXJQcmVmaXgmJih1PXQuaWRlbnRpZmllclByZWZpeCksdm9pZCAwIT09dC5vblJlY292ZXJhYmxlRXJyb3ImJihvPXQub25SZWNvdmVyYWJsZUVycm9yKSksbj1XcyhuLG51bGwsZSwxLG51bGwhPXQ/dDpudWxsLGwsMCx1LG8pLGVbbWxdPW4uY3VycmVudCxXcihlKSxyKWZvcihlPTA7ZTxyLmxlbmd0aDtlKyspbD0obD0odD1yW2VdKS5fZ2V0VmVyc2lvbikodC5fc291cmNlKSwKbnVsbD09bi5tdXRhYmxlU291cmNlRWFnZXJIeWRyYXRpb25EYXRhP24ubXV0YWJsZVNvdXJjZUVhZ2VySHlkcmF0aW9uRGF0YT1bdCxsXTpuLm11dGFibGVTb3VyY2VFYWdlckh5ZHJhdGlvbkRhdGEucHVzaCh0LGwpO3JldHVybiBuZXcgWXMobil9LG4ucmVuZGVyPWZ1bmN0aW9uKGUsbix0KXtpZighR3MobikpdGhyb3cgRXJyb3IoYSgyMDApKTtyZXR1cm4gSnMobnVsbCxlLG4sITEsdCl9LG4udW5tb3VudENvbXBvbmVudEF0Tm9kZT1mdW5jdGlvbihlKXtpZighR3MoZSkpdGhyb3cgRXJyb3IoYSg0MCkpO3JldHVybiEhZS5fcmVhY3RSb290Q29udGFpbmVyJiYoY3MoKGZ1bmN0aW9uKCl7SnMobnVsbCxudWxsLGUsITEsKGZ1bmN0aW9uKCl7ZS5fcmVhY3RSb290Q29udGFpbmVyPW51bGwsZVttbF09bnVsbH0pKX0pKSwhMCl9LG4udW5zdGFibGVfYmF0Y2hlZFVwZGF0ZXM9c3Msbi51bnN0YWJsZV9yZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcj1mdW5jdGlvbihlLG4sdCxyKXtpZighR3ModCkpdGhyb3cgRXJyb3IoYSgyMDApKTtpZihudWxsPT1lfHx2b2lkIDA9PT1lLl9yZWFjdEludGVybmFscyl0aHJvdyBFcnJvcihhKDM4KSk7cmV0dXJuIEpzKGUsbix0LCExLHIpfSxuLnZlcnNpb249IjE4LjIuMC1uZXh0LTllM2I3NzJiOC0yMDIyMDYwOCJ9LDUwODIwNyhlLG4pe2Z1bmN0aW9uIHQoZSxuKXt2YXIgdD1lLmxlbmd0aDtlLnB1c2gobik7ZTpmb3IoOzA8dDspe3ZhciByPXQtMT4+PjEsbD1lW3JdO2lmKCEoMDxhKGwsbikpKWJyZWFrIGU7ZVtyXT1uLGVbdF09bCx0PXJ9fWZ1bmN0aW9uIHIoZSl7cmV0dXJuIDA9PT1lLmxlbmd0aD9udWxsOmVbMF19ZnVuY3Rpb24gbChlKXtpZigwPT09ZS5sZW5ndGgpcmV0dXJuIG51bGw7dmFyIG49ZVswXSx0PWUucG9wKCk7aWYodCE9PW4pe2VbMF09dDtlOmZvcih2YXIgcj0wLGw9ZS5sZW5ndGgsdT1sPj4+MTtyPHU7KXt2YXIgbz0yKihyKzEpLTEsaT1lW29dLHM9bysxLGM9ZVtzXTtpZigwPmEoaSx0KSlzPGwmJjA+YShjLGkpPyhlW3JdPWMsZVtzXT10LHI9cyk6KGVbcl09aSxlW29dPXQscj1vKTtlbHNle2lmKCEoczxsJiYwPmEoYyx0KSkpYnJlYWsgZTtlW3JdPWMsZVtzXT10LHI9c319fXJldHVybiBufWZ1bmN0aW9uIGEoZSxuKXt2YXIgdD1lLnNvcnRJbmRleC1uLnNvcnRJbmRleDtyZXR1cm4gMCE9PXQ/dDplLmlkLW4uaWR9aWYoIm9iamVjdCI9PXR5cGVvZiBwZXJmb3JtYW5jZSYmImZ1bmN0aW9uIj09dHlwZW9mIHBlcmZvcm1hbmNlLm5vdyl7dmFyIHU9cGVyZm9ybWFuY2U7bi51bnN0YWJsZV9ub3c9ZnVuY3Rpb24oKXtyZXR1cm4gdS5ub3coKX19ZWxzZXt2YXIgbz1EYXRlLGk9by5ub3coKTtuLnVuc3RhYmxlX25vdz1mdW5jdGlvbigpe3JldHVybiBvLm5vdygpLWl9fXZhciBzPVtdLGM9W10sZj0xLGQ9bnVsbCxwPTMsbT0hMSxoPSExLGc9ITEsdj0iZnVuY3Rpb24iPT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0Om51bGwseT0iZnVuY3Rpb24iPT10eXBlb2YgY2xlYXJUaW1lb3V0P2NsZWFyVGltZW91dDpudWxsLGI9InVuZGVmaW5lZCIhPXR5cGVvZiBzZXRJbW1lZGlhdGU/c2V0SW1tZWRpYXRlOm51bGw7ZnVuY3Rpb24gayhlKXtmb3IodmFyIG49cihjKTtudWxsIT09bjspe2lmKG51bGw9PT1uLmNhbGxiYWNrKWwoYyk7ZWxzZXtpZighKG4uc3RhcnRUaW1lPD1lKSlicmVhaztsKGMpLG4uc29ydEluZGV4PW4uZXhwaXJhdGlvblRpbWUsdChzLG4pfW49cihjKX19ZnVuY3Rpb24gdyhlKXtpZihnPSExLGsoZSksIWgpaWYobnVsbCE9PXIocykpaD0hMCxGKFMpO2Vsc2V7dmFyIG49cihjKTtudWxsIT09biYmUih3LG4uc3RhcnRUaW1lLWUpfX1mdW5jdGlvbiBTKGUsdCl7aD0hMSxnJiYoZz0hMSx5KHopLHo9LTEpLG09ITA7dmFyIGE9cDt0cnl7Zm9yKGsodCksZD1yKHMpO251bGwhPT1kJiYoIShkLmV4cGlyYXRpb25UaW1lPnQpfHxlJiYhUCgpKTspe3ZhciB1PWQuY2FsbGJhY2s7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHUpe2QuY2FsbGJhY2s9bnVsbCxwPWQucHJpb3JpdHlMZXZlbDt2YXIgbz11KGQuZXhwaXJhdGlvblRpbWU8PXQpO3Q9bi51bnN0YWJsZV9ub3coKSwiZnVuY3Rpb24iPT10eXBlb2Ygbz9kLmNhbGxiYWNrPW86ZD09PXIocykmJmwocyksayh0KX1lbHNlIGwocyk7ZD1yKHMpfWlmKG51bGwhPT1kKXZhciBpPSEwO2Vsc2V7dmFyIGY9cihjKTtudWxsIT09ZiYmUih3LGYuc3RhcnRUaW1lLXQpLGk9ITF9cmV0dXJuIGl9ZmluYWxseXtkPW51bGwscD1hLG09ITF9fSJ1bmRlZmluZWQiIT10eXBlb2YgbmF2aWdhdG9yJiZ2b2lkIDAhPT1uYXZpZ2F0b3Iuc2NoZWR1bGluZyYmdm9pZCAwIT09bmF2aWdhdG9yLnNjaGVkdWxpbmcuaXNJbnB1dFBlbmRpbmcmJm5hdmlnYXRvci5zY2hlZHVsaW5nLmlzSW5wdXRQZW5kaW5nLmJpbmQobmF2aWdhdG9yLnNjaGVkdWxpbmcpO3ZhciB4LEU9ITEsQz1udWxsLHo9LTEsTj01LF89LTE7ZnVuY3Rpb24gUCgpe3JldHVybiEobi51bnN0YWJsZV9ub3coKS1fPE4pfWZ1bmN0aW9uIFQoKXtpZihudWxsIT09Qyl7dmFyIGU9bi51bnN0YWJsZV9ub3coKTtfPWU7dmFyIHQ9ITA7dHJ5e3Q9QyghMCxlKX1maW5hbGx5e3Q/eCgpOihFPSExLEM9bnVsbCl9fWVsc2UgRT0hMX1pZigiZnVuY3Rpb24iPT10eXBlb2YgYil4PWZ1bmN0aW9uKCl7YihUKX07ZWxzZSBpZigidW5kZWZpbmVkIiE9dHlwZW9mIE1lc3NhZ2VDaGFubmVsKXt2YXIgTD1uZXcgTWVzc2FnZUNoYW5uZWwsTT1MLnBvcnQyO0wucG9ydDEub25tZXNzYWdlPVQseD1mdW5jdGlvbigpe00ucG9zdE1lc3NhZ2UobnVsbCl9fWVsc2UgeD1mdW5jdGlvbigpe3YoVCwwKX07ZnVuY3Rpb24gRihlKXtDPWUsRXx8KEU9ITAseCgpKX1mdW5jdGlvbiBSKGUsdCl7ej12KChmdW5jdGlvbigpe2Uobi51bnN0YWJsZV9ub3coKSl9KSx0KX1uLnVuc3RhYmxlX0lkbGVQcmlvcml0eT01LG4udW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHk9MSxuLnVuc3RhYmxlX0xvd1ByaW9yaXR5PTQsbi51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eT0zLG4udW5zdGFibGVfUHJvZmlsaW5nPW51bGwsbi51bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eT0yLApuLnVuc3RhYmxlX2NhbmNlbENhbGxiYWNrPWZ1bmN0aW9uKGUpe2UuY2FsbGJhY2s9bnVsbH0sbi51bnN0YWJsZV9jb250aW51ZUV4ZWN1dGlvbj1mdW5jdGlvbigpe2h8fG18fChoPSEwLEYoUykpfSxuLnVuc3RhYmxlX2ZvcmNlRnJhbWVSYXRlPWZ1bmN0aW9uKGUpezA+ZXx8MTI1PGU/Y29uc29sZS5lcnJvcigiZm9yY2VGcmFtZVJhdGUgdGFrZXMgYSBwb3NpdGl2ZSBpbnQgYmV0d2VlbiAwIGFuZCAxMjUsIGZvcmNpbmcgZnJhbWUgcmF0ZXMgaGlnaGVyIHRoYW4gMTI1IGZwcyBpcyBub3Qgc3VwcG9ydGVkIik6Tj0wPGU/TWF0aC5mbG9vcigxZTMvZSk6NX0sbi51bnN0YWJsZV9nZXRDdXJyZW50UHJpb3JpdHlMZXZlbD1mdW5jdGlvbigpe3JldHVybiBwfSxuLnVuc3RhYmxlX2dldEZpcnN0Q2FsbGJhY2tOb2RlPWZ1bmN0aW9uKCl7cmV0dXJuIHIocyl9LG4udW5zdGFibGVfbmV4dD1mdW5jdGlvbihlKXtzd2l0Y2gocCl7Y2FzZSAxOmNhc2UgMjpjYXNlIDM6dmFyIG49MzticmVhaztkZWZhdWx0Om49cH12YXIgdD1wO3A9bjt0cnl7cmV0dXJuIGUoKX1maW5hbGx5e3A9dH19LG4udW5zdGFibGVfcGF1c2VFeGVjdXRpb249ZnVuY3Rpb24oKXt9LG4udW5zdGFibGVfcmVxdWVzdFBhaW50PWZ1bmN0aW9uKCl7fSxuLnVuc3RhYmxlX3J1bldpdGhQcmlvcml0eT1mdW5jdGlvbihlLG4pe3N3aXRjaChlKXtjYXNlIDE6Y2FzZSAyOmNhc2UgMzpjYXNlIDQ6Y2FzZSA1OmJyZWFrO2RlZmF1bHQ6ZT0zfXZhciB0PXA7cD1lO3RyeXtyZXR1cm4gbigpfWZpbmFsbHl7cD10fX0sbi51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrPWZ1bmN0aW9uKGUsbCxhKXt2YXIgdT1uLnVuc3RhYmxlX25vdygpO3N3aXRjaCgib2JqZWN0Ij09dHlwZW9mIGEmJm51bGwhPT1hP2E9Im51bWJlciI9PXR5cGVvZihhPWEuZGVsYXkpJiYwPGE/dSthOnU6YT11LGUpe2Nhc2UgMTp2YXIgbz0tMTticmVhaztjYXNlIDI6bz0yNTA7YnJlYWs7Y2FzZSA1Om89MTA3Mzc0MTgyMzticmVhaztjYXNlIDQ6bz0xZTQ7YnJlYWs7ZGVmYXVsdDpvPTVlM31yZXR1cm4gZT17aWQ6ZisrLGNhbGxiYWNrOmwscHJpb3JpdHlMZXZlbDplLHN0YXJ0VGltZTphLGV4cGlyYXRpb25UaW1lOm89YStvLHNvcnRJbmRleDotMX0sYT51PyhlLnNvcnRJbmRleD1hLHQoYyxlKSxudWxsPT09cihzKSYmZT09PXIoYykmJihnPyh5KHopLHo9LTEpOmc9ITAsUih3LGEtdSkpKTooZS5zb3J0SW5kZXg9byx0KHMsZSksaHx8bXx8KGg9ITAsRihTKSkpLGV9LG4udW5zdGFibGVfc2hvdWxkWWllbGQ9UCxuLnVuc3RhYmxlX3dyYXBDYWxsYmFjaz1mdW5jdGlvbihlKXt2YXIgbj1wO3JldHVybiBmdW5jdGlvbigpe3ZhciB0PXA7cD1uO3RyeXtyZXR1cm4gZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZmluYWxseXtwPXR9fX19LDE4MjYxNChlLG4sdCl7ZS5leHBvcnRzPXQoNTA4MjA3KX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/img/fb.png","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.147Z","timestamp":1785120633147,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /img/fb.png HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: image/png\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-1272e\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":75566,"size_decoded":75738,"mime_type":"image/png","magic":"PNG image data, 300 x 213, 8-bit/color RGBA, non-interlaced","md5":"235bd2f56cfb32c246829e2ece702a5a","sha1":"4b2ad6c23dc81c990c2203db4e1314e2b2f6abdd","sha256":"c0f2cb2855fea5f5c25570584a498a4a2bc76717b5a1b9d0d31c6faf886241dc","sha512":"15af600c1b452edcf56118aac9978a5aa025e2b3873a7b241a988a1d42eddbe46bf9af8875515f135020628fd90a8a033608aa9724c2a7d7b9f2665e29cd60d7","ssdeep":"1536:N36nob68WsDmkQgtldi8CBp0bMZjgXMMzXdxz33uX1xH6tUGzK+PG9V:BbbWsikDtLi8CBe4JyHrdx7eX/atU3V","tlshash":"d3731273d3f4be7217b21e61c2aec8c74581062461bfb8399b0576f144ef6d1a85e0ea","first_seen":"2026-01-16T13:19:18.328522Z","last_seen":"2026-07-27T02:59:54.656633Z","times_seen":5,"resource_available":false,"data":"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"}},"time_used":86,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":29,"receive":57,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":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://247optiontradefx.com/","date":"2026-07-27T02:50:33.395Z","timestamp":1785120633395,"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://247optiontradefx.com\r\nSec-WebSocket-Protocol: actioncable-v1-json, actioncable-unsupported\r\nSec-WebSocket-Extensions: permessage-deflate\r\nSec-WebSocket-Key: r0ERw8FCZf9783YhWCeG6g==\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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"binarymate.com/assets/landing/platform-tiny/js/moment.js","fqdn":"binarymate.com","domain":"binarymate.com","tld":"com"},"ip":{"addr":"172.67.160.195","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://binarymate.com/en/tyni-platform?r=https://247optiontradefx.live/dashboard/register","date":"2026-07-27T02:50:33.773Z","timestamp":1785120633773,"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":"binarymate.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 14 Jun 2026 17:48:17 GMT","end":"Sat, 12 Sep 2026 18:48:16 GMT"},"fingerprint":{"sha1":"26:CD:F2:69:FE:7F:C6:01:56:78:36:8F:A3:D6:FB:30:04:43:72:C0","sha256":"84:94:E9:41:71:FF:C7:FC:0D:D1:FE:9F:61:E9:EB:27:62:B3:01:D9:AA:F6:35:FB:C6:FA:4A:CE:9B:16:0B:7E"}}},"request":{"raw":"GET /assets/landing/platform-tiny/js/moment.js HTTP/1.1\r\nHost: binarymate.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://binarymate.com/en/tyni-platform?r=https://247optiontradefx.live/dashboard/register\r\nCookie: laravel_session=UYESX7wELN8BSPz4LvfUKeGrrWO22l12CaQ7FWII\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\npriority: u=3,i=?0\r\ncontent-type: application/javascript\r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nlast-modified: Thu, 12 May 2016 06:50:27 GMT\r\nserver: cloudflare\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=yuncLLkRgJ5P4HfczSh0aJwKZnFS9Wn48QWW8RN%2BKgIbY4VlZWEHUgORWtWBLNHctccHIaGA9ZDynstOBgZBVeVUiMEazT0olRGXHcuk8KUrRFVyviOfSfFtVqWq3vFLFw%3D%3D\"}]}\r\nage: 373\r\ncache-control: max-age=14400\r\ncf-cache-status: HIT\r\ncontent-encoding: zstd\r\netag: W/\"573427b3-197d9\"\r\ncf-ray: a21856591ad28be6-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"]}],"data":{"size":104409,"size_decoded":27306,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text","md5":"cd9f0b2d1b3e08b28f14cbb6d75217ee","sha1":"65395e3e55adc5e2953e03c8378faa5cd0e324de","sha256":"330b77f348bc97849800b9f3af7d1fe52fb6e145525ad494149d7a202c0c3cbf","sha512":"651e54d33e16ab0ca2fafcfb9c06ef8de815921286358f588e4652c92258e6a74bd86390f6679bf8d2e05b73f92793955e00f358d9fe062cb60f520ca1d7941d","ssdeep":"1536:GOTnbs7GfbZ7fjl2Ulweohewa8WBnXfVo2ESDTokYiMibJUjN:GOUqTZ7/OWBto2EfBjN","tlshash":"46a32d5a59e720224a6366384fdf5001ba38c523560ede04bc8da3d49f96d7c47bafec","first_seen":"2023-03-07T01:19:00Z","last_seen":"2026-07-27T05:39:36.897227Z","times_seen":391,"resource_available":true,"data":"Ly8hIG1vbWVudC5qcwovLyEgdmVyc2lvbiA6IDIuMTAuNgovLyEgYXV0aG9ycyA6IFRpbSBXb29kLCBJc2tyZW4gQ2hlcm5ldiwgTW9tZW50LmpzIGNvbnRyaWJ1dG9ycwovLyEgbGljZW5zZSA6IE1JVAovLyEgbW9tZW50anMuY29tCgooZnVuY3Rpb24gKGdsb2JhbCwgZmFjdG9yeSkgewogICAgdHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnICYmIHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnID8gbW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KCkgOgogICAgdHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kID8gZGVmaW5lKGZhY3RvcnkpIDoKICAgIGdsb2JhbC5tb21lbnQgPSBmYWN0b3J5KCkKfSh0aGlzLCBmdW5jdGlvbiAoKSB7ICd1c2Ugc3RyaWN0JzsKCiAgICB2YXIgaG9va0NhbGxiYWNrOwoKICAgIGZ1bmN0aW9uIHV0aWxzX2hvb2tzX19ob29rcyAoKSB7CiAgICAgICAgcmV0dXJuIGhvb2tDYWxsYmFjay5hcHBseShudWxsLCBhcmd1bWVudHMpOwogICAgfQoKICAgIC8vIFRoaXMgaXMgZG9uZSB0byByZWdpc3RlciB0aGUgbWV0aG9kIGNhbGxlZCB3aXRoIG1vbWVudCgpCiAgICAvLyB3aXRob3V0IGNyZWF0aW5nIGNpcmN1bGFyIGRlcGVuZGVuY2llcy4KICAgIGZ1bmN0aW9uIHNldEhvb2tDYWxsYmFjayAoY2FsbGJhY2spIHsKICAgICAgICBob29rQ2FsbGJhY2sgPSBjYWxsYmFjazsKICAgIH0KCiAgICBmdW5jdGlvbiBpc0FycmF5KGlucHV0KSB7CiAgICAgICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChpbnB1dCkgPT09ICdbb2JqZWN0IEFycmF5XSc7CiAgICB9CgogICAgZnVuY3Rpb24gaXNEYXRlKGlucHV0KSB7CiAgICAgICAgcmV0dXJuIGlucHV0IGluc3RhbmNlb2YgRGF0ZSB8fCBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoaW5wdXQpID09PSAnW29iamVjdCBEYXRlXSc7CiAgICB9CgogICAgZnVuY3Rpb24gbWFwKGFyciwgZm4pIHsKICAgICAgICB2YXIgcmVzID0gW10sIGk7CiAgICAgICAgZm9yIChpID0gMDsgaSA8IGFyci5sZW5ndGg7ICsraSkgewogICAgICAgICAgICByZXMucHVzaChmbihhcnJbaV0sIGkpKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHJlczsKICAgIH0KCiAgICBmdW5jdGlvbiBoYXNPd25Qcm9wKGEsIGIpIHsKICAgICAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsIGIpOwogICAgfQoKICAgIGZ1bmN0aW9uIGV4dGVuZChhLCBiKSB7CiAgICAgICAgZm9yICh2YXIgaSBpbiBiKSB7CiAgICAgICAgICAgIGlmIChoYXNPd25Qcm9wKGIsIGkpKSB7CiAgICAgICAgICAgICAgICBhW2ldID0gYltpXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgaWYgKGhhc093blByb3AoYiwgJ3RvU3RyaW5nJykpIHsKICAgICAgICAgICAgYS50b1N0cmluZyA9IGIudG9TdHJpbmc7CiAgICAgICAgfQoKICAgICAgICBpZiAoaGFzT3duUHJvcChiLCAndmFsdWVPZicpKSB7CiAgICAgICAgICAgIGEudmFsdWVPZiA9IGIudmFsdWVPZjsKICAgICAgICB9CgogICAgICAgIHJldHVybiBhOwogICAgfQoKICAgIGZ1bmN0aW9uIGNyZWF0ZV91dGNfX2NyZWF0ZVVUQyAoaW5wdXQsIGZvcm1hdCwgbG9jYWxlLCBzdHJpY3QpIHsKICAgICAgICByZXR1cm4gY3JlYXRlTG9jYWxPclVUQyhpbnB1dCwgZm9ybWF0LCBsb2NhbGUsIHN0cmljdCwgdHJ1ZSkudXRjKCk7CiAgICB9CgogICAgZnVuY3Rpb24gZGVmYXVsdFBhcnNpbmdGbGFncygpIHsKICAgICAgICAvLyBXZSBuZWVkIHRvIGRlZXAgY2xvbmUgdGhpcyBvYmplY3QuCiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgZW1wdHkgICAgICAgICAgIDogZmFsc2UsCiAgICAgICAgICAgIHVudXNlZFRva2VucyAgICA6IFtdLAogICAgICAgICAgICB1bnVzZWRJbnB1dCAgICAgOiBbXSwKICAgICAgICAgICAgb3ZlcmZsb3cgICAgICAgIDogLTIsCiAgICAgICAgICAgIGNoYXJzTGVmdE92ZXIgICA6IDAsCiAgICAgICAgICAgIG51bGxJbnB1dCAgICAgICA6IGZhbHNlLAogICAgICAgICAgICBpbnZhbGlkTW9udGggICAgOiBudWxsLAogICAgICAgICAgICBpbnZhbGlkRm9ybWF0ICAgOiBmYWxzZSwKICAgICAgICAgICAgdXNlckludmFsaWRhdGVkIDogZmFsc2UsCiAgICAgICAgICAgIGlzbyAgICAgICAgICAgICA6IGZhbHNlCiAgICAgICAgfTsKICAgIH0KCiAgICBmdW5jdGlvbiBnZXRQYXJzaW5nRmxhZ3MobSkgewogICAgICAgIGlmIChtLl9wZiA9PSBudWxsKSB7CiAgICAgICAgICAgIG0uX3BmID0gZGVmYXVsdFBhcnNpbmdGbGFncygpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbS5fcGY7CiAgICB9CgogICAgZnVuY3Rpb24gdmFsaWRfX2lzVmFsaWQobSkgewogICAgICAgIGlmIChtLl9pc1ZhbGlkID09IG51bGwpIHsKICAgICAgICAgICAgdmFyIGZsYWdzID0gZ2V0UGFyc2luZ0ZsYWdzKG0pOwogICAgICAgICAgICBtLl9pc1ZhbGlkID0gIWlzTmFOKG0uX2QuZ2V0VGltZSgpKSAmJgogICAgICAgICAgICAgICAgZmxhZ3Mub3ZlcmZsb3cgPCAwICYmCiAgICAgICAgICAgICAgICAhZmxhZ3MuZW1wdHkgJiYKICAgICAgICAgICAgICAgICFmbGFncy5pbnZhbGlkTW9udGggJiYKICAgICAgICAgICAgICAgICFmbGFncy5pbnZhbGlkV2Vla2RheSAmJgogICAgICAgICAgICAgICAgIWZsYWdzLm51bGxJbnB1dCAmJgogICAgICAgICAgICAgICAgIWZsYWdzLmludmFsaWRGb3JtYXQgJiYKICAgICAgICAgICAgICAgICFmbGFncy51c2VySW52YWxpZGF0ZWQ7CgogICAgICAgICAgICBpZiAobS5fc3RyaWN0KSB7CiAgICAgICAgICAgICAgICBtLl9pc1ZhbGlkID0gbS5faXNWYWxpZCAmJgogICAgICAgICAgICAgICAgICAgIGZsYWdzLmNoYXJzTGVmdE92ZXIgPT09IDAgJiYKICAgICAgICAgICAgICAgICAgICBmbGFncy51bnVzZWRUb2tlbnMubGVuZ3RoID09PSAwICYmCiAgICAgICAgICAgICAgICAgICAgZmxhZ3MuYmlnSG91ciA9PT0gdW5kZWZpbmVkOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBtLl9pc1ZhbGlkOwogICAgfQoKICAgIGZ1bmN0aW9uIHZhbGlkX19jcmVhdGVJbnZhbGlkIChmbGFncykgewogICAgICAgIHZhciBtID0gY3JlYXRlX3V0Y19fY3JlYXRlVVRDKE5hTik7CiAgICAgICAgaWYgKGZsYWdzICE9IG51bGwpIHsKICAgICAgICAgICAgZXh0ZW5kKGdldFBhcnNpbmdGbGFncyhtKSwgZmxhZ3MpOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKG0pLnVzZXJJbnZhbGlkYXRlZCA9IHRydWU7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gbTsKICAgIH0KCiAgICB2YXIgbW9tZW50UHJvcGVydGllcyA9IHV0aWxzX2hvb2tzX19ob29rcy5tb21lbnRQcm9wZXJ0aWVzID0gW107CgogICAgZnVuY3Rpb24gY29weUNvbmZpZyh0bywgZnJvbSkgewogICAgICAgIHZhciBpLCBwcm9wLCB2YWw7CgogICAgICAgIGlmICh0eXBlb2YgZnJvbS5faXNBTW9tZW50T2JqZWN0ICE9PSAndW5kZWZpbmVkJykgewogICAgICAgICAgICB0by5faXNBTW9tZW50T2JqZWN0ID0gZnJvbS5faXNBTW9tZW50T2JqZWN0OwogICAgICAgIH0KICAgICAgICBpZiAodHlwZW9mIGZyb20uX2kgIT09ICd1bmRlZmluZWQnKSB7CiAgICAgICAgICAgIHRvLl9pID0gZnJvbS5faTsKICAgICAgICB9CiAgICAgICAgaWYgKHR5cGVvZiBmcm9tLl9mICE9PSAndW5kZWZpbmVkJykgewogICAgICAgICAgICB0by5fZiA9IGZyb20uX2Y7CiAgICAgICAgfQogICAgICAgIGlmICh0eXBlb2YgZnJvbS5fbCAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICAgICAgdG8uX2wgPSBmcm9tLl9sOwogICAgICAgIH0KICAgICAgICBpZiAodHlwZW9mIGZyb20uX3N0cmljdCAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICAgICAgdG8uX3N0cmljdCA9IGZyb20uX3N0cmljdDsKICAgICAgICB9CiAgICAgICAgaWYgKHR5cGVvZiBmcm9tLl90em0gIT09ICd1bmRlZmluZWQnKSB7CiAgICAgICAgICAgIHRvLl90em0gPSBmcm9tLl90em07CiAgICAgICAgfQogICAgICAgIGlmICh0eXBlb2YgZnJvbS5faXNVVEMgIT09ICd1bmRlZmluZWQnKSB7CiAgICAgICAgICAgIHRvLl9pc1VUQyA9IGZyb20uX2lzVVRDOwogICAgICAgIH0KICAgICAgICBpZiAodHlwZW9mIGZyb20uX29mZnNldCAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICAgICAgdG8uX29mZnNldCA9IGZyb20uX29mZnNldDsKICAgICAgICB9CiAgICAgICAgaWYgKHR5cGVvZiBmcm9tLl9wZiAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICAgICAgdG8uX3BmID0gZ2V0UGFyc2luZ0ZsYWdzKGZyb20pOwogICAgICAgIH0KICAgICAgICBpZiAodHlwZW9mIGZyb20uX2xvY2FsZSAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICAgICAgdG8uX2xvY2FsZSA9IGZyb20uX2xvY2FsZTsKICAgICAgICB9CgogICAgICAgIGlmIChtb21lbnRQcm9wZXJ0aWVzLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgZm9yIChpIGluIG1vbWVudFByb3BlcnRpZXMpIHsKICAgICAgICAgICAgICAgIHByb3AgPSBtb21lbnRQcm9wZXJ0aWVzW2ldOwogICAgICAgICAgICAgICAgdmFsID0gZnJvbVtwcm9wXTsKICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsICE9PSAndW5kZWZpbmVkJykgewogICAgICAgICAgICAgICAgICAgIHRvW3Byb3BdID0gdmFsOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gdG87CiAgICB9CgogICAgdmFyIHVwZGF0ZUluUHJvZ3Jlc3MgPSBmYWxzZTsKCiAgICAvLyBNb21lbnQgcHJvdG90eXBlIG9iamVjdAogICAgZnVuY3Rpb24gTW9tZW50KGNvbmZpZykgewogICAgICAgIGNvcHlDb25maWcodGhpcywgY29uZmlnKTsKICAgICAgICB0aGlzLl9kID0gbmV3IERhdGUoY29uZmlnLl9kICE9IG51bGwgPyBjb25maWcuX2QuZ2V0VGltZSgpIDogTmFOKTsKICAgICAgICAvLyBQcmV2ZW50IGluZmluaXRlIGxvb3AgaW4gY2FzZSB1cGRhdGVPZmZzZXQgY3JlYXRlcyBuZXcgbW9tZW50CiAgICAgICAgLy8gb2JqZWN0cy4KICAgICAgICBpZiAodXBkYXRlSW5Qcm9ncmVzcyA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgdXBkYXRlSW5Qcm9ncmVzcyA9IHRydWU7CiAgICAgICAgICAgIHV0aWxzX2hvb2tzX19ob29rcy51cGRhdGVPZmZzZXQodGhpcyk7CiAgICAgICAgICAgIHVwZGF0ZUluUHJvZ3Jlc3MgPSBmYWxzZTsKICAgICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gaXNNb21lbnQgKG9iaikgewogICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBNb21lbnQgfHwgKG9iaiAhPSBudWxsICYmIG9iai5faXNBTW9tZW50T2JqZWN0ICE9IG51bGwpOwogICAgfQoKICAgIGZ1bmN0aW9uIGFic0Zsb29yIChudW1iZXIpIHsKICAgICAgICBpZiAobnVtYmVyIDwgMCkgewogICAgICAgICAgICByZXR1cm4gTWF0aC5jZWlsKG51bWJlcik7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuIE1hdGguZmxvb3IobnVtYmVyKTsKICAgICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gdG9JbnQoYXJndW1lbnRGb3JDb2VyY2lvbikgewogICAgICAgIHZhciBjb2VyY2VkTnVtYmVyID0gK2FyZ3VtZW50Rm9yQ29lcmNpb24sCiAgICAgICAgICAgIHZhbHVlID0gMDsKCiAgICAgICAgaWYgKGNvZXJjZWROdW1iZXIgIT09IDAgJiYgaXNGaW5pdGUoY29lcmNlZE51bWJlcikpIHsKICAgICAgICAgICAgdmFsdWUgPSBhYnNGbG9vcihjb2VyY2VkTnVtYmVyKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiB2YWx1ZTsKICAgIH0KCiAgICBmdW5jdGlvbiBjb21wYXJlQXJyYXlzKGFycmF5MSwgYXJyYXkyLCBkb250Q29udmVydCkgewogICAgICAgIHZhciBsZW4gPSBNYXRoLm1pbihhcnJheTEubGVuZ3RoLCBhcnJheTIubGVuZ3RoKSwKICAgICAgICAgICAgbGVuZ3RoRGlmZiA9IE1hdGguYWJzKGFycmF5MS5sZW5ndGggLSBhcnJheTIubGVuZ3RoKSwKICAgICAgICAgICAgZGlmZnMgPSAwLAogICAgICAgICAgICBpOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykgewogICAgICAgICAgICBpZiAoKGRvbnRDb252ZXJ0ICYmIGFycmF5MVtpXSAhPT0gYXJyYXkyW2ldKSB8fAogICAgICAgICAgICAgICAgKCFkb250Q29udmVydCAmJiB0b0ludChhcnJheTFbaV0pICE9PSB0b0ludChhcnJheTJbaV0pKSkgewogICAgICAgICAgICAgICAgZGlmZnMrKzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gZGlmZnMgKyBsZW5ndGhEaWZmOwogICAgfQoKICAgIGZ1bmN0aW9uIExvY2FsZSgpIHsKICAgIH0KCiAgICB2YXIgbG9jYWxlcyA9IHt9OwogICAgdmFyIGdsb2JhbExvY2FsZTsKCiAgICBmdW5jdGlvbiBub3JtYWxpemVMb2NhbGUoa2V5KSB7CiAgICAgICAgcmV0dXJuIGtleSA/IGtleS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoJ18nLCAnLScpIDoga2V5OwogICAgfQoKICAgIC8vIHBpY2sgdGhlIGxvY2FsZSBmcm9tIHRoZSBhcnJheQogICAgLy8gdHJ5IFsnZW4tYXUnLCAnZW4tZ2InXSBhcyAnZW4tYXUnLCAnZW4tZ2InLCAnZW4nLCBhcyBpbiBtb3ZlIHRocm91Z2ggdGhlIGxpc3QgdHJ5aW5nIGVhY2gKICAgIC8vIHN1YnN0cmluZyBmcm9tIG1vc3Qgc3BlY2lmaWMgdG8gbGVhc3QsIGJ1dCBtb3ZlIHRvIHRoZSBuZXh0IGFycmF5IGl0ZW0gaWYgaXQncyBhIG1vcmUgc3BlY2lmaWMgdmFyaWFudCB0aGFuIHRoZSBjdXJyZW50IHJvb3QKICAgIGZ1bmN0aW9uIGNob29zZUxvY2FsZShuYW1lcykgewogICAgICAgIHZhciBpID0gMCwgaiwgbmV4dCwgbG9jYWxlLCBzcGxpdDsKCiAgICAgICAgd2hpbGUgKGkgPCBuYW1lcy5sZW5ndGgpIHsKICAgICAgICAgICAgc3BsaXQgPSBub3JtYWxpemVMb2NhbGUobmFtZXNbaV0pLnNwbGl0KCctJyk7CiAgICAgICAgICAgIGogPSBzcGxpdC5sZW5ndGg7CiAgICAgICAgICAgIG5leHQgPSBub3JtYWxpemVMb2NhbGUobmFtZXNbaSArIDFdKTsKICAgICAgICAgICAgbmV4dCA9IG5leHQgPyBuZXh0LnNwbGl0KCctJykgOiBudWxsOwogICAgICAgICAgICB3aGlsZSAoaiA+IDApIHsKICAgICAgICAgICAgICAgIGxvY2FsZSA9IGxvYWRMb2NhbGUoc3BsaXQuc2xpY2UoMCwgaikuam9pbignLScpKTsKICAgICAgICAgICAgICAgIGlmIChsb2NhbGUpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gbG9jYWxlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKG5leHQgJiYgbmV4dC5sZW5ndGggPj0gaiAmJiBjb21wYXJlQXJyYXlzKHNwbGl0LCBuZXh0LCB0cnVlKSA+PSBqIC0gMSkgewogICAgICAgICAgICAgICAgICAgIC8vdGhlIG5leHQgYXJyYXkgaXRlbSBpcyBiZXR0ZXIgdGhhbiBhIHNoYWxsb3dlciBzdWJzdHJpbmcgb2YgdGhpcyBvbmUKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGotLTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpKys7CiAgICAgICAgfQogICAgICAgIHJldHVybiBudWxsOwogICAgfQoKICAgIGZ1bmN0aW9uIGxvYWRMb2NhbGUobmFtZSkgewogICAgICAgIHZhciBvbGRMb2NhbGUgPSBudWxsOwogICAgICAgIC8vIFRPRE86IEZpbmQgYSBiZXR0ZXIgd2F5IHRvIHJlZ2lzdGVyIGFuZCBsb2FkIGFsbCB0aGUgbG9jYWxlcyBpbiBOb2RlCiAgICAgICAgaWYgKCFsb2NhbGVzW25hbWVdICYmIHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnICYmCiAgICAgICAgICAgICAgICBtb2R1bGUgJiYgbW9kdWxlLmV4cG9ydHMpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIG9sZExvY2FsZSA9IGdsb2JhbExvY2FsZS5fYWJicjsKICAgICAgICAgICAgICAgIHJlcXVpcmUoJy4vbG9jYWxlLycgKyBuYW1lKTsKICAgICAgICAgICAgICAgIC8vIGJlY2F1c2UgZGVmaW5lTG9jYWxlIGN1cnJlbnRseSBhbHNvIHNldHMgdGhlIGdsb2JhbCBsb2NhbGUsIHdlCiAgICAgICAgICAgICAgICAvLyB3YW50IHRvIHVuZG8gdGhhdCBmb3IgbGF6eSBsb2FkZWQgbG9jYWxlcwogICAgICAgICAgICAgICAgbG9jYWxlX2xvY2FsZXNfX2dldFNldEdsb2JhbExvY2FsZShvbGRMb2NhbGUpOwogICAgICAgICAgICB9IGNhdGNoIChlKSB7IH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIGxvY2FsZXNbbmFtZV07CiAgICB9CgogICAgLy8gVGhpcyBmdW5jdGlvbiB3aWxsIGxvYWQgbG9jYWxlIGFuZCB0aGVuIHNldCB0aGUgZ2xvYmFsIGxvY2FsZS4gIElmCiAgICAvLyBubyBhcmd1bWVudHMgYXJlIHBhc3NlZCBpbiwgaXQgd2lsbCBzaW1wbHkgcmV0dXJuIHRoZSBjdXJyZW50IGdsb2JhbAogICAgLy8gbG9jYWxlIGtleS4KICAgIGZ1bmN0aW9uIGxvY2FsZV9sb2NhbGVzX19nZXRTZXRHbG9iYWxMb2NhbGUgKGtleSwgdmFsdWVzKSB7CiAgICAgICAgdmFyIGRhdGE7CiAgICAgICAgaWYgKGtleSkgewogICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlcyA9PT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICAgICAgICAgIGRhdGEgPSBsb2NhbGVfbG9jYWxlc19fZ2V0TG9jYWxlKGtleSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICBkYXRhID0gZGVmaW5lTG9jYWxlKGtleSwgdmFsdWVzKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKGRhdGEpIHsKICAgICAgICAgICAgICAgIC8vIG1vbWVudC5kdXJhdGlvbi5fbG9jYWxlID0gbW9tZW50Ll9sb2NhbGUgPSBkYXRhOwogICAgICAgICAgICAgICAgZ2xvYmFsTG9jYWxlID0gZGF0YTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGdsb2JhbExvY2FsZS5fYWJicjsKICAgIH0KCiAgICBmdW5jdGlvbiBkZWZpbmVMb2NhbGUgKG5hbWUsIHZhbHVlcykgewogICAgICAgIGlmICh2YWx1ZXMgIT09IG51bGwpIHsKICAgICAgICAgICAgdmFsdWVzLmFiYnIgPSBuYW1lOwogICAgICAgICAgICBsb2NhbGVzW25hbWVdID0gbG9jYWxlc1tuYW1lXSB8fCBuZXcgTG9jYWxlKCk7CiAgICAgICAgICAgIGxvY2FsZXNbbmFtZV0uc2V0KHZhbHVlcyk7CgogICAgICAgICAgICAvLyBiYWNrd2FyZHMgY29tcGF0IGZvciBub3c6IGFsc28gc2V0IHRoZSBsb2NhbGUKICAgICAgICAgICAgbG9jYWxlX2xvY2FsZXNfX2dldFNldEdsb2JhbExvY2FsZShuYW1lKTsKCiAgICAgICAgICAgIHJldHVybiBsb2NhbGVzW25hbWVdOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIC8vIHVzZWZ1bCBmb3IgdGVzdGluZwogICAgICAgICAgICBkZWxldGUgbG9jYWxlc1tuYW1lXTsKICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgfQogICAgfQoKICAgIC8vIHJldHVybnMgbG9jYWxlIGRhdGEKICAgIGZ1bmN0aW9uIGxvY2FsZV9sb2NhbGVzX19nZXRMb2NhbGUgKGtleSkgewogICAgICAgIHZhciBsb2NhbGU7CgogICAgICAgIGlmIChrZXkgJiYga2V5Ll9sb2NhbGUgJiYga2V5Ll9sb2NhbGUuX2FiYnIpIHsKICAgICAgICAgICAga2V5ID0ga2V5Ll9sb2NhbGUuX2FiYnI7CiAgICAgICAgfQoKICAgICAgICBpZiAoIWtleSkgewogICAgICAgICAgICByZXR1cm4gZ2xvYmFsTG9jYWxlOwogICAgICAgIH0KCiAgICAgICAgaWYgKCFpc0FycmF5KGtleSkpIHsKICAgICAgICAgICAgLy9zaG9ydC1jaXJjdWl0IGV2ZXJ5dGhpbmcgZWxzZQogICAgICAgICAgICBsb2NhbGUgPSBsb2FkTG9jYWxlKGtleSk7CiAgICAgICAgICAgIGlmIChsb2NhbGUpIHsKICAgICAgICAgICAgICAgIHJldHVybiBsb2NhbGU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAga2V5ID0gW2tleV07CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gY2hvb3NlTG9jYWxlKGtleSk7CiAgICB9CgogICAgdmFyIGFsaWFzZXMgPSB7fTsKCiAgICBmdW5jdGlvbiBhZGRVbml0QWxpYXMgKHVuaXQsIHNob3J0aGFuZCkgewogICAgICAgIHZhciBsb3dlckNhc2UgPSB1bml0LnRvTG93ZXJDYXNlKCk7CiAgICAgICAgYWxpYXNlc1tsb3dlckNhc2VdID0gYWxpYXNlc1tsb3dlckNhc2UgKyAncyddID0gYWxpYXNlc1tzaG9ydGhhbmRdID0gdW5pdDsKICAgIH0KCiAgICBmdW5jdGlvbiBub3JtYWxpemVVbml0cyh1bml0cykgewogICAgICAgIHJldHVybiB0eXBlb2YgdW5pdHMgPT09ICdzdHJpbmcnID8gYWxpYXNlc1t1bml0c10gfHwgYWxpYXNlc1t1bml0cy50b0xvd2VyQ2FzZSgpXSA6IHVuZGVmaW5lZDsKICAgIH0KCiAgICBmdW5jdGlvbiBub3JtYWxpemVPYmplY3RVbml0cyhpbnB1dE9iamVjdCkgewogICAgICAgIHZhciBub3JtYWxpemVkSW5wdXQgPSB7fSwKICAgICAgICAgICAgbm9ybWFsaXplZFByb3AsCiAgICAgICAgICAgIHByb3A7CgogICAgICAgIGZvciAocHJvcCBpbiBpbnB1dE9iamVjdCkgewogICAgICAgICAgICBpZiAoaGFzT3duUHJvcChpbnB1dE9iamVjdCwgcHJvcCkpIHsKICAgICAgICAgICAgICAgIG5vcm1hbGl6ZWRQcm9wID0gbm9ybWFsaXplVW5pdHMocHJvcCk7CiAgICAgICAgICAgICAgICBpZiAobm9ybWFsaXplZFByb3ApIHsKICAgICAgICAgICAgICAgICAgICBub3JtYWxpemVkSW5wdXRbbm9ybWFsaXplZFByb3BdID0gaW5wdXRPYmplY3RbcHJvcF07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiBub3JtYWxpemVkSW5wdXQ7CiAgICB9CgogICAgZnVuY3Rpb24gbWFrZUdldFNldCAodW5pdCwga2VlcFRpbWUpIHsKICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbHVlKSB7CiAgICAgICAgICAgIGlmICh2YWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgICAgICBnZXRfc2V0X19zZXQodGhpcywgdW5pdCwgdmFsdWUpOwogICAgICAgICAgICAgICAgdXRpbHNfaG9va3NfX2hvb2tzLnVwZGF0ZU9mZnNldCh0aGlzLCBrZWVwVGltZSk7CiAgICAgICAgICAgICAgICByZXR1cm4gdGhpczsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHJldHVybiBnZXRfc2V0X19nZXQodGhpcywgdW5pdCk7CiAgICAgICAgICAgIH0KICAgICAgICB9OwogICAgfQoKICAgIGZ1bmN0aW9uIGdldF9zZXRfX2dldCAobW9tLCB1bml0KSB7CiAgICAgICAgcmV0dXJuIG1vbS5fZFsnZ2V0JyArIChtb20uX2lzVVRDID8gJ1VUQycgOiAnJykgKyB1bml0XSgpOwogICAgfQoKICAgIGZ1bmN0aW9uIGdldF9zZXRfX3NldCAobW9tLCB1bml0LCB2YWx1ZSkgewogICAgICAgIHJldHVybiBtb20uX2RbJ3NldCcgKyAobW9tLl9pc1VUQyA/ICdVVEMnIDogJycpICsgdW5pdF0odmFsdWUpOwogICAgfQoKICAgIC8vIE1PTUVOVFMKCiAgICBmdW5jdGlvbiBnZXRTZXQgKHVuaXRzLCB2YWx1ZSkgewogICAgICAgIHZhciB1bml0OwogICAgICAgIGlmICh0eXBlb2YgdW5pdHMgPT09ICdvYmplY3QnKSB7CiAgICAgICAgICAgIGZvciAodW5pdCBpbiB1bml0cykgewogICAgICAgICAgICAgICAgdGhpcy5zZXQodW5pdCwgdW5pdHNbdW5pdF0pOwogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdW5pdHMgPSBub3JtYWxpemVVbml0cyh1bml0cyk7CiAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpc1t1bml0c10gPT09ICdmdW5jdGlvbicpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0aGlzW3VuaXRzXSh2YWx1ZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRoaXM7CiAgICB9CgogICAgZnVuY3Rpb24gemVyb0ZpbGwobnVtYmVyLCB0YXJnZXRMZW5ndGgsIGZvcmNlU2lnbikgewogICAgICAgIHZhciBhYnNOdW1iZXIgPSAnJyArIE1hdGguYWJzKG51bWJlciksCiAgICAgICAgICAgIHplcm9zVG9GaWxsID0gdGFyZ2V0TGVuZ3RoIC0gYWJzTnVtYmVyLmxlbmd0aCwKICAgICAgICAgICAgc2lnbiA9IG51bWJlciA+PSAwOwogICAgICAgIHJldHVybiAoc2lnbiA/IChmb3JjZVNpZ24gPyAnKycgOiAnJykgOiAnLScpICsKICAgICAgICAgICAgTWF0aC5wb3coMTAsIE1hdGgubWF4KDAsIHplcm9zVG9GaWxsKSkudG9TdHJpbmcoKS5zdWJzdHIoMSkgKyBhYnNOdW1iZXI7CiAgICB9CgogICAgdmFyIGZvcm1hdHRpbmdUb2tlbnMgPSAvKFxbW15cW10qXF0pfChcXCk/KE1vfE1NP00/TT98RG98REREb3xERD9EP0Q/fGRkZD9kP3xkbz98d1tvfHddP3xXW298V10/fFF8WVlZWVlZfFlZWVlZfFlZWVl8WVl8Z2coZ2dnPyk/fEdHKEdHRz8pP3xlfEV8YXxBfGhoP3xISD98bW0/fHNzP3xTezEsOX18eHxYfHp6P3xaWj98LikvZzsKCiAgICB2YXIgbG9jYWxGb3JtYXR0aW5nVG9rZW5zID0gLyhcW1teXFtdKlxdKXwoXFwpPyhMVFN8TFR8TEw/TD9MP3xsezEsNH0pL2c7CgogICAgdmFyIGZvcm1hdEZ1bmN0aW9ucyA9IHt9OwoKICAgIHZhciBmb3JtYXRUb2tlbkZ1bmN0aW9ucyA9IHt9OwoKICAgIC8vIHRva2VuOiAgICAnTScKICAgIC8vIHBhZGRlZDogICBbJ01NJywgMl0KICAgIC8vIG9yZGluYWw6ICAnTW8nCiAgICAvLyBjYWxsYmFjazogZnVuY3Rpb24gKCkgeyB0aGlzLm1vbnRoKCkgKyAxIH0KICAgIGZ1bmN0aW9uIGFkZEZvcm1hdFRva2VuICh0b2tlbiwgcGFkZGVkLCBvcmRpbmFsLCBjYWxsYmFjaykgewogICAgICAgIHZhciBmdW5jID0gY2FsbGJhY2s7CiAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ3N0cmluZycpIHsKICAgICAgICAgICAgZnVuYyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0aGlzW2NhbGxiYWNrXSgpOwogICAgICAgICAgICB9OwogICAgICAgIH0KICAgICAgICBpZiAodG9rZW4pIHsKICAgICAgICAgICAgZm9ybWF0VG9rZW5GdW5jdGlvbnNbdG9rZW5dID0gZnVuYzsKICAgICAgICB9CiAgICAgICAgaWYgKHBhZGRlZCkgewogICAgICAgICAgICBmb3JtYXRUb2tlbkZ1bmN0aW9uc1twYWRkZWRbMF1dID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHplcm9GaWxsKGZ1bmMuYXBwbHkodGhpcywgYXJndW1lbnRzKSwgcGFkZGVkWzFdLCBwYWRkZWRbMl0pOwogICAgICAgICAgICB9OwogICAgICAgIH0KICAgICAgICBpZiAob3JkaW5hbCkgewogICAgICAgICAgICBmb3JtYXRUb2tlbkZ1bmN0aW9uc1tvcmRpbmFsXSA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmxvY2FsZURhdGEoKS5vcmRpbmFsKGZ1bmMuYXBwbHkodGhpcywgYXJndW1lbnRzKSwgdG9rZW4pOwogICAgICAgICAgICB9OwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiByZW1vdmVGb3JtYXR0aW5nVG9rZW5zKGlucHV0KSB7CiAgICAgICAgaWYgKGlucHV0Lm1hdGNoKC9cW1tcc1xTXS8pKSB7CiAgICAgICAgICAgIHJldHVybiBpbnB1dC5yZXBsYWNlKC9eXFt8XF0kL2csICcnKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGlucHV0LnJlcGxhY2UoL1xcL2csICcnKTsKICAgIH0KCiAgICBmdW5jdGlvbiBtYWtlRm9ybWF0RnVuY3Rpb24oZm9ybWF0KSB7CiAgICAgICAgdmFyIGFycmF5ID0gZm9ybWF0Lm1hdGNoKGZvcm1hdHRpbmdUb2tlbnMpLCBpLCBsZW5ndGg7CgogICAgICAgIGZvciAoaSA9IDAsIGxlbmd0aCA9IGFycmF5Lmxlbmd0aDsgaSA8IGxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGlmIChmb3JtYXRUb2tlbkZ1bmN0aW9uc1thcnJheVtpXV0pIHsKICAgICAgICAgICAgICAgIGFycmF5W2ldID0gZm9ybWF0VG9rZW5GdW5jdGlvbnNbYXJyYXlbaV1dOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgYXJyYXlbaV0gPSByZW1vdmVGb3JtYXR0aW5nVG9rZW5zKGFycmF5W2ldKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChtb20pIHsKICAgICAgICAgICAgdmFyIG91dHB1dCA9ICcnOwogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgIG91dHB1dCArPSBhcnJheVtpXSBpbnN0YW5jZW9mIEZ1bmN0aW9uID8gYXJyYXlbaV0uY2FsbChtb20sIGZvcm1hdCkgOiBhcnJheVtpXTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gb3V0cHV0OwogICAgICAgIH07CiAgICB9CgogICAgLy8gZm9ybWF0IGRhdGUgdXNpbmcgbmF0aXZlIGRhdGUgb2JqZWN0CiAgICBmdW5jdGlvbiBmb3JtYXRNb21lbnQobSwgZm9ybWF0KSB7CiAgICAgICAgaWYgKCFtLmlzVmFsaWQoKSkgewogICAgICAgICAgICByZXR1cm4gbS5sb2NhbGVEYXRhKCkuaW52YWxpZERhdGUoKTsKICAgICAgICB9CgogICAgICAgIGZvcm1hdCA9IGV4cGFuZEZvcm1hdChmb3JtYXQsIG0ubG9jYWxlRGF0YSgpKTsKICAgICAgICBmb3JtYXRGdW5jdGlvbnNbZm9ybWF0XSA9IGZvcm1hdEZ1bmN0aW9uc1tmb3JtYXRdIHx8IG1ha2VGb3JtYXRGdW5jdGlvbihmb3JtYXQpOwoKICAgICAgICByZXR1cm4gZm9ybWF0RnVuY3Rpb25zW2Zvcm1hdF0obSk7CiAgICB9CgogICAgZnVuY3Rpb24gZXhwYW5kRm9ybWF0KGZvcm1hdCwgbG9jYWxlKSB7CiAgICAgICAgdmFyIGkgPSA1OwoKICAgICAgICBmdW5jdGlvbiByZXBsYWNlTG9uZ0RhdGVGb3JtYXRUb2tlbnMoaW5wdXQpIHsKICAgICAgICAgICAgcmV0dXJuIGxvY2FsZS5sb25nRGF0ZUZvcm1hdChpbnB1dCkgfHwgaW5wdXQ7CiAgICAgICAgfQoKICAgICAgICBsb2NhbEZvcm1hdHRpbmdUb2tlbnMubGFzdEluZGV4ID0gMDsKICAgICAgICB3aGlsZSAoaSA+PSAwICYmIGxvY2FsRm9ybWF0dGluZ1Rva2Vucy50ZXN0KGZvcm1hdCkpIHsKICAgICAgICAgICAgZm9ybWF0ID0gZm9ybWF0LnJlcGxhY2UobG9jYWxGb3JtYXR0aW5nVG9rZW5zLCByZXBsYWNlTG9uZ0RhdGVGb3JtYXRUb2tlbnMpOwogICAgICAgICAgICBsb2NhbEZvcm1hdHRpbmdUb2tlbnMubGFzdEluZGV4ID0gMDsKICAgICAgICAgICAgaSAtPSAxOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGZvcm1hdDsKICAgIH0KCiAgICB2YXIgbWF0Y2gxICAgICAgICAgPSAvXGQvOyAgICAgICAgICAgIC8vICAgICAgIDAgLSA5CiAgICB2YXIgbWF0Y2gyICAgICAgICAgPSAvXGRcZC87ICAgICAgICAgIC8vICAgICAgMDAgLSA5OQogICAgdmFyIG1hdGNoMyAgICAgICAgID0gL1xkezN9LzsgICAgICAgICAvLyAgICAgMDAwIC0gOTk5CiAgICB2YXIgbWF0Y2g0ICAgICAgICAgPSAvXGR7NH0vOyAgICAgICAgIC8vICAgIDAwMDAgLSA5OTk5CiAgICB2YXIgbWF0Y2g2ICAgICAgICAgPSAvWystXT9cZHs2fS87ICAgIC8vIC05OTk5OTkgLSA5OTk5OTkKICAgIHZhciBtYXRjaDF0bzIgICAgICA9IC9cZFxkPy87ICAgICAgICAgLy8gICAgICAgMCAtIDk5CiAgICB2YXIgbWF0Y2gxdG8zICAgICAgPSAvXGR7MSwzfS87ICAgICAgIC8vICAgICAgIDAgLSA5OTkKICAgIHZhciBtYXRjaDF0bzQgICAgICA9IC9cZHsxLDR9LzsgICAgICAgLy8gICAgICAgMCAtIDk5OTkKICAgIHZhciBtYXRjaDF0bzYgICAgICA9IC9bKy1dP1xkezEsNn0vOyAgLy8gLTk5OTk5OSAtIDk5OTk5OQoKICAgIHZhciBtYXRjaFVuc2lnbmVkICA9IC9cZCsvOyAgICAgICAgICAgLy8gICAgICAgMCAtIGluZgogICAgdmFyIG1hdGNoU2lnbmVkICAgID0gL1srLV0/XGQrLzsgICAgICAvLyAgICAtaW5mIC0gaW5mCgogICAgdmFyIG1hdGNoT2Zmc2V0ICAgID0gL1p8WystXVxkXGQ6P1xkXGQvZ2k7IC8vICswMDowMCAtMDA6MDAgKzAwMDAgLTAwMDAgb3IgWgoKICAgIHZhciBtYXRjaFRpbWVzdGFtcCA9IC9bKy1dP1xkKyhcLlxkezEsM30pPy87IC8vIDEyMzQ1Njc4OSAxMjM0NTY3ODkuMTIzCgogICAgLy8gYW55IHdvcmQgKG9yIHR3bykgY2hhcmFjdGVycyBvciBudW1iZXJzIGluY2x1ZGluZyB0d28vdGhyZWUgd29yZCBtb250aCBpbiBhcmFiaWMuCiAgICB2YXIgbWF0Y2hXb3JkID0gL1swLTldKlsnYS16XHUwMEEwLVx1MDVGRlx1MDcwMC1cdUQ3RkZcdUY5MDAtXHVGRENGXHVGREYwLVx1RkZFRl0rfFtcdTA2MDAtXHUwNkZGXC9dKyhccyo/W1x1MDYwMC1cdTA2RkZdKyl7MSwyfS9pOwoKICAgIHZhciByZWdleGVzID0ge307CgogICAgZnVuY3Rpb24gaXNGdW5jdGlvbiAoc3RoKSB7CiAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL21vbWVudC9tb21lbnQvaXNzdWVzLzIzMjUKICAgICAgICByZXR1cm4gdHlwZW9mIHN0aCA9PT0gJ2Z1bmN0aW9uJyAmJgogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoc3RoKSA9PT0gJ1tvYmplY3QgRnVuY3Rpb25dJzsKICAgIH0KCgogICAgZnVuY3Rpb24gYWRkUmVnZXhUb2tlbiAodG9rZW4sIHJlZ2V4LCBzdHJpY3RSZWdleCkgewogICAgICAgIHJlZ2V4ZXNbdG9rZW5dID0gaXNGdW5jdGlvbihyZWdleCkgPyByZWdleCA6IGZ1bmN0aW9uIChpc1N0cmljdCkgewogICAgICAgICAgICByZXR1cm4gKGlzU3RyaWN0ICYmIHN0cmljdFJlZ2V4KSA/IHN0cmljdFJlZ2V4IDogcmVnZXg7CiAgICAgICAgfTsKICAgIH0KCiAgICBmdW5jdGlvbiBnZXRQYXJzZVJlZ2V4Rm9yVG9rZW4gKHRva2VuLCBjb25maWcpIHsKICAgICAgICBpZiAoIWhhc093blByb3AocmVnZXhlcywgdG9rZW4pKSB7CiAgICAgICAgICAgIHJldHVybiBuZXcgUmVnRXhwKHVuZXNjYXBlRm9ybWF0KHRva2VuKSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gcmVnZXhlc1t0b2tlbl0oY29uZmlnLl9zdHJpY3QsIGNvbmZpZy5fbG9jYWxlKTsKICAgIH0KCiAgICAvLyBDb2RlIGZyb20gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNTYxNDkzL2lzLXRoZXJlLWEtcmVnZXhwLWVzY2FwZS1mdW5jdGlvbi1pbi1qYXZhc2NyaXB0CiAgICBmdW5jdGlvbiB1bmVzY2FwZUZvcm1hdChzKSB7CiAgICAgICAgcmV0dXJuIHMucmVwbGFjZSgnXFwnLCAnJykucmVwbGFjZSgvXFwoXFspfFxcKFxdKXxcWyhbXlxdXFtdKilcXXxcXCguKS9nLCBmdW5jdGlvbiAobWF0Y2hlZCwgcDEsIHAyLCBwMywgcDQpIHsKICAgICAgICAgICAgcmV0dXJuIHAxIHx8IHAyIHx8IHAzIHx8IHA0OwogICAgICAgIH0pLnJlcGxhY2UoL1stXC9cXF4kKis/LigpfFtcXXt9XS9nLCAnXFwkJicpOwogICAgfQoKICAgIHZhciB0b2tlbnMgPSB7fTsKCiAgICBmdW5jdGlvbiBhZGRQYXJzZVRva2VuICh0b2tlbiwgY2FsbGJhY2spIHsKICAgICAgICB2YXIgaSwgZnVuYyA9IGNhbGxiYWNrOwogICAgICAgIGlmICh0eXBlb2YgdG9rZW4gPT09ICdzdHJpbmcnKSB7CiAgICAgICAgICAgIHRva2VuID0gW3Rva2VuXTsKICAgICAgICB9CiAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ251bWJlcicpIHsKICAgICAgICAgICAgZnVuYyA9IGZ1bmN0aW9uIChpbnB1dCwgYXJyYXkpIHsKICAgICAgICAgICAgICAgIGFycmF5W2NhbGxiYWNrXSA9IHRvSW50KGlucHV0KTsKICAgICAgICAgICAgfTsKICAgICAgICB9CiAgICAgICAgZm9yIChpID0gMDsgaSA8IHRva2VuLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIHRva2Vuc1t0b2tlbltpXV0gPSBmdW5jOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBhZGRXZWVrUGFyc2VUb2tlbiAodG9rZW4sIGNhbGxiYWNrKSB7CiAgICAgICAgYWRkUGFyc2VUb2tlbih0b2tlbiwgZnVuY3Rpb24gKGlucHV0LCBhcnJheSwgY29uZmlnLCB0b2tlbikgewogICAgICAgICAgICBjb25maWcuX3cgPSBjb25maWcuX3cgfHwge307CiAgICAgICAgICAgIGNhbGxiYWNrKGlucHV0LCBjb25maWcuX3csIGNvbmZpZywgdG9rZW4pOwogICAgICAgIH0pOwogICAgfQoKICAgIGZ1bmN0aW9uIGFkZFRpbWVUb0FycmF5RnJvbVRva2VuKHRva2VuLCBpbnB1dCwgY29uZmlnKSB7CiAgICAgICAgaWYgKGlucHV0ICE9IG51bGwgJiYgaGFzT3duUHJvcCh0b2tlbnMsIHRva2VuKSkgewogICAgICAgICAgICB0b2tlbnNbdG9rZW5dKGlucHV0LCBjb25maWcuX2EsIGNvbmZpZywgdG9rZW4pOwogICAgICAgIH0KICAgIH0KCiAgICB2YXIgWUVBUiA9IDA7CiAgICB2YXIgTU9OVEggPSAxOwogICAgdmFyIERBVEUgPSAyOwogICAgdmFyIEhPVVIgPSAzOwogICAgdmFyIE1JTlVURSA9IDQ7CiAgICB2YXIgU0VDT05EID0gNTsKICAgIHZhciBNSUxMSVNFQ09ORCA9IDY7CgogICAgZnVuY3Rpb24gZGF5c0luTW9udGgoeWVhciwgbW9udGgpIHsKICAgICAgICByZXR1cm4gbmV3IERhdGUoRGF0ZS5VVEMoeWVhciwgbW9udGggKyAxLCAwKSkuZ2V0VVRDRGF0ZSgpOwogICAgfQoKICAgIC8vIEZPUk1BVFRJTkcKCiAgICBhZGRGb3JtYXRUb2tlbignTScsIFsnTU0nLCAyXSwgJ01vJywgZnVuY3Rpb24gKCkgewogICAgICAgIHJldHVybiB0aGlzLm1vbnRoKCkgKyAxOwogICAgfSk7CgogICAgYWRkRm9ybWF0VG9rZW4oJ01NTScsIDAsIDAsIGZ1bmN0aW9uIChmb3JtYXQpIHsKICAgICAgICByZXR1cm4gdGhpcy5sb2NhbGVEYXRhKCkubW9udGhzU2hvcnQodGhpcywgZm9ybWF0KTsKICAgIH0pOwoKICAgIGFkZEZvcm1hdFRva2VuKCdNTU1NJywgMCwgMCwgZnVuY3Rpb24gKGZvcm1hdCkgewogICAgICAgIHJldHVybiB0aGlzLmxvY2FsZURhdGEoKS5tb250aHModGhpcywgZm9ybWF0KTsKICAgIH0pOwoKICAgIC8vIEFMSUFTRVMKCiAgICBhZGRVbml0QWxpYXMoJ21vbnRoJywgJ00nKTsKCiAgICAvLyBQQVJTSU5HCgogICAgYWRkUmVnZXhUb2tlbignTScsICAgIG1hdGNoMXRvMik7CiAgICBhZGRSZWdleFRva2VuKCdNTScsICAgbWF0Y2gxdG8yLCBtYXRjaDIpOwogICAgYWRkUmVnZXhUb2tlbignTU1NJywgIG1hdGNoV29yZCk7CiAgICBhZGRSZWdleFRva2VuKCdNTU1NJywgbWF0Y2hXb3JkKTsKCiAgICBhZGRQYXJzZVRva2VuKFsnTScsICdNTSddLCBmdW5jdGlvbiAoaW5wdXQsIGFycmF5KSB7CiAgICAgICAgYXJyYXlbTU9OVEhdID0gdG9JbnQoaW5wdXQpIC0gMTsKICAgIH0pOwoKICAgIGFkZFBhcnNlVG9rZW4oWydNTU0nLCAnTU1NTSddLCBmdW5jdGlvbiAoaW5wdXQsIGFycmF5LCBjb25maWcsIHRva2VuKSB7CiAgICAgICAgdmFyIG1vbnRoID0gY29uZmlnLl9sb2NhbGUubW9udGhzUGFyc2UoaW5wdXQsIHRva2VuLCBjb25maWcuX3N0cmljdCk7CiAgICAgICAgLy8gaWYgd2UgZGlkbid0IGZpbmQgYSBtb250aCBuYW1lLCBtYXJrIHRoZSBkYXRlIGFzIGludmFsaWQuCiAgICAgICAgaWYgKG1vbnRoICE9IG51bGwpIHsKICAgICAgICAgICAgYXJyYXlbTU9OVEhdID0gbW9udGg7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykuaW52YWxpZE1vbnRoID0gaW5wdXQ7CiAgICAgICAgfQogICAgfSk7CgogICAgLy8gTE9DQUxFUwoKICAgIHZhciBkZWZhdWx0TG9jYWxlTW9udGhzID0gJ0phbnVhcnlfRmVicnVhcnlfTWFyY2hfQXByaWxfTWF5X0p1bmVfSnVseV9BdWd1c3RfU2VwdGVtYmVyX09jdG9iZXJfTm92ZW1iZXJfRGVjZW1iZXInLnNwbGl0KCdfJyk7CiAgICBmdW5jdGlvbiBsb2NhbGVNb250aHMgKG0pIHsKICAgICAgICByZXR1cm4gdGhpcy5fbW9udGhzW20ubW9udGgoKV07CiAgICB9CgogICAgdmFyIGRlZmF1bHRMb2NhbGVNb250aHNTaG9ydCA9ICdKYW5fRmViX01hcl9BcHJfTWF5X0p1bl9KdWxfQXVnX1NlcF9PY3RfTm92X0RlYycuc3BsaXQoJ18nKTsKICAgIGZ1bmN0aW9uIGxvY2FsZU1vbnRoc1Nob3J0IChtKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuX21vbnRoc1Nob3J0W20ubW9udGgoKV07CiAgICB9CgogICAgZnVuY3Rpb24gbG9jYWxlTW9udGhzUGFyc2UgKG1vbnRoTmFtZSwgZm9ybWF0LCBzdHJpY3QpIHsKICAgICAgICB2YXIgaSwgbW9tLCByZWdleDsKCiAgICAgICAgaWYgKCF0aGlzLl9tb250aHNQYXJzZSkgewogICAgICAgICAgICB0aGlzLl9tb250aHNQYXJzZSA9IFtdOwogICAgICAgICAgICB0aGlzLl9sb25nTW9udGhzUGFyc2UgPSBbXTsKICAgICAgICAgICAgdGhpcy5fc2hvcnRNb250aHNQYXJzZSA9IFtdOwogICAgICAgIH0KCiAgICAgICAgZm9yIChpID0gMDsgaSA8IDEyOyBpKyspIHsKICAgICAgICAgICAgLy8gbWFrZSB0aGUgcmVnZXggaWYgd2UgZG9uJ3QgaGF2ZSBpdCBhbHJlYWR5CiAgICAgICAgICAgIG1vbSA9IGNyZWF0ZV91dGNfX2NyZWF0ZVVUQyhbMjAwMCwgaV0pOwogICAgICAgICAgICBpZiAoc3RyaWN0ICYmICF0aGlzLl9sb25nTW9udGhzUGFyc2VbaV0pIHsKICAgICAgICAgICAgICAgIHRoaXMuX2xvbmdNb250aHNQYXJzZVtpXSA9IG5ldyBSZWdFeHAoJ14nICsgdGhpcy5tb250aHMobW9tLCAnJykucmVwbGFjZSgnLicsICcnKSArICckJywgJ2knKTsKICAgICAgICAgICAgICAgIHRoaXMuX3Nob3J0TW9udGhzUGFyc2VbaV0gPSBuZXcgUmVnRXhwKCdeJyArIHRoaXMubW9udGhzU2hvcnQobW9tLCAnJykucmVwbGFjZSgnLicsICcnKSArICckJywgJ2knKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoIXN0cmljdCAmJiAhdGhpcy5fbW9udGhzUGFyc2VbaV0pIHsKICAgICAgICAgICAgICAgIHJlZ2V4ID0gJ14nICsgdGhpcy5tb250aHMobW9tLCAnJykgKyAnfF4nICsgdGhpcy5tb250aHNTaG9ydChtb20sICcnKTsKICAgICAgICAgICAgICAgIHRoaXMuX21vbnRoc1BhcnNlW2ldID0gbmV3IFJlZ0V4cChyZWdleC5yZXBsYWNlKCcuJywgJycpLCAnaScpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vIHRlc3QgdGhlIHJlZ2V4CiAgICAgICAgICAgIGlmIChzdHJpY3QgJiYgZm9ybWF0ID09PSAnTU1NTScgJiYgdGhpcy5fbG9uZ01vbnRoc1BhcnNlW2ldLnRlc3QobW9udGhOYW1lKSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGk7CiAgICAgICAgICAgIH0gZWxzZSBpZiAoc3RyaWN0ICYmIGZvcm1hdCA9PT0gJ01NTScgJiYgdGhpcy5fc2hvcnRNb250aHNQYXJzZVtpXS50ZXN0KG1vbnRoTmFtZSkpIHsKICAgICAgICAgICAgICAgIHJldHVybiBpOwogICAgICAgICAgICB9IGVsc2UgaWYgKCFzdHJpY3QgJiYgdGhpcy5fbW9udGhzUGFyc2VbaV0udGVzdChtb250aE5hbWUpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gaTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAvLyBNT01FTlRTCgogICAgZnVuY3Rpb24gc2V0TW9udGggKG1vbSwgdmFsdWUpIHsKICAgICAgICB2YXIgZGF5T2ZNb250aDsKCiAgICAgICAgLy8gVE9ETzogTW92ZSB0aGlzIG91dCBvZiBoZXJlIQogICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7CiAgICAgICAgICAgIHZhbHVlID0gbW9tLmxvY2FsZURhdGEoKS5tb250aHNQYXJzZSh2YWx1ZSk7CiAgICAgICAgICAgIC8vIFRPRE86IEFub3RoZXIgc2lsZW50IGZhaWx1cmU/CiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdudW1iZXInKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gbW9tOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBkYXlPZk1vbnRoID0gTWF0aC5taW4obW9tLmRhdGUoKSwgZGF5c0luTW9udGgobW9tLnllYXIoKSwgdmFsdWUpKTsKICAgICAgICBtb20uX2RbJ3NldCcgKyAobW9tLl9pc1VUQyA/ICdVVEMnIDogJycpICsgJ01vbnRoJ10odmFsdWUsIGRheU9mTW9udGgpOwogICAgICAgIHJldHVybiBtb207CiAgICB9CgogICAgZnVuY3Rpb24gZ2V0U2V0TW9udGggKHZhbHVlKSB7CiAgICAgICAgaWYgKHZhbHVlICE9IG51bGwpIHsKICAgICAgICAgICAgc2V0TW9udGgodGhpcywgdmFsdWUpOwogICAgICAgICAgICB1dGlsc19ob29rc19faG9va3MudXBkYXRlT2Zmc2V0KHRoaXMsIHRydWUpOwogICAgICAgICAgICByZXR1cm4gdGhpczsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gZ2V0X3NldF9fZ2V0KHRoaXMsICdNb250aCcpOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBnZXREYXlzSW5Nb250aCAoKSB7CiAgICAgICAgcmV0dXJuIGRheXNJbk1vbnRoKHRoaXMueWVhcigpLCB0aGlzLm1vbnRoKCkpOwogICAgfQoKICAgIGZ1bmN0aW9uIGNoZWNrT3ZlcmZsb3cgKG0pIHsKICAgICAgICB2YXIgb3ZlcmZsb3c7CiAgICAgICAgdmFyIGEgPSBtLl9hOwoKICAgICAgICBpZiAoYSAmJiBnZXRQYXJzaW5nRmxhZ3MobSkub3ZlcmZsb3cgPT09IC0yKSB7CiAgICAgICAgICAgIG92ZXJmbG93ID0KICAgICAgICAgICAgICAgIGFbTU9OVEhdICAgICAgIDwgMCB8fCBhW01PTlRIXSAgICAgICA+IDExICA/IE1PTlRIIDoKICAgICAgICAgICAgICAgIGFbREFURV0gICAgICAgIDwgMSB8fCBhW0RBVEVdICAgICAgICA+IGRheXNJbk1vbnRoKGFbWUVBUl0sIGFbTU9OVEhdKSA/IERBVEUgOgogICAgICAgICAgICAgICAgYVtIT1VSXSAgICAgICAgPCAwIHx8IGFbSE9VUl0gICAgICAgID4gMjQgfHwgKGFbSE9VUl0gPT09IDI0ICYmIChhW01JTlVURV0gIT09IDAgfHwgYVtTRUNPTkRdICE9PSAwIHx8IGFbTUlMTElTRUNPTkRdICE9PSAwKSkgPyBIT1VSIDoKICAgICAgICAgICAgICAgIGFbTUlOVVRFXSAgICAgIDwgMCB8fCBhW01JTlVURV0gICAgICA+IDU5ICA/IE1JTlVURSA6CiAgICAgICAgICAgICAgICBhW1NFQ09ORF0gICAgICA8IDAgfHwgYVtTRUNPTkRdICAgICAgPiA1OSAgPyBTRUNPTkQgOgogICAgICAgICAgICAgICAgYVtNSUxMSVNFQ09ORF0gPCAwIHx8IGFbTUlMTElTRUNPTkRdID4gOTk5ID8gTUlMTElTRUNPTkQgOgogICAgICAgICAgICAgICAgLTE7CgogICAgICAgICAgICBpZiAoZ2V0UGFyc2luZ0ZsYWdzKG0pLl9vdmVyZmxvd0RheU9mWWVhciAmJiAob3ZlcmZsb3cgPCBZRUFSIHx8IG92ZXJmbG93ID4gREFURSkpIHsKICAgICAgICAgICAgICAgIG92ZXJmbG93ID0gREFURTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKG0pLm92ZXJmbG93ID0gb3ZlcmZsb3c7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gbTsKICAgIH0KCiAgICBmdW5jdGlvbiB3YXJuKG1zZykgewogICAgICAgIGlmICh1dGlsc19ob29rc19faG9va3Muc3VwcHJlc3NEZXByZWNhdGlvbldhcm5pbmdzID09PSBmYWxzZSAmJiB0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCcgJiYgY29uc29sZS53YXJuKSB7CiAgICAgICAgICAgIGNvbnNvbGUud2FybignRGVwcmVjYXRpb24gd2FybmluZzogJyArIG1zZyk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGRlcHJlY2F0ZShtc2csIGZuKSB7CiAgICAgICAgdmFyIGZpcnN0VGltZSA9IHRydWU7CgogICAgICAgIHJldHVybiBleHRlbmQoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAoZmlyc3RUaW1lKSB7CiAgICAgICAgICAgICAgICB3YXJuKG1zZyArICdcbicgKyAobmV3IEVycm9yKCkpLnN0YWNrKTsKICAgICAgICAgICAgICAgIGZpcnN0VGltZSA9IGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBmbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwogICAgICAgIH0sIGZuKTsKICAgIH0KCiAgICB2YXIgZGVwcmVjYXRpb25zID0ge307CgogICAgZnVuY3Rpb24gZGVwcmVjYXRlU2ltcGxlKG5hbWUsIG1zZykgewogICAgICAgIGlmICghZGVwcmVjYXRpb25zW25hbWVdKSB7CiAgICAgICAgICAgIHdhcm4obXNnKTsKICAgICAgICAgICAgZGVwcmVjYXRpb25zW25hbWVdID0gdHJ1ZTsKICAgICAgICB9CiAgICB9CgogICAgdXRpbHNfaG9va3NfX2hvb2tzLnN1cHByZXNzRGVwcmVjYXRpb25XYXJuaW5ncyA9IGZhbHNlOwoKICAgIHZhciBmcm9tX3N0cmluZ19faXNvUmVnZXggPSAvXlxzKig/OlsrLV1cZHs2fXxcZHs0fSktKD86KFxkXGQtXGRcZCl8KFdcZFxkJCl8KFdcZFxkLVxkKXwoXGRcZFxkKSkoKFR8ICkoXGRcZCg6XGRcZCg6XGRcZChcLlxkKyk/KT8pPyk/KFtcK1wtXVxkXGQoPzo6P1xkXGQpP3xccypaKT8pPyQvOwoKICAgIHZhciBpc29EYXRlcyA9IFsKICAgICAgICBbJ1lZWVlZWS1NTS1ERCcsIC9bKy1dXGR7Nn0tXGR7Mn0tXGR7Mn0vXSwKICAgICAgICBbJ1lZWVktTU0tREQnLCAvXGR7NH0tXGR7Mn0tXGR7Mn0vXSwKICAgICAgICBbJ0dHR0ctW1ddV1ctRScsIC9cZHs0fS1XXGR7Mn0tXGQvXSwKICAgICAgICBbJ0dHR0ctW1ddV1cnLCAvXGR7NH0tV1xkezJ9L10sCiAgICAgICAgWydZWVlZLURERCcsIC9cZHs0fS1cZHszfS9dCiAgICBdOwoKICAgIC8vIGlzbyB0aW1lIGZvcm1hdHMgYW5kIHJlZ2V4ZXMKICAgIHZhciBpc29UaW1lcyA9IFsKICAgICAgICBbJ0hIOm1tOnNzLlNTU1MnLCAvKFR8IClcZFxkOlxkXGQ6XGRcZFwuXGQrL10sCiAgICAgICAgWydISDptbTpzcycsIC8oVHwgKVxkXGQ6XGRcZDpcZFxkL10sCiAgICAgICAgWydISDptbScsIC8oVHwgKVxkXGQ6XGRcZC9dLAogICAgICAgIFsnSEgnLCAvKFR8IClcZFxkL10KICAgIF07CgogICAgdmFyIGFzcE5ldEpzb25SZWdleCA9IC9eXC8/RGF0ZVwoKFwtP1xkKykvaTsKCiAgICAvLyBkYXRlIGZyb20gaXNvIGZvcm1hdAogICAgZnVuY3Rpb24gY29uZmlnRnJvbUlTTyhjb25maWcpIHsKICAgICAgICB2YXIgaSwgbCwKICAgICAgICAgICAgc3RyaW5nID0gY29uZmlnLl9pLAogICAgICAgICAgICBtYXRjaCA9IGZyb21fc3RyaW5nX19pc29SZWdleC5leGVjKHN0cmluZyk7CgogICAgICAgIGlmIChtYXRjaCkgewogICAgICAgICAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5pc28gPSB0cnVlOwogICAgICAgICAgICBmb3IgKGkgPSAwLCBsID0gaXNvRGF0ZXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNvRGF0ZXNbaV1bMV0uZXhlYyhzdHJpbmcpKSB7CiAgICAgICAgICAgICAgICAgICAgY29uZmlnLl9mID0gaXNvRGF0ZXNbaV1bMF07CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZm9yIChpID0gMCwgbCA9IGlzb1RpbWVzLmxlbmd0aDsgaSA8IGw7IGkrKykgewogICAgICAgICAgICAgICAgaWYgKGlzb1RpbWVzW2ldWzFdLmV4ZWMoc3RyaW5nKSkgewogICAgICAgICAgICAgICAgICAgIC8vIG1hdGNoWzZdIHNob3VsZCBiZSAnVCcgb3Igc3BhY2UKICAgICAgICAgICAgICAgICAgICBjb25maWcuX2YgKz0gKG1hdGNoWzZdIHx8ICcgJykgKyBpc29UaW1lc1tpXVswXTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoc3RyaW5nLm1hdGNoKG1hdGNoT2Zmc2V0KSkgewogICAgICAgICAgICAgICAgY29uZmlnLl9mICs9ICdaJzsKICAgICAgICAgICAgfQogICAgICAgICAgICBjb25maWdGcm9tU3RyaW5nQW5kRm9ybWF0KGNvbmZpZyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uZmlnLl9pc1ZhbGlkID0gZmFsc2U7CiAgICAgICAgfQogICAgfQoKICAgIC8vIGRhdGUgZnJvbSBpc28gZm9ybWF0IG9yIGZhbGxiYWNrCiAgICBmdW5jdGlvbiBjb25maWdGcm9tU3RyaW5nKGNvbmZpZykgewogICAgICAgIHZhciBtYXRjaGVkID0gYXNwTmV0SnNvblJlZ2V4LmV4ZWMoY29uZmlnLl9pKTsKCiAgICAgICAgaWYgKG1hdGNoZWQgIT09IG51bGwpIHsKICAgICAgICAgICAgY29uZmlnLl9kID0gbmV3IERhdGUoK21hdGNoZWRbMV0pOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICBjb25maWdGcm9tSVNPKGNvbmZpZyk7CiAgICAgICAgaWYgKGNvbmZpZy5faXNWYWxpZCA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgZGVsZXRlIGNvbmZpZy5faXNWYWxpZDsKICAgICAgICAgICAgdXRpbHNfaG9va3NfX2hvb2tzLmNyZWF0ZUZyb21JbnB1dEZhbGxiYWNrKGNvbmZpZyk7CiAgICAgICAgfQogICAgfQoKICAgIHV0aWxzX2hvb2tzX19ob29rcy5jcmVhdGVGcm9tSW5wdXRGYWxsYmFjayA9IGRlcHJlY2F0ZSgKICAgICAgICAnbW9tZW50IGNvbnN0cnVjdGlvbiBmYWxscyBiYWNrIHRvIGpzIERhdGUuIFRoaXMgaXMgJyArCiAgICAgICAgJ2Rpc2NvdXJhZ2VkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgbWFqb3IgJyArCiAgICAgICAgJ3JlbGVhc2UuIFBsZWFzZSByZWZlciB0byAnICsKICAgICAgICAnaHR0cHM6Ly9naXRodWIuY29tL21vbWVudC9tb21lbnQvaXNzdWVzLzE0MDcgZm9yIG1vcmUgaW5mby4nLAogICAgICAgIGZ1bmN0aW9uIChjb25maWcpIHsKICAgICAgICAgICAgY29uZmlnLl9kID0gbmV3IERhdGUoY29uZmlnLl9pICsgKGNvbmZpZy5fdXNlVVRDID8gJyBVVEMnIDogJycpKTsKICAgICAgICB9CiAgICApOwoKICAgIGZ1bmN0aW9uIGNyZWF0ZURhdGUgKHksIG0sIGQsIGgsIE0sIHMsIG1zKSB7CiAgICAgICAgLy9jYW4ndCBqdXN0IGFwcGx5KCkgdG8gY3JlYXRlIGEgZGF0ZToKICAgICAgICAvL2h0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTgxMzQ4L2luc3RhbnRpYXRpbmctYS1qYXZhc2NyaXB0LW9iamVjdC1ieS1jYWxsaW5nLXByb3RvdHlwZS1jb25zdHJ1Y3Rvci1hcHBseQogICAgICAgIHZhciBkYXRlID0gbmV3IERhdGUoeSwgbSwgZCwgaCwgTSwgcywgbXMpOwoKICAgICAgICAvL3RoZSBkYXRlIGNvbnN0cnVjdG9yIGRvZXNuJ3QgYWNjZXB0IHllYXJzIDwgMTk3MAogICAgICAgIGlmICh5IDwgMTk3MCkgewogICAgICAgICAgICBkYXRlLnNldEZ1bGxZZWFyKHkpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZGF0ZTsKICAgIH0KCiAgICBmdW5jdGlvbiBjcmVhdGVVVENEYXRlICh5KSB7CiAgICAgICAgdmFyIGRhdGUgPSBuZXcgRGF0ZShEYXRlLlVUQy5hcHBseShudWxsLCBhcmd1bWVudHMpKTsKICAgICAgICBpZiAoeSA8IDE5NzApIHsKICAgICAgICAgICAgZGF0ZS5zZXRVVENGdWxsWWVhcih5KTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGRhdGU7CiAgICB9CgogICAgYWRkRm9ybWF0VG9rZW4oMCwgWydZWScsIDJdLCAwLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuIHRoaXMueWVhcigpICUgMTAwOwogICAgfSk7CgogICAgYWRkRm9ybWF0VG9rZW4oMCwgWydZWVlZJywgICA0XSwgICAgICAgMCwgJ3llYXInKTsKICAgIGFkZEZvcm1hdFRva2VuKDAsIFsnWVlZWVknLCAgNV0sICAgICAgIDAsICd5ZWFyJyk7CiAgICBhZGRGb3JtYXRUb2tlbigwLCBbJ1lZWVlZWScsIDYsIHRydWVdLCAwLCAneWVhcicpOwoKICAgIC8vIEFMSUFTRVMKCiAgICBhZGRVbml0QWxpYXMoJ3llYXInLCAneScpOwoKICAgIC8vIFBBUlNJTkcKCiAgICBhZGRSZWdleFRva2VuKCdZJywgICAgICBtYXRjaFNpZ25lZCk7CiAgICBhZGRSZWdleFRva2VuKCdZWScsICAgICBtYXRjaDF0bzIsIG1hdGNoMik7CiAgICBhZGRSZWdleFRva2VuKCdZWVlZJywgICBtYXRjaDF0bzQsIG1hdGNoNCk7CiAgICBhZGRSZWdleFRva2VuKCdZWVlZWScsICBtYXRjaDF0bzYsIG1hdGNoNik7CiAgICBhZGRSZWdleFRva2VuKCdZWVlZWVknLCBtYXRjaDF0bzYsIG1hdGNoNik7CgogICAgYWRkUGFyc2VUb2tlbihbJ1lZWVlZJywgJ1lZWVlZWSddLCBZRUFSKTsKICAgIGFkZFBhcnNlVG9rZW4oJ1lZWVknLCBmdW5jdGlvbiAoaW5wdXQsIGFycmF5KSB7CiAgICAgICAgYXJyYXlbWUVBUl0gPSBpbnB1dC5sZW5ndGggPT09IDIgPyB1dGlsc19ob29rc19faG9va3MucGFyc2VUd29EaWdpdFllYXIoaW5wdXQpIDogdG9JbnQoaW5wdXQpOwogICAgfSk7CiAgICBhZGRQYXJzZVRva2VuKCdZWScsIGZ1bmN0aW9uIChpbnB1dCwgYXJyYXkpIHsKICAgICAgICBhcnJheVtZRUFSXSA9IHV0aWxzX2hvb2tzX19ob29rcy5wYXJzZVR3b0RpZ2l0WWVhcihpbnB1dCk7CiAgICB9KTsKCiAgICAvLyBIRUxQRVJTCgogICAgZnVuY3Rpb24gZGF5c0luWWVhcih5ZWFyKSB7CiAgICAgICAgcmV0dXJuIGlzTGVhcFllYXIoeWVhcikgPyAzNjYgOiAzNjU7CiAgICB9CgogICAgZnVuY3Rpb24gaXNMZWFwWWVhcih5ZWFyKSB7CiAgICAgICAgcmV0dXJuICh5ZWFyICUgNCA9PT0gMCAmJiB5ZWFyICUgMTAwICE9PSAwKSB8fCB5ZWFyICUgNDAwID09PSAwOwogICAgfQoKICAgIC8vIEhPT0tTCgogICAgdXRpbHNfaG9va3NfX2hvb2tzLnBhcnNlVHdvRGlnaXRZZWFyID0gZnVuY3Rpb24gKGlucHV0KSB7CiAgICAgICAgcmV0dXJuIHRvSW50KGlucHV0KSArICh0b0ludChpbnB1dCkgPiA2OCA/IDE5MDAgOiAyMDAwKTsKICAgIH07CgogICAgLy8gTU9NRU5UUwoKICAgIHZhciBnZXRTZXRZZWFyID0gbWFrZUdldFNldCgnRnVsbFllYXInLCBmYWxzZSk7CgogICAgZnVuY3Rpb24gZ2V0SXNMZWFwWWVhciAoKSB7CiAgICAgICAgcmV0dXJuIGlzTGVhcFllYXIodGhpcy55ZWFyKCkpOwogICAgfQoKICAgIGFkZEZvcm1hdFRva2VuKCd3JywgWyd3dycsIDJdLCAnd28nLCAnd2VlaycpOwogICAgYWRkRm9ybWF0VG9rZW4oJ1cnLCBbJ1dXJywgMl0sICdXbycsICdpc29XZWVrJyk7CgogICAgLy8gQUxJQVNFUwoKICAgIGFkZFVuaXRBbGlhcygnd2VlaycsICd3Jyk7CiAgICBhZGRVbml0QWxpYXMoJ2lzb1dlZWsnLCAnVycpOwoKICAgIC8vIFBBUlNJTkcKCiAgICBhZGRSZWdleFRva2VuKCd3JywgIG1hdGNoMXRvMik7CiAgICBhZGRSZWdleFRva2VuKCd3dycsIG1hdGNoMXRvMiwgbWF0Y2gyKTsKICAgIGFkZFJlZ2V4VG9rZW4oJ1cnLCAgbWF0Y2gxdG8yKTsKICAgIGFkZFJlZ2V4VG9rZW4oJ1dXJywgbWF0Y2gxdG8yLCBtYXRjaDIpOwoKICAgIGFkZFdlZWtQYXJzZVRva2VuKFsndycsICd3dycsICdXJywgJ1dXJ10sIGZ1bmN0aW9uIChpbnB1dCwgd2VlaywgY29uZmlnLCB0b2tlbikgewogICAgICAgIHdlZWtbdG9rZW4uc3Vic3RyKDAsIDEpXSA9IHRvSW50KGlucHV0KTsKICAgIH0pOwoKICAgIC8vIEhFTFBFUlMKCiAgICAvLyBmaXJzdERheU9mV2VlayAgICAgICAwID0gc3VuLCA2ID0gc2F0CiAgICAvLyAgICAgICAgICAgICAgICAgICAgICB0aGUgZGF5IG9mIHRoZSB3ZWVrIHRoYXQgc3RhcnRzIHRoZSB3ZWVrCiAgICAvLyAgICAgICAgICAgICAgICAgICAgICAodXN1YWxseSBzdW5kYXkgb3IgbW9uZGF5KQogICAgLy8gZmlyc3REYXlPZldlZWtPZlllYXIgMCA9IHN1biwgNiA9IHNhdAogICAgLy8gICAgICAgICAgICAgICAgICAgICAgdGhlIGZpcnN0IHdlZWsgaXMgdGhlIHdlZWsgdGhhdCBjb250YWlucyB0aGUgZmlyc3QKICAgIC8vICAgICAgICAgICAgICAgICAgICAgIG9mIHRoaXMgZGF5IG9mIHRoZSB3ZWVrCiAgICAvLyAgICAgICAgICAgICAgICAgICAgICAoZWcuIElTTyB3ZWVrcyB1c2UgdGh1cnNkYXkgKDQpKQogICAgZnVuY3Rpb24gd2Vla09mWWVhcihtb20sIGZpcnN0RGF5T2ZXZWVrLCBmaXJzdERheU9mV2Vla09mWWVhcikgewogICAgICAgIHZhciBlbmQgPSBmaXJzdERheU9mV2Vla09mWWVhciAtIGZpcnN0RGF5T2ZXZWVrLAogICAgICAgICAgICBkYXlzVG9EYXlPZldlZWsgPSBmaXJzdERheU9mV2Vla09mWWVhciAtIG1vbS5kYXkoKSwKICAgICAgICAgICAgYWRqdXN0ZWRNb21lbnQ7CgoKICAgICAgICBpZiAoZGF5c1RvRGF5T2ZXZWVrID4gZW5kKSB7CiAgICAgICAgICAgIGRheXNUb0RheU9mV2VlayAtPSA3OwogICAgICAgIH0KCiAgICAgICAgaWYgKGRheXNUb0RheU9mV2VlayA8IGVuZCAtIDcpIHsKICAgICAgICAgICAgZGF5c1RvRGF5T2ZXZWVrICs9IDc7CiAgICAgICAgfQoKICAgICAgICBhZGp1c3RlZE1vbWVudCA9IGxvY2FsX19jcmVhdGVMb2NhbChtb20pLmFkZChkYXlzVG9EYXlPZldlZWssICdkJyk7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgd2VlazogTWF0aC5jZWlsKGFkanVzdGVkTW9tZW50LmRheU9mWWVhcigpIC8gNyksCiAgICAgICAgICAgIHllYXI6IGFkanVzdGVkTW9tZW50LnllYXIoKQogICAgICAgIH07CiAgICB9CgogICAgLy8gTE9DQUxFUwoKICAgIGZ1bmN0aW9uIGxvY2FsZVdlZWsgKG1vbSkgewogICAgICAgIHJldHVybiB3ZWVrT2ZZZWFyKG1vbSwgdGhpcy5fd2Vlay5kb3csIHRoaXMuX3dlZWsuZG95KS53ZWVrOwogICAgfQoKICAgIHZhciBkZWZhdWx0TG9jYWxlV2VlayA9IHsKICAgICAgICBkb3cgOiAwLCAvLyBTdW5kYXkgaXMgdGhlIGZpcnN0IGRheSBvZiB0aGUgd2Vlay4KICAgICAgICBkb3kgOiA2ICAvLyBUaGUgd2VlayB0aGF0IGNvbnRhaW5zIEphbiAxc3QgaXMgdGhlIGZpcnN0IHdlZWsgb2YgdGhlIHllYXIuCiAgICB9OwoKICAgIGZ1bmN0aW9uIGxvY2FsZUZpcnN0RGF5T2ZXZWVrICgpIHsKICAgICAgICByZXR1cm4gdGhpcy5fd2Vlay5kb3c7CiAgICB9CgogICAgZnVuY3Rpb24gbG9jYWxlRmlyc3REYXlPZlllYXIgKCkgewogICAgICAgIHJldHVybiB0aGlzLl93ZWVrLmRveTsKICAgIH0KCiAgICAvLyBNT01FTlRTCgogICAgZnVuY3Rpb24gZ2V0U2V0V2VlayAoaW5wdXQpIHsKICAgICAgICB2YXIgd2VlayA9IHRoaXMubG9jYWxlRGF0YSgpLndlZWsodGhpcyk7CiAgICAgICAgcmV0dXJuIGlucHV0ID09IG51bGwgPyB3ZWVrIDogdGhpcy5hZGQoKGlucHV0IC0gd2VlaykgKiA3LCAnZCcpOwogICAgfQoKICAgIGZ1bmN0aW9uIGdldFNldElTT1dlZWsgKGlucHV0KSB7CiAgICAgICAgdmFyIHdlZWsgPSB3ZWVrT2ZZZWFyKHRoaXMsIDEsIDQpLndlZWs7CiAgICAgICAgcmV0dXJuIGlucHV0ID09IG51bGwgPyB3ZWVrIDogdGhpcy5hZGQoKGlucHV0IC0gd2VlaykgKiA3LCAnZCcpOwogICAgfQoKICAgIGFkZEZvcm1hdFRva2VuKCdEREQnLCBbJ0REREQnLCAzXSwgJ0RERG8nLCAnZGF5T2ZZZWFyJyk7CgogICAgLy8gQUxJQVNFUwoKICAgIGFkZFVuaXRBbGlhcygnZGF5T2ZZZWFyJywgJ0RERCcpOwoKICAgIC8vIFBBUlNJTkcKCiAgICBhZGRSZWdleFRva2VuKCdEREQnLCAgbWF0Y2gxdG8zKTsKICAgIGFkZFJlZ2V4VG9rZW4oJ0REREQnLCBtYXRjaDMpOwogICAgYWRkUGFyc2VUb2tlbihbJ0RERCcsICdEREREJ10sIGZ1bmN0aW9uIChpbnB1dCwgYXJyYXksIGNvbmZpZykgewogICAgICAgIGNvbmZpZy5fZGF5T2ZZZWFyID0gdG9JbnQoaW5wdXQpOwogICAgfSk7CgogICAgLy8gSEVMUEVSUwoKICAgIC8vaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fd2Vla19kYXRlI0NhbGN1bGF0aW5nX2FfZGF0ZV9naXZlbl90aGVfeWVhci4yQ193ZWVrX251bWJlcl9hbmRfd2Vla2RheQogICAgZnVuY3Rpb24gZGF5T2ZZZWFyRnJvbVdlZWtzKHllYXIsIHdlZWssIHdlZWtkYXksIGZpcnN0RGF5T2ZXZWVrT2ZZZWFyLCBmaXJzdERheU9mV2VlaykgewogICAgICAgIHZhciB3ZWVrMUphbiA9IDYgKyBmaXJzdERheU9mV2VlayAtIGZpcnN0RGF5T2ZXZWVrT2ZZZWFyLCBqYW5YID0gY3JlYXRlVVRDRGF0ZSh5ZWFyLCAwLCAxICsgd2VlazFKYW4pLCBkID0gamFuWC5nZXRVVENEYXkoKSwgZGF5T2ZZZWFyOwogICAgICAgIGlmIChkIDwgZmlyc3REYXlPZldlZWspIHsKICAgICAgICAgICAgZCArPSA3OwogICAgICAgIH0KCiAgICAgICAgd2Vla2RheSA9IHdlZWtkYXkgIT0gbnVsbCA/IDEgKiB3ZWVrZGF5IDogZmlyc3REYXlPZldlZWs7CgogICAgICAgIGRheU9mWWVhciA9IDEgKyB3ZWVrMUphbiArIDcgKiAod2VlayAtIDEpIC0gZCArIHdlZWtkYXk7CgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHllYXI6IGRheU9mWWVhciA+IDAgPyB5ZWFyIDogeWVhciAtIDEsCiAgICAgICAgICAgIGRheU9mWWVhcjogZGF5T2ZZZWFyID4gMCA/ICBkYXlPZlllYXIgOiBkYXlzSW5ZZWFyKHllYXIgLSAxKSArIGRheU9mWWVhcgogICAgICAgIH07CiAgICB9CgogICAgLy8gTU9NRU5UUwoKICAgIGZ1bmN0aW9uIGdldFNldERheU9mWWVhciAoaW5wdXQpIHsKICAgICAgICB2YXIgZGF5T2ZZZWFyID0gTWF0aC5yb3VuZCgodGhpcy5jbG9uZSgpLnN0YXJ0T2YoJ2RheScpIC0gdGhpcy5jbG9uZSgpLnN0YXJ0T2YoJ3llYXInKSkgLyA4NjRlNSkgKyAxOwogICAgICAgIHJldHVybiBpbnB1dCA9PSBudWxsID8gZGF5T2ZZZWFyIDogdGhpcy5hZGQoKGlucHV0IC0gZGF5T2ZZZWFyKSwgJ2QnKTsKICAgIH0KCiAgICAvLyBQaWNrIHRoZSBmaXJzdCBkZWZpbmVkIG9mIHR3byBvciB0aHJlZSBhcmd1bWVudHMuCiAgICBmdW5jdGlvbiBkZWZhdWx0cyhhLCBiLCBjKSB7CiAgICAgICAgaWYgKGEgIT0gbnVsbCkgewogICAgICAgICAgICByZXR1cm4gYTsKICAgICAgICB9CiAgICAgICAgaWYgKGIgIT0gbnVsbCkgewogICAgICAgICAgICByZXR1cm4gYjsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGM7CiAgICB9CgogICAgZnVuY3Rpb24gY3VycmVudERhdGVBcnJheShjb25maWcpIHsKICAgICAgICB2YXIgbm93ID0gbmV3IERhdGUoKTsKICAgICAgICBpZiAoY29uZmlnLl91c2VVVEMpIHsKICAgICAgICAgICAgcmV0dXJuIFtub3cuZ2V0VVRDRnVsbFllYXIoKSwgbm93LmdldFVUQ01vbnRoKCksIG5vdy5nZXRVVENEYXRlKCldOwogICAgICAgIH0KICAgICAgICByZXR1cm4gW25vdy5nZXRGdWxsWWVhcigpLCBub3cuZ2V0TW9udGgoKSwgbm93LmdldERhdGUoKV07CiAgICB9CgogICAgLy8gY29udmVydCBhbiBhcnJheSB0byBhIGRhdGUuCiAgICAvLyB0aGUgYXJyYXkgc2hvdWxkIG1pcnJvciB0aGUgcGFyYW1ldGVycyBiZWxvdwogICAgLy8gbm90ZTogYWxsIHZhbHVlcyBwYXN0IHRoZSB5ZWFyIGFyZSBvcHRpb25hbCBhbmQgd2lsbCBkZWZhdWx0IHRvIHRoZSBsb3dlc3QgcG9zc2libGUgdmFsdWUuCiAgICAvLyBbeWVhciwgbW9udGgsIGRheSAsIGhvdXIsIG1pbnV0ZSwgc2Vjb25kLCBtaWxsaXNlY29uZF0KICAgIGZ1bmN0aW9uIGNvbmZpZ0Zyb21BcnJheSAoY29uZmlnKSB7CiAgICAgICAgdmFyIGksIGRhdGUsIGlucHV0ID0gW10sIGN1cnJlbnREYXRlLCB5ZWFyVG9Vc2U7CgogICAgICAgIGlmIChjb25maWcuX2QpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgY3VycmVudERhdGUgPSBjdXJyZW50RGF0ZUFycmF5KGNvbmZpZyk7CgogICAgICAgIC8vY29tcHV0ZSBkYXkgb2YgdGhlIHllYXIgZnJvbSB3ZWVrcyBhbmQgd2Vla2RheXMKICAgICAgICBpZiAoY29uZmlnLl93ICYmIGNvbmZpZy5fYVtEQVRFXSA9PSBudWxsICYmIGNvbmZpZy5fYVtNT05USF0gPT0gbnVsbCkgewogICAgICAgICAgICBkYXlPZlllYXJGcm9tV2Vla0luZm8oY29uZmlnKTsKICAgICAgICB9CgogICAgICAgIC8vaWYgdGhlIGRheSBvZiB0aGUgeWVhciBpcyBzZXQsIGZpZ3VyZSBvdXQgd2hhdCBpdCBpcwogICAgICAgIGlmIChjb25maWcuX2RheU9mWWVhcikgewogICAgICAgICAgICB5ZWFyVG9Vc2UgPSBkZWZhdWx0cyhjb25maWcuX2FbWUVBUl0sIGN1cnJlbnREYXRlW1lFQVJdKTsKCiAgICAgICAgICAgIGlmIChjb25maWcuX2RheU9mWWVhciA+IGRheXNJblllYXIoeWVhclRvVXNlKSkgewogICAgICAgICAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykuX292ZXJmbG93RGF5T2ZZZWFyID0gdHJ1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZGF0ZSA9IGNyZWF0ZVVUQ0RhdGUoeWVhclRvVXNlLCAwLCBjb25maWcuX2RheU9mWWVhcik7CiAgICAgICAgICAgIGNvbmZpZy5fYVtNT05USF0gPSBkYXRlLmdldFVUQ01vbnRoKCk7CiAgICAgICAgICAgIGNvbmZpZy5fYVtEQVRFXSA9IGRhdGUuZ2V0VVRDRGF0ZSgpOwogICAgICAgIH0KCiAgICAgICAgLy8gRGVmYXVsdCB0byBjdXJyZW50IGRhdGUuCiAgICAgICAgLy8gKiBpZiBubyB5ZWFyLCBtb250aCwgZGF5IG9mIG1vbnRoIGFyZSBnaXZlbiwgZGVmYXVsdCB0byB0b2RheQogICAgICAgIC8vICogaWYgZGF5IG9mIG1vbnRoIGlzIGdpdmVuLCBkZWZhdWx0IG1vbnRoIGFuZCB5ZWFyCiAgICAgICAgLy8gKiBpZiBtb250aCBpcyBnaXZlbiwgZGVmYXVsdCBvbmx5IHllYXIKICAgICAgICAvLyAqIGlmIHllYXIgaXMgZ2l2ZW4sIGRvbid0IGRlZmF1bHQgYW55dGhpbmcKICAgICAgICBmb3IgKGkgPSAwOyBpIDwgMyAmJiBjb25maWcuX2FbaV0gPT0gbnVsbDsgKytpKSB7CiAgICAgICAgICAgIGNvbmZpZy5fYVtpXSA9IGlucHV0W2ldID0gY3VycmVudERhdGVbaV07CiAgICAgICAgfQoKICAgICAgICAvLyBaZXJvIG91dCB3aGF0ZXZlciB3YXMgbm90IGRlZmF1bHRlZCwgaW5jbHVkaW5nIHRpbWUKICAgICAgICBmb3IgKDsgaSA8IDc7IGkrKykgewogICAgICAgICAgICBjb25maWcuX2FbaV0gPSBpbnB1dFtpXSA9IChjb25maWcuX2FbaV0gPT0gbnVsbCkgPyAoaSA9PT0gMiA/IDEgOiAwKSA6IGNvbmZpZy5fYVtpXTsKICAgICAgICB9CgogICAgICAgIC8vIENoZWNrIGZvciAyNDowMDowMC4wMDAKICAgICAgICBpZiAoY29uZmlnLl9hW0hPVVJdID09PSAyNCAmJgogICAgICAgICAgICAgICAgY29uZmlnLl9hW01JTlVURV0gPT09IDAgJiYKICAgICAgICAgICAgICAgIGNvbmZpZy5fYVtTRUNPTkRdID09PSAwICYmCiAgICAgICAgICAgICAgICBjb25maWcuX2FbTUlMTElTRUNPTkRdID09PSAwKSB7CiAgICAgICAgICAgIGNvbmZpZy5fbmV4dERheSA9IHRydWU7CiAgICAgICAgICAgIGNvbmZpZy5fYVtIT1VSXSA9IDA7CiAgICAgICAgfQoKICAgICAgICBjb25maWcuX2QgPSAoY29uZmlnLl91c2VVVEMgPyBjcmVhdGVVVENEYXRlIDogY3JlYXRlRGF0ZSkuYXBwbHkobnVsbCwgaW5wdXQpOwogICAgICAgIC8vIEFwcGx5IHRpbWV6b25lIG9mZnNldCBmcm9tIGlucHV0LiBUaGUgYWN0dWFsIHV0Y09mZnNldCBjYW4gYmUgY2hhbmdlZAogICAgICAgIC8vIHdpdGggcGFyc2Vab25lLgogICAgICAgIGlmIChjb25maWcuX3R6bSAhPSBudWxsKSB7CiAgICAgICAgICAgIGNvbmZpZy5fZC5zZXRVVENNaW51dGVzKGNvbmZpZy5fZC5nZXRVVENNaW51dGVzKCkgLSBjb25maWcuX3R6bSk7CiAgICAgICAgfQoKICAgICAgICBpZiAoY29uZmlnLl9uZXh0RGF5KSB7CiAgICAgICAgICAgIGNvbmZpZy5fYVtIT1VSXSA9IDI0OwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBkYXlPZlllYXJGcm9tV2Vla0luZm8oY29uZmlnKSB7CiAgICAgICAgdmFyIHcsIHdlZWtZZWFyLCB3ZWVrLCB3ZWVrZGF5LCBkb3csIGRveSwgdGVtcDsKCiAgICAgICAgdyA9IGNvbmZpZy5fdzsKICAgICAgICBpZiAody5HRyAhPSBudWxsIHx8IHcuVyAhPSBudWxsIHx8IHcuRSAhPSBudWxsKSB7CiAgICAgICAgICAgIGRvdyA9IDE7CiAgICAgICAgICAgIGRveSA9IDQ7CgogICAgICAgICAgICAvLyBUT0RPOiBXZSBuZWVkIHRvIHRha2UgdGhlIGN1cnJlbnQgaXNvV2Vla1llYXIsIGJ1dCB0aGF0IGRlcGVuZHMgb24KICAgICAgICAgICAgLy8gaG93IHdlIGludGVycHJldCBub3cgKGxvY2FsLCB1dGMsIGZpeGVkIG9mZnNldCkuIFNvIGNyZWF0ZQogICAgICAgICAgICAvLyBhIG5vdyB2ZXJzaW9uIG9mIGN1cnJlbnQgY29uZmlnICh0YWtlIGxvY2FsL3V0Yy9vZmZzZXQgZmxhZ3MsIGFuZAogICAgICAgICAgICAvLyBjcmVhdGUgbm93KS4KICAgICAgICAgICAgd2Vla1llYXIgPSBkZWZhdWx0cyh3LkdHLCBjb25maWcuX2FbWUVBUl0sIHdlZWtPZlllYXIobG9jYWxfX2NyZWF0ZUxvY2FsKCksIDEsIDQpLnllYXIpOwogICAgICAgICAgICB3ZWVrID0gZGVmYXVsdHMody5XLCAxKTsKICAgICAgICAgICAgd2Vla2RheSA9IGRlZmF1bHRzKHcuRSwgMSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgZG93ID0gY29uZmlnLl9sb2NhbGUuX3dlZWsuZG93OwogICAgICAgICAgICBkb3kgPSBjb25maWcuX2xvY2FsZS5fd2Vlay5kb3k7CgogICAgICAgICAgICB3ZWVrWWVhciA9IGRlZmF1bHRzKHcuZ2csIGNvbmZpZy5fYVtZRUFSXSwgd2Vla09mWWVhcihsb2NhbF9fY3JlYXRlTG9jYWwoKSwgZG93LCBkb3kpLnllYXIpOwogICAgICAgICAgICB3ZWVrID0gZGVmYXVsdHMody53LCAxKTsKCiAgICAgICAgICAgIGlmICh3LmQgIT0gbnVsbCkgewogICAgICAgICAgICAgICAgLy8gd2Vla2RheSAtLSBsb3cgZGF5IG51bWJlcnMgYXJlIGNvbnNpZGVyZWQgbmV4dCB3ZWVrCiAgICAgICAgICAgICAgICB3ZWVrZGF5ID0gdy5kOwogICAgICAgICAgICAgICAgaWYgKHdlZWtkYXkgPCBkb3cpIHsKICAgICAgICAgICAgICAgICAgICArK3dlZWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSBpZiAody5lICE9IG51bGwpIHsKICAgICAgICAgICAgICAgIC8vIGxvY2FsIHdlZWtkYXkgLS0gY291bnRpbmcgc3RhcnRzIGZyb20gYmVnaW5pbmcgb2Ygd2VlawogICAgICAgICAgICAgICAgd2Vla2RheSA9IHcuZSArIGRvdzsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIC8vIGRlZmF1bHQgdG8gYmVnaW5pbmcgb2Ygd2VlawogICAgICAgICAgICAgICAgd2Vla2RheSA9IGRvdzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICB0ZW1wID0gZGF5T2ZZZWFyRnJvbVdlZWtzKHdlZWtZZWFyLCB3ZWVrLCB3ZWVrZGF5LCBkb3ksIGRvdyk7CgogICAgICAgIGNvbmZpZy5fYVtZRUFSXSA9IHRlbXAueWVhcjsKICAgICAgICBjb25maWcuX2RheU9mWWVhciA9IHRlbXAuZGF5T2ZZZWFyOwogICAgfQoKICAgIHV0aWxzX2hvb2tzX19ob29rcy5JU09fODYwMSA9IGZ1bmN0aW9uICgpIHt9OwoKICAgIC8vIGRhdGUgZnJvbSBzdHJpbmcgYW5kIGZvcm1hdCBzdHJpbmcKICAgIGZ1bmN0aW9uIGNvbmZpZ0Zyb21TdHJpbmdBbmRGb3JtYXQoY29uZmlnKSB7CiAgICAgICAgLy8gVE9ETzogTW92ZSB0aGlzIHRvIGFub3RoZXIgcGFydCBvZiB0aGUgY3JlYXRpb24gZmxvdyB0byBwcmV2ZW50IGNpcmN1bGFyIGRlcHMKICAgICAgICBpZiAoY29uZmlnLl9mID09PSB1dGlsc19ob29rc19faG9va3MuSVNPXzg2MDEpIHsKICAgICAgICAgICAgY29uZmlnRnJvbUlTTyhjb25maWcpOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICBjb25maWcuX2EgPSBbXTsKICAgICAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5lbXB0eSA9IHRydWU7CgogICAgICAgIC8vIFRoaXMgYXJyYXkgaXMgdXNlZCB0byBtYWtlIGEgRGF0ZSwgZWl0aGVyIHdpdGggYG5ldyBEYXRlYCBvciBgRGF0ZS5VVENgCiAgICAgICAgdmFyIHN0cmluZyA9ICcnICsgY29uZmlnLl9pLAogICAgICAgICAgICBpLCBwYXJzZWRJbnB1dCwgdG9rZW5zLCB0b2tlbiwgc2tpcHBlZCwKICAgICAgICAgICAgc3RyaW5nTGVuZ3RoID0gc3RyaW5nLmxlbmd0aCwKICAgICAgICAgICAgdG90YWxQYXJzZWRJbnB1dExlbmd0aCA9IDA7CgogICAgICAgIHRva2VucyA9IGV4cGFuZEZvcm1hdChjb25maWcuX2YsIGNvbmZpZy5fbG9jYWxlKS5tYXRjaChmb3JtYXR0aW5nVG9rZW5zKSB8fCBbXTsKCiAgICAgICAgZm9yIChpID0gMDsgaSA8IHRva2Vucy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICB0b2tlbiA9IHRva2Vuc1tpXTsKICAgICAgICAgICAgcGFyc2VkSW5wdXQgPSAoc3RyaW5nLm1hdGNoKGdldFBhcnNlUmVnZXhGb3JUb2tlbih0b2tlbiwgY29uZmlnKSkgfHwgW10pWzBdOwogICAgICAgICAgICBpZiAocGFyc2VkSW5wdXQpIHsKICAgICAgICAgICAgICAgIHNraXBwZWQgPSBzdHJpbmcuc3Vic3RyKDAsIHN0cmluZy5pbmRleE9mKHBhcnNlZElucHV0KSk7CiAgICAgICAgICAgICAgICBpZiAoc2tpcHBlZC5sZW5ndGggPiAwKSB7CiAgICAgICAgICAgICAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykudW51c2VkSW5wdXQucHVzaChza2lwcGVkKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHN0cmluZyA9IHN0cmluZy5zbGljZShzdHJpbmcuaW5kZXhPZihwYXJzZWRJbnB1dCkgKyBwYXJzZWRJbnB1dC5sZW5ndGgpOwogICAgICAgICAgICAgICAgdG90YWxQYXJzZWRJbnB1dExlbmd0aCArPSBwYXJzZWRJbnB1dC5sZW5ndGg7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8gZG9uJ3QgcGFyc2UgaWYgaXQncyBub3QgYSBrbm93biB0b2tlbgogICAgICAgICAgICBpZiAoZm9ybWF0VG9rZW5GdW5jdGlvbnNbdG9rZW5dKSB7CiAgICAgICAgICAgICAgICBpZiAocGFyc2VkSW5wdXQpIHsKICAgICAgICAgICAgICAgICAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5lbXB0eSA9IGZhbHNlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykudW51c2VkVG9rZW5zLnB1c2godG9rZW4pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYWRkVGltZVRvQXJyYXlGcm9tVG9rZW4odG9rZW4sIHBhcnNlZElucHV0LCBjb25maWcpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgaWYgKGNvbmZpZy5fc3RyaWN0ICYmICFwYXJzZWRJbnB1dCkgewogICAgICAgICAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykudW51c2VkVG9rZW5zLnB1c2godG9rZW4pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBhZGQgcmVtYWluaW5nIHVucGFyc2VkIGlucHV0IGxlbmd0aCB0byB0aGUgc3RyaW5nCiAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykuY2hhcnNMZWZ0T3ZlciA9IHN0cmluZ0xlbmd0aCAtIHRvdGFsUGFyc2VkSW5wdXRMZW5ndGg7CiAgICAgICAgaWYgKHN0cmluZy5sZW5ndGggPiAwKSB7CiAgICAgICAgICAgIGdldFBhcnNpbmdGbGFncyhjb25maWcpLnVudXNlZElucHV0LnB1c2goc3RyaW5nKTsKICAgICAgICB9CgogICAgICAgIC8vIGNsZWFyIF8xMmggZmxhZyBpZiBob3VyIGlzIDw9IDEyCiAgICAgICAgaWYgKGdldFBhcnNpbmdGbGFncyhjb25maWcpLmJpZ0hvdXIgPT09IHRydWUgJiYKICAgICAgICAgICAgICAgIGNvbmZpZy5fYVtIT1VSXSA8PSAxMiAmJgogICAgICAgICAgICAgICAgY29uZmlnLl9hW0hPVVJdID4gMCkgewogICAgICAgICAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5iaWdIb3VyID0gdW5kZWZpbmVkOwogICAgICAgIH0KICAgICAgICAvLyBoYW5kbGUgbWVyaWRpZW0KICAgICAgICBjb25maWcuX2FbSE9VUl0gPSBtZXJpZGllbUZpeFdyYXAoY29uZmlnLl9sb2NhbGUsIGNvbmZpZy5fYVtIT1VSXSwgY29uZmlnLl9tZXJpZGllbSk7CgogICAgICAgIGNvbmZpZ0Zyb21BcnJheShjb25maWcpOwogICAgICAgIGNoZWNrT3ZlcmZsb3coY29uZmlnKTsKICAgIH0KCgogICAgZnVuY3Rpb24gbWVyaWRpZW1GaXhXcmFwIChsb2NhbGUsIGhvdXIsIG1lcmlkaWVtKSB7CiAgICAgICAgdmFyIGlzUG07CgogICAgICAgIGlmIChtZXJpZGllbSA9PSBudWxsKSB7CiAgICAgICAgICAgIC8vIG5vdGhpbmcgdG8gZG8KICAgICAgICAgICAgcmV0dXJuIGhvdXI7CiAgICAgICAgfQogICAgICAgIGlmIChsb2NhbGUubWVyaWRpZW1Ib3VyICE9IG51bGwpIHsKICAgICAgICAgICAgcmV0dXJuIGxvY2FsZS5tZXJpZGllbUhvdXIoaG91ciwgbWVyaWRpZW0pOwogICAgICAgIH0gZWxzZSBpZiAobG9jYWxlLmlzUE0gIT0gbnVsbCkgewogICAgICAgICAgICAvLyBGYWxsYmFjawogICAgICAgICAgICBpc1BtID0gbG9jYWxlLmlzUE0obWVyaWRpZW0pOwogICAgICAgICAgICBpZiAoaXNQbSAmJiBob3VyIDwgMTIpIHsKICAgICAgICAgICAgICAgIGhvdXIgKz0gMTI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCFpc1BtICYmIGhvdXIgPT09IDEyKSB7CiAgICAgICAgICAgICAgICBob3VyID0gMDsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gaG91cjsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAvLyB0aGlzIGlzIG5vdCBzdXBwb3NlZCB0byBoYXBwZW4KICAgICAgICAgICAgcmV0dXJuIGhvdXI7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGNvbmZpZ0Zyb21TdHJpbmdBbmRBcnJheShjb25maWcpIHsKICAgICAgICB2YXIgdGVtcENvbmZpZywKICAgICAgICAgICAgYmVzdE1vbWVudCwKCiAgICAgICAgICAgIHNjb3JlVG9CZWF0LAogICAgICAgICAgICBpLAogICAgICAgICAgICBjdXJyZW50U2NvcmU7CgogICAgICAgIGlmIChjb25maWcuX2YubGVuZ3RoID09PSAwKSB7CiAgICAgICAgICAgIGdldFBhcnNpbmdGbGFncyhjb25maWcpLmludmFsaWRGb3JtYXQgPSB0cnVlOwogICAgICAgICAgICBjb25maWcuX2QgPSBuZXcgRGF0ZShOYU4pOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICBmb3IgKGkgPSAwOyBpIDwgY29uZmlnLl9mLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGN1cnJlbnRTY29yZSA9IDA7CiAgICAgICAgICAgIHRlbXBDb25maWcgPSBjb3B5Q29uZmlnKHt9LCBjb25maWcpOwogICAgICAgICAgICBpZiAoY29uZmlnLl91c2VVVEMgIT0gbnVsbCkgewogICAgICAgICAgICAgICAgdGVtcENvbmZpZy5fdXNlVVRDID0gY29uZmlnLl91c2VVVEM7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdGVtcENvbmZpZy5fZiA9IGNvbmZpZy5fZltpXTsKICAgICAgICAgICAgY29uZmlnRnJvbVN0cmluZ0FuZEZvcm1hdCh0ZW1wQ29uZmlnKTsKCiAgICAgICAgICAgIGlmICghdmFsaWRfX2lzVmFsaWQodGVtcENvbmZpZykpIHsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBpZiB0aGVyZSBpcyBhbnkgaW5wdXQgdGhhdCB3YXMgbm90IHBhcnNlZCBhZGQgYSBwZW5hbHR5IGZvciB0aGF0IGZvcm1hdAogICAgICAgICAgICBjdXJyZW50U2NvcmUgKz0gZ2V0UGFyc2luZ0ZsYWdzKHRlbXBDb25maWcpLmNoYXJzTGVmdE92ZXI7CgogICAgICAgICAgICAvL29yIHRva2VucwogICAgICAgICAgICBjdXJyZW50U2NvcmUgKz0gZ2V0UGFyc2luZ0ZsYWdzKHRlbXBDb25maWcpLnVudXNlZFRva2Vucy5sZW5ndGggKiAxMDsKCiAgICAgICAgICAgIGdldFBhcnNpbmdGbGFncyh0ZW1wQ29uZmlnKS5zY29yZSA9IGN1cnJlbnRTY29yZTsKCiAgICAgICAgICAgIGlmIChzY29yZVRvQmVhdCA9PSBudWxsIHx8IGN1cnJlbnRTY29yZSA8IHNjb3JlVG9CZWF0KSB7CiAgICAgICAgICAgICAgICBzY29yZVRvQmVhdCA9IGN1cnJlbnRTY29yZTsKICAgICAgICAgICAgICAgIGJlc3RNb21lbnQgPSB0ZW1wQ29uZmlnOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBleHRlbmQoY29uZmlnLCBiZXN0TW9tZW50IHx8IHRlbXBDb25maWcpOwogICAgfQoKICAgIGZ1bmN0aW9uIGNvbmZpZ0Zyb21PYmplY3QoY29uZmlnKSB7CiAgICAgICAgaWYgKGNvbmZpZy5fZCkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICB2YXIgaSA9IG5vcm1hbGl6ZU9iamVjdFVuaXRzKGNvbmZpZy5faSk7CiAgICAgICAgY29uZmlnLl9hID0gW2kueWVhciwgaS5tb250aCwgaS5kYXkgfHwgaS5kYXRlLCBpLmhvdXIsIGkubWludXRlLCBpLnNlY29uZCwgaS5taWxsaXNlY29uZF07CgogICAgICAgIGNvbmZpZ0Zyb21BcnJheShjb25maWcpOwogICAgfQoKICAgIGZ1bmN0aW9uIGNyZWF0ZUZyb21Db25maWcgKGNvbmZpZykgewogICAgICAgIHZhciByZXMgPSBuZXcgTW9tZW50KGNoZWNrT3ZlcmZsb3cocHJlcGFyZUNvbmZpZyhjb25maWcpKSk7CiAgICAgICAgaWYgKHJlcy5fbmV4dERheSkgewogICAgICAgICAgICAvLyBBZGRpbmcgaXMgc21hcnQgZW5vdWdoIGFyb3VuZCBEU1QKICAgICAgICAgICAgcmVzLmFkZCgxLCAnZCcpOwogICAgICAgICAgICByZXMuX25leHREYXkgPSB1bmRlZmluZWQ7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gcmVzOwogICAgfQoKICAgIGZ1bmN0aW9uIHByZXBhcmVDb25maWcgKGNvbmZpZykgewogICAgICAgIHZhciBpbnB1dCA9IGNvbmZpZy5faSwKICAgICAgICAgICAgZm9ybWF0ID0gY29uZmlnLl9mOwoKICAgICAgICBjb25maWcuX2xvY2FsZSA9IGNvbmZpZy5fbG9jYWxlIHx8IGxvY2FsZV9sb2NhbGVzX19nZXRMb2NhbGUoY29uZmlnLl9sKTsKCiAgICAgICAgaWYgKGlucHV0ID09PSBudWxsIHx8IChmb3JtYXQgPT09IHVuZGVmaW5lZCAmJiBpbnB1dCA9PT0gJycpKSB7CiAgICAgICAgICAgIHJldHVybiB2YWxpZF9fY3JlYXRlSW52YWxpZCh7bnVsbElucHV0OiB0cnVlfSk7CiAgICAgICAgfQoKICAgICAgICBpZiAodHlwZW9mIGlucHV0ID09PSAnc3RyaW5nJykgewogICAgICAgICAgICBjb25maWcuX2kgPSBpbnB1dCA9IGNvbmZpZy5fbG9jYWxlLnByZXBhcnNlKGlucHV0KTsKICAgICAgICB9CgogICAgICAgIGlmIChpc01vbWVudChpbnB1dCkpIHsKICAgICAgICAgICAgcmV0dXJuIG5ldyBNb21lbnQoY2hlY2tPdmVyZmxvdyhpbnB1dCkpOwogICAgICAgIH0gZWxzZSBpZiAoaXNBcnJheShmb3JtYXQpKSB7CiAgICAgICAgICAgIGNvbmZpZ0Zyb21TdHJpbmdBbmRBcnJheShjb25maWcpOwogICAgICAgIH0gZWxzZSBpZiAoZm9ybWF0KSB7CiAgICAgICAgICAgIGNvbmZpZ0Zyb21TdHJpbmdBbmRGb3JtYXQoY29uZmlnKTsKICAgICAgICB9IGVsc2UgaWYgKGlzRGF0ZShpbnB1dCkpIHsKICAgICAgICAgICAgY29uZmlnLl9kID0gaW5wdXQ7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uZmlnRnJvbUlucHV0KGNvbmZpZyk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gY29uZmlnOwogICAgfQoKICAgIGZ1bmN0aW9uIGNvbmZpZ0Zyb21JbnB1dChjb25maWcpIHsKICAgICAgICB2YXIgaW5wdXQgPSBjb25maWcuX2k7CiAgICAgICAgaWYgKGlucHV0ID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgY29uZmlnLl9kID0gbmV3IERhdGUoKTsKICAgICAgICB9IGVsc2UgaWYgKGlzRGF0ZShpbnB1dCkpIHsKICAgICAgICAgICAgY29uZmlnLl9kID0gbmV3IERhdGUoK2lucHV0KTsKICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBpbnB1dCA9PT0gJ3N0cmluZycpIHsKICAgICAgICAgICAgY29uZmlnRnJvbVN0cmluZyhjb25maWcpOwogICAgICAgIH0gZWxzZSBpZiAoaXNBcnJheShpbnB1dCkpIHsKICAgICAgICAgICAgY29uZmlnLl9hID0gbWFwKGlucHV0LnNsaWNlKDApLCBmdW5jdGlvbiAob2JqKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gcGFyc2VJbnQob2JqLCAxMCk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBjb25maWdGcm9tQXJyYXkoY29uZmlnKTsKICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZihpbnB1dCkgPT09ICdvYmplY3QnKSB7CiAgICAgICAgICAgIGNvbmZpZ0Zyb21PYmplY3QoY29uZmlnKTsKICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZihpbnB1dCkgPT09ICdudW1iZXInKSB7CiAgICAgICAgICAgIC8vIGZyb20gbWlsbGlzZWNvbmRzCiAgICAgICAgICAgIGNvbmZpZy5fZCA9IG5ldyBEYXRlKGlucHV0KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB1dGlsc19ob29rc19faG9va3MuY3JlYXRlRnJvbUlucHV0RmFsbGJhY2soY29uZmlnKTsKICAgICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gY3JlYXRlTG9jYWxPclVUQyAoaW5wdXQsIGZvcm1hdCwgbG9jYWxlLCBzdHJpY3QsIGlzVVRDKSB7CiAgICAgICAgdmFyIGMgPSB7fTsKCiAgICAgICAgaWYgKHR5cGVvZihsb2NhbGUpID09PSAnYm9vbGVhbicpIHsKICAgICAgICAgICAgc3RyaWN0ID0gbG9jYWxlOwogICAgICAgICAgICBsb2NhbGUgPSB1bmRlZmluZWQ7CiAgICAgICAgfQogICAgICAgIC8vIG9iamVjdCBjb25zdHJ1Y3Rpb24gbXVzdCBiZSBkb25lIHRoaXMgd2F5LgogICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9tb21lbnQvbW9tZW50L2lzc3Vlcy8xNDIzCiAgICAgICAgYy5faXNBTW9tZW50T2JqZWN0ID0gdHJ1ZTsKICAgICAgICBjLl91c2VVVEMgPSBjLl9pc1VUQyA9IGlzVVRDOwogICAgICAgIGMuX2wgPSBsb2NhbGU7CiAgICAgICAgYy5faSA9IGlucHV0OwogICAgICAgIGMuX2YgPSBmb3JtYXQ7CiAgICAgICAgYy5fc3RyaWN0ID0gc3RyaWN0OwoKICAgICAgICByZXR1cm4gY3JlYXRlRnJvbUNvbmZpZyhjKTsKICAgIH0KCiAgICBmdW5jdGlvbiBsb2NhbF9fY3JlYXRlTG9jYWwgKGlucHV0LCBmb3JtYXQsIGxvY2FsZSwgc3RyaWN0KSB7CiAgICAgICAgcmV0dXJuIGNyZWF0ZUxvY2FsT3JVVEMoaW5wdXQsIGZvcm1hdCwgbG9jYWxlLCBzdHJpY3QsIGZhbHNlKTsKICAgIH0KCiAgICB2YXIgcHJvdG90eXBlTWluID0gZGVwcmVjYXRlKAogICAgICAgICAnbW9tZW50KCkubWluIGlzIGRlcHJlY2F0ZWQsIHVzZSBtb21lbnQubWluIGluc3RlYWQuIGh0dHBzOi8vZ2l0aHViLmNvbS9tb21lbnQvbW9tZW50L2lzc3Vlcy8xNTQ4JywKICAgICAgICAgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgdmFyIG90aGVyID0gbG9jYWxfX2NyZWF0ZUxvY2FsLmFwcGx5KG51bGwsIGFyZ3VtZW50cyk7CiAgICAgICAgICAgICByZXR1cm4gb3RoZXIgPCB0aGlzID8gdGhpcyA6IG90aGVyOwogICAgICAgICB9CiAgICAgKTsKCiAgICB2YXIgcHJvdG90eXBlTWF4ID0gZGVwcmVjYXRlKAogICAgICAgICdtb21lbnQoKS5tYXggaXMgZGVwcmVjYXRlZCwgdXNlIG1vbWVudC5tYXggaW5zdGVhZC4gaHR0cHM6Ly9naXRodWIuY29tL21vbWVudC9tb21lbnQvaXNzdWVzLzE1NDgnLAogICAgICAgIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgdmFyIG90aGVyID0gbG9jYWxfX2NyZWF0ZUxvY2FsLmFwcGx5KG51bGwsIGFyZ3VtZW50cyk7CiAgICAgICAgICAgIHJldHVybiBvdGhlciA+IHRoaXMgPyB0aGlzIDogb3RoZXI7CiAgICAgICAgfQogICAgKTsKCiAgICAvLyBQaWNrIGEgbW9tZW50IG0gZnJvbSBtb21lbnRzIHNvIHRoYXQgbVtmbl0ob3RoZXIpIGlzIHRydWUgZm9yIGFsbAogICAgLy8gb3RoZXIuIFRoaXMgcmVsaWVzIG9uIHRoZSBmdW5jdGlvbiBmbiB0byBiZSB0cmFuc2l0aXZlLgogICAgLy8KICAgIC8vIG1vbWVudHMgc2hvdWxkIGVpdGhlciBiZSBhbiBhcnJheSBvZiBtb21lbnQgb2JqZWN0cyBvciBhbiBhcnJheSwgd2hvc2UKICAgIC8vIGZpcnN0IGVsZW1lbnQgaXMgYW4gYXJyYXkgb2YgbW9tZW50IG9iamVjdHMuCiAgICBmdW5jdGlvbiBwaWNrQnkoZm4sIG1vbWVudHMpIHsKICAgICAgICB2YXIgcmVzLCBpOwogICAgICAgIGlmIChtb21lbnRzLmxlbmd0aCA9PT0gMSAmJiBpc0FycmF5KG1vbWVudHNbMF0pKSB7CiAgICAgICAgICAgIG1vbWVudHMgPSBtb21lbnRzWzBdOwogICAgICAgIH0KICAgICAgICBpZiAoIW1vbWVudHMubGVuZ3RoKSB7CiAgICAgICAgICAgIHJldHVybiBsb2NhbF9fY3JlYXRlTG9jYWwoKTsKICAgICAgICB9CiAgICAgICAgcmVzID0gbW9tZW50c1swXTsKICAgICAgICBmb3IgKGkgPSAxOyBpIDwgbW9tZW50cy5sZW5ndGg7ICsraSkgewogICAgICAgICAgICBpZiAoIW1vbWVudHNbaV0uaXNWYWxpZCgpIHx8IG1vbWVudHNbaV1bZm5dKHJlcykpIHsKICAgICAgICAgICAgICAgIHJlcyA9IG1vbWVudHNbaV07CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIHJlczsKICAgIH0KCiAgICAvLyBUT0RPOiBVc2UgW10uc29ydCBpbnN0ZWFkPwogICAgZnVuY3Rpb24gbWluICgpIHsKICAgICAgICB2YXIgYXJncyA9IFtdLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAwKTsKCiAgICAgICAgcmV0dXJuIHBpY2tCeSgnaXNCZWZvcmUnLCBhcmdzKTsKICAgIH0KCiAgICBmdW5jdGlvbiBtYXggKCkgewogICAgICAgIHZhciBhcmdzID0gW10uc2xpY2UuY2FsbChhcmd1bWVudHMsIDApOwoKICAgICAgICByZXR1cm4gcGlja0J5KCdpc0FmdGVyJywgYXJncyk7CiAgICB9CgogICAgZnVuY3Rpb24gRHVyYXRpb24gKGR1cmF0aW9uKSB7CiAgICAgICAgdmFyIG5vcm1hbGl6ZWRJbnB1dCA9IG5vcm1hbGl6ZU9iamVjdFVuaXRzKGR1cmF0aW9uKSwKICAgICAgICAgICAgeWVhcnMgPSBub3JtYWxpemVkSW5wdXQueWVhciB8fCAwLAogICAgICAgICAgICBxdWFydGVycyA9IG5vcm1hbGl6ZWRJbnB1dC5xdWFydGVyIHx8IDAsCiAgICAgICAgICAgIG1vbnRocyA9IG5vcm1hbGl6ZWRJbnB1dC5tb250aCB8fCAwLAogICAgICAgICAgICB3ZWVrcyA9IG5vcm1hbGl6ZWRJbnB1dC53ZWVrIHx8IDAsCiAgICAgICAgICAgIGRheXMgPSBub3JtYWxpemVkSW5wdXQuZGF5IHx8IDAsCiAgICAgICAgICAgIGhvdXJzID0gbm9ybWFsaXplZElucHV0LmhvdXIgfHwgMCwKICAgICAgICAgICAgbWludXRlcyA9IG5vcm1hbGl6ZWRJbnB1dC5taW51dGUgfHwgMCwKICAgICAgICAgICAgc2Vjb25kcyA9IG5vcm1hbGl6ZWRJbnB1dC5zZWNvbmQgfHwgMCwKICAgICAgICAgICAgbWlsbGlzZWNvbmRzID0gbm9ybWFsaXplZElucHV0Lm1pbGxpc2Vjb25kIHx8IDA7CgogICAgICAgIC8vIHJlcHJlc2VudGF0aW9uIGZvciBkYXRlQWRkUmVtb3ZlCiAgICAgICAgdGhpcy5fbWlsbGlzZWNvbmRzID0gK21pbGxpc2Vjb25kcyArCiAgICAgICAgICAgIHNlY29uZHMgKiAxZTMgKyAvLyAxMDAwCiAgICAgICAgICAgIG1pbnV0ZXMgKiA2ZTQgKyAvLyAxMDAwICogNjAKICAgICAgICAgICAgaG91cnMgKiAzNmU1OyAvLyAxMDAwICogNjAgKiA2MAogICAgICAgIC8vIEJlY2F1c2Ugb2YgZGF0ZUFkZFJlbW92ZSB0cmVhdHMgMjQgaG91cnMgYXMgZGlmZmVyZW50IGZyb20gYQogICAgICAgIC8vIGRheSB3aGVuIHdvcmtpbmcgYXJvdW5kIERTVCwgd2UgbmVlZCB0byBzdG9yZSB0aGVtIHNlcGFyYXRlbHkKICAgICAgICB0aGlzLl9kYXlzID0gK2RheXMgKwogICAgICAgICAgICB3ZWVrcyAqIDc7CiAgICAgICAgLy8gSXQgaXMgaW1wb3NzaWJsZSB0cmFuc2xhdGUgbW9udGhzIGludG8gZGF5cyB3aXRob3V0IGtub3dpbmcKICAgICAgICAvLyB3aGljaCBtb250aHMgeW91IGFyZSBhcmUgdGFsa2luZyBhYm91dCwgc28gd2UgaGF2ZSB0byBzdG9yZQogICAgICAgIC8vIGl0IHNlcGFyYXRlbHkuCiAgICAgICAgdGhpcy5fbW9udGhzID0gK21vbnRocyArCiAgICAgICAgICAgIHF1YXJ0ZXJzICogMyArCiAgICAgICAgICAgIHllYXJzICogMTI7CgogICAgICAgIHRoaXMuX2RhdGEgPSB7fTsKCiAgICAgICAgdGhpcy5fbG9jYWxlID0gbG9jYWxlX2xvY2FsZXNfX2dldExvY2FsZSgpOwoKICAgICAgICB0aGlzLl9idWJibGUoKTsKICAgIH0KCiAgICBmdW5jdGlvbiBpc0R1cmF0aW9uIChvYmopIHsKICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgRHVyYXRpb247CiAgICB9CgogICAgZnVuY3Rpb24gb2Zmc2V0ICh0b2tlbiwgc2VwYXJhdG9yKSB7CiAgICAgICAgYWRkRm9ybWF0VG9rZW4odG9rZW4sIDAsIDAsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgdmFyIG9mZnNldCA9IHRoaXMudXRjT2Zmc2V0KCk7CiAgICAgICAgICAgIHZhciBzaWduID0gJysnOwogICAgICAgICAgICBpZiAob2Zmc2V0IDwgMCkgewogICAgICAgICAgICAgICAgb2Zmc2V0ID0gLW9mZnNldDsKICAgICAgICAgICAgICAgIHNpZ24gPSAnLSc7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHNpZ24gKyB6ZXJvRmlsbCh+fihvZmZzZXQgLyA2MCksIDIpICsgc2VwYXJhdG9yICsgemVyb0ZpbGwofn4ob2Zmc2V0KSAlIDYwLCAyKTsKICAgICAgICB9KTsKICAgIH0KCiAgICBvZmZzZXQoJ1onLCAnOicpOwogICAgb2Zmc2V0KCdaWicsICcnKTsKCiAgICAvLyBQQVJTSU5HCgogICAgYWRkUmVnZXhUb2tlbignWicsICBtYXRjaE9mZnNldCk7CiAgICBhZGRSZWdleFRva2VuKCdaWicsIG1hdGNoT2Zmc2V0KTsKICAgIGFkZFBhcnNlVG9rZW4oWydaJywgJ1paJ10sIGZ1bmN0aW9uIChpbnB1dCwgYXJyYXksIGNvbmZpZykgewogICAgICAgIGNvbmZpZy5fdXNlVVRDID0gdHJ1ZTsKICAgICAgICBjb25maWcuX3R6bSA9IG9mZnNldEZyb21TdHJpbmcoaW5wdXQpOwogICAgfSk7CgogICAgLy8gSEVMUEVSUwoKICAgIC8vIHRpbWV6b25lIGNodW5rZXIKICAgIC8vICcrMTA6MDAnID4gWycxMCcsICAnMDAnXQogICAgLy8gJy0xNTMwJyAgPiBbJy0xNScsICczMCddCiAgICB2YXIgY2h1bmtPZmZzZXQgPSAvKFtcK1wtXXxcZFxkKS9naTsKCiAgICBmdW5jdGlvbiBvZmZzZXRGcm9tU3RyaW5nKHN0cmluZykgewogICAgICAgIHZhciBtYXRjaGVzID0gKChzdHJpbmcgfHwgJycpLm1hdGNoKG1hdGNoT2Zmc2V0KSB8fCBbXSk7CiAgICAgICAgdmFyIGNodW5rICAgPSBtYXRjaGVzW21hdGNoZXMubGVuZ3RoIC0gMV0gfHwgW107CiAgICAgICAgdmFyIHBhcnRzICAgPSAoY2h1bmsgKyAnJykubWF0Y2goY2h1bmtPZmZzZXQpIHx8IFsnLScsIDAsIDBdOwogICAgICAgIHZhciBtaW51dGVzID0gKyhwYXJ0c1sxXSAqIDYwKSArIHRvSW50KHBhcnRzWzJdKTsKCiAgICAgICAgcmV0dXJuIHBhcnRzWzBdID09PSAnKycgPyBtaW51dGVzIDogLW1pbnV0ZXM7CiAgICB9CgogICAgLy8gUmV0dXJuIGEgbW9tZW50IGZyb20gaW5wdXQsIHRoYXQgaXMgbG9jYWwvdXRjL3pvbmUgZXF1aXZhbGVudCB0byBtb2RlbC4KICAgIGZ1bmN0aW9uIGNsb25lV2l0aE9mZnNldChpbnB1dCwgbW9kZWwpIHsKICAgICAgICB2YXIgcmVzLCBkaWZmOwogICAgICAgIGlmIChtb2RlbC5faXNVVEMpIHsKICAgICAgICAgICAgcmVzID0gbW9kZWwuY2xvbmUoKTsKICAgICAgICAgICAgZGlmZiA9IChpc01vbWVudChpbnB1dCkgfHwgaXNEYXRlKGlucHV0KSA/ICtpbnB1dCA6ICtsb2NhbF9fY3JlYXRlTG9jYWwoaW5wdXQpKSAtICgrcmVzKTsKICAgICAgICAgICAgLy8gVXNlIGxvdy1sZXZlbCBhcGksIGJlY2F1c2UgdGhpcyBmbiBpcyBsb3ctbGV2ZWwgYXBpLgogICAgICAgICAgICByZXMuX2Quc2V0VGltZSgrcmVzLl9kICsgZGlmZik7CiAgICAgICAgICAgIHV0aWxzX2hvb2tzX19ob29rcy51cGRhdGVPZmZzZXQocmVzLCBmYWxzZSk7CiAgICAgICAgICAgIHJldHVybiByZXM7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuIGxvY2FsX19jcmVhdGVMb2NhbChpbnB1dCkubG9jYWwoKTsKICAgICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gZ2V0RGF0ZU9mZnNldCAobSkgewogICAgICAgIC8vIE9uIEZpcmVmb3guMjQgRGF0ZSNnZXRUaW1lem9uZU9mZnNldCByZXR1cm5zIGEgZmxvYXRpbmcgcG9pbnQuCiAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL21vbWVudC9tb21lbnQvcHVsbC8xODcxCiAgICAgICAgcmV0dXJuIC1NYXRoLnJvdW5kKG0uX2QuZ2V0VGltZXpvbmVPZmZzZXQoKSAvIDE1KSAqIDE1OwogICAgfQoKICAgIC8vIEhPT0tTCgogICAgLy8gVGhpcyBmdW5jdGlvbiB3aWxsIGJlIGNhbGxlZCB3aGVuZXZlciBhIG1vbWVudCBpcyBtdXRhdGVkLgogICAgLy8gSXQgaXMgaW50ZW5kZWQgdG8ga2VlcCB0aGUgb2Zmc2V0IGluIHN5bmMgd2l0aCB0aGUgdGltZXpvbmUuCiAgICB1dGlsc19ob29rc19faG9va3MudXBkYXRlT2Zmc2V0ID0gZnVuY3Rpb24gKCkge307CgogICAgLy8gTU9NRU5UUwoKICAgIC8vIGtlZXBMb2NhbFRpbWUgPSB0cnVlIG1lYW5zIG9ubHkgY2hhbmdlIHRoZSB0aW1lem9uZSwgd2l0aG91dAogICAgLy8gYWZmZWN0aW5nIHRoZSBsb2NhbCBob3VyLiBTbyA1OjMxOjI2ICswMzAwIC0tW3V0Y09mZnNldCgyLCB0cnVlKV0tLT4KICAgIC8vIDU6MzE6MjYgKzAyMDAgSXQgaXMgcG9zc2libGUgdGhhdCA1OjMxOjI2IGRvZXNuJ3QgZXhpc3Qgd2l0aCBvZmZzZXQKICAgIC8vICswMjAwLCBzbyB3ZSBhZGp1c3QgdGhlIHRpbWUgYXMgbmVlZGVkLCB0byBiZSB2YWxpZC4KICAgIC8vCiAgICAvLyBLZWVwaW5nIHRoZSB0aW1lIGFjdHVhbGx5IGFkZHMvc3VidHJhY3RzIChvbmUgaG91cikKICAgIC8vIGZyb20gdGhlIGFjdHVhbCByZXByZXNlbnRlZCB0aW1lLiBUaGF0IGlzIHdoeSB3ZSBjYWxsIHVwZGF0ZU9mZnNldAogICAgLy8gYSBzZWNvbmQgdGltZS4gSW4gY2FzZSBpdCB3YW50cyB1cyB0byBjaGFuZ2UgdGhlIG9mZnNldCBhZ2FpbgogICAgLy8gX2NoYW5nZUluUHJvZ3Jlc3MgPT0gdHJ1ZSBjYXNlLCB0aGVuIHdlIGhhdmUgdG8gYWRqdXN0LCBiZWNhdXNlCiAgICAvLyB0aGVyZSBpcyBubyBzdWNoIHRpbWUgaW4gdGhlIGdpdmVuIHRpbWV6b25lLgogICAgZnVuY3Rpb24gZ2V0U2V0T2Zmc2V0IChpbnB1dCwga2VlcExvY2FsVGltZSkgewogICAgICAgIHZhciBvZmZzZXQgPSB0aGlzLl9vZmZzZXQgfHwgMCwKICAgICAgICAgICAgbG9jYWxBZGp1c3Q7CiAgICAgICAgaWYgKGlucHV0ICE9IG51bGwpIHsKICAgICAgICAgICAgaWYgKHR5cGVvZiBpbnB1dCA9PT0gJ3N0cmluZycpIHsKICAgICAgICAgICAgICAgIGlucHV0ID0gb2Zmc2V0RnJvbVN0cmluZyhpbnB1dCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKE1hdGguYWJzKGlucHV0KSA8IDE2KSB7CiAgICAgICAgICAgICAgICBpbnB1dCA9IGlucHV0ICogNjA7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCF0aGlzLl9pc1VUQyAmJiBrZWVwTG9jYWxUaW1lKSB7CiAgICAgICAgICAgICAgICBsb2NhbEFkanVzdCA9IGdldERhdGVPZmZzZXQodGhpcyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdGhpcy5fb2Zmc2V0ID0gaW5wdXQ7CiAgICAgICAgICAgIHRoaXMuX2lzVVRDID0gdHJ1ZTsKICAgICAgICAgICAgaWYgKGxvY2FsQWRqdXN0ICE9IG51bGwpIHsKICAgICAgICAgICAgICAgIHRoaXMuYWRkKGxvY2FsQWRqdXN0LCAnbScpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChvZmZzZXQgIT09IGlucHV0KSB7CiAgICAgICAgICAgICAgICBpZiAoIWtlZXBMb2NhbFRpbWUgfHwgdGhpcy5fY2hhbmdlSW5Qcm9ncmVzcykgewogICAgICAgICAgICAgICAgICAgIGFkZF9zdWJ0cmFjdF9fYWRkU3VidHJhY3QodGhpcywgY3JlYXRlX19jcmVhdGVEdXJhdGlvbihpbnB1dCAtIG9mZnNldCwgJ20nKSwgMSwgZmFsc2UpOwogICAgICAgICAgICAgICAgfSBlbHNlIGlmICghdGhpcy5fY2hhbmdlSW5Qcm9ncmVzcykgewogICAgICAgICAgICAgICAgICAgIHRoaXMuX2NoYW5nZUluUHJvZ3Jlc3MgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgIHV0aWxzX2hvb2tzX19ob29rcy51cGRhdGVPZmZzZXQodGhpcywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2hhbmdlSW5Qcm9ncmVzcyA9IG51bGw7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHRoaXM7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2lzVVRDID8gb2Zmc2V0IDogZ2V0RGF0ZU9mZnNldCh0aGlzKTsKICAgICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gZ2V0U2V0Wm9uZSAoaW5wdXQsIGtlZXBMb2NhbFRpbWUpIHsKICAgICAgICBpZiAoaW5wdXQgIT0gbnVsbCkgewogICAgICAgICAgICBpZiAodHlwZW9mIGlucHV0ICE9PSAnc3RyaW5nJykgewogICAgICAgICAgICAgICAgaW5wdXQgPSAtaW5wdXQ7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRoaXMudXRjT2Zmc2V0KGlucHV0LCBrZWVwTG9jYWxUaW1lKTsKCiAgICAgICAgICAgIHJldHVybiB0aGlzOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybiAtdGhpcy51dGNPZmZzZXQoKTsKICAgICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gc2V0T2Zmc2V0VG9VVEMgKGtlZXBMb2NhbFRpbWUpIHsKICAgICAgICByZXR1cm4gdGhpcy51dGNPZmZzZXQoMCwga2VlcExvY2FsVGltZSk7CiAgICB9CgogICAgZnVuY3Rpb24gc2V0T2Zmc2V0VG9Mb2NhbCAoa2VlcExvY2FsVGltZSkgewogICAgICAgIGlmICh0aGlzLl9pc1VUQykgewogICAgICAgICAgICB0aGlzLnV0Y09mZnNldCgwLCBrZWVwTG9jYWxUaW1lKTsKICAgICAgICAgICAgdGhpcy5faXNVVEMgPSBmYWxzZTsKCiAgICAgICAgICAgIGlmIChrZWVwTG9jYWxUaW1lKSB7CiAgICAgICAgICAgICAgICB0aGlzLnN1YnRyYWN0KGdldERhdGVPZmZzZXQodGhpcyksICdtJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRoaXM7CiAgICB9CgogICAgZnVuY3Rpb24gc2V0T2Zmc2V0VG9QYXJzZWRPZmZzZXQgKCkgewogICAgICAgIGlmICh0aGlzLl90em0pIHsKICAgICAgICAgICAgdGhpcy51dGNPZmZzZXQodGhpcy5fdHptKTsKICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB0aGlzLl9pID09PSAnc3RyaW5nJykgewogICAgICAgICAgICB0aGlzLnV0Y09mZnNldChvZmZzZXRGcm9tU3RyaW5nKHRoaXMuX2kpKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRoaXM7CiAgICB9CgogICAgZnVuY3Rpb24gaGFzQWxpZ25lZEhvdXJPZmZzZXQgKGlucHV0KSB7CiAgICAgICAgaW5wdXQgPSBpbnB1dCA/IGxvY2FsX19jcmVhdGVMb2NhbChpbnB1dCkudXRjT2Zmc2V0KCkgOiAwOwoKICAgICAgICByZXR1cm4gKHRoaXMudXRjT2Zmc2V0KCkgLSBpbnB1dCkgJSA2MCA9PT0gMDsKICAgIH0KCiAgICBmdW5jdGlvbiBpc0RheWxpZ2h0U2F2aW5nVGltZSAoKSB7CiAgICAgICAgcmV0dXJuICgKICAgICAgICAgICAgdGhpcy51dGNPZmZzZXQoKSA+IHRoaXMuY2xvbmUoKS5tb250aCgwKS51dGNPZmZzZXQoKSB8fAogICAgICAgICAgICB0aGlzLnV0Y09mZnNldCgpID4gdGhpcy5jbG9uZSgpLm1vbnRoKDUpLnV0Y09mZnNldCgpCiAgICAgICAgKTsKICAgIH0KCiAgICBmdW5jdGlvbiBpc0RheWxpZ2h0U2F2aW5nVGltZVNoaWZ0ZWQgKCkgewogICAgICAgIGlmICh0eXBlb2YgdGhpcy5faXNEU1RTaGlmdGVkICE9PSAndW5kZWZpbmVkJykgewogICAgICAgICAgICByZXR1cm4gdGhpcy5faXNEU1RTaGlmdGVkOwogICAgICAgIH0KCiAgICAgICAgdmFyIGMgPSB7fTsKCiAgICAgICAgY29weUNvbmZpZyhjLCB0aGlzKTsKICAgICAgICBjID0gcHJlcGFyZUNvbmZpZyhjKTsKCiAgICAgICAgaWYgKGMuX2EpIHsKICAgICAgICAgICAgdmFyIG90aGVyID0gYy5faXNVVEMgPyBjcmVhdGVfdXRjX19jcmVhdGVVVEMoYy5fYSkgOiBsb2NhbF9fY3JlYXRlTG9jYWwoYy5fYSk7CiAgICAgICAgICAgIHRoaXMuX2lzRFNUU2hpZnRlZCA9IHRoaXMuaXNWYWxpZCgpICYmCiAgICAgICAgICAgICAgICBjb21wYXJlQXJyYXlzKGMuX2EsIG90aGVyLnRvQXJyYXkoKSkgPiAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHRoaXMuX2lzRFNUU2hpZnRlZCA9IGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHRoaXMuX2lzRFNUU2hpZnRlZDsKICAgIH0KCiAgICBmdW5jdGlvbiBpc0xvY2FsICgpIHsKICAgICAgICByZXR1cm4gIXRoaXMuX2lzVVRDOwogICAgfQoKICAgIGZ1bmN0aW9uIGlzVXRjT2Zmc2V0ICgpIHsKICAgICAgICByZXR1cm4gdGhpcy5faXNVVEM7CiAgICB9CgogICAgZnVuY3Rpb24gaXNVdGMgKCkgewogICAgICAgIHJldHVybiB0aGlzLl9pc1VUQyAmJiB0aGlzLl9vZmZzZXQgPT09IDA7CiAgICB9CgogICAgdmFyIGFzcE5ldFJlZ2V4ID0gLyhcLSk/KD86KFxkKilcLik/KFxkKylcOihcZCspKD86XDooXGQrKVwuPyhcZHszfSk/KT8vOwoKICAgIC8vIGZyb20gaHR0cDovL2RvY3MuY2xvc3VyZS1saWJyYXJ5Lmdvb2dsZWNvZGUuY29tL2dpdC9jbG9zdXJlX2dvb2dfZGF0ZV9kYXRlLmpzLnNvdXJjZS5odG1sCiAgICAvLyBzb21ld2hhdCBtb3JlIGluIGxpbmUgd2l0aCA0LjQuMy4yIDIwMDQgc3BlYywgYnV0IGFsbG93cyBkZWNpbWFsIGFueXdoZXJlCiAgICB2YXIgY3JlYXRlX19pc29SZWdleCA9IC9eKC0pP1AoPzooPzooWzAtOSwuXSopWSk/KD86KFswLTksLl0qKU0pPyg/OihbMC05LC5dKilEKT8oPzpUKD86KFswLTksLl0qKUgpPyg/OihbMC05LC5dKilNKT8oPzooWzAtOSwuXSopUyk/KT98KFswLTksLl0qKVcpJC87CgogICAgZnVuY3Rpb24gY3JlYXRlX19jcmVhdGVEdXJhdGlvbiAoaW5wdXQsIGtleSkgewogICAgICAgIHZhciBkdXJhdGlvbiA9IGlucHV0LAogICAgICAgICAgICAvLyBtYXRjaGluZyBhZ2FpbnN0IHJlZ2V4cCBpcyBleHBlbnNpdmUsIGRvIGl0IG9uIGRlbWFuZAogICAgICAgICAgICBtYXRjaCA9IG51bGwsCiAgICAgICAgICAgIHNpZ24sCiAgICAgICAgICAgIHJldCwKICAgICAgICAgICAgZGlmZlJlczsKCiAgICAgICAgaWYgKGlzRHVyYXRpb24oaW5wdXQpKSB7CiAgICAgICAgICAgIGR1cmF0aW9uID0gewogICAgICAgICAgICAgICAgbXMgOiBpbnB1dC5fbWlsbGlzZWNvbmRzLAogICAgICAgICAgICAgICAgZCAgOiBpbnB1dC5fZGF5cywKICAgICAgICAgICAgICAgIE0gIDogaW5wdXQuX21vbnRocwogICAgICAgICAgICB9OwogICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGlucHV0ID09PSAnbnVtYmVyJykgewogICAgICAgICAgICBkdXJhdGlvbiA9IHt9OwogICAgICAgICAgICBpZiAoa2V5KSB7CiAgICAgICAgICAgICAgICBkdXJhdGlvbltrZXldID0gaW5wdXQ7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBkdXJhdGlvbi5taWxsaXNlY29uZHMgPSBpbnB1dDsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSBpZiAoISEobWF0Y2ggPSBhc3BOZXRSZWdleC5leGVjKGlucHV0KSkpIHsKICAgICAgICAgICAgc2lnbiA9IChtYXRjaFsxXSA9PT0gJy0nKSA/IC0xIDogMTsKICAgICAgICAgICAgZHVyYXRpb24gPSB7CiAgICAgICAgICAgICAgICB5ICA6IDAsCiAgICAgICAgICAgICAgICBkICA6IHRvSW50KG1hdGNoW0RBVEVdKSAgICAgICAgKiBzaWduLAogICAgICAgICAgICAgICAgaCAgOiB0b0ludChtYXRjaFtIT1VSXSkgICAgICAgICogc2lnbiwKICAgICAgICAgICAgICAgIG0gIDogdG9JbnQobWF0Y2hbTUlOVVRFXSkgICAgICAqIHNpZ24sCiAgICAgICAgICAgICAgICBzICA6IHRvSW50KG1hdGNoW1NFQ09ORF0pICAgICAgKiBzaWduLAogICAgICAgICAgICAgICAgbXMgOiB0b0ludChtYXRjaFtNSUxMSVNFQ09ORF0pICogc2lnbgogICAgICAgICAgICB9OwogICAgICAgIH0gZWxzZSBpZiAoISEobWF0Y2ggPSBjcmVhdGVfX2lzb1JlZ2V4LmV4ZWMoaW5wdXQpKSkgewogICAgICAgICAgICBzaWduID0gKG1hdGNoWzFdID09PSAnLScpID8gLTEgOiAxOwogICAgICAgICAgICBkdXJhdGlvbiA9IHsKICAgICAgICAgICAgICAgIHkgOiBwYXJzZUlzbyhtYXRjaFsyXSwgc2lnbiksCiAgICAgICAgICAgICAgICBNIDogcGFyc2VJc28obWF0Y2hbM10sIHNpZ24pLAogICAgICAgICAgICAgICAgZCA6IHBhcnNlSXNvKG1hdGNoWzRdLCBzaWduKSwKICAgICAgICAgICAgICAgIGggOiBwYXJzZUlzbyhtYXRjaFs1XSwgc2lnbiksCiAgICAgICAgICAgICAgICBtIDogcGFyc2VJc28obWF0Y2hbNl0sIHNpZ24pLAogICAgICAgICAgICAgICAgcyA6IHBhcnNlSXNvKG1hdGNoWzddLCBzaWduKSwKICAgICAgICAgICAgICAgIHcgOiBwYXJzZUlzbyhtYXRjaFs4XSwgc2lnbikKICAgICAgICAgICAgfTsKICAgICAgICB9IGVsc2UgaWYgKGR1cmF0aW9uID09IG51bGwpIHsvLyBjaGVja3MgZm9yIG51bGwgb3IgdW5kZWZpbmVkCiAgICAgICAgICAgIGR1cmF0aW9uID0ge307CiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZHVyYXRpb24gPT09ICdvYmplY3QnICYmICgnZnJvbScgaW4gZHVyYXRpb24gfHwgJ3RvJyBpbiBkdXJhdGlvbikpIHsKICAgICAgICAgICAgZGlmZlJlcyA9IG1vbWVudHNEaWZmZXJlbmNlKGxvY2FsX19jcmVhdGVMb2NhbChkdXJhdGlvbi5mcm9tKSwgbG9jYWxfX2NyZWF0ZUxvY2FsKGR1cmF0aW9uLnRvKSk7CgogICAgICAgICAgICBkdXJhdGlvbiA9IHt9OwogICAgICAgICAgICBkdXJhdGlvbi5tcyA9IGRpZmZSZXMubWlsbGlzZWNvbmRzOwogICAgICAgICAgICBkdXJhdGlvbi5NID0gZGlmZlJlcy5tb250aHM7CiAgICAgICAgfQoKICAgICAgICByZXQgPSBuZXcgRHVyYXRpb24oZHVyYXRpb24pOwoKICAgICAgICBpZiAoaXNEdXJhdGlvbihpbnB1dCkgJiYgaGFzT3duUHJvcChpbnB1dCwgJ19sb2NhbGUnKSkgewogICAgICAgICAgICByZXQuX2xvY2FsZSA9IGlucHV0Ll9sb2NhbGU7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gcmV0OwogICAgfQoKICAgIGNyZWF0ZV9fY3JlYXRlRHVyYXRpb24uZm4gPSBEdXJhdGlvbi5wcm90b3R5cGU7CgogICAgZnVuY3Rpb24gcGFyc2VJc28gKGlucCwgc2lnbikgewogICAgICAgIC8vIFdlJ2Qgbm9ybWFsbHkgdXNlIH5+aW5wIGZvciB0aGlzLCBidXQgdW5mb3J0dW5hdGVseSBpdCBhbHNvCiAgICAgICAgLy8gY29udmVydHMgZmxvYXRzIHRvIGludHMuCiAgICAgICAgLy8gaW5wIG1heSBiZSB1bmRlZmluZWQsIHNvIGNhcmVmdWwgY2FsbGluZyByZXBsYWNlIG9uIGl0LgogICAgICAgIHZhciByZXMgPSBpbnAgJiYgcGFyc2VGbG9hdChpbnAucmVwbGFjZSgnLCcsICcuJykpOwogICAgICAgIC8vIGFwcGx5IHNpZ24gd2hpbGUgd2UncmUgYXQgaXQKICAgICAgICByZXR1cm4gKGlzTmFOKHJlcykgPyAwIDogcmVzKSAqIHNpZ247CiAgICB9CgogICAgZnVuY3Rpb24gcG9zaXRpdmVNb21lbnRzRGlmZmVyZW5jZShiYXNlLCBvdGhlcikgewogICAgICAgIHZhciByZXMgPSB7bWlsbGlzZWNvbmRzOiAwLCBtb250aHM6IDB9OwoKICAgICAgICByZXMubW9udGhzID0gb3RoZXIubW9udGgoKSAtIGJhc2UubW9udGgoKSArCiAgICAgICAgICAgIChvdGhlci55ZWFyKCkgLSBiYXNlLnllYXIoKSkgKiAxMjsKICAgICAgICBpZiAoYmFzZS5jbG9uZSgpLmFkZChyZXMubW9udGhzLCAnTScpLmlzQWZ0ZXIob3RoZXIpKSB7CiAgICAgICAgICAgIC0tcmVzLm1vbnRoczsKICAgICAgICB9CgogICAgICAgIHJlcy5taWxsaXNlY29uZHMgPSArb3RoZXIgLSArKGJhc2UuY2xvbmUoKS5hZGQocmVzLm1vbnRocywgJ00nKSk7CgogICAgICAgIHJldHVybiByZXM7CiAgICB9CgogICAgZnVuY3Rpb24gbW9tZW50c0RpZmZlcmVuY2UoYmFzZSwgb3RoZXIpIHsKICAgICAgICB2YXIgcmVzOwogICAgICAgIG90aGVyID0gY2xvbmVXaXRoT2Zmc2V0KG90aGVyLCBiYXNlKTsKICAgICAgICBpZiAoYmFzZS5pc0JlZm9yZShvdGhlcikpIHsKICAgICAgICAgICAgcmVzID0gcG9zaXRpdmVNb21lbnRzRGlmZmVyZW5jZShiYXNlLCBvdGhlcik7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmVzID0gcG9zaXRpdmVNb21lbnRzRGlmZmVyZW5jZShvdGhlciwgYmFzZSk7CiAgICAgICAgICAgIHJlcy5taWxsaXNlY29uZHMgPSAtcmVzLm1pbGxpc2Vjb25kczsKICAgICAgICAgICAgcmVzLm1vbnRocyA9IC1yZXMubW9udGhzOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHJlczsKICAgIH0KCiAgICBmdW5jdGlvbiBjcmVhdGVBZGRlcihkaXJlY3Rpb24sIG5hbWUpIHsKICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbCwgcGVyaW9kKSB7CiAgICAgICAgICAgIHZhciBkdXIsIHRtcDsKICAgICAgICAgICAgLy9pbnZlcnQgdGhlIGFyZ3VtZW50cywgYnV0IGNvbXBsYWluIGFib3V0IGl0CiAgICAgICAgICAgIGlmIChwZXJpb2QgIT09IG51bGwgJiYgIWlzTmFOKCtwZXJpb2QpKSB7CiAgICAgICAgICAgICAgICBkZXByZWNhdGVTaW1wbGUobmFtZSwgJ21vbWVudCgpLicgKyBuYW1lICArICcocGVyaW9kLCBudW1iZXIpIGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSB1c2UgbW9tZW50KCkuJyArIG5hbWUgKyAnKG51bWJlciwgcGVyaW9kKS4nKTsKICAgICAgICAgICAgICAgIHRtcCA9IHZhbDsgdmFsID0gcGVyaW9kOyBwZXJpb2QgPSB0bXA7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHZhbCA9IHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnID8gK3ZhbCA6IHZhbDsKICAgICAgICAgICAgZHVyID0gY3JlYXRlX19jcmVhdGVEdXJhdGlvbih2YWwsIHBlcmlvZCk7CiAgICAgICAgICAgIGFkZF9zdWJ0cmFjdF9fYWRkU3VidHJhY3QodGhpcywgZHVyLCBkaXJlY3Rpb24pOwogICAgICAgICAgICByZXR1cm4gdGhpczsKICAgICAgICB9OwogICAgfQoKICAgIGZ1bmN0aW9uIGFkZF9zdWJ0cmFjdF9fYWRkU3VidHJhY3QgKG1vbSwgZHVyYXRpb24sIGlzQWRkaW5nLCB1cGRhdGVPZmZzZXQpIHsKICAgICAgICB2YXIgbWlsbGlzZWNvbmRzID0gZHVyYXRpb24uX21pbGxpc2Vjb25kcywKICAgICAgICAgICAgZGF5cyA9IGR1cmF0aW9uLl9kYXlzLAogICAgICAgICAgICBtb250aHMgPSBkdXJhdGlvbi5fbW9udGhzOwogICAgICAgIHVwZGF0ZU9mZnNldCA9IHVwZGF0ZU9mZnNldCA9PSBudWxsID8gdHJ1ZSA6IHVwZGF0ZU9mZnNldDsKCiAgICAgICAgaWYgKG1pbGxpc2Vjb25kcykgewogICAgICAgICAgICBtb20uX2Quc2V0VGltZSgrbW9tLl9kICsgbWlsbGlzZWNvbmRzICogaXNBZGRpbmcpOwogICAgICAgIH0KICAgICAgICBpZiAoZGF5cykgewogICAgICAgICAgICBnZXRfc2V0X19zZXQobW9tLCAnRGF0ZScsIGdldF9zZXRfX2dldChtb20sICdEYXRlJykgKyBkYXlzICogaXNBZGRpbmcpOwogICAgICAgIH0KICAgICAgICBpZiAobW9udGhzKSB7CiAgICAgICAgICAgIHNldE1vbnRoKG1vbSwgZ2V0X3NldF9fZ2V0KG1vbSwgJ01vbnRoJykgKyBtb250aHMgKiBpc0FkZGluZyk7CiAgICAgICAgfQogICAgICAgIGlmICh1cGRhdGVPZmZzZXQpIHsKICAgICAgICAgICAgdXRpbHNfaG9va3NfX2hvb2tzLnVwZGF0ZU9mZnNldChtb20sIGRheXMgfHwgbW9udGhzKTsKICAgICAgICB9CiAgICB9CgogICAgdmFyIGFkZF9zdWJ0cmFjdF9fYWRkICAgICAgPSBjcmVhdGVBZGRlcigxLCAnYWRkJyk7CiAgICB2YXIgYWRkX3N1YnRyYWN0X19zdWJ0cmFjdCA9IGNyZWF0ZUFkZGVyKC0xLCAnc3VidHJhY3QnKTsKCiAgICBmdW5jdGlvbiBtb21lbnRfY2FsZW5kYXJfX2NhbGVuZGFyICh0aW1lLCBmb3JtYXRzKSB7CiAgICAgICAgLy8gV2Ugd2FudCB0byBjb21wYXJlIHRoZSBzdGFydCBvZiB0b2RheSwgdnMgdGhpcy4KICAgICAgICAvLyBHZXR0aW5nIHN0YXJ0LW9mLXRvZGF5IGRlcGVuZHMgb24gd2hldGhlciB3ZSdyZSBsb2NhbC91dGMvb2Zmc2V0IG9yIG5vdC4KICAgICAgICB2YXIgbm93ID0gdGltZSB8fCBsb2NhbF9fY3JlYXRlTG9jYWwoKSwKICAgICAgICAgICAgc29kID0gY2xvbmVXaXRoT2Zmc2V0KG5vdywgdGhpcykuc3RhcnRPZignZGF5JyksCiAgICAgICAgICAgIGRpZmYgPSB0aGlzLmRpZmYoc29kLCAnZGF5cycsIHRydWUpLAogICAgICAgICAgICBmb3JtYXQgPSBkaWZmIDwgLTYgPyAnc2FtZUVsc2UnIDoKICAgICAgICAgICAgICAgIGRpZmYgPCAtMSA/ICdsYXN0V2VlaycgOgogICAgICAgICAgICAgICAgZGlmZiA8IDAgPyAnbGFzdERheScgOgogICAgICAgICAgICAgICAgZGlmZiA8IDEgPyAnc2FtZURheScgOgogICAgICAgICAgICAgICAgZGlmZiA8IDIgPyAnbmV4dERheScgOgogICAgICAgICAgICAgICAgZGlmZiA8IDcgPyAnbmV4dFdlZWsnIDogJ3NhbWVFbHNlJzsKICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXQoZm9ybWF0cyAmJiBmb3JtYXRzW2Zvcm1hdF0gfHwgdGhpcy5sb2NhbGVEYXRhKCkuY2FsZW5kYXIoZm9ybWF0LCB0aGlzLCBsb2NhbF9fY3JlYXRlTG9jYWwobm93KSkpOwogICAgfQoKICAgIGZ1bmN0aW9uIGNsb25lICgpIHsKICAgICAgICByZXR1cm4gbmV3IE1vbWVudCh0aGlzKTsKICAgIH0KCiAgICBmdW5jdGlvbiBpc0FmdGVyIChpbnB1dCwgdW5pdHMpIHsKICAgICAgICB2YXIgaW5wdXRNczsKICAgICAgICB1bml0cyA9IG5vcm1hbGl6ZVVuaXRzKHR5cGVvZiB1bml0cyAhPT0gJ3VuZGVmaW5lZCcgPyB1bml0cyA6ICdtaWxsaXNlY29uZCcpOwogICAgICAgIGlmICh1bml0cyA9PT0gJ21pbGxpc2Vjb25kJykgewogICAgICAgICAgICBpbnB1dCA9IGlzTW9tZW50KGlucHV0KSA/IGlucHV0IDogbG9jYWxfX2NyZWF0ZUxvY2FsKGlucHV0KTsKICAgICAgICAgICAgcmV0dXJuICt0aGlzID4gK2lucHV0OwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGlucHV0TXMgPSBpc01vbWVudChpbnB1dCkgPyAraW5wdXQgOiArbG9jYWxfX2NyZWF0ZUxvY2FsKGlucHV0KTsKICAgICAgICAgICAgcmV0dXJuIGlucHV0TXMgPCArdGhpcy5jbG9uZSgpLnN0YXJ0T2YodW5pdHMpOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBpc0JlZm9yZSAoaW5wdXQsIHVuaXRzKSB7CiAgICAgICAgdmFyIGlucHV0TXM7CiAgICAgICAgdW5pdHMgPSBub3JtYWxpemVVbml0cyh0eXBlb2YgdW5pdHMgIT09ICd1bmRlZmluZWQnID8gdW5pdHMgOiAnbWlsbGlzZWNvbmQnKTsKICAgICAgICBpZiAodW5pdHMgPT09ICdtaWxsaXNlY29uZCcpIHsKICAgICAgICAgICAgaW5wdXQgPSBpc01vbWVudChpbnB1dCkgPyBpbnB1dCA6IGxvY2FsX19jcmVhdGVMb2NhbChpbnB1dCk7CiAgICAgICAgICAgIHJldHVybiArdGhpcyA8ICtpbnB1dDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBpbnB1dE1zID0gaXNNb21lbnQoaW5wdXQpID8gK2lucHV0IDogK2xvY2FsX19jcmVhdGVMb2NhbChpbnB1dCk7CiAgICAgICAgICAgIHJldHVybiArdGhpcy5jbG9uZSgpLmVuZE9mKHVuaXRzKSA8IGlucHV0TXM7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGlzQmV0d2VlbiAoZnJvbSwgdG8sIHVuaXRzKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuaXNBZnRlcihmcm9tLCB1bml0cykgJiYgdGhpcy5pc0JlZm9yZSh0bywgdW5pdHMpOwogICAgfQoKICAgIGZ1bmN0aW9uIGlzU2FtZSAoaW5wdXQsIHVuaXRzKSB7CiAgICAgICAgdmFyIGlucHV0TXM7CiAgICAgICAgdW5pdHMgPSBub3JtYWxpemVVbml0cyh1bml0cyB8fCAnbWlsbGlzZWNvbmQnKTsKICAgICAgICBpZiAodW5pdHMgPT09ICdtaWxsaXNlY29uZCcpIHsKICAgICAgICAgICAgaW5wdXQgPSBpc01vbWVudChpbnB1dCkgPyBpbnB1dCA6IGxvY2FsX19jcmVhdGVMb2NhbChpbnB1dCk7CiAgICAgICAgICAgIHJldHVybiArdGhpcyA9PT0gK2lucHV0OwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGlucHV0TXMgPSArbG9jYWxfX2NyZWF0ZUxvY2FsKGlucHV0KTsKICAgICAgICAgICAgcmV0dXJuICsodGhpcy5jbG9uZSgpLnN0YXJ0T2YodW5pdHMpKSA8PSBpbnB1dE1zICYmIGlucHV0TXMgPD0gKyh0aGlzLmNsb25lKCkuZW5kT2YodW5pdHMpKTsKICAgICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gZGlmZiAoaW5wdXQsIHVuaXRzLCBhc0Zsb2F0KSB7CiAgICAgICAgdmFyIHRoYXQgPSBjbG9uZVdpdGhPZmZzZXQoaW5wdXQsIHRoaXMpLAogICAgICAgICAgICB6b25lRGVsdGEgPSAodGhhdC51dGNPZmZzZXQoKSAtIHRoaXMudXRjT2Zmc2V0KCkpICogNmU0LAogICAgICAgICAgICBkZWx0YSwgb3V0cHV0OwoKICAgICAgICB1bml0cyA9IG5vcm1hbGl6ZVVuaXRzKHVuaXRzKTsKCiAgICAgICAgaWYgKHVuaXRzID09PSAneWVhcicgfHwgdW5pdHMgPT09ICdtb250aCcgfHwgdW5pdHMgPT09ICdxdWFydGVyJykgewogICAgICAgICAgICBvdXRwdXQgPSBtb250aERpZmYodGhpcywgdGhhdCk7CiAgICAgICAgICAgIGlmICh1bml0cyA9PT0gJ3F1YXJ0ZXInKSB7CiAgICAgICAgICAgICAgICBvdXRwdXQgPSBvdXRwdXQgLyAzOwogICAgICAgICAgICB9IGVsc2UgaWYgKHVuaXRzID09PSAneWVhcicpIHsKICAgICAgICAgICAgICAgIG91dHB1dCA9IG91dHB1dCAvIDEyOwogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgZGVsdGEgPSB0aGlzIC0gdGhhdDsKICAgICAgICAgICAgb3V0cHV0ID0gdW5pdHMgPT09ICdzZWNvbmQnID8gZGVsdGEgLyAxZTMgOiAvLyAxMDAwCiAgICAgICAgICAgICAgICB1bml0cyA9PT0gJ21pbnV0ZScgPyBkZWx0YSAvIDZlNCA6IC8vIDEwMDAgKiA2MAogICAgICAgICAgICAgICAgdW5pdHMgPT09ICdob3VyJyA/IGRlbHRhIC8gMzZlNSA6IC8vIDEwMDAgKiA2MCAqIDYwCiAgICAgICAgICAgICAgICB1bml0cyA9PT0gJ2RheScgPyAoZGVsdGEgLSB6b25lRGVsdGEpIC8gODY0ZTUgOiAvLyAxMDAwICogNjAgKiA2MCAqIDI0LCBuZWdhdGUgZHN0CiAgICAgICAgICAgICAgICB1bml0cyA9PT0gJ3dlZWsnID8gKGRlbHRhIC0gem9uZURlbHRhKSAvIDYwNDhlNSA6IC8vIDEwMDAgKiA2MCAqIDYwICogMjQgKiA3LCBuZWdhdGUgZHN0CiAgICAgICAgICAgICAgICBkZWx0YTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGFzRmxvYXQgPyBvdXRwdXQgOiBhYnNGbG9vcihvdXRwdXQpOwogICAgfQoKICAgIGZ1bmN0aW9uIG1vbnRoRGlmZiAoYSwgYikgewogICAgICAgIC8vIGRpZmZlcmVuY2UgaW4gbW9udGhzCiAgICAgICAgdmFyIHdob2xlTW9udGhEaWZmID0gKChiLnllYXIoKSAtIGEueWVhcigpKSAqIDEyKSArIChiLm1vbnRoKCkgLSBhLm1vbnRoKCkpLAogICAgICAgICAgICAvLyBiIGlzIGluIChhbmNob3IgLSAxIG1vbnRoLCBhbmNob3IgKyAxIG1vbnRoKQogICAgICAgICAgICBhbmNob3IgPSBhLmNsb25lKCkuYWRkKHdob2xlTW9udGhEaWZmLCAnbW9udGhzJyksCiAgICAgICAgICAgIGFuY2hvcjIsIGFkanVzdDsKCiAgICAgICAgaWYgKGIgLSBhbmNob3IgPCAwKSB7CiAgICAgICAgICAgIGFuY2hvcjIgPSBhLmNsb25lKCkuYWRkKHdob2xlTW9udGhEaWZmIC0gMSwgJ21vbnRocycpOwogICAgICAgICAgICAvLyBsaW5lYXIgYWNyb3NzIHRoZSBtb250aAogICAgICAgICAgICBhZGp1c3QgPSAoYiAtIGFuY2hvcikgLyAoYW5jaG9yIC0gYW5jaG9yMik7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgYW5jaG9yMiA9IGEuY2xvbmUoKS5hZGQod2hvbGVNb250aERpZmYgKyAxLCAnbW9udGhzJyk7CiAgICAgICAgICAgIC8vIGxpbmVhciBhY3Jvc3MgdGhlIG1vbnRoCiAgICAgICAgICAgIGFkanVzdCA9IChiIC0gYW5jaG9yKSAvIChhbmNob3IyIC0gYW5jaG9yKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAtKHdob2xlTW9udGhEaWZmICsgYWRqdXN0KTsKICAgIH0KCiAgICB1dGlsc19ob29rc19faG9va3MuZGVmYXVsdEZvcm1hdCA9ICdZWVlZLU1NLUREVEhIOm1tOnNzWic7CgogICAgZnVuY3Rpb24gdG9TdHJpbmcgKCkgewogICAgICAgIHJldHVybiB0aGlzLmNsb25lKCkubG9jYWxlKCdlbicpLmZvcm1hdCgnZGRkIE1NTSBERCBZWVlZIEhIOm1tOnNzIFtHTVRdWlonKTsKICAgIH0KCiAgICBmdW5jdGlvbiBtb21lbnRfZm9ybWF0X190b0lTT1N0cmluZyAoKSB7CiAgICAgICAgdmFyIG0gPSB0aGlzLmNsb25lKCkudXRjKCk7CiAgICAgICAgaWYgKDAgPCBtLnllYXIoKSAmJiBtLnllYXIoKSA8PSA5OTk5KSB7CiAgICAgICAgICAgIGlmICgnZnVuY3Rpb24nID09PSB0eXBlb2YgRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcpIHsKICAgICAgICAgICAgICAgIC8vIG5hdGl2ZSBpbXBsZW1lbnRhdGlvbiBpcyB+NTB4IGZhc3RlciwgdXNlIGl0IHdoZW4gd2UgY2FuCiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50b0RhdGUoKS50b0lTT1N0cmluZygpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgcmV0dXJuIGZvcm1hdE1vbWVudChtLCAnWVlZWS1NTS1ERFtUXUhIOm1tOnNzLlNTU1taXScpOwogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuIGZvcm1hdE1vbWVudChtLCAnWVlZWVlZLU1NLUREW1RdSEg6bW06c3MuU1NTW1pdJyk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGZvcm1hdCAoaW5wdXRTdHJpbmcpIHsKICAgICAgICB2YXIgb3V0cHV0ID0gZm9ybWF0TW9tZW50KHRoaXMsIGlucHV0U3RyaW5nIHx8IHV0aWxzX2hvb2tzX19ob29rcy5kZWZhdWx0Rm9ybWF0KTsKICAgICAgICByZXR1cm4gdGhpcy5sb2NhbGVEYXRhKCkucG9zdGZvcm1hdChvdXRwdXQpOwogICAgfQoKICAgIGZ1bmN0aW9uIGZyb20gKHRpbWUsIHdpdGhvdXRTdWZmaXgpIHsKICAgICAgICBpZiAoIXRoaXMuaXNWYWxpZCgpKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmxvY2FsZURhdGEoKS5pbnZhbGlkRGF0ZSgpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gY3JlYXRlX19jcmVhdGVEdXJhdGlvbih7dG86IHRoaXMsIGZyb206IHRpbWV9KS5sb2NhbGUodGhpcy5sb2NhbGUoKSkuaHVtYW5pemUoIXdpdGhvdXRTdWZmaXgpOwogICAgfQoKICAgIGZ1bmN0aW9uIGZyb21Ob3cgKHdpdGhvdXRTdWZmaXgpIHsKICAgICAgICByZXR1cm4gdGhpcy5mcm9tKGxvY2FsX19jcmVhdGVMb2NhbCgpLCB3aXRob3V0U3VmZml4KTsKICAgIH0KCiAgICBmdW5jdGlvbiB0byAodGltZSwgd2l0aG91dFN1ZmZpeCkgewogICAgICAgIGlmICghdGhpcy5pc1ZhbGlkKCkpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9jYWxlRGF0YSgpLmludmFsaWREYXRlKCk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBjcmVhdGVfX2NyZWF0ZUR1cmF0aW9uKHtmcm9tOiB0aGlzLCB0bzogdGltZX0pLmxvY2FsZSh0aGlzLmxvY2FsZSgpKS5odW1hbml6ZSghd2l0aG91dFN1ZmZpeCk7CiAgICB9CgogICAgZnVuY3Rpb24gdG9Ob3cgKHdpdGhvdXRTdWZmaXgpIHsKICAgICAgICByZXR1cm4gdGhpcy50byhsb2NhbF9fY3JlYXRlTG9jYWwoKSwgd2l0aG91dFN1ZmZpeCk7CiAgICB9CgogICAgZnVuY3Rpb24gbG9jYWxlIChrZXkpIHsKICAgICAgICB2YXIgbmV3TG9jYWxlRGF0YTsKCiAgICAgICAgaWYgKGtleSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLl9sb2NhbGUuX2FiYnI7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbmV3TG9jYWxlRGF0YSA9IGxvY2FsZV9sb2NhbGVzX19nZXRMb2NhbGUoa2V5KTsKICAgICAgICAgICAgaWYgKG5ld0xvY2FsZURhdGEgIT0gbnVsbCkgewogICAgICAgICAgICAgICAgdGhpcy5fbG9jYWxlID0gbmV3TG9jYWxlRGF0YTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gdGhpczsKICAgICAgICB9CiAgICB9CgogICAgdmFyIGxhbmcgPSBkZXByZWNhdGUoCiAgICAgICAgJ21vbWVudCgpLmxhbmcoKSBpcyBkZXByZWNhdGVkLiBJbnN0ZWFkLCB1c2UgbW9tZW50KCkubG9jYWxlRGF0YSgpIHRvIGdldCB0aGUgbGFuZ3VhZ2UgY29uZmlndXJhdGlvbi4gVXNlIG1vbWVudCgpLmxvY2FsZSgpIHRvIGNoYW5nZSBsYW5ndWFnZXMuJywKICAgICAgICBmdW5jdGlvbiAoa2V5KSB7CiAgICAgICAgICAgIGlmIChrZXkgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9jYWxlRGF0YSgpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9jYWxlKGtleSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICApOwoKICAgIGZ1bmN0aW9uIGxvY2FsZURhdGEgKCkgewogICAgICAgIHJldHVybiB0aGlzLl9sb2NhbGU7CiAgICB9CgogICAgZnVuY3Rpb24gc3RhcnRPZiAodW5pdHMpIHsKICAgICAgICB1bml0cyA9IG5vcm1hbGl6ZVVuaXRzKHVuaXRzKTsKICAgICAgICAvLyB0aGUgZm9sbG93aW5nIHN3aXRjaCBpbnRlbnRpb25hbGx5IG9taXRzIGJyZWFrIGtleXdvcmRzCiAgICAgICAgLy8gdG8gdXRpbGl6ZSBmYWxsaW5nIHRocm91Z2ggdGhlIGNhc2VzLgogICAgICAgIHN3aXRjaCAodW5pdHMpIHsKICAgICAgICBjYXNlICd5ZWFyJzoKICAgICAgICAgICAgdGhpcy5tb250aCgwKTsKICAgICAgICAgICAgLyogZmFsbHMgdGhyb3VnaCAqLwogICAgICAgIGNhc2UgJ3F1YXJ0ZXInOgogICAgICAgIGNhc2UgJ21vbnRoJzoKICAgICAgICAgICAgdGhpcy5kYXRlKDEpOwogICAgICAgICAgICAvKiBmYWxscyB0aHJvdWdoICovCiAgICAgICAgY2FzZSAnd2Vlayc6CiAgICAgICAgY2FzZSAnaXNvV2Vlayc6CiAgICAgICAgY2FzZSAnZGF5JzoKICAgICAgICAgICAgdGhpcy5ob3VycygwKTsKICAgICAgICAgICAgLyogZmFsbHMgdGhyb3VnaCAqLwogICAgICAgIGNhc2UgJ2hvdXInOgogICAgICAgICAgICB0aGlzLm1pbnV0ZXMoMCk7CiAgICAgICAgICAgIC8qIGZhbGxzIHRocm91Z2ggKi8KICAgICAgICBjYXNlICdtaW51dGUnOgogICAgICAgICAgICB0aGlzLnNlY29uZHMoMCk7CiAgICAgICAgICAgIC8qIGZhbGxzIHRocm91Z2ggKi8KICAgICAgICBjYXNlICdzZWNvbmQnOgogICAgICAgICAgICB0aGlzLm1pbGxpc2Vjb25kcygwKTsKICAgICAgICB9CgogICAgICAgIC8vIHdlZWtzIGFyZSBhIHNwZWNpYWwgY2FzZQogICAgICAgIGlmICh1bml0cyA9PT0gJ3dlZWsnKSB7CiAgICAgICAgICAgIHRoaXMud2Vla2RheSgwKTsKICAgICAgICB9CiAgICAgICAgaWYgKHVuaXRzID09PSAnaXNvV2VlaycpIHsKICAgICAgICAgICAgdGhpcy5pc29XZWVrZGF5KDEpOwogICAgICAgIH0KCiAgICAgICAgLy8gcXVhcnRlcnMgYXJlIGFsc28gc3BlY2lhbAogICAgICAgIGlmICh1bml0cyA9PT0gJ3F1YXJ0ZXInKSB7CiAgICAgICAgICAgIHRoaXMubW9udGgoTWF0aC5mbG9vcih0aGlzLm1vbnRoKCkgLyAzKSAqIDMpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHRoaXM7CiAgICB9CgogICAgZnVuY3Rpb24gZW5kT2YgKHVuaXRzKSB7CiAgICAgICAgdW5pdHMgPSBub3JtYWxpemVVbml0cyh1bml0cyk7CiAgICAgICAgaWYgKHVuaXRzID09PSB1bmRlZmluZWQgfHwgdW5pdHMgPT09ICdtaWxsaXNlY29uZCcpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXM7CiAgICAgICAgfQogICAgICAgIHJldHVybiB0aGlzLnN0YXJ0T2YodW5pdHMpLmFkZCgxLCAodW5pdHMgPT09ICdpc29XZWVrJyA/ICd3ZWVrJyA6IHVuaXRzKSkuc3VidHJhY3QoMSwgJ21zJyk7CiAgICB9CgogICAgZnVuY3Rpb24gdG9fdHlwZV9fdmFsdWVPZiAoKSB7CiAgICAgICAgcmV0dXJuICt0aGlzLl9kIC0gKCh0aGlzLl9vZmZzZXQgfHwgMCkgKiA2MDAwMCk7CiAgICB9CgogICAgZnVuY3Rpb24gdW5peCAoKSB7CiAgICAgICAgcmV0dXJuIE1hdGguZmxvb3IoK3RoaXMgLyAxMDAwKTsKICAgIH0KCiAgICBmdW5jdGlvbiB0b0RhdGUgKCkgewogICAgICAgIHJldHVybiB0aGlzLl9vZmZzZXQgPyBuZXcgRGF0ZSgrdGhpcykgOiB0aGlzLl9kOwogICAgfQoKICAgIGZ1bmN0aW9uIHRvQXJyYXkgKCkgewogICAgICAgIHZhciBtID0gdGhpczsKICAgICAgICByZXR1cm4gW20ueWVhcigpLCBtLm1vbnRoKCksIG0uZGF0ZSgpLCBtLmhvdXIoKSwgbS5taW51dGUoKSwgbS5zZWNvbmQoKSwgbS5taWxsaXNlY29uZCgpXTsKICAgIH0KCiAgICBmdW5jdGlvbiB0b09iamVjdCAoKSB7CiAgICAgICAgdmFyIG0gPSB0aGlzOwogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHllYXJzOiBtLnllYXIoKSwKICAgICAgICAgICAgbW9udGhzOiBtLm1vbnRoKCksCiAgICAgICAgICAgIGRhdGU6IG0uZGF0ZSgpLAogICAgICAgICAgICBob3VyczogbS5ob3VycygpLAogICAgICAgICAgICBtaW51dGVzOiBtLm1pbnV0ZXMoKSwKICAgICAgICAgICAgc2Vjb25kczogbS5zZWNvbmRzKCksCiAgICAgICAgICAgIG1pbGxpc2Vjb25kczogbS5taWxsaXNlY29uZHMoKQogICAgICAgIH07CiAgICB9CgogICAgZnVuY3Rpb24gbW9tZW50X3ZhbGlkX19pc1ZhbGlkICgpIHsKICAgICAgICByZXR1cm4gdmFsaWRfX2lzVmFsaWQodGhpcyk7CiAgICB9CgogICAgZnVuY3Rpb24gcGFyc2luZ0ZsYWdzICgpIHsKICAgICAgICByZXR1cm4gZXh0ZW5kKHt9LCBnZXRQYXJzaW5nRmxhZ3ModGhpcykpOwogICAgfQoKICAgIGZ1bmN0aW9uIGludmFsaWRBdCAoKSB7CiAgICAgICAgcmV0dXJuIGdldFBhcnNpbmdGbGFncyh0aGlzKS5vdmVyZmxvdzsKICAgIH0KCiAgICBhZGRGb3JtYXRUb2tlbigwLCBbJ2dnJywgMl0sIDAsIGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gdGhpcy53ZWVrWWVhcigpICUgMTAwOwogICAgfSk7CgogICAgYWRkRm9ybWF0VG9rZW4oMCwgWydHRycsIDJdLCAwLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuaXNvV2Vla1llYXIoKSAlIDEwMDsKICAgIH0pOwoKICAgIGZ1bmN0aW9uIGFkZFdlZWtZZWFyRm9ybWF0VG9rZW4gKHRva2VuLCBnZXR0ZXIpIHsKICAgICAgICBhZGRGb3JtYXRUb2tlbigwLCBbdG9rZW4sIHRva2VuLmxlbmd0aF0sIDAsIGdldHRlcik7CiAgICB9CgogICAgYWRkV2Vla1llYXJGb3JtYXRUb2tlbignZ2dnZycsICAgICAnd2Vla1llYXInKTsKICAgIGFkZFdlZWtZZWFyRm9ybWF0VG9rZW4oJ2dnZ2dnJywgICAgJ3dlZWtZZWFyJyk7CiAgICBhZGRXZWVrWWVhckZvcm1hdFRva2VuKCdHR0dHJywgICdpc29XZWVrWWVhcicpOwogICAgYWRkV2Vla1llYXJGb3JtYXRUb2tlbignR0dHR0cnLCAnaXNvV2Vla1llYXInKTsKCiAgICAvLyBBTElBU0VTCgogICAgYWRkVW5pdEFsaWFzKCd3ZWVrWWVhcicsICdnZycpOwogICAgYWRkVW5pdEFsaWFzKCdpc29XZWVrWWVhcicsICdHRycpOwoKICAgIC8vIFBBUlNJTkcKCiAgICBhZGRSZWdleFRva2VuKCdHJywgICAgICBtYXRjaFNpZ25lZCk7CiAgICBhZGRSZWdleFRva2VuKCdnJywgICAgICBtYXRjaFNpZ25lZCk7CiAgICBhZGRSZWdleFRva2VuKCdHRycsICAgICBtYXRjaDF0bzIsIG1hdGNoMik7CiAgICBhZGRSZWdleFRva2VuKCdnZycsICAgICBtYXRjaDF0bzIsIG1hdGNoMik7CiAgICBhZGRSZWdleFRva2VuKCdHR0dHJywgICBtYXRjaDF0bzQsIG1hdGNoNCk7CiAgICBhZGRSZWdleFRva2VuKCdnZ2dnJywgICBtYXRjaDF0bzQsIG1hdGNoNCk7CiAgICBhZGRSZWdleFRva2VuKCdHR0dHRycsICBtYXRjaDF0bzYsIG1hdGNoNik7CiAgICBhZGRSZWdleFRva2VuKCdnZ2dnZycsICBtYXRjaDF0bzYsIG1hdGNoNik7CgogICAgYWRkV2Vla1BhcnNlVG9rZW4oWydnZ2dnJywgJ2dnZ2dnJywgJ0dHR0cnLCAnR0dHR0cnXSwgZnVuY3Rpb24gKGlucHV0LCB3ZWVrLCBjb25maWcsIHRva2VuKSB7CiAgICAgICAgd2Vla1t0b2tlbi5zdWJzdHIoMCwgMildID0gdG9JbnQoaW5wdXQpOwogICAgfSk7CgogICAgYWRkV2Vla1BhcnNlVG9rZW4oWydnZycsICdHRyddLCBmdW5jdGlvbiAoaW5wdXQsIHdlZWssIGNvbmZpZywgdG9rZW4pIHsKICAgICAgICB3ZWVrW3Rva2VuXSA9IHV0aWxzX2hvb2tzX19ob29rcy5wYXJzZVR3b0RpZ2l0WWVhcihpbnB1dCk7CiAgICB9KTsKCiAgICAvLyBIRUxQRVJTCgogICAgZnVuY3Rpb24gd2Vla3NJblllYXIoeWVhciwgZG93LCBkb3kpIHsKICAgICAgICByZXR1cm4gd2Vla09mWWVhcihsb2NhbF9fY3JlYXRlTG9jYWwoW3llYXIsIDExLCAzMSArIGRvdyAtIGRveV0pLCBkb3csIGRveSkud2VlazsKICAgIH0KCiAgICAvLyBNT01FTlRTCgogICAgZnVuY3Rpb24gZ2V0U2V0V2Vla1llYXIgKGlucHV0KSB7CiAgICAgICAgdmFyIHllYXIgPSB3ZWVrT2ZZZWFyKHRoaXMsIHRoaXMubG9jYWxlRGF0YSgpLl93ZWVrLmRvdywgdGhpcy5sb2NhbGVEYXRhKCkuX3dlZWsuZG95KS55ZWFyOwogICAgICAgIHJldHVybiBpbnB1dCA9PSBudWxsID8geWVhciA6IHRoaXMuYWRkKChpbnB1dCAtIHllYXIpLCAneScpOwogICAgfQoKICAgIGZ1bmN0aW9uIGdldFNldElTT1dlZWtZZWFyIChpbnB1dCkgewogICAgICAgIHZhciB5ZWFyID0gd2Vla09mWWVhcih0aGlzLCAxLCA0KS55ZWFyOwogICAgICAgIHJldHVybiBpbnB1dCA9PSBudWxsID8geWVhciA6IHRoaXMuYWRkKChpbnB1dCAtIHllYXIpLCAneScpOwogICAgfQoKICAgIGZ1bmN0aW9uIGdldElTT1dlZWtzSW5ZZWFyICgpIHsKICAgICAgICByZXR1cm4gd2Vla3NJblllYXIodGhpcy55ZWFyKCksIDEsIDQpOwogICAgfQoKICAgIGZ1bmN0aW9uIGdldFdlZWtzSW5ZZWFyICgpIHsKICAgICAgICB2YXIgd2Vla0luZm8gPSB0aGlzLmxvY2FsZURhdGEoKS5fd2VlazsKICAgICAgICByZXR1cm4gd2Vla3NJblllYXIodGhpcy55ZWFyKCksIHdlZWtJbmZvLmRvdywgd2Vla0luZm8uZG95KTsKICAgIH0KCiAgICBhZGRGb3JtYXRUb2tlbignUScsIDAsIDAsICdxdWFydGVyJyk7CgogICAgLy8gQUxJQVNFUwoKICAgIGFkZFVuaXRBbGlhcygncXVhcnRlcicsICdRJyk7CgogICAgLy8gUEFSU0lORwoKICAgIGFkZFJlZ2V4VG9rZW4oJ1EnLCBtYXRjaDEpOwogICAgYWRkUGFyc2VUb2tlbignUScsIGZ1bmN0aW9uIChpbnB1dCwgYXJyYXkpIHsKICAgICAgICBhcnJheVtNT05USF0gPSAodG9JbnQoaW5wdXQpIC0gMSkgKiAzOwogICAgfSk7CgogICAgLy8gTU9NRU5UUwoKICAgIGZ1bmN0aW9uIGdldFNldFF1YXJ0ZXIgKGlucHV0KSB7CiAgICAgICAgcmV0dXJuIGlucHV0ID09IG51bGwgPyBNYXRoLmNlaWwoKHRoaXMubW9udGgoKSArIDEpIC8gMykgOiB0aGlzLm1vbnRoKChpbnB1dCAtIDEpICogMyArIHRoaXMubW9udGgoKSAlIDMpOwogICAgfQoKICAgIGFkZEZvcm1hdFRva2VuKCdEJywgWydERCcsIDJdLCAnRG8nLCAnZGF0ZScpOwoKICAgIC8vIEFMSUFTRVMKCiAgICBhZGRVbml0QWxpYXMoJ2RhdGUnLCAnRCcpOwoKICAgIC8vIFBBUlNJTkcKCiAgICBhZGRSZWdleFRva2VuKCdEJywgIG1hdGNoMXRvMik7CiAgICBhZGRSZWdleFRva2VuKCdERCcsIG1hdGNoMXRvMiwgbWF0Y2gyKTsKICAgIGFkZFJlZ2V4VG9rZW4oJ0RvJywgZnVuY3Rpb24gKGlzU3RyaWN0LCBsb2NhbGUpIHsKICAgICAgICByZXR1cm4gaXNTdHJpY3QgPyBsb2NhbGUuX29yZGluYWxQYXJzZSA6IGxvY2FsZS5fb3JkaW5hbFBhcnNlTGVuaWVudDsKICAgIH0pOwoKICAgIGFkZFBhcnNlVG9rZW4oWydEJywgJ0REJ10sIERBVEUpOwogICAgYWRkUGFyc2VUb2tlbignRG8nLCBmdW5jdGlvbiAoaW5wdXQsIGFycmF5KSB7CiAgICAgICAgYXJyYXlbREFURV0gPSB0b0ludChpbnB1dC5tYXRjaChtYXRjaDF0bzIpWzBdLCAxMCk7CiAgICB9KTsKCiAgICAvLyBNT01FTlRTCgogICAgdmFyIGdldFNldERheU9mTW9udGggPSBtYWtlR2V0U2V0KCdEYXRlJywgdHJ1ZSk7CgogICAgYWRkRm9ybWF0VG9rZW4oJ2QnLCAwLCAnZG8nLCAnZGF5Jyk7CgogICAgYWRkRm9ybWF0VG9rZW4oJ2RkJywgMCwgMCwgZnVuY3Rpb24gKGZvcm1hdCkgewogICAgICAgIHJldHVybiB0aGlzLmxvY2FsZURhdGEoKS53ZWVrZGF5c01pbih0aGlzLCBmb3JtYXQpOwogICAgfSk7CgogICAgYWRkRm9ybWF0VG9rZW4oJ2RkZCcsIDAsIDAsIGZ1bmN0aW9uIChmb3JtYXQpIHsKICAgICAgICByZXR1cm4gdGhpcy5sb2NhbGVEYXRhKCkud2Vla2RheXNTaG9ydCh0aGlzLCBmb3JtYXQpOwogICAgfSk7CgogICAgYWRkRm9ybWF0VG9rZW4oJ2RkZGQnLCAwLCAwLCBmdW5jdGlvbiAoZm9ybWF0KSB7CiAgICAgICAgcmV0dXJuIHRoaXMubG9jYWxlRGF0YSgpLndlZWtkYXlzKHRoaXMsIGZvcm1hdCk7CiAgICB9KTsKCiAgICBhZGRGb3JtYXRUb2tlbignZScsIDAsIDAsICd3ZWVrZGF5Jyk7CiAgICBhZGRGb3JtYXRUb2tlbignRScsIDAsIDAsICdpc29XZWVrZGF5Jyk7CgogICAgLy8gQUxJQVNFUwoKICAgIGFkZFVuaXRBbGlhcygnZGF5JywgJ2QnKTsKICAgIGFkZFVuaXRBbGlhcygnd2Vla2RheScsICdlJyk7CiAgICBhZGRVbml0QWxpYXMoJ2lzb1dlZWtkYXknLCAnRScpOwoKICAgIC8vIFBBUlNJTkcKCiAgICBhZGRSZWdleFRva2VuKCdkJywgICAgbWF0Y2gxdG8yKTsKICAgIGFkZFJlZ2V4VG9rZW4oJ2UnLCAgICBtYXRjaDF0bzIpOwogICAgYWRkUmVnZXhUb2tlbignRScsICAgIG1hdGNoMXRvMik7CiAgICBhZGRSZWdleFRva2VuKCdkZCcsICAgbWF0Y2hXb3JkKTsKICAgIGFkZFJlZ2V4VG9rZW4oJ2RkZCcsICBtYXRjaFdvcmQpOwogICAgYWRkUmVnZXhUb2tlbignZGRkZCcsIG1hdGNoV29yZCk7CgogICAgYWRkV2Vla1BhcnNlVG9rZW4oWydkZCcsICdkZGQnLCAnZGRkZCddLCBmdW5jdGlvbiAoaW5wdXQsIHdlZWssIGNvbmZpZykgewogICAgICAgIHZhciB3ZWVrZGF5ID0gY29uZmlnLl9sb2NhbGUud2Vla2RheXNQYXJzZShpbnB1dCk7CiAgICAgICAgLy8gaWYgd2UgZGlkbid0IGdldCBhIHdlZWtkYXkgbmFtZSwgbWFyayB0aGUgZGF0ZSBhcyBpbnZhbGlkCiAgICAgICAgaWYgKHdlZWtkYXkgIT0gbnVsbCkgewogICAgICAgICAgICB3ZWVrLmQgPSB3ZWVrZGF5OwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGdldFBhcnNpbmdGbGFncyhjb25maWcpLmludmFsaWRXZWVrZGF5ID0gaW5wdXQ7CiAgICAgICAgfQogICAgfSk7CgogICAgYWRkV2Vla1BhcnNlVG9rZW4oWydkJywgJ2UnLCAnRSddLCBmdW5jdGlvbiAoaW5wdXQsIHdlZWssIGNvbmZpZywgdG9rZW4pIHsKICAgICAgICB3ZWVrW3Rva2VuXSA9IHRvSW50KGlucHV0KTsKICAgIH0pOwoKICAgIC8vIEhFTFBFUlMKCiAgICBmdW5jdGlvbiBwYXJzZVdlZWtkYXkoaW5wdXQsIGxvY2FsZSkgewogICAgICAgIGlmICh0eXBlb2YgaW5wdXQgIT09ICdzdHJpbmcnKSB7CiAgICAgICAgICAgIHJldHVybiBpbnB1dDsKICAgICAgICB9CgogICAgICAgIGlmICghaXNOYU4oaW5wdXQpKSB7CiAgICAgICAgICAgIHJldHVybiBwYXJzZUludChpbnB1dCwgMTApOwogICAgICAgIH0KCiAgICAgICAgaW5wdXQgPSBsb2NhbGUud2Vla2RheXNQYXJzZShpbnB1dCk7CiAgICAgICAgaWYgKHR5cGVvZiBpbnB1dCA9PT0gJ251bWJlcicpIHsKICAgICAgICAgICAgcmV0dXJuIGlucHV0OwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9CgogICAgLy8gTE9DQUxFUwoKICAgIHZhciBkZWZhdWx0TG9jYWxlV2Vla2RheXMgPSAnU3VuZGF5X01vbmRheV9UdWVzZGF5X1dlZG5lc2RheV9UaHVyc2RheV9GcmlkYXlfU2F0dXJkYXknLnNwbGl0KCdfJyk7CiAgICBmdW5jdGlvbiBsb2NhbGVXZWVrZGF5cyAobSkgewogICAgICAgIHJldHVybiB0aGlzLl93ZWVrZGF5c1ttLmRheSgpXTsKICAgIH0KCiAgICB2YXIgZGVmYXVsdExvY2FsZVdlZWtkYXlzU2hvcnQgPSAnU3VuX01vbl9UdWVfV2VkX1RodV9GcmlfU2F0Jy5zcGxpdCgnXycpOwogICAgZnVuY3Rpb24gbG9jYWxlV2Vla2RheXNTaG9ydCAobSkgewogICAgICAgIHJldHVybiB0aGlzLl93ZWVrZGF5c1Nob3J0W20uZGF5KCldOwogICAgfQoKICAgIHZhciBkZWZhdWx0TG9jYWxlV2Vla2RheXNNaW4gPSAnU3VfTW9fVHVfV2VfVGhfRnJfU2EnLnNwbGl0KCdfJyk7CiAgICBmdW5jdGlvbiBsb2NhbGVXZWVrZGF5c01pbiAobSkgewogICAgICAgIHJldHVybiB0aGlzLl93ZWVrZGF5c01pblttLmRheSgpXTsKICAgIH0KCiAgICBmdW5jdGlvbiBsb2NhbGVXZWVrZGF5c1BhcnNlICh3ZWVrZGF5TmFtZSkgewogICAgICAgIHZhciBpLCBtb20sIHJlZ2V4OwoKICAgICAgICB0aGlzLl93ZWVrZGF5c1BhcnNlID0gdGhpcy5fd2Vla2RheXNQYXJzZSB8fCBbXTsKCiAgICAgICAgZm9yIChpID0gMDsgaSA8IDc7IGkrKykgewogICAgICAgICAgICAvLyBtYWtlIHRoZSByZWdleCBpZiB3ZSBkb24ndCBoYXZlIGl0IGFscmVhZHkKICAgICAgICAgICAgaWYgKCF0aGlzLl93ZWVrZGF5c1BhcnNlW2ldKSB7CiAgICAgICAgICAgICAgICBtb20gPSBsb2NhbF9fY3JlYXRlTG9jYWwoWzIwMDAsIDFdKS5kYXkoaSk7CiAgICAgICAgICAgICAgICByZWdleCA9ICdeJyArIHRoaXMud2Vla2RheXMobW9tLCAnJykgKyAnfF4nICsgdGhpcy53ZWVrZGF5c1Nob3J0KG1vbSwgJycpICsgJ3xeJyArIHRoaXMud2Vla2RheXNNaW4obW9tLCAnJyk7CiAgICAgICAgICAgICAgICB0aGlzLl93ZWVrZGF5c1BhcnNlW2ldID0gbmV3IFJlZ0V4cChyZWdleC5yZXBsYWNlKCcuJywgJycpLCAnaScpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vIHRlc3QgdGhlIHJlZ2V4CiAgICAgICAgICAgIGlmICh0aGlzLl93ZWVrZGF5c1BhcnNlW2ldLnRlc3Qod2Vla2RheU5hbWUpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gaTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAvLyBNT01FTlRTCgogICAgZnVuY3Rpb24gZ2V0U2V0RGF5T2ZXZWVrIChpbnB1dCkgewogICAgICAgIHZhciBkYXkgPSB0aGlzLl9pc1VUQyA/IHRoaXMuX2QuZ2V0VVRDRGF5KCkgOiB0aGlzLl9kLmdldERheSgpOwogICAgICAgIGlmIChpbnB1dCAhPSBudWxsKSB7CiAgICAgICAgICAgIGlucHV0ID0gcGFyc2VXZWVrZGF5KGlucHV0LCB0aGlzLmxvY2FsZURhdGEoKSk7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmFkZChpbnB1dCAtIGRheSwgJ2QnKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gZGF5OwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBnZXRTZXRMb2NhbGVEYXlPZldlZWsgKGlucHV0KSB7CiAgICAgICAgdmFyIHdlZWtkYXkgPSAodGhpcy5kYXkoKSArIDcgLSB0aGlzLmxvY2FsZURhdGEoKS5fd2Vlay5kb3cpICUgNzsKICAgICAgICByZXR1cm4gaW5wdXQgPT0gbnVsbCA/IHdlZWtkYXkgOiB0aGlzLmFkZChpbnB1dCAtIHdlZWtkYXksICdkJyk7CiAgICB9CgogICAgZnVuY3Rpb24gZ2V0U2V0SVNPRGF5T2ZXZWVrIChpbnB1dCkgewogICAgICAgIC8vIGJlaGF2ZXMgdGhlIHNhbWUgYXMgbW9tZW50I2RheSBleGNlcHQKICAgICAgICAvLyBhcyBhIGdldHRlciwgcmV0dXJucyA3IGluc3RlYWQgb2YgMCAoMS03IHJhbmdlIGluc3RlYWQgb2YgMC02KQogICAgICAgIC8vIGFzIGEgc2V0dGVyLCBzdW5kYXkgc2hvdWxkIGJlbG9uZyB0byB0aGUgcHJldmlvdXMgd2Vlay4KICAgICAgICByZXR1cm4gaW5wdXQgPT0gbnVsbCA/IHRoaXMuZGF5KCkgfHwgNyA6IHRoaXMuZGF5KHRoaXMuZGF5KCkgJSA3ID8gaW5wdXQgOiBpbnB1dCAtIDcpOwogICAgfQoKICAgIGFkZEZvcm1hdFRva2VuKCdIJywgWydISCcsIDJdLCAwLCAnaG91cicpOwogICAgYWRkRm9ybWF0VG9rZW4oJ2gnLCBbJ2hoJywgMl0sIDAsIGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gdGhpcy5ob3VycygpICUgMTIgfHwgMTI7CiAgICB9KTsKCiAgICBmdW5jdGlvbiBtZXJpZGllbSAodG9rZW4sIGxvd2VyY2FzZSkgewogICAgICAgIGFkZEZvcm1hdFRva2VuKHRva2VuLCAwLCAwLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmxvY2FsZURhdGEoKS5tZXJpZGllbSh0aGlzLmhvdXJzKCksIHRoaXMubWludXRlcygpLCBsb3dlcmNhc2UpOwogICAgICAgIH0pOwogICAgfQoKICAgIG1lcmlkaWVtKCdhJywgdHJ1ZSk7CiAgICBtZXJpZGllbSgnQScsIGZhbHNlKTsKCiAgICAvLyBBTElBU0VTCgogICAgYWRkVW5pdEFsaWFzKCdob3VyJywgJ2gnKTsKCiAgICAvLyBQQVJTSU5HCgogICAgZnVuY3Rpb24gbWF0Y2hNZXJpZGllbSAoaXNTdHJpY3QsIGxvY2FsZSkgewogICAgICAgIHJldHVybiBsb2NhbGUuX21lcmlkaWVtUGFyc2U7CiAgICB9CgogICAgYWRkUmVnZXhUb2tlbignYScsICBtYXRjaE1lcmlkaWVtKTsKICAgIGFkZFJlZ2V4VG9rZW4oJ0EnLCAgbWF0Y2hNZXJpZGllbSk7CiAgICBhZGRSZWdleFRva2VuKCdIJywgIG1hdGNoMXRvMik7CiAgICBhZGRSZWdleFRva2VuKCdoJywgIG1hdGNoMXRvMik7CiAgICBhZGRSZWdleFRva2VuKCdISCcsIG1hdGNoMXRvMiwgbWF0Y2gyKTsKICAgIGFkZFJlZ2V4VG9rZW4oJ2hoJywgbWF0Y2gxdG8yLCBtYXRjaDIpOwoKICAgIGFkZFBhcnNlVG9rZW4oWydIJywgJ0hIJ10sIEhPVVIpOwogICAgYWRkUGFyc2VUb2tlbihbJ2EnLCAnQSddLCBmdW5jdGlvbiAoaW5wdXQsIGFycmF5LCBjb25maWcpIHsKICAgICAgICBjb25maWcuX2lzUG0gPSBjb25maWcuX2xvY2FsZS5pc1BNKGlucHV0KTsKICAgICAgICBjb25maWcuX21lcmlkaWVtID0gaW5wdXQ7CiAgICB9KTsKICAgIGFkZFBhcnNlVG9rZW4oWydoJywgJ2hoJ10sIGZ1bmN0aW9uIChpbnB1dCwgYXJyYXksIGNvbmZpZykgewogICAgICAgIGFycmF5W0hPVVJdID0gdG9JbnQoaW5wdXQpOwogICAgICAgIGdldFBhcnNpbmdGbGFncyhjb25maWcpLmJpZ0hvdXIgPSB0cnVlOwogICAgfSk7CgogICAgLy8gTE9DQUxFUwoKICAgIGZ1bmN0aW9uIGxvY2FsZUlzUE0gKGlucHV0KSB7CiAgICAgICAgLy8gSUU4IFF1aXJrcyBNb2RlICYgSUU3IFN0YW5kYXJkcyBNb2RlIGRvIG5vdCBhbGxvdyBhY2Nlc3Npbmcgc3RyaW5ncyBsaWtlIGFycmF5cwogICAgICAgIC8vIFVzaW5nIGNoYXJBdCBzaG91bGQgYmUgbW9yZSBjb21wYXRpYmxlLgogICAgICAgIHJldHVybiAoKGlucHV0ICsgJycpLnRvTG93ZXJDYXNlKCkuY2hhckF0KDApID09PSAncCcpOwogICAgfQoKICAgIHZhciBkZWZhdWx0TG9jYWxlTWVyaWRpZW1QYXJzZSA9IC9bYXBdXC4/bT9cLj8vaTsKICAgIGZ1bmN0aW9uIGxvY2FsZU1lcmlkaWVtIChob3VycywgbWludXRlcywgaXNMb3dlcikgewogICAgICAgIGlmIChob3VycyA+IDExKSB7CiAgICAgICAgICAgIHJldHVybiBpc0xvd2VyID8gJ3BtJyA6ICdQTSc7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuIGlzTG93ZXIgPyAnYW0nIDogJ0FNJzsKICAgICAgICB9CiAgICB9CgoKICAgIC8vIE1PTUVOVFMKCiAgICAvLyBTZXR0aW5nIHRoZSBob3VyIHNob3VsZCBrZWVwIHRoZSB0aW1lLCBiZWNhdXNlIHRoZSB1c2VyIGV4cGxpY2l0bHkKICAgIC8vIHNwZWNpZmllZCB3aGljaCBob3VyIGhlIHdhbnRzLiBTbyB0cnlpbmcgdG8gbWFpbnRhaW4gdGhlIHNhbWUgaG91ciAoaW4KICAgIC8vIGEgbmV3IHRpbWV6b25lKSBtYWtlcyBzZW5zZS4gQWRkaW5nL3N1YnRyYWN0aW5nIGhvdXJzIGRvZXMgbm90IGZvbGxvdwogICAgLy8gdGhpcyBydWxlLgogICAgdmFyIGdldFNldEhvdXIgPSBtYWtlR2V0U2V0KCdIb3VycycsIHRydWUpOwoKICAgIGFkZEZvcm1hdFRva2VuKCdtJywgWydtbScsIDJdLCAwLCAnbWludXRlJyk7CgogICAgLy8gQUxJQVNFUwoKICAgIGFkZFVuaXRBbGlhcygnbWludXRlJywgJ20nKTsKCiAgICAvLyBQQVJTSU5HCgogICAgYWRkUmVnZXhUb2tlbignbScsICBtYXRjaDF0bzIpOwogICAgYWRkUmVnZXhUb2tlbignbW0nLCBtYXRjaDF0bzIsIG1hdGNoMik7CiAgICBhZGRQYXJzZVRva2VuKFsnbScsICdtbSddLCBNSU5VVEUpOwoKICAgIC8vIE1PTUVOVFMKCiAgICB2YXIgZ2V0U2V0TWludXRlID0gbWFrZUdldFNldCgnTWludXRlcycsIGZhbHNlKTsKCiAgICBhZGRGb3JtYXRUb2tlbigncycsIFsnc3MnLCAyXSwgMCwgJ3NlY29uZCcpOwoKICAgIC8vIEFMSUFTRVMKCiAgICBhZGRVbml0QWxpYXMoJ3NlY29uZCcsICdzJyk7CgogICAgLy8gUEFSU0lORwoKICAgIGFkZFJlZ2V4VG9rZW4oJ3MnLCAgbWF0Y2gxdG8yKTsKICAgIGFkZFJlZ2V4VG9rZW4oJ3NzJywgbWF0Y2gxdG8yLCBtYXRjaDIpOwogICAgYWRkUGFyc2VUb2tlbihbJ3MnLCAnc3MnXSwgU0VDT05EKTsKCiAgICAvLyBNT01FTlRTCgogICAgdmFyIGdldFNldFNlY29uZCA9IG1ha2VHZXRTZXQoJ1NlY29uZHMnLCBmYWxzZSk7CgogICAgYWRkRm9ybWF0VG9rZW4oJ1MnLCAwLCAwLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuIH5+KHRoaXMubWlsbGlzZWNvbmQoKSAvIDEwMCk7CiAgICB9KTsKCiAgICBhZGRGb3JtYXRUb2tlbigwLCBbJ1NTJywgMl0sIDAsIGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gfn4odGhpcy5taWxsaXNlY29uZCgpIC8gMTApOwogICAgfSk7CgogICAgYWRkRm9ybWF0VG9rZW4oMCwgWydTU1MnLCAzXSwgMCwgJ21pbGxpc2Vjb25kJyk7CiAgICBhZGRGb3JtYXRUb2tlbigwLCBbJ1NTU1MnLCA0XSwgMCwgZnVuY3Rpb24gKCkgewogICAgICAgIHJldHVybiB0aGlzLm1pbGxpc2Vjb25kKCkgKiAxMDsKICAgIH0pOwogICAgYWRkRm9ybWF0VG9rZW4oMCwgWydTU1NTUycsIDVdLCAwLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuIHRoaXMubWlsbGlzZWNvbmQoKSAqIDEwMDsKICAgIH0pOwogICAgYWRkRm9ybWF0VG9rZW4oMCwgWydTU1NTU1MnLCA2XSwgMCwgZnVuY3Rpb24gKCkgewogICAgICAgIHJldHVybiB0aGlzLm1pbGxpc2Vjb25kKCkgKiAxMDAwOwogICAgfSk7CiAgICBhZGRGb3JtYXRUb2tlbigwLCBbJ1NTU1NTU1MnLCA3XSwgMCwgZnVuY3Rpb24gKCkgewogICAgICAgIHJldHVybiB0aGlzLm1pbGxpc2Vjb25kKCkgKiAxMDAwMDsKICAgIH0pOwogICAgYWRkRm9ybWF0VG9rZW4oMCwgWydTU1NTU1NTUycsIDhdLCAwLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuIHRoaXMubWlsbGlzZWNvbmQoKSAqIDEwMDAwMDsKICAgIH0pOwogICAgYWRkRm9ybWF0VG9rZW4oMCwgWydTU1NTU1NTU1MnLCA5XSwgMCwgZnVuY3Rpb24gKCkgewogICAgICAgIHJldHVybiB0aGlzLm1pbGxpc2Vjb25kKCkgKiAxMDAwMDAwOwogICAgfSk7CgoKICAgIC8vIEFMSUFTRVMKCiAgICBhZGRVbml0QWxpYXMoJ21pbGxpc2Vjb25kJywgJ21zJyk7CgogICAgLy8gUEFSU0lORwoKICAgIGFkZFJlZ2V4VG9rZW4oJ1MnLCAgICBtYXRjaDF0bzMsIG1hdGNoMSk7CiAgICBhZGRSZWdleFRva2VuKCdTUycsICAgbWF0Y2gxdG8zLCBtYXRjaDIpOwogICAgYWRkUmVnZXhUb2tlbignU1NTJywgIG1hdGNoMXRvMywgbWF0Y2gzKTsKCiAgICB2YXIgdG9rZW47CiAgICBmb3IgKHRva2VuID0gJ1NTU1MnOyB0b2tlbi5sZW5ndGggPD0gOTsgdG9rZW4gKz0gJ1MnKSB7CiAgICAgICAgYWRkUmVnZXhUb2tlbih0b2tlbiwgbWF0Y2hVbnNpZ25lZCk7CiAgICB9CgogICAgZnVuY3Rpb24gcGFyc2VNcyhpbnB1dCwgYXJyYXkpIHsKICAgICAgICBhcnJheVtNSUxMSVNFQ09ORF0gPSB0b0ludCgoJzAuJyArIGlucHV0KSAqIDEwMDApOwogICAgfQoKICAgIGZvciAodG9rZW4gPSAnUyc7IHRva2VuLmxlbmd0aCA8PSA5OyB0b2tlbiArPSAnUycpIHsKICAgICAgICBhZGRQYXJzZVRva2VuKHRva2VuLCBwYXJzZU1zKTsKICAgIH0KICAgIC8vIE1PTUVOVFMKCiAgICB2YXIgZ2V0U2V0TWlsbGlzZWNvbmQgPSBtYWtlR2V0U2V0KCdNaWxsaXNlY29uZHMnLCBmYWxzZSk7CgogICAgYWRkRm9ybWF0VG9rZW4oJ3onLCAgMCwgMCwgJ3pvbmVBYmJyJyk7CiAgICBhZGRGb3JtYXRUb2tlbignenonLCAwLCAwLCAnem9uZU5hbWUnKTsKCiAgICAvLyBNT01FTlRTCgogICAgZnVuY3Rpb24gZ2V0Wm9uZUFiYnIgKCkgewogICAgICAgIHJldHVybiB0aGlzLl9pc1VUQyA/ICdVVEMnIDogJyc7CiAgICB9CgogICAgZnVuY3Rpb24gZ2V0Wm9uZU5hbWUgKCkgewogICAgICAgIHJldHVybiB0aGlzLl9pc1VUQyA/ICdDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZScgOiAnJzsKICAgIH0KCiAgICB2YXIgbW9tZW50UHJvdG90eXBlX19wcm90byA9IE1vbWVudC5wcm90b3R5cGU7CgogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5hZGQgICAgICAgICAgPSBhZGRfc3VidHJhY3RfX2FkZDsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8uY2FsZW5kYXIgICAgID0gbW9tZW50X2NhbGVuZGFyX19jYWxlbmRhcjsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8uY2xvbmUgICAgICAgID0gY2xvbmU7CiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLmRpZmYgICAgICAgICA9IGRpZmY7CiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLmVuZE9mICAgICAgICA9IGVuZE9mOwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5mb3JtYXQgICAgICAgPSBmb3JtYXQ7CiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLmZyb20gICAgICAgICA9IGZyb207CiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLmZyb21Ob3cgICAgICA9IGZyb21Ob3c7CiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLnRvICAgICAgICAgICA9IHRvOwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by50b05vdyAgICAgICAgPSB0b05vdzsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8uZ2V0ICAgICAgICAgID0gZ2V0U2V0OwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5pbnZhbGlkQXQgICAgPSBpbnZhbGlkQXQ7CiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLmlzQWZ0ZXIgICAgICA9IGlzQWZ0ZXI7CiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLmlzQmVmb3JlICAgICA9IGlzQmVmb3JlOwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5pc0JldHdlZW4gICAgPSBpc0JldHdlZW47CiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLmlzU2FtZSAgICAgICA9IGlzU2FtZTsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8uaXNWYWxpZCAgICAgID0gbW9tZW50X3ZhbGlkX19pc1ZhbGlkOwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5sYW5nICAgICAgICAgPSBsYW5nOwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5sb2NhbGUgICAgICAgPSBsb2NhbGU7CiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLmxvY2FsZURhdGEgICA9IGxvY2FsZURhdGE7CiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLm1heCAgICAgICAgICA9IHByb3RvdHlwZU1heDsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8ubWluICAgICAgICAgID0gcHJvdG90eXBlTWluOwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5wYXJzaW5nRmxhZ3MgPSBwYXJzaW5nRmxhZ3M7CiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLnNldCAgICAgICAgICA9IGdldFNldDsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8uc3RhcnRPZiAgICAgID0gc3RhcnRPZjsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8uc3VidHJhY3QgICAgID0gYWRkX3N1YnRyYWN0X19zdWJ0cmFjdDsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8udG9BcnJheSAgICAgID0gdG9BcnJheTsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8udG9PYmplY3QgICAgID0gdG9PYmplY3Q7CiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLnRvRGF0ZSAgICAgICA9IHRvRGF0ZTsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8udG9JU09TdHJpbmcgID0gbW9tZW50X2Zvcm1hdF9fdG9JU09TdHJpbmc7CiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLnRvSlNPTiAgICAgICA9IG1vbWVudF9mb3JtYXRfX3RvSVNPU3RyaW5nOwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by50b1N0cmluZyAgICAgPSB0b1N0cmluZzsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8udW5peCAgICAgICAgID0gdW5peDsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8udmFsdWVPZiAgICAgID0gdG9fdHlwZV9fdmFsdWVPZjsKCiAgICAvLyBZZWFyCiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLnllYXIgICAgICAgPSBnZXRTZXRZZWFyOwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5pc0xlYXBZZWFyID0gZ2V0SXNMZWFwWWVhcjsKCiAgICAvLyBXZWVrIFllYXIKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8ud2Vla1llYXIgICAgPSBnZXRTZXRXZWVrWWVhcjsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8uaXNvV2Vla1llYXIgPSBnZXRTZXRJU09XZWVrWWVhcjsKCiAgICAvLyBRdWFydGVyCiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLnF1YXJ0ZXIgPSBtb21lbnRQcm90b3R5cGVfX3Byb3RvLnF1YXJ0ZXJzID0gZ2V0U2V0UXVhcnRlcjsKCiAgICAvLyBNb250aAogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5tb250aCAgICAgICA9IGdldFNldE1vbnRoOwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5kYXlzSW5Nb250aCA9IGdldERheXNJbk1vbnRoOwoKICAgIC8vIFdlZWsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8ud2VlayAgICAgICAgICAgPSBtb21lbnRQcm90b3R5cGVfX3Byb3RvLndlZWtzICAgICAgICA9IGdldFNldFdlZWs7CiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLmlzb1dlZWsgICAgICAgID0gbW9tZW50UHJvdG90eXBlX19wcm90by5pc29XZWVrcyAgICAgPSBnZXRTZXRJU09XZWVrOwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by53ZWVrc0luWWVhciAgICA9IGdldFdlZWtzSW5ZZWFyOwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5pc29XZWVrc0luWWVhciA9IGdldElTT1dlZWtzSW5ZZWFyOwoKICAgIC8vIERheQogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5kYXRlICAgICAgID0gZ2V0U2V0RGF5T2ZNb250aDsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8uZGF5ICAgICAgICA9IG1vbWVudFByb3RvdHlwZV9fcHJvdG8uZGF5cyAgICAgICAgICAgICA9IGdldFNldERheU9mV2VlazsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8ud2Vla2RheSAgICA9IGdldFNldExvY2FsZURheU9mV2VlazsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8uaXNvV2Vla2RheSA9IGdldFNldElTT0RheU9mV2VlazsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8uZGF5T2ZZZWFyICA9IGdldFNldERheU9mWWVhcjsKCiAgICAvLyBIb3VyCiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLmhvdXIgPSBtb21lbnRQcm90b3R5cGVfX3Byb3RvLmhvdXJzID0gZ2V0U2V0SG91cjsKCiAgICAvLyBNaW51dGUKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8ubWludXRlID0gbW9tZW50UHJvdG90eXBlX19wcm90by5taW51dGVzID0gZ2V0U2V0TWludXRlOwoKICAgIC8vIFNlY29uZAogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5zZWNvbmQgPSBtb21lbnRQcm90b3R5cGVfX3Byb3RvLnNlY29uZHMgPSBnZXRTZXRTZWNvbmQ7CgogICAgLy8gTWlsbGlzZWNvbmQKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8ubWlsbGlzZWNvbmQgPSBtb21lbnRQcm90b3R5cGVfX3Byb3RvLm1pbGxpc2Vjb25kcyA9IGdldFNldE1pbGxpc2Vjb25kOwoKICAgIC8vIE9mZnNldAogICAgbW9tZW50UHJvdG90eXBlX19wcm90by51dGNPZmZzZXQgICAgICAgICAgICA9IGdldFNldE9mZnNldDsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8udXRjICAgICAgICAgICAgICAgICAgPSBzZXRPZmZzZXRUb1VUQzsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8ubG9jYWwgICAgICAgICAgICAgICAgPSBzZXRPZmZzZXRUb0xvY2FsOwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5wYXJzZVpvbmUgICAgICAgICAgICA9IHNldE9mZnNldFRvUGFyc2VkT2Zmc2V0OwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5oYXNBbGlnbmVkSG91ck9mZnNldCA9IGhhc0FsaWduZWRIb3VyT2Zmc2V0OwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5pc0RTVCAgICAgICAgICAgICAgICA9IGlzRGF5bGlnaHRTYXZpbmdUaW1lOwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5pc0RTVFNoaWZ0ZWQgICAgICAgICA9IGlzRGF5bGlnaHRTYXZpbmdUaW1lU2hpZnRlZDsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8uaXNMb2NhbCAgICAgICAgICAgICAgPSBpc0xvY2FsOwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5pc1V0Y09mZnNldCAgICAgICAgICA9IGlzVXRjT2Zmc2V0OwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5pc1V0YyAgICAgICAgICAgICAgICA9IGlzVXRjOwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5pc1VUQyAgICAgICAgICAgICAgICA9IGlzVXRjOwoKICAgIC8vIFRpbWV6b25lCiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLnpvbmVBYmJyID0gZ2V0Wm9uZUFiYnI7CiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLnpvbmVOYW1lID0gZ2V0Wm9uZU5hbWU7CgogICAgLy8gRGVwcmVjYXRpb25zCiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLmRhdGVzICA9IGRlcHJlY2F0ZSgnZGF0ZXMgYWNjZXNzb3IgaXMgZGVwcmVjYXRlZC4gVXNlIGRhdGUgaW5zdGVhZC4nLCBnZXRTZXREYXlPZk1vbnRoKTsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8ubW9udGhzID0gZGVwcmVjYXRlKCdtb250aHMgYWNjZXNzb3IgaXMgZGVwcmVjYXRlZC4gVXNlIG1vbnRoIGluc3RlYWQnLCBnZXRTZXRNb250aCk7CiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLnllYXJzICA9IGRlcHJlY2F0ZSgneWVhcnMgYWNjZXNzb3IgaXMgZGVwcmVjYXRlZC4gVXNlIHllYXIgaW5zdGVhZCcsIGdldFNldFllYXIpOwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by56b25lICAgPSBkZXByZWNhdGUoJ21vbWVudCgpLnpvbmUgaXMgZGVwcmVjYXRlZCwgdXNlIG1vbWVudCgpLnV0Y09mZnNldCBpbnN0ZWFkLiBodHRwczovL2dpdGh1Yi5jb20vbW9tZW50L21vbWVudC9pc3N1ZXMvMTc3OScsIGdldFNldFpvbmUpOwoKICAgIHZhciBtb21lbnRQcm90b3R5cGUgPSBtb21lbnRQcm90b3R5cGVfX3Byb3RvOwoKICAgIGZ1bmN0aW9uIG1vbWVudF9fY3JlYXRlVW5peCAoaW5wdXQpIHsKICAgICAgICByZXR1cm4gbG9jYWxfX2NyZWF0ZUxvY2FsKGlucHV0ICogMTAwMCk7CiAgICB9CgogICAgZnVuY3Rpb24gbW9tZW50X19jcmVhdGVJblpvbmUgKCkgewogICAgICAgIHJldHVybiBsb2NhbF9fY3JlYXRlTG9jYWwuYXBwbHkobnVsbCwgYXJndW1lbnRzKS5wYXJzZVpvbmUoKTsKICAgIH0KCiAgICB2YXIgZGVmYXVsdENhbGVuZGFyID0gewogICAgICAgIHNhbWVEYXkgOiAnW1RvZGF5IGF0XSBMVCcsCiAgICAgICAgbmV4dERheSA6ICdbVG9tb3Jyb3cgYXRdIExUJywKICAgICAgICBuZXh0V2VlayA6ICdkZGRkIFthdF0gTFQnLAogICAgICAgIGxhc3REYXkgOiAnW1llc3RlcmRheSBhdF0gTFQnLAogICAgICAgIGxhc3RXZWVrIDogJ1tMYXN0XSBkZGRkIFthdF0gTFQnLAogICAgICAgIHNhbWVFbHNlIDogJ0wnCiAgICB9OwoKICAgIGZ1bmN0aW9uIGxvY2FsZV9jYWxlbmRhcl9fY2FsZW5kYXIgKGtleSwgbW9tLCBub3cpIHsKICAgICAgICB2YXIgb3V0cHV0ID0gdGhpcy5fY2FsZW5kYXJba2V5XTsKICAgICAgICByZXR1cm4gdHlwZW9mIG91dHB1dCA9PT0gJ2Z1bmN0aW9uJyA/IG91dHB1dC5jYWxsKG1vbSwgbm93KSA6IG91dHB1dDsKICAgIH0KCiAgICB2YXIgZGVmYXVsdExvbmdEYXRlRm9ybWF0ID0gewogICAgICAgIExUUyAgOiAnaDptbTpzcyBBJywKICAgICAgICBMVCAgIDogJ2g6bW0gQScsCiAgICAgICAgTCAgICA6ICdNTS9ERC9ZWVlZJywKICAgICAgICBMTCAgIDogJ01NTU0gRCwgWVlZWScsCiAgICAgICAgTExMICA6ICdNTU1NIEQsIFlZWVkgaDptbSBBJywKICAgICAgICBMTExMIDogJ2RkZGQsIE1NTU0gRCwgWVlZWSBoOm1tIEEnCiAgICB9OwoKICAgIGZ1bmN0aW9uIGxvbmdEYXRlRm9ybWF0IChrZXkpIHsKICAgICAgICB2YXIgZm9ybWF0ID0gdGhpcy5fbG9uZ0RhdGVGb3JtYXRba2V5XSwKICAgICAgICAgICAgZm9ybWF0VXBwZXIgPSB0aGlzLl9sb25nRGF0ZUZvcm1hdFtrZXkudG9VcHBlckNhc2UoKV07CgogICAgICAgIGlmIChmb3JtYXQgfHwgIWZvcm1hdFVwcGVyKSB7CiAgICAgICAgICAgIHJldHVybiBmb3JtYXQ7CiAgICAgICAgfQoKICAgICAgICB0aGlzLl9sb25nRGF0ZUZvcm1hdFtrZXldID0gZm9ybWF0VXBwZXIucmVwbGFjZSgvTU1NTXxNTXxERHxkZGRkL2csIGZ1bmN0aW9uICh2YWwpIHsKICAgICAgICAgICAgcmV0dXJuIHZhbC5zbGljZSgxKTsKICAgICAgICB9KTsKCiAgICAgICAgcmV0dXJuIHRoaXMuX2xvbmdEYXRlRm9ybWF0W2tleV07CiAgICB9CgogICAgdmFyIGRlZmF1bHRJbnZhbGlkRGF0ZSA9ICdJbnZhbGlkIGRhdGUnOwoKICAgIGZ1bmN0aW9uIGludmFsaWREYXRlICgpIHsKICAgICAgICByZXR1cm4gdGhpcy5faW52YWxpZERhdGU7CiAgICB9CgogICAgdmFyIGRlZmF1bHRPcmRpbmFsID0gJyVkJzsKICAgIHZhciBkZWZhdWx0T3JkaW5hbFBhcnNlID0gL1xkezEsMn0vOwoKICAgIGZ1bmN0aW9uIG9yZGluYWwgKG51bWJlcikgewogICAgICAgIHJldHVybiB0aGlzLl9vcmRpbmFsLnJlcGxhY2UoJyVkJywgbnVtYmVyKTsKICAgIH0KCiAgICBmdW5jdGlvbiBwcmVQYXJzZVBvc3RGb3JtYXQgKHN0cmluZykgewogICAgICAgIHJldHVybiBzdHJpbmc7CiAgICB9CgogICAgdmFyIGRlZmF1bHRSZWxhdGl2ZVRpbWUgPSB7CiAgICAgICAgZnV0dXJlIDogJ2luICVzJywKICAgICAgICBwYXN0ICAgOiAnJXMgYWdvJywKICAgICAgICBzICA6ICdhIGZldyBzZWNvbmRzJywKICAgICAgICBtICA6ICdhIG1pbnV0ZScsCiAgICAgICAgbW0gOiAnJWQgbWludXRlcycsCiAgICAgICAgaCAgOiAnYW4gaG91cicsCiAgICAgICAgaGggOiAnJWQgaG91cnMnLAogICAgICAgIGQgIDogJ2EgZGF5JywKICAgICAgICBkZCA6ICclZCBkYXlzJywKICAgICAgICBNICA6ICdhIG1vbnRoJywKICAgICAgICBNTSA6ICclZCBtb250aHMnLAogICAgICAgIHkgIDogJ2EgeWVhcicsCiAgICAgICAgeXkgOiAnJWQgeWVhcnMnCiAgICB9OwoKICAgIGZ1bmN0aW9uIHJlbGF0aXZlX19yZWxhdGl2ZVRpbWUgKG51bWJlciwgd2l0aG91dFN1ZmZpeCwgc3RyaW5nLCBpc0Z1dHVyZSkgewogICAgICAgIHZhciBvdXRwdXQgPSB0aGlzLl9yZWxhdGl2ZVRpbWVbc3RyaW5nXTsKICAgICAgICByZXR1cm4gKHR5cGVvZiBvdXRwdXQgPT09ICdmdW5jdGlvbicpID8KICAgICAgICAgICAgb3V0cHV0KG51bWJlciwgd2l0aG91dFN1ZmZpeCwgc3RyaW5nLCBpc0Z1dHVyZSkgOgogICAgICAgICAgICBvdXRwdXQucmVwbGFjZSgvJWQvaSwgbnVtYmVyKTsKICAgIH0KCiAgICBmdW5jdGlvbiBwYXN0RnV0dXJlIChkaWZmLCBvdXRwdXQpIHsKICAgICAgICB2YXIgZm9ybWF0ID0gdGhpcy5fcmVsYXRpdmVUaW1lW2RpZmYgPiAwID8gJ2Z1dHVyZScgOiAncGFzdCddOwogICAgICAgIHJldHVybiB0eXBlb2YgZm9ybWF0ID09PSAnZnVuY3Rpb24nID8gZm9ybWF0KG91dHB1dCkgOiBmb3JtYXQucmVwbGFjZSgvJXMvaSwgb3V0cHV0KTsKICAgIH0KCiAgICBmdW5jdGlvbiBsb2NhbGVfc2V0X19zZXQgKGNvbmZpZykgewogICAgICAgIHZhciBwcm9wLCBpOwogICAgICAgIGZvciAoaSBpbiBjb25maWcpIHsKICAgICAgICAgICAgcHJvcCA9IGNvbmZpZ1tpXTsKICAgICAgICAgICAgaWYgKHR5cGVvZiBwcm9wID09PSAnZnVuY3Rpb24nKSB7CiAgICAgICAgICAgICAgICB0aGlzW2ldID0gcHJvcDsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHRoaXNbJ18nICsgaV0gPSBwcm9wOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIC8vIExlbmllbnQgb3JkaW5hbCBwYXJzaW5nIGFjY2VwdHMganVzdCBhIG51bWJlciBpbiBhZGRpdGlvbiB0bwogICAgICAgIC8vIG51bWJlciArIChwb3NzaWJseSkgc3R1ZmYgY29taW5nIGZyb20gX29yZGluYWxQYXJzZUxlbmllbnQuCiAgICAgICAgdGhpcy5fb3JkaW5hbFBhcnNlTGVuaWVudCA9IG5ldyBSZWdFeHAodGhpcy5fb3JkaW5hbFBhcnNlLnNvdXJjZSArICd8JyArICgvXGR7MSwyfS8pLnNvdXJjZSk7CiAgICB9CgogICAgdmFyIHByb3RvdHlwZV9fcHJvdG8gPSBMb2NhbGUucHJvdG90eXBlOwoKICAgIHByb3RvdHlwZV9fcHJvdG8uX2NhbGVuZGFyICAgICAgID0gZGVmYXVsdENhbGVuZGFyOwogICAgcHJvdG90eXBlX19wcm90by5jYWxlbmRhciAgICAgICAgPSBsb2NhbGVfY2FsZW5kYXJfX2NhbGVuZGFyOwogICAgcHJvdG90eXBlX19wcm90by5fbG9uZ0RhdGVGb3JtYXQgPSBkZWZhdWx0TG9uZ0RhdGVGb3JtYXQ7CiAgICBwcm90b3R5cGVfX3Byb3RvLmxvbmdEYXRlRm9ybWF0ICA9IGxvbmdEYXRlRm9ybWF0OwogICAgcHJvdG90eXBlX19wcm90by5faW52YWxpZERhdGUgICAgPSBkZWZhdWx0SW52YWxpZERhdGU7CiAgICBwcm90b3R5cGVfX3Byb3RvLmludmFsaWREYXRlICAgICA9IGludmFsaWREYXRlOwogICAgcHJvdG90eXBlX19wcm90by5fb3JkaW5hbCAgICAgICAgPSBkZWZhdWx0T3JkaW5hbDsKICAgIHByb3RvdHlwZV9fcHJvdG8ub3JkaW5hbCAgICAgICAgID0gb3JkaW5hbDsKICAgIHByb3RvdHlwZV9fcHJvdG8uX29yZGluYWxQYXJzZSAgID0gZGVmYXVsdE9yZGluYWxQYXJzZTsKICAgIHByb3RvdHlwZV9fcHJvdG8ucHJlcGFyc2UgICAgICAgID0gcHJlUGFyc2VQb3N0Rm9ybWF0OwogICAgcHJvdG90eXBlX19wcm90by5wb3N0Zm9ybWF0ICAgICAgPSBwcmVQYXJzZVBvc3RGb3JtYXQ7CiAgICBwcm90b3R5cGVfX3Byb3RvLl9yZWxhdGl2ZVRpbWUgICA9IGRlZmF1bHRSZWxhdGl2ZVRpbWU7CiAgICBwcm90b3R5cGVfX3Byb3RvLnJlbGF0aXZlVGltZSAgICA9IHJlbGF0aXZlX19yZWxhdGl2ZVRpbWU7CiAgICBwcm90b3R5cGVfX3Byb3RvLnBhc3RGdXR1cmUgICAgICA9IHBhc3RGdXR1cmU7CiAgICBwcm90b3R5cGVfX3Byb3RvLnNldCAgICAgICAgICAgICA9IGxvY2FsZV9zZXRfX3NldDsKCiAgICAvLyBNb250aAogICAgcHJvdG90eXBlX19wcm90by5tb250aHMgICAgICAgPSAgICAgICAgbG9jYWxlTW9udGhzOwogICAgcHJvdG90eXBlX19wcm90by5fbW9udGhzICAgICAgPSBkZWZhdWx0TG9jYWxlTW9udGhzOwogICAgcHJvdG90eXBlX19wcm90by5tb250aHNTaG9ydCAgPSAgICAgICAgbG9jYWxlTW9udGhzU2hvcnQ7CiAgICBwcm90b3R5cGVfX3Byb3RvLl9tb250aHNTaG9ydCA9IGRlZmF1bHRMb2NhbGVNb250aHNTaG9ydDsKICAgIHByb3RvdHlwZV9fcHJvdG8ubW9udGhzUGFyc2UgID0gICAgICAgIGxvY2FsZU1vbnRoc1BhcnNlOwoKICAgIC8vIFdlZWsKICAgIHByb3RvdHlwZV9fcHJvdG8ud2VlayA9IGxvY2FsZVdlZWs7CiAgICBwcm90b3R5cGVfX3Byb3RvLl93ZWVrID0gZGVmYXVsdExvY2FsZVdlZWs7CiAgICBwcm90b3R5cGVfX3Byb3RvLmZpcnN0RGF5T2ZZZWFyID0gbG9jYWxlRmlyc3REYXlPZlllYXI7CiAgICBwcm90b3R5cGVfX3Byb3RvLmZpcnN0RGF5T2ZXZWVrID0gbG9jYWxlRmlyc3REYXlPZldlZWs7CgogICAgLy8gRGF5IG9mIFdlZWsKICAgIHByb3RvdHlwZV9fcHJvdG8ud2Vla2RheXMgICAgICAgPSAgICAgICAgbG9jYWxlV2Vla2RheXM7CiAgICBwcm90b3R5cGVfX3Byb3RvLl93ZWVrZGF5cyAgICAgID0gZGVmYXVsdExvY2FsZVdlZWtkYXlzOwogICAgcHJvdG90eXBlX19wcm90by53ZWVrZGF5c01pbiAgICA9ICAgICAgICBsb2NhbGVXZWVrZGF5c01pbjsKICAgIHByb3RvdHlwZV9fcHJvdG8uX3dlZWtkYXlzTWluICAgPSBkZWZhdWx0TG9jYWxlV2Vla2RheXNNaW47CiAgICBwcm90b3R5cGVfX3Byb3RvLndlZWtkYXlzU2hvcnQgID0gICAgICAgIGxvY2FsZVdlZWtkYXlzU2hvcnQ7CiAgICBwcm90b3R5cGVfX3Byb3RvLl93ZWVrZGF5c1Nob3J0ID0gZGVmYXVsdExvY2FsZVdlZWtkYXlzU2hvcnQ7CiAgICBwcm90b3R5cGVfX3Byb3RvLndlZWtkYXlzUGFyc2UgID0gICAgICAgIGxvY2FsZVdlZWtkYXlzUGFyc2U7CgogICAgLy8gSG91cnMKICAgIHByb3RvdHlwZV9fcHJvdG8uaXNQTSA9IGxvY2FsZUlzUE07CiAgICBwcm90b3R5cGVfX3Byb3RvLl9tZXJpZGllbVBhcnNlID0gZGVmYXVsdExvY2FsZU1lcmlkaWVtUGFyc2U7CiAgICBwcm90b3R5cGVfX3Byb3RvLm1lcmlkaWVtID0gbG9jYWxlTWVyaWRpZW07CgogICAgZnVuY3Rpb24gbGlzdHNfX2dldCAoZm9ybWF0LCBpbmRleCwgZmllbGQsIHNldHRlcikgewogICAgICAgIHZhciBsb2NhbGUgPSBsb2NhbGVfbG9jYWxlc19fZ2V0TG9jYWxlKCk7CiAgICAgICAgdmFyIHV0YyA9IGNyZWF0ZV91dGNfX2NyZWF0ZVVUQygpLnNldChzZXR0ZXIsIGluZGV4KTsKICAgICAgICByZXR1cm4gbG9jYWxlW2ZpZWxkXSh1dGMsIGZvcm1hdCk7CiAgICB9CgogICAgZnVuY3Rpb24gbGlzdCAoZm9ybWF0LCBpbmRleCwgZmllbGQsIGNvdW50LCBzZXR0ZXIpIHsKICAgICAgICBpZiAodHlwZW9mIGZvcm1hdCA9PT0gJ251bWJlcicpIHsKICAgICAgICAgICAgaW5kZXggPSBmb3JtYXQ7CiAgICAgICAgICAgIGZvcm1hdCA9IHVuZGVmaW5lZDsKICAgICAgICB9CgogICAgICAgIGZvcm1hdCA9IGZvcm1hdCB8fCAnJzsKCiAgICAgICAgaWYgKGluZGV4ICE9IG51bGwpIHsKICAgICAgICAgICAgcmV0dXJuIGxpc3RzX19nZXQoZm9ybWF0LCBpbmRleCwgZmllbGQsIHNldHRlcik7CiAgICAgICAgfQoKICAgICAgICB2YXIgaTsKICAgICAgICB2YXIgb3V0ID0gW107CiAgICAgICAgZm9yIChpID0gMDsgaSA8IGNvdW50OyBpKyspIHsKICAgICAgICAgICAgb3V0W2ldID0gbGlzdHNfX2dldChmb3JtYXQsIGksIGZpZWxkLCBzZXR0ZXIpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gb3V0OwogICAgfQoKICAgIGZ1bmN0aW9uIGxpc3RzX19saXN0TW9udGhzIChmb3JtYXQsIGluZGV4KSB7CiAgICAgICAgcmV0dXJuIGxpc3QoZm9ybWF0LCBpbmRleCwgJ21vbnRocycsIDEyLCAnbW9udGgnKTsKICAgIH0KCiAgICBmdW5jdGlvbiBsaXN0c19fbGlzdE1vbnRoc1Nob3J0IChmb3JtYXQsIGluZGV4KSB7CiAgICAgICAgcmV0dXJuIGxpc3QoZm9ybWF0LCBpbmRleCwgJ21vbnRoc1Nob3J0JywgMTIsICdtb250aCcpOwogICAgfQoKICAgIGZ1bmN0aW9uIGxpc3RzX19saXN0V2Vla2RheXMgKGZvcm1hdCwgaW5kZXgpIHsKICAgICAgICByZXR1cm4gbGlzdChmb3JtYXQsIGluZGV4LCAnd2Vla2RheXMnLCA3LCAnZGF5Jyk7CiAgICB9CgogICAgZnVuY3Rpb24gbGlzdHNfX2xpc3RXZWVrZGF5c1Nob3J0IChmb3JtYXQsIGluZGV4KSB7CiAgICAgICAgcmV0dXJuIGxpc3QoZm9ybWF0LCBpbmRleCwgJ3dlZWtkYXlzU2hvcnQnLCA3LCAnZGF5Jyk7CiAgICB9CgogICAgZnVuY3Rpb24gbGlzdHNfX2xpc3RXZWVrZGF5c01pbiAoZm9ybWF0LCBpbmRleCkgewogICAgICAgIHJldHVybiBsaXN0KGZvcm1hdCwgaW5kZXgsICd3ZWVrZGF5c01pbicsIDcsICdkYXknKTsKICAgIH0KCiAgICBsb2NhbGVfbG9jYWxlc19fZ2V0U2V0R2xvYmFsTG9jYWxlKCdlbicsIHsKICAgICAgICBvcmRpbmFsUGFyc2U6IC9cZHsxLDJ9KHRofHN0fG5kfHJkKS8sCiAgICAgICAgb3JkaW5hbCA6IGZ1bmN0aW9uIChudW1iZXIpIHsKICAgICAgICAgICAgdmFyIGIgPSBudW1iZXIgJSAxMCwKICAgICAgICAgICAgICAgIG91dHB1dCA9ICh0b0ludChudW1iZXIgJSAxMDAgLyAxMCkgPT09IDEpID8gJ3RoJyA6CiAgICAgICAgICAgICAgICAoYiA9PT0gMSkgPyAnc3QnIDoKICAgICAgICAgICAgICAgIChiID09PSAyKSA/ICduZCcgOgogICAgICAgICAgICAgICAgKGIgPT09IDMpID8gJ3JkJyA6ICd0aCc7CiAgICAgICAgICAgIHJldHVybiBudW1iZXIgKyBvdXRwdXQ7CiAgICAgICAgfQogICAgfSk7CgogICAgLy8gU2lkZSBlZmZlY3QgaW1wb3J0cwogICAgdXRpbHNfaG9va3NfX2hvb2tzLmxhbmcgPSBkZXByZWNhdGUoJ21vbWVudC5sYW5nIGlzIGRlcHJlY2F0ZWQuIFVzZSBtb21lbnQubG9jYWxlIGluc3RlYWQuJywgbG9jYWxlX2xvY2FsZXNfX2dldFNldEdsb2JhbExvY2FsZSk7CiAgICB1dGlsc19ob29rc19faG9va3MubGFuZ0RhdGEgPSBkZXByZWNhdGUoJ21vbWVudC5sYW5nRGF0YSBpcyBkZXByZWNhdGVkLiBVc2UgbW9tZW50LmxvY2FsZURhdGEgaW5zdGVhZC4nLCBsb2NhbGVfbG9jYWxlc19fZ2V0TG9jYWxlKTsKCiAgICB2YXIgbWF0aEFicyA9IE1hdGguYWJzOwoKICAgIGZ1bmN0aW9uIGR1cmF0aW9uX2Fic19fYWJzICgpIHsKICAgICAgICB2YXIgZGF0YSAgICAgICAgICAgPSB0aGlzLl9kYXRhOwoKICAgICAgICB0aGlzLl9taWxsaXNlY29uZHMgPSBtYXRoQWJzKHRoaXMuX21pbGxpc2Vjb25kcyk7CiAgICAgICAgdGhpcy5fZGF5cyAgICAgICAgID0gbWF0aEFicyh0aGlzLl9kYXlzKTsKICAgICAgICB0aGlzLl9tb250aHMgICAgICAgPSBtYXRoQWJzKHRoaXMuX21vbnRocyk7CgogICAgICAgIGRhdGEubWlsbGlzZWNvbmRzICA9IG1hdGhBYnMoZGF0YS5taWxsaXNlY29uZHMpOwogICAgICAgIGRhdGEuc2Vjb25kcyAgICAgICA9IG1hdGhBYnMoZGF0YS5zZWNvbmRzKTsKICAgICAgICBkYXRhLm1pbnV0ZXMgICAgICAgPSBtYXRoQWJzKGRhdGEubWludXRlcyk7CiAgICAgICAgZGF0YS5ob3VycyAgICAgICAgID0gbWF0aEFicyhkYXRhLmhvdXJzKTsKICAgICAgICBkYXRhLm1vbnRocyAgICAgICAgPSBtYXRoQWJzKGRhdGEubW9udGhzKTsKICAgICAgICBkYXRhLnllYXJzICAgICAgICAgPSBtYXRoQWJzKGRhdGEueWVhcnMpOwoKICAgICAgICByZXR1cm4gdGhpczsKICAgIH0KCiAgICBmdW5jdGlvbiBkdXJhdGlvbl9hZGRfc3VidHJhY3RfX2FkZFN1YnRyYWN0IChkdXJhdGlvbiwgaW5wdXQsIHZhbHVlLCBkaXJlY3Rpb24pIHsKICAgICAgICB2YXIgb3RoZXIgPSBjcmVhdGVfX2NyZWF0ZUR1cmF0aW9uKGlucHV0LCB2YWx1ZSk7CgogICAgICAgIGR1cmF0aW9uLl9taWxsaXNlY29uZHMgKz0gZGlyZWN0aW9uICogb3RoZXIuX21pbGxpc2Vjb25kczsKICAgICAgICBkdXJhdGlvbi5fZGF5cyAgICAgICAgICs9IGRpcmVjdGlvbiAqIG90aGVyLl9kYXlzOwogICAgICAgIGR1cmF0aW9uLl9tb250aHMgICAgICAgKz0gZGlyZWN0aW9uICogb3RoZXIuX21vbnRoczsKCiAgICAgICAgcmV0dXJuIGR1cmF0aW9uLl9idWJibGUoKTsKICAgIH0KCiAgICAvLyBzdXBwb3J0cyBvbmx5IDIuMC1zdHlsZSBhZGQoMSwgJ3MnKSBvciBhZGQoZHVyYXRpb24pCiAgICBmdW5jdGlvbiBkdXJhdGlvbl9hZGRfc3VidHJhY3RfX2FkZCAoaW5wdXQsIHZhbHVlKSB7CiAgICAgICAgcmV0dXJuIGR1cmF0aW9uX2FkZF9zdWJ0cmFjdF9fYWRkU3VidHJhY3QodGhpcywgaW5wdXQsIHZhbHVlLCAxKTsKICAgIH0KCiAgICAvLyBzdXBwb3J0cyBvbmx5IDIuMC1zdHlsZSBzdWJ0cmFjdCgxLCAncycpIG9yIHN1YnRyYWN0KGR1cmF0aW9uKQogICAgZnVuY3Rpb24gZHVyYXRpb25fYWRkX3N1YnRyYWN0X19zdWJ0cmFjdCAoaW5wdXQsIHZhbHVlKSB7CiAgICAgICAgcmV0dXJuIGR1cmF0aW9uX2FkZF9zdWJ0cmFjdF9fYWRkU3VidHJhY3QodGhpcywgaW5wdXQsIHZhbHVlLCAtMSk7CiAgICB9CgogICAgZnVuY3Rpb24gYWJzQ2VpbCAobnVtYmVyKSB7CiAgICAgICAgaWYgKG51bWJlciA8IDApIHsKICAgICAgICAgICAgcmV0dXJuIE1hdGguZmxvb3IobnVtYmVyKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gTWF0aC5jZWlsKG51bWJlcik7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGJ1YmJsZSAoKSB7CiAgICAgICAgdmFyIG1pbGxpc2Vjb25kcyA9IHRoaXMuX21pbGxpc2Vjb25kczsKICAgICAgICB2YXIgZGF5cyAgICAgICAgID0gdGhpcy5fZGF5czsKICAgICAgICB2YXIgbW9udGhzICAgICAgID0gdGhpcy5fbW9udGhzOwogICAgICAgIHZhciBkYXRhICAgICAgICAgPSB0aGlzLl9kYXRhOwogICAgICAgIHZhciBzZWNvbmRzLCBtaW51dGVzLCBob3VycywgeWVhcnMsIG1vbnRoc0Zyb21EYXlzOwoKICAgICAgICAvLyBpZiB3ZSBoYXZlIGEgbWl4IG9mIHBvc2l0aXZlIGFuZCBuZWdhdGl2ZSB2YWx1ZXMsIGJ1YmJsZSBkb3duIGZpcnN0CiAgICAgICAgLy8gY2hlY2s6IGh0dHBzOi8vZ2l0aHViLmNvbS9tb21lbnQvbW9tZW50L2lzc3Vlcy8yMTY2CiAgICAgICAgaWYgKCEoKG1pbGxpc2Vjb25kcyA+PSAwICYmIGRheXMgPj0gMCAmJiBtb250aHMgPj0gMCkgfHwKICAgICAgICAgICAgICAgIChtaWxsaXNlY29uZHMgPD0gMCAmJiBkYXlzIDw9IDAgJiYgbW9udGhzIDw9IDApKSkgewogICAgICAgICAgICBtaWxsaXNlY29uZHMgKz0gYWJzQ2VpbChtb250aHNUb0RheXMobW9udGhzKSArIGRheXMpICogODY0ZTU7CiAgICAgICAgICAgIGRheXMgPSAwOwogICAgICAgICAgICBtb250aHMgPSAwOwogICAgICAgIH0KCiAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBjb2RlIGJ1YmJsZXMgdXAgdmFsdWVzLCBzZWUgdGhlIHRlc3RzIGZvcgogICAgICAgIC8vIGV4YW1wbGVzIG9mIHdoYXQgdGhhdCBtZWFucy4KICAgICAgICBkYXRhLm1pbGxpc2Vjb25kcyA9IG1pbGxpc2Vjb25kcyAlIDEwMDA7CgogICAgICAgIHNlY29uZHMgICAgICAgICAgID0gYWJzRmxvb3IobWlsbGlzZWNvbmRzIC8gMTAwMCk7CiAgICAgICAgZGF0YS5zZWNvbmRzICAgICAgPSBzZWNvbmRzICUgNjA7CgogICAgICAgIG1pbnV0ZXMgICAgICAgICAgID0gYWJzRmxvb3Ioc2Vjb25kcyAvIDYwKTsKICAgICAgICBkYXRhLm1pbnV0ZXMgICAgICA9IG1pbnV0ZXMgJSA2MDsKCiAgICAgICAgaG91cnMgICAgICAgICAgICAgPSBhYnNGbG9vcihtaW51dGVzIC8gNjApOwogICAgICAgIGRhdGEuaG91cnMgICAgICAgID0gaG91cnMgJSAyNDsKCiAgICAgICAgZGF5cyArPSBhYnNGbG9vcihob3VycyAvIDI0KTsKCiAgICAgICAgLy8gY29udmVydCBkYXlzIHRvIG1vbnRocwogICAgICAgIG1vbnRoc0Zyb21EYXlzID0gYWJzRmxvb3IoZGF5c1RvTW9udGhzKGRheXMpKTsKICAgICAgICBtb250aHMgKz0gbW9udGhzRnJvbURheXM7CiAgICAgICAgZGF5cyAtPSBhYnNDZWlsKG1vbnRoc1RvRGF5cyhtb250aHNGcm9tRGF5cykpOwoKICAgICAgICAvLyAxMiBtb250aHMgLT4gMSB5ZWFyCiAgICAgICAgeWVhcnMgPSBhYnNGbG9vcihtb250aHMgLyAxMik7CiAgICAgICAgbW9udGhzICU9IDEyOwoKICAgICAgICBkYXRhLmRheXMgICA9IGRheXM7CiAgICAgICAgZGF0YS5tb250aHMgPSBtb250aHM7CiAgICAgICAgZGF0YS55ZWFycyAgPSB5ZWFyczsKCiAgICAgICAgcmV0dXJuIHRoaXM7CiAgICB9CgogICAgZnVuY3Rpb24gZGF5c1RvTW9udGhzIChkYXlzKSB7CiAgICAgICAgLy8gNDAwIHllYXJzIGhhdmUgMTQ2MDk3IGRheXMgKHRha2luZyBpbnRvIGFjY291bnQgbGVhcCB5ZWFyIHJ1bGVzKQogICAgICAgIC8vIDQwMCB5ZWFycyBoYXZlIDEyIG1vbnRocyA9PT0gNDgwMAogICAgICAgIHJldHVybiBkYXlzICogNDgwMCAvIDE0NjA5NzsKICAgIH0KCiAgICBmdW5jdGlvbiBtb250aHNUb0RheXMgKG1vbnRocykgewogICAgICAgIC8vIHRoZSByZXZlcnNlIG9mIGRheXNUb01vbnRocwogICAgICAgIHJldHVybiBtb250aHMgKiAxNDYwOTcgLyA0ODAwOwogICAgfQoKICAgIGZ1bmN0aW9uIGFzICh1bml0cykgewogICAgICAgIHZhciBkYXlzOwogICAgICAgIHZhciBtb250aHM7CiAgICAgICAgdmFyIG1pbGxpc2Vjb25kcyA9IHRoaXMuX21pbGxpc2Vjb25kczsKCiAgICAgICAgdW5pdHMgPSBub3JtYWxpemVVbml0cyh1bml0cyk7CgogICAgICAgIGlmICh1bml0cyA9PT0gJ21vbnRoJyB8fCB1bml0cyA9PT0gJ3llYXInKSB7CiAgICAgICAgICAgIGRheXMgICA9IHRoaXMuX2RheXMgICArIG1pbGxpc2Vjb25kcyAvIDg2NGU1OwogICAgICAgICAgICBtb250aHMgPSB0aGlzLl9tb250aHMgKyBkYXlzVG9Nb250aHMoZGF5cyk7CiAgICAgICAgICAgIHJldHVybiB1bml0cyA9PT0gJ21vbnRoJyA/IG1vbnRocyA6IG1vbnRocyAvIDEyOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIC8vIGhhbmRsZSBtaWxsaXNlY29uZHMgc2VwYXJhdGVseSBiZWNhdXNlIG9mIGZsb2F0aW5nIHBvaW50IG1hdGggZXJyb3JzIChpc3N1ZSAjMTg2NykKICAgICAgICAgICAgZGF5cyA9IHRoaXMuX2RheXMgKyBNYXRoLnJvdW5kKG1vbnRoc1RvRGF5cyh0aGlzLl9tb250aHMpKTsKICAgICAgICAgICAgc3dpdGNoICh1bml0cykgewogICAgICAgICAgICAgICAgY2FzZSAnd2VlaycgICA6IHJldHVybiBkYXlzIC8gNyAgICAgKyBtaWxsaXNlY29uZHMgLyA2MDQ4ZTU7CiAgICAgICAgICAgICAgICBjYXNlICdkYXknICAgIDogcmV0dXJuIGRheXMgICAgICAgICArIG1pbGxpc2Vjb25kcyAvIDg2NGU1OwogICAgICAgICAgICAgICAgY2FzZSAnaG91cicgICA6IHJldHVybiBkYXlzICogMjQgICAgKyBtaWxsaXNlY29uZHMgLyAzNmU1OwogICAgICAgICAgICAgICAgY2FzZSAnbWludXRlJyA6IHJldHVybiBkYXlzICogMTQ0MCAgKyBtaWxsaXNlY29uZHMgLyA2ZTQ7CiAgICAgICAgICAgICAgICBjYXNlICdzZWNvbmQnIDogcmV0dXJuIGRheXMgKiA4NjQwMCArIG1pbGxpc2Vjb25kcyAvIDEwMDA7CiAgICAgICAgICAgICAgICAvLyBNYXRoLmZsb29yIHByZXZlbnRzIGZsb2F0aW5nIHBvaW50IG1hdGggZXJyb3JzIGhlcmUKICAgICAgICAgICAgICAgIGNhc2UgJ21pbGxpc2Vjb25kJzogcmV0dXJuIE1hdGguZmxvb3IoZGF5cyAqIDg2NGU1KSArIG1pbGxpc2Vjb25kczsKICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHRocm93IG5ldyBFcnJvcignVW5rbm93biB1bml0ICcgKyB1bml0cyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLy8gVE9ETzogVXNlIHRoaXMuYXMoJ21zJyk/CiAgICBmdW5jdGlvbiBkdXJhdGlvbl9hc19fdmFsdWVPZiAoKSB7CiAgICAgICAgcmV0dXJuICgKICAgICAgICAgICAgdGhpcy5fbWlsbGlzZWNvbmRzICsKICAgICAgICAgICAgdGhpcy5fZGF5cyAqIDg2NGU1ICsKICAgICAgICAgICAgKHRoaXMuX21vbnRocyAlIDEyKSAqIDI1OTJlNiArCiAgICAgICAgICAgIHRvSW50KHRoaXMuX21vbnRocyAvIDEyKSAqIDMxNTM2ZTYKICAgICAgICApOwogICAgfQoKICAgIGZ1bmN0aW9uIG1ha2VBcyAoYWxpYXMpIHsKICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5hcyhhbGlhcyk7CiAgICAgICAgfTsKICAgIH0KCiAgICB2YXIgYXNNaWxsaXNlY29uZHMgPSBtYWtlQXMoJ21zJyk7CiAgICB2YXIgYXNTZWNvbmRzICAgICAgPSBtYWtlQXMoJ3MnKTsKICAgIHZhciBhc01pbnV0ZXMgICAgICA9IG1ha2VBcygnbScpOwogICAgdmFyIGFzSG91cnMgICAgICAgID0gbWFrZUFzKCdoJyk7CiAgICB2YXIgYXNEYXlzICAgICAgICAgPSBtYWtlQXMoJ2QnKTsKICAgIHZhciBhc1dlZWtzICAgICAgICA9IG1ha2VBcygndycpOwogICAgdmFyIGFzTW9udGhzICAgICAgID0gbWFrZUFzKCdNJyk7CiAgICB2YXIgYXNZZWFycyAgICAgICAgPSBtYWtlQXMoJ3knKTsKCiAgICBmdW5jdGlvbiBkdXJhdGlvbl9nZXRfX2dldCAodW5pdHMpIHsKICAgICAgICB1bml0cyA9IG5vcm1hbGl6ZVVuaXRzKHVuaXRzKTsKICAgICAgICByZXR1cm4gdGhpc1t1bml0cyArICdzJ10oKTsKICAgIH0KCiAgICBmdW5jdGlvbiBtYWtlR2V0dGVyKG5hbWUpIHsKICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5fZGF0YVtuYW1lXTsKICAgICAgICB9OwogICAgfQoKICAgIHZhciBtaWxsaXNlY29uZHMgPSBtYWtlR2V0dGVyKCdtaWxsaXNlY29uZHMnKTsKICAgIHZhciBzZWNvbmRzICAgICAgPSBtYWtlR2V0dGVyKCdzZWNvbmRzJyk7CiAgICB2YXIgbWludXRlcyAgICAgID0gbWFrZUdldHRlcignbWludXRlcycpOwogICAgdmFyIGhvdXJzICAgICAgICA9IG1ha2VHZXR0ZXIoJ2hvdXJzJyk7CiAgICB2YXIgZGF5cyAgICAgICAgID0gbWFrZUdldHRlcignZGF5cycpOwogICAgdmFyIG1vbnRocyAgICAgICA9IG1ha2VHZXR0ZXIoJ21vbnRocycpOwogICAgdmFyIHllYXJzICAgICAgICA9IG1ha2VHZXR0ZXIoJ3llYXJzJyk7CgogICAgZnVuY3Rpb24gd2Vla3MgKCkgewogICAgICAgIHJldHVybiBhYnNGbG9vcih0aGlzLmRheXMoKSAvIDcpOwogICAgfQoKICAgIHZhciByb3VuZCA9IE1hdGgucm91bmQ7CiAgICB2YXIgdGhyZXNob2xkcyA9IHsKICAgICAgICBzOiA0NSwgIC8vIHNlY29uZHMgdG8gbWludXRlCiAgICAgICAgbTogNDUsICAvLyBtaW51dGVzIHRvIGhvdXIKICAgICAgICBoOiAyMiwgIC8vIGhvdXJzIHRvIGRheQogICAgICAgIGQ6IDI2LCAgLy8gZGF5cyB0byBtb250aAogICAgICAgIE06IDExICAgLy8gbW9udGhzIHRvIHllYXIKICAgIH07CgogICAgLy8gaGVscGVyIGZ1bmN0aW9uIGZvciBtb21lbnQuZm4uZnJvbSwgbW9tZW50LmZuLmZyb21Ob3csIGFuZCBtb21lbnQuZHVyYXRpb24uZm4uaHVtYW5pemUKICAgIGZ1bmN0aW9uIHN1YnN0aXR1dGVUaW1lQWdvKHN0cmluZywgbnVtYmVyLCB3aXRob3V0U3VmZml4LCBpc0Z1dHVyZSwgbG9jYWxlKSB7CiAgICAgICAgcmV0dXJuIGxvY2FsZS5yZWxhdGl2ZVRpbWUobnVtYmVyIHx8IDEsICEhd2l0aG91dFN1ZmZpeCwgc3RyaW5nLCBpc0Z1dHVyZSk7CiAgICB9CgogICAgZnVuY3Rpb24gZHVyYXRpb25faHVtYW5pemVfX3JlbGF0aXZlVGltZSAocG9zTmVnRHVyYXRpb24sIHdpdGhvdXRTdWZmaXgsIGxvY2FsZSkgewogICAgICAgIHZhciBkdXJhdGlvbiA9IGNyZWF0ZV9fY3JlYXRlRHVyYXRpb24ocG9zTmVnRHVyYXRpb24pLmFicygpOwogICAgICAgIHZhciBzZWNvbmRzICA9IHJvdW5kKGR1cmF0aW9uLmFzKCdzJykpOwogICAgICAgIHZhciBtaW51dGVzICA9IHJvdW5kKGR1cmF0aW9uLmFzKCdtJykpOwogICAgICAgIHZhciBob3VycyAgICA9IHJvdW5kKGR1cmF0aW9uLmFzKCdoJykpOwogICAgICAgIHZhciBkYXlzICAgICA9IHJvdW5kKGR1cmF0aW9uLmFzKCdkJykpOwogICAgICAgIHZhciBtb250aHMgICA9IHJvdW5kKGR1cmF0aW9uLmFzKCdNJykpOwogICAgICAgIHZhciB5ZWFycyAgICA9IHJvdW5kKGR1cmF0aW9uLmFzKCd5JykpOwoKICAgICAgICB2YXIgYSA9IHNlY29uZHMgPCB0aHJlc2hvbGRzLnMgJiYgWydzJywgc2Vjb25kc10gIHx8CiAgICAgICAgICAgICAgICBtaW51dGVzID09PSAxICAgICAgICAgICYmIFsnbSddICAgICAgICAgICB8fAogICAgICAgICAgICAgICAgbWludXRlcyA8IHRocmVzaG9sZHMubSAmJiBbJ21tJywgbWludXRlc10gfHwKICAgICAgICAgICAgICAgIGhvdXJzICAgPT09IDEgICAgICAgICAgJiYgWydoJ10gICAgICAgICAgIHx8CiAgICAgICAgICAgICAgICBob3VycyAgIDwgdGhyZXNob2xkcy5oICYmIFsnaGgnLCBob3Vyc10gICB8fAogICAgICAgICAgICAgICAgZGF5cyAgICA9PT0gMSAgICAgICAgICAmJiBbJ2QnXSAgICAgICAgICAgfHwKICAgICAgICAgICAgICAgIGRheXMgICAgPCB0aHJlc2hvbGRzLmQgJiYgWydkZCcsIGRheXNdICAgIHx8CiAgICAgICAgICAgICAgICBtb250aHMgID09PSAxICAgICAgICAgICYmIFsnTSddICAgICAgICAgICB8fAogICAgICAgICAgICAgICAgbW9udGhzICA8IHRocmVzaG9sZHMuTSAmJiBbJ01NJywgbW9udGhzXSAgfHwKICAgICAgICAgICAgICAgIHllYXJzICAgPT09IDEgICAgICAgICAgJiYgWyd5J10gICAgICAgICAgIHx8IFsneXknLCB5ZWFyc107CgogICAgICAgIGFbMl0gPSB3aXRob3V0U3VmZml4OwogICAgICAgIGFbM10gPSArcG9zTmVnRHVyYXRpb24gPiAwOwogICAgICAgIGFbNF0gPSBsb2NhbGU7CiAgICAgICAgcmV0dXJuIHN1YnN0aXR1dGVUaW1lQWdvLmFwcGx5KG51bGwsIGEpOwogICAgfQoKICAgIC8vIFRoaXMgZnVuY3Rpb24gYWxsb3dzIHlvdSB0byBzZXQgYSB0aHJlc2hvbGQgZm9yIHJlbGF0aXZlIHRpbWUgc3RyaW5ncwogICAgZnVuY3Rpb24gZHVyYXRpb25faHVtYW5pemVfX2dldFNldFJlbGF0aXZlVGltZVRocmVzaG9sZCAodGhyZXNob2xkLCBsaW1pdCkgewogICAgICAgIGlmICh0aHJlc2hvbGRzW3RocmVzaG9sZF0gPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgICAgIGlmIChsaW1pdCA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIHJldHVybiB0aHJlc2hvbGRzW3RocmVzaG9sZF07CiAgICAgICAgfQogICAgICAgIHRocmVzaG9sZHNbdGhyZXNob2xkXSA9IGxpbWl0OwogICAgICAgIHJldHVybiB0cnVlOwogICAgfQoKICAgIGZ1bmN0aW9uIGh1bWFuaXplICh3aXRoU3VmZml4KSB7CiAgICAgICAgdmFyIGxvY2FsZSA9IHRoaXMubG9jYWxlRGF0YSgpOwogICAgICAgIHZhciBvdXRwdXQgPSBkdXJhdGlvbl9odW1hbml6ZV9fcmVsYXRpdmVUaW1lKHRoaXMsICF3aXRoU3VmZml4LCBsb2NhbGUpOwoKICAgICAgICBpZiAod2l0aFN1ZmZpeCkgewogICAgICAgICAgICBvdXRwdXQgPSBsb2NhbGUucGFzdEZ1dHVyZSgrdGhpcywgb3V0cHV0KTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBsb2NhbGUucG9zdGZvcm1hdChvdXRwdXQpOwogICAgfQoKICAgIHZhciBpc29fc3RyaW5nX19hYnMgPSBNYXRoLmFiczsKCiAgICBmdW5jdGlvbiBpc29fc3RyaW5nX190b0lTT1N0cmluZygpIHsKICAgICAgICAvLyBmb3IgSVNPIHN0cmluZ3Mgd2UgZG8gbm90IHVzZSB0aGUgbm9ybWFsIGJ1YmJsaW5nIHJ1bGVzOgogICAgICAgIC8vICAqIG1pbGxpc2Vjb25kcyBidWJibGUgdXAgdW50aWwgdGhleSBiZWNvbWUgaG91cnMKICAgICAgICAvLyAgKiBkYXlzIGRvIG5vdCBidWJibGUgYXQgYWxsCiAgICAgICAgLy8gICogbW9udGhzIGJ1YmJsZSB1cCB1bnRpbCB0aGV5IGJlY29tZSB5ZWFycwogICAgICAgIC8vIFRoaXMgaXMgYmVjYXVzZSB0aGVyZSBpcyBubyBjb250ZXh0LWZyZWUgY29udmVyc2lvbiBiZXR3ZWVuIGhvdXJzIGFuZCBkYXlzCiAgICAgICAgLy8gKHRoaW5rIG9mIGNsb2NrIGNoYW5nZXMpCiAgICAgICAgLy8gYW5kIGFsc28gbm90IGJldHdlZW4gZGF5cyBhbmQgbW9udGhzICgyOC0zMSBkYXlzIHBlciBtb250aCkKICAgICAgICB2YXIgc2Vjb25kcyA9IGlzb19zdHJpbmdfX2Ficyh0aGlzLl9taWxsaXNlY29uZHMpIC8gMTAwMDsKICAgICAgICB2YXIgZGF5cyAgICAgICAgID0gaXNvX3N0cmluZ19fYWJzKHRoaXMuX2RheXMpOwogICAgICAgIHZhciBtb250aHMgICAgICAgPSBpc29fc3RyaW5nX19hYnModGhpcy5fbW9udGhzKTsKICAgICAgICB2YXIgbWludXRlcywgaG91cnMsIHllYXJzOwoKICAgICAgICAvLyAzNjAwIHNlY29uZHMgLT4gNjAgbWludXRlcyAtPiAxIGhvdXIKICAgICAgICBtaW51dGVzICAgICAgICAgICA9IGFic0Zsb29yKHNlY29uZHMgLyA2MCk7CiAgICAgICAgaG91cnMgICAgICAgICAgICAgPSBhYnNGbG9vcihtaW51dGVzIC8gNjApOwogICAgICAgIHNlY29uZHMgJT0gNjA7CiAgICAgICAgbWludXRlcyAlPSA2MDsKCiAgICAgICAgLy8gMTIgbW9udGhzIC0+IDEgeWVhcgogICAgICAgIHllYXJzICA9IGFic0Zsb29yKG1vbnRocyAvIDEyKTsKICAgICAgICBtb250aHMgJT0gMTI7CgoKICAgICAgICAvLyBpbnNwaXJlZCBieSBodHRwczovL2dpdGh1Yi5jb20vZG9yZGlsbGUvbW9tZW50LWlzb2R1cmF0aW9uL2Jsb2IvbWFzdGVyL21vbWVudC5pc29kdXJhdGlvbi5qcwogICAgICAgIHZhciBZID0geWVhcnM7CiAgICAgICAgdmFyIE0gPSBtb250aHM7CiAgICAgICAgdmFyIEQgPSBkYXlzOwogICAgICAgIHZhciBoID0gaG91cnM7CiAgICAgICAgdmFyIG0gPSBtaW51dGVzOwogICAgICAgIHZhciBzID0gc2Vjb25kczsKICAgICAgICB2YXIgdG90YWwgPSB0aGlzLmFzU2Vjb25kcygpOwoKICAgICAgICBpZiAoIXRvdGFsKSB7CiAgICAgICAgICAgIC8vIHRoaXMgaXMgdGhlIHNhbWUgYXMgQyMncyAoTm9kYSkgYW5kIHB5dGhvbiAoaXNvZGF0ZSkuLi4KICAgICAgICAgICAgLy8gYnV0IG5vdCBvdGhlciBKUyAoZ29vZy5kYXRlKQogICAgICAgICAgICByZXR1cm4gJ1AwRCc7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gKHRvdGFsIDwgMCA/ICctJyA6ICcnKSArCiAgICAgICAgICAgICdQJyArCiAgICAgICAgICAgIChZID8gWSArICdZJyA6ICcnKSArCiAgICAgICAgICAgIChNID8gTSArICdNJyA6ICcnKSArCiAgICAgICAgICAgIChEID8gRCArICdEJyA6ICcnKSArCiAgICAgICAgICAgICgoaCB8fCBtIHx8IHMpID8gJ1QnIDogJycpICsKICAgICAgICAgICAgKGggPyBoICsgJ0gnIDogJycpICsKICAgICAgICAgICAgKG0gPyBtICsgJ00nIDogJycpICsKICAgICAgICAgICAgKHMgPyBzICsgJ1MnIDogJycpOwogICAgfQoKICAgIHZhciBkdXJhdGlvbl9wcm90b3R5cGVfX3Byb3RvID0gRHVyYXRpb24ucHJvdG90eXBlOwoKICAgIGR1cmF0aW9uX3Byb3RvdHlwZV9fcHJvdG8uYWJzICAgICAgICAgICAgPSBkdXJhdGlvbl9hYnNfX2FiczsKICAgIGR1cmF0aW9uX3Byb3RvdHlwZV9fcHJvdG8uYWRkICAgICAgICAgICAgPSBkdXJhdGlvbl9hZGRfc3VidHJhY3RfX2FkZDsKICAgIGR1cmF0aW9uX3Byb3RvdHlwZV9fcHJvdG8uc3VidHJhY3QgICAgICAgPSBkdXJhdGlvbl9hZGRfc3VidHJhY3RfX3N1YnRyYWN0OwogICAgZHVyYXRpb25fcHJvdG90eXBlX19wcm90by5hcyAgICAgICAgICAgICA9IGFzOwogICAgZHVyYXRpb25fcHJvdG90eXBlX19wcm90by5hc01pbGxpc2Vjb25kcyA9IGFzTWlsbGlzZWNvbmRzOwogICAgZHVyYXRpb25fcHJvdG90eXBlX19wcm90by5hc1NlY29uZHMgICAgICA9IGFzU2Vjb25kczsKICAgIGR1cmF0aW9uX3Byb3RvdHlwZV9fcHJvdG8uYXNNaW51dGVzICAgICAgPSBhc01pbnV0ZXM7CiAgICBkdXJhdGlvbl9wcm90b3R5cGVfX3Byb3RvLmFzSG91cnMgICAgICAgID0gYXNIb3VyczsKICAgIGR1cmF0aW9uX3Byb3RvdHlwZV9fcHJvdG8uYXNEYXlzICAgICAgICAgPSBhc0RheXM7CiAgICBkdXJhdGlvbl9wcm90b3R5cGVfX3Byb3RvLmFzV2Vla3MgICAgICAgID0gYXNXZWVrczsKICAgIGR1cmF0aW9uX3Byb3RvdHlwZV9fcHJvdG8uYXNNb250aHMgICAgICAgPSBhc01vbnRoczsKICAgIGR1cmF0aW9uX3Byb3RvdHlwZV9fcHJvdG8uYXNZZWFycyAgICAgICAgPSBhc1llYXJzOwogICAgZHVyYXRpb25fcHJvdG90eXBlX19wcm90by52YWx1ZU9mICAgICAgICA9IGR1cmF0aW9uX2FzX192YWx1ZU9mOwogICAgZHVyYXRpb25fcHJvdG90eXBlX19wcm90by5fYnViYmxlICAgICAgICA9IGJ1YmJsZTsKICAgIGR1cmF0aW9uX3Byb3RvdHlwZV9fcHJvdG8uZ2V0ICAgICAgICAgICAgPSBkdXJhdGlvbl9nZXRfX2dldDsKICAgIGR1cmF0aW9uX3Byb3RvdHlwZV9fcHJvdG8ubWlsbGlzZWNvbmRzICAgPSBtaWxsaXNlY29uZHM7CiAgICBkdXJhdGlvbl9wcm90b3R5cGVfX3Byb3RvLnNlY29uZHMgICAgICAgID0gc2Vjb25kczsKICAgIGR1cmF0aW9uX3Byb3RvdHlwZV9fcHJvdG8ubWludXRlcyAgICAgICAgPSBtaW51dGVzOwogICAgZHVyYXRpb25fcHJvdG90eXBlX19wcm90by5ob3VycyAgICAgICAgICA9IGhvdXJzOwogICAgZHVyYXRpb25fcHJvdG90eXBlX19wcm90by5kYXlzICAgICAgICAgICA9IGRheXM7CiAgICBkdXJhdGlvbl9wcm90b3R5cGVfX3Byb3RvLndlZWtzICAgICAgICAgID0gd2Vla3M7CiAgICBkdXJhdGlvbl9wcm90b3R5cGVfX3Byb3RvLm1vbnRocyAgICAgICAgID0gbW9udGhzOwogICAgZHVyYXRpb25fcHJvdG90eXBlX19wcm90by55ZWFycyAgICAgICAgICA9IHllYXJzOwogICAgZHVyYXRpb25fcHJvdG90eXBlX19wcm90by5odW1hbml6ZSAgICAgICA9IGh1bWFuaXplOwogICAgZHVyYXRpb25fcHJvdG90eXBlX19wcm90by50b0lTT1N0cmluZyAgICA9IGlzb19zdHJpbmdfX3RvSVNPU3RyaW5nOwogICAgZHVyYXRpb25fcHJvdG90eXBlX19wcm90by50b1N0cmluZyAgICAgICA9IGlzb19zdHJpbmdfX3RvSVNPU3RyaW5nOwogICAgZHVyYXRpb25fcHJvdG90eXBlX19wcm90by50b0pTT04gICAgICAgICA9IGlzb19zdHJpbmdfX3RvSVNPU3RyaW5nOwogICAgZHVyYXRpb25fcHJvdG90eXBlX19wcm90by5sb2NhbGUgICAgICAgICA9IGxvY2FsZTsKICAgIGR1cmF0aW9uX3Byb3RvdHlwZV9fcHJvdG8ubG9jYWxlRGF0YSAgICAgPSBsb2NhbGVEYXRhOwoKICAgIC8vIERlcHJlY2F0aW9ucwogICAgZHVyYXRpb25fcHJvdG90eXBlX19wcm90by50b0lzb1N0cmluZyA9IGRlcHJlY2F0ZSgndG9Jc29TdHJpbmcoKSBpcyBkZXByZWNhdGVkLiBQbGVhc2UgdXNlIHRvSVNPU3RyaW5nKCkgaW5zdGVhZCAobm90aWNlIHRoZSBjYXBpdGFscyknLCBpc29fc3RyaW5nX190b0lTT1N0cmluZyk7CiAgICBkdXJhdGlvbl9wcm90b3R5cGVfX3Byb3RvLmxhbmcgPSBsYW5nOwoKICAgIC8vIFNpZGUgZWZmZWN0IGltcG9ydHMKCiAgICBhZGRGb3JtYXRUb2tlbignWCcsIDAsIDAsICd1bml4Jyk7CiAgICBhZGRGb3JtYXRUb2tlbigneCcsIDAsIDAsICd2YWx1ZU9mJyk7CgogICAgLy8gUEFSU0lORwoKICAgIGFkZFJlZ2V4VG9rZW4oJ3gnLCBtYXRjaFNpZ25lZCk7CiAgICBhZGRSZWdleFRva2VuKCdYJywgbWF0Y2hUaW1lc3RhbXApOwogICAgYWRkUGFyc2VUb2tlbignWCcsIGZ1bmN0aW9uIChpbnB1dCwgYXJyYXksIGNvbmZpZykgewogICAgICAgIGNvbmZpZy5fZCA9IG5ldyBEYXRlKHBhcnNlRmxvYXQoaW5wdXQsIDEwKSAqIDEwMDApOwogICAgfSk7CiAgICBhZGRQYXJzZVRva2VuKCd4JywgZnVuY3Rpb24gKGlucHV0LCBhcnJheSwgY29uZmlnKSB7CiAgICAgICAgY29uZmlnLl9kID0gbmV3IERhdGUodG9JbnQoaW5wdXQpKTsKICAgIH0pOwoKICAgIC8vIFNpZGUgZWZmZWN0IGltcG9ydHMKCgogICAgdXRpbHNfaG9va3NfX2hvb2tzLnZlcnNpb24gPSAnMi4xMC42JzsKCiAgICBzZXRIb29rQ2FsbGJhY2sobG9jYWxfX2NyZWF0ZUxvY2FsKTsKCiAgICB1dGlsc19ob29rc19faG9va3MuZm4gICAgICAgICAgICAgICAgICAgID0gbW9tZW50UHJvdG90eXBlOwogICAgdXRpbHNfaG9va3NfX2hvb2tzLm1pbiAgICAgICAgICAgICAgICAgICA9IG1pbjsKICAgIHV0aWxzX2hvb2tzX19ob29rcy5tYXggICAgICAgICAgICAgICAgICAgPSBtYXg7CiAgICB1dGlsc19ob29rc19faG9va3MudXRjICAgICAgICAgICAgICAgICAgID0gY3JlYXRlX3V0Y19fY3JlYXRlVVRDOwogICAgdXRpbHNfaG9va3NfX2hvb2tzLnVuaXggICAgICAgICAgICAgICAgICA9IG1vbWVudF9fY3JlYXRlVW5peDsKICAgIHV0aWxzX2hvb2tzX19ob29rcy5tb250aHMgICAgICAgICAgICAgICAgPSBsaXN0c19fbGlzdE1vbnRoczsKICAgIHV0aWxzX2hvb2tzX19ob29rcy5pc0RhdGUgICAgICAgICAgICAgICAgPSBpc0RhdGU7CiAgICB1dGlsc19ob29rc19faG9va3MubG9jYWxlICAgICAgICAgICAgICAgID0gbG9jYWxlX2xvY2FsZXNfX2dldFNldEdsb2JhbExvY2FsZTsKICAgIHV0aWxzX2hvb2tzX19ob29rcy5pbnZhbGlkICAgICAgICAgICAgICAgPSB2YWxpZF9fY3JlYXRlSW52YWxpZDsKICAgIHV0aWxzX2hvb2tzX19ob29rcy5kdXJhdGlvbiAgICAgICAgICAgICAgPSBjcmVhdGVfX2NyZWF0ZUR1cmF0aW9uOwogICAgdXRpbHNfaG9va3NfX2hvb2tzLmlzTW9tZW50ICAgICAgICAgICAgICA9IGlzTW9tZW50OwogICAgdXRpbHNfaG9va3NfX2hvb2tzLndlZWtkYXlzICAgICAgICAgICAgICA9IGxpc3RzX19saXN0V2Vla2RheXM7CiAgICB1dGlsc19ob29rc19faG9va3MucGFyc2Vab25lICAgICAgICAgICAgID0gbW9tZW50X19jcmVhdGVJblpvbmU7CiAgICB1dGlsc19ob29rc19faG9va3MubG9jYWxlRGF0YSAgICAgICAgICAgID0gbG9jYWxlX2xvY2FsZXNfX2dldExvY2FsZTsKICAgIHV0aWxzX2hvb2tzX19ob29rcy5pc0R1cmF0aW9uICAgICAgICAgICAgPSBpc0R1cmF0aW9uOwogICAgdXRpbHNfaG9va3NfX2hvb2tzLm1vbnRoc1Nob3J0ICAgICAgICAgICA9IGxpc3RzX19saXN0TW9udGhzU2hvcnQ7CiAgICB1dGlsc19ob29rc19faG9va3Mud2Vla2RheXNNaW4gICAgICAgICAgID0gbGlzdHNfX2xpc3RXZWVrZGF5c01pbjsKICAgIHV0aWxzX2hvb2tzX19ob29rcy5kZWZpbmVMb2NhbGUgICAgICAgICAgPSBkZWZpbmVMb2NhbGU7CiAgICB1dGlsc19ob29rc19faG9va3Mud2Vla2RheXNTaG9ydCAgICAgICAgID0gbGlzdHNfX2xpc3RXZWVrZGF5c1Nob3J0OwogICAgdXRpbHNfaG9va3NfX2hvb2tzLm5vcm1hbGl6ZVVuaXRzICAgICAgICA9IG5vcm1hbGl6ZVVuaXRzOwogICAgdXRpbHNfaG9va3NfX2hvb2tzLnJlbGF0aXZlVGltZVRocmVzaG9sZCA9IGR1cmF0aW9uX2h1bWFuaXplX19nZXRTZXRSZWxhdGl2ZVRpbWVUaHJlc2hvbGQ7CgogICAgdmFyIF9tb21lbnQgPSB1dGlsc19ob29rc19faG9va3M7CgogICAgcmV0dXJuIF9tb21lbnQ7Cgp9KSk7"}},"time_used":10,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6,"receive":4,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/medium-widget-creator.acae84f4101b42f4c83a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.210Z","timestamp":1785120634210,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/medium-widget-creator.acae84f4101b42f4c83a.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-14e99\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:32:38\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: eb3ceba0df3b3732fec3f8d28872f130\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":85657,"size_decoded":30128,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3069)","md5":"1a3a6f6b5fa3ac49d3041777a05c4d00","sha1":"6f36185ce7c4b46b18a1f3b45ec078597274cbdf","sha256":"c00212402d63e94e4830a5474e400df48f4a3bd64e9753c9b61e8d63494d3067","sha512":"d6ab69c42e887e2c1755b516f7e3f38ce8f0bc550183c89122629fa03d625fb7350915ad17dc76cf16b594d0ea6b11815147544ea86c3a6e022ed350cdd2f7da","ssdeep":"1536:5U5XkOpmRp94W21iPgAmNy+PztsX+Sqy2QxvGg:5bOQRp94W5POy+Pztsufpg","tlshash":"08832954f092707252e382ee94771003e73a5a89b8494669f67c9cde6b9dc0db231f7c","first_seen":"2026-07-24T23:32:32.528697Z","last_seen":"2026-07-27T06:01:16.171841Z","times_seen":21,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szMjEwMCw4OTQ2N10sezM5MTgwNyhlKXtlLmV4cG9ydHM9e2xhYmVsOiJsYWJlbC11eklHSTIxQSIsc3RhcnQ6InN0YXJ0LXV6SUdJMjFBIn19LDQ3MDY3OShlKXtlLmV4cG9ydHM9e3ZhbHVlc0luTGVnZW5kQ29udGFpbmVyOiJ2YWx1ZXNJbkxlZ2VuZENvbnRhaW5lci1UdjYzcU83aSIscXVvdGVUaWNrZXJDb250YWluZXI6InF1b3RlVGlja2VyQ29udGFpbmVyLVR2NjNxTzdpIix2YWx1ZXNJbkxlZ2VuZENvbnRhaW5lcl9zaG93OiJ2YWx1ZXNJbkxlZ2VuZENvbnRhaW5lcl9zaG93LVR2NjNxTzdpIixxdW90ZVRpY2tlckNvbnRhaW5lcl9zaG93OiJxdW90ZVRpY2tlckNvbnRhaW5lcl9zaG93LVR2NjNxTzdpIixnb1RvVHZMaW5rOiJnb1RvVHZMaW5rLVR2NjNxTzdpIn19LDM0ODg0OShlKXtlLmV4cG9ydHM9e3NxdWFyZVRhYkJ1dHRvbjoic3F1YXJlVGFiQnV0dG9uLVJLS1RSaFo2IixzZWxlY3RlZDoic2VsZWN0ZWQtUktLVFJoWjYiLGRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlczoiZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLVJLS1RSaFo2IixkaXNhYmxlZDoiZGlzYWJsZWQtUktLVFJoWjYiLGRpc2FibGVGb2N1c091dGxpbmU6ImRpc2FibGVGb2N1c091dGxpbmUtUktLVFJoWjYiLHhsYXJnZToieGxhcmdlLVJLS1RSaFo2Iix0YWJIaWRkZW5Db250ZW50OiJ0YWJIaWRkZW5Db250ZW50LVJLS1RSaFo2IixtZWRpdW06Im1lZGl1bS1SS0tUUmhaNiIsc21hbGw6InNtYWxsLVJLS1RSaFo2Iix4c21hbGw6InhzbWFsbC1SS0tUUmhaNiIsbWVkaXVtV2l0aFNtYWxsRm9udDoibWVkaXVtV2l0aFNtYWxsRm9udC1SS0tUUmhaNiIsZmFrZToiZmFrZS1SS0tUUmhaNiIsdmVydGljYWxUYWJzV3JhcHBlcjoidmVydGljYWxUYWJzV3JhcHBlci1SS0tUUmhaNiIsdmVydGljYWxCdXR0b246InZlcnRpY2FsQnV0dG9uLVJLS1RSaFo2Iixjb250ZW50OiJjb250ZW50LVJLS1RSaFo2Iix0YWJDb250ZW50OiJ0YWJDb250ZW50LVJLS1RSaFo2IixlbmRTbG90SW5EaXNjbG9zdXJlOiJlbmRTbG90SW5EaXNjbG9zdXJlLVJLS1RSaFo2In19LDEzNTI4NyhlKXtlLmV4cG9ydHM9e3Njcm9sbFdyYXA6InNjcm9sbFdyYXAtRmFWMGJLN2UiLG92ZXJmbG93U2Nyb2xsOiJvdmVyZmxvd1Njcm9sbC1GYVYwYks3ZSIsc3F1YXJlVGFiczoic3F1YXJlVGFicy1GYVYwYks3ZSIsb3ZlcmZsb3dXcmFwOiJvdmVyZmxvd1dyYXAtRmFWMGJLN2UiLGNvbnRlbnQ6ImNvbnRlbnQtRmFWMGJLN2UiLHZlcnRpY2FsQ29udGVudDoidmVydGljYWxDb250ZW50LUZhVjBiSzdlIix2ZXJ0aWNhbDoidmVydGljYWwtRmFWMGJLN2UiLHhzbWFsbDoieHNtYWxsLUZhVjBiSzdlIixzcXVhcmVUYWJCdXR0b246InNxdWFyZVRhYkJ1dHRvbi1GYVYwYks3ZSIsc3RhcnRTbG90V3JhcDoic3RhcnRTbG90V3JhcC1GYVYwYks3ZSIsZW5kU2xvdFdyYXA6ImVuZFNsb3RXcmFwLUZhVjBiSzdlIixlbmRVcHBlclNsb3Q6ImVuZFVwcGVyU2xvdC1GYVYwYks3ZSIsc3RhcnRTbG90V3JhcEljb25Pbmx5OiJzdGFydFNsb3RXcmFwSWNvbk9ubHktRmFWMGJLN2UiLHNtYWxsOiJzbWFsbC1GYVYwYks3ZSIsbWVkaXVtOiJtZWRpdW0tRmFWMGJLN2UiLG1lZGl1bVdpdGhTbWFsbEZvbnQ6Im1lZGl1bVdpdGhTbWFsbEZvbnQtRmFWMGJLN2UiLHhsYXJnZToieGxhcmdlLUZhVjBiSzdlIixzcXVhcmVUYWJDb3VudGVyOiJzcXVhcmVUYWJDb3VudGVyLUZhVjBiSzdlIn19LDg1NDQ1KGUpe2UuZXhwb3J0cz17cGlsbHM6InBpbGxzLUllUXdQamNaIixwcmltYXJ5OiJwcmltYXJ5LUllUXdQamNaIixncmF5OiJncmF5LUllUXdQamNaIixzZWxlY3RlZDoic2VsZWN0ZWQtSWVRd1BqY1oiLGdyb3VwZWQ6Imdyb3VwZWQtSWVRd1BqY1oiLGFjdGl2ZToiYWN0aXZlLUllUXdQamNaIixkaXNhYmxlQWN0aXZlT25Ub3VjaDoiZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1oiLGRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlczoiZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaIix3aXRoR3JvdXBlZDoid2l0aEdyb3VwZWQtSWVRd1BqY1oiLCJxdWlldC1wcmltYXJ5IjoicXVpZXQtcHJpbWFyeS1JZVF3UGpjWiIsZ3JlZW46ImdyZWVuLUllUXdQamNaIixyZWQ6InJlZC1JZVF3UGpjWiIsYmx1ZToiYmx1ZS1JZVF3UGpjWiIsc2Vjb25kYXJ5OiJzZWNvbmRhcnktSWVRd1BqY1oiLGdob3N0OiJnaG9zdC1JZVF3UGpjWiJ9fSwzNjQ4MTUoZSl7ZS5leHBvcnRzPXtsaWdodEJ1dHRvbjoibGlnaHRCdXR0b24ta2pSZlRsZngiLGxpbms6Imxpbmsta2pSZlRsZngiLGx0cjoibHRyLWtqUmZUbGZ4IixydGw6InJ0bC1ralJmVGxmeCIsInR5cG9ncmFwaHktcmVndWxhcjE2cHgiOiJ0eXBvZ3JhcGh5LXJlZ3VsYXIxNnB4LWtqUmZUbGZ4IiwidHlwb2dyYXBoeS1tZWRpdW0xNnB4IjoidHlwb2dyYXBoeS1tZWRpdW0xNnB4LWtqUmZUbGZ4IiwidHlwb2dyYXBoeS1yZWd1bGFyMTRweCI6InR5cG9ncmFwaHktcmVndWxhcjE0cHgta2pSZlRsZngiLCJ0eXBvZ3JhcGh5LXNlbWlib2xkMTRweCI6InR5cG9ncmFwaHktc2VtaWJvbGQxNHB4LWtqUmZUbGZ4IiwidHlwb2dyYXBoeS1zZW1pYm9sZDE2cHgiOiJ0eXBvZ3JhcGh5LXNlbWlib2xkMTZweC1ralJmVGxmeCIsY29udGVudDoiY29udGVudC1ralJmVGxmeCIsdmlzdWFsbHlIaWRkZW46InZpc3VhbGx5SGlkZGVuLWtqUmZUbGZ4Iixub3dyYXA6Im5vd3JhcC1ralJmVGxmeCIsZWxsaXBzaXNDb250YWluZXI6ImVsbGlwc2lzQ29udGFpbmVyLWtqUmZUbGZ4Iix0ZXh0V3JhcENvbnRhaW5lcjoidGV4dFdyYXBDb250YWluZXIta2pSZlRsZngiLHRleHRXcmFwV2l0aEVsbGlwc2lzOiJ0ZXh0V3JhcFdpdGhFbGxpcHNpcy1ralJmVGxmeCIsc2xvdDoic2xvdC1ralJmVGxmeCIsY2FyZXQ6ImNhcmV0LWtqUmZUbGZ4IixhY3RpdmVDYXJldDoiYWN0aXZlQ2FyZXQta2pSZlRsZngiLHhzbWFsbDoieHNtYWxsLWtqUmZUbGZ4Iix3aXRoU3RhcnRTbG90OiJ3aXRoU3RhcnRTbG90LWtqUmZUbGZ4IiwKd2l0aEVuZFNsb3Q6IndpdGhFbmRTbG90LWtqUmZUbGZ4Iixub0NvbnRlbnQ6Im5vQ29udGVudC1ralJmVGxmeCIsd3JhcDoid3JhcC1ralJmVGxmeCIsc21hbGw6InNtYWxsLWtqUmZUbGZ4IixtZWRpdW06Im1lZGl1bS1ralJmVGxmeCJ9fSwyMDU2OChlKXtlLmV4cG9ydHM9e3NxdWFyZVRhYkJ1dHRvbjoic3F1YXJlVGFiQnV0dG9uLWFUM05za3NzIixzZWxlY3RlZDoic2VsZWN0ZWQtYVQzTnNrc3MiLGRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlczoiZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLWFUM05za3NzIix4c21hbGw6InhzbWFsbC1hVDNOc2tzcyJ9fSwxNTM2MjYoZSl7ZS5leHBvcnRzPXtjb250YWluZXI6ImNvbnRhaW5lci1WVjZWV0VTUiJ9fSw4MDMzNDkoZSl7ZS5leHBvcnRzPXtvcHRpb25zOiJvcHRpb25zLWJDS2U3bjA3IixvcHRpb246Im9wdGlvbi1iQ0tlN24wNyJ9fSwyMTIyNzUoZSl7ZS5leHBvcnRzPXsic3RhdHVzLWhlaWdodCI6IjI4cHgifX0sNTIyNTc4KGUpe2UuZXhwb3J0cz17fX0sOTMyMzY1KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1RWTG9jYWxTdG9yYWdlOigpPT5yfSk7Y29uc3Qgbz0oMCxzKDIyMTA2MSkuZ2V0TG9nZ2VyKSgiVFZMb2NhbFN0b3JhZ2UiKTt2YXIgaT1mdW5jdGlvbigpe3RyeXt0aGlzLmlzQXZhaWxhYmxlPSEwLHRoaXMubG9jYWxTdG9yYWdlPXdpbmRvdy5sb2NhbFN0b3JhZ2UsdGhpcy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbSgidHZsb2NhbHN0b3JhZ2UuYXZhaWxhYmxlIiwidHJ1ZSIpfWNhdGNoKGUpe2RlbGV0ZSB0aGlzLmlzQXZhaWxhYmxlLGRlbGV0ZSB0aGlzLmxvY2FsU3RvcmFnZX10aGlzLl91cGRhdGVMZW5ndGgoKTt0cnl7dGhpcy5fcmVwb3J0KCl9Y2F0Y2goZSl7fX07aS5wcm90b3R5cGUuX3JlcG9ydD1mdW5jdGlvbigpe2lmKHRoaXMuaXNBdmFpbGFibGUpe2NvbnN0IGU9MTAsdD1bXTtmb3IobGV0IGU9MDtlPHRoaXMubG9jYWxTdG9yYWdlLmxlbmd0aDtlKyspe2NvbnN0IHM9dGhpcy5rZXkoZSk7dC5wdXNoKHtrZXk6cyxsZW5ndGg6U3RyaW5nKHRoaXMuZ2V0SXRlbShzKSkubGVuZ3RofSl9dC5zb3J0KCgoZSx0KT0+dC5sZW5ndGgtZS5sZW5ndGgpKTtjb25zdCBzPXQuc2xpY2UoMCxlKTt0LnNvcnQoKChlLHQpPT50LmtleS5sZW5ndGgtZS5rZXkubGVuZ3RoKSk7Y29uc3QgaT10LnNsaWNlKDAsZSk7by5sb2dOb3JtYWwoYFRvdGFsIGFtb3VudCBvZiBrZXlzIGluIExvY2FsIFN0b3JhZ2U6ICR7dGhpcy5sZW5ndGh9YCksby5sb2dOb3JtYWwoYFRvcCAke2V9IGtleXMgd2l0aCBsb25nZXN0IHZhbHVlczogJHtKU09OLnN0cmluZ2lmeShzKX1gKSxvLmxvZ05vcm1hbChgVG9wICR7ZX0gbG9uZ2VzdCBrZXkgbmFtZXM6ICR7SlNPTi5zdHJpbmdpZnkoaSl9YCk7dHJ5e25hdmlnYXRvci5zdG9yYWdlLmVzdGltYXRlKCkudGhlbigoZT0+e28ubG9nTm9ybWFsKGBTdG9yYWdlIGVzdGltYXRlOiAke0pTT04uc3RyaW5naWZ5KGUpfWApfSkpfWNhdGNoKGUpe319fSxpLnByb3RvdHlwZS5sZW5ndGg9MCxpLnByb3RvdHlwZS5pc0F2YWlsYWJsZT0hMSxpLnByb3RvdHlwZS5sb2NhbFN0b3JhZ2U9eyJ0dmxvY2Fsc3RvcmFnZS5hdmFpbGFibGUiOiJmYWxzZSJ9LGkucHJvdG90eXBlLl91cGRhdGVMZW5ndGg9ZnVuY3Rpb24oKXtpZih0aGlzLmlzQXZhaWxhYmxlKXRoaXMubGVuZ3RoPXRoaXMubG9jYWxTdG9yYWdlLmxlbmd0aDtlbHNle3ZhciBlLHQ9MDtmb3IoZSBpbiB0aGlzLmxvY2FsU3RvcmFnZSl0aGlzLmxvY2FsU3RvcmFnZS5oYXNPd25Qcm9wZXJ0eShlKSYmdCsrO3RoaXMubGVuZ3RoPXR9fSxpLnByb3RvdHlwZS5rZXk9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuaXNBdmFpbGFibGU/dGhpcy5sb2NhbFN0b3JhZ2Uua2V5KGUpOk9iamVjdC5rZXlzKHRoaXMubG9jYWxTdG9yYWdlKVtlXX0saS5wcm90b3R5cGUuZ2V0SXRlbT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5pc0F2YWlsYWJsZT90aGlzLmxvY2FsU3RvcmFnZS5nZXRJdGVtKGUpOnZvaWQgMD09PXRoaXMubG9jYWxTdG9yYWdlW2VdP251bGw6dGhpcy5sb2NhbFN0b3JhZ2VbZV19LGkucHJvdG90eXBlLnNldEl0ZW09ZnVuY3Rpb24oZSx0KXt0aGlzLmlzQXZhaWxhYmxlP3RoaXMubG9jYWxTdG9yYWdlLnNldEl0ZW0oZSx0KTp0aGlzLmxvY2FsU3RvcmFnZVtlXT10LHRoaXMuX3VwZGF0ZUxlbmd0aCgpfSxpLnByb3RvdHlwZS5yZW1vdmVJdGVtPWZ1bmN0aW9uKGUpe3RoaXMuaXNBdmFpbGFibGU/dGhpcy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShlKTpkZWxldGUgdGhpcy5sb2NhbFN0b3JhZ2VbZV0sdGhpcy5fdXBkYXRlTGVuZ3RoKCl9LGkucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5pc0F2YWlsYWJsZT90aGlzLmxvY2FsU3RvcmFnZS5jbGVhcigpOnRoaXMubG9jYWxTdG9yYWdlPXt9LHRoaXMuX3VwZGF0ZUxlbmd0aCgpfTtjb25zdCByPW5ldyBpO3dpbmRvdy5UVkxvY2FsU3RvcmFnZT1yfSw3MDA4MDkoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7REVDRU1CRVI6KCk9Pl8sRklSU1RfREFZX09GX1dFRUs6KCk9Pm0sRlJJREFZOigpPT5oLEpBTlVBUlk6KCk9PmcsTEFTVF9EQVlfT0ZfV0VFSzooKT0+cCxNT05EQVk6KCk9PmEsU0FUVVJEQVk6KCk9PmQsU1VOREFZOigpPT5uLFRIVVJTREFZOigpPT51LFRVRVNEQVk6KCk9PmwsV0VETkVTREFZOigpPT5jLGFkZF9kYXRlOigpPT5FLGFkZF9taW51dGVzOigpPT5NLGNhbF90b191dGM6KCk9PlcsY2xvbmU6KCk9PkQsZGF5c19wZXJfeWVhcjooKT0+UixnZXRfY2FsOigpPT5CLGdldF9jYWxfZnJvbV91bml4X3RpbWVzdGFtcF9tczooKT0+VixnZXRfY2FsX3V0YzooKT0+VSxnZXRfZGF5X29mX21vbnRoOigpPT53LGdldF9kYXlfb2Zfd2VlazooKT0+VCxnZXRfZGF5X29mX3llYXI6KCk9PngsZ2V0X21pbnV0ZXNfZnJvbV9taWRuaWdodDooKT0+ayxnZXRfbWludXRlc193aXRoX2hvdXJzOigpPT5OLGdldF9tb250aDooKT0+UyxnZXRfdGltZXpvbmU6KCk9PnEsZ2V0X3llYXI6KCk9PmIsaXNfbGVhcF95ZWFyOigpPT5JLG1pbnV0ZXNQZXJEYXk6KCk9PnksbWludXRlc1BlcldlZWs6KCk9PmYsCnNldF9obXM6KCk9Pkwsc2V0X3NlY29uZHM6KCk9PlAsdGltZV9zZWNvbmRzOigpPT5BLHRpbWVfc2Vjb25kc19kaWZmOigpPT5PLHV0Y190b19jYWw6KCk9PkZ9KTt2YXIgbz1zKDcxMjE4MSk7Y29uc3QgaT17MDowLDE6MzEsMjo1OSwzOjkwLDQ6MTIwLDU6MTUxLDY6MTgxLDc6MjEyLDg6MjQzLDk6MjczLDEwOjMwNCwxMTozMzR9O2NsYXNzIHJ7Y29uc3RydWN0b3IoZSl7dGhpcy5faW52YWxpZD0hMSx0aGlzLl9uYW1lPWU7bGV0IHQ9by50ekRhdGE/LltlXT8/bnVsbDshdCYmSCYmKHQ9SC5pbnN0YW5jZSgpLmdldFRpbWV6b25lRGF0YShlKSksdHx8KHQ9e3RpbWU6W10sb2Zmc2V0OltdfSx0aGlzLl9pbnZhbGlkPSEwKSx0LnRpbWUubGVuZ3RoIT09dC5vZmZzZXQubGVuZ3RoJiYodD17dGltZTpbXSxvZmZzZXQ6W119LHRoaXMuX2ludmFsaWQ9ITApO2NvbnN0IHM9dDtpZighcy50aW1lX3V0Yyl7Y29uc3QgZT10LnRpbWUsbz10Lm9mZnNldCxpPWUubGVuZ3RoLHI9bmV3IEFycmF5KGkpO2ZvcihsZXQgdD0wO3Q8aTt0KyspZVt0XSo9MWUzLG9bdF0qPTFlMyxyW3RdPWVbdF0tb1t0XTtzLnRpbWVfdXRjPXJ9dGhpcy50ej1zfW9mZnNldF91dGMoZSl7cmV0dXJuIHIub2Zmc2V0KHRoaXMudHoudGltZV91dGMsdGhpcy50ei5vZmZzZXQsZSl9b2Zmc2V0X2xvYyhlKXtyZXR1cm4gci5vZmZzZXQodGhpcy50ei50aW1lLHRoaXMudHoub2Zmc2V0LGUpfW5hbWUoKXtyZXR1cm4gdGhpcy5fbmFtZX1pc192YWxpZCgpe3JldHVybiF0aGlzLl9pbnZhbGlkfWNvcnJlY3Rpb25fbG9jKGUpe2NvbnN0IHQ9dGhpcy50ei50aW1lLHM9dGhpcy50ei5vZmZzZXQsbz16KHQsZSk7aWYobzwxKXJldHVybiAwO2NvbnN0IGk9c1tvXS1zW28tMV07aWYoaT4wKXtpZihlLXRbby0xXTw9aSlyZXR1cm4gaX1yZXR1cm4gMH1zdGF0aWMgb2Zmc2V0KGUsdCxzKXtjb25zdCBvPXooZSxzKTtyZXR1cm4tMT09PW8/MDp0W29dfX1jb25zdCBuPTEsYT0yLGw9MyxjPTQsdT01LGg9NixkPTcsbT1uLHA9ZCxnPTAsXz0xMSx5PTE0NDAsZj0xMDA4MDtmdW5jdGlvbiBiKGUpe3JldHVybiBlLmdldFVUQ0Z1bGxZZWFyKCl9ZnVuY3Rpb24gUyhlKXtyZXR1cm4gZS5nZXRVVENNb250aCgpfWZ1bmN0aW9uIHYoZSl7cmV0dXJuIGUuZ2V0VVRDSG91cnMoKX1mdW5jdGlvbiBDKGUpe3JldHVybiBlLmdldFVUQ01pbnV0ZXMoKX1mdW5jdGlvbiB3KGUpe3JldHVybiBlLmdldFVUQ0RhdGUoKX1mdW5jdGlvbiBUKGUpe3JldHVybiBlLmdldFVUQ0RheSgpKzF9ZnVuY3Rpb24geChlKXtjb25zdCB0PWUuZ2V0VVRDTW9udGgoKTtsZXQgcz1pW3RdO3JldHVybiB0PmcrMSYmSShlLmdldFVUQ0Z1bGxZZWFyKCkpJiYocys9MSkscytlLmdldFVUQ0RhdGUoKX1mdW5jdGlvbiBrKGUpe3JldHVybiA2MCp2KGUpK0MoZSl9ZnVuY3Rpb24gTihlKXtyZXR1cm4gayhlKX1mdW5jdGlvbiBMKGUsdCxzLG8saSxyKXtlLnNldFVUQ0hvdXJzKHQpLGUuc2V0VVRDTWludXRlcyhzKSxlLnNldFVUQ1NlY29uZHMobyksZS5zZXRVVENNaWxsaXNlY29uZHMoaSksdm9pZCAwIT09ciYmZnVuY3Rpb24oZSx0KXtjb25zdCBzPWUuZ2V0VGltZSgpLG89dC5jb3JyZWN0aW9uX2xvYyhzKTtlLnNldFRpbWUocytvKX0oZSxyKX1mdW5jdGlvbiBFKGUsdCl7ZS5zZXRUaW1lKGUuZ2V0VGltZSgpKzg2NGU1KnQpfWZ1bmN0aW9uIE0oZSx0KXtlLnNldFRpbWUoZS5nZXRUaW1lKCkrNjAqdCoxZTMpfWZ1bmN0aW9uIFAoZSx0KXtjb25zdCBzPTg2NDAwLG89dCVzPDA/LTE6MCxpPU1hdGgudHJ1bmModC9zKStvLHI9dC1pKnMsbj1NYXRoLnRydW5jKHIvMzYwMCksYT1NYXRoLnRydW5jKHIlMzYwMC82MCk7TChlLG4sYSxyLTM2MDAqbi02MCphLDApLEUoZSxpKX1mdW5jdGlvbiBEKGUpe3JldHVybiBuZXcgRGF0ZShlLmdldFRpbWUoKSl9ZnVuY3Rpb24gUihlKXtyZXR1cm4gSShlKT8zNjY6MzY1fWZ1bmN0aW9uIEkoZSl7cmV0dXJuIGUlND09MCYmKGUlMTAwIT0wfHxlJTQwMD09MCl9ZnVuY3Rpb24gQShlKXtyZXR1cm4gMWUzKmV9ZnVuY3Rpb24gTyhlLHQpe3JldHVybiBRKGUpLVEodCl9ZnVuY3Rpb24gRihlLHQpe3JldHVybiBuZXcgRGF0ZShmdW5jdGlvbihlLHQpe2NvbnN0IHM9ZS5vZmZzZXRfdXRjKHQpO3JldHVybiB0K3N9KGUsdCkpfWZ1bmN0aW9uIEIoZSx0LHMsbyxpLHIsbil7Y29uc3QgYT1uZXcgRGF0ZShEYXRlLlVUQyh0LHMsbyxpfHwwLHJ8fDAsbnx8MCkpLGw9ZS5vZmZzZXRfdXRjKCthKTtyZXR1cm4gbmV3IERhdGUoYS52YWx1ZU9mKCktbCl9ZnVuY3Rpb24gVihlLHQpe3JldHVybiBuZXcgRGF0ZSh0K2Uub2Zmc2V0X3V0Yyh0KSl9ZnVuY3Rpb24gVShlLHQscyxvPTAsaT0wLHI9MCl7cmV0dXJuIG5ldyBEYXRlKERhdGUuVVRDKGUsdCxzLG8saSxyKSl9ZnVuY3Rpb24gVyhlLHQscyl7bGV0IG89dC5nZXRUaW1lKCk7cyYmKG8rPWUuY29ycmVjdGlvbl9sb2MobykpO3JldHVybiBvLWUub2Zmc2V0X2xvYyhvKX1mdW5jdGlvbiBxKGUpe3JldHVybiBuZXcgcihlKX1sZXQgSDtmdW5jdGlvbiB6KGUsdCl7Y29uc3Qgcz1lLmxlbmd0aDtpZigwPT09cylyZXR1cm4tMTtpZihpc05hTih0KSl0aHJvdyBFcnJvcigiS2V5IGlzIE5hTiIpO2xldCBvPTAsaT1zLTEscj1qKChvK2kpLzIpO2Zvcig7Oyl7aWYoZVtyXT50KXtpZihpPXItMSxpPG8pcmV0dXJuIHJ9ZWxzZSBpZihvPXIrMSxpPG8pcmV0dXJuIHI8cy0xP3IrMTotMTtyPWooKG8raSkvMil9fWZ1bmN0aW9uIGooZSl7cmV0dXJuIE1hdGgudHJ1bmMoZSl9ZnVuY3Rpb24gUShlKXtyZXR1cm4gZTwwP2ooZS8xZTMpLShlJTFlMyE9MD8xOjApOmooZS8xZTMpfX0sMTM0NjcoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7bm9ybWFsaXplQWxwaGFDb21wb25lbnQ6KCk9PnUscGFyc2VSZ2I6KCk9PlQscGFyc2VSZ2JhOigpPT5rLHJnYlRvQmxhY2tXaGl0ZVN0cmluZzooKT0+dyxyZ2JUb1N0cmluZzooKT0+ZixyZ2JhOigpPT5oLHJnYmFUb1N0cmluZzooKT0+Qyx0cnlQYXJzZVJnYmE6KCk9Pnh9KTt2YXIgbz1zKDYwMTg0MSksaT1zKDgzMDc4Myk7ZnVuY3Rpb24gcihlLHQscyl7cmV0dXJuKDAsCm8uaXNOYU4pKHQpfHx0PGU/ZTp0PnM/czpNYXRoLnJvdW5kKHQpfWZ1bmN0aW9uIG4oZSx0LHMpe3JldHVybigwLG8uaXNOYU4pKHQpfHx0PGU/ZTp0PnM/czpNYXRoLnJvdW5kKDFlNCp0KS8xZTR9ZnVuY3Rpb24gYShlKXtyZXR1cm4gcigwLGUsMjU1KX1mdW5jdGlvbiBsKGUpe3JldHVybiByKDAsZSwyNTUpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIHIoMCxlLDI1NSl9ZnVuY3Rpb24gdShlKXtyZXR1cm4gbigwLGUsMSl9ZnVuY3Rpb24gaChlLHQscyxvKXtpZihBcnJheS5pc0FycmF5KGUpKXtjb25zdCBzPWU7cmV0dXJuIG89dCxbc1swXSxzWzFdLHNbMl0sdShvKV19e2NvbnN0IGk9dDtyZXR1cm4gcz1zfHwwLG89b3x8MCxbYShlKSxsKGkpLGMocyksdShvKV19fWNvbnN0IGQ9Wy4xOTksLjY4NywuMTE0XTt2YXIgbSxwLGcsXztmdW5jdGlvbiB5KGUpe2NvbnN0IHQ9bS5yZS5leGVjKGUpO3JldHVybiBudWxsIT09dD9tLnBhcnNlKHQpOm51bGx9ZnVuY3Rpb24gZihlKXtjb25zdFt0LHMsb109ZTtyZXR1cm5gcmdiKCR7dH0sICR7c30sICR7b30pYH1mdW5jdGlvbiBiKGUpe2NvbnN0IHQ9cC5yZS5leGVjKGUpO3JldHVybiBudWxsIT09dD9wLnBhcnNlKHQpOm51bGx9ZnVuY3Rpb24gUyhlKXtjb25zdCB0PWcucmUuZXhlYyhlKTtyZXR1cm4gbnVsbCE9PXQ/Zy5wYXJzZSh0KTpudWxsfWZ1bmN0aW9uIHYoZSl7Y29uc3QgdD1fLnJlLmV4ZWMoZSk7cmV0dXJuIG51bGwhPT10P18ucGFyc2UodCk6bnVsbH1mdW5jdGlvbiBDKGUpe2NvbnN0W3QscyxvLGldPWU7cmV0dXJuYHJnYmEoJHt0fSwgJHtzfSwgJHtvfSwgJHtpfSlgfWZ1bmN0aW9uIHcoZSx0KXtpZih0PDB8fHQ+MjU1KXRocm93IG5ldyBFcnJvcigiaW52YWxpZCB0aHJlc2hvbGQgdmFsdWUsIHZhbGlkIHZhbHVlcyBhcmUgWzAsIDI1NV0iKTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIGRbMF0qZVswXStkWzFdKmVbMV0rZFsyXSplWzJdfShlKT49dD8id2hpdGUiOiJibGFjayJ9ZnVuY3Rpb24gVChlKXtjb25zdCB0PWZ1bmN0aW9uKGUpe2U9ZS50b0xvd2VyQ2FzZSgpO2NvbnN0IHQ9KDAsaS50cnlQYXJzZU5hbWVkUmdiYSkoZSk7aWYobnVsbCE9PXQpe2NvbnN0W2UscyxvXT10O3JldHVybltlLHMsb119Y29uc3Qgcz15KGUpO2lmKG51bGwhPT1zKXJldHVybiBzO2NvbnN0IG89YihlKTtpZihudWxsIT09bylyZXR1cm4gbztjb25zdCByPVMoZSk7aWYobnVsbCE9PXIpcmV0dXJuIHI7Y29uc3Qgbj12KGUpO2lmKG51bGwhPT1uKXtjb25zdFtlLHQsc109bjtyZXR1cm5bZSx0LHNdfXJldHVybiBudWxsfShlKTtpZihudWxsIT09dClyZXR1cm4gdDt0aHJvdyBuZXcgRXJyb3IoIlBhc3NlZCBjb2xvciBzdHJpbmcgZG9lcyBub3QgbWF0Y2ggYW55IG9mIHRoZSBrbm93biBjb2xvciByZXByZXNlbnRhdGlvbnMiKX1mdW5jdGlvbiB4KGUpe2U9ZS50b0xvd2VyQ2FzZSgpO2NvbnN0IHQ9KDAsaS50cnlQYXJzZU5hbWVkUmdiYSkoZSk7aWYobnVsbCE9PXQpcmV0dXJuIHQ7Y29uc3Qgcz15KGUpO2lmKG51bGwhPT1zKXtjb25zdFtlLHQsb109cztyZXR1cm5bZSx0LG8sMV19Y29uc3Qgbz1iKGUpO2lmKG51bGwhPT1vKXtjb25zdFtlLHQsc109bztyZXR1cm5bZSx0LHMsMV19Y29uc3Qgcj1TKGUpO2lmKG51bGwhPT1yKXtjb25zdFtlLHQsc109cjtyZXR1cm5bZSx0LHMsMV19Y29uc3Qgbj12KGUpO3JldHVybiBudWxsIT09bj9uOm51bGx9ZnVuY3Rpb24gayhlKXtjb25zdCB0PXgoZSk7aWYobnVsbCE9PXQpcmV0dXJuIHQ7dGhyb3cgbmV3IEVycm9yKCJQYXNzZWQgY29sb3Igc3RyaW5nIGRvZXMgbm90IG1hdGNoIGFueSBvZiB0aGUga25vd24gY29sb3IgcmVwcmVzZW50YXRpb25zIil9IWZ1bmN0aW9uKGUpe2UucmU9L15yZ2JcKFxzKigtP1xkezEsMTB9KVxzKixccyooLT9cZHsxLDEwfSlccyosXHMqKC0/XGR7MSwxMH0pXHMqXCkkLyxlLnBhcnNlPWZ1bmN0aW9uKGUpe3JldHVyblthKHBhcnNlSW50KGVbMV0sMTApKSxsKHBhcnNlSW50KGVbMl0sMTApKSxjKHBhcnNlSW50KGVbM10sMTApKV19fShtfHwobT17fSkpLGZ1bmN0aW9uKGUpe2UucmU9L14jKFswLTlhLWZBLUZdezJ9KShbMC05YS1mQS1GXXsyfSkoWzAtOWEtZkEtRl17Mn0pJC8sZS5wYXJzZT1mdW5jdGlvbihlKXtyZXR1cm5bYShwYXJzZUludChlWzFdLDE2KSksbChwYXJzZUludChlWzJdLDE2KSksYyhwYXJzZUludChlWzNdLDE2KSldfX0ocHx8KHA9e30pKSxmdW5jdGlvbihlKXtlLnJlPS9eIyhbMC05YS1mQS1GXSkoWzAtOWEtZkEtRl0pKFswLTlhLWZBLUZdKSQvLGUucGFyc2U9ZnVuY3Rpb24oZSl7cmV0dXJuW2EocGFyc2VJbnQoZVsxXStlWzFdLDE2KSksbChwYXJzZUludChlWzJdK2VbMl0sMTYpKSxjKHBhcnNlSW50KGVbM10rZVszXSwxNikpXX19KGd8fChnPXt9KSksZnVuY3Rpb24oZSl7ZS5yZT0vXnJnYmFcKFxzKigtP1xkezEsMTB9KVxzKixccyooLT9cZHsxLDEwfSlccyosXHMqKC0/XGR7MSwxMH0pXHMqLFxzKigtP1tcZF17MCwxMH0oPzpcLlxkKyk/KVxzKlwpJC8sZS5wYXJzZT1mdW5jdGlvbihlKXtyZXR1cm5bYShwYXJzZUludChlWzFdLDEwKSksbChwYXJzZUludChlWzJdLDEwKSksYyhwYXJzZUludChlWzNdLDEwKSksdShwYXJzZUZsb2F0KGVbNF0pKV19fShffHwoXz17fSkpfSwzMDc0MjEoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Z2V0VGltZUZyYW1lTmFtZTooKT0+bn0pO3ZhciBvPXMoNzgzMjU0KSxpPXMoNDI5NTQ5KSxyPXMoMjE1NzMwKTtmdW5jdGlvbiBuKGUpe3JldHVybiBuZXcgTWFwKFtbIjFEIixvLnQobnVsbCx2b2lkIDAscyg2MTQ0NTApKV0sWyIxTSIsby50KG51bGwsdm9pZCAwLHMoNDMwMzMzKSldLFsiM00iLG8udChudWxsLHZvaWQgMCxzKDQ0NjU2KSldLFsiMTJNIixvLnQobnVsbCx2b2lkIDAscyg2NzM1MjMpKV0sWyI2ME0iLG8udChudWxsLHZvaWQgMCxzKDg3ODcwOCkpXSxbIjEyME0iLG8udChudWxsLHZvaWQgMCxzKDY3MDU2OCkpXSxbIkFMTCIsby50KG51bGwsdm9pZCAwLHMoMjkwNzg3KSldLFsiTEFTVFNFU1NJT04iLCgwLHIuZGF5c1N0cmluZ0xpdGVyYWwpKDEpXV0pLmdldCgoMCwKaS5nZXRBY3R1YWxUaW1lRnJhbWUpKGUpKXx8IiJ9fSw2NjUxNDUoZSx0LHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgbztzLmQodCx7TWVkaXVtVGltZUZyYW1lT3B0aW9uc01vZGU6KCk9Pm99KSxmdW5jdGlvbihlKXtlW2UuVXNlTGFzdFNlc3Npb249MF09IlVzZUxhc3RTZXNzaW9uIixlW2UuVXNlMUQ9MV09IlVzZTFEIixlW2UuVXNlTGFzdFNlc3Npb25BbmQxRD0yXT0iVXNlTGFzdFNlc3Npb25BbmQxRCJ9KG98fChvPXt9KSl9LDgwMjU4NihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtnZXRGcm9tRm9yTW9udGhzQWdvOigpPT5yLGdldEZyb21Gb3JZZWFyc0FnbzooKT0+bixnZXRNZWRpdW1UaW1lRnJhbWVPcHRpb25zOigpPT5sLGdldE1pbmlUaW1lRnJhbWVPcHRpb25zOigpPT5hfSk7dmFyIG89cyg2NjUxNDUpLGk9cyg2OTM1MDApO2Z1bmN0aW9uIHIoZSl7Y29uc3QgdD1uZXcgRGF0ZTtyZXR1cm4gdC5zZXRNb250aCh0LmdldE1vbnRoKCktZSksTWF0aC50cnVuYyh0LnZhbHVlT2YoKS8xZTMpfWZ1bmN0aW9uIG4oZSl7Y29uc3QgdD1uZXcgRGF0ZTtyZXR1cm4gdC5zZXRGdWxsWWVhcih0LmdldEZ1bGxZZWFyKCktZSksTWF0aC50cnVuYyh0LnZhbHVlT2YoKS8xZTMpfWZ1bmN0aW9uIGEoZSl7Y29uc3QgdD0oMCxpLmdldFRpbWVGcmFtZXMpKCk7cmV0dXJuW3suLi50W2U/Imxhc3RzZXNzaW9uIjoiMWQiXX0sey4uLnRbIjFtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiMUQiLGZyb206cigxKX0sey4uLnRbIjNtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiMUQiLGZyb206cigzKX0sey4uLnRbIjEybSJdLGZyb206bigxKX0sey4uLnRbIjYwbSJdLHRhcmdldFJlc29sdXRpb246IjFNIixmcm9tOm4oNSl9LHsuLi50LmFsbH1dfWZ1bmN0aW9uIGwoZSl7Y29uc3QgdD0oMCxpLmdldFRpbWVGcmFtZXMpKCkscz1bXTtyZXR1cm4gZSE9PW8uTWVkaXVtVGltZUZyYW1lT3B0aW9uc01vZGUuVXNlMUQmJnMucHVzaCh7Li4udC5sYXN0c2Vzc2lvbn0pLGUhPT1vLk1lZGl1bVRpbWVGcmFtZU9wdGlvbnNNb2RlLlVzZUxhc3RTZXNzaW9uJiZzLnB1c2goey4uLnRbIjFkIl19KSxbLi4ucyx7Li4udFsiMW0iXSx0YXJnZXRSZXNvbHV0aW9uOiI2MCIsZnJvbTpyKDEpfSx7Li4udFsiM20iXSx0YXJnZXRSZXNvbHV0aW9uOiIxMjAiLGZyb206cigzKX0sey4uLnRbIjEybSJdLGZyb206bigxKX0sey4uLnRbIjYwbSJdLHRhcmdldFJlc29sdXRpb246IjFXIixmcm9tOm4oNSl9LHsuLi50LmFsbH1dfX0sNjkwMDk3KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2RlZmF1bHRUaGVtZTooKT0+bn0pO3ZhciBvPXMoMzg3MjMxKSxpPXMoMTM1Mjg3KSxyPXMoMzQ4ODQ5KTtjb25zdCBuPSgwLG8ubWVyZ2VUaGVtZXMpKHIsaSl9LDM4NzIzMShlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSx0LHM9e30pe3JldHVybiBPYmplY3QuYXNzaWduKHt9LGUsZnVuY3Rpb24oZSx0LHM9e30pe2NvbnN0IG89T2JqZWN0LmFzc2lnbih7fSx0KTtmb3IoY29uc3QgaSBvZiBPYmplY3Qua2V5cyh0KSl7Y29uc3Qgcj1zW2ldfHxpO3IgaW4gZSYmKG9baV09W2Vbcl0sdFtpXV0uam9pbigiICIpKX1yZXR1cm4gb30oZSx0LHMpKX1zLmQodCx7bWVyZ2VUaGVtZXM6KCk9Pm99KX0sMTA3NTg1KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlLHQpe3JldHVybiB0fHxudWxsPT1lfHwoInN0cmluZyI9PXR5cGVvZiBlfHxBcnJheS5pc0FycmF5KGUpKSYmMD09PWUubGVuZ3RofXMuZCh0LHtpc0ljb25Pbmx5OigpPT5vfSl9LDIyMDc2NChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtCdXR0b25Hcm91cENvbnRleHQ6KCk9Pm99KTtjb25zdCBvPXMoNzc5NDc0KS5jcmVhdGVDb250ZXh0KHtpc0luQnV0dG9uR3JvdXA6ITEsaXNHcm91cFByaW1hcnk6ITF9KX0sMzI4MjE5KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse3VzZUxpZ2h0QnV0dG9uQ2xhc3NlczooKT0+dX0pO3ZhciBvPXMoNzc5NDc0KSxpPXMoOTE0NDg3KSxyPXMubihpKSxuPXMoMzA5OTIwKSxhPXMoMTA3NTg1KSxsPXMoNTMyMDExKSxjPXMoMjIwNzY0KTtjb25zdCB1PShlLHQscyk9Pntjb25zdCBpPSgwLG8udXNlQ29udGV4dCkobi5DdXN0b21CZWhhdmlvdXJDb250ZXh0KSx7Y2xhc3NOYW1lOnUsaXNTZWxlY3RlZDpoLGNoaWxkcmVuOmQsc2hvd0NhcmV0Om0sZm9yY2VEaXJlY3Rpb246cCxpY29uT25seTpnLGNvbG9yOl89ImdyYXkiLHZhcmlhbnQ6eT0icHJpbWFyeSIsc2l6ZTpmPSJtZWRpdW0iLGVuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOmI9aS5lbmFibGVBY3RpdmVTdGF0ZVN0eWxlcyx0eXBvZ3JhcGh5OlMsaXNMaW5rOnY9ITEsdGV4dFdyYXA6Qyxpc1BpbGxzOncsaXNBY3RpdmU6VCxzdGFydFNsb3Q6eCxlbmRTbG90Omt9PXQsTj1lW2B0eXBvZ3JhcGh5LSR7KChlLHQscyk9PntpZihzKXtjb25zdCBlPXMucmVwbGFjZSgvXlxEKy9nLCIiKTtyZXR1cm4gdD9gc2VtaWJvbGQke2V9YDpzfXN3aXRjaChlKXtjYXNlInhzbWFsbCI6cmV0dXJuIHQ/InNlbWlib2xkMTRweCI6InJlZ3VsYXIxNHB4IjtjYXNlInNtYWxsIjpjYXNlIm1lZGl1bSI6cmV0dXJuIHQ/InNlbWlib2xkMTZweCI6InJlZ3VsYXIxNnB4IjtkZWZhdWx0OnJldHVybiIifX0pKGYsaHx8dyxTfHx2b2lkIDApfWBdLEw9KDAsby51c2VDb250ZXh0KShsLkNvbnRyb2xHcm91cENvbnRleHQpLHtpc0luQnV0dG9uR3JvdXA6RSxpc0dyb3VwUHJpbWFyeTpNfT0oMCxvLnVzZUNvbnRleHQpKGMuQnV0dG9uR3JvdXBDb250ZXh0KTtyZXR1cm4gcigpKHUsZS5saWdodEJ1dHRvbix2JiZlLmxpbmssVCYmZS5hY3RpdmUsaCYmZS5zZWxlY3RlZCwoMCxhLmlzSWNvbk9ubHkpKGQsZykmJmUubm9Db250ZW50LCEheCYmZS53aXRoU3RhcnRTbG90LChtfHwhIWspJiZlLndpdGhFbmRTbG90LHMmJmUud2l0aEdyb3VwZWQscCYmZVtwXSxlW00/InByaW1hcnkiOnldLGVbTT8iZ3JheSI6X10sZVtmXSxOLCFiJiZlLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcyxMLmlzR3JvdXBlZCYmZS5ncm91cGVkLEMmJmUud3JhcCxFJiZlLmRpc2FibGVBY3RpdmVPblRvdWNoLHcmJmUucGlsbHMpfX0sODMwMTIoZSx0LHMpewoidXNlIHN0cmljdCI7cy5kKHQse0xpZ2h0QnV0dG9uQ29udGVudDooKT0+bX0pO3ZhciBvPXMoNzc5NDc0KSxpPXMoOTE0NDg3KSxyPXMubihpKSxuPXMoNzcwMTQzKSxhPXMoMTA3NTg1KSxsPXMoMjczMzEwKSxjPXMoOTM1MSksdT1zLm4oYyksaD1zKDM2NDgxNSksZD1zLm4oaCk7ZnVuY3Rpb24gbShlKXtjb25zdHtzaG93Q2FyZXQ6dCxpY29uT25seTpzLGVsbGlwc2lzOmk9ITAsdGV4dFdyYXA6Yyx0b29sdGlwVGV4dDpoLGNoaWxkcmVuOm0sZW5kU2xvdDpwLHN0YXJ0U2xvdDpnLGlzQWN0aXZlQ2FyZXQ6X309ZTtbcCx0XS5maWx0ZXIoKGU9PiEhZSkpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLGcmJm8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpyKCkoZCgpLnNsb3QsZCgpLnN0YXJ0U2xvdCl9LGcpLCEoMCxhLmlzSWNvbk9ubHkpKG0scykmJm8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpyKCkoZCgpLmNvbnRlbnQsIWMmJmQoKS5ub3dyYXAsImFwcGx5LW92ZXJmbG93LXRvb2x0aXAiLCJhcHBseS1vdmVyZmxvdy10b29sdGlwLS1jaGVjay1jaGlsZHJlbi1yZWN1cnNpdmVseSIsImFwcGx5LW92ZXJmbG93LXRvb2x0aXAtLWFsbG93LXRleHQiKSwiZGF0YS1vdmVyZmxvdy10b29sdGlwLXRleHQiOmg/PygwLG4uZ2V0VGV4dEZvclRvb2x0aXApKG0pfSxjfHxpP28uY3JlYXRlRWxlbWVudChvLkZyYWdtZW50LG51bGwsby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnIoKSghYyYmaSYmZCgpLmVsbGlwc2lzQ29udGFpbmVyLGMmJmQoKS50ZXh0V3JhcENvbnRhaW5lcixjJiZpJiZkKCkudGV4dFdyYXBXaXRoRWxsaXBzaXMpfSxtKSxvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6ZCgpLnZpc3VhbGx5SGlkZGVuLCJhcmlhLWhpZGRlbiI6ITB9LG0pKTpvLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLG0sby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmQoKS52aXN1YWxseUhpZGRlbiwiYXJpYS1oaWRkZW4iOiEwfSxtKSkpLHAmJm8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpyKCkoZCgpLnNsb3QsZCgpLmVuZFNsb3QpfSxwKSx0JiYoZT0+by5jcmVhdGVFbGVtZW50KGwuSWNvbix7Y2xhc3NOYW1lOnIoKShkKCkuY2FyZXQsZSYmZCgpLmFjdGl2ZUNhcmV0KSxpY29uOnUoKX0pKShfKSl9fSw4NTQ4MjAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7TGlnaHRCdXR0b246KCk9PmR9KTt2YXIgbz1zKDc3OTQ3NCksaT1zKDUzMjAxMSkscj1zKDMyODIxOSksbj1zKDgzMDEyKSxhPXMoMzQ1MTE2KSxsPXMoMzY0ODE1KSxjPXMubihsKSx1PXMoODU0NDUpLGg9cy5uKHUpO2Z1bmN0aW9uIGQoZSl7Y29uc3R7aXNHcm91cGVkOnR9PW8udXNlQ29udGV4dChpLkNvbnRyb2xHcm91cENvbnRleHQpLHtyZWZlcmVuY2U6cyxjbGFzc05hbWU6bCxpc1NlbGVjdGVkOnUsY2hpbGRyZW46ZCxpY29uT25seTptLGVsbGlwc2lzOnAsc2hvd0NhcmV0OmcsZm9yY2VEaXJlY3Rpb246XyxlbmRTbG90Onksc3RhcnRTbG90OmYsY29sb3I6Yix2YXJpYW50OlMsc2l6ZTp2LGVuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOkMsdHlwb2dyYXBoeTp3LHRleHRXcmFwOlQ9ITEsbWF4TGluZXM6eCxzdHlsZTprPXt9LGlzUGlsbHM6Tixpc0FjdGl2ZTpMLHRvb2x0aXBUZXh0OkUscm9sZTpNLGRhdGFRYUlkOlAsYXJpYUxhYmVsOkQsbmFtZTpSLG9uRm9jdXM6SSxvbkJsdXI6QSxvbk1vdXNlRW50ZXI6Tyxvbk1vdXNlTGVhdmU6Rixvbk1vdXNlT3ZlcjpCLG9uTW91c2VPdXQ6VixvbkNsaWNrOlUsb25BbmltYXRpb25FbmQ6VyxvblBvaW50ZXJPdmVyOnEsb25Qb2ludGVyT3V0Okgsb25LZXlEb3duOnosYXV0b0ZvY3VzOmosaXNBY3RpdmVDYXJldDpRLGlkOkssZGlzYWJsZWQ6JCx0YWJJbmRleDpHLHZhbHVlOlosdGl0bGU6WSx0eXBlOkosLi4uWH09ZSxlZT0oMCxhLmZpbHRlckRhdGFQcm9wcykoWCksdGU9KDAsYS5maWx0ZXJBcmlhUHJvcHMpKFgpLHNlPVQ/eD8/MjoxLG9lPXNlPjA/ey4uLmssIi0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb250ZW50LW1heC1saW5lcyI6c2V9Oms7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7bmFtZTpSLG9uRm9jdXM6SSxvbkJsdXI6QSxvbk1vdXNlRW50ZXI6Tyxvbk1vdXNlTGVhdmU6Rixvbk1vdXNlT3ZlcjpCLG9uTW91c2VPdXQ6VixvbkNsaWNrOlUsb25BbmltYXRpb25FbmQ6VyxvblBvaW50ZXJPdmVyOnEsb25Qb2ludGVyT3V0Okgsb25LZXlEb3duOnosYXV0b0ZvY3VzOmosaWQ6SyxkaXNhYmxlZDokLHRhYkluZGV4OkcsdmFsdWU6Wix0aXRsZTpZLHR5cGU6SiwiZGF0YS1xYS1pZCI6UCwiYXJpYS1sYWJlbCI6RCwuLi5lZSwuLi50ZSxjbGFzc05hbWU6KDAsci51c2VMaWdodEJ1dHRvbkNsYXNzZXMpKHsuLi5oKCksLi4uYygpfSx7Y2xhc3NOYW1lOmwsaXNTZWxlY3RlZDp1LGNoaWxkcmVuOmQsaWNvbk9ubHk6bSxzaG93Q2FyZXQ6Zyxmb3JjZURpcmVjdGlvbjpfLGVuZFNsb3Q6eSxzdGFydFNsb3Q6Zixjb2xvcjpiLHZhcmlhbnQ6UyxzaXplOnYsZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXM6Qyx0eXBvZ3JhcGh5OncsdGV4dFdyYXA6VCxpc1BpbGxzOk4saXNBY3RpdmU6TH0sdCkscmVmOnMsc3R5bGU6b2Uscm9sZTpNfSxvLmNyZWF0ZUVsZW1lbnQobi5MaWdodEJ1dHRvbkNvbnRlbnQse3Nob3dDYXJldDpnLGlzQWN0aXZlQ2FyZXQ6ZyYmKE58fEx8fHV8fFEpLGljb25Pbmx5Om0sZWxsaXBzaXM6cCx0ZXh0V3JhcDpULHRvb2x0aXBUZXh0OkUsZW5kU2xvdDp5LHN0YXJ0U2xvdDpmfSxkKSl9fSw1MzIwMTEoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Q29udHJvbEdyb3VwQ29udGV4dDooKT0+cixkZWZhdWx0Q2VsbFN0YXRlOigpPT5pfSk7dmFyIG89cyg3Nzk0NzQpO2NvbnN0IGk9e2lzVG9wOiEwLGlzUmlnaHQ6ITAsaXNCb3R0b206ITAsaXNMZWZ0OiEwfSxyPW8uY3JlYXRlQ29udGV4dCh7aXNHcm91cGVkOiExLGNlbGxTdGF0ZTppfSl9LDg2OTg0MihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtTd2l0Y2hHcm91cENvbnRleHQ6KCk9PnJ9KQo7dmFyIG89cyg3Nzk0NzQpLGk9cyg4NjIzODgpO2NvbnN0IHI9KDAsby5jcmVhdGVDb250ZXh0KSh7Z2V0TmFtZTooKT0+IiIsZ2V0VmFsdWVzOigpPT5bXSxnZXRPbkNoYW5nZTooKT0+aS5kZWZhdWx0LHN1YnNjcmliZTppLmRlZmF1bHQsdW5zdWJzY3JpYmU6aS5kZWZhdWx0fSl9LDY1ODQ2KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse21ha2VTd2l0Y2hHcm91cEl0ZW06KCk9PnJ9KTt2YXIgbz1zKDc3OTQ3NCksaT1zKDg2OTg0Mik7ZnVuY3Rpb24gcihlKXt2YXIgdDtyZXR1cm4gdD1jbGFzcyBleHRlbmRzIG8uUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fb25DaGFuZ2U9ZT0+e3RoaXMuY29udGV4dC5nZXRPbkNoYW5nZSgpKGUudGFyZ2V0LnZhbHVlKX0sdGhpcy5fb25VcGRhdGU9ZT0+e2UuaW5jbHVkZXModGhpcy5wcm9wcy52YWx1ZSkmJnRoaXMuZm9yY2VVcGRhdGUoKX19Y29tcG9uZW50RGlkTW91bnQoKXt0aGlzLmNvbnRleHQuc3Vic2NyaWJlKHRoaXMuX29uVXBkYXRlKX1yZW5kZXIoKXtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGUsey4uLnRoaXMucHJvcHMsbmFtZTp0aGlzLl9nZXROYW1lKCksb25DaGFuZ2U6dGhpcy5fb25DaGFuZ2UsY2hlY2tlZDp0aGlzLl9pc0NoZWNrZWQoKX0pfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5jb250ZXh0LnVuc3Vic2NyaWJlKHRoaXMuX29uVXBkYXRlKX1fZ2V0TmFtZSgpe3JldHVybiB0aGlzLmNvbnRleHQuZ2V0TmFtZSgpfV9pc0NoZWNrZWQoKXtyZXR1cm4gdGhpcy5jb250ZXh0LmdldFZhbHVlcygpLmluY2x1ZGVzKHRoaXMucHJvcHMudmFsdWUpfX0sdC5jb250ZXh0VHlwZT1pLlN3aXRjaEdyb3VwQ29udGV4dCx0fX0sMzQ1MTE2KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gcihlLG4pfWZ1bmN0aW9uIGkoZSl7cmV0dXJuIHIoZSxhKX1mdW5jdGlvbiByKGUsdCl7Y29uc3Qgcz1PYmplY3QuZW50cmllcyhlKS5maWx0ZXIodCksbz17fTtmb3IoY29uc3RbZSx0XW9mIHMpb1tlXT10O3JldHVybiBvfWZ1bmN0aW9uIG4oZSl7Y29uc3RbdCxzXT1lO3JldHVybiAwPT09dC5pbmRleE9mKCJkYXRhLSIpJiYic3RyaW5nIj09dHlwZW9mIHN9ZnVuY3Rpb24gYShlKXtyZXR1cm4gMD09PWVbMF0uaW5kZXhPZigiYXJpYS0iKX1mdW5jdGlvbiBsKGUsdCl7Y29uc3Qgcz1vKGUpO3JldHVybiB0JiYoc1siZGF0YS1xYS1pZCJdPXQpLHN9cy5kKHQse2ZpbHRlckFyaWFQcm9wczooKT0+aSxmaWx0ZXJDaGVja2VkRGF0YVByb3BzOigpPT5sLGZpbHRlckRhdGFQcm9wczooKT0+byxmaWx0ZXJQcm9wczooKT0+cixpc0FyaWFBdHRyaWJ1dGU6KCk9PmEsaXNEYXRhQXR0cmlidXRlOigpPT5ufSl9LDc3MDE0MyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtnZXRUZXh0Rm9yVG9vbHRpcDooKT0+bn0pO3ZhciBvPXMoNzc5NDc0KTtjb25zdCBpPWU9PigwLG8uaXNWYWxpZEVsZW1lbnQpKGUpJiZCb29sZWFuKGUucHJvcHMuY2hpbGRyZW4pLHI9KGUsdD0hMCk9Pm51bGw9PWV8fCJib29sZWFuIj09dHlwZW9mIGV8fCJ7fSI9PT1KU09OLnN0cmluZ2lmeShlKT8iIjplLnRvU3RyaW5nKCkrKHQ/IiAiOiIiKSxuPWU9PkFycmF5LmlzQXJyYXkoZSl8fCgwLG8uaXNWYWxpZEVsZW1lbnQpKGUpP28uQ2hpbGRyZW4udG9BcnJheShlKS5yZWR1Y2UoKChlLHQpPT57bGV0IHM9IiI7cmV0dXJuIHM9KDAsby5pc1ZhbGlkRWxlbWVudCkodCkmJmkodCk/bih0LnByb3BzLmNoaWxkcmVuKTooMCxvLmlzVmFsaWRFbGVtZW50KSh0KSYmIWkodCk/IiI6cih0KSxlLmNvbmNhdChzKX0pLCIiKS50cmltKCk6cihlLCExKX0sNDg4MDUoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Z2V0Q3Jvc3NoYWlyTW92ZURhdGE6KCk9Pml9KTt2YXIgbz1zKDc4MzI1NCk7ZnVuY3Rpb24gaShlLHQpe2NvbnN0e3BvaW50OmksdGltZTpyLHNlcmllc0RhdGE6bn09dDtpZih2b2lkIDA9PT1pfHx2b2lkIDA9PT1yKXJldHVybjtjb25zdCBhPWUubWFpblBsb3QoKSxsPWEuc2VyaWVzKCk7aWYodm9pZCAwPT09bi5nZXQobCkpcmV0dXJuO2xldCBjO2NvbnN0IHU9W10saD1hLmN1cnJlbnRTZXJpZXNPcHRpb25zKCk7aWYoYz0iQXJlYSI9PT1sLnNlcmllc1R5cGUoKXx8IkxpbmUiPT09bC5zZXJpZXNUeXBlKCk/aC50b29sdGlwVHlwZXx8ImxpbmUiOmgudG9vbHRpcFR5cGV8fCJvaGxjIix1LnB1c2goLi4uYS5nZXRMZWdlbmREYXRhKHQubG9naWNhbCkpLGUuc3R1ZHlQbG90cygpLmZvckVhY2goKGU9Pnt1LnB1c2goLi4uZS5nZXRMZWdlbmREYXRhKHQubG9naWNhbCkpfSkpLDA9PT11Lmxlbmd0aClyZXR1cm47Y29uc3QgZD1oLnRvb2x0aXBMZWdlbmRDb2xvck9yZGVyO2Q/LnNpemUmJnUuc29ydCgoKGUsdCk9Pntjb25zdCBzPWQuZ2V0KGUuY29sb3IpPz8tMSxvPWQuZ2V0KHQuY29sb3IpPz8tMTtyZXR1cm4ocz4tMT9zOjEvMCktKG8+LTE/bzoxLzApfSkpO2NvbnN0IG09bmV3IERhdGUoMWUzKnIpO2xldCBwPWUuZGF0ZVRpbWVGb3JtYXR0ZXIoKS5mb3JtYXQobSx7ZGF0ZVRpbWVTZXBhcmF0b3I6IlxuIn0pO2UuaXNEV01SZXNvbHV0aW9uKCl8fChwKz0iICIrZnVuY3Rpb24oZSl7aWYoMD09PWUpcmV0dXJuIlVUQyI7Y29uc3QgdD1NYXRoLmFicyhlKSxzPU1hdGguZmxvb3IodC82MCksbz10LTYwKnM7cmV0dXJuYFVUQyR7TWF0aC5zaWduKGUpPD0wPyIrIjoiLSJ9JHtzfSR7bz4wP2A6JHtvfWA6IiJ9YH0obS5nZXRUaW1lem9uZU9mZnNldCgpKSk7Y29uc3QgZz1lLmlzRFdNUmVzb2x1dGlvbigpfHwzIT09YS5zZXNzaW9uQXRUaW1lKGZ1bmN0aW9uKGUpe2NvbnN0IHQ9bmV3IERhdGUoMWUzKmUpO3JldHVybiBuZXcgRGF0ZSh0LmdldFVUQ0Z1bGxZZWFyKCksdC5nZXRVVENNb250aCgpLHQuZ2V0VVRDRGF0ZSgpLHQuZ2V0VVRDSG91cnMoKSx0LmdldFVUQ01pbnV0ZXMoKSx0LmdldFVUQ1NlY29uZHMoKSkudmFsdWVPZigpLzFlM30ocikpP3ZvaWQgMDpvLnQobnVsbCx7Y29udGV4dDoibWFya2V0X3N0YXR1cyJ9LHMoNTQ1MjI0KSk7cmV0dXJue3BvaW50OmksdGltZTpwLHByaWNlczp1LHR5cGU6YywKbm90ZTpnfX19LDYxMDU3MShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtkZWZhdWx0Vm9sdW1lT3B0aW9uczooKT0+YyxnZXRTZXJpZXNPcHRpb25zOigpPT5ufSk7dmFyIG89cyg1MDU1NiksaT1zKDI0NzkwMSkscj1zKDg3MzU3Myk7ZnVuY3Rpb24gbihlLHQscyxpKXtyZXR1cm4ibGluZSI9PT1lP3tjaGFydFR5cGU6ImxpbmUiLGxpbmVXaWR0aDozLGdyb3dpbmdDb2xvcjooMCxvLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItbWludHktZ3JlZW4tNTAwIiksZmFsbGluZ0NvbG9yOigwLG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC01MDAiKSxjcm9zc2hhaXJNYXJrZXJWaXNpYmxlOiEwLGxhc3RWYWx1ZVZpc2libGU6ITAsY3Jvc3NoYWlyTWFya2VyUmFkaXVzOjQuNSxjcm9zc2hhaXJNYXJrZXJCb3JkZXJDb2xvcjpsKHMpLHByZW1hcmtldExpbmVDb2xvcjphKHMsaSkscG9zdG1hcmtldExpbmVDb2xvcjphKHMsaSksbmlnaHRMaW5lQ29sb3I6YShzLGkpLGFkZE1hcmtlcnM6MT09PXQsbGluZVR5cGU6Mj09PXQ/MTowLHNjYWxlTWFyZ2luczp7dG9wOi4wNSxib3R0b206LjA1fX06ImFyZWEiPT09ZT97Y2hhcnRUeXBlOiJhcmVhIixsaW5lV2lkdGg6MixwcmljZUxpbmVWaXNpYmxlOiExLGNyb3NzaGFpck1hcmtlclZpc2libGU6ITAsY3Jvc3NoYWlyTWFya2VyUmFkaXVzOjMuNSxjcm9zc2hhaXJNYXJrZXJCb3JkZXJDb2xvcjpsKHMpLGxhc3RWYWx1ZVZpc2libGU6ITAsZ3Jvd2luZ1RvcENvbG9yOigwLHIuZ2VuZXJhdGVDb2xvcikoby5jb2xvcnNQYWxldHRlWyJjb2xvci1taW50eS1ncmVlbi01MDAiXSw3MCksZ3Jvd2luZ0JvdHRvbUNvbG9yOigwLHIuZ2VuZXJhdGVDb2xvcikoby5jb2xvcnNQYWxldHRlWyJjb2xvci1taW50eS1ncmVlbi01MDAiXSwxMDApLGdyb3dpbmdMaW5lQ29sb3I6KDAsby5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIpLGZhbGxpbmdUb3BDb2xvcjooMCxyLmdlbmVyYXRlQ29sb3IpKG8uY29sb3JzUGFsZXR0ZVsiY29sb3ItcmlwZS1yZWQtNTAwIl0sNzApLGZhbGxpbmdCb3R0b21Db2xvcjooMCxyLmdlbmVyYXRlQ29sb3IpKG8uY29sb3JzUGFsZXR0ZVsiY29sb3ItcmlwZS1yZWQtNTAwIl0sMTAwKSxmYWxsaW5nTGluZUNvbG9yOigwLG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC01MDAiKSxwcmVtYXJrZXRMaW5lQ29sb3I6YShzLGkpLHBvc3RtYXJrZXRMaW5lQ29sb3I6YShzLGkpLG5pZ2h0TGluZUNvbG9yOmEocyxpKX06e2NoYXJ0VHlwZToiY2FuZGxlc3RpY2tzIix1cENvbG9yOigwLG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1taW50eS1ncmVlbi01MDAiKSxkb3duQ29sb3I6KDAsby5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXJpcGUtcmVkLTUwMCIpLGJvcmRlclVwQ29sb3I6KDAsby5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIpLGJvcmRlckRvd25Db2xvcjooMCxvLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItcmlwZS1yZWQtNTAwIiksd2lja1VwQ29sb3I6KDAsby5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIpLHdpY2tEb3duQ29sb3I6KDAsby5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXJpcGUtcmVkLTUwMCIpfX1mdW5jdGlvbiBhKGUsdCl7aWYoIkxBU1RTRVNTSU9OIj09PXQpcmV0dXJuKDAsby5nZXRIZXhDb2xvckJ5TmFtZSkoZT09PWkuU3RkVGhlbWUuTGlnaHQ/ImNvbG9yLWNvbGQtZ3JheS0zMDAiOiJjb2xvci1jb2xkLWdyYXktNjUwIil9ZnVuY3Rpb24gbChlKXtyZXR1cm4oMCxvLmdldEhleENvbG9yQnlOYW1lKShlPT09aS5TdGRUaGVtZS5MaWdodD8iY29sb3Itd2hpdGUiOiJjb2xvci1ibGFjayIpfWNvbnN0IGM9e3NjYWxlTWFyZ2luczp7dG9wOi44LGJvdHRvbTowfSxwcmljZVNjYWxlSWQ6Im92ZXJsYXkiLHVwQ29sb3I6KDAsci5hcHBseVRyYW5zcGFyZW5jeSkoby5jb2xvcnNQYWxldHRlWyJjb2xvci1taW50eS1ncmVlbi01MDAiXSw1MCksZG93bkNvbG9yOigwLHIuYXBwbHlUcmFuc3BhcmVuY3kpKG8uY29sb3JzUGFsZXR0ZVsiY29sb3ItcmlwZS1yZWQtNTAwIl0sNTApLHZpc2libGU6ITEsbGFzdFZhbHVlVmlzaWJsZTohMSxwcmljZUxpbmVWaXNpYmxlOiExfX0sNzA5MzcwKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1Nlc3Npb25zTWluaUNoYXJ0OigpPT5yfSk7dmFyIG89cyg0NzAwOTApLGk9cygxNTY1MTEpO2NsYXNzIHIgZXh0ZW5kcyBvLk1pbmlDaGFydHtfZ2V0Q2hhcnRQbG90Q2xhc3MoKXtyZXR1cm4gaS5TZXNzaW9uc01pbmlDaGFydFBsb3R9fX0sMTU2NTExKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1Nlc3Npb25zTWluaUNoYXJ0UGxvdDooKT0+bn0pO3ZhciBvPXMoMTM4NjM4KSxpPXMoNTg2MjQ3KSxyPXMoOTEyMDMzKTtjbGFzcyBuIGV4dGVuZHMgaS5NaW5pQ2hhcnRQbG90e2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9zZXNzaW9uc1N0dWR5UHJvdmlkZXI9bnVsbH1kZXN0cm95KCl7dGhpcy5fZGVzdHJveVNlc3Npb25TdHVkeVByb3ZpZGVyKCksc3VwZXIuZGVzdHJveSgpfXJlcXVlc3REYXRhKCl7aWYoc3VwZXIucmVxdWVzdERhdGEoKSx0aGlzLl9kZXN0cm95U2Vzc2lvblN0dWR5UHJvdmlkZXIoKSx0aGlzLl9pc0xhc3RTZXNzaW9uSW50ZXJ2YWwudmFsdWUoKSl7Y29uc3QgZT10aGlzLl9iYXJCdWlsZGVyTG9hZGVyPy5nZXQoKTtlfHwodGhpcy5fc2Vzc2lvbnNTdHVkeVByb3ZpZGVyPW5ldyByLlNlc3Npb25zU3R1ZHlQcm92aWRlcih0aGlzLmNoYXJ0U2Vzc2lvbigpLHRoaXMuc2VyaWVzRGF0YVNvdXJjZSgpKSx0aGlzLl9zZXNzaW9uc1N0dWR5UHJvdmlkZXIuc3RhcnQoKSl9fWRpc2Nvbm5lY3QoKXt0aGlzLl9kZXN0cm95U2Vzc2lvblN0dWR5UHJvdmlkZXIoKSxzdXBlci5kaXNjb25uZWN0KCl9X29uU3ltYm9sUmVzb2x2ZWQoZSl7c3VwZXIuX29uU3ltYm9sUmVzb2x2ZWQoZSksCnRoaXMuX2lzTGFzdFNlc3Npb25JbnRlcnZhbC52YWx1ZSgpJiYhdGhpcy5fYmFyQnVpbGRlckxvYWRlciYmdGhpcy5faW5pdEJhckJ1aWxkZXIoZSl9YXN5bmMgX29uRGF0YShlLHQpe2F3YWl0IHRoaXMuX3dhaXRGb3JSZWFkeVRvQ2FsY3VsYXRlU2Vzc2lvbigpLHN1cGVyLl9vbkRhdGEoZSx0KX1hc3luYyBfb25EYXRhQ29tcGxldGVkKCl7YXdhaXQgdGhpcy5fd2FpdEZvclJlYWR5VG9DYWxjdWxhdGVTZXNzaW9uKCksc3VwZXIuX29uRGF0YUNvbXBsZXRlZCgpfV9iYXJJbmRleFNlc3Npb24oZSl7aWYoIXRoaXMuX2lzTGFzdFNlc3Npb25JbnRlcnZhbC52YWx1ZSgpKXJldHVybjtjb25zdCB0PXRoaXMuX2JhckJ1aWxkZXJMb2FkZXI/LmdldCgpO2lmKHQpe2NvbnN0IHM9dGhpcy5fbWluaUNoYXJ0LmluZGV4VG9UaW1lKGUpO2lmKG51bGwhPT1zKXJldHVybiB0LnNlc3Npb24ocyl9cmV0dXJuIHRoaXMuX3Nlc3Npb25zU3R1ZHlQcm92aWRlcj90aGlzLl9zZXNzaW9uc1N0dWR5UHJvdmlkZXIuaXNQcmVNYXJrZXQoZSk/MDp0aGlzLl9zZXNzaW9uc1N0dWR5UHJvdmlkZXIuaXNQb3N0TWFya2V0KGUpPzE6dGhpcy5fc2Vzc2lvbnNTdHVkeVByb3ZpZGVyLmlzTmlnaHRNYXJrZXQoZSk/MzoyOnZvaWQgMH1hc3luYyBfd2FpdEZvclJlYWR5VG9DYWxjdWxhdGVTZXNzaW9uKCl7Y29uc3QgZT10aGlzLl9iYXJCdWlsZGVyTG9hZGVyPy5nZXQoKTtpZighZSYmdGhpcy5faXNMYXN0U2Vzc2lvbkludGVydmFsLnZhbHVlKCkpe2F3YWl0IFByb21pc2UucmFjZShbdGhpcy5fc2Vzc2lvbnNTdHVkeVByb3ZpZGVyPy5jb21wbGV0ZWQoKSx0aGlzLl9pbml0QmFyQnVpbGRlcigoMCxvLmVuc3VyZU5vdE51bGwpKHRoaXMuc3ltYm9sSW5mbygpKSldKT09PXRoaXMuX2JhckJ1aWxkZXJMb2FkZXI/LmdldCgpJiZ0aGlzLl9kZXN0cm95U2Vzc2lvblN0dWR5UHJvdmlkZXIoKX19X2Rlc3Ryb3lTZXNzaW9uU3R1ZHlQcm92aWRlcigpe3RoaXMuX3Nlc3Npb25zU3R1ZHlQcm92aWRlcj8uZGVzdHJveSgpLHRoaXMuX3Nlc3Npb25zU3R1ZHlQcm92aWRlcj1udWxsfX19LDkxMjAzMyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtTZXNzaW9uc1N0dWR5UHJvdmlkZXI6KCk9PmF9KTt2YXIgbyxpPXMoODE0NTg5KSxyPXMoOTY1Nzk1KSxuPXMoNzY4NzYwKTshZnVuY3Rpb24oZSl7ZVtlLlN0b3BwZWQ9MF09IlN0b3BwZWQiLGVbZS5TdGFydGVkPTFdPSJTdGFydGVkIn0ob3x8KG89e30pKTtjbGFzcyBhe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fdHVybmFyb3VuZD1uZXcgbCgic3QiKSx0aGlzLl9pbnN0YW5jZUlEPW51bGwsdGhpcy5fc2Vzc2lvbkRlZmVycmVkUHJvbWlzZT0oMCxuLmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKSx0aGlzLl9zZXNzaW9uc0RhdGE9bnVsbCx0aGlzLl9zdGF0dXM9by5TdG9wcGVkLHRoaXMuX29uTWVzc2FnZT1lPT57c3dpdGNoKGUubWV0aG9kKXtjYXNlImRhdGFfdXBkYXRlIjp7Y29uc3R7Y3VzdG9tSWQ6dCx0dXJuYXJvdW5kOnMsbm9uc2VyaWVzOm99PWUucGFyYW1zO2lmKHQhPT10aGlzLl9pbnN0YW5jZUlEfHwhdGhpcy5fY2hlY2tUdXJuYXJvdW5kKHMpfHwhbylyZXR1cm47cmV0dXJuIHZvaWQgdGhpcy5fb25EYXRhVXBkYXRlKG8pfWNhc2Uic3R1ZHlfY29tcGxldGVkIjpjYXNlInN0dWR5X2Vycm9yIjpyZXR1cm4gdm9pZCB0aGlzLl9zZXNzaW9uRGVmZXJyZWRQcm9taXNlLnJlc29sdmUoKX19LHRoaXMuX2NoYXJ0U2Vzc2lvbj1lLHRoaXMuX3Nlcmllc0RhdGFTb3VyY2U9dCx0aGlzLl9pc0Nvbm5lY3RlZENoYXJ0U2Vzc2lvbj10aGlzLl9jaGFydFNlc3Npb24uaXNDb25uZWN0ZWQoKS5zcGF3bigpfWRlc3Ryb3koKXt0aGlzLnN0b3AoKSx0aGlzLl9pc0Nvbm5lY3RlZENoYXJ0U2Vzc2lvbi5kZXN0cm95KCl9c3RhcnQoKXt0aGlzLl9zdGF0dXMhPT1vLlN0b3BwZWQmJnRoaXMuc3RvcCgpLHRoaXMuX3Nlc3Npb25EZWZlcnJlZFByb21pc2U9KDAsbi5jcmVhdGVEZWZlcnJlZFByb21pc2UpKCk7Y29uc3QgZT10aGlzLl9zZXJpZXNEYXRhU291cmNlLmluc3RhbmNlSWQoKTtudWxsIT09ZT90aGlzLl9jcmVhdGVTdHVkeUZvclNlcmllcyhlKTp0aGlzLl9zZXJpZXNEYXRhU291cmNlLmRhdGFFdmVudHMoKS5jcmVhdGVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fY3JlYXRlU3R1ZHlGb3JTZXJpZXMuYmluZCh0aGlzKSwhMCksdGhpcy5fc3RhdHVzPW8uU3RhcnRlZH1zdG9wKCl7bnVsbCE9PXRoaXMuX2luc3RhbmNlSUQmJih0aGlzLl9jaGFydFNlc3Npb24uaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZ0aGlzLl9jaGFydFNlc3Npb24ucmVtb3ZlU3R1ZHkodGhpcy5faW5zdGFuY2VJRCksdGhpcy5faW5zdGFuY2VJRD1udWxsLHRoaXMuX3Nlc3Npb25EZWZlcnJlZFByb21pc2UucmVzb2x2ZSgpKSx0aGlzLl9zZXJpZXNEYXRhU291cmNlLmRhdGFFdmVudHMoKS5jcmVhdGVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5faXNDb25uZWN0ZWRDaGFydFNlc3Npb24udW5zdWJzY3JpYmUoKSx0aGlzLl9zdGF0dXM9by5TdG9wcGVkfWNvbXBsZXRlZCgpe3JldHVybiB0aGlzLl9zZXNzaW9uRGVmZXJyZWRQcm9taXNlLnByb21pc2V9aXNQb3N0TWFya2V0KGUpe3JldHVybiEhdGhpcy5fc2Vzc2lvbnNEYXRhPy5wb3N0TWFya2V0Py5oYXMoZSl9aXNQcmVNYXJrZXQoZSl7cmV0dXJuISF0aGlzLl9zZXNzaW9uc0RhdGE/LnByZU1hcmtldD8uaGFzKGUpfWlzTmlnaHRNYXJrZXQoZSl7cmV0dXJuISF0aGlzLl9zZXNzaW9uc0RhdGE/Lm5pZ2h0TWFya2V0Py5oYXMoZSl9X2NyZWF0ZVN0dWR5Rm9yU2VyaWVzKGUpe3RoaXMuX2lzQ29ubmVjdGVkQ2hhcnRTZXNzaW9uJiZ0aGlzLl9pc0Nvbm5lY3RlZENoYXJ0U2Vzc2lvbi51bnN1YnNjcmliZSgpLHRoaXMuX2lzQ29ubmVjdGVkQ2hhcnRTZXNzaW9uLndoZW4oKCgpPT57dGhpcy5faW5zdGFuY2VJRD0oMCxyLm1ha2VOZXh0U3R1ZHlJZCkoKSwKdGhpcy5fY2hhcnRTZXNzaW9uLmNyZWF0ZVN0dWR5KHRoaXMuX2luc3RhbmNlSUQsdGhpcy5fdHVybmFyb3VuZC5uZXh0KCksZSwiU2Vzc2lvbnNAdHYtYmFzaWNzdHVkaWVzLTE4NyEiLHt9LHRoaXMuX29uTWVzc2FnZSx7aWQ6IlNlc3Npb25zQHR2LWJhc2ljc3R1ZGllcyJ9KX0pKX1fb25EYXRhVXBkYXRlKGUpe2NvbnN0e2luZGV4ZXM6dCxkOnN9PWU7aWYoIXMpcmV0dXJuO2NvbnN0IG89SlNPTi5wYXJzZShzKSxyPSEwPT09by5pbmRleGVzX3JlcGxhY2U/dm9pZCAwOm8uZ3JhcGhpY3NDbWRzPy5jcmVhdGU/LmJhY2tncm91bmRzO2lmKCFyfHwibm9jaGFuZ2UiPT09dClyZXR1cm47Y29uc3Qgbj1lPT57Y29uc3Qgcz10W2VdO3JldHVybiBzPmkuVU5QTE9UVEFCTEVfVElNRV9QT0lOVF9JTkRFWD9zOm51bGx9O3RoaXMuX3Nlc3Npb25zRGF0YT1yLnJlZHVjZSgoKGUse3N0eWxlSWQ6dCxkYXRhOnN9KT0+e2NvbnN0IG89bmV3IFNldDtyZXR1cm4gcy5mb3JFYWNoKCgoe3N0YXJ0OmUsc3RvcDp0fSk9PntsZXQgcz1uKGUpLGk9bih0KTtpZihudWxsIT09c3x8bnVsbCE9PWkpe251bGw9PT1zJiYocz1pKy0zMDApLG51bGw9PT1pJiYoaT1zKzMwMCk7Zm9yKGxldCBlPXM7ZTw9aTtlKyspby5hZGQoZSl9fSkpLGVbdF09byxlfSkse30pfV9jaGVja1R1cm5hcm91bmQoZSl7cmV0dXJuIGU9PT10aGlzLl90dXJuYXJvdW5kLmN1cnJlbnQoKXx8ZT09PXRoaXMuX3Nlcmllc0RhdGFTb3VyY2UudHVybmFyb3VuZCgpfHxlPT09YCR7dGhpcy5fc2VyaWVzRGF0YVNvdXJjZS50dXJuYXJvdW5kKCl9XyR7dGhpcy5fdHVybmFyb3VuZC5jdXJyZW50KCl9YH19Y2xhc3MgbHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9jb3VudGVyPTAsdGhpcy5fcHJlZml4PWV9bmV4dCgpe3JldHVybiB0aGlzLl9jb3VudGVyKyssdGhpcy5fdmFsdWUoKX1jdXJyZW50KCl7cmV0dXJuIHRoaXMuX3ZhbHVlKCl9X3ZhbHVlKCl7cmV0dXJuYCR7dGhpcy5fcHJlZml4fSR7dGhpcy5fY291bnRlcn1gfX19LDg4NzYwOChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtNaW5pQ2hhcnRTdGF0dXNTb3VyY2VBZGFwdGVyOigpPT5mfSk7dmFyIG8saSxyPXMoMjMyMzY0KSxuPXMoOTUyOTAwKSxhPXMoMTM4NjM4KSxsPXMoNzAwODA5KSxjPXMoNTU5NjkpLHU9cygxMjg5OTgpOyFmdW5jdGlvbihlKXtlW2UuRXhwaXJhdGlvblRpbWVNc2Vjc0Vwc2lsb249M2U1XT0iRXhwaXJhdGlvblRpbWVNc2Vjc0Vwc2lsb24ifShvfHwobz17fSkpO2NsYXNzIGh7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl91dGNUaW1lPW5ldyByLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9leHBpcmVkPW5ldyByLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fc2Vzc2lvblNwZWM9bmV3IHIuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX3Nlc3Npb25TcGVjQ2FjaGU9bnVsbCx0aGlzLl91dGNEYXlTdGFydD1uZXcgRGF0ZSgwKSx0aGlzLl90aW1lb3V0SWQ9bnVsbCx0aGlzLl9leHBpcmVkQnlTeW1ib2xJbmZvVHlwZXNwZWNzPSExLHRoaXMuX2V4cGlyZWRCeVF1b3Rlc1R5cGVzcGVjcz1udWxsLHRoaXMuX21hcmtldFN0YXR1c1NwYXduPWUuc3Bhd24oKSx0aGlzLl9xdW90ZXNVcGRhdGU9dCx0aGlzLl9xdW90ZXNVcGRhdGUuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25RdW90ZXNVcGRhdGUpfWRlc3Ryb3koKXt0aGlzLl9tYXJrZXRTdGF0dXNTcGF3bi5kZXN0cm95KCksdGhpcy5fY2xlYXJUaW1lb3V0SWZOZWVkZWQoKSx0aGlzLl9xdW90ZXNVcGRhdGUudW5zdWJzY3JpYmVBbGwodGhpcyl9cmVzZXQoKXt0aGlzLl9leHBpcmVkQnlTeW1ib2xJbmZvVHlwZXNwZWNzPSExLHRoaXMuX2V4cGlyZWRCeVF1b3Rlc1R5cGVzcGVjcz1udWxsLHRoaXMuX3V0Y1RpbWUuc2V0VmFsdWUobnVsbCksdGhpcy5fZXhwaXJlZC5zZXRWYWx1ZSghMSl9dXRjVGltZSgpe3JldHVybiB0aGlzLl91dGNUaW1lLnJlYWRvbmx5KCl9ZXhwaXJlZCgpe3JldHVybiB0aGlzLl9leHBpcmVkLnJlYWRvbmx5KCl9dXRjRGF5U3RhcnQoKXtyZXR1cm4gdGhpcy5fdXRjRGF5U3RhcnR9c2Vzc2lvblNwZWMoKXtyZXR1cm4gdGhpcy5fc2Vzc2lvblNwZWMucmVhZG9ubHkoKX1zZXRTeW1ib2xJbmZvKGUpe2lmKHRoaXMuX2NsZWFyVGltZW91dElmTmVlZGVkKCksbnVsbD09PWV8fCEoMCx1LmlzRnV0dXJlc0NvbnRyYWN0U3ltYm9sKShlKXx8dm9pZCAwPT09ZS5leHBpcmF0aW9uKXJldHVybiB0aGlzLl91dGNUaW1lLnNldFZhbHVlKG51bGwpLHZvaWQgdGhpcy5fZXhwaXJlZC5zZXRWYWx1ZSghMSk7bnVsbCE9PXRoaXMuX3Nlc3Npb25TcGVjQ2FjaGUmJnRoaXMuX3Nlc3Npb25TcGVjQ2FjaGUudGltZXpvbmU9PT1lLnRpbWV6b25lJiZ0aGlzLl9zZXNzaW9uU3BlY0NhY2hlLnNlc3Npb249PT1lLnNlc3Npb24mJnRoaXMuX3Nlc3Npb25TcGVjQ2FjaGUuY29ycmVjdGlvbnM9PT1lLmNvcnJlY3Rpb25zJiZ0aGlzLl9zZXNzaW9uU3BlY0NhY2hlLmhvbGlkYXlzPT09ZS5zZXNzaW9uX2hvbGlkYXlzfHwodGhpcy5fc2Vzc2lvblNwZWNDYWNoZT17dGltZXpvbmU6ZS50aW1lem9uZSxzZXNzaW9uOmUuc2Vzc2lvbixjb3JyZWN0aW9uczplLmNvcnJlY3Rpb25zLGhvbGlkYXlzOmUuc2Vzc2lvbl9ob2xpZGF5cyxzcGVjOm5ldyBjLlNlc3Npb25zU3BlYyhlLnRpbWV6b25lLGUuc2Vzc2lvbixlLnNlc3Npb25faG9saWRheXMsZS5jb3JyZWN0aW9ucyl9LHRoaXMuX3Nlc3Npb25TcGVjLnNldFZhbHVlKG51bGwpKTtjb25zdCB0PXRoaXMuX3Nlc3Npb25TcGVjQ2FjaGUuc3BlYzt0aGlzLl91dGNEYXlTdGFydD1mdW5jdGlvbihlKXtjb25zdCB0PU1hdGguZmxvb3IoZS8xZTQpJTFlNCxzPU1hdGguZmxvb3IoZS8xMDApJTEwMC0xLG89ZSUxMDA7cmV0dXJuIG5ldyBEYXRlKERhdGUuVVRDKHQscyxvKSl9KGUuZXhwaXJhdGlvbik7Y29uc3Qgcz10LmJvcmRlcnNPZkRhaWx5QmFyKHRoaXMuX3V0Y0RheVN0YXJ0KTtpZihudWxsPT09cylyZXR1cm4gdGhpcy5fdXRjVGltZS5zZXRWYWx1ZShudWxsKSx0aGlzLl9leHBpcmVkLnNldFZhbHVlKCExKSx2b2lkIHRoaXMuX3Nlc3Npb25TcGVjLnNldFZhbHVlKHQpO2NvbnN0IG89KDAsCmwuZ2V0X3RpbWV6b25lKShlLnRpbWV6b25lKTt0aGlzLl91dGNUaW1lLnNldFZhbHVlKCgwLGwuY2FsX3RvX3V0YykobyxzLnRvKSsxZTMpLHRoaXMuX3Nlc3Npb25TcGVjLnNldFZhbHVlKHQpLHRoaXMuX2V4cGlyZWRCeVN5bWJvbEluZm9UeXBlc3BlY3M9Qm9vbGVhbihlLnR5cGVzcGVjcz8uaW5jbHVkZXMoImV4cGlyZWQiKSksdGhpcy5fdXBkYXRlRXhwaXJlZCgpfV91cGRhdGVFeHBpcmVkKCl7dGhpcy5fY2xlYXJUaW1lb3V0SWZOZWVkZWQoKTtjb25zdCBlPXRoaXMuX3V0Y1RpbWUudmFsdWUoKTtpZihudWxsPT09ZSlyZXR1cm47aWYodGhpcy5fZXhwaXJlZEJ5UXVvdGVzVHlwZXNwZWNzfHx0aGlzLl9leHBpcmVkQnlTeW1ib2xJbmZvVHlwZXNwZWNzKXJldHVybiB2b2lkIHRoaXMuX2V4cGlyZWQuc2V0VmFsdWUoITApO2NvbnN0IHQ9d2luZG93LkNoYXJ0QXBpSW5zdGFuY2Uuc2VydmVyVGltZSgpO2xldCBzO3N3aXRjaCh0aGlzLl9tYXJrZXRTdGF0dXNTcGF3bi52YWx1ZSgpKXtjYXNlIm91dF9vZl9zZXNzaW9uIjpjYXNlImhvbGlkYXkiOnM9ZS0zZTUtdDticmVhaztjYXNlIm1hcmtldCI6Y2FzZSJwcmVfbWFya2V0IjpjYXNlInBvc3RfbWFya2V0IjpzPWUrM2U1LXQ7YnJlYWs7ZGVmYXVsdDpzPWUtdH1zPjAmJih0aGlzLl90aW1lb3V0SWQ9c2V0VGltZW91dCgoKCk9PnRoaXMuX3VwZGF0ZUV4cGlyZWQoKSksTWF0aC5taW4oMmU5LHMpKSksdGhpcy5fZXhwaXJlZC5zZXRWYWx1ZShzPD0wKX1fY2xlYXJUaW1lb3V0SWZOZWVkZWQoKXtudWxsIT09dGhpcy5fdGltZW91dElkJiYoY2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVvdXRJZCksdGhpcy5fdGltZW91dElkPW51bGwpfV9vblF1b3Rlc1VwZGF0ZShlLHQpe2xldCBzPSExO2lmKG51bGw9PT10aGlzLl9leHBpcmVkQnlRdW90ZXNUeXBlc3BlY3MpdGhpcy5fZXhwaXJlZEJ5UXVvdGVzVHlwZXNwZWNzPUJvb2xlYW4oZS52YWx1ZXMudHlwZXNwZWNzPy5pbmNsdWRlcygiZXhwaXJlZCIpKSxzPXRoaXMuX2V4cGlyZWRCeVF1b3Rlc1R5cGVzcGVjcztlbHNlIGlmKHZvaWQgMCE9PXQudmFsdWVzLnR5cGVzcGVjcyl7Y29uc3QgZT1Cb29sZWFuKHQudmFsdWVzLnR5cGVzcGVjcz8uaW5jbHVkZXMoImV4cGlyZWQiKSk7cz10aGlzLl9leHBpcmVkQnlRdW90ZXNUeXBlc3BlY3MhPT1lLHRoaXMuX2V4cGlyZWRCeVF1b3Rlc1R5cGVzcGVjcz1lfXMmJm51bGwhPT10aGlzLl91dGNUaW1lLnZhbHVlKCkmJnRoaXMuX3VwZGF0ZUV4cGlyZWQoKX19ZnVuY3Rpb24gZChlKXtyZXR1cm4gd2luZG93LkNoYXJ0QXBpSW5zdGFuY2Uuc2VydmVyVGltZSgpLzFlMy1lfWZ1bmN0aW9uIG0oZSx0LHMpe2NvbnN0IG89dCsxZTM7cmV0dXJuIGU8PXM/dDw9cz8xLzA6by8xZTM6TWF0aC5taW4oZSxvKS8xZTN9IWZ1bmN0aW9uKGUpe2UuT3Blbj0ibWFya2V0IixlLlByZT0icHJlX21hcmtldCIsZS5Qb3N0PSJwb3N0X21hcmtldCIsZS5PdmVybmlnaHQ9Im5pZ2h0IixlLkNsb3NlPSJvdXRfb2Zfc2Vzc2lvbiIsZS5Ib2xpZGF5PSJob2xpZGF5IixlLkRlbGlzdGVkPSJkZWxpc3RlZCIsZS5FeHBpcmVkPSJleHBpcmVkIn0oaXx8KGk9e30pKTtjbGFzcyBwe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2N1cnJlbnRTZXNzaW9uPW5ldyByLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9kZWxpc3RlZEJ5VHlwZXNwZWNzPW5ldyByLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fc2Vzc2lvbnNTcGVjPW51bGwsdGhpcy5fbmV4dFNlc3Npb25FZGdlSW50ZXJuYWw9bnVsbCx0aGlzLl9uZXh0U2Vzc2lvbkVkZ2U9bmV3IHIuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX3JlY2FsY05leHRTZXNzaW9uRWRnZVRpbWVySWQ9bnVsbCx0aGlzLl9kZWxheT0wLHRoaXMuX2Z1dHVyZXNDb250cmFjdEV4cGlyYXRpb25UaW1lPW51bGwsdGhpcy5fcXVvdGVzUHJvdmlkZXI9ZTtjb25zdHtjdXJyZW50X3Nlc3Npb246dH09ZS5xdW90ZXMoKS52YWx1ZSgpPz97fTt0JiZ0aGlzLl9jdXJyZW50U2Vzc2lvbi5zZXRWYWx1ZSh0KSx0aGlzLl9mdXR1cmVzQ29udHJhY3RFeHBpcmF0aW9uVGltZT1uZXcgaCh0aGlzLl9jdXJyZW50U2Vzc2lvbi5yZWFkb25seSgpLGUucXVvdGVzVXBkYXRlKCkpLGUucXVvdGVTeW1ib2xDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT57KDAsYS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9mdXR1cmVzQ29udHJhY3RFeHBpcmF0aW9uVGltZSkucmVzZXQoKSx0aGlzLl9uZXh0U2Vzc2lvbkVkZ2VJbnRlcm5hbD1udWxsLHRoaXMuX3JlY2FsY3VsYXRlTmV4dFNlc3Npb25FZGdlKCl9KSksdGhpcy5fbWFya2V0U3RhdHVzPSgwLG4uY29tYmluZSkoKChlLHQscyk9Pm51bGw9PT1lP2U6dD8iZGVsaXN0ZWQiOnM/ImV4cGlyZWQiOmZ1bmN0aW9uKGUpe3N3aXRjaChlKXtjYXNlIm1hcmtldCI6cmV0dXJuIm1hcmtldCI7Y2FzZSJwcmVfbWFya2V0IjpyZXR1cm4icHJlX21hcmtldCI7Y2FzZSJwb3N0X21hcmtldCI6cmV0dXJuInBvc3RfbWFya2V0IjtjYXNlIm5pZ2h0IjpyZXR1cm4ibmlnaHQiO2Nhc2Uib3V0X29mX3Nlc3Npb24iOnJldHVybiJvdXRfb2Zfc2Vzc2lvbiI7Y2FzZSJob2xpZGF5IjpyZXR1cm4iaG9saWRheSJ9KDAsYS5lbnN1cmVOZXZlcikoZSl9KGUpKSx0aGlzLl9jdXJyZW50U2Vzc2lvbi53ZWFrUmVmZXJlbmNlKCksdGhpcy5fZGVsaXN0ZWRCeVR5cGVzcGVjcy53ZWFrUmVmZXJlbmNlKCksKHRoaXMuX2Z1dHVyZXNDb250cmFjdEV4cGlyYXRpb25UaW1lPy5leHBpcmVkKCk/P25ldyByLldhdGNoZWRWYWx1ZSghMSkpLndlYWtSZWZlcmVuY2UoKSksZS5xdW90ZXNVcGRhdGUoKS5zdWJzY3JpYmUodGhpcywoZT0+e3RoaXMuX2N1cnJlbnRTZXNzaW9uLnNldFZhbHVlKGU/LnZhbHVlcy5jdXJyZW50X3Nlc3Npb24/P251bGwpfSkpLGUucXVvdGVTeW1ib2xDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT57dGhpcy5fY3VycmVudFNlc3Npb24uc2V0VmFsdWUobnVsbCl9KSl9ZGVzdHJveSgpe3RoaXMuX3F1b3Rlc1Byb3ZpZGVyLnF1b3Rlc1VwZGF0ZSgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLAp0aGlzLl9xdW90ZXNQcm92aWRlci5xdW90ZVN5bWJvbENoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxudWxsIT09dGhpcy5fcmVjYWxjTmV4dFNlc3Npb25FZGdlVGltZXJJZCYmY2xlYXJUaW1lb3V0KHRoaXMuX3JlY2FsY05leHRTZXNzaW9uRWRnZVRpbWVySWQpLCgwLGEuZW5zdXJlTm90TnVsbCkodGhpcy5fZnV0dXJlc0NvbnRyYWN0RXhwaXJhdGlvblRpbWUpLmRlc3Ryb3koKSx0aGlzLl9tYXJrZXRTdGF0dXMuZGVzdHJveSgpfWZ1dHVyZXNDb250cmFjdEV4cGlyYXRpb25UaW1lKCl7cmV0dXJuIHRoaXMuX2Z1dHVyZXNDb250cmFjdEV4cGlyYXRpb25UaW1lfXNldFN5bWJvbEluZm8oZSl7aWYoKDAsYS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9mdXR1cmVzQ29udHJhY3RFeHBpcmF0aW9uVGltZSkuc2V0U3ltYm9sSW5mbyhlKSx0aGlzLl9uZXh0U2Vzc2lvbkVkZ2VJbnRlcm5hbD1udWxsLG51bGw9PT1lKXJldHVybiB2b2lkKHRoaXMuX3Nlc3Npb25zU3BlYz1udWxsKTt0aGlzLl9kZWxheT0oMCx1LmdldFN5bWJvbERlbGF5U2Vjb25kcykoZSk7Y29uc3QgdD1uZXcgYy5TZXNzaW9uc1NwZWMoZS50aW1lem9uZSxlLnNlc3Npb25fZGlzcGxheT8/ZS5zZXNzaW9uLGUuc2Vzc2lvbl9ob2xpZGF5cyxlLmNvcnJlY3Rpb25zKTtsZXQgcyxvO2NvbnN0IGk9ZS5zdWJzZXNzaW9ucz8uZmluZCgoZT0+InByZW1hcmtldCI9PT1lLmlkKSkscj1lLnN1YnNlc3Npb25zPy5maW5kKChlPT4icG9zdG1hcmtldCI9PT1lLmlkKSk7dm9pZCAwIT09aSYmKHM9bmV3IGMuU2Vzc2lvbnNTcGVjKGUudGltZXpvbmUsaVsic2Vzc2lvbi1kaXNwbGF5Il0/P2kuc2Vzc2lvbixlLnNlc3Npb25faG9saWRheXMsaVsic2Vzc2lvbi1jb3JyZWN0aW9uIl0pKSx2b2lkIDAhPT1yJiYobz1uZXcgYy5TZXNzaW9uc1NwZWMoZS50aW1lem9uZSxyWyJzZXNzaW9uLWRpc3BsYXkiXT8/ci5zZXNzaW9uLGUuc2Vzc2lvbl9ob2xpZGF5cyxyWyJzZXNzaW9uLWNvcnJlY3Rpb24iXSkpLHRoaXMuX2RlbGlzdGVkQnlUeXBlc3BlY3Muc2V0VmFsdWUoQm9vbGVhbihlLnR5cGVzcGVjcz8uaW5jbHVkZXMoImRpc2NvbnRpbnVlZCIpKSksdGhpcy5fc2Vzc2lvbnNTcGVjPXtnZW5lcmFsOnQscHJlTWFya2V0OnMscG9zdE1hcmtldDpvfSx0aGlzLl9yZWNhbGN1bGF0ZU5leHRTZXNzaW9uRWRnZSgpfXN0YXR1cygpe3JldHVybiB0aGlzLl9tYXJrZXRTdGF0dXN9Y3VycmVudFNlc3Npb24oKXtyZXR1cm4gdGhpcy5fY3VycmVudFNlc3Npb259bmV4dFNlc3Npb25FZGdlKCl7cmV0dXJuIHRoaXMuX25leHRTZXNzaW9uRWRnZX1fZ2V0TmV4dFNlc3Npb25FZGdlSW50ZXJuYWwoKXtpZihudWxsPT09dGhpcy5fc2Vzc2lvbnNTcGVjKXJldHVybiBudWxsO2NvbnN0IGU9MWUzKmQodGhpcy5fZGVsYXkpO2lmKG51bGw9PT10aGlzLl9uZXh0U2Vzc2lvbkVkZ2VJbnRlcm5hbHx8KHRoaXMuX25leHRTZXNzaW9uRWRnZUludGVybmFsLnRpbWVzdGFtcD8/MS8wKTw9ZS8xZTMpe2NvbnN0e2dlbmVyYWw6dCxwcmVNYXJrZXQ6cyxwb3N0TWFya2V0Om99PXRoaXMuX3Nlc3Npb25zU3BlYyxpPSgwLGwuZ2V0X3RpbWV6b25lKSh0LnRpbWV6b25lKCkpLHI9KDAsbC51dGNfdG9fY2FsKShpLGUpLG49bSgoMCxsLmNhbF90b191dGMpKGksdC5hbGlnblRvTmVhcmVzdFNlc3Npb25TdGFydChyLDEpKSwoMCxsLmNhbF90b191dGMpKGksdC5hbGlnblRvTmVhcmVzdFNlc3Npb25FbmQociwxKSksZSksYT1tKHZvaWQgMCE9PXM/KDAsbC5jYWxfdG9fdXRjKShpLHMuYWxpZ25Ub05lYXJlc3RTZXNzaW9uU3RhcnQociwxKSk6MS8wLHZvaWQgMCE9PXM/KDAsbC5jYWxfdG9fdXRjKShpLHMuYWxpZ25Ub05lYXJlc3RTZXNzaW9uRW5kKHIsMSkpOjEvMCxlKSxjPW0odm9pZCAwIT09bz8oMCxsLmNhbF90b191dGMpKGksby5hbGlnblRvTmVhcmVzdFNlc3Npb25TdGFydChyLDEpKToxLzAsdm9pZCAwIT09bz8oMCxsLmNhbF90b191dGMpKGksby5hbGlnblRvTmVhcmVzdFNlc3Npb25FbmQociwxKSk6MS8wLGUpO2xldCB1PU1hdGgubWluKG4sYSxjKTtpZih1PT09MS8wKXtjb25zdCBlPWQodGhpcy5fZGVsYXkpLHM9NmU0LG89bmV3IERhdGUoTWF0aC5yb3VuZChuZXcgRGF0ZSgxZTMqZSkuZ2V0VGltZSgpL3MpKnMpLmdldFRpbWUoKStzLHI9KDAsbC51dGNfdG9fY2FsKShpLG8pLG49bSgoMCxsLmNhbF90b191dGMpKGksdC5hbGlnblRvTmVhcmVzdFNlc3Npb25TdGFydChyLDEpKSwoMCxsLmNhbF90b191dGMpKGksdC5hbGlnblRvTmVhcmVzdFNlc3Npb25FbmQociwxKSksbyksaD1NYXRoLm1pbihuLGEsYyk7aCE9PTEvMD8odGhpcy5fbmV4dFNlc3Npb25FZGdlSW50ZXJuYWw9e3RpbWVzdGFtcDp1fSx1PWgpOnRoaXMuX25leHRTZXNzaW9uRWRnZUludGVybmFsPXt0aW1lc3RhbXA6bnVsbH19dGhpcy5fbmV4dFNlc3Npb25FZGdlSW50ZXJuYWw9dT09PWM/e3RpbWVzdGFtcDp1LHN0YXR1czoicG9zdF9tYXJrZXQifTp1PT09YT97dGltZXN0YW1wOnUsc3RhdHVzOiJwcmVfbWFya2V0In06e3RpbWVzdGFtcDp1fX1yZXR1cm4gdGhpcy5fbmV4dFNlc3Npb25FZGdlSW50ZXJuYWx9X3JlY2FsY3VsYXRlTmV4dFNlc3Npb25FZGdlKCl7Y29uc3QgZT10aGlzLl9nZXROZXh0U2Vzc2lvbkVkZ2VJbnRlcm5hbCgpO2lmKG51bGw9PT1lfHxudWxsPT09ZS50aW1lc3RhbXApcmV0dXJuIHZvaWQgdGhpcy5fbmV4dFNlc3Npb25FZGdlLnNldFZhbHVlKG51bGwpO2NvbnN0IHQ9e3N0YXR1czplLnN0YXR1cyxyZW1haW5pbmdTZWNvbmRzOk1hdGgubWF4KDAsZS50aW1lc3RhbXAtZCh0aGlzLl9kZWxheSkpfTtpZihudWxsPT09dGhpcy5fcmVjYWxjTmV4dFNlc3Npb25FZGdlVGltZXJJZCl7Y29uc3QgZT1OdW1iZXIuaXNGaW5pdGUodC5yZW1haW5pbmdTZWNvbmRzKT9NYXRoLmNlaWwodC5yZW1haW5pbmdTZWNvbmRzJTYwKToxO3RoaXMuX3JlY2FsY05leHRTZXNzaW9uRWRnZVRpbWVySWQ9c2V0VGltZW91dCgoKCk9PnRoaXMuX3JlY2FsY3VsYXRlTmV4dFNlc3Npb25FZGdlQnlUaW1lcigpKSwxZTMqZSl9dGhpcy5fbmV4dFNlc3Npb25FZGdlLnNldFZhbHVlKHQpfQpfcmVjYWxjdWxhdGVOZXh0U2Vzc2lvbkVkZ2VCeVRpbWVyKCl7dGhpcy5fcmVjYWxjTmV4dFNlc3Npb25FZGdlVGltZXJJZD1udWxsLHRoaXMuX3JlY2FsY3VsYXRlTmV4dFNlc3Npb25FZGdlKCl9fXZhciBnPXMoMjQxOTU2KTt2YXIgXz1zKDY5OTU1MCk7Y29uc3QgeT1uZXcgci5XYXRjaGVkVmFsdWUoITEpO2NsYXNzIGZ7Y29uc3RydWN0b3IoZSl7dGhpcy5fcXVvdGVzUHJvdmlkZXI9bmV3IF8uUXVvdGVzUHJvdmlkZXIoInNpbXBsZSIpLHRoaXMuX3N0b3BwZWQ9ITEsdGhpcy5fc3ltYm9sPWZ1bmN0aW9uKGUsdCl7Y29uc3Qgcz1uZXcgci5XYXRjaGVkVmFsdWUoZSgpKSxvPXt9O3JldHVybiB0LmZvckVhY2goKHQ9PnQuc3Vic2NyaWJlKG8sKCgpPT57cy5zZXRWYWx1ZShlKCkpfSkpKSkscy5yZWFkb25seSgpLnNwYXduKCgoKT0+dC5mb3JFYWNoKChlPT5lLnVuc3Vic2NyaWJlQWxsKG8pKSkpKX0oKCgpPT4oMCx1LmFjdHVhbFN5bWJvbCkoZS5tYWluUGxvdCgpLnN5bWJvbEluZm8oKSxlLm1haW5QbG90KCkuc3ltYm9sKCkpKSxbZS5tYWluUGxvdCgpLnN5bWJvbENoYW5nZWQoKSxlLm1haW5QbG90KCkuc3ltYm9sUmVzb2x2ZWQoKV0pLHRoaXMuX3N5bWJvbC5zdWJzY3JpYmUoKGU9Pnt0aGlzLl9zdG9wcGVkfHx0aGlzLl9xdW90ZXNQcm92aWRlci5zZXRRdW90ZXNTZXNzaW9uU3ltYm9sKGUpfSkse2NhbGxXaXRoTGFzdDohMH0pLHRoaXMuX2lzU3ltYm9sSW52YWxpZD0oMCxuLmNvbWJpbmUpKChlPT4xPT09ZSksZS5tYWluUGxvdCgpLnN0YXR1cygpLndlYWtSZWZlcmVuY2UoKSksdGhpcy5fc3ltYm9sSW5mbz0oMCxnLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbikoKCgpPT5lLm1haW5QbG90KCkuc3ltYm9sSW5mbygpKSxlLm1haW5QbG90KCkuc3ltYm9sUmVzb2x2ZWQoKSksdGhpcy5fbWFya2V0U3RhdHVzTW9kZWw9bmV3IHAodGhpcy5fcXVvdGVzUHJvdmlkZXIpLHRoaXMuX3N5bWJvbEluZm8uc3Vic2NyaWJlKChlPT50aGlzLl9tYXJrZXRTdGF0dXNNb2RlbC5zZXRTeW1ib2xJbmZvKGUpKSl9ZGVzdHJveSgpe3RoaXMuX3N5bWJvbC5kZXN0cm95KCksdGhpcy5faXNTeW1ib2xJbnZhbGlkLmRlc3Ryb3koKSx0aGlzLl9zeW1ib2xJbmZvLmRlc3Ryb3koKSx0aGlzLl9xdW90ZXNQcm92aWRlci5kZXN0cm95KCksdGhpcy5fbWFya2V0U3RhdHVzTW9kZWwuZGVzdHJveSgpfXBhdXNlKCl7dGhpcy5fc3RvcHBlZD0hMCx0aGlzLl9xdW90ZXNQcm92aWRlci5wYXVzZSgpfXJlc3VtZSgpe3RoaXMuX3N0b3BwZWQ9ITEsdGhpcy5fcXVvdGVzUHJvdmlkZXIucmVzdW1lKCl9c3ltYm9sKCl7cmV0dXJuIHRoaXMuX3N5bWJvbH1pc1N5bWJvbEludmFsaWQoKXtyZXR1cm4gdGhpcy5faXNTeW1ib2xJbnZhbGlkfWhpZGRlbigpe3JldHVybiB5LnJlYWRvbmx5KCl9bWFya2V0U3RhdHVzTW9kZWwoKXtyZXR1cm4gdGhpcy5fbWFya2V0U3RhdHVzTW9kZWx9ZXJyb3JTdGF0dXMoKXtyZXR1cm4gbmV3IHIuV2F0Y2hlZFZhbHVlKG51bGwpLnJlYWRvbmx5KCl9c3ltYm9sSW5mbygpe3JldHVybiB0aGlzLl9zeW1ib2xJbmZvfWRhdGFQcm9ibGVtTW9kZWwoKXtyZXR1cm4gbnVsbH1kYXRhVXBkYXRlZE1vZGVNb2RlbCgpe3JldHVybiBudWxsfWFzeW5jIHBpbmVTb3VyY2VDb2RlTW9kZWwoKXtyZXR1cm4gbnVsbH1hbGVydFNvdXJjZU1vZGVsKCl7cmV0dXJuIG51bGx9fX0sNTc3NzEzKGUsdCxzKXsidXNlIHN0cmljdCI7YXN5bmMgZnVuY3Rpb24gbygpe3JldHVybihhd2FpdCBQcm9taXNlLmFsbChbcy5lKDIwMzU0KSxzLmUoOTgwODQpLHMuZSg3NDYzNikscy5lKDMyMzg3KSxzLmUoMjg1MDcpXSkudGhlbihzLmJpbmQocyw2MDk2ODIpKSkuRXJyb3JDYXJkUmVuZGVyZXJ9cy5kKHQse2dldEVycm9yQ2FyZFJlbmRlcmVyOigpPT5vfSl9LDEzODYzOChlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSx0KXtpZighZSl0aHJvdyBuZXcgRXJyb3IoIkFzc2VydGlvbiBmYWlsZWQiKyh0P2A6ICR7dH1gOiIiKSl9ZnVuY3Rpb24gaShlLHQpe2lmKHZvaWQgMD09PWUpdGhyb3cgbmV3IEVycm9yKGAke3Q/PyJWYWx1ZSJ9IGlzIHVuZGVmaW5lZGApO3JldHVybiBlfWZ1bmN0aW9uIHIoZSx0KXtpZihudWxsPT09ZSl0aHJvdyBuZXcgRXJyb3IoYCR7dD8/IlZhbHVlIn0gaXMgbnVsbGApO3JldHVybiBlfWZ1bmN0aW9uIG4oZSx0KXtyZXR1cm4gcihpKGUsdCksdCl9ZnVuY3Rpb24gYShlKXt9cy5kKHQse2Fzc2VydDooKT0+byxlbnN1cmU6KCk9Pm4sZW5zdXJlRGVmaW5lZDooKT0+aSxlbnN1cmVOZXZlcjooKT0+YSxlbnN1cmVOb3ROdWxsOigpPT5yfSl9LDEzMTI5NChlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSl7Y29uc3QgdD1PYmplY3QuY3JlYXRlKGUpO3JldHVybiB0LnJlbGVhc2U9KCk9Pnt9LHQub3duZXJzaGlwPSgpPT50LHR9ZnVuY3Rpb24gaShlKXtjb25zdCB0PWU7cmV0dXJuIHQucmVsZWFzZT0oKT0+dC5kZXN0cm95KCksdC5vd25lcnNoaXA9KCk9PnQsdH1zLmQodCx7b3duZXJzaGlwOigpPT5pLHdlYWtSZWZlcmVuY2U6KCk9Pm99KX0sODU2NTYoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLnIodCkscy5kKHQse3VucGFja05vblNlcmllc0RhdGFDb21wcmVzc2VkOigpPT5hfSk7dmFyIG89cyg2MDE4NDEpLGk9cyg5OTU2NTUpLHI9cyg4NjY3NDgpLG49cyg4NDg2MDEpO2FzeW5jIGZ1bmN0aW9uIGEoZSl7Y29uc3QgdD0oMCxuLnBhcnNlTm9uU2VyaWVzRW52ZWxvcGUpKGUpO2lmKG51bGw9PT10KXJldHVybiBudWxsO2NvbnN0e25zRGF0YTpzLHBhcnNlZERhdGE6YX09dDtyZXR1cm4gcy5pbmRleGVzX3JlcGxhY2V8fCgoMCxvLmhhc1Byb3BlcnR5KShhLCJkYXRhQ29tcHJlc3NlZCIpJiYocy5kYXRhPWF3YWl0KDAsci51bnBhY2spKGEuZGF0YUNvbXByZXNzZWQpKSwoMCxvLmhhc1Byb3BlcnR5KShhLCJncmFwaGljc0NtZHNDb21wcmVzc2VkIikmJihzLmdyYXBoaWNzQ21kcz0oMCxpLnZhbGlkYXRlR3JhcGhpY3NDb21tYW5kcykoYXdhaXQoMCxyLnVucGFjaykoYS5ncmFwaGljc0NtZHNDb21wcmVzc2VkKSkpKSxzfX0sOTY1Nzk1KGUsdCxzKXsidXNlIHN0cmljdCIKO3MuZCh0LHttYWtlTmV4dFN0dWR5SWQ6KCk9Pml9KTtsZXQgbz0wO2Z1bmN0aW9uIGkoKXtyZXR1cm4gbysrLCJzdCIrb319LDE4MDE5OChlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtsZXQgbz1udWxsLGk9ITE7cmV0dXJuIFByb21pc2UuYWxsKFtzLmUoNjQ2NDQpLnRoZW4ocy50LmJpbmQocyw3Nzk0NzQsMTkpKSxQcm9taXNlLmFsbChbcy5lKDMyMzg3KSxzLmUoNzEzMDApXSkudGhlbihzLmJpbmQocyw1NzEzMDApKSxQcm9taXNlLmFsbChbcy5lKDM2MjIyKSxzLmUoNDc1NTEpLHMuZSg3MTYzKSxzLmUoMzIzODcpLHMuZSg0NTMyMildKS50aGVuKHMuYmluZChzLDczMjk0NikpXSkudGhlbigoKFtzLHIsbl0pPT57aXx8KG89ci5jcmVhdGVSZWFjdFJvb3Qocy5jcmVhdGVFbGVtZW50KG4uTGlnaHR3ZWlnaHRDaGFydFByaWNlVGltZVRvb2x0aXAsey4uLmV9KSx0KSl9KSksKCk9PntpPSEwLHQucmVtb3ZlKCksbz8udW5tb3VudCgpfX1zLmQodCx7Y3JlYXRlTGlnaHR3ZWlnaHRDaGFydFByaWNlVGltZVRvb2x0aXA6KCk9Pm99KX0sNzE5NzgxKGUsdCxzKXsidXNlIHN0cmljdCI7dmFyIG87cy5kKHQse0RlbGF5VHlwZTooKT0+b30pLGZ1bmN0aW9uKGUpe2VbZS5Bbm9uPTFdPSJBbm9uIixlW2UuRGVsYXk9Ml09IkRlbGF5IixlW2UuRnJlZURlbGF5PTNdPSJGcmVlRGVsYXkifShvfHwobz17fSkpfSw3MzUyNzkoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7REVGQVVMVF9USU1FX0ZSQU1FX0lURU1fVEhFTUU6KCk9PmMsVGltZUZyYW1lSXRlbTooKT0+dX0pO3ZhciBvPXMoNzc5NDc0KSxpPXMoOTE0NDg3KSxyPXMubihpKSxuPXMoNjU4NDYpLGE9cyg4NTQ4MjApLGw9cyg4MDMzNDkpO2NvbnN0IGM9bCx1PSgwLG4ubWFrZVN3aXRjaEdyb3VwSXRlbSkoY2xhc3MgZXh0ZW5kcyBvLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX29uQ2hhbmdlPSgpPT57dGhpcy5wcm9wcy5vbkNoYW5nZSYmdGhpcy5wcm9wcy5vbkNoYW5nZSh7dGFyZ2V0Ont2YWx1ZTp0aGlzLnByb3BzLnZhbHVlfHwiIn19KX19cmVuZGVyKCl7Y29uc3R7b3B0aW9uOmUsY2hlY2tlZDp0LHRoZW1lOnM9bCxzaXplOmkscmVmZXJlbmNlOm59PXRoaXMucHJvcHM7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChhLkxpZ2h0QnV0dG9uLHtyZWZlcmVuY2U6bixvbkNsaWNrOnRoaXMuX29uQ2hhbmdlLGlzU2VsZWN0ZWQ6dCx0YWJJbmRleDowLHRpdGxlOmUuZGVzY3JpcHRpb24sY2xhc3NOYW1lOnIoKSgiYXBwbHktY29tbW9uLXRvb2x0aXAiLHMub3B0aW9uLHQmJnMub3B0aW9uU2VsZWN0ZWQpLHNpemU6aSxjb2xvcjoiZ3JheSIsdmFyaWFudDoicXVpZXQtcHJpbWFyeSJ9LGUudGV4dCl9fSl9LDk4NjI3NShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtnZXRMb2dvVXJsc0hvb2s6KCk9PmwscmVtb3ZlVXNkRnJvbUNyeXB0b1BhaXJMb2dvczooKT0+YyxyZXNvbHZlTG9nb1VybHM6KCk9Pm4scmVzb2x2ZUxvZ29VcmxzRnJvbUxvZ29EYXRhOigpPT5hfSk7dmFyIG89cyg2MDE4NDEpLGk9cyg4NjIyMTMpO2NvbnN0IHI9KDAsaS5nZXRMb2dvVXJsUmVzb2x2ZXIpKCk7ZnVuY3Rpb24gbihlLHQ9aS5Mb2dvU2l6ZS5NZWRpdW0pe2NvbnN0IHM9ZS5sb2dvaWQsbz1lWyJiYXNlLWN1cnJlbmN5LWxvZ29pZCJdLG49ZVsiY3VycmVuY3ktbG9nb2lkIl0sYT1zJiZyLmdldFN5bWJvbExvZ29Vcmwocyx0KTtpZihhKXJldHVyblthXTtjb25zdCBsPW8mJnIuZ2V0U3ltYm9sTG9nb1VybChvLHQpLGM9biYmci5nZXRTeW1ib2xMb2dvVXJsKG4sdCk7cmV0dXJuIGwmJmM/W2wsY106bD9bbF06Yz9bY106W119ZnVuY3Rpb24gYShlLHQ9aS5Mb2dvU2l6ZS5NZWRpdW0pe3JldHVybigicGFpciI9PT1lLnN0eWxlP1tlLmxvZ29pZCxlLmxvZ29pZDJdOltlLmxvZ29pZF0pLm1hcCgoZT0+ci5nZXRTeW1ib2xMb2dvVXJsKGUsdCkpKS5maWx0ZXIoby5ub3ROdWxsKX1mdW5jdGlvbiBsKGUsdCl7bGV0IHM9ITE7cmV0dXJuKG8saSxyKT0+e2lmKCFzJiYoby5sb2dvfHxyKSl7cz0hMDtjb25zdCBpPW8ubG9nbz9hKG8ubG9nbyx0KTpbXTtlKGkpfX19ZnVuY3Rpb24gYyhlKXtyZXR1cm4gMiE9PWUubGVuZ3RoP2U6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuc29tZSgoZT0+dShlKSkpfShlKSYmIWZ1bmN0aW9uKGUpe3JldHVybiBlLnNvbWUoKGU9PmUuaW5jbHVkZXMoImNvdW50cnkiKSYmIXUoZSkpKX0oZSk/ZS5maWx0ZXIoKGU9PiF1KGUpKSk6ZX1mdW5jdGlvbiB1KGUpe3JldHVybiBlLmluY2x1ZGVzKCJjb3VudHJ5L1VTIil9fSwyMjc2NTkoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Y3JlYXRlTWVkaXVtV2lkZ2V0OigpPT5FZX0pO3MoNzIyNTcxKSxzKDc5NTM4Mykscyg1MjI1NzgpO3ZhciBvPXMoNjc4MzEyKSxpPXMoMTM0NjcpLHI9cyg1MDU1Niksbj1zKDk2MzA5OCksYT1zKDg3MzU3MyksbD1zKDYwMTU4Nyk7Y29uc3QgYz0oMCxzKDY5MzUwMCkuZ2V0VGltZUZyYW1lcykoKTt2YXIgdT1zKDgwMjU4NiksaD1zKDY2NTE0NSksZD1zKDE4OTg2MyksbT1zKDkwMjEwMCkscD1zKDc0MDE2MiksZz1zKDEzODYzOCksXz1zKDM4NzIzMSkseT1zKDQ0MzU1NyksZj1zKDIyMTA2MSksYj1zKDQyOTU0OSk7Y29uc3QgUz0oMCxmLmdldExvZ2dlcikoIkNoYXJ0Lk1pbmlXaWRnZXRSZW5kZXJlciIpO2Z1bmN0aW9uIHYoZSx0KXtjb25zdCBzPWUuc3BsaXQoInwiKSxvPXNbMF0saT1zWzFdfHx2b2lkIDAscj1zWzJdfHx2b2lkIDA7cmV0dXJuW28sdD90KGkpOmkscl19Y2xhc3MgQ3tjb25zdHJ1Y3RvcihlLHQpe2lmKHRoaXMuX3N5bWJvbERlc2NyaXB0aW9uPSIiLHRoaXMuX3N5bWJvbFNob3J0TmFtZT0iIix0aGlzLl9zeW1ib2xOYW1lPSIiLGZ1bmN0aW9uKGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpJiYyPT09ZS5sZW5ndGgmJmUuZXZlcnkoKGU9PiJzdHJpbmciPT10eXBlb2YgZSkpfShlKSl7Y29uc3RbcyxvXT1lO3RoaXMuX3N5bWJvbERlc2NyaXB0aW9uPXMsClt0aGlzLl9zeW1ib2xOYW1lLHRoaXMuX3N5bWJvbFRpbWVmcmFtZSx0aGlzLl9zeW1ib2xDdXJyZW5jeV09dihvLHQpfWVsc2V7aWYoInN0cmluZyIhPXR5cGVvZiBlKXJldHVybiB2b2lkIFMubG9nRXJyb3IoIlN5bWJvbCBzaG91bGQgYmUgYXJyYXkgWydkZXNjcmlwdGlvbicsICdzeW1ib2xfbmFtZScsICdzeW1ib2xfY3VycmVuY3knXSBvciBzdHJpbmcgJ3N5bWJvbF9uYW1lJyIpO1t0aGlzLl9zeW1ib2xOYW1lLHRoaXMuX3N5bWJvbFRpbWVmcmFtZSx0aGlzLl9zeW1ib2xDdXJyZW5jeV09dihlLHQpfX1kZXNjcmlwdGlvbihlKXtyZXR1cm4gZSYmKHRoaXMuX3N5bWJvbERlc2NyaXB0aW9uPWUpLHRoaXMuX3N5bWJvbERlc2NyaXB0aW9ufXNob3J0TmFtZShlKXtyZXR1cm4gZT90aGlzLl9zeW1ib2xTaG9ydE5hbWU9ZTp0aGlzLl9zeW1ib2xTaG9ydE5hbWV8fCh0aGlzLl9zeW1ib2xTaG9ydE5hbWU9dGhpcy5fc3ltYm9sTmFtZS5yZXBsYWNlKC9eKC4rOikvLCIiKSksdGhpcy5fc3ltYm9sU2hvcnROYW1lfW5hbWUoKXtyZXR1cm4gdGhpcy5fc3ltYm9sTmFtZX10aW1lZnJhbWUoKXtyZXR1cm4gdGhpcy5fc3ltYm9sVGltZWZyYW1lJiYoMCxiLmdldEFjdHVhbFRpbWVGcmFtZSkodGhpcy5fc3ltYm9sVGltZWZyYW1lKX1jdXJyZW5jeSgpe3JldHVybiB0aGlzLl9zeW1ib2xDdXJyZW5jeX1lcXVhbFRvKGUpe3JldHVybiBlIGluc3RhbmNlb2YgQz90aGlzLm5hbWUoKT09PWUubmFtZSgpJiZ0aGlzLmRlc2NyaXB0aW9uKCk9PT1lLmRlc2NyaXB0aW9uKCkmJnRoaXMudGltZWZyYW1lKCk9PT1lLnRpbWVmcmFtZSgpOihTLmxvZ1dhcm4oIlN5bWJvbCAiK2UrIiBzaG91bGQgYmUgaW5zdGFuY2Ugb2YgV2lkZ2V0UmVuZGVyZXJTeW1ib2wiKSwhMSl9fXZhciB3PXMoNjUzODE3KSxUPXMoNzQyNTc3KSx4PXMoMTUzNjI2KTt2YXIgaz1zKDk0ODM4MCksTj1zKDY3MTk0OSksTD1zKDYwMTg0MSksRT1zKDIzMjM2NCksTT1zKDc3MzA4OCksUD1zKDE4NTI3MSksRD1zKDg4NDc5OCksUj1zKDE1MjE4Mik7ZnVuY3Rpb24gSShlKXtjb25zdHtsb2dvVXJsczp0LC4uLnN9PWU7cmV0dXJuIDE9PT10Lmxlbmd0aD8oMCxELmdldENpcmNsZUxvZ29IdG1sKSh7bG9nb1VybDp0WzBdLC4uLnN9KToyPT09dC5sZW5ndGg/KDAsUi5nZXRDaXJjbGVMb2dvUGFpckh0bWwpKHtwcmltYXJ5TG9nb1VybDp0WzBdLHNlY29uZGFyeUxvZ29Vcmw6dFsxXSwuLi5zfSk6KDAsRC5nZXRDaXJjbGVMb2dvSHRtbCkoe2xvZ29Vcmw6dm9pZCAwLC4uLnN9KX12YXIgQT1zKDk4NjI3NSksTz1zKDIyNjkzNyksRj1zKDkxMTMyNyksQj1zKDMwNzQyMSksVj1zKDM0NDEwMyksVT1zKDM4NDAxNyksVz1zKDQ3OTM0KSxxPShzKDgyOTE4MCkscyg0OTg2NTEpKTtmdW5jdGlvbiBIKGUpe2lmKCEoMCxxLmlzSURDRXhjaGFuZ2UpKGUpKXJldHVybiExO2U9eihlKTtjb25zdCB0PXdpbmRvdy5wcm8scz10LmdldFByb2R1Y3QoZSk7cmV0dXJuIHZvaWQgMCE9PXMuaWRjX3NlcnZpY2VfY29kZXNfZGVsYXkmJigoIUFycmF5LmlzQXJyYXkocy5pbmNsdWRlZF9leGNoYW5nZXMpfHwhcy5pbmNsdWRlZF9leGNoYW5nZXMuc29tZSgoZT0+dC5oYXNQYWNrYWdlKHooZSkpKSkpJiYhZnVuY3Rpb24oZSl7Y29uc3QgdD13aW5kb3cucHJvO3JldHVybiB0Lmhhc1BhY2thZ2UoZSl8fHQuaGFzUGFja2FnZShlKyJfZGx5Iil9KGUpKX1mdW5jdGlvbiB6KGUpe3JldHVybiBlLnN0YXJ0c1dpdGgoImV4Y2hhbmdlLSIpP2U6ImV4Y2hhbmdlLXswfSIuZm9ybWF0KGUudG9Mb3dlckNhc2UoKSl9Y29uc3Qgaj17T0s6Ik9LIixFUlI6IkVSUiIsU1lNQk9MX05PVF9BVkFJTEFCTEVfRk9SX0FOT046IlNZTUJPTF9OT1RfQVZBSUxBQkxFX0ZPUl9BTk9OIixERUxBWV9OT1RfQVZBSUxBQkxFOiJERUxBWV9OT1RfQVZBSUxBQkxFIixORUVEX1NJR05fQUdSRUVNRU5UOiJORUVEX1NJR05fQUdSRUVNRU5UIixORUVEX0FERF9TRVJWSUNFOiJORUVEX0FERF9TRVJWSUNFIn07ZnVuY3Rpb24gUShlLHQ9ITApe3JldHVybiBuZXcgUHJvbWlzZSgoKHMsbyk9Pntjb25zdCBpPSgwLFYuZ2V0RXhjaGFuZ2UpKGUpO2k/ZnVuY3Rpb24oZSl7Y29uc3QgdD13aW5kb3cucHJvO3JldHVybiBuZXcgUHJvbWlzZSgocz0+e3dpbmRvdy5pc19hdXRoZW50aWNhdGVkPyF0LmdldElEQ0V4Y2hhbmdlcyghMCkubGVuZ3RofHx0LmlzSW52YWxpZFNob3BDb25mKCk/dC51cGRhdGVTaG9wQ29uZigpLnRoZW4oKCgpPT57cyghSChlKSl9KSkuY2F0Y2goKCgpPT57cyghMCl9KSk6cyghSChlKSk6cyghMCl9KSl9KGkpLnRoZW4oKHI9PnI/cyhlKTooMCxXLmVuYWJsZWQpKCJJRENfQVZBSUxBQkxFX0RFTEFZIik/dD92b2lkKDAsVS5mZXRjaCkoYC9pZGMtc2lnbi1hZ3JlZW1lbnQtY2hlY2svJHtpfS9gLHtjcmVkZW50aWFsczoiaW5jbHVkZSJ9KS50aGVuKCh0PT50Lmpzb24oKS50aGVuKCh0PT50LnJlcz09PWouREVMQVlfTk9UX0FWQUlMQUJMRT9vKHtleGNoYW5nZTppLGVyckNvZGU6dC5yZXMscmVhc29uOiJkZWxheSBub3QgYXZhaWxhYmxlIixzeW1ib2w6ZX0pOnQucmVzPT09ai5ORUVEX1NJR05fQUdSRUVNRU5UP28oe2V4Y2hhbmdlOmksZXJyQ29kZTp0LnJlcyxyZWFzb246Im5lZWQgc2lnbiBhZ3JlZW1lbnQiLHN5bWJvbDplfSk6dC5yZXM9PT1qLk5FRURfQUREX1NFUlZJQ0U/byh7ZXhjaGFuZ2U6aSxlcnJDb2RlOnQucmVzLHJlYXNvbjoibmVlZCBhZGQgc2VydmljZSIsc3ltYm9sOmV9KTpzKGUpKSkpKS5jYXRjaCgoKCk9PntzKGUpfSkpOnMoZSk6byh7ZXhjaGFuZ2U6aSxlcnJDb2RlOmouREVMQVlfTk9UX0FWQUlMQUJMRSxyZWFzb246ImRlbGF5IG5vdCBhdmFpbGFibGUiLHN5bWJvbDplfSkpKTpzKGUpfSkpfXZhciBLPXMoNjIwMzU0KSwkPXMoNzA5MzcwKTtmdW5jdGlvbiBHKGUsdCxzPTEsbyl7Y29uc3QgaT1NYXRoLnJvdW5kKHQqZSkscj1vP3M6TWF0aC5yb3VuZChzKnQpLG49ZnVuY3Rpb24oZSl7cmV0dXJuIE1hdGguZmxvb3IoLjUqZSl9KHIpO3JldHVybntwb3NpdGlvbjppLW4sbGVuZ3RoOnJ9fWNsYXNzIFp7Y29uc3RydWN0b3IoKXt0aGlzLl9wcmljZT1udWxsLAp0aGlzLl94PW51bGwsdGhpcy5fb3B0aW9ucz17Zm9udFNpemU6MTAsZm9udEZhbWlseToic2Fucy1zZXJpZiIsY29sb3I6IiMwMDAwMDAifSx0aGlzLl90aXRsZT0iIn11cGRhdGUoZSx0LHMsbz0iIil7dGhpcy5fcHJpY2U9ZSx0aGlzLl9vcHRpb25zPXQsdGhpcy5feD1zLHRoaXMuX3RpdGxlPW99ZHJhdyhlKXtlLnVzZUJpdG1hcENvb3JkaW5hdGVTcGFjZSgoZT0+e2lmKG51bGw9PT10aGlzLl9wcmljZXx8bnVsbD09PXRoaXMuX3gpcmV0dXJuO2NvbnN0IHQ9TWF0aC5yb3VuZCh0aGlzLl94KmUuaG9yaXpvbnRhbFBpeGVsUmF0aW8pLHM9Ryh0aGlzLl9wcmljZSxlLnZlcnRpY2FsUGl4ZWxSYXRpbyxlLnZlcnRpY2FsUGl4ZWxSYXRpbyksbz1zLnBvc2l0aW9uK3MubGVuZ3RoLzIsaT10aGlzLl90aXRsZT81KmUuaG9yaXpvbnRhbFBpeGVsUmF0aW86ZS5ob3Jpem9udGFsUGl4ZWxSYXRpbyxyPWUuY29udGV4dDt0aGlzLl9kcmF3TGluZShyLHQsbyxlLGkpLHRoaXMuX3RpdGxlJiZ0aGlzLl9kcmF3VGl0bGUocixlLHMucG9zaXRpb24pfSkpfV9kcmF3TGluZShlLHQscyxvLGkpe2UuYmVnaW5QYXRoKCksZS5zZXRMaW5lRGFzaChbMipvLnZlcnRpY2FsUGl4ZWxSYXRpbywyKm8udmVydGljYWxQaXhlbFJhdGlvXSksZS5tb3ZlVG8odCxzKSxlLmxpbmVUbyhvLmJpdG1hcFNpemUud2lkdGgtaSxzKSxlLnN0cm9rZVN0eWxlPXRoaXMuX29wdGlvbnMuY29sb3IsZS5saW5lV2lkdGg9by52ZXJ0aWNhbFBpeGVsUmF0aW8vMixlLnN0cm9rZSgpfV9kcmF3VGl0bGUoZSx0LHMpe2NvbnN0IG89dGhpcy5fb3B0aW9ucy5mb250U2l6ZSp0Lmhvcml6b250YWxQaXhlbFJhdGlvO2UuZm9udD1gJHtvfXB4ICR7dGhpcy5fb3B0aW9ucy5mb250RmFtaWx5fWA7Y29uc3Qgcj1lLm1lYXN1cmVUZXh0KHRoaXMuX3RpdGxlKS53aWR0aCxuPTIuNSp0LnZlcnRpY2FsUGl4ZWxSYXRpbyxhPW8vMTIqMi41KnQuaG9yaXpvbnRhbFBpeGVsUmF0aW8sbD1yKzIqYSxjPW8rMipuLHU9Mip0Lmhvcml6b250YWxQaXhlbFJhdGlvLGg9dC5iaXRtYXBTaXplLndpZHRoLWwtNSp0Lmhvcml6b250YWxQaXhlbFJhdGlvLGQ9KHMtYy8yKSUyPT0wP3MtYy8yOnMtYy8yKzEsbT0oMCxpLnBhcnNlUmdiKSh0aGlzLl9vcHRpb25zLmNvbG9yKSxwPSgwLGkucmdiVG9TdHJpbmcpKG0pLGc9LjE5OSooXz1tKVswXSsuNjg3Kl9bMV0rLjExNCpfWzJdPjE2MD8iYmxhY2siOiJ3aGl0ZSI7dmFyIF87ZS5maWxsU3R5bGU9cCxlLnRleHRBbGlnbj0iY2VudGVyIixlLnRleHRCYXNlbGluZT0ibWlkZGxlIixlLmJlZ2luUGF0aCgpLGUucm91bmRSZWN0KGgsZCxsLGMsdSksZS5jbG9zZVBhdGgoKSxlLmZpbGwoKSxlLmZpbGxTdHlsZT1nO2NvbnN0IHk9ZCtjLzIsZj1oK3IvMithO2UuZmlsbFRleHQodGhpcy5fdGl0bGUsZix5JTI9PTA/eTp5KzEpfX1jbGFzcyBZe2NvbnN0cnVjdG9yKCl7dGhpcy5fcmVuZGVyZXI9bmV3IFp9cmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5fcmVuZGVyZXJ9dXBkYXRlKGUsdCxzLG89IiIpe3RoaXMuX3JlbmRlcmVyLnVwZGF0ZShlLHQscyxvKX19Y2xhc3MgSntjb25zdHJ1Y3RvcihlPSExLHQpe3RoaXMuX2NoYXJ0PW51bGwsdGhpcy5fc2VyaWVzPW51bGwsdGhpcy5fc2hvd0xhYmVsPSExLHRoaXMuX3RpdGxlPSIiLHRoaXMuX21hcmtldFN0YXR1cz10LHRoaXMuX3Nob3dMYWJlbD1lLHRoaXMuX3BhbmVWaWV3cz1bbmV3IFldfWF0dGFjaGVkKHtjaGFydDplLHNlcmllczp0fSl7dGhpcy5fY2hhcnQ9ZSx0aGlzLl9zZXJpZXM9dCx0aGlzLl90aXRsZT10aGlzLl9zaG93TGFiZWw/dGhpcy5fc2VyaWVzLm9wdGlvbnMoKS50aXRsZToiIix0aGlzLl9zZXJpZXMuYXBwbHlPcHRpb25zKHtwcmljZUxpbmVWaXNpYmxlOiExLHRpdGxlOnRoaXMuX3Nob3dMYWJlbD8iIjp0aGlzLl9zZXJpZXMub3B0aW9ucygpLnRpdGxlfSl9ZGV0YWNoZWQoKXt0aGlzLl9jaGFydD1udWxsLHRoaXMuX3Nlcmllcz1udWxsfXVwZGF0ZUFsbFZpZXdzKCl7aWYoIXRoaXMuX3Nlcmllc3x8IXRoaXMuX2NoYXJ0KXJldHVybjtjb25zdCBlPXRoaXMuX3Nlcmllcy5vcHRpb25zKCk7bGV0IHQ9ZS5wcmljZUxpbmVDb2xvcnx8ZS5jb2xvcnx8ZS5saW5lQ29sb3J8fCIjMDAwMDAwIjshdGhpcy5fbWFya2V0U3RhdHVzfHwicHJlX21hcmtldCIhPT10aGlzLl9tYXJrZXRTdGF0dXMmJiJwb3N0X21hcmtldCIhPT10aGlzLl9tYXJrZXRTdGF0dXN8fCh0PWUucG9zdG1hcmtldExpbmVDb2xvcnx8ZS5wcmVtYXJrZXRMaW5lQ29sb3J8fHQpO2NvbnN0IHM9dGhpcy5fc2VyaWVzLmRhdGFCeUluZGV4KDFlNSxvLk1pc21hdGNoRGlyZWN0aW9uLk5lYXJlc3RMZWZ0KTtsZXQgaT1udWxsLHI9bnVsbDtjb25zdCBuPXRoaXMuX3RpdGxlO3MmJihzLmNvbG9yJiYhdGhpcy5fbWFya2V0U3RhdHVzJiYodD1zLmNvbG9yKSxpPWZ1bmN0aW9uKGUpe2lmKHZvaWQgMCE9PWUudmFsdWUpcmV0dXJuIGUudmFsdWU7aWYodm9pZCAwIT09ZS5jbG9zZSlyZXR1cm4gZS5jbG9zZTtyZXR1cm4gbnVsbH0ocykscj10aGlzLl9jaGFydC50aW1lU2NhbGUoKS50aW1lVG9Db29yZGluYXRlKHMudGltZSkpO2NvbnN0IGE9bnVsbCE9PWk/dGhpcy5fc2VyaWVzLnByaWNlVG9Db29yZGluYXRlKGkpOm51bGwsbD17Zm9udFNpemU6dGhpcy5fY2hhcnQub3B0aW9ucygpLmxheW91dC5mb250U2l6ZT8/MTAsZm9udEZhbWlseTp0aGlzLl9jaGFydC5vcHRpb25zKCkubGF5b3V0LmZvbnRGYW1pbHk/PyJzYW5zLXNlcmlmIixjb2xvcjp0fTt0aGlzLl9wYW5lVmlld3MuZm9yRWFjaCgoZT0+ZS51cGRhdGUoYSxsLHIsbikpKX1wYW5lVmlld3MoKXtyZXR1cm4gdGhpcy5fcGFuZVZpZXdzfX12YXIgWD1zKDQ4ODA1KTthc3luYyBmdW5jdGlvbiBlZShlLHQpe3JldHVybihhd2FpdCBQcm9taXNlLmFsbChbcy5lKDQ1ODgzKSxzLmUoNjAyOCkscy5lKDYxNDQxKV0pLnRoZW4ocy5iaW5kKHMsMjkzMzEyKSkpLmNyZWF0ZShlLHQpfQp2YXIgdGU9cyg3MTk3ODEpLHNlPXMoNTc3NzEzKSxvZT1zKDc1NTYyNyksaWU9cygxMjUyMTgpLHJlPXMoMTExOTUzKSxuZT1zKDQwNzc5OSksYWU9cyg4ODc2MDgpLGxlPXMoMTgwMTk4KSxjZT1zKDQ3MDY3OSk7Y29uc3QgdWU9bmV3IGllLlBlcmNlbnRhZ2VGb3JtYXR0ZXIsaGU9UC50KG51bGwsdm9pZCAwLHMoMTE0MzM4KSk7ZnVuY3Rpb24gZGUoZSx0LHMpe2NvbnN0IG89Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LmNvbXswfT91dG1fc291cmNlPXd3dy50cmFkaW5ndmlldy5jb20mdXRtX21lZGl1bT13aWRnZXQmdXRtX2NhbXBhaWduPWNoYXJ0JnV0bV90ZXJtPXsyfTp7MX0iLmZvcm1hdCgoMCxGLmdldFN5bWJvbFBhZ2VQYXRoKSh7cHJvTmFtZTplfSksdCxzKTtyZXR1cm4gaGUuZm9ybWF0KHtsaW5rU3RhcnQ6YDxhIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0iJHtjZS5nb1RvVHZMaW5rfSIgaHJlZj0iJHtvfSI+YCxsaW5rRW5kOiI8L2E+In0pfWZ1bmN0aW9uIG1lKGUpe3N3aXRjaChlLnR5cGUpe2Nhc2UgMjpyZXR1cm57bWVzc2FnZTpQLnQobnVsbCx2b2lkIDAscyg1MTk3KSl9O2Nhc2UgMDpyZXR1cm57bWVzc2FnZTpQLnQobnVsbCx2b2lkIDAscyg3MzI3NzYpKX07Y2FzZSAxOmNvbnN0IHQ9KDAscmUudW53cmFwU2ltcGxlU3ltYm9sKSgoMCxyZS5kZWNvZGVFeHRlbmRlZFN5bWJvbCkoZS5zeW1ib2wpKSxbbyxpXT10LnNwbGl0KCI6Iik7cmV0dXJue21lc3NhZ2U6ZGUodCxvLGkpfX19Y2xhc3MgcGV7Y29uc3RydWN0b3IoZSx0LG8pe3RoaXMubWluaUNoYXJ0PW51bGwsdGhpcy52aXNpYmxlPW5ldyBFLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fZGF0YU1vZGU9bnVsbCx0aGlzLl9tZWRpdW1XaWRnZXRNYXJrZXRTdGF0dXM9bnVsbCx0aGlzLl9mb3JtYXR0ZXJDYWNoZT1udWxsLHRoaXMuX3ZhbHVlc0luTGVnZW5kUmVuZGVyZXI9bnVsbCx0aGlzLl9xdW90ZVRpY2tlclJlbmRlcmVyPW51bGwsdGhpcy5fbGFzdERlbHRhRnJvbVF1b3RlPW51bGwsdGhpcy5fbWFya2V0U3RhdHVzU291cmNlQWRhcHRlcj1udWxsLHRoaXMuX2NyZWF0ZVF1b3RlVGlja2VyUHJvbWlzZT1udWxsLHRoaXMuX2NoYXJ0UGFyZW50RWw9bnVsbCx0aGlzLl9pc0NoYXJ0VmlzaWJsZT0hMCx0aGlzLl9lcnJvckNhcmRSZW5kZXJlcj1udWxsLHRoaXMuX3ZhbHVlc0luTGVnZW5kQ3Jvc3NoYWlyTW92ZUhhbmRsZXI9YXN5bmMgZT0+e2NvbnN0IHQ9KDAsWC5nZXRDcm9zc2hhaXJNb3ZlRGF0YSkoKDAsZy5lbnN1cmVOb3ROdWxsKSh0aGlzLm1pbmlDaGFydCksZSk7dGhpcy5fcXVvdGVUaWNrZXJSZW5kZXJlcj8uY2FsbEZ1bmN0aW9uKChlPT57dD9lLmhpZGUoKTplLnNob3coKX0pKSx0aGlzLl92YWx1ZXNJbkxlZ2VuZFJlbmRlcmVyPy5jYWxsRnVuY3Rpb24oKGU9Pnt0PyhlLnNob3coKSxlLnVwZGF0ZSh0KSk6ZS5oaWRlKCl9KSl9LHRoaXMud2lkZ2V0PWUsdGhpcy5zeW1ib2w9dCx0aGlzLl9vcHRpb25zPW87Y29uc3QgaT1vLmNoYXJ0T25seSYmby5oaWRlRGF0YVJhbmdlczt0aGlzLmVsPWZ1bmN0aW9uKGUpewpjb25zdHtoaWRlTWFya2V0U3RhdHVzOnQsY2hhcnRPbmx5Om8saGlkZURhdGFSYW5nZXM6aSxjaGFuZ2VNb2RlOnIsaGlkZVdpZGdldEhlYWRlckNvbnRhaW5lcjpuLGhlYWRlckZvbnRTaXplOmF9PWUsbD0icHJpY2UtYW5kLXBlcmNlbnQiIT09ciYmInByaWNlLW9ubHkiIT09cixjPSJwcmljZS1hbmQtcGVyY2VudCIhPT1yJiYicGVyY2VudC1vbmx5IiE9PXIsdT0ibm8tdmFsdWVzIj09PXIsaD1gXG5cdFx0PGRpdiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X19oZWFkIHR2LXdpZGdldC1jaGFydF9faGVhZC0tJHthfSBqcy1oZWFkIj5cblx0XHRcdDxkaXYgY2xhc3M9InR2LXdpZGdldC1jaGFydF9fbG9nbyBqcy1oZWFkZXItaWNvbiI+PC9kaXY+XG5cdFx0XHQ8ZGl2IGNsYXNzPSJ0di13aWRnZXQtY2hhcnRfX2hlYWQtY29udGFpbmVyIj5cblx0XHRcdFx0PGRpdiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X19uYW1lIj5cblx0XHRcdFx0XHQ8aDIgY2xhc3M9InR2LXdpZGdldC1jaGFydF9fdGl0bGUgc3ltYm9sLWRlc2NyaXB0aW9uLW5hbWUiPlxuXHRcdFx0XHRcdFx0Jm5ic3A7XG5cdFx0XHRcdFx0PC9oMj5cblx0XHRcdFx0XHQke3Q/IiI6J1xuXHRcdDxkaXYgY2xhc3M9InR2LXdpZGdldC1jaGFydF9faW5kaWNhdG9ycyI+XG5cdFx0XHQ8c3BhbiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X19zdGF0dXMganMtbWFya2V0LXN0YXR1cyI+PC9zcGFuPlxuXHRcdDwvZGl2PlxuXHQnfVxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PGRpdiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X19pbmZvIj5cblx0XHRcdFx0XHQ8ZGl2IGlkPSJxdW90ZXMtY29udGFpbmVyIiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X19wcmljZSI+XG5cdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPSJ0di13aWRnZXQtY2hhcnRfX3ByaWNlLWNvbnRhaW5lciI+XG5cdFx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPSJ0di13aWRnZXQtY2hhcnRfX3ByaWNlLXZhbHVlIHN5bWJvbC1sYXN0IiB0aXRsZT0iICR7UC50KG51bGwsdm9pZCAwLHMoNDMxMTU3KSl9ICI+PC9zcGFuPlxuXHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPSJ0di13aWRnZXQtY2hhcnRfX2NvbnRhaW5lci1zeW1ib2wiPlxuXHRcdFx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPSJ0di1kYXRhLW1vZGUtLXN5bWJvbC13aWRnZXQgdHYtd2lkZ2V0LWNoYXJ0X19jb250YWluZXItc3ltYm9sLXNlbGVjdG9yIGpzLWRhdGEtbW9kZSI+PC9zcGFuPlxuXHRcdFx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPSJ0di1kYXRhLW1vZGUtLXN5bWJvbC13aWRnZXQgdHYtd2lkZ2V0LWNoYXJ0X19jb250YWluZXItc3ltYm9sLWN1cnJlbmN5IGpzLXN5bWJvbC1jdXJyZW5jeSI+PC9zcGFuPlxuXHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0PHNwYW4gaWQ9InN5bWJvbC1kZWx0YSIgY2xhc3M9InR2LXdpZGdldC1jaGFydF9fcHJpY2UtZGVsdGEiPlxuXHRcdFx0XHRcdFx0XHQke2w/IiI6YDxzcGFuIGlkPSJkZWx0YSIgY2xhc3M9InN5bWJvbC1jaGFuZ2UgdHYtd2lkZ2V0LWNoYXJ0X19wcmljZS1kZWx0YS12YWx1ZSIgdGl0bGU9IiAke1AudChudWxsLHZvaWQgMCxzKDY3MzQ4NykpfSAiPiZuYnNwOzwvc3Bhbj5gfVxuXHRcdFx0XHRcdFx0XHQke2M/IiI6YDxzcGFuIGlkPSJkZWx0YS1wdCIgY2xhc3M9InN5bWJvbC1jaGFuZ2UtcHQgdHYtd2lkZ2V0LWNoYXJ0X19wcmljZS1kZWx0YS12YWx1ZSIgdGl0bGU9IiAke1AudChudWxsLHZvaWQgMCxzKDY3MzQ4NykpfSAsICUiPiZuYnNwOzwvc3Bhbj5gfVxuXHRcdFx0XHRcdFx0XHQke3U/IiI6JzxzcGFuIGlkPSJkZWx0YS1yYW5nZSIgY2xhc3M9InR2LXdpZGdldC1jaGFydF9fcHJpY2UtZGVsdGEtZGF5Ij4mbmJzcDs8L3NwYW4+J31cblx0XHRcdFx0XHRcdDwvc3Bhbj5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHQ8ZGl2IGlkPSJ2YWx1ZXMtaW4tbGVnZW5kLWNvbnRhaW5lciIgY2xhc3M9InR2LXdpZGdldC1jaGFydF9fbGVnZW5kIj48L2Rpdj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0YCxkPWBcblx0XHQ8ZGl2IGNsYXNzPSJ0di13aWRnZXQtY2hhcnRfX2NvbnRhaW5lci13cmFwcHBlciI+XG5cdFx0XHQke28/IiI6aH1cblx0XHRcdCR7aT8iIjonPGRpdiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X190aW1lZnJhbWVzIGpzLXdpZGdldC1jaGFydC10aW1lZnJhbWVzIj48L2Rpdj4nfVxuXHRcdDwvZGl2PlxuXHRgLG09KDAseS5wYXJzZUh0bWwpKGBcblx0XHQ8ZGl2IGNsYXNzPSJ0di13aWRnZXQtY2hhcnRfX3BhZ2UiPlxuXHRcdFx0PGRpdiBjbGFzcz0ianMtd2lkZ2V0LWNoYXJ0LWluZm8iPlxuXHRcdFx0XHQke24/IiI6ZH1cblx0XHRcdDwvZGl2PlxuXHRcdFx0PGRpdiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X19jaGFydC13cmFwIGpzLXdpZGdldC1jaGFydC13cmFwIj48L2Rpdj5cblx0XHQ8L2Rpdj5cblx0YCk7cmV0dXJuKDAsZy5lbnN1cmVOb3ROdWxsKShtLmZpcnN0RWxlbWVudENoaWxkKX0oey4uLm8sc2hvcnROYW1lOnQuc2hvcnROYW1lKCksaGlkZVdpZGdldEhlYWRlckNvbnRhaW5lcjppfSksdGhpcy5pbmZvPSgwLGcuZW5zdXJlTm90TnVsbCkodGhpcy5lbC5xdWVyeVNlbGVjdG9yKCIuanMtd2lkZ2V0LWNoYXJ0LWluZm8iKSksdGhpcy5tYXJrZXRTdGF0dXM9dGhpcy5lbC5xdWVyeVNlbGVjdG9yKCIuanMtbWFya2V0LXN0YXR1cyIpLHRoaXMuX2NoYXJ0V3JhcHBlckVsPSgwLGcuZW5zdXJlTm90TnVsbCkodGhpcy5lbC5xdWVyeVNlbGVjdG9yKCIuanMtd2lkZ2V0LWNoYXJ0LXdyYXAiKSksbmV3IFJlc2l6ZU9ic2VydmVyKHRoaXMub25SZXNpemUuYmluZCh0aGlzKSkub2JzZXJ2ZSh0aGlzLl9jaGFydFdyYXBwZXJFbCksdGhpcy5fY3JlYXRlRGF0YU1vZGUoKTtjb25zdCByPXRoaXMuZWwucXVlcnlTZWxlY3RvcigiLmpzLXdpZGdldC1jaGFydC10aW1lZnJhbWVzIik/P3ZvaWQgMCxuPXRoaXMuc3ltYm9sLnRpbWVmcmFtZSgpO3RoaXMuX2NoYXJ0T3B0aW9ucz0oMCxwLmRlZmF1bHQpKHt9LCgwLApOLmRlZmF1bHQpKHt9LG8ubWluaUNoYXJ0T3B0aW9ucykse3RpbWVmcmFtZTp7Y29udGFpbmVyOnIsdmFsdWU6bj8oMCxNLmNvbnZlcnRTdHJUb1RpbWVGcmFtZSkobik6dm9pZCAwfSx1cGRhdGVUaW1lb3V0OjZlNH0pLHRoaXMudmlzaWJsZS5zdWJzY3JpYmUoKGFzeW5jKCk9Pnthd2FpdCB0aGlzLl9jcmVhdGVDaGFydCgpLHRoaXMuX2luaXRWYWx1ZXNJbkxlZ2VuZCgpfSkse29uY2U6ITB9KX1wYXVzZU1hcmtldFN0YXR1cygpe3RoaXMuX21lZGl1bVdpZGdldE1hcmtldFN0YXR1cz8uY2FsbEZ1bmN0aW9uKChlPT5lLmFkYXB0ZXIucGF1c2UoKSkpLHRoaXMuX2RhdGFNb2RlPy5zdG9wKCl9cmVzdW1lTWFya2V0U3RhdHVzKCl7dGhpcy5fbWVkaXVtV2lkZ2V0TWFya2V0U3RhdHVzPy5jYWxsRnVuY3Rpb24oKGU9PmUuYWRhcHRlci5yZXN1bWUoKSkpLHRoaXMuX2RhdGFNb2RlPy5zdGFydCgpfXNob3coZSl7dGhpcy53aWRnZXQuc3Bpbm5lci5zcGluKHRoaXMud2lkZ2V0LmxheW91dC5jb250YWluZXIpLHRoaXMuX29wdGlvbnMuY2hhcnRPbmx5fHx0aGlzLl9jcmVhdGVRdW90ZVRpY2tlcigpLnRoZW4oKHQ9Pnt0LnF1b3Rlc1JlYWR5LmNhdGNoKCh0PT57dCYmdGhpcy5fc2hvd0Vycm9yTWVzc2FnZSh0LGUpfSkpfSkpLmNhdGNoKCh0PT57dCYmdGhpcy5fc2hvd0Vycm9yTWVzc2FnZSh0LGUpfSkpLHRoaXMuX3Nob3dUYWIoZSl9aGlkZSgpe3RoaXMuZWwuY2xhc3NMaXN0LmFkZCgiaS1oaWRkZW4iKSx0aGlzLnZpc2libGUuc2V0VmFsdWUoITEpfW9uUmVzaXplKCl7dGhpcy5taW5pQ2hhcnQmJnRoaXMuX2lzQ2hhcnRWaXNpYmxlJiZzZXRUaW1lb3V0KCgoKT0+e3RoaXMuX2FwcGx5TGFiZWxPZmZzZXQoKX0pLDApfWFzeW5jIF9jcmVhdGVDaGFydCgpe3RoaXMubWluaUNoYXJ0PW5ldyAkLlNlc3Npb25zTWluaUNoYXJ0KHtzeW1ib2w6dGhpcy5zeW1ib2wubmFtZSgpLCJjdXJyZW5jeS1pZCI6dGhpcy5zeW1ib2wuY3VycmVuY3koKX0sdGhpcy5fY2hhcnRXcmFwcGVyRWwsdGhpcy5fY2hhcnRPcHRpb25zKTtjb25zdCBlPXRoaXMuX29wdGlvbnMudmFsdWVzVHJhY2tpbmc7IjEiIT09ZSYmIjIiIT09ZXx8KDAsbGUuY3JlYXRlTGlnaHR3ZWlnaHRDaGFydFByaWNlVGltZVRvb2x0aXApKHtjaGFydDp0aGlzLm1pbmlDaGFydC53aWRnZXQoKSxjb2xvcmVkQm9yZGVyVmlzaWJsZToiMiI9PT1lLGNyb3NzaGFpck1vdmVEYXRhR2V0dGVyOmU9PigwLFguZ2V0Q3Jvc3NoYWlyTW92ZURhdGEpKCgwLGcuZW5zdXJlTm90TnVsbCkodGhpcy5taW5pQ2hhcnQpLGUpfSk7Y29uc3R7bWE6dCxjb21wYXJlU3ltYm9sOm99PXRoaXMuX2NoYXJ0T3B0aW9ucy5jaGFydE9wdGlvbnN8fHt9O2lmKHQmJnQudmlzaWJsZSl7Y29uc3QgZT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDY0MTMyKSxzLmUoNzEzMjgpLHMuZSg1NjE1NildKS50aGVuKHMuYmluZChzLDQ3ODc0MCkpO2lmKHRoaXMubWluaUNoYXJ0Lm1haW5QbG90KCkuaXNEZXN0cm95ZWQoKS52YWx1ZSgpKXJldHVybjtjb25zdCBvPW5ldyBlLk1vdmluZ0F2ZXJhZ2VNaW5pQ2hhcnRQbG90KHRoaXMubWluaUNoYXJ0LHtjaGFydFR5cGU6ImxpbmUiLC4uLnR9LHQubGVuZ3RoPz85KTtvLnNldFN5bWJvbCh0aGlzLnN5bWJvbC5uYW1lKCkpLHRoaXMubWluaUNoYXJ0LmFkZFN0dWR5UGxvdChvKX1vJiZ0aGlzLl9jcmVhdGVDb21wYXJlU2VyaWVzKG8pO2NvbnN0IGk9dGhpcy5tYXJrZXRTdGF0dXM7aSYmKHRoaXMuX21lZGl1bVdpZGdldE1hcmtldFN0YXR1cz1uZXcgTy5Bc3luY1Jlc291cmNlV3JhcHBlcihhc3luYyBmdW5jdGlvbihlLHQpe2NvbnN0e01lZGl1bVdpZGdldE1hcmtldFN0YXR1czpvfT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDY0MjAwKSxzLmUoMjAzNTQpLHMuZSgzNjIyMikscy5lKDI5NTM2KSxzLmUoNTE4NCkscy5lKDU2MjUyKSxzLmUoMTE0NjEpLHMuZSg5NjU4Nykscy5lKDM5MDUpLHMuZSg2MjYwMCkscy5lKDc1MjE3KSxzLmUoMTE0MDkpLHMuZSgzMjM4Nykscy5lKDIzNzQzKSxzLmUoMzY5MzgpLHMuZSg4NTYwNykscy5lKDU0NDQ5KV0pLnRoZW4ocy5iaW5kKHMsNjYzMjE5KSk7cmV0dXJuIG5ldyBvKGUsdCl9KCgwLGcuZW5zdXJlTm90TnVsbCkodGhpcy5taW5pQ2hhcnQpLGkpKSx0aGlzLl9tZWRpdW1XaWRnZXRNYXJrZXRTdGF0dXMuY2FsbEZ1bmN0aW9uKChlPT57ZS5yZW5kZXJlcigpfSkpKSx0aGlzLl9jaGFydFBhcmVudEVsPSgwLGcuZW5zdXJlRGVmaW5lZCkodGhpcy5fY2hhcnRXcmFwcGVyRWwucXVlcnlTZWxlY3RvcigiZGl2W2RhdGEtbWluaS1jaGFydC1pZF0sIGRpdjpoYXMoLnR2LWxpZ2h0d2VpZ2h0LWNoYXJ0cykiKSksdGhpcy5faXNDaGFydFZpc2libGV8fHRoaXMuX2NoYXJ0UGFyZW50RWwuY2xhc3NMaXN0LmFkZCgiaS1oaWRkZW4iKSx0aGlzLm1pbmlDaGFydC5tYWluUGxvdCgpLnN0YXR1cygpLnN1YnNjcmliZSgoYXN5bmMgZT0+e3N3aXRjaChlKXtjYXNlIDM6dGhpcy5fb3B0aW9ucy5jaGFydE9ubHl8fHRoaXMuX3JlbmRlclF1b3RlRGVsdGEoKTticmVhaztjYXNlIDA6dGhpcy5fY2hhbmdlQ2hhcnRWaXNpYmlsaXR5KCEwKSx0aGlzLl9lcnJvckNhcmRSZW5kZXJlcj8uY2FsbEZ1bmN0aW9uKChlPT5lLnVwZGF0ZSh7bWVzc2FnZToiIn0pKSl9fSkpLHRoaXMubWluaUNoYXJ0Lm1haW5QbG90KCkubm9EYXRhKCkuc3Vic2NyaWJlKChlPT57bGV0IHQ7c3dpdGNoKGUpe2Nhc2UgMDp0PXt0eXBlOjB9O2JyZWFrO2Nhc2UgMTp0PXt0eXBlOjEsc3ltYm9sOigwLGcuZW5zdXJlTm90TnVsbCkodGhpcy5taW5pQ2hhcnQpLm1haW5QbG90KCkuc3ltYm9sKCl9O2JyZWFrO2Nhc2UgMjpjYXNlIDM6dD17dHlwZToyfTticmVhaztkZWZhdWx0OnJldHVybn10aGlzLl9zaG93RXJyb3JNZXNzYWdlKHQpfSkpfWFzeW5jIF9jcmVhdGVDb21wYXJlU2VyaWVzKGUpe2NvbnN0IHQ9dGhpcy5taW5pQ2hhcnQ7aWYodCl7Y29uc3Qgbz1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDcxMzI4KSxzLmUoOTU0ODYpXSkudGhlbihzLmJpbmQocywxMjgwMTEpKTtpZih0Lm1haW5QbG90KCkuaXNEZXN0cm95ZWQoKS52YWx1ZSgpKXJldHVybgo7Y29uc3R7c3ltYm9sOmksc2hvd0xhYmVsczpyLC4uLm59PWUsYT10aGlzLl9jaGFydE9wdGlvbnMuY2hhcnRPcHRpb25zPy5jaGFydD8ubGVmdFByaWNlU2NhbGU/LnZpc2libGV8fCF0aGlzLl9jaGFydE9wdGlvbnMuY2hhcnRPcHRpb25zPy5jaGFydD8ubGVmdFByaWNlU2NhbGU/LnZpc2libGUmJiF0aGlzLl9jaGFydE9wdGlvbnMuY2hhcnRPcHRpb25zPy5jaGFydD8ucmlnaHRQcmljZVNjYWxlPy52aXNpYmxlLGw9cj8/ITA7bi5sYXN0VmFsdWVWaXNpYmxlPSFhJiZsO2NvbnN0IGM9ey4uLnQubWFpblBsb3QoKS5leHRlbmRlZFN5bWJvbCgpLHN5bWJvbDppfSx1PW5ldyBvLk92ZXJsYXlNaW5pQ2hhcnRQbG90KHQsbixjLCExKTtpZih1LnNldFN5bWJvbChjKSx0LmFkZFN0dWR5UGxvdCh1KSwhbClyZXR1cm47dGhpcy5fbWFya2V0U3RhdHVzU291cmNlQWRhcHRlcj1uZXcgYWUuTWluaUNoYXJ0U3RhdHVzU291cmNlQWRhcHRlcih0KTtjb25zdCBoPWUuc3ltYm9sLmluY2x1ZGVzKCI6Iik/ZS5zeW1ib2wuc3BsaXQoIjoiKVsxXTplLnN5bWJvbDt1LnNlcmllcygpLmFwcGx5T3B0aW9ucyh7dGl0bGU6aH0pLHUuc2VyaWVzKCkuYXR0YWNoUHJpbWl0aXZlKG5ldyBKKGEpKTtjb25zdCBkPSgpPT57c2V0VGltZW91dCgoKCk9Pnt0aGlzLl9hcHBseUxhYmVsT2Zmc2V0KCl9KSwwKX07ZCgpLHQubWFpblBsb3QoKS5zdGF0dXMoKS5zdWJzY3JpYmUoKCgpPT57ZCgpfSkpfX1fYXBwbHlMYWJlbE9mZnNldCgpe2NvbnN0IGU9dGhpcy5taW5pQ2hhcnQsdD10aGlzLl9jaGFydE9wdGlvbnMuY2hhcnRPcHRpb25zPy5jb21wYXJlU3ltYm9sO2lmKCFlfHwhdD8uc3ltYm9sKXJldHVybjtjb25zdCBzPXRoaXMuX2NoYXJ0T3B0aW9ucy5jaGFydE9wdGlvbnM/LmNoYXJ0Py5sZWZ0UHJpY2VTY2FsZT8udmlzaWJsZXx8IXRoaXMuX2NoYXJ0T3B0aW9ucy5jaGFydE9wdGlvbnM/LmNoYXJ0Py5sZWZ0UHJpY2VTY2FsZT8udmlzaWJsZSYmIXRoaXMuX2NoYXJ0T3B0aW9ucy5jaGFydE9wdGlvbnM/LmNoYXJ0Py5yaWdodFByaWNlU2NhbGU/LnZpc2libGUsbz10PT57ZS5tYWluUGxvdCgpPy5zZXJpZXMoKS5hcHBseU9wdGlvbnMoe3RpdGxlOnRoaXMuc3ltYm9sLm5hbWUoKX0pO2NvbnN0IG89ZS50aW1lZnJhbWUoKS52YWx1ZSgpLGk9InBlcmlvZC1iYWNrIj09PW8udHlwZSYmIkxBU1RTRVNTSU9OIj09PW8udmFsdWU/dDpudWxsO2UubWFpblBsb3QoKT8uc2VyaWVzKCkuYXBwbHlPcHRpb25zKHtsYXN0VmFsdWVWaXNpYmxlOiFzfSksZS5tYWluUGxvdCgpPy5zZXJpZXMoKS5hdHRhY2hQcmltaXRpdmUobmV3IEoocyxpKSk7Y29uc3Qgcj1mdW5jdGlvbihlLHQpe2NvbnN0IHM9dD8uY29tcGFyZVN5bWJvbD8uc3ltYm9sO2lmKCFzKXJldHVybiAwO2NvbnN0IG89cy5pbmNsdWRlcygiOiIpP3Muc3BsaXQoIjoiKVsxXTpzO3JldHVybih0Py5jaGFydD8ubGF5b3V0Py5mb250U2l6ZT8/MTApKk1hdGgubWF4KG8ubGVuZ3RoLGUubmFtZSgpLmxlbmd0aCkrMTB9KHRoaXMuc3ltYm9sLHRoaXMuX2NoYXJ0T3B0aW9ucy5jaGFydE9wdGlvbnMpLG49KCk9Pntjb25zdCB0PWUud2lkZ2V0KCkudGltZVNjYWxlKCkud2lkdGgoKSxzPWUud2lkZ2V0KCkudGltZVNjYWxlKCkuZ2V0VmlzaWJsZUxvZ2ljYWxSYW5nZSgpO2lmKCFzKXJldHVybiAwO2NvbnN0IG89ci90O3JldHVybihzLnRvLXMuZnJvbSkqb307aWYoInRpbWUtcmFuZ2UiPT09by50eXBlfHwicGVyaW9kLWJhY2siPT09by50eXBlJiYiTEFTVFNFU1NJT04iIT09by52YWx1ZSllLndpZGdldCgpLnRpbWVTY2FsZSgpLmFwcGx5T3B0aW9ucyh7cmlnaHRPZmZzZXQ6bigpfSk7ZWxzZXtjb25zdCB0PWUubWFpblBsb3QoKT8uc2VyaWVzKCkuZGF0YSgpLnNsaWNlKC0xKVswXSxzPWUud2lkZ2V0KCkudGltZVNjYWxlKCkud2lkdGgoKS1yLG89ZS53aWRnZXQoKS50aW1lU2NhbGUoKS5jb29yZGluYXRlVG9UaW1lKHMpO2lmKCF0fHwhb3x8dC50aW1lPG8pcmV0dXJuO2Uud2lkZ2V0KCkudGltZVNjYWxlKCkuYXBwbHlPcHRpb25zKHtyaWdodE9mZnNldDpuKCl9KX19LGk9dGhpcy5fbWFya2V0U3RhdHVzU291cmNlQWRhcHRlcj8ubWFya2V0U3RhdHVzTW9kZWwoKT8uY3VycmVudFNlc3Npb24oKS52YWx1ZSgpO2k/byhpKTp0aGlzLl9tYXJrZXRTdGF0dXNTb3VyY2VBZGFwdGVyPy5tYXJrZXRTdGF0dXNNb2RlbCgpPy5jdXJyZW50U2Vzc2lvbigpLnN1YnNjcmliZSgoZT0+e2UmJm8oZSl9KSl9X2NyZWF0ZVF1b3RlVGlja2VyKCl7aWYobnVsbCE9PXRoaXMuX2NyZWF0ZVF1b3RlVGlja2VyUHJvbWlzZSlyZXR1cm4gdGhpcy5fY3JlYXRlUXVvdGVUaWNrZXJQcm9taXNlO2NvbnN0IGU9KDAsZy5lbnN1cmVOb3ROdWxsKSh0aGlzLmluZm8ucXVlcnlTZWxlY3RvcigiLmpzLWhlYWQiKSksdD0oMCxnLmVuc3VyZU5vdE51bGwpKHRoaXMuaW5mby5xdWVyeVNlbGVjdG9yKCIuanMtaGVhZGVyLWljb24iKSksbz0oZSx0KT0+e2VlKFYuZ2V0RXhjaGFuZ2UoZSksdCkudGhlbigoZT0+e3RoaXMud2lkZ2V0LnNwaW5uZXIuc3RvcCgpLGUmJnRoaXMud2lkZ2V0LmxheW91dC5jb250YWluZXIuYXBwZW5kKGUpfSkpfSxpPSgpPT57ZS5jbGFzc0xpc3QuYWRkKCJ0di13aWRnZXQtY2hhcnRfX2hlYWQtbm8tbG9nbyIpfSxyPSgwLEEuZ2V0TG9nb1VybHNIb29rKSgoZT0+eyhlPT57aWYoZS5sZW5ndGg+MCl7Y29uc3Qgcz1JKHtsb2dvVXJsczplLHNpemU6InhsYXJnZSIsY2xhc3NOYW1lOiJ0di13aWRnZXQtY2hhcnRfX2ljb24gdHYtd2lkZ2V0LWNoYXJ0X19pY29uLS1sYXJnZSJ9KSxvPUkoe2xvZ29VcmxzOmUsc2l6ZToibWVkaXVtIixjbGFzc05hbWU6InR2LXdpZGdldC1jaGFydF9faWNvbiB0di13aWRnZXQtY2hhcnRfX2ljb24tLW1lZGl1bSJ9KTt0LmFwcGVuZCgoMCx5LnBhcnNlSHRtbCkocykpLHQuYXBwZW5kKCgwLHkucGFyc2VIdG1sKShvKSl9ZWxzZSBpKCl9KShlKSx0aGlzLm9uUmVzaXplKCl9KSxLLkxvZ29TaXplLkxhcmdlKQo7cmV0dXJuIHRoaXMuX29wdGlvbnMuY2hhcnRPbmx5fHx0aGlzLl9xdW90ZVRpY2tlclJlbmRlcmVyfHwodGhpcy5fcXVvdGVUaWNrZXJSZW5kZXJlcj1uZXcgTy5Bc3luY1Jlc291cmNlV3JhcHBlcihhc3luYyBmdW5jdGlvbihlKXtyZXR1cm4gbmV3KChhd2FpdCBQcm9taXNlLmFsbChbcy5lKDU4NjY3KSxzLmUoMzc4NjUpLHMuZSgzOTA1KSxzLmUoNTE1MDgpLHMuZSg4NDA4KSxzLmUoMzU1Mikscy5lKDMzMzkyKV0pLnRoZW4ocy5iaW5kKHMsMTI1OTgzKSkpLk1lZGl1bVdpZGdldFF1b3RlVGlja2VyUmVuZGVyZXIpKGUpfSh0aGlzLmVsKSksdGhpcy5fcXVvdGVUaWNrZXJSZW5kZXJlci5jYWxsRnVuY3Rpb24oKGU9PntlLnNob3coKX0pKSksdGhpcy5fY3JlYXRlUXVvdGVUaWNrZXJQcm9taXNlPW5ldyBQcm9taXNlKCgoZSx0KT0+e1EodGhpcy5zeW1ib2wubmFtZSgpKS50aGVuKCh0PT57aWYobnVsbD09PXRoaXMuX3F1b3RlVGlja2VyUmVuZGVyZXIpcmV0dXJuIHZvaWQgZSh7cXVvdGVzUmVhZHk6UHJvbWlzZS5yZXNvbHZlKCl9KTtjb25zdCBzPW5ldyBQcm9taXNlKCgoZSxzKT0+e3RoaXMuX3F1b3RlVGlja2VyUmVuZGVyZXI/LmNhbGxGdW5jdGlvbigobj0+e24uY3JlYXRlUXVvdGVUaWNrZXIoKDAsbmUuZW5jb2RlRXh0ZW5kZWRTeW1ib2xPckdldFNpbXBsZVN5bWJvbFN0cmluZykoe3N5bWJvbDp0LCJjdXJyZW5jeS1pZCI6dGhpcy5zeW1ib2wuY3VycmVuY3koKX0pLHtsYXN0RmFsbGluZ0NsYXNzOiJ0di13aWRnZXQtY2hhcnRfX3ByaWNlLXZhbHVlLWNoYW5nZXMtLWZhbGxpbmciLGxhc3RHcm93aW5nQ2xhc3M6InR2LXdpZGdldC1jaGFydF9fcHJpY2UtdmFsdWUtY2hhbmdlcy0tZ3Jvd2luZyIsbGFzdFByaWNlSGlnaGxpZ2h0RGlmZk9ubHk6ITAsZGlzYWJsZUNoYW5nZTohMCxzZXRTdGF0ZUhvb2s6KHQscyxvKT0+e3RoaXMuX29wdGlvbnMuaGlkZVN5bWJvbExvZ28/aSgpOnIodCxzLG8pLHRoaXMuX3JlbmRlclF1b3RlRGVsdGEodCxzKSxlKCl9LG5vU3VjaFN5bWJvbEhvb2s6KGUsdCk9PnsicGVybWlzc2lvbl9kZW5pZWQiPT09ZS5zdGF0dXM/cyh7dHlwZToxLHN5bWJvbDplLnN5bWJvbG5hbWV9KTpzKHt0eXBlOjB9KSxpKCl9LHBlcm1pc3Npb25EZW5pZWRIb29rOihlLHQpPT57dCYmbyh0LHRlLkRlbGF5VHlwZS5Bbm9uKSxzKHt0eXBlOjEsc3ltYm9sOnR9KX19KX0pKX0pKTtlKHtxdW90ZXNSZWFkeTpzfSl9KSkuY2F0Y2goKGU9PntvKHRoaXMuc3ltYm9sLm5hbWUoKSwiREVMQVlfTk9UX0FWQUlMQUJMRSI9PT1lPy5lcnJDb2RlP3RlLkRlbGF5VHlwZS5GcmVlRGVsYXk6dGUuRGVsYXlUeXBlLkRlbGF5KSx0KDEpfSkpfSkpLHRoaXMuX2NyZWF0ZVF1b3RlVGlja2VyUHJvbWlzZX1fY2FsY3VsYXRlUXVvdGVEZWx0YShlLHQpe2lmKCF0aGlzLm1pbmlDaGFydClyZXR1cm47Y29uc3Qgcz10aGlzLm1pbmlDaGFydC5tYWluUGxvdCgpLG89cy5maXJzdEJhcigpPy52YWx1ZVs0XSxpPXQ/Lmxhc3RfcHJpY2U/P3MubGFzdEJhcigpPy52YWx1ZVs0XTtpZighKDAsTC5pc051bWJlcikobyl8fCEoMCxMLmlzTnVtYmVyKShpKSlyZXR1cm47Y29uc3Qgcj1pLW87cmV0dXJuW3RoaXMuX3ByaWNlRm9ybWF0dGVyKGV8fHMuc3ltYm9sSW5mbygpKS5mb3JtYXQocix7c2lnblBvc2l0aXZlOiEwfSksdWUuZm9ybWF0KHIvbyoxMDAse3NpZ25Qb3NpdGl2ZTohMH0pLHJdfV9nZXREZWx0YUZyb21RdW90ZShlLHQpe2NvbnN0e2NoYW5nZTpzPWUuY2hhbmdlLGNoYW5nZV9wZXJjZW50Om89ZS5jaGFuZ2VfcGVyY2VudH09dDtyZXR1cm5bdGhpcy5fcHJpY2VGb3JtYXR0ZXIoZSkuZm9ybWF0KCgwLEwuaXNOdW1iZXIpKHMpP3M6MCx7c2lnblBvc2l0aXZlOiEwfSksdWUuZm9ybWF0KCgwLEwuaXNOdW1iZXIpKG8pP286MCx7c2lnblBvc2l0aXZlOiEwfSksKDAsTC5pc051bWJlcikocyk/czowXX1fcmVuZGVyUXVvdGVEZWx0YShlLHQpe2lmKCF0aGlzLl9xdW90ZVRpY2tlclJlbmRlcmVyKXJldHVybjtlJiZ0JiYodGhpcy5fbGFzdERlbHRhRnJvbVF1b3RlPXRoaXMuX2dldERlbHRhRnJvbVF1b3RlKGUsdCkpO2NvbnN0IHM9dGhpcy5taW5pQ2hhcnQ/LnRpbWVmcmFtZSgpLnZhbHVlKCksbz1zPygwLE0uY29udmVydFRpbWVGcmFtZVRvU3RyKShzKTp0aGlzLnN5bWJvbC50aW1lZnJhbWUoKTtsZXQgaSxyO2lmKCIxRCI9PT1vfHwiTEFTVFNFU1NJT04iPT09byl7aWYoIXRoaXMuX2xhc3REZWx0YUZyb21RdW90ZSlyZXR1cm47aT10aGlzLl9sYXN0RGVsdGFGcm9tUXVvdGV9ZWxzZSBpPXRoaXMuX2NhbGN1bGF0ZVF1b3RlRGVsdGEoZSx0KXx8bnVsbDtpZihpKXtjb25zdFtlLHQsb109aSxuPSgwLEIuZ2V0VGltZUZyYW1lTmFtZSkocz8oMCxNLmNvbnZlcnRUaW1lRnJhbWVUb1N0cikocyk6IiIpO3I9W2UsdCxuLG9dfXRoaXMuX3F1b3RlVGlja2VyUmVuZGVyZXIuY2FsbEZ1bmN0aW9uKChlPT5lLnVwZGF0ZVF1b3RlRGVsdGEocikpKX1fcHJpY2VGb3JtYXR0ZXIoZSl7Y29uc3QgdD10aGlzLl9mb3JtYXR0ZXJDYWNoZSx7cHJpY2VzY2FsZTpzLG1pbm1vdjpvLGZyYWN0aW9uYWw6aSxtaW5tb3ZlMjpyfT1lfHx7cHJpY2VzY2FsZToxMDAsbWlubW92OjF9O2lmKG51bGw9PT10fHx0LnByaWNlc2NhbGUhPT1zfHx0Lm1pbm1vdiE9PW98fHQuZnJhY3Rpb25hbCE9PWl8fHQubWlubW92ZTIhPT1yKXtjb25zdCBlPW5ldyBvZS5QcmljZUZvcm1hdHRlcih7cHJpY2VTY2FsZTpzLG1pbk1vdmU6byxmcmFjdGlvbmFsOmksbWluTW92ZTI6cn0pO3JldHVybiB0aGlzLl9mb3JtYXR0ZXJDYWNoZT17cHJpY2VzY2FsZTpzLG1pbm1vdjpvLGZyYWN0aW9uYWw6aSxtaW5tb3ZlMjpyLGZvcm1hdHRlcjplfSxlfXJldHVybiB0LmZvcm1hdHRlcn1faW5pdFZhbHVlc0luTGVnZW5kKCl7aWYoIjMiPT09dGhpcy5fb3B0aW9ucy52YWx1ZXNUcmFja2luZyYmdGhpcy5taW5pQ2hhcnQpe2NvbnN0IGU9dGhpcy5lbC5xdWVyeVNlbGVjdG9yKCIjdmFsdWVzLWluLWxlZ2VuZC1jb250YWluZXIiKQo7ZSYmKHRoaXMuX3ZhbHVlc0luTGVnZW5kUmVuZGVyZXI9bmV3IE8uQXN5bmNSZXNvdXJjZVdyYXBwZXIoYXN5bmMgZnVuY3Rpb24oZSl7Y29uc3R7TWVkaXVtV2lkZ2V0VmFsdWVzSW5MZWdlbmRSZW5kZXJlcjp0fT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDcyNzYxKSxzLmUoMzIzODcpLHMuZSg4NjY5NildKS50aGVuKHMuYmluZChzLDk1NzU1NykpO3JldHVybiBuZXcgdChlKX0oZSkpLHRoaXMubWluaUNoYXJ0LnVuc3Vic2NyaWJlQ3Jvc3NoYWlyTW92ZSh0aGlzLl92YWx1ZXNJbkxlZ2VuZENyb3NzaGFpck1vdmVIYW5kbGVyKSx0aGlzLm1pbmlDaGFydC5zdWJzY3JpYmVDcm9zc2hhaXJNb3ZlKHRoaXMuX3ZhbHVlc0luTGVnZW5kQ3Jvc3NoYWlyTW92ZUhhbmRsZXIpKX19X3Nob3dUYWIoZSl7dGhpcy5lbC5jbGFzc0xpc3QucmVtb3ZlKCJpLWhpZGRlbiIpLHRoaXMudmlzaWJsZS5zZXRWYWx1ZSghMCksdGhpcy53aWRnZXQuc3Bpbm5lci5zdG9wKCksZT8uKCksdGhpcy5vblJlc2l6ZSgpfV9zaG93RXJyb3JNZXNzYWdlKGUsdCl7dGhpcy5fc2hvd1RhYih0KSx0aGlzLl9jaGFuZ2VDaGFydFZpc2liaWxpdHkoITEpLHRoaXMuX2Vycm9yQ2FyZFJlbmRlcmVyfHwodGhpcy5fZXJyb3JDYXJkUmVuZGVyZXI9bmV3IE8uQXN5bmNSZXNvdXJjZVdyYXBwZXIoYXN5bmMgZnVuY3Rpb24oKXtyZXR1cm4gbmV3KGF3YWl0KDAsc2UuZ2V0RXJyb3JDYXJkUmVuZGVyZXIpKCkpfSgpKSx0aGlzLl9lcnJvckNhcmRSZW5kZXJlci5jYWxsRnVuY3Rpb24oKGU9Pnt0aGlzLmluZm8uY2xhc3NMaXN0LmFkZCgidHYtd2lkZ2V0LWNoYXJ0X19ub3QtZGF0YSIpLHRoaXMuX2NoYXJ0V3JhcHBlckVsLmFwcGVuZENoaWxkKGUuY29udGFpbmVyKX0pKSksdGhpcy5fZXJyb3JDYXJkUmVuZGVyZXIuY2FsbEZ1bmN0aW9uKCh0PT57dC51cGRhdGUoey4uLm1lKGUpLGljb246Imdob3N0IixiYWNrZ3JvdW5kQ29sb3I6InRyYW5zcGFyZW50IixvZmZzZXRIZWlnaHQ6dGhpcy5fZ2V0SGVhZGVySGVpZ2h0KCl9KSx0aGlzLm9uUmVzaXplKCl9KSl9X2dldEhlYWRlckhlaWdodCgpe3JldHVybiB0aGlzLndpZGdldC5sYXlvdXQuY29udGFpbmVyLmNsaWVudEhlaWdodC10aGlzLl9jaGFydFdyYXBwZXJFbC5jbGllbnRIZWlnaHR9X2NoYW5nZUNoYXJ0VmlzaWJpbGl0eShlKXt0aGlzLl9pc0NoYXJ0VmlzaWJsZT1lLGU/dGhpcy5fY2hhcnRQYXJlbnRFbD8uY2xhc3NMaXN0LnJlbW92ZSgiaS1oaWRkZW4iKTp0aGlzLl9jaGFydFBhcmVudEVsPy5jbGFzc0xpc3QuYWRkKCJpLWhpZGRlbiIpfWFzeW5jIF9jcmVhdGVEYXRhTW9kZSgpe2NvbnN0IGU9dGhpcy5lbC5xdWVyeVNlbGVjdG9yKCIuanMtZGF0YS1tb2RlIik7aWYoIWUpcmV0dXJuO2NvbnN0IHQ9YXdhaXQgUHJvbWlzZS5hbGwoW3MuZSg1NzE4NCkscy5lKDM5MDUpLHMuZSg1MTUwOCkscy5lKDQ2NDgyKV0pLnRoZW4ocy5iaW5kKHMsMzA2OTApKTt0aGlzLl9kYXRhTW9kZT1uZXcgdC5EYXRhTW9kZUluZGljYXRvcih7Y2xhc3NTdWZmaXg6Ii0tZm9yLXN5bWJvbC13aWRnZXQiLGVsOmU/P3ZvaWQgMCxzaG9ydDohMCxzeW1ib2w6dGhpcy5zeW1ib2wubmFtZSgpfSl9fXZhciBnZT1zKDUyODg2NCksX2U9cyg3NDgwMDIpLHllPShzKDIxMjI3NSkscygzOTE4MDcpKTtjbGFzcyBmZXtjb25zdHJ1Y3RvcihlLHQscyl7dGhpcy5zcGlubmVyPW5ldyBkLlNwaW5uZXIsdGhpcy5vbmVTeW1ib2w9ITAsdGhpcy5fb25TeW1ib2xDaGFuZ2U9bnVsbCx0aGlzLl9wYWdlcz1uZXcgTWFwLHRoaXMuX3N5bWJvbHM9dGhpcy5fcHJlcGFyZVN5bWJvbHModCksdGhpcy5fb3B0aW9ucz0oMCxwLmRlZmF1bHQpKHt9LHRoaXMuZGVmYXVsdE9wdGlvbnMoKSxzKSxzLmhpZGVEYXRlUmFuZ2VzJiYodGhpcy5fb3B0aW9ucy5taW5pQ2hhcnRPcHRpb25zLnRpbWVmcmFtZS52aXNpYmxlPSExKSx0aGlzLl9vcHRpb25zLm9uU3ltYm9sQ2hhbmdlJiYodGhpcy5fb25TeW1ib2xDaGFuZ2U9bmV3IGsuRGVsZWdhdGUsdGhpcy5fb25TeW1ib2xDaGFuZ2Uuc3Vic2NyaWJlKG51bGwsdGhpcy5fb3B0aW9ucy5vblN5bWJvbENoYW5nZSkpLHRoaXMuX2NyZWF0ZUxheW91dChlKX1kZWZhdWx0T3B0aW9ucygpe3JldHVybntjaGFydE9ubHk6ITEsaGVhZGVyRm9udFNpemU6Im1lZGl1bSIsdmFsdWVzVHJhY2tpbmc6IjAiLGNoYW5nZU1vZGU6InByaWNlLWFuZC1wZXJjZW50IixtaW5pQ2hhcnRPcHRpb25zOntzaG93RGVzY3JpcHRpb246ITEsdGltZWZyYW1lOnt2YWx1ZTp7dHlwZToicGVyaW9kLWJhY2siLHZhbHVlOiIxRCJ9LHZpc2libGU6ITAsc2l6ZToieHNtYWxsIn0sY2hhcnRPcHRpb25zOnttaW5IZWlnaHQ6MjAwLGNoYXJ0OntncmlkOnt2ZXJ0TGluZXM6e3Zpc2libGU6ITF9LGhvcnpMaW5lczp7dmlzaWJsZTohMCxjb2xvcjoiI2U5ZTllYSIsc3R5bGU6by5MaW5lU3R5bGUuRGFzaGVkfX19LHNlcmllczp7bGluZUNvbG9yOnIuY29sb3JzUGFsZXR0ZVsiY29sb3Itc3VjY2VzcyJdLGxpbmVXaWR0aDoxLHRvcENvbG9yOiJyZ2JhKDYwLCAxODgsIDE1MiwgMC4wNSkiLGJvdHRvbUNvbG9yOiJyZ2JhKDYwLCAxODgsIDE1MiwgMC4wNSkifSxsb2FkaW5nOntmYWRlOnt2aXNpYmxlOiEwfSxjbGVhckRhdGFPblN5bWJvbENoYW5nZTohMSxjbGVhckRhdGFPblRpbWVmcmFtZUNoYW5nZTohMX19fSxoaWRlSGVhZGVyOiExLGhpZGVEYXRlUmFuZ2VzOiExLGhpZGVNYXJrZXRTdGF0dXM6ITEsaGlkZVN5bWJvbExvZ286ITEsbm9Cb3JkZXI6ITEsc2hvd1N1YlRpdGxlOiEwfX1zZXRTeW1ib2xzKGUpe3RoaXMuX3N5bWJvbHM9dGhpcy5fcHJlcGFyZVN5bWJvbHMoZSl9X3ByZXBhcmVTeW1ib2xzKGUpe3JldHVybihlPUFycmF5LmlzQXJyYXkoZSk/ZTpbZV0pLm1hcCgoZT0+bmV3IEMoZSwoZT0+IjFEIj09PWV8fHZvaWQgMD09PWU/IkxBU1RTRVNTSU9OIjplKSkpKX1hc3luYyBfY3JlYXRlTGF5b3V0KGUpe3RoaXMub25lU3ltYm9sPTE9PT10aGlzLl9zeW1ib2xzLmxlbmd0aDtjb25zdCB0PXRoaXMuX29wdGlvbnMubm9Cb3JkZXIsbz0oMCwKeS5wYXJzZUh0bWwpKGBcblx0XHRcdDxkaXYgY2xhc3M9InR2LXdpZGdldC1jaGFydCAke3Q/InR2LXdpZGdldC1jaGFydC0tbm8tYm9yZGVyIjoidHYtd2lkZ2V0LWNoYXJ0LS13aXRoLWJvcmRlciJ9Ij5cblx0XHRcdFx0PGRpdiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X19uYXYganMtd2lkZ2V0LWNoYXJ0LXRhYi1jb250YWluZXIgJHt0aGlzLm9uZVN5bWJvbD8iaS1oaWRkZW4iOiIifSI+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz0ianMtd2lkZ2V0LWNoYXJ0LXRhYnMiPjwvZGl2PlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PGRpdiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X19wYWdlcyBqcy13aWRnZXQtY2hhcnQtcGFnZXMiPjwvZGl2PlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPSJ0di13aWRnZXQtY2hhcnRfX2NvcHlyaWdodGluZ0NvbnRhaW5lciI+PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHRgKSxpPSgwLGcuZW5zdXJlTm90TnVsbCkoby5maXJzdEVsZW1lbnRDaGlsZCk7aWYodGhpcy5sYXlvdXQ9e2JvZHk6aSxjb250YWluZXI6ZSx0YWJzQ29udGFpbmVyOigwLGcuZW5zdXJlTm90TnVsbCkoaS5xdWVyeVNlbGVjdG9yKCIuanMtd2lkZ2V0LWNoYXJ0LXRhYi1jb250YWluZXIiKSksdGFic0VsOigwLGcuZW5zdXJlTm90TnVsbCkoaS5xdWVyeVNlbGVjdG9yKCIuanMtd2lkZ2V0LWNoYXJ0LXRhYnMiKSkscGFnZXNFbDooMCxnLmVuc3VyZU5vdE51bGwpKGkucXVlcnlTZWxlY3RvcigiLmpzLXdpZGdldC1jaGFydC1wYWdlcyIpKSxmb290ZXI6aS5xdWVyeVNlbGVjdG9yKCIuanMtd2lkZ2V0LWNoYXJ0LWZvb3RlciIpLGNwQ29udGFpbmVyOigwLGcuZW5zdXJlTm90TnVsbCkoaS5xdWVyeVNlbGVjdG9yKCIudHYtd2lkZ2V0LWNoYXJ0X19jb3B5cmlnaHRpbmdDb250YWluZXIiKSl9LGUub3duZXJEb2N1bWVudC5ib2R5LnN0eWxlLnNldFByb3BlcnR5KCItLXdpZGdldC1mb250LWNvbG9yIix0aGlzLl9vcHRpb25zLmZvbnRDb2xvciksdGhpcy5fb3B0aW9ucy5mb250RmFtaWx5JiZlLm93bmVyRG9jdW1lbnQuYm9keS5zdHlsZS5zZXRQcm9wZXJ0eSgiLS13aWRnZXQtZm9udC1mYW1pbHkiLHRoaXMuX29wdGlvbnMuZm9udEZhbWlseSksdGhpcy5sYXlvdXQuY29udGFpbmVyLmFwcGVuZChpKSx0aGlzLl9zeW1ib2xzLmxlbmd0aD4xKXtjb25zdCBlPShhd2FpdCBQcm9taXNlLmFsbChbcy5lKDk0OTQ3KSxzLmUoODQzMDYpLHMuZSg4MTA3Mikscy5lKDIzNjI0KSxzLmUoOTUwNCkscy5lKDQ3NjMyKSxzLmUoNTgwNTEpLHMuZSgzODQxMSkscy5lKDMyMzg3KSxzLmUoNDIyODgpLHMuZSg2OTExMykscy5lKDc3NzY0KV0pLnRoZW4ocy5iaW5kKHMsMTg3NDQ1KSkpLnJlbmRlcldpZGdldFRhYnMsdD1bXTtmb3IoY29uc3QgZSBvZiB0aGlzLl9zeW1ib2xzKXtjb25zdCBzPWUuZGVzY3JpcHRpb24oKXx8ZS5zaG9ydE5hbWUoKSxvPXtpZDplLm5hbWUoKSxsYWJlbDpzfTt0LnB1c2gobyl9YXdhaXQgUHJvbWlzZS5hbGwoW2UoIm1lZGl1bS13aWRnZXQtdGFicyIsdCx0aGlzLl9zZWxlY3RUYWIuYmluZCh0aGlzKSx0aGlzLmxheW91dC50YWJzRWwsdGhpcy5fb3B0aW9ucy5nZXRUYWJzVGhlbWUpLHRoaXMuX2NyZWF0ZUNvcHlyaWdodGluZygpXSl9ZWxzZSBhd2FpdCB0aGlzLl9jcmVhdGVDb3B5cmlnaHRpbmcoKTt0aGlzLl9zZWxlY3RUYWIodGhpcy5fc3ltYm9sc1swXS5uYW1lKCkpfV9zZWxlY3RUYWIoZSl7Y29uc3QgdD10aGlzLl9nZXRPckNyZWF0ZVBhZ2UoZSk7dGhpcy5fcGFnZXMuZm9yRWFjaCgoZT0+e2U9PT10PyhlLnJlc3VtZU1hcmtldFN0YXR1cygpLGUuc2hvdygoKCk9Pnt0aGlzLl9vYnNlcnZlQ2hhcnRFbnRyeShlLm1pbmlDaGFydD8uZ2V0Q2hhcnRDb250YWluZXIoKXx8bnVsbCl9KSkpOihlLmhpZGUoKSxlLnBhdXNlTWFya2V0U3RhdHVzKCkpfSkpO2NvbnN0IHM9e2xlZnQ6MH0sbz10LmluZm8ucXVlcnlTZWxlY3RvcigiLnR2LXdpZGdldC1jaGFydF9fdGl0bGUiKSxpPW51bGw9PT1vP251bGw6by5jaGlsZHJlbltvLmNoaWxkcmVuLmxlbmd0aC0xXSxyPSgpPT57Y29uc3QgZT0oMCxnLmVuc3VyZU5vdE51bGwpKGkpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3MubGVmdD1lLmxlZnQrZS53aWR0aCsxNSwoMCxnLmVuc3VyZU5vdE51bGwpKGkpLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNoYW5nZSIsciksbnVsbCE9PXRoaXMuX29uU3ltYm9sQ2hhbmdlJiZ0aGlzLl9vblN5bWJvbENoYW5nZS5maXJlKHQuc3ltYm9sLnNob3J0TmFtZSgpLHMpfTt0aGlzLl9vblN5bWJvbENoYW5nZSYmKG51bGwhPT1vJiZudWxsIT09aSYmIiI9PT1pLmlubmVyVGV4dC50cmltKCk/aS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHIpOm51bGwhPT1vP3IoKTp0aGlzLl9vblN5bWJvbENoYW5nZS5maXJlKHQuc3ltYm9sLnNob3J0TmFtZSgpLHMpKX1fZ2V0T3JDcmVhdGVQYWdlKGUpe2xldCB0PXRoaXMuX3BhZ2VzLmdldChlKTtpZih2b2lkIDA9PT10KXtjb25zdCBzPSgwLGcuZW5zdXJlRGVmaW5lZCkodGhpcy5fc3ltYm9scy5maW5kKCh0PT50Lm5hbWUoKT09PWUpKSksbz17Y2hhcnRPbmx5OkJvb2xlYW4odGhpcy5fb3B0aW9ucy5jaGFydE9ubHkpLGhpZGVEYXRhUmFuZ2VzOkJvb2xlYW4odGhpcy5fb3B0aW9ucy5oaWRlRGF0ZVJhbmdlcyksaGlkZVN5bWJvbExvZ286Qm9vbGVhbih0aGlzLl9vcHRpb25zLmhpZGVTeW1ib2xMb2dvKSxtaW5pQ2hhcnRPcHRpb25zOnRoaXMuX29wdGlvbnMubWluaUNoYXJ0T3B0aW9ucyxzaG93U3ViVGl0bGU6Qm9vbGVhbih0aGlzLl9vcHRpb25zLnNob3dTdWJUaXRsZSksdmFsdWVzVHJhY2tpbmc6dGhpcy5fb3B0aW9ucy52YWx1ZXNUcmFja2luZyxjaGFuZ2VNb2RlOnRoaXMuX29wdGlvbnMuY2hhbmdlTW9kZSxoaWRlTWFya2V0U3RhdHVzOnRoaXMuX29wdGlvbnMuaGlkZU1hcmtldFN0YXR1cyxoZWFkZXJGb250U2l6ZTp0aGlzLl9vcHRpb25zLmhlYWRlckZvbnRTaXplfTt0PW5ldyBwZSh0aGlzLHMsbyksdGhpcy5sYXlvdXQucGFnZXNFbC5hcHBlbmQodC5lbCksdGhpcy5fcGFnZXMuc2V0KGUsdCl9cmV0dXJuIHR9YXN5bmMgX2NyZWF0ZUNvcHlyaWdodGluZygpewppZih0aGlzLl9vcHRpb25zLmhpZGVIZWFkZXIpcmV0dXJuO2NvbnN0e3dpZGdldERlZmF1bHRzOntzdGF0aWNfbG9nbzplLHRpdGxlOnR9fT13aW5kb3cuaW5pdERhdGEscz10aGlzLmxheW91dC5jcENvbnRhaW5lcjtsZXQgbztpZih0aGlzLl9jb3B5cmlnaHRpbmdDb250YWluZXJSZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIoKGU9PntpZihlLmxlbmd0aCl7Y29uc3R7bGVmdDp0LGJvdHRvbTpvLGhlaWdodDppfT1lWzBdLnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxyPXdpbmRvdy5pbm5lckhlaWdodDtzLnN0eWxlLmxlZnQ9YCR7dH1weGAscy5zdHlsZS5ib3R0b209bytpPj1yPyIwIjpgY2FsYygxMDAlIC0gJHtvfXB4KWB9fSkpLGUpbz1mdW5jdGlvbih7bG9nb1NvdXJjZTplLGltYWdlQWx0OnR9KXtjb25zdCBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3MuY2xhc3NMaXN0LmFkZCh4LmNvbnRhaW5lcik7Y29uc3Qgbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTtyZXR1cm4gby5zZXRBdHRyaWJ1dGUoInNyYyIsZSksby5zZXRBdHRyaWJ1dGUoImFsdCIsdCkscy5hcHBlbmRDaGlsZChvKSxzfSh7bG9nb1NvdXJjZTplLnVybCxpbWFnZUFsdDp0fSk7ZWxzZXtjb25zdHtjdXN0b21lcjplLGxvY2FsZTp0LHV0bUluZm86cyxjb3B5cmlnaHRPcHRpb25zOml9PXRoaXMuX29wdGlvbnMscj1hd2FpdCgwLF9lLmdldFdpZGdldFNoZXJpZmZBY3Rpb25zKSgpLG49ci5pbmNsdWRlcyhnZS5Lbm93bkFjdGlvbi5MYXJnZVRyYWRlTG9nbyk/ImxhcmdlX3RyYWRlIjoibmV3IixhPWF3YWl0KDAsVC5nZXRDdXN0b21lckNvcHlyaWdodERhdGEpKGUsdCwoMCxULmFkZFV0bUNhbXBhaWduU291cmNlKShzLCJsb2dvIiksbik7bz0oMCx3LmNyZWF0ZUNvcHlyaWdodExhYmVsKShPYmplY3QuYXNzaWduKHt9LHtob3Jpem9udGFsUG9zaXRpb246dy5Db3B5cmlnaHRQb3NpdGlvbi5Ib3Jpem9udGFsLlN0YXJ0LHNuYXBUb0VkZ2U6ITEsbW9kZTpufSx7c2hlcmlmZk9wdGlvbnM6cn0saSx7Li4uYSx0aGVtZTooMCxfLm1lcmdlVGhlbWVzKShhLnRoZW1lLHllKX0pKX1zLmFwcGVuZChvKX1fb2JzZXJ2ZUNoYXJ0RW50cnkoZSl7dGhpcy5fY29weXJpZ2h0aW5nQ29udGFpbmVyUmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKSxlJiZ0aGlzLl9jb3B5cmlnaHRpbmdDb250YWluZXJSZXNpemVPYnNlcnZlcj8ub2JzZXJ2ZShlKX19dmFyIGJlPXMoNjkwMDk3KSxTZT1zKDIwNTY4KTt2YXIgdmU9cyg3MzUyNzkpO3ZhciBDZT1zKDM4OTI5OCk7ZnVuY3Rpb24gd2UoZSl7Y29uc3QgdD1bXTtmb3IobGV0IHMgb2YgQXJyYXkuaXNBcnJheShlKT9lOltlXSl7bGV0IGUsbztBcnJheS5pc0FycmF5KHMpJiYxPT09cy5sZW5ndGgmJihzPXNbMF0pLCJzdHJpbmciPT10eXBlb2Ygcz9lPXM6QXJyYXkuaXNBcnJheShzKSYmKG89c1swXSxlPXNbMV0pLCJzdHJpbmciPT10eXBlb2YgZSYmZSYmKG8/dC5wdXNoKFtTdHJpbmcobyksZV0pOnQucHVzaChlKSl9cmV0dXJuIHR9Y29uc3QgVGU9d2luZG93LmluaXREYXRhLndpZGdldERlZmF1bHRzLHhlPSgwLG0uZXh0cmFjdFdpZGdldFNldHRpbmdzKShUZSxbXSwoZnVuY3Rpb24oZSx0KXt2b2lkIDAhPT10LnVuZGVyTGluZUJvdHRvbUNvbG9yPyh0LmJvdHRvbUNvbG9yPXQuYm90dG9tQ29sb3J8fHQudW5kZXJMaW5lQm90dG9tQ29sb3IsZGVsZXRlIHQudW5kZXJMaW5lQm90dG9tQ29sb3IpOnZvaWQgMCE9PXQudW5kZXJMaW5lQ29sb3ImJih0LmJvdHRvbUNvbG9yPXQuYm90dG9tQ29sb3J8fHQudW5kZXJMaW5lQ29sb3IpLHZvaWQgMCE9PXQudW5kZXJMaW5lQ29sb3ImJih0LnRvcENvbG9yPXQudG9wQ29sb3J8fHQudW5kZXJMaW5lQ29sb3IsZGVsZXRlIHQudW5kZXJMaW5lQ29sb3IpLHZvaWQgMCE9PXQudHJlbmRMaW5lQ29sb3ImJih0LmxpbmVDb2xvcj10LmxpbmVDb2xvcnx8dC50cmVuZExpbmVDb2xvcixkZWxldGUgdC50cmVuZExpbmVDb2xvciksdm9pZCAwIT09dC5zaG93RmxvYXRpbmdUb29sdGlwJiYodC52YWx1ZXNUcmFja2luZz10LnZhbHVlc1RyYWNraW5nfHwiMSIsZGVsZXRlIHQuc2hvd0Zsb2F0aW5nVG9vbHRpcCksInN0cmluZyI9PXR5cGVvZiB0LnN5bWJvbHMmJih0LnN5bWJvbHM9dC5zeW1ib2xzLnNwbGl0KCIsIikubWFwKChlPT5PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxlKSYmdFtlXT9bZSx0W2VdXTplKSkpfSkpO3RyeXsoMCxDZS50cmFja1dpZGdldExvYWRNZXRhSW5mbykoe3dpZGdldF9pZDoic3ltYm9sLW92ZXJ2aWV3IixzeW1ib2xzOkpTT04uc3RyaW5naWZ5KHhlLnN5bWJvbHMubWFwKChlPT4ic3RyaW5nIj09dHlwZW9mIGU/ZTplW2UubGVuZ3RoLTFdKSkubWFwKChlPT5mdW5jdGlvbihlKXtyZXR1cm4gZS5zcGxpdCgifCIpWzBdfShlKSkpKSxjdXN0b21lcjp4ZS5jdXN0b21lcn0pfWNhdGNoe31jb25zdCBrZT0icmdiYSgzNCwgMTcxLCAxNDgsIDAuNSkiLE5lPSJyZ2JhKDIzOSwgODMsIDgwLCAwLjUpIixMZT0iIzI5NjJmZiI7ZnVuY3Rpb24gRWUoKXsKY29uc3R7Y29sb3JUaGVtZTplLGlzVHJhbnNwYXJlbnQ6dD0hMSxiYWNrZ3JvdW5kQ29sb3I6bT0oImRhcmsiPT09ZT8iIzEzMTcyMiI6IiNGRkYiKSxkYXRlUmFuZ2VzOnAsY29tcGFyZVN5bWJvbDpnLGdyaWRMaW5lQ29sb3I6eSxmb250Q29sb3I6Zix3aWRnZXRGb250Q29sb3I6Yix0YWJzVGhlbWVOYW1lOlMsbG9jYWxlOnYsc2NhbGVQb3NpdGlvbjpDLHNjYWxlTW9kZTp3LGZvbnRGYW1pbHk6VCxmb250U2l6ZTp4LG5vVGltZVNjYWxlOmssc2hvd1ZvbHVtZTpOLHNob3dNQTpMLHZvbHVtZVVwQ29sb3I6RT1rZSx2b2x1bWVEb3duQ29sb3I6TT1OZSxoaWRlRGF0ZVJhbmdlczpQLGhpZGVNYXJrZXRTdGF0dXM6RCxoaWRlU3ltYm9sTG9nbzpSLHZhbHVlc1RyYWNraW5nOkksY2hhbmdlTW9kZTpBPSJwcmljZS1hbmQtcGVyY2VudCIsZGF0ZUZvcm1hdDpPPSJkZCBNTU0gJ3l5Iix0aW1lSG91cnNGb3JtYXQ6Rj0iMjQtaG91cnMiLG1hTGluZUNvbG9yOkI9TGUsbWFMaW5lV2lkdGg6Vj0xLG1hTGVuZ3RoOlU9OSxoZWFkZXJGb250U2l6ZTpXPSJtZWRpdW0ifT14ZTt0fHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoIi0tc3ltYm9sLW92ZXJ2aWV3LWJhY2tncm91bmQtY29sb3IiLG0pO2NvbnN0IHE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1lZGl1bXdpZGdldGVtYmVkIiksSD0obmV3IGQuU3Bpbm5lcikuc3BpbihxKTtzZXRUaW1lb3V0KCgoKT0+SC5zdG9wKCkpLDVlMyk7bGV0IHo9d2UoeGUuc3ltYm9scyk7MD09PXoubGVuZ3RoJiYoej13ZShUZS5zeW1ib2xzKSk7Y29uc3Qgaj0oMCxsLmZpbHRlclV0bUluZm8pKHhlKSxRPXg/TnVtYmVyLnBhcnNlSW50KHgsMTApOjEwO2xldCBLLCQsRyxaLFksSjsiZGFyayI9PT1lPyhLPSgwLHIuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktNzUwIiksJD0oMCxyLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTg1MCIpLEc9KDAsci5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS02MDAiKSxaPVk9KDAsci5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS02NTAiKSxKPSgwLHIuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktMjAwIikpOihLPSgwLHIuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktMjAwIiksJD0oMCxyLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3Itd2hpdGUiKSxHPSgwLHIuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktMzAwIiksWj1ZPSgwLHIuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktMzAwIiksSj0oMCxyLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTkwMCIpKTtjb25zdCBYPXtyaWdodFByaWNlU2NhbGU6e3Zpc2libGU6ITEsZW50aXJlVGV4dE9ubHk6ITB9LGxlZnRQcmljZVNjYWxlOnt2aXNpYmxlOiExLGVudGlyZVRleHRPbmx5OiEwfX07c3dpdGNoKEMpe2Nhc2UibGVmdCI6e2NvbnN0e2xlZnRQcmljZVNjYWxlOmV9PVg7ZS52aXNpYmxlPSEwLGUubW9kZT1vLlByaWNlU2NhbGVNb2RlW3ddO2JyZWFrfWNhc2Uibm8iOmJyZWFrO2RlZmF1bHQ6e2NvbnN0e3JpZ2h0UHJpY2VTY2FsZTplfT1YO2UudmlzaWJsZT0hMCxlLm1vZGU9by5QcmljZVNjYWxlTW9kZVt3XX19bGV0IGVlLHRlO3N3aXRjaCh4ZS5jaGFydFR5cGUpe2Nhc2UibGluZSI6e2NvbnN0e2NoYXJ0VHlwZTplLGNvbG9yOnQsY29sb3JHcm93aW5nOnMsY29sb3JGYWxsaW5nOmksbGluZVR5cGU6bj1vLkxpbmVUeXBlLlNpbXBsZSxsaW5lV2lkdGg6YT0zfT14ZTtlZT17Y2hhcnRUeXBlOmUsY29sb3I6dCxncm93aW5nQ29sb3I6cyxmYWxsaW5nQ29sb3I6aSxsaW5lVHlwZTpuLGxpbmVXaWR0aDphLGNyb3NzaGFpck1hcmtlclZpc2libGU6ITAsY3Jvc3NoYWlyTWFya2VyQm9yZGVyQ29sb3I6JCxwcmVtYXJrZXRMaW5lQ29sb3I6Wixwb3N0bWFya2V0TGluZUNvbG9yOll9LHR8fHN8fGl8fChlZS5ncm93aW5nQ29sb3I9KDAsci5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIpLGVlLmZhbGxpbmdDb2xvcj0oMCxyLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItcmlwZS1yZWQtNTAwIikpO2JyZWFrfWNhc2UiYXJlYSI6e2NvbnN0e2NoYXJ0VHlwZTplLGxpbmVDb2xvcjp0LGxpbmVDb2xvckdyb3dpbmc6cyxsaW5lQ29sb3JGYWxsaW5nOmksdG9wQ29sb3I6bix0b3BDb2xvckdyb3dpbmc6bCx0b3BDb2xvckZhbGxpbmc6Yyxib3R0b21Db2xvcjp1LGJvdHRvbUNvbG9yR3Jvd2luZzpoLGJvdHRvbUNvbG9yRmFsbGluZzpkLGxpbmVUeXBlOm09by5MaW5lVHlwZS5TaW1wbGUsbGluZVdpZHRoOnA9Mn09eGU7ZWU9e2NoYXJ0VHlwZTplLGxpbmVDb2xvcjp0LGdyb3dpbmdMaW5lQ29sb3I6cyxmYWxsaW5nTGluZUNvbG9yOmksdG9wQ29sb3I6bixncm93aW5nVG9wQ29sb3I6bCxmYWxsaW5nVG9wQ29sb3I6Yyxib3R0b21Db2xvcjp1LGdyb3dpbmdCb3R0b21Db2xvcjpoLGZhbGxpbmdCb3R0b21Db2xvcjpkLGNyb3NzaGFpck1hcmtlckJvcmRlckNvbG9yOiQsY3Jvc3NoYWlyTWFya2VyVmlzaWJsZTohMCxsaW5lVHlwZTptLGxpbmVXaWR0aDpwLHByZW1hcmtldExpbmVDb2xvcjpaLHBvc3RtYXJrZXRMaW5lQ29sb3I6WX0sdHx8c3x8aXx8KGVlLmdyb3dpbmdMaW5lQ29sb3I9KDAsci5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIpLGVlLmZhbGxpbmdMaW5lQ29sb3I9KDAsci5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXJpcGUtcmVkLTUwMCIpKSxufHxsfHxjfHwoZWUuZ3Jvd2luZ1RvcENvbG9yPSgwLGEuYXBwbHlBbHBoYSkoKDAsci5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIpLC4xKSxlZS5mYWxsaW5nVG9wQ29sb3I9KDAsYS5hcHBseUFscGhhKSgoMCxyLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItcmlwZS1yZWQtNTAwIiksLjEpKSx1fHxofHxkfHwoZWUuZ3Jvd2luZ0JvdHRvbUNvbG9yPSgwLGEuYXBwbHlBbHBoYSkoKDAsCnIuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1taW50eS1ncmVlbi01MDAiKSwwKSxlZS5mYWxsaW5nQm90dG9tQ29sb3I9KDAsYS5hcHBseUFscGhhKSgoMCxyLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItcmlwZS1yZWQtNTAwIiksMCkpO2JyZWFrfWNhc2UiYmFycyI6e2NvbnN0e2NoYXJ0VHlwZTplLHVwQ29sb3I6dCxkb3duQ29sb3I6c309eGU7ZWU9e2NoYXJ0VHlwZTplLHVwQ29sb3I6dCxkb3duQ29sb3I6c307YnJlYWt9Y2FzZSJjYW5kbGVzdGlja3MiOntjb25zdHtjaGFydFR5cGU6ZSx1cENvbG9yOnQsZG93bkNvbG9yOnMsYm9yZGVyVXBDb2xvcjpvLGJvcmRlckRvd25Db2xvcjppLHdpY2tVcENvbG9yOnIsd2lja0Rvd25Db2xvcjpufT14ZTtlZT17Y2hhcnRUeXBlOmUsdXBDb2xvcjp0LGRvd25Db2xvcjpzLGJvcmRlclVwQ29sb3I6byxib3JkZXJEb3duQ29sb3I6aSx3aWNrVXBDb2xvcjpyLHdpY2tEb3duQ29sb3I6bn07YnJlYWt9fXRlPSIwIiE9PUk/e3ZlcnRMaW5lOnt2aXNpYmxlOiEwLHN0eWxlOm8uTGluZVN0eWxlLlNvbGlkLHdpZHRoOjEsY29sb3I6S30sbW9kZTpvLkNyb3NzaGFpck1vZGUuTWFnbmV0fToiYmFycyI9PT14ZS5jaGFydFR5cGV8fCJjYW5kbGVzdGlja3MiPT09eGUuY2hhcnRUeXBlP3t2ZXJ0TGluZTp7bGFiZWxWaXNpYmxlOiEwLHZpc2libGU6ITAsc3R5bGU6by5MaW5lU3R5bGUuU29saWQsd2lkdGg6MSxjb2xvcjpLfSxob3J6TGluZTp7bGFiZWxWaXNpYmxlOiEwfX06e2hvcnpMaW5lOntsYWJlbFZpc2libGU6ITB9LHZlcnRMaW5lOntsYWJlbFZpc2libGU6ITB9fTtjb25zdCBzZT17Y2hhcnRPbmx5OkJvb2xlYW4oeGUuY2hhcnRPbmx5KSxoaWRlRGF0ZVJhbmdlczpCb29sZWFuKFApLGhpZGVNYXJrZXRTdGF0dXM6Qm9vbGVhbihEKSxoaWRlU3ltYm9sTG9nbzpCb29sZWFuKFIpLGhlYWRlckZvbnRTaXplOlcsdXRtSW5mbzpqLG5vQm9yZGVyOnR8fCgwLGkucGFyc2VSZ2JhKShtKVszXTwxLGxvY2FsZTp4ZS5sb2NhbGUsaGlkZUhlYWRlcjpCb29sZWFuKHhlLndoaXRlbGFiZWwpLHZhbHVlc1RyYWNraW5nOkksY2hhbmdlTW9kZTpBLG1pbmlDaGFydE9wdGlvbnM6e2NoYXJ0T3B0aW9uczp7Y2hhcnQ6e2dyaWQ6e2hvcnpMaW5lczp7Y29sb3I6eX0sdmVydExpbmVzOntjb2xvcjp5fX0sbGF5b3V0Ontmb250RmFtaWx5OlQsdGV4dENvbG9yOmYsZm9udFNpemU6USxhdHRyaWJ1dGlvbkxvZ286ITF9LHRpbWVTY2FsZTp7dmlzaWJsZToha30sY3Jvc3NoYWlyOnRlLGxvY2FsaXphdGlvbjp7bG9jYWxlOigwLG4uZ2V0SXNvTGFuZ3VhZ2VDb2RlRnJvbUxhbmd1YWdlKSh2KX0sLi4uWH0sc2VyaWVzOnsuLi5lZSxzY2FsZU1hcmdpbnM6e3RvcDouMDIsYm90dG9tOi4wNX0sYmFzZUxpbmVDb2xvcjpHfSx2b2x1bWU6e3Zpc2libGU6Tix1cENvbG9yOkUsZG93bkNvbG9yOk19LG1hOnt2aXNpYmxlOkwsY29sb3I6QixsaW5lV2lkdGg6VixsZW5ndGg6VSxjcm9zc2hhaXJNYXJrZXJWaXNpYmxlOiEwLGNyb3NzaGFpck1hcmtlckJvcmRlckNvbG9yOiQscHJpY2VMaW5lVmlzaWJsZTohMSxsYXN0VmFsdWVWaXNpYmxlOiExfSxjb21wYXJlU3ltYm9sOmc/e2NvbG9yOmcubGluZUNvbG9yLGxpbmVXaWR0aDpnLmxpbmVXaWR0aCxzeW1ib2w6Zy5zeW1ib2wsc2hvd0xhYmVsczpnLnNob3dMYWJlbHMsY2hhcnRUeXBlOiJsaW5lIixwcmljZUxpbmVWaXNpYmxlOiExLGxhc3RWYWx1ZVZpc2libGU6ITF9OnZvaWQgMCxkYXRlRm9ybWF0Ok8sdGltZUhvdXJzRm9ybWF0OkYsc3VwcHJlc3NUaWNrTWFya3M6e2RheUFuZFRpbWVUaWNrTWFya0ZpeEVuYWJsZWQ6ITB9fSxvbkZpcnN0RGF0YSgpe0guc3RvcCgpfSx0aW1lZnJhbWU6e2dldFRoZW1lOlM/KCk9PmFzeW5jIGZ1bmN0aW9uKGUpe3JldHVybiJsZW50YXJ1Ij09PWU/UHJvbWlzZS5hbGwoW3MuZSgxMzM5Mikscy5lKDUyNjk5KV0pLnRoZW4ocy50LmJpbmQocyw3NTY1MDUsMjMpKS50aGVuKChlPT4oMCxfLm1lcmdlVGhlbWVzKSh2ZS5ERUZBVUxUX1RJTUVfRlJBTUVfSVRFTV9USEVNRSxlKSkpOnZlLkRFRkFVTFRfVElNRV9GUkFNRV9JVEVNX1RIRU1FfShTKTp2b2lkIDAsb3B0aW9uczpwPy5tYXAoKGU9Pntjb25zdFt0LHNdPWUuc3BsaXQoInwiKTtyZXR1cm57Li4uY1siMWQiPT09dD8ibGFzdHNlc3Npb24iOnRdLHRhcmdldFJlc29sdXRpb246c319KSl8fCgwLHUuZ2V0TWVkaXVtVGltZUZyYW1lT3B0aW9ucykoaC5NZWRpdW1UaW1lRnJhbWVPcHRpb25zTW9kZS5Vc2VMYXN0U2Vzc2lvbil9fSxnZXRUYWJzVGhlbWU6KCk9PmFzeW5jIGZ1bmN0aW9uKGUpe2NvbnN0IHQ9KDAsXy5tZXJnZVRoZW1lcykoYmUuZGVmYXVsdFRoZW1lLFNlKTtyZXR1cm4ibGVudGFydSI9PT1lP1Byb21pc2UuYWxsKFtzLmUoMTIxMSkscy5lKDY5MDgzKV0pLnRoZW4ocy50LmJpbmQocyw2MjY3MjAsMjMpKS50aGVuKChlPT4oMCxfLm1lcmdlVGhlbWVzKSh0LGUpKSk6dH0oUyksZm9udENvbG9yOmJ8fEosZm9udEZhbWlseTpUfTtuZXcgZmUocSx6LHNlKX19LDYxOTk5MihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtpc1RpY2tzRW5hYmxlZDooKT0+aX0pO3ZhciBvPXMoMzE4OTc0KTtzKDkzMDIzMSk7ZnVuY3Rpb24gaSgpe3JldHVybiEoMCxvLm9uV2lkZ2V0KSgpfX0sNjk5NTUwKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1F1b3Rlc1Byb3ZpZGVyOigpPT5sfSk7dmFyIG89cygyMzIzNjQpLGk9cyg0MDIwNDUpLHI9cygxNTk1MTMpLG49cyg5NDgzODApLGE9cygxNTAxNTApO2NsYXNzIGx7Y29uc3RydWN0b3IoZT0iZnVsbCIsdCl7dGhpcy5fcXVvdGVzPW5ldyBpLldhdGNoZWRPYmplY3QobnVsbCksdGhpcy5fcXVvdGVTZXNzaW9uU3ltYm9sPW51bGwsdGhpcy5fcXVvdGVTZXNzaW9uQ2xpZW50SWQ9IiIsdGhpcy5fcGF1c2VkUXVvdGVTZXNzaW9uU3ltYm9sPW51bGwsdGhpcy5fcXVvdGVzVXBkYXRlPW5ldyBuLkRlbGVnYXRlLHRoaXMuX3F1b3RlU3ltYm9sQ2hhbmdlZD1uZXcgbi5EZWxlZ2F0ZSx0aGlzLl9jb21wbGV0ZWQ9bmV3IG8uV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9tdWx0aXBsZXhlclR5cGU9ZSwKdGhpcy5faGliZXJuYXRlZD10LHRoaXMuX2hpYmVybmF0ZWQ/LnN1YnNjcmliZSgoZT0+e2U/dGhpcy5wYXVzZSgpOnRoaXMucmVzdW1lKCl9KSl9c2V0UXVvdGVzU2Vzc2lvblN5bWJvbChlKXt0aGlzLl9xdW90ZVNlc3Npb25TeW1ib2whPT1lJiYodGhpcy5fcGF1c2VkUXVvdGVTZXNzaW9uU3ltYm9sPW51bGwsdGhpcy5fcXVvdGVTZXNzaW9uQ2xpZW50SWR8fCh0aGlzLl9xdW90ZVNlc3Npb25DbGllbnRJZD0ic2VyaWVzLSIrKDAsYS5ndWlkKSgpKSx0aGlzLl91bnN1YnNjcmliZVF1b3RlU2Vzc2lvbigpLHRoaXMuX3F1b3RlU2Vzc2lvblN5bWJvbD1lLHRoaXMuX3F1b3RlU3ltYm9sQ2hhbmdlZC5maXJlKCksZSYmdGhpcy5fc3Vic2NyaWJlUXVvdGVTZXNzaW9uKGUpKX1zeW1ib2woKXtyZXR1cm4gdGhpcy5fcXVvdGVTZXNzaW9uU3ltYm9sfXF1b3Rlc1VwZGF0ZSgpe3JldHVybiB0aGlzLl9xdW90ZXNVcGRhdGV9cXVvdGVTeW1ib2xDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3F1b3RlU3ltYm9sQ2hhbmdlZH1xdW90ZXMoKXtyZXR1cm4gdGhpcy5fcXVvdGVzLnJlYWRvbmx5KCl9Y29tcGxldGVkKCl7cmV0dXJuIHRoaXMuX2NvbXBsZXRlZC5yZWFkb25seSgpfWFzeW5jIHF1b3Rlc1NuYXBzaG90KGUpe3JldHVybigwLHIuZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKCJzaW1wbGUiKS5zbmFwc2hvdChlKX1pc1BhdXNlZCgpe3JldHVybiBudWxsIT09dGhpcy5fcGF1c2VkUXVvdGVTZXNzaW9uU3ltYm9sfXBhdXNlKCl7bnVsbD09PXRoaXMuX3BhdXNlZFF1b3RlU2Vzc2lvblN5bWJvbCYmKHRoaXMuX3BhdXNlZFF1b3RlU2Vzc2lvblN5bWJvbD10aGlzLl9xdW90ZVNlc3Npb25TeW1ib2wsdGhpcy5fdW5zdWJzY3JpYmVRdW90ZVNlc3Npb24oKSl9cmVzdW1lKCl7bnVsbCE9PXRoaXMuX3BhdXNlZFF1b3RlU2Vzc2lvblN5bWJvbCYmKHRoaXMuX3N1YnNjcmliZVF1b3RlU2Vzc2lvbih0aGlzLl9wYXVzZWRRdW90ZVNlc3Npb25TeW1ib2wpLHRoaXMuX3BhdXNlZFF1b3RlU2Vzc2lvblN5bWJvbD1udWxsKX1kZXN0cm95KCl7dGhpcy5fdW5zdWJzY3JpYmVRdW90ZVNlc3Npb24oKSx0aGlzLl9oaWJlcm5hdGVkPy5yZWxlYXNlKCl9X29uVXBkYXRlKGUsdCl7dGhpcy5fcXVvdGVzLnNldFZhbHVlKGU/LnZhbHVlcz8/bnVsbCksdCYmdC52YWx1ZXMmJnRoaXMuX3F1b3Rlc1VwZGF0ZS5maXJlKGUsdCksdm9pZCAwIT09ZS5jb21wbGV0ZSYmdGhpcy5fY29tcGxldGVkLnNldFZhbHVlKCEwKX1fc3Vic2NyaWJlUXVvdGVTZXNzaW9uKGUpe3RoaXMuX3F1b3RlU2Vzc2lvblN5bWJvbD1lLCgwLHIuZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKHRoaXMuX211bHRpcGxleGVyVHlwZSkuc3Vic2NyaWJlKHRoaXMuX3F1b3RlU2Vzc2lvbkNsaWVudElkLHRoaXMuX3F1b3RlU2Vzc2lvblN5bWJvbCx0aGlzLl9vblVwZGF0ZS5iaW5kKHRoaXMpKX1fdW5zdWJzY3JpYmVRdW90ZVNlc3Npb24oKXt0aGlzLl9xdW90ZVNlc3Npb25TeW1ib2wmJigoMCxyLmdldFF1b3RlU2Vzc2lvbkluc3RhbmNlKSh0aGlzLl9tdWx0aXBsZXhlclR5cGUpLnVuc3Vic2NyaWJlKHRoaXMuX3F1b3RlU2Vzc2lvbkNsaWVudElkLHRoaXMuX3F1b3RlU2Vzc2lvblN5bWJvbCksdGhpcy5fcXVvdGVTZXNzaW9uU3ltYm9sPW51bGwsdGhpcy5fcXVvdGVzLnNldFZhbHVlKG51bGwpLHRoaXMuX2NvbXBsZXRlZC5zZXRWYWx1ZSghMSkpfX19LDEyODk5OChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHthY3R1YWxTeW1ib2w6KCk9PmQsY3JlYXRlU2VyaWVzRm9ybWF0dGVyOigpPT5oLGdldFN5bWJvbERlbGF5U2Vjb25kczooKT0+Xyxpc0Nsb3NlQmFzZWRTeW1ib2w6KCk9PnAsaXNGdXR1cmVzQ29udHJhY3RTeW1ib2w6KCk9PmcsaXNITENCYXNlZFN0eWxlOigpPT51LGlzUmVndWxhclNlc3Npb25JZDooKT0+bSxpc1NpbmdsZVZhbHVlQmFzZWRTdHlsZTooKT0+Y30pO3MoMTg1MjcxKTt2YXIgbz1zKDkzMDIzMSksaT0ocyg5MzA1NjYpLHMoMzE4OTc0KSxzKDE1NjgyOSkpLHI9KHMoNzk4MzgpLHMoNzU1NjI3KSksbj1zKDk4NDM3NiksYT1zKDEyNTIxOCk7cygzMTQ5MTQpOygwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiksKDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV9vYmplY3RfdHJlZV9hbmRfcHJpY2Vfc2NhbGVfZXhjaGFuZ2VfbGFiZWwiKTt2YXIgbDshZnVuY3Rpb24oZSl7ZS5MYXN0VXNlZFN0eWxlS2V5PSJjaGFydC5sYXN0VXNlZFN0eWxlIixlLkxhc3RVc2VkU2luZ2xlVmFsdWVCYXNlZFN0eWxlPSJjaGFydC5sYXN0VXNlZFNpbmdsZVZhbHVlQmFzZWRTdHlsZSIsZS5MYXN0VXNlZFJhd0RhdGFTdHlsZT0iY2hhcnQucmF3RGF0YVN0eWxlIixlLkxhc3RVc2VkTWV0cmljPSJjaGFydC5sYXN0VXNlZE1ldHJpYyJ9KGx8fChsPXt9KSk7ZnVuY3Rpb24gYyhlKXtzd2l0Y2goZSl7Y2FzZSAzOmNhc2UgMTA6Y2FzZSAyOmNhc2UgMTQ6Y2FzZSAxNTpjYXNlIDEzOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIHUoZSl7c3dpdGNoKGUpe2Nhc2UgMTY6Y2FzZSAyMTpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX1mdW5jdGlvbiBoKGUsdCxzPSExKXtjb25zdHtwcmljZVNjYWxlOm8sbWluTW92ZTppLGZyYWN0aW9uYWw6bCxtaW5Nb3ZlMjpjLHZhcmlhYmxlTWluVGljazp1LG5vRXhwb25lbnRpYWxGb3JtOmh9PWZ1bmN0aW9uKGUsdD0iZGVmYXVsdCIscz0hMSl7bGV0IG8saSxyLG4sYT0xMDAsbD0xO2lmKCJkZWZhdWx0Ij09PXQpbnVsbCE9ZSYmKCh7cHJpY2VzY2FsZTphLG1pbm1vdjpsLG1pbm1vdmUyOmksZnJhY3Rpb25hbDpvfT1lKSxyPWUudmFyaWFibGVfdGlja19zaXplfHx2b2lkIDApO2Vsc2V7bGV0IGU9dC5zcGxpdCgiLCIpOzMhPT1lLmxlbmd0aCYmKGU9WyIxMDAiLCIxIiwiZmFsc2UiXSksYT1wYXJzZUludChlWzBdKSxsPXBhcnNlSW50KGVbMV0pLG89InRydWUiPT09ZVsyXSxuPSEwfXJldHVybiBzJiYobD0xKSx7cHJpY2VTY2FsZTphLG1pbk1vdmU6bCxmcmFjdGlvbmFsOm8sbWluTW92ZTI6aSx2YXJpYWJsZU1pblRpY2s6cixpZ25vcmVNaW5Nb3ZlOnMsCm5vRXhwb25lbnRpYWxGb3JtOm59fShlLHQscyk7aWYobnVsbCE9ZSl7Y29uc3Qgcj1lLmZvcm1hdDtpZigiZGVmYXVsdCI9PT10JiYidm9sdW1lIj09PXIpcmV0dXJuIG5ldyBuLlZvbHVtZUZvcm1hdHRlcih7cHJlY2lzaW9uOjJ9KTtpZigicGVyY2VudCI9PT1yKXJldHVybiBuZXcgYS5QZXJjZW50YWdlRm9ybWF0dGVyKHtwcmljZVNjYWxlOm8sbWluTW92ZTppLGZyYWN0aW9uYWw6bCxtaW5Nb3ZlMjpjLHZhcmlhYmxlTWluVGljazp1LGlnbm9yZU1pbk1vdmU6c30pfXJldHVybiBuZXcgci5QcmljZUZvcm1hdHRlcih7cHJpY2VTY2FsZTpvLG1pbk1vdmU6aSxmcmFjdGlvbmFsOmwsbWluTW92ZTI6Yyx2YXJpYWJsZU1pblRpY2s6dSxpZ25vcmVNaW5Nb3ZlOnMsbm9FeHBvbmVudGlhbEZvcm06aH0pfWZ1bmN0aW9uIGQoZSx0KXtyZXR1cm4gbnVsbCE9PWU/ZS5mdWxsX25hbWU6dH1mdW5jdGlvbiBtKGUsdCl7d2luZG93O3JldHVyblsic3RvY2siLCJmdW5kIiwiaW5kZXgiLCJkciJdLmluY2x1ZGVzKHQudHlwZSkmJiJyZWd1bGFyIj09PWV8fCgwLGkuaXNGdXR1cmVzKSh0LnR5cGUpJiYidXNfcmVndWxhciI9PT1lfWZ1bmN0aW9uIHAoZSl7cmV0dXJuImMiPT09ZT8udmlzaWJsZV9wbG90c19zZXR9ZnVuY3Rpb24gZyhlKXtyZXR1cm4gbnVsbCE9PWUmJigwLGkuaXNGdXR1cmVzKShlLnR5cGUpJiYhQm9vbGVhbihlLnR5cGVzcGVjcz8uaW5jbHVkZXMoImNvbnRpbnVvdXMiKSl9ZnVuY3Rpb24gXyhlKXtyZXR1cm4gTWF0aC5tYXgoMCxlPy5kZWxheT8/MCl9fSw5MTEzMjcoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Z2V0U3ltYm9sUGFnZVBhdGg6KCk9PmF9KTtzKDk2MzkwMCkscygzMDk4MzYpO3ZhciBvPXMoODUxNDU4KSxpPXMoMTU2ODI5KTtjb25zdCByPW5ldyBTZXQoWyJTUDpTUFgiLCJDQk9FOlNQWCJdKTtmdW5jdGlvbiBuKGUpe2NvbnN0IHQ9ey4uLmV9O2lmKCJzcHJlYWQiPT09dC50eXBlfHwiZXhwcmVzc2lvbiI9PT10LnR5cGUpe2NvbnN0IGU9dC5zaG9ydE5hbWUmJmwodC5zaG9ydE5hbWUpLHM9dC5wcm9OYW1lJiZsKHQucHJvTmFtZSk7dC50eXBlPXZvaWQgMCx0LnNob3J0TmFtZT1lLHQucHJvTmFtZT1zfXJldHVybiB0fWZ1bmN0aW9uIGEoZSx0KXtjb25zdCBzPW4oZSk7cmV0dXJuIHUoaChzLHQpLGMocykpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuKDAsby50b2tlbml6ZSkoZSkuZmluZCgoZT0+InN5bWJvbCI9PT1lLnR5cGUpKT8udmFsdWV9ZnVuY3Rpb24gYyhlKXtjb25zdCB0PXtzaG9ydE5hbWU6ZS5zaG9ydE5hbWUsZXhjaGFuZ2U6ZS5leGNoYW5nZSxwcm9OYW1lOmUucHJvTmFtZSx0eXBlOmUudHlwZSx0eXBlc3BlY3M6ZS50eXBlc3BlY3Mscm9vdDplLnJvb3R9O3JldHVybiB0LnByb05hbWUmJnQucHJvTmFtZS5pbmNsdWRlcygiOiIpJiYoW3QuZXhjaGFuZ2UsdC5zaG9ydE5hbWVdPXQucHJvTmFtZS5zcGxpdCgiOiIpKSx0fWZ1bmN0aW9uIHUoZSx0KXtjb25zdCBzPWVuY29kZVVSSUNvbXBvbmVudCh0LnNob3J0TmFtZXx8IiIpLG89ZW5jb2RlVVJJQ29tcG9uZW50KHQuZXhjaGFuZ2V8fCIiKSxpPWVuY29kZVVSSUNvbXBvbmVudCh0LnByb05hbWV8fCIiKSxyPWVuY29kZVVSSUNvbXBvbmVudCh0LnJvb3R8fCIiKTtyZXR1cm4gZS5yZXBsYWNlKCJ7dHZleGNoYW5nZX0iLG8pLnJlcGxhY2UoInt0dnN5bWJvbH0iLHMpLnJlcGxhY2UoInt0dnByb3N5bWJvbH0iLGkpLnJlcGxhY2UoInt0dnJvb3R9IixyKX1mdW5jdGlvbiBoKGUsdD0iIil7Y29uc3Qgcz1jKGUpLHt0eXBlOm8sdHlwZXNwZWNzOm4sc2hvcnROYW1lOmEscHJvTmFtZTpsLGV4Y2hhbmdlOnUscm9vdDpofT1zO3JldHVybiB2b2lkIDA9PT1hJiZ2b2lkIDA9PT1sPyhjb25zb2xlLndhcm4oIlBhcmFtcyBtaXNzZWQiKSwiLyIpOmwmJnIuaGFzKGwpP2Avc3ltYm9scy97dHZzeW1ib2x9LyR7dH1gOm98fG4/ImNvbW1vZGl0eSI9PT1vJiZuJiZuLmluY2x1ZGVzKCJjZmQiKT8iL3N5bWJvbHMve3R2c3ltYm9sfS8/ZXhjaGFuZ2U9e3R2ZXhjaGFuZ2V9IjohaHx8IW58fCJmdXR1cmVzIiE9PW98fG4uaW5jbHVkZXMoImNvbnRpbnVvdXMiKSYmYT8uZW5kc1dpdGgoIjEhIil8fG4uaW5jbHVkZXMoImV4Y2hhbmdlLWNvbnRpbnVvdXMiKT91JiYoImZvcmV4Ij09PW98fG4mJigwLGkuaGFzQ3J5cHRvVHlwZXNwZWMpKG4pKT8iL3N5bWJvbHMve3R2c3ltYm9sfS8/ZXhjaGFuZ2U9e3R2ZXhjaGFuZ2V9Ijp1P2Avc3ltYm9scy97dHZleGNoYW5nZX0te3R2c3ltYm9sfS8ke3R9YDpgL3N5bWJvbHMve3R2c3ltYm9sfS8ke3R9YDpgL3N5bWJvbHMve3R2ZXhjaGFuZ2V9LXt0dnJvb3R9MSEvJHt0fT9jb250cmFjdD17dHZzeW1ib2x9YDp1P2Avc3ltYm9scy97dHZleGNoYW5nZX0te3R2c3ltYm9sfS8ke3R9YDpgL3N5bWJvbHMve3R2c3ltYm9sfS8ke3R9YH19LDczMDY0NShlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSl7Y29uc3QgdD1uZXcgVVJMKGUsZG9jdW1lbnQuYmFzZVVSSSk7cmV0dXJuIG4odCkmJnIodCkmJmkodCl9cy5kKHQse2lzSW50ZXJuYWxIb3N0OigpPT5hLGlzSW50ZXJuYWxVcmw6KCk9Pm8saXNUdkxpbms6KCk9Pmx9KTtjb25zdCBpPWU9PiFlLnVzZXJuYW1lLHI9ZT0+Imh0dHA6Ij09PWUucHJvdG9jb2x8fCJodHRwczoiPT09ZS5wcm90b2NvbCxuPWU9PmUuaG9zdG5hbWU9PT1sb2NhdGlvbi5ob3N0bmFtZXx8IS9eXGQrXC5cZCtcLlxkK1wuXGQrJC8udGVzdChlLmhvc3RuYW1lKSYmYShlLmhvc3RuYW1lKTtmdW5jdGlvbiBhKGUsdD13aW5kb3cubG9jYXRpb24uaG9zdG5hbWUpe2NvbnN0IHM9Ii4iPT09dC5zbGljZSgtMSk/MzoyLG89dC50b0xvd2VyQ2FzZSgpLnNwbGl0KCIuIikuc2xpY2UoLXMpLGk9ZS50b0xvd2VyQ2FzZSgpLnNwbGl0KCIuIikuc2xpY2UoLW8ubGVuZ3RoKTtyZXR1cm4gby5qb2luKCIuIik9PT1pLmpvaW4oIi4iKX1mdW5jdGlvbiBsKGUpe3RyeXtyZXR1cm4gZS5zdGFydHNXaXRoKCIvIil8fGEobmV3IFVSTChlKS5ob3N0bmFtZSwidHJhZGluZ3ZpZXcuY29tIil9Y2F0Y2h7cmV0dXJuITF9fX0sMzA5ODM2KGUsdCxzKXsidXNlIHN0cmljdCI7cyg2MDE1ODcpCn0sNjAxNTg3KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2J1aWxkVXRtUXVlcnlTdHJpbmc6KCk9PmEsYnVpbGRVdG1RdWVyeVN0cmluZ0Zyb21VcmxQYXJhbXM6KCk9PmwsZmlsdGVyVXRtSW5mbzooKT0+bn0pO3ZhciBvPXMoNDkyNjc3KSxpPXMoNjQxNTkzKTtjb25zdCByPVsidXRtX3NvdXJjZSIsInV0bV9tZWRpdW0iLCJ1dG1fY2FtcGFpZ24iXTtmdW5jdGlvbiBuKGUpe2NvbnN0IHQ9e307cmV0dXJuIHIuZm9yRWFjaCgocz0+e2NvbnN0IG89ZVtzXTsic3RyaW5nIj09dHlwZW9mIG8mJiIiIT09byYmKHRbc109KDAsaS5odG1sRXNjYXBlKShvKSl9KSksdH1mdW5jdGlvbiBhKGUsdD0hMSl7Y29uc3Qgcz0oMCxvLmNyZWF0ZVVybFBhcmFtcykoZSk7cmV0dXJuIHMmJnQ/Ij8iK3M6c31mdW5jdGlvbiBsKGUpe3JldHVybiBhKG4oKDAsby5nZXRVcmxQYXJhbXMpKCkpLGUpfX0sOTM1MShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMy45MiA3LjgzIDkgMTIuMjlsNS4wOC00LjQ2LTEtMS4xM0w5IDEwLjI5bC00LjA5LTMuNi0uOTkgMS4xNFoiLz48L3N2Zz4nfSwyMjEwNjEoZSx0LHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgbztzLmQodCx7TE9HTEVWRUw6KCk9Pm8sZ2V0TG9nSGlzdG9yeTooKT0+ZyxnZXRMb2dnZXI6KCk9PnksZ2V0UmF3TG9nSGlzdG9yeTooKT0+bSxpc0hpZ2hSYXRlRW5hYmxlZDooKT0+ZCxzZXJpYWxpemVMb2dIaXN0b3J5RW50cnk6KCk9PnB9KSxmdW5jdGlvbihlKXtlW2UuRVJST1I9MV09IkVSUk9SIixlW2UuV0FSTklORz0yXT0iV0FSTklORyIsZVtlLklORk89M109IklORk8iLGVbZS5OT1JNQUw9NF09Ik5PUk1BTCIsZVtlLkRFQlVHPTVdPSJERUJVRyJ9KG98fChvPXt9KSk7bGV0IGk9MDtjb25zdCByPVtdO2xldCBuPW51bGwsYT1udWxsLGw9bnVsbCxjPW51bGwsdT1vLldBUk5JTkcsaD0hMTtmdW5jdGlvbiBkKCl7cmV0dXJuIGh9ZnVuY3Rpb24gbShlLHQpe2xldCBzPXIucmVkdWNlKCgoZSx0KT0+ZS5jb25jYXQodCkpLFtdKTtyZXR1cm4gcy5zb3J0KCgoZSx0KT0+ZS5pZC10LmlkKSksdm9pZCAwIT09dCYmKHM9cy5maWx0ZXIoKGU9PmUuc3ViU3lzdGVtSWQ9PT10KSkpLCJudW1iZXIiPT10eXBlb2YgZSYmKHM9cy5zbGljZSgtZSkpLHN9ZnVuY3Rpb24gcChlKXtyZXR1cm4gbmV3IERhdGUoZS50aW1lc3RhbXApLnRvSVNPU3RyaW5nKCkrIjoiK2Uuc3ViU3lzdGVtSWQrIjoiK2UubWVzc2FnZS5yZXBsYWNlKC8iL2csIiciKX1jb25zdCBnPShlLHQpPT5mdW5jdGlvbihlLHQpe2xldCBzLG89MCxpPTA7Zm9yKHM9ZS5sZW5ndGgtMTtzPj0xJiYobys9OCooMStlbmNvZGVVUklDb21wb25lbnQoZVtzXSkubGVuZ3RoKSwhKHMtMT4wJiYoaT04KigxK2VuY29kZVVSSUNvbXBvbmVudChlW3MtMV0pLmxlbmd0aCksbytpPnQpKSk7cy0tKTtyZXR1cm4gZS5zbGljZShzKX0obShlLHQpLm1hcChwKSw3NTQ5NzQ3Mik7ZnVuY3Rpb24gXyhlLHQscyxyLGgpe2lmKHQ9PT1hJiZyLmlkPT09bClyZXR1cm47Y29uc3QgbT1uZXcgRGF0ZTtpZihlPD1vLk5PUk1BTCYmZnVuY3Rpb24oZSx0LHMsbyxyLG4peyJmdW5jdGlvbiI9PXR5cGVvZiBzdHJ1Y3R1cmVkQ2xvbmUmJih0PXN0cnVjdHVyZWRDbG9uZSh0KSksdD10LnNsaWNlKDAsbj8/MWUzKTtjb25zdCBhPXtpZDppLG1lc3NhZ2U6dCxzdWJTeXN0ZW1JZDpvLHRpbWVzdGFtcDpOdW1iZXIoZSl9O2krPTEscy5wdXNoKGEpLHZvaWQgMCE9PXImJnMubGVuZ3RoPnImJnMuc3BsaWNlKDAsMSl9KG0sdCxzLHIuaWQsci5tYXhDb3VudCxoKSxlPD11JiYoIXIuaGlnaFJhdGV8fGQoKSkmJighbnx8ci5pZC5tYXRjaChuKSkpe2NvbnN0IHM9bS50b0lTT1N0cmluZygpKyI6IityLmlkKyI6Iit0O3N3aXRjaChlKXtjYXNlIG8uREVCVUc6Y29uc29sZS5kZWJ1ZyhzKTticmVhaztjYXNlIG8uSU5GTzpjYXNlIG8uTk9STUFMOnIuY29sb3I/Y29uc29sZS5sb2coIiVjIitzLCJjb2xvcjogIityLmNvbG9yKTpjb25zb2xlLmxvZyhzKTticmVhaztjYXNlIG8uV0FSTklORzpjb25zb2xlLndhcm4ocyk7YnJlYWs7Y2FzZSBvLkVSUk9SOmNvbnNvbGUuZXJyb3Iocyl9YT10LGw9ci5pZCxudWxsIT09YyYmY2xlYXJUaW1lb3V0KGMpLGM9c2V0VGltZW91dCgoKCk9PnthPW51bGwsbD1udWxsLGM9bnVsbH0pLDFlMyl9fWZ1bmN0aW9uIHkoZSx0PXt9KXtjb25zdCBzPVtdO3IucHVzaChzKTtjb25zdCBpPU9iamVjdC5hc3NpZ24odCx7aWQ6ZX0pO2Z1bmN0aW9uIG4oZSl7cmV0dXJuKHQsbyk9Pl8oZSxTdHJpbmcodCkscyxpLG8pfXJldHVybntsb2dEZWJ1ZzpuKG8uREVCVUcpLGxvZ0Vycm9yOm4oby5FUlJPUiksbG9nSW5mbzpuKG8uSU5GTyksbG9nTm9ybWFsOm4oby5OT1JNQUwpLGxvZ1dhcm46bihvLldBUk5JTkcpfX19fV0pOw=="}},"time_used":1,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/51508.767219283c65f4d4ca6e.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.786Z","timestamp":1785120634786,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/51508.767219283c65f4d4ca6e.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"static.getbutton.io/widget-send-button/js/init.js","fqdn":"static.getbutton.io","domain":"getbutton.io","tld":"io"},"ip":{"addr":"104.26.15.221","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.435Z","timestamp":1785120633435,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"getbutton.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Tue, 16 Jun 2026 00:45:37 GMT","end":"Mon, 14 Sep 2026 01:45:33 GMT"},"fingerprint":{"sha1":"DC:2F:40:2C:2E:8F:A1:FE:B6:A3:D2:1B:01:7E:28:02:66:38:0E:86","sha256":"E1:C6:2E:FD:25:F8:44:CA:B3:2C:26:9B:A5:CB:26:9B:6D:77:7B:CF:2A:52:29:CD:23:39:99:E7:89:F4:41:57"}}},"request":{"raw":"GET /widget-send-button/js/init.js HTTP/1.1\r\nHost: static.getbutton.io\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://247optiontradefx.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 302 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: text/html\r\nlocation: https://static.getbutton.io/widget/bundle.js\r\nserver: cloudflare\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-cache-status: BYPASS\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=4Hn0g2uFcBO2CHFcH3Ab8DANsiNZY4vX3zY6s%2FSQXSGVZ%2BmePIlDe5dtarZRwr8NXhYZxx9UIoMERrW%2Bzg%2FICh%2FGbmZmxMGFOA8%2Fgl%2B97z0ONdljwA10KTSWDVYSoWMtlBC3FAk%3D\"}]}\r\ncf-ray: a21856570eaa5a0f-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"302","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"]}],"data":{"size":0,"size_decoded":0,"mime_type":"application/javascript; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-07-27T05:14:11.3544Z","times_seen":17556491,"resource_available":true,"data":null}},"time_used":76,"timings":{"blocked":-1,"dns":3,"connect":1,"send":0,"wait":61,"receive":0,"ssl":11},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"binarymate.com/assets/landing/platform-tiny/css/responsive.css","fqdn":"binarymate.com","domain":"binarymate.com","tld":"com"},"ip":{"addr":"172.67.160.195","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://binarymate.com/en/tyni-platform?r=https://247optiontradefx.live/dashboard/register","date":"2026-07-27T02:50:33.768Z","timestamp":1785120633768,"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":"binarymate.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 14 Jun 2026 17:48:17 GMT","end":"Sat, 12 Sep 2026 18:48:16 GMT"},"fingerprint":{"sha1":"26:CD:F2:69:FE:7F:C6:01:56:78:36:8F:A3:D6:FB:30:04:43:72:C0","sha256":"84:94:E9:41:71:FF:C7:FC:0D:D1:FE:9F:61:E9:EB:27:62:B3:01:D9:AA:F6:35:FB:C6:FA:4A:CE:9B:16:0B:7E"}}},"request":{"raw":"GET /assets/landing/platform-tiny/css/responsive.css HTTP/1.1\r\nHost: binarymate.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://binarymate.com/en/tyni-platform?r=https://247optiontradefx.live/dashboard/register\r\nCookie: laravel_session=UYESX7wELN8BSPz4LvfUKeGrrWO22l12CaQ7FWII\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\npriority: u=2,i=?0\r\ncontent-type: text/css\r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nlast-modified: Tue, 23 May 2017 15:08:16 GMT\r\nserver: cloudflare\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=KyE2gz%2FN5%2FnzVKa6RX8oc2NafBHnB5evJi%2FTotWx00u2fzYIC2yGBPw0TwobK33OLp8wNysXgAA0qoauWWzyyz2j7uiVavTeDu2IOj9z8lqQSXPPMUveuthmoJo7FwvyHQ%3D%3D\"}]}\r\nage: 373\r\ncache-control: max-age=14400\r\ncf-cache-status: HIT\r\ncontent-encoding: zstd\r\netag: W/\"59245060-504\"\r\ncf-ray: a21856590acf8be6-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"]}],"data":{"size":1284,"size_decoded":1166,"mime_type":"text/css","magic":"ASCII text","md5":"ca82ea1ddeb43e3dfc4e544a02fbadac","sha1":"6da2214bdd356db846f2a479ef5eeb2700af598c","sha256":"21ebf6b68199ec17b495212de87d4275c1d11947f30edd0abd23dd8cbe8a136d","sha512":"588f1d010ab4718d0a46f16b36667e649cc4a40c51f320a8cd17233302c3275970111e126b82ae5d301357c9fbb94aeff77efa77f059696f1ffcb2c1a5cfa03b","ssdeep":"","tlshash":"a821fc8bdda312493c5da175df7b735a6138c003a34ecc987e6ce1958f0b596c8a0bc9","first_seen":"2023-05-30T11:35:28Z","last_seen":"2026-07-27T05:39:36.998277Z","times_seen":82,"resource_available":false,"data":"QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCl7CgogICAgLm1pbmktY2hhcnQtYnRuLWNvbnQsIC5tYy1sb2dvIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgIH0KCiAgICAubWMtdGFibGUsIC5jaGFydC1wYWRkaW5nIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgIH0KCiAgICAubWMtdGFibGUgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7CiAgICB9CgogICAgLm1jLXRhYmxlLXRkIHsKICAgICAgICB3aWR0aDogYXV0bzsKICAgICAgICBmbGV4OiAxOwogICAgfQoKICAgIC5ibG9jay1jaGFydHMgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgfQogICAgLm1pbmktY2hhcnQtYnRuLWNvbnR7CiAgICAgICAgd2lkdGg6IDMwJTsKICAgIH0KICAgICNjaGFydC1tIHsKICAgICAgICAvKm1pbi13aWR0aDogMzEycHg7Ki8KICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OwogICAgfQogICAgLmNoYXJ0LXBhZGRpbmcgewogICAgICAgIGZsb2F0OiBsZWZ0OwogICAgICAgIHdpZHRoOiA3MCU7CiAgICAgICAgd2lkdGg6IGNhbGMoNzAlIC0gMTBweCk7CiAgICAgICAgcGFkZGluZzogMTBweCAxMHB4IDAgMDsKICAgIH0KICAgIC5taW5pLWNoYXJ0LWJ0bi1jb250IHsKICAgICAgICBwYWRkaW5nLXRvcDogMTBweDsKICAgIH0KCiAgICAjcmFkaW8gbGFiZWwgewogICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgICB9CiAgICAubWMtbG9nbyBmb3JtewogICAgICAgIC8qd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpOyovCiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICB9CiAgICAubWMtYnRuIHNwYW4gewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIH0KICAgIC5tYy1idG4gewogICAgICAgIHBhZGRpbmc6NXB4IDE1cHggIWltcG9ydGFudDsKICAgICAgICBoZWlnaHQ6IDUycHg7CiAgICB9CiAgICAuYmxvY2stY2hhcnRzIC5vbmUtY2hhcnQgewogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB9CiAgICAubWluaS1jaGFydC1sZWdlbmQgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGZsb2F0OiBub25lOwogICAgfQogICAgLmRlYWwtZmluaXNoLXBvcHVwIC5yaWdodC1mb290IHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgd2lkdGg6IDMwJTsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7CiAgICB9CiAgICAuZGVhbC1maW5pc2gtcG9wdXAgLnJpZ2h0LWZvb3Qgc3BhbiB7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgfQp9"}},"time_used":9,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":9,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/medium-widget-creator.acae84f4101b42f4c83a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.950Z","timestamp":1785120633950,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/medium-widget-creator.acae84f4101b42f4c83a.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-14e99\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:32:38\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 8a23d086b9e61a6e045466938999c1be\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":85657,"size_decoded":30128,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3069)","md5":"1a3a6f6b5fa3ac49d3041777a05c4d00","sha1":"6f36185ce7c4b46b18a1f3b45ec078597274cbdf","sha256":"c00212402d63e94e4830a5474e400df48f4a3bd64e9753c9b61e8d63494d3067","sha512":"d6ab69c42e887e2c1755b516f7e3f38ce8f0bc550183c89122629fa03d625fb7350915ad17dc76cf16b594d0ea6b11815147544ea86c3a6e022ed350cdd2f7da","ssdeep":"1536:5U5XkOpmRp94W21iPgAmNy+PztsX+Sqy2QxvGg:5bOQRp94W5POy+Pztsufpg","tlshash":"08832954f092707252e382ee94771003e73a5a89b8494669f67c9cde6b9dc0db231f7c","first_seen":"2026-07-24T23:32:32.528697Z","last_seen":"2026-07-27T06:01:16.171841Z","times_seen":21,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szMjEwMCw4OTQ2N10sezM5MTgwNyhlKXtlLmV4cG9ydHM9e2xhYmVsOiJsYWJlbC11eklHSTIxQSIsc3RhcnQ6InN0YXJ0LXV6SUdJMjFBIn19LDQ3MDY3OShlKXtlLmV4cG9ydHM9e3ZhbHVlc0luTGVnZW5kQ29udGFpbmVyOiJ2YWx1ZXNJbkxlZ2VuZENvbnRhaW5lci1UdjYzcU83aSIscXVvdGVUaWNrZXJDb250YWluZXI6InF1b3RlVGlja2VyQ29udGFpbmVyLVR2NjNxTzdpIix2YWx1ZXNJbkxlZ2VuZENvbnRhaW5lcl9zaG93OiJ2YWx1ZXNJbkxlZ2VuZENvbnRhaW5lcl9zaG93LVR2NjNxTzdpIixxdW90ZVRpY2tlckNvbnRhaW5lcl9zaG93OiJxdW90ZVRpY2tlckNvbnRhaW5lcl9zaG93LVR2NjNxTzdpIixnb1RvVHZMaW5rOiJnb1RvVHZMaW5rLVR2NjNxTzdpIn19LDM0ODg0OShlKXtlLmV4cG9ydHM9e3NxdWFyZVRhYkJ1dHRvbjoic3F1YXJlVGFiQnV0dG9uLVJLS1RSaFo2IixzZWxlY3RlZDoic2VsZWN0ZWQtUktLVFJoWjYiLGRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlczoiZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLVJLS1RSaFo2IixkaXNhYmxlZDoiZGlzYWJsZWQtUktLVFJoWjYiLGRpc2FibGVGb2N1c091dGxpbmU6ImRpc2FibGVGb2N1c091dGxpbmUtUktLVFJoWjYiLHhsYXJnZToieGxhcmdlLVJLS1RSaFo2Iix0YWJIaWRkZW5Db250ZW50OiJ0YWJIaWRkZW5Db250ZW50LVJLS1RSaFo2IixtZWRpdW06Im1lZGl1bS1SS0tUUmhaNiIsc21hbGw6InNtYWxsLVJLS1RSaFo2Iix4c21hbGw6InhzbWFsbC1SS0tUUmhaNiIsbWVkaXVtV2l0aFNtYWxsRm9udDoibWVkaXVtV2l0aFNtYWxsRm9udC1SS0tUUmhaNiIsZmFrZToiZmFrZS1SS0tUUmhaNiIsdmVydGljYWxUYWJzV3JhcHBlcjoidmVydGljYWxUYWJzV3JhcHBlci1SS0tUUmhaNiIsdmVydGljYWxCdXR0b246InZlcnRpY2FsQnV0dG9uLVJLS1RSaFo2Iixjb250ZW50OiJjb250ZW50LVJLS1RSaFo2Iix0YWJDb250ZW50OiJ0YWJDb250ZW50LVJLS1RSaFo2IixlbmRTbG90SW5EaXNjbG9zdXJlOiJlbmRTbG90SW5EaXNjbG9zdXJlLVJLS1RSaFo2In19LDEzNTI4NyhlKXtlLmV4cG9ydHM9e3Njcm9sbFdyYXA6InNjcm9sbFdyYXAtRmFWMGJLN2UiLG92ZXJmbG93U2Nyb2xsOiJvdmVyZmxvd1Njcm9sbC1GYVYwYks3ZSIsc3F1YXJlVGFiczoic3F1YXJlVGFicy1GYVYwYks3ZSIsb3ZlcmZsb3dXcmFwOiJvdmVyZmxvd1dyYXAtRmFWMGJLN2UiLGNvbnRlbnQ6ImNvbnRlbnQtRmFWMGJLN2UiLHZlcnRpY2FsQ29udGVudDoidmVydGljYWxDb250ZW50LUZhVjBiSzdlIix2ZXJ0aWNhbDoidmVydGljYWwtRmFWMGJLN2UiLHhzbWFsbDoieHNtYWxsLUZhVjBiSzdlIixzcXVhcmVUYWJCdXR0b246InNxdWFyZVRhYkJ1dHRvbi1GYVYwYks3ZSIsc3RhcnRTbG90V3JhcDoic3RhcnRTbG90V3JhcC1GYVYwYks3ZSIsZW5kU2xvdFdyYXA6ImVuZFNsb3RXcmFwLUZhVjBiSzdlIixlbmRVcHBlclNsb3Q6ImVuZFVwcGVyU2xvdC1GYVYwYks3ZSIsc3RhcnRTbG90V3JhcEljb25Pbmx5OiJzdGFydFNsb3RXcmFwSWNvbk9ubHktRmFWMGJLN2UiLHNtYWxsOiJzbWFsbC1GYVYwYks3ZSIsbWVkaXVtOiJtZWRpdW0tRmFWMGJLN2UiLG1lZGl1bVdpdGhTbWFsbEZvbnQ6Im1lZGl1bVdpdGhTbWFsbEZvbnQtRmFWMGJLN2UiLHhsYXJnZToieGxhcmdlLUZhVjBiSzdlIixzcXVhcmVUYWJDb3VudGVyOiJzcXVhcmVUYWJDb3VudGVyLUZhVjBiSzdlIn19LDg1NDQ1KGUpe2UuZXhwb3J0cz17cGlsbHM6InBpbGxzLUllUXdQamNaIixwcmltYXJ5OiJwcmltYXJ5LUllUXdQamNaIixncmF5OiJncmF5LUllUXdQamNaIixzZWxlY3RlZDoic2VsZWN0ZWQtSWVRd1BqY1oiLGdyb3VwZWQ6Imdyb3VwZWQtSWVRd1BqY1oiLGFjdGl2ZToiYWN0aXZlLUllUXdQamNaIixkaXNhYmxlQWN0aXZlT25Ub3VjaDoiZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1oiLGRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlczoiZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaIix3aXRoR3JvdXBlZDoid2l0aEdyb3VwZWQtSWVRd1BqY1oiLCJxdWlldC1wcmltYXJ5IjoicXVpZXQtcHJpbWFyeS1JZVF3UGpjWiIsZ3JlZW46ImdyZWVuLUllUXdQamNaIixyZWQ6InJlZC1JZVF3UGpjWiIsYmx1ZToiYmx1ZS1JZVF3UGpjWiIsc2Vjb25kYXJ5OiJzZWNvbmRhcnktSWVRd1BqY1oiLGdob3N0OiJnaG9zdC1JZVF3UGpjWiJ9fSwzNjQ4MTUoZSl7ZS5leHBvcnRzPXtsaWdodEJ1dHRvbjoibGlnaHRCdXR0b24ta2pSZlRsZngiLGxpbms6Imxpbmsta2pSZlRsZngiLGx0cjoibHRyLWtqUmZUbGZ4IixydGw6InJ0bC1ralJmVGxmeCIsInR5cG9ncmFwaHktcmVndWxhcjE2cHgiOiJ0eXBvZ3JhcGh5LXJlZ3VsYXIxNnB4LWtqUmZUbGZ4IiwidHlwb2dyYXBoeS1tZWRpdW0xNnB4IjoidHlwb2dyYXBoeS1tZWRpdW0xNnB4LWtqUmZUbGZ4IiwidHlwb2dyYXBoeS1yZWd1bGFyMTRweCI6InR5cG9ncmFwaHktcmVndWxhcjE0cHgta2pSZlRsZngiLCJ0eXBvZ3JhcGh5LXNlbWlib2xkMTRweCI6InR5cG9ncmFwaHktc2VtaWJvbGQxNHB4LWtqUmZUbGZ4IiwidHlwb2dyYXBoeS1zZW1pYm9sZDE2cHgiOiJ0eXBvZ3JhcGh5LXNlbWlib2xkMTZweC1ralJmVGxmeCIsY29udGVudDoiY29udGVudC1ralJmVGxmeCIsdmlzdWFsbHlIaWRkZW46InZpc3VhbGx5SGlkZGVuLWtqUmZUbGZ4Iixub3dyYXA6Im5vd3JhcC1ralJmVGxmeCIsZWxsaXBzaXNDb250YWluZXI6ImVsbGlwc2lzQ29udGFpbmVyLWtqUmZUbGZ4Iix0ZXh0V3JhcENvbnRhaW5lcjoidGV4dFdyYXBDb250YWluZXIta2pSZlRsZngiLHRleHRXcmFwV2l0aEVsbGlwc2lzOiJ0ZXh0V3JhcFdpdGhFbGxpcHNpcy1ralJmVGxmeCIsc2xvdDoic2xvdC1ralJmVGxmeCIsY2FyZXQ6ImNhcmV0LWtqUmZUbGZ4IixhY3RpdmVDYXJldDoiYWN0aXZlQ2FyZXQta2pSZlRsZngiLHhzbWFsbDoieHNtYWxsLWtqUmZUbGZ4Iix3aXRoU3RhcnRTbG90OiJ3aXRoU3RhcnRTbG90LWtqUmZUbGZ4IiwKd2l0aEVuZFNsb3Q6IndpdGhFbmRTbG90LWtqUmZUbGZ4Iixub0NvbnRlbnQ6Im5vQ29udGVudC1ralJmVGxmeCIsd3JhcDoid3JhcC1ralJmVGxmeCIsc21hbGw6InNtYWxsLWtqUmZUbGZ4IixtZWRpdW06Im1lZGl1bS1ralJmVGxmeCJ9fSwyMDU2OChlKXtlLmV4cG9ydHM9e3NxdWFyZVRhYkJ1dHRvbjoic3F1YXJlVGFiQnV0dG9uLWFUM05za3NzIixzZWxlY3RlZDoic2VsZWN0ZWQtYVQzTnNrc3MiLGRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlczoiZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLWFUM05za3NzIix4c21hbGw6InhzbWFsbC1hVDNOc2tzcyJ9fSwxNTM2MjYoZSl7ZS5leHBvcnRzPXtjb250YWluZXI6ImNvbnRhaW5lci1WVjZWV0VTUiJ9fSw4MDMzNDkoZSl7ZS5leHBvcnRzPXtvcHRpb25zOiJvcHRpb25zLWJDS2U3bjA3IixvcHRpb246Im9wdGlvbi1iQ0tlN24wNyJ9fSwyMTIyNzUoZSl7ZS5leHBvcnRzPXsic3RhdHVzLWhlaWdodCI6IjI4cHgifX0sNTIyNTc4KGUpe2UuZXhwb3J0cz17fX0sOTMyMzY1KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1RWTG9jYWxTdG9yYWdlOigpPT5yfSk7Y29uc3Qgbz0oMCxzKDIyMTA2MSkuZ2V0TG9nZ2VyKSgiVFZMb2NhbFN0b3JhZ2UiKTt2YXIgaT1mdW5jdGlvbigpe3RyeXt0aGlzLmlzQXZhaWxhYmxlPSEwLHRoaXMubG9jYWxTdG9yYWdlPXdpbmRvdy5sb2NhbFN0b3JhZ2UsdGhpcy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbSgidHZsb2NhbHN0b3JhZ2UuYXZhaWxhYmxlIiwidHJ1ZSIpfWNhdGNoKGUpe2RlbGV0ZSB0aGlzLmlzQXZhaWxhYmxlLGRlbGV0ZSB0aGlzLmxvY2FsU3RvcmFnZX10aGlzLl91cGRhdGVMZW5ndGgoKTt0cnl7dGhpcy5fcmVwb3J0KCl9Y2F0Y2goZSl7fX07aS5wcm90b3R5cGUuX3JlcG9ydD1mdW5jdGlvbigpe2lmKHRoaXMuaXNBdmFpbGFibGUpe2NvbnN0IGU9MTAsdD1bXTtmb3IobGV0IGU9MDtlPHRoaXMubG9jYWxTdG9yYWdlLmxlbmd0aDtlKyspe2NvbnN0IHM9dGhpcy5rZXkoZSk7dC5wdXNoKHtrZXk6cyxsZW5ndGg6U3RyaW5nKHRoaXMuZ2V0SXRlbShzKSkubGVuZ3RofSl9dC5zb3J0KCgoZSx0KT0+dC5sZW5ndGgtZS5sZW5ndGgpKTtjb25zdCBzPXQuc2xpY2UoMCxlKTt0LnNvcnQoKChlLHQpPT50LmtleS5sZW5ndGgtZS5rZXkubGVuZ3RoKSk7Y29uc3QgaT10LnNsaWNlKDAsZSk7by5sb2dOb3JtYWwoYFRvdGFsIGFtb3VudCBvZiBrZXlzIGluIExvY2FsIFN0b3JhZ2U6ICR7dGhpcy5sZW5ndGh9YCksby5sb2dOb3JtYWwoYFRvcCAke2V9IGtleXMgd2l0aCBsb25nZXN0IHZhbHVlczogJHtKU09OLnN0cmluZ2lmeShzKX1gKSxvLmxvZ05vcm1hbChgVG9wICR7ZX0gbG9uZ2VzdCBrZXkgbmFtZXM6ICR7SlNPTi5zdHJpbmdpZnkoaSl9YCk7dHJ5e25hdmlnYXRvci5zdG9yYWdlLmVzdGltYXRlKCkudGhlbigoZT0+e28ubG9nTm9ybWFsKGBTdG9yYWdlIGVzdGltYXRlOiAke0pTT04uc3RyaW5naWZ5KGUpfWApfSkpfWNhdGNoKGUpe319fSxpLnByb3RvdHlwZS5sZW5ndGg9MCxpLnByb3RvdHlwZS5pc0F2YWlsYWJsZT0hMSxpLnByb3RvdHlwZS5sb2NhbFN0b3JhZ2U9eyJ0dmxvY2Fsc3RvcmFnZS5hdmFpbGFibGUiOiJmYWxzZSJ9LGkucHJvdG90eXBlLl91cGRhdGVMZW5ndGg9ZnVuY3Rpb24oKXtpZih0aGlzLmlzQXZhaWxhYmxlKXRoaXMubGVuZ3RoPXRoaXMubG9jYWxTdG9yYWdlLmxlbmd0aDtlbHNle3ZhciBlLHQ9MDtmb3IoZSBpbiB0aGlzLmxvY2FsU3RvcmFnZSl0aGlzLmxvY2FsU3RvcmFnZS5oYXNPd25Qcm9wZXJ0eShlKSYmdCsrO3RoaXMubGVuZ3RoPXR9fSxpLnByb3RvdHlwZS5rZXk9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuaXNBdmFpbGFibGU/dGhpcy5sb2NhbFN0b3JhZ2Uua2V5KGUpOk9iamVjdC5rZXlzKHRoaXMubG9jYWxTdG9yYWdlKVtlXX0saS5wcm90b3R5cGUuZ2V0SXRlbT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5pc0F2YWlsYWJsZT90aGlzLmxvY2FsU3RvcmFnZS5nZXRJdGVtKGUpOnZvaWQgMD09PXRoaXMubG9jYWxTdG9yYWdlW2VdP251bGw6dGhpcy5sb2NhbFN0b3JhZ2VbZV19LGkucHJvdG90eXBlLnNldEl0ZW09ZnVuY3Rpb24oZSx0KXt0aGlzLmlzQXZhaWxhYmxlP3RoaXMubG9jYWxTdG9yYWdlLnNldEl0ZW0oZSx0KTp0aGlzLmxvY2FsU3RvcmFnZVtlXT10LHRoaXMuX3VwZGF0ZUxlbmd0aCgpfSxpLnByb3RvdHlwZS5yZW1vdmVJdGVtPWZ1bmN0aW9uKGUpe3RoaXMuaXNBdmFpbGFibGU/dGhpcy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShlKTpkZWxldGUgdGhpcy5sb2NhbFN0b3JhZ2VbZV0sdGhpcy5fdXBkYXRlTGVuZ3RoKCl9LGkucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5pc0F2YWlsYWJsZT90aGlzLmxvY2FsU3RvcmFnZS5jbGVhcigpOnRoaXMubG9jYWxTdG9yYWdlPXt9LHRoaXMuX3VwZGF0ZUxlbmd0aCgpfTtjb25zdCByPW5ldyBpO3dpbmRvdy5UVkxvY2FsU3RvcmFnZT1yfSw3MDA4MDkoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7REVDRU1CRVI6KCk9Pl8sRklSU1RfREFZX09GX1dFRUs6KCk9Pm0sRlJJREFZOigpPT5oLEpBTlVBUlk6KCk9PmcsTEFTVF9EQVlfT0ZfV0VFSzooKT0+cCxNT05EQVk6KCk9PmEsU0FUVVJEQVk6KCk9PmQsU1VOREFZOigpPT5uLFRIVVJTREFZOigpPT51LFRVRVNEQVk6KCk9PmwsV0VETkVTREFZOigpPT5jLGFkZF9kYXRlOigpPT5FLGFkZF9taW51dGVzOigpPT5NLGNhbF90b191dGM6KCk9PlcsY2xvbmU6KCk9PkQsZGF5c19wZXJfeWVhcjooKT0+UixnZXRfY2FsOigpPT5CLGdldF9jYWxfZnJvbV91bml4X3RpbWVzdGFtcF9tczooKT0+VixnZXRfY2FsX3V0YzooKT0+VSxnZXRfZGF5X29mX21vbnRoOigpPT53LGdldF9kYXlfb2Zfd2VlazooKT0+VCxnZXRfZGF5X29mX3llYXI6KCk9PngsZ2V0X21pbnV0ZXNfZnJvbV9taWRuaWdodDooKT0+ayxnZXRfbWludXRlc193aXRoX2hvdXJzOigpPT5OLGdldF9tb250aDooKT0+UyxnZXRfdGltZXpvbmU6KCk9PnEsZ2V0X3llYXI6KCk9PmIsaXNfbGVhcF95ZWFyOigpPT5JLG1pbnV0ZXNQZXJEYXk6KCk9PnksbWludXRlc1BlcldlZWs6KCk9PmYsCnNldF9obXM6KCk9Pkwsc2V0X3NlY29uZHM6KCk9PlAsdGltZV9zZWNvbmRzOigpPT5BLHRpbWVfc2Vjb25kc19kaWZmOigpPT5PLHV0Y190b19jYWw6KCk9PkZ9KTt2YXIgbz1zKDcxMjE4MSk7Y29uc3QgaT17MDowLDE6MzEsMjo1OSwzOjkwLDQ6MTIwLDU6MTUxLDY6MTgxLDc6MjEyLDg6MjQzLDk6MjczLDEwOjMwNCwxMTozMzR9O2NsYXNzIHJ7Y29uc3RydWN0b3IoZSl7dGhpcy5faW52YWxpZD0hMSx0aGlzLl9uYW1lPWU7bGV0IHQ9by50ekRhdGE/LltlXT8/bnVsbDshdCYmSCYmKHQ9SC5pbnN0YW5jZSgpLmdldFRpbWV6b25lRGF0YShlKSksdHx8KHQ9e3RpbWU6W10sb2Zmc2V0OltdfSx0aGlzLl9pbnZhbGlkPSEwKSx0LnRpbWUubGVuZ3RoIT09dC5vZmZzZXQubGVuZ3RoJiYodD17dGltZTpbXSxvZmZzZXQ6W119LHRoaXMuX2ludmFsaWQ9ITApO2NvbnN0IHM9dDtpZighcy50aW1lX3V0Yyl7Y29uc3QgZT10LnRpbWUsbz10Lm9mZnNldCxpPWUubGVuZ3RoLHI9bmV3IEFycmF5KGkpO2ZvcihsZXQgdD0wO3Q8aTt0KyspZVt0XSo9MWUzLG9bdF0qPTFlMyxyW3RdPWVbdF0tb1t0XTtzLnRpbWVfdXRjPXJ9dGhpcy50ej1zfW9mZnNldF91dGMoZSl7cmV0dXJuIHIub2Zmc2V0KHRoaXMudHoudGltZV91dGMsdGhpcy50ei5vZmZzZXQsZSl9b2Zmc2V0X2xvYyhlKXtyZXR1cm4gci5vZmZzZXQodGhpcy50ei50aW1lLHRoaXMudHoub2Zmc2V0LGUpfW5hbWUoKXtyZXR1cm4gdGhpcy5fbmFtZX1pc192YWxpZCgpe3JldHVybiF0aGlzLl9pbnZhbGlkfWNvcnJlY3Rpb25fbG9jKGUpe2NvbnN0IHQ9dGhpcy50ei50aW1lLHM9dGhpcy50ei5vZmZzZXQsbz16KHQsZSk7aWYobzwxKXJldHVybiAwO2NvbnN0IGk9c1tvXS1zW28tMV07aWYoaT4wKXtpZihlLXRbby0xXTw9aSlyZXR1cm4gaX1yZXR1cm4gMH1zdGF0aWMgb2Zmc2V0KGUsdCxzKXtjb25zdCBvPXooZSxzKTtyZXR1cm4tMT09PW8/MDp0W29dfX1jb25zdCBuPTEsYT0yLGw9MyxjPTQsdT01LGg9NixkPTcsbT1uLHA9ZCxnPTAsXz0xMSx5PTE0NDAsZj0xMDA4MDtmdW5jdGlvbiBiKGUpe3JldHVybiBlLmdldFVUQ0Z1bGxZZWFyKCl9ZnVuY3Rpb24gUyhlKXtyZXR1cm4gZS5nZXRVVENNb250aCgpfWZ1bmN0aW9uIHYoZSl7cmV0dXJuIGUuZ2V0VVRDSG91cnMoKX1mdW5jdGlvbiBDKGUpe3JldHVybiBlLmdldFVUQ01pbnV0ZXMoKX1mdW5jdGlvbiB3KGUpe3JldHVybiBlLmdldFVUQ0RhdGUoKX1mdW5jdGlvbiBUKGUpe3JldHVybiBlLmdldFVUQ0RheSgpKzF9ZnVuY3Rpb24geChlKXtjb25zdCB0PWUuZ2V0VVRDTW9udGgoKTtsZXQgcz1pW3RdO3JldHVybiB0PmcrMSYmSShlLmdldFVUQ0Z1bGxZZWFyKCkpJiYocys9MSkscytlLmdldFVUQ0RhdGUoKX1mdW5jdGlvbiBrKGUpe3JldHVybiA2MCp2KGUpK0MoZSl9ZnVuY3Rpb24gTihlKXtyZXR1cm4gayhlKX1mdW5jdGlvbiBMKGUsdCxzLG8saSxyKXtlLnNldFVUQ0hvdXJzKHQpLGUuc2V0VVRDTWludXRlcyhzKSxlLnNldFVUQ1NlY29uZHMobyksZS5zZXRVVENNaWxsaXNlY29uZHMoaSksdm9pZCAwIT09ciYmZnVuY3Rpb24oZSx0KXtjb25zdCBzPWUuZ2V0VGltZSgpLG89dC5jb3JyZWN0aW9uX2xvYyhzKTtlLnNldFRpbWUocytvKX0oZSxyKX1mdW5jdGlvbiBFKGUsdCl7ZS5zZXRUaW1lKGUuZ2V0VGltZSgpKzg2NGU1KnQpfWZ1bmN0aW9uIE0oZSx0KXtlLnNldFRpbWUoZS5nZXRUaW1lKCkrNjAqdCoxZTMpfWZ1bmN0aW9uIFAoZSx0KXtjb25zdCBzPTg2NDAwLG89dCVzPDA/LTE6MCxpPU1hdGgudHJ1bmModC9zKStvLHI9dC1pKnMsbj1NYXRoLnRydW5jKHIvMzYwMCksYT1NYXRoLnRydW5jKHIlMzYwMC82MCk7TChlLG4sYSxyLTM2MDAqbi02MCphLDApLEUoZSxpKX1mdW5jdGlvbiBEKGUpe3JldHVybiBuZXcgRGF0ZShlLmdldFRpbWUoKSl9ZnVuY3Rpb24gUihlKXtyZXR1cm4gSShlKT8zNjY6MzY1fWZ1bmN0aW9uIEkoZSl7cmV0dXJuIGUlND09MCYmKGUlMTAwIT0wfHxlJTQwMD09MCl9ZnVuY3Rpb24gQShlKXtyZXR1cm4gMWUzKmV9ZnVuY3Rpb24gTyhlLHQpe3JldHVybiBRKGUpLVEodCl9ZnVuY3Rpb24gRihlLHQpe3JldHVybiBuZXcgRGF0ZShmdW5jdGlvbihlLHQpe2NvbnN0IHM9ZS5vZmZzZXRfdXRjKHQpO3JldHVybiB0K3N9KGUsdCkpfWZ1bmN0aW9uIEIoZSx0LHMsbyxpLHIsbil7Y29uc3QgYT1uZXcgRGF0ZShEYXRlLlVUQyh0LHMsbyxpfHwwLHJ8fDAsbnx8MCkpLGw9ZS5vZmZzZXRfdXRjKCthKTtyZXR1cm4gbmV3IERhdGUoYS52YWx1ZU9mKCktbCl9ZnVuY3Rpb24gVihlLHQpe3JldHVybiBuZXcgRGF0ZSh0K2Uub2Zmc2V0X3V0Yyh0KSl9ZnVuY3Rpb24gVShlLHQscyxvPTAsaT0wLHI9MCl7cmV0dXJuIG5ldyBEYXRlKERhdGUuVVRDKGUsdCxzLG8saSxyKSl9ZnVuY3Rpb24gVyhlLHQscyl7bGV0IG89dC5nZXRUaW1lKCk7cyYmKG8rPWUuY29ycmVjdGlvbl9sb2MobykpO3JldHVybiBvLWUub2Zmc2V0X2xvYyhvKX1mdW5jdGlvbiBxKGUpe3JldHVybiBuZXcgcihlKX1sZXQgSDtmdW5jdGlvbiB6KGUsdCl7Y29uc3Qgcz1lLmxlbmd0aDtpZigwPT09cylyZXR1cm4tMTtpZihpc05hTih0KSl0aHJvdyBFcnJvcigiS2V5IGlzIE5hTiIpO2xldCBvPTAsaT1zLTEscj1qKChvK2kpLzIpO2Zvcig7Oyl7aWYoZVtyXT50KXtpZihpPXItMSxpPG8pcmV0dXJuIHJ9ZWxzZSBpZihvPXIrMSxpPG8pcmV0dXJuIHI8cy0xP3IrMTotMTtyPWooKG8raSkvMil9fWZ1bmN0aW9uIGooZSl7cmV0dXJuIE1hdGgudHJ1bmMoZSl9ZnVuY3Rpb24gUShlKXtyZXR1cm4gZTwwP2ooZS8xZTMpLShlJTFlMyE9MD8xOjApOmooZS8xZTMpfX0sMTM0NjcoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7bm9ybWFsaXplQWxwaGFDb21wb25lbnQ6KCk9PnUscGFyc2VSZ2I6KCk9PlQscGFyc2VSZ2JhOigpPT5rLHJnYlRvQmxhY2tXaGl0ZVN0cmluZzooKT0+dyxyZ2JUb1N0cmluZzooKT0+ZixyZ2JhOigpPT5oLHJnYmFUb1N0cmluZzooKT0+Qyx0cnlQYXJzZVJnYmE6KCk9Pnh9KTt2YXIgbz1zKDYwMTg0MSksaT1zKDgzMDc4Myk7ZnVuY3Rpb24gcihlLHQscyl7cmV0dXJuKDAsCm8uaXNOYU4pKHQpfHx0PGU/ZTp0PnM/czpNYXRoLnJvdW5kKHQpfWZ1bmN0aW9uIG4oZSx0LHMpe3JldHVybigwLG8uaXNOYU4pKHQpfHx0PGU/ZTp0PnM/czpNYXRoLnJvdW5kKDFlNCp0KS8xZTR9ZnVuY3Rpb24gYShlKXtyZXR1cm4gcigwLGUsMjU1KX1mdW5jdGlvbiBsKGUpe3JldHVybiByKDAsZSwyNTUpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIHIoMCxlLDI1NSl9ZnVuY3Rpb24gdShlKXtyZXR1cm4gbigwLGUsMSl9ZnVuY3Rpb24gaChlLHQscyxvKXtpZihBcnJheS5pc0FycmF5KGUpKXtjb25zdCBzPWU7cmV0dXJuIG89dCxbc1swXSxzWzFdLHNbMl0sdShvKV19e2NvbnN0IGk9dDtyZXR1cm4gcz1zfHwwLG89b3x8MCxbYShlKSxsKGkpLGMocyksdShvKV19fWNvbnN0IGQ9Wy4xOTksLjY4NywuMTE0XTt2YXIgbSxwLGcsXztmdW5jdGlvbiB5KGUpe2NvbnN0IHQ9bS5yZS5leGVjKGUpO3JldHVybiBudWxsIT09dD9tLnBhcnNlKHQpOm51bGx9ZnVuY3Rpb24gZihlKXtjb25zdFt0LHMsb109ZTtyZXR1cm5gcmdiKCR7dH0sICR7c30sICR7b30pYH1mdW5jdGlvbiBiKGUpe2NvbnN0IHQ9cC5yZS5leGVjKGUpO3JldHVybiBudWxsIT09dD9wLnBhcnNlKHQpOm51bGx9ZnVuY3Rpb24gUyhlKXtjb25zdCB0PWcucmUuZXhlYyhlKTtyZXR1cm4gbnVsbCE9PXQ/Zy5wYXJzZSh0KTpudWxsfWZ1bmN0aW9uIHYoZSl7Y29uc3QgdD1fLnJlLmV4ZWMoZSk7cmV0dXJuIG51bGwhPT10P18ucGFyc2UodCk6bnVsbH1mdW5jdGlvbiBDKGUpe2NvbnN0W3QscyxvLGldPWU7cmV0dXJuYHJnYmEoJHt0fSwgJHtzfSwgJHtvfSwgJHtpfSlgfWZ1bmN0aW9uIHcoZSx0KXtpZih0PDB8fHQ+MjU1KXRocm93IG5ldyBFcnJvcigiaW52YWxpZCB0aHJlc2hvbGQgdmFsdWUsIHZhbGlkIHZhbHVlcyBhcmUgWzAsIDI1NV0iKTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIGRbMF0qZVswXStkWzFdKmVbMV0rZFsyXSplWzJdfShlKT49dD8id2hpdGUiOiJibGFjayJ9ZnVuY3Rpb24gVChlKXtjb25zdCB0PWZ1bmN0aW9uKGUpe2U9ZS50b0xvd2VyQ2FzZSgpO2NvbnN0IHQ9KDAsaS50cnlQYXJzZU5hbWVkUmdiYSkoZSk7aWYobnVsbCE9PXQpe2NvbnN0W2UscyxvXT10O3JldHVybltlLHMsb119Y29uc3Qgcz15KGUpO2lmKG51bGwhPT1zKXJldHVybiBzO2NvbnN0IG89YihlKTtpZihudWxsIT09bylyZXR1cm4gbztjb25zdCByPVMoZSk7aWYobnVsbCE9PXIpcmV0dXJuIHI7Y29uc3Qgbj12KGUpO2lmKG51bGwhPT1uKXtjb25zdFtlLHQsc109bjtyZXR1cm5bZSx0LHNdfXJldHVybiBudWxsfShlKTtpZihudWxsIT09dClyZXR1cm4gdDt0aHJvdyBuZXcgRXJyb3IoIlBhc3NlZCBjb2xvciBzdHJpbmcgZG9lcyBub3QgbWF0Y2ggYW55IG9mIHRoZSBrbm93biBjb2xvciByZXByZXNlbnRhdGlvbnMiKX1mdW5jdGlvbiB4KGUpe2U9ZS50b0xvd2VyQ2FzZSgpO2NvbnN0IHQ9KDAsaS50cnlQYXJzZU5hbWVkUmdiYSkoZSk7aWYobnVsbCE9PXQpcmV0dXJuIHQ7Y29uc3Qgcz15KGUpO2lmKG51bGwhPT1zKXtjb25zdFtlLHQsb109cztyZXR1cm5bZSx0LG8sMV19Y29uc3Qgbz1iKGUpO2lmKG51bGwhPT1vKXtjb25zdFtlLHQsc109bztyZXR1cm5bZSx0LHMsMV19Y29uc3Qgcj1TKGUpO2lmKG51bGwhPT1yKXtjb25zdFtlLHQsc109cjtyZXR1cm5bZSx0LHMsMV19Y29uc3Qgbj12KGUpO3JldHVybiBudWxsIT09bj9uOm51bGx9ZnVuY3Rpb24gayhlKXtjb25zdCB0PXgoZSk7aWYobnVsbCE9PXQpcmV0dXJuIHQ7dGhyb3cgbmV3IEVycm9yKCJQYXNzZWQgY29sb3Igc3RyaW5nIGRvZXMgbm90IG1hdGNoIGFueSBvZiB0aGUga25vd24gY29sb3IgcmVwcmVzZW50YXRpb25zIil9IWZ1bmN0aW9uKGUpe2UucmU9L15yZ2JcKFxzKigtP1xkezEsMTB9KVxzKixccyooLT9cZHsxLDEwfSlccyosXHMqKC0/XGR7MSwxMH0pXHMqXCkkLyxlLnBhcnNlPWZ1bmN0aW9uKGUpe3JldHVyblthKHBhcnNlSW50KGVbMV0sMTApKSxsKHBhcnNlSW50KGVbMl0sMTApKSxjKHBhcnNlSW50KGVbM10sMTApKV19fShtfHwobT17fSkpLGZ1bmN0aW9uKGUpe2UucmU9L14jKFswLTlhLWZBLUZdezJ9KShbMC05YS1mQS1GXXsyfSkoWzAtOWEtZkEtRl17Mn0pJC8sZS5wYXJzZT1mdW5jdGlvbihlKXtyZXR1cm5bYShwYXJzZUludChlWzFdLDE2KSksbChwYXJzZUludChlWzJdLDE2KSksYyhwYXJzZUludChlWzNdLDE2KSldfX0ocHx8KHA9e30pKSxmdW5jdGlvbihlKXtlLnJlPS9eIyhbMC05YS1mQS1GXSkoWzAtOWEtZkEtRl0pKFswLTlhLWZBLUZdKSQvLGUucGFyc2U9ZnVuY3Rpb24oZSl7cmV0dXJuW2EocGFyc2VJbnQoZVsxXStlWzFdLDE2KSksbChwYXJzZUludChlWzJdK2VbMl0sMTYpKSxjKHBhcnNlSW50KGVbM10rZVszXSwxNikpXX19KGd8fChnPXt9KSksZnVuY3Rpb24oZSl7ZS5yZT0vXnJnYmFcKFxzKigtP1xkezEsMTB9KVxzKixccyooLT9cZHsxLDEwfSlccyosXHMqKC0/XGR7MSwxMH0pXHMqLFxzKigtP1tcZF17MCwxMH0oPzpcLlxkKyk/KVxzKlwpJC8sZS5wYXJzZT1mdW5jdGlvbihlKXtyZXR1cm5bYShwYXJzZUludChlWzFdLDEwKSksbChwYXJzZUludChlWzJdLDEwKSksYyhwYXJzZUludChlWzNdLDEwKSksdShwYXJzZUZsb2F0KGVbNF0pKV19fShffHwoXz17fSkpfSwzMDc0MjEoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Z2V0VGltZUZyYW1lTmFtZTooKT0+bn0pO3ZhciBvPXMoNzgzMjU0KSxpPXMoNDI5NTQ5KSxyPXMoMjE1NzMwKTtmdW5jdGlvbiBuKGUpe3JldHVybiBuZXcgTWFwKFtbIjFEIixvLnQobnVsbCx2b2lkIDAscyg2MTQ0NTApKV0sWyIxTSIsby50KG51bGwsdm9pZCAwLHMoNDMwMzMzKSldLFsiM00iLG8udChudWxsLHZvaWQgMCxzKDQ0NjU2KSldLFsiMTJNIixvLnQobnVsbCx2b2lkIDAscyg2NzM1MjMpKV0sWyI2ME0iLG8udChudWxsLHZvaWQgMCxzKDg3ODcwOCkpXSxbIjEyME0iLG8udChudWxsLHZvaWQgMCxzKDY3MDU2OCkpXSxbIkFMTCIsby50KG51bGwsdm9pZCAwLHMoMjkwNzg3KSldLFsiTEFTVFNFU1NJT04iLCgwLHIuZGF5c1N0cmluZ0xpdGVyYWwpKDEpXV0pLmdldCgoMCwKaS5nZXRBY3R1YWxUaW1lRnJhbWUpKGUpKXx8IiJ9fSw2NjUxNDUoZSx0LHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgbztzLmQodCx7TWVkaXVtVGltZUZyYW1lT3B0aW9uc01vZGU6KCk9Pm99KSxmdW5jdGlvbihlKXtlW2UuVXNlTGFzdFNlc3Npb249MF09IlVzZUxhc3RTZXNzaW9uIixlW2UuVXNlMUQ9MV09IlVzZTFEIixlW2UuVXNlTGFzdFNlc3Npb25BbmQxRD0yXT0iVXNlTGFzdFNlc3Npb25BbmQxRCJ9KG98fChvPXt9KSl9LDgwMjU4NihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtnZXRGcm9tRm9yTW9udGhzQWdvOigpPT5yLGdldEZyb21Gb3JZZWFyc0FnbzooKT0+bixnZXRNZWRpdW1UaW1lRnJhbWVPcHRpb25zOigpPT5sLGdldE1pbmlUaW1lRnJhbWVPcHRpb25zOigpPT5hfSk7dmFyIG89cyg2NjUxNDUpLGk9cyg2OTM1MDApO2Z1bmN0aW9uIHIoZSl7Y29uc3QgdD1uZXcgRGF0ZTtyZXR1cm4gdC5zZXRNb250aCh0LmdldE1vbnRoKCktZSksTWF0aC50cnVuYyh0LnZhbHVlT2YoKS8xZTMpfWZ1bmN0aW9uIG4oZSl7Y29uc3QgdD1uZXcgRGF0ZTtyZXR1cm4gdC5zZXRGdWxsWWVhcih0LmdldEZ1bGxZZWFyKCktZSksTWF0aC50cnVuYyh0LnZhbHVlT2YoKS8xZTMpfWZ1bmN0aW9uIGEoZSl7Y29uc3QgdD0oMCxpLmdldFRpbWVGcmFtZXMpKCk7cmV0dXJuW3suLi50W2U/Imxhc3RzZXNzaW9uIjoiMWQiXX0sey4uLnRbIjFtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiMUQiLGZyb206cigxKX0sey4uLnRbIjNtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiMUQiLGZyb206cigzKX0sey4uLnRbIjEybSJdLGZyb206bigxKX0sey4uLnRbIjYwbSJdLHRhcmdldFJlc29sdXRpb246IjFNIixmcm9tOm4oNSl9LHsuLi50LmFsbH1dfWZ1bmN0aW9uIGwoZSl7Y29uc3QgdD0oMCxpLmdldFRpbWVGcmFtZXMpKCkscz1bXTtyZXR1cm4gZSE9PW8uTWVkaXVtVGltZUZyYW1lT3B0aW9uc01vZGUuVXNlMUQmJnMucHVzaCh7Li4udC5sYXN0c2Vzc2lvbn0pLGUhPT1vLk1lZGl1bVRpbWVGcmFtZU9wdGlvbnNNb2RlLlVzZUxhc3RTZXNzaW9uJiZzLnB1c2goey4uLnRbIjFkIl19KSxbLi4ucyx7Li4udFsiMW0iXSx0YXJnZXRSZXNvbHV0aW9uOiI2MCIsZnJvbTpyKDEpfSx7Li4udFsiM20iXSx0YXJnZXRSZXNvbHV0aW9uOiIxMjAiLGZyb206cigzKX0sey4uLnRbIjEybSJdLGZyb206bigxKX0sey4uLnRbIjYwbSJdLHRhcmdldFJlc29sdXRpb246IjFXIixmcm9tOm4oNSl9LHsuLi50LmFsbH1dfX0sNjkwMDk3KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2RlZmF1bHRUaGVtZTooKT0+bn0pO3ZhciBvPXMoMzg3MjMxKSxpPXMoMTM1Mjg3KSxyPXMoMzQ4ODQ5KTtjb25zdCBuPSgwLG8ubWVyZ2VUaGVtZXMpKHIsaSl9LDM4NzIzMShlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSx0LHM9e30pe3JldHVybiBPYmplY3QuYXNzaWduKHt9LGUsZnVuY3Rpb24oZSx0LHM9e30pe2NvbnN0IG89T2JqZWN0LmFzc2lnbih7fSx0KTtmb3IoY29uc3QgaSBvZiBPYmplY3Qua2V5cyh0KSl7Y29uc3Qgcj1zW2ldfHxpO3IgaW4gZSYmKG9baV09W2Vbcl0sdFtpXV0uam9pbigiICIpKX1yZXR1cm4gb30oZSx0LHMpKX1zLmQodCx7bWVyZ2VUaGVtZXM6KCk9Pm99KX0sMTA3NTg1KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlLHQpe3JldHVybiB0fHxudWxsPT1lfHwoInN0cmluZyI9PXR5cGVvZiBlfHxBcnJheS5pc0FycmF5KGUpKSYmMD09PWUubGVuZ3RofXMuZCh0LHtpc0ljb25Pbmx5OigpPT5vfSl9LDIyMDc2NChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtCdXR0b25Hcm91cENvbnRleHQ6KCk9Pm99KTtjb25zdCBvPXMoNzc5NDc0KS5jcmVhdGVDb250ZXh0KHtpc0luQnV0dG9uR3JvdXA6ITEsaXNHcm91cFByaW1hcnk6ITF9KX0sMzI4MjE5KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse3VzZUxpZ2h0QnV0dG9uQ2xhc3NlczooKT0+dX0pO3ZhciBvPXMoNzc5NDc0KSxpPXMoOTE0NDg3KSxyPXMubihpKSxuPXMoMzA5OTIwKSxhPXMoMTA3NTg1KSxsPXMoNTMyMDExKSxjPXMoMjIwNzY0KTtjb25zdCB1PShlLHQscyk9Pntjb25zdCBpPSgwLG8udXNlQ29udGV4dCkobi5DdXN0b21CZWhhdmlvdXJDb250ZXh0KSx7Y2xhc3NOYW1lOnUsaXNTZWxlY3RlZDpoLGNoaWxkcmVuOmQsc2hvd0NhcmV0Om0sZm9yY2VEaXJlY3Rpb246cCxpY29uT25seTpnLGNvbG9yOl89ImdyYXkiLHZhcmlhbnQ6eT0icHJpbWFyeSIsc2l6ZTpmPSJtZWRpdW0iLGVuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOmI9aS5lbmFibGVBY3RpdmVTdGF0ZVN0eWxlcyx0eXBvZ3JhcGh5OlMsaXNMaW5rOnY9ITEsdGV4dFdyYXA6Qyxpc1BpbGxzOncsaXNBY3RpdmU6VCxzdGFydFNsb3Q6eCxlbmRTbG90Omt9PXQsTj1lW2B0eXBvZ3JhcGh5LSR7KChlLHQscyk9PntpZihzKXtjb25zdCBlPXMucmVwbGFjZSgvXlxEKy9nLCIiKTtyZXR1cm4gdD9gc2VtaWJvbGQke2V9YDpzfXN3aXRjaChlKXtjYXNlInhzbWFsbCI6cmV0dXJuIHQ/InNlbWlib2xkMTRweCI6InJlZ3VsYXIxNHB4IjtjYXNlInNtYWxsIjpjYXNlIm1lZGl1bSI6cmV0dXJuIHQ/InNlbWlib2xkMTZweCI6InJlZ3VsYXIxNnB4IjtkZWZhdWx0OnJldHVybiIifX0pKGYsaHx8dyxTfHx2b2lkIDApfWBdLEw9KDAsby51c2VDb250ZXh0KShsLkNvbnRyb2xHcm91cENvbnRleHQpLHtpc0luQnV0dG9uR3JvdXA6RSxpc0dyb3VwUHJpbWFyeTpNfT0oMCxvLnVzZUNvbnRleHQpKGMuQnV0dG9uR3JvdXBDb250ZXh0KTtyZXR1cm4gcigpKHUsZS5saWdodEJ1dHRvbix2JiZlLmxpbmssVCYmZS5hY3RpdmUsaCYmZS5zZWxlY3RlZCwoMCxhLmlzSWNvbk9ubHkpKGQsZykmJmUubm9Db250ZW50LCEheCYmZS53aXRoU3RhcnRTbG90LChtfHwhIWspJiZlLndpdGhFbmRTbG90LHMmJmUud2l0aEdyb3VwZWQscCYmZVtwXSxlW00/InByaW1hcnkiOnldLGVbTT8iZ3JheSI6X10sZVtmXSxOLCFiJiZlLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcyxMLmlzR3JvdXBlZCYmZS5ncm91cGVkLEMmJmUud3JhcCxFJiZlLmRpc2FibGVBY3RpdmVPblRvdWNoLHcmJmUucGlsbHMpfX0sODMwMTIoZSx0LHMpewoidXNlIHN0cmljdCI7cy5kKHQse0xpZ2h0QnV0dG9uQ29udGVudDooKT0+bX0pO3ZhciBvPXMoNzc5NDc0KSxpPXMoOTE0NDg3KSxyPXMubihpKSxuPXMoNzcwMTQzKSxhPXMoMTA3NTg1KSxsPXMoMjczMzEwKSxjPXMoOTM1MSksdT1zLm4oYyksaD1zKDM2NDgxNSksZD1zLm4oaCk7ZnVuY3Rpb24gbShlKXtjb25zdHtzaG93Q2FyZXQ6dCxpY29uT25seTpzLGVsbGlwc2lzOmk9ITAsdGV4dFdyYXA6Yyx0b29sdGlwVGV4dDpoLGNoaWxkcmVuOm0sZW5kU2xvdDpwLHN0YXJ0U2xvdDpnLGlzQWN0aXZlQ2FyZXQ6X309ZTtbcCx0XS5maWx0ZXIoKGU9PiEhZSkpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLGcmJm8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpyKCkoZCgpLnNsb3QsZCgpLnN0YXJ0U2xvdCl9LGcpLCEoMCxhLmlzSWNvbk9ubHkpKG0scykmJm8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpyKCkoZCgpLmNvbnRlbnQsIWMmJmQoKS5ub3dyYXAsImFwcGx5LW92ZXJmbG93LXRvb2x0aXAiLCJhcHBseS1vdmVyZmxvdy10b29sdGlwLS1jaGVjay1jaGlsZHJlbi1yZWN1cnNpdmVseSIsImFwcGx5LW92ZXJmbG93LXRvb2x0aXAtLWFsbG93LXRleHQiKSwiZGF0YS1vdmVyZmxvdy10b29sdGlwLXRleHQiOmg/PygwLG4uZ2V0VGV4dEZvclRvb2x0aXApKG0pfSxjfHxpP28uY3JlYXRlRWxlbWVudChvLkZyYWdtZW50LG51bGwsby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnIoKSghYyYmaSYmZCgpLmVsbGlwc2lzQ29udGFpbmVyLGMmJmQoKS50ZXh0V3JhcENvbnRhaW5lcixjJiZpJiZkKCkudGV4dFdyYXBXaXRoRWxsaXBzaXMpfSxtKSxvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6ZCgpLnZpc3VhbGx5SGlkZGVuLCJhcmlhLWhpZGRlbiI6ITB9LG0pKTpvLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLG0sby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmQoKS52aXN1YWxseUhpZGRlbiwiYXJpYS1oaWRkZW4iOiEwfSxtKSkpLHAmJm8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpyKCkoZCgpLnNsb3QsZCgpLmVuZFNsb3QpfSxwKSx0JiYoZT0+by5jcmVhdGVFbGVtZW50KGwuSWNvbix7Y2xhc3NOYW1lOnIoKShkKCkuY2FyZXQsZSYmZCgpLmFjdGl2ZUNhcmV0KSxpY29uOnUoKX0pKShfKSl9fSw4NTQ4MjAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7TGlnaHRCdXR0b246KCk9PmR9KTt2YXIgbz1zKDc3OTQ3NCksaT1zKDUzMjAxMSkscj1zKDMyODIxOSksbj1zKDgzMDEyKSxhPXMoMzQ1MTE2KSxsPXMoMzY0ODE1KSxjPXMubihsKSx1PXMoODU0NDUpLGg9cy5uKHUpO2Z1bmN0aW9uIGQoZSl7Y29uc3R7aXNHcm91cGVkOnR9PW8udXNlQ29udGV4dChpLkNvbnRyb2xHcm91cENvbnRleHQpLHtyZWZlcmVuY2U6cyxjbGFzc05hbWU6bCxpc1NlbGVjdGVkOnUsY2hpbGRyZW46ZCxpY29uT25seTptLGVsbGlwc2lzOnAsc2hvd0NhcmV0OmcsZm9yY2VEaXJlY3Rpb246XyxlbmRTbG90Onksc3RhcnRTbG90OmYsY29sb3I6Yix2YXJpYW50OlMsc2l6ZTp2LGVuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOkMsdHlwb2dyYXBoeTp3LHRleHRXcmFwOlQ9ITEsbWF4TGluZXM6eCxzdHlsZTprPXt9LGlzUGlsbHM6Tixpc0FjdGl2ZTpMLHRvb2x0aXBUZXh0OkUscm9sZTpNLGRhdGFRYUlkOlAsYXJpYUxhYmVsOkQsbmFtZTpSLG9uRm9jdXM6SSxvbkJsdXI6QSxvbk1vdXNlRW50ZXI6Tyxvbk1vdXNlTGVhdmU6Rixvbk1vdXNlT3ZlcjpCLG9uTW91c2VPdXQ6VixvbkNsaWNrOlUsb25BbmltYXRpb25FbmQ6VyxvblBvaW50ZXJPdmVyOnEsb25Qb2ludGVyT3V0Okgsb25LZXlEb3duOnosYXV0b0ZvY3VzOmosaXNBY3RpdmVDYXJldDpRLGlkOkssZGlzYWJsZWQ6JCx0YWJJbmRleDpHLHZhbHVlOlosdGl0bGU6WSx0eXBlOkosLi4uWH09ZSxlZT0oMCxhLmZpbHRlckRhdGFQcm9wcykoWCksdGU9KDAsYS5maWx0ZXJBcmlhUHJvcHMpKFgpLHNlPVQ/eD8/MjoxLG9lPXNlPjA/ey4uLmssIi0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb250ZW50LW1heC1saW5lcyI6c2V9Oms7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7bmFtZTpSLG9uRm9jdXM6SSxvbkJsdXI6QSxvbk1vdXNlRW50ZXI6Tyxvbk1vdXNlTGVhdmU6Rixvbk1vdXNlT3ZlcjpCLG9uTW91c2VPdXQ6VixvbkNsaWNrOlUsb25BbmltYXRpb25FbmQ6VyxvblBvaW50ZXJPdmVyOnEsb25Qb2ludGVyT3V0Okgsb25LZXlEb3duOnosYXV0b0ZvY3VzOmosaWQ6SyxkaXNhYmxlZDokLHRhYkluZGV4OkcsdmFsdWU6Wix0aXRsZTpZLHR5cGU6SiwiZGF0YS1xYS1pZCI6UCwiYXJpYS1sYWJlbCI6RCwuLi5lZSwuLi50ZSxjbGFzc05hbWU6KDAsci51c2VMaWdodEJ1dHRvbkNsYXNzZXMpKHsuLi5oKCksLi4uYygpfSx7Y2xhc3NOYW1lOmwsaXNTZWxlY3RlZDp1LGNoaWxkcmVuOmQsaWNvbk9ubHk6bSxzaG93Q2FyZXQ6Zyxmb3JjZURpcmVjdGlvbjpfLGVuZFNsb3Q6eSxzdGFydFNsb3Q6Zixjb2xvcjpiLHZhcmlhbnQ6UyxzaXplOnYsZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXM6Qyx0eXBvZ3JhcGh5OncsdGV4dFdyYXA6VCxpc1BpbGxzOk4saXNBY3RpdmU6TH0sdCkscmVmOnMsc3R5bGU6b2Uscm9sZTpNfSxvLmNyZWF0ZUVsZW1lbnQobi5MaWdodEJ1dHRvbkNvbnRlbnQse3Nob3dDYXJldDpnLGlzQWN0aXZlQ2FyZXQ6ZyYmKE58fEx8fHV8fFEpLGljb25Pbmx5Om0sZWxsaXBzaXM6cCx0ZXh0V3JhcDpULHRvb2x0aXBUZXh0OkUsZW5kU2xvdDp5LHN0YXJ0U2xvdDpmfSxkKSl9fSw1MzIwMTEoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Q29udHJvbEdyb3VwQ29udGV4dDooKT0+cixkZWZhdWx0Q2VsbFN0YXRlOigpPT5pfSk7dmFyIG89cyg3Nzk0NzQpO2NvbnN0IGk9e2lzVG9wOiEwLGlzUmlnaHQ6ITAsaXNCb3R0b206ITAsaXNMZWZ0OiEwfSxyPW8uY3JlYXRlQ29udGV4dCh7aXNHcm91cGVkOiExLGNlbGxTdGF0ZTppfSl9LDg2OTg0MihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtTd2l0Y2hHcm91cENvbnRleHQ6KCk9PnJ9KQo7dmFyIG89cyg3Nzk0NzQpLGk9cyg4NjIzODgpO2NvbnN0IHI9KDAsby5jcmVhdGVDb250ZXh0KSh7Z2V0TmFtZTooKT0+IiIsZ2V0VmFsdWVzOigpPT5bXSxnZXRPbkNoYW5nZTooKT0+aS5kZWZhdWx0LHN1YnNjcmliZTppLmRlZmF1bHQsdW5zdWJzY3JpYmU6aS5kZWZhdWx0fSl9LDY1ODQ2KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse21ha2VTd2l0Y2hHcm91cEl0ZW06KCk9PnJ9KTt2YXIgbz1zKDc3OTQ3NCksaT1zKDg2OTg0Mik7ZnVuY3Rpb24gcihlKXt2YXIgdDtyZXR1cm4gdD1jbGFzcyBleHRlbmRzIG8uUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fb25DaGFuZ2U9ZT0+e3RoaXMuY29udGV4dC5nZXRPbkNoYW5nZSgpKGUudGFyZ2V0LnZhbHVlKX0sdGhpcy5fb25VcGRhdGU9ZT0+e2UuaW5jbHVkZXModGhpcy5wcm9wcy52YWx1ZSkmJnRoaXMuZm9yY2VVcGRhdGUoKX19Y29tcG9uZW50RGlkTW91bnQoKXt0aGlzLmNvbnRleHQuc3Vic2NyaWJlKHRoaXMuX29uVXBkYXRlKX1yZW5kZXIoKXtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGUsey4uLnRoaXMucHJvcHMsbmFtZTp0aGlzLl9nZXROYW1lKCksb25DaGFuZ2U6dGhpcy5fb25DaGFuZ2UsY2hlY2tlZDp0aGlzLl9pc0NoZWNrZWQoKX0pfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5jb250ZXh0LnVuc3Vic2NyaWJlKHRoaXMuX29uVXBkYXRlKX1fZ2V0TmFtZSgpe3JldHVybiB0aGlzLmNvbnRleHQuZ2V0TmFtZSgpfV9pc0NoZWNrZWQoKXtyZXR1cm4gdGhpcy5jb250ZXh0LmdldFZhbHVlcygpLmluY2x1ZGVzKHRoaXMucHJvcHMudmFsdWUpfX0sdC5jb250ZXh0VHlwZT1pLlN3aXRjaEdyb3VwQ29udGV4dCx0fX0sMzQ1MTE2KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gcihlLG4pfWZ1bmN0aW9uIGkoZSl7cmV0dXJuIHIoZSxhKX1mdW5jdGlvbiByKGUsdCl7Y29uc3Qgcz1PYmplY3QuZW50cmllcyhlKS5maWx0ZXIodCksbz17fTtmb3IoY29uc3RbZSx0XW9mIHMpb1tlXT10O3JldHVybiBvfWZ1bmN0aW9uIG4oZSl7Y29uc3RbdCxzXT1lO3JldHVybiAwPT09dC5pbmRleE9mKCJkYXRhLSIpJiYic3RyaW5nIj09dHlwZW9mIHN9ZnVuY3Rpb24gYShlKXtyZXR1cm4gMD09PWVbMF0uaW5kZXhPZigiYXJpYS0iKX1mdW5jdGlvbiBsKGUsdCl7Y29uc3Qgcz1vKGUpO3JldHVybiB0JiYoc1siZGF0YS1xYS1pZCJdPXQpLHN9cy5kKHQse2ZpbHRlckFyaWFQcm9wczooKT0+aSxmaWx0ZXJDaGVja2VkRGF0YVByb3BzOigpPT5sLGZpbHRlckRhdGFQcm9wczooKT0+byxmaWx0ZXJQcm9wczooKT0+cixpc0FyaWFBdHRyaWJ1dGU6KCk9PmEsaXNEYXRhQXR0cmlidXRlOigpPT5ufSl9LDc3MDE0MyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtnZXRUZXh0Rm9yVG9vbHRpcDooKT0+bn0pO3ZhciBvPXMoNzc5NDc0KTtjb25zdCBpPWU9PigwLG8uaXNWYWxpZEVsZW1lbnQpKGUpJiZCb29sZWFuKGUucHJvcHMuY2hpbGRyZW4pLHI9KGUsdD0hMCk9Pm51bGw9PWV8fCJib29sZWFuIj09dHlwZW9mIGV8fCJ7fSI9PT1KU09OLnN0cmluZ2lmeShlKT8iIjplLnRvU3RyaW5nKCkrKHQ/IiAiOiIiKSxuPWU9PkFycmF5LmlzQXJyYXkoZSl8fCgwLG8uaXNWYWxpZEVsZW1lbnQpKGUpP28uQ2hpbGRyZW4udG9BcnJheShlKS5yZWR1Y2UoKChlLHQpPT57bGV0IHM9IiI7cmV0dXJuIHM9KDAsby5pc1ZhbGlkRWxlbWVudCkodCkmJmkodCk/bih0LnByb3BzLmNoaWxkcmVuKTooMCxvLmlzVmFsaWRFbGVtZW50KSh0KSYmIWkodCk/IiI6cih0KSxlLmNvbmNhdChzKX0pLCIiKS50cmltKCk6cihlLCExKX0sNDg4MDUoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Z2V0Q3Jvc3NoYWlyTW92ZURhdGE6KCk9Pml9KTt2YXIgbz1zKDc4MzI1NCk7ZnVuY3Rpb24gaShlLHQpe2NvbnN0e3BvaW50OmksdGltZTpyLHNlcmllc0RhdGE6bn09dDtpZih2b2lkIDA9PT1pfHx2b2lkIDA9PT1yKXJldHVybjtjb25zdCBhPWUubWFpblBsb3QoKSxsPWEuc2VyaWVzKCk7aWYodm9pZCAwPT09bi5nZXQobCkpcmV0dXJuO2xldCBjO2NvbnN0IHU9W10saD1hLmN1cnJlbnRTZXJpZXNPcHRpb25zKCk7aWYoYz0iQXJlYSI9PT1sLnNlcmllc1R5cGUoKXx8IkxpbmUiPT09bC5zZXJpZXNUeXBlKCk/aC50b29sdGlwVHlwZXx8ImxpbmUiOmgudG9vbHRpcFR5cGV8fCJvaGxjIix1LnB1c2goLi4uYS5nZXRMZWdlbmREYXRhKHQubG9naWNhbCkpLGUuc3R1ZHlQbG90cygpLmZvckVhY2goKGU9Pnt1LnB1c2goLi4uZS5nZXRMZWdlbmREYXRhKHQubG9naWNhbCkpfSkpLDA9PT11Lmxlbmd0aClyZXR1cm47Y29uc3QgZD1oLnRvb2x0aXBMZWdlbmRDb2xvck9yZGVyO2Q/LnNpemUmJnUuc29ydCgoKGUsdCk9Pntjb25zdCBzPWQuZ2V0KGUuY29sb3IpPz8tMSxvPWQuZ2V0KHQuY29sb3IpPz8tMTtyZXR1cm4ocz4tMT9zOjEvMCktKG8+LTE/bzoxLzApfSkpO2NvbnN0IG09bmV3IERhdGUoMWUzKnIpO2xldCBwPWUuZGF0ZVRpbWVGb3JtYXR0ZXIoKS5mb3JtYXQobSx7ZGF0ZVRpbWVTZXBhcmF0b3I6IlxuIn0pO2UuaXNEV01SZXNvbHV0aW9uKCl8fChwKz0iICIrZnVuY3Rpb24oZSl7aWYoMD09PWUpcmV0dXJuIlVUQyI7Y29uc3QgdD1NYXRoLmFicyhlKSxzPU1hdGguZmxvb3IodC82MCksbz10LTYwKnM7cmV0dXJuYFVUQyR7TWF0aC5zaWduKGUpPD0wPyIrIjoiLSJ9JHtzfSR7bz4wP2A6JHtvfWA6IiJ9YH0obS5nZXRUaW1lem9uZU9mZnNldCgpKSk7Y29uc3QgZz1lLmlzRFdNUmVzb2x1dGlvbigpfHwzIT09YS5zZXNzaW9uQXRUaW1lKGZ1bmN0aW9uKGUpe2NvbnN0IHQ9bmV3IERhdGUoMWUzKmUpO3JldHVybiBuZXcgRGF0ZSh0LmdldFVUQ0Z1bGxZZWFyKCksdC5nZXRVVENNb250aCgpLHQuZ2V0VVRDRGF0ZSgpLHQuZ2V0VVRDSG91cnMoKSx0LmdldFVUQ01pbnV0ZXMoKSx0LmdldFVUQ1NlY29uZHMoKSkudmFsdWVPZigpLzFlM30ocikpP3ZvaWQgMDpvLnQobnVsbCx7Y29udGV4dDoibWFya2V0X3N0YXR1cyJ9LHMoNTQ1MjI0KSk7cmV0dXJue3BvaW50OmksdGltZTpwLHByaWNlczp1LHR5cGU6YywKbm90ZTpnfX19LDYxMDU3MShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtkZWZhdWx0Vm9sdW1lT3B0aW9uczooKT0+YyxnZXRTZXJpZXNPcHRpb25zOigpPT5ufSk7dmFyIG89cyg1MDU1NiksaT1zKDI0NzkwMSkscj1zKDg3MzU3Myk7ZnVuY3Rpb24gbihlLHQscyxpKXtyZXR1cm4ibGluZSI9PT1lP3tjaGFydFR5cGU6ImxpbmUiLGxpbmVXaWR0aDozLGdyb3dpbmdDb2xvcjooMCxvLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItbWludHktZ3JlZW4tNTAwIiksZmFsbGluZ0NvbG9yOigwLG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC01MDAiKSxjcm9zc2hhaXJNYXJrZXJWaXNpYmxlOiEwLGxhc3RWYWx1ZVZpc2libGU6ITAsY3Jvc3NoYWlyTWFya2VyUmFkaXVzOjQuNSxjcm9zc2hhaXJNYXJrZXJCb3JkZXJDb2xvcjpsKHMpLHByZW1hcmtldExpbmVDb2xvcjphKHMsaSkscG9zdG1hcmtldExpbmVDb2xvcjphKHMsaSksbmlnaHRMaW5lQ29sb3I6YShzLGkpLGFkZE1hcmtlcnM6MT09PXQsbGluZVR5cGU6Mj09PXQ/MTowLHNjYWxlTWFyZ2luczp7dG9wOi4wNSxib3R0b206LjA1fX06ImFyZWEiPT09ZT97Y2hhcnRUeXBlOiJhcmVhIixsaW5lV2lkdGg6MixwcmljZUxpbmVWaXNpYmxlOiExLGNyb3NzaGFpck1hcmtlclZpc2libGU6ITAsY3Jvc3NoYWlyTWFya2VyUmFkaXVzOjMuNSxjcm9zc2hhaXJNYXJrZXJCb3JkZXJDb2xvcjpsKHMpLGxhc3RWYWx1ZVZpc2libGU6ITAsZ3Jvd2luZ1RvcENvbG9yOigwLHIuZ2VuZXJhdGVDb2xvcikoby5jb2xvcnNQYWxldHRlWyJjb2xvci1taW50eS1ncmVlbi01MDAiXSw3MCksZ3Jvd2luZ0JvdHRvbUNvbG9yOigwLHIuZ2VuZXJhdGVDb2xvcikoby5jb2xvcnNQYWxldHRlWyJjb2xvci1taW50eS1ncmVlbi01MDAiXSwxMDApLGdyb3dpbmdMaW5lQ29sb3I6KDAsby5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIpLGZhbGxpbmdUb3BDb2xvcjooMCxyLmdlbmVyYXRlQ29sb3IpKG8uY29sb3JzUGFsZXR0ZVsiY29sb3ItcmlwZS1yZWQtNTAwIl0sNzApLGZhbGxpbmdCb3R0b21Db2xvcjooMCxyLmdlbmVyYXRlQ29sb3IpKG8uY29sb3JzUGFsZXR0ZVsiY29sb3ItcmlwZS1yZWQtNTAwIl0sMTAwKSxmYWxsaW5nTGluZUNvbG9yOigwLG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC01MDAiKSxwcmVtYXJrZXRMaW5lQ29sb3I6YShzLGkpLHBvc3RtYXJrZXRMaW5lQ29sb3I6YShzLGkpLG5pZ2h0TGluZUNvbG9yOmEocyxpKX06e2NoYXJ0VHlwZToiY2FuZGxlc3RpY2tzIix1cENvbG9yOigwLG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1taW50eS1ncmVlbi01MDAiKSxkb3duQ29sb3I6KDAsby5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXJpcGUtcmVkLTUwMCIpLGJvcmRlclVwQ29sb3I6KDAsby5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIpLGJvcmRlckRvd25Db2xvcjooMCxvLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItcmlwZS1yZWQtNTAwIiksd2lja1VwQ29sb3I6KDAsby5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIpLHdpY2tEb3duQ29sb3I6KDAsby5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXJpcGUtcmVkLTUwMCIpfX1mdW5jdGlvbiBhKGUsdCl7aWYoIkxBU1RTRVNTSU9OIj09PXQpcmV0dXJuKDAsby5nZXRIZXhDb2xvckJ5TmFtZSkoZT09PWkuU3RkVGhlbWUuTGlnaHQ/ImNvbG9yLWNvbGQtZ3JheS0zMDAiOiJjb2xvci1jb2xkLWdyYXktNjUwIil9ZnVuY3Rpb24gbChlKXtyZXR1cm4oMCxvLmdldEhleENvbG9yQnlOYW1lKShlPT09aS5TdGRUaGVtZS5MaWdodD8iY29sb3Itd2hpdGUiOiJjb2xvci1ibGFjayIpfWNvbnN0IGM9e3NjYWxlTWFyZ2luczp7dG9wOi44LGJvdHRvbTowfSxwcmljZVNjYWxlSWQ6Im92ZXJsYXkiLHVwQ29sb3I6KDAsci5hcHBseVRyYW5zcGFyZW5jeSkoby5jb2xvcnNQYWxldHRlWyJjb2xvci1taW50eS1ncmVlbi01MDAiXSw1MCksZG93bkNvbG9yOigwLHIuYXBwbHlUcmFuc3BhcmVuY3kpKG8uY29sb3JzUGFsZXR0ZVsiY29sb3ItcmlwZS1yZWQtNTAwIl0sNTApLHZpc2libGU6ITEsbGFzdFZhbHVlVmlzaWJsZTohMSxwcmljZUxpbmVWaXNpYmxlOiExfX0sNzA5MzcwKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1Nlc3Npb25zTWluaUNoYXJ0OigpPT5yfSk7dmFyIG89cyg0NzAwOTApLGk9cygxNTY1MTEpO2NsYXNzIHIgZXh0ZW5kcyBvLk1pbmlDaGFydHtfZ2V0Q2hhcnRQbG90Q2xhc3MoKXtyZXR1cm4gaS5TZXNzaW9uc01pbmlDaGFydFBsb3R9fX0sMTU2NTExKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1Nlc3Npb25zTWluaUNoYXJ0UGxvdDooKT0+bn0pO3ZhciBvPXMoMTM4NjM4KSxpPXMoNTg2MjQ3KSxyPXMoOTEyMDMzKTtjbGFzcyBuIGV4dGVuZHMgaS5NaW5pQ2hhcnRQbG90e2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9zZXNzaW9uc1N0dWR5UHJvdmlkZXI9bnVsbH1kZXN0cm95KCl7dGhpcy5fZGVzdHJveVNlc3Npb25TdHVkeVByb3ZpZGVyKCksc3VwZXIuZGVzdHJveSgpfXJlcXVlc3REYXRhKCl7aWYoc3VwZXIucmVxdWVzdERhdGEoKSx0aGlzLl9kZXN0cm95U2Vzc2lvblN0dWR5UHJvdmlkZXIoKSx0aGlzLl9pc0xhc3RTZXNzaW9uSW50ZXJ2YWwudmFsdWUoKSl7Y29uc3QgZT10aGlzLl9iYXJCdWlsZGVyTG9hZGVyPy5nZXQoKTtlfHwodGhpcy5fc2Vzc2lvbnNTdHVkeVByb3ZpZGVyPW5ldyByLlNlc3Npb25zU3R1ZHlQcm92aWRlcih0aGlzLmNoYXJ0U2Vzc2lvbigpLHRoaXMuc2VyaWVzRGF0YVNvdXJjZSgpKSx0aGlzLl9zZXNzaW9uc1N0dWR5UHJvdmlkZXIuc3RhcnQoKSl9fWRpc2Nvbm5lY3QoKXt0aGlzLl9kZXN0cm95U2Vzc2lvblN0dWR5UHJvdmlkZXIoKSxzdXBlci5kaXNjb25uZWN0KCl9X29uU3ltYm9sUmVzb2x2ZWQoZSl7c3VwZXIuX29uU3ltYm9sUmVzb2x2ZWQoZSksCnRoaXMuX2lzTGFzdFNlc3Npb25JbnRlcnZhbC52YWx1ZSgpJiYhdGhpcy5fYmFyQnVpbGRlckxvYWRlciYmdGhpcy5faW5pdEJhckJ1aWxkZXIoZSl9YXN5bmMgX29uRGF0YShlLHQpe2F3YWl0IHRoaXMuX3dhaXRGb3JSZWFkeVRvQ2FsY3VsYXRlU2Vzc2lvbigpLHN1cGVyLl9vbkRhdGEoZSx0KX1hc3luYyBfb25EYXRhQ29tcGxldGVkKCl7YXdhaXQgdGhpcy5fd2FpdEZvclJlYWR5VG9DYWxjdWxhdGVTZXNzaW9uKCksc3VwZXIuX29uRGF0YUNvbXBsZXRlZCgpfV9iYXJJbmRleFNlc3Npb24oZSl7aWYoIXRoaXMuX2lzTGFzdFNlc3Npb25JbnRlcnZhbC52YWx1ZSgpKXJldHVybjtjb25zdCB0PXRoaXMuX2JhckJ1aWxkZXJMb2FkZXI/LmdldCgpO2lmKHQpe2NvbnN0IHM9dGhpcy5fbWluaUNoYXJ0LmluZGV4VG9UaW1lKGUpO2lmKG51bGwhPT1zKXJldHVybiB0LnNlc3Npb24ocyl9cmV0dXJuIHRoaXMuX3Nlc3Npb25zU3R1ZHlQcm92aWRlcj90aGlzLl9zZXNzaW9uc1N0dWR5UHJvdmlkZXIuaXNQcmVNYXJrZXQoZSk/MDp0aGlzLl9zZXNzaW9uc1N0dWR5UHJvdmlkZXIuaXNQb3N0TWFya2V0KGUpPzE6dGhpcy5fc2Vzc2lvbnNTdHVkeVByb3ZpZGVyLmlzTmlnaHRNYXJrZXQoZSk/MzoyOnZvaWQgMH1hc3luYyBfd2FpdEZvclJlYWR5VG9DYWxjdWxhdGVTZXNzaW9uKCl7Y29uc3QgZT10aGlzLl9iYXJCdWlsZGVyTG9hZGVyPy5nZXQoKTtpZighZSYmdGhpcy5faXNMYXN0U2Vzc2lvbkludGVydmFsLnZhbHVlKCkpe2F3YWl0IFByb21pc2UucmFjZShbdGhpcy5fc2Vzc2lvbnNTdHVkeVByb3ZpZGVyPy5jb21wbGV0ZWQoKSx0aGlzLl9pbml0QmFyQnVpbGRlcigoMCxvLmVuc3VyZU5vdE51bGwpKHRoaXMuc3ltYm9sSW5mbygpKSldKT09PXRoaXMuX2JhckJ1aWxkZXJMb2FkZXI/LmdldCgpJiZ0aGlzLl9kZXN0cm95U2Vzc2lvblN0dWR5UHJvdmlkZXIoKX19X2Rlc3Ryb3lTZXNzaW9uU3R1ZHlQcm92aWRlcigpe3RoaXMuX3Nlc3Npb25zU3R1ZHlQcm92aWRlcj8uZGVzdHJveSgpLHRoaXMuX3Nlc3Npb25zU3R1ZHlQcm92aWRlcj1udWxsfX19LDkxMjAzMyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtTZXNzaW9uc1N0dWR5UHJvdmlkZXI6KCk9PmF9KTt2YXIgbyxpPXMoODE0NTg5KSxyPXMoOTY1Nzk1KSxuPXMoNzY4NzYwKTshZnVuY3Rpb24oZSl7ZVtlLlN0b3BwZWQ9MF09IlN0b3BwZWQiLGVbZS5TdGFydGVkPTFdPSJTdGFydGVkIn0ob3x8KG89e30pKTtjbGFzcyBhe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fdHVybmFyb3VuZD1uZXcgbCgic3QiKSx0aGlzLl9pbnN0YW5jZUlEPW51bGwsdGhpcy5fc2Vzc2lvbkRlZmVycmVkUHJvbWlzZT0oMCxuLmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKSx0aGlzLl9zZXNzaW9uc0RhdGE9bnVsbCx0aGlzLl9zdGF0dXM9by5TdG9wcGVkLHRoaXMuX29uTWVzc2FnZT1lPT57c3dpdGNoKGUubWV0aG9kKXtjYXNlImRhdGFfdXBkYXRlIjp7Y29uc3R7Y3VzdG9tSWQ6dCx0dXJuYXJvdW5kOnMsbm9uc2VyaWVzOm99PWUucGFyYW1zO2lmKHQhPT10aGlzLl9pbnN0YW5jZUlEfHwhdGhpcy5fY2hlY2tUdXJuYXJvdW5kKHMpfHwhbylyZXR1cm47cmV0dXJuIHZvaWQgdGhpcy5fb25EYXRhVXBkYXRlKG8pfWNhc2Uic3R1ZHlfY29tcGxldGVkIjpjYXNlInN0dWR5X2Vycm9yIjpyZXR1cm4gdm9pZCB0aGlzLl9zZXNzaW9uRGVmZXJyZWRQcm9taXNlLnJlc29sdmUoKX19LHRoaXMuX2NoYXJ0U2Vzc2lvbj1lLHRoaXMuX3Nlcmllc0RhdGFTb3VyY2U9dCx0aGlzLl9pc0Nvbm5lY3RlZENoYXJ0U2Vzc2lvbj10aGlzLl9jaGFydFNlc3Npb24uaXNDb25uZWN0ZWQoKS5zcGF3bigpfWRlc3Ryb3koKXt0aGlzLnN0b3AoKSx0aGlzLl9pc0Nvbm5lY3RlZENoYXJ0U2Vzc2lvbi5kZXN0cm95KCl9c3RhcnQoKXt0aGlzLl9zdGF0dXMhPT1vLlN0b3BwZWQmJnRoaXMuc3RvcCgpLHRoaXMuX3Nlc3Npb25EZWZlcnJlZFByb21pc2U9KDAsbi5jcmVhdGVEZWZlcnJlZFByb21pc2UpKCk7Y29uc3QgZT10aGlzLl9zZXJpZXNEYXRhU291cmNlLmluc3RhbmNlSWQoKTtudWxsIT09ZT90aGlzLl9jcmVhdGVTdHVkeUZvclNlcmllcyhlKTp0aGlzLl9zZXJpZXNEYXRhU291cmNlLmRhdGFFdmVudHMoKS5jcmVhdGVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fY3JlYXRlU3R1ZHlGb3JTZXJpZXMuYmluZCh0aGlzKSwhMCksdGhpcy5fc3RhdHVzPW8uU3RhcnRlZH1zdG9wKCl7bnVsbCE9PXRoaXMuX2luc3RhbmNlSUQmJih0aGlzLl9jaGFydFNlc3Npb24uaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZ0aGlzLl9jaGFydFNlc3Npb24ucmVtb3ZlU3R1ZHkodGhpcy5faW5zdGFuY2VJRCksdGhpcy5faW5zdGFuY2VJRD1udWxsLHRoaXMuX3Nlc3Npb25EZWZlcnJlZFByb21pc2UucmVzb2x2ZSgpKSx0aGlzLl9zZXJpZXNEYXRhU291cmNlLmRhdGFFdmVudHMoKS5jcmVhdGVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5faXNDb25uZWN0ZWRDaGFydFNlc3Npb24udW5zdWJzY3JpYmUoKSx0aGlzLl9zdGF0dXM9by5TdG9wcGVkfWNvbXBsZXRlZCgpe3JldHVybiB0aGlzLl9zZXNzaW9uRGVmZXJyZWRQcm9taXNlLnByb21pc2V9aXNQb3N0TWFya2V0KGUpe3JldHVybiEhdGhpcy5fc2Vzc2lvbnNEYXRhPy5wb3N0TWFya2V0Py5oYXMoZSl9aXNQcmVNYXJrZXQoZSl7cmV0dXJuISF0aGlzLl9zZXNzaW9uc0RhdGE/LnByZU1hcmtldD8uaGFzKGUpfWlzTmlnaHRNYXJrZXQoZSl7cmV0dXJuISF0aGlzLl9zZXNzaW9uc0RhdGE/Lm5pZ2h0TWFya2V0Py5oYXMoZSl9X2NyZWF0ZVN0dWR5Rm9yU2VyaWVzKGUpe3RoaXMuX2lzQ29ubmVjdGVkQ2hhcnRTZXNzaW9uJiZ0aGlzLl9pc0Nvbm5lY3RlZENoYXJ0U2Vzc2lvbi51bnN1YnNjcmliZSgpLHRoaXMuX2lzQ29ubmVjdGVkQ2hhcnRTZXNzaW9uLndoZW4oKCgpPT57dGhpcy5faW5zdGFuY2VJRD0oMCxyLm1ha2VOZXh0U3R1ZHlJZCkoKSwKdGhpcy5fY2hhcnRTZXNzaW9uLmNyZWF0ZVN0dWR5KHRoaXMuX2luc3RhbmNlSUQsdGhpcy5fdHVybmFyb3VuZC5uZXh0KCksZSwiU2Vzc2lvbnNAdHYtYmFzaWNzdHVkaWVzLTE4NyEiLHt9LHRoaXMuX29uTWVzc2FnZSx7aWQ6IlNlc3Npb25zQHR2LWJhc2ljc3R1ZGllcyJ9KX0pKX1fb25EYXRhVXBkYXRlKGUpe2NvbnN0e2luZGV4ZXM6dCxkOnN9PWU7aWYoIXMpcmV0dXJuO2NvbnN0IG89SlNPTi5wYXJzZShzKSxyPSEwPT09by5pbmRleGVzX3JlcGxhY2U/dm9pZCAwOm8uZ3JhcGhpY3NDbWRzPy5jcmVhdGU/LmJhY2tncm91bmRzO2lmKCFyfHwibm9jaGFuZ2UiPT09dClyZXR1cm47Y29uc3Qgbj1lPT57Y29uc3Qgcz10W2VdO3JldHVybiBzPmkuVU5QTE9UVEFCTEVfVElNRV9QT0lOVF9JTkRFWD9zOm51bGx9O3RoaXMuX3Nlc3Npb25zRGF0YT1yLnJlZHVjZSgoKGUse3N0eWxlSWQ6dCxkYXRhOnN9KT0+e2NvbnN0IG89bmV3IFNldDtyZXR1cm4gcy5mb3JFYWNoKCgoe3N0YXJ0OmUsc3RvcDp0fSk9PntsZXQgcz1uKGUpLGk9bih0KTtpZihudWxsIT09c3x8bnVsbCE9PWkpe251bGw9PT1zJiYocz1pKy0zMDApLG51bGw9PT1pJiYoaT1zKzMwMCk7Zm9yKGxldCBlPXM7ZTw9aTtlKyspby5hZGQoZSl9fSkpLGVbdF09byxlfSkse30pfV9jaGVja1R1cm5hcm91bmQoZSl7cmV0dXJuIGU9PT10aGlzLl90dXJuYXJvdW5kLmN1cnJlbnQoKXx8ZT09PXRoaXMuX3Nlcmllc0RhdGFTb3VyY2UudHVybmFyb3VuZCgpfHxlPT09YCR7dGhpcy5fc2VyaWVzRGF0YVNvdXJjZS50dXJuYXJvdW5kKCl9XyR7dGhpcy5fdHVybmFyb3VuZC5jdXJyZW50KCl9YH19Y2xhc3MgbHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9jb3VudGVyPTAsdGhpcy5fcHJlZml4PWV9bmV4dCgpe3JldHVybiB0aGlzLl9jb3VudGVyKyssdGhpcy5fdmFsdWUoKX1jdXJyZW50KCl7cmV0dXJuIHRoaXMuX3ZhbHVlKCl9X3ZhbHVlKCl7cmV0dXJuYCR7dGhpcy5fcHJlZml4fSR7dGhpcy5fY291bnRlcn1gfX19LDg4NzYwOChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtNaW5pQ2hhcnRTdGF0dXNTb3VyY2VBZGFwdGVyOigpPT5mfSk7dmFyIG8saSxyPXMoMjMyMzY0KSxuPXMoOTUyOTAwKSxhPXMoMTM4NjM4KSxsPXMoNzAwODA5KSxjPXMoNTU5NjkpLHU9cygxMjg5OTgpOyFmdW5jdGlvbihlKXtlW2UuRXhwaXJhdGlvblRpbWVNc2Vjc0Vwc2lsb249M2U1XT0iRXhwaXJhdGlvblRpbWVNc2Vjc0Vwc2lsb24ifShvfHwobz17fSkpO2NsYXNzIGh7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl91dGNUaW1lPW5ldyByLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9leHBpcmVkPW5ldyByLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fc2Vzc2lvblNwZWM9bmV3IHIuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX3Nlc3Npb25TcGVjQ2FjaGU9bnVsbCx0aGlzLl91dGNEYXlTdGFydD1uZXcgRGF0ZSgwKSx0aGlzLl90aW1lb3V0SWQ9bnVsbCx0aGlzLl9leHBpcmVkQnlTeW1ib2xJbmZvVHlwZXNwZWNzPSExLHRoaXMuX2V4cGlyZWRCeVF1b3Rlc1R5cGVzcGVjcz1udWxsLHRoaXMuX21hcmtldFN0YXR1c1NwYXduPWUuc3Bhd24oKSx0aGlzLl9xdW90ZXNVcGRhdGU9dCx0aGlzLl9xdW90ZXNVcGRhdGUuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25RdW90ZXNVcGRhdGUpfWRlc3Ryb3koKXt0aGlzLl9tYXJrZXRTdGF0dXNTcGF3bi5kZXN0cm95KCksdGhpcy5fY2xlYXJUaW1lb3V0SWZOZWVkZWQoKSx0aGlzLl9xdW90ZXNVcGRhdGUudW5zdWJzY3JpYmVBbGwodGhpcyl9cmVzZXQoKXt0aGlzLl9leHBpcmVkQnlTeW1ib2xJbmZvVHlwZXNwZWNzPSExLHRoaXMuX2V4cGlyZWRCeVF1b3Rlc1R5cGVzcGVjcz1udWxsLHRoaXMuX3V0Y1RpbWUuc2V0VmFsdWUobnVsbCksdGhpcy5fZXhwaXJlZC5zZXRWYWx1ZSghMSl9dXRjVGltZSgpe3JldHVybiB0aGlzLl91dGNUaW1lLnJlYWRvbmx5KCl9ZXhwaXJlZCgpe3JldHVybiB0aGlzLl9leHBpcmVkLnJlYWRvbmx5KCl9dXRjRGF5U3RhcnQoKXtyZXR1cm4gdGhpcy5fdXRjRGF5U3RhcnR9c2Vzc2lvblNwZWMoKXtyZXR1cm4gdGhpcy5fc2Vzc2lvblNwZWMucmVhZG9ubHkoKX1zZXRTeW1ib2xJbmZvKGUpe2lmKHRoaXMuX2NsZWFyVGltZW91dElmTmVlZGVkKCksbnVsbD09PWV8fCEoMCx1LmlzRnV0dXJlc0NvbnRyYWN0U3ltYm9sKShlKXx8dm9pZCAwPT09ZS5leHBpcmF0aW9uKXJldHVybiB0aGlzLl91dGNUaW1lLnNldFZhbHVlKG51bGwpLHZvaWQgdGhpcy5fZXhwaXJlZC5zZXRWYWx1ZSghMSk7bnVsbCE9PXRoaXMuX3Nlc3Npb25TcGVjQ2FjaGUmJnRoaXMuX3Nlc3Npb25TcGVjQ2FjaGUudGltZXpvbmU9PT1lLnRpbWV6b25lJiZ0aGlzLl9zZXNzaW9uU3BlY0NhY2hlLnNlc3Npb249PT1lLnNlc3Npb24mJnRoaXMuX3Nlc3Npb25TcGVjQ2FjaGUuY29ycmVjdGlvbnM9PT1lLmNvcnJlY3Rpb25zJiZ0aGlzLl9zZXNzaW9uU3BlY0NhY2hlLmhvbGlkYXlzPT09ZS5zZXNzaW9uX2hvbGlkYXlzfHwodGhpcy5fc2Vzc2lvblNwZWNDYWNoZT17dGltZXpvbmU6ZS50aW1lem9uZSxzZXNzaW9uOmUuc2Vzc2lvbixjb3JyZWN0aW9uczplLmNvcnJlY3Rpb25zLGhvbGlkYXlzOmUuc2Vzc2lvbl9ob2xpZGF5cyxzcGVjOm5ldyBjLlNlc3Npb25zU3BlYyhlLnRpbWV6b25lLGUuc2Vzc2lvbixlLnNlc3Npb25faG9saWRheXMsZS5jb3JyZWN0aW9ucyl9LHRoaXMuX3Nlc3Npb25TcGVjLnNldFZhbHVlKG51bGwpKTtjb25zdCB0PXRoaXMuX3Nlc3Npb25TcGVjQ2FjaGUuc3BlYzt0aGlzLl91dGNEYXlTdGFydD1mdW5jdGlvbihlKXtjb25zdCB0PU1hdGguZmxvb3IoZS8xZTQpJTFlNCxzPU1hdGguZmxvb3IoZS8xMDApJTEwMC0xLG89ZSUxMDA7cmV0dXJuIG5ldyBEYXRlKERhdGUuVVRDKHQscyxvKSl9KGUuZXhwaXJhdGlvbik7Y29uc3Qgcz10LmJvcmRlcnNPZkRhaWx5QmFyKHRoaXMuX3V0Y0RheVN0YXJ0KTtpZihudWxsPT09cylyZXR1cm4gdGhpcy5fdXRjVGltZS5zZXRWYWx1ZShudWxsKSx0aGlzLl9leHBpcmVkLnNldFZhbHVlKCExKSx2b2lkIHRoaXMuX3Nlc3Npb25TcGVjLnNldFZhbHVlKHQpO2NvbnN0IG89KDAsCmwuZ2V0X3RpbWV6b25lKShlLnRpbWV6b25lKTt0aGlzLl91dGNUaW1lLnNldFZhbHVlKCgwLGwuY2FsX3RvX3V0YykobyxzLnRvKSsxZTMpLHRoaXMuX3Nlc3Npb25TcGVjLnNldFZhbHVlKHQpLHRoaXMuX2V4cGlyZWRCeVN5bWJvbEluZm9UeXBlc3BlY3M9Qm9vbGVhbihlLnR5cGVzcGVjcz8uaW5jbHVkZXMoImV4cGlyZWQiKSksdGhpcy5fdXBkYXRlRXhwaXJlZCgpfV91cGRhdGVFeHBpcmVkKCl7dGhpcy5fY2xlYXJUaW1lb3V0SWZOZWVkZWQoKTtjb25zdCBlPXRoaXMuX3V0Y1RpbWUudmFsdWUoKTtpZihudWxsPT09ZSlyZXR1cm47aWYodGhpcy5fZXhwaXJlZEJ5UXVvdGVzVHlwZXNwZWNzfHx0aGlzLl9leHBpcmVkQnlTeW1ib2xJbmZvVHlwZXNwZWNzKXJldHVybiB2b2lkIHRoaXMuX2V4cGlyZWQuc2V0VmFsdWUoITApO2NvbnN0IHQ9d2luZG93LkNoYXJ0QXBpSW5zdGFuY2Uuc2VydmVyVGltZSgpO2xldCBzO3N3aXRjaCh0aGlzLl9tYXJrZXRTdGF0dXNTcGF3bi52YWx1ZSgpKXtjYXNlIm91dF9vZl9zZXNzaW9uIjpjYXNlImhvbGlkYXkiOnM9ZS0zZTUtdDticmVhaztjYXNlIm1hcmtldCI6Y2FzZSJwcmVfbWFya2V0IjpjYXNlInBvc3RfbWFya2V0IjpzPWUrM2U1LXQ7YnJlYWs7ZGVmYXVsdDpzPWUtdH1zPjAmJih0aGlzLl90aW1lb3V0SWQ9c2V0VGltZW91dCgoKCk9PnRoaXMuX3VwZGF0ZUV4cGlyZWQoKSksTWF0aC5taW4oMmU5LHMpKSksdGhpcy5fZXhwaXJlZC5zZXRWYWx1ZShzPD0wKX1fY2xlYXJUaW1lb3V0SWZOZWVkZWQoKXtudWxsIT09dGhpcy5fdGltZW91dElkJiYoY2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVvdXRJZCksdGhpcy5fdGltZW91dElkPW51bGwpfV9vblF1b3Rlc1VwZGF0ZShlLHQpe2xldCBzPSExO2lmKG51bGw9PT10aGlzLl9leHBpcmVkQnlRdW90ZXNUeXBlc3BlY3MpdGhpcy5fZXhwaXJlZEJ5UXVvdGVzVHlwZXNwZWNzPUJvb2xlYW4oZS52YWx1ZXMudHlwZXNwZWNzPy5pbmNsdWRlcygiZXhwaXJlZCIpKSxzPXRoaXMuX2V4cGlyZWRCeVF1b3Rlc1R5cGVzcGVjcztlbHNlIGlmKHZvaWQgMCE9PXQudmFsdWVzLnR5cGVzcGVjcyl7Y29uc3QgZT1Cb29sZWFuKHQudmFsdWVzLnR5cGVzcGVjcz8uaW5jbHVkZXMoImV4cGlyZWQiKSk7cz10aGlzLl9leHBpcmVkQnlRdW90ZXNUeXBlc3BlY3MhPT1lLHRoaXMuX2V4cGlyZWRCeVF1b3Rlc1R5cGVzcGVjcz1lfXMmJm51bGwhPT10aGlzLl91dGNUaW1lLnZhbHVlKCkmJnRoaXMuX3VwZGF0ZUV4cGlyZWQoKX19ZnVuY3Rpb24gZChlKXtyZXR1cm4gd2luZG93LkNoYXJ0QXBpSW5zdGFuY2Uuc2VydmVyVGltZSgpLzFlMy1lfWZ1bmN0aW9uIG0oZSx0LHMpe2NvbnN0IG89dCsxZTM7cmV0dXJuIGU8PXM/dDw9cz8xLzA6by8xZTM6TWF0aC5taW4oZSxvKS8xZTN9IWZ1bmN0aW9uKGUpe2UuT3Blbj0ibWFya2V0IixlLlByZT0icHJlX21hcmtldCIsZS5Qb3N0PSJwb3N0X21hcmtldCIsZS5PdmVybmlnaHQ9Im5pZ2h0IixlLkNsb3NlPSJvdXRfb2Zfc2Vzc2lvbiIsZS5Ib2xpZGF5PSJob2xpZGF5IixlLkRlbGlzdGVkPSJkZWxpc3RlZCIsZS5FeHBpcmVkPSJleHBpcmVkIn0oaXx8KGk9e30pKTtjbGFzcyBwe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2N1cnJlbnRTZXNzaW9uPW5ldyByLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9kZWxpc3RlZEJ5VHlwZXNwZWNzPW5ldyByLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fc2Vzc2lvbnNTcGVjPW51bGwsdGhpcy5fbmV4dFNlc3Npb25FZGdlSW50ZXJuYWw9bnVsbCx0aGlzLl9uZXh0U2Vzc2lvbkVkZ2U9bmV3IHIuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX3JlY2FsY05leHRTZXNzaW9uRWRnZVRpbWVySWQ9bnVsbCx0aGlzLl9kZWxheT0wLHRoaXMuX2Z1dHVyZXNDb250cmFjdEV4cGlyYXRpb25UaW1lPW51bGwsdGhpcy5fcXVvdGVzUHJvdmlkZXI9ZTtjb25zdHtjdXJyZW50X3Nlc3Npb246dH09ZS5xdW90ZXMoKS52YWx1ZSgpPz97fTt0JiZ0aGlzLl9jdXJyZW50U2Vzc2lvbi5zZXRWYWx1ZSh0KSx0aGlzLl9mdXR1cmVzQ29udHJhY3RFeHBpcmF0aW9uVGltZT1uZXcgaCh0aGlzLl9jdXJyZW50U2Vzc2lvbi5yZWFkb25seSgpLGUucXVvdGVzVXBkYXRlKCkpLGUucXVvdGVTeW1ib2xDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT57KDAsYS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9mdXR1cmVzQ29udHJhY3RFeHBpcmF0aW9uVGltZSkucmVzZXQoKSx0aGlzLl9uZXh0U2Vzc2lvbkVkZ2VJbnRlcm5hbD1udWxsLHRoaXMuX3JlY2FsY3VsYXRlTmV4dFNlc3Npb25FZGdlKCl9KSksdGhpcy5fbWFya2V0U3RhdHVzPSgwLG4uY29tYmluZSkoKChlLHQscyk9Pm51bGw9PT1lP2U6dD8iZGVsaXN0ZWQiOnM/ImV4cGlyZWQiOmZ1bmN0aW9uKGUpe3N3aXRjaChlKXtjYXNlIm1hcmtldCI6cmV0dXJuIm1hcmtldCI7Y2FzZSJwcmVfbWFya2V0IjpyZXR1cm4icHJlX21hcmtldCI7Y2FzZSJwb3N0X21hcmtldCI6cmV0dXJuInBvc3RfbWFya2V0IjtjYXNlIm5pZ2h0IjpyZXR1cm4ibmlnaHQiO2Nhc2Uib3V0X29mX3Nlc3Npb24iOnJldHVybiJvdXRfb2Zfc2Vzc2lvbiI7Y2FzZSJob2xpZGF5IjpyZXR1cm4iaG9saWRheSJ9KDAsYS5lbnN1cmVOZXZlcikoZSl9KGUpKSx0aGlzLl9jdXJyZW50U2Vzc2lvbi53ZWFrUmVmZXJlbmNlKCksdGhpcy5fZGVsaXN0ZWRCeVR5cGVzcGVjcy53ZWFrUmVmZXJlbmNlKCksKHRoaXMuX2Z1dHVyZXNDb250cmFjdEV4cGlyYXRpb25UaW1lPy5leHBpcmVkKCk/P25ldyByLldhdGNoZWRWYWx1ZSghMSkpLndlYWtSZWZlcmVuY2UoKSksZS5xdW90ZXNVcGRhdGUoKS5zdWJzY3JpYmUodGhpcywoZT0+e3RoaXMuX2N1cnJlbnRTZXNzaW9uLnNldFZhbHVlKGU/LnZhbHVlcy5jdXJyZW50X3Nlc3Npb24/P251bGwpfSkpLGUucXVvdGVTeW1ib2xDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT57dGhpcy5fY3VycmVudFNlc3Npb24uc2V0VmFsdWUobnVsbCl9KSl9ZGVzdHJveSgpe3RoaXMuX3F1b3Rlc1Byb3ZpZGVyLnF1b3Rlc1VwZGF0ZSgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLAp0aGlzLl9xdW90ZXNQcm92aWRlci5xdW90ZVN5bWJvbENoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxudWxsIT09dGhpcy5fcmVjYWxjTmV4dFNlc3Npb25FZGdlVGltZXJJZCYmY2xlYXJUaW1lb3V0KHRoaXMuX3JlY2FsY05leHRTZXNzaW9uRWRnZVRpbWVySWQpLCgwLGEuZW5zdXJlTm90TnVsbCkodGhpcy5fZnV0dXJlc0NvbnRyYWN0RXhwaXJhdGlvblRpbWUpLmRlc3Ryb3koKSx0aGlzLl9tYXJrZXRTdGF0dXMuZGVzdHJveSgpfWZ1dHVyZXNDb250cmFjdEV4cGlyYXRpb25UaW1lKCl7cmV0dXJuIHRoaXMuX2Z1dHVyZXNDb250cmFjdEV4cGlyYXRpb25UaW1lfXNldFN5bWJvbEluZm8oZSl7aWYoKDAsYS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9mdXR1cmVzQ29udHJhY3RFeHBpcmF0aW9uVGltZSkuc2V0U3ltYm9sSW5mbyhlKSx0aGlzLl9uZXh0U2Vzc2lvbkVkZ2VJbnRlcm5hbD1udWxsLG51bGw9PT1lKXJldHVybiB2b2lkKHRoaXMuX3Nlc3Npb25zU3BlYz1udWxsKTt0aGlzLl9kZWxheT0oMCx1LmdldFN5bWJvbERlbGF5U2Vjb25kcykoZSk7Y29uc3QgdD1uZXcgYy5TZXNzaW9uc1NwZWMoZS50aW1lem9uZSxlLnNlc3Npb25fZGlzcGxheT8/ZS5zZXNzaW9uLGUuc2Vzc2lvbl9ob2xpZGF5cyxlLmNvcnJlY3Rpb25zKTtsZXQgcyxvO2NvbnN0IGk9ZS5zdWJzZXNzaW9ucz8uZmluZCgoZT0+InByZW1hcmtldCI9PT1lLmlkKSkscj1lLnN1YnNlc3Npb25zPy5maW5kKChlPT4icG9zdG1hcmtldCI9PT1lLmlkKSk7dm9pZCAwIT09aSYmKHM9bmV3IGMuU2Vzc2lvbnNTcGVjKGUudGltZXpvbmUsaVsic2Vzc2lvbi1kaXNwbGF5Il0/P2kuc2Vzc2lvbixlLnNlc3Npb25faG9saWRheXMsaVsic2Vzc2lvbi1jb3JyZWN0aW9uIl0pKSx2b2lkIDAhPT1yJiYobz1uZXcgYy5TZXNzaW9uc1NwZWMoZS50aW1lem9uZSxyWyJzZXNzaW9uLWRpc3BsYXkiXT8/ci5zZXNzaW9uLGUuc2Vzc2lvbl9ob2xpZGF5cyxyWyJzZXNzaW9uLWNvcnJlY3Rpb24iXSkpLHRoaXMuX2RlbGlzdGVkQnlUeXBlc3BlY3Muc2V0VmFsdWUoQm9vbGVhbihlLnR5cGVzcGVjcz8uaW5jbHVkZXMoImRpc2NvbnRpbnVlZCIpKSksdGhpcy5fc2Vzc2lvbnNTcGVjPXtnZW5lcmFsOnQscHJlTWFya2V0OnMscG9zdE1hcmtldDpvfSx0aGlzLl9yZWNhbGN1bGF0ZU5leHRTZXNzaW9uRWRnZSgpfXN0YXR1cygpe3JldHVybiB0aGlzLl9tYXJrZXRTdGF0dXN9Y3VycmVudFNlc3Npb24oKXtyZXR1cm4gdGhpcy5fY3VycmVudFNlc3Npb259bmV4dFNlc3Npb25FZGdlKCl7cmV0dXJuIHRoaXMuX25leHRTZXNzaW9uRWRnZX1fZ2V0TmV4dFNlc3Npb25FZGdlSW50ZXJuYWwoKXtpZihudWxsPT09dGhpcy5fc2Vzc2lvbnNTcGVjKXJldHVybiBudWxsO2NvbnN0IGU9MWUzKmQodGhpcy5fZGVsYXkpO2lmKG51bGw9PT10aGlzLl9uZXh0U2Vzc2lvbkVkZ2VJbnRlcm5hbHx8KHRoaXMuX25leHRTZXNzaW9uRWRnZUludGVybmFsLnRpbWVzdGFtcD8/MS8wKTw9ZS8xZTMpe2NvbnN0e2dlbmVyYWw6dCxwcmVNYXJrZXQ6cyxwb3N0TWFya2V0Om99PXRoaXMuX3Nlc3Npb25zU3BlYyxpPSgwLGwuZ2V0X3RpbWV6b25lKSh0LnRpbWV6b25lKCkpLHI9KDAsbC51dGNfdG9fY2FsKShpLGUpLG49bSgoMCxsLmNhbF90b191dGMpKGksdC5hbGlnblRvTmVhcmVzdFNlc3Npb25TdGFydChyLDEpKSwoMCxsLmNhbF90b191dGMpKGksdC5hbGlnblRvTmVhcmVzdFNlc3Npb25FbmQociwxKSksZSksYT1tKHZvaWQgMCE9PXM/KDAsbC5jYWxfdG9fdXRjKShpLHMuYWxpZ25Ub05lYXJlc3RTZXNzaW9uU3RhcnQociwxKSk6MS8wLHZvaWQgMCE9PXM/KDAsbC5jYWxfdG9fdXRjKShpLHMuYWxpZ25Ub05lYXJlc3RTZXNzaW9uRW5kKHIsMSkpOjEvMCxlKSxjPW0odm9pZCAwIT09bz8oMCxsLmNhbF90b191dGMpKGksby5hbGlnblRvTmVhcmVzdFNlc3Npb25TdGFydChyLDEpKToxLzAsdm9pZCAwIT09bz8oMCxsLmNhbF90b191dGMpKGksby5hbGlnblRvTmVhcmVzdFNlc3Npb25FbmQociwxKSk6MS8wLGUpO2xldCB1PU1hdGgubWluKG4sYSxjKTtpZih1PT09MS8wKXtjb25zdCBlPWQodGhpcy5fZGVsYXkpLHM9NmU0LG89bmV3IERhdGUoTWF0aC5yb3VuZChuZXcgRGF0ZSgxZTMqZSkuZ2V0VGltZSgpL3MpKnMpLmdldFRpbWUoKStzLHI9KDAsbC51dGNfdG9fY2FsKShpLG8pLG49bSgoMCxsLmNhbF90b191dGMpKGksdC5hbGlnblRvTmVhcmVzdFNlc3Npb25TdGFydChyLDEpKSwoMCxsLmNhbF90b191dGMpKGksdC5hbGlnblRvTmVhcmVzdFNlc3Npb25FbmQociwxKSksbyksaD1NYXRoLm1pbihuLGEsYyk7aCE9PTEvMD8odGhpcy5fbmV4dFNlc3Npb25FZGdlSW50ZXJuYWw9e3RpbWVzdGFtcDp1fSx1PWgpOnRoaXMuX25leHRTZXNzaW9uRWRnZUludGVybmFsPXt0aW1lc3RhbXA6bnVsbH19dGhpcy5fbmV4dFNlc3Npb25FZGdlSW50ZXJuYWw9dT09PWM/e3RpbWVzdGFtcDp1LHN0YXR1czoicG9zdF9tYXJrZXQifTp1PT09YT97dGltZXN0YW1wOnUsc3RhdHVzOiJwcmVfbWFya2V0In06e3RpbWVzdGFtcDp1fX1yZXR1cm4gdGhpcy5fbmV4dFNlc3Npb25FZGdlSW50ZXJuYWx9X3JlY2FsY3VsYXRlTmV4dFNlc3Npb25FZGdlKCl7Y29uc3QgZT10aGlzLl9nZXROZXh0U2Vzc2lvbkVkZ2VJbnRlcm5hbCgpO2lmKG51bGw9PT1lfHxudWxsPT09ZS50aW1lc3RhbXApcmV0dXJuIHZvaWQgdGhpcy5fbmV4dFNlc3Npb25FZGdlLnNldFZhbHVlKG51bGwpO2NvbnN0IHQ9e3N0YXR1czplLnN0YXR1cyxyZW1haW5pbmdTZWNvbmRzOk1hdGgubWF4KDAsZS50aW1lc3RhbXAtZCh0aGlzLl9kZWxheSkpfTtpZihudWxsPT09dGhpcy5fcmVjYWxjTmV4dFNlc3Npb25FZGdlVGltZXJJZCl7Y29uc3QgZT1OdW1iZXIuaXNGaW5pdGUodC5yZW1haW5pbmdTZWNvbmRzKT9NYXRoLmNlaWwodC5yZW1haW5pbmdTZWNvbmRzJTYwKToxO3RoaXMuX3JlY2FsY05leHRTZXNzaW9uRWRnZVRpbWVySWQ9c2V0VGltZW91dCgoKCk9PnRoaXMuX3JlY2FsY3VsYXRlTmV4dFNlc3Npb25FZGdlQnlUaW1lcigpKSwxZTMqZSl9dGhpcy5fbmV4dFNlc3Npb25FZGdlLnNldFZhbHVlKHQpfQpfcmVjYWxjdWxhdGVOZXh0U2Vzc2lvbkVkZ2VCeVRpbWVyKCl7dGhpcy5fcmVjYWxjTmV4dFNlc3Npb25FZGdlVGltZXJJZD1udWxsLHRoaXMuX3JlY2FsY3VsYXRlTmV4dFNlc3Npb25FZGdlKCl9fXZhciBnPXMoMjQxOTU2KTt2YXIgXz1zKDY5OTU1MCk7Y29uc3QgeT1uZXcgci5XYXRjaGVkVmFsdWUoITEpO2NsYXNzIGZ7Y29uc3RydWN0b3IoZSl7dGhpcy5fcXVvdGVzUHJvdmlkZXI9bmV3IF8uUXVvdGVzUHJvdmlkZXIoInNpbXBsZSIpLHRoaXMuX3N0b3BwZWQ9ITEsdGhpcy5fc3ltYm9sPWZ1bmN0aW9uKGUsdCl7Y29uc3Qgcz1uZXcgci5XYXRjaGVkVmFsdWUoZSgpKSxvPXt9O3JldHVybiB0LmZvckVhY2goKHQ9PnQuc3Vic2NyaWJlKG8sKCgpPT57cy5zZXRWYWx1ZShlKCkpfSkpKSkscy5yZWFkb25seSgpLnNwYXduKCgoKT0+dC5mb3JFYWNoKChlPT5lLnVuc3Vic2NyaWJlQWxsKG8pKSkpKX0oKCgpPT4oMCx1LmFjdHVhbFN5bWJvbCkoZS5tYWluUGxvdCgpLnN5bWJvbEluZm8oKSxlLm1haW5QbG90KCkuc3ltYm9sKCkpKSxbZS5tYWluUGxvdCgpLnN5bWJvbENoYW5nZWQoKSxlLm1haW5QbG90KCkuc3ltYm9sUmVzb2x2ZWQoKV0pLHRoaXMuX3N5bWJvbC5zdWJzY3JpYmUoKGU9Pnt0aGlzLl9zdG9wcGVkfHx0aGlzLl9xdW90ZXNQcm92aWRlci5zZXRRdW90ZXNTZXNzaW9uU3ltYm9sKGUpfSkse2NhbGxXaXRoTGFzdDohMH0pLHRoaXMuX2lzU3ltYm9sSW52YWxpZD0oMCxuLmNvbWJpbmUpKChlPT4xPT09ZSksZS5tYWluUGxvdCgpLnN0YXR1cygpLndlYWtSZWZlcmVuY2UoKSksdGhpcy5fc3ltYm9sSW5mbz0oMCxnLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbikoKCgpPT5lLm1haW5QbG90KCkuc3ltYm9sSW5mbygpKSxlLm1haW5QbG90KCkuc3ltYm9sUmVzb2x2ZWQoKSksdGhpcy5fbWFya2V0U3RhdHVzTW9kZWw9bmV3IHAodGhpcy5fcXVvdGVzUHJvdmlkZXIpLHRoaXMuX3N5bWJvbEluZm8uc3Vic2NyaWJlKChlPT50aGlzLl9tYXJrZXRTdGF0dXNNb2RlbC5zZXRTeW1ib2xJbmZvKGUpKSl9ZGVzdHJveSgpe3RoaXMuX3N5bWJvbC5kZXN0cm95KCksdGhpcy5faXNTeW1ib2xJbnZhbGlkLmRlc3Ryb3koKSx0aGlzLl9zeW1ib2xJbmZvLmRlc3Ryb3koKSx0aGlzLl9xdW90ZXNQcm92aWRlci5kZXN0cm95KCksdGhpcy5fbWFya2V0U3RhdHVzTW9kZWwuZGVzdHJveSgpfXBhdXNlKCl7dGhpcy5fc3RvcHBlZD0hMCx0aGlzLl9xdW90ZXNQcm92aWRlci5wYXVzZSgpfXJlc3VtZSgpe3RoaXMuX3N0b3BwZWQ9ITEsdGhpcy5fcXVvdGVzUHJvdmlkZXIucmVzdW1lKCl9c3ltYm9sKCl7cmV0dXJuIHRoaXMuX3N5bWJvbH1pc1N5bWJvbEludmFsaWQoKXtyZXR1cm4gdGhpcy5faXNTeW1ib2xJbnZhbGlkfWhpZGRlbigpe3JldHVybiB5LnJlYWRvbmx5KCl9bWFya2V0U3RhdHVzTW9kZWwoKXtyZXR1cm4gdGhpcy5fbWFya2V0U3RhdHVzTW9kZWx9ZXJyb3JTdGF0dXMoKXtyZXR1cm4gbmV3IHIuV2F0Y2hlZFZhbHVlKG51bGwpLnJlYWRvbmx5KCl9c3ltYm9sSW5mbygpe3JldHVybiB0aGlzLl9zeW1ib2xJbmZvfWRhdGFQcm9ibGVtTW9kZWwoKXtyZXR1cm4gbnVsbH1kYXRhVXBkYXRlZE1vZGVNb2RlbCgpe3JldHVybiBudWxsfWFzeW5jIHBpbmVTb3VyY2VDb2RlTW9kZWwoKXtyZXR1cm4gbnVsbH1hbGVydFNvdXJjZU1vZGVsKCl7cmV0dXJuIG51bGx9fX0sNTc3NzEzKGUsdCxzKXsidXNlIHN0cmljdCI7YXN5bmMgZnVuY3Rpb24gbygpe3JldHVybihhd2FpdCBQcm9taXNlLmFsbChbcy5lKDIwMzU0KSxzLmUoOTgwODQpLHMuZSg3NDYzNikscy5lKDMyMzg3KSxzLmUoMjg1MDcpXSkudGhlbihzLmJpbmQocyw2MDk2ODIpKSkuRXJyb3JDYXJkUmVuZGVyZXJ9cy5kKHQse2dldEVycm9yQ2FyZFJlbmRlcmVyOigpPT5vfSl9LDEzODYzOChlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSx0KXtpZighZSl0aHJvdyBuZXcgRXJyb3IoIkFzc2VydGlvbiBmYWlsZWQiKyh0P2A6ICR7dH1gOiIiKSl9ZnVuY3Rpb24gaShlLHQpe2lmKHZvaWQgMD09PWUpdGhyb3cgbmV3IEVycm9yKGAke3Q/PyJWYWx1ZSJ9IGlzIHVuZGVmaW5lZGApO3JldHVybiBlfWZ1bmN0aW9uIHIoZSx0KXtpZihudWxsPT09ZSl0aHJvdyBuZXcgRXJyb3IoYCR7dD8/IlZhbHVlIn0gaXMgbnVsbGApO3JldHVybiBlfWZ1bmN0aW9uIG4oZSx0KXtyZXR1cm4gcihpKGUsdCksdCl9ZnVuY3Rpb24gYShlKXt9cy5kKHQse2Fzc2VydDooKT0+byxlbnN1cmU6KCk9Pm4sZW5zdXJlRGVmaW5lZDooKT0+aSxlbnN1cmVOZXZlcjooKT0+YSxlbnN1cmVOb3ROdWxsOigpPT5yfSl9LDEzMTI5NChlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSl7Y29uc3QgdD1PYmplY3QuY3JlYXRlKGUpO3JldHVybiB0LnJlbGVhc2U9KCk9Pnt9LHQub3duZXJzaGlwPSgpPT50LHR9ZnVuY3Rpb24gaShlKXtjb25zdCB0PWU7cmV0dXJuIHQucmVsZWFzZT0oKT0+dC5kZXN0cm95KCksdC5vd25lcnNoaXA9KCk9PnQsdH1zLmQodCx7b3duZXJzaGlwOigpPT5pLHdlYWtSZWZlcmVuY2U6KCk9Pm99KX0sODU2NTYoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLnIodCkscy5kKHQse3VucGFja05vblNlcmllc0RhdGFDb21wcmVzc2VkOigpPT5hfSk7dmFyIG89cyg2MDE4NDEpLGk9cyg5OTU2NTUpLHI9cyg4NjY3NDgpLG49cyg4NDg2MDEpO2FzeW5jIGZ1bmN0aW9uIGEoZSl7Y29uc3QgdD0oMCxuLnBhcnNlTm9uU2VyaWVzRW52ZWxvcGUpKGUpO2lmKG51bGw9PT10KXJldHVybiBudWxsO2NvbnN0e25zRGF0YTpzLHBhcnNlZERhdGE6YX09dDtyZXR1cm4gcy5pbmRleGVzX3JlcGxhY2V8fCgoMCxvLmhhc1Byb3BlcnR5KShhLCJkYXRhQ29tcHJlc3NlZCIpJiYocy5kYXRhPWF3YWl0KDAsci51bnBhY2spKGEuZGF0YUNvbXByZXNzZWQpKSwoMCxvLmhhc1Byb3BlcnR5KShhLCJncmFwaGljc0NtZHNDb21wcmVzc2VkIikmJihzLmdyYXBoaWNzQ21kcz0oMCxpLnZhbGlkYXRlR3JhcGhpY3NDb21tYW5kcykoYXdhaXQoMCxyLnVucGFjaykoYS5ncmFwaGljc0NtZHNDb21wcmVzc2VkKSkpKSxzfX0sOTY1Nzk1KGUsdCxzKXsidXNlIHN0cmljdCIKO3MuZCh0LHttYWtlTmV4dFN0dWR5SWQ6KCk9Pml9KTtsZXQgbz0wO2Z1bmN0aW9uIGkoKXtyZXR1cm4gbysrLCJzdCIrb319LDE4MDE5OChlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtsZXQgbz1udWxsLGk9ITE7cmV0dXJuIFByb21pc2UuYWxsKFtzLmUoNjQ2NDQpLnRoZW4ocy50LmJpbmQocyw3Nzk0NzQsMTkpKSxQcm9taXNlLmFsbChbcy5lKDMyMzg3KSxzLmUoNzEzMDApXSkudGhlbihzLmJpbmQocyw1NzEzMDApKSxQcm9taXNlLmFsbChbcy5lKDM2MjIyKSxzLmUoNDc1NTEpLHMuZSg3MTYzKSxzLmUoMzIzODcpLHMuZSg0NTMyMildKS50aGVuKHMuYmluZChzLDczMjk0NikpXSkudGhlbigoKFtzLHIsbl0pPT57aXx8KG89ci5jcmVhdGVSZWFjdFJvb3Qocy5jcmVhdGVFbGVtZW50KG4uTGlnaHR3ZWlnaHRDaGFydFByaWNlVGltZVRvb2x0aXAsey4uLmV9KSx0KSl9KSksKCk9PntpPSEwLHQucmVtb3ZlKCksbz8udW5tb3VudCgpfX1zLmQodCx7Y3JlYXRlTGlnaHR3ZWlnaHRDaGFydFByaWNlVGltZVRvb2x0aXA6KCk9Pm99KX0sNzE5NzgxKGUsdCxzKXsidXNlIHN0cmljdCI7dmFyIG87cy5kKHQse0RlbGF5VHlwZTooKT0+b30pLGZ1bmN0aW9uKGUpe2VbZS5Bbm9uPTFdPSJBbm9uIixlW2UuRGVsYXk9Ml09IkRlbGF5IixlW2UuRnJlZURlbGF5PTNdPSJGcmVlRGVsYXkifShvfHwobz17fSkpfSw3MzUyNzkoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7REVGQVVMVF9USU1FX0ZSQU1FX0lURU1fVEhFTUU6KCk9PmMsVGltZUZyYW1lSXRlbTooKT0+dX0pO3ZhciBvPXMoNzc5NDc0KSxpPXMoOTE0NDg3KSxyPXMubihpKSxuPXMoNjU4NDYpLGE9cyg4NTQ4MjApLGw9cyg4MDMzNDkpO2NvbnN0IGM9bCx1PSgwLG4ubWFrZVN3aXRjaEdyb3VwSXRlbSkoY2xhc3MgZXh0ZW5kcyBvLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX29uQ2hhbmdlPSgpPT57dGhpcy5wcm9wcy5vbkNoYW5nZSYmdGhpcy5wcm9wcy5vbkNoYW5nZSh7dGFyZ2V0Ont2YWx1ZTp0aGlzLnByb3BzLnZhbHVlfHwiIn19KX19cmVuZGVyKCl7Y29uc3R7b3B0aW9uOmUsY2hlY2tlZDp0LHRoZW1lOnM9bCxzaXplOmkscmVmZXJlbmNlOm59PXRoaXMucHJvcHM7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChhLkxpZ2h0QnV0dG9uLHtyZWZlcmVuY2U6bixvbkNsaWNrOnRoaXMuX29uQ2hhbmdlLGlzU2VsZWN0ZWQ6dCx0YWJJbmRleDowLHRpdGxlOmUuZGVzY3JpcHRpb24sY2xhc3NOYW1lOnIoKSgiYXBwbHktY29tbW9uLXRvb2x0aXAiLHMub3B0aW9uLHQmJnMub3B0aW9uU2VsZWN0ZWQpLHNpemU6aSxjb2xvcjoiZ3JheSIsdmFyaWFudDoicXVpZXQtcHJpbWFyeSJ9LGUudGV4dCl9fSl9LDk4NjI3NShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtnZXRMb2dvVXJsc0hvb2s6KCk9PmwscmVtb3ZlVXNkRnJvbUNyeXB0b1BhaXJMb2dvczooKT0+YyxyZXNvbHZlTG9nb1VybHM6KCk9Pm4scmVzb2x2ZUxvZ29VcmxzRnJvbUxvZ29EYXRhOigpPT5hfSk7dmFyIG89cyg2MDE4NDEpLGk9cyg4NjIyMTMpO2NvbnN0IHI9KDAsaS5nZXRMb2dvVXJsUmVzb2x2ZXIpKCk7ZnVuY3Rpb24gbihlLHQ9aS5Mb2dvU2l6ZS5NZWRpdW0pe2NvbnN0IHM9ZS5sb2dvaWQsbz1lWyJiYXNlLWN1cnJlbmN5LWxvZ29pZCJdLG49ZVsiY3VycmVuY3ktbG9nb2lkIl0sYT1zJiZyLmdldFN5bWJvbExvZ29Vcmwocyx0KTtpZihhKXJldHVyblthXTtjb25zdCBsPW8mJnIuZ2V0U3ltYm9sTG9nb1VybChvLHQpLGM9biYmci5nZXRTeW1ib2xMb2dvVXJsKG4sdCk7cmV0dXJuIGwmJmM/W2wsY106bD9bbF06Yz9bY106W119ZnVuY3Rpb24gYShlLHQ9aS5Mb2dvU2l6ZS5NZWRpdW0pe3JldHVybigicGFpciI9PT1lLnN0eWxlP1tlLmxvZ29pZCxlLmxvZ29pZDJdOltlLmxvZ29pZF0pLm1hcCgoZT0+ci5nZXRTeW1ib2xMb2dvVXJsKGUsdCkpKS5maWx0ZXIoby5ub3ROdWxsKX1mdW5jdGlvbiBsKGUsdCl7bGV0IHM9ITE7cmV0dXJuKG8saSxyKT0+e2lmKCFzJiYoby5sb2dvfHxyKSl7cz0hMDtjb25zdCBpPW8ubG9nbz9hKG8ubG9nbyx0KTpbXTtlKGkpfX19ZnVuY3Rpb24gYyhlKXtyZXR1cm4gMiE9PWUubGVuZ3RoP2U6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuc29tZSgoZT0+dShlKSkpfShlKSYmIWZ1bmN0aW9uKGUpe3JldHVybiBlLnNvbWUoKGU9PmUuaW5jbHVkZXMoImNvdW50cnkiKSYmIXUoZSkpKX0oZSk/ZS5maWx0ZXIoKGU9PiF1KGUpKSk6ZX1mdW5jdGlvbiB1KGUpe3JldHVybiBlLmluY2x1ZGVzKCJjb3VudHJ5L1VTIil9fSwyMjc2NTkoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Y3JlYXRlTWVkaXVtV2lkZ2V0OigpPT5FZX0pO3MoNzIyNTcxKSxzKDc5NTM4Mykscyg1MjI1NzgpO3ZhciBvPXMoNjc4MzEyKSxpPXMoMTM0NjcpLHI9cyg1MDU1Niksbj1zKDk2MzA5OCksYT1zKDg3MzU3MyksbD1zKDYwMTU4Nyk7Y29uc3QgYz0oMCxzKDY5MzUwMCkuZ2V0VGltZUZyYW1lcykoKTt2YXIgdT1zKDgwMjU4NiksaD1zKDY2NTE0NSksZD1zKDE4OTg2MyksbT1zKDkwMjEwMCkscD1zKDc0MDE2MiksZz1zKDEzODYzOCksXz1zKDM4NzIzMSkseT1zKDQ0MzU1NyksZj1zKDIyMTA2MSksYj1zKDQyOTU0OSk7Y29uc3QgUz0oMCxmLmdldExvZ2dlcikoIkNoYXJ0Lk1pbmlXaWRnZXRSZW5kZXJlciIpO2Z1bmN0aW9uIHYoZSx0KXtjb25zdCBzPWUuc3BsaXQoInwiKSxvPXNbMF0saT1zWzFdfHx2b2lkIDAscj1zWzJdfHx2b2lkIDA7cmV0dXJuW28sdD90KGkpOmkscl19Y2xhc3MgQ3tjb25zdHJ1Y3RvcihlLHQpe2lmKHRoaXMuX3N5bWJvbERlc2NyaXB0aW9uPSIiLHRoaXMuX3N5bWJvbFNob3J0TmFtZT0iIix0aGlzLl9zeW1ib2xOYW1lPSIiLGZ1bmN0aW9uKGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpJiYyPT09ZS5sZW5ndGgmJmUuZXZlcnkoKGU9PiJzdHJpbmciPT10eXBlb2YgZSkpfShlKSl7Y29uc3RbcyxvXT1lO3RoaXMuX3N5bWJvbERlc2NyaXB0aW9uPXMsClt0aGlzLl9zeW1ib2xOYW1lLHRoaXMuX3N5bWJvbFRpbWVmcmFtZSx0aGlzLl9zeW1ib2xDdXJyZW5jeV09dihvLHQpfWVsc2V7aWYoInN0cmluZyIhPXR5cGVvZiBlKXJldHVybiB2b2lkIFMubG9nRXJyb3IoIlN5bWJvbCBzaG91bGQgYmUgYXJyYXkgWydkZXNjcmlwdGlvbicsICdzeW1ib2xfbmFtZScsICdzeW1ib2xfY3VycmVuY3knXSBvciBzdHJpbmcgJ3N5bWJvbF9uYW1lJyIpO1t0aGlzLl9zeW1ib2xOYW1lLHRoaXMuX3N5bWJvbFRpbWVmcmFtZSx0aGlzLl9zeW1ib2xDdXJyZW5jeV09dihlLHQpfX1kZXNjcmlwdGlvbihlKXtyZXR1cm4gZSYmKHRoaXMuX3N5bWJvbERlc2NyaXB0aW9uPWUpLHRoaXMuX3N5bWJvbERlc2NyaXB0aW9ufXNob3J0TmFtZShlKXtyZXR1cm4gZT90aGlzLl9zeW1ib2xTaG9ydE5hbWU9ZTp0aGlzLl9zeW1ib2xTaG9ydE5hbWV8fCh0aGlzLl9zeW1ib2xTaG9ydE5hbWU9dGhpcy5fc3ltYm9sTmFtZS5yZXBsYWNlKC9eKC4rOikvLCIiKSksdGhpcy5fc3ltYm9sU2hvcnROYW1lfW5hbWUoKXtyZXR1cm4gdGhpcy5fc3ltYm9sTmFtZX10aW1lZnJhbWUoKXtyZXR1cm4gdGhpcy5fc3ltYm9sVGltZWZyYW1lJiYoMCxiLmdldEFjdHVhbFRpbWVGcmFtZSkodGhpcy5fc3ltYm9sVGltZWZyYW1lKX1jdXJyZW5jeSgpe3JldHVybiB0aGlzLl9zeW1ib2xDdXJyZW5jeX1lcXVhbFRvKGUpe3JldHVybiBlIGluc3RhbmNlb2YgQz90aGlzLm5hbWUoKT09PWUubmFtZSgpJiZ0aGlzLmRlc2NyaXB0aW9uKCk9PT1lLmRlc2NyaXB0aW9uKCkmJnRoaXMudGltZWZyYW1lKCk9PT1lLnRpbWVmcmFtZSgpOihTLmxvZ1dhcm4oIlN5bWJvbCAiK2UrIiBzaG91bGQgYmUgaW5zdGFuY2Ugb2YgV2lkZ2V0UmVuZGVyZXJTeW1ib2wiKSwhMSl9fXZhciB3PXMoNjUzODE3KSxUPXMoNzQyNTc3KSx4PXMoMTUzNjI2KTt2YXIgaz1zKDk0ODM4MCksTj1zKDY3MTk0OSksTD1zKDYwMTg0MSksRT1zKDIzMjM2NCksTT1zKDc3MzA4OCksUD1zKDE4NTI3MSksRD1zKDg4NDc5OCksUj1zKDE1MjE4Mik7ZnVuY3Rpb24gSShlKXtjb25zdHtsb2dvVXJsczp0LC4uLnN9PWU7cmV0dXJuIDE9PT10Lmxlbmd0aD8oMCxELmdldENpcmNsZUxvZ29IdG1sKSh7bG9nb1VybDp0WzBdLC4uLnN9KToyPT09dC5sZW5ndGg/KDAsUi5nZXRDaXJjbGVMb2dvUGFpckh0bWwpKHtwcmltYXJ5TG9nb1VybDp0WzBdLHNlY29uZGFyeUxvZ29Vcmw6dFsxXSwuLi5zfSk6KDAsRC5nZXRDaXJjbGVMb2dvSHRtbCkoe2xvZ29Vcmw6dm9pZCAwLC4uLnN9KX12YXIgQT1zKDk4NjI3NSksTz1zKDIyNjkzNyksRj1zKDkxMTMyNyksQj1zKDMwNzQyMSksVj1zKDM0NDEwMyksVT1zKDM4NDAxNyksVz1zKDQ3OTM0KSxxPShzKDgyOTE4MCkscyg0OTg2NTEpKTtmdW5jdGlvbiBIKGUpe2lmKCEoMCxxLmlzSURDRXhjaGFuZ2UpKGUpKXJldHVybiExO2U9eihlKTtjb25zdCB0PXdpbmRvdy5wcm8scz10LmdldFByb2R1Y3QoZSk7cmV0dXJuIHZvaWQgMCE9PXMuaWRjX3NlcnZpY2VfY29kZXNfZGVsYXkmJigoIUFycmF5LmlzQXJyYXkocy5pbmNsdWRlZF9leGNoYW5nZXMpfHwhcy5pbmNsdWRlZF9leGNoYW5nZXMuc29tZSgoZT0+dC5oYXNQYWNrYWdlKHooZSkpKSkpJiYhZnVuY3Rpb24oZSl7Y29uc3QgdD13aW5kb3cucHJvO3JldHVybiB0Lmhhc1BhY2thZ2UoZSl8fHQuaGFzUGFja2FnZShlKyJfZGx5Iil9KGUpKX1mdW5jdGlvbiB6KGUpe3JldHVybiBlLnN0YXJ0c1dpdGgoImV4Y2hhbmdlLSIpP2U6ImV4Y2hhbmdlLXswfSIuZm9ybWF0KGUudG9Mb3dlckNhc2UoKSl9Y29uc3Qgaj17T0s6Ik9LIixFUlI6IkVSUiIsU1lNQk9MX05PVF9BVkFJTEFCTEVfRk9SX0FOT046IlNZTUJPTF9OT1RfQVZBSUxBQkxFX0ZPUl9BTk9OIixERUxBWV9OT1RfQVZBSUxBQkxFOiJERUxBWV9OT1RfQVZBSUxBQkxFIixORUVEX1NJR05fQUdSRUVNRU5UOiJORUVEX1NJR05fQUdSRUVNRU5UIixORUVEX0FERF9TRVJWSUNFOiJORUVEX0FERF9TRVJWSUNFIn07ZnVuY3Rpb24gUShlLHQ9ITApe3JldHVybiBuZXcgUHJvbWlzZSgoKHMsbyk9Pntjb25zdCBpPSgwLFYuZ2V0RXhjaGFuZ2UpKGUpO2k/ZnVuY3Rpb24oZSl7Y29uc3QgdD13aW5kb3cucHJvO3JldHVybiBuZXcgUHJvbWlzZSgocz0+e3dpbmRvdy5pc19hdXRoZW50aWNhdGVkPyF0LmdldElEQ0V4Y2hhbmdlcyghMCkubGVuZ3RofHx0LmlzSW52YWxpZFNob3BDb25mKCk/dC51cGRhdGVTaG9wQ29uZigpLnRoZW4oKCgpPT57cyghSChlKSl9KSkuY2F0Y2goKCgpPT57cyghMCl9KSk6cyghSChlKSk6cyghMCl9KSl9KGkpLnRoZW4oKHI9PnI/cyhlKTooMCxXLmVuYWJsZWQpKCJJRENfQVZBSUxBQkxFX0RFTEFZIik/dD92b2lkKDAsVS5mZXRjaCkoYC9pZGMtc2lnbi1hZ3JlZW1lbnQtY2hlY2svJHtpfS9gLHtjcmVkZW50aWFsczoiaW5jbHVkZSJ9KS50aGVuKCh0PT50Lmpzb24oKS50aGVuKCh0PT50LnJlcz09PWouREVMQVlfTk9UX0FWQUlMQUJMRT9vKHtleGNoYW5nZTppLGVyckNvZGU6dC5yZXMscmVhc29uOiJkZWxheSBub3QgYXZhaWxhYmxlIixzeW1ib2w6ZX0pOnQucmVzPT09ai5ORUVEX1NJR05fQUdSRUVNRU5UP28oe2V4Y2hhbmdlOmksZXJyQ29kZTp0LnJlcyxyZWFzb246Im5lZWQgc2lnbiBhZ3JlZW1lbnQiLHN5bWJvbDplfSk6dC5yZXM9PT1qLk5FRURfQUREX1NFUlZJQ0U/byh7ZXhjaGFuZ2U6aSxlcnJDb2RlOnQucmVzLHJlYXNvbjoibmVlZCBhZGQgc2VydmljZSIsc3ltYm9sOmV9KTpzKGUpKSkpKS5jYXRjaCgoKCk9PntzKGUpfSkpOnMoZSk6byh7ZXhjaGFuZ2U6aSxlcnJDb2RlOmouREVMQVlfTk9UX0FWQUlMQUJMRSxyZWFzb246ImRlbGF5IG5vdCBhdmFpbGFibGUiLHN5bWJvbDplfSkpKTpzKGUpfSkpfXZhciBLPXMoNjIwMzU0KSwkPXMoNzA5MzcwKTtmdW5jdGlvbiBHKGUsdCxzPTEsbyl7Y29uc3QgaT1NYXRoLnJvdW5kKHQqZSkscj1vP3M6TWF0aC5yb3VuZChzKnQpLG49ZnVuY3Rpb24oZSl7cmV0dXJuIE1hdGguZmxvb3IoLjUqZSl9KHIpO3JldHVybntwb3NpdGlvbjppLW4sbGVuZ3RoOnJ9fWNsYXNzIFp7Y29uc3RydWN0b3IoKXt0aGlzLl9wcmljZT1udWxsLAp0aGlzLl94PW51bGwsdGhpcy5fb3B0aW9ucz17Zm9udFNpemU6MTAsZm9udEZhbWlseToic2Fucy1zZXJpZiIsY29sb3I6IiMwMDAwMDAifSx0aGlzLl90aXRsZT0iIn11cGRhdGUoZSx0LHMsbz0iIil7dGhpcy5fcHJpY2U9ZSx0aGlzLl9vcHRpb25zPXQsdGhpcy5feD1zLHRoaXMuX3RpdGxlPW99ZHJhdyhlKXtlLnVzZUJpdG1hcENvb3JkaW5hdGVTcGFjZSgoZT0+e2lmKG51bGw9PT10aGlzLl9wcmljZXx8bnVsbD09PXRoaXMuX3gpcmV0dXJuO2NvbnN0IHQ9TWF0aC5yb3VuZCh0aGlzLl94KmUuaG9yaXpvbnRhbFBpeGVsUmF0aW8pLHM9Ryh0aGlzLl9wcmljZSxlLnZlcnRpY2FsUGl4ZWxSYXRpbyxlLnZlcnRpY2FsUGl4ZWxSYXRpbyksbz1zLnBvc2l0aW9uK3MubGVuZ3RoLzIsaT10aGlzLl90aXRsZT81KmUuaG9yaXpvbnRhbFBpeGVsUmF0aW86ZS5ob3Jpem9udGFsUGl4ZWxSYXRpbyxyPWUuY29udGV4dDt0aGlzLl9kcmF3TGluZShyLHQsbyxlLGkpLHRoaXMuX3RpdGxlJiZ0aGlzLl9kcmF3VGl0bGUocixlLHMucG9zaXRpb24pfSkpfV9kcmF3TGluZShlLHQscyxvLGkpe2UuYmVnaW5QYXRoKCksZS5zZXRMaW5lRGFzaChbMipvLnZlcnRpY2FsUGl4ZWxSYXRpbywyKm8udmVydGljYWxQaXhlbFJhdGlvXSksZS5tb3ZlVG8odCxzKSxlLmxpbmVUbyhvLmJpdG1hcFNpemUud2lkdGgtaSxzKSxlLnN0cm9rZVN0eWxlPXRoaXMuX29wdGlvbnMuY29sb3IsZS5saW5lV2lkdGg9by52ZXJ0aWNhbFBpeGVsUmF0aW8vMixlLnN0cm9rZSgpfV9kcmF3VGl0bGUoZSx0LHMpe2NvbnN0IG89dGhpcy5fb3B0aW9ucy5mb250U2l6ZSp0Lmhvcml6b250YWxQaXhlbFJhdGlvO2UuZm9udD1gJHtvfXB4ICR7dGhpcy5fb3B0aW9ucy5mb250RmFtaWx5fWA7Y29uc3Qgcj1lLm1lYXN1cmVUZXh0KHRoaXMuX3RpdGxlKS53aWR0aCxuPTIuNSp0LnZlcnRpY2FsUGl4ZWxSYXRpbyxhPW8vMTIqMi41KnQuaG9yaXpvbnRhbFBpeGVsUmF0aW8sbD1yKzIqYSxjPW8rMipuLHU9Mip0Lmhvcml6b250YWxQaXhlbFJhdGlvLGg9dC5iaXRtYXBTaXplLndpZHRoLWwtNSp0Lmhvcml6b250YWxQaXhlbFJhdGlvLGQ9KHMtYy8yKSUyPT0wP3MtYy8yOnMtYy8yKzEsbT0oMCxpLnBhcnNlUmdiKSh0aGlzLl9vcHRpb25zLmNvbG9yKSxwPSgwLGkucmdiVG9TdHJpbmcpKG0pLGc9LjE5OSooXz1tKVswXSsuNjg3Kl9bMV0rLjExNCpfWzJdPjE2MD8iYmxhY2siOiJ3aGl0ZSI7dmFyIF87ZS5maWxsU3R5bGU9cCxlLnRleHRBbGlnbj0iY2VudGVyIixlLnRleHRCYXNlbGluZT0ibWlkZGxlIixlLmJlZ2luUGF0aCgpLGUucm91bmRSZWN0KGgsZCxsLGMsdSksZS5jbG9zZVBhdGgoKSxlLmZpbGwoKSxlLmZpbGxTdHlsZT1nO2NvbnN0IHk9ZCtjLzIsZj1oK3IvMithO2UuZmlsbFRleHQodGhpcy5fdGl0bGUsZix5JTI9PTA/eTp5KzEpfX1jbGFzcyBZe2NvbnN0cnVjdG9yKCl7dGhpcy5fcmVuZGVyZXI9bmV3IFp9cmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5fcmVuZGVyZXJ9dXBkYXRlKGUsdCxzLG89IiIpe3RoaXMuX3JlbmRlcmVyLnVwZGF0ZShlLHQscyxvKX19Y2xhc3MgSntjb25zdHJ1Y3RvcihlPSExLHQpe3RoaXMuX2NoYXJ0PW51bGwsdGhpcy5fc2VyaWVzPW51bGwsdGhpcy5fc2hvd0xhYmVsPSExLHRoaXMuX3RpdGxlPSIiLHRoaXMuX21hcmtldFN0YXR1cz10LHRoaXMuX3Nob3dMYWJlbD1lLHRoaXMuX3BhbmVWaWV3cz1bbmV3IFldfWF0dGFjaGVkKHtjaGFydDplLHNlcmllczp0fSl7dGhpcy5fY2hhcnQ9ZSx0aGlzLl9zZXJpZXM9dCx0aGlzLl90aXRsZT10aGlzLl9zaG93TGFiZWw/dGhpcy5fc2VyaWVzLm9wdGlvbnMoKS50aXRsZToiIix0aGlzLl9zZXJpZXMuYXBwbHlPcHRpb25zKHtwcmljZUxpbmVWaXNpYmxlOiExLHRpdGxlOnRoaXMuX3Nob3dMYWJlbD8iIjp0aGlzLl9zZXJpZXMub3B0aW9ucygpLnRpdGxlfSl9ZGV0YWNoZWQoKXt0aGlzLl9jaGFydD1udWxsLHRoaXMuX3Nlcmllcz1udWxsfXVwZGF0ZUFsbFZpZXdzKCl7aWYoIXRoaXMuX3Nlcmllc3x8IXRoaXMuX2NoYXJ0KXJldHVybjtjb25zdCBlPXRoaXMuX3Nlcmllcy5vcHRpb25zKCk7bGV0IHQ9ZS5wcmljZUxpbmVDb2xvcnx8ZS5jb2xvcnx8ZS5saW5lQ29sb3J8fCIjMDAwMDAwIjshdGhpcy5fbWFya2V0U3RhdHVzfHwicHJlX21hcmtldCIhPT10aGlzLl9tYXJrZXRTdGF0dXMmJiJwb3N0X21hcmtldCIhPT10aGlzLl9tYXJrZXRTdGF0dXN8fCh0PWUucG9zdG1hcmtldExpbmVDb2xvcnx8ZS5wcmVtYXJrZXRMaW5lQ29sb3J8fHQpO2NvbnN0IHM9dGhpcy5fc2VyaWVzLmRhdGFCeUluZGV4KDFlNSxvLk1pc21hdGNoRGlyZWN0aW9uLk5lYXJlc3RMZWZ0KTtsZXQgaT1udWxsLHI9bnVsbDtjb25zdCBuPXRoaXMuX3RpdGxlO3MmJihzLmNvbG9yJiYhdGhpcy5fbWFya2V0U3RhdHVzJiYodD1zLmNvbG9yKSxpPWZ1bmN0aW9uKGUpe2lmKHZvaWQgMCE9PWUudmFsdWUpcmV0dXJuIGUudmFsdWU7aWYodm9pZCAwIT09ZS5jbG9zZSlyZXR1cm4gZS5jbG9zZTtyZXR1cm4gbnVsbH0ocykscj10aGlzLl9jaGFydC50aW1lU2NhbGUoKS50aW1lVG9Db29yZGluYXRlKHMudGltZSkpO2NvbnN0IGE9bnVsbCE9PWk/dGhpcy5fc2VyaWVzLnByaWNlVG9Db29yZGluYXRlKGkpOm51bGwsbD17Zm9udFNpemU6dGhpcy5fY2hhcnQub3B0aW9ucygpLmxheW91dC5mb250U2l6ZT8/MTAsZm9udEZhbWlseTp0aGlzLl9jaGFydC5vcHRpb25zKCkubGF5b3V0LmZvbnRGYW1pbHk/PyJzYW5zLXNlcmlmIixjb2xvcjp0fTt0aGlzLl9wYW5lVmlld3MuZm9yRWFjaCgoZT0+ZS51cGRhdGUoYSxsLHIsbikpKX1wYW5lVmlld3MoKXtyZXR1cm4gdGhpcy5fcGFuZVZpZXdzfX12YXIgWD1zKDQ4ODA1KTthc3luYyBmdW5jdGlvbiBlZShlLHQpe3JldHVybihhd2FpdCBQcm9taXNlLmFsbChbcy5lKDQ1ODgzKSxzLmUoNjAyOCkscy5lKDYxNDQxKV0pLnRoZW4ocy5iaW5kKHMsMjkzMzEyKSkpLmNyZWF0ZShlLHQpfQp2YXIgdGU9cyg3MTk3ODEpLHNlPXMoNTc3NzEzKSxvZT1zKDc1NTYyNyksaWU9cygxMjUyMTgpLHJlPXMoMTExOTUzKSxuZT1zKDQwNzc5OSksYWU9cyg4ODc2MDgpLGxlPXMoMTgwMTk4KSxjZT1zKDQ3MDY3OSk7Y29uc3QgdWU9bmV3IGllLlBlcmNlbnRhZ2VGb3JtYXR0ZXIsaGU9UC50KG51bGwsdm9pZCAwLHMoMTE0MzM4KSk7ZnVuY3Rpb24gZGUoZSx0LHMpe2NvbnN0IG89Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LmNvbXswfT91dG1fc291cmNlPXd3dy50cmFkaW5ndmlldy5jb20mdXRtX21lZGl1bT13aWRnZXQmdXRtX2NhbXBhaWduPWNoYXJ0JnV0bV90ZXJtPXsyfTp7MX0iLmZvcm1hdCgoMCxGLmdldFN5bWJvbFBhZ2VQYXRoKSh7cHJvTmFtZTplfSksdCxzKTtyZXR1cm4gaGUuZm9ybWF0KHtsaW5rU3RhcnQ6YDxhIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0iJHtjZS5nb1RvVHZMaW5rfSIgaHJlZj0iJHtvfSI+YCxsaW5rRW5kOiI8L2E+In0pfWZ1bmN0aW9uIG1lKGUpe3N3aXRjaChlLnR5cGUpe2Nhc2UgMjpyZXR1cm57bWVzc2FnZTpQLnQobnVsbCx2b2lkIDAscyg1MTk3KSl9O2Nhc2UgMDpyZXR1cm57bWVzc2FnZTpQLnQobnVsbCx2b2lkIDAscyg3MzI3NzYpKX07Y2FzZSAxOmNvbnN0IHQ9KDAscmUudW53cmFwU2ltcGxlU3ltYm9sKSgoMCxyZS5kZWNvZGVFeHRlbmRlZFN5bWJvbCkoZS5zeW1ib2wpKSxbbyxpXT10LnNwbGl0KCI6Iik7cmV0dXJue21lc3NhZ2U6ZGUodCxvLGkpfX19Y2xhc3MgcGV7Y29uc3RydWN0b3IoZSx0LG8pe3RoaXMubWluaUNoYXJ0PW51bGwsdGhpcy52aXNpYmxlPW5ldyBFLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fZGF0YU1vZGU9bnVsbCx0aGlzLl9tZWRpdW1XaWRnZXRNYXJrZXRTdGF0dXM9bnVsbCx0aGlzLl9mb3JtYXR0ZXJDYWNoZT1udWxsLHRoaXMuX3ZhbHVlc0luTGVnZW5kUmVuZGVyZXI9bnVsbCx0aGlzLl9xdW90ZVRpY2tlclJlbmRlcmVyPW51bGwsdGhpcy5fbGFzdERlbHRhRnJvbVF1b3RlPW51bGwsdGhpcy5fbWFya2V0U3RhdHVzU291cmNlQWRhcHRlcj1udWxsLHRoaXMuX2NyZWF0ZVF1b3RlVGlja2VyUHJvbWlzZT1udWxsLHRoaXMuX2NoYXJ0UGFyZW50RWw9bnVsbCx0aGlzLl9pc0NoYXJ0VmlzaWJsZT0hMCx0aGlzLl9lcnJvckNhcmRSZW5kZXJlcj1udWxsLHRoaXMuX3ZhbHVlc0luTGVnZW5kQ3Jvc3NoYWlyTW92ZUhhbmRsZXI9YXN5bmMgZT0+e2NvbnN0IHQ9KDAsWC5nZXRDcm9zc2hhaXJNb3ZlRGF0YSkoKDAsZy5lbnN1cmVOb3ROdWxsKSh0aGlzLm1pbmlDaGFydCksZSk7dGhpcy5fcXVvdGVUaWNrZXJSZW5kZXJlcj8uY2FsbEZ1bmN0aW9uKChlPT57dD9lLmhpZGUoKTplLnNob3coKX0pKSx0aGlzLl92YWx1ZXNJbkxlZ2VuZFJlbmRlcmVyPy5jYWxsRnVuY3Rpb24oKGU9Pnt0PyhlLnNob3coKSxlLnVwZGF0ZSh0KSk6ZS5oaWRlKCl9KSl9LHRoaXMud2lkZ2V0PWUsdGhpcy5zeW1ib2w9dCx0aGlzLl9vcHRpb25zPW87Y29uc3QgaT1vLmNoYXJ0T25seSYmby5oaWRlRGF0YVJhbmdlczt0aGlzLmVsPWZ1bmN0aW9uKGUpewpjb25zdHtoaWRlTWFya2V0U3RhdHVzOnQsY2hhcnRPbmx5Om8saGlkZURhdGFSYW5nZXM6aSxjaGFuZ2VNb2RlOnIsaGlkZVdpZGdldEhlYWRlckNvbnRhaW5lcjpuLGhlYWRlckZvbnRTaXplOmF9PWUsbD0icHJpY2UtYW5kLXBlcmNlbnQiIT09ciYmInByaWNlLW9ubHkiIT09cixjPSJwcmljZS1hbmQtcGVyY2VudCIhPT1yJiYicGVyY2VudC1vbmx5IiE9PXIsdT0ibm8tdmFsdWVzIj09PXIsaD1gXG5cdFx0PGRpdiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X19oZWFkIHR2LXdpZGdldC1jaGFydF9faGVhZC0tJHthfSBqcy1oZWFkIj5cblx0XHRcdDxkaXYgY2xhc3M9InR2LXdpZGdldC1jaGFydF9fbG9nbyBqcy1oZWFkZXItaWNvbiI+PC9kaXY+XG5cdFx0XHQ8ZGl2IGNsYXNzPSJ0di13aWRnZXQtY2hhcnRfX2hlYWQtY29udGFpbmVyIj5cblx0XHRcdFx0PGRpdiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X19uYW1lIj5cblx0XHRcdFx0XHQ8aDIgY2xhc3M9InR2LXdpZGdldC1jaGFydF9fdGl0bGUgc3ltYm9sLWRlc2NyaXB0aW9uLW5hbWUiPlxuXHRcdFx0XHRcdFx0Jm5ic3A7XG5cdFx0XHRcdFx0PC9oMj5cblx0XHRcdFx0XHQke3Q/IiI6J1xuXHRcdDxkaXYgY2xhc3M9InR2LXdpZGdldC1jaGFydF9faW5kaWNhdG9ycyI+XG5cdFx0XHQ8c3BhbiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X19zdGF0dXMganMtbWFya2V0LXN0YXR1cyI+PC9zcGFuPlxuXHRcdDwvZGl2PlxuXHQnfVxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PGRpdiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X19pbmZvIj5cblx0XHRcdFx0XHQ8ZGl2IGlkPSJxdW90ZXMtY29udGFpbmVyIiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X19wcmljZSI+XG5cdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPSJ0di13aWRnZXQtY2hhcnRfX3ByaWNlLWNvbnRhaW5lciI+XG5cdFx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPSJ0di13aWRnZXQtY2hhcnRfX3ByaWNlLXZhbHVlIHN5bWJvbC1sYXN0IiB0aXRsZT0iICR7UC50KG51bGwsdm9pZCAwLHMoNDMxMTU3KSl9ICI+PC9zcGFuPlxuXHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPSJ0di13aWRnZXQtY2hhcnRfX2NvbnRhaW5lci1zeW1ib2wiPlxuXHRcdFx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPSJ0di1kYXRhLW1vZGUtLXN5bWJvbC13aWRnZXQgdHYtd2lkZ2V0LWNoYXJ0X19jb250YWluZXItc3ltYm9sLXNlbGVjdG9yIGpzLWRhdGEtbW9kZSI+PC9zcGFuPlxuXHRcdFx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPSJ0di1kYXRhLW1vZGUtLXN5bWJvbC13aWRnZXQgdHYtd2lkZ2V0LWNoYXJ0X19jb250YWluZXItc3ltYm9sLWN1cnJlbmN5IGpzLXN5bWJvbC1jdXJyZW5jeSI+PC9zcGFuPlxuXHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0PHNwYW4gaWQ9InN5bWJvbC1kZWx0YSIgY2xhc3M9InR2LXdpZGdldC1jaGFydF9fcHJpY2UtZGVsdGEiPlxuXHRcdFx0XHRcdFx0XHQke2w/IiI6YDxzcGFuIGlkPSJkZWx0YSIgY2xhc3M9InN5bWJvbC1jaGFuZ2UgdHYtd2lkZ2V0LWNoYXJ0X19wcmljZS1kZWx0YS12YWx1ZSIgdGl0bGU9IiAke1AudChudWxsLHZvaWQgMCxzKDY3MzQ4NykpfSAiPiZuYnNwOzwvc3Bhbj5gfVxuXHRcdFx0XHRcdFx0XHQke2M/IiI6YDxzcGFuIGlkPSJkZWx0YS1wdCIgY2xhc3M9InN5bWJvbC1jaGFuZ2UtcHQgdHYtd2lkZ2V0LWNoYXJ0X19wcmljZS1kZWx0YS12YWx1ZSIgdGl0bGU9IiAke1AudChudWxsLHZvaWQgMCxzKDY3MzQ4NykpfSAsICUiPiZuYnNwOzwvc3Bhbj5gfVxuXHRcdFx0XHRcdFx0XHQke3U/IiI6JzxzcGFuIGlkPSJkZWx0YS1yYW5nZSIgY2xhc3M9InR2LXdpZGdldC1jaGFydF9fcHJpY2UtZGVsdGEtZGF5Ij4mbmJzcDs8L3NwYW4+J31cblx0XHRcdFx0XHRcdDwvc3Bhbj5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHQ8ZGl2IGlkPSJ2YWx1ZXMtaW4tbGVnZW5kLWNvbnRhaW5lciIgY2xhc3M9InR2LXdpZGdldC1jaGFydF9fbGVnZW5kIj48L2Rpdj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0YCxkPWBcblx0XHQ8ZGl2IGNsYXNzPSJ0di13aWRnZXQtY2hhcnRfX2NvbnRhaW5lci13cmFwcHBlciI+XG5cdFx0XHQke28/IiI6aH1cblx0XHRcdCR7aT8iIjonPGRpdiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X190aW1lZnJhbWVzIGpzLXdpZGdldC1jaGFydC10aW1lZnJhbWVzIj48L2Rpdj4nfVxuXHRcdDwvZGl2PlxuXHRgLG09KDAseS5wYXJzZUh0bWwpKGBcblx0XHQ8ZGl2IGNsYXNzPSJ0di13aWRnZXQtY2hhcnRfX3BhZ2UiPlxuXHRcdFx0PGRpdiBjbGFzcz0ianMtd2lkZ2V0LWNoYXJ0LWluZm8iPlxuXHRcdFx0XHQke24/IiI6ZH1cblx0XHRcdDwvZGl2PlxuXHRcdFx0PGRpdiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X19jaGFydC13cmFwIGpzLXdpZGdldC1jaGFydC13cmFwIj48L2Rpdj5cblx0XHQ8L2Rpdj5cblx0YCk7cmV0dXJuKDAsZy5lbnN1cmVOb3ROdWxsKShtLmZpcnN0RWxlbWVudENoaWxkKX0oey4uLm8sc2hvcnROYW1lOnQuc2hvcnROYW1lKCksaGlkZVdpZGdldEhlYWRlckNvbnRhaW5lcjppfSksdGhpcy5pbmZvPSgwLGcuZW5zdXJlTm90TnVsbCkodGhpcy5lbC5xdWVyeVNlbGVjdG9yKCIuanMtd2lkZ2V0LWNoYXJ0LWluZm8iKSksdGhpcy5tYXJrZXRTdGF0dXM9dGhpcy5lbC5xdWVyeVNlbGVjdG9yKCIuanMtbWFya2V0LXN0YXR1cyIpLHRoaXMuX2NoYXJ0V3JhcHBlckVsPSgwLGcuZW5zdXJlTm90TnVsbCkodGhpcy5lbC5xdWVyeVNlbGVjdG9yKCIuanMtd2lkZ2V0LWNoYXJ0LXdyYXAiKSksbmV3IFJlc2l6ZU9ic2VydmVyKHRoaXMub25SZXNpemUuYmluZCh0aGlzKSkub2JzZXJ2ZSh0aGlzLl9jaGFydFdyYXBwZXJFbCksdGhpcy5fY3JlYXRlRGF0YU1vZGUoKTtjb25zdCByPXRoaXMuZWwucXVlcnlTZWxlY3RvcigiLmpzLXdpZGdldC1jaGFydC10aW1lZnJhbWVzIik/P3ZvaWQgMCxuPXRoaXMuc3ltYm9sLnRpbWVmcmFtZSgpO3RoaXMuX2NoYXJ0T3B0aW9ucz0oMCxwLmRlZmF1bHQpKHt9LCgwLApOLmRlZmF1bHQpKHt9LG8ubWluaUNoYXJ0T3B0aW9ucykse3RpbWVmcmFtZTp7Y29udGFpbmVyOnIsdmFsdWU6bj8oMCxNLmNvbnZlcnRTdHJUb1RpbWVGcmFtZSkobik6dm9pZCAwfSx1cGRhdGVUaW1lb3V0OjZlNH0pLHRoaXMudmlzaWJsZS5zdWJzY3JpYmUoKGFzeW5jKCk9Pnthd2FpdCB0aGlzLl9jcmVhdGVDaGFydCgpLHRoaXMuX2luaXRWYWx1ZXNJbkxlZ2VuZCgpfSkse29uY2U6ITB9KX1wYXVzZU1hcmtldFN0YXR1cygpe3RoaXMuX21lZGl1bVdpZGdldE1hcmtldFN0YXR1cz8uY2FsbEZ1bmN0aW9uKChlPT5lLmFkYXB0ZXIucGF1c2UoKSkpLHRoaXMuX2RhdGFNb2RlPy5zdG9wKCl9cmVzdW1lTWFya2V0U3RhdHVzKCl7dGhpcy5fbWVkaXVtV2lkZ2V0TWFya2V0U3RhdHVzPy5jYWxsRnVuY3Rpb24oKGU9PmUuYWRhcHRlci5yZXN1bWUoKSkpLHRoaXMuX2RhdGFNb2RlPy5zdGFydCgpfXNob3coZSl7dGhpcy53aWRnZXQuc3Bpbm5lci5zcGluKHRoaXMud2lkZ2V0LmxheW91dC5jb250YWluZXIpLHRoaXMuX29wdGlvbnMuY2hhcnRPbmx5fHx0aGlzLl9jcmVhdGVRdW90ZVRpY2tlcigpLnRoZW4oKHQ9Pnt0LnF1b3Rlc1JlYWR5LmNhdGNoKCh0PT57dCYmdGhpcy5fc2hvd0Vycm9yTWVzc2FnZSh0LGUpfSkpfSkpLmNhdGNoKCh0PT57dCYmdGhpcy5fc2hvd0Vycm9yTWVzc2FnZSh0LGUpfSkpLHRoaXMuX3Nob3dUYWIoZSl9aGlkZSgpe3RoaXMuZWwuY2xhc3NMaXN0LmFkZCgiaS1oaWRkZW4iKSx0aGlzLnZpc2libGUuc2V0VmFsdWUoITEpfW9uUmVzaXplKCl7dGhpcy5taW5pQ2hhcnQmJnRoaXMuX2lzQ2hhcnRWaXNpYmxlJiZzZXRUaW1lb3V0KCgoKT0+e3RoaXMuX2FwcGx5TGFiZWxPZmZzZXQoKX0pLDApfWFzeW5jIF9jcmVhdGVDaGFydCgpe3RoaXMubWluaUNoYXJ0PW5ldyAkLlNlc3Npb25zTWluaUNoYXJ0KHtzeW1ib2w6dGhpcy5zeW1ib2wubmFtZSgpLCJjdXJyZW5jeS1pZCI6dGhpcy5zeW1ib2wuY3VycmVuY3koKX0sdGhpcy5fY2hhcnRXcmFwcGVyRWwsdGhpcy5fY2hhcnRPcHRpb25zKTtjb25zdCBlPXRoaXMuX29wdGlvbnMudmFsdWVzVHJhY2tpbmc7IjEiIT09ZSYmIjIiIT09ZXx8KDAsbGUuY3JlYXRlTGlnaHR3ZWlnaHRDaGFydFByaWNlVGltZVRvb2x0aXApKHtjaGFydDp0aGlzLm1pbmlDaGFydC53aWRnZXQoKSxjb2xvcmVkQm9yZGVyVmlzaWJsZToiMiI9PT1lLGNyb3NzaGFpck1vdmVEYXRhR2V0dGVyOmU9PigwLFguZ2V0Q3Jvc3NoYWlyTW92ZURhdGEpKCgwLGcuZW5zdXJlTm90TnVsbCkodGhpcy5taW5pQ2hhcnQpLGUpfSk7Y29uc3R7bWE6dCxjb21wYXJlU3ltYm9sOm99PXRoaXMuX2NoYXJ0T3B0aW9ucy5jaGFydE9wdGlvbnN8fHt9O2lmKHQmJnQudmlzaWJsZSl7Y29uc3QgZT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDY0MTMyKSxzLmUoNzEzMjgpLHMuZSg1NjE1NildKS50aGVuKHMuYmluZChzLDQ3ODc0MCkpO2lmKHRoaXMubWluaUNoYXJ0Lm1haW5QbG90KCkuaXNEZXN0cm95ZWQoKS52YWx1ZSgpKXJldHVybjtjb25zdCBvPW5ldyBlLk1vdmluZ0F2ZXJhZ2VNaW5pQ2hhcnRQbG90KHRoaXMubWluaUNoYXJ0LHtjaGFydFR5cGU6ImxpbmUiLC4uLnR9LHQubGVuZ3RoPz85KTtvLnNldFN5bWJvbCh0aGlzLnN5bWJvbC5uYW1lKCkpLHRoaXMubWluaUNoYXJ0LmFkZFN0dWR5UGxvdChvKX1vJiZ0aGlzLl9jcmVhdGVDb21wYXJlU2VyaWVzKG8pO2NvbnN0IGk9dGhpcy5tYXJrZXRTdGF0dXM7aSYmKHRoaXMuX21lZGl1bVdpZGdldE1hcmtldFN0YXR1cz1uZXcgTy5Bc3luY1Jlc291cmNlV3JhcHBlcihhc3luYyBmdW5jdGlvbihlLHQpe2NvbnN0e01lZGl1bVdpZGdldE1hcmtldFN0YXR1czpvfT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDY0MjAwKSxzLmUoMjAzNTQpLHMuZSgzNjIyMikscy5lKDI5NTM2KSxzLmUoNTE4NCkscy5lKDU2MjUyKSxzLmUoMTE0NjEpLHMuZSg5NjU4Nykscy5lKDM5MDUpLHMuZSg2MjYwMCkscy5lKDc1MjE3KSxzLmUoMTE0MDkpLHMuZSgzMjM4Nykscy5lKDIzNzQzKSxzLmUoMzY5MzgpLHMuZSg4NTYwNykscy5lKDU0NDQ5KV0pLnRoZW4ocy5iaW5kKHMsNjYzMjE5KSk7cmV0dXJuIG5ldyBvKGUsdCl9KCgwLGcuZW5zdXJlTm90TnVsbCkodGhpcy5taW5pQ2hhcnQpLGkpKSx0aGlzLl9tZWRpdW1XaWRnZXRNYXJrZXRTdGF0dXMuY2FsbEZ1bmN0aW9uKChlPT57ZS5yZW5kZXJlcigpfSkpKSx0aGlzLl9jaGFydFBhcmVudEVsPSgwLGcuZW5zdXJlRGVmaW5lZCkodGhpcy5fY2hhcnRXcmFwcGVyRWwucXVlcnlTZWxlY3RvcigiZGl2W2RhdGEtbWluaS1jaGFydC1pZF0sIGRpdjpoYXMoLnR2LWxpZ2h0d2VpZ2h0LWNoYXJ0cykiKSksdGhpcy5faXNDaGFydFZpc2libGV8fHRoaXMuX2NoYXJ0UGFyZW50RWwuY2xhc3NMaXN0LmFkZCgiaS1oaWRkZW4iKSx0aGlzLm1pbmlDaGFydC5tYWluUGxvdCgpLnN0YXR1cygpLnN1YnNjcmliZSgoYXN5bmMgZT0+e3N3aXRjaChlKXtjYXNlIDM6dGhpcy5fb3B0aW9ucy5jaGFydE9ubHl8fHRoaXMuX3JlbmRlclF1b3RlRGVsdGEoKTticmVhaztjYXNlIDA6dGhpcy5fY2hhbmdlQ2hhcnRWaXNpYmlsaXR5KCEwKSx0aGlzLl9lcnJvckNhcmRSZW5kZXJlcj8uY2FsbEZ1bmN0aW9uKChlPT5lLnVwZGF0ZSh7bWVzc2FnZToiIn0pKSl9fSkpLHRoaXMubWluaUNoYXJ0Lm1haW5QbG90KCkubm9EYXRhKCkuc3Vic2NyaWJlKChlPT57bGV0IHQ7c3dpdGNoKGUpe2Nhc2UgMDp0PXt0eXBlOjB9O2JyZWFrO2Nhc2UgMTp0PXt0eXBlOjEsc3ltYm9sOigwLGcuZW5zdXJlTm90TnVsbCkodGhpcy5taW5pQ2hhcnQpLm1haW5QbG90KCkuc3ltYm9sKCl9O2JyZWFrO2Nhc2UgMjpjYXNlIDM6dD17dHlwZToyfTticmVhaztkZWZhdWx0OnJldHVybn10aGlzLl9zaG93RXJyb3JNZXNzYWdlKHQpfSkpfWFzeW5jIF9jcmVhdGVDb21wYXJlU2VyaWVzKGUpe2NvbnN0IHQ9dGhpcy5taW5pQ2hhcnQ7aWYodCl7Y29uc3Qgbz1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDcxMzI4KSxzLmUoOTU0ODYpXSkudGhlbihzLmJpbmQocywxMjgwMTEpKTtpZih0Lm1haW5QbG90KCkuaXNEZXN0cm95ZWQoKS52YWx1ZSgpKXJldHVybgo7Y29uc3R7c3ltYm9sOmksc2hvd0xhYmVsczpyLC4uLm59PWUsYT10aGlzLl9jaGFydE9wdGlvbnMuY2hhcnRPcHRpb25zPy5jaGFydD8ubGVmdFByaWNlU2NhbGU/LnZpc2libGV8fCF0aGlzLl9jaGFydE9wdGlvbnMuY2hhcnRPcHRpb25zPy5jaGFydD8ubGVmdFByaWNlU2NhbGU/LnZpc2libGUmJiF0aGlzLl9jaGFydE9wdGlvbnMuY2hhcnRPcHRpb25zPy5jaGFydD8ucmlnaHRQcmljZVNjYWxlPy52aXNpYmxlLGw9cj8/ITA7bi5sYXN0VmFsdWVWaXNpYmxlPSFhJiZsO2NvbnN0IGM9ey4uLnQubWFpblBsb3QoKS5leHRlbmRlZFN5bWJvbCgpLHN5bWJvbDppfSx1PW5ldyBvLk92ZXJsYXlNaW5pQ2hhcnRQbG90KHQsbixjLCExKTtpZih1LnNldFN5bWJvbChjKSx0LmFkZFN0dWR5UGxvdCh1KSwhbClyZXR1cm47dGhpcy5fbWFya2V0U3RhdHVzU291cmNlQWRhcHRlcj1uZXcgYWUuTWluaUNoYXJ0U3RhdHVzU291cmNlQWRhcHRlcih0KTtjb25zdCBoPWUuc3ltYm9sLmluY2x1ZGVzKCI6Iik/ZS5zeW1ib2wuc3BsaXQoIjoiKVsxXTplLnN5bWJvbDt1LnNlcmllcygpLmFwcGx5T3B0aW9ucyh7dGl0bGU6aH0pLHUuc2VyaWVzKCkuYXR0YWNoUHJpbWl0aXZlKG5ldyBKKGEpKTtjb25zdCBkPSgpPT57c2V0VGltZW91dCgoKCk9Pnt0aGlzLl9hcHBseUxhYmVsT2Zmc2V0KCl9KSwwKX07ZCgpLHQubWFpblBsb3QoKS5zdGF0dXMoKS5zdWJzY3JpYmUoKCgpPT57ZCgpfSkpfX1fYXBwbHlMYWJlbE9mZnNldCgpe2NvbnN0IGU9dGhpcy5taW5pQ2hhcnQsdD10aGlzLl9jaGFydE9wdGlvbnMuY2hhcnRPcHRpb25zPy5jb21wYXJlU3ltYm9sO2lmKCFlfHwhdD8uc3ltYm9sKXJldHVybjtjb25zdCBzPXRoaXMuX2NoYXJ0T3B0aW9ucy5jaGFydE9wdGlvbnM/LmNoYXJ0Py5sZWZ0UHJpY2VTY2FsZT8udmlzaWJsZXx8IXRoaXMuX2NoYXJ0T3B0aW9ucy5jaGFydE9wdGlvbnM/LmNoYXJ0Py5sZWZ0UHJpY2VTY2FsZT8udmlzaWJsZSYmIXRoaXMuX2NoYXJ0T3B0aW9ucy5jaGFydE9wdGlvbnM/LmNoYXJ0Py5yaWdodFByaWNlU2NhbGU/LnZpc2libGUsbz10PT57ZS5tYWluUGxvdCgpPy5zZXJpZXMoKS5hcHBseU9wdGlvbnMoe3RpdGxlOnRoaXMuc3ltYm9sLm5hbWUoKX0pO2NvbnN0IG89ZS50aW1lZnJhbWUoKS52YWx1ZSgpLGk9InBlcmlvZC1iYWNrIj09PW8udHlwZSYmIkxBU1RTRVNTSU9OIj09PW8udmFsdWU/dDpudWxsO2UubWFpblBsb3QoKT8uc2VyaWVzKCkuYXBwbHlPcHRpb25zKHtsYXN0VmFsdWVWaXNpYmxlOiFzfSksZS5tYWluUGxvdCgpPy5zZXJpZXMoKS5hdHRhY2hQcmltaXRpdmUobmV3IEoocyxpKSk7Y29uc3Qgcj1mdW5jdGlvbihlLHQpe2NvbnN0IHM9dD8uY29tcGFyZVN5bWJvbD8uc3ltYm9sO2lmKCFzKXJldHVybiAwO2NvbnN0IG89cy5pbmNsdWRlcygiOiIpP3Muc3BsaXQoIjoiKVsxXTpzO3JldHVybih0Py5jaGFydD8ubGF5b3V0Py5mb250U2l6ZT8/MTApKk1hdGgubWF4KG8ubGVuZ3RoLGUubmFtZSgpLmxlbmd0aCkrMTB9KHRoaXMuc3ltYm9sLHRoaXMuX2NoYXJ0T3B0aW9ucy5jaGFydE9wdGlvbnMpLG49KCk9Pntjb25zdCB0PWUud2lkZ2V0KCkudGltZVNjYWxlKCkud2lkdGgoKSxzPWUud2lkZ2V0KCkudGltZVNjYWxlKCkuZ2V0VmlzaWJsZUxvZ2ljYWxSYW5nZSgpO2lmKCFzKXJldHVybiAwO2NvbnN0IG89ci90O3JldHVybihzLnRvLXMuZnJvbSkqb307aWYoInRpbWUtcmFuZ2UiPT09by50eXBlfHwicGVyaW9kLWJhY2siPT09by50eXBlJiYiTEFTVFNFU1NJT04iIT09by52YWx1ZSllLndpZGdldCgpLnRpbWVTY2FsZSgpLmFwcGx5T3B0aW9ucyh7cmlnaHRPZmZzZXQ6bigpfSk7ZWxzZXtjb25zdCB0PWUubWFpblBsb3QoKT8uc2VyaWVzKCkuZGF0YSgpLnNsaWNlKC0xKVswXSxzPWUud2lkZ2V0KCkudGltZVNjYWxlKCkud2lkdGgoKS1yLG89ZS53aWRnZXQoKS50aW1lU2NhbGUoKS5jb29yZGluYXRlVG9UaW1lKHMpO2lmKCF0fHwhb3x8dC50aW1lPG8pcmV0dXJuO2Uud2lkZ2V0KCkudGltZVNjYWxlKCkuYXBwbHlPcHRpb25zKHtyaWdodE9mZnNldDpuKCl9KX19LGk9dGhpcy5fbWFya2V0U3RhdHVzU291cmNlQWRhcHRlcj8ubWFya2V0U3RhdHVzTW9kZWwoKT8uY3VycmVudFNlc3Npb24oKS52YWx1ZSgpO2k/byhpKTp0aGlzLl9tYXJrZXRTdGF0dXNTb3VyY2VBZGFwdGVyPy5tYXJrZXRTdGF0dXNNb2RlbCgpPy5jdXJyZW50U2Vzc2lvbigpLnN1YnNjcmliZSgoZT0+e2UmJm8oZSl9KSl9X2NyZWF0ZVF1b3RlVGlja2VyKCl7aWYobnVsbCE9PXRoaXMuX2NyZWF0ZVF1b3RlVGlja2VyUHJvbWlzZSlyZXR1cm4gdGhpcy5fY3JlYXRlUXVvdGVUaWNrZXJQcm9taXNlO2NvbnN0IGU9KDAsZy5lbnN1cmVOb3ROdWxsKSh0aGlzLmluZm8ucXVlcnlTZWxlY3RvcigiLmpzLWhlYWQiKSksdD0oMCxnLmVuc3VyZU5vdE51bGwpKHRoaXMuaW5mby5xdWVyeVNlbGVjdG9yKCIuanMtaGVhZGVyLWljb24iKSksbz0oZSx0KT0+e2VlKFYuZ2V0RXhjaGFuZ2UoZSksdCkudGhlbigoZT0+e3RoaXMud2lkZ2V0LnNwaW5uZXIuc3RvcCgpLGUmJnRoaXMud2lkZ2V0LmxheW91dC5jb250YWluZXIuYXBwZW5kKGUpfSkpfSxpPSgpPT57ZS5jbGFzc0xpc3QuYWRkKCJ0di13aWRnZXQtY2hhcnRfX2hlYWQtbm8tbG9nbyIpfSxyPSgwLEEuZ2V0TG9nb1VybHNIb29rKSgoZT0+eyhlPT57aWYoZS5sZW5ndGg+MCl7Y29uc3Qgcz1JKHtsb2dvVXJsczplLHNpemU6InhsYXJnZSIsY2xhc3NOYW1lOiJ0di13aWRnZXQtY2hhcnRfX2ljb24gdHYtd2lkZ2V0LWNoYXJ0X19pY29uLS1sYXJnZSJ9KSxvPUkoe2xvZ29VcmxzOmUsc2l6ZToibWVkaXVtIixjbGFzc05hbWU6InR2LXdpZGdldC1jaGFydF9faWNvbiB0di13aWRnZXQtY2hhcnRfX2ljb24tLW1lZGl1bSJ9KTt0LmFwcGVuZCgoMCx5LnBhcnNlSHRtbCkocykpLHQuYXBwZW5kKCgwLHkucGFyc2VIdG1sKShvKSl9ZWxzZSBpKCl9KShlKSx0aGlzLm9uUmVzaXplKCl9KSxLLkxvZ29TaXplLkxhcmdlKQo7cmV0dXJuIHRoaXMuX29wdGlvbnMuY2hhcnRPbmx5fHx0aGlzLl9xdW90ZVRpY2tlclJlbmRlcmVyfHwodGhpcy5fcXVvdGVUaWNrZXJSZW5kZXJlcj1uZXcgTy5Bc3luY1Jlc291cmNlV3JhcHBlcihhc3luYyBmdW5jdGlvbihlKXtyZXR1cm4gbmV3KChhd2FpdCBQcm9taXNlLmFsbChbcy5lKDU4NjY3KSxzLmUoMzc4NjUpLHMuZSgzOTA1KSxzLmUoNTE1MDgpLHMuZSg4NDA4KSxzLmUoMzU1Mikscy5lKDMzMzkyKV0pLnRoZW4ocy5iaW5kKHMsMTI1OTgzKSkpLk1lZGl1bVdpZGdldFF1b3RlVGlja2VyUmVuZGVyZXIpKGUpfSh0aGlzLmVsKSksdGhpcy5fcXVvdGVUaWNrZXJSZW5kZXJlci5jYWxsRnVuY3Rpb24oKGU9PntlLnNob3coKX0pKSksdGhpcy5fY3JlYXRlUXVvdGVUaWNrZXJQcm9taXNlPW5ldyBQcm9taXNlKCgoZSx0KT0+e1EodGhpcy5zeW1ib2wubmFtZSgpKS50aGVuKCh0PT57aWYobnVsbD09PXRoaXMuX3F1b3RlVGlja2VyUmVuZGVyZXIpcmV0dXJuIHZvaWQgZSh7cXVvdGVzUmVhZHk6UHJvbWlzZS5yZXNvbHZlKCl9KTtjb25zdCBzPW5ldyBQcm9taXNlKCgoZSxzKT0+e3RoaXMuX3F1b3RlVGlja2VyUmVuZGVyZXI/LmNhbGxGdW5jdGlvbigobj0+e24uY3JlYXRlUXVvdGVUaWNrZXIoKDAsbmUuZW5jb2RlRXh0ZW5kZWRTeW1ib2xPckdldFNpbXBsZVN5bWJvbFN0cmluZykoe3N5bWJvbDp0LCJjdXJyZW5jeS1pZCI6dGhpcy5zeW1ib2wuY3VycmVuY3koKX0pLHtsYXN0RmFsbGluZ0NsYXNzOiJ0di13aWRnZXQtY2hhcnRfX3ByaWNlLXZhbHVlLWNoYW5nZXMtLWZhbGxpbmciLGxhc3RHcm93aW5nQ2xhc3M6InR2LXdpZGdldC1jaGFydF9fcHJpY2UtdmFsdWUtY2hhbmdlcy0tZ3Jvd2luZyIsbGFzdFByaWNlSGlnaGxpZ2h0RGlmZk9ubHk6ITAsZGlzYWJsZUNoYW5nZTohMCxzZXRTdGF0ZUhvb2s6KHQscyxvKT0+e3RoaXMuX29wdGlvbnMuaGlkZVN5bWJvbExvZ28/aSgpOnIodCxzLG8pLHRoaXMuX3JlbmRlclF1b3RlRGVsdGEodCxzKSxlKCl9LG5vU3VjaFN5bWJvbEhvb2s6KGUsdCk9PnsicGVybWlzc2lvbl9kZW5pZWQiPT09ZS5zdGF0dXM/cyh7dHlwZToxLHN5bWJvbDplLnN5bWJvbG5hbWV9KTpzKHt0eXBlOjB9KSxpKCl9LHBlcm1pc3Npb25EZW5pZWRIb29rOihlLHQpPT57dCYmbyh0LHRlLkRlbGF5VHlwZS5Bbm9uKSxzKHt0eXBlOjEsc3ltYm9sOnR9KX19KX0pKX0pKTtlKHtxdW90ZXNSZWFkeTpzfSl9KSkuY2F0Y2goKGU9PntvKHRoaXMuc3ltYm9sLm5hbWUoKSwiREVMQVlfTk9UX0FWQUlMQUJMRSI9PT1lPy5lcnJDb2RlP3RlLkRlbGF5VHlwZS5GcmVlRGVsYXk6dGUuRGVsYXlUeXBlLkRlbGF5KSx0KDEpfSkpfSkpLHRoaXMuX2NyZWF0ZVF1b3RlVGlja2VyUHJvbWlzZX1fY2FsY3VsYXRlUXVvdGVEZWx0YShlLHQpe2lmKCF0aGlzLm1pbmlDaGFydClyZXR1cm47Y29uc3Qgcz10aGlzLm1pbmlDaGFydC5tYWluUGxvdCgpLG89cy5maXJzdEJhcigpPy52YWx1ZVs0XSxpPXQ/Lmxhc3RfcHJpY2U/P3MubGFzdEJhcigpPy52YWx1ZVs0XTtpZighKDAsTC5pc051bWJlcikobyl8fCEoMCxMLmlzTnVtYmVyKShpKSlyZXR1cm47Y29uc3Qgcj1pLW87cmV0dXJuW3RoaXMuX3ByaWNlRm9ybWF0dGVyKGV8fHMuc3ltYm9sSW5mbygpKS5mb3JtYXQocix7c2lnblBvc2l0aXZlOiEwfSksdWUuZm9ybWF0KHIvbyoxMDAse3NpZ25Qb3NpdGl2ZTohMH0pLHJdfV9nZXREZWx0YUZyb21RdW90ZShlLHQpe2NvbnN0e2NoYW5nZTpzPWUuY2hhbmdlLGNoYW5nZV9wZXJjZW50Om89ZS5jaGFuZ2VfcGVyY2VudH09dDtyZXR1cm5bdGhpcy5fcHJpY2VGb3JtYXR0ZXIoZSkuZm9ybWF0KCgwLEwuaXNOdW1iZXIpKHMpP3M6MCx7c2lnblBvc2l0aXZlOiEwfSksdWUuZm9ybWF0KCgwLEwuaXNOdW1iZXIpKG8pP286MCx7c2lnblBvc2l0aXZlOiEwfSksKDAsTC5pc051bWJlcikocyk/czowXX1fcmVuZGVyUXVvdGVEZWx0YShlLHQpe2lmKCF0aGlzLl9xdW90ZVRpY2tlclJlbmRlcmVyKXJldHVybjtlJiZ0JiYodGhpcy5fbGFzdERlbHRhRnJvbVF1b3RlPXRoaXMuX2dldERlbHRhRnJvbVF1b3RlKGUsdCkpO2NvbnN0IHM9dGhpcy5taW5pQ2hhcnQ/LnRpbWVmcmFtZSgpLnZhbHVlKCksbz1zPygwLE0uY29udmVydFRpbWVGcmFtZVRvU3RyKShzKTp0aGlzLnN5bWJvbC50aW1lZnJhbWUoKTtsZXQgaSxyO2lmKCIxRCI9PT1vfHwiTEFTVFNFU1NJT04iPT09byl7aWYoIXRoaXMuX2xhc3REZWx0YUZyb21RdW90ZSlyZXR1cm47aT10aGlzLl9sYXN0RGVsdGFGcm9tUXVvdGV9ZWxzZSBpPXRoaXMuX2NhbGN1bGF0ZVF1b3RlRGVsdGEoZSx0KXx8bnVsbDtpZihpKXtjb25zdFtlLHQsb109aSxuPSgwLEIuZ2V0VGltZUZyYW1lTmFtZSkocz8oMCxNLmNvbnZlcnRUaW1lRnJhbWVUb1N0cikocyk6IiIpO3I9W2UsdCxuLG9dfXRoaXMuX3F1b3RlVGlja2VyUmVuZGVyZXIuY2FsbEZ1bmN0aW9uKChlPT5lLnVwZGF0ZVF1b3RlRGVsdGEocikpKX1fcHJpY2VGb3JtYXR0ZXIoZSl7Y29uc3QgdD10aGlzLl9mb3JtYXR0ZXJDYWNoZSx7cHJpY2VzY2FsZTpzLG1pbm1vdjpvLGZyYWN0aW9uYWw6aSxtaW5tb3ZlMjpyfT1lfHx7cHJpY2VzY2FsZToxMDAsbWlubW92OjF9O2lmKG51bGw9PT10fHx0LnByaWNlc2NhbGUhPT1zfHx0Lm1pbm1vdiE9PW98fHQuZnJhY3Rpb25hbCE9PWl8fHQubWlubW92ZTIhPT1yKXtjb25zdCBlPW5ldyBvZS5QcmljZUZvcm1hdHRlcih7cHJpY2VTY2FsZTpzLG1pbk1vdmU6byxmcmFjdGlvbmFsOmksbWluTW92ZTI6cn0pO3JldHVybiB0aGlzLl9mb3JtYXR0ZXJDYWNoZT17cHJpY2VzY2FsZTpzLG1pbm1vdjpvLGZyYWN0aW9uYWw6aSxtaW5tb3ZlMjpyLGZvcm1hdHRlcjplfSxlfXJldHVybiB0LmZvcm1hdHRlcn1faW5pdFZhbHVlc0luTGVnZW5kKCl7aWYoIjMiPT09dGhpcy5fb3B0aW9ucy52YWx1ZXNUcmFja2luZyYmdGhpcy5taW5pQ2hhcnQpe2NvbnN0IGU9dGhpcy5lbC5xdWVyeVNlbGVjdG9yKCIjdmFsdWVzLWluLWxlZ2VuZC1jb250YWluZXIiKQo7ZSYmKHRoaXMuX3ZhbHVlc0luTGVnZW5kUmVuZGVyZXI9bmV3IE8uQXN5bmNSZXNvdXJjZVdyYXBwZXIoYXN5bmMgZnVuY3Rpb24oZSl7Y29uc3R7TWVkaXVtV2lkZ2V0VmFsdWVzSW5MZWdlbmRSZW5kZXJlcjp0fT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDcyNzYxKSxzLmUoMzIzODcpLHMuZSg4NjY5NildKS50aGVuKHMuYmluZChzLDk1NzU1NykpO3JldHVybiBuZXcgdChlKX0oZSkpLHRoaXMubWluaUNoYXJ0LnVuc3Vic2NyaWJlQ3Jvc3NoYWlyTW92ZSh0aGlzLl92YWx1ZXNJbkxlZ2VuZENyb3NzaGFpck1vdmVIYW5kbGVyKSx0aGlzLm1pbmlDaGFydC5zdWJzY3JpYmVDcm9zc2hhaXJNb3ZlKHRoaXMuX3ZhbHVlc0luTGVnZW5kQ3Jvc3NoYWlyTW92ZUhhbmRsZXIpKX19X3Nob3dUYWIoZSl7dGhpcy5lbC5jbGFzc0xpc3QucmVtb3ZlKCJpLWhpZGRlbiIpLHRoaXMudmlzaWJsZS5zZXRWYWx1ZSghMCksdGhpcy53aWRnZXQuc3Bpbm5lci5zdG9wKCksZT8uKCksdGhpcy5vblJlc2l6ZSgpfV9zaG93RXJyb3JNZXNzYWdlKGUsdCl7dGhpcy5fc2hvd1RhYih0KSx0aGlzLl9jaGFuZ2VDaGFydFZpc2liaWxpdHkoITEpLHRoaXMuX2Vycm9yQ2FyZFJlbmRlcmVyfHwodGhpcy5fZXJyb3JDYXJkUmVuZGVyZXI9bmV3IE8uQXN5bmNSZXNvdXJjZVdyYXBwZXIoYXN5bmMgZnVuY3Rpb24oKXtyZXR1cm4gbmV3KGF3YWl0KDAsc2UuZ2V0RXJyb3JDYXJkUmVuZGVyZXIpKCkpfSgpKSx0aGlzLl9lcnJvckNhcmRSZW5kZXJlci5jYWxsRnVuY3Rpb24oKGU9Pnt0aGlzLmluZm8uY2xhc3NMaXN0LmFkZCgidHYtd2lkZ2V0LWNoYXJ0X19ub3QtZGF0YSIpLHRoaXMuX2NoYXJ0V3JhcHBlckVsLmFwcGVuZENoaWxkKGUuY29udGFpbmVyKX0pKSksdGhpcy5fZXJyb3JDYXJkUmVuZGVyZXIuY2FsbEZ1bmN0aW9uKCh0PT57dC51cGRhdGUoey4uLm1lKGUpLGljb246Imdob3N0IixiYWNrZ3JvdW5kQ29sb3I6InRyYW5zcGFyZW50IixvZmZzZXRIZWlnaHQ6dGhpcy5fZ2V0SGVhZGVySGVpZ2h0KCl9KSx0aGlzLm9uUmVzaXplKCl9KSl9X2dldEhlYWRlckhlaWdodCgpe3JldHVybiB0aGlzLndpZGdldC5sYXlvdXQuY29udGFpbmVyLmNsaWVudEhlaWdodC10aGlzLl9jaGFydFdyYXBwZXJFbC5jbGllbnRIZWlnaHR9X2NoYW5nZUNoYXJ0VmlzaWJpbGl0eShlKXt0aGlzLl9pc0NoYXJ0VmlzaWJsZT1lLGU/dGhpcy5fY2hhcnRQYXJlbnRFbD8uY2xhc3NMaXN0LnJlbW92ZSgiaS1oaWRkZW4iKTp0aGlzLl9jaGFydFBhcmVudEVsPy5jbGFzc0xpc3QuYWRkKCJpLWhpZGRlbiIpfWFzeW5jIF9jcmVhdGVEYXRhTW9kZSgpe2NvbnN0IGU9dGhpcy5lbC5xdWVyeVNlbGVjdG9yKCIuanMtZGF0YS1tb2RlIik7aWYoIWUpcmV0dXJuO2NvbnN0IHQ9YXdhaXQgUHJvbWlzZS5hbGwoW3MuZSg1NzE4NCkscy5lKDM5MDUpLHMuZSg1MTUwOCkscy5lKDQ2NDgyKV0pLnRoZW4ocy5iaW5kKHMsMzA2OTApKTt0aGlzLl9kYXRhTW9kZT1uZXcgdC5EYXRhTW9kZUluZGljYXRvcih7Y2xhc3NTdWZmaXg6Ii0tZm9yLXN5bWJvbC13aWRnZXQiLGVsOmU/P3ZvaWQgMCxzaG9ydDohMCxzeW1ib2w6dGhpcy5zeW1ib2wubmFtZSgpfSl9fXZhciBnZT1zKDUyODg2NCksX2U9cyg3NDgwMDIpLHllPShzKDIxMjI3NSkscygzOTE4MDcpKTtjbGFzcyBmZXtjb25zdHJ1Y3RvcihlLHQscyl7dGhpcy5zcGlubmVyPW5ldyBkLlNwaW5uZXIsdGhpcy5vbmVTeW1ib2w9ITAsdGhpcy5fb25TeW1ib2xDaGFuZ2U9bnVsbCx0aGlzLl9wYWdlcz1uZXcgTWFwLHRoaXMuX3N5bWJvbHM9dGhpcy5fcHJlcGFyZVN5bWJvbHModCksdGhpcy5fb3B0aW9ucz0oMCxwLmRlZmF1bHQpKHt9LHRoaXMuZGVmYXVsdE9wdGlvbnMoKSxzKSxzLmhpZGVEYXRlUmFuZ2VzJiYodGhpcy5fb3B0aW9ucy5taW5pQ2hhcnRPcHRpb25zLnRpbWVmcmFtZS52aXNpYmxlPSExKSx0aGlzLl9vcHRpb25zLm9uU3ltYm9sQ2hhbmdlJiYodGhpcy5fb25TeW1ib2xDaGFuZ2U9bmV3IGsuRGVsZWdhdGUsdGhpcy5fb25TeW1ib2xDaGFuZ2Uuc3Vic2NyaWJlKG51bGwsdGhpcy5fb3B0aW9ucy5vblN5bWJvbENoYW5nZSkpLHRoaXMuX2NyZWF0ZUxheW91dChlKX1kZWZhdWx0T3B0aW9ucygpe3JldHVybntjaGFydE9ubHk6ITEsaGVhZGVyRm9udFNpemU6Im1lZGl1bSIsdmFsdWVzVHJhY2tpbmc6IjAiLGNoYW5nZU1vZGU6InByaWNlLWFuZC1wZXJjZW50IixtaW5pQ2hhcnRPcHRpb25zOntzaG93RGVzY3JpcHRpb246ITEsdGltZWZyYW1lOnt2YWx1ZTp7dHlwZToicGVyaW9kLWJhY2siLHZhbHVlOiIxRCJ9LHZpc2libGU6ITAsc2l6ZToieHNtYWxsIn0sY2hhcnRPcHRpb25zOnttaW5IZWlnaHQ6MjAwLGNoYXJ0OntncmlkOnt2ZXJ0TGluZXM6e3Zpc2libGU6ITF9LGhvcnpMaW5lczp7dmlzaWJsZTohMCxjb2xvcjoiI2U5ZTllYSIsc3R5bGU6by5MaW5lU3R5bGUuRGFzaGVkfX19LHNlcmllczp7bGluZUNvbG9yOnIuY29sb3JzUGFsZXR0ZVsiY29sb3Itc3VjY2VzcyJdLGxpbmVXaWR0aDoxLHRvcENvbG9yOiJyZ2JhKDYwLCAxODgsIDE1MiwgMC4wNSkiLGJvdHRvbUNvbG9yOiJyZ2JhKDYwLCAxODgsIDE1MiwgMC4wNSkifSxsb2FkaW5nOntmYWRlOnt2aXNpYmxlOiEwfSxjbGVhckRhdGFPblN5bWJvbENoYW5nZTohMSxjbGVhckRhdGFPblRpbWVmcmFtZUNoYW5nZTohMX19fSxoaWRlSGVhZGVyOiExLGhpZGVEYXRlUmFuZ2VzOiExLGhpZGVNYXJrZXRTdGF0dXM6ITEsaGlkZVN5bWJvbExvZ286ITEsbm9Cb3JkZXI6ITEsc2hvd1N1YlRpdGxlOiEwfX1zZXRTeW1ib2xzKGUpe3RoaXMuX3N5bWJvbHM9dGhpcy5fcHJlcGFyZVN5bWJvbHMoZSl9X3ByZXBhcmVTeW1ib2xzKGUpe3JldHVybihlPUFycmF5LmlzQXJyYXkoZSk/ZTpbZV0pLm1hcCgoZT0+bmV3IEMoZSwoZT0+IjFEIj09PWV8fHZvaWQgMD09PWU/IkxBU1RTRVNTSU9OIjplKSkpKX1hc3luYyBfY3JlYXRlTGF5b3V0KGUpe3RoaXMub25lU3ltYm9sPTE9PT10aGlzLl9zeW1ib2xzLmxlbmd0aDtjb25zdCB0PXRoaXMuX29wdGlvbnMubm9Cb3JkZXIsbz0oMCwKeS5wYXJzZUh0bWwpKGBcblx0XHRcdDxkaXYgY2xhc3M9InR2LXdpZGdldC1jaGFydCAke3Q/InR2LXdpZGdldC1jaGFydC0tbm8tYm9yZGVyIjoidHYtd2lkZ2V0LWNoYXJ0LS13aXRoLWJvcmRlciJ9Ij5cblx0XHRcdFx0PGRpdiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X19uYXYganMtd2lkZ2V0LWNoYXJ0LXRhYi1jb250YWluZXIgJHt0aGlzLm9uZVN5bWJvbD8iaS1oaWRkZW4iOiIifSI+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz0ianMtd2lkZ2V0LWNoYXJ0LXRhYnMiPjwvZGl2PlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PGRpdiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X19wYWdlcyBqcy13aWRnZXQtY2hhcnQtcGFnZXMiPjwvZGl2PlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPSJ0di13aWRnZXQtY2hhcnRfX2NvcHlyaWdodGluZ0NvbnRhaW5lciI+PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHRgKSxpPSgwLGcuZW5zdXJlTm90TnVsbCkoby5maXJzdEVsZW1lbnRDaGlsZCk7aWYodGhpcy5sYXlvdXQ9e2JvZHk6aSxjb250YWluZXI6ZSx0YWJzQ29udGFpbmVyOigwLGcuZW5zdXJlTm90TnVsbCkoaS5xdWVyeVNlbGVjdG9yKCIuanMtd2lkZ2V0LWNoYXJ0LXRhYi1jb250YWluZXIiKSksdGFic0VsOigwLGcuZW5zdXJlTm90TnVsbCkoaS5xdWVyeVNlbGVjdG9yKCIuanMtd2lkZ2V0LWNoYXJ0LXRhYnMiKSkscGFnZXNFbDooMCxnLmVuc3VyZU5vdE51bGwpKGkucXVlcnlTZWxlY3RvcigiLmpzLXdpZGdldC1jaGFydC1wYWdlcyIpKSxmb290ZXI6aS5xdWVyeVNlbGVjdG9yKCIuanMtd2lkZ2V0LWNoYXJ0LWZvb3RlciIpLGNwQ29udGFpbmVyOigwLGcuZW5zdXJlTm90TnVsbCkoaS5xdWVyeVNlbGVjdG9yKCIudHYtd2lkZ2V0LWNoYXJ0X19jb3B5cmlnaHRpbmdDb250YWluZXIiKSl9LGUub3duZXJEb2N1bWVudC5ib2R5LnN0eWxlLnNldFByb3BlcnR5KCItLXdpZGdldC1mb250LWNvbG9yIix0aGlzLl9vcHRpb25zLmZvbnRDb2xvciksdGhpcy5fb3B0aW9ucy5mb250RmFtaWx5JiZlLm93bmVyRG9jdW1lbnQuYm9keS5zdHlsZS5zZXRQcm9wZXJ0eSgiLS13aWRnZXQtZm9udC1mYW1pbHkiLHRoaXMuX29wdGlvbnMuZm9udEZhbWlseSksdGhpcy5sYXlvdXQuY29udGFpbmVyLmFwcGVuZChpKSx0aGlzLl9zeW1ib2xzLmxlbmd0aD4xKXtjb25zdCBlPShhd2FpdCBQcm9taXNlLmFsbChbcy5lKDk0OTQ3KSxzLmUoODQzMDYpLHMuZSg4MTA3Mikscy5lKDIzNjI0KSxzLmUoOTUwNCkscy5lKDQ3NjMyKSxzLmUoNTgwNTEpLHMuZSgzODQxMSkscy5lKDMyMzg3KSxzLmUoNDIyODgpLHMuZSg2OTExMykscy5lKDc3NzY0KV0pLnRoZW4ocy5iaW5kKHMsMTg3NDQ1KSkpLnJlbmRlcldpZGdldFRhYnMsdD1bXTtmb3IoY29uc3QgZSBvZiB0aGlzLl9zeW1ib2xzKXtjb25zdCBzPWUuZGVzY3JpcHRpb24oKXx8ZS5zaG9ydE5hbWUoKSxvPXtpZDplLm5hbWUoKSxsYWJlbDpzfTt0LnB1c2gobyl9YXdhaXQgUHJvbWlzZS5hbGwoW2UoIm1lZGl1bS13aWRnZXQtdGFicyIsdCx0aGlzLl9zZWxlY3RUYWIuYmluZCh0aGlzKSx0aGlzLmxheW91dC50YWJzRWwsdGhpcy5fb3B0aW9ucy5nZXRUYWJzVGhlbWUpLHRoaXMuX2NyZWF0ZUNvcHlyaWdodGluZygpXSl9ZWxzZSBhd2FpdCB0aGlzLl9jcmVhdGVDb3B5cmlnaHRpbmcoKTt0aGlzLl9zZWxlY3RUYWIodGhpcy5fc3ltYm9sc1swXS5uYW1lKCkpfV9zZWxlY3RUYWIoZSl7Y29uc3QgdD10aGlzLl9nZXRPckNyZWF0ZVBhZ2UoZSk7dGhpcy5fcGFnZXMuZm9yRWFjaCgoZT0+e2U9PT10PyhlLnJlc3VtZU1hcmtldFN0YXR1cygpLGUuc2hvdygoKCk9Pnt0aGlzLl9vYnNlcnZlQ2hhcnRFbnRyeShlLm1pbmlDaGFydD8uZ2V0Q2hhcnRDb250YWluZXIoKXx8bnVsbCl9KSkpOihlLmhpZGUoKSxlLnBhdXNlTWFya2V0U3RhdHVzKCkpfSkpO2NvbnN0IHM9e2xlZnQ6MH0sbz10LmluZm8ucXVlcnlTZWxlY3RvcigiLnR2LXdpZGdldC1jaGFydF9fdGl0bGUiKSxpPW51bGw9PT1vP251bGw6by5jaGlsZHJlbltvLmNoaWxkcmVuLmxlbmd0aC0xXSxyPSgpPT57Y29uc3QgZT0oMCxnLmVuc3VyZU5vdE51bGwpKGkpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3MubGVmdD1lLmxlZnQrZS53aWR0aCsxNSwoMCxnLmVuc3VyZU5vdE51bGwpKGkpLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNoYW5nZSIsciksbnVsbCE9PXRoaXMuX29uU3ltYm9sQ2hhbmdlJiZ0aGlzLl9vblN5bWJvbENoYW5nZS5maXJlKHQuc3ltYm9sLnNob3J0TmFtZSgpLHMpfTt0aGlzLl9vblN5bWJvbENoYW5nZSYmKG51bGwhPT1vJiZudWxsIT09aSYmIiI9PT1pLmlubmVyVGV4dC50cmltKCk/aS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHIpOm51bGwhPT1vP3IoKTp0aGlzLl9vblN5bWJvbENoYW5nZS5maXJlKHQuc3ltYm9sLnNob3J0TmFtZSgpLHMpKX1fZ2V0T3JDcmVhdGVQYWdlKGUpe2xldCB0PXRoaXMuX3BhZ2VzLmdldChlKTtpZih2b2lkIDA9PT10KXtjb25zdCBzPSgwLGcuZW5zdXJlRGVmaW5lZCkodGhpcy5fc3ltYm9scy5maW5kKCh0PT50Lm5hbWUoKT09PWUpKSksbz17Y2hhcnRPbmx5OkJvb2xlYW4odGhpcy5fb3B0aW9ucy5jaGFydE9ubHkpLGhpZGVEYXRhUmFuZ2VzOkJvb2xlYW4odGhpcy5fb3B0aW9ucy5oaWRlRGF0ZVJhbmdlcyksaGlkZVN5bWJvbExvZ286Qm9vbGVhbih0aGlzLl9vcHRpb25zLmhpZGVTeW1ib2xMb2dvKSxtaW5pQ2hhcnRPcHRpb25zOnRoaXMuX29wdGlvbnMubWluaUNoYXJ0T3B0aW9ucyxzaG93U3ViVGl0bGU6Qm9vbGVhbih0aGlzLl9vcHRpb25zLnNob3dTdWJUaXRsZSksdmFsdWVzVHJhY2tpbmc6dGhpcy5fb3B0aW9ucy52YWx1ZXNUcmFja2luZyxjaGFuZ2VNb2RlOnRoaXMuX29wdGlvbnMuY2hhbmdlTW9kZSxoaWRlTWFya2V0U3RhdHVzOnRoaXMuX29wdGlvbnMuaGlkZU1hcmtldFN0YXR1cyxoZWFkZXJGb250U2l6ZTp0aGlzLl9vcHRpb25zLmhlYWRlckZvbnRTaXplfTt0PW5ldyBwZSh0aGlzLHMsbyksdGhpcy5sYXlvdXQucGFnZXNFbC5hcHBlbmQodC5lbCksdGhpcy5fcGFnZXMuc2V0KGUsdCl9cmV0dXJuIHR9YXN5bmMgX2NyZWF0ZUNvcHlyaWdodGluZygpewppZih0aGlzLl9vcHRpb25zLmhpZGVIZWFkZXIpcmV0dXJuO2NvbnN0e3dpZGdldERlZmF1bHRzOntzdGF0aWNfbG9nbzplLHRpdGxlOnR9fT13aW5kb3cuaW5pdERhdGEscz10aGlzLmxheW91dC5jcENvbnRhaW5lcjtsZXQgbztpZih0aGlzLl9jb3B5cmlnaHRpbmdDb250YWluZXJSZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIoKGU9PntpZihlLmxlbmd0aCl7Y29uc3R7bGVmdDp0LGJvdHRvbTpvLGhlaWdodDppfT1lWzBdLnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxyPXdpbmRvdy5pbm5lckhlaWdodDtzLnN0eWxlLmxlZnQ9YCR7dH1weGAscy5zdHlsZS5ib3R0b209bytpPj1yPyIwIjpgY2FsYygxMDAlIC0gJHtvfXB4KWB9fSkpLGUpbz1mdW5jdGlvbih7bG9nb1NvdXJjZTplLGltYWdlQWx0OnR9KXtjb25zdCBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3MuY2xhc3NMaXN0LmFkZCh4LmNvbnRhaW5lcik7Y29uc3Qgbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTtyZXR1cm4gby5zZXRBdHRyaWJ1dGUoInNyYyIsZSksby5zZXRBdHRyaWJ1dGUoImFsdCIsdCkscy5hcHBlbmRDaGlsZChvKSxzfSh7bG9nb1NvdXJjZTplLnVybCxpbWFnZUFsdDp0fSk7ZWxzZXtjb25zdHtjdXN0b21lcjplLGxvY2FsZTp0LHV0bUluZm86cyxjb3B5cmlnaHRPcHRpb25zOml9PXRoaXMuX29wdGlvbnMscj1hd2FpdCgwLF9lLmdldFdpZGdldFNoZXJpZmZBY3Rpb25zKSgpLG49ci5pbmNsdWRlcyhnZS5Lbm93bkFjdGlvbi5MYXJnZVRyYWRlTG9nbyk/ImxhcmdlX3RyYWRlIjoibmV3IixhPWF3YWl0KDAsVC5nZXRDdXN0b21lckNvcHlyaWdodERhdGEpKGUsdCwoMCxULmFkZFV0bUNhbXBhaWduU291cmNlKShzLCJsb2dvIiksbik7bz0oMCx3LmNyZWF0ZUNvcHlyaWdodExhYmVsKShPYmplY3QuYXNzaWduKHt9LHtob3Jpem9udGFsUG9zaXRpb246dy5Db3B5cmlnaHRQb3NpdGlvbi5Ib3Jpem9udGFsLlN0YXJ0LHNuYXBUb0VkZ2U6ITEsbW9kZTpufSx7c2hlcmlmZk9wdGlvbnM6cn0saSx7Li4uYSx0aGVtZTooMCxfLm1lcmdlVGhlbWVzKShhLnRoZW1lLHllKX0pKX1zLmFwcGVuZChvKX1fb2JzZXJ2ZUNoYXJ0RW50cnkoZSl7dGhpcy5fY29weXJpZ2h0aW5nQ29udGFpbmVyUmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKSxlJiZ0aGlzLl9jb3B5cmlnaHRpbmdDb250YWluZXJSZXNpemVPYnNlcnZlcj8ub2JzZXJ2ZShlKX19dmFyIGJlPXMoNjkwMDk3KSxTZT1zKDIwNTY4KTt2YXIgdmU9cyg3MzUyNzkpO3ZhciBDZT1zKDM4OTI5OCk7ZnVuY3Rpb24gd2UoZSl7Y29uc3QgdD1bXTtmb3IobGV0IHMgb2YgQXJyYXkuaXNBcnJheShlKT9lOltlXSl7bGV0IGUsbztBcnJheS5pc0FycmF5KHMpJiYxPT09cy5sZW5ndGgmJihzPXNbMF0pLCJzdHJpbmciPT10eXBlb2Ygcz9lPXM6QXJyYXkuaXNBcnJheShzKSYmKG89c1swXSxlPXNbMV0pLCJzdHJpbmciPT10eXBlb2YgZSYmZSYmKG8/dC5wdXNoKFtTdHJpbmcobyksZV0pOnQucHVzaChlKSl9cmV0dXJuIHR9Y29uc3QgVGU9d2luZG93LmluaXREYXRhLndpZGdldERlZmF1bHRzLHhlPSgwLG0uZXh0cmFjdFdpZGdldFNldHRpbmdzKShUZSxbXSwoZnVuY3Rpb24oZSx0KXt2b2lkIDAhPT10LnVuZGVyTGluZUJvdHRvbUNvbG9yPyh0LmJvdHRvbUNvbG9yPXQuYm90dG9tQ29sb3J8fHQudW5kZXJMaW5lQm90dG9tQ29sb3IsZGVsZXRlIHQudW5kZXJMaW5lQm90dG9tQ29sb3IpOnZvaWQgMCE9PXQudW5kZXJMaW5lQ29sb3ImJih0LmJvdHRvbUNvbG9yPXQuYm90dG9tQ29sb3J8fHQudW5kZXJMaW5lQ29sb3IpLHZvaWQgMCE9PXQudW5kZXJMaW5lQ29sb3ImJih0LnRvcENvbG9yPXQudG9wQ29sb3J8fHQudW5kZXJMaW5lQ29sb3IsZGVsZXRlIHQudW5kZXJMaW5lQ29sb3IpLHZvaWQgMCE9PXQudHJlbmRMaW5lQ29sb3ImJih0LmxpbmVDb2xvcj10LmxpbmVDb2xvcnx8dC50cmVuZExpbmVDb2xvcixkZWxldGUgdC50cmVuZExpbmVDb2xvciksdm9pZCAwIT09dC5zaG93RmxvYXRpbmdUb29sdGlwJiYodC52YWx1ZXNUcmFja2luZz10LnZhbHVlc1RyYWNraW5nfHwiMSIsZGVsZXRlIHQuc2hvd0Zsb2F0aW5nVG9vbHRpcCksInN0cmluZyI9PXR5cGVvZiB0LnN5bWJvbHMmJih0LnN5bWJvbHM9dC5zeW1ib2xzLnNwbGl0KCIsIikubWFwKChlPT5PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxlKSYmdFtlXT9bZSx0W2VdXTplKSkpfSkpO3RyeXsoMCxDZS50cmFja1dpZGdldExvYWRNZXRhSW5mbykoe3dpZGdldF9pZDoic3ltYm9sLW92ZXJ2aWV3IixzeW1ib2xzOkpTT04uc3RyaW5naWZ5KHhlLnN5bWJvbHMubWFwKChlPT4ic3RyaW5nIj09dHlwZW9mIGU/ZTplW2UubGVuZ3RoLTFdKSkubWFwKChlPT5mdW5jdGlvbihlKXtyZXR1cm4gZS5zcGxpdCgifCIpWzBdfShlKSkpKSxjdXN0b21lcjp4ZS5jdXN0b21lcn0pfWNhdGNoe31jb25zdCBrZT0icmdiYSgzNCwgMTcxLCAxNDgsIDAuNSkiLE5lPSJyZ2JhKDIzOSwgODMsIDgwLCAwLjUpIixMZT0iIzI5NjJmZiI7ZnVuY3Rpb24gRWUoKXsKY29uc3R7Y29sb3JUaGVtZTplLGlzVHJhbnNwYXJlbnQ6dD0hMSxiYWNrZ3JvdW5kQ29sb3I6bT0oImRhcmsiPT09ZT8iIzEzMTcyMiI6IiNGRkYiKSxkYXRlUmFuZ2VzOnAsY29tcGFyZVN5bWJvbDpnLGdyaWRMaW5lQ29sb3I6eSxmb250Q29sb3I6Zix3aWRnZXRGb250Q29sb3I6Yix0YWJzVGhlbWVOYW1lOlMsbG9jYWxlOnYsc2NhbGVQb3NpdGlvbjpDLHNjYWxlTW9kZTp3LGZvbnRGYW1pbHk6VCxmb250U2l6ZTp4LG5vVGltZVNjYWxlOmssc2hvd1ZvbHVtZTpOLHNob3dNQTpMLHZvbHVtZVVwQ29sb3I6RT1rZSx2b2x1bWVEb3duQ29sb3I6TT1OZSxoaWRlRGF0ZVJhbmdlczpQLGhpZGVNYXJrZXRTdGF0dXM6RCxoaWRlU3ltYm9sTG9nbzpSLHZhbHVlc1RyYWNraW5nOkksY2hhbmdlTW9kZTpBPSJwcmljZS1hbmQtcGVyY2VudCIsZGF0ZUZvcm1hdDpPPSJkZCBNTU0gJ3l5Iix0aW1lSG91cnNGb3JtYXQ6Rj0iMjQtaG91cnMiLG1hTGluZUNvbG9yOkI9TGUsbWFMaW5lV2lkdGg6Vj0xLG1hTGVuZ3RoOlU9OSxoZWFkZXJGb250U2l6ZTpXPSJtZWRpdW0ifT14ZTt0fHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoIi0tc3ltYm9sLW92ZXJ2aWV3LWJhY2tncm91bmQtY29sb3IiLG0pO2NvbnN0IHE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1lZGl1bXdpZGdldGVtYmVkIiksSD0obmV3IGQuU3Bpbm5lcikuc3BpbihxKTtzZXRUaW1lb3V0KCgoKT0+SC5zdG9wKCkpLDVlMyk7bGV0IHo9d2UoeGUuc3ltYm9scyk7MD09PXoubGVuZ3RoJiYoej13ZShUZS5zeW1ib2xzKSk7Y29uc3Qgaj0oMCxsLmZpbHRlclV0bUluZm8pKHhlKSxRPXg/TnVtYmVyLnBhcnNlSW50KHgsMTApOjEwO2xldCBLLCQsRyxaLFksSjsiZGFyayI9PT1lPyhLPSgwLHIuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktNzUwIiksJD0oMCxyLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTg1MCIpLEc9KDAsci5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS02MDAiKSxaPVk9KDAsci5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS02NTAiKSxKPSgwLHIuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktMjAwIikpOihLPSgwLHIuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktMjAwIiksJD0oMCxyLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3Itd2hpdGUiKSxHPSgwLHIuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktMzAwIiksWj1ZPSgwLHIuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktMzAwIiksSj0oMCxyLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTkwMCIpKTtjb25zdCBYPXtyaWdodFByaWNlU2NhbGU6e3Zpc2libGU6ITEsZW50aXJlVGV4dE9ubHk6ITB9LGxlZnRQcmljZVNjYWxlOnt2aXNpYmxlOiExLGVudGlyZVRleHRPbmx5OiEwfX07c3dpdGNoKEMpe2Nhc2UibGVmdCI6e2NvbnN0e2xlZnRQcmljZVNjYWxlOmV9PVg7ZS52aXNpYmxlPSEwLGUubW9kZT1vLlByaWNlU2NhbGVNb2RlW3ddO2JyZWFrfWNhc2Uibm8iOmJyZWFrO2RlZmF1bHQ6e2NvbnN0e3JpZ2h0UHJpY2VTY2FsZTplfT1YO2UudmlzaWJsZT0hMCxlLm1vZGU9by5QcmljZVNjYWxlTW9kZVt3XX19bGV0IGVlLHRlO3N3aXRjaCh4ZS5jaGFydFR5cGUpe2Nhc2UibGluZSI6e2NvbnN0e2NoYXJ0VHlwZTplLGNvbG9yOnQsY29sb3JHcm93aW5nOnMsY29sb3JGYWxsaW5nOmksbGluZVR5cGU6bj1vLkxpbmVUeXBlLlNpbXBsZSxsaW5lV2lkdGg6YT0zfT14ZTtlZT17Y2hhcnRUeXBlOmUsY29sb3I6dCxncm93aW5nQ29sb3I6cyxmYWxsaW5nQ29sb3I6aSxsaW5lVHlwZTpuLGxpbmVXaWR0aDphLGNyb3NzaGFpck1hcmtlclZpc2libGU6ITAsY3Jvc3NoYWlyTWFya2VyQm9yZGVyQ29sb3I6JCxwcmVtYXJrZXRMaW5lQ29sb3I6Wixwb3N0bWFya2V0TGluZUNvbG9yOll9LHR8fHN8fGl8fChlZS5ncm93aW5nQ29sb3I9KDAsci5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIpLGVlLmZhbGxpbmdDb2xvcj0oMCxyLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItcmlwZS1yZWQtNTAwIikpO2JyZWFrfWNhc2UiYXJlYSI6e2NvbnN0e2NoYXJ0VHlwZTplLGxpbmVDb2xvcjp0LGxpbmVDb2xvckdyb3dpbmc6cyxsaW5lQ29sb3JGYWxsaW5nOmksdG9wQ29sb3I6bix0b3BDb2xvckdyb3dpbmc6bCx0b3BDb2xvckZhbGxpbmc6Yyxib3R0b21Db2xvcjp1LGJvdHRvbUNvbG9yR3Jvd2luZzpoLGJvdHRvbUNvbG9yRmFsbGluZzpkLGxpbmVUeXBlOm09by5MaW5lVHlwZS5TaW1wbGUsbGluZVdpZHRoOnA9Mn09eGU7ZWU9e2NoYXJ0VHlwZTplLGxpbmVDb2xvcjp0LGdyb3dpbmdMaW5lQ29sb3I6cyxmYWxsaW5nTGluZUNvbG9yOmksdG9wQ29sb3I6bixncm93aW5nVG9wQ29sb3I6bCxmYWxsaW5nVG9wQ29sb3I6Yyxib3R0b21Db2xvcjp1LGdyb3dpbmdCb3R0b21Db2xvcjpoLGZhbGxpbmdCb3R0b21Db2xvcjpkLGNyb3NzaGFpck1hcmtlckJvcmRlckNvbG9yOiQsY3Jvc3NoYWlyTWFya2VyVmlzaWJsZTohMCxsaW5lVHlwZTptLGxpbmVXaWR0aDpwLHByZW1hcmtldExpbmVDb2xvcjpaLHBvc3RtYXJrZXRMaW5lQ29sb3I6WX0sdHx8c3x8aXx8KGVlLmdyb3dpbmdMaW5lQ29sb3I9KDAsci5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIpLGVlLmZhbGxpbmdMaW5lQ29sb3I9KDAsci5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXJpcGUtcmVkLTUwMCIpKSxufHxsfHxjfHwoZWUuZ3Jvd2luZ1RvcENvbG9yPSgwLGEuYXBwbHlBbHBoYSkoKDAsci5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIpLC4xKSxlZS5mYWxsaW5nVG9wQ29sb3I9KDAsYS5hcHBseUFscGhhKSgoMCxyLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItcmlwZS1yZWQtNTAwIiksLjEpKSx1fHxofHxkfHwoZWUuZ3Jvd2luZ0JvdHRvbUNvbG9yPSgwLGEuYXBwbHlBbHBoYSkoKDAsCnIuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1taW50eS1ncmVlbi01MDAiKSwwKSxlZS5mYWxsaW5nQm90dG9tQ29sb3I9KDAsYS5hcHBseUFscGhhKSgoMCxyLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItcmlwZS1yZWQtNTAwIiksMCkpO2JyZWFrfWNhc2UiYmFycyI6e2NvbnN0e2NoYXJ0VHlwZTplLHVwQ29sb3I6dCxkb3duQ29sb3I6c309eGU7ZWU9e2NoYXJ0VHlwZTplLHVwQ29sb3I6dCxkb3duQ29sb3I6c307YnJlYWt9Y2FzZSJjYW5kbGVzdGlja3MiOntjb25zdHtjaGFydFR5cGU6ZSx1cENvbG9yOnQsZG93bkNvbG9yOnMsYm9yZGVyVXBDb2xvcjpvLGJvcmRlckRvd25Db2xvcjppLHdpY2tVcENvbG9yOnIsd2lja0Rvd25Db2xvcjpufT14ZTtlZT17Y2hhcnRUeXBlOmUsdXBDb2xvcjp0LGRvd25Db2xvcjpzLGJvcmRlclVwQ29sb3I6byxib3JkZXJEb3duQ29sb3I6aSx3aWNrVXBDb2xvcjpyLHdpY2tEb3duQ29sb3I6bn07YnJlYWt9fXRlPSIwIiE9PUk/e3ZlcnRMaW5lOnt2aXNpYmxlOiEwLHN0eWxlOm8uTGluZVN0eWxlLlNvbGlkLHdpZHRoOjEsY29sb3I6S30sbW9kZTpvLkNyb3NzaGFpck1vZGUuTWFnbmV0fToiYmFycyI9PT14ZS5jaGFydFR5cGV8fCJjYW5kbGVzdGlja3MiPT09eGUuY2hhcnRUeXBlP3t2ZXJ0TGluZTp7bGFiZWxWaXNpYmxlOiEwLHZpc2libGU6ITAsc3R5bGU6by5MaW5lU3R5bGUuU29saWQsd2lkdGg6MSxjb2xvcjpLfSxob3J6TGluZTp7bGFiZWxWaXNpYmxlOiEwfX06e2hvcnpMaW5lOntsYWJlbFZpc2libGU6ITB9LHZlcnRMaW5lOntsYWJlbFZpc2libGU6ITB9fTtjb25zdCBzZT17Y2hhcnRPbmx5OkJvb2xlYW4oeGUuY2hhcnRPbmx5KSxoaWRlRGF0ZVJhbmdlczpCb29sZWFuKFApLGhpZGVNYXJrZXRTdGF0dXM6Qm9vbGVhbihEKSxoaWRlU3ltYm9sTG9nbzpCb29sZWFuKFIpLGhlYWRlckZvbnRTaXplOlcsdXRtSW5mbzpqLG5vQm9yZGVyOnR8fCgwLGkucGFyc2VSZ2JhKShtKVszXTwxLGxvY2FsZTp4ZS5sb2NhbGUsaGlkZUhlYWRlcjpCb29sZWFuKHhlLndoaXRlbGFiZWwpLHZhbHVlc1RyYWNraW5nOkksY2hhbmdlTW9kZTpBLG1pbmlDaGFydE9wdGlvbnM6e2NoYXJ0T3B0aW9uczp7Y2hhcnQ6e2dyaWQ6e2hvcnpMaW5lczp7Y29sb3I6eX0sdmVydExpbmVzOntjb2xvcjp5fX0sbGF5b3V0Ontmb250RmFtaWx5OlQsdGV4dENvbG9yOmYsZm9udFNpemU6USxhdHRyaWJ1dGlvbkxvZ286ITF9LHRpbWVTY2FsZTp7dmlzaWJsZToha30sY3Jvc3NoYWlyOnRlLGxvY2FsaXphdGlvbjp7bG9jYWxlOigwLG4uZ2V0SXNvTGFuZ3VhZ2VDb2RlRnJvbUxhbmd1YWdlKSh2KX0sLi4uWH0sc2VyaWVzOnsuLi5lZSxzY2FsZU1hcmdpbnM6e3RvcDouMDIsYm90dG9tOi4wNX0sYmFzZUxpbmVDb2xvcjpHfSx2b2x1bWU6e3Zpc2libGU6Tix1cENvbG9yOkUsZG93bkNvbG9yOk19LG1hOnt2aXNpYmxlOkwsY29sb3I6QixsaW5lV2lkdGg6VixsZW5ndGg6VSxjcm9zc2hhaXJNYXJrZXJWaXNpYmxlOiEwLGNyb3NzaGFpck1hcmtlckJvcmRlckNvbG9yOiQscHJpY2VMaW5lVmlzaWJsZTohMSxsYXN0VmFsdWVWaXNpYmxlOiExfSxjb21wYXJlU3ltYm9sOmc/e2NvbG9yOmcubGluZUNvbG9yLGxpbmVXaWR0aDpnLmxpbmVXaWR0aCxzeW1ib2w6Zy5zeW1ib2wsc2hvd0xhYmVsczpnLnNob3dMYWJlbHMsY2hhcnRUeXBlOiJsaW5lIixwcmljZUxpbmVWaXNpYmxlOiExLGxhc3RWYWx1ZVZpc2libGU6ITF9OnZvaWQgMCxkYXRlRm9ybWF0Ok8sdGltZUhvdXJzRm9ybWF0OkYsc3VwcHJlc3NUaWNrTWFya3M6e2RheUFuZFRpbWVUaWNrTWFya0ZpeEVuYWJsZWQ6ITB9fSxvbkZpcnN0RGF0YSgpe0guc3RvcCgpfSx0aW1lZnJhbWU6e2dldFRoZW1lOlM/KCk9PmFzeW5jIGZ1bmN0aW9uKGUpe3JldHVybiJsZW50YXJ1Ij09PWU/UHJvbWlzZS5hbGwoW3MuZSgxMzM5Mikscy5lKDUyNjk5KV0pLnRoZW4ocy50LmJpbmQocyw3NTY1MDUsMjMpKS50aGVuKChlPT4oMCxfLm1lcmdlVGhlbWVzKSh2ZS5ERUZBVUxUX1RJTUVfRlJBTUVfSVRFTV9USEVNRSxlKSkpOnZlLkRFRkFVTFRfVElNRV9GUkFNRV9JVEVNX1RIRU1FfShTKTp2b2lkIDAsb3B0aW9uczpwPy5tYXAoKGU9Pntjb25zdFt0LHNdPWUuc3BsaXQoInwiKTtyZXR1cm57Li4uY1siMWQiPT09dD8ibGFzdHNlc3Npb24iOnRdLHRhcmdldFJlc29sdXRpb246c319KSl8fCgwLHUuZ2V0TWVkaXVtVGltZUZyYW1lT3B0aW9ucykoaC5NZWRpdW1UaW1lRnJhbWVPcHRpb25zTW9kZS5Vc2VMYXN0U2Vzc2lvbil9fSxnZXRUYWJzVGhlbWU6KCk9PmFzeW5jIGZ1bmN0aW9uKGUpe2NvbnN0IHQ9KDAsXy5tZXJnZVRoZW1lcykoYmUuZGVmYXVsdFRoZW1lLFNlKTtyZXR1cm4ibGVudGFydSI9PT1lP1Byb21pc2UuYWxsKFtzLmUoMTIxMSkscy5lKDY5MDgzKV0pLnRoZW4ocy50LmJpbmQocyw2MjY3MjAsMjMpKS50aGVuKChlPT4oMCxfLm1lcmdlVGhlbWVzKSh0LGUpKSk6dH0oUyksZm9udENvbG9yOmJ8fEosZm9udEZhbWlseTpUfTtuZXcgZmUocSx6LHNlKX19LDYxOTk5MihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtpc1RpY2tzRW5hYmxlZDooKT0+aX0pO3ZhciBvPXMoMzE4OTc0KTtzKDkzMDIzMSk7ZnVuY3Rpb24gaSgpe3JldHVybiEoMCxvLm9uV2lkZ2V0KSgpfX0sNjk5NTUwKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1F1b3Rlc1Byb3ZpZGVyOigpPT5sfSk7dmFyIG89cygyMzIzNjQpLGk9cyg0MDIwNDUpLHI9cygxNTk1MTMpLG49cyg5NDgzODApLGE9cygxNTAxNTApO2NsYXNzIGx7Y29uc3RydWN0b3IoZT0iZnVsbCIsdCl7dGhpcy5fcXVvdGVzPW5ldyBpLldhdGNoZWRPYmplY3QobnVsbCksdGhpcy5fcXVvdGVTZXNzaW9uU3ltYm9sPW51bGwsdGhpcy5fcXVvdGVTZXNzaW9uQ2xpZW50SWQ9IiIsdGhpcy5fcGF1c2VkUXVvdGVTZXNzaW9uU3ltYm9sPW51bGwsdGhpcy5fcXVvdGVzVXBkYXRlPW5ldyBuLkRlbGVnYXRlLHRoaXMuX3F1b3RlU3ltYm9sQ2hhbmdlZD1uZXcgbi5EZWxlZ2F0ZSx0aGlzLl9jb21wbGV0ZWQ9bmV3IG8uV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9tdWx0aXBsZXhlclR5cGU9ZSwKdGhpcy5faGliZXJuYXRlZD10LHRoaXMuX2hpYmVybmF0ZWQ/LnN1YnNjcmliZSgoZT0+e2U/dGhpcy5wYXVzZSgpOnRoaXMucmVzdW1lKCl9KSl9c2V0UXVvdGVzU2Vzc2lvblN5bWJvbChlKXt0aGlzLl9xdW90ZVNlc3Npb25TeW1ib2whPT1lJiYodGhpcy5fcGF1c2VkUXVvdGVTZXNzaW9uU3ltYm9sPW51bGwsdGhpcy5fcXVvdGVTZXNzaW9uQ2xpZW50SWR8fCh0aGlzLl9xdW90ZVNlc3Npb25DbGllbnRJZD0ic2VyaWVzLSIrKDAsYS5ndWlkKSgpKSx0aGlzLl91bnN1YnNjcmliZVF1b3RlU2Vzc2lvbigpLHRoaXMuX3F1b3RlU2Vzc2lvblN5bWJvbD1lLHRoaXMuX3F1b3RlU3ltYm9sQ2hhbmdlZC5maXJlKCksZSYmdGhpcy5fc3Vic2NyaWJlUXVvdGVTZXNzaW9uKGUpKX1zeW1ib2woKXtyZXR1cm4gdGhpcy5fcXVvdGVTZXNzaW9uU3ltYm9sfXF1b3Rlc1VwZGF0ZSgpe3JldHVybiB0aGlzLl9xdW90ZXNVcGRhdGV9cXVvdGVTeW1ib2xDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3F1b3RlU3ltYm9sQ2hhbmdlZH1xdW90ZXMoKXtyZXR1cm4gdGhpcy5fcXVvdGVzLnJlYWRvbmx5KCl9Y29tcGxldGVkKCl7cmV0dXJuIHRoaXMuX2NvbXBsZXRlZC5yZWFkb25seSgpfWFzeW5jIHF1b3Rlc1NuYXBzaG90KGUpe3JldHVybigwLHIuZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKCJzaW1wbGUiKS5zbmFwc2hvdChlKX1pc1BhdXNlZCgpe3JldHVybiBudWxsIT09dGhpcy5fcGF1c2VkUXVvdGVTZXNzaW9uU3ltYm9sfXBhdXNlKCl7bnVsbD09PXRoaXMuX3BhdXNlZFF1b3RlU2Vzc2lvblN5bWJvbCYmKHRoaXMuX3BhdXNlZFF1b3RlU2Vzc2lvblN5bWJvbD10aGlzLl9xdW90ZVNlc3Npb25TeW1ib2wsdGhpcy5fdW5zdWJzY3JpYmVRdW90ZVNlc3Npb24oKSl9cmVzdW1lKCl7bnVsbCE9PXRoaXMuX3BhdXNlZFF1b3RlU2Vzc2lvblN5bWJvbCYmKHRoaXMuX3N1YnNjcmliZVF1b3RlU2Vzc2lvbih0aGlzLl9wYXVzZWRRdW90ZVNlc3Npb25TeW1ib2wpLHRoaXMuX3BhdXNlZFF1b3RlU2Vzc2lvblN5bWJvbD1udWxsKX1kZXN0cm95KCl7dGhpcy5fdW5zdWJzY3JpYmVRdW90ZVNlc3Npb24oKSx0aGlzLl9oaWJlcm5hdGVkPy5yZWxlYXNlKCl9X29uVXBkYXRlKGUsdCl7dGhpcy5fcXVvdGVzLnNldFZhbHVlKGU/LnZhbHVlcz8/bnVsbCksdCYmdC52YWx1ZXMmJnRoaXMuX3F1b3Rlc1VwZGF0ZS5maXJlKGUsdCksdm9pZCAwIT09ZS5jb21wbGV0ZSYmdGhpcy5fY29tcGxldGVkLnNldFZhbHVlKCEwKX1fc3Vic2NyaWJlUXVvdGVTZXNzaW9uKGUpe3RoaXMuX3F1b3RlU2Vzc2lvblN5bWJvbD1lLCgwLHIuZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKHRoaXMuX211bHRpcGxleGVyVHlwZSkuc3Vic2NyaWJlKHRoaXMuX3F1b3RlU2Vzc2lvbkNsaWVudElkLHRoaXMuX3F1b3RlU2Vzc2lvblN5bWJvbCx0aGlzLl9vblVwZGF0ZS5iaW5kKHRoaXMpKX1fdW5zdWJzY3JpYmVRdW90ZVNlc3Npb24oKXt0aGlzLl9xdW90ZVNlc3Npb25TeW1ib2wmJigoMCxyLmdldFF1b3RlU2Vzc2lvbkluc3RhbmNlKSh0aGlzLl9tdWx0aXBsZXhlclR5cGUpLnVuc3Vic2NyaWJlKHRoaXMuX3F1b3RlU2Vzc2lvbkNsaWVudElkLHRoaXMuX3F1b3RlU2Vzc2lvblN5bWJvbCksdGhpcy5fcXVvdGVTZXNzaW9uU3ltYm9sPW51bGwsdGhpcy5fcXVvdGVzLnNldFZhbHVlKG51bGwpLHRoaXMuX2NvbXBsZXRlZC5zZXRWYWx1ZSghMSkpfX19LDEyODk5OChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHthY3R1YWxTeW1ib2w6KCk9PmQsY3JlYXRlU2VyaWVzRm9ybWF0dGVyOigpPT5oLGdldFN5bWJvbERlbGF5U2Vjb25kczooKT0+Xyxpc0Nsb3NlQmFzZWRTeW1ib2w6KCk9PnAsaXNGdXR1cmVzQ29udHJhY3RTeW1ib2w6KCk9PmcsaXNITENCYXNlZFN0eWxlOigpPT51LGlzUmVndWxhclNlc3Npb25JZDooKT0+bSxpc1NpbmdsZVZhbHVlQmFzZWRTdHlsZTooKT0+Y30pO3MoMTg1MjcxKTt2YXIgbz1zKDkzMDIzMSksaT0ocyg5MzA1NjYpLHMoMzE4OTc0KSxzKDE1NjgyOSkpLHI9KHMoNzk4MzgpLHMoNzU1NjI3KSksbj1zKDk4NDM3NiksYT1zKDEyNTIxOCk7cygzMTQ5MTQpOygwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiksKDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV9vYmplY3RfdHJlZV9hbmRfcHJpY2Vfc2NhbGVfZXhjaGFuZ2VfbGFiZWwiKTt2YXIgbDshZnVuY3Rpb24oZSl7ZS5MYXN0VXNlZFN0eWxlS2V5PSJjaGFydC5sYXN0VXNlZFN0eWxlIixlLkxhc3RVc2VkU2luZ2xlVmFsdWVCYXNlZFN0eWxlPSJjaGFydC5sYXN0VXNlZFNpbmdsZVZhbHVlQmFzZWRTdHlsZSIsZS5MYXN0VXNlZFJhd0RhdGFTdHlsZT0iY2hhcnQucmF3RGF0YVN0eWxlIixlLkxhc3RVc2VkTWV0cmljPSJjaGFydC5sYXN0VXNlZE1ldHJpYyJ9KGx8fChsPXt9KSk7ZnVuY3Rpb24gYyhlKXtzd2l0Y2goZSl7Y2FzZSAzOmNhc2UgMTA6Y2FzZSAyOmNhc2UgMTQ6Y2FzZSAxNTpjYXNlIDEzOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIHUoZSl7c3dpdGNoKGUpe2Nhc2UgMTY6Y2FzZSAyMTpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX1mdW5jdGlvbiBoKGUsdCxzPSExKXtjb25zdHtwcmljZVNjYWxlOm8sbWluTW92ZTppLGZyYWN0aW9uYWw6bCxtaW5Nb3ZlMjpjLHZhcmlhYmxlTWluVGljazp1LG5vRXhwb25lbnRpYWxGb3JtOmh9PWZ1bmN0aW9uKGUsdD0iZGVmYXVsdCIscz0hMSl7bGV0IG8saSxyLG4sYT0xMDAsbD0xO2lmKCJkZWZhdWx0Ij09PXQpbnVsbCE9ZSYmKCh7cHJpY2VzY2FsZTphLG1pbm1vdjpsLG1pbm1vdmUyOmksZnJhY3Rpb25hbDpvfT1lKSxyPWUudmFyaWFibGVfdGlja19zaXplfHx2b2lkIDApO2Vsc2V7bGV0IGU9dC5zcGxpdCgiLCIpOzMhPT1lLmxlbmd0aCYmKGU9WyIxMDAiLCIxIiwiZmFsc2UiXSksYT1wYXJzZUludChlWzBdKSxsPXBhcnNlSW50KGVbMV0pLG89InRydWUiPT09ZVsyXSxuPSEwfXJldHVybiBzJiYobD0xKSx7cHJpY2VTY2FsZTphLG1pbk1vdmU6bCxmcmFjdGlvbmFsOm8sbWluTW92ZTI6aSx2YXJpYWJsZU1pblRpY2s6cixpZ25vcmVNaW5Nb3ZlOnMsCm5vRXhwb25lbnRpYWxGb3JtOm59fShlLHQscyk7aWYobnVsbCE9ZSl7Y29uc3Qgcj1lLmZvcm1hdDtpZigiZGVmYXVsdCI9PT10JiYidm9sdW1lIj09PXIpcmV0dXJuIG5ldyBuLlZvbHVtZUZvcm1hdHRlcih7cHJlY2lzaW9uOjJ9KTtpZigicGVyY2VudCI9PT1yKXJldHVybiBuZXcgYS5QZXJjZW50YWdlRm9ybWF0dGVyKHtwcmljZVNjYWxlOm8sbWluTW92ZTppLGZyYWN0aW9uYWw6bCxtaW5Nb3ZlMjpjLHZhcmlhYmxlTWluVGljazp1LGlnbm9yZU1pbk1vdmU6c30pfXJldHVybiBuZXcgci5QcmljZUZvcm1hdHRlcih7cHJpY2VTY2FsZTpvLG1pbk1vdmU6aSxmcmFjdGlvbmFsOmwsbWluTW92ZTI6Yyx2YXJpYWJsZU1pblRpY2s6dSxpZ25vcmVNaW5Nb3ZlOnMsbm9FeHBvbmVudGlhbEZvcm06aH0pfWZ1bmN0aW9uIGQoZSx0KXtyZXR1cm4gbnVsbCE9PWU/ZS5mdWxsX25hbWU6dH1mdW5jdGlvbiBtKGUsdCl7d2luZG93O3JldHVyblsic3RvY2siLCJmdW5kIiwiaW5kZXgiLCJkciJdLmluY2x1ZGVzKHQudHlwZSkmJiJyZWd1bGFyIj09PWV8fCgwLGkuaXNGdXR1cmVzKSh0LnR5cGUpJiYidXNfcmVndWxhciI9PT1lfWZ1bmN0aW9uIHAoZSl7cmV0dXJuImMiPT09ZT8udmlzaWJsZV9wbG90c19zZXR9ZnVuY3Rpb24gZyhlKXtyZXR1cm4gbnVsbCE9PWUmJigwLGkuaXNGdXR1cmVzKShlLnR5cGUpJiYhQm9vbGVhbihlLnR5cGVzcGVjcz8uaW5jbHVkZXMoImNvbnRpbnVvdXMiKSl9ZnVuY3Rpb24gXyhlKXtyZXR1cm4gTWF0aC5tYXgoMCxlPy5kZWxheT8/MCl9fSw5MTEzMjcoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Z2V0U3ltYm9sUGFnZVBhdGg6KCk9PmF9KTtzKDk2MzkwMCkscygzMDk4MzYpO3ZhciBvPXMoODUxNDU4KSxpPXMoMTU2ODI5KTtjb25zdCByPW5ldyBTZXQoWyJTUDpTUFgiLCJDQk9FOlNQWCJdKTtmdW5jdGlvbiBuKGUpe2NvbnN0IHQ9ey4uLmV9O2lmKCJzcHJlYWQiPT09dC50eXBlfHwiZXhwcmVzc2lvbiI9PT10LnR5cGUpe2NvbnN0IGU9dC5zaG9ydE5hbWUmJmwodC5zaG9ydE5hbWUpLHM9dC5wcm9OYW1lJiZsKHQucHJvTmFtZSk7dC50eXBlPXZvaWQgMCx0LnNob3J0TmFtZT1lLHQucHJvTmFtZT1zfXJldHVybiB0fWZ1bmN0aW9uIGEoZSx0KXtjb25zdCBzPW4oZSk7cmV0dXJuIHUoaChzLHQpLGMocykpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuKDAsby50b2tlbml6ZSkoZSkuZmluZCgoZT0+InN5bWJvbCI9PT1lLnR5cGUpKT8udmFsdWV9ZnVuY3Rpb24gYyhlKXtjb25zdCB0PXtzaG9ydE5hbWU6ZS5zaG9ydE5hbWUsZXhjaGFuZ2U6ZS5leGNoYW5nZSxwcm9OYW1lOmUucHJvTmFtZSx0eXBlOmUudHlwZSx0eXBlc3BlY3M6ZS50eXBlc3BlY3Mscm9vdDplLnJvb3R9O3JldHVybiB0LnByb05hbWUmJnQucHJvTmFtZS5pbmNsdWRlcygiOiIpJiYoW3QuZXhjaGFuZ2UsdC5zaG9ydE5hbWVdPXQucHJvTmFtZS5zcGxpdCgiOiIpKSx0fWZ1bmN0aW9uIHUoZSx0KXtjb25zdCBzPWVuY29kZVVSSUNvbXBvbmVudCh0LnNob3J0TmFtZXx8IiIpLG89ZW5jb2RlVVJJQ29tcG9uZW50KHQuZXhjaGFuZ2V8fCIiKSxpPWVuY29kZVVSSUNvbXBvbmVudCh0LnByb05hbWV8fCIiKSxyPWVuY29kZVVSSUNvbXBvbmVudCh0LnJvb3R8fCIiKTtyZXR1cm4gZS5yZXBsYWNlKCJ7dHZleGNoYW5nZX0iLG8pLnJlcGxhY2UoInt0dnN5bWJvbH0iLHMpLnJlcGxhY2UoInt0dnByb3N5bWJvbH0iLGkpLnJlcGxhY2UoInt0dnJvb3R9IixyKX1mdW5jdGlvbiBoKGUsdD0iIil7Y29uc3Qgcz1jKGUpLHt0eXBlOm8sdHlwZXNwZWNzOm4sc2hvcnROYW1lOmEscHJvTmFtZTpsLGV4Y2hhbmdlOnUscm9vdDpofT1zO3JldHVybiB2b2lkIDA9PT1hJiZ2b2lkIDA9PT1sPyhjb25zb2xlLndhcm4oIlBhcmFtcyBtaXNzZWQiKSwiLyIpOmwmJnIuaGFzKGwpP2Avc3ltYm9scy97dHZzeW1ib2x9LyR7dH1gOm98fG4/ImNvbW1vZGl0eSI9PT1vJiZuJiZuLmluY2x1ZGVzKCJjZmQiKT8iL3N5bWJvbHMve3R2c3ltYm9sfS8/ZXhjaGFuZ2U9e3R2ZXhjaGFuZ2V9IjohaHx8IW58fCJmdXR1cmVzIiE9PW98fG4uaW5jbHVkZXMoImNvbnRpbnVvdXMiKSYmYT8uZW5kc1dpdGgoIjEhIil8fG4uaW5jbHVkZXMoImV4Y2hhbmdlLWNvbnRpbnVvdXMiKT91JiYoImZvcmV4Ij09PW98fG4mJigwLGkuaGFzQ3J5cHRvVHlwZXNwZWMpKG4pKT8iL3N5bWJvbHMve3R2c3ltYm9sfS8/ZXhjaGFuZ2U9e3R2ZXhjaGFuZ2V9Ijp1P2Avc3ltYm9scy97dHZleGNoYW5nZX0te3R2c3ltYm9sfS8ke3R9YDpgL3N5bWJvbHMve3R2c3ltYm9sfS8ke3R9YDpgL3N5bWJvbHMve3R2ZXhjaGFuZ2V9LXt0dnJvb3R9MSEvJHt0fT9jb250cmFjdD17dHZzeW1ib2x9YDp1P2Avc3ltYm9scy97dHZleGNoYW5nZX0te3R2c3ltYm9sfS8ke3R9YDpgL3N5bWJvbHMve3R2c3ltYm9sfS8ke3R9YH19LDczMDY0NShlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSl7Y29uc3QgdD1uZXcgVVJMKGUsZG9jdW1lbnQuYmFzZVVSSSk7cmV0dXJuIG4odCkmJnIodCkmJmkodCl9cy5kKHQse2lzSW50ZXJuYWxIb3N0OigpPT5hLGlzSW50ZXJuYWxVcmw6KCk9Pm8saXNUdkxpbms6KCk9Pmx9KTtjb25zdCBpPWU9PiFlLnVzZXJuYW1lLHI9ZT0+Imh0dHA6Ij09PWUucHJvdG9jb2x8fCJodHRwczoiPT09ZS5wcm90b2NvbCxuPWU9PmUuaG9zdG5hbWU9PT1sb2NhdGlvbi5ob3N0bmFtZXx8IS9eXGQrXC5cZCtcLlxkK1wuXGQrJC8udGVzdChlLmhvc3RuYW1lKSYmYShlLmhvc3RuYW1lKTtmdW5jdGlvbiBhKGUsdD13aW5kb3cubG9jYXRpb24uaG9zdG5hbWUpe2NvbnN0IHM9Ii4iPT09dC5zbGljZSgtMSk/MzoyLG89dC50b0xvd2VyQ2FzZSgpLnNwbGl0KCIuIikuc2xpY2UoLXMpLGk9ZS50b0xvd2VyQ2FzZSgpLnNwbGl0KCIuIikuc2xpY2UoLW8ubGVuZ3RoKTtyZXR1cm4gby5qb2luKCIuIik9PT1pLmpvaW4oIi4iKX1mdW5jdGlvbiBsKGUpe3RyeXtyZXR1cm4gZS5zdGFydHNXaXRoKCIvIil8fGEobmV3IFVSTChlKS5ob3N0bmFtZSwidHJhZGluZ3ZpZXcuY29tIil9Y2F0Y2h7cmV0dXJuITF9fX0sMzA5ODM2KGUsdCxzKXsidXNlIHN0cmljdCI7cyg2MDE1ODcpCn0sNjAxNTg3KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2J1aWxkVXRtUXVlcnlTdHJpbmc6KCk9PmEsYnVpbGRVdG1RdWVyeVN0cmluZ0Zyb21VcmxQYXJhbXM6KCk9PmwsZmlsdGVyVXRtSW5mbzooKT0+bn0pO3ZhciBvPXMoNDkyNjc3KSxpPXMoNjQxNTkzKTtjb25zdCByPVsidXRtX3NvdXJjZSIsInV0bV9tZWRpdW0iLCJ1dG1fY2FtcGFpZ24iXTtmdW5jdGlvbiBuKGUpe2NvbnN0IHQ9e307cmV0dXJuIHIuZm9yRWFjaCgocz0+e2NvbnN0IG89ZVtzXTsic3RyaW5nIj09dHlwZW9mIG8mJiIiIT09byYmKHRbc109KDAsaS5odG1sRXNjYXBlKShvKSl9KSksdH1mdW5jdGlvbiBhKGUsdD0hMSl7Y29uc3Qgcz0oMCxvLmNyZWF0ZVVybFBhcmFtcykoZSk7cmV0dXJuIHMmJnQ/Ij8iK3M6c31mdW5jdGlvbiBsKGUpe3JldHVybiBhKG4oKDAsby5nZXRVcmxQYXJhbXMpKCkpLGUpfX0sOTM1MShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMy45MiA3LjgzIDkgMTIuMjlsNS4wOC00LjQ2LTEtMS4xM0w5IDEwLjI5bC00LjA5LTMuNi0uOTkgMS4xNFoiLz48L3N2Zz4nfSwyMjEwNjEoZSx0LHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgbztzLmQodCx7TE9HTEVWRUw6KCk9Pm8sZ2V0TG9nSGlzdG9yeTooKT0+ZyxnZXRMb2dnZXI6KCk9PnksZ2V0UmF3TG9nSGlzdG9yeTooKT0+bSxpc0hpZ2hSYXRlRW5hYmxlZDooKT0+ZCxzZXJpYWxpemVMb2dIaXN0b3J5RW50cnk6KCk9PnB9KSxmdW5jdGlvbihlKXtlW2UuRVJST1I9MV09IkVSUk9SIixlW2UuV0FSTklORz0yXT0iV0FSTklORyIsZVtlLklORk89M109IklORk8iLGVbZS5OT1JNQUw9NF09Ik5PUk1BTCIsZVtlLkRFQlVHPTVdPSJERUJVRyJ9KG98fChvPXt9KSk7bGV0IGk9MDtjb25zdCByPVtdO2xldCBuPW51bGwsYT1udWxsLGw9bnVsbCxjPW51bGwsdT1vLldBUk5JTkcsaD0hMTtmdW5jdGlvbiBkKCl7cmV0dXJuIGh9ZnVuY3Rpb24gbShlLHQpe2xldCBzPXIucmVkdWNlKCgoZSx0KT0+ZS5jb25jYXQodCkpLFtdKTtyZXR1cm4gcy5zb3J0KCgoZSx0KT0+ZS5pZC10LmlkKSksdm9pZCAwIT09dCYmKHM9cy5maWx0ZXIoKGU9PmUuc3ViU3lzdGVtSWQ9PT10KSkpLCJudW1iZXIiPT10eXBlb2YgZSYmKHM9cy5zbGljZSgtZSkpLHN9ZnVuY3Rpb24gcChlKXtyZXR1cm4gbmV3IERhdGUoZS50aW1lc3RhbXApLnRvSVNPU3RyaW5nKCkrIjoiK2Uuc3ViU3lzdGVtSWQrIjoiK2UubWVzc2FnZS5yZXBsYWNlKC8iL2csIiciKX1jb25zdCBnPShlLHQpPT5mdW5jdGlvbihlLHQpe2xldCBzLG89MCxpPTA7Zm9yKHM9ZS5sZW5ndGgtMTtzPj0xJiYobys9OCooMStlbmNvZGVVUklDb21wb25lbnQoZVtzXSkubGVuZ3RoKSwhKHMtMT4wJiYoaT04KigxK2VuY29kZVVSSUNvbXBvbmVudChlW3MtMV0pLmxlbmd0aCksbytpPnQpKSk7cy0tKTtyZXR1cm4gZS5zbGljZShzKX0obShlLHQpLm1hcChwKSw3NTQ5NzQ3Mik7ZnVuY3Rpb24gXyhlLHQscyxyLGgpe2lmKHQ9PT1hJiZyLmlkPT09bClyZXR1cm47Y29uc3QgbT1uZXcgRGF0ZTtpZihlPD1vLk5PUk1BTCYmZnVuY3Rpb24oZSx0LHMsbyxyLG4peyJmdW5jdGlvbiI9PXR5cGVvZiBzdHJ1Y3R1cmVkQ2xvbmUmJih0PXN0cnVjdHVyZWRDbG9uZSh0KSksdD10LnNsaWNlKDAsbj8/MWUzKTtjb25zdCBhPXtpZDppLG1lc3NhZ2U6dCxzdWJTeXN0ZW1JZDpvLHRpbWVzdGFtcDpOdW1iZXIoZSl9O2krPTEscy5wdXNoKGEpLHZvaWQgMCE9PXImJnMubGVuZ3RoPnImJnMuc3BsaWNlKDAsMSl9KG0sdCxzLHIuaWQsci5tYXhDb3VudCxoKSxlPD11JiYoIXIuaGlnaFJhdGV8fGQoKSkmJighbnx8ci5pZC5tYXRjaChuKSkpe2NvbnN0IHM9bS50b0lTT1N0cmluZygpKyI6IityLmlkKyI6Iit0O3N3aXRjaChlKXtjYXNlIG8uREVCVUc6Y29uc29sZS5kZWJ1ZyhzKTticmVhaztjYXNlIG8uSU5GTzpjYXNlIG8uTk9STUFMOnIuY29sb3I/Y29uc29sZS5sb2coIiVjIitzLCJjb2xvcjogIityLmNvbG9yKTpjb25zb2xlLmxvZyhzKTticmVhaztjYXNlIG8uV0FSTklORzpjb25zb2xlLndhcm4ocyk7YnJlYWs7Y2FzZSBvLkVSUk9SOmNvbnNvbGUuZXJyb3Iocyl9YT10LGw9ci5pZCxudWxsIT09YyYmY2xlYXJUaW1lb3V0KGMpLGM9c2V0VGltZW91dCgoKCk9PnthPW51bGwsbD1udWxsLGM9bnVsbH0pLDFlMyl9fWZ1bmN0aW9uIHkoZSx0PXt9KXtjb25zdCBzPVtdO3IucHVzaChzKTtjb25zdCBpPU9iamVjdC5hc3NpZ24odCx7aWQ6ZX0pO2Z1bmN0aW9uIG4oZSl7cmV0dXJuKHQsbyk9Pl8oZSxTdHJpbmcodCkscyxpLG8pfXJldHVybntsb2dEZWJ1ZzpuKG8uREVCVUcpLGxvZ0Vycm9yOm4oby5FUlJPUiksbG9nSW5mbzpuKG8uSU5GTyksbG9nTm9ybWFsOm4oby5OT1JNQUwpLGxvZ1dhcm46bihvLldBUk5JTkcpfX19fV0pOw=="}},"time_used":1,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.12858.ad72d76c41bbd415231e.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.168Z","timestamp":1785120634168,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.12858.ad72d76c41bbd415231e.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a7-109c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:07 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:19:17\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b9d7f88515a690febf214dfd6517dbed\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4252,"size_decoded":2387,"mime_type":"application/javascript; charset=utf-8","magic":"Unicode text, UTF-8 text, with very long lines (3068)","md5":"ba9edaf93bd6d486a36ba355f758cc90","sha1":"918531d0606317a1c90c9a7b9ae1722f6e14a166","sha256":"bc555cf8e54ac82ab294e301570531b051716b29c08dd9ca453d3cd4a0c32a27","sha512":"580c166e5196ae546cc97d7a4a16ac7deded6dea86b5fe31c01a4f004d915df4141f62287edda623a8bc419bf0750aa62303123824c69fcfb76e694095b86308","ssdeep":"96:6vhtKURB2ytA5YoHgm61Nmub4Zy3DaTJRr:shNRz+Hgm61Fb4ZyzaTJh","tlshash":"40911e27d000c1ea6fb6d9287796dcd0b9f4b1d101f1e8ca7785af56c21be6528392f8","first_seen":"2026-07-23T22:46:45.851981Z","last_seen":"2026-07-27T06:01:16.237981Z","times_seen":25,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxMjg1OCwxNzg1OSwyNDkyOSw0MDI0MCw4NzIzOCw5NDM4OCw5NDcwMl0sezYxNzM0MChlKXtlLmV4cG9ydHM9WyJDb2x1bW5zIl19LDExODQ5MShlKXtlLmV4cG9ydHM9WyJDYW5kbGVzIl19LDc5NjA5MyhlKXtlLmV4cG9ydHM9WyJBcmVhIl19LDk0MTYyOShlKXtlLmV4cG9ydHM9WyJCYXJzIl19LDUyNTMzMShlKXtlLmV4cG9ydHM9WyJCYXNlbGluZSJdfSw0MTM0MyhlKXtlLmV4cG9ydHM9WyJLYWdpIl19LDk2Nzg0MShlKXtlLmV4cG9ydHM9WyJITEMgYXJlYSJdfSw2ODMwMChlKXtlLmV4cG9ydHM9WyJITEMgYmFycyJdfSwzMzE4MjQoZSl7ZS5leHBvcnRzPVsiSG9sbG93IGNhbmRsZXMiXX0sODM1NTQzKGUpe2UuZXhwb3J0cz1bIkhlaWtpbiBBc2hpIl19LDk1MjgxMChlKXtlLmV4cG9ydHM9WyJIaWdoLWxvdyJdfSwyMTA0OTkoZSl7ZS5leHBvcnRzPVsiTGluZSJdfSwxODYxNDcoZSl7ZS5leHBvcnRzPVsiTGluZSB3aXRoIG1hcmtlcnMiXX0sMzA3NDM2KGUpe2UuZXhwb3J0cz1bIkxpbmUgYnJlYWsiXX0sNjg3OTUxKGUpe2UuZXhwb3J0cz1bIlNlc3Npb24gdm9sdW1lIHByb2ZpbGUiXX0sOTE2MTQ4KGUpe2UuZXhwb3J0cz1bIlN0ZXAgbGluZSJdfSw4NjcwMjEoZSl7ZS5leHBvcnRzPVsiUG9pbnQgJiBmaWd1cmUiXX0sMTg4MzUyKGUpe2UuZXhwb3J0cz1bIlJhbmdlIl19LDQ2MTczOChlKXtlLmV4cG9ydHM9WyJSZW5rbyJdfSwxMTc5ODQoZSl7ZS5leHBvcnRzPVsiVGltZSBwcmljZSBvcHBvcnR1bml0eSJdfSw4OTIzNzUoZSl7ZS5leHBvcnRzPVsiVm9sdW1lIGNhbmRsZXMiXX0sMjAxMDczKGUpe2UuZXhwb3J0cz1bIlZvbHVtZSBmb290cHJpbnQiXX0sNTU4NDEyKGUpe2UuZXhwb3J0cz1bIiUgb2YgR0RQIl19LDIyOTk5NChlKXtlLmV4cG9ydHM9WyJDIl19LDk1NDYxNChlKXtlLmV4cG9ydHM9WyJIIl19LDgzOTQ2MyhlKXtlLmV4cG9ydHM9WyJMIl19LDk2MDUxMyhlKXtlLmV4cG9ydHM9WyJPIl19LDU2NTMyMShlKXtlLmV4cG9ydHM9WyJWb2wiXX0sNTQ1MjI0KGUpe2UuZXhwb3J0cz1bIk92ZXJuaWdodCB2aWEgQk9BVFMiXX0sODI5MjczKGUpe2UuZXhwb3J0cz1bIkludHJhZGF5IHNwcmVhZCBkYXRhIGlzIG5vdCBhdmFpbGFibGUiXX0sMjk5MTUzKGUpe2UuZXhwb3J0cz1bIk5vIGRhdGEiXX0sMjg1ODkzKGUpe2UuZXhwb3J0cz1bIk5vIGRhdGEgZm9yIHRoaXMgcmVzb2x1dGlvbiJdfSw3MzQ3NTAoZSl7ZS5leHBvcnRzPVsiTWF5Il19LDM4NDU5NyhlKXtlLmV4cG9ydHM9WyJDRkQiXX0sNjU1MjM1KGUpe2UuZXhwb3J0cz1bIkNyeXB0byJdfSwzNTAxNDYoZSl7ZS5leHBvcnRzPVsiQWxsIl19LDc2NTQ0MChlKXtlLmV4cG9ydHM9WyJCb25kcyJdfSw1NDgzMjIoZSl7ZS5leHBvcnRzPVsiRWNvbm9teSJdfSw5Nzk5NyhlKXtlLmV4cG9ydHM9WyJGb3JleCJdfSw1MDUwNzkoZSl7ZS5leHBvcnRzPVsiRnV0dXJlcyJdfSw1NjQ5MTcoZSl7ZS5leHBvcnRzPVsiRnVuZHMiXX0sOTI3NDExKGUpe2UuZXhwb3J0cz1bIkluZGljZXMiXX0sNzk2MDAoZSl7ZS5leHBvcnRzPVsiT3B0aW9ucyJdfSw1NTU1MTAoZSl7ZS5leHBvcnRzPVsiU3RvY2tzIl19LDU3MDYyKGUpe2UuZXhwb3J0cz1bIk4vQSJdfSw4MTkwNzgoZSl7ZS5leHBvcnRzPVsiM00iXX0sMjcyMDk4KGUpe2UuZXhwb3J0cz1bIjNZIl19LDExMTk3NihlKXtlLmV4cG9ydHM9WyIxIHllYXIiXX0sNjcwNTY4KGUpe2UuZXhwb3J0cz1bIjEwIHllYXJzIl19LDk5NTA2NihlKXtlLmV4cG9ydHM9WyIxMFkiXX0sODMyNzMzKGUpe2UuZXhwb3J0cz1bIjFNIl19LDkzODEwMChlKXtlLmV4cG9ydHM9WyIxRCJdfSw0OTIxMzUoZSl7ZS5leHBvcnRzPVsiMVciXX0sNzcwMzAzKGUpe2UuZXhwb3J0cz1bIjFZIl19LDkzNDc3NyhlKXtlLmV4cG9ydHM9WyIyWSJdfSwzMjgwMzAoZSl7ZS5leHBvcnRzPVsiMyBtb250aHMiXX0sODI4NTUoZSl7ZS5leHBvcnRzPVsiNUQiXX0sNDQ2NTYwKGUpe2UuZXhwb3J0cz1bIjVZIl19LDY4MDc2KGUpe2UuZXhwb3J0cz1bIjZNIl19LDY3MzQ4NyhlKXtlLmV4cG9ydHM9WyJDaGFuZ2UiXX0sMjMzNjkwKGUpe2UuZXhwb3J0cz1bIkFsbCJdfSwyOTA3ODcoZSl7ZS5leHBvcnRzPVsiQWxsIHRpbWUiXX0sNTI2Nzg1KGUpe2UuZXhwb3J0cz1bIkFwciJdfSw5Mzc2MihlKXtlLmV4cG9ydHM9WyJBdWciXX0sODY4ODEwKGUpe2UuZXhwb3J0cz1bIkJpbGxlZCBldmVyeSBtb250aC4iXX0sOTEzOTU1KGUpe2UuZXhwb3J0cz1bIkJpbGxlZCBldmVyeSB5ZWFyLiJdfSw3NjkwMzYoZSl7ZS5leHBvcnRzPVsiRGVjIl19LDg3MjM4KGUpe2UuZXhwb3J0cz1bIkVycm9yIl19LDYxNzM0MShlKXtlLmV4cG9ydHM9WyJGZWIiXX0sOTY4ODE1KGUpe2UuZXhwb3J0cz1bIkZyYWN0aW9uIHBhcnQgaXMgaW52YWxpZC4iXX0sNzMyNzc2KGUpe2UuZXhwb3J0cz1bIkludmFsaWQgc3ltYm9sIl19LDY1NzM3NChlKXtlLmV4cG9ydHM9WyJKYW4iXX0sMTgzOTU5KGUpe2UuZXhwb3J0cz1bIkp1bCJdfSw4Nzc0NShlKXtlLmV4cG9ydHM9WyJKdW4iXX0sNzI4MzM3KGUpe2UuZXhwb3J0cz1bIk9jdCJdfSw0MzExNTcoZSl7ZS5leHBvcnRzPVsiTGFzdCBwcmljZSJdfSwxMDMzMDUoZSl7ZS5leHBvcnRzPVsiTWFyIl19LDUxOTcoZSl7ZS5leHBvcnRzPVsiTm8gZGF0YSBoZXJlIl19LDE0NjgwNyhlKXtlLmV4cG9ydHM9WyJObyBkYXRhIGhlcmUgeWV0Il19LDY0NjU0NShlKXtlLmV4cG9ydHM9WyJOb3YiXX0sODUwMjk4KGUpe2UuZXhwb3J0cz1bIlNlY29uZCBmcmFjdGlvbiBwYXJ0IGlzIGludmFsaWQuIl19LDE3ODQ2OShlKXtlLmV4cG9ydHM9WyJTZXAiXX0sOTkyMzYyKGUpe2UuZXhwb3J0cz1bIlN0dWRpZXMgbGltaXQgZXhjZWVkZWQ6IHtudW1iZXJ9IHN0dWRpZXMgcGVyIGxheW91dC5cblBsZWFzZSwgcmVtb3ZlIHNvbWUgc3R1ZGllcy4iXX0sNjczNTIzKGUpe2UuZXhwb3J0cz1bIlBhc3QgeWVhciJdfSw4Nzg3MDgoZSl7ZS5leHBvcnRzPVsiUGFzdCBmaXZlIHllYXJzIl19LDQzMDMzMyhlKXsKZS5leHBvcnRzPVsiUGFzdCBtb250aCJdfSw0NDY1NihlKXtlLmV4cG9ydHM9WyJQYXN0IHF1YXJ0ZXIiXX0sNjE2MTgoZSl7ZS5leHBvcnRzPVsiUHJpY2UgZm9ybWF0IGlzIGludmFsaWQuIl19LDg5NzY3KGUpe2UuZXhwb3J0cz1bIlExIl19LDk0ODkyMyhlKXtlLmV4cG9ydHM9WyJRMiJdfSwzNjc5MzUoZSl7ZS5leHBvcnRzPVsiUTMiXX0sMTc1NTA3KGUpe2UuZXhwb3J0cz1bIlE0Il19LDkzNzAxNyhlKXtlLmV4cG9ydHM9WyJXYXJuaW5nIl19LDYxNDQ1MChlKXtlLmV4cG9ydHM9WyJUb2RheSJdfSwxMTQzMzgoZSl7ZS5leHBvcnRzPVsiVGhpcyBzeW1ib2wgaXMgb25seSBhdmFpbGFibGUgb24ge2xpbmtTdGFydH1UcmFkaW5nVmlld3tsaW5rRW5kfSJdfSw1MTc4NTkoZSl7ZS5leHBvcnRzPVsiVmlzaXQgVHJhZGluZ1ZpZXcg4oCUIGZpbmFuY2lhbCBjaGFydGluZyBwbGF0Zm9ybSBhbmQgdHJhZGluZyBjb21tdW5pdHkiXX0sNDIyMzY5KGUpe2UuZXhwb3J0cz1bIllURCJdfSw0ODU0MjAoZSl7ZS5leHBvcnRzPVsiWWVhciB0byBkYXRlIl19LDcyMTExOChlKXtlLmV4cG9ydHM9WyJhbm51YWxseSJdfSw2NTM2OShlKXtlLmV4cG9ydHM9WyJiaWxsZWQgbW9udGhseSJdfSwyNjAxOTMoZSl7ZS5leHBvcnRzPVsiYmlsbGVkIGFubnVhbGx5Il19LDU1NjU2OChlKXtlLmV4cG9ydHM9WyJtb250aGx5Il19LDg2Mzg1MihlKXtlLmV4cG9ydHM9WyJ0aHJlZSBtb250aHMiXX0sODM1OChlKXtlLmV4cG9ydHM9WyJ0cmlhbCJdfSwxNTM3NjYoZSl7ZS5leHBvcnRzPVsie3Byb1BsYW5OYW1lfSBUcmlhbCJdfSwzMjM0ODUoZSl7ZS5leHBvcnRzPVsibW9udGgiLCJtb250aHMiXX0sMTAzMDMwKGUpe2UuZXhwb3J0cz1bIntzdHJ9IGRheSIsIntzdHJ9IGRheXMiXX0sMjEwNTc0KGUpe2UuZXhwb3J0cz1bIntzdHJ9IGhvdXIiLCJ7c3RyfSBob3VycyJdfSw2OTQ2MTcoZSl7ZS5leHBvcnRzPVsie3N0cn0gbW9udGgiLCJ7c3RyfSBtb250aHMiXX0sNDM5MChlKXtlLmV4cG9ydHM9WyJ7c3RyfSBtaW51dGUiLCJ7c3RyfSBtaW51dGVzIl19LDY0NDYyNShlKXtlLmV4cG9ydHM9WyJ7c3RyfSB3ZWVrIiwie3N0cn0gd2Vla3MiXX0sMjE2NDAyKGUpe2UuZXhwb3J0cz1bIntzdHJ9IHllYXIiLCJ7c3RyfSB5ZWFycyJdfSw0NDI2NjYoZSl7ZS5leHBvcnRzPVsieWVhciIsInllYXJzIl19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/medium-widget-creator.acae84f4101b42f4c83a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.273Z","timestamp":1785120634273,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/medium-widget-creator.acae84f4101b42f4c83a.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-14e99\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:32:38\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 06d78213fc60965186aea05d13fc7eed\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":85657,"size_decoded":30128,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3069)","md5":"1a3a6f6b5fa3ac49d3041777a05c4d00","sha1":"6f36185ce7c4b46b18a1f3b45ec078597274cbdf","sha256":"c00212402d63e94e4830a5474e400df48f4a3bd64e9753c9b61e8d63494d3067","sha512":"d6ab69c42e887e2c1755b516f7e3f38ce8f0bc550183c89122629fa03d625fb7350915ad17dc76cf16b594d0ea6b11815147544ea86c3a6e022ed350cdd2f7da","ssdeep":"1536:5U5XkOpmRp94W21iPgAmNy+PztsX+Sqy2QxvGg:5bOQRp94W5POy+Pztsufpg","tlshash":"08832954f092707252e382ee94771003e73a5a89b8494669f67c9cde6b9dc0db231f7c","first_seen":"2026-07-24T23:32:32.528697Z","last_seen":"2026-07-27T06:01:16.171841Z","times_seen":21,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szMjEwMCw4OTQ2N10sezM5MTgwNyhlKXtlLmV4cG9ydHM9e2xhYmVsOiJsYWJlbC11eklHSTIxQSIsc3RhcnQ6InN0YXJ0LXV6SUdJMjFBIn19LDQ3MDY3OShlKXtlLmV4cG9ydHM9e3ZhbHVlc0luTGVnZW5kQ29udGFpbmVyOiJ2YWx1ZXNJbkxlZ2VuZENvbnRhaW5lci1UdjYzcU83aSIscXVvdGVUaWNrZXJDb250YWluZXI6InF1b3RlVGlja2VyQ29udGFpbmVyLVR2NjNxTzdpIix2YWx1ZXNJbkxlZ2VuZENvbnRhaW5lcl9zaG93OiJ2YWx1ZXNJbkxlZ2VuZENvbnRhaW5lcl9zaG93LVR2NjNxTzdpIixxdW90ZVRpY2tlckNvbnRhaW5lcl9zaG93OiJxdW90ZVRpY2tlckNvbnRhaW5lcl9zaG93LVR2NjNxTzdpIixnb1RvVHZMaW5rOiJnb1RvVHZMaW5rLVR2NjNxTzdpIn19LDM0ODg0OShlKXtlLmV4cG9ydHM9e3NxdWFyZVRhYkJ1dHRvbjoic3F1YXJlVGFiQnV0dG9uLVJLS1RSaFo2IixzZWxlY3RlZDoic2VsZWN0ZWQtUktLVFJoWjYiLGRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlczoiZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLVJLS1RSaFo2IixkaXNhYmxlZDoiZGlzYWJsZWQtUktLVFJoWjYiLGRpc2FibGVGb2N1c091dGxpbmU6ImRpc2FibGVGb2N1c091dGxpbmUtUktLVFJoWjYiLHhsYXJnZToieGxhcmdlLVJLS1RSaFo2Iix0YWJIaWRkZW5Db250ZW50OiJ0YWJIaWRkZW5Db250ZW50LVJLS1RSaFo2IixtZWRpdW06Im1lZGl1bS1SS0tUUmhaNiIsc21hbGw6InNtYWxsLVJLS1RSaFo2Iix4c21hbGw6InhzbWFsbC1SS0tUUmhaNiIsbWVkaXVtV2l0aFNtYWxsRm9udDoibWVkaXVtV2l0aFNtYWxsRm9udC1SS0tUUmhaNiIsZmFrZToiZmFrZS1SS0tUUmhaNiIsdmVydGljYWxUYWJzV3JhcHBlcjoidmVydGljYWxUYWJzV3JhcHBlci1SS0tUUmhaNiIsdmVydGljYWxCdXR0b246InZlcnRpY2FsQnV0dG9uLVJLS1RSaFo2Iixjb250ZW50OiJjb250ZW50LVJLS1RSaFo2Iix0YWJDb250ZW50OiJ0YWJDb250ZW50LVJLS1RSaFo2IixlbmRTbG90SW5EaXNjbG9zdXJlOiJlbmRTbG90SW5EaXNjbG9zdXJlLVJLS1RSaFo2In19LDEzNTI4NyhlKXtlLmV4cG9ydHM9e3Njcm9sbFdyYXA6InNjcm9sbFdyYXAtRmFWMGJLN2UiLG92ZXJmbG93U2Nyb2xsOiJvdmVyZmxvd1Njcm9sbC1GYVYwYks3ZSIsc3F1YXJlVGFiczoic3F1YXJlVGFicy1GYVYwYks3ZSIsb3ZlcmZsb3dXcmFwOiJvdmVyZmxvd1dyYXAtRmFWMGJLN2UiLGNvbnRlbnQ6ImNvbnRlbnQtRmFWMGJLN2UiLHZlcnRpY2FsQ29udGVudDoidmVydGljYWxDb250ZW50LUZhVjBiSzdlIix2ZXJ0aWNhbDoidmVydGljYWwtRmFWMGJLN2UiLHhzbWFsbDoieHNtYWxsLUZhVjBiSzdlIixzcXVhcmVUYWJCdXR0b246InNxdWFyZVRhYkJ1dHRvbi1GYVYwYks3ZSIsc3RhcnRTbG90V3JhcDoic3RhcnRTbG90V3JhcC1GYVYwYks3ZSIsZW5kU2xvdFdyYXA6ImVuZFNsb3RXcmFwLUZhVjBiSzdlIixlbmRVcHBlclNsb3Q6ImVuZFVwcGVyU2xvdC1GYVYwYks3ZSIsc3RhcnRTbG90V3JhcEljb25Pbmx5OiJzdGFydFNsb3RXcmFwSWNvbk9ubHktRmFWMGJLN2UiLHNtYWxsOiJzbWFsbC1GYVYwYks3ZSIsbWVkaXVtOiJtZWRpdW0tRmFWMGJLN2UiLG1lZGl1bVdpdGhTbWFsbEZvbnQ6Im1lZGl1bVdpdGhTbWFsbEZvbnQtRmFWMGJLN2UiLHhsYXJnZToieGxhcmdlLUZhVjBiSzdlIixzcXVhcmVUYWJDb3VudGVyOiJzcXVhcmVUYWJDb3VudGVyLUZhVjBiSzdlIn19LDg1NDQ1KGUpe2UuZXhwb3J0cz17cGlsbHM6InBpbGxzLUllUXdQamNaIixwcmltYXJ5OiJwcmltYXJ5LUllUXdQamNaIixncmF5OiJncmF5LUllUXdQamNaIixzZWxlY3RlZDoic2VsZWN0ZWQtSWVRd1BqY1oiLGdyb3VwZWQ6Imdyb3VwZWQtSWVRd1BqY1oiLGFjdGl2ZToiYWN0aXZlLUllUXdQamNaIixkaXNhYmxlQWN0aXZlT25Ub3VjaDoiZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1oiLGRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlczoiZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaIix3aXRoR3JvdXBlZDoid2l0aEdyb3VwZWQtSWVRd1BqY1oiLCJxdWlldC1wcmltYXJ5IjoicXVpZXQtcHJpbWFyeS1JZVF3UGpjWiIsZ3JlZW46ImdyZWVuLUllUXdQamNaIixyZWQ6InJlZC1JZVF3UGpjWiIsYmx1ZToiYmx1ZS1JZVF3UGpjWiIsc2Vjb25kYXJ5OiJzZWNvbmRhcnktSWVRd1BqY1oiLGdob3N0OiJnaG9zdC1JZVF3UGpjWiJ9fSwzNjQ4MTUoZSl7ZS5leHBvcnRzPXtsaWdodEJ1dHRvbjoibGlnaHRCdXR0b24ta2pSZlRsZngiLGxpbms6Imxpbmsta2pSZlRsZngiLGx0cjoibHRyLWtqUmZUbGZ4IixydGw6InJ0bC1ralJmVGxmeCIsInR5cG9ncmFwaHktcmVndWxhcjE2cHgiOiJ0eXBvZ3JhcGh5LXJlZ3VsYXIxNnB4LWtqUmZUbGZ4IiwidHlwb2dyYXBoeS1tZWRpdW0xNnB4IjoidHlwb2dyYXBoeS1tZWRpdW0xNnB4LWtqUmZUbGZ4IiwidHlwb2dyYXBoeS1yZWd1bGFyMTRweCI6InR5cG9ncmFwaHktcmVndWxhcjE0cHgta2pSZlRsZngiLCJ0eXBvZ3JhcGh5LXNlbWlib2xkMTRweCI6InR5cG9ncmFwaHktc2VtaWJvbGQxNHB4LWtqUmZUbGZ4IiwidHlwb2dyYXBoeS1zZW1pYm9sZDE2cHgiOiJ0eXBvZ3JhcGh5LXNlbWlib2xkMTZweC1ralJmVGxmeCIsY29udGVudDoiY29udGVudC1ralJmVGxmeCIsdmlzdWFsbHlIaWRkZW46InZpc3VhbGx5SGlkZGVuLWtqUmZUbGZ4Iixub3dyYXA6Im5vd3JhcC1ralJmVGxmeCIsZWxsaXBzaXNDb250YWluZXI6ImVsbGlwc2lzQ29udGFpbmVyLWtqUmZUbGZ4Iix0ZXh0V3JhcENvbnRhaW5lcjoidGV4dFdyYXBDb250YWluZXIta2pSZlRsZngiLHRleHRXcmFwV2l0aEVsbGlwc2lzOiJ0ZXh0V3JhcFdpdGhFbGxpcHNpcy1ralJmVGxmeCIsc2xvdDoic2xvdC1ralJmVGxmeCIsY2FyZXQ6ImNhcmV0LWtqUmZUbGZ4IixhY3RpdmVDYXJldDoiYWN0aXZlQ2FyZXQta2pSZlRsZngiLHhzbWFsbDoieHNtYWxsLWtqUmZUbGZ4Iix3aXRoU3RhcnRTbG90OiJ3aXRoU3RhcnRTbG90LWtqUmZUbGZ4IiwKd2l0aEVuZFNsb3Q6IndpdGhFbmRTbG90LWtqUmZUbGZ4Iixub0NvbnRlbnQ6Im5vQ29udGVudC1ralJmVGxmeCIsd3JhcDoid3JhcC1ralJmVGxmeCIsc21hbGw6InNtYWxsLWtqUmZUbGZ4IixtZWRpdW06Im1lZGl1bS1ralJmVGxmeCJ9fSwyMDU2OChlKXtlLmV4cG9ydHM9e3NxdWFyZVRhYkJ1dHRvbjoic3F1YXJlVGFiQnV0dG9uLWFUM05za3NzIixzZWxlY3RlZDoic2VsZWN0ZWQtYVQzTnNrc3MiLGRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlczoiZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLWFUM05za3NzIix4c21hbGw6InhzbWFsbC1hVDNOc2tzcyJ9fSwxNTM2MjYoZSl7ZS5leHBvcnRzPXtjb250YWluZXI6ImNvbnRhaW5lci1WVjZWV0VTUiJ9fSw4MDMzNDkoZSl7ZS5leHBvcnRzPXtvcHRpb25zOiJvcHRpb25zLWJDS2U3bjA3IixvcHRpb246Im9wdGlvbi1iQ0tlN24wNyJ9fSwyMTIyNzUoZSl7ZS5leHBvcnRzPXsic3RhdHVzLWhlaWdodCI6IjI4cHgifX0sNTIyNTc4KGUpe2UuZXhwb3J0cz17fX0sOTMyMzY1KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1RWTG9jYWxTdG9yYWdlOigpPT5yfSk7Y29uc3Qgbz0oMCxzKDIyMTA2MSkuZ2V0TG9nZ2VyKSgiVFZMb2NhbFN0b3JhZ2UiKTt2YXIgaT1mdW5jdGlvbigpe3RyeXt0aGlzLmlzQXZhaWxhYmxlPSEwLHRoaXMubG9jYWxTdG9yYWdlPXdpbmRvdy5sb2NhbFN0b3JhZ2UsdGhpcy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbSgidHZsb2NhbHN0b3JhZ2UuYXZhaWxhYmxlIiwidHJ1ZSIpfWNhdGNoKGUpe2RlbGV0ZSB0aGlzLmlzQXZhaWxhYmxlLGRlbGV0ZSB0aGlzLmxvY2FsU3RvcmFnZX10aGlzLl91cGRhdGVMZW5ndGgoKTt0cnl7dGhpcy5fcmVwb3J0KCl9Y2F0Y2goZSl7fX07aS5wcm90b3R5cGUuX3JlcG9ydD1mdW5jdGlvbigpe2lmKHRoaXMuaXNBdmFpbGFibGUpe2NvbnN0IGU9MTAsdD1bXTtmb3IobGV0IGU9MDtlPHRoaXMubG9jYWxTdG9yYWdlLmxlbmd0aDtlKyspe2NvbnN0IHM9dGhpcy5rZXkoZSk7dC5wdXNoKHtrZXk6cyxsZW5ndGg6U3RyaW5nKHRoaXMuZ2V0SXRlbShzKSkubGVuZ3RofSl9dC5zb3J0KCgoZSx0KT0+dC5sZW5ndGgtZS5sZW5ndGgpKTtjb25zdCBzPXQuc2xpY2UoMCxlKTt0LnNvcnQoKChlLHQpPT50LmtleS5sZW5ndGgtZS5rZXkubGVuZ3RoKSk7Y29uc3QgaT10LnNsaWNlKDAsZSk7by5sb2dOb3JtYWwoYFRvdGFsIGFtb3VudCBvZiBrZXlzIGluIExvY2FsIFN0b3JhZ2U6ICR7dGhpcy5sZW5ndGh9YCksby5sb2dOb3JtYWwoYFRvcCAke2V9IGtleXMgd2l0aCBsb25nZXN0IHZhbHVlczogJHtKU09OLnN0cmluZ2lmeShzKX1gKSxvLmxvZ05vcm1hbChgVG9wICR7ZX0gbG9uZ2VzdCBrZXkgbmFtZXM6ICR7SlNPTi5zdHJpbmdpZnkoaSl9YCk7dHJ5e25hdmlnYXRvci5zdG9yYWdlLmVzdGltYXRlKCkudGhlbigoZT0+e28ubG9nTm9ybWFsKGBTdG9yYWdlIGVzdGltYXRlOiAke0pTT04uc3RyaW5naWZ5KGUpfWApfSkpfWNhdGNoKGUpe319fSxpLnByb3RvdHlwZS5sZW5ndGg9MCxpLnByb3RvdHlwZS5pc0F2YWlsYWJsZT0hMSxpLnByb3RvdHlwZS5sb2NhbFN0b3JhZ2U9eyJ0dmxvY2Fsc3RvcmFnZS5hdmFpbGFibGUiOiJmYWxzZSJ9LGkucHJvdG90eXBlLl91cGRhdGVMZW5ndGg9ZnVuY3Rpb24oKXtpZih0aGlzLmlzQXZhaWxhYmxlKXRoaXMubGVuZ3RoPXRoaXMubG9jYWxTdG9yYWdlLmxlbmd0aDtlbHNle3ZhciBlLHQ9MDtmb3IoZSBpbiB0aGlzLmxvY2FsU3RvcmFnZSl0aGlzLmxvY2FsU3RvcmFnZS5oYXNPd25Qcm9wZXJ0eShlKSYmdCsrO3RoaXMubGVuZ3RoPXR9fSxpLnByb3RvdHlwZS5rZXk9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuaXNBdmFpbGFibGU/dGhpcy5sb2NhbFN0b3JhZ2Uua2V5KGUpOk9iamVjdC5rZXlzKHRoaXMubG9jYWxTdG9yYWdlKVtlXX0saS5wcm90b3R5cGUuZ2V0SXRlbT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5pc0F2YWlsYWJsZT90aGlzLmxvY2FsU3RvcmFnZS5nZXRJdGVtKGUpOnZvaWQgMD09PXRoaXMubG9jYWxTdG9yYWdlW2VdP251bGw6dGhpcy5sb2NhbFN0b3JhZ2VbZV19LGkucHJvdG90eXBlLnNldEl0ZW09ZnVuY3Rpb24oZSx0KXt0aGlzLmlzQXZhaWxhYmxlP3RoaXMubG9jYWxTdG9yYWdlLnNldEl0ZW0oZSx0KTp0aGlzLmxvY2FsU3RvcmFnZVtlXT10LHRoaXMuX3VwZGF0ZUxlbmd0aCgpfSxpLnByb3RvdHlwZS5yZW1vdmVJdGVtPWZ1bmN0aW9uKGUpe3RoaXMuaXNBdmFpbGFibGU/dGhpcy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShlKTpkZWxldGUgdGhpcy5sb2NhbFN0b3JhZ2VbZV0sdGhpcy5fdXBkYXRlTGVuZ3RoKCl9LGkucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5pc0F2YWlsYWJsZT90aGlzLmxvY2FsU3RvcmFnZS5jbGVhcigpOnRoaXMubG9jYWxTdG9yYWdlPXt9LHRoaXMuX3VwZGF0ZUxlbmd0aCgpfTtjb25zdCByPW5ldyBpO3dpbmRvdy5UVkxvY2FsU3RvcmFnZT1yfSw3MDA4MDkoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7REVDRU1CRVI6KCk9Pl8sRklSU1RfREFZX09GX1dFRUs6KCk9Pm0sRlJJREFZOigpPT5oLEpBTlVBUlk6KCk9PmcsTEFTVF9EQVlfT0ZfV0VFSzooKT0+cCxNT05EQVk6KCk9PmEsU0FUVVJEQVk6KCk9PmQsU1VOREFZOigpPT5uLFRIVVJTREFZOigpPT51LFRVRVNEQVk6KCk9PmwsV0VETkVTREFZOigpPT5jLGFkZF9kYXRlOigpPT5FLGFkZF9taW51dGVzOigpPT5NLGNhbF90b191dGM6KCk9PlcsY2xvbmU6KCk9PkQsZGF5c19wZXJfeWVhcjooKT0+UixnZXRfY2FsOigpPT5CLGdldF9jYWxfZnJvbV91bml4X3RpbWVzdGFtcF9tczooKT0+VixnZXRfY2FsX3V0YzooKT0+VSxnZXRfZGF5X29mX21vbnRoOigpPT53LGdldF9kYXlfb2Zfd2VlazooKT0+VCxnZXRfZGF5X29mX3llYXI6KCk9PngsZ2V0X21pbnV0ZXNfZnJvbV9taWRuaWdodDooKT0+ayxnZXRfbWludXRlc193aXRoX2hvdXJzOigpPT5OLGdldF9tb250aDooKT0+UyxnZXRfdGltZXpvbmU6KCk9PnEsZ2V0X3llYXI6KCk9PmIsaXNfbGVhcF95ZWFyOigpPT5JLG1pbnV0ZXNQZXJEYXk6KCk9PnksbWludXRlc1BlcldlZWs6KCk9PmYsCnNldF9obXM6KCk9Pkwsc2V0X3NlY29uZHM6KCk9PlAsdGltZV9zZWNvbmRzOigpPT5BLHRpbWVfc2Vjb25kc19kaWZmOigpPT5PLHV0Y190b19jYWw6KCk9PkZ9KTt2YXIgbz1zKDcxMjE4MSk7Y29uc3QgaT17MDowLDE6MzEsMjo1OSwzOjkwLDQ6MTIwLDU6MTUxLDY6MTgxLDc6MjEyLDg6MjQzLDk6MjczLDEwOjMwNCwxMTozMzR9O2NsYXNzIHJ7Y29uc3RydWN0b3IoZSl7dGhpcy5faW52YWxpZD0hMSx0aGlzLl9uYW1lPWU7bGV0IHQ9by50ekRhdGE/LltlXT8/bnVsbDshdCYmSCYmKHQ9SC5pbnN0YW5jZSgpLmdldFRpbWV6b25lRGF0YShlKSksdHx8KHQ9e3RpbWU6W10sb2Zmc2V0OltdfSx0aGlzLl9pbnZhbGlkPSEwKSx0LnRpbWUubGVuZ3RoIT09dC5vZmZzZXQubGVuZ3RoJiYodD17dGltZTpbXSxvZmZzZXQ6W119LHRoaXMuX2ludmFsaWQ9ITApO2NvbnN0IHM9dDtpZighcy50aW1lX3V0Yyl7Y29uc3QgZT10LnRpbWUsbz10Lm9mZnNldCxpPWUubGVuZ3RoLHI9bmV3IEFycmF5KGkpO2ZvcihsZXQgdD0wO3Q8aTt0KyspZVt0XSo9MWUzLG9bdF0qPTFlMyxyW3RdPWVbdF0tb1t0XTtzLnRpbWVfdXRjPXJ9dGhpcy50ej1zfW9mZnNldF91dGMoZSl7cmV0dXJuIHIub2Zmc2V0KHRoaXMudHoudGltZV91dGMsdGhpcy50ei5vZmZzZXQsZSl9b2Zmc2V0X2xvYyhlKXtyZXR1cm4gci5vZmZzZXQodGhpcy50ei50aW1lLHRoaXMudHoub2Zmc2V0LGUpfW5hbWUoKXtyZXR1cm4gdGhpcy5fbmFtZX1pc192YWxpZCgpe3JldHVybiF0aGlzLl9pbnZhbGlkfWNvcnJlY3Rpb25fbG9jKGUpe2NvbnN0IHQ9dGhpcy50ei50aW1lLHM9dGhpcy50ei5vZmZzZXQsbz16KHQsZSk7aWYobzwxKXJldHVybiAwO2NvbnN0IGk9c1tvXS1zW28tMV07aWYoaT4wKXtpZihlLXRbby0xXTw9aSlyZXR1cm4gaX1yZXR1cm4gMH1zdGF0aWMgb2Zmc2V0KGUsdCxzKXtjb25zdCBvPXooZSxzKTtyZXR1cm4tMT09PW8/MDp0W29dfX1jb25zdCBuPTEsYT0yLGw9MyxjPTQsdT01LGg9NixkPTcsbT1uLHA9ZCxnPTAsXz0xMSx5PTE0NDAsZj0xMDA4MDtmdW5jdGlvbiBiKGUpe3JldHVybiBlLmdldFVUQ0Z1bGxZZWFyKCl9ZnVuY3Rpb24gUyhlKXtyZXR1cm4gZS5nZXRVVENNb250aCgpfWZ1bmN0aW9uIHYoZSl7cmV0dXJuIGUuZ2V0VVRDSG91cnMoKX1mdW5jdGlvbiBDKGUpe3JldHVybiBlLmdldFVUQ01pbnV0ZXMoKX1mdW5jdGlvbiB3KGUpe3JldHVybiBlLmdldFVUQ0RhdGUoKX1mdW5jdGlvbiBUKGUpe3JldHVybiBlLmdldFVUQ0RheSgpKzF9ZnVuY3Rpb24geChlKXtjb25zdCB0PWUuZ2V0VVRDTW9udGgoKTtsZXQgcz1pW3RdO3JldHVybiB0PmcrMSYmSShlLmdldFVUQ0Z1bGxZZWFyKCkpJiYocys9MSkscytlLmdldFVUQ0RhdGUoKX1mdW5jdGlvbiBrKGUpe3JldHVybiA2MCp2KGUpK0MoZSl9ZnVuY3Rpb24gTihlKXtyZXR1cm4gayhlKX1mdW5jdGlvbiBMKGUsdCxzLG8saSxyKXtlLnNldFVUQ0hvdXJzKHQpLGUuc2V0VVRDTWludXRlcyhzKSxlLnNldFVUQ1NlY29uZHMobyksZS5zZXRVVENNaWxsaXNlY29uZHMoaSksdm9pZCAwIT09ciYmZnVuY3Rpb24oZSx0KXtjb25zdCBzPWUuZ2V0VGltZSgpLG89dC5jb3JyZWN0aW9uX2xvYyhzKTtlLnNldFRpbWUocytvKX0oZSxyKX1mdW5jdGlvbiBFKGUsdCl7ZS5zZXRUaW1lKGUuZ2V0VGltZSgpKzg2NGU1KnQpfWZ1bmN0aW9uIE0oZSx0KXtlLnNldFRpbWUoZS5nZXRUaW1lKCkrNjAqdCoxZTMpfWZ1bmN0aW9uIFAoZSx0KXtjb25zdCBzPTg2NDAwLG89dCVzPDA/LTE6MCxpPU1hdGgudHJ1bmModC9zKStvLHI9dC1pKnMsbj1NYXRoLnRydW5jKHIvMzYwMCksYT1NYXRoLnRydW5jKHIlMzYwMC82MCk7TChlLG4sYSxyLTM2MDAqbi02MCphLDApLEUoZSxpKX1mdW5jdGlvbiBEKGUpe3JldHVybiBuZXcgRGF0ZShlLmdldFRpbWUoKSl9ZnVuY3Rpb24gUihlKXtyZXR1cm4gSShlKT8zNjY6MzY1fWZ1bmN0aW9uIEkoZSl7cmV0dXJuIGUlND09MCYmKGUlMTAwIT0wfHxlJTQwMD09MCl9ZnVuY3Rpb24gQShlKXtyZXR1cm4gMWUzKmV9ZnVuY3Rpb24gTyhlLHQpe3JldHVybiBRKGUpLVEodCl9ZnVuY3Rpb24gRihlLHQpe3JldHVybiBuZXcgRGF0ZShmdW5jdGlvbihlLHQpe2NvbnN0IHM9ZS5vZmZzZXRfdXRjKHQpO3JldHVybiB0K3N9KGUsdCkpfWZ1bmN0aW9uIEIoZSx0LHMsbyxpLHIsbil7Y29uc3QgYT1uZXcgRGF0ZShEYXRlLlVUQyh0LHMsbyxpfHwwLHJ8fDAsbnx8MCkpLGw9ZS5vZmZzZXRfdXRjKCthKTtyZXR1cm4gbmV3IERhdGUoYS52YWx1ZU9mKCktbCl9ZnVuY3Rpb24gVihlLHQpe3JldHVybiBuZXcgRGF0ZSh0K2Uub2Zmc2V0X3V0Yyh0KSl9ZnVuY3Rpb24gVShlLHQscyxvPTAsaT0wLHI9MCl7cmV0dXJuIG5ldyBEYXRlKERhdGUuVVRDKGUsdCxzLG8saSxyKSl9ZnVuY3Rpb24gVyhlLHQscyl7bGV0IG89dC5nZXRUaW1lKCk7cyYmKG8rPWUuY29ycmVjdGlvbl9sb2MobykpO3JldHVybiBvLWUub2Zmc2V0X2xvYyhvKX1mdW5jdGlvbiBxKGUpe3JldHVybiBuZXcgcihlKX1sZXQgSDtmdW5jdGlvbiB6KGUsdCl7Y29uc3Qgcz1lLmxlbmd0aDtpZigwPT09cylyZXR1cm4tMTtpZihpc05hTih0KSl0aHJvdyBFcnJvcigiS2V5IGlzIE5hTiIpO2xldCBvPTAsaT1zLTEscj1qKChvK2kpLzIpO2Zvcig7Oyl7aWYoZVtyXT50KXtpZihpPXItMSxpPG8pcmV0dXJuIHJ9ZWxzZSBpZihvPXIrMSxpPG8pcmV0dXJuIHI8cy0xP3IrMTotMTtyPWooKG8raSkvMil9fWZ1bmN0aW9uIGooZSl7cmV0dXJuIE1hdGgudHJ1bmMoZSl9ZnVuY3Rpb24gUShlKXtyZXR1cm4gZTwwP2ooZS8xZTMpLShlJTFlMyE9MD8xOjApOmooZS8xZTMpfX0sMTM0NjcoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7bm9ybWFsaXplQWxwaGFDb21wb25lbnQ6KCk9PnUscGFyc2VSZ2I6KCk9PlQscGFyc2VSZ2JhOigpPT5rLHJnYlRvQmxhY2tXaGl0ZVN0cmluZzooKT0+dyxyZ2JUb1N0cmluZzooKT0+ZixyZ2JhOigpPT5oLHJnYmFUb1N0cmluZzooKT0+Qyx0cnlQYXJzZVJnYmE6KCk9Pnh9KTt2YXIgbz1zKDYwMTg0MSksaT1zKDgzMDc4Myk7ZnVuY3Rpb24gcihlLHQscyl7cmV0dXJuKDAsCm8uaXNOYU4pKHQpfHx0PGU/ZTp0PnM/czpNYXRoLnJvdW5kKHQpfWZ1bmN0aW9uIG4oZSx0LHMpe3JldHVybigwLG8uaXNOYU4pKHQpfHx0PGU/ZTp0PnM/czpNYXRoLnJvdW5kKDFlNCp0KS8xZTR9ZnVuY3Rpb24gYShlKXtyZXR1cm4gcigwLGUsMjU1KX1mdW5jdGlvbiBsKGUpe3JldHVybiByKDAsZSwyNTUpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIHIoMCxlLDI1NSl9ZnVuY3Rpb24gdShlKXtyZXR1cm4gbigwLGUsMSl9ZnVuY3Rpb24gaChlLHQscyxvKXtpZihBcnJheS5pc0FycmF5KGUpKXtjb25zdCBzPWU7cmV0dXJuIG89dCxbc1swXSxzWzFdLHNbMl0sdShvKV19e2NvbnN0IGk9dDtyZXR1cm4gcz1zfHwwLG89b3x8MCxbYShlKSxsKGkpLGMocyksdShvKV19fWNvbnN0IGQ9Wy4xOTksLjY4NywuMTE0XTt2YXIgbSxwLGcsXztmdW5jdGlvbiB5KGUpe2NvbnN0IHQ9bS5yZS5leGVjKGUpO3JldHVybiBudWxsIT09dD9tLnBhcnNlKHQpOm51bGx9ZnVuY3Rpb24gZihlKXtjb25zdFt0LHMsb109ZTtyZXR1cm5gcmdiKCR7dH0sICR7c30sICR7b30pYH1mdW5jdGlvbiBiKGUpe2NvbnN0IHQ9cC5yZS5leGVjKGUpO3JldHVybiBudWxsIT09dD9wLnBhcnNlKHQpOm51bGx9ZnVuY3Rpb24gUyhlKXtjb25zdCB0PWcucmUuZXhlYyhlKTtyZXR1cm4gbnVsbCE9PXQ/Zy5wYXJzZSh0KTpudWxsfWZ1bmN0aW9uIHYoZSl7Y29uc3QgdD1fLnJlLmV4ZWMoZSk7cmV0dXJuIG51bGwhPT10P18ucGFyc2UodCk6bnVsbH1mdW5jdGlvbiBDKGUpe2NvbnN0W3QscyxvLGldPWU7cmV0dXJuYHJnYmEoJHt0fSwgJHtzfSwgJHtvfSwgJHtpfSlgfWZ1bmN0aW9uIHcoZSx0KXtpZih0PDB8fHQ+MjU1KXRocm93IG5ldyBFcnJvcigiaW52YWxpZCB0aHJlc2hvbGQgdmFsdWUsIHZhbGlkIHZhbHVlcyBhcmUgWzAsIDI1NV0iKTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIGRbMF0qZVswXStkWzFdKmVbMV0rZFsyXSplWzJdfShlKT49dD8id2hpdGUiOiJibGFjayJ9ZnVuY3Rpb24gVChlKXtjb25zdCB0PWZ1bmN0aW9uKGUpe2U9ZS50b0xvd2VyQ2FzZSgpO2NvbnN0IHQ9KDAsaS50cnlQYXJzZU5hbWVkUmdiYSkoZSk7aWYobnVsbCE9PXQpe2NvbnN0W2UscyxvXT10O3JldHVybltlLHMsb119Y29uc3Qgcz15KGUpO2lmKG51bGwhPT1zKXJldHVybiBzO2NvbnN0IG89YihlKTtpZihudWxsIT09bylyZXR1cm4gbztjb25zdCByPVMoZSk7aWYobnVsbCE9PXIpcmV0dXJuIHI7Y29uc3Qgbj12KGUpO2lmKG51bGwhPT1uKXtjb25zdFtlLHQsc109bjtyZXR1cm5bZSx0LHNdfXJldHVybiBudWxsfShlKTtpZihudWxsIT09dClyZXR1cm4gdDt0aHJvdyBuZXcgRXJyb3IoIlBhc3NlZCBjb2xvciBzdHJpbmcgZG9lcyBub3QgbWF0Y2ggYW55IG9mIHRoZSBrbm93biBjb2xvciByZXByZXNlbnRhdGlvbnMiKX1mdW5jdGlvbiB4KGUpe2U9ZS50b0xvd2VyQ2FzZSgpO2NvbnN0IHQ9KDAsaS50cnlQYXJzZU5hbWVkUmdiYSkoZSk7aWYobnVsbCE9PXQpcmV0dXJuIHQ7Y29uc3Qgcz15KGUpO2lmKG51bGwhPT1zKXtjb25zdFtlLHQsb109cztyZXR1cm5bZSx0LG8sMV19Y29uc3Qgbz1iKGUpO2lmKG51bGwhPT1vKXtjb25zdFtlLHQsc109bztyZXR1cm5bZSx0LHMsMV19Y29uc3Qgcj1TKGUpO2lmKG51bGwhPT1yKXtjb25zdFtlLHQsc109cjtyZXR1cm5bZSx0LHMsMV19Y29uc3Qgbj12KGUpO3JldHVybiBudWxsIT09bj9uOm51bGx9ZnVuY3Rpb24gayhlKXtjb25zdCB0PXgoZSk7aWYobnVsbCE9PXQpcmV0dXJuIHQ7dGhyb3cgbmV3IEVycm9yKCJQYXNzZWQgY29sb3Igc3RyaW5nIGRvZXMgbm90IG1hdGNoIGFueSBvZiB0aGUga25vd24gY29sb3IgcmVwcmVzZW50YXRpb25zIil9IWZ1bmN0aW9uKGUpe2UucmU9L15yZ2JcKFxzKigtP1xkezEsMTB9KVxzKixccyooLT9cZHsxLDEwfSlccyosXHMqKC0/XGR7MSwxMH0pXHMqXCkkLyxlLnBhcnNlPWZ1bmN0aW9uKGUpe3JldHVyblthKHBhcnNlSW50KGVbMV0sMTApKSxsKHBhcnNlSW50KGVbMl0sMTApKSxjKHBhcnNlSW50KGVbM10sMTApKV19fShtfHwobT17fSkpLGZ1bmN0aW9uKGUpe2UucmU9L14jKFswLTlhLWZBLUZdezJ9KShbMC05YS1mQS1GXXsyfSkoWzAtOWEtZkEtRl17Mn0pJC8sZS5wYXJzZT1mdW5jdGlvbihlKXtyZXR1cm5bYShwYXJzZUludChlWzFdLDE2KSksbChwYXJzZUludChlWzJdLDE2KSksYyhwYXJzZUludChlWzNdLDE2KSldfX0ocHx8KHA9e30pKSxmdW5jdGlvbihlKXtlLnJlPS9eIyhbMC05YS1mQS1GXSkoWzAtOWEtZkEtRl0pKFswLTlhLWZBLUZdKSQvLGUucGFyc2U9ZnVuY3Rpb24oZSl7cmV0dXJuW2EocGFyc2VJbnQoZVsxXStlWzFdLDE2KSksbChwYXJzZUludChlWzJdK2VbMl0sMTYpKSxjKHBhcnNlSW50KGVbM10rZVszXSwxNikpXX19KGd8fChnPXt9KSksZnVuY3Rpb24oZSl7ZS5yZT0vXnJnYmFcKFxzKigtP1xkezEsMTB9KVxzKixccyooLT9cZHsxLDEwfSlccyosXHMqKC0/XGR7MSwxMH0pXHMqLFxzKigtP1tcZF17MCwxMH0oPzpcLlxkKyk/KVxzKlwpJC8sZS5wYXJzZT1mdW5jdGlvbihlKXtyZXR1cm5bYShwYXJzZUludChlWzFdLDEwKSksbChwYXJzZUludChlWzJdLDEwKSksYyhwYXJzZUludChlWzNdLDEwKSksdShwYXJzZUZsb2F0KGVbNF0pKV19fShffHwoXz17fSkpfSwzMDc0MjEoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Z2V0VGltZUZyYW1lTmFtZTooKT0+bn0pO3ZhciBvPXMoNzgzMjU0KSxpPXMoNDI5NTQ5KSxyPXMoMjE1NzMwKTtmdW5jdGlvbiBuKGUpe3JldHVybiBuZXcgTWFwKFtbIjFEIixvLnQobnVsbCx2b2lkIDAscyg2MTQ0NTApKV0sWyIxTSIsby50KG51bGwsdm9pZCAwLHMoNDMwMzMzKSldLFsiM00iLG8udChudWxsLHZvaWQgMCxzKDQ0NjU2KSldLFsiMTJNIixvLnQobnVsbCx2b2lkIDAscyg2NzM1MjMpKV0sWyI2ME0iLG8udChudWxsLHZvaWQgMCxzKDg3ODcwOCkpXSxbIjEyME0iLG8udChudWxsLHZvaWQgMCxzKDY3MDU2OCkpXSxbIkFMTCIsby50KG51bGwsdm9pZCAwLHMoMjkwNzg3KSldLFsiTEFTVFNFU1NJT04iLCgwLHIuZGF5c1N0cmluZ0xpdGVyYWwpKDEpXV0pLmdldCgoMCwKaS5nZXRBY3R1YWxUaW1lRnJhbWUpKGUpKXx8IiJ9fSw2NjUxNDUoZSx0LHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgbztzLmQodCx7TWVkaXVtVGltZUZyYW1lT3B0aW9uc01vZGU6KCk9Pm99KSxmdW5jdGlvbihlKXtlW2UuVXNlTGFzdFNlc3Npb249MF09IlVzZUxhc3RTZXNzaW9uIixlW2UuVXNlMUQ9MV09IlVzZTFEIixlW2UuVXNlTGFzdFNlc3Npb25BbmQxRD0yXT0iVXNlTGFzdFNlc3Npb25BbmQxRCJ9KG98fChvPXt9KSl9LDgwMjU4NihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtnZXRGcm9tRm9yTW9udGhzQWdvOigpPT5yLGdldEZyb21Gb3JZZWFyc0FnbzooKT0+bixnZXRNZWRpdW1UaW1lRnJhbWVPcHRpb25zOigpPT5sLGdldE1pbmlUaW1lRnJhbWVPcHRpb25zOigpPT5hfSk7dmFyIG89cyg2NjUxNDUpLGk9cyg2OTM1MDApO2Z1bmN0aW9uIHIoZSl7Y29uc3QgdD1uZXcgRGF0ZTtyZXR1cm4gdC5zZXRNb250aCh0LmdldE1vbnRoKCktZSksTWF0aC50cnVuYyh0LnZhbHVlT2YoKS8xZTMpfWZ1bmN0aW9uIG4oZSl7Y29uc3QgdD1uZXcgRGF0ZTtyZXR1cm4gdC5zZXRGdWxsWWVhcih0LmdldEZ1bGxZZWFyKCktZSksTWF0aC50cnVuYyh0LnZhbHVlT2YoKS8xZTMpfWZ1bmN0aW9uIGEoZSl7Y29uc3QgdD0oMCxpLmdldFRpbWVGcmFtZXMpKCk7cmV0dXJuW3suLi50W2U/Imxhc3RzZXNzaW9uIjoiMWQiXX0sey4uLnRbIjFtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiMUQiLGZyb206cigxKX0sey4uLnRbIjNtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiMUQiLGZyb206cigzKX0sey4uLnRbIjEybSJdLGZyb206bigxKX0sey4uLnRbIjYwbSJdLHRhcmdldFJlc29sdXRpb246IjFNIixmcm9tOm4oNSl9LHsuLi50LmFsbH1dfWZ1bmN0aW9uIGwoZSl7Y29uc3QgdD0oMCxpLmdldFRpbWVGcmFtZXMpKCkscz1bXTtyZXR1cm4gZSE9PW8uTWVkaXVtVGltZUZyYW1lT3B0aW9uc01vZGUuVXNlMUQmJnMucHVzaCh7Li4udC5sYXN0c2Vzc2lvbn0pLGUhPT1vLk1lZGl1bVRpbWVGcmFtZU9wdGlvbnNNb2RlLlVzZUxhc3RTZXNzaW9uJiZzLnB1c2goey4uLnRbIjFkIl19KSxbLi4ucyx7Li4udFsiMW0iXSx0YXJnZXRSZXNvbHV0aW9uOiI2MCIsZnJvbTpyKDEpfSx7Li4udFsiM20iXSx0YXJnZXRSZXNvbHV0aW9uOiIxMjAiLGZyb206cigzKX0sey4uLnRbIjEybSJdLGZyb206bigxKX0sey4uLnRbIjYwbSJdLHRhcmdldFJlc29sdXRpb246IjFXIixmcm9tOm4oNSl9LHsuLi50LmFsbH1dfX0sNjkwMDk3KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2RlZmF1bHRUaGVtZTooKT0+bn0pO3ZhciBvPXMoMzg3MjMxKSxpPXMoMTM1Mjg3KSxyPXMoMzQ4ODQ5KTtjb25zdCBuPSgwLG8ubWVyZ2VUaGVtZXMpKHIsaSl9LDM4NzIzMShlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSx0LHM9e30pe3JldHVybiBPYmplY3QuYXNzaWduKHt9LGUsZnVuY3Rpb24oZSx0LHM9e30pe2NvbnN0IG89T2JqZWN0LmFzc2lnbih7fSx0KTtmb3IoY29uc3QgaSBvZiBPYmplY3Qua2V5cyh0KSl7Y29uc3Qgcj1zW2ldfHxpO3IgaW4gZSYmKG9baV09W2Vbcl0sdFtpXV0uam9pbigiICIpKX1yZXR1cm4gb30oZSx0LHMpKX1zLmQodCx7bWVyZ2VUaGVtZXM6KCk9Pm99KX0sMTA3NTg1KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlLHQpe3JldHVybiB0fHxudWxsPT1lfHwoInN0cmluZyI9PXR5cGVvZiBlfHxBcnJheS5pc0FycmF5KGUpKSYmMD09PWUubGVuZ3RofXMuZCh0LHtpc0ljb25Pbmx5OigpPT5vfSl9LDIyMDc2NChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtCdXR0b25Hcm91cENvbnRleHQ6KCk9Pm99KTtjb25zdCBvPXMoNzc5NDc0KS5jcmVhdGVDb250ZXh0KHtpc0luQnV0dG9uR3JvdXA6ITEsaXNHcm91cFByaW1hcnk6ITF9KX0sMzI4MjE5KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse3VzZUxpZ2h0QnV0dG9uQ2xhc3NlczooKT0+dX0pO3ZhciBvPXMoNzc5NDc0KSxpPXMoOTE0NDg3KSxyPXMubihpKSxuPXMoMzA5OTIwKSxhPXMoMTA3NTg1KSxsPXMoNTMyMDExKSxjPXMoMjIwNzY0KTtjb25zdCB1PShlLHQscyk9Pntjb25zdCBpPSgwLG8udXNlQ29udGV4dCkobi5DdXN0b21CZWhhdmlvdXJDb250ZXh0KSx7Y2xhc3NOYW1lOnUsaXNTZWxlY3RlZDpoLGNoaWxkcmVuOmQsc2hvd0NhcmV0Om0sZm9yY2VEaXJlY3Rpb246cCxpY29uT25seTpnLGNvbG9yOl89ImdyYXkiLHZhcmlhbnQ6eT0icHJpbWFyeSIsc2l6ZTpmPSJtZWRpdW0iLGVuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOmI9aS5lbmFibGVBY3RpdmVTdGF0ZVN0eWxlcyx0eXBvZ3JhcGh5OlMsaXNMaW5rOnY9ITEsdGV4dFdyYXA6Qyxpc1BpbGxzOncsaXNBY3RpdmU6VCxzdGFydFNsb3Q6eCxlbmRTbG90Omt9PXQsTj1lW2B0eXBvZ3JhcGh5LSR7KChlLHQscyk9PntpZihzKXtjb25zdCBlPXMucmVwbGFjZSgvXlxEKy9nLCIiKTtyZXR1cm4gdD9gc2VtaWJvbGQke2V9YDpzfXN3aXRjaChlKXtjYXNlInhzbWFsbCI6cmV0dXJuIHQ/InNlbWlib2xkMTRweCI6InJlZ3VsYXIxNHB4IjtjYXNlInNtYWxsIjpjYXNlIm1lZGl1bSI6cmV0dXJuIHQ/InNlbWlib2xkMTZweCI6InJlZ3VsYXIxNnB4IjtkZWZhdWx0OnJldHVybiIifX0pKGYsaHx8dyxTfHx2b2lkIDApfWBdLEw9KDAsby51c2VDb250ZXh0KShsLkNvbnRyb2xHcm91cENvbnRleHQpLHtpc0luQnV0dG9uR3JvdXA6RSxpc0dyb3VwUHJpbWFyeTpNfT0oMCxvLnVzZUNvbnRleHQpKGMuQnV0dG9uR3JvdXBDb250ZXh0KTtyZXR1cm4gcigpKHUsZS5saWdodEJ1dHRvbix2JiZlLmxpbmssVCYmZS5hY3RpdmUsaCYmZS5zZWxlY3RlZCwoMCxhLmlzSWNvbk9ubHkpKGQsZykmJmUubm9Db250ZW50LCEheCYmZS53aXRoU3RhcnRTbG90LChtfHwhIWspJiZlLndpdGhFbmRTbG90LHMmJmUud2l0aEdyb3VwZWQscCYmZVtwXSxlW00/InByaW1hcnkiOnldLGVbTT8iZ3JheSI6X10sZVtmXSxOLCFiJiZlLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcyxMLmlzR3JvdXBlZCYmZS5ncm91cGVkLEMmJmUud3JhcCxFJiZlLmRpc2FibGVBY3RpdmVPblRvdWNoLHcmJmUucGlsbHMpfX0sODMwMTIoZSx0LHMpewoidXNlIHN0cmljdCI7cy5kKHQse0xpZ2h0QnV0dG9uQ29udGVudDooKT0+bX0pO3ZhciBvPXMoNzc5NDc0KSxpPXMoOTE0NDg3KSxyPXMubihpKSxuPXMoNzcwMTQzKSxhPXMoMTA3NTg1KSxsPXMoMjczMzEwKSxjPXMoOTM1MSksdT1zLm4oYyksaD1zKDM2NDgxNSksZD1zLm4oaCk7ZnVuY3Rpb24gbShlKXtjb25zdHtzaG93Q2FyZXQ6dCxpY29uT25seTpzLGVsbGlwc2lzOmk9ITAsdGV4dFdyYXA6Yyx0b29sdGlwVGV4dDpoLGNoaWxkcmVuOm0sZW5kU2xvdDpwLHN0YXJ0U2xvdDpnLGlzQWN0aXZlQ2FyZXQ6X309ZTtbcCx0XS5maWx0ZXIoKGU9PiEhZSkpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLGcmJm8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpyKCkoZCgpLnNsb3QsZCgpLnN0YXJ0U2xvdCl9LGcpLCEoMCxhLmlzSWNvbk9ubHkpKG0scykmJm8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpyKCkoZCgpLmNvbnRlbnQsIWMmJmQoKS5ub3dyYXAsImFwcGx5LW92ZXJmbG93LXRvb2x0aXAiLCJhcHBseS1vdmVyZmxvdy10b29sdGlwLS1jaGVjay1jaGlsZHJlbi1yZWN1cnNpdmVseSIsImFwcGx5LW92ZXJmbG93LXRvb2x0aXAtLWFsbG93LXRleHQiKSwiZGF0YS1vdmVyZmxvdy10b29sdGlwLXRleHQiOmg/PygwLG4uZ2V0VGV4dEZvclRvb2x0aXApKG0pfSxjfHxpP28uY3JlYXRlRWxlbWVudChvLkZyYWdtZW50LG51bGwsby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnIoKSghYyYmaSYmZCgpLmVsbGlwc2lzQ29udGFpbmVyLGMmJmQoKS50ZXh0V3JhcENvbnRhaW5lcixjJiZpJiZkKCkudGV4dFdyYXBXaXRoRWxsaXBzaXMpfSxtKSxvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6ZCgpLnZpc3VhbGx5SGlkZGVuLCJhcmlhLWhpZGRlbiI6ITB9LG0pKTpvLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLG0sby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmQoKS52aXN1YWxseUhpZGRlbiwiYXJpYS1oaWRkZW4iOiEwfSxtKSkpLHAmJm8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpyKCkoZCgpLnNsb3QsZCgpLmVuZFNsb3QpfSxwKSx0JiYoZT0+by5jcmVhdGVFbGVtZW50KGwuSWNvbix7Y2xhc3NOYW1lOnIoKShkKCkuY2FyZXQsZSYmZCgpLmFjdGl2ZUNhcmV0KSxpY29uOnUoKX0pKShfKSl9fSw4NTQ4MjAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7TGlnaHRCdXR0b246KCk9PmR9KTt2YXIgbz1zKDc3OTQ3NCksaT1zKDUzMjAxMSkscj1zKDMyODIxOSksbj1zKDgzMDEyKSxhPXMoMzQ1MTE2KSxsPXMoMzY0ODE1KSxjPXMubihsKSx1PXMoODU0NDUpLGg9cy5uKHUpO2Z1bmN0aW9uIGQoZSl7Y29uc3R7aXNHcm91cGVkOnR9PW8udXNlQ29udGV4dChpLkNvbnRyb2xHcm91cENvbnRleHQpLHtyZWZlcmVuY2U6cyxjbGFzc05hbWU6bCxpc1NlbGVjdGVkOnUsY2hpbGRyZW46ZCxpY29uT25seTptLGVsbGlwc2lzOnAsc2hvd0NhcmV0OmcsZm9yY2VEaXJlY3Rpb246XyxlbmRTbG90Onksc3RhcnRTbG90OmYsY29sb3I6Yix2YXJpYW50OlMsc2l6ZTp2LGVuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOkMsdHlwb2dyYXBoeTp3LHRleHRXcmFwOlQ9ITEsbWF4TGluZXM6eCxzdHlsZTprPXt9LGlzUGlsbHM6Tixpc0FjdGl2ZTpMLHRvb2x0aXBUZXh0OkUscm9sZTpNLGRhdGFRYUlkOlAsYXJpYUxhYmVsOkQsbmFtZTpSLG9uRm9jdXM6SSxvbkJsdXI6QSxvbk1vdXNlRW50ZXI6Tyxvbk1vdXNlTGVhdmU6Rixvbk1vdXNlT3ZlcjpCLG9uTW91c2VPdXQ6VixvbkNsaWNrOlUsb25BbmltYXRpb25FbmQ6VyxvblBvaW50ZXJPdmVyOnEsb25Qb2ludGVyT3V0Okgsb25LZXlEb3duOnosYXV0b0ZvY3VzOmosaXNBY3RpdmVDYXJldDpRLGlkOkssZGlzYWJsZWQ6JCx0YWJJbmRleDpHLHZhbHVlOlosdGl0bGU6WSx0eXBlOkosLi4uWH09ZSxlZT0oMCxhLmZpbHRlckRhdGFQcm9wcykoWCksdGU9KDAsYS5maWx0ZXJBcmlhUHJvcHMpKFgpLHNlPVQ/eD8/MjoxLG9lPXNlPjA/ey4uLmssIi0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb250ZW50LW1heC1saW5lcyI6c2V9Oms7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7bmFtZTpSLG9uRm9jdXM6SSxvbkJsdXI6QSxvbk1vdXNlRW50ZXI6Tyxvbk1vdXNlTGVhdmU6Rixvbk1vdXNlT3ZlcjpCLG9uTW91c2VPdXQ6VixvbkNsaWNrOlUsb25BbmltYXRpb25FbmQ6VyxvblBvaW50ZXJPdmVyOnEsb25Qb2ludGVyT3V0Okgsb25LZXlEb3duOnosYXV0b0ZvY3VzOmosaWQ6SyxkaXNhYmxlZDokLHRhYkluZGV4OkcsdmFsdWU6Wix0aXRsZTpZLHR5cGU6SiwiZGF0YS1xYS1pZCI6UCwiYXJpYS1sYWJlbCI6RCwuLi5lZSwuLi50ZSxjbGFzc05hbWU6KDAsci51c2VMaWdodEJ1dHRvbkNsYXNzZXMpKHsuLi5oKCksLi4uYygpfSx7Y2xhc3NOYW1lOmwsaXNTZWxlY3RlZDp1LGNoaWxkcmVuOmQsaWNvbk9ubHk6bSxzaG93Q2FyZXQ6Zyxmb3JjZURpcmVjdGlvbjpfLGVuZFNsb3Q6eSxzdGFydFNsb3Q6Zixjb2xvcjpiLHZhcmlhbnQ6UyxzaXplOnYsZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXM6Qyx0eXBvZ3JhcGh5OncsdGV4dFdyYXA6VCxpc1BpbGxzOk4saXNBY3RpdmU6TH0sdCkscmVmOnMsc3R5bGU6b2Uscm9sZTpNfSxvLmNyZWF0ZUVsZW1lbnQobi5MaWdodEJ1dHRvbkNvbnRlbnQse3Nob3dDYXJldDpnLGlzQWN0aXZlQ2FyZXQ6ZyYmKE58fEx8fHV8fFEpLGljb25Pbmx5Om0sZWxsaXBzaXM6cCx0ZXh0V3JhcDpULHRvb2x0aXBUZXh0OkUsZW5kU2xvdDp5LHN0YXJ0U2xvdDpmfSxkKSl9fSw1MzIwMTEoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Q29udHJvbEdyb3VwQ29udGV4dDooKT0+cixkZWZhdWx0Q2VsbFN0YXRlOigpPT5pfSk7dmFyIG89cyg3Nzk0NzQpO2NvbnN0IGk9e2lzVG9wOiEwLGlzUmlnaHQ6ITAsaXNCb3R0b206ITAsaXNMZWZ0OiEwfSxyPW8uY3JlYXRlQ29udGV4dCh7aXNHcm91cGVkOiExLGNlbGxTdGF0ZTppfSl9LDg2OTg0MihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtTd2l0Y2hHcm91cENvbnRleHQ6KCk9PnJ9KQo7dmFyIG89cyg3Nzk0NzQpLGk9cyg4NjIzODgpO2NvbnN0IHI9KDAsby5jcmVhdGVDb250ZXh0KSh7Z2V0TmFtZTooKT0+IiIsZ2V0VmFsdWVzOigpPT5bXSxnZXRPbkNoYW5nZTooKT0+aS5kZWZhdWx0LHN1YnNjcmliZTppLmRlZmF1bHQsdW5zdWJzY3JpYmU6aS5kZWZhdWx0fSl9LDY1ODQ2KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse21ha2VTd2l0Y2hHcm91cEl0ZW06KCk9PnJ9KTt2YXIgbz1zKDc3OTQ3NCksaT1zKDg2OTg0Mik7ZnVuY3Rpb24gcihlKXt2YXIgdDtyZXR1cm4gdD1jbGFzcyBleHRlbmRzIG8uUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fb25DaGFuZ2U9ZT0+e3RoaXMuY29udGV4dC5nZXRPbkNoYW5nZSgpKGUudGFyZ2V0LnZhbHVlKX0sdGhpcy5fb25VcGRhdGU9ZT0+e2UuaW5jbHVkZXModGhpcy5wcm9wcy52YWx1ZSkmJnRoaXMuZm9yY2VVcGRhdGUoKX19Y29tcG9uZW50RGlkTW91bnQoKXt0aGlzLmNvbnRleHQuc3Vic2NyaWJlKHRoaXMuX29uVXBkYXRlKX1yZW5kZXIoKXtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGUsey4uLnRoaXMucHJvcHMsbmFtZTp0aGlzLl9nZXROYW1lKCksb25DaGFuZ2U6dGhpcy5fb25DaGFuZ2UsY2hlY2tlZDp0aGlzLl9pc0NoZWNrZWQoKX0pfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5jb250ZXh0LnVuc3Vic2NyaWJlKHRoaXMuX29uVXBkYXRlKX1fZ2V0TmFtZSgpe3JldHVybiB0aGlzLmNvbnRleHQuZ2V0TmFtZSgpfV9pc0NoZWNrZWQoKXtyZXR1cm4gdGhpcy5jb250ZXh0LmdldFZhbHVlcygpLmluY2x1ZGVzKHRoaXMucHJvcHMudmFsdWUpfX0sdC5jb250ZXh0VHlwZT1pLlN3aXRjaEdyb3VwQ29udGV4dCx0fX0sMzQ1MTE2KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gcihlLG4pfWZ1bmN0aW9uIGkoZSl7cmV0dXJuIHIoZSxhKX1mdW5jdGlvbiByKGUsdCl7Y29uc3Qgcz1PYmplY3QuZW50cmllcyhlKS5maWx0ZXIodCksbz17fTtmb3IoY29uc3RbZSx0XW9mIHMpb1tlXT10O3JldHVybiBvfWZ1bmN0aW9uIG4oZSl7Y29uc3RbdCxzXT1lO3JldHVybiAwPT09dC5pbmRleE9mKCJkYXRhLSIpJiYic3RyaW5nIj09dHlwZW9mIHN9ZnVuY3Rpb24gYShlKXtyZXR1cm4gMD09PWVbMF0uaW5kZXhPZigiYXJpYS0iKX1mdW5jdGlvbiBsKGUsdCl7Y29uc3Qgcz1vKGUpO3JldHVybiB0JiYoc1siZGF0YS1xYS1pZCJdPXQpLHN9cy5kKHQse2ZpbHRlckFyaWFQcm9wczooKT0+aSxmaWx0ZXJDaGVja2VkRGF0YVByb3BzOigpPT5sLGZpbHRlckRhdGFQcm9wczooKT0+byxmaWx0ZXJQcm9wczooKT0+cixpc0FyaWFBdHRyaWJ1dGU6KCk9PmEsaXNEYXRhQXR0cmlidXRlOigpPT5ufSl9LDc3MDE0MyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtnZXRUZXh0Rm9yVG9vbHRpcDooKT0+bn0pO3ZhciBvPXMoNzc5NDc0KTtjb25zdCBpPWU9PigwLG8uaXNWYWxpZEVsZW1lbnQpKGUpJiZCb29sZWFuKGUucHJvcHMuY2hpbGRyZW4pLHI9KGUsdD0hMCk9Pm51bGw9PWV8fCJib29sZWFuIj09dHlwZW9mIGV8fCJ7fSI9PT1KU09OLnN0cmluZ2lmeShlKT8iIjplLnRvU3RyaW5nKCkrKHQ/IiAiOiIiKSxuPWU9PkFycmF5LmlzQXJyYXkoZSl8fCgwLG8uaXNWYWxpZEVsZW1lbnQpKGUpP28uQ2hpbGRyZW4udG9BcnJheShlKS5yZWR1Y2UoKChlLHQpPT57bGV0IHM9IiI7cmV0dXJuIHM9KDAsby5pc1ZhbGlkRWxlbWVudCkodCkmJmkodCk/bih0LnByb3BzLmNoaWxkcmVuKTooMCxvLmlzVmFsaWRFbGVtZW50KSh0KSYmIWkodCk/IiI6cih0KSxlLmNvbmNhdChzKX0pLCIiKS50cmltKCk6cihlLCExKX0sNDg4MDUoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Z2V0Q3Jvc3NoYWlyTW92ZURhdGE6KCk9Pml9KTt2YXIgbz1zKDc4MzI1NCk7ZnVuY3Rpb24gaShlLHQpe2NvbnN0e3BvaW50OmksdGltZTpyLHNlcmllc0RhdGE6bn09dDtpZih2b2lkIDA9PT1pfHx2b2lkIDA9PT1yKXJldHVybjtjb25zdCBhPWUubWFpblBsb3QoKSxsPWEuc2VyaWVzKCk7aWYodm9pZCAwPT09bi5nZXQobCkpcmV0dXJuO2xldCBjO2NvbnN0IHU9W10saD1hLmN1cnJlbnRTZXJpZXNPcHRpb25zKCk7aWYoYz0iQXJlYSI9PT1sLnNlcmllc1R5cGUoKXx8IkxpbmUiPT09bC5zZXJpZXNUeXBlKCk/aC50b29sdGlwVHlwZXx8ImxpbmUiOmgudG9vbHRpcFR5cGV8fCJvaGxjIix1LnB1c2goLi4uYS5nZXRMZWdlbmREYXRhKHQubG9naWNhbCkpLGUuc3R1ZHlQbG90cygpLmZvckVhY2goKGU9Pnt1LnB1c2goLi4uZS5nZXRMZWdlbmREYXRhKHQubG9naWNhbCkpfSkpLDA9PT11Lmxlbmd0aClyZXR1cm47Y29uc3QgZD1oLnRvb2x0aXBMZWdlbmRDb2xvck9yZGVyO2Q/LnNpemUmJnUuc29ydCgoKGUsdCk9Pntjb25zdCBzPWQuZ2V0KGUuY29sb3IpPz8tMSxvPWQuZ2V0KHQuY29sb3IpPz8tMTtyZXR1cm4ocz4tMT9zOjEvMCktKG8+LTE/bzoxLzApfSkpO2NvbnN0IG09bmV3IERhdGUoMWUzKnIpO2xldCBwPWUuZGF0ZVRpbWVGb3JtYXR0ZXIoKS5mb3JtYXQobSx7ZGF0ZVRpbWVTZXBhcmF0b3I6IlxuIn0pO2UuaXNEV01SZXNvbHV0aW9uKCl8fChwKz0iICIrZnVuY3Rpb24oZSl7aWYoMD09PWUpcmV0dXJuIlVUQyI7Y29uc3QgdD1NYXRoLmFicyhlKSxzPU1hdGguZmxvb3IodC82MCksbz10LTYwKnM7cmV0dXJuYFVUQyR7TWF0aC5zaWduKGUpPD0wPyIrIjoiLSJ9JHtzfSR7bz4wP2A6JHtvfWA6IiJ9YH0obS5nZXRUaW1lem9uZU9mZnNldCgpKSk7Y29uc3QgZz1lLmlzRFdNUmVzb2x1dGlvbigpfHwzIT09YS5zZXNzaW9uQXRUaW1lKGZ1bmN0aW9uKGUpe2NvbnN0IHQ9bmV3IERhdGUoMWUzKmUpO3JldHVybiBuZXcgRGF0ZSh0LmdldFVUQ0Z1bGxZZWFyKCksdC5nZXRVVENNb250aCgpLHQuZ2V0VVRDRGF0ZSgpLHQuZ2V0VVRDSG91cnMoKSx0LmdldFVUQ01pbnV0ZXMoKSx0LmdldFVUQ1NlY29uZHMoKSkudmFsdWVPZigpLzFlM30ocikpP3ZvaWQgMDpvLnQobnVsbCx7Y29udGV4dDoibWFya2V0X3N0YXR1cyJ9LHMoNTQ1MjI0KSk7cmV0dXJue3BvaW50OmksdGltZTpwLHByaWNlczp1LHR5cGU6YywKbm90ZTpnfX19LDYxMDU3MShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtkZWZhdWx0Vm9sdW1lT3B0aW9uczooKT0+YyxnZXRTZXJpZXNPcHRpb25zOigpPT5ufSk7dmFyIG89cyg1MDU1NiksaT1zKDI0NzkwMSkscj1zKDg3MzU3Myk7ZnVuY3Rpb24gbihlLHQscyxpKXtyZXR1cm4ibGluZSI9PT1lP3tjaGFydFR5cGU6ImxpbmUiLGxpbmVXaWR0aDozLGdyb3dpbmdDb2xvcjooMCxvLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItbWludHktZ3JlZW4tNTAwIiksZmFsbGluZ0NvbG9yOigwLG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC01MDAiKSxjcm9zc2hhaXJNYXJrZXJWaXNpYmxlOiEwLGxhc3RWYWx1ZVZpc2libGU6ITAsY3Jvc3NoYWlyTWFya2VyUmFkaXVzOjQuNSxjcm9zc2hhaXJNYXJrZXJCb3JkZXJDb2xvcjpsKHMpLHByZW1hcmtldExpbmVDb2xvcjphKHMsaSkscG9zdG1hcmtldExpbmVDb2xvcjphKHMsaSksbmlnaHRMaW5lQ29sb3I6YShzLGkpLGFkZE1hcmtlcnM6MT09PXQsbGluZVR5cGU6Mj09PXQ/MTowLHNjYWxlTWFyZ2luczp7dG9wOi4wNSxib3R0b206LjA1fX06ImFyZWEiPT09ZT97Y2hhcnRUeXBlOiJhcmVhIixsaW5lV2lkdGg6MixwcmljZUxpbmVWaXNpYmxlOiExLGNyb3NzaGFpck1hcmtlclZpc2libGU6ITAsY3Jvc3NoYWlyTWFya2VyUmFkaXVzOjMuNSxjcm9zc2hhaXJNYXJrZXJCb3JkZXJDb2xvcjpsKHMpLGxhc3RWYWx1ZVZpc2libGU6ITAsZ3Jvd2luZ1RvcENvbG9yOigwLHIuZ2VuZXJhdGVDb2xvcikoby5jb2xvcnNQYWxldHRlWyJjb2xvci1taW50eS1ncmVlbi01MDAiXSw3MCksZ3Jvd2luZ0JvdHRvbUNvbG9yOigwLHIuZ2VuZXJhdGVDb2xvcikoby5jb2xvcnNQYWxldHRlWyJjb2xvci1taW50eS1ncmVlbi01MDAiXSwxMDApLGdyb3dpbmdMaW5lQ29sb3I6KDAsby5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIpLGZhbGxpbmdUb3BDb2xvcjooMCxyLmdlbmVyYXRlQ29sb3IpKG8uY29sb3JzUGFsZXR0ZVsiY29sb3ItcmlwZS1yZWQtNTAwIl0sNzApLGZhbGxpbmdCb3R0b21Db2xvcjooMCxyLmdlbmVyYXRlQ29sb3IpKG8uY29sb3JzUGFsZXR0ZVsiY29sb3ItcmlwZS1yZWQtNTAwIl0sMTAwKSxmYWxsaW5nTGluZUNvbG9yOigwLG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC01MDAiKSxwcmVtYXJrZXRMaW5lQ29sb3I6YShzLGkpLHBvc3RtYXJrZXRMaW5lQ29sb3I6YShzLGkpLG5pZ2h0TGluZUNvbG9yOmEocyxpKX06e2NoYXJ0VHlwZToiY2FuZGxlc3RpY2tzIix1cENvbG9yOigwLG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1taW50eS1ncmVlbi01MDAiKSxkb3duQ29sb3I6KDAsby5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXJpcGUtcmVkLTUwMCIpLGJvcmRlclVwQ29sb3I6KDAsby5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIpLGJvcmRlckRvd25Db2xvcjooMCxvLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItcmlwZS1yZWQtNTAwIiksd2lja1VwQ29sb3I6KDAsby5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIpLHdpY2tEb3duQ29sb3I6KDAsby5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXJpcGUtcmVkLTUwMCIpfX1mdW5jdGlvbiBhKGUsdCl7aWYoIkxBU1RTRVNTSU9OIj09PXQpcmV0dXJuKDAsby5nZXRIZXhDb2xvckJ5TmFtZSkoZT09PWkuU3RkVGhlbWUuTGlnaHQ/ImNvbG9yLWNvbGQtZ3JheS0zMDAiOiJjb2xvci1jb2xkLWdyYXktNjUwIil9ZnVuY3Rpb24gbChlKXtyZXR1cm4oMCxvLmdldEhleENvbG9yQnlOYW1lKShlPT09aS5TdGRUaGVtZS5MaWdodD8iY29sb3Itd2hpdGUiOiJjb2xvci1ibGFjayIpfWNvbnN0IGM9e3NjYWxlTWFyZ2luczp7dG9wOi44LGJvdHRvbTowfSxwcmljZVNjYWxlSWQ6Im92ZXJsYXkiLHVwQ29sb3I6KDAsci5hcHBseVRyYW5zcGFyZW5jeSkoby5jb2xvcnNQYWxldHRlWyJjb2xvci1taW50eS1ncmVlbi01MDAiXSw1MCksZG93bkNvbG9yOigwLHIuYXBwbHlUcmFuc3BhcmVuY3kpKG8uY29sb3JzUGFsZXR0ZVsiY29sb3ItcmlwZS1yZWQtNTAwIl0sNTApLHZpc2libGU6ITEsbGFzdFZhbHVlVmlzaWJsZTohMSxwcmljZUxpbmVWaXNpYmxlOiExfX0sNzA5MzcwKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1Nlc3Npb25zTWluaUNoYXJ0OigpPT5yfSk7dmFyIG89cyg0NzAwOTApLGk9cygxNTY1MTEpO2NsYXNzIHIgZXh0ZW5kcyBvLk1pbmlDaGFydHtfZ2V0Q2hhcnRQbG90Q2xhc3MoKXtyZXR1cm4gaS5TZXNzaW9uc01pbmlDaGFydFBsb3R9fX0sMTU2NTExKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1Nlc3Npb25zTWluaUNoYXJ0UGxvdDooKT0+bn0pO3ZhciBvPXMoMTM4NjM4KSxpPXMoNTg2MjQ3KSxyPXMoOTEyMDMzKTtjbGFzcyBuIGV4dGVuZHMgaS5NaW5pQ2hhcnRQbG90e2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9zZXNzaW9uc1N0dWR5UHJvdmlkZXI9bnVsbH1kZXN0cm95KCl7dGhpcy5fZGVzdHJveVNlc3Npb25TdHVkeVByb3ZpZGVyKCksc3VwZXIuZGVzdHJveSgpfXJlcXVlc3REYXRhKCl7aWYoc3VwZXIucmVxdWVzdERhdGEoKSx0aGlzLl9kZXN0cm95U2Vzc2lvblN0dWR5UHJvdmlkZXIoKSx0aGlzLl9pc0xhc3RTZXNzaW9uSW50ZXJ2YWwudmFsdWUoKSl7Y29uc3QgZT10aGlzLl9iYXJCdWlsZGVyTG9hZGVyPy5nZXQoKTtlfHwodGhpcy5fc2Vzc2lvbnNTdHVkeVByb3ZpZGVyPW5ldyByLlNlc3Npb25zU3R1ZHlQcm92aWRlcih0aGlzLmNoYXJ0U2Vzc2lvbigpLHRoaXMuc2VyaWVzRGF0YVNvdXJjZSgpKSx0aGlzLl9zZXNzaW9uc1N0dWR5UHJvdmlkZXIuc3RhcnQoKSl9fWRpc2Nvbm5lY3QoKXt0aGlzLl9kZXN0cm95U2Vzc2lvblN0dWR5UHJvdmlkZXIoKSxzdXBlci5kaXNjb25uZWN0KCl9X29uU3ltYm9sUmVzb2x2ZWQoZSl7c3VwZXIuX29uU3ltYm9sUmVzb2x2ZWQoZSksCnRoaXMuX2lzTGFzdFNlc3Npb25JbnRlcnZhbC52YWx1ZSgpJiYhdGhpcy5fYmFyQnVpbGRlckxvYWRlciYmdGhpcy5faW5pdEJhckJ1aWxkZXIoZSl9YXN5bmMgX29uRGF0YShlLHQpe2F3YWl0IHRoaXMuX3dhaXRGb3JSZWFkeVRvQ2FsY3VsYXRlU2Vzc2lvbigpLHN1cGVyLl9vbkRhdGEoZSx0KX1hc3luYyBfb25EYXRhQ29tcGxldGVkKCl7YXdhaXQgdGhpcy5fd2FpdEZvclJlYWR5VG9DYWxjdWxhdGVTZXNzaW9uKCksc3VwZXIuX29uRGF0YUNvbXBsZXRlZCgpfV9iYXJJbmRleFNlc3Npb24oZSl7aWYoIXRoaXMuX2lzTGFzdFNlc3Npb25JbnRlcnZhbC52YWx1ZSgpKXJldHVybjtjb25zdCB0PXRoaXMuX2JhckJ1aWxkZXJMb2FkZXI/LmdldCgpO2lmKHQpe2NvbnN0IHM9dGhpcy5fbWluaUNoYXJ0LmluZGV4VG9UaW1lKGUpO2lmKG51bGwhPT1zKXJldHVybiB0LnNlc3Npb24ocyl9cmV0dXJuIHRoaXMuX3Nlc3Npb25zU3R1ZHlQcm92aWRlcj90aGlzLl9zZXNzaW9uc1N0dWR5UHJvdmlkZXIuaXNQcmVNYXJrZXQoZSk/MDp0aGlzLl9zZXNzaW9uc1N0dWR5UHJvdmlkZXIuaXNQb3N0TWFya2V0KGUpPzE6dGhpcy5fc2Vzc2lvbnNTdHVkeVByb3ZpZGVyLmlzTmlnaHRNYXJrZXQoZSk/MzoyOnZvaWQgMH1hc3luYyBfd2FpdEZvclJlYWR5VG9DYWxjdWxhdGVTZXNzaW9uKCl7Y29uc3QgZT10aGlzLl9iYXJCdWlsZGVyTG9hZGVyPy5nZXQoKTtpZighZSYmdGhpcy5faXNMYXN0U2Vzc2lvbkludGVydmFsLnZhbHVlKCkpe2F3YWl0IFByb21pc2UucmFjZShbdGhpcy5fc2Vzc2lvbnNTdHVkeVByb3ZpZGVyPy5jb21wbGV0ZWQoKSx0aGlzLl9pbml0QmFyQnVpbGRlcigoMCxvLmVuc3VyZU5vdE51bGwpKHRoaXMuc3ltYm9sSW5mbygpKSldKT09PXRoaXMuX2JhckJ1aWxkZXJMb2FkZXI/LmdldCgpJiZ0aGlzLl9kZXN0cm95U2Vzc2lvblN0dWR5UHJvdmlkZXIoKX19X2Rlc3Ryb3lTZXNzaW9uU3R1ZHlQcm92aWRlcigpe3RoaXMuX3Nlc3Npb25zU3R1ZHlQcm92aWRlcj8uZGVzdHJveSgpLHRoaXMuX3Nlc3Npb25zU3R1ZHlQcm92aWRlcj1udWxsfX19LDkxMjAzMyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtTZXNzaW9uc1N0dWR5UHJvdmlkZXI6KCk9PmF9KTt2YXIgbyxpPXMoODE0NTg5KSxyPXMoOTY1Nzk1KSxuPXMoNzY4NzYwKTshZnVuY3Rpb24oZSl7ZVtlLlN0b3BwZWQ9MF09IlN0b3BwZWQiLGVbZS5TdGFydGVkPTFdPSJTdGFydGVkIn0ob3x8KG89e30pKTtjbGFzcyBhe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fdHVybmFyb3VuZD1uZXcgbCgic3QiKSx0aGlzLl9pbnN0YW5jZUlEPW51bGwsdGhpcy5fc2Vzc2lvbkRlZmVycmVkUHJvbWlzZT0oMCxuLmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKSx0aGlzLl9zZXNzaW9uc0RhdGE9bnVsbCx0aGlzLl9zdGF0dXM9by5TdG9wcGVkLHRoaXMuX29uTWVzc2FnZT1lPT57c3dpdGNoKGUubWV0aG9kKXtjYXNlImRhdGFfdXBkYXRlIjp7Y29uc3R7Y3VzdG9tSWQ6dCx0dXJuYXJvdW5kOnMsbm9uc2VyaWVzOm99PWUucGFyYW1zO2lmKHQhPT10aGlzLl9pbnN0YW5jZUlEfHwhdGhpcy5fY2hlY2tUdXJuYXJvdW5kKHMpfHwhbylyZXR1cm47cmV0dXJuIHZvaWQgdGhpcy5fb25EYXRhVXBkYXRlKG8pfWNhc2Uic3R1ZHlfY29tcGxldGVkIjpjYXNlInN0dWR5X2Vycm9yIjpyZXR1cm4gdm9pZCB0aGlzLl9zZXNzaW9uRGVmZXJyZWRQcm9taXNlLnJlc29sdmUoKX19LHRoaXMuX2NoYXJ0U2Vzc2lvbj1lLHRoaXMuX3Nlcmllc0RhdGFTb3VyY2U9dCx0aGlzLl9pc0Nvbm5lY3RlZENoYXJ0U2Vzc2lvbj10aGlzLl9jaGFydFNlc3Npb24uaXNDb25uZWN0ZWQoKS5zcGF3bigpfWRlc3Ryb3koKXt0aGlzLnN0b3AoKSx0aGlzLl9pc0Nvbm5lY3RlZENoYXJ0U2Vzc2lvbi5kZXN0cm95KCl9c3RhcnQoKXt0aGlzLl9zdGF0dXMhPT1vLlN0b3BwZWQmJnRoaXMuc3RvcCgpLHRoaXMuX3Nlc3Npb25EZWZlcnJlZFByb21pc2U9KDAsbi5jcmVhdGVEZWZlcnJlZFByb21pc2UpKCk7Y29uc3QgZT10aGlzLl9zZXJpZXNEYXRhU291cmNlLmluc3RhbmNlSWQoKTtudWxsIT09ZT90aGlzLl9jcmVhdGVTdHVkeUZvclNlcmllcyhlKTp0aGlzLl9zZXJpZXNEYXRhU291cmNlLmRhdGFFdmVudHMoKS5jcmVhdGVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fY3JlYXRlU3R1ZHlGb3JTZXJpZXMuYmluZCh0aGlzKSwhMCksdGhpcy5fc3RhdHVzPW8uU3RhcnRlZH1zdG9wKCl7bnVsbCE9PXRoaXMuX2luc3RhbmNlSUQmJih0aGlzLl9jaGFydFNlc3Npb24uaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZ0aGlzLl9jaGFydFNlc3Npb24ucmVtb3ZlU3R1ZHkodGhpcy5faW5zdGFuY2VJRCksdGhpcy5faW5zdGFuY2VJRD1udWxsLHRoaXMuX3Nlc3Npb25EZWZlcnJlZFByb21pc2UucmVzb2x2ZSgpKSx0aGlzLl9zZXJpZXNEYXRhU291cmNlLmRhdGFFdmVudHMoKS5jcmVhdGVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5faXNDb25uZWN0ZWRDaGFydFNlc3Npb24udW5zdWJzY3JpYmUoKSx0aGlzLl9zdGF0dXM9by5TdG9wcGVkfWNvbXBsZXRlZCgpe3JldHVybiB0aGlzLl9zZXNzaW9uRGVmZXJyZWRQcm9taXNlLnByb21pc2V9aXNQb3N0TWFya2V0KGUpe3JldHVybiEhdGhpcy5fc2Vzc2lvbnNEYXRhPy5wb3N0TWFya2V0Py5oYXMoZSl9aXNQcmVNYXJrZXQoZSl7cmV0dXJuISF0aGlzLl9zZXNzaW9uc0RhdGE/LnByZU1hcmtldD8uaGFzKGUpfWlzTmlnaHRNYXJrZXQoZSl7cmV0dXJuISF0aGlzLl9zZXNzaW9uc0RhdGE/Lm5pZ2h0TWFya2V0Py5oYXMoZSl9X2NyZWF0ZVN0dWR5Rm9yU2VyaWVzKGUpe3RoaXMuX2lzQ29ubmVjdGVkQ2hhcnRTZXNzaW9uJiZ0aGlzLl9pc0Nvbm5lY3RlZENoYXJ0U2Vzc2lvbi51bnN1YnNjcmliZSgpLHRoaXMuX2lzQ29ubmVjdGVkQ2hhcnRTZXNzaW9uLndoZW4oKCgpPT57dGhpcy5faW5zdGFuY2VJRD0oMCxyLm1ha2VOZXh0U3R1ZHlJZCkoKSwKdGhpcy5fY2hhcnRTZXNzaW9uLmNyZWF0ZVN0dWR5KHRoaXMuX2luc3RhbmNlSUQsdGhpcy5fdHVybmFyb3VuZC5uZXh0KCksZSwiU2Vzc2lvbnNAdHYtYmFzaWNzdHVkaWVzLTE4NyEiLHt9LHRoaXMuX29uTWVzc2FnZSx7aWQ6IlNlc3Npb25zQHR2LWJhc2ljc3R1ZGllcyJ9KX0pKX1fb25EYXRhVXBkYXRlKGUpe2NvbnN0e2luZGV4ZXM6dCxkOnN9PWU7aWYoIXMpcmV0dXJuO2NvbnN0IG89SlNPTi5wYXJzZShzKSxyPSEwPT09by5pbmRleGVzX3JlcGxhY2U/dm9pZCAwOm8uZ3JhcGhpY3NDbWRzPy5jcmVhdGU/LmJhY2tncm91bmRzO2lmKCFyfHwibm9jaGFuZ2UiPT09dClyZXR1cm47Y29uc3Qgbj1lPT57Y29uc3Qgcz10W2VdO3JldHVybiBzPmkuVU5QTE9UVEFCTEVfVElNRV9QT0lOVF9JTkRFWD9zOm51bGx9O3RoaXMuX3Nlc3Npb25zRGF0YT1yLnJlZHVjZSgoKGUse3N0eWxlSWQ6dCxkYXRhOnN9KT0+e2NvbnN0IG89bmV3IFNldDtyZXR1cm4gcy5mb3JFYWNoKCgoe3N0YXJ0OmUsc3RvcDp0fSk9PntsZXQgcz1uKGUpLGk9bih0KTtpZihudWxsIT09c3x8bnVsbCE9PWkpe251bGw9PT1zJiYocz1pKy0zMDApLG51bGw9PT1pJiYoaT1zKzMwMCk7Zm9yKGxldCBlPXM7ZTw9aTtlKyspby5hZGQoZSl9fSkpLGVbdF09byxlfSkse30pfV9jaGVja1R1cm5hcm91bmQoZSl7cmV0dXJuIGU9PT10aGlzLl90dXJuYXJvdW5kLmN1cnJlbnQoKXx8ZT09PXRoaXMuX3Nlcmllc0RhdGFTb3VyY2UudHVybmFyb3VuZCgpfHxlPT09YCR7dGhpcy5fc2VyaWVzRGF0YVNvdXJjZS50dXJuYXJvdW5kKCl9XyR7dGhpcy5fdHVybmFyb3VuZC5jdXJyZW50KCl9YH19Y2xhc3MgbHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9jb3VudGVyPTAsdGhpcy5fcHJlZml4PWV9bmV4dCgpe3JldHVybiB0aGlzLl9jb3VudGVyKyssdGhpcy5fdmFsdWUoKX1jdXJyZW50KCl7cmV0dXJuIHRoaXMuX3ZhbHVlKCl9X3ZhbHVlKCl7cmV0dXJuYCR7dGhpcy5fcHJlZml4fSR7dGhpcy5fY291bnRlcn1gfX19LDg4NzYwOChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtNaW5pQ2hhcnRTdGF0dXNTb3VyY2VBZGFwdGVyOigpPT5mfSk7dmFyIG8saSxyPXMoMjMyMzY0KSxuPXMoOTUyOTAwKSxhPXMoMTM4NjM4KSxsPXMoNzAwODA5KSxjPXMoNTU5NjkpLHU9cygxMjg5OTgpOyFmdW5jdGlvbihlKXtlW2UuRXhwaXJhdGlvblRpbWVNc2Vjc0Vwc2lsb249M2U1XT0iRXhwaXJhdGlvblRpbWVNc2Vjc0Vwc2lsb24ifShvfHwobz17fSkpO2NsYXNzIGh7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl91dGNUaW1lPW5ldyByLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9leHBpcmVkPW5ldyByLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fc2Vzc2lvblNwZWM9bmV3IHIuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX3Nlc3Npb25TcGVjQ2FjaGU9bnVsbCx0aGlzLl91dGNEYXlTdGFydD1uZXcgRGF0ZSgwKSx0aGlzLl90aW1lb3V0SWQ9bnVsbCx0aGlzLl9leHBpcmVkQnlTeW1ib2xJbmZvVHlwZXNwZWNzPSExLHRoaXMuX2V4cGlyZWRCeVF1b3Rlc1R5cGVzcGVjcz1udWxsLHRoaXMuX21hcmtldFN0YXR1c1NwYXduPWUuc3Bhd24oKSx0aGlzLl9xdW90ZXNVcGRhdGU9dCx0aGlzLl9xdW90ZXNVcGRhdGUuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25RdW90ZXNVcGRhdGUpfWRlc3Ryb3koKXt0aGlzLl9tYXJrZXRTdGF0dXNTcGF3bi5kZXN0cm95KCksdGhpcy5fY2xlYXJUaW1lb3V0SWZOZWVkZWQoKSx0aGlzLl9xdW90ZXNVcGRhdGUudW5zdWJzY3JpYmVBbGwodGhpcyl9cmVzZXQoKXt0aGlzLl9leHBpcmVkQnlTeW1ib2xJbmZvVHlwZXNwZWNzPSExLHRoaXMuX2V4cGlyZWRCeVF1b3Rlc1R5cGVzcGVjcz1udWxsLHRoaXMuX3V0Y1RpbWUuc2V0VmFsdWUobnVsbCksdGhpcy5fZXhwaXJlZC5zZXRWYWx1ZSghMSl9dXRjVGltZSgpe3JldHVybiB0aGlzLl91dGNUaW1lLnJlYWRvbmx5KCl9ZXhwaXJlZCgpe3JldHVybiB0aGlzLl9leHBpcmVkLnJlYWRvbmx5KCl9dXRjRGF5U3RhcnQoKXtyZXR1cm4gdGhpcy5fdXRjRGF5U3RhcnR9c2Vzc2lvblNwZWMoKXtyZXR1cm4gdGhpcy5fc2Vzc2lvblNwZWMucmVhZG9ubHkoKX1zZXRTeW1ib2xJbmZvKGUpe2lmKHRoaXMuX2NsZWFyVGltZW91dElmTmVlZGVkKCksbnVsbD09PWV8fCEoMCx1LmlzRnV0dXJlc0NvbnRyYWN0U3ltYm9sKShlKXx8dm9pZCAwPT09ZS5leHBpcmF0aW9uKXJldHVybiB0aGlzLl91dGNUaW1lLnNldFZhbHVlKG51bGwpLHZvaWQgdGhpcy5fZXhwaXJlZC5zZXRWYWx1ZSghMSk7bnVsbCE9PXRoaXMuX3Nlc3Npb25TcGVjQ2FjaGUmJnRoaXMuX3Nlc3Npb25TcGVjQ2FjaGUudGltZXpvbmU9PT1lLnRpbWV6b25lJiZ0aGlzLl9zZXNzaW9uU3BlY0NhY2hlLnNlc3Npb249PT1lLnNlc3Npb24mJnRoaXMuX3Nlc3Npb25TcGVjQ2FjaGUuY29ycmVjdGlvbnM9PT1lLmNvcnJlY3Rpb25zJiZ0aGlzLl9zZXNzaW9uU3BlY0NhY2hlLmhvbGlkYXlzPT09ZS5zZXNzaW9uX2hvbGlkYXlzfHwodGhpcy5fc2Vzc2lvblNwZWNDYWNoZT17dGltZXpvbmU6ZS50aW1lem9uZSxzZXNzaW9uOmUuc2Vzc2lvbixjb3JyZWN0aW9uczplLmNvcnJlY3Rpb25zLGhvbGlkYXlzOmUuc2Vzc2lvbl9ob2xpZGF5cyxzcGVjOm5ldyBjLlNlc3Npb25zU3BlYyhlLnRpbWV6b25lLGUuc2Vzc2lvbixlLnNlc3Npb25faG9saWRheXMsZS5jb3JyZWN0aW9ucyl9LHRoaXMuX3Nlc3Npb25TcGVjLnNldFZhbHVlKG51bGwpKTtjb25zdCB0PXRoaXMuX3Nlc3Npb25TcGVjQ2FjaGUuc3BlYzt0aGlzLl91dGNEYXlTdGFydD1mdW5jdGlvbihlKXtjb25zdCB0PU1hdGguZmxvb3IoZS8xZTQpJTFlNCxzPU1hdGguZmxvb3IoZS8xMDApJTEwMC0xLG89ZSUxMDA7cmV0dXJuIG5ldyBEYXRlKERhdGUuVVRDKHQscyxvKSl9KGUuZXhwaXJhdGlvbik7Y29uc3Qgcz10LmJvcmRlcnNPZkRhaWx5QmFyKHRoaXMuX3V0Y0RheVN0YXJ0KTtpZihudWxsPT09cylyZXR1cm4gdGhpcy5fdXRjVGltZS5zZXRWYWx1ZShudWxsKSx0aGlzLl9leHBpcmVkLnNldFZhbHVlKCExKSx2b2lkIHRoaXMuX3Nlc3Npb25TcGVjLnNldFZhbHVlKHQpO2NvbnN0IG89KDAsCmwuZ2V0X3RpbWV6b25lKShlLnRpbWV6b25lKTt0aGlzLl91dGNUaW1lLnNldFZhbHVlKCgwLGwuY2FsX3RvX3V0YykobyxzLnRvKSsxZTMpLHRoaXMuX3Nlc3Npb25TcGVjLnNldFZhbHVlKHQpLHRoaXMuX2V4cGlyZWRCeVN5bWJvbEluZm9UeXBlc3BlY3M9Qm9vbGVhbihlLnR5cGVzcGVjcz8uaW5jbHVkZXMoImV4cGlyZWQiKSksdGhpcy5fdXBkYXRlRXhwaXJlZCgpfV91cGRhdGVFeHBpcmVkKCl7dGhpcy5fY2xlYXJUaW1lb3V0SWZOZWVkZWQoKTtjb25zdCBlPXRoaXMuX3V0Y1RpbWUudmFsdWUoKTtpZihudWxsPT09ZSlyZXR1cm47aWYodGhpcy5fZXhwaXJlZEJ5UXVvdGVzVHlwZXNwZWNzfHx0aGlzLl9leHBpcmVkQnlTeW1ib2xJbmZvVHlwZXNwZWNzKXJldHVybiB2b2lkIHRoaXMuX2V4cGlyZWQuc2V0VmFsdWUoITApO2NvbnN0IHQ9d2luZG93LkNoYXJ0QXBpSW5zdGFuY2Uuc2VydmVyVGltZSgpO2xldCBzO3N3aXRjaCh0aGlzLl9tYXJrZXRTdGF0dXNTcGF3bi52YWx1ZSgpKXtjYXNlIm91dF9vZl9zZXNzaW9uIjpjYXNlImhvbGlkYXkiOnM9ZS0zZTUtdDticmVhaztjYXNlIm1hcmtldCI6Y2FzZSJwcmVfbWFya2V0IjpjYXNlInBvc3RfbWFya2V0IjpzPWUrM2U1LXQ7YnJlYWs7ZGVmYXVsdDpzPWUtdH1zPjAmJih0aGlzLl90aW1lb3V0SWQ9c2V0VGltZW91dCgoKCk9PnRoaXMuX3VwZGF0ZUV4cGlyZWQoKSksTWF0aC5taW4oMmU5LHMpKSksdGhpcy5fZXhwaXJlZC5zZXRWYWx1ZShzPD0wKX1fY2xlYXJUaW1lb3V0SWZOZWVkZWQoKXtudWxsIT09dGhpcy5fdGltZW91dElkJiYoY2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVvdXRJZCksdGhpcy5fdGltZW91dElkPW51bGwpfV9vblF1b3Rlc1VwZGF0ZShlLHQpe2xldCBzPSExO2lmKG51bGw9PT10aGlzLl9leHBpcmVkQnlRdW90ZXNUeXBlc3BlY3MpdGhpcy5fZXhwaXJlZEJ5UXVvdGVzVHlwZXNwZWNzPUJvb2xlYW4oZS52YWx1ZXMudHlwZXNwZWNzPy5pbmNsdWRlcygiZXhwaXJlZCIpKSxzPXRoaXMuX2V4cGlyZWRCeVF1b3Rlc1R5cGVzcGVjcztlbHNlIGlmKHZvaWQgMCE9PXQudmFsdWVzLnR5cGVzcGVjcyl7Y29uc3QgZT1Cb29sZWFuKHQudmFsdWVzLnR5cGVzcGVjcz8uaW5jbHVkZXMoImV4cGlyZWQiKSk7cz10aGlzLl9leHBpcmVkQnlRdW90ZXNUeXBlc3BlY3MhPT1lLHRoaXMuX2V4cGlyZWRCeVF1b3Rlc1R5cGVzcGVjcz1lfXMmJm51bGwhPT10aGlzLl91dGNUaW1lLnZhbHVlKCkmJnRoaXMuX3VwZGF0ZUV4cGlyZWQoKX19ZnVuY3Rpb24gZChlKXtyZXR1cm4gd2luZG93LkNoYXJ0QXBpSW5zdGFuY2Uuc2VydmVyVGltZSgpLzFlMy1lfWZ1bmN0aW9uIG0oZSx0LHMpe2NvbnN0IG89dCsxZTM7cmV0dXJuIGU8PXM/dDw9cz8xLzA6by8xZTM6TWF0aC5taW4oZSxvKS8xZTN9IWZ1bmN0aW9uKGUpe2UuT3Blbj0ibWFya2V0IixlLlByZT0icHJlX21hcmtldCIsZS5Qb3N0PSJwb3N0X21hcmtldCIsZS5PdmVybmlnaHQ9Im5pZ2h0IixlLkNsb3NlPSJvdXRfb2Zfc2Vzc2lvbiIsZS5Ib2xpZGF5PSJob2xpZGF5IixlLkRlbGlzdGVkPSJkZWxpc3RlZCIsZS5FeHBpcmVkPSJleHBpcmVkIn0oaXx8KGk9e30pKTtjbGFzcyBwe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2N1cnJlbnRTZXNzaW9uPW5ldyByLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9kZWxpc3RlZEJ5VHlwZXNwZWNzPW5ldyByLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fc2Vzc2lvbnNTcGVjPW51bGwsdGhpcy5fbmV4dFNlc3Npb25FZGdlSW50ZXJuYWw9bnVsbCx0aGlzLl9uZXh0U2Vzc2lvbkVkZ2U9bmV3IHIuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX3JlY2FsY05leHRTZXNzaW9uRWRnZVRpbWVySWQ9bnVsbCx0aGlzLl9kZWxheT0wLHRoaXMuX2Z1dHVyZXNDb250cmFjdEV4cGlyYXRpb25UaW1lPW51bGwsdGhpcy5fcXVvdGVzUHJvdmlkZXI9ZTtjb25zdHtjdXJyZW50X3Nlc3Npb246dH09ZS5xdW90ZXMoKS52YWx1ZSgpPz97fTt0JiZ0aGlzLl9jdXJyZW50U2Vzc2lvbi5zZXRWYWx1ZSh0KSx0aGlzLl9mdXR1cmVzQ29udHJhY3RFeHBpcmF0aW9uVGltZT1uZXcgaCh0aGlzLl9jdXJyZW50U2Vzc2lvbi5yZWFkb25seSgpLGUucXVvdGVzVXBkYXRlKCkpLGUucXVvdGVTeW1ib2xDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT57KDAsYS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9mdXR1cmVzQ29udHJhY3RFeHBpcmF0aW9uVGltZSkucmVzZXQoKSx0aGlzLl9uZXh0U2Vzc2lvbkVkZ2VJbnRlcm5hbD1udWxsLHRoaXMuX3JlY2FsY3VsYXRlTmV4dFNlc3Npb25FZGdlKCl9KSksdGhpcy5fbWFya2V0U3RhdHVzPSgwLG4uY29tYmluZSkoKChlLHQscyk9Pm51bGw9PT1lP2U6dD8iZGVsaXN0ZWQiOnM/ImV4cGlyZWQiOmZ1bmN0aW9uKGUpe3N3aXRjaChlKXtjYXNlIm1hcmtldCI6cmV0dXJuIm1hcmtldCI7Y2FzZSJwcmVfbWFya2V0IjpyZXR1cm4icHJlX21hcmtldCI7Y2FzZSJwb3N0X21hcmtldCI6cmV0dXJuInBvc3RfbWFya2V0IjtjYXNlIm5pZ2h0IjpyZXR1cm4ibmlnaHQiO2Nhc2Uib3V0X29mX3Nlc3Npb24iOnJldHVybiJvdXRfb2Zfc2Vzc2lvbiI7Y2FzZSJob2xpZGF5IjpyZXR1cm4iaG9saWRheSJ9KDAsYS5lbnN1cmVOZXZlcikoZSl9KGUpKSx0aGlzLl9jdXJyZW50U2Vzc2lvbi53ZWFrUmVmZXJlbmNlKCksdGhpcy5fZGVsaXN0ZWRCeVR5cGVzcGVjcy53ZWFrUmVmZXJlbmNlKCksKHRoaXMuX2Z1dHVyZXNDb250cmFjdEV4cGlyYXRpb25UaW1lPy5leHBpcmVkKCk/P25ldyByLldhdGNoZWRWYWx1ZSghMSkpLndlYWtSZWZlcmVuY2UoKSksZS5xdW90ZXNVcGRhdGUoKS5zdWJzY3JpYmUodGhpcywoZT0+e3RoaXMuX2N1cnJlbnRTZXNzaW9uLnNldFZhbHVlKGU/LnZhbHVlcy5jdXJyZW50X3Nlc3Npb24/P251bGwpfSkpLGUucXVvdGVTeW1ib2xDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT57dGhpcy5fY3VycmVudFNlc3Npb24uc2V0VmFsdWUobnVsbCl9KSl9ZGVzdHJveSgpe3RoaXMuX3F1b3Rlc1Byb3ZpZGVyLnF1b3Rlc1VwZGF0ZSgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLAp0aGlzLl9xdW90ZXNQcm92aWRlci5xdW90ZVN5bWJvbENoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxudWxsIT09dGhpcy5fcmVjYWxjTmV4dFNlc3Npb25FZGdlVGltZXJJZCYmY2xlYXJUaW1lb3V0KHRoaXMuX3JlY2FsY05leHRTZXNzaW9uRWRnZVRpbWVySWQpLCgwLGEuZW5zdXJlTm90TnVsbCkodGhpcy5fZnV0dXJlc0NvbnRyYWN0RXhwaXJhdGlvblRpbWUpLmRlc3Ryb3koKSx0aGlzLl9tYXJrZXRTdGF0dXMuZGVzdHJveSgpfWZ1dHVyZXNDb250cmFjdEV4cGlyYXRpb25UaW1lKCl7cmV0dXJuIHRoaXMuX2Z1dHVyZXNDb250cmFjdEV4cGlyYXRpb25UaW1lfXNldFN5bWJvbEluZm8oZSl7aWYoKDAsYS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9mdXR1cmVzQ29udHJhY3RFeHBpcmF0aW9uVGltZSkuc2V0U3ltYm9sSW5mbyhlKSx0aGlzLl9uZXh0U2Vzc2lvbkVkZ2VJbnRlcm5hbD1udWxsLG51bGw9PT1lKXJldHVybiB2b2lkKHRoaXMuX3Nlc3Npb25zU3BlYz1udWxsKTt0aGlzLl9kZWxheT0oMCx1LmdldFN5bWJvbERlbGF5U2Vjb25kcykoZSk7Y29uc3QgdD1uZXcgYy5TZXNzaW9uc1NwZWMoZS50aW1lem9uZSxlLnNlc3Npb25fZGlzcGxheT8/ZS5zZXNzaW9uLGUuc2Vzc2lvbl9ob2xpZGF5cyxlLmNvcnJlY3Rpb25zKTtsZXQgcyxvO2NvbnN0IGk9ZS5zdWJzZXNzaW9ucz8uZmluZCgoZT0+InByZW1hcmtldCI9PT1lLmlkKSkscj1lLnN1YnNlc3Npb25zPy5maW5kKChlPT4icG9zdG1hcmtldCI9PT1lLmlkKSk7dm9pZCAwIT09aSYmKHM9bmV3IGMuU2Vzc2lvbnNTcGVjKGUudGltZXpvbmUsaVsic2Vzc2lvbi1kaXNwbGF5Il0/P2kuc2Vzc2lvbixlLnNlc3Npb25faG9saWRheXMsaVsic2Vzc2lvbi1jb3JyZWN0aW9uIl0pKSx2b2lkIDAhPT1yJiYobz1uZXcgYy5TZXNzaW9uc1NwZWMoZS50aW1lem9uZSxyWyJzZXNzaW9uLWRpc3BsYXkiXT8/ci5zZXNzaW9uLGUuc2Vzc2lvbl9ob2xpZGF5cyxyWyJzZXNzaW9uLWNvcnJlY3Rpb24iXSkpLHRoaXMuX2RlbGlzdGVkQnlUeXBlc3BlY3Muc2V0VmFsdWUoQm9vbGVhbihlLnR5cGVzcGVjcz8uaW5jbHVkZXMoImRpc2NvbnRpbnVlZCIpKSksdGhpcy5fc2Vzc2lvbnNTcGVjPXtnZW5lcmFsOnQscHJlTWFya2V0OnMscG9zdE1hcmtldDpvfSx0aGlzLl9yZWNhbGN1bGF0ZU5leHRTZXNzaW9uRWRnZSgpfXN0YXR1cygpe3JldHVybiB0aGlzLl9tYXJrZXRTdGF0dXN9Y3VycmVudFNlc3Npb24oKXtyZXR1cm4gdGhpcy5fY3VycmVudFNlc3Npb259bmV4dFNlc3Npb25FZGdlKCl7cmV0dXJuIHRoaXMuX25leHRTZXNzaW9uRWRnZX1fZ2V0TmV4dFNlc3Npb25FZGdlSW50ZXJuYWwoKXtpZihudWxsPT09dGhpcy5fc2Vzc2lvbnNTcGVjKXJldHVybiBudWxsO2NvbnN0IGU9MWUzKmQodGhpcy5fZGVsYXkpO2lmKG51bGw9PT10aGlzLl9uZXh0U2Vzc2lvbkVkZ2VJbnRlcm5hbHx8KHRoaXMuX25leHRTZXNzaW9uRWRnZUludGVybmFsLnRpbWVzdGFtcD8/MS8wKTw9ZS8xZTMpe2NvbnN0e2dlbmVyYWw6dCxwcmVNYXJrZXQ6cyxwb3N0TWFya2V0Om99PXRoaXMuX3Nlc3Npb25zU3BlYyxpPSgwLGwuZ2V0X3RpbWV6b25lKSh0LnRpbWV6b25lKCkpLHI9KDAsbC51dGNfdG9fY2FsKShpLGUpLG49bSgoMCxsLmNhbF90b191dGMpKGksdC5hbGlnblRvTmVhcmVzdFNlc3Npb25TdGFydChyLDEpKSwoMCxsLmNhbF90b191dGMpKGksdC5hbGlnblRvTmVhcmVzdFNlc3Npb25FbmQociwxKSksZSksYT1tKHZvaWQgMCE9PXM/KDAsbC5jYWxfdG9fdXRjKShpLHMuYWxpZ25Ub05lYXJlc3RTZXNzaW9uU3RhcnQociwxKSk6MS8wLHZvaWQgMCE9PXM/KDAsbC5jYWxfdG9fdXRjKShpLHMuYWxpZ25Ub05lYXJlc3RTZXNzaW9uRW5kKHIsMSkpOjEvMCxlKSxjPW0odm9pZCAwIT09bz8oMCxsLmNhbF90b191dGMpKGksby5hbGlnblRvTmVhcmVzdFNlc3Npb25TdGFydChyLDEpKToxLzAsdm9pZCAwIT09bz8oMCxsLmNhbF90b191dGMpKGksby5hbGlnblRvTmVhcmVzdFNlc3Npb25FbmQociwxKSk6MS8wLGUpO2xldCB1PU1hdGgubWluKG4sYSxjKTtpZih1PT09MS8wKXtjb25zdCBlPWQodGhpcy5fZGVsYXkpLHM9NmU0LG89bmV3IERhdGUoTWF0aC5yb3VuZChuZXcgRGF0ZSgxZTMqZSkuZ2V0VGltZSgpL3MpKnMpLmdldFRpbWUoKStzLHI9KDAsbC51dGNfdG9fY2FsKShpLG8pLG49bSgoMCxsLmNhbF90b191dGMpKGksdC5hbGlnblRvTmVhcmVzdFNlc3Npb25TdGFydChyLDEpKSwoMCxsLmNhbF90b191dGMpKGksdC5hbGlnblRvTmVhcmVzdFNlc3Npb25FbmQociwxKSksbyksaD1NYXRoLm1pbihuLGEsYyk7aCE9PTEvMD8odGhpcy5fbmV4dFNlc3Npb25FZGdlSW50ZXJuYWw9e3RpbWVzdGFtcDp1fSx1PWgpOnRoaXMuX25leHRTZXNzaW9uRWRnZUludGVybmFsPXt0aW1lc3RhbXA6bnVsbH19dGhpcy5fbmV4dFNlc3Npb25FZGdlSW50ZXJuYWw9dT09PWM/e3RpbWVzdGFtcDp1LHN0YXR1czoicG9zdF9tYXJrZXQifTp1PT09YT97dGltZXN0YW1wOnUsc3RhdHVzOiJwcmVfbWFya2V0In06e3RpbWVzdGFtcDp1fX1yZXR1cm4gdGhpcy5fbmV4dFNlc3Npb25FZGdlSW50ZXJuYWx9X3JlY2FsY3VsYXRlTmV4dFNlc3Npb25FZGdlKCl7Y29uc3QgZT10aGlzLl9nZXROZXh0U2Vzc2lvbkVkZ2VJbnRlcm5hbCgpO2lmKG51bGw9PT1lfHxudWxsPT09ZS50aW1lc3RhbXApcmV0dXJuIHZvaWQgdGhpcy5fbmV4dFNlc3Npb25FZGdlLnNldFZhbHVlKG51bGwpO2NvbnN0IHQ9e3N0YXR1czplLnN0YXR1cyxyZW1haW5pbmdTZWNvbmRzOk1hdGgubWF4KDAsZS50aW1lc3RhbXAtZCh0aGlzLl9kZWxheSkpfTtpZihudWxsPT09dGhpcy5fcmVjYWxjTmV4dFNlc3Npb25FZGdlVGltZXJJZCl7Y29uc3QgZT1OdW1iZXIuaXNGaW5pdGUodC5yZW1haW5pbmdTZWNvbmRzKT9NYXRoLmNlaWwodC5yZW1haW5pbmdTZWNvbmRzJTYwKToxO3RoaXMuX3JlY2FsY05leHRTZXNzaW9uRWRnZVRpbWVySWQ9c2V0VGltZW91dCgoKCk9PnRoaXMuX3JlY2FsY3VsYXRlTmV4dFNlc3Npb25FZGdlQnlUaW1lcigpKSwxZTMqZSl9dGhpcy5fbmV4dFNlc3Npb25FZGdlLnNldFZhbHVlKHQpfQpfcmVjYWxjdWxhdGVOZXh0U2Vzc2lvbkVkZ2VCeVRpbWVyKCl7dGhpcy5fcmVjYWxjTmV4dFNlc3Npb25FZGdlVGltZXJJZD1udWxsLHRoaXMuX3JlY2FsY3VsYXRlTmV4dFNlc3Npb25FZGdlKCl9fXZhciBnPXMoMjQxOTU2KTt2YXIgXz1zKDY5OTU1MCk7Y29uc3QgeT1uZXcgci5XYXRjaGVkVmFsdWUoITEpO2NsYXNzIGZ7Y29uc3RydWN0b3IoZSl7dGhpcy5fcXVvdGVzUHJvdmlkZXI9bmV3IF8uUXVvdGVzUHJvdmlkZXIoInNpbXBsZSIpLHRoaXMuX3N0b3BwZWQ9ITEsdGhpcy5fc3ltYm9sPWZ1bmN0aW9uKGUsdCl7Y29uc3Qgcz1uZXcgci5XYXRjaGVkVmFsdWUoZSgpKSxvPXt9O3JldHVybiB0LmZvckVhY2goKHQ9PnQuc3Vic2NyaWJlKG8sKCgpPT57cy5zZXRWYWx1ZShlKCkpfSkpKSkscy5yZWFkb25seSgpLnNwYXduKCgoKT0+dC5mb3JFYWNoKChlPT5lLnVuc3Vic2NyaWJlQWxsKG8pKSkpKX0oKCgpPT4oMCx1LmFjdHVhbFN5bWJvbCkoZS5tYWluUGxvdCgpLnN5bWJvbEluZm8oKSxlLm1haW5QbG90KCkuc3ltYm9sKCkpKSxbZS5tYWluUGxvdCgpLnN5bWJvbENoYW5nZWQoKSxlLm1haW5QbG90KCkuc3ltYm9sUmVzb2x2ZWQoKV0pLHRoaXMuX3N5bWJvbC5zdWJzY3JpYmUoKGU9Pnt0aGlzLl9zdG9wcGVkfHx0aGlzLl9xdW90ZXNQcm92aWRlci5zZXRRdW90ZXNTZXNzaW9uU3ltYm9sKGUpfSkse2NhbGxXaXRoTGFzdDohMH0pLHRoaXMuX2lzU3ltYm9sSW52YWxpZD0oMCxuLmNvbWJpbmUpKChlPT4xPT09ZSksZS5tYWluUGxvdCgpLnN0YXR1cygpLndlYWtSZWZlcmVuY2UoKSksdGhpcy5fc3ltYm9sSW5mbz0oMCxnLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbikoKCgpPT5lLm1haW5QbG90KCkuc3ltYm9sSW5mbygpKSxlLm1haW5QbG90KCkuc3ltYm9sUmVzb2x2ZWQoKSksdGhpcy5fbWFya2V0U3RhdHVzTW9kZWw9bmV3IHAodGhpcy5fcXVvdGVzUHJvdmlkZXIpLHRoaXMuX3N5bWJvbEluZm8uc3Vic2NyaWJlKChlPT50aGlzLl9tYXJrZXRTdGF0dXNNb2RlbC5zZXRTeW1ib2xJbmZvKGUpKSl9ZGVzdHJveSgpe3RoaXMuX3N5bWJvbC5kZXN0cm95KCksdGhpcy5faXNTeW1ib2xJbnZhbGlkLmRlc3Ryb3koKSx0aGlzLl9zeW1ib2xJbmZvLmRlc3Ryb3koKSx0aGlzLl9xdW90ZXNQcm92aWRlci5kZXN0cm95KCksdGhpcy5fbWFya2V0U3RhdHVzTW9kZWwuZGVzdHJveSgpfXBhdXNlKCl7dGhpcy5fc3RvcHBlZD0hMCx0aGlzLl9xdW90ZXNQcm92aWRlci5wYXVzZSgpfXJlc3VtZSgpe3RoaXMuX3N0b3BwZWQ9ITEsdGhpcy5fcXVvdGVzUHJvdmlkZXIucmVzdW1lKCl9c3ltYm9sKCl7cmV0dXJuIHRoaXMuX3N5bWJvbH1pc1N5bWJvbEludmFsaWQoKXtyZXR1cm4gdGhpcy5faXNTeW1ib2xJbnZhbGlkfWhpZGRlbigpe3JldHVybiB5LnJlYWRvbmx5KCl9bWFya2V0U3RhdHVzTW9kZWwoKXtyZXR1cm4gdGhpcy5fbWFya2V0U3RhdHVzTW9kZWx9ZXJyb3JTdGF0dXMoKXtyZXR1cm4gbmV3IHIuV2F0Y2hlZFZhbHVlKG51bGwpLnJlYWRvbmx5KCl9c3ltYm9sSW5mbygpe3JldHVybiB0aGlzLl9zeW1ib2xJbmZvfWRhdGFQcm9ibGVtTW9kZWwoKXtyZXR1cm4gbnVsbH1kYXRhVXBkYXRlZE1vZGVNb2RlbCgpe3JldHVybiBudWxsfWFzeW5jIHBpbmVTb3VyY2VDb2RlTW9kZWwoKXtyZXR1cm4gbnVsbH1hbGVydFNvdXJjZU1vZGVsKCl7cmV0dXJuIG51bGx9fX0sNTc3NzEzKGUsdCxzKXsidXNlIHN0cmljdCI7YXN5bmMgZnVuY3Rpb24gbygpe3JldHVybihhd2FpdCBQcm9taXNlLmFsbChbcy5lKDIwMzU0KSxzLmUoOTgwODQpLHMuZSg3NDYzNikscy5lKDMyMzg3KSxzLmUoMjg1MDcpXSkudGhlbihzLmJpbmQocyw2MDk2ODIpKSkuRXJyb3JDYXJkUmVuZGVyZXJ9cy5kKHQse2dldEVycm9yQ2FyZFJlbmRlcmVyOigpPT5vfSl9LDEzODYzOChlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSx0KXtpZighZSl0aHJvdyBuZXcgRXJyb3IoIkFzc2VydGlvbiBmYWlsZWQiKyh0P2A6ICR7dH1gOiIiKSl9ZnVuY3Rpb24gaShlLHQpe2lmKHZvaWQgMD09PWUpdGhyb3cgbmV3IEVycm9yKGAke3Q/PyJWYWx1ZSJ9IGlzIHVuZGVmaW5lZGApO3JldHVybiBlfWZ1bmN0aW9uIHIoZSx0KXtpZihudWxsPT09ZSl0aHJvdyBuZXcgRXJyb3IoYCR7dD8/IlZhbHVlIn0gaXMgbnVsbGApO3JldHVybiBlfWZ1bmN0aW9uIG4oZSx0KXtyZXR1cm4gcihpKGUsdCksdCl9ZnVuY3Rpb24gYShlKXt9cy5kKHQse2Fzc2VydDooKT0+byxlbnN1cmU6KCk9Pm4sZW5zdXJlRGVmaW5lZDooKT0+aSxlbnN1cmVOZXZlcjooKT0+YSxlbnN1cmVOb3ROdWxsOigpPT5yfSl9LDEzMTI5NChlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSl7Y29uc3QgdD1PYmplY3QuY3JlYXRlKGUpO3JldHVybiB0LnJlbGVhc2U9KCk9Pnt9LHQub3duZXJzaGlwPSgpPT50LHR9ZnVuY3Rpb24gaShlKXtjb25zdCB0PWU7cmV0dXJuIHQucmVsZWFzZT0oKT0+dC5kZXN0cm95KCksdC5vd25lcnNoaXA9KCk9PnQsdH1zLmQodCx7b3duZXJzaGlwOigpPT5pLHdlYWtSZWZlcmVuY2U6KCk9Pm99KX0sODU2NTYoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLnIodCkscy5kKHQse3VucGFja05vblNlcmllc0RhdGFDb21wcmVzc2VkOigpPT5hfSk7dmFyIG89cyg2MDE4NDEpLGk9cyg5OTU2NTUpLHI9cyg4NjY3NDgpLG49cyg4NDg2MDEpO2FzeW5jIGZ1bmN0aW9uIGEoZSl7Y29uc3QgdD0oMCxuLnBhcnNlTm9uU2VyaWVzRW52ZWxvcGUpKGUpO2lmKG51bGw9PT10KXJldHVybiBudWxsO2NvbnN0e25zRGF0YTpzLHBhcnNlZERhdGE6YX09dDtyZXR1cm4gcy5pbmRleGVzX3JlcGxhY2V8fCgoMCxvLmhhc1Byb3BlcnR5KShhLCJkYXRhQ29tcHJlc3NlZCIpJiYocy5kYXRhPWF3YWl0KDAsci51bnBhY2spKGEuZGF0YUNvbXByZXNzZWQpKSwoMCxvLmhhc1Byb3BlcnR5KShhLCJncmFwaGljc0NtZHNDb21wcmVzc2VkIikmJihzLmdyYXBoaWNzQ21kcz0oMCxpLnZhbGlkYXRlR3JhcGhpY3NDb21tYW5kcykoYXdhaXQoMCxyLnVucGFjaykoYS5ncmFwaGljc0NtZHNDb21wcmVzc2VkKSkpKSxzfX0sOTY1Nzk1KGUsdCxzKXsidXNlIHN0cmljdCIKO3MuZCh0LHttYWtlTmV4dFN0dWR5SWQ6KCk9Pml9KTtsZXQgbz0wO2Z1bmN0aW9uIGkoKXtyZXR1cm4gbysrLCJzdCIrb319LDE4MDE5OChlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtsZXQgbz1udWxsLGk9ITE7cmV0dXJuIFByb21pc2UuYWxsKFtzLmUoNjQ2NDQpLnRoZW4ocy50LmJpbmQocyw3Nzk0NzQsMTkpKSxQcm9taXNlLmFsbChbcy5lKDMyMzg3KSxzLmUoNzEzMDApXSkudGhlbihzLmJpbmQocyw1NzEzMDApKSxQcm9taXNlLmFsbChbcy5lKDM2MjIyKSxzLmUoNDc1NTEpLHMuZSg3MTYzKSxzLmUoMzIzODcpLHMuZSg0NTMyMildKS50aGVuKHMuYmluZChzLDczMjk0NikpXSkudGhlbigoKFtzLHIsbl0pPT57aXx8KG89ci5jcmVhdGVSZWFjdFJvb3Qocy5jcmVhdGVFbGVtZW50KG4uTGlnaHR3ZWlnaHRDaGFydFByaWNlVGltZVRvb2x0aXAsey4uLmV9KSx0KSl9KSksKCk9PntpPSEwLHQucmVtb3ZlKCksbz8udW5tb3VudCgpfX1zLmQodCx7Y3JlYXRlTGlnaHR3ZWlnaHRDaGFydFByaWNlVGltZVRvb2x0aXA6KCk9Pm99KX0sNzE5NzgxKGUsdCxzKXsidXNlIHN0cmljdCI7dmFyIG87cy5kKHQse0RlbGF5VHlwZTooKT0+b30pLGZ1bmN0aW9uKGUpe2VbZS5Bbm9uPTFdPSJBbm9uIixlW2UuRGVsYXk9Ml09IkRlbGF5IixlW2UuRnJlZURlbGF5PTNdPSJGcmVlRGVsYXkifShvfHwobz17fSkpfSw3MzUyNzkoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7REVGQVVMVF9USU1FX0ZSQU1FX0lURU1fVEhFTUU6KCk9PmMsVGltZUZyYW1lSXRlbTooKT0+dX0pO3ZhciBvPXMoNzc5NDc0KSxpPXMoOTE0NDg3KSxyPXMubihpKSxuPXMoNjU4NDYpLGE9cyg4NTQ4MjApLGw9cyg4MDMzNDkpO2NvbnN0IGM9bCx1PSgwLG4ubWFrZVN3aXRjaEdyb3VwSXRlbSkoY2xhc3MgZXh0ZW5kcyBvLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX29uQ2hhbmdlPSgpPT57dGhpcy5wcm9wcy5vbkNoYW5nZSYmdGhpcy5wcm9wcy5vbkNoYW5nZSh7dGFyZ2V0Ont2YWx1ZTp0aGlzLnByb3BzLnZhbHVlfHwiIn19KX19cmVuZGVyKCl7Y29uc3R7b3B0aW9uOmUsY2hlY2tlZDp0LHRoZW1lOnM9bCxzaXplOmkscmVmZXJlbmNlOm59PXRoaXMucHJvcHM7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChhLkxpZ2h0QnV0dG9uLHtyZWZlcmVuY2U6bixvbkNsaWNrOnRoaXMuX29uQ2hhbmdlLGlzU2VsZWN0ZWQ6dCx0YWJJbmRleDowLHRpdGxlOmUuZGVzY3JpcHRpb24sY2xhc3NOYW1lOnIoKSgiYXBwbHktY29tbW9uLXRvb2x0aXAiLHMub3B0aW9uLHQmJnMub3B0aW9uU2VsZWN0ZWQpLHNpemU6aSxjb2xvcjoiZ3JheSIsdmFyaWFudDoicXVpZXQtcHJpbWFyeSJ9LGUudGV4dCl9fSl9LDk4NjI3NShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtnZXRMb2dvVXJsc0hvb2s6KCk9PmwscmVtb3ZlVXNkRnJvbUNyeXB0b1BhaXJMb2dvczooKT0+YyxyZXNvbHZlTG9nb1VybHM6KCk9Pm4scmVzb2x2ZUxvZ29VcmxzRnJvbUxvZ29EYXRhOigpPT5hfSk7dmFyIG89cyg2MDE4NDEpLGk9cyg4NjIyMTMpO2NvbnN0IHI9KDAsaS5nZXRMb2dvVXJsUmVzb2x2ZXIpKCk7ZnVuY3Rpb24gbihlLHQ9aS5Mb2dvU2l6ZS5NZWRpdW0pe2NvbnN0IHM9ZS5sb2dvaWQsbz1lWyJiYXNlLWN1cnJlbmN5LWxvZ29pZCJdLG49ZVsiY3VycmVuY3ktbG9nb2lkIl0sYT1zJiZyLmdldFN5bWJvbExvZ29Vcmwocyx0KTtpZihhKXJldHVyblthXTtjb25zdCBsPW8mJnIuZ2V0U3ltYm9sTG9nb1VybChvLHQpLGM9biYmci5nZXRTeW1ib2xMb2dvVXJsKG4sdCk7cmV0dXJuIGwmJmM/W2wsY106bD9bbF06Yz9bY106W119ZnVuY3Rpb24gYShlLHQ9aS5Mb2dvU2l6ZS5NZWRpdW0pe3JldHVybigicGFpciI9PT1lLnN0eWxlP1tlLmxvZ29pZCxlLmxvZ29pZDJdOltlLmxvZ29pZF0pLm1hcCgoZT0+ci5nZXRTeW1ib2xMb2dvVXJsKGUsdCkpKS5maWx0ZXIoby5ub3ROdWxsKX1mdW5jdGlvbiBsKGUsdCl7bGV0IHM9ITE7cmV0dXJuKG8saSxyKT0+e2lmKCFzJiYoby5sb2dvfHxyKSl7cz0hMDtjb25zdCBpPW8ubG9nbz9hKG8ubG9nbyx0KTpbXTtlKGkpfX19ZnVuY3Rpb24gYyhlKXtyZXR1cm4gMiE9PWUubGVuZ3RoP2U6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuc29tZSgoZT0+dShlKSkpfShlKSYmIWZ1bmN0aW9uKGUpe3JldHVybiBlLnNvbWUoKGU9PmUuaW5jbHVkZXMoImNvdW50cnkiKSYmIXUoZSkpKX0oZSk/ZS5maWx0ZXIoKGU9PiF1KGUpKSk6ZX1mdW5jdGlvbiB1KGUpe3JldHVybiBlLmluY2x1ZGVzKCJjb3VudHJ5L1VTIil9fSwyMjc2NTkoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Y3JlYXRlTWVkaXVtV2lkZ2V0OigpPT5FZX0pO3MoNzIyNTcxKSxzKDc5NTM4Mykscyg1MjI1NzgpO3ZhciBvPXMoNjc4MzEyKSxpPXMoMTM0NjcpLHI9cyg1MDU1Niksbj1zKDk2MzA5OCksYT1zKDg3MzU3MyksbD1zKDYwMTU4Nyk7Y29uc3QgYz0oMCxzKDY5MzUwMCkuZ2V0VGltZUZyYW1lcykoKTt2YXIgdT1zKDgwMjU4NiksaD1zKDY2NTE0NSksZD1zKDE4OTg2MyksbT1zKDkwMjEwMCkscD1zKDc0MDE2MiksZz1zKDEzODYzOCksXz1zKDM4NzIzMSkseT1zKDQ0MzU1NyksZj1zKDIyMTA2MSksYj1zKDQyOTU0OSk7Y29uc3QgUz0oMCxmLmdldExvZ2dlcikoIkNoYXJ0Lk1pbmlXaWRnZXRSZW5kZXJlciIpO2Z1bmN0aW9uIHYoZSx0KXtjb25zdCBzPWUuc3BsaXQoInwiKSxvPXNbMF0saT1zWzFdfHx2b2lkIDAscj1zWzJdfHx2b2lkIDA7cmV0dXJuW28sdD90KGkpOmkscl19Y2xhc3MgQ3tjb25zdHJ1Y3RvcihlLHQpe2lmKHRoaXMuX3N5bWJvbERlc2NyaXB0aW9uPSIiLHRoaXMuX3N5bWJvbFNob3J0TmFtZT0iIix0aGlzLl9zeW1ib2xOYW1lPSIiLGZ1bmN0aW9uKGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpJiYyPT09ZS5sZW5ndGgmJmUuZXZlcnkoKGU9PiJzdHJpbmciPT10eXBlb2YgZSkpfShlKSl7Y29uc3RbcyxvXT1lO3RoaXMuX3N5bWJvbERlc2NyaXB0aW9uPXMsClt0aGlzLl9zeW1ib2xOYW1lLHRoaXMuX3N5bWJvbFRpbWVmcmFtZSx0aGlzLl9zeW1ib2xDdXJyZW5jeV09dihvLHQpfWVsc2V7aWYoInN0cmluZyIhPXR5cGVvZiBlKXJldHVybiB2b2lkIFMubG9nRXJyb3IoIlN5bWJvbCBzaG91bGQgYmUgYXJyYXkgWydkZXNjcmlwdGlvbicsICdzeW1ib2xfbmFtZScsICdzeW1ib2xfY3VycmVuY3knXSBvciBzdHJpbmcgJ3N5bWJvbF9uYW1lJyIpO1t0aGlzLl9zeW1ib2xOYW1lLHRoaXMuX3N5bWJvbFRpbWVmcmFtZSx0aGlzLl9zeW1ib2xDdXJyZW5jeV09dihlLHQpfX1kZXNjcmlwdGlvbihlKXtyZXR1cm4gZSYmKHRoaXMuX3N5bWJvbERlc2NyaXB0aW9uPWUpLHRoaXMuX3N5bWJvbERlc2NyaXB0aW9ufXNob3J0TmFtZShlKXtyZXR1cm4gZT90aGlzLl9zeW1ib2xTaG9ydE5hbWU9ZTp0aGlzLl9zeW1ib2xTaG9ydE5hbWV8fCh0aGlzLl9zeW1ib2xTaG9ydE5hbWU9dGhpcy5fc3ltYm9sTmFtZS5yZXBsYWNlKC9eKC4rOikvLCIiKSksdGhpcy5fc3ltYm9sU2hvcnROYW1lfW5hbWUoKXtyZXR1cm4gdGhpcy5fc3ltYm9sTmFtZX10aW1lZnJhbWUoKXtyZXR1cm4gdGhpcy5fc3ltYm9sVGltZWZyYW1lJiYoMCxiLmdldEFjdHVhbFRpbWVGcmFtZSkodGhpcy5fc3ltYm9sVGltZWZyYW1lKX1jdXJyZW5jeSgpe3JldHVybiB0aGlzLl9zeW1ib2xDdXJyZW5jeX1lcXVhbFRvKGUpe3JldHVybiBlIGluc3RhbmNlb2YgQz90aGlzLm5hbWUoKT09PWUubmFtZSgpJiZ0aGlzLmRlc2NyaXB0aW9uKCk9PT1lLmRlc2NyaXB0aW9uKCkmJnRoaXMudGltZWZyYW1lKCk9PT1lLnRpbWVmcmFtZSgpOihTLmxvZ1dhcm4oIlN5bWJvbCAiK2UrIiBzaG91bGQgYmUgaW5zdGFuY2Ugb2YgV2lkZ2V0UmVuZGVyZXJTeW1ib2wiKSwhMSl9fXZhciB3PXMoNjUzODE3KSxUPXMoNzQyNTc3KSx4PXMoMTUzNjI2KTt2YXIgaz1zKDk0ODM4MCksTj1zKDY3MTk0OSksTD1zKDYwMTg0MSksRT1zKDIzMjM2NCksTT1zKDc3MzA4OCksUD1zKDE4NTI3MSksRD1zKDg4NDc5OCksUj1zKDE1MjE4Mik7ZnVuY3Rpb24gSShlKXtjb25zdHtsb2dvVXJsczp0LC4uLnN9PWU7cmV0dXJuIDE9PT10Lmxlbmd0aD8oMCxELmdldENpcmNsZUxvZ29IdG1sKSh7bG9nb1VybDp0WzBdLC4uLnN9KToyPT09dC5sZW5ndGg/KDAsUi5nZXRDaXJjbGVMb2dvUGFpckh0bWwpKHtwcmltYXJ5TG9nb1VybDp0WzBdLHNlY29uZGFyeUxvZ29Vcmw6dFsxXSwuLi5zfSk6KDAsRC5nZXRDaXJjbGVMb2dvSHRtbCkoe2xvZ29Vcmw6dm9pZCAwLC4uLnN9KX12YXIgQT1zKDk4NjI3NSksTz1zKDIyNjkzNyksRj1zKDkxMTMyNyksQj1zKDMwNzQyMSksVj1zKDM0NDEwMyksVT1zKDM4NDAxNyksVz1zKDQ3OTM0KSxxPShzKDgyOTE4MCkscyg0OTg2NTEpKTtmdW5jdGlvbiBIKGUpe2lmKCEoMCxxLmlzSURDRXhjaGFuZ2UpKGUpKXJldHVybiExO2U9eihlKTtjb25zdCB0PXdpbmRvdy5wcm8scz10LmdldFByb2R1Y3QoZSk7cmV0dXJuIHZvaWQgMCE9PXMuaWRjX3NlcnZpY2VfY29kZXNfZGVsYXkmJigoIUFycmF5LmlzQXJyYXkocy5pbmNsdWRlZF9leGNoYW5nZXMpfHwhcy5pbmNsdWRlZF9leGNoYW5nZXMuc29tZSgoZT0+dC5oYXNQYWNrYWdlKHooZSkpKSkpJiYhZnVuY3Rpb24oZSl7Y29uc3QgdD13aW5kb3cucHJvO3JldHVybiB0Lmhhc1BhY2thZ2UoZSl8fHQuaGFzUGFja2FnZShlKyJfZGx5Iil9KGUpKX1mdW5jdGlvbiB6KGUpe3JldHVybiBlLnN0YXJ0c1dpdGgoImV4Y2hhbmdlLSIpP2U6ImV4Y2hhbmdlLXswfSIuZm9ybWF0KGUudG9Mb3dlckNhc2UoKSl9Y29uc3Qgaj17T0s6Ik9LIixFUlI6IkVSUiIsU1lNQk9MX05PVF9BVkFJTEFCTEVfRk9SX0FOT046IlNZTUJPTF9OT1RfQVZBSUxBQkxFX0ZPUl9BTk9OIixERUxBWV9OT1RfQVZBSUxBQkxFOiJERUxBWV9OT1RfQVZBSUxBQkxFIixORUVEX1NJR05fQUdSRUVNRU5UOiJORUVEX1NJR05fQUdSRUVNRU5UIixORUVEX0FERF9TRVJWSUNFOiJORUVEX0FERF9TRVJWSUNFIn07ZnVuY3Rpb24gUShlLHQ9ITApe3JldHVybiBuZXcgUHJvbWlzZSgoKHMsbyk9Pntjb25zdCBpPSgwLFYuZ2V0RXhjaGFuZ2UpKGUpO2k/ZnVuY3Rpb24oZSl7Y29uc3QgdD13aW5kb3cucHJvO3JldHVybiBuZXcgUHJvbWlzZSgocz0+e3dpbmRvdy5pc19hdXRoZW50aWNhdGVkPyF0LmdldElEQ0V4Y2hhbmdlcyghMCkubGVuZ3RofHx0LmlzSW52YWxpZFNob3BDb25mKCk/dC51cGRhdGVTaG9wQ29uZigpLnRoZW4oKCgpPT57cyghSChlKSl9KSkuY2F0Y2goKCgpPT57cyghMCl9KSk6cyghSChlKSk6cyghMCl9KSl9KGkpLnRoZW4oKHI9PnI/cyhlKTooMCxXLmVuYWJsZWQpKCJJRENfQVZBSUxBQkxFX0RFTEFZIik/dD92b2lkKDAsVS5mZXRjaCkoYC9pZGMtc2lnbi1hZ3JlZW1lbnQtY2hlY2svJHtpfS9gLHtjcmVkZW50aWFsczoiaW5jbHVkZSJ9KS50aGVuKCh0PT50Lmpzb24oKS50aGVuKCh0PT50LnJlcz09PWouREVMQVlfTk9UX0FWQUlMQUJMRT9vKHtleGNoYW5nZTppLGVyckNvZGU6dC5yZXMscmVhc29uOiJkZWxheSBub3QgYXZhaWxhYmxlIixzeW1ib2w6ZX0pOnQucmVzPT09ai5ORUVEX1NJR05fQUdSRUVNRU5UP28oe2V4Y2hhbmdlOmksZXJyQ29kZTp0LnJlcyxyZWFzb246Im5lZWQgc2lnbiBhZ3JlZW1lbnQiLHN5bWJvbDplfSk6dC5yZXM9PT1qLk5FRURfQUREX1NFUlZJQ0U/byh7ZXhjaGFuZ2U6aSxlcnJDb2RlOnQucmVzLHJlYXNvbjoibmVlZCBhZGQgc2VydmljZSIsc3ltYm9sOmV9KTpzKGUpKSkpKS5jYXRjaCgoKCk9PntzKGUpfSkpOnMoZSk6byh7ZXhjaGFuZ2U6aSxlcnJDb2RlOmouREVMQVlfTk9UX0FWQUlMQUJMRSxyZWFzb246ImRlbGF5IG5vdCBhdmFpbGFibGUiLHN5bWJvbDplfSkpKTpzKGUpfSkpfXZhciBLPXMoNjIwMzU0KSwkPXMoNzA5MzcwKTtmdW5jdGlvbiBHKGUsdCxzPTEsbyl7Y29uc3QgaT1NYXRoLnJvdW5kKHQqZSkscj1vP3M6TWF0aC5yb3VuZChzKnQpLG49ZnVuY3Rpb24oZSl7cmV0dXJuIE1hdGguZmxvb3IoLjUqZSl9KHIpO3JldHVybntwb3NpdGlvbjppLW4sbGVuZ3RoOnJ9fWNsYXNzIFp7Y29uc3RydWN0b3IoKXt0aGlzLl9wcmljZT1udWxsLAp0aGlzLl94PW51bGwsdGhpcy5fb3B0aW9ucz17Zm9udFNpemU6MTAsZm9udEZhbWlseToic2Fucy1zZXJpZiIsY29sb3I6IiMwMDAwMDAifSx0aGlzLl90aXRsZT0iIn11cGRhdGUoZSx0LHMsbz0iIil7dGhpcy5fcHJpY2U9ZSx0aGlzLl9vcHRpb25zPXQsdGhpcy5feD1zLHRoaXMuX3RpdGxlPW99ZHJhdyhlKXtlLnVzZUJpdG1hcENvb3JkaW5hdGVTcGFjZSgoZT0+e2lmKG51bGw9PT10aGlzLl9wcmljZXx8bnVsbD09PXRoaXMuX3gpcmV0dXJuO2NvbnN0IHQ9TWF0aC5yb3VuZCh0aGlzLl94KmUuaG9yaXpvbnRhbFBpeGVsUmF0aW8pLHM9Ryh0aGlzLl9wcmljZSxlLnZlcnRpY2FsUGl4ZWxSYXRpbyxlLnZlcnRpY2FsUGl4ZWxSYXRpbyksbz1zLnBvc2l0aW9uK3MubGVuZ3RoLzIsaT10aGlzLl90aXRsZT81KmUuaG9yaXpvbnRhbFBpeGVsUmF0aW86ZS5ob3Jpem9udGFsUGl4ZWxSYXRpbyxyPWUuY29udGV4dDt0aGlzLl9kcmF3TGluZShyLHQsbyxlLGkpLHRoaXMuX3RpdGxlJiZ0aGlzLl9kcmF3VGl0bGUocixlLHMucG9zaXRpb24pfSkpfV9kcmF3TGluZShlLHQscyxvLGkpe2UuYmVnaW5QYXRoKCksZS5zZXRMaW5lRGFzaChbMipvLnZlcnRpY2FsUGl4ZWxSYXRpbywyKm8udmVydGljYWxQaXhlbFJhdGlvXSksZS5tb3ZlVG8odCxzKSxlLmxpbmVUbyhvLmJpdG1hcFNpemUud2lkdGgtaSxzKSxlLnN0cm9rZVN0eWxlPXRoaXMuX29wdGlvbnMuY29sb3IsZS5saW5lV2lkdGg9by52ZXJ0aWNhbFBpeGVsUmF0aW8vMixlLnN0cm9rZSgpfV9kcmF3VGl0bGUoZSx0LHMpe2NvbnN0IG89dGhpcy5fb3B0aW9ucy5mb250U2l6ZSp0Lmhvcml6b250YWxQaXhlbFJhdGlvO2UuZm9udD1gJHtvfXB4ICR7dGhpcy5fb3B0aW9ucy5mb250RmFtaWx5fWA7Y29uc3Qgcj1lLm1lYXN1cmVUZXh0KHRoaXMuX3RpdGxlKS53aWR0aCxuPTIuNSp0LnZlcnRpY2FsUGl4ZWxSYXRpbyxhPW8vMTIqMi41KnQuaG9yaXpvbnRhbFBpeGVsUmF0aW8sbD1yKzIqYSxjPW8rMipuLHU9Mip0Lmhvcml6b250YWxQaXhlbFJhdGlvLGg9dC5iaXRtYXBTaXplLndpZHRoLWwtNSp0Lmhvcml6b250YWxQaXhlbFJhdGlvLGQ9KHMtYy8yKSUyPT0wP3MtYy8yOnMtYy8yKzEsbT0oMCxpLnBhcnNlUmdiKSh0aGlzLl9vcHRpb25zLmNvbG9yKSxwPSgwLGkucmdiVG9TdHJpbmcpKG0pLGc9LjE5OSooXz1tKVswXSsuNjg3Kl9bMV0rLjExNCpfWzJdPjE2MD8iYmxhY2siOiJ3aGl0ZSI7dmFyIF87ZS5maWxsU3R5bGU9cCxlLnRleHRBbGlnbj0iY2VudGVyIixlLnRleHRCYXNlbGluZT0ibWlkZGxlIixlLmJlZ2luUGF0aCgpLGUucm91bmRSZWN0KGgsZCxsLGMsdSksZS5jbG9zZVBhdGgoKSxlLmZpbGwoKSxlLmZpbGxTdHlsZT1nO2NvbnN0IHk9ZCtjLzIsZj1oK3IvMithO2UuZmlsbFRleHQodGhpcy5fdGl0bGUsZix5JTI9PTA/eTp5KzEpfX1jbGFzcyBZe2NvbnN0cnVjdG9yKCl7dGhpcy5fcmVuZGVyZXI9bmV3IFp9cmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5fcmVuZGVyZXJ9dXBkYXRlKGUsdCxzLG89IiIpe3RoaXMuX3JlbmRlcmVyLnVwZGF0ZShlLHQscyxvKX19Y2xhc3MgSntjb25zdHJ1Y3RvcihlPSExLHQpe3RoaXMuX2NoYXJ0PW51bGwsdGhpcy5fc2VyaWVzPW51bGwsdGhpcy5fc2hvd0xhYmVsPSExLHRoaXMuX3RpdGxlPSIiLHRoaXMuX21hcmtldFN0YXR1cz10LHRoaXMuX3Nob3dMYWJlbD1lLHRoaXMuX3BhbmVWaWV3cz1bbmV3IFldfWF0dGFjaGVkKHtjaGFydDplLHNlcmllczp0fSl7dGhpcy5fY2hhcnQ9ZSx0aGlzLl9zZXJpZXM9dCx0aGlzLl90aXRsZT10aGlzLl9zaG93TGFiZWw/dGhpcy5fc2VyaWVzLm9wdGlvbnMoKS50aXRsZToiIix0aGlzLl9zZXJpZXMuYXBwbHlPcHRpb25zKHtwcmljZUxpbmVWaXNpYmxlOiExLHRpdGxlOnRoaXMuX3Nob3dMYWJlbD8iIjp0aGlzLl9zZXJpZXMub3B0aW9ucygpLnRpdGxlfSl9ZGV0YWNoZWQoKXt0aGlzLl9jaGFydD1udWxsLHRoaXMuX3Nlcmllcz1udWxsfXVwZGF0ZUFsbFZpZXdzKCl7aWYoIXRoaXMuX3Nlcmllc3x8IXRoaXMuX2NoYXJ0KXJldHVybjtjb25zdCBlPXRoaXMuX3Nlcmllcy5vcHRpb25zKCk7bGV0IHQ9ZS5wcmljZUxpbmVDb2xvcnx8ZS5jb2xvcnx8ZS5saW5lQ29sb3J8fCIjMDAwMDAwIjshdGhpcy5fbWFya2V0U3RhdHVzfHwicHJlX21hcmtldCIhPT10aGlzLl9tYXJrZXRTdGF0dXMmJiJwb3N0X21hcmtldCIhPT10aGlzLl9tYXJrZXRTdGF0dXN8fCh0PWUucG9zdG1hcmtldExpbmVDb2xvcnx8ZS5wcmVtYXJrZXRMaW5lQ29sb3J8fHQpO2NvbnN0IHM9dGhpcy5fc2VyaWVzLmRhdGFCeUluZGV4KDFlNSxvLk1pc21hdGNoRGlyZWN0aW9uLk5lYXJlc3RMZWZ0KTtsZXQgaT1udWxsLHI9bnVsbDtjb25zdCBuPXRoaXMuX3RpdGxlO3MmJihzLmNvbG9yJiYhdGhpcy5fbWFya2V0U3RhdHVzJiYodD1zLmNvbG9yKSxpPWZ1bmN0aW9uKGUpe2lmKHZvaWQgMCE9PWUudmFsdWUpcmV0dXJuIGUudmFsdWU7aWYodm9pZCAwIT09ZS5jbG9zZSlyZXR1cm4gZS5jbG9zZTtyZXR1cm4gbnVsbH0ocykscj10aGlzLl9jaGFydC50aW1lU2NhbGUoKS50aW1lVG9Db29yZGluYXRlKHMudGltZSkpO2NvbnN0IGE9bnVsbCE9PWk/dGhpcy5fc2VyaWVzLnByaWNlVG9Db29yZGluYXRlKGkpOm51bGwsbD17Zm9udFNpemU6dGhpcy5fY2hhcnQub3B0aW9ucygpLmxheW91dC5mb250U2l6ZT8/MTAsZm9udEZhbWlseTp0aGlzLl9jaGFydC5vcHRpb25zKCkubGF5b3V0LmZvbnRGYW1pbHk/PyJzYW5zLXNlcmlmIixjb2xvcjp0fTt0aGlzLl9wYW5lVmlld3MuZm9yRWFjaCgoZT0+ZS51cGRhdGUoYSxsLHIsbikpKX1wYW5lVmlld3MoKXtyZXR1cm4gdGhpcy5fcGFuZVZpZXdzfX12YXIgWD1zKDQ4ODA1KTthc3luYyBmdW5jdGlvbiBlZShlLHQpe3JldHVybihhd2FpdCBQcm9taXNlLmFsbChbcy5lKDQ1ODgzKSxzLmUoNjAyOCkscy5lKDYxNDQxKV0pLnRoZW4ocy5iaW5kKHMsMjkzMzEyKSkpLmNyZWF0ZShlLHQpfQp2YXIgdGU9cyg3MTk3ODEpLHNlPXMoNTc3NzEzKSxvZT1zKDc1NTYyNyksaWU9cygxMjUyMTgpLHJlPXMoMTExOTUzKSxuZT1zKDQwNzc5OSksYWU9cyg4ODc2MDgpLGxlPXMoMTgwMTk4KSxjZT1zKDQ3MDY3OSk7Y29uc3QgdWU9bmV3IGllLlBlcmNlbnRhZ2VGb3JtYXR0ZXIsaGU9UC50KG51bGwsdm9pZCAwLHMoMTE0MzM4KSk7ZnVuY3Rpb24gZGUoZSx0LHMpe2NvbnN0IG89Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LmNvbXswfT91dG1fc291cmNlPXd3dy50cmFkaW5ndmlldy5jb20mdXRtX21lZGl1bT13aWRnZXQmdXRtX2NhbXBhaWduPWNoYXJ0JnV0bV90ZXJtPXsyfTp7MX0iLmZvcm1hdCgoMCxGLmdldFN5bWJvbFBhZ2VQYXRoKSh7cHJvTmFtZTplfSksdCxzKTtyZXR1cm4gaGUuZm9ybWF0KHtsaW5rU3RhcnQ6YDxhIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0iJHtjZS5nb1RvVHZMaW5rfSIgaHJlZj0iJHtvfSI+YCxsaW5rRW5kOiI8L2E+In0pfWZ1bmN0aW9uIG1lKGUpe3N3aXRjaChlLnR5cGUpe2Nhc2UgMjpyZXR1cm57bWVzc2FnZTpQLnQobnVsbCx2b2lkIDAscyg1MTk3KSl9O2Nhc2UgMDpyZXR1cm57bWVzc2FnZTpQLnQobnVsbCx2b2lkIDAscyg3MzI3NzYpKX07Y2FzZSAxOmNvbnN0IHQ9KDAscmUudW53cmFwU2ltcGxlU3ltYm9sKSgoMCxyZS5kZWNvZGVFeHRlbmRlZFN5bWJvbCkoZS5zeW1ib2wpKSxbbyxpXT10LnNwbGl0KCI6Iik7cmV0dXJue21lc3NhZ2U6ZGUodCxvLGkpfX19Y2xhc3MgcGV7Y29uc3RydWN0b3IoZSx0LG8pe3RoaXMubWluaUNoYXJ0PW51bGwsdGhpcy52aXNpYmxlPW5ldyBFLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fZGF0YU1vZGU9bnVsbCx0aGlzLl9tZWRpdW1XaWRnZXRNYXJrZXRTdGF0dXM9bnVsbCx0aGlzLl9mb3JtYXR0ZXJDYWNoZT1udWxsLHRoaXMuX3ZhbHVlc0luTGVnZW5kUmVuZGVyZXI9bnVsbCx0aGlzLl9xdW90ZVRpY2tlclJlbmRlcmVyPW51bGwsdGhpcy5fbGFzdERlbHRhRnJvbVF1b3RlPW51bGwsdGhpcy5fbWFya2V0U3RhdHVzU291cmNlQWRhcHRlcj1udWxsLHRoaXMuX2NyZWF0ZVF1b3RlVGlja2VyUHJvbWlzZT1udWxsLHRoaXMuX2NoYXJ0UGFyZW50RWw9bnVsbCx0aGlzLl9pc0NoYXJ0VmlzaWJsZT0hMCx0aGlzLl9lcnJvckNhcmRSZW5kZXJlcj1udWxsLHRoaXMuX3ZhbHVlc0luTGVnZW5kQ3Jvc3NoYWlyTW92ZUhhbmRsZXI9YXN5bmMgZT0+e2NvbnN0IHQ9KDAsWC5nZXRDcm9zc2hhaXJNb3ZlRGF0YSkoKDAsZy5lbnN1cmVOb3ROdWxsKSh0aGlzLm1pbmlDaGFydCksZSk7dGhpcy5fcXVvdGVUaWNrZXJSZW5kZXJlcj8uY2FsbEZ1bmN0aW9uKChlPT57dD9lLmhpZGUoKTplLnNob3coKX0pKSx0aGlzLl92YWx1ZXNJbkxlZ2VuZFJlbmRlcmVyPy5jYWxsRnVuY3Rpb24oKGU9Pnt0PyhlLnNob3coKSxlLnVwZGF0ZSh0KSk6ZS5oaWRlKCl9KSl9LHRoaXMud2lkZ2V0PWUsdGhpcy5zeW1ib2w9dCx0aGlzLl9vcHRpb25zPW87Y29uc3QgaT1vLmNoYXJ0T25seSYmby5oaWRlRGF0YVJhbmdlczt0aGlzLmVsPWZ1bmN0aW9uKGUpewpjb25zdHtoaWRlTWFya2V0U3RhdHVzOnQsY2hhcnRPbmx5Om8saGlkZURhdGFSYW5nZXM6aSxjaGFuZ2VNb2RlOnIsaGlkZVdpZGdldEhlYWRlckNvbnRhaW5lcjpuLGhlYWRlckZvbnRTaXplOmF9PWUsbD0icHJpY2UtYW5kLXBlcmNlbnQiIT09ciYmInByaWNlLW9ubHkiIT09cixjPSJwcmljZS1hbmQtcGVyY2VudCIhPT1yJiYicGVyY2VudC1vbmx5IiE9PXIsdT0ibm8tdmFsdWVzIj09PXIsaD1gXG5cdFx0PGRpdiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X19oZWFkIHR2LXdpZGdldC1jaGFydF9faGVhZC0tJHthfSBqcy1oZWFkIj5cblx0XHRcdDxkaXYgY2xhc3M9InR2LXdpZGdldC1jaGFydF9fbG9nbyBqcy1oZWFkZXItaWNvbiI+PC9kaXY+XG5cdFx0XHQ8ZGl2IGNsYXNzPSJ0di13aWRnZXQtY2hhcnRfX2hlYWQtY29udGFpbmVyIj5cblx0XHRcdFx0PGRpdiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X19uYW1lIj5cblx0XHRcdFx0XHQ8aDIgY2xhc3M9InR2LXdpZGdldC1jaGFydF9fdGl0bGUgc3ltYm9sLWRlc2NyaXB0aW9uLW5hbWUiPlxuXHRcdFx0XHRcdFx0Jm5ic3A7XG5cdFx0XHRcdFx0PC9oMj5cblx0XHRcdFx0XHQke3Q/IiI6J1xuXHRcdDxkaXYgY2xhc3M9InR2LXdpZGdldC1jaGFydF9faW5kaWNhdG9ycyI+XG5cdFx0XHQ8c3BhbiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X19zdGF0dXMganMtbWFya2V0LXN0YXR1cyI+PC9zcGFuPlxuXHRcdDwvZGl2PlxuXHQnfVxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PGRpdiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X19pbmZvIj5cblx0XHRcdFx0XHQ8ZGl2IGlkPSJxdW90ZXMtY29udGFpbmVyIiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X19wcmljZSI+XG5cdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPSJ0di13aWRnZXQtY2hhcnRfX3ByaWNlLWNvbnRhaW5lciI+XG5cdFx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPSJ0di13aWRnZXQtY2hhcnRfX3ByaWNlLXZhbHVlIHN5bWJvbC1sYXN0IiB0aXRsZT0iICR7UC50KG51bGwsdm9pZCAwLHMoNDMxMTU3KSl9ICI+PC9zcGFuPlxuXHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPSJ0di13aWRnZXQtY2hhcnRfX2NvbnRhaW5lci1zeW1ib2wiPlxuXHRcdFx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPSJ0di1kYXRhLW1vZGUtLXN5bWJvbC13aWRnZXQgdHYtd2lkZ2V0LWNoYXJ0X19jb250YWluZXItc3ltYm9sLXNlbGVjdG9yIGpzLWRhdGEtbW9kZSI+PC9zcGFuPlxuXHRcdFx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPSJ0di1kYXRhLW1vZGUtLXN5bWJvbC13aWRnZXQgdHYtd2lkZ2V0LWNoYXJ0X19jb250YWluZXItc3ltYm9sLWN1cnJlbmN5IGpzLXN5bWJvbC1jdXJyZW5jeSI+PC9zcGFuPlxuXHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0PHNwYW4gaWQ9InN5bWJvbC1kZWx0YSIgY2xhc3M9InR2LXdpZGdldC1jaGFydF9fcHJpY2UtZGVsdGEiPlxuXHRcdFx0XHRcdFx0XHQke2w/IiI6YDxzcGFuIGlkPSJkZWx0YSIgY2xhc3M9InN5bWJvbC1jaGFuZ2UgdHYtd2lkZ2V0LWNoYXJ0X19wcmljZS1kZWx0YS12YWx1ZSIgdGl0bGU9IiAke1AudChudWxsLHZvaWQgMCxzKDY3MzQ4NykpfSAiPiZuYnNwOzwvc3Bhbj5gfVxuXHRcdFx0XHRcdFx0XHQke2M/IiI6YDxzcGFuIGlkPSJkZWx0YS1wdCIgY2xhc3M9InN5bWJvbC1jaGFuZ2UtcHQgdHYtd2lkZ2V0LWNoYXJ0X19wcmljZS1kZWx0YS12YWx1ZSIgdGl0bGU9IiAke1AudChudWxsLHZvaWQgMCxzKDY3MzQ4NykpfSAsICUiPiZuYnNwOzwvc3Bhbj5gfVxuXHRcdFx0XHRcdFx0XHQke3U/IiI6JzxzcGFuIGlkPSJkZWx0YS1yYW5nZSIgY2xhc3M9InR2LXdpZGdldC1jaGFydF9fcHJpY2UtZGVsdGEtZGF5Ij4mbmJzcDs8L3NwYW4+J31cblx0XHRcdFx0XHRcdDwvc3Bhbj5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHQ8ZGl2IGlkPSJ2YWx1ZXMtaW4tbGVnZW5kLWNvbnRhaW5lciIgY2xhc3M9InR2LXdpZGdldC1jaGFydF9fbGVnZW5kIj48L2Rpdj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0YCxkPWBcblx0XHQ8ZGl2IGNsYXNzPSJ0di13aWRnZXQtY2hhcnRfX2NvbnRhaW5lci13cmFwcHBlciI+XG5cdFx0XHQke28/IiI6aH1cblx0XHRcdCR7aT8iIjonPGRpdiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X190aW1lZnJhbWVzIGpzLXdpZGdldC1jaGFydC10aW1lZnJhbWVzIj48L2Rpdj4nfVxuXHRcdDwvZGl2PlxuXHRgLG09KDAseS5wYXJzZUh0bWwpKGBcblx0XHQ8ZGl2IGNsYXNzPSJ0di13aWRnZXQtY2hhcnRfX3BhZ2UiPlxuXHRcdFx0PGRpdiBjbGFzcz0ianMtd2lkZ2V0LWNoYXJ0LWluZm8iPlxuXHRcdFx0XHQke24/IiI6ZH1cblx0XHRcdDwvZGl2PlxuXHRcdFx0PGRpdiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X19jaGFydC13cmFwIGpzLXdpZGdldC1jaGFydC13cmFwIj48L2Rpdj5cblx0XHQ8L2Rpdj5cblx0YCk7cmV0dXJuKDAsZy5lbnN1cmVOb3ROdWxsKShtLmZpcnN0RWxlbWVudENoaWxkKX0oey4uLm8sc2hvcnROYW1lOnQuc2hvcnROYW1lKCksaGlkZVdpZGdldEhlYWRlckNvbnRhaW5lcjppfSksdGhpcy5pbmZvPSgwLGcuZW5zdXJlTm90TnVsbCkodGhpcy5lbC5xdWVyeVNlbGVjdG9yKCIuanMtd2lkZ2V0LWNoYXJ0LWluZm8iKSksdGhpcy5tYXJrZXRTdGF0dXM9dGhpcy5lbC5xdWVyeVNlbGVjdG9yKCIuanMtbWFya2V0LXN0YXR1cyIpLHRoaXMuX2NoYXJ0V3JhcHBlckVsPSgwLGcuZW5zdXJlTm90TnVsbCkodGhpcy5lbC5xdWVyeVNlbGVjdG9yKCIuanMtd2lkZ2V0LWNoYXJ0LXdyYXAiKSksbmV3IFJlc2l6ZU9ic2VydmVyKHRoaXMub25SZXNpemUuYmluZCh0aGlzKSkub2JzZXJ2ZSh0aGlzLl9jaGFydFdyYXBwZXJFbCksdGhpcy5fY3JlYXRlRGF0YU1vZGUoKTtjb25zdCByPXRoaXMuZWwucXVlcnlTZWxlY3RvcigiLmpzLXdpZGdldC1jaGFydC10aW1lZnJhbWVzIik/P3ZvaWQgMCxuPXRoaXMuc3ltYm9sLnRpbWVmcmFtZSgpO3RoaXMuX2NoYXJ0T3B0aW9ucz0oMCxwLmRlZmF1bHQpKHt9LCgwLApOLmRlZmF1bHQpKHt9LG8ubWluaUNoYXJ0T3B0aW9ucykse3RpbWVmcmFtZTp7Y29udGFpbmVyOnIsdmFsdWU6bj8oMCxNLmNvbnZlcnRTdHJUb1RpbWVGcmFtZSkobik6dm9pZCAwfSx1cGRhdGVUaW1lb3V0OjZlNH0pLHRoaXMudmlzaWJsZS5zdWJzY3JpYmUoKGFzeW5jKCk9Pnthd2FpdCB0aGlzLl9jcmVhdGVDaGFydCgpLHRoaXMuX2luaXRWYWx1ZXNJbkxlZ2VuZCgpfSkse29uY2U6ITB9KX1wYXVzZU1hcmtldFN0YXR1cygpe3RoaXMuX21lZGl1bVdpZGdldE1hcmtldFN0YXR1cz8uY2FsbEZ1bmN0aW9uKChlPT5lLmFkYXB0ZXIucGF1c2UoKSkpLHRoaXMuX2RhdGFNb2RlPy5zdG9wKCl9cmVzdW1lTWFya2V0U3RhdHVzKCl7dGhpcy5fbWVkaXVtV2lkZ2V0TWFya2V0U3RhdHVzPy5jYWxsRnVuY3Rpb24oKGU9PmUuYWRhcHRlci5yZXN1bWUoKSkpLHRoaXMuX2RhdGFNb2RlPy5zdGFydCgpfXNob3coZSl7dGhpcy53aWRnZXQuc3Bpbm5lci5zcGluKHRoaXMud2lkZ2V0LmxheW91dC5jb250YWluZXIpLHRoaXMuX29wdGlvbnMuY2hhcnRPbmx5fHx0aGlzLl9jcmVhdGVRdW90ZVRpY2tlcigpLnRoZW4oKHQ9Pnt0LnF1b3Rlc1JlYWR5LmNhdGNoKCh0PT57dCYmdGhpcy5fc2hvd0Vycm9yTWVzc2FnZSh0LGUpfSkpfSkpLmNhdGNoKCh0PT57dCYmdGhpcy5fc2hvd0Vycm9yTWVzc2FnZSh0LGUpfSkpLHRoaXMuX3Nob3dUYWIoZSl9aGlkZSgpe3RoaXMuZWwuY2xhc3NMaXN0LmFkZCgiaS1oaWRkZW4iKSx0aGlzLnZpc2libGUuc2V0VmFsdWUoITEpfW9uUmVzaXplKCl7dGhpcy5taW5pQ2hhcnQmJnRoaXMuX2lzQ2hhcnRWaXNpYmxlJiZzZXRUaW1lb3V0KCgoKT0+e3RoaXMuX2FwcGx5TGFiZWxPZmZzZXQoKX0pLDApfWFzeW5jIF9jcmVhdGVDaGFydCgpe3RoaXMubWluaUNoYXJ0PW5ldyAkLlNlc3Npb25zTWluaUNoYXJ0KHtzeW1ib2w6dGhpcy5zeW1ib2wubmFtZSgpLCJjdXJyZW5jeS1pZCI6dGhpcy5zeW1ib2wuY3VycmVuY3koKX0sdGhpcy5fY2hhcnRXcmFwcGVyRWwsdGhpcy5fY2hhcnRPcHRpb25zKTtjb25zdCBlPXRoaXMuX29wdGlvbnMudmFsdWVzVHJhY2tpbmc7IjEiIT09ZSYmIjIiIT09ZXx8KDAsbGUuY3JlYXRlTGlnaHR3ZWlnaHRDaGFydFByaWNlVGltZVRvb2x0aXApKHtjaGFydDp0aGlzLm1pbmlDaGFydC53aWRnZXQoKSxjb2xvcmVkQm9yZGVyVmlzaWJsZToiMiI9PT1lLGNyb3NzaGFpck1vdmVEYXRhR2V0dGVyOmU9PigwLFguZ2V0Q3Jvc3NoYWlyTW92ZURhdGEpKCgwLGcuZW5zdXJlTm90TnVsbCkodGhpcy5taW5pQ2hhcnQpLGUpfSk7Y29uc3R7bWE6dCxjb21wYXJlU3ltYm9sOm99PXRoaXMuX2NoYXJ0T3B0aW9ucy5jaGFydE9wdGlvbnN8fHt9O2lmKHQmJnQudmlzaWJsZSl7Y29uc3QgZT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDY0MTMyKSxzLmUoNzEzMjgpLHMuZSg1NjE1NildKS50aGVuKHMuYmluZChzLDQ3ODc0MCkpO2lmKHRoaXMubWluaUNoYXJ0Lm1haW5QbG90KCkuaXNEZXN0cm95ZWQoKS52YWx1ZSgpKXJldHVybjtjb25zdCBvPW5ldyBlLk1vdmluZ0F2ZXJhZ2VNaW5pQ2hhcnRQbG90KHRoaXMubWluaUNoYXJ0LHtjaGFydFR5cGU6ImxpbmUiLC4uLnR9LHQubGVuZ3RoPz85KTtvLnNldFN5bWJvbCh0aGlzLnN5bWJvbC5uYW1lKCkpLHRoaXMubWluaUNoYXJ0LmFkZFN0dWR5UGxvdChvKX1vJiZ0aGlzLl9jcmVhdGVDb21wYXJlU2VyaWVzKG8pO2NvbnN0IGk9dGhpcy5tYXJrZXRTdGF0dXM7aSYmKHRoaXMuX21lZGl1bVdpZGdldE1hcmtldFN0YXR1cz1uZXcgTy5Bc3luY1Jlc291cmNlV3JhcHBlcihhc3luYyBmdW5jdGlvbihlLHQpe2NvbnN0e01lZGl1bVdpZGdldE1hcmtldFN0YXR1czpvfT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDY0MjAwKSxzLmUoMjAzNTQpLHMuZSgzNjIyMikscy5lKDI5NTM2KSxzLmUoNTE4NCkscy5lKDU2MjUyKSxzLmUoMTE0NjEpLHMuZSg5NjU4Nykscy5lKDM5MDUpLHMuZSg2MjYwMCkscy5lKDc1MjE3KSxzLmUoMTE0MDkpLHMuZSgzMjM4Nykscy5lKDIzNzQzKSxzLmUoMzY5MzgpLHMuZSg4NTYwNykscy5lKDU0NDQ5KV0pLnRoZW4ocy5iaW5kKHMsNjYzMjE5KSk7cmV0dXJuIG5ldyBvKGUsdCl9KCgwLGcuZW5zdXJlTm90TnVsbCkodGhpcy5taW5pQ2hhcnQpLGkpKSx0aGlzLl9tZWRpdW1XaWRnZXRNYXJrZXRTdGF0dXMuY2FsbEZ1bmN0aW9uKChlPT57ZS5yZW5kZXJlcigpfSkpKSx0aGlzLl9jaGFydFBhcmVudEVsPSgwLGcuZW5zdXJlRGVmaW5lZCkodGhpcy5fY2hhcnRXcmFwcGVyRWwucXVlcnlTZWxlY3RvcigiZGl2W2RhdGEtbWluaS1jaGFydC1pZF0sIGRpdjpoYXMoLnR2LWxpZ2h0d2VpZ2h0LWNoYXJ0cykiKSksdGhpcy5faXNDaGFydFZpc2libGV8fHRoaXMuX2NoYXJ0UGFyZW50RWwuY2xhc3NMaXN0LmFkZCgiaS1oaWRkZW4iKSx0aGlzLm1pbmlDaGFydC5tYWluUGxvdCgpLnN0YXR1cygpLnN1YnNjcmliZSgoYXN5bmMgZT0+e3N3aXRjaChlKXtjYXNlIDM6dGhpcy5fb3B0aW9ucy5jaGFydE9ubHl8fHRoaXMuX3JlbmRlclF1b3RlRGVsdGEoKTticmVhaztjYXNlIDA6dGhpcy5fY2hhbmdlQ2hhcnRWaXNpYmlsaXR5KCEwKSx0aGlzLl9lcnJvckNhcmRSZW5kZXJlcj8uY2FsbEZ1bmN0aW9uKChlPT5lLnVwZGF0ZSh7bWVzc2FnZToiIn0pKSl9fSkpLHRoaXMubWluaUNoYXJ0Lm1haW5QbG90KCkubm9EYXRhKCkuc3Vic2NyaWJlKChlPT57bGV0IHQ7c3dpdGNoKGUpe2Nhc2UgMDp0PXt0eXBlOjB9O2JyZWFrO2Nhc2UgMTp0PXt0eXBlOjEsc3ltYm9sOigwLGcuZW5zdXJlTm90TnVsbCkodGhpcy5taW5pQ2hhcnQpLm1haW5QbG90KCkuc3ltYm9sKCl9O2JyZWFrO2Nhc2UgMjpjYXNlIDM6dD17dHlwZToyfTticmVhaztkZWZhdWx0OnJldHVybn10aGlzLl9zaG93RXJyb3JNZXNzYWdlKHQpfSkpfWFzeW5jIF9jcmVhdGVDb21wYXJlU2VyaWVzKGUpe2NvbnN0IHQ9dGhpcy5taW5pQ2hhcnQ7aWYodCl7Y29uc3Qgbz1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDcxMzI4KSxzLmUoOTU0ODYpXSkudGhlbihzLmJpbmQocywxMjgwMTEpKTtpZih0Lm1haW5QbG90KCkuaXNEZXN0cm95ZWQoKS52YWx1ZSgpKXJldHVybgo7Y29uc3R7c3ltYm9sOmksc2hvd0xhYmVsczpyLC4uLm59PWUsYT10aGlzLl9jaGFydE9wdGlvbnMuY2hhcnRPcHRpb25zPy5jaGFydD8ubGVmdFByaWNlU2NhbGU/LnZpc2libGV8fCF0aGlzLl9jaGFydE9wdGlvbnMuY2hhcnRPcHRpb25zPy5jaGFydD8ubGVmdFByaWNlU2NhbGU/LnZpc2libGUmJiF0aGlzLl9jaGFydE9wdGlvbnMuY2hhcnRPcHRpb25zPy5jaGFydD8ucmlnaHRQcmljZVNjYWxlPy52aXNpYmxlLGw9cj8/ITA7bi5sYXN0VmFsdWVWaXNpYmxlPSFhJiZsO2NvbnN0IGM9ey4uLnQubWFpblBsb3QoKS5leHRlbmRlZFN5bWJvbCgpLHN5bWJvbDppfSx1PW5ldyBvLk92ZXJsYXlNaW5pQ2hhcnRQbG90KHQsbixjLCExKTtpZih1LnNldFN5bWJvbChjKSx0LmFkZFN0dWR5UGxvdCh1KSwhbClyZXR1cm47dGhpcy5fbWFya2V0U3RhdHVzU291cmNlQWRhcHRlcj1uZXcgYWUuTWluaUNoYXJ0U3RhdHVzU291cmNlQWRhcHRlcih0KTtjb25zdCBoPWUuc3ltYm9sLmluY2x1ZGVzKCI6Iik/ZS5zeW1ib2wuc3BsaXQoIjoiKVsxXTplLnN5bWJvbDt1LnNlcmllcygpLmFwcGx5T3B0aW9ucyh7dGl0bGU6aH0pLHUuc2VyaWVzKCkuYXR0YWNoUHJpbWl0aXZlKG5ldyBKKGEpKTtjb25zdCBkPSgpPT57c2V0VGltZW91dCgoKCk9Pnt0aGlzLl9hcHBseUxhYmVsT2Zmc2V0KCl9KSwwKX07ZCgpLHQubWFpblBsb3QoKS5zdGF0dXMoKS5zdWJzY3JpYmUoKCgpPT57ZCgpfSkpfX1fYXBwbHlMYWJlbE9mZnNldCgpe2NvbnN0IGU9dGhpcy5taW5pQ2hhcnQsdD10aGlzLl9jaGFydE9wdGlvbnMuY2hhcnRPcHRpb25zPy5jb21wYXJlU3ltYm9sO2lmKCFlfHwhdD8uc3ltYm9sKXJldHVybjtjb25zdCBzPXRoaXMuX2NoYXJ0T3B0aW9ucy5jaGFydE9wdGlvbnM/LmNoYXJ0Py5sZWZ0UHJpY2VTY2FsZT8udmlzaWJsZXx8IXRoaXMuX2NoYXJ0T3B0aW9ucy5jaGFydE9wdGlvbnM/LmNoYXJ0Py5sZWZ0UHJpY2VTY2FsZT8udmlzaWJsZSYmIXRoaXMuX2NoYXJ0T3B0aW9ucy5jaGFydE9wdGlvbnM/LmNoYXJ0Py5yaWdodFByaWNlU2NhbGU/LnZpc2libGUsbz10PT57ZS5tYWluUGxvdCgpPy5zZXJpZXMoKS5hcHBseU9wdGlvbnMoe3RpdGxlOnRoaXMuc3ltYm9sLm5hbWUoKX0pO2NvbnN0IG89ZS50aW1lZnJhbWUoKS52YWx1ZSgpLGk9InBlcmlvZC1iYWNrIj09PW8udHlwZSYmIkxBU1RTRVNTSU9OIj09PW8udmFsdWU/dDpudWxsO2UubWFpblBsb3QoKT8uc2VyaWVzKCkuYXBwbHlPcHRpb25zKHtsYXN0VmFsdWVWaXNpYmxlOiFzfSksZS5tYWluUGxvdCgpPy5zZXJpZXMoKS5hdHRhY2hQcmltaXRpdmUobmV3IEoocyxpKSk7Y29uc3Qgcj1mdW5jdGlvbihlLHQpe2NvbnN0IHM9dD8uY29tcGFyZVN5bWJvbD8uc3ltYm9sO2lmKCFzKXJldHVybiAwO2NvbnN0IG89cy5pbmNsdWRlcygiOiIpP3Muc3BsaXQoIjoiKVsxXTpzO3JldHVybih0Py5jaGFydD8ubGF5b3V0Py5mb250U2l6ZT8/MTApKk1hdGgubWF4KG8ubGVuZ3RoLGUubmFtZSgpLmxlbmd0aCkrMTB9KHRoaXMuc3ltYm9sLHRoaXMuX2NoYXJ0T3B0aW9ucy5jaGFydE9wdGlvbnMpLG49KCk9Pntjb25zdCB0PWUud2lkZ2V0KCkudGltZVNjYWxlKCkud2lkdGgoKSxzPWUud2lkZ2V0KCkudGltZVNjYWxlKCkuZ2V0VmlzaWJsZUxvZ2ljYWxSYW5nZSgpO2lmKCFzKXJldHVybiAwO2NvbnN0IG89ci90O3JldHVybihzLnRvLXMuZnJvbSkqb307aWYoInRpbWUtcmFuZ2UiPT09by50eXBlfHwicGVyaW9kLWJhY2siPT09by50eXBlJiYiTEFTVFNFU1NJT04iIT09by52YWx1ZSllLndpZGdldCgpLnRpbWVTY2FsZSgpLmFwcGx5T3B0aW9ucyh7cmlnaHRPZmZzZXQ6bigpfSk7ZWxzZXtjb25zdCB0PWUubWFpblBsb3QoKT8uc2VyaWVzKCkuZGF0YSgpLnNsaWNlKC0xKVswXSxzPWUud2lkZ2V0KCkudGltZVNjYWxlKCkud2lkdGgoKS1yLG89ZS53aWRnZXQoKS50aW1lU2NhbGUoKS5jb29yZGluYXRlVG9UaW1lKHMpO2lmKCF0fHwhb3x8dC50aW1lPG8pcmV0dXJuO2Uud2lkZ2V0KCkudGltZVNjYWxlKCkuYXBwbHlPcHRpb25zKHtyaWdodE9mZnNldDpuKCl9KX19LGk9dGhpcy5fbWFya2V0U3RhdHVzU291cmNlQWRhcHRlcj8ubWFya2V0U3RhdHVzTW9kZWwoKT8uY3VycmVudFNlc3Npb24oKS52YWx1ZSgpO2k/byhpKTp0aGlzLl9tYXJrZXRTdGF0dXNTb3VyY2VBZGFwdGVyPy5tYXJrZXRTdGF0dXNNb2RlbCgpPy5jdXJyZW50U2Vzc2lvbigpLnN1YnNjcmliZSgoZT0+e2UmJm8oZSl9KSl9X2NyZWF0ZVF1b3RlVGlja2VyKCl7aWYobnVsbCE9PXRoaXMuX2NyZWF0ZVF1b3RlVGlja2VyUHJvbWlzZSlyZXR1cm4gdGhpcy5fY3JlYXRlUXVvdGVUaWNrZXJQcm9taXNlO2NvbnN0IGU9KDAsZy5lbnN1cmVOb3ROdWxsKSh0aGlzLmluZm8ucXVlcnlTZWxlY3RvcigiLmpzLWhlYWQiKSksdD0oMCxnLmVuc3VyZU5vdE51bGwpKHRoaXMuaW5mby5xdWVyeVNlbGVjdG9yKCIuanMtaGVhZGVyLWljb24iKSksbz0oZSx0KT0+e2VlKFYuZ2V0RXhjaGFuZ2UoZSksdCkudGhlbigoZT0+e3RoaXMud2lkZ2V0LnNwaW5uZXIuc3RvcCgpLGUmJnRoaXMud2lkZ2V0LmxheW91dC5jb250YWluZXIuYXBwZW5kKGUpfSkpfSxpPSgpPT57ZS5jbGFzc0xpc3QuYWRkKCJ0di13aWRnZXQtY2hhcnRfX2hlYWQtbm8tbG9nbyIpfSxyPSgwLEEuZ2V0TG9nb1VybHNIb29rKSgoZT0+eyhlPT57aWYoZS5sZW5ndGg+MCl7Y29uc3Qgcz1JKHtsb2dvVXJsczplLHNpemU6InhsYXJnZSIsY2xhc3NOYW1lOiJ0di13aWRnZXQtY2hhcnRfX2ljb24gdHYtd2lkZ2V0LWNoYXJ0X19pY29uLS1sYXJnZSJ9KSxvPUkoe2xvZ29VcmxzOmUsc2l6ZToibWVkaXVtIixjbGFzc05hbWU6InR2LXdpZGdldC1jaGFydF9faWNvbiB0di13aWRnZXQtY2hhcnRfX2ljb24tLW1lZGl1bSJ9KTt0LmFwcGVuZCgoMCx5LnBhcnNlSHRtbCkocykpLHQuYXBwZW5kKCgwLHkucGFyc2VIdG1sKShvKSl9ZWxzZSBpKCl9KShlKSx0aGlzLm9uUmVzaXplKCl9KSxLLkxvZ29TaXplLkxhcmdlKQo7cmV0dXJuIHRoaXMuX29wdGlvbnMuY2hhcnRPbmx5fHx0aGlzLl9xdW90ZVRpY2tlclJlbmRlcmVyfHwodGhpcy5fcXVvdGVUaWNrZXJSZW5kZXJlcj1uZXcgTy5Bc3luY1Jlc291cmNlV3JhcHBlcihhc3luYyBmdW5jdGlvbihlKXtyZXR1cm4gbmV3KChhd2FpdCBQcm9taXNlLmFsbChbcy5lKDU4NjY3KSxzLmUoMzc4NjUpLHMuZSgzOTA1KSxzLmUoNTE1MDgpLHMuZSg4NDA4KSxzLmUoMzU1Mikscy5lKDMzMzkyKV0pLnRoZW4ocy5iaW5kKHMsMTI1OTgzKSkpLk1lZGl1bVdpZGdldFF1b3RlVGlja2VyUmVuZGVyZXIpKGUpfSh0aGlzLmVsKSksdGhpcy5fcXVvdGVUaWNrZXJSZW5kZXJlci5jYWxsRnVuY3Rpb24oKGU9PntlLnNob3coKX0pKSksdGhpcy5fY3JlYXRlUXVvdGVUaWNrZXJQcm9taXNlPW5ldyBQcm9taXNlKCgoZSx0KT0+e1EodGhpcy5zeW1ib2wubmFtZSgpKS50aGVuKCh0PT57aWYobnVsbD09PXRoaXMuX3F1b3RlVGlja2VyUmVuZGVyZXIpcmV0dXJuIHZvaWQgZSh7cXVvdGVzUmVhZHk6UHJvbWlzZS5yZXNvbHZlKCl9KTtjb25zdCBzPW5ldyBQcm9taXNlKCgoZSxzKT0+e3RoaXMuX3F1b3RlVGlja2VyUmVuZGVyZXI/LmNhbGxGdW5jdGlvbigobj0+e24uY3JlYXRlUXVvdGVUaWNrZXIoKDAsbmUuZW5jb2RlRXh0ZW5kZWRTeW1ib2xPckdldFNpbXBsZVN5bWJvbFN0cmluZykoe3N5bWJvbDp0LCJjdXJyZW5jeS1pZCI6dGhpcy5zeW1ib2wuY3VycmVuY3koKX0pLHtsYXN0RmFsbGluZ0NsYXNzOiJ0di13aWRnZXQtY2hhcnRfX3ByaWNlLXZhbHVlLWNoYW5nZXMtLWZhbGxpbmciLGxhc3RHcm93aW5nQ2xhc3M6InR2LXdpZGdldC1jaGFydF9fcHJpY2UtdmFsdWUtY2hhbmdlcy0tZ3Jvd2luZyIsbGFzdFByaWNlSGlnaGxpZ2h0RGlmZk9ubHk6ITAsZGlzYWJsZUNoYW5nZTohMCxzZXRTdGF0ZUhvb2s6KHQscyxvKT0+e3RoaXMuX29wdGlvbnMuaGlkZVN5bWJvbExvZ28/aSgpOnIodCxzLG8pLHRoaXMuX3JlbmRlclF1b3RlRGVsdGEodCxzKSxlKCl9LG5vU3VjaFN5bWJvbEhvb2s6KGUsdCk9PnsicGVybWlzc2lvbl9kZW5pZWQiPT09ZS5zdGF0dXM/cyh7dHlwZToxLHN5bWJvbDplLnN5bWJvbG5hbWV9KTpzKHt0eXBlOjB9KSxpKCl9LHBlcm1pc3Npb25EZW5pZWRIb29rOihlLHQpPT57dCYmbyh0LHRlLkRlbGF5VHlwZS5Bbm9uKSxzKHt0eXBlOjEsc3ltYm9sOnR9KX19KX0pKX0pKTtlKHtxdW90ZXNSZWFkeTpzfSl9KSkuY2F0Y2goKGU9PntvKHRoaXMuc3ltYm9sLm5hbWUoKSwiREVMQVlfTk9UX0FWQUlMQUJMRSI9PT1lPy5lcnJDb2RlP3RlLkRlbGF5VHlwZS5GcmVlRGVsYXk6dGUuRGVsYXlUeXBlLkRlbGF5KSx0KDEpfSkpfSkpLHRoaXMuX2NyZWF0ZVF1b3RlVGlja2VyUHJvbWlzZX1fY2FsY3VsYXRlUXVvdGVEZWx0YShlLHQpe2lmKCF0aGlzLm1pbmlDaGFydClyZXR1cm47Y29uc3Qgcz10aGlzLm1pbmlDaGFydC5tYWluUGxvdCgpLG89cy5maXJzdEJhcigpPy52YWx1ZVs0XSxpPXQ/Lmxhc3RfcHJpY2U/P3MubGFzdEJhcigpPy52YWx1ZVs0XTtpZighKDAsTC5pc051bWJlcikobyl8fCEoMCxMLmlzTnVtYmVyKShpKSlyZXR1cm47Y29uc3Qgcj1pLW87cmV0dXJuW3RoaXMuX3ByaWNlRm9ybWF0dGVyKGV8fHMuc3ltYm9sSW5mbygpKS5mb3JtYXQocix7c2lnblBvc2l0aXZlOiEwfSksdWUuZm9ybWF0KHIvbyoxMDAse3NpZ25Qb3NpdGl2ZTohMH0pLHJdfV9nZXREZWx0YUZyb21RdW90ZShlLHQpe2NvbnN0e2NoYW5nZTpzPWUuY2hhbmdlLGNoYW5nZV9wZXJjZW50Om89ZS5jaGFuZ2VfcGVyY2VudH09dDtyZXR1cm5bdGhpcy5fcHJpY2VGb3JtYXR0ZXIoZSkuZm9ybWF0KCgwLEwuaXNOdW1iZXIpKHMpP3M6MCx7c2lnblBvc2l0aXZlOiEwfSksdWUuZm9ybWF0KCgwLEwuaXNOdW1iZXIpKG8pP286MCx7c2lnblBvc2l0aXZlOiEwfSksKDAsTC5pc051bWJlcikocyk/czowXX1fcmVuZGVyUXVvdGVEZWx0YShlLHQpe2lmKCF0aGlzLl9xdW90ZVRpY2tlclJlbmRlcmVyKXJldHVybjtlJiZ0JiYodGhpcy5fbGFzdERlbHRhRnJvbVF1b3RlPXRoaXMuX2dldERlbHRhRnJvbVF1b3RlKGUsdCkpO2NvbnN0IHM9dGhpcy5taW5pQ2hhcnQ/LnRpbWVmcmFtZSgpLnZhbHVlKCksbz1zPygwLE0uY29udmVydFRpbWVGcmFtZVRvU3RyKShzKTp0aGlzLnN5bWJvbC50aW1lZnJhbWUoKTtsZXQgaSxyO2lmKCIxRCI9PT1vfHwiTEFTVFNFU1NJT04iPT09byl7aWYoIXRoaXMuX2xhc3REZWx0YUZyb21RdW90ZSlyZXR1cm47aT10aGlzLl9sYXN0RGVsdGFGcm9tUXVvdGV9ZWxzZSBpPXRoaXMuX2NhbGN1bGF0ZVF1b3RlRGVsdGEoZSx0KXx8bnVsbDtpZihpKXtjb25zdFtlLHQsb109aSxuPSgwLEIuZ2V0VGltZUZyYW1lTmFtZSkocz8oMCxNLmNvbnZlcnRUaW1lRnJhbWVUb1N0cikocyk6IiIpO3I9W2UsdCxuLG9dfXRoaXMuX3F1b3RlVGlja2VyUmVuZGVyZXIuY2FsbEZ1bmN0aW9uKChlPT5lLnVwZGF0ZVF1b3RlRGVsdGEocikpKX1fcHJpY2VGb3JtYXR0ZXIoZSl7Y29uc3QgdD10aGlzLl9mb3JtYXR0ZXJDYWNoZSx7cHJpY2VzY2FsZTpzLG1pbm1vdjpvLGZyYWN0aW9uYWw6aSxtaW5tb3ZlMjpyfT1lfHx7cHJpY2VzY2FsZToxMDAsbWlubW92OjF9O2lmKG51bGw9PT10fHx0LnByaWNlc2NhbGUhPT1zfHx0Lm1pbm1vdiE9PW98fHQuZnJhY3Rpb25hbCE9PWl8fHQubWlubW92ZTIhPT1yKXtjb25zdCBlPW5ldyBvZS5QcmljZUZvcm1hdHRlcih7cHJpY2VTY2FsZTpzLG1pbk1vdmU6byxmcmFjdGlvbmFsOmksbWluTW92ZTI6cn0pO3JldHVybiB0aGlzLl9mb3JtYXR0ZXJDYWNoZT17cHJpY2VzY2FsZTpzLG1pbm1vdjpvLGZyYWN0aW9uYWw6aSxtaW5tb3ZlMjpyLGZvcm1hdHRlcjplfSxlfXJldHVybiB0LmZvcm1hdHRlcn1faW5pdFZhbHVlc0luTGVnZW5kKCl7aWYoIjMiPT09dGhpcy5fb3B0aW9ucy52YWx1ZXNUcmFja2luZyYmdGhpcy5taW5pQ2hhcnQpe2NvbnN0IGU9dGhpcy5lbC5xdWVyeVNlbGVjdG9yKCIjdmFsdWVzLWluLWxlZ2VuZC1jb250YWluZXIiKQo7ZSYmKHRoaXMuX3ZhbHVlc0luTGVnZW5kUmVuZGVyZXI9bmV3IE8uQXN5bmNSZXNvdXJjZVdyYXBwZXIoYXN5bmMgZnVuY3Rpb24oZSl7Y29uc3R7TWVkaXVtV2lkZ2V0VmFsdWVzSW5MZWdlbmRSZW5kZXJlcjp0fT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDcyNzYxKSxzLmUoMzIzODcpLHMuZSg4NjY5NildKS50aGVuKHMuYmluZChzLDk1NzU1NykpO3JldHVybiBuZXcgdChlKX0oZSkpLHRoaXMubWluaUNoYXJ0LnVuc3Vic2NyaWJlQ3Jvc3NoYWlyTW92ZSh0aGlzLl92YWx1ZXNJbkxlZ2VuZENyb3NzaGFpck1vdmVIYW5kbGVyKSx0aGlzLm1pbmlDaGFydC5zdWJzY3JpYmVDcm9zc2hhaXJNb3ZlKHRoaXMuX3ZhbHVlc0luTGVnZW5kQ3Jvc3NoYWlyTW92ZUhhbmRsZXIpKX19X3Nob3dUYWIoZSl7dGhpcy5lbC5jbGFzc0xpc3QucmVtb3ZlKCJpLWhpZGRlbiIpLHRoaXMudmlzaWJsZS5zZXRWYWx1ZSghMCksdGhpcy53aWRnZXQuc3Bpbm5lci5zdG9wKCksZT8uKCksdGhpcy5vblJlc2l6ZSgpfV9zaG93RXJyb3JNZXNzYWdlKGUsdCl7dGhpcy5fc2hvd1RhYih0KSx0aGlzLl9jaGFuZ2VDaGFydFZpc2liaWxpdHkoITEpLHRoaXMuX2Vycm9yQ2FyZFJlbmRlcmVyfHwodGhpcy5fZXJyb3JDYXJkUmVuZGVyZXI9bmV3IE8uQXN5bmNSZXNvdXJjZVdyYXBwZXIoYXN5bmMgZnVuY3Rpb24oKXtyZXR1cm4gbmV3KGF3YWl0KDAsc2UuZ2V0RXJyb3JDYXJkUmVuZGVyZXIpKCkpfSgpKSx0aGlzLl9lcnJvckNhcmRSZW5kZXJlci5jYWxsRnVuY3Rpb24oKGU9Pnt0aGlzLmluZm8uY2xhc3NMaXN0LmFkZCgidHYtd2lkZ2V0LWNoYXJ0X19ub3QtZGF0YSIpLHRoaXMuX2NoYXJ0V3JhcHBlckVsLmFwcGVuZENoaWxkKGUuY29udGFpbmVyKX0pKSksdGhpcy5fZXJyb3JDYXJkUmVuZGVyZXIuY2FsbEZ1bmN0aW9uKCh0PT57dC51cGRhdGUoey4uLm1lKGUpLGljb246Imdob3N0IixiYWNrZ3JvdW5kQ29sb3I6InRyYW5zcGFyZW50IixvZmZzZXRIZWlnaHQ6dGhpcy5fZ2V0SGVhZGVySGVpZ2h0KCl9KSx0aGlzLm9uUmVzaXplKCl9KSl9X2dldEhlYWRlckhlaWdodCgpe3JldHVybiB0aGlzLndpZGdldC5sYXlvdXQuY29udGFpbmVyLmNsaWVudEhlaWdodC10aGlzLl9jaGFydFdyYXBwZXJFbC5jbGllbnRIZWlnaHR9X2NoYW5nZUNoYXJ0VmlzaWJpbGl0eShlKXt0aGlzLl9pc0NoYXJ0VmlzaWJsZT1lLGU/dGhpcy5fY2hhcnRQYXJlbnRFbD8uY2xhc3NMaXN0LnJlbW92ZSgiaS1oaWRkZW4iKTp0aGlzLl9jaGFydFBhcmVudEVsPy5jbGFzc0xpc3QuYWRkKCJpLWhpZGRlbiIpfWFzeW5jIF9jcmVhdGVEYXRhTW9kZSgpe2NvbnN0IGU9dGhpcy5lbC5xdWVyeVNlbGVjdG9yKCIuanMtZGF0YS1tb2RlIik7aWYoIWUpcmV0dXJuO2NvbnN0IHQ9YXdhaXQgUHJvbWlzZS5hbGwoW3MuZSg1NzE4NCkscy5lKDM5MDUpLHMuZSg1MTUwOCkscy5lKDQ2NDgyKV0pLnRoZW4ocy5iaW5kKHMsMzA2OTApKTt0aGlzLl9kYXRhTW9kZT1uZXcgdC5EYXRhTW9kZUluZGljYXRvcih7Y2xhc3NTdWZmaXg6Ii0tZm9yLXN5bWJvbC13aWRnZXQiLGVsOmU/P3ZvaWQgMCxzaG9ydDohMCxzeW1ib2w6dGhpcy5zeW1ib2wubmFtZSgpfSl9fXZhciBnZT1zKDUyODg2NCksX2U9cyg3NDgwMDIpLHllPShzKDIxMjI3NSkscygzOTE4MDcpKTtjbGFzcyBmZXtjb25zdHJ1Y3RvcihlLHQscyl7dGhpcy5zcGlubmVyPW5ldyBkLlNwaW5uZXIsdGhpcy5vbmVTeW1ib2w9ITAsdGhpcy5fb25TeW1ib2xDaGFuZ2U9bnVsbCx0aGlzLl9wYWdlcz1uZXcgTWFwLHRoaXMuX3N5bWJvbHM9dGhpcy5fcHJlcGFyZVN5bWJvbHModCksdGhpcy5fb3B0aW9ucz0oMCxwLmRlZmF1bHQpKHt9LHRoaXMuZGVmYXVsdE9wdGlvbnMoKSxzKSxzLmhpZGVEYXRlUmFuZ2VzJiYodGhpcy5fb3B0aW9ucy5taW5pQ2hhcnRPcHRpb25zLnRpbWVmcmFtZS52aXNpYmxlPSExKSx0aGlzLl9vcHRpb25zLm9uU3ltYm9sQ2hhbmdlJiYodGhpcy5fb25TeW1ib2xDaGFuZ2U9bmV3IGsuRGVsZWdhdGUsdGhpcy5fb25TeW1ib2xDaGFuZ2Uuc3Vic2NyaWJlKG51bGwsdGhpcy5fb3B0aW9ucy5vblN5bWJvbENoYW5nZSkpLHRoaXMuX2NyZWF0ZUxheW91dChlKX1kZWZhdWx0T3B0aW9ucygpe3JldHVybntjaGFydE9ubHk6ITEsaGVhZGVyRm9udFNpemU6Im1lZGl1bSIsdmFsdWVzVHJhY2tpbmc6IjAiLGNoYW5nZU1vZGU6InByaWNlLWFuZC1wZXJjZW50IixtaW5pQ2hhcnRPcHRpb25zOntzaG93RGVzY3JpcHRpb246ITEsdGltZWZyYW1lOnt2YWx1ZTp7dHlwZToicGVyaW9kLWJhY2siLHZhbHVlOiIxRCJ9LHZpc2libGU6ITAsc2l6ZToieHNtYWxsIn0sY2hhcnRPcHRpb25zOnttaW5IZWlnaHQ6MjAwLGNoYXJ0OntncmlkOnt2ZXJ0TGluZXM6e3Zpc2libGU6ITF9LGhvcnpMaW5lczp7dmlzaWJsZTohMCxjb2xvcjoiI2U5ZTllYSIsc3R5bGU6by5MaW5lU3R5bGUuRGFzaGVkfX19LHNlcmllczp7bGluZUNvbG9yOnIuY29sb3JzUGFsZXR0ZVsiY29sb3Itc3VjY2VzcyJdLGxpbmVXaWR0aDoxLHRvcENvbG9yOiJyZ2JhKDYwLCAxODgsIDE1MiwgMC4wNSkiLGJvdHRvbUNvbG9yOiJyZ2JhKDYwLCAxODgsIDE1MiwgMC4wNSkifSxsb2FkaW5nOntmYWRlOnt2aXNpYmxlOiEwfSxjbGVhckRhdGFPblN5bWJvbENoYW5nZTohMSxjbGVhckRhdGFPblRpbWVmcmFtZUNoYW5nZTohMX19fSxoaWRlSGVhZGVyOiExLGhpZGVEYXRlUmFuZ2VzOiExLGhpZGVNYXJrZXRTdGF0dXM6ITEsaGlkZVN5bWJvbExvZ286ITEsbm9Cb3JkZXI6ITEsc2hvd1N1YlRpdGxlOiEwfX1zZXRTeW1ib2xzKGUpe3RoaXMuX3N5bWJvbHM9dGhpcy5fcHJlcGFyZVN5bWJvbHMoZSl9X3ByZXBhcmVTeW1ib2xzKGUpe3JldHVybihlPUFycmF5LmlzQXJyYXkoZSk/ZTpbZV0pLm1hcCgoZT0+bmV3IEMoZSwoZT0+IjFEIj09PWV8fHZvaWQgMD09PWU/IkxBU1RTRVNTSU9OIjplKSkpKX1hc3luYyBfY3JlYXRlTGF5b3V0KGUpe3RoaXMub25lU3ltYm9sPTE9PT10aGlzLl9zeW1ib2xzLmxlbmd0aDtjb25zdCB0PXRoaXMuX29wdGlvbnMubm9Cb3JkZXIsbz0oMCwKeS5wYXJzZUh0bWwpKGBcblx0XHRcdDxkaXYgY2xhc3M9InR2LXdpZGdldC1jaGFydCAke3Q/InR2LXdpZGdldC1jaGFydC0tbm8tYm9yZGVyIjoidHYtd2lkZ2V0LWNoYXJ0LS13aXRoLWJvcmRlciJ9Ij5cblx0XHRcdFx0PGRpdiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X19uYXYganMtd2lkZ2V0LWNoYXJ0LXRhYi1jb250YWluZXIgJHt0aGlzLm9uZVN5bWJvbD8iaS1oaWRkZW4iOiIifSI+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz0ianMtd2lkZ2V0LWNoYXJ0LXRhYnMiPjwvZGl2PlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PGRpdiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X19wYWdlcyBqcy13aWRnZXQtY2hhcnQtcGFnZXMiPjwvZGl2PlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPSJ0di13aWRnZXQtY2hhcnRfX2NvcHlyaWdodGluZ0NvbnRhaW5lciI+PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHRgKSxpPSgwLGcuZW5zdXJlTm90TnVsbCkoby5maXJzdEVsZW1lbnRDaGlsZCk7aWYodGhpcy5sYXlvdXQ9e2JvZHk6aSxjb250YWluZXI6ZSx0YWJzQ29udGFpbmVyOigwLGcuZW5zdXJlTm90TnVsbCkoaS5xdWVyeVNlbGVjdG9yKCIuanMtd2lkZ2V0LWNoYXJ0LXRhYi1jb250YWluZXIiKSksdGFic0VsOigwLGcuZW5zdXJlTm90TnVsbCkoaS5xdWVyeVNlbGVjdG9yKCIuanMtd2lkZ2V0LWNoYXJ0LXRhYnMiKSkscGFnZXNFbDooMCxnLmVuc3VyZU5vdE51bGwpKGkucXVlcnlTZWxlY3RvcigiLmpzLXdpZGdldC1jaGFydC1wYWdlcyIpKSxmb290ZXI6aS5xdWVyeVNlbGVjdG9yKCIuanMtd2lkZ2V0LWNoYXJ0LWZvb3RlciIpLGNwQ29udGFpbmVyOigwLGcuZW5zdXJlTm90TnVsbCkoaS5xdWVyeVNlbGVjdG9yKCIudHYtd2lkZ2V0LWNoYXJ0X19jb3B5cmlnaHRpbmdDb250YWluZXIiKSl9LGUub3duZXJEb2N1bWVudC5ib2R5LnN0eWxlLnNldFByb3BlcnR5KCItLXdpZGdldC1mb250LWNvbG9yIix0aGlzLl9vcHRpb25zLmZvbnRDb2xvciksdGhpcy5fb3B0aW9ucy5mb250RmFtaWx5JiZlLm93bmVyRG9jdW1lbnQuYm9keS5zdHlsZS5zZXRQcm9wZXJ0eSgiLS13aWRnZXQtZm9udC1mYW1pbHkiLHRoaXMuX29wdGlvbnMuZm9udEZhbWlseSksdGhpcy5sYXlvdXQuY29udGFpbmVyLmFwcGVuZChpKSx0aGlzLl9zeW1ib2xzLmxlbmd0aD4xKXtjb25zdCBlPShhd2FpdCBQcm9taXNlLmFsbChbcy5lKDk0OTQ3KSxzLmUoODQzMDYpLHMuZSg4MTA3Mikscy5lKDIzNjI0KSxzLmUoOTUwNCkscy5lKDQ3NjMyKSxzLmUoNTgwNTEpLHMuZSgzODQxMSkscy5lKDMyMzg3KSxzLmUoNDIyODgpLHMuZSg2OTExMykscy5lKDc3NzY0KV0pLnRoZW4ocy5iaW5kKHMsMTg3NDQ1KSkpLnJlbmRlcldpZGdldFRhYnMsdD1bXTtmb3IoY29uc3QgZSBvZiB0aGlzLl9zeW1ib2xzKXtjb25zdCBzPWUuZGVzY3JpcHRpb24oKXx8ZS5zaG9ydE5hbWUoKSxvPXtpZDplLm5hbWUoKSxsYWJlbDpzfTt0LnB1c2gobyl9YXdhaXQgUHJvbWlzZS5hbGwoW2UoIm1lZGl1bS13aWRnZXQtdGFicyIsdCx0aGlzLl9zZWxlY3RUYWIuYmluZCh0aGlzKSx0aGlzLmxheW91dC50YWJzRWwsdGhpcy5fb3B0aW9ucy5nZXRUYWJzVGhlbWUpLHRoaXMuX2NyZWF0ZUNvcHlyaWdodGluZygpXSl9ZWxzZSBhd2FpdCB0aGlzLl9jcmVhdGVDb3B5cmlnaHRpbmcoKTt0aGlzLl9zZWxlY3RUYWIodGhpcy5fc3ltYm9sc1swXS5uYW1lKCkpfV9zZWxlY3RUYWIoZSl7Y29uc3QgdD10aGlzLl9nZXRPckNyZWF0ZVBhZ2UoZSk7dGhpcy5fcGFnZXMuZm9yRWFjaCgoZT0+e2U9PT10PyhlLnJlc3VtZU1hcmtldFN0YXR1cygpLGUuc2hvdygoKCk9Pnt0aGlzLl9vYnNlcnZlQ2hhcnRFbnRyeShlLm1pbmlDaGFydD8uZ2V0Q2hhcnRDb250YWluZXIoKXx8bnVsbCl9KSkpOihlLmhpZGUoKSxlLnBhdXNlTWFya2V0U3RhdHVzKCkpfSkpO2NvbnN0IHM9e2xlZnQ6MH0sbz10LmluZm8ucXVlcnlTZWxlY3RvcigiLnR2LXdpZGdldC1jaGFydF9fdGl0bGUiKSxpPW51bGw9PT1vP251bGw6by5jaGlsZHJlbltvLmNoaWxkcmVuLmxlbmd0aC0xXSxyPSgpPT57Y29uc3QgZT0oMCxnLmVuc3VyZU5vdE51bGwpKGkpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3MubGVmdD1lLmxlZnQrZS53aWR0aCsxNSwoMCxnLmVuc3VyZU5vdE51bGwpKGkpLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNoYW5nZSIsciksbnVsbCE9PXRoaXMuX29uU3ltYm9sQ2hhbmdlJiZ0aGlzLl9vblN5bWJvbENoYW5nZS5maXJlKHQuc3ltYm9sLnNob3J0TmFtZSgpLHMpfTt0aGlzLl9vblN5bWJvbENoYW5nZSYmKG51bGwhPT1vJiZudWxsIT09aSYmIiI9PT1pLmlubmVyVGV4dC50cmltKCk/aS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHIpOm51bGwhPT1vP3IoKTp0aGlzLl9vblN5bWJvbENoYW5nZS5maXJlKHQuc3ltYm9sLnNob3J0TmFtZSgpLHMpKX1fZ2V0T3JDcmVhdGVQYWdlKGUpe2xldCB0PXRoaXMuX3BhZ2VzLmdldChlKTtpZih2b2lkIDA9PT10KXtjb25zdCBzPSgwLGcuZW5zdXJlRGVmaW5lZCkodGhpcy5fc3ltYm9scy5maW5kKCh0PT50Lm5hbWUoKT09PWUpKSksbz17Y2hhcnRPbmx5OkJvb2xlYW4odGhpcy5fb3B0aW9ucy5jaGFydE9ubHkpLGhpZGVEYXRhUmFuZ2VzOkJvb2xlYW4odGhpcy5fb3B0aW9ucy5oaWRlRGF0ZVJhbmdlcyksaGlkZVN5bWJvbExvZ286Qm9vbGVhbih0aGlzLl9vcHRpb25zLmhpZGVTeW1ib2xMb2dvKSxtaW5pQ2hhcnRPcHRpb25zOnRoaXMuX29wdGlvbnMubWluaUNoYXJ0T3B0aW9ucyxzaG93U3ViVGl0bGU6Qm9vbGVhbih0aGlzLl9vcHRpb25zLnNob3dTdWJUaXRsZSksdmFsdWVzVHJhY2tpbmc6dGhpcy5fb3B0aW9ucy52YWx1ZXNUcmFja2luZyxjaGFuZ2VNb2RlOnRoaXMuX29wdGlvbnMuY2hhbmdlTW9kZSxoaWRlTWFya2V0U3RhdHVzOnRoaXMuX29wdGlvbnMuaGlkZU1hcmtldFN0YXR1cyxoZWFkZXJGb250U2l6ZTp0aGlzLl9vcHRpb25zLmhlYWRlckZvbnRTaXplfTt0PW5ldyBwZSh0aGlzLHMsbyksdGhpcy5sYXlvdXQucGFnZXNFbC5hcHBlbmQodC5lbCksdGhpcy5fcGFnZXMuc2V0KGUsdCl9cmV0dXJuIHR9YXN5bmMgX2NyZWF0ZUNvcHlyaWdodGluZygpewppZih0aGlzLl9vcHRpb25zLmhpZGVIZWFkZXIpcmV0dXJuO2NvbnN0e3dpZGdldERlZmF1bHRzOntzdGF0aWNfbG9nbzplLHRpdGxlOnR9fT13aW5kb3cuaW5pdERhdGEscz10aGlzLmxheW91dC5jcENvbnRhaW5lcjtsZXQgbztpZih0aGlzLl9jb3B5cmlnaHRpbmdDb250YWluZXJSZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIoKGU9PntpZihlLmxlbmd0aCl7Y29uc3R7bGVmdDp0LGJvdHRvbTpvLGhlaWdodDppfT1lWzBdLnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxyPXdpbmRvdy5pbm5lckhlaWdodDtzLnN0eWxlLmxlZnQ9YCR7dH1weGAscy5zdHlsZS5ib3R0b209bytpPj1yPyIwIjpgY2FsYygxMDAlIC0gJHtvfXB4KWB9fSkpLGUpbz1mdW5jdGlvbih7bG9nb1NvdXJjZTplLGltYWdlQWx0OnR9KXtjb25zdCBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3MuY2xhc3NMaXN0LmFkZCh4LmNvbnRhaW5lcik7Y29uc3Qgbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTtyZXR1cm4gby5zZXRBdHRyaWJ1dGUoInNyYyIsZSksby5zZXRBdHRyaWJ1dGUoImFsdCIsdCkscy5hcHBlbmRDaGlsZChvKSxzfSh7bG9nb1NvdXJjZTplLnVybCxpbWFnZUFsdDp0fSk7ZWxzZXtjb25zdHtjdXN0b21lcjplLGxvY2FsZTp0LHV0bUluZm86cyxjb3B5cmlnaHRPcHRpb25zOml9PXRoaXMuX29wdGlvbnMscj1hd2FpdCgwLF9lLmdldFdpZGdldFNoZXJpZmZBY3Rpb25zKSgpLG49ci5pbmNsdWRlcyhnZS5Lbm93bkFjdGlvbi5MYXJnZVRyYWRlTG9nbyk/ImxhcmdlX3RyYWRlIjoibmV3IixhPWF3YWl0KDAsVC5nZXRDdXN0b21lckNvcHlyaWdodERhdGEpKGUsdCwoMCxULmFkZFV0bUNhbXBhaWduU291cmNlKShzLCJsb2dvIiksbik7bz0oMCx3LmNyZWF0ZUNvcHlyaWdodExhYmVsKShPYmplY3QuYXNzaWduKHt9LHtob3Jpem9udGFsUG9zaXRpb246dy5Db3B5cmlnaHRQb3NpdGlvbi5Ib3Jpem9udGFsLlN0YXJ0LHNuYXBUb0VkZ2U6ITEsbW9kZTpufSx7c2hlcmlmZk9wdGlvbnM6cn0saSx7Li4uYSx0aGVtZTooMCxfLm1lcmdlVGhlbWVzKShhLnRoZW1lLHllKX0pKX1zLmFwcGVuZChvKX1fb2JzZXJ2ZUNoYXJ0RW50cnkoZSl7dGhpcy5fY29weXJpZ2h0aW5nQ29udGFpbmVyUmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKSxlJiZ0aGlzLl9jb3B5cmlnaHRpbmdDb250YWluZXJSZXNpemVPYnNlcnZlcj8ub2JzZXJ2ZShlKX19dmFyIGJlPXMoNjkwMDk3KSxTZT1zKDIwNTY4KTt2YXIgdmU9cyg3MzUyNzkpO3ZhciBDZT1zKDM4OTI5OCk7ZnVuY3Rpb24gd2UoZSl7Y29uc3QgdD1bXTtmb3IobGV0IHMgb2YgQXJyYXkuaXNBcnJheShlKT9lOltlXSl7bGV0IGUsbztBcnJheS5pc0FycmF5KHMpJiYxPT09cy5sZW5ndGgmJihzPXNbMF0pLCJzdHJpbmciPT10eXBlb2Ygcz9lPXM6QXJyYXkuaXNBcnJheShzKSYmKG89c1swXSxlPXNbMV0pLCJzdHJpbmciPT10eXBlb2YgZSYmZSYmKG8/dC5wdXNoKFtTdHJpbmcobyksZV0pOnQucHVzaChlKSl9cmV0dXJuIHR9Y29uc3QgVGU9d2luZG93LmluaXREYXRhLndpZGdldERlZmF1bHRzLHhlPSgwLG0uZXh0cmFjdFdpZGdldFNldHRpbmdzKShUZSxbXSwoZnVuY3Rpb24oZSx0KXt2b2lkIDAhPT10LnVuZGVyTGluZUJvdHRvbUNvbG9yPyh0LmJvdHRvbUNvbG9yPXQuYm90dG9tQ29sb3J8fHQudW5kZXJMaW5lQm90dG9tQ29sb3IsZGVsZXRlIHQudW5kZXJMaW5lQm90dG9tQ29sb3IpOnZvaWQgMCE9PXQudW5kZXJMaW5lQ29sb3ImJih0LmJvdHRvbUNvbG9yPXQuYm90dG9tQ29sb3J8fHQudW5kZXJMaW5lQ29sb3IpLHZvaWQgMCE9PXQudW5kZXJMaW5lQ29sb3ImJih0LnRvcENvbG9yPXQudG9wQ29sb3J8fHQudW5kZXJMaW5lQ29sb3IsZGVsZXRlIHQudW5kZXJMaW5lQ29sb3IpLHZvaWQgMCE9PXQudHJlbmRMaW5lQ29sb3ImJih0LmxpbmVDb2xvcj10LmxpbmVDb2xvcnx8dC50cmVuZExpbmVDb2xvcixkZWxldGUgdC50cmVuZExpbmVDb2xvciksdm9pZCAwIT09dC5zaG93RmxvYXRpbmdUb29sdGlwJiYodC52YWx1ZXNUcmFja2luZz10LnZhbHVlc1RyYWNraW5nfHwiMSIsZGVsZXRlIHQuc2hvd0Zsb2F0aW5nVG9vbHRpcCksInN0cmluZyI9PXR5cGVvZiB0LnN5bWJvbHMmJih0LnN5bWJvbHM9dC5zeW1ib2xzLnNwbGl0KCIsIikubWFwKChlPT5PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxlKSYmdFtlXT9bZSx0W2VdXTplKSkpfSkpO3RyeXsoMCxDZS50cmFja1dpZGdldExvYWRNZXRhSW5mbykoe3dpZGdldF9pZDoic3ltYm9sLW92ZXJ2aWV3IixzeW1ib2xzOkpTT04uc3RyaW5naWZ5KHhlLnN5bWJvbHMubWFwKChlPT4ic3RyaW5nIj09dHlwZW9mIGU/ZTplW2UubGVuZ3RoLTFdKSkubWFwKChlPT5mdW5jdGlvbihlKXtyZXR1cm4gZS5zcGxpdCgifCIpWzBdfShlKSkpKSxjdXN0b21lcjp4ZS5jdXN0b21lcn0pfWNhdGNoe31jb25zdCBrZT0icmdiYSgzNCwgMTcxLCAxNDgsIDAuNSkiLE5lPSJyZ2JhKDIzOSwgODMsIDgwLCAwLjUpIixMZT0iIzI5NjJmZiI7ZnVuY3Rpb24gRWUoKXsKY29uc3R7Y29sb3JUaGVtZTplLGlzVHJhbnNwYXJlbnQ6dD0hMSxiYWNrZ3JvdW5kQ29sb3I6bT0oImRhcmsiPT09ZT8iIzEzMTcyMiI6IiNGRkYiKSxkYXRlUmFuZ2VzOnAsY29tcGFyZVN5bWJvbDpnLGdyaWRMaW5lQ29sb3I6eSxmb250Q29sb3I6Zix3aWRnZXRGb250Q29sb3I6Yix0YWJzVGhlbWVOYW1lOlMsbG9jYWxlOnYsc2NhbGVQb3NpdGlvbjpDLHNjYWxlTW9kZTp3LGZvbnRGYW1pbHk6VCxmb250U2l6ZTp4LG5vVGltZVNjYWxlOmssc2hvd1ZvbHVtZTpOLHNob3dNQTpMLHZvbHVtZVVwQ29sb3I6RT1rZSx2b2x1bWVEb3duQ29sb3I6TT1OZSxoaWRlRGF0ZVJhbmdlczpQLGhpZGVNYXJrZXRTdGF0dXM6RCxoaWRlU3ltYm9sTG9nbzpSLHZhbHVlc1RyYWNraW5nOkksY2hhbmdlTW9kZTpBPSJwcmljZS1hbmQtcGVyY2VudCIsZGF0ZUZvcm1hdDpPPSJkZCBNTU0gJ3l5Iix0aW1lSG91cnNGb3JtYXQ6Rj0iMjQtaG91cnMiLG1hTGluZUNvbG9yOkI9TGUsbWFMaW5lV2lkdGg6Vj0xLG1hTGVuZ3RoOlU9OSxoZWFkZXJGb250U2l6ZTpXPSJtZWRpdW0ifT14ZTt0fHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoIi0tc3ltYm9sLW92ZXJ2aWV3LWJhY2tncm91bmQtY29sb3IiLG0pO2NvbnN0IHE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1lZGl1bXdpZGdldGVtYmVkIiksSD0obmV3IGQuU3Bpbm5lcikuc3BpbihxKTtzZXRUaW1lb3V0KCgoKT0+SC5zdG9wKCkpLDVlMyk7bGV0IHo9d2UoeGUuc3ltYm9scyk7MD09PXoubGVuZ3RoJiYoej13ZShUZS5zeW1ib2xzKSk7Y29uc3Qgaj0oMCxsLmZpbHRlclV0bUluZm8pKHhlKSxRPXg/TnVtYmVyLnBhcnNlSW50KHgsMTApOjEwO2xldCBLLCQsRyxaLFksSjsiZGFyayI9PT1lPyhLPSgwLHIuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktNzUwIiksJD0oMCxyLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTg1MCIpLEc9KDAsci5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS02MDAiKSxaPVk9KDAsci5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS02NTAiKSxKPSgwLHIuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktMjAwIikpOihLPSgwLHIuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktMjAwIiksJD0oMCxyLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3Itd2hpdGUiKSxHPSgwLHIuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktMzAwIiksWj1ZPSgwLHIuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktMzAwIiksSj0oMCxyLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTkwMCIpKTtjb25zdCBYPXtyaWdodFByaWNlU2NhbGU6e3Zpc2libGU6ITEsZW50aXJlVGV4dE9ubHk6ITB9LGxlZnRQcmljZVNjYWxlOnt2aXNpYmxlOiExLGVudGlyZVRleHRPbmx5OiEwfX07c3dpdGNoKEMpe2Nhc2UibGVmdCI6e2NvbnN0e2xlZnRQcmljZVNjYWxlOmV9PVg7ZS52aXNpYmxlPSEwLGUubW9kZT1vLlByaWNlU2NhbGVNb2RlW3ddO2JyZWFrfWNhc2Uibm8iOmJyZWFrO2RlZmF1bHQ6e2NvbnN0e3JpZ2h0UHJpY2VTY2FsZTplfT1YO2UudmlzaWJsZT0hMCxlLm1vZGU9by5QcmljZVNjYWxlTW9kZVt3XX19bGV0IGVlLHRlO3N3aXRjaCh4ZS5jaGFydFR5cGUpe2Nhc2UibGluZSI6e2NvbnN0e2NoYXJ0VHlwZTplLGNvbG9yOnQsY29sb3JHcm93aW5nOnMsY29sb3JGYWxsaW5nOmksbGluZVR5cGU6bj1vLkxpbmVUeXBlLlNpbXBsZSxsaW5lV2lkdGg6YT0zfT14ZTtlZT17Y2hhcnRUeXBlOmUsY29sb3I6dCxncm93aW5nQ29sb3I6cyxmYWxsaW5nQ29sb3I6aSxsaW5lVHlwZTpuLGxpbmVXaWR0aDphLGNyb3NzaGFpck1hcmtlclZpc2libGU6ITAsY3Jvc3NoYWlyTWFya2VyQm9yZGVyQ29sb3I6JCxwcmVtYXJrZXRMaW5lQ29sb3I6Wixwb3N0bWFya2V0TGluZUNvbG9yOll9LHR8fHN8fGl8fChlZS5ncm93aW5nQ29sb3I9KDAsci5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIpLGVlLmZhbGxpbmdDb2xvcj0oMCxyLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItcmlwZS1yZWQtNTAwIikpO2JyZWFrfWNhc2UiYXJlYSI6e2NvbnN0e2NoYXJ0VHlwZTplLGxpbmVDb2xvcjp0LGxpbmVDb2xvckdyb3dpbmc6cyxsaW5lQ29sb3JGYWxsaW5nOmksdG9wQ29sb3I6bix0b3BDb2xvckdyb3dpbmc6bCx0b3BDb2xvckZhbGxpbmc6Yyxib3R0b21Db2xvcjp1LGJvdHRvbUNvbG9yR3Jvd2luZzpoLGJvdHRvbUNvbG9yRmFsbGluZzpkLGxpbmVUeXBlOm09by5MaW5lVHlwZS5TaW1wbGUsbGluZVdpZHRoOnA9Mn09eGU7ZWU9e2NoYXJ0VHlwZTplLGxpbmVDb2xvcjp0LGdyb3dpbmdMaW5lQ29sb3I6cyxmYWxsaW5nTGluZUNvbG9yOmksdG9wQ29sb3I6bixncm93aW5nVG9wQ29sb3I6bCxmYWxsaW5nVG9wQ29sb3I6Yyxib3R0b21Db2xvcjp1LGdyb3dpbmdCb3R0b21Db2xvcjpoLGZhbGxpbmdCb3R0b21Db2xvcjpkLGNyb3NzaGFpck1hcmtlckJvcmRlckNvbG9yOiQsY3Jvc3NoYWlyTWFya2VyVmlzaWJsZTohMCxsaW5lVHlwZTptLGxpbmVXaWR0aDpwLHByZW1hcmtldExpbmVDb2xvcjpaLHBvc3RtYXJrZXRMaW5lQ29sb3I6WX0sdHx8c3x8aXx8KGVlLmdyb3dpbmdMaW5lQ29sb3I9KDAsci5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIpLGVlLmZhbGxpbmdMaW5lQ29sb3I9KDAsci5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXJpcGUtcmVkLTUwMCIpKSxufHxsfHxjfHwoZWUuZ3Jvd2luZ1RvcENvbG9yPSgwLGEuYXBwbHlBbHBoYSkoKDAsci5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIpLC4xKSxlZS5mYWxsaW5nVG9wQ29sb3I9KDAsYS5hcHBseUFscGhhKSgoMCxyLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItcmlwZS1yZWQtNTAwIiksLjEpKSx1fHxofHxkfHwoZWUuZ3Jvd2luZ0JvdHRvbUNvbG9yPSgwLGEuYXBwbHlBbHBoYSkoKDAsCnIuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1taW50eS1ncmVlbi01MDAiKSwwKSxlZS5mYWxsaW5nQm90dG9tQ29sb3I9KDAsYS5hcHBseUFscGhhKSgoMCxyLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItcmlwZS1yZWQtNTAwIiksMCkpO2JyZWFrfWNhc2UiYmFycyI6e2NvbnN0e2NoYXJ0VHlwZTplLHVwQ29sb3I6dCxkb3duQ29sb3I6c309eGU7ZWU9e2NoYXJ0VHlwZTplLHVwQ29sb3I6dCxkb3duQ29sb3I6c307YnJlYWt9Y2FzZSJjYW5kbGVzdGlja3MiOntjb25zdHtjaGFydFR5cGU6ZSx1cENvbG9yOnQsZG93bkNvbG9yOnMsYm9yZGVyVXBDb2xvcjpvLGJvcmRlckRvd25Db2xvcjppLHdpY2tVcENvbG9yOnIsd2lja0Rvd25Db2xvcjpufT14ZTtlZT17Y2hhcnRUeXBlOmUsdXBDb2xvcjp0LGRvd25Db2xvcjpzLGJvcmRlclVwQ29sb3I6byxib3JkZXJEb3duQ29sb3I6aSx3aWNrVXBDb2xvcjpyLHdpY2tEb3duQ29sb3I6bn07YnJlYWt9fXRlPSIwIiE9PUk/e3ZlcnRMaW5lOnt2aXNpYmxlOiEwLHN0eWxlOm8uTGluZVN0eWxlLlNvbGlkLHdpZHRoOjEsY29sb3I6S30sbW9kZTpvLkNyb3NzaGFpck1vZGUuTWFnbmV0fToiYmFycyI9PT14ZS5jaGFydFR5cGV8fCJjYW5kbGVzdGlja3MiPT09eGUuY2hhcnRUeXBlP3t2ZXJ0TGluZTp7bGFiZWxWaXNpYmxlOiEwLHZpc2libGU6ITAsc3R5bGU6by5MaW5lU3R5bGUuU29saWQsd2lkdGg6MSxjb2xvcjpLfSxob3J6TGluZTp7bGFiZWxWaXNpYmxlOiEwfX06e2hvcnpMaW5lOntsYWJlbFZpc2libGU6ITB9LHZlcnRMaW5lOntsYWJlbFZpc2libGU6ITB9fTtjb25zdCBzZT17Y2hhcnRPbmx5OkJvb2xlYW4oeGUuY2hhcnRPbmx5KSxoaWRlRGF0ZVJhbmdlczpCb29sZWFuKFApLGhpZGVNYXJrZXRTdGF0dXM6Qm9vbGVhbihEKSxoaWRlU3ltYm9sTG9nbzpCb29sZWFuKFIpLGhlYWRlckZvbnRTaXplOlcsdXRtSW5mbzpqLG5vQm9yZGVyOnR8fCgwLGkucGFyc2VSZ2JhKShtKVszXTwxLGxvY2FsZTp4ZS5sb2NhbGUsaGlkZUhlYWRlcjpCb29sZWFuKHhlLndoaXRlbGFiZWwpLHZhbHVlc1RyYWNraW5nOkksY2hhbmdlTW9kZTpBLG1pbmlDaGFydE9wdGlvbnM6e2NoYXJ0T3B0aW9uczp7Y2hhcnQ6e2dyaWQ6e2hvcnpMaW5lczp7Y29sb3I6eX0sdmVydExpbmVzOntjb2xvcjp5fX0sbGF5b3V0Ontmb250RmFtaWx5OlQsdGV4dENvbG9yOmYsZm9udFNpemU6USxhdHRyaWJ1dGlvbkxvZ286ITF9LHRpbWVTY2FsZTp7dmlzaWJsZToha30sY3Jvc3NoYWlyOnRlLGxvY2FsaXphdGlvbjp7bG9jYWxlOigwLG4uZ2V0SXNvTGFuZ3VhZ2VDb2RlRnJvbUxhbmd1YWdlKSh2KX0sLi4uWH0sc2VyaWVzOnsuLi5lZSxzY2FsZU1hcmdpbnM6e3RvcDouMDIsYm90dG9tOi4wNX0sYmFzZUxpbmVDb2xvcjpHfSx2b2x1bWU6e3Zpc2libGU6Tix1cENvbG9yOkUsZG93bkNvbG9yOk19LG1hOnt2aXNpYmxlOkwsY29sb3I6QixsaW5lV2lkdGg6VixsZW5ndGg6VSxjcm9zc2hhaXJNYXJrZXJWaXNpYmxlOiEwLGNyb3NzaGFpck1hcmtlckJvcmRlckNvbG9yOiQscHJpY2VMaW5lVmlzaWJsZTohMSxsYXN0VmFsdWVWaXNpYmxlOiExfSxjb21wYXJlU3ltYm9sOmc/e2NvbG9yOmcubGluZUNvbG9yLGxpbmVXaWR0aDpnLmxpbmVXaWR0aCxzeW1ib2w6Zy5zeW1ib2wsc2hvd0xhYmVsczpnLnNob3dMYWJlbHMsY2hhcnRUeXBlOiJsaW5lIixwcmljZUxpbmVWaXNpYmxlOiExLGxhc3RWYWx1ZVZpc2libGU6ITF9OnZvaWQgMCxkYXRlRm9ybWF0Ok8sdGltZUhvdXJzRm9ybWF0OkYsc3VwcHJlc3NUaWNrTWFya3M6e2RheUFuZFRpbWVUaWNrTWFya0ZpeEVuYWJsZWQ6ITB9fSxvbkZpcnN0RGF0YSgpe0guc3RvcCgpfSx0aW1lZnJhbWU6e2dldFRoZW1lOlM/KCk9PmFzeW5jIGZ1bmN0aW9uKGUpe3JldHVybiJsZW50YXJ1Ij09PWU/UHJvbWlzZS5hbGwoW3MuZSgxMzM5Mikscy5lKDUyNjk5KV0pLnRoZW4ocy50LmJpbmQocyw3NTY1MDUsMjMpKS50aGVuKChlPT4oMCxfLm1lcmdlVGhlbWVzKSh2ZS5ERUZBVUxUX1RJTUVfRlJBTUVfSVRFTV9USEVNRSxlKSkpOnZlLkRFRkFVTFRfVElNRV9GUkFNRV9JVEVNX1RIRU1FfShTKTp2b2lkIDAsb3B0aW9uczpwPy5tYXAoKGU9Pntjb25zdFt0LHNdPWUuc3BsaXQoInwiKTtyZXR1cm57Li4uY1siMWQiPT09dD8ibGFzdHNlc3Npb24iOnRdLHRhcmdldFJlc29sdXRpb246c319KSl8fCgwLHUuZ2V0TWVkaXVtVGltZUZyYW1lT3B0aW9ucykoaC5NZWRpdW1UaW1lRnJhbWVPcHRpb25zTW9kZS5Vc2VMYXN0U2Vzc2lvbil9fSxnZXRUYWJzVGhlbWU6KCk9PmFzeW5jIGZ1bmN0aW9uKGUpe2NvbnN0IHQ9KDAsXy5tZXJnZVRoZW1lcykoYmUuZGVmYXVsdFRoZW1lLFNlKTtyZXR1cm4ibGVudGFydSI9PT1lP1Byb21pc2UuYWxsKFtzLmUoMTIxMSkscy5lKDY5MDgzKV0pLnRoZW4ocy50LmJpbmQocyw2MjY3MjAsMjMpKS50aGVuKChlPT4oMCxfLm1lcmdlVGhlbWVzKSh0LGUpKSk6dH0oUyksZm9udENvbG9yOmJ8fEosZm9udEZhbWlseTpUfTtuZXcgZmUocSx6LHNlKX19LDYxOTk5MihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtpc1RpY2tzRW5hYmxlZDooKT0+aX0pO3ZhciBvPXMoMzE4OTc0KTtzKDkzMDIzMSk7ZnVuY3Rpb24gaSgpe3JldHVybiEoMCxvLm9uV2lkZ2V0KSgpfX0sNjk5NTUwKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1F1b3Rlc1Byb3ZpZGVyOigpPT5sfSk7dmFyIG89cygyMzIzNjQpLGk9cyg0MDIwNDUpLHI9cygxNTk1MTMpLG49cyg5NDgzODApLGE9cygxNTAxNTApO2NsYXNzIGx7Y29uc3RydWN0b3IoZT0iZnVsbCIsdCl7dGhpcy5fcXVvdGVzPW5ldyBpLldhdGNoZWRPYmplY3QobnVsbCksdGhpcy5fcXVvdGVTZXNzaW9uU3ltYm9sPW51bGwsdGhpcy5fcXVvdGVTZXNzaW9uQ2xpZW50SWQ9IiIsdGhpcy5fcGF1c2VkUXVvdGVTZXNzaW9uU3ltYm9sPW51bGwsdGhpcy5fcXVvdGVzVXBkYXRlPW5ldyBuLkRlbGVnYXRlLHRoaXMuX3F1b3RlU3ltYm9sQ2hhbmdlZD1uZXcgbi5EZWxlZ2F0ZSx0aGlzLl9jb21wbGV0ZWQ9bmV3IG8uV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9tdWx0aXBsZXhlclR5cGU9ZSwKdGhpcy5faGliZXJuYXRlZD10LHRoaXMuX2hpYmVybmF0ZWQ/LnN1YnNjcmliZSgoZT0+e2U/dGhpcy5wYXVzZSgpOnRoaXMucmVzdW1lKCl9KSl9c2V0UXVvdGVzU2Vzc2lvblN5bWJvbChlKXt0aGlzLl9xdW90ZVNlc3Npb25TeW1ib2whPT1lJiYodGhpcy5fcGF1c2VkUXVvdGVTZXNzaW9uU3ltYm9sPW51bGwsdGhpcy5fcXVvdGVTZXNzaW9uQ2xpZW50SWR8fCh0aGlzLl9xdW90ZVNlc3Npb25DbGllbnRJZD0ic2VyaWVzLSIrKDAsYS5ndWlkKSgpKSx0aGlzLl91bnN1YnNjcmliZVF1b3RlU2Vzc2lvbigpLHRoaXMuX3F1b3RlU2Vzc2lvblN5bWJvbD1lLHRoaXMuX3F1b3RlU3ltYm9sQ2hhbmdlZC5maXJlKCksZSYmdGhpcy5fc3Vic2NyaWJlUXVvdGVTZXNzaW9uKGUpKX1zeW1ib2woKXtyZXR1cm4gdGhpcy5fcXVvdGVTZXNzaW9uU3ltYm9sfXF1b3Rlc1VwZGF0ZSgpe3JldHVybiB0aGlzLl9xdW90ZXNVcGRhdGV9cXVvdGVTeW1ib2xDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3F1b3RlU3ltYm9sQ2hhbmdlZH1xdW90ZXMoKXtyZXR1cm4gdGhpcy5fcXVvdGVzLnJlYWRvbmx5KCl9Y29tcGxldGVkKCl7cmV0dXJuIHRoaXMuX2NvbXBsZXRlZC5yZWFkb25seSgpfWFzeW5jIHF1b3Rlc1NuYXBzaG90KGUpe3JldHVybigwLHIuZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKCJzaW1wbGUiKS5zbmFwc2hvdChlKX1pc1BhdXNlZCgpe3JldHVybiBudWxsIT09dGhpcy5fcGF1c2VkUXVvdGVTZXNzaW9uU3ltYm9sfXBhdXNlKCl7bnVsbD09PXRoaXMuX3BhdXNlZFF1b3RlU2Vzc2lvblN5bWJvbCYmKHRoaXMuX3BhdXNlZFF1b3RlU2Vzc2lvblN5bWJvbD10aGlzLl9xdW90ZVNlc3Npb25TeW1ib2wsdGhpcy5fdW5zdWJzY3JpYmVRdW90ZVNlc3Npb24oKSl9cmVzdW1lKCl7bnVsbCE9PXRoaXMuX3BhdXNlZFF1b3RlU2Vzc2lvblN5bWJvbCYmKHRoaXMuX3N1YnNjcmliZVF1b3RlU2Vzc2lvbih0aGlzLl9wYXVzZWRRdW90ZVNlc3Npb25TeW1ib2wpLHRoaXMuX3BhdXNlZFF1b3RlU2Vzc2lvblN5bWJvbD1udWxsKX1kZXN0cm95KCl7dGhpcy5fdW5zdWJzY3JpYmVRdW90ZVNlc3Npb24oKSx0aGlzLl9oaWJlcm5hdGVkPy5yZWxlYXNlKCl9X29uVXBkYXRlKGUsdCl7dGhpcy5fcXVvdGVzLnNldFZhbHVlKGU/LnZhbHVlcz8/bnVsbCksdCYmdC52YWx1ZXMmJnRoaXMuX3F1b3Rlc1VwZGF0ZS5maXJlKGUsdCksdm9pZCAwIT09ZS5jb21wbGV0ZSYmdGhpcy5fY29tcGxldGVkLnNldFZhbHVlKCEwKX1fc3Vic2NyaWJlUXVvdGVTZXNzaW9uKGUpe3RoaXMuX3F1b3RlU2Vzc2lvblN5bWJvbD1lLCgwLHIuZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKHRoaXMuX211bHRpcGxleGVyVHlwZSkuc3Vic2NyaWJlKHRoaXMuX3F1b3RlU2Vzc2lvbkNsaWVudElkLHRoaXMuX3F1b3RlU2Vzc2lvblN5bWJvbCx0aGlzLl9vblVwZGF0ZS5iaW5kKHRoaXMpKX1fdW5zdWJzY3JpYmVRdW90ZVNlc3Npb24oKXt0aGlzLl9xdW90ZVNlc3Npb25TeW1ib2wmJigoMCxyLmdldFF1b3RlU2Vzc2lvbkluc3RhbmNlKSh0aGlzLl9tdWx0aXBsZXhlclR5cGUpLnVuc3Vic2NyaWJlKHRoaXMuX3F1b3RlU2Vzc2lvbkNsaWVudElkLHRoaXMuX3F1b3RlU2Vzc2lvblN5bWJvbCksdGhpcy5fcXVvdGVTZXNzaW9uU3ltYm9sPW51bGwsdGhpcy5fcXVvdGVzLnNldFZhbHVlKG51bGwpLHRoaXMuX2NvbXBsZXRlZC5zZXRWYWx1ZSghMSkpfX19LDEyODk5OChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHthY3R1YWxTeW1ib2w6KCk9PmQsY3JlYXRlU2VyaWVzRm9ybWF0dGVyOigpPT5oLGdldFN5bWJvbERlbGF5U2Vjb25kczooKT0+Xyxpc0Nsb3NlQmFzZWRTeW1ib2w6KCk9PnAsaXNGdXR1cmVzQ29udHJhY3RTeW1ib2w6KCk9PmcsaXNITENCYXNlZFN0eWxlOigpPT51LGlzUmVndWxhclNlc3Npb25JZDooKT0+bSxpc1NpbmdsZVZhbHVlQmFzZWRTdHlsZTooKT0+Y30pO3MoMTg1MjcxKTt2YXIgbz1zKDkzMDIzMSksaT0ocyg5MzA1NjYpLHMoMzE4OTc0KSxzKDE1NjgyOSkpLHI9KHMoNzk4MzgpLHMoNzU1NjI3KSksbj1zKDk4NDM3NiksYT1zKDEyNTIxOCk7cygzMTQ5MTQpOygwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiksKDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV9vYmplY3RfdHJlZV9hbmRfcHJpY2Vfc2NhbGVfZXhjaGFuZ2VfbGFiZWwiKTt2YXIgbDshZnVuY3Rpb24oZSl7ZS5MYXN0VXNlZFN0eWxlS2V5PSJjaGFydC5sYXN0VXNlZFN0eWxlIixlLkxhc3RVc2VkU2luZ2xlVmFsdWVCYXNlZFN0eWxlPSJjaGFydC5sYXN0VXNlZFNpbmdsZVZhbHVlQmFzZWRTdHlsZSIsZS5MYXN0VXNlZFJhd0RhdGFTdHlsZT0iY2hhcnQucmF3RGF0YVN0eWxlIixlLkxhc3RVc2VkTWV0cmljPSJjaGFydC5sYXN0VXNlZE1ldHJpYyJ9KGx8fChsPXt9KSk7ZnVuY3Rpb24gYyhlKXtzd2l0Y2goZSl7Y2FzZSAzOmNhc2UgMTA6Y2FzZSAyOmNhc2UgMTQ6Y2FzZSAxNTpjYXNlIDEzOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIHUoZSl7c3dpdGNoKGUpe2Nhc2UgMTY6Y2FzZSAyMTpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX1mdW5jdGlvbiBoKGUsdCxzPSExKXtjb25zdHtwcmljZVNjYWxlOm8sbWluTW92ZTppLGZyYWN0aW9uYWw6bCxtaW5Nb3ZlMjpjLHZhcmlhYmxlTWluVGljazp1LG5vRXhwb25lbnRpYWxGb3JtOmh9PWZ1bmN0aW9uKGUsdD0iZGVmYXVsdCIscz0hMSl7bGV0IG8saSxyLG4sYT0xMDAsbD0xO2lmKCJkZWZhdWx0Ij09PXQpbnVsbCE9ZSYmKCh7cHJpY2VzY2FsZTphLG1pbm1vdjpsLG1pbm1vdmUyOmksZnJhY3Rpb25hbDpvfT1lKSxyPWUudmFyaWFibGVfdGlja19zaXplfHx2b2lkIDApO2Vsc2V7bGV0IGU9dC5zcGxpdCgiLCIpOzMhPT1lLmxlbmd0aCYmKGU9WyIxMDAiLCIxIiwiZmFsc2UiXSksYT1wYXJzZUludChlWzBdKSxsPXBhcnNlSW50KGVbMV0pLG89InRydWUiPT09ZVsyXSxuPSEwfXJldHVybiBzJiYobD0xKSx7cHJpY2VTY2FsZTphLG1pbk1vdmU6bCxmcmFjdGlvbmFsOm8sbWluTW92ZTI6aSx2YXJpYWJsZU1pblRpY2s6cixpZ25vcmVNaW5Nb3ZlOnMsCm5vRXhwb25lbnRpYWxGb3JtOm59fShlLHQscyk7aWYobnVsbCE9ZSl7Y29uc3Qgcj1lLmZvcm1hdDtpZigiZGVmYXVsdCI9PT10JiYidm9sdW1lIj09PXIpcmV0dXJuIG5ldyBuLlZvbHVtZUZvcm1hdHRlcih7cHJlY2lzaW9uOjJ9KTtpZigicGVyY2VudCI9PT1yKXJldHVybiBuZXcgYS5QZXJjZW50YWdlRm9ybWF0dGVyKHtwcmljZVNjYWxlOm8sbWluTW92ZTppLGZyYWN0aW9uYWw6bCxtaW5Nb3ZlMjpjLHZhcmlhYmxlTWluVGljazp1LGlnbm9yZU1pbk1vdmU6c30pfXJldHVybiBuZXcgci5QcmljZUZvcm1hdHRlcih7cHJpY2VTY2FsZTpvLG1pbk1vdmU6aSxmcmFjdGlvbmFsOmwsbWluTW92ZTI6Yyx2YXJpYWJsZU1pblRpY2s6dSxpZ25vcmVNaW5Nb3ZlOnMsbm9FeHBvbmVudGlhbEZvcm06aH0pfWZ1bmN0aW9uIGQoZSx0KXtyZXR1cm4gbnVsbCE9PWU/ZS5mdWxsX25hbWU6dH1mdW5jdGlvbiBtKGUsdCl7d2luZG93O3JldHVyblsic3RvY2siLCJmdW5kIiwiaW5kZXgiLCJkciJdLmluY2x1ZGVzKHQudHlwZSkmJiJyZWd1bGFyIj09PWV8fCgwLGkuaXNGdXR1cmVzKSh0LnR5cGUpJiYidXNfcmVndWxhciI9PT1lfWZ1bmN0aW9uIHAoZSl7cmV0dXJuImMiPT09ZT8udmlzaWJsZV9wbG90c19zZXR9ZnVuY3Rpb24gZyhlKXtyZXR1cm4gbnVsbCE9PWUmJigwLGkuaXNGdXR1cmVzKShlLnR5cGUpJiYhQm9vbGVhbihlLnR5cGVzcGVjcz8uaW5jbHVkZXMoImNvbnRpbnVvdXMiKSl9ZnVuY3Rpb24gXyhlKXtyZXR1cm4gTWF0aC5tYXgoMCxlPy5kZWxheT8/MCl9fSw5MTEzMjcoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Z2V0U3ltYm9sUGFnZVBhdGg6KCk9PmF9KTtzKDk2MzkwMCkscygzMDk4MzYpO3ZhciBvPXMoODUxNDU4KSxpPXMoMTU2ODI5KTtjb25zdCByPW5ldyBTZXQoWyJTUDpTUFgiLCJDQk9FOlNQWCJdKTtmdW5jdGlvbiBuKGUpe2NvbnN0IHQ9ey4uLmV9O2lmKCJzcHJlYWQiPT09dC50eXBlfHwiZXhwcmVzc2lvbiI9PT10LnR5cGUpe2NvbnN0IGU9dC5zaG9ydE5hbWUmJmwodC5zaG9ydE5hbWUpLHM9dC5wcm9OYW1lJiZsKHQucHJvTmFtZSk7dC50eXBlPXZvaWQgMCx0LnNob3J0TmFtZT1lLHQucHJvTmFtZT1zfXJldHVybiB0fWZ1bmN0aW9uIGEoZSx0KXtjb25zdCBzPW4oZSk7cmV0dXJuIHUoaChzLHQpLGMocykpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuKDAsby50b2tlbml6ZSkoZSkuZmluZCgoZT0+InN5bWJvbCI9PT1lLnR5cGUpKT8udmFsdWV9ZnVuY3Rpb24gYyhlKXtjb25zdCB0PXtzaG9ydE5hbWU6ZS5zaG9ydE5hbWUsZXhjaGFuZ2U6ZS5leGNoYW5nZSxwcm9OYW1lOmUucHJvTmFtZSx0eXBlOmUudHlwZSx0eXBlc3BlY3M6ZS50eXBlc3BlY3Mscm9vdDplLnJvb3R9O3JldHVybiB0LnByb05hbWUmJnQucHJvTmFtZS5pbmNsdWRlcygiOiIpJiYoW3QuZXhjaGFuZ2UsdC5zaG9ydE5hbWVdPXQucHJvTmFtZS5zcGxpdCgiOiIpKSx0fWZ1bmN0aW9uIHUoZSx0KXtjb25zdCBzPWVuY29kZVVSSUNvbXBvbmVudCh0LnNob3J0TmFtZXx8IiIpLG89ZW5jb2RlVVJJQ29tcG9uZW50KHQuZXhjaGFuZ2V8fCIiKSxpPWVuY29kZVVSSUNvbXBvbmVudCh0LnByb05hbWV8fCIiKSxyPWVuY29kZVVSSUNvbXBvbmVudCh0LnJvb3R8fCIiKTtyZXR1cm4gZS5yZXBsYWNlKCJ7dHZleGNoYW5nZX0iLG8pLnJlcGxhY2UoInt0dnN5bWJvbH0iLHMpLnJlcGxhY2UoInt0dnByb3N5bWJvbH0iLGkpLnJlcGxhY2UoInt0dnJvb3R9IixyKX1mdW5jdGlvbiBoKGUsdD0iIil7Y29uc3Qgcz1jKGUpLHt0eXBlOm8sdHlwZXNwZWNzOm4sc2hvcnROYW1lOmEscHJvTmFtZTpsLGV4Y2hhbmdlOnUscm9vdDpofT1zO3JldHVybiB2b2lkIDA9PT1hJiZ2b2lkIDA9PT1sPyhjb25zb2xlLndhcm4oIlBhcmFtcyBtaXNzZWQiKSwiLyIpOmwmJnIuaGFzKGwpP2Avc3ltYm9scy97dHZzeW1ib2x9LyR7dH1gOm98fG4/ImNvbW1vZGl0eSI9PT1vJiZuJiZuLmluY2x1ZGVzKCJjZmQiKT8iL3N5bWJvbHMve3R2c3ltYm9sfS8/ZXhjaGFuZ2U9e3R2ZXhjaGFuZ2V9IjohaHx8IW58fCJmdXR1cmVzIiE9PW98fG4uaW5jbHVkZXMoImNvbnRpbnVvdXMiKSYmYT8uZW5kc1dpdGgoIjEhIil8fG4uaW5jbHVkZXMoImV4Y2hhbmdlLWNvbnRpbnVvdXMiKT91JiYoImZvcmV4Ij09PW98fG4mJigwLGkuaGFzQ3J5cHRvVHlwZXNwZWMpKG4pKT8iL3N5bWJvbHMve3R2c3ltYm9sfS8/ZXhjaGFuZ2U9e3R2ZXhjaGFuZ2V9Ijp1P2Avc3ltYm9scy97dHZleGNoYW5nZX0te3R2c3ltYm9sfS8ke3R9YDpgL3N5bWJvbHMve3R2c3ltYm9sfS8ke3R9YDpgL3N5bWJvbHMve3R2ZXhjaGFuZ2V9LXt0dnJvb3R9MSEvJHt0fT9jb250cmFjdD17dHZzeW1ib2x9YDp1P2Avc3ltYm9scy97dHZleGNoYW5nZX0te3R2c3ltYm9sfS8ke3R9YDpgL3N5bWJvbHMve3R2c3ltYm9sfS8ke3R9YH19LDczMDY0NShlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSl7Y29uc3QgdD1uZXcgVVJMKGUsZG9jdW1lbnQuYmFzZVVSSSk7cmV0dXJuIG4odCkmJnIodCkmJmkodCl9cy5kKHQse2lzSW50ZXJuYWxIb3N0OigpPT5hLGlzSW50ZXJuYWxVcmw6KCk9Pm8saXNUdkxpbms6KCk9Pmx9KTtjb25zdCBpPWU9PiFlLnVzZXJuYW1lLHI9ZT0+Imh0dHA6Ij09PWUucHJvdG9jb2x8fCJodHRwczoiPT09ZS5wcm90b2NvbCxuPWU9PmUuaG9zdG5hbWU9PT1sb2NhdGlvbi5ob3N0bmFtZXx8IS9eXGQrXC5cZCtcLlxkK1wuXGQrJC8udGVzdChlLmhvc3RuYW1lKSYmYShlLmhvc3RuYW1lKTtmdW5jdGlvbiBhKGUsdD13aW5kb3cubG9jYXRpb24uaG9zdG5hbWUpe2NvbnN0IHM9Ii4iPT09dC5zbGljZSgtMSk/MzoyLG89dC50b0xvd2VyQ2FzZSgpLnNwbGl0KCIuIikuc2xpY2UoLXMpLGk9ZS50b0xvd2VyQ2FzZSgpLnNwbGl0KCIuIikuc2xpY2UoLW8ubGVuZ3RoKTtyZXR1cm4gby5qb2luKCIuIik9PT1pLmpvaW4oIi4iKX1mdW5jdGlvbiBsKGUpe3RyeXtyZXR1cm4gZS5zdGFydHNXaXRoKCIvIil8fGEobmV3IFVSTChlKS5ob3N0bmFtZSwidHJhZGluZ3ZpZXcuY29tIil9Y2F0Y2h7cmV0dXJuITF9fX0sMzA5ODM2KGUsdCxzKXsidXNlIHN0cmljdCI7cyg2MDE1ODcpCn0sNjAxNTg3KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2J1aWxkVXRtUXVlcnlTdHJpbmc6KCk9PmEsYnVpbGRVdG1RdWVyeVN0cmluZ0Zyb21VcmxQYXJhbXM6KCk9PmwsZmlsdGVyVXRtSW5mbzooKT0+bn0pO3ZhciBvPXMoNDkyNjc3KSxpPXMoNjQxNTkzKTtjb25zdCByPVsidXRtX3NvdXJjZSIsInV0bV9tZWRpdW0iLCJ1dG1fY2FtcGFpZ24iXTtmdW5jdGlvbiBuKGUpe2NvbnN0IHQ9e307cmV0dXJuIHIuZm9yRWFjaCgocz0+e2NvbnN0IG89ZVtzXTsic3RyaW5nIj09dHlwZW9mIG8mJiIiIT09byYmKHRbc109KDAsaS5odG1sRXNjYXBlKShvKSl9KSksdH1mdW5jdGlvbiBhKGUsdD0hMSl7Y29uc3Qgcz0oMCxvLmNyZWF0ZVVybFBhcmFtcykoZSk7cmV0dXJuIHMmJnQ/Ij8iK3M6c31mdW5jdGlvbiBsKGUpe3JldHVybiBhKG4oKDAsby5nZXRVcmxQYXJhbXMpKCkpLGUpfX0sOTM1MShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMy45MiA3LjgzIDkgMTIuMjlsNS4wOC00LjQ2LTEtMS4xM0w5IDEwLjI5bC00LjA5LTMuNi0uOTkgMS4xNFoiLz48L3N2Zz4nfSwyMjEwNjEoZSx0LHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgbztzLmQodCx7TE9HTEVWRUw6KCk9Pm8sZ2V0TG9nSGlzdG9yeTooKT0+ZyxnZXRMb2dnZXI6KCk9PnksZ2V0UmF3TG9nSGlzdG9yeTooKT0+bSxpc0hpZ2hSYXRlRW5hYmxlZDooKT0+ZCxzZXJpYWxpemVMb2dIaXN0b3J5RW50cnk6KCk9PnB9KSxmdW5jdGlvbihlKXtlW2UuRVJST1I9MV09IkVSUk9SIixlW2UuV0FSTklORz0yXT0iV0FSTklORyIsZVtlLklORk89M109IklORk8iLGVbZS5OT1JNQUw9NF09Ik5PUk1BTCIsZVtlLkRFQlVHPTVdPSJERUJVRyJ9KG98fChvPXt9KSk7bGV0IGk9MDtjb25zdCByPVtdO2xldCBuPW51bGwsYT1udWxsLGw9bnVsbCxjPW51bGwsdT1vLldBUk5JTkcsaD0hMTtmdW5jdGlvbiBkKCl7cmV0dXJuIGh9ZnVuY3Rpb24gbShlLHQpe2xldCBzPXIucmVkdWNlKCgoZSx0KT0+ZS5jb25jYXQodCkpLFtdKTtyZXR1cm4gcy5zb3J0KCgoZSx0KT0+ZS5pZC10LmlkKSksdm9pZCAwIT09dCYmKHM9cy5maWx0ZXIoKGU9PmUuc3ViU3lzdGVtSWQ9PT10KSkpLCJudW1iZXIiPT10eXBlb2YgZSYmKHM9cy5zbGljZSgtZSkpLHN9ZnVuY3Rpb24gcChlKXtyZXR1cm4gbmV3IERhdGUoZS50aW1lc3RhbXApLnRvSVNPU3RyaW5nKCkrIjoiK2Uuc3ViU3lzdGVtSWQrIjoiK2UubWVzc2FnZS5yZXBsYWNlKC8iL2csIiciKX1jb25zdCBnPShlLHQpPT5mdW5jdGlvbihlLHQpe2xldCBzLG89MCxpPTA7Zm9yKHM9ZS5sZW5ndGgtMTtzPj0xJiYobys9OCooMStlbmNvZGVVUklDb21wb25lbnQoZVtzXSkubGVuZ3RoKSwhKHMtMT4wJiYoaT04KigxK2VuY29kZVVSSUNvbXBvbmVudChlW3MtMV0pLmxlbmd0aCksbytpPnQpKSk7cy0tKTtyZXR1cm4gZS5zbGljZShzKX0obShlLHQpLm1hcChwKSw3NTQ5NzQ3Mik7ZnVuY3Rpb24gXyhlLHQscyxyLGgpe2lmKHQ9PT1hJiZyLmlkPT09bClyZXR1cm47Y29uc3QgbT1uZXcgRGF0ZTtpZihlPD1vLk5PUk1BTCYmZnVuY3Rpb24oZSx0LHMsbyxyLG4peyJmdW5jdGlvbiI9PXR5cGVvZiBzdHJ1Y3R1cmVkQ2xvbmUmJih0PXN0cnVjdHVyZWRDbG9uZSh0KSksdD10LnNsaWNlKDAsbj8/MWUzKTtjb25zdCBhPXtpZDppLG1lc3NhZ2U6dCxzdWJTeXN0ZW1JZDpvLHRpbWVzdGFtcDpOdW1iZXIoZSl9O2krPTEscy5wdXNoKGEpLHZvaWQgMCE9PXImJnMubGVuZ3RoPnImJnMuc3BsaWNlKDAsMSl9KG0sdCxzLHIuaWQsci5tYXhDb3VudCxoKSxlPD11JiYoIXIuaGlnaFJhdGV8fGQoKSkmJighbnx8ci5pZC5tYXRjaChuKSkpe2NvbnN0IHM9bS50b0lTT1N0cmluZygpKyI6IityLmlkKyI6Iit0O3N3aXRjaChlKXtjYXNlIG8uREVCVUc6Y29uc29sZS5kZWJ1ZyhzKTticmVhaztjYXNlIG8uSU5GTzpjYXNlIG8uTk9STUFMOnIuY29sb3I/Y29uc29sZS5sb2coIiVjIitzLCJjb2xvcjogIityLmNvbG9yKTpjb25zb2xlLmxvZyhzKTticmVhaztjYXNlIG8uV0FSTklORzpjb25zb2xlLndhcm4ocyk7YnJlYWs7Y2FzZSBvLkVSUk9SOmNvbnNvbGUuZXJyb3Iocyl9YT10LGw9ci5pZCxudWxsIT09YyYmY2xlYXJUaW1lb3V0KGMpLGM9c2V0VGltZW91dCgoKCk9PnthPW51bGwsbD1udWxsLGM9bnVsbH0pLDFlMyl9fWZ1bmN0aW9uIHkoZSx0PXt9KXtjb25zdCBzPVtdO3IucHVzaChzKTtjb25zdCBpPU9iamVjdC5hc3NpZ24odCx7aWQ6ZX0pO2Z1bmN0aW9uIG4oZSl7cmV0dXJuKHQsbyk9Pl8oZSxTdHJpbmcodCkscyxpLG8pfXJldHVybntsb2dEZWJ1ZzpuKG8uREVCVUcpLGxvZ0Vycm9yOm4oby5FUlJPUiksbG9nSW5mbzpuKG8uSU5GTyksbG9nTm9ybWFsOm4oby5OT1JNQUwpLGxvZ1dhcm46bihvLldBUk5JTkcpfX19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"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.27","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:40.231Z","timestamp":1785120640231,"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://247optiontradefx.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 02:50:40 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: k/3vA7r58aKy7C1zEZuskuzh8hRr5B5VIVZi7g6XpdbxDBEcK0I59Y1paYJ5tNTgAbVPWfA\r\nx-77-nzt-ray: fdb541235919e1fa80c7666aff7c040e\r\nx-77-cache: HIT\r\nx-77-age: 1707597\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-27T05:17:26.334684Z","times_seen":1442,"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":16,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ssltvc.forexprostools.com/cc6698fccca44e51b088d9ddbbcf8ec8/1785120633/7/7/17/history?symbol=945629\u0026resolution=5\u0026from=1785117642\u0026to=1785120642","fqdn":"ssltvc.forexprostools.com","domain":"forexprostools.com","tld":"com"},"ip":{"addr":"172.64.145.17","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://tvc-invdn-cf-com.investing.com/tool/1.12.10/tool-prod-2-ssl.html?carrier=cc6698fccca44e51b088d9ddbbcf8ec8\u0026time=1785120633\u0026domain_ID=7\u0026lang_ID=7\u0026timezone_ID=17\u0026version=1.12.10\u0026locale=ru\u0026timezone=Europe/Moscow\u0026pair_ID=945629\u0026interval=5\u0026session=24x7\u0026prefix=ru\u0026suffix=\u0026client=0\u0026user=\u0026plotStyle=area\u0026geoc=NO\u0026styleOverride=","date":"2026-07-27T02:50:42.595Z","timestamp":1785120642595,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ssltvc.forexprostools.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 01 Jul 2026 07:28:49 GMT","end":"Tue, 29 Sep 2026 08:28:41 GMT"},"fingerprint":{"sha1":"A5:B9:A3:37:7A:C1:B6:8A:CE:8E:33:4E:C4:D0:99:66:F7:7A:73:97","sha256":"71:C3:86:3A:F2:24:C3:AF:EF:93:54:97:D5:74:4E:5F:D9:86:A5:FC:AC:5A:03:59:95:7F:14:56:28:BF:61:89"}}},"request":{"raw":"GET /cc6698fccca44e51b088d9ddbbcf8ec8/1785120633/7/7/17/history?symbol=945629\u0026resolution=5\u0026from=1785117642\u0026to=1785120642 HTTP/1.1\r\nHost: ssltvc.forexprostools.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://tvc-invdn-cf-com.investing.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://tvc-invdn-cf-com.investing.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 02:50:42 GMT\r\ncontent-type: text/html; charset=utf-8\r\nserver: cloudflare\r\nset-cookie: __cf_bm=oY_Qj6_fhuwCq0c_VIaDSe4ObYWvRzdCFAYN7b60UzA-1785120642.5966203-1.0.1.1-M3Vdb.SuFrgk2V4bvMdedYAh7w9cyBfOY8ao5DQbtx5zUdUQxYxPZZ84blVGVixXcgC9_YsqBL5oHW9rKT86yl2VIcMmNpC5rC11PhfwJ1h_K_IAk0_cdtxVQP8HAxax; HttpOnly; SameSite=None; Secure; Path=/; Domain=forexprostools.com; Expires=Mon, 27 Jul 2026 03:20:42 GMT\r\naccess-control-allow-origin: https://tvc-invdn-cf-com.investing.com\r\nx-requested-with: XMLHttpRequest\r\naccess-control-allow-methods: POST, GET, OPTIONS, PUT, DELETE\r\naccess-control-allow-headers: Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, accept, sessionid, x-csrftoken, content-type\r\nx-benchmark-1a: 0ms, mem alloc - 2.00Mb start\r\nx-benchmark-1b: 1ms, mem alloc - 2.00Mb getPairIdBySymbol\r\nx-benchmark-1c: 1ms, mem alloc - 2.00Mb getIntervalByResolution\r\nx-benchmark-1d: 1ms, mem alloc - 2.00Mb getPairDataAndAttributes in TradingviewConnector::findCandles\r\nx-benchmark-1e: 3ms, mem alloc - 2.00Mb getCandles in TradingviewConnector::findCandles\r\nx-benchmark-1f: 3ms, mem alloc - 2.00Mb end of TradingviewConnector::findCandles\r\nx-benchmark-1g: 3ms, mem alloc - 2.00Mb findCandles\r\nvary: Accept-Encoding,User-Agent\r\ncontent-security-policy: upgrade-insecure-requests; block-all-mixed-content\r\ncf-cache-status: DYNAMIC\r\ncontent-encoding: gzip\r\ncf-ray: a2185690399d1a30-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"Cloudflare Bot Management","description":"Cloudflare bot management solution identifies and mitigates automated traffic to protect websites from bad bots.","website":"https://www.cloudflare.com/en-gb/products/bot-management/","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["Security"]}],"data":{"size":416,"size_decoded":1679,"mime_type":"text/html; charset=utf-8","magic":"JSON text data","md5":"d934fb7b6955d10096268793e6d324ec","sha1":"18167dbd450749bc852362fddfc9a4ee433de3ac","sha256":"e36551c6721442f5e027ff1dda78c85cba19c756562e9433cba491b1fd30852c","sha512":"2c271c193718e6599bbd9560c89b664fcdd9f49bfe0c2913001fc4b25310e0de0026cf4368ed8ef26dbe56a525fb491a07a3abd5b5b430a5196a5e6b0c693c3c","ssdeep":"","tlshash":"09e01a32ebd3c02342d1b74503c92c1d2ae7ca1ea6d39934a3551a190f8e8d30f5db48","first_seen":"2026-07-27T02:51:26.978074Z","last_seen":"2026-07-27T02:51:26.978074Z","times_seen":1,"resource_available":false,"data":"eyJ0IjpbMTc4NTExNzkwMCwxNzg1MTE4MjAwLDE3ODUxMTg1MDAsMTc4NTExODgwMCwxNzg1MTE5MTAwLDE3ODUxMTk0MDAsMTc4NTExOTcwMCwxNzg1MTIwMDAwLDE3ODUxMjAzMDAsMTc4NTEyMDYwMF0sImMiOls2NTI2Myw2NTI2OCw2NTI2OSw2NTIyOSw2NTIzNiw2NTE5MSw2NTMwOCw2NTMwNiw2NTI3OSw2NTI2NF0sIm8iOls2NTIxNyw2NTI2Myw2NTI1Nyw2NTI2Niw2NTIzMSw2NTIzNiw2NTE5MSw2NTMwNSw2NTMwNiw2NTI3OV0sImgiOls2NTI2Myw2NTI3MCw2NTI2OSw2NTI4Nyw2NTI2NSw2NTIzNiw2NTMwOCw2NTMzMSw2NTMxNiw2NTI3OV0sImwiOls2NTIwOSw2NTIzNiw2NTIxOSw2NTIxOCw2NTIzMSw2NTE3NCw2NTE4NCw2NTI4NCw2NTI2Miw2NTI1OF0sInYiOlswLDAsMCwwLDAsMCwwLDAsMCwwXSwicyI6Im9rIn0="}},"time_used":48,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":48,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ssltvc.forexprostools.com/?pair_ID=945629\u0026height=398\u0026width=618\u0026interval=300\u0026plotStyle=area\u0026domain_ID=7\u0026lang_ID=7\u0026timezone_ID=17","fqdn":"ssltvc.forexprostools.com","domain":"forexprostools.com","tld":"com"},"ip":{"addr":"172.64.145.17","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.406Z","timestamp":1785120633406,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ssltvc.forexprostools.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 01 Jul 2026 07:28:49 GMT","end":"Tue, 29 Sep 2026 08:28:41 GMT"},"fingerprint":{"sha1":"A5:B9:A3:37:7A:C1:B6:8A:CE:8E:33:4E:C4:D0:99:66:F7:7A:73:97","sha256":"71:C3:86:3A:F2:24:C3:AF:EF:93:54:97:D5:74:4E:5F:D9:86:A5:FC:AC:5A:03:59:95:7F:14:56:28:BF:61:89"}}},"request":{"raw":"GET /?pair_ID=945629\u0026height=398\u0026width=618\u0026interval=300\u0026plotStyle=area\u0026domain_ID=7\u0026lang_ID=7\u0026timezone_ID=17 HTTP/1.1\r\nHost: ssltvc.forexprostools.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://247optiontradefx.com/\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\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 02:50:33 GMT\r\ncontent-type: text/html; charset=utf-8\r\nserver: cloudflare\r\nset-cookie: geoC=NO; expires=Mon, 27-Jul-2026 10:50:33 GMT; Max-Age=28800; path=/\ngcc=NO; Max-Age=1800; domain=investing.com; Path=/\ngsc=; Max-Age=1800; domain=investing.com; Path=/\n__cf_bm=OK4w73_n6m2vidvbk20LDOMydgwwT68c_gPHvCk0xc4-1785120633.4257367-1.0.1.1-8Yy9ot1TSzTYw1YIaOf20Jc0yo7_7jKZzTE8X4kLl8.EBJz_LTrzrTfp0Jh5phGH4v9duri1fwJgELZadE7sz7_.s5ZWU3lgwm8XzBvksEhvCPQNKVZpM9EGHC6ZJaQp; HttpOnly; SameSite=None; Secure; Path=/; Domain=forexprostools.com; Expires=Mon, 27 Jul 2026 03:20:33 GMT\r\nx-requested-with: XMLHttpRequest\r\naccess-control-allow-methods: POST, GET, OPTIONS, PUT, DELETE\r\naccess-control-allow-headers: Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, accept, sessionid, x-csrftoken, content-type\r\nx-benchmark-1a: 0ms, mem alloc - 2.00Mb start\r\nx-benchmark-1b: 0ms, mem alloc - 2.00Mb end\r\nvary: Accept-Encoding,User-Agent\r\ncontent-security-policy: upgrade-insecure-requests; block-all-mixed-content\r\ncf-cache-status: DYNAMIC\r\ncontent-encoding: gzip\r\ncf-ray: a2185656ec190b51-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":1570,"size_decoded":2110,"mime_type":"text/html; charset=utf-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (476)","md5":"d5bd519172bcee06978d901fb499b5bf","sha1":"3c538c2aa4b78f7166e0e84cb062a7ce56a92d38","sha256":"cfc9a1d028ac362ee4c06bfb1f52ee6482933d09405d38a7682e155eb9407375","sha512":"0eced33c53c2ca8881599fb737cc5794a0b3b11db9ef46bba024c8f7e5eb3d282e75627c39131cbb45728c6a145d80b1310f284bc7520685c882e84d7bc9a53f","ssdeep":"","tlshash":"b031e853c3ab856d915e4594b0207b5d17b504dbb742dc85b0f22030f3cae6e80463ee","first_seen":"2026-07-27T02:51:26.982812Z","last_seen":"2026-07-27T02:51:26.982812Z","times_seen":1,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+CgkKPCEtLQpFTlY6IHByb2QKUExBVEZPUk06IHRvb2wKQkFDS0VORDogNy40LjMzCi0tPgkJCgkKPGh0bWwgY2xhc3M9ImZ3aCBtcDAgbm8tb3ZlcmZsb3ciPgoJPGhlYWQ+CgkJPHRpdGxlPlRWQyAtIFBST0QgOjogVE9PTDwvdGl0bGU+CgkJPG1ldGEgbmFtZT0iYXBwbGUtbW9iaWxlLXdlYi1hcHAtY2FwYWJsZSIgY29udGVudD0ieWVzIiAvPgoJCTxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsaW5pdGlhbC1zY2FsZT0xLjAsbWF4aW11bS1zY2FsZT0xLjAsbWluaW11bS1zY2FsZT0xLjAiPgoJCTxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CgkJCS5md2h7IHdpZHRoOjEwMCU7IGhlaWdodDoxMDAlOyB9CgkJCS5hYnN7IHBvc2l0aW9uOmFic29sdXRlOyB9CgkJCS5tcDB7IG1hcmdpbjowOyBwYWRkaW5nOjA7IH0KCQkJLm5vLW92ZXJmbG93eyBvdmVyZmxvdzpoaWRkZW4gfQoJCQlpZnJhbWUge21heC13aWR0aDogMTAwJTsgbWF4LWhlaWdodDogMTAwJX0KCQk8L3N0eWxlPgoJPC9oZWFkPgogICAgPGJvZHkgY2xhc3M9ImZ3aCBtcDAgbm8tb3ZlcmZsb3ciPgoKICAgIAkgICAgCQkKCQk8aWZyYW1lIHNyYz0iaHR0cHM6Ly90dmMtaW52ZG4tY2YtY29tLmludmVzdGluZy5jb20vdG9vbC8xLjEyLjEwL3Rvb2wtcHJvZC0yLXNzbC5odG1sP2NhcnJpZXI9Y2M2Njk4ZmNjY2E0NGU1MWIwODhkOWRkYmJjZjhlYzgmdGltZT0xNzg1MTIwNjMzJmRvbWFpbl9JRD03JmxhbmdfSUQ9NyZ0aW1lem9uZV9JRD0xNyZ2ZXJzaW9uPTEuMTIuMTAmbG9jYWxlPXJ1JnRpbWV6b25lPUV1cm9wZS9Nb3Njb3cmcGFpcl9JRD05NDU2MjkmaW50ZXJ2YWw9NSZzZXNzaW9uPTI0eDcmcHJlZml4PXJ1JnN1ZmZpeD0mY2xpZW50PTAmdXNlcj0mcGxvdFN0eWxlPWFyZWEmZ2VvYz1OTyZzdHlsZU92ZXJyaWRlPSIgZnJhbWVib3JkZXI9IjAiIHNjcm9sbGluZz0ibm8iIHNlYW1sZXNzPSJzZWFtbGVzcyIgc3R5bGU9IndpZHRoOiA2MThweDsgaGVpZ2h0OjQ1OHB4OyIgY2xhc3M9IiI+PC9pZnJhbWU+CgkJCiAgICAJICAgICAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMXB4O2NvbG9yOiAjMzMzMzMzO3RleHQtZGVjb3JhdGlvbjogbm9uZTsiPtCi0LXRhdC90LjRh9C10YHQutC40LUg0LPRgNCw0YTQuNC60Lgg0L/RgNC10LTQvtGB0YLQsNCy0LvQtdC90YsgPGEgaHJlZj0iaHR0cHM6Ly9ydS5pbnZlc3RpbmcuY29tLyIgcmVsPSJub2ZvbGxvdyIgdGFyZ2V0PSJfYmxhbmsiIHN0eWxlPSJmb250LXNpemU6IDExcHg7Y29sb3I6ICMwNjUyOUQ7IGZvbnQtd2VpZ2h0OiBib2xkOyIgY2xhc3M9InVuZGVybGluZV9saW5rIj5JbnZlc3RpbmcuY29tINCg0L7RgdGB0LjRjzwvYT4gJiA8YSBocmVmPSJodHRwOi8vd3d3LnRyYWRpbmd2aWV3LmNvbS8iIHJlbD0ibm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIiBzdHlsZT0iZm9udC1zaXplOiAxMXB4O2NvbG9yOiAjMDY1MjlEOyBmb250LXdlaWdodDogYm9sZDsiIGNsYXNzPSJ1bmRlcmxpbmVfbGluayI+VHJhZGluZ1ZpZXc8L2E+Ljwvc3Bhbj4gICAgPC9ib2R5Pgo8L2h0bWw+Cg=="}},"time_used":104,"timings":{"blocked":-1,"dns":7,"connect":2,"send":0,"wait":83,"receive":0,"ssl":11},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/56258.282e6141fc02ac85d0d5.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.880Z","timestamp":1785120633880,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/56258.282e6141fc02ac85d0d5.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a0c2e6a-174e\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 19 May 2026 09:33:30 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 8f94a5fc3777853a73196e2e2721233b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5966,"size_decoded":3195,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3055)","md5":"a9563eafb41c9e6b519a29f0206f6b89","sha1":"43a8b417d99fe60c3d65ddae1e66d8cabd277000","sha256":"ba67ff82446ee411a3ef96ebe6abe55cf6cc1abfd78c841cd5d9a0a70804725a","sha512":"1e31a74cb24aeb33cac85e854608a21314f1416f3db595d14b0577305da06f72bf42b9dea2c36f570fcea9dbd7d88793bd8bc291d498ab58b1e2413f173b781d","ssdeep":"96:AaPctCCkctcSycQOchchctDOAXtC4C2GM0/CnXkMHsU3KEu9pJfmJuuImRBYkqMy:NcUrctcXc3chchc1OotC4ChMUCX1HFRM","tlshash":"d5c1118471c1f09513db9a82a4370606f27d5c5c704b79ece3d0d4d6aabba4db42bb36","first_seen":"2026-05-19T10:58:17.796011Z","last_seen":"2026-07-27T05:27:33.169673Z","times_seen":736,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNTYyNThdLHs3NDM0NTEodCxlLG4pe24uZChlLHtjcmVhdGVPYnNlcnZhYmxlOigpPT5pfSk7dmFyIHI9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3ZhciBlPXRoaXM7dGhpcy5fcmVzb2x1dGlvbkxpc3RlbmVyPWZ1bmN0aW9uKCl7cmV0dXJuIGUuX29uUmVzb2x1dGlvbkNoYW5nZWQoKX0sdGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0PW51bGwsdGhpcy5fb2JzZXJ2ZXJzPVtdLHRoaXMuX3dpbmRvdz10LHRoaXMuX2luc3RhbGxSZXNvbHV0aW9uTGlzdGVuZXIoKX1yZXR1cm4gdC5wcm90b3R5cGUuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMuX3VuaW5zdGFsbFJlc29sdXRpb25MaXN0ZW5lcigpLHRoaXMuX3dpbmRvdz1udWxsfSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsInZhbHVlIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLHQucHJvdG90eXBlLnN1YnNjcmliZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49e25leHQ6dH07cmV0dXJuIHRoaXMuX29ic2VydmVycy5wdXNoKG4pLHt1bnN1YnNjcmliZTpmdW5jdGlvbigpe2UuX29ic2VydmVycz1lLl9vYnNlcnZlcnMuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdCE9PW59KSl9fX0sdC5wcm90b3R5cGUuX2luc3RhbGxSZXNvbHV0aW9uTGlzdGVuZXI9ZnVuY3Rpb24oKXtpZihudWxsIT09dGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0KXRocm93IG5ldyBFcnJvcigiUmVzb2x1dGlvbiBsaXN0ZW5lciBpcyBhbHJlYWR5IGluc3RhbGxlZCIpO3ZhciB0PXRoaXMuX3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvO3RoaXMuX3Jlc29sdXRpb25NZWRpYVF1ZXJ5TGlzdD10aGlzLl93aW5kb3cubWF0Y2hNZWRpYSgiYWxsIGFuZCAocmVzb2x1dGlvbjogIi5jb25jYXQodCwiZHBweCkiKSksdGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0LmFkZExpc3RlbmVyKHRoaXMuX3Jlc29sdXRpb25MaXN0ZW5lcil9LHQucHJvdG90eXBlLl91bmluc3RhbGxSZXNvbHV0aW9uTGlzdGVuZXI9ZnVuY3Rpb24oKXtudWxsIT09dGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0JiYodGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0LnJlbW92ZUxpc3RlbmVyKHRoaXMuX3Jlc29sdXRpb25MaXN0ZW5lciksdGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0PW51bGwpfSx0LnByb3RvdHlwZS5fcmVpbnN0YWxsUmVzb2x1dGlvbkxpc3RlbmVyPWZ1bmN0aW9uKCl7dGhpcy5fdW5pbnN0YWxsUmVzb2x1dGlvbkxpc3RlbmVyKCksdGhpcy5faW5zdGFsbFJlc29sdXRpb25MaXN0ZW5lcigpfSx0LnByb3RvdHlwZS5fb25SZXNvbHV0aW9uQ2hhbmdlZD1mdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5fb2JzZXJ2ZXJzLmZvckVhY2goKGZ1bmN0aW9uKGUpe3JldHVybiBlLm5leHQodC5fd2luZG93LmRldmljZVBpeGVsUmF0aW8pfSkpLHRoaXMuX3JlaW5zdGFsbFJlc29sdXRpb25MaXN0ZW5lcigpfSx0fSgpO2Z1bmN0aW9uIGkodCl7cmV0dXJuIG5ldyByKHQpfX0sNzQyNzkodCxlLG4pe2Z1bmN0aW9uIHIodCl7dmFyIGU9dC53aWR0aCxuPXQuaGVpZ2h0O2lmKGU8MCl0aHJvdyBuZXcgRXJyb3IoIk5lZ2F0aXZlIHdpZHRoIGlzIG5vdCBhbGxvd2VkIGZvciBTaXplIik7aWYobjwwKXRocm93IG5ldyBFcnJvcigiTmVnYXRpdmUgaGVpZ2h0IGlzIG5vdCBhbGxvd2VkIGZvciBTaXplIik7cmV0dXJue3dpZHRoOmUsaGVpZ2h0Om59fWZ1bmN0aW9uIGkodCxlKXtyZXR1cm4gdC53aWR0aD09PWUud2lkdGgmJnQuaGVpZ2h0PT09ZS5oZWlnaHR9bi5kKGUse2VxdWFsU2l6ZXM6KCk9Pmksc2l6ZTooKT0+cn0pfSw3ODkyODcodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0LGUsbil7c3dpdGNoKG4ubGVuZ3RoKXtjYXNlIDA6cmV0dXJuIHQuY2FsbChlKTtjYXNlIDE6cmV0dXJuIHQuY2FsbChlLG5bMF0pO2Nhc2UgMjpyZXR1cm4gdC5jYWxsKGUsblswXSxuWzFdKTtjYXNlIDM6cmV0dXJuIHQuY2FsbChlLG5bMF0sblsxXSxuWzJdKX1yZXR1cm4gdC5hcHBseShlLG4pfX0sMjU4MjYodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSxuLHIpe2Zvcih2YXIgaT0tMSx1PU9iamVjdChlKSxvPXIoZSksYT1vLmxlbmd0aDthLS07KXt2YXIgbD1vW3Q/YTorK2ldO2lmKCExPT09bih1W2xdLGwsdSkpYnJlYWt9cmV0dXJuIGV9fSgpfSw0ODI2Mih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pmp9KTt2YXIgcj1uKDg4NjUxNCksaT1uKDI1NDczOCksdT1uKDkxMDc3OCk7Y29uc3Qgbz1mdW5jdGlvbih0LGUsbil7KHZvaWQgMCE9PW4mJiEoMCx1LmRlZmF1bHQpKHRbZV0sbil8fHZvaWQgMD09PW4mJiEoZSBpbiB0KSkmJigwLGkuZGVmYXVsdCkodCxlLG4pfTt2YXIgYT1uKDI1ODI2KSxsPW4oNDg3MDYwKSxzPW4oMTM5MDcpLGY9big3MDU3NDkpLGQ9big4MDc1NzUpLGM9big1MzE1NTcpLGg9bigyOTU2MzUpLHY9bigyMzk2MykscD1uKDY1OTAxOCksdz1uKDkyODEzMiksXz1uKDg4MDExNSksYj1uKDkzMTQzMykseT1uKDE2NTI2Nyk7Y29uc3QgZz1mdW5jdGlvbih0LGUpe2lmKCgiY29uc3RydWN0b3IiIT09ZXx8ImZ1bmN0aW9uIiE9dHlwZW9mIHRbZV0pJiYiX19wcm90b19fIiE9ZSlyZXR1cm4gdFtlXX07dmFyIEw9big2MTg1NyksUj1uKDIxNzQ1Nyk7Y29uc3QgTT1mdW5jdGlvbih0KXtyZXR1cm4oMCxMLmRlZmF1bHQpKHQsKDAsUi5kZWZhdWx0KSh0KSl9O2NvbnN0IE89ZnVuY3Rpb24odCxlLG4scixpLHUsYSl7dmFyIEw9Zyh0LG4pLFI9ZyhlLG4pLE89YS5nZXQoUik7aWYoTylvKHQsbixPKTtlbHNle3ZhciBqPXU/dShMLFIsbisiIix0LGUsYSk6dm9pZCAwLHg9dm9pZCAwPT09ajtpZih4KXt2YXIgUT0oMCxoLmRlZmF1bHQpKFIpLG09IVEmJigwLApwLmRlZmF1bHQpKFIpLGs9IVEmJiFtJiYoMCx5LmRlZmF1bHQpKFIpO2o9UixRfHxtfHxrPygwLGguZGVmYXVsdCkoTCk/aj1MOigwLHYuZGVmYXVsdCkoTCk/aj0oMCxmLmRlZmF1bHQpKEwpOm0/KHg9ITEsaj0oMCxsLmRlZmF1bHQpKFIsITApKTprPyh4PSExLGo9KDAscy5kZWZhdWx0KShSLCEwKSk6aj1bXTooMCxiLmRlZmF1bHQpKFIpfHwoMCxjLmRlZmF1bHQpKFIpPyhqPUwsKDAsYy5kZWZhdWx0KShMKT9qPU0oTCk6KDAsXy5kZWZhdWx0KShMKSYmISgwLHcuZGVmYXVsdCkoTCl8fChqPSgwLGQuZGVmYXVsdCkoUikpKTp4PSExfXgmJihhLnNldChSLGopLGkoaixSLHIsdSxhKSxhLmRlbGV0ZShSKSksbyh0LG4sail9fTtjb25zdCBqPWZ1bmN0aW9uIHQoZSxuLGksdSxsKXtlIT09biYmKDAsYS5kZWZhdWx0KShuLChmdW5jdGlvbihhLHMpe2lmKGx8fChsPW5ldyByLmRlZmF1bHQpLCgwLF8uZGVmYXVsdCkoYSkpTyhlLG4scyxpLHQsdSxsKTtlbHNle3ZhciBmPXU/dShnKGUscyksYSxzKyIiLGUsbixsKTp2b2lkIDA7dm9pZCAwPT09ZiYmKGY9YSksbyhlLHMsZil9fSksUi5kZWZhdWx0KX19LDY0NTM3Nih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTt2YXIgcj1uKDIzMjg1NCksaT1uKDM3MjAzNSksdT1uKDcwOTA1MSk7Y29uc3Qgbz1mdW5jdGlvbih0LGUpe3JldHVybigwLHUuZGVmYXVsdCkoKDAsaS5kZWZhdWx0KSh0LGUsci5kZWZhdWx0KSx0KyIiKX19LDU3NDY2OSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgcj1uKDY0NTM3NiksaT1uKDg1NDg5NCk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4oMCxyLmRlZmF1bHQpKChmdW5jdGlvbihlLG4pe3ZhciByPS0xLHU9bi5sZW5ndGgsbz11PjE/blt1LTFdOnZvaWQgMCxhPXU+Mj9uWzJdOnZvaWQgMDtmb3Iobz10Lmxlbmd0aD4zJiYiZnVuY3Rpb24iPT10eXBlb2Ygbz8odS0tLG8pOnZvaWQgMCxhJiYoMCxpLmRlZmF1bHQpKG5bMF0sblsxXSxhKSYmKG89dTwzP3ZvaWQgMDpvLHU9MSksZT1PYmplY3QoZSk7KytyPHU7KXt2YXIgbD1uW3JdO2wmJnQoZSxsLHIsbyl9cmV0dXJuIGV9KSl9fSw4NTQ4OTQodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIHI9big5MTA3NzgpLGk9bigzOTI5MDgpLHU9big5MjExNDMpLG89big4ODAxMTUpO2NvbnN0IGE9ZnVuY3Rpb24odCxlLG4pe2lmKCEoMCxvLmRlZmF1bHQpKG4pKXJldHVybiExO3ZhciBhPXR5cGVvZiBlO3JldHVybiEhKCJudW1iZXIiPT1hPygwLGkuZGVmYXVsdCkobikmJigwLHUuZGVmYXVsdCkoZSxuLmxlbmd0aCk6InN0cmluZyI9PWEmJmUgaW4gbikmJigwLHIuZGVmYXVsdCkobltlXSx0KX19LDM3MjAzNSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgcj1uKDc4OTI4NyksaT1NYXRoLm1heDtjb25zdCB1PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gZT1pKHZvaWQgMD09PWU/dC5sZW5ndGgtMTplLDApLGZ1bmN0aW9uKCl7Zm9yKHZhciB1PWFyZ3VtZW50cyxvPS0xLGE9aSh1Lmxlbmd0aC1lLDApLGw9QXJyYXkoYSk7KytvPGE7KWxbb109dVtlK29dO289LTE7Zm9yKHZhciBzPUFycmF5KGUrMSk7KytvPGU7KXNbb109dVtvXTtyZXR1cm4gc1tlXT1uKGwpLCgwLHIuZGVmYXVsdCkodCx0aGlzLHMpfX19LDcwOTA1MSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgcj1uKDEyODA3NiksaT1uKDM2MDQ5KSx1PW4oMjMyODU0KTtjb25zdCBvPWkuZGVmYXVsdD9mdW5jdGlvbih0LGUpe3JldHVybigwLGkuZGVmYXVsdCkodCwidG9TdHJpbmciLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMSx2YWx1ZTooMCxyLmRlZmF1bHQpKGUpLHdyaXRhYmxlOiEwfSl9OnUuZGVmYXVsdDtjb25zdCBhPSgwLG4oOTQ4NTczKS5kZWZhdWx0KShvKX0sOTQ4NTczKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+aX0pO3ZhciByPURhdGUubm93O2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9MCxuPTA7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGk9cigpLHU9MTYtKGktbik7aWYobj1pLHU+MCl7aWYoKytlPj04MDApcmV0dXJuIGFyZ3VtZW50c1swXX1lbHNlIGU9MDtyZXR1cm4gdC5hcHBseSh2b2lkIDAsYXJndW1lbnRzKX19fSwxMjgwNzYodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19fSwyMzI4NTQodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0KXtyZXR1cm4gdH19LDIzOTYzKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+dX0pO3ZhciByPW4oMzkyOTA4KSxpPW4oMzYwNjIwKTtjb25zdCB1PWZ1bmN0aW9uKHQpe3JldHVybigwLGkuZGVmYXVsdCkodCkmJigwLHIuZGVmYXVsdCkodCl9fSw5MzE0MzModCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5kfSk7dmFyIHI9bigxNzg0OTcpLGk9bigzOTI1NDUpLHU9bigzNjA2MjApLG89RnVuY3Rpb24ucHJvdG90eXBlLGE9T2JqZWN0LnByb3RvdHlwZSxsPW8udG9TdHJpbmcscz1hLmhhc093blByb3BlcnR5LGY9bC5jYWxsKE9iamVjdCk7Y29uc3QgZD1mdW5jdGlvbih0KXtpZighKDAsdS5kZWZhdWx0KSh0KXx8IltvYmplY3QgT2JqZWN0XSIhPSgwLHIuZGVmYXVsdCkodCkpcmV0dXJuITE7dmFyIGU9KDAsaS5kZWZhdWx0KSh0KTtpZihudWxsPT09ZSlyZXR1cm4hMDt2YXIgbj1zLmNhbGwoZSwiY29uc3RydWN0b3IiKSYmZS5jb25zdHJ1Y3RvcjtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgbiYmbiBpbnN0YW5jZW9mIG4mJmwuY2FsbChuKT09Zn19LDc0MDE2Mih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pml9KTt2YXIgcj1uKDQ4MjYyKTtjb25zdCBpPSgwLG4oNTc0NjY5KS5kZWZhdWx0KSgoZnVuY3Rpb24odCxlLG4peygwLHIuZGVmYXVsdCkodCxlLG4pfSkpfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/42171.1c05d8147c230d86b4fa.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.266Z","timestamp":1785120634266,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/42171.1c05d8147c230d86b4fa.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-4ff4\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:02:18\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 03469ae86b34e9babdca61652d8bdb5f\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":20468,"size_decoded":7449,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"edddce8d1d6f604a250bcfbe9d7eb025","sha1":"253ca6c52edbd8045f2d7582a4cbe1d58aa63fb7","sha256":"5ce8d2d6a4b23546f3ef7e86e56e51c0dd33a1ed0a3cef47794f49bbaf49fd90","sha512":"8bea5dd5042c7cbb2e5672e14ea2d4734a6fec646472748c7fc97e3549559befc114de998d38beab5c5097dccc1d9db856c75c8b482946bb7276dc6c44fffb43","ssdeep":"384:BrqTqqPiwUF5A2XlUggtc6TPlrtRH/hIRgvFoPVAAg0dUDs3nRCvO3Ja7m8t51hv:FqTLPinvA2uggtc6TPlrtRH/hImvFoP8","tlshash":"fd92b424f382216105eb91ed1c760913b63bb7963c87466db92c9ace675c918f372b3c","first_seen":"2026-07-22T16:00:00.324158Z","last_seen":"2026-07-27T06:01:16.155257Z","times_seen":31,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNDIxNzFdLHsyNDIxNzEoZSx0LGkpe2kuZCh0LHtNaW5pQ2hhcnRQbG90QmFzZTooKT0+VSxjdXN0b21QcmljZUZvcm1hdEJ5U3ltYm9sSW5mbzooKT0+Rixpc1RpbWVQb2ludEluZGV4OigpPT5QLHNlcmllc0hvcnpNYXJnaW5zRGVmYXVsdHM6KCk9PkV9KTt2YXIgcz1pKDY2MzA0Nikscj1pKDY3ODMxMiksYT1pKDc0MDE2Miksbz1pKDMwNDIyMSksbj1pKDEzODYzOCksbD1pKDEzNDY3KSxoPWkoMjIxMDYxKSx1PWkoNjAxODQxKSxkPWkoMjMyMzY0KSxfPWkoNDAyMDQ1KSxjPWkoOTUyOTAwKSxtPWkoMTUwMTUwKSxwPWkoOTQ4MzgwKSxnPWkoNzczMDg4KSxTPWkoODE0NTg5KSx5PWkoNzgzMjU0KSxmPWkoOTg0Mzc2KSxDPWkoNDA3Nzk5KSxiPWkoMTExOTUzKSx2PWkoMTI4OTk4KSx3PWkoMTEzNTY3KSxJPWkoODczNTczKSxWPWkoMjI2OTM3KSxEPWkoNjk1OTQ2KTtjb25zdCBCPSgwLGguZ2V0TG9nZ2VyKSgiQ2hhcnQuTWluaUNoYXJ0IiksTz1uZXcgZi5Wb2x1bWVGb3JtYXR0ZXI7ZnVuY3Rpb24gTChlLHQsaSxzKXtyZXR1cm57dGltZTp0LGNvbG9yOnMsdmFsdWU6aVtlXX19ZnVuY3Rpb24gVChlLHQpe3JldHVybnt0aW1lOmUsb3Blbjp0WzFdLGhpZ2g6dFsyXSxsb3c6dFszXSxjbG9zZTp0WzRdfX1mdW5jdGlvbiB4KGUsdCxpLHMscil7cmV0dXJue3RpbWU6ZSx0b3BDb2xvcjpzLGJvdHRvbUNvbG9yOnIsbGluZUNvbG9yOmksdmFsdWU6dFs0XX19ZnVuY3Rpb24gTShlKXtjb25zdCB0PW5ldyBEYXRlKGUpO3JldHVybiBEYXRlLlVUQyh0LmdldEZ1bGxZZWFyKCksdC5nZXRNb250aCgpLHQuZ2V0RGF0ZSgpLHQuZ2V0SG91cnMoKSx0LmdldE1pbnV0ZXMoKSx0LmdldFNlY29uZHMoKSkvMWUzfWZ1bmN0aW9uIFAoZSl7cmV0dXJuKDAsdS5pc0ludGVnZXIpKGUpfWNvbnN0IGs9KDAscy5kZWZhdWx0KShJLnJlc2V0VHJhbnNwYXJlbmN5KTtmdW5jdGlvbiBGKGUpe2NvbnN0IHQ9KDAsdi5jcmVhdGVTZXJpZXNGb3JtYXR0ZXIpKGUsImRlZmF1bHQiKTtyZXR1cm57dHlwZToiY3VzdG9tIixtaW5Nb3ZlOmUubWlubW92L2UucHJpY2VzY2FsZSxiYXNlOmUucHJpY2VzY2FsZS9lLm1pbm1vdixmb3JtYXR0ZXI6ZT0+dC5mb3JtYXQoZSl9fWNvbnN0IEU9e2xlZnRMb2dpY2FsOjAscmlnaHRMb2dpY2FsOjAsbGVmdFB4OjAscmlnaHRQeDo0fTtmdW5jdGlvbiBXKGUpe2lmKDA9PT1lLnNlcmllcy5sZW5ndGgpcmV0dXJuIG51bGw7Y29uc3QgdD1lLnNlcmllc1swXSxpPXQudmFsdWU/P3QuY2xvc2Uscz1lLnNlcmllc1tlLnNlcmllcy5sZW5ndGgtMV0scj1zLnZhbHVlPz9zLmNsb3NlO3JldHVybntmaXJzdDp7dmFsdWU6aSx0aW1lOnQudGltZX0sbGFzdDp7dmFsdWU6cix0aW1lOnMudGltZX19fWNsYXNzIFV7Y29uc3RydWN0b3IoZSx0LGkscyl7dGhpcy5fc3ltYm9sQ2hhbmdlZD1uZXcgcC5EZWxlZ2F0ZSx0aGlzLl9zZXJpZXNDaGFuZ2VkPW5ldyBwLkRlbGVnYXRlLHRoaXMuX3doaXRlc3BhY2VzPW51bGwsdGhpcy5fc3ltYm9sUmVzb2x2ZWQ9bmV3IHAuRGVsZWdhdGUsdGhpcy5fb3JpZ2luYWxTY2FsZU1vZGU9bnVsbCx0aGlzLl9jdXN0b21QcmljZUZvcm1hdHRlcj1udWxsLHRoaXMuX2lzRGVzdHJveWVkPW5ldyBkLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fc3RhdHVzPW5ldyBkLldhdGNoZWRWYWx1ZSgwKSx0aGlzLl9ub0RhdGE9bmV3IGQuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2NoYXJ0VHlwZT1uZXcgZC5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fZGlyZWN0aW9uQmFzZWRDb2xvcj1uZXcgZC5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fZGF0YUxlbmd0aEluZm89bnVsbCx0aGlzLl9zZXNzaW9uSWQ9bmV3IGQuV2F0Y2hlZFZhbHVlLHRoaXMuX2JhckJ1aWxkZXJMb2FkZXI9bnVsbCx0aGlzLl9zeW1ib2xJbmZvPW51bGwsdGhpcy5fc3ltYm9sSW5mb1dWPW5ldyBfLldhdGNoZWRPYmplY3QobnVsbCksdGhpcy5fc3ltYm9sPXtzeW1ib2w6IiJ9LHRoaXMuX21pbkJhckluZGV4PW51bGwsdGhpcy5fbWF4QmFySW5kZXg9bnVsbCx0aGlzLl9sYXN0VmFsdWU9bmV3IGQuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2lzVmlzaWJsZT1uZXcgZC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2lkPSgwLG0ucmFuZG9tSGFzaCkoKSx0aGlzLl90aW1lRnJhbWVJbnZhbGlkYXRlZD1uZXcgcC5EZWxlZ2F0ZSx0aGlzLl9maXJzdFZhbHVlQ2FjaGU9bnVsbCx0aGlzLl9maXJzdEJhclRpbWU9bmV3IGQuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2xlZ2VuZExhc3RCYXJEYXRhPW51bGwsdGhpcy5faGlzdG9yeVVwZGF0ZVJlY2VpdmVkPSExLHRoaXMuX21pbmlDaGFydD1lLHRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucz10LHRoaXMuX2N1cnJlbnRTZXJpZXNPcHRpb25zPSgwLGEuZGVmYXVsdCkoe30sdCksdGhpcy5fb3B0aW9ucz1zLHRoaXMuX3Nlcmllcz10aGlzLl9jcmVhdGVTZXJpZXMoKSx0aGlzLl9jaGFydFR5cGUuc2V0VmFsdWUodC5jaGFydFR5cGU/P251bGwpLHRoaXMuX29yaWdpbmFsVm9sdW1lT3B0aW9ucz1pLHRoaXMuX3ZvbHVtZT10aGlzLl9jcmVhdGVWb2x1bWUoKSx0aGlzLl90aW1lRnJhbWU9ZS50aW1lZnJhbWUoKS5zcGF3bigpLHRoaXMuX3RpbWVGcmFtZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU2Vzc2lvbklkLmJpbmQodGhpcykpLHRoaXMuX2N1cnJlbnRseVNob3duRGF0YURlc2NyaXB0aW9uPW5ldyBfLldhdGNoZWRPYmplY3Qoe3RpbWVmcmFtZTp0aGlzLl90aW1lRnJhbWUudmFsdWUoKSxzeW1ib2w6dGhpcy5zeW1ib2woKX0pLHRoaXMuX2lzTGFzdFNlc3Npb25JbnRlcnZhbD0oMCxjLmNvbWJpbmUpKChlPT4iTEFTVFNFU1NJT04iPT09KDAsZy5jb252ZXJ0VGltZUZyYW1lVG9TdHIpKGUpKSx0aGlzLl9taW5pQ2hhcnQudGltZWZyYW1lKCkud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9pc0xhc3RTZXNzaW9uSW50ZXJ2YWwuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVNlc3Npb25JZC5iaW5kKHRoaXMpKSwKdGhpcy5fbWluaUNoYXJ0LnRpbWVTY2FsZVNpemVDaGFuZ2VkKCkuc3Vic2NyaWJlKG51bGwsdGhpcy5fdGltZVNjYWxlU2l6ZUNoYW5nZWQuYmluZCh0aGlzKSksdGhpcy5fc3RhdHVzLnN1YnNjcmliZSgoZT0+ezMhPT1lJiYodGhpcy5fbGFzdFZhbHVlLnNldFZhbHVlKG51bGwpLHRoaXMuX29uTGFzdEJhckRhdGFNYXlDaGFuZ2UoKSl9KSl9ZGVzdHJveSgpe3RoaXMuX3N0YXR1cy51bnN1YnNjcmliZSgpLHRoaXMuX3RpbWVGcmFtZS5kZXN0cm95KCksdGhpcy5faXNEZXN0cm95ZWQuc2V0VmFsdWUoITApLHRoaXMuX2lzTGFzdFNlc3Npb25JbnRlcnZhbC5kZXN0cm95KCksdGhpcy5fYmFyQnVpbGRlckxvYWRlcj8uZGVzdHJveSgpfWlkKCl7cmV0dXJuIHRoaXMuX2lkfXN0YXR1cygpe3JldHVybiB0aGlzLl9zdGF0dXMucmVhZG9ubHkoKX1ub0RhdGEoKXtyZXR1cm4gdGhpcy5fbm9EYXRhLnJlYWRvbmx5KCl9Y2hhcnRUeXBlKCl7cmV0dXJuIHRoaXMuX2NoYXJ0VHlwZS5yZWFkb25seSgpfXN5bWJvbEluZm8oKXtyZXR1cm4gdGhpcy5fc3ltYm9sSW5mb31zeW1ib2xJbmZvV1YoKXtyZXR1cm4gdGhpcy5fc3ltYm9sSW5mb1dWLnJlYWRvbmx5KCl9c3ltYm9sKCl7cmV0dXJuIHRoaXMuX3N5bWJvbC5zeW1ib2x9c3ViU2Vzc2lvbigpe3JldHVybiB0aGlzLl9zZXNzaW9uSWQudmFsdWUoKX1zZXRTeW1ib2woZSx0KXtyZXR1cm4oMCxvLmRlZmF1bHQpKGUpJiYoZT0oMCxiLmlzRW5jb2RlZEV4dGVuZGVkU3ltYm9sKShlKT8oMCxiLmRlY29kZUV4dGVuZGVkU3ltYm9sKShlKTp7Li4udGhpcy5fc3ltYm9sLHN5bWJvbDplfSksdm9pZCAwIT09dCYmdGhpcy5fdXBkYXRlU2VyaWVzT3B0aW9ucyh0KSwhKDAsYi5jb21wYXJlU3ltYm9scykodGhpcy5fc3ltYm9sLGUpJiYodGhpcy5fc3ltYm9sPWUsdGhpcy5fdXBkYXRlU2Vzc2lvbklkKCksdGhpcy5fc3ltYm9sQ2hhbmdlZC5maXJlKCksITApfWV4dGVuZGVkU3ltYm9sKCl7cmV0dXJuey4uLnRoaXMuX3N5bWJvbCxzZXNzaW9uOnRoaXMuX3Nlc3Npb25JZC52YWx1ZSgpfX1xdW90ZXNTeW1ib2woKXtyZXR1cm57Li4udGhpcy5leHRlbmRlZFN5bWJvbCgpLG1ldHJpYzp2b2lkIDB9fXVwZGF0ZVNlcmllc09wdGlvbnMoZSl7bGV0IHQ9ITE7dm9pZCAwIT09ZS5jaGFydFR5cGUmJnRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucy5jaGFydFR5cGUhPT1lLmNoYXJ0VHlwZT90PSEwOiJsaW5lIiE9PXRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucy5jaGFydFR5cGUmJiJhcmVhIiE9PXRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucy5jaGFydFR5cGV8fCh0PSJwb3N0bWFya2V0TGluZUNvbG9yImluIGUmJnRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucy5wb3N0bWFya2V0TGluZUNvbG9yIT09ZS5wb3N0bWFya2V0TGluZUNvbG9yfHwicHJlbWFya2V0TGluZUNvbG9yImluIGUmJnRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucy5wcmVtYXJrZXRMaW5lQ29sb3IhPT1lLnByZW1hcmtldExpbmVDb2xvcnx8Im5pZ2h0TGluZUNvbG9yImluIGUmJnRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucy5uaWdodExpbmVDb2xvciE9PWUubmlnaHRMaW5lQ29sb3IpLHRoaXMuX3VwZGF0ZVNlcmllc09wdGlvbnMoZSksdD90aGlzLl9vbkNoYXJ0U3R5bGVDaGFuZ2VkKCk6dGhpcy5fc2VyaWVzLmFwcGx5T3B0aW9ucyhlKX1hcHBseU9wdGlvbnMoZSl7KDAsYS5kZWZhdWx0KSh0aGlzLl9vcHRpb25zLGUpfXN5bWJvbFJlc29sdmVkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbFJlc29sdmVkfXN5bWJvbENoYW5nZWQoKXtyZXR1cm4gdGhpcy5fc3ltYm9sQ2hhbmdlZH1zZXJpZXNDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3Nlcmllc0NoYW5nZWR9dGltZUZyYW1lSW52YWxpZGF0ZWQoKXtyZXR1cm4gdGhpcy5fdGltZUZyYW1lSW52YWxpZGF0ZWR9cmVzdG9yZU9yaWdpbmFsU2NhbGVNb2RlKCl7bnVsbCE9PXRoaXMuX29yaWdpbmFsU2NhbGVNb2RlJiZ0aGlzLl9zZXJpZXMucHJpY2VTY2FsZSgpLmFwcGx5T3B0aW9ucyh7bW9kZTp0aGlzLl9vcmlnaW5hbFNjYWxlTW9kZX0pfXN3aXRjaFRvUGVyY2VudGFnZVNjYWxlTW9kZSgpe251bGw9PT10aGlzLl9vcmlnaW5hbFNjYWxlTW9kZSYmKHRoaXMuX29yaWdpbmFsU2NhbGVNb2RlPXRoaXMuX3Nlcmllcy5wcmljZVNjYWxlKCkub3B0aW9ucygpLm1vZGUpLHRoaXMuX3Nlcmllcy5wcmljZVNjYWxlKCkuYXBwbHlPcHRpb25zKHttb2RlOnIuUHJpY2VTY2FsZU1vZGUuUGVyY2VudGFnZX0pfWNoYXJ0U2Vzc2lvbigpe3JldHVybiB0aGlzLl9taW5pQ2hhcnQuY2hhcnRTZXNzaW9uKCl9Y3VycmVudFNlcmllc09wdGlvbnMoKXtyZXR1cm4gdGhpcy5fY3VycmVudFNlcmllc09wdGlvbnN9dm9sdW1lT3B0aW9ucygpe3JldHVybiB0aGlzLl9vcmlnaW5hbFZvbHVtZU9wdGlvbnN9c2VyaWVzKCl7cmV0dXJuIHRoaXMuX3Nlcmllc312b2x1bWUoKXtyZXR1cm4gdGhpcy5fb3JpZ2luYWxWb2x1bWVPcHRpb25zLnZpc2libGU/dGhpcy5fdm9sdW1lOm51bGx9dXBkYXRlRGF0YShlLHQsaSl7ZSYmdGhpcy5jbGVhclNvdXJjZURhdGEoKTtjb25zdCBzPXRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucyxyPXRoaXMuX2J1aWxkVmlld0RhdGEoaSksYT1yLnNlcmllcy5sZW5ndGg7dGhpcy5faGlzdG9yeVVwZGF0ZVJlY2VpdmVkPXRoaXMuX2hpc3RvcnlVcGRhdGVSZWNlaXZlZHx8dm9pZCAwPT09aSx2b2lkIDAhPT1pfHwiYXJlYSIhPT1zLmNoYXJ0VHlwZSYmImxpbmUiIT09cy5jaGFydFR5cGV8fCh0aGlzLl9maXJzdFZhbHVlQ2FjaGU9ci5zZXJpZXNbMF0/LnZhbHVlPz9udWxsKTtjb25zdCBvPXRoaXMuX2hpc3RvcnlVcGRhdGVSZWNlaXZlZCYmbnVsbD09PXRoaXMuX2RhdGFMZW5ndGhJbmZvO2lmKHZvaWQgMCE9PWkmJiFvKXtjb25zdCBlPXRoaXMuX2RhdGFMZW5ndGhJbmZvO2lmKG51bGw9PT1lKXJldHVybjtjb25zdCB0PXsuLi5lfTtlLmxhc3RCYXJTZXNzaW9uPXIubGFzdEJhclNlc3Npb247bGV0IGk9bnVsbDtmb3IoY29uc3QgdCBvZiByLnNlcmllcyl0aGlzLl9zZXJpZXMudXBkYXRlKHQpLAoobnVsbD09PWUubGFzdEJhclRpbWV8fGUubGFzdEJhclRpbWU8dC50aW1lKSYmKGk9dC50aW1lLGUubGFzdEJhclRpbWU9aSxlLnJlYWx0aW1lKz0xLGUubGFzdEJhckluZGV4PShlLmxhc3RCYXJJbmRleD8/LTEpKzEpO2lmKHIuYWRkaXRpb25hbFNlcmllcyYmdGhpcy5fdXBkYXRlQWRkaXRpb25hbFNlcmllc0RhdGEoci5hZGRpdGlvbmFsU2VyaWVzKSxyLnZvbHVtZSlmb3IoY29uc3QgZSBvZiByLnZvbHVtZSl0aGlzLl92b2x1bWUudXBkYXRlKGUpO2lmKHZvaWQgMCE9PXRoaXMuX3doaXRlc3BhY2VzRGF0YSYmbnVsbCE9PWkpe2NvbnN0IHQ9dGhpcy5fd2hpdGVzcGFjZXNEYXRhLmZpbmRJbmRleCgoZT0+ZS50aW1lPmkpKTstMT09PXQ/KGUud2hpdGVzcGFjZXM9MCx0aGlzLl91cGRhdGVXaGl0ZXNwYWNlcyhbXSkpOjAhPT10JiYoZS53aGl0ZXNwYWNlcy09dCx0aGlzLl91cGRhdGVXaGl0ZXNwYWNlcyh0aGlzLl93aGl0ZXNwYWNlc0RhdGEuc2xpY2UodCkpKX1udWxsIT09aSYmKHZvaWQgMCE9PWUuZml4TGVmdEVkZ2VVbnRpbD8odGhpcy5faXNNYWluUGxvdCgpJiZlLmZpeExlZnRFZGdlVW50aWw+PWkmJnRoaXMuX21pbmlDaGFydC5maXRDb250ZW50KCksaT5lLmZpeExlZnRFZGdlVW50aWwmJihlLmhpc3RvcnkrPWUucmVhbHRpbWUtMSxlLnJlYWx0aW1lPTAsZS5maXhMZWZ0RWRnZVVudGlsPXZvaWQgMCxlLnRpbWVGcmFtZUludmFsaWRhdGVkPSEwLHRoaXMuX3RpbWVGcmFtZUludmFsaWRhdGVkLmZpcmUoKSkpOmUudGltZUZyYW1lSW52YWxpZGF0ZWR8fChlLnRpbWVGcmFtZUludmFsaWRhdGVkPSEwLHRoaXMuX3RpbWVGcmFtZUludmFsaWRhdGVkLmZpcmUoKSkpLHRoaXMuX3VwZGF0ZVNlcmllc0NvbG9yKHIuc2VyaWVzW3Iuc2VyaWVzLmxlbmd0aC0xXSksdGhpcy5fZGF0YVVwZGF0ZWQocixlLHQpO2NvbnN0IHM9VyhyKTtyZXR1cm4gdm9pZChudWxsIT09cyYmKHRoaXMuX2xhc3RWYWx1ZS5zZXRWYWx1ZShzLmxhc3QudmFsdWUpLHRoaXMuX29uTGFzdEJhckRhdGFNYXlDaGFuZ2UoKSkpfWNvbnN0IG49ci53aGl0ZXNwYWNlcyxsPW4/Lmxlbmd0aD8/MDt0aGlzLl9kYXRhTGVuZ3RoSW5mbz17aGlzdG9yeTphLHJlYWx0aW1lOjAsbGFzdEJhckluZGV4OjA9PT1hP251bGw6YS0xLGxhc3RCYXJUaW1lOjA9PT1hP251bGw6ci5zZXJpZXNbYS0xXS50aW1lLHdoaXRlc3BhY2VzOmwsZml4TGVmdEVkZ2VVbnRpbDpyLmZpeExlZnRFZGdlVW50aWwsdGltZUZyYW1lSW52YWxpZGF0ZWQ6ITEsbGFzdEJhclNlc3Npb246ci5sYXN0QmFyU2Vzc2lvbn0sdGhpcy5fdXBkYXRlU2VyaWVzQ29sb3IoMD09PWE/dm9pZCAwOnIuc2VyaWVzW2EtMV0pLHRoaXMuX3Nlcmllcy5hcHBseU9wdGlvbnModGhpcy5fY3VycmVudFNlcmllc09wdGlvbnMpLHRoaXMuX2FwcGx5UHJpY2VTY2FsZUZvcm1hdHRlcigpLHR8fHRoaXMuX2JlZm9yZURhdGFSZWFkeSgpLHRoaXMuX3Nlcmllcy5zZXREYXRhKHIuc2VyaWVzKSxyLmFkZGl0aW9uYWxTZXJpZXMmJnRoaXMuX3NldEFkZGl0aW9uYWxTZXJpZXNEYXRhKHIuYWRkaXRpb25hbFNlcmllcyksci52b2x1bWUmJnRoaXMuX3ZvbHVtZS5zZXREYXRhKHIudm9sdW1lKSx0aGlzLl91cGRhdGVXaGl0ZXNwYWNlcyhyLndoaXRlc3BhY2VzKSx0aGlzLl9kYXRhVXBkYXRlZChyLHRoaXMuX2RhdGFMZW5ndGhJbmZvKTtjb25zdCBoPVcocik7aWYobnVsbCE9PWgpe2NvbnN0e2ZpcnN0OmUsbGFzdDp0fT1oO3RoaXMuX2xhc3RWYWx1ZS5zZXRWYWx1ZSh0LnZhbHVlKSx0aGlzLl9maXJzdEJhclRpbWUuc2V0VmFsdWUoZS50aW1lKSx0aGlzLl9vbkxhc3RCYXJEYXRhTWF5Q2hhbmdlKCl9fXRpdGxlcygpe3JldHVybiB0aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucy50aXRsZT9bdGhpcy5fY3VycmVudFNlcmllc09wdGlvbnMudGl0bGVdOltdfWRlbGV0ZVZpZXcoKXt0aGlzLl9zZXJpZXMuc2V0RGF0YShbXSksdGhpcy5fd2hpdGVzcGFjZXM/LnNldERhdGEoW10pLHRoaXMuX3ZvbHVtZS5zZXREYXRhKFtdKX1jbGVhckRhdGEoKXt0aGlzLl9zeW1ib2xJbmZvPW51bGwsdGhpcy5fc3ltYm9sSW5mb1dWLnNldFZhbHVlKG51bGwpLHRoaXMuX2hpc3RvcnlVcGRhdGVSZWNlaXZlZD0hMSx0aGlzLl9kYXRhTGVuZ3RoSW5mbz1udWxsLHRoaXMuX2ZpcnN0VmFsdWVDYWNoZT1udWxsLHRoaXMuX2N1c3RvbVByaWNlRm9ybWF0dGVyPW51bGwsdGhpcy5fc3RhdHVzLnNldFZhbHVlKDApLHRoaXMuX25vRGF0YS5zZXRWYWx1ZShudWxsKSx0aGlzLl9kaXJlY3Rpb25CYXNlZENvbG9yLnNldFZhbHVlKG51bGwpfXJlc29sdXRpb24oKXtyZXR1cm4gdGhpcy5fbWluaUNoYXJ0LnJlc29sdXRpb24oKX1taW5CYXJJbmRleCgpe3JldHVybiB0aGlzLl9taW5CYXJJbmRleH1tYXhCYXJJbmRleCgpe3JldHVybiB0aGlzLl9tYXhCYXJJbmRleH1mb3JjZVBlcmNlbnRhZ2VNb2RlKCl7cmV0dXJuITF9bGFzdEJhclRpbWUoKXtyZXR1cm4gdGhpcy5fZGF0YUxlbmd0aEluZm8/Lmxhc3RCYXJUaW1lPz92b2lkIDB9bGFzdEJhckluZGV4KCl7cmV0dXJuIHRoaXMuX2RhdGFMZW5ndGhJbmZvPy5sYXN0QmFySW5kZXg/P251bGx9Z2V0Vmlld0RhdGEoZSl7cmV0dXJuIHRoaXMuX2J1aWxkVmlld0RhdGEoZSl9Z2V0TGVnZW5kRGF0YShlLHQpe2NvbnN0IHM9dGhpcy5zZXJpZXMoKSxyPXRoaXMudm9sdW1lKCk7aWYodm9pZCAwPT09ZSlyZXR1cm5bXTtjb25zdCBhPXMuZGF0YUJ5SW5kZXgoZSx0KTtpZihudWxsPT09YSlyZXR1cm5bXTtjb25zdCBvPVtdLG49cy5wcmljZUZvcm1hdHRlcigpLGw9dGhpcy5jdXJyZW50U2VyaWVzT3B0aW9ucygpO2lmKCExPT09bC52aXNpYmxlKXJldHVybltdO2lmKCJBcmVhIj09PXMuc2VyaWVzVHlwZSgpfHwiTGluZSI9PT1zLnNlcmllc1R5cGUoKXx8IkJhc2VsaW5lIj09PXMuc2VyaWVzVHlwZSgpfHwibGVnZW5kIj09PWwudG9vbHRpcFR5cGV8fCJsaW5lIj09PWwudG9vbHRpcFR5cGUpe2NvbnN0e3ZhbHVlOmV9PWE7bGV0IHQ7dD0iYXJlYSI9PT1sLmNoYXJ0VHlwZT9hLmxpbmVDb2xvcjphLmNvbG9yCjtjb25zdCBpPXRoaXMuc3ltYm9sSW5mbygpLHM9bC5jb2xvcnx8bC5saW5lQ29sb3I7by5wdXNoKHt0aXRsZTpsLnRvb2x0aXBUaXRsZXx8aT8ubmFtZXx8IiIsdmFsdWU6bi5mb3JtYXQoZSksY29sb3I6dHx8cyx1bml0Omwuc2hvd1VuaXQ/KDAsdy5wcmVwYXJlQ3VycmVuY3lWYWx1ZSkoe2N1cnJlbmN5X2NvZGU6aT8uY3VycmVuY3lfY29kZSx1bml0X2lkOmk/LnVuaXRfaWQsdmFsdWVfdW5pdF9pZDppPy52YWx1ZV91bml0X2lkLG1lYXN1cmU6aT8ubWVhc3VyZX0pOnZvaWQgMH0pfWVsc2V7Y29uc3R7b3BlbjplLGhpZ2g6dCxsb3c6cixjbG9zZTpsfT1hLGg9ZnVuY3Rpb24oZSx0KXtpZihudWxsPT09dClyZXR1cm47Y29uc3QgaT1lP3QudXA6dC5kb3duO3JldHVybiBrKGkpfShsPj1lLHRoaXMuX21pbmlDaGFydC51cERvd25Db2xvcnMocy5zZXJpZXNUeXBlKCkpKTtbW3kudChudWxsLHtjb250ZXh0OiJpbl9sZWdlbmQifSxpKDk2MDUxMykpLG4uZm9ybWF0KGUpXSxbeS50KG51bGwse2NvbnRleHQ6ImluX2xlZ2VuZCJ9LGkoOTU0NjE0KSksbi5mb3JtYXQodCldLFt5LnQobnVsbCx7Y29udGV4dDoiaW5fbGVnZW5kIn0saSg4Mzk0NjMpKSxuLmZvcm1hdChyKV0sW3kudChudWxsLHtjb250ZXh0OiJpbl9sZWdlbmQifSxpKDIyOTk5NCkpLG4uZm9ybWF0KGwpXV0uZm9yRWFjaCgoKFtlLHRdKT0+e28ucHVzaCh7dmFsdWU6dCx0aXRsZTplLGNvbG9yOmh9KX0pKX1jb25zdCBoPXImJnIuZGF0YUJ5SW5kZXgoZSx0KSx1PXRoaXMudm9sdW1lT3B0aW9ucygpO2lmKGgpe2NvbnN0e3ZhbHVlOmUsY29sb3I6dH09aDtvLnB1c2goe3RpdGxlOnUudG9vbHRpcFRpdGxlPz95LnQobnVsbCx7Y29udGV4dDoiaW5fbGVnZW5kIn0saSg1NjUzMjEpKSx2YWx1ZTpPLmZvcm1hdChlKSxjb2xvcjp1Lmlnbm9yZUNvbG9yP3ZvaWQgMDp0JiYoMCxJLnJlc2V0VHJhbnNwYXJlbmN5KSh0KSx1bml0OnUuc2hvd1VuaXQ/dGhpcy5zeW1ib2xJbmZvKCk/LmN1cnJlbmN5X2NvZGU6dm9pZCAwfSl9cmV0dXJuIG99bGVnZW5kTGFzdEJhckRhdGEoKXtyZXR1cm4gdGhpcy5fbGVnZW5kTGFzdEJhckRhdGF8fCh0aGlzLl9sZWdlbmRMYXN0QmFyRGF0YT1uZXcgXy5XYXRjaGVkT2JqZWN0KG51bGwpLHRoaXMuX29uTGFzdEJhckRhdGFNYXlDaGFuZ2UoKSksdGhpcy5fbGVnZW5kTGFzdEJhckRhdGEucmVhZG9ubHkoKX1zZXNzaW9uQXRUaW1lKGUpe3JldHVybiB0aGlzLl9iYXJCdWlsZGVyTG9hZGVyPy5nZXQoKT8uc2Vzc2lvbihlKT8/bnVsbH1sYXN0VmFsdWUoKXtyZXR1cm4gdGhpcy5fbGFzdFZhbHVlLnJlYWRvbmx5KCl9Zmlyc3RCYXJUaW1lKCl7cmV0dXJuIHRoaXMuX2ZpcnN0QmFyVGltZS5yZWFkb25seSgpfWlzVmlzaWJsZSgpe3JldHVybiB0aGlzLl9pc1Zpc2libGUucmVhZG9ubHkoKX1zeW1ib2xOYW1lKCl7cmV0dXJuIHRoaXMuX3N5bWJvbC5zeW1ib2x9bGluZUNvbG9yKCl7Y29uc3QgZT10aGlzLmN1cnJlbnRTZXJpZXNPcHRpb25zKCk7cmV0dXJuImxpbmUiPT09ZS5jaGFydFR5cGU/ZS5jb2xvcj8/IiI6ImFyZWEiPT09ZS5jaGFydFR5cGU/ZS5saW5lQ29sb3I/PyIiOnZvaWQoMCxuLmFzc2VydCkoITEsYFVuZXhwZWN0ZWQgY2hhcnQgdHlwZTogJHtlLmNoYXJ0VHlwZX1gKX1pc0Rlc3Ryb3llZCgpe3JldHVybiB0aGlzLl9pc0Rlc3Ryb3llZC5yZWFkb25seSgpfV9oYXNPdmVybmlnaHRTZXNzaW9uKCl7cmV0dXJuITF9X2lzTWFpblBsb3QoKXtyZXR1cm4hMX1fb25DaGFydFN0eWxlQ2hhbmdlZCgpe3RoaXMuX3JlY3JlYXRlU2VyaWVzKCksMz09PXRoaXMuX3N0YXR1cy52YWx1ZSgpJiZ0aGlzLnVwZGF0ZURhdGEoITEsITApfV9iZWZvcmVEYXRhUmVhZHkoKXt0aGlzLl9jdXJyZW50bHlTaG93bkRhdGFEZXNjcmlwdGlvbi5zZXRWYWx1ZSh7dGltZWZyYW1lOnRoaXMuX3RpbWVGcmFtZS52YWx1ZSgpLHN5bWJvbDp0aGlzLnN5bWJvbCgpfSl9X2RhdGFVcGRhdGVkKGUsdCxpKXt9X29uU3ltYm9sUmVzb2x2ZWQoZSl7dGhpcy5fYmFyQnVpbGRlckxvYWRlcj8uZGVzdHJveSgpLHRoaXMuX2JhckJ1aWxkZXJMb2FkZXI9bnVsbCx0aGlzLl9zeW1ib2xJbmZvPWUsdGhpcy5fc3ltYm9sSW5mb1dWLnNldFZhbHVlKGUpLHRoaXMuX3N5bWJvbFJlc29sdmVkLmZpcmUodGhpcy5fc3ltYm9sSW5mbyl9X2dldFZpZXdEYXRhKGUsdCl7Y29uc3QgaT1bXSxzPXtzZXJpZXM6W10sdm9sdW1lOml9O2xldCByPS0xLzA7Y29uc3QgYT10aGlzLl9iYXJzKCk7aWYoYS5pc0VtcHR5KCkpcmV0dXJuIHM7Y29uc3Qgbz10aGlzLm1pbkJhckluZGV4KCksbj10aGlzLm1heEJhckluZGV4KCk7aWYobnVsbD09PW98fG51bGw9PT1uKXJldHVybiBzO2NvbnN0IGw9dD8/KFAobyk/bzphLmZpcnN0SW5kZXgoKSksaD1hLmxhc3RJbmRleCgpO2lmKG51bGw9PT1sfHxudWxsPT09aClyZXR1cm4gcztsZXQgdTtjb25zdHtwcmVtYXJrZXRMaW5lQ29sb3I6ZCxwb3N0bWFya2V0TGluZUNvbG9yOl8sbmlnaHRMaW5lQ29sb3I6YyxwcmVtYXJrZXRUb3BDb2xvcjptLHByZW1hcmtldEJvdHRvbUNvbG9yOnAscG9zdG1hcmtldFRvcENvbG9yOnkscG9zdG1hcmtldEJvdHRvbUNvbG9yOmYsbmlnaHRUb3BDb2xvcjpDLG5pZ2h0Qm90dG9tQ29sb3I6Yn09dGhpcy5fZ2V0UHJlUG9zdE1hcmtldENvbG9ycygpLHY9ZT0+e3N3aXRjaChlKXtjYXNlIDA6cmV0dXJuW2QsbSxwXTtjYXNlIDE6cmV0dXJuW18seSxmXTtjYXNlIDM6cmV0dXJuW2MsQyxiXTtkZWZhdWx0OnJldHVybltdfX07Zm9yKGNvbnN0IHQgb2YgYS5yYW5nZUl0ZXJhdG9yKGwsaCkpe2NvbnN0e3ZhbHVlOmEsaW5kZXg6b309dDtpZihvPD1TLlVOUExPVFRBQkxFX1RJTUVfUE9JTlRfSU5ERVgpY29udGludWU7Y29uc3Qgbj10aGlzLl9taW5pQ2hhcnQuaW5kZXhUb1RpbWUobyk7aWYobnVsbD09PW4pe0IubG9nV2FybihgQ291bGRuJ3QgZmluZCB0aW1lIGZvciBpbmRleCAke299YCk7Y29udGludWV9Y29uc3QgbD0hdGhpcy5fbWluaUNoYXJ0LmlzRFdNUmVzb2x1dGlvbigpP00oMWUzKm4pOm47aWYobDw9ciljb250aW51ZTtyPWwsdT1sO2NvbnN0IGg9dGhpcy5fYmFySW5kZXhTZXNzaW9uKG8pCjtzLmxhc3RCYXJTZXNzaW9uPWgscy5zZXJpZXMucHVzaChlKGwsYSwuLi52KGgpKSk7Y29uc3QgZD1hWzRdPj1hWzFdP3RoaXMuX29yaWdpbmFsVm9sdW1lT3B0aW9ucy51cENvbG9yOnRoaXMuX29yaWdpbmFsVm9sdW1lT3B0aW9ucy5kb3duQ29sb3I7aS5wdXNoKHt0aW1lOmwsdmFsdWU6YVs1XSxjb2xvcjpkfSl9aWYodGhpcy5faXNNYWluUGxvdCgpJiZ2b2lkIDA9PT10JiZ2b2lkIDAhPT11KXN3aXRjaCgoMCxnLmNvbnZlcnRUaW1lRnJhbWVUb1N0cikodGhpcy5fdGltZUZyYW1lLnZhbHVlKCkpKXtjYXNlIjFEIjpzLmZpeExlZnRFZGdlVW50aWw9dSs4NjQwMC0xO2JyZWFrO2Nhc2UiTEFTVFNFU1NJT04iOntsZXQgZT1bXSx0PXUrODc4NDAtMTtjb25zdCBpPXRoaXMuX2dlbmVyYXRlQmFyc1RvU2Vzc2lvbkVuZCgpO2k/Lmxlbmd0aCYmbnVsbCE9PW4mJm4+aCYmKGU9aSx0PWlbaS5sZW5ndGgtMV0udGltZSkscy5maXhMZWZ0RWRnZVVudGlsPXQscy53aGl0ZXNwYWNlcz1lfX1yZXR1cm4gc31fYnVpbGRWaWV3RGF0YShlKXtzd2l0Y2godGhpcy5fb3JpZ2luYWxTZXJpZXNPcHRpb25zLmNoYXJ0VHlwZSl7Y2FzZSJwcmV0dHktaGlzdG9ncmFtIjpjYXNlImhpc3RvZ3JhbSI6e2NvbnN0IHQ9dGhpcy5fY3VycmVudFNlcmllc09wdGlvbnM7cmV0dXJuIHRoaXMuX2dldFZpZXdEYXRhKCgoZSxpKT0+ZnVuY3Rpb24oZSx0LGkscyl7Y29uc3Qgcj10WzRdO3JldHVybnt0aW1lOmUsY29sb3I6cj4wP2k6cyx2YWx1ZTpyfX0oZSxpLHQudXBDb2xvcix0LmRvd25Db2xvcikpLGUpfWNhc2UibGluZSI6e2NvbnN0IHQ9dGhpcy5fY3VycmVudFNlcmllc09wdGlvbnM7cmV0dXJuIHRoaXMuX2dldFZpZXdEYXRhKEwuYmluZChudWxsLHQuc291cmNlUGxvdEluZGV4Pz80KSxlKX1jYXNlImFyZWEiOmNhc2UiYmFzZWxpbmUiOnJldHVybiB0aGlzLl9nZXRWaWV3RGF0YSh4LGUpO2Nhc2UiYmFycyI6Y2FzZSJjYW5kbGVzdGlja3MiOnJldHVybiB0aGlzLl9nZXRWaWV3RGF0YShULGUpfX1fc2V0QWRkaXRpb25hbFNlcmllc0RhdGEoZSl7fV91cGRhdGVBZGRpdGlvbmFsU2VyaWVzRGF0YShlKXt9X2JhckluZGV4U2Vzc2lvbihlKXt9X29uU3ltYm9sRXJyb3IoZSl7Qi5sb2dXYXJuKCgwLEMuZW5jb2RlRXh0ZW5kZWRTeW1ib2xPckdldFNpbXBsZVN5bWJvbFN0cmluZykodGhpcy5fc3ltYm9sKSsiIHN5bWJvbCByZXNvbHZpbmcgZXJyb3I6ICIrZSksdGhpcy51cGRhdGVEYXRhKCEwKSx0aGlzLl9zdGF0dXMuc2V0VmFsdWUoMSl9X29uU3ltYm9sTm90UGVybWl0dGVkKCl7dGhpcy5fbm9EYXRhLnNldFZhbHVlKDEpfV9vbkludHJhZGF5U3ByZWFkTm90UGVybWl0dGVkKCl7dGhpcy5fc3RhdHVzLnNldFZhbHVlKDIpLHRoaXMuX25vRGF0YS5zZXRWYWx1ZSg0KSx0aGlzLl9pc01haW5QbG90KCkmJnRoaXMuX21pbmlDaGFydC5zaG93TWVzc2FnZSh5LnQobnVsbCx7Y29udGV4dDoibWluaSBjaGFydCBlcnJvciBtZXNzYWdlIn0saSg4MjkyNzMpKSl9X29uU3ltYm9sR3JvdXBOb3RQZXJtaXR0ZWQoKXt0aGlzLl9ub0RhdGEuc2V0VmFsdWUoMSl9X29uU3ltYm9sSW52YWxpZCgpe3RoaXMuX25vRGF0YS5zZXRWYWx1ZSgwKX1fb25SZXNvbHV0aW9uT3JFeGNoYW5nZU5vdFBlcm1pdHRlZEVycm9yKCl7Qi5sb2dFcnJvcigoMCxDLmVuY29kZUV4dGVuZGVkU3ltYm9sT3JHZXRTaW1wbGVTeW1ib2xTdHJpbmcpKHRoaXMuX3N5bWJvbCkrIiByZXNvbHV0aW9uIG9yIGV4Y2hhbmdlIHBlcm1pc3Npb24gZXJyb3IiKSx0aGlzLnVwZGF0ZURhdGEoITApLHRoaXMuX2lzTWFpblBsb3QoKSYmdGhpcy5fbWluaUNoYXJ0LnNob3dNZXNzYWdlKHkudChudWxsLHtjb250ZXh0OiJtaW5pIGNoYXJ0IGVycm9yIG1lc3NhZ2UifSxpKDI4NTg5MykpKSxzZXRUaW1lb3V0KCgoKT0+dGhpcy5fbWluaUNoYXJ0LnVwZGF0ZUF2YWlsYWJsZVRpbWVmcmFtZXMoKSksMWUzKX1fb25EYXRhRXJyb3IoKXsxIT09dGhpcy5fc3RhdHVzLnZhbHVlKCkmJnRoaXMuX3N0YXR1cy5zZXRWYWx1ZSgyKSx0aGlzLl9ub0RhdGEuc2V0VmFsdWUoMyl9X29uRGF0YUNvbXBsZXRlZCgpe3RoaXMuX3N0YXR1cy5zZXRWYWx1ZSgzKSx0aGlzLl9ub0RhdGEuc2V0VmFsdWUoMD09PXRoaXMuX2JhcnMoKS5zaXplKCk/MjpudWxsKSwyPT09dGhpcy5fbm9EYXRhLnZhbHVlKCkmJnRoaXMuX2lzTWFpblBsb3QoKSYmdGhpcy5fc2hvd05vRGF0YU1lc3NhZ2UoKX1fc2hvd05vRGF0YU1lc3NhZ2UoKXt0aGlzLl9taW5pQ2hhcnQuc2hvd01lc3NhZ2UoeS50KG51bGwse2NvbnRleHQ6Im1pbmkgY2hhcnQgZXJyb3IgbWVzc2FnZSJ9LGkoMjk5MTUzKSkpfWFzeW5jIF9vbkRhdGEoZSx0KXtudWxsIT09dGhpcy5taW5CYXJJbmRleCgpJiZudWxsIT09dGhpcy5tYXhCYXJJbmRleCgpJiYodGhpcy51cGRhdGVEYXRhKCExLHZvaWQgMCxlKSwzPT09dGhpcy5fc3RhdHVzLnZhbHVlKCkmJnRoaXMuX25vRGF0YS5zZXRWYWx1ZSgwPT09dGhpcy5fYmFycygpLnNpemUoKT8yOm51bGwpKX1fdXBkYXRlU2VyaWVzT3B0aW9ucyhlKXt0aGlzLl9vcmlnaW5hbFNlcmllc09wdGlvbnM9KDAsYS5kZWZhdWx0KSh0aGlzLl9vcmlnaW5hbFNlcmllc09wdGlvbnMsZSksdGhpcy5fY3VycmVudFNlcmllc09wdGlvbnM9KDAsYS5kZWZhdWx0KSh0aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucyx0aGlzLl9vcmlnaW5hbFNlcmllc09wdGlvbnMpLHRoaXMuX3VwZGF0ZVNlcmllc0NvbG9yKCksdm9pZCAwIT09dGhpcy5fY3VycmVudFNlcmllc09wdGlvbnMudmlzaWJsZSYmdGhpcy5faXNWaXNpYmxlLnNldFZhbHVlKHRoaXMuX2N1cnJlbnRTZXJpZXNPcHRpb25zLnZpc2libGUpfV9yZWNyZWF0ZVNlcmllcygpe2NvbnN0IGU9dGhpcy5fbWluaUNoYXJ0LndpZGdldCgpO2UucmVtb3ZlU2VyaWVzKHRoaXMuX3NlcmllcyksZS5yZW1vdmVTZXJpZXModGhpcy5fdm9sdW1lKSx0aGlzLl93aGl0ZXNwYWNlcyYmKGUucmVtb3ZlU2VyaWVzKHRoaXMuX3doaXRlc3BhY2VzKSx0aGlzLl93aGl0ZXNwYWNlcz1udWxsKSx0aGlzLl9zZXJpZXM9dGhpcy5fY3JlYXRlU2VyaWVzKCksCnRoaXMuX3ZvbHVtZT10aGlzLl9jcmVhdGVWb2x1bWUoKSx0aGlzLl9jaGFydFR5cGUuc2V0VmFsdWUodGhpcy5fY3VycmVudFNlcmllc09wdGlvbnMuY2hhcnRUeXBlKSx0aGlzLl9zZXJpZXNDaGFuZ2VkLmZpcmUoKX1faW5pdEJhckJ1aWxkZXIoZSl7cmV0dXJuIG51bGw9PT10aGlzLl9iYXJCdWlsZGVyTG9hZGVyJiYodGhpcy5fYmFyQnVpbGRlckxvYWRlcj1uZXcgVi5Bc3luY1Jlc291cmNlV3JhcHBlcihQcm9taXNlLmFsbChbaS5lKDEyMTgxKSxpLmUoNTU5NjkpLGkuZSg2MzE2MCksaS5lKDkzMjc5KV0pLnRoZW4oaS5iaW5kKGksMTY0NDc1KSkudGhlbigodD0+bmV3IHQuTWluaUNoYXJ0QmFyQnVpbGRlcihlKSkpKSksdGhpcy5fYmFyQnVpbGRlckxvYWRlci5wcm9taXNlKCl9X2ZpcnN0QW5kTGFzdFZhbHVlc0ZvclNlcmllc0NvbG9yKGUsdCl7aWYobnVsbD09PXRoaXMuX2ZpcnN0VmFsdWVDYWNoZXx8IXRoaXMuX2RhdGFMZW5ndGhJbmZvKXJldHVybiBudWxsO2lmKCJsaW5lIiE9PWUmJiJhcmVhIiE9PWUpcmV0dXJuIG51bGw7Y29uc3QgaT1udWxsPT09dGhpcy5fZGF0YUxlbmd0aEluZm8ubGFzdEJhckluZGV4P251bGw6dGhpcy5fc2VyaWVzLmRhdGFCeUluZGV4KHRoaXMuX2RhdGFMZW5ndGhJbmZvLmxhc3RCYXJJbmRleCk7cmV0dXJuIG51bGwhPT1pfHx0Pyh0PXQ/P2ksW3RoaXMuX2ZpcnN0VmFsdWVDYWNoZSx0LnZhbHVlXSk6bnVsbH1fdXBkYXRlU2VyaWVzQ29sb3IoZSl7Y29uc3QgdD10aGlzLl9vcmlnaW5hbFNlcmllc09wdGlvbnMsaT10LmNoYXJ0VHlwZSxzPXRoaXMuX2ZpcnN0QW5kTGFzdFZhbHVlc0ZvclNlcmllc0NvbG9yKGksZSk7aWYobnVsbD09PXMpcmV0dXJuO2NvbnN0W3IsYV09cztpZigibGluZSI9PT1pfHwiYXJlYSI9PT1pKXtjb25zdCBlPSJsaW5lIj09PWk/YT49cjphPnI7aWYoImFyZWEiPT09aSl7Y29uc3QgaT10aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucztlPyhpLmxpbmVDb2xvcj10Lmdyb3dpbmdMaW5lQ29sb3J8fHQubGluZUNvbG9yLGkudG9wQ29sb3I9dC5ncm93aW5nVG9wQ29sb3J8fHQudG9wQ29sb3IsaS5ib3R0b21Db2xvcj10Lmdyb3dpbmdCb3R0b21Db2xvcnx8dC5ib3R0b21Db2xvcik6KGkubGluZUNvbG9yPXQuZmFsbGluZ0xpbmVDb2xvcnx8dC5saW5lQ29sb3IsaS50b3BDb2xvcj10LmZhbGxpbmdUb3BDb2xvcnx8dC50b3BDb2xvcixpLmJvdHRvbUNvbG9yPXQuZmFsbGluZ0JvdHRvbUNvbG9yfHx0LmJvdHRvbUNvbG9yKSxpLmxpbmVDb2xvcnx8KGkubGluZUNvbG9yPXRoaXMuX3Nlcmllcy5vcHRpb25zKCkubGluZUNvbG9yKSx0aGlzLl9zZXJpZXMuYXBwbHlPcHRpb25zKHt0b3BDb2xvcjppLnRvcENvbG9yLGJvdHRvbUNvbG9yOmkuYm90dG9tQ29sb3IsbGluZUNvbG9yOmkubGluZUNvbG9yfSksdGhpcy5fZGlyZWN0aW9uQmFzZWRDb2xvci5zZXRWYWx1ZShpLmxpbmVDb2xvcil9ZWxzZSBpZigibGluZSI9PT1pKXtjb25zdHtjb2xvcjppLGdyb3dpbmdDb2xvcjpzPWksZmFsbGluZ0NvbG9yOnI9aX09dCxhPXRoaXMuX2N1cnJlbnRTZXJpZXNPcHRpb25zO2EuY29sb3I9ZT9zOnIsYS5jb2xvcnx8KGEuY29sb3I9dGhpcy5fc2VyaWVzLm9wdGlvbnMoKS5jb2xvciksdGhpcy5fc2VyaWVzLmFwcGx5T3B0aW9ucyh7Y29sb3I6YS5jb2xvcn0pLHRoaXMuX2RpcmVjdGlvbkJhc2VkQ29sb3Iuc2V0VmFsdWUoYS5jb2xvcil9fX1fcHJpY2VGb3JtYXQoKXtjb25zdCBlPXRoaXMuX3N5bWJvbEluZm8/P3RoaXMuX21pbmlDaGFydC5tYWluUGxvdCgpLnN5bWJvbEluZm8oKTtyZXR1cm4gbnVsbD09PWU/bnVsbDpGKGUpfV9vbkxhc3RCYXJEYXRhTWF5Q2hhbmdlKCl7aWYoIXRoaXMuX2xlZ2VuZExhc3RCYXJEYXRhKXJldHVybjtjb25zdCBlPXRoaXMuX21pbmlDaGFydC5tYWluUGxvdCgpLmxhc3RCYXJJbmRleCgpO251bGwhPT1lP3RoaXMuX2xlZ2VuZExhc3RCYXJEYXRhLnNldFZhbHVlKHRoaXMuZ2V0TGVnZW5kRGF0YShlLHIuTWlzbWF0Y2hEaXJlY3Rpb24uTmVhcmVzdExlZnQpKTp0aGlzLl9sZWdlbmRMYXN0QmFyRGF0YS5zZXRWYWx1ZShudWxsKX1fY3JlYXRlU2VyaWVzKCl7Y29uc3QgZT10aGlzLl9taW5pQ2hhcnQud2lkZ2V0KCk7bGV0IHQ7c3dpdGNoKHRoaXMuX2N1cnJlbnRTZXJpZXNPcHRpb25zLmNoYXJ0VHlwZSl7Y2FzZSJsaW5lIjp0PWUuYWRkU2VyaWVzKHIuTGluZVNlcmllcyx0aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucyk7YnJlYWs7Y2FzZSJoaXN0b2dyYW0iOnQ9ZS5hZGRTZXJpZXMoci5IaXN0b2dyYW1TZXJpZXMsdGhpcy5fY3VycmVudFNlcmllc09wdGlvbnMpO2JyZWFrO2Nhc2UiYXJlYSI6dD1lLmFkZFNlcmllcyhyLkFyZWFTZXJpZXMsdGhpcy5fY3VycmVudFNlcmllc09wdGlvbnMpO2JyZWFrO2Nhc2UiYmFycyI6dD1lLmFkZFNlcmllcyhyLkJhclNlcmllcyx0aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucyk7YnJlYWs7Y2FzZSJjYW5kbGVzdGlja3MiOnQ9ZS5hZGRTZXJpZXMoci5DYW5kbGVzdGlja1Nlcmllcyx0aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucyk7YnJlYWs7Y2FzZSJiYXNlbGluZSI6dD1lLmFkZFNlcmllcyhyLkJhc2VsaW5lU2VyaWVzLHRoaXMuX2N1cnJlbnRTZXJpZXNPcHRpb25zKTticmVhaztjYXNlInByZXR0eS1oaXN0b2dyYW0iOntjb25zdCBpPW5ldyBELlByZXR0eUhpc3RvZ3JhbVNlcmllczt0PWUuYWRkQ3VzdG9tU2VyaWVzKGksdGhpcy5fY3VycmVudFNlcmllc09wdGlvbnMpfX1yZXR1cm4gbnVsbD09PXRoaXMuX29yaWdpbmFsU2NhbGVNb2RlJiYodGhpcy5fb3JpZ2luYWxTY2FsZU1vZGU9dC5wcmljZVNjYWxlKCkub3B0aW9ucygpLm1vZGUpLHRoaXMuX2lzVmlzaWJsZS5zZXRWYWx1ZSh0Lm9wdGlvbnMoKS52aXNpYmxlKSx0LnByaWNlU2NhbGUoKS5hcHBseU9wdGlvbnMoe3NjYWxlTWFyZ2luczp0aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucy5zY2FsZU1hcmdpbnN9KSx0fV9jcmVhdGVWb2x1bWUoKXtjb25zdCBlPXRoaXMuX21pbmlDaGFydC53aWRnZXQoKS5hZGRTZXJpZXMoci5IaXN0b2dyYW1TZXJpZXMsdGhpcy5fb3JpZ2luYWxWb2x1bWVPcHRpb25zKQo7cmV0dXJuIGUucHJpY2VTY2FsZSgpLmFwcGx5T3B0aW9ucyh7c2NhbGVNYXJnaW5zOnRoaXMuX29yaWdpbmFsVm9sdW1lT3B0aW9ucy5zY2FsZU1hcmdpbnN9KSxlfV9hcHBseVByaWNlU2NhbGVGb3JtYXR0ZXIoKXtpZigicHJpY2VGb3JtYXQiaW4gdGhpcy5fb3JpZ2luYWxTZXJpZXNPcHRpb25zKXJldHVybjtjb25zdCBlPXRoaXMuX3ByaWNlRm9ybWF0KCk7ZSYmKHRoaXMuX2N1cnJlbnRTZXJpZXNPcHRpb25zLnByaWNlRm9ybWF0PWUsdGhpcy5fc2VyaWVzLmFwcGx5T3B0aW9ucyh0aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucykpfV91cGRhdGVTZXNzaW9uSWQoKXt0aGlzLl9pc0xhc3RTZXNzaW9uSW50ZXJ2YWwudmFsdWUoKT90aGlzLl9zZXNzaW9uSWQuc2V0VmFsdWUodGhpcy5faGFzT3Zlcm5pZ2h0U2Vzc2lvbigpPyIyNGgiOiJleHRlbmRlZCIpOnRoaXMuX3Nlc3Npb25JZC5zZXRWYWx1ZSh0aGlzLl9zeW1ib2wuc2Vzc2lvbil9X3VwZGF0ZVdoaXRlc3BhY2VzKGUpe3ZvaWQgMD09PWV8fDA9PT1lLmxlbmd0aD9udWxsIT09dGhpcy5fd2hpdGVzcGFjZXMmJih0aGlzLl9taW5pQ2hhcnQud2lkZ2V0KCkucmVtb3ZlU2VyaWVzKHRoaXMuX3doaXRlc3BhY2VzKSx0aGlzLl93aGl0ZXNwYWNlcz1udWxsKToobnVsbD09PXRoaXMuX3doaXRlc3BhY2VzJiYodGhpcy5fd2hpdGVzcGFjZXM9dGhpcy5fbWluaUNoYXJ0LndpZGdldCgpLmFkZFNlcmllcyhyLkxpbmVTZXJpZXMpKSx0aGlzLl93aGl0ZXNwYWNlc0RhdGE9bnVsbD09PXRoaXMuX3doaXRlc3BhY2VzP3ZvaWQgMDplLHRoaXMuX3doaXRlc3BhY2VzLnNldERhdGEoZSkpfV9nZW5lcmF0ZUJhcnNUb1Nlc3Npb25FbmQoKXtjb25zdCBlPXRoaXMuc3ltYm9sSW5mbygpLHQ9dGhpcy5fYmFycygpLmxhc3RJbmRleCgpLGk9dGhpcy5tYXhCYXJJbmRleCgpO2lmKGUmJnQmJmkmJnRoaXMuX2lzTGFzdFNlc3Npb25JbnRlcnZhbC52YWx1ZSgpKXtsZXQgZT10aGlzLl9taW5pQ2hhcnQuaW5kZXhUb1RpbWUodCk7aWYobnVsbD09PWUpcmV0dXJuO2NvbnN0IHM9W107Zm9yKGxldCByPXQrMTtyPD1pO3IrPTEpe2NvbnN0IHQ9dGhpcy5fbWluaUNoYXJ0LmluZGV4VG9UaW1lKHIpPz9lKzYwO3MucHVzaCh7dGltZTpNKDFlMyp0KX0pLGU9dH1yZXR1cm4gc319X2dldFByZVBvc3RNYXJrZXRDb2xvcnMoKXtpZighdGhpcy5faXNNYWluUGxvdCgpKXJldHVybnt9O2xldCBlLHQsaSxzLHIsYTtjb25zdCBvPXRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucy5wcmVtYXJrZXRMaW5lQ29sb3Isbj10aGlzLl9vcmlnaW5hbFNlcmllc09wdGlvbnMucG9zdG1hcmtldExpbmVDb2xvcixoPXRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucy5uaWdodExpbmVDb2xvcjtpZigiYXJlYSI9PT10aGlzLl9vcmlnaW5hbFNlcmllc09wdGlvbnMuY2hhcnRUeXBlJiZvJiZuJiZoKXtjb25zdCB1PXRoaXMuX2N1cnJlbnRTZXJpZXNPcHRpb25zLGQ9dS5ncm93aW5nVG9wQ29sb3J8fHUuZmFsbGluZ1RvcENvbG9yfHx1LnRvcENvbG9yO2lmKHZvaWQgMCE9PWQpe2NvbnN0IHQ9KDAsbC50cnlQYXJzZVJnYmEpKGQpO2lmKG51bGwhPT10KXtjb25zdCBzPXRbM107ZT0oMCxJLmFwcGx5QWxwaGEpKG8scyksaT0oMCxJLmFwcGx5QWxwaGEpKG4scykscj0oMCxJLmFwcGx5QWxwaGEpKGgscyl9fWNvbnN0IF89dS5ncm93aW5nQm90dG9tQ29sb3J8fHUuZmFsbGluZ0JvdHRvbUNvbG9yfHx1LmJvdHRvbUNvbG9yO2lmKHZvaWQgMCE9PV8pe2NvbnN0IGU9KDAsbC50cnlQYXJzZVJnYmEpKF8pO2lmKG51bGwhPT1lKXtjb25zdCBpPWVbM107dD0oMCxJLmFwcGx5QWxwaGEpKG8saSkscz0oMCxJLmFwcGx5QWxwaGEpKG4saSksYT0oMCxJLmFwcGx5QWxwaGEpKGgsaSl9fX1yZXR1cm57cHJlbWFya2V0TGluZUNvbG9yOm8scG9zdG1hcmtldExpbmVDb2xvcjpuLG5pZ2h0TGluZUNvbG9yOmgscHJlbWFya2V0VG9wQ29sb3I6ZSxwb3N0bWFya2V0VG9wQ29sb3I6aSxuaWdodFRvcENvbG9yOnIscHJlbWFya2V0Qm90dG9tQ29sb3I6dCxwb3N0bWFya2V0Qm90dG9tQ29sb3I6cyxuaWdodEJvdHRvbUNvbG9yOmF9fV90aW1lU2NhbGVTaXplQ2hhbmdlZCgpe3RoaXMuX2lzTWFpblBsb3QoKSYmUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKCk9PnRoaXMuX21pbmlDaGFydC5maXRDb250ZW50KCkpKX19fX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/73412.4c102818ffef73161fe1.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.947Z","timestamp":1785120633947,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/73412.4c102818ffef73161fe1.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-487f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b2dd8184362243974287f34a3e165965\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":18559,"size_decoded":5748,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (8881)","md5":"422636023d55690609fce8127ace82e2","sha1":"f067bcdceb83c6ad56ea24a44d96a430265afe46","sha256":"0d6b57c0d510f7d333f8dd28d138512ba9e093cb8d2a857e94e4699f10896e61","sha512":"dbcae425b76e785d30b99b63a5bb3420cd65b99541f1cff59128488e74741414af26b0e8f212a6f2f21e52abe80011e4a9dd9d10f42a3af5125b6a2354e40975","ssdeep":"384:nhjXdYS4gnfR8o1Yys/z02D8EIomJHYIjVAUc:hjtYHmJxO","tlshash":"3d82873cf9d0e527b6eb99ff4f81e6524959a843b73b7fc27134d2c02419c4b2122a1a","first_seen":"2026-07-23T22:46:45.888096Z","last_seen":"2026-07-27T06:01:16.203799Z","times_seen":25,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNzM0MTJdLHsxMTUyOTMobyxyLGwpe2wuZChyLHtmb3JjZUxUUlN0cjooKT0+ZCxpc1J0bDooKT0+dCxzZXREb2N1bWVudERpckdldHRlcjooKT0+YyxzdHJpcExUUk1hcmtzOigpPT5pfSk7bCgzMjA0MDMpO2xldCBlPSgpPT5udWxsO2Z1bmN0aW9uIGMobyl7ZT1vfWNvbnN0IHQ9KCk9PiJydGwiPT09ZnVuY3Rpb24oKXtjb25zdCBvPWUoKTtpZihudWxsPT09byl0aHJvdyBuZXcgRXJyb3IoIkRvY3VtZW50IGRpcmVjdGlvbiBnZXR0ZXIgaXMgbm90IHNldCwgY2FsbCBzZXREb2N1bWVudERpckdldHRlciB0byBzZXQgaXQiKTtyZXR1cm4gb30oKSxhPSLigKoiLG49IuKArCIsZz1uZXcgUmVnRXhwKCLigI584oCPfOKAqnzigKt84oCsIiwiZyIpO2Z1bmN0aW9uIGkobyl7cmV0dXJuIiIhPT1vJiZ0KCkmJm51bGwhPW8/by5yZXBsYWNlKGcsIiIpOm99ZnVuY3Rpb24gZChvKXtyZXR1cm4iIiE9PW8mJnQoKSYmbnVsbCE9bz9hK28rbjpvfXZhciBiOyFmdW5jdGlvbihvKXtvLkxUUj0ibHRyIixvLlJUTD0icnRsIixvLlVOS05PV049IiJ9KGJ8fChiPXt9KSl9LDExMTk1MyhvLHIsbCl7bC5kKHIse2NvbXBhcmVTeW1ib2xzOigpPT52LGRlY29kZUV4dGVuZGVkU3ltYm9sOigpPT51LGVuY29kZUV4dGVuZGVkU3ltYm9sOigpPT5jLGVuY29kZUV4dGVuZGVkU3ltYm9sU3RydWN0dXJhbDooKT0+ZCxleHRyYWN0RXh0ZW5kZWRTeW1ib2w6KCk9PnAsaXNFbmNvZGVkRXh0ZW5kZWRTeW1ib2w6KCk9PmIsaXNTdHVkeVN5bWJvbDooKT0+bixyZXBsYWNlRXh0ZW5kZWRTeW1ib2w6KCk9Pm0sdW53cmFwU2ltcGxlU3ltYm9sOigpPT55fSk7dmFyIGU9bCg2MDE4NDEpO2Z1bmN0aW9uIGMobyl7cmV0dXJuIj0iK0pTT04uc3RyaW5naWZ5KHQobykpfWZ1bmN0aW9uIHQobyl7cmV0dXJuIE9iamVjdC5rZXlzKG8pLnNvcnQoKS5yZWR1Y2UoKChyLGwpPT4odF0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9bbF0pP3JbbF09dChvW2xdKTpyW2xdPW9bbF0scikpLHt9KX1mdW5jdGlvbiBhKG8pe3JldHVybigwLGUuaXNTdHJpbmcpKG8pfWZ1bmN0aW9uIG4obyl7cmV0dXJuIWEobykmJiJpbnB1dHMiaW4gb31mdW5jdGlvbiBnKG8pe3JldHVybiFhKG8pJiYicmVwbGF5ImluIG99ZnVuY3Rpb24gaShvKXtyZXR1cm4gZyhvKXx8ZnVuY3Rpb24obyl7cmV0dXJuIWEobykmJmcoby5zeW1ib2wpfShvKX1mdW5jdGlvbiBkKG8pe3JldHVybiBuKG8pfHxpKG8pfHxvLnNlc3Npb258fG8uYWRqdXN0bWVudHx8b1siY3VycmVuY3ktaWQiXXx8b1sidW5pdC1pZCJdfHxvLm1ldHJpYz9jKG8pOm8uc3ltYm9sfWZ1bmN0aW9uIGIobyl7cmV0dXJuIj0iPT09b1swXX1mdW5jdGlvbiB1KG8pe2lmKCFiKG8pKXJldHVybntzeW1ib2w6b307dHJ5e3JldHVybiBKU09OLnBhcnNlKG8uc2xpY2UoMSkpfWNhdGNoKHIpe3JldHVybntzeW1ib2w6b319fWZ1bmN0aW9uIHkobyl7cmV0dXJuIGEobyk/bzp5KG8uc3ltYm9sKX1mdW5jdGlvbiBwKG8pe2lmKGEobykpcmV0dXJue3N5bWJvbDpvfTtsZXQgcj1vO2Zvcig7IWEoci5zeW1ib2wpOylyPXIuc3ltYm9sO3JldHVybiByfWNvbnN0IHM9WyJzeW1ib2wiLCJzZXNzaW9uIiwidW5pdC1pZCIsImN1cnJlbmN5LWlkIiwibWV0cmljIiwiYWRqdXN0bWVudCIsImJhY2thZGp1c3RtZW50Iiwic2V0dGxlbWVudC1hcy1jbG9zZSJdO2Z1bmN0aW9uIHYobyxyKXtyZXR1cm4gcy5ldmVyeSgobD0+b1tsXT09PXJbbF0pKX1mdW5jdGlvbiBtKG8scil7bGV0IGw9bztmb3IoOyFhKGwuc3ltYm9sKTspbD1sLnN5bWJvbDtsLnN5bWJvbD1yfX0sMjM0OTY0KG8scixsKXthc3luYyBmdW5jdGlvbiBlKG8scil7Y29uc3QgZT1hd2FpdCBQcm9taXNlLmFsbChbbC5lKDI4ODMxKSxsLmUoODQzMDYpLGwuZSgyOTI5NiksbC5lKDUyMzk2KSxsLmUoNjAwNjIpLGwuZSgyMDM1NCksbC5lKDEzNDkyKSxsLmUoMzc3NDYpLGwuZSgxMjM4NSksbC5lKDgxMDcyKSxsLmUoOTQyMzIpLGwuZSgxOTU5NSksbC5lKDE5Nzg3KSxsLmUoODU3OSksbC5lKDE3MDg3KSxsLmUoNTczMDApLGwuZSgxMjA1MSksbC5lKDg5NTU4KSxsLmUoMTAzNjYpLGwuZSg0MDkxNCksbC5lKDkwOTYwKSxsLmUoODc3NDApLGwuZSg3ODg5OSksbC5lKDY3MjEyKSxsLmUoODA5MTUpLGwuZSgxNTM0KSxsLmUoMjgxNzYpLGwuZSgzOTYwOSksbC5lKDU1MjI5KSxsLmUoNjUxMDApLGwuZSg0MjcwNildKS50aGVuKGwuYmluZChsLDUwNjI3NSkpO3JldHVybiBlLnNob3dTaW1wbGVEaWFsb2cobyxlLmNvbmZpcm1Nb2R1bGUscil9YXN5bmMgZnVuY3Rpb24gYyhvLHIpe2NvbnN0IGU9YXdhaXQgUHJvbWlzZS5hbGwoW2wuZSgyODgzMSksbC5lKDg0MzA2KSxsLmUoMjkyOTYpLGwuZSg1MjM5NiksbC5lKDYwMDYyKSxsLmUoMjAzNTQpLGwuZSgxMzQ5MiksbC5lKDM3NzQ2KSxsLmUoMTIzODUpLGwuZSg4MTA3MiksbC5lKDk0MjMyKSxsLmUoMTk1OTUpLGwuZSgxOTc4NyksbC5lKDg1NzkpLGwuZSgxNzA4NyksbC5lKDU3MzAwKSxsLmUoMTIwNTEpLGwuZSg4OTU1OCksbC5lKDEwMzY2KSxsLmUoNDA5MTQpLGwuZSg5MDk2MCksbC5lKDg3NzQwKSxsLmUoNzg4OTkpLGwuZSg2NzIxMiksbC5lKDgwOTE1KSxsLmUoMTUzNCksbC5lKDI4MTc2KSxsLmUoMzk2MDkpLGwuZSg1NTIyOSksbC5lKDY1MTAwKSxsLmUoNDI3MDYpXSkudGhlbihsLmJpbmQobCw1MDYyNzUpKTtyZXR1cm4gZS5zaG93U2ltcGxlRGlhbG9nKG8sZS53YXJuaW5nTW9kdWxlLHIpfWwuZChyLHtzaG93Q29uZmlybTooKT0+ZSxzaG93V2FybmluZzooKT0+Y30pfSwxMTM1NjcobyxyLGwpe2wuZChyLHtwcmVwYXJlQ3VycmVuY3lWYWx1ZTooKT0+Y30pO3ZhciBlPWwoMTg1MjcxKTtmdW5jdGlvbiBjKG8pe2xldCByPVtdO2NvbnN0IGM9ZnVuY3Rpb24obyl7c3dpdGNoKG8pe2Nhc2UiUENUIjpjYXNlIlBDVFBBUiI6cmV0dXJuIiUiO2Nhc2UiUENUR0RQIjpyZXR1cm4gZS50KG51bGwse2NvbnRleHQ6Il9tYXhfbGVuXzkifSxsKDU1ODQxMikpCjtjYXNlIkRFR0MiOnJldHVybiLihIMiO2RlZmF1bHQ6cmV0dXJuIG99fShvLmN1cnJlbmN5X2NvZGV8fG8udmFsdWVfdW5pdF9pZHx8IiIpO3N3aXRjaChvLm1lYXN1cmUpe2Nhc2UicHJpY2UiOmNhc2UidW5pdCI6cj1bYyxvLnVuaXRfaWRdO2JyZWFrO2RlZmF1bHQ6cj1bY119cmV0dXJuIHIuZmlsdGVyKEJvb2xlYW4pLmpvaW4oIuKAiS/igIkiKX19LDMxNzY2MyhvKXsKby5leHBvcnRzPUpTT04ucGFyc2UoJ3siY29sb3Itd2hpdGUiOiIjZmZmZmZmIiwiY29sb3ItYmxhY2siOiIjMDAwMDAwIiwiY29sb3ItdHJhbnNwYXJlbnQiOiIjMDAwMDAwMDAiLCJjb2xvci1jb2xkLWdyYXktNTAiOiIjRjlGOUY5IiwiY29sb3ItY29sZC1ncmF5LTEwMCI6IiNGMkYyRjIiLCJjb2xvci1jb2xkLWdyYXktMTUwIjoiI0VCRUJFQiIsImNvbG9yLWNvbGQtZ3JheS0yMDAiOiIjREJEQkRCIiwiY29sb3ItY29sZC1ncmF5LTI1MCI6IiNDOUM5QzkiLCJjb2xvci1jb2xkLWdyYXktMzAwIjoiI0I4QjhCOCIsImNvbG9yLWNvbGQtZ3JheS0zNTAiOiIjQThBOEE4IiwiY29sb3ItY29sZC1ncmF5LTQwMCI6IiM5QzlDOUMiLCJjb2xvci1jb2xkLWdyYXktNDUwIjoiIzhDOEM4QyIsImNvbG9yLWNvbGQtZ3JheS01MDAiOiIjODA4MDgwIiwiY29sb3ItY29sZC1ncmF5LTU1MCI6IiM3MDcwNzAiLCJjb2xvci1jb2xkLWdyYXktNjAwIjoiIzYzNjM2MyIsImNvbG9yLWNvbGQtZ3JheS02NTAiOiIjNTc1NzU3IiwiY29sb3ItY29sZC1ncmF5LTcwMCI6IiM0QTRBNEEiLCJjb2xvci1jb2xkLWdyYXktNzUwIjoiIzNEM0QzRCIsImNvbG9yLWNvbGQtZ3JheS04MDAiOiIjMkUyRTJFIiwiY29sb3ItY29sZC1ncmF5LTg1MCI6IiMxRjFGMUYiLCJjb2xvci1jb2xkLWdyYXktOTAwIjoiIzBGMEYwRiIsImNvbG9yLWNvbGQtZ3JheS05NTAiOiIjMDAwMDAwIiwiY29sb3ItcmlwZS1yZWQtNTAiOiIjRkZFQkVDIiwiY29sb3ItcmlwZS1yZWQtMTAwIjoiI0ZDQ0JDRCIsImNvbG9yLXJpcGUtcmVkLTIwMCI6IiNGQUExQTQiLCJjb2xvci1yaXBlLXJlZC0zMDAiOiIjRjc3QzgwIiwiY29sb3ItcmlwZS1yZWQtNDAwIjoiI0Y3NTI1RiIsImNvbG9yLXJpcGUtcmVkLTUwMCI6IiNGMjM2NDUiLCJjb2xvci1yaXBlLXJlZC02MDAiOiIjQ0MyRjNDIiwiY29sb3ItcmlwZS1yZWQtNzAwIjoiI0IyMjgzMyIsImNvbG9yLXJpcGUtcmVkLTgwMCI6IiM5OTFGMjkiLCJjb2xvci1yaXBlLXJlZC05MDAiOiIjODAxOTIyIiwiY29sb3ItcmlwZS1yZWQtYTEwMCI6IiNGRjgwODAiLCJjb2xvci1yaXBlLXJlZC1hMjAwIjoiI0ZGNTI1MiIsImNvbG9yLXJpcGUtcmVkLWE0MDAiOiIjRkYzMzMzIiwiY29sb3ItcmlwZS1yZWQtYTYwMCI6IiNDQzI5MjkiLCJjb2xvci1yaXBlLXJlZC1hNzAwIjoiIzgwMjAyOCIsImNvbG9yLXJpcGUtcmVkLWE4MDAiOiIjNEQxOTFEIiwiY29sb3ItcmlwZS1yZWQtYTkwMCI6IiMzMzFGMjAiLCJjb2xvci10YW4tb3JhbmdlLTUwIjoiI0ZGRjNFMCIsImNvbG9yLXRhbi1vcmFuZ2UtMTAwIjoiI0ZGRTBCMiIsImNvbG9yLXRhbi1vcmFuZ2UtMjAwIjoiI0ZGQ0M4MCIsImNvbG9yLXRhbi1vcmFuZ2UtMzAwIjoiI2ZmYjc0ZCIsImNvbG9yLXRhbi1vcmFuZ2UtNDAwIjoiI0ZGQTcyNiIsImNvbG9yLXRhbi1vcmFuZ2UtNTAwIjoiI0ZGOTgwMCIsImNvbG9yLXRhbi1vcmFuZ2UtNjAwIjoiI0ZCOEMwMCIsImNvbG9yLXRhbi1vcmFuZ2UtNzAwIjoiI0Y1N0MwMCIsImNvbG9yLXRhbi1vcmFuZ2UtODAwIjoiI0VGNkMwMCIsImNvbG9yLXRhbi1vcmFuZ2UtOTAwIjoiI2U2NTEwMCIsImNvbG9yLXRhbi1vcmFuZ2UtYTEwMCI6IiNGRkQxODAiLCJjb2xvci10YW4tb3JhbmdlLWEyMDAiOiIjZmZhYjQwIiwiY29sb3ItdGFuLW9yYW5nZS1hNDAwIjoiI0ZGOTEwMCIsImNvbG9yLXRhbi1vcmFuZ2UtYTUwMCI6IiNFNTdFMTciLCJjb2xvci10YW4tb3JhbmdlLWE2MDAiOiIjQ0M3MDE0IiwiY29sb3ItdGFuLW9yYW5nZS1hNzAwIjoiIzhDNTQxQyIsImNvbG9yLXRhbi1vcmFuZ2UtYTgwMCI6IiM1OTNBMUIiLCJjb2xvci10YW4tb3JhbmdlLWE5MDAiOiIjMzMyNjFBIiwiY29sb3ItaWd1YW5hLWdyZWVuLTUwIjoiI0U4RjVFOSIsImNvbG9yLWlndWFuYS1ncmVlbi0xMDAiOiIjQzhFNkM5IiwiY29sb3ItaWd1YW5hLWdyZWVuLTIwMCI6IiNBNUQ2QTciLCJjb2xvci1pZ3VhbmEtZ3JlZW4tMzAwIjoiIzgxYzc4NCIsImNvbG9yLWlndWFuYS1ncmVlbi00MDAiOiIjNjZCQjZBIiwiY29sb3ItaWd1YW5hLWdyZWVuLTUwMCI6IiM0Y2FmNTAiLCJjb2xvci1pZ3VhbmEtZ3JlZW4tNjAwIjoiIzQzYTA0NyIsImNvbG9yLWlndWFuYS1ncmVlbi03MDAiOiIjMzg4ZTNjIiwiY29sb3ItaWd1YW5hLWdyZWVuLTgwMCI6IiMyRTdEMzIiLCJjb2xvci1pZ3VhbmEtZ3JlZW4tOTAwIjoiIzFCNUUyMCIsImNvbG9yLWlndWFuYS1ncmVlbi1hMTAwIjoiI0I5RjZDQSIsImNvbG9yLWlndWFuYS1ncmVlbi1hMjAwIjoiIzY5RjBBRSIsImNvbG9yLWlndWFuYS1ncmVlbi1hNDAwIjoiIzAwRTY3NiIsImNvbG9yLWlndWFuYS1ncmVlbi1hNzAwIjoiIzAwYzg1MyIsImNvbG9yLWJhbmFuYS15ZWxsb3ctNTAiOiIjRkZGREU3IiwiY29sb3ItYmFuYW5hLXllbGxvdy0xMDAiOiIjRkZGOUM0IiwiY29sb3ItYmFuYW5hLXllbGxvdy0yMDAiOiIjRkZGNTlEIiwiY29sb3ItYmFuYW5hLXllbGxvdy0zMDAiOiIjRkZGMTc2IiwiY29sb3ItYmFuYW5hLXllbGxvdy00MDAiOiIjZmZlZTU4IiwiY29sb3ItYmFuYW5hLXllbGxvdy01MDAiOiIjZmZlYjNiIiwiY29sb3ItYmFuYW5hLXllbGxvdy02MDAiOiIjZmRkODM1IiwiY29sb3ItYmFuYW5hLXllbGxvdy03MDAiOiIjZmJjMDJkIiwiY29sb3ItYmFuYW5hLXllbGxvdy04MDAiOiIjZjlhODI1IiwiY29sb3ItYmFuYW5hLXllbGxvdy05MDAiOiIjRjU3RjE3IiwiY29sb3ItYmFuYW5hLXllbGxvdy1hMTAwIjoiI0ZGRkY4RCIsImNvbG9yLWJhbmFuYS15ZWxsb3ctYTIwMCI6IiNGRkZGMDAiLCJjb2xvci1iYW5hbmEteWVsbG93LWE0MDAiOiIjZmZlYTAwIiwiY29sb3ItYmFuYW5hLXllbGxvdy1hNzAwIjoiI0VFREEwMSIsImNvbG9yLXR2LWJsdWUtNTAiOiIjRTNFRkZEIiwiY29sb3ItdHYtYmx1ZS0xMDAiOiIjQkJEOUZCIiwiY29sb3ItdHYtYmx1ZS0yMDAiOiIjOTBCRkY5IiwiY29sb3ItdHYtYmx1ZS0zMDAiOiIjNUI5Q0Y2IiwiY29sb3ItdHYtYmx1ZS00MDAiOiIjMzE3OUY1IiwiY29sb3ItdHYtYmx1ZS01MDAiOiIjMjk2MkZGIiwiY29sb3ItdHYtYmx1ZS02MDAiOiIjMUU1M0U1IiwiY29sb3ItdHYtYmx1ZS03MDAiOiIjMTg0OENDIiwiY29sb3ItdHYtYmx1ZS04MDAiOiIjMTQzRUIyIiwiY29sb3ItdHYtYmx1ZS05MDAiOiIjMEMzMjk5IiwiY29sb3ItdHYtYmx1ZS1hMTAwIjoiIzgyYjFmZiIsImNvbG9yLXR2LWJsdWUtYTIwMCI6IiM0NDhhZmYiLCJjb2xvci10di1ibHVlLWE0MDAiOiIjMjk3OWZmIiwiY29sb3ItdHYtYmx1ZS1hNjAwIjoiIzI5NjJGRiIsImNvbG9yLXR2LWJsdWUtYTcwMCI6IiMxNDNBODciLCJjb2xvci10di1ibHVlLWE4MDAiOiIjMTQyRTYxIiwiY29sb3ItdHYtYmx1ZS1hOTAwIjoiIzEzMjA0MiIsImNvbG9yLWRlZXAtYmx1ZS01MCI6IiNFREU3RjYiLCJjb2xvci1kZWVwLWJsdWUtMTAwIjoiI0QxQzRFOSIsImNvbG9yLWRlZXAtYmx1ZS0yMDAiOiIjQjM5RERCIiwiY29sb3ItZGVlcC1ibHVlLTMwMCI6IiM5NTc1Y2QiLCJjb2xvci1kZWVwLWJsdWUtNDAwIjoiIzdlNTdjMiIsImNvbG9yLWRlZXAtYmx1ZS01MDAiOiIjNjczYWI3IiwiY29sb3ItZGVlcC1ibHVlLTYwMCI6IiM1RTM1QjEiLCJjb2xvci1kZWVwLWJsdWUtNzAwIjoiIzUxMmRhOCIsImNvbG9yLWRlZXAtYmx1ZS04MDAiOiIjNDUyN0EwIiwiY29sb3ItZGVlcC1ibHVlLTkwMCI6IiMzMTFCOTIiLCJjb2xvci1kZWVwLWJsdWUtYTEwMCI6IiNiMzg4ZmYiLCJjb2xvci1kZWVwLWJsdWUtYTIwMCI6IiM3QzRERkYiLCJjb2xvci1kZWVwLWJsdWUtYTQwMCI6IiM2NTFGRkYiLCJjb2xvci1kZWVwLWJsdWUtYTcwMCI6IiM2MjAwRUEiLCJjb2xvci1taW50eS1ncmVlbi01MCI6IiNEQUYyRUUiLCJjb2xvci1taW50eS1ncmVlbi0xMDAiOiIjQUNFNURDIiwiY29sb3ItbWludHktZ3JlZW4tMjAwIjoiIzcwQ0NCRCIsImNvbG9yLW1pbnR5LWdyZWVuLTMwMCI6IiM0MkJEQTgiLCJjb2xvci1taW50eS1ncmVlbi00MDAiOiIjMjJBQjk0IiwiY29sb3ItbWludHktZ3JlZW4tNTAwIjoiIzA4OTk4MSIsImNvbG9yLW1pbnR5LWdyZWVuLTYwMCI6IiMwNjgwNkIiLCJjb2xvci1taW50eS1ncmVlbi03MDAiOiIjMDU2NjU2IiwiY29sb3ItbWludHktZ3JlZW4tODAwIjoiIzAwNEQ0MCIsImNvbG9yLW1pbnR5LWdyZWVuLTkwMCI6IiMwMDMzMkEiLCJjb2xvci1taW50eS1ncmVlbi1hMTAwIjoiI0E3RkZGMCIsImNvbG9yLW1pbnR5LWdyZWVuLWEyMDAiOiIjNDVFNUNCIiwiY29sb3ItbWludHktZ3JlZW4tYTQwMCI6IiMyQkQ5QkMiLCJjb2xvci1taW50eS1ncmVlbi1hNjAwIjoiIzI0QjI5QiIsImNvbG9yLW1pbnR5LWdyZWVuLWE3MDAiOiIjMUI3NjY3IiwiY29sb3ItbWludHktZ3JlZW4tYTgwMCI6IiMxMDQ0M0IiLCJjb2xvci1taW50eS1ncmVlbi1hOTAwIjoiIzA4MjYyMSIsImNvbG9yLWdyYXBlcy1wdXJwbGUtNTAiOiIjRjNFNUY1IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS0xMDAiOiIjRTFCRUU3IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS0yMDAiOiIjQ0U5M0Q4IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS0zMDAiOiIjYmE2OGM4IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS00MDAiOiIjYWI0N2JjIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS01MDAiOiIjOWMyN2IwIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS02MDAiOiIjOGUyNGFhIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS03MDAiOiIjN2IxZmEyIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS04MDAiOiIjNkExQjlBIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS05MDAiOiIjNEExNDhDIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS1hMTAwIjoiI0VBODBGQyIsImNvbG9yLWdyYXBlcy1wdXJwbGUtYTIwMCI6IiNFMDQwRkIiLCJjb2xvci1ncmFwZXMtcHVycGxlLWE0MDAiOiIjRDUwMEY5IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS1hNzAwIjoiI2FhMDBmZiIsImNvbG9yLWJlcnJ5LXBpbmstNTAiOiIjRkNFNEVDIiwiY29sb3ItYmVycnktcGluay0xMDAiOiIjRjhCQkQwIiwiY29sb3ItYmVycnktcGluay0yMDAiOiIjZjQ4ZmIxIiwiY29sb3ItYmVycnktcGluay0zMDAiOiIjZjA2MjkyIiwiY29sb3ItYmVycnktcGluay00MDAiOiIjZWM0MDdhIiwiY29sb3ItYmVycnktcGluay01MDAiOiIjZTkxZTYzIiwiY29sb3ItYmVycnktcGluay02MDAiOiIjRDgxQjYwIiwiY29sb3ItYmVycnktcGluay03MDAiOiIjQzIxODVCIiwiY29sb3ItYmVycnktcGluay04MDAiOiIjQUQxNDU3IiwiY29sb3ItYmVycnktcGluay05MDAiOiIjODgwRTRGIiwiY29sb3ItYmVycnktcGluay1hMTAwIjoiI2ZmODBhYiIsImNvbG9yLWJlcnJ5LXBpbmstYTIwMCI6IiNmZjQwODEiLCJjb2xvci1iZXJyeS1waW5rLWE0MDAiOiIjZjUwMDU3IiwiY29sb3ItYmVycnktcGluay1hNzAwIjoiI2M1MTE2MiIsImNvbG9yLXNreS1ibHVlLTUwIjoiI0UwRjdGQSIsImNvbG9yLXNreS1ibHVlLTEwMCI6IiNCMkVCRjIiLCJjb2xvci1za3ktYmx1ZS0yMDAiOiIjODBERUVBIiwiY29sb3Itc2t5LWJsdWUtMzAwIjoiIzRkZDBlMSIsImNvbG9yLXNreS1ibHVlLTQwMCI6IiMyNmM2ZGEiLCJjb2xvci1za3ktYmx1ZS01MDAiOiIjMDBiY2Q0IiwiY29sb3Itc2t5LWJsdWUtNjAwIjoiIzAwYWNjMSIsImNvbG9yLXNreS1ibHVlLTcwMCI6IiMwMDk3QTciLCJjb2xvci1za3ktYmx1ZS04MDAiOiIjMDA4MzhGIiwiY29sb3Itc2t5LWJsdWUtOTAwIjoiIzAwNjA2NCIsImNvbG9yLXNreS1ibHVlLWExMDAiOiIjODRGRkZGIiwiY29sb3Itc2t5LWJsdWUtYTIwMCI6IiMxOEZGRkYiLCJjb2xvci1za3ktYmx1ZS1hNDAwIjoiIzAwZTVmZiIsImNvbG9yLXNreS1ibHVlLWE3MDAiOiIjMDBCOEQ0IiwiY29sb3ItZm9yZXN0LWdyZWVuLTUwIjoiI0RBRjJFNiIsImNvbG9yLWZvcmVzdC1ncmVlbi0xMDAiOiIjQUNFNUM5IiwiY29sb3ItZm9yZXN0LWdyZWVuLTIwMCI6IiM3MENDOUUiLCJjb2xvci1mb3Jlc3QtZ3JlZW4tMzAwIjoiIzQyQkQ3RiIsImNvbG9yLWZvcmVzdC1ncmVlbi00MDAiOiIjMjJBQjY3IiwiY29sb3ItZm9yZXN0LWdyZWVuLTUwMCI6IiMwODk5NTAiLCJjb2xvci1mb3Jlc3QtZ3JlZW4tNjAwIjoiIzA2ODA0MyIsImNvbG9yLWZvcmVzdC1ncmVlbi03MDAiOiIjMDU2NjM2IiwiY29sb3ItZm9yZXN0LWdyZWVuLTgwMCI6IiMwMDREMjciLCJjb2xvci1mb3Jlc3QtZ3JlZW4tOTAwIjoiIzFBMzMyNiIsImNvbG9yLWZhY2Vib29rIjoiIzE4NzdGMiIsImNvbG9yLWRlZXAtZmFjZWJvb2siOiIjMTU2NENBIiwiY29sb3ItdHdpdHRlciI6IiMxREExRjIiLCJjb2xvci1kZWVwLXR3aXR0ZXIiOiIjMTg4Q0QzIiwiY29sb3IteW91dHViZSI6IiNGRjAwMDAiLCJjb2xvci1saW5rZWRpbiI6IiMwMDdCQjUiLCJjb2xvci1zZWVraW5nLWFscGhhLWJyYW5kIjoiI2ZmNzIwMCJ9JykKfSw4Njc1MjIobyl7Cm8uZXhwb3J0cz1KU09OLnBhcnNlKCd7ImNvbG9yLWhlYWRlci1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3ItYm9keS1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3ItYm9keS1zZWNvbmRhcnktYmciOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItYmctcHJpbWFyeSI6ImNvbG9yLXdoaXRlIiwiY29sb3ItYmctcHJpbWFyeS1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1iZy1zZWNvbmRhcnkiOiJjb2xvci13aGl0ZSIsImNvbG9yLWJnLWhpZ2hsaWdodCI6ImNvbG9yLWNvbGQtZ3JheS01MCIsImNvbG9yLWJnLXNjcm9sbC1idXR0b25zIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLWxlZ2FjeS1iZy1zY3JvbGwtYnV0dG9ucyI6ImNvbG9yLWNvbGQtZ3JheS04NTAiLCJjb2xvci1sZWdhY3ktYmctd2lkZ2V0IjoiY29sb3Itd2hpdGUiLCJjb2xvci10ZXh0LXByaW1hcnkiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItdGV4dC1zZWNvbmRhcnkiOiJjb2xvci1jb2xkLWdyYXktNTUwIiwiY29sb3ItdGV4dC10ZXJ0aWFyeSI6ImNvbG9yLWNvbGQtZ3JheS00MDAiLCJjb2xvci10ZXh0LWRpc2FibGVkIjoiY29sb3ItY29sZC1ncmF5LTMwMCIsImNvbG9yLWFjY2VudC1jb250ZW50IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWJveC1zaGFkb3ciOiJjb2xvci1jb2xkLWdyYXktMzAwIiwiY29sb3ItZGl2aWRlciI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1kaXZpZGVyLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLWRpdmlkZXItc2Vjb25kYXJ5IjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLWFjdGl2ZS1ob3Zlci10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWFsZXJ0LXRleHQiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItYm9yZGVyLXRhYmxlIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLWJyYW5kIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1icmFuZC1hY3RpdmUiOiJjb2xvci10di1ibHVlLTcwMCIsImNvbG9yLWJyYW5kLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS02MDAiLCJjb2xvci1jaGFydC1wYWdlLWJnIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWNvbW1vbi10b29sdGlwLWJnIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLWRhbmdlciI6ImNvbG9yLXJpcGUtcmVkLTQwMCIsImNvbG9yLWRhbmdlci1ob3ZlciI6ImNvbG9yLXJpcGUtcmVkLTUwMCIsImNvbG9yLWRhbmdlci1hY3RpdmUiOiJjb2xvci1yaXBlLXJlZC02MDAiLCJjb2xvci1kZXB0aHJlbmRlcmVyLXN0cm9rZS1zdHlsZSI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1oaWdobGlnaHQtbmV3IjoiY29sb3ItdGFuLW9yYW5nZS01MCIsImNvbG9yLWlucHV0LWJnIjoiY29sb3Itd2hpdGUiLCJjb2xvci1pbnB1dC1wdWJsaXNoLWJnIjoiY29sb3Itd2hpdGUiLCJjb2xvci1saW5rIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1saW5rLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS02MDAiLCJjb2xvci1saW5rLWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNzAwIiwiY29sb3ItbGlzdC1udGgtY2hpbGQtYmciOiJjb2xvci1jb2xkLWdyYXktNTAiLCJjb2xvci1wYW5lLWJnIjoiY29sb3Itd2hpdGUiLCJjb2xvci1wYW5lLXNlY29uZGFyeS1iZyI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1wb3B1cC1tZW51LWl0ZW0taG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItcG9wdXAtbWVudS1zZXBhcmF0b3IiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItcHJpbWFyeS1zeW1ib2wiOiJjb2xvci1za3ktYmx1ZS01MDAiLCJjb2xvci1zY3JlZW5lci1kZXNjcmlwdGlvbiI6ImNvbG9yLWNvbGQtZ3JheS02NTAiLCJjb2xvci1zdWNjZXNzIjoiY29sb3ItbWludHktZ3JlZW4tNTAwIiwiY29sb3Itc3VjY2Vzcy1ob3ZlciI6ImNvbG9yLW1pbnR5LWdyZWVuLTYwMCIsImNvbG9yLXN1Y2Nlc3MtYWN0aXZlIjoiY29sb3ItbWludHktZ3JlZW4tNzAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZS1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtNjAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLXNlY29uZGFyeS1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNTAiLCJjb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtMTAwIiwiY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUtaG92ZXIiOiJjb2xvci10di1ibHVlLTYwMCIsImNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1pY29uIjoiY29sb3ItY29sZC1ncmF5LTIwMCIsImNvbG9yLXRvb2xiYXItaW50ZXJhY3RpdmUtZWxlbWVudC10ZXh0LW5vcm1hbCI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci10b29sYmFyLW9wZW5lZC1lbGVtZW50LWJnIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXRvb2xiYXItZGl2aWRlci1iYWNrZ3JvdW5kIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLXBvcHVwLWJhY2tncm91bmQiOiJjb2xvci13aGl0ZSIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtc2Vjb25kYXJ5LXRleHQiOiJjb2xvci1jb2xkLWdyYXktNTAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC1oaW50LXRleHQiOiJjb2xvci1jb2xkLWdyYXktNDAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWFjdGl2ZSI6ImNvbG9yLXdoaXRlIiwiY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQiOiJjb2xvci1jb2xkLWdyYXktNTAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtYWN0aXZlLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS0yMDAiLCJjb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtYmFja2dyb3VuZC1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtYmFja2dyb3VuZC1hY3RpdmUtaG92ZXIiOiJjb2xvci10di1ibHVlLTcwMCIsImNvbG9yLXRvb2x0aXAtYmciOiJjb2xvci1jb2xkLWdyYXktODAwIiwiY29sb3ItdHYtZGlhbG9nLWNhcHRpb24iOiJjb2xvci1jb2xkLWdyYXktNjUwIiwiY29sb3ItdHYtZHJvcGRvd24taXRlbS1ob3Zlci1iZyI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci11bmRlcmxpbmVkLXRleHQiOiJjb2xvci1jb2xkLWdyYXktNTUwIiwiY29sb3Itd2lkZ2V0LXBhZ2VzLWJnIjoiY29sb3Itd2hpdGUiLCJjb2xvci13YXJuaW5nIjoiY29sb3ItdGFuLW9yYW5nZS01MDAiLCJjb2xvci1ncm93aW5nIjoiY29sb3ItbWludHktZ3JlZW4tNTAwIiwiY29sb3ItZmFsbGluZyI6ImNvbG9yLXJpcGUtcmVkLTUwMCIsImNvbG9yLWZvcmV4LWljb24iOiJjb2xvci1jb2xkLWdyYXktNzUwIiwiY29sb3ItbGlzdC1pdGVtLWFjdGl2ZS1iZyI6ImNvbG9yLXR2LWJsdWUtNDAwIiwiY29sb3ItbGlzdC1pdGVtLWhvdmVyLWJnIjoiY29sb3ItdHYtYmx1ZS01MCIsImNvbG9yLWxpc3QtaXRlbS10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLXByaWNlLWF4aXMtbGFiZWwtYmFjayI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1wcmljZS1heGlzLWxhYmVsLXRleHQiOiJjb2xvci1jb2xkLWdyYXktNjUwIiwiY29sb3ItcHJpY2UtYXhpcy1nZWFyIjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLXByaWNlLWF4aXMtZ2Vhci1ob3ZlciI6ImNvbG9yLWJsYWNrIiwiY29sb3ItcHJpY2UtYXhpcy1oaWdobGlnaHQiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItYmlkIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1ib3JkZXIiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItYm9yZGVyLWNoYXQtZmllbGRzIjoiY29sb3ItY29sZC1ncmF5LTI1MCIsImNvbG9yLWJvcmRlci1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0yNTAiLCJjb2xvci1idXR0b24taG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItZGVwdGhyZW5kZXJlci1maWxsLXN0eWxlIjoiY29sb3ItY29sZC1ncmF5LTY1MCIsImNvbG9yLWRpc2FibGVkLWJvcmRlci1hbmQtY29sb3IiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItZGlzYWJsZWQtaW5wdXQiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItZW1wdHktY29udGFpbmVyLW1lc3NhZ2UiOiJjb2xvci1jb2xkLWdyYXktNTUwIiwiY29sb3ItaWNvbnMiOiJjb2xvci1jb2xkLWdyYXktNTUwIiwiY29sb3ItaW5wdXQtdGV4dGFyZWEtcmVhZG9ubHkiOiJjb2xvci1jb2xkLWdyYXktNjUwIiwiY29sb3ItaW5wdXQtcGxhY2Vob2xkZXItdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS0zNTAiLCJjb2xvci1pdGVtLWFjdGl2ZS1ibHVlIjoiY29sb3ItdHYtYmx1ZS01MCIsImNvbG9yLWl0ZW0taG92ZXItYWN0aXZlLWJnIjoiY29sb3ItdHYtYmx1ZS0xMDAiLCJjb2xvci1pdGVtLWhvdmVyLWJnIjoiY29sb3ItdHYtYmx1ZS0xMDAiLCJjb2xvci1pdGVtLWhvdmVyLWJsdWUiOiJjb2xvci10di1ibHVlLTEwMCIsImNvbG9yLWl0ZW0tc2VsZWN0ZWQtYmx1ZSI6ImNvbG9yLXR2LWJsdWUtNTAiLCJjb2xvci1pdGVtLWFjdGl2ZS10ZXh0IjoiY29sb3Itd2hpdGUiLCJjb2xvci1pdGVtLWFjdGl2ZS1iZyI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItbGlzdC1pdGVtIjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLW5ld3MtaGlnaGxpZ2h0IjoiY29sb3ItdHYtYmx1ZS0xMDAiLCJjb2xvci1wbGFjZWhvbGRlciI6ImNvbG9yLWNvbGQtZ3JheS0zNTAiLCJjb2xvci1yb3ctaG92ZXItYWN0aXZlLWJnIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXNiLXNjcm9sbGJhci1ib2R5LWJnIjoiY29sb3ItY29sZC1ncmF5LTIwMCIsImNvbG9yLXNlY3Rpb24tc2VwYXJhdG9yLWJvcmRlciI6ImNvbG9yLWNvbGQtZ3JheS0zMDAiLCJjb2xvci1zZXBhcmF0b3ItdGFibGUtY2hhdCI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci10YWctYWN0aXZlLWJnIjoiY29sb3ItY29sZC1ncmF5LTIwMCIsImNvbG9yLXRhZy1ob3Zlci1iZyI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci10ZXh0LXJlZ3VsYXIiOiJjb2xvci1jb2xkLWdyYXktNzAwIiwiY29sb3ItdHYtYnV0dG9uLWNoZWNrZWQiOiJjb2xvci1jb2xkLWdyYXktNTUwIiwiY29sb3Itc2Nyb2xsLWJnIjoiY29sb3ItY29sZC1ncmF5LTQwMCIsImNvbG9yLXNjcm9sbC1ib3JkZXIiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3Itd2lkZ2V0LWJvcmRlciI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1zY3JvbGwtYnV0dG9ucy1hcnJvdyI6ImNvbG9yLXdoaXRlIiwiY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdCI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci1jb250cm9sLWludGVudC1zdWNjZXNzIjoiY29sb3ItbWludHktZ3JlZW4tNTAwIiwiY29sb3ItY29udHJvbC1pbnRlbnQtcHJpbWFyeSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItY29udHJvbC1pbnRlbnQtd2FybmluZyI6ImNvbG9yLXRhbi1vcmFuZ2UtNTAwIiwiY29sb3ItY29udHJvbC1pbnRlbnQtZGFuZ2VyIjoiY29sb3ItcmlwZS1yZWQtNTAwIiwiY29sb3ItZ290by1sYWJlbC1iYWNrZ3JvdW5kIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLXByZS1tYXJrZXQiOiJjb2xvci10YW4tb3JhbmdlLTYwMCIsImNvbG9yLXBvc3QtbWFya2V0IjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1ub3RhY2N1cmF0ZS1tb2RlIjoiY29sb3ItYmVycnktcGluay02MDAiLCJjb2xvci1kZWxheS1tb2RlIjoiY29sb3ItdGFuLW9yYW5nZS03MDAiLCJjb2xvci1kZWxheS1tb2RlLWJnIjoiY29sb3ItdGFuLW9yYW5nZS00MDAiLCJjb2xvci1saXN0LWl0ZW0tYmctaGlnaGxpZ2h0ZWQiOiJjb2xvci10di1ibHVlLTUwIiwiY29sb3ItbGlzdC1pdGVtLWJnLXNlbGVjdGVkIjoiY29sb3ItdHYtYmx1ZS0xMDAiLCJjb2xvci1saXN0LWl0ZW0tYmctaGlnaGxpZ2h0ZWQtaG92ZXIiOiJjb2xvci10di1ibHVlLTEwMCIsImNvbG9yLWxpc3QtaXRlbS1iZy1zZWxlY3RlZC1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtMjAwIiwiY29sb3Itc2NyZWVuZXItaGVhZGVyLWJnIjoiY29sb3Itd2hpdGUiLCJjb2xvci1zY3JlZW5lci1oZWFkZXItYmctaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItbWFya2VyLWZsYWdnZWQiOiJjb2xvci1yaXBlLXJlZC00MDAiLCJjb2xvci1tYXJrZXItZmxhZ2dlZC1ob3ZlcmVkIjoiY29sb3ItcmlwZS1yZWQtNjAwIiwiY29sb3ItYXNrIjoiY29sb3ItcmlwZS1yZWQtNDAwIiwiY29sb3Itc2VsbCI6ImNvbG9yLXJpcGUtcmVkLTQwMCIsImNvbG9yLWJ1eSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItbmV1dHJhbCI6ImNvbG9yLWNvbGQtZ3JheS01NTAiLCJjb2xvci1wcm8iOiJjb2xvci1taW50eS1ncmVlbi00MDAiLCJjb2xvci1wcm8taG92ZXIiOiJjb2xvci1taW50eS1ncmVlbi02MDAiLCJjb2xvci1wcm8tcGx1cyI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItcHJvLXBsdXMtaG92ZXIiOiJjb2xvci10di1ibHVlLTYwMCIsImNvbG9yLXByby1wcmVtaXVtIjoiY29sb3ItdGFuLW9yYW5nZS01MDAiLCJjb2xvci1wcm8tcHJlbWl1bS1ob3ZlciI6ImNvbG9yLXRhbi1vcmFuZ2UtNzAwIiwiY29sb3ItdHJpYWwiOiJjb2xvci1jb2xkLWdyYXktNTUwIiwiY29sb3ItdHJpYWwtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktNTUwIiwiY29sb3ItbW9kIjoiY29sb3ItcmlwZS1yZWQtNDAwIiwiY29sb3ItbW9kLWhvdmVyIjoiY29sb3ItcmlwZS1yZWQtNjAwIiwiY29sb3ItYWQiOiJjb2xvci10YW4tb3JhbmdlLTUwMCIsImNvbG9yLWJyb2tlci1mZWF0dXJlZCI6ImNvbG9yLW1pbnR5LWdyZWVuLTQwMCIsImNvbG9yLWJyb2tlci1mZWF0dXJlZC1ob3ZlciI6ImNvbG9yLW1pbnR5LWdyZWVuLTYwMCIsImNvbG9yLWFsZXJ0LXN0YXR1cy1hY3RpdmUiOiJjb2xvci1taW50eS1ncmVlbi01MDAiLCJjb2xvci1hbGVydC1zdGF0dXMtc3RvcHBlZCI6ImNvbG9yLXJpcGUtcmVkLTUwMCIsImNvbG9yLWFsZXJ0LXN0YXR1cy10cmlnZ2VyZWQiOiJjb2xvci10YW4tb3JhbmdlLTUwMCIsImNvbG9yLW92ZXJsYXkiOiJjb2xvci1jb2xkLWdyYXktNDAwIiwiY29sb3Itc2VhcmNoLWJ1dHRvbi1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1ib29zdC1idXR0b24tY29udGVudC1zZWxlY3RlZCI6ImNvbG9yLXR2LWJsdWUtNjAwIiwiY29sb3ItYm9vc3QtYnV0dG9uLWNvbnRlbnQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItYm9vc3QtYnV0dG9uLWJnLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWJvb3N0LWJ1dHRvbi1ib3JkZXItaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItYm9vc3QtYnV0dG9uLWJvcmRlci1kZWZhdWx0IjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWNvbW1vbi10b29sdGlwLXRleHQiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItcmVwbGF5LWRhdGEtbW9kZSI6ImNvbG9yLXJpcGUtcmVkLTQwMCIsImNvbG9yLWxlZ2FjeS1zdWNjZXNzIjoiY29sb3ItbWludHktZ3JlZW4tMzAwIiwiY29sb3ItY29sbGFwc2UtdGFicy1ib3JkZXIiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3Itc2l0ZS13aWRnZXQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktNTAiLCJjb2xvci1hdHRlbnRpb24iOiJjb2xvci1iYW5hbmEteWVsbG93LTcwMCIsImNvbG9yLXgtdHdpdHRlci1jb250ZW50IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWNhcmQtYm9yZGVyIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWNhcmQtYm9yZGVyLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTMwMCIsImNvbG9yLWJhY2tncm91bmQtc3BlY2lhbC1wcmltYXJ5IjoiY29sb3Itd2hpdGUiLCJjb2xvci1zdHJva2Utc3BlY2lhbC1wcmltYXJ5IjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLXNlbGVjdGlvbi1iZyI6ImNvbG9yLXR2LWJsdWUtMTAwIiwiY29sb3ItZGVmYXVsdC1ncmF5IjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLWZlYXR1cmVkLWJyb2tlci1iYWRnZS1iZyI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmctaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktODAwIiwiY29sb3ItZmVhdHVyZWQtYnJva2VyLWJhZGdlLXRleHQiOiJjb2xvci13aGl0ZSJ9JykKfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/15932.2a70d397c34f2e9de94f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.978Z","timestamp":1785120633978,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/15932.2a70d397c34f2e9de94f.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b73-37f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:23 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: f5bb09075db76ce4b2bf25b6cc02dda2\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":895,"size_decoded":1168,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (895), with no line terminators","md5":"61ab7674e7397acc0fbdbd8b60e6843d","sha1":"fcd3f559f2622c63283e4bc9c57d10811df0e449","sha256":"6612bc0b7ab79c16fbd208e005ce64f38027f232bd2fc73621c14c2401cc1abb","sha512":"25a6b08a102f5c8bd5cd31c69e9e714962ab697d5d0b27c3d6ee50b77232d869dc271761eda4f53d91748de07f2e4798911326e27fef8995b5be37d735ab9188","ssdeep":"","tlshash":"3811293871a06d2c7312ee3c17686c8c795da26ca6835eceead07128479f2cc26720a0","first_seen":"2026-03-24T10:46:27.428699Z","last_seen":"2026-07-27T05:15:36.999177Z","times_seen":4196,"resource_available":false,"data":"LnR2LWVtYmVkLXdpZGdldC13cmFwcGVye2JhY2tncm91bmQ6IzAwMDA7aGVpZ2h0OjEwMCU7bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjEwMCU7d2lkdGg6MH0udHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXJfX2hlYWRlcntmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDozNHB4O3RleHQtYWxpZ246Y2VudGVyfS50di1lbWJlZC13aWRnZXQtd3JhcHBlcl9faGVhZGVyIHN2Z3toZWlnaHQ6MTVweDttYXJnaW4taW5saW5lLWVuZDo1cHg7dmVydGljYWwtYWxpZ246dGV4dC10b3A7d2lkdGg6MjZweH0udHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXJfX2xvZ28tbGluaywudHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXJfX2xvZ28tbGluazp2aXNpdGVke2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKX0udHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXJfX2JvZHl7YmFja2dyb3VuZDp2YXIoLS10di13aWRnZXQtYmFja2dyb3VuZC1jb2xvcix2YXIoLS1jb2xvci1iZy1wcmltYXJ5KSk7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWRpdmlkZXIpO2JvcmRlci1yYWRpdXM6M3B4O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9LnR2LWVtYmVkLXdpZGdldC13cmFwcGVyX19ib2R5LS1vdmVyZmxvd19hdXRve292ZXJmbG93OmF1dG99aHRtbC5pcy10cmFuc3BhcmVudCAudHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXJfX2JvZHl7YmFja2dyb3VuZDojMDAwMH1odG1sLmlzLXRyYW5zcGFyZW50IC50di1lbWJlZC13aWRnZXQtd3JhcHBlcl9fYm9keTpub3QoLnR2LWVtYmVkLXdpZGdldC13cmFwcGVyX19ib2R5LS1ib3JkZXItb24tdHJhbnNwYXJlbnQpe2JvcmRlci13aWR0aDowfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/51031.535f27b776f394c7e43a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.196Z","timestamp":1785120634196,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/51031.535f27b776f394c7e43a.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-ab54\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: bfea8e08b678b2e9874fc4c8fbbe3ddd\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":43860,"size_decoded":14999,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (12910)","md5":"cd701b7197ef255d09501c8c91343508","sha1":"d84cab0e7c13c5801a0a2c6df4aba3f32e6b316d","sha256":"714cb61cc6924e6d1e8241ff191fc5aeb03baebbbaa81c15949838a09fb406f6","sha512":"ae8f1406dc1e5c9e8082d922e8a0d6257582733129c26617fefb99243013fa5f0bc9eb178dd69665786b8fb7fd0b7ccdd7ed719fe60676564b82598253efca75","ssdeep":"768:CcDTi4tT8YE9xSrNtzDcsIj/XWm9hIz4dp9VUZ+n5Vz2mpehIeVeLh9zoJZemINE:hryj/XWgGET5Vz2mp9emzoJZemINyKfS","tlshash":"7e131a35652af5f79ee941ea543754829bbc00523444042876bccdec278caf9f23aef9","first_seen":"2026-07-24T11:36:48.046407Z","last_seen":"2026-07-27T05:19:37.114846Z","times_seen":789,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s1MTAzMV0sezE1Njg1MChlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHt0ZWxlbWV0cnk6KCk9Pmh9KTt2YXIgcz1fKDk0ODM4MCksaT1fKDIyMTA2MSksbj1fKDM4NDAxNyksYT1fKDM3NzIyNikscj1fKDExNzMxMyk7XygzMDAyODYpO2NvbnN0IG89KDAsaS5nZXRMb2dnZXIpKCJDb21tb24uVGVsZW1ldHJ5IiksbD17ZGVmYXVsdDoxNWUzLHNpdGU6M2U1fSxjPVsiYmVmb3JlX3dlYnNvY2tldF9jb25uZWN0aW9uX3RpbWVfZnJhbWUiLCJ3ZWJzb2NrZXRfY29ubmVjdGlvbl90aW1lX2ZyYW1lIiwiZmlyc3Rfc2VyaWVzX2Z1bGxfdGltZV9mcmFtZSIsInBhZ2VfZnVsbF9sb2FkX3RpbWVfZnJhbWUiLCJwYWdlX2xvYWRfdGltZV9mcmFtZSJdO2NvbnN0IGg9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5yZXBvcnRTZW50PW5ldyBzLkRlbGVnYXRlLHRoaXMudGltZUNvdW50ZXJzPXtzZXJpZXM6e21hcmtzOltdfSxzdHVkeTp7fSxwaW5lOnt9fSx0aGlzLl90aW1lb3V0SWRzPXt9LHRoaXMuX2NvbW1vbkFkZGl0aW9uYWxEYXRhPXtjbHVzdGVyOm51bGwsdXNlcklkOiIwIn0sdGhpcy5fcmVwb3J0U3Rhc2g9e319c2V0U2Vzc2lvbkluZm8oZSl7Y29uc3QgdD10aGlzLl9wYXJzZUNsdXN0ZXIoZSk7bnVsbCE9PXQmJih0aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YS5jbHVzdGVyPXQpfXNlbmRSZXBvcnQoZSx0LF8pe2lmKCF0aGlzLl9pc0FibGVUb1NlbmRSZXBvcnQodCkpcmV0dXJuO2NvbnN0IHM9dGhpcy5fZ2V0U3Vic2VydmljZVR5cGUoZSksaT10aGlzLl9nZXRIb3N0KGUscyk7aWYobnVsbCE9PWkpe2lmKF89dm9pZCAwPT09Xz97Y291bnQ6MX06Xyx0aGlzLl9hZGRSZXBvcnRUb1N0YXNoKF8sdCxpKSwhdGhpcy5fdGltZW91dElkc1tlXSl7Y29uc3QgdD1sW2VdPz9sLmRlZmF1bHQ7dGhpcy5fdGltZW91dElkc1tlXT1zZXRUaW1lb3V0KHRoaXMuX3NlbmRUZWxlbWV0cnlUb1NlcnZpY2UuYmluZCh0aGlzLGUsaSksdCl9fWVsc2Ugby5sb2dFcnJvcihgVW5hYmxlIHRvIGdldCBob3N0IGZvciBjb3VudGVyOiAke3R9LCBtZXRyaWMgdHlwZTogJHtlfSwgc2VyaXZjZSB0eXBlOiAke3N9YCl9c2VuZENoYXJ0UmVwb3J0KGUsdCxfPSEwKXt0aGlzLl9zZW5kU2VydmljZVNwZWNpZmllZFJlcG9ydCgiY2hhcnRzIixlLHQsXyl9c2VuZExpbmVUb29sc1N0b3JhZ2VSZXBvcnQoZSx0LF89ITApe3RoaXMuX3NlbmRTZXJ2aWNlU3BlY2lmaWVkUmVwb3J0KCJsaW5lX3Rvb2xzX3N0b3JhZ2UiLGUsdCxfKX1fc2VuZFNlcnZpY2VTcGVjaWZpZWRSZXBvcnQoZSx0LF8scz0hMCl7dGhpcy5fdXBkYXRlVXNlckluZm8oKSxfPXZvaWQgMD09PV8/e2NvdW50OjF9Ol8scyYmKF89dGhpcy5fYXBwZW5kQ29tbW9uQWRkaXRpb25hbEluZm8oXyxbImNsdXN0ZXIiLCJ1c2VySWQiXSkpLHRoaXMuc2VuZFJlcG9ydChlLHQsXyl9X3VwZGF0ZVVzZXJJbmZvKCl7Y29uc3QgZT0idXNlciJpbiB3aW5kb3cmJiJpZCJpbiB3aW5kb3cudXNlcj93aW5kb3cudXNlci5pZDoiMCI7dGhpcy5fY29tbW9uQWRkaXRpb25hbERhdGEudXNlcklkPVN0cmluZyhlKX1faXNBYmxlVG9TZW5kUmVwb3J0KGUpe2NvbnN0IHQ9d2luZG93LlRFTEVNRVRSWV9IT1NUUyxfPWMuaW5jbHVkZXMoZSkscz1Cb29sZWFuKHdpbmRvdy5UcmFkaW5nVmlldz8ub25DaGFydFBhZ2V8fCgwLGEub25XaWRnZXQpKCkpO3JldHVybiB0JiYoIV98fHMpfV9zZW5kVGVsZW1ldHJ5VG9TZXJ2aWNlKGUsdCl7aWYodGhpcy5fcmVwb3J0U3Rhc2guaGFzT3duUHJvcGVydHkodCkpe2NvbnN0IGU9dGhpcy5fY3JvcFBhcmFtcyh0aGlzLl9yZXBvcnRTdGFzaFt0XSksXz10aGlzLl9yZW5hbWVBbGxQYXJhbXMoZSkscz17ZXZlbnQ6InJlcG9ydF9zdGFzaCIscGFyYW1zOnRoaXMuX2NsZWFuQWxsUGFyYW1zKF8pfTtvLmxvZ0RlYnVnKGBSZXBvcnQgdG8gaG9zdDogJHt0fTsgc3Rhc2g6ICR7SlNPTi5zdHJpbmdpZnkodGhpcy5fcmVwb3J0U3Rhc2hbdF0pfWApLHRoaXMucmVwb3J0U2VudC5maXJlKHRoaXMuX3JlcG9ydFN0YXNoW3RdKSxkZWxldGUgdGhpcy5fcmVwb3J0U3Rhc2hbdF0sKDAsbi5mZXRjaCkoYCR7dH0vcmVwb3J0YCx7bWV0aG9kOiJQT1NUIixib2R5OkpTT04uc3RyaW5naWZ5KHMpfSl9dGhpcy5fdGltZW91dElkc1tlXT1udWxsfV9nZXRIb3N0KGUsdCl7Y29uc3QgXz13aW5kb3cuVEVMRU1FVFJZX0hPU1RTLHM9X1tlXSYmX1tlXVt0XTtyZXR1cm4gQm9vbGVhbihzKT9zOm51bGx9X2dldFN1YnNlcnZpY2VUeXBlKGUpe2lmKCFbImNoYXJ0cyIsInNpdGUiXS5pbmNsdWRlcyhlKSlyZXR1cm4iYWxsIjtsZXQgdD0iZnJlZSI7Y29uc3QgXz13aW5kb3cudXNlci5pc19wcm87cmV0dXJuImNoYXJ0cyI9PT1lJiYoMCxyLmlzT25Nb2JpbGVBcHBQYWdlKSgib2xkIik/dD1fPyJpb3NfcHJvIjoiaW9zX2ZyZWUiOiJjaGFydHMiPT09ZSYmKDAsci5pc09uTW9iaWxlQXBwUGFnZSkoIm5ldyIpP3Q9Xz8iYW5kcm9pZF9wcm8iOiJhbmRyb2lkX2ZyZWUiOigwLGEub25XaWRnZXQpKCk/dD0id2lkZ2V0IjpfJiYodD0icHJvIiksdH1fcGFyc2VDbHVzdGVyKGUpe2xldCB0O3RyeXt0PUpTT04ucGFyc2UoZSkuc2Vzc2lvbl9pZH1jYXRjaChlKXtyZXR1cm4gby5sb2dFcnJvcigiQ291bGQgbm90IHBhcnNlIGNsdXN0ZXIgaWQgKHNlc3Npb24gaWQpIiksbnVsbH1jb25zdCBfPS8oLipAKSguKikvZ2kuZXhlYyh0KTtyZXR1cm4gbnVsbCE9PV8mJl8ubGVuZ3RoPj0zP19bMl06bnVsbH1fYXBwZW5kQ29tbW9uQWRkaXRpb25hbEluZm8oZSx0KXtyZXR1cm4gdC5mb3JFYWNoKCh0PT57dCBpbiB0aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YSYmKGUuYWRkaXRpb25hbD1lLmFkZGl0aW9uYWx8fHt9LGUuYWRkaXRpb25hbFt0XT10aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YVt0XSl9KSksZX1fY3JvcFBhcmFtcyhlKXsKZm9yKGNvbnN0IHQgaW4gZSllLmhhc093blByb3BlcnR5KHQpJiZlW3RdLmxlbmd0aD4xZTMmJihlLnRvb19tdWNoX21ldHJpY3NfZnJhbWU9ZS50b29fbXVjaF9tZXRyaWNzX2ZyYW1lPz9bXSxlLnRvb19tdWNoX21ldHJpY3NfZnJhbWUucHVzaCh7dmFsdWU6ZVt0XS5sZW5ndGgsYWRkaXRpb25hbDp7ZXZlbnQ6dH19KSxkZWxldGUgZVt0XSk7cmV0dXJuIGV9X3JlbmFtZUFsbFBhcmFtcyhlKXtjb25zdCB0PXt9O2Zvcihjb25zdCBfIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShfKSYmKHRbX109W10sZVtfXS5mb3JFYWNoKChlPT57dFtfXS5wdXNoKHRoaXMuX3JlbmFtZUVudHJ5UGFyYW1zKGUpKX0pKSk7cmV0dXJuIHR9X3JlbmFtZUVudHJ5UGFyYW1zKGUpe2NvbnN0IHQ9e2NvdW50OiJjIix2YWx1ZToidiIsdGV4dDoidCIsYWRkaXRpb25hbDoiYSJ9O3JldHVybiBPYmplY3Qua2V5cyhlKS5yZWR1Y2UoKChfLHMpPT4oX1t0W3NdXT1lW3NdLF8pKSx7fSl9X2NsZWFuQWxsUGFyYW1zKGUpe2NvbnN0IHQ9e307Zm9yKGNvbnN0IF8gaW4gZSlpZihlLmhhc093blByb3BlcnR5KF8pKXt0W19dPVtdO2NvbnN0IHM9e2M6MH07ZVtfXS5mb3JFYWNoKChlPT57Y29uc3QgaT10aGlzLl9jbGVhbkVudHJ5UGFyYW1zKGUpLG49T2JqZWN0LmtleXMoaSkubGVuZ3RoOzE9PT1uJiZ2b2lkIDAhPT1pLmM/cy5jKz1pLmM6bj4wJiZ0W19dLnB1c2goaSl9KSkscy5jPjAmJnRbX10ucHVzaChzKSwwPT09dFtfXS5sZW5ndGgmJmRlbGV0ZSB0W19dfXJldHVybiB0fV9jbGVhbkVudHJ5UGFyYW1zKGUpe2NvbnN0IHQ9T2JqZWN0LmtleXMoZSkucmVkdWNlKCgodCxfKT0+ImMiIT09XyYmInQiIT09X3x8ZVtfXT8odFtfXT1lW19dLHQpOnQpLHt9KTtyZXR1cm4iYyJpbiB0fHwidiJpbiB0fHwidCJpbiB0P3Q6e319X2FkZFJlcG9ydFRvU3Rhc2goZSx0LF8pe18gaW4gdGhpcy5fcmVwb3J0U3Rhc2h8fCh0aGlzLl9yZXBvcnRTdGFzaFtfXT17fSksdCBpbiB0aGlzLl9yZXBvcnRTdGFzaFtfXXx8KHRoaXMuX3JlcG9ydFN0YXNoW19dW3RdPVtdKSxPYmplY3Qua2V5cyhlKS5sZW5ndGg+MCYmdGhpcy5fcmVwb3J0U3Rhc2hbX11bdF0ucHVzaChlKX19fSw5NjQ0ODYoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7ZGVlcEV4dGVuZDooKT0+aX0pO2NvbnN0IHM9bmV3IFNldChbIl9fcHJvdG9fXyIsInByb3RvdHlwZSIsImNvbnN0cnVjdG9yIl0pO2Z1bmN0aW9uIGkoZSwuLi50KXtyZXR1cm4gZSYmIm9iamVjdCI9PXR5cGVvZiBlPygwPT09dC5sZW5ndGh8fHQuZm9yRWFjaCgodD0+e251bGwhPXQmJiJvYmplY3QiPT10eXBlb2YgdCYmT2JqZWN0LmtleXModCkuZm9yRWFjaCgoXz0+e2lmKGZ1bmN0aW9uKGUpe3JldHVybiBzLmhhcyhlKX0oXykpcmV0dXJuO2NvbnN0IGE9ZVtfXSxyPXRbX107aWYocj09PWUpcmV0dXJuO2NvbnN0IG89QXJyYXkuaXNBcnJheShyKTtpZihyJiYobihyKXx8bykpe2xldCB0O3Q9bz9hJiZBcnJheS5pc0FycmF5KGEpP2E6W106YSYmbihhKT9hOnt9LGVbX109aSh0LHIpfWVsc2Ugdm9pZCAwIT09ciYmKGVbX109cil9KSl9KSksZSk6ZX1mdW5jdGlvbiBuKGUpe2lmKCFlfHwiW29iamVjdCBPYmplY3RdIiE9PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKSlyZXR1cm4hMTtjb25zdCB0PU9iamVjdC5nZXRQcm90b3R5cGVPZihlKTtpZighdClyZXR1cm4hMDtjb25zdCBfPU9iamVjdC5oYXNPd25Qcm9wZXJ0eS50b1N0cmluZyxzPXQuaGFzT3duUHJvcGVydHkoImNvbnN0cnVjdG9yIikmJnQuY29uc3RydWN0b3I7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHMmJl8uY2FsbChzKT09PV8uY2FsbChPYmplY3QpfX0sNzY4NzYwKGUsdCxfKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcygpe2xldCBlLHQ7cmV0dXJue3Byb21pc2U6bmV3IFByb21pc2UoKChfLHMpPT57ZT1fLHQ9c30pKSxyZWplY3Q6dCxyZXNvbHZlOmV9fV8uZCh0LHtjcmVhdGVEZWZlcnJlZFByb21pc2U6KCk9PnN9KX0sNTg5NzQ5KGUsdCxfKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtpZih2b2lkIDA9PT1lKXJldHVybiIiO2lmKGUgaW5zdGFuY2VvZiBFcnJvcil7bGV0IHQ9ZS5tZXNzYWdlO3JldHVybiBlLnN0YWNrJiYodCs9IiAiK2Uuc3RhY2spLHR9cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlP2UudG9TdHJpbmcoKTpKU09OLnN0cmluZ2lmeShlKX1fLmQodCx7ZXJyb3JUb1N0cmluZzooKT0+c30pfSwxMTYzMTAoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7Y3JlYXRlSnNvblNlcmlhbGl6YWJsZUNhY2hlOigpPT5hfSk7dmFyIHM9XygxMzg2MzgpO2NsYXNzIGl7Y29uc3RydWN0b3IoZSl7dGhpcy5fY2FjaGU9ZX1hc3luYyBnZXRWYWx1ZShlKXtjb25zdCB0PWF3YWl0IHRoaXMuX2NhY2hlLm1hdGNoKGUpO2lmKCF0KXJldHVybiBudWxsO3JldHVybiJhcHBsaWNhdGlvbi9qc29uIj09PSgwLHMuZW5zdXJlTm90TnVsbCkodC5oZWFkZXJzLmdldCgiQ29udGVudC1UeXBlIikpP3QuanNvbigpOnQudGV4dCgpfWFzeW5jIHNldFZhbHVlKGUsdCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P3RoaXMuX2NhY2hlLnB1dChlLG5ldyBSZXNwb25zZSh0LHtoZWFkZXJzOnsiY29udGVudC10eXBlIjoidGV4dC9wbGFpbiJ9fSkpOnRoaXMuX2NhY2hlLnB1dChlLG5ldyBSZXNwb25zZShKU09OLnN0cmluZ2lmeSh0KSx7aGVhZGVyczp7ImNvbnRlbnQtdHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifX0pKX1hc3luYyBtaWdyYXRlVmFsdWUoZSx0KXtjb25zdCBfPWF3YWl0IHRoaXMuZ2V0VmFsdWUoZSk7XyYmKGF3YWl0IHRoaXMuc2V0VmFsdWUodCxfKSxhd2FpdCB0aGlzLl9jYWNoZS5kZWxldGUoZSkpfWFzeW5jIGRlbGV0ZVZhbHVlKGUpe3JldHVybiB0aGlzLl9jYWNoZS5kZWxldGUoZSl9fWNsYXNzIG57Y29uc3RydWN0b3IoKXt0aGlzLl9kYXRhPW5ldyBNYXB9YXN5bmMgZ2V0VmFsdWUoZSl7cmV0dXJuIHRoaXMuX2RhdGEuZ2V0KGUpPz9udWxsfWFzeW5jIHNldFZhbHVlKGUsdCl7dGhpcy5fZGF0YS5zZXQoZSx0KX1hc3luYyBtaWdyYXRlVmFsdWUoZSx0KXsKdGhpcy5fZGF0YS5oYXMoZSkmJih0aGlzLl9kYXRhLnNldCh0LHRoaXMuX2RhdGEuZ2V0KGUpKSx0aGlzLl9kYXRhLmRlbGV0ZShlKSl9YXN5bmMgZGVsZXRlVmFsdWUoZSl7cmV0dXJuIHRoaXMuX2RhdGEuZGVsZXRlKGUpfX1hc3luYyBmdW5jdGlvbiBhKGUpe3RyeXtjb25zdCB0PWF3YWl0IGNhY2hlcy5vcGVuKGUpO3JldHVybiBuZXcgaSh0KX1jYXRjaHtyZXR1cm4gbmV3IG59fX0sNDAzNihlLHQsXyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7Y29uc3QgdD17fTtpZigtMT09PWUuaW5kZXhPZigiQCIpKXQuc2hvcnRJZD1lLHQucGFja2FnZUlkPSJ0di1iYXNpY3N0dWRpZXMiLHQuaWQ9ZSsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPTE7ZWxzZXtjb25zdCBfPWUuc3BsaXQoIkAiKTt0LnNob3J0SWQ9X1swXTtjb25zdCBzPV9bMV0uc3BsaXQoIi0iKTtpZigzPT09cy5sZW5ndGgpdC5wYWNrYWdlSWQ9cy5zbGljZSgwLDIpLmpvaW4oIi0iKSx0LmlkPXQuc2hvcnRJZCsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPXBhcnNlSW50KHNbMl0pO2Vsc2UgaWYoMT09PXMubGVuZ3RoJiYiZGVjaXNpb25iYXIiPT09c1swXSl0LnBhY2thZ2VJZD0ibGVzLSIrc1swXSx0LmlkPXQuc2hvcnRJZCsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPTE7ZWxzZXtpZigxIT09cy5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJ1bmV4cGVjdGVkIHN0dWR5IGlkOiIrZSk7dC5wYWNrYWdlSWQ9InR2LSIrc1swXSx0LmlkPXQuc2hvcnRJZCsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPTF9fWlmKHQuZnVsbElkPXQuaWQrIi0iK3QudmVyc2lvbiwidHYtc2NyaXB0aW5nIj09PXQucGFja2FnZUlkKXtjb25zdCBlPXQuc2hvcnRJZDtpZigwPT09ZS5pbmRleE9mKCJTY3JpcHQkIil8fDA9PT1lLmluZGV4T2YoIlN0cmF0ZWd5U2NyaXB0JCIpKXtjb25zdCBfPWUuaW5kZXhPZigiXyIpO3QucHJvZHVjdElkPV8+PTA/ZS5zdWJzdHJpbmcoMCxfKTp0LnBhY2thZ2VJZH1lbHNlIHQucHJvZHVjdElkPXQucGFja2FnZUlkfWVsc2UgdC5wcm9kdWN0SWQ9dC5wYWNrYWdlSWQ7cmV0dXJuIHR9Xy5kKHQse3BhcnNlSWRTdHJpbmc6KCk9PnN9KX0sNzgwOTc1KGUsdCxfKXsidXNlIHN0cmljdCI7dmFyIHM7Xy5kKHQse0NoYXJ0QXBpTWVzc2FnZU1ldGhvZDooKT0+c30pLGZ1bmN0aW9uKGUpe2UuQ29ubmVjdGVkPSJjb25uZWN0ZWQiLGUuRGlzY29ubmVjdGVkPSJkaXNjb25uZWN0ZWQiLGUuUmVjb25uZWN0QmFpbG91dD0icmVjb25uZWN0X2JhaWxvdXQifShzfHwocz17fSkpfSwzMDkwNTIoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7UVVPVEVfRklFTERTOigpPT5pLFFVT1RFX0ZJRUxEU19DQUNIRTooKT0+bn0pO3ZhciBzPV8oMTM4NjM4KQo7Y29uc3QgaT1uZXcgU2V0KFsicHJvX25hbWUiLCJiYXNlX25hbWUiLCJsb2dvIiwibG9nb2lkIiwiY3VycmVuY3ktbG9nb2lkIiwiYmFzZS1jdXJyZW5jeS1sb2dvaWQiLCJzb3VyY2UtbG9nb2lkIiwic2hvcnRfbmFtZSIsIndlYl9zaXRlX3VybCIsInByb19wZXJtIiwidGltZXpvbmUiLCJjdXJyZW50X3Nlc3Npb24iLCJzZXNzaW9uX2hvbGlkYXlzIiwibGFzdF9wcmljZSIsImxwX3RpbWUiLCJzdWJzZXNzaW9ucyIsInByZXZfY2xvc2VfcHJpY2UiLCJvcGVuX3ByaWNlIiwiaGlnaF9wcmljZSIsImxvd19wcmljZSIsInByaWNlXzUyX3dlZWtfaGlnaCIsInByaWNlXzUyX3dlZWtfbG93IiwiYXNrIiwiYXNrX3NpemUiLCJiaWQiLCJiaWRfc2l6ZSIsInJjaCIsInJjaHAiLCJydGMiLCJydGNfdGltZSIsIm5jaCIsIm5jaHAiLCJudGMiLCJudGNfdGltZSIsImRhdGFfZnJlcXVlbmN5IiwicmVmZXJlbmNlLWxhc3QtcGVyaW9kLXN0YXJ0IiwiYnVzaW5lc3NfZGVzY3JpcHRpb24iLCJ3ZWJfc2l0ZV91cmwiLCJmaWdpIiwibnVtYmVyX29mX2VtcGxveWVlcyIsImZsb2F0X3NoYXJlc19vdXRzdGFuZGluZyIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9jYWxlbmRhcl9kYXRlIiwicm9vdCIsImRlc2NyaXB0aW9uIiwiZXhjaGFuZ2UiLCJsaXN0ZWRfZXhjaGFuZ2UiLCJ0eXBlIiwiY291bnRyeV9jb2RlIiwicHJvdmlkZXJfaWQiLCJpc190cmFkYWJsZSIsInNlY3RvciIsInR5cGVzcGVjcyIsInZpc2libGUtcGxvdHMtc2V0IiwiaW5kdXN0cnkiLCJjdXJyZW5jeV9pZCIsImxhc3RfcHJpY2UiLCJmcmFjdGlvbmFsIiwibWlubW92IiwibWlubW92ZTIiLCJwcmljZXNjYWxlIiwidmFyaWFibGVfdGlja19zaXplIiwiY2hhbmdlIiwiY2hhbmdlX3BlcmNlbnQiLCJ2b2x1bWUiLCJhdmVyYWdlX3ZvbHVtZSIsIm1hcmtldF9jYXBfYmFzaWMiLCJtYXJrZXRfY2FwX2NhbGMiLCJ0b3RhbF9yZXZlbnVlIiwiZWFybmluZ3NfcGVyX3NoYXJlX2Jhc2ljX3R0bSIsInByaWNlX2Vhcm5pbmdzX3R0bSIsImJldGFfMV95ZWFyIiwiZHBzX2NvbW1vbl9zdG9ja19wcmltX2lzc3VlX2Z5IiwiZGl2aWRlbmRzX3lpZWxkIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcSIsImVhcm5pbmdzX3B1YmxpY2F0aW9uX3R5cGVfbmV4dF9mcSIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9mcSIsImZvcmVjYXN0X3JhdyIsImxhc3RfcmVsZWFzZV9kYXRlIiwibmV4dF9yZWxlYXNlX2RhdGUiLCJyZWZlcmVuY2VfbGFzdF9wZXJpb2QiLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIiwibnVtYmVyX29mX2VtcGxveWVlcyIsIndlYl9zaXRlX3VybCIsImJ1c2luZXNzX2Rlc2NyaXB0aW9uIiwiZm91bmRlZCIsImNlbyIsImZsb2F0X3NoYXJlc19vdXRzdGFuZGluZyIsInRvdGFsX3NoYXJlc19vdXRzdGFuZGluZyIsImRpdmlkZW5kX3BheW91dF9yYXRpb190dG0iLCJkaXZpZGVuZHNfeWllbGRfY3VycmVudCIsImRpdmlkZW5kX2V4X2RhdGVfdXBjb21pbmciLCJkaXZpZGVuZF9hbW91bnRfdXBjb21pbmciLCJkaXZpZGVuZF9hbW91bnRfcmVjZW50IiwiZGl2aWRlbmRfZXhfZGF0ZV9yZWNlbnQiLCJkaXZpZGVuZF9hbW91bnRfaCIsImRpdmlkZW5kX3BheW1lbnRfZGF0ZV91cGNvbWluZyIsImRpdmlkZW5kX3BheW1lbnRfZGF0ZV9yZWNlbnQiLCJ0b3RhbF9yZXZlbnVlX2ZxX2giLCJ0b3RhbF9yZXZlbnVlX2Z5X2giLCJuZXRfaW5jb21lX2Z5X2giLCJuZXRfaW5jb21lX2ZxX2giLCJ0b3RhbF9hc3NldHNfZnlfaCIsInRvdGFsX2Fzc2V0c19mcV9oIiwidG90YWxfbGlhYmlsaXRpZXNfZnlfaCIsInRvdGFsX2xpYWJpbGl0aWVzX2ZxX2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZnlfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19mcV9oIiwiY2FzaF9mX2ludmVzdGluZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9maW5hbmNpbmdfYWN0aXZpdGllc19meV9oIiwiY2FzaF9mX2ZpbmFuY2luZ19hY3Rpdml0aWVzX2ZxX2giLCJmaXNjYWxfcGVyaW9kX2Z5X2giLCJmaXNjYWxfcGVyaW9kX2ZxX2giLCJmaXNjYWxfcGVyaW9kX2ZoX2giLCJlYXJuaW5nc19yZWxlYXNlX2RhdGVfZnFfaCIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlX2ZxIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnEiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfZnFfaCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcV9oIiwiZWFybmluZ3NfZmlzY2FsX3BlcmlvZF9mcV9oIiwibmV4dF9lYXJuaW5nc19maXNjYWxfcGVyaW9kX2ZxIiwiaXNfbmV4dF9lYXJuaW5nc19yZWxlYXNlX2RhdGVfZXN0aW1hdGVkIiwic3ltYm9sLXByaW1hcnluYW1lIiwiY3VycmVuY3lfY29kZSIsInJhdGVzX21jIiwicmF0ZXNfZnkiLCJyYXRlc190dG0iLCJtZWFzdXJlIiwidmFsdWVfdW5pdF9pZCIsInZhbHVlLXVuaXQtaWQiLCJ1cGRhdGVfbW9kZSIsImxhbmd1YWdlIiwibG9jYWxfZGVzY3JpcHRpb24iLCJzaG9ydF9kZXNjcmlwdGlvbiIsInNvdXJjZSIsInNvdXJjZTIiLCJmb3JtYXQiLCJyZWNvbW1lbmRhdGlvbl9tYXJrIiwibGFzdF9yZXBvcnRfZnJlcXVlbmN5IiwicHJpY2VfdGFyZ2V0X2VzdGltYXRlc19udW0iLCJwcmljZV90YXJnZXRfYXZlcmFnZSIsInVwZGF0ZV9tb2RlX3NlY29uZHMiLCJyZWNvbW1lbmRhdGlvbl90b3RhbCIsInJlY29tbWVuZGF0aW9uX2J1eSIsInJlY29tbWVuZGF0aW9uX292ZXIiLCJyZWNvbW1lbmRhdGlvbl9ob2xkIiwicmVjb21tZW5kYXRpb25fdW5kZXIiLCJyZWNvbW1lbmRhdGlvbl9zZWxsIiwicmVjb21tZW5kYXRpb25fdG90YWwiLCJwcmljZV90YXJnZXRfaGlnaCIsInByaWNlX3RhcmdldF9sb3ciLCJyYXRlc19wdCIsInJhdGVzX3B0IiwidG90YWxfcmV2ZW51ZV9meV9oIiwidG90YWxfcmV2ZW51ZV9mcV9oIiwidG90YWxfcmV2ZW51ZV9maF9oIiwibmV0X3JldmVudWVfZnlfaCIsIm5ldF9yZXZlbnVlX2ZxX2giLCJuZXRfcmV2ZW51ZV9maF9oIiwibmV0X2luY29tZV9meV9oIiwibmV0X2luY29tZV9mcV9oIiwibmV0X2luY29tZV9maF9oIiwidG90YWxfYXNzZXRzX2Z5X2giLCJ0b3RhbF9hc3NldHNfZnFfaCIsInRvdGFsX2Fzc2V0c19maF9oIiwidG90YWxfbGlhYmlsaXRpZXNfZnlfaCIsInRvdGFsX2xpYWJpbGl0aWVzX2ZxX2giLCJ0b3RhbF9saWFiaWxpdGllc19maF9oIiwiY2FzaF9mX29wZXJhdGluZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19maF9oIiwiY2FzaF9mX2ludmVzdGluZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9pbnZlc3RpbmdfYWN0aXZpdGllc19maF9oIiwiY2FzaF9mX2ZpbmFuY2luZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9maW5hbmNpbmdfYWN0aXZpdGllc19maF9oIiwiZmlzY2FsX3BlcmlvZF9meSIsImZpc2NhbF9wZXJpb2RfZnEiLCJmaXNjYWxfcGVyaW9kX2ZoIiwiZWFybmluZ3NfcmVsZWFzZV9kYXRlX2ZxX2giLCJlYXJuaW5nc19yZWxlYXNlX2RhdGVfZnlfaCIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZV9maF9oIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGVfZnEiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZV9meSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlX2ZoIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X3RpbWUiLCJlYXJuaW5nc19yZWxlYXNlX3RpbWUiLCJpc19uZXh0X2Vhcm5pbmdzX3JlbGVhc2VfZGF0ZV9lc3RpbWF0ZWQiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X2Z5IiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZmgiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfZnFfaCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9meV9oIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X2ZoX2giLCJlYXJuaW5nc19wZXJfc2hhcmVfZnFfaCIsImVhcm5pbmdzX3Blcl9zaGFyZV9meV9oIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZoX2giLCJlYXJuaW5nc19maXNjYWxfcGVyaW9kX2ZxX2giLCJlYXJuaW5nc19maXNjYWxfcGVyaW9kX2Z5X2giLCJlYXJuaW5nc19maXNjYWxfcGVyaW9kX2ZoX2giLCJuZXh0X2Vhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZnEiLCJuZXh0X2Vhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZnkiLCJuZXh0X2Vhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZmgiLCJyZXZlbnVlX2ZxX2giLCJyZXZlbnVlX2Z5X2giLCJyZXZlbnVlX2ZoX2giLCJyZXZlbnVlX2ZvcmVjYXN0X2ZxX2giLCJyZXZlbnVlX2ZvcmVjYXN0X2Z5X2giLCJyZXZlbnVlX2ZvcmVjYXN0X2ZoX2giLCJyZXZlbnVlX2ZvcmVjYXN0X25leHRfZnEiLCJyZXZlbnVlX2ZvcmVjYXN0X25leHRfZnkiLCJyZXZlbnVlX2ZvcmVjYXN0X25leHRfZmgiLCJyZXZlbnVlX3NlZ19ieV9idXNpbmVzc19oIiwicmV2ZW51ZV9zZWdfYnlfcmVnaW9uX2giLCJ0b3RhbF9yZXZlbnVlX2Z5IiwidG90YWxfcmV2ZW51ZV9mcSIsInRvdGFsX3JldmVudWVfZmgiLCJncm9zc19wcm9maXRfZnkiLCJncm9zc19wcm9maXRfZnEiLCJncm9zc19wcm9maXRfZmgiLCJlYml0ZGFfZnkiLCJlYml0X2Z5IiwibmV0X2luY29tZV9meSIsIm5ldF9pbmNvbWVfZnEiLCJuZXRfaW5jb21lX2ZoIiwidG90YWxfZGVidF9meV9oIiwidG90YWxfZGVidF9mcV9oIiwidG90YWxfZGVidF9maF9oIiwiZnJlZV9jYXNoX2Zsb3dfZnlfaCIsImZyZWVfY2FzaF9mbG93X2ZxX2giLCJmcmVlX2Nhc2hfZmxvd19maF9oIiwiY2FzaF9uX2VxdWl2YWxlbnRzX2Z5X2giLCJjYXNoX25fZXF1aXZhbGVudHNfZnFfaCIsImNhc2hfbl9lcXVpdmFsZW50c19maF9oIiwidG90YWxfY3VycmVudF9hc3NldHNfZnkiLCJ0b3RhbF9jdXJyZW50X2Fzc2V0c19mcSIsInRvdGFsX2N1cnJlbnRfYXNzZXRzX2ZoIiwidG90YWxfY3VycmVudF9saWFiaWxpdGllc19meSIsInRvdGFsX2N1cnJlbnRfbGlhYmlsaXRpZXNfZnEiLCJ0b3RhbF9jdXJyZW50X2xpYWJpbGl0aWVzX2ZoIiwidG90YWxfbm9uX2N1cnJlbnRfYXNzZXRzX2Z5IiwidG90YWxfbm9uX2N1cnJlbnRfYXNzZXRzX2ZxIiwidG90YWxfbm9uX2N1cnJlbnRfYXNzZXRzX2ZoIiwidG90YWxfbm9uX2N1cnJlbnRfbGlhYmlsaXRpZXNfZnkiLCJ0b3RhbF9ub25fY3VycmVudF9saWFiaWxpdGllc19mcSIsInRvdGFsX25vbl9jdXJyZW50X2xpYWJpbGl0aWVzX2ZoIiwibG9hbnNfbmV0X2Z5IiwibG9hbnNfbmV0X2Z5X2giLCJsb2Fuc19uZXRfZnFfaCIsImxvYW5zX25ldF9maF9oIiwidG90YWxfZGVwb3NpdHNfZnkiLCJ0b3RhbF9kZXBvc2l0c19meV9oIiwidG90YWxfZGVwb3NpdHNfZnFfaCIsInRvdGFsX2RlcG9zaXRzX2ZoX2giLCJsb2FuX2xvc3NfYWxsb3dhbmNlc19meSIsImxvYW5fbG9zc19hbGxvd2FuY2VzX2Z5X2giLCJsb2FuX2xvc3NfYWxsb3dhbmNlc19mcV9oIiwibG9hbl9sb3NzX2FsbG93YW5jZXNfZmhfaCIsInJlc2VydmVfdG9fdG90YWxfY2FwaXRhbF9meV9oIiwicmVzZXJ2ZV90b190b3RhbF9jYXBpdGFsX2ZxX2giLCJyZXNlcnZlX3RvX3RvdGFsX2NhcGl0YWxfZmhfaCIsInVuZWFybmVkX3ByZW1pdW1fdG9fdG90YWxfY2FwaXRhbF9meV9oIiwidW5lYXJuZWRfcHJlbWl1bV90b190b3RhbF9jYXBpdGFsX2ZxX2giLCJ1bmVhcm5lZF9wcmVtaXVtX3RvX3RvdGFsX2NhcGl0YWxfZmhfaCIsImluc3VyYW5jZV9yZXNlcnZlc19meV9oIiwiaW5zdXJhbmNlX3Jlc2VydmVzX2ZxX2giLCJpbnN1cmFuY2VfcmVzZXJ2ZXNfZmhfaCIsInBvbGljeV9jbGFpbXNfZnlfaCIsInBvbGljeV9jbGFpbXNfZnFfaCIsInBvbGljeV9jbGFpbXNfZmhfaCIsInByZW1pdW1zX2Vhcm5lZF9meV9oIiwicHJlbWl1bXNfZWFybmVkX2ZxX2giLCJwcmVtaXVtc19lYXJuZWRfZmhfaCIsInByaWNlX2Vhcm5pbmdzX2ZxX2giLCJwcmljZV9lYXJuaW5nc19meV9oIiwicHJpY2VfZWFybmluZ3NfZmhfaCIsInByaWNlX3NhbGVzX2ZxX2giLCJwcmljZV9zYWxlc19meV9oIiwicHJpY2Vfc2FsZXNfZmhfaCIsImRpbHV0ZWRfbmV0X2luY29tZV90dG0iLCJ0b3RhbF9yZXZlbnVlX3R0bSIsIm5ldF9yZXZlbnVlX3R0bSIsInByaWNlX2Vhcm5pbmdzX2N1cnJlbnQiLCJwcmljZV9zYWxlc19jdXJyZW50IiwiaXNpbi1kaXNwbGF5ZWQiLCJjdXNpcCIsImNmaV9jb2RlIiwiaW50ZXJlc3RfaW5jb21lX2Z5X2giLCJpbnRlcmVzdF9pbmNvbWVfZnFfaCIsImludGVyZXN0X2luY29tZV9maF9oIiwibm9uX2ludGVyZXN0X2luY29tZV9meV9oIiwibm9uX2ludGVyZXN0X2luY29tZV9mcV9oIiwibm9uX2ludGVyZXN0X2luY29tZV9maF9oIiwid2Vic2l0ZSIsImRvYyIsImV4cGxvcmVyIiwic291cmNlcyIsImNvbnRyYWN0cyIsImNyeXB0b19jb21tb25fY2F0ZWdvcmllcyIsImNyeXB0b19hc3NldCIsImNvbW11bml0eSIsImRpdmlkZW5kc19hdmFpbGFiaWxpdHkiLCJlYXJuaW5nc19hdmFpbGFiaWxpdHkiLCJmaW5hbmNpYWxzX2F2YWlsYWJpbGl0eSIsImRvY3VtZW50cyIsImV0Zl9hc3NldF90eXBlX2V4cG9zdXJlIiwiZXRmX3JlZ2lvbl9leHBvc3VyZSIsInRvcF9ob2xkaW5ncyIsInVuaXQtaWQiLCJvcHRpb25zLWluZm8iLCJvcHRpb24tdHlwZSIsImludGVyZXN0X2luY29tZV9meSIsImludGVyZXN0X2luY29tZV9mcSIsImludGVyZXN0X2luY29tZV9maCIsIm5vbl9pbnRlcmVzdF9pbmNvbWVfZnkiLCJub25faW50ZXJlc3RfaW5jb21lX2ZxIiwibm9uX2ludGVyZXN0X2luY29tZV9maCIsImludGVyZXN0X2V4cGVuc2VfZnkiLCJpbnRlcmVzdF9leHBlbnNlX2ZxIiwiaW50ZXJlc3RfZXhwZW5zZV9maCIsImxvYW5fbG9zc19wcm92aXNpb25fZnkiLCJsb2FuX2xvc3NfcHJvdmlzaW9uX2ZxIiwibG9hbl9sb3NzX3Byb3Zpc2lvbl9maCIsIm5vbl9pbnRlcmVzdF9leHBlbnNlX2Z5Iiwibm9uX2ludGVyZXN0X2V4cGVuc2VfZnEiLCJub25faW50ZXJlc3RfZXhwZW5zZV9maCIsIm5vbl9vcGVyX2luY29tZV9meSIsIm5vbl9vcGVyX2luY29tZV9mcSIsIm5vbl9vcGVyX2luY29tZV9maCIsInVudXN1YWxfZXhwZW5zZV9pbmNfZnkiLCJ1bnVzdWFsX2V4cGVuc2VfaW5jX2ZxIiwidW51c3VhbF9leHBlbnNlX2luY19maCIsInByZXRheF9pbmNvbWVfZnkiLCJwcmV0YXhfaW5jb21lX2ZxIiwicHJldGF4X2luY29tZV9maCIsImluY29tZV90YXhfZnkiLCJpbmNvbWVfdGF4X2ZxIiwiaW5jb21lX3RheF9maCIsImFmdGVyX3RheF9vdGhlcl9pbmNvbWVfZnkiLCJhZnRlcl90YXhfb3RoZXJfaW5jb21lX2ZxIiwiYWZ0ZXJfdGF4X290aGVyX2luY29tZV9maCIsInRvdGFsX25vbl9vcGVyX2luY29tZV9meSIsInRvdGFsX25vbl9vcGVyX2luY29tZV9mcSIsInRvdGFsX25vbl9vcGVyX2luY29tZV9maCIsIm9wZXJfaW5jb21lX2Z5Iiwib3Blcl9pbmNvbWVfZnEiLCJvcGVyX2luY29tZV9maCIsIm9wZXJhdGluZ19leHBlbnNlc19meSIsIm9wZXJhdGluZ19leHBlbnNlc19mcSIsIm9wZXJhdGluZ19leHBlbnNlc19maCIsImNvc3Rfb2ZfZ29vZHNfZnkiLCJjb3N0X29mX2dvb2RzX2ZxIiwiY29zdF9vZl9nb29kc19maCIsImVxdWl0eV9pbl9lYXJuaW5nc19meSIsImVxdWl0eV9pbl9lYXJuaW5nc19mcSIsImVxdWl0eV9pbl9lYXJuaW5nc19maCIsIm1pbm9yaXR5X2ludGVyZXN0X2V4cF9meSIsIm1pbm9yaXR5X2ludGVyZXN0X2V4cF9mcSIsIm1pbm9yaXR5X2ludGVyZXN0X2V4cF9maCIsImRpc2NvbnRpbnVlZF9vcGVyYXRpb25zX2Z5IiwiZGlzY29udGludWVkX29wZXJhdGlvbnNfZnEiLCJkaXNjb250aW51ZWRfb3BlcmF0aW9uc19maCIsImZyb250X2NvbnRyYWN0IiwibWluX2NvbnRyYWN0IiwicG9pbnR2YWx1ZSIsInVuaXRfaWQiLCJleHBpcmF0aW9uIiwiYXVtIiwiYXNzZXRfY2xhc3MiLCJmb2N1cyIsImV4cGVuc2VfcmF0aW8iLCJsYXVuY2hfZGF0ZSIsImlzc3VlciIsImJyYW5kIiwiaG9tZXBhZ2UiLCJpbmRleF90cmFja2VkIiwiYWN0aXZlbHlfbWFuYWdlZCIsImZ1bmRfdmlld19tb2RlcyIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZnlfaCIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZnFfaCIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZmhfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZnlfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZnFfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZmhfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZnlfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZnFfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZmhfaCIsInByZWZlcnJlZF9zdG9ja19jYXJyeWluZ192YWx1ZV9maCIsInByZWZlcnJlZF9zdG9ja19jYXJyeWluZ192YWx1ZV9mcSIsInRvdGFsX2RlYnRfZnEiLCJtaW5vcml0eV9pbnRlcmVzdF9maCIsIm1pbm9yaXR5X2ludGVyZXN0X2ZxIiwiY2FzaF9uX3Nob3J0X3Rlcm1faW52ZXN0X2ZxIiwiY2FzaF9uX2R1ZV9mX2JhbmtzX2ZoIiwiY2FzaF9uX2R1ZV9mX2JhbmtzX2ZxIiwiZW50ZXJwcmlzZV92YWx1ZV9jdXJyZW50IiwiZXRmX2hvbGRpbmdzX2NvdW50IiwiY29udHJhY3QtZGVzY3JpcHRpb24iLCJyZWZlcmVuY2UtbGFzdC1wZXJpb2QiLCJhbGxfdGltZV9oaWdoIiwiYWxsX3RpbWVfaGlnaF9kYXkiLCJhbGxfdGltZV9sb3ciLCJhbGxfdGltZV9sb3dfZGF5Iiwib3V0c3RhbmRpbmdfYW1vdW50Iiwibm9taW5hbF92YWx1ZSIsImRlbm9tX21pbiIsImN1cnJlbnRfY291cG9uIiwiY291cG9uX3R5cGVfZ2VuZXJhbCIsImNvdXBvbl9mcmVxdWVuY3kiLCJ5aWVsZF90b19tYXR1cml0eSIsIm1hdHVyaXR5LWRhdGUiLCJkYXlzX3RvX21hdHVyaXR5IiwiYm9uZF9pc3N1ZXIiLCJpc3N1ZV9kYXRlIiwiYm9uZF9pc3N1ZXJfc3RvY2tfc3ltYm9sIiwidG90YWxfaXNzdWVkX2Ftb3VudCIsInBhaWRfYW1vdW50IiwiYm9uZF9zbnBfcmF0aW5nX2x0X2giLCJwbGFjZW1lbnRfdHlwZSIsImR1cmF0aW9uX3R5cGUiLCJtYXR1cml0eV90eXBlIiwib2ZmZXJfdHlwZSIsInJlZGVtcHRpb25fdHlwZSIsImNvbnZlcnNpb25fb3B0aW9uIiwic2lua2luZ19mdW5kIiwib3duZXJzaGlwX2Zvcm0iLCJkYWlseS1zdW1tYXJ5LWFzdCIsImlzc3VlX3N0YXR1cyIsImNvdXBvbl9oIiwic2lua2luZ19mdW5kX25leHRfZGF0ZSIsInNpbmtpbmdfZnVuZF9taW5fYW1vdW50X25leHQiLCJjYWxsX25leHRfZGF0ZSIsInJlZGVtcHRpb25zX2giLCJjYWxsX25vdGljZV9kYXlzIiwicHV0X25leHRfZGF0ZSIsInB1dF9ub3RpY2VfZGF5c19taW4iLCJzZW5pb3JpdHlfbGV2ZWwiLCJpbmZsYXRpb25fcHJvdGVjdGlvbiIsInBsZWRnZV9zdGF0dXMiLCJib25kX2lzc3Vlcl9jb3VudHJ5X29mX3Jpc2siLCJib25kX2lzc3Vlcl9jcl9wYXJlbnQiLCJjcmVkaXRfZW5oYW5jZW1lbnRfdHlwZSIsImNyZWRpdF9lbmhhbmNlbWVudF9zdGF0dXMiLCJ1c2Vfb2ZfcHJvY2VlZHMiLCJib25kX2lzc3Vlcl9zbnBfcmF0aW5nX2x0X2giLCJib25kX2lzc3Vlcl9zbnBfcmF0aW5nX3N0X2giLCJib25kX2FnZW50c190ciIsImZpcnN0X2Jhcl90aW1lXzFkIiwiZmluYW5jaWFsLWluZGljYXRvci1pZCIsImV4Y2hhbmdlLWluZm8iLCJ1bmRlcmx5aW5nLXN5bWJvbCIsInN0cmlrZSIsImxvdHNpemUiLCJvcHRpb24tc3R5bGUiLCJoYXNfYm9uZHMiLCJvcGVuX3RpbWUiLCJoYXNfYm9uZHMiLCJkZXhfYnV5c18xNW0iLCJkZXhfc2VsbHNfMTVtIiwiZGV4X2J1eV92b2x1bWVfMTVtIiwiZGV4X3NlbGxfdm9sdW1lXzE1bSIsImRleF9idXllcnNfMTVtIiwiZGV4X3NlbGxlcnNfMTVtIiwiZGV4X2J1eXNfMWgiLCJkZXhfc2VsbHNfMWgiLCJkZXhfYnV5X3ZvbHVtZV8xaCIsImRleF9zZWxsX3ZvbHVtZV8xaCIsImRleF9idXllcnNfMWgiLCJkZXhfc2VsbGVyc18xaCIsImRleF9idXlzXzRoIiwiZGV4X3NlbGxzXzRoIiwiZGV4X2J1eV92b2x1bWVfNGgiLCJkZXhfc2VsbF92b2x1bWVfNGgiLCJkZXhfYnV5ZXJzXzRoIiwiZGV4X3NlbGxlcnNfNGgiLCJkZXhfYnV5c18xMmgiLCJkZXhfc2VsbHNfMTJoIiwiZGV4X2J1eV92b2x1bWVfMTJoIiwiZGV4X3NlbGxfdm9sdW1lXzEyaCIsImRleF9idXllcnNfMTJoIiwiZGV4X3NlbGxlcnNfMTJoIiwiZGV4X2J1eXNfMjRoIiwiZGV4X3NlbGxzXzI0aCIsImRleF9idXlfdm9sdW1lXzI0aCIsImRleF9zZWxsX3ZvbHVtZV8yNGgiLCJkZXhfYnV5ZXJzXzI0aCIsImRleF9zZWxsZXJzXzI0aCIsImRleF9jb252ZXJ0ZWRfc3ltYm9sIiwiZGV4X3RyYWRpbmdfdm9sdW1lXzI0aCIsImRleF9jcmVhdGVkX3RpbWUiLCJkZXhfY3VycmVuY3kiLCJkZXhfY3VycmVuY3lfbG9nb2lkIiwiYmxvY2tjaGFpbl9hZGRyZXNzZXNfdXJscyIsImJsb2NrY2hhaW5fYWRkcmVzc2VzIiwiYmFzZV9jdXJyZW5jeSIsImlwb19vZmZlcl9zdGF0dXMiLCJoYXNfaXBvX2RldGFpbHNfdmlzaWJsZSIsImlwb19wcmljZV9yYW5nZV91c2RfbWF4IiwiaXBvX3ByaWNlX3JhbmdlX3VzZF9taW4iLCJpcG9fb2ZmZXJfcHJpY2VfdXNkIiwiaXBvX29mZmVyZWRfc2hhcmVzIiwiaXBvX2RlYWxfYW1vdW50X3VzZCIsImlwb19hbm5vdW5jZW1lbnRfZGF0ZSIsImlwb19vZmZlcl9kYXRlIiwiYXZhaWxhYmxlX2RhdGFfcmFuZ2VfYmVnaW5fZGF0ZSIsImF2YWlsYWJsZV9kYXRhX3JhbmdlX2VuZF9kYXRlIiwiaGFzX2V0Zl9vd25lcnNoaXAiLCJzeW1ib2xfcHJpbWFyeV9saXN0aW5nIiwibWV0cmljX3l0bSIsIm1ldHJpY3MiLCJlcHNfZXN0aW1hdGVzX2Z5X2giLCJlcHNfZXN0aW1hdGVzX2ZxX2giLCJlcHNfZXN0aW1hdGVzX2ZoX2giLCJyZXZlbnVlX2VzdGltYXRlc19meV9oIiwicmV2ZW51ZV9lc3RpbWF0ZXNfZnFfaCIsInJldmVudWVfZXN0aW1hdGVzX2ZoX2giLCJkcHNfZXN0aW1hdGVzX2Z5X2giLCJkcHNfZXN0aW1hdGVzX2ZxX2giLCJkcHNfZXN0aW1hdGVzX2ZoX2giLCJjb3N0X29mX2dvb2RzX2VzdGltYXRlc19meV9oIiwiY29zdF9vZl9nb29kc19lc3RpbWF0ZXNfZnFfaCIsImNvc3Rfb2ZfZ29vZHNfZXN0aW1hdGVzX2ZoX2giLCJncm9zc19wcm9maXRfZXN0aW1hdGVzX2Z5X2giLCJncm9zc19wcm9maXRfZXN0aW1hdGVzX2ZxX2giLCJncm9zc19wcm9maXRfZXN0aW1hdGVzX2ZoX2giLCJzZWxsX2dlbl9hZG1pbl9leHBfdG90YWxfZXN0aW1hdGVzX2Z5X2giLCJzZWxsX2dlbl9hZG1pbl9leHBfdG90YWxfZXN0aW1hdGVzX2ZxX2giLCJzZWxsX2dlbl9hZG1pbl9leHBfdG90YWxfZXN0aW1hdGVzX2ZoX2giLCJyZXNlYXJjaF9hbmRfZGV2X2VzdGltYXRlc19meV9oIiwicmVzZWFyY2hfYW5kX2Rldl9lc3RpbWF0ZXNfZnFfaCIsInJlc2VhcmNoX2FuZF9kZXZfZXN0aW1hdGVzX2ZoX2giLCJlYml0ZGFfZXN0aW1hdGVzX2Z5X2giLCJlYml0ZGFfZXN0aW1hdGVzX2ZxX2giLCJlYml0ZGFfZXN0aW1hdGVzX2ZoX2giLCJlYml0X2VzdGltYXRlc19meV9oIiwiZWJpdF9lc3RpbWF0ZXNfZnFfaCIsImViaXRfZXN0aW1hdGVzX2ZoX2giLCJuZXRfaW5jb21lX2VzdGltYXRlc19meV9oIiwibmV0X2luY29tZV9lc3RpbWF0ZXNfZnFfaCIsIm5ldF9pbmNvbWVfZXN0aW1hdGVzX2ZoX2giLCJ0b3RhbF9hc3NldHNfZXN0aW1hdGVzX2Z5X2giLCJ0b3RhbF9hc3NldHNfZXN0aW1hdGVzX2ZxX2giLCJ0b3RhbF9hc3NldHNfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX25fc2hvcnRfdGVybV9pbnZlc3RfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX25fc2hvcnRfdGVybV9pbnZlc3RfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX25fc2hvcnRfdGVybV9pbnZlc3RfZXN0aW1hdGVzX2ZoX2giLCJ0b3RhbF9kZWJ0X2VzdGltYXRlc19meV9oIiwidG90YWxfZGVidF9lc3RpbWF0ZXNfZnFfaCIsInRvdGFsX2RlYnRfZXN0aW1hdGVzX2ZoX2giLCJib29rX3ZhbHVlX3Blcl9zaGFyZV9lc3RpbWF0ZXNfZnlfaCIsImJvb2tfdmFsdWVfcGVyX3NoYXJlX2VzdGltYXRlc19mcV9oIiwiYm9va192YWx1ZV9wZXJfc2hhcmVfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZoX2giLCJjYXBpdGFsX2V4cGVuZGl0dXJlc19lc3RpbWF0ZXNfZnlfaCIsImNhcGl0YWxfZXhwZW5kaXR1cmVzX2VzdGltYXRlc19mcV9oIiwiY2FwaXRhbF9leHBlbmRpdHVyZXNfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZoX2giLCJmcmVlX2Nhc2hfZmxvd19lc3RpbWF0ZXNfZnlfaCIsImZyZWVfY2FzaF9mbG93X2VzdGltYXRlc19mcV9oIiwiZnJlZV9jYXNoX2Zsb3dfZXN0aW1hdGVzX2ZoX2giLCJlc3RpbWF0ZXNfZmlzY2FsX3BlcmlvZF9meV9oIiwiZXN0aW1hdGVzX2Zpc2NhbF9wZXJpb2RfZnFfaCIsImVzdGltYXRlc19maXNjYWxfcGVyaW9kX2ZoX2giLCJmb3JlY2FzdF9hdmFpbGFiaWxpdHkiXSksbj1uZXcgY2xhc3N7CmNvbnN0cnVjdG9yKGUpe3RoaXMuX2NhY2hlPW5ldyBNYXAsdGhpcy5fdGltZXM9bmV3IE1hcCx0aGlzLl9maWVsZHM9Wy4uLmUuZmllbGRzXX11cGRhdGUoZSx0LF8pe2NvbnN0IGk9KDAscy5lbnN1cmVEZWZpbmVkKShlLnN5bWJvbG5hbWUpLG49RGF0ZS5ub3coKTtpZih0aGlzLl9jYWNoZS5oYXMoaSl8fHRoaXMuX2NhY2hlLnNldChpLHtzeW1ib2xuYW1lOmksc3RhdHVzOmUuc3RhdHVzLHZhbHVlczp7fX0pLHRoaXMuX3RpbWVzLmhhcyhpKXx8dGhpcy5fdGltZXMuc2V0KGksbmV3IE1hcCksImVycm9yIj09PWUuc3RhdHVzKXJldHVybjtjb25zdCBhPSgwLHMuZW5zdXJlRGVmaW5lZCkodGhpcy5fY2FjaGUuZ2V0KGkpKSxyPSgwLHMuZW5zdXJlRGVmaW5lZCkodGhpcy5fdGltZXMuZ2V0KGkpKTthLnN0YXR1cz1lLnN0YXR1cztmb3IoY29uc3QgcyBvZiB0aGlzLl9maWVsZHMpdC5oYXMocykmJihffHx2b2lkIDAhPT1lLnZhbHVlc1tzXSkmJihhLnZhbHVlc1tzXT1lLnZhbHVlc1tzXSxyLnNldChzLG4pKX1nZXQoZSl7cmV0dXJuIHRoaXMuX2NhY2hlLmdldChlKT8/bnVsbH1nZXRUaW1lcyhlKXtyZXR1cm4gdGhpcy5fdGltZXMuZ2V0KGUpPz9udWxsfWZpZWxkcygpe3JldHVybiB0aGlzLl9maWVsZHN9fSh7ZmllbGRzOml9KX0sOTI3NTkzKGUsdCxfKXsidXNlIHN0cmljdCI7Xy5kKHQse1F1b3RlU2Vzc2lvbk11bHRpcGxleGVyOigpPT5mfSk7dmFyIHM9Xyg1ODcxNjgpLGk9Xyg1NDc4NTEpLG49XygzNTI4MzcpLGE9XygxMzg2MzgpLHI9XygyMjEwNjEpLG89Xyg5NDgzODApLGw9Xyg5NjQ0ODYpLGM9XygxNTAxNTApLGg9XygzMDkwNTIpLGQ9XygzNjc5NDYpO2xldCB1PSExO3ZhciBtPV8oOTcwNzc0KTtjb25zdCBwPSgwLHIuZ2V0TG9nZ2VyKSgiV2ViY2hhcnRDbGllbnQuUXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXIiKTtjbGFzcyBme2NvbnN0cnVjdG9yKGUpe3RoaXMub25Db25uZWN0PW5ldyBvLkRlbGVnYXRlLHRoaXMub25EaXNjb25uZWN0PW5ldyBvLkRlbGVnYXRlLHRoaXMuX2Nvbm5lY3RlZD0hMSx0aGlzLl9zdWJzY3JpcHRpb25zPXt9LHRoaXMuX3N5bWJvbF9kYXRhPXt9LHRoaXMuX2RlbGF5VXBkYXRlRmFzdFN5bWJvbHM9KDAsaS5kZWZhdWx0KSh0aGlzLl91cGRhdGVGYXN0U3ltYm9scywyNTApLHRoaXMuX3Rocm90dGxlZFN5bWJvbERhdGE9e30sdGhpcy5fZXh0ZW5zaW9ucz17fSx0aGlzLm9wdGlvbnM9e3Rocm90dGxlVGltZW91dDoxMjUsLi4uZX0sdGhpcy5fc2Vzc2lvbj1uZXcgbS5RdW90ZVNlc3Npb24oZS5hcGksWyJtdWx0aXBsZXhlciIsZS5uYW1lLCgwLGMucmFuZG9tSGFzaCkoKV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIl8iKSksdGhpcy5vcHRpb25zLmV4dGVuc2lvbnM/LmZvcm1hdHRlciYmKHRoaXMuX2V4dGVuc2lvbnMuZm9ybWF0dGVyPXRoaXMub3B0aW9ucy5leHRlbnNpb25zLmZvcm1hdHRlcih0aGlzKSksdGhpcy5vcHRpb25zLmV4dGVuc2lvbnM/LnNuYXBzaG90JiYodGhpcy5fZXh0ZW5zaW9ucy5zbmFwc2hvdD10aGlzLm9wdGlvbnMuZXh0ZW5zaW9ucy5zbmFwc2hvdCh0aGlzKSksdGhpcy5jb25uZWN0KCl9ZGVzdHJveSgpe3RoaXMuX3Nlc3Npb24uZGVzdHJveSgpLHRoaXMuX2Nvbm5lY3RlZD0hMSx0aGlzLm9uRGlzY29ubmVjdC5maXJlKCl9aW50ZXJuYWxzKCl7cmV0dXJue3Nlc3Npb246KCk9PnRoaXMuX3Nlc3Npb24sc3Vic2NyaXB0aW9uczooKT0+dGhpcy5fc3Vic2NyaXB0aW9ucyxkYXRhOigpPT50aGlzLl9zeW1ib2xfZGF0YX19Y29ubmVjdCgpe3RoaXMuX3Nlc3Npb24uY29ubmVjdCh0aGlzLnF1b3RlSGFuZGxlci5iaW5kKHRoaXMpKX1xdW90ZUhhbmRsZXIoZSl7Y29uc3R7bWV0aG9kOnQscGFyYW1zOl99PWU7c3dpdGNoKHQpe2Nhc2UiY29ubmVjdGVkIjp0aGlzLl9jb25uZWN0ZWR8fCh0aGlzLl9jb25uZWN0ZWQ9ITAsdGhpcy5vbkNvbm5lY3RlZCgpKTticmVhaztjYXNlInF1b3RlX2xpc3RfZmllbGRzIjpicmVhaztjYXNlInF1b3RlX3N5bWJvbF9kYXRhIjp0aGlzLl9jb25uZWN0ZWQmJnRoaXMub25TeW1ib2xEYXRhKF9bMF0pO2JyZWFrO2Nhc2UicXVvdGVfY29tcGxldGVkIjp0aGlzLl9jb25uZWN0ZWQmJnRoaXMub25TeW1ib2xEYXRhKHtzeW1ib2xuYW1lOl9bMF0sY29tcGxldGU6cGVyZm9ybWFuY2Uubm93KCksdmFsdWVzOnt9fSk7YnJlYWs7Y2FzZSJkaXNjb25uZWN0ZWQiOnRoaXMuX2Nvbm5lY3RlZCYmKHRoaXMuX2Nvbm5lY3RlZD0hMSx0aGlzLm9uRGlzY29ubmVjdC5maXJlKCkpfX1vbkNvbm5lY3RlZCgpe3RoaXMuc2V0RmllbGRzKCk7Y29uc3QgZT1PYmplY3Qua2V5cyh0aGlzLl9zeW1ib2xfZGF0YSk7ZS5sZW5ndGgmJih0aGlzLl9zZXNzaW9uLnF1b3RlQWRkU3ltYm9scyhlKSx0aGlzLl9kZWxheVVwZGF0ZUZhc3RTeW1ib2xzKCkpLHRoaXMub25Db25uZWN0LmZpcmUoKX1zZXRGaWVsZHMoKXtjb25zdHtmaWVsZHM6ZX09dGhpcy5vcHRpb25zO2UmJmUubGVuZ3RoJiZ0aGlzLl9zZXNzaW9uLnF1b3RlU2V0RmllbGRzKGUpfW9uU3ltYm9sRGF0YShlKXt0cnl7ZS5zdGF0dXMmJmguUVVPVEVfRklFTERTX0NBQ0hFLnVwZGF0ZShlLGguUVVPVEVfRklFTERTLCExKX1jYXRjaChlKXt9Y29uc3QgdD1lLnN5bWJvbG5hbWU7bGV0IF89dGhpcy5fdGhyb3R0bGVkU3ltYm9sRGF0YVt0XTt1JiYoZGVsZXRlIGUudmFsdWVzLnByZXZfY2xvc2VfcHJpY2Usdm9pZCAwIT09ZS52YWx1ZXMucmVndWxhcl9jbG9zZSYmKGUudmFsdWVzLnByZXZfY2xvc2VfcHJpY2U9ZS52YWx1ZXMucmVndWxhcl9jbG9zZSkpLF98fChfPXRoaXMuX3Rocm90dGxlZFN5bWJvbERhdGFbdF09e2ZuRGlzcGF0Y2g6KDAscy5kZWZhdWx0KSh0aGlzLmRpc3BhdGNoU3ltYm9sRGF0YS5iaW5kKHRoaXMpLHRoaXMub3B0aW9ucy50aHJvdHRsZVRpbWVvdXQpfSksXy5jYWNoZT8oMCxsLmRlZXBFeHRlbmQpKF8uY2FjaGUsZSk6Xy5jYWNoZT1lLF8uZm5EaXNwYXRjaCh0KX1kaXNwYXRjaFN5bWJvbERhdGEoZSl7Y29uc3QgdD10aGlzLl9zeW1ib2xfZGF0YVtlXSxfPXRoaXMuX3Rocm90dGxlZFN5bWJvbERhdGFbZV0uY2FjaGUKO2lmKGRlbGV0ZSB0aGlzLl90aHJvdHRsZWRTeW1ib2xEYXRhW2VdLmNhY2hlLHRoaXMuX3N5bWJvbF9kYXRhW2VdKXsoMCxsLmRlZXBFeHRlbmQpKHQsXyksdC52YWx1ZXMmJnRoaXMuX3BhcnNlVXBkYXRlTW9kZSh0LnZhbHVlcyk7Zm9yKGNvbnN0IHMgaW4gdGhpcy5fc3Vic2NyaXB0aW9ucyl7Y29uc3QgaT10aGlzLl9zdWJzY3JpcHRpb25zW3NdO2lmKGkuaGFzKGUpKXtbLi4uKDAsYS5lbnN1cmVEZWZpbmVkKShpLmdldChlKSldLmZvckVhY2goKGU9PntlKHQsXyl9KSl9fX19c3Vic2NyaWJlKGUsdCxfKXt0aGlzLl9zdWJzY3JpcHRpb25zW2VdPXRoaXMuX3N1YnNjcmlwdGlvbnNbZV18fG5ldyBNYXA7Y29uc3Qgcz10aGlzLl9zdWJzY3JpcHRpb25zW2VdO3Q9QXJyYXkuaXNBcnJheSh0KT9bLi4udF06W3RdO2NvbnN0IGk9W107dC5mb3JFYWNoKChlPT57dGhpcy5fc3ltYm9sX2RhdGFbZV0/cyYmcy5oYXMoZSl8fHRoaXMuX3N5bWJvbF9kYXRhW2VdLnN1YnNjcmliZXJzX2NvdW50Kys6KHRoaXMuX3N5bWJvbF9kYXRhW2VdPXtzdWJzY3JpYmVyc19jb3VudDoxfSxpLnB1c2goZSkpLHMuaGFzKGUpfHxzLnNldChlLFtdKTtjb25zdCB0PSgwLGEuZW5zdXJlRGVmaW5lZCkocy5nZXQoZSkpO3QucHVzaChfKSx0LmZhc3Q9ITAsdGhpcy5fc3ltYm9sX2RhdGFbZV0mJnRoaXMuX3N5bWJvbF9kYXRhW2VdLnZhbHVlcyYmXyh0aGlzLl9zeW1ib2xfZGF0YVtlXSx0aGlzLl9zeW1ib2xfZGF0YVtlXSl9KSksaS5sZW5ndGgmJnRoaXMuX2Nvbm5lY3RlZCYmKHRoaXMuX3Nlc3Npb24ucXVvdGVBZGRTeW1ib2xzKGkpLHRoaXMuX2RlbGF5VXBkYXRlRmFzdFN5bWJvbHMoKSl9dW5zdWJzY3JpYmUoZSx0LF8pe3Q9QXJyYXkuaXNBcnJheSh0KT9bLi4udF06W3RdO2NvbnN0IHM9dGhpcy5fc3Vic2NyaXB0aW9uc1tlXSxpPVtdO2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKXtjb25zdCByPXRbbl07aWYocyYmcy5oYXMocikpe2lmKF8pe2NvbnN0IGU9KDAsYS5lbnN1cmVEZWZpbmVkKShzLmdldChyKSksdD1lLmluZGV4T2YoXyk7fnQmJmUuc3BsaWNlKHQsMSksZS5sZW5ndGh8fHMuZGVsZXRlKHIpfWVsc2Ugcy5kZWxldGUocik7MD09PXMuc2l6ZSYmZGVsZXRlIHRoaXMuX3N1YnNjcmlwdGlvbnNbZV0sdGhpcy5fc3ltYm9sX2RhdGEuaGFzT3duUHJvcGVydHkocikmJihzLmhhcyhyKXx8dGhpcy5fc3ltYm9sX2RhdGFbcl0uc3Vic2NyaWJlcnNfY291bnQtLSx0aGlzLl9zeW1ib2xfZGF0YVtyXS5zdWJzY3JpYmVyc19jb3VudHx8KGRlbGV0ZSB0aGlzLl9zeW1ib2xfZGF0YVtyXSxpLnB1c2gocikpKX1lbHNlIHAubG9nV2FybihgQ2hlY2sgeW91ciBzdWIvdW5zdWIgbG9va3MgaXQgaXMgbGVha2luZyAoY2xpZW50X2lkPSR7ZX0sIHN5bWJvbD0ke3J9KWApfWkubGVuZ3RoJiZ0aGlzLl9jb25uZWN0ZWQmJih0aGlzLl9zZXNzaW9uLnF1b3RlUmVtb3ZlU3ltYm9scyhpKSx0aGlzLl9kZWxheVVwZGF0ZUZhc3RTeW1ib2xzKCkpfXNldEZhc3RTeW1ib2xzKGUsdCl7aWYodGhpcy5fc3Vic2NyaXB0aW9uc1tlXSl7Y29uc3QgXz10aGlzLl9zdWJzY3JpcHRpb25zW2VdLHM9QXJyYXkuZnJvbShfLmtleXMoKSk7Zm9yKGxldCBlPTA7ZTxzLmxlbmd0aDsrK2Upe2NvbnN0IGk9c1tlXTsoMCxhLmVuc3VyZURlZmluZWQpKF8uZ2V0KGkpKS5mYXN0PS0xIT09dC5pbmRleE9mKGkpfX10aGlzLl9kZWxheVVwZGF0ZUZhc3RTeW1ib2xzKCl9c25hcHNob3QoZSl7cmV0dXJuIHZvaWQgMD09PXRoaXMuX2V4dGVuc2lvbnMuc25hcHNob3Q/UHJvbWlzZS5yZWplY3QoIk5vIGZvcm1hdHRlciBleHRlbnNpb24gcHJvdmlkZWQiKTp0aGlzLl9leHRlbnNpb25zLnNuYXBzaG90KGUpfWZvcm1hdHRlcihlLHQpe3JldHVybiB2b2lkIDA9PT10aGlzLl9leHRlbnNpb25zLmZvcm1hdHRlcj9Qcm9taXNlLnJlamVjdCgiTm8gZm9ybWF0dGVyIGV4dGVuc2lvbiBwcm92aWRlZCIpOnRoaXMuX2V4dGVuc2lvbnMuZm9ybWF0dGVyKGUsdCl9X3VwZGF0ZUZhc3RTeW1ib2xzKCl7aWYoIXRoaXMuX2Nvbm5lY3RlZClyZXR1cm47Y29uc3QgZT10aGlzLl9mYXN0U3ltYm9scygpOzA9PT1lLmxlbmd0aD90aGlzLl9zZXNzaW9uLnF1b3RlSGliZXJuYXRlQWxsKCk6dGhpcy5fc2Vzc2lvbi5xdW90ZUZhc3RTeW1ib2xzKGUpfV9mYXN0U3ltYm9scygpe2xldCBlPVtdO2Zvcihjb25zdCB0IGluIHRoaXMuX3N1YnNjcmlwdGlvbnMpe2NvbnN0IF89dGhpcy5fc3Vic2NyaXB0aW9uc1t0XSxzPUFycmF5LmZyb20oXy5rZXlzKCkpO2ZvcihsZXQgdD0wO3Q8cy5sZW5ndGg7Kyt0KXtjb25zdCBpPXNbdF07KDAsYS5lbnN1cmVEZWZpbmVkKShfLmdldChpKSkuZmFzdCYmZS5wdXNoKGkpfX1yZXR1cm4gZT0oMCxuLmRlZmF1bHQpKGUpLGV9X3BhcnNlVXBkYXRlTW9kZShlKXsoMCxkLm5vcm1hbGl6ZVVwZGF0ZU1vZGUpKGUpfX19LDk3MDc3NChlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHtRdW90ZVNlc3Npb246KCk9Pml9KTt2YXIgcz1fKDE1MDE1MCk7Y2xhc3MgaXtjb25zdHJ1Y3RvcihlLHQ9KDAscy5yYW5kb21IYXNoKSgpKXt0aGlzLl9zZXNzaW9uc3RhcnRlZD0hMSx0aGlzLl9nbG9iYWxIYW5kbGVyPW51bGwsdGhpcy5fY2hhcnRBcGk9ZSx0aGlzLl9zZXNzaW9uaWQ9InFzXyIrdH1kZXN0cm95KCl7dGhpcy5fc2Vzc2lvbnN0YXJ0ZWQmJih0aGlzLl9jaGFydEFwaS5xdW90ZURlbGV0ZVNlc3Npb24odGhpcy5fc2Vzc2lvbmlkKSx0aGlzLl9zZXNzaW9uc3RhcnRlZD0hMSl9Y29ubmVjdGVkKCl7cmV0dXJuIHRoaXMuX2NoYXJ0QXBpLmNvbm5lY3RlZCgpfWNvbm5lY3QoZSl7dGhpcy5fZ2xvYmFsSGFuZGxlcj1lLHRoaXMuX2NoYXJ0QXBpLmNyZWF0ZVNlc3Npb24odGhpcy5fc2Vzc2lvbmlkLHRoaXMpLHRoaXMuX2NoYXJ0QXBpLmNvbm5lY3QoKX1kaXNjb25uZWN0KCl7dGhpcy5fY2hhcnRBcGkuZGlzY29ubmVjdCgpfXF1b3RlQWRkU3ltYm9scyhlKXt0aGlzLl9jaGFydEFwaS5xdW90ZUFkZFN5bWJvbHModGhpcy5fc2Vzc2lvbmlkLGUpfXF1b3RlUmVtb3ZlU3ltYm9scyhlKXsKdGhpcy5fY2hhcnRBcGkucXVvdGVSZW1vdmVTeW1ib2xzKHRoaXMuX3Nlc3Npb25pZCxlKX1xdW90ZUZhc3RTeW1ib2xzKGUpe3RoaXMuX2NoYXJ0QXBpLnF1b3RlRmFzdFN5bWJvbHModGhpcy5fc2Vzc2lvbmlkLGUpfXF1b3RlU2V0RmllbGRzKGUpe3RoaXMuX2NoYXJ0QXBpLnF1b3RlU2V0RmllbGRzKHRoaXMuX3Nlc3Npb25pZCxlKX1vbk1lc3NhZ2UoZSl7c3dpdGNoKGUubWV0aG9kKXtjYXNlImNvbm5lY3RlZCI6dGhpcy5fc2Vzc2lvbnN0YXJ0ZWR8fCh0aGlzLl9jaGFydEFwaS5xdW90ZUNyZWF0ZVNlc3Npb24odGhpcy5fc2Vzc2lvbmlkKSx0aGlzLl9zZXNzaW9uc3RhcnRlZD0hMCk7YnJlYWs7Y2FzZSJkaXNjb25uZWN0ZWQiOnRoaXMuX3Nlc3Npb25zdGFydGVkPSExfXRoaXMuX2dsb2JhbEhhbmRsZXI/LihlKX1xdW90ZUhpYmVybmF0ZUFsbCgpe3RoaXMuX2NoYXJ0QXBpLnF1b3RlSGliZXJuYXRlQWxsKHRoaXMuX3Nlc3Npb25pZCl9fX0sNjYxODU4KGUsdCxfKXtlLmV4cG9ydHM9W3tuYW1lOl8uaTE4bmV4dChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxfKDM1MDE0NikpLHZhbHVlOiIiLHNlYXJjaF90eXBlOiJ1bmRlZmluZWQifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg1NTU1MTApKSx2YWx1ZToic3RvY2tzIixzZWFyY2hfdHlwZToic3RvY2tzIn0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oNTY0OTE3KSksdmFsdWU6ImZ1bmRzIixzZWFyY2hfdHlwZToiZnVuZHMifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg1MDUwNzkpKSx2YWx1ZToiZnV0dXJlcyIsc2VhcmNoX3R5cGU6ImZ1dHVyZXMifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg5Nzk5NykpLHZhbHVlOiJmb3JleCIsc2VhcmNoX3R5cGU6ImZvcmV4In0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oMzg0NTk3KSksdmFsdWU6ImNmZCIsc2VhcmNoX3R5cGU6ImNmZCJ9LHtuYW1lOl8uaTE4bmV4dChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxfKDY1NTIzNSkpLHZhbHVlOiJiaXRjb2luLGNyeXB0byIsc2VhcmNoX3R5cGU6ImNyeXB0byJ9LHtuYW1lOl8uaTE4bmV4dChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxfKDkyNzQxMSkpLHZhbHVlOiJpbmRleCIsc2VhcmNoX3R5cGU6ImluZGV4In0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oNzY1NDQwKSksdmFsdWU6ImJvbmQiLHNlYXJjaF90eXBlOiJib25kIn0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oNTQ4MzIyKSksdmFsdWU6ImVjb25vbWljIixzZWFyY2hfdHlwZToiZWNvbm9taWMifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg3OTYwMCkpLHZhbHVlOiJvcHRpb25zIixzZWFyY2hfdHlwZToib3B0aW9ucyJ9XX0sNjA2MTAoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7QXV0aFRva2VuOigpPT5vfSk7dmFyIHM9XygyMjEwNjEpLGk9Xyg5NDgzODApLG49XygzODQwMTcpO2NvbnN0IGE9KDAscy5nZXRMb2dnZXIpKCJDaGFydEFwaS5BdXRoVG9rZW4iLHtjb2xvcjoiIzE3MyJ9KTt2YXIgcjshZnVuY3Rpb24oZSl7ZVtlLkV4cGlyYXRpb25SZXNlcnZlPTNlNV09IkV4cGlyYXRpb25SZXNlcnZlIixlW2UuTWF4UmV0cmllcz0zXT0iTWF4UmV0cmllcyIsZVtlLlJldHJ5RGVsYXlNdWx0aXBsaWVyPTFlM109IlJldHJ5RGVsYXlNdWx0aXBsaWVyIixlW2UuRmFsbGJhY2tFeHBpcmF0aW9uPTE0NGU1XT0iRmFsbGJhY2tFeHBpcmF0aW9uIixlW2UuTWluRXhwaXJhdGlvbj0zZTVdPSJNaW5FeHBpcmF0aW9uIn0ocnx8KHI9e30pKTtjbGFzcyBve2NvbnN0cnVjdG9yKCl7dGhpcy5pbnZhbGlkYXRlZD1uZXcgaS5EZWxlZ2F0ZSx0aGlzLl90aWQ9MCx0aGlzLl9vbkdvaW5nQXV0aFRva2VuUmVxdWVzdD1udWxsLHRoaXMuX29uT25saW5lPSgpPT57YS5sb2dJbmZvKCJPbmxpbmUsIG5ldyB0b2tlbiB3aWxsIGJlIGZldGNoZWQgaWYgbmVlZGVkIiksdGhpcy5fdHJ5VG9VcGRhdGVUb2tlbigpfSx0aGlzLl9vblZpc2liaWxpdHlDaGFuZ2U9KCk9PnsidmlzaWJsZSI9PT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGUmJihhLmxvZ0luZm8oIlBhZ2UgdmlzaWJsZSwgbmV3IHRva2VuIHNob3VsZCBiZSBmZXRjaGVkIiksdGhpcy5fdHJ5VG9VcGRhdGVUb2tlbigpKX0sd2luZG93LmxvZ2luU3RhdGVDaGFuZ2V8fCh3aW5kb3cubG9naW5TdGF0ZUNoYW5nZT1uZXcgaS5EZWxlZ2F0ZSksd2luZG93LmxvZ2luU3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKHRoaXMsKGU9PntlfHwodGhpcy5fc2V0KHdpbmRvdy51c2VyLmF1dGhfdG9rZW4pLHRoaXMuaW52YWxpZGF0ZWQuZmlyZSgpKX0pKSx0aGlzLl9zZXQod2luZG93LnVzZXIuYXV0aF90b2tlbiksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9ubGluZSIsdGhpcy5fb25PbmxpbmUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLHRoaXMuX29uVmlzaWJpbGl0eUNoYW5nZSl9ZGVzdHJveSgpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvbmxpbmUiLHRoaXMuX29uT25saW5lKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLl9vblZpc2liaWxpdHlDaGFuZ2UpfWdldChlKXtyZXR1cm4gd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ/IWUmJnRoaXMuY3VycmVudFRva2VuSXNWYWxpZCgpPyhhLmxvZ0luZm8oYFVzaW5nIGNhY2hlZCB0b2tlbiAke3RoaXMuX2NhY2hlLnRva2VufWApLFByb21pc2UucmVzb2x2ZSh0aGlzLl9jYWNoZS50b2tlbikpOndpbmRvdy5uYXZpZ2F0b3Iub25MaW5lP3RoaXMuX29uR29pbmdBdXRoVG9rZW5SZXF1ZXN0fHw9dGhpcy5fZmV0Y2goQm9vbGVhbihlKSwwKS50aGVuKChlPT57CmlmKCF3aW5kb3cuaXNfYXV0aGVudGljYXRlZCl0aHJvdyBuZXcgRXJyb3IoIlVzZXIgbG9nZ2VkIG91dCB3aGlsZSB0aGUgcmVxdWVzdCB3YXMgaW4gZmxpZ2h0Iik7cmV0dXJuIHRoaXMuX3NldChlKSxlfSkpLmNhdGNoKChlPT4oYS5sb2dFcnJvcihgRXJyb3IgZmV0Y2hpbmcgbmV3IHRva2VuOiAke2UmJmUubWVzc2FnZX1gKSwiIikpKS5maW5hbGx5KCgoKT0+e3RoaXMuX29uR29pbmdBdXRoVG9rZW5SZXF1ZXN0PW51bGx9KSk6KGEubG9nV2FybigiT2ZmbGluZSwgY2Fubm90IGZldGNoIG5ldyB0b2tlbiwgdXNpbmcgY2FjaGVkIHRva2VuIiksUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2NhY2hlLnRva2VuKSk6UHJvbWlzZS5yZXNvbHZlKCIiKX1yZXNldCgpe3RoaXMuX3NldCh2b2lkIDApLHRoaXMuaW52YWxpZGF0ZWQuZmlyZSgpfWN1cnJlbnRUb2tlbklzVmFsaWQoKXtyZXR1cm4hd2luZG93LmlzX2F1dGhlbnRpY2F0ZWR8fCEhdGhpcy5fY2FjaGUmJihwZXJmb3JtYW5jZS5ub3coKTx0aGlzLl9jYWNoZS5tb25vVmFsaWRUaHJ1JiZEYXRlLm5vdygpPHRoaXMuX2NhY2hlLndhbGxWYWxpZFRocnUpfV9zZXQoZSl7aWYod2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJnZvaWQgMCE9PWUpe2NvbnN0IHQ9ZnVuY3Rpb24oZSl7aWYoIiI9PT1lKXJldHVybiAxNDRlNTt0cnl7Y29uc3QgdD1KU09OLnBhcnNlKGF0b2IoZS5zcGxpdCgiLiIpWzFdLnJlcGxhY2UoLy0vZywiKyIpLnJlcGxhY2UoL18vZywiLyIpKSksXz0xZTMqKHQuZXhwLXQuaWF0KTtpZighaXNGaW5pdGUoXykpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGV4cGlyYXRpb24iKTtyZXR1cm4gTWF0aC5tYXgoXy0zZTUsM2U1KX1jYXRjaCh0KXtyZXR1cm4gYS5sb2dFcnJvcihgJHtlfSBpcyBpbnZhbGlkOiAke3QubWVzc2FnZX1gKSwxNDRlNX19KGUpO3RoaXMuX2NhY2hlPXt0b2tlbjplLG1vbm9WYWxpZFRocnU6cGVyZm9ybWFuY2Uubm93KCkrdCx3YWxsVmFsaWRUaHJ1OkRhdGUubm93KCkrdH0sY2xlYXJUaW1lb3V0KHRoaXMuX3RpZCksdGhpcy5fdGlkPXNldFRpbWVvdXQoKCgpPT57d2luZG93Lm5hdmlnYXRvci5vbkxpbmU/dGhpcy5yZXNldCgpOmEubG9nSW5mbygiT2ZmbGluZSwgY2FjaGUgd2lsbCBub3QgYmUgaW52YWxpZGF0ZWQiKX0pLHQpLGEubG9nSW5mbyhgQ2FjaGVkIGZvciAke3R9IG1zOiAke2V9YCl9ZWxzZSB0aGlzLl9jYWNoZT17dG9rZW46IiIsbW9ub1ZhbGlkVGhydTotMS8wLHdhbGxWYWxpZFRocnU6LTEvMH0sY2xlYXJUaW1lb3V0KHRoaXMuX3RpZCksYS5sb2dJbmZvKCJDYWNoZSBkcm9wcGVkIil9X2ZldGNoKGUsdCl7cmV0dXJuIGEubG9nTm9ybWFsKGBGZXRjaGluZyBhIG5ldyB0b2tlbiwgZ3JhYlNlc3Npb249JHtlfWApLCgwLG4uZmV0Y2gpKCIvcXVvdGVfdG9rZW4vIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIn0sYm9keTplPyJncmFiU2Vzc2lvbj10cnVlIjoiIn0pLnRoZW4oKGU9PntpZighZS5vayl0aHJvdyBuZXcgRXJyb3IoYFJlc3BvbnNlIHN0YXR1cyBpcyBub3Qgb2s6ICR7ZS5zdGF0dXN9YCk7cmV0dXJuIGUuanNvbigpLnRoZW4oU3RyaW5nKX0pLChfPT57aWYodD49Myl0aHJvdyBfO3JldHVybiBhLmxvZ1dhcm4oIlJlcXVlc3QgZmFpbGVkLCB3aWxsIHJldHJ5IiksZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBQcm9taXNlKCh0PT5zZXRUaW1lb3V0KHQsMWUzKmUpKSl9KHQpLnRoZW4oKCgpPT50aGlzLl9mZXRjaChlLHQrMSkpKX0pKX1hc3luYyBfdHJ5VG9VcGRhdGVUb2tlbigpe3RoaXMuX2NhY2hlLnRva2VuIT09YXdhaXQgdGhpcy5nZXQoKSYmdGhpcy5pbnZhbGlkYXRlZC5maXJlKCl9fX0sOTMwMDQ1KGUsdCxfKXsidXNlIHN0cmljdCI7Xy5kKHQse0pTT05EYXRhSGFuZGxlcjooKT0+YX0pO3ZhciBzPV8oNzgzMzQwKTtmdW5jdGlvbiBpKGUpe3JldHVybntpbmRleDplLmksdmFsdWU6ZS52fX1mdW5jdGlvbiBuKGUpe2Zvcihjb25zdCB0IG9mIE9iamVjdC5rZXlzKGUpKXtjb25zdCBfPWVbdF07Xy50JiYoXy50dXJuYXJvdW5kPWVbdF0udCksInMiaW4gZVt0XSYmZVt0XS5zJiYhXy5zZXJpZXMmJihfLnNlcmllcz1lW3RdLnMubWFwKGkpKSwic3QiaW4gZVt0XSYmZVt0XS5zdCYmIV8uc2VyaWVzJiYoXy5zZXJpZXM9ZVt0XS5zdC5tYXAoaSkpfX1jbGFzcyBhe3NldF9icm9rZXIoZSl7cmV0dXJuW2VdfXNldF9kYXRhX3F1YWxpdHkoKXtyZXR1cm5bImxvdyJdfXF1b3RlX2NyZWF0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1xdW90ZV9kZWxldGVfc2Vzc2lvbihlKXtyZXR1cm5bZV19cXVvdGVfc2V0X2ZpZWxkcyhlLHQpe3JldHVybltlXS5jb25jYXQodCl9cXVvdGVfYWRkX3N5bWJvbHMoZSx0KXtyZXR1cm5bZV0uY29uY2F0KHQpfXF1b3RlX3JlbW92ZV9zeW1ib2xzKGUsdCl7cmV0dXJuW2VdLmNvbmNhdCh0KX1xdW90ZV9mYXN0X3N5bWJvbHMoZSx0KXtyZXR1cm5bZV0uY29uY2F0KHQpfXF1b3RlX2hpYmVybmF0ZV9hbGwoZSl7cmV0dXJuW2VdfWRlcHRoX2NyZWF0ZV9zZXNzaW9uKGUsdCxfKXtyZXR1cm5bZSx0LF9dfWRlcHRoX2RlbGV0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1kZXB0aF9zZXRfc3ltYm9sKGUsdCl7cmV0dXJuW2UsdF19ZGVwdGhfY2xlYXJfc3ltYm9sKGUpe3JldHVybltlXX1kZXB0aF9zZXRfc2NhbGUoZSx0KXtyZXR1cm5bZSx0XX1jaGFydF9jcmVhdGVfc2Vzc2lvbihlLHQpe3JldHVybltlLHQ/ImRpc2FibGVfc3RhdGlzdGljcyI6IiJdfWNoYXJ0X2RlbGV0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1zZXRfYXV0aF90b2tlbihlKXtyZXR1cm5bZV19c2V0X2xvY2FsZShlLHQpe3JldHVybltlLHRdfXN3aXRjaF90aW1lem9uZShlLHQpe3JldHVybltlLHRdfXJlc29sdmVfc3ltYm9sKGUsdCxfKXtyZXR1cm5bZSx0LF9dfWNyZWF0ZV9zZXJpZXMoZSx0LF8scyxpLG4sYSl7cmV0dXJuW2UsdCxfPV98fCIiLHMsaSxuLGFdfXJlbW92ZV9zZXJpZXMoZSx0KXtyZXR1cm5bZSx0XX1tb2RpZnlfc2VyaWVzKGUsdCxfLHMsaSxuKXtyZXR1cm5bZSx0LF89X3x8IiIscyxpLG5dfQpyZXF1ZXN0X21vcmVfZGF0YShlLHQsXyl7cmV0dXJuW2UsdCxfXX1zZXRfZnV0dXJlX3RpY2ttYXJrc19tb2RlKGUsdCl7cmV0dXJuW2UsdF19cmVxdWVzdF9zdHVkaWVzX21ldGFkYXRhKGUpe3JldHVybltlXX1jcmVhdGVfc3R1ZHkoZSx0LF8scyxpLG4pe3JldHVybltlLHQsXz1ffHwiIixzLGldLmNvbmNhdChuKX1jcmVhdGVfY2hpbGRfc3R1ZHkoZSx0LF8scyxpLG4pe3JldHVybiB0aGlzLmNyZWF0ZV9zdHVkeShlLHQsXyxzLGksbil9cmVtb3ZlX3N0dWR5KGUsdCl7cmV0dXJuW2UsdF19bW9kaWZ5X3N0dWR5KGUsdCxfLHMpe3JldHVybltlLHQsXz1ffHwiIl0uY29uY2F0KHMpfW5vdGlmeV9zdHVkeShlLHQsXyxzKXtyZXR1cm5bZSx0LF89X3x8IiIsc119Y3JlYXRlX3BvaW50c2V0KGUsdCxfLHMsaSxuKXtyZXR1cm5bZSx0LF89X3x8IiIscyxpXS5jb25jYXQobil9bW9kaWZ5X3BvaW50c2V0KGUsdCxfLHMpe3JldHVybltlLHQsXz1ffHwiIl0uY29uY2F0KHMpfXJlbW92ZV9wb2ludHNldChlLHQpe3JldHVybltlLHRdfXJlcXVlc3RfbW9yZV90aWNrbWFya3MoZSx0LF8pe3JldHVybltlLHQsX119Z2V0X2ZpcnN0X2Jhcl90aW1lKGUsdCxfKXtyZXR1cm5bZSx0LF9dfXJlcGxheV9jcmVhdGVfc2Vzc2lvbihlKXtyZXR1cm5bZV19cmVwbGF5X2RlbGV0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1yZXBsYXlfcmVzZXQoZSx0LF8pe3JldHVybltlLHQsX119cmVwbGF5X3N0YXJ0KGUsdCxfKXtyZXR1cm5bZSx0LF9dfXJlcGxheV9zdG9wKGUsdCl7cmV0dXJuW2UsdF19cmVwbGF5X3N0ZXAoZSx0LF8pe3JldHVybltlLHQsX119cmVwbGF5X2FkZF9zZXJpZXMoZSx0LF8scyl7cmV0dXJuW2UsdCxfLHNdfXJlcGxheV9yZW1vdmVfc2VyaWVzKGUsdCxfLHMpe3JldHVybltlLHQsXyxzXX1yZXBsYXlfc2V0X3Jlc29sdXRpb24oZSx0LF8pe3JldHVybltlLHQsX119cmVwbGF5X2dldF9kZXB0aChlLHQsXyxzKXtyZXR1cm5bZSx0LF8sc119Y29udmVydFRpbWVzY2FsZVJlc3BvbnNlKGUpe2NvbnN0IHQ9ZS5tYXJrcy5tYXAoKGU9Pih7c3BhbjplWzBdLHRpbWU6ZVsxXSxpbmRleDplWzJdfSkpKSxfPXZvaWQgMD09PWUuaW5kZXhfZGlmZj9bXTplLmluZGV4X2RpZmYubWFwKChlPT4oe29sZDplWzBdLG5ldzplWzFdfSkpKTtyZXR1cm57Li4uZSxtYXJrczp0LGluZGV4X2RpZmY6XyxjbGVhcjowPT09ZS5jaGFuZ2VzLmxlbmd0aCYmMD09PV8ubGVuZ3RoJiYwPT09dC5sZW5ndGh9fWdldERhdGFVcGRhdGVPYmplY3RzKGUpe3JldHVybiBlLnBhcmFtc1swXX1nZXRUaW1lc2NhbGVPYmplY3RzKGUpe3JldHVybiBlLnBhcmFtc1swXX1nZXRUaW1lc2NhbGVDaGFuZ2VzZXQoZSl7cmV0dXJuIGUucGFyYW1zWzFdfXByZXBhcmVEYXRhVXBkYXRlT2JqZWN0cyhlLHQsXyl7Zm9yKGNvbnN0W2ksbl1vZiBPYmplY3QuZW50cmllcyh0KSl7Y29uc3QgdD0icGxvdHMiaW4gbj9uLnBsb3RzOm4uc2VyaWVzLGE9e2N1c3RvbUlkOmksdHVybmFyb3VuZDpuLnR1cm5hcm91bmQscGxvdHM6dH07Im5zImluIG4mJm4ubnMmJihhLm5vbnNlcmllcz1uLm5zKSwibGJzImluIG4mJm4ubGJzJiYoYS5sYXN0QmFyPXtjbG9zZVRpbWU6bi5sYnMuYmFyX2Nsb3NlX3RpbWV9KTtmb3IoY29uc3QgZSBvZiBhLnBsb3RzKWZvcihjb25zdFt0LF9db2YgT2JqZWN0LmVudHJpZXMoZS52YWx1ZSkpXyYmTWF0aC5hYnMoXyk+PTFlMTAwJiYoZS52YWx1ZVsrdF09dm9pZCAwKTtfKGUsaSx7bWV0aG9kOnMuV2ViY2hhcnRDaGFydFNlc3Npb25SZXNwb25zZU1ldGhvZC5EYXRhVXBkYXRlLHBhcmFtczphfSl9fXVucGFjayhlKXtjb25zdCB0PUpTT04ucGFyc2UoZSk7dC5tJiZ0LnAmJih0Lm1ldGhvZD10Lm0sdC5wYXJhbXM9dC5wLHQudGltZT10LnQpO2NvbnN0IF89dC5wYXJhbXNbMV07c3dpdGNoKHQubWV0aG9kKXtjYXNlInFzZCI6dC5tZXRob2Q9InF1b3RlX3N5bWJvbF9kYXRhIixfLnN5bWJvbG5hbWU9Xy5uLF8uc3RhdHVzPV8ucyxfLnZhbHVlcz1fLnYsXy52YWx1ZXMuY2hhbmdlPV8udi5jaCxfLnZhbHVlcy5sYXN0X3ByaWNlPV8udi5scCxfLnZhbHVlcy5jaGFuZ2VfcGVyY2VudD1fLnYuY2hwLGRlbGV0ZSBfLm4sZGVsZXRlIF8ucyxkZWxldGUgXy52LGRlbGV0ZSBfLnZhbHVlcy5jaCxkZWxldGUgXy52YWx1ZXMubHAsZGVsZXRlIF8udmFsdWVzLmNocDticmVhaztjYXNlImR1Ijp0Lm1ldGhvZD0iZGF0YV91cGRhdGUiLG4oXyk7YnJlYWs7Y2FzZSJjbGVhcl9kYXRhIjpmb3IoY29uc3QgZSBvZiBPYmplY3Qua2V5cyhfKSlfW2VdLnR1cm5hcm91bmQ9X1tlXS50O2JyZWFrO2Nhc2UidGltZXNjYWxlX3VwZGF0ZSI6bihfKX1yZXR1cm4gdH1wcmVwYXJlRW5jb2RlTWVzc2FnZShlLHQpe3JldHVybiBKU09OLnN0cmluZ2lmeSh7bTplLHA6dH0pfXJlcXVlc3RfZGF0YV9wcm9ibGVtcygpe3JldHVybltdfX19LDQ2MzQ0NyhlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHtIYW5kbGVySW5mbzooKT0+c30pO2NsYXNzIHN7Y29uc3RydWN0b3IoZSx0LF8pe3RoaXMuaGFuZGxlcj1lLHRoaXMuY3VzdG9tSWQ9dCx0aGlzLnNpbmdsZVNob3Q9X319fSw3ODMzNDAoZSx0LF8peyJ1c2Ugc3RyaWN0Ijt2YXIgcyxpLG47Xy5kKHQse1dlYmNoYXJ0Q2hhcnRTZXNzaW9uUmVzcG9uc2VNZXRob2Q6KCk9PmksV2ViY2hhcnRSZXBsYXlTZXNzaW9uUmVzcG9uc2VNZXRob2Q6KCk9Pm4sV2ViY2hhcnRSZXNwb25zZU1ldGhvZDooKT0+c30pLGZ1bmN0aW9uKGUpe2UuUmVxdWVzdERhdGFQcm9ibGVtcz0icmVxdWVzdF9kYXRhX3Byb2JsZW1zIixlLlByb3RvY29sRXJyb3I9InByb3RvY29sX2Vycm9yIixlLlByb3RvY29sU3dpdGNoZWQ9InByb3RvY29sX3N3aXRjaGVkIixlLkNyaXRpY2FsRXJyb3I9ImNyaXRpY2FsX2Vycm9yIn0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlLlN0dWRpZXNNZXRhZGF0YT0ic3R1ZGllc19tZXRhZGF0YSIsZS5UaW1lU2NhbGVVcGRhdGU9InRpbWVzY2FsZV91cGRhdGUiLGUuVGlja01hcmtVcGRhdGU9InRpY2ttYXJrX3VwZGF0ZSIsZS5EVT0iZHUiLGUuRGF0YVVwZGF0ZT0iZGF0YV91cGRhdGUiLAplLkluZGV4VXBkYXRlPSJpbmRleF91cGRhdGUiLGUuVGltZVNjYWxlQ29tcGxldGVkPSJ0aW1lc2NhbGVfY29tcGxldGVkIixlLlFTRD0icXNkIixlLlF1b3RlTGlzdEZpZWxkPSJxdW90ZV9saXN0X2ZpZWxkcyIsZS5RdW90ZVN5bWJvbERhdGE9InF1b3RlX3N5bWJvbF9kYXRhIixlLlF1b3RlQ29tcGxldGVkPSJxdW90ZV9jb21wbGV0ZWQiLGUuRGVwdGhTeW1ib2xFcnJvcj0iZGVwdGhfc3ltYm9sX2Vycm9yIixlLkRlcHRoU3ltYm9sU3VjY2Vzcz0iZGVwdGhfc3ltYm9sX3N1Y2Nlc3MiLGUuRGVwdGhEYXRhPSJkZCIsZS5EZXB0aERhdGFVcGRhdGU9ImRwdSIsZS5EZXB0aEJhckxhc3RWYWx1ZT0iZGVwdGhfYmFyX2xhc3RfdmFsdWUiLGUuQ2xlYXJEYXRhPSJjbGVhcl9kYXRhIixlLlNlcmllc1RpbWVGcmFtZT0ic2VyaWVzX3RpbWVmcmFtZSIsZS5TeW1ib2xSZXNvbHZlZD0ic3ltYm9sX3Jlc29sdmVkIixlLlNlcmllc0Vycm9yPSJzZXJpZXNfZXJyb3IiLGUuU2VyaWVzQ29tcGxldGVkPSJzZXJpZXNfY29tcGxldGVkIixlLlN0dWR5TG9hZGluZz0ic3R1ZHlfbG9hZGluZyJ9KGl8fChpPXt9KSksZnVuY3Rpb24oZSl7ZS5SZXBsYXlFcnJvcj0icmVwbGF5X2Vycm9yIixlLlJlcGxheVBvaW50PSJyZXBsYXlfcG9pbnQiLGUuUmVwbGF5T2s9InJlcGxheV9vayIsZS5SZXBsYXlSZXNvbHV0aW9ucz0icmVwbGF5X3Jlc29sdXRpb25zIixlLlJlcGxheURhdGFFbmQ9InJlcGxheV9kYXRhX2VuZCIsZS5SZXBsYXlJbnN0YW5jZUlkPSJyZXBsYXlfaW5zdGFuY2VfaWQiLGUuUmVwbGF5RGVwdGg9InJlcGxheV9kZXB0aCJ9KG58fChuPXt9KSl9LDUyMTMzMyhlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHtnZXREZWZhdWx0UmVzb2x1dGlvbnM6KCk9Pm59KTt2YXIgcz1fKDkzMDIzMSksaT1fKDYxOTk5Mik7ZnVuY3Rpb24gbigpe2NvbnN0IGU9WyIxIiwiMyIsIjUiLCIxNSIsIjMwIiwiNDUiLCI2MCIsIjEyMCIsIjE4MCIsIjI0MCIsIjFEIiwiMVciLCIxTSIsIjNNIiwiNk0iLCIxMk0iLCIxUiIsIjEwUiIsIjEwMFIiLCIxMDAwUiJdO2lmKCEoMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSl7bGV0IHQ9WyIxUyIsIjVTIiwiMTBTIiwiMTVTIiwiMzBTIiwiNDVzIl07cmV0dXJuKDAsaS5pc1RpY2tzRW5hYmxlZCkoKSYmKHQ9WyIxVCIsIjEwVCIsIjEwMFQiLCIxMDAwVCJdLmNvbmNhdCh0KSksdC5jb25jYXQoZSl9cmV0dXJuIGV9fSwyMTc1MjcoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7dHlwZXM6KCk9PnN9KTtjb25zdCBzPXtFQ09OT01JQzoiZWNvbm9taWMiLFFVQU5ETDoicXVhbmRsIn19LDEyNzcxMShlKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPUpTT04ucGFyc2UoJ3siY21lIjp7IklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjk5OTk5fX0sImJvdmVzcGEiOnsiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6OTk5OTl9fSwicWVjb21xYSI6eyJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0Ijo5OTk5OX19LCJzYW50YW5kZXJjb21hciI6eyJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0Ijo5OTk5OX19fScpfSw1MDI1ODcoZSl7InVzZSBzdHJpY3QiCjtlLmV4cG9ydHM9SlNPTi5wYXJzZSgneyJmcmVlIjp7IkNIQVRfQVNTSVNUQU5UIjp7ImxpbWl0Ijo1LCJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiQ0hBUlRfU1RPUkFHRSI6eyJsaW1pdCI6MX0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6MX0sIklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjJ9LCJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiOnsibGltaXQiOjF9LCJISVNUT1JJQ0FMX0JBUlMiOnsibGltaXQiOjV9LCJTVFVEWV9PTl9TVFVEWSI6eyJsaW1pdCI6ODAwLCJjaGlsZF9saW1pdCI6MX0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0Ijo1MCwibGltaXQiOjMsImNvbXBsZXhfbGltaXQiOjAsInByaW1pdGl2ZV9saW1pdCI6M30sIlNDUkVFTkVSX0lOVEVSVkFMUyI6eyJpbnRlcnZhbCI6WyIxRCIsIjFXIiwiMU0iXX0sIlNUVURZX1RFTVBMQVRFUyI6eyJsaW1pdCI6MX0sIlNJTVVMVEFORU9VU19DT05ORUNUSU9OUyI6eyJsaW1pdCI6MX0sIkJBQ0tFTkRfQ09OTkVDVElPTlMiOnsibGltaXQiOjJ9LCJJREVBX1NPQ0lBTF9MSU5LUyI6eyJzb2NpYWxzIjpbIlR3aXR0ZXIiLCJZb3V0dWJlIl19LCJNVUxUSUNPTE9SX0ZMQUdHRURfU1lNQk9MUyI6eyJsaW1pdCI6MX0sIldBVENITElTVF9TWU1CT0xTIjp7ImxpbWl0IjozMH0sIlZJREVPX0lERUFTX0xFTkdUSCI6eyJsaW1pdCI6MjB9LCJDUkVBVEVfTU9SRV9QT1JURk9MSU9TIjp7ImxpbWl0IjoxfSwiUE9SVEZPTElPX1RSQU5TQUNUSU9OUyI6eyJsaW1pdCI6MjAwMH0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6MjB9fSwicHJvIjp7IkRSQVdJTkdTIjp7fSwiQkFDS1RFU1RJTkdfQ0hBUlRfRVhQQU5EIjp7fSwiQkFDS1RFU1RJTkdfRVhURU5ERURfTUVUUklDUyI6e30sIkJBQ0tURVNUSU5HX0VYUE9SVF9YTFNYIjp7fSwiQkFDS1RFU1RJTkdfRVhQT1JUX0NTViI6e30sIkNIQVRfQVNTSVNUQU5UIjp7ImxpbWl0Ijo1LCJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiUEVSU09OQUxfU1VQUE9SVCI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiQ0hBUlRfU1RPUkFHRSI6eyJsaW1pdCI6NX0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6Mn0sIk1BUktFVF9EQVRBX0xJTUlUUyI6eyJsaW1pdCI6MiwicHJpbWl0aXZlX2xpbWl0IjoyfSwiQ1VTVE9NX0lOVEVSVkFMUyI6e30sIk1VTFRJUExFX1dBVENITElTVFMiOnt9LCJJTVBPUlRfV0FUQ0hMSVNUUyI6e30sIkVYUE9SVF9XQVRDSExJU1RTIjp7fSwiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6NX0sIkZVTkRBTUVOVEFMU19GT1JFQ0FTVCI6e30sIkZVTkRBTUVOVEFMU19PTl9DSEFSVCI6eyJsaW1pdCI6NH0sIlRWX1BST1NUVURJRVMiOnsic3R1ZHlfcGFja2FnZXMiOlsidHYtY2hhcnRwYXR0ZXJucyJdfSwiSElTVE9SSUNBTF9CQVJTIjp7ImxpbWl0IjoxMH0sIlRWX1ZPTFVNRUJZUFJJQ0UiOnsic3R1ZHlfcGFja2FnZXMiOlsidHYtdm9sdW1lYnlwcmljZSJdfSwiU1RVRFlfT05fU1RVRFkiOnsibGltaXQiOjgwMCwiY2hpbGRfbGltaXQiOjF9LCJUSUNLX0JZX1RJQ0tfUFVTSF9EQVRBIjp7fSwiU0VSVkVSX1NJREVfQUxFUlRTIjp7Im92ZXJhbGxfbGltaXQiOjIwMDAsImxpbWl0IjoyMCwiY29tcGxleF9saW1pdCI6MjAsInByaW1pdGl2ZV9saW1pdCI6MjB9LCJTQ1JFRU5FUl9BVVRPX1JFRlJFU0giOnt9LCJTQ1JFRU5FUl9ORVdfQVVUT19SRUZSRVNIIjp7fSwiU0NSRUVORVJfTkVXX0VYUE9SVF9DU1ZfREFUQSI6e30sIlNDUkVFTkVSX05FV19TSE9XX1JFU1RSSUNURURfREFUQSI6e30sIlNIT1dfQk9ORFNfUkVTVFJJQ1RFRF9EQVRBIjp7fSwiUE9SVEZPTElPX0RBVEFfTElNSVQiOnt9LCJDUkVBVEVfTU9SRV9QT1JURk9MSU9TIjp7ImxpbWl0IjozfSwiUE9SVEZPTElPX1RSQU5TQUNUSU9OUyI6eyJsaW1pdCI6NTAwMH0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6NTB9LCJTQ1JFRU5FUl9JTlRFUlZBTFMiOnsiaW50ZXJ2YWwiOlsiMW0iLCI1bSIsIjE1bSIsIjMwbSIsIjFoIiwiMmgiLCI0aCIsIjFEIiwiMVciLCIxTSJdfSwiTk9fU1BPTlNPUkVEX0FEUyI6eyJkaXNhYmxlX29uX2xpdGVfcGxhbiI6ImV4Y2x1ZGVfbW9iaWxlIn0sIlNUVURZX1RFTVBMQVRFUyI6eyJsaW1pdCI6OTk5OTl9LCJTSU1VTFRBTkVPVVNfQ09OTkVDVElPTlMiOnsibGltaXQiOjF9LCJCQUNLRU5EX0NPTk5FQ1RJT05TIjp7ImxpbWl0IjoxMH0sIklEQ19BVkFJTEFCTEVfREVMQVkiOnt9LCJTVEFUVVMiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkJBUl9SRVBMQVlfSU5UUkFEQVkiOnsibGltaXQiOjF9LCJNVUxUSUZMQUdHRURfU1lNQk9MU19MSVNUUyI6e30sIlNIT1dTIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJBTEVSVFNfV0VCSE9PSyI6e30sIkFMRVJUU19PTl9FQVJOSU5HUyI6e30sIkFMRVJUU19PTl9GVU5EQU1FTlRBTF9NRVRSSUNTIjp7fSwiREVFUF9GVU5EQU1FTlRBTFNfSElTVE9SWSI6e30sIlBVQkxJU0hfUFJPVEVDVEVEX1NDUklQVFMiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIklERUFfU09DSUFMX0xJTktTIjp7InNvY2lhbHMiOlsiVHdpdHRlciIsIllvdXR1YmUiXX0sIkVYVEVOREVEX1NPQ0lBTF9MSU5LUyI6eyJzb2NpYWxzIjpbIkZhY2Vib29rIiwiSW5zdGFncmFtIl0sImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJNVUxUSV9NT05JVE9SIjp7fSwiTVVMVElDT0xPUl9GTEFHR0VEX1NZTUJPTFMiOnsibGltaXQiOjd9LCJJTlRSQURBWV9FWENIQU5HRSI6e30sIlZPTFVNRV9QUk9GSUxFIjp7fSwiU1RSRUFNU19BQ0NFU1MiOnsiZm9sbG93ZXJzIjoxMH0sIlNNU18yRkFfVkVSSUZJQ0FUSU9OIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJTT0NJQUxfQUNUSVZJVFkiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIldBVENITElTVF9TWU1CT0xTIjp7ImxpbWl0IjoxMDAwfSwiRklFTERTX1BFUk1JU1NJT05TIjp7Iml0ZW1zIjpbInJlZmJvbmRzIl19LCJDVVNUT01fUkFOR0VfQkFSUyI6e30sIkZBU1RFU1RfREFUQV9GTE9XIjp7fSwiU0VTU0lPTl9WT0xVTUVfUFJPRklMRSI6e30sIlNIT1dfRVRGX0hPTERJTkdTX0RBVEEiOnt9fSwicHJvX3JlYWx0aW1lIjp7ImV4dGVuZHMiOiJwcm8iLCJDSEFSVF9TVE9SQUdFIjp7ImxpbWl0IjoxMH0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6NH0sIk1BUktFVF9EQVRBX0xJTUlUUyI6eyJsaW1pdCI6NCwicHJpbWl0aXZlX2xpbWl0Ijo0fSwiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6MTB9LCJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiOnsibGltaXQiOjd9LCJUVl9QUk9TVFVESUVTIjp7InN0dWR5X3BhY2thZ2VzIjpbInR2LXByb3N0dWRpZXMiLCJ0di1jaGFydHBhdHRlcm5zIl19LCJTVFVEWV9PTl9TVFVEWSI6eyJsaW1pdCI6ODAwLCJjaGlsZF9saW1pdCI6OX0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0IjoyMDAwLCJsaW1pdCI6MTAwLCJjb21wbGV4X2xpbWl0IjoxMDAsInByaW1pdGl2ZV9saW1pdCI6MTAwfSwiQUxFUlRTX01VTFRJQ09ORElUSU9OUyI6eyJjb25kaXRpb25fbGltaXQiOjV9LCJDSEFUX0FTU0lTVEFOVCI6eyJsaW1pdCI6NSwiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkNBTl9FRElUX1BVQkxJQ19DSEFUUyI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiQkFDS0VORF9DT05ORUNUSU9OUyI6eyJsaW1pdCI6MjB9LCJFWFBPUlRfQ0hBUlRfREFUQSI6e30sIkNVU1RPTV9GT1JNVUxBUyI6e30sIklOVFJBREFZX0VYT1RJQ19DSEFSVFMiOnt9LCJLQUdJX1JFTktPIjp7fSwiSU5UUkFEQVlfU1BSRUFEIjp7fSwiQ1VTVE9NX0NIQVRTIjp7fSwiQ1JFQVRFX01PUkVfUE9SVEZPTElPUyI6eyJsaW1pdCI6NH0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6NzV9fSwicHJvX3ByZW1pdW0iOnsiZXh0ZW5kcyI6InByb19yZWFsdGltZSIsIkJBUl9ERVRBTElaQVRJT04iOnt9LCJTQ1JJUFRfRVhFQ1VUSU9OX09OX0hJU1RPUllfQkFSUyI6e30sIkNIQVJUX1NUT1JBR0UiOnsibGltaXQiOjk5OTk5fSwiTVVMVElQTEVfQ0hBUlRTIjp7ImxpbWl0Ijo4fSwiTUFSS0VUX0RBVEFfTElNSVRTIjp7ImxpbWl0Ijo2LCJwcmltaXRpdmVfbGltaXQiOjZ9LCJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0IjoyNX0sIkZVTkRBTUVOVEFMU19PTl9DSEFSVCI6eyJsaW1pdCI6MTB9LCJGVU5EQU1FTlRBTF9HUkFQSFNfTEFSR0VfVElNRV9SQU5HRSI6e30sIkNIQVRfQVNTSVNUQU5UIjp7ImxpbWl0Ijo5OTk5OSwiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkNIQVJUX1BBVFRFUk5TIjp7InN0dWR5X3BhY2thZ2VzIjpbInR2LWNoYXJ0cGF0dGVybnMiLCJ0di1jaGFydF9wYXR0ZXJucyJdfSwiSElTVE9SSUNBTF9CQVJTIjp7ImxpbWl0IjoyMH0sIlNUVURZX09OX1NUVURZIjp7ImxpbWl0Ijo4MDAsImNoaWxkX2xpbWl0IjoyNH0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0IjoyMDAwLCJsaW1pdCI6NDAwLCJjb21wbGV4X2xpbWl0Ijo0MDAsInByaW1pdGl2ZV9saW1pdCI6NDAwLCJ3YXRjaGxpc3RfbGltaXQiOjIsIm92ZXJhbGxfd2F0Y2hsaXN0X2xpbWl0Ijo1fSwiU0lNVUxUQU5FT1VTX0NPTk5FQ1RJT05TIjp7ImxpbWl0IjoyfSwiQkFDS0VORF9DT05ORUNUSU9OUyI6eyJsaW1pdCI6NTB9LCJJREVBX1NJR05BVFVSRSI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiUFJPRklMRV9XRUJTSVRFX0ZJRUxEIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJCQVJfUkVQTEFZX0lOVFJBREFZIjp7ImxpbWl0Ijo0fSwiQkFSX1JFUExBWV8xUyI6e30sIkFMRVJUU19OT19FWFBJUkFUSU9OIjp7fSwiUFVCTElTSF9JTlZJVEVfT05MWV9TQ1JJUFRTIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJFWFBPUlRfQ0hBUlRfREFUQSI6e30sIkRFRVBfSElTVE9SWV9CQUNLVEVTVCI6e30sIkFMRVJUU19PTl9TRUNPTkRTIjp7fSwiUEVSTUFORU5UX1NUUkVBTV9SRUNPUkRTIjp7fSwiRVhURU5ERURfU09DSUFMX0xJTktTIjp7InNvY2lhbHMiOlsiRmFjZWJvb2siLCJJbnN0YWdyYW0iLCJXZWJzaXRlIl0sImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJTRUNPTkRTX0lOVEVSVkFMUyI6e30sIlRQT19QRVJJT0RJQyI6eyJzdHVkeV9wYWNrYWdlcyI6WyJ0di12b2x1bWVieXByaWNlIl19LCJUUE9fQ0hBUlRfU1RZTEUiOnt9LCJWT0xVTUVfQ0FORExFUyI6e30sIlZJREVPX0lERUFTX0xFTkdUSCI6eyJsaW1pdCI6NjB9LCJWT0xVTUVfRk9PVFBSSU5UIjp7fSwiUElORV9TQ1JFRU5FUiI6e30sIkNSRUFURV9NT1JFX1BPUlRGT0xJT1MiOnsibGltaXQiOjV9LCJQT1JURk9MSU9fSE9MRElOR1MiOnsibGltaXQiOjEwMH0sIlNPQ0lBTF9UUlVTVEVEX1VTRVIiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkZPTExPV0VSU19PTkxZX01JTkRTIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9fSwicHJvX2V4cGVydCI6eyJleHRlbmRzIjoicHJvX3ByZW1pdW0iLCJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0IjozMH0sIkZVTkRBTUVOVEFMU19PTl9DSEFSVCI6eyJsaW1pdCI6MTV9LCJTVFVEWV9PTl9TVFVEWSI6eyJsaW1pdCI6ODAwLCJjaGlsZF9saW1pdCI6Mjl9LCJNVUxUSVBMRV9DSEFSVFMiOnsibGltaXQiOjEwfSwiTUFSS0VUX0RBVEFfTElNSVRTIjp7ImxpbWl0IjoxMiwicHJpbWl0aXZlX2xpbWl0IjoxMn0sIkhJU1RPUklDQUxfQkFSUyI6eyJsaW1pdCI6MjV9LCJTRVJWRVJfU0lERV9BTEVSVFMiOnsib3ZlcmFsbF9saW1pdCI6MjAwMCwibGltaXQiOjYwMCwiY29tcGxleF9saW1pdCI6NjAwLCJwcmltaXRpdmVfbGltaXQiOjYwMCwid2F0Y2hsaXN0X2xpbWl0IjoxMCwib3ZlcmFsbF93YXRjaGxpc3RfbGltaXQiOjIwfSwiQkFDS0VORF9DT05ORUNUSU9OUyI6eyJsaW1pdCI6ODB9LCJCQVJfUkVQTEFZX0lOVFJBREFZIjp7ImxpbWl0Ijo2fSwiQkFSX1JFUExBWV8xUyI6e30sIkJBUl9SRVBMQVlfMVQiOnt9LCJFWFBPUlRfRklOQU5DSUFMU19EQVRBIjp7fSwiVElDS19JTlRFUlZBTFMiOnt9LCJGSVJTVF9QUklPUklUWV9TVVBQT1JUIjp7fSwiQlVZX1BST19EQVRBIjp7fSwiQ1JFQVRFX01PUkVfUE9SVEZPTElPUyI6eyJsaW1pdCI6Nn0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6MTI1fX0sInByb19wcmVtaXVtX2V4cGVydCI6eyJleHRlbmRzIjoicHJvX2V4cGVydCIsIklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjUwfSwiRlVOREFNRU5UQUxTX09OX0NIQVJUIjp7ImxpbWl0IjoyNX0sIlNUVURZX09OX1NUVURZIjp7ImxpbWl0Ijo4MDAsImNoaWxkX2xpbWl0Ijo0OX0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6MTZ9LCJNQVJLRVRfREFUQV9MSU1JVFMiOnsibGltaXQiOjk5OTk5LCJwcmltaXRpdmVfbGltaXQiOjI1fSwiSElTVE9SSUNBTF9CQVJTIjp7ImxpbWl0Ijo0MH0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0Ijo0MDAwLCJsaW1pdCI6MTAwMCwiY29tcGxleF9saW1pdCI6MTAwMCwicHJpbWl0aXZlX2xpbWl0IjoxMDAwLCJ3YXRjaGxpc3RfbGltaXQiOjE1LCJvdmVyYWxsX3dhdGNobGlzdF9saW1pdCI6MzB9LCJCQUNLRU5EX0NPTk5FQ1RJT05TIjp7ImxpbWl0IjoyMDB9LCJCQVJfUkVQTEFZX0lOVFJBREFZIjp7ImxpbWl0IjoxMH0sIkNSRUFURV9NT1JFX1BPUlRGT0xJT1MiOnsibGltaXQiOjd9LCJQT1JURk9MSU9fSE9MRElOR1MiOnsibGltaXQiOjE1MH19fScpCn19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/70644.448743def325feb61967.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.415Z","timestamp":1785120634415,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/70644.448743def325feb61967.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"6a10225d-a54f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 22 May 2026 09:31:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.53\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/22/2026 10:44:33\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d8e1bb87a99223a0b8f3291695044d24\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":42319,"size_decoded":16719,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"8cde28c2b9d157a818e87a14278c7a00","sha1":"1de831d7926ffcdfe3bdd82419e6225185d37e34","sha256":"f5576d28408b822a04da2e824feb2d936edf1e1959b29e0849e709c4ff1beba7","sha512":"dfeb6f084e4ee784b4a74a0525c09ed8d481320b0708417429758d5d393b7f6eec9e153c60a63025903dc145cd998cce1676335c44ba0e9011bf068fb3dd2e24","ssdeep":"384:57bUjPiPk+mozZ2DZNFAw0wg7LEJ8yBzjkjWQIfQ/6URF2a6nUFlUTr1H6ssDLv5:57gjPi8+hiTRXbfQOXXUFwhHnecsfHp","tlshash":"ae13f5c936d6b02452b73475007f710bf23eaea1284e8450d117e8d87cb5a9fa27be6d","first_seen":"2026-05-23T04:38:21.326763Z","last_seen":"2026-07-27T05:29:38.764015Z","times_seen":578,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s3MDY0NF0sezg3MDY0NChlLG4sdCl7InVzZSBzdHJpY3QiO3QuZChuLHtkaXNhYmxlQWN0aXZpdHlUcmFja2luZzooKT0+eGUsZGlzYWJsZUFub255bW91c1RyYWNraW5nOigpPT5DZSxkaXNjYXJkQnJhY2U6KCk9PmtlLGVuYWJsZUFjdGl2aXR5VHJhY2tpbmdDYWxsYmFjazooKT0+U2UsZW5hYmxlQW5vbnltb3VzVHJhY2tpbmc6KCk9Pk9lLG5ld1RyYWNrZXI6KCk9PkVlLHNldFVzZXJJZDooKT0+VGUsdHJhY2tQYWdlVmlldzooKT0+SWUsdHJhY2tTZWxmRGVzY3JpYmluZ0V2ZW50OigpPT5BZX0pO3ZhciByPWZ1bmN0aW9uKCl7cmV0dXJuIHI9T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24oZSl7Zm9yKHZhciBuLHQ9MSxyPWFyZ3VtZW50cy5sZW5ndGg7dDxyO3QrKylmb3IodmFyIG8gaW4gbj1hcmd1bWVudHNbdF0pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4sbykmJihlW29dPW5bb10pO3JldHVybiBlfSxyLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07T2JqZWN0LmNyZWF0ZTtmdW5jdGlvbiBvKGUsbix0KXtpZih0fHwyPT09YXJndW1lbnRzLmxlbmd0aClmb3IodmFyIHIsbz0wLGk9bi5sZW5ndGg7bzxpO28rKykhciYmbyBpbiBufHwocnx8KHI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwobiwwLG8pKSxyW29dPW5bb10pO3JldHVybiBlLmNvbmNhdChyfHxBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChuKSl9T2JqZWN0LmNyZWF0ZTt2YXIgaT10KDUzNzIwNCk7ZnVuY3Rpb24gYShlKXtpZighZSlyZXR1cm4gZTtzd2l0Y2goNC1lLmxlbmd0aCU0KXtjYXNlIDI6ZSs9Ij09IjticmVhaztjYXNlIDM6ZSs9Ij0ifXJldHVybiBmdW5jdGlvbihlKXt2YXIgbix0LHIsbyxpLGEsdT1mdW5jdGlvbihlKXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGUuc3BsaXQoIiIpLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIiUiKygiMDAiK2UuY2hhckNvZGVBdCgwKS50b1N0cmluZygxNikpLnNsaWNlKC0yKX0pKS5qb2luKCIiKSl9LHM9MCxsPTAsZj0iIixkPVtdO2lmKCFlKXJldHVybiBlO2UrPSIiO2Rve249KGE9Yy5pbmRleE9mKGUuY2hhckF0KHMrKykpPDwxOHxjLmluZGV4T2YoZS5jaGFyQXQocysrKSk8PDEyfChvPWMuaW5kZXhPZihlLmNoYXJBdChzKyspKSk8PDZ8KGk9Yy5pbmRleE9mKGUuY2hhckF0KHMrKykpKSk+PjE2JjI1NSx0PWE+PjgmMjU1LHI9MjU1JmEsZFtsKytdPTY0PT09bz9TdHJpbmcuZnJvbUNoYXJDb2RlKG4pOjY0PT09aT9TdHJpbmcuZnJvbUNoYXJDb2RlKG4sdCk6U3RyaW5nLmZyb21DaGFyQ29kZShuLHQscil9d2hpbGUoczxlLmxlbmd0aCk7cmV0dXJuIGY9ZC5qb2luKCIiKSx1KGYucmVwbGFjZSgvXDArJC8sIiIpKX0oZS5yZXBsYWNlKC8tL2csIisiKS5yZXBsYWNlKC9fL2csIi8iKSl9ZnVuY3Rpb24gdShlKXtpZighZSlyZXR1cm4gZTt2YXIgbj1mdW5jdGlvbihlKXt2YXIgbix0LHIsbyxpLGE9MCx1PTAscz1bXTtpZighZSlyZXR1cm4gZTtlPXVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChlKSk7ZG97bj0oaT1lLmNoYXJDb2RlQXQoYSsrKTw8MTZ8ZS5jaGFyQ29kZUF0KGErKyk8PDh8ZS5jaGFyQ29kZUF0KGErKykpPj4xOCY2Myx0PWk+PjEyJjYzLHI9aT4+NiY2MyxvPTYzJmksc1t1KytdPWMuY2hhckF0KG4pK2MuY2hhckF0KHQpK2MuY2hhckF0KHIpK2MuY2hhckF0KG8pfXdoaWxlKGE8ZS5sZW5ndGgpO3ZhciBsPXMuam9pbigiIiksZj1lLmxlbmd0aCUzO3JldHVybihmP2wuc2xpY2UoMCxmLTMpOmwpKyI9PT0iLnNsaWNlKGZ8fDMpfShlKTtyZXR1cm4gbi5yZXBsYWNlKC89L2csIiIpLnJlcGxhY2UoL1wrL2csIi0iKS5yZXBsYWNlKC9cLy9nLCJfIil9dmFyIGM9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky89IjtmdW5jdGlvbiBzKCl7dmFyIGUsbj17fSx0PVtdLHI9W10sbz1bXSxpPWZ1bmN0aW9uKGUsdCl7bnVsbCE9dCYmIiIhPT10JiYobltlXT10KX07cmV0dXJue2FkZDppLGFkZERpY3Q6ZnVuY3Rpb24oZSl7Zm9yKHZhciBuIGluIGUpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsbikmJmkobixlW25dKX0sYWRkSnNvbjpmdW5jdGlvbihlLG4sbyl7aWYobyYmZihvKSl7dmFyIGk9e2tleUlmRW5jb2RlZDplLGtleUlmTm90RW5jb2RlZDpuLGpzb246b307ci5wdXNoKGkpLHQucHVzaChpKX19LGFkZENvbnRleHRFbnRpdHk6ZnVuY3Rpb24oZSl7by5wdXNoKGUpfSxnZXRQYXlsb2FkOmZ1bmN0aW9uKCl7cmV0dXJuIG59LGdldEpzb246ZnVuY3Rpb24oKXtyZXR1cm4gdH0sd2l0aEpzb25Qcm9jZXNzb3I6ZnVuY3Rpb24obil7ZT1ufSxidWlsZDpmdW5jdGlvbigpe3JldHVybiBudWxsPT1lfHxlKHRoaXMscixvKSxufX19ZnVuY3Rpb24gbChlKXtyZXR1cm4gZnVuY3Rpb24obix0LHIpe2Zvcih2YXIgaT1mdW5jdGlvbih0LHIsbyl7dmFyIGk9SlNPTi5zdHJpbmdpZnkodCk7ZT9uLmFkZChyLHUoaSkpOm4uYWRkKG8saSl9LGM9ZnVuY3Rpb24odCxyKXt2YXIgbz10fHxmdW5jdGlvbigpe3ZhciB0PW4uZ2V0UGF5bG9hZCgpO2lmKGU/dC5jeDp0LmNvKXJldHVybiBKU09OLnBhcnNlKGU/YSh0LmN4KTp0LmNvKX0oKTtyZXR1cm4gbz9vLmRhdGE9by5kYXRhLmNvbmNhdChyLmRhdGEpOm89cixvfSxzPXZvaWQgMCxsPTAsZj10O2w8Zi5sZW5ndGg7bCsrKXt2YXIgZD1mW2xdOyJjeCI9PT1kLmtleUlmRW5jb2RlZD9zPWMocyxkLmpzb24pOmkoZC5qc29uLGQua2V5SWZFbmNvZGVkLGQua2V5SWZOb3RFbmNvZGVkKX0odC5sZW5ndGg9MCxyLmxlbmd0aCkmJihzPWMocyx7c2NoZW1hOiJpZ2x1OmNvbS5zbm93cGxvd2FuYWx5dGljcy5zbm93cGxvdy9jb250ZXh0cy9qc29uc2NoZW1hLzEtMC0wIixkYXRhOm8oW10sciwhMCl9KSxyLmxlbmd0aD0wKTtzJiZpKHMsImN4IiwiY28iKX19ZnVuY3Rpb24gZihlKXtpZighZChlKSlyZXR1cm4hMQo7Zm9yKHZhciBuIGluIGUpaWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsbikpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gZChlKXtyZXR1cm4gbnVsbCE9ZSYmKGUuY29uc3RydWN0b3I9PT17fS5jb25zdHJ1Y3Rvcnx8ZS5jb25zdHJ1Y3Rvcj09PVtdLmNvbnN0cnVjdG9yKX12YXIgdixnPSJTbm93cGxvdzogIjshZnVuY3Rpb24oZSl7ZVtlLm5vbmU9MF09Im5vbmUiLGVbZS5lcnJvcj0xXT0iZXJyb3IiLGVbZS53YXJuPTJdPSJ3YXJuIixlW2UuZGVidWc9M109ImRlYnVnIixlW2UuaW5mbz00XT0iaW5mbyJ9KHZ8fCh2PXt9KSk7dmFyIHA9ZnVuY3Rpb24oZSl7dm9pZCAwPT09ZSYmKGU9di53YXJuKTtyZXR1cm57c2V0TG9nTGV2ZWw6ZnVuY3Rpb24obil7ZT12W25dP246di53YXJufSx3YXJuOmZ1bmN0aW9uKG4sdCl7Zm9yKHZhciByPVtdLGk9MjtpPGFyZ3VtZW50cy5sZW5ndGg7aSsrKXJbaS0yXT1hcmd1bWVudHNbaV07aWYoZT49di53YXJuJiYidW5kZWZpbmVkIiE9dHlwZW9mIGNvbnNvbGUpe3ZhciBhPWcrbjt0P2NvbnNvbGUud2Fybi5hcHBseShjb25zb2xlLG8oW2ErIlxuIix0XSxyLCExKSk6Y29uc29sZS53YXJuLmFwcGx5KGNvbnNvbGUsbyhbYV0sciwhMSkpfX0sZXJyb3I6ZnVuY3Rpb24obix0KXtmb3IodmFyIHI9W10saT0yO2k8YXJndW1lbnRzLmxlbmd0aDtpKyspcltpLTJdPWFyZ3VtZW50c1tpXTtpZihlPj12LmVycm9yJiYidW5kZWZpbmVkIiE9dHlwZW9mIGNvbnNvbGUpe3ZhciBhPWcrbisiXG4iO3Q/Y29uc29sZS5lcnJvci5hcHBseShjb25zb2xlLG8oW2ErIlxuIix0XSxyLCExKSk6Y29uc29sZS5lcnJvci5hcHBseShjb25zb2xlLG8oW2FdLHIsITEpKX19LGRlYnVnOmZ1bmN0aW9uKG4pe2Zvcih2YXIgdD1bXSxyPTE7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl0W3ItMV09YXJndW1lbnRzW3JdO2U+PXYuZGVidWcmJiJ1bmRlZmluZWQiIT10eXBlb2YgY29uc29sZSYmY29uc29sZS5kZWJ1Zy5hcHBseShjb25zb2xlLG8oW2crbl0sdCwhMSkpfSxpbmZvOmZ1bmN0aW9uKG4pe2Zvcih2YXIgdD1bXSxyPTE7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl0W3ItMV09YXJndW1lbnRzW3JdO2U+PXYuaW5mbyYmInVuZGVmaW5lZCIhPXR5cGVvZiBjb25zb2xlJiZjb25zb2xlLmluZm8uYXBwbHkoY29uc29sZSxvKFtnK25dLHQsITEpKX19fSgpO2Z1bmN0aW9uIG0oKXt2YXIgZT1bXSxuPVtdLHQ9ZnVuY3Rpb24odCl7dmFyIHI9ZnVuY3Rpb24oZSl7Zm9yKHZhciBuPWUuZ2V0SnNvbigpLHQ9MCxyPW47dDxyLmxlbmd0aDt0Kyspe3ZhciBvPXJbdF07aWYoInVlX3B4Ij09PW8ua2V5SWZFbmNvZGVkJiYib2JqZWN0Ij09dHlwZW9mIG8uanNvbi5kYXRhKXt2YXIgaT1vLmpzb24uZGF0YS5zY2hlbWE7aWYoInN0cmluZyI9PXR5cGVvZiBpKXJldHVybiBpfX1yZXR1cm4iIn0odCksbz1mdW5jdGlvbihlKXt2YXIgbj1lLmdldFBheWxvYWQoKS5lO3JldHVybiJzdHJpbmciPT10eXBlb2Ygbj9uOiIifSh0KSxpPVtdLGE9RShlLHQsbyxyKTtpLnB1c2guYXBwbHkoaSxhKTt2YXIgdT1mdW5jdGlvbihlLG4sdCxyKXt2YXIgbyxpPVAoZSksYT1mdW5jdGlvbihlKXt2YXIgbz1mdW5jdGlvbihlLG4sdCxyKXtpZihUKGUpKXt2YXIgbz1lWzBdLGk9ITE7dHJ5e2k9byh7ZXZlbnQ6bi5nZXRQYXlsb2FkKCksZXZlbnRUeXBlOnQsZXZlbnRTY2hlbWE6cn0pfWNhdGNoKGUpe2k9ITF9aWYoITA9PT1pKXJldHVybiBFKGVbMV0sbix0LHIpfWVsc2UgaWYoSShlKSYmZnVuY3Rpb24oZSxuKXt2YXIgdD0wLHI9MCxvPWUuYWNjZXB0O0FycmF5LmlzQXJyYXkobyk/ZS5hY2NlcHQuc29tZSgoZnVuY3Rpb24oZSl7cmV0dXJuIEMoZSxuKX0pKSYmcisrOiJzdHJpbmciPT10eXBlb2YgbyYmQyhvLG4pJiZyKys7dmFyIGk9ZS5yZWplY3Q7QXJyYXkuaXNBcnJheShpKT9lLnJlamVjdC5zb21lKChmdW5jdGlvbihlKXtyZXR1cm4gQyhlLG4pfSkpJiZ0Kys6InN0cmluZyI9PXR5cGVvZiBpJiZDKGksbikmJnQrKztpZihyPjAmJjA9PT10KXJldHVybiEwO2lmKDA9PT1yJiZ0PjApcmV0dXJuITE7cmV0dXJuITF9KGVbMF0scikpcmV0dXJuIEUoZVsxXSxuLHQscik7cmV0dXJuW119KGUsbix0LHIpO2lmKG8mJjAhPT1vLmxlbmd0aClyZXR1cm4gb30sdT1pLm1hcChhKTtyZXR1cm4obz1bXSkuY29uY2F0LmFwcGx5KG8sdS5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBudWxsIT1lJiZlLmZpbHRlcihCb29sZWFuKX0pKSl9KG4sdCxvLHIpO3JldHVybiBpLnB1c2guYXBwbHkoaSx1KSxpfTtyZXR1cm57Z2V0R2xvYmFsUHJpbWl0aXZlczpmdW5jdGlvbigpe3JldHVybiBlfSxnZXRDb25kaXRpb25hbFByb3ZpZGVyczpmdW5jdGlvbigpe3JldHVybiBufSxhZGRHbG9iYWxDb250ZXh0czpmdW5jdGlvbih0KXtmb3IodmFyIHI9W10sbz1bXSxpPTAsYT10O2k8YS5sZW5ndGg7aSsrKXt2YXIgdT1hW2ldO0EodSk/ci5wdXNoKHUpOngodSkmJm8ucHVzaCh1KX1lPWUuY29uY2F0KG8pLG49bi5jb25jYXQocil9LGNsZWFyR2xvYmFsQ29udGV4dHM6ZnVuY3Rpb24oKXtuPVtdLGU9W119LHJlbW92ZUdsb2JhbENvbnRleHRzOmZ1bmN0aW9uKHQpe2Zvcih2YXIgcj1mdW5jdGlvbih0KXtBKHQpP249bi5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBKU09OLnN0cmluZ2lmeShlKSE9PUpTT04uc3RyaW5naWZ5KHQpfSkpOngodCkmJihlPWUuZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZSkhPT1KU09OLnN0cmluZ2lmeSh0KX0pKSl9LG89MCxpPXQ7bzxpLmxlbmd0aDtvKyspe3IoaVtvXSl9fSxnZXRBcHBsaWNhYmxlQ29udGV4dHM6ZnVuY3Rpb24oZSl7cmV0dXJuIHQoZSl9fX1mdW5jdGlvbiBoKGUpe3ZhciBuPWUuc3BsaXQoIi4iKTtyZXR1cm4hIShuJiZuLmxlbmd0aD4xKSYmZnVuY3Rpb24oZSl7aWYoIioiPT09ZVswXXx8IioiPT09ZVsxXSlyZXR1cm4hMTtpZihlLnNsaWNlKDIpLmxlbmd0aD4wKXtmb3IodmFyIG49ITEsdD0wLHI9ZS5zbGljZSgyKTt0PHIubGVuZ3RoO3QrKylpZigiKiI9PT1yW3RdKW49ITA7ZWxzZSBpZihuKXJldHVybiExO3JldHVybiEwfQpyZXR1cm4gMj09ZS5sZW5ndGh9KG4pfWZ1bmN0aW9uIHkoZSl7dmFyIG49bmV3IFJlZ0V4cCgiXmlnbHU6KCg/Oig/OlthLXpBLVowLTktX10rfFxcKikuKSsoPzpbYS16QS1aMC05LV9dK3xcXCopKS8oW2EtekEtWjAtOS1fLl0rfFxcKikvanNvbnNjaGVtYS8oWzEtOV1bMC05XSp8XFwqKS0oMHxbMS05XVswLTldKnxcXCopLSgwfFsxLTldWzAtOV0qfFxcKikkIikuZXhlYyhlKTtpZihudWxsIT09biYmaChuWzFdKSlyZXR1cm4gbi5zbGljZSgxLDYpfWZ1bmN0aW9uIHcoZSl7dmFyIG49eShlKTtpZihuKXt2YXIgdD1uWzBdO3JldHVybiA1PT09bi5sZW5ndGgmJmgodCl9cmV0dXJuITF9ZnVuY3Rpb24gYihlKXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSkmJmUuZXZlcnkoKGZ1bmN0aW9uKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZX0pKX0oZSk/ZS5ldmVyeSgoZnVuY3Rpb24oZSl7cmV0dXJuIHcoZSl9KSk6InN0cmluZyI9PXR5cGVvZiBlJiZ3KGUpfWZ1bmN0aW9uIGsoZSl7dmFyIG49ZTtyZXR1cm4hIShmKG4pJiYic2NoZW1hImluIG4mJiJkYXRhImluIG4pJiYoInN0cmluZyI9PXR5cGVvZiBuLnNjaGVtYSYmIm9iamVjdCI9PXR5cGVvZiBuLmRhdGEpfWZ1bmN0aW9uIFMoZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGUmJmUubGVuZ3RoPD0xfWZ1bmN0aW9uIHgoZSl7cmV0dXJuIFMoZSl8fGsoZSl9ZnVuY3Rpb24gVChlKXtyZXR1cm4hKCFBcnJheS5pc0FycmF5KGUpfHwyIT09ZS5sZW5ndGgpJiYoQXJyYXkuaXNBcnJheShlWzFdKT9TKGVbMF0pJiZlWzFdLmV2ZXJ5KHgpOlMoZVswXSkmJngoZVsxXSkpfWZ1bmN0aW9uIEkoZSl7cmV0dXJuISghQXJyYXkuaXNBcnJheShlKXx8MiE9PWUubGVuZ3RoKSYmKCEhZnVuY3Rpb24oZSl7dmFyIG49ZSx0PTA7aWYobnVsbCE9ZSYmIm9iamVjdCI9PXR5cGVvZiBlJiYhQXJyYXkuaXNBcnJheShlKSl7aWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4sImFjY2VwdCIpKXtpZighYihuLmFjY2VwdCkpcmV0dXJuITE7dCs9MX1pZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobiwicmVqZWN0Iikpe2lmKCFiKG4ucmVqZWN0KSlyZXR1cm4hMTt0Kz0xfXJldHVybiB0PjAmJnQ8PTJ9cmV0dXJuITF9KGVbMF0pJiYoQXJyYXkuaXNBcnJheShlWzFdKT9lWzFdLmV2ZXJ5KHgpOngoZVsxXSkpKX1mdW5jdGlvbiBBKGUpe3JldHVybiBUKGUpfHxJKGUpfWZ1bmN0aW9uIEMoZSxuKXtpZighdyhlKSlyZXR1cm4hMTt2YXIgdD15KGUpLHI9ZnVuY3Rpb24oZSl7dmFyIG49bmV3IFJlZ0V4cCgiXmlnbHU6KFthLXpBLVowLTktXy5dKykvKFthLXpBLVowLTktX10rKS9qc29uc2NoZW1hLyhbMS05XVswLTldKiktKDB8WzEtOV1bMC05XSopLSgwfFsxLTldWzAtOV0qKSQiKS5leGVjKGUpO2lmKG51bGwhPT1uKXJldHVybiBuLnNsaWNlKDEsNil9KG4pO2lmKHQmJnIpe2lmKCFmdW5jdGlvbihlLG4pe3ZhciB0PW4uc3BsaXQoIi4iKSxyPWUuc3BsaXQoIi4iKTtpZih0JiZyKXtpZih0Lmxlbmd0aCE9PXIubGVuZ3RoKXJldHVybiExO2Zvcih2YXIgbz0wO288ci5sZW5ndGg7bysrKWlmKCFPKHRbb10scltvXSkpcmV0dXJuITE7cmV0dXJuITB9cmV0dXJuITF9KHRbMF0sclswXSkpcmV0dXJuITE7Zm9yKHZhciBvPTE7bzw1O28rKylpZighTyh0W29dLHJbb10pKXJldHVybiExO3JldHVybiEwfXJldHVybiExfWZ1bmN0aW9uIE8oZSxuKXtyZXR1cm4gZSYmbiYmIioiPT09ZXx8ZT09PW59ZnVuY3Rpb24gUChlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9lOkFycmF5Lm9mKGUpfWZ1bmN0aW9uIEUoZSxuLHQscil7dmFyIG8saT1QKGUpLm1hcCgoZnVuY3Rpb24oZSl7dmFyIG89ZnVuY3Rpb24oZSxuLHQscil7aWYoayhlKSlyZXR1cm5bZV07aWYoUyhlKSl7dmFyIG89ZnVuY3Rpb24oZSxuLHQscil7dmFyIG89dm9pZCAwO3RyeXtyZXR1cm4gbz1lKHtldmVudDpuLmdldFBheWxvYWQoKSxldmVudFR5cGU6dCxldmVudFNjaGVtYTpyfSksQXJyYXkuaXNBcnJheShvKSYmby5ldmVyeShrKXx8ayhvKT9vOnZvaWQgMH1jYXRjaChlKXtvPXZvaWQgMH1yZXR1cm4gb30oZSxuLHQscik7aWYoayhvKSlyZXR1cm5bb107aWYoQXJyYXkuaXNBcnJheShvKSlyZXR1cm4gb31yZXR1cm59KGUsbix0LHIpO2lmKG8mJjAhPT1vLmxlbmd0aClyZXR1cm4gb30pKTtyZXR1cm4obz1bXSkuY29uY2F0LmFwcGx5KG8saS5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBudWxsIT1lJiZlLmZpbHRlcihCb29sZWFuKX0pKSl9ZnVuY3Rpb24gTChlKXt2b2lkIDA9PT1lJiYoZT17fSk7dmFyIG49ZS5iYXNlNjQsdD1lLmNvcmVQbHVnaW5zLGE9ZS5jYWxsYmFjayx1PW51bGwhPXQ/dDpbXSxjPWZ1bmN0aW9uKGUsbix0KXt2YXIgcj1mdW5jdGlvbihlKXtyZXR1cm57YWRkUGx1Z2luQ29udGV4dHM6ZnVuY3Rpb24obil7dmFyIHQ9bj9vKFtdLG4sITApOltdO3JldHVybiBlLmZvckVhY2goKGZ1bmN0aW9uKGUpe3RyeXtlLmNvbnRleHRzJiZ0LnB1c2guYXBwbHkodCxlLmNvbnRleHRzKCkpfWNhdGNoKGUpe3AuZXJyb3IoIkVycm9yIGFkZGluZyBwbHVnaW4gY29udGV4dHMiLGUpfX0pKSx0fX19KG4pLGE9bSgpLHU9ZSxjPXt9O2Z1bmN0aW9uIHMoZSxuKXtjW2VdPW59dmFyIGY9e3RyYWNrOmZ1bmN0aW9uKGUsbyxzKXtlLndpdGhKc29uUHJvY2Vzc29yKGwodSkpLGUuYWRkKCJlaWQiLCgwLGkudjQpKCkpLGUuYWRkRGljdChjKTt2YXIgZj1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT97dHlwZToiZHRtIix2YWx1ZToobmV3IERhdGUpLmdldFRpbWUoKX06Im51bWJlciI9PXR5cGVvZiBlP3t0eXBlOiJkdG0iLHZhbHVlOmV9OiJ0dG0iPT09ZS50eXBlP3t0eXBlOiJ0dG0iLHZhbHVlOmUudmFsdWV9Ont0eXBlOiJkdG0iLHZhbHVlOmUudmFsdWV8fChuZXcgRGF0ZSkuZ2V0VGltZSgpfX0ocyk7ZS5hZGQoZi50eXBlLGYudmFsdWUudG9TdHJpbmcoKSk7dmFyIGQ9ZnVuY3Rpb24oZSl7aWYoZSYmZS5sZW5ndGgpcmV0dXJuewpzY2hlbWE6ImlnbHU6Y29tLnNub3dwbG93YW5hbHl0aWNzLnNub3dwbG93L2NvbnRleHRzL2pzb25zY2hlbWEvMS0wLTAiLGRhdGE6ZX19KGZ1bmN0aW9uKGUsbil7dmFyIHQ9YS5nZXRBcHBsaWNhYmxlQ29udGV4dHMoZSkscj1bXTtyZXR1cm4gbiYmbi5sZW5ndGgmJnIucHVzaC5hcHBseShyLG4pLHQmJnQubGVuZ3RoJiZyLnB1c2guYXBwbHkocix0KSxyfShlLHIuYWRkUGx1Z2luQ29udGV4dHMobykpKTt2b2lkIDAhPT1kJiZlLmFkZEpzb24oImN4IiwiY28iLGQpLG4uZm9yRWFjaCgoZnVuY3Rpb24obil7dHJ5e24uYmVmb3JlVHJhY2smJm4uYmVmb3JlVHJhY2soZSl9Y2F0Y2goZSl7cC5lcnJvcigiUGx1Z2luIGJlZm9yZVRyYWNrIixlKX19KSksImZ1bmN0aW9uIj09dHlwZW9mIHQmJnQoZSk7dmFyIHY9ZS5idWlsZCgpO3JldHVybiBuLmZvckVhY2goKGZ1bmN0aW9uKGUpe3RyeXtlLmFmdGVyVHJhY2smJmUuYWZ0ZXJUcmFjayh2KX1jYXRjaChlKXtwLmVycm9yKCJQbHVnaW4gYWZ0ZXJUcmFjayIsZSl9fSkpLHZ9LGFkZFBheWxvYWRQYWlyOnMsZ2V0QmFzZTY0RW5jb2Rpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gdX0sc2V0QmFzZTY0RW5jb2Rpbmc6ZnVuY3Rpb24oZSl7dT1lfSxhZGRQYXlsb2FkRGljdDpmdW5jdGlvbihlKXtmb3IodmFyIG4gaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxuKSYmKGNbbl09ZVtuXSl9LHJlc2V0UGF5bG9hZFBhaXJzOmZ1bmN0aW9uKGUpe2M9ZChlKT9lOnt9fSxzZXRUcmFja2VyVmVyc2lvbjpmdW5jdGlvbihlKXtzKCJ0diIsZSl9LHNldFRyYWNrZXJOYW1lc3BhY2U6ZnVuY3Rpb24oZSl7cygidG5hIixlKX0sc2V0QXBwSWQ6ZnVuY3Rpb24oZSl7cygiYWlkIixlKX0sc2V0UGxhdGZvcm06ZnVuY3Rpb24oZSl7cygicCIsZSl9LHNldFVzZXJJZDpmdW5jdGlvbihlKXtzKCJ1aWQiLGUpfSxzZXRTY3JlZW5SZXNvbHV0aW9uOmZ1bmN0aW9uKGUsbil7cygicmVzIixlKyJ4IituKX0sc2V0Vmlld3BvcnQ6ZnVuY3Rpb24oZSxuKXtzKCJ2cCIsZSsieCIrbil9LHNldENvbG9yRGVwdGg6ZnVuY3Rpb24oZSl7cygiY2QiLGUpfSxzZXRUaW1lem9uZTpmdW5jdGlvbihlKXtzKCJ0eiIsZSl9LHNldExhbmc6ZnVuY3Rpb24oZSl7cygibGFuZyIsZSl9LHNldElwQWRkcmVzczpmdW5jdGlvbihlKXtzKCJpcCIsZSl9LHNldFVzZXJhZ2VudDpmdW5jdGlvbihlKXtzKCJ1YSIsZSl9LGFkZEdsb2JhbENvbnRleHRzOmZ1bmN0aW9uKGUpe2EuYWRkR2xvYmFsQ29udGV4dHMoZSl9LGNsZWFyR2xvYmFsQ29udGV4dHM6ZnVuY3Rpb24oKXthLmNsZWFyR2xvYmFsQ29udGV4dHMoKX0scmVtb3ZlR2xvYmFsQ29udGV4dHM6ZnVuY3Rpb24oZSl7YS5yZW1vdmVHbG9iYWxDb250ZXh0cyhlKX19O3JldHVybiBmfShudWxsPT1ufHxuLHUsYSkscz1yKHIoe30sYykse2FkZFBsdWdpbjpmdW5jdGlvbihlKXt2YXIgbix0LHI9ZS5wbHVnaW47dS5wdXNoKHIpLG51bGw9PT0obj1yLmxvZ2dlcil8fHZvaWQgMD09PW58fG4uY2FsbChyLHApLG51bGw9PT0odD1yLmFjdGl2YXRlQ29yZVBsdWdpbil8fHZvaWQgMD09PXR8fHQuY2FsbChyLHMpfX0pO3JldHVybiBudWxsPT11fHx1LmZvckVhY2goKGZ1bmN0aW9uKGUpe3ZhciBuLHQ7bnVsbD09PShuPWUubG9nZ2VyKXx8dm9pZCAwPT09bnx8bi5jYWxsKGUscCksbnVsbD09PSh0PWUuYWN0aXZhdGVDb3JlUGx1Z2luKXx8dm9pZCAwPT09dHx8dC5jYWxsKGUscyl9KSksc31mdW5jdGlvbiBEKGUpe3ZhciBuPWUuZXZlbnQsdD1uLnNjaGVtYSxyPW4uZGF0YSxvPXMoKSxpPXtzY2hlbWE6ImlnbHU6Y29tLnNub3dwbG93YW5hbHl0aWNzLnNub3dwbG93L3Vuc3RydWN0X2V2ZW50L2pzb25zY2hlbWEvMS0wLTAiLGRhdGE6e3NjaGVtYTp0LGRhdGE6cn19O3JldHVybiBvLmFkZCgiZSIsInVlIiksby5hZGRKc29uKCJ1ZV9weCIsInVlX3ByIixpKSxvfXZhciBqPXQoMTk2MzczKSxVPXQubihqKTtmdW5jdGlvbiBSKGUsbix0KXt2b2lkIDA9PT10JiYodD02MzA3MmUzKTt0cnl7dmFyIHI9d2luZG93LmxvY2FsU3RvcmFnZSxvPURhdGUubm93KCkrMWUzKnQ7cmV0dXJuIHIuc2V0SXRlbSgiIi5jb25jYXQoZSwiLmV4cGlyZXMiKSxvLnRvU3RyaW5nKCkpLHIuc2V0SXRlbShlLG4pLCEwfWNhdGNoKGUpe3JldHVybiExfX1mdW5jdGlvbiBOKGUpe3RyeXt2YXIgbj13aW5kb3cubG9jYWxTdG9yYWdlO3JldHVybiBuLnJlbW92ZUl0ZW0oZSksbi5yZW1vdmVJdGVtKGUrIi5leHBpcmVzIiksITB9Y2F0Y2goZSl7cmV0dXJuITF9fWZ1bmN0aW9uIEIoZSl7dHJ5e3JldHVybiB3aW5kb3cuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShlKX1jYXRjaChlKXtyZXR1cm59fXZhciBfPXtzZXNzaW9uSWQ6ITAsc291cmNlSWQ6ITAsc291cmNlUGxhdGZvcm06ITEsdXNlcklkOiExLHJlYXNvbjohMX07ZnVuY3Rpb24gVihlKXtyZXR1cm4gYnRvYShlKS5yZXBsYWNlKC9cKy9nLCItIikucmVwbGFjZSgvXC8vZywiXyIpLnJlcGxhY2UoL1w9KyQvLCIiKX1mdW5jdGlvbiBNKGUpe3JldHVybiEoIWV8fCJzdHJpbmciIT10eXBlb2YgZS52YWx1ZU9mKCkpfWZ1bmN0aW9uIHooZSl7cmV0dXJuIE51bWJlci5pc0ludGVnZXImJk51bWJlci5pc0ludGVnZXIoZSl8fCJudW1iZXIiPT10eXBlb2YgZSYmaXNGaW5pdGUoZSkmJk1hdGguZmxvb3IoZSk9PT1lfWZ1bmN0aW9uIEgoZSl7aWYoIU0oZSkpe2U9ZS50ZXh0fHwiIjt2YXIgbj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGl0bGUiKTtuJiZudWxsIT1uWzBdJiYoZT1uWzBdLnRleHQpfXJldHVybiBlfWZ1bmN0aW9uIEooZSl7dmFyIG49bmV3IFJlZ0V4cCgiXig/Oig/Omh0dHBzP3xmdHApOikvKig/OlteQF0rQCk/KFteOi8jXSspIikuZXhlYyhlKTtyZXR1cm4gbj9uWzFdOmV9ZnVuY3Rpb24gcShlKXt2YXIgbj1lLmxlbmd0aDtyZXR1cm4iLiI9PT1lLmNoYXJBdCgtLW4pJiYoZT1lLnNsaWNlKDAsbikpLCIqLiI9PT1lLnNsaWNlKDAsMikmJihlPWUuc2xpY2UoMSkpLGV9ZnVuY3Rpb24gRihlKXsKdmFyIG49d2luZG93LHQ9WCgicmVmZXJyZXIiLG4ubG9jYXRpb24uaHJlZil8fFgoInJlZmVyZXIiLG4ubG9jYXRpb24uaHJlZik7aWYodClyZXR1cm4gdDtpZihlKXJldHVybiBlO3RyeXtpZihuLnRvcClyZXR1cm4gbi50b3AuZG9jdW1lbnQucmVmZXJyZXI7aWYobi5wYXJlbnQpcmV0dXJuIG4ucGFyZW50LmRvY3VtZW50LnJlZmVycmVyfWNhdGNoKGUpe31yZXR1cm4gZG9jdW1lbnQucmVmZXJyZXJ9ZnVuY3Rpb24gRyhlLG4sdCxyKXtyZXR1cm4gZS5hZGRFdmVudExpc3RlbmVyPyhlLmFkZEV2ZW50TGlzdGVuZXIobix0LHIpLCEwKTplLmF0dGFjaEV2ZW50P2UuYXR0YWNoRXZlbnQoIm9uIituLHQpOnZvaWQoZVsib24iK25dPXQpfWZ1bmN0aW9uIFgoZSxuKXt2YXIgdD1uZXcgUmVnRXhwKCJeW14jXSpbPyZdIitlKyI9KFteJiNdKikiKS5leGVjKG4pO3JldHVybiB0P2RlY29kZVVSSUNvbXBvbmVudCh0WzFdLnJlcGxhY2UoL1wrL2csIiAiKSk6bnVsbH1mdW5jdGlvbiBXKGUsbix0LHIpe1EoZSwiIiwtMSwiLyIsbix0LHIpfWZ1bmN0aW9uIFkoZSl7Zm9yKHZhciBuPWRvY3VtZW50LmNvb2tpZS5zcGxpdCgiOyAiKSx0PVtdLHI9MDtyPG4ubGVuZ3RoO3IrKyluW3JdLnN1YnN0cmluZygwLGUubGVuZ3RoKT09PWUmJnQucHVzaChuW3JdKTtyZXR1cm4gdH1mdW5jdGlvbiBRKGUsbix0LHIsbyxpLGEpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPjE/ZG9jdW1lbnQuY29va2llPWUrIj0iK2VuY29kZVVSSUNvbXBvbmVudChudWxsIT1uP246IiIpKyh0PyI7IEV4cGlyZXM9IituZXcgRGF0ZSgrbmV3IERhdGUrMWUzKnQpLnRvVVRDU3RyaW5nKCk6IiIpKyhyPyI7IFBhdGg9IityOiIiKSsobz8iOyBEb21haW49IitvOiIiKSsoaT8iOyBTYW1lU2l0ZT0iK2k6IiIpKyhhPyI7IFNlY3VyZSI6IiIpOmRlY29kZVVSSUNvbXBvbmVudCgoKCI7ICIrZG9jdW1lbnQuY29va2llKS5zcGxpdCgiOyAiK2UrIj0iKVsxXXx8IiIpLnNwbGl0KCI7IilbMF0pfWZ1bmN0aW9uIFooKXt2YXIgZT0ibW9kZXJuaXpyIjtpZighZnVuY3Rpb24oKXt0cnl7cmV0dXJuISF3aW5kb3cubG9jYWxTdG9yYWdlfWNhdGNoKGUpe3JldHVybiEwfX0oKSlyZXR1cm4hMTt0cnl7dmFyIG49d2luZG93LmxvY2FsU3RvcmFnZTtyZXR1cm4gbi5zZXRJdGVtKGUsZSksbi5yZW1vdmVJdGVtKGUpLCEwfWNhdGNoKGUpe3JldHVybiExfX12YXIgSz0iaWdsdTpjb20uc25vd3Bsb3dhbmFseXRpY3Muc25vd3Bsb3cvd2ViX3BhZ2UvanNvbnNjaGVtYS8xLTAtMCIsJD0iaWdsdTpjb20uc25vd3Bsb3dhbmFseXRpY3Muc25vd3Bsb3cvYnJvd3Nlcl9jb250ZXh0L2pzb25zY2hlbWEvMi0wLTAiLGVlPSJpZ2x1OmNvbS5zbm93cGxvd2FuYWx5dGljcy5zbm93cGxvdy9jbGllbnRfc2Vzc2lvbi9qc29uc2NoZW1hLzEtMC0yIjtmdW5jdGlvbiBuZShlLG4sdCxyLG8saSxhLHUsYyxzLGwsZixkLHYsZyxtLGgseSx3LGIpe3ZvaWQgMD09PXkmJih5PSEwKTt2YXIgayxTLHg9ITEsVD1bXSxJPSExLEE9ITA9PT0ocj0ic3RyaW5nIj09dHlwZW9mIHI/ci50b0xvd2VyQ2FzZSgpOnIpfHwiYmVhY29uIj09PXJ8fCJ0cnVlIj09PXIsQz1Cb29sZWFuKEEmJndpbmRvdy5uYXZpZ2F0b3ImJiJmdW5jdGlvbiI9PXR5cGVvZiB3aW5kb3cubmF2aWdhdG9yLnNlbmRCZWFjb24mJiEoZnVuY3Rpb24oZSxuKXt2YXIgdD1uLm1hdGNoKCIoaVAuKzsgQ1BVIC4qT1MgKGQrKVtfZF0qLiopIEFwcGxlV2ViS2l0LyIpO3JldHVybiEoIXR8fCF0Lmxlbmd0aCkmJnBhcnNlSW50KHRbMF0pPD1lfSgxMyxTPXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50KXx8ZnVuY3Rpb24oZSxuLHQpe3ZhciByPXQubWF0Y2goIihNYWNpbnRvc2g7LipNYWMgT1MgWCAoZCspXyhkKylbX2RdKi4qKSBBcHBsZVdlYktpdC8iKTtyZXR1cm4hKCFyfHwhci5sZW5ndGgpJiYocGFyc2VJbnQoclswXSk8PWV8fHBhcnNlSW50KHJbMF0pPT09ZSYmcGFyc2VJbnQoclsxXSk8PW4pfSgxMCwxNSxTKSYmZnVuY3Rpb24oZSl7cmV0dXJuIGUubWF0Y2goIlZlcnNpb24vLiogU2FmYXJpLyIpJiYhZnVuY3Rpb24oZSl7cmV0dXJuIGUubWF0Y2goIkNocm9tKGV8aXVtKSIpfShlKX0oUykpKSYmQSxPPSJnZXQiPT09cixQPUJvb2xlYW4od2luZG93LlhNTEh0dHBSZXF1ZXN0JiYid2l0aENyZWRlbnRpYWxzImluIG5ldyBYTUxIdHRwUmVxdWVzdCksRT0hTyYmUCYmKCJwb3N0Ij09PXJ8fEEpLEw9RT9vOiIvaSIsRD0ic25vd3Bsb3dPdXRRdWV1ZV8iLmNvbmNhdChlLCJfIikuY29uY2F0KEU/InBvc3QyIjoiZ2V0Iik7aWYoQSYmKGQ9e30pLGk9dCYmWigpJiZFJiZpfHwxLHQpdHJ5e3ZhciBqPXdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShEKTtUPWo/SlNPTi5wYXJzZShqKTpbXX1jYXRjaChlKXt9ZnVuY3Rpb24gVShlKXt2YXIgbj1PYmplY3Qua2V5cyhlKS5tYXAoKGZ1bmN0aW9uKG4pe3JldHVybltuLGVbbl1dfSkpLnJlZHVjZSgoZnVuY3Rpb24oZSxuKXt2YXIgdD1uWzBdLHI9blsxXTtyZXR1cm4gZVt0XT1yLnRvU3RyaW5nKCksZX0pLHt9KTtyZXR1cm57ZXZ0Om4sYnl0ZXM6TihKU09OLnN0cmluZ2lmeShuKSl9fWZ1bmN0aW9uIE4oZSl7Zm9yKHZhciBuPTAsdD0wO3Q8ZS5sZW5ndGg7dCsrKXt2YXIgcj1lLmNoYXJDb2RlQXQodCk7cjw9MTI3P24rPTE6cjw9MjA0Nz9uKz0yOnI+PTU1Mjk2JiZyPD01NzM0Mz8obis9NCx0KyspOm4rPXI8NjU1MzU/Mzo0fXJldHVybiBufUFycmF5LmlzQXJyYXkoVCl8fChUPVtdKSxuLm91dFF1ZXVlcy5wdXNoKFQpLFAmJmk+MSYmbi5idWZmZXJGbHVzaGVycy5wdXNoKChmdW5jdGlvbihlKXt4fHxIKGUpfSkpO3ZhciBCPWZ1bmN0aW9uKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZVswXSYmImV2dCJpbiBlWzBdfTtmdW5jdGlvbiBfKGUsbil7dmFyIHQ9cShuLCEwLCExKSxyPUcoW2UuZXZ0XSk7dC5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXs0PT09dC5yZWFkeVN0YXRlJiYoSih0LnN0YXR1cyk/bnVsbD09d3x8dyhyKTpudWxsPT1ifHxiKHtzdGF0dXM6dC5zdGF0dXMsbWVzc2FnZTp0LnN0YXR1c1RleHQsZXZlbnRzOnIsd2lsbFJldHJ5OiExfSkpfSwKdC5zZW5kKEYocikpfWZ1bmN0aW9uIFYoZSl7Zm9yKHZhciBuPTA7bjxlO24rKylULnNoaWZ0KCk7dCYmUihELEpTT04uc3RyaW5naWZ5KFQuc2xpY2UoMCxzKSkpfWZ1bmN0aW9uIHooZSxuLHQpe2Uub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7aWYoND09PWUucmVhZHlTdGF0ZSlpZihjbGVhclRpbWVvdXQociksSihlLnN0YXR1cykpVihuKSxudWxsPT13fHx3KHQpLEgoKTtlbHNle3ZhciBvPWZ1bmN0aW9uKGUpe2lmKEooZSkpcmV0dXJuITE7aWYoIXkpcmV0dXJuITE7aWYoZy5pbmNsdWRlcyhlKSlyZXR1cm4hMDtyZXR1cm4hbS5pbmNsdWRlcyhlKX0oZS5zdGF0dXMpO298fChwLmVycm9yKCJTdGF0dXMgIi5jb25jYXQoZS5zdGF0dXMsIiwgd2lsbCBub3QgcmV0cnkuIikpLFYobikpLG51bGw9PWJ8fGIoe3N0YXR1czplLnN0YXR1cyxtZXNzYWdlOmUuc3RhdHVzVGV4dCxldmVudHM6dCx3aWxsUmV0cnk6b30pLHg9ITF9fTt2YXIgcj1zZXRUaW1lb3V0KChmdW5jdGlvbigpe2UuYWJvcnQoKSx5fHxWKG4pLG51bGw9PWJ8fGIoe3N0YXR1czowLG1lc3NhZ2U6InRpbWVvdXQiLGV2ZW50czp0LHdpbGxSZXRyeTp5fSkseD0hMX0pLGwpfWZ1bmN0aW9uIEgoZSl7Zm9yKHZvaWQgMD09PWUmJihlPSExKTtULmxlbmd0aCYmInN0cmluZyIhPXR5cGVvZiBUWzBdJiYib2JqZWN0IiE9dHlwZW9mIFRbMF07KVQuc2hpZnQoKTtpZihULmxlbmd0aCl7aWYoIU0oaykpdGhyb3ciTm8gY29sbGVjdG9yIGNvbmZpZ3VyZWQiO2lmKHg9ITAsaCYmIUkpe3ZhciBuPXEoaCwhMSxlKTtyZXR1cm4gST0hMCxuLnRpbWVvdXQ9bCxuLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpezQ9PT1uLnJlYWR5U3RhdGUmJkgoKX0sdm9pZCBuLnNlbmQoKX1pZihQKXt2YXIgcj12b2lkIDAsbz12b2lkIDAsaT12b2lkIDA7aWYoQihUKT8obz1xKHI9aywhMCxlKSxpPWZ1bmN0aW9uKGUpe2Zvcih2YXIgbj0wLHQ9MDtuPGUubGVuZ3RoJiYhKCh0Kz1lW25dLmJ5dGVzKT49YSk7KW4rPTE7cmV0dXJuIG59KFQpKToobz1xKHI9WChUWzBdKSwhMSxlKSxpPTEpLEIoVCkpe3ZhciB1PVQuc2xpY2UoMCxpKTtpZih1Lmxlbmd0aD4wKXt2YXIgYz0hMSxkPXUubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gZS5ldnR9KSk7aWYoQyl7dmFyIHY9bmV3IEJsb2IoW0YoRyhkKSldLHt0eXBlOiJhcHBsaWNhdGlvbi9qc29uIn0pO3RyeXtjPXdpbmRvdy5uYXZpZ2F0b3Iuc2VuZEJlYWNvbihyLHYpfWNhdGNoKGUpe2M9ITF9fWlmKCEwPT09YylWKGkpLG51bGw9PXd8fHcodSksSCgpO2Vsc2V7dmFyIGc9RyhkKTt6KG8saSxnKSxvLnNlbmQoRihnKSl9fX1lbHNlIHoobyxpLFtyXSksby5zZW5kKCl9ZWxzZSBpZihmfHxCKFQpKXg9ITE7ZWxzZXt2YXIgcD1uZXcgSW1hZ2UoMSwxKSxtPSEwO3Aub25sb2FkPWZ1bmN0aW9uKCl7bSYmKG09ITEsVC5zaGlmdCgpLHQmJlIoRCxKU09OLnN0cmluZ2lmeShULnNsaWNlKDAscykpKSxIKCkpfSxwLm9uZXJyb3I9ZnVuY3Rpb24oKXttJiYobT0hMSx4PSExKX0scC5zcmM9WChUWzBdKSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe20mJngmJihtPSExLEgoKSl9KSxsKX19ZWxzZSB4PSExfWZ1bmN0aW9uIEooZSl7cmV0dXJuIGU+PTIwMCYmZTwzMDB9ZnVuY3Rpb24gcShlLG4sdCl7dmFyIHI9bmV3IFhNTEh0dHBSZXF1ZXN0O2Zvcih2YXIgbyBpbiBuPyhyLm9wZW4oIlBPU1QiLGUsIXQpLHIuc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwiYXBwbGljYXRpb24vanNvbjsgY2hhcnNldD1VVEYtOCIpKTpyLm9wZW4oIkdFVCIsZSwhdCksci53aXRoQ3JlZGVudGlhbHM9dixmJiZyLnNldFJlcXVlc3RIZWFkZXIoIlNQLUFub255bW91cyIsIioiKSxkKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChkLG8pJiZyLnNldFJlcXVlc3RIZWFkZXIobyxkW29dKTtyZXR1cm4gcn1mdW5jdGlvbiBGKGUpe3JldHVybiBKU09OLnN0cmluZ2lmeSh7c2NoZW1hOiJpZ2x1OmNvbS5zbm93cGxvd2FuYWx5dGljcy5zbm93cGxvdy9wYXlsb2FkX2RhdGEvanNvbnNjaGVtYS8xLTAtNCIsZGF0YTplfSl9ZnVuY3Rpb24gRyhlKXtmb3IodmFyIG49KG5ldyBEYXRlKS5nZXRUaW1lKCkudG9TdHJpbmcoKSx0PTA7dDxlLmxlbmd0aDt0KyspZVt0XS5zdG09bjtyZXR1cm4gZX1mdW5jdGlvbiBYKGUpe3JldHVybiBjP2srZS5yZXBsYWNlKCI/IiwiP3N0bT0iKyhuZXcgRGF0ZSkuZ2V0VGltZSgpKyImIik6aytlfXJldHVybntlbnF1ZXVlUmVxdWVzdDpmdW5jdGlvbihlLG4pe2s9bitMO3ZhciByPWZ1bmN0aW9uKGUsbil7cmV0dXJuIHAud2FybigiRXZlbnQgKCIrZSsiQikgdG9vIGJpZywgbWF4IGlzICIrbil9O2lmKEUpe2lmKChmPVUoZSkpLmJ5dGVzPj1hKXJldHVybiByKGYuYnl0ZXMsYSksdm9pZCBfKGYsayk7VC5wdXNoKGYpfWVsc2V7dmFyIGM9ZnVuY3Rpb24oZSl7dmFyIG49Ij8iLHQ9e2NvOiEwLGN4OiEwfSxyPSEwO2Zvcih2YXIgbyBpbiBlKWUuaGFzT3duUHJvcGVydHkobykmJiF0Lmhhc093blByb3BlcnR5KG8pJiYocj9yPSExOm4rPSImIixuKz1lbmNvZGVVUklDb21wb25lbnQobykrIj0iK2VuY29kZVVSSUNvbXBvbmVudChlW29dKSk7Zm9yKHZhciBpIGluIHQpZS5oYXNPd25Qcm9wZXJ0eShpKSYmdC5oYXNPd25Qcm9wZXJ0eShpKSYmKG4rPSImIitpKyI9IitlbmNvZGVVUklDb21wb25lbnQoZVtpXSkpO3JldHVybiBufShlKTtpZih1PjApe3ZhciBsPU4oWChjKSk7aWYobD49dSl7dmFyIGY7aWYocihsLHUpLFApXyhmPVUoZSksbitvKTtyZXR1cm59fVQucHVzaChjKX12YXIgZD0hMTt0JiYoZD1SKEQsSlNPTi5zdHJpbmdpZnkoVC5zbGljZSgwLHMpKSkpLHh8fGQmJiEoVC5sZW5ndGg+PWkpfHxIKCl9LGV4ZWN1dGVRdWV1ZTpmdW5jdGlvbigpe3h8fEgoKX0sc2V0VXNlTG9jYWxTdG9yYWdlOmZ1bmN0aW9uKGUpe3Q9ZX0sc2V0QW5vbnltb3VzVHJhY2tpbmc6ZnVuY3Rpb24oZSl7Zj1lfSxzZXRDb2xsZWN0b3JVcmw6ZnVuY3Rpb24oZSl7az1lK0x9LHNldEJ1ZmZlclNpemU6ZnVuY3Rpb24oZSl7aT1lfX19ZnVuY3Rpb24gdGUoZSxuLHQpe3ZhciByLG8saSxhCjtyZXR1cm4idHJhbnNsYXRlLmdvb2dsZXVzZXJjb250ZW50LmNvbSI9PT1lPygiIj09PXQmJih0PW4pLGU9SihuPW51bGwhPT0obz1uLGk9InUiLHI9KGE9bmV3IFJlZ0V4cCgiXig/Omh0dHBzP3xmdHApKD86Oi8qKD86W14/XSspKShbP11bXiNdKykiKS5leGVjKG8pKSYmKG51bGw9PWE/dm9pZCAwOmEubGVuZ3RoKT4xP1goaSxhWzFdKTpudWxsKSYmdm9pZCAwIT09cj9yOiIiKSk6ImNjLmJpbmdqLmNvbSIhPT1lJiYid2ViY2FjaGUuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiE9PWV8fChlPUoobj1kb2N1bWVudC5saW5rc1swXS5ocmVmKSksW2Usbix0XX1mdW5jdGlvbiByZShlLG4pe3ZvaWQgMD09PW4mJihuPXttZW1vcml6ZWRWaXNpdENvdW50OjF9KTt2YXIgdD1uLm1lbW9yaXplZFZpc2l0Q291bnQ7Y2UoZSk/KGVbN109ZVs2XSxlWzVdPWVbNF0sZVszXSsrKTplWzNdPXQ7dmFyIHI9KDAsaS52NCkoKTtyZXR1cm4gZVs2XT1yLGVbMTBdPTAsZVs4XT0iIixlWzldPXZvaWQgMCxyfWZ1bmN0aW9uIG9lKGUpe2VbNF09TWF0aC5yb3VuZCgobmV3IERhdGUpLmdldFRpbWUoKS8xZTMpfWZ1bmN0aW9uIGllKGUsbix0KXt2YXIgcj1lWzldO3JldHVybnt1c2VySWQ6dD8iMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwIjplWzFdLHNlc3Npb25JZDplWzZdLGV2ZW50SW5kZXg6ZVsxMF0sc2Vzc2lvbkluZGV4OmVbM10scHJldmlvdXNTZXNzaW9uSWQ6dD9udWxsOmVbN118fG51bGwsc3RvcmFnZU1lY2hhbmlzbToibG9jYWxTdG9yYWdlIj09bj8iTE9DQUxfU1RPUkFHRSI6IkNPT0tJRV8xIixmaXJzdEV2ZW50SWQ6ZVs4XXx8bnVsbCxmaXJzdEV2ZW50VGltZXN0YW1wOnI/bmV3IERhdGUocikudG9JU09TdHJpbmcoKTpudWxsfX1mdW5jdGlvbiBhZShlKXtyZXR1cm4gZVs2XX1mdW5jdGlvbiB1ZShlKXtyZXR1cm4gZVszXX1mdW5jdGlvbiBjZShlKXtyZXR1cm4iMCI9PT1lWzBdfXZhciBzZSxsZT0hMTt2YXIgZmU9IngiO2Z1bmN0aW9uIGRlKCl7cmV0dXJuIlJlc2l6ZU9ic2VydmVyImluIHdpbmRvdz8oc2V8fChzZT12ZSgpKSxmdW5jdGlvbigpe2lmKCFsZSYmZG9jdW1lbnQmJmRvY3VtZW50LmJvZHkmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCl7bGU9ITA7dmFyIGU9bmV3IFJlc2l6ZU9ic2VydmVyKChmdW5jdGlvbihlKXtmb3IodmFyIG49MCx0PWU7bjx0Lmxlbmd0aDtuKyspe3ZhciByPXRbbl07ci50YXJnZXQhPT1kb2N1bWVudC5ib2R5JiZyLnRhcmdldCE9PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudHx8KHNlPXZlKCkpfX0pKTtlLm9ic2VydmUoZG9jdW1lbnQuYm9keSksZS5vYnNlcnZlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCl9fSgpLHNlKTp2ZSgpfWZ1bmN0aW9uIHZlKCl7cmV0dXJue3ZpZXdwb3J0OnBlKGdlKCkpLGRvY3VtZW50U2l6ZTpwZSgoZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsbj1kb2N1bWVudC5ib2R5LHQ9bj9NYXRoLm1heChuLm9mZnNldEhlaWdodCxuLnNjcm9sbEhlaWdodCk6MCxyPU1hdGgubWF4KGUuY2xpZW50V2lkdGgsZS5vZmZzZXRXaWR0aCxlLnNjcm9sbFdpZHRoKSxvPU1hdGgubWF4KGUuY2xpZW50SGVpZ2h0LGUub2Zmc2V0SGVpZ2h0LGUuc2Nyb2xsSGVpZ2h0LHQpLGlzTmFOKHIpfHxpc05hTihvKT8iIjpyK2ZlK28pKSxyZXNvbHV0aW9uOnBlKHNjcmVlbi53aWR0aCtmZStzY3JlZW4uaGVpZ2h0KSxjb2xvckRlcHRoOnNjcmVlbi5jb2xvckRlcHRoLGRldmljZVBpeGVsUmF0aW86d2luZG93LmRldmljZVBpeGVsUmF0aW8sY29va2llc0VuYWJsZWQ6d2luZG93Lm5hdmlnYXRvci5jb29raWVFbmFibGVkLG9ubGluZTp3aW5kb3cubmF2aWdhdG9yLm9uTGluZSxicm93c2VyTGFuZ3VhZ2U6d2luZG93Lm5hdmlnYXRvci5sYW5ndWFnZXx8d2luZG93Lm5hdmlnYXRvci51c2VyTGFuZ3VhZ2UsZG9jdW1lbnRMYW5ndWFnZTpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQubGFuZyx3ZWJkcml2ZXI6d2luZG93Lm5hdmlnYXRvci53ZWJkcml2ZXIsZGV2aWNlTWVtb3J5OndpbmRvdy5uYXZpZ2F0b3IuZGV2aWNlTWVtb3J5LGhhcmR3YXJlQ29uY3VycmVuY3k6d2luZG93Lm5hdmlnYXRvci5oYXJkd2FyZUNvbmN1cnJlbmN5fTt2YXIgZSxuLHQscixvfWZ1bmN0aW9uIGdlKCl7dmFyIGUsbjtpZigiaW5uZXJXaWR0aCJpbiB3aW5kb3cpZT13aW5kb3cuaW5uZXJXaWR0aCxuPXdpbmRvdy5pbm5lckhlaWdodDtlbHNle3ZhciB0PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudHx8ZG9jdW1lbnQuYm9keTtlPXQuY2xpZW50V2lkdGgsbj10LmNsaWVudEhlaWdodH1yZXR1cm4gZT49MCYmbj49MD9lK2ZlK246bnVsbH1mdW5jdGlvbiBwZShlKXtyZXR1cm4gZSYmZS5zcGxpdChmZSkubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gTWF0aC5mbG9vcihOdW1iZXIoZSkpfSkpLmpvaW4oZmUpfWZ1bmN0aW9uIG1lKGUsbix0LGEsdSxjKXt2b2lkIDA9PT1jJiYoYz17fSk7dmFyIGw9W10sZj1mdW5jdGlvbihlLG4sdCxhLHUsYyl7dmFyIGYsZCx2LGcsbSxoLHksdyxiLGssUyx4LFQsSSxBLEMsTyxQLEUsRCxqLE0sWixzZSxsZSxmZSx2ZSxnZSxwZTtjLmV2ZW50TWV0aG9kPW51bGwhPT0oZj1jLmV2ZW50TWV0aG9kKSYmdm9pZCAwIT09Zj9mOiJwb3N0Ijt2YXIgbWUsaGUseWU9ZnVuY3Rpb24oZSl7dmFyIG47cmV0dXJuIG51bGwhPT0obj1lLnN0YXRlU3RvcmFnZVN0cmF0ZWd5KSYmdm9pZCAwIT09bj9uOiJjb29raWVBbmRMb2NhbFN0b3JhZ2UifSx3ZT1mdW5jdGlvbihlKXt2YXIgbix0O3JldHVybiJib29sZWFuIiE9dHlwZW9mIGUuYW5vbnltb3VzVHJhY2tpbmcmJihudWxsIT09KHQ9ITA9PT0obnVsbD09PShuPWUuYW5vbnltb3VzVHJhY2tpbmcpfHx2b2lkIDA9PT1uP3ZvaWQgMDpuLndpdGhTZXNzaW9uVHJhY2tpbmcpKSYmdm9pZCAwIT09dCYmdCl9LGJlPWZ1bmN0aW9uKGUpe3ZhciBuLHQKO3JldHVybiJib29sZWFuIiE9dHlwZW9mIGUuYW5vbnltb3VzVHJhY2tpbmcmJihudWxsIT09KHQ9ITA9PT0obnVsbD09PShuPWUuYW5vbnltb3VzVHJhY2tpbmcpfHx2b2lkIDA9PT1uP3ZvaWQgMDpuLndpdGhTZXJ2ZXJBbm9ueW1pc2F0aW9uKSkmJnZvaWQgMCE9PXQmJnQpfSxrZT1mdW5jdGlvbihlKXtyZXR1cm4hIWUuYW5vbnltb3VzVHJhY2tpbmd9LFNlPW51bGwhPT0odj1udWxsPT09KGQ9bnVsbD09Yz92b2lkIDA6Yy5jb250ZXh0cyl8fHZvaWQgMD09PWQ/dm9pZCAwOmQuYnJvd3NlcikmJnZvaWQgMCE9PXYmJnYseGU9bnVsbD09PShtPW51bGw9PT0oZz1udWxsPT1jP3ZvaWQgMDpjLmNvbnRleHRzKXx8dm9pZCAwPT09Zz92b2lkIDA6Zy53ZWJQYWdlKXx8dm9pZCAwPT09bXx8bTtsLnB1c2goKG1lPWZ1bmN0aW9uKGUpe3JldHVybiBmbj9udWxsOmV9LGhlPWZ1bmN0aW9uKGUpe3JldHVybiBzbj9lOm1lKGUpfSx7YmVmb3JlVHJhY2s6ZnVuY3Rpb24oZSl7dmFyIG49Qm4oInNlcyIpLHQ9UW4oKSxyPTA9PT1mdW5jdGlvbihlKXtyZXR1cm4gZVsxMF19KHQpO2lmKFZlPSEhUGUmJiEhUShQZSksYW58fFZlKVhuKCk7ZWxzZXtjZSh0KT8oQmU9bnx8Im5vbmUiPT1kbj9hZSh0KTpyZSh0KSxnbj11ZSh0KSk6KG5ldyBEYXRlKS5nZXRUaW1lKCktdm4+MWUzKmNuJiYoZ24rKyxCZT1yZSh0LHttZW1vcml6ZWRWaXNpdENvdW50OmdufSkpLG9lKHQpLGZ1bmN0aW9uKGUsbil7aWYoMD09PWVbMTBdKXt2YXIgdD1uLmJ1aWxkKCk7ZVs4XT10LmVpZDt2YXIgcj10LmR0bXx8dC50dG07ZVs5XT1yP3BhcnNlSW50KHIpOnZvaWQgMH19KHQsZSksZnVuY3Rpb24oZSl7ZVsxMF0rPTF9KHQpO3ZhciBvPWRlKCksaT1vLnZpZXdwb3J0LGE9by5kb2N1bWVudFNpemU7ZS5hZGQoInZwIixpKSxlLmFkZCgiZHMiLGEpLGUuYWRkKCJ2aWQiLGhlKGduKSksZS5hZGQoInNpZCIsaGUoQmUpKSxlLmFkZCgiZHVpZCIsbWUoZnVuY3Rpb24oZSl7cmV0dXJuIGVbMV19KHQpKSksZS5hZGQoInVpZCIsbWUoX2UpKSxMbigpLGUuYWRkKCJyZWZyIixVbihUZXx8R2UpKSxlLmFkZCgidXJsIixVbihJZXx8RmUpKTt2YXIgdT1pZSh0LGRuLGZuKTtpZighYm58fGZuJiYhc258fGZ1bmN0aW9uKGUsbil7dmFyIHQ9e3NjaGVtYTplZSxkYXRhOm59O2UuYWRkQ29udGV4dEVudGl0eSh0KX0oZSx1KSwibm9uZSIhPWRuKXtGbih0KTt2YXIgYz1xbigpO24mJiFyfHwhY3x8IWtufHxTbnx8KGtuKHUpLFNuPSExKX12bj0obmV3IERhdGUpLmdldFRpbWUoKX19fSkpLHhlJiZsLnB1c2goe2NvbnRleHRzOmZ1bmN0aW9uKCl7cmV0dXJuW3tzY2hlbWE6SyxkYXRhOntpZDokbigpfX1dfX0pLFNlJiZsLnB1c2goe2NvbnRleHRzOmZ1bmN0aW9uKCl7cmV0dXJuW3tzY2hlbWE6JCxkYXRhOnIocih7fSxkZSgpKSx7dGFiSWQ6ZXQoKX0pfV19fSksbC5wdXNoLmFwcGx5KGwsbnVsbCE9PShoPWMucGx1Z2lucykmJnZvaWQgMCE9PWg/aDpbXSk7dmFyIFRlLEllLEFlLENlLE9lLFBlLEVlLExlLERlLGplLFVlLFJlLE5lLEJlLF9lLFZlLE1lLHplPUwoe2Jhc2U2NDpjLmVuY29kZUJhc2U2NCxjb3JlUGx1Z2luczpsLGNhbGxiYWNrOmZ1bmN0aW9uKGUpe2FufHxWZXx8cG4uZW5xdWV1ZVJlcXVlc3QoZS5idWlsZCgpLFdlKX0KfSksSGU9ZG9jdW1lbnQuY2hhcmFjdGVyU2V0fHxkb2N1bWVudC5jaGFyc2V0LEplPXRlKHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSx3aW5kb3cubG9jYXRpb24uaHJlZixGKCkpLHFlPXEoSmVbMF0pLEZlPUplWzFdLEdlPUplWzJdLFhlPW51bGwhPT0oeT1jLnBsYXRmb3JtKSYmdm9pZCAwIT09eT95OiJ3ZWIiLFdlPVpuKGEpLFllPW51bGwhPT0odz1jLnBvc3RQYXRoKSYmdm9pZCAwIT09dz93OiIvY29tLnNub3dwbG93YW5hbHl0aWNzLnNub3dwbG93L3RwMiIsUWU9bnVsbCE9PShiPWMuYXBwSWQpJiZ2b2lkIDAhPT1iP2I6IiIsWmU9ZG9jdW1lbnQudGl0bGUsS2U9bnVsbD09PShrPWMucmVzZXRBY3Rpdml0eVRyYWNraW5nT25QYWdlVmlldyl8fHZvaWQgMD09PWt8fGssJGU9bnVsbCE9PShTPWMuY29va2llTmFtZSkmJnZvaWQgMCE9PVM/UzoiX3NwXyIsZW49bnVsbCE9PSh4PWMuY29va2llRG9tYWluKSYmdm9pZCAwIT09eD94OnZvaWQgMCxubj0iLyIsdG49bnVsbCE9PShUPWMuY29va2llU2FtZVNpdGUpJiZ2b2lkIDAhPT1UP1Q6Ik5vbmUiLHJuPW51bGw9PT0oST1jLmNvb2tpZVNlY3VyZSl8fHZvaWQgMD09PUl8fEksb249d2luZG93Lm5hdmlnYXRvci5kb05vdFRyYWNrfHx3aW5kb3cubmF2aWdhdG9yLm1zRG9Ob3RUcmFja3x8d2luZG93LmRvTm90VHJhY2ssYW49dm9pZCAwIT09Yy5yZXNwZWN0RG9Ob3RUcmFjayYmKGMucmVzcGVjdERvTm90VHJhY2smJigieWVzIj09PW9ufHwiMSI9PT1vbikpLHVuPW51bGwhPT0oQT1jLmNvb2tpZUxpZmV0aW1lKSYmdm9pZCAwIT09QT9BOjYzMDcyZTMsY249bnVsbCE9PShDPWMuc2Vzc2lvbkNvb2tpZVRpbWVvdXQpJiZ2b2lkIDAhPT1DP0M6MTgwMCxzbj13ZShjKSxsbj1iZShjKSxmbj1rZShjKSxkbj15ZShjKSx2bj0obmV3IERhdGUpLmdldFRpbWUoKSxnbj0xLHBuPW5lKGUsdSwibG9jYWxTdG9yYWdlIj09ZG58fCJjb29raWVBbmRMb2NhbFN0b3JhZ2UiPT1kbixjLmV2ZW50TWV0aG9kLFllLG51bGwhPT0oTz1jLmJ1ZmZlclNpemUpJiZ2b2lkIDAhPT1PP086MSxudWxsIT09KFA9Yy5tYXhQb3N0Qnl0ZXMpJiZ2b2lkIDAhPT1QP1A6NGU0LG51bGwhPT0oRT1jLm1heEdldEJ5dGVzKSYmdm9pZCAwIT09RT9FOjAsbnVsbD09PShEPWMudXNlU3RtKXx8dm9pZCAwPT09RHx8RCxudWxsIT09KGo9Yy5tYXhMb2NhbFN0b3JhZ2VRdWV1ZVNpemUpJiZ2b2lkIDAhPT1qP2o6MWUzLG51bGwhPT0oTT1jLmNvbm5lY3Rpb25UaW1lb3V0KSYmdm9pZCAwIT09TT9NOjVlMyxsbixudWxsIT09KFo9Yy5jdXN0b21IZWFkZXJzKSYmdm9pZCAwIT09Wj9aOnt9LG51bGw9PT0oc2U9Yy53aXRoQ3JlZGVudGlhbHMpfHx2b2lkIDA9PT1zZXx8c2UsbnVsbCE9PShsZT1jLnJldHJ5U3RhdHVzQ29kZXMpJiZ2b2lkIDAhPT1sZT9sZTpbXSwobnVsbCE9PShmZT1jLmRvbnRSZXRyeVN0YXR1c0NvZGVzKSYmdm9pZCAwIT09ZmU/ZmU6W10pLmNvbmNhdChbNDAwLDQwMSw0MDMsNDEwLDQyMl0pLGMuaWRTZXJ2aWNlLGMucmV0cnlGYWlsZWRSZXF1ZXN0cyxjLm9uUmVxdWVzdFN1Y2Nlc3MsYy5vblJlcXVlc3RGYWlsdXJlKSxtbj0hMSxobj1udWxsIT09KHZlPWMucHJlc2VydmVQYWdlVmlld0lkRm9yVXJsKSYmdm9pZCAwIT09dmUmJnZlLHluPXZvaWQgMCx3bj17ZW5hYmxlZDohMSxpbnN0YWxsZWQ6ITEsY29uZmlndXJhdGlvbnM6e319LGJuPW51bGwhPT0ocGU9bnVsbD09PShnZT1jLmNvbnRleHRzKXx8dm9pZCAwPT09Z2U/dm9pZCAwOmdlLnNlc3Npb24pJiZ2b2lkIDAhPT1wZSYmcGUsa249Yy5vblNlc3Npb25VcGRhdGVDYWxsYmFjayxTbj0hMSx4bj0iYm9vbGVhbiI9PXR5cGVvZihNZT1jLnVzZUV4dGVuZGVkQ3Jvc3NEb21haW5MaW5rZXJ8fCExKT97dXNlRXh0ZW5kZWRDcm9zc0RvbWFpbkxpbmtlcjpNZX06e3VzZUV4dGVuZGVkQ3Jvc3NEb21haW5MaW5rZXI6ITAsY29sbGVjdENyb3NzRG9tYWluQXR0cmlidXRlczpNZX0sVG49eG4udXNlRXh0ZW5kZWRDcm9zc0RvbWFpbkxpbmtlcixJbj14bi5jb2xsZWN0Q3Jvc3NEb21haW5BdHRyaWJ1dGVzO2MuaGFzT3duUHJvcGVydHkoImRpc2NvdmVyUm9vdERvbWFpbiIpJiZjLmRpc2NvdmVyUm9vdERvbWFpbiYmKGVuPWZ1bmN0aW9uKGUsbil7Zm9yKHZhciB0PXdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSxyPSJfc3Bfcm9vdF9kb21haW5fdGVzdF8iLG89cisobmV3IERhdGUpLmdldFRpbWUoKSxpPSJfdGVzdF92YWx1ZV8iKyhuZXcgRGF0ZSkuZ2V0VGltZSgpLGE9dC5zcGxpdCgiLiIpLHU9YS5sZW5ndGgtMjt1Pj0wO3UtLSl7dmFyIGM9YS5zbGljZSh1KS5qb2luKCIuIik7aWYoUShvLGksMCwiLyIsYyxlLG4pLFEobyk9PT1pKXtXKG8sYyxlLG4pO2Zvcih2YXIgcz1ZKHIpLGw9MDtsPHMubGVuZ3RoO2wrKylXKHNbbF0sYyxlLG4pO3JldHVybiBjfX1yZXR1cm4gdH0odG4scm4pKTt2YXIgQW49ZGUoKSxDbj1Bbi5icm93c2VyTGFuZ3VhZ2UsT249QW4ucmVzb2x1dGlvbixQbj1Bbi5jb2xvckRlcHRoLEVuPUFuLmNvb2tpZXNFbmFibGVkO2Z1bmN0aW9uIExuKCl7KEplPXRlKHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSx3aW5kb3cubG9jYXRpb24uaHJlZixGKCkpKVsxXSE9PUZlJiYoR2U9RihGZSkpLHFlPXEoSmVbMF0pLEZlPUplWzFdfWZ1bmN0aW9uIERuKGUpe3JldHVybiBmdW5jdGlvbihuKXt2YXIgdD1uLmN1cnJlbnRUYXJnZXQsbz1mdW5jdGlvbihlLG4sdCl7dmFyIG8saT0obmV3IERhdGUpLmdldFRpbWUoKSxhPXIocih7fSxfKSxuKSx1PXQuZG9tYWluVXNlcklkLGM9dC51c2VySWQscz10LnNlc3Npb25JZCxsPXQuc291cmNlSWQsZj10LnNvdXJjZVBsYXRmb3JtLGQ9dC5ldmVudCx2PWQuY3VycmVudFRhcmdldCxnPSJmdW5jdGlvbiI9PXR5cGVvZiBhLnJlYXNvbj9hLnJlYXNvbihkKTpudWxsPT09KG89bnVsbD09dj92b2lkIDA6di50ZXh0Q29udGVudCl8fHZvaWQgMD09PW8/dm9pZCAwOm8udHJpbSgpCjtyZXR1cm4gZT9bdSxpLGEuc2Vzc2lvbklkJiZzLGEudXNlcklkJiZWKGN8fCIiKSxhLnNvdXJjZUlkJiZWKGx8fCIiKSxhLnNvdXJjZVBsYXRmb3JtJiZmLGEucmVhc29uJiZWKGd8fCIiKV0ubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gZXx8IiJ9KSkuam9pbigiLiIpLnJlcGxhY2UoLyhbLl0qJCkvLCIiKTp0LmRvbWFpblVzZXJJZCsiLiIraX0oZSxJbix7ZG9tYWluVXNlcklkOk5lLHVzZXJJZDpfZXx8dm9pZCAwLHNlc3Npb25JZDpCZSxzb3VyY2VJZDpRZSxzb3VyY2VQbGF0Zm9ybTpYZSxldmVudDpufSk7KG51bGw9PXQ/dm9pZCAwOnQuaHJlZikmJih0LmhyZWY9ZnVuY3Rpb24oZSxuLHQpe3ZhciByPW4rIj0iK3Qsbz1lLnNwbGl0KCIjIiksaT1vWzBdLnNwbGl0KCI/IiksYT1pLnNoaWZ0KCksdT1pLmpvaW4oIj8iKTtpZih1KXtmb3IodmFyIGM9ITAscz11LnNwbGl0KCImIiksbD0wO2w8cy5sZW5ndGg7bCsrKWlmKHNbbF0uc3Vic3RyKDAsbi5sZW5ndGgrMSk9PT1uKyI9Iil7Yz0hMSxzW2xdPXIsdT1zLmpvaW4oIiYiKTticmVha31jJiYodT1yKyImIit1KX1lbHNlIHU9cjtyZXR1cm4gb1swXT1hKyI/Iit1LG8uam9pbigiIyIpfSh0LmhyZWYsIl9zcCIsbykpfX1mdW5jdGlvbiBqbihlKXtmb3IodmFyIG49RG4oVG4pLHQ9MDt0PGRvY3VtZW50LmxpbmtzLmxlbmd0aDt0Kyspe3ZhciByPWRvY3VtZW50LmxpbmtzW3RdOyFyLnNwRGVjb3JhdGlvbkVuYWJsZWQmJmUocikmJihyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixuLCEwKSxyLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsbiwhMCksci5zcERlY29yYXRpb25FbmFibGVkPSEwKX19ZnVuY3Rpb24gVW4oZSl7dmFyIG47cmV0dXJuIENlJiYobj1uZXcgUmVnRXhwKCIjLioiKSxlPWUucmVwbGFjZShuLCIiKSksT2UmJihuPW5ldyBSZWdFeHAoIlt7fV0iLCJnIiksZT1lLnJlcGxhY2UobiwiIikpLGV9ZnVuY3Rpb24gUm4oZSl7dmFyIG49bmV3IFJlZ0V4cCgiXihbYS16XSspOiIpLmV4ZWMoZSk7cmV0dXJuIG4/blsxXTpudWxsfWZ1bmN0aW9uIE5uKGUpe3JldHVybiAkZStlKyIuIitSZX1mdW5jdGlvbiBCbihlKXt2YXIgbj1ObihlKTtyZXR1cm4ibG9jYWxTdG9yYWdlIj09ZG4/ZnVuY3Rpb24oZSl7dHJ5e3ZhciBuPXdpbmRvdy5sb2NhbFN0b3JhZ2UsdD1uLmdldEl0ZW0oZSsiLmV4cGlyZXMiKTtyZXR1cm4gbnVsbD09PXR8fCt0PkRhdGUubm93KCk/bi5nZXRJdGVtKGUpOihuLnJlbW92ZUl0ZW0oZSksdm9pZCBuLnJlbW92ZUl0ZW0oZSsiLmV4cGlyZXMiKSl9Y2F0Y2goZSl7cmV0dXJufX0obik6ImNvb2tpZSI9PWRufHwiY29va2llQW5kTG9jYWxTdG9yYWdlIj09ZG4/UShuKTp2b2lkIDB9ZnVuY3Rpb24gX24oKXtMbigpLFJlPVUoKSgoZW58fHFlKSsobm58fCIvIikpLnNsaWNlKDAsNCl9ZnVuY3Rpb24gVm4oKXt2YXIgZT1uZXcgRGF0ZTtFZT1lLmdldFRpbWUoKX1mdW5jdGlvbiBNbigpeyFmdW5jdGlvbigpe3ZhciBlPXpuKCksbj1lWzBdO248TGU/TGU9bjpuPkRlJiYoRGU9bik7dmFyIHQ9ZVsxXTt0PGplP2plPXQ6dD5VZSYmKFVlPXQpfSgpLFZuKCl9ZnVuY3Rpb24gem4oKXt2YXIgZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7cmV0dXJuIGU/W2Uuc2Nyb2xsTGVmdHx8d2luZG93LnBhZ2VYT2Zmc2V0LGUuc2Nyb2xsVG9wfHx3aW5kb3cucGFnZVlPZmZzZXRdOlswLDBdfWZ1bmN0aW9uIEhuKCl7dmFyIGU9em4oKSxuPWVbMF07TGU9bixEZT1uO3ZhciB0PWVbMV07amU9dCxVZT10fWZ1bmN0aW9uIEpuKGUpe3JldHVybiBNYXRoLnJvdW5kKGUpfWZ1bmN0aW9uIHFuKCl7cmV0dXJuIEduKE5uKCJzZXMiKSwiKiIsY24pfWZ1bmN0aW9uIEZuKGUpe3ZhciBuPU5uKCJpZCIpLHQ9ZnVuY3Rpb24oZSxuKXt2YXIgdD1vKFtdLGUsITApO3JldHVybiBuJiYodFsxXT0iIix0WzddPSIiKSx0LnNoaWZ0KCksdC5qb2luKCIuIil9KGUsZm4pO3JldHVybiBHbihuLHQsdW4pfWZ1bmN0aW9uIEduKGUsbix0KXtyZXR1cm4hKGZuJiYhc24pJiYoImxvY2FsU3RvcmFnZSI9PWRuP1IoZSxuLHQpOigiY29va2llIj09ZG58fCJjb29raWVBbmRMb2NhbFN0b3JhZ2UiPT1kbikmJihRKGUsbix0LG5uLGVuLHRuLHJuKSwtMSE9PWRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCIiLmNvbmNhdChlLCI9IikpKSl9ZnVuY3Rpb24gWG4oZSl7dmFyIG49Tm4oImlkIiksdD1Obigic2VzIik7TihuKSxOKHQpLFcobixlbix0bixybiksVyh0LGVuLHRuLHJuKSwobnVsbD09ZT92b2lkIDA6ZS5wcmVzZXJ2ZVNlc3Npb24pfHwoQmU9KDAsaS52NCkoKSxnbj0xKSwobnVsbD09ZT92b2lkIDA6ZS5wcmVzZXJ2ZVVzZXIpfHwoTmU9Zm4/IiI6KDAsaS52NCkoKSxfZT1udWxsKX1mdW5jdGlvbiBXbihlKXtlJiZlLnN0YXRlU3RvcmFnZVN0cmF0ZWd5JiYoYy5zdGF0ZVN0b3JhZ2VTdHJhdGVneT1lLnN0YXRlU3RvcmFnZVN0cmF0ZWd5LGRuPXllKGMpKSxmbj1rZShjKSxzbj13ZShjKSxsbj1iZShjKSxwbi5zZXRVc2VMb2NhbFN0b3JhZ2UoImxvY2FsU3RvcmFnZSI9PWRufHwiY29va2llQW5kTG9jYWxTdG9yYWdlIj09ZG4pLHBuLnNldEFub255bW91c1RyYWNraW5nKGxuKX1mdW5jdGlvbiBZbigpe2lmKCFmbnx8c24pe3ZhciBlPSJub25lIiE9ZG4mJiEhQm4oInNlcyIpLG49UW4oKTtOZT1mdW5jdGlvbihlLG4pe3ZhciB0O3JldHVybiBlWzFdP3Q9ZVsxXTpuPyh0PSIiLGVbMV09dCk6KHQ9KDAsaS52NCkoKSxlWzFdPXQpLHR9KG4sZm4pLEJlPWU/YWUobik6cmUobiksZ249dWUobiksIm5vbmUiIT1kbiYmKHFuKCksb2UobiksRm4obikpfX1mdW5jdGlvbiBRbigpe3JldHVybiJub25lIj09ZG4/WyIxIiwiIiwwLDAsMCx2b2lkIDAsIiIsIiIsIiIsdm9pZCAwLDBdOmZ1bmN0aW9uKGUsbix0LHIpe3ZhciBvLGE9bmV3IERhdGUsdT1NYXRoLnJvdW5kKGEuZ2V0VGltZSgpLzFlMyk7ZT8obz1lLnNwbGl0KCIuIikpLnVuc2hpZnQoIjAiKTpvPVsiMSIsbix1LHIsdSwiIix0XSxvWzZdJiYidW5kZWZpbmVkIiE9PW9bNl18fChvWzZdPSgwLGkudjQpKCkpLG9bN10mJiJ1bmRlZmluZWQiIT09b1s3XXx8KG9bN109IiIpLApvWzhdJiYidW5kZWZpbmVkIiE9PW9bOF18fChvWzhdPSIiKSxvWzldJiYidW5kZWZpbmVkIiE9PW9bOV18fChvWzldPSIiKSxvWzEwXSYmInVuZGVmaW5lZCIhPT1vWzEwXXx8KG9bMTBdPTApO3ZhciBjPWZ1bmN0aW9uKGUsbil7dmFyIHQ9cGFyc2VJbnQoZSk7cmV0dXJuIGlzTmFOKHQpP246dH0scz1mdW5jdGlvbihlKXtyZXR1cm4gZT9jKGUsdm9pZCAwKTp2b2lkIDB9O3JldHVybltvWzBdLG9bMV0sYyhvWzJdLHUpLGMob1szXSxyKSxjKG9bNF0sdSkscyhvWzVdKSxvWzZdLG9bN10sb1s4XSxzKG9bOV0pLGMob1sxMF0sMCldfShCbigiaWQiKXx8dm9pZCAwLE5lLEJlLGduKX1mdW5jdGlvbiBabihlKXtyZXR1cm4gMD09PWUuaW5kZXhPZigiaHR0cCIpP2U6KCJodHRwczoiPT09ZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2w/Imh0dHBzIjoiaHR0cCIpKyI6Ly8iK2V9ZnVuY3Rpb24gS24oKXttbiYmbnVsbCE9dS5wYWdlVmlld0lkfHwodS5wYWdlVmlld0lkPSgwLGkudjQpKCksdS5wYWdlVmlld1VybD1JZXx8RmUpfWZ1bmN0aW9uICRuKCl7cmV0dXJuIGZ1bmN0aW9uKCl7aWYobnVsbD09dS5wYWdlVmlld0lkKXJldHVybiEwO2lmKG1ufHwhaG4pcmV0dXJuITE7aWYodm9pZCAwPT09dS5wYWdlVmlld1VybClyZXR1cm4hMDt2YXIgZT1JZXx8RmU7aWYoITA9PT1obnx8ImZ1bGwiPT1obnx8ISgiVVJMImluIHdpbmRvdykpcmV0dXJuIHUucGFnZVZpZXdVcmwhPWU7dmFyIG49bmV3IFVSTChlKSx0PW5ldyBVUkwodS5wYWdlVmlld1VybCk7aWYoInBhdGhuYW1lIj09aG4pcmV0dXJuIG4ucGF0aG5hbWUhPXQucGF0aG5hbWU7aWYoInBhdGhuYW1lQW5kU2VhcmNoIj09aG4pcmV0dXJuIG4ucGF0aG5hbWUhPXQucGF0aG5hbWV8fG4uc2VhcmNoIT10LnNlYXJjaDtyZXR1cm4hMX0oKSYmKHUucGFnZVZpZXdJZD0oMCxpLnY0KSgpLHUucGFnZVZpZXdVcmw9SWV8fEZlKSx1LnBhZ2VWaWV3SWR9ZnVuY3Rpb24gZXQoKXtpZigibm9uZSI9PT1kbnx8Zm58fCF4ZSlyZXR1cm4gbnVsbDt2YXIgZT0iX3NwX3RhYl9pZCIsbj1CKGUpO3JldHVybiBufHwoIWZ1bmN0aW9uKGUsbil7dHJ5e3JldHVybiB3aW5kb3cuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShlLG4pLCEwfWNhdGNoKGUpe3JldHVybiExfX0oZSwoMCxpLnY0KSgpKSxuPUIoZSkpLG58fG51bGx9ZnVuY3Rpb24gbnQoZSxuKXtyZXR1cm4oZXx8W10pLmNvbmNhdChuP24oKTpbXSl9ZnVuY3Rpb24gdHQoZSl7dmFyIG49ZS50aXRsZSx0PWUuY29udGV4dCxyPWUudGltZXN0YW1wLG89ZS5jb250ZXh0Q2FsbGJhY2s7TG4oKSx5biYmeW49PSRuKCkmJktuKCkseW49JG4oKSxaZT1kb2N1bWVudC50aXRsZTt2YXIgaT1IKChBZT1udWxsIT1uP246QWUpfHxaZSk7emUudHJhY2soZnVuY3Rpb24oZSl7dmFyIG49ZS5wYWdlVXJsLHQ9ZS5wYWdlVGl0bGUscj1lLnJlZmVycmVyLG89cygpO3JldHVybiBvLmFkZCgiZSIsInB2Iiksby5hZGQoInVybCIsbiksby5hZGQoInBhZ2UiLHQpLG8uYWRkKCJyZWZyIixyKSxvfSh7cGFnZVVybDpVbihJZXx8RmUpLHBhZ2VUaXRsZTppLHJlZmVycmVyOlVuKFRlfHxHZSl9KSxudCh0LG8pLHIpO3ZhciBhPW5ldyBEYXRlLHU9ITE7aWYod24uZW5hYmxlZCYmIXduLmluc3RhbGxlZCl7d24uaW5zdGFsbGVkPSEwLHU9ITA7dmFyIGM9e3VwZGF0ZTpmdW5jdGlvbigpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LmFkZEV2ZW50TGlzdGVuZXIpe3ZhciBlPSExLG49T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7ZT0hMH0sc2V0OmZ1bmN0aW9uKCl7fX0pLHQ9ZnVuY3Rpb24oKXt9O3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0UGFzc2l2ZUV2ZW50U3VwcG9ydCIsdCxuKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdFBhc3NpdmVFdmVudFN1cHBvcnQiLHQsbiksYy5oYXNTdXBwb3J0PWV9fX07Yy51cGRhdGUoKTt2YXIgbD0ib253aGVlbCJpbiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKT8id2hlZWwiOnZvaWQgMCE9PWRvY3VtZW50Lm9ubW91c2V3aGVlbD8ibW91c2V3aGVlbCI6IkRPTU1vdXNlU2Nyb2xsIjtPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYywiaGFzU3VwcG9ydCIpP0coZG9jdW1lbnQsbCxWbix7cGFzc2l2ZTohMH0pOkcoZG9jdW1lbnQsbCxWbiksSG4oKTt2YXIgZj1mdW5jdGlvbihlLG4pe3JldHVybiB2b2lkIDA9PT1uJiYobj1WbiksZnVuY3Rpb24oZSl7cmV0dXJuIEcoZG9jdW1lbnQsZSxuKX19O1siY2xpY2siLCJtb3VzZXVwIiwibW91c2Vkb3duIiwibW91c2Vtb3ZlIiwia2V5cHJlc3MiLCJrZXlkb3duIiwia2V5dXAiLCJ0b3VjaGVuZCIsInRvdWNoc3RhcnQiXS5mb3JFYWNoKGYoZG9jdW1lbnQpKSxbInJlc2l6ZSIsImZvY3VzIiwiYmx1ciJdLmZvckVhY2goZih3aW5kb3cpKSxmKHdpbmRvdyxNbikoInNjcm9sbCIpfWlmKHduLmVuYWJsZWQmJihLZXx8dSkpe0VlPWEuZ2V0VGltZSgpO3ZhciBkPXZvaWQgMDtmb3IoZCBpbiB3bi5jb25maWd1cmF0aW9ucyl7dmFyIHY9d24uY29uZmlndXJhdGlvbnNbZF07diYmKHdpbmRvdy5jbGVhckludGVydmFsKHYuYWN0aXZpdHlJbnRlcnZhbCkscnQodix0LG8pKX19fWZ1bmN0aW9uIHJ0KGUsbix0KXt2YXIgcj1mdW5jdGlvbihlLG4pe0xuKCksZSh7Y29udGV4dDpuLHBhZ2VWaWV3SWQ6JG4oKSxtaW5YT2Zmc2V0OkxlLG1pbllPZmZzZXQ6amUsbWF4WE9mZnNldDpEZSxtYXhZT2Zmc2V0OlVlfSksSG4oKX0sbz1mdW5jdGlvbigpe3ZhciBvPW5ldyBEYXRlO0VlK2UuY29uZmlnSGVhcnRCZWF0VGltZXI+by5nZXRUaW1lKCkmJnIoZS5jYWxsYmFjayxudChuLHQpKX07MD09PWUuY29uZmlnTWluaW11bVZpc2l0TGVuZ3RoP2UuYWN0aXZpdHlJbnRlcnZhbD13aW5kb3cuc2V0SW50ZXJ2YWwobyxlLmNvbmZpZ0hlYXJ0QmVhdFRpbWVyKTplLmFjdGl2aXR5SW50ZXJ2YWw9d2luZG93LnNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7dmFyIGk9bmV3IERhdGUKO0VlK2UuY29uZmlnTWluaW11bVZpc2l0TGVuZ3RoPmkuZ2V0VGltZSgpJiZyKGUuY2FsbGJhY2ssbnQobix0KSksZS5hY3Rpdml0eUludGVydmFsPXdpbmRvdy5zZXRJbnRlcnZhbChvLGUuY29uZmlnSGVhcnRCZWF0VGltZXIpfSksZS5jb25maWdNaW5pbXVtVmlzaXRMZW5ndGgpfWZ1bmN0aW9uIG90KGUpe3ZhciBuPWUubWluaW11bVZpc2l0TGVuZ3RoLHQ9ZS5oZWFydGJlYXREZWxheSxyPWUuY2FsbGJhY2s7aWYoeihuKSYmeih0KSlyZXR1cm57Y29uZmlnTWluaW11bVZpc2l0TGVuZ3RoOjFlMypuLGNvbmZpZ0hlYXJ0QmVhdFRpbWVyOjFlMyp0LGNhbGxiYWNrOnJ9O3AuZXJyb3IoIkFjdGl2aXR5IHRyYWNraW5nIG1pbmltdW1WaXNpdExlbmd0aCAmIGhlYXJ0YmVhdERlbGF5IG11c3QgYmUgaW50ZWdlcnMiKX1mdW5jdGlvbiBpdChlKXt2YXIgbj1lLmNvbnRleHQsdD1lLm1pblhPZmZzZXQscj1lLm1pbllPZmZzZXQsbz1lLm1heFhPZmZzZXQsaT1lLm1heFlPZmZzZXQsYT1kb2N1bWVudC50aXRsZTthIT09WmUmJihaZT1hLEFlPXZvaWQgMCksemUudHJhY2soZnVuY3Rpb24oZSl7dmFyIG49ZS5wYWdlVXJsLHQ9ZS5wYWdlVGl0bGUscj1lLnJlZmVycmVyLG89ZS5taW5YT2Zmc2V0LGk9ZS5tYXhYT2Zmc2V0LGE9ZS5taW5ZT2Zmc2V0LHU9ZS5tYXhZT2Zmc2V0LGM9cygpO3JldHVybiBjLmFkZCgiZSIsInBwIiksYy5hZGQoInVybCIsbiksYy5hZGQoInBhZ2UiLHQpLGMuYWRkKCJyZWZyIixyKSxvJiYhaXNOYU4oTnVtYmVyKG8pKSYmYy5hZGQoInBwX21peCIsby50b1N0cmluZygpKSxpJiYhaXNOYU4oTnVtYmVyKGkpKSYmYy5hZGQoInBwX21heCIsaS50b1N0cmluZygpKSxhJiYhaXNOYU4oTnVtYmVyKGEpKSYmYy5hZGQoInBwX21peSIsYS50b1N0cmluZygpKSx1JiYhaXNOYU4oTnVtYmVyKHUpKSYmYy5hZGQoInBwX21heSIsdS50b1N0cmluZygpKSxjfSh7cGFnZVVybDpVbihJZXx8RmUpLHBhZ2VUaXRsZTpIKEFlfHxaZSkscmVmZXJyZXI6VW4oVGV8fEdlKSxtaW5YT2Zmc2V0OkpuKHQpLG1heFhPZmZzZXQ6Sm4obyksbWluWU9mZnNldDpKbihyKSxtYXhZT2Zmc2V0OkpuKGkpfSksbil9ZnVuY3Rpb24gYXQoZSl7dmFyIG49d24uY29uZmlndXJhdGlvbnNbZV07MD09PShudWxsPT1uP3ZvaWQgMDpuLmNvbmZpZ01pbmltdW1WaXNpdExlbmd0aCk/d2luZG93LmNsZWFyVGltZW91dChudWxsPT1uP3ZvaWQgMDpuLmFjdGl2aXR5SW50ZXJ2YWwpOndpbmRvdy5jbGVhckludGVydmFsKG51bGw9PW4/dm9pZCAwOm4uYWN0aXZpdHlJbnRlcnZhbCksd24uY29uZmlndXJhdGlvbnNbZV09dm9pZCAwfXplLnNldFRyYWNrZXJWZXJzaW9uKHQpLHplLnNldFRyYWNrZXJOYW1lc3BhY2UobiksemUuc2V0QXBwSWQoUWUpLHplLnNldFBsYXRmb3JtKFhlKSx6ZS5hZGRQYXlsb2FkUGFpcigiY29va2llIixFbj8iMSI6IjAiKSx6ZS5hZGRQYXlsb2FkUGFpcigiY3MiLEhlKSx6ZS5hZGRQYXlsb2FkUGFpcigibGFuZyIsQ24pLHplLmFkZFBheWxvYWRQYWlyKCJyZXMiLE9uKSx6ZS5hZGRQYXlsb2FkUGFpcigiY2QiLFBuKSxfbigpLFluKCksYy5jcm9zc0RvbWFpbkxpbmtlciYmam4oYy5jcm9zc0RvbWFpbkxpbmtlcik7dmFyIHV0PXtnZXREb21haW5TZXNzaW9uSW5kZXg6ZnVuY3Rpb24oKXtyZXR1cm4gZ259LGdldFBhZ2VWaWV3SWQ6JG4sZ2V0VGFiSWQ6ZXQsbmV3U2Vzc2lvbjpmdW5jdGlvbigpe3ZhciBlPVFuKCk7aWYoY2UoZSk/KEJlPSJub25lIiE9ZG4/cmUoZSk6YWUoZSksZ249dWUoZSkpOihnbisrLEJlPXJlKGUse21lbW9yaXplZFZpc2l0Q291bnQ6Z259KSksb2UoZSksIm5vbmUiIT1kbil7dmFyIG49aWUoZSxkbixmbik7Rm4oZSkscW4oKSYma24mJihTbj0hMCxrbihuKSl9dm49KG5ldyBEYXRlKS5nZXRUaW1lKCl9LGdldENvb2tpZU5hbWU6ZnVuY3Rpb24oZSl7cmV0dXJuIE5uKGUpfSxnZXRVc2VySWQ6ZnVuY3Rpb24oKXtyZXR1cm4gX2V9LGdldERvbWFpblVzZXJJZDpmdW5jdGlvbigpe3JldHVybiBRbigpWzFdfSxnZXREb21haW5Vc2VySW5mbzpmdW5jdGlvbigpe3JldHVybiBRbigpfSxzZXRSZWZlcnJlclVybDpmdW5jdGlvbihlKXtUZT1lfSxzZXRDdXN0b21Vcmw6ZnVuY3Rpb24oZSl7TG4oKSxJZT1mdW5jdGlvbihlLG4pe3ZhciB0O3JldHVybiBSbihuKT9uOiIvIj09PW4uc2xpY2UoMCwxKT9SbihlKSsiOi8vIitKKGUpK246KCh0PShlPVVuKGUpKS5pbmRleE9mKCI/IikpPj0wJiYoZT1lLnNsaWNlKDAsdCkpLCh0PWUubGFzdEluZGV4T2YoIi8iKSkhPT1lLmxlbmd0aC0xJiYoZT1lLnNsaWNlKDAsdCsxKSksZStuKX0oRmUsZSl9LHNldERvY3VtZW50VGl0bGU6ZnVuY3Rpb24oZSl7WmU9ZG9jdW1lbnQudGl0bGUsQWU9ZX0sZGlzY2FyZEhhc2hUYWc6ZnVuY3Rpb24oZSl7Q2U9ZX0sZGlzY2FyZEJyYWNlOmZ1bmN0aW9uKGUpe09lPWV9LHNldENvb2tpZVBhdGg6ZnVuY3Rpb24oZSl7bm49ZSxfbigpfSxzZXRWaXNpdG9yQ29va2llVGltZW91dDpmdW5jdGlvbihlKXt1bj1lfSxjcm9zc0RvbWFpbkxpbmtlcjpmdW5jdGlvbihlKXtqbihlKX0sZW5hYmxlQWN0aXZpdHlUcmFja2luZzpmdW5jdGlvbihlKXt3bi5jb25maWd1cmF0aW9ucy5wYWdlUGluZ3x8KHduLmVuYWJsZWQ9ITAsd24uY29uZmlndXJhdGlvbnMucGFnZVBpbmc9b3QocihyKHt9LGUpLHtjYWxsYmFjazppdH0pKSl9LGVuYWJsZUFjdGl2aXR5VHJhY2tpbmdDYWxsYmFjazpmdW5jdGlvbihlKXt3bi5jb25maWd1cmF0aW9ucy5jYWxsYmFja3x8KHduLmVuYWJsZWQ9ITAsd24uY29uZmlndXJhdGlvbnMuY2FsbGJhY2s9b3QoZSkpfSxkaXNhYmxlQWN0aXZpdHlUcmFja2luZzpmdW5jdGlvbigpe2F0KCJwYWdlUGluZyIpfSxkaXNhYmxlQWN0aXZpdHlUcmFja2luZ0NhbGxiYWNrOmZ1bmN0aW9uKCl7YXQoImNhbGxiYWNrIil9LHVwZGF0ZVBhZ2VBY3Rpdml0eTpmdW5jdGlvbigpe1ZuKCl9LHNldE9wdE91dENvb2tpZTpmdW5jdGlvbihlKXtQZT1lfSxzZXRVc2VySWQ6ZnVuY3Rpb24oZSl7X2U9ZX0sc2V0VXNlcklkRnJvbUxvY2F0aW9uOmZ1bmN0aW9uKGUpe0xuKCksX2U9WChlLEZlKX0sCnNldFVzZXJJZEZyb21SZWZlcnJlcjpmdW5jdGlvbihlKXtMbigpLF9lPVgoZSxHZSl9LHNldFVzZXJJZEZyb21Db29raWU6ZnVuY3Rpb24oZSl7X2U9UShlKX0sc2V0Q29sbGVjdG9yVXJsOmZ1bmN0aW9uKGUpe1dlPVpuKGUpLHBuLnNldENvbGxlY3RvclVybChXZSl9LHNldEJ1ZmZlclNpemU6ZnVuY3Rpb24oZSl7cG4uc2V0QnVmZmVyU2l6ZShlKX0sZmx1c2hCdWZmZXI6ZnVuY3Rpb24oZSl7dm9pZCAwPT09ZSYmKGU9e30pLHBuLmV4ZWN1dGVRdWV1ZSgpLGUubmV3QnVmZmVyU2l6ZSYmcG4uc2V0QnVmZmVyU2l6ZShlLm5ld0J1ZmZlclNpemUpfSx0cmFja1BhZ2VWaWV3OmZ1bmN0aW9uKGUpe3ZvaWQgMD09PWUmJihlPXt9KSx0dChlKX0scHJlc2VydmVQYWdlVmlld0lkOmZ1bmN0aW9uKCl7bW49ITB9LHByZXNlcnZlUGFnZVZpZXdJZEZvclVybDpmdW5jdGlvbihlKXtobj1lfSxkaXNhYmxlQW5vbnltb3VzVHJhY2tpbmc6ZnVuY3Rpb24oZSl7Yy5hbm9ueW1vdXNUcmFja2luZz0hMSxXbihlKSxZbigpLHBuLmV4ZWN1dGVRdWV1ZSgpfSxlbmFibGVBbm9ueW1vdXNUcmFja2luZzpmdW5jdGlvbihlKXt2YXIgbjtjLmFub255bW91c1RyYWNraW5nPW51bGw9PT0obj1lJiYobnVsbD09ZT92b2lkIDA6ZS5vcHRpb25zKSl8fHZvaWQgMD09PW58fG4sV24oZSksc258fEtuKCl9LGNsZWFyVXNlckRhdGE6WG59O3JldHVybiByKHIoe30sdXQpLHtpZDplLG5hbWVzcGFjZTpuLGNvcmU6emUsc2hhcmVkU3RhdGU6dX0pfShlLG4sdCxhLHUsYyksZD1yKHIoe30sZikse2FkZFBsdWdpbjpmdW5jdGlvbihlKXt2YXIgbix0O2QuY29yZS5hZGRQbHVnaW4oZSksbnVsbD09PSh0PShuPWUucGx1Z2luKS5hY3RpdmF0ZUJyb3dzZXJQbHVnaW4pfHx2b2lkIDA9PT10fHx0LmNhbGwobixkKX19KTtyZXR1cm4gbC5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgbjtudWxsPT09KG49ZS5hY3RpdmF0ZUJyb3dzZXJQbHVnaW4pfHx2b2lkIDA9PT1ufHxuLmNhbGwoZSxkKX0pKSxkfXZhciBoZT17fTtmdW5jdGlvbiB5ZShlLG4pe3RyeXsodD1udWxsIT1lP2U6T2JqZWN0LmtleXMoaGUpLHdlKHQsaGUpKS5mb3JFYWNoKG4pfWNhdGNoKGUpe3AuZXJyb3IoIkZ1bmN0aW9uIGZhaWxlZCIsZSl9dmFyIHR9ZnVuY3Rpb24gd2UoZSxuKXtmb3IodmFyIHQ9W10scj0wLG89ZTtyPG8ubGVuZ3RoO3IrKyl7dmFyIGk9b1tyXTtuLmhhc093blByb3BlcnR5KGkpP3QucHVzaChuW2ldKTpwLndhcm4oaSsiIG5vdCBjb25maWd1cmVkIil9cmV0dXJuIHR9dmFyIGJlPWZ1bmN0aW9uKCl7dGhpcy5vdXRRdWV1ZXM9W10sdGhpcy5idWZmZXJGbHVzaGVycz1bXSx0aGlzLmhhc0xvYWRlZD0hMSx0aGlzLnJlZ2lzdGVyZWRPbkxvYWRIYW5kbGVycz1bXX07ZnVuY3Rpb24ga2UoZSxuKXt5ZShuLChmdW5jdGlvbihuKXtuLmRpc2NhcmRCcmFjZShlKX0pKX1mdW5jdGlvbiBTZShlLG4pe3llKG4sKGZ1bmN0aW9uKG4pe24uZW5hYmxlQWN0aXZpdHlUcmFja2luZ0NhbGxiYWNrKGUpfSkpfWZ1bmN0aW9uIHhlKGUpe3llKGUsKGZ1bmN0aW9uKGUpe2UuZGlzYWJsZUFjdGl2aXR5VHJhY2tpbmcoKX0pKX1mdW5jdGlvbiBUZShlLG4pe3llKG4sKGZ1bmN0aW9uKG4pe24uc2V0VXNlcklkKGUpfSkpfWZ1bmN0aW9uIEllKGUsbil7eWUobiwoZnVuY3Rpb24obil7bi50cmFja1BhZ2VWaWV3KGUpfSkpfWZ1bmN0aW9uIEFlKGUsbil7eWUobiwoZnVuY3Rpb24obil7bi5jb3JlLnRyYWNrKEQoe2V2ZW50OmUuZXZlbnR9KSxlLmNvbnRleHQsZS50aW1lc3RhbXApfSkpfWZ1bmN0aW9uIENlKGUsbil7eWUobiwoZnVuY3Rpb24obil7bi5kaXNhYmxlQW5vbnltb3VzVHJhY2tpbmcoZSl9KSl9ZnVuY3Rpb24gT2UoZSxuKXt5ZShuLChmdW5jdGlvbihuKXtuLmVuYWJsZUFub255bW91c1RyYWNraW5nKGUpfSkpfXZhciBQZT0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz9mdW5jdGlvbigpe3ZhciBlPW5ldyBiZSxuPWRvY3VtZW50LHQ9d2luZG93O2Z1bmN0aW9uIHIoKXt2YXIgbjtpZighZS5oYXNMb2FkZWQpZm9yKGUuaGFzTG9hZGVkPSEwLG49MDtuPGUucmVnaXN0ZXJlZE9uTG9hZEhhbmRsZXJzLmxlbmd0aDtuKyspZS5yZWdpc3RlcmVkT25Mb2FkSGFuZGxlcnNbbl0oKTtyZXR1cm4hMH1yZXR1cm4gbi52aXNpYmlsaXR5U3RhdGUmJkcobiwidmlzaWJpbGl0eWNoYW5nZSIsKGZ1bmN0aW9uKCl7ImhpZGRlbiI9PW4udmlzaWJpbGl0eVN0YXRlJiZlLmJ1ZmZlckZsdXNoZXJzLmZvckVhY2goKGZ1bmN0aW9uKGUpe2UoITEpfSkpfSksITEpLEcodCwiYmVmb3JldW5sb2FkIiwoZnVuY3Rpb24oKXtlLmJ1ZmZlckZsdXNoZXJzLmZvckVhY2goKGZ1bmN0aW9uKGUpe2UoITEpfSkpfSksITEpLCJsb2FkaW5nIj09PWRvY3VtZW50LnJlYWR5U3RhdGU/KG4uYWRkRXZlbnRMaXN0ZW5lcj9uLmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLChmdW5jdGlvbiBlKCl7bi5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixlLCExKSxyKCl9KSk6bi5hdHRhY2hFdmVudCYmbi5hdHRhY2hFdmVudCgib25yZWFkeXN0YXRlY2hhbmdlIiwoZnVuY3Rpb24gZSgpeyJjb21wbGV0ZSI9PT1uLnJlYWR5U3RhdGUmJihuLmRldGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLGUpLHIoKSl9KSksRyh0LCJsb2FkIixyLCExKSk6cigpLGV9KCk6dm9pZCAwO2Z1bmN0aW9uIEVlKGUsbix0KXtyZXR1cm4gdm9pZCAwPT09dCYmKHQ9e30pLFBlP2Z1bmN0aW9uKGUsbix0LHIsbyxpKXtyZXR1cm4gaGUuaGFzT3duUHJvcGVydHkoZSk/bnVsbDooaGVbZV09bWUoZSxuLHQscixvLGkpLGhlW2VdKX0oZSxlLCJqcy0iLmNvbmNhdCgiMy4yNC4xIiksbixQZSx0KTp2b2lkIDB9fSwyNDE1MzkoZSl7dmFyIG49e3V0Zjg6e3N0cmluZ1RvQnl0ZXM6ZnVuY3Rpb24oZSl7cmV0dXJuIG4uYmluLnN0cmluZ1RvQnl0ZXModW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KGUpKSl9LGJ5dGVzVG9TdHJpbmc6ZnVuY3Rpb24oZSl7cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChlc2NhcGUobi5iaW4uYnl0ZXNUb1N0cmluZyhlKSkpfX0sYmluOnsKc3RyaW5nVG9CeXRlczpmdW5jdGlvbihlKXtmb3IodmFyIG49W10sdD0wO3Q8ZS5sZW5ndGg7dCsrKW4ucHVzaCgyNTUmZS5jaGFyQ29kZUF0KHQpKTtyZXR1cm4gbn0sYnl0ZXNUb1N0cmluZzpmdW5jdGlvbihlKXtmb3IodmFyIG49W10sdD0wO3Q8ZS5sZW5ndGg7dCsrKW4ucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGVbdF0pKTtyZXR1cm4gbi5qb2luKCIiKX19fTtlLmV4cG9ydHM9bn0sMjk3NjM1KGUpe3ZhciBuLHQ7bj0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyIsdD17cm90bDpmdW5jdGlvbihlLG4pe3JldHVybiBlPDxufGU+Pj4zMi1ufSxyb3RyOmZ1bmN0aW9uKGUsbil7cmV0dXJuIGU8PDMyLW58ZT4+Pm59LGVuZGlhbjpmdW5jdGlvbihlKXtpZihlLmNvbnN0cnVjdG9yPT1OdW1iZXIpcmV0dXJuIDE2NzExOTM1JnQucm90bChlLDgpfDQyNzgyNTUzNjAmdC5yb3RsKGUsMjQpO2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKWVbbl09dC5lbmRpYW4oZVtuXSk7cmV0dXJuIGV9LHJhbmRvbUJ5dGVzOmZ1bmN0aW9uKGUpe2Zvcih2YXIgbj1bXTtlPjA7ZS0tKW4ucHVzaChNYXRoLmZsb29yKDI1NipNYXRoLnJhbmRvbSgpKSk7cmV0dXJuIG59LGJ5dGVzVG9Xb3JkczpmdW5jdGlvbihlKXtmb3IodmFyIG49W10sdD0wLHI9MDt0PGUubGVuZ3RoO3QrKyxyKz04KW5bcj4+PjVdfD1lW3RdPDwyNC1yJTMyO3JldHVybiBufSx3b3Jkc1RvQnl0ZXM6ZnVuY3Rpb24oZSl7Zm9yKHZhciBuPVtdLHQ9MDt0PDMyKmUubGVuZ3RoO3QrPTgpbi5wdXNoKGVbdD4+PjVdPj4+MjQtdCUzMiYyNTUpO3JldHVybiBufSxieXRlc1RvSGV4OmZ1bmN0aW9uKGUpe2Zvcih2YXIgbj1bXSx0PTA7dDxlLmxlbmd0aDt0Kyspbi5wdXNoKChlW3RdPj4+NCkudG9TdHJpbmcoMTYpKSxuLnB1c2goKDE1JmVbdF0pLnRvU3RyaW5nKDE2KSk7cmV0dXJuIG4uam9pbigiIil9LGhleFRvQnl0ZXM6ZnVuY3Rpb24oZSl7Zm9yKHZhciBuPVtdLHQ9MDt0PGUubGVuZ3RoO3QrPTIpbi5wdXNoKHBhcnNlSW50KGUuc3Vic3RyKHQsMiksMTYpKTtyZXR1cm4gbn0sYnl0ZXNUb0Jhc2U2NDpmdW5jdGlvbihlKXtmb3IodmFyIHQ9W10scj0wO3I8ZS5sZW5ndGg7cis9Mylmb3IodmFyIG89ZVtyXTw8MTZ8ZVtyKzFdPDw4fGVbcisyXSxpPTA7aTw0O2krKyk4KnIrNippPD04KmUubGVuZ3RoP3QucHVzaChuLmNoYXJBdChvPj4+NiooMy1pKSY2MykpOnQucHVzaCgiPSIpO3JldHVybiB0LmpvaW4oIiIpfSxiYXNlNjRUb0J5dGVzOmZ1bmN0aW9uKGUpe2U9ZS5yZXBsYWNlKC9bXkEtWjAtOStcL10vZ2ksIiIpO2Zvcih2YXIgdD1bXSxyPTAsbz0wO3I8ZS5sZW5ndGg7bz0rK3IlNCkwIT1vJiZ0LnB1c2goKG4uaW5kZXhPZihlLmNoYXJBdChyLTEpKSZNYXRoLnBvdygyLC0yKm8rOCktMSk8PDIqb3xuLmluZGV4T2YoZS5jaGFyQXQocikpPj4+Ni0yKm8pO3JldHVybiB0fX0sZS5leHBvcnRzPXR9LDE5NjM3MyhlLG4sdCl7dmFyIHIsbyxpLGE7cj10KDI5NzYzNSksbz10KDI0MTUzOSkudXRmOCxpPXQoMjQxNTM5KS5iaW4sKGE9ZnVuY3Rpb24oZSxuKXt2YXIgdD1yLndvcmRzVG9CeXRlcyhmdW5jdGlvbihlKXtlLmNvbnN0cnVjdG9yPT1TdHJpbmc/ZT1vLnN0cmluZ1RvQnl0ZXMoZSk6InVuZGVmaW5lZCIhPXR5cGVvZiBCdWZmZXImJiJmdW5jdGlvbiI9PXR5cGVvZiBCdWZmZXIuaXNCdWZmZXImJkJ1ZmZlci5pc0J1ZmZlcihlKT9lPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGUsMCk6QXJyYXkuaXNBcnJheShlKXx8KGU9ZS50b1N0cmluZygpKTt2YXIgbj1yLmJ5dGVzVG9Xb3JkcyhlKSx0PTgqZS5sZW5ndGgsaT1bXSxhPTE3MzI1ODQxOTMsdT0tMjcxNzMzODc5LGM9LTE3MzI1ODQxOTQscz0yNzE3MzM4NzgsbD0tMTAwOTU4OTc3NjtuW3Q+PjVdfD0xMjg8PDI0LXQlMzIsblsxNSsodCs2ND4+Pjk8PDQpXT10O2Zvcih2YXIgZj0wO2Y8bi5sZW5ndGg7Zis9MTYpe2Zvcih2YXIgZD1hLHY9dSxnPWMscD1zLG09bCxoPTA7aDw4MDtoKyspe2lmKGg8MTYpaVtoXT1uW2YraF07ZWxzZXt2YXIgeT1pW2gtM11eaVtoLThdXmlbaC0xNF1eaVtoLTE2XTtpW2hdPXk8PDF8eT4+PjMxfXZhciB3PShhPDw1fGE+Pj4yNykrbCsoaVtoXT4+PjApKyhoPDIwPzE1MTg1MDAyNDkrKHUmY3x+dSZzKTpoPDQwPzE4NTk3NzUzOTMrKHVeY15zKTpoPDYwPyh1JmN8dSZzfGMmcyktMTg5NDAwNzU4ODoodV5jXnMpLTg5OTQ5NzUxNCk7bD1zLHM9YyxjPXU8PDMwfHU+Pj4yLHU9YSxhPXd9YSs9ZCx1Kz12LGMrPWcscys9cCxsKz1tfXJldHVyblthLHUsYyxzLGxdfShlKSk7cmV0dXJuIG4mJm4uYXNCeXRlcz90Om4mJm4uYXNTdHJpbmc/aS5ieXRlc1RvU3RyaW5nKHQpOnIuYnl0ZXNUb0hleCh0KX0pLl9ibG9ja3NpemU9MTYsYS5fZGlnZXN0c2l6ZT0yMCxlLmV4cG9ydHM9YX0sNTM3MjA0KGUsbix0KXt2YXIgcj10KDY5ODU3MSksbz10KDQ2NjY4MCksaT1vO2kudjE9cixpLnY0PW8sZS5leHBvcnRzPWl9LDg2NzE3KGUpe2Zvcih2YXIgbj1bXSx0PTA7dDwyNTY7Kyt0KW5bdF09KHQrMjU2KS50b1N0cmluZygxNikuc3Vic3RyKDEpO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3ZhciByPXR8fDAsbz1uO3JldHVybltvW2VbcisrXV0sb1tlW3IrK11dLG9bZVtyKytdXSxvW2VbcisrXV0sIi0iLG9bZVtyKytdXSxvW2VbcisrXV0sIi0iLG9bZVtyKytdXSxvW2VbcisrXV0sIi0iLG9bZVtyKytdXSxvW2VbcisrXV0sIi0iLG9bZVtyKytdXSxvW2VbcisrXV0sb1tlW3IrK11dLG9bZVtyKytdXSxvW2VbcisrXV0sb1tlW3IrK11dXS5qb2luKCIiKX19LDcyNzY0NChlKXt2YXIgbj0idW5kZWZpbmVkIiE9dHlwZW9mIGNyeXB0byYmY3J5cHRvLmdldFJhbmRvbVZhbHVlcyYmY3J5cHRvLmdldFJhbmRvbVZhbHVlcy5iaW5kKGNyeXB0byl8fCJ1bmRlZmluZWQiIT10eXBlb2YgbXNDcnlwdG8mJiJmdW5jdGlvbiI9PXR5cGVvZiB3aW5kb3cubXNDcnlwdG8uZ2V0UmFuZG9tVmFsdWVzJiZtc0NyeXB0by5nZXRSYW5kb21WYWx1ZXMuYmluZChtc0NyeXB0byk7aWYobil7CnZhciB0PW5ldyBVaW50OEFycmF5KDE2KTtlLmV4cG9ydHM9ZnVuY3Rpb24oKXtyZXR1cm4gbih0KSx0fX1lbHNle3ZhciByPW5ldyBBcnJheSgxNik7ZS5leHBvcnRzPWZ1bmN0aW9uKCl7Zm9yKHZhciBlLG49MDtuPDE2O24rKykzJm58fChlPTQyOTQ5NjcyOTYqTWF0aC5yYW5kb20oKSkscltuXT1lPj4+KCgzJm4pPDwzKSYyNTU7cmV0dXJuIHJ9fX0sNjk4NTcxKGUsbix0KXt2YXIgcixvLGk9dCg3Mjc2NDQpLGE9dCg4NjcxNyksdT0wLGM9MDtlLmV4cG9ydHM9ZnVuY3Rpb24oZSxuLHQpe3ZhciBzPW4mJnR8fDAsbD1ufHxbXSxmPShlPWV8fHt9KS5ub2RlfHxyLGQ9dm9pZCAwIT09ZS5jbG9ja3NlcT9lLmNsb2Nrc2VxOm87aWYobnVsbD09Znx8bnVsbD09ZCl7dmFyIHY9aSgpO251bGw9PWYmJihmPXI9WzF8dlswXSx2WzFdLHZbMl0sdlszXSx2WzRdLHZbNV1dKSxudWxsPT1kJiYoZD1vPTE2MzgzJih2WzZdPDw4fHZbN10pKX12YXIgZz12b2lkIDAhPT1lLm1zZWNzP2UubXNlY3M6KG5ldyBEYXRlKS5nZXRUaW1lKCkscD12b2lkIDAhPT1lLm5zZWNzP2UubnNlY3M6YysxLG09Zy11KyhwLWMpLzFlNDtpZihtPDAmJnZvaWQgMD09PWUuY2xvY2tzZXEmJihkPWQrMSYxNjM4MyksKG08MHx8Zz51KSYmdm9pZCAwPT09ZS5uc2VjcyYmKHA9MCkscD49MWU0KXRocm93IG5ldyBFcnJvcigidXVpZC52MSgpOiBDYW4ndCBjcmVhdGUgbW9yZSB0aGFuIDEwTSB1dWlkcy9zZWMiKTt1PWcsYz1wLG89ZDt2YXIgaD0oMWU0KigyNjg0MzU0NTUmKGcrPTEyMjE5MjkyOGU1KSkrcCklNDI5NDk2NzI5NjtsW3MrK109aD4+PjI0JjI1NSxsW3MrK109aD4+PjE2JjI1NSxsW3MrK109aD4+PjgmMjU1LGxbcysrXT0yNTUmaDt2YXIgeT1nLzQyOTQ5NjcyOTYqMWU0JjI2ODQzNTQ1NTtsW3MrK109eT4+PjgmMjU1LGxbcysrXT0yNTUmeSxsW3MrK109eT4+PjI0JjE1fDE2LGxbcysrXT15Pj4+MTYmMjU1LGxbcysrXT1kPj4+OHwxMjgsbFtzKytdPTI1NSZkO2Zvcih2YXIgdz0wO3c8NjsrK3cpbFtzK3ddPWZbd107cmV0dXJuIG58fGEobCl9fSw0NjY2ODAoZSxuLHQpe3ZhciByPXQoNzI3NjQ0KSxvPXQoODY3MTcpO2UuZXhwb3J0cz1mdW5jdGlvbihlLG4sdCl7dmFyIGk9biYmdHx8MDsic3RyaW5nIj09dHlwZW9mIGUmJihuPSJiaW5hcnkiPT09ZT9uZXcgQXJyYXkoMTYpOm51bGwsZT1udWxsKTt2YXIgYT0oZT1lfHx7fSkucmFuZG9tfHwoZS5ybmd8fHIpKCk7aWYoYVs2XT0xNSZhWzZdfDY0LGFbOF09NjMmYVs4XXwxMjgsbilmb3IodmFyIHU9MDt1PDE2OysrdSluW2krdV09YVt1XTtyZXR1cm4gbnx8byhhKX19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/8408.de534663e052075ba12f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.799Z","timestamp":1785120634799,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/8408.de534663e052075ba12f.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"www.tradingview-widget.com/static/bundles/embed/49265.c208ef8379e073f94d16.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.919Z","timestamp":1785120633919,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/49265.c208ef8379e073f94d16.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a435fcb-4ddf\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:18:51 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:09\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: cda2bf472acfd28018b685845bed3215\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":19935,"size_decoded":7323,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"7b82078f584e6803982971fd98e254ad","sha1":"68381b82a3c15fb84e25d74f902a92fd1de3a245","sha256":"e79b56277f3ab3f995df2d44c612a393858265d70e8d4151a858384901aaa5ae","sha512":"856120280da4d842117fb927a8dbab94215dfb803172d5217ef06b3e3160c27bfbc9fda244b20ac94ce02cebb4356d25c92927cb9292b29f658e377fca579fec","ssdeep":"384:j9PRJCURbRGehSowQ7pJIdRW5TejB6ScRTtDe1efLBHxe+Wl2XaKKTV28fRJmRDM:RPTCURbwehStQ7pJIdk5TejB6ScZtDeb","tlshash":"7e92de8679c2f0e962d55cd4c07b4846f01a0d3c704db8e9e7e6c8d2da7a14ed436bba","first_seen":"2026-06-30T14:35:40.41523Z","last_seen":"2026-07-27T05:15:36.955954Z","times_seen":2158,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0OTI2NV0sezc1Njg1MSh0KXsidXNlIHN0cmljdCI7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxyPXQubGVuZ3RoLG49MDtuPHI7bisrKXt2YXIgdT10LmNoYXJDb2RlQXQobik7aWYodT49NTUyOTYmJnU8PTU2MzE5JiZyPm4rMSl7dmFyIGE9dC5jaGFyQ29kZUF0KG4rMSk7YT49NTYzMjAmJmE8PTU3MzQzJiYodT0xMDI0Kih1LTU1Mjk2KSthLTU2MzIwKzY1NTM2LG4rPTEpfXU8MTI4P2UucHVzaCh1KTp1PDIwNDg/KGUucHVzaCh1Pj42fDE5MiksZS5wdXNoKDYzJnV8MTI4KSk6dTw1NTI5Nnx8dT49NTczNDQmJnU8NjU1MzY/KGUucHVzaCh1Pj4xMnwyMjQpLGUucHVzaCh1Pj42JjYzfDEyOCksZS5wdXNoKDYzJnV8MTI4KSk6dT49NjU1MzYmJnU8PTExMTQxMTE/KGUucHVzaCh1Pj4xOHwyNDApLGUucHVzaCh1Pj4xMiY2M3wxMjgpLGUucHVzaCh1Pj42JjYzfDEyOCksZS5wdXNoKDYzJnV8MTI4KSk6ZS5wdXNoKDIzOSwxOTEsMTg5KX1yZXR1cm4gbmV3IFVpbnQ4QXJyYXkoZSkuYnVmZmVyfX0sNTA0NDAyKHQsZSxyKXt2YXIgbj1yKDYzODIyMSk7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiB0PW4odF49dD4+PjE2LDIyNDY4MjI1MDcpLHQ9bih0Xj10Pj4+MTMsMzI2NjQ4OTkwOSksKHRePXQ+Pj4xNik+Pj4wfX0sNjM4MjIxKHQpeyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9TWF0aC5pbXVsfHxmdW5jdGlvbih0LGUpe3ZhciByPTY1NTM1JnQsbj02NTUzNSZlO3JldHVybiByKm4rKCh0Pj4+MTYmNjU1MzUpKm4rciooZT4+PjE2JjY1NTM1KTw8MTY+Pj4wKXwwfX0sMTAwNTk1KHQsZSxyKXt2YXIgbj1yKDYzODIyMSksdT1yKDUwNDQwMiksYT1yKDc1Njg1MSksbz1uZXcgVWludDMyQXJyYXkoWzM0MzI5MTgzNTMsNDYxODQ1OTA3XSk7ZnVuY3Rpb24gYyh0LGUpe3JldHVybiB0PDxlfHQ+Pj4zMi1lfXQuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2lmKGU9ZT8wfGU6MCwic3RyaW5nIj09dHlwZW9mIHQmJih0PWEodCkpLCEodCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBrZXkgdG8gYmUgQXJyYXlCdWZmZXIgb3Igc3RyaW5nIik7dmFyIHI9bmV3IFVpbnQzMkFycmF5KFtlXSk7cmV0dXJuIGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXQuYnl0ZUxlbmd0aC80fDAsdT1uZXcgVWludDMyQXJyYXkodCwwLHIpLGE9MDthPHI7YSsrKXVbYV09bih1W2FdLG9bMF0pLHVbYV09Yyh1W2FdLDE1KSx1W2FdPW4odVthXSxvWzFdKSxlWzBdPWVbMF1edVthXSxlWzBdPWMoZVswXSwxMyksZVswXT1uKGVbMF0sNSkrMzg2NDI5MjE5Nn0odCxyKSxmdW5jdGlvbih0LGUpe3ZhciByPXQuYnl0ZUxlbmd0aC80fDAsdT10LmJ5dGVMZW5ndGglNCxhPTAsZj1uZXcgVWludDhBcnJheSh0LDQqcix1KTtzd2l0Y2godSl7Y2FzZSAzOmFePWZbMl08PDE2O2Nhc2UgMjphXj1mWzFdPDw4O2Nhc2UgMTphXj1mWzBdLGE9YyhhPW4oYSxvWzBdKSwxNSksYT1uKGEsb1sxXSksZVswXT1lWzBdXmF9fSh0LHIpLGZ1bmN0aW9uKHQsZSl7ZVswXT1lWzBdXnQuYnl0ZUxlbmd0aCxlWzBdPXUoZVswXSl9KHQsciksci5idWZmZXJ9fSw0MTQxMjModCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBuPXIoMTYyMzE2KSx1PXIoOTgxNTIzKTtjb25zdCBhPSgwLG4uZGVmYXVsdCkodS5kZWZhdWx0LCJTZXQiKX0sMjY5MzY2KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PmN9KTt2YXIgbj1yKDcxMzE0OCk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5zZXQodCwiX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyIpLHRoaXN9O2NvbnN0IGE9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX19kYXRhX18uaGFzKHQpfTtmdW5jdGlvbiBvKHQpe3ZhciBlPS0xLHI9bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLl9fZGF0YV9fPW5ldyBuLmRlZmF1bHQ7KytlPHI7KXRoaXMuYWRkKHRbZV0pfW8ucHJvdG90eXBlLmFkZD1vLnByb3RvdHlwZS5wdXNoPXUsby5wcm90b3R5cGUuaGFzPWE7Y29uc3QgYz1vfSw4ODY1MTQodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+ZH0pO3ZhciBuPXIoNzM1OTgzKTtjb25zdCB1PWZ1bmN0aW9uKCl7dGhpcy5fX2RhdGFfXz1uZXcgbi5kZWZhdWx0LHRoaXMuc2l6ZT0wfTtjb25zdCBhPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX18scj1lLmRlbGV0ZSh0KTtyZXR1cm4gdGhpcy5zaXplPWUuc2l6ZSxyfTtjb25zdCBvPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9fZGF0YV9fLmdldCh0KX07Y29uc3QgYz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5oYXModCl9O3ZhciBmPXIoNjk0MjEpLHM9cig3MTMxNDgpO2NvbnN0IGk9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLl9fZGF0YV9fO2lmKHIgaW5zdGFuY2VvZiBuLmRlZmF1bHQpe3ZhciB1PXIuX19kYXRhX187aWYoIWYuZGVmYXVsdHx8dS5sZW5ndGg8MTk5KXJldHVybiB1LnB1c2goW3QsZV0pLHRoaXMuc2l6ZT0rK3Iuc2l6ZSx0aGlzO3I9dGhpcy5fX2RhdGFfXz1uZXcgcy5kZWZhdWx0KHUpfXJldHVybiByLnNldCh0LGUpLHRoaXMuc2l6ZT1yLnNpemUsdGhpc307ZnVuY3Rpb24gbCh0KXt2YXIgZT10aGlzLl9fZGF0YV9fPW5ldyBuLmRlZmF1bHQodCk7dGhpcy5zaXplPWUuc2l6ZX1sLnByb3RvdHlwZS5jbGVhcj11LGwucHJvdG90eXBlLmRlbGV0ZT1hLGwucHJvdG90eXBlLmdldD1vLGwucHJvdG90eXBlLmhhcz1jLGwucHJvdG90eXBlLnNldD1pO2NvbnN0IGQ9bH0sODY1MzMwKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPXIoOTgxNTIzKS5kZWZhdWx0LlVpbnQ4QXJyYXl9LDkyODQ1Myh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cigxNjIzMTYpLHU9cig5ODE1MjMpO2NvbnN0IGE9KDAsbi5kZWZhdWx0KSh1LmRlZmF1bHQsIldlYWtNYXAiKX0sCjk4NDEzOSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0tMSxuPW51bGw9PXQ/MDp0Lmxlbmd0aDsrK3I8biYmITEhPT1lKHRbcl0scix0KTspO3JldHVybiB0fX0sMjI0NDE2KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PmN9KTt2YXIgbj1yKDY4ODk2NSk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4gdCE9dH07Y29uc3QgYT1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBuPXItMSx1PXQubGVuZ3RoOysrbjx1OylpZih0W25dPT09ZSlyZXR1cm4gbjtyZXR1cm4tMX07Y29uc3Qgbz1mdW5jdGlvbih0LGUscil7cmV0dXJuIGU9PWU/YSh0LGUscik6KDAsbi5kZWZhdWx0KSh0LHUscil9O2NvbnN0IGM9ZnVuY3Rpb24odCxlKXtyZXR1cm4hIShudWxsPT10PzA6dC5sZW5ndGgpJiZvKHQsZSwwKT4tMX19LDgyNTAzOSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBuPS0xLHU9bnVsbD09dD8wOnQubGVuZ3RoOysrbjx1OylpZihyKGUsdFtuXSkpcmV0dXJuITA7cmV0dXJuITF9fSw4MjA5NzUodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+aX0pO2NvbnN0IG49ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9LTEsbj1BcnJheSh0KTsrK3I8dDspbltyXT1lKHIpO3JldHVybiBufTt2YXIgdT1yKDUzMTU1NyksYT1yKDI5NTYzNSksbz1yKDY1OTAxOCksYz1yKDkyMTE0MyksZj1yKDE2NTI2Nykscz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2NvbnN0IGk9ZnVuY3Rpb24odCxlKXt2YXIgcj0oMCxhLmRlZmF1bHQpKHQpLGk9IXImJigwLHUuZGVmYXVsdCkodCksbD0hciYmIWkmJigwLG8uZGVmYXVsdCkodCksZD0hciYmIWkmJiFsJiYoMCxmLmRlZmF1bHQpKHQpLHY9cnx8aXx8bHx8ZCxwPXY/bih0Lmxlbmd0aCxTdHJpbmcpOltdLGI9cC5sZW5ndGg7Zm9yKHZhciB5IGluIHQpIWUmJiFzLmNhbGwodCx5KXx8diYmKCJsZW5ndGgiPT15fHxsJiYoIm9mZnNldCI9PXl8fCJwYXJlbnQiPT15KXx8ZCYmKCJidWZmZXIiPT15fHwiYnl0ZUxlbmd0aCI9PXl8fCJieXRlT2Zmc2V0Ij09eSl8fCgwLGMuZGVmYXVsdCkoeSxiKSl8fHAucHVzaCh5KTtyZXR1cm4gcH19LDQ0ODYyNih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0tMSxuPWUubGVuZ3RoLHU9dC5sZW5ndGg7KytyPG47KXRbdStyXT1lW3JdO3JldHVybiB0fX0sMTY4NTMzKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm99KTt2YXIgbj1yKDI1NDczOCksdT1yKDkxMDc3OCksYT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2NvbnN0IG89ZnVuY3Rpb24odCxlLHIpe3ZhciBvPXRbZV07YS5jYWxsKHQsZSkmJigwLHUuZGVmYXVsdCkobyxyKSYmKHZvaWQgMCE9PXJ8fGUgaW4gdCl8fCgwLG4uZGVmYXVsdCkodCxlLHIpfX0sMjU0NzM4KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgbj1yKDM2MDQ5KTtjb25zdCB1PWZ1bmN0aW9uKHQsZSxyKXsiX19wcm90b19fIj09ZSYmbi5kZWZhdWx0PygwLG4uZGVmYXVsdCkodCxlLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCx2YWx1ZTpyLHdyaXRhYmxlOiEwfSk6dFtlXT1yfX0sNDkzMDE4KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pkh9KTt2YXIgbj1yKDg4NjUxNCksdT1yKDk4NDEzOSksYT1yKDE2ODUzMyksbz1yKDYxODU3KSxjPXIoMzA5MDgwKTtjb25zdCBmPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQmJigwLG8uZGVmYXVsdCkoZSwoMCxjLmRlZmF1bHQpKGUpLHQpfTt2YXIgcz1yKDIxNzQ1Nyk7Y29uc3QgaT1mdW5jdGlvbih0LGUpe3JldHVybiB0JiYoMCxvLmRlZmF1bHQpKGUsKDAscy5kZWZhdWx0KShlKSx0KX07dmFyIGw9cig0ODcwNjApLGQ9cig3MDU3NDkpLHY9cigyMzA5NTEpO2NvbnN0IHA9ZnVuY3Rpb24odCxlKXtyZXR1cm4oMCxvLmRlZmF1bHQpKHQsKDAsdi5kZWZhdWx0KSh0KSxlKX07dmFyIGI9cigxMTY2NDEpO2NvbnN0IHk9ZnVuY3Rpb24odCxlKXtyZXR1cm4oMCxvLmRlZmF1bHQpKHQsKDAsYi5kZWZhdWx0KSh0KSxlKX07dmFyIGg9cig4MDYyNDApLGo9cig5OTE1OTkpLGc9cig5Njk3ODUpLHc9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBfPWZ1bmN0aW9uKHQpe3ZhciBlPXQubGVuZ3RoLHI9bmV3IHQuY29uc3RydWN0b3IoZSk7cmV0dXJuIGUmJiJzdHJpbmciPT10eXBlb2YgdFswXSYmdy5jYWxsKHQsImluZGV4IikmJihyLmluZGV4PXQuaW5kZXgsci5pbnB1dD10LmlucHV0KSxyfTt2YXIgQT1yKDM3NzI1MSk7Y29uc3QgbT1mdW5jdGlvbih0LGUpe3ZhciByPWU/KDAsQS5kZWZhdWx0KSh0LmJ1ZmZlcik6dC5idWZmZXI7cmV0dXJuIG5ldyB0LmNvbnN0cnVjdG9yKHIsdC5ieXRlT2Zmc2V0LHQuYnl0ZUxlbmd0aCl9O3ZhciBPPS9cdyokLztjb25zdCB4PWZ1bmN0aW9uKHQpe3ZhciBlPW5ldyB0LmNvbnN0cnVjdG9yKHQuc291cmNlLE8uZXhlYyh0KSk7cmV0dXJuIGUubGFzdEluZGV4PXQubGFzdEluZGV4LGV9O3ZhciBVPXIoODcyOTk5KSxFPVUuZGVmYXVsdD9VLmRlZmF1bHQucHJvdG90eXBlOnZvaWQgMCxUPUU/RS52YWx1ZU9mOnZvaWQgMDtjb25zdCBTPWZ1bmN0aW9uKHQpe3JldHVybiBUP09iamVjdChULmNhbGwodCkpOnt9fTt2YXIgST1yKDEzOTA3KTtjb25zdCBNPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10LmNvbnN0cnVjdG9yO3N3aXRjaChlKXtjYXNlIltvYmplY3QgQXJyYXlCdWZmZXJdIjpyZXR1cm4oMCxBLmRlZmF1bHQpKHQpO2Nhc2UiW29iamVjdCBCb29sZWFuXSI6Y2FzZSJbb2JqZWN0IERhdGVdIjpyZXR1cm4gbmV3IG4oK3QpO2Nhc2UiW29iamVjdCBEYXRhVmlld10iOnJldHVybiBtKHQscik7Y2FzZSJbb2JqZWN0IEZsb2F0MzJBcnJheV0iOmNhc2UiW29iamVjdCBGbG9hdDY0QXJyYXldIjoKY2FzZSJbb2JqZWN0IEludDhBcnJheV0iOmNhc2UiW29iamVjdCBJbnQxNkFycmF5XSI6Y2FzZSJbb2JqZWN0IEludDMyQXJyYXldIjpjYXNlIltvYmplY3QgVWludDhBcnJheV0iOmNhc2UiW29iamVjdCBVaW50OENsYW1wZWRBcnJheV0iOmNhc2UiW29iamVjdCBVaW50MTZBcnJheV0iOmNhc2UiW29iamVjdCBVaW50MzJBcnJheV0iOnJldHVybigwLEkuZGVmYXVsdCkodCxyKTtjYXNlIltvYmplY3QgTWFwXSI6Y2FzZSJbb2JqZWN0IFNldF0iOnJldHVybiBuZXcgbjtjYXNlIltvYmplY3QgTnVtYmVyXSI6Y2FzZSJbb2JqZWN0IFN0cmluZ10iOnJldHVybiBuZXcgbih0KTtjYXNlIltvYmplY3QgUmVnRXhwXSI6cmV0dXJuIHgodCk7Y2FzZSJbb2JqZWN0IFN5bWJvbF0iOnJldHVybiBTKHQpfX07dmFyIEI9cig4MDc1NzUpLFA9cigyOTU2MzUpLGs9cig2NTkwMTgpLHo9cig2NzI1MTEpLEM9cig4ODAxMTUpLEQ9cigzNjA2MjApO2NvbnN0IEY9ZnVuY3Rpb24odCl7cmV0dXJuKDAsRC5kZWZhdWx0KSh0KSYmIltvYmplY3QgU2V0XSI9PSgwLGcuZGVmYXVsdCkodCl9O3ZhciBMPXIoODk5MzM5KSxOPXIoMzY5ODk5KSxXPU4uZGVmYXVsdCYmTi5kZWZhdWx0LmlzU2V0O2NvbnN0IFY9Vz8oMCxMLmRlZmF1bHQpKFcpOkY7dmFyICQ9IltvYmplY3QgQXJndW1lbnRzXSIsUj0iW29iamVjdCBGdW5jdGlvbl0iLHE9IltvYmplY3QgT2JqZWN0XSIsRz17fTtHWyRdPUdbIltvYmplY3QgQXJyYXldIl09R1siW29iamVjdCBBcnJheUJ1ZmZlcl0iXT1HWyJbb2JqZWN0IERhdGFWaWV3XSJdPUdbIltvYmplY3QgQm9vbGVhbl0iXT1HWyJbb2JqZWN0IERhdGVdIl09R1siW29iamVjdCBGbG9hdDMyQXJyYXldIl09R1siW29iamVjdCBGbG9hdDY0QXJyYXldIl09R1siW29iamVjdCBJbnQ4QXJyYXldIl09R1siW29iamVjdCBJbnQxNkFycmF5XSJdPUdbIltvYmplY3QgSW50MzJBcnJheV0iXT1HWyJbb2JqZWN0IE1hcF0iXT1HWyJbb2JqZWN0IE51bWJlcl0iXT1HW3FdPUdbIltvYmplY3QgUmVnRXhwXSJdPUdbIltvYmplY3QgU2V0XSJdPUdbIltvYmplY3QgU3RyaW5nXSJdPUdbIltvYmplY3QgU3ltYm9sXSJdPUdbIltvYmplY3QgVWludDhBcnJheV0iXT1HWyJbb2JqZWN0IFVpbnQ4Q2xhbXBlZEFycmF5XSJdPUdbIltvYmplY3QgVWludDE2QXJyYXldIl09R1siW29iamVjdCBVaW50MzJBcnJheV0iXT0hMCxHWyJbb2JqZWN0IEVycm9yXSJdPUdbUl09R1siW29iamVjdCBXZWFrTWFwXSJdPSExO2NvbnN0IEg9ZnVuY3Rpb24gdChlLHIsbyx2LGIsdyl7dmFyIEEsbT0xJnIsTz0yJnIseD00JnI7aWYobyYmKEE9Yj9vKGUsdixiLHcpOm8oZSkpLHZvaWQgMCE9PUEpcmV0dXJuIEE7aWYoISgwLEMuZGVmYXVsdCkoZSkpcmV0dXJuIGU7dmFyIFU9KDAsUC5kZWZhdWx0KShlKTtpZihVKXtpZihBPV8oZSksIW0pcmV0dXJuKDAsZC5kZWZhdWx0KShlLEEpfWVsc2V7dmFyIEU9KDAsZy5kZWZhdWx0KShlKSxUPUU9PVJ8fCJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSI9PUU7aWYoKDAsay5kZWZhdWx0KShlKSlyZXR1cm4oMCxsLmRlZmF1bHQpKGUsbSk7aWYoRT09cXx8RT09JHx8VCYmIWIpe2lmKEE9T3x8VD97fTooMCxCLmRlZmF1bHQpKGUpLCFtKXJldHVybiBPP3koZSxpKEEsZSkpOnAoZSxmKEEsZSkpfWVsc2V7aWYoIUdbRV0pcmV0dXJuIGI/ZTp7fTtBPU0oZSxFLG0pfX13fHwodz1uZXcgbi5kZWZhdWx0KTt2YXIgUz13LmdldChlKTtpZihTKXJldHVybiBTO3cuc2V0KGUsQSksVihlKT9lLmZvckVhY2goKGZ1bmN0aW9uKG4pe0EuYWRkKHQobixyLG8sbixlLHcpKX0pKTooMCx6LmRlZmF1bHQpKGUpJiZlLmZvckVhY2goKGZ1bmN0aW9uKG4sdSl7QS5zZXQodSx0KG4scixvLHUsZSx3KSl9KSk7dmFyIEk9eD9PP2ouZGVmYXVsdDpoLmRlZmF1bHQ6Tz9zLmRlZmF1bHQ6Yy5kZWZhdWx0LEQ9VT92b2lkIDA6SShlKTtyZXR1cm4oMCx1LmRlZmF1bHQpKER8fGUsKGZ1bmN0aW9uKG4sdSl7RCYmKG49ZVt1PW5dKSwoMCxhLmRlZmF1bHQpKEEsdSx0KG4scixvLHUsZSx3KSl9KSksQX19LDg1MTA4Mih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cig4ODAxMTUpLHU9T2JqZWN0LmNyZWF0ZTtjb25zdCBhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe31yZXR1cm4gZnVuY3Rpb24oZSl7aWYoISgwLG4uZGVmYXVsdCkoZSkpcmV0dXJue307aWYodSlyZXR1cm4gdShlKTt0LnByb3RvdHlwZT1lO3ZhciByPW5ldyB0O3JldHVybiB0LnByb3RvdHlwZT12b2lkIDAscn19KCl9LDY4ODk2NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUscixuKXtmb3IodmFyIHU9dC5sZW5ndGgsYT1yKyhuPzE6LTEpO24/YS0tOisrYTx1OylpZihlKHRbYV0sYSx0KSlyZXR1cm4gYTtyZXR1cm4tMX19LDkxNjA4NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cig0NDg2MjYpLHU9cigyOTU2MzUpO2NvbnN0IGE9ZnVuY3Rpb24odCxlLHIpe3ZhciBhPWUodCk7cmV0dXJuKDAsdS5kZWZhdWx0KSh0KT9hOigwLG4uZGVmYXVsdCkoYSxyKHQpKX19LDgzMDg3NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig2OTM5NDEpO2NvbnN0IHU9KDAscigxMzk4NDkpLmRlZmF1bHQpKE9iamVjdC5rZXlzLE9iamVjdCk7dmFyIGE9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBvPWZ1bmN0aW9uKHQpe2lmKCEoMCxuLmRlZmF1bHQpKHQpKXJldHVybiB1KHQpO3ZhciBlPVtdO2Zvcih2YXIgciBpbiBPYmplY3QodCkpYS5jYWxsKHQscikmJiJjb25zdHJ1Y3RvciIhPXImJmUucHVzaChyKTtyZXR1cm4gZX19LDg5OTMzOSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQoZSl9fX0sNzEyODAxKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuaGFzKGUpfX0sCjM3NzI1MSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT51fSk7dmFyIG49cig4NjUzMzApO2NvbnN0IHU9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IHQuY29uc3RydWN0b3IodC5ieXRlTGVuZ3RoKTtyZXR1cm4gbmV3IG4uZGVmYXVsdChlKS5zZXQobmV3IG4uZGVmYXVsdCh0KSksZX19LDQ4NzA2MCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5mfSk7dmFyIG49cig5ODE1MjMpLHU9Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiZleHBvcnRzJiYhZXhwb3J0cy5ub2RlVHlwZSYmZXhwb3J0cyxhPXUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUmJiFtb2R1bGUubm9kZVR5cGUmJm1vZHVsZSxvPWEmJmEuZXhwb3J0cz09PXU/bi5kZWZhdWx0LkJ1ZmZlcjp2b2lkIDAsYz1vP28uYWxsb2NVbnNhZmU6dm9pZCAwO2NvbnN0IGY9ZnVuY3Rpb24odCxlKXtpZihlKXJldHVybiB0LnNsaWNlKCk7dmFyIHI9dC5sZW5ndGgsbj1jP2Mocik6bmV3IHQuY29uc3RydWN0b3Iocik7cmV0dXJuIHQuY29weShuKSxufX0sMTM5MDcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+dX0pO3ZhciBuPXIoMzc3MjUxKTtjb25zdCB1PWZ1bmN0aW9uKHQsZSl7dmFyIHI9ZT8oMCxuLmRlZmF1bHQpKHQuYnVmZmVyKTp0LmJ1ZmZlcjtyZXR1cm4gbmV3IHQuY29uc3RydWN0b3Iocix0LmJ5dGVPZmZzZXQsdC5sZW5ndGgpfX0sNzA1NzQ5KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKHQsZSl7dmFyIHI9LTEsbj10Lmxlbmd0aDtmb3IoZXx8KGU9QXJyYXkobikpOysrcjxuOyllW3JdPXRbcl07cmV0dXJuIGV9fSw2MTg1Nyh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cigxNjg1MzMpLHU9cigyNTQ3MzgpO2NvbnN0IGE9ZnVuY3Rpb24odCxlLHIsYSl7dmFyIG89IXI7cnx8KHI9e30pO2Zvcih2YXIgYz0tMSxmPWUubGVuZ3RoOysrYzxmOyl7dmFyIHM9ZVtjXSxpPWE/YShyW3NdLHRbc10scyxyLHQpOnZvaWQgMDt2b2lkIDA9PT1pJiYoaT10W3NdKSxvPygwLHUuZGVmYXVsdCkocixzLGkpOigwLG4uZGVmYXVsdCkocixzLGkpfXJldHVybiByfX0sMzYwNDkodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+dX0pO3ZhciBuPXIoMTYyMzE2KTtjb25zdCB1PWZ1bmN0aW9uKCl7dHJ5e3ZhciB0PSgwLG4uZGVmYXVsdCkoT2JqZWN0LCJkZWZpbmVQcm9wZXJ0eSIpO3JldHVybiB0KHt9LCIiLHt9KSx0fWNhdGNoKHQpe319KCl9LDgwNjI0MCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig5MTYwODUpLHU9cigyMzA5NTEpLGE9cigzMDkwODApO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuKDAsbi5kZWZhdWx0KSh0LGEuZGVmYXVsdCx1LmRlZmF1bHQpfX0sOTkxNTk5KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm99KTt2YXIgbj1yKDkxNjA4NSksdT1yKDExNjY0MSksYT1yKDIxNzQ1Nyk7Y29uc3Qgbz1mdW5jdGlvbih0KXtyZXR1cm4oMCxuLmRlZmF1bHQpKHQsYS5kZWZhdWx0LHUuZGVmYXVsdCl9fSwzOTI1NDUodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49KDAscigxMzk4NDkpLmRlZmF1bHQpKE9iamVjdC5nZXRQcm90b3R5cGVPZixPYmplY3QpfSwyMzA5NTEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+Y30pO2NvbnN0IG49ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9LTEsbj1udWxsPT10PzA6dC5sZW5ndGgsdT0wLGE9W107KytyPG47KXt2YXIgbz10W3JdO2UobyxyLHQpJiYoYVt1KytdPW8pfXJldHVybiBhfTt2YXIgdT1yKDE3NzY1NSksYT1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLG89T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scztjb25zdCBjPW8/ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/W106KHQ9T2JqZWN0KHQpLG4obyh0KSwoZnVuY3Rpb24oZSl7cmV0dXJuIGEuY2FsbCh0LGUpfSkpKX06dS5kZWZhdWx0fSwxMTY2NDEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+Y30pO3ZhciBuPXIoNDQ4NjI2KSx1PXIoMzkyNTQ1KSxhPXIoMjMwOTUxKSxvPXIoMTc3NjU1KTtjb25zdCBjPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM/ZnVuY3Rpb24odCl7Zm9yKHZhciBlPVtdO3Q7KSgwLG4uZGVmYXVsdCkoZSwoMCxhLmRlZmF1bHQpKHQpKSx0PSgwLHUuZGVmYXVsdCkodCk7cmV0dXJuIGV9Om8uZGVmYXVsdH0sOTY5Nzg1KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm19KTt2YXIgbj1yKDE2MjMxNiksdT1yKDk4MTUyMyk7Y29uc3QgYT0oMCxuLmRlZmF1bHQpKHUuZGVmYXVsdCwiRGF0YVZpZXciKTt2YXIgbz1yKDY5NDIxKTtjb25zdCBjPSgwLG4uZGVmYXVsdCkodS5kZWZhdWx0LCJQcm9taXNlIik7dmFyIGY9cig0MTQxMjMpLHM9cig5Mjg0NTMpLGk9cigxNzg0OTcpLGw9cig3MzA1MDMpLGQ9IltvYmplY3QgTWFwXSIsdj0iW29iamVjdCBQcm9taXNlXSIscD0iW29iamVjdCBTZXRdIixiPSJbb2JqZWN0IFdlYWtNYXBdIix5PSJbb2JqZWN0IERhdGFWaWV3XSIsaD0oMCxsLmRlZmF1bHQpKGEpLGo9KDAsbC5kZWZhdWx0KShvLmRlZmF1bHQpLGc9KDAsbC5kZWZhdWx0KShjKSx3PSgwLGwuZGVmYXVsdCkoZi5kZWZhdWx0KSxfPSgwLGwuZGVmYXVsdCkocy5kZWZhdWx0KSxBPWkuZGVmYXVsdDsoYSYmQShuZXcgYShuZXcgQXJyYXlCdWZmZXIoMSkpKSE9eXx8by5kZWZhdWx0JiZBKG5ldyBvLmRlZmF1bHQpIT1kfHxjJiZBKGMucmVzb2x2ZSgpKSE9dnx8Zi5kZWZhdWx0JiZBKG5ldyBmLmRlZmF1bHQpIT1wfHxzLmRlZmF1bHQmJkEobmV3IHMuZGVmYXVsdCkhPWIpJiYoQT1mdW5jdGlvbih0KXt2YXIgZT0oMCxpLmRlZmF1bHQpKHQpLHI9IltvYmplY3QgT2JqZWN0XSI9PWU/dC5jb25zdHJ1Y3Rvcjp2b2lkIDAsbj1yPygwLGwuZGVmYXVsdCkocik6IiI7aWYobilzd2l0Y2gobil7Y2FzZSBoOgpyZXR1cm4geTtjYXNlIGo6cmV0dXJuIGQ7Y2FzZSBnOnJldHVybiB2O2Nhc2UgdzpyZXR1cm4gcDtjYXNlIF86cmV0dXJuIGJ9cmV0dXJuIGV9KTtjb25zdCBtPUF9LDgwNzU3NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig4NTEwODIpLHU9cigzOTI1NDUpLGE9cig2OTM5NDEpO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuImZ1bmN0aW9uIiE9dHlwZW9mIHQuY29uc3RydWN0b3J8fCgwLGEuZGVmYXVsdCkodCk/e306KDAsbi5kZWZhdWx0KSgoMCx1LmRlZmF1bHQpKHQpKX19LDkyMTE0Myh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT51fSk7dmFyIG49L14oPzowfFsxLTldXGQqKSQvO2NvbnN0IHU9ZnVuY3Rpb24odCxlKXt2YXIgcj10eXBlb2YgdDtyZXR1cm4hIShlPWU/PzkwMDcxOTkyNTQ3NDA5OTEpJiYoIm51bWJlciI9PXJ8fCJzeW1ib2wiIT1yJiZuLnRlc3QodCkpJiZ0Pi0xJiZ0JTE9PTAmJnQ8ZX19LDY5Mzk0MSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT51fSk7dmFyIG49T2JqZWN0LnByb3RvdHlwZTtjb25zdCB1PWZ1bmN0aW9uKHQpe3ZhciBlPXQmJnQuY29uc3RydWN0b3I7cmV0dXJuIHQ9PT0oImZ1bmN0aW9uIj09dHlwZW9mIGUmJmUucHJvdG90eXBlfHxuKX19LDM2OTg5OSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5jfSk7dmFyIG49cig2MDI5NDIpLHU9Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiZleHBvcnRzJiYhZXhwb3J0cy5ub2RlVHlwZSYmZXhwb3J0cyxhPXUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUmJiFtb2R1bGUubm9kZVR5cGUmJm1vZHVsZSxvPWEmJmEuZXhwb3J0cz09PXUmJm4uZGVmYXVsdC5wcm9jZXNzO2NvbnN0IGM9ZnVuY3Rpb24oKXt0cnl7dmFyIHQ9YSYmYS5yZXF1aXJlJiZhLnJlcXVpcmUoInV0aWwiKS50eXBlcztyZXR1cm4gdHx8byYmby5iaW5kaW5nJiZvLmJpbmRpbmcoInV0aWwiKX1jYXRjaCh0KXt9fSgpfSwxMzk4NDkodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49ZnVuY3Rpb24odCxlKXtyZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIHQoZShyKSl9fX0sOTcyMDE3KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKHQpe3ZhciBlPS0xLHI9QXJyYXkodC5zaXplKTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbih0KXtyWysrZV09dH0pKSxyfX0sMjAzNjgxKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgbj1yKDQ5MzAxOCk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4oMCxuLmRlZmF1bHQpKHQsNSl9fSw1NDc4NTEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+c30pO3ZhciBuPXIoODgwMTE1KSx1PXIoOTgxNTIzKTtjb25zdCBhPWZ1bmN0aW9uKCl7cmV0dXJuIHUuZGVmYXVsdC5EYXRlLm5vdygpfTt2YXIgbz1yKDQwNjQ0OSksYz1NYXRoLm1heCxmPU1hdGgubWluO2NvbnN0IHM9ZnVuY3Rpb24odCxlLHIpe3ZhciB1LHMsaSxsLGQsdixwPTAsYj0hMSx5PSExLGg9ITA7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhwZWN0ZWQgYSBmdW5jdGlvbiIpO2Z1bmN0aW9uIGooZSl7dmFyIHI9dSxuPXM7cmV0dXJuIHU9cz12b2lkIDAscD1lLGw9dC5hcHBseShuLHIpfWZ1bmN0aW9uIGcodCl7dmFyIHI9dC12O3JldHVybiB2b2lkIDA9PT12fHxyPj1lfHxyPDB8fHkmJnQtcD49aX1mdW5jdGlvbiB3KCl7dmFyIHQ9YSgpO2lmKGcodCkpcmV0dXJuIF8odCk7ZD1zZXRUaW1lb3V0KHcsZnVuY3Rpb24odCl7dmFyIHI9ZS0odC12KTtyZXR1cm4geT9mKHIsaS0odC1wKSk6cn0odCkpfWZ1bmN0aW9uIF8odCl7cmV0dXJuIGQ9dm9pZCAwLGgmJnU/aih0KToodT1zPXZvaWQgMCxsKX1mdW5jdGlvbiBBKCl7dmFyIHQ9YSgpLHI9Zyh0KTtpZih1PWFyZ3VtZW50cyxzPXRoaXMsdj10LHIpe2lmKHZvaWQgMD09PWQpcmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBwPXQsZD1zZXRUaW1lb3V0KHcsZSksYj9qKHQpOmx9KHYpO2lmKHkpcmV0dXJuIGNsZWFyVGltZW91dChkKSxkPXNldFRpbWVvdXQodyxlKSxqKHYpfXJldHVybiB2b2lkIDA9PT1kJiYoZD1zZXRUaW1lb3V0KHcsZSkpLGx9cmV0dXJuIGU9KDAsby5kZWZhdWx0KShlKXx8MCwoMCxuLmRlZmF1bHQpKHIpJiYoYj0hIXIubGVhZGluZyxpPSh5PSJtYXhXYWl0ImluIHIpP2MoKDAsby5kZWZhdWx0KShyLm1heFdhaXQpfHwwLGUpOmksaD0idHJhaWxpbmciaW4gcj8hIXIudHJhaWxpbmc6aCksQS5jYW5jZWw9ZnVuY3Rpb24oKXt2b2lkIDAhPT1kJiZjbGVhclRpbWVvdXQoZCkscD0wLHU9dj1zPWQ9dm9pZCAwfSxBLmZsdXNoPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMD09PWQ/bDpfKGEoKSl9LEF9fSw1MzE1NTcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+aX0pO3ZhciBuPXIoMTc4NDk3KSx1PXIoMzYwNjIwKTtjb25zdCBhPWZ1bmN0aW9uKHQpe3JldHVybigwLHUuZGVmYXVsdCkodCkmJiJbb2JqZWN0IEFyZ3VtZW50c10iPT0oMCxuLmRlZmF1bHQpKHQpfTt2YXIgbz1PYmplY3QucHJvdG90eXBlLGM9by5oYXNPd25Qcm9wZXJ0eSxmPW8ucHJvcGVydHlJc0VudW1lcmFibGUscz1hKGZ1bmN0aW9uKCl7cmV0dXJuIGFyZ3VtZW50c30oKSk/YTpmdW5jdGlvbih0KXtyZXR1cm4oMCx1LmRlZmF1bHQpKHQpJiZjLmNhbGwodCwiY2FsbGVlIikmJiFmLmNhbGwodCwiY2FsbGVlIil9O2NvbnN0IGk9c30sMjk1NjM1KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPUFycmF5LmlzQXJyYXl9LDM5MjkwOCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cig5MjgxMzIpLHU9cig5OTA2MDQpO2NvbnN0IGE9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGwhPXQmJigwLHUuZGVmYXVsdCkodC5sZW5ndGgpJiYhKDAsbi5kZWZhdWx0KSh0KX19LDY1OTAxOCh0LGUscil7CiJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+Zn0pO3ZhciBuPXIoOTgxNTIzKTtjb25zdCB1PWZ1bmN0aW9uKCl7cmV0dXJuITF9O3ZhciBhPSJvYmplY3QiPT10eXBlb2YgZXhwb3J0cyYmZXhwb3J0cyYmIWV4cG9ydHMubm9kZVR5cGUmJmV4cG9ydHMsbz1hJiYib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmbW9kdWxlJiYhbW9kdWxlLm5vZGVUeXBlJiZtb2R1bGUsYz1vJiZvLmV4cG9ydHM9PT1hP24uZGVmYXVsdC5CdWZmZXI6dm9pZCAwO2NvbnN0IGY9KGM/Yy5pc0J1ZmZlcjp2b2lkIDApfHx1fSw5OTA2MDQodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49ZnVuY3Rpb24odCl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0JiZ0Pi0xJiZ0JTE9PTAmJnQ8PTkwMDcxOTkyNTQ3NDA5OTF9fSw2NzI1MTEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+c30pO3ZhciBuPXIoOTY5Nzg1KSx1PXIoMzYwNjIwKTtjb25zdCBhPWZ1bmN0aW9uKHQpe3JldHVybigwLHUuZGVmYXVsdCkodCkmJiJbb2JqZWN0IE1hcF0iPT0oMCxuLmRlZmF1bHQpKHQpfTt2YXIgbz1yKDg5OTMzOSksYz1yKDM2OTg5OSksZj1jLmRlZmF1bHQmJmMuZGVmYXVsdC5pc01hcDtjb25zdCBzPWY/KDAsby5kZWZhdWx0KShmKTphfSwzNjA2MjAodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49ZnVuY3Rpb24odCl7cmV0dXJuIG51bGwhPXQmJiJvYmplY3QiPT10eXBlb2YgdH19LDcxNzMzMih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cigxNzg0OTcpLHU9cigzNjA2MjApO2NvbnN0IGE9ZnVuY3Rpb24odCl7cmV0dXJuInN5bWJvbCI9PXR5cGVvZiB0fHwoMCx1LmRlZmF1bHQpKHQpJiYiW29iamVjdCBTeW1ib2xdIj09KDAsbi5kZWZhdWx0KSh0KX19LDE2NTI2Nyh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5sfSk7dmFyIG49cigxNzg0OTcpLHU9cig5OTA2MDQpLGE9cigzNjA2MjApLG89e307b1siW29iamVjdCBGbG9hdDMyQXJyYXldIl09b1siW29iamVjdCBGbG9hdDY0QXJyYXldIl09b1siW29iamVjdCBJbnQ4QXJyYXldIl09b1siW29iamVjdCBJbnQxNkFycmF5XSJdPW9bIltvYmplY3QgSW50MzJBcnJheV0iXT1vWyJbb2JqZWN0IFVpbnQ4QXJyYXldIl09b1siW29iamVjdCBVaW50OENsYW1wZWRBcnJheV0iXT1vWyJbb2JqZWN0IFVpbnQxNkFycmF5XSJdPW9bIltvYmplY3QgVWludDMyQXJyYXldIl09ITAsb1siW29iamVjdCBBcmd1bWVudHNdIl09b1siW29iamVjdCBBcnJheV0iXT1vWyJbb2JqZWN0IEFycmF5QnVmZmVyXSJdPW9bIltvYmplY3QgQm9vbGVhbl0iXT1vWyJbb2JqZWN0IERhdGFWaWV3XSJdPW9bIltvYmplY3QgRGF0ZV0iXT1vWyJbb2JqZWN0IEVycm9yXSJdPW9bIltvYmplY3QgRnVuY3Rpb25dIl09b1siW29iamVjdCBNYXBdIl09b1siW29iamVjdCBOdW1iZXJdIl09b1siW29iamVjdCBPYmplY3RdIl09b1siW29iamVjdCBSZWdFeHBdIl09b1siW29iamVjdCBTZXRdIl09b1siW29iamVjdCBTdHJpbmddIl09b1siW29iamVjdCBXZWFrTWFwXSJdPSExO2NvbnN0IGM9ZnVuY3Rpb24odCl7cmV0dXJuKDAsYS5kZWZhdWx0KSh0KSYmKDAsdS5kZWZhdWx0KSh0Lmxlbmd0aCkmJiEhb1soMCxuLmRlZmF1bHQpKHQpXX07dmFyIGY9cig4OTkzMzkpLHM9cigzNjk4OTkpLGk9cy5kZWZhdWx0JiZzLmRlZmF1bHQuaXNUeXBlZEFycmF5O2NvbnN0IGw9aT8oMCxmLmRlZmF1bHQpKGkpOmN9LDMwOTA4MCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig4MjA5NzUpLHU9cig4MzA4NzUpLGE9cigzOTI5MDgpO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuKDAsYS5kZWZhdWx0KSh0KT8oMCxuLmRlZmF1bHQpKHQpOigwLHUuZGVmYXVsdCkodCl9fSwyMTc0NTcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+aX0pO3ZhciBuPXIoODIwOTc1KSx1PXIoODgwMTE1KSxhPXIoNjkzOTQxKTtjb25zdCBvPWZ1bmN0aW9uKHQpe3ZhciBlPVtdO2lmKG51bGwhPXQpZm9yKHZhciByIGluIE9iamVjdCh0KSllLnB1c2gocik7cmV0dXJuIGV9O3ZhciBjPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7Y29uc3QgZj1mdW5jdGlvbih0KXtpZighKDAsdS5kZWZhdWx0KSh0KSlyZXR1cm4gbyh0KTt2YXIgZT0oMCxhLmRlZmF1bHQpKHQpLHI9W107Zm9yKHZhciBuIGluIHQpKCJjb25zdHJ1Y3RvciIhPW58fCFlJiZjLmNhbGwodCxuKSkmJnIucHVzaChuKTtyZXR1cm4gcn07dmFyIHM9cigzOTI5MDgpO2NvbnN0IGk9ZnVuY3Rpb24odCl7cmV0dXJuKDAscy5kZWZhdWx0KSh0KT8oMCxuLmRlZmF1bHQpKHQsITApOmYodCl9fSw2NjMwNDYodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBuPXIoNzEzMTQ4KTtmdW5jdGlvbiB1KHQsZSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHR8fG51bGwhPWUmJiJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGEgZnVuY3Rpb24iKTt2YXIgcj1mdW5jdGlvbigpe3ZhciBuPWFyZ3VtZW50cyx1PWU/ZS5hcHBseSh0aGlzLG4pOm5bMF0sYT1yLmNhY2hlO2lmKGEuaGFzKHUpKXJldHVybiBhLmdldCh1KTt2YXIgbz10LmFwcGx5KHRoaXMsbik7cmV0dXJuIHIuY2FjaGU9YS5zZXQodSxvKXx8YSxvfTtyZXR1cm4gci5jYWNoZT1uZXcodS5DYWNoZXx8bi5kZWZhdWx0KSxyfXUuQ2FjaGU9bi5kZWZhdWx0O2NvbnN0IGE9dX0sODYyMzg4KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKCl7fX0sMTc3NjU1KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKCl7cmV0dXJuW119fSw1ODcxNjgodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBuPXIoNTQ3ODUxKSx1PXIoODgwMTE1KTtjb25zdCBhPWZ1bmN0aW9uKHQsZSxyKXsKdmFyIGE9ITAsbz0hMDtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBhIGZ1bmN0aW9uIik7cmV0dXJuKDAsdS5kZWZhdWx0KShyKSYmKGE9ImxlYWRpbmciaW4gcj8hIXIubGVhZGluZzphLG89InRyYWlsaW5nImluIHI/ISFyLnRyYWlsaW5nOm8pLCgwLG4uZGVmYXVsdCkodCxlLHtsZWFkaW5nOmEsbWF4V2FpdDplLHRyYWlsaW5nOm99KX19LDQwNjQ0OSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT52fSk7dmFyIG49L1xzLztjb25zdCB1PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10Lmxlbmd0aDtlLS0mJm4udGVzdCh0LmNoYXJBdChlKSk7KTtyZXR1cm4gZX07dmFyIGE9L15ccysvO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuIHQ/dC5zbGljZSgwLHUodCkrMSkucmVwbGFjZShhLCIiKTp0fTt2YXIgYz1yKDg4MDExNSksZj1yKDcxNzMzMikscz0vXlstK10weFswLTlhLWZdKyQvaSxpPS9eMGJbMDFdKyQvaSxsPS9eMG9bMC03XSskL2ksZD1wYXJzZUludDtjb25zdCB2PWZ1bmN0aW9uKHQpe2lmKCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gdDtpZigoMCxmLmRlZmF1bHQpKHQpKXJldHVybiBOYU47aWYoKDAsYy5kZWZhdWx0KSh0KSl7dmFyIGU9ImZ1bmN0aW9uIj09dHlwZW9mIHQudmFsdWVPZj90LnZhbHVlT2YoKTp0O3Q9KDAsYy5kZWZhdWx0KShlKT9lKyIiOmV9aWYoInN0cmluZyIhPXR5cGVvZiB0KXJldHVybiAwPT09dD90Oit0O3Q9byh0KTt2YXIgcj1pLnRlc3QodCk7cmV0dXJuIHJ8fGwudGVzdCh0KT9kKHQuc2xpY2UoMikscj8yOjgpOnMudGVzdCh0KT9OYU46K3R9fSwzNTI4MzcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+ZH0pO3ZhciBuPXIoMjY5MzY2KSx1PXIoMjI0NDE2KSxhPXIoODI1MDM5KSxvPXIoNzEyODAxKSxjPXIoNDE0MTIzKSxmPXIoODYyMzg4KSxzPXIoOTcyMDE3KTtjb25zdCBpPWMuZGVmYXVsdCYmMS8oMCxzLmRlZmF1bHQpKG5ldyBjLmRlZmF1bHQoWywtMF0pKVsxXT09MS8wP2Z1bmN0aW9uKHQpe3JldHVybiBuZXcgYy5kZWZhdWx0KHQpfTpmLmRlZmF1bHQ7Y29uc3QgbD1mdW5jdGlvbih0LGUscil7dmFyIGM9LTEsZj11LmRlZmF1bHQsbD10Lmxlbmd0aCxkPSEwLHY9W10scD12O2lmKHIpZD0hMSxmPWEuZGVmYXVsdDtlbHNlIGlmKGw+PTIwMCl7dmFyIGI9ZT9udWxsOmkodCk7aWYoYilyZXR1cm4oMCxzLmRlZmF1bHQpKGIpO2Q9ITEsZj1vLmRlZmF1bHQscD1uZXcgbi5kZWZhdWx0fWVsc2UgcD1lP1tdOnY7dDpmb3IoOysrYzxsOyl7dmFyIHk9dFtjXSxoPWU/ZSh5KTp5O2lmKHk9cnx8MCE9PXk/eTowLGQmJmg9PWgpe2Zvcih2YXIgaj1wLmxlbmd0aDtqLS07KWlmKHBbal09PT1oKWNvbnRpbnVlIHQ7ZSYmcC5wdXNoKGgpLHYucHVzaCh5KX1lbHNlIGYocCxoLHIpfHwocCE9PXYmJnAucHVzaChoKSx2LnB1c2goeSkpfXJldHVybiB2fTtjb25zdCBkPWZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0Lmxlbmd0aD9sKHQpOltdfX19XSk7"}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/symbol-overview-data-mode.273cc350e56a03d8942b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.791Z","timestamp":1785120634791,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/symbol-overview-data-mode.273cc350e56a03d8942b.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"www.tradingview-widget.com/static/bundles/embed/36222.e9be9a733e114730a4ea.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.828Z","timestamp":1785120634828,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/36222.e9be9a733e114730a4ea.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.497Z","timestamp":1785120633497,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /embed-widget/symbol-overview/?locale=en HTTP/1.1\r\nHost: www.tradingview-widget.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://247optiontradefx.com/\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\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 02:50:33 GMT\r\ncontent-type: text/html; charset=utf-8\r\nvary: Accept-Encoding\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\ncache-control: max-age=120\r\nexpires: Mon, 27 Jul 2026 02:51:56 GMT\r\ncontent-security-policy: script-src https://static.tradingview.com/static/ blob: https://*.ampproject.org/ https://*.paypal.com/ https://platform.twitter.com https://platform.x.com https://songbird.cardinalcommerce.com/edge/v1/ https://checkout.razorpay.com/ https://cdn.razorpay.com/static/cx/ https://*.checkout.com/ https://*.revolut.com/ https://*.cardinaltrusted.com https://pay.google.com/gp/p/js/ https://applepay.cdn-apple.com/jsapi/ https://tradingview-gateway.com/ https://www.tradingview-widget.com/static/bundles/embed/ 'nonce-uJBxP75Xmltlo5euzugYGg=='; object-src 'none'; base-uri 'none'; default-src 'self' https: data: blob: wss: 'unsafe-inline'\r\ncross-origin-opener-policy: same-origin-allow-popups\r\nreferrer-policy: origin-when-cross-origin\r\nx-content-type-options: nosniff\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/27/2026 02:50:33\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d8d5fa3f9ca0e59aed571e82ceaaf78e\r\ncdn-cache: EXPIRED\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"PayPal","description":"PayPal is an online payments system that supports online money transfers and serves as an electronic alternative to traditional paper methods like checks and money orders.","website":"https://paypal.com","common_platform_enumeration":"cpe:2.3:a:paypal:paypal:*:*:*:*:*:*:*:*","icon":"PayPal.svg","categories":["Payment processors"]},{"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":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":50861,"size_decoded":17638,"mime_type":"text/html; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (17728)","md5":"7a0e959fb844f20dc292661963a0d730","sha1":"ed1eecb231d3fee7ae1eb927e08e285bbd83f1db","sha256":"666b51412be40544fc7785982f707be5725e54db68c89fa2c1a3dd1d68fae087","sha512":"aed5b602f5b4b37cf99442edf9131c047182c1897faf7e7d9a634dd13f47580696276cae0f091b91e377c68bb801335faeab344a6aec467a306a371f6ed539d9","ssdeep":"768:Yj6NogFbLr2P36MaTWvGDo+vHgzH6/8szcyzuvCSF56yMQzl:S6Nogdq3iWn+66ceuvRMu","tlshash":"cb33e65394098b05dad64b057c33b103fd2902a8855268987aacd8dc199ffc3f1a7bfe","first_seen":"2026-07-27T02:51:26.778397Z","last_seen":"2026-07-27T02:52:08.283792Z","times_seen":2,"resource_available":false,"data":"Cgo8IURPQ1RZUEUgaHRtbD4KPGh0bWwgbGFuZz0iZW4iIGRpcj0ibHRyIj4KPGhlYWQ+Cgk8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIG1pbmltdW0tc2NhbGU9MSwgbWF4aW11bS1zY2FsZT0xIj4KCTx0aXRsZT5UcmFkaW5nVmlldyBNZWRpdW0gQ2hhcnQgV2lkZ2V0PC90aXRsZT4KCgk8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vczMtc3ltYm9sLWxvZ28udHJhZGluZ3ZpZXcuY29tLyIgY3Jvc3NvcmlnaW4+CgoJPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80NjkwNy5jNWFmOGFhN2I1MDgyYjE4NzVhNS5jc3MiIHJlbD0icHJlbG9hZCIgYXM9InN0eWxlIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTIzODUuNzg1NjFlYmRlZjA1Y2U2NDhiNWQuY3NzIiByZWw9InByZWxvYWQiIGFzPSJzdHlsZSIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzMyODE2LjM1NWQ3NWIyMWFlNGI1MzRhODQ5LmNzcyIgcmVsPSJwcmVsb2FkIiBhcz0ic3R5bGUiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80MzMyNS4yNTZmYTVhNTIxM2I5Y2I3MGY1Yy5jc3MiIHJlbD0icHJlbG9hZCIgYXM9InN0eWxlIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvOTE4NTUuMDA5NzY0ZGE2MWJkOGM4YzQ0YmUuY3NzIiByZWw9InByZWxvYWQiIGFzPSJzdHlsZSIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzMyNjMyLjU5NmU1MzQ4YTE1MzhhMThmZDRlLmNzcyIgcmVsPSJwcmVsb2FkIiBhcz0ic3R5bGUiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82MjYzMC41MzczMmRhZWE4MTc4NDQ3MzkzZi5jc3MiIHJlbD0icHJlbG9hZCIgYXM9InN0eWxlIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvODA3ODIuOTc1ZmI0MWQ0MmFlMmQ1MWMwOGIuY3NzIiByZWw9InByZWxvYWQiIGFzPSJzdHlsZSIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk5NTI3LjE1YzVjMjVkMjdhNTZhMGRmNzcyLmNzcyIgcmVsPSJwcmVsb2FkIiBhcz0ic3R5bGUiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81Mjg0Mi4zMWQ2Y2ZlMGQxNmFlOTMxYjczYy5jc3MiIHJlbD0icHJlbG9hZCIgYXM9InN0eWxlIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNzQxMjYuNzliNTYzYjM3NWZhZDcxMTIzYTQuY3NzIiByZWw9InByZWxvYWQiIGFzPSJzdHlsZSIvPgoKPHNjcmlwdCBub25jZT0idUpCeFA3NVhtbHRsbzVldXp1Z1lHZz09Ij4KCXdpbmRvdy5sb2NhbGUgPSAnZW4nOwoJd2luZG93Lmxhbmd1YWdlID0gJ2VuJzsKPC9zY3JpcHQ+Cgk8c2NyaXB0IG5vbmNlPSJ1SkJ4UDc1WG1sdGxvNWV1enVnWUdnPT0iPnZhciBlbnZpcm9ubWVudCA9ICJiYXR0bGUiOzwvc2NyaXB0PgoKCTxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvcnVudGltZS1lbWJlZF9tZWRpdW1fd2lkZ2V0LjkzNzU5Nzc5NzY1MDkwNzQxZTk5LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9lbWJlZF9tZWRpdW1fd2lkZ2V0LmJmNjQ5ZGRiYTk4OWE1Y2I3ZDk4LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9lbi4xMjg1OC5hZDcyZDc2YzQxYmJkNDE1MjMxZS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTMxNDguMzJjYzAxZGMwMTc1MWI5MTY4MmMuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzQ5MjY1LmMyMDhlZjgzNzllMDczZjk0ZDE2LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC84MDcwNi5hNTkxM2FhNmFkNjJkOWRiZjAzMS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNTYyNTguMjgyZTYxNDFmYzAyYWM4NWQwZDUuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzcxNDI0LmVhZWZhZjU2OGRjOGYxZDE2MjI4LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC84MzMxMC5iOTk1YWM2ODA0YjI4NDRkOWY4Yi5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNjU4NjIuOTU3NjQ3NTJjMDlmM2YxOGY4OTAuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzUxMDMxLjUzNWYyN2I3NzZmMzk0YzdlNDNhLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85NDcwOC43M2QyYmNhMzcyMDdjNjdhNDFmNC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvODc5OTUuOTExYjI2MTgxNzc4ZmVjYzRiNGUuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk0ODI1LjhhOTBjMGMzZWJkNDEzZWI5YzgxLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8xMjE4MS5iNjVhNTgzNTVmZjdjYzM0OTUwZi5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNDIxNzEuMWMwNWQ4MTQ3YzIzMGQ4NmI0ZmEuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzE1MDQ5LjA4ZTA4ODhlN2Q0NWYzNzE0MTdhLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81NTk2OS40M2MzNzQ4MDE0ZGUyY2QwYmQxYy5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzAyODguNTkyMDdhYTI2MDdlYTE1OTcyODcuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzczNDEyLjRjMTAyODE4ZmZlZjczMTYxZmUxLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9tZWRpdW0td2lkZ2V0LWNyZWF0b3IuYWNhZTg0ZjQxMDFiNDJmNGM4M2EuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL3J1bnRpbWUtZW1iZWRfbWVkaXVtX3dpZGdldC45Mzc1OTc3OTc2NTA5MDc0MWU5OS5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VtYmVkX21lZGl1bV93aWRnZXQuYmY2NDlkZGJhOTg5YTVjYjdkOTguanMiIGRlZmVyPjwvc2NyaXB0PgoKCTxzY3JpcHQgbm9uY2U9InVKQnhQNzVYbWx0bG81ZXV6dWdZR2c9PSI+d2luZG93LmZlYXR1cmVUb2dnbGVTdGF0ZSA9IHsic2hvd19mZWF0dXJlZF9pcG8iOjEuMCwiYmxhY2tfZnJpZGF5X3BvcHVwIjoxLjAsImJsYWNrX2ZyaWRheV9tYWlucGFnZSI6MS4wLCJibGFja19mcmlkYXlfZXh0ZW5kX2xpbWl0YXRpb24iOjEuMCwiZW5hYmxlX3RyYWRpbmdfcmVwbGF5X2Zvcl9wb2ludF9pbmRleGVzIjoxLjAsImluY3JlYXNlX21ldGFpbmZvX3ZlcnNpb24iOjAuMywiY2hhcnRfYXV0b3NhdmVfNW1pbiI6MS4wLCJjaGFydF9hdXRvc2F2ZV8zMG1pbiI6MS4wLCJwZXJmb3JtYW5jZV90ZXN0X21vZGUiOjEuMCwiY2hlY2tfYXV0aF90b2tlbl9leHBpcmF0aW9uX29uX2V2ZXJ5X3JlcXVlc3QiOjEuMCwiY2hhcnRfc3RvcmFnZV9oaWJlcm5hdGlvbl9kZWxheV82MG1pbiI6MS4wLCJzdXBwb3J0X3BlcnNpc3RlbnRfbG9ncyI6MS4wLCJuZXdfc3RvcmFnZV9zdWJzY3JpcHRpb25fdXJsIjoxLjAsInJlbW92ZV9hbmNob3JlZF90ZXh0IjoxLjAsImVuYWJsZV9zdGVwX2J5X3N0ZXBfaGludHNfZm9yX2RyYXdpbmdzIjoxLjAsInB1c2hzdHJlYW1fYmFzaWNfdGVsZW1ldHJ5IjoxLjAsImFsbG93X2JyYWNrZXRzX3Byb2ZpdF9sb3NzIjoxLjAsImVuYWJsZV90cmFkZWRfY29udGV4dF9saW5raW5nIjoxLjAsIm9yZGVyX2NvbnRleHRfdmFsaWRhdGlvbl9pbl9pbnN0YW50X21vZGUiOjEuMCwiYWxlcnRzLW9uLWZ1bmRhbWVudGFsLW1ldHJpY3MiOjEuMCwiYWxlcnRzLW5vdGlmaWNhdGlvbi1zY2hlZHVsZSI6MS4wLCJhbGVydHMtd2F0Y2hsaXN0LWV4dGVuZGVkLWhvdXJzIjoxLjAsImVuYWJsZV9zeW1ib2xfY2hhbmdlX3Jlc3RyaWN0aW9uX29uX3dpZGdldHMiOjEuMCwiZW5hYmxlX2FzeF9zeW1ib2xfcmVzdHJpY3Rpb24iOjEuMCwic3ltcGhvbnlfYWxsb3dfbm9uX3BhcnRpdGlvbmVkX2Nvb2tpZV9vbl9vbGRfc3ltcGhvbnkiOjEuMCwic3ltcGhvbnlfbm90aWZpY2F0aW9uX2JhZGdlcyI6MS4wLCJzeW1waG9ueV91c2VfYWRrX2Zvcl91cGdyYWRlX3JlcXVlc3QiOjEuMCwic3ltcGhvbnlfZW5hYmxlX3RpbWVvdXRfdHJhY2tpbmciOjEuMCwic3ltcGhvbnlfZW5hYmxlX3RpbWVvdXRfc29mdF9saW1pdCI6MS4wLCJzeW1waG9ueV9lbmFibGVfdGltZW91dF9oYXJkX2xpbWl0IjoxLjAsInRlbGVncmFtX21pbmlfYXBwX3JlZHVjZV9zbmFwc2hvdF9xdWFsaXR5IjoxLjAsIm5ld3Nfc3ltYm9sX292ZXJ2aWV3X2tleV9mYWN0cyI6MS4wLCJ0aW1lb3V0X2RqYW5nb19kYiI6MC4xNSwidGltZW91dF9kamFuZ29fdXNlcnNldHRpbmdzX2RiIjowLjE1LCJ0aW1lb3V0X2RqYW5nb19jaGFydHNfZGIiOjAuMjUsInRpbWVvdXRfZGphbmdvX3N5bWJvbHNfbGlzdHNfZGIiOjAuMjUsInRpbWVvdXRfZGphbmdvX21pbmRzX2RiIjowLjA1LCJ0aW1lb3V0X2RqYW5nb19sb2dnaW5nX2RiIjowLjI1LCJkaXNhYmxlX3NlcnZpY2VzX21vbml0b3JfbWV0cmljcyI6MS4wLCJlbmFibGVfc2lnbmluX3JlY2FwdGNoYSI6MS4wLCJlbmFibGVfaWRlYV9zcGFtZGV0ZWN0b3JtbCI6MS4wLCJlbmFibGVfaWRlYV9zcGFtZGV0ZWN0b3JtbF9jb21tZW50cyI6MS4wLCJlbmFibGVfc3BhbWRldGVjdG9ybWxfY2hhdCI6MS4wLCJlbmFibGVfbWluZHNfc3BhbWRldGVjdG9ybWwiOjEuMCwiYmFja2VuZC1jb25uZWN0aW9ucy1pbi10b2tlbiI6MS4wLCJvbmVfY29ubmVjdGlvbl93aXRoX2V4Y2hhbmdlcyI6MS4wLCJtb2JpbGUtYWRzLWlvcyI6MS4wLCJtb2JpbGUtYWRzLWFuZHJvaWQiOjEuMCwiZ29vZ2xlLW9uZS10YXAtc2lnbmluIjoxLjAsImJyYWludHJlZS1nb3Byby1pbi1vcmRlci1kaWFsb2ciOjEuMCwiYnJhaW50cmVlLWFwcGxlLXBheSI6MS4wLCJicmFpbnRyZWUtZ29vZ2xlLXBheSI6MS4wLCJicmFpbnRyZWUtYXBwbGUtcGF5LWZyb20taW9zLWFwcCI6MS4wLCJicmFpbnRyZWUtYXBwbGUtcGF5LXRyaWFsIjoxLjAsInRyaXBsZWEtcGF5bWVudHMiOjEuMCwiYnJhaW50cmVlLWdvb2dsZS1wYXktdHJpYWwiOjEuMCwiYnJhaW50cmVlLW9uZS11c2QtdmVyaWZpY2F0aW9uIjoxLjAsImJyYWludHJlZS0zZHMtZW5hYmxlZCI6MS4wLCJicmFpbnRyZWUtM2RzLXN0YXR1cy1jaGVjayI6MS4wLCJicmFpbnRyZWUtYWRkaXRpb25hbC1jYXJkLWNoZWNrcy1mb3ItdHJpYWwiOjEuMCwiYnJhaW50cmVlLWluc3RhbnQtc2V0dGxlbWVudCI6MS4wLCJicmFpbnRyZWVfcmVjdXJyaW5nX2JpbGxpbmdfc2NoZWR1bGVyX3N1YnNjcmlwdGlvbiI6MS4wLCJjaGVja291dF9tYW51YWxfY2FwdHVyZV9yZXF1aXJlZCI6MS4wLCJjaGVja291dC1zdWJzY3JpcHRpb25zIjoxLjAsImNoZWNrb3V0X2FkZGl0aW9uYWxfY2FyZF9jaGVja3NfZm9yX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fZHVwbGljYXRlX3BheW1lbnRfbWV0aG9kc19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9iYW5uZWRfY291bnRyaWVzX2Zvcl90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2Jhbm5lZF9iYW5rX2Zvcl90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2Jhbm5lZF9iYW5rX2Zvcl9wcmVtaXVtX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fY2xvc2VfdG9fZXhwaXJhdGlvbl9jYXJkX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fcHJlcGFpZF9jYXJkX3RyaWFsIjoxLjAsInJldm9sdXRfYWRkaXRpb25hbF9jYXJkX2NoZWNrc19mb3JfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2R1cGxpY2F0ZV9wYXltZW50X21ldGhvZHNfZm9yX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9iYW5uZWRfY291bnRyaWVzX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fYmFubmVkX2JhbmtfZm9yX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfcHJlbWl1bV90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fY2xvc2VfdG9fZXhwaXJhdGlvbl9jYXJkX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9wcmVwYWlkX2NhcmRfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2NvbW1lcmNpYWxfY2FyZF90cmlhbCI6MS4wLCJlbmFibGVfcGF5bWVudHNfM2RzX29wdGltaXphdGlvbiI6MS4wLCJjb3VudHJ5X29mX2lzc3VhbmNlX3ZzX2JpbGxpbmdfY291bnRyeSI6MS4wLCJjaGVja291dF9zaG93X2luc3RlYWRfb2ZfYnJhaW50cmVlIjoxLjAsImNoZWNrb3V0LTNkcyI6MS4wLCJjaGVja291dC1wYXlwYWwiOjEuMCwiY2hlY2tvdXRfaW5jbHVkZV9hY2NvdW50X2hvbGRlciI6MS4wLCJjaGVja291dC1wYXlwYWwtdHJpYWwiOjEuMCwiYW5udWFsX3RvX21vbnRobHlfZG93bmdyYWRlX2F0dGVtcHQiOjEuMCwicmF6b3JwYXlfdHJpYWxfMTBfaW5yIjoxLjAsInJhem9ycGF5LWNhcmQtb3JkZXItdG9rZW4tc2VjdGlvbiI6MS4wLCJyYXpvcnBheS1jYXJkLXN1YnNjcmlwdGlvbnMiOjEuMCwicmF6b3JwYXktdXBpLXN1YnNjcmlwdGlvbnMiOjEuMCwicmF6b3JwYXktczMtaW52b2ljZS11cGxvYWQiOjEuMCwicmF6b3JwYXlfaW5jbHVkZV9kYXRlX29mX2JpcnRoIjoxLjAsImRsb2NhbC1wYXltZW50cyI6MS4wLCJyZXZvbHV0LXBheS1wYXltZW50cyI6MS4wLCJyZXZvbHV0LWNhcmQtcGF5bWVudHMiOjAuNSwiZGxvY2FsLXBpeC1hdXRvbWF0aWNvIjoxLjAsImJyYWludHJlZV90cmFuc2FjdGlvbl9zb3VyY2UiOjEuMCwidmVydGV4LXRheCI6MS4wLCJ2ZXJ0ZXgtdGF4LWZpeCI6MS4wLCJyZWNlaXB0X2luX2VtYWlscyI6MS4wLCJhZHdvcmRzLWFuYWx5dGljcyI6MS4wLCJjbTM2MC1hbmFseXRpY3MiOjEuMCwiZGlzYWJsZV9tb2JpbGVfdXBzZWxsX2lvcyI6MS4wLCJkaXNhYmxlX21vYmlsZV91cHNlbGxfYW5kcm9pZCI6MS4wLCJyZXF1aXJlZF9hZ3JlZW1lbnRfZm9yX3J0IjoxLjAsImNoZWNrX21hcmtldF9kYXRhX2xpbWl0cyI6MS4wLCJmb3JjZV90b19jb21wbGV0ZV9kYXRhIjoxLjAsImZvcmNlX3RvX3VwZ3JhZGVfdG9fZXhwZXJ0IjoxLjAsInNlbmRfdHJhZGV2YW5faW52b2ljZSI6MS4wLCJzaG93X3BlcGVfYW5pbWF0aW9uIjoxLjAsInNlbmRfbmV4dF9wYXltZW50X2luZm9fcmVjZWlwdCI6MS4wLCJzdXBwb3J0X292ZXJuaWdodF9zZXNzaW9uIjoxLjAsInNjcmVlbmVyLWFsZXJ0cy1yZWFkLW9ubHkiOjEuMCwic2NyZWVuZXJfYm9uZF9yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfc3RvY2tfYWlfZmlsdGVyc19lbmFibGVkIjoxLjAsInNjcmVlbmVyX2lzX2FsbG93ZWRfdG9fY3JlYXRlX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9yYXRpbmdfY29sdW1uc19yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9zb3J0aW5nX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX2dyb3VwX2J5X2lzaW5fcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfc3ltYm9sX3NlYXJjaF9yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9yZWdpc3RyYXRpb25fYmFubmVyX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzZXNfdHJhY2tpbmciOjEuMCwic2VuZF9maW5hbmNpYWxfbm90aWZpY2F0aW9ucyI6MS4wLCJzcGFya190cmFuc2xhdGlvbnMiOjEuMCwic3BhcmtfY2F0ZWdvcnlfdHJhbnNsYXRpb25zIjoxLjAsInNwYXJrX3RhZ3NfdHJhbnNsYXRpb25zIjoxLjAsInByb19wbGFuX2luaXRpYWxfcmVmdW5kc19kaXNhYmxlZCI6MS4wLCJwcmV2aW91c19tb25vcHJvZHVjdF9wdXJjaGFzZXNfcmVmdW5kc19lbmFibGVkIjoxLjAsImVuYWJsZV9pZGVhc19yZWNvbW1lbmRhdGlvbnMiOjEuMCwiZW5hYmxlX2lkZWFzX3JlY29tbWVuZGF0aW9uc19mZWVkIjoxLjAsImZhaWxfb25fZHVwbGljYXRlX3BheW1lbnRfbWV0aG9kc19mb3JfdHJpYWwiOjEuMCwiZXRob2NhX2FsZXJ0X25vdGlmaWNhdGlvbl93ZWJob29rIjoxLjAsImhpZGVfc3VzcGljaW91c191c2Vyc19pZGVhcyI6MS4wLCJkaXNhYmxlX3B1Ymxpc2hfc3RyYXRlZ3lfcmFuZ2VfYmFzZWRfY2hhcnQiOjEuMCwicmVzdHJpY3Rfc2ltdWx0YW5lb3VzX3JlcXVlc3RzIjoxLjAsImxvZ2luX2Zyb21fbmV3X2RldmljZV9lbWFpbCI6MS4wLCJzc3Jfd29ya2VyX25vd2FpdCI6MS4wLCJicm9rZXJfQTFDQVBJVEFMIjoxLjAsImJyb2tlcl9BQ1RJVlRSQURFUyI6MS4wLCJicm9rZXJfQUxDSEVNWU1BUktFVFMiOjEuMCwiYnJva2VyX0FMSUNFQkxVRSI6MS4wLCJoaWRlX0FMT1Jfb25faW9zIjoxLjAsImhpZGVfQUxPUl9vbl9hbmRyb2lkIjoxLjAsImhpZGVfQUxPUl9vbl9tb2JpbGVfd2ViIjoxLjAsImFsb3ItYnJva2Vycy1zaWRlLW1haW50ZW5hbmNlIjoxLjAsImJyb2tlcl9BTFBBQ0EiOjEuMCwiYnJva2VyX0FMUkFNWiI6MS4wLCJicm9rZXJfQU1QIjoxLjAsImJyb2tlcl9BTkdFTE9ORSI6MS4wLCJicm9rZXJfQVZBX0ZVVFVSRVMiOjEuMCwiQVZBX0ZVVFVSRVNfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJicm9rZXJfQjJQUklNRSI6MS4wLCJicm9rZXJfQkFKQUoiOjEuMCwiYnJva2VyX0JFWU9ORCI6MS4wLCJicm9rZXJfQklOQU5DRSI6MS4wLCJlbmFibGVfYmluYW5jZWFwaXNfYmFzZV91cmwiOjEuMCwiYnJva2VyX0JJTkdCT04iOjEuMCwiYnJva2VyX0JJVEFaWkEiOjEuMCwiYnJva2VyX0JJVEdFVCI6MS4wLCJicm9rZXJfQklUTUVYIjoxLjAsImJyb2tlcl9CSVRTVEFNUCI6MS4wLCJicm9rZXJfQkxBQ0tCVUxMIjoxLjAsImJyb2tlcl9CTFVFQkVSUllNQVJLRVRTIjoxLjAsImJyb2tlcl9CVENDIjoxLjAsImJyb2tlcl9CWUJJVCI6MS4wLCJicm9rZXJfQ0FQSVRBTENPTSI6MS4wLCJicm9rZXJfQ0FQVFJBREVSIjoxLjAsIkNBUFRSQURFUl9zZXBhcmF0ZV9pbnRlZ3JhdGlvbl9taWdyYXRpb25fd2FybmluZyI6MS4wLCJicm9rZXJfQ0ZJIjoxLjAsImJyb2tlcl9DR1NJIjoxLjAsImJyb2tlcl9DSVRZSU5ERVgiOjEuMCwiY2l0eWluZGV4X3NwcmVhZGJldHRpbmciOjEuMCwiQ0xFQVJTVFJFRVRfYmV0YSI6MS4wLCJicm9rZXJfQ01DTUFSS0VUUyI6MS4wLCJicm9rZXJfQ09CUkFUUkFESU5HIjoxLjAsImJyb2tlcl9DT0lOQkFTRSI6MS4wLCJjb2luYmFzZV9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwiY29pbmJhc2VfY2FuY2VsX3Bvc2l0aW9uX2JyYWNrZXRzIjoxLjAsImJyb2tlcl9DT0lOSkFSIjoxLjAsIkNPSU5KQVJfYmV0YSI6MS4wLCJicm9rZXJfQ09JTlNXSVRDSCI6MS4wLCJicm9rZXJfQ09JTlciOjEuMCwiYnJva2VyX0NPTE1FWCI6MS4wLCJoaWRlX0NRR19vbl9pb3MiOjEuMCwiaGlkZV9DUUdfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0NRR19vbl9tb2JpbGVfd2ViIjoxLjAsImNxZy1yZWFsdGltZS1iYW5kd2lkdGgtbGltaXQiOjEuMCwiYnJva2VyX0NSWVBUT0NPTSI6MS4wLCJoaWRlX0NVUlJFTkNZQ09NX29uX2lvcyI6MS4wLCJoaWRlX0NVUlJFTkNZQ09NX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9DVVJSRU5DWUNPTV9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9DWE0iOjEuMCwiYnJva2VyX0RBT0wiOjEuMCwiYnJva2VyX0RBUldJTkVYIjoxLjAsIkRBUldJTkVYX2JldGEiOjEuMCwiYnJva2VyX0RFTFRBIjoxLjAsImJyb2tlcl9ERVJBWUFIIjoxLjAsImJyb2tlcl9ERVJJViI6MS4wLCJicm9rZXJfREhBTiI6MS4wLCJicm9rZXJfRE5TRSI6MS4wLCJicm9rZXJfRE9STUFOIjoxLjAsImhpZGVfRFVNTVlfb25faW9zIjoxLjAsImhpZGVfRFVNTVlfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0RVTU1ZX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0VBU1lNQVJLRVRTIjoxLjAsImJyb2tlcl9FQ09WQUxPUkVTIjoxLjAsImJyb2tlcl9FREdFQ0xFQVIiOjEuMCwiZWRnZWNsZWFyX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX0VJR0hUQ0FQIjoxLjAsImJyb2tlcl9FUlJBTlRFIjoxLjAsImJyb2tlcl9FU0FGWCI6MS4wLCJGSURFTElUWV9iZXRhIjoxLjAsIkZJREVMSVRZX3VzX3JlbGVhc2UiOjAuMjUsImZpZGVsaXR5X3NlY3VyaXR5X3Rva2VuIjoxLjAsImJyb2tlcl9GT1JFWENPTSI6MS4wLCJmb3JleGNvbV9zZXNzaW9uX3YyIjoxLjAsImJyb2tlcl9GUE1BUktFVFMiOjEuMCwiaGlkZV9GVFhfb25faW9zIjoxLjAsImhpZGVfRlRYX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9GVFhfb25fbW9iaWxlX3dlYiI6MS4wLCJmdHhfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImJyb2tlcl9GVVNJT05NQVJLRVRTIjoxLjAsImZ4Y21fc2VydmVyX2xvZ2dlciI6MS4wLCJicm9rZXJfRlhDTSI6MS4wLCJoaWRlX0ZYT1BFTl9vbl9pb3MiOjEuMCwiaGlkZV9GWE9QRU5fb25fYW5kcm9pZCI6MS4wLCJoaWRlX0ZYT1BFTl9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9GWFBSTyI6MS4wLCJicm9rZXJfRlhURiI6MS4wLCJicm9rZXJfRllFUlMiOjEuMCwiYnJva2VyX0dBVEUiOjEuMCwiYnJva2VyX0dCRUJST0tFUlMiOjEuMCwiZ2VtaW5pLWJyb2tlcnMtc2lkZS1tYWludGVuYW5jZSI6MS4wLCJicm9rZXJfR0VOSUFMSU5WRVNUSU1FTlRPUyI6MS4wLCJoaWRlX0dMT0JBTFBSSU1FX29uX2lvcyI6MS4wLCJoaWRlX0dMT0JBTFBSSU1FX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9HTE9CQUxQUklNRV9vbl9tb2JpbGVfd2ViIjoxLjAsImdsb2JhbHByaW1lLWJyb2tlcnMtc2lkZS1tYWludGVuYW5jZSI6MS4wLCJicm9rZXJfR09NQVJLRVRTIjoxLjAsImJyb2tlcl9HT1RSQURFIjoxLjAsImdvdHJhZGVfZW5hYmxlX3N0cmVhbWluZ19lbmRwb2ludHMiOjEuMCwiYnJva2VyX0hFUkVOWUEiOjEuMCwiaGlkZV9IVFhfb25faW9zIjoxLjAsImhpZGVfSFRYX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9IVFhfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfSUJLUiI6MS4wLCJjaGVja19pYmtyX3NpZGVfbWFpbnRlbmFuY2UiOjEuMCwiaWJrcl9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwiaWJrcl9wYXJhbGxlbF9wcm92aWRlcl9pbml0aWFsaXphdGlvbiI6MS4wLCJpYmtyX3dzX2FjY291bnRfc3VtbWFyeSI6MS4wLCJpYmtyX3dzX3NlcnZlcl9sb2dnZXIiOjEuMCwiaWJrcl9zdWJzY3JpYmVfdG9fb3JkZXJfdXBkYXRlc19maXJzdCI6MS4wLCJpYmtyX3dzX2FjY291bnRfbGVkZ2VyIjoxLjAsImJyb2tlcl9JQlJPS0VSIjoxLjAsImJyb2tlcl9JQ01BUktFVFMiOjEuMCwiYnJva2VyX0lDTUFSS0VUU19BU0lDIjoxLjAsImJyb2tlcl9JQ01BUktFVFNfRVUiOjEuMCwiYnJva2VyX0lHIjoxLjAsImJyb2tlcl9JTkRTVE9DS1MiOjEuMCwiYnJva2VyX0lORk9ZQVRJUklNIjoxLjAsImJyb2tlcl9JTk5PVkVTVFgiOjEuMCwiYnJva2VyX0lOVEVSQUNUSVZFSUwiOjEuMCwiYnJva2VyX0lOVkVTVFJBREUiOjEuMCwiSU5WRVNUUkFERV9iZXRhIjoxLjAsImJyb2tlcl9JUk9OQkVBTSI6MS4wLCJoaWRlX0lST05CRUFNX0NRR19vbl9pb3MiOjEuMCwiaGlkZV9JUk9OQkVBTV9DUUdfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0lST05CRUFNX0NRR19vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9LSVdPT00iOjEuMCwia2l3b29tX3VzZV9zZXBhcmF0ZV9zdHJlYW1pbmdfdXJsIjoxLjAsImJyb2tlcl9LT1RBSyI6MS4wLCJoaWRlX0tPVEFLX29uX2lvcyI6MS4wLCJoaWRlX0tPVEFLX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9LT1RBS19vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9LUkFLRU4iOjEuMCwiaGlkZV9LUkFLRU5fb25faW9zIjoxLjAsImhpZGVfS1JBS0VOX29uX2FuZHJvaWQiOjEuMCwiS1JBS0VOX2JldGEiOjEuMCwia3Jha2VuX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJicm9rZXJfS1NFQ1VSSVRJRVMiOjEuMCwiYnJva2VyX0xJQkVSQVRPUiI6MS4wLCJicm9rZXJfTUVYQyI6MS4wLCJicm9rZXJfTUVYRU0iOjEuMCwiYnJva2VyX01JREFTIjoxLjAsImhpZGVfTU9DS0JST0tFUl9vbl9pb3MiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX29uX21vYmlsZV93ZWIiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0lNUExJQ0lUX29uX2lvcyI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfSU1QTElDSVRfb25fYW5kcm9pZCI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfSU1QTElDSVRfb25fbW9iaWxlX3dlYiI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfQ09ERV9vbl9pb3MiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0NPREVfb25fYW5kcm9pZCI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfQ09ERV9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9NT09NT08iOjEuMCwiYnJva2VyX01PVElMQUxPU1dBTCI6MS4wLCJicm9rZXJfTklOSkFUUkFERVIiOjEuMCwiYnJva2VyX09BTkRBIjoxLjAsIm9hbmRhX3NlcnZlcl9sb2dnaW5nIjoxLjAsIm9hbmRhX29hdXRoX211bHRpcGxleGluZyI6MS4wLCJicm9rZXJfT0tYIjoxLjAsImJyb2tlcl9PUE9GSU5BTkNFIjoxLjAsImJyb2tlcl9PUFRJTVVTIjoxLjAsImJyb2tlcl9PU01BTkxJIjoxLjAsImJyb2tlcl9PU01BTkxJRlgiOjEuMCwicGFwZXJfZm9yY2VfY29ubmVjdF9wdXNoc3RyZWFtIjoxLjAsInBhcGVyX3N1YmFjY291bnRfY3VzdG9tX2N1cnJlbmN5IjoxLjAsInBhcGVyX291dHNpZGVfcnRoIjoxLjAsImJyb2tlcl9QQVlUTSI6MS4wLCJicm9rZXJfUEVQUEVSU1RPTkUiOjEuMCwiYnJva2VyX1BIRU1FWCI6MS4wLCJicm9rZXJfUEhJTExJUENBUElUQUxfVFIiOjEuMCwiYnJva2VyX1BISUxMSVBOT1ZBIjoxLjAsImJyb2tlcl9QTFVTNTAwIjoxLjAsInBsdXM1MDBfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJQTFVTNTAwVVNfYmV0YSI6MS4wLCJicm9rZXJfUFVSUExFVFJBRElORyI6MS4wLCJicm9rZXJfUVVFU1RSQURFIjoxLjAsImJyb2tlcl9SQVZBQlVSU0FUSUwiOjEuMCwiUkFWQUJVUlNBVElMX2JldGEiOjEuMCwiYnJva2VyX1JJWUFEQ0FQSVRBTCI6MS4wLCJicm9rZXJfUk9CT01BUktFVFMiOjEuMCwiYnJva2VyX1JFUExBWUJST0tFUiI6MS4wLCJicm9rZXJfU0FNVUVMIjoxLjAsImJyb2tlcl9TQVhPQkFOSyI6MS4wLCJicm9rZXJfU0hBUkVNQVJLRVQiOjEuMCwiYnJva2VyX1NLSUxMSU5HIjoxLjAsImJyb2tlcl9TUFJFQURFWCI6MS4wLCJicm9rZXJfU1dJU1NRVU9URSI6MS4wLCJicm9rZXJfU1RPTkVYIjoxLjAsImJyb2tlcl9UQVNUWUZYIjoxLjAsImJyb2tlcl9UQVNUWVRSQURFIjoxLjAsImJyb2tlcl9USElOS01BUktFVFMiOjEuMCwidGhpbmttYXJrZXRzX2FjY291bnRfZGF0YV9zdHJlYW1pbmciOjEuMCwiYnJva2VyX1RJQ0tNSUxMIjoxLjAsImhpZGVfVElHRVJfb25faW9zIjoxLjAsImhpZGVfVElHRVJfb25fYW5kcm9pZCI6MS4wLCJoaWRlX1RJR0VSX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX1RSQURFTkFUSU9OIjoxLjAsImJyb2tlcl9UUkFERVNUQVRJT04iOjEuMCwidHJhZGVzdGF0aW9uX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJ0cmFkZXN0YXRpb25fYWNjb3VudF9kYXRhX3N0cmVhbWluZyI6MS4wLCJ0cmFkZXN0YXRpb25fc3RyZWFtaW5nX3NlcnZlcl9sb2dnaW5nIjoxLjAsImJyb2tlcl9UUkFERVpFUk8iOjEuMCwiYnJva2VyX1RSQURJRVIiOjEuMCwiYnJva2VyX1RSQURJRVJfRlVUVVJFUyI6MS4wLCJ0cmFkaWVyX2Z1dHVyZXNfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJicm9rZXJfVFJBRE9WQVRFIjoxLjAsImhpZGVfVFJBRFVfb25faW9zIjoxLjAsImhpZGVfVFJBRFVfb25fYW5kcm9pZCI6MS4wLCJoaWRlX1RSQURVX29uX21vYmlsZV93ZWIiOjEuMCwidHJhZHVfc3ByZWFkX2JldCI6MS4wLCJicm9rZXJfVFJJVkUiOjEuMCwiYnJva2VyX1ZBTlRBR0UiOjEuMCwiYnJva2VyX1ZFTE9DSVRZIjoxLjAsImJyb2tlcl9XRUJVTEwiOjEuMCwiYnJva2VyX1dFQlVMTEpBUEFOIjoxLjAsImJyb2tlcl9XRUJVTExQQVkiOjEuMCwiYnJva2VyX1dFQlVMTFVLIjoxLjAsImJyb2tlcl9XSElURUJJVCI6MS4wLCJicm9rZXJfV0hTRUxGSU5WRVNUIjoxLjAsImJyb2tlcl9XSFNFTEZJTlZFU1RfRlVUVVJFUyI6MS4wLCJXSFNFTEZJTlZFU1RfRlVUVVJFU19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJyb2tlcl9YQ1VCRSI6MS4wLCJicm9rZXJfWUxHIjoxLjAsImJyb2tlcl9pZF9zZXNzaW9uIjoxLjAsImRpc2FsbG93X2NvbmN1cnJlbnRfc2Vzc2lvbnMiOjEuMCwidXNlX2NvZGVfZmxvd192Ml9wcm92aWRlciI6MS4wLCJ1c2VfY29kZV9mbG93X3YyX3Byb3ZpZGVyX2Zvcl91bnRlc3RlZF9icm9rZXJzIjoxLjAsIm1vYmlsZV90cmFkaW5nX3dlYiI6MS4wLCJtb2JpbGVfdHJhZGluZ19pb3MiOjEuMCwibW9iaWxlX3RyYWRpbmdfYW5kcm9pZCI6MS4wLCJjb250aW51b3VzX2Zyb250X2NvbnRyYWN0X3RyYWRpbmciOjEuMCwidHJhZGluZ19yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwicmVzdF9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwib2F1dGgyX2NvZGVfZmxvd19wcm92aWRlcl9zZXJ2ZXJfbG9nZ2VyIjoxLjAsInJlc3Rfb2F1dGgyX2NvZGVfZmxvd19tdWx0aXBsZXhpbmciOjEuMCwicmVzdF9sb2dvdXRfb25fNDI5IjoxLjAsInJldmlld19wb3B1cF9vbl9jaGFydCI6MS4wLCJzaG93X2NvbmN1cnJlbnRfY29ubmVjdGlvbl93YXJuaW5nIjoxLjAsImVuYWJsZV90cmFkaW5nX3NlcnZlcl9sb2dnZXIiOjEuMCwib3JkZXJfcHJlc2V0cyI6MS4wLCJvcmRlcl90aWNrZXRfcmVzaXphYmxlX2RyYXdlcl9vbiI6MS4wLCJyZXN0X3VzZV9hc3luY19tYXBwZXIiOjEuMCwicGFwZXJfY29tcGV0aXRpb25fYmFubmVyX3Nob3dfcHJvIjoxLjAsInBhcGVyX2NvbXBldGl0aW9uX3N0YXJ0ZWRfZGlhbG9nIjoxLjAsInBhcGVyX2NvbXBldGl0aW9uX3N0YXJ0ZWRfZGlhbG9nX3Nob3dfcHJvIjoxLjAsInBhcGVyX2NvbXBldGl0aW9uX2xlYWRlcmJvYXJkIjoxLjAsInBhcGVyX2NvbXBldGl0aW9uX3ByZXZpb3VzX2NvbXBldGl0aW9ucyI6MS4wLCJhbXBfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJibHVlbGluZV9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImRvcm1hbl9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImlyb25iZWFtX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwib3B0aW11c19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsInN0b25leF9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsInlsZ19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsInRyYWRpbmdfZ2VuZXJhbF9ldmVudHNfZ2FfdHJhY2tpbmciOjEuMCwicmVwbGF5X3Jlc3VsdF9zaGFyaW5nIjoxLjAsInJlcGxheV90cmFkaW5nX2JyYWNrZXRzIjoxLjAsImhpZGVfYWxsX2Jyb2tlcnNfYnV0dG9uX2luX2lvc19hcHAiOjEuMCwiZm9yY2VfbWF4X2FsbG93ZWRfcHVsbGluZ19pbnRlcnZhbHMiOjEuMCwicGFwZXJfZGVsYXlfdHJhZGluZyI6MS4wLCJlbmFibGVfZmlyc3RfdG91Y2hfaXNfc2VsZWN0aW9uIjoxLjAsImNsZWFyX3Byb2plY3Rfb3JkZXJfb25fb3JkZXJfdGlja2V0X2Nsb3NlIjoxLjAsImVuYWJsZV9uZXdfYmVoYXZpb3Jfb2ZfY29uZmlybV9idXR0b25zX29uX21vYmlsZSI6MS4wLCJyZW5ld190b2tlbl9wcmVlbXB0aW9uXzMwIjoxLjAsImRvX25vdF9vcGVuX290X2Zyb21fcGx1c19idXR0b24iOjEuMCwiYnJva2VyX3NpZGVfcHJvbW90aW9uIjoxLjAsImVuYWJsZV9uZXdfdHJhZGluZ19tZW51X3N0cnVjdHVyZSI6MS4wLCJxdWlja190cmFkaW5nX3BhbmVsIjoxLjAsInBhcGVyX29yZGVyX2NvbmZpcm1hdGlvbl9kaWFsb2ciOjEuMCwicGFwZXJfbXVsdGlwbGVfbGV2ZWxzX2VuYWJsZWQiOjEuMCwicGFwZXJfbWFyZ2luX2NvbnRyb2wiOjEuMCwiZW5hYmxlX3NlZ21lbnRhdGlvbl9wYXBlcl90cmFkaW5nIjoxLjAsImVuYWJsZV9jaGFydF9hZGFwdGl2ZV90cHNsX2J1dHRvbnNfb25fbW9iaWxlIjoxLjAsImVuYWJsZV9tYXJrZXRfcHJvamVjdF9vcmRlciI6MS4wLCJlbmFibGVfc3ltYm9sc19wb3B1bGFyaXR5X3Nob3dpbmciOjEuMCwiZW5hYmxlX3RyYW5zbGF0aW9uc19zM191cGxvYWQiOjEuMCwiZXRmX2Z1bmRfZmxvd3Nfb25seV9kYXlzX3Jlc29sdXRpb25zIjoxLjAsImRpc2FibGVfc25vd3Bsb3dfcGxhdGZvcm1fZXZlbnRzIjoxLjAsIm5vdGlmeV9pZGVhX21vZHNfYWJvdXRfZmlyc3RfcHVibGljYXRpb24iOjEuMCwiZW5hYmxlX3dhZl90cmFja2luZyI6MS4wLCJuZXdfZXJyb3JzX2Zsb3ciOjEuMCwicXVvdGUtdG9rZW4tZmlsdGVyLW93bi1zY3JpcHRzLWJ5LWFjY2VzcyI6MS4wLCJrZWVwX2luZGljYXRvcnNfc2VhcmNoX3N0YXRlIjoxLjAsImtlZXBfaW5kaWNhdG9yc190YWJfc2Nyb2xsX3N0YXRlIjoxLjAsImNvbmZpZ3VyYWJsZV9zZWFyY2hfYW5kX2ZpbHRyYXRpb24iOjEuMCwicGluZV9lZGl0b3Jfd3JhcF9vbl9saW5lX3NwbGl0IjoxLjAsInN5bWJvbF9zZWFyY2hfY291bnRyeV9zb3VyY2VzIjoxLjAsIndhdGNobGlzdHNfZGlhbG9nX3Njcm9sbF90b19hY3RpdmUiOjEuMCwiYm90dG9tX3BhbmVsX3RyYWNrX2V2ZW50cyI6MS4wLCJzbm93cGxvd19iZWFjb25fZmVhdHVyZSI6MS4wLCJzaG93X2RhdGFfcHJvYmxlbXNfaW5faGVscF9jZW50ZXIiOjEuMCwiZW5hYmxlX2FwcGxlX2RldmljZV9jaGVjayI6MS4wLCJlbmFibGVfYXBwbGVfaW50cm9fb2ZmZXJfc2lnbmF0dXJlIjoxLjAsImVuYWJsZV9hcHBsZV9wcm9tb19vZmZlcl9zaWduYXR1cmVfdjIiOjEuMCwiZW5hYmxlX2FwcGxlX3Byb21vX3NpZ25hdHVyZSI6MS4wLCJlbmFibGVfcHVzaF9ub3RpZmljYXRpb25zX2FuZHJvaWQiOjEuMCwiZW5hYmxlX3B1c2hfbm90aWZpY2F0aW9uc19pb3MiOjEuMCwiZW5hYmxlX21hbnRpY29yZV9jbHVzdGVyIjoxLjAsImVuYWJsZV9wdXNoc3RyZWFtX2F1dGgiOjEuMCwiZW5hYmxlX2Vudm95X3Byb3h5IjoxLjAsImVuYWJsZV9lbnZveV9wcm94eV9wYXBlcnRyYWRpbmciOjEuMCwiZW5hYmxlX2Vudm95X3Byb3h5X3NjcmVlbmVyIjoxLjAsIm9wdGlvbnNfcmVkdWNlX3BvbGxpbmdfaW50ZXJ2YWwiOjEuMCwib3B0aW9uc19idWlsZGVyX2dyb3VwX2FjdGlvbnMiOjEuMCwib3B0aW9uc19jaGFpbl9zaWdtYV9maWx0ZXIiOjEuMCwib3B0aW9uc19icm9rZXJfc3RyYXRlZ2llcyI6MS4wLCJzaG93X3RvYXN0X2Fib3V0X3VucmVhZF9tZXNzYWdlIjoxLjAsImVuYWJsZV9wYXJ0bmVyX3BheW91dCI6MS4wLCJlbmFibGVfZW1haWxfY2hhbmdlX2xvZ2dpbmciOjEuMCwiZW5hYmxlX2VtYWlsX29uX3BhcnRuZXJfc3RhdHVzX2NoYW5nZSI6MS4wLCJlbmFibGVfcGFydG5lcl9wcm9ncmFtX2FwcGx5IjoxLjAsImVuYWJsZV9wYXJ0bmVyX3Byb2dyYW0iOjEuMCwiY29tcHJlc3NfY2FjaGVfZGF0YSI6MS4wLCJuZXdzX2VuYWJsZV9zdHJlYW1pbmciOjEuMCwibmV3c19zY3JlZW5lcl9wYWdlX2NsaWVudCI6MS4wLCJlbmFibGVfZGVjbGFyYXRpb25fcG9wdXBfb25fbG9hZCI6MS4wLCJzaG93X2RhdGFfYm9uZHNfZnJlZV91c2VycyI6MS4wLCJlbmFibGVfbW9kZXJuX3JlbmRlcl9tb2RlIjoxLjAsImVuYWJsZV9wcm9mX3BvcHVwX2ZyZWUiOjEuMCwiaW9zX2FwcF9uZXdzX2FuZF9taW5kcyI6MS4wLCJkb19ub3RfZGlzY2xvc2VfcGhvbmVfb2NjdXBhbmN5IjoxLjAsImVuYWJsZV9yZWRpcmVjdF90b193aWRnZXRfZG9jdW1lbnRhdGlvbl9vZl9hbnlfbG9jYWxpemF0aW9uIjoxLjAsIm5ld3NfZW5hYmxlX3N0cmVhbWluZ19oaWJlcm5hdGlvbiI6MS4wLCJuZXdzX3N0cmVhbWluZ19oaWJlcm5hdGlvbl9kZWxheV8xMG1pbiI6MS4wLCJwYXNzX3JlY292ZXJ5X3NlYXJjaF9oaWRlX2luZm8iOjEuMCwibmV3c19lbmFibGVfc3RyZWFtaW5nX29uX3NjcmVlbmVyIjoxLjAsImVuYWJsZV9mb3JjZWRfZW1haWxfY29uZmlybWF0aW9uIjoxLjAsInNob3dfZ2lmdF9idXR0b24iOjEuMCwiYWRkcmVzc192YWxpZGF0aW9uX2VuYWJsZWQiOjEuMCwiZGlzYWJsZV91bnZlcmlmaWVkX2FkZHJlc3MiOjEuMCwiZ2VuZXJhdGVfaW52b2ljZV9udW1iZXJfYnlfY291bnRyeSI6MS4wLCJzaG93X2Zhdm9yaXRlX2xheW91dHMiOjEuMCwiZW5hYmxlX3NvY2lhbF9hdXRoX2NvbmZpcm1hdGlvbiI6MS4wLCJlbmFibGVfYWRfYmxvY2tfZGV0ZWN0IjoxLjAsInR2ZF9uZXdfdGFiX2xpbmtpbmciOjEuMCwidHZkX3RpbWVfYW5kX2RhdGVfcmFuZ2VfbGlua2luZyI6MS4wLCJ1c2VfYnJvd3Nlcl9zZXNzaW9uX3N0b3JhZ2UiOjEuMCwidXNlX2Rlc2t0b3Bfc2Vzc2lvbl9zdG9yYWdlIjoxLjAsIndyb25nX2FjY291bnRfZGlhbG9nX3ByaW1hcnlfc3dpdGNoIjoxLjAsImVuYWJsZV9saW5ndWFfbGFuZ19jaGVjayI6MS4wLCJnZXRfc2F2ZWRfYWN0aXZlX2xpc3RfYmVmb3JlX2dldHRpbmdfYWxsX2xpc3RzIjoxLjAsIndhdGNobGlzdF9hZGRfc291cmNlX3BhcmFtIjoxLjAsInNob3dfcmVmZXJyYWxfbm90aWZpY2F0aW9uX2RpYWxvZyI6MS4wLCJzZXRfbmV3X2JsYWNrX2NvbG9yIjoxLjAsIm5ld3NfdXNlX25ld3NfbWVkaWF0b3IiOjEuMCwiYWxsb3dfdHJhaWxpbmdfd2hpdGVzcGFjZV9pbl9udW1iZXJfdG9rZW4iOjEuMCwicmVzdHJpY3RfcHduZWRfcGFzc3dvcmRfc2V0IjoxLjAsIm5vdGlmX3NldHRpbmdzX2VuYWJsZV9uZXdfc3RvcmUiOjEuMCwibm90aWZfc2V0dGluZ3NfZGlzYWJsZV9vbGRfc3RvcmVfd3JpdGUiOjEuMCwibm90aWZfc2V0dGluZ3NfZGlzYWJsZV9vbGRfc3RvcmVfcmVhZCI6MS4wLCJjaGVja291dC1lbmFibGUtcmlza3NkayI6MS4wLCJjaGVja291dC1lbmFibGUtcmlza3Nkay1mb3ItaW5pdGlhbC1wdXJjaGFzZSI6MS4wLCJlbmFibGVfbWV0YWRlZmVuZGVyX2NoZWNrX2Zvcl9hZ3JlZW1lbnQiOjEuMCwic2hvd19kb3dubG9hZF95aWVsZF9jdXJ2ZXNfZGF0YSI6MS4wLCJtb3ZlX2tleV90ZW5vcnNfdG9fc2V0dGluZ3MiOjEuMCwic2hvd195aWVsZF9jdXJ2ZXNfbWFwIjoxLjAsImRpc2FibGVfd2lkZ2V0YmFyX2luX2FwcHMiOjEuMCwiaGlkZV9wdWJsaWNhdGlvbnNfb2ZfYmFubmVkX3VzZXJzIjoxLjAsImVuYWJsZV9zdW1tYXJ5X3VwZGF0ZXNfZnJvbV9jaGFydF9zZXNzaW9uIjoxLjAsInNob3dfbmV3c19mbG93X3Rvb2xfcmlnaHRfYmFyIjoxLjAsImVuYWJsZV9jaGFydF9zYXZpbmdfc3RhdHMiOjEuMCwiZW5hYmxlX3NhdmluZ19zYW1lX2NoYXJ0X3JhdGVfbGltaXQiOjEuMCwibmV3c19hbGVydHNfZW5hYmxlZCI6MS4wLCJuZXdzX211bHRpcGxlX2FsZXJ0c19lbmFibGVkIjoxLjAsInJlZnVuZF91bnZvaWRhYmxlX2NvdXBvbnNfZW5hYmxlZCI6MS4wLCJlbmFibGVfc25vd3Bsb3dfZW1haWxfdHJhY2tpbmciOjEuMCwibmV3c19lbmFibGVfc2VudGltZW50IjoxLjAsInVzZV9pbl9zeW1ib2xfc2VhcmNoX29wdGlvbnNfbWN4X2V4Y2hhbmdlIjoxLjAsImVuYWJsZV91c2Vyc2V0dGluZ3Nfc3ltYm9sc19wZXJfcm93X3NvZnRfbGltaXQiOjAuMSwiZm9yYmlkX2xvZ2luX3dpdGhfcHduZWRfcGFzc3dvcmRzIjoxLjAsImRlYnVnX2dldF90ZXN0X2JhcnNfZGF0YSI6MS4wLCJuZXdzX3VzZV9tZWRpYXRvcl9zdG9yeSI6MS4wLCJuZXdzX2Zsb3dfcmVjb25maWd1cmVfZmlsdGVycyI6MS4wLCJibGFja19mcmlkYXlfZW5hYmxlX3NraXBfdG9fcGF5bWVudCI6MS4wLCJoaWRlX3RyYWRpbmdfYnV0dG9uX29uX2JvdHRvbV9wYW5lbF9hbmRfcmVwbGF5X3RhYiI6MS4wLCJoaWRlX3RyYWRlX2J1dHRvbl9oaW50X2luX2hlYWRlcl90b29sYmFyIjoxLjAsImhpZGVfc2VlX29uX3N1cGVyX2NoYXJ0c19idXR0b24iOjEuMCwiaGlkZV9zeW1ib2xfcGFnZV9jaGFydF90eXBlX3N3aXRjaGVyIjoxLjAsImRpc2FibGVfY2hhdF9zcGFtX3Byb3RlY3Rpb25fZm9yX3ByZW1pdW1fdXNlcnMiOjEuMCwiZGlzYWJsZV9wdWJsaWNfcGluZV9zY3JpcHRfcHVibGlzaF9saW1pdHMiOjEuMCwibWFrZV90cmFkaW5nX3BhbmVsX2NvbnRleHR1YWxfdGFiIjoxLjAsInJlY29ubmVjdF9nYWluX3Nlc3Npb25fb25fbHNfZXJyb3IiOjEuMCwiY2hlY2tvdXQtZmxvdy1wYXltZW50cyI6MS4wLCJmb3JjZV90b19jb21wbGV0ZV9reWMiOjEuMCwiaW5kaWFfZXhjbHVkZV9icmFpbnRyZWVfdGFiIjoxLjAsIm1hY3JvX21hcHNfaGlkZV90b29sdGlwX2NoYXJ0X2J1dHRvbiI6MS4wLCJmb3JjZV9reWNfZm9yX25vbnByb19wdXJjaGFzZV9ieV9jb21tZXJjaWFsIjoxLjAsInNob3dfc3BsaXRfcGFuZWxfZnVsbHNjcmVlbl9idXR0b24iOjEuMCwic2hvd19zcGxpdF9wYW5lbF9tb3ZlX2J1dHRvbl90b190aXRsZSI6MS4wLCJvcmRlcl9wcmVzZXRzX2NydWRfc3RvcmFnZSI6MS4wLCJvcmRlcl9wcmVzZXRzX3JlbW92ZV9mcm9tX3R2X3NldHRpbmdzIjoxLjAsImNoZWNrb3V0LWZsb3ctdHJpYWwiOjEuMCwiY2hlY2tvdXQtZmxvdy1nb29nbGVwYXkiOjEuMCwiY2hlY2tvdXQtZmxvdy1hcHBsZXBheSI6MS4wLCJjaGVja291dC1mbG93LXBheXBhbCI6MS4wLCJmb3JiaWRfc2lnbnVwX3dpdGhfZmFrZV9nbWFpbF9kb21haW5zIjoxLjAsInNob3dfaW1wb3J0X2Zyb21fcGFwZXJfdHJhZGluZ19idXR0b24iOjEuMCwic3ltYm9sX3NlYXJjaF9ncm91cGluZyI6MS4wLCJjaGVja291dC1mbG93LWdvb2dsZXBheS10cmlhbCI6MS4wLCJjaGVja291dC1mbG93LWFwcGxlcGF5LXRyaWFsIjoxLjAsImNoZWNrb3V0LWZsb3ctcGF5cGFsLXRyaWFsIjoxLjAsInZvaWRfbm90X2ZvdW5kX2Nrb19wYXltZW50X2luX2FwcHJvdmVkX3dlYmhvb2siOjEuMCwic2hvd19wYW5lbF9jb2xsYXBzZV9idXR0b24iOjEuMCwiZGVsYXlfc3RhdHVzX29uX2xhc3RfYmFyIjowLjN9Owp3aW5kb3cuaW5pdERhdGEgPSB7fTsKCQl3aW5kb3cuUzNfTE9HT19TRVJWSUNFX0JBU0VfVVJMID0gImh0dHBzOi8vczMtc3ltYm9sLWxvZ28udHJhZGluZ3ZpZXcuY29tLyI7Cgp3aW5kb3cuaW5pdERhdGEgPSB7IndpZGdldERlZmF1bHRzIjp7IndpZHRoIjoxMDAwLCJoZWlnaHQiOjUwMCwic3ltYm9scyI6W1siQXBwbGUiLCJBQVBMfDFEIl0sWyJHb29nbGUiLCJHT09HTHwxRCJdLFsiTWljcm9zb2Z0IiwiTVNGVHwxRCJdXSwiYXV0b3NpemUiOmZhbHNlLCJjaGFydE9ubHkiOmZhbHNlLCJoaWRlRGF0ZVJhbmdlcyI6ZmFsc2UsImhpZGVNYXJrZXRTdGF0dXMiOmZhbHNlLCJoaWRlU3ltYm9sTG9nbyI6ZmFsc2UsInNjYWxlUG9zaXRpb24iOiJyaWdodCIsInNjYWxlTW9kZSI6Ik5vcm1hbCIsImZvbnRGYW1pbHkiOiItYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFRyZWJ1Y2hldCBNUywgUm9ib3RvLCBVYnVudHUsIHNhbnMtc2VyaWYiLCJmb250U2l6ZSI6IjEwIiwibm9UaW1lU2NhbGUiOmZhbHNlLCJjaGFydFR5cGUiOiJhcmVhIiwidmFsdWVzVHJhY2tpbmciOiIwIiwiY2hhbmdlTW9kZSI6InByaWNlLWFuZC1wZXJjZW50IiwiZ3JpZExpbmVDb2xvciI6InJnYmEoNDIgLDQ2LCA1NywgMC4wNikiLCJmb250Q29sb3IiOiIjNzA3MDcwIiwiY29sb3JUaGVtZSI6ImxpZ2h0IiwibG9jYWxlIjoiZW4ifX07CgkJd2luZG93LmluaXREYXRhLmN1cnJlbnRMb2NhbGVJbmZvID0geyJsYW5ndWFnZSI6ImVuIiwibGFuZ3VhZ2VfbmFtZSI6IkVuZ2xpc2giLCJmbGFnIjoidXMiLCJnZW9pcF9jb2RlIjoidXMiLCJpc28iOiJlbiIsImlzb182MzlfMyI6ImVuZyIsImdsb2JhbF9uYW1lIjoiRW5nbGlzaCIsImlzX29ubHlfcmVjb21tZW5kZWRfdHdfYXV0b3JlcG9zdCI6dHJ1ZX07CgkJd2luZG93LmluaXREYXRhLnNldHRpbmdzID0geydTM19MT0dPX1NFUlZJQ0VfQkFTRV9VUkwnOiAnaHR0cHM6Ly9zMy1zeW1ib2wtbG9nby50cmFkaW5ndmlldy5jb20vJywgJ1MzX05FV1NfSU1BR0VfU0VSVklDRV9CQVNFX1VSTCc6ICdodHRwczovL3MzLnRyYWRpbmd2aWV3LmNvbS9uZXdzLycsICdXRUJQQUNLX1NUQVRJQ19QQVRIJzogJ2h0dHBzOi8vc3RhdGljLnRyYWRpbmd2aWV3LmNvbS9zdGF0aWMvYnVuZGxlcy8nLCAnVFJBRElOR19VUkxTJzogeydmcmVlJzogJ2h0dHBzOi8vcGFwZXJ0cmFkaW5nLWZyZWUudHJhZGluZ3ZpZXcuY29tJywgJ3Bybyc6ICdodHRwczovL3BhcGVydHJhZGluZy50cmFkaW5ndmlldy5jb20nfSwgJ0NPTlRFU1RTX1VSTCc6ICcvcGFwZXItdHJhZGluZycsICdDUlVEX1NUT1JBR0VfVVJMJzogJ2h0dHBzOi8vY3J1ZC1zdG9yYWdlLnRyYWRpbmd2aWV3LmNvbSd9Ozwvc2NyaXB0PgoKCTxzY3JpcHQgbm9uY2U9InVKQnhQNzVYbWx0bG81ZXV6dWdZR2c9PSI+CgkJKCgpPT57InVzZSBzdHJpY3QiO2NvbnN0IGU9e3doaXRlbGFiZWw6ITAscGVybWlzc2lvbk92ZXJyaWRlczohMCxsaW5rQ2FwdHVyaW5nQWxsb3dlZDohMCxzeW1ib2xfc2VhcmNoX2RlZmF1bHRfZXhjaGFuZ2U6ITAsc3ltYm9sX3NlYXJjaF9hbGxvd2VkX2V4Y2hhbmdlczohMH07Y29uc3QgdD13aW5kb3c7dC5pbml0RGF0YT10LmluaXREYXRhfHx7fTtjb25zdCBhPS9cKy9nLG49LzxcLz9bXj5dKyg+fCQpL2cscz1lPT5kZWNvZGVVUklDb21wb25lbnQoZS5yZXBsYWNlKGEsIiAiKSkucmVwbGFjZShuLCIiKSxvPXQubG9jYXRpb24uc2VhcmNoLnN1YnN0cmluZygxKSxjPS8oW14mPV0rKT0/KFteJl0qKS9nLGk9e307bGV0IGwscj1jLmV4ZWMobyk7Zm9yKDtudWxsIT09cjspaVtzKHJbMV0pXT1zKHJbMl0pLHI9Yy5leGVjKG8pO3RyeXtsPUpTT04ucGFyc2UoZGVjb2RlVVJJQ29tcG9uZW50KHQubG9jYXRpb24uaGFzaC5zdWJzdHJpbmcoMSkpKSwib2JqZWN0Ij09dHlwZW9mIGwmJm51bGwhPT1sfHwobD17fSl9Y2F0Y2goZSl7bD17fX12YXIgaDt0LmluaXREYXRhLnF1ZXJ5U2V0dGluZ3M9aSx0LmluaXREYXRhLmhhc2hTZXR0aW5ncz0oaD1sLE9iamVjdC5rZXlzKGgpLmZvckVhY2goKHQ9PntlW3RdJiZkZWxldGUgaFt0XX0pKSxoKX0pKCk7Cgk8L3NjcmlwdD4KCgk8c2NyaXB0IG5vbmNlPSJ1SkJ4UDc1WG1sdGxvNWV1enVnWUdnPT0iPndpbmRvdy5TU19IT1NUID0gInN5bWJvbC1zZWFyY2gudHJhZGluZ3ZpZXcuY29tIjsKCQl3aW5kb3cuV0lER0VUX1NIRVJJRkZfSE9TVCA9ICJodHRwczovL3dpZGdldC1zaGVyaWZmLnRyYWRpbmd2aWV3LXdpZGdldC5jb20iOwoJCXdpbmRvdy5pc19hdXRoZW50aWNhdGVkID0gZmFsc2U7CgoJd2luZG93LlBJTkVfVVJMID0gJ2h0dHBzOi8vcGluZS1mYWNhZGUudHJhZGluZ3ZpZXcuY29tL3BpbmUtZmFjYWRlJzsKCgkJd2luZG93LmxvY2FsZV9kb21haW5zID0geyJlbiI6Ind3dy50cmFkaW5ndmlldy5jb20iLCJhcl9BRSI6ImFyLnRyYWRpbmd2aWV3LmNvbSIsImJyIjoiYnIudHJhZGluZ3ZpZXcuY29tIiwiZGVfREUiOiJkZS50cmFkaW5ndmlldy5jb20iLCJlcyI6ImVzLnRyYWRpbmd2aWV3LmNvbSIsImZyIjoiZnIudHJhZGluZ3ZpZXcuY29tIiwiaGVfSUwiOiJpbC50cmFkaW5ndmlldy5jb20iLCJpZCI6ImlkLnRyYWRpbmd2aWV3LmNvbSIsImluIjoiaW4udHJhZGluZ3ZpZXcuY29tIiwiaXQiOiJpdC50cmFkaW5ndmlldy5jb20iLCJqYSI6ImpwLnRyYWRpbmd2aWV3LmNvbSIsImtyIjoia3IudHJhZGluZ3ZpZXcuY29tIiwibXNfTVkiOiJteS50cmFkaW5ndmlldy5jb20iLCJwbCI6InBsLnRyYWRpbmd2aWV3LmNvbSIsInJ1IjoicnUudHJhZGluZ3ZpZXcuY29tIiwidGhfVEgiOiJ0aC50cmFkaW5ndmlldy5jb20iLCJ0ciI6InRyLnRyYWRpbmd2aWV3LmNvbSIsInZpX1ZOIjoidm4udHJhZGluZ3ZpZXcuY29tIiwiemhfQ04iOiJjbi50cmFkaW5ndmlldy5jb20iLCJ6aF9UVyI6InR3LnRyYWRpbmd2aWV3LmNvbSIsImNhX0VTIjoiZXMudHJhZGluZ3ZpZXcuY29tIn07CgoJCQl3aW5kb3cuX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzID0gd2luZG93Ll9faW5pdGlhbEVuYWJsZWRGZWF0dXJlc2V0cyB8fCBbXTsKCQkJCXdpbmRvdy5fX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMucHVzaCgnd2lkZ2V0Jyk7CgoJCXdpbmRvdy5UcmFkaW5nVmlldyA9IHdpbmRvdy5UcmFkaW5nVmlldyB8fCB7fTsKPC9zY3JpcHQ+CgoJPHNjcmlwdCBub25jZT0idUpCeFA3NVhtbHRsbzVldXp1Z1lHZz09Ij52YXIgZW52aXJvbm1lbnQgPSAiYmF0dGxlIjsKCQl3aW5kb3cuQlVJTERfVElNRSA9ICIyMDI2LTA3LTI0VDExOjQwOjA4IjsKCQl3aW5kb3cuV0VCU09DS0VUX0hPU1QgPSAid2lkZ2V0ZGF0YS50cmFkaW5ndmlldy5jb20iOwoJCXdpbmRvdy5XRUJTT0NLRVRfSE9TVF9GT1JfUkVDT05ORUNUID0gIndpZGdldGRhdGEtYmFja3VwLnRyYWRpbmd2aWV3LmNvbSI7CgkJd2luZG93LnVzZXIgPSB7J3VzZXJuYW1lJzogJ0d1ZXN0JywgJ2ZvbGxvd2luZyc6ICcwJywgJ2ZvbGxvd2Vycyc6ICcwJywgJ2lnbm9yZV9saXN0Jzoge30sICdkb19ub3RfdHJhY2snOiB0cnVlfTs8L3NjcmlwdD4KCTxzY3JpcHQgbm9uY2U9InVKQnhQNzVYbWx0bG81ZXV6dWdZR2c9PSI+bGV0IHBhcmFtcyA9IHt9OwoJCQljb25zdCBodHRwUmVnID0gbmV3IFJlZ0V4cCgnXmh0dHAocyk/Oi8vJyk7CgoJCQl0cnkgewoJCQkJcGFyYW1zID0gSlNPTi5wYXJzZShkZWNvZGVVUklDb21wb25lbnQobG9jYXRpb24uaGFzaC5zdWJzdHJpbmcoMSkpKTsKCQkJfSBjYXRjaCAoZSkgewoJCQkJcGFyYW1zID0ge307CgkJCX0KCgkJCXdpbmRvdy5XRUJTT0NLRVRfUEFSQU1TX0FOQUxZVElDUyA9IHsKCQkJCSd3c19hbmNlc3Rvcl9vcmlnaW4nOiB3aW5kb3cubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zICYmIHdpbmRvdy5sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnMubGVuZ3RoID8gd2luZG93LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2luc1t3aW5kb3cubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zLmxlbmd0aCAtIDFdLnJlcGxhY2UoaHR0cFJlZywgJycpIDogbnVsbCwKCQkJCSd3c19wYWdlX3VyaSc6IHBhcmFtc1sncGFnZS11cmknXSwKCQkJfTsoKCk9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZShlLHQ9ITEpe2NvbnN0e3NlYXJjaFBhcmFtczpufT1uZXcgVVJMKFN0cmluZyhsb2NhdGlvbikpO2xldCBzPSJ0cnVlIj09PW4uZ2V0KCJtb2JpbGVhcHBfbmV3Iiksbz0idHJ1ZSI9PT1uLmdldCgibW9iaWxlYXBwIik7aWYoIXQpe2NvbnN0IGU9ZnVuY3Rpb24oZSl7Y29uc3QgdD1lKyI9IixuPWRvY3VtZW50LmNvb2tpZS5zcGxpdCgiOyIpO2ZvcihsZXQgZT0wO2U8bi5sZW5ndGg7ZSsrKXtsZXQgcz1uW2VdO2Zvcig7IiAiPT09cy5jaGFyQXQoMCk7KXM9cy5zdWJzdHJpbmcoMSxzLmxlbmd0aCk7aWYoMD09PXMuaW5kZXhPZih0KSlyZXR1cm4gcy5zdWJzdHJpbmcodC5sZW5ndGgscy5sZW5ndGgpfXJldHVybiBudWxsfSgidHZfYXBwIil8fCIiO3N8fD1bImFuZHJvaWQiLCJhbmRyb2lkX25wcyJdLmluY2x1ZGVzKGUpLG98fD0iaW9zIj09PWV9cmV0dXJuISgibmV3IiE9PWUmJiJhbnkiIT09ZXx8IXMpfHwhKCJuZXciPT09ZXx8IW8pfWNvbnN0IHQ9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJiJ1bmRlZmluZWQiIT10eXBlb2YgbmF2aWdhdG9yLG49dCYmIm9udG91Y2hzdGFydCJpbiB3aW5kb3cscz0odCYmbiYmd2luZG93LHQmJihufHxuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMpLHQmJndpbmRvdy5jaHJvbWUmJndpbmRvdy5jaHJvbWUucnVudGltZSx0JiZ3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoImZpcmVmb3giKSx0JiYvXHNFZGdlXC9cZFxkXGIvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksdCYmQm9vbGVhbihuYXZpZ2F0b3IudmVuZG9yKSYmbmF2aWdhdG9yLnZlbmRvci5pbmRleE9mKCJBcHBsZSIpPi0xJiYtMT09PW5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiQ3JpT1MiKSYmbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCJGeGlPUyIpLHQmJi9tYWMvaS50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSksdCYmL1dpbjMyfFdpbjY0L2kudGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pLHQmJi9MaW51eC9pLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSx0JiYvQW5kcm9pZC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkpLG89dCYmL0JsYWNrQmVycnkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGk9dCYmL2lQaG9uZXxpUGFkfGlQb2QvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSxyPXQmJi9PcGVyYSBNaW5pL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSxjPXQmJigiTWFjSW50ZWwiPT09bmF2aWdhdG9yLnBsYXRmb3JtJiZuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHM+MXx8L2lQYWQvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSksYT1zfHxvfHxpfHxyO2NvbnN0IF89bmV3IE1hcDtmdW5jdGlvbiBkKCl7Y29uc3QgZT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsdD13aW5kb3cubG9jYXRpb24uaG9zdCxuPWAke3R9JHtlfWA7cmV0dXJuIF8uaGFzKG4pfHxfLnNldChuLGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj1bIl53aWRnZXQtZG9jcyJdO2Zvcihjb25zdCBlIG9mIG4paWYobmV3IFJlZ0V4cChlKS50ZXN0KHQpKXJldHVybiEwO2NvbnN0IHM9WyJed2lkZ2V0ZW1iZWQvPyQiLCJeY21ld2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL3dpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS93aWRnZXRzdGF0aWMvPyQiLCJeKFswLTlhLXpBLVotXSspPy8/bWVkaXVtd2lkZ2V0ZW1iZWQvPyQiLCJedHdpdHRlci1jaGFydC8/JCIsIl50ZWxlZ3JhbS9jaGFydC8/JCIsIl5lbWJlZC8oWzAtOWEtekEtWl17OH0pLz8kIiwiXndpZGdldHBvcHVwLz8kIiwiXmV4dGVuc2lvbi8/JCIsIl5pZGVhLXBvcHVwLz8kIiwiXmhvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL2hvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvbWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl5ldmVudHN3aWRnZXRlbWJlZC8/JCIsIl50aWNrZXJzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhjcm9zc3JhdGVzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhoZWF0bWFwd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0cXVvdGVzd2lkZ2V0ZW1iZWQvPyQiLCJec2NyZWVuZXJ3aWRnZXQvPyQiLCJeY3J5cHRvbWt0c2NyZWVuZXJ3aWRnZXQvPyQiLCJeKFswLTlhLXpBLVotXSspL2NyeXB0b21rdHNjcmVlbmVyd2lkZ2V0Lz8kIiwiXihbMC05YS16QS1aLV0rKS9tYXJrZXRxdW90ZXN3aWRnZXRlbWJlZC8/JCIsIl50ZWNobmljYWwtYW5hbHlzaXMtd2lkZ2V0LWVtYmVkLyQiLCJec2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvc2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl5lbWJlZC13aWRnZXQvKFswLTlhLXpBLVotXSspLygoWzAtOWEtekEtWi1dKykvKT8kIiwiXndpZGdldC1kb2NzLyhbMC05YS16QS1aLV0rKS8oWzAtOWEtekEtWi0vXSspPyQiXSxvPWUucmVwbGFjZSgvXlwvLywiIik7bGV0IGk7Zm9yKGxldCBlPXMubGVuZ3RoLTE7ZT49MDtlLS0paWYoaT1uZXcgUmVnRXhwKHNbZV0pLGkudGVzdChvKSlyZXR1cm4hMDtyZXR1cm4hMX0oZSx0KSksXy5nZXQobik/PyExfWNvbnN0IGg9d2luZG93LlRyYWRpbmdWaWV3PXdpbmRvdy5UcmFkaW5nVmlld3x8e307Y29uc3QgbD17QW5kcm9pZDooKT0+cyxCbGFja0JlcnJ5OigpPT5vLGlPUzooKT0+aSxPcGVyYTooKT0+cixpc0lQYWQ6KCk9PmMsYW55OigpPT5hfTtoLmlzTW9iaWxlPWwsaC5vbldpZGdldD1kO2NvbnN0IHU9KCk9Pnt9LGc9In5tfiI7Y2xhc3MgbXtjb25zdHJ1Y3RvcihlLHQ9e30pe3RoaXMuc2Vzc2lvbmlkPW51bGwsdGhpcy5jb25uZWN0ZWQ9ITEsdGhpcy5fdGltZW91dD1udWxsLHRoaXMuX2Jhc2U9ZSx0aGlzLl9vcHRpb25zPXt0aW1lb3V0OnQudGltZW91dHx8MmU0LGNvbm5lY3Rpb25UeXBlOnQuY29ubmVjdGlvblR5cGUsYXBpS2V5OnQuYXBpS2V5fX1jb25uZWN0KCl7dGhpcy5fc29ja2V0PW5ldyBXZWJTb2NrZXQodGhpcy5fcHJlcGFyZVVybCgpKSwKdGhpcy5fc29ja2V0Lm9ubWVzc2FnZT1lPT57aWYoInN0cmluZyIhPXR5cGVvZiBlLmRhdGEpdGhyb3cgbmV3IFR5cGVFcnJvcihgVGhlIFdlYlNvY2tldCBtZXNzYWdlIHNob3VsZCBiZSBhIHN0cmluZy4gUmVjaWV2ZWQgJHtPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZS5kYXRhKX1gKTt0aGlzLl9vbkRhdGEoZS5kYXRhKX0sdGhpcy5fc29ja2V0Lm9uY2xvc2U9dGhpcy5fb25DbG9zZS5iaW5kKHRoaXMpLHRoaXMuX3NvY2tldC5vbmVycm9yPXRoaXMuX29uRXJyb3IuYmluZCh0aGlzKX1zZW5kKGUpe3RoaXMuX3NvY2tldCYmdGhpcy5fc29ja2V0LnNlbmQodGhpcy5fZW5jb2RlKGUpKX1kaXNjb25uZWN0KCl7dGhpcy5fY2xlYXJJZGxlVGltZW91dCgpLHRoaXMuX3NvY2tldCYmKHRoaXMuX3NvY2tldC5vbm1lc3NhZ2U9dSx0aGlzLl9zb2NrZXQub25jbG9zZT11LHRoaXMuX3NvY2tldC5vbmVycm9yPXUsdGhpcy5fc29ja2V0LmNsb3NlKCkpfV9jbGVhcklkbGVUaW1lb3V0KCl7bnVsbCE9PXRoaXMuX3RpbWVvdXQmJihjbGVhclRpbWVvdXQodGhpcy5fdGltZW91dCksdGhpcy5fdGltZW91dD1udWxsKX1fZW5jb2RlKGUpe2xldCB0LG49IiI7Y29uc3Qgcz1BcnJheS5pc0FycmF5KGUpP2U6W2VdLG89cy5sZW5ndGg7Zm9yKGxldCBlPTA7ZTxvO2UrKyl0PW51bGw9PT1zW2VdfHx2b2lkIDA9PT1zW2VdPyIiOm0uX3N0cmluZ2lmeShzW2VdKSxuKz1nK3QubGVuZ3RoK2crdDtyZXR1cm4gbn1fZGVjb2RlKGUpe2NvbnN0IHQ9W107bGV0IG4scztkb3tpZihlLnN1YnN0cmluZygwLDMpIT09ZylyZXR1cm4gdDtuPSIiLHM9IiI7Y29uc3Qgbz0oZT1lLnN1YnN0cmluZygzKSkubGVuZ3RoO2ZvcihsZXQgdD0wO3Q8bzt0Kyspe2lmKHM9TnVtYmVyKGUuc3Vic3RyaW5nKHQsdCsxKSksTnVtYmVyKGUuc3Vic3RyaW5nKHQsdCsxKSkhPT1zKXtlPWUuc3Vic3RyaW5nKG4ubGVuZ3RoKzMpLG49TnVtYmVyKG4pO2JyZWFrfW4rPXN9dC5wdXNoKGUuc3Vic3RyaW5nKDAsbikpLGU9ZS5zdWJzdHJpbmcobil9d2hpbGUoIiIhPT1lKTtyZXR1cm4gdH1fb25EYXRhKGUpe3RoaXMuX3NldFRpbWVvdXQoKTtjb25zdCB0PXRoaXMuX2RlY29kZShlKSxuPXQubGVuZ3RoO2ZvcihsZXQgZT0wO2U8bjtlKyspdGhpcy5fb25NZXNzYWdlKHRbZV0pfV9zZXRUaW1lb3V0KCl7dGhpcy5fY2xlYXJJZGxlVGltZW91dCgpLHRoaXMuX3RpbWVvdXQ9c2V0VGltZW91dCh0aGlzLl9vblRpbWVvdXQuYmluZCh0aGlzKSx0aGlzLl9vcHRpb25zLnRpbWVvdXQpfV9vblRpbWVvdXQoKXt0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLl9vbkRpc2Nvbm5lY3Qoe2NvZGU6NGUzLHJlYXNvbjoic29ja2V0LmlvIHRpbWVvdXQiLHdhc0NsZWFuOiExfSl9X29uTWVzc2FnZShlKXt0aGlzLnNlc3Npb25pZD90aGlzLl9jaGVja0lmSGVhcnRiZWF0KGUpP3RoaXMuX29uSGVhcnRiZWF0KGUuc2xpY2UoMykpOnRoaXMuX2NoZWNrSWZKc29uKGUpP3RoaXMuX2Jhc2Uub25NZXNzYWdlKEpTT04ucGFyc2UoZS5zbGljZSgzKSkpOnRoaXMuX2Jhc2Uub25NZXNzYWdlKGUpOih0aGlzLnNlc3Npb25pZD1lLHRoaXMuX29uQ29ubmVjdCgpKX1fY2hlY2tJZkhlYXJ0YmVhdChlKXtyZXR1cm4gdGhpcy5fY2hlY2tNZXNzYWdlVHlwZShlLCJoIil9X2NoZWNrSWZKc29uKGUpe3JldHVybiB0aGlzLl9jaGVja01lc3NhZ2VUeXBlKGUsImoiKX1fY2hlY2tNZXNzYWdlVHlwZShlLHQpe3JldHVybiBlLnN1YnN0cmluZygwLDMpPT09In4iK3QrIn4ifV9vbkhlYXJ0YmVhdChlKXt0aGlzLnNlbmQoIn5ofiIrZSl9X29uQ29ubmVjdCgpe3RoaXMuY29ubmVjdGVkPSEwLHRoaXMuX2Jhc2Uub25Db25uZWN0KCl9X29uRGlzY29ubmVjdChlKXt0aGlzLl9jbGVhcigpLHRoaXMuX2Jhc2Uub25EaXNjb25uZWN0KGUpLHRoaXMuc2Vzc2lvbmlkPW51bGx9X2NsZWFyKCl7dGhpcy5jb25uZWN0ZWQ9ITF9X3ByZXBhcmVVcmwoKXtjb25zdCB0PWsodGhpcy5fYmFzZS5ob3N0KTtpZih0LnBhdGhuYW1lKz0ic29ja2V0LmlvL3dlYnNvY2tldCIsdC5wcm90b2NvbD0id3NzOiIsdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJmcm9tIix3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc2xpY2UoMSw1MCkpLHQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiZGF0ZSIsd2luZG93LkJVSUxEX1RJTUV8fCIiKSxlKCJhbnkiKSYmdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJjbGllbnQiLCJtb2JpbGUiKSx0aGlzLl9vcHRpb25zLmNvbm5lY3Rpb25UeXBlJiZ0LnNlYXJjaFBhcmFtcy5hcHBlbmQoInR5cGUiLHRoaXMuX29wdGlvbnMuY29ubmVjdGlvblR5cGUpLHdpbmRvdy5XRUJTT0NLRVRfUEFSQU1TX0FOQUxZVElDUyl7Y29uc3R7d3NfcGFnZV91cmk6ZSx3c19hbmNlc3Rvcl9vcmlnaW46bn09d2luZG93LldFQlNPQ0tFVF9QQVJBTVNfQU5BTFlUSUNTO2UmJnQuc2VhcmNoUGFyYW1zLmFwcGVuZCgicGFnZS11cmkiLGUpLG4mJnQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiYW5jZXN0b3Itb3JpZ2luIixuKX1jb25zdCBuPXdpbmRvdy5sb2NhdGlvbi5zZWFyY2guaW5jbHVkZXMoIndpZGdldF90b2tlbiIpfHx3aW5kb3cubG9jYXRpb24uaGFzaC5pbmNsdWRlcygid2lkZ2V0X3Rva2VuIik7cmV0dXJuIGQoKXx8bnx8dC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJhdXRoIiwic2Vzc2lvbmlkIiksdm9pZCAwIT09dGhpcy5fb3B0aW9ucy5hcGlLZXkmJnQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiYXBpX2tleSIsdGhpcy5fb3B0aW9ucy5hcGlLZXkpLHQuaHJlZn1fb25DbG9zZShlKXt0aGlzLl9jbGVhcklkbGVUaW1lb3V0KCksdGhpcy5fb25EaXNjb25uZWN0KGUpfV9vbkVycm9yKGUpe3RoaXMuX2NsZWFySWRsZVRpbWVvdXQoKSx0aGlzLl9jbGVhcigpLHRoaXMuX2Jhc2UuZW1pdCgiZXJyb3IiLFtlXSksdGhpcy5zZXNzaW9uaWQ9bnVsbH1zdGF0aWMgX3N0cmluZ2lmeShlKXtyZXR1cm4iW29iamVjdCBPYmplY3RdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKT8ifmp+IitKU09OLnN0cmluZ2lmeShlKTpTdHJpbmcoZSl9fWNsYXNzIHd7Y29uc3RydWN0b3IoZSx0KXt0aGlzLmhvc3Q9ZSwKdGhpcy5fY29ubmVjdGluZz0hMSx0aGlzLl9ldmVudHM9e30sdGhpcy50cmFuc3BvcnQ9dGhpcy5fZ2V0VHJhbnNwb3J0KHQpfWlzQ29ubmVjdGVkKCl7cmV0dXJuISF0aGlzLnRyYW5zcG9ydCYmdGhpcy50cmFuc3BvcnQuY29ubmVjdGVkfWlzQ29ubmVjdGluZygpe3JldHVybiB0aGlzLl9jb25uZWN0aW5nfWNvbm5lY3QoKXt0aGlzLmlzQ29ubmVjdGVkKCl8fCh0aGlzLl9jb25uZWN0aW5nJiZ0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLl9jb25uZWN0aW5nPSEwLHRoaXMudHJhbnNwb3J0LmNvbm5lY3QoKSl9c2VuZChlKXt0aGlzLnRyYW5zcG9ydCYmdGhpcy50cmFuc3BvcnQuY29ubmVjdGVkJiZ0aGlzLnRyYW5zcG9ydC5zZW5kKGUpfWRpc2Nvbm5lY3QoKXt0aGlzLnRyYW5zcG9ydCYmdGhpcy50cmFuc3BvcnQuZGlzY29ubmVjdCgpfW9uKGUsdCl7ZSBpbiB0aGlzLl9ldmVudHN8fCh0aGlzLl9ldmVudHNbZV09W10pLHRoaXMuX2V2ZW50c1tlXS5wdXNoKHQpfW9mZkFsbCgpe3RoaXMuX2V2ZW50cz17fX1vbk1lc3NhZ2UoZSl7dGhpcy5lbWl0KCJtZXNzYWdlIixbZV0pfWVtaXQoZSx0PVtdKXtpZihlIGluIHRoaXMuX2V2ZW50cyl7Y29uc3Qgbj10aGlzLl9ldmVudHNbZV0uY29uY2F0KCkscz1uLmxlbmd0aDtmb3IobGV0IGU9MDtlPHM7ZSsrKW5bZV0uYXBwbHkodGhpcyx0KX19b25Db25uZWN0KCl7dGhpcy5jbGVhcigpLHRoaXMuZW1pdCgiY29ubmVjdCIpfW9uRGlzY29ubmVjdChlKXt0aGlzLmVtaXQoImRpc2Nvbm5lY3QiLFtlXSl9Y2xlYXIoKXt0aGlzLl9jb25uZWN0aW5nPSExfV9nZXRUcmFuc3BvcnQoZSl7cmV0dXJuIG5ldyBtKHRoaXMsZSl9fWZ1bmN0aW9uIGsoZSl7Y29uc3QgdD0tMSE9PWUuaW5kZXhPZigiLyIpP25ldyBVUkwoZSk6bmV3IFVSTCgid3NzOi8vIitlKTtpZigid3NzOiIhPT10LnByb3RvY29sJiYiaHR0cHM6IiE9PXQucHJvdG9jb2wpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHdlYnNvY2tldCBiYXNlICIrZSk7cmV0dXJuIHQucGF0aG5hbWUuZW5kc1dpdGgoIi8iKXx8KHQucGF0aG5hbWUrPSIvIiksdC5zZWFyY2g9IiIsdC51c2VybmFtZT0iIix0LnBhc3N3b3JkPSIiLHR9dmFyIHAsYjshZnVuY3Rpb24oZSl7ZVtlLk5vcm1hbD0zMDBdPSJOb3JtYWwiLGVbZS5BZnRlckNsb3NlRXZlbnQ9NWUzXT0iQWZ0ZXJDbG9zZUV2ZW50In0ocHx8KHA9e30pKSxmdW5jdGlvbihlKXtlW2UuSW5mbz0wXT0iSW5mbyIsZVtlLk5vcm1hbD0xXT0iTm9ybWFsIixlW2UuRGVidWc9Ml09IkRlYnVnIixlW2UuRXJyb3I9M109IkVycm9yIn0oYnx8KGI9e30pKTtjb25zdCBmPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZOdW1iZXIod2luZG93LlRFTEVNRVRSWV9XU19FUlJPUl9MT0dTX1RIUkVTSE9MRCl8fDA7dmFyIHk7IWZ1bmN0aW9uKGUpe2VbZS5QaW5nSW50ZXJ2YWw9MWU0XT0iUGluZ0ludGVydmFsIixlW2UuTWF4UGluZ3NDb3VudD0xMF09Ik1heFBpbmdzQ291bnQiLGVbZS5NYXhSZWRpcmVjdHM9MjBdPSJNYXhSZWRpcmVjdHMiLGVbZS5NYXhSZWNvbm5lY3RzPTIwXT0iTWF4UmVjb25uZWN0cyJ9KHl8fCh5PXt9KSk7Y2xhc3MgVHtjb25zdHJ1Y3RvcihlLHQ9e30pe3RoaXMuX3F1ZXVlU3RhY2s9W10sdGhpcy5fbG9nc1F1ZXVlPVtdLHRoaXMuX3RlbGVtZXRyeU9iamVjdHNRdWV1ZT1bXSx0aGlzLl9yZWNvbm5lY3RDb3VudD0wLHRoaXMuX3JlZGlyZWN0Q291bnQ9MCx0aGlzLl9lcnJvcnNDb3VudD0wLHRoaXMuX2Vycm9yc0luZm9TZW50PSExLHRoaXMuX2Nvbm5lY3Rpb25TdGFydD1udWxsLHRoaXMuX2Nvbm5lY3Rpb25Fc3RhYmxpc2hlZD1udWxsLHRoaXMuX3JlY29ubmVjdFRpbWVvdXQ9bnVsbCx0aGlzLl9vbmxpbmVDYW5jZWxsYXRpb25Ub2tlbj1udWxsLHRoaXMuX2lzQ29ubmVjdGlvbkZvcmJpZGRlbj0hMSx0aGlzLl9pbml0aWFsSG9zdD10LmluaXRpYWxIb3N0fHxudWxsLHRoaXMuX3N1Z2dlc3RlZEhvc3Q9ZSx0aGlzLl9wcm9Ib3N0PXQucHJvSG9zdCx0aGlzLl9yZWNvbm5lY3RIb3N0PXQucmVjb25uZWN0SG9zdCx0aGlzLl9ub1JlY29ubmVjdEFmdGVyVGltZW91dD0hMD09PXQubm9SZWNvbm5lY3RBZnRlclRpbWVvdXQsdGhpcy5fZGF0YVJlcXVlc3RUaW1lb3V0PXQuZGF0YVJlcXVlc3RUaW1lb3V0LHRoaXMuX2Nvbm5lY3Rpb25UeXBlPXQuY29ubmVjdGlvblR5cGUsdGhpcy5fYXBpS2V5PXQuYXBpS2V5LHRoaXMuX2RvQ29ubmVjdCgpLHQucGluZ1JlcXVpcmVkJiYtMT09PXdpbmRvdy5sb2NhdGlvbi5zZWFyY2guaW5kZXhPZigibm9waW5nIikmJnRoaXMuX3N0YXJ0UGluZygpfWNvbm5lY3QoKXt0aGlzLl90cnlDb25uZWN0KCl9cmVzZXRDb3VudGVycygpe3RoaXMuX3JlY29ubmVjdENvdW50PTAsdGhpcy5fcmVkaXJlY3RDb3VudD0wfXNldExvZ2dlcihlLHQpe3RoaXMuX2xvZ2dlcj1lLHRoaXMuX2dldExvZ0hpc3Rvcnk9dCx0aGlzLl9mbHVzaExvZ3MoKX1zZXRUZWxlbWV0cnkoZSl7dGhpcy5fdGVsZW1ldHJ5PWUsdGhpcy5fdGVsZW1ldHJ5LnJlcG9ydFNlbnQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25UZWxlbWV0cnlTZW50KSx0aGlzLl9mbHVzaFRlbGVtZXRyeSgpfW9uUmVjb25uZWN0KGUpe3RoaXMuX29uUmVjb25uZWN0PWV9aXNDb25uZWN0ZWQoKXtyZXR1cm4hIXRoaXMuX3NvY2tldCYmdGhpcy5fc29ja2V0LmlzQ29ubmVjdGVkKCl9aXNDb25uZWN0aW5nKCl7cmV0dXJuISF0aGlzLl9zb2NrZXQmJnRoaXMuX3NvY2tldC5pc0Nvbm5lY3RpbmcoKX1vbihlLHQpe3JldHVybiEhdGhpcy5fc29ja2V0JiYoImNvbm5lY3QiPT09ZSYmdGhpcy5fc29ja2V0LmlzQ29ubmVjdGVkKCk/dCgpOiJkaXNjb25uZWN0Ij09PWU/dGhpcy5fZGlzY29ubmVjdENhbGxiYWNrcy5wdXNoKHQpOnRoaXMuX3NvY2tldC5vbihlLHQpLCEwKX1nZXRTZXNzaW9uSWQoKXtyZXR1cm4gdGhpcy5fc29ja2V0JiZ0aGlzLl9zb2NrZXQudHJhbnNwb3J0P3RoaXMuX3NvY2tldC50cmFuc3BvcnQuc2Vzc2lvbmlkOm51bGx9c2VuZChlKXtyZXR1cm4gdGhpcy5pc0Nvbm5lY3RlZCgpPyh0aGlzLl9zb2NrZXQuc2VuZChlKSwhMCk6KHRoaXMuX3F1ZXVlTWVzc2FnZShlKSwhMSl9CmdldENvbm5lY3Rpb25Fc3RhYmxpc2hlZCgpe3JldHVybiB0aGlzLl9jb25uZWN0aW9uRXN0YWJsaXNoZWR9Z2V0SG9zdCgpe2NvbnN0IGU9dGhpcy5fdHJ5R2V0UHJvSG9zdCgpO3JldHVybiBudWxsIT09ZT9lOnRoaXMuX3JlY29ubmVjdEhvc3QmJnRoaXMuX3JlY29ubmVjdENvdW50PjM/dGhpcy5fcmVjb25uZWN0SG9zdDp0aGlzLl9zdWdnZXN0ZWRIb3N0fWdldFJlY29ubmVjdENvdW50KCl7cmV0dXJuIHRoaXMuX3JlY29ubmVjdENvdW50fWdldFJlZGlyZWN0Q291bnQoKXtyZXR1cm4gdGhpcy5fcmVkaXJlY3RDb3VudH1nZXRDb25uZWN0aW9uU3RhcnQoKXtyZXR1cm4gdGhpcy5fY29ubmVjdGlvblN0YXJ0fWRpc2Nvbm5lY3QoKXt0aGlzLl9jbGVhclJlY29ubmVjdFRpbWVvdXQoKSwodGhpcy5pc0Nvbm5lY3RlZCgpfHx0aGlzLmlzQ29ubmVjdGluZygpKSYmKHRoaXMuX3Byb3BhZ2F0ZURpc2Nvbm5lY3QoKSx0aGlzLl9kaXNjb25uZWN0Q2FsbGJhY2tzPVtdLHRoaXMuX2Nsb3NlU29ja2V0KCkpfWZvcmJpZENvbm5lY3Rpb24oKXt0aGlzLl9pc0Nvbm5lY3Rpb25Gb3JiaWRkZW49ITAsdGhpcy5kaXNjb25uZWN0KCl9YWxsb3dDb25uZWN0aW9uKCl7dGhpcy5faXNDb25uZWN0aW9uRm9yYmlkZGVuPSExLHRoaXMuY29ubmVjdCgpfWlzTWF4UmVkaXJlY3RzKCl7cmV0dXJuIHRoaXMuX3JlZGlyZWN0Q291bnQ+PTIwfWlzTWF4UmVjb25uZWN0cygpe3JldHVybiB0aGlzLl9yZWNvbm5lY3RDb3VudD49MjB9Z2V0UGluZ0luZm8oKXtyZXR1cm4gdGhpcy5fcGluZ0luZm98fG51bGx9Z2V0QXBpS2V5KCl7cmV0dXJuIHRoaXMuX2FwaUtleX1fdHJ5R2V0UHJvSG9zdCgpe3JldHVybiB3aW5kb3cuVHJhZGluZ1ZpZXcmJndpbmRvdy5UcmFkaW5nVmlldy5vbkNoYXJ0UGFnZSYmImJhdHRsZSI9PT13aW5kb3cuZW52aXJvbm1lbnQmJiF0aGlzLl9yZWRpcmVjdENvdW50JiYtMT09PXdpbmRvdy5sb2NhdGlvbi5ocmVmLmluZGV4T2YoIndzX2hvc3QiKT90aGlzLl9pbml0aWFsSG9zdD90aGlzLl9pbml0aWFsSG9zdDp2b2lkIDAhPT13aW5kb3cudXNlciYmd2luZG93LnVzZXIucHJvX3BsYW4/dGhpcy5fcHJvSG9zdHx8dGhpcy5fc3VnZ2VzdGVkSG9zdDpudWxsOm51bGx9X3F1ZXVlTWVzc2FnZShlKXswPT09dGhpcy5fcXVldWVTdGFjay5sZW5ndGgmJnRoaXMuX2xvZ01lc3NhZ2UoMCwiU29ja2V0IGlzIG5vdCBjb25uZWN0ZWQuIFF1ZXVlZCBhIG1lc3NhZ2UiKSx0aGlzLl9xdWV1ZVN0YWNrLnB1c2goZSl9X3Byb2Nlc3NNZXNzYWdlUXVldWUoKXswIT09dGhpcy5fcXVldWVTdGFjay5sZW5ndGgmJih0aGlzLl9sb2dNZXNzYWdlKDAsIlByb2Nlc3NpbmcgcXVldWVkIG1lc3NhZ2VzIiksdGhpcy5fcXVldWVTdGFjay5mb3JFYWNoKHRoaXMuc2VuZC5iaW5kKHRoaXMpKSx0aGlzLl9sb2dNZXNzYWdlKDAsIlByb2Nlc3NlZCAiK3RoaXMuX3F1ZXVlU3RhY2subGVuZ3RoKyIgbWVzc2FnZXMiKSx0aGlzLl9xdWV1ZVN0YWNrPVtdKX1fb25EaXNjb25uZWN0KGUpe3RoaXMuX25vUmVjb25uZWN0QWZ0ZXJUaW1lb3V0fHxudWxsIT09dGhpcy5fcmVjb25uZWN0VGltZW91dHx8KHRoaXMuX3JlY29ubmVjdFRpbWVvdXQ9c2V0VGltZW91dCh0aGlzLl90cnlSZWNvbm5lY3QuYmluZCh0aGlzKSw1ZTMpKSx0aGlzLl9jbGVhck9ubGluZUNhbmNlbGxhdGlvblRva2VuKCk7bGV0IHQ9ImRpc2Nvbm5lY3Qgc2Vzc2lvbjoiK3RoaXMuZ2V0U2Vzc2lvbklkKCk7ZSYmKHQrPSIsIGNvZGU6IitlLmNvZGUrIiwgcmVhc29uOiIrZS5yZWFzb24sMTAwNT09PWUuY29kZSYmdGhpcy5fc2VuZFRlbGVtZXRyeSgid2Vic29ja2V0X2NvZGVfMTAwNSIpKSx0aGlzLl9sb2dNZXNzYWdlKDAsdCksdGhpcy5fcHJvcGFnYXRlRGlzY29ubmVjdChlKSx0aGlzLl9jbG9zZVNvY2tldCgpLHRoaXMuX3F1ZXVlU3RhY2s9W119X2Nsb3NlU29ja2V0KCl7bnVsbCE9PXRoaXMuX3NvY2tldCYmKHRoaXMuX3NvY2tldC5vZmZBbGwoKSx0aGlzLl9zb2NrZXQuZGlzY29ubmVjdCgpLHRoaXMuX3NvY2tldD1udWxsKX1fbG9nTWVzc2FnZShlLHQpe2NvbnN0IG49e21ldGhvZDplLG1lc3NhZ2U6dH07dGhpcy5fbG9nZ2VyP3RoaXMuX2ZsdXNoTG9nTWVzc2FnZShuKToobi5tZXNzYWdlPWBbJHsobmV3IERhdGUpLnRvSVNPU3RyaW5nKCl9XSAke24ubWVzc2FnZX1gLHRoaXMuX2xvZ3NRdWV1ZS5wdXNoKG4pKX1fZmx1c2hMb2dNZXNzYWdlKGUpe3N3aXRjaChlLm1ldGhvZCl7Y2FzZSAyOnRoaXMuX2xvZ2dlci5sb2dEZWJ1ZyhlLm1lc3NhZ2UpO2JyZWFrO2Nhc2UgMzp0aGlzLl9sb2dnZXIubG9nRXJyb3IoZS5tZXNzYWdlKTticmVhaztjYXNlIDA6dGhpcy5fbG9nZ2VyLmxvZ0luZm8oZS5tZXNzYWdlKTticmVhaztjYXNlIDE6dGhpcy5fbG9nZ2VyLmxvZ05vcm1hbChlLm1lc3NhZ2UpfX1fZmx1c2hMb2dzKCl7dGhpcy5fZmx1c2hMb2dNZXNzYWdlKHttZXRob2Q6MSxtZXNzYWdlOiJtZXNzYWdlcyBmcm9tIHF1ZXVlLiBTdGFydC4ifSksdGhpcy5fbG9nc1F1ZXVlLmZvckVhY2goKGU9Pnt0aGlzLl9mbHVzaExvZ01lc3NhZ2UoZSl9KSksdGhpcy5fZmx1c2hMb2dNZXNzYWdlKHttZXRob2Q6MSxtZXNzYWdlOiJtZXNzYWdlcyBmcm9tIHF1ZXVlLiBFbmQuIn0pLHRoaXMuX2xvZ3NRdWV1ZT1bXX1fc2VuZFRlbGVtZXRyeShlLHQpe2NvbnN0IG49e2V2ZW50OmUscGFyYW1zOnR9O3RoaXMuX3RlbGVtZXRyeT90aGlzLl9mbHVzaFRlbGVtZXRyeU9iamVjdChuKTp0aGlzLl90ZWxlbWV0cnlPYmplY3RzUXVldWUucHVzaChuKX1fZmx1c2hUZWxlbWV0cnlPYmplY3QoZSl7dGhpcy5fdGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydChlLmV2ZW50LGUucGFyYW1zLCExKX1fZmx1c2hUZWxlbWV0cnkoKXt0aGlzLl90ZWxlbWV0cnlPYmplY3RzUXVldWUuZm9yRWFjaCgoZT0+e3RoaXMuX2ZsdXNoVGVsZW1ldHJ5T2JqZWN0KGUpfSkpLHRoaXMuX3RlbGVtZXRyeU9iamVjdHNRdWV1ZT1bXX1fZG9Db25uZWN0KCl7CnRoaXMuX3NvY2tldCYmKHRoaXMuX3NvY2tldC5pc0Nvbm5lY3RlZCgpfHx0aGlzLl9zb2NrZXQuaXNDb25uZWN0aW5nKCkpfHwodGhpcy5fY2xlYXJPbmxpbmVDYW5jZWxsYXRpb25Ub2tlbigpLHRoaXMuX2hvc3Q9dGhpcy5nZXRIb3N0KCksdGhpcy5fc29ja2V0PW5ldyB3KHRoaXMuX2hvc3Qse3RpbWVvdXQ6dGhpcy5fZGF0YVJlcXVlc3RUaW1lb3V0LGNvbm5lY3Rpb25UeXBlOnRoaXMuX2Nvbm5lY3Rpb25UeXBlLGFwaUtleTp0aGlzLl9hcGlLZXl9KSx0aGlzLl9sb2dNZXNzYWdlKDAsIkNvbm5lY3RpbmcgdG8gIit0aGlzLl9ob3N0KSx0aGlzLl9iaW5kRXZlbnRzKCksdGhpcy5fZGlzY29ubmVjdENhbGxiYWNrcz1bXSx0aGlzLl9jb25uZWN0aW9uU3RhcnQ9cGVyZm9ybWFuY2Uubm93KCksdGhpcy5fY29ubmVjdGlvbkVzdGFibGlzaGVkPW51bGwsdGhpcy5fc29ja2V0LmNvbm5lY3QoKSxwZXJmb3JtYW5jZS5tYXJrKCJTV1NDIix7ZGV0YWlsOiJTdGFydCBXZWJTb2NrZXQgY29ubmVjdGlvbiJ9KSx0aGlzLl9zb2NrZXQub24oImNvbm5lY3QiLCgoKT0+e3BlcmZvcm1hbmNlLm1hcmsoIkVXU0MiLHtkZXRhaWw6IkVuZCBXZWJTb2NrZXQgY29ubmVjdGlvbiJ9KSxwZXJmb3JtYW5jZS5tZWFzdXJlKCJXZWJTb2NrZXQgY29ubmVjdGlvbiBkZWxheSIsIlNXU0MiLCJFV1NDIil9KSkpfV9wcm9wYWdhdGVEaXNjb25uZWN0KGUpe2NvbnN0IHQ9dGhpcy5fZGlzY29ubmVjdENhbGxiYWNrcy5sZW5ndGg7Zm9yKGxldCBuPTA7bjx0O24rKyl0aGlzLl9kaXNjb25uZWN0Q2FsbGJhY2tzW25dKGV8fHt9KX1fYmluZEV2ZW50cygpe3RoaXMuX3NvY2tldCYmKHRoaXMuX3NvY2tldC5vbigiY29ubmVjdCIsKCgpPT57Y29uc3QgZT10aGlzLmdldFNlc3Npb25JZCgpO2lmKCJzdHJpbmciPT10eXBlb2YgZSl7Y29uc3QgdD1KU09OLnBhcnNlKGUpO2lmKHQucmVkaXJlY3QpcmV0dXJuIHRoaXMuX3JlZGlyZWN0Q291bnQrPTEsdGhpcy5fc3VnZ2VzdGVkSG9zdD10LnJlZGlyZWN0LHRoaXMuaXNNYXhSZWRpcmVjdHMoKSYmdGhpcy5fc2VuZFRlbGVtZXRyeSgicmVkaXJlY3RfYmFpbG91dCIpLHZvaWQgdGhpcy5fcmVkaXJlY3QoKX10aGlzLl9jb25uZWN0aW9uRXN0YWJsaXNoZWQ9cGVyZm9ybWFuY2Uubm93KCksdGhpcy5fcHJvY2Vzc01lc3NhZ2VRdWV1ZSgpLHRoaXMuX2xvZ01lc3NhZ2UoMCwiY29ubmVjdCBzZXNzaW9uOiIrZSl9KSksdGhpcy5fc29ja2V0Lm9uKCJkaXNjb25uZWN0Iix0aGlzLl9vbkRpc2Nvbm5lY3QuYmluZCh0aGlzKSksdGhpcy5fc29ja2V0Lm9uKCJjbG9zZSIsdGhpcy5fb25EaXNjb25uZWN0LmJpbmQodGhpcykpLHRoaXMuX3NvY2tldC5vbigiZXJyb3IiLChlPT57dGhpcy5fbG9nTWVzc2FnZSgwLG5ldyBEYXRlKyIgc2Vzc2lvbjoiK3RoaXMuZ2V0U2Vzc2lvbklkKCkrIiB3ZWJzb2NrZXQgZXJyb3I6IitKU09OLnN0cmluZ2lmeShlKSksdGhpcy5fc2VuZFRlbGVtZXRyeSgid2Vic29ja2V0X2Vycm9yIiksdGhpcy5fZXJyb3JzQ291bnQrKywhdGhpcy5fZXJyb3JzSW5mb1NlbnQmJnRoaXMuX2Vycm9yc0NvdW50Pj1mJiYodm9pZCAwIT09dGhpcy5fbGFzdENvbm5lY3RDYWxsU3RhY2smJih0aGlzLl9zZW5kVGVsZW1ldHJ5KCJ3ZWJzb2NrZXRfZXJyb3JfY29ubmVjdF9zdGFjayIse3RleHQ6dGhpcy5fbGFzdENvbm5lY3RDYWxsU3RhY2t9KSxkZWxldGUgdGhpcy5fbGFzdENvbm5lY3RDYWxsU3RhY2spLHZvaWQgMCE9PXRoaXMuX2dldExvZ0hpc3RvcnkmJnRoaXMuX3NlbmRUZWxlbWV0cnkoIndlYnNvY2tldF9lcnJvcl9sb2ciLHt0ZXh0OnRoaXMuX2dldExvZ0hpc3RvcnkoNTApLmpvaW4oIlxuIil9KSx0aGlzLl9lcnJvcnNJbmZvU2VudD0hMCl9KSkpfV9yZWRpcmVjdCgpe3RoaXMuZGlzY29ubmVjdCgpLHRoaXMuX3JlY29ubmVjdFdoZW5PbmxpbmUoKX1fdHJ5UmVjb25uZWN0KCl7dGhpcy5fdHJ5Q29ubmVjdCgpJiYodGhpcy5fcmVjb25uZWN0Q291bnQrPTEpfV90cnlDb25uZWN0KCl7cmV0dXJuIXRoaXMuX2lzQ29ubmVjdGlvbkZvcmJpZGRlbiYmKHRoaXMuX2NsZWFyUmVjb25uZWN0VGltZW91dCgpLHRoaXMuX2xhc3RDb25uZWN0Q2FsbFN0YWNrPW5ldyBFcnJvcihgV2ViU29ja2V0IGNvbm5lY3Qgc3RhY2suIElzIGNvbm5lY3RlZDogJHt0aGlzLmlzQ29ubmVjdGVkKCl9LmApLnN0YWNrfHwiIiwhdGhpcy5pc0Nvbm5lY3RlZCgpJiYodGhpcy5kaXNjb25uZWN0KCksdGhpcy5fcmVjb25uZWN0V2hlbk9ubGluZSgpLCEwKSl9X2NsZWFyT25saW5lQ2FuY2VsbGF0aW9uVG9rZW4oKXt0aGlzLl9vbmxpbmVDYW5jZWxsYXRpb25Ub2tlbiYmKHRoaXMuX29ubGluZUNhbmNlbGxhdGlvblRva2VuKCksdGhpcy5fb25saW5lQ2FuY2VsbGF0aW9uVG9rZW49bnVsbCl9X2NsZWFyUmVjb25uZWN0VGltZW91dCgpe251bGwhPT10aGlzLl9yZWNvbm5lY3RUaW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMuX3JlY29ubmVjdFRpbWVvdXQpLHRoaXMuX3JlY29ubmVjdFRpbWVvdXQ9bnVsbCl9X3JlY29ubmVjdFdoZW5PbmxpbmUoKXtpZihuYXZpZ2F0b3Iub25MaW5lKXJldHVybiB0aGlzLl9sb2dNZXNzYWdlKDAsIk5ldHdvcmsgc3RhdHVzOiBvbmxpbmUgLSB0cnlpbmcgdG8gY29ubmVjdCIpLHRoaXMuX2RvQ29ubmVjdCgpLHZvaWQodGhpcy5fb25SZWNvbm5lY3QmJnRoaXMuX29uUmVjb25uZWN0KCkpO3RoaXMuX2xvZ01lc3NhZ2UoMCwiTmV0d29yayBzdGF0dXM6IG9mZmxpbmUgLSB3YWl0IHVudGlsIG9ubGluZSIpLHRoaXMuX29ubGluZUNhbmNlbGxhdGlvblRva2VuPWZ1bmN0aW9uKGUpe2xldCB0PWU7Y29uc3Qgbj0oKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvbmxpbmUiLG4pLHQmJnQoKX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJvbmxpbmUiLG4pLCgpPT57dD1udWxsfX0oKCgpPT57dGhpcy5fbG9nTWVzc2FnZSgwLCJOZXR3b3JrIHN0YXR1cyBjaGFuZ2VkIHRvIG9ubGluZSAtIHRyeWluZyB0byBjb25uZWN0IiksdGhpcy5fZG9Db25uZWN0KCksdGhpcy5fb25SZWNvbm5lY3QmJnRoaXMuX29uUmVjb25uZWN0KCl9KSl9Cl9vblRlbGVtZXRyeVNlbnQoZSl7IndlYnNvY2tldF9lcnJvciJpbiBlJiYodGhpcy5fZXJyb3JzQ291bnQ9MCx0aGlzLl9lcnJvcnNJbmZvU2VudD0hMSl9X3N0YXJ0UGluZygpe2lmKHRoaXMuX3BpbmdJbnRlcnZhbElkKXJldHVybjtjb25zdCBlPWsodGhpcy5nZXRIb3N0KCkpO2UucGF0aG5hbWUrPSJwaW5nIixlLnByb3RvY29sPSJodHRwczoiO2xldCB0PTAsbj0wO2NvbnN0IHM9ZT0+e3RoaXMuX3BpbmdJbmZvPXRoaXMuX3BpbmdJbmZvfHx7bWF4OjAsbWluOjEvMCxhdmc6MH07Y29uc3Qgcz0obmV3IERhdGUpLmdldFRpbWUoKS1lO3M+dGhpcy5fcGluZ0luZm8ubWF4JiYodGhpcy5fcGluZ0luZm8ubWF4PXMpLHM8dGhpcy5fcGluZ0luZm8ubWluJiYodGhpcy5fcGluZ0luZm8ubWluPXMpLHQrPXMsbisrLHRoaXMuX3BpbmdJbmZvLmF2Zz10L24sbj49MTAmJnRoaXMuX3BpbmdJbnRlcnZhbElkJiYoY2xlYXJJbnRlcnZhbCh0aGlzLl9waW5nSW50ZXJ2YWxJZCksZGVsZXRlIHRoaXMuX3BpbmdJbnRlcnZhbElkKX07dGhpcy5fcGluZ0ludGVydmFsSWQ9c2V0SW50ZXJ2YWwoKCgpPT57Y29uc3QgdD0obmV3IERhdGUpLmdldFRpbWUoKSxuPW5ldyBYTUxIdHRwUmVxdWVzdDtuLm9wZW4oIkdFVCIsZSwhMCksbi5zZW5kKCksbi5vbnJlYWR5c3RhdGVjaGFuZ2U9KCk9PntuLnJlYWR5U3RhdGU9PT1YTUxIdHRwUmVxdWVzdC5ET05FJiYyMDA9PT1uLnN0YXR1cyYmcyh0KX19KSwxZTQpfX0KY29uc3QgQz0id2lkZ2V0X3VzZXJfdG9rZW4tIix2PUpTT04ucGFyc2UoJ3siYWR4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tYWR4IiwiYWR4RCI6IndpZGdldF91c2VyX3Rva2VuLWFkeEQiLCJhZ2VuY2lhbGJtY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1hZ2VuY2lhbGJtY29tYnIiLCJhbGphemlyYWNhcGl0YWxEIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWxqYXppcmFjYXBpdGFsRCIsImFsamF6aXJhY2FwaXRhbFJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWxqYXppcmFjYXBpdGFsUlQiLCJhbHJhamhpY2FwaXRhbGNvbUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbHJhamhpY2FwaXRhbGNvbUQiLCJhbHJhamhpY2FwaXRhbGNvbVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWxyYWpoaWNhcGl0YWxjb21SVCIsImFtYml0byI6IndpZGdldF91c2VyX3Rva2VuLWFtYml0byIsImFyZW5heHRybyI6IndpZGdldF91c2VyX3Rva2VuLWFyZW5heHRybyIsImFydGVjaGVjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1BcnRlY2hlRCIsImF0bGNhcGl0YWwiOiJ3aWRnZXRfdXNlcl90b2tlbi1hdGxjYXBpdGFsIiwiYmFua2lyb3NydSI6IndpZGdldF91c2VyX3Rva2VuLWJhbmtpcm9zcnUiLCJiYnZhY2giOiJ3aWRnZXRfdXNlcl90b2tlbi1iYnZhY2giLCJiZWVrc2dyb3VwIjoid2lkZ2V0X3VzZXJfdG9rZW4tYmVla3Nncm91cCIsImJlbHVnYWdyb3VwcnUiOiJ3aWRnZXRfdXNlcl90b2tlbi1iZWx1Z2Fncm91cHJ1IiwiYml2YWNvbSI6IndpZGdldF91c2VyX3Rva2VuLWJpdmFjb20iLCJibHVlZmllbGQiOiJ3aWRnZXRfdXNlcl90b2tlbi1ibHVlZmllbGQiLCJibHVlbGluZWZ1dHVyZXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1ibHVlbGluZWZ1dHVyZXMiLCJib3Zlc3BhIjoid2lkZ2V0X3VzZXJfdG9rZW4tYm1mYm92ZXNwYWNvbWJyIiwiYnZicm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1idmJybyIsImJ5dGV0cmF2ZWwiOiJ3aWRnZXRfdXNlcl90b2tlbi1ieXRldHJhdmVsIiwiY2JvZWNhbmFkYSI6IndpZGdldF91c2VyX3Rva2VuLWNib2VjYW5hZGEiLCJjaGFtcGlvbm5hdGJvdXJzZSI6IndpZGdldF91c2VyX3Rva2VuLWNoYW1waW9ubmF0Ym91cnNlIiwiY2luY29kaWFzIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2luY29kaWFzIiwiY2VvY2FEIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2VvY2FEIiwiY2VvY2FSVCI6IndpZGdldF91c2VyX3Rva2VuLWNlb2NhUlQiLCJjbWNtYXJrZXRzIjoid2lkZ2V0X3VzZXJfdG9rZW4tY21jbWFya2V0cyIsImNvcGVlcyI6IndpZGdldF91c2VyX3Rva2VuLWNvcGVlcyIsImNzZWxrIjoid2lkZ2V0X3VzZXJfdG9rZW4tY3NlbGsiLCJkYWlseWZ4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZGFpbHlmeCIsImRlZXBzZWFyY2giOiJ3aWRnZXRfdXNlcl90b2tlbi1kZWVwc2VhcmNoIiwiZGVyYXlhaGNvbSI6IndpZGdldF91c2VyX3Rva2VuLWRlcmF5YWhjb20iLCJkZm1hZUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kZm1hZUQiLCJkZm1hZVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGZtYWVSVCIsImRpbmFyc2FEIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGluYXJzYUQiLCJkaW5hcnNhUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kaW5hcnNhUlQiLCJkb2xhcmhveSI6IndpZGdldF91c2VyX3Rva2VuLWRvbGFyaG95IiwiZWFzeW52ZXN0Y29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1lYXN5bnZlc3Rjb21iciIsImVkYWlseSI6IndpZGdldF91c2VyX3Rva2VuLWVkYWlseSIsImVsZXNwYW5vbGNvbSI6IndpZGdldF91c2VyX3Rva2VuLWVsZXNwYW5vbGNvbSIsImVsb2JyZXJvZXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1lbG9icmVyb2VzIiwiZWxuYWNpb25hbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1FbE5hY2lvbmFsRCIsImVscGFpc2ZpbmFuY2llcm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1lbHBhaXNmaW5hbmNpZXJvIiwiZWxwZXJpb2RpY29kZWxhZW5lcmdpYSI6IndpZGdldF91c2VyX3Rva2VuLWVscGVyaW9kaWNvZGVsYWVuZXJnaWEiLCJldXF1ZXJvaW52ZXN0aXIiOiJ3aWRnZXRfdXNlcl90b2tlbi1ldXF1ZXJvaW52ZXN0aXJjb20iLCJldXJleCI6IndpZGdldF91c2VyX3Rva2VuLWV1cmV4IiwiZXVyb2ZpbnMiOiJ3aWRnZXRfdXNlcl90b2tlbi1ldXJvZmlucyIsImVwZSI6IndpZGdldF91c2VyX3Rva2VuLWVwZSIsImV1cm9wYXByZXNzZXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1ldXJvcGFwcmVzc2VzIiwiZmluYW56YXNEIjoid2lkZ2V0X3VzZXJfdG9rZW4tRmluYW56YXNEIiwiZm9yYmVzY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1mb3JiZXNjb21iciIsImdlbmlhbGludmVzdGltZW50b3MiOiJ3aWRnZXRfdXNlcl90b2tlbi1nZW5pYWxpbnZlc3RpbWVudG9zIiwiaGVhbHRoaXRhbGlhIjoid2lkZ2V0X3VzZXJfdG9rZW4taGVhbHRoaXRhbGlhIiwiaGVnbmFybm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1oZWduYXJubyIsImhpcG90ZWNhcmlvY29tYXIiOiJ3aWRnZXRfdXNlcl90b2tlbi1oaXBvdGVjYXJpb2NvbWFyIiwiaWdjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1pZ2NvbSIsImludmVzdGVnYXRlY291ayI6IndpZGdldF91c2VyX3Rva2VuLWludmVzdGVnYXRlY291ayIsImludmVzdG9wZWRpYSI6IndpZGdldF91c2VyX3Rva2VuLWludmVzdG9wZWRpYSIsImludGVncmFseWF0aXJpbSI6IndpZGdldF91c2VyX3Rva2VuLWludGVncmFseWF0aXJpbSIsIml2c2dyb3VwIjoid2lkZ2V0X3VzZXJfdG9rZW4taXZzZ3JvdXAiLCJqc2Vjb3phIjoid2lkZ2V0X3VzZXJfdG9rZW4tanNlY296YSIsImJvZXJzZW56ZWl0dW5nIjoid2lkZ2V0X3VzZXJfdG9rZW4tYm9lcnNlbnplaXR1bmciLCJsYWluZm9ybWFjaW9uY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tbGFpbmZvcm1hY2lvbmNvbSIsIm1hcmNvcG9sb2NvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tbWFyY29wb2xvY29tYnIiLCJtZXJjYWRvZmluYW5jaWVyb2NvbSI6IndpZGdldF91c2VyX3Rva2VuLW1lcmNhZG9maW5hbmNpZXJvY29tIiwibW9leCI6IndpZGdldF91c2VyX3Rva2VuLW1vZXgiLCJtb25leXRpbWVzY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1tb25leXRpbWVzY29tYnIiLCJtb25pdG9yZG9tZXJjYWRvRCI6IndpZGdldF91c2VyX3Rva2VuLW1vbml0b3Jkb21lcmNhZG9EIiwibXluZXRjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1teW5ldGNvbSIsIm5lZ29jaW9zIjoid2lkZ2V0X3VzZXJfdG9rZW4tbmVnb2Npb3MiLCJOR1giOiJ3aWRnZXRfdXNlcl90b2tlbi1OR1giLCJOb3RpY2lhc2Fncmljb2xhRCI6IndpZGdldF91c2VyX3Rva2VuLW5vdGljaWFzYWdyaWNvbGFEIiwibm9tbW9tYSI6IndpZGdldF91c2VyX3Rva2VuLW5vbW1vbWEiLCJuc2Vjb2tyIjoid2lkZ2V0X3VzZXJfdG9rZW4tbnNlY29rciIsIm9rZGlhcmlvIjoid2lkZ2V0X3VzZXJfdG9rZW4tb2tkaWFyaW8iLCJwYW5hZnJpY2FucmVzb3VyY2VzY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tcGFuYWZyaWNhbnJlc291cmNlc2NvbSIsInBzZSI6IndpZGdldF91c2VyX3Rva2VuLXBzZSIsInBvZGVyMzYwIjoid2lkZ2V0X3VzZXJfdG9rZW4tcG9kZXIzNjAiLCJwc2VEIjoid2lkZ2V0X3VzZXJfdG9rZW4tcHNlRCIsInJpeWFkaGNhcGl0YWxEIjoid2lkZ2V0X3VzZXJfdG9rZW4tcml5YWRoY2FwaXRhbEQiLCJyaXlhZGhjYXBpdGFsUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1yaXlhZGhjYXBpdGFsUlQiLCJxZWNvbXFhIjoid2lkZ2V0X3VzZXJfdG9rZW4tcWVjb21xYSIsInNhbW9sZXQiOiJ3aWRnZXRfdXNlcl90b2tlbi1zYW1vbGV0Iiwic2VlaW5nbWFjaGluZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1zZWVpbmdtYWNoaW5lc2NvbSIsInNldWRpbmhlaXJvIjoid2lkZ2V0X3VzZXJfdG9rZW4tc2V1ZGluaGVpcm8iLCJzb2Z0d2FyZWFnIjoid2lkZ2V0X3VzZXJfdG9rZW4tc29mdHdhcmVhZyIsInNvZ2VjbGFpciI6IndpZGdldF91c2VyX3Rva2VuLXNvZ2VjbGFpciIsInNnY29tcGFueWl0Ijoid2lkZ2V0X3VzZXJfdG9rZW4tc2djb21wYW55aXQiLCJzaGFyZWp1bmN0aW9uIjoid2lkZ2V0X3VzZXJfdG9rZW4tc2hhcmVqdW5jdGlvbiIsInNtYXJ0bGFiLWN1c3RvbSI6IndpZGdldF91c2VyX3Rva2VuLXNtYXJ0bGFiIiwic21hcnRsYWIiOiJ3aWRnZXRfdXNlcl90b2tlbi1zbWFydGxhYiIsInNwYWNlbW9uZXljb21iciI6IndpZGdldF91c2VyX3Rva2VuLXNwYWNlbW9uZXljb21iciIsInN0b25leHdkZyI6IndpZGdldF91c2VyX3Rva2VuLXN0b25leMKjLSF3d3cuc3RvbmV4LmNvbSIsInN0b3hpbyI6IndpZGdldF91c2VyX3Rva2VuLXN0b3hpbyIsInN0b25leCI6IndpZGdldF91c2VyX3Rva2VuLXN0b25leCIsInRvcm9pbnZlc3RpbWVudG9zY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tdG9yb2ludmVzdGltZW50b3Njb20iLCJ0aGVjc2Vjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi10aGVjc2Vjb20iLCJ0cmFkZXJzY2x1YmJyYXNpbCI6IndpZGdldF91c2VyX3Rva2VuLXRyYWRlcnNjbHViYnJhc2lsIiwidHJhZGVyc2NsdWJicmFzaWxEIjoid2lkZ2V0X3VzZXJfdG9rZW4tdHJhZGVyc2NsdWJicmFzaWxEIiwidHJhZGluZ3ZpZXciOiJ3aWRnZXRfdXNlcl90b2tlbi10cmFkaW5ndmlldyIsInh0b29scyI6IndpZGdldF91c2VyX3Rva2VuLXh0b29scyIsInR3aXR0ZXIiOiJ3aWRnZXRfdXNlcl90b2tlbi10d2l0dGVyIiwidmVsb2NpdHljb21wb3NpdGVzY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tdmVsb2NpdHljb21wb3NpdGVzY29tIiwidm9jZXNhYWJyaWxjb21iciI6IndpZGdldF91c2VyX3Rva2VuLXZvY2VzYWFicmlsY29tYnIiLCJ3ZWFsdGhzaW1wbGUiOiJ3aWRnZXRfdXNlcl90b2tlbi13ZWFsdGhzaW1wbGXCoy0hbXkud2VhbHRoc2ltcGxlLmNvbSIsIndvcmxkY2hlc3Njb20iOiJ3aWRnZXRfdXNlcl90b2tlbi13b3JsZGNoZXNzY29tIiwieENydHlKa3NwIjoid2lkZ2V0X3VzZXJfdG9rZW4teENydHlKa3NwIiwieHBpY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi14cGljb21iciJ9Jylbd2luZG93LlRyYWRpbmdWaWV3JiZ3aW5kb3cuVHJhZGluZ1ZpZXcud2lkZ2V0Q3VzdG9tZXJ8fCIiXXx8IiIsUz12LnN0YXJ0c1dpdGgoQyk/di5zdWJzdHJpbmcoMTgpOiJ0cmFkaW5ndmlldyIKO3dpbmRvdy5XU0JhY2tlbmRDb25uZWN0aW9uPW5ldyBUKHdpbmRvdy5XRUJTT0NLRVRfSE9TVCx7cGluZ1JlcXVpcmVkOndpbmRvdy5XU19IT1NUX1BJTkdfUkVRVUlSRUQscHJvSG9zdDp3aW5kb3cuV0VCU09DS0VUX1BST19IT1NULHJlY29ubmVjdEhvc3Q6d2luZG93LldFQlNPQ0tFVF9IT1NUX0ZPUl9SRUNPTk5FQ1QsaW5pdGlhbEhvc3Q6d2luZG93LldFQlNPQ0tFVF9JTklUSUFMX0hPU1QsY29ubmVjdGlvblR5cGU6d2luZG93LldFQlNPQ0tFVF9DT05ORUNUSU9OX1RZUEUsYXBpS2V5OlN9KSx3aW5kb3cuV1NCYWNrZW5kQ29ubmVjdGlvbkN0b3I9VH0pKCk7Cgk8L3NjcmlwdD4KPC9oZWFkPgo8Ym9keT4KCTxzY3JpcHQgbm9uY2U9InVKQnhQNzVYbWx0bG81ZXV6dWdZR2c9PSI+CgkJKCgpPT57InVzZSBzdHJpY3QiO2NvbnN0IHQ9MTAxOTt2YXIgZSxzLG8sYSxkOyFmdW5jdGlvbih0KXt0LkFkYXB0aXZlPSJhZGFwdGl2ZSIsdC5SZWd1bGFyPSJyZWd1bGFyIix0LkNvbXBhY3Q9ImNvbXBhY3QifShlfHwoZT17fSkpLGZ1bmN0aW9uKHQpe3QuQWxsU3ltYm9scz0iYWxsX3N5bWJvbHMiLHQuTWFya2V0PSJtYXJrZXQiLHQuU3ltYm9sPSJzeW1ib2wifShzfHwocz17fSkpLGZ1bmN0aW9uKHQpe3QuQ3J5cHRvY3VycmVuY2llcz0iY3J5cHRvIix0LkN1cnJlbmNpZXM9ImZvcmV4Iix0LlN0b2Nrcz0ic3RvY2siLHQuSW5kaWNlcz0iaW5kZXgiLHQuRnV0dXJlcz0iZnV0dXJlcyIsdC5Cb25kcz0iY2ZkIn0ob3x8KG89e30pKSxmdW5jdGlvbih0KXt0LkhUTUw9Imh0bWwiLHQuUmVhY3Q9InJlYWN0In0oYXx8KGE9e30pKSxmdW5jdGlvbih0KXt0LlRoZW1lQ2xhc3NQcmVmaXg9InRoZW1lLSJ9KGR8fChkPXt9KSk7Y29uc3QgYz13aW5kb3c7Yy5pbml0RGF0YT1jLmluaXREYXRhfHx7fTtsZXQgaT1jLmluaXREYXRhLmhhc2hTZXR0aW5ncztpZihjLmluaXREYXRhLndpZGdldERlZmF1bHRzJiYoaT17Li4uYy5pbml0RGF0YS53aWRnZXREZWZhdWx0cywuLi5pfSksdm9pZCAwIT09aSl7aWYodm9pZCAwIT09aS5jb2xvclRoZW1lJiZmdW5jdGlvbih0LGU9d2luZG93KXtjb25zdCBzPSJ0aGVtZS0iK3Qsbz1lLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3Q7Zm9yKGNvbnN0IHQgb2YgQXJyYXkuZnJvbShvKSl0LnN0YXJ0c1dpdGgoInRoZW1lLSIpJiZ0IT09cyYmby5yZW1vdmUodCk7by5hZGQocyksZS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZGF0YXNldC50aGVtZT10fShpLmNvbG9yVGhlbWUpLChpLmlzVHJhbnNwYXJlbnR8fGkudHJhbnNwYXJlbmN5KSYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoImlzLXRyYW5zcGFyZW50Iiksdm9pZCAwIT09aS5kaXNwbGF5TW9kZSYmZnVuY3Rpb24ocyxvKXtpZihvPT09ZS5BZGFwdGl2ZSl7Y29uc3QgZT13aW5kb3cubWF0Y2hNZWRpYShgKG1heC13aWR0aDogJHt0fXB4KWApLG89KCk9PntzLmNsYXNzTGlzdC50b2dnbGUoInR2LWRpc3BsYXktbW9kZS1yZWd1bGFyIiwhZS5tYXRjaGVzKSxzLmNsYXNzTGlzdC50b2dnbGUoInR2LWRpc3BsYXktbW9kZS1jb21wYWN0IixlLm1hdGNoZXMpfTtvKCksZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLG8pfWVsc2Ugcy5jbGFzc0xpc3QudG9nZ2xlKCJ0di1kaXNwbGF5LW1vZGUtcmVndWxhciIsbz09PWUuUmVndWxhcikscy5jbGFzc0xpc3QudG9nZ2xlKCJ0di1kaXNwbGF5LW1vZGUtY29tcGFjdCIsbz09PWUuQ29tcGFjdCl9KGRvY3VtZW50LmJvZHksaS5kaXNwbGF5TW9kZSksaS5ib2R5Q2xhc3Nlcylmb3IoY29uc3QgdCBvZiBpLmJvZHlDbGFzc2VzKWRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCh0KTtpLmJvZHlfY2xhc3MmJmRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZChpLmJvZHlfY2xhc3MpLGkuYm9keUlkJiYoZG9jdW1lbnQuYm9keS5pZD1pLmJvZHlJZCl9fSkoKTsKCTwvc2NyaXB0PgoKCTxkaXYgaWQ9Im1lZGl1bXdpZGdldGVtYmVkIiBzdHlsZT0id2lkdGg6MTAwJTsgaGVpZ2h0OiAxMDAlIj48L2Rpdj4KCjxzY3JpcHQgbm9uY2U9InVKQnhQNzVYbWx0bG81ZXV6dWdZR2c9PSI+Cgl3aW5kb3cuaW5pdERhdGEgPSB3aW5kb3cuaW5pdERhdGEgfHwge307CgoJd2luZG93LmluaXREYXRhLnNub3dwbG93U2V0dGluZ3MgPSB7CgkJY29sbGVjdG9ySWQ6ICd0dl9jZicsCgkJdXJsOiAnc25vd3Bsb3ctcGl4ZWwudHJhZGluZ3ZpZXcuY29tJywKCQlwYXJhbXM6IHsKCQkJYXBwSWQ6ICd0cmFkaW5ndmlldycsCgkJCXBvc3RQYXRoOiAnL2NvbS50cmFkaW5ndmlldy90cmFjaycsCgkJfSwKCQllbmFibGVkOiB0cnVlLAoJfQo8L3NjcmlwdD48L2JvZHk+CjwvaHRtbD4="}},"time_used":163,"timings":{"blocked":-1,"dns":3,"connect":2,"send":0,"wait":150,"receive":0,"ssl":8},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/36166.7637be1cf2514504ac79.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.014Z","timestamp":1785120634014,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/36166.7637be1cf2514504ac79.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-52e1\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:20:17\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2ec751443f6c02983b0c0d20eba682b1\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":21217,"size_decoded":9572,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3063)","md5":"51776a5fc46a025b06d1b20c444a8934","sha1":"ded406bfe93dcf4112270cd3f1634b7bec2da0cf","sha256":"6619f156d8b0192fb34d6c756bf0bda361c55a6a2d79c9fe1117d9a83ad626df","sha512":"1a8c2a8de6868dcf9765cf86c13f9a9f50c87cc022a6142c3a48a4e8da04589a6c06376ccb2928de274dd64f5558784b2a5f2c5c13617c7c40ea38359ab819ad","ssdeep":"384:Ew9WKLri/jpKfQVAFzMnNReRhrt3bkiRWXxKziTObRcRbF:Ew9WKa9K4Gz4fejx1RWszhbe9F","tlshash":"8492b5c8b1e1f0e556e768a0807f444bf13a7d19349e9060a3a2d4d678b46dec07bf6e","first_seen":"2026-07-25T03:24:57.421925Z","last_seen":"2026-07-27T05:29:38.677195Z","times_seen":104,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szNjE2Niw4MDcwNl0sezcxMjc0NSh0LHIsZSl7dmFyIG47IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBvLHU9MWU2LGk9MWU2LGM9IltiaWcuanNdICIsZj1jKyJJbnZhbGlkICIscz1mKyJkZWNpbWFsIHBsYWNlcyIsYT1mKyJyb3VuZGluZyBtb2RlIixsPWMrIkRpdmlzaW9uIGJ5IHplcm8iLHA9e30saD12b2lkIDAsZD0vXi0/KFxkKyhcLlxkKik/fFwuXGQrKShlWystXT9cZCspPyQvaTtmdW5jdGlvbiB5KHQscixlLG4pe3ZhciBvPXQuYztpZihlPT09aCYmKGU9dC5jb25zdHJ1Y3Rvci5STSksMCE9PWUmJjEhPT1lJiYyIT09ZSYmMyE9PWUpdGhyb3cgRXJyb3IoYSk7aWYocjwxKW49Mz09PWUmJihufHwhIW9bMF0pfHwwPT09ciYmKDE9PT1lJiZvWzBdPj01fHwyPT09ZSYmKG9bMF0+NXx8NT09PW9bMF0mJihufHxvWzFdIT09aCkpKSxvLmxlbmd0aD0xLG4/KHQuZT10LmUtcisxLG9bMF09MSk6b1swXT10LmU9MDtlbHNlIGlmKHI8by5sZW5ndGgpe2lmKG49MT09PWUmJm9bcl0+PTV8fDI9PT1lJiYob1tyXT41fHw1PT09b1tyXSYmKG58fG9bcisxXSE9PWh8fDEmb1tyLTFdKSl8fDM9PT1lJiYobnx8ISFvWzBdKSxvLmxlbmd0aD1yLS0sbilmb3IoOysrb1tyXT45OylvW3JdPTAsci0tfHwoKyt0LmUsby51bnNoaWZ0KDEpKTtmb3Iocj1vLmxlbmd0aDshb1stLXJdOylvLnBvcCgpfXJldHVybiB0fWZ1bmN0aW9uIHYodCxyLGUpe3ZhciBuPXQuZSxvPXQuYy5qb2luKCIiKSx1PW8ubGVuZ3RoO2lmKHIpbz1vLmNoYXJBdCgwKSsodT4xPyIuIitvLnNsaWNlKDEpOiIiKSsobjwwPyJlIjoiZSsiKStuO2Vsc2UgaWYobjwwKXtmb3IoOysrbjspbz0iMCIrbztvPSIwLiIrb31lbHNlIGlmKG4+MClpZigrK24+dSlmb3Iobi09dTtuLS07KW8rPSIwIjtlbHNlIG48dSYmKG89by5zbGljZSgwLG4pKyIuIitvLnNsaWNlKG4pKTtlbHNlIHU+MSYmKG89by5jaGFyQXQoMCkrIi4iK28uc2xpY2UoMSkpO3JldHVybiB0LnM8MCYmZT8iLSIrbzpvfXAuYWJzPWZ1bmN0aW9uKCl7dmFyIHQ9bmV3IHRoaXMuY29uc3RydWN0b3IodGhpcyk7cmV0dXJuIHQucz0xLHR9LHAuY21wPWZ1bmN0aW9uKHQpe3ZhciByLGU9dGhpcyxuPWUuYyxvPSh0PW5ldyBlLmNvbnN0cnVjdG9yKHQpKS5jLHU9ZS5zLGk9dC5zLGM9ZS5lLGY9dC5lO2lmKCFuWzBdfHwhb1swXSlyZXR1cm4gblswXT91Om9bMF0/LWk6MDtpZih1IT1pKXJldHVybiB1O2lmKHI9dTwwLGMhPWYpcmV0dXJuIGM+Zl5yPzE6LTE7Zm9yKGk9KGM9bi5sZW5ndGgpPChmPW8ubGVuZ3RoKT9jOmYsdT0tMTsrK3U8aTspaWYoblt1XSE9b1t1XSlyZXR1cm4gblt1XT5vW3VdXnI/MTotMTtyZXR1cm4gYz09Zj8wOmM+Zl5yPzE6LTF9LHAuZGl2PWZ1bmN0aW9uKHQpe3ZhciByPXRoaXMsZT1yLmNvbnN0cnVjdG9yLG49ci5jLG89KHQ9bmV3IGUodCkpLmMsaT1yLnM9PXQucz8xOi0xLGM9ZS5EUDtpZihjIT09fn5jfHxjPDB8fGM+dSl0aHJvdyBFcnJvcihzKTtpZighb1swXSl0aHJvdyBFcnJvcihsKTtpZighblswXSlyZXR1cm4gdC5zPWksdC5jPVt0LmU9MF0sdDt2YXIgZixhLHAsZCx2LHc9by5zbGljZSgpLGI9Zj1vLmxlbmd0aCxnPW4ubGVuZ3RoLG09bi5zbGljZSgwLGYpLEU9bS5sZW5ndGgsXz10LFM9Xy5jPVtdLE89MCxqPWMrKF8uZT1yLmUtdC5lKSsxO2ZvcihfLnM9aSxpPWo8MD8wOmosdy51bnNoaWZ0KDApO0UrKzxmOyltLnB1c2goMCk7ZG97Zm9yKHA9MDtwPDEwO3ArKyl7aWYoZiE9KEU9bS5sZW5ndGgpKWQ9Zj5FPzE6LTE7ZWxzZSBmb3Iodj0tMSxkPTA7Kyt2PGY7KWlmKG9bdl0hPW1bdl0pe2Q9b1t2XT5tW3ZdPzE6LTE7YnJlYWt9aWYoIShkPDApKWJyZWFrO2ZvcihhPUU9PWY/bzp3O0U7KXtpZihtWy0tRV08YVtFXSl7Zm9yKHY9RTt2JiYhbVstLXZdOyltW3ZdPTk7LS1tW3ZdLG1bRV0rPTEwfW1bRV0tPWFbRV19Zm9yKDshbVswXTspbS5zaGlmdCgpfVNbTysrXT1kP3A6KytwLG1bMF0mJmQ/bVtFXT1uW2JdfHwwOm09W25bYl1dfXdoaWxlKChiKys8Z3x8bVswXSE9PWgpJiZpLS0pO3JldHVybiBTWzBdfHwxPT1PfHwoUy5zaGlmdCgpLF8uZS0tLGotLSksTz5qJiZ5KF8saixlLlJNLG1bMF0hPT1oKSxffSxwLmVxPWZ1bmN0aW9uKHQpe3JldHVybiAwPT09dGhpcy5jbXAodCl9LHAuZ3Q9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY21wKHQpPjB9LHAuZ3RlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNtcCh0KT4tMX0scC5sdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbXAodCk8MH0scC5sdGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY21wKHQpPDF9LHAubWludXM9cC5zdWI9ZnVuY3Rpb24odCl7dmFyIHIsZSxuLG8sdT10aGlzLGk9dS5jb25zdHJ1Y3RvcixjPXUucyxmPSh0PW5ldyBpKHQpKS5zO2lmKGMhPWYpcmV0dXJuIHQucz0tZix1LnBsdXModCk7dmFyIHM9dS5jLnNsaWNlKCksYT11LmUsbD10LmMscD10LmU7aWYoIXNbMF18fCFsWzBdKXJldHVybiBsWzBdP3Qucz0tZjpzWzBdP3Q9bmV3IGkodSk6dC5zPTEsdDtpZihjPWEtcCl7Zm9yKChvPWM8MCk/KGM9LWMsbj1zKToocD1hLG49bCksbi5yZXZlcnNlKCksZj1jO2YtLTspbi5wdXNoKDApO24ucmV2ZXJzZSgpfWVsc2UgZm9yKGU9KChvPXMubGVuZ3RoPGwubGVuZ3RoKT9zOmwpLmxlbmd0aCxjPWY9MDtmPGU7ZisrKWlmKHNbZl0hPWxbZl0pe289c1tmXTxsW2ZdO2JyZWFrfWlmKG8mJihuPXMscz1sLGw9bix0LnM9LXQucyksKGY9KGU9bC5sZW5ndGgpLShyPXMubGVuZ3RoKSk+MClmb3IoO2YtLTspc1tyKytdPTA7Zm9yKGY9cjtlPmM7KXtpZihzWy0tZV08bFtlXSl7Zm9yKHI9ZTtyJiYhc1stLXJdOylzW3JdPTk7LS1zW3JdLHNbZV0rPTEwfXNbZV0tPWxbZV19Zm9yKDswPT09c1stLWZdOylzLnBvcCgpO2Zvcig7MD09PXNbMF07KXMuc2hpZnQoKSwtLXA7cmV0dXJuIHNbMF18fCh0LnM9MSxzPVtwPTBdKSx0LmM9cyx0LmU9cCx0fSxwLm1vZD1mdW5jdGlvbih0KXsKdmFyIHIsZT10aGlzLG49ZS5jb25zdHJ1Y3RvcixvPWUucyx1PSh0PW5ldyBuKHQpKS5zO2lmKCF0LmNbMF0pdGhyb3cgRXJyb3IobCk7cmV0dXJuIGUucz10LnM9MSxyPTE9PXQuY21wKGUpLGUucz1vLHQucz11LHI/bmV3IG4oZSk6KG89bi5EUCx1PW4uUk0sbi5EUD1uLlJNPTAsZT1lLmRpdih0KSxuLkRQPW8sbi5STT11LHRoaXMubWludXMoZS50aW1lcyh0KSkpfSxwLnBsdXM9cC5hZGQ9ZnVuY3Rpb24odCl7dmFyIHIsZSxuLG89dGhpcyx1PW8uY29uc3RydWN0b3I7aWYodD1uZXcgdSh0KSxvLnMhPXQucylyZXR1cm4gdC5zPS10LnMsby5taW51cyh0KTt2YXIgaT1vLmUsYz1vLmMsZj10LmUscz10LmM7aWYoIWNbMF18fCFzWzBdKXJldHVybiBzWzBdfHwoY1swXT90PW5ldyB1KG8pOnQucz1vLnMpLHQ7aWYoYz1jLnNsaWNlKCkscj1pLWYpe2ZvcihyPjA/KGY9aSxuPXMpOihyPS1yLG49Yyksbi5yZXZlcnNlKCk7ci0tOyluLnB1c2goMCk7bi5yZXZlcnNlKCl9Zm9yKGMubGVuZ3RoLXMubGVuZ3RoPDAmJihuPXMscz1jLGM9bikscj1zLmxlbmd0aCxlPTA7cjtjW3JdJT0xMCllPShjWy0tcl09Y1tyXStzW3JdK2UpLzEwfDA7Zm9yKGUmJihjLnVuc2hpZnQoZSksKytmKSxyPWMubGVuZ3RoOzA9PT1jWy0tcl07KWMucG9wKCk7cmV0dXJuIHQuYz1jLHQuZT1mLHR9LHAucG93PWZ1bmN0aW9uKHQpe3ZhciByPXRoaXMsZT1uZXcgci5jb25zdHJ1Y3RvcigiMSIpLG49ZSxvPXQ8MDtpZih0IT09fn50fHx0PC0xZTZ8fHQ+aSl0aHJvdyBFcnJvcihmKyJleHBvbmVudCIpO2ZvcihvJiYodD0tdCk7MSZ0JiYobj1uLnRpbWVzKHIpKSx0Pj49MTspcj1yLnRpbWVzKHIpO3JldHVybiBvP2UuZGl2KG4pOm59LHAucHJlYz1mdW5jdGlvbih0LHIpe2lmKHQhPT1+fnR8fHQ8MXx8dD51KXRocm93IEVycm9yKGYrInByZWNpc2lvbiIpO3JldHVybiB5KG5ldyB0aGlzLmNvbnN0cnVjdG9yKHRoaXMpLHQscil9LHAucm91bmQ9ZnVuY3Rpb24odCxyKXtpZih0PT09aCl0PTA7ZWxzZSBpZih0IT09fn50fHx0PC11fHx0PnUpdGhyb3cgRXJyb3Iocyk7cmV0dXJuIHkobmV3IHRoaXMuY29uc3RydWN0b3IodGhpcyksdCt0aGlzLmUrMSxyKX0scC5zcXJ0PWZ1bmN0aW9uKCl7dmFyIHQscixlLG49dGhpcyxvPW4uY29uc3RydWN0b3IsdT1uLnMsaT1uLmUsZj1uZXcgbygiMC41Iik7aWYoIW4uY1swXSlyZXR1cm4gbmV3IG8obik7aWYodTwwKXRocm93IEVycm9yKGMrIk5vIHNxdWFyZSByb290Iik7MD09PSh1PU1hdGguc3FydChuKyIiKSl8fHU9PT0xLzA/KChyPW4uYy5qb2luKCIiKSkubGVuZ3RoK2kmMXx8KHIrPSIwIiksaT0oKGkrMSkvMnwwKS0oaTwwfHwxJmkpLHQ9bmV3IG8oKCh1PU1hdGguc3FydChyKSk9PTEvMD8iNWUiOih1PXUudG9FeHBvbmVudGlhbCgpKS5zbGljZSgwLHUuaW5kZXhPZigiZSIpKzEpKStpKSk6dD1uZXcgbyh1KyIiKSxpPXQuZSsoby5EUCs9NCk7ZG97ZT10LHQ9Zi50aW1lcyhlLnBsdXMobi5kaXYoZSkpKX13aGlsZShlLmMuc2xpY2UoMCxpKS5qb2luKCIiKSE9PXQuYy5zbGljZSgwLGkpLmpvaW4oIiIpKTtyZXR1cm4geSh0LChvLkRQLT00KSt0LmUrMSxvLlJNKX0scC50aW1lcz1wLm11bD1mdW5jdGlvbih0KXt2YXIgcixlPXRoaXMsbj1lLmNvbnN0cnVjdG9yLG89ZS5jLHU9KHQ9bmV3IG4odCkpLmMsaT1vLmxlbmd0aCxjPXUubGVuZ3RoLGY9ZS5lLHM9dC5lO2lmKHQucz1lLnM9PXQucz8xOi0xLCFvWzBdfHwhdVswXSlyZXR1cm4gdC5jPVt0LmU9MF0sdDtmb3IodC5lPWYrcyxpPGMmJihyPW8sbz11LHU9cixzPWksaT1jLGM9cykscj1uZXcgQXJyYXkocz1pK2MpO3MtLTspcltzXT0wO2ZvcihmPWM7Zi0tOyl7Zm9yKGM9MCxzPWkrZjtzPmY7KWM9cltzXSt1W2ZdKm9bcy1mLTFdK2MscltzLS1dPWMlMTAsYz1jLzEwfDA7cltzXT1jfWZvcihjPysrdC5lOnIuc2hpZnQoKSxmPXIubGVuZ3RoOyFyWy0tZl07KXIucG9wKCk7cmV0dXJuIHQuYz1yLHR9LHAudG9FeHBvbmVudGlhbD1mdW5jdGlvbih0LHIpe3ZhciBlPXRoaXMsbj1lLmNbMF07aWYodCE9PWgpe2lmKHQhPT1+fnR8fHQ8MHx8dD51KXRocm93IEVycm9yKHMpO2ZvcihlPXkobmV3IGUuY29uc3RydWN0b3IoZSksKyt0LHIpO2UuYy5sZW5ndGg8dDspZS5jLnB1c2goMCl9cmV0dXJuIHYoZSwhMCwhIW4pfSxwLnRvRml4ZWQ9ZnVuY3Rpb24odCxyKXt2YXIgZT10aGlzLG49ZS5jWzBdO2lmKHQhPT1oKXtpZih0IT09fn50fHx0PDB8fHQ+dSl0aHJvdyBFcnJvcihzKTtmb3IodD10KyhlPXkobmV3IGUuY29uc3RydWN0b3IoZSksdCtlLmUrMSxyKSkuZSsxO2UuYy5sZW5ndGg8dDspZS5jLnB1c2goMCl9cmV0dXJuIHYoZSwhMSwhIW4pfSxwLnRvSlNPTj1wLnRvU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxyPXQuY29uc3RydWN0b3I7cmV0dXJuIHYodCx0LmU8PXIuTkV8fHQuZT49ci5QRSwhIXQuY1swXSl9LHAudG9OdW1iZXI9ZnVuY3Rpb24oKXt2YXIgdD1OdW1iZXIodih0aGlzLCEwLCEwKSk7aWYoITA9PT10aGlzLmNvbnN0cnVjdG9yLnN0cmljdCYmIXRoaXMuZXEodC50b1N0cmluZygpKSl0aHJvdyBFcnJvcihjKyJJbXByZWNpc2UgY29udmVyc2lvbiIpO3JldHVybiB0fSxwLnRvUHJlY2lzaW9uPWZ1bmN0aW9uKHQscil7dmFyIGU9dGhpcyxuPWUuY29uc3RydWN0b3Isbz1lLmNbMF07aWYodCE9PWgpe2lmKHQhPT1+fnR8fHQ8MXx8dD51KXRocm93IEVycm9yKGYrInByZWNpc2lvbiIpO2ZvcihlPXkobmV3IG4oZSksdCxyKTtlLmMubGVuZ3RoPHQ7KWUuYy5wdXNoKDApfXJldHVybiB2KGUsdDw9ZS5lfHxlLmU8PW4uTkV8fGUuZT49bi5QRSwhIW8pfSxwLnZhbHVlT2Y9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLHI9dC5jb25zdHJ1Y3RvcjtpZighMD09PXIuc3RyaWN0KXRocm93IEVycm9yKGMrInZhbHVlT2YgZGlzYWxsb3dlZCIpO3JldHVybiB2KHQsdC5lPD1yLk5FfHx0LmU+PXIuUEUsITApfSxvPWZ1bmN0aW9uIHQoKXtmdW5jdGlvbiByKGUpe3ZhciBuPXRoaXM7aWYoIShuIGluc3RhbmNlb2YgcikpcmV0dXJuIGU9PT1oP3QoKTpuZXcgcihlKTtpZihlIGluc3RhbmNlb2YgciluLnM9ZS5zLG4uZT1lLmUsCm4uYz1lLmMuc2xpY2UoKTtlbHNle2lmKCJzdHJpbmciIT10eXBlb2YgZSl7aWYoITA9PT1yLnN0cmljdCl0aHJvdyBUeXBlRXJyb3IoZisibnVtYmVyIik7ZT0wPT09ZSYmMS9lPDA/Ii0wIjpTdHJpbmcoZSl9IWZ1bmN0aW9uKHQscil7dmFyIGUsbixvO2lmKCFkLnRlc3QocikpdGhyb3cgRXJyb3IoZisibnVtYmVyIik7dC5zPSItIj09ci5jaGFyQXQoMCk/KHI9ci5zbGljZSgxKSwtMSk6MSwoZT1yLmluZGV4T2YoIi4iKSk+LTEmJihyPXIucmVwbGFjZSgiLiIsIiIpKTsobj1yLnNlYXJjaCgvZS9pKSk+MD8oZTwwJiYoZT1uKSxlKz0rci5zbGljZShuKzEpLHI9ci5zdWJzdHJpbmcoMCxuKSk6ZTwwJiYoZT1yLmxlbmd0aCk7Zm9yKG89ci5sZW5ndGgsbj0wO248byYmIjAiPT1yLmNoYXJBdChuKTspKytuO2lmKG49PW8pdC5jPVt0LmU9MF07ZWxzZXtmb3IoO28+MCYmIjAiPT1yLmNoYXJBdCgtLW8pOyk7Zm9yKHQuZT1lLW4tMSx0LmM9W10sZT0wO248PW87KXQuY1tlKytdPStyLmNoYXJBdChuKyspfX0obixlKX1uLmNvbnN0cnVjdG9yPXJ9cmV0dXJuIHIucHJvdG90eXBlPXAsci5EUD0yMCxyLlJNPTEsci5ORT0tNyxyLlBFPTIxLHIuc3RyaWN0PWZhbHNlLHIucm91bmREb3duPTAsci5yb3VuZEhhbGZVcD0xLHIucm91bmRIYWxmRXZlbj0yLHIucm91bmRVcD0zLHJ9KCksby5kZWZhdWx0PW8uQmlnPW8sdm9pZCAwPT09KG49ZnVuY3Rpb24oKXtyZXR1cm4gb30uY2FsbChyLGUscix0KSl8fCh0LmV4cG9ydHM9bil9KCl9LDkxNDQ4Nyh0LHIpe3ZhciBlOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj17fS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBvKCl7Zm9yKHZhciB0PVtdLHI9MDtyPGFyZ3VtZW50cy5sZW5ndGg7cisrKXt2YXIgZT1hcmd1bWVudHNbcl07aWYoZSl7dmFyIHU9dHlwZW9mIGU7aWYoInN0cmluZyI9PT11fHwibnVtYmVyIj09PXUpdC5wdXNoKGUpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShlKSYmZS5sZW5ndGgpe3ZhciBpPW8uYXBwbHkobnVsbCxlKTtpJiZ0LnB1c2goaSl9ZWxzZSBpZigib2JqZWN0Ij09PXUpZm9yKHZhciBjIGluIGUpbi5jYWxsKGUsYykmJmVbY10mJnQucHVzaChjKX19cmV0dXJuIHQuam9pbigiICIpfXQuZXhwb3J0cz8oby5kZWZhdWx0PW8sdC5leHBvcnRzPW8pOnZvaWQgMD09PShlPWZ1bmN0aW9uKCl7cmV0dXJuIG99LmFwcGx5KHIsW10pKXx8KHQuZXhwb3J0cz1lKX0oKX0sMTg1MjcxKHQscixlKXsidXNlIHN0cmljdCI7ZS5yKHIpLGUuZChyLHt0OigpPT5uLnQsd2l0aFRyYW5zbGF0aW9uQ29udGV4dDooKT0+b30pO2UoODI5MTgwKTt2YXIgbj1lKDc4MzI1NCk7ZnVuY3Rpb24gbyh0KXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfX0sOTYzMDk4KHQscixlKXsidXNlIHN0cmljdCI7ZS5kKHIse2dldElzb0xhbmd1YWdlQ29kZUZyb21MYW5ndWFnZTooKT0+b30pO2NvbnN0IG49e2FyX0FFOiJhciIsYnI6InB0IixkZV9ERToiZGUiLGNhX0VTOiJjYSIsaGVfSUw6ImhlIixpZF9JRDoiaWQiLGluOiJlbiIsa3I6ImtvIixtc19NWToibXMiLHN2X1NFOiJzdiIsdGhfVEg6InRoIix1azoiZW4iLHZpX1ZOOiJ2aSIsemhfQ046InpoLUhhbnMiLHpoX1RXOiJ6aC1IYW50Iix6aDoiemgtSGFucyIsaHVfSFU6Imh1LUhVIn07ZnVuY3Rpb24gbyh0KXtyZXR1cm4gblt0XXx8dH19LDEyMjc0OSh0LHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT1TeW1ib2wuZm9yKCJyZWFjdC5lbGVtZW50Iiksbj1TeW1ib2wuZm9yKCJyZWFjdC5wb3J0YWwiKSxvPVN5bWJvbC5mb3IoInJlYWN0LmZyYWdtZW50IiksdT1TeW1ib2wuZm9yKCJyZWFjdC5zdHJpY3RfbW9kZSIpLGk9U3ltYm9sLmZvcigicmVhY3QucHJvZmlsZXIiKSxjPVN5bWJvbC5mb3IoInJlYWN0LnByb3ZpZGVyIiksZj1TeW1ib2wuZm9yKCJyZWFjdC5jb250ZXh0Iikscz1TeW1ib2wuZm9yKCJyZWFjdC5mb3J3YXJkX3JlZiIpLGE9U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2UiKSxsPVN5bWJvbC5mb3IoInJlYWN0Lm1lbW8iKSxwPVN5bWJvbC5mb3IoInJlYWN0LmxhenkiKSxoPVN5bWJvbC5pdGVyYXRvcjt2YXIgZD17aXNNb3VudGVkOmZ1bmN0aW9uKCl7cmV0dXJuITF9LGVucXVldWVGb3JjZVVwZGF0ZTpmdW5jdGlvbigpe30sZW5xdWV1ZVJlcGxhY2VTdGF0ZTpmdW5jdGlvbigpe30sZW5xdWV1ZVNldFN0YXRlOmZ1bmN0aW9uKCl7fX0seT1PYmplY3QuYXNzaWduLHY9e307ZnVuY3Rpb24gdyh0LHIsZSl7dGhpcy5wcm9wcz10LHRoaXMuY29udGV4dD1yLHRoaXMucmVmcz12LHRoaXMudXBkYXRlcj1lfHxkfWZ1bmN0aW9uIGIoKXt9ZnVuY3Rpb24gZyh0LHIsZSl7dGhpcy5wcm9wcz10LHRoaXMuY29udGV4dD1yLHRoaXMucmVmcz12LHRoaXMudXBkYXRlcj1lfHxkfXcucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9e30sdy5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24odCxyKXtpZigib2JqZWN0IiE9dHlwZW9mIHQmJiJmdW5jdGlvbiIhPXR5cGVvZiB0JiZudWxsIT10KXRocm93IEVycm9yKCJzZXRTdGF0ZSguLi4pOiB0YWtlcyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzIHRvIHVwZGF0ZSBvciBhIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcy4iKTt0aGlzLnVwZGF0ZXIuZW5xdWV1ZVNldFN0YXRlKHRoaXMsdCxyLCJzZXRTdGF0ZSIpfSx3LnByb3RvdHlwZS5mb3JjZVVwZGF0ZT1mdW5jdGlvbih0KXt0aGlzLnVwZGF0ZXIuZW5xdWV1ZUZvcmNlVXBkYXRlKHRoaXMsdCwiZm9yY2VVcGRhdGUiKX0sYi5wcm90b3R5cGU9dy5wcm90b3R5cGU7dmFyIG09Zy5wcm90b3R5cGU9bmV3IGI7bS5jb25zdHJ1Y3Rvcj1nLHkobSx3LnByb3RvdHlwZSksbS5pc1B1cmVSZWFjdENvbXBvbmVudD0hMDt2YXIgRT1BcnJheS5pc0FycmF5LF89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxTPXtjdXJyZW50Om51bGx9LE89e2tleTohMCxyZWY6ITAsX19zZWxmOiEwLF9fc291cmNlOiEwfTtmdW5jdGlvbiBqKHQscixuKXt2YXIgbyx1PXt9LGk9bnVsbCxjPW51bGwKO2lmKG51bGwhPXIpZm9yKG8gaW4gdm9pZCAwIT09ci5yZWYmJihjPXIucmVmKSx2b2lkIDAhPT1yLmtleSYmKGk9IiIrci5rZXkpLHIpXy5jYWxsKHIsbykmJiFPLmhhc093blByb3BlcnR5KG8pJiYodVtvXT1yW29dKTt2YXIgZj1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PWYpdS5jaGlsZHJlbj1uO2Vsc2UgaWYoMTxmKXtmb3IodmFyIHM9QXJyYXkoZiksYT0wO2E8ZjthKyspc1thXT1hcmd1bWVudHNbYSsyXTt1LmNoaWxkcmVuPXN9aWYodCYmdC5kZWZhdWx0UHJvcHMpZm9yKG8gaW4gZj10LmRlZmF1bHRQcm9wcyl2b2lkIDA9PT11W29dJiYodVtvXT1mW29dKTtyZXR1cm57JCR0eXBlb2Y6ZSx0eXBlOnQsa2V5OmkscmVmOmMscHJvcHM6dSxfb3duZXI6Uy5jdXJyZW50fX1mdW5jdGlvbiBQKHQpe3JldHVybiJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXQmJnQuJCR0eXBlb2Y9PT1lfXZhciBSPS9cLysvZztmdW5jdGlvbiBrKHQscil7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiB0JiZudWxsIT09dCYmbnVsbCE9dC5rZXk/ZnVuY3Rpb24odCl7dmFyIHI9eyI9IjoiPTAiLCI6IjoiPTIifTtyZXR1cm4iJCIrdC5yZXBsYWNlKC9bPTpdL2csKGZ1bmN0aW9uKHQpe3JldHVybiByW3RdfSkpfSgiIit0LmtleSk6ci50b1N0cmluZygzNil9ZnVuY3Rpb24geCh0LHIsbyx1LGkpe3ZhciBjPXR5cGVvZiB0OyJ1bmRlZmluZWQiIT09YyYmImJvb2xlYW4iIT09Y3x8KHQ9bnVsbCk7dmFyIGY9ITE7aWYobnVsbD09PXQpZj0hMDtlbHNlIHN3aXRjaChjKXtjYXNlInN0cmluZyI6Y2FzZSJudW1iZXIiOmY9ITA7YnJlYWs7Y2FzZSJvYmplY3QiOnN3aXRjaCh0LiQkdHlwZW9mKXtjYXNlIGU6Y2FzZSBuOmY9ITB9fWlmKGYpcmV0dXJuIGk9aShmPXQpLHQ9IiI9PT11PyIuIitrKGYsMCk6dSxFKGkpPyhvPSIiLG51bGwhPXQmJihvPXQucmVwbGFjZShSLCIkJi8iKSsiLyIpLHgoaSxyLG8sIiIsKGZ1bmN0aW9uKHQpe3JldHVybiB0fSkpKTpudWxsIT1pJiYoUChpKSYmKGk9ZnVuY3Rpb24odCxyKXtyZXR1cm57JCR0eXBlb2Y6ZSx0eXBlOnQudHlwZSxrZXk6cixyZWY6dC5yZWYscHJvcHM6dC5wcm9wcyxfb3duZXI6dC5fb3duZXJ9fShpLG8rKCFpLmtleXx8ZiYmZi5rZXk9PT1pLmtleT8iIjooIiIraS5rZXkpLnJlcGxhY2UoUiwiJCYvIikrIi8iKSt0KSksci5wdXNoKGkpKSwxO2lmKGY9MCx1PSIiPT09dT8iLiI6dSsiOiIsRSh0KSlmb3IodmFyIHM9MDtzPHQubGVuZ3RoO3MrKyl7dmFyIGE9dStrKGM9dFtzXSxzKTtmKz14KGMscixvLGEsaSl9ZWxzZSBpZihhPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT09dHx8Im9iamVjdCIhPXR5cGVvZiB0P251bGw6ImZ1bmN0aW9uIj09dHlwZW9mKHQ9aCYmdFtoXXx8dFsiQEBpdGVyYXRvciJdKT90Om51bGx9KHQpLCJmdW5jdGlvbiI9PXR5cGVvZiBhKWZvcih0PWEuY2FsbCh0KSxzPTA7IShjPXQubmV4dCgpKS5kb25lOylmKz14KGM9Yy52YWx1ZSxyLG8sYT11K2soYyxzKyspLGkpO2Vsc2UgaWYoIm9iamVjdCI9PT1jKXRocm93IHI9U3RyaW5nKHQpLEVycm9yKCJPYmplY3RzIGFyZSBub3QgdmFsaWQgYXMgYSBSZWFjdCBjaGlsZCAoZm91bmQ6ICIrKCJbb2JqZWN0IE9iamVjdF0iPT09cj8ib2JqZWN0IHdpdGgga2V5cyB7IitPYmplY3Qua2V5cyh0KS5qb2luKCIsICIpKyJ9IjpyKSsiKS4gSWYgeW91IG1lYW50IHRvIHJlbmRlciBhIGNvbGxlY3Rpb24gb2YgY2hpbGRyZW4sIHVzZSBhbiBhcnJheSBpbnN0ZWFkLiIpO3JldHVybiBmfWZ1bmN0aW9uIE4odCxyLGUpe2lmKG51bGw9PXQpcmV0dXJuIHQ7dmFyIG49W10sbz0wO3JldHVybiB4KHQsbiwiIiwiIiwoZnVuY3Rpb24odCl7cmV0dXJuIHIuY2FsbChlLHQsbysrKX0pKSxufWZ1bmN0aW9uIEModCl7aWYoLTE9PT10Ll9zdGF0dXMpe3ZhciByPXQuX3Jlc3VsdDsocj1yKCkpLnRoZW4oKGZ1bmN0aW9uKHIpezAhPT10Ll9zdGF0dXMmJi0xIT09dC5fc3RhdHVzfHwodC5fc3RhdHVzPTEsdC5fcmVzdWx0PXIpfSksKGZ1bmN0aW9uKHIpezAhPT10Ll9zdGF0dXMmJi0xIT09dC5fc3RhdHVzfHwodC5fc3RhdHVzPTIsdC5fcmVzdWx0PXIpfSkpLC0xPT09dC5fc3RhdHVzJiYodC5fc3RhdHVzPTAsdC5fcmVzdWx0PXIpfWlmKDE9PT10Ll9zdGF0dXMpcmV0dXJuIHQuX3Jlc3VsdC5kZWZhdWx0O3Rocm93IHQuX3Jlc3VsdH12YXIgQT17Y3VycmVudDpudWxsfSxJPXt0cmFuc2l0aW9uOm51bGx9LCQ9e1JlYWN0Q3VycmVudERpc3BhdGNoZXI6QSxSZWFjdEN1cnJlbnRCYXRjaENvbmZpZzpJLFJlYWN0Q3VycmVudE93bmVyOlN9O3IuQ2hpbGRyZW49e21hcDpOLGZvckVhY2g6ZnVuY3Rpb24odCxyLGUpe04odCwoZnVuY3Rpb24oKXtyLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pLGUpfSxjb3VudDpmdW5jdGlvbih0KXt2YXIgcj0wO3JldHVybiBOKHQsKGZ1bmN0aW9uKCl7cisrfSkpLHJ9LHRvQXJyYXk6ZnVuY3Rpb24odCl7cmV0dXJuIE4odCwoZnVuY3Rpb24odCl7cmV0dXJuIHR9KSl8fFtdfSxvbmx5OmZ1bmN0aW9uKHQpe2lmKCFQKHQpKXRocm93IEVycm9yKCJSZWFjdC5DaGlsZHJlbi5vbmx5IGV4cGVjdGVkIHRvIHJlY2VpdmUgYSBzaW5nbGUgUmVhY3QgZWxlbWVudCBjaGlsZC4iKTtyZXR1cm4gdH19LHIuQ29tcG9uZW50PXcsci5GcmFnbWVudD1vLHIuUHJvZmlsZXI9aSxyLlB1cmVDb21wb25lbnQ9ZyxyLlN0cmljdE1vZGU9dSxyLlN1c3BlbnNlPWEsci5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRD0kLHIuY2xvbmVFbGVtZW50PWZ1bmN0aW9uKHQscixuKXtpZihudWxsPT10KXRocm93IEVycm9yKCJSZWFjdC5jbG9uZUVsZW1lbnQoLi4uKTogVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBSZWFjdCBlbGVtZW50LCBidXQgeW91IHBhc3NlZCAiK3QrIi4iKTt2YXIgbz15KHt9LHQucHJvcHMpLHU9dC5rZXksaT10LnJlZixjPXQuX293bmVyO2lmKG51bGwhPXIpe2lmKHZvaWQgMCE9PXIucmVmJiYoaT1yLnJlZixjPVMuY3VycmVudCksdm9pZCAwIT09ci5rZXkmJih1PSIiK3Iua2V5KSwKdC50eXBlJiZ0LnR5cGUuZGVmYXVsdFByb3BzKXZhciBmPXQudHlwZS5kZWZhdWx0UHJvcHM7Zm9yKHMgaW4gcilfLmNhbGwocixzKSYmIU8uaGFzT3duUHJvcGVydHkocykmJihvW3NdPXZvaWQgMD09PXJbc10mJnZvaWQgMCE9PWY/ZltzXTpyW3NdKX12YXIgcz1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PXMpby5jaGlsZHJlbj1uO2Vsc2UgaWYoMTxzKXtmPUFycmF5KHMpO2Zvcih2YXIgYT0wO2E8czthKyspZlthXT1hcmd1bWVudHNbYSsyXTtvLmNoaWxkcmVuPWZ9cmV0dXJueyQkdHlwZW9mOmUsdHlwZTp0LnR5cGUsa2V5OnUscmVmOmkscHJvcHM6byxfb3duZXI6Y319LHIuY3JlYXRlQ29udGV4dD1mdW5jdGlvbih0KXtyZXR1cm4odD17JCR0eXBlb2Y6ZixfY3VycmVudFZhbHVlOnQsX2N1cnJlbnRWYWx1ZTI6dCxfdGhyZWFkQ291bnQ6MCxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2RlZmF1bHRWYWx1ZTpudWxsLF9nbG9iYWxOYW1lOm51bGx9KS5Qcm92aWRlcj17JCR0eXBlb2Y6YyxfY29udGV4dDp0fSx0LkNvbnN1bWVyPXR9LHIuY3JlYXRlRWxlbWVudD1qLHIuY3JlYXRlRmFjdG9yeT1mdW5jdGlvbih0KXt2YXIgcj1qLmJpbmQobnVsbCx0KTtyZXR1cm4gci50eXBlPXQscn0sci5jcmVhdGVSZWY9ZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpudWxsfX0sci5mb3J3YXJkUmVmPWZ1bmN0aW9uKHQpe3JldHVybnskJHR5cGVvZjpzLHJlbmRlcjp0fX0sci5pc1ZhbGlkRWxlbWVudD1QLHIubGF6eT1mdW5jdGlvbih0KXtyZXR1cm57JCR0eXBlb2Y6cCxfcGF5bG9hZDp7X3N0YXR1czotMSxfcmVzdWx0OnR9LF9pbml0OkN9fSxyLm1lbW89ZnVuY3Rpb24odCxyKXtyZXR1cm57JCR0eXBlb2Y6bCx0eXBlOnQsY29tcGFyZTp2b2lkIDA9PT1yP251bGw6cn19LHIuc3RhcnRUcmFuc2l0aW9uPWZ1bmN0aW9uKHQpe3ZhciByPUkudHJhbnNpdGlvbjtJLnRyYW5zaXRpb249e307dHJ5e3QoKX1maW5hbGx5e0kudHJhbnNpdGlvbj1yfX0sci51bnN0YWJsZV9hY3Q9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiYWN0KC4uLikgaXMgbm90IHN1cHBvcnRlZCBpbiBwcm9kdWN0aW9uIGJ1aWxkcyBvZiBSZWFjdC4iKX0sci51c2VDYWxsYmFjaz1mdW5jdGlvbih0LHIpe3JldHVybiBBLmN1cnJlbnQudXNlQ2FsbGJhY2sodCxyKX0sci51c2VDb250ZXh0PWZ1bmN0aW9uKHQpe3JldHVybiBBLmN1cnJlbnQudXNlQ29udGV4dCh0KX0sci51c2VEZWJ1Z1ZhbHVlPWZ1bmN0aW9uKCl7fSxyLnVzZURlZmVycmVkVmFsdWU9ZnVuY3Rpb24odCl7cmV0dXJuIEEuY3VycmVudC51c2VEZWZlcnJlZFZhbHVlKHQpfSxyLnVzZUVmZmVjdD1mdW5jdGlvbih0LHIpe3JldHVybiBBLmN1cnJlbnQudXNlRWZmZWN0KHQscil9LHIudXNlSWQ9ZnVuY3Rpb24oKXtyZXR1cm4gQS5jdXJyZW50LnVzZUlkKCl9LHIudXNlSW1wZXJhdGl2ZUhhbmRsZT1mdW5jdGlvbih0LHIsZSl7cmV0dXJuIEEuY3VycmVudC51c2VJbXBlcmF0aXZlSGFuZGxlKHQscixlKX0sci51c2VJbnNlcnRpb25FZmZlY3Q9ZnVuY3Rpb24odCxyKXtyZXR1cm4gQS5jdXJyZW50LnVzZUluc2VydGlvbkVmZmVjdCh0LHIpfSxyLnVzZUxheW91dEVmZmVjdD1mdW5jdGlvbih0LHIpe3JldHVybiBBLmN1cnJlbnQudXNlTGF5b3V0RWZmZWN0KHQscil9LHIudXNlTWVtbz1mdW5jdGlvbih0LHIpe3JldHVybiBBLmN1cnJlbnQudXNlTWVtbyh0LHIpfSxyLnVzZVJlZHVjZXI9ZnVuY3Rpb24odCxyLGUpe3JldHVybiBBLmN1cnJlbnQudXNlUmVkdWNlcih0LHIsZSl9LHIudXNlUmVmPWZ1bmN0aW9uKHQpe3JldHVybiBBLmN1cnJlbnQudXNlUmVmKHQpfSxyLnVzZVN0YXRlPWZ1bmN0aW9uKHQpe3JldHVybiBBLmN1cnJlbnQudXNlU3RhdGUodCl9LHIudXNlU3luY0V4dGVybmFsU3RvcmU9ZnVuY3Rpb24odCxyLGUpe3JldHVybiBBLmN1cnJlbnQudXNlU3luY0V4dGVybmFsU3RvcmUodCxyLGUpfSxyLnVzZVRyYW5zaXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gQS5jdXJyZW50LnVzZVRyYW5zaXRpb24oKX0sci52ZXJzaW9uPSIxOC4yLjAifSw5NTM3NDkodCxyLGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKHQpe3JldHVybiBmdW5jdGlvbihyKXt2YXIgZT1yLmRpc3BhdGNoLG49ci5nZXRTdGF0ZTtyZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIGZ1bmN0aW9uKG8pe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBvP28oZSxuLHQpOnIobyl9fX19ZS5kKHIse2RlZmF1bHQ6KCk9PnV9KTt2YXIgbz1uKCk7by53aXRoRXh0cmFBcmd1bWVudD1uO2NvbnN0IHU9b30sNzg3NzI0KHQscixlKXsidXNlIHN0cmljdCI7ZS5kKHIse2FwcGx5TWlkZGxld2FyZTooKT0+cCxjb21iaW5lUmVkdWNlcnM6KCk9PmEsY29tcG9zZTooKT0+bCxjcmVhdGVTdG9yZTooKT0+c30pO3ZhciBuPWUoMjI0MTA3KTtmdW5jdGlvbiBvKHQpe3JldHVybiJNaW5pZmllZCBSZWR1eCBlcnJvciAjIit0KyI7IHZpc2l0IGh0dHBzOi8vcmVkdXguanMub3JnL0Vycm9ycz9jb2RlPSIrdCsiIGZvciB0aGUgZnVsbCBtZXNzYWdlIG9yIHVzZSB0aGUgbm9uLW1pbmlmaWVkIGRldiBlbnZpcm9ubWVudCBmb3IgZnVsbCBlcnJvcnMuICJ9dmFyIHU9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmU3ltYm9sLm9ic2VydmFibGV8fCJAQG9ic2VydmFibGUiLGk9ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDcpLnNwbGl0KCIiKS5qb2luKCIuIil9LGM9e0lOSVQ6IkBAcmVkdXgvSU5JVCIraSgpLFJFUExBQ0U6IkBAcmVkdXgvUkVQTEFDRSIraSgpLFBST0JFX1VOS05PV05fQUNUSU9OOmZ1bmN0aW9uKCl7cmV0dXJuIkBAcmVkdXgvUFJPQkVfVU5LTk9XTl9BQ1RJT04iK2koKX19O2Z1bmN0aW9uIGYodCl7aWYoIm9iamVjdCIhPXR5cGVvZiB0fHxudWxsPT09dClyZXR1cm4hMTtmb3IodmFyIHI9dDtudWxsIT09T2JqZWN0LmdldFByb3RvdHlwZU9mKHIpOylyPU9iamVjdC5nZXRQcm90b3R5cGVPZihyKTtyZXR1cm4gT2JqZWN0LmdldFByb3RvdHlwZU9mKHQpPT09cn1mdW5jdGlvbiBzKHQscixlKXt2YXIgbgo7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHImJiJmdW5jdGlvbiI9PXR5cGVvZiBlfHwiZnVuY3Rpb24iPT10eXBlb2YgZSYmImZ1bmN0aW9uIj09dHlwZW9mIGFyZ3VtZW50c1szXSl0aHJvdyBuZXcgRXJyb3IobygwKSk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHImJnZvaWQgMD09PWUmJihlPXIscj12b2lkIDApLHZvaWQgMCE9PWUpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcihvKDEpKTtyZXR1cm4gZShzKSh0LHIpfWlmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcihvKDIpKTt2YXIgaT10LGE9cixsPVtdLHA9bCxoPSExO2Z1bmN0aW9uIGQoKXtwPT09bCYmKHA9bC5zbGljZSgpKX1mdW5jdGlvbiB5KCl7aWYoaCl0aHJvdyBuZXcgRXJyb3IobygzKSk7cmV0dXJuIGF9ZnVuY3Rpb24gdih0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgRXJyb3Iobyg0KSk7aWYoaCl0aHJvdyBuZXcgRXJyb3Iobyg1KSk7dmFyIHI9ITA7cmV0dXJuIGQoKSxwLnB1c2godCksZnVuY3Rpb24oKXtpZihyKXtpZihoKXRocm93IG5ldyBFcnJvcihvKDYpKTtyPSExLGQoKTt2YXIgZT1wLmluZGV4T2YodCk7cC5zcGxpY2UoZSwxKSxsPW51bGx9fX1mdW5jdGlvbiB3KHQpe2lmKCFmKHQpKXRocm93IG5ldyBFcnJvcihvKDcpKTtpZih2b2lkIDA9PT10LnR5cGUpdGhyb3cgbmV3IEVycm9yKG8oOCkpO2lmKGgpdGhyb3cgbmV3IEVycm9yKG8oOSkpO3RyeXtoPSEwLGE9aShhLHQpfWZpbmFsbHl7aD0hMX1mb3IodmFyIHI9bD1wLGU9MDtlPHIubGVuZ3RoO2UrKyl7KDAscltlXSkoKX1yZXR1cm4gdH1yZXR1cm4gdyh7dHlwZTpjLklOSVR9KSwobj17ZGlzcGF0Y2g6dyxzdWJzY3JpYmU6dixnZXRTdGF0ZTp5LHJlcGxhY2VSZWR1Y2VyOmZ1bmN0aW9uKHQpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcihvKDEwKSk7aT10LHcoe3R5cGU6Yy5SRVBMQUNFfSl9fSlbdV09ZnVuY3Rpb24oKXt2YXIgdCxyPXY7cmV0dXJuKHQ9e3N1YnNjcmliZTpmdW5jdGlvbih0KXtpZigib2JqZWN0IiE9dHlwZW9mIHR8fG51bGw9PT10KXRocm93IG5ldyBFcnJvcihvKDExKSk7ZnVuY3Rpb24gZSgpe3QubmV4dCYmdC5uZXh0KHkoKSl9cmV0dXJuIGUoKSx7dW5zdWJzY3JpYmU6cihlKX19fSlbdV09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sdH0sbn1mdW5jdGlvbiBhKHQpe2Zvcih2YXIgcj1PYmplY3Qua2V5cyh0KSxlPXt9LG49MDtuPHIubGVuZ3RoO24rKyl7dmFyIHU9cltuXTswLCJmdW5jdGlvbiI9PXR5cGVvZiB0W3VdJiYoZVt1XT10W3VdKX12YXIgaSxmPU9iamVjdC5rZXlzKGUpO3RyeXshZnVuY3Rpb24odCl7T2JqZWN0LmtleXModCkuZm9yRWFjaCgoZnVuY3Rpb24ocil7dmFyIGU9dFtyXTtpZih2b2lkIDA9PT1lKHZvaWQgMCx7dHlwZTpjLklOSVR9KSl0aHJvdyBuZXcgRXJyb3IobygxMikpO2lmKHZvaWQgMD09PWUodm9pZCAwLHt0eXBlOmMuUFJPQkVfVU5LTk9XTl9BQ1RJT04oKX0pKXRocm93IG5ldyBFcnJvcihvKDEzKSl9KSl9KGUpfWNhdGNoKHQpe2k9dH1yZXR1cm4gZnVuY3Rpb24odCxyKXtpZih2b2lkIDA9PT10JiYodD17fSksaSl0aHJvdyBpO2Zvcih2YXIgbj0hMSx1PXt9LGM9MDtjPGYubGVuZ3RoO2MrKyl7dmFyIHM9ZltjXSxhPWVbc10sbD10W3NdLHA9YShsLHIpO2lmKHZvaWQgMD09PXApe3ImJnIudHlwZTt0aHJvdyBuZXcgRXJyb3IobygxNCkpfXVbc109cCxuPW58fHAhPT1sfXJldHVybihuPW58fGYubGVuZ3RoIT09T2JqZWN0LmtleXModCkubGVuZ3RoKT91OnR9fWZ1bmN0aW9uIGwoKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxyPW5ldyBBcnJheSh0KSxlPTA7ZTx0O2UrKylyW2VdPWFyZ3VtZW50c1tlXTtyZXR1cm4gMD09PXIubGVuZ3RoP2Z1bmN0aW9uKHQpe3JldHVybiB0fToxPT09ci5sZW5ndGg/clswXTpyLnJlZHVjZSgoZnVuY3Rpb24odCxyKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdChyLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpKX19KSl9ZnVuY3Rpb24gcCgpe2Zvcih2YXIgdD1hcmd1bWVudHMubGVuZ3RoLHI9bmV3IEFycmF5KHQpLGU9MDtlPHQ7ZSsrKXJbZV09YXJndW1lbnRzW2VdO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT10LmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpLHU9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IobygxNSkpfSxpPXtnZXRTdGF0ZTplLmdldFN0YXRlLGRpc3BhdGNoOmZ1bmN0aW9uKCl7cmV0dXJuIHUuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyl9fSxjPXIubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdChpKX0pKTtyZXR1cm4gdT1sLmFwcGx5KHZvaWQgMCxjKShlLmRpc3BhdGNoKSwoMCxuLmRlZmF1bHQpKCgwLG4uZGVmYXVsdCkoe30sZSkse30se2Rpc3BhdGNoOnV9KX19fX0sMzY0MzUwKHQscixlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbih0LHIpe3JldHVybiB0PT09cn1lLmQocix7Y3JlYXRlU2VsZWN0b3I6KCk9Pm99KTt2YXIgbz1mdW5jdGlvbih0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aCxlPUFycmF5KHI+MT9yLTE6MCksbj0xO248cjtuKyspZVtuLTFdPWFyZ3VtZW50c1tuXTtyZXR1cm4gZnVuY3Rpb24oKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aCxuPUFycmF5KHIpLG89MDtvPHI7bysrKW5bb109YXJndW1lbnRzW29dO3ZhciB1PTAsaT1uLnBvcCgpLGM9ZnVuY3Rpb24odCl7dmFyIHI9QXJyYXkuaXNBcnJheSh0WzBdKT90WzBdOnQ7aWYoIXIuZXZlcnkoKGZ1bmN0aW9uKHQpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0fSkpKXt2YXIgZT1yLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHR5cGVvZiB0fSkpLmpvaW4oIiwgIik7dGhyb3cgbmV3IEVycm9yKCJTZWxlY3RvciBjcmVhdG9ycyBleHBlY3QgYWxsIGlucHV0LXNlbGVjdG9ycyB0byBiZSBmdW5jdGlvbnMsIGluc3RlYWQgcmVjZWl2ZWQgdGhlIGZvbGxvd2luZyB0eXBlczogWyIrZSsiXSIpfXJldHVybiByfShuKSxmPXQuYXBwbHkodm9pZCAwLFtmdW5jdGlvbigpe3JldHVybiB1KyssaS5hcHBseShudWxsLGFyZ3VtZW50cykKfV0uY29uY2F0KGUpKSxzPXQoKGZ1bmN0aW9uKCl7Zm9yKHZhciB0PVtdLHI9Yy5sZW5ndGgsZT0wO2U8cjtlKyspdC5wdXNoKGNbZV0uYXBwbHkobnVsbCxhcmd1bWVudHMpKTtyZXR1cm4gZi5hcHBseShudWxsLHQpfSkpO3JldHVybiBzLnJlc3VsdEZ1bmM9aSxzLmRlcGVuZGVuY2llcz1jLHMucmVjb21wdXRhdGlvbnM9ZnVuY3Rpb24oKXtyZXR1cm4gdX0scy5yZXNldFJlY29tcHV0YXRpb25zPWZ1bmN0aW9uKCl7cmV0dXJuIHU9MH0sc319KChmdW5jdGlvbih0KXt2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06bixlPW51bGwsbz1udWxsO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbih0LHIsZSl7aWYobnVsbD09PXJ8fG51bGw9PT1lfHxyLmxlbmd0aCE9PWUubGVuZ3RoKXJldHVybiExO2Zvcih2YXIgbj1yLmxlbmd0aCxvPTA7bzxuO28rKylpZighdChyW29dLGVbb10pKXJldHVybiExO3JldHVybiEwfShyLGUsYXJndW1lbnRzKXx8KG89dC5hcHBseShudWxsLGFyZ3VtZW50cykpLGU9YXJndW1lbnRzLG99fSkpfSwxOTM3MSh0LHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49ZSg5MDgxNTQpO2Z1bmN0aW9uIG8odCxyLGUpe3JldHVybihyPSgwLG4uZGVmYXVsdCkocikpaW4gdD9PYmplY3QuZGVmaW5lUHJvcGVydHkodCxyLHt2YWx1ZTplLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6dFtyXT1lLHR9fSwyMjQxMDcodCxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7ZGVmYXVsdDooKT0+dX0pO3ZhciBuPWUoMTkzNzEpO2Z1bmN0aW9uIG8odCxyKXt2YXIgZT1PYmplY3Qua2V5cyh0KTtpZihPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgbj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpO3ImJihuPW4uZmlsdGVyKChmdW5jdGlvbihyKXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LHIpLmVudW1lcmFibGV9KSkpLGUucHVzaC5hcHBseShlLG4pfXJldHVybiBlfWZ1bmN0aW9uIHUodCl7Zm9yKHZhciByPTE7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl7dmFyIGU9bnVsbCE9YXJndW1lbnRzW3JdP2FyZ3VtZW50c1tyXTp7fTtyJTI/byhPYmplY3QoZSksITApLmZvckVhY2goKGZ1bmN0aW9uKHIpeygwLG4uZGVmYXVsdCkodCxyLGVbcl0pfSkpOk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzP09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHQsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoZSkpOm8oT2JqZWN0KGUpKS5mb3JFYWNoKChmdW5jdGlvbihyKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodCxyLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSxyKSl9KSl9cmV0dXJuIHR9fSw4OTI2MzkodCxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7ZGVmYXVsdDooKT0+b30pO3ZhciBuPWUoMTI5NDc2KTtmdW5jdGlvbiBvKHQscil7aWYoIm9iamVjdCIhPSgwLG4uZGVmYXVsdCkodCl8fCF0KXJldHVybiB0O3ZhciBlPXRbU3ltYm9sLnRvUHJpbWl0aXZlXTtpZih2b2lkIDAhPT1lKXt2YXIgbz1lLmNhbGwodCxyfHwiZGVmYXVsdCIpO2lmKCJvYmplY3QiIT0oMCxuLmRlZmF1bHQpKG8pKXJldHVybiBvO3Rocm93IG5ldyBUeXBlRXJyb3IoIkBAdG9QcmltaXRpdmUgbXVzdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUuIil9cmV0dXJuKCJzdHJpbmciPT09cj9TdHJpbmc6TnVtYmVyKSh0KX19LDkwODE1NCh0LHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtkZWZhdWx0OigpPT51fSk7dmFyIG49ZSgxMjk0NzYpLG89ZSg4OTI2MzkpO2Z1bmN0aW9uIHUodCl7dmFyIHI9KDAsby5kZWZhdWx0KSh0LCJzdHJpbmciKTtyZXR1cm4ic3ltYm9sIj09KDAsbi5kZWZhdWx0KShyKT9yOnIrIiJ9fSwxMjk0NzYodCxyLGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKHQpe3JldHVybiBuPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yP2Z1bmN0aW9uKHQpe3JldHVybiB0eXBlb2YgdH06ZnVuY3Rpb24odCl7cmV0dXJuIHQmJiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJnQuY29uc3RydWN0b3I9PT1TeW1ib2wmJnQhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnR5cGVvZiB0fSxuKHQpfWUuZChyLHtkZWZhdWx0OigpPT5ufSl9LDgzOTQyNih0LHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtkZWZhdWx0OigpPT51fSk7dmFyIG49ZSg2OTIzNjkpO2NvbnN0IG89ZnVuY3Rpb24odCxyKXt2YXIgZTtpZigiZnVuY3Rpb24iIT10eXBlb2Ygcil0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBhIGZ1bmN0aW9uIik7cmV0dXJuIHQ9KDAsbi5kZWZhdWx0KSh0KSxmdW5jdGlvbigpe3JldHVybi0tdD4wJiYoZT1yLmFwcGx5KHRoaXMsYXJndW1lbnRzKSksdDw9MSYmKHI9dm9pZCAwKSxlfX07Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4gbygyLHQpfX0sNjkyMzY5KHQscixlKXsidXNlIHN0cmljdCI7ZS5kKHIse2RlZmF1bHQ6KCk9Pml9KTt2YXIgbj1lKDQwNjQ0OSksbz0xLzA7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4gdD8odD0oMCxuLmRlZmF1bHQpKHQpKT09PW98fHQ9PT0tMS8wPzE3OTc2OTMxMzQ4NjIzMTU3ZTI5MioodDwwPy0xOjEpOnQ9PXQ/dDowOjA9PT10P3Q6MH07Y29uc3QgaT1mdW5jdGlvbih0KXt2YXIgcj11KHQpLGU9ciUxO3JldHVybiByPT1yP2U/ci1lOnI6MH19LDg1Njc3MCh0LHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtuYW5vaWQ6KCk9Pm59KTtsZXQgbj0odD0yMSk9PmNyeXB0by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkodCkpLnJlZHVjZSgoKHQscik9PnQrPShyJj02Myk8MzY/ci50b1N0cmluZygzNik6cjw2Mj8oci0yNikudG9TdHJpbmcoMzYpLnRvVXBwZXJDYXNlKCk6cj42Mj8iLSI6Il8iKSwiIil9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/42171.1c05d8147c230d86b4fa.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.204Z","timestamp":1785120634204,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/42171.1c05d8147c230d86b4fa.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-4ff4\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:02:18\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 4b9401077109f63ab7b10725db7f82e6\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":20468,"size_decoded":7449,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"edddce8d1d6f604a250bcfbe9d7eb025","sha1":"253ca6c52edbd8045f2d7582a4cbe1d58aa63fb7","sha256":"5ce8d2d6a4b23546f3ef7e86e56e51c0dd33a1ed0a3cef47794f49bbaf49fd90","sha512":"8bea5dd5042c7cbb2e5672e14ea2d4734a6fec646472748c7fc97e3549559befc114de998d38beab5c5097dccc1d9db856c75c8b482946bb7276dc6c44fffb43","ssdeep":"384:BrqTqqPiwUF5A2XlUggtc6TPlrtRH/hIRgvFoPVAAg0dUDs3nRCvO3Ja7m8t51hv:FqTLPinvA2uggtc6TPlrtRH/hImvFoP8","tlshash":"fd92b424f382216105eb91ed1c760913b63bb7963c87466db92c9ace675c918f372b3c","first_seen":"2026-07-22T16:00:00.324158Z","last_seen":"2026-07-27T06:01:16.155257Z","times_seen":31,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNDIxNzFdLHsyNDIxNzEoZSx0LGkpe2kuZCh0LHtNaW5pQ2hhcnRQbG90QmFzZTooKT0+VSxjdXN0b21QcmljZUZvcm1hdEJ5U3ltYm9sSW5mbzooKT0+Rixpc1RpbWVQb2ludEluZGV4OigpPT5QLHNlcmllc0hvcnpNYXJnaW5zRGVmYXVsdHM6KCk9PkV9KTt2YXIgcz1pKDY2MzA0Nikscj1pKDY3ODMxMiksYT1pKDc0MDE2Miksbz1pKDMwNDIyMSksbj1pKDEzODYzOCksbD1pKDEzNDY3KSxoPWkoMjIxMDYxKSx1PWkoNjAxODQxKSxkPWkoMjMyMzY0KSxfPWkoNDAyMDQ1KSxjPWkoOTUyOTAwKSxtPWkoMTUwMTUwKSxwPWkoOTQ4MzgwKSxnPWkoNzczMDg4KSxTPWkoODE0NTg5KSx5PWkoNzgzMjU0KSxmPWkoOTg0Mzc2KSxDPWkoNDA3Nzk5KSxiPWkoMTExOTUzKSx2PWkoMTI4OTk4KSx3PWkoMTEzNTY3KSxJPWkoODczNTczKSxWPWkoMjI2OTM3KSxEPWkoNjk1OTQ2KTtjb25zdCBCPSgwLGguZ2V0TG9nZ2VyKSgiQ2hhcnQuTWluaUNoYXJ0IiksTz1uZXcgZi5Wb2x1bWVGb3JtYXR0ZXI7ZnVuY3Rpb24gTChlLHQsaSxzKXtyZXR1cm57dGltZTp0LGNvbG9yOnMsdmFsdWU6aVtlXX19ZnVuY3Rpb24gVChlLHQpe3JldHVybnt0aW1lOmUsb3Blbjp0WzFdLGhpZ2g6dFsyXSxsb3c6dFszXSxjbG9zZTp0WzRdfX1mdW5jdGlvbiB4KGUsdCxpLHMscil7cmV0dXJue3RpbWU6ZSx0b3BDb2xvcjpzLGJvdHRvbUNvbG9yOnIsbGluZUNvbG9yOmksdmFsdWU6dFs0XX19ZnVuY3Rpb24gTShlKXtjb25zdCB0PW5ldyBEYXRlKGUpO3JldHVybiBEYXRlLlVUQyh0LmdldEZ1bGxZZWFyKCksdC5nZXRNb250aCgpLHQuZ2V0RGF0ZSgpLHQuZ2V0SG91cnMoKSx0LmdldE1pbnV0ZXMoKSx0LmdldFNlY29uZHMoKSkvMWUzfWZ1bmN0aW9uIFAoZSl7cmV0dXJuKDAsdS5pc0ludGVnZXIpKGUpfWNvbnN0IGs9KDAscy5kZWZhdWx0KShJLnJlc2V0VHJhbnNwYXJlbmN5KTtmdW5jdGlvbiBGKGUpe2NvbnN0IHQ9KDAsdi5jcmVhdGVTZXJpZXNGb3JtYXR0ZXIpKGUsImRlZmF1bHQiKTtyZXR1cm57dHlwZToiY3VzdG9tIixtaW5Nb3ZlOmUubWlubW92L2UucHJpY2VzY2FsZSxiYXNlOmUucHJpY2VzY2FsZS9lLm1pbm1vdixmb3JtYXR0ZXI6ZT0+dC5mb3JtYXQoZSl9fWNvbnN0IEU9e2xlZnRMb2dpY2FsOjAscmlnaHRMb2dpY2FsOjAsbGVmdFB4OjAscmlnaHRQeDo0fTtmdW5jdGlvbiBXKGUpe2lmKDA9PT1lLnNlcmllcy5sZW5ndGgpcmV0dXJuIG51bGw7Y29uc3QgdD1lLnNlcmllc1swXSxpPXQudmFsdWU/P3QuY2xvc2Uscz1lLnNlcmllc1tlLnNlcmllcy5sZW5ndGgtMV0scj1zLnZhbHVlPz9zLmNsb3NlO3JldHVybntmaXJzdDp7dmFsdWU6aSx0aW1lOnQudGltZX0sbGFzdDp7dmFsdWU6cix0aW1lOnMudGltZX19fWNsYXNzIFV7Y29uc3RydWN0b3IoZSx0LGkscyl7dGhpcy5fc3ltYm9sQ2hhbmdlZD1uZXcgcC5EZWxlZ2F0ZSx0aGlzLl9zZXJpZXNDaGFuZ2VkPW5ldyBwLkRlbGVnYXRlLHRoaXMuX3doaXRlc3BhY2VzPW51bGwsdGhpcy5fc3ltYm9sUmVzb2x2ZWQ9bmV3IHAuRGVsZWdhdGUsdGhpcy5fb3JpZ2luYWxTY2FsZU1vZGU9bnVsbCx0aGlzLl9jdXN0b21QcmljZUZvcm1hdHRlcj1udWxsLHRoaXMuX2lzRGVzdHJveWVkPW5ldyBkLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fc3RhdHVzPW5ldyBkLldhdGNoZWRWYWx1ZSgwKSx0aGlzLl9ub0RhdGE9bmV3IGQuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2NoYXJ0VHlwZT1uZXcgZC5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fZGlyZWN0aW9uQmFzZWRDb2xvcj1uZXcgZC5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fZGF0YUxlbmd0aEluZm89bnVsbCx0aGlzLl9zZXNzaW9uSWQ9bmV3IGQuV2F0Y2hlZFZhbHVlLHRoaXMuX2JhckJ1aWxkZXJMb2FkZXI9bnVsbCx0aGlzLl9zeW1ib2xJbmZvPW51bGwsdGhpcy5fc3ltYm9sSW5mb1dWPW5ldyBfLldhdGNoZWRPYmplY3QobnVsbCksdGhpcy5fc3ltYm9sPXtzeW1ib2w6IiJ9LHRoaXMuX21pbkJhckluZGV4PW51bGwsdGhpcy5fbWF4QmFySW5kZXg9bnVsbCx0aGlzLl9sYXN0VmFsdWU9bmV3IGQuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2lzVmlzaWJsZT1uZXcgZC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2lkPSgwLG0ucmFuZG9tSGFzaCkoKSx0aGlzLl90aW1lRnJhbWVJbnZhbGlkYXRlZD1uZXcgcC5EZWxlZ2F0ZSx0aGlzLl9maXJzdFZhbHVlQ2FjaGU9bnVsbCx0aGlzLl9maXJzdEJhclRpbWU9bmV3IGQuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2xlZ2VuZExhc3RCYXJEYXRhPW51bGwsdGhpcy5faGlzdG9yeVVwZGF0ZVJlY2VpdmVkPSExLHRoaXMuX21pbmlDaGFydD1lLHRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucz10LHRoaXMuX2N1cnJlbnRTZXJpZXNPcHRpb25zPSgwLGEuZGVmYXVsdCkoe30sdCksdGhpcy5fb3B0aW9ucz1zLHRoaXMuX3Nlcmllcz10aGlzLl9jcmVhdGVTZXJpZXMoKSx0aGlzLl9jaGFydFR5cGUuc2V0VmFsdWUodC5jaGFydFR5cGU/P251bGwpLHRoaXMuX29yaWdpbmFsVm9sdW1lT3B0aW9ucz1pLHRoaXMuX3ZvbHVtZT10aGlzLl9jcmVhdGVWb2x1bWUoKSx0aGlzLl90aW1lRnJhbWU9ZS50aW1lZnJhbWUoKS5zcGF3bigpLHRoaXMuX3RpbWVGcmFtZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU2Vzc2lvbklkLmJpbmQodGhpcykpLHRoaXMuX2N1cnJlbnRseVNob3duRGF0YURlc2NyaXB0aW9uPW5ldyBfLldhdGNoZWRPYmplY3Qoe3RpbWVmcmFtZTp0aGlzLl90aW1lRnJhbWUudmFsdWUoKSxzeW1ib2w6dGhpcy5zeW1ib2woKX0pLHRoaXMuX2lzTGFzdFNlc3Npb25JbnRlcnZhbD0oMCxjLmNvbWJpbmUpKChlPT4iTEFTVFNFU1NJT04iPT09KDAsZy5jb252ZXJ0VGltZUZyYW1lVG9TdHIpKGUpKSx0aGlzLl9taW5pQ2hhcnQudGltZWZyYW1lKCkud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9pc0xhc3RTZXNzaW9uSW50ZXJ2YWwuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVNlc3Npb25JZC5iaW5kKHRoaXMpKSwKdGhpcy5fbWluaUNoYXJ0LnRpbWVTY2FsZVNpemVDaGFuZ2VkKCkuc3Vic2NyaWJlKG51bGwsdGhpcy5fdGltZVNjYWxlU2l6ZUNoYW5nZWQuYmluZCh0aGlzKSksdGhpcy5fc3RhdHVzLnN1YnNjcmliZSgoZT0+ezMhPT1lJiYodGhpcy5fbGFzdFZhbHVlLnNldFZhbHVlKG51bGwpLHRoaXMuX29uTGFzdEJhckRhdGFNYXlDaGFuZ2UoKSl9KSl9ZGVzdHJveSgpe3RoaXMuX3N0YXR1cy51bnN1YnNjcmliZSgpLHRoaXMuX3RpbWVGcmFtZS5kZXN0cm95KCksdGhpcy5faXNEZXN0cm95ZWQuc2V0VmFsdWUoITApLHRoaXMuX2lzTGFzdFNlc3Npb25JbnRlcnZhbC5kZXN0cm95KCksdGhpcy5fYmFyQnVpbGRlckxvYWRlcj8uZGVzdHJveSgpfWlkKCl7cmV0dXJuIHRoaXMuX2lkfXN0YXR1cygpe3JldHVybiB0aGlzLl9zdGF0dXMucmVhZG9ubHkoKX1ub0RhdGEoKXtyZXR1cm4gdGhpcy5fbm9EYXRhLnJlYWRvbmx5KCl9Y2hhcnRUeXBlKCl7cmV0dXJuIHRoaXMuX2NoYXJ0VHlwZS5yZWFkb25seSgpfXN5bWJvbEluZm8oKXtyZXR1cm4gdGhpcy5fc3ltYm9sSW5mb31zeW1ib2xJbmZvV1YoKXtyZXR1cm4gdGhpcy5fc3ltYm9sSW5mb1dWLnJlYWRvbmx5KCl9c3ltYm9sKCl7cmV0dXJuIHRoaXMuX3N5bWJvbC5zeW1ib2x9c3ViU2Vzc2lvbigpe3JldHVybiB0aGlzLl9zZXNzaW9uSWQudmFsdWUoKX1zZXRTeW1ib2woZSx0KXtyZXR1cm4oMCxvLmRlZmF1bHQpKGUpJiYoZT0oMCxiLmlzRW5jb2RlZEV4dGVuZGVkU3ltYm9sKShlKT8oMCxiLmRlY29kZUV4dGVuZGVkU3ltYm9sKShlKTp7Li4udGhpcy5fc3ltYm9sLHN5bWJvbDplfSksdm9pZCAwIT09dCYmdGhpcy5fdXBkYXRlU2VyaWVzT3B0aW9ucyh0KSwhKDAsYi5jb21wYXJlU3ltYm9scykodGhpcy5fc3ltYm9sLGUpJiYodGhpcy5fc3ltYm9sPWUsdGhpcy5fdXBkYXRlU2Vzc2lvbklkKCksdGhpcy5fc3ltYm9sQ2hhbmdlZC5maXJlKCksITApfWV4dGVuZGVkU3ltYm9sKCl7cmV0dXJuey4uLnRoaXMuX3N5bWJvbCxzZXNzaW9uOnRoaXMuX3Nlc3Npb25JZC52YWx1ZSgpfX1xdW90ZXNTeW1ib2woKXtyZXR1cm57Li4udGhpcy5leHRlbmRlZFN5bWJvbCgpLG1ldHJpYzp2b2lkIDB9fXVwZGF0ZVNlcmllc09wdGlvbnMoZSl7bGV0IHQ9ITE7dm9pZCAwIT09ZS5jaGFydFR5cGUmJnRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucy5jaGFydFR5cGUhPT1lLmNoYXJ0VHlwZT90PSEwOiJsaW5lIiE9PXRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucy5jaGFydFR5cGUmJiJhcmVhIiE9PXRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucy5jaGFydFR5cGV8fCh0PSJwb3N0bWFya2V0TGluZUNvbG9yImluIGUmJnRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucy5wb3N0bWFya2V0TGluZUNvbG9yIT09ZS5wb3N0bWFya2V0TGluZUNvbG9yfHwicHJlbWFya2V0TGluZUNvbG9yImluIGUmJnRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucy5wcmVtYXJrZXRMaW5lQ29sb3IhPT1lLnByZW1hcmtldExpbmVDb2xvcnx8Im5pZ2h0TGluZUNvbG9yImluIGUmJnRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucy5uaWdodExpbmVDb2xvciE9PWUubmlnaHRMaW5lQ29sb3IpLHRoaXMuX3VwZGF0ZVNlcmllc09wdGlvbnMoZSksdD90aGlzLl9vbkNoYXJ0U3R5bGVDaGFuZ2VkKCk6dGhpcy5fc2VyaWVzLmFwcGx5T3B0aW9ucyhlKX1hcHBseU9wdGlvbnMoZSl7KDAsYS5kZWZhdWx0KSh0aGlzLl9vcHRpb25zLGUpfXN5bWJvbFJlc29sdmVkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbFJlc29sdmVkfXN5bWJvbENoYW5nZWQoKXtyZXR1cm4gdGhpcy5fc3ltYm9sQ2hhbmdlZH1zZXJpZXNDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3Nlcmllc0NoYW5nZWR9dGltZUZyYW1lSW52YWxpZGF0ZWQoKXtyZXR1cm4gdGhpcy5fdGltZUZyYW1lSW52YWxpZGF0ZWR9cmVzdG9yZU9yaWdpbmFsU2NhbGVNb2RlKCl7bnVsbCE9PXRoaXMuX29yaWdpbmFsU2NhbGVNb2RlJiZ0aGlzLl9zZXJpZXMucHJpY2VTY2FsZSgpLmFwcGx5T3B0aW9ucyh7bW9kZTp0aGlzLl9vcmlnaW5hbFNjYWxlTW9kZX0pfXN3aXRjaFRvUGVyY2VudGFnZVNjYWxlTW9kZSgpe251bGw9PT10aGlzLl9vcmlnaW5hbFNjYWxlTW9kZSYmKHRoaXMuX29yaWdpbmFsU2NhbGVNb2RlPXRoaXMuX3Nlcmllcy5wcmljZVNjYWxlKCkub3B0aW9ucygpLm1vZGUpLHRoaXMuX3Nlcmllcy5wcmljZVNjYWxlKCkuYXBwbHlPcHRpb25zKHttb2RlOnIuUHJpY2VTY2FsZU1vZGUuUGVyY2VudGFnZX0pfWNoYXJ0U2Vzc2lvbigpe3JldHVybiB0aGlzLl9taW5pQ2hhcnQuY2hhcnRTZXNzaW9uKCl9Y3VycmVudFNlcmllc09wdGlvbnMoKXtyZXR1cm4gdGhpcy5fY3VycmVudFNlcmllc09wdGlvbnN9dm9sdW1lT3B0aW9ucygpe3JldHVybiB0aGlzLl9vcmlnaW5hbFZvbHVtZU9wdGlvbnN9c2VyaWVzKCl7cmV0dXJuIHRoaXMuX3Nlcmllc312b2x1bWUoKXtyZXR1cm4gdGhpcy5fb3JpZ2luYWxWb2x1bWVPcHRpb25zLnZpc2libGU/dGhpcy5fdm9sdW1lOm51bGx9dXBkYXRlRGF0YShlLHQsaSl7ZSYmdGhpcy5jbGVhclNvdXJjZURhdGEoKTtjb25zdCBzPXRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucyxyPXRoaXMuX2J1aWxkVmlld0RhdGEoaSksYT1yLnNlcmllcy5sZW5ndGg7dGhpcy5faGlzdG9yeVVwZGF0ZVJlY2VpdmVkPXRoaXMuX2hpc3RvcnlVcGRhdGVSZWNlaXZlZHx8dm9pZCAwPT09aSx2b2lkIDAhPT1pfHwiYXJlYSIhPT1zLmNoYXJ0VHlwZSYmImxpbmUiIT09cy5jaGFydFR5cGV8fCh0aGlzLl9maXJzdFZhbHVlQ2FjaGU9ci5zZXJpZXNbMF0/LnZhbHVlPz9udWxsKTtjb25zdCBvPXRoaXMuX2hpc3RvcnlVcGRhdGVSZWNlaXZlZCYmbnVsbD09PXRoaXMuX2RhdGFMZW5ndGhJbmZvO2lmKHZvaWQgMCE9PWkmJiFvKXtjb25zdCBlPXRoaXMuX2RhdGFMZW5ndGhJbmZvO2lmKG51bGw9PT1lKXJldHVybjtjb25zdCB0PXsuLi5lfTtlLmxhc3RCYXJTZXNzaW9uPXIubGFzdEJhclNlc3Npb247bGV0IGk9bnVsbDtmb3IoY29uc3QgdCBvZiByLnNlcmllcyl0aGlzLl9zZXJpZXMudXBkYXRlKHQpLAoobnVsbD09PWUubGFzdEJhclRpbWV8fGUubGFzdEJhclRpbWU8dC50aW1lKSYmKGk9dC50aW1lLGUubGFzdEJhclRpbWU9aSxlLnJlYWx0aW1lKz0xLGUubGFzdEJhckluZGV4PShlLmxhc3RCYXJJbmRleD8/LTEpKzEpO2lmKHIuYWRkaXRpb25hbFNlcmllcyYmdGhpcy5fdXBkYXRlQWRkaXRpb25hbFNlcmllc0RhdGEoci5hZGRpdGlvbmFsU2VyaWVzKSxyLnZvbHVtZSlmb3IoY29uc3QgZSBvZiByLnZvbHVtZSl0aGlzLl92b2x1bWUudXBkYXRlKGUpO2lmKHZvaWQgMCE9PXRoaXMuX3doaXRlc3BhY2VzRGF0YSYmbnVsbCE9PWkpe2NvbnN0IHQ9dGhpcy5fd2hpdGVzcGFjZXNEYXRhLmZpbmRJbmRleCgoZT0+ZS50aW1lPmkpKTstMT09PXQ/KGUud2hpdGVzcGFjZXM9MCx0aGlzLl91cGRhdGVXaGl0ZXNwYWNlcyhbXSkpOjAhPT10JiYoZS53aGl0ZXNwYWNlcy09dCx0aGlzLl91cGRhdGVXaGl0ZXNwYWNlcyh0aGlzLl93aGl0ZXNwYWNlc0RhdGEuc2xpY2UodCkpKX1udWxsIT09aSYmKHZvaWQgMCE9PWUuZml4TGVmdEVkZ2VVbnRpbD8odGhpcy5faXNNYWluUGxvdCgpJiZlLmZpeExlZnRFZGdlVW50aWw+PWkmJnRoaXMuX21pbmlDaGFydC5maXRDb250ZW50KCksaT5lLmZpeExlZnRFZGdlVW50aWwmJihlLmhpc3RvcnkrPWUucmVhbHRpbWUtMSxlLnJlYWx0aW1lPTAsZS5maXhMZWZ0RWRnZVVudGlsPXZvaWQgMCxlLnRpbWVGcmFtZUludmFsaWRhdGVkPSEwLHRoaXMuX3RpbWVGcmFtZUludmFsaWRhdGVkLmZpcmUoKSkpOmUudGltZUZyYW1lSW52YWxpZGF0ZWR8fChlLnRpbWVGcmFtZUludmFsaWRhdGVkPSEwLHRoaXMuX3RpbWVGcmFtZUludmFsaWRhdGVkLmZpcmUoKSkpLHRoaXMuX3VwZGF0ZVNlcmllc0NvbG9yKHIuc2VyaWVzW3Iuc2VyaWVzLmxlbmd0aC0xXSksdGhpcy5fZGF0YVVwZGF0ZWQocixlLHQpO2NvbnN0IHM9VyhyKTtyZXR1cm4gdm9pZChudWxsIT09cyYmKHRoaXMuX2xhc3RWYWx1ZS5zZXRWYWx1ZShzLmxhc3QudmFsdWUpLHRoaXMuX29uTGFzdEJhckRhdGFNYXlDaGFuZ2UoKSkpfWNvbnN0IG49ci53aGl0ZXNwYWNlcyxsPW4/Lmxlbmd0aD8/MDt0aGlzLl9kYXRhTGVuZ3RoSW5mbz17aGlzdG9yeTphLHJlYWx0aW1lOjAsbGFzdEJhckluZGV4OjA9PT1hP251bGw6YS0xLGxhc3RCYXJUaW1lOjA9PT1hP251bGw6ci5zZXJpZXNbYS0xXS50aW1lLHdoaXRlc3BhY2VzOmwsZml4TGVmdEVkZ2VVbnRpbDpyLmZpeExlZnRFZGdlVW50aWwsdGltZUZyYW1lSW52YWxpZGF0ZWQ6ITEsbGFzdEJhclNlc3Npb246ci5sYXN0QmFyU2Vzc2lvbn0sdGhpcy5fdXBkYXRlU2VyaWVzQ29sb3IoMD09PWE/dm9pZCAwOnIuc2VyaWVzW2EtMV0pLHRoaXMuX3Nlcmllcy5hcHBseU9wdGlvbnModGhpcy5fY3VycmVudFNlcmllc09wdGlvbnMpLHRoaXMuX2FwcGx5UHJpY2VTY2FsZUZvcm1hdHRlcigpLHR8fHRoaXMuX2JlZm9yZURhdGFSZWFkeSgpLHRoaXMuX3Nlcmllcy5zZXREYXRhKHIuc2VyaWVzKSxyLmFkZGl0aW9uYWxTZXJpZXMmJnRoaXMuX3NldEFkZGl0aW9uYWxTZXJpZXNEYXRhKHIuYWRkaXRpb25hbFNlcmllcyksci52b2x1bWUmJnRoaXMuX3ZvbHVtZS5zZXREYXRhKHIudm9sdW1lKSx0aGlzLl91cGRhdGVXaGl0ZXNwYWNlcyhyLndoaXRlc3BhY2VzKSx0aGlzLl9kYXRhVXBkYXRlZChyLHRoaXMuX2RhdGFMZW5ndGhJbmZvKTtjb25zdCBoPVcocik7aWYobnVsbCE9PWgpe2NvbnN0e2ZpcnN0OmUsbGFzdDp0fT1oO3RoaXMuX2xhc3RWYWx1ZS5zZXRWYWx1ZSh0LnZhbHVlKSx0aGlzLl9maXJzdEJhclRpbWUuc2V0VmFsdWUoZS50aW1lKSx0aGlzLl9vbkxhc3RCYXJEYXRhTWF5Q2hhbmdlKCl9fXRpdGxlcygpe3JldHVybiB0aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucy50aXRsZT9bdGhpcy5fY3VycmVudFNlcmllc09wdGlvbnMudGl0bGVdOltdfWRlbGV0ZVZpZXcoKXt0aGlzLl9zZXJpZXMuc2V0RGF0YShbXSksdGhpcy5fd2hpdGVzcGFjZXM/LnNldERhdGEoW10pLHRoaXMuX3ZvbHVtZS5zZXREYXRhKFtdKX1jbGVhckRhdGEoKXt0aGlzLl9zeW1ib2xJbmZvPW51bGwsdGhpcy5fc3ltYm9sSW5mb1dWLnNldFZhbHVlKG51bGwpLHRoaXMuX2hpc3RvcnlVcGRhdGVSZWNlaXZlZD0hMSx0aGlzLl9kYXRhTGVuZ3RoSW5mbz1udWxsLHRoaXMuX2ZpcnN0VmFsdWVDYWNoZT1udWxsLHRoaXMuX2N1c3RvbVByaWNlRm9ybWF0dGVyPW51bGwsdGhpcy5fc3RhdHVzLnNldFZhbHVlKDApLHRoaXMuX25vRGF0YS5zZXRWYWx1ZShudWxsKSx0aGlzLl9kaXJlY3Rpb25CYXNlZENvbG9yLnNldFZhbHVlKG51bGwpfXJlc29sdXRpb24oKXtyZXR1cm4gdGhpcy5fbWluaUNoYXJ0LnJlc29sdXRpb24oKX1taW5CYXJJbmRleCgpe3JldHVybiB0aGlzLl9taW5CYXJJbmRleH1tYXhCYXJJbmRleCgpe3JldHVybiB0aGlzLl9tYXhCYXJJbmRleH1mb3JjZVBlcmNlbnRhZ2VNb2RlKCl7cmV0dXJuITF9bGFzdEJhclRpbWUoKXtyZXR1cm4gdGhpcy5fZGF0YUxlbmd0aEluZm8/Lmxhc3RCYXJUaW1lPz92b2lkIDB9bGFzdEJhckluZGV4KCl7cmV0dXJuIHRoaXMuX2RhdGFMZW5ndGhJbmZvPy5sYXN0QmFySW5kZXg/P251bGx9Z2V0Vmlld0RhdGEoZSl7cmV0dXJuIHRoaXMuX2J1aWxkVmlld0RhdGEoZSl9Z2V0TGVnZW5kRGF0YShlLHQpe2NvbnN0IHM9dGhpcy5zZXJpZXMoKSxyPXRoaXMudm9sdW1lKCk7aWYodm9pZCAwPT09ZSlyZXR1cm5bXTtjb25zdCBhPXMuZGF0YUJ5SW5kZXgoZSx0KTtpZihudWxsPT09YSlyZXR1cm5bXTtjb25zdCBvPVtdLG49cy5wcmljZUZvcm1hdHRlcigpLGw9dGhpcy5jdXJyZW50U2VyaWVzT3B0aW9ucygpO2lmKCExPT09bC52aXNpYmxlKXJldHVybltdO2lmKCJBcmVhIj09PXMuc2VyaWVzVHlwZSgpfHwiTGluZSI9PT1zLnNlcmllc1R5cGUoKXx8IkJhc2VsaW5lIj09PXMuc2VyaWVzVHlwZSgpfHwibGVnZW5kIj09PWwudG9vbHRpcFR5cGV8fCJsaW5lIj09PWwudG9vbHRpcFR5cGUpe2NvbnN0e3ZhbHVlOmV9PWE7bGV0IHQ7dD0iYXJlYSI9PT1sLmNoYXJ0VHlwZT9hLmxpbmVDb2xvcjphLmNvbG9yCjtjb25zdCBpPXRoaXMuc3ltYm9sSW5mbygpLHM9bC5jb2xvcnx8bC5saW5lQ29sb3I7by5wdXNoKHt0aXRsZTpsLnRvb2x0aXBUaXRsZXx8aT8ubmFtZXx8IiIsdmFsdWU6bi5mb3JtYXQoZSksY29sb3I6dHx8cyx1bml0Omwuc2hvd1VuaXQ/KDAsdy5wcmVwYXJlQ3VycmVuY3lWYWx1ZSkoe2N1cnJlbmN5X2NvZGU6aT8uY3VycmVuY3lfY29kZSx1bml0X2lkOmk/LnVuaXRfaWQsdmFsdWVfdW5pdF9pZDppPy52YWx1ZV91bml0X2lkLG1lYXN1cmU6aT8ubWVhc3VyZX0pOnZvaWQgMH0pfWVsc2V7Y29uc3R7b3BlbjplLGhpZ2g6dCxsb3c6cixjbG9zZTpsfT1hLGg9ZnVuY3Rpb24oZSx0KXtpZihudWxsPT09dClyZXR1cm47Y29uc3QgaT1lP3QudXA6dC5kb3duO3JldHVybiBrKGkpfShsPj1lLHRoaXMuX21pbmlDaGFydC51cERvd25Db2xvcnMocy5zZXJpZXNUeXBlKCkpKTtbW3kudChudWxsLHtjb250ZXh0OiJpbl9sZWdlbmQifSxpKDk2MDUxMykpLG4uZm9ybWF0KGUpXSxbeS50KG51bGwse2NvbnRleHQ6ImluX2xlZ2VuZCJ9LGkoOTU0NjE0KSksbi5mb3JtYXQodCldLFt5LnQobnVsbCx7Y29udGV4dDoiaW5fbGVnZW5kIn0saSg4Mzk0NjMpKSxuLmZvcm1hdChyKV0sW3kudChudWxsLHtjb250ZXh0OiJpbl9sZWdlbmQifSxpKDIyOTk5NCkpLG4uZm9ybWF0KGwpXV0uZm9yRWFjaCgoKFtlLHRdKT0+e28ucHVzaCh7dmFsdWU6dCx0aXRsZTplLGNvbG9yOmh9KX0pKX1jb25zdCBoPXImJnIuZGF0YUJ5SW5kZXgoZSx0KSx1PXRoaXMudm9sdW1lT3B0aW9ucygpO2lmKGgpe2NvbnN0e3ZhbHVlOmUsY29sb3I6dH09aDtvLnB1c2goe3RpdGxlOnUudG9vbHRpcFRpdGxlPz95LnQobnVsbCx7Y29udGV4dDoiaW5fbGVnZW5kIn0saSg1NjUzMjEpKSx2YWx1ZTpPLmZvcm1hdChlKSxjb2xvcjp1Lmlnbm9yZUNvbG9yP3ZvaWQgMDp0JiYoMCxJLnJlc2V0VHJhbnNwYXJlbmN5KSh0KSx1bml0OnUuc2hvd1VuaXQ/dGhpcy5zeW1ib2xJbmZvKCk/LmN1cnJlbmN5X2NvZGU6dm9pZCAwfSl9cmV0dXJuIG99bGVnZW5kTGFzdEJhckRhdGEoKXtyZXR1cm4gdGhpcy5fbGVnZW5kTGFzdEJhckRhdGF8fCh0aGlzLl9sZWdlbmRMYXN0QmFyRGF0YT1uZXcgXy5XYXRjaGVkT2JqZWN0KG51bGwpLHRoaXMuX29uTGFzdEJhckRhdGFNYXlDaGFuZ2UoKSksdGhpcy5fbGVnZW5kTGFzdEJhckRhdGEucmVhZG9ubHkoKX1zZXNzaW9uQXRUaW1lKGUpe3JldHVybiB0aGlzLl9iYXJCdWlsZGVyTG9hZGVyPy5nZXQoKT8uc2Vzc2lvbihlKT8/bnVsbH1sYXN0VmFsdWUoKXtyZXR1cm4gdGhpcy5fbGFzdFZhbHVlLnJlYWRvbmx5KCl9Zmlyc3RCYXJUaW1lKCl7cmV0dXJuIHRoaXMuX2ZpcnN0QmFyVGltZS5yZWFkb25seSgpfWlzVmlzaWJsZSgpe3JldHVybiB0aGlzLl9pc1Zpc2libGUucmVhZG9ubHkoKX1zeW1ib2xOYW1lKCl7cmV0dXJuIHRoaXMuX3N5bWJvbC5zeW1ib2x9bGluZUNvbG9yKCl7Y29uc3QgZT10aGlzLmN1cnJlbnRTZXJpZXNPcHRpb25zKCk7cmV0dXJuImxpbmUiPT09ZS5jaGFydFR5cGU/ZS5jb2xvcj8/IiI6ImFyZWEiPT09ZS5jaGFydFR5cGU/ZS5saW5lQ29sb3I/PyIiOnZvaWQoMCxuLmFzc2VydCkoITEsYFVuZXhwZWN0ZWQgY2hhcnQgdHlwZTogJHtlLmNoYXJ0VHlwZX1gKX1pc0Rlc3Ryb3llZCgpe3JldHVybiB0aGlzLl9pc0Rlc3Ryb3llZC5yZWFkb25seSgpfV9oYXNPdmVybmlnaHRTZXNzaW9uKCl7cmV0dXJuITF9X2lzTWFpblBsb3QoKXtyZXR1cm4hMX1fb25DaGFydFN0eWxlQ2hhbmdlZCgpe3RoaXMuX3JlY3JlYXRlU2VyaWVzKCksMz09PXRoaXMuX3N0YXR1cy52YWx1ZSgpJiZ0aGlzLnVwZGF0ZURhdGEoITEsITApfV9iZWZvcmVEYXRhUmVhZHkoKXt0aGlzLl9jdXJyZW50bHlTaG93bkRhdGFEZXNjcmlwdGlvbi5zZXRWYWx1ZSh7dGltZWZyYW1lOnRoaXMuX3RpbWVGcmFtZS52YWx1ZSgpLHN5bWJvbDp0aGlzLnN5bWJvbCgpfSl9X2RhdGFVcGRhdGVkKGUsdCxpKXt9X29uU3ltYm9sUmVzb2x2ZWQoZSl7dGhpcy5fYmFyQnVpbGRlckxvYWRlcj8uZGVzdHJveSgpLHRoaXMuX2JhckJ1aWxkZXJMb2FkZXI9bnVsbCx0aGlzLl9zeW1ib2xJbmZvPWUsdGhpcy5fc3ltYm9sSW5mb1dWLnNldFZhbHVlKGUpLHRoaXMuX3N5bWJvbFJlc29sdmVkLmZpcmUodGhpcy5fc3ltYm9sSW5mbyl9X2dldFZpZXdEYXRhKGUsdCl7Y29uc3QgaT1bXSxzPXtzZXJpZXM6W10sdm9sdW1lOml9O2xldCByPS0xLzA7Y29uc3QgYT10aGlzLl9iYXJzKCk7aWYoYS5pc0VtcHR5KCkpcmV0dXJuIHM7Y29uc3Qgbz10aGlzLm1pbkJhckluZGV4KCksbj10aGlzLm1heEJhckluZGV4KCk7aWYobnVsbD09PW98fG51bGw9PT1uKXJldHVybiBzO2NvbnN0IGw9dD8/KFAobyk/bzphLmZpcnN0SW5kZXgoKSksaD1hLmxhc3RJbmRleCgpO2lmKG51bGw9PT1sfHxudWxsPT09aClyZXR1cm4gcztsZXQgdTtjb25zdHtwcmVtYXJrZXRMaW5lQ29sb3I6ZCxwb3N0bWFya2V0TGluZUNvbG9yOl8sbmlnaHRMaW5lQ29sb3I6YyxwcmVtYXJrZXRUb3BDb2xvcjptLHByZW1hcmtldEJvdHRvbUNvbG9yOnAscG9zdG1hcmtldFRvcENvbG9yOnkscG9zdG1hcmtldEJvdHRvbUNvbG9yOmYsbmlnaHRUb3BDb2xvcjpDLG5pZ2h0Qm90dG9tQ29sb3I6Yn09dGhpcy5fZ2V0UHJlUG9zdE1hcmtldENvbG9ycygpLHY9ZT0+e3N3aXRjaChlKXtjYXNlIDA6cmV0dXJuW2QsbSxwXTtjYXNlIDE6cmV0dXJuW18seSxmXTtjYXNlIDM6cmV0dXJuW2MsQyxiXTtkZWZhdWx0OnJldHVybltdfX07Zm9yKGNvbnN0IHQgb2YgYS5yYW5nZUl0ZXJhdG9yKGwsaCkpe2NvbnN0e3ZhbHVlOmEsaW5kZXg6b309dDtpZihvPD1TLlVOUExPVFRBQkxFX1RJTUVfUE9JTlRfSU5ERVgpY29udGludWU7Y29uc3Qgbj10aGlzLl9taW5pQ2hhcnQuaW5kZXhUb1RpbWUobyk7aWYobnVsbD09PW4pe0IubG9nV2FybihgQ291bGRuJ3QgZmluZCB0aW1lIGZvciBpbmRleCAke299YCk7Y29udGludWV9Y29uc3QgbD0hdGhpcy5fbWluaUNoYXJ0LmlzRFdNUmVzb2x1dGlvbigpP00oMWUzKm4pOm47aWYobDw9ciljb250aW51ZTtyPWwsdT1sO2NvbnN0IGg9dGhpcy5fYmFySW5kZXhTZXNzaW9uKG8pCjtzLmxhc3RCYXJTZXNzaW9uPWgscy5zZXJpZXMucHVzaChlKGwsYSwuLi52KGgpKSk7Y29uc3QgZD1hWzRdPj1hWzFdP3RoaXMuX29yaWdpbmFsVm9sdW1lT3B0aW9ucy51cENvbG9yOnRoaXMuX29yaWdpbmFsVm9sdW1lT3B0aW9ucy5kb3duQ29sb3I7aS5wdXNoKHt0aW1lOmwsdmFsdWU6YVs1XSxjb2xvcjpkfSl9aWYodGhpcy5faXNNYWluUGxvdCgpJiZ2b2lkIDA9PT10JiZ2b2lkIDAhPT11KXN3aXRjaCgoMCxnLmNvbnZlcnRUaW1lRnJhbWVUb1N0cikodGhpcy5fdGltZUZyYW1lLnZhbHVlKCkpKXtjYXNlIjFEIjpzLmZpeExlZnRFZGdlVW50aWw9dSs4NjQwMC0xO2JyZWFrO2Nhc2UiTEFTVFNFU1NJT04iOntsZXQgZT1bXSx0PXUrODc4NDAtMTtjb25zdCBpPXRoaXMuX2dlbmVyYXRlQmFyc1RvU2Vzc2lvbkVuZCgpO2k/Lmxlbmd0aCYmbnVsbCE9PW4mJm4+aCYmKGU9aSx0PWlbaS5sZW5ndGgtMV0udGltZSkscy5maXhMZWZ0RWRnZVVudGlsPXQscy53aGl0ZXNwYWNlcz1lfX1yZXR1cm4gc31fYnVpbGRWaWV3RGF0YShlKXtzd2l0Y2godGhpcy5fb3JpZ2luYWxTZXJpZXNPcHRpb25zLmNoYXJ0VHlwZSl7Y2FzZSJwcmV0dHktaGlzdG9ncmFtIjpjYXNlImhpc3RvZ3JhbSI6e2NvbnN0IHQ9dGhpcy5fY3VycmVudFNlcmllc09wdGlvbnM7cmV0dXJuIHRoaXMuX2dldFZpZXdEYXRhKCgoZSxpKT0+ZnVuY3Rpb24oZSx0LGkscyl7Y29uc3Qgcj10WzRdO3JldHVybnt0aW1lOmUsY29sb3I6cj4wP2k6cyx2YWx1ZTpyfX0oZSxpLHQudXBDb2xvcix0LmRvd25Db2xvcikpLGUpfWNhc2UibGluZSI6e2NvbnN0IHQ9dGhpcy5fY3VycmVudFNlcmllc09wdGlvbnM7cmV0dXJuIHRoaXMuX2dldFZpZXdEYXRhKEwuYmluZChudWxsLHQuc291cmNlUGxvdEluZGV4Pz80KSxlKX1jYXNlImFyZWEiOmNhc2UiYmFzZWxpbmUiOnJldHVybiB0aGlzLl9nZXRWaWV3RGF0YSh4LGUpO2Nhc2UiYmFycyI6Y2FzZSJjYW5kbGVzdGlja3MiOnJldHVybiB0aGlzLl9nZXRWaWV3RGF0YShULGUpfX1fc2V0QWRkaXRpb25hbFNlcmllc0RhdGEoZSl7fV91cGRhdGVBZGRpdGlvbmFsU2VyaWVzRGF0YShlKXt9X2JhckluZGV4U2Vzc2lvbihlKXt9X29uU3ltYm9sRXJyb3IoZSl7Qi5sb2dXYXJuKCgwLEMuZW5jb2RlRXh0ZW5kZWRTeW1ib2xPckdldFNpbXBsZVN5bWJvbFN0cmluZykodGhpcy5fc3ltYm9sKSsiIHN5bWJvbCByZXNvbHZpbmcgZXJyb3I6ICIrZSksdGhpcy51cGRhdGVEYXRhKCEwKSx0aGlzLl9zdGF0dXMuc2V0VmFsdWUoMSl9X29uU3ltYm9sTm90UGVybWl0dGVkKCl7dGhpcy5fbm9EYXRhLnNldFZhbHVlKDEpfV9vbkludHJhZGF5U3ByZWFkTm90UGVybWl0dGVkKCl7dGhpcy5fc3RhdHVzLnNldFZhbHVlKDIpLHRoaXMuX25vRGF0YS5zZXRWYWx1ZSg0KSx0aGlzLl9pc01haW5QbG90KCkmJnRoaXMuX21pbmlDaGFydC5zaG93TWVzc2FnZSh5LnQobnVsbCx7Y29udGV4dDoibWluaSBjaGFydCBlcnJvciBtZXNzYWdlIn0saSg4MjkyNzMpKSl9X29uU3ltYm9sR3JvdXBOb3RQZXJtaXR0ZWQoKXt0aGlzLl9ub0RhdGEuc2V0VmFsdWUoMSl9X29uU3ltYm9sSW52YWxpZCgpe3RoaXMuX25vRGF0YS5zZXRWYWx1ZSgwKX1fb25SZXNvbHV0aW9uT3JFeGNoYW5nZU5vdFBlcm1pdHRlZEVycm9yKCl7Qi5sb2dFcnJvcigoMCxDLmVuY29kZUV4dGVuZGVkU3ltYm9sT3JHZXRTaW1wbGVTeW1ib2xTdHJpbmcpKHRoaXMuX3N5bWJvbCkrIiByZXNvbHV0aW9uIG9yIGV4Y2hhbmdlIHBlcm1pc3Npb24gZXJyb3IiKSx0aGlzLnVwZGF0ZURhdGEoITApLHRoaXMuX2lzTWFpblBsb3QoKSYmdGhpcy5fbWluaUNoYXJ0LnNob3dNZXNzYWdlKHkudChudWxsLHtjb250ZXh0OiJtaW5pIGNoYXJ0IGVycm9yIG1lc3NhZ2UifSxpKDI4NTg5MykpKSxzZXRUaW1lb3V0KCgoKT0+dGhpcy5fbWluaUNoYXJ0LnVwZGF0ZUF2YWlsYWJsZVRpbWVmcmFtZXMoKSksMWUzKX1fb25EYXRhRXJyb3IoKXsxIT09dGhpcy5fc3RhdHVzLnZhbHVlKCkmJnRoaXMuX3N0YXR1cy5zZXRWYWx1ZSgyKSx0aGlzLl9ub0RhdGEuc2V0VmFsdWUoMyl9X29uRGF0YUNvbXBsZXRlZCgpe3RoaXMuX3N0YXR1cy5zZXRWYWx1ZSgzKSx0aGlzLl9ub0RhdGEuc2V0VmFsdWUoMD09PXRoaXMuX2JhcnMoKS5zaXplKCk/MjpudWxsKSwyPT09dGhpcy5fbm9EYXRhLnZhbHVlKCkmJnRoaXMuX2lzTWFpblBsb3QoKSYmdGhpcy5fc2hvd05vRGF0YU1lc3NhZ2UoKX1fc2hvd05vRGF0YU1lc3NhZ2UoKXt0aGlzLl9taW5pQ2hhcnQuc2hvd01lc3NhZ2UoeS50KG51bGwse2NvbnRleHQ6Im1pbmkgY2hhcnQgZXJyb3IgbWVzc2FnZSJ9LGkoMjk5MTUzKSkpfWFzeW5jIF9vbkRhdGEoZSx0KXtudWxsIT09dGhpcy5taW5CYXJJbmRleCgpJiZudWxsIT09dGhpcy5tYXhCYXJJbmRleCgpJiYodGhpcy51cGRhdGVEYXRhKCExLHZvaWQgMCxlKSwzPT09dGhpcy5fc3RhdHVzLnZhbHVlKCkmJnRoaXMuX25vRGF0YS5zZXRWYWx1ZSgwPT09dGhpcy5fYmFycygpLnNpemUoKT8yOm51bGwpKX1fdXBkYXRlU2VyaWVzT3B0aW9ucyhlKXt0aGlzLl9vcmlnaW5hbFNlcmllc09wdGlvbnM9KDAsYS5kZWZhdWx0KSh0aGlzLl9vcmlnaW5hbFNlcmllc09wdGlvbnMsZSksdGhpcy5fY3VycmVudFNlcmllc09wdGlvbnM9KDAsYS5kZWZhdWx0KSh0aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucyx0aGlzLl9vcmlnaW5hbFNlcmllc09wdGlvbnMpLHRoaXMuX3VwZGF0ZVNlcmllc0NvbG9yKCksdm9pZCAwIT09dGhpcy5fY3VycmVudFNlcmllc09wdGlvbnMudmlzaWJsZSYmdGhpcy5faXNWaXNpYmxlLnNldFZhbHVlKHRoaXMuX2N1cnJlbnRTZXJpZXNPcHRpb25zLnZpc2libGUpfV9yZWNyZWF0ZVNlcmllcygpe2NvbnN0IGU9dGhpcy5fbWluaUNoYXJ0LndpZGdldCgpO2UucmVtb3ZlU2VyaWVzKHRoaXMuX3NlcmllcyksZS5yZW1vdmVTZXJpZXModGhpcy5fdm9sdW1lKSx0aGlzLl93aGl0ZXNwYWNlcyYmKGUucmVtb3ZlU2VyaWVzKHRoaXMuX3doaXRlc3BhY2VzKSx0aGlzLl93aGl0ZXNwYWNlcz1udWxsKSx0aGlzLl9zZXJpZXM9dGhpcy5fY3JlYXRlU2VyaWVzKCksCnRoaXMuX3ZvbHVtZT10aGlzLl9jcmVhdGVWb2x1bWUoKSx0aGlzLl9jaGFydFR5cGUuc2V0VmFsdWUodGhpcy5fY3VycmVudFNlcmllc09wdGlvbnMuY2hhcnRUeXBlKSx0aGlzLl9zZXJpZXNDaGFuZ2VkLmZpcmUoKX1faW5pdEJhckJ1aWxkZXIoZSl7cmV0dXJuIG51bGw9PT10aGlzLl9iYXJCdWlsZGVyTG9hZGVyJiYodGhpcy5fYmFyQnVpbGRlckxvYWRlcj1uZXcgVi5Bc3luY1Jlc291cmNlV3JhcHBlcihQcm9taXNlLmFsbChbaS5lKDEyMTgxKSxpLmUoNTU5NjkpLGkuZSg2MzE2MCksaS5lKDkzMjc5KV0pLnRoZW4oaS5iaW5kKGksMTY0NDc1KSkudGhlbigodD0+bmV3IHQuTWluaUNoYXJ0QmFyQnVpbGRlcihlKSkpKSksdGhpcy5fYmFyQnVpbGRlckxvYWRlci5wcm9taXNlKCl9X2ZpcnN0QW5kTGFzdFZhbHVlc0ZvclNlcmllc0NvbG9yKGUsdCl7aWYobnVsbD09PXRoaXMuX2ZpcnN0VmFsdWVDYWNoZXx8IXRoaXMuX2RhdGFMZW5ndGhJbmZvKXJldHVybiBudWxsO2lmKCJsaW5lIiE9PWUmJiJhcmVhIiE9PWUpcmV0dXJuIG51bGw7Y29uc3QgaT1udWxsPT09dGhpcy5fZGF0YUxlbmd0aEluZm8ubGFzdEJhckluZGV4P251bGw6dGhpcy5fc2VyaWVzLmRhdGFCeUluZGV4KHRoaXMuX2RhdGFMZW5ndGhJbmZvLmxhc3RCYXJJbmRleCk7cmV0dXJuIG51bGwhPT1pfHx0Pyh0PXQ/P2ksW3RoaXMuX2ZpcnN0VmFsdWVDYWNoZSx0LnZhbHVlXSk6bnVsbH1fdXBkYXRlU2VyaWVzQ29sb3IoZSl7Y29uc3QgdD10aGlzLl9vcmlnaW5hbFNlcmllc09wdGlvbnMsaT10LmNoYXJ0VHlwZSxzPXRoaXMuX2ZpcnN0QW5kTGFzdFZhbHVlc0ZvclNlcmllc0NvbG9yKGksZSk7aWYobnVsbD09PXMpcmV0dXJuO2NvbnN0W3IsYV09cztpZigibGluZSI9PT1pfHwiYXJlYSI9PT1pKXtjb25zdCBlPSJsaW5lIj09PWk/YT49cjphPnI7aWYoImFyZWEiPT09aSl7Y29uc3QgaT10aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucztlPyhpLmxpbmVDb2xvcj10Lmdyb3dpbmdMaW5lQ29sb3J8fHQubGluZUNvbG9yLGkudG9wQ29sb3I9dC5ncm93aW5nVG9wQ29sb3J8fHQudG9wQ29sb3IsaS5ib3R0b21Db2xvcj10Lmdyb3dpbmdCb3R0b21Db2xvcnx8dC5ib3R0b21Db2xvcik6KGkubGluZUNvbG9yPXQuZmFsbGluZ0xpbmVDb2xvcnx8dC5saW5lQ29sb3IsaS50b3BDb2xvcj10LmZhbGxpbmdUb3BDb2xvcnx8dC50b3BDb2xvcixpLmJvdHRvbUNvbG9yPXQuZmFsbGluZ0JvdHRvbUNvbG9yfHx0LmJvdHRvbUNvbG9yKSxpLmxpbmVDb2xvcnx8KGkubGluZUNvbG9yPXRoaXMuX3Nlcmllcy5vcHRpb25zKCkubGluZUNvbG9yKSx0aGlzLl9zZXJpZXMuYXBwbHlPcHRpb25zKHt0b3BDb2xvcjppLnRvcENvbG9yLGJvdHRvbUNvbG9yOmkuYm90dG9tQ29sb3IsbGluZUNvbG9yOmkubGluZUNvbG9yfSksdGhpcy5fZGlyZWN0aW9uQmFzZWRDb2xvci5zZXRWYWx1ZShpLmxpbmVDb2xvcil9ZWxzZSBpZigibGluZSI9PT1pKXtjb25zdHtjb2xvcjppLGdyb3dpbmdDb2xvcjpzPWksZmFsbGluZ0NvbG9yOnI9aX09dCxhPXRoaXMuX2N1cnJlbnRTZXJpZXNPcHRpb25zO2EuY29sb3I9ZT9zOnIsYS5jb2xvcnx8KGEuY29sb3I9dGhpcy5fc2VyaWVzLm9wdGlvbnMoKS5jb2xvciksdGhpcy5fc2VyaWVzLmFwcGx5T3B0aW9ucyh7Y29sb3I6YS5jb2xvcn0pLHRoaXMuX2RpcmVjdGlvbkJhc2VkQ29sb3Iuc2V0VmFsdWUoYS5jb2xvcil9fX1fcHJpY2VGb3JtYXQoKXtjb25zdCBlPXRoaXMuX3N5bWJvbEluZm8/P3RoaXMuX21pbmlDaGFydC5tYWluUGxvdCgpLnN5bWJvbEluZm8oKTtyZXR1cm4gbnVsbD09PWU/bnVsbDpGKGUpfV9vbkxhc3RCYXJEYXRhTWF5Q2hhbmdlKCl7aWYoIXRoaXMuX2xlZ2VuZExhc3RCYXJEYXRhKXJldHVybjtjb25zdCBlPXRoaXMuX21pbmlDaGFydC5tYWluUGxvdCgpLmxhc3RCYXJJbmRleCgpO251bGwhPT1lP3RoaXMuX2xlZ2VuZExhc3RCYXJEYXRhLnNldFZhbHVlKHRoaXMuZ2V0TGVnZW5kRGF0YShlLHIuTWlzbWF0Y2hEaXJlY3Rpb24uTmVhcmVzdExlZnQpKTp0aGlzLl9sZWdlbmRMYXN0QmFyRGF0YS5zZXRWYWx1ZShudWxsKX1fY3JlYXRlU2VyaWVzKCl7Y29uc3QgZT10aGlzLl9taW5pQ2hhcnQud2lkZ2V0KCk7bGV0IHQ7c3dpdGNoKHRoaXMuX2N1cnJlbnRTZXJpZXNPcHRpb25zLmNoYXJ0VHlwZSl7Y2FzZSJsaW5lIjp0PWUuYWRkU2VyaWVzKHIuTGluZVNlcmllcyx0aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucyk7YnJlYWs7Y2FzZSJoaXN0b2dyYW0iOnQ9ZS5hZGRTZXJpZXMoci5IaXN0b2dyYW1TZXJpZXMsdGhpcy5fY3VycmVudFNlcmllc09wdGlvbnMpO2JyZWFrO2Nhc2UiYXJlYSI6dD1lLmFkZFNlcmllcyhyLkFyZWFTZXJpZXMsdGhpcy5fY3VycmVudFNlcmllc09wdGlvbnMpO2JyZWFrO2Nhc2UiYmFycyI6dD1lLmFkZFNlcmllcyhyLkJhclNlcmllcyx0aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucyk7YnJlYWs7Y2FzZSJjYW5kbGVzdGlja3MiOnQ9ZS5hZGRTZXJpZXMoci5DYW5kbGVzdGlja1Nlcmllcyx0aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucyk7YnJlYWs7Y2FzZSJiYXNlbGluZSI6dD1lLmFkZFNlcmllcyhyLkJhc2VsaW5lU2VyaWVzLHRoaXMuX2N1cnJlbnRTZXJpZXNPcHRpb25zKTticmVhaztjYXNlInByZXR0eS1oaXN0b2dyYW0iOntjb25zdCBpPW5ldyBELlByZXR0eUhpc3RvZ3JhbVNlcmllczt0PWUuYWRkQ3VzdG9tU2VyaWVzKGksdGhpcy5fY3VycmVudFNlcmllc09wdGlvbnMpfX1yZXR1cm4gbnVsbD09PXRoaXMuX29yaWdpbmFsU2NhbGVNb2RlJiYodGhpcy5fb3JpZ2luYWxTY2FsZU1vZGU9dC5wcmljZVNjYWxlKCkub3B0aW9ucygpLm1vZGUpLHRoaXMuX2lzVmlzaWJsZS5zZXRWYWx1ZSh0Lm9wdGlvbnMoKS52aXNpYmxlKSx0LnByaWNlU2NhbGUoKS5hcHBseU9wdGlvbnMoe3NjYWxlTWFyZ2luczp0aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucy5zY2FsZU1hcmdpbnN9KSx0fV9jcmVhdGVWb2x1bWUoKXtjb25zdCBlPXRoaXMuX21pbmlDaGFydC53aWRnZXQoKS5hZGRTZXJpZXMoci5IaXN0b2dyYW1TZXJpZXMsdGhpcy5fb3JpZ2luYWxWb2x1bWVPcHRpb25zKQo7cmV0dXJuIGUucHJpY2VTY2FsZSgpLmFwcGx5T3B0aW9ucyh7c2NhbGVNYXJnaW5zOnRoaXMuX29yaWdpbmFsVm9sdW1lT3B0aW9ucy5zY2FsZU1hcmdpbnN9KSxlfV9hcHBseVByaWNlU2NhbGVGb3JtYXR0ZXIoKXtpZigicHJpY2VGb3JtYXQiaW4gdGhpcy5fb3JpZ2luYWxTZXJpZXNPcHRpb25zKXJldHVybjtjb25zdCBlPXRoaXMuX3ByaWNlRm9ybWF0KCk7ZSYmKHRoaXMuX2N1cnJlbnRTZXJpZXNPcHRpb25zLnByaWNlRm9ybWF0PWUsdGhpcy5fc2VyaWVzLmFwcGx5T3B0aW9ucyh0aGlzLl9jdXJyZW50U2VyaWVzT3B0aW9ucykpfV91cGRhdGVTZXNzaW9uSWQoKXt0aGlzLl9pc0xhc3RTZXNzaW9uSW50ZXJ2YWwudmFsdWUoKT90aGlzLl9zZXNzaW9uSWQuc2V0VmFsdWUodGhpcy5faGFzT3Zlcm5pZ2h0U2Vzc2lvbigpPyIyNGgiOiJleHRlbmRlZCIpOnRoaXMuX3Nlc3Npb25JZC5zZXRWYWx1ZSh0aGlzLl9zeW1ib2wuc2Vzc2lvbil9X3VwZGF0ZVdoaXRlc3BhY2VzKGUpe3ZvaWQgMD09PWV8fDA9PT1lLmxlbmd0aD9udWxsIT09dGhpcy5fd2hpdGVzcGFjZXMmJih0aGlzLl9taW5pQ2hhcnQud2lkZ2V0KCkucmVtb3ZlU2VyaWVzKHRoaXMuX3doaXRlc3BhY2VzKSx0aGlzLl93aGl0ZXNwYWNlcz1udWxsKToobnVsbD09PXRoaXMuX3doaXRlc3BhY2VzJiYodGhpcy5fd2hpdGVzcGFjZXM9dGhpcy5fbWluaUNoYXJ0LndpZGdldCgpLmFkZFNlcmllcyhyLkxpbmVTZXJpZXMpKSx0aGlzLl93aGl0ZXNwYWNlc0RhdGE9bnVsbD09PXRoaXMuX3doaXRlc3BhY2VzP3ZvaWQgMDplLHRoaXMuX3doaXRlc3BhY2VzLnNldERhdGEoZSkpfV9nZW5lcmF0ZUJhcnNUb1Nlc3Npb25FbmQoKXtjb25zdCBlPXRoaXMuc3ltYm9sSW5mbygpLHQ9dGhpcy5fYmFycygpLmxhc3RJbmRleCgpLGk9dGhpcy5tYXhCYXJJbmRleCgpO2lmKGUmJnQmJmkmJnRoaXMuX2lzTGFzdFNlc3Npb25JbnRlcnZhbC52YWx1ZSgpKXtsZXQgZT10aGlzLl9taW5pQ2hhcnQuaW5kZXhUb1RpbWUodCk7aWYobnVsbD09PWUpcmV0dXJuO2NvbnN0IHM9W107Zm9yKGxldCByPXQrMTtyPD1pO3IrPTEpe2NvbnN0IHQ9dGhpcy5fbWluaUNoYXJ0LmluZGV4VG9UaW1lKHIpPz9lKzYwO3MucHVzaCh7dGltZTpNKDFlMyp0KX0pLGU9dH1yZXR1cm4gc319X2dldFByZVBvc3RNYXJrZXRDb2xvcnMoKXtpZighdGhpcy5faXNNYWluUGxvdCgpKXJldHVybnt9O2xldCBlLHQsaSxzLHIsYTtjb25zdCBvPXRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucy5wcmVtYXJrZXRMaW5lQ29sb3Isbj10aGlzLl9vcmlnaW5hbFNlcmllc09wdGlvbnMucG9zdG1hcmtldExpbmVDb2xvcixoPXRoaXMuX29yaWdpbmFsU2VyaWVzT3B0aW9ucy5uaWdodExpbmVDb2xvcjtpZigiYXJlYSI9PT10aGlzLl9vcmlnaW5hbFNlcmllc09wdGlvbnMuY2hhcnRUeXBlJiZvJiZuJiZoKXtjb25zdCB1PXRoaXMuX2N1cnJlbnRTZXJpZXNPcHRpb25zLGQ9dS5ncm93aW5nVG9wQ29sb3J8fHUuZmFsbGluZ1RvcENvbG9yfHx1LnRvcENvbG9yO2lmKHZvaWQgMCE9PWQpe2NvbnN0IHQ9KDAsbC50cnlQYXJzZVJnYmEpKGQpO2lmKG51bGwhPT10KXtjb25zdCBzPXRbM107ZT0oMCxJLmFwcGx5QWxwaGEpKG8scyksaT0oMCxJLmFwcGx5QWxwaGEpKG4scykscj0oMCxJLmFwcGx5QWxwaGEpKGgscyl9fWNvbnN0IF89dS5ncm93aW5nQm90dG9tQ29sb3J8fHUuZmFsbGluZ0JvdHRvbUNvbG9yfHx1LmJvdHRvbUNvbG9yO2lmKHZvaWQgMCE9PV8pe2NvbnN0IGU9KDAsbC50cnlQYXJzZVJnYmEpKF8pO2lmKG51bGwhPT1lKXtjb25zdCBpPWVbM107dD0oMCxJLmFwcGx5QWxwaGEpKG8saSkscz0oMCxJLmFwcGx5QWxwaGEpKG4saSksYT0oMCxJLmFwcGx5QWxwaGEpKGgsaSl9fX1yZXR1cm57cHJlbWFya2V0TGluZUNvbG9yOm8scG9zdG1hcmtldExpbmVDb2xvcjpuLG5pZ2h0TGluZUNvbG9yOmgscHJlbWFya2V0VG9wQ29sb3I6ZSxwb3N0bWFya2V0VG9wQ29sb3I6aSxuaWdodFRvcENvbG9yOnIscHJlbWFya2V0Qm90dG9tQ29sb3I6dCxwb3N0bWFya2V0Qm90dG9tQ29sb3I6cyxuaWdodEJvdHRvbUNvbG9yOmF9fV90aW1lU2NhbGVTaXplQ2hhbmdlZCgpe3RoaXMuX2lzTWFpblBsb3QoKSYmUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKCk9PnRoaXMuX21pbmlDaGFydC5maXRDb250ZW50KCkpKX19fX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/tradingview-copyright-data-impl.27f349a1d58483f27eaa.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.582Z","timestamp":1785120634582,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/tradingview-copyright-data-impl.27f349a1d58483f27eaa.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-dc9\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:49\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 70edf93266a8b2be4adcced2045d82e5\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3529,"size_decoded":2690,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (1999)","md5":"88cd75b972ac65ea66d51cca418cd69c","sha1":"f4df7f63194fb7a17442ba8c04e626440cdf7985","sha256":"c7c434bf3cf0f1b1f069cde14034f32a220711a98b1190aca13e5f5b85ad3971","sha512":"877ef0b222a370b5ebeef0a0b5ec62ae76954d81f00617c2c9a7f58e0c171a599cf35ae0ac615d4daec98634a6f67c438043e0b7342efc2dc6837666902e216c","ssdeep":"","tlshash":"1c712d9a2252a8cd2553d979cc3b05e5621fa8fc3a8f43e0f973cf30a0831d5a912928","first_seen":"2026-07-23T13:38:20.341671Z","last_seen":"2026-07-27T05:16:58.365201Z","times_seen":732,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s5NzUwOV0sezg2NDI3NChlKXtlLmV4cG9ydHM9eyJjc3MtdmFsdWUtY29weXJpZ2h0LXRyYW5zaXRpb24tcGFyYW1zLWhhbGYtdGltZSI6Ii4zcyAwcyBjdWJpYy1iZXppZXIoLjQsIC4wMSwgLjIyLCAxKSIsbGFiZWw6ImxhYmVsLWU5YzZkeWNWIixsb2dvV3JhcDoibG9nb1dyYXAtZTljNmR5Y1YiLHN2Z1RleHRXcmFwOiJzdmdUZXh0V3JhcC1lOWM2ZHljViIsbGFyZ2U6ImxhcmdlLWU5YzZkeWNWIn19LDcwNTc5MChlLHQsYyl7InVzZSBzdHJpY3QiO2MuZCh0LHtnZXRUcmFkaW5nVmlld0NvcHlyaWdodERhdGE6KCk9PmF9KTt2YXIgaT1jKDkzNzc0NCkscj1jKDg2NDI3NCksbD1jKDk1OTk5MiksaD1jKDIxMjk2MSk7ZnVuY3Rpb24gYShlLHQpe3JldHVybnsuLi57aWNvbjpsLHN2Z1RleHQ6aH0sdGhlbWU6cix1cmw6KDAsaS5nZXRMb2NhbGl6ZWRUdkhvc3RXaXRoVXRtKShlLHQpfX19LDkzNzc0NChlLHQsYyl7InVzZSBzdHJpY3QiO2MuZCh0LHtnZXRMb2NhbGl6ZWRUdkhvc3RXaXRoVXRtOigpPT5sfSk7dmFyIGk9YygzNjQxODgpLHI9Yyg2MDE1ODcpO2Z1bmN0aW9uIGwoZSx0KXtjb25zdCBjPSgwLGkuZ2V0VFZIb3N0RnJvbUxvY2FsZSkoZXx8ImVuIiksbD10PygwLHIuYnVpbGRVdG1RdWVyeVN0cmluZykodCk6IiI7cmV0dXJuYGh0dHBzOi8vJHtjfSR7bD8iPyIrbDoiIn1gfX0sMzE5ODcyKGUsdCxjKXsidXNlIHN0cmljdCI7Yy5kKHQse2dldExvY2FsaXplZERvbWFpbjooKT0+cn0pO2NvbnN0IGk9e2FyX0FFOiJhciIsZGVfREU6ImRlIixlbjoid3d3IixlczoiZXMiLGNhX0VTOiJlcyIsZmFfSVI6Ind3dyIsZnI6ImZyIixoZV9JTDoiaWwiLGlkOiJpZCIsaW46ImluIixpdDoiaXQiLGphOiJqcCIsa3I6ImtyIixtc19NWToibXkiLHBsOiJwbCIsYnI6ImJyIixydToicnUiLHN2X1NFOiJzZSIsdGhfVEg6InRoIix0cjoidHIiLHVrOiJ1ayIsdmlfVk46InZuIix6aF9DTjoiY24iLHpoX1RXOiJ0dyJ9O2Z1bmN0aW9uIHIoZSl7cmV0dXJuIGlbZV18fCJ3d3cifX0sMzY0MTg4KGUsdCxjKXsidXNlIHN0cmljdCI7Yy5kKHQse2dldFRWSG9zdEZyb21Mb2NhbGU6KCk9PnJ9KTt2YXIgaT1jKDMxOTg3Mik7ZnVuY3Rpb24gcihlKXtyZXR1cm4oMCxpLmdldExvY2FsaXplZERvbWFpbikoZSkrIi50cmFkaW5ndmlldy5jb20ifX0sOTU5OTkyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNyAxMCIgd2lkdGg9IjE3IiBoZWlnaHQ9IjEwIiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSIjMTMxNzIyIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEzLjQyIDkuMDRIOS40N2wzLjU2LTloMy45NGwtMy41NSA5Wk03IC4wNEgwdjNoNHY2aDN2LTlabTIuNSAzYTEuNSAxLjUgMCAxIDAgMC0zIDEuNSAxLjUgMCAwIDAgMCAzWiIvPjwvc3ZnPid9LDIxMjk2MShlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDcxIDEzIiB3aWR0aD0iNzEiIGhlaWdodD0iMTMiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9IiMxMzE3MjIiIGQ9Ik01My4xIDJjMCAuNTctLjQ5IDEuMDMtMS4wOSAxLjAzLS41OCAwLTEuMDctLjQ2LTEuMDctMS4wMyAwLS41Ny41LTEuMDQgMS4wNy0xLjA0LjYgMCAxLjA4LjQ3IDEuMDggMS4wNFpNNTIuOSAxMGgtMS43NlYzLjY1aDEuNzZWMTBaTTI2LjQ3IDMuMDNjLjYgMCAxLjA4LS40NiAxLjA4LTEuMDMgMC0uNTctLjQ4LTEuMDMtMS4wOC0xLjAzLS41OCAwLTEuMDcuNDYtMS4wNyAxLjAzIDAgLjU3LjQ5IDEuMDMgMS4wNyAxLjAzWk0yNS41NyAxMGgxLjc0VjMuNWgtMS43NFYxMFpNNC4wNyAxMEgyLjMzVjIuNzRIMFYxaDYuNHYxLjc0SDQuMDZWMTBaTTguMTQgMTAgNi4zOSAxMFYzLjQ5aDEuNzV2MS4xYy4yLS41OC43Ny0xLjAyIDEuNDYtMS4wMmguMDJjLjE4IDAgLjM1IDAgLjU1LjA1djEuNjZhMi4zMyAyLjMzIDAgMCAwLS43Ni0uMTJjLS44IDAtMS4yNy41OC0xLjI3IDEuNTdWMTBaTTMwLjIyIDEwaC0xLjc1VjMuNWgxLjc1di41N2MuMzMtLjQ3Ljg5LS43IDEuNjktLjcgMS40OCAwIDIuMzcgMS4wNCAyLjM3IDIuNTlWMTBoLTEuNzRWNi40YzAtLjg2LS4zMy0xLjU1LTEuMDMtMS41NS0uNzggMC0xLjMuNTQtMS4zIDEuNjhWMTBaTTQ2Ljk1IDEwbDMuNi05aC0yLjAzTDQ2LjIgNy4yNyA0My41OCAxaC0yLjAzbDMuNjYgOWgxLjc0Wk02OC4yNSAxMGgtMS43bC0xLjE4LTMuNzVMNjQuMjEgMTBoLTEuN2wtMi4wOC02LjVoMS44M2wxLjE5IDQuMSAxLjI2LTQuMWgxLjMxbDEuMjggNC4xIDEuMTctNC4xaDEuODRMNjguMjUgMTBaIi8+PHBhdGggZmlsbD0iIzEzMTcyMiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMy4zMiAxMC4wMmMuODggMCAxLjUtLjQ0IDEuNzktLjg1VjEwaDEuNzlWMy41SDE1LjF2LjdhMi4yIDIuMiAwIDAgMC0xLjgtLjg1Yy0xLjcgMC0zIDEuNTQtMyAzLjM0IDAgMS44IDEuMyAzLjMzIDMgMy4zM1ptLjM3LTEuNmMtLjk3IDAtMS42MS0uNzItMS42MS0xLjczcy42NC0xLjc0IDEuNi0xLjc0Yy45OCAwIDEuNjIuNzMgMS42MiAxLjc0IDAgMS0uNjQgMS43NC0xLjYxIDEuNzRaTTIyLjY2IDkuMTdjLS4zLjQtLjkuODUtMS43OS44NS0xLjcgMC0zLTEuNTMtMy0zLjMzczEuMy0zLjM0IDMtMy4zNGMuODggMCAxLjUuNDUgMS44Ljg2VjFoMS43NHY5aC0xLjc1di0uODNabS0zLjAzLTIuNDhjMCAxIC42NCAxLjc0IDEuNjEgMS43NC45NyAwIDEuNjEtLjczIDEuNjEtMS43NHMtLjY0LTEuNzQtMS42LTEuNzRjLS45OCAwLTEuNjIuNzMtMS42MiAxLjc0Wk0zOC40OCAxMi42OGMxLjk2IDAgMy40Mi0xIDMuNDItMy4zVjMuNWgtMS44di43MmEyLjEgMi4xIDAgMCAwLTEuNzgtLjg2Yy0xLjY4IDAtMy4wMiAxLjQzLTMuMDIgMy4yNCAwIDEuNzkgMS4zNCAzLjMgMy4wMiAzLjNhMi4yIDIuMiAwIDAgMCAxLjc4LS45M3YuNDRjMCAxLjAyLS42IDEuNzUtMS42NCAxLjc1LS43MiAwLTEuNDMtLjI0LTItLjhsLS45NSAxLjMxYy43Mi43IDEuODYgMS4wMiAyLjk3IDEuMDJabS4yLTQuNDZhMS42IDEuNiAwIDAgMS0xLjYyLTEuNjNjMC0uOTkuNzUtMS42NCAxLjYzLTEuNjQuODggMCAxLjYyLjY1IDEuNjIgMS42NGExLjYgMS42IDAgMCAxLTEuNjIgMS42M1pNNjAuMyA4LjU2QTMuNDcgMy40NyAwIDAgMSA1Ny4zNSAxMGMtMS45IDAtMy4zOS0xLjMxLTMuMzktMy4zMyAwLTEuOSAxLjQyLTMuMzQgMy4zNy0zLjM0IDEuNjcgMCAzLjE0IDEuMDYgMy4xNCAzLjE1di4wOWMwIC4xNSAwIC4zNS0uMDIuNTZoLTQuNzljLjEuODYuODYgMS4yOCAxLjcgMS4yOC44MSAwIDEuMzYtLjM2IDEuNjUtLjgxbDEuMy45N1ptLTMuMDQtMy44Yy0uNjUgMC0xLjM4LjM0LTEuNTQgMS4xMmgyLjk5Yy0uMTUtLjc3LS44LTEuMTEtMS40NS0xLjExWiIvPjwvc3ZnPid9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/42288.47ecaeca1012ee3e1d8c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.598Z","timestamp":1785120634598,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/42288.47ecaeca1012ee3e1d8c.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-4efd\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:41\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: eb17c67c35389ef7f9d83c6f27ec8e9a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":20221,"size_decoded":8618,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3070)","md5":"146c86b697d57edadedb79e577a2b819","sha1":"fac3ccefeac950dd75b09bf983e4db643acb17cf","sha256":"e7c1e85bb4c79e48526d268113263cbed1b8dc51caa0f7ece95022ce45c6426a","sha512":"0c8f76ba43c26ac96ac8ce77228656bc32000075828146c8e3f5f6c8d83aa1124958db4a287753456a136751fe65d9fc935c7e8efead69cb7bc5587e6f54cd75","ssdeep":"384:IPLZpvbUA+tmPj2DF4ciyLHBoIUEDHfKXqEVKtwAqXrNc2G/p5RuePAU32wDP7Fb:IT78mPj0FHLHevUfKa+EwBxnJePTr6Y","tlshash":"a29219c260053875dddf6eef405b45ade33e243538055499b238adec02a9a5873a7f2f","first_seen":"2026-07-22T11:33:41.962494Z","last_seen":"2026-07-27T05:19:37.105418Z","times_seen":82,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0MjI4OF0sezIwMjA0MShlKXtlLmV4cG9ydHM9e2hpZGRlbjoiaGlkZGVuLW5NdHhYVFhfIixmYWRlSW5XcmFwcGVyOiJmYWRlSW5XcmFwcGVyLW5NdHhYVFhfIixpc0FuaW1hdGVkOiJpc0FuaW1hdGVkLW5NdHhYVFhfIn19LDU2NzI2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZUZhZGVJbkNvbnRleHQ6KCk9PnJ9KTt2YXIgaT1uKDc3OTQ3NCk7big5MTQ0ODcpLG4oMjAyMDQxKTtjb25zdCBvPWkuY3JlYXRlQ29udGV4dCh7Y2hpbGRyZW46e30sc2V0SXNSZWFkeTooKT0+e319KTtmdW5jdGlvbiByKCl7Y29uc3R7c2V0SXNSZWFkeTplLGNoaWxkcmVuOnR9PSgwLGkudXNlQ29udGV4dCkobyksbj0oMCxpLnVzZVJlZikoKDAsaS51c2VJZCkoKSk7dFtuLmN1cnJlbnRdfHwodFtuLmN1cnJlbnRdPXtpc1JlYWR5OiExfSk7cmV0dXJuKDAsaS51c2VDYWxsYmFjaykoKCgpPT57dFtuLmN1cnJlbnRdLmlzUmVhZHk9ITAsZShPYmplY3QudmFsdWVzKHQpLmV2ZXJ5KChlPT5lLmlzUmVhZHkpKSl9KSxbdCxlXSl9fSwxODM1NzIoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgaTtuLmQodCx7Q29sbGFwc2VEaXJlY3Rpb246KCk9Pml9KSxmdW5jdGlvbihlKXtlLlN0YXJ0Rmlyc3Q9InN0YXJ0LWZpcnN0IixlLkVuZEZpcnN0PSJlbmQtZmlyc3QifShpfHwoaT17fSkpfSwxMzc2NjkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlQ29sbGFwc2libGVDb21tb246KCk9PmN9KTt2YXIgaT1uKDc3OTQ3NCksbz1uKDcxOTQyNSkscj1uKDMxNDcyMCkscz1uKDk5MTA5MSksbD1uKDYxNjMxMSksYT1uKDk2NDU5NCk7ZnVuY3Rpb24gYyhlKXtjb25zdHtpdGVtc0xpc3Q6dCxnZXRJdGVtSWQ6bixjYWxjVmlzaWJsZUFuZEhpZGRlbkl0ZW1zOmMsc2hvdWxkS2VlcEl0ZW1WaXNpYmxlOmQsb25NZWFzdXJlQ2FsbGJhY2s6Zixmb3JjZVVwZGF0ZTpiPSExfT1lLFtoLG1dPSgwLHMudXNlUmVmc01hcCkoKSxwPSgwLGkudXNlUmVmKShudWxsKSx2PSgwLGkudXNlUmVmKSh7d2lkdGhzTWFwOm5ldyBNYXAsY29udGFpbmVyV2lkdGg6MCxtb3JlQnV0dG9uV2lkdGg6MH0pLFtnLEldPSgwLGkudXNlU3RhdGUpKHt2aXNpYmxlOnQsaGlkZGVuOltdfSksQz0oMCxpLnVzZU1lbW8pKCgoKT0+dC5yZWR1Y2UoKChlLHQsbik9PihkKHQpJiZlLnB1c2gobiksZSkpLFtdKSksW3QsZF0pLFI9KDAsaS51c2VDYWxsYmFjaykoKCgpPT57aWYodi5jdXJyZW50LmNvbnRhaW5lcldpZHRoKXtjb25zdCBlPWModi5jdXJyZW50LEMpOyhmdW5jdGlvbihlLHQpe3JldHVybiF1KGUudmlzaWJsZSx0LnZpc2libGUpfHwhdShlLmhpZGRlbix0LmhpZGRlbil9KShnLGUpJiZJKGUpfX0pLFt2LEksZyxDLGNdKSxTPSgwLGkudXNlQ2FsbGJhY2spKCgoKT0+e3YuY3VycmVudC5tb3JlQnV0dG9uV2lkdGg9cC5jdXJyZW50PygwLHIub3V0ZXJXaWR0aCkocC5jdXJyZW50LCEwKTowO2NvbnN0IGU9bmV3IE1hcCh2LmN1cnJlbnQud2lkdGhzTWFwKTtmb3IoY29uc3QgaSBvZiB0KXtjb25zdCB0PW4oaSksbz1oLmN1cnJlbnQuZ2V0KHQpO2lmKG8pe2NvbnN0IG49KDAsci5vdXRlcldpZHRoKShvLCEwKTtlLnNldCh0LG4pfX12LmN1cnJlbnQud2lkdGhzTWFwPWUsZiYmZigpfSksW3YsdCxuLGgsZl0pLGs9KDAsaS51c2VSZWYpKG51bGwpLHk9KDAsaS51c2VDYWxsYmFjaykoKChbZV0pPT57ZS5jb250ZW50UmVjdC53aWR0aCE9PXYuY3VycmVudC5jb250YWluZXJXaWR0aCYmKGsuY3VycmVudCYmY2FuY2VsQW5pbWF0aW9uRnJhbWUoay5jdXJyZW50KSx2LmN1cnJlbnQuY29udGFpbmVyV2lkdGg9ZS5jb250ZW50UmVjdC53aWR0aCxrLmN1cnJlbnQ9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e1IoKX0pKSl9KSxbdixSXSksTT0oMCxpLnVzZVJlZikobnVsbCksSD0oMCxpLnVzZUNhbGxiYWNrKSgoKFtlXSk9PntNLmN1cnJlbnQmJmNhbmNlbEFuaW1hdGlvbkZyYW1lKE0uY3VycmVudCksUygpLE0uY3VycmVudD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT57UigpfSkpfSksW1MsUl0pLEE9KDAsby51c2VSZXNpemVPYnNlcnZlcikoSCksdz0oMCxvLnVzZVJlc2l6ZU9ic2VydmVyKSh5KSxUPSgwLGkudXNlUmVmKShudWxsKSxFPSgwLGEubWVyZ2VSZWZzKShbdyxUXSkseD0oMCxpLnVzZVJlZikodCksej0oMCxpLnVzZVJlZikoITApLEI9KDAsaS51c2VSZWYpKFtdKTtyZXR1cm4oMCxsLnVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QpKCgoKT0+e2NvbnN0IGU9di5jdXJyZW50LndpZHRoc01hcC5zaXplPT09dC5sZW5ndGg7IWImJiF6LmN1cnJlbnQmJnUoeC5jdXJyZW50LHQpJiZ1KEIuY3VycmVudCxDKSYmZXx8KFMoKSxSKCksei5jdXJyZW50PSExLHguY3VycmVudD10LEIuY3VycmVudD1DKX0pLFt0LEMsYixTLFJdKSx7Y29udGFpbmVyUmVmQ2FsbGJhY2s6RSxtb3JlQnV0dG9uUmVmOnAsaW5uZXJDb250YWluZXJSZWZDYWxsYmFjazpBLGl0ZW1zUmVmczpoLHNldEl0ZW1SZWY6bSxoaWRkZW5JdGVtczpnLmhpZGRlbix2aXNpYmxlSXRlbXM6Zy52aXNpYmxlLGl0ZW1zTWVhc3VyZW1lbnRzOnZ9fWZ1bmN0aW9uIHUoZSx0KXtyZXR1cm4gZS5sZW5ndGg9PT10Lmxlbmd0aCYmZS5yZWR1Y2UoKChlLG4saSk9PmUmJm49PT10W2ldKSwhMCl9fSw4NjgzMzkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlQ29sbGFwc2libGU6KCk9PnN9KTt2YXIgaT1uKDc3OTQ3NCksbz1uKDE4MzU3Mikscj1uKDEzNzY2OSk7ZnVuY3Rpb24gcyhlLHQsbixzPW8uQ29sbGFwc2VEaXJlY3Rpb24uRW5kRmlyc3Qpe2NvbnN0IGw9KDAsaS51c2VDYWxsYmFjaykoKChuLGkpPT57Y29uc3Qgcj1lLm1hcCgoZT0+bi53aWR0aHNNYXAuZ2V0KHQoZSkpPz8wKSk7cmV0dXJuIGZ1bmN0aW9uKHtpdGVtczplLGNvbnRhaW5lcldpZHRoOnQsZWxlbWVudHNXaWR0aHM6bixtZW51SXRlbVdpZHRoOmksa2VlcFZpc2libGU6cixkaXJlY3Rpb246c30pe2NvbnN0IGw9Wy4uLmVdLGE9W10sYz1bXTtsZXQgdT0wO2Zvcihjb25zdCBlIG9mIG4pdSs9ZQo7aWYodTw9dClyZXR1cm57dmlzaWJsZTpsLGhpZGRlbjpjfTtjb25zdCBkPVsuLi5uXTtpZih1PXIubWFwKChlPT5kW2VdKSkucmVkdWNlKCgoZSx0KT0+ZSt0KSwwKStpLHM9PT1vLkNvbGxhcHNlRGlyZWN0aW9uLkVuZEZpcnN0KWZvcihsZXQgZT0wO2U8bC5sZW5ndGg7ZSsrKXIuaW5jbHVkZXMoZSk/YS5wdXNoKGxbZV0pOih1Kz1kW2VdLHU8PXQ/YS5wdXNoKGxbZV0pOmMucHVzaChsW2VdKSk7ZWxzZSBmb3IobGV0IGU9bC5sZW5ndGgtMTtlPj0wO2UtLSlyLmluY2x1ZGVzKGUpP2EudW5zaGlmdChsW2VdKToodSs9ZFtlXSx1PD10P2EudW5zaGlmdChsW2VdKTpjLnVuc2hpZnQobFtlXSkpO3JldHVybnt2aXNpYmxlOmEsaGlkZGVuOmN9fSh7aXRlbXM6ZSxjb250YWluZXJXaWR0aDpuLmNvbnRhaW5lcldpZHRoLGVsZW1lbnRzV2lkdGhzOnIsbWVudUl0ZW1XaWR0aDpuLm1vcmVCdXR0b25XaWR0aCxrZWVwVmlzaWJsZTppLGRpcmVjdGlvbjpzfSl9KSxbZV0pO3JldHVybigwLHIudXNlQ29sbGFwc2libGVDb21tb24pKHtpdGVtc0xpc3Q6ZSxnZXRJdGVtSWQ6dCxjYWxjVmlzaWJsZUFuZEhpZGRlbkl0ZW1zOmwsc2hvdWxkS2VlcEl0ZW1WaXNpYmxlOm59KX19LDQ1NjQ4NyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VEaXNjbG9zdXJlOigpPT5jfSk7dmFyIGk9big3Nzk0NzQpLG89bigxMzg2MzgpLHI9big3MjEzNjkpLHM9bigxNDU5ODQpLGw9big4MzM5MDMpLGE9big0MTkxODEpO2Z1bmN0aW9uIGMoZSl7Y29uc3R7aWQ6dCxsaXN0Ym94SWQ6bixkaXNhYmxlZDpjLGJ1dHRvblRhYkluZGV4OnU9MCxvbkZvY3VzOmQsb25CbHVyOmYsb25DbGljazpifT1lLFtoLG1dPSgwLGkudXNlU3RhdGUpKCExKSxbcCx2XT0oMCxzLnVzZUZvY3VzKSgpLGc9cHx8aCxJPW4/P3ZvaWQgMCE9PXQ/KDAsYS5jcmVhdGVEb21JZCkodCwibGlzdGJveCIpOnZvaWQgMCxDPSgwLGkudXNlUmVmKShudWxsKSxSPSgwLGkudXNlQ2FsbGJhY2spKChlPT5DLmN1cnJlbnQ/LmZvY3VzKGUpKSxbQ10pLFM9KDAsaS51c2VSZWYpKG51bGwpLGs9KDAsaS51c2VDYWxsYmFjaykoKCgpPT4oMCxvLmVuc3VyZU5vdE51bGwpKFMuY3VycmVudCkuZm9jdXMoKSksW1NdKSx5PSgwLGkudXNlQ2FsbGJhY2spKCgoKT0+bSghMCkpLFttXSksTT0oMCxpLnVzZUNhbGxiYWNrKSgoKGU9ITEsdD0hMSk9PnttKCExKTtjb25zdHthY3RpdmVFbGVtZW50Om59PWRvY3VtZW50O24mJigwLHIuaXNUZXh0RWRpdGluZ0ZpZWxkKShuKXx8dHx8Uih7cHJldmVudFNjcm9sbDplfSl9KSxbbSxSXSksSD0oMCxpLnVzZUNhbGxiYWNrKSgoKCk9PntoP00oKTp5KCl9KSxbaCxNLHldKSxBPWM/W106W2Qsdi5vbkZvY3VzXSx3PWM/W106W2Ysdi5vbkJsdXJdLFQ9Yz9bXTpbYixIXSxFPSgwLGwuY3JlYXRlU2FmZU11bHRpY2FzdEV2ZW50SGFuZGxlcikoLi4uQSkseD0oMCxsLmNyZWF0ZVNhZmVNdWx0aWNhc3RFdmVudEhhbmRsZXIpKC4uLncpLHo9KDAsbC5jcmVhdGVTYWZlTXVsdGljYXN0RXZlbnRIYW5kbGVyKSguLi5UKTtyZXR1cm57bGlzdGJveElkOkksaXNPcGVuZWQ6aCxpc0ZvY3VzZWQ6ZyxidXR0b25UYWJJbmRleDpjPy0xOnUsbGlzdGJveFRhYkluZGV4Oi0xLG9wZW46eSxjbG9zZTpNLHRvZ2dsZTpILG9uT3BlbjprLGJ1dHRvbkZvY3VzQmluZGluZ3M6e29uRm9jdXM6RSxvbkJsdXI6eH0sb25CdXR0b25DbGljazp6LGJ1dHRvblJlZjpDLGxpc3Rib3hSZWY6UyxidXR0b25BcmlhOnsiYXJpYS1jb250cm9scyI6aD9JOnZvaWQgMCwiYXJpYS1leHBhbmRlZCI6aCwiYXJpYS1kaXNhYmxlZCI6Y319fX0sNzA4MjA3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZUl0ZW1zS2V5Ym9hcmROYXZpZ2F0aW9uOigpPT5sfSk7dmFyIGksbz1uKDc3OTQ3NCkscj1uKDc2MzU0OSk7ZnVuY3Rpb24gcyhlLHQpe3JldHVybiBlPj0wP2UldDoodC1NYXRoLmFicyhlKSV0KSV0fSFmdW5jdGlvbihlKXtlLk5leHQ9Im5leHQiLGUuUHJldmlvdXM9InByZXZpb3VzIixlLkZpcnN0PSJmaXJzdCIsZS5MYXN0PSJsYXN0In0oaXx8KGk9e30pKTtmdW5jdGlvbiBsKGUsdCxuLGksbCxhLGM9e30sdSxkKXtjb25zdCBmPSgwLG8udXNlQ2FsbGJhY2spKChlPT57Y29uc3QgdD1uLmZpbmRJbmRleChpKTtpZih0PT09bi5sZW5ndGgtMSYmIWEpcmV0dXJuIHZvaWQodT8ub25GYWlsTmV4dCYmdS5vbkZhaWxOZXh0KGUpKTtjb25zdCBvPXModCsxLG4ubGVuZ3RoKTtsJiZsKG5bb10sIm5leHQiKX0pLFtuLGksbCxhXSksYj0oMCxvLnVzZUNhbGxiYWNrKSgoZT0+e2NvbnN0IHQ9bi5maW5kSW5kZXgoaSk7aWYoMD09PXQmJiFhKXJldHVybiB2b2lkKHU/Lm9uRmFpbFByZXYmJnUub25GYWlsUHJldihlKSk7Y29uc3Qgbz1zKHQtMSxuLmxlbmd0aCk7bCYmbChuW29dLCJwcmV2aW91cyIpfSksW24saSxsLGFdKSxoPSgwLG8udXNlQ2FsbGJhY2spKCgoKT0+e2wmJmwoblswXSwiZmlyc3QiKX0pLFtsLG5dKSxtPSgwLG8udXNlQ2FsbGJhY2spKCgoKT0+e2wmJmwobltuLmxlbmd0aC0xXSwibGFzdCIpfSksW2wsbl0pLHA9KDAsby51c2VNZW1vKSgoKCk9PihlPT4oe25leHQ6WzQwLCgpPT5lKCk/Mzc6MzldLHByZXZpb3VzOlszOCwoKT0+ZSgpPzM5OjM3XSxmaXJzdDpbMzMsKCk9PmUoKT8zNTozNl0sbGFzdDpbMzQsKCk9PmUoKT8zNjozNV19KSkodCkpLFt0XSkse25leHQ6dj1wLm5leHQscHJldmlvdXM6Zz1wLnByZXZpb3VzLGZpcnN0Okk9cC5maXJzdCxsYXN0OkM9cC5sYXN0fT1jO3JldHVybigwLHIudXNlQ29tcG9zZWRLZXlib2FyZEFjdGlvbkhhbmRsZXJzKSgoMCxyLnVzZUtleWJvYXJkQWN0aW9uSGFuZGxlcikodixmLGQ/Lm5leHQ/PygoKT0+ITApLGUpLCgwLHIudXNlS2V5Ym9hcmRBY3Rpb25IYW5kbGVyKShnLGIsZD8ucHJldmlvdXM/PygoKT0+ITApLGUpLCgwLHIudXNlS2V5Ym9hcmRBY3Rpb25IYW5kbGVyKShJLGgsKCgpPT4hMCksZSksKDAsci51c2VLZXlib2FyZEFjdGlvbkhhbmRsZXIpKEMsbSwoKCk9PiEwKSxlKSl9fSw2NjI3NjEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlS2VlcEFjdGl2ZUl0ZW1JbnRvVmlldzooKT0+c30pCjt2YXIgaT1uKDc3OTQ3NCksbz1uKDEzODYzOCkscj1uKDk5MzgzOSk7ZnVuY3Rpb24gcyhlPXt9KXtjb25zdHthY3RpdmVJdGVtOnQsZ2V0S2V5Om4sLi4uc309ZSxsPSgwLGkudXNlUmVmKShudWxsKSxhPSgwLGkudXNlUmVmKShuZXcgTWFwKSxjPSgwLHIudXNlU2Nyb2xsSW50b1ZpZXdIZWxwZXIpKGwuY3VycmVudCksdT0oMCxpLnVzZUNhbGxiYWNrKSgoKCk9PntudWxsIT09Yy5jdXJyZW50JiZudWxsIT09bC5jdXJyZW50JiZjLmN1cnJlbnQuZ2V0Q29udGFpbmVyKCkhPT1sLmN1cnJlbnQmJmMuY3VycmVudC5zZXRDb250YWluZXIobC5jdXJyZW50KX0pLFtjLGxdKSxkPSgwLGkudXNlQ2FsbGJhY2spKChlPT57bC5jdXJyZW50PWV9KSxbbF0pLGY9KDAsaS51c2VDYWxsYmFjaykoKChlLHQpPT57Y29uc3QgaT1uP24oZSk6ZTt0P2EuY3VycmVudC5zZXQoaSx0KTphLmN1cnJlbnQuZGVsZXRlKGkpfSksW2Esbl0pLGI9KDAsaS51c2VDYWxsYmFjaykoKChlLHQpPT57aWYoIWUpcmV0dXJuO2NvbnN0IGk9bj9uKGUpOmUscj1hLmN1cnJlbnQuZ2V0KGkpO3ImJih1KCksKDAsby5lbnN1cmVOb3ROdWxsKShjLmN1cnJlbnQpLnNjcm9sbFRvKHIsdCkpfSksW2EsYyxuXSk7cmV0dXJuKDAsaS51c2VFZmZlY3QpKCgoKT0+Yih0LHMpKSxbYix0XSksW2QsZixiXX19LDQxODM4NihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VNb2JpbGVUb3VjaFN0YXRlOigpPT5yfSk7dmFyIGk9big3Nzk0NzQpLG89big3Mzg0NTgpO2Z1bmN0aW9uIHIoKXtjb25zdFtlLHRdPSgwLGkudXNlU3RhdGUpKCExKTtyZXR1cm4oMCxpLnVzZUVmZmVjdCkoKCgpPT57dChvLm1vYmlsZXRvdWNoKX0pLFtdKSxlfX0sNTg2MjIzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVByZXZpb3VzOigpPT5vfSk7dmFyIGk9big3Nzk0NzQpO2Z1bmN0aW9uIG8oZSl7Y29uc3QgdD0oMCxpLnVzZVJlZikobnVsbCk7cmV0dXJuKDAsaS51c2VFZmZlY3QpKCgoKT0+e3QuY3VycmVudD1lfSksW2VdKSx0LmN1cnJlbnR9fSw5OTEwOTEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlUmVmc01hcDooKT0+b30pO3ZhciBpPW4oNzc5NDc0KTtmdW5jdGlvbiBvKCl7Y29uc3QgZT0oMCxpLnVzZVJlZikobmV3IE1hcCksdD0oMCxpLnVzZUNhbGxiYWNrKSgodD0+bj0+e251bGwhPT1uP2UuY3VycmVudC5zZXQodCxuKTplLmN1cnJlbnQuZGVsZXRlKHQpfSksW2VdKTtyZXR1cm5bZSx0XX19LDk5MzgzOShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VTY3JvbGxJbnRvVmlld0hlbHBlcjooKT0+c30pO3ZhciBpPW4oNzc5NDc0KSxvPW4oMTM4NjM4KSxyPW4oODY2NzQzKTtmdW5jdGlvbiBzKGUpe2NvbnN0IHQ9KDAsaS51c2VSZWYpKG51bGwpO3JldHVybigwLGkudXNlRWZmZWN0KSgoKCk9Pih0LmN1cnJlbnQ9bmV3IHIuU2Nyb2xsSW50b1ZpZXdIZWxwZXIoZSksKCk9PigwLG8uZW5zdXJlTm90TnVsbCkodC5jdXJyZW50KS5kZXN0cm95KCkpKSxbXSksdH19LDU5MTU3MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VUYWJzS2V5Ym9hcmROYXZpZ2F0aW9uOigpPT5jfSk7dmFyIGk9big3Nzk0NzQpLG89bigxMzg2MzgpLHI9big3NjM1NDkpLHM9big3MDgyMDcpO2Z1bmN0aW9uIGwoKXtyZXR1cm4hMX1mdW5jdGlvbiBhKGUsdCl7cmV0dXJue25leHQ6KCk9PnQhPT1lLmxlbmd0aC0xLHByZXZpb3VzOigpPT4wIT09dH19ZnVuY3Rpb24gYyhlKXtjb25zdHthY3RpdmF0aW9uVHlwZTp0PSJtYW51YWwifT1lLG49KDAsaS51c2VNZW1vKSgoKCk9PnQpLFtdKTtyZXR1cm4oMCxvLmFzc2VydCkodD09PW4sIkFjdGl2YXRpb24gdHlwZSBtdXN0IGJlIGludmFyaWFudC4iKSwiYXV0b21hdGljIj09PXQ/ZnVuY3Rpb24oZSl7Y29uc3R7aXNSdGw6dCxpdGVtczpuLHByZXZlbnREZWZhdWx0SWZIYW5kbGVkOm89ITAsc3RvcFByb3BhZ2F0aW9uSWZIYW5kbGVkOmM9ITEsbG9vcDp1PSEwLGlzSGlnaGxpZ2h0ZWQ6ZCxvbkhpZ2hsaWdodDpmLG9uQWN0aXZhdGU6Yixpc0NvbGxhcHNlZDpoPWwsb3JpZW50YXRpb246bX09ZSxwPSgwLGkudXNlQ2FsbGJhY2spKChlPT57ZihlKSxoKGUpfHxiKGUpfSksW2YsYixoXSksdj0hdSYmYz9hKG4sbi5maW5kSW5kZXgoZCkpOnZvaWQgMDtyZXR1cm4oMCxyLnVzZUtleWJvYXJkRXZlbnRIYW5kbGVyKShbKDAscy51c2VJdGVtc0tleWJvYXJkTmF2aWdhdGlvbikobSx0LG4sZCxwLHUse30sdm9pZCAwLHYpXSxvLGMpfShlKTpmdW5jdGlvbihlKXtjb25zdHtpc1J0bDp0LGl0ZW1zOm4scHJldmVudERlZmF1bHRJZkhhbmRsZWQ6bz0hMCxzdG9wUHJvcGFnYXRpb25JZkhhbmRsZWQ6bD0hMSxsb29wOmM9ITAsaXNIaWdobGlnaHRlZDp1LG9uSGlnaGxpZ2h0OmQsb25BY3RpdmF0ZTpmLG9yaWVudGF0aW9uOmJ9PWUsaD1uLmZpbmRJbmRleCh1KSxtPW5baF0scD0oMCxpLnVzZUNhbGxiYWNrKSgoKCk9Pnt2b2lkIDAhPT1tJiZmKG0pfSksW20sZl0pLHY9IWMmJmw/YShuLGgpOnZvaWQgMCxnPSgwLGkudXNlQ2FsbGJhY2spKChlPT5kKGUpKSxbZF0pLEk9KDAscy51c2VJdGVtc0tleWJvYXJkTmF2aWdhdGlvbikoYix0LG4sdSxnLGMse30sdm9pZCAwLHYpLEM9KDAsci51c2VLZXlib2FyZEFjdGlvbkhhbmRsZXIpKFsxMywzMl0scCk7cmV0dXJuKDAsci51c2VLZXlib2FyZEV2ZW50SGFuZGxlcikoW0ksQ10sbyxsKX0oZSl9fSw0NTQxNzQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlVGFiczooKT0+ZH0pO3ZhciBpPW4oNzc5NDc0KTtmdW5jdGlvbiBvKGUsdD0iaG9yaXpvbnRhbCIsbixpLG8scil7cmV0dXJue2lkOmUscm9sZTpyPyJyYWRpb2dyb3VwIjoidGFibGlzdCIsImFyaWEtb3JpZW50YXRpb24iOnQsImFyaWEtbGFiZWwiOm8sImFyaWEtbGFiZWxsZWRieSI6aSwiYXJpYS1kaXNhYmxlZCI6bn19ZnVuY3Rpb24gcihlLHQsbixpLG8scixzLGwpe3JldHVybntpZDplLHJvbGU6cj8icmFkaW8iOiJ0YWIiLHRhYkluZGV4OnQ/bD8udGFiSW5kZXg/PzA6LTEsZGlzYWJsZWQ6bywiYXJpYS1zZWxlY3RlZCI6cj92b2lkIDA6biwiYXJpYS1jaGVja2VkIjpyP246dm9pZCAwLAoiYXJpYS1jb250cm9scyI6aSwiYXJpYS1kaXNhYmxlZCI6bywiYXJpYS1sYWJlbCI6cywiZGF0YS1mb2N1cy1tYW5hZ2VyIjp2b2lkIDAhPT1sP2xbImRhdGEtZm9jdXMtbWFuYWdlciJdOnZvaWQgMH19dmFyIHM9big4MzM5MDMpLGw9bigxNDU5ODQpLGE9big2NjI3NjEpLGM9big1OTE1NzIpLHU9big0MTgzODYpO2Z1bmN0aW9uIGQoZSl7Y29uc3R7aWQ6dCxpdGVtczpuLG9yaWVudGF0aW9uOmQsYWN0aXZhdGlvblR5cGU6Zj0ibWFudWFsIixkaXNhYmxlZDpiLHRhYmxpc3RMYWJlbElkOmgsdGFibGlzdExhYmVsOm0sZm9jdXNPbkhpZ2hsaWdodDpwPSEwLHByZXZlbnREZWZhdWx0SWZLZXlib2FyZEFjdGlvbkhhbmRsZWQ6dj0hMCxzdG9wUHJvcGFnYXRpb25JZktleWJvYXJkQWN0aW9uSGFuZGxlZDpnPSExLGtleWJvYXJkTmF2aWdhdGlvbkxvb3A6ST0hMCxzY3JvbGxJbnRvVmlld09wdGlvbnM6Qyxpc0FjdGl2ZTpSLG9uQWN0aXZhdGU6Uyxpc0NvbGxhcHNlZDprLGlzUnRsOnksaXNEaXNjbG9zdXJlT3BlbmVkOk0saXNSYWRpb0dyb3VwOkgsZGVmYXVsdEtleWJvYXJkRm9jdXM6QSxmb2N1c2FibGVJdGVtQXR0cmlidXRlczp3PXt9fT1lLFQ9KDAsdS51c2VNb2JpbGVUb3VjaFN0YXRlKSgpLEU9TT9udWxsOmR8fCJob3Jpem9udGFsIix4PSgwLGkudXNlUmVmKShlLml0ZW1zUmVmcz8uY3VycmVudD8/bmV3IE1hcCksW3osQl09KDAsaS51c2VTdGF0ZSkoKSxbXyxGXT0oMCxsLnVzZUZvY3VzKSgpLEs9bi5maW5kKFIpLFc9KDAsaS51c2VDYWxsYmFjaykoKGU9PmUuaWQ9PT16Py5pZCksW3pdKSxWPSgwLGkudXNlQ2FsbGJhY2spKChlPT57Y29uc3QgdD14LmN1cnJlbnQuZ2V0KGUuaWQpO3AmJnZvaWQgMCE9PXQmJnQhPT1kb2N1bWVudC5hY3RpdmVFbGVtZW50JiZ0LmZvY3VzKCl9KSxbcF0pLEQ9KDAsaS51c2VSZWYpKCksTz0oMCxpLnVzZUNhbGxiYWNrKSgoKGUsdCk9PntCKGUpLCJudW1iZXIiPT10eXBlb2YgdD8oY2xlYXJUaW1lb3V0KEQuY3VycmVudCksRC5jdXJyZW50PXNldFRpbWVvdXQoKCgpPT5WKGUpKSx0KSk6VihlKX0pLFtCLFZdKSxOPSgwLGkudXNlQ2FsbGJhY2spKChlPT57Ynx8ZS5kaXNhYmxlZHx8KFMoZSksVyhlKXx8TyhlKSl9KSxbYixTLFcsT10pLEw9KDAsYy51c2VUYWJzS2V5Ym9hcmROYXZpZ2F0aW9uKSh7aXNSdGw6eSxpdGVtczpuLGFjdGl2YXRpb25UeXBlOmYscHJldmVudERlZmF1bHRJZkhhbmRsZWQ6dixzdG9wUHJvcGFnYXRpb25JZkhhbmRsZWQ6Zyxsb29wOkksb25BY3RpdmF0ZTpOLGlzSGlnaGxpZ2h0ZWQ6VyxvbkhpZ2hsaWdodDpPLGlzQ29sbGFwc2VkOmssb3JpZW50YXRpb246RX0pOygwLGkudXNlRWZmZWN0KSgoKCk9PntUfHx2b2lkIDAhPT1LJiZCKEspfSksW0ssVF0pLCgwLGkudXNlRWZmZWN0KSgoKCk9PntffHxCKHZvaWQgMCl9KSxbX10pLCgwLGkudXNlRWZmZWN0KSgoKCk9PigpPT5jbGVhclRpbWVvdXQoRC5jdXJyZW50KSksW10pO2NvbnN0IFA9Qz8uYWRkaXRpb25hbFNjcm9sbD8/MCxbcSxYXT0oMCxhLnVzZUtlZXBBY3RpdmVJdGVtSW50b1ZpZXcpKHsuLi5DLHZpc2liaWxpdHlEZXRlY3Rpb25PZmZzZXRJbmxpbmU6UCsyNCxzbmFwVG9NaWRkbGU6ITAsYWN0aXZlSXRlbTp6Pz9LLGdldEtleTooMCxpLnVzZUNhbGxiYWNrKSgoZT0+ZS5pZCksW10pfSksVT0oMCxpLnVzZUNhbGxiYWNrKSgoKGUsdCk9PntudWxsIT09dD94LmN1cnJlbnQuc2V0KGUuaWQsdCk6eC5jdXJyZW50LmRlbGV0ZShlLmlkKSxYKGUsdCl9KSxbWF0pLHtmaXJzdEVkZ2VJdGVtSW5kZXg6RyxsYXN0RWRnZUl0ZW1JbmRleDpqfT1mdW5jdGlvbihlLHQpe2xldCBuLGk7Zm9yKGxldCBvPTA7bzxlLmxlbmd0aDtvKyspe2NvbnN0IHI9ZS5sZW5ndGgtKG8rMSkscz12b2lkIDAhPT10JiZ0KGVbcl0pO2lmKCFlW29dLmRpc2FibGVkJiZ2b2lkIDA9PT1uJiYobj1vKSwhZVtyXS5kaXNhYmxlZCYmIXMmJnZvaWQgMD09PWkmJihpPXIpLHZvaWQgMCE9PW4mJnZvaWQgMCE9PWkpYnJlYWt9cmV0dXJue2ZpcnN0RWRnZUl0ZW1JbmRleDpuLGxhc3RFZGdlSXRlbUluZGV4Oml9fShuLGspO3JldHVybnt0YWJzQmluZGluZ3M6bi5tYXAoKChlLHQpPT57Y29uc3Qgbj1XKGUpLGk9UihlKSxvPWUuZGlzYWJsZWQ/P2I/PyExLHM9MT09PUE/Xz9uOnQ9PT1HfHx0PT09ajpfP246aTtyZXR1cm57Li4ucihlLmlkLHMsaSxlLnRhYnBhbmVsSWQsbyxILGVbImFyaWEtbGFiZWwiXSx3KSxoaWdobGlnaHRlZDpuLGFjdGl2ZTppLGhhbmRsZUl0ZW1SZWY6VX19KSksdGFibGlzdEJpbmRpbmc6ey4uLm8odCxkLGIsaCxtLEgpLG9uQmx1cjpGLm9uQmx1cixvbkZvY3VzOigwLHMuY3JlYXRlU2FmZU11bHRpY2FzdEV2ZW50SGFuZGxlcikoRi5vbkZvY3VzLChlPT57bGV0IHQ9bnVsbDtmb3IoY29uc3RbaSxvXW9mIHguY3VycmVudC5lbnRyaWVzKCkpaWYoZS50YXJnZXQ9PT1vKXt0PW4uZmluZCgoZT0+ZS5pZD09PWkpKT8/bnVsbDticmVha310JiYhVyh0KSYmKCJhdXRvbWF0aWMiPT09ZiYmayYmIWsodCk/Tih0KTpPKHQpKX0pKSxvbktleURvd246TH0sc2Nyb2xsV3JhcEJpbmRpbmc6e3JlZjpxfSxvbkFjdGl2YXRlOk4sb25IaWdobGlnaHQ6Tyxpc0hpZ2hsaWdodGVkOld9fX0sODQ2ODU4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVRhYnNNYWluSGFuZGxlcnM6KCk9Pmd9KTt2YXIgaT1uKDc3OTQ3NCksbz1uKDgzMzkwMykscj1uKDQxODM4Nikscz1uKDgwOTQzNiksbD1uKDcxNzkzMik7dmFyIGE9big4NjgzMzkpLGM9big0NTQxNzQpLHU9big0NTY0ODcpLGQ9bigzMTk2OSksZj1uKDc2MzU0OSksYj1uKDU2NzI2KSxoPW4oNTI5NDExKSxtPW4oNzE5NDI1KSxwPW4oNTg2MjIzKTt2YXIgdj1uKDM5NjQzMSk7ZnVuY3Rpb24gZyhlLHQsbil7CmNvbnN0e2lkOmcsaXRlbXM6SSxhY3RpdmF0aW9uVHlwZTpDLG9yaWVudGF0aW9uOlI9Imhvcml6b250YWwiLGRpc2FibGVkOlMsb25BY3RpdmF0ZTprLGlzQWN0aXZlOnksb3ZlcmZsb3dCZWhhdmlvdXI6TSxlbmFibGVBY3RpdmVTdGF0ZVN0eWxlczpILHRhYmxpc3RMYWJlbElkOkEsdGFibGlzdExhYmVsOncscHJldmVudERlZmF1bHRJZktleWJvYXJkQWN0aW9uSGFuZGxlZDpULHNpemU6RSxzdG9wUHJvcGFnYXRpb25JZktleWJvYXJkQWN0aW9uSGFuZGxlZDp4LGtleWJvYXJkTmF2aWdhdGlvbkxvb3A6eixkZWZhdWx0S2V5Ym9hcmRGb2N1czpCLGZvY3VzYWJsZUl0ZW1BdHRyaWJ1dGVzOl99PXQsRj0oMCxpLnVzZU1lbW8pKCgoKT0+KDAsdi50cmFuc2Zvcm1UYWJzV2l0aENvdW50ZXJzKShJLFMsRSkpLFtJLFMsRV0pLEs9KDAsci51c2VNb2JpbGVUb3VjaFN0YXRlKSgpLFc9ZnVuY3Rpb24oZSl7Y29uc3QgdD0oMCxsLnVzZVNhZmVNYXRjaE1lZGlhKShzWyJtZWRpYS1tZi1waG9uZS1sYW5kc2NhcGUiXSwhMCksbj0oMCxyLnVzZU1vYmlsZVRvdWNoU3RhdGUpKCk7cmV0dXJuIGU/PyhufHwhdD8ic2Nyb2xsIjoiY29sbGFwc2UiKX0oTSksVj0oMCxpLnVzZVJlZikoITEpLEQ9KDAsaS51c2VDYWxsYmFjaykoKGU9PmUuaWQpLFtdKSxPPUg/PyFLLE49KDAsYi51c2VGYWRlSW5Db250ZXh0KSgpLHt2aXNpYmxlSXRlbXM6TCxoaWRkZW5JdGVtczpQLGNvbnRhaW5lclJlZkNhbGxiYWNrOnEsaW5uZXJDb250YWluZXJSZWZDYWxsYmFjazpYLG1vcmVCdXR0b25SZWY6VSxzZXRJdGVtUmVmOkcsaXRlbXNNZWFzdXJlbWVudHM6an09KDAsYS51c2VDb2xsYXBzaWJsZSkoRixELHkpLEo9KDAscC51c2VQcmV2aW91cykoai5jdXJyZW50Py5jb250YWluZXJXaWR0aCk/PzAsUT0oMCxoLnVzZUlzTm9uRmlyc3RSZW5kZXIpKCksWT1qLmN1cnJlbnQ/LmNvbnRhaW5lcldpZHRoPz8wO2xldCBaPSExO2ouY3VycmVudCYmUSYmKFo9ZnVuY3Rpb24oZSx0LG4saSxvKXtpZigiY29sbGFwc2UiIT09aSlyZXR1cm4hMDtjb25zdCByPWZ1bmN0aW9uKGUsdCxuKXtjb25zdCBpPWUuZmlsdGVyKChlPT50LmZpbmQoKHQ9PnQuaWQ9PT1lWzBdKSkpKTtyZXR1cm4gdC5sZW5ndGg+MD9pWzBdWzFdK246MH0oQXJyYXkuZnJvbShlLndpZHRoc01hcC5lbnRyaWVzKCkpLHQsbykscz1lLm1vcmVCdXR0b25XaWR0aD8/MDtsZXQgbD1mdW5jdGlvbihlLHQpe3JldHVybiBlLnJlZHVjZSgoKGUsbik9PmUrKHQuZ2V0KG4uaWQpPz8wKSksMCl9KG4sZS53aWR0aHNNYXApO3JldHVybiBsKz10Lmxlbmd0aD4wP3M6MCxmdW5jdGlvbihlLHQsbixpKXtyZXR1cm4gMCE9PWU/dC1uPGUmJnQtbj5pOm48dH0ocixlLmNvbnRhaW5lcldpZHRoLGwsbyl9KGouY3VycmVudCxQLEwsVyxuLmdhcD8/MCl8fDA9PT1ZKTtjb25zdCAkPSgwLG0udXNlUmVzaXplT2JzZXJ2ZXIpKCgoW2VdKT0+e3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9PntRJiZaJiZlLmNvbnRlbnRSZWN0LndpZHRoPT09SiYmTigpfSkpfSkpLGVlPSJjb2xsYXBzZSI9PT1XP0w6Rix0ZT0oMCxpLnVzZU1lbW8pKCgoKT0+ImNvbGxhcHNlIj09PVc/UDpbXSksW1csUF0pLG5lPSgwLGkudXNlQ2FsbGJhY2spKChlPT50ZS5pbmNsdWRlcyhlKSksW3RlXSkse2lzT3BlbmVkOmllLG9wZW46b2UsY2xvc2U6cmUsb25CdXR0b25DbGljazpzZX09KDAsdS51c2VEaXNjbG9zdXJlKSh7aWQ6ZyxkaXNhYmxlZDpTfSkse3RhYnNCaW5kaW5nczpsZSx0YWJsaXN0QmluZGluZzphZSxzY3JvbGxXcmFwQmluZGluZzpjZSxvbkFjdGl2YXRlOnVlLG9uSGlnaGxpZ2h0OmRlLGlzSGlnaGxpZ2h0ZWQ6ZmV9PSgwLGMudXNlVGFicykoe2lkOmcsaXRlbXM6Wy4uLmVlLC4uLnRlXSxhY3RpdmF0aW9uVHlwZTpDLG9yaWVudGF0aW9uOlIsZGlzYWJsZWQ6Uyx0YWJsaXN0TGFiZWxJZDpBLHRhYmxpc3RMYWJlbDp3LHByZXZlbnREZWZhdWx0SWZLZXlib2FyZEFjdGlvbkhhbmRsZWQ6VCxzY3JvbGxJbnRvVmlld09wdGlvbnM6bi5zY3JvbGxJbnRvVmlld09wdGlvbnMsb25BY3RpdmF0ZTprLGlzQWN0aXZlOnksaXNDb2xsYXBzZWQ6bmUsaXNSdGw6bi5pc1J0bCxpc0Rpc2Nsb3N1cmVPcGVuZWQ6aWUsaXNSYWRpb0dyb3VwOm4uaXNSYWRpb0dyb3VwLHN0b3BQcm9wYWdhdGlvbklmS2V5Ym9hcmRBY3Rpb25IYW5kbGVkOngsa2V5Ym9hcmROYXZpZ2F0aW9uTG9vcDp6LGRlZmF1bHRLZXlib2FyZEZvY3VzOkIsZm9jdXNhYmxlSXRlbUF0dHJpYnV0ZXM6X30pLGJlPXRlLmZpbmQoZmUpLGhlPSgwLGkudXNlQ2FsbGJhY2spKCgoKT0+e2NvbnN0IGU9Ri5maW5kKHkpO2UmJmRlKGUpfSksW2RlLHksRl0pLG1lPSgwLGkudXNlQ2FsbGJhY2spKCgoKT0+e3JlKCksaGUoKSxWLmN1cnJlbnQ9ITB9KSxbcmUsaGVdKSxwZT0oMCxpLnVzZUNhbGxiYWNrKSgoKCk9PntiZSYmKHVlKGJlKSxkZShiZSwyNTApKX0pLFt1ZSxkZSxiZV0pO2NlLnJlZj0oMCxkLnVzZU1lcmdlZFJlZnMpKFskLGNlLnJlZixxXSksYWUucmVmPSgwLGQudXNlTWVyZ2VkUmVmcykoW2FlLnJlZixYXSksYWUub25LZXlEb3duPSgwLG8uY3JlYXRlU2FmZU11bHRpY2FzdEV2ZW50SGFuZGxlcikoKDAsZi51c2VLZXlib2FyZEV2ZW50SGFuZGxlcikoWygwLGYudXNlS2V5Ym9hcmRDbG9zZSkoaWUsbWUpLCgwLGYudXNlS2V5Ym9hcmRBY3Rpb25IYW5kbGVyKShbMTMsMzJdLHBlLCgwLGkudXNlQ2FsbGJhY2spKCgoKT0+Qm9vbGVhbihiZSkpLFtiZV0pKV0sVCksYWUub25LZXlEb3duKTtjb25zdCB2ZT0oMCxpLnVzZUNhbGxiYWNrKSgoZT0+e1YuY3VycmVudD0hMCxzZShlKX0pLFtWLHNlXSksZ2U9KDAsaS51c2VDYWxsYmFjaykoKGU9PntlJiZ1ZShlKX0pLFt1ZV0pO3JldHVybigwLGkudXNlRWZmZWN0KSgoKCk9PntWLmN1cnJlbnQ/Vi5jdXJyZW50PSExOmJlJiYhaWU/b2UoKTohYmUmJmllJiZyZSgpfSksW2JlLGllLG9lLHJlXSkse2VuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOk8sbW9yZUJ1dHRvblJlZjpVLHNldEl0ZW1SZWY6RyxnZXRCaW5kaW5nczplPT5sZS5maW5kKCh0PT50LmlkPT09ZS5pZCkpLGhhbmRsZU1vcmVCdXR0b25DbGljazp2ZSwKaGFuZGxlQ29sbGFwc2VkSXRlbUNsaWNrOmdlLHNjcm9sbFdyYXBCaW5kaW5nOmNlLG92ZXJmbG93QmVoYXZpb3VyOlcsdGFibGlzdEJpbmRpbmc6YWUsdmlzaWJsZVRhYnM6ZWUsaGlkZGVuVGFiczp0ZSxoYW5kbGVBY3RpdmF0ZTp1ZSxpc01vYmlsZVRvdWNoOkssZ2V0SXRlbUlkOkQsaXNEaXNjbG9zdXJlT3BlbmVkOmllLGlzSGlnaGxpZ2h0ZWQ6ZmUsY2xvc2VEaXNjbG9zdXJlOnJlfX19LDM5NjQzMShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtjb3VudGVyU2l6ZUZyb21TcXVhcmVUYWJzU2l6ZTooKT0+cyxnZXRUYWJDb3VudGVyOigpPT5yLHRyYW5zZm9ybVRhYnNXaXRoQ291bnRlcnM6KCk9Pmx9KTt2YXIgaT1uKDc3OTQ3NCksbz1uKDcyMTkxMCk7ZnVuY3Rpb24gcih7Y291bnQ6ZSxjb2xvcjp0PSJkYW5nZXIiLHNpemU6bj0ieHNtYWxsIixkaXNhYmxlZDpyfSl7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChvLkNvdW50ZXIseyJhcmlhLWxhYmVsIjoiVGFiIGNvdW50ZXIiLGNvdW50OmUsc2l6ZTpuLGNvbG9yOnQsYm9yZGVyQ29sb3I6InByaW1hcnkiLGRpc2FibGVkOnJ9KX1mdW5jdGlvbiBzKGUpe3JldHVybnt4c21hbGw6InhzbWFsbCIsc21hbGw6InNtYWxsIixtZWRpdW06Im1lZGl1bSIsbWVkaXVtV2l0aFNtYWxsRm9udDoibWVkaXVtIix4bGFyZ2U6ImxhcmdlIn1bZV19ZnVuY3Rpb24gbChlLHQsbil7cmV0dXJuIGUubWFwKChlPT57Y29uc3QgaT1lLmNvdW50ZXI7cmV0dXJuIGk/ey4uLmUsZW5kVXBwZXJTbG90OnIoe2NvdW50OmkuY291bnQsY29sb3I6aS5jb2xvcixzaXplOnMobiksZGlzYWJsZWQ6dH0pLGNvdW50ZXI6dm9pZCAwfTplfSkpfX0sMjEyMTI1KGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIGksbyxyLHMsbDtuLmQodCx7VGFiTmFtZXM6KCk9Pmx9KSxmdW5jdGlvbihlKXtlW2UuQWN0aXZlPTBdPSJBY3RpdmUiLGVbZS5FZGdlcz0xXT0iRWRnZXMifShpfHwoaT17fSkpLGZ1bmN0aW9uKGUpe2UuSG9yaXpvbnRhbD0iaG9yaXpvbnRhbCIsZS5WZXJ0aWNhbD0idmVydGljYWwifShvfHwobz17fSkpLGZ1bmN0aW9uKGUpe2UuQXV0b21hdGljPSJhdXRvbWF0aWMiLGUuTWFudWFsPSJtYW51YWwifShyfHwocj17fSkpLGZ1bmN0aW9uKGUpe2UuQ29sbGFwc2U9ImNvbGxhcHNlIixlLlNjcm9sbD0ic2Nyb2xsIixlLldyYXA9IndyYXAiLGUuTm9uZT0ibm9uZSJ9KHN8fChzPXt9KSksZnVuY3Rpb24oZSl7ZS5TcXVhcmVCdXR0b25UYWJzPSJzcXVhcmUtYnV0dG9uLXRhYnMiLGUuVW5kZXJsaW5lQnV0dG9uVGFicz0idW5kZXJsaW5lLWJ1dHRvbi10YWJzIixlLlVuZGVybGluZUFuY2hvclRhYnM9InVuZGVybGluZS1hbmNob3ItdGFicyIsZS5Sb3VuZEFuY2hvclRhYnM9InJvdW5kLWFuY2hvci10YWJzIixlLlJvdW5kQnV0dG9uVGFicz0icm91bmQtYnV0dG9uLXRhYnMiLGUuTGlnaHRCdXR0b25UYWJzPSJsaWdodC1idXR0b24tdGFicyJ9KGx8fChsPXt9KSl9LDIzNDI5MihlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0LG49MCl7Y29uc3QgaT1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG89dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4gaS50b3Atby50b3A+PTAmJm8uYm90dG9tLWkuYm90dG9tPj0wJiZpLmxlZnQtby5sZWZ0Pj1uJiZvLnJpZ2h0LWkucmlnaHQ+PW59bi5kKHQse2lzRWxlbWVudEluVmlldzooKT0+aX0pfSw4NjY3NDMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U2Nyb2xsSW50b1ZpZXdIZWxwZXI6KCk9PmN9KTt2YXIgaT1uKDk1MDE5NCksbz1uKDIzNDI5Mik7Y29uc3Qgcj17ZHVyYXRpb246MjAwLGFkZGl0aW9uYWxTY3JvbGw6MH0scz17dmVydGljYWw6e3Njcm9sbFNpemU6InNjcm9sbEhlaWdodCIsY2xpZW50U2l6ZToiY2xpZW50SGVpZ2h0IixzdGFydDoidG9wIixlbmQ6ImJvdHRvbSIsc2l6ZToiaGVpZ2h0In0saG9yaXpvbnRhbDp7c2Nyb2xsU2l6ZToic2Nyb2xsV2lkdGgiLGNsaWVudFNpemU6ImNsaWVudFdpZHRoIixzdGFydDoibGVmdCIsZW5kOiJyaWdodCIsc2l6ZToid2lkdGgifX07ZnVuY3Rpb24gbChlLHQpe2NvbnN0IG49c1tlXTtyZXR1cm4gdFtuLnNjcm9sbFNpemVdPnRbbi5jbGllbnRTaXplXX1mdW5jdGlvbiBhKGUsdCxuLG8scixsKXtjb25zdCBhPWZ1bmN0aW9uKGUsdCxuLGk9MCl7Y29uc3Qgbz1zW2VdO3JldHVybntzdGFydDotMSppLG1pZGRsZTotMSooTWF0aC5mbG9vcihuW28uc2l6ZV0vMiktTWF0aC5mbG9vcih0W28uc2l6ZV0vMikpLGVuZDotMSoobltvLnNpemVdLXRbby5zaXplXSkraX19KGUsbyxyLGwuYWRkaXRpb25hbFNjcm9sbCk7bGV0IGM9MDtpZihsLnNuYXBUb01pZGRsZXx8ZnVuY3Rpb24oZSx0LG4pe2NvbnN0IGk9c1tlXTtyZXR1cm4gdFtpLnN0YXJ0XTxuW2kuc3RhcnRdLW5baS5zaXplXS8yfHx0W2kuZW5kXT5uW2kuZW5kXStuW2kuc2l6ZV0vMn0oZSxvLHIpKWM9YS5taWRkbGU7ZWxzZXtjb25zdCB0PWZ1bmN0aW9uKGUsdCxuLGk9MCl7Y29uc3Qgbz1zW2VdLHI9dFtvLnN0YXJ0XStNYXRoLmZsb29yKHRbby5zaXplXS8yKSxsPW5bby5zdGFydF0rTWF0aC5mbG9vcihuW28uc2l6ZV0vMik7cmV0dXJue3N0YXJ0OnRbby5zdGFydF0tbltvLnN0YXJ0XS1pLG1pZGRsZTpyLWwsZW5kOnRbby5lbmRdLW5bby5lbmRdK2l9fShlLG8scixsLmFkZGl0aW9uYWxTY3JvbGwpLG49ZnVuY3Rpb24oZSl7Y29uc3R7c3RhcnQ6dCxtaWRkbGU6bixlbmQ6aX09ZSxvPW5ldyBNYXAoW1tNYXRoLmFicyh0KSx7a2V5OiJzdGFydCIsdmFsdWU6TWF0aC5zaWduKHQpfV0sW01hdGguYWJzKG4pLHtrZXk6Im1pZGRsZSIsdmFsdWU6TWF0aC5zaWduKG4pfV0sW01hdGguYWJzKGkpLHtrZXk6ImVuZCIsdmFsdWU6TWF0aC5zaWduKGkpfV1dKSxyPU1hdGgubWluKC4uLm8ua2V5cygpKTtyZXR1cm4gby5nZXQocil9KHQpO2M9dm9pZCAwIT09bj9hW24ua2V5XTowfXJldHVybiBsLmFsaWduJiYoYz1hW2wuYWxpZ25dKSwoMCxpLnNjcm9sbFRvKSh7Li4ubCx0YXJnZXQ6dCx0YXJnZXRSZWN0Om8sd3JhcDpuLHdyYXBSZWN0OnIsYWRkaXRpb25hbFNjcm9sbDpjLGRpcmVjdGlvbjplfSl9Y2xhc3MgY3sKY29uc3RydWN0b3IoZT1udWxsKXt0aGlzLl9jb250YWluZXI9bnVsbCx0aGlzLl9sYXN0U2Nyb2xsZWRFbGVtZW50PW51bGwsdGhpcy5fc3RvcFZlcnRpY2FsU2Nyb2xsPW51bGwsdGhpcy5fc3RvcEhvcml6b250YWxTY3JvbGw9bnVsbCx0aGlzLl9jb250YWluZXI9ZX1zY3JvbGxUbyhlLHQ9cil7aWYobnVsbCE9PXRoaXMuX2NvbnRhaW5lciYmbnVsbCE9PWUmJiEoMCxvLmlzRWxlbWVudEluVmlldykoZSx0aGlzLl9jb250YWluZXIsdC52aXNpYmlsaXR5RGV0ZWN0aW9uT2Zmc2V0SW5saW5lKSl7Y29uc3Qgbj1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGk9dGhpcy5fY29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuc3RvcFNjcm9sbCgpLGwoInZlcnRpY2FsIix0aGlzLl9jb250YWluZXIpJiYodGhpcy5fc3RvcFZlcnRpY2FsU2Nyb2xsPWEoInZlcnRpY2FsIixlLHRoaXMuX2NvbnRhaW5lcixuLGksdGhpcy5fbW9kaWZ5T3B0aW9ucygidmVydGljYWwiLHQpKSksbCgiaG9yaXpvbnRhbCIsdGhpcy5fY29udGFpbmVyKSYmKHRoaXMuX3N0b3BIb3Jpem9udGFsU2Nyb2xsPWEoImhvcml6b250YWwiLGUsdGhpcy5fY29udGFpbmVyLG4saSx0aGlzLl9tb2RpZnlPcHRpb25zKCJob3Jpem9udGFsIix0KSkpfXRoaXMuX2xhc3RTY3JvbGxlZEVsZW1lbnQ9ZX1zY3JvbGxUb0xhc3RFbGVtZW50KGUpe3RoaXMuc2Nyb2xsVG8odGhpcy5fbGFzdFNjcm9sbGVkRWxlbWVudCxlKX1zdG9wU2Nyb2xsKCl7bnVsbCE9PXRoaXMuX3N0b3BWZXJ0aWNhbFNjcm9sbCYmdGhpcy5fc3RvcFZlcnRpY2FsU2Nyb2xsKCksbnVsbCE9PXRoaXMuX3N0b3BIb3Jpem9udGFsU2Nyb2xsJiZ0aGlzLl9zdG9wSG9yaXpvbnRhbFNjcm9sbCgpfWdldENvbnRhaW5lcigpe3JldHVybiB0aGlzLl9jb250YWluZXJ9c2V0Q29udGFpbmVyKGUpe3RoaXMuX2NvbnRhaW5lcj1lLHRoaXMuX2NvbnRhaW5lcj8uY29udGFpbnModGhpcy5fbGFzdFNjcm9sbGVkRWxlbWVudCl8fCh0aGlzLl9sYXN0U2Nyb2xsZWRFbGVtZW50PW51bGwpfWRlc3Ryb3koKXt0aGlzLnN0b3BTY3JvbGwoKSx0aGlzLl9jb250YWluZXI9bnVsbCx0aGlzLl9sYXN0U2Nyb2xsZWRFbGVtZW50PW51bGx9X2hhbmRsZVNjcm9sbEVuZChlKXsidmVydGljYWwiPT09ZT90aGlzLl9zdG9wVmVydGljYWxTY3JvbGw9bnVsbDp0aGlzLl9zdG9wSG9yaXpvbnRhbFNjcm9sbD1udWxsfV9tb2RpZnlPcHRpb25zKGUsdCl7cmV0dXJuIE9iamVjdC5hc3NpZ24oe30sdCx7b25TY3JvbGxFbmQ6KCk9Pnt0aGlzLl9oYW5kbGVTY3JvbGxFbmQoZSksdm9pZCAwIT09dC5vblNjcm9sbEVuZCYmdC5vblNjcm9sbEVuZCgpfX0pfX19LDk1MDE5NChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtzY3JvbGxUbzooKT0+b30pO3ZhciBpPW4oMjE4ODE0KTtmdW5jdGlvbiBvKGUpe2NvbnN0e2FkZGl0aW9uYWxTY3JvbGw6dD0wLGR1cmF0aW9uOm49aS5kdXIsZnVuYzpvPWkuZWFzaW5nRnVuYy5lYXNlSW5PdXRDdWJpYyxvblNjcm9sbEVuZDpyLHRhcmdldDpzLHdyYXA6bCxkaXJlY3Rpb246YT0idmVydGljYWwifT1lO2xldHt0YXJnZXRSZWN0OmMsd3JhcFJlY3Q6dX09ZTtjPWM/P3MuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksdT11Pz9sLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2NvbnN0IGQ9KCJ2ZXJ0aWNhbCI9PT1hP2MudG9wLXUudG9wOmMubGVmdC11LmxlZnQpK3QsZj0idmVydGljYWwiPT09YT8ic2Nyb2xsVG9wIjoic2Nyb2xsTGVmdCIsYj1sP2xbZl06MDtsZXQgaCxtPTA7cmV0dXJuIG09d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoZnVuY3Rpb24gZSh0KXtsZXQgaTtpZihoP2k9dC1oOihpPTAsaD10KSxpPj1uKXJldHVybiBsW2ZdPWIrZCx2b2lkKHImJnIoKSk7Y29uc3Qgcz1iK2QqbyhpL24pO2xbZl09TWF0aC5mbG9vcihzKSxtPXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZSl9KSksZnVuY3Rpb24oKXt3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUobSksciYmcigpfX19fV0pOw=="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/img/logo.png","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.119Z","timestamp":1785120633119,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /img/logo.png HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: image/png\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-4ed32\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":322866,"size_decoded":319663,"mime_type":"image/png","magic":"PNG image data, 1024 x 1024, 8-bit/color RGBA, non-interlaced","md5":"b8cd1317e5c3efc7316e7c4c4c01bc19","sha1":"4e01118f8645329c75274a246b2d50dc7068f1bd","sha256":"f11b7cb43e39c72cc14803662df8de137ef55c51ecd92be8c85ef6faab6e407c","sha512":"f7bae79021d4b8b3fca6ae4375809ec773797bb36fe5639d6c2227f1437c641bee8fb275888aead30dd885a8446dedc6e026b204ab5df2962300e35e56fbcd10","ssdeep":"6144:9orDo4OGQYQr+vA7KpBxQR9cb8mRLLi6LOYdoHtkFuqOj7mSP4qB:9qBQYPA7KqR9eRLO6zoHtGdOZPJ","tlshash":"f064233222fde81c1da62933f979bf815c548b8ee2b0c5b319bfa58d32637fa5044591","first_seen":"2026-07-27T02:45:25.129981Z","last_seen":"2026-07-27T02:59:54.51556Z","times_seen":4,"resource_available":false,"data":"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jriGf654A0BERM/CUUHskzBddHsCUVJb+Sedz66eEgE1Tz5Pb55bkyeXhjI8aLHd/1GE134iomfqZGd/etZO3ASAOwARES0jOeH0/dB9zpPO9y0+87jzk+u2w/xEREQ//Hi+fr6xCQARERERERHREmACgIiIiIiIiGgJMAFAREREREREtASYACAiIiIiIiJaAkwAEBERERERES0BJgCIiIiIiIiIlgATAERERERERERLgAkAIiIiIiIioiXABAARERERERHREmACgIiIiIiIiGgJMAFAREREREREtASYACAiIiIiIiJaAkwAEBERERERES0BJgCIiIiIiIiIloAMf+ZPLy57rsjiAnoiuriAiIiIiOgH6Fnfv/P+9/n2rPef5x1rABAREREREREtASYAiIiIiIiIiJYAEwBERERERERES4AJACIiIiIiIqIlwAQAERERERER0RJgAoCIiIiIiIhoCTABQERERERERLQEmAAgIiIiIiIiWgJMABAREREREREtASYAiIiIiIiIiJYAEwBERERERERES4AJACIiIiIiIqIlwAQAERERERER0RJgAoCIiIiIiIhoCTABQERERERERLQEbHHpTQjwzCYiIiIiIiL6fCzGY5/3dFLfj89YZqwBQERERERERLQEmAAgIiIiIiIiWgJMABAREREREREtASYAiIiIiIiIiJYAEwBERERERERES4AJACIiIiIiIqIlwAQAERERERER0RJgAoCIiIiIiIhoCTABQERERERERLQEmAAgIiIiIiIiWgJMABAREREREREtASYAiIiIiIiIiJYAEwBERERERERES4AJACIiIiIiIqIlwAQAERERERER0RL4/8wBWFqmtREjAAAAAElFTkSuQmCC"}},"time_used":120,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":32,"receive":88,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":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://247optiontradefx.com/","date":"2026-07-27T02:50:33.389Z","timestamp":1785120633389,"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://247optiontradefx.com/\r\nOrigin: https://247optiontradefx.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 02:50:33 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/\"243cf795a40cf77580b4480807c7ef63\"\r\nx-request-id: a36134e6-c901-4424-a32e-89861c6bf3cf\r\nx-runtime: 0.004804\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: a2185656cc4a56ae-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":3920,"size_decoded":2413,"mime_type":"application/json; charset=utf-8","magic":"JSON text data","md5":"b48c56cdba03b635da97fcb2a33a53f0","sha1":"9efb790c3d441967cda80c31184b1e6a49425735","sha256":"9ed767c878aba5528c40a07db0a98c80af79105ffb4fa5456d1fb6912b0b2a9c","sha512":"8fd8e71448b77a52fff32e84562ac0e1dd820294fc8fb66126f0448449c539003fe4567217131b9eb6d7b08dd7190794003583907ae5bb0b054f034142f6007c","ssdeep":"","tlshash":"a98101960d349ce3c1e1754a6d9a36200d2efeda9cc9cc164fdecdce44687fa410ae4a","first_seen":"2026-07-27T02:51:26.997146Z","last_seen":"2026-07-27T02:52:08.325676Z","times_seen":2,"resource_available":false,"data":"W3siaWQiOiJiaXRjb2luIiwic3ltYm9sIjoiYnRjIiwibmFtZSI6IkJpdGNvaW4iLCJpbWFnZSI6Imh0dHBzOi8vY29pbi1pbWFnZXMuY29pbmdlY2tvLmNvbS9jb2lucy9pbWFnZXMvMS9sYXJnZS9iaXRjb2luLnBuZz8xNjk2NTAxNDAwIiwiY3VycmVudF9wcmljZSI6NjUxNzksIm1hcmtldF9jYXAiOjEzMDc3MjMzMDQ0NTEsIm1hcmtldF9jYXBfcmFuayI6MSwiZnVsbHlfZGlsdXRlZF92YWx1YXRpb24iOjEzMDc3MjMzMDQ0NTEsInRvdGFsX3ZvbHVtZSI6MTU5OTQwNDUyNDQsImhpZ2hfMjRoIjo2NTQ4OSwibG93XzI0aCI6NjQyNDMsInByaWNlX2NoYW5nZV8yNGgiOjY3OS4yNCwicHJpY2VfY2hhbmdlX3BlcmNlbnRhZ2VfMjRoIjoxLjEsIm1hcmtldF9jYXBfY2hhbmdlXzI0aCI6MTM3NzE5MzgwMjgsIm1hcmtldF9jYXBfY2hhbmdlX3BlcmNlbnRhZ2VfMjRoIjoxLjA2NDMzLCJjaXJjdWxhdGluZ19zdXBwbHkiOjIwMDYxNzYyLjAsInRvdGFsX3N1cHBseSI6MjAwNjE3NzUuMCwibWF4X3N1cHBseSI6MjEwMDAwMDAuMCwiYXRoIjoxMjYwODAsImF0aF9jaGFuZ2VfcGVyY2VudGFnZSI6LTQ4LjMwMzQ2LCJhdGhfZGF0ZSI6IjIwMjUtMTAtMDZUMTA6NTc6NDIuMDAwWiIsImF0bCI6NjcuODEsImF0bF9jaGFuZ2VfcGVyY2VudGFnZSI6OTYwMjEuMzc3MjksImF0bF9kYXRlIjoiMjAxMy0wNy0wNVQxNjowMDowMC4wMDBaIiwicm9pIjpudWxsLCJsYXN0X3VwZGF0ZWQiOiIyMDI2LTA3LTI3VDAyOjQ4OjMwLjAwMFoifSx7ImlkIjoiZXRoZXJldW0iLCJzeW1ib2wiOiJldGgiLCJuYW1lIjoiRXRoZXJldW0iLCJpbWFnZSI6Imh0dHBzOi8vY29pbi1pbWFnZXMuY29pbmdlY2tvLmNvbS9jb2lucy9pbWFnZXMvMjc5L2xhcmdlL2V0aGVyZXVtLnBuZz8xNjk2NTAxNjI4IiwiY3VycmVudF9wcmljZSI6MTk0My43OCwibWFya2V0X2NhcCI6MjM0NjA2NjQ5NDk5LCJtYXJrZXRfY2FwX3JhbmsiOjIsImZ1bGx5X2RpbHV0ZWRfdmFsdWF0aW9uIjoyMzQ2MDY2NDk0OTksInRvdGFsX3ZvbHVtZSI6NjczNzIxODIwMCwiaGlnaF8yNGgiOjE5NjAuMzYsImxvd18yNGgiOjE4NzcuMSwicHJpY2VfY2hhbmdlXzI0aCI6NjMuMSwicHJpY2VfY2hhbmdlX3BlcmNlbnRhZ2VfMjRoIjozLjUsIm1hcmtldF9jYXBfY2hhbmdlXzI0aCI6NzY0MDQ1NTA2NSwibWFya2V0X2NhcF9jaGFuZ2VfcGVyY2VudGFnZV8yNGgiOjMuMzY2MzQsImNpcmN1bGF0aW5nX3N1cHBseSI6MTIwNjgyNjM1Ljg1MzEwMzcxLCJ0b3RhbF9zdXBwbHkiOjEyMDY4MjY4NS4xMjIzNDIyLCJtYXhfc3VwcGx5IjpudWxsLCJhdGgiOjQ5NDYuMDUsImF0aF9jaGFuZ2VfcGVyY2VudGFnZSI6LTYwLjcwMDI0LCJhdGhfZGF0ZSI6IjIwMjUtMDgtMjRUMTE6MjE6MDMuMDAwWiIsImF0bCI6MC40MzI5NzksImF0bF9jaGFuZ2VfcGVyY2VudGFnZSI6NDQ4ODMzLjAzMDA2LCJhdGxfZGF0ZSI6IjIwMTUtMTAtMTlUMTY6MDA6MDAuMDAwWiIsInJvaSI6eyJ0aW1lcyI6MzguODYyNTI2NDgwNzQxODksImN1cnJlbmN5IjoiYnRjIiwicGVyY2VudGFnZSI6Mzg4Ni4yNTI2NDgwNzQxODl9LCJsYXN0X3VwZGF0ZWQiOiIyMDI2LTA3LTI3VDAyOjQ4OjMwLjAwMFoifSx7ImlkIjoicmlwcGxlIiwic3ltYm9sIjoieHJwIiwibmFtZSI6IlhSUCIsImltYWdlIjoiaHR0cHM6Ly9jb2luLWltYWdlcy5jb2luZ2Vja28uY29tL2NvaW5zL2ltYWdlcy80NC9sYXJnZS94cnAtc3ltYm9sLXdoaXRlLTEyOC5wbmc/MTY5NjUwMTQ0MiIsImN1cnJlbnRfcHJpY2UiOjEuMTEsIm1hcmtldF9jYXAiOjY5MTE2NjE2MDgyLCJtYXJrZXRfY2FwX3JhbmsiOjYsImZ1bGx5X2RpbHV0ZWRfdmFsdWF0aW9uIjoxMTA1MTE4Njk2MTUsInRvdGFsX3ZvbHVtZSI6NjA4ODI2OTkyLCJoaWdoXzI0aCI6MS4xMiwibG93XzI0aCI6MS4wOTUsInByaWNlX2NoYW5nZV8yNGgiOjAuMDA0NDE4NTYsInByaWNlX2NoYW5nZV9wZXJjZW50YWdlXzI0aCI6MC43LCJtYXJrZXRfY2FwX2NoYW5nZV8yNGgiOjI4MzIxMDQ3MSwibWFya2V0X2NhcF9jaGFuZ2VfcGVyY2VudGFnZV8yNGgiOjAuNDExNDQsImNpcmN1bGF0aW5nX3N1cHBseSI6NjI1MzMyNzE5NTUuMCwidG90YWxfc3VwcGx5Ijo5OTk4NTYzNTcwNy4wLCJtYXhfc3VwcGx5IjoxMDAwMDAwMDAwMDAuMCwiYXRoIjozLjY1LCJhdGhfY2hhbmdlX3BlcmNlbnRhZ2UiOi02OS42OTEzNywiYXRoX2RhdGUiOiIyMDI1LTA3LTE3VDE5OjQwOjUzLjAwMFoiLCJhdGwiOjAuMDAyNjg2MjEsImF0bF9jaGFuZ2VfcGVyY2VudGFnZSI6NDEwNDIuMjk0NzIsImF0bF9kYXRlIjoiMjAxNC0wNS0yMVQxNjowMDowMC4wMDBaIiwicm9pIjpudWxsLCJsYXN0X3VwZGF0ZWQiOiIyMDI2LTA3LTI3VDAyOjQ4OjMwLjAwMFoifSx7ImlkIjoibGl0ZWNvaW4iLCJzeW1ib2wiOiJsdGMiLCJuYW1lIjoiTGl0ZWNvaW4iLCJpbWFnZSI6Imh0dHBzOi8vY29pbi1pbWFnZXMuY29pbmdlY2tvLmNvbS9jb2lucy9pbWFnZXMvMi9sYXJnZS9saXRlY29pbi5wbmc/MTY5NjUwMTQwMCIsImN1cnJlbnRfcHJpY2UiOjQ3LjMyLCJtYXJrZXRfY2FwIjozNjY0NTM2MTEzLCJtYXJrZXRfY2FwX3JhbmsiOjI3LCJmdWxseV9kaWx1dGVkX3ZhbHVhdGlvbiI6MzY2NDU0MTE0MSwidG90YWxfdm9sdW1lIjoyMjYyMTY1NTUsImhpZ2hfMjRoIjo0OC4yLCJsb3dfMjRoIjo0Ni42MiwicHJpY2VfY2hhbmdlXzI0aCI6MC41ODc0OTIsInByaWNlX2NoYW5nZV9wZXJjZW50YWdlXzI0aCI6MS44LCJtYXJrZXRfY2FwX2NoYW5nZV8yNGgiOjQ2MzU3OTQ3LCJtYXJrZXRfY2FwX2NoYW5nZV9wZXJjZW50YWdlXzI0aCI6MS4yODEyNSwiY2lyY3VsYXRpbmdfc3VwcGx5Ijo3NzQyODgyMi43MjE3NTYwNywidG90YWxfc3VwcGx5Ijo3NzQzMTYyOC45Nzg5NDIzLCJtYXhfc3VwcGx5Ijo4NDAwMDAwMC4wLCJhdGgiOjQxMC4yNiwiYXRoX2NoYW5nZV9wZXJjZW50YWdlIjotODguNDY2MTksImF0aF9kYXRlIjoiMjAyMS0wNS0wOVQxOToxMzowNy4wMDBaIiwiYXRsIjoxLjE1LCJhdGxfY2hhbmdlX3BlcmNlbnRhZ2UiOjQwMTguODA1NjcsImF0bF9kYXRlIjoiMjAxNS0wMS0xM1QxNjowMDowMC4wMDBaIiwicm9pIjpudWxsLCJsYXN0X3VwZGF0ZWQiOiIyMDI2LTA3LTI3VDAyOjQ4OjMwLjAwMFoifSx7ImlkIjoiZW9zIiwic3ltYm9sIjoiZW9zIiwibmFtZSI6IkVPUyIsImltYWdlIjoiaHR0cHM6Ly9jb2luLWltYWdlcy5jb2luZ2Vja28uY29tL2NvaW5zL2ltYWdlcy83MzgvbGFyZ2UvQ0dfRU9TX0ljb24ucG5nPzE3MzE3MDUyMzIiLCJjdXJyZW50X3ByaWNlIjowLjA2Mzk3OSwibWFya2V0X2NhcCI6MC4wLCJtYXJrZXRfY2FwX3JhbmsiOm51bGwsImZ1bGx5X2RpbHV0ZWRfdmFsdWF0aW9uIjoxMzQzNTM5NjcsInRvdGFsX3ZvbHVtZSI6MzE4MjIsImhpZ2hfMjRoIjowLjA2NDIxNSwibG93XzI0aCI6MC4wNjIxNjgsInByaWNlX2NoYW5nZV8yNGgiOjAuMDAxMjA2NzcsInByaWNlX2NoYW5nZV9wZXJjZW50YWdlXzI0aCI6Mi4yLCJtYXJrZXRfY2FwX2NoYW5nZV8yNGgiOm51bGwsIm1hcmtldF9jYXBfY2hhbmdlX3BlcmNlbnRhZ2VfMjRoIjpudWxsLCJjaXJjdWxhdGluZ19zdXBwbHkiOjAuMCwidG90YWxfc3VwcGx5IjoyMTAwMDAwMDAwLjAsIm1heF9zdXBwbHkiOjIxMDAwMDAwMDAuMCwiYXRoIjoyMi43MSwiYXRoX2NoYW5nZV9wZXJjZW50YWdlIjotOTkuNzE4MywiYXRoX2RhdGUiOiIyMDE4LTA0LTI4VDIzOjUwOjMzLjAwMFoiLCJhdGwiOjAuMDU4MDA1LCJhdGxfY2hhbmdlX3BlcmNlbnRhZ2UiOjEwLjI5OTA3LCJhdGxfZGF0ZSI6IjIwMjYtMDYtMDZUMDQ6Mzg6NDUuMDAwWiIsInJvaSI6eyJ0aW1lcyI6LTAuOTM1NDEzNDg3MDUxNDI3NiwiY3VycmVuY3kiOiJ1c2QiLCJwZXJjZW50YWdlIjotOTMuNTQxMzQ4NzA1MTQyNzV9LCJsYXN0X3VwZGF0ZWQiOiIyMDI2LTA3LTI3VDAyOjQ4OjMwLjAwMFoifV0="}},"time_used":174,"timings":{"blocked":0,"dns":4,"connect":9,"send":0,"wait":161,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/_/translate_http/_/js/k=translate_http.tr.en_GB.0bOkwMeUhss.O/am=AAQ/d=1/exm=el_conf/ed=1/rs=AN8SPfpJ-b5RL7jX_lJQ88yeg6nAGmb0sQ/m=el_main","fqdn":"translate.googleapis.com","domain":"translate.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":"script","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.429Z","timestamp":1785120633429,"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 /_/translate_http/_/js/k=translate_http.tr.en_GB.0bOkwMeUhss.O/am=AAQ/d=1/exm=el_conf/ed=1/rs=AN8SPfpJ-b5RL7jX_lJQ88yeg6nAGmb0sQ/m=el_main HTTP/1.1\r\nHost: translate.googleapis.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://247optiontradefx.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\naccept-ranges: bytes\r\ncontent-encoding: gzip\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/rosetta\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"rosetta\"\r\nreport-to: {\"group\":\"rosetta\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/rosetta\"}]}\r\ncontent-length: 73150\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Mon, 27 Jul 2026 02:44:20 GMT\r\nexpires: Tue, 27 Jul 2027 02:44:20 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 07 Feb 2024 02:21:51 GMT\r\ncontent-type: text/javascript; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 373\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":null,"data":{"size":212028,"size_decoded":74007,"mime_type":"text/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (2326)","md5":"26f86c99bbd8caa6576e8fc19eeef21d","sha1":"26533f411d4cba2b0611533642214da03984a896","sha256":"57ccc245900991085c4bfc0c83100c6ea76ddf2358ada537a0eed5a30675ef3d","sha512":"ed0d9c406901532d357f63e72880f04a5aba090e9b76d65d72f22a5eb8c9a43cf9d6e5163e5b7da15fb85a32c1ccb16af2a7fa5ab4ec4ec810107236ea895459","ssdeep":"3072:x1YHE13TctCjMR+CszJWtC5puioHZLwG+VAYD0WF7:r33xzJ62Ga","tlshash":"d324d8d9b25270669263f0a6517f004bb23b6499f8484dacb68cd8e2adf0d5d0277f7c","first_seen":"2024-02-09T07:57:28Z","last_seen":"2026-07-27T02:59:54.587278Z","times_seen":65,"resource_available":true,"data":"InVzZSBzdHJpY3QiO3RoaXMuZGVmYXVsdF90cj10aGlzLmRlZmF1bHRfdHJ8fHt9OyhmdW5jdGlvbihfKXt2YXIgd2luZG93PXRoaXM7CnRyeXsKdmFyIEpoLEtoLExoLFRoLGNpLGRpLGVpLGZpLGppO0poPWZ1bmN0aW9uKGEpe3JldHVybiBfLkFhP18uQmE/Xy5CYS5icmFuZHMuc29tZShmdW5jdGlvbihiKXtyZXR1cm4oYj1iLmJyYW5kKSYmLTEhPWIuaW5kZXhPZihhKX0pOiExOiExfTtLaD1mdW5jdGlvbigpe3JldHVybiBfLnYoIkZpcmVmb3giKXx8Xy52KCJGeGlPUyIpfTtMaD1mdW5jdGlvbigpe3JldHVybiBfLkNhKCk/SmgoIkNocm9taXVtIik6KF8udigiQ2hyb21lIil8fF8udigiQ3JpT1MiKSkmJiEoXy5DYSgpPzA6Xy52KCJFZGdlIikpfHxfLnYoIlNpbGsiKX07Xy5NaD1mdW5jdGlvbigpe3JldHVybiBfLnYoIlNhZmFyaSIpJiYhKExoKCl8fChfLkNhKCk/MDpfLnYoIkNvYXN0IikpfHxfLkRhKCl8fChfLkNhKCk/MDpfLnYoIkVkZ2UiKSl8fChfLkNhKCk/SmgoIk1pY3Jvc29mdCBFZGdlIik6Xy52KCJFZGcvIikpfHwoXy5DYSgpP0poKCJPcGVyYSIpOl8udigiT1BSIikpfHxLaCgpfHxfLnYoIlNpbGsiKXx8Xy52KCJBbmRyb2lkIikpfTsKXy5OaD1mdW5jdGlvbigpe3JldHVybiBfLnYoIkFuZHJvaWQiKSYmIShMaCgpfHxLaCgpfHxfLkRhKCl8fF8udigiU2lsayIpKX07Xy5PaD1mdW5jdGlvbihhKXtpZighXy5sZyl7YTp7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO3RyeXtiLmhyZWY9YX1jYXRjaChjKXthPXZvaWQgMDticmVhayBhfWE9Yi5wcm90b2NvbDthPSI6Ij09PWF8fCIiPT09YT8iaHR0cHM6IjphfXJldHVybiBhfXRyeXtiPW5ldyBVUkwoYSl9Y2F0Y2goYyl7cmV0dXJuImh0dHBzOiJ9cmV0dXJuIGIucHJvdG9jb2x9O18uUGg9ZnVuY3Rpb24oYSl7aWYoImphdmFzY3JpcHQ6IiE9PV8uT2goYSkpcmV0dXJuIGF9O18uUmg9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uUWgmJm51bGwhPWEmJmEgaW5zdGFuY2VvZiBVaW50OEFycmF5fTtfLlNoPWZ1bmN0aW9uKGEpe3JldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhKX07ClRoPWZ1bmN0aW9uKGEpe3JldHVybiJmdW5jdGlvbiI9PT10eXBlb2YgU3ltYm9sJiYic3ltYm9sIj09PXR5cGVvZiBTeW1ib2woKT9TeW1ib2woKTphfTtfLlZoPWZ1bmN0aW9uKGEpeygwLF8uVWgpKGEsMzQpO3JldHVybiBhfTtfLldoPWZ1bmN0aW9uKGEpe3JldHVybiBudWxsIT09YSYmIm9iamVjdCI9PT10eXBlb2YgYSYmIUFycmF5LmlzQXJyYXkoYSkmJmEuY29uc3RydWN0b3I9PT1PYmplY3R9O18uYWk9ZnVuY3Rpb24oYSxiLGMsZCl7aWYobnVsbCE9YSYmIm9iamVjdCI9PT10eXBlb2YgYSYmYS5sZD09PV8uWGgpcmV0dXJuIGE7aWYoIUFycmF5LmlzQXJyYXkoYSkpcmV0dXJuIGM/ZCYyP18uWWgoYik6bmV3IGI6dm9pZCAwO3ZhciBlPWM9KDAsXy5aaCkoYSk7MD09PWUmJihlfD1kJjMyKTtlfD1kJjI7ZSE9PWMmJigwLF8uJGgpKGEsZSk7cmV0dXJuIG5ldyBiKGEpfTsKXy5ZaD1mdW5jdGlvbihhKXt2YXIgYj1hW2JpXTtpZihiKXJldHVybiBiO2I9bmV3IGE7Xy5WaChiLkwpO3JldHVybiBhW2JpXT1ifTtjaT1mdW5jdGlvbihhKXtyZXR1cm4gYX07ZGk9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2E9Xy5haShhLGQsYyxmKTtlJiYoYT1hLmRqKCkpO3JldHVybiBhfTtlaT1mdW5jdGlvbihhKXtyZXR1cm4gYX07Zmk9ZnVuY3Rpb24oYSl7cmV0dXJuW2EsdGhpcy5nZXQoYSldfTtfLmhpPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtpZihudWxsIT1hKXtpZihBcnJheS5pc0FycmF5KGEpKWE9ZSYmMD09YS5sZW5ndGgmJigwLF8uWmgpKGEpJjE/dm9pZCAwOmYmJigwLF8uWmgpKGEpJjI/YTpfLmdpKGEsYixjLHZvaWQgMCE9PWQsZSxmKTtlbHNlIGlmKF8uV2goYSkpe3ZhciBnPXt9LGg7Zm9yKGggaW4gYSlnW2hdPV8uaGkoYVtoXSxiLGMsZCxlLGYpO2E9Z31lbHNlIGE9YihhLGQpO3JldHVybiBhfX07Cl8uZ2k9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3ZhciBnPWR8fGM/KDAsXy5aaCkoYSk6MDtkPWQ/ISEoZyYzMik6dm9pZCAwO2E9Xy5TaChhKTtmb3IodmFyIGg9MDtoPGEubGVuZ3RoO2grKylhW2hdPV8uaGkoYVtoXSxiLGMsZCxlLGYpO2MmJmMoZyxhKTtyZXR1cm4gYX07amk9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uaGkoYSxfLmlpLHZvaWQgMCx2b2lkIDAsITEsITEpfTtfLmlpPWZ1bmN0aW9uKGEpe3JldHVybiBhLmxkPT09Xy5YaD9hLmVqKCk6ImZ1bmN0aW9uIj09dHlwZW9mIF8ua2kmJmEgaW5zdGFuY2VvZiBfLmtpP2EuaCgpOl8uUmgoYSk/bmV3IFVpbnQ4QXJyYXkoYSk6YSBpbnN0YW5jZW9mIF8ubGk/Xy5taShhLGppKTphfTtfLm5pPWZ1bmN0aW9uKGEpe3JldHVybiBhIGluc3RhbmNlb2YgXy5PYyYmYS5jb25zdHJ1Y3Rvcj09PV8uT2M/YS5nOiJ0eXBlX2Vycm9yOlNhZmVVcmwifTtfLm9pPUtoKCk7Xy5waT1fLkdhKCl8fF8udigiaVBvZCIpO18ucWk9Xy52KCJpUGFkIik7Xy5yaT1fLk5oKCk7Xy5zaT1MaCgpO18udGk9Xy5NaCgpJiYhXy5JYSgpO3ZhciB2aTtfLlFoPSJ1bmRlZmluZWQiIT09dHlwZW9mIFVpbnQ4QXJyYXk7Xy51aT0hXy5GJiYiZnVuY3Rpb24iPT09dHlwZW9mIGJ0b2E7dmk9InVuZGVmaW5lZCIhPXR5cGVvZiBzdHJ1Y3R1cmVkQ2xvbmU7Xy53aT0hXy5sYztfLnhpPSFfLmxjO3ZhciB5aT1UaCgpLGJpPVRoKCIwZGkiKTtfLlVoPXlpP2Z1bmN0aW9uKGEsYil7YVt5aV18PWJ9OmZ1bmN0aW9uKGEsYil7dm9pZCAwIT09YS5nP2EuZ3w9YjpPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhLHtnOnt2YWx1ZTpiLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCxlbnVtZXJhYmxlOiExfX0pfTtfLnppPXlpP2Z1bmN0aW9uKGEsYil7YVt5aV0mPX5ifTpmdW5jdGlvbihhLGIpe3ZvaWQgMCE9PWEuZyYmKGEuZyY9fmIpfTtfLlpoPXlpP2Z1bmN0aW9uKGEpe3JldHVybiBhW3lpXXwwfTpmdW5jdGlvbihhKXtyZXR1cm4gYS5nfDB9O18uQWk9eWk/ZnVuY3Rpb24oYSl7cmV0dXJuIGFbeWldfTpmdW5jdGlvbihhKXtyZXR1cm4gYS5nfTtfLiRoPXlpP2Z1bmN0aW9uKGEsYil7YVt5aV09YjtyZXR1cm4gYX06ZnVuY3Rpb24oYSxiKXt2b2lkIDAhPT1hLmc/YS5nPWI6T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYSx7Zzp7dmFsdWU6Yixjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsZW51bWVyYWJsZTohMX19KTtyZXR1cm4gYX07dmFyIEVpO18uWGg9e307Xy5CaT17fTtfLkNpPSFfLmxjO0VpPVtdOygwLF8uJGgpKEVpLDU1KTtfLkRpPU9iamVjdC5mcmVlemUoRWkpO3ZhciBGaT1mdW5jdGlvbihhLGIsYyl7dGhpcy5qPTA7dGhpcy5nPWE7dGhpcy5oPWI7dGhpcy5sPWN9O0ZpLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKCl7aWYodGhpcy5qPHRoaXMuZy5sZW5ndGgpe3ZhciBhPXRoaXMuZ1t0aGlzLmorK107cmV0dXJue2RvbmU6ITEsdmFsdWU6dGhpcy5oP3RoaXMuaC5jYWxsKHRoaXMubCxhKTphfX1yZXR1cm57ZG9uZTohMCx2YWx1ZTp2b2lkIDB9fTtGaS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiBuZXcgRmkodGhpcy5nLHRoaXMuaCx0aGlzLmwpfTtPYmplY3QuZnJlZXplKG5ldyBmdW5jdGlvbigpe30pO09iamVjdC5mcmVlemUobmV3IGZ1bmN0aW9uKCl7fSk7dmFyIEdpPWZ1bmN0aW9uKCl7dHJ5e3ZhciBhPWZ1bmN0aW9uKCl7cmV0dXJuKDAsXy5uYikoTWFwLFtdLHRoaXMuY29uc3RydWN0b3IpfTtfLnooYSxNYXApO25ldyBhO3JldHVybiExfWNhdGNoKGIpe3JldHVybiEwfX0oKSxIaT1mdW5jdGlvbigpe3RoaXMuZz1uZXcgTWFwfSxJaSxKaTtfLms9SGkucHJvdG90eXBlO18uay5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZy5nZXQoYSl9O18uay5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLmcuc2V0KGEsYik7dGhpcy5zaXplPXRoaXMuZy5zaXplO3JldHVybiB0aGlzfTtfLmsuZGVsZXRlPWZ1bmN0aW9uKGEpe2E9dGhpcy5nLmRlbGV0ZShhKTt0aGlzLnNpemU9dGhpcy5nLnNpemU7cmV0dXJuIGF9O18uay5jbGVhcj1mdW5jdGlvbigpe3RoaXMuZy5jbGVhcigpO3RoaXMuc2l6ZT10aGlzLmcuc2l6ZX07Xy5rLmhhcz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5nLmhhcyhhKX07Xy5rLmVudHJpZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLmVudHJpZXMoKX07Cl8uay5rZXlzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZy5rZXlzKCl9O18uay52YWx1ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLnZhbHVlcygpfTtfLmsuZm9yRWFjaD1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmcuZm9yRWFjaChhLGIpfTtIaS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVudHJpZXMoKX07SWk9ZnVuY3Rpb24oKXtpZihHaSlyZXR1cm4gT2JqZWN0LnNldFByb3RvdHlwZU9mKEhpLnByb3RvdHlwZSxNYXAucHJvdG90eXBlKSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyhIaS5wcm90b3R5cGUse3NpemU6e3ZhbHVlOjAsY29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsd3JpdGFibGU6ITB9fSksSGk7dmFyIGE9ZnVuY3Rpb24oKXtyZXR1cm4oMCxfLm5iKShNYXAsW10sdGhpcy5jb25zdHJ1Y3Rvcil9O18ueihhLE1hcCk7cmV0dXJuIGF9KCk7Cl8ubGk9ZnVuY3Rpb24oYSxiLGMsZCl7Yz12b2lkIDA9PT1jP2NpOmM7ZD12b2lkIDA9PT1kP2NpOmQ7dmFyIGU9SWkuY2FsbCh0aGlzKXx8dGhpczt2YXIgZj0oMCxfLlpoKShhKTtmfD02NDsoMCxfLiRoKShhLGYpO2UuZWM9ZjtlLkRkPWI7ZS5xYz1jO2UuUGU9ZS5EZD9kaTpkO2Zvcih2YXIgZz0wO2c8YS5sZW5ndGg7ZysrKXt2YXIgaD1hW2ddLGw9YyhoWzBdLCExLCEwKSxtPWhbMV07Yj92b2lkIDA9PT1tJiYobT1udWxsKTptPWQoaFsxXSwhMSwhMCx2b2lkIDAsdm9pZCAwLGYpO0lpLnByb3RvdHlwZS5zZXQuY2FsbChlLGwsbSl9cmV0dXJuIGV9O18ueihfLmxpLElpKTtKaT1mdW5jdGlvbihhKXtpZihhLmVjJjIpdGhyb3cgRXJyb3IoImlhIik7fTtfLm1pPWZ1bmN0aW9uKGEsYil7Yj12b2lkIDA9PT1iP2VpOmI7cmV0dXJuIF8uS2koYSxiKX07Cl8uS2k9ZnVuY3Rpb24oYSxiKXtiPXZvaWQgMD09PWI/ZWk6Yjt2YXIgYz1bXTthPUlpLnByb3RvdHlwZS5lbnRyaWVzLmNhbGwoYSk7Zm9yKHZhciBkOyEoZD1hLm5leHQoKSkuZG9uZTspZD1kLnZhbHVlLGRbMF09YihkWzBdKSxkWzFdPWIoZFsxXSksYy5wdXNoKGQpO3JldHVybiBjfTtfLms9Xy5saS5wcm90b3R5cGU7Xy5rLmNsZWFyPWZ1bmN0aW9uKCl7SmkodGhpcyk7SWkucHJvdG90eXBlLmNsZWFyLmNhbGwodGhpcyl9O18uay5kZWxldGU9ZnVuY3Rpb24oYSl7SmkodGhpcyk7cmV0dXJuIElpLnByb3RvdHlwZS5kZWxldGUuY2FsbCh0aGlzLHRoaXMucWMoYSwhMCwhMSkpfTtfLmsuZW50cmllcz1mdW5jdGlvbigpe3ZhciBhPUFycmF5LmZyb20oSWkucHJvdG90eXBlLmtleXMuY2FsbCh0aGlzKSk7cmV0dXJuIG5ldyBGaShhLGZpLHRoaXMpfTtfLmsua2V5cz1mdW5jdGlvbigpe3JldHVybiBJaS5wcm90b3R5cGUua2V5cy5jYWxsKHRoaXMpfTsKXy5rLnZhbHVlcz1mdW5jdGlvbigpe3ZhciBhPUFycmF5LmZyb20oSWkucHJvdG90eXBlLmtleXMuY2FsbCh0aGlzKSk7cmV0dXJuIG5ldyBGaShhLF8ubGkucHJvdG90eXBlLmdldCx0aGlzKX07Xy5rLmZvckVhY2g9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzO0lpLnByb3RvdHlwZS5mb3JFYWNoLmNhbGwodGhpcyxmdW5jdGlvbihkLGUpe2EuY2FsbChiLGMuZ2V0KGUpLGUsYyl9KX07Xy5rLnNldD1mdW5jdGlvbihhLGIpe0ppKHRoaXMpO2E9dGhpcy5xYyhhLCEwLCExKTtyZXR1cm4gbnVsbD09YT90aGlzOm51bGw9PWI/KElpLnByb3RvdHlwZS5kZWxldGUuY2FsbCh0aGlzLGEpLHRoaXMpOklpLnByb3RvdHlwZS5zZXQuY2FsbCh0aGlzLGEsdGhpcy5QZShiLCEwLCEwLHRoaXMuRGQsITEsdGhpcy5lYykpfTtfLmsuaGFzPWZ1bmN0aW9uKGEpe3JldHVybiBJaS5wcm90b3R5cGUuaGFzLmNhbGwodGhpcyx0aGlzLnFjKGEsITEsITEpKX07Cl8uay5nZXQ9ZnVuY3Rpb24oYSl7YT10aGlzLnFjKGEsITEsITEpO3ZhciBiPUlpLnByb3RvdHlwZS5nZXQuY2FsbCh0aGlzLGEpO2lmKHZvaWQgMCE9PWIpe3ZhciBjPXRoaXMuRGQ7cmV0dXJuIGM/KGM9dGhpcy5QZShiLCExLCEwLGMsdGhpcy5Tayx0aGlzLmVjKSxjIT09YiYmSWkucHJvdG90eXBlLnNldC5jYWxsKHRoaXMsYSxjKSxjKTpifX07Xy5saS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVudHJpZXMoKX07Xy5saS5wcm90b3R5cGUudG9KU09OPXZvaWQgMDtfLmxpLnByb3RvdHlwZS56aT1fLkJpO18uTGk9dmk/c3RydWN0dXJlZENsb25lOmZ1bmN0aW9uKGEpe3JldHVybiBfLmdpKGEsXy5paSx2b2lkIDAsdm9pZCAwLCExLCExKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBPaSxRaSxTaSxUaSxVaSxWaSxXaSxjaixlaixkaixmaixzaix2aix3aiwkaTtfLk5pPWZ1bmN0aW9uKGEpe2lmKCFfLnVpKXJldHVybiBfLk1pKGEpO2Zvcih2YXIgYj0iIixjPTAsZD1hLmxlbmd0aC0xMDI0MDtjPGQ7KWIrPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxhLnN1YmFycmF5KGMsYys9MTAyNDApKTtiKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYz9hLnN1YmFycmF5KGMpOmEpO3JldHVybiBidG9hKGIpfTtPaT1mdW5jdGlvbihhKXt2YXIgYj0oMCxfLlpoKShhKTsxIT09KGImMSkmJihPYmplY3QuaXNGcm96ZW4oYSkmJihhPV8uU2goYSkpLCgwLF8uJGgpKGEsYnwxKSl9O18uUGk9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBjP2F8YjphJn5ifTtRaT1mdW5jdGlvbigpe3ZhciBhPVtdOygwLF8uVWgpKGEsMSk7cmV0dXJuIGF9O18uUmk9ZnVuY3Rpb24oYSl7KDAsXy5VaCkoYSwzMik7cmV0dXJuIGF9OwpTaT1mdW5jdGlvbihhLGIpeygwLF8uJGgpKGIsKGF8MCkmLTE0NTkxKX07VGk9ZnVuY3Rpb24oYSxiKXsoMCxfLiRoKShiLChhfDM0KSYtMTQ1NTcpfTtVaT1mdW5jdGlvbihhKXthPWE+PjE0JjEwMjM7cmV0dXJuIDA9PT1hPzUzNjg3MDkxMjphfTtWaT1mdW5jdGlvbihhKXtyZXR1cm4hKCFhfHwib2JqZWN0IiE9PXR5cGVvZiBhfHxhLnppIT09Xy5CaSl9O1dpPWZ1bmN0aW9uKGEsYixjKXtpZighQXJyYXkuaXNBcnJheShhKXx8YS5sZW5ndGgpcmV0dXJuITE7dmFyIGQ9KDAsXy5aaCkoYSk7aWYoZCYxKXJldHVybiEwO2lmKCEoYiYmKEFycmF5LmlzQXJyYXkoYik/Yi5pbmNsdWRlcyhjKTpiLmhhcyhjKSkpKXJldHVybiExOygwLF8uJGgpKGEsZHwxKTtyZXR1cm4hMH07Xy5YaT1mdW5jdGlvbihhKXtpZihhJjIpdGhyb3cgRXJyb3IoKTt9O18uWWk9ZnVuY3Rpb24oYSl7aWYoImJvb2xlYW4iIT09dHlwZW9mIGEpdGhyb3cgRXJyb3IoImhhYCIrXy5FYihhKSsiYCIrYSk7cmV0dXJuIGF9OwpfLlppPWZ1bmN0aW9uKGEpe3JldHVybiBudWxsPT1hfHwic3RyaW5nIj09PXR5cGVvZiBhP2E6dm9pZCAwfTtfLmFqPWZ1bmN0aW9uKGEsYil7JGk9YjthPW5ldyBhKGIpOyRpPXZvaWQgMDtyZXR1cm4gYX07Cl8uSj1mdW5jdGlvbihhLGIsYyl7bnVsbD09YSYmKGE9JGkpOyRpPXZvaWQgMDtpZihudWxsPT1hKXt2YXIgZD05NjtjPyhhPVtjXSxkfD01MTIpOmE9W107YiYmKGQ9ZCYtMTY3NjA4MzN8KGImMTAyMyk8PDE0KX1lbHNle2lmKCFBcnJheS5pc0FycmF5KGEpKXRocm93IEVycm9yKCk7ZD0oMCxfLlpoKShhKTtpZihkJjY0KXJldHVybiBhO2R8PTY0O2lmKGMmJihkfD01MTIsYyE9PWFbMF0pKXRocm93IEVycm9yKCk7YTp7Yz1hO3ZhciBlPWMubGVuZ3RoO2lmKGUpe3ZhciBmPWUtMTtpZihfLldoKGNbZl0pKXtkfD0yNTY7Yj1mLSgrISEoZCY1MTIpLTEpO2lmKDEwMjQ8PWIpdGhyb3cgRXJyb3IoKTtkPWQmLTE2NzYwODMzfChiJjEwMjMpPDwxNDticmVhayBhfX1pZihiKXtiPU1hdGgubWF4KGIsZS0oKyEhKGQmNTEyKS0xKSk7aWYoMTAyNDxiKXRocm93IEVycm9yKCk7ZD1kJi0xNjc2MDgzM3woYiYxMDIzKTw8MTR9fX0oMCxfLiRoKShhLGQpO3JldHVybiBhfTsKXy5iaj1mdW5jdGlvbihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgIm51bWJlciI6cmV0dXJuIGlzRmluaXRlKGEpP2E6U3RyaW5nKGEpO2Nhc2UgImJvb2xlYW4iOnJldHVybiBhPzE6MDtjYXNlICJvYmplY3QiOmlmKGEpe2lmKEFycmF5LmlzQXJyYXkoYSkpcmV0dXJuIF8uQ2l8fCFXaShhLHZvaWQgMCw5OTk5KT9hOnZvaWQgMDtpZihfLlJoKGEpKXJldHVybiBfLk5pKGEpO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBfLmtpJiZhIGluc3RhbmNlb2YgXy5raSlyZXR1cm4gYS5nKCk7aWYoYSBpbnN0YW5jZW9mIF8ubGkpcmV0dXJuIGE9Xy5taShhKSxfLndpfHwwIT09YS5sZW5ndGg/YTp2b2lkIDB9fXJldHVybiBhfTtjaj1mdW5jdGlvbihhLGIsYyl7YT1fLlNoKGEpO3ZhciBkPWEubGVuZ3RoLGU9YiYyNTY/YVtkLTFdOnZvaWQgMDtkKz1lPy0xOjA7Zm9yKGI9YiY1MTI/MTowO2I8ZDtiKyspYVtiXT1jKGFbYl0pO2lmKGUpe2I9YVtiXT17fTtmb3IodmFyIGYgaW4gZSliW2ZdPWMoZVtmXSl9cmV0dXJuIGF9Owplaj1mdW5jdGlvbihhKXtyZXR1cm4gXy5oaShhLGRqLHZvaWQgMCx2b2lkIDAsITEsITEpfTtkaj1mdW5jdGlvbihhKXtyZXR1cm4gYS5sZD09PV8uWGg/YS50b0pTT04oKTphIGluc3RhbmNlb2YgXy5saT9fLm1pKGEsZWopOl8uYmooYSl9Owpmaj1mdW5jdGlvbihhLGIsYyl7Yz12b2lkIDA9PT1jP1RpOmM7aWYobnVsbCE9YSl7aWYoXy5RaCYmYSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpcmV0dXJuIGI/YTpuZXcgVWludDhBcnJheShhKTtpZihBcnJheS5pc0FycmF5KGEpKXt2YXIgZD0oMCxfLlpoKShhKTtpZihkJjIpcmV0dXJuIGE7YiYmKGI9MD09PWR8fCEhKGQmMzIpJiYhKGQmNjR8fCEoZCYxNikpKTtyZXR1cm4gYj8oMCxfLiRoKShhLChkfDM0KSYtMTIyOTMpOl8uZ2koYSxmaixkJjQ/VGk6YywhMCwhMSwhMCl9YS5sZD09PV8uWGg/KGM9YS5MLGQ9KDAsXy5BaSkoYyksYT1kJjI/YTpfLmFqKGEuY29uc3RydWN0b3IsXy5naihjLGQsITApKSk6YSBpbnN0YW5jZW9mIF8ubGkmJiEoYS5lYyYyKSYmKGM9Xy5WaChfLktpKGEsZmopKSxhPW5ldyBfLmxpKGMsYS5EZCxhLnFjLGEuUGUpKTtyZXR1cm4gYX19OwpfLmdqPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1jfHxiJjI/VGk6U2ksZT0hIShiJjMyKTthPWNqKGEsYixmdW5jdGlvbihmKXtyZXR1cm4gZmooZixlLGQpfSk7KDAsXy5VaCkoYSwzMnwoYz8yOjApKTtyZXR1cm4gYX07Xy5oaj1mdW5jdGlvbihhKXt2YXIgYj1hLkwsYz0oMCxfLkFpKShiKTtyZXR1cm4gYyYyP18uYWooYS5jb25zdHJ1Y3RvcixfLmdqKGIsYywhMSkpOmF9O18uaWo9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1VaShiKTtpZihjPj1mfHxlKXt2YXIgZz1iO2lmKGImMjU2KWU9YVthLmxlbmd0aC0xXTtlbHNle2lmKG51bGw9PWQpcmV0dXJuIGc7ZT1hW2YrKCshIShiJjUxMiktMSldPXt9O2d8PTI1Nn1lW2NdPWQ7YzxmJiYoYVtjKygrISEoYiY1MTIpLTEpXT12b2lkIDApO2chPT1iJiYoMCxfLiRoKShhLGcpO3JldHVybiBnfWFbYysoKyEhKGImNTEyKS0xKV09ZDtiJjI1NiYmKGE9YVthLmxlbmd0aC0xXSxjIGluIGEmJmRlbGV0ZSBhW2NdKTtyZXR1cm4gYn07Cl8ua2o9ZnVuY3Rpb24oYSxiLGMsZCl7YT1hLkw7dmFyIGU9KDAsXy5BaSkoYSksZj1fLmpqKGEsZSxjLGQpO2I9Xy5haShmLGIsITEsZSk7YiE9PWYmJm51bGwhPWImJl8uaWooYSxlLGMsYixkKTtyZXR1cm4gYn07Xy5saj1mdW5jdGlvbihhLGIsYyxkKXthPV8uamooYSxiLGMsZCk7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/YTpfLkRpfTtfLm1qPWZ1bmN0aW9uKGEsYixjKXthPV8uUGkoYSwyLCEhKDImYikpO2E9Xy5QaShhLDMyLCEhKDMyJmIpJiZjKTtyZXR1cm4gYT1fLlBpKGEsMjA0OCwhMSl9O18ubmo9ZnVuY3Rpb24oYSxiLGMpezA9PT1hJiYoYT1fLm1qKGEsYixjKSk7cmV0dXJuIGE9Xy5QaShhLDEsITApfTtfLm9qPWZ1bmN0aW9uKGEpe3JldHVybiEhKDImYSkmJiEhKDQmYSl8fCEhKDIwNDgmYSl9OwpfLnBqPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEuTCxmPSgwLF8uQWkpKGUpO18uWGkoZik7Xy5paihlLGYsYiwoIjAiPT09ZD8wPT09TnVtYmVyKGMpOmM9PT1kKT92b2lkIDA6Yyk7cmV0dXJuIGF9OwpfLnFqPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcpe3ZhciBoPSEhKDImYiksbD1oPzE6MixtPTE9PT1sO2w9Mj09PWw7Zj0hIWY7ZyYmKGc9IWgpO2g9Xy5saihhLGIsZCxlKTt2YXIgbj0oMCxfLlpoKShoKSxxPSEhKDQmbik7aWYoIXEpe249Xy5uaihuLGIsZik7dmFyIHI9aCxwPWIseDsoeD0hISgyJm4pKSYmKHA9Xy5QaShwLDIsITApKTtmb3IodmFyIEM9IXgsUz0hMCxRPTAsVT0wO1E8ci5sZW5ndGg7USsrKXt2YXIgSGE9Xy5haShyW1FdLGMsITEscCk7aWYoSGEgaW5zdGFuY2VvZiBjKXtpZigheCl7dmFyIFZnPSEhKCgwLF8uWmgpKEhhLkwpJjIpO0MmJihDPSFWZyk7UyYmKFM9VmcpfXJbVSsrXT1IYX19VTxRJiYoci5sZW5ndGg9VSk7bj1fLlBpKG4sNCwhMCk7bj1fLlBpKG4sMTYsUyk7bj1fLlBpKG4sOCxDKTsoMCxfLiRoKShyLG4pO3gmJk9iamVjdC5mcmVlemUocil9Yz0hISg4Jm4pfHxtJiYhaC5sZW5ndGg7aWYoZyYmIWMpe18ub2oobikmJihoPV8uU2goaCksbj1fLm1qKG4sCmIsZiksYj1fLmlqKGEsYixkLGgsZSkpO2c9aDtjPW47Zm9yKHI9MDtyPGcubGVuZ3RoO3IrKyluPWdbcl0scD1fLmhqKG4pLG4hPT1wJiYoZ1tyXT1wKTtjPV8uUGkoYyw4LCEwKTtjPV8uUGkoYywxNiwhZy5sZW5ndGgpOygwLF8uJGgpKGcsYyk7bj1jfV8ub2oobil8fChnPW4sbT9uPV8uUGkobiwhaC5sZW5ndGh8fDE2Jm4mJighcXx8MzImbik/MjoyMDQ4LCEwKTpmfHwobj1fLlBpKG4sMzIsITEpKSxuIT09ZyYmKDAsXy4kaCkoaCxuKSxtJiZPYmplY3QuZnJlZXplKGgpKTtsJiZfLm9qKG4pJiYoaD1fLlNoKGgpLG49Xy5taihuLGIsZiksKDAsXy4kaCkoaCxuKSxfLmlqKGEsYixkLGgsZSkpO3JldHVybiBofTtfLnJqPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG51bGwhPWE/YTpifTsKc2o9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuY29uc3RydWN0b3IuRmEsZT0oMCxfLkFpKShjP2EuTDpiKSxmPVVpKGUpLGc9ITE7aWYoZCYmXy5DaSl7aWYoIWMpe2I9Xy5TaChiKTt2YXIgaDtpZihiLmxlbmd0aCYmXy5XaChoPWJbYi5sZW5ndGgtMV0pKWZvcihnPTA7ZzxkLmxlbmd0aDtnKyspaWYoZFtnXT49Zil7T2JqZWN0LmFzc2lnbihiW2IubGVuZ3RoLTFdPXt9LGgpO2JyZWFrfWc9ITB9Zj1iO2M9IWM7aD0oMCxfLkFpKShhLkwpO2E9VWkoaCk7aD0rISEoaCY1MTIpLTE7Zm9yKHZhciBsLG0sbj0wO248ZC5sZW5ndGg7bisrKWlmKG09ZFtuXSxtPGEpe20rPWg7dmFyIHE9ZlttXTtudWxsPT1xP2ZbbV09Yz9fLkRpOlFpKCk6YyYmcSE9PV8uRGkmJk9pKHEpfWVsc2UgbHx8KHE9dm9pZCAwLGYubGVuZ3RoJiZfLldoKHE9ZltmLmxlbmd0aC0xXSk/bD1xOmYucHVzaChsPXt9KSkscT1sW21dLG51bGw9PWxbbV0/bFttXT1jP18uRGk6UWkoKTpjJiZxIT09Xy5EaSYmT2kocSl9bD0KYi5sZW5ndGg7aWYoIWwpcmV0dXJuIGI7dmFyIHI7aWYoXy5XaChmPWJbbC0xXSkpe2E6e3ZhciBwPWY7Yz17fTthPSExO2Zvcih2YXIgeCBpbiBwKXtoPXBbeF07aWYoQXJyYXkuaXNBcnJheShoKSl7bj1oO2lmKCFfLnhpJiZXaShoLGQsK3gpfHwhXy53aSYmVmkoaCkmJjA9PT1oLnNpemUpaD1udWxsO2ghPW4mJihhPSEwKX1udWxsIT1oP2NbeF09aDphPSEwfWlmKGEpe2Zvcih2YXIgQyBpbiBjKXtwPWM7YnJlYWsgYX1wPW51bGx9fXAhPWYmJihyPSEwKTtsLS19Zm9yKGU9KyEhKGUmNTEyKS0xOzA8bDtsLS0pe3g9bC0xO2Y9Ylt4XTtpZighKG51bGw9PWZ8fCFfLnhpJiZXaShmLGQseC1lKXx8IV8ud2kmJlZpKGYpJiYwPT09Zi5zaXplKSlicmVhazt2YXIgUz0hMH1pZighciYmIVMpcmV0dXJuIGI7dmFyIFE7Zz9RPWI6UT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChiLDAsbCk7Yj1RO2cmJihiLmxlbmd0aD1sKTtwJiZiLnB1c2gocCk7cmV0dXJuIGJ9OwpfLnRqPWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbihiKXtiPUpTT04ucGFyc2UoYik7aWYoIUFycmF5LmlzQXJyYXkoYikpdGhyb3cgRXJyb3IoImphYCIrXy5FYihiKSsiYCIrYik7Xy5WaChiKTtyZXR1cm4gbmV3IGEoYil9fTtfLnVqPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcpe3ZhciBoPW5ldyBfLiRnO18uY2gucHVzaChoKTtiJiZoLkkoImNvbXBsZXRlIixiKTtoLnFiKCJyZWFkeSIsaC5UKTtmJiYoaC5vPU1hdGgubWF4KDAsZikpO2cmJihoLkY9Zyk7aC5zZW5kKGEsYyxkLGUpfTt2aj17fTt3aj1udWxsOwpfLk1pPWZ1bmN0aW9uKGEsYil7dm9pZCAwPT09YiYmKGI9MCk7aWYoIXdqKXt3aj17fTtmb3IodmFyIGM9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ii5zcGxpdCgiIiksZD1bIisvPSIsIisvIiwiLV89IiwiLV8uIiwiLV8iXSxlPTA7NT5lO2UrKyl7dmFyIGY9Yy5jb25jYXQoZFtlXS5zcGxpdCgiIikpO3ZqW2VdPWY7Zm9yKHZhciBnPTA7ZzxmLmxlbmd0aDtnKyspe3ZhciBoPWZbZ107dm9pZCAwPT09d2pbaF0mJih3altoXT1nKX19fWI9dmpbYl07Yz1BcnJheShNYXRoLmZsb29yKGEubGVuZ3RoLzMpKTtkPWJbNjRdfHwiIjtmb3IoZT1mPTA7ZjxhLmxlbmd0aC0yO2YrPTMpe3ZhciBsPWFbZl0sbT1hW2YrMV07aD1hW2YrMl07Zz1iW2w+PjJdO2w9YlsobCYzKTw8NHxtPj40XTttPWJbKG0mMTUpPDwyfGg+PjZdO2g9YltoJjYzXTtjW2UrK109ZytsK20raH1nPTA7aD1kO3N3aXRjaChhLmxlbmd0aC1mKXtjYXNlIDI6Zz0KYVtmKzFdLGg9YlsoZyYxNSk8PDJdfHxkO2Nhc2UgMTphPWFbZl0sY1tlXT1iW2E+PjJdK2JbKGEmMyk8PDR8Zz4+NF0raCtkfXJldHVybiBjLmpvaW4oIiIpfTtfLmpqPWZ1bmN0aW9uKGEsYixjLGQpe2lmKC0xPT09YylyZXR1cm4gbnVsbDtpZihjPj1VaShiKSl7aWYoYiYyNTYpcmV0dXJuIGFbYS5sZW5ndGgtMV1bY119ZWxzZXt2YXIgZT1hLmxlbmd0aDtpZihkJiZiJjI1NiYmKGQ9YVtlLTFdW2NdLG51bGwhPWQpKXJldHVybiBkO2I9YysoKyEhKGImNTEyKS0xKTtpZihiPGUpcmV0dXJuIGFbYl19fTtfLnlqPWZ1bmN0aW9uKGEsYil7YT1hLkw7cmV0dXJuIF8uamooYSwoMCxfLkFpKShhKSxiKX07Xy56aj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5MLGU9KDAsXy5BaSkoZCk7Xy5YaShlKTtfLmlqKGQsZSxiLGMpO3JldHVybiBhfTsKXy5Baj1mdW5jdGlvbihhLGIsYyxkKXtkPXZvaWQgMD09PWQ/ITE6ZDtiPV8ua2ooYSxiLGMsZCk7aWYobnVsbD09YilyZXR1cm4gYjthPWEuTDt2YXIgZT0oMCxfLkFpKShhKTtpZighKGUmMikpe3ZhciBmPV8uaGooYik7ZiE9PWImJihiPWYsXy5paihhLGUsYyxiLGQpKX1yZXR1cm4gYn07Xy5Caj1mdW5jdGlvbihhLGIsYyl7YT1hLkw7dmFyIGQ9KDAsXy5BaSkoYSk7cmV0dXJuIF8ucWooYSxkLGIsYyx2b2lkIDAsITEsISgyJmQpKX07Xy5LPWZ1bmN0aW9uKGEsYixjKXtudWxsPT1jJiYoYz12b2lkIDApO3JldHVybiBfLnpqKGEsYixjKX07Xy5Daj1mdW5jdGlvbihhLGIpe3JldHVybiBfLnJqKF8uWmkoXy55aihhLGIpKSwiIil9O18uRGo9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLnBqKGEsYixudWxsPT1jP2M6Xy5ZaShjKSwhMSl9OwpfLkVqPWZ1bmN0aW9uKGEsYil7aWYobnVsbD09Ynx8IiI9PWIpcmV0dXJuIG5ldyBhO2I9SlNPTi5wYXJzZShiKTtpZighQXJyYXkuaXNBcnJheShiKSl0aHJvdyBFcnJvcih2b2lkIDApO3JldHVybiBfLmFqKGEsXy5SaShiKSl9O18uTD1mdW5jdGlvbihhLGIsYyl7dGhpcy5MPV8uSihhLGIsYyl9O18uaz1fLkwucHJvdG90eXBlO18uay50b0pTT049ZnVuY3Rpb24oKXtpZihfLnhqKXZhciBhPXNqKHRoaXMsdGhpcy5MLCExKTtlbHNlIGE9Xy5naSh0aGlzLkwsZGosdm9pZCAwLHZvaWQgMCwhMSwhMSksYT1zaih0aGlzLGEsITApO3JldHVybiBhfTtfLmsuZWo9ZnVuY3Rpb24oKXtyZXR1cm4gc2oodGhpcyxfLmdpKHRoaXMuTCxfLmlpLHZvaWQgMCx2b2lkIDAsITEsITEpLCEwKX07Xy5rLmRqPWZ1bmN0aW9uKCl7cmV0dXJuIF8uaGoodGhpcyl9O18uay5sZD1fLlhoO18uay50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiBzaih0aGlzLHRoaXMuTCwhMSkudG9TdHJpbmcoKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBOaixPaixTaixUaixQaixRaixWajtOaj1mdW5jdGlvbigpe3JldHVybiJmdW5jdGlvbiI9PT10eXBlb2YgQmlnSW50fTtPaj1mdW5jdGlvbihhLGIpe2I9fmI7YT9hPX5hKzE6Yis9MTtyZXR1cm5bYSxiXX07Xy5Saj1mdW5jdGlvbihhKXt2YXIgYj0wPmE7YT1NYXRoLmFicyhhKTt2YXIgYz1hPj4+MDthPU1hdGguZmxvb3IoKGEtYykvNDI5NDk2NzI5Nik7YiYmKGM9Xy55KE9qKGMsYSkpLGI9Yy5uZXh0KCkudmFsdWUsYT1jLm5leHQoKS52YWx1ZSxjPWIpO1BqPWM+Pj4wO1FqPWE+Pj4wfTtTaj1mdW5jdGlvbihhKXthPVN0cmluZyhhKTtyZXR1cm4iMDAwMDAwMCIuc2xpY2UoYS5sZW5ndGgpK2F9OwpUaj1mdW5jdGlvbihhLGIpe2I+Pj49MDthPj4+PTA7aWYoMjA5NzE1MT49Yil2YXIgYz0iIisoNDI5NDk2NzI5NipiK2EpO2Vsc2UgTmooKT9jPSIiKyhCaWdJbnQoYik8PEJpZ0ludCgzMil8QmlnSW50KGEpKTooYz0oYT4+PjI0fGI8PDgpJjE2Nzc3MjE1LGI9Yj4+MTYmNjU1MzUsYT0oYSYxNjc3NzIxNSkrNjc3NzIxNipjKzY3MTA2NTYqYixjKz04MTQ3NDk3KmIsYio9MiwxRTc8PWEmJihjKz1NYXRoLmZsb29yKGEvMUU3KSxhJT0xRTcpLDFFNzw9YyYmKGIrPU1hdGguZmxvb3IoYy8xRTcpLGMlPTFFNyksYz1iK1NqKGMpK1NqKGEpKTtyZXR1cm4gY307Xy5Vaj1mdW5jdGlvbigpe3ZhciBhPVBqLGI9UWo7YiYyMTQ3NDgzNjQ4P05qKCk/YT0iIisoQmlnSW50KGJ8MCk8PEJpZ0ludCgzMil8QmlnSW50KGE+Pj4wKSk6KGI9Xy55KE9qKGEsYikpLGE9Yi5uZXh0KCkudmFsdWUsYj1iLm5leHQoKS52YWx1ZSxhPSItIitUaihhLGIpKTphPVRqKGEsYik7cmV0dXJuIGF9OwpfLldqPWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBhO3JldHVybiJudW1iZXIiPT09Yj9OdW1iZXIuaXNGaW5pdGUoYSk6InN0cmluZyIhPT1iPyExOlZqLnRlc3QoYSl9O18uWGo9ZnVuY3Rpb24oYSl7aWYobnVsbD09YSlyZXR1cm4gYTtpZigic3RyaW5nIj09PXR5cGVvZiBhKXtpZighYSlyZXR1cm47YT0rYX1pZigibnVtYmVyIj09PXR5cGVvZiBhKXJldHVybiBOdW1iZXIuaXNGaW5pdGUoYSk/YXwwOnZvaWQgMH07Xy5Zaj1mdW5jdGlvbihhKXtyZXR1cm4iLSI9PT1hWzBdPzIwPmEubGVuZ3RoPyEwOjIwPT09YS5sZW5ndGgmJi05MjIzMzc8TnVtYmVyKGEuc3Vic3RyaW5nKDAsNykpOjE5PmEubGVuZ3RoPyEwOjE5PT09YS5sZW5ndGgmJjkyMjMzNz5OdW1iZXIoYS5zdWJzdHJpbmcoMCw2KSl9OwpfLlpqPWZ1bmN0aW9uKGEpe3ZhciBiPU1hdGgudHJ1bmMoTnVtYmVyKGEpKTtpZihOdW1iZXIuaXNTYWZlSW50ZWdlcihiKSlyZXR1cm4gU3RyaW5nKGIpO2I9YS5pbmRleE9mKCIuIik7LTEhPT1iJiYoYT1hLnN1YnN0cmluZygwLGIpKTtpZighXy5ZaihhKSl7aWYoMTY+YS5sZW5ndGgpXy5SaihOdW1iZXIoYSkpO2Vsc2UgaWYoTmooKSlhPUJpZ0ludChhKSxQaj1OdW1iZXIoYSZCaWdJbnQoNDI5NDk2NzI5NSkpPj4+MCxRaj1OdW1iZXIoYT4+QmlnSW50KDMyKSZCaWdJbnQoNDI5NDk2NzI5NSkpO2Vsc2V7Yj0rKCItIj09PWFbMF0pO1FqPVBqPTA7Zm9yKHZhciBjPWEubGVuZ3RoLGQ9YixlPShjLWIpJTYrYjtlPD1jO2Q9ZSxlKz02KWQ9TnVtYmVyKGEuc2xpY2UoZCxlKSksUWoqPTFFNixQaj0xRTYqUGorZCw0Mjk0OTY3Mjk2PD1QaiYmKFFqKz1NYXRoLnRydW5jKFBqLzQyOTQ5NjcyOTYpLFFqPj4+PTAsUGo+Pj49MCk7YiYmKGI9Xy55KE9qKFBqLFFqKSksYT1iLm5leHQoKS52YWx1ZSwKYj1iLm5leHQoKS52YWx1ZSxQaj1hLFFqPWIpfWE9Xy5VaigpfXJldHVybiBhfTtfLmFrPWZ1bmN0aW9uKGEpe2E9TWF0aC50cnVuYyhhKTtpZighTnVtYmVyLmlzU2FmZUludGVnZXIoYSkpe18uUmooYSk7dmFyIGI9UGosYz1RajtpZihhPWMmMjE0NzQ4MzY0OCliPX5iKzE+Pj4wLGM9fmM+Pj4wLDA9PWImJihjPWMrMT4+PjApO2I9NDI5NDk2NzI5NipjKyhiPj4+MCk7YT1hPy1iOmJ9cmV0dXJuIGF9O18uYms9ZnVuY3Rpb24oYSxiKXtiPV8uSmIoXy5jYSxiKTthLnFhP2IoKTooYS5iYXx8KGEuYmE9W10pLGEuYmEucHVzaChiKSl9O1BqPTA7UWo9MDtWaj0vXi0/KFsxLTldWzAtOV0qfDApKFwuWzAtOV0rKT8kLztfLmNrPWZ1bmN0aW9uKGEsYil7YT1fLnlqKGEsYik7dmFyIGM7bnVsbD09YT9jPWE6Xy5XaihhKT8ibnVtYmVyIj09PXR5cGVvZiBhP2M9Xy5hayhhKTpjPV8uWmooYSk6Yz12b2lkIDA7cmV0dXJuIGN9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgZWwsZmwsZ2wsaGwsamwscGwscmwseWwsQWwsbmwsb2wsQ2wsRWwsSWw7ZWw9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5iaihiKX07Zmw9ZnVuY3Rpb24oYSl7dmFyIGI9YS5MO3JldHVybiBfLmFqKGEuY29uc3RydWN0b3IsXy5naihiLCgwLF8uQWkpKGIpLCExKSl9O2dsPWZ1bmN0aW9uKGEpe2E9RXJyb3IoYSk7YS5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODJ8fChhLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4Mj17fSk7YS5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODIuc2V2ZXJpdHk9Indhcm5pbmciO3JldHVybiBhfTtobD1mdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YT9hOk51bWJlci5pc0Zpbml0ZShhKT9hfDA6dm9pZCAwfTtfLmlsPWZ1bmN0aW9uKGEpe2lmKCJudW1iZXIiIT09dHlwZW9mIGEpdGhyb3cgZ2woImludDMyIik7aWYoIU51bWJlci5pc0Zpbml0ZShhKSl0aHJvdyBnbCgiaW50MzIiKTtyZXR1cm4gYXwwfTsKamw9ZnVuY3Rpb24oYSl7YT1NYXRoLnRydW5jKGEpO2lmKE51bWJlci5pc1NhZmVJbnRlZ2VyKGEpKWE9U3RyaW5nKGEpO2Vsc2V7dmFyIGI9U3RyaW5nKGEpO18uWWooYik/YT1iOihfLlJqKGEpLGE9Xy5VaigpKX1yZXR1cm4gYX07Xy5rbD1mdW5jdGlvbihhKXtpZihudWxsIT1hKXt2YXIgYj0hIWI7aWYoIV8uV2ooYSkpdGhyb3cgZ2woImludDY0Iik7YT0ic3RyaW5nIj09PXR5cGVvZiBhP18uWmooYSk6Yj9qbChhKTpfLmFrKGEpfXJldHVybiBhfTtfLmxsPWZ1bmN0aW9uKGEpe2lmKG51bGwhPWEmJiJzdHJpbmciIT09dHlwZW9mIGEpdGhyb3cgRXJyb3IoKTtyZXR1cm4gYX07Cl8ubWw9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9YS5MLGY9KDAsXy5BaSkoZSk7Xy5YaShmKTtpZihudWxsPT1jKXJldHVybiBfLmlqKGUsZixiKSxhO3ZhciBnPSgwLF8uWmgpKGMpLGg9ZyxsPSEhKDImZyl8fE9iamVjdC5pc0Zyb3plbihjKSxtPSFsJiYhMTtpZighKDQmZykpZm9yKGc9MjEsbCYmKGM9Xy5TaChjKSxoPTAsZz1fLm1qKGcsZiwhMCkpLGw9MDtsPGMubGVuZ3RoO2wrKyljW2xdPWQoY1tsXSk7bSYmKGM9Xy5TaChjKSxoPTAsZz1fLm1qKGcsZiwhMCkpO2chPT1oJiYoMCxfLiRoKShjLGcpO18uaWooZSxmLGIsYyk7cmV0dXJuIGF9OwpwbD1mdW5jdGlvbihhKXtpZihudWxsPT1hKXRocm93IEVycm9yKCk7aWYoInN0cmluZyI9PT10eXBlb2YgYSlhPWE/bmV3IF8ua2koYSxubCk6b2x8fChvbD1uZXcgXy5raShudWxsLG5sKSk7ZWxzZSBpZihhLmNvbnN0cnVjdG9yIT09Xy5raSlpZihfLlJoKGEpKWE9YS5sZW5ndGg/bmV3IF8ua2kobmV3IFVpbnQ4QXJyYXkoYSksbmwpOm9sfHwob2w9bmV3IF8ua2kobnVsbCxubCkpO2Vsc2UgdGhyb3cgRXJyb3IoKTtyZXR1cm4gYX07Xy5xbD1mdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oYil7cmV0dXJuIF8uRWooYSxiKX19OwpybD1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoKXtlWzBdPTE3MzI1ODQxOTM7ZVsxXT00MDIzMjMzNDE3O2VbMl09MjU2MjM4MzEwMjtlWzNdPTI3MTczMzg3ODtlWzRdPTMyODUzNzc1MjA7bj1tPTB9ZnVuY3Rpb24gYihxKXtmb3IodmFyIHI9ZyxwPTA7NjQ+cDtwKz00KXJbcC80XT1xW3BdPDwyNHxxW3ArMV08PDE2fHFbcCsyXTw8OHxxW3ArM107Zm9yKHA9MTY7ODA+cDtwKyspcT1yW3AtM11ecltwLThdXnJbcC0xNF1ecltwLTE2XSxyW3BdPShxPDwxfHE+Pj4zMSkmNDI5NDk2NzI5NTtxPWVbMF07dmFyIHg9ZVsxXSxDPWVbMl0sUz1lWzNdLFE9ZVs0XTtmb3IocD0wOzgwPnA7cCsrKXtpZig0MD5wKWlmKDIwPnApe3ZhciBVPVNeeCYoQ15TKTt2YXIgSGE9MTUxODUwMDI0OX1lbHNlIFU9eF5DXlMsSGE9MTg1OTc3NTM5MztlbHNlIDYwPnA/KFU9eCZDfFMmKHh8QyksSGE9MjQwMDk1OTcwOCk6KFU9eF5DXlMsSGE9MzM5NTQ2OTc4Mik7VT0oKHE8PDV8cT4+PjI3KSY0Mjk0OTY3Mjk1KSsKVStRK0hhK3JbcF0mNDI5NDk2NzI5NTtRPVM7Uz1DO0M9KHg8PDMwfHg+Pj4yKSY0Mjk0OTY3Mjk1O3g9cTtxPVV9ZVswXT1lWzBdK3EmNDI5NDk2NzI5NTtlWzFdPWVbMV0reCY0Mjk0OTY3Mjk1O2VbMl09ZVsyXStDJjQyOTQ5NjcyOTU7ZVszXT1lWzNdK1MmNDI5NDk2NzI5NTtlWzRdPWVbNF0rUSY0Mjk0OTY3Mjk1fWZ1bmN0aW9uIGMocSxyKXtpZigic3RyaW5nIj09PXR5cGVvZiBxKXtxPXVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChxKSk7Zm9yKHZhciBwPVtdLHg9MCxDPXEubGVuZ3RoO3g8QzsrK3gpcC5wdXNoKHEuY2hhckNvZGVBdCh4KSk7cT1wfXJ8fChyPXEubGVuZ3RoKTtwPTA7aWYoMD09bSlmb3IoO3ArNjQ8cjspYihxLnNsaWNlKHAscCs2NCkpLHArPTY0LG4rPTY0O2Zvcig7cDxyOylpZihmW20rK109cVtwKytdLG4rKyw2ND09bSlmb3IobT0wLGIoZik7cCs2NDxyOyliKHEuc2xpY2UocCxwKzY0KSkscCs9NjQsbis9NjR9ZnVuY3Rpb24gZCgpe3ZhciBxPVtdLApyPTgqbjs1Nj5tP2MoaCw1Ni1tKTpjKGgsNjQtKG0tNTYpKTtmb3IodmFyIHA9NjM7NTY8PXA7cC0tKWZbcF09ciYyNTUscj4+Pj04O2IoZik7Zm9yKHA9cj0wOzU+cDtwKyspZm9yKHZhciB4PTI0OzA8PXg7eC09OClxW3IrK109ZVtwXT4+eCYyNTU7cmV0dXJuIHF9Zm9yKHZhciBlPVtdLGY9W10sZz1bXSxoPVsxMjhdLGw9MTs2ND5sOysrbCloW2xdPTA7dmFyIG0sbjthKCk7cmV0dXJue3Jlc2V0OmEsdXBkYXRlOmMsZGlnZXN0OmQsb2g6ZnVuY3Rpb24oKXtmb3IodmFyIHE9ZCgpLHI9IiIscD0wO3A8cS5sZW5ndGg7cCsrKXIrPSIwMTIzNDU2Nzg5QUJDREVGIi5jaGFyQXQoTWF0aC5mbG9vcihxW3BdLzE2KSkrIjAxMjM0NTY3ODlBQkNERUYiLmNoYXJBdChxW3BdJTE2KTtyZXR1cm4gcn19fTsKeWw9ZnVuY3Rpb24oYSxiKXtiPXZvaWQgMD09PWI/c2w6YjtpZighdGwpe3ZhciBjO2E9bnVsbD09KGM9YS5uYXZpZ2F0b3IpP3ZvaWQgMDpjLnVzZXJBZ2VudERhdGE7aWYoIWF8fCJmdW5jdGlvbiIhPT10eXBlb2YgYS5nZXRIaWdoRW50cm9weVZhbHVlcylyZXR1cm4gUHJvbWlzZS5yZWplY3QoRXJyb3IoIkJhIikpO2M9KGEuYnJhbmRzfHxbXSkubWFwKGZ1bmN0aW9uKGQpe3ZhciBlPW5ldyB1bDtlPV8uTihlLDEsZC5icmFuZCk7cmV0dXJuIF8uTihlLDIsZC52ZXJzaW9uKX0pO3ZsKF8ud2woeGwsMixhLm1vYmlsZSksYyk7dGw9YS5nZXRIaWdoRW50cm9weVZhbHVlcyhiKX1yZXR1cm4gdGwudGhlbihmdW5jdGlvbihkKXt2YXIgZT1mbCh4bCk7Yi5pbmNsdWRlcygicGxhdGZvcm0iKSYmXy5OKGUsMyxkLnBsYXRmb3JtKTtiLmluY2x1ZGVzKCJwbGF0Zm9ybVZlcnNpb24iKSYmXy5OKGUsNCxkLnBsYXRmb3JtVmVyc2lvbik7Yi5pbmNsdWRlcygiYXJjaGl0ZWN0dXJlIikmJl8uTihlLAo1LGQuYXJjaGl0ZWN0dXJlKTtiLmluY2x1ZGVzKCJtb2RlbCIpJiZfLk4oZSw2LGQubW9kZWwpO2IuaW5jbHVkZXMoInVhRnVsbFZlcnNpb24iKSYmXy5OKGUsNyxkLnVhRnVsbFZlcnNpb24pO3JldHVybiBlfSkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm4gZmwoeGwpfSl9O18uemw9ZnVuY3Rpb24oYSl7Xy54aj0hMDt0cnl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KGEudG9KU09OKCksZWwpfWZpbmFsbHl7Xy54aj0hMX19O0FsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGErTWF0aC5yYW5kb20oKSooYi1hKX07bmw9e307Xy5raT1mdW5jdGlvbihhLGIpe2lmKGIhPT1ubCl0aHJvdyBFcnJvcigiZmEiKTt0aGlzLmw9YTtpZihudWxsIT1hJiYwPT09YS5sZW5ndGgpdGhyb3cgRXJyb3IoImdhIik7fTtfLmtpLnByb3RvdHlwZS5nPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5sO3JldHVybiBudWxsPT1hPyIiOiJzdHJpbmciPT09dHlwZW9mIGE/YTp0aGlzLmw9Xy5OaShhKX07Cl8ua2kucHJvdG90eXBlLmg9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmx8fCIiO3JldHVybiJzdHJpbmciPT09dHlwZW9mIGE/YTpuZXcgVWludDhBcnJheShhKX07Q2w9ZnVuY3Rpb24oYSl7cmV0dXJuIHZvaWQgMCE9PV8ua2ooYSxCbCwxMSwhMSl9OwpfLkRsPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLkwsZT0oMCxfLkFpKShkKTtfLlhpKGUpO2lmKG51bGw9PWMpcmV0dXJuIF8uaWooZCxlLGIpLGE7Zm9yKHZhciBmPSgwLF8uWmgpKGMpLGc9ZixoPSEhKDImZil8fCEhKDIwNDgmZiksbD1ofHxPYmplY3QuaXNGcm96ZW4oYyksbT0hMCxuPSEwLHE9MDtxPGMubGVuZ3RoO3ErKyl7dmFyIHI9Y1txXTtofHwocj0hISgoMCxfLlpoKShyLkwpJjIpLG0mJihtPSFyKSxuJiYobj1yKSl9aHx8KGY9Xy5QaShmLDUsITApLGY9Xy5QaShmLDgsbSksZj1fLlBpKGYsMTYsbikpO2wmJmYhPT1nJiYoYz1fLlNoKGMpLGc9MCxmPV8ubWooZixlLCEwKSk7ZiE9PWcmJigwLF8uJGgpKGMsZik7Xy5paihkLGUsYixjKTtyZXR1cm4gYX07RWw9ZnVuY3Rpb24oYSl7YT1fLnlqKGEsMSk7dmFyIGI9dm9pZCAwPT09Yj8hMTpiO2I9bnVsbD09YT9hOl8uV2ooYSk/InN0cmluZyI9PT10eXBlb2YgYT9fLlpqKGEpOmI/amwoYSk6Xy5hayhhKTp2b2lkIDA7cmV0dXJuIGJ9OwpfLkZsPWZ1bmN0aW9uKGEsYil7dmFyIGM9MDtjPXZvaWQgMD09PWM/MDpjO3JldHVybiBfLnJqKGhsKF8ueWooYSxiKSksYyl9O18ud2w9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLnpqKGEsYixudWxsPT1jP2M6Xy5ZaShjKSl9O18uR2w9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLnpqKGEsYixudWxsPT1jP2M6Xy5pbChjKSl9O18uTj1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uemooYSxiLF8ubGwoYykpfTtfLkhsPWZ1bmN0aW9uKGEsYixjKXtpZihudWxsIT1jKXtpZighTnVtYmVyLmlzRmluaXRlKGMpKXRocm93IGdsKCJlbnVtIik7Y3w9MH1yZXR1cm4gXy56aihhLGIsYyl9O0lsPWZ1bmN0aW9uKCl7dGhpcy5nPWRvY3VtZW50fHx7Y29va2llOiIifX07Xy5rPUlsLnByb3RvdHlwZTsKXy5rLmlzRW5hYmxlZD1mdW5jdGlvbigpe2lmKCFfLnQubmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQpcmV0dXJuITE7aWYodGhpcy5nLmNvb2tpZSlyZXR1cm4hMDt0aGlzLnNldCgiVEVTVENPT0tJRVNFTkFCTEVEIiwiMSIse1ZmOjYwfSk7aWYoIjEiIT09dGhpcy5nZXQoIlRFU1RDT09LSUVTRU5BQkxFRCIpKXJldHVybiExO3RoaXMucmVtb3ZlKCJURVNUQ09PS0lFU0VOQUJMRUQiKTtyZXR1cm4hMH07Cl8uay5zZXQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSExO2lmKCJvYmplY3QiPT09dHlwZW9mIGMpe3ZhciBlPWMuY207ZD1jLmRtfHwhMTt2YXIgZj1jLmRvbWFpbnx8dm9pZCAwO3ZhciBnPWMucGF0aHx8dm9pZCAwO3ZhciBoPWMuVmZ9aWYoL1s7PVxzXS8udGVzdChhKSl0aHJvdyBFcnJvcigibWFgIithKTtpZigvWztcclxuXS8udGVzdChiKSl0aHJvdyBFcnJvcigibmFgIitiKTt2b2lkIDA9PT1oJiYoaD0tMSk7dGhpcy5nLmNvb2tpZT1hKyI9IitiKyhmPyI7ZG9tYWluPSIrZjoiIikrKGc/IjtwYXRoPSIrZzoiIikrKDA+aD8iIjowPT1oPyI7ZXhwaXJlcz0iKyhuZXcgRGF0ZSgxOTcwLDEsMSkpLnRvVVRDU3RyaW5nKCk6IjtleHBpcmVzPSIrKG5ldyBEYXRlKERhdGUubm93KCkrMUUzKmgpKS50b1VUQ1N0cmluZygpKSsoZD8iO3NlY3VyZSI6IiIpKyhudWxsIT1lPyI7c2FtZXNpdGU9IitlOiIiKX07Cl8uay5nZXQ9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9YSsiPSIsZD0odGhpcy5nLmNvb2tpZXx8IiIpLnNwbGl0KCI7IiksZT0wLGY7ZTxkLmxlbmd0aDtlKyspe2Y9KDAsXy5tYykoZFtlXSk7aWYoMD09Zi5sYXN0SW5kZXhPZihjLDApKXJldHVybiBmLnNsaWNlKGMubGVuZ3RoKTtpZihmPT1hKXJldHVybiIifXJldHVybiBifTtfLmsucmVtb3ZlPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD12b2lkIDAhPT10aGlzLmdldChhKTt0aGlzLnNldChhLCIiLHtWZjowLHBhdGg6Yixkb21haW46Y30pO3JldHVybiBkfTtfLmsuRGI9ZnVuY3Rpb24oKXtyZXR1cm4gSmwodGhpcykua2V5c307Xy5rLkNhPWZ1bmN0aW9uKCl7cmV0dXJuIEpsKHRoaXMpLnZhbHVlc307Xy5rLlZhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZy5jb29raWU/KHRoaXMuZy5jb29raWV8fCIiKS5zcGxpdCgiOyIpLmxlbmd0aDowfTsKXy5rLmpjPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1KbCh0aGlzKS52YWx1ZXMsYz0wO2M8Yi5sZW5ndGg7YysrKWlmKGJbY109PWEpcmV0dXJuITA7cmV0dXJuITF9O18uay5jbGVhcj1mdW5jdGlvbigpe2Zvcih2YXIgYT1KbCh0aGlzKS5rZXlzLGI9YS5sZW5ndGgtMTswPD1iO2ItLSl0aGlzLnJlbW92ZShhW2JdKX07dmFyIEpsPWZ1bmN0aW9uKGEpe2E9KGEuZy5jb29raWV8fCIiKS5zcGxpdCgiOyIpO2Zvcih2YXIgYj1bXSxjPVtdLGQsZSxmPTA7ZjxhLmxlbmd0aDtmKyspZT0oMCxfLm1jKShhW2ZdKSxkPWUuaW5kZXhPZigiPSIpLC0xPT1kPyhiLnB1c2goIiIpLGMucHVzaChlKSk6KGIucHVzaChlLnN1YnN0cmluZygwLGQpKSxjLnB1c2goZS5zdWJzdHJpbmcoZCsxKSkpO3JldHVybntrZXlzOmIsdmFsdWVzOmN9fTt2YXIgS2w9ZnVuY3Rpb24oYSl7dGhpcy5MPV8uSihhKX07Xy56KEtsLF8uTCk7S2wuRmE9WzJdO3ZhciBMbD1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4iIjtpZigvXmFib3V0Oig/OmJsYW5rfHNyY2RvYykkLy50ZXN0KGEpKXJldHVybiB3aW5kb3cub3JpZ2lufHwiIjthLnN0YXJ0c1dpdGgoImJsb2I6IikmJihhPWEuc3Vic3RyaW5nKDUpKTthPWEuc3BsaXQoIiMiKVswXS5zcGxpdCgiPyIpWzBdO2E9YS50b0xvd2VyQ2FzZSgpOzA9PWEuaW5kZXhPZigiLy8iKSYmKGE9d2luZG93LmxvY2F0aW9uLnByb3RvY29sK2EpOy9eW1x3XC1dKjpcL1wvLy50ZXN0KGEpfHwoYT13aW5kb3cubG9jYXRpb24uaHJlZik7dmFyIGI9YS5zdWJzdHJpbmcoYS5pbmRleE9mKCI6Ly8iKSszKSxjPWIuaW5kZXhPZigiLyIpOy0xIT1jJiYoYj1iLnN1YnN0cmluZygwLGMpKTtjPWEuc3Vic3RyaW5nKDAsYS5pbmRleE9mKCI6Ly8iKSk7aWYoIWMpdGhyb3cgRXJyb3IoInphYCIrYSk7aWYoImh0dHAiIT09YyYmImh0dHBzIiE9PWMmJiJjaHJvbWUtZXh0ZW5zaW9uIiE9PWMmJiJtb3otZXh0ZW5zaW9uIiE9PQpjJiYiZmlsZSIhPT1jJiYiYW5kcm9pZC1hcHAiIT09YyYmImNocm9tZS1zZWFyY2giIT09YyYmImNocm9tZS11bnRydXN0ZWQiIT09YyYmImNocm9tZSIhPT1jJiYiYXBwIiE9PWMmJiJkZXZ0b29scyIhPT1jKXRocm93IEVycm9yKCJBYWAiK2MpO2E9IiI7dmFyIGQ9Yi5pbmRleE9mKCI6Iik7aWYoLTEhPWQpe3ZhciBlPWIuc3Vic3RyaW5nKGQrMSk7Yj1iLnN1YnN0cmluZygwLGQpO2lmKCJodHRwIj09PWMmJiI4MCIhPT1lfHwiaHR0cHMiPT09YyYmIjQ0MyIhPT1lKWE9IjoiK2V9cmV0dXJuIGMrIjovLyIrYithfTt2YXIgTmw9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVN0cmluZyhfLnQubG9jYXRpb24uaHJlZik7cmV0dXJuIGQmJmEmJmI/W2IsTWwoTGwoZCksYSxjfHxudWxsKV0uam9pbigiICIpOm51bGx9LE1sPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1bXSxlPVtdO2lmKDE9PShBcnJheS5pc0FycmF5KGMpPzI6MSkpcmV0dXJuIGU9W2IsYV0sXy5jYyhkLGZ1bmN0aW9uKGgpe2UucHVzaChoKX0pLE9sKGUuam9pbigiICIpKTt2YXIgZj1bXSxnPVtdO18uY2MoYyxmdW5jdGlvbihoKXtnLnB1c2goaC5rZXkpO2YucHVzaChoLnZhbHVlKX0pO2M9TWF0aC5mbG9vcigobmV3IERhdGUpLmdldFRpbWUoKS8xRTMpO2U9MD09Zi5sZW5ndGg/W2MsYixhXTpbZi5qb2luKCI6IiksYyxiLGFdO18uY2MoZCxmdW5jdGlvbihoKXtlLnB1c2goaCl9KTthPU9sKGUuam9pbigiICIpKTthPVtjLGFdOzA9PWcubGVuZ3RofHxhLnB1c2goZy5qb2luKCIiKSk7cmV0dXJuIGEuam9pbigiXyIpfSxPbD1mdW5jdGlvbihhKXt2YXIgYj0KcmwoKTtiLnVwZGF0ZShhKTtyZXR1cm4gYi5vaCgpLnRvTG93ZXJDYXNlKCl9O3ZhciBQbD17fTt2YXIgUWw9ZnVuY3Rpb24oYSl7cmV0dXJuISFQbC5GUEFfU0FNRVNJVEVfUEhBU0UyX01PRHx8ISh2b2lkIDA9PT1hfHwhYSl9LFJsPWZ1bmN0aW9uKGEsYixjLGQpeyhhPV8udFthXSl8fCJ1bmRlZmluZWQiPT09dHlwZW9mIGRvY3VtZW50fHwoYT0obmV3IElsKS5nZXQoYikpO3JldHVybiBhP05sKGEsYyxkKTpudWxsfSxTbD1mdW5jdGlvbihhLGIpe2I9dm9pZCAwPT09Yj8hMTpiO3ZhciBjPUxsKFN0cmluZyhfLnQubG9jYXRpb24uaHJlZikpLGQ9W107dmFyIGU9YjtlPXZvaWQgMD09PWU/ITE6ZTt2YXIgZj1fLnQuX19TQVBJU0lEfHxfLnQuX19BUElTSUR8fF8udC5fXzNQU0FQSVNJRHx8Xy50Ll9fT1ZFUlJJREVfU0lEO1FsKGUpJiYoZj1mfHxfLnQuX18xUFNBUElTSUQpO2lmKGYpZT0hMDtlbHNle2lmKCJ1bmRlZmluZWQiIT09dHlwZW9mIGRvY3VtZW50KXt2YXIgZz1uZXcgSWw7Zj1nLmdldCgiU0FQSVNJRCIpfHxnLmdldCgiQVBJU0lEIil8fGcuZ2V0KCJfX1NlY3VyZS0zUEFQSVNJRCIpfHwKZy5nZXQoIlNJRCIpfHxnLmdldCgiT1NJRCIpO1FsKGUpJiYoZj1mfHxnLmdldCgiX19TZWN1cmUtMVBBUElTSUQiKSl9ZT0hIWZ9ZSYmKGU9KGM9MD09Yy5pbmRleE9mKCJodHRwczoiKXx8MD09Yy5pbmRleE9mKCJjaHJvbWUtZXh0ZW5zaW9uOiIpfHwwPT1jLmluZGV4T2YoIm1vei1leHRlbnNpb246IikpP18udC5fX1NBUElTSUQ6Xy50Ll9fQVBJU0lELGV8fCJ1bmRlZmluZWQiPT09dHlwZW9mIGRvY3VtZW50fHwoZT1uZXcgSWwsZT1lLmdldChjPyJTQVBJU0lEIjoiQVBJU0lEIil8fGUuZ2V0KCJfX1NlY3VyZS0zUEFQSVNJRCIpKSwoZT1lP05sKGUsYz8iU0FQSVNJREhBU0giOiJBUElTSURIQVNIIixhKTpudWxsKSYmZC5wdXNoKGUpLGMmJlFsKGIpJiYoKGI9UmwoIl9fMVBTQVBJU0lEIiwiX19TZWN1cmUtMVBBUElTSUQiLCJTQVBJU0lEMVBIQVNIIixhKSkmJmQucHVzaChiKSwoYT1SbCgiX18zUFNBUElTSUQiLCJfX1NlY3VyZS0zUEFQSVNJRCIsIlNBUElTSUQzUEhBU0giLAphKSkmJmQucHVzaChhKSkpO3JldHVybiAwPT1kLmxlbmd0aD9udWxsOmQuam9pbigiICIpfTt2YXIgVGw9ZnVuY3Rpb24oYSl7Xy5ILmNhbGwodGhpcyk7dGhpcy5oPWE7dGhpcy5nPSExO3RoaXMuaj1mdW5jdGlvbigpe3JldHVybiBfLktiKCl9O3RoaXMubD10aGlzLmooKX07Xy56KFRsLF8uSCk7dmFyIFVsPWZ1bmN0aW9uKGEsYil7YS5oPWI7YS50aW1lciYmYS5nPyhhLnN0b3AoKSxhLnN0YXJ0KCkpOmEudGltZXImJmEuc3RvcCgpfTtUbC5wcm90b3R5cGUuc3RhcnQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMuZz0hMDt0aGlzLnRpbWVyfHwodGhpcy50aW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS50aWNrKCl9LHRoaXMuaCksdGhpcy5sPXRoaXMuaigpKX07VGwucHJvdG90eXBlLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLmc9ITE7dGhpcy50aW1lciYmKGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLnRpbWVyPXZvaWQgMCl9OwpUbC5wcm90b3R5cGUudGljaz1mdW5jdGlvbigpe3ZhciBhPXRoaXM7aWYodGhpcy5nKXt2YXIgYj1NYXRoLm1heCh0aGlzLmooKS10aGlzLmwsMCk7YjwuOCp0aGlzLmg/dGhpcy50aW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS50aWNrKCl9LHRoaXMuaC1iKToodGhpcy50aW1lciYmKGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLnRpbWVyPXZvaWQgMCksdGhpcy5kaXNwYXRjaEV2ZW50KCJ0aWNrIiksdGhpcy5nJiYodGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKSl9ZWxzZSB0aGlzLnRpbWVyPXZvaWQgMH07dmFyIFZsPWZ1bmN0aW9uKGEpe3RoaXMuTD1fLkooYSl9O18ueihWbCxfLkwpO3ZhciBXbD1mdW5jdGlvbihhKXt0aGlzLkw9Xy5KKGEpfTtfLnooV2wsXy5MKTt2YXIgWGw9ZnVuY3Rpb24oYSl7dGhpcy5nPXRoaXMuaD10aGlzLmo9YX07WGwucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5nPXRoaXMuaD10aGlzLmp9O1hsLnByb3RvdHlwZS5sYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmh9O3ZhciBZbD1mdW5jdGlvbihhKXt0aGlzLkw9Xy5KKGEpfTtfLnooWWwsXy5MKTtZbC5wcm90b3R5cGUuWmQ9ZnVuY3Rpb24oKXtyZXR1cm4gaGwoXy55aih0aGlzLDEpKX07dmFyIHVsPWZ1bmN0aW9uKGEpe3RoaXMuTD1fLkooYSl9O18ueih1bCxfLkwpO3ZhciBabD1mdW5jdGlvbihhKXt0aGlzLkw9Xy5KKGEpfTtfLnooWmwsXy5MKTt2YXIgdmw9ZnVuY3Rpb24oYSxiKXtfLkRsKGEsMSxiKX07WmwuRmE9WzFdO3ZhciBCbD1mdW5jdGlvbihhKXt0aGlzLkw9Xy5KKGEpfTtfLnooQmwsXy5MKTt2YXIgc2w9WyJwbGF0Zm9ybSIsInBsYXRmb3JtVmVyc2lvbiIsImFyY2hpdGVjdHVyZSIsIm1vZGVsIiwidWFGdWxsVmVyc2lvbiJdLHhsPW5ldyBabCx0bD1udWxsO3ZhciAkbD1mdW5jdGlvbihhKXt0aGlzLkw9Xy5KKGEpfTtfLnooJGwsXy5MKTt2YXIgYW09ZnVuY3Rpb24oYSl7dGhpcy5MPV8uSihhKX07Xy56KGFtLF8uTCk7YW0ucHJvdG90eXBlLmxhPWZ1bmN0aW9uKCl7cmV0dXJuIF8uWmkoXy55aih0aGlzLDIpKX07YW0ucHJvdG90eXBlLnphPWZ1bmN0aW9uKGEpe18uTih0aGlzLDIsYSl9O3ZhciBibT1mdW5jdGlvbihhKXt0aGlzLkw9Xy5KKGEsNCl9O18ueihibSxfLkwpO18uY209ZnVuY3Rpb24oYSl7dGhpcy5MPV8uSihhLDM1KX07Xy56KF8uY20sXy5MKTtfLmNtLnByb3RvdHlwZS56YT1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuTCxkPSgwLF8uQWkpKGMpO18uWGkoZCk7Yz1fLnFqKGMsZCxhbSwzLCExLCEwKTtiPW51bGwhPWI/YjpuZXcgYW07aWYoIm51bWJlciIhPT10eXBlb2YgYXx8MD5hfHxhPmMubGVuZ3RoKXRocm93IEVycm9yKCk7dm9pZCAwIT1hP2Muc3BsaWNlKGEsMSxiKTpjLnB1c2goYik7KDAsXy5aaCkoYi5MKSYyPygwLF8uemkpKGMsOCk6KDAsXy56aSkoYywxNil9O18uZG09ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5OKGEsOCxiKX07Xy5jbS5GYT1bMywyMCwyN107dmFyIGVtPWZ1bmN0aW9uKGEpe3RoaXMuTD1fLkooYSwxOSl9O18ueihlbSxfLkwpO2VtLnByb3RvdHlwZS54Yz1mdW5jdGlvbihhKXtyZXR1cm4gXy5IbCh0aGlzLDIsYSl9O2VtLkZhPVszLDVdO3ZhciBmbT1mdW5jdGlvbihhKXt0aGlzLkw9Xy5KKGEsNyl9O18ueihmbSxfLkwpO3ZhciBnbT1fLnFsKGZtKTtmbS5GYT1bNSw2XTt2YXIgaG09ZnVuY3Rpb24oYSl7dGhpcy5MPV8uSihhKX07Xy56KGhtLF8uTCk7dmFyIGltPW5ldyBmdW5jdGlvbihhLGIpe3RoaXMuZz1hO3RoaXMuQWI9Yjt0aGlzLmg9Xy5Bajt0aGlzLmRlZmF1bHRWYWx1ZT12b2lkIDB9KDE3NTIzNzM3NSxobSk7dmFyIG5tPWZ1bmN0aW9uKGEpe18uRC5jYWxsKHRoaXMpO3ZhciBiPXRoaXM7dGhpcy5qPVtdO3RoaXMuVz0iIjt0aGlzLk49dGhpcy5QPSExO3RoaXMuYWE9dGhpcy5NPS0xO3RoaXMuVT0hMTt0aGlzLkE9dGhpcy5leHBlcmltZW50SWRzPW51bGw7dGhpcy5LPXRoaXMuSD10aGlzLnM9dGhpcy5sPTA7dGhpcy5kYT0xO3RoaXMuTmU9MDt0aGlzLlFiPWEuUWI7dGhpcy5DYj1hLkNifHxmdW5jdGlvbigpe307dGhpcy5oPW5ldyBqbShhLlFiLGEucGIpO3RoaXMuRWE9YS5FYTt0aGlzLldiPWEuV2J8fG51bGw7dGhpcy5tYT1fLkpiKEFsLDAsMSk7dGhpcy5GPWEubGp8fG51bGw7dGhpcy5zYj1hLnNifHxudWxsO3RoaXMubGM9YS5sY3x8ITE7dGhpcy5UYj1hLlRifHxudWxsO3RoaXMud2l0aENyZWRlbnRpYWxzPSFhLlBjO3RoaXMucGI9YS5wYnx8ITE7dGhpcy5UPSF0aGlzLnBiJiYhIV8ua2QoKSYmISFfLmtkKCkubmF2aWdhdG9yJiZ2b2lkIDAhPT1fLmtkKCkubmF2aWdhdG9yLnNlbmRCZWFjb247CnRoaXMuRz0idW5kZWZpbmVkIiE9PXR5cGVvZiBVUkxTZWFyY2hQYXJhbXMmJm51bGwhPShuZXcgVVJMKGttKHRoaXMpKSkuc2VhcmNoUGFyYW1zO3ZhciBjPV8uSGwobmV3ICRsLDEsMSk7bG0odGhpcy5oLGMpO3RoaXMubz1uZXcgWGwoMUU0KTt0aGlzLmc9bmV3IFRsKHRoaXMuby5sYSgpKTthPW1tKHRoaXMsYS5sZik7Xy5HKHRoaXMuZywidGljayIsYSwhMSx0aGlzKTt0aGlzLkI9bmV3IFRsKDZFNSk7Xy5HKHRoaXMuQiwidGljayIsYSwhMSx0aGlzKTt0aGlzLmxjfHx0aGlzLkIuc3RhcnQoKTt0aGlzLnBifHwoXy5HKGRvY3VtZW50LCJ2aXNpYmlsaXR5Y2hhbmdlIixmdW5jdGlvbigpeyJoaWRkZW4iPT09ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlJiZiLkQoKX0pLF8uRyhkb2N1bWVudCwicGFnZWhpZGUiLHRoaXMuRCwhMSx0aGlzKSl9LG9tLHFtO18ueihubSxfLkQpOwp2YXIgbW09ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5HP2I/ZnVuY3Rpb24oKXtiKCkudGhlbihmdW5jdGlvbigpe2EuZmx1c2goKX0pfTpmdW5jdGlvbigpe2EuZmx1c2goKX06ZnVuY3Rpb24oKXt9fTtubS5wcm90b3R5cGUuSj1mdW5jdGlvbigpe3RoaXMuRCgpO3RoaXMuZy5zdG9wKCk7dGhpcy5CLnN0b3AoKTtfLkQucHJvdG90eXBlLkouY2FsbCh0aGlzKX07b209ZnVuY3Rpb24oYSl7YS5GfHwoYS5GPWttKGEpKTtyZXR1cm4gYS5GfTtfLnBtPWZ1bmN0aW9uKGEsYil7YS5HJiYoYiBpbnN0YW5jZW9mIF8uY20/YS5sb2coYik6KGI9Xy5kbShuZXcgXy5jbSxfLnpsKGIpKSxhLmxvZyhiKSkpfTtxbT1mdW5jdGlvbihhLGIpe2Eubz1uZXcgWGwoMT5iPzE6Yik7VWwoYS5nLGEuby5sYSgpKX07Cm5tLnByb3RvdHlwZS5sb2c9ZnVuY3Rpb24oYSl7aWYodGhpcy5HKXthPWZsKGEpO3ZhciBiPXRoaXMuZGErKzthPV8uemooYSwyMSxfLmtsKGIpKTtpZighRWwoYSkpe3ZhciBjPURhdGUubm93KCk7Yj1hO2M9TnVtYmVyLmlzRmluaXRlKGMpP2MudG9TdHJpbmcoKToiMCI7Xy56aihiLDEsXy5rbChjKSl9bnVsbD09Xy5jayhhLDE1KSYmXy56aihhLDE1LF8ua2woNjAqKG5ldyBEYXRlKS5nZXRUaW1lem9uZU9mZnNldCgpKSk7dGhpcy5leHBlcmltZW50SWRzJiYoYj1hLGM9ZmwodGhpcy5leHBlcmltZW50SWRzKSxfLksoYiwxNixjKSk7Yj10aGlzLmoubGVuZ3RoLTFFMysxOzA8YiYmKHRoaXMuai5zcGxpY2UoMCxiKSx0aGlzLmwrPWIpO3RoaXMuai5wdXNoKGEpO3RoaXMubGN8fHRoaXMuZy5nfHx0aGlzLmcuc3RhcnQoKX19OwpubS5wcm90b3R5cGUuZmx1c2g9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzO2lmKDA9PT10aGlzLmoubGVuZ3RoKWEmJmEoKTtlbHNle3ZhciBkPURhdGUubm93KCk7aWYodGhpcy5hYT5kJiZ0aGlzLk08ZCliJiZiKCJ0aHJvdHRsZWQiKTtlbHNle3RoaXMuRWEmJigiZnVuY3Rpb24iPT09dHlwZW9mIHRoaXMuRWEuWmQ/cm0odGhpcy5oLHRoaXMuRWEuWmQoKSk6cm0odGhpcy5oLDApKTt2YXIgZT1zbSh0aGlzLmgsdGhpcy5qLHRoaXMubCx0aGlzLnMsdGhpcy5XYix0aGlzLkgsdGhpcy5LKTtkPXt9O3ZhciBmPXRoaXMuQ2IoKTtmJiYoZC5BdXRob3JpemF0aW9uPWYpO3ZhciBnPW5ldyBVUkwob20odGhpcykpO3RoaXMuc2ImJihkWyJYLUdvb2ctQXV0aFVzZXIiXT10aGlzLnNiLGcuc2VhcmNoUGFyYW1zLnNldCgiYXV0aHVzZXIiLHRoaXMuc2IpKTt0aGlzLlRiJiYoZFsiWC1Hb29nLVBhZ2VJZCJdPXRoaXMuVGIsZy5zZWFyY2hQYXJhbXMuc2V0KCJwYWdlSWQiLHRoaXMuVGIpKTsKaWYoZiYmdGhpcy5XPT09ZiliJiZiKCJzdGFsZS1hdXRoLXRva2VuIik7ZWxzZXt0aGlzLmo9W107dGhpcy5nLmcmJnRoaXMuZy5zdG9wKCk7dGhpcy5sPTA7dmFyIGg9Xy56bChlKSxsO3RoaXMuQSYmdGhpcy5BLllhKGgubGVuZ3RoKSYmKGw9dGhpcy5BLmtoKGgpKTt2YXIgbT17dXJsOmcudG9TdHJpbmcoKSxib2R5Omgsamg6MSxBZTpkLFRpOiJQT1NUIix3aXRoQ3JlZGVudGlhbHM6dGhpcy53aXRoQ3JlZGVudGlhbHMsTmU6dGhpcy5OZX0sbj1mdW5jdGlvbihwKXtjLm8ucmVzZXQoKTtVbChjLmcsYy5vLmxhKCkpO2lmKHApe3ZhciB4PW51bGw7dHJ5e3ZhciBDPUpTT04uc3RyaW5naWZ5KEpTT04ucGFyc2UocC5yZXBsYWNlKCIpXX0nXG4iLCIiKSkpO3g9Z20oQyl9Y2F0Y2goUyl7fXgmJihwPU51bWJlcixDPSItMSIsQz12b2lkIDA9PT1DPyIwIjpDLEM9Xy5yaihFbCh4KSxDKSxwPXAoQyksMDxwJiYoYy5NPURhdGUubm93KCksYy5hYT1jLk0rcCkseD1pbS5BYj9pbS5oKHgsCmltLkFiLGltLmcsITApOmltLmgoeCxpbS5nLG51bGwsITApLHg9bnVsbD09PXg/dm9pZCAwOngpJiYocD0tMSxwPXZvaWQgMD09PXA/MDpwLHg9Xy5yaihfLlhqKF8ueWooeCwxKSkscCksLTEhPT14JiYoYy5VfHxxbShjLHgpKSl9YSYmYSgpO2Mucz0wfSxxPWZ1bmN0aW9uKHAseCl7dmFyIEM9Xy5CaihlLF8uY20sMyk7dmFyIFM9Xy5jayhlLDE0KSxRPWMubztRLmc9TWF0aC5taW4oM0U1LDIqUS5nKTtRLmg9TWF0aC5taW4oM0U1LFEuZytNYXRoLnJvdW5kKC4yKihNYXRoLnJhbmRvbSgpLS41KSpRLmcpKTtVbChjLmcsYy5vLmxhKCkpOzQwMT09PXAmJmYmJihjLlc9Zik7UyYmKGMubCs9Uyk7dm9pZCAwPT09eCYmKHg9NTAwPD1wJiY2MDA+cHx8NDAxPT09cHx8MD09PXApO3gmJihjLmo9Qy5jb25jYXQoYy5qKSxjLmxjfHxjLmcuZ3x8Yy5nLnN0YXJ0KCkpO2ImJmIoIm5ldC1zZW5kLWZhaWxlZCIscCk7KytjLnN9LHI9ZnVuY3Rpb24oKXtjLkVhJiZjLkVhLnNlbmQobSxuLHEpfTsKbD9sLnRoZW4oZnVuY3Rpb24ocCl7bS5BZVsiQ29udGVudC1FbmNvZGluZyJdPSJnemlwIjttLkFlWyJDb250ZW50LVR5cGUiXT0iYXBwbGljYXRpb24vYmluYXJ5IjttLmJvZHk9cDttLmpoPTI7cigpfSxmdW5jdGlvbigpe3IoKX0pOnIoKX19fX07bm0ucHJvdG90eXBlLkQ9ZnVuY3Rpb24oKXt0bSh0aGlzLmgsITApO3RoaXMuUCYmKHJtKHRoaXMuaCwzKSx1bSh0aGlzKSk7dGhpcy5OJiYocm0odGhpcy5oLDIpLHZtKHRoaXMpKTt0aGlzLmZsdXNoKCk7dG0odGhpcy5oLCExKX07CnZhciB1bT1mdW5jdGlvbihhKXt3bShhLDMyLDEwLGZ1bmN0aW9uKGIsYyl7Yj1uZXcgVVJMKGIpO2Iuc2VhcmNoUGFyYW1zLnNldCgiZm9ybWF0IiwianNvbiIpO3ZhciBkPSExO3RyeXtkPV8ua2QoKS5uYXZpZ2F0b3Iuc2VuZEJlYWNvbihiLnRvU3RyaW5nKCksXy56bChjKSl9Y2F0Y2goZSl7fWR8fChhLlQ9ITEpO3JldHVybiBkfSl9LHZtPWZ1bmN0aW9uKGEpe3dtKGEsNiw1LGZ1bmN0aW9uKGIsYyl7Yj1uZXcgVVJMKGIpO2Iuc2VhcmNoUGFyYW1zLnNldCgiZm9ybWF0IiwiYmFzZTY0anNvbiIpO3ZhciBkPWIuc2VhcmNoUGFyYW1zLGU9ZC5zZXQ7Yz1fLnpsKGMpO2Zvcih2YXIgZj1bXSxnPTAsaD0wO2g8Yy5sZW5ndGg7aCsrKXt2YXIgbD1jLmNoYXJDb2RlQXQoaCk7MjU1PGwmJihmW2crK109bCYyNTUsbD4+PTgpO2ZbZysrXT1sfWM9Xy5NaShmLDMpO2UuY2FsbChkLCJwIixjKTtiPWIudG9TdHJpbmcoKTtpZigxNTM2MDxiLmxlbmd0aClyZXR1cm4hMTsobmV3IEltYWdlKS5zcmM9CmI7cmV0dXJuITB9KX0sd209ZnVuY3Rpb24oYSxiLGMsZCl7aWYoMCE9PWEuai5sZW5ndGgpe3ZhciBlPW5ldyBVUkwob20oYSkpO2Uuc2VhcmNoUGFyYW1zLmRlbGV0ZSgiZm9ybWF0Iik7dmFyIGY9YS5DYigpO2YmJmUuc2VhcmNoUGFyYW1zLnNldCgiYXV0aCIsZik7ZS5zZWFyY2hQYXJhbXMuc2V0KCJhdXRodXNlciIsYS5zYnx8IjAiKTtmb3IoZj0wO2Y8YyYmYS5qLmxlbmd0aDsrK2Ype3ZhciBnPWEuai5zbGljZSgwLGIpLGg9c20oYS5oLGcsYS5sLGEucyxhLldiLGEuSCxhLkspO2lmKCFkKGUudG9TdHJpbmcoKSxoKSl7KythLnM7YnJlYWt9YS5sPTA7YS5zPTA7YS5IPTA7YS5LPTA7YS5qPWEuai5zbGljZShnLmxlbmd0aCl9YS5nLmcmJmEuZy5zdG9wKCl9fSxrbT1mdW5jdGlvbihhKXtyZXR1cm4uMDE+YS5tYSgpPyJodHRwczovL3d3dy5nb29nbGUuY29tL2xvZz9mb3JtYXQ9anNvbiZoYXNmYXN0PXRydWUiOiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9sb2c/Zm9ybWF0PWpzb24maGFzZmFzdD10cnVlIn0sCmptPWZ1bmN0aW9uKGEsYil7dGhpcy5wYj1iPXZvaWQgMD09PWI/ITE6Yjt0aGlzLmg9dGhpcy5sb2NhbGU9bnVsbDt0aGlzLmc9bmV3IGVtO051bWJlci5pc0ludGVnZXIoYSkmJnRoaXMuZy54YyhhKTtifHwodGhpcy5sb2NhbGU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEF0dHJpYnV0ZSgibGFuZyIpKTtsbSh0aGlzLG5ldyAkbCl9O2ptLnByb3RvdHlwZS54Yz1mdW5jdGlvbihhKXt0aGlzLmcueGMoYSk7cmV0dXJuIHRoaXN9Owp2YXIgbG09ZnVuY3Rpb24oYSxiKXtfLksoYS5nLDEsYik7aGwoXy55aihiLDEpKXx8Xy5IbChiLDEsMSk7YS5wYnx8KGI9eG0oYSksXy5aaShfLnlqKGIsNSkpfHxfLk4oYiw1LGEubG9jYWxlKSk7YS5oJiYoYj14bShhKSxfLkFqKGIsWmwsOSl8fF8uSyhiLDksYS5oKSl9LHJtPWZ1bmN0aW9uKGEsYil7Q2woeW0oYSkpJiYoYT16bShhKSxfLkhsKGEsMSxiKSl9LHRtPWZ1bmN0aW9uKGEsYil7Q2woeW0oYSkpJiYoYT16bShhKSxfLndsKGEsMixiKSl9LHltPWZ1bmN0aW9uKGEpe3JldHVybiBfLkFqKGEuZywkbCwxKX0sQW09ZnVuY3Rpb24oYSxiKXt2YXIgYz12b2lkIDA9PT1jP3NsOmM7dmFyIGQ9YS5wYj92b2lkIDA6Xy5rZCgpO2Q/YihkLGMpLnRoZW4oZnVuY3Rpb24oZSl7YS5oPWU7ZT14bShhKTtfLksoZSw5LGEuaCk7cmV0dXJuITB9KS5jYXRjaChmdW5jdGlvbigpe3JldHVybiExfSk6UHJvbWlzZS5yZXNvbHZlKCExKX0seG09ZnVuY3Rpb24oYSl7YT15bShhKTt2YXIgYj0KXy5BaihhLEJsLDExKTtifHwoYj1uZXcgQmwsXy5LKGEsMTEsYikpO3JldHVybiBifSx6bT1mdW5jdGlvbihhKXthPXhtKGEpO3ZhciBiPV8uQWooYSxZbCwxMCk7Ynx8KGI9bmV3IFlsLF8ud2woYiwyLCExKSxfLksoYSwxMCxiKSk7cmV0dXJuIGJ9LHNtPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcpe2M9dm9pZCAwPT09Yz8wOmM7Zj12b2lkIDA9PT1mPzA6ZjtnPXZvaWQgMD09PWc/MDpnO2Q9dm9pZCAwPT09ZD8wOmQ7aWYoQ2woeW0oYSkpKXt2YXIgaD16bShhKTtfLkdsKGgsMyxkKX1DbCh5bShhKSkmJihkPXptKGEpLF8uR2woZCw0LGYpKTtDbCh5bShhKSkmJihmPXptKGEpLF8uR2woZiw1LGcpKTthPWZsKGEuZyk7YT1fLnpqKGEsNCxfLmtsKERhdGUubm93KCkudG9TdHJpbmcoKSkpO2I9Xy5EbChhLDMsYik7ZSYmKGE9bmV3IFZsLGU9Xy5HbChhLDEzLGUpLGE9bmV3IFdsLGU9Xy5LKGEsMixlKSxhPW5ldyBibSxlPV8uSyhhLDEsZSksZT1fLkhsKGUsMiw5KSxfLksoYiwxOCxlKSk7CmMmJl8uemooYiwxNCxfLmtsKGMpKTtyZXR1cm4gYn07dmFyIEJtPWZ1bmN0aW9uKCl7fTtCbS5wcm90b3R5cGUuc2VuZD1mdW5jdGlvbihhLGIsYyl7Yj12b2lkIDA9PT1iP2Z1bmN0aW9uKCl7fTpiO2M9dm9pZCAwPT09Yz9mdW5jdGlvbigpe306YztfLnVqKGEudXJsLGZ1bmN0aW9uKGQpe2Q9ZC50YXJnZXQ7ZC5wYygpP2IoZC5CYSgpKTpjKGQuTmEoKSl9LGEuVGksYS5ib2R5LGEuQWUsYS5OZSxhLndpdGhDcmVkZW50aWFscyl9O0JtLnByb3RvdHlwZS5aZD1mdW5jdGlvbigpe3JldHVybiAxfTtfLkNtPWZ1bmN0aW9uKGEsYil7Xy5ELmNhbGwodGhpcyk7dGhpcy5RYj1hO3RoaXMuc2I9Yjt0aGlzLnM9Imh0dHBzOi8vcGxheS5nb29nbGUuY29tL2xvZz9mb3JtYXQ9anNvbiZoYXNmYXN0PXRydWUiO3RoaXMuZz10aGlzLmg9ITE7dGhpcy5FYT1uZXcgQm19O18ueihfLkNtLF8uRCk7Xy5EbT1mdW5jdGlvbihhLGIpe2EuQ2I9YjtyZXR1cm4gYX07Xy5FbT1mdW5jdGlvbihhKXthLmg9ITA7cmV0dXJuIGF9O18uQ20ucHJvdG90eXBlLlBjPWZ1bmN0aW9uKCl7dGhpcy5HPSEwO3JldHVybiB0aGlzfTsKXy5GbT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgbm0oe1FiOmEuUWIsQ2I6YS5DYj9hLkNiOlNsLHNiOmEuc2IsbGo6YS5zLHBiOiExLGxjOiExLFBjOmEuRyxUYjphLlRiLGxmOmEubGYsRWE6YS5FYT9hLkVhOnZvaWQgMH0pO18uYmsoYSxiKTthLkImJmxtKGIuaCxhLkIpO2lmKGEubyl7dmFyIGM9YS5vLGQ9eG0oYi5oKTtfLk4oZCw3LGMpfWEubCYmKGIuQT1hLmwpO2EuV2ImJihiLldiPWEuV2IpO2EuaiYmKChkPWEuaik/KGIuZXhwZXJpbWVudElkc3x8KGIuZXhwZXJpbWVudElkcz1uZXcgS2wpLGM9Yi5leHBlcmltZW50SWRzLGQ9Xy56bChkKSxfLk4oYyw0LGQpKTpiLmV4cGVyaW1lbnRJZHMmJl8uemooYi5leHBlcmltZW50SWRzLDQpKTthLkYmJihjPWEuRixiLmV4cGVyaW1lbnRJZHN8fChiLmV4cGVyaW1lbnRJZHM9bmV3IEtsKSxfLm1sKGIuZXhwZXJpbWVudElkcywyLGMscGwpKTthLmgmJihiLlA9YS5oJiZiLlQpO2EuZyYmKGIuTj1hLmcpO2EuQSYmKGM9YS5BLGIuVT0hMCwKcW0oYixjKSk7QW0oYi5oLHlsKTthLkQmJkFtKGIuaCxhLkQpO2EuRWEueGMmJmEuRWEueGMoYS5RYik7YS5FYS5YaSYmYS5FYS5YaShiKTtyZXR1cm4gYn07Xy5HbT1mdW5jdGlvbihhKXt0aGlzLkw9Xy5KKGEpfTtfLnooXy5HbSxfLkwpO18uaz1fLkdtLnByb3RvdHlwZTtfLmsuS2E9ZnVuY3Rpb24oKXtyZXR1cm4gXy5Daih0aGlzLDE2KX07Xy5rLmFiPWZ1bmN0aW9uKGEpe3JldHVybiBfLk4odGhpcywxNixhKX07Xy5rLmZhPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQ2oodGhpcywxKX07Xy5rLmlhPWZ1bmN0aW9uKGEpe3JldHVybiBfLk4odGhpcywxLGEpfTtfLmsuQWY9ZnVuY3Rpb24oKXtyZXR1cm4gXy5GbCh0aGlzLDUzKX07Xy5HbS5GYT1bMjYsODBdOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgS207Xy5IbT1mdW5jdGlvbihhLGIpe2I9YiBpbnN0YW5jZW9mIF8uT2M/Xy5uaShiKTpfLlBoKGIpO3ZvaWQgMCE9PWImJihhLmhyZWY9Yil9O18uSW09ZnVuY3Rpb24oYSl7dmFyIGI9Xy5SYSgpO2E9Yj9iLmNyZWF0ZUhUTUwoYSk6YTtyZXR1cm4gbmV3IF8uVWMoYSxfLlRjKX07Xy5KbT17fTtLbT17fTtfLkxtPWZ1bmN0aW9uKGEpe3RoaXMuZz1hfTtfLkxtLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcudG9TdHJpbmcoKX07Xy5NbT17fTtfLnVnPWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoIk4iKTt9O18udWcucHJvdG90eXBlLlZkPW51bGw7Xy51Zy5wcm90b3R5cGUuZWE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nfTtfLnVnLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmd9O18udWcucHJvdG90eXBlLmJjPWZ1bmN0aW9uKCl7aWYodGhpcy56YiE9PV8uTW0pdGhyb3cgRXJyb3IoIk8iKTtyZXR1cm4gXy5JbSh0aGlzLnRvU3RyaW5nKCkpfTsKdmFyIE5tPWZ1bmN0aW9uKCl7Xy51Zy5jYWxsKHRoaXMpfTtfLkIoTm0sXy51Zyk7Tm0ucHJvdG90eXBlLnpiPV8uTW07dmFyIE9tPWZ1bmN0aW9uKCl7Xy51Zy5jYWxsKHRoaXMpfTtfLkIoT20sXy51Zyk7T20ucHJvdG90eXBlLnpiPV8uSm07T20ucHJvdG90eXBlLlZkPTE7T20ucHJvdG90eXBlLmw9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IF8uTG0odGhpcy50b1N0cmluZygpLEttKX07Xy5QbT1mdW5jdGlvbihhKXtmdW5jdGlvbiBiKGMpe3RoaXMuZz1jfWIucHJvdG90eXBlPWEucHJvdG90eXBlO3JldHVybiBmdW5jdGlvbihjLGQpe2M9bmV3IGIoU3RyaW5nKGMpKTt2b2lkIDAhPT1kJiYoYy5WZD1kKTtyZXR1cm4gY319KE5tKTtfLlFtPWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYyl7dGhpcy5nPWN9Yi5wcm90b3R5cGU9YS5wcm90b3R5cGU7cmV0dXJuIGZ1bmN0aW9uKGMpe3JldHVybiBuZXcgYihTdHJpbmcoYykpfX0oT20pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgU20sVG0sV20sWm0sWG0sWW0sJG0sYW4sY24sZG47Xy5SbT1mdW5jdGlvbihhLGIpe3JldHVybiBfLmxkKGEuZyxiKX07U209ZnVuY3Rpb24oKXt0aGlzLnM9ITE7dGhpcy5qPW51bGw7dGhpcy5oPXZvaWQgMDt0aGlzLmc9MTt0aGlzLkI9dGhpcy5vPTA7dGhpcy5sPW51bGx9O1RtPWZ1bmN0aW9uKGEpe2lmKGEucyl0aHJvdyBuZXcgVHlwZUVycm9yKCJnIik7YS5zPSEwfTtTbS5wcm90b3R5cGUuQT1mdW5jdGlvbihhKXt0aGlzLmg9YX07dmFyIFVtPWZ1bmN0aW9uKGEsYil7YS5sPXt2ZjpiLGVpOiEwfTthLmc9YS5vfHxhLkJ9O1NtLnByb3RvdHlwZS5yZXR1cm49ZnVuY3Rpb24oYSl7dGhpcy5sPXtyZXR1cm46YX07dGhpcy5nPXRoaXMuQn07Xy5WbT1mdW5jdGlvbihhLGIsYyl7YS5nPWM7cmV0dXJue3ZhbHVlOmJ9fTtXbT1mdW5jdGlvbihhKXt0aGlzLmc9bmV3IFNtO3RoaXMuaD1hfTsKWm09ZnVuY3Rpb24oYSxiKXtUbShhLmcpO3ZhciBjPWEuZy5qO2lmKGMpcmV0dXJuIFhtKGEsInJldHVybiJpbiBjP2NbInJldHVybiJdOmZ1bmN0aW9uKGQpe3JldHVybnt2YWx1ZTpkLGRvbmU6ITB9fSxiLGEuZy5yZXR1cm4pO2EuZy5yZXR1cm4oYik7cmV0dXJuIFltKGEpfTtYbT1mdW5jdGlvbihhLGIsYyxkKXt0cnl7dmFyIGU9Yi5jYWxsKGEuZy5qLGMpO2lmKCEoZSBpbnN0YW5jZW9mIE9iamVjdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiZmAiK2UpO2lmKCFlLmRvbmUpcmV0dXJuIGEuZy5zPSExLGU7dmFyIGY9ZS52YWx1ZX1jYXRjaChnKXtyZXR1cm4gYS5nLmo9bnVsbCxVbShhLmcsZyksWW0oYSl9YS5nLmo9bnVsbDtkLmNhbGwoYS5nLGYpO3JldHVybiBZbShhKX07ClltPWZ1bmN0aW9uKGEpe2Zvcig7YS5nLmc7KXRyeXt2YXIgYj1hLmgoYS5nKTtpZihiKXJldHVybiBhLmcucz0hMSx7dmFsdWU6Yi52YWx1ZSxkb25lOiExfX1jYXRjaChjKXthLmcuaD12b2lkIDAsVW0oYS5nLGMpfWEuZy5zPSExO2lmKGEuZy5sKXtiPWEuZy5sO2EuZy5sPW51bGw7aWYoYi5laSl0aHJvdyBiLnZmO3JldHVybnt2YWx1ZTpiLnJldHVybixkb25lOiEwfX1yZXR1cm57dmFsdWU6dm9pZCAwLGRvbmU6ITB9fTsKJG09ZnVuY3Rpb24oYSl7dGhpcy5uZXh0PWZ1bmN0aW9uKGIpe1RtKGEuZyk7YS5nLmo/Yj1YbShhLGEuZy5qLm5leHQsYixhLmcuQSk6KGEuZy5BKGIpLGI9WW0oYSkpO3JldHVybiBifTt0aGlzLnRocm93PWZ1bmN0aW9uKGIpe1RtKGEuZyk7YS5nLmo/Yj1YbShhLGEuZy5qWyJ0aHJvdyJdLGIsYS5nLkEpOihVbShhLmcsYiksYj1ZbShhKSk7cmV0dXJuIGJ9O3RoaXMucmV0dXJuPWZ1bmN0aW9uKGIpe3JldHVybiBabShhLGIpfTt0aGlzW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc319O2FuPWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoZCl7cmV0dXJuIGEubmV4dChkKX1mdW5jdGlvbiBjKGQpe3JldHVybiBhLnRocm93KGQpfXJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihkLGUpe2Z1bmN0aW9uIGYoZyl7Zy5kb25lP2QoZy52YWx1ZSk6UHJvbWlzZS5yZXNvbHZlKGcudmFsdWUpLnRoZW4oYixjKS50aGVuKGYsZSl9ZihhLm5leHQoKSl9KX07Xy5ibj1mdW5jdGlvbihhKXtyZXR1cm4gYW4obmV3ICRtKG5ldyBXbShhKSkpfTsKY249ZnVuY3Rpb24oYSl7cmV0dXJuIFN0cmluZyhhKS5yZXBsYWNlKC9cLShbYS16XSkvZyxmdW5jdGlvbihiLGMpe3JldHVybiBjLnRvVXBwZXJDYXNlKCl9KX07ZG49ZnVuY3Rpb24oYSl7cmV0dXJuIGEucmVwbGFjZShSZWdFeHAoIihefFtcXHNdKykoW2Etel0pIiwiZyIpLGZ1bmN0aW9uKGIsYyxkKXtyZXR1cm4gYytkLnRvVXBwZXJDYXNlKCl9KX07Xy5lbj1mdW5jdGlvbihhLGIpe3JldHVybihifHxkb2N1bWVudCkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoU3RyaW5nKGEpKX07Xy5mbj1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5sZSlyZXR1cm4gYTt2YXIgYj1uZXcgXy5sZShfLk9iKTtfLmtlKGIsMixhKTtyZXR1cm4gYn07dmFyIGhuLGduO18uTz1mdW5jdGlvbihhLGIsYyl7aWYoInN0cmluZyI9PT10eXBlb2YgYikoYj1nbihhLGIpKSYmKGEuc3R5bGVbYl09Yyk7ZWxzZSBmb3IodmFyIGQgaW4gYil7Yz1hO3ZhciBlPWJbZF0sZj1nbihjLGQpO2YmJihjLnN0eWxlW2ZdPWUpfX07aG49e307Z249ZnVuY3Rpb24oYSxiKXt2YXIgYz1obltiXTtpZighYyl7dmFyIGQ9Y24oYik7Yz1kO3ZvaWQgMD09PWEuc3R5bGVbZF0mJihkPShfLnVjPyJXZWJraXQiOl8udGM/Ik1veiI6Xy5GPyJtcyI6bnVsbCkrZG4oZCksdm9pZCAwIT09YS5zdHlsZVtkXSYmKGM9ZCkpO2huW2JdPWN9cmV0dXJuIGN9O18uam49Xy50Yz8iTW96VXNlclNlbGVjdCI6Xy51Y3x8Xy5yYz8iV2Via2l0VXNlclNlbGVjdCI6bnVsbDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5tYSgiZWxfbWFpbl9jc3MiKTsKCl8ub2EoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5tYSgiZWxfbWFpbiIpOwovKgogQ29weXJpZ2h0IFRoZSBDbG9zdXJlIExpYnJhcnkgQXV0aG9ycy4KIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wCiovCnZhciBrbj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9e30sZTtmb3IoZSBpbiBhKWRbZV09Yi5jYWxsKGMsYVtlXSxlLGEpO3JldHVybiBkfSxsbj1mdW5jdGlvbihhLGIpe3ZhciBjPWIuY3JlYXRlUmFuZ2UoKTtjLnNlbGVjdE5vZGUoYi5ib2R5KTthPV8uSW0oYSk7cmV0dXJuIGMuY3JlYXRlQ29udGV4dHVhbEZyYWdtZW50KF8uVmMoYSkpfSxtbj1mdW5jdGlvbihhKXthPWEubm9kZU5hbWU7cmV0dXJuInN0cmluZyI9PT10eXBlb2YgYT9hOiJGT1JNIn0sbm49ZnVuY3Rpb24oYSl7YT1hLm5vZGVUeXBlO3JldHVybiAxPT09YXx8Im51bWJlciIhPT10eXBlb2YgYX0sb249ZnVuY3Rpb24oYSxiLGMpe2Euc2V0QXR0cmlidXRlKGIsYyl9LHBuPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9MCxlPTA7ZTxjLmxlbmd0aDtlKyspe3ZhciBmPWNbZV07bnVsbCE9Xy5qaihhLGIsZikmJigwIT09ZCYmKGI9Xy5paihhLGIsZCkpLGQ9Zil9cmV0dXJuIGR9LHJuPWZ1bmN0aW9uKCl7dmFyIGE9cW4sCmI7Zm9yKGIgaW4gYSlyZXR1cm4hMTtyZXR1cm4hMH0sc249ZnVuY3Rpb24oYSl7dmFyIGI9e30sYztmb3IoYyBpbiBhKWJbY109YVtjXTtyZXR1cm4gYn0sdG49ZnVuY3Rpb24oYSl7cmV0dXJuIGEucmVwbGFjZSgvJi9nLCImYW1wOyIpLnJlcGxhY2UoLzwvZywiJmx0OyIpLnJlcGxhY2UoLz4vZywiJmd0OyIpLnJlcGxhY2UoLyIvZywiJnF1b3Q7IikucmVwbGFjZSgvJy9nLCImYXBvczsiKX0sdW49ZnVuY3Rpb24oYSl7dmFyIGI9dm9pZCAwPT09Yj97fTpiO2lmKGEgaW5zdGFuY2VvZiBfLlVjKXJldHVybiBhO2E9dG4oU3RyaW5nKGEpKTtiLllsJiYoYT1hLnJlcGxhY2UoLyhefFtcclxuXHQgXSkgL2csIiQxJiMxNjA7IikpO2IuWGwmJihhPWEucmVwbGFjZSgvKFxyXG58XG58XHIpL2csIjxicj4iKSk7Yi5abCYmKGE9YS5yZXBsYWNlKC8oXHQrKS9nLCc8c3BhbiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlIj4kMTwvc3Bhbj4nKSk7cmV0dXJuIF8uSW0oYSl9LHZuPWZ1bmN0aW9uKGEpe3ZhciBiPQp7bm9uY2U6Xy5hYih3aW5kb3cpfTtiPXZvaWQgMD09PWI/e306YjthPV8uVWEoYSkudG9TdHJpbmcoKTt2YXIgYz0iPHNjcmlwdCI7Yi5pZCYmKGMrPScgaWQ9IicrdG4oYi5pZCkrJyInKTtiLm5vbmNlJiYoYys9JyBub25jZT0iJyt0bihiLm5vbmNlKSsnIicpO2IudHlwZSYmKGMrPScgdHlwZT0iJyt0bihiLnR5cGUpKyciJyk7Yi5kZWZlciYmKGMrPSIgZGVmZXIiKTtyZXR1cm4gXy5JbShjKygiPiIrYSsiXHgzYy9zY3JpcHQ+IikpfSx3bj1mdW5jdGlvbihhKXt2YXIgYj11bigiIik7cmV0dXJuIF8uSW0oYS5tYXAoZnVuY3Rpb24oYyl7cmV0dXJuIF8uVmModW4oYykpfSkuam9pbihfLlZjKGIpLnRvU3RyaW5nKCkpKX0sem49ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPSIiLGM9T2JqZWN0LmtleXMoYSksZD0wO2Q8Yy5sZW5ndGg7ZCsrKXt2YXIgZT1jW2RdLGY9YVtlXTtpZigheG4udGVzdChlKSl0aHJvdyBFcnJvcigiQSIpO2lmKHZvaWQgMCE9PWYmJm51bGwhPT1mKXtpZigvXm9uL2kudGVzdChlKSl0aHJvdyBFcnJvcigiQSIpOwotMSE9PXluLmluZGV4T2YoZS50b0xvd2VyQ2FzZSgpKSYmKGY9ZiBpbnN0YW5jZW9mIF8uT2M/Zi50b1N0cmluZygpOl8uUGgoU3RyaW5nKGYpKXx8ImFib3V0OmludmFsaWQjekNsb3N1cmV6Iik7Zj1lKyc9IicrdW4oU3RyaW5nKGYpKSsnIic7Yis9IiAiK2Z9fXJldHVybiBifSxDbj1mdW5jdGlvbihhKXt2YXIgYj17fTtpZigheG4udGVzdCgiYm9keSIpKXRocm93IEVycm9yKCJBIik7aWYoLTEhPT1Bbi5pbmRleE9mKCJCT0RZIikpdGhyb3cgRXJyb3IoIkEiKTt2YXIgYz0iPGJvZHkiO2ImJihjKz16bihiKSk7QXJyYXkuaXNBcnJheShhKXx8KGE9dm9pZCAwPT09YT9bXTpbYV0pOy0xIT09Qm4uaW5kZXhPZigiQk9EWSIpP2MrPSI+IjooYT13bihhLm1hcChmdW5jdGlvbihkKXtyZXR1cm4gZCBpbnN0YW5jZW9mIF8uVWM/ZDp1bihTdHJpbmcoZCkpfSkpLGMrPSI+IithLnRvU3RyaW5nKCkrIjwvYm9keT4iKTtyZXR1cm4gXy5JbShjKX0sRW49ZnVuY3Rpb24oYSl7cmV0dXJuIF8ud2EoYSk/CmEuYmMmJihhPWEuYmMoKSxhIGluc3RhbmNlb2YgXy5VYyk/YTpEbigielNveXoiKTpEbihTdHJpbmcoYSkpfSxHbj1mdW5jdGlvbihhLGIpe2ImJmIuaj9iLmooYSk6Rm4oYSxFbihiKSl9LEluPWZ1bmN0aW9uKGEsYil7Yj1hKGJ8fEhuLHZvaWQgMCk7YT1fLmVkKCk7YiYmYi5oP2E9Yi5oKCk6KGE9Xy5SbShhLCJESVYiKSxiPUVuKGIpLEZuKGEsYikpOzE9PWEuY2hpbGROb2Rlcy5sZW5ndGgmJihiPWEuZmlyc3RDaGlsZCwxPT1iLm5vZGVUeXBlJiYoYT1iKSk7cmV0dXJuIGF9LEpuPWZ1bmN0aW9uKGEpe2lmKCJzdHJpbmciIT09dHlwZW9mIGEpdGhyb3cgRXJyb3IoKTtyZXR1cm4gYX0sS249ZnVuY3Rpb24oYSxiLGMpe2lmKGIpcmV0dXJuIEpuKGEpO3ZhciBkO3JldHVybiBudWxsIT0oZD1fLlppKGEpKT9kOmM/IiI6dm9pZCAwfSxObj1mdW5jdGlvbigpe3JldHVybiBMbnx8KExuPW5ldyBfLmxpKF8uVmgoW10pLHZvaWQgMCx2b2lkIDAsdm9pZCAwLE1uKSl9LE9uPWZ1bmN0aW9uKGEsCmIsYyxkLGUpe2E9YS5MO3ZhciBmPSgwLF8uQWkpKGEpO2M9MiZmPzE6YztlPSEhZTt2YXIgZz1fLmxqKGEsZixiLGQpLGg9KDAsXy5aaCkoZyk7aWYoISg0JmgpKXtpZig0Jmh8fE9iamVjdC5pc0Zyb3plbihnKSlnPV8uU2goZyksaD1fLm1qKGgsZixlKSxmPV8uaWooYSxmLGIsZyxkKTtmb3IodmFyIGw9MCxtPTA7bDxnLmxlbmd0aDtsKyspe3ZhciBuPV8uWmkoZ1tsXSk7bnVsbCE9biYmKGdbbSsrXT1uKX1tPGwmJihnLmxlbmd0aD1tKTtoPV8ubmooaCxmLGUpO2g9Xy5QaShoLDIwLCEwKTtoPV8uUGkoaCw0MDk2LCExKTtoPV8uUGkoaCw4MTkyLCExKTsoMCxfLiRoKShnLGgpOzImaCYmT2JqZWN0LmZyZWV6ZShnKX1fLm9qKGgpfHwobD1oLChtPTE9PT1jKT9oPV8uUGkoaCwyLCEwKTplfHwoaD1fLlBpKGgsMzIsITEpKSxoIT09bCYmKDAsXy4kaCkoZyxoKSxtJiZPYmplY3QuZnJlZXplKGcpKTsyPT09YyYmXy5vaihoKSYmKGc9Xy5TaChnKSxoPV8ubWooaCxmLGUpLCgwLF8uJGgpKGcsCmgpLF8uaWooYSxmLGIsZyxkKSk7cmV0dXJuIGd9LFFuPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1QbixlPWImMixmPSExO2lmKG51bGw9PWMpe2lmKGUpcmV0dXJuIE5uKCk7Yz1bXX1lbHNlIGlmKGMuY29uc3RydWN0b3I9PT1fLmxpKXtpZigwPT0oYy5lYyYyKXx8ZSlyZXR1cm4gYztjPV8uS2koYyl9ZWxzZSBBcnJheS5pc0FycmF5KGMpP2Y9ISEoKDAsXy5aaCkoYykmMik6Yz1bXTtpZihlKXtpZighYy5sZW5ndGgpcmV0dXJuIE5uKCk7Znx8KGY9ITAsXy5WaChjKSl9ZWxzZSBpZihmKXtmPSExO2U9Xy5TaChjKTtmb3IoYz0wO2M8ZS5sZW5ndGg7YysrKXt2YXIgZz1lW2NdPV8uU2goZVtjXSk7QXJyYXkuaXNBcnJheShnWzFdKSYmKGdbMV09Xy5WaChnWzFdKSl9Yz1lfWZ8fCgoMCxfLlpoKShjKSY2ND8oMCxfLnppKShjLDMyKTozMiZiJiZfLlJpKGMpKTtkPW5ldyBfLmxpKGMsZCxLbix2b2lkIDApO18uaWooYSxiLDEsZCwhMSk7cmV0dXJuIGR9LFduPWZ1bmN0aW9uKCl7dmFyIGE9ClJuKFNuKF8uRW0oXy5EbShUbigpLGZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9KS5QYygpKSkpLGI9VW4oKS5tYXAoZnVuY3Rpb24oYyl7YTppZihudWxsPT1jLmwpYz1udWxsO2Vsc2UgaWYoIm51bWJlciI9PT10eXBlb2YgYy5sKWM9Yy5sO2Vsc2V7aWYoInN0cmluZyI9PT10eXBlb2YgYy5sKXt2YXIgZD1OdW1iZXIoYy5sKTtpZighaXNOYU4oZCkmJiEvXltcc1x4YTBdKiQvLnRlc3QoYy5sKSl7Yz1kO2JyZWFrIGF9fXRocm93IG5ldyBUeXBlRXJyb3IoIkZhYCIrYy5nKyJgIitjLmwrImAiK3R5cGVvZiBjLmwpO31yZXR1cm4gbnVsbD09PWM/MDpjfSkuZmlsdGVyKGZ1bmN0aW9uKGMpe3JldHVybiAwPGN9KTswPGIubGVuZ3RoJiYoYj1WbihiKSxhLmo9Yik7cmV0dXJuIF8uRm0oYSl9LFhuPWZ1bmN0aW9uKGEpe3JldHVybiJ0cmFuc2xhdGU6IithfSxjbz1mdW5jdGlvbihhKXt2YXIgYj1uZXcgWW47Yj1fLk4oYiwxLGEubmFtZSk7dmFyIGM9Wm4oYS5zdGFydFRpbWUpO2I9Xy5LKGIsCjIsYyk7YT0kbihhLmR1cmF0aW9uKTthPV8uSyhiLDMsYSk7Yj1uZXcgYW87cmV0dXJuIGJvKGEsNSxiKX0sWm49ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IGVvO2Iuc2V0U2Vjb25kcyhNYXRoLmZsb29yKGEvMUUzKSk7YT1NYXRoLnJvdW5kKGElMUUzKjFFNik7Xy5waihiLDIsbnVsbD09YT9hOl8uaWwoYSksMCk7cmV0dXJuIGJ9LCRuPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBmbztiLnNldFNlY29uZHMoTWF0aC5mbG9vcihhLzFFMykpO2E9TWF0aC5yb3VuZChhJTFFMyoxRTYpO18ucGooYiwyLG51bGw9PWE/YTpfLmlsKGEpLDApO3JldHVybiBifSxnbz1mdW5jdGlvbihhKXtyZXR1cm4gcGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLm1hcmsmJihhPXBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoYSwibWFyayIpLDE9PWEubGVuZ3RoKT9hWzBdOm51bGx9LGhvPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5tZWFzdXJlP3BlcmZvcm1hbmNlLm1lYXN1cmUoYSwKYil8fG51bGw6bnVsbH0sa289ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7ZC5zcGxpY2UoMCwyKTtkPSJsIithLnRvU3RyaW5nKDE2KSsiaSIrYi50b1N0cmluZygxNikrKGQubGVuZ3RoPyItIitkLmpvaW4oIl8iKToiIik7aW8/aW8ucHVzaChkKTpqbyhkKX0sbm89ZnVuY3Rpb24oKXt2YXIgYT1sb3x8KGxvPW1vKCdbbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLCIoZnVuY3Rpb24oKXtcJ3VzZSBzdHJpY3RcJzsvKlxcblxcbiBDb3B5cmlnaHQgVGhlIENsb3N1cmUgTGlicmFyeSBBdXRob3JzLlxcbiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxcbiovXFxudmFyIGVcXHUwMDNkdGhpc3x8c2VsZjtmdW5jdGlvbiBmKGEpe3JldHVybiBhfTt2YXIgaDtmdW5jdGlvbiBrKGEpe3RoaXMuZ1xcdTAwM2RhfWsucHJvdG90eXBlLnRvU3RyaW5nXFx1MDAzZGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZytcXCJcXCJ9O3ZhciBsXFx1MDAzZHt9O2Z1bmN0aW9uIG0oYSl7aWYodm9pZCAwXFx1MDAzZFxcdTAwM2RcXHUwMDNkaCl7dmFyIGNcXHUwMDNkbnVsbDt2YXIgYlxcdTAwM2RlLnRydXN0ZWRUeXBlcztpZihiXFx1MDAyNlxcdTAwMjZiLmNyZWF0ZVBvbGljeSl7dHJ5e2NcXHUwMDNkYi5jcmVhdGVQb2xpY3koXFwiZ29vZyNodG1sXFwiLHtjcmVhdGVIVE1MOmYsY3JlYXRlU2NyaXB0OmYsY3JlYXRlU2NyaXB0VVJMOmZ9KX1jYXRjaChkKXtlLmNvbnNvbGVcXHUwMDI2XFx1MDAyNmUuY29uc29sZS5lcnJvcihkLm1lc3NhZ2UpfWhcXHUwMDNkY31lbHNlIGhcXHUwMDNkY31hXFx1MDAzZChjXFx1MDAzZGgpP2MuY3JlYXRlU2NyaXB0VVJMKGEpOmE7cmV0dXJuIG5ldyBrKGEsbCl9Oy8qXFxuXFxuIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXFxuKi9cXG5pZighZnVuY3Rpb24oKXtpZihzZWxmLm9yaWdpbilyZXR1cm5cXCJudWxsXFwiXFx1MDAzZFxcdTAwM2RcXHUwMDNkc2VsZi5vcmlnaW47aWYoXFwiXFwiIVxcdTAwM2RcXHUwMDNkbG9jYXRpb24uaG9zdClyZXR1cm4hMTt0cnl7cmV0dXJuIHdpbmRvdy5wYXJlbnQuZXNjYXBlKFxcIlxcIiksITF9Y2F0Y2goYSl7cmV0dXJuITB9fSgpKXRocm93IEVycm9yKFxcInNhbmRib3hpbmcgZXJyb3JcXCIpO1xcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKFxcIm1lc3NhZ2VcXCIsZnVuY3Rpb24oYSl7dmFyIGNcXHUwMDNkYS5wb3J0c1swXTthXFx1MDAzZGEuZGF0YTt2YXIgYlxcdTAwM2RhLmNhbGxiYWNrTmFtZS5zcGxpdChcXCIuXFwiKSxkXFx1MDAzZHdpbmRvdztcXCJ3aW5kb3dcXCJcXHUwMDNkXFx1MDAzZFxcdTAwM2RiWzBdXFx1MDAyNlxcdTAwMjZiLnNoaWZ0KCk7Zm9yKHZhciBnXFx1MDAzZDA7Z1xcdTAwM2NiLmxlbmd0aC0xO2crKylkW2JbZ11dXFx1MDAzZHt9LGRcXHUwMDNkZFtiW2ddXTtkW2JbYi5sZW5ndGgtMV1dXFx1MDAzZGZ1bmN0aW9uKG4pe2MucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkobikpfTtiXFx1MDAzZGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXFwic2NyaXB0XFwiKTthXFx1MDAzZG0oYS51cmwpO2Iuc3JjXFx1MDAzZGEgaW5zdGFuY2VvZiBrXFx1MDAyNlxcdTAwMjZhLmNvbnN0cnVjdG9yXFx1MDAzZFxcdTAwM2RcXHUwMDNkaz9hLmc6XFwidHlwZV9lcnJvcjpUcnVzdGVkUmVzb3VyY2VVcmxcXCI7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChiKX0sITApO30pLmNhbGwodGhpcyk7XFxuIl0nKSk7CmlmKCFhKXJldHVybiBudWxsO2E9Xy5aaShfLnlqKGEsNikpO3ZhciBiO251bGw9PT1hfHx2b2lkIDA9PT1hP2I9bnVsbDpiPV8uVGEoYSk7cmV0dXJuIGJ9LG9vPWZ1bmN0aW9uKGEpe3ZhciBiPXt9O2E9Xy55KGEpO2Zvcih2YXIgYz1hLm5leHQoKTshYy5kb25lO2M9YS5uZXh0KCkpYz1jLnZhbHVlLGJbYy5sYW5ndWFnZV09Yy5uYW1lO3JldHVybiBifSxwbz1mdW5jdGlvbihhKXtQLmNhbGwodGhpcyk7YT1hfHx7fTt0aGlzLmlkPWEuaWR8fHRoaXMuTWEoKTt0aGlzLmxlPWEubGV8fCIiO3RoaXMuamQ9YS5qZHx8bnVsbDt0aGlzLmtkPWEua2R8fG51bGw7dGhpcy5UZD1hLlRkfHwhMTt0aGlzLmNsYXNzTmFtZT1hLmNsYXNzTmFtZXx8bnVsbDt0aGlzLmw9bnVsbH0sdW89ZnVuY3Rpb24oYSl7cmV0dXJuIHFvKG5ldyBybyxPbihhLDEsMikubWFwKGZ1bmN0aW9uKGIsYyl7dmFyIGQ9bmV3IHNvO2I9dG8oZCwxLGIpO2lmKE9uKGEsMiwyKS5sZW5ndGg+Yyl7ZD1PbihhLDIsMyx2b2lkIDAsCiEwKTtpZigibnVtYmVyIiE9PXR5cGVvZiBjfHwwPmN8fGM+PWQubGVuZ3RoKXRocm93IEVycm9yKCk7dG8oYiwzLGRbY10pfXJldHVybiBifSkpfSx2bz1mdW5jdGlvbihhKXt2YXIgYj1uZXcgc287Yj10byhiLDEsYVswXSk7Mz09PWEubGVuZ3RoJiZ0byhiLDMsYVsyXSk7cmV0dXJuIGJ9LHdvPWZ1bmN0aW9uKGEpe3JldHVybiBfLkJqKGEsc28sMSkubWFwKGZ1bmN0aW9uKGIpe3JldHVybiBfLkNqKGIsMyk/W18uQ2ooYiwxKSwyMDAsXy5DaihiLDMpXTpbXy5DaihiLDEpLDIwMF19KX0sUj1mdW5jdGlvbihhLGIpe3RoaXMueD12b2lkIDAhPT1hP2E6MDt0aGlzLnk9dm9pZCAwIT09Yj9iOjB9O18uaz1SLnByb3RvdHlwZTtfLmsuZXF1YWxzPWZ1bmN0aW9uKGEpe3JldHVybiBhIGluc3RhbmNlb2YgUiYmKHRoaXM9PWE/ITA6dGhpcyYmYT90aGlzLng9PWEueCYmdGhpcy55PT1hLnk6ITEpfTsKXy5rLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5jZWlsKHRoaXMueCk7dGhpcy55PU1hdGguY2VpbCh0aGlzLnkpO3JldHVybiB0aGlzfTtfLmsuZmxvb3I9ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5mbG9vcih0aGlzLngpO3RoaXMueT1NYXRoLmZsb29yKHRoaXMueSk7cmV0dXJuIHRoaXN9O18uay5yb3VuZD1mdW5jdGlvbigpe3RoaXMueD1NYXRoLnJvdW5kKHRoaXMueCk7dGhpcy55PU1hdGgucm91bmQodGhpcy55KTtyZXR1cm4gdGhpc307Xy5rLnRyYW5zbGF0ZT1mdW5jdGlvbihhLGIpe2EgaW5zdGFuY2VvZiBSPyh0aGlzLngrPWEueCx0aGlzLnkrPWEueSk6KHRoaXMueCs9TnVtYmVyKGEpLCJudW1iZXIiPT09dHlwZW9mIGImJih0aGlzLnkrPWIpKTtyZXR1cm4gdGhpc307CnZhciB4bz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IFIoYS54LGEueSl9LHlvPWZ1bmN0aW9uKGEpe3ZhciBiPTE7YT1hLnNwbGl0KCI6Iik7Zm9yKHZhciBjPVtdOzA8YiYmYS5sZW5ndGg7KWMucHVzaChhLnNoaWZ0KCkpLGItLTthLmxlbmd0aCYmYy5wdXNoKGEuam9pbigiOiIpKTtyZXR1cm4gY30sem89ZnVuY3Rpb24oYSxiLGMsZCl7YT1kfHxhO2I9YiYmIioiIT1iP1N0cmluZyhiKS50b1VwcGVyQ2FzZSgpOiIiO2lmKGEucXVlcnlTZWxlY3RvckFsbCYmYS5xdWVyeVNlbGVjdG9yJiYoYnx8YykpcmV0dXJuIGEucXVlcnlTZWxlY3RvckFsbChiKyhjPyIuIitjOiIiKSk7aWYoYyYmYS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKXthPWEuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShjKTtpZihiKXtkPXt9O2Zvcih2YXIgZT0wLGY9MCxnO2c9YVtmXTtmKyspYj09Zy5ub2RlTmFtZSYmKGRbZSsrXT1nKTtkLmxlbmd0aD1lO3JldHVybiBkfXJldHVybiBhfWE9YS5nZXRFbGVtZW50c0J5VGFnTmFtZShifHwKIioiKTtpZihjKXtkPXt9O2ZvcihmPWU9MDtnPWFbZl07ZisrKWI9Zy5jbGFzc05hbWUsImZ1bmN0aW9uIj09dHlwZW9mIGIuc3BsaXQmJl8udShiLnNwbGl0KC9ccysvKSxjKSYmKGRbZSsrXT1nKTtkLmxlbmd0aD1lO3JldHVybiBkfXJldHVybiBhfSxBbz1mdW5jdGlvbihhLGIpe3ZhciBjPWJ8fGRvY3VtZW50O2lmKGMuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSlhPWMuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShhKVswXTtlbHNle2M9ZG9jdW1lbnQ7dmFyIGQ9Ynx8YzthPWQucXVlcnlTZWxlY3RvckFsbCYmZC5xdWVyeVNlbGVjdG9yJiZhP2QucXVlcnlTZWxlY3RvcihhPyIuIithOiIiKTp6byhjLCIqIixhLGIpWzBdfHxudWxsfXJldHVybiBhfHxudWxsfSxCbz1mdW5jdGlvbihhKXtyZXR1cm4gYS5zY3JvbGxpbmdFbGVtZW50P2Euc2Nyb2xsaW5nRWxlbWVudDohXy51YyYmXy5pZChhKT9hLmRvY3VtZW50RWxlbWVudDphLmJvZHl8fGEuZG9jdW1lbnRFbGVtZW50fSxDbz1mdW5jdGlvbihhKXt2YXIgYj0KQm8oYSk7YT1hLnBhcmVudFdpbmRvd3x8YS5kZWZhdWx0VmlldztyZXR1cm4gXy5GJiZhLnBhZ2VZT2Zmc2V0IT1iLnNjcm9sbFRvcD9uZXcgUihiLnNjcm9sbExlZnQsYi5zY3JvbGxUb3ApOm5ldyBSKGEucGFnZVhPZmZzZXR8fGIuc2Nyb2xsTGVmdCxhLnBhZ2VZT2Zmc2V0fHxiLnNjcm9sbFRvcCl9LERvPVsiZGF0YToiLCJodHRwOiIsImh0dHBzOiIsIm1haWx0bzoiLCJmdHA6Il0sRW89ZnVuY3Rpb24oYSxiLGMpe2M9YS5nLmdldChjKTtyZXR1cm4obnVsbD09Yz8wOmMuaGFzKGIpKT9jLmdldChiKTphLmwuaGFzKGIpP3twYToxfTooYz1hLm8uZ2V0KGIpKT9jOmEuaCYmW10uY29uY2F0KF8ubGIoYS5oKSkuc29tZShmdW5jdGlvbihkKXtyZXR1cm4gMD09PWIuaW5kZXhPZihkKX0pP3twYToxfTp7cGE6MH19LEZvPWZ1bmN0aW9uKGEpezA9PT1hLmcubGVuZ3RoJiZhLmcucHVzaCgiIil9LEdvPWZ1bmN0aW9uKGEsYil7aWYoMz09PWIubm9kZVR5cGUpcmV0dXJuIDE7aWYoIW5uKGIpKXJldHVybiAyOwpiPW1uKGIpO2lmKG51bGw9PT1iKXJldHVybiBGbyhhKSwyO3ZhciBjPWEuaDtpZigiRk9STSIhPT1iJiYoYy5qLmhhcyhiKXx8Yy5nLmhhcyhiKSkpcmV0dXJuIDE7Rm8oYSk7cmV0dXJuIDJ9LEhvPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1tbihiKTtjPWMuY3JlYXRlRWxlbWVudChkKTtiPWIuYXR0cmlidXRlcztmb3IodmFyIGU9Xy55KGIpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPWUubmV4dCgpKXt2YXIgZz1mLnZhbHVlO2Y9Zy5uYW1lO2c9Zy52YWx1ZTt2YXIgaD1FbyhhLmgsZixkKSxsO2E6e2lmKGw9aC5jb25kaXRpb25zKXtsPV8ueShsKTtmb3IodmFyIG09bC5uZXh0KCk7IW0uZG9uZTttPWwubmV4dCgpKXt2YXIgbj1fLnkobS52YWx1ZSk7bT1uLm5leHQoKS52YWx1ZTtuPW4ubmV4dCgpLnZhbHVlO3ZhciBxPXZvaWQgMDtpZigobT1udWxsPT0ocT1iLmdldE5hbWVkSXRlbShtKSk/dm9pZCAwOnEudmFsdWUpJiYhbi5oYXMobSkpe2w9ITE7YnJlYWsgYX19fWw9ITB9aWYobClzd2l0Y2goaC5wYSl7Y2FzZSAxOm9uKGMsCmYsZyk7YnJlYWs7Y2FzZSAyOmg9Xy5PaChnKTtoPXZvaWQgMCE9PWgmJi0xIT09RG8uaW5kZXhPZihoLnRvTG93ZXJDYXNlKCkpP2c6ImFib3V0OmludmFsaWQjekNsb3N1cmV6IjtoIT09ZyYmRm8oYSk7b24oYyxmLGgpO2JyZWFrO2Nhc2UgMzpvbihjLGYsZy50b0xvd2VyQ2FzZSgpKTticmVhaztjYXNlIDQ6b24oYyxmLGcpO2JyZWFrO2Nhc2UgMDpGbyhhKX1lbHNlIEZvKGEpfXJldHVybiBjfSxJbz1mdW5jdGlvbihhLGIsYyl7Yj1sbihiLGMpO2I9ZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihiLDUsZnVuY3Rpb24oaCl7cmV0dXJuIEdvKGEsaCl9LCExKTtmb3IodmFyIGQ9Yi5uZXh0Tm9kZSgpLGU9Yy5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksZj1lO251bGwhPT1kOyl7dmFyIGc9dm9pZCAwO2lmKDM9PT1kLm5vZGVUeXBlKWc9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZC5kYXRhKTtlbHNlIGlmKG5uKGQpKWc9SG8oYSxkLGMpO2Vsc2UgdGhyb3cgRXJyb3IoIkEiKTtmLmFwcGVuZENoaWxkKGcpOwppZihkPWIuZmlyc3RDaGlsZCgpKWY9ZztlbHNlIGZvcig7IShkPWIubmV4dFNpYmxpbmcoKSkmJihkPWIucGFyZW50Tm9kZSgpKTspZj1mLnBhcmVudE5vZGV9cmV0dXJuIGV9LEpvPWZ1bmN0aW9uKGEpe3ZhciBiPV8uc2csYz1kb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoIiIpLGQ9Yy5ib2R5O2QuYXBwZW5kQ2hpbGQoSW8oYixhLGMpKTthPShuZXcgWE1MU2VyaWFsaXplcikuc2VyaWFsaXplVG9TdHJpbmcoZCk7YT1hLnNsaWNlKGEuaW5kZXhPZigiPiIpKzEsYS5sYXN0SW5kZXhPZigiPC8iKSk7cmV0dXJuIF8uSW0oYSl9LEtvPWZ1bmN0aW9uKGEpe3ZhciBiPXt9O2E9KGEuZyYmMjw9Xy5qaChhKT9hLmcuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCl8fCIiOiIiKS5zcGxpdCgiXHJcbiIpO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWlmKCEvXltcc1x4YTBdKiQvLnRlc3QoYVtjXSkpe3ZhciBkPXlvKGFbY10pLGU9ZFswXTtkPWRbMV07aWYoInN0cmluZyI9PT0KdHlwZW9mIGQpe2Q9ZC50cmltKCk7dmFyIGY9YltlXXx8W107YltlXT1mO2YucHVzaChkKX19cmV0dXJuIGtuKGIsZnVuY3Rpb24oZyl7cmV0dXJuIGcuam9pbigiLCAiKX0pfSxMbz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIF8uUGY/bmV3IF8uUGYoYSk6bmV3IF8uUGYoYSl9LE1vPWZ1bmN0aW9uKGEpe3RoaXMuTD1fLkooYSl9O18ueihNbyxfLkwpOwp2YXIgTm89ZnVuY3Rpb24oYSl7dmFyIGI9TW87YT1hLkw7dmFyIGM9KDAsXy5BaSkoYSk7Xy5YaShjKTt2YXIgZD1fLmpqKGEsYywxMTIpO2I9Xy5oaihfLmFpKGQsYiwhMCxjKSk7ZCE9PWImJl8uaWooYSxjLDExMixiKTtyZXR1cm4gYn0sT289WzQsNSw2XSxibz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9T287bnVsbD09YyYmKGM9dm9pZCAwKTt2YXIgZT1hLkwsZj0oMCxfLkFpKShlKTtfLlhpKGYpOyhkPXBuKGUsZixkKSkmJmQhPT1iJiZudWxsIT1jJiYoZj1fLmlqKGUsZixkKSk7Xy5paihlLGYsYixjKTtyZXR1cm4gYX0sUG89ZnVuY3Rpb24oYSl7dmFyIGI9dm9pZCAwPT09Yj8wOmI7cmV0dXJuIF8ucmooXy5jayhhLDEpLGIpfSxlbz1mdW5jdGlvbihhKXt0aGlzLkw9Xy5KKGEpfTtfLnooZW8sXy5MKTtlby5wcm90b3R5cGUuZ2V0U2Vjb25kcz1mdW5jdGlvbigpe3JldHVybiBQbyh0aGlzKX07CmVvLnByb3RvdHlwZS5zZXRTZWNvbmRzPWZ1bmN0aW9uKGEpe3JldHVybiBfLnBqKHRoaXMsMSxfLmtsKGEpLCIwIil9O3ZhciBmbz1mdW5jdGlvbihhKXt0aGlzLkw9Xy5KKGEpfTtfLnooZm8sXy5MKTtmby5wcm90b3R5cGUuZ2V0U2Vjb25kcz1mdW5jdGlvbigpe3JldHVybiBQbyh0aGlzKX07Zm8ucHJvdG90eXBlLnNldFNlY29uZHM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8ucGoodGhpcywxLF8ua2woYSksIjAiKX07dmFyIFFvPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBfLmNtO3JldHVybiBfLkdsKGIsMTEsYSl9LFRuPWZ1bmN0aW9uKCl7dmFyIGE9bmV3IF8uQ20oMTg3MSwiMCIpO2Eucz0iaHR0cHM6Ly90cmFuc2xhdGUuZ29vZ2xlYXBpcy5jb20vZWxlbWVudC9sb2c/Zm9ybWF0PWpzb24maGFzZmFzdD10cnVlIjtyZXR1cm4gYX0sUm49ZnVuY3Rpb24oYSl7YS5vPVJvO3JldHVybiBhfSxhbz1mdW5jdGlvbihhKXt0aGlzLkw9Xy5KKGEpfTtfLnooYW8sXy5MKTsKdmFyIFNvPWZ1bmN0aW9uKGEpe3RoaXMuTD1fLkooYSl9O18ueihTbyxfLkwpO3ZhciBZbj1mdW5jdGlvbihhKXt0aGlzLkw9Xy5KKGEpfTtfLnooWW4sXy5MKTt2YXIgVG89ZnVuY3Rpb24oYSl7dGhpcy5MPV8uSihhKX07Xy56KFRvLF8uTCk7dmFyIFVvPWZ1bmN0aW9uKGEpe3RoaXMuTD1fLkooYSl9O18ueihVbyxfLkwpO3ZhciBWbz1mdW5jdGlvbihhKXt0aGlzLkw9Xy5KKGEpfTtfLnooVm8sXy5MKTsKdmFyIFdvPWZ1bmN0aW9uKGEpe2Eubz0wO3ZhciBiPWEubC52ZjthLmw9bnVsbDtyZXR1cm4gYn0sU249ZnVuY3Rpb24oYSl7YS5sPW5ldyBYbztyZXR1cm4gYX0sWm89ZnVuY3Rpb24oYSxiKXtiPVlvKGJ8fHt9LGEuaj9hLmouZygpOnt9KTthLmgobnVsbCxiLnpiKTtyZXR1cm4gYi5sKCl9LCRvPWZ1bmN0aW9uKGEpe2EuR2I9dm9pZCAwO2Eub2I9ZnVuY3Rpb24oKXtyZXR1cm4gYS5HYj9hLkdiOmEuR2I9bmV3IGF9fSxhcD17fSxicD0vJi9nLGNwPS88L2csZHA9Lz4vZyxlcD0vIi9nLGZwPS8nL2csZ3A9L1x4MDAvZyxocD0vW1x4MDAmPD4iJ10vLGlwPWZ1bmN0aW9uKGEpe2lmKCFocC50ZXN0KGEpKXJldHVybiBhOy0xIT1hLmluZGV4T2YoIiYiKSYmKGE9YS5yZXBsYWNlKGJwLCImYW1wOyIpKTstMSE9YS5pbmRleE9mKCI8IikmJihhPWEucmVwbGFjZShjcCwiJmx0OyIpKTstMSE9YS5pbmRleE9mKCI+IikmJihhPWEucmVwbGFjZShkcCwiJmd0OyIpKTstMSE9YS5pbmRleE9mKCciJykmJgooYT1hLnJlcGxhY2UoZXAsIiZxdW90OyIpKTstMSE9YS5pbmRleE9mKCInIikmJihhPWEucmVwbGFjZShmcCwiJiMzOTsiKSk7LTEhPWEuaW5kZXhPZigiXHgwMCIpJiYoYT1hLnJlcGxhY2UoZ3AsIiYjMDsiKSk7cmV0dXJuIGF9LGpwPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE8Yj8tMTphPmI/MTowfSxrcD1mdW5jdGlvbihhLGIpe3ZhciBjPTA7YT0oMCxfLm1jKShTdHJpbmcoYSkpLnNwbGl0KCIuIik7Yj0oMCxfLm1jKShTdHJpbmcoYikpLnNwbGl0KCIuIik7Zm9yKHZhciBkPU1hdGgubWF4KGEubGVuZ3RoLGIubGVuZ3RoKSxlPTA7MD09YyYmZTxkO2UrKyl7dmFyIGY9YVtlXXx8IiIsZz1iW2VdfHwiIjtkb3tmPS8oXGQqKShcRCopKC4qKS8uZXhlYyhmKXx8WyIiLCIiLCIiLCIiXTtnPS8oXGQqKShcRCopKC4qKS8uZXhlYyhnKXx8WyIiLCIiLCIiLCIiXTtpZigwPT1mWzBdLmxlbmd0aCYmMD09Z1swXS5sZW5ndGgpYnJlYWs7Yz1qcCgwPT1mWzFdLmxlbmd0aD8wOnBhcnNlSW50KGZbMV0sCjEwKSwwPT1nWzFdLmxlbmd0aD8wOnBhcnNlSW50KGdbMV0sMTApKXx8anAoMD09ZlsyXS5sZW5ndGgsMD09Z1syXS5sZW5ndGgpfHxqcChmWzJdLGdbMl0pO2Y9ZlszXTtnPWdbM119d2hpbGUoMD09Yyl9cmV0dXJuIGN9LG1wPWZ1bmN0aW9uKGEpe3ZhciBiPWxwO3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYiwiNy4wIik/YlsiNy4wIl06YlsiNy4wIl09YSgiNy4wIil9LGxwPXt9LG5wPWZ1bmN0aW9uKCl7cmV0dXJuIG1wKGZ1bmN0aW9uKCl7cmV0dXJuIDA8PWtwKF8uSWMsIjcuMCIpfSl9LG9wPWZ1bmN0aW9uKGEpe3RoaXMuZz1hfTtvcC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLnRvU3RyaW5nKCl9Owp2YXIgcHA9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLkxtJiZhLmNvbnN0cnVjdG9yPT09Xy5MbT9hLmc6InR5cGVfZXJyb3I6U2FmZVN0eWxlU2hlZXQifSxEbj1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIF8uVWM/YTpfLkltKGlwKFN0cmluZyhhKSkpfSxGbj1mdW5jdGlvbihhLGIpe2lmKCgwLF8uWGMpKCkpZm9yKDthLmxhc3RDaGlsZDspYS5yZW1vdmVDaGlsZChhLmxhc3RDaGlsZCk7YS5pbm5lckhUTUw9Xy5WYyhiKX0scXA9ZnVuY3Rpb24oYSxiKXtpZighKGIgaW5zdGFuY2VvZiBfLk9jfHxiIGluc3RhbmNlb2YgXy5PYykpe2I9U3RyaW5nKGIpO2I6e3ZhciBjPWI7aWYoXy5RYyl7dHJ5e3ZhciBkPW5ldyBVUkwoYyl9Y2F0Y2goZSl7Yz0iaHR0cHM6IjticmVhayBifWM9ZC5wcm90b2NvbH1lbHNlIGM6e2Q9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO3RyeXtkLmhyZWY9Y31jYXRjaChlKXtjPXZvaWQgMDticmVhayBjfWM9ZC5wcm90b2NvbDsKYz0iOiI9PT1jfHwiIj09PWM/Imh0dHBzOiI6Y319ImphdmFzY3JpcHQ6Ij09PWMmJihiPSJhYm91dDppbnZhbGlkI3pDbG9zdXJleiIpO2I9bmV3IF8uT2MoYixfLlJjKX1hLmFjdGlvbj1fLm5pKGIpfSxycD0vXltcdysvXy1dK1s9XXswLDJ9JC8sc3A9ZnVuY3Rpb24oYSl7YT0oYXx8Xy50KS5kb2N1bWVudDtyZXR1cm4gYS5xdWVyeVNlbGVjdG9yPyhhPWEucXVlcnlTZWxlY3Rvcignc3R5bGVbbm9uY2VdLGxpbmtbcmVsPSJzdHlsZXNoZWV0Il1bbm9uY2VdJykpJiYoYT1hLm5vbmNlfHxhLmdldEF0dHJpYnV0ZSgibm9uY2UiKSkmJnJwLnRlc3QoYSk/YToiIjoiIn0sdHA9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbmV3IFIoYS54LWIueCxhLnktYi55KX0sdXA9ZnVuY3Rpb24oYSl7cmV0dXJuIGEucmVwbGFjZSgvXHhhMHxbIFx0XSsvZywiICIpfSx2cD1mdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKC9bXHNceGEwXSskLywiIil9LHdwPWZ1bmN0aW9uKGEpe3JldHVybiBhPWlwKGEpfSwKeHA9ZnVuY3Rpb24oYSl7cmV0dXJuIGEucmVwbGFjZSgvJihbXjtdKyk7L2csZnVuY3Rpb24oYixjKXtzd2l0Y2goYyl7Y2FzZSAiYW1wIjpyZXR1cm4iJiI7Y2FzZSAibHQiOnJldHVybiI8IjtjYXNlICJndCI6cmV0dXJuIj4iO2Nhc2UgInF1b3QiOnJldHVybiciJztkZWZhdWx0OnJldHVybiIjIiE9Yy5jaGFyQXQoMCl8fChjPU51bWJlcigiMCIrYy5zbGljZSgxKSksaXNOYU4oYykpP2I6U3RyaW5nLmZyb21DaGFyQ29kZShjKX19KX0seXA9LyYoW147XHM8Jl0rKTs/L2csenA9ZnVuY3Rpb24oYSl7dmFyIGI9eyImYW1wOyI6IiYiLCImbHQ7IjoiPCIsIiZndDsiOiI+IiwiJnF1b3Q7IjonIid9O3ZhciBjPV8udC5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gYS5yZXBsYWNlKHlwLGZ1bmN0aW9uKGQsZSl7dmFyIGY9YltkXTtpZihmKXJldHVybiBmOyIjIj09ZS5jaGFyQXQoMCkmJihlPU51bWJlcigiMCIrZS5zbGljZSgxKSksaXNOYU4oZSl8fChmPVN0cmluZy5mcm9tQ2hhckNvZGUoZSkpKTsKZnx8KGY9Xy5JbShkKyIgIiksRm4oYyxmKSxmPWMuZmlyc3RDaGlsZC5ub2RlVmFsdWUuc2xpY2UoMCwtMSkpO3JldHVybiBiW2RdPWZ9KX0sQXA9ZnVuY3Rpb24oYSl7cmV0dXJuLTEhPWEuaW5kZXhPZigiJiIpPyJkb2N1bWVudCJpbiBfLnQ/enAoYSk6eHAoYSk6YX0sVD1mdW5jdGlvbihhKXtyZXR1cm4gXy5mZChkb2N1bWVudCxhKX0sQnA9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLm5kKGRvY3VtZW50LGFyZ3VtZW50cyl9LENwPWZ1bmN0aW9uKGEsYil7Xy5tZChfLmRkKGEpLGEsYXJndW1lbnRzLDEpfSxEcD1mdW5jdGlvbihhLGIpe2IucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLGIubmV4dFNpYmxpbmcpfSxFcD1mdW5jdGlvbihhKXthJiZhLnBhcmVudE5vZGUmJmEucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChhKX0sRnA9ZnVuY3Rpb24oYSl7cmV0dXJuIF8ud2EoYSkmJjE9PWEubm9kZVR5cGV9LEdwPWZ1bmN0aW9uKGEpe3JldHVybiBhLmNvbnRlbnREb2N1bWVudHx8CmEuY29udGVudFdpbmRvdy5kb2N1bWVudH0sSHA9ZnVuY3Rpb24oYSl7dHJ5e3JldHVybiBhLmNvbnRlbnRXaW5kb3d8fChhLmNvbnRlbnREb2N1bWVudD9fLmtkKGEuY29udGVudERvY3VtZW50KTpudWxsKX1jYXRjaChiKXt9cmV0dXJuIG51bGx9LElwPXtTQ1JJUFQ6MSxTVFlMRToxLEhFQUQ6MSxJRlJBTUU6MSxPQkpFQ1Q6MX0sSnA9e0lNRzoiICIsQlI6IlxuIn0sS3A9ZnVuY3Rpb24oYSl7YT1hLnRhYkluZGV4O3JldHVybiJudW1iZXIiPT09dHlwZW9mIGEmJjA8PWEmJjMyNzY4PmF9LExwPWZ1bmN0aW9uKGEsYil7Yj9hLnRhYkluZGV4PTA6KGEudGFiSW5kZXg9LTEsYS5yZW1vdmVBdHRyaWJ1dGUoInRhYkluZGV4IikpfSxNcD1mdW5jdGlvbihhLGIsYyl7aWYoIShhLm5vZGVOYW1lIGluIElwKSlpZigzPT1hLm5vZGVUeXBlKWM/Yi5wdXNoKFN0cmluZyhhLm5vZGVWYWx1ZSkucmVwbGFjZSgvKFxyXG58XHJ8XG4pL2csIiIpKTpiLnB1c2goYS5ub2RlVmFsdWUpO2Vsc2UgaWYoYS5ub2RlTmFtZSBpbgpKcCliLnB1c2goSnBbYS5ub2RlTmFtZV0pO2Vsc2UgZm9yKGE9YS5maXJzdENoaWxkO2E7KU1wKGEsYixjKSxhPWEubmV4dFNpYmxpbmd9LE5wPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO01wKGEsYiwhMCk7YT1iLmpvaW4oIiIpO2E9YS5yZXBsYWNlKC8gXHhBRCAvZywiICIpLnJlcGxhY2UoL1x4QUQvZywiIik7YT1hLnJlcGxhY2UoL1x1MjAwQi9nLCIiKTthPWEucmVwbGFjZSgvICsvZywiICIpOyIgIiE9YSYmKGE9YS5yZXBsYWNlKC9eXHMqLywiIikpO3JldHVybiBhfSxPcD1mdW5jdGlvbihhKXt2YXIgYj1bXTtNcChhLGIsITEpO3JldHVybiBiLmpvaW4oIiIpfSxQcD1mdW5jdGlvbihhLGIsYyl7dGhpcy5wcm9taXNlPWE7dGhpcy5yZXNvbHZlPWI7dGhpcy5yZWplY3Q9Y30sUXA9ZnVuY3Rpb24oKXt2YXIgYSxiLGM9bmV3IF8ubGUoZnVuY3Rpb24oZCxlKXthPWQ7Yj1lfSk7cmV0dXJuIG5ldyBQcChjLGEsYil9LFJwPWZ1bmN0aW9uKGEpe3ZhciBiPV8uc2YoYSk7aWYoInVuZGVmaW5lZCI9PQp0eXBlb2YgYil0aHJvdyBFcnJvcigiTSIpO3ZhciBjPW5ldyBfLlhmKG51bGwpO2E9Xy5yZihhKTtmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGU9YltkXSxmPWFbZF07QXJyYXkuaXNBcnJheShmKT9fLmpnKGMsZSxmKTpjLmFkZChlLGYpfXJldHVybiBjfSx4bj0vXlthLXpdW2EtelxkLV0qJC9pLEFuPSJBUFBMRVQgQkFTRSBFTUJFRCBJRlJBTUUgTElOSyBNQVRIIE1FVEEgT0JKRUNUIFNDUklQVCBTVFlMRSBTVkcgVEVNUExBVEUiLnNwbGl0KCIgIiksQm49IkFSRUEgQlIgQ09MIENPTU1BTkQgSFIgSU1HIElOUFVUIEtFWUdFTiBQQVJBTSBTT1VSQ0UgVFJBQ0sgV0JSIi5zcGxpdCgiICIpLHluPVsiYWN0aW9uIiwiZm9ybWFjdGlvbiIsImhyZWYiXSxTcD1mdW5jdGlvbigpe3RoaXMuZz1uZXcgTWFwfTsKU3AucHJvdG90eXBlLmZvcm1hdD1mdW5jdGlvbihhKXt2YXIgYj10aGlzLGM9dW4oIl9zYWZldmFsdWVzX2Zvcm1hdF9tYXJrZXJfOiIpLnRvU3RyaW5nKCk7YT11bihhKS50b1N0cmluZygpLnJlcGxhY2UobmV3IFJlZ0V4cCgiXFx7IitjKyJbXFx3JiM7XStcXH0iLCJnIiksZnVuY3Rpb24oZCl7dmFyIGU7aWYoZT1iLmcuZ2V0KGQpKXtkPSIiO3N3aXRjaChlLnR5cGUpe2Nhc2UgImh0bWwiOmQ9ZS5RZjticmVhaztjYXNlICJzdGFydFRhZyI6ZD0iPCIrZS50YWdOYW1lK2UuYXR0cmlidXRlcysiPiI7YnJlYWs7Y2FzZSAiZW5kVGFnIjpkPSI8LyIrZS50YWdOYW1lKyI+In1lPWR9ZWxzZSBlPWQ7cmV0dXJuIGV9KTtyZXR1cm4gXy5JbShhKX07U3AucHJvdG90eXBlLnRleHQ9ZnVuY3Rpb24oYSl7cmV0dXJuIFRwKHRoaXMse3R5cGU6Imh0bWwiLFFmOnVuKGEpLnRvU3RyaW5nKCl9KX07CnZhciBUcD1mdW5jdGlvbihhLGIpe3ZhciBjPSJ7X3NhZmV2YWx1ZXNfZm9ybWF0X21hcmtlcl86IithLmcuc2l6ZSsiXyIrTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMikrIn0iO2EuZy5zZXQodW4oYykudG9TdHJpbmcoKSxiKTtyZXR1cm4gY30sVXA9e30sVnA9e30sV3A9e30sSG49e30sTW49e30sTG4sWHA9ZnVuY3Rpb24oYSxiLGMpe3JldHVybihhPV8ua2ooYSxiLGMsITEpKT9hOl8uWWgoYil9LHRvPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5waihhLGIsXy5sbChjKSwiIil9LFlwPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG51bGwhPWEmJmEuemI9PT1ifSxacD1mdW5jdGlvbihhKXtpZihudWxsIT1hKXN3aXRjaChhLlZkKXtjYXNlIDE6cmV0dXJuIDE7Y2FzZSAtMTpyZXR1cm4tMTtjYXNlIDA6cmV0dXJuIDB9cmV0dXJuIG51bGx9LCRwPXt9LGFxPS88KD86IXxcLz8oW2EtekEtWl1bYS16QS1aMC05OlwtXSopKSg/OltePiciXXwiW14iXSoifCdbXiddKicpKj4vZywKYnE9LzwvZyxjcT1mdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKC88XC8vZywiPFxcLyIpLnJlcGxhY2UoL1xdXF0+L2csIl1dXFw+Iil9LGVxPWZ1bmN0aW9uKCl7dmFyIGE7WXAoIiIsV3ApP2E9IiIuZWEoKTphPWRxLnRlc3QoIiIpPyIiOiJ6U295eiI7WXAoYSxXcCkmJihhPWEuZWEoKSk7cmV0dXJuKGEmJiFhLnN0YXJ0c1dpdGgoIiAiKT8iICI6IiIpK2F9LGZxPWZ1bmN0aW9uKGEpe3JldHVybiBZcChhLFZwKT9hLmVhKCk6YSBpbnN0YW5jZW9mIF8uUmI/Xy5iYihhKS50b1N0cmluZygpOiJhYm91dDppbnZhbGlkI3pTb3l6In0sZ3E9eyJceDAwIjoiJiMwOyIsIlx0IjoiJiM5OyIsIlxuIjoiJiMxMDsiLCJcdiI6IiYjMTE7IiwiXGYiOiImIzEyOyIsIlxyIjoiJiMxMzsiLCIgIjoiJiMzMjsiLCciJzoiJnF1b3Q7IiwiJiI6IiZhbXA7IiwiJyI6IiYjMzk7IiwiLSI6IiYjNDU7IiwiLyI6IiYjNDc7IiwiPCI6IiZsdDsiLCI9IjoiJiM2MTsiLCI+IjoiJmd0OyIsImAiOiImIzk2OyIsCiJcdTAwODUiOiImIzEzMzsiLCJcdTAwYTAiOiImIzE2MDsiLCJcdTIwMjgiOiImIzgyMzI7IiwiXHUyMDI5IjoiJiM4MjMzOyJ9LGhxPWZ1bmN0aW9uKGEpe3JldHVybiBncVthXX0saXE9eyJceDAwIjoiXFwwICIsIlxiIjoiXFw4ICIsIlx0IjoiXFw5ICIsIlxuIjoiXFxhICIsIlx2IjoiXFxiICIsIlxmIjoiXFxjICIsIlxyIjoiXFxkICIsJyInOiJcXDIyICIsIiYiOiJcXDI2ICIsIiciOiJcXDI3ICIsIigiOiJcXDI4ICIsIikiOiJcXDI5ICIsIioiOiJcXDJhICIsIi8iOiJcXDJmICIsIjoiOiJcXDNhICIsIjsiOiJcXDNiICIsIjwiOiJcXDNjICIsIj0iOiJcXDNkICIsIj4iOiJcXDNlICIsIkAiOiJcXDQwICIsIlxcIjoiXFw1YyAiLCJ7IjoiXFw3YiAiLCJ9IjoiXFw3ZCAiLCJcdTAwODUiOiJcXDg1ICIsIlx1MDBhMCI6IlxcYTAgIiwiXHUyMDI4IjoiXFwyMDI4ICIsIlx1MjAyOSI6IlxcMjAyOSAifSxqcT1mdW5jdGlvbihhKXtyZXR1cm4gaXFbYV19LGtxPXsiXHgwMCI6IiUwMCIsCiJcdTAwMDEiOiIlMDEiLCJcdTAwMDIiOiIlMDIiLCJcdTAwMDMiOiIlMDMiLCJcdTAwMDQiOiIlMDQiLCJcdTAwMDUiOiIlMDUiLCJcdTAwMDYiOiIlMDYiLCJcdTAwMDciOiIlMDciLCJcYiI6IiUwOCIsIlx0IjoiJTA5IiwiXG4iOiIlMEEiLCJcdiI6IiUwQiIsIlxmIjoiJTBDIiwiXHIiOiIlMEQiLCJcdTAwMGUiOiIlMEUiLCJcdTAwMGYiOiIlMEYiLCJcdTAwMTAiOiIlMTAiLCJcdTAwMTEiOiIlMTEiLCJcdTAwMTIiOiIlMTIiLCJcdTAwMTMiOiIlMTMiLCJcdTAwMTQiOiIlMTQiLCJcdTAwMTUiOiIlMTUiLCJcdTAwMTYiOiIlMTYiLCJcdTAwMTciOiIlMTciLCJcdTAwMTgiOiIlMTgiLCJcdTAwMTkiOiIlMTkiLCJcdTAwMWEiOiIlMUEiLCJcdTAwMWIiOiIlMUIiLCJcdTAwMWMiOiIlMUMiLCJcdTAwMWQiOiIlMUQiLCJcdTAwMWUiOiIlMUUiLCJcdTAwMWYiOiIlMUYiLCIgIjoiJTIwIiwnIic6IiUyMiIsIiciOiIlMjciLCIoIjoiJTI4IiwiKSI6IiUyOSIsIjwiOiIlM0MiLAoiPiI6IiUzRSIsIlxcIjoiJTVDIiwieyI6IiU3QiIsIn0iOiIlN0QiLCJcdTAwN2YiOiIlN0YiLCJcdTAwODUiOiIlQzIlODUiLCJcdTAwYTAiOiIlQzIlQTAiLCJcdTIwMjgiOiIlRTIlODAlQTgiLCJcdTIwMjkiOiIlRTIlODAlQTkiLCJcdWZmMDEiOiIlRUYlQkMlODEiLCJcdWZmMDMiOiIlRUYlQkMlODMiLCJcdWZmMDQiOiIlRUYlQkMlODQiLCJcdWZmMDYiOiIlRUYlQkMlODYiLCJcdWZmMDciOiIlRUYlQkMlODciLCJcdWZmMDgiOiIlRUYlQkMlODgiLCJcdWZmMDkiOiIlRUYlQkMlODkiLCJcdWZmMGEiOiIlRUYlQkMlOEEiLCJcdWZmMGIiOiIlRUYlQkMlOEIiLCJcdWZmMGMiOiIlRUYlQkMlOEMiLCJcdWZmMGYiOiIlRUYlQkMlOEYiLCJcdWZmMWEiOiIlRUYlQkMlOUEiLCJcdWZmMWIiOiIlRUYlQkMlOUIiLCJcdWZmMWQiOiIlRUYlQkMlOUQiLCJcdWZmMWYiOiIlRUYlQkMlOUYiLCJcdWZmMjAiOiIlRUYlQkMlQTAiLCJcdWZmM2IiOiIlRUYlQkMlQkIiLCJcdWZmM2QiOiIlRUYlQkMlQkQifSwKbHE9ZnVuY3Rpb24oYSl7cmV0dXJuIGtxW2FdfSxtcT0vW1x4MDBceDIyXHgyNlx4MjdceDNjXHgzZV0vZyxucT1mdW5jdGlvbihhKXtyZXR1cm4gWXAoYSxfLk1tKT9hOmEgaW5zdGFuY2VvZiBfLlVjPygwLF8uUG0pKF8uVmMoYSkudG9TdHJpbmcoKSk6KDAsXy5QbSkoU3RyaW5nKFN0cmluZyhhKSkucmVwbGFjZShtcSxocSksWnAoYSkpfSxvcT0vW1x4MDBceDIyXHgyN1x4M2NceDNlXS9nLFY9ZnVuY3Rpb24oYSl7cmV0dXJuIFlwKGEsXy5NbSk/U3RyaW5nKFN0cmluZyhhLmVhKCkpLnJlcGxhY2UoYXEsIiIpLnJlcGxhY2UoYnEsIiZsdDsiKSkucmVwbGFjZShvcSxocSk6U3RyaW5nKGEpLnJlcGxhY2UobXEsaHEpfSxwcT0vW1x4MDBceDA5LVx4MGQgXHgyMlx4MjZceDI3XHgyZFwvXHgzYy1ceDNlYFx4ODVceGEwXHUyMDI4XHUyMDI5XS9nLHFxPS9bXHgwMFx4MDktXHgwZCBceDIyXHgyN1x4MmRcL1x4M2MtXHgzZWBceDg1XHhhMFx1MjAyOFx1MjAyOV0vZyxycT0vW1x4MDBceDA4LVx4MGRceDIyXHgyNi1ceDJhXC9ceDNhLVx4M2VAXFxceDdiXHg3ZFx4ODVceGEwXHUyMDI4XHUyMDI5XS9nLApzcT0vW1x4MDAtIFx4MjJceDI3LVx4MjlceDNjXHgzZVxcXHg3Ylx4N2RceDdmXHg4NVx4YTBcdTIwMjhcdTIwMjlcdWZmMDFcdWZmMDNcdWZmMDRcdWZmMDYtXHVmZjBjXHVmZjBmXHVmZjFhXHVmZjFiXHVmZjFkXHVmZjFmXHVmZjIwXHVmZjNiXHVmZjNkXS9nLHRxPWZ1bmN0aW9uKGEpe3JldHVybiBTdHJpbmcoYSkucmVwbGFjZShzcSxscSl9LHVxPS9eKD8hLSooPzpleHByZXNzaW9ufCg/Om1vei0pP2JpbmRpbmcpKSg/Oig/OlsuI10/LT8oPzpbX2EtejAtOS1dKykoPzotW19hLXowLTktXSspKi0/fCg/OmNhbGN8Y3ViaWMtYmV6aWVyfGRyb3Atc2hhZG93fGhzbHxoc2xhfGh1ZS1yb3RhdGV8aW52ZXJ0fGxpbmVhci1ncmFkaWVudHxtYXh8bWlufHJnYnxyZ2JhfHJvdGF0ZXxyb3RhdGVafHRyYW5zbGF0ZXx0cmFuc2xhdGUzZHx0cmFuc2xhdGVYfHRyYW5zbGF0ZVl8dmFyKVwoKD86KD86KD86KD86XC8oPyFbXC9cKl0pKXwoPzpcKig/IVwvKSkpP1stXHUwMDIwXHQsKy4hIyVfMC05YS16QS1aXSspKnwoPzpjYWxjfGN1YmljLWJlemllcnxkcm9wLXNoYWRvd3xoc2x8aHNsYXxodWUtcm90YXRlfGludmVydHxsaW5lYXItZ3JhZGllbnR8bWF4fG1pbnxyZ2J8cmdiYXxyb3RhdGV8cm90YXRlWnx0cmFuc2xhdGV8dHJhbnNsYXRlM2R8dHJhbnNsYXRlWHx0cmFuc2xhdGVZfHZhcilcKCg/Oig/Oig/OlwvKD8hW1wvXCpdKSl8KD86XCooPyFcLykpKT9bLVx1MDAyMFx0LCsuISMlXzAtOWEtekEtWl0rKSpcKSkrXCl8Wy0rXT8oPzpbMC05XSsoPzpcLlswLTldKik/fFwuWzAtOV0rKSg/OmUtP1swLTldKyk/KD86W2Etel17MSw0fXwlKT98KD86KD86XC8oPyFbXC9cKl0pKXwoPzpcKig/IVwvKSkpfCFpbXBvcnRhbnQpKD86XHMqWyxcdTAwMjBdXHMqfCQpKSokL2ksCnZxPWZ1bmN0aW9uKGEpe1lwKGEsXy5KbSk/YT1jcShhLmVhKCkpOm51bGw9PWE/YT0iIjphIGluc3RhbmNlb2Ygb3A/YT1jcShhIGluc3RhbmNlb2Ygb3AmJmEuY29uc3RydWN0b3I9PT1vcD9hLmc6InR5cGVfZXJyb3I6U2FmZVN0eWxlIik6YSBpbnN0YW5jZW9mIF8uTG0/YT1jcShwcChhKSk6KGE9U3RyaW5nKGEpLGE9dXEudGVzdChhKT9hOiJ6U295eiIpO3JldHVybiBhfSx3cT0vXig/IWphdmFzY3JpcHQ6KSg/OlthLXowLTkrLi1dKzp8W14mOlwvPyNdKig/OltcLz8jXXwkKSkvaSx4cT1mdW5jdGlvbihhKXtZcChhLFVwKXx8WXAoYSxWcCk/YT10cShhKTphIGluc3RhbmNlb2YgXy5PYz9hPXRxKF8ubmkoYSkpOmEgaW5zdGFuY2VvZiBfLlJiP2E9dHEoXy5iYihhKS50b1N0cmluZygpKTooYT1TdHJpbmcoYSksYT13cS50ZXN0KGEpP2EucmVwbGFjZShzcSxscSk6ImFib3V0OmludmFsaWQjelNveXoiKTtyZXR1cm4gYX0seXE9L15bXiY6XC8/I10qKD86W1wvPyNdfCQpfF5odHRwcz86fF5mdHA6fF5kYXRhOmltYWdlXC9bYS16MC05Ky1dKztiYXNlNjQsW2EtejAtOStcL10rPSokfF5ibG9iOi9pLAp6cT1mdW5jdGlvbihhKXtZcChhLFVwKXx8WXAoYSxWcCk/YT10cShhKTphIGluc3RhbmNlb2YgXy5PYz9hPXRxKF8ubmkoYSkpOmEgaW5zdGFuY2VvZiBfLlJiP2E9dHEoXy5iYihhKS50b1N0cmluZygpKTooYT1TdHJpbmcoYSksYT15cS50ZXN0KGEpP2EucmVwbGFjZShzcSxscSk6ImFib3V0OmludmFsaWQjelNveXoiKTtyZXR1cm4gYX0sZHE9L14oPyFvbnxzcmN8KD86YWN0aW9ufGFyY2hpdmV8YmFja2dyb3VuZHxjaXRlfGNsYXNzaWR8Y29kZWJhc2V8Y29udGVudHxkYXRhfGRzeW5jfGhyZWZ8aHR0cC1lcXVpdnxsb25nZGVzY3xzdHlsZXx1c2VtYXApXHMqJCkoPzpbYS16MC05XyQ6LV0qKSQvaSxBcT1mdW5jdGlvbihhLGIsYyxkKXt0aGlzLnRvcD1hO3RoaXMucmlnaHQ9Yjt0aGlzLmJvdHRvbT1jO3RoaXMubGVmdD1kfTtfLms9QXEucHJvdG90eXBlOwpfLmsuY29udGFpbnM9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMmJmE/YSBpbnN0YW5jZW9mIEFxP2EubGVmdD49dGhpcy5sZWZ0JiZhLnJpZ2h0PD10aGlzLnJpZ2h0JiZhLnRvcD49dGhpcy50b3AmJmEuYm90dG9tPD10aGlzLmJvdHRvbTphLng+PXRoaXMubGVmdCYmYS54PD10aGlzLnJpZ2h0JiZhLnk+PXRoaXMudG9wJiZhLnk8PXRoaXMuYm90dG9tOiExfTtfLmsuY2VpbD1mdW5jdGlvbigpe3RoaXMudG9wPU1hdGguY2VpbCh0aGlzLnRvcCk7dGhpcy5yaWdodD1NYXRoLmNlaWwodGhpcy5yaWdodCk7dGhpcy5ib3R0b209TWF0aC5jZWlsKHRoaXMuYm90dG9tKTt0aGlzLmxlZnQ9TWF0aC5jZWlsKHRoaXMubGVmdCk7cmV0dXJuIHRoaXN9OwpfLmsuZmxvb3I9ZnVuY3Rpb24oKXt0aGlzLnRvcD1NYXRoLmZsb29yKHRoaXMudG9wKTt0aGlzLnJpZ2h0PU1hdGguZmxvb3IodGhpcy5yaWdodCk7dGhpcy5ib3R0b209TWF0aC5mbG9vcih0aGlzLmJvdHRvbSk7dGhpcy5sZWZ0PU1hdGguZmxvb3IodGhpcy5sZWZ0KTtyZXR1cm4gdGhpc307Xy5rLnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy50b3A9TWF0aC5yb3VuZCh0aGlzLnRvcCk7dGhpcy5yaWdodD1NYXRoLnJvdW5kKHRoaXMucmlnaHQpO3RoaXMuYm90dG9tPU1hdGgucm91bmQodGhpcy5ib3R0b20pO3RoaXMubGVmdD1NYXRoLnJvdW5kKHRoaXMubGVmdCk7cmV0dXJuIHRoaXN9OwpfLmsudHJhbnNsYXRlPWZ1bmN0aW9uKGEsYil7YSBpbnN0YW5jZW9mIFI/KHRoaXMubGVmdCs9YS54LHRoaXMucmlnaHQrPWEueCx0aGlzLnRvcCs9YS55LHRoaXMuYm90dG9tKz1hLnkpOih0aGlzLmxlZnQrPWEsdGhpcy5yaWdodCs9YSwibnVtYmVyIj09PXR5cGVvZiBiJiYodGhpcy50b3ArPWIsdGhpcy5ib3R0b20rPWIpKTtyZXR1cm4gdGhpc307dmFyIEJxPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMubGVmdD1hO3RoaXMudG9wPWI7dGhpcy53aWR0aD1jO3RoaXMuaGVpZ2h0PWR9O18uaz1CcS5wcm90b3R5cGU7Cl8uay5jb250YWlucz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIFI/YS54Pj10aGlzLmxlZnQmJmEueDw9dGhpcy5sZWZ0K3RoaXMud2lkdGgmJmEueT49dGhpcy50b3AmJmEueTw9dGhpcy50b3ArdGhpcy5oZWlnaHQ6dGhpcy5sZWZ0PD1hLmxlZnQmJnRoaXMubGVmdCt0aGlzLndpZHRoPj1hLmxlZnQrYS53aWR0aCYmdGhpcy50b3A8PWEudG9wJiZ0aGlzLnRvcCt0aGlzLmhlaWdodD49YS50b3ArYS5oZWlnaHR9O18uay5jZWlsPWZ1bmN0aW9uKCl7dGhpcy5sZWZ0PU1hdGguY2VpbCh0aGlzLmxlZnQpO3RoaXMudG9wPU1hdGguY2VpbCh0aGlzLnRvcCk7dGhpcy53aWR0aD1NYXRoLmNlaWwodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5jZWlsKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Cl8uay5mbG9vcj1mdW5jdGlvbigpe3RoaXMubGVmdD1NYXRoLmZsb29yKHRoaXMubGVmdCk7dGhpcy50b3A9TWF0aC5mbG9vcih0aGlzLnRvcCk7dGhpcy53aWR0aD1NYXRoLmZsb29yKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGguZmxvb3IodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtfLmsucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5yb3VuZCh0aGlzLmxlZnQpO3RoaXMudG9wPU1hdGgucm91bmQodGhpcy50b3ApO3RoaXMud2lkdGg9TWF0aC5yb3VuZCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLnJvdW5kKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Xy5rLnRyYW5zbGF0ZT1mdW5jdGlvbihhLGIpe2EgaW5zdGFuY2VvZiBSPyh0aGlzLmxlZnQrPWEueCx0aGlzLnRvcCs9YS55KToodGhpcy5sZWZ0Kz1hLCJudW1iZXIiPT09dHlwZW9mIGImJih0aGlzLnRvcCs9YikpO3JldHVybiB0aGlzfTsKdmFyIENxPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5kZChhKTtyZXR1cm4gYy5kZWZhdWx0VmlldyYmYy5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlJiYoYT1jLmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUoYSxudWxsKSk/YVtiXXx8YS5nZXRQcm9wZXJ0eVZhbHVlKGIpfHwiIjoiIn0sRHE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gQ3EoYSxiKXx8KGEuY3VycmVudFN0eWxlP2EuY3VycmVudFN0eWxlW2JdOm51bGwpfHxhLnN0eWxlJiZhLnN0eWxlW2JdfSxFcT1mdW5jdGlvbihhKXsibnVtYmVyIj09dHlwZW9mIGEmJihhKz0icHgiKTtyZXR1cm4gYX0sRnE9ZnVuY3Rpb24oYSxiKXtpZihiIGluc3RhbmNlb2YgUil7dmFyIGM9Yi54O2I9Yi55fWVsc2UgYz1iLGI9dm9pZCAwO2Euc3R5bGUubGVmdD1FcShjKTthLnN0eWxlLnRvcD1FcShiKX0sR3E9ZnVuY3Rpb24oYSl7YT1hP18uZGQoYSk6ZG9jdW1lbnQ7cmV0dXJuIV8uRnx8OTw9TnVtYmVyKF8uTGMpfHxfLmlkKF8uZWQoYSkuZyk/CmEuZG9jdW1lbnRFbGVtZW50OmEuYm9keX0sSHE9ZnVuY3Rpb24oYSl7dHJ5e3JldHVybiBhLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpfWNhdGNoKGIpe3JldHVybntsZWZ0OjAsdG9wOjAscmlnaHQ6MCxib3R0b206MH19fSxJcT1mdW5jdGlvbihhKXtpZihfLkYmJiEoODw9TnVtYmVyKF8uTGMpKSlyZXR1cm4gYS5vZmZzZXRQYXJlbnQ7dmFyIGI9Xy5kZChhKSxjPURxKGEsInBvc2l0aW9uIiksZD0iZml4ZWQiPT1jfHwiYWJzb2x1dGUiPT1jO2ZvcihhPWEucGFyZW50Tm9kZTthJiZhIT1iO2E9YS5wYXJlbnROb2RlKWlmKDExPT1hLm5vZGVUeXBlJiZhLmhvc3QmJihhPWEuaG9zdCksYz1EcShhLCJwb3NpdGlvbiIpLGQ9ZCYmInN0YXRpYyI9PWMmJmEhPWIuZG9jdW1lbnRFbGVtZW50JiZhIT1iLmJvZHksIWQmJihhLnNjcm9sbFdpZHRoPmEuY2xpZW50V2lkdGh8fGEuc2Nyb2xsSGVpZ2h0PmEuY2xpZW50SGVpZ2h0fHwiZml4ZWQiPT1jfHwiYWJzb2x1dGUiPT1jfHwicmVsYXRpdmUiPT0KYykpcmV0dXJuIGE7cmV0dXJuIG51bGx9LEpxPWZ1bmN0aW9uKGEpe3ZhciBiPV8uZGQoYSksYz1uZXcgUigwLDApLGQ9R3EoYik7aWYoYT09ZClyZXR1cm4gYzthPUhxKGEpO2I9Q28oXy5lZChiKS5nKTtjLng9YS5sZWZ0K2IueDtjLnk9YS50b3ArYi55O3JldHVybiBjfSxLcT1mdW5jdGlvbihhKXtmb3IodmFyIGI9bmV3IEFxKDAsSW5maW5pdHksSW5maW5pdHksMCksYz1fLmVkKGEpLGQ9Yy5nLmJvZHksZT1jLmcuZG9jdW1lbnRFbGVtZW50LGY9Qm8oYy5nKTthPUlxKGEpOylpZighKF8uRiYmMD09YS5jbGllbnRXaWR0aHx8Xy51YyYmMD09YS5jbGllbnRIZWlnaHQmJmE9PWQpJiZhIT1kJiZhIT1lJiYidmlzaWJsZSIhPURxKGEsIm92ZXJmbG93Iikpe3ZhciBnPUpxKGEpLGg9bmV3IFIoYS5jbGllbnRMZWZ0LGEuY2xpZW50VG9wKTtnLngrPWgueDtnLnkrPWgueTtiLnRvcD1NYXRoLm1heChiLnRvcCxnLnkpO2IucmlnaHQ9TWF0aC5taW4oYi5yaWdodCxnLngrYS5jbGllbnRXaWR0aCk7CmIuYm90dG9tPU1hdGgubWluKGIuYm90dG9tLGcueSthLmNsaWVudEhlaWdodCk7Yi5sZWZ0PU1hdGgubWF4KGIubGVmdCxnLngpfWQ9Zi5zY3JvbGxMZWZ0O2Y9Zi5zY3JvbGxUb3A7Yi5sZWZ0PU1hdGgubWF4KGIubGVmdCxkKTtiLnRvcD1NYXRoLm1heChiLnRvcCxmKTtjPV8uamQoXy5yZChjKXx8d2luZG93KTtiLnJpZ2h0PU1hdGgubWluKGIucmlnaHQsZCtjLndpZHRoKTtiLmJvdHRvbT1NYXRoLm1pbihiLmJvdHRvbSxmK2MuaGVpZ2h0KTtyZXR1cm4gMDw9Yi50b3AmJjA8PWIubGVmdCYmYi5ib3R0b20+Yi50b3AmJmIucmlnaHQ+Yi5sZWZ0P2I6bnVsbH0sTHE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1uZXcgUigwLDApLGQ9Xy5rZChfLmRkKGEpKTtpZighXy5wYyhkLCJwYXJlbnQiKSlyZXR1cm4gYztkb3tpZihkPT1iKXZhciBlPUpxKGEpO2Vsc2UgZT1IcShhKSxlPW5ldyBSKGUubGVmdCxlLnRvcCk7Yy54Kz1lLng7Yy55Kz1lLnl9d2hpbGUoZCYmZCE9YiYmZCE9ZC5wYXJlbnQmJgooYT1kLmZyYW1lRWxlbWVudCkmJihkPWQucGFyZW50KSk7cmV0dXJuIGN9LE5xPWZ1bmN0aW9uKGEpe3ZhciBiPU1xO2lmKCJub25lIiE9RHEoYSwiZGlzcGxheSIpKXJldHVybiBiKGEpO3ZhciBjPWEuc3R5bGUsZD1jLmRpc3BsYXksZT1jLnZpc2liaWxpdHksZj1jLnBvc2l0aW9uO2MudmlzaWJpbGl0eT0iaGlkZGVuIjtjLnBvc2l0aW9uPSJhYnNvbHV0ZSI7Yy5kaXNwbGF5PSJpbmxpbmUiO2E9YihhKTtjLmRpc3BsYXk9ZDtjLnBvc2l0aW9uPWY7Yy52aXNpYmlsaXR5PWU7cmV0dXJuIGF9LE1xPWZ1bmN0aW9uKGEpe3ZhciBiPWEub2Zmc2V0V2lkdGgsYz1hLm9mZnNldEhlaWdodCxkPV8udWMmJiFiJiYhYztyZXR1cm4odm9pZCAwPT09Ynx8ZCkmJmEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0PyhhPUhxKGEpLG5ldyBfLlljKGEucmlnaHQtYS5sZWZ0LGEuYm90dG9tLWEudG9wKSk6bmV3IF8uWWMoYixjKX0sT3E9ZnVuY3Rpb24oYSxiKXthLnN0eWxlLmRpc3BsYXk9Yj8iIjoibm9uZSJ9LApQcT1mdW5jdGlvbihhLGIpe2I9cHAoYik7Xy5GJiZ2b2lkIDAhPT1hLmNzc1RleHQ/YS5jc3NUZXh0PWI6Xy50LnRydXN0ZWRUeXBlcz9fLnFkKGEsYik6YS5pbm5lckhUTUw9Yn0sUXE9ZnVuY3Rpb24oYSxiKXtiPV8uZWQoYik7dmFyIGM9Yi5nO2lmKF8uRiYmYy5jcmVhdGVTdHlsZVNoZWV0KWI9Yy5jcmVhdGVTdHlsZVNoZWV0KCksUHEoYixhKTtlbHNle2M9em8oYi5nLCJIRUFEIilbMF07aWYoIWMpe3ZhciBkPXpvKGIuZywiQk9EWSIpWzBdO2M9Yi5TKCJIRUFEIik7ZC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShjLGQpfWQ9Yi5TKCJTVFlMRSIpO3ZhciBlPXNwKCk7ZSYmZC5zZXRBdHRyaWJ1dGUoIm5vbmNlIixlKTtQcShkLGEpO2IuYXBwZW5kQ2hpbGQoYyxkKX19LFJxPWZ1bmN0aW9uKGEpe3JldHVybiJydGwiPT1EcShhLCJkaXJlY3Rpb24iKX0sU3E9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBfLlljKGEub2Zmc2V0V2lkdGgsYS5vZmZzZXRIZWlnaHQpfSxUcT1mdW5jdGlvbihhLApiLGMpe2E9YS5zdHlsZTtfLnRjP2EuTW96Qm94U2l6aW5nPWM6Xy51Yz9hLldlYmtpdEJveFNpemluZz1jOmEuYm94U2l6aW5nPWM7YS53aWR0aD1NYXRoLm1heChiLndpZHRoLDApKyJweCI7YS5oZWlnaHQ9TWF0aC5tYXgoYi5oZWlnaHQsMCkrInB4In0sVXE9ZnVuY3Rpb24oYSxiKXtUcShhLGIsImNvbnRlbnQtYm94Iil9LFZxPWZ1bmN0aW9uKGEsYil7aWYoL15cZCtweD8kLy50ZXN0KGIpKXJldHVybiBwYXJzZUludChiLDEwKTt2YXIgYz1hLnN0eWxlLmxlZnQsZD1hLnJ1bnRpbWVTdHlsZS5sZWZ0O2EucnVudGltZVN0eWxlLmxlZnQ9YS5jdXJyZW50U3R5bGUubGVmdDthLnN0eWxlLmxlZnQ9YjtiPWEuc3R5bGUucGl4ZWxMZWZ0O2Euc3R5bGUubGVmdD1jO2EucnVudGltZVN0eWxlLmxlZnQ9ZDtyZXR1cm4rYn0sV3E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4oYj1hLmN1cnJlbnRTdHlsZT9hLmN1cnJlbnRTdHlsZVtiXTpudWxsKT9WcShhLGIpOjB9LFhxPWZ1bmN0aW9uKGEpe2lmKF8uRil7dmFyIGI9CldxKGEsInBhZGRpbmdMZWZ0IiksYz1XcShhLCJwYWRkaW5nUmlnaHQiKSxkPVdxKGEsInBhZGRpbmdUb3AiKTthPVdxKGEsInBhZGRpbmdCb3R0b20iKTtyZXR1cm4gbmV3IEFxKGQsYyxhLGIpfWI9Q3EoYSwicGFkZGluZ0xlZnQiKTtjPUNxKGEsInBhZGRpbmdSaWdodCIpO2Q9Q3EoYSwicGFkZGluZ1RvcCIpO2E9Q3EoYSwicGFkZGluZ0JvdHRvbSIpO3JldHVybiBuZXcgQXEocGFyc2VGbG9hdChkKSxwYXJzZUZsb2F0KGMpLHBhcnNlRmxvYXQoYSkscGFyc2VGbG9hdChiKSl9LFlxPXt0aGluOjIsbWVkaXVtOjQsdGhpY2s6Nn0sWnE9ZnVuY3Rpb24oYSxiKXtpZigibm9uZSI9PShhLmN1cnJlbnRTdHlsZT9hLmN1cnJlbnRTdHlsZVtiKyJTdHlsZSJdOm51bGwpKXJldHVybiAwO2I9YS5jdXJyZW50U3R5bGU/YS5jdXJyZW50U3R5bGVbYisiV2lkdGgiXTpudWxsO3JldHVybiBiIGluIFlxP1lxW2JdOlZxKGEsYil9LCRxPWZ1bmN0aW9uKGEpe2lmKF8uRiYmISg5PD1OdW1iZXIoXy5MYykpKXt2YXIgYj0KWnEoYSwiYm9yZGVyTGVmdCIpLGM9WnEoYSwiYm9yZGVyUmlnaHQiKSxkPVpxKGEsImJvcmRlclRvcCIpO2E9WnEoYSwiYm9yZGVyQm90dG9tIik7cmV0dXJuIG5ldyBBcShkLGMsYSxiKX1iPUNxKGEsImJvcmRlckxlZnRXaWR0aCIpO2M9Q3EoYSwiYm9yZGVyUmlnaHRXaWR0aCIpO2Q9Q3EoYSwiYm9yZGVyVG9wV2lkdGgiKTthPUNxKGEsImJvcmRlckJvdHRvbVdpZHRoIik7cmV0dXJuIG5ldyBBcShwYXJzZUZsb2F0KGQpLHBhcnNlRmxvYXQoYykscGFyc2VGbG9hdChhKSxwYXJzZUZsb2F0KGIpKX07dmFyIGFyPWZ1bmN0aW9uKGEpe3RoaXMuTD1fLkooYSl9O18ueihhcixfLkwpO3ZhciBWbj1mdW5jdGlvbihhKXt2YXIgYj1uZXcgYXI7cmV0dXJuIF8ubWwoYiwzLGEsXy5pbCl9O2FyLkZhPVsxLDIsMyw0XTt2YXIgYnI9ZnVuY3Rpb24oYSl7dGhpcy5MPV8uSihhKX07Xy56KGJyLF8uTCk7YnIucHJvdG90eXBlLkthPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQ2oodGhpcywyKX07YnIucHJvdG90eXBlLmFiPWZ1bmN0aW9uKGEpe3JldHVybiB0byh0aGlzLDIsYSl9O2JyLnByb3RvdHlwZS5mYT1mdW5jdGlvbigpe3JldHVybiBfLkNqKHRoaXMsMyl9O2JyLnByb3RvdHlwZS5pYT1mdW5jdGlvbihhKXtyZXR1cm4gdG8odGhpcywzLGEpfTtici5GYT1bMV07dmFyIGNyPWZ1bmN0aW9uKGEpe3RoaXMuTD1fLkooYSl9O18ueihjcixfLkwpO3ZhciBkcj1mdW5jdGlvbihhKXt0aGlzLkw9Xy5KKGEpfTtfLnooZHIsXy5MKTt2YXIgZXI9Xy5xbChkcik7ZHIuRmE9WzEsMl07dmFyIGZyPWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBhfX0sZ3I9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MDtjPGIubGVuZ3RoLTI7Yys9Myl7dmFyIGQ9Yi5jaGFyQXQoYysyKTtkPSJhIjw9ZD9kLmNoYXJDb2RlQXQoMCktODc6TnVtYmVyKGQpO2Q9IisiPT1iLmNoYXJBdChjKzEpP2E+Pj5kOmE8PGQ7YT0iKyI9PWIuY2hhckF0KGMpP2ErZCY0Mjk0OTY3Mjk1OmFeZH1yZXR1cm4gYX0saXI9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWhyLnNwbGl0KCIuIiksYz1OdW1iZXIoYlswXSl8fDAsZD1bXSxlPTAsZj0wO2Y8YS5sZW5ndGg7ZisrKXt2YXIgZz1hLmNoYXJDb2RlQXQoZik7MTI4Pmc/ZFtlKytdPWc6KDIwNDg+Zz9kW2UrK109Zz4+NnwxOTI6KDU1Mjk2PT0oZyY2NDUxMikmJmYrMTxhLmxlbmd0aCYmNTYzMjA9PShhLmNoYXJDb2RlQXQoZisxKSY2NDUxMik/KGc9NjU1MzYrKChnJjEwMjMpPDwxMCkrKGEuY2hhckNvZGVBdCgrK2YpJjEwMjMpLGRbZSsrXT0KZz4+MTh8MjQwLGRbZSsrXT1nPj4xMiY2M3wxMjgpOmRbZSsrXT1nPj4xMnwyMjQsZFtlKytdPWc+PjYmNjN8MTI4KSxkW2UrK109ZyY2M3wxMjgpfWE9Yztmb3IoZT0wO2U8ZC5sZW5ndGg7ZSsrKWErPWRbZV0sYT1ncihhLCIrLWFeKzYiKTthPWdyKGEsIistM14rYistZiIpO2FePU51bWJlcihiWzFdKXx8MDswPmEmJihhPShhJjIxNDc0ODM2NDcpKzIxNDc0ODM2NDgpO2I9YSUxRTY7cmV0dXJuIGIudG9TdHJpbmcoKSsiLiIrKGJeYyl9LGpyPWZ1bmN0aW9uKCl7dmFyIGE9ZnIoU3RyaW5nLmZyb21DaGFyQ29kZSgxMTYpKSxiPWZyKFN0cmluZy5mcm9tQ2hhckNvZGUoMTA3KSk7YT1bYSgpLGEoKV07YVsxXT1iKCk7cmV0dXJuIGEuam9pbigiIil9O3ZhciBrcj13aW5kb3cuZ29vZ2xlJiZnb29nbGUudHJhbnNsYXRlJiZnb29nbGUudHJhbnNsYXRlLl9jb25zdDtrcnx8KGtyPXtfY2FjOiIiLF9jYW06IiIsX2Nlc3Q6bmV3IERhdGUsX2NlbnY6IiIsX2NqbGM6IiIsX2NsOiIiLF9jdWM6IiIsX2NuYWQ6ITEsX2NuYWw6e30sUGs6IiIsX3BhaDoiIixfcGFzOiIiLF9wYmk6IiIsX3BjaToiIixfcGhmOiIiLF9wbGk6IiIsX3BsbGE6IiIsX3BtaToiIixfcHM6IiIsX3B0YToiIixfcHVoOiIifSk7CnZhciBSbz13aW5kb3cuZ29vZ2xlJiZ3aW5kb3cuZ29vZ2xlLnRyYW5zbGF0ZSYmd2luZG93Lmdvb2dsZS50cmFuc2xhdGUudnx8IiIsbHI9a3IuX2NlbnZ8fCJwcm9kIixtcj1rci5fY2x8fCJlbiIsbnI9a3IuX2N1Yyxvcj1rci5fY25hZCxwcj1rci5fY2VzdCxxcj1rci5fY25hbHx8e30scnI9ImxpYiI9PWtyLl9jYW0/MTowLHNyPShrci5fY2FjfHwidGUiKSsoMT09cnI/Il9saWIiOiIiKSxocj1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoZCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGR9fXZhciBiPVN0cmluZy5mcm9tQ2hhckNvZGUoMTA3KSxjPWEoU3RyaW5nLmZyb21DaGFyQ29kZSgxMTYpKTtiPWEoYik7Yz1bYygpLGMoKV07Y1sxXT1iKCk7cmV0dXJuIGtyWyJfYyIrYy5qb2luKGIoKSldfHwiIn0oKSx0cj1rci5fcGFofHwiIix1cj1rci5fcGFzfHwiaHR0cHM6Ly8iLHZyPWtyLl9wYml8fCIiLHdyPWtyLl9wY2l8fCIiLHhyPWtyLl9wbGxhfHwiIix5cj1rci5fcGxpfHwiIiwKenI9a3IuX3BzfHwiIixBcj1rci5fcHVofHwiIixCcj0iLy8iK0FyKyIvdHJhbnNsYXRlX3N1Z2dlc3Rpb24/Y2xpZW50PSIrc3IsQ3I9Ii8vIit0cisiL3RyYW5zbGF0ZV92b3Rpbmc/Y2xpZW50PSIrc3IsRHI9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vc3VwcG9ydC90cmFuc2xhdGUiKygiZW4iPT1tcj8iIjoiI2dvb2d0cmFucy9lbi8iK21yKTt2YXIgWG89ZnVuY3Rpb24oKXt9O1hvLnByb3RvdHlwZS5raD1mdW5jdGlvbihhKXt2YXIgYixjLGQsZTtyZXR1cm4gXy5ibihmdW5jdGlvbihmKXtzd2l0Y2goZi5nKXtjYXNlIDE6cmV0dXJuIGI9bmV3IENvbXByZXNzaW9uU3RyZWFtKCJnemlwIiksYz0obmV3IFJlc3BvbnNlKGIucmVhZGFibGUpKS5hcnJheUJ1ZmZlcigpLGQ9Yi53cml0YWJsZS5nZXRXcml0ZXIoKSxfLlZtKGYsZC53cml0ZSgobmV3IFRleHRFbmNvZGVyKS5lbmNvZGUoYSkpLDIpO2Nhc2UgMjpyZXR1cm4gXy5WbShmLGQuY2xvc2UoKSwzKTtjYXNlIDM6cmV0dXJuIGU9VWludDhBcnJheSxfLlZtKGYsYyw0KTtjYXNlIDQ6cmV0dXJuIGYucmV0dXJuKG5ldyBlKGYuaCkpfX0pfTtYby5wcm90b3R5cGUuWWE9ZnVuY3Rpb24oYSl7cmV0dXJuIDEwMjQ+YT8hMToidW5kZWZpbmVkIiE9PXR5cGVvZiB3aW5kb3cuQ29tcHJlc3Npb25TdHJlYW19O3ZhciBFcj1mdW5jdGlvbihhLGIpe3RoaXMuZz1hO3RoaXMubD1ifTtFci5wcm90b3R5cGUuaD1mdW5jdGlvbihhKXtpZihudWxsPT10aGlzLmwpe2lmKDA9PWFyZ3VtZW50cy5sZW5ndGgpdGhyb3cgRXJyb3IoIkNhYCIrdGhpcy5nKTtyZXR1cm4gYX1pZigic3RyaW5nIj09PXR5cGVvZiB0aGlzLmwpcmV0dXJuIHRoaXMubDt0aHJvdyBuZXcgVHlwZUVycm9yKCJEYWAiK3RoaXMuZysiYCIrdGhpcy5sKyJgIit0eXBlb2YgdGhpcy5sKTt9O0VyLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe2lmKG51bGw9PXRoaXMubCl2YXIgYT1udWxsO2Vsc2UgaWYoInN0cmluZyI9PT10eXBlb2YgdGhpcy5sKWE9dGhpcy5sO2Vsc2UgdGhyb3cgbmV3IFR5cGVFcnJvcigiRWFgIit0aGlzLmcrImAiK3RoaXMubCsiYCIrdHlwZW9mIHRoaXMubCk7aWYobnVsbD09PWEpdGhyb3cgRXJyb3IoIkNhYCIrdGhpcy5nKTtyZXR1cm4gYX07CnZhciBVbj1mdW5jdGlvbigpe3ZhciBhPXZvaWQgMD09PWE/d2luZG93OmE7YT12b2lkIDA9PT1hP3dpbmRvdzphO2E9YS5XSVpfZ2xvYmFsX2RhdGE7YT1uZXcgRXIoInhXdXVHYyIsYSYmInhXdXVHYyJpbiBhP2EueFd1dUdjOm51bGwpO3ZhciBiPVtdLGM9bnVsbD09YS5sP251bGw6RnIoYSxfLmRhKGEubCk/YS5sOiJzdHJpbmciIT09dHlwZW9mIGEubD9bYS5sXTpHcihhKSk7cmV0dXJuIG51bGw9PT1jP0ZyKGEsYik6Y30sRnI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5lYyhiLGZ1bmN0aW9uKGMsZCl7cmV0dXJuIG5ldyBFcih0aGlzLmcrIlsiK2QrIl0iLGMpfSxhKX0sR3I9ZnVuY3Rpb24oYSl7YT1hLmgoKTtyZXR1cm4iIj09YS50cmltKCk/W106YS5zcGxpdCgiLCIpLm1hcChmdW5jdGlvbihiKXtyZXR1cm4gYi50cmltKCl9KX07CkVyLnByb3RvdHlwZS5vYmplY3Q9ZnVuY3Rpb24oYSl7aWYobnVsbD09dGhpcy5sKXtpZigwPT1hcmd1bWVudHMubGVuZ3RoKXRocm93IEVycm9yKCJDYWAiK3RoaXMuZyk7cmV0dXJuIGF9aWYoIV8uZGEodGhpcy5sKSYmXy53YSh0aGlzLmwpKXJldHVybiBrbih0aGlzLmwsZnVuY3Rpb24oYixjKXtyZXR1cm4gbmV3IEVyKHRoaXMuZysiLiIrYyxiKX0sdGhpcyk7dGhyb3cgbmV3IFR5cGVFcnJvcigiR2FgIit0aGlzLmcrImAiK3RoaXMubCsiYCIrdHlwZW9mIHRoaXMubCk7fTt2YXIgSHI9ZnVuY3Rpb24oKXt2YXIgYTt0aGlzLmc9YT12b2lkIDA9PT1hP1duKCk6YX07SHIucHJvdG90eXBlLmxvZz1mdW5jdGlvbihhKXtfLnBtKHRoaXMuZyxhKX07dmFyIElyPW5ldyBIcjt2YXIgSnI9WG4oImluaXRpYWxpemVkIiksS3I9WG4oImluaXRpYXRlZCIpLExyPVhuKCJyZXN0b3JlZCIpLE1yPVhuKCJwYWdlX2xvYWRfdG9faW5pdGlhbGl6ZWQiKSxOcj1YbigiaW5pdGlhbGl6YXRpb25fdG9fdHJhbnNsYXRpb25fdHJpZ2dlcmVkIik7dmFyIE9yPWZ1bmN0aW9uKGEpe3ZhciBiPSJHYiI7aWYoYS5HYiYmYS5oYXNPd25Qcm9wZXJ0eShiKSlyZXR1cm4gYS5HYjtiPW5ldyBhO3JldHVybiBhLkdiPWJ9Oy8qCgpNYXRoLnV1aWQuanMgKHYxLjQpCmh0dHA6Ly93d3cuYnJvb2ZhLmNvbQptYWlsdG86cm9iZXJ0QGJyb29mYS5jb20KQ29weXJpZ2h0IChjKSAyMDEwIFJvYmVydCBLaWVmZmVyCkR1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBhbmQgR1BMIGxpY2Vuc2VzLgoqLwp2YXIgUHI9IjAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6Ii5zcGxpdCgiIik7Zm9yKHZhciBRcixScj1BcnJheSgzNiksU3I9MCxUcixVcj0wOzM2PlVyO1VyKyspOD09VXJ8fDEzPT1Vcnx8MTg9PVVyfHwyMz09VXI/UnJbVXJdPSItIjoxND09VXI/UnJbVXJdPSI0IjooMj49U3ImJihTcj0zMzU1NDQzMisxNjc3NzIxNipNYXRoLnJhbmRvbSgpfDApLFRyPVNyJjE1LFNyPj49NCxScltVcl09UHJbMTk9PVVyP1RyJjN8ODpUcl0pO1FyPVJyLmpvaW4oIiIpOwp2YXIgVnI9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuZz1hPXZvaWQgMD09PWE/UXI6YTt0aGlzLnljPXZvaWQgMD09PWI/IiI6Yjt0aGlzLnpjPXZvaWQgMD09PWM/IiI6Y30sWnI9ZnVuY3Rpb24oYSl7dmFyIGI9V3IoYSw3KTtYcihhLGIpO1lyKGIsNyl9LCRyPWZ1bmN0aW9uKGEsYil7dmFyIGM9dm9pZCAwPT09Yi5yYj8wOmIucmIsZD12b2lkIDA9PT1iLmVnPzA6Yi5lZyxlPXZvaWQgMD09PWIuQ2c/MDpiLkNnLGY9dm9pZCAwPT09Yi5kZz8wOmIuZGc7Yj1XcihhLDgpO1hyKGEsYik7YT1uZXcgVW87Yz1fLkdsKGEsMSxjKTtkPV8uR2woYywzLGQpO2U9Xy5HbChkLDIsZSk7ZT1fLkdsKGUsNCxmKTtmPU5vKGIpO18uSyhmLDYsZSk7LjAwNTw9TWF0aC5yYW5kb20oKXx8KGI9Xy5kbShRbyg4KSxfLnpsKGIpKSxJci5sb2coYikpfSxXcj1mdW5jdGlvbihhLGIpe3ZhciBjPW5ldyBfLkdtO2M9Xy5OKGMsNTAsbXIpO3ZhciBkPW5ldyBNbztiPV8uSGwoZCwxLGIpO2I9Xy5OKGIsMixzcik7CmE9Xy5OKGIsMyxhLmcpO3JldHVybiBfLksoYywxMTIsYSl9LFlyPWZ1bmN0aW9uKGEsYil7YT1fLmRtKFFvKGIpLF8uemwoYSkpO0lyLmxvZyhhKX0sWHI9ZnVuY3Rpb24oYSxiKXtiLmFiKGEueWMpO2IuaWEoYS56Yyl9O3ZhciBhcz1mdW5jdGlvbihhKXtmb3IodmFyIGI9e30sYz0wO2M8YS5sZW5ndGg7KytjKWJbYVtjXV09ITA7cmV0dXJuIGJ9LGJzPWZ1bmN0aW9uKGEpe3RoaXMuaD1hP1thXTpbXTt0aGlzLmc9WzBdO3RoaXMuaj0hMX07YnMucHJvdG90eXBlLnBhc3NlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmp9O2JzLnByb3RvdHlwZS5yZWdpc3Rlcj1mdW5jdGlvbihhKXtpZih0aGlzLmopcmV0dXJuIGF8fGZ1bmN0aW9uKCl7fTt0aGlzLmcucHVzaCgwKTt2YXIgYj10aGlzLmcubGVuZ3RoLTE7cmV0dXJuKDAsXy5BKShmdW5jdGlvbigpe3RoaXMuZ1tiXSsrO2EmJmEuYXBwbHkobnVsbCxhcmd1bWVudHMpO2NzKHRoaXMpfSx0aGlzKX07CmJzLnByb3RvdHlwZS5kZWxheT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5qP2E6KDAsXy5BKShmdW5jdGlvbigpe2lmKHRoaXMuailhLmFwcGx5KG51bGwsYXJndW1lbnRzKTtlbHNle3ZhciBiPWFyZ3VtZW50czt0aGlzLmgucHVzaChmdW5jdGlvbigpe2EuYXBwbHkobnVsbCxiKX0pfX0sdGhpcyl9O2JzLnByb3RvdHlwZS5maW5pc2g9ZnVuY3Rpb24oKXt0aGlzLmdbMF09MTtjcyh0aGlzKX07CnZhciBjcz1mdW5jdGlvbihhKXtmb3IodmFyIGI9MDtiPGEuZy5sZW5ndGg7KytiKWlmKDA9PWEuZ1tiXSlyZXR1cm47YS5qPSEwO2ZvcihiPTA7YjxhLmgubGVuZ3RoOysrYil7dmFyIGM9YS5oW2JdO2EuaFtiXT1udWxsO2MuY2FsbCgpfWEuaD1bXTthLmc9W119LGRzPWZ1bmN0aW9uKGEpe3RoaXMuaj1hO3RoaXMuaD10aGlzLmc9ITF9LGVzPWZ1bmN0aW9uKGEsYil7cmV0dXJuKDAsXy5BKShmdW5jdGlvbigpe2ImJmIuYXBwbHkobnVsbCxhcmd1bWVudHMpO3RoaXMuaD90aGlzLmd8fCh0aGlzLmouY2FsbCgpLHRoaXMuZz0hMCk6dGhpcy5nPSEwfSxhKX07ZHMucHJvdG90eXBlLmZpbmlzaD1mdW5jdGlvbigpe3RoaXMuaHx8KHRoaXMuaD0hMCx0aGlzLmcmJnRoaXMuai5jYWxsKCkpfTt2YXIgZnM9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuZz1iO3RoaXMuQT1hO3RoaXMucz1jfHwwO3RoaXMuaj10aGlzLmg9ITF9LGdzPWZ1bmN0aW9uKGEpe2EuaHx8YS5vKCl9Owpmcy5wcm90b3R5cGUubz1mdW5jdGlvbigpeyh0aGlzLmg9KHRoaXMuaj0hIXRoaXMuQS5jYWxsKCkpfHwwPj0tLXRoaXMucyk/KHRoaXMuZy5jYWxsKG51bGwsdGhpcy5qKSx0aGlzLmw9MCk6dGhpcy5sPXdpbmRvdy5zZXRUaW1lb3V0KCgwLF8uQSkodGhpcy5vLHRoaXMpLDMwKX07ZnMucHJvdG90eXBlLmNhbmNlbD1mdW5jdGlvbigpe3RoaXMubCYmd2luZG93LmNsZWFyVGltZW91dCh0aGlzLmwpO3RoaXMuaD0hMDt0aGlzLmcuY2FsbChudWxsLHRoaXMuail9Owp2YXIgaHM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gZnVuY3Rpb24oKXthLmRpc3BhdGNoRXZlbnQoYil9fSxpcz1mdW5jdGlvbihhKXthPSgwLF8ubWMpKGEpLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgiXyIsIi0iKTtpZigiemgtY24iPT1hKXJldHVybiJ6aC1DTiI7aWYoInpoLXR3Ij09YSlyZXR1cm4iemgtVFciO3ZhciBiPWEuaW5kZXhPZigiLSIpO2E9MDw9Yj9hLnN1YnN0cmluZygwLGIpOmE7cmV0dXJuInpoIj09YT8iemgtQ04iOmF9LGpzPWZ1bmN0aW9uKGEpe3ZhciBiPVtdLGM7Zm9yKGMgaW4gYSlpZihhW2NdIT09T2JqZWN0LnByb3RvdHlwZVtjXSl7dmFyIGQ9Xy4kYyhjKTtpZigiYXJyYXkiPT1fLkViKGFbY10pKWZvcih2YXIgZT0wO2U8YVtjXS5sZW5ndGg7KytlKWIucHVzaChkKyI9IitfLiRjKGFbY11bZV0pKTtlbHNlIGIucHVzaChkKyI9IitfLiRjKGFbY10pKX1yZXR1cm4gYi5qb2luKCImIil9LGpvPWZ1bmN0aW9uKGEsYil7Yj1ifHx7fTtiLm5jYT1hO2IuY2xpZW50PQpzcjtSbyYmKGIubG9nbGQ9InYiK1JvKTt2YXIgYz1uZXcgSW1hZ2U7Yy5zcmM9Ii8vIitBcisiL2dlbjIwND8iK2pzKGIpO2Mub25sb2FkPWZ1bmN0aW9uKCl7Yy5vbmxvYWQ9bnVsbH19LGxzPWZ1bmN0aW9uKGEsYil7aWYoKF8uRnx8Xy5xYykmJndpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSE9ZG9jdW1lbnQuZG9tYWluKXtrcz1rcz9rcysxOjE7dmFyIGM9ImYiK2tzKyJfIitfLktiKCkudG9TdHJpbmcoMzYpO3dpbmRvd1tjXT1mdW5jdGlvbigpe3dpbmRvd1tjXT12b2lkIDA7YS5zcmM9IiMiO2ImJndpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YigpfSwwKX07YS5zcmM9ImphdmFzY3JpcHQ6dm9pZChkb2N1bWVudC53cml0ZShcIjxzY3JpcHQ+ZG9jdW1lbnQuZG9tYWluPSciK2RvY3VtZW50LmRvbWFpbisiJztwYXJlbnRbJyIrYysiJ10oKTtceDNjL3NjcmlwdD5cIikpIn1lbHNlIGImJmIoKX0sa3MsbXM9ZnVuY3Rpb24oKXt2YXIgYT17fTt0cnl7Zm9yKHZhciBiIGluIE9iamVjdC5wcm90b3R5cGUpe3ZhciBjPQpPYmplY3QucHJvdG90eXBlW2JdO2RlbGV0ZSBPYmplY3QucHJvdG90eXBlW2JdO2FbYl09Y319Y2F0Y2goZCl7cmV0dXJue319cmV0dXJuIGF9LG5zPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYiBpbiBhKU9iamVjdC5wcm90b3R5cGVbYl09YVtiXX0sb3M9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiIGluIGEpaWYoYVtiXSE9PU9iamVjdC5wcm90b3R5cGVbYl0pcmV0dXJuITE7cmV0dXJuITB9LHBzPWZ1bmN0aW9uKGEsYil7cmV0dXJuImF1dG8iIT1hJiYiemgtQ04iIT1hJiZhPT1ifSxxcz1mdW5jdGlvbigpe3ZhciBhPXdpbmRvdy5sb2NhdGlvbi5oYXNoLm1hdGNoKC9nb29nbGVcLnRyYW5zbGF0ZVwuZWxlbWVudFwuc3A9KFteJl0rKS8pO3JldHVybiBhJiZhWzFdP2FbMV06bnVsbH07dmFyIGlvPW51bGwscnM9bnVsbCxzcz1mdW5jdGlvbigpe307c3MucHJvdG90eXBlLmF0dGFjaD1mdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkIGluIGMpY1tkXSE9PU9iamVjdC5wcm90b3R5cGVbZF0mJihiW2RdPSJmdW5jdGlvbiI9PT10eXBlb2YgY1tkXT9jW2RdOl8uSmIoa28sYSxOdW1iZXIoY1tkXSkpKX07dmFyIHVzPWZ1bmN0aW9uKCl7aW8mJnRzKCk7aW89W107cnM9Xy5HKHdpbmRvdywicGFnZWhpZGUiLGZ1bmN0aW9uKCl7dHMoKX0pfSx0cz1mdW5jdGlvbigpe3JzJiYoXy5SZChycykscnM9bnVsbCk7aW8mJmlvLmxlbmd0aCYmam8oaW8uam9pbigiIikpO2lvPW51bGx9LHZzPW5ldyBzczt2YXIgd3M9ZnVuY3Rpb24oYSl7dGhpcy5MPV8uSihhKX07Xy56KHdzLF8uTCk7dmFyIG1vPV8udGood3MpO3ZhciBsbzt2YXIgeHM9ZnVuY3Rpb24oYSl7dGhpcy51cmw9YTt0aGlzLnRpbWVvdXQ9LTE7dGhpcy5qPXRoaXMuaD0iY2FsbGJhY2siO3RoaXMuZz10aGlzLkViPW51bGx9LEJzPWZ1bmN0aW9uKGEsYil7Yj12b2lkIDA9PT1iP3t9OmI7YS5nPVFwKCk7dmFyIGM9bmV3IF8uUGYoYS51cmwpLGQ9bmV3IE1hcDthLmomJmQuc2V0KGEuaixhLmgpO2MuZy5leHRlbmQoUnAoYiksZCk7eXMoYSkudGhlbihmdW5jdGlvbigpe3pzKGEsYy50b1N0cmluZygpKX0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gYS5nLnByb21pc2V9KS50aGVuKGZ1bmN0aW9uKCl7QXMoYSl9LGZ1bmN0aW9uKCl7QXMoYSl9KTswPGEudGltZW91dCYmKGEubD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS5nLnJlamVjdCgiVGltZW91dCEiKX0sYS50aW1lb3V0KSk7cmV0dXJuIGEuZy5wcm9taXNlfSx6cz1mdW5jdGlvbihhLGIpe3ZhciBjPW5ldyBNZXNzYWdlQ2hhbm5lbDthLkViLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2Uoe3VybDpiLApjYWxsYmFja05hbWU6YS5ofSwiKiIsW2MucG9ydDJdKTtjLnBvcnQxLm9ubWVzc2FnZT1mdW5jdGlvbihkKXt2YXIgZT17fTt2b2lkIDAhPT1hLmwmJihjbGVhclRpbWVvdXQoYS5sKSxhLmw9dm9pZCAwKTt2b2lkIDA9PT1kLmRhdGEmJmEuZy5yZWplY3QoIkNhbGxiYWNrIGNhbGxlZCwgYnV0IG5vIGRhdGEgcmVjZWl2ZWQiKTsic3RyaW5nIiE9PXR5cGVvZiBkLmRhdGEmJmEuZy5yZWplY3QoIkV4cGxvaXRhdGlvbiBhdHRlbXB0ISBEYXRhIGlzIG5vdCBhIHN0cmluZyEiKTt0cnl7ZT1KU09OLnBhcnNlKGQuZGF0YSl9Y2F0Y2goZil7YS5nLnJlamVjdCgiSW52YWxpZCBEYXRhIHJlY2VpdmVkOiAiK2YubWVzc2FnZSl9YS5nLnJlc29sdmUoZSl9fSx5cz1mdW5jdGlvbihhKXt2YXIgYj1RcCgpLGM9Xy5sZChkb2N1bWVudCwiSUZSQU1FIik7aWYoIWMuc2FuZGJveCl0aHJvdyBFcnJvcigiSGEiKTtjLnNhbmRib3gudmFsdWU9ImFsbG93LXNjcmlwdHMiO2Muc3R5bGUuZGlzcGxheT0KIm5vbmUiO2EuRWI9YzthPW5vKCk7YT13bihbXy5JbSgiPCFET0NUWVBFIGh0bWw+IiksQ24odm4oYSkpXSk7Yy5zcmNkb2M9Xy5WYyhhKTthPV8uWmEoImRhdGE6dGV4dC9odG1sO2NoYXJzZXQ9VVRGLTg7YmFzZTY0LCIrYnRvYShfLlZjKGEpLnRvU3RyaW5nKCkpKTtjLnNyYz1fLmJiKGEpLnRvU3RyaW5nKCk7Yy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbigpe3JldHVybiBiLnJlc29sdmUoYyl9LCExKTtjLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixmdW5jdGlvbihkKXtiLnJlamVjdChkKX0sITEpO2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChjKTtyZXR1cm4gYi5wcm9taXNlfSxBcz1mdW5jdGlvbihhKXtudWxsIT09YS5FYiYmKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVDaGlsZChhLkViKSxhLkViPW51bGwpfTt2YXIgQ3M9ZnVuY3Rpb24oYSxiKXtfLkQuY2FsbCh0aGlzKTt0aGlzLmc9bmV3IF8uUGYoYSk7aWYoYilmb3IodmFyIGMgaW4gYiliW2NdIT09T2JqZWN0LnByb3RvdHlwZVtjXSYmdGhpcy5nLmcuc2V0KGMsYltjXSl9O18ueihDcyxfLkQpO0NzLnByb3RvdHlwZS5ZYT1mdW5jdGlvbigpe3JldHVybiEwfTtDcy5wcm90b3R5cGUuV2E9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ZYSgpfTtDcy5wcm90b3R5cGUuc2VuZD1mdW5jdGlvbigpe3JldHVybiBfLmZuKG51bGwpfTtDcy5wcm90b3R5cGUuY2FuY2VsPWZ1bmN0aW9uKCl7fTt2YXIgRHM9ZnVuY3Rpb24oYSxiLGMpe0NzLmNhbGwodGhpcyxhLGIpO2E9dGhpcy5oPW5ldyB4cyh0aGlzLmcpO2EuaD0iY2FsbGJhY2siO2Euaj12b2lkIDA9PT1jPyJjYWxsYmFjayI6Y307Xy56KERzLENzKTtEcy5wcm90b3R5cGUuWWE9ZnVuY3Rpb24oKXtyZXR1cm4hMH07CkRzLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKGEpe3JldHVybiBCcyh0aGlzLmgsYSl9O0RzLnByb3RvdHlwZS5jYW5jZWw9ZnVuY3Rpb24oYSl7YS5jYW5jZWwoKX07dmFyIEVzPWZ1bmN0aW9uKGEsYil7Q3MuY2FsbCh0aGlzLGEsYik7dGhpcy5oPXt9O3RoaXMuaj0wfTtfLnooRXMsQ3MpO0VzLnByb3RvdHlwZS5ZYT1mdW5jdGlvbigpe3JldHVybiEwfTsKRXMucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcyxjPW1zKCksZD0rK3RoaXMuaixlPXt9LGY9e307InEiaW4gYSYmKGYucT1hLnEsZGVsZXRlIGEucSk7ZS5WPW5ldyBfLiRnO3RoaXMuZy5oLmVuZHNXaXRoKCIuY29ycC5nb29nbGUuY29tIikmJihlLlYuRj0hMCk7dmFyIGc9bmV3IF8ubGUoZnVuY3Rpb24oaCxsKXtfLkcoZS5WLCJjb21wbGV0ZSIsZnVuY3Rpb24oKXtpZighZS5tZil7aWYoZS5WLnBjKCkpe3ZhciBtPWUuVi5CYSgpO0ZzKGIsZCk7cmV0dXJuIGgobSl9Yi53aSgpO209ZS5WLkJhKCk7RnMoYixkKTtyZXR1cm4gbChtKX19KTtfLkcoZS5WLCJ0aW1lb3V0IixmdW5jdGlvbigpe2lmKCFlLm1mKXJldHVybiBiLnlpKCksRnMoYixkKSxsKCl9KX0pO2UuVi5zZW5kKHRoaXMuZy50b1N0cmluZygpKyImIitqcyhhKSwiUE9TVCIsanMoZikseyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQifSk7dGhpcy5oW2RdPQplO25zKGMpO3JldHVybiBnfTtFcy5wcm90b3R5cGUuY2FuY2VsPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuaFthXTtiJiYoYi5tZj0hMCxGcyh0aGlzLGEpKX07dmFyIEZzPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5oW2JdO2MmJihjLlYmJihjLlYuUigpLGMuVj1udWxsKSxkZWxldGUgYS5oW2JdKX07RXMucHJvdG90eXBlLko9ZnVuY3Rpb24oKXtDcy5wcm90b3R5cGUuSi5jYWxsKHRoaXMpO2Zvcih2YXIgYSBpbiB0aGlzLmgpdGhpcy5jYW5jZWwoYSl9O3ZzLmF0dGFjaCgxNzE3MCxFcy5wcm90b3R5cGUse3lpOjEsd2k6Mn0pO3ZhciBHcz1mdW5jdGlvbihhLGIsYyl7Q3MuY2FsbCh0aGlzLGEsYyk7dGhpcy5qPWIucHJveHlJc1N1cHBvcnRlZDt0aGlzLmw9ZnVuY3Rpb24oZCxlLGYpe3JldHVybiBfLmZuKGIucHJveHlTZW5kKGQsZSxmKSl9O3RoaXMuaD1iLnByb3h5Q2FuY2VsfTtfLnooR3MsQ3MpO0dzLnByb3RvdHlwZS5ZYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmooKX07CkdzLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMubCh0aGlzLmcudG9TdHJpbmcoKSxhLGIpfTtHcy5wcm90b3R5cGUuY2FuY2VsPWZ1bmN0aW9uKGEpe3RoaXMuaChhKX07dmFyIEhzPWZ1bmN0aW9uKGEsYil7Xy5ELmNhbGwodGhpcyk7dGhpcy5oPWE7dGhpcy5nPWI/YjpudWxsfTtfLnooSHMsXy5EKTtIcy5wcm90b3R5cGUuSj1mdW5jdGlvbigpe18uRC5wcm90b3R5cGUuSi5jYWxsKHRoaXMpfTt2YXIgSnM9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5ELmNhbGwodGhpcyk7dmFyIGU7Yj9lPXtjbGllbnQ6Yn06ZT17YW5ubzozLGNsaWVudDpzcixmb3JtYXQ6Imh0bWwiLHY6IjEuMCJ9O2MmJihlLnNwPWMpO2Uua2V5PWE7Um8mJihlLmxvZ2xkPSJ2IitSbyk7dGhpcy5nPW51bGw7dGhpcy5oPXtZZjozMDB9O2E9dGhpcy5vPW5ldyBIcyhlLGQpO2I9dXIreHI7dGhpcy5sPWEuZz9uZXcgR3MoYixhLmcse2NsaWVudDpzcn0pOm5ldyBEcyhiLHtjbGllbnQ6c3J9KTthPXRoaXMubztpZihhLmcpe2lmKCFhLmcpdGhyb3cgRXJyb3IoIklhIik7YT1be25hOm5ldyBHcyh1cit0cisiL3RyYW5zbGF0ZV9hL3QiLGEuZyxhLmgpLG5lOjE5MDAsWmY6NDI5NDk2NzI5NSxYZjotMSx0ZzowLFdkOiExfV19ZWxzZSBhPVt7bmE6bmV3IEVzKHVyK3RyKyIvdHJhbnNsYXRlX2EvdCIsYS5oKSxuZTozMDcyMCxaZjo0Mjk0OTY3Mjk1LFhmOi0xLHRnOjAsV2Q6ITF9XTt0aGlzLnM9bmV3IElzKGEpO3RoaXMuaj0KITE7Zm9yKGI9MDtiPGEubGVuZ3RoOysrYil0aGlzLmo9dGhpcy5qfHxhW2JdLm5hLllhKCk7dGhpcy5qfHx0aGlzLm5pKCl9O18ueihKcyxfLkQpO0pzLnByb3RvdHlwZS5pbml0aWFsaXplPWZ1bmN0aW9uKGEpe3RoaXMuQXx8KHRoaXMuQT0hMCx0aGlzLnMuc3RhcnQoKDAsXy5BKShmdW5jdGlvbihiKXtiJiYodGhpcy5nPWIsdGhpcy5oLm5hPWIubmEpO2EoKX0sdGhpcykpKX07SnMucHJvdG90eXBlLllhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuan07SnMucHJvdG90eXBlLldhPWZ1bmN0aW9uKCl7cmV0dXJuIG51bGwhPT10aGlzLmcmJm51bGwhPT10aGlzLmcubmEmJnRoaXMuZy5uYS5XYSgpfTsKdmFyIEtzPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD17cTpjLnN1YnN0cmluZygwLGEuaC5ZZiksc2w6ImF1dG8iLHRsOiJlbiJ9O3JldHVybiBuZXcgXy5sZShmdW5jdGlvbihlLGYpe2EuaC5uYS5zZW5kKGQsYikudGhlbihmdW5jdGlvbihnKXt0cnl7dmFyIGg9SlNPTi5wYXJzZShnKTtlKGgmJmhbMV18fG51bGwpfWNhdGNoKGwpe2UobnVsbCl9fSxmdW5jdGlvbihnKXtyZXR1cm4gZihnfHxudWxsKX0pfSl9OwpKcy5wcm90b3R5cGUudHJhbnNsYXRlPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCl7dmFyIGw9dGhpcyxtPXtxOmIsc2w6Yyx0bDpkfTttLnRjPWU7ZiYmKG0uY3R0PTEpO2cmJihtLmRvbT0xKTtoJiYobS5zcj0xKTttW2pyKCldPWlyKGIuam9pbigiIikpO3JldHVybiBuZXcgXy5sZShmdW5jdGlvbihuLHEpe2wuZy5uYS5zZW5kKG0sYSkudGhlbihmdW5jdGlvbihyKXtpZihyKXtpZigib2JqZWN0IiE9PXR5cGVvZiByKXRyeXtyPUpTT04ucGFyc2Uocil9Y2F0Y2goQyl7bC5taSgpO3EoKTtyZXR1cm59aWYoImFycmF5IiE9Xy5FYihyKSl2YXIgcD1bW3IsMjAwXV07ZWxzZSBpZigyPT1yLmxlbmd0aCYmImFycmF5IiE9Xy5FYihyWzBdKSYmImFycmF5IiE9Xy5FYihyWzFdKSlwPVtbclswXSwyMDAsclsxXV0sW3JbMV0sMjAwLHJbMV1dXTtlbHNle3A9W107Zm9yKHZhciB4PTA7eDxyLmxlbmd0aDsrK3gpcFt4XT0iYXJyYXkiIT1fLkViKHJbeF0pP1tyW3hdLDIwMF06W3JbeF1bMF0sCjIwMCxyW3hdWzFdXX1uKHApfWVsc2UgcSgpfSl9KX07dmFyIExzPWZ1bmN0aW9uKGEsYil7YiBpbnN0YW5jZW9mIF8ubGU/Yi50aGVuKGZ1bmN0aW9uKGMpe2EuZy5uYS5jYW5jZWwoYyl9KTphLmcubmEuY2FuY2VsKGIpfSxNcz1mdW5jdGlvbihhKXtyZXR1cm4gYS5nLldkP2EuZy5uZS0obmV3IF8uUGYoYS5nLm5hLmcpKS50b1N0cmluZygpLmxlbmd0aDphLmcubmV9O0pzLnByb3RvdHlwZS5KPWZ1bmN0aW9uKCl7Xy5ELnByb3RvdHlwZS5KLmNhbGwodGhpcyk7dGhpcy5nJiYodGhpcy5nLm5hLlIoKSx0aGlzLmcubmE9bnVsbCk7dGhpcy5oLm5hPW51bGw7dGhpcy5sLlIoKTt0aGlzLmw9bnVsbH07dnMuYXR0YWNoKDczNjEsSnMucHJvdG90eXBlLHtuaTpmdW5jdGlvbigpe2pvKCJ0ZV9hdSIpfX0pO3ZzLmF0dGFjaCg0NzUwNCxKcy5wcm90b3R5cGUse21pOmZ1bmN0aW9uKCl7am8oInRlX2FmYnIiKX19KTt2YXIgSXM9ZnVuY3Rpb24oYSl7dGhpcy5oPWF9OwpJcy5wcm90b3R5cGUuc3RhcnQ9ZnVuY3Rpb24oYSl7dGhpcy5nPWE7dGhpcy5qPTA7TnModGhpcyl9O3ZhciBOcz1mdW5jdGlvbihhKXtpZihhLmo+PWEuaC5sZW5ndGgpYS5nKG51bGwpO2Vsc2V7dmFyIGI9YS5oW2EuaisrXTtiLlBpP2dzKG5ldyBmcygoMCxfLkEpKGIubmEuV2EsYi5uYSksKDAsXy5BKShmdW5jdGlvbihjKXtjP3RoaXMuZyhiKTpOcyh0aGlzKX0sYSksYi5QaSkpOmIubmEuV2EoKT9hLmcoYik6TnMoYSl9fTt2YXIgT3M9YXMoIkEgQUJCUiBBQ1JPTllNIEIgQkFTRUZPTlQgQkRPIEJJRyBDSVRFIERGTiBFTSBGT05UIEkgSU5QVVQgTk9CUiBMQUJFTCBRIFMgU01BTEwgU1BBTiBTVFJJS0UgU1RST05HIFNVQiBTVVAgVEVYVEFSRUEgVFQgVSBWQVIiLnNwbGl0KCIgIikpLFBzPWFzKCJBUFBMRVQgQVJFQSBCQVNFIEZSQU1FIEZSQU1FU0VUIEhSIExJTksgTUVUQSBOT0ZSQU1FUyBOT1NDUklQVCBJTlBVVCBURVhUQVJFQSBUSVRMRSIuc3BsaXQoIiAiKSksUXM9YXMoIkJSIENPREUgSU1HIEtCRCBNQVAgT0JKRUNUIFBBUkFNIFNDUklQVCBTVFlMRSBXQlIgc3ZnIi5zcGxpdCgiICIpKSxScz1hcyhbInN1Ym1pdCIsImJ1dHRvbiJdKTt2YXIgVHM9ZnVuY3Rpb24oYSxiLGMsZCxlKXt0aGlzLmo9ISFiO3RoaXMubm9kZT1udWxsO3RoaXMuZz0wO3RoaXMubD0hMTt0aGlzLm89IWM7YSYmU3ModGhpcyxhLGQpO3RoaXMuaD12b2lkIDAhPWU/ZTp0aGlzLmd8fDA7dGhpcy5qJiYodGhpcy5oKj0tMSl9O18uQihUcyxfLmZmKTt2YXIgU3M9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYS5ub2RlPWIpYS5nPSJudW1iZXIiPT09dHlwZW9mIGM/YzoxIT1hLm5vZGUubm9kZVR5cGU/MDphLmo/LTE6MTsibnVtYmVyIj09PXR5cGVvZiBkJiYoYS5oPWQpfSxVcz1mdW5jdGlvbihhKXt2YXIgYj1hLmo/LTE6MTthLmc9PWImJihhLmc9LTEqYixhLmgrPWEuZyooYS5qPy0xOjEpKX07ClRzLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKCl7aWYodGhpcy5sKXtpZighdGhpcy5ub2RlfHx0aGlzLm8mJjA9PXRoaXMuaClyZXR1cm4gXy5nZjt2YXIgYT10aGlzLm5vZGU7dmFyIGI9dGhpcy5qPy0xOjE7aWYodGhpcy5nPT1iKXt2YXIgYz10aGlzLmo/YS5sYXN0Q2hpbGQ6YS5maXJzdENoaWxkO2M/U3ModGhpcyxjKTpTcyh0aGlzLGEsLTEqYil9ZWxzZShjPXRoaXMuaj9hLnByZXZpb3VzU2libGluZzphLm5leHRTaWJsaW5nKT9Tcyh0aGlzLGMpOlNzKHRoaXMsYS5wYXJlbnROb2RlLC0xKmIpO3RoaXMuaCs9dGhpcy5nKih0aGlzLmo/LTE6MSl9ZWxzZSB0aGlzLmw9ITA7cmV0dXJuKGE9dGhpcy5ub2RlKT97dmFsdWU6YSxkb25lOiExfTpfLmdmfTtUcy5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKGEpe3JldHVybiBhLm5vZGU9PXRoaXMubm9kZSYmKCF0aGlzLm5vZGV8fGEuZz09dGhpcy5nKX07dmFyIFdzPWZ1bmN0aW9uKGEsYil7dGhpcy5sPSExO3RoaXMuaj1fLkY/W106bnVsbDt0aGlzLmg9W107dGhpcy5kb25lPSExO2Zvcih0aGlzLmc9bmV3IFRzKGEsITEsYiwzPT09YS5ub2RlVHlwZT8wOjEsMSk7YT1hLnBhcmVudE5vZGU7KVZzKHRoaXMsYSwhMCk7dGhpcy5oLnB1c2goITEpO3RoaXMuaC5yZXZlcnNlKCk7Zm9yKGE9MTthPHRoaXMuaC5sZW5ndGg7KythKW51bGw9PXRoaXMuaFthXSYmKHRoaXMuaFthXT10aGlzLmhbYS0xXSl9LFZzPWZ1bmN0aW9uKGEsYixjKXtjPXZvaWQgMD09PWM/ITE6Yzt2YXIgZD0oYi5zdHlsZSYmYi5zdHlsZS53aGl0ZVNwYWNlfHwiIikuc3Vic3RyaW5nKDAsMyk7InByZSI9PT1kfHwhZCYmIlBSRSI9PT1iLnRhZ05hbWU/YS5oLnB1c2goITApOmQmJiJwcmUiIT09ZD9hLmgucHVzaCghMSk6Yz9hLmgucHVzaChudWxsKTphLmgucHVzaChhLmhbYS5oLmxlbmd0aC0xXSl9LFhzPWZ1bmN0aW9uKGEpe3JldHVybiEhYS5oW2EuaC5sZW5ndGgtCjFdfTtXcy5wcm90b3R5cGUubm9kZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcubm9kZX07V3MucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24oKXt0cnl7dGhpcy5qJiYwPHRoaXMuai5sZW5ndGgmJi0xPT09dGhpcy5nLmcmJnRoaXMuai5sZW5ndGgtLTstMT09PXRoaXMuZy5nJiZ0aGlzLmgubGVuZ3RoLS07aWYodGhpcy5qJiYwPHRoaXMuai5sZW5ndGgmJjEhPT10aGlzLmcuZyYmIXRoaXMuZy5ub2RlLm5leHRTaWJsaW5nKVNzKHRoaXMuZyx0aGlzLmpbdGhpcy5qLmxlbmd0aC0xXSwtMSx0aGlzLmcuaC0xKTtlbHNle3ZhciBhPXRoaXMuZy5uZXh0KCk7dGhpcy5sPSEwO2lmKGEuZG9uZSl7dGhpcy5kb25lPSEwO3JldHVybn10aGlzLmomJjE9PT10aGlzLmcuZyYmdGhpcy5qLnB1c2godGhpcy5nLm5vZGUpfTE9PT10aGlzLmcuZyYmdGhpcy5sJiZWcyh0aGlzLHRoaXMuZy5ub2RlKX1jYXRjaChiKXt0aGlzLnZpKGIpLHRoaXMuZG9uZT0hMH19Owp2cy5hdHRhY2goNTI3NTQsV3MucHJvdG90eXBlLHt2aToxfSk7dmFyIFlzPWZ1bmN0aW9uKCl7cmV0dXJuIlttc2dfdW5kZWZpbmVkXSJ9LFc9e307CihmdW5jdGlvbigpe3ZhciBhPWZ1bmN0aW9uKGIpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBifX07Vz17ZGY6YSgwKSxFZzphKDEpLFJlOmEoMiksZGs6YSgzKSxaZzphKDQpLFRlOmEoNSksUmc6YSg0NSksU2c6YSg2KSxVZzphKDcpLE1kOmEoOCksYWg6YSg5KSxDazphKDEwKSxlaDphKDExKSxWZzphKDEyKSx1azphKDEzKSxYZzphKDE0KSx0azphKDE1KSxXZzphKDE2KSxGazphKDE3KSxiaDphKDE4KSxzajphKDE5KSxiazphKDIwKSxGZzphKDIxKSx2azphKDIyKSxtazphKDIzKSxsazphKDI0KSxqazphKDI1KSxEazphKDI2KSxCazphKDI3KSxrazphKDI4KSxUZzphKDI5KSxkaDphKDMwKSxyajphKDMyKSxwajphKDMzKSxHazphKDM0KSxCajphKDM1KSx3ajphKDM2KSxBajphKDM3KSxZZzphKDM4KSxTajphKDM5KSxxajphKDQwKSxjazphKDQxKSxhZjphKDQ2KSxmazphKDQ3KSxLajphKDQ4KSxKajphKDQ5KSxJajphKDUwKSxFazphKDUxKX19KSgpO1cuRGw9ZnVuY3Rpb24oKXtyZXR1cm4gXy5NWzBdfTsKVy55aD1mdW5jdGlvbigpe3JldHVybiBfLk1bMV19O1cuY2w9ZnVuY3Rpb24oKXtyZXR1cm4gXy5NWzJdfTtXLnBsPWZ1bmN0aW9uKCl7cmV0dXJuIF8uTVszXX07Vy5FbD1mdW5jdGlvbigpe3JldHVybiBfLk1bNF19O1cuZ2w9ZnVuY3Rpb24oKXtyZXR1cm4gXy5NWzVdfTtXLmpsPWZ1bmN0aW9uKCl7cmV0dXJuIF8uTVs0NV19O1cua2w9ZnVuY3Rpb24oKXtyZXR1cm4gXy5NWzZdfTtXLnFsPWZ1bmN0aW9uKCl7cmV0dXJuIF8uTVs3XX07Vy5IbD1mdW5jdGlvbigpe3JldHVybiBfLk1bOF19O1cuSmw9ZnVuY3Rpb24oKXtyZXR1cm4gXy5NWzldfTtXLkdsPWZ1bmN0aW9uKCl7cmV0dXJuIF8uTVsxMF19O1cuUGw9ZnVuY3Rpb24oKXtyZXR1cm4gXy5NWzExXX07Vy5ybD1mdW5jdGlvbigpe3JldHVybiBfLk1bMTJdfTtXLkFsPWZ1bmN0aW9uKCl7cmV0dXJuIF8uTVsxM119O1cuQmw9ZnVuY3Rpb24oKXtyZXR1cm4gXy5NWzE0XX07Vy56bD1mdW5jdGlvbigpe3JldHVybiBfLk1bMTVdfTsKVy51bD1mdW5jdGlvbigpe3JldHVybiBfLk1bMTZdfTtXLk1sPWZ1bmN0aW9uKCl7cmV0dXJuIF8uTVsxN119O1cuTGw9ZnVuY3Rpb24oKXtyZXR1cm4gXy5NWzE4XX07Vy5hbD1mdW5jdGlvbigpe3JldHVybiBfLk1bMTldfTtXLm9sPWZ1bmN0aW9uKCl7cmV0dXJuIF8uTVsyMF19O1cuQ2g9ZnVuY3Rpb24oKXtyZXR1cm4gXy5NWzQxXX07Vy5mbD1mdW5jdGlvbigpe3JldHVybiBfLk1bMjFdfTtXLkVoPWZ1bmN0aW9uKCl7cmV0dXJuIF8uTVsyMl19O1cueWw9ZnVuY3Rpb24oKXtyZXR1cm4gXy5NWzIzXX07Vy54bD1mdW5jdGlvbigpe3JldHVybiBfLk1bMjRdfTtXLnZsPWZ1bmN0aW9uKCl7cmV0dXJuIF8uTVsyNV19O1cuSWw9ZnVuY3Rpb24oKXtyZXR1cm4gXy5NWzI2XX07Vy5GbD1mdW5jdGlvbigpe3JldHVybiBfLk1bMjddfTtXLndsPWZ1bmN0aW9uKCl7cmV0dXJuIF8uTVsyOF19O1cubmw9ZnVuY3Rpb24oKXtyZXR1cm4gXy5NWzI5XX07Vy5ObD1mdW5jdGlvbigpe3JldHVybiBfLk1bMzBdfTsKVy5sbD1mdW5jdGlvbigpe3JldHVybiBfLk1bMzldfTtXLlprPWZ1bmN0aW9uKCl7cmV0dXJuIF8uTVszMl19O1cuWGs9ZnVuY3Rpb24oKXtyZXR1cm4gXy5NWzMzXX07Vy5Zaz1mdW5jdGlvbigpe3JldHVybiBfLk1bNDBdfTtXLk9sPWZ1bmN0aW9uKCl7cmV0dXJuIF8uTVszNF19O1cuZWw9ZnVuY3Rpb24oKXtyZXR1cm4gXy5NWzM1XX07Vy5ibD1mdW5jdGlvbigpe3JldHVybiBfLk1bMzZdfTtXLmRsPWZ1bmN0aW9uKCl7cmV0dXJuIF8uTVszN119O1cuQ2w9ZnVuY3Rpb24oKXtyZXR1cm4gXy5NWzM4XX07Vy5pbD1mdW5jdGlvbigpe3JldHVybiBfLk1bNDZdfTtXLkRoPWZ1bmN0aW9uKCl7cmV0dXJuIF8uTVs0N119O1cuQmg9ZnVuY3Rpb24oKXtyZXR1cm4gXy5NWzQ4XX07Vy5BaD1mdW5jdGlvbigpe3JldHVybiBfLk1bNDldfTtXLnpoPWZ1bmN0aW9uKCl7cmV0dXJuIF8uTVs1MF19O1cuS2w9ZnVuY3Rpb24oKXtyZXR1cm4gXy5NWzUxXX07dmFyIFpzPVcueWgsJHM9Vy5FaCxhdD1XLkNoLGJ0PVcuRGgsY3Q9Vy5CaCxkdD1XLkFoLGV0PVcuemg7dmFyIGZ0PSRwWyJrZXlfYToiXTtpZih2b2lkIDA9PT1mdHx8MD5mdCkkcFsia2V5X2E6Il09MDtlbHNlIGlmKDA9PWZ0KXRocm93IEVycm9yKCJKYWBhYCIpOwp2YXIgZ3Q9ZnVuY3Rpb24oKXtyZXR1cm4oMCxfLlBtKSgnPGRpdj48dGV4dGFyZWEgY2xhc3M9ImNvbnRyaWJ1dGUtb3JpZ2luYWwtdGV4dCI+PC90ZXh0YXJlYT48ZGl2IGNsYXNzPSJhY3Rpdml0eS1mb3JtLWNvbnRhaW5lciI+PC9kaXY+PC9kaXY+Jyl9LGh0PWZ1bmN0aW9uKGEpe3ZhciBiPWEuZmgsYz1hLm1ldGhvZCxkPWEudWg7YT1hLmRpcjtiPSc8ZGl2IGNsYXNzPSInK1YoIlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIikrJyI+PGRpdiBjbGFzcz0iZm9ybS1tZXNzYWdlIj48L2Rpdj48Zm9ybSBjbGFzcz0iJytWKCJWSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCIpKyciIGFjdGlvbj0iJytWKHhxKGIpKSsnIiBtZXRob2Q9IicrVihjKSsnIj48ZGl2IGNsYXNzPSJmb3JtLWJ1dHRvbnMiIHN0eWxlPSJ0ZXh0LWFsaWduOicrKChhJiZhLmZpJiYicnRsIi5maT9hLnpiIT09InJ0bCIuemI/MDphLnRvU3RyaW5nKCk9PT0icnRsIi50b1N0cmluZygpOiJydGwiPT1hKT8icmlnaHQiOgoibGVmdCIpKyciPjxpbnB1dCBjbGFzcz0iJytWKCJWSXBnSmQteUFXTkViLVowQXJxZi1zRmVCcWYiKSsnIiB0eXBlPSJidXR0b24iIHZhbHVlPSInK1YoJHMoKSkrJyI+PGlucHV0IGNsYXNzPSJhY3Rpdml0eS1jYW5jZWwiIHR5cGU9ImJ1dHRvbiIgdmFsdWU9IicrVihacygpKSsnIj48L2Rpdj48ZGl2IGNsYXNzPSJwYXJhbWV0ZXJzIj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJndHJhbnMiLz48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ1dHJhbnMiLz48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJobCIvPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InRleHQiLz48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJsYW5ncGFpciIvPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9lIiB2YWx1ZT0iVVRGLTgiLz4nO2M9ZC5sZW5ndGg7Zm9yKGE9MDthPGM7YSsrKWIrPSc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSInK1YoZFthXSkrJyIvPic7cmV0dXJuKDAsXy5QbSkoYisKIjwvZGl2PjwvZm9ybT48L2Rpdj4iKX0sbHQ9ZnVuY3Rpb24oYSl7dmFyIGI9YS5kaXI7YT1hLm5qO2I9JzxkaXYgaWQ9Imdvb2ctZ3QtdHQiIGNsYXNzPSInK1YoIlZJcGdKZC15QVdORWItTDdsYmtiIikrJyBza2lwdHJhbnNsYXRlIiBzdHlsZT0iYm9yZGVyLXJhZGl1czogMTJweDsgbWFyZ2luOiAwIDAgMCAtMjNweDsgcGFkZGluZzogMDsgZm9udC1mYW1pbHk6IFwnR29vZ2xlIFNhbnNcJywgQXJpYWwsIHNhbnMtc2VyaWY7IiBkYXRhLWlkPSIiPjxkaXYgaWQ9Imdvb2ctZ3QtdnQiIGNsYXNzPSInK1YoIlZJcGdKZC15QVdORWItaHZoZ05kIikrJyI+PGRpdiBjbGFzcz0iJysoInJ0bCI9PT1iPyIgIitWKCJWSXBnSmQteUFXTkViLWh2aGdOZC1sNGVIWC1TSXNyVGQiKSsiICI6IiAiK1YoIlZJcGdKZC15QVdORWItaHZoZ05kLWw0ZUhYLWkzak04YyIpKSsnIj48aW1nIHNyYz0iaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kvcHJvZHVjdGxvZ29zL3RyYW5zbGF0ZS92MTQvMjRweC5zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYWx0PSIiLz48L2Rpdj48ZGl2IGNsYXNzPSInKwooInJ0bCI9PT1iPyIgICIrVigiVklwZ0pkLXlBV05FYi1odmhnTmQtazc3SWlmLVNJc3JUZCIpKyIgIjoiICIrVigiVklwZ0pkLXlBV05FYi1odmhnTmQtazc3SWlmLWkzak04YyIpKSsnIj48ZGl2IGNsYXNzPSInK1YoIlZJcGdKZC15QVdORWItaHZoZ05kLUl1aXpXYyIpKyciIGRpcj0iJytWKGIpKyciPicrbnEoYXQoKSkrJzwvZGl2PjxkaXYgaWQ9Imdvb2ctZ3Qtb3JpZ2luYWwtdGV4dCIgY2xhc3M9IicrVigiVklwZ0pkLXlBV05FYi1uVk1mY2QtZm1jbVMiKSsiICIrVigiVklwZ0pkLXlBV05FYi1odmhnTmQtYXhBVjEiKSsnIj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSInK1YoIlZJcGdKZC15QVdORWItaHZoZ05kLU43RXFpZCIpKyIgIitWKGIpKyciPjxkaXYgY2xhc3M9IicrVigiVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkLUI3STRPZCIpKyIgIitWKGIpKyciIGRpcj0iJytWKGIpKyciPjxkaXYgY2xhc3M9IicrVigiVklwZ0pkLXlBV05FYi1odmhnTmQtVVR1akNiIikrCiciPicrbnEoYnQoKSkrJzwvZGl2PjxkaXYgY2xhc3M9IicrVigiVklwZ0pkLXlBV05FYi1odmhnTmQtZU85bUtlIikrJyI+JytucShjdCgpKSsnPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iJytWKCJWSXBnSmQteUFXTkViLWh2aGdOZC14Z292NSIpKyIgIitWKGIpKyciPicrKCJydGwiPT09Yj9qdCgpK2t0KCk6a3QoKStqdCgpKSsiPC9kaXY+PC9kaXY+IjthPSgwLF8uUG0pKCc8ZGl2IGlkPSJnb29nLWd0LXZvdGluZ0hpZGRlblBhbmUiIGNsYXNzPSInK1YoIlZJcGdKZC15QVdORWItaHZoZ05kLWFYWVRjZSIpKyciPjxmb3JtIGlkPSJnb29nLWd0LXZvdGluZ0Zvcm0iIGFjdGlvbj0iJytWKHhxKGEpKSsnIiBtZXRob2Q9InBvc3QiIHRhcmdldD0idm90aW5nRnJhbWUiIGNsYXNzPSInK1YoIlZJcGdKZC15QVdORWItaHZoZ05kLWFYWVRjZSIpKyciPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJzbCIgaWQ9Imdvb2ctZ3Qtdm90aW5nSW5wdXRTcmNMYW5nIi8+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9InRsIiBpZD0iZ29vZy1ndC12b3RpbmdJbnB1dFRyZ0xhbmciLz48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0icXVlcnkiIGlkPSJnb29nLWd0LXZvdGluZ0lucHV0U3JjVGV4dCIvPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJndHJhbnMiIGlkPSJnb29nLWd0LXZvdGluZ0lucHV0VHJnVGV4dCIvPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ2b3RlIiBpZD0iZ29vZy1ndC12b3RpbmdJbnB1dFZvdGUiLz48L2Zvcm0+PGlmcmFtZSBuYW1lPSJ2b3RpbmdGcmFtZSIgZnJhbWVCb3JkZXI9MD48L2lmcmFtZT48L2Rpdj4nKTsKcmV0dXJuKDAsXy5QbSkoYithKyI8L2Rpdj48L2Rpdj4iKX0sa3Q9ZnVuY3Rpb24oKXt2YXIgYT1kdCgpO2E9JzxidXR0b24gaWQ9Imdvb2ctZ3QtdGh1bWJVcEJ1dHRvbiIgdHlwZT0iYnV0dG9uIiBjbGFzcz0iJytWKCJWSXBnSmQteUFXTkViLWh2aGdOZC1iZ202c2YiKSsnIiB0aXRsZT0iJytWKGEpKyciIGFyaWEtbGFiZWw9IicrVihhKSsnIiBhcmlhLXByZXNzZWQ9ImZhbHNlIj48c3BhbiBpZD0iZ29vZy1ndC10aHVtYlVwSWNvbiI+Jzt2YXIgYj0oMCxfLlBtKSgnPHN2ZyB3aWR0aD0iJytWKDI0KSsnIiBoZWlnaHQ9IicrVigyNCkrJyIgdmlld0JveD0iJytWKCIwIDAgMjQgMjQiKSsnIiBmb2N1c2FibGU9ImZhbHNlIiBjbGFzcz0iJytWKCJWSXBnSmQteUFXTkViLWh2aGdOZC1USEk2VmIiKSsiICIrVigiTk1tNU0iKSsnIicrZXEoKSsnPjxwYXRoIGQ9Ik0yMSA3aC02LjMxbC45NS00LjU3LjAzLS4zMmMwLS40MS0uMTctLjc5LS40NC0xLjA2TDE0LjE3IDBTNy4wOCA2Ljg1IDcgN0gydjEzaDE2Yy44MyAwIDEuNTQtLjUgMS44NC0xLjIybDMuMDItNy4wNWMuMDktLjIzLjE0LS40Ny4xNC0uNzNWOWMwLTEuMS0uOS0yLTItMnpNNyAxOEg0VjloM3Y5em0xNC03bC0zIDdIOVY4bDQuMzQtNC4zNEwxMiA5aDl2MnoiLz48L3N2Zz4nKTsKYT1hK2IrJzwvc3Bhbj48c3BhbiBpZD0iZ29vZy1ndC10aHVtYlVwSWNvbkZpbGxlZCI+JztiPSgwLF8uUG0pKCc8c3ZnIHdpZHRoPSInK1YoMjQpKyciIGhlaWdodD0iJytWKDI0KSsnIiB2aWV3Qm94PSInK1YoIjAgMCAyNCAyNCIpKyciIGZvY3VzYWJsZT0iZmFsc2UiIGNsYXNzPSInK1YoIlZJcGdKZC15QVdORWItaHZoZ05kLVRISTZWYiIpKyIgIitWKCJOTW01TSIpKyciJytlcSgpKyc+PHBhdGggZD0iTTIxIDdoLTYuMzFsLjk1LTQuNTcuMDMtLjMyYzAtLjQxLS4xNy0uNzktLjQ0LTEuMDZMMTQuMTcgMFM3LjA4IDYuODUgNyA3djEzaDExYy44MyAwIDEuNTQtLjUgMS44NC0xLjIybDMuMDItNy4wNWMuMDktLjIzLjE0LS40Ny4xNC0uNzNWOWMwLTEuMS0uOS0yLTItMnpNNSA3SDF2MTNoNFY3eiIvPjwvc3ZnPicpO3JldHVybigwLF8uUG0pKGErYisiPC9zcGFuPjwvYnV0dG9uPiIpfSxqdD1mdW5jdGlvbigpe3ZhciBhPWV0KCk7YT0nPGJ1dHRvbiBpZD0iZ29vZy1ndC10aHVtYkRvd25CdXR0b24iIHR5cGU9ImJ1dHRvbiIgY2xhc3M9IicrClYoIlZJcGdKZC15QVdORWItaHZoZ05kLWJnbTZzZiIpKyciIHRpdGxlPSInK1YoYSkrJyIgYXJpYS1sYWJlbD0iJytWKGEpKyciIGFyaWEtcHJlc3NlZD0iZmFsc2UiPjxzcGFuIGlkPSJnb29nLWd0LXRodW1iRG93bkljb24iPic7dmFyIGI9KDAsXy5QbSkoJzxzdmcgd2lkdGg9IicrVigyNCkrJyIgaGVpZ2h0PSInK1YoMjQpKyciIHZpZXdCb3g9IicrVigiMCAwIDI0IDI0IikrJyIgZm9jdXNhYmxlPSJmYWxzZSIgY2xhc3M9IicrVigiVklwZ0pkLXlBV05FYi1odmhnTmQtVEhJNlZiIikrIiAiK1YoIk5NbTVNIikrJyInK2VxKCkrJz48cGF0aCBkPSJNMyAxN2g2LjMxbC0uOTUgNC41Ny0uMDMuMzJjMCAuNDEuMTcuNzkuNDQgMS4wNkw5LjgzIDI0czcuMDktNi44NSA3LjE3LTdoNVY0SDZjLS44MyAwLTEuNTQuNS0xLjg0IDEuMjJsLTMuMDIgNy4wNWMtLjA5LjIzLS4xNC40Ny0uMTQuNzN2MmMwIDEuMS45IDIgMiAyek0xNyA2aDN2OWgtM1Y2ek0zIDEzbDMtN2g5djEwbC00LjM0IDQuMzRMMTIgMTVIM3YtMnoiLz48L3N2Zz4nKTsKYT1hK2IrJzwvc3Bhbj48c3BhbiBpZD0iZ29vZy1ndC10aHVtYkRvd25JY29uRmlsbGVkIj4nO2I9KDAsXy5QbSkoJzxzdmcgd2lkdGg9IicrVigyNCkrJyIgaGVpZ2h0PSInK1YoMjQpKyciIHZpZXdCb3g9IicrVigiMCAwIDI0IDI0IikrJyIgZm9jdXNhYmxlPSJmYWxzZSIgY2xhc3M9IicrVigiVklwZ0pkLXlBV05FYi1odmhnTmQtVEhJNlZiIikrIiAiK1YoIk5NbTVNIikrJyInK2VxKCkrJz48cGF0aCBkPSJNMyAxN2g2LjMxbC0uOTUgNC41Ny0uMDMuMzJjMCAuNDEuMTcuNzkuNDQgMS4wNkw5LjgzIDI0czcuMDktNi44NSA3LjE3LTdWNEg2Yy0uODMgMC0xLjU0LjUtMS44NCAxLjIybC0zLjAyIDcuMDVjLS4wOS4yMy0uMTQuNDctLjE0LjczdjJjMCAxLjEuOSAyIDIgMnptMTYgMGg0VjRoLTR2MTN6Ii8+PC9zdmc+Jyk7cmV0dXJuKDAsXy5QbSkoYStiKyI8L3NwYW4+PC9idXR0b24+Iil9O3ZhciBtdD1mdW5jdGlvbigpe307JG8obXQpO210LnByb3RvdHlwZS5nPTA7dmFyIFA9ZnVuY3Rpb24oYSl7Xy5ILmNhbGwodGhpcyk7dGhpcy5oPWF8fF8uZWQoKTt0aGlzLmFhPW50O3RoaXMuVT1udWxsO3RoaXMuT2E9ITE7dGhpcy5vPW51bGw7dGhpcy5LPXZvaWQgMDt0aGlzLk09dGhpcy5HPXRoaXMuRj1udWxsO3RoaXMubWE9ITF9O18uQihQLF8uSCk7UC5wcm90b3R5cGUucmE9bXQub2IoKTt2YXIgbnQ9bnVsbCxvdD1mdW5jdGlvbihhLGIpe3N3aXRjaChhKXtjYXNlIDE6cmV0dXJuIGI/ImRpc2FibGUiOiJlbmFibGUiO2Nhc2UgMjpyZXR1cm4gYj8iaGlnaGxpZ2h0IjoidW5oaWdobGlnaHQiO2Nhc2UgNDpyZXR1cm4gYj8iYWN0aXZhdGUiOiJkZWFjdGl2YXRlIjtjYXNlIDg6cmV0dXJuIGI/InNlbGVjdCI6InVuc2VsZWN0IjtjYXNlIDE2OnJldHVybiBiPyJjaGVjayI6InVuY2hlY2siO2Nhc2UgMzI6cmV0dXJuIGI/ImZvY3VzIjoiYmx1ciI7Y2FzZSA2NDpyZXR1cm4gYj8ib3BlbiI6ImNsb3NlIn10aHJvdyBFcnJvcigiS2EiKTt9OwpQLnByb3RvdHlwZS5NYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLlV8fCh0aGlzLlU9IjoiKyh0aGlzLnJhLmcrKykudG9TdHJpbmcoMzYpKX07dmFyIHB0PWZ1bmN0aW9uKGEsYil7aWYoYS5GJiZhLkYuTSl7dmFyIGM9YS5GLk0sZD1hLlU7ZCBpbiBjJiZkZWxldGUgY1tkXTtjPWEuRi5NO2lmKG51bGwhPT1jJiZiIGluIGMpdGhyb3cgRXJyb3IoInlgIitiKTtjW2JdPWF9YS5VPWJ9O1AucHJvdG90eXBlLkM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vfTt2YXIgcXQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5vP0FvKGIsYS5vfHxhLmguZyk6bnVsbH0scnQ9ZnVuY3Rpb24oYSl7YS5LfHwoYS5LPW5ldyBfLkkoYSkpO3JldHVybiBhLkt9O1AucHJvdG90eXBlLnhkPWZ1bmN0aW9uKGEpe2lmKHRoaXMuRiYmdGhpcy5GIT1hKXRocm93IEVycm9yKCJNYSIpO1AuTy54ZC5jYWxsKHRoaXMsYSl9O1AucHJvdG90eXBlLlM9ZnVuY3Rpb24oKXt0aGlzLm89Xy5SbSh0aGlzLmgsIkRJViIpfTsKUC5wcm90b3R5cGUueWE9ZnVuY3Rpb24oYSl7c3QodGhpcyxhKX07dmFyIHN0PWZ1bmN0aW9uKGEsYixjKXtpZihhLk9hKXRocm93IEVycm9yKCJOYSIpO2Eub3x8YS5TKCk7Yj9iLmluc2VydEJlZm9yZShhLm8sY3x8bnVsbCk6YS5oLmcuYm9keS5hcHBlbmRDaGlsZChhLm8pO2EuRiYmIWEuRi5PYXx8YS5rYSgpfSx0dD1mdW5jdGlvbihhLGIpe2lmKGEuT2EpdGhyb3cgRXJyb3IoIk5hIik7aWYoYiYmYS5XZShiKSl7YS5tYT0hMDt2YXIgYz1fLmRkKGIpO2EuaCYmYS5oLmc9PWN8fChhLmg9Xy5lZChiKSk7YS5vYShiKTthLmthKCl9ZWxzZSB0aHJvdyBFcnJvcigiT2EiKTt9O18uaz1QLnByb3RvdHlwZTtfLmsuV2U9ZnVuY3Rpb24oKXtyZXR1cm4hMH07Xy5rLm9hPWZ1bmN0aW9uKGEpe3RoaXMubz1hfTtfLmsua2E9ZnVuY3Rpb24oKXt0aGlzLk9hPSEwO3V0KHRoaXMsZnVuY3Rpb24oYSl7IWEuT2EmJmEuQygpJiZhLmthKCl9KX07Cl8uay5oYT1mdW5jdGlvbigpe3V0KHRoaXMsZnVuY3Rpb24oYSl7YS5PYSYmYS5oYSgpfSk7dGhpcy5LJiZfLlBnKHRoaXMuSyk7dGhpcy5PYT0hMX07Xy5rLko9ZnVuY3Rpb24oKXt0aGlzLk9hJiZ0aGlzLmhhKCk7dGhpcy5LJiYodGhpcy5LLlIoKSxkZWxldGUgdGhpcy5LKTt1dCh0aGlzLGZ1bmN0aW9uKGEpe2EuUigpfSk7IXRoaXMubWEmJnRoaXMubyYmRXAodGhpcy5vKTt0aGlzLkY9dGhpcy5vPXRoaXMuTT10aGlzLkc9bnVsbDtQLk8uSi5jYWxsKHRoaXMpfTt2YXIgWD1mdW5jdGlvbihhLGIpe3JldHVybiBhLk1hKCkrIi4iK2J9LHV0PWZ1bmN0aW9uKGEsYil7YS5HJiZhLkcuZm9yRWFjaChiLHZvaWQgMCl9OwpQLnByb3RvdHlwZS53ZT1mdW5jdGlvbihhKXtmb3IodmFyIGI9W107dGhpcy5HJiYwIT10aGlzLkcubGVuZ3RoOyl7dmFyIGM9YixkPWMucHVzaCxlPXRoaXMuRz90aGlzLkdbMF18fG51bGw6bnVsbCxmPWE7aWYoZSl7dmFyIGc9InN0cmluZyI9PT10eXBlb2YgZT9lOmUuTWEoKTt0aGlzLk0mJmc/KGU9dGhpcy5NLGU9KG51bGwhPT1lJiZnIGluIGU/ZVtnXTp2b2lkIDApfHxudWxsKTplPW51bGw7aWYoZyYmZSl7dmFyIGg9dGhpcy5NO2cgaW4gaCYmZGVsZXRlIGhbZ107Xy50YSh0aGlzLkcsZSk7ZiYmKGUuaGEoKSxlLm8mJkVwKGUubykpO2Y9ZTtpZihudWxsPT1mKXRocm93IEVycm9yKCJMYSIpO2YuRj1udWxsO1AuTy54ZC5jYWxsKGYsbnVsbCl9fWlmKCFlKXRocm93IEVycm9yKCJQYSIpO2QuY2FsbChjLGUpfXJldHVybiBifTtfLkIocG8sUCk7Xy5rPXBvLnByb3RvdHlwZTtfLmsucmQ9ZnVuY3Rpb24oYSl7dGhpcy5sPWF9O18uay5CYz1mdW5jdGlvbigpe2lmKCF0aGlzLk9hKXRocm93IEVycm9yKCJRYSIpO2lmKCF0aGlzLmwpdGhyb3cgRXJyb3IoIlJhIik7fTtfLmsuU2I9ZnVuY3Rpb24oKXt9O18uay5SPWZ1bmN0aW9uKCl7dGhpcy5YYSgpfHwocG8uTy5SLmNhbGwodGhpcyksZGVsZXRlIHRoaXMua2QpfTtfLmsuc2E9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sfTt2YXIgeHQ9ZnVuY3Rpb24oKXtfLkguY2FsbCh0aGlzKTt0aGlzLmg9ImNsb3N1cmVfZnJhbWUiK3Z0Kys7dGhpcy5qPVtdO3d0W3RoaXMuaF09dGhpc30seXQ7Xy5CKHh0LF8uSCk7dmFyIHd0PXt9LHZ0PTAsenQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLmVkKGEpO18udGYoYixmdW5jdGlvbihkLGUpe0FycmF5LmlzQXJyYXkoZCl8fChkPVtkXSk7Xy5jYyhkLGZ1bmN0aW9uKGYpe2Y9Yy5TKCJJTlBVVCIse3R5cGU6ImhpZGRlbiIsbmFtZTplLHZhbHVlOmZ9KTthLmFwcGVuZENoaWxkKGYpfSl9KX07Xy5rPXh0LnByb3RvdHlwZTtfLmsuZ2E9bnVsbDtfLmsuUWE9bnVsbDtfLmsuT2I9bnVsbDtfLmsuQ2k9MDtfLmsuVWE9ITE7Xy5rLkFkPSExO18uay5pZT1udWxsO18uay5GYj1udWxsOwpfLmsuc2VuZD1mdW5jdGlvbihhLGIsYyxkKXtpZih0aGlzLlVhKXRocm93IEVycm9yKCJTYSIpO2E9bmV3IF8uUGYoYSk7Yj1iP2IudG9VcHBlckNhc2UoKToiR0VUIjtjJiZfLmVnKGEpO3l0fHwoeXQ9QnAoIkZPUk0iKSx5dC5hY2NlcHRDaGFyc2V0PSJ1dGYtOCIsYz15dC5zdHlsZSxjLnBvc2l0aW9uPSJhYnNvbHV0ZSIsYy52aXNpYmlsaXR5PSJoaWRkZW4iLGMudG9wPWMubGVmdD0iLTEwcHgiLGMud2lkdGg9Yy5oZWlnaHQ9IjEwcHgiLGMub3ZlcmZsb3c9ImhpZGRlbiIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh5dCkpO3RoaXMuZ2E9eXQ7IkdFVCI9PWImJnp0KHRoaXMuZ2EsYS5nKTtkJiZ6dCh0aGlzLmdhLGQpO2Q9YS50b1N0cmluZygpO2Q9Xy5kYihkKTtxcCh0aGlzLmdhLG5ldyBfLk9jKGQsXy5SYykpO3RoaXMuZ2EubWV0aG9kPWI7QXQodGhpcyk7QnQodGhpcyl9Owp2YXIgQ3Q9ZnVuY3Rpb24oYSxiKXtpZihhLlVhKXRocm93IEVycm9yKCJTYSIpO3ZhciBjPW5ldyBfLlBmKGIuYWN0aW9uKTthLmdhPWI7cXAoYS5nYSxjLnRvU3RyaW5nKCkpO0F0KGEpfTtfLms9eHQucHJvdG90eXBlO18uay5hYm9ydD1mdW5jdGlvbigpe2lmKHRoaXMuVWEpe3ZhciBhPUR0KHRoaXMpO2lmKGEpaWYoXy55ZChhKSlhLkxhJiZfLkZkKGEuTGEpO2Vsc2UgaWYoYT1fLk1kKGEpKXt2YXIgYj0wLGM7Zm9yKGMgaW4gYS5nKWZvcih2YXIgZD1hLmdbY10uY29uY2F0KCksZT0wO2U8ZC5sZW5ndGg7KytlKV8uUmQoZFtlXSkmJisrYn10aGlzLkFkPXRoaXMuVWE9ITE7dGhpcy5kaXNwYXRjaEV2ZW50KCJhYm9ydCIpO0V0KHRoaXMpfX07Xy5rLko9ZnVuY3Rpb24oKXt0aGlzLlVhJiZ0aGlzLmFib3J0KCk7eHQuTy5KLmNhbGwodGhpcyk7dGhpcy5RYSYmRnQodGhpcyk7QnQodGhpcyk7ZGVsZXRlIHRoaXMubzt0aGlzLmllPXRoaXMuZ2E9bnVsbDtkZWxldGUgd3RbdGhpcy5oXX07Cl8uay5wYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLkFkfTtfLmsuaXNBY3RpdmU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5VYX07Xy5rLkJhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaWV9Owp2YXIgQXQ9ZnVuY3Rpb24oYSl7YS5VYT0hMDthLk9iPWEuaCsiXyIrKGEuQ2krKykudG9TdHJpbmcoMzYpO2EuUWE9Xy5lZChhLmdhKS5TKCJJRlJBTUUiLHtuYW1lOmEuT2IsaWQ6YS5PYn0pO3ZhciBiPWEuUWEuc3R5bGU7Yi52aXNpYmlsaXR5PSJoaWRkZW4iO2Iud2lkdGg9Yi5oZWlnaHQ9IjEwcHgiO2IuZGlzcGxheT0ibm9uZSI7Xy51Yz9iLm1hcmdpblRvcD1iLm1hcmdpbkxlZnQ9Ii0xMHB4IjooYi5wb3NpdGlvbj0iYWJzb2x1dGUiLGIudG9wPWIubGVmdD0iLTEwcHgiKTtfLmVkKGEuZ2EpLmcuYm9keS5hcHBlbmRDaGlsZChhLlFhKTtiPWEuT2IrIl9pbm5lciI7dmFyIGM9R3AoYS5RYSk7aWYoZG9jdW1lbnQuYmFzZVVSSSl7dmFyIGQ9d3AoYik7ZD1fLkltKCc8aGVhZD48YmFzZSBocmVmPSInK3dwKGRvY3VtZW50LmJhc2VVUkkpKyciPjwvaGVhZD48Ym9keT48aWZyYW1lIGlkPSInK2QrJyIgbmFtZT0iJytkKyciPjwvaWZyYW1lPicpfWVsc2UgZD13cChiKSxkPV8uSW0oJzxib2R5PjxpZnJhbWUgaWQ9IicrCmQrJyIgbmFtZT0iJytkKyciPjwvaWZyYW1lPicpO2Mud3JpdGUoXy5WYyhkKSk7Xy5HKGMuZ2V0RWxlbWVudEJ5SWQoYiksImxvYWQiLGEuZywhMSxhKTtkPV8uZW4oIlRFWFRBUkVBIixhLmdhKTtmb3IodmFyIGU9MCxmPWQubGVuZ3RoO2U8ZjtlKyspe3ZhciBnPWRbZV0udmFsdWU7T3AoZFtlXSkhPWcmJihfLnFkKGRbZV0sZyksZFtlXS52YWx1ZT1nKX1kPWMuaW1wb3J0Tm9kZShhLmdhLCEwKTtkLnRhcmdldD1iO2QuYWN0aW9uPWEuZ2EuYWN0aW9uO2MuYm9keS5hcHBlbmRDaGlsZChkKTtlPV8uZW4oIlNFTEVDVCIsYS5nYSk7Zj1fLmVuKCJTRUxFQ1QiLGQpO2c9MDtmb3IodmFyIGg9ZS5sZW5ndGg7ZzxoO2crKylmb3IodmFyIGw9Xy5lbigiT1BUSU9OIixlW2ddKSxtPV8uZW4oIk9QVElPTiIsZltnXSksbj0wLHE9bC5sZW5ndGg7bjxxO24rKyltW25dLnNlbGVjdGVkPWxbbl0uc2VsZWN0ZWQ7ZT1fLmVuKCJJTlBVVCIsYS5nYSk7Zj1fLmVuKCJJTlBVVCIsZCk7Zz0wO2ZvcihoPQplLmxlbmd0aDtnPGg7ZysrKWlmKCJmaWxlIj09ZVtnXS50eXBlJiZlW2ddLnZhbHVlIT1mW2ddLnZhbHVlKXthLmdhLnRhcmdldD1iO2Q9YS5nYTticmVha310cnl7YS5zPSExLGQuc3VibWl0KCksYy5jbG9zZSgpLF8udGMmJl8uWmcoYS5BLDI1MCxhKX1jYXRjaChyKXtfLlFkKGMuZ2V0RWxlbWVudEJ5SWQoYiksImxvYWQiLGEuZywhMSxhKSxjLmNsb3NlKCksR3QoYSl9fTsKeHQucHJvdG90eXBlLmc9ZnVuY3Rpb24oKXtfLlFkKER0KHRoaXMpLCJsb2FkIix0aGlzLmcsITEsdGhpcyk7dHJ5e3ZhciBhPXRoaXMuUWE/R3AoRHQodGhpcykpOm51bGw7dGhpcy5VYT0hMTt0cnl7dmFyIGI9YS5ib2R5O3RoaXMuaWU9Yi50ZXh0Q29udGVudHx8Yi5pbm5lclRleHR9Y2F0Y2goZSl7dmFyIGM9MX12YXIgZDtjfHwiZnVuY3Rpb24iIT10eXBlb2YgdGhpcy5vfHwoZD10aGlzLm8oYSkpJiYoYz00KTtjP0d0KHRoaXMpOih0aGlzLkFkPSEwLHRoaXMuZGlzcGF0Y2hFdmVudCgiY29tcGxldGUiKSx0aGlzLmRpc3BhdGNoRXZlbnQoInN1Y2Nlc3MiKSxFdCh0aGlzKSl9Y2F0Y2goZSl7R3QodGhpcyl9fTsKdmFyIEd0PWZ1bmN0aW9uKGEpe2Euc3x8KGEuQWQ9ITEsYS5VYT0hMSxhLmRpc3BhdGNoRXZlbnQoImNvbXBsZXRlIiksYS5kaXNwYXRjaEV2ZW50KCJlcnJvciIpLEV0KGEpLGEucz0hMCl9LEV0PWZ1bmN0aW9uKGEpe0Z0KGEpO0J0KGEpO2EuZ2E9bnVsbDthLmRpc3BhdGNoRXZlbnQoInJlYWR5Iil9LEZ0PWZ1bmN0aW9uKGEpe3ZhciBiPWEuUWE7YiYmKGIub25yZWFkeXN0YXRlY2hhbmdlPW51bGwsYi5vbmxvYWQ9bnVsbCxiLm9uZXJyb3I9bnVsbCxhLmoucHVzaChiKSk7YS5GYiYmKF8udC5jbGVhclRpbWVvdXQoYS5GYiksYS5GYj1udWxsKTtfLnRjP2EuRmI9Xy5aZyhhLmwsMkUzLGEpOmEubCgpO2EuUWE9bnVsbDthLk9iPW51bGx9O3h0LnByb3RvdHlwZS5sPWZ1bmN0aW9uKCl7dGhpcy5GYiYmKF8udC5jbGVhclRpbWVvdXQodGhpcy5GYiksdGhpcy5GYj1udWxsKTtmb3IoOzAhPXRoaXMuai5sZW5ndGg7KXt2YXIgYT10aGlzLmoucG9wKCk7RXAoYSl9fTsKdmFyIEJ0PWZ1bmN0aW9uKGEpe2EuZ2EmJmEuZ2E9PXl0JiZfLm9kKGEuZ2EpfSxEdD1mdW5jdGlvbihhKXtyZXR1cm4gYS5RYT9HcChhLlFhKS5nZXRFbGVtZW50QnlJZChhLk9iKyJfaW5uZXIiKTpudWxsfTt4dC5wcm90b3R5cGUuQT1mdW5jdGlvbigpe2lmKHRoaXMuVWEpe3ZhciBhPXRoaXMuUWE/R3AoRHQodGhpcykpOm51bGw7YSYmIV8ucGMoYSwiZG9jdW1lbnRVcmkiKT8oXy5RZChEdCh0aGlzKSwibG9hZCIsdGhpcy5nLCExLHRoaXMpLEd0KHRoaXMpKTpfLlpnKHRoaXMuQSwyNTAsdGhpcyl9fTt2YXIgSnQ9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2lmKF8ud2MmJmUpcmV0dXJuIEh0KGEpO2lmKGUmJiFkKXJldHVybiExO2lmKCFfLnRjKXsibnVtYmVyIj09PXR5cGVvZiBiJiYoYj1JdChiKSk7dmFyIGc9MTc9PWJ8fDE4PT1ifHxfLndjJiY5MT09YjtpZigoIWN8fF8ud2MpJiZnfHxfLndjJiYxNj09YiYmKGR8fGYpKXJldHVybiExfWlmKChfLnVjfHxfLnJjKSYmZCYmYylzd2l0Y2goYSl7Y2FzZSAyMjA6Y2FzZSAyMTk6Y2FzZSAyMjE6Y2FzZSAxOTI6Y2FzZSAxODY6Y2FzZSAxODk6Y2FzZSAxODc6Y2FzZSAxODg6Y2FzZSAxOTA6Y2FzZSAxOTE6Y2FzZSAxOTI6Y2FzZSAyMjI6cmV0dXJuITF9aWYoXy5GJiZkJiZiPT1hKXJldHVybiExO3N3aXRjaChhKXtjYXNlIDEzOnJldHVybiBfLnRjP2Z8fGU/ITE6IShjJiZkKTohMDtjYXNlIDI3OnJldHVybiEoXy51Y3x8Xy5yY3x8Xy50Yyl9cmV0dXJuIF8udGMmJihkfHxlfHxmKT8hMTpIdChhKX0sSHQ9ZnVuY3Rpb24oYSl7aWYoNDg8PQphJiY1Nz49YXx8OTY8PWEmJjEwNj49YXx8NjU8PWEmJjkwPj1hfHwoXy51Y3x8Xy5yYykmJjA9PWEpcmV0dXJuITA7c3dpdGNoKGEpe2Nhc2UgMzI6Y2FzZSA0MzpjYXNlIDYzOmNhc2UgNjQ6Y2FzZSAxMDc6Y2FzZSAxMDk6Y2FzZSAxMTA6Y2FzZSAxMTE6Y2FzZSAxODY6Y2FzZSA1OTpjYXNlIDE4OTpjYXNlIDE4NzpjYXNlIDYxOmNhc2UgMTg4OmNhc2UgMTkwOmNhc2UgMTkxOmNhc2UgMTkyOmNhc2UgMjIyOmNhc2UgMjE5OmNhc2UgMjIwOmNhc2UgMjIxOmNhc2UgMTYzOmNhc2UgNTg6cmV0dXJuITA7Y2FzZSAxNzM6Y2FzZSAxNzE6cmV0dXJuIF8udGM7ZGVmYXVsdDpyZXR1cm4hMX19LEl0PWZ1bmN0aW9uKGEpe2lmKF8udGMpYT1LdChhKTtlbHNlIGlmKF8ud2MmJl8udWMpc3dpdGNoKGEpe2Nhc2UgOTM6YT05MX1yZXR1cm4gYX0sS3Q9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgNjE6cmV0dXJuIDE4NztjYXNlIDU5OnJldHVybiAxODY7Y2FzZSAxNzM6cmV0dXJuIDE4OTsKY2FzZSAyMjQ6cmV0dXJuIDkxO2Nhc2UgMDpyZXR1cm4gMjI0O2RlZmF1bHQ6cmV0dXJuIGF9fTt2YXIgTHQ9ZnVuY3Rpb24oYSxiLGMsZCl7Xy53ZC5jYWxsKHRoaXMsZCk7dGhpcy50eXBlPSJrZXkiO3RoaXMua2V5Q29kZT1hO3RoaXMuY2hhckNvZGU9Yjt0aGlzLnJlcGVhdD1jfTtfLkIoTHQsXy53ZCk7dmFyIE10PWZ1bmN0aW9uKGEsYil7Xy5ILmNhbGwodGhpcyk7YSYmdGhpcy5hdHRhY2goYSxiKX07Xy5CKE10LF8uSCk7Xy5rPU10LnByb3RvdHlwZTtfLmsuS2I9bnVsbDtfLmsuZ2Q9bnVsbDtfLmsuaGU9bnVsbDtfLmsuaGQ9bnVsbDtfLmsuRGE9LTE7Xy5rLmViPS0xO18uay5PZD0hMTsKdmFyIE50PXszOjEzLDEyOjE0NCw2MzIzMjozOCw2MzIzMzo0MCw2MzIzNDozNyw2MzIzNTozOSw2MzIzNjoxMTIsNjMyMzc6MTEzLDYzMjM4OjExNCw2MzIzOToxMTUsNjMyNDA6MTE2LDYzMjQxOjExNyw2MzI0MjoxMTgsNjMyNDM6MTE5LDYzMjQ0OjEyMCw2MzI0NToxMjEsNjMyNDY6MTIyLDYzMjQ3OjEyMyw2MzI0ODo0NCw2MzI3Mjo0Niw2MzI3MzozNiw2MzI3NTozNSw2MzI3NjozMyw2MzI3NzozNCw2MzI4OToxNDQsNjMzMDI6NDV9LE90PXtVcDozOCxEb3duOjQwLExlZnQ6MzcsUmlnaHQ6MzksRW50ZXI6MTMsRjE6MTEyLEYyOjExMyxGMzoxMTQsRjQ6MTE1LEY1OjExNixGNjoxMTcsRjc6MTE4LEY4OjExOSxGOToxMjAsRjEwOjEyMSxGMTE6MTIyLEYxMjoxMjMsIlUrMDA3RiI6NDYsSG9tZTozNixFbmQ6MzUsUGFnZVVwOjMzLFBhZ2VEb3duOjM0LEluc2VydDo0NX0sUHQ9Xy53YyYmXy50YztfLms9TXQucHJvdG90eXBlOwpfLmsuUGg9ZnVuY3Rpb24oYSl7aWYoXy51Y3x8Xy5yYylpZigxNz09dGhpcy5EYSYmIWEuY3RybEtleXx8MTg9PXRoaXMuRGEmJiFhLmFsdEtleXx8Xy53YyYmOTE9PXRoaXMuRGEmJiFhLm1ldGFLZXkpdGhpcy5lYj10aGlzLkRhPS0xOy0xPT10aGlzLkRhJiYoYS5jdHJsS2V5JiYxNyE9YS5rZXlDb2RlP3RoaXMuRGE9MTc6YS5hbHRLZXkmJjE4IT1hLmtleUNvZGU/dGhpcy5EYT0xODphLm1ldGFLZXkmJjkxIT1hLmtleUNvZGUmJih0aGlzLkRhPTkxKSk7SnQoYS5rZXlDb2RlLHRoaXMuRGEsYS5zaGlmdEtleSxhLmN0cmxLZXksYS5hbHRLZXksYS5tZXRhS2V5KT8odGhpcy5lYj1JdChhLmtleUNvZGUpLFB0JiYodGhpcy5PZD1hLmFsdEtleSkpOnRoaXMuaGFuZGxlRXZlbnQoYSl9O18uay5SaD1mdW5jdGlvbihhKXt0aGlzLmViPXRoaXMuRGE9LTE7dGhpcy5PZD1hLmFsdEtleX07Cl8uay5oYW5kbGVFdmVudD1mdW5jdGlvbihhKXt2YXIgYj1hLmcsYz1iLmFsdEtleTtpZihfLkYmJiJrZXlwcmVzcyI9PWEudHlwZSl7dmFyIGQ9dGhpcy5lYjt2YXIgZT0xMyE9ZCYmMjchPWQ/Yi5rZXlDb2RlOjB9ZWxzZShfLnVjfHxfLnJjKSYmImtleXByZXNzIj09YS50eXBlPyhkPXRoaXMuZWIsZT0wPD1iLmNoYXJDb2RlJiY2MzIzMj5iLmNoYXJDb2RlJiZIdChkKT9iLmNoYXJDb2RlOjApOigia2V5cHJlc3MiPT1hLnR5cGU/KFB0JiYoYz10aGlzLk9kKSxiLmtleUNvZGU9PWIuY2hhckNvZGU/MzI+Yi5rZXlDb2RlPyhkPWIua2V5Q29kZSxlPTApOihkPXRoaXMuZWIsZT1iLmNoYXJDb2RlKTooZD1iLmtleUNvZGV8fHRoaXMuZWIsZT1iLmNoYXJDb2RlfHwwKSk6KGQ9Yi5rZXlDb2RlfHx0aGlzLmViLGU9Yi5jaGFyQ29kZXx8MCksXy53YyYmNjM9PWUmJjIyND09ZCYmKGQ9MTkxKSk7dmFyIGY9ZD1JdChkKTtkPzYzMjMyPD1kJiZkIGluIE50P2Y9TnRbZF06MjU9PWQmJmEuc2hpZnRLZXkmJgooZj05KTpiLmtleUlkZW50aWZpZXImJmIua2V5SWRlbnRpZmllciBpbiBPdCYmKGY9T3RbYi5rZXlJZGVudGlmaWVyXSk7aWYoIV8udGN8fCJrZXlwcmVzcyIhPWEudHlwZXx8SnQoZix0aGlzLkRhLGEuc2hpZnRLZXksYS5jdHJsS2V5LGMsYS5tZXRhS2V5KSlhPWY9PXRoaXMuRGEsdGhpcy5EYT1mLGI9bmV3IEx0KGYsZSxhLGIpLGIuYWx0S2V5PWMsdGhpcy5kaXNwYXRjaEV2ZW50KGIpfTtfLmsuQz1mdW5jdGlvbigpe3JldHVybiB0aGlzLktifTtfLmsuYXR0YWNoPWZ1bmN0aW9uKGEsYil7dGhpcy5oZCYmUXQodGhpcyk7dGhpcy5LYj1hO3RoaXMuZ2Q9Xy5HKHRoaXMuS2IsImtleXByZXNzIix0aGlzLGIpO3RoaXMuaGU9Xy5HKHRoaXMuS2IsImtleWRvd24iLHRoaXMuUGgsYix0aGlzKTt0aGlzLmhkPV8uRyh0aGlzLktiLCJrZXl1cCIsdGhpcy5SaCxiLHRoaXMpfTsKdmFyIFF0PWZ1bmN0aW9uKGEpe2EuZ2QmJihfLlJkKGEuZ2QpLF8uUmQoYS5oZSksXy5SZChhLmhkKSxhLmdkPW51bGwsYS5oZT1udWxsLGEuaGQ9bnVsbCk7YS5LYj1udWxsO2EuRGE9LTE7YS5lYj0tMX07TXQucHJvdG90eXBlLko9ZnVuY3Rpb24oKXtNdC5PLkouY2FsbCh0aGlzKTtRdCh0aGlzKX07dmFyIFJ0O3ZhciBTdD1mdW5jdGlvbihhLGIsYyl7QXJyYXkuaXNBcnJheShjKSYmKGM9Yy5qb2luKCIgIikpO3ZhciBkPSJhcmlhLSIrYjsiIj09PWN8fHZvaWQgMD09Yz8oUnR8fChjPXt9LFJ0PShjLmF0b21pYz0hMSxjLmF1dG9jb21wbGV0ZT0ibm9uZSIsYy5kcm9wZWZmZWN0PSJub25lIixjLmhhc3BvcHVwPSExLGMubGl2ZT0ib2ZmIixjLm11bHRpbGluZT0hMSxjLm11bHRpc2VsZWN0YWJsZT0hMSxjLm9yaWVudGF0aW9uPSJ2ZXJ0aWNhbCIsYy5yZWFkb25seT0hMSxjLnJlbGV2YW50PSJhZGRpdGlvbnMgdGV4dCIsYy5yZXF1aXJlZD0hMSxjLnNvcnQ9Im5vbmUiLGMuYnVzeT0hMSxjLmRpc2FibGVkPSExLGMuaGlkZGVuPSExLGMuaW52YWxpZD0iZmFsc2UiLGMpKSxjPVJ0LGIgaW4gYz9hLnNldEF0dHJpYnV0ZShkLGNbYl0pOmEucmVtb3ZlQXR0cmlidXRlKGQpKTphLnNldEF0dHJpYnV0ZShkLGMpfTt2YXIgVHQ9ZnVuY3Rpb24oYSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBhLmNsYXNzTmFtZT9hLmNsYXNzTmFtZTphLmdldEF0dHJpYnV0ZSYmYS5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIifSxVdD1mdW5jdGlvbihhKXtyZXR1cm4gYS5jbGFzc0xpc3Q/YS5jbGFzc0xpc3Q6VHQoYSkubWF0Y2goL1xTKy9nKXx8W119LFZ0PWZ1bmN0aW9uKGEsYil7InN0cmluZyI9PXR5cGVvZiBhLmNsYXNzTmFtZT9hLmNsYXNzTmFtZT1iOmEuc2V0QXR0cmlidXRlJiZhLnNldEF0dHJpYnV0ZSgiY2xhc3MiLGIpfSxXdD1mdW5jdGlvbihhLGIpe3JldHVybiBhLmNsYXNzTGlzdD9hLmNsYXNzTGlzdC5jb250YWlucyhiKTpfLnUoVXQoYSksYil9LFh0PWZ1bmN0aW9uKGEsYil7aWYoYS5jbGFzc0xpc3QpYS5jbGFzc0xpc3QuYWRkKGIpO2Vsc2UgaWYoIVd0KGEsYikpe3ZhciBjPVR0KGEpO1Z0KGEsYysoMDxjLmxlbmd0aD8iICIrYjpiKSl9fSxZdD1mdW5jdGlvbihhLGIpe2lmKGEuY2xhc3NMaXN0KUFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoYiwKZnVuY3Rpb24oZSl7WHQoYSxlKX0pO2Vsc2V7dmFyIGM9e307QXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChVdChhKSxmdW5jdGlvbihlKXtjW2VdPSEwfSk7QXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChiLGZ1bmN0aW9uKGUpe2NbZV09ITB9KTtiPSIiO2Zvcih2YXIgZCBpbiBjKWIrPTA8Yi5sZW5ndGg/IiAiK2Q6ZDtWdChhLGIpfX0sWnQ9ZnVuY3Rpb24oYSxiKXthLmNsYXNzTGlzdD9hLmNsYXNzTGlzdC5yZW1vdmUoYik6V3QoYSxiKSYmVnQoYSxBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoVXQoYSksZnVuY3Rpb24oYyl7cmV0dXJuIGMhPWJ9KS5qb2luKCIgIikpfSwkdD1mdW5jdGlvbihhLGIpe2EuY2xhc3NMaXN0P0FycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoYixmdW5jdGlvbihjKXtadChhLGMpfSk6VnQoYSxBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoVXQoYSksZnVuY3Rpb24oYyl7cmV0dXJuIV8udShiLGMpfSkuam9pbigiICIpKX07dmFyIGF1PWZ1bmN0aW9uKCl7fSxidTskbyhhdSk7dmFyIGN1PXtidXR0b246InByZXNzZWQiLGNoZWNrYm94OiJjaGVja2VkIixtZW51aXRlbToic2VsZWN0ZWQiLG1lbnVpdGVtY2hlY2tib3g6ImNoZWNrZWQiLG1lbnVpdGVtcmFkaW86ImNoZWNrZWQiLHJhZGlvOiJjaGVja2VkIix0YWI6InNlbGVjdGVkIix0cmVlaXRlbToic2VsZWN0ZWQifTtfLms9YXUucHJvdG90eXBlO18uay5VYz1mdW5jdGlvbigpe307Xy5rLlM9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuaC5TKCJESVYiLGR1KHRoaXMsYSkuam9pbigiICIpLGEuZWEoKSl9O18uay5GZD1mdW5jdGlvbigpe3JldHVybiEwfTsKXy5rLnViPWZ1bmN0aW9uKGEsYil7Yi5pZCYmcHQoYSxiLmlkKTtiJiZiLmZpcnN0Q2hpbGQ/ZXUoYSxiLmZpcnN0Q2hpbGQubmV4dFNpYmxpbmc/Xy51YShiLmNoaWxkTm9kZXMpOmIuZmlyc3RDaGlsZCk6YS52Yj1udWxsO3ZhciBjPTAsZD10aGlzLm5iKCksZT10aGlzLm5iKCksZj0hMSxnPSExLGg9Xy51YShVdChiKSk7aC5mb3JFYWNoKGZ1bmN0aW9uKGwpe2Z8fGwhPWQ/Z3x8bCE9ZT9jfD1mdSh0aGlzLGwpOmc9ITA6KGY9ITAsZT09ZCYmKGc9ITApKTsxPT1mdSh0aGlzLGwpJiZiLmhhc0F0dHJpYnV0ZSgidGFiaW5kZXgiKSYmS3AoYikmJkxwKGIsITEpfSx0aGlzKTthLmphPWM7Znx8KGgucHVzaChkKSxlPT1kJiYoZz0hMCkpO2d8fGgucHVzaChlKTsoYT1hLllkKSYmaC5wdXNoLmFwcGx5KGgsYSk7ZiYmZyYmIWF8fFZ0KGIsaC5qb2luKCIgIikpO3JldHVybiBifTsKXy5rLlNmPWZ1bmN0aW9uKGEpe251bGw9PWEuYWEmJihhLmFhPVJxKGEuT2E/YS5vOmEuaC5nLmJvZHkpKTthLmFhJiZ0aGlzLkhkKGEuQygpLCEwKTthLmlzRW5hYmxlZCgpJiZ0aGlzLlpiKGEsYS5pc1Zpc2libGUoKSl9O3ZhciBndT1mdW5jdGlvbihhLGIpe2lmKGE9YS5VYygpKXt2YXIgYz1iLmdldEF0dHJpYnV0ZSgicm9sZSIpfHxudWxsO2EhPWMmJihhP2Iuc2V0QXR0cmlidXRlKCJyb2xlIixhKTpiLnJlbW92ZUF0dHJpYnV0ZSgicm9sZSIpKX19O18uaz1hdS5wcm90b3R5cGU7Cl8uay5DYz1mdW5jdGlvbihhLGIpe3ZhciBjPSFiO2I9Xy5GP2EuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKTpudWxsO2lmKF8uam4pe2lmKGM9Yz8ibm9uZSI6IiIsYS5zdHlsZSYmKGEuc3R5bGVbXy5qbl09YyksYil7YT0wO2Zvcih2YXIgZDtkPWJbYV07YSsrKWQuc3R5bGUmJihkLnN0eWxlW18uam5dPWMpfX1lbHNlIGlmKF8uRiYmKGM9Yz8ib24iOiIiLGEuc2V0QXR0cmlidXRlKCJ1bnNlbGVjdGFibGUiLGMpLGIpKWZvcihhPTA7ZD1iW2FdO2ErKylkLnNldEF0dHJpYnV0ZSgidW5zZWxlY3RhYmxlIixjKX07Xy5rLkhkPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5uYigpKyItU0lzclRkIjsoYT1hLkM/YS5DKCk6YSkmJihiP1l0OiR0KShhLFtjXSl9O18uay5HZD1mdW5jdGlvbihhKXt2YXIgYjtyZXR1cm4gYS5BYSYzMiYmKGI9YS5DKCkpP2IuaGFzQXR0cmlidXRlKCJ0YWJpbmRleCIpJiZLcChiKTohMX07Cl8uay5aYj1mdW5jdGlvbihhLGIpe3ZhciBjO2lmKGEuQWEmMzImJihjPWEuQygpKSl7aWYoIWImJmEuamEmMzIpe3RyeXtjLmJsdXIoKX1jYXRjaChkKXt9YS5qYSYzMiYmYS5EZihudWxsKX0oYy5oYXNBdHRyaWJ1dGUoInRhYmluZGV4IikmJktwKGMpKSE9YiYmTHAoYyxiKX19O18uay5aPWZ1bmN0aW9uKGEsYil7T3EoYSxiKTthJiZTdChhLCJoaWRkZW4iLCFiKX07Xy5rLmNjPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLkMoKTtpZihkKXt2YXIgZT1odSh0aGlzLGIpO2UmJihhPWEuQz9hLkMoKTphKSYmKGM/WXQ6JHQpKGEsW2VdKTt0aGlzLlNhKGQsYixjKX19OwpfLmsuU2E9ZnVuY3Rpb24oYSxiLGMpe2J1fHwoYnU9ezE6ImRpc2FibGVkIiw4OiJzZWxlY3RlZCIsMTY6ImNoZWNrZWQiLDY0OiJleHBhbmRlZCJ9KTtiPWJ1W2JdO3ZhciBkPWEuZ2V0QXR0cmlidXRlKCJyb2xlIil8fG51bGw7ZCYmKGQ9Y3VbZF18fGIsYj0iY2hlY2tlZCI9PWJ8fCJzZWxlY3RlZCI9PWI/ZDpiKTtiJiZTdChhLGIsYyl9O18uay5YZT1mdW5jdGlvbihhLGIpe2lmKGEmJihfLm9kKGEpLGIpKWlmKCJzdHJpbmciPT09dHlwZW9mIGIpXy5xZChhLGIpO2Vsc2V7dmFyIGM9ZnVuY3Rpb24oZCl7aWYoZCl7dmFyIGU9Xy5kZChhKTthLmFwcGVuZENoaWxkKCJzdHJpbmciPT09dHlwZW9mIGQ/ZS5jcmVhdGVUZXh0Tm9kZShkKTpkKX19O0FycmF5LmlzQXJyYXkoYik/Yi5mb3JFYWNoKGMpOiFfLmRhKGIpfHwibm9kZVR5cGUiaW4gYj9jKGIpOl8udWEoYikuZm9yRWFjaChjKX19O18uay5uYj1mdW5jdGlvbigpe3JldHVybiJWSXBnSmQtYk1jZkFlIn07CnZhciBkdT1mdW5jdGlvbihhLGIpe3ZhciBjPWEubmIoKSxkPVtjXSxlPWEubmIoKTtlIT1jJiZkLnB1c2goZSk7Yz1iLmphO2ZvcihlPVtdO2M7KXt2YXIgZj1jJi1jO2UucHVzaChodShhLGYpKTtjJj1+Zn1kLnB1c2guYXBwbHkoZCxlKTsoYT1iLllkKSYmZC5wdXNoLmFwcGx5KGQsYSk7cmV0dXJuIGR9LGh1PWZ1bmN0aW9uKGEsYil7YS5nfHxpdShhKTtyZXR1cm4gYS5nW2JdfSxmdT1mdW5jdGlvbihhLGIpe2lmKCFhLmgpe2EuZ3x8aXUoYSk7dmFyIGM9YS5nLGQ9e30sZTtmb3IoZSBpbiBjKWRbY1tlXV09ZTthLmg9ZH1hPXBhcnNlSW50KGEuaFtiXSwxMCk7cmV0dXJuIGlzTmFOKGEpPzA6YX0saXU9ZnVuY3Rpb24oYSl7dmFyIGI9YS5uYigpO2EuZz17MTpiKyItT1dCNk1lIiwyOmIrIi1abWRrRSIsNDpiKyItYXVzd2pkIiw4OmIrIi1nazZTTWQiLDE2OmIrIi1iYXJ4aWUiLDMyOmIrIi1YcG5EQ2UiLDY0OmIrIi1GTkZZNmMifX07dmFyIGp1PWZ1bmN0aW9uKCl7fTtfLkIoanUsYXUpOyRvKGp1KTtfLms9anUucHJvdG90eXBlO18uay5VYz1mdW5jdGlvbigpe3JldHVybiJidXR0b24ifTtfLmsuU2E9ZnVuY3Rpb24oYSxiLGMpe3N3aXRjaChiKXtjYXNlIDg6Y2FzZSAxNjpTdChhLCJwcmVzc2VkIixjKTticmVhaztkZWZhdWx0OmNhc2UgNjQ6Y2FzZSAxOmp1Lk8uU2EuY2FsbCh0aGlzLGEsYixjKX19O18uay5TPWZ1bmN0aW9uKGEpe3ZhciBiPWp1Lk8uUy5jYWxsKHRoaXMsYSk7dGhpcy5KZShiLGEuc2EoKSk7dmFyIGM9YS5sYSgpO2MmJnRoaXMuemEoYixjKTthLkFhJjE2JiZ0aGlzLlNhKGIsMTYsISEoYS5qYSYxNikpO3JldHVybiBifTtfLmsudWI9ZnVuY3Rpb24oYSxiKXtiPWp1Lk8udWIuY2FsbCh0aGlzLGEsYik7dmFyIGM9dGhpcy5sYShiKTthLmw9YzthLk49dGhpcy5zYShiKTthLkFhJjE2JiZ0aGlzLlNhKGIsMTYsISEoYS5qYSYxNikpO3JldHVybiBifTtfLmsubGE9ZnVuY3Rpb24oKXt9OwpfLmsuemE9ZnVuY3Rpb24oKXt9O18uay5zYT1mdW5jdGlvbihhKXtyZXR1cm4gYS50aXRsZX07Xy5rLkplPWZ1bmN0aW9uKGEsYil7YSYmKGI/YS50aXRsZT1iOmEucmVtb3ZlQXR0cmlidXRlKCJ0aXRsZSIpKX07Xy5rLm5iPWZ1bmN0aW9uKCl7cmV0dXJuIlZJcGdKZC1MZ2JzU2UifTt2YXIga3U9e0tkOiJtb3VzZWRvd24iLExkOiJtb3VzZXVwIixiZjoibW91c2VjYW5jZWwiLFlqOiJtb3VzZW1vdmUiLGFrOiJtb3VzZW92ZXIiLFpqOiJtb3VzZW91dCIsV2o6Im1vdXNlZW50ZXIiLFhqOiJtb3VzZWxlYXZlIn07dmFyIGx1PWZ1bmN0aW9uKGEsYil7aWYoIWEpdGhyb3cgRXJyb3IoIlRhYCIrYSk7aWYoImZ1bmN0aW9uIiE9PXR5cGVvZiBiKXRocm93IEVycm9yKCJVYWAiK2IpO30sbXU9e307dmFyIFk9ZnVuY3Rpb24oYSxiLGMpe1AuY2FsbCh0aGlzLGMpO2lmKCFiKXtmb3IoYj10aGlzLmNvbnN0cnVjdG9yO2I7KXt2YXIgZD1fLnhhKGIpO2lmKGQ9bXVbZF0pYnJlYWs7Yj0oYj1PYmplY3QuZ2V0UHJvdG90eXBlT2YoYi5wcm90b3R5cGUpKSYmYi5jb25zdHJ1Y3Rvcn1iPWQ/ImZ1bmN0aW9uIj09PXR5cGVvZiBkLm9iP2Qub2IoKTpuZXcgZDpudWxsfXRoaXMuZz1iO3RoaXMudmI9dm9pZCAwIT09YT9hOm51bGx9O18uQihZLFApO18uaz1ZLnByb3RvdHlwZTtfLmsudmI9bnVsbDtfLmsuamE9MDtfLmsuQWE9Mzk7Xy5rLlNkPTI1NTtfLmsuVGE9ITA7Xy5rLllkPW51bGw7Xy5rLmVlPSEwO18uay5IYz0hMTt2YXIgb3U9ZnVuY3Rpb24oYSl7YS5PYSYmMCE9YS5lZSYmbnUoYSwhMSk7YS5lZT0hMX07ClkucHJvdG90eXBlLlM9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmcuUyh0aGlzKTt0aGlzLm89YTtndSh0aGlzLmcsYSk7dGhpcy5IY3x8dGhpcy5nLkNjKGEsITEpO3RoaXMuaXNWaXNpYmxlKCl8fHRoaXMuZy5aKGEsITEpfTtZLnByb3RvdHlwZS5XZT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5nLkZkKGEpfTtZLnByb3RvdHlwZS5vYT1mdW5jdGlvbihhKXt0aGlzLm89YT10aGlzLmcudWIodGhpcyxhKTtndSh0aGlzLmcsYSk7dGhpcy5IY3x8dGhpcy5nLkNjKGEsITEpO3RoaXMuVGE9Im5vbmUiIT1hLnN0eWxlLmRpc3BsYXl9OwpZLnByb3RvdHlwZS5rYT1mdW5jdGlvbigpe1kuTy5rYS5jYWxsKHRoaXMpO3ZhciBhPXRoaXMuZyxiPXRoaXMubzt0aGlzLmlzVmlzaWJsZSgpfHxTdChiLCJoaWRkZW4iLCF0aGlzLmlzVmlzaWJsZSgpKTt0aGlzLmlzRW5hYmxlZCgpfHxhLlNhKGIsMSwhdGhpcy5pc0VuYWJsZWQoKSk7dGhpcy5BYSY4JiZhLlNhKGIsOCwhISh0aGlzLmphJjgpKTt0aGlzLkFhJjE2JiZhLlNhKGIsMTYsISEodGhpcy5qYSYxNikpO3RoaXMuQWEmNjQmJmEuU2EoYiw2NCwhISh0aGlzLmphJjY0KSk7dGhpcy5nLlNmKHRoaXMpO3RoaXMuQWEmLTImJih0aGlzLmVlJiZudSh0aGlzLCEwKSx0aGlzLkFhJjMyJiYoYT10aGlzLkMoKSkpJiYoYj10aGlzLkF8fCh0aGlzLkE9bmV3IE10KSxiLmF0dGFjaChhKSxydCh0aGlzKS5JKGIsImtleSIsdGhpcy5RaCkuSShhLCJmb2N1cyIsdGhpcy5IZykuSShhLCJibHVyIix0aGlzLkRmKSl9Owp2YXIgbnU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1ydChhKSxkPWEuQygpO2I/KGMuSShkLGt1LktkLGEuZGUpLkkoZCxba3UuTGQsa3UuYmZdLGEuZmUpLkkoZCwibW91c2VvdmVyIixhLlQpLkkoZCwibW91c2VvdXQiLGEuVyksYS5IIT1fLk9iJiZjLkkoZCwiY29udGV4dG1lbnUiLGEuSCksXy5GJiYhYS5CJiYoYS5CPW5ldyBwdShhKSxfLmJrKGEsYS5CKSkpOihjLlJhKGQsa3UuS2QsYS5kZSkuUmEoZCxba3UuTGQsa3UuYmZdLGEuZmUpLlJhKGQsIm1vdXNlb3ZlciIsYS5UKS5SYShkLCJtb3VzZW91dCIsYS5XKSxhLkghPV8uT2ImJmMuUmEoZCwiY29udGV4dG1lbnUiLGEuSCksXy5GJiYoXy5jYShhLkIpLGEuQj1udWxsKSl9O1kucHJvdG90eXBlLmhhPWZ1bmN0aW9uKCl7WS5PLmhhLmNhbGwodGhpcyk7dGhpcy5BJiZRdCh0aGlzLkEpO3RoaXMuaXNWaXNpYmxlKCkmJnRoaXMuaXNFbmFibGVkKCkmJnRoaXMuZy5aYih0aGlzLCExKX07ClkucHJvdG90eXBlLko9ZnVuY3Rpb24oKXtZLk8uSi5jYWxsKHRoaXMpO3RoaXMuQSYmKHRoaXMuQS5SKCksZGVsZXRlIHRoaXMuQSk7ZGVsZXRlIHRoaXMuZzt0aGlzLkI9dGhpcy5ZZD10aGlzLnZiPW51bGx9O1kucHJvdG90eXBlLmVhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmJ9O1kucHJvdG90eXBlLnM9ZnVuY3Rpb24oYSl7dGhpcy5nLlhlKHRoaXMuQygpLGEpO3RoaXMudmI9YX07dmFyIGV1PWZ1bmN0aW9uKGEsYil7YS52Yj1ifTtfLms9WS5wcm90b3R5cGU7Xy5rLnZnPWZ1bmN0aW9uKGEpe3RoaXMucyhhKX07Xy5rLmlzVmlzaWJsZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLlRhfTtfLmsuWj1mdW5jdGlvbihhLGIpe2lmKGJ8fHRoaXMuVGEhPWEmJnRoaXMuZGlzcGF0Y2hFdmVudChhPyJzaG93IjoiaGlkZSIpKShiPXRoaXMuQygpKSYmdGhpcy5nLlooYixhKSx0aGlzLmlzRW5hYmxlZCgpJiZ0aGlzLmcuWmIodGhpcyxhKSx0aGlzLlRhPWF9OwpfLmsuaXNFbmFibGVkPWZ1bmN0aW9uKCl7cmV0dXJuISh0aGlzLmphJjEpfTtfLmsuWmE9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5GO2ImJiJmdW5jdGlvbiI9PXR5cGVvZiBiLmlzRW5hYmxlZCYmIWIuaXNFbmFibGVkKCl8fCFxdSh0aGlzLDEsIWEpfHwoYXx8KHJ1KHRoaXMsITEpLHN1KHRoaXMsITEpKSx0aGlzLmlzVmlzaWJsZSgpJiZ0aGlzLmcuWmIodGhpcyxhKSx0dSh0aGlzLDEsIWEsITApKX07dmFyIHN1PWZ1bmN0aW9uKGEsYil7cXUoYSwyLGIpJiZ0dShhLDIsYil9O1kucHJvdG90eXBlLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuISEodGhpcy5qYSY0KX07CnZhciBydT1mdW5jdGlvbihhLGIpe3F1KGEsNCxiKSYmdHUoYSw0LGIpfSx0dT1mdW5jdGlvbihhLGIsYyxkKXtkfHwxIT1iP2EuQWEmYiYmYyE9ISEoYS5qYSZiKSYmKGEuZy5jYyhhLGIsYyksYS5qYT1jP2EuamF8YjphLmphJn5iKTphLlphKCFjKX0sdXU9ZnVuY3Rpb24oYSl7aWYoYS5PYSYmYS5qYSYzMil0aHJvdyBFcnJvcigiTmEiKTthLmphJjMyJiZ0dShhLDMyLCExKTthLkFhJj0tMzN9LHZ1PWZ1bmN0aW9uKGEsYil7cmV0dXJuISEoYS5TZCZiKSYmISEoYS5BYSZiKX0sd3U9ZnVuY3Rpb24oYSl7YS5TZCY9LTI1Nn0scXU9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiEhKGEuQWEmYikmJiEhKGEuamEmYikhPWMmJighKDAmYil8fGEuZGlzcGF0Y2hFdmVudChvdChiLGMpKSkmJiFhLlhhKCl9OwpZLnByb3RvdHlwZS5UPWZ1bmN0aW9uKGEpeyF4dShhLHRoaXMuQygpKSYmdGhpcy5kaXNwYXRjaEV2ZW50KCJlbnRlciIpJiZ0aGlzLmlzRW5hYmxlZCgpJiZ2dSh0aGlzLDIpJiZzdSh0aGlzLCEwKX07WS5wcm90b3R5cGUuVz1mdW5jdGlvbihhKXsheHUoYSx0aGlzLkMoKSkmJnRoaXMuZGlzcGF0Y2hFdmVudCgibGVhdmUiKSYmKHZ1KHRoaXMsNCkmJnJ1KHRoaXMsITEpLHZ1KHRoaXMsMikmJnN1KHRoaXMsITEpKX07WS5wcm90b3R5cGUuSD1fLk9iO3ZhciB4dT1mdW5jdGlvbihhLGIpe3JldHVybiEhYS5yZWxhdGVkVGFyZ2V0JiZfLnBkKGIsYS5yZWxhdGVkVGFyZ2V0KX07Xy5rPVkucHJvdG90eXBlOwpfLmsuZGU9ZnVuY3Rpb24oYSl7dGhpcy5pc0VuYWJsZWQoKSYmKHZ1KHRoaXMsMikmJnN1KHRoaXMsITApLDAhPWEuZy5idXR0b258fF8ud2MmJmEuY3RybEtleXx8KHZ1KHRoaXMsNCkmJnJ1KHRoaXMsITApLHRoaXMuZyYmdGhpcy5nLkdkKHRoaXMpJiZ0aGlzLkMoKS5mb2N1cygpKSk7dGhpcy5IY3x8MCE9YS5nLmJ1dHRvbnx8Xy53YyYmYS5jdHJsS2V5fHxhLnByZXZlbnREZWZhdWx0KCl9O18uay5mZT1mdW5jdGlvbihhKXt0aGlzLmlzRW5hYmxlZCgpJiYodnUodGhpcywyKSYmc3UodGhpcywhMCksdGhpcy5pc0FjdGl2ZSgpJiZ0aGlzLnZkKGEpJiZ2dSh0aGlzLDQpJiZydSh0aGlzLCExKSl9OwpfLmsudmQ9ZnVuY3Rpb24oYSl7aWYodnUodGhpcywxNikpe3ZhciBiPSEodGhpcy5qYSYxNik7cXUodGhpcywxNixiKSYmdHUodGhpcywxNixiKX12dSh0aGlzLDgpJiZxdSh0aGlzLDgsITApJiZ0dSh0aGlzLDgsITApO3Z1KHRoaXMsNjQpJiYoYj0hKHRoaXMuamEmNjQpLHF1KHRoaXMsNjQsYikmJnR1KHRoaXMsNjQsYikpO2I9bmV3IF8udGQoImFjdGlvbiIsdGhpcyk7YSYmKGIuYWx0S2V5PWEuYWx0S2V5LGIuY3RybEtleT1hLmN0cmxLZXksYi5tZXRhS2V5PWEubWV0YUtleSxiLnNoaWZ0S2V5PWEuc2hpZnRLZXksYi5qPWEuaixiLnRpbWVTdGFtcD1hLnRpbWVTdGFtcCk7cmV0dXJuIHRoaXMuZGlzcGF0Y2hFdmVudChiKX07Xy5rLkhnPWZ1bmN0aW9uKCl7dnUodGhpcywzMikmJnF1KHRoaXMsMzIsITApJiZ0dSh0aGlzLDMyLCEwKX07Cl8uay5EZj1mdW5jdGlvbigpe3Z1KHRoaXMsNCkmJnJ1KHRoaXMsITEpO3Z1KHRoaXMsMzIpJiZxdSh0aGlzLDMyLCExKSYmdHUodGhpcywzMiwhMSl9O18uay5RaD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5pc1Zpc2libGUoKSYmdGhpcy5pc0VuYWJsZWQoKSYmdGhpcy5jZShhKT8oYS5wcmV2ZW50RGVmYXVsdCgpLGEuc3RvcFByb3BhZ2F0aW9uKCksITApOiExfTtfLmsuY2U9ZnVuY3Rpb24oYSl7cmV0dXJuIDEzPT1hLmtleUNvZGUmJnRoaXMudmQoYSl9O2lmKCJmdW5jdGlvbiIhPT10eXBlb2YgWSl0aHJvdyBFcnJvcigiVmFgIitZKTtpZigiZnVuY3Rpb24iIT09dHlwZW9mIGF1KXRocm93IEVycm9yKCJXYWAiK2F1KTt2YXIgeXU9Xy54YShZKTttdVt5dV09YXU7bHUoIlZJcGdKZC1iTWNmQWUiLGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBZKG51bGwpfSk7CnZhciBwdT1mdW5jdGlvbihhKXtfLkQuY2FsbCh0aGlzKTt0aGlzLmg9YTt0aGlzLmc9ITE7dGhpcy5qPW5ldyBfLkkodGhpcyk7Xy5iayh0aGlzLHRoaXMuaik7YT10aGlzLmgubzt0aGlzLmouSShhLGt1LktkLHRoaXMubykuSShhLGt1LkxkLHRoaXMucykuSShhLCJjbGljayIsdGhpcy5sKX07Xy5CKHB1LF8uRCk7dmFyIHp1PSFfLkZ8fDk8PU51bWJlcihfLkxjKTtwdS5wcm90b3R5cGUubz1mdW5jdGlvbigpe3RoaXMuZz0hMX07cHUucHJvdG90eXBlLnM9ZnVuY3Rpb24oKXt0aGlzLmc9ITB9Owp2YXIgQXU9ZnVuY3Rpb24oYSxiKXtpZighenUpcmV0dXJuIGEuYnV0dG9uPTAsYS50eXBlPWIsYTt2YXIgYz1kb2N1bWVudC5jcmVhdGVFdmVudCgiTW91c2VFdmVudHMiKTtjLmluaXRNb3VzZUV2ZW50KGIsYS5idWJibGVzLGEuY2FuY2VsYWJsZSxhLnZpZXd8fG51bGwsYS5kZXRhaWwsYS5zY3JlZW5YLGEuc2NyZWVuWSxhLmNsaWVudFgsYS5jbGllbnRZLGEuY3RybEtleSxhLmFsdEtleSxhLnNoaWZ0S2V5LGEubWV0YUtleSwwLGEucmVsYXRlZFRhcmdldHx8bnVsbCk7cmV0dXJuIGN9O3B1LnByb3RvdHlwZS5sPWZ1bmN0aW9uKGEpe2lmKHRoaXMuZyl0aGlzLmc9ITE7ZWxzZXt2YXIgYj1hLmcsYz1iLmJ1dHRvbixkPWIudHlwZSxlPUF1KGIsIm1vdXNlZG93biIpO3RoaXMuaC5kZShuZXcgXy53ZChlLGEuY3VycmVudFRhcmdldCkpO2U9QXUoYiwibW91c2V1cCIpO3RoaXMuaC5mZShuZXcgXy53ZChlLGEuY3VycmVudFRhcmdldCkpO3p1fHwoYi5idXR0b249YyxiLnR5cGU9ZCl9fTsKcHUucHJvdG90eXBlLko9ZnVuY3Rpb24oKXt0aGlzLmg9bnVsbDtwdS5PLkouY2FsbCh0aGlzKX07dmFyIEJ1PWZ1bmN0aW9uKCl7fTtfLkIoQnUsanUpOyRvKEJ1KTtfLms9QnUucHJvdG90eXBlO18uay5VYz1mdW5jdGlvbigpe307Xy5rLlM9ZnVuY3Rpb24oYSl7b3UoYSk7d3UoYSk7dXUoYSk7dmFyIGI9YS5oLGM9Yi5TLGQ9eyJjbGFzcyI6ZHUodGhpcyxhKS5qb2luKCIgIiksZGlzYWJsZWQ6IWEuaXNFbmFibGVkKCksdGl0bGU6YS5zYSgpfHwiIix2YWx1ZTphLmxhKCl8fCIifTthPShhPWEuZWEoKSk/KCJzdHJpbmciPT09dHlwZW9mIGE/YTpBcnJheS5pc0FycmF5KGEpP2EubWFwKE9wKS5qb2luKCIiKTpOcChhKSkucmVwbGFjZSgvW1x0XHJcbiBdKy9nLCIgIikucmVwbGFjZSgvXltcdFxyXG4gXSt8W1x0XHJcbiBdKyQvZywiIik6IiI7cmV0dXJuIGMuY2FsbChiLCJCVVRUT04iLGQsYXx8IiIpfTsKXy5rLkZkPWZ1bmN0aW9uKGEpe3JldHVybiJCVVRUT04iPT1hLnRhZ05hbWV8fCJJTlBVVCI9PWEudGFnTmFtZSYmKCJidXR0b24iPT1hLnR5cGV8fCJzdWJtaXQiPT1hLnR5cGV8fCJyZXNldCI9PWEudHlwZSl9O18uay51Yj1mdW5jdGlvbihhLGIpe291KGEpO3d1KGEpO3V1KGEpO2lmKGIuZGlzYWJsZWQpe3ZhciBjPWh1KHRoaXMsMSk7WHQoYixjKX1yZXR1cm4gQnUuTy51Yi5jYWxsKHRoaXMsYSxiKX07Xy5rLlNmPWZ1bmN0aW9uKGEpe3J0KGEpLkkoYS5DKCksImNsaWNrIixhLnZkKX07Xy5rLkNjPWZ1bmN0aW9uKCl7fTtfLmsuSGQ9ZnVuY3Rpb24oKXt9O18uay5HZD1mdW5jdGlvbihhKXtyZXR1cm4gYS5pc0VuYWJsZWQoKX07Xy5rLlpiPWZ1bmN0aW9uKCl7fTtfLmsuY2M9ZnVuY3Rpb24oYSxiLGMpe0J1Lk8uY2MuY2FsbCh0aGlzLGEsYixjKTsoYT1hLkMoKSkmJjE9PWImJihhLmRpc2FibGVkPWMpfTtfLmsubGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEudmFsdWV9OwpfLmsuemE9ZnVuY3Rpb24oYSxiKXthJiYoYS52YWx1ZT1iKX07Xy5rLlNhPWZ1bmN0aW9uKCl7fTt2YXIgQ3U9ZnVuY3Rpb24oYSxiLGMpe1kuY2FsbCh0aGlzLGEsYnx8QnUub2IoKSxjKX07Xy5CKEN1LFkpO18uaz1DdS5wcm90b3R5cGU7Xy5rLmxhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubH07Xy5rLnphPWZ1bmN0aW9uKGEpe3RoaXMubD1hO3RoaXMuZy56YSh0aGlzLkMoKSxhKX07Xy5rLnNhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTn07Xy5rLkplPWZ1bmN0aW9uKGEpe3RoaXMuTj1hO3RoaXMuZy5KZSh0aGlzLkMoKSxhKX07Xy5rLko9ZnVuY3Rpb24oKXtDdS5PLkouY2FsbCh0aGlzKTtkZWxldGUgdGhpcy5sO2RlbGV0ZSB0aGlzLk59O18uay5rYT1mdW5jdGlvbigpe0N1Lk8ua2EuY2FsbCh0aGlzKTtpZih0aGlzLkFhJjMyKXt2YXIgYT10aGlzLkMoKTthJiZydCh0aGlzKS5JKGEsImtleXVwIix0aGlzLmNlKX19OwpfLmsuY2U9ZnVuY3Rpb24oYSl7cmV0dXJuIDEzPT1hLmtleUNvZGUmJiJrZXkiPT1hLnR5cGV8fDMyPT1hLmtleUNvZGUmJiJrZXl1cCI9PWEudHlwZT90aGlzLnZkKGEpOjMyPT1hLmtleUNvZGV9O2x1KCJWSXBnSmQtTGdic1NlIixmdW5jdGlvbigpe3JldHVybiBuZXcgQ3UobnVsbCl9KTt2YXIgRHU9ZnVuY3Rpb24oYSxiKXtQLmNhbGwodGhpcyk7dGhpcy5CPWF8fCIiO3RoaXMuaj1udWxsO3RoaXMuQT1bXTt0aGlzLmc9bnVsbDt0aGlzLkQ9Ynx8IkdFVCI7dGhpcy5sPXRoaXMucz1udWxsfTtfLnooRHUsUCk7RHUucHJvdG90eXBlLlM9ZnVuY3Rpb24oKXt2YXIgYT17Zmg6dGhpcy5CLG1ldGhvZDp0aGlzLkQsdWg6dGhpcy5BLGRpcjpfLktmLnRlc3QobXIpPyJydGwiOiJsdHIifTt0aGlzLm9hKEluKGh0LGEpKX07RHUucHJvdG90eXBlLm9hPWZ1bmN0aW9uKGEpe3RoaXMubz1hO3RoaXMuZz1xdCh0aGlzLCJWSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCIpO2E9cXQodGhpcywiVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmIik7dGhpcy5sPW5ldyBDdSgiIik7dHQodGhpcy5sLGEpO2E9cXQodGhpcywiYWN0aXZpdHktY2FuY2VsIik7dGhpcy5qPW5ldyBDdSgiIik7dHQodGhpcy5qLGEpfTsKRHUucHJvdG90eXBlLmthPWZ1bmN0aW9uKCl7dmFyIGE9cnQodGhpcyk7YS5JKHRoaXMubCwiYWN0aW9uIiwoMCxfLkEpKHRoaXMuSCx0aGlzKSk7YS5JKHRoaXMuaiwiYWN0aW9uIix0aGlzLmRpc3BhdGNoRXZlbnQuYmluZCh0aGlzLCJjYW5jZWxsZWQiKSl9O0R1LnByb3RvdHlwZS5IPWZ1bmN0aW9uKCl7dmFyIGE9ITA7dGhpcy5zJiYoYT10aGlzLnMoKSk7YSYmKGE9bmV3IHh0LF8uRyhhLCJzdWNjZXNzIixmdW5jdGlvbigpe3RoaXMuZGlzcGF0Y2hFdmVudCgic3VjY2Vzc2Z1bCIpfSksXy5HKGEsImVycm9yIixmdW5jdGlvbigpe3RoaXMuZGlzcGF0Y2hFdmVudCgiZmFpbGVkIil9KSxDdChhLHRoaXMuZykpO3RoaXMuZGlzcGF0Y2hFdmVudCgic3VibWl0dGVkIil9O3ZhciBFdT1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYyBpbiBiKWEuZ1tjXSYmKGEuZ1tjXS52YWx1ZT1iW2NdKX0sRnU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5nW2JdP2EuZ1tiXS52YWx1ZToiIn07CkR1LnByb3RvdHlwZS5KPWZ1bmN0aW9uKCl7dGhpcy5sPXRoaXMuZz10aGlzLmo9bnVsbDtQLnByb3RvdHlwZS5KLmNhbGwodGhpcyl9O3ZhciBHdT1mdW5jdGlvbihhLGIpe2Eucz1ifTt2YXIgSHU9ZnVuY3Rpb24oKXt9O18uQihIdSxhdSk7JG8oSHUpO18uaz1IdS5wcm90b3R5cGU7Xy5rLlVjPWZ1bmN0aW9uKCl7fTtfLmsudWI9ZnVuY3Rpb24oYSxiKXtvdShhKTt3dShhKTt1dShhKTtIdS5PLnViLmNhbGwodGhpcyxhLGIpO2EucyhiLnZhbHVlKTtyZXR1cm4gYn07Xy5rLlM9ZnVuY3Rpb24oYSl7b3UoYSk7d3UoYSk7dXUoYSk7cmV0dXJuIGEuaC5TKCJURVhUQVJFQSIseyJjbGFzcyI6ZHUodGhpcyxhKS5qb2luKCIgIiksZGlzYWJsZWQ6IWEuaXNFbmFibGVkKCl9LGEuZWEoKXx8IiIpfTtfLmsuRmQ9ZnVuY3Rpb24oYSl7cmV0dXJuIlRFWFRBUkVBIj09YS50YWdOYW1lfTtfLmsuSGQ9ZnVuY3Rpb24oKXt9O18uay5HZD1mdW5jdGlvbihhKXtyZXR1cm4gYS5pc0VuYWJsZWQoKX07Xy5rLlpiPWZ1bmN0aW9uKCl7fTtfLmsuY2M9ZnVuY3Rpb24oYSxiLGMpe0h1Lk8uY2MuY2FsbCh0aGlzLGEsYixjKTsoYT1hLkMoKSkmJjE9PWImJihhLmRpc2FibGVkPWMpfTsKXy5rLlNhPWZ1bmN0aW9uKCl7fTtfLmsuWGU9ZnVuY3Rpb24oYSxiKXthJiYoYS52YWx1ZT1iKX07Xy5rLm5iPWZ1bmN0aW9uKCl7cmV0dXJuIlZJcGdKZC1CN0k0T2QifTt2YXIgSXU9ZnVuY3Rpb24oYSxiLGMpe1kuY2FsbCh0aGlzLGEsYnx8SHUub2IoKSxjKTtvdSh0aGlzKTt0aGlzLkhjPSEwOyhiPXRoaXMuQygpKSYmdGhpcy5nLkNjKGIsITApO3RoaXMuTmI9IiIhPWE7YXx8KHRoaXMudmI9IiIpfTtfLkIoSXUsWSk7dmFyIEp1PSEoXy5GJiYhKDExPD1OdW1iZXIoXy5MYykpKTtfLms9SXUucHJvdG90eXBlO18uay5QYj0hMTtfLmsuZGQ9ITE7Xy5rLk5iPSExO18uay5jYj0wO18uay5XZj0wO18uay5wZT0wO18uay5OZj0hMTtfLmsubWQ9ITE7Xy5rLkRlPSExO18uay5DZT0hMTtfLmsuVWI9IiI7dmFyIEt1PWZ1bmN0aW9uKGEpe3JldHVybiBhLmoudG9wK2Euai5ib3R0b20rYS5QLnRvcCthLlAuYm90dG9tfSxMdT1mdW5jdGlvbihhKXt2YXIgYj1hLnBlLGM9YS5DKCk7YiYmYyYmYS5tZCYmKGItPUt1KGEpKTtyZXR1cm4gYn0sTnU9ZnVuY3Rpb24oYSl7YS5wZT01MDtNdShhKX0sT3U9ZnVuY3Rpb24oYSl7YS5XZj01MDtNdShhKX07Ckl1LnByb3RvdHlwZS56YT1mdW5jdGlvbihhKXt0aGlzLnMoU3RyaW5nKGEpKX07SXUucHJvdG90eXBlLmxhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQygpLnZhbHVlIT10aGlzLlVifHxQdSh0aGlzKXx8dGhpcy5OYj90aGlzLkMoKS52YWx1ZToiIn07SXUucHJvdG90eXBlLnM9ZnVuY3Rpb24oYSl7SXUuTy5zLmNhbGwodGhpcyxhKTt0aGlzLk5iPSIiIT1hO011KHRoaXMpfTtJdS5wcm90b3R5cGUuWmE9ZnVuY3Rpb24oYSl7SXUuTy5aYS5jYWxsKHRoaXMsYSk7dGhpcy5DKCkuZGlzYWJsZWQ9IWF9O3ZhciBNdT1mdW5jdGlvbihhKXthLkMoKSYmYS5EKCl9LFB1PWZ1bmN0aW9uKGEpe3JldHVybiJwbGFjZWhvbGRlciJpbiBhLkMoKX0sUXU9ZnVuY3Rpb24oYSl7YS5VYiYmKFB1KGEpP2EuQygpLnBsYWNlaG9sZGVyPWEuVWI6IWEuQygpfHxhLk5ifHxhLmRkfHwoWHQoYS5DKCksIkI3STRPZC1Md0g2bmQtWVBxamJmIiksYS5DKCkudmFsdWU9YS5VYikpfTsKSXUucHJvdG90eXBlLmthPWZ1bmN0aW9uKCl7SXUuTy5rYS5jYWxsKHRoaXMpO3ZhciBhPXRoaXMuQygpO18uTyhhLHtvdmVyZmxvd1k6ImhpZGRlbiIsb3ZlcmZsb3dYOiJhdXRvIixib3hTaXppbmc6ImJvcmRlci1ib3giLE1zQm94U2l6aW5nOiJib3JkZXItYm94IixXZWJraXRCb3hTaXppbmc6ImJvcmRlci1ib3giLE1vekJveFNpemluZzoiYm9yZGVyLWJveCJ9KTt0aGlzLmo9WHEoYSk7dGhpcy5QPSRxKGEpO3J0KHRoaXMpLkkoYSwic2Nyb2xsIix0aGlzLkQpLkkoYSwiZm9jdXMiLHRoaXMuRCkuSShhLCJrZXl1cCIsdGhpcy5EKS5JKGEsIm1vdXNldXAiLHRoaXMudWEpLkkoYSwiYmx1ciIsdGhpcy5kYSk7UXUodGhpcyk7TXUodGhpcyl9Owp2YXIgUnU9ZnVuY3Rpb24oYSl7aWYoIWEuTmYpe3ZhciBiPWEuQygpLmNsb25lTm9kZSghMSk7Xy5PKGIse3Bvc2l0aW9uOiJhYnNvbHV0ZSIsaGVpZ2h0OiJhdXRvIix0b3A6Ii05OTk5cHgiLG1hcmdpbjoiMCIscGFkZGluZzoiMXB4Iixib3JkZXI6IjFweCBzb2xpZCAjMDAwIixvdmVyZmxvdzoiaGlkZGVuIn0pO2EuaC5nLmJvZHkuYXBwZW5kQ2hpbGQoYik7dmFyIGM9Yi5zY3JvbGxIZWlnaHQ7Yi5zdHlsZS5wYWRkaW5nPSIxMHB4Ijt2YXIgZD1iLnNjcm9sbEhlaWdodDthLkRlPWQ+YztiLnN0eWxlLmJvcmRlcldpZHRoPSIxMHB4IjthLkNlPWIuc2Nyb2xsSGVpZ2h0PmQ7Yi5zdHlsZS5oZWlnaHQ9IjEwMHB4IjsxMDAhPWIub2Zmc2V0SGVpZ2h0JiYoYS5tZD0hMCk7RXAoYik7YS5OZj0hMH1iPWEuQygpO2lzTmFOKGEuai50b3ApJiYoYS5qPVhxKGIpLGEuUD0kcShiKSk7Yz1hLkMoKS5zY3JvbGxIZWlnaHQ7dmFyIGU9YS5DKCk7ZD1lLm9mZnNldEhlaWdodC1lLmNsaWVudEhlaWdodDsKaWYoIWEuRGUpe3ZhciBmPWEuajtkLT1mLnRvcCtmLmJvdHRvbX1hLkNlfHwoZT0kcShlKSxkLT1lLnRvcCtlLmJvdHRvbSk7Yys9MDxkP2Q6MDthLm1kP2MtPUt1KGEpOihhLkRlfHwoZD1hLmosYys9ZC50b3ArZC5ib3R0b20pLGEuQ2V8fChhPSRxKGIpLGMrPWEudG9wK2EuYm90dG9tKSk7cmV0dXJuIGN9LFN1PWZ1bmN0aW9uKGEsYil7YS5jYiE9YiYmKGEuY2I9YixhLkMoKS5zdHlsZS5oZWlnaHQ9YisicHgiKX0sVHU9ZnVuY3Rpb24oYSl7dmFyIGI9YS5DKCk7Yi5zdHlsZS5oZWlnaHQ9ImF1dG8iO3ZhciBjPWIudmFsdWUubWF0Y2goL1xuL2cpfHxbXTtiLnJvd3M9Yy5sZW5ndGgrMTthLmNiPTB9O0l1LnByb3RvdHlwZS5kYT1mdW5jdGlvbigpe1B1KHRoaXMpfHwodGhpcy5kZD0hMSwiIj09dGhpcy5DKCkudmFsdWUmJih0aGlzLk5iPSExLFF1KHRoaXMpKSl9OwpJdS5wcm90b3R5cGUuRD1mdW5jdGlvbihhKXtpZighdGhpcy5QYil7dmFyIGI9dGhpcy5DKCk7IVB1KHRoaXMpJiZhJiYiZm9jdXMiPT1hLnR5cGUmJihiLnZhbHVlPT10aGlzLlViJiZ0aGlzLlViJiYhdGhpcy5kZCYmKFp0KGIsIkI3STRPZC1Md0g2bmQtWVBxamJmIiksYi52YWx1ZT0iIiksdGhpcy5kZD0hMCx0aGlzLk5iPSIiIT1iLnZhbHVlKTt2YXIgYz0hMTt0aGlzLlBiPSEwO2E9dGhpcy5jYjtpZihiLnNjcm9sbEhlaWdodCl7dmFyIGQ9ITEsZT0hMSxmPVJ1KHRoaXMpLGc9Yi5vZmZzZXRIZWlnaHQsaD1MdSh0aGlzKTt2YXIgbD10aGlzLldmO3ZhciBtPXRoaXMuQygpO2wmJm0mJnRoaXMubWQmJihsLT1LdSh0aGlzKSk7aCYmZjxoPyhTdSh0aGlzLGgpLGQ9ITApOmwmJmY+bD8oU3UodGhpcyxsKSxiLnN0eWxlLm92ZXJmbG93WT0iIixlPSEwKTpnIT1mP1N1KHRoaXMsZik6dGhpcy5jYnx8KHRoaXMuY2I9Zik7ZHx8ZXx8IUp1fHwoYz0hMCl9ZWxzZSBUdSh0aGlzKTt0aGlzLlBiPQohMTtjJiYoYj10aGlzLkMoKSx0aGlzLlBifHwodGhpcy5QYj0hMCwoZT1iLnNjcm9sbEhlaWdodCk/KGY9UnUodGhpcyksYz1MdSh0aGlzKSxjJiZmPD1jfHwoZD10aGlzLmosYi5zdHlsZS5wYWRkaW5nVG9wPWQudG9wKzErInB4IixSdSh0aGlzKT09ZiYmKGIuc3R5bGUucGFkZGluZ1RvcD1kLnRvcCtlKyJweCIsYi5zY3JvbGxUb3A9MCxlPVJ1KHRoaXMpLWUsZT49Yz9TdSh0aGlzLGUpOlN1KHRoaXMsYykpLGIuc3R5bGUucGFkZGluZ1RvcD1kLnRvcCsicHgiKSk6VHUodGhpcyksdGhpcy5QYj0hMSkpO2EhPXRoaXMuY2ImJnRoaXMuZGlzcGF0Y2hFdmVudCgicmVzaXplIil9fTsKSXUucHJvdG90eXBlLnVhPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5DKCksYj1hLm9mZnNldEhlaWdodDthLmZpbHRlcnMmJmEuZmlsdGVycy5sZW5ndGgmJihhPWEuZmlsdGVycy5pdGVtKCJEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5Ecm9wU2hhZG93IikpJiYoYi09YS5vZmZYKTtiIT10aGlzLmNiJiYodGhpcy5jYj10aGlzLnBlPWIpfTt2YXIgVXU9ZnVuY3Rpb24oYSxiKXtwby5jYWxsKHRoaXMsYSk7dGhpcy5BPSExO3RoaXMucz1ifHx7fTt0aGlzLmo9bnVsbH07Xy56KFV1LHBvKTtfLms9VXUucHJvdG90eXBlO18uay5yZD1mdW5jdGlvbihhKXtwby5wcm90b3R5cGUucmQuY2FsbCh0aGlzLGEpO3J0KHRoaXMpLkkodGhpcy5qLkMoKSwia2V5ZG93biIsKDAsXy5BKSh0aGlzLnNhKCkudmMsdGhpcy5zYSgpLCExKSk7dGhpcy5BPXRoaXMuc2EoKS5mYzt0aGlzLkJjKCl9O18uay5CYz1mdW5jdGlvbigpe3BvLnByb3RvdHlwZS5CYy5jYWxsKHRoaXMpO3RoaXMuai5zKHRoaXMuc2EoKS5VKTt2YXIgYT10aGlzLnNhKCkuS2EoKSxiPXRoaXMuc2EoKS5mYSgpO2EmJmImJihFdSh0aGlzLmcse2d0cmFuczp0aGlzLnNhKCkuVSx0ZXh0OnRoaXMuc2EoKS5EYygpLGhsOm1yLGxhbmdwYWlyOmErInwiK2J9KSxFdSh0aGlzLmcsdGhpcy5zKSk7dGhpcy5kaXNwYXRjaEV2ZW50KCJyZWFkeSIpO3RoaXMuai5DKCkuZm9jdXMoKX07Cl8uay5TYj1mdW5jdGlvbigpe3RoaXMuc2EoKS52Yyh0aGlzLkEpfTtfLmsuUz1mdW5jdGlvbigpe3RoaXMub2EoSW4oZ3QpKX07Xy5rLm9hPWZ1bmN0aW9uKGEpe3RoaXMubz1hO2E9cXQodGhpcywiY29udHJpYnV0ZS1vcmlnaW5hbC10ZXh0Iik7dGhpcy5qPW5ldyBJdSgiIik7dHQodGhpcy5qLGEpO091KHRoaXMuaik7TnUodGhpcy5qKTthPXF0KHRoaXMsImFjdGl2aXR5LWZvcm0tY29udGFpbmVyIik7dGhpcy5nPW5ldyBEdShCciwiUE9TVCIpO3RoaXMuZy5BPV8uTWEodGhpcy5zKTtHdSh0aGlzLmcsKDAsXy5BKShmdW5jdGlvbigpe0V1KHRoaXMuZyx7dXRyYW5zOigwLF8ubWMpKHRoaXMuai5sYSgpKX0pO3JldHVybiBGdSh0aGlzLmcsInV0cmFucyIpIT1GdSh0aGlzLmcsImd0cmFucyIpfSx0aGlzKSk7dGhpcy5nLnlhKGEpfTsKXy5rLmthPWZ1bmN0aW9uKCl7cG8ucHJvdG90eXBlLmthLmNhbGwodGhpcyk7dmFyIGE9cnQodGhpcyk7YS5JKHRoaXMuZywiY2FuY2VsbGVkIiwoMCxfLkEpKGZ1bmN0aW9uKCl7dGhpcy5kaXNwYXRjaEV2ZW50KCJjYW5jZWxsZWQiKX0sdGhpcykpO2EuSSh0aGlzLmcsInN1Ym1pdHRlZCIsKDAsXy5BKShmdW5jdGlvbigpe3ZhciBiPXRoaXMuc2EoKSxjPXRoaXMuai5sYSgpO2IuVT1jJiYoMCxfLm1jKShjKTt0aGlzLmRpc3BhdGNoRXZlbnQoInN1Ym1pdHRlZCIpO2I9Vy5ZZztfLnFkKHRoaXMuc2EoKS5OYSgpLkMoKSxiKX0sdGhpcykpfTtfLmsuSj1mdW5jdGlvbigpe3RoaXMuaiYmdGhpcy5qLlIoKTt0aGlzLmo9bnVsbDt0aGlzLmcmJnRoaXMuZy5SKCk7dGhpcy5nPW51bGw7cG8ucHJvdG90eXBlLkouY2FsbCh0aGlzKX07dmFyIFZ1PWZ1bmN0aW9uKGEpe18uSC5jYWxsKHRoaXMpO3RoaXMubz1hO3RoaXMucz17fTt0aGlzLmo9bmV3IF8uSSh0aGlzKTt0aGlzLmw9bnVsbH07Xy56KFZ1LF8uSCk7VnUucHJvdG90eXBlLmF0dGFjaD1mdW5jdGlvbigpe307VnUucHJvdG90eXBlLlllPWZ1bmN0aW9uKCl7fTtWdS5wcm90b3R5cGUuSj1mdW5jdGlvbigpe3RoaXMuai5SKCk7dGhpcy5qPW51bGx9O3ZhciBXdT1mdW5jdGlvbihhLGIsYyl7aWYoYj1hLm8ualtiXSl7Yz1jfHwidW5kZWZpbmVkIj09dHlwZW9mIGM7Zm9yKHZhciBkPTA7ZDxiLnhhLmxlbmd0aDsrK2QpYi54YVtkXSYmYS5QZihiLnhhW2RdLGMpfX07VnUucHJvdG90eXBlLlBmPWZ1bmN0aW9uKGEsYil7Xy5PKGEsImJhY2tncm91bmRDb2xvciIsYj8iI0U2RUNGOSI6IiIpO18uTyhhLCJjb2xvciIsYj8iIzAwMCI6IiIpfTt2YXIgWHU9ZnVuY3Rpb24oYSxiLGMpe18uRC5jYWxsKHRoaXMpO3RoaXMuaD1hO3RoaXMubD1ifHwwO3RoaXMuaj1jO3RoaXMuZz0oMCxfLkEpKHRoaXMuSWcsdGhpcyl9O18uQihYdSxfLkQpO18uaz1YdS5wcm90b3R5cGU7Xy5rLmRjPTA7Xy5rLko9ZnVuY3Rpb24oKXtYdS5PLkouY2FsbCh0aGlzKTt0aGlzLnN0b3AoKTtkZWxldGUgdGhpcy5oO2RlbGV0ZSB0aGlzLmp9O18uay5zdGFydD1mdW5jdGlvbihhKXt0aGlzLnN0b3AoKTt0aGlzLmRjPV8uWmcodGhpcy5nLHZvaWQgMCE9PWE/YTp0aGlzLmwpfTtfLmsuc3RvcD1mdW5jdGlvbigpe3RoaXMuaXNBY3RpdmUoKSYmXy50LmNsZWFyVGltZW91dCh0aGlzLmRjKTt0aGlzLmRjPTB9O18uay5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiAwIT10aGlzLmRjfTtfLmsuSWc9ZnVuY3Rpb24oKXt0aGlzLmRjPTA7dGhpcy5oJiZ0aGlzLmguY2FsbCh0aGlzLmopfTt2YXIgcW49e30sWXU9bnVsbCxadT1mdW5jdGlvbihhKXthPV8ueGEoYSk7ZGVsZXRlIHFuW2FdO3JuKCkmJll1JiZZdS5zdG9wKCl9LGF2PWZ1bmN0aW9uKCl7WXV8fChZdT1uZXcgWHUoZnVuY3Rpb24oKXskdSgpfSwyMCkpO3ZhciBhPVl1O2EuaXNBY3RpdmUoKXx8YS5zdGFydCgpfSwkdT1mdW5jdGlvbigpe3ZhciBhPV8uS2IoKTtfLk5jKHFuLGZ1bmN0aW9uKGIpe2J2KGIsYSl9KTtybigpfHxhdigpfTt2YXIgY3Y9ZnVuY3Rpb24oKXtfLkguY2FsbCh0aGlzKTt0aGlzLmc9MDt0aGlzLmVuZFRpbWU9dGhpcy5zdGFydFRpbWU9bnVsbH07Xy5CKGN2LF8uSCk7Y3YucHJvdG90eXBlLmo9ZnVuY3Rpb24oKXt0aGlzLmgoImJlZ2luIil9O2N2LnByb3RvdHlwZS5sPWZ1bmN0aW9uKCl7dGhpcy5oKCJlbmQiKX07Y3YucHJvdG90eXBlLlNiPWZ1bmN0aW9uKCl7dGhpcy5oKCJzdG9wIil9O2N2LnByb3RvdHlwZS5oPWZ1bmN0aW9uKGEpe3RoaXMuZGlzcGF0Y2hFdmVudChhKX07dmFyIGR2PWZ1bmN0aW9uKGEsYixjLGQpe2N2LmNhbGwodGhpcyk7aWYoIUFycmF5LmlzQXJyYXkoYSl8fCFBcnJheS5pc0FycmF5KGIpKXRocm93IEVycm9yKCJYYSIpO2lmKGEubGVuZ3RoIT1iLmxlbmd0aCl0aHJvdyBFcnJvcigiWWEiKTt0aGlzLm89YTt0aGlzLkQ9Yjt0aGlzLmR1cmF0aW9uPWM7dGhpcy5GPWQ7dGhpcy5jb29yZHM9W107dGhpcy5wcm9ncmVzcz0wfTtfLkIoZHYsY3YpOwpkdi5wcm90b3R5cGUucGxheT1mdW5jdGlvbihhKXtpZihhfHwwPT10aGlzLmcpdGhpcy5wcm9ncmVzcz0wLHRoaXMuY29vcmRzPXRoaXMubztlbHNlIGlmKDE9PXRoaXMuZylyZXR1cm4hMTtadSh0aGlzKTt0aGlzLnN0YXJ0VGltZT1hPV8uS2IoKTstMT09dGhpcy5nJiYodGhpcy5zdGFydFRpbWUtPXRoaXMuZHVyYXRpb24qdGhpcy5wcm9ncmVzcyk7dGhpcy5lbmRUaW1lPXRoaXMuc3RhcnRUaW1lK3RoaXMuZHVyYXRpb247dGhpcy5wcm9ncmVzc3x8dGhpcy5qKCk7dGhpcy5oKCJwbGF5Iik7LTE9PXRoaXMuZyYmdGhpcy5oKCJyZXN1bWUiKTt0aGlzLmc9MTt2YXIgYj1fLnhhKHRoaXMpO2IgaW4gcW58fChxbltiXT10aGlzKTthdigpO2J2KHRoaXMsYSk7cmV0dXJuITB9O2R2LnByb3RvdHlwZS5zdG9wPWZ1bmN0aW9uKGEpe1p1KHRoaXMpO3RoaXMuZz0wO2EmJih0aGlzLnByb2dyZXNzPTEpO2V2KHRoaXMsdGhpcy5wcm9ncmVzcyk7dGhpcy5TYigpO3RoaXMubCgpfTsKZHYucHJvdG90eXBlLkhlPWZ1bmN0aW9uKGEpe3RoaXMucHJvZ3Jlc3M9YTsxPT10aGlzLmcmJih0aGlzLnN0YXJ0VGltZT1fLktiKCktdGhpcy5kdXJhdGlvbip0aGlzLnByb2dyZXNzLHRoaXMuZW5kVGltZT10aGlzLnN0YXJ0VGltZSt0aGlzLmR1cmF0aW9uKX07ZHYucHJvdG90eXBlLko9ZnVuY3Rpb24oKXswPT10aGlzLmd8fHRoaXMuc3RvcCghMSk7dGhpcy5oKCJkZXN0cm95Iik7ZHYuTy5KLmNhbGwodGhpcyl9Owp2YXIgYnY9ZnVuY3Rpb24oYSxiKXtiPGEuc3RhcnRUaW1lJiYoYS5lbmRUaW1lPWIrYS5lbmRUaW1lLWEuc3RhcnRUaW1lLGEuc3RhcnRUaW1lPWIpO2EucHJvZ3Jlc3M9KGItYS5zdGFydFRpbWUpLyhhLmVuZFRpbWUtYS5zdGFydFRpbWUpOzE8YS5wcm9ncmVzcyYmKGEucHJvZ3Jlc3M9MSk7ZXYoYSxhLnByb2dyZXNzKTsxPT1hLnByb2dyZXNzPyhhLmc9MCxadShhKSxhLmgoImZpbmlzaCIpLGEubCgpKToxPT1hLmcmJmEuQigpfSxldj1mdW5jdGlvbihhLGIpeyJmdW5jdGlvbiI9PT10eXBlb2YgYS5GJiYoYj1hLkYoYikpO2EuY29vcmRzPUFycmF5KGEuby5sZW5ndGgpO2Zvcih2YXIgYz0wO2M8YS5vLmxlbmd0aDtjKyspYS5jb29yZHNbY109KGEuRFtjXS1hLm9bY10pKmIrYS5vW2NdfTtkdi5wcm90b3R5cGUuQj1mdW5jdGlvbigpe3RoaXMuaCgiYW5pbWF0ZSIpfTtkdi5wcm90b3R5cGUuaD1mdW5jdGlvbihhKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IGZ2KGEsdGhpcykpfTsKdmFyIGZ2PWZ1bmN0aW9uKGEsYil7Xy50ZC5jYWxsKHRoaXMsYSk7dGhpcy5jb29yZHM9Yi5jb29yZHM7dGhpcy54PWIuY29vcmRzWzBdO3RoaXMueT1iLmNvb3Jkc1sxXTt0aGlzLno9Yi5jb29yZHNbMl07dGhpcy5kdXJhdGlvbj1iLmR1cmF0aW9uO3RoaXMucHJvZ3Jlc3M9Yi5wcm9ncmVzczt0aGlzLnN0YXRlPWIuZ307Xy5CKGZ2LF8udGQpO3ZhciBndj1mdW5jdGlvbigpe2lmKF8ueGMpe3ZhciBhPS9XaW5kb3dzIE5UIChbMC05Ll0rKS87cmV0dXJuKGE9YS5leGVjKF8uemEoKSkpP2FbMV06IjAifXJldHVybiBfLndjPyhhPS8xWzB8MV1bXy5dWzAtOV8uXSsvLChhPWEuZXhlYyhfLnphKCkpKT9hWzBdLnJlcGxhY2UoL18vZywiLiIpOiIxMCIpOl8ueWM/KGE9L0FuZHJvaWRccysoW15cKTtdKykoXCl8OykvLChhPWEuZXhlYyhfLnphKCkpKT9hWzFdOiIiKTpfLnpjfHxfLkFjfHxfLkJjPyhhPS8oPzppUGhvbmV8Q1BVKVxzK09TXHMrKFxTKykvLChhPWEuZXhlYyhfLnphKCkpKT9hWzFdLnJlcGxhY2UoL18vZywiLiIpOiIiKToiIn0oKTt2YXIgaHY9ZnVuY3Rpb24oYSl7cmV0dXJuKGE9YS5leGVjKF8uemEoKSkpP2FbMV06IiJ9LGl2PWZ1bmN0aW9uKCl7aWYoXy5vaSlyZXR1cm4gaHYoL0ZpcmVmb3hcLyhbMC05Ll0rKS8pO2lmKF8uRnx8Xy5yY3x8Xy5xYylyZXR1cm4gXy5JYztpZihfLnNpKXtpZihfLklhKCl8fF8uSmEoKSl7dmFyIGE9aHYoL0NyaU9TXC8oWzAtOS5dKykvKTtpZihhKXJldHVybiBhfXJldHVybiBodigvQ2hyb21lXC8oWzAtOS5dKykvKX1pZihfLnRpJiYhXy5JYSgpKXJldHVybiBodigvVmVyc2lvblwvKFswLTkuXSspLyk7aWYoXy5waXx8Xy5xaSl7aWYoYT0vVmVyc2lvblwvKFxTKykuKk1vYmlsZVwvKFxTKykvLmV4ZWMoXy56YSgpKSlyZXR1cm4gYVsxXSsiLiIrYVsyXX1lbHNlIGlmKF8ucmkpcmV0dXJuKGE9aHYoL0FuZHJvaWRccysoWzAtOS5dKykvKSk/YTpodigvVmVyc2lvblwvKFswLTkuXSspLyk7cmV0dXJuIiJ9KCk7dmFyIGp2PWZ1bmN0aW9uKGEsYixjLGQsZSl7ZHYuY2FsbCh0aGlzLGIsYyxkLGUpO3RoaXMuZWxlbWVudD1hfTtfLkIoanYsZHYpO2p2LnByb3RvdHlwZS5BPWZ1bmN0aW9uKCl7fTtqdi5wcm90b3R5cGUuQj1mdW5jdGlvbigpe3RoaXMuQSgpO2p2Lk8uQi5jYWxsKHRoaXMpfTtqdi5wcm90b3R5cGUubD1mdW5jdGlvbigpe3RoaXMuQSgpO2p2Lk8ubC5jYWxsKHRoaXMpfTtqdi5wcm90b3R5cGUuaj1mdW5jdGlvbigpe3RoaXMuQSgpO2p2Lk8uai5jYWxsKHRoaXMpfTt2YXIga3Y9ZnVuY3Rpb24oYSxiLGMsZCxlKXsibnVtYmVyIj09PXR5cGVvZiBiJiYoYj1bYl0pOyJudW1iZXIiPT09dHlwZW9mIGMmJihjPVtjXSk7anYuY2FsbCh0aGlzLGEsYixjLGQsZSk7aWYoMSE9Yi5sZW5ndGh8fDEhPWMubGVuZ3RoKXRocm93IEVycm9yKCJaYSIpO3RoaXMucz0tMX07Xy5CKGt2LGp2KTt2YXIgbHY9MS8xMDI0Owprdi5wcm90b3R5cGUuQT1mdW5jdGlvbigpe3ZhciBhPXRoaXMuY29vcmRzWzBdO2lmKE1hdGguYWJzKGEtdGhpcy5zKT49bHYpe3ZhciBiPXRoaXMuZWxlbWVudC5zdHlsZTsib3BhY2l0eSJpbiBiP2Iub3BhY2l0eT1hOiJNb3pPcGFjaXR5ImluIGI/Yi5Nb3pPcGFjaXR5PWE6ImZpbHRlciJpbiBiJiYoYi5maWx0ZXI9IiI9PT1hPyIiOiJhbHBoYShvcGFjaXR5PSIrMTAwKk51bWJlcihhKSsiKSIpO3RoaXMucz1hfX07a3YucHJvdG90eXBlLmo9ZnVuY3Rpb24oKXt0aGlzLnM9LTE7a3YuTy5qLmNhbGwodGhpcyl9O2t2LnByb3RvdHlwZS5sPWZ1bmN0aW9uKCl7dGhpcy5zPS0xO2t2Lk8ubC5jYWxsKHRoaXMpfTt2YXIgbXY9ZnVuY3Rpb24oYSxiLGMpe2t2LmNhbGwodGhpcyxhLDEsMCxiLGMpfTtfLkIobXYsa3YpO212LnByb3RvdHlwZS5qPWZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnN0eWxlLmRpc3BsYXk9IiI7bXYuTy5qLmNhbGwodGhpcyl9Owptdi5wcm90b3R5cGUubD1mdW5jdGlvbigpe3RoaXMuZWxlbWVudC5zdHlsZS5kaXNwbGF5PSJub25lIjttdi5PLmwuY2FsbCh0aGlzKX07dmFyIG52PWZ1bmN0aW9uKGEsYixjKXtrdi5jYWxsKHRoaXMsYSwwLDEsYixjKX07Xy5CKG52LGt2KTtudi5wcm90b3R5cGUuaj1mdW5jdGlvbigpe3RoaXMuZWxlbWVudC5zdHlsZS5kaXNwbGF5PSIiO252Lk8uai5jYWxsKHRoaXMpfTt2YXIgb3Y9ZnVuY3Rpb24oKXtQLmNhbGwodGhpcyk7dGhpcy5nPW51bGx9O18ueihvdixQKTtvdi5wcm90b3R5cGUuUz1mdW5jdGlvbigpe3RoaXMub2EodGhpcy5oLlMoIkRJViIseyJjbGFzcyI6InN0YXR1cy1tZXNzYWdlIn0pKX07b3YucHJvdG90eXBlLm9hPWZ1bmN0aW9uKGEpe3RoaXMubz1hO2Euc3R5bGUuZGlzcGxheT0ibm9uZSJ9O3ZhciBxdj1mdW5jdGlvbihhKXt2YXIgYj1jO3ZhciBjPSgwLF8uQSkoZnVuY3Rpb24oKXtfLnFkKHRoaXMuQygpLCIiKTtiJiZiKCl9LGEpO2M9KDAsXy5BKShhLmosYSw3NTAsYyk7cHYoYSxjKX07b3YucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5nJiYodGhpcy5nLnN0b3AoITApLHRoaXMuZz1udWxsKTtfLnFkKHRoaXMuQygpLCIiKTt0aGlzLlooITEpfTsKdmFyIHB2PWZ1bmN0aW9uKGEsYil7YS5nPW5ldyBudihhLkMoKSw3NTApO3J0KGEpLnFiKGEuZywiYmVnaW4iLCgwLF8uQSkoZnVuY3Rpb24oKXt0aGlzLkMoKS5zdHlsZS5kaXNwbGF5PSJibG9jayJ9LGEpKTtydChhKS5xYihhLmcsImZpbmlzaCIsKDAsXy5BKShmdW5jdGlvbigpe3RoaXMuZz1udWxsO3dpbmRvdy5zZXRUaW1lb3V0KGIsMkUzKX0sYSkpO2EuZy5wbGF5KCl9O292LnByb3RvdHlwZS5qPWZ1bmN0aW9uKGEsYil7dGhpcy5pc1Zpc2libGUoKSYmKHRoaXMuZz1uZXcgbXYodGhpcy5DKCksYSkscnQodGhpcykucWIodGhpcy5nLCJmaW5pc2giLCgwLF8uQSkoZnVuY3Rpb24oKXtiJiZiKCl9LHRoaXMpKSx0aGlzLmcucGxheSgpKX07b3YucHJvdG90eXBlLmdldE1lc3NhZ2U9ZnVuY3Rpb24oKXtyZXR1cm4gTnAodGhpcy5DKCkpfTsKb3YucHJvdG90eXBlLlo9ZnVuY3Rpb24oYSl7dGhpcy5DKCkuc3R5bGUuZGlzcGxheT1hPyJibG9jayI6Im5vbmUiO3RoaXMuQygpLnN0eWxlLm9wYWNpdHk9YT8iMSI6IjAifTtvdi5wcm90b3R5cGUuaXNWaXNpYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIm5vbmUiIT09dGhpcy5DKCkuc3R5bGUuZGlzcGxheSYmIjAiIT09dGhpcy5DKCkuc3R5bGUub3BhY2l0eX07dmFyIHJ2PWZ1bmN0aW9uKGEsYil7Xy5ILmNhbGwodGhpcyk7dGhpcy5BPW5ldyBfLkkodGhpcyk7dGhpcy5ZYihhfHxudWxsKTtiJiYodGhpcy5MYj1iKX07Xy5CKHJ2LF8uSCk7Xy5rPXJ2LnByb3RvdHlwZTtfLmsuSWE9bnVsbDtfLmsuZmM9ITA7Xy5rLmtmPW51bGw7Xy5rLkhiPSExO18uay5rZT0tMTtfLmsuTGI9InRvZ2dsZV9kaXNwbGF5IjtfLmsuQz1mdW5jdGlvbigpe3JldHVybiB0aGlzLklhfTtfLmsuWWI9ZnVuY3Rpb24oYSl7aWYodGhpcy5IYil0aHJvdyBFcnJvcigiJGEiKTt0aGlzLklhPWF9O18uay52Yz1mdW5jdGlvbihhKXtpZih0aGlzLkhiKXRocm93IEVycm9yKCIkYSIpO3RoaXMuZmM9YX07Xy5rLmlzVmlzaWJsZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkhifTsKXy5rLlo9ZnVuY3Rpb24oYSl7dGhpcy51YSYmdGhpcy51YS5zdG9wKCk7dGhpcy5tYSYmdGhpcy5tYS5zdG9wKCk7aWYoYSl7aWYoIXRoaXMuSGImJnRoaXMuSWQoKSl7aWYoIXRoaXMuSWEpdGhyb3cgRXJyb3IoImFiIik7dGhpcy5iYigpO2E9Xy5kZCh0aGlzLklhKTtpZih0aGlzLmZjKWlmKHRoaXMuQS5JKGEsIm1vdXNlZG93biIsdGhpcy5xZSwhMCksXy5GKXt0cnl7dmFyIGI9YS5hY3RpdmVFbGVtZW50fWNhdGNoKGQpe31mb3IoO2ImJiJJRlJBTUUiPT1iLm5vZGVOYW1lOyl7dHJ5e3ZhciBjPUdwKGIpfWNhdGNoKGQpe2JyZWFrfWE9YztiPWEuYWN0aXZlRWxlbWVudH10aGlzLkEuSShhLCJtb3VzZWRvd24iLHRoaXMucWUsITApO3RoaXMuQS5JKGEsImRlYWN0aXZhdGUiLHRoaXMuZmcpfWVsc2UgdGhpcy5BLkkoYSwiYmx1ciIsdGhpcy5mZyk7InRvZ2dsZV9kaXNwbGF5Ij09dGhpcy5MYj8odGhpcy5JYS5zdHlsZS52aXNpYmlsaXR5PSJ2aXNpYmxlIixPcSh0aGlzLklhLCEwKSk6CiJtb3ZlX29mZnNjcmVlbiI9PXRoaXMuTGImJnRoaXMuYmIoKTt0aGlzLkhiPSEwO3RoaXMua2U9RGF0ZS5ub3coKTt0aGlzLnVhPyhfLkpkKHRoaXMudWEsImVuZCIsdGhpcy5pZywhMSx0aGlzKSx0aGlzLnVhLnBsYXkoKSk6dGhpcy5pZygpfX1lbHNlIHN2KHRoaXMpfTtfLmsuYmI9ZnVuY3Rpb24oKXt9O3ZhciBzdj1mdW5jdGlvbihhLGIpe2EuSGImJmEuZGlzcGF0Y2hFdmVudCh7dHlwZToiYmVmb3JlaGlkZSIsdGFyZ2V0OmJ9KSYmKGEuQSYmXy5QZyhhLkEpLGEuSGI9ITEsYS5tYT8oXy5KZChhLm1hLCJlbmQiLF8uSmIoYS5xZixiKSwhMSxhKSxhLm1hLnBsYXkoKSk6YS5xZihiKSl9O18uaz1ydi5wcm90b3R5cGU7Xy5rLnFmPWZ1bmN0aW9uKGEpeyJ0b2dnbGVfZGlzcGxheSI9PXRoaXMuTGI/dGhpcy5iaSgpOiJtb3ZlX29mZnNjcmVlbiI9PXRoaXMuTGImJih0aGlzLklhLnN0eWxlLnRvcD0iLTEwMDAwcHgiKTt0aGlzLnNlKGEpfTsKXy5rLmJpPWZ1bmN0aW9uKCl7dGhpcy5JYS5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iO09xKHRoaXMuSWEsITEpfTtfLmsuSWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kaXNwYXRjaEV2ZW50KCJiZWZvcmVzaG93Iil9O18uay5pZz1mdW5jdGlvbigpe3RoaXMuZGlzcGF0Y2hFdmVudCgic2hvdyIpfTtfLmsuc2U9ZnVuY3Rpb24oYSl7dGhpcy5kaXNwYXRjaEV2ZW50KHt0eXBlOiJoaWRlIix0YXJnZXQ6YX0pfTtfLmsucWU9ZnVuY3Rpb24oYSl7YT1hLnRhcmdldDtfLnBkKHRoaXMuSWEsYSl8fHR2KHRoaXMsYSl8fDE1MD5EYXRlLm5vdygpLXRoaXMua2V8fHN2KHRoaXMsYSl9OwpfLmsuZmc9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5kZCh0aGlzLklhKTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpe2lmKGE9Yi5hY3RpdmVFbGVtZW50LCFhfHxfLnBkKHRoaXMuSWEsYSl8fCJCT0RZIj09YS50YWdOYW1lfHx0dih0aGlzLGEpKXJldHVybn1lbHNlIGlmKGEudGFyZ2V0IT1iKXJldHVybjsxNTA+RGF0ZS5ub3coKS10aGlzLmtlfHxzdih0aGlzKX07dmFyIHR2PWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uZ2MoYS5rZnx8W10sZnVuY3Rpb24oYyl7cmV0dXJuIGI9PT1jfHxfLnBkKGMsYil9KX07cnYucHJvdG90eXBlLko9ZnVuY3Rpb24oKXtydi5PLkouY2FsbCh0aGlzKTt0aGlzLkEuUigpO18uY2EodGhpcy51YSk7Xy5jYSh0aGlzLm1hKTtkZWxldGUgdGhpcy5JYTtkZWxldGUgdGhpcy5BO2RlbGV0ZSB0aGlzLmtmfTt2YXIgdXY9ZnVuY3Rpb24oYSl7Xy5ILmNhbGwodGhpcyk7dGhpcy5nPWE7YT1fLkY/ImZvY3Vzb3V0IjoiYmx1ciI7dGhpcy5oPV8uRyh0aGlzLmcsXy5GPyJmb2N1c2luIjoiZm9jdXMiLHRoaXMsIV8uRik7dGhpcy5qPV8uRyh0aGlzLmcsYSx0aGlzLCFfLkYpfTtfLkIodXYsXy5IKTt1di5wcm90b3R5cGUuaGFuZGxlRXZlbnQ9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IF8ud2QoYS5nKTtiLnR5cGU9ImZvY3VzaW4iPT1hLnR5cGV8fCJmb2N1cyI9PWEudHlwZT8iZm9jdXNpbiI6ImZvY3Vzb3V0Ijt0aGlzLmRpc3BhdGNoRXZlbnQoYil9O3V2LnByb3RvdHlwZS5KPWZ1bmN0aW9uKCl7dXYuTy5KLmNhbGwodGhpcyk7Xy5SZCh0aGlzLmgpO18uUmQodGhpcy5qKTtkZWxldGUgdGhpcy5nfTt2YXIgdnY9ZnVuY3Rpb24oKXt9O3Z2LnByb3RvdHlwZS5oPWZ1bmN0aW9uKCl7fTt2YXIgeXY9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7dmFyIGg7aWYoaD1jLm9mZnNldFBhcmVudCl7dmFyIGw9IkhUTUwiPT1oLnRhZ05hbWV8fCJCT0RZIj09aC50YWdOYW1lO2lmKCFsfHwic3RhdGljIiE9RHEoaCwicG9zaXRpb24iKSl7dmFyIG09SnEoaCk7aWYoIWwpe2w9UnEoaCk7dmFyIG47aWYobj1sKXtuPV8udGkmJjA8PWtwKGl2LDEwKTt2YXIgcTtpZihxPV8uQ2MpcT0wPD1rcChndiwxMCk7dmFyIHI9Xy5zaSYmMDw9a3AoaXYsODUpO249Xy50Y3x8bnx8cXx8cn1sPW4/LWguc2Nyb2xsTGVmdDpsJiYhXy5zYyYmInZpc2libGUiIT1EcShoLCJvdmVyZmxvd1giKT9oLnNjcm9sbFdpZHRoLWguY2xpZW50V2lkdGgtaC5zY3JvbGxMZWZ0Omguc2Nyb2xsTGVmdDttPXRwKG0sbmV3IFIobCxoLnNjcm9sbFRvcCkpfX19aD1tfHxuZXcgUjttPUpxKGEpO2w9TnEoYSk7bT1uZXcgQnEobS54LG0ueSxsLndpZHRoLGwuaGVpZ2h0KTtpZihsPUtxKGEpKXI9bmV3IEJxKGwubGVmdCwKbC50b3AsbC5yaWdodC1sLmxlZnQsbC5ib3R0b20tbC50b3ApLGw9TWF0aC5tYXgobS5sZWZ0LHIubGVmdCksbj1NYXRoLm1pbihtLmxlZnQrbS53aWR0aCxyLmxlZnQrci53aWR0aCksbDw9biYmKHE9TWF0aC5tYXgobS50b3Asci50b3ApLHI9TWF0aC5taW4obS50b3ArbS5oZWlnaHQsci50b3Arci5oZWlnaHQpLHE8PXImJihtLmxlZnQ9bCxtLnRvcD1xLG0ud2lkdGg9bi1sLG0uaGVpZ2h0PXItcSkpO2w9Xy5lZChhKTtxPV8uZWQoYyk7bC5nIT1xLmcmJihuPWwuZy5ib2R5LHE9THEobixfLnJkKHEpKSxxPXRwKHEsSnEobikpLCFfLkZ8fDk8PU51bWJlcihfLkxjKXx8Xy5pZChsLmcpfHwocT10cChxLENvKGwuZykpKSxtLmxlZnQrPXEueCxtLnRvcCs9cS55KTthPXd2KGEsYik7Yj1tLmxlZnQ7YSY0P2IrPW0ud2lkdGg6YSYyJiYoYis9bS53aWR0aC8yKTtiPW5ldyBSKGIsbS50b3ArKGEmMT9tLmhlaWdodDowKSk7Yj10cChiLGgpO2UmJihiLngrPShhJjQ/LTE6MSkqZS54LGIueSs9CihhJjE/LTE6MSkqZS55KTt2YXIgcDtnJiYocD1LcShjKSkmJihwLnRvcC09aC55LHAucmlnaHQtPWgueCxwLmJvdHRvbS09aC55LHAubGVmdC09aC54KTtyZXR1cm4geHYoYixjLGQsZixwLGcpfSx4dj1mdW5jdGlvbihhLGIsYyxkLGUsZil7YT14byhhKTt2YXIgZz13dihiLGMpO2M9TnEoYik7dmFyIGg9bmV3IF8uWWMoYy53aWR0aCxjLmhlaWdodCk7YT14byhhKTtoPW5ldyBfLlljKGgud2lkdGgsaC5oZWlnaHQpO3ZhciBsPTA7aWYoZHx8MCE9ZylnJjQ/YS54LT1oLndpZHRoKyhkP2QucmlnaHQ6MCk6ZyYyP2EueC09aC53aWR0aC8yOmQmJihhLngrPWQubGVmdCksZyYxP2EueS09aC5oZWlnaHQrKGQ/ZC5ib3R0b206MCk6ZCYmKGEueSs9ZC50b3ApO2YmJihlPyhkPWgsZz0wLDY1PT0oZiY2NSkmJihhLng8ZS5sZWZ0fHxhLng+PWUucmlnaHQpJiYoZiY9LTIpLDEzMj09KGYmMTMyKSYmKGEueTxlLnRvcHx8YS55Pj1lLmJvdHRvbSkmJihmJj0tNSksYS54PGUubGVmdCYmZiYxJiYKKGEueD1lLmxlZnQsZ3w9MSksZiYxNiYmKGw9YS54LGEueDxlLmxlZnQmJihhLng9ZS5sZWZ0LGd8PTQpLGEueCtkLndpZHRoPmUucmlnaHQmJihkLndpZHRoPU1hdGgubWluKGUucmlnaHQtYS54LGwrZC53aWR0aC1lLmxlZnQpLGQud2lkdGg9TWF0aC5tYXgoZC53aWR0aCwwKSxnfD00KSksYS54K2Qud2lkdGg+ZS5yaWdodCYmZiYxJiYoYS54PU1hdGgubWF4KGUucmlnaHQtZC53aWR0aCxlLmxlZnQpLGd8PTEpLGYmMiYmKGd8PShhLng8ZS5sZWZ0PzE2OjApfChhLngrZC53aWR0aD5lLnJpZ2h0PzMyOjApKSxhLnk8ZS50b3AmJmYmNCYmKGEueT1lLnRvcCxnfD0yKSxmJjMyJiYobD1hLnksYS55PGUudG9wJiYoYS55PWUudG9wLGd8PTgpLGEueStkLmhlaWdodD5lLmJvdHRvbSYmKGQuaGVpZ2h0PU1hdGgubWluKGUuYm90dG9tLWEueSxsK2QuaGVpZ2h0LWUudG9wKSxkLmhlaWdodD1NYXRoLm1heChkLmhlaWdodCwwKSxnfD04KSksYS55K2QuaGVpZ2h0PmUuYm90dG9tJiZmJjQmJgooYS55PU1hdGgubWF4KGUuYm90dG9tLWQuaGVpZ2h0LGUudG9wKSxnfD0yKSxmJjgmJihnfD0oYS55PGUudG9wPzY0OjApfChhLnkrZC5oZWlnaHQ+ZS5ib3R0b20/MTI4OjApKSxlPWcpOmU9MjU2LGw9ZSk7ZT1uZXcgQnEoMCwwLDAsMCk7ZS5sZWZ0PWEueDtlLnRvcD1hLnk7ZS53aWR0aD1oLndpZHRoO2UuaGVpZ2h0PWguaGVpZ2h0O2E9bDtpZihhJjQ5NilyZXR1cm4gYTtGcShiLG5ldyBSKGUubGVmdCxlLnRvcCkpO2g9bmV3IF8uWWMoZS53aWR0aCxlLmhlaWdodCk7Xy5aYyhjLGgpfHxUcShiLGgsImJvcmRlci1ib3giKTtyZXR1cm4gYX0sd3Y9ZnVuY3Rpb24oYSxiKXtyZXR1cm4oYiY4JiZScShhKT9iXjQ6YikmLTl9O3ZhciB6dj1mdW5jdGlvbihhLGIsYyl7dGhpcy5lbGVtZW50PWE7dGhpcy5qPWI7dGhpcy5sPWN9O18uQih6dix2dik7enYucHJvdG90eXBlLmg9ZnVuY3Rpb24oYSxiLGMpe3l2KHRoaXMuZWxlbWVudCx0aGlzLmosYSxiLHZvaWQgMCxjLHRoaXMubCl9O3ZhciBBdj1mdW5jdGlvbihhLGIpe3RoaXMuZz1hIGluc3RhbmNlb2YgUj9hOm5ldyBSKGEsYil9O18uQihBdix2dik7QXYucHJvdG90eXBlLmg9ZnVuY3Rpb24oYSxiLGMpe3l2KEdxKGEpLDAsYSxiLHRoaXMuZyxjLG51bGwpfTt2YXIgQnY9ZnVuY3Rpb24oYSxiKXt0aGlzLkI9Ynx8dm9pZCAwO3J2LmNhbGwodGhpcyxhKX07Xy5CKEJ2LHJ2KTtCdi5wcm90b3R5cGUuYmI9ZnVuY3Rpb24oKXtpZih0aGlzLkIpe3ZhciBhPSF0aGlzLmlzVmlzaWJsZSgpJiYibW92ZV9vZmZzY3JlZW4iIT10aGlzLkxiLGI9dGhpcy5DKCk7YSYmKGIuc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIixPcShiLCEwKSk7dGhpcy5CLmgoYiw4LHRoaXMuY2kpO2EmJk9xKGIsITEpfX07dmFyIFo9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuVD1jfHwoYT9fLmVkKFQoYSkpOl8uZWQoKSk7QnYuY2FsbCh0aGlzLHRoaXMuVC5TKCJESVYiLHtzdHlsZToicG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpub25lOyJ9KSk7dGhpcy5pYz1uZXcgUigxLDEpO3RoaXMuRj1uZXcgXy52Zjt0aGlzLkc9bnVsbDthJiZ0aGlzLmF0dGFjaChhKTtudWxsIT1iJiZ0aGlzLlBhKGIpfTtfLkIoWixCdik7dmFyIEN2PVtdO18uaz1aLnByb3RvdHlwZTtfLmsudmE9bnVsbDtfLmsuY2xhc3NOYW1lPSJWSXBnSmQtc3VFT2RjIjtfLmsueGc9NTAwO18uay5PZj0wOwpfLmsuYXR0YWNoPWZ1bmN0aW9uKGEpe2E9VChhKTt0aGlzLkYuYWRkKGEpO18uRyhhLCJtb3VzZW92ZXIiLHRoaXMuSmQsITEsdGhpcyk7Xy5HKGEsIm1vdXNlb3V0Iix0aGlzLk1iLCExLHRoaXMpO18uRyhhLCJtb3VzZW1vdmUiLHRoaXMuVGMsITEsdGhpcyk7Xy5HKGEsImZvY3VzIix0aGlzLk9jLCExLHRoaXMpO18uRyhhLCJibHVyIix0aGlzLk1iLCExLHRoaXMpfTt2YXIgRXY9ZnVuY3Rpb24oYSxiKXtpZihiKWI9VChiKSxEdihhLGIpLGEuRi5yZW1vdmUoYik7ZWxzZXtmb3IodmFyIGM9YS5GLkNhKCksZD0wO2I9Y1tkXTtkKyspRHYoYSxiKTthLkYuY2xlYXIoKX19LER2PWZ1bmN0aW9uKGEsYil7Xy5RZChiLCJtb3VzZW92ZXIiLGEuSmQsITEsYSk7Xy5RZChiLCJtb3VzZW91dCIsYS5NYiwhMSxhKTtfLlFkKGIsIm1vdXNlbW92ZSIsYS5UYywhMSxhKTtfLlFkKGIsImZvY3VzIixhLk9jLCExLGEpO18uUWQoYiwiYmx1ciIsYS5NYiwhMSxhKX07CloucHJvdG90eXBlLlBhPWZ1bmN0aW9uKGEpe18ucWQodGhpcy5DKCksYSl9O1oucHJvdG90eXBlLlliPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuQygpO2ImJkVwKGIpO1ouTy5ZYi5jYWxsKHRoaXMsYSk7YT8oYj10aGlzLlQuZy5ib2R5LGIuaW5zZXJ0QmVmb3JlKGEsYi5sYXN0Q2hpbGQpLF8uY2EodGhpcy5HKSx0aGlzLkc9bmV3IHV2KHRoaXMuQygpKSxfLmJrKHRoaXMsdGhpcy5HKSxfLkcodGhpcy5HLCJmb2N1c2luIix0aGlzLk4sdm9pZCAwLHRoaXMpLF8uRyh0aGlzLkcsImZvY3Vzb3V0Iix0aGlzLmpiLHZvaWQgMCx0aGlzKSk6KF8uY2EodGhpcy5HKSx0aGlzLkc9bnVsbCl9O1oucHJvdG90eXBlLkRjPWZ1bmN0aW9uKCl7cmV0dXJuIE5wKHRoaXMuQygpKX07dmFyIEZ2PWZ1bmN0aW9uKGEpe3JldHVybiBhLlA/YS5pc1Zpc2libGUoKT80OjE6YS5kYT8zOmEuaXNWaXNpYmxlKCk/MjowfTsKWi5wcm90b3R5cGUuSWQ9ZnVuY3Rpb24oKXtpZighcnYucHJvdG90eXBlLklkLmNhbGwodGhpcykpcmV0dXJuITE7aWYodGhpcy5nKWZvcih2YXIgYSxiPTA7YT1DdltiXTtiKyspXy5wZChhLkMoKSx0aGlzLmcpfHxhLlooITEpO18uc2EoQ3YsdGhpcyk7YT10aGlzLkMoKTthLmNsYXNzTmFtZT10aGlzLmNsYXNzTmFtZTt0aGlzLk4oKTtfLkcoYSwibW91c2VvdmVyIix0aGlzLmJkLCExLHRoaXMpO18uRyhhLCJtb3VzZW91dCIsdGhpcy5hZCwhMSx0aGlzKTtHdih0aGlzKTtyZXR1cm4hMH07CloucHJvdG90eXBlLnNlPWZ1bmN0aW9uKCl7Xy50YShDdix0aGlzKTtmb3IodmFyIGE9dGhpcy5DKCksYixjPTA7Yj1DdltjXTtjKyspYi5nJiZfLnBkKGEsYi5nKSYmYi5aKCExKTt0aGlzLkJmJiZ0aGlzLkJmLmpiKCk7Xy5RZChhLCJtb3VzZW92ZXIiLHRoaXMuYmQsITEsdGhpcyk7Xy5RZChhLCJtb3VzZW91dCIsdGhpcy5hZCwhMSx0aGlzKTt0aGlzLmc9dm9pZCAwOzA9PUZ2KHRoaXMpJiYodGhpcy5pYj0hMSk7cnYucHJvdG90eXBlLnNlLmNhbGwodGhpcyl9O1oucHJvdG90eXBlLm9lPWZ1bmN0aW9uKGEsYil7dGhpcy5nPT1hJiZ0aGlzLkYuY29udGFpbnModGhpcy5nKSYmKHRoaXMuaWJ8fCF0aGlzLlNsPyh0aGlzLlooITEpLHRoaXMuaXNWaXNpYmxlKCl8fCh0aGlzLmc9YSx0aGlzLkI9Ynx8bmV3IEh2KHhvKHRoaXMuaWMpKSx0aGlzLmlzVmlzaWJsZSgpJiZ0aGlzLmJiKCksdGhpcy5aKCEwKSkpOnRoaXMuZz12b2lkIDApO3RoaXMuUD12b2lkIDB9OwpaLnByb3RvdHlwZS5qaT1mdW5jdGlvbihhKXt0aGlzLmRhPXZvaWQgMDtpZihhPT10aGlzLmcpe2E9dGhpcy5UO3ZhciBiPWEuZzt0cnl7dmFyIGM9YiYmYi5hY3RpdmVFbGVtZW50O3ZhciBkPWMmJmMubm9kZU5hbWU/YzpudWxsfWNhdGNoKGUpe2Q9bnVsbH1kPWQmJnRoaXMuQygpJiZhLmNvbnRhaW5zKHRoaXMuQygpLGQpO251bGwhPXRoaXMudmEmJih0aGlzLnZhPT10aGlzLkMoKXx8dGhpcy5GLmNvbnRhaW5zKHRoaXMudmEpKXx8ZHx8dGhpcy5SYyYmdGhpcy5SYy52YXx8dGhpcy5aKCExKX19O3ZhciBJdj1mdW5jdGlvbihhLGIpe3ZhciBjPUNvKGEuVC5nKTthLmljLng9Yi5jbGllbnRYK2MueDthLmljLnk9Yi5jbGllbnRZK2MueX07Wi5wcm90b3R5cGUuSmQ9ZnVuY3Rpb24oYSl7dmFyIGI9SnYodGhpcyxhLnRhcmdldCk7dGhpcy52YT1iO3RoaXMuTigpO2IhPXRoaXMuZyYmKHRoaXMuZz1iLEt2KHRoaXMsYiksTHYodGhpcyksSXYodGhpcyxhKSl9Owp2YXIgSnY9ZnVuY3Rpb24oYSxiKXt0cnl7Zm9yKDtiJiYhYS5GLmNvbnRhaW5zKGIpOyliPWIucGFyZW50Tm9kZTtyZXR1cm4gYn1jYXRjaChjKXtyZXR1cm4gbnVsbH19O1oucHJvdG90eXBlLlRjPWZ1bmN0aW9uKGEpe0l2KHRoaXMsYSk7dGhpcy5pYj0hMH07Wi5wcm90b3R5cGUuT2M9ZnVuY3Rpb24oYSl7dGhpcy52YT1hPUp2KHRoaXMsYS50YXJnZXQpO3RoaXMuaWI9ITA7aWYodGhpcy5nIT1hKXt0aGlzLmc9YTt2YXIgYj1uZXcgTXYodGhpcy52YSk7dGhpcy5OKCk7S3YodGhpcyxhLGIpO0x2KHRoaXMpfX07dmFyIEx2PWZ1bmN0aW9uKGEpe2lmKGEuZylmb3IodmFyIGIsYz0wO2I9Q3ZbY107YysrKV8ucGQoYi5DKCksYS5nKSYmKGIuUmM9YSxhLkJmPWIpfTsKWi5wcm90b3R5cGUuTWI9ZnVuY3Rpb24oYSl7dmFyIGI9SnYodGhpcyxhLnRhcmdldCksYz1Kdih0aGlzLGEucmVsYXRlZFRhcmdldCk7YiE9YyYmKGI9PXRoaXMudmEmJih0aGlzLnZhPW51bGwpLEd2KHRoaXMpLHRoaXMuaWI9ITEsIXRoaXMuaXNWaXNpYmxlKCl8fGEucmVsYXRlZFRhcmdldCYmXy5wZCh0aGlzLkMoKSxhLnJlbGF0ZWRUYXJnZXQpP3RoaXMuZz12b2lkIDA6dGhpcy5qYigpKX07Wi5wcm90b3R5cGUuYmQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLkMoKTt0aGlzLnZhIT1hJiYodGhpcy5OKCksdGhpcy52YT1hKX07Wi5wcm90b3R5cGUuYWQ9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5DKCk7dGhpcy52YSE9Ynx8YS5yZWxhdGVkVGFyZ2V0JiZfLnBkKGIsYS5yZWxhdGVkVGFyZ2V0KXx8KHRoaXMudmE9bnVsbCx0aGlzLmpiKCkpfTsKdmFyIEt2PWZ1bmN0aW9uKGEsYixjKXthLlB8fChhLlA9Xy5aZygoMCxfLkEpKGEub2UsYSxiLGMpLGEueGcpKX0sR3Y9ZnVuY3Rpb24oYSl7YS5QJiYoXy50LmNsZWFyVGltZW91dChhLlApLGEuUD12b2lkIDApfTtaLnByb3RvdHlwZS5qYj1mdW5jdGlvbigpezI9PUZ2KHRoaXMpJiYodGhpcy5kYT1fLlpnKCgwLF8uQSkodGhpcy5qaSx0aGlzLHRoaXMuZyksdGhpcy5PZikpfTtaLnByb3RvdHlwZS5OPWZ1bmN0aW9uKCl7dGhpcy5kYSYmKF8udC5jbGVhclRpbWVvdXQodGhpcy5kYSksdGhpcy5kYT12b2lkIDApfTtaLnByb3RvdHlwZS5KPWZ1bmN0aW9uKCl7dGhpcy5aKCExKTtHdih0aGlzKTtFdih0aGlzKTt0aGlzLkMoKSYmRXAodGhpcy5DKCkpO3RoaXMudmE9bnVsbDtkZWxldGUgdGhpcy5UO1ouTy5KLmNhbGwodGhpcyl9O3ZhciBIdj1mdW5jdGlvbihhLGIpe0F2LmNhbGwodGhpcyxhLGIpfTtfLkIoSHYsQXYpOwpIdi5wcm90b3R5cGUuaD1mdW5jdGlvbihhLGIsYyl7Yj1HcShhKTtiPUtxKGIpO2M9Yz9uZXcgQXEoYy50b3ArMTAsYy5yaWdodCxjLmJvdHRvbSxjLmxlZnQrMTApOm5ldyBBcSgxMCwwLDAsMTApO3h2KHRoaXMuZyxhLDgsYyxiLDkpJjQ5NiYmeHYodGhpcy5nLGEsOCxjLGIsNSl9O3ZhciBNdj1mdW5jdGlvbihhKXt6di5jYWxsKHRoaXMsYSw1KX07Xy5CKE12LHp2KTtNdi5wcm90b3R5cGUuaD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9bmV3IFIoMTAsMCk7eXYodGhpcy5lbGVtZW50LHRoaXMuaixhLGIsZCxjLDkpJjQ5NiYmeXYodGhpcy5lbGVtZW50LDQsYSwxLGQsYyw1KX07dmFyIE52PWZ1bmN0aW9uKCl7Wi5jYWxsKHRoaXMpO3RoaXMuVz17fTt0aGlzLndiPXt9O3RoaXMuSD1udWxsO3RoaXMuUWM9ITE7dGhpcy5oYz10aGlzLmg9dGhpcy5NPW51bGw7dGhpcy5hYT17fTt0aGlzLnM9bmV3IF8uSSh0aGlzKTt0aGlzLkQ9dGhpcy5qPXRoaXMubz10aGlzLmtiPXRoaXMubD10aGlzLlU9dGhpcy5yYT1udWxsO3RoaXMuSz0hMDt0aGlzLmxiPVtdfTtfLnooTnYsWik7Xy5rPU52LnByb3RvdHlwZTsKXy5rLnlhPWZ1bmN0aW9uKCl7dGhpcy5LPSExO3ZhciBhPV8uS2YudGVzdChtcik/InJ0bCI6Imx0ciI7dGhpcy5ZYihJbihsdCx7VWw6Imh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2ltYWdlcy9icmFuZGluZy9wcm9kdWN0LzF4L3RyYW5zbGF0ZV8yNGRwLnBuZyIsVGs6Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vaW1hZ2VzL2NsZWFyZG90LmdpZiIsUmw6d3IsZGlyOmEsbmo6Q3J9KSk7dGhpcy5jbGFzc05hbWUrPSIgVklwZ0pkLXlBV05FYi1MN2xia2Igc2tpcHRyYW5zbGF0ZSI7dGhpcy5DKCkmJnRoaXMuSCYmdGhpcy5rYiYmdGhpcy5vLkMoKSYmdGhpcy5NJiZ0aGlzLkQmJih0aGlzLnMuSSh3aW5kb3csInJlc2l6ZSIsKDAsXy5BKSh0aGlzLmJiLHRoaXMpKSx0aGlzLnMuSSh0aGlzLCJoaWRlIiwoMCxfLkEpKHRoaXMuTWksdGhpcykpLHRoaXMubGIubGVuZ3RoJiYodGhpcy5mZi5hcHBseSh0aGlzLHRoaXMubGIpLHRoaXMubGI9W10pKX07Cl8uay5mZj1mdW5jdGlvbihhKXtmb3IodmFyIGI9W10sYz0wO2M8YXJndW1lbnRzLmxlbmd0aDsrK2Mpe3ZhciBkPWFyZ3VtZW50c1tjXTtpZihkKWlmKHRoaXMuSHx8ZC5rZCl7dmFyIGU9QnAoIlNQQU4iLHsiY2xhc3MiOmQuY2xhc3NOYW1lfHwiVklwZ0pkLXlBV05FYi1aMEFycWYtaFNSR1BkIn0pO18ucWQoZSxkLmxlfHwiIik7Yi5wdXNoKGUpO0NwKGQua2R8fHRoaXMuSCxlKTtpZihkLnJkJiZkLlNiKXt2YXIgZj0oMCxfLkEpKHRoaXMuRmgsdGhpcyxkKTt0aGlzLnMuSShlLCJjbGljayIsZik7ZC5qZCYmdGhpcy5zLkkodGhpcy5NLGQuamQsZil9ZC5pZD1kLmlkfHxkLk1hKCk7dGhpcy5XW2QuaWRdJiZ0aGlzLnFnKGQpO3RoaXMuV1tkLmlkXT1kO3RoaXMud2JbZC5pZF09ZX1lbHNlIHRoaXMubGIucHVzaChkKX1yZXR1cm4gYn07Cl8uay5xZz1mdW5jdGlvbihhKXtmb3IodmFyIGI9MDtiPGFyZ3VtZW50cy5sZW5ndGg7KytiKXt2YXIgYz0ic3RyaW5nIj09PXR5cGVvZiBhcmd1bWVudHNbYl18fGFyZ3VtZW50c1tiXWluc3RhbmNlb2YgU3RyaW5nP2FyZ3VtZW50c1tiXTphcmd1bWVudHNbYl0uaWQsZD10aGlzLldbY10sZT10aGlzLndiW2NdO2QmJmUmJih0aGlzLmgmJnRoaXMuaC5pZD09PWMmJnRoaXMuVWQoKSx0aGlzLnMuUmEoZCxbInN1Ym1pdHRlZCIsImNhbmNlbGxlZCJdKSxkLlIoKSx0aGlzLmFhW2NdJiZkZWxldGUgdGhpcy5hYVtjXSxkZWxldGUgdGhpcy5XW2NdLGRlbGV0ZSB0aGlzLndiW2NdLEVwKGUpKX19OwpfLmsuRmg9ZnVuY3Rpb24oYSl7aWYodGhpcy5NKXthIT10aGlzLmgmJnRoaXMuaCYmKHRoaXMuby5jbGVhcigpLHRoaXMuaC5TYi5jYWxsKHRoaXMuaCksdGhpcy5oLkMoKSYmKHRoaXMuaC5DKCkuc3R5bGUuZGlzcGxheT0ibm9uZSIpLE92KHRoaXMsITEpLHRoaXMuaD1udWxsKTtPdih0aGlzLCEwKTt0aGlzLm8uY2xlYXIoKTt0aGlzLmg9YTtpZih0aGlzLmFhW2EuaWRdKXt2YXIgYj10aGlzLmFhW2EuaWRdO3ZhciBjPWEuQmN9ZWxzZSBhLnlhKCksYj1hLkMoKSxjPWEucmQsdGhpcy5zLkkoYSxbInN1Ym1pdHRlZCIsImNhbmNlbGxlZCJdLCgwLF8uQSkodGhpcy5VZCx0aGlzKSksYS5UZCYmKHRoaXMuYWFbYS5pZF09Yik7Q3AodGhpcy5NLGIpO2MuY2FsbChhLHRoaXMpO2E9bmV3IG52KGIsMTAwKTt0aGlzLnMucWIoYSwiZmluaXNoIiwoMCxfLkEpKHRoaXMuYmIsdGhpcywhMCwhMCkpO2EucGxheSgpfX07Cl8uay5VZD1mdW5jdGlvbigpe2lmKHRoaXMuaClpZih0aGlzLm8uY2xlYXIoKSx0aGlzLmguU2IuY2FsbCh0aGlzLmgpLHRoaXMuaC5DKCkpe3ZhciBhPW5ldyBtdih0aGlzLmguQygpLDEwMCk7dGhpcy5zLnFiKGEsImZpbmlzaCIsKDAsXy5BKShmdW5jdGlvbigpe0VwKHRoaXMuaC5DKCkpO3RoaXMuaD1udWxsO092KHRoaXMsITEpO3RoaXMuby5nZXRNZXNzYWdlKCkmJihxdih0aGlzLm8pLHRoaXMuYmIoITAsITApKX0sdGhpcykpO2EucGxheSgpfWVsc2UgT3YodGhpcywhMSksdGhpcy5oPW51bGx9O18uay5vZT1mdW5jdGlvbihhLGIpe3RoaXMuaGM9YTtaLnByb3RvdHlwZS5vZS5jYWxsKHRoaXMsYSxiKTt0aGlzLkMoKS5zdHlsZS5kaXNwbGF5PSJibG9jayJ9OwpfLmsuSmQ9ZnVuY3Rpb24oYSl7aWYoIXRoaXMuSyl7dmFyIGI9SnYodGhpcyxhLnRhcmdldCk7dGhpcy52YT1iO3RoaXMuTigpO2IhPXRoaXMuZz8odGhpcy5nPWIsS3YodGhpcyxiKSxMdih0aGlzKSxJdih0aGlzLGEpKTpLdih0aGlzLGIpfX07Xy5rLk1pPWZ1bmN0aW9uKCl7dGhpcy5vLmNsZWFyKCk7dGhpcy5RYyYmdGhpcy5VZCgpfTtfLmsuSj1mdW5jdGlvbigpe2Zvcih2YXIgYSBpbiB0aGlzLlcpdGhpcy5xZyhhKTt0aGlzLnMmJnRoaXMucy5SKCk7dGhpcy5zPW51bGw7dGhpcy5vJiZ0aGlzLm8uUigpO3RoaXMuRD10aGlzLmtiPXRoaXMuaGM9dGhpcy5NPXRoaXMuSD10aGlzLm89bnVsbDtaLnByb3RvdHlwZS5KLmNhbGwodGhpcyl9Owp2YXIgT3Y9ZnVuY3Rpb24oYSxiKXthLlFjPWI7YS5LPWI7aWYoYS5LKXt2YXIgYz1hLkMoKTthLnJhPW5ldyBSKGMub2Zmc2V0TGVmdCxjLm9mZnNldFRvcCl9ZWxzZSBhLnJhJiYobnVsbCE9KGEuQnx8bnVsbCkmJigoYS5CfHxudWxsKS5nPWEucmEpLEZxKGEuQygpLGEucmEpLGEucmE9bnVsbCk7YS5ILnN0eWxlLmRpc3BsYXk9Yj8ibm9uZSI6ImlubGluZS1ibG9jayI7YS5rYi5zdHlsZS5kaXNwbGF5PWI/ImlubGluZS1ibG9jayI6Im5vbmUifTtfLms9TnYucHJvdG90eXBlO18uay52Yz1mdW5jdGlvbihhKXtpZih0aGlzLmlzVmlzaWJsZSgpKXthPSh0aGlzLmZjPWEpP3RoaXMuQS5JOnRoaXMuQS5SYTt2YXIgYj1fLmRkKHRoaXMuQygpKTthLmNhbGwodGhpcy5BLGIsIm1vdXNlZG93biIsdGhpcy5xZSwhMCl9ZWxzZSBaLnByb3RvdHlwZS52Yy5jYWxsKHRoaXMsYSl9OwpfLmsuWWI9ZnVuY3Rpb24oYSl7Wi5wcm90b3R5cGUuWWIuY2FsbCh0aGlzLGEpO2lmKGEpe3RoaXMuSD1BbygiVklwZ0pkLXlBV05FYi1aMEFycWYtUExEYmJmIixhKTt2YXIgYj1BbygiVklwZ0pkLXlBV05FYi1qT2ZrTWItTmUzc0ZmIixhKTtiJiYodGhpcy5vPW5ldyBvdix0dCh0aGlzLm8sYikpO3RoaXMua2I9QW8oIlZJcGdKZC15QVdORWItZnc0MlplLVowQXJxZi1oYUFjbGYiLGEpO3RoaXMuTT1BbygiVklwZ0pkLXlBV05FYi1aMEFycWYtSDl0RHQiLGEpO3RoaXMuRD1BbygiVklwZ0pkLXlBV05FYi1uVk1mY2QtZm1jbVMiLGEpfX07Cl8uay5iYj1mdW5jdGlvbihhLGIpe3ZhciBjPUpxKGRvY3VtZW50LmJvZHkpLnk7aWYodGhpcy5CKXsodGhpcy5CfHxudWxsKS5nLnkrPWM7Wi5wcm90b3R5cGUuYmIuY2FsbCh0aGlzKTt2YXIgZD1wYXJzZUludCh0aGlzLkMoKS5zdHlsZS5sZWZ0LDEwKTthPXBhcnNlSW50KHRoaXMuQygpLnN0eWxlLnRvcCwxMCktKGE/MDpjKTtiJiYoYj10aGlzLmNpfHx7fSxhLT1iLnRvcHx8MTAsZC09Yi5sZWZ0fHwxMCk7YS09YzsodGhpcy5CfHxudWxsKS5nLnk9YTsodGhpcy5CfHxudWxsKS5nLng9ZDtjPW5ldyBSKGQsYSk7RnEodGhpcy5DKCksYyl9fTtfLmsuWj1mdW5jdGlvbihhKXtaLnByb3RvdHlwZS5aLmNhbGwodGhpcyxhKX07Xy5rLmFiPWZ1bmN0aW9uKGEpe3RoaXMubD1hfTtfLmsuaWE9ZnVuY3Rpb24oYSl7dGhpcy5qPWF9O18uay5QYT1mdW5jdGlvbihhKXthPWE/KDAsXy5tYykoYSk6IiI7dGhpcy5EP18ucWQodGhpcy5ELGEpOloucHJvdG90eXBlLlBhLmNhbGwodGhpcyxhKX07Cl8uay5LYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmx9O18uay5OYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm99O18uay5mYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmp9O18uay5EYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLkQ/TnAodGhpcy5EKTpaLnByb3RvdHlwZS5EYy5jYWxsKHRoaXMpfTtfLmsuTWI9ZnVuY3Rpb24oYSl7dGhpcy5LfHxaLnByb3RvdHlwZS5NYi5jYWxsKHRoaXMsYSl9O18uay5iZD1mdW5jdGlvbihhKXt0aGlzLkt8fFoucHJvdG90eXBlLmJkLmNhbGwodGhpcyxhKX07Xy5rLmFkPWZ1bmN0aW9uKGEpe3RoaXMuS3x8Wi5wcm90b3R5cGUuYWQuY2FsbCh0aGlzLGEpfTt2YXIgUHY9ZnVuY3Rpb24oKXt0aGlzLmg9bmV3IE1hcDt0aGlzLmc9T3IoVnIpfSxUdj1mdW5jdGlvbihhKXt2YXIgYj1UKCJnb29nLWd0LXRodW1iVXBCdXR0b24iKSxjPWEuaCxkPWEuZztiLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe2lmKFF2KGMpPT09UnYpWnIoZCk7ZWxzZXt2YXIgZT1XcihkLDUpO1hyKGQsZSk7WXIoZSw1KX1TdihjLFJ2KX0sITEpfSxWdj1mdW5jdGlvbihhKXt2YXIgYj1UKCJnb29nLWd0LXRodW1iRG93bkJ1dHRvbiIpLGM9YS5oLGQ9YS5nO2IuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7aWYoUXYoYyk9PT1VdilacihkKTtlbHNle3ZhciBlPVdyKGQsNik7WHIoZCxlKTtZcihlLDYpfVN2KGMsVXYpfSwhMSl9LFl2PWZ1bmN0aW9uKGEpe3ZhciBiPVQoImdvb2ctZ3QtdHQiKSxjPWIuZGF0YXNldCxkPVQoImdvb2ctZ3Qtdm90aW5nSW5wdXRTcmNMYW5nIiksZT1UKCJnb29nLWd0LXZvdGluZ0lucHV0VHJnTGFuZyIpLApmPVQoImdvb2ctZ3Qtdm90aW5nSW5wdXRTcmNUZXh0IiksZz1UKCJnb29nLWd0LXZvdGluZ0lucHV0VHJnVGV4dCIpLGg9QW8oIlZJcGdKZC15QVdORWItblZNZmNkLWZtY21TIiksbD1UKCJnb29nLWd0LXRyYW5zbGF0aW9uIiksbT1hLmgsbj1hLmc7d2luZG93LmRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcigiZ29vZy1ndC1wb3B1cFNob3duIixmdW5jdGlvbihxKXt2YXIgcj1XcihuLDQpO1hyKG4scik7WXIociw0KTtxPXEuZGV0YWlsO3I9U3RyaW5nKHEuSmMpO3E9cS5najtjLmlkPXI7cj1tLmdldChyKXx8V3Y7WHYocik7Yi5zdHlsZS53aWR0aD1NYXRoLm1heChNYXRoLm1pbih3aW5kb3cuaW5uZXJXaWR0aC0xNiw1MzYpLDI4OCkrInB4IjtyPXEuS2EoKXx8IiI7dmFyIHA9cS5mYSgpfHwiIjtkLnZhbHVlPXI7ZS52YWx1ZT1wO2YudmFsdWU9cS5EYygpO2cudmFsdWU9cS5VO2wmJihsLmlubmVyVGV4dD1xLlUpO2IubGFuZz1tcjtoLmxhbmc9cjtsJiYobC5sYW5nPXApOwpfLktmLnRlc3QocikmJihoLmNsYXNzTGlzdC5hZGQoInJ0bCIpLGguZGlyPSJydGwiKTtsJiZfLktmLnRlc3QocCkmJihsLmNsYXNzTGlzdC5hZGQoInJ0bCIpLGwuZGlyPSJydGwiKX0sITEpfSxYdj1mdW5jdGlvbihhKXt2YXIgYj1UKCJnb29nLWd0LXRodW1iVXBCdXR0b24iKSxjPVQoImdvb2ctZ3QtdGh1bWJVcEljb24iKSxkPVQoImdvb2ctZ3QtdGh1bWJVcEljb25GaWxsZWQiKSxlPVQoImdvb2ctZ3QtdGh1bWJEb3duQnV0dG9uIiksZj1UKCJnb29nLWd0LXRodW1iRG93bkljb24iKSxnPVQoImdvb2ctZ3QtdGh1bWJEb3duSWNvbkZpbGxlZCIpO2Iuc2V0QXR0cmlidXRlKCJhcmlhLXByZXNzZWQiLCJmYWxzZSIpO2Muc3R5bGUuZGlzcGxheT0iIjtkLnN0eWxlLmRpc3BsYXk9Im5vbmUiO2Uuc2V0QXR0cmlidXRlKCJhcmlhLXByZXNzZWQiLCJmYWxzZSIpO2Yuc3R5bGUuZGlzcGxheT0iIjtnLnN0eWxlLmRpc3BsYXk9Im5vbmUiO3N3aXRjaChhKXtjYXNlIFJ2OmIuc2V0QXR0cmlidXRlKCJhcmlhLXByZXNzZWQiLAoidHJ1ZSIpO2Muc3R5bGUuZGlzcGxheT0ibm9uZSI7ZC5zdHlsZS5kaXNwbGF5PSIiO2JyZWFrO2Nhc2UgVXY6ZS5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsInRydWUiKSxmLnN0eWxlLmRpc3BsYXk9Im5vbmUiLGcuc3R5bGUuZGlzcGxheT0iIn1UKCJnb29nLWd0LXZvdGluZ0lucHV0Vm90ZSIpLnZhbHVlPWF9LFF2PWZ1bmN0aW9uKGEpe3ZhciBiPVQoImdvb2ctZ3QtdHQiKS5kYXRhc2V0O3JldHVybiBhLmdldChiLmlkKX0sU3Y9ZnVuY3Rpb24oYSxiKXtRdihhKT09PWImJihiPVd2KTtYdihiKTt2YXIgYz1UKCJnb29nLWd0LXR0IikuZGF0YXNldDthLnNldChjLmlkLGIpO1QoImdvb2ctZ3Qtdm90aW5nRm9ybSIpLnN1Ym1pdCgpfSxXdj0oMCkudG9TdHJpbmcoKSxSdj0oMSkudG9TdHJpbmcoKSxVdj0oMikudG9TdHJpbmcoKTt2YXIgWnY9e3NldDpmdW5jdGlvbihhLGIpe2EuY2xhc3NOYW1lPWJ9LGdldDpmdW5jdGlvbihhKXthPWEuY2xhc3NOYW1lO3JldHVybiJzdHJpbmciPT09dHlwZW9mIGEmJmEubWF0Y2goL1xTKy9nKXx8W119LGFkZDpmdW5jdGlvbihhLGIpe3ZhciBjPVp2LmdldChhKSxkPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxlPWMubGVuZ3RoK2QubGVuZ3RoO1p2LmdmKGMsZCk7WnYuc2V0KGEsYy5qb2luKCIgIikpO3JldHVybiBjLmxlbmd0aD09ZX0scmVtb3ZlOmZ1bmN0aW9uKGEsYil7dmFyIGM9WnYuZ2V0KGEpLGQ9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpLGU9WnYueWYoYyxkKTtadi5zZXQoYSxlLmpvaW4oIiAiKSk7cmV0dXJuIGUubGVuZ3RoPT1jLmxlbmd0aC1kLmxlbmd0aH0sZ2Y6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MDtjPGIubGVuZ3RoO2MrKylfLnUoYSxiW2NdKXx8YS5wdXNoKGJbY10pfSx5ZjpmdW5jdGlvbihhLApiKXtyZXR1cm4gYS5maWx0ZXIoZnVuY3Rpb24oYyl7cmV0dXJuIV8udShiLGMpfSl9LGdtOmZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9WnYuZ2V0KGEpLGU9ITEsZj0wO2Y8ZC5sZW5ndGg7ZisrKWRbZl09PWImJihkLnNwbGljZShmLS0sMSksZT0hMCk7ZSYmKGQucHVzaChjKSxadi5zZXQoYSxkLmpvaW4oIiAiKSkpO3JldHVybiBlfSxRazpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9WnYuZ2V0KGEpOyJzdHJpbmciPT09dHlwZW9mIGI/Xy50YShkLGIpOkFycmF5LmlzQXJyYXkoYikmJihkPVp2LnlmKGQsYikpOyJzdHJpbmciIT09dHlwZW9mIGN8fF8udShkLGMpP0FycmF5LmlzQXJyYXkoYykmJlp2LmdmKGQsYyk6ZC5wdXNoKGMpO1p2LnNldChhLGQuam9pbigiICIpKX0saGFzOmZ1bmN0aW9uKGEsYil7cmV0dXJuIF8udShadi5nZXQoYSksYil9LGVuYWJsZTpmdW5jdGlvbihhLGIsYyl7Yz9adi5hZGQoYSxiKTpadi5yZW1vdmUoYSxiKX0sdG9nZ2xlOmZ1bmN0aW9uKGEsYil7dmFyIGM9CiFadi5oYXMoYSxiKTtadi5lbmFibGUoYSxiLGMpO3JldHVybiBjfX07dmFyICR2PWZ1bmN0aW9uKGEsYil7VnUuY2FsbCh0aGlzLGEpO2I9Ynx8e307dGhpcy5nPXthcGlLZXk6Yi5hcGlLZXl8fCIiLEJiOmIuQmJ8fDF9O3RoaXMuaD1udWxsfTtfLnooJHYsVnUpO18uaz0kdi5wcm90b3R5cGU7Xy5rLmF0dGFjaD1mdW5jdGlvbihhLGIpe2ImJihiLkpjPWEsdGhpcy5oLmF0dGFjaChiKSl9O18uay5ZZT1mdW5jdGlvbihhKXthJiZFdih0aGlzLmgsYSl9O18uay5LZz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuaC5oYztpZihhJiZ2b2lkIDAhPT1hLkpjKXt2YXIgYj1hLkpjO2E9dGhpcy5vLmpbYl07V3UodGhpcyx0aGlzLmwsITEpO3RoaXMubD1iO1d1KHRoaXMsYik7dGhpcy5oLmFiKGEuYWopO3RoaXMuaC5pYShhLmNqKTt2YXIgYz1hLlk7dGhpcy5oLlU9YyYmKDAsXy5tYykoYyk7dGhpcy5oLlBhKGEudGV4dCl9Yj1uZXcgQ3VzdG9tRXZlbnQoImdvb2ctZ3QtcG9wdXBTaG93biIse2RldGFpbDp7SmM6Yixnajp0aGlzLmh9fSk7d2luZG93LmRvY3VtZW50LmJvZHkuZGlzcGF0Y2hFdmVudChiKX07Cl8uay5KZz1mdW5jdGlvbigpe1d1KHRoaXMsdGhpcy5sLCExKX07Xy5rLktpPWZ1bmN0aW9uKCl7dGhpcy5vLmpbdGhpcy5sXS5zaC5kaXNwYXRjaEV2ZW50KCJ1cGRhdGluZyIpfTtfLmsuSj1mdW5jdGlvbigpe3RoaXMuaC5SKCk7dGhpcy5oPW51bGw7VnUucHJvdG90eXBlLkouY2FsbCh0aGlzKX07Xy5rLlBmPWZ1bmN0aW9uKGEsYil7WnZbYj8iYWRkIjoicmVtb3ZlIl0oYSwiVklwZ0pkLXlBV05FYi1WSXBnSmQtZm1jbVMtc241NFEiKX07dmFyIGF3PWZ1bmN0aW9uKGEpe3RoaXMucz1hO3RoaXMubD10aGlzLmg9dGhpcy5vPXRoaXMuaj0tMTt0aGlzLmc9ITE7dGhpcy5GPTA7dGhpcy5EPSIiO3RoaXMuQT0wfTthdy5wcm90b3R5cGUuc3RhcnQ9ZnVuY3Rpb24oKXtpZighdGhpcy5nKXt0aGlzLmc9ITA7dmFyIGE9W10sYjtmb3IoYj0wOzE1PmI7YisrKWFbYl09UHJbMHw2MipNYXRoLnJhbmRvbSgpXTt0aGlzLkQ9YS5qb2luKCIiKTt0aGlzLkY9MDt0aGlzLmw9dGhpcy5oPXRoaXMubz10aGlzLmo9LTE7dGhpcy5BPV8uS2IoKTtfLlpnKHRoaXMuQiwxRTQsdGhpcyl9fTthdy5wcm90b3R5cGUuc3RvcD1mdW5jdGlvbigpe3RoaXMuZyYmKHRoaXMuZz0hMSxidyh0aGlzKSl9O2F3LnByb3RvdHlwZS5CPWZ1bmN0aW9uKCl7dGhpcy5nJiYoYncodGhpcyksXy5aZyh0aGlzLkIsMUUzLHRoaXMpKX07CnZhciBidz1mdW5jdGlvbihhKXt2YXIgYj1hLnMubCxjPWEucy5zLGQ9YS5zLmosZT1hLnMubztpZihhLmohPWJ8fGEubyE9Y3x8YS5oIT1kfHxhLmwhPWUpe3ZhciBmPXt9O2YuY3Q9YjtmLmN2PWM7Zi5jdHM9ZDtmLmN2cz1lO2Yuc2lkPWEuRDtmLnNlcT1hLkYrKztmLnRhdD1fLktiKCktYS5BO2lmKDA8PWEuanx8MDw9YS5vfHwwPD1hLmh8fDA8PWEubClmLnB0PWEuaixmLnB2PWEubyxmLnB0cz1hLmgsZi5wdnM9YS5sO2pvKCJ0ZV92IixmKTthLmo9YjthLm89YzthLmg9ZDthLmw9ZX19O3ZhciBjdz1mdW5jdGlvbigpe3RoaXMubz10aGlzLmo9dGhpcy5zPXRoaXMubD0wO3RoaXMuZz1bXTt0aGlzLmg9bnVsbCE9Xy50LkludGVyc2VjdGlvbk9ic2VydmVyP25ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoMCxfLkEpKHRoaXMuQSx0aGlzKSk6bnVsbH07Y3cucHJvdG90eXBlLmF0dGFjaD1mdW5jdGlvbihhLGIpe3RoaXMuais9Yjt2YXIgYz10aGlzLmcubGVuZ3RoO3RoaXMuZy5wdXNoKGIpO2ZvcihiPTA7YjxhLmxlbmd0aDsrK2Ipe3ZhciBkPWFbYl07RnAoZCk/KGRbZHddPWMsdGhpcy5sKz1OcChkKS5sZW5ndGgsdGhpcy5oJiZ0aGlzLmgub2JzZXJ2ZShkKSk6dGhpcy5VZihkLm5vZGVUeXBlKX19O2N3LnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMubz10aGlzLmo9dGhpcy5zPXRoaXMubD0wO3RoaXMuZz1bXX07CmN3LnByb3RvdHlwZS5BPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7YisrKXt2YXIgYz1hW2JdO2lmKDA8Yy5pbnRlcnNlY3Rpb25SYXRpbyYmbnVsbCE9Yy50YXJnZXRbZHddKXt0aGlzLnMrPU5wKGMudGFyZ2V0KS5sZW5ndGg7dmFyIGQ9Yy50YXJnZXRbZHddO3RoaXMubys9dGhpcy5nW2RdO3RoaXMuZ1tkXT0wO2RlbGV0ZSBjLnRhcmdldFtkd119fX07dnMuYXR0YWNoKDM2NTQ2LGN3LnByb3RvdHlwZSx7VWY6MX0pO3ZhciBkdz0iX2d0XyIrTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIpO3ZhciBldz1mdW5jdGlvbihhLGIpe18uRC5jYWxsKHRoaXMpO2E9YXx8e307dGhpcy5nPXNuKGEpO3RoaXMuZy5CYj1hLkJiO3RoaXMuZy5MZT0hIWEuTGU7dGhpcy5nLmxoPXBhcnNlSW50KGEubGgsMTApfHwzMDA7dGhpcy5nLlFpPWEuUWk7dGhpcy5nLnRyYWNrVmlzaWJpbGl0eT1hLnRyYWNrVmlzaWJpbGl0eXx8ITE7dGhpcy5BPTA7dGhpcy5qPXt9O3RoaXMucz1uZXcgXy5JKHRoaXMpO3RoaXMubD1uZXcgJHYodGhpcyx0aGlzLmcpO2ImJih0aGlzLmwucz1ifHx7fSk7YT10aGlzLmw7YS5oPW5ldyBOdih7Wmk6YS5nLlppfSk7YS5oLk9mPTMwMDthLmgueGc9MUUzO2EuaC52YyghMCk7YS5qLkkoYS5oLCJzaG93IiwoMCxfLkEpKGEuS2csYSkpO2Euai5JKGEuaCwiaGlkZSIsKDAsXy5BKShhLkpnLGEpKTthLmcuQmImJiJ0ZV9jbCIhPXNyJiYoYj1uZXcgVXUoe2lkOiJjb250cmlidXRlIixsZTpXLkZnLGpkOiJkYmxjbGljayIsVGQ6ITB9LGEucyksYS5oLmZmKGIpLGEuai5JKGIsCiJzdWJtaXR0ZWQiLCgwLF8uQSkoYS5LaSxhKSkpO2EuaC55YSgpO2E9bmV3IFB2O1QoImdvb2ctZ3QtdGh1bWJVcEJ1dHRvbiIpJiYoVHYoYSksVnYoYSksWXYoYSkpO3RoaXMubz10aGlzLmg9bnVsbDt0aGlzLmcudHJhY2tWaXNpYmlsaXR5JiZudWxsIT1fLnQuSW50ZXJzZWN0aW9uT2JzZXJ2ZXImJih0aGlzLmg9bmV3IGN3LHRoaXMubz1uZXcgYXcodGhpcy5oKSl9O18ueihldyxfLkQpO3ZhciBmdz1mdW5jdGlvbihhKXthLm8mJmEuby5zdG9wKCk7Zm9yKHZhciBiIGluIGEuail7dmFyIGM9YSxkPWIsZT1jLmpbZF07aWYoZSl7aWYoYy5oKWZvcih2YXIgZj1jLmgsZz1lLnhhLGg9MDtoPGcubGVuZ3RoOysraCl7dmFyIGw9ZixtPWdbaF07RnAobSk/KG1bZHddPXZvaWQgMCxsLmgmJmwuaC51bm9ic2VydmUobSkpOmwuVWYobS5ub2RlVHlwZSl9Zm9yKGY9MDtmPGUueGEubGVuZ3RoOysrZillLnhhW2ZdJiZjLmwuWWUoZS54YVtmXSk7ZGVsZXRlIGMualtkXX19YS5oJiZhLmgucmVzZXQoKX07CmV3LnByb3RvdHlwZS5KPWZ1bmN0aW9uKCl7ZncodGhpcyk7dGhpcy5zLlIoKTt0aGlzLnM9bnVsbDt0aGlzLmwuUigpO3RoaXMubD1udWxsfTt2YXIgZ3c9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTA7YjxhLmxlbmd0aDsrK2IpaWYoYVtiXSYmYVtiXS5ub2RlKXJldHVybiBhW2JdLm5vZGU7cmV0dXJuIG51bGx9LGt3PWZ1bmN0aW9uKGEpe3ZhciBiPWd3KGEpO2lmKCFiKXJldHVybiBudWxsO3ZhciBjPVtdLGQ9W10sZT1bXTtiPW5ldyBXcyhiLCEwKTt2YXIgZj1hW2EubGVuZ3RoLTFdLm5vZGUsZz0wLGg9ITE7ZG97Yi5uZXh0KCk7dmFyIGw9Yi5ub2RlKCk7aWYoIWwpYnJlYWs7dmFyIG09Yi5nLmcsbj1iLmcuaDtmb3IoMT09bSYmLS1uO2c8YS5sZW5ndGgmJiFhW2ddLm5vZGU7KSsrZztsPT1hW2ddLm5vZGV8fCFoJiYxPT1tJiYobnVsbCE9bCYmbnVsbD09bC5wcmV2aW91c1NpYmxpbmc/MDohaHcoaXcobCkpKT8obT1qdyhsKSxkLnB1c2goe25vZGU6bSxQYTpmdW5jdGlvbigpe319KSxlW2QubGVuZ3RoLTFdPW4sbC5wYXJlbnROb2RlJiZsLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKG0sbCksbD09YVtnXS5ub2RlJiYoY1tnKytdPQpkLmxlbmd0aC0xLGg9ITApKTpoPSExfXdoaWxlKGwhPWYpO3JldHVybntRZTplLE5pOmMsZGk6ZH19LGh3PWZ1bmN0aW9uKGEpe3JldHVybiBudWxsIT1hJiZRc1thLnRhZ05hbWVdfSxpdz1mdW5jdGlvbihhKXtpZihudWxsPT1hKXJldHVybiBudWxsO2ZvcihhPWEucHJldmlvdXNTaWJsaW5nO251bGwhPWEmJm51bGwhPWEmJjM9PWEubm9kZVR5cGUmJiIiPT0oMCxfLm1jKShOcChhKSk7KWE9YS5wcmV2aW91c1NpYmxpbmc7cmV0dXJuIGF9LG53PWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtfLkguY2FsbCh0aGlzKTt0aGlzLmc9W107Zm9yKHZhciBnPTA7ZzxhLmxlbmd0aDsrK2cpdGhpcy5nLnB1c2goIm5vZGVUeXBlImluIGFbZ10/bHcoYVtnXSk6YVtnXSksbXcoYVtnXS5ub2RlKTt0aGlzLmo9Yjt0aGlzLkY9ZHx8MDt0aGlzLlA9ZXx8MDt0aGlzLkI9Yzt0aGlzLkE9Znx8bnVsbDt0aGlzLkg9dGhpcy5HPXRoaXMuTT0hMTt0aGlzLm89W107dGhpcy5zPVtdO3RoaXMuaD1bXTt0aGlzLk49CltdO25ldyBfLkkodGhpcyk7dGhpcy5sPXRoaXMuSz0hMX0sbHc7Xy56KG53LF8uSCk7CnZhciBxdz1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4hMTtpZigzIT1hLm5vZGVUeXBlfHwhXy5GKXJldHVybiBvdyBpbiBhJiYhIWFbb3ddO2lmKCFhLnBhcmVudE5vZGUpcmV0dXJuITA7aWYoIShwdyBpbiBhLnBhcmVudE5vZGUpKXJldHVybiExO3ZhciBiPWEucGFyZW50Tm9kZVtwd107aWYoIWJ8fCFiW2Eubm9kZVZhbHVlXSlyZXR1cm4hMTtiPWJbYS5ub2RlVmFsdWVdO2Zvcih2YXIgYz0wO2M8Yi5sZW5ndGg7KytjKWlmKGJbY109PWEpcmV0dXJuITA7cmV0dXJuITF9LHJ3PWZ1bmN0aW9uKGEsYil7aWYoIWEpcmV0dXJuIiI7aWYoIlRJVExFIj09YS50YWdOYW1lKXJldHVybiBTdHJpbmcoZG9jdW1lbnQudGl0bGUpOzM9PWEubm9kZVR5cGU/Yj0ibm9kZVZhbHVlIjpifHwoYj0idmFsdWUiKTtyZXR1cm4gYS5nZXRBdHRyaWJ1dGUmJmEuZ2V0QXR0cmlidXRlKGIpP1N0cmluZyhhLmdldEF0dHJpYnV0ZShiKSk6InN0cmluZyI9PT10eXBlb2YgYVtiXT9TdHJpbmcoYVtiXSk6IiJ9Owpudy5wcm90b3R5cGUuZWE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5qfTsKdmFyIHN3PWZ1bmN0aW9uKGEsYixjKXtiPXtqZzpiLHRlOmMsY2E6W119O2EuaC5wdXNoKGIpO3JldHVybiBifSx1dz1mdW5jdGlvbihhKXtpZighYS5sJiZhLk0mJiFhLkcmJiFhLkgpe2EuRz0hMDt2YXIgYjtpZihiPXR3KGEuZykpe2I9YS5nO3ZhciBjPWEuaDtpZigxPT1iLmxlbmd0aCYmYlswXSYmYlswXS5PZSl7Zm9yKHZhciBkPVtdLGU9MDtlPGMubGVuZ3RoOysrZSlmb3IodmFyIGY9MDtmPGNbZV0uY2EubGVuZ3RoOysrZilkLnB1c2goY1tlXS5jYVtmXS5ZKTtiWzBdLlBhKGQuam9pbigiICIpLGJbMF0ubm9kZSk7Yj0hMH1lbHNlIGI9ITE7Yj0hYn1pZihiJiYoYj1rdyhhLmcpKSl7YS5zPWIuTmk7YS5vPWIuZGk7ZD1hLmc7ZT1hLnM7Zj1hLm87dmFyIGc9Yi5RZTtjPVtdO2Zvcih2YXIgaD0wO2g8ZC5sZW5ndGg7KytoKWlmKGNbaF09W10sZFtoXS5ub2RlJiZ2b2lkIDAhPT1lW2hdKWZvcih2YXIgbD0wO2w8Zi5sZW5ndGg7KytsKWlmKCEoZ1tsXT5nW2VbaF1dKSl7aWYoZ1tsXT09CmdbZVtoXV0pe2lmKGZbbF0ubm9kZS5wYXJlbnROb2RlIT1mW2VbaF1dLm5vZGUucGFyZW50Tm9kZSljb250aW51ZX1lbHNle2Zvcih2YXIgbT1nW2VbaF1dLWdbbF0sbj1mW2VbaF1dLm5vZGUucGFyZW50Tm9kZTttLS0mJm4mJm4hPWZbbF0ubm9kZS5wYXJlbnROb2RlOyluPW4ucGFyZW50Tm9kZTtpZihuIT1mW2xdLm5vZGUucGFyZW50Tm9kZSljb250aW51ZX1jW2hdLnB1c2gobCl9ZD1hLmc7ZT1hLmg7Zj0tMTtmb3IoZz1lLmxlbmd0aC0xOzA8PWc7LS1nKWZvcihoPWVbZ10sbD1oLmNhLmxlbmd0aC0xOzA8PWw7LS1sKWlmKG09aC5jYVtsXSwhKDA+bS5YKSYmZFttLlhdJiZkW20uWF0ubm9kZSlpZigwPmYpbS5mZD1hcyhjW20uWF0pLGY9Y1ttLlhdW2NbbS5YXS5sZW5ndGgtMV07ZWxzZSBmb3Iobj1jW20uWF0ubGVuZ3RoLTE7MDw9bjstLW4paWYoY1ttLlhdW25dPD1mKXttLmZkPWFzKGNbbS5YXS5zbGljZSgwLG4rMSkpO2Y9Y1ttLlhdW25dO2JyZWFrfWZvcihjPWU9MDtjPAphLmgubGVuZ3RoOysrYyl7ZD1hLmhbY107Zj1hLmc7Zz1kO2g9Yi5RZTtsPWEuczttPSIiO2ZvcihuPTA7bjxnLmNhLmxlbmd0aDsrK24pe3ZhciBxPWcuY2Fbbl07bSs9cS5ZO2lmKDA+cS5YKXt2YXIgcj0tMSxwPS0xLHg9bFtnLmNhW24tMV0uWF07dm9pZCAwIT09eCYmKHI9aFt4XSk7bjxnLmNhLmxlbmd0aC0xJiYoeD1sW2cuY2FbbisxXS5YXSx2b2lkIDAhPT14JiYocD1oW3hdKSk7aWYoMDw9cnx8MDw9cClhOmlmKHg9KDA+cnx8cDxyKSYmbjxnLmNhLmxlbmd0aC0xLHI9ZixwPXEscT1nLmNhW3g/bisxOm4tMV0sIShxLlg+PXIubGVuZ3RofHxudWxsPT1yW3EuWF0ubm9kZSkpe3I9cC5ZO3AuWT0iIjtpZigvXiArJC8udGVzdChyKSYmKHA9eD9xLlkuY2hhckNvZGVBdCgwKTpxLlkuY2hhckNvZGVBdChxLlkubGVuZ3RoLTEpLDM1ODQ8PXAmJjM3MTE+PXB8fDEyMjg4PD1wJiYxMjM1MT49cHx8MTIzNTI8PXAmJjEyNTQzPj1wfHwxMjc4NDw9cCYmMTI3OTk+PXB8fDE5OTY4PD0KcCYmNDA5NTk+PXB8fDY1MjgwPD1wJiY2NTUxOT49cCkpYnJlYWsgYTtxLlk9eD9yK3EuWTpxLlkrcn19fWY9bTtnPWEuZztoPWQ7bD1hLm87bT1iLlFlO249YS5zO3E9W107Zm9yKHI9MDtyPGguY2EubGVuZ3RoJiYhKGU+PWwubGVuZ3RoKTsrK3IpaWYocD1oLmNhW3JdLHAuZmQmJiEoMD5wLlgpJiZnW3AuWF0ubm9kZSYmcC5ZKWlmKGU9PW5bcC5YXXx8ZSBpbiBwLmZkJiYoIShlKzEgaW4gcC5mZCl8fGUrMSE9bltwLlhdKSl7aWYobFtlXSYmbFtlXS5ub2RlKXt4PWp3KGxbZV0ubm9kZSk7cS5wdXNoKHgpO2Zvcih2YXIgQz1sW2VdLm5vZGUsUz1tW25bcC5YXV0tbVtlXSxRPXgsVT1nW3AuWF0ubm9kZS5wYXJlbnROb2RlLEhhPVE7VSYmUy0tOylIYT1VLmNsb25lTm9kZSghMSksSGEuYXBwZW5kQ2hpbGQoUSksVT1VLnBhcmVudE5vZGUsUT1IYTtDLmFwcGVuZENoaWxkKEhhKTtDPWdbcC5YXS5ub2RlO2dbcC5YXS5DZD9nW3AuWF0uUmZ8fHguYXBwZW5kQ2hpbGQoQyk6KEM9Z1twLlhdLm5vZGUuY2xvbmVOb2RlKCExKSwKQy5pZCYmKEMuaWQ9IiIpLHguYXBwZW5kQ2hpbGQoQykpO2dbcC5YXS5QYShwLlksQyl9fWVsc2UrK2UsLS1yO2c9cTtuPWEuZztxPWQ7aD1hLkI7aWYocS5qZyloPXEuamc7ZWxzZXttPW4ubGVuZ3RoO2w9LTE7Zm9yKHI9MDtyPHEuY2EubGVuZ3RoOysrcilwPXEuY2Fbcl0uWCwwPD1wJiZuW3BdJiZuW3BdLm5vZGUmJihsPU1hdGgubWF4KGwscCksbT1NYXRoLm1pbihtLHApKTtmb3Iobj0iIjttPD1sOysrbSloW21dJiYobis9aFttXSk7aD1ufW09YTtuPWc7cT1oO2lmKG0uQSl7aWYoMyE9bS5BLmcuQmIpe2c9bS5OO2g9Zy5wdXNoO2w9bS5BO2Q9ZC50ZTtkPWwualsrK2wuQV09e2lkOmwuQS50b1N0cmluZygpLHNoOm0sdGV4dDpxLGVtOmR8fHEsWTpmLGFqOmwuQixjajpsLkYseGE6bn07Zm9yKGY9MDtmPG4ubGVuZ3RoOysrZiluW2ZdJiZsLmwuYXR0YWNoKGQuaWQsbltmXSk7bC5oJiZsLmguYXR0YWNoKG4scS5sZW5ndGgpO2wubyYmbC5vLnN0YXJ0KCk7aC5jYWxsKGcsZC5pZCl9fWVsc2UgZm9yKGQ9CjA7ZDxuLmxlbmd0aDsrK2QpbltkXS50aXRsZT1xfWI9YS5nO2ZvcihjPTA7YzxiLmxlbmd0aDsrK2MpYltjXS5ub2RlJiYhYltjXS5DZCYmRXAoYltjXS5ub2RlKTtiPWEuZztjPWEubzthPWEucztmb3IoZT1kPTA7ZTxjLmxlbmd0aDsrK2UpaWYoZj1jW2VdLm5vZGUpe2Zvcig7ZDxiLmxlbmd0aCYmZT5hW2RdOylkKys7KGQ+PWIubGVuZ3RofHxlIT1hW2RdKSYmIWYuZmlyc3RDaGlsZCYmKEVwKGYpLGNbZV0ubm9kZT1udWxsKX19fX07Cm53LnByb3RvdHlwZS5yZXN0b3JlPWZ1bmN0aW9uKCl7aWYodGhpcy5HKWlmKHRoaXMuRz0hMSx0aGlzLkEmJmZ3KHRoaXMuQSksdGhpcy5OPVtdLHR3KHRoaXMubyksMT09dGhpcy5nLmxlbmd0aCYmdGhpcy5nWzBdLk9lKXRoaXMuZ1swXS5QYSh0aGlzLkJbMF0sdGhpcy5nWzBdLm5vZGUpO2Vsc2V7Zm9yKHZhciBhPTAsYj0wO2I8dGhpcy5vLmxlbmd0aDsrK2Ipe3ZhciBjPXRoaXMub1tiXS5ub2RlO2lmKGMpe2Zvcig7YTx0aGlzLmcubGVuZ3RoJiZiPnRoaXMuc1thXTspe3ZhciBkPWErKzt0aGlzLmdbZF0ubm9kZSYmKHZ3KHRoaXMuZ1tkXS5ub2RlKSx0aGlzLmdbZF0ubm9kZT1udWxsKX1pZihhPHRoaXMuZy5sZW5ndGgmJmI9PXRoaXMuc1thXSYmdGhpcy5nW2FdLm5vZGUpe3RoaXMuZ1thXS5SZnx8KF8ub2QoYyksYy5hcHBlbmRDaGlsZCh0aGlzLmdbYV0ubm9kZSkpO3RoaXMuZ1thXS5QYSh0aGlzLkJbYV0sdGhpcy5nW2FdLm5vZGUpO2ErKzt2YXIgZT1jLnBhcmVudE5vZGU7CmlmKGUmJjExIT1lLm5vZGVUeXBlKWlmKGMucmVtb3ZlTm9kZSljLnJlbW92ZU5vZGUoITEpO2Vsc2V7Zm9yKDtkPWMuZmlyc3RDaGlsZDspZS5pbnNlcnRCZWZvcmUoZCxjKTtFcChjKX19ZWxzZSBFcChjKX19dGhpcy5vPVtdfX07bncucHJvdG90eXBlLko9ZnVuY3Rpb24oKXtfLkgucHJvdG90eXBlLkouY2FsbCh0aGlzKTt0aGlzLnJlc3RvcmUoKTtmb3IodmFyIGE9MDthPHRoaXMuZy5sZW5ndGg7KythKXRoaXMuZ1thXS5ub2RlJiZ2dyh0aGlzLmdbYV0ubm9kZSk7dGhpcy5nPW51bGx9Owp2YXIgbXc9ZnVuY3Rpb24oYSl7aWYoYSlpZigzPT1hLm5vZGVUeXBlJiZfLkYpe3B3IGluIGEucGFyZW50Tm9kZSYmYS5wYXJlbnROb2RlW3B3XXx8KGEucGFyZW50Tm9kZVtwd109e30pO3ZhciBiPWEucGFyZW50Tm9kZVtwd107YlthLm5vZGVWYWx1ZV18fChiW2Eubm9kZVZhbHVlXT1bXSk7Yj1iW2Eubm9kZVZhbHVlXTtmb3IodmFyIGM9MDtjPGIubGVuZ3RoOysrYylpZihiW2NdPT1hKXJldHVybjtiLnB1c2goYSl9ZWxzZSBhW293XT0xfSx2dz1mdW5jdGlvbihhKXtpZighYXx8Mz09YS5ub2RlVHlwZSYmXy5GKXt2YXIgYj1hLnBhcmVudE5vZGU7aWYoYiYmcHcgaW4gYil7dmFyIGM9Yltwd107aWYoYyYmYSYmY1thLm5vZGVWYWx1ZV0pe3ZhciBkPWNbYS5ub2RlVmFsdWVdO2lmKGQpZm9yKHZhciBlPTA7ZTxkLmxlbmd0aDsrK2UpaWYoZFtlXT09YSl7ZC5zcGxpY2UoZSwxKTticmVha30wPT1kLmxlbmd0aCYmZGVsZXRlIGNbYS5ub2RlVmFsdWVdfWlmKGMmJm9zKGMpKXRyeXtkZWxldGUgYltwd119Y2F0Y2goZil7Yltwd109CiIifX19ZWxzZSBpZihvdyBpbiBhKXRyeXtkZWxldGUgYVtvd119Y2F0Y2goZil7YVtvd109IiJ9fSx0dz1mdW5jdGlvbihhKXtmb3IodmFyIGI9MDtiPGEubGVuZ3RoOysrYil0cnl7YVtiXS5ub2RlJiYhYVtiXS5ub2RlLnBhcmVudE5vZGUmJihhW2JdLm5vZGU9bnVsbCl9Y2F0Y2goYyl7YVtiXS5ub2RlPW51bGx9Zm9yKGI9YS5sZW5ndGgtMTswPD1iJiYhYVtiXS5ub2RlOy0tYik7YS5sZW5ndGg9YisxO3JldHVybiBhLmxlbmd0aH0sanc9ZnVuY3Rpb24oYSl7YT1hLm93bmVyRG9jdW1lbnQ/YS5vd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImZvbnQiKTpfLmxkKGRvY3VtZW50LCJmb250Iik7bXcoYSk7YS5zdHlsZS52ZXJ0aWNhbEFsaWduPSJpbmhlcml0IjtyZXR1cm4gYX0sd3c9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPW5ldyBTZXQsYz0wO2M8YS5nLmxlbmd0aDtjKyspe3ZhciBkPWEuZ1tjXS5ub2RlO251bGwhPWQmJmIuYWRkKGQpfXJldHVybiBifSx4dz1mdW5jdGlvbigpe3RoaXMuaD0Ke307dGhpcy5nPXt9fTt4dy5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG51bGwhPXRoaXMuaFthXXx8bnVsbCE9dGhpcy5nW2FdfHxiJiYoYSBpbiB0aGlzLmh8fGEgaW4gdGhpcy5nKX07eHcucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKGEsYil7dGhpcy5nW2FdPWJ9O3h3LnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oYSl7ZGVsZXRlIHRoaXMuZ1thXTtkZWxldGUgdGhpcy5oW2FdfTt2YXIgb3c9Il9ndF8iK01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cigyKSxwdz0iX2d0bl8iK01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cigyKTsKKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShjKXtkb2N1bWVudC50aXRsZT1jfXZhciBiPXt9O2x3PWZ1bmN0aW9uKGMsZCl7aWYoIlRJVExFIj09Yy50YWdOYW1lKXJldHVybntub2RlOmMsUGE6YSxDZDohMCxSZjohMCxPZTohMH07aWYoMz09Yy5ub2RlVHlwZSlyZXR1cm57bm9kZTpjLFBhOmZ1bmN0aW9uKGUsZil7Xy5xZChmLGUpfX07ZHx8KGQ9InZhbHVlIik7YltkXXx8KGJbZF09ZnVuY3Rpb24oZSxmKXtmLnNldEF0dHJpYnV0ZSYmZi5zZXRBdHRyaWJ1dGUoZCxlKTsic3RyaW5nIj09PXR5cGVvZiBlJiYoZltkXT1lKX0pO2M9e25vZGU6YyxQYTpiW2RdLENkOiEwfTsidmFsdWUiIT1kJiYoYy5PZT0hMCk7cmV0dXJuIGN9fSkoKTsKdmFyIHl3PWZ1bmN0aW9uKGEsYixjLGQpe2Q9ZC5maXJzdENoaWxkJiYzPT1kLmZpcnN0Q2hpbGQubm9kZVR5cGU/ZC5maXJzdENoaWxkLm5vZGVWYWx1ZTpOcChkKTtkPXtYOmMsWTpBcChkKX07YS5wdXNoKGQpO2JbY10/YltjXS5lbmQ9ZDpiW2NdPXtzdGFydDpkLGVuZDpkfTtyZXR1cm4gZH0senc9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiLGM9YS5maXJzdENoaWxkO2M7Yz1iKWI9Yy5uZXh0U2libGluZywzIT1jLm5vZGVUeXBlJiYoYz09YS5maXJzdENoaWxkP2EucGFyZW50Tm9kZSYmYS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShjLGEpOkRwKGMsYSksencoYykpfTt2YXIgQXc9ZnVuY3Rpb24oKXt0aGlzLmc9W119O0F3LnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSl7dGhpcy5nLnB1c2goYSl9O3ZhciBCdz1mdW5jdGlvbigpe3RoaXMuZz1bXX07Xy56KEJ3LEF3KTtCdy5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEpe2lmKGEpZm9yKDthKCk7KTt9O0J3Lm9iPWZ1bmN0aW9uKCl7cmV0dXJuIE9yKEJ3KX07dmFyIER3PWZ1bmN0aW9uKGEpe3RoaXMuZz1bXTt0aGlzLmg9LjU7Q3codGhpcyxhKTt0aGlzLmw9MDt0aGlzLmo9ITA7dGhpcy5vPSgwLF8uQSkodGhpcy5zLHRoaXMpfTtfLnooRHcsQXcpO3ZhciBDdz1mdW5jdGlvbihhLGIpezE8Yj9hLmg9MTouMDAxPmI/YS5oPS4wMDE6YiYmKGEuaD1iKX07RHcucHJvdG90eXBlLmFkZD1mdW5jdGlvbihhKXtBdy5wcm90b3R5cGUuYWRkLmNhbGwodGhpcyxhKTt0aGlzLmomJkV3KHRoaXMpfTt2YXIgRXc9ZnVuY3Rpb24oYSl7YS5qPSExO3dpbmRvdy5zZXRUaW1lb3V0KGEubyxNYXRoLm1pbihhLmwsNUUzKSl9OwpEdy5wcm90b3R5cGUucz1mdW5jdGlvbigpe3ZhciBhPShuZXcgRGF0ZSkuZ2V0VGltZSgpO2Rve3RoaXMuZy5sZW5ndGgmJih0aGlzLmdbMF0mJnRoaXMuZ1swXSgpfHx0aGlzLmcuc2hpZnQoKSk7dmFyIGI9ISF0aGlzLmcubGVuZ3RoO3ZhciBjPTk1KnRoaXMuaCs1O3ZhciBkPShuZXcgRGF0ZSkuZ2V0VGltZSgpLWF9d2hpbGUoYiYmZDxjKTt0aGlzLmw9TWF0aC5jZWlsKGQqKDEvdGhpcy5oLTEpKSsxO2I/RXcodGhpcyk6dGhpcy5qPSEwfTt2YXIgRnc9ZnVuY3Rpb24oYSxiKXt0aGlzLkY9YXx8bnVsbDt0aGlzLks9Ynx8Qncub2IoKTt0aGlzLkE9dGhpcy5zPXRoaXMuRz1udWxsO3RoaXMubD10aGlzLmo9ITE7dGhpcy5vPW51bGw7dGhpcy5nPVtdO3RoaXMuaD0wfSxHdz1mdW5jdGlvbihhLGIpe2Euanx8KGEuRz1iKX0sSHc9ZnVuY3Rpb24oYSxiLGMpe2Eucz1jPygwLF8uQSkoYixjKTpifSxJdz1mdW5jdGlvbihhLGIsYyl7YS5BPWM/KDAsXy5BKShiLGMpOmJ9LEp3PWZ1bmN0aW9uKGEsYil7YS5qfHwoYS5qPSEwLGEuRD1iLGEuaCsrLGEubz1hLkcsYS5CKCkpfTtGdy5wcm90b3R5cGUuc3RvcD1mdW5jdGlvbigpe3RoaXMuaCsrO3RoaXMuaj0hMTt0aGlzLmc9W119Owp2YXIgS3c9ZnVuY3Rpb24oYSl7aWYoIWEuailyZXR1cm4gbnVsbDtmb3IodmFyIGI9ITEsYz0wO2M8YS5nLmxlbmd0aDsrK2MpaWYoYS5nW2NdLnRhcmdldD09PWEpe2EuZ1tjXS5yZWFkeT0hMTthLmdbY10uRGc9YS5oKzE7Yj0hMDticmVha31ifHxhLmcucHVzaCh7dGFyZ2V0OmEscmVhZHk6ITEsRGc6YS5oKzF9KTtyZXR1cm4oMCxfLkEpKGEuQixhLGEsYS5oKzEpfSxMdz1mdW5jdGlvbihhKXtpZighYS5qKXJldHVybiEwO2Zvcih2YXIgYj0wO2I8YS5nLmxlbmd0aDsrK2IpaWYoYS5nW2JdLnRhcmdldD09PWEmJmEuZ1tiXS5EZz09YS5oKXJldHVybiBhLmdbYl0ucmVhZHk7cmV0dXJuITB9OwpGdy5wcm90b3R5cGUuQj1mdW5jdGlvbihhLGIpe2lmKHRoaXMuail7aWYoYSlmb3IodmFyIGM9MDtjPHRoaXMuZy5sZW5ndGg7KytjKWlmKHRoaXMuZ1tjXS50YXJnZXQ9PT1hKXt0aGlzLmdbY10ucmVhZHk9ITA7YnJlYWt9dGhpcy5sfHx0aGlzLksuYWRkKCgwLF8uQSkodGhpcy5ILHRoaXMsYnx8dGhpcy5oKSl9fTsKRncucHJvdG90eXBlLkg9ZnVuY3Rpb24oYSl7aWYodGhpcy5oIT1hKXJldHVybiExO2E9dGhpcy5vO2lmKGE9PU13KXJldHVybiB0aGlzLnN0b3AoKSx0aGlzLnMmJnRoaXMucy5jYWxsKHRoaXMuRix0aGlzLHRoaXMuRCksITE7dGhpcy5sPSEwO3RyeXt2YXIgYj1hLmNhbGwodGhpcy5GLHRoaXMsdGhpcy5EKTtpZighYil0aHJvdyBFcnJvcigpO31jYXRjaChjKXt0aGlzLnN0b3AoKTthPWM7aWYodGhpcy5BKXRoaXMuQS5jYWxsKHRoaXMuRixhLHRoaXMsdGhpcy5EKTtlbHNlIHRocm93IGE7cmV0dXJuITF9ZmluYWxseXt0aGlzLmw9ITF9YiE9TncmJih0aGlzLm89Yix0aGlzLmgrKyx0aGlzLkIoKSk7cmV0dXJuITF9O3ZhciBOdz1mdW5jdGlvbigpe30sTXc9ZnVuY3Rpb24oKXt9O3ZhciBQdz1mdW5jdGlvbihhLGIsYyxkLGUpe2I9Ynx8e307dGhpcy5IPWV8fFtdO3RoaXMucz1bXTt0aGlzLkQ9W107T3codGhpcyxhfHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsdm9pZCAwPT09Yi5zZ3x8ISFiLnNnKTt0aGlzLkI9Y3x8bnc7dGhpcy5GPWIubGk7dGhpcy5qPXRoaXMuZz10aGlzLm89dGhpcy5tYz1udWxsO3RoaXMuQT0hIWIubWo7dGhpcy5iYT0hIWIuaWo7dGhpcy5NPXRoaXMuQT8yNzoxMzt0aGlzLks9ITA7dGhpcy5HPVtdO3RoaXMubD1uZXcgRncodGhpcyxkKX0sUXc9ZnVuY3Rpb24oYSxiLGMsZCl7YS5sLmp8fChiPXtCZzpiLHlnOmMseGE6W10sa2c6W10seWI6W10sdGV4dExlbmd0aDowLHNpemU6MCxjb250aW51b3VzOiEwfSxhLm1jPW51bGwsR3coYS5sLGEuaCksSHcoYS5sLGQpLEl3KGEubCwoMCxfLkEpKGZ1bmN0aW9uKGUpe3RoaXMudWkoZSk7ZCgpfSxhKSksSncoYS5sLGIpKX0sUnc9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gMDxhLnhhLmxlbmd0aD8KbmV3IGIoYS54YSxhLnliLmpvaW4oIiIpLGEua2csYS50ZXh0TGVuZ3RoLGEuc2l6ZSk6bnVsbH0sU3c9ZnVuY3Rpb24oYSxiKXtpZighYS5qKXJldHVybiBhLm1jPVJ3KGIsYS5CKSwhMDtpZighYi5jb250aW51b3VzJiYwPGIueGEubGVuZ3RoKXJldHVybiBhLm1jPVJ3KGIsYS5CKSwhMDtiLmNvbnRpbnVvdXM9YS5qLmJnO2E6e3ZhciBjPWEuajt2YXIgZD1hLk07aWYoYi5zaXplPmIueWd8fGIudGV4dExlbmd0aD5iLkJnKWM9ITE7ZWxzZXt2YXIgZT1jLnNpemUsZj1jLnRleHQubGVuZ3RoO2lmKDAhPWIueGEubGVuZ3RoJiYoZSs9MT09Yi54YS5sZW5ndGg/Yi5zaXplK2QrZDpiLnNpemUrZCxmKz1iLnRleHRMZW5ndGgsZT5iLnlnfHxmPmIuQmcpKXtjPSExO2JyZWFrIGF9Yi5zaXplPWU7Yi50ZXh0TGVuZ3RoPWY7Yi54YS5wdXNoKGMubm9kZSk7Yi5rZy5wdXNoKGMudGV4dCk7ZD1iLnhhLmxlbmd0aC0xOzA9PWQ/Yi55Yi5wdXNoKGMuWGQpOigxPT1kJiYoYi55YlswXT0iPGEgaT0wPiIrCmIueWJbMF0rIjwvYT4iKSxiLnliLnB1c2goIjxhIGk9IitkKyI+IiksYi55Yi5wdXNoKGMuWGQpLGIueWIucHVzaCgiPC9hPiIpKTtjPSEwfX1pZihjKXJldHVybiBhLmo9bnVsbCwhMTthLm1jPVJ3KGIsYS5CKTtyZXR1cm4hMH0sVHc9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXJ3KGIsYyk7ZCYmKDAsXy5tYykodXAoZCkpJiZhLkcucHVzaCh7bm9kZTpiLGloOmMsdGV4dDpkfSl9OwpQdy5wcm90b3R5cGUuaD1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXM7aWYodGhpcy5qJiZTdyh0aGlzLGIpKXJldHVybiBNdztpZighdGhpcy5nKXt0aGlzLks9ISF0aGlzLnMubGVuZ3RoO2lmKCF0aGlzLnMubGVuZ3RoJiYoYT10aGlzLkcuc2hpZnQoKSkpcmV0dXJuIHRoaXMuaj17Ymc6ITEsbm9kZTpsdyhhLm5vZGUsYS5paCksdGV4dDphLnRleHQsWGQ6d3AoYS50ZXh0KSxzaXplOnRoaXMuQT9fLiRjKGEudGV4dCkubGVuZ3RoOmEudGV4dC5sZW5ndGh9LGIuY29udGludW91cz0hMSxTdyh0aGlzLGIpLE13O2E9dGhpcy5zLnNoaWZ0KCl8fHRoaXMuRC5zaGlmdCgpO2lmKCFhKXJldHVybiB0aGlzLmo9bnVsbCxTdyh0aGlzLGIpLE13O3RoaXMubz1bYS5oal07dGhpcy5nPW5ldyBXcyhhLnJvb3QpfXRoaXMuZy5uZXh0KCk7aWYodGhpcy5nLmRvbmUpcmV0dXJuIHRoaXMuZz1udWxsLGIuY29udGludW91cz0hMSx0aGlzLmg7YT10aGlzLmcubm9kZSgpO3ZhciBkPXRoaXMuZy5nLmc7CmlmKC0xPT1kKXJldHVybiBVdyh0aGlzKSxWdyhhKXx8KGIuY29udGludW91cz0hMSksdGhpcy5oO1d3KHRoaXMsYSk7ZD0xPT1kO3ZhciBlPSEhYSYmKDM9PWEubm9kZVR5cGUmJiJzdHJpbmciPT09dHlwZW9mIGEubm9kZVZhbHVlfHwiVElUTEUiPT1hLnRhZ05hbWUmJiJzdHJpbmciPT09dHlwZW9mIGEudmFsdWV8fCJURVhUQVJFQSI9PWEudGFnTmFtZSYmV3QoYSwidHJhbnNsYXRlIil8fCJJTlBVVCI9PWEudGFnTmFtZSYmKFJzW2EudHlwZV18fFd0KGEsInRyYW5zbGF0ZSIpKSk7aWYoKGV8fGQpJiZ0aGlzLksmJiFYdyhhKSlyZXR1cm4gT3codGhpcyxhLFl3KHRoaXMpLCEwKSxVcyh0aGlzLmcuZyksVXcodGhpcyksdGhpcy5oO2lmKGQmJll3KHRoaXMpJiYodGhpcy5iYSYmVHcodGhpcyxhLCJ0aXRsZSIpLFR3KHRoaXMsYSwiYWx0IiksVHcodGhpcyxhLCJwbGFjZWhvbGRlciIpLFR3KHRoaXMsYSwiYXJpYS1sYWJlbCIpLFR3KHRoaXMsYSwiYXJpYS1wbGFjZWhvbGRlciIpLApUdyh0aGlzLGEsImFyaWEtcm9sZWRlc2NyaXB0aW9uIiksVHcodGhpcyxhLCJhcmlhLXZhbHVldGV4dCIpLFhzKHRoaXMuZykpKWZvcih2YXIgZj1hLmZpcnN0Q2hpbGQ7Zjspe2lmKDM9PWYubm9kZVR5cGUpe3ZhciBnPWYubm9kZVZhbHVlLnNwbGl0KCJcbiIpO2lmKDI8Zy5sZW5ndGh8fDI9PWcubGVuZ3RoJiYiIiE9KDAsXy5tYykoZ1swXSkmJiIiIT0oMCxfLm1jKShnWzFdKSl7Zi5ub2RlVmFsdWU9Z1swXTtmb3IodmFyIGg9MTtoPGcubGVuZ3RoOysraCl7dmFyIGw9Xy5kZChhKS5jcmVhdGVFbGVtZW50KCJmb250Iik7dGhpcy5ILnB1c2gobCk7RHAobCxmKTtmPWw7RHAoXy5kZChhKS5jcmVhdGVUZXh0Tm9kZSgiXG4iK2dbaF0pLGYpO2Y9Zi5uZXh0U2libGluZ319fWY9Zi5uZXh0U2libGluZ31hLnNoYWRvd1Jvb3QmJkFycmF5LmZyb20oYS5zaGFkb3dSb290LmNoaWxkTm9kZXMpLmZvckVhY2goZnVuY3Rpb24obil7T3coYyxuLFl3KGMpKX0pO2lmKGUpe1VzKHRoaXMuZy5nKTsKaWYoWXcodGhpcykpe3ZhciBtPXJ3KGEpO2lmKCgwLF8ubWMpKHVwKG0pKSYmKHRoaXMuaj17Ymc6ITAsbm9kZTpsdyhhKSx0ZXh0Om0sWGQ6d3AobSksc2l6ZTp0aGlzLkE/Xy4kYyhtKS5sZW5ndGg6bS5sZW5ndGh9LFN3KHRoaXMsYikpKXJldHVybiBVdyh0aGlzKSxNd31Vdyh0aGlzKTtyZXR1cm4gdGhpcy5ofWlmKGQpe2lmKFp3KGEpfHwhYS5maXJzdENoaWxkJiYiSUZSQU1FIiE9YS50YWdOYW1lKXJldHVybiBiLmNvbnRpbnVvdXM9Yi5jb250aW51b3VzJiYhIVFzW2EudGFnTmFtZV0sVXModGhpcy5nLmcpLFV3KHRoaXMpLHRoaXMuaDtpZigiSUZSQU1FIj09YS50YWdOYW1lKXt0cnl7YS5zcmMubWF0Y2goL2h0dHBzPzpcL1wvLykmJl8uTWYoYS5zcmMubWF0Y2goXy5MZilbM118fG51bGwpIT13aW5kb3cubG9jYXRpb24uaG9zdG5hbWV8fChtPUdwKGEpLmRvY3VtZW50RWxlbWVudCkmJk93KHRoaXMsbSxZdyh0aGlzKSl9Y2F0Y2gobil7fWIuY29udGludW91cz0hMTtVcyh0aGlzLmcuZyk7ClV3KHRoaXMpO3JldHVybiB0aGlzLmh9WXcodGhpcykmJlZ3KGEpP3RoaXMuRiYmIkEiPT1hLnRhZ05hbWUmJmEuaHJlZiYmdGhpcy5GKGEpOmIuY29udGludW91cz0hMTtyZXR1cm4gdGhpcy5ofVVzKHRoaXMuZy5nKTtVdyh0aGlzKTtyZXR1cm4gdGhpcy5ofTsKdmFyIFp3PWZ1bmN0aW9uKGEpe3JldHVybiBxdyhhKXx8MyE9YS5ub2RlVHlwZSYmKCFhLnRhZ05hbWV8fFBzW2EudGFnTmFtZV18fFFzW2EudGFnTmFtZV18fFd0KGEsInNraXB0cmFuc2xhdGUiKSl9LCR3PWZ1bmN0aW9uKGEpe3ZhciBiPV8uZGQoYSk7cmV0dXJuIGIuZGVmYXVsdFZpZXcmJmIuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZT9iLmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUoYSxudWxsKTphLmN1cnJlbnRTdHlsZX0sWHc9ZnVuY3Rpb24oYSl7cmV0dXJuIDM9PWEubm9kZVR5cGU/ITA6MSE9YS5ub2RlVHlwZT8hMTphLm9mZnNldFdpZHRoJiZhLm9mZnNldEhlaWdodD8hMDooYT0kdyhhKSwhIWEmJiJub25lIiE9YS5kaXNwbGF5JiYiaGlkZGVuIiE9YS52aXNpYmlsaXR5KX0sVnc9ZnVuY3Rpb24oYSl7aWYoMz09YS5ub2RlVHlwZSlyZXR1cm4hMDtpZigxIT1hLm5vZGVUeXBlKXJldHVybiExO3ZhciBiPSR3KGEpO3JldHVybiEhT3NbYS50YWdOYW1lXSYmCighYnx8IWIuZGlzcGxheXx8ImlubGluZSI9PWIuZGlzcGxheSl9LE93PWZ1bmN0aW9uKGEsYixjLGQpeyhkP2EuRDphLnMpLnB1c2goe3Jvb3Q6Yixoajp2b2lkIDA9PT1jfHxjfSl9LFl3PWZ1bmN0aW9uKGEpe3JldHVybiBhLm9bYS5vLmxlbmd0aC0xXX0sV3c9ZnVuY3Rpb24oYSxiKXtiPSFxdyhiKSYmKGIubm9kZVR5cGU9PWFwJiZZdyhhKXx8IShXdChiLCJub3RyYW5zbGF0ZSIpfHxiLmF0dHJpYnV0ZXMmJmIuYXR0cmlidXRlcy50cmFuc2xhdGUmJiJubyI9PWIuYXR0cmlidXRlcy50cmFuc2xhdGUudmFsdWUpJiYoV3QoYiwidHJhbnNsYXRlIil8fCEhYi5hdHRyaWJ1dGVzJiYhIWIuYXR0cmlidXRlcy50cmFuc2xhdGUmJiJ5ZXMiPT1iLmF0dHJpYnV0ZXMudHJhbnNsYXRlLnZhbHVlfHxZdyhhKSkpO2Euby5wdXNoKGIpfSxVdz1mdW5jdGlvbihhKXthLm8ucG9wKCl9O3ZzLmF0dGFjaCg1NzYyLFB3LnByb3RvdHlwZSx7dWk6MX0pO3ZhciBheD1mdW5jdGlvbigpe18uRC5jYWxsKHRoaXMpO3RoaXMuZz1bXX07Xy56KGF4LF8uRCk7YXgucHJvdG90eXBlLnJlc3RvcmU9ZnVuY3Rpb24oKXtfLlpnKHRoaXMuaCwwLHRoaXMpfTtheC5wcm90b3R5cGUuaD1mdW5jdGlvbigpe2Zvcih2YXIgYT0wO2E8dGhpcy5nLmxlbmd0aDsrK2EpRXAodGhpcy5nW2FdKTt0aGlzLmc9W119O2F4LnByb3RvdHlwZS5KPWZ1bmN0aW9uKCl7Xy5ELnByb3RvdHlwZS5KLmNhbGwodGhpcyk7dGhpcy5yZXN0b3JlKCl9O3ZhciBieD1mdW5jdGlvbihhKXt2YXIgYj1uZXcgU2V0O2EuZm9yRWFjaChmdW5jdGlvbihjKXtpZihGcChjKSliLmFkZChjKTtlbHNle2E6e3ZhciBkO2lmKF8uTWMmJihkPWMucGFyZW50RWxlbWVudCkpe2M9ZDticmVhayBhfWQ9Yy5wYXJlbnROb2RlO2M9RnAoZCk/ZDpudWxsfW51bGwhPWMmJmIuYWRkKGMpfX0pO3JldHVybiBifTt2YXIgY3g9ZnVuY3Rpb24oYSl7dGhpcy5oPSEwO3RoaXMubD1hO3RoaXMuaj0hMTt0aGlzLmc9W119O2N4LnByb3RvdHlwZS5lYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcuam9pbigiIil9O3ZhciBkeD1mdW5jdGlvbihhLGIpe3RoaXMubz1hO3RoaXMubD0hMDt0aGlzLmo9Yjt0aGlzLmc9bnVsbDt0aGlzLmg9MH0sZXg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5sPyhiKCgwLF8uQSkoYS5zLGEpLGEubyxhLmo/ImVuIjoiIiksITApOiExfTtkeC5wcm90b3R5cGUucz1mdW5jdGlvbihhLGIsYyl7dGhpcy5nPWI7dGhpcy5oPWM7YSgpfTt2YXIgZng9ZnVuY3Rpb24oYSxiKXt0aGlzLmw9YTt0aGlzLkY9ISFiO3RoaXMuZz10aGlzLkI9MDt0aGlzLm89dGhpcy5qPS0xO3RoaXMucz10aGlzLkE9dGhpcy5oPTB9LGl4PWZ1bmN0aW9uKGEsYixjKXthLkYmJihiLT05KTtmb3IodmFyIGQ9IiIsZT0wLGY9YS5CO2Y8YS5sLmxlbmd0aDsrK2Ype3ZhciBnPWEubC5jaGFyQXQoZiksaD1nLmNoYXJDb2RlQXQoMCk7ZSsrO2EuaCs9YS5GPzEyNz49aD8zMj49aHx8Z3hbaF0/MzoxOjIwNDc+PWh8fDU1Mjk2PD1oJiY1NjMxOT49aHx8NTYzMjA8PWgmJjU3MzQzPj1oPzY6OToxO2g9YS5oPj1iO2h4W2ddPyhhLm89ZixhLkE9YS5oLGg9aHx8ZT5jKToiICI9PWcmJihhLmo9ZixhLnM9YS5oLGg9aHx8ZT5jKTtpZihoKXJldHVybiAwPD1hLm8/KGQ9YS5sLnN1YnN0cmluZyhhLmcsYS5vKzEpLGEuaC09YS5BLGEuZz1hLm8rMSxhLm8+PWEuaj8oYS5qPS0xLGEucz0wKTphLnMtPWEuQSxhLm89LTEsYS5BPTApOjA8PWEuaj8oZD1hLmwuc3Vic3RyaW5nKGEuZywKYS5qKzEpLGEuaC09YS5zLGEuZz1hLmorMSxhLmo9LTEsYS5zPTApOihkPWEubC5zdWJzdHJpbmcoYS5nLGYrMSksYS5oPTAsYS5nPWYrMSxhLm89YS5qPS0xLGEucz1hLkE9MCksYS5CPWYrMSxkfWEuZzxhLmwubGVuZ3RoJiYoZD1hLmwuc3Vic3RyaW5nKGEuZyksYS5nPWEubC5sZW5ndGgpO3JldHVybiBkfSxoeD1hcyhbIi4iLCIsIiwiOiIsIlxcPyIsIiEiXSksang9WyIuIiwiPyIsIiEiXSxneD1hcyhbMzQsMzUsMzYsMzcsMzgsNDMsNDQsNDcsNTgsNTksNjAsNjEsNjIsNjMsNjQsOTEsOTIsOTMsOTQsOTYsMTIzLDEyNCwxMjUsMTI3XSk7Xy5reD1mdW5jdGlvbigpe3JldHVybiExfTtfLmx4PWZ1bmN0aW9uKCl7cmV0dXJuITF9O3ZhciBQbj1mdW5jdGlvbihhKXt0aGlzLkw9Xy5KKGEpfTtfLnooUG4sXy5MKTt2YXIgbXg9ZnVuY3Rpb24oYSl7dGhpcy5MPV8uSihhKX07Xy56KG14LF8uTCk7dmFyIG54PWZ1bmN0aW9uKGEpe3RoaXMuTD1fLkooYSl9O18ueihueCxfLkwpO3ZhciBveD1bMSwyXTt2YXIgcHg9ZnVuY3Rpb24oYSl7dGhpcy5MPV8uSihhKX07Xy56KHB4LF8uTCk7cHgucHJvdG90eXBlLk1hPWZ1bmN0aW9uKCl7cmV0dXJuIF8uRmwodGhpcywxKX07dmFyIHF4PV8udGoocHgpO3ZhciByeDt2YXIgc3g9ZnVuY3Rpb24oKXt0aGlzLlY9bmV3IF8uJGd9LHR4PWZ1bmN0aW9uKGEsYil7dmFyIGMsZDtyZXR1cm4gXy5ibihmdW5jdGlvbihlKXtjPV8uVGYoXy5SZihfLlFmKG5ldyBfLlBmLCJodHRwcyIpLGIuaG9zdCksYi5wYXRoKTtkPW5ldyBQcm9taXNlKGZ1bmN0aW9uKGYsZyl7Xy5KZChhLlYsInN1Y2Nlc3MiLGZ1bmN0aW9uKCl7Zih7Y29kZTphLlYuTmEoKSxoZWFkZXJzOktvKGEuViksYm9keTphLlYuQmEoKX0pfSk7Xy5KZChhLlYsImVycm9yIixmdW5jdGlvbigpe2coe2NvZGU6YS5WLk5hKCksaGVhZGVyczpLbyhhLlYpLGJvZHk6YS5WLkJhKCl9KX0pO18uSmQoYS5WLCJ0aW1lb3V0IixmdW5jdGlvbigpe2coe2NvZGU6YS5WLk5hKCksaGVhZGVyczpLbyhhLlYpLGJvZHk6YS5WLkJhKCl9KX0pfSk7YS5WLnNlbmQoYyxiLm1ldGhvZCxiLmJvZHksYi5oZWFkZXJzKTtyZXR1cm4gZS5yZXR1cm4oZCl9KX07dmFyIHNvPWZ1bmN0aW9uKGEpe3RoaXMuTD1fLkooYSl9O18ueihzbyxfLkwpO3ZhciBybz1mdW5jdGlvbihhKXt0aGlzLkw9Xy5KKGEpfTtfLnoocm8sXy5MKTt2YXIgcW89ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5EbChhLDEsYil9O3JvLkZhPVsxXTt2YXIgdng9ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGU7cmV0dXJuIF8uYm4oZnVuY3Rpb24oZil7aWYoMT09Zi5nKXtiPXJ4fHwocng9cXgoJ1syLG51bGwsW1tbWyJhdXRvcHVzaCIsWyJhdXRvcHVzaC10cmFuc2xhdGUtcGEuc2FuZGJveC5nb29nbGVhcGlzLmNvbSJdXSxbInN0YWdpbmciLFsiZGFpbHkxLXRyYW5zbGF0ZS1wYS5zYW5kYm94Lmdvb2dsZWFwaXMuY29tIl1dLFsicHJvZCIsWyJ0cmFuc2xhdGUtcGEuZ29vZ2xlYXBpcy5jb20iXV1dXV1dJykpO3ZhciBnPVhwKGIsbngsMyk7dmFyIGg9Zy5MO2g9MT09PXBuKGgsKDAsXy5BaSkoaCksb3gpPzE6LTE7Zz1YcChnLG14LGgpLkw7aD0oMCxfLkFpKShnKTtnPVFuKGcsaCxfLmpqKGcsaCwxKSk7Yz1fLkNqKGcuZ2V0KGxyKSwxKTtnPW5ldyBicjtoPU9uKGEsMSwyKTtnPV8ubWwoZywxLGgsSm4pLmFiKGEuS2EoKSkuaWEoYS5mYSgpKTtoPW5ldyBjcjtnPV8uSyhoLDEsZyk7Zz10byhnLDIsc3IpO18ubHgoKSYmXy5EaihnLDMsCiEwKTtkPWc7Zi5vPTI7cmV0dXJuIF8uVm0oZix1eChjLGQpLDQpfWlmKDIhPWYuZylyZXR1cm4gZT1mLmgsZi5yZXR1cm4odW8oZSkpO1dvKGYpO3JldHVybiBmLnJldHVybihQcm9taXNlLnJlamVjdChFcnJvcigiYmIiKSkpfSl9LHV4PWZ1bmN0aW9uKGEsYil7dmFyIGM9d3gsZCxlLGYsZztyZXR1cm4gXy5ibihmdW5jdGlvbihoKXtpZigxPT1oLmcpcmV0dXJuIGQ9e2hvc3Q6YSxwYXRoOiIvdjEvdHJhbnNsYXRlSHRtbCIsbWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiWC1nb29nLWFwaS1rZXkiOiJBSXphU3lBVEJYYWp2elFMVERIRVFiY3BxMEloZTB2V0RIbU81MjAiLCJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uK3Byb3RvYnVmIn0sYm9keTpfLnpsKGIpfSxlPWMuZygpLGgubz0yLF8uVm0oaCx0eChlLGQpLDQpO2lmKDIhPWguZylyZXR1cm4gZj1oLmgsaC5yZXR1cm4oZXIoZi5ib2R5KSk7Zz1XbyhoKTtyZXR1cm4gaC5yZXR1cm4oUHJvbWlzZS5yZWplY3QoZykpfSl9O3ZhciB3eD1uZXcgZnVuY3Rpb24oKXt0aGlzLmc9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHN4fX0seHg9ZnVuY3Rpb24oYSl7dGhpcy5nPWF9LHl4PWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlO3JldHVybiBfLmJuKGZ1bmN0aW9uKGYpe2lmKDE9PWYuZylyZXR1cm4gXy5reCgpP2YucmV0dXJuKHZ4KGIpKTpfLlZtKGYsYS5nLnRyYW5zbGF0ZShjfHxmdW5jdGlvbigpe30sT24oYiwxLDIpLGIuS2EoKSxiLmZhKCksMCwhMSksMik7ZD1mLmg7ZT1kLm1hcCh2byk7cmV0dXJuIGYucmV0dXJuKHFvKG5ldyBybyxlKSl9KX07dmFyIHp4PWZ1bmN0aW9uKGEpe3RoaXMuTD1fLkooYSl9O18ueih6eCxfLkwpO3p4LnByb3RvdHlwZS5LYT1mdW5jdGlvbigpe3JldHVybiBfLkNqKHRoaXMsMil9O3p4LnByb3RvdHlwZS5hYj1mdW5jdGlvbihhKXtyZXR1cm4gdG8odGhpcywyLGEpfTt6eC5wcm90b3R5cGUuZmE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5Daih0aGlzLDMpfTt6eC5wcm90b3R5cGUuaWE9ZnVuY3Rpb24oYSl7cmV0dXJuIHRvKHRoaXMsMyxhKX07enguRmE9WzFdO3ZhciBBeD1mdW5jdGlvbihhLGIsYyxkLGUsZil7dGhpcy5BPWR8fGZ1bmN0aW9uKCl7fTt0aGlzLlU9Znx8ZnVuY3Rpb24oKXt9O3RoaXMuUD0hIWU7dGhpcy5qPWEuZy5aZjt0aGlzLmw9MDt0aGlzLks9ZnVuY3Rpb24oKXt9O3RoaXMuRj1jO3RoaXMuRD10aGlzLmg9dGhpcy5vPTA7dGhpcy5nPW51bGw7dGhpcy5IPTA7dGhpcy5hYT0hMTt0aGlzLlQ9YS5nLlhmO3RoaXMuTT1bXTt0aGlzLlc9MDt0aGlzLmJhPWEuZy5XZDt0aGlzLnM9TXMoYSk7dGhpcy5tYT10aGlzLlA/MTo2O3RoaXMucmE9YS5nLnRnO3RoaXMuTj1iO3RoaXMuQj1bXTt0aGlzLnFhPWF9O0F4LnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe2Zvcih2YXIgYT0wO2E8dGhpcy5CLmxlbmd0aDsrK2EpdGhpcy5CW2FdLnN0b3AoKTtmb3IoYT0wO2E8dGhpcy5NLmxlbmd0aDsrK2EpTHModGhpcy5xYSx0aGlzLk1bYV0pfTsKdmFyIEJ4PWZ1bmN0aW9uKGEsYil7dmFyIGM9MDthLks9KDAsXy5BKShmdW5jdGlvbigpeysrYz09dGhpcy5CLmxlbmd0aCYmYigpfSxhKX0sQ3g9ZnVuY3Rpb24oYSxiLGMpe2EuQT1mdW5jdGlvbigpe307YS5OPWI7YS5nPW51bGw7YS5XPTA7YS5CPVtdO2EuSz1mdW5jdGlvbigpe307YS5GPWN9LER4PWZ1bmN0aW9uKGEsYixjKXtpZigwPT1hLmgmJihhLmg9Yj8zRTM6YS5zLCFjfHxjPD1hLnMpKXthLm89YS5oO3JldHVybn1kbyBiPWEuaCxhLmg8YS5zJiYoYS5oKj1hLm1hLGEuaD5hLnMmJihhLmg9YS5zKSk7d2hpbGUoYiE9YS5oJiZjJiZhLmg8Yyk7YS5vPWEuaH0sRXg9ZnVuY3Rpb24oYSxiKXt2YXIgYz1udWxsIT1iLGQ9IWMmJiFhLmFhOyhkfHxjKSYmYS5BKDEwMCxkLGIpfSxGeD1mdW5jdGlvbihhKXtyZXR1cm4gYS5iYT9hLmcuUDphLmcuZWEoKS5sZW5ndGh9LEd4PWZ1bmN0aW9uKGEsYixjLGQsZSl7cmV0dXJuIG5ldyBQdyhhLk4uc2hpZnQoKSx7bWo6YS5iYSxsaTpiLApzZzohMCxpajohIWN9LGZ1bmN0aW9uKCl7dmFyIGY9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtyZXR1cm4gbmV3IG53KGYuc2hpZnQoKSxmLnNoaWZ0KCksZi5zaGlmdCgpLGYuc2hpZnQoKSxmLnNoaWZ0KCksYyxkKX0sYS5GLGUpfSxJeD1mdW5jdGlvbihhLGIsYyl7aWYoMDxhLlQmJmIucmIoKT49YS5UKXJldHVybiEwO2lmKEZ4KGEpPmEuaCl7aWYoMDxiLnJiKCkpcmV0dXJuITA7RHgoYSxjLEZ4KGEpKTtmb3IodmFyIGQ9YS5nLmVhKCksZT1uZXcgZngoZCxhLmJhKSxmO2Y9aXgoZSxhLmgsYS5qKTspaWYoMD5qeC5pbmRleE9mKGYuY2hhckF0KGYubGVuZ3RoLTEpKSYmYi5NKyssYi5oLnB1c2gobmV3IGR4KFtmXSwhMSkpLGEubCs9Zi5sZW5ndGgsYS5qLT1mLmxlbmd0aCwwPj1hLmope2IuRD1kLnN1YnN0cmluZyhlLmcpO2JyZWFrfWVsc2UgRHgoYSxjKTtIeChiLGEuZywhMCk7YS5nPW51bGw7cmV0dXJuITB9aWYoRngoYSk+YS5vKXJldHVybiEwO0h4KGIsCmEuZywhMCk7YS5vLT1GeChhKSthLnJhO2EubCs9YS5nLkY7YS5qLT1hLmcuRjthLmc9bnVsbDtyZXR1cm4hMX0sSng9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZixnLGg7cmV0dXJuIF8uYm4oZnVuY3Rpb24obCl7c3dpdGNoKGwuZyl7Y2FzZSAxOnZhciBtPW5ldyB4eChhLnFhKTt2YXIgbj1uZXcgeng7bj1fLm1sKG4sMSxjLEpuKTtmPXl4KG0sbi5hYihkKS5pYShlKSxiKTtsLm89MjtyZXR1cm4gXy5WbShsLGYsNCk7Y2FzZSA0Omc9bC5oO2g9d28oZyk7YihoLDIwMCk7bC5nPTM7bC5vPTA7YnJlYWs7Y2FzZSAyOldvKGwpLGIoW10sNTAwKTtjYXNlIDM6cmV0dXJuIGEuTS5wdXNoKGYpLGwucmV0dXJuKGYpfX0pfTt2YXIgS3g9ZnVuY3Rpb24oYSxiKXtfLkQuY2FsbCh0aGlzKTt0aGlzLmw9Yjt0aGlzLmo9e3Jvb3RNYXJnaW46YX07dGhpcy5nPW5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoMCxfLkEpKHRoaXMuaCx0aGlzKSx0aGlzLmopfTtfLnooS3gsXy5EKTtLeC5wcm90b3R5cGUuSj1mdW5jdGlvbigpe18uRC5wcm90b3R5cGUuSi5jYWxsKHRoaXMpO3RoaXMuZz1udWxsfTtLeC5wcm90b3R5cGUuaD1mdW5jdGlvbihhKXtmb3IodmFyIGI9MDtiPGEubGVuZ3RoO2IrKylpZigwPGFbYl0uaW50ZXJzZWN0aW9uUmF0aW8pe3RoaXMubCgpO2JyZWFrfX07dmFyIEx4PWZ1bmN0aW9uKGEpe3JldHVybigwLF8uUG0pKCc8c3BhbiBpZD0iJytWKGEuaWQpKyciPjwvc3Bhbj4nKX0sTXg9ZnVuY3Rpb24oYSl7dmFyIGI9YS5pZCxjPWEubGc7cmV0dXJuKDAsXy5QbSkobnEoYS5tZykrJzxkaXYgaWQ9IicrVihiKSsnIj48L2Rpdj4nK25xKGMpKX0sWW89ZnVuY3Rpb24oYSl7dmFyIGI9YS50b3AsYz1hLmxlZnQsZD1hLmJvdHRvbSxlPWEucmlnaHQsZj1hLmlkO3JldHVybigwLF8uUW0pKCIuIit2cShhLmNsYXNzTmFtZSkrIiB7ei1pbmRleDo5OTk5OTk5OyBvdmVyZmxvdzp2aXNpYmxlOyBwb3NpdGlvbjpmaXhlZDsgX3Bvc2l0aW9uOmFic29sdXRlOyIrKGJ8fDA9PT1iPyJ0b3A6Iit2cShiKSsicHg7IF90b3A6ZXhwcmVzc2lvbigoIit2cShiKSsiKyhoYWNrMT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wfHxkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCkpKydweCcpOyI6InRvcDphdXRvOyIpKyhjfHwwPT09Yz8ibGVmdDoiK3ZxKGMpKwoicHg7IF9sZWZ0OmV4cHJlc3Npb24oKCIrdnEoYykrIisoaGFjazI9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnR8fGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCkpKydweCcpOyI6ImxlZnQ6YXV0bzsiKSsoZHx8MD09PWQ/ImJvdHRvbToiK3ZxKGQpKyJweDsgX3RvcDpleHByZXNzaW9uKCgtIit2cShkKSsiLWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCciK1N0cmluZyhmKS5yZXBsYWNlKHJxLGpxKSsiJykub2Zmc2V0SGVpZ2h0KyhoYWNrMz1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0fHxkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodCkrKGhhY2s0PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3B8fGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wKSkrJ3B4Jyk7IjoiYm90dG9tOmF1dG87IikrKGV8fDA9PT1lPyJyaWdodDoiK3ZxKGUpKyJweDsgX2xlZnQ6ZXhwcmVzc2lvbigoLSIrdnEoZSkrIi1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnIisKU3RyaW5nKGYpLnJlcGxhY2UocnEsanEpKyInKS5vZmZzZXRXaWR0aCsoaGFjazU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRofHxkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoKSsoaGFjazY9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnR8fGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCkpKydweCcpOyI6InJpZ2h0OmF1dG87IikrIn0iKX0sTng9ZnVuY3Rpb24oKXtyZXR1cm4oMCxfLlBtKSgnPGRpdiBjbGFzcz0iJytWKCJWSXBnSmQtWlZpOW9kLWFaMndFZS13T0hNeWYiKSsnIj48ZGl2IGNsYXNzPSInK1YoIlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPIikrJyI+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSInK1YoIlZJcGdKZC1aVmk5b2QtYVoyd0VlIikrJyIgd2lkdGg9Ijk2cHgiIGhlaWdodD0iOTZweCIgdmlld0JveD0iMCAwIDY2IDY2Ij48Y2lyY2xlIGNsYXNzPSInK1YoIlZJcGdKZC1aVmk5b2QtYVoyd0VlLUp0NWNLIikrCiciIGZpbGw9Im5vbmUiIHN0cm9rZS13aWR0aD0iNiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBjeD0iMzMiIGN5PSIzMyIgcj0iMzAiLz48L3N2Zz48L2Rpdj48L2Rpdj4nKX07dmFyIE94PWZ1bmN0aW9uKCl7UC5jYWxsKHRoaXMpfTtfLnooT3gsUCk7T3gucHJvdG90eXBlLlM9ZnVuY3Rpb24oKXt0aGlzLm9hKEluKE54KSl9O094LnByb3RvdHlwZS5vYT1mdW5jdGlvbihhKXt0aGlzLm89YX07dmFyIFB4PWZ1bmN0aW9uKGEpe1p0KGEuQygpLCJWSXBnSmQtWlZpOW9kLWFaMndFZS13T0hNeWYtdGk2aEdjIik7WnQoYS5DKCkuZmlyc3RDaGlsZCwiVklwZ0pkLVpWaTlvZC1hWjJ3RWUtT2lpQ08tdGk2aEdjIil9O3ZhciBReD1mdW5jdGlvbigpe3RoaXMuZz1uZXcgT3g7dGhpcy5nLlMoKTt0aGlzLmcueWEoKTt0aGlzLmg9MH07UXgucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5oPTA7UHgodGhpcy5nKX07dmFyIFJ4PU9yKFZyKSxTeD1mdW5jdGlvbihhLGIsYyxkLGUsZixnLGgpe3RoaXMuaD1hO3RoaXMuZz1iO3RoaXMuQj1bXTt0aGlzLkQ9bnVsbDt0aGlzLm89Yzt0aGlzLmw9ZDt0aGlzLmo9ZTt0aGlzLk49Zjt0aGlzLnFhPWc7dGhpcy5GPXRoaXMucz1udWxsO3RoaXMuQT1ofHxudWxsO3RoaXMuSD10aGlzLks9ITE7dGhpcy5HPXt9O3RoaXMuYmE9Ung7dGhpcy5NPTB9LFR4PWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1uZXcgU2V0LGM9MDtjPGEubGVuZ3RoO2MrKyl3dyhhW2NdKS5mb3JFYWNoKGZ1bmN0aW9uKGQpe3JldHVybiBiLmFkZChkKX0pO3JldHVybiBifTsKU3gucHJvdG90eXBlLnRyYWNrVmlzaWJpbGl0eT1mdW5jdGlvbihhKXthPXRoaXMucz1uZXcgS3goIjIwMHB4IiwoMCxfLkEpKHRoaXMuUCx0aGlzLGEpKTt2YXIgYj1ieChUeChbXS5jb25jYXQodGhpcy5nLHRoaXMuQikpKTtfLnRmKGIsKDAsXy5BKShhLmcub2JzZXJ2ZSxhLmcpKTthPXRoaXMuRj1uZXcgS3goIjBweCIsKDAsXy5BKSh0aGlzLlUsdGhpcykpO2I9YngoVHgoW10uY29uY2F0KHRoaXMuZyx0aGlzLkIpKSk7Xy50ZihiLCgwLF8uQSkoYS5nLm9ic2VydmUsYS5nKSl9O1N4LnByb3RvdHlwZS5QPWZ1bmN0aW9uKGEpe3RoaXMucyYmKHRoaXMucy5nLmRpc2Nvbm5lY3QoKSx0aGlzLnM9bnVsbCk7YSgpfTsKU3gucHJvdG90eXBlLlU9ZnVuY3Rpb24oKXt0aGlzLks9ITA7VXgodGhpcyk7aWYoIXRoaXMuSCYmdGhpcy5BKXt2YXIgYT10aGlzLkE7MD09YS5oKysmJihhPWEuZyxYdChhLkMoKSwiVklwZ0pkLVpWaTlvZC1hWjJ3RWUtd09ITXlmLXRpNmhHYyIpLFh0KGEuQygpLmZpcnN0Q2hpbGQsIlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPLXRpNmhHYyIpKX19O3ZhciBVeD1mdW5jdGlvbihhKXthLkYmJihhLkYuZy5kaXNjb25uZWN0KCksYS5GPW51bGwpfTtTeC5wcm90b3R5cGUuZG9uZT1mdW5jdGlvbigpe2lmKHRoaXMuSyYmIXRoaXMuSCYmdGhpcy5BKXt2YXIgYT10aGlzLkE7MD09LS1hLmgmJlB4KGEuZyl9dGhpcy5zJiYodGhpcy5zLmcuZGlzY29ubmVjdCgpLHRoaXMucz1udWxsKTtVeCh0aGlzKTtWeCh0aGlzKX07dmFyIEh4PWZ1bmN0aW9uKGEsYixjKXtjPyhhLmcucHVzaChiKSxhLkdbYi5lYSgpXT0hMCk6YS5CLnB1c2goYil9OwpTeC5wcm90b3R5cGUucmI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLmxlbmd0aCt0aGlzLkIubGVuZ3RofTt2YXIgV3g9ZnVuY3Rpb24oYSl7aWYoMD09YS5oLmxlbmd0aCl7Zm9yKHZhciBiPVtdLGM9MDtjPGEuZy5sZW5ndGg7KytjKWIucHVzaChhLmdbY10uZWEoKSk7YS5oLnB1c2gobmV3IGR4KGIsITEpKX19O1N4LnByb3RvdHlwZS50cmFuc2xhdGU9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe2QrKztkPT1jJiZlKCl9V3godGhpcyk7Zm9yKHZhciBjPTAsZD0wLGU9ZnVuY3Rpb24oKXt9LGY9dGhpcy5vLGc9dGhpcy5sLGg9dGhpcy5qLGw9MDtsPHRoaXMuaC5sZW5ndGg7KytsKWV4KHRoaXMuaFtsXSxmdW5jdGlvbihtLG4scSl7cmV0dXJuIEp4KGYsXy5KYihtLGIpLG4scXx8ZyxoKX0pJiZjKys7MCE9YyYmKGU9S3coYSkpO3JldHVybiBjfTsKdmFyIFZ4PWZ1bmN0aW9uKGEpe2lmKDA8YS5nLmxlbmd0aCl7aWYoMT09YS5nLmxlbmd0aCYmMTxhLmgubGVuZ3RoKXt2YXIgYj0xO3ZhciBjPWEuaC5sZW5ndGh9ZWxzZSBiPWM9YS5nLmxlbmd0aDt2YXIgZD1hLmcubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlLkZ9KS5yZWR1Y2UoZnVuY3Rpb24oZSxmKXtyZXR1cm4gZStmfSk7JHIoYS5iYSx7cmI6YixlZzpjLENnOmQsZGc6YS5NfSl9fTt2YXIgWHg9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5lZCgpLGM9Yi5nLGQ9Xy5SbShiLCJTVFlMRSIpLGU9c3AoXy5rZChjKSk7ZSYmZC5zZXRBdHRyaWJ1dGUoIm5vbmNlIixlKTtkLnR5cGU9InRleHQvY3NzIjtiPWIuZy5nZXRFbGVtZW50c0J5VGFnTmFtZSgiSEVBRCIpWzBdOyhlPV8uRWEoKSkmJmIuYXBwZW5kQ2hpbGQoZCk7ZC5zdHlsZVNoZWV0P2Quc3R5bGVTaGVldC5jc3NUZXh0PWE6ZC5hcHBlbmRDaGlsZChjLmNyZWF0ZVRleHROb2RlKGEpKTtlfHxiLmFwcGVuZENoaWxkKGQpO3JldHVybiBkfTt2YXIgWXg9e2FtOiJOb3RvIFNhbnMgRXRoaW9waWMiLGJuOiJMb2hpdCBCZW5nYWxpIixkdjoiTm90byBTYW5zIFRoYWFuYSIsa206Ik5va29yYSIsbG86IkRoeWFuYSIsbWw6Ik5vdG8gU2FucyBNYWxheWFsYW0iLCJtbmktTXRlaSI6Ik5vdG8gU2FucyBNZWV0ZWkgTWF5ZWsiLG15OiJOb3RvIFNhbnMgTXlhbm1hciIscHM6Ik5vdG8gTmFza2ggQXJhYmljIixzZDoiTm90byBOYXNraCBBcmFiaWMiLHNpOiJOb3RvIFNhbnMgU2luaGFsYSIsdGE6IkxvaGl0IFRhbWlsIn0sWng9e30sJHg9KFp4LkRoeWFuYT0iL2Nzcz9mYW1pbHk9RGh5YW5hIixaeFsiTG9oaXQgQmVuZ2FsaSJdPSIvY3NzP2ZhbWlseT1Mb2hpdCtCZW5nYWxpIixaeFsiTG9oaXQgVGFtaWwiXT0iL2Nzcz9mYW1pbHk9TG9oaXQrVGFtaWwiLFp4Lk5va29yYT0iL2Nzcz9mYW1pbHk9Tm9rb3JhIixaeFsiTm90byBOYXNraCBBcmFiaWMiXT0iL2Vhcmx5YWNjZXNzL25vdG9uYXNraGFyYWJpYy5jc3MiLFp4WyJOb3RvIFNhbnMgRXRoaW9waWMiXT0KIi9lYXJseWFjY2Vzcy9ub3Rvc2Fuc2V0aGlvcGljLmNzcyIsWnhbIk5vdG8gU2FucyBNYWxheWFsYW0iXT0iL2Vhcmx5YWNjZXNzL25vdG9zYW5zbWFsYXlhbGFtLmNzcyIsWnhbIk5vdG8gU2FucyBNZWV0ZWkgTWF5ZWsiXT0iL2Nzcz9mYW1pbHk9Tm90bytTYW5zK01lZXRlaStNYXllayIsWnhbIk5vdG8gU2FucyBNeWFubWFyIl09Ii9lYXJseWFjY2Vzcy9ub3Rvc2Fuc215YW5tYXIuY3NzIixaeFsiTm90byBTYW5zIFNpbmhhbGEiXT0iL2Vhcmx5YWNjZXNzL25vdG9zYW5zc2luaGFsYS5jc3MiLFp4WyJOb3RvIFNhbnMgVGhhYW5hIl09Ii9lYXJseWFjY2Vzcy9ub3Rvc2Fuc3RoYWFuYS5jc3MiLFp4KSxheT1mdW5jdGlvbigpe3RoaXMuZz1bXX07YXkucHJvdG90eXBlLnJlc3RvcmU9ZnVuY3Rpb24oKXtmb3IodmFyIGE9Xy55KHRoaXMuZyksYj1hLm5leHQoKTshYi5kb25lO2I9YS5uZXh0KCkpYi52YWx1ZS5yZW1vdmUoKTt0aGlzLmc9W119O3ZhciBieT1mdW5jdGlvbihhLGIpe18uRC5jYWxsKHRoaXMpO3RoaXMuZz1bXTt0aGlzLmg9W107dGhpcy5sPWE7dGhpcy5qPWJ9O18ueihieSxfLkQpO2J5LnByb3RvdHlwZS5vPWZ1bmN0aW9uKGEpe3ZhciBiPSgwLF8ubWMpKGEuaHJlZik7MD09Yi5pbmRleE9mKCJqYXZhc2NyaXB0OiIpfHwwPD1iLmluZGV4T2YoIiMiKXx8KHRoaXMuaC5wdXNoKGEuaHJlZiksdGhpcy5nLnB1c2goYSksYS5ocmVmPWIrIiNnb29ndHJhbnMvIit0aGlzLmwrIi8iK3RoaXMuail9O2J5LnByb3RvdHlwZS5KPWZ1bmN0aW9uKCl7Xy5ELnByb3RvdHlwZS5KLmNhbGwodGhpcyk7dGhpcy5yZXN0b3JlKCl9O2J5LnByb3RvdHlwZS5yZXN0b3JlPWZ1bmN0aW9uKCl7aWYodGhpcy5nLmxlbmd0aCl7Zm9yKHZhciBhPTA7YTx0aGlzLmcubGVuZ3RoOysrYSl0aGlzLmdbYV0uaHJlZj10aGlzLmhbYV07dGhpcy5nPVtdO3RoaXMuaD1bXX19O3ZhciBjeT1mdW5jdGlvbihhLGIpe18uRC5jYWxsKHRoaXMpO3RoaXMuZz1hO3RoaXMuaD1fLktmLnRlc3QoYik/InRyYW5zbGF0ZWQtcnRsIjoidHJhbnNsYXRlZC1sdHIiO2E9W10uY29uY2F0KHRoaXMuZyk7Zm9yKGI9MDtiPGEubGVuZ3RoOysrYilGcChhW2JdKSYmWHQoYVtiXSx0aGlzLmgpfTtfLnooY3ksXy5EKTtjeS5wcm90b3R5cGUuSj1mdW5jdGlvbigpe18uRC5wcm90b3R5cGUuSi5jYWxsKHRoaXMpO3RoaXMucmVzdG9yZSgpfTtjeS5wcm90b3R5cGUucmVzdG9yZT1mdW5jdGlvbigpe2Zvcih2YXIgYT1bXS5jb25jYXQodGhpcy5nKSxiPTA7YjxhLmxlbmd0aDsrK2IpRnAoYVtiXSkmJlp0KGFbYl0sdGhpcy5oKX07dmFyIGR5PWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCxsLG0pe18uRC5jYWxsKHRoaXMpO3RoaXMuRj1hO3RoaXMuaGM9Yjt0aGlzLmxiPW5ldyBheTt0aGlzLlU9Y3x8bnVsbDt0aGlzLmFhPW18fG51bGw7dGhpcy5LPW51bGw7dGhpcy51YT0hIWQ7dGhpcy5PYz1lfHwidHJhbnNwYXJlbnQiO3RoaXMuaWM9ISFmO3RoaXMuRD1bXTt0aGlzLndiPXRoaXMuRz10aGlzLmc9ITE7dGhpcy5oPWh8fG5ldyB4dzt0aGlzLlRjPSFoO3RoaXMuVz1nfHxCdy5vYigpO3RoaXMuaWI9bmV3IGF4O3RoaXMubWE9dGhpcy5kYT10aGlzLkg9ITE7dGhpcy5qYj10aGlzLm89LjU7dGhpcy5rYj0uMDE7dGhpcy5CPW5ldyBEdyh0aGlzLm8pO3RoaXMuUD0odGhpcy5BPXRoaXMuVD0hIWwpP25ldyBNdXRhdGlvbk9ic2VydmVyKCgwLF8uQSkodGhpcy5UaCx0aGlzKSk6bnVsbDt0aGlzLmo9dGhpcy5sPW51bGw7Xy5HKHdpbmRvdywiYmx1ciIsdGhpcy5KZiwhMCx0aGlzKTtfLkcod2luZG93LCJmb2N1cyIsCnRoaXMuS2YsITAsdGhpcyl9O18ueihkeSxfLkQpO18uaz1keS5wcm90b3R5cGU7Xy5rLkthPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubD90aGlzLmw6IiJ9O18uay5mYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmo/dGhpcy5qOiIifTtfLmsucGg9ZnVuY3Rpb24oYSl7dGhpcy5vaS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dGhpcy5zJiZ0aGlzLnMoMCwhMSwxKX07Xy5rLnVmPWZ1bmN0aW9uKGEpe3RoaXMucGkuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMucyYmdGhpcy5zKDAsITEsMSl9O18uay5xaD1mdW5jdGlvbihhKXt0aGlzLnJpLmFwcGx5KHRoaXMsYXJndW1lbnRzKTt0aGlzLnMmJnRoaXMucygwLCExLDEpfTtfLmsucmg9ZnVuY3Rpb24oYSl7dGhpcy50aS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dGhpcy5zJiZ0aGlzLnMoMCwhMSwxKX07Cl8uay50cmFuc2xhdGU9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihkfHxhIT10aGlzLmx8fGIhPXRoaXMuailleSh0aGlzKSx0aGlzLlRjJiYodGhpcy5oPW5ldyB4dyk7ZWxzZSBpZih0aGlzLmcpcmV0dXJuO3RoaXMucz1jO3RoaXMuUWM9ZTt0aGlzLkE9dGhpcy5UO3RoaXMuUCYmdGhpcy5QLm9ic2VydmUoZG9jdW1lbnQuYm9keSx7YXR0cmlidXRlczohMCxjaGlsZExpc3Q6ITAsY2hhcmFjdGVyRGF0YTohMCxzdWJ0cmVlOiEwfSk7dGhpcy5nPSEwO3RoaXMubD1hO3RoaXMuaj1iO3RoaXMudWEmJih0aGlzLks9bmV3IGJ5KGEsYikpO3RoaXMubWE9ImF1dG8iPT10aGlzLmw7dGhpcy5VJiYoYz10aGlzLlUsYSYmKGMuQj1hKSxiJiYoYy5GPWIpKTt0aGlzLnJhPW5ldyBjeSh0aGlzLkYsdGhpcy5qKTtiIGluIFl4JiYoYT10aGlzLmxiLGI9WXhbYl0sZG9jdW1lbnQuZm9udHMuY2hlY2soIjEycHggICIrYik/Yz0hMTooYz0iQGltcG9ydCB1cmwoIitMbygiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSIpLnJlc29sdmUoTG8oJHhbYl0pKS50b1N0cmluZygpKwoiKTsiLGM9WHgoYyksYS5nLnB1c2goYyksYz0hMCksYyYmKGI9WHgoJ2JvZHkge2ZvbnQtZmFtaWx5OiInK2IrJyIsYXJpYWwsc2Fucy1zZXJpZiAhaW1wb3J0YW50fScpLGEuZy5wdXNoKGIpKSk7dGhpcy5NPWZ5KHRoaXMpOyhiPXRoaXMuRiBpbnN0YW5jZW9mIE5vZGU/dGhpcy5GOm51bGwpJiZneShiLHRoaXMuail9O3ZhciBmeT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgRncoYSxhLlcpO0d3KGIsYS5JZik7SXcoYiwoMCxfLkEpKGEucGgsYSkpO0p3KGIsbmV3IEF4KGEuaGMsW10uY29uY2F0KGEuRiksYS5XLGEucyxhLkEsYS5RYykpO3JldHVybiBifTtkeS5wcm90b3R5cGUucmVzdG9yZT1mdW5jdGlvbigpe2V5KHRoaXMpO3RoaXMuaWIucmVzdG9yZSgpO3ZhciBhPXRoaXMuRiBpbnN0YW5jZW9mIE5vZGU/dGhpcy5GOm51bGw7YSYmZ3koYSx0aGlzLkthKCkpfTsKZHkucHJvdG90eXBlLko9ZnVuY3Rpb24oKXtfLkQucHJvdG90eXBlLkouY2FsbCh0aGlzKTt0aGlzLnJlc3RvcmUoKTtfLlFkKHdpbmRvdywiYmx1ciIsdGhpcy5KZiwhMCx0aGlzKTtfLlFkKHdpbmRvdywiZm9jdXMiLHRoaXMuS2YsITAsdGhpcyl9O3ZhciBoeT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1vcyhhLmguaCksZj1uZXcgRncoYSxiLkYpO2IuQi5wdXNoKGYpO0h3KGYsYi5LKTtEeChiLGUpO0d3KGYsZHx8YS5GZik7Yj1jfHxuZXcgU3goW10sW10sYixhLkthKCksYS5mYSgpLGEud2IsYS5HLGEuYWEpO0l3KGYsYS5XaCxhKTthLkEmJkh3KGYsYi5kb25lLGIpO0p3KGYsYil9O18uaz1keS5wcm90b3R5cGU7Xy5rLldoPWZ1bmN0aW9uKGEsYixjKXtjLmRvbmUoKTt0aGlzLkc/dGhpcy5yaChhKTp0aGlzLnFoKGEpO2Muby5LKCl9O18uay5LZj1mdW5jdGlvbigpe3RoaXMuSD0hMTt0aGlzLk49MDtDdyh0aGlzLkIsdGhpcy5vKX07Cl8uay5KZj1mdW5jdGlvbihhKXthLnRhcmdldD09d2luZG93JiYodGhpcy5IPSEwLHRoaXMuTj0wLEN3KHRoaXMuQiwuMDEpKX07Xy5rLlRoPWZ1bmN0aW9uKGEpe2lmKHRoaXMuZyYmdGhpcy5BKXtmb3IodmFyIGI9MDtiPGEubGVuZ3RoO2IrKylpZihhW2JdLnRhcmdldCYmYVtiXS50YXJnZXQuY2xhc3NOYW1lJiYic3RyaW5nIj09PXR5cGVvZiBhW2JdLnRhcmdldC5jbGFzc05hbWUmJigwPD1hW2JdLnRhcmdldC5jbGFzc05hbWUuaW5kZXhPZigidHJhbnNsYXRlIil8fDA9PWFbYl0udGFyZ2V0LmNsYXNzTmFtZS5pbmRleE9mKCJnb29nLSIpKSlyZXR1cm47dGhpcy5XLmFkZCgoMCxfLkEpKHRoaXMuVWksdGhpcykpfX07Xy5rLlVpPWZ1bmN0aW9uKCl7dGhpcy5HPSEwO3RoaXMuTS5zdG9wKCk7dGhpcy5NPWZ5KHRoaXMpO3JldHVybiExfTtfLmsuSWY9ZnVuY3Rpb24oYSxiKXtCeChiLEt3KGEpKTtoeSh0aGlzLGIpO3JldHVybiB0aGlzLlpofTsKXy5rLlpoPWZ1bmN0aW9uKGEsYil7aWYoIXRoaXMuZylyZXR1cm4gTXc7aWYoIUx3KGEpKXJldHVybiBOdztpZighdGhpcy5BKWZvcihhPTA7YTx0aGlzLkQubGVuZ3RoOysrYSl7dmFyIGM9YixkPSgwLF8uQSkodGhpcy5qZix0aGlzLGIsdGhpcy5EW2FdKTtjLkYuYWRkKGQpfXJldHVybiB0aGlzLllofTsKXy5rLkVmPWZ1bmN0aW9uKGEsYil7aWYodGhpcy5OJiYhdGhpcy5IKXthPShuZXcgRGF0ZSkuZ2V0VGltZSgpLXRoaXMuTjt2YXIgYz10aGlzLm87OTAwPmEmJi4wMTxjP2M9TWF0aC5tYXgoLjkqYywuMDEpOjExMDA8YSYmLjU+YyYmKGM9TWF0aC5taW4oMS41KmMsLjUpKTt0aGlzLm89Yzt0aGlzLmRhP3RoaXMua2I9LjAxOnRoaXMuamI9dGhpcy5vfXRoaXMuRz10aGlzLmc9ITA7dGhpcy5OPShuZXcgRGF0ZSkuZ2V0VGltZSgpO3RoaXMuUmMhPShhPWRvY3VtZW50LmJvZHkuaW5uZXJUZXh0fHxkb2N1bWVudC5ib2R5LnRleHRDb250ZW50fHxkb2N1bWVudC5ib2R5LmlubmVySFRNTCk/KHRoaXMuUmM9YSxhPSEwKTphPSExO2E/KHRoaXMuZGE9ITEsdGhpcy5vPXRoaXMuamIsdGhpcy5IfHxDdyh0aGlzLkIsdGhpcy5vKSxDeChiLFtdLmNvbmNhdCh0aGlzLkYpLHRoaXMuQiksYT1uZXcgRncodGhpcyx0aGlzLkIpLEd3KGEsdGhpcy5JZiksSXcoYSwoMCxfLkEpKHRoaXMudWYsdGhpcykpLApKdyhhLGIpLHRoaXMuTT1hKToodGhpcy5kYT0hMCx0aGlzLm89dGhpcy5rYix0aGlzLkh8fEN3KHRoaXMuQix0aGlzLm8pLGE9bmV3IEZ3KHRoaXMsdGhpcy5CKSxHdyhhLHRoaXMuRWYpLEl3KGEsKDAsXy5BKSh0aGlzLnVmLHRoaXMpKSxKdyhhLGIpLHRoaXMuTT1hKTtyZXR1cm4gTXd9O18uay5ZaD1mdW5jdGlvbihhLGIpe2lmKCF0aGlzLmcpcmV0dXJuIE13O3RoaXMuRz10aGlzLmc9ITE7dGhpcy5tYT9FeChiLCEwKTooRXgoYiksYi5VKGIubCkpO2lmKHRoaXMuaWMpcmV0dXJuIHRoaXMuRWY7Yi5jbGVhcigpO3JldHVybiBNd307CnZhciBqeT1mdW5jdGlvbihhLGIsYyl7YTp7dmFyIGQ9aXkoYSksZT1hLlUsZj1hLk9jLGc9YS5pYi5nO2I9S3coYik7aWYoIWMuRyl7aWYoMD09Yy5OLmxlbmd0aCl7MD09Yy5sJiYwPT1jLlcmJmMuQSgwLCEwKTtjPSExO2JyZWFrIGF9Yy5HPUd4KGMsZCxlLGYsZyl9Yy5kYT0hMDtRdyhjLkcsYy5qLGMuaCxiKTtjPSEwfXJldHVybiBjP2EuRmY6YS5aY30saXk9ZnVuY3Rpb24oYSl7cmV0dXJuIGEudWE/KDAsXy5BKShhLksubyxhLkspOmZ1bmN0aW9uKCl7fX07Xy5rPWR5LnByb3RvdHlwZTsKXy5rLkZmPWZ1bmN0aW9uKGEsYil7aWYoIXRoaXMuZylyZXR1cm4gTXc7dmFyIGM9Yi5vO2lmKG51bGw9PWMuZyl7aWYoIWMuZGEpcmV0dXJuIGp5KHRoaXMsYSxiLm8pO2lmKCFMdyhhKSlyZXR1cm4gTnc7Yy5kYT0hMTtjLmc9Yy5HLm1jfHxudWxsO3ZhciBkPWMuZz9jLmc6Yy5HPW51bGw7aWYoIWQpcmV0dXJuIGp5KHRoaXMsYSxiLm8pO3RoaXMuRC5wdXNoKGQpO3ZhciBlPWQuZWEoKTtpZih0aGlzLmguaGFzKGUsIXRoaXMuQSl8fG51bGwhPWIuR1tlXSYmYi5HW2VdKXJldHVybiBlPWMuZy5GLGMubCs9ZSxjLmotPWUsYy5nPW51bGwsdGhpcy5BJiZIeChiLGQsITEpLGp5KHRoaXMsYSxiLm8pO3RoaXMuaC5nW2QuZWEoKV09bnVsbH0wPGIucmIoKSYmQ3codGhpcy5CLC41KTtyZXR1cm4gSXgoYyxiLG9zKHRoaXMuaC5oKSk/dGhpcy5aYzpqeSh0aGlzLGEsYi5vKX07Cl8uay5aYz1mdW5jdGlvbihhLGIpe2lmKCF0aGlzLmd8fDA9PWIucmIoKSlyZXR1cm4gTXc7aHkodGhpcyxiLm8pO3JldHVybiB0aGlzLkE/KGIudHJhY2tWaXNpYmlsaXR5KEt3KGEpKSx0aGlzLmFpKTowPT1iLnRyYW5zbGF0ZShhKT9Ndzp0aGlzLkhmfTtfLmsuYWk9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5nP0x3KGEpPzA9PWIudHJhbnNsYXRlKGEpP013OnRoaXMuSGY6Tnc6TXd9OwpfLmsuamY9ZnVuY3Rpb24oYSxiKXtiLmwmJnRoaXMuaC5yZW1vdmUoYi5qKTtpZighdGhpcy5nKXJldHVybiExO2lmKHRoaXMuaC5oYXMoYi5lYSgpLCExKSl7dmFyIGM9dGhpcy5oO2lmKGMuaGFzKGIuaiwhMSkpe3ZhciBkPWIuaixlPWMuZ1tkXTtlfHwoZT1jLmhbZF0sYy5nW2RdPWUpO2IuaD1lO2IuTT0hMH1lbHNlIGMucmVtb3ZlKGIuaiksYi5sPSEwO3V3KGIpfWVsc2UgaWYoYz10aGlzLmgsYi5sKWMucmVtb3ZlKGIuaik7ZWxzZSBpZihiLkQpe3ZhciBmPWIuRC5yZXBsYWNlKC88YSAvZywiPHNwYW4gIikucmVwbGFjZSgvXC9hPi9nLCIvc3Bhbj4iKTtiLk09ITA7ZGVsZXRlIGIuRDtiLkQ9bnVsbDtiLmg9W107ZD1kb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoIiIpO2U9ZC5jcmVhdGVFbGVtZW50KCJkaXYiKTtPcShlLCExKTtmPTA8PWYuaW5kZXhPZigiPGk+Iik/ZjoiPGI+IitmKyI8L2I+IjtmPV8uZGIoZik7Zj1fLkltKGYpO2lmKDE9PT0KZS5ub2RlVHlwZSl7dmFyIGc9ZS50YWdOYW1lO2lmKCJTQ1JJUFQiPT09Z3x8IlNUWUxFIj09PWcpdGhyb3cgRXJyb3IoIkEiKTt9ZS5pbm5lckhUTUw9Xy5WYyhmKTtkLmJvZHkuYXBwZW5kQ2hpbGQoZSk7ZD1bXTtmb3IoZj1lLmZpcnN0Q2hpbGQ7ZjtmPWYubmV4dFNpYmxpbmcpaWYoIkkiPT1mLnRhZ05hbWUpdmFyIGg9c3coYixOcChmKSxmLmlubmVySFRNTCk7ZWxzZSBpZigiQiI9PWYudGFnTmFtZSl7aHx8KGg9c3coYiwiIiwiIikpO2lmKDE9PWIuZy5sZW5ndGgpeXcoaC5jYSxkLDAsZik7ZWxzZXtnPWQ7dmFyIGw9Zjt2YXIgbT1iLmc7aD1oLmNhO2Zvcih2YXIgbj1bXSxxPWwuZmlyc3RDaGlsZDtxO3E9cil7dmFyIHI9cS5uZXh0U2libGluZzt6dyhxKX1mb3Iocj1sLmZpcnN0Q2hpbGQ7cjtyPXIubmV4dFNpYmxpbmcpci5hdHRyaWJ1dGVzJiZyLmF0dHJpYnV0ZXMuaT8obD1wYXJzZUludChyLmF0dHJpYnV0ZXMuaS5ub2RlVmFsdWUsMTApLCFpc05hTihsKSYmMDw9bCYmCmw8bS5sZW5ndGgmJihtW2xdLkNkJiZuW2xdP25bbF0uWSs9ci5maXJzdENoaWxkJiYzPT1yLmZpcnN0Q2hpbGQubm9kZVR5cGU/ci5maXJzdENoaWxkLm5vZGVWYWx1ZTpOcChyKTpuW2xdPXl3KGgsZyxsLHIpKSk6Mz09ci5ub2RlVHlwZSYmaC5wdXNoKHtYOi0xLFk6QXAoci5ub2RlVmFsdWUpfSk7bnVsbCE9aCYmMDxoLmxlbmd0aCYmLTE9PWhbMF0uWCYmKDE9PWgubGVuZ3RoP2hbMF0uWD0wOihoWzFdLlk9aFswXS5ZK2hbMV0uWSxoLnNoaWZ0KCkpKX1oPXZvaWQgMH1mPWIuaDtmb3IoZz0wO2c8Zi5sZW5ndGgtMTsrK2cpbT1mW2ddLGg9dnAobS5jYVttLmNhLmxlbmd0aC0xXS5ZKSxoPWguY2hhckNvZGVBdChoLmxlbmd0aC0xKSwxMjI4ODw9aCYmMTIzNTE+PWh8fDY1MjgwPD1oJiY2NTUxOT49aHx8KG0uY2FbbS5jYS5sZW5ndGgtMV0uWSs9IiAiKTtFcChlKTtmb3IoZT0wO2U8Yi5nLmxlbmd0aDsrK2UpZTxkLmxlbmd0aCYmZTxiLkIubGVuZ3RoJiZudWxsIT1kW2VdJiYoZj0KYi5CW2VdLGc9ZFtlXS5zdGFydCxudWxsIT1nJiYobT1mLnN1YnN0cmluZygwLGYubGVuZ3RoLWYucmVwbGFjZSgvXltcc1x4YTBdKy8sIiIpLmxlbmd0aCksIiAiPT1tJiYobT0iIiksbSYmKGcuWT1tK2cuWS5yZXBsYWNlKC9eW1xzXHhhMF0rLywiIikpKSxnPWRbZV0uZW5kLG51bGwhPWcmJihmPWYuc3Vic3RyaW5nKHZwKGYpLmxlbmd0aCksIiAiPT1mJiYoZj0iIiksZiYmKGcuWT12cChnLlkpK2YpKSk7MSE9Yi5oLmxlbmd0aHx8Yi5oWzBdLnRlfHwoYi5oWzBdLnRlPWIuaik7Yy53cml0ZShiLmosYi5oKTt1dyhiKX1iLkt8fCh0aGlzLm1hPSExKTtjPWIubD8hMDp2b2lkIDA7YS5IKz1iLkY7bnVsbCE9YyYmKGEuYWE9ITApO2I9TWF0aC5taW4oTWF0aC5mbG9vcigxMDAqYS5IL2EubCksMTAwKTtpZihhLkQhPWJ8fGMpYS5EPWIsYS5QPyhhLkEoYS5ELCEwLGMpLGEuVShhLkgpKTphLkEoYS5ELCExLGMpO3JldHVybiExfTsKXy5rLkhmPWZ1bmN0aW9uKGEsYil7aWYoIXRoaXMuZylyZXR1cm4gTXc7aWYoIUx3KGEpKXJldHVybiBOdztpZigxPGIucmIoKSl7YT1iLmhbMF07dmFyIGM9Yi5nO2lmKGEuanx8MD09Yy5sZW5ndGh8fG51bGw9PWEuZ3x8MD09YS5nLmxlbmd0aClhPW51bGw7ZWxzZXtmb3IodmFyIGQ9W10sZT1bXSxmPTA7ZjxhLmcubGVuZ3RoJiZmPGMubGVuZ3RoOysrZil7dmFyIGc9YS5nW2ZdO2cmJmdbMF0mJjIwMD09Z1sxXXx8KGUucHVzaChjW2ZdKSxkLnB1c2goYS5vW2ZdKSl9YT0wPGUubGVuZ3RoP3tWaTpuZXcgZHgoZCwhMCksRWU6ZX06bnVsbH1hPWE/bmV3IFN4KFthLlZpXSxhLkVlLGIubyxiLmwsYi5qLGIuTixiLnFhLGIuQSk6bnVsbDtudWxsIT1hJiZoeSh0aGlzLGIubyxhLHRoaXMuWmMpfWVsc2V7YT0hMTtmb3IoYz0wO2M8Yi5oLmxlbmd0aDsrK2MpZD1iLmhbY10sZC5qfHwyMDA9PWQuaCYmZC5nJiZkLmdbMF0/ZD1kLmw9ITE6KGQuaj0hMCxkPWQubD0hMCksYT1kfHxhO2lmKGEpcmV0dXJuIHRoaXMuWmN9ZD0KdGhpcy5LYSgpO2E9dGhpcy5mYSgpO2lmKDE8Yi5nLmxlbmd0aClpZihjPWIuaFswXSxlPSJhdXRvIj09ZCxkPWIuZywyMDA9PWMuaClmb3IoZj0wO2Y8Yy5nLmxlbmd0aCYmZjxkLmxlbmd0aDsrK2YpaWYoKGc9Yy5nW2ZdKSYmMjAwPT1nWzFdKXt2YXIgaD1nWzJdLGw9ZFtmXSxtPWwsbj1udWxsIT1oJiZoPT1hO20uRD1nWzBdO3ZvaWQgMCE9PW4mJihtLkg9bik7bC5LPWUmJm51bGw9PWh9ZWxzZSBkW2ZdLmw9ITA7ZWxzZSBmb3IoYT0wO2E8ZC5sZW5ndGg7KythKWRbYV0ubD0hMDtlbHNle2M9bmV3IGN4KCJhdXRvIj09ZCk7Zm9yKGQ9MDtkPGIuaC5sZW5ndGg7KytkKWY9Yi5oW2RdLGU9YSwyMDA9PWYuaCYmZi5nJiZmLmdbMF0/KGY9Zi5nWzBdLGMuZy5wdXNoKGZbMF0pLGY9ZlsyXSxjLmg9Yy5oJiZudWxsIT1mJiZmPT1lLG51bGwhPWYmJihjLmw9ITEpKTo1MDAhPWYuaCYmKGMuaj0hMCk7bnVsbCE9Yi5EJiYoYy5nLnB1c2goYi5EKSxiLkQ9bnVsbCk7aWYoYT1iLmdbMF0pZD0KYy5oLGEuRD1jLmVhKCksdm9pZCAwIT09ZCYmKGEuSD1kKSxhLks9Yy5sLGEubD1jLmp9aWYodGhpcy5BKXthPSgwLF8uQSkodGhpcy5qZix0aGlzKTtmb3IoYz0wO2M8Yi5nLmxlbmd0aDtjKyspYShiLm8sYi5nW2NdKTtmb3IoYz0wO2M8Yi5CLmxlbmd0aDtjKyspYShiLm8sYi5CW2NdKTtVeChiKTtiLkg9ITA7Yi5LJiZiLkEmJihiPWIuQSwwPT0tLWIuaCYmUHgoYi5nKSl9cmV0dXJuIE13fTsKdmFyIGV5PWZ1bmN0aW9uKGEpe2EuUCYmYS5QLmRpc2Nvbm5lY3QoKTthLmFhJiZhLmFhLnJlc2V0KCk7YS5nJiYoYS5NLnN0b3AoKSxhLmc9ITEsYS5HPSExKTtpZihhLkQubGVuZ3RoKXtmb3IodmFyIGI9MDtiPGEuRC5sZW5ndGg7KytiKWEuRFtiXS5SKCk7YS5EPVtdfW51bGwhPWEuSyYmKGEuSy5yZXN0b3JlKCksYS5LPW51bGwpO251bGwhPWEucmEmJihhLnJhLnJlc3RvcmUoKSxhLnJhPW51bGwpO2EubGIucmVzdG9yZSgpfSxneT1mdW5jdGlvbihhLGIpe2EuZ2V0QXR0cmlidXRlKCJ4bWw6bGFuZyIpJiZhLnNldEF0dHJpYnV0ZSgieG1sOmxhbmciLGIpO2EuZ2V0QXR0cmlidXRlKCJsYW5nIikmJmEuc2V0QXR0cmlidXRlKCJsYW5nIixiKX07dnMuYXR0YWNoKDMwNDYsZHkucHJvdG90eXBlLHtvaToxLHJpOjIscGk6Myx0aTo0fSk7dmFyIGt5PU9yKFZyKSxseT1mdW5jdGlvbihhLGIsYyxkLGUsZixnLGgsbCxtLG4pe18uRC5jYWxsKHRoaXMpO3RoaXMuSz1ifHxudWxsO3RoaXMuTT0hIWM7dGhpcy5HPWR8fCJ0cmFuc3BhcmVudCI7dGhpcy5GPWZ8fCIiO2I9Z3x8e2ZldGNoU3RhcnQ6MCxVazowfTthPWIuZmV0Y2hTdGFydHx8MDtiPWIuZmV0Y2hFbmR8fDA7dGhpcy5EPWEmJmI/Yi1hOjA7dGhpcy5QPURhdGUubm93KCktcHI7dGhpcy5zPSExO3RoaXMuZz1uZXcgSnMoZXx8IiIsdm9pZCAwLGYsbik7dGhpcy5IPW5ldyBEdygxKTt0aGlzLkE9bmV3IHh3O3RoaXMuaD1udWxsO3RoaXMuQj0hMDt0aGlzLm89bnVsbCE9Xy50LkludGVyc2VjdGlvbk9ic2VydmVyO3RoaXMuTj1ofHxudWxsO2U9bmV3IGJzO2Y9bmV3IGRzKHRoaXMuZy5pbml0aWFsaXplLmJpbmQodGhpcy5nLGUucmVnaXN0ZXIoKSkpO3RoaXMuRWM9ZXMoZixlLmRlbGF5KCgwLF8uQSkodGhpcy5FYyx0aGlzKSkpO3RoaXMuVmM9ZXMoZixlLmRlbGF5KCgwLF8uQSkodGhpcy5WYywKdGhpcykpKTt0aGlzLkJkPWVzKGYsZS5kZWxheSgoMCxfLkEpKHRoaXMuQmQsdGhpcykpKTt0aGlzLnJlc3RvcmU9ZXMoZixlLmRlbGF5KCgwLF8uQSkodGhpcy5yZXN0b3JlLHRoaXMpKSk7Zi5maW5pc2goKTtlLmZpbmlzaCgpO3BlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5tYXJrJiZwZXJmb3JtYW5jZS5tYXJrKEpyLHZvaWQgMCk7ZT1XcihreSwxKTtmPW5ldyBUbztmPV8uTihmLDEsd2luZG93LmxvY2F0aW9uLm9yaWdpbik7YTp7aWYocGVyZm9ybWFuY2UmJihoPXBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoIm5hdmlnYXRpb24iKSwxPT1oLmxlbmd0aCkpe2g9aFswXTticmVhayBhfWg9bnVsbH1oJiYobj1uZXcgWW4sbj1fLk4obiwxLCIiKSxhPVpuKGguc3RhcnRUaW1lKSxuPV8uSyhuLDIsYSksYT0kbihoLmR1cmF0aW9uKSxuPV8uSyhuLDMsYSksYT1uZXcgU28sYT1fLk4oYSwxLGguaW5pdGlhdG9yVHlwZSksYT1fLk4oYSwyLGgubmV4dEhvcFByb3RvY29sKSxiPVpuKGgud29ya2VyU3RhcnR8fAowKSxhPV8uSyhhLDMsYiksYj1abihoLnJlZGlyZWN0U3RhcnQpLGE9Xy5LKGEsNCxiKSxiPVpuKGgucmVkaXJlY3RTdGFydCksYT1fLksoYSw0LGIpLGI9Wm4oaC5yZWRpcmVjdEVuZCksYT1fLksoYSw1LGIpLGI9Wm4oaC5mZXRjaFN0YXJ0KSxhPV8uSyhhLDYsYiksYj1abihoLmRvbWFpbkxvb2t1cFN0YXJ0KSxhPV8uSyhhLDcsYiksYj1abihoLmRvbWFpbkxvb2t1cEVuZCksYT1fLksoYSw4LGIpLGI9Wm4oaC5jb25uZWN0U3RhcnQpLGE9Xy5LKGEsOSxiKSxiPVpuKGguY29ubmVjdEVuZCksYT1fLksoYSwxMCxiKSxiPVpuKGguc2VjdXJlQ29ubmVjdGlvblN0YXJ0KSxhPV8uSyhhLDExLGIpLGI9Wm4oaC5yZXNwb25zZVN0YXJ0KSxhPV8uSyhhLDEzLGIpLGI9Wm4oaC5yZXNwb25zZUVuZCksYT1fLksoYSwxNCxiKSxhPV8uemooYSwxNSxfLmtsKGgudHJhbnNmZXJTaXplKSksYT1fLnpqKGEsMTYsXy5rbChoLmVuY29kZWRCb2R5U2l6ZSkpLGE9Xy56aihhLDE3LF8ua2woaC5kZWNvZGVkQm9keVNpemUpKSwKbj1ibyhuLDYsYSksXy5LKGYsMyxuKSxuPWdvKEpyKSkmJihoPWhvKE1yLHtzdGFydDpoLnJlc3BvbnNlRW5kLGVuZDpuLnN0YXJ0VGltZXx8cGVyZm9ybWFuY2Uubm93KCl9KSkmJihwZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2UuY2xlYXJNZWFzdXJlcyYmcGVyZm9ybWFuY2UuY2xlYXJNZWFzdXJlcyhNciksaD1jbyhoKSxfLksoZiw0LGgpLGg9Tm8oZSksXy5LKGgsNCxmKSk7WXIoZSwxKX07Xy5CKGx5LF8uRCk7dnMuYXR0YWNoKDE0MDk3LGx5LnByb3RvdHlwZSx7bWU6ZnVuY3Rpb24oKXtqbyh0aGlzLmcuWWEoKT8idGVfYWZhcyI6InRlX2FmYXUiKX19KTtfLms9bHkucHJvdG90eXBlO18uay5XaT1mdW5jdGlvbihhKXt0aGlzLm89YX07Xy5rLldhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZy5ZYSgpfTsKXy5rLkVjPWZ1bmN0aW9uKGEsYil7dGhpcy5nLldhKCk/dGhpcy5nLmwuc2VuZCh7ZGlzcGxheV9sYW5ndWFnZTpiLGtleToiQUl6YVN5QldEajBRSnZWSXg4WE9oUmVnWFg1X1NyUld4aFQ1SHM0In0sYSkudGhlbihmdW5jdGlvbihjKXtyZXR1cm4gYShjKX0pOih0aGlzLm1lKCksYShudWxsKSl9OwpfLmsuVmM9ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Lmxhbmc7aWYoYilhKGIpO2Vsc2UgaWYodGhpcy5nLldhKCkpe2I9bmV3IFRzKGRvY3VtZW50LmJvZHksITEsITEsMSwxKTtmb3IodmFyIGM9W10sZD0wLGU9dGhpcy5nLmguWWY7Yy5sZW5ndGgrZDxlOyl7dmFyIGY9Yi5uZXh0KCk7aWYoZi5kb25lKWJyZWFrO2Y9Zi52YWx1ZTsxPT1iLmcmJlp3KGYpP1VzKGIpOjM9PWYubm9kZVR5cGUmJihmPSgwLF8ubWMpKHVwKGYubm9kZVZhbHVlKSkpJiYoYy5wdXNoKGYpLGQrPWYubGVuZ3RoKX1Lcyh0aGlzLmcsYSxjLmpvaW4oIiAiKSkudGhlbihmdW5jdGlvbihnKXthKGcpfSxmdW5jdGlvbihnKXtyZXR1cm4gYShudWxsLGcpfSl9ZWxzZSB0aGlzLm1lKCksYShudWxsLCEwKX07Cl8uay5CZD1mdW5jdGlvbihhLGIsYyxkLGUpe2t5LnljPWE7a3kuemM9Yjt2YXIgZj1XcihreSwyKTtYcihreSxmKTt2YXIgZz1nbyhKcik7aWYoZyl7dmFyIGg9Z28oS3IpO2lmKGgpe3ZhciBsPWhvKE5yLHtzdGFydDpnLnN0YXJ0VGltZSxlbmQ6aC5zdGFydFRpbWV8fHBlcmZvcm1hbmNlLm5vdygpfSk7bCYmKGc9Tm8oZiksaD1uZXcgVm8sbD1jbyhsKSxoPV8uSyhoLDEsbCksXy5LKGcsNSxoKSxwZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2UuY2xlYXJNZWFzdXJlcyYmcGVyZm9ybWFuY2UuY2xlYXJNZWFzdXJlcyhOcikpfX1ZcihmLDIpO2Y9e2RldGFpbDp7c291cmNlTGFuZ3VhZ2U6YSx0YXJnZXRMYW5ndWFnZTpifX07cGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLm1hcmsmJnBlcmZvcm1hbmNlLm1hcmsoS3IsZik7Zj1EYXRlLm5vdygpO3VzKCk7aWYoIWF8fHBzKGEsYikpYT0iYXV0byI7aWYoZXx8YSE9dGhpcy5sfHxiIT10aGlzLmopdGhpcy5BPW5ldyB4dzt0aGlzLmw9YTt0aGlzLmo9CmI7dGhpcy5nLldhKCk/KGQ9ZHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHRoaXMuaCYmdGhpcy5oLlIoKSx0aGlzLmg9bmV3IGR5KGQsdGhpcy5nLHRoaXMuSyx0aGlzLk0sdGhpcy5HLCEwLHRoaXMuSCx0aGlzLkEsdGhpcy5vLHRoaXMuTiksdGhpcy5oLndiPXRoaXMucyx0aGlzLkI9ITAsdGhpcy5oLnRyYW5zbGF0ZShhLGIsYyxlLCgwLF8uQSkodGhpcy54aSx0aGlzLGYsYSxiKSkpOih0aGlzLm1lKCksYygwLCExLCEwKSl9O18uay5MZz1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5oJiZ0aGlzLmguZ307Xy5rLndnPWZ1bmN0aW9uKGEpe3RoaXMucz1hfTtfLmsucmVzdG9yZT1mdW5jdGlvbigpe3ZhciBhPVdyKGt5LDMpO1hyKGt5LGEpO1lyKGEsMyk7cGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLm1hcmsmJnBlcmZvcm1hbmNlLm1hcmsoTHIsdm9pZCAwKTt1cygpO3RoaXMuZy5XYSgpJiZ0aGlzLmgmJnRoaXMuaC5yZXN0b3JlKCl9OwpfLmsuSj1mdW5jdGlvbigpe3RzKCk7bHkuTy5KLmNhbGwodGhpcyk7dGhpcy5nLlIoKTt0aGlzLmg9dGhpcy5nPW51bGw7dGhpcy5BPW5ldyB4d307Xy5rLnhpPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMuQiYmKHRoaXMuQj0hMSxiPXtzbDpiLHRsOmMsdGV4dGxlbjpkfSx0aGlzLnMmJihiLmN0dD0iMSIpLCIiIT10aGlzLkYmJihiLnNwPXRoaXMuRiksYi50dHQ9RGF0ZS5ub3coKS1hLGIudHRsPXRoaXMuUCx0aGlzLkQmJihiLnR0Zj10aGlzLkQpLHRoaXMubyYmKGIuc3I9MSksam8oInRlX3RpbWUiLGIpKX07dmFyIG15PWZ1bmN0aW9uKGEpe1AuY2FsbCh0aGlzLGEpO3RoaXMuQT1uZXcgXy5JKHRoaXMpfTtfLnoobXksUCk7bXkucHJvdG90eXBlLlM9ZnVuY3Rpb24oKXt2YXIgYT1fLlJtKHRoaXMuaCwic2VsZWN0Iik7YS5jbGFzc05hbWU9Imdvb2ctdGUtY29tYm8iO2Euc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIixXLmFmKTt0aGlzLm9hKGEpfTtteS5wcm90b3R5cGUua2E9ZnVuY3Rpb24oKXtQLnByb3RvdHlwZS5rYS5jYWxsKHRoaXMpO3RoaXMudGYoKX07bXkucHJvdG90eXBlLnRmPWZ1bmN0aW9uKCl7Xy5HKHRoaXMuQygpLCJjaGFuZ2UiLGhzKHRoaXMsImNoYW5nZSIpKTt0aGlzLmRpc3BhdGNoRXZlbnQoImxvYWQiKX07bXkucHJvdG90eXBlLmhhPWZ1bmN0aW9uKCl7UC5wcm90b3R5cGUuaGEuY2FsbCh0aGlzKTt0aGlzLkEuUigpO3RoaXMuQT1udWxsfTsKdmFyIG55PWZ1bmN0aW9uKGEsYil7YS5DKCkucGFyZW50Tm9kZSE9YiYmKGEuQygpLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYS5DKCkpLGIuYXBwZW5kQ2hpbGQoYS5DKCkpKX07Xy5rPW15LnByb3RvdHlwZTtfLmsud2M9ZnVuY3Rpb24oYSl7dGhpcy5oLndlKHRoaXMuQygpKTtmb3IodmFyIGIgaW4gYSlpZihhW2JdIT09T2JqZWN0LnByb3RvdHlwZVtiXSl7dmFyIGM9dGhpcy5oLlMoIk9QVElPTiIse3ZhbHVlOmJ9KTt0aGlzLmguYWMoYyxhW2JdKTt0aGlzLkMoKS5hcHBlbmRDaGlsZChjKX10aGlzLkMoKS5zZWxlY3RlZEluZGV4PTB9O18uay5sYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkMoKS52YWx1ZX07Xy5rLnphPWZ1bmN0aW9uKGEpe2lmKHRoaXMuQygpLnZhbHVlIT1hKWZvcih2YXIgYj0wLGM7Yz10aGlzLkMoKS5vcHRpb25zLml0ZW0oYik7KytiKWlmKGMudmFsdWU9PWEpe3RoaXMuQygpLnNlbGVjdGVkSW5kZXg9YjticmVha319OwpfLmsuRmM9ZnVuY3Rpb24oYSl7aWYoInVuZGVmaW5lZCI9PV8uRWIoYSkpcmV0dXJuIHRoaXMuQygpLm9wdGlvbnMuaXRlbSh0aGlzLkMoKS5zZWxlY3RlZEluZGV4KS50ZXh0O2Zvcih2YXIgYj0wLGM7Yz10aGlzLkMoKS5vcHRpb25zLml0ZW0oYik7KytiKWlmKGMudmFsdWU9PWEpcmV0dXJuIGMudGV4dH07Xy5rLlphPWZ1bmN0aW9uKGEpe3RoaXMuQygpLmRpc2FibGVkPSFhfTt2YXIgb3k9ZnVuY3Rpb24oYSl7bXkuY2FsbCh0aGlzLGEpfTtfLnoob3ksbXkpO295LnByb3RvdHlwZS50Yj1mdW5jdGlvbihhKXt0aGlzLndjLmNhbGwodGhpcyxhKX07dmFyIHB5PWZ1bmN0aW9uKGEsYil7bXkuY2FsbCh0aGlzLGIpO3RoaXMuZz1hJiZzbihhKXx8e307dGhpcy5nLkJlPXRoaXMuZy5CZXx8MTE7dGhpcy5nLnpkPTAhPXRoaXMuZy56ZDt0aGlzLmcuaGI9enJ9O18ueihweSxteSk7Xy5rPXB5LnByb3RvdHlwZTtfLmsuTmM9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiY2IiKTt9OwpfLmsuUz1mdW5jdGlvbigpe3RoaXMuTmMoKTt0aGlzLkQ9dGhpcy5DKCk7dGhpcy5zPUJwKCJJRlJBTUUiLHtmcmFtZUJvcmRlcjowLCJjbGFzcyI6IlZJcGdKZC1aVmk5b2QteGwwN09iLU9FVm1jZCBza2lwdHJhbnNsYXRlIix0aXRsZTpXLmFmfSk7dGhpcy5zLnN0eWxlLnZpc2liaWxpdHk9InZpc2libGUiO09xKHRoaXMucywhMSk7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLnMpfTsKXy5rLnRmPWZ1bmN0aW9uKCl7dmFyIGE9Xy5LZi50ZXN0KG1yKT8icnRsIjoibHRyIixiPV8uZWIodGhpcy5nLmhiKSxjPVgodGhpcywibWVudUJvZHkiKTt0aGlzLkEuSSh0aGlzLnMsImxvYWQiLHRoaXMuTWcpO2xzKHRoaXMucywoMCxfLkEpKGZ1bmN0aW9uKCl7dmFyIGQ9R3AodGhpcy5zKSxlPSc8aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEY4Ij48bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSInK1YoZnEoYikpKyciPjwvaGVhZD48Ym9keSBzY3JvbGw9Im5vIiBzdHlsZT0ibWFyZ2luOjBweDtvdmVyZmxvdzpoaWRkZW4iIGRpcj0iJytWKGEpKyciIG1hcmdpbkhlaWdodD0wIG1hcmdpbldpZHRoPTAgbGVmdE1hcmdpbj0wIHRvcE1hcmdpbj0wIGJvcmRlcj0wPjxkaXYgaWQ9IicrVihjKSsnIiBjbGFzcz0nO2lmKFlwKCJWSXBnSmQtWlZpOW9kLXhsMDdPYiIsXy5NbSkpe3ZhciBmPQpTdHJpbmcoIlZJcGdKZC1aVmk5b2QteGwwN09iIi5lYSgpKS5yZXBsYWNlKGFxLCIiKS5yZXBsYWNlKGJxLCImbHQ7Iik7Zj1TdHJpbmcoZikucmVwbGFjZShxcSxocSl9ZWxzZSBmPSJWSXBnSmQtWlZpOW9kLXhsMDdPYiIucmVwbGFjZShwcSxocSk7ZT0oMCxfLlBtKShlK2YrIj48L2Rpdj48L2JvZHk+IikuYmMoKTtkLndyaXRlKF8uVmMoZSkpO2QuY2xvc2UoKX0sdGhpcykpfTtfLmsuTWc9ZnVuY3Rpb24oKXt0aGlzLmo9bmV3IF8uY2QoR3AodGhpcy5zKSk7dGhpcy5QPXRoaXMuai5DKFgodGhpcywibWVudUJvZHkiKSk7dGhpcy5BLkkodGhpcy5ELCJjbGljayIsdGhpcy5iZSk7Xy5GP3RoaXMuQS5JKHRoaXMucywiYmx1ciIsdGhpcy5ZYyk6dGhpcy5BLkkoSHAodGhpcy5zKSwiYmx1ciIsdGhpcy5ZYyk7dGhpcy5kaXNwYXRjaEV2ZW50KCJsb2FkIil9OwpfLmsuaGE9ZnVuY3Rpb24oKXtteS5wcm90b3R5cGUuaGEuY2FsbCh0aGlzKTtFcCh0aGlzLnMpO3RoaXMuRD10aGlzLlc9dGhpcy5CPXRoaXMuUD10aGlzLmo9dGhpcy5zPW51bGx9O18uay5HZj1mdW5jdGlvbihhKXt0aGlzLmwhPWEuY3VycmVudFRhcmdldC52YWx1ZSYmKHRoaXMuemEoYS5jdXJyZW50VGFyZ2V0LnZhbHVlKSx0aGlzLmRpc3BhdGNoRXZlbnQoImNoYW5nZSIpKTt0aGlzLlljKCl9O18uay5iZT1mdW5jdGlvbigpe3F5KHRoaXMpO0hwKHRoaXMucykuZm9jdXMoKTt0aGlzLmRhPSEwfTtfLmsuWWM9ZnVuY3Rpb24oKXt0aGlzLmRhJiYodGhpcy5kYT0hMSxxeSh0aGlzLCExKSxfLmtkKF8uZGQodGhpcy5EKSkuZm9jdXMoKSl9O18uay54ZT1mdW5jdGlvbigpe307Xy5rLnllPWZ1bmN0aW9uKCl7fTsKdmFyIHF5PWZ1bmN0aW9uKGEsYil7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBifHxiKXthLnllKCk7Yj1McShhLkQsd2luZG93KTt2YXIgYz1iLnkrYS5ELm9mZnNldEhlaWdodCxkPWIueS1hLkguaGVpZ2h0LGU9Yi54LGY9Yi54K2EuRC5vZmZzZXRXaWR0aC1hLkgud2lkdGg7aWYoXy5GJiYhbnAoKSl7dmFyIGc9ZG9jdW1lbnQuYm9keTtjLT1nLm9mZnNldFRvcDtkLT1nLm9mZnNldFRvcDtlLT1nLm9mZnNldExlZnQ7Zi09Zy5vZmZzZXRMZWZ0fWVsc2UgZz1Dbyhkb2N1bWVudCksYy09Zy55LGQtPWcueSxlLT1nLngsZi09Zy54O2c9Xy5qZCh3aW5kb3cpO2IueT1iLnk8PWcuaGVpZ2h0LWEuSC5oZWlnaHQ/YzpkO2IueT5nLmhlaWdodC1hLkguaGVpZ2h0JiYoYi55PWcuaGVpZ2h0LWEuSC5oZWlnaHQpOzA+Yi55JiYoYi55PTApO18uS2YudGVzdChtcik/Yi54PTA8PWY/ZjplOmIueD1lPD1nLndpZHRoLWEuSC53aWR0aD9lOmY7Yi54Pmcud2lkdGgtYS5ILndpZHRoJiYoYi54PWcud2lkdGgtCmEuSC53aWR0aCk7MD5iLngmJihiLng9MCk7RnEoYS5zLGIpO09xKGEucywhMCk7cnkoYSl9ZWxzZSBhLnhlKCksT3EoYS5zLCExKX07Xy5rPXB5LnByb3RvdHlwZTtfLmsubGE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sfTsKXy5rLndjPWZ1bmN0aW9uKGEpe3RoaXMuai53ZSh0aGlzLlApO09xKHRoaXMucywhMCk7dGhpcy51YT1hO3RoaXMuQj1bXTtmb3IodmFyIGIgaW4gYSlpZihhW2JdIT09T2JqZWN0LnByb3RvdHlwZVtiXSlpZigiLS0tIj09YVtiXSl7dmFyIGM9e2xpbms6dGhpcy5qLlMoIkRJViIse2NsYXNzTmFtZToiVklwZ0pkLVpWaTlvZC12SDFHbWYtaGdEVXdlIix2YWx1ZTpifSksZ2k6ITB9O3RoaXMuQi5wdXNoKGMpfWVsc2V7Yz17bGluazp0aGlzLmouUygiQSIse2NsYXNzTmFtZToiVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZCIsaHJlZjoiIyIsdmFsdWU6Yn0pfTt0aGlzLkIucHVzaChjKTt2YXIgZD10aGlzLmouUygiRElWIix7c3R5bGU6IndoaXRlLXNwYWNlOm5vd3JhcCJ9KTt0aGlzLmouYXBwZW5kQ2hpbGQoYy5saW5rLGQpO3RoaXMuZy56ZCYmdGhpcy5qLmFwcGVuZENoaWxkKGQsdGhpcy5qLlMoIlNQQU4iLHtjbGFzc05hbWU6ImluZGljYXRvciJ9LCJcdTIwM2EiKSk7CnRoaXMuai5hcHBlbmRDaGlsZChkLHRoaXMuai5TKCJTUEFOIix7Y2xhc3NOYW1lOiJ0ZXh0In0sYVtiXSkpO3RoaXMuQS5JKGMubGluaywiY2xpY2siLHRoaXMuR2YpfWE9dGhpcy5CLmxlbmd0aC0xO2E9TWF0aC5yb3VuZCgoYS1hJXRoaXMuZy5CZSkvdGhpcy5nLkJlKSsxO3RoaXMuVz10aGlzLmouUygiVEFCTEUiLHtjZWxsc3BhY2luZzowLGNlbGxwYWRkaW5nOjAsYm9yZGVyOjB9KTtjPXRoaXMuai5TKCJUQk9EWSIpO2I9dGhpcy5qLlMoIlRSIix7dmFsaWduOiJ0b3AifSk7dGhpcy5QLmNsYXNzTmFtZT0iVklwZ0pkLVpWaTlvZC12SDFHbWYiO3RoaXMuai5hcHBlbmRDaGlsZCh0aGlzLlAsdGhpcy5XKTt0aGlzLmouYXBwZW5kQ2hpbGQodGhpcy5XLGMpO3RoaXMuai5hcHBlbmRDaGlsZChjLGIpO2ZvcihkPWM9MDtjPGE7KytjKXt2YXIgZT10aGlzLmouUygiVEQiKTt0aGlzLmouYXBwZW5kQ2hpbGQoYixlKTtmb3IodmFyIGY9MDsxMT5mJiZkPHRoaXMuQi5sZW5ndGg7KytmLAorK2QpdGhpcy5qLmFwcGVuZENoaWxkKGUsdGhpcy5CW2RdLmxpbmspO2MhPWEtMSYmKGU9dGhpcy5qLlMoIlREIix7ImNsYXNzIjoiVklwZ0pkLVpWaTlvZC12SDFHbWYtS3JoUE5iIn0sIlx1MDBhMCIpLHRoaXMuai5hcHBlbmRDaGlsZChiLGUpKX10aGlzLmw9bnVsbDt0aGlzLnphKHRoaXMuQlswXS5saW5rLnZhbHVlKTtyeSh0aGlzKTtPcSh0aGlzLnMsITEpfTtfLmsuRmM9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMudWFbInVuZGVmaW5lZCI9PV8uRWIoYSk/dGhpcy5sOmFdfTtfLmsuemU9ZnVuY3Rpb24oKXt9O18uay56YT1mdW5jdGlvbihhKXtpZih0aGlzLmwhPWEpe3RoaXMuRmMoYSkmJih0aGlzLmw9YSx0aGlzLnplKCkpO2Zvcih2YXIgYj0wO2I8dGhpcy5CLmxlbmd0aDsrK2Ipe3ZhciBjPXRoaXMuQltiXTtjLmdpfHwoYy5saW5rLmNsYXNzTmFtZT1jLmxpbmsudmFsdWU9PWEmJnRoaXMuZy56ZD8iVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZCI6IlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YiIpfX19Owp2YXIgcnk9ZnVuY3Rpb24oYSl7VXEoYS5QLFNxKGEuVykpO1VxKGEucyxTcShhLlApKTthLkg9U3EoYS5zKX0sc3k9ZnVuY3Rpb24oYSxiKXtweS5jYWxsKHRoaXMsYSxiKX07Xy56KHN5LHB5KTtfLms9c3kucHJvdG90eXBlO18uay5OYz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuaC5TKCJhIix7ImFyaWEtaGFzcG9wdXAiOiJ0cnVlIn0pO2EuY2xhc3NOYW1lPSJWSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQiO18uSG0oYSwiIyIpO3RoaXMuTj10aGlzLmguUygiU1BBTiIpO2EuYXBwZW5kQ2hpbGQodGhpcy5OKTt0aGlzLlQ9dGhpcy5oLlMoIklNRyIse3NyYzoiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9pbWFnZXMvY2xlYXJkb3QuZ2lmIixhbHQ6IiIsc3R5bGU6ImJhY2tncm91bmQtaW1hZ2U6dXJsKCIrd3IrIik7YmFja2dyb3VuZC1wb3NpdGlvbjotMTRweCAwcHg7Ym9yZGVyOm5vbmUiLHdpZHRoOjE0LGhlaWdodDoxNH0pO2EuYXBwZW5kQ2hpbGQodGhpcy5UKTt0aGlzLm9hKGEpfTsKXy5rLnhlPWZ1bmN0aW9uKCl7Xy5PKHRoaXMuVCwiYmFja2dyb3VuZFBvc2l0aW9uIiwiLTE0cHggMHB4Iil9O18uay55ZT1mdW5jdGlvbigpe18uTyh0aGlzLlQsImJhY2tncm91bmRQb3NpdGlvbiIsIjBweCAwcHgiKX07Xy5rLmhhPWZ1bmN0aW9uKCl7cHkucHJvdG90eXBlLmhhLmNhbGwodGhpcyk7dGhpcy5UPXRoaXMuTj1udWxsfTtfLmsuemU9ZnVuY3Rpb24oKXt0aGlzLmguYWModGhpcy5OLHRoaXMuRmModGhpcy5sKXx8IiIpfTtfLmsudGI9ZnVuY3Rpb24oYSl7dGhpcy53Yy5jYWxsKHRoaXMsYSl9O3ZhciB0eT1mdW5jdGlvbihhLGIpe3B5LmNhbGwodGhpcyxhLGIpfTtfLnoodHkscHkpO18uaz10eS5wcm90b3R5cGU7Cl8uay5OYz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuaC5TKCJhIix7ImFyaWEtaGFzcG9wdXAiOiJ0cnVlIn0pO2EuY2xhc3NOYW1lPSJWSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQiO18uSG0oYSwiIyIpO3RoaXMuTj10aGlzLmguUygiU1BBTiIpO2EuYXBwZW5kQ2hpbGQodGhpcy5OKTthLmFwcGVuZENoaWxkKHRoaXMuaC5TKCJJTUciLHtzcmM6Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vaW1hZ2VzL2NsZWFyZG90LmdpZiIsYWx0OiIiLHdpZHRoOjEsaGVpZ2h0OjF9KSk7YS5hcHBlbmRDaGlsZCh0aGlzLmguUygiU1BBTiIse3N0eWxlOiJib3JkZXItbGVmdDoxcHggc29saWQgI2JiYiJ9LCJcdTIwMGIiKSk7YS5hcHBlbmRDaGlsZCh0aGlzLmguUygiSU1HIix7c3JjOiJodHRwczovL3d3dy5nb29nbGUuY29tL2ltYWdlcy9jbGVhcmRvdC5naWYiLGFsdDoiIix3aWR0aDoxLGhlaWdodDoxfSkpO3RoaXMuVD10aGlzLmguUygic3BhbiIse3N0eWxlOiJjb2xvcjojNzY3Njc2IiwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sCiJcdTI1YmMiKTthLmFwcGVuZENoaWxkKHRoaXMuVCk7dGhpcy5vYShhKX07Xy5rLnhlPWZ1bmN0aW9uKCl7Xy5PKHRoaXMuVCwiY29sb3IiLCIjOWI5YjliIil9O18uay55ZT1mdW5jdGlvbigpe18uTyh0aGlzLlQsImNvbG9yIiwiI2Q1ZDVkNSIpfTtfLmsuaGE9ZnVuY3Rpb24oKXtweS5wcm90b3R5cGUuaGEuY2FsbCh0aGlzKTt0aGlzLlQ9dGhpcy5OPW51bGx9O18uay56ZT1mdW5jdGlvbigpe3RoaXMuaC5hYyh0aGlzLk4sdGhpcy5GYyh0aGlzLmwpfHwiIil9O18uay50Yj1mdW5jdGlvbihhKXt0aGlzLndjLmNhbGwodGhpcyxhKX07dmFyIHV5PWZ1bmN0aW9uKGEsYil7cHkuY2FsbCh0aGlzLGEsYik7dGhpcy5nLnpkPSExfTtfLnoodXkscHkpOwp1eS5wcm90b3R5cGUuTmM9ZnVuY3Rpb24oKXt2YXIgYT1fLlJtKHRoaXMuaCwiZGl2Iik7YS5jbGFzc05hbWU9IlZJcGdKZC1aVmk5b2QtTGdic1NlIjt2YXIgYj10aGlzLmguUygiRElWIix7c3R5bGU6ImJhY2tncm91bmQ6IHVybCgiK3ZyKyIpIHJlcGVhdC14IDAgLTM5cHgifSk7YS5hcHBlbmRDaGlsZChiKTt0aGlzLk49Xy5SbSh0aGlzLmgsImJ1dHRvbiIpO2IuYXBwZW5kQ2hpbGQodGhpcy5OKTt0aGlzLm9hKGEpfTt1eS5wcm90b3R5cGUudmc9ZnVuY3Rpb24oYSl7Xy5vZCh0aGlzLk4pO3RoaXMuTi5hcHBlbmRDaGlsZCh0aGlzLmguZy5jcmVhdGVUZXh0Tm9kZShTdHJpbmcoYSsiXHUwMGEwXHUyNWJjIikpKX07dXkucHJvdG90eXBlLmhhPWZ1bmN0aW9uKCl7cHkucHJvdG90eXBlLmhhLmNhbGwodGhpcyk7dGhpcy5OPW51bGx9Owp1eS5wcm90b3R5cGUuR2Y9ZnVuY3Rpb24oYSl7dGhpcy56YShhLmN1cnJlbnRUYXJnZXQudmFsdWUpO3RoaXMuZGlzcGF0Y2hFdmVudCgiY2hhbmdlIik7dGhpcy5ZYygpfTt2YXIgdnk9ZnVuY3Rpb24oYSxiKXtQLmNhbGwodGhpcyxiKTt0aGlzLmc9YSYmc24oYSl8fHt9O3RoaXMuaj1uZXcgXy5JKHRoaXMpfTtfLkIodnksUCk7dmFyIHd5PXtKazowLE5qOjEscGs6Mn07Xy5rPXZ5LnByb3RvdHlwZTsKXy5rLlM9ZnVuY3Rpb24oKXt2YXIgYT1fLlJtKHRoaXMuaCwiZGl2Iik7WHQoYSwic2tpcHRyYW5zbGF0ZSIpO1h0KGEsImdvb2ctdGUtZ2FkZ2V0Iik7YS5kaXI9Xy5LZi50ZXN0KG1yKT8icnRsIjoibHRyIjtPcShhLCExKTtpZigyPT10aGlzLmcubGF5b3V0KUduKGEsTXgoe2lkOlgodGhpcywidGFyZ2V0TGFuZ3VhZ2UiKSxtZzoiIixsZzoiIn0pKTtlbHNle3ZhciBiPW5ldyBTcCxjPV8uRiYmIW5wKCk7KGMgaW5zdGFuY2VvZiBfLnVnP2MuZWEoKTpjKT9jPSI8c3BhbiBzdHlsZT1cImRpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtoZWlnaHQ6MTVweDsgd2lkdGg6NTFweDtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhSW1hZ2VMb2FkZXIoIHNyYz0nIisiaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL2dvb2dsZWxvZ28vMXgvZ29vZ2xlbG9nb19jb2xvcl80MngxNmRwLnBuZyIucmVwbGFjZShycSwKanEpKyInLHNpemluZ01ldGhvZD0nc2NhbGUnKTtcIj48L3NwYW4+IjooYz1XLk1kLGM9JzxpbWcgc3JjPSInK1YoenEoImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2ltYWdlcy9icmFuZGluZy9nb29nbGVsb2dvLzF4L2dvb2dsZWxvZ29fY29sb3JfNDJ4MTZkcC5wbmciKSkrJyIgd2lkdGg9IjM3cHgiIGhlaWdodD0iMTRweCIgc3R5bGU9InBhZGRpbmctcmlnaHQ6IDNweCIgYWx0PSJHb29nbGUgJytWKGMpKyciPicpO3ZhciBkPVcuTWQ7dmFyIGU9KDAsXy5QbSkoJzxzcGFuIHN0eWxlPSJ3aGl0ZS1zcGFjZTpub3dyYXAiPjxhIGNsYXNzPSInK1YoIlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkIikrJyIgaHJlZj0iJytWKHhxKCJodHRwczovL3RyYW5zbGF0ZS5nb29nbGUuY29tIikpKyciIHRhcmdldD0iX2JsYW5rIj4nK2MrbnEoZCkrIjwvYT48L3NwYW4+Iik7Yz1iLmZvcm1hdDtkPVc7dmFyIGY9ZC5VZztlPWUuYmMoKTtlPVRwKGIse3R5cGU6Imh0bWwiLFFmOl8uVmMoZSkudG9TdHJpbmcoKX0pOwpiPWMuY2FsbChiLGYuY2FsbChkLGUpKTtHbihhLE14KHtpZDpYKHRoaXMsInRhcmdldExhbmd1YWdlIiksbWc6IiIsbGc6MT09dGhpcy5nLmxheW91dD93bihbIlx1MDBhMCIsIlx1MDBhMCIsYl0pOmJ9KSl9dGhpcy5vYShhKX07Cl8uay5rYT1mdW5jdGlvbigpe3Z5Lk8ua2EuY2FsbCh0aGlzKTt0aGlzLmw9Mj09dGhpcy5nLmxheW91dD9uZXcgdHkobnVsbCx0aGlzLmgpOm5ldyBveSh0aGlzLmgpO3RoaXMuai5JKHRoaXMubCwiY2hhbmdlIixocyh0aGlzLCJjaGdfdGd0X2xhbmciKSk7dGhpcy5qLkkodGhpcy5sLCJsb2FkIix0aGlzLk5nKTt2YXIgYT10aGlzLmguQyhYKHRoaXMsInRhcmdldExhbmd1YWdlIikpO2lmKDI9PXRoaXMuZy5sYXlvdXQpe3ZhciBiPXRoaXMuaC5TKCJJTUciLHtzcmM6Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vaW1hZ2VzL2NsZWFyZG90LmdpZiIsImNsYXNzIjoiZ29vZy10ZS1nYWRnZXQtaWNvbiIsYWx0OiIifSk7Yi5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2U9InVybCgiK3dyKyIpIjtiLnN0eWxlLmJhY2tncm91bmRQb3NpdGlvbj0iLTY1cHggMHB4Ijt2YXIgYz10aGlzLmguUygiU1BBTiIse3N0eWxlOiJ2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlIn0pO2EuYXBwZW5kQ2hpbGQoYik7YS5hcHBlbmRDaGlsZChjKTsKdGhpcy5sLnlhKGMpO2Euc3R5bGUud2hpdGVTcGFjZT0ibm93cmFwIjthLmNsYXNzTmFtZT0iZ29vZy10ZS1nYWRnZXQtc2ltcGxlIn1lbHNlIHRoaXMubC55YShhKSwxPT10aGlzLmcubGF5b3V0JiYoYS5zdHlsZS5kaXNwbGF5PSJpbmxpbmUiKX07Xy5rLk5nPWZ1bmN0aW9uKCl7aWYoMj09dGhpcy5nLmxheW91dCl7dmFyIGE9dGhpcy5sLGI9dGhpcy5oLkMoWCh0aGlzLCJ0YXJnZXRMYW5ndWFnZSIpKTthLkEuUmEoYS5ELCJjbGljayIsYS5iZSk7YS5EPWI7YS5BLkkoYS5ELCJjbGljayIsYS5iZSl9dGhpcy5kaXNwYXRjaEV2ZW50KCJsb2FkIil9O18uay5oYT1mdW5jdGlvbigpe3Z5Lk8uaGEuY2FsbCh0aGlzKTt0aGlzLmouUigpO3RoaXMuaj1udWxsO3RoaXMubC5SKCk7dGhpcy5sPW51bGx9O18uay5mYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmwubGEoKX07Cl8uay5pYT1mdW5jdGlvbihhKXsiIj09YT90aGlzLk4mJnRoaXMubC50Yih0aGlzLk4pOnRoaXMuSCYmdGhpcy5sLnRiKHRoaXMuSCk7dGhpcy5sLnphKGEpfTtfLmsuWj1mdW5jdGlvbihhKXtPcSh0aGlzLkMoKSxhKX07Xy5rLlphPWZ1bmN0aW9uKGEpe3RoaXMubC5aYShhKX07Xy5rLkllPWZ1bmN0aW9uKGEsYil7dGhpcy5OPWE7dGhpcy5IPWJ9O3ZhciB4eT1mdW5jdGlvbihhLGIpe1AuY2FsbCh0aGlzLGIpO3RoaXMuZz1hJiZzbihhKXx8e307dGhpcy5nLmhifHwodGhpcy5nLmhiPXpyKTt0aGlzLmo9bmV3IF8uSSh0aGlzKX07Xy5CKHh5LFApO3ZhciB5eT17eWs6MSx6azoyLHVqOjMsdGo6NH07Xy5rPXh5LnByb3RvdHlwZTtfLmsuUz1mdW5jdGlvbigpe3ZhciBhPV8uUm0odGhpcy5oLCJkaXYiKTt0aGlzLlRhPSExO09xKGEsITEpO3ZhciBiPVgodGhpcywiY29udGFpbmVyIik7Yj0oMCxfLlBtKSgnPGlmcmFtZSBpZD0iJytWKGIpKyciIGZyYW1lQm9yZGVyPTAgc3JjPSJqYXZhc2NyaXB0OlwnXCciIGNsYXNzPSInK1YoIlZJcGdKZC1aVmk5b2QtU21mWi1PRVZtY2QiKSsnIHNraXB0cmFuc2xhdGUiIHN0eWxlPSJ2aXNpYmlsaXR5OnZpc2libGUiPjwvaWZyYW1lPicpO0duKGEsYik7dGhpcy5vYShhKX07Cl8uay5rYT1mdW5jdGlvbigpe3h5Lk8ua2EuY2FsbCh0aGlzKTt2YXIgYT1fLktmLnRlc3QobXIpPyJydGwiOiJsdHIiLGI9Xy5lYih0aGlzLmcuaGIpLGM9WCh0aGlzLCJ0cmFuc2xhdGUiKTt0aGlzLkMoKS5pZD1YKHRoaXMsImZsb2F0Q29udGFpbmVyIik7dmFyIGQ9e2lkOnRoaXMuQygpLmlkLGNsYXNzTmFtZToiZ29vZy10ZS1mdGFiLWZsb2F0In07dGhpcy5DKCkuY2xhc3NOYW1lKz0iIGdvb2ctdGUtZnRhYi1mbG9hdCI7c3dpdGNoKHRoaXMuZy5TYyl7Y2FzZSAyOnZhciBlPSJnb29nLXRlLWZsb2F0LXRvcCI7ZC50b3A9MDtkLnJpZ2h0PTIwO2JyZWFrO2Nhc2UgMzplPSJnb29nLXRlLWZsb2F0LWJvdHRvbSI7ZC5ib3R0b209MDtkLnJpZ2h0PTIwO2JyZWFrO2Nhc2UgNDplPSJnb29nLXRlLWZsb2F0LWJvdHRvbSI7ZC5ib3R0b209MDtkLmxlZnQ9MjA7YnJlYWs7ZGVmYXVsdDplPSJnb29nLXRlLWZsb2F0LXRvcCIsZC50b3A9MCxkLmxlZnQ9MjB9UXEoWm8obmV3IF8udGcsZCksCnRoaXMuQygpKTt0aGlzLkI9dGhpcy5oLkMoWCh0aGlzLCJjb250YWluZXIiKSk7dGhpcy5qLkkodGhpcy5CLCJsb2FkIix0aGlzLk9nKTtscyh0aGlzLkIsKDAsXy5BKShmdW5jdGlvbigpe3ZhciBmPUdwKHRoaXMuQiksZz1lLGg9Vy5kZjtnPSgwLF8uUG0pKCc8aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEY4Ij48bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSInK1YoZnEoYikpKyciPjwvaGVhZD48Ym9keSBjbGFzcz0iJytWKCJWSXBnSmQtWlZpOW9kLVNtZloiKSsiICIrVihnKSsnIiBzY3JvbGw9Im5vIiBzdHlsZT0ib3ZlcmZsb3c6aGlkZGVuIiBkaXI9IicrVihhKSsnIj48YSBpZD0iJytWKGMpKyciIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgY2xhc3M9IicrVigiVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZCIpKyciPjxpbWcgc3JjPSInK1YoenEoImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vaW1hZ2VzL2NsZWFyZG90LmdpZiIpKSsKJyIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6dXJsKCcrVih6cSh3cikpKycpO2JhY2tncm91bmQtcG9zaXRpb246LTY1cHggMHB4Ij48c3Bhbj4nK25xKGgpKyI8L3NwYW4+PC9hPjwvYm9keT4iKS5iYygpO2Yud3JpdGUoXy5WYyhnKSk7Zi5jbG9zZSgpfSx0aGlzKSl9O18uay5PZz1mdW5jdGlvbigpe3RoaXMubD0obmV3IF8uY2QoR3AodGhpcy5CKSkpLkMoWCh0aGlzLCJ0cmFuc2xhdGUiKSk7dGhpcy5qLkkodGhpcy5sLCJjbGljayIsaHModGhpcywiY2xrX3RyYW5zIikpO09xKHRoaXMuQygpLCEwKTt2YXIgYT1TcSh0aGlzLmwpO09xKHRoaXMuQygpLCExKTtVcSh0aGlzLkIsYSk7VXEodGhpcy5DKCksYSk7dGhpcy5kaXNwYXRjaEV2ZW50KCJsb2FkIil9O18uay5oYT1mdW5jdGlvbigpe3h5Lk8uaGEuY2FsbCh0aGlzKTt0aGlzLmouUigpO3RoaXMuaj1udWxsO0VwKHRoaXMuQik7dGhpcy5sPXRoaXMuQj1udWxsfTtfLmsuaXNWaXNpYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVGF9OwpfLmsuWj1mdW5jdGlvbihhKXt0aGlzLlRhPWE7T3EodGhpcy5DKCksYSl9O3ZhciB6eT1mdW5jdGlvbihhLGIpe1AuY2FsbCh0aGlzLGIpO3RoaXMuQT1uZXcgXy5JKHRoaXMpO3RoaXMuZz1hJiZzbihhKXx8e307dGhpcy5nLmhiPXpyO3RoaXMuZy5NZT0hMTtfLk8odGhpcy5oLmcuYm9keSwicG9zaXRpb24iLCJyZWxhdGl2ZSIpO18ucml8fF8uTyh0aGlzLmguZy5ib2R5LCJtaW5IZWlnaHQiLCIxMDAlIik7Xy5PKHRoaXMuaC5nLmRvY3VtZW50RWxlbWVudCwiaGVpZ2h0IiwiMTAwJSIpO18uTyh0aGlzLmguZy5ib2R5LCJ0b3AiLCIwcHgiKTtfLkYmJih3aW5kb3cuX2Jhbm5lcnF1aXJrZml4bGVmdD0tcGFyc2VJbnQoIjAiK3RoaXMuaC5nLmJvZHkubGVmdE1hcmdpbiwxMCksd2luZG93Ll9iYW5uZXJxdWlya2ZpeHRvcD0tcGFyc2VJbnQoIjAiK3RoaXMuaC5nLmJvZHkudG9wTWFyZ2luLDEwKS00MCl9O18uQih6eSxQKTtfLms9enkucHJvdG90eXBlOwpfLmsueWE9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmguZy5ib2R5LmZpcnN0Q2hpbGQ7c3QodGhpcyxhLnBhcmVudE5vZGUsYSl9O18uay5TPWZ1bmN0aW9uKCl7dmFyIGE9Xy5SbSh0aGlzLmgsImRpdiIpO3RoaXMuVGE9ITE7T3EoYSwhMSk7WHQoYSwic2tpcHRyYW5zbGF0ZSIpO3ZhciBiPVgodGhpcywiY29udGFpbmVyIik7Yj0oMCxfLlBtKSgnPGlmcmFtZSBpZD0iJytWKGIpKyciIGNsYXNzPSInK1YoIlZJcGdKZC1aVmk5b2QtT1JIYi1PRVZtY2QiKSsnIHNraXB0cmFuc2xhdGUiIGZyYW1lQm9yZGVyPTAgc3JjPSIjIiBzdHlsZT0idmlzaWJpbGl0eTp2aXNpYmxlIj48L2lmcmFtZT4nKTtHbihhLGIpO3RoaXMub2EoYSl9OwpfLmsua2E9ZnVuY3Rpb24oKXt6eS5PLmthLmNhbGwodGhpcyk7dmFyIGE9Xy5LZi50ZXN0KG1yKT8icnRsIjoibHRyIixiPV8uZWIodGhpcy5nLmhiKSxjPVgodGhpcywicHJvbXB0U2VjdGlvbiIpLGQ9WCh0aGlzLCJjb25maXJtIiksZT1YKHRoaXMsInByb2dyZXNzU2VjdGlvbiIpLGY9WCh0aGlzLCJwcm9ncmVzc1ZhbHVlIiksZz1YKHRoaXMsImNhbmNlbCIpLGg9WCh0aGlzLCJmaW5pc2hTZWN0aW9uIiksbD1YKHRoaXMsInJlc3RvcmUiKSxtPVgodGhpcywiZXJyb3JTZWN0aW9uIiksbj1YKHRoaXMsImVycm9yQ29udGVudCIpLHE9WCh0aGlzLCJjbG9zZSIpLHI9WCh0aGlzLCJub0F1dG9Qb3B1cCIpLHAseD1bXTt0aGlzLmcuTWUmJngucHVzaChMeCh7aWQ6WCh0aGlzLCJwcm9tcHRTb3VyY2VMYW5nIil9KSk7eC5wdXNoKEx4KHtpZDpYKHRoaXMsInByb21wdFRhcmdldExhbmciKX0pKTt2YXIgQz1KbyhXLmVoLmFwcGx5KG51bGwseCkpO3g9W107dGhpcy5nLk1lJiZ4LnB1c2goTHgoe2lkOlgodGhpcywKImZpbmlzaFNvdXJjZUxhbmciKX0pKTt4LnB1c2goTHgoe2lkOlgodGhpcywiZmluaXNoVGFyZ2V0TGFuZyIpfSkpO3ZhciBTPUpvKFcuWmcuYXBwbHkobnVsbCx4KSk7dGhpcy5nLkFnJiYocD10aGlzLmcuQWcpO3RoaXMuQj10aGlzLmguQyhYKHRoaXMsImNvbnRhaW5lciIpKTt0aGlzLkEuSSh0aGlzLkIsImxvYWQiLHRoaXMuUGcpO2xzKHRoaXMuQiwoMCxfLkEpKGZ1bmN0aW9uKCl7dmFyIFE9R3AodGhpcy5CKSxVPXAsSGE9Vy5NZCxWZz1XLmRmLFV6PVcuYWgsVno9Vy5FZyxXej1XLlZnLFh6PVcuUmUsWXo9Vy5SZTtVPSgwLF8uUG0pKCc8aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEY4Ij48bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSInK1YoZnEoYikpKyciPjwvaGVhZD48Ym9keSBjbGFzcz0iJytWKCJWSXBnSmQtWlZpOW9kLU9SSGIiKSsnIiBzY3JvbGw9Im5vIiBib3JkZXI9MCBkaXI9IicrClYoYSkrJyI+PHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCB3aWR0aD0xMDAlIGhlaWdodD0xMDAlPjx0ciB2YWxpZ249bWlkZGxlPjx0ZCB3aWR0aD0xIG5vd3JhcD48YSBocmVmPSInK1YoeHEoImh0dHBzOi8vdHJhbnNsYXRlLmdvb2dsZS5jb20iKSkrJyIgY2xhc3M9IicrVigiVklwZ0pkLVpWaTlvZC1sNGVIWC1oU1JHUGQiKSsnIiB0YXJnZXQ9Il9ibGFuayI+PGltZyBzcmM9IicrVih6cSgiaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL2dvb2dsZWxvZ28vMXgvZ29vZ2xlbG9nb19jb2xvcl82OHgyOGRwLnBuZyIpKSsnIiBhbHQ9Ikdvb2dsZSAnK1YoSGEpKyciPjwvYT48L3RkPicrKChVIGluc3RhbmNlb2YgXy51Zz9VLmVhKCk6VSk/Jzx0ZCB3aWR0aD0xPjxpbWcgc3JjPSInK1YoenEoImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vaW1hZ2VzL2NsZWFyZG90LmdpZiIpKSsnIiB3aWR0aD0iOSIgaGVpZ2h0PSIxNSIgdGl0bGU9IicrClYoVSkrJyIgYWx0PSInK1YoVSkrJyIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6dXJsKCcrVih6cSh3cikpKycpO2JhY2tncm91bmQtcG9zaXRpb246LTU2cHggMHB4O21hcmdpbjowIDRweCI+PC90ZD4nOiIiKSsnPHRkIGNsYXNzPSInK1YoIlZJcGdKZC1aVmk5b2QtT1JIYi1LRTZ2cWUiKSsnIj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIGhlaWdodD0xMDAlPjx0ciBpZD0iJytWKGMpKyciIHN0eWxlPSJkaXNwbGF5Om5vbmUiIHZhbGlnbj1taWRkbGU+PHRkIG5vd3JhcD48c3BhbiBjbGFzcz0iJytWKCJWSXBnSmQtWlZpOW9kLU9SSGItYk45N1BjIikrJyI+JytucShDKSsnPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSInK1YoIlZJcGdKZC1aVmk5b2QtT1JIYi1LRTZ2cWUiKSsnIj48L3RkPjx0ZCBub3dyYXA+PGRpdiBjbGFzcz0iJytWKCJWSXBnSmQtWlZpOW9kLUxnYnNTZSIpKyciPjxkaXY+PGJ1dHRvbiBpZD0iJytWKGQpKyciPjxiPicrCm5xKFZnKSsnPC9iPjwvYnV0dG9uPjwvZGl2PjwvZGl2PjwvdGQ+PHRkIGNsYXNzPSInK1YoIlZJcGdKZC1aVmk5b2QtT1JIYi1LRTZ2cWUiKSsnIj48L3RkPjx0ZCBub3dyYXA+PGRpdiBjbGFzcz0iJytWKCJWSXBnSmQtWlZpOW9kLUxnYnNTZSIpKyciPjxkaXY+PGJ1dHRvbiBpZD0iJytWKHIpKyciPjwvYnV0dG9uPjwvZGl2PjwvZGl2PjwvdGQ+PC90cj48dHIgaWQ9IicrVihlKSsnIiBzdHlsZT0iZGlzcGxheTpub25lIiB2YWxpZ249bWlkZGxlPjx0ZD48c3BhbiBjbGFzcz0iJytWKCJWSXBnSmQtWlZpOW9kLU9SSGItYk45N1BjIikrJyI+JytucShVeikrJyZuYnNwOzxzcGFuIGRpcj0ibHRyIj4oPGIgaWQ9IicrVihmKSsnIj48L2I+JSk8L3NwYW4+Jm5ic3A7PGltZyBzcmM9IicrVih6cSh5cikpKyciPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0iJytWKCJWSXBnSmQtWlZpOW9kLU9SSGItS0U2dnFlIikrJyI+PC90ZD48dGQgbm93cmFwPjxkaXYgY2xhc3M9IicrVigiVklwZ0pkLVpWaTlvZC1MZ2JzU2UiKSsKJyI+PGRpdj48YnV0dG9uIGlkPSInK1YoZykrJyI+JytucShWeikrJzwvYnV0dG9uPjwvZGl2PjwvZGl2PjwvdGQ+PC90cj48dHIgaWQ9IicrVihoKSsnIiBzdHlsZT0iZGlzcGxheTpub25lIj48dGQ+PHNwYW4gY2xhc3M9IicrVigiVklwZ0pkLVpWaTlvZC1PUkhiLWJOOTdQYyIpKyciPicrbnEoUykrJzwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0iJytWKCJWSXBnSmQtWlZpOW9kLU9SSGItS0U2dnFlIikrJyI+PC90ZD48dGQgbm93cmFwPjxkaXYgY2xhc3M9IicrVigiVklwZ0pkLVpWaTlvZC1MZ2JzU2UiKSsnIj48ZGl2PjxidXR0b24gaWQ9IicrVihsKSsnIj4nK25xKFd6KSsnPC9idXR0b24+PC9kaXY+PC9kaXY+PC90ZD48L3RyPjx0ciBpZD0iJytWKG0pKyciIHN0eWxlPSJkaXNwbGF5Om5vbmUiIHZhbGlnbj1taWRkbGU+PHRkPjxzcGFuIGlkPSInK1YobikrJyIgY2xhc3M9IicrVigiVklwZ0pkLVpWaTlvZC1PUkhiLWJOOTdQYyIpKyciPjwvc3Bhbj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCBjbGFzcz0iJysKVigiVklwZ0pkLVpWaTlvZC1PUkhiLUtFNnZxZSIpKyciPjwvdGQ+PHRkIHdpZHRoPTEgaWQ9Im9wdGlvbnMiPjwvdGQ+PHRkIHdpZHRoPTE+PGEgaWQ9IicrVihxKSsnIiBjbGFzcz0iJytWKCJWSXBnSmQtWlZpOW9kLVR2RDlQYy1oU1JHUGQiKSsnIiBocmVmPSIjIiB0aXRsZT0iJytWKFh6KSsnIj48aW1nIHNyYz0iJytWKHpxKCJodHRwczovL3d3dy5nb29nbGUuY29tL2ltYWdlcy9jbGVhcmRvdC5naWYiKSkrJyIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1IiBhbHQ9IicrVihZeikrJyIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6dXJsKCcrVih6cSh3cikpKycpO2JhY2tncm91bmQtcG9zaXRpb246LTI4cHggMHB4Ij48L2E+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PicpLmJjKCk7US53cml0ZShfLlZjKFUpKTtRLmNsb3NlKCl9LHRoaXMpKX07Cl8uay5QZz1mdW5jdGlvbigpe3RoaXMuaj1uZXcgXy5jZChHcCh0aGlzLkIpKTtBeSh0aGlzLFcuVGUpO2lmKHRoaXMuZy5oYj09enIpe3ZhciBhPSJ1cmwoIit2cisiKSI7Xy5PKHRoaXMuai5nLmJvZHksImJhY2tncm91bmRJbWFnZSIsYSk7Zm9yKHZhciBiPXRoaXMuai5nLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJidXR0b24iKSxjPTA7YzxiLmxlbmd0aDsrK2Mpe3ZhciBkPWJbY10ucGFyZW50Tm9kZTtfLk8oZCwiYmFja2dyb3VuZEltYWdlIixhKTtfLk8oZCwiYmFja2dyb3VuZFJlcGVhdCIsInJlcGVhdC14Iik7Xy5PKGQsImJhY2tncm91bmRQb3NpdGlvbiIsIjAgLTM5cHgiKX19dGhpcy5nLk1lJiYodGhpcy5zPW5ldyBzeSh0aGlzLmcsdGhpcy5qKSk7dGhpcy5sPW5ldyBzeSh0aGlzLmcsdGhpcy5qKTt0aGlzLkQ9bmV3IHV5KHRoaXMuZyx0aGlzLmopO3RoaXMuQS5JKHRoaXMuai5DKFgodGhpcywiY29uZmlybSIpKSwiY2xpY2siLGhzKHRoaXMsImNsa19jb25maXJtIikpOwp0aGlzLkEuSSh0aGlzLmouQyhYKHRoaXMsImNhbmNlbCIpKSwiY2xpY2siLGhzKHRoaXMsImNsa19jYW5jZWwiKSk7dGhpcy5BLkkodGhpcy5qLkMoWCh0aGlzLCJyZXN0b3JlIikpLCJjbGljayIsaHModGhpcywiY2xrX3Jlc3RvcmUiKSk7dGhpcy5BLkkodGhpcy5qLkMoWCh0aGlzLCJjbG9zZSIpKSwiY2xpY2siLGhzKHRoaXMsImNsa19jbG9zZSIpKTt0aGlzLlA9dGhpcy5qLkMoWCh0aGlzLCJub0F1dG9Qb3B1cCIpKTt0aGlzLkEuSSh0aGlzLlAsImNsaWNrIixocyh0aGlzLCJjbGtfbm9fYXAiKSk7dGhpcy5zJiZ0aGlzLkEuSSh0aGlzLnMsImNoYW5nZSIsaHModGhpcywiY2hnX3NyY19sYW5nIikpO3RoaXMuQS5JKHRoaXMubCwiY2hhbmdlIixocyh0aGlzLCJjaGdfdGd0X2xhbmciKSk7dGhpcy5BLkkodGhpcy5ELCJjaGFuZ2UiLHRoaXMuVWgpO2E9bmV3IGJzKCgwLF8uQSkodGhpcy5RZyx0aGlzKSk7dGhpcy5zJiZ0aGlzLkEuSSh0aGlzLnMsImxvYWQiLGEucmVnaXN0ZXIoKSk7CnRoaXMuQS5JKHRoaXMubCwibG9hZCIsYS5yZWdpc3RlcigpKTt0aGlzLkEuSSh0aGlzLkQsImxvYWQiLGEucmVnaXN0ZXIoKSk7YS5maW5pc2goKTt0aGlzLnMmJnRoaXMucy55YSh0aGlzLmouQyhYKHRoaXMsInByb21wdFNvdXJjZUxhbmciKSkpO3RoaXMubC55YSh0aGlzLmouQyhYKHRoaXMsInByb21wdFRhcmdldExhbmciKSkpO3RoaXMuRC55YSh0aGlzLmouQygib3B0aW9ucyIpKX07Xy5rLlFnPWZ1bmN0aW9uKCl7dGhpcy5ELnZnKFcuVGcpO3RoaXMuRC53Yyh7dHVybl9vZmZfc2l0ZTpXLmRoLHMxOiItLS0iLGxlYXJuX21vcmU6Vy5TZ30pO3RoaXMuZGlzcGF0Y2hFdmVudCgibG9hZCIpfTtfLmsuVWg9ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5ELmxhKCkpe2Nhc2UgImxlYXJuX21vcmUiOndpbmRvdy5vcGVuKERyLCJfYmxhbmsiKTticmVhaztjYXNlICJ0dXJuX29mZl9zaXRlIjp0aGlzLmRpc3BhdGNoRXZlbnQoImNsa19ub19hcF9zaXRlIil9fTsKXy5rLmhhPWZ1bmN0aW9uKCl7dGhpcy5aKCExKTt6eS5PLmhhLmNhbGwodGhpcyk7dGhpcy5BLlIoKTt0aGlzLkE9bnVsbDt0aGlzLnMmJih0aGlzLnMuUigpLHRoaXMucz1udWxsKTt0aGlzLmwuUigpO3RoaXMubD1udWxsO3RoaXMuRC5SKCk7dGhpcy5EPW51bGw7RXAodGhpcy5CKTt0aGlzLmtjPXRoaXMuaj1udWxsfTtfLmsuS2E9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zP3RoaXMucy5sYSgpOiIifTtfLmsuZmE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sLmxhKCl9O18uay5hYj1mdW5jdGlvbihhKXt0aGlzLnMmJnRoaXMucy56YShhKTt0aGlzLlQmJnRoaXMuVFthXSYmdGhpcy5qLmFjKHRoaXMuUCxXLmJoKHRoaXMuVFthXSkpfTtfLmsuaWE9ZnVuY3Rpb24oYSl7dGhpcy5sLnphKGEpfTsKdmFyIEJ5PWZ1bmN0aW9uKGEsYixjLGQpe2lmKGEua2MhPWIpe2Eua2M9YjtpZigwPT1iKXthLnMmJm55KGEucyxhLmouQyhYKGEsInByb21wdFNvdXJjZUxhbmciKSkpO2lmKGEuTil7dmFyIGU9YS5mYSgpO2EubC50YihhLk4pO2EuaWEoZSl9bnkoYS5sLGEuai5DKFgoYSwicHJvbXB0VGFyZ2V0TGFuZyIpKSl9ZWxzZSAyPT1iJiYoYS5zJiZueShhLnMsYS5qLkMoWChhLCJmaW5pc2hTb3VyY2VMYW5nIikpKSxhLkgmJihlPWEuZmEoKSxhLmwudGIoYS5IKSxhLmlhKGUpKSxueShhLmwsYS5qLkMoWChhLCJmaW5pc2hUYXJnZXRMYW5nIikpKSk7ZT17fTtlWy0xXT1hLmouQyhYKGEsImVycm9yU2VjdGlvbiIpKTtlWzBdPWEuai5DKFgoYSwicHJvbXB0U2VjdGlvbiIpKTtlWzFdPWEuai5DKFgoYSwicHJvZ3Jlc3NTZWN0aW9uIikpO2VbMl09YS5qLkMoWChhLCJmaW5pc2hTZWN0aW9uIikpO2Zvcih2YXIgZiBpbiBlKWVbZl0hPT1PYmplY3QucHJvdG90eXBlW2ZdJiZPcShlW2ZdLGY9PQpiKX1jJiZhLlooITApO2EuUC5wYXJlbnROb2RlLnBhcmVudE5vZGUuc3R5bGUuZGlzcGxheT1kPyJibG9jayI6Im5vbmUifTt6eS5wcm90b3R5cGUuaXNWaXNpYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVGF9Owp6eS5wcm90b3R5cGUuWj1mdW5jdGlvbihhKXtpZih0aGlzLlRhIT1hKXt0aGlzLlRhPWE7aWYoXy5GKXZhciBiPXBhcnNlSW50KCIwIit0aGlzLmguZy5ib2R5LmxlZnRNYXJnaW4sMTApLGM9cGFyc2VJbnQoIjAiK3RoaXMuaC5nLmJvZHkudG9wTWFyZ2luLDEwKTt2YXIgZD0iQmFja0NvbXBhdCI9PXRoaXMuaC5nLmNvbXBhdE1vZGU7YT8oXy5PKHRoaXMuaC5nLmJvZHksInRvcCIsIjQwcHgiKSxPcSh0aGlzLkMoKSwhMCksXy5GJiYobnAoKT8od2luZG93Ll9iYW5uZXJxdWlya2ZpeGxlZnQ9d2luZG93Ll9iYW5uZXJxdWlya2ZpeHRvcD0wLGQmJih0aGlzLmguZy5ib2R5LnRvcE1hcmdpbj1jKzQwKSk6ZD8odGhpcy5oLmcuYm9keS50b3BNYXJnaW49Yys0MCx3aW5kb3cuX2Jhbm5lcnF1aXJrZml4bGVmdD13aW5kb3cuX2Jhbm5lcnF1aXJrZml4dG9wPTApOih3aW5kb3cuX2Jhbm5lcnF1aXJrZml4bGVmdD0tYix3aW5kb3cuX2Jhbm5lcnF1aXJrZml4dG9wPS1jLTQwKSkpOihfLk8odGhpcy5oLmcuYm9keSwKInRvcCIsIjBweCIpLE9xKHRoaXMuQygpLCExKSxkJiY0MDw9YyYmKHRoaXMuaC5nLmJvZHkudG9wTWFyZ2luPWMtNDApKX19O3p5LnByb3RvdHlwZS5IZT1mdW5jdGlvbihhKXt0aGlzLmouYWModGhpcy5qLkMoWCh0aGlzLCJwcm9ncmVzc1ZhbHVlIikpLGEpfTt2YXIgQXk9ZnVuY3Rpb24oYSxiKXthLmouYWMoYS5qLkMoWChhLCJlcnJvckNvbnRlbnQiKSksYil9O3p5LnByb3RvdHlwZS5JZT1mdW5jdGlvbihhLGIpe3RoaXMuTj1hO3RoaXMuSD1iO3RoaXMubC50YihhKX07dmFyIER5PWZ1bmN0aW9uKGEsYil7Xy5ELmNhbGwodGhpcyk7InN0cmluZyI9PV8uRWIoYSkmJihiPWEsYT17fSk7InN0cmluZyI9PV8uRWIoYikmJihiPVQoU3RyaW5nKGIpKSk7dGhpcy5UPWI7dGhpcy5zPW5ldyBfLkkodGhpcyk7dGhpcy5XPXZvaWQgMDthPU9iamVjdChhKTt0aGlzLm89ImF1dG8iOyEoYj13aW5kb3cucGFyZW50IT13aW5kb3cpJiYoYj0oIXdpbmRvdy5leHRlcm5hbHx8IXdpbmRvdy5leHRlcm5hbC5nb29nbGVUb29sYmFyVmVyc2lvbnx8Ni4yPnBhcnNlRmxvYXQod2luZG93LmV4dGVybmFsLmdvb2dsZVRvb2xiYXJWZXJzaW9uKSkmJighd2luZG93Lmd0YkV4dGVybmFsfHwhd2luZG93Lmd0YkV4dGVybmFsLmlzVHJhbnNsYXRlRW5hYmxlZHx8IXdpbmRvdy5ndGJFeHRlcm5hbC5pc1RyYW5zbGF0ZUVuYWJsZWQoKSkpJiYoYj1uYXZpZ2F0b3IuYXBwVmVyc2lvbiYmbmF2aWdhdG9yLmFwcFZlcnNpb24ubWF0Y2goL1xzQ2hyb21lXC8oKFxkKylcLihcZCspXC5bXGRcLl0rKVxzLyksCmI9IShiJiZiWzJdJiZiWzNdJiY0MDAxPD0xRTMqTnVtYmVyKGJbMl0pK051bWJlcihiWzNdKSkpO3RoaXMuZz17UWQ6Yix4ZjohMSxSZDpudWxsLEljOm51bGwsZ2U6W10sd2Y6W10sbWg6ITEsUmI6ITEsYXBpS2V5OiIiLGxheW91dDowLHJmOiExfTt0aGlzLm1hPXtoYjp6cixBZzoiaHR0cHM6Ly8iPT11cj9XLlhnOm51bGx9O3RoaXMuVT17aGI6enIsU2M6bnVsbH07YSYmKCJhdXRvRGlzcGxheSJpbiBhJiYodGhpcy5nLlFkPXRoaXMuZy5RZCYmISFhLmF1dG9EaXNwbGF5KSwibXVsdGlsYW5ndWFnZVBhZ2UiaW4gYSYmKHRoaXMuZy5SYj0hIWEubXVsdGlsYW5ndWFnZVBhZ2UpLCJsYXlvdXQiaW4gYSYmKHRoaXMuZy5sYXlvdXQ9YS5sYXlvdXQpLGEucGFnZUxhbmd1YWdlJiYodGhpcy5nLnRkPWlzKGEucGFnZUxhbmd1YWdlKSksYS5pbmNsdWRlZExhbmd1YWdlcyYmKHRoaXMuZy5nZT1hLmluY2x1ZGVkTGFuZ3VhZ2VzLnNwbGl0KCIsIikpLGEuZXhjbHVkZWRMYW5ndWFnZXMmJgoodGhpcy5nLndmPWEuZXhjbHVkZWRMYW5ndWFnZXMuc3BsaXQoIiwiKSksdGhpcy5nLnRkJiYodGhpcy5vPXRoaXMuZy50ZCksYS5rZXkmJih0aGlzLmcuYXBpS2V5PWEua2V5KSx0aGlzLlUuU2M9TnVtYmVyKGEuZmxvYXRQb3NpdGlvbil8fHRoaXMuVS5TYywiZGlzYWJsZUF1dG9UcmFuc2xhdGlvbiJpbiBhJiYodGhpcy5nLnJmPSEhYS5kaXNhYmxlQXV0b1RyYW5zbGF0aW9uKSxhLnJlbW90ZUFwaVByb3h5SGFuZGxlcnMmJih0aGlzLlc9YS5yZW1vdGVBcGlQcm94eUhhbmRsZXJzKSk7IXRoaXMuZy5yZiYmQ3kodGhpcykmJih0aGlzLmcueGY9ITApO3RoaXMuQj17fTtpZigoYT1kb2N1bWVudC5jb29raWUubWF0Y2goLyhefDsgKWdvb2d0cmFuc29wdD0oLio/KSg7fCQpLykpJiZhWzJdKWZvcih0aGlzLkI9e30sYT1fLmFkKGFbMl0pLnNwbGl0KCJ8IiksYj0wO2I8YS5sZW5ndGg7KytiKXt2YXIgYz1hW2JdLnNwbGl0KCI9Iik7Y1swXSYmKHRoaXMuQltjWzBdXT1jWzFdKX10aGlzLmRhPQpuZXcgZXcoe2FwaUtleTp0aGlzLmcuYXBpS2V5LEJiOjEsTGU6ITAsZm06QnJ9LHtjbGllbnQ6c3IsdTp3aW5kb3cubG9jYXRpb24uaHJlZn0pO3RoaXMuRD1uZXcgbHkodm9pZCAwLHRoaXMuZGEsdm9pZCAwLHZvaWQgMCx0aGlzLmcuYXBpS2V5LHZvaWQgMCx2b2lkIDAsbmV3IFF4LHZvaWQgMCx2b2lkIDAsdGhpcy5XKTt0aGlzLkc9ITE7dGhpcy5zLkkod2luZG93LCJwYWdlaGlkZSIsdGhpcy5SKTt0aGlzLkg9bmV3IGJzKCgwLF8uQSkodGhpcy5PaCx0aGlzKSk7dGhpcy5LPW5ldyBicygoMCxfLkEpKHRoaXMuU2gsdGhpcykpO3RoaXMuTj1uZXcgZHMoKDAsXy5BKSh0aGlzLmtpLHRoaXMpKTt0aGlzLmg9bmV3IHp5KHRoaXMubWEpO3RoaXMuRC5FYyh0aGlzLkgucmVnaXN0ZXIoKDAsXy5BKSh0aGlzLk5oLHRoaXMpKSxtcik7dGhpcy5UPyh0aGlzLmw9bmV3IHZ5KHRoaXMuZyksdGhpcy5zLkkodGhpcy5sLCJsb2FkIix0aGlzLkgucmVnaXN0ZXIoKSksdGhpcy5zLkkodGhpcy5sLAoiY2hnX3RndF9sYW5nIixlcyh0aGlzLk4sdGhpcy5LLmRlbGF5KCgwLF8uQSkodGhpcy5NaCx0aGlzKSkpKSx0aGlzLmwueWEodGhpcy5UKSk6dGhpcy5VLlNjJiYodGhpcy5BPW5ldyB4eSh0aGlzLlUpLHRoaXMucy5JKHRoaXMuQSwibG9hZCIsdGhpcy5ILnJlZ2lzdGVyKCkpLHRoaXMucy5JKHRoaXMuQSwiY2xrX3RyYW5zIixlcyh0aGlzLk4sdGhpcy5LLmRlbGF5KCgwLF8uQSkodGhpcy5MaCx0aGlzKSkpKSx0aGlzLkEueWEoKSk7IXRoaXMuZy50ZCYmdGhpcy5nLm1oJiZ0aGlzLkQuVmModGhpcy5ILnJlZ2lzdGVyKCgwLF8uQSkodGhpcy5LaCx0aGlzKSkpO3RoaXMuSC5maW5pc2goKX07Xy56KER5LF8uRCk7CnZhciBDeT1mdW5jdGlvbihhKXtmdW5jdGlvbiBiKGYsZyl7aWYoZj1fLmFkKGYpLm1hdGNoKCJeXFwoKChbYS16QS1aXFwtX10qKVxcfCk/KFthLXpBLVpcXC1fXSopXFwpfF4vKChbYS16QS1aXFwtX10qKS8pPyhbYS16QS1aXFwtX10qKSIpKXtpZihmWzNdKXJldHVybiBnLmcuUmQ9ZlsyXSxnLmcuSWM9ZlszXSwhMDtpZihmWzZdKXJldHVybiBnLmcuUmQ9Zls1XSxnLmcuSWM9Zls2XSwhMH1yZXR1cm4hMX12YXIgYz17dXJsOmZ1bmN0aW9uKCl7dmFyIGY9d2luZG93LmxvY2F0aW9uLmhyZWYubWF0Y2goLyMuKmdvb2d0cmFucyguKikvKTtyZXR1cm4gZiYmZlsxXX0sY29va2llOmZ1bmN0aW9uKCl7dmFyIGY9ZG9jdW1lbnQuY29va2llLm1hdGNoKC8oXnw7IClnb29ndHJhbnM9KC4qPykoO3wkKS8pO3JldHVybiBmJiZmWzJdfX0sZDtmb3IoZCBpbiBjKWlmKGNbZF0hPT1PYmplY3QucHJvdG90eXBlW2RdKXt2YXIgZT1jW2RdKCk7aWYoZSYmYihlLGEpKXJldHVybiBkfXJldHVybiIifSwKRXk9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLnNwbGl0KCIuIik7MjxjLmxlbmd0aDspYy5zaGlmdCgpO2M9Ijtkb21haW49IitjLmpvaW4oIi4iKTtudWxsIT1iP2E9YSsiPSIrYjooYj1uZXcgRGF0ZSxiLnNldFRpbWUoYi5nZXRUaW1lKCktMSksYT1hKyI9bm9uZTtleHBpcmVzPSIrYi50b0dNVFN0cmluZygpKTthKz0iO3BhdGg9LyI7ZG9jdW1lbnQuY29va2llPWE7dHJ5e2RvY3VtZW50LmNvb2tpZT1hK2N9Y2F0Y2goZCl7fX0sRnk9ZnVuY3Rpb24oYSxiKXt2YXIgYz1udWxsO3ZvaWQgMCE9PWImJihjPXZvaWQgMCE9PWE/Ii8iK2ErIi8iK2I6Ii8iK2IpO0V5KCJnb29ndHJhbnMiLGMpfTtfLms9RHkucHJvdG90eXBlOwpfLmsuTmg9ZnVuY3Rpb24oYSl7dGhpcy5qPWlzKG1yKTthPWF8fHt9O3ZhciBiPWEudGFyZ2V0TGFuZ3VhZ2VzfHxbXTt0aGlzLk09e3NsOm9vKGEuc291cmNlTGFuZ3VhZ2VzfHxbXSksdGw6b28oYil9O3RoaXMuRj17fTt0aGlzLlA9e307YT0hdGhpcy5nLmdlLmxlbmd0aDtiPWFzKHRoaXMuZy5nZSk7dmFyIGM9YXModGhpcy5nLndmKTt0aGlzLkZbbXJdPSIiO3RoaXMuUFttcl09IiI7Zm9yKHZhciBkIGluIHRoaXMuTS50bCl0aGlzLk0udGxbZF09PT1PYmplY3QucHJvdG90eXBlW2RdfHwhKGF8fGQgaW4gYil8fGQgaW4gY3x8KHRoaXMuUFtkXT10aGlzLk0udGxbZF0sZD09dGhpcy5nLnRkJiYhdGhpcy5nLlJiKXx8KHRoaXMuRltkXT10aGlzLk0udGxbZF0pO3RoaXMuRlttcl18fGRlbGV0ZSB0aGlzLkZbbXJdO3RoaXMuUFttcl18fGRlbGV0ZSB0aGlzLlBbbXJdO3RoaXMuYWE9c24odGhpcy5NLnNsKX07Xy5rLktoPWZ1bmN0aW9uKGEpe2EmJih0aGlzLm89aXMoYSkpfTsKXy5rLk9oPWZ1bmN0aW9uKCl7ZGVsZXRlIHRoaXMuSDtpZih0aGlzLk0pe3RoaXMubz10aGlzLm98fHRoaXMuZy5SZDt0aGlzLmo9dGhpcy5nLkljfHx0aGlzLmo7dmFyIGE9dGhpcy5nLnhmfHx0aGlzLmcuUWQmJnRoaXMubyE9dGhpcy5qJiYhKHRoaXMubyBpbiBxcikmJiIxIiE9dGhpcy5CLm9zJiYiMSIhPXRoaXMuQlsibyIrdGhpcy5vXTsiemgtVFciPT10aGlzLm8mJih0aGlzLm89InpoLUNOIik7dGhpcy5hYVt0aGlzLm9dfHwoYT0hMSx0aGlzLm89ImF1dG8iKTtpZighdGhpcy5GW3RoaXMual0paWYoYT0hMSx0aGlzLkYuZW4pdGhpcy5qPSJlbiI7ZWxzZSBmb3IodmFyIGIgaW4gdGhpcy5GKWlmKHRoaXMuRltiXSE9PU9iamVjdC5wcm90b3R5cGVbYl0pe3RoaXMuaj1iO2JyZWFrfWlmKHRoaXMubCl7Yj10aGlzLkY7dmFyIGM9eyIiOlcuV2d9LGQ7Zm9yKGQgaW4gYiliW2RdIT09T2JqZWN0LnByb3RvdHlwZVtkXSYmKGNbZF09YltkXSk7dGhpcy5sLkllKGMsdGhpcy5QKTt0aGlzLmwuaWEoIiIpfSFvciYmCmE/dGhpcy5nLkljP2VzKHRoaXMuTix0aGlzLksuZGVsYXkoKDAsXy5BKSh0aGlzLnlkLHRoaXMsITAsITApKSkuY2FsbCgpOih0aGlzLkc9ITAsZXModGhpcy5OLHRoaXMuSy5kZWxheSgoMCxfLkEpKHRoaXMueWQsdGhpcykpKS5jYWxsKCksam8oInRlX2FwIix7c2w6dGhpcy5vfSkpOih0aGlzLkEmJnRoaXMuQS5aKCEwKSx0aGlzLmwmJnRoaXMubC5aKCEwKSk7d2luZG93Lmdvb2dsZS50cmFuc2xhdGUuVHJhbnNsYXRlU2VydmljZSYmdGhpcy5aYSghMSk7dGhpcy5OLmZpbmlzaCgpfX07Cl8uay5TaD1mdW5jdGlvbigpe3ZhciBhPXRoaXMuaCxiPXRoaXMuYWE7YS5zJiZhLnMudGIoYik7YS5UPWI7dGhpcy5oLkllKHRoaXMuRix0aGlzLlApO3RoaXMuaC5hYih0aGlzLm8pO3RoaXMuaC5pYSh0aGlzLmopO3RoaXMucy5JKHRoaXMuaCwiY2xrX2NvbmZpcm0iLHRoaXMuSGgpO3RoaXMucy5JKHRoaXMuaCwiY2xrX2NhbmNlbCIsdGhpcy5HaCk7dGhpcy5zLkkodGhpcy5oLCJjbGtfcmVzdG9yZSIsdGhpcy5hZSk7dGhpcy5zLkkodGhpcy5oLCJjbGtfY2xvc2UiLHRoaXMuV2MpO3RoaXMucy5JKHRoaXMuaCwiY2xrX25vX2FwIix0aGlzLkloKTt0aGlzLnMuSSh0aGlzLmgsImNsa19ub19hcF9zaXRlIix0aGlzLkpoKTt0aGlzLnMuSSh0aGlzLmgsImNoZ19zcmNfbGFuZyIsdGhpcy5DZik7dGhpcy5zLkkodGhpcy5oLCJjaGdfdGd0X2xhbmciLHRoaXMuQ2YpO3RoaXMubCYmdGhpcy5sLlooITApfTsKXy5rLmtpPWZ1bmN0aW9uKCl7dGhpcy5zLkkodGhpcy5oLCJsb2FkIix0aGlzLksucmVnaXN0ZXIoKSk7dGhpcy5oLnlhKCk7dGhpcy5LLmZpbmlzaCgpfTtfLmsuSj1mdW5jdGlvbigpe3RoaXMuRC5yZXN0b3JlKCk7Xy5ELnByb3RvdHlwZS5KLmNhbGwodGhpcyk7dGhpcy5ELlIoKTt0aGlzLnMuUigpO3RoaXMucz1udWxsO3RoaXMuaCYmdGhpcy5oLlIoKTt0aGlzLmg9bnVsbDt0aGlzLkEmJnRoaXMuQS5SKCk7dGhpcy5BPW51bGw7dGhpcy5sJiZ0aGlzLmwuUigpO3RoaXMuVD10aGlzLmw9bnVsbH07Xy5rLkhoPWZ1bmN0aW9uKCl7IXRoaXMuaC5pc1Zpc2libGUoKXx8IXRoaXMuZy5SYiYmcHModGhpcy5vLHRoaXMuaC5mYSgpKXx8KHRoaXMuRyYmam8oInRlX2FwdCIse3NsOnRoaXMub30pLEd5KHRoaXMsITEpLHRoaXMubCYmdGhpcy5sLmlhKHRoaXMuaC5mYSgpKSl9OwpfLmsuR2g9ZnVuY3Rpb24oKXt0aGlzLmguaXNWaXNpYmxlKCkmJihIeSh0aGlzKSxCeSh0aGlzLmgsMCksdGhpcy5sJiZ0aGlzLmwuaWEoIiIpKX07Xy5rLmFlPWZ1bmN0aW9uKCl7dGhpcy5oLmlzVmlzaWJsZSgpJiYoSHkodGhpcyksQnkodGhpcy5oLDApKTt0aGlzLmwmJnRoaXMubC5pYSgiIil9O18uay5XYz1mdW5jdGlvbigpe3RoaXMuaC5pc1Zpc2libGUoKSYmKHRoaXMuRyYmKHRoaXMuRz0hMSxqbygidGVfYXBjIix7c2w6dGhpcy5vfSkpLEh5KHRoaXMpLHRoaXMuaC5aKCExKSx0aGlzLmwmJnRoaXMubC5pYSgiIiksdGhpcy5BJiZ0aGlzLkEuWighMCkpfTtfLmsuSWg9ZnVuY3Rpb24oKXt0aGlzLmguaXNWaXNpYmxlKCkmJih0aGlzLkJbIm8iK3RoaXMub109IjEiLGpvKCJ0ZV9hcHIiLHtzbDp0aGlzLm99KSx0aGlzLkc9ITEsdGhpcy5XYygpKX07Cl8uay5KaD1mdW5jdGlvbigpe2lmKHRoaXMuaC5pc1Zpc2libGUoKSl7dGhpcy5HPSExO3RoaXMuQi5vcz0iMSI7dmFyIGE9bnVsbDtpZih0aGlzLkIpe2E9W107Zm9yKHZhciBiIGluIHRoaXMuQil0aGlzLkJbYl0hPT1PYmplY3QucHJvdG90eXBlW2JdJiZhLnB1c2goYisiPSIrdGhpcy5CW2JdKTthPWEuam9pbigifCIpfUV5KCJnb29ndHJhbnNvcHQiLGEpO3RoaXMuV2MoKX19O18uay5DZj1mdW5jdGlvbigpe3RoaXMuaC5pc1Zpc2libGUoKSYmKCF0aGlzLmcuUmImJnBzKHRoaXMubyx0aGlzLmguZmEoKSk/dGhpcy5hZSgpOih0aGlzLm89dGhpcy5oLkthKCl8fHRoaXMubyx0aGlzLmo9dGhpcy5oLmZhKCksMj09dGhpcy5oLmtjJiYodGhpcy5sJiZ0aGlzLmwuaWEodGhpcy5oLmZhKCkpLEd5KHRoaXMpKSkpfTtfLmsueWQ9ZnVuY3Rpb24oYSxiKXt0aGlzLmguaXNWaXNpYmxlKCl8fCh0aGlzLkEmJnRoaXMuQS5aKCExKSxhP0d5KHRoaXMsYik6QnkodGhpcy5oLDAsITAsdGhpcy5HKSl9OwpfLmsuWWk9ZnVuY3Rpb24oYSxiKXtlcyh0aGlzLk4sdGhpcy5LLmRlbGF5KCgwLF8uQSkodGhpcy55ZCx0aGlzLGEsYikpKS5jYWxsKCl9O18uay5MaD1mdW5jdGlvbigpe3RoaXMueWQoMj09dGhpcy5oLmtjKX07Xy5rLk1oPWZ1bmN0aW9uKCl7dGhpcy5sLmZhKCk/IXRoaXMuZy5SYiYmcHModGhpcy5vLHRoaXMuaC5mYSgpKT90aGlzLmFlKCk6KHRoaXMuaj10aGlzLmwuZmEoKSx0aGlzLmguaWEodGhpcy5qKSxHeSh0aGlzKSk6dGhpcy5sLmlhKHRoaXMuail9Owp2YXIgR3k9ZnVuY3Rpb24oYSxiKXtpZih3aW5kb3cuZ29vZ2xlLnRyYW5zbGF0ZS5UcmFuc2xhdGVTZXJ2aWNlKXRyeXt3aW5kb3cuZ29vZ2xlLnRyYW5zbGF0ZS5UcmFuc2xhdGVTZXJ2aWNlLmdldEluc3RhbmNlKCkucmVzdG9yZSgpfWNhdGNoKGMpe31GeShhLm8sYS5qKTthLkc9ITE7IWImJmEubyBpbiBxciYmam8oInRlX2FwZSIse3NsOmEub30pO2EuaC5IZSgwKTtCeShhLmgsMSwhMCk7YS5ELndnKCEhYik7d2luZG93LnNldFRpbWVvdXQoKDAsXy5BKShhLkQuQmQsYS5ELGEuZy5SYj8iYXV0byI6YS5vLGEuaiwoMCxfLkEpKGEucmEsYSksdm9pZCAwLHZvaWQgMCksMCl9OwpEeS5wcm90b3R5cGUucmE9ZnVuY3Rpb24oYSxiLGMpeyJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLnVhJiZ0aGlzLnVhKCk7dGhpcy5oLmlzVmlzaWJsZSgpJiYxPT10aGlzLmgua2MmJihjPyhIeSh0aGlzKSxCeSh0aGlzLmgsLTEsITApLDI9PWM/QXkodGhpcy5oLFcuUmcpOkF5KHRoaXMuaCxXLlRlKSk6KHRoaXMuaC5IZShhKSxiJiYodGhpcy5sJiZ0aGlzLmwuaWEodGhpcy5qKSx0aGlzLmguYWIodGhpcy5vKSxCeSh0aGlzLmgsMikpKSl9O3ZhciBIeT1mdW5jdGlvbihhKXtGeSgpO3dpbmRvdy5zZXRUaW1lb3V0KCgwLF8uQSkoYS5ELnJlc3RvcmUsYS5ELG51bGwpLDApfTtEeS5wcm90b3R5cGUuWmE9ZnVuY3Rpb24oYSl7YXx8dGhpcy5XYygpO3RoaXMubCYmdGhpcy5sLlphKGEpO3RoaXMuQSYmdGhpcy5BLlooYSl9O3ZhciBJeT1mdW5jdGlvbihhKXtpZihhJiYoYT1TdHJpbmcoYSksYT1hLnNwbGl0KCIuIiksYS5sZW5ndGgpKXtmb3IodmFyIGI9d2luZG93LGM9MDtjPGEubGVuZ3RoOysrYyl7dmFyIGQ9YVtjXTtpZighKGQmJmQgaW4gYikpcmV0dXJuO2I9YltkXX1yZXR1cm4gYn19O3ZhciBKeT1JeSgiZ29vZ2xlLnRyYW5zbGF0ZS5tIik7aWYoSnkpZm9yKHZhciBLeSBpbiBXKWlmKFdbS3ldIT09T2JqZWN0LnByb3RvdHlwZVtXW0t5XV0mJldbS3ldKXt2YXIgTHk9V1tLeV0oKTtXW0t5XT1KeVtMeV0/SnlbTHldOllzfQppZigxPT1ycil7dmFyIE15PW51bGwsTnk9ZnVuY3Rpb24oYSl7aWYoIU15KXt2YXIgYixjLGQsZTthJiYoImtleSJpbiBhJiYoYj1hLmtleSksInNlcnZlclBhcmFtcyJpbiBhJiYoYz1hLnNlcnZlclBhcmFtcyksInRpbWVJbmZvImluIGEmJihkPWEudGltZUluZm8pLCJyZW1vdGVBcGlQcm94eUhhbmRsZXJzImluIGEmJihlPWEucmVtb3RlQXBpUHJveHlIYW5kbGVycyksKGE9cXMoKSkmJihjPWEpKTthPTA7aWYoInRlX2xpYiI9PXNyfHxfLnZjKWE9MztNeT1uZXcgbHkodm9pZCAwLG5ldyBldyh7YXBpS2V5OmIsQmI6YSxMZTohMCx0cmFja1Zpc2liaWxpdHk6InR2aXMiPT1jfSksdm9pZCAwLHZvaWQgMCxiLGMsZCx2b2lkIDAsdm9pZCAwLHZvaWQgMCxlKTtNeS5jb25zdHJ1Y3Rvcj1mdW5jdGlvbigpe307TXkuaXNBdmFpbGFibGU9TXkuV2E7TXkuZ2V0U3VwcG9ydGVkTGFuZ3VhZ2VzPU15LkVjO015LmdldFBhZ2VMYW5ndWFnZT1NeS5WYztNeS5zZXRDbGlja1Rocm91Z2g9TXkud2c7Ck15LnRyYW5zbGF0ZVBhZ2U9TXkuQmQ7TXkucmVzdG9yZT1NeS5yZXN0b3JlO015LmlzVHJhbnNsYXRpbmc9TXkuTGc7TXkuc2V0Q2hlY2tWaXNpYmlsaXR5PU15LldpfXJldHVybiBNeX07TnkuZ2V0SW5zdGFuY2U9ZnVuY3Rpb24oKXtyZXR1cm4gTXl9O18uTGIoImdvb2dsZS50cmFuc2xhdGUuVHJhbnNsYXRlU2VydmljZSIsTnkpO2pvKCJ0ZV9saSIpfWVsc2V7dmFyIE95PW51bGwsUHk9ZnVuY3Rpb24oYSxiKXtPeXx8KE95PW5ldyBEeShhLGIpLE95LmNvbnN0cnVjdG9yPWZ1bmN0aW9uKCl7fSk7cmV0dXJuIE95fTtQeS5nZXRJbnN0YW5jZT1mdW5jdGlvbigpe3JldHVybiBPeX07Xy5MYigiZ29vZ2xlLnRyYW5zbGF0ZS5UcmFuc2xhdGVFbGVtZW50IixQeSk7RHkucHJvdG90eXBlLmRpc3Bvc2U9RHkucHJvdG90eXBlLlI7RHkucHJvdG90eXBlLnNob3dCYW5uZXI9RHkucHJvdG90eXBlLllpO0R5LnByb3RvdHlwZS5zZXRFbmFibGVkPUR5LnByb3RvdHlwZS5aYTtfLkxiKCJnb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZUVsZW1lbnQuRmxvYXRQb3NpdGlvbiIsCnl5KTt5eS5UT1BfTEVGVD0xO3l5LlRPUF9SSUdIVD0yO3l5LkJPVFRPTV9SSUdIVD0zO3l5LkJPVFRPTV9MRUZUPTQ7Xy5MYigiZ29vZ2xlLnRyYW5zbGF0ZS5UcmFuc2xhdGVFbGVtZW50LklubGluZUxheW91dCIsd3kpO3d5LlZFUlRJQ0FMPTA7d3kuSE9SSVpPTlRBTD0xO3d5LlNJTVBMRT0yfShmdW5jdGlvbigpe2Zvcih2YXIgYSBpbiBPYmplY3QucHJvdG90eXBlKXtfLk5jPWZ1bmN0aW9uKGQsZSxmKXtmb3IodmFyIGcgaW4gZClkW2ddIT09T2JqZWN0LnByb3RvdHlwZVtnXSYmZS5jYWxsKGYsZFtnXSxnLGQpfTticmVha312YXIgYj1fLktiKCksYz1JeShucik7YyYmImZ1bmN0aW9uIj09dHlwZW9mIGMmJigxPT1ycj9jKCk6ZnVuY3Rpb24gZSgpe3ZhciBmPWRvY3VtZW50LnJlYWR5U3RhdGU7InVuZGVmaW5lZCI9PV8uRWIoZil8fCJjb21wbGV0ZSI9PWZ8fCJpbnRlcmFjdGl2ZSI9PWZ8fDJFNDw9Xy5LYigpLWI/YygpOndpbmRvdy5zZXRUaW1lb3V0KGUsNTAwKX0oKSl9KSgpOwpfLmt4PWZ1bmN0aW9uKCl7cmV0dXJuITB9OwpfLm9hKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp9KS5jYWxsKHRoaXMsdGhpcy5kZWZhdWx0X3RyKTsKLy8gR29vZ2xlIEluYy4K"}},"time_used":92,"timings":{"blocked":-1,"dns":2,"connect":14,"send":0,"wait":16,"receive":26,"ssl":33},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/32632.596e5348a1538a18fd4e.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.178Z","timestamp":1785120634178,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/32632.596e5348a1538a18fd4e.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-4fc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:20\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e9ddbcc65e0b4979da5ecddd7ca30b67\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1276,"size_decoded":1216,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1276), with no line terminators","md5":"4dbd9186e797320373da6c5f9843030c","sha1":"23410205367378f1c6436025ba87050084b119a4","sha256":"7efe9b338dd4970e4b6ee84a711c1bb6cc65dad73322597e03c040abdb1fa38a","sha512":"a66b0365c81f21e82e8d510923718ce9c71b8aab5c59688e1d32283b9203b9d4b79e04b000fd34cc03234913be0c316407e1d1b9b4c6360478f73081d15595ef","ssdeep":"","tlshash":"3321dfe1e790187af8a38916a788de867158fa036713fd49f7daa80e4481d78113c34d","first_seen":"2026-07-16T13:40:49.72467Z","last_seen":"2026-07-27T05:24:15.755143Z","times_seen":760,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtdWdzMTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLXVnczE6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LnR2LXNwaW5uZXJ7YW5pbWF0aW9uOnR2LXNwaW5uZXJfX2NvbnRhaW5lci1yb3RhdGUtajRKbHJZVkggLjlzIGxpbmVhciBpbmZpbml0ZTtib3JkZXItaW5saW5lLWVuZC1jb2xvcjp2YXIoLS1fMC11Z3MxKTtib3JkZXI6MCBzb2xpZCB2YXIoLS10di1zcGlubmVyLWNvbG9yLHZhcigtLWNvbG9yLWJyYW5kKSk7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1fMC11Z3MxKTtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5Om5vbmU7bWFyZ2luOjAgYXV0bztwb3NpdGlvbjphYnNvbHV0ZX0udHYtc3Bpbm5lci0tc2hvd257ZGlzcGxheTpibG9ja30udHYtc3Bpbm5lci0tc2l6ZV94eHNtYWxse2JvcmRlci13aWR0aDoycHg7aGVpZ2h0OjEwcHg7aW5zZXQtaW5saW5lLXN0YXJ0OmNhbGMoNTAlIC0gN3B4KTt0b3A6Y2FsYyg1MCUgLSA3cHgpO3dpZHRoOjEwcHh9LnR2LXNwaW5uZXItLXNpemVfeHNtYWxse2JvcmRlci13aWR0aDoycHg7aGVpZ2h0OjE0cHg7aW5zZXQtaW5saW5lLXN0YXJ0OmNhbGMoNTAlIC0gOXB4KTt0b3A6Y2FsYyg1MCUgLSA5cHgpO3dpZHRoOjE0cHh9LnR2LXNwaW5uZXItLXNpemVfc21hbGx7Ym9yZGVyLXdpZHRoOjJweDtoZWlnaHQ6MjBweDtpbnNldC1pbmxpbmUtc3RhcnQ6Y2FsYyg1MCUgLSAxMnB4KTt0b3A6Y2FsYyg1MCUgLSAxMnB4KTt3aWR0aDoyMHB4fS50di1zcGlubmVyLS1zaXplX21lZGl1bXtib3JkZXItd2lkdGg6M3B4O2hlaWdodDoyOHB4O2luc2V0LWlubGluZS1zdGFydDpjYWxjKDUwJSAtIDE3cHgpO3RvcDpjYWxjKDUwJSAtIDE3cHgpO3dpZHRoOjI4cHh9LnR2LXNwaW5uZXItLXNpemVfbGFyZ2V7Ym9yZGVyLXdpZHRoOjRweDtoZWlnaHQ6NTZweDtpbnNldC1pbmxpbmUtc3RhcnQ6Y2FsYyg1MCUgLSAzMnB4KTt0b3A6Y2FsYyg1MCUgLSAzMnB4KTt3aWR0aDo1NnB4fS50di1zcGlubmVyOmRpcihydGwpe2FuaW1hdGlvbjp0di1zcGlubmVyX19jb250YWluZXItcm90YXRlLXJ0bC1qNEpscllWSCAuOXMgbGluZWFyIGluZmluaXRlfUBrZXlmcmFtZXMgdHYtc3Bpbm5lcl9fY29udGFpbmVyLXJvdGF0ZS1qNEpscllWSHt0b3t0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19QGtleWZyYW1lcyB0di1zcGlubmVyX19jb250YWluZXItcm90YXRlLXJ0bC1qNEpscllWSHt0b3t0cmFuc2Zvcm06cm90YXRlKC0xdHVybil9fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/69113.5f4406ac8b4436afdc23.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.530Z","timestamp":1785120634530,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/69113.5f4406ac8b4436afdc23.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-757e\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:54\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c7dc6c9ea5f993b32eab08291ae9d9bf\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":30078,"size_decoded":11743,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3068)","md5":"8c88ce407a538a14bff85954f6fb23f2","sha1":"20cc9856f0669e2b47804f5898e16e5049528f64","sha256":"2c1f8c23670876104ee7d980e9114d9cb2c088968d87b10cbd878f00397dcb46","sha512":"3c195cec522d44f6c2dce76aa4afbb00d51848a0663a1ce0b5adf73bcc1e9e1a733fd2a8885aa1ef621f486bd2a97b16e178ed33670f73bde3c4cc86bd8c0fc9","ssdeep":"768:Gtv5X/myZwOFu9JgkOrK7fkWXRqQqmAdNqeoNbs8Cj5D2gjK8YIRcOrSu9:GdB/IgkOFTlpQVA8kC3ISuH9","tlshash":"4bd219503021a0aad2f792efd03b464eb333325d78064e69f0689ced55cde993174bba","first_seen":"2026-07-23T13:38:20.459952Z","last_seen":"2026-07-27T06:07:34.475472Z","times_seen":64,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szNTk2NCw2MzU5NSw2OTExM10sezk1ODYzOShlKXtlLmV4cG9ydHM9e21lbnVXcmFwOiJtZW51V3JhcC1sQkl4SXd0eiIsaXNNZWFzdXJpbmc6ImlzTWVhc3VyaW5nLWxCSXhJd3R6IixzY3JvbGxXcmFwOiJzY3JvbGxXcmFwLWxCSXhJd3R6Iixtb21lbnR1bUJhc2VkOiJtb21lbnR1bUJhc2VkLWxCSXhJd3R6IixtZW51Qm94OiJtZW51Qm94LWxCSXhJd3R6Iixpc0hpZGRlbjoiaXNIaWRkZW4tbEJJeEl3dHoifX0sNDcwMjk1KGUpe2UuZXhwb3J0cz17InRhYmxldC1zbWFsbC1icmVha3BvaW50IjoiKG1heC13aWR0aDogNDQwcHgpIixpdGVtOiJpdGVtLU1pMF90NXVOIixob3ZlcmVkOiJob3ZlcmVkLU1pMF90NXVOIixpc0Rpc2FibGVkOiJpc0Rpc2FibGVkLU1pMF90NXVOIixpc0FjdGl2ZToiaXNBY3RpdmUtTWkwX3Q1dU4iLHNob3J0Y3V0OiJzaG9ydGN1dC1NaTBfdDV1TiIsdG9vbGJveDoidG9vbGJveC1NaTBfdDV1TiIsd2l0aEljb246IndpdGhJY29uLU1pMF90NXVOIiwicm91bmQtaWNvbiI6InJvdW5kLWljb24tTWkwX3Q1dU4iLGljb246Imljb24tTWkwX3Q1dU4iLHN0YXJ0U2xvdDoic3RhcnRTbG90LU1pMF90NXVOIixsYWJlbFJvdzoibGFiZWxSb3ctTWkwX3Q1dU4iLGxhYmVsOiJsYWJlbC1NaTBfdDV1TiIsc2hvd09uSG92ZXI6InNob3dPbkhvdmVyLU1pMF90NXVOIiwiZGlzY2xvc3VyZS1pdGVtLWNpcmNsZS1sb2dvIjoiZGlzY2xvc3VyZS1pdGVtLWNpcmNsZS1sb2dvLU1pMF90NXVOIixzaG93T25Gb2N1czoic2hvd09uRm9jdXMtTWkwX3Q1dU4ifX0sMTI5NjYxKGUpe2UuZXhwb3J0cz17c3F1YXJlVGFiQnV0dG9uOiJzcXVhcmVUYWJCdXR0b24tVTdHWXU4QW0iLHhsYXJnZToieGxhcmdlLVU3R1l1OEFtIixzZWxlY3RlZDoic2VsZWN0ZWQtVTdHWXU4QW0iLG1lZGl1bToibWVkaXVtLVU3R1l1OEFtIixzbWFsbDoic21hbGwtVTdHWXU4QW0iLHhzbWFsbDoieHNtYWxsLVU3R1l1OEFtIixtZWRpdW1XaXRoU21hbGxGb250OiJtZWRpdW1XaXRoU21hbGxGb250LVU3R1l1OEFtIn19LDczODgyNihlKXtlLmV4cG9ydHM9e2Fycm93SWNvbjoiYXJyb3dJY29uLVlUanp1eTh5Iixkcm9wcGVkOiJkcm9wcGVkLVlUanp1eTh5In19LDMzNjg1MShlKXtlLmV4cG9ydHM9eyJjc3MtdmFsdWUtc3F1YXJlLXRhYnMteHNtYWxsLWdhcCI6IjRweCIsImNzcy12YWx1ZS1zcXVhcmUtdGFicy1zbWFsbC1nYXAiOiI4cHgiLCJjc3MtdmFsdWUtc3F1YXJlLXRhYnMtbWVkaXVtLWdhcCI6IjEycHgiLCJjc3MtdmFsdWUtc3F1YXJlLXRhYnMteGxhcmdlLWdhcCI6IjEycHgifX0sMzYyNzkzKGUpe2UuZXhwb3J0cz17eHh4c21hbGw6Inh4eHNtYWxsLUFmZDZ0NFpqIix4eHNtYWxsOiJ4eHNtYWxsLUFmZDZ0NFpqIix4c21hbGw6InhzbWFsbC1BZmQ2dDRaaiIsc21hbGw6InNtYWxsLUFmZDZ0NFpqIixtZWRpdW06Im1lZGl1bS1BZmQ2dDRaaiIsbGFyZ2U6ImxhcmdlLUFmZDZ0NFpqIix4bGFyZ2U6InhsYXJnZS1BZmQ2dDRaaiIsY291bnRlcjoiY291bnRlci1BZmQ2dDRaaiIsImNvbG9yLWRhbmdlciI6ImNvbG9yLWRhbmdlci1BZmQ2dDRaaiIsImNvbG9yLWFjY2VudCI6ImNvbG9yLWFjY2VudC1BZmQ2dDRaaiIsImNvbG9yLWFjY2VudC1saWdodCI6ImNvbG9yLWFjY2VudC1saWdodC1BZmQ2dDRaaiIsImNvbG9yLW5ldXRyYWwtYm9sZCI6ImNvbG9yLW5ldXRyYWwtYm9sZC1BZmQ2dDRaaiIsImNvbG9yLW5ldXRyYWwiOiJjb2xvci1uZXV0cmFsLUFmZDZ0NFpqIiwiYm9yZGVyQ29sb3ItcHJpbWFyeSI6ImJvcmRlckNvbG9yLXByaW1hcnktQWZkNnQ0WmoiLCJib3JkZXJDb2xvci1zZWNvbmRhcnkiOiJib3JkZXJDb2xvci1zZWNvbmRhcnktQWZkNnQ0WmoiLCJib3JkZXJDb2xvci10ZXJ0aWFyeSI6ImJvcmRlckNvbG9yLXRlcnRpYXJ5LUFmZDZ0NFpqIixkaXNhYmxlZDoiZGlzYWJsZWQtQWZkNnQ0WmoifX0sMTkzODQ3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1BvcHVwTWVudURpc2Nsb3N1cmVWaWV3OigpPT51fSk7dmFyIG89big3Nzk0NzQpLHI9big4MDk0MzYpLHM9big4MzU5NjQpLGk9bigxMzg2MzgpO2NvbnN0IGE9e3g6MCx5OjB9O2Z1bmN0aW9uIGwoZSx0LG4pe3JldHVybigwLG8udXNlQ2FsbGJhY2spKCgoKT0+ZnVuY3Rpb24oZSx0LHt4Om49YS54LHk6bz1hLnl9PWEpe2NvbnN0IHI9KDAsaS5lbnN1cmVOb3ROdWxsKShlKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxzPXt4OnIubGVmdCtuLHk6ci50b3Arci5oZWlnaHQrbyxpbmRlbnRGcm9tV2luZG93Ont0b3A6NCxib3R0b206NCxsZWZ0OjQscmlnaHQ6NH19O3JldHVybiB0JiYocy5vdmVycmlkZVdpZHRoPXIud2lkdGgpLHN9KGUuY3VycmVudCx0LG4pKSxbZSx0XSl9Y29uc3QgYz1wYXJzZUludChyWyJzaXplLWhlYWRlci1oZWlnaHQiXSk7ZnVuY3Rpb24gdShlKXtjb25zdHtidXR0b246dCxwb3B1cENoaWxkcmVuOm4sYnV0dG9uUmVmOnIsbGlzdGJveElkOmksbGlzdGJveENsYXNzTmFtZTphLGxpc3Rib3hUYWJJbmRleDp1LG1hdGNoQnV0dG9uQW5kTGlzdGJveFdpZHRoczpkLGlzT3BlbmVkOmgsc2Nyb2xsV3JhcFJlZmVyZW5jZTpwLGxpc3Rib3hSZWZlcmVuY2U6bSxvbkNsb3NlOmYsb25PcGVuOmIsb25MaXN0Ym94Rm9jdXM6Zyxvbkxpc3Rib3hCbHVyOnYsb25MaXN0Ym94S2V5RG93bjp4LGxpc3Rib3hBcmlhOkMscmVwb3NpdGlvbk9uU2Nyb2xsOl89ITAsY2xvc2VPbkhlYWRlck92ZXJsYXA6Uz0hMSxwb3B1cFBvc2l0aW9uQ29ycmVjdGlvbjp3PXt4OjAseTowfSxwb3B1cFBvc2l0aW9uOnksZGF0YVFhSWQ6RX09ZSxNPWwocixkLHcpLFQ9Uz9jOjA7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChvLkZyYWdtZW50LG51bGwsdCxvLmNyZWF0ZUVsZW1lbnQocy5Qb3B1cE1lbnUsey4uLkMsZGF0YVFhSWQ6RSxpZDppLGNsYXNzTmFtZTphLHRhYkluZGV4OnUsaXNPcGVuZWQ6aCxwb3NpdGlvbjp5fHxNLHJlcG9zaXRpb25PblNjcm9sbDpfLG9uQ2xvc2U6Zixvbk9wZW46YiwKZG9Ob3RDbG9zZU9uOnIuY3VycmVudCxyZWZlcmVuY2U6bSxzY3JvbGxXcmFwUmVmZXJlbmNlOnAsb25Gb2N1czpnLG9uQmx1cjp2LG9uS2V5RG93bjp4LGNsb3NlT25TY3JvbGxPdXRzaWRlT2Zmc2V0OlR9LG4pKX19LDI3NjAxOShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnbG9iYWxDbG9zZURlbGVnYXRlOigpPT5vLGdsb2JhbENsb3NlTWVudTooKT0+cn0pO2NvbnN0IG89bmV3KG4oOTQ4MzgwKS5EZWxlZ2F0ZSk7ZnVuY3Rpb24gcigpe28uZmlyZSgpfX0sNjgxMjI0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse01lbnVDb250ZXh0OigpPT5vfSk7Y29uc3Qgbz1uKDc3OTQ3NCkuY3JlYXRlQ29udGV4dChudWxsKX0sMTQ1MTUwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0RFRkFVTFRfTUVOVV9USEVNRTooKT0+YixNZW51OigpPT52fSk7dmFyIG89big3Nzk0NzQpLHI9big5MTQ0ODcpLHM9bi5uKHIpLGk9bigxMzg2MzgpLGE9big2MDc4MzIpLGw9big5MDM0MiksYz1uKDg5MTIwOSksdT1uKDY0MDc0NCksZD1uKDUxODc1KSxoPW4oNzI3MDkpLHA9bigyNzYwMTkpLG09big2ODEyMjQpLGY9big5NTg2MzkpO2NvbnN0IGI9Zjt2YXIgZzshZnVuY3Rpb24oZSl7ZVtlLkluZGVudEZyb21XaW5kb3c9MF09IkluZGVudEZyb21XaW5kb3cifShnfHwoZz17fSkpO2NsYXNzIHYgZXh0ZW5kcyBvLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5fY29udGFpbmVyUmVmPW51bGwsdGhpcy5fc2Nyb2xsV3JhcFJlZj1udWxsLHRoaXMuX3JhZj1udWxsLHRoaXMuX3Njcm9sbFJhZj1udWxsLHRoaXMuX3Njcm9sbFRpbWVvdXQ9dm9pZCAwLHRoaXMuX21hbmFnZXI9bmV3IGwuT3ZlcmxhcE1hbmFnZXIsdGhpcy5faG90a2V5cz1udWxsLHRoaXMuX3Njcm9sbD0wLHRoaXMuX2hhbmRsZUNvbnRhaW5lclJlZj1lPT57dGhpcy5fY29udGFpbmVyUmVmPWUsdGhpcy5wcm9wcy5yZWZlcmVuY2UmJigiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5wcm9wcy5yZWZlcmVuY2UmJnRoaXMucHJvcHMucmVmZXJlbmNlKGUpLCJvYmplY3QiPT10eXBlb2YgdGhpcy5wcm9wcy5yZWZlcmVuY2UmJih0aGlzLnByb3BzLnJlZmVyZW5jZS5jdXJyZW50PWUpKX0sdGhpcy5faGFuZGxlU2Nyb2xsV3JhcFJlZj1lPT57dGhpcy5fc2Nyb2xsV3JhcFJlZj1lLCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLnByb3BzLnNjcm9sbFdyYXBSZWZlcmVuY2UmJnRoaXMucHJvcHMuc2Nyb2xsV3JhcFJlZmVyZW5jZShlKSwib2JqZWN0Ij09dHlwZW9mIHRoaXMucHJvcHMuc2Nyb2xsV3JhcFJlZmVyZW5jZSYmKHRoaXMucHJvcHMuc2Nyb2xsV3JhcFJlZmVyZW5jZS5jdXJyZW50PWUpfSx0aGlzLl9oYW5kbGVDdXN0b21SZW1lYXN1cmVEZWxlZ2F0ZT0oKT0+e3RoaXMuX3Jlc2l6ZUZvcmNlZCgpLHRoaXMuX2hhbmRsZU1lYXN1cmUoKX0sdGhpcy5faGFuZGxlTWVhc3VyZT0oe2NhbGxiYWNrOmUsZm9yY2VSZWNhbGNQb3NpdGlvbjp0fT17fSk9PntpZih0aGlzLnN0YXRlLmlzTWVhc3VyZVZhbGlkJiYhdClyZXR1cm47Y29uc3R7cG9zaXRpb246bn09dGhpcy5wcm9wcyxvPSgwLGkuZW5zdXJlTm90TnVsbCkodGhpcy5fY29udGFpbmVyUmVmKTtsZXQgcj1vLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2NvbnN0IHM9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCxhPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCxsPXRoaXMucHJvcHMuY2xvc2VPblNjcm9sbE91dHNpZGVPZmZzZXQ/PzA7bGV0IGM9cy0wLWw7Y29uc3QgZD1yLmhlaWdodD5jO2lmKGQpeygwLGkuZW5zdXJlTm90TnVsbCkodGhpcy5fc2Nyb2xsV3JhcFJlZikuc3R5bGUub3ZlcmZsb3dZPSJzY3JvbGwiLHI9by5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX1jb25zdHt3aWR0aDpoLGhlaWdodDpwfT1yLG09ImZ1bmN0aW9uIj09dHlwZW9mIG4/bih7Y29udGVudFdpZHRoOmgsY29udGVudEhlaWdodDpwLGF2YWlsYWJsZVdpZHRoOmEsYXZhaWxhYmxlSGVpZ2h0OnN9KTpuLGY9bT8uaW5kZW50RnJvbVdpbmRvdz8ubGVmdD8/MCxiPWEtKG0ub3ZlcnJpZGVXaWR0aD8/aCktKG0/LmluZGVudEZyb21XaW5kb3c/LnJpZ2h0Pz8wKSxnPSgwLHUuY2xhbXApKG0ueCxmLE1hdGgubWF4KGYsYikpLHY9KG0/LmluZGVudEZyb21XaW5kb3c/LnRvcD8/MCkrbCx4PXMtKG0ub3ZlcnJpZGVIZWlnaHQ/P3ApLShtPy5pbmRlbnRGcm9tV2luZG93Py5ib3R0b20/PzApO2xldCBDPSgwLHUuY2xhbXApKG0ueSx2LE1hdGgubWF4KHYseCkpO2lmKG0uZm9yYmlkQ29ycmVjdFlDb29yZCYmQzxtLnkmJihjLT1tLnktQyxDPW0ueSksdCYmdm9pZCAwIT09dGhpcy5wcm9wcy5jbG9zZU9uU2Nyb2xsT3V0c2lkZU9mZnNldCYmbS55PD10aGlzLnByb3BzLmNsb3NlT25TY3JvbGxPdXRzaWRlT2Zmc2V0KXJldHVybiB2b2lkIHRoaXMuX2hhbmRsZUdsb2JhbENsb3NlKCEwKTtjb25zdCBfPW0ub3ZlcnJpZGVIZWlnaHQ/PyhkP2M6dm9pZCAwKTt0aGlzLnNldFN0YXRlKHthcHBlYXJpbmdNZW51SGVpZ2h0OnQ/dGhpcy5zdGF0ZS5hcHBlYXJpbmdNZW51SGVpZ2h0Ol8sYXBwZWFyaW5nTWVudVdpZHRoOnQ/dGhpcy5zdGF0ZS5hcHBlYXJpbmdNZW51V2lkdGg6bS5vdmVycmlkZVdpZHRoLGFwcGVhcmluZ1Bvc2l0aW9uOnt4OmcseTpDfSxpc01lYXN1cmVWYWxpZDohMH0sKCgpPT57dGhpcy5wcm9wcy5kb05vdFJlc3RvcmVQb3NpdGlvbnx8dGhpcy5fcmVzdG9yZVNjcm9sbFBvc2l0aW9uKCksZSYmZSgpfSkpfSx0aGlzLl9yZXN0b3JlU2Nyb2xsUG9zaXRpb249KCk9Pntjb25zdCBlPSgwLGkuZW5zdXJlTm90TnVsbCkodGhpcy5fc2Nyb2xsV3JhcFJlZik7ZS5zY3JvbGxUb3A9dGhpcy5fc2Nyb2xsO2NvbnN0IHQ9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCxuPSgwLGkuZW5zdXJlTm90TnVsbCkodGhpcy5fY29udGFpbmVyUmVmKTtpZih0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJm4uY29udGFpbnModCkmJiF0aGlzLl9pc0VsZW1lbnRGdWxseVZpc2libGUodCxlKSl0cnl7dC5zY3JvbGxJbnRvVmlldygpfWNhdGNoKGUpe319LAp0aGlzLl9pc0VsZW1lbnRGdWxseVZpc2libGU9KGUsdCk9Pntjb25zdCBuPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbz10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybiBuLnRvcD49by50b3AmJm4uYm90dG9tPD1vLmJvdHRvbX0sdGhpcy5fcmVzaXplRm9yY2VkPSgpPT57dGhpcy5zZXRTdGF0ZSh7YXBwZWFyaW5nTWVudUhlaWdodDp2b2lkIDAsYXBwZWFyaW5nTWVudVdpZHRoOnZvaWQgMCxhcHBlYXJpbmdQb3NpdGlvbjp2b2lkIDAsaXNNZWFzdXJlVmFsaWQ6dm9pZCAwfSl9LHRoaXMuX3Jlc2l6ZT0oKT0+e251bGw9PT10aGlzLl9yYWYmJih0aGlzLl9yYWY9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3RoaXMuc2V0U3RhdGUoe2FwcGVhcmluZ01lbnVIZWlnaHQ6dm9pZCAwLGFwcGVhcmluZ01lbnVXaWR0aDp2b2lkIDAsYXBwZWFyaW5nUG9zaXRpb246dm9pZCAwLGlzTWVhc3VyZVZhbGlkOnZvaWQgMH0pLHRoaXMuX3JhZj1udWxsfSkpKX0sdGhpcy5faGFuZGxlR2xvYmFsQ2xvc2U9ZT0+e3RoaXMucHJvcHMub25DbG9zZShlKX0sdGhpcy5faGFuZGxlU2xvdD1lPT57dGhpcy5fbWFuYWdlci5zZXRDb250YWluZXIoZSl9LHRoaXMuX2hhbmRsZVNjcm9sbD0oKT0+e3RoaXMuX3Njcm9sbD0oMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Njcm9sbFdyYXBSZWYpLnNjcm9sbFRvcH0sdGhpcy5faGFuZGxlU2Nyb2xsT3V0c2lkZUVuZD0oKT0+e2NsZWFyVGltZW91dCh0aGlzLl9zY3JvbGxUaW1lb3V0KSx0aGlzLl9zY3JvbGxUaW1lb3V0PXNldFRpbWVvdXQoKCgpPT57dGhpcy5faGFuZGxlTWVhc3VyZSh7Zm9yY2VSZWNhbGNQb3NpdGlvbjohMH0pfSksODApfSx0aGlzLl9oYW5kbGVTY3JvbGxPdXRzaWRlPWU9PntlLnRhcmdldCE9PXRoaXMuX3Njcm9sbFdyYXBSZWYmJih0aGlzLl9oYW5kbGVTY3JvbGxPdXRzaWRlRW5kKCksbnVsbD09PXRoaXMuX3Njcm9sbFJhZiYmKHRoaXMuX3Njcm9sbFJhZj1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT57dGhpcy5faGFuZGxlTWVhc3VyZSh7Zm9yY2VSZWNhbGNQb3NpdGlvbjohMH0pLHRoaXMuX3Njcm9sbFJhZj1udWxsfSkpKSl9LHRoaXMuc3RhdGU9e319Y29tcG9uZW50RGlkTW91bnQoKXt0aGlzLl9oYW5kbGVNZWFzdXJlKHtjYWxsYmFjazp0aGlzLnByb3BzLm9uT3Blbn0pO2NvbnN0e2N1c3RvbUNsb3NlRGVsZWdhdGU6ZT1wLmdsb2JhbENsb3NlRGVsZWdhdGUsY3VzdG9tUmVtZWFzdXJlRGVsZWdhdGU6dH09dGhpcy5wcm9wcztlLnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUdsb2JhbENsb3NlKSx0Py5zdWJzY3JpYmUobnVsbCx0aGlzLl9oYW5kbGVDdXN0b21SZW1lYXN1cmVEZWxlZ2F0ZSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5fcmVzaXplKTtjb25zdCBuPW51bGwhPT10aGlzLmNvbnRleHQ7dGhpcy5faG90a2V5c3x8bnx8KHRoaXMuX2hvdGtleXM9aC5jcmVhdGVHcm91cCh7ZGVzYzoiUG9wdXAgbWVudSJ9KSx0aGlzLl9ob3RrZXlzLmFkZCh7ZGVzYzoiQ2xvc2UiLGhvdGtleToyNyxoYW5kbGVyOigpPT57dGhpcy5wcm9wcy5vbktleWJvYXJkQ2xvc2UmJnRoaXMucHJvcHMub25LZXlib2FyZENsb3NlKCksdGhpcy5faGFuZGxlR2xvYmFsQ2xvc2UoKX19KSksdGhpcy5wcm9wcy5yZXBvc2l0aW9uT25TY3JvbGwmJndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMuX2hhbmRsZVNjcm9sbE91dHNpZGUse2NhcHR1cmU6ITB9KX1jb21wb25lbnREaWRVcGRhdGUoKXt0aGlzLl9oYW5kbGVNZWFzdXJlKCl9Y29tcG9uZW50V2lsbFVubW91bnQoKXtjb25zdHtjdXN0b21DbG9zZURlbGVnYXRlOmU9cC5nbG9iYWxDbG9zZURlbGVnYXRlLGN1c3RvbVJlbWVhc3VyZURlbGVnYXRlOnR9PXRoaXMucHJvcHM7ZS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUdsb2JhbENsb3NlKSx0Py51bnN1YnNjcmliZShudWxsLHRoaXMuX2hhbmRsZUN1c3RvbVJlbWVhc3VyZURlbGVnYXRlKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9yZXNpemUpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMuX2hhbmRsZVNjcm9sbE91dHNpZGUse2NhcHR1cmU6ITB9KSx0aGlzLl9ob3RrZXlzJiYodGhpcy5faG90a2V5cy5kZXN0cm95KCksdGhpcy5faG90a2V5cz1udWxsKSxudWxsIT09dGhpcy5fcmFmJiYoY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fcmFmKSx0aGlzLl9yYWY9bnVsbCksbnVsbCE9PXRoaXMuX3Njcm9sbFJhZiYmKGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX3Njcm9sbFJhZiksdGhpcy5fc2Nyb2xsUmFmPW51bGwpLHRoaXMuX3Njcm9sbFRpbWVvdXQmJmNsZWFyVGltZW91dCh0aGlzLl9zY3JvbGxUaW1lb3V0KX1yZW5kZXIoKXtjb25zdHtpZDplLHJvbGU6dCwiYXJpYS1sYWJlbCI6biwiYXJpYS1sYWJlbGxlZGJ5IjpyLCJhcmlhLWFjdGl2ZWRlc2NlbmRhbnQiOmksImFyaWEtaGlkZGVuIjpsLCJhcmlhLWRlc2NyaWJlZGJ5Ijp1LCJhcmlhLWludmFsaWQiOmgsY2hpbGRyZW46cCxtaW5XaWR0aDpiLHRoZW1lOmc9ZixjbGFzc05hbWU6dixtYXhIZWlnaHQ6Qyxvbk1vdXNlT3ZlcjpfLG9uTW91c2VPdXQ6UyxvbktleURvd246dyxvbkZvY3VzOnksb25CbHVyOkV9PXRoaXMucHJvcHMse2FwcGVhcmluZ01lbnVIZWlnaHQ6TSxhcHBlYXJpbmdNZW51V2lkdGg6VCxhcHBlYXJpbmdQb3NpdGlvbjpSLGlzTWVhc3VyZVZhbGlkOk59PXRoaXMuc3RhdGUsTz17Ii0tdWkta2l0LW1lbnUtbWF4LXdpZHRoIjpgJHtSJiZSLnh9cHhgLG1heFdpZHRoOiJjYWxjKDEwMHZ3IC0gdmFyKC0tdWkta2l0LW1lbnUtbWF4LXdpZHRoKSAtIDZweCkifTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KG0uTWVudUNvbnRleHQuUHJvdmlkZXIse3ZhbHVlOnRoaXN9LG8uY3JlYXRlRWxlbWVudChjLlN1Ym1lbnVIYW5kbGVyLG51bGwsby5jcmVhdGVFbGVtZW50KGEuU2xvdENvbnRleHQuUHJvdmlkZXIse3ZhbHVlOnRoaXMuX21hbmFnZXJ9LG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7aWQ6ZSxyb2xlOnQsImFyaWEtbGFiZWwiOm4sCiJhcmlhLWxhYmVsbGVkYnkiOnIsImFyaWEtYWN0aXZlZGVzY2VuZGFudCI6aSwiYXJpYS1oaWRkZW4iOmwsImFyaWEtZGVzY3JpYmVkYnkiOnUsImFyaWEtaW52YWxpZCI6aCxjbGFzc05hbWU6cygpKHYsZy5tZW51V3JhcCwhTiYmZy5pc01lYXN1cmluZyksc3R5bGU6e2hlaWdodDpNLGxlZnQ6UiYmUi54LG1pbldpZHRoOmIscG9zaXRpb246ImZpeGVkIix0b3A6UiYmUi55LHdpZHRoOlQsLi4udGhpcy5wcm9wcy5saW1pdE1heFdpZHRoJiZPfSwiZGF0YS1uYW1lIjp0aGlzLnByb3BzWyJkYXRhLW5hbWUiXSwiZGF0YS1xYS1pZCI6dGhpcy5wcm9wcy5kYXRhUWFJZCwiZGF0YS10b29sdGlwLXNob3ctb24tZm9jdXMiOnRoaXMucHJvcHNbImRhdGEtdG9vbHRpcC1zaG93LW9uLWZvY3VzIl0scmVmOnRoaXMuX2hhbmRsZUNvbnRhaW5lclJlZixvblNjcm9sbENhcHR1cmU6dGhpcy5wcm9wcy5vblNjcm9sbCxvbkNvbnRleHRNZW51OmQucHJldmVudERlZmF1bHRGb3JDb250ZXh0TWVudSx0YWJJbmRleDp0aGlzLnByb3BzLnRhYkluZGV4LG9uTW91c2VPdmVyOl8sb25Nb3VzZU91dDpTLG9uS2V5RG93bjp3LG9uRm9jdXM6eSxvbkJsdXI6RX0sby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6cygpKGcuc2Nyb2xsV3JhcCwhdGhpcy5wcm9wcy5ub01vbWVudHVtQmFzZWRTY3JvbGwmJmcubW9tZW50dW1CYXNlZCksc3R5bGU6e292ZXJmbG93WTp2b2lkIDAhPT1NPyJzY3JvbGwiOiJhdXRvIixtYXhIZWlnaHQ6Q30sb25TY3JvbGxDYXB0dXJlOnRoaXMuX2hhbmRsZVNjcm9sbCxyZWY6dGhpcy5faGFuZGxlU2Nyb2xsV3JhcFJlZn0sby5jcmVhdGVFbGVtZW50KHgse2NsYXNzTmFtZTpnLm1lbnVCb3h9LHApKSkpLG8uY3JlYXRlRWxlbWVudChhLlNsb3Qse3JlZmVyZW5jZTp0aGlzLl9oYW5kbGVTbG90fSkpKX11cGRhdGUoZSl7ZT90aGlzLl9yZXNpemVGb3JjZWQoKTp0aGlzLl9yZXNpemUoKX1mb2N1cyhlKXt0aGlzLl9jb250YWluZXJSZWY/LmZvY3VzKGUpfWJsdXIoKXt0aGlzLl9jb250YWluZXJSZWY/LmJsdXIoKX19ZnVuY3Rpb24geChlKXtjb25zdCB0PSgwLGkuZW5zdXJlTm90TnVsbCkoKDAsby51c2VDb250ZXh0KShjLlN1Ym1lbnVDb250ZXh0KSksbj1vLnVzZVJlZihudWxsKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJkaXYiLHtyZWY6bixjbGFzc05hbWU6ZS5jbGFzc05hbWUsb25Nb3VzZU92ZXI6ZnVuY3Rpb24oZSl7aWYoIShudWxsIT09dC5jdXJyZW50JiZlLnRhcmdldCBpbnN0YW5jZW9mIE5vZGUmJihvPWUudGFyZ2V0LG4uY3VycmVudD8uY29udGFpbnMobykpKSlyZXR1cm47dmFyIG87dC5pc1N1Ym1lbnVOb2RlKGUudGFyZ2V0KXx8dC5zZXRDdXJyZW50KG51bGwpfSwiZGF0YS1xYS1pZCI6Im1lbnUtaW5uZXIifSxlLmNoaWxkcmVuKX12LmNvbnRleHRUeXBlPWMuU3VibWVudUNvbnRleHR9LDE1MzczNChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtQb3B1cE1lbnVJdGVtOigpPT5kfSk7dmFyIG89big3Nzk0NzQpLHI9big5MTQ0ODcpLHM9bi5uKHIpLGk9bigzODc3NzQpLGE9big4NDg5ODgpLGw9bigyNzYwMTkpLGM9big0NzAyOTUpO2Z1bmN0aW9uIHUoZSl7ZS5zdG9wUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBkKGUpe2NvbnN0e2lkOnQscm9sZTpuLGNsYXNzTmFtZTpyLHRpdGxlOmQsbGFiZWxSb3dDbGFzc05hbWU6aCxsYWJlbENsYXNzTmFtZTpwLHRvb2xib3hDbGFzc05hbWU6bSxzaG9ydGN1dDpmLGZvcmNlU2hvd1Nob3J0Y3V0czpiLGljb246ZyxpY29uQ2xhc3NuYW1lOnYsaXNBY3RpdmU6eCxpc0Rpc2FibGVkOkMsaXNIb3ZlcmVkOl8sYXBwZWFyQXNEaXNhYmxlZDpTLGxhYmVsOncsbGluazp5LHNob3dUb29sYm94T25Ib3ZlcjpFLHNob3dUb29sYm94T25Gb2N1czpNLHRhcmdldDpULHJlbDpSLHRvb2xib3g6Tix0b29sYm94Um9sZTpPLHJlZmVyZW5jZTpBLG9uTW91c2VPdXQ6SSxvbk1vdXNlT3ZlcjpXLG9uS2V5RG93bjprLHN1cHByZXNzVG9vbGJveENsaWNrOkI9ITAsdGhlbWU6RD1jLHRhYkluZGV4OkYsdGFnTmFtZTpMLHJlbmRlckNvbXBvbmVudDpQLHJvdW5kZWRJY29uOnosaWNvbkFyaWFQcm9wczpxLGNpcmNsZUxvZ286VSxkb250Q2xvc2VQb3B1cDpILG9uQ2xpY2s6aixvbkNsaWNrQXJnOlosb25Db250ZXh0TWVudTpHLG9uTW91c2VVcDpWLHN0YXJ0U2xvdDpLLGRhdGFRYUlkOlksLi4uWH09ZSwkPSgwLG8udXNlUmVmKShudWxsKSxRPSgwLG8udXNlTWVtbykoKCgpPT5mdW5jdGlvbihlKXtmdW5jdGlvbiB0KHQpe2NvbnN0e3JlZmVyZW5jZTpuLC4uLnJ9PXQscz1lPz8oci5ocmVmPyJhIjoiZGl2IiksaT0iYSI9PT1zP3I6ZnVuY3Rpb24oZSl7Y29uc3R7ZG93bmxvYWQ6dCxocmVmOm4saHJlZkxhbmc6byxtZWRpYTpyLHBpbmc6cyxyZWw6aSx0YXJnZXQ6YSx0eXBlOmwscmVmZXJyZXJQb2xpY3k6YywuLi51fT1lO3JldHVybiB1fShyKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KHMsey4uLmkscmVmOm59KX1yZXR1cm4gdC5kaXNwbGF5TmFtZT1gRGVmYXVsdENvbXBvbmVudCgke2V9KWAsdH0oTCkpLFtMXSksSj1QPz9RO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoSix7Li4uWCxpZDp0LHJvbGU6bixjbGFzc05hbWU6cygpKHIsRC5pdGVtLGcmJkQud2l0aEljb24se1tELmlzQWN0aXZlXTp4LFtELmlzRGlzYWJsZWRdOkN8fFMsW0QuaG92ZXJlZF06X30pLHRpdGxlOmQsaHJlZjp5LHRhcmdldDpULHJlbDpSLHJlZmVyZW5jZTpmdW5jdGlvbihlKXskLmN1cnJlbnQ9ZSwiZnVuY3Rpb24iPT10eXBlb2YgQSYmQShlKTsib2JqZWN0Ij09dHlwZW9mIEEmJihBLmN1cnJlbnQ9ZSl9LG9uQ2xpY2s6ZnVuY3Rpb24oZSl7aWYoQylyZXR1cm47aiYmaihaLGUpO0h8fChlLmN1cnJlbnRUYXJnZXQuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInBvcHVwLW1lbnUtY2xvc2UtZXZlbnQiLHtidWJibGVzOiEwLGRldGFpbDp7Y2xpY2tUeXBlOigwLGEuaXNLZXlib2FyZENsaWNrKShlKT8ia2V5Ym9hcmQiOiJtb3VzZSJ9fSkpLCgwLGwuZ2xvYmFsQ2xvc2VNZW51KSgpKX0sb25Db250ZXh0TWVudTpHLG9uTW91c2VVcDpWLG9uTW91c2VPdmVyOlcsCm9uTW91c2VPdXQ6SSxvbktleURvd246ayx0YWJJbmRleDpGLCJkYXRhLXFhLWlkIjpZfSxVJiZvLmNyZWF0ZUVsZW1lbnQoaS5DaXJjbGVMb2dvLHsuLi5xLGNsYXNzTmFtZTpjWyJkaXNjbG9zdXJlLWl0ZW0tY2lyY2xlLWxvZ28iXSxzaXplOiJ4eHhzbWFsbCIsbG9nb1VybDpVLmxvZ29VcmwscGxhY2Vob2xkZXJMZXR0ZXI6InBsYWNlaG9sZGVyTGV0dGVyImluIFU/VS5wbGFjZWhvbGRlckxldHRlcjp2b2lkIDB9KSxLJiZvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6RC5zdGFydFNsb3R9LEspLGcmJm8uY3JlYXRlRWxlbWVudCgic3BhbiIseyJhcmlhLWxhYmVsIjpxJiZxWyJhcmlhLWxhYmVsIl0sImFyaWEtaGlkZGVuIjpxJiZCb29sZWFuKHFbImFyaWEtaGlkZGVuIl0pLGNsYXNzTmFtZTpzKCkoRC5pY29uLHomJmNbInJvdW5kLWljb24iXSx2KSxkYW5nZXJvdXNseVNldElubmVySFRNTDp7X19odG1sOmd9fSksby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKShELmxhYmVsUm93LGgpfSxvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cygpKEQubGFiZWwscCl9LHcpKSwodm9pZCAwIT09Znx8YikmJm8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpELnNob3J0Y3V0fSwoZWU9ZikmJmVlLnNwbGl0KCIrIikuam9pbigiICsgIikpLHZvaWQgMCE9PU4mJm8uY3JlYXRlRWxlbWVudCgic3BhbiIse3JvbGU6TyxvbkNsaWNrOkI/dTp2b2lkIDAsY2xhc3NOYW1lOnMoKShtLEQudG9vbGJveCx7W0Quc2hvd09uSG92ZXJdOkUsW0Quc2hvd09uRm9jdXNdOk19KX0sTikpO3ZhciBlZX19LDYzMjk5MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtDbG9zZURlbGVnYXRlQ29udGV4dDooKT0+c30pO3ZhciBvPW4oNzc5NDc0KSxyPW4oMjc2MDE5KTtjb25zdCBzPW8uY3JlYXRlQ29udGV4dChyLmdsb2JhbENsb3NlRGVsZWdhdGUpfSw4MzU5NjQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UG9wdXBNZW51OigpPT5ofSk7dmFyIG89big3Nzk0NzQpLHI9bigxMjkzNjUpLHM9big5MjgxMzIpLGk9big1ODU0OCksYT1uKDIzNjc2NSksbD1uKDIyNzk0OSksYz1uKDE0NTE1MCksdT1uKDYzMjk5MiksZD1uKDMwMTkzNyk7ZnVuY3Rpb24gaChlKXtjb25zdHtjb250cm9sbGVyOnQsY2hpbGRyZW46bixpc09wZW5lZDpoLGNsb3NlT25DbGlja091dHNpZGU6cD0hMCxkb05vdENsb3NlT246bSxvbkNsaWNrT3V0c2lkZTpmLG9uQ2xvc2U6YixvbktleWJvYXJkQ2xvc2U6ZyxkYXRhUWFJZDp2PSJwb3B1cC1tZW51LWNvbnRhaW5lciIsY2xvc2VPblNjcm9sbE91dHNpZGVPZmZzZXQ6eCwuLi5DfT1lLF89KDAsby51c2VDb250ZXh0KSh1LkNsb3NlRGVsZWdhdGVDb250ZXh0KSxTPW8udXNlQ29udGV4dChsLk1lbnVXaWR0aENvbnRleHQpLHc9KDAsby51c2VDb250ZXh0KShkLlJlbWVhc3VyZURlbGVnYXRlQ29udGV4dCkseT0oMCxhLnVzZU91dHNpZGVFdmVudCkoe2hhbmRsZXI6ZnVuY3Rpb24oZSl7ZiYmZihlKTtpZighcClyZXR1cm47Y29uc3QgdD0oMCxzLmRlZmF1bHQpKG0pP20oKTpudWxsPT1tP1tdOlttXTtpZih0Lmxlbmd0aD4wJiZlLnRhcmdldCBpbnN0YW5jZW9mIE5vZGUpZm9yKGNvbnN0IG4gb2YgdCl7Y29uc3QgdD1yLmZpbmRET01Ob2RlKG4pO2lmKHQgaW5zdGFuY2VvZiBOb2RlJiZ0LmNvbnRhaW5zKGUudGFyZ2V0KSlyZXR1cm59YigpfSxtb3VzZURvd246ITAsdG91Y2hTdGFydDohMH0pO3JldHVybiBoP28uY3JlYXRlRWxlbWVudChpLlBvcnRhbCx7dG9wOiIwIixsZWZ0OiIwIixyaWdodDoiMCIsYm90dG9tOiIwIixwb2ludGVyRXZlbnRzOiJub25lIn0sby5jcmVhdGVFbGVtZW50KCJzcGFuIix7cmVmOnksc3R5bGU6e3BvaW50ZXJFdmVudHM6ImF1dG8ifX0sby5jcmVhdGVFbGVtZW50KGMuTWVudSx7Li4uQyxvbkNsb3NlOmIsb25LZXlib2FyZENsb3NlOmcsb25TY3JvbGw6ZnVuY3Rpb24odCl7Y29uc3R7b25TY3JvbGw6bn09ZTtuJiZuKHQpfSxjdXN0b21DbG9zZURlbGVnYXRlOl8sY3VzdG9tUmVtZWFzdXJlRGVsZWdhdGU6dyxyZWY6dCxkYXRhUWFJZDp2LGxpbWl0TWF4V2lkdGg6Uy5zZXRNZW51TWF4V2lkdGgsImRhdGEtdG9vbHRpcC1zaG93LW9uLWZvY3VzIjoidHJ1ZSIsY2xvc2VPblNjcm9sbE91dHNpZGVPZmZzZXQ6eH0sbikpKTpudWxsfX0sMzAxOTM3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1JlbWVhc3VyZURlbGVnYXRlQ29udGV4dDooKT0+b30pO2NvbnN0IG89big3Nzk0NzQpLmNyZWF0ZUNvbnRleHQodm9pZCAwKX0sODU1MzkxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1NxdWFyZVRhYnNTaXplQ29udGV4dDooKT0+b30pO2NvbnN0IG89KDAsbig3Nzk0NzQpLmNyZWF0ZUNvbnRleHQpKCJzbWFsbCIpfSw5ODY4ODgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U3F1YXJlVGFiQnV0dG9uOigpPT5wfSk7dmFyIG89big3Nzk0NzQpLHI9big5MTQ0ODcpLHM9bi5uKHIpLGk9bigzMDk5MjApLGE9big4MDk0MzYpLGw9big3NzAxNDMpLGM9big3MTc5MzIpLHU9big4NTUzOTEpLGQ9big2NjkyNjUpLGg9bigzNDg4NDkpO2NvbnN0IHA9KDAsby5mb3J3YXJkUmVmKSgoKGUsdCk9Pntjb25zdCBuPW8udXNlQ29udGV4dCh1LlNxdWFyZVRhYnNTaXplQ29udGV4dCkscj0oMCxvLnVzZUNvbnRleHQpKGkuQ3VzdG9tQmVoYXZpb3VyQ29udGV4dCkse2lkOnAsYWN0aXZlOm0sZmFrZTpmLHRoZW1lOmI9aCxlbmFibGVBY3RpdmVTdGF0ZVN0eWxlczpnPXIuZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXMsaGlkZUZvY3VzT3V0bGluZTp2PSExLGVuZFNsb3Q6eCxzdGFydFNsb3Q6QyxjaGlsZHJlbjpfLGlzVmVydGljYWw6UyxkaXNhYmxlZDp3LGhpZ2hsaWdodGVkOnksZW5kVXBwZXJTbG90OkUsaWNvbk9ubHlPbkFkYXB0aXZlOk0sb3ZlcmZsb3dBZGFwdGl2ZTpUPSJtZWRpYS1tZi1waG9uZS1sYW5kc2NhcGUiLC4uLlJ9PWUsTj0oMCxsLmdldFRleHRGb3JUb29sdGlwKShfKSxPPSEoMCxjLnVzZVNhZmVNYXRjaE1lZGlhKShhW1RdKSYmTSxBPWU9Pm8uY3JlYXRlRWxlbWVudChkLlNxdWFyZVRhYkNvbnRlbnQsewoiYXJpYS1oaWRkZW4iOmUsZW5kU2xvdDp4LHN0YXJ0U2xvdDpDLGVuZFVwcGVyU2xvdDpFLGNsYXNzTmFtZTplP2gudGFiSGlkZGVuQ29udGVudDpoLnRhYkNvbnRlbnQsaXNWZXJ0aWNhbDpTLGRpc2FibGVkOncsc2l6ZTpuLGljb25Pbmx5Ok99LF8pO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIsey4uLlIsaWQ6cCxyZWY6dCxjbGFzc05hbWU6cygpKCJhcHBseS1jb21tb24tdG9vbHRpcCIsImFwcGx5LW92ZXJmbG93LXRvb2x0aXAiLCJhcHBseS1vdmVyZmxvdy10b29sdGlwLS1jaGVjay1jaGlsZHJlbi1yZWN1cnNpdmVseSIsImFwcGx5LW92ZXJmbG93LXRvb2x0aXAtLWFsbG93LXRleHQiLGIuc3F1YXJlVGFiQnV0dG9uLG0mJmIuc2VsZWN0ZWQsYltuXSxmJiZiLmZha2UsIWcmJmIuZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLHYmJmIuZGlzYWJsZUZvY3VzT3V0bGluZSxTJiZiLnZlcnRpY2FsQnV0dG9uLHcmJmIuZGlzYWJsZWQpLCJkYXRhLW92ZXJmbG93LXRvb2x0aXAtdGV4dCI6TiwiZGF0YS10b29sdGlwLXNob3ctb24tZm9jdXMiOiJ0cnVlIix0aXRsZTpPP046dm9pZCAwfSxBKCExKSxBKCEwKSl9KSk7cC5kaXNwbGF5TmFtZT0iU3F1YXJlVGFiQnV0dG9uIn0sMzUzOTcxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1NxdWFyZVRhYjooKT0+aX0pO3ZhciBvPW4oNzc5NDc0KSxyPW4oOTY0NTk0KSxzPW4oOTg2ODg4KTtjb25zdCBpPSgwLG8uZm9yd2FyZFJlZikoKChlLHQpPT57Y29uc3R7aXRlbTpuLGhhbmRsZUl0ZW1SZWY6aSxvbkNsaWNrOmEsLi4ubH09ZSxjPSgwLG8udXNlQ2FsbGJhY2spKCgoKT0+e2EmJmEobil9KSxbYSxuXSksdT0oMCxvLnVzZUNhbGxiYWNrKSgoZT0+e2kmJmkobixlKSwoMCxyLmlzb21vcnBoaWNSZWYpKHQpKGUpfSksW24saSx0XSk7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChzLlNxdWFyZVRhYkJ1dHRvbix7Li4ubCxpZDpuLmlkLCJkYXRhLXFhLWlkIjpuLmlkLG9uQ2xpY2s6YyxyZWY6dSxlbmRTbG90Om4uZW5kU2xvdCxzdGFydFNsb3Q6bi5zdGFydFNsb3QsZW5kVXBwZXJTbG90Om4uZW5kVXBwZXJTbG90LCJhcmlhLWxhYmVsIjoicmFkaW8iPT09bC5yb2xlP24ubGFiZWw6dm9pZCAwfSxuLmxhYmVsKX0pKTtpLmRpc3BsYXlOYW1lPSJTcXVhcmVUYWIifSw2NjkyNjUoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U3F1YXJlVGFiQ29udGVudDooKT0+bCxnZXRTcXVhcmVUYWJzU2Nyb2xsV3JhcENsYXNzTmFtZXM6KCk9PmN9KTt2YXIgbz1uKDc3OTQ3NCkscj1uKDkxNDQ4Nykscz1uLm4ociksaT1uKDM5NjQzMSksYT1uKDEzNTI4Nyk7ZnVuY3Rpb24gbCh7c3RhcnRTbG90OmUsZW5kU2xvdDp0LGNoaWxkcmVuOm4sY2xhc3NOYW1lOnIsImFyaWEtaGlkZGVuIjpsLGlzVmVydGljYWw6YyxlbmRVcHBlclNsb3Q6dSxpY29uT25seTpkLHNpemU6aH0pe2NvbnN0IHA9ZSYmby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKShhLnN0YXJ0U2xvdFdyYXAsZCYmYS5zdGFydFNsb3RXcmFwSWNvbk9ubHkpfSxlKSxtPW4mJiEoYyYmZCkmJm8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpzKCkoYS5jb250ZW50LGMmJmEudmVydGljYWxDb250ZW50KX0sbiksZj0oMCxvLnVzZU1lbW8pKCgoKT0+e2lmKGMmJmQmJm8uaXNWYWxpZEVsZW1lbnQodCkpe2NvbnN0IGU9dC5wcm9wcz8uY291bnQ7cmV0dXJuIGU/by5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmEuZW5kVXBwZXJTbG90fSwoMCxpLmdldFRhYkNvdW50ZXIpKHtjb3VudDplLHNpemU6KDAsaS5jb3VudGVyU2l6ZUZyb21TcXVhcmVUYWJzU2l6ZSkoaCl9KSk6bnVsbH1yZXR1cm4gby5jcmVhdGVFbGVtZW50KG8uRnJhZ21lbnQsbnVsbCx0JiZvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6YS5lbmRTbG90V3JhcH0sdCksdSYmby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmEuZW5kVXBwZXJTbG90fSx1KSl9KSxbYyxkLHQsdSxoXSk7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgic3BhbiIseyJhcmlhLWhpZGRlbiI6bCxjbGFzc05hbWU6cn0scCxtLGYpfWZ1bmN0aW9uIGMoZSl7Y29uc3R7b3ZlcmZsb3dCZWhhdmlvdXI6dH09ZTtyZXR1cm4gcygpKGEuc2Nyb2xsV3JhcCwic2Nyb2xsIj09PXQmJmEub3ZlcmZsb3dTY3JvbGwsIndyYXAiPT09dCYmYS5vdmVyZmxvd1dyYXApfX0sMzczNTc0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1NxdWFyZVRhYnM6KCk9PlR9KTt2YXIgbz1uKDc3OTQ3NCkscj1uKDkxNDQ4Nykscz1uLm4ociksaT1uKDc4MzI1NCksYT1uKDIxMjEyNSksbD1uKDg0Njg1OCksYz1uKDM1Mzk3MSksdT1uKDMxOTY5KSxkPW4oMzg3MjMxKSxoPW4oMTkzODQ3KSxwPW4oMTUzNzM0KSxtPW4oOTg2ODg4KSxmPW4oMjczMzEwKSxiPW4oOTM1MSksZz1uKDczODgyNik7ZnVuY3Rpb24gdihlKXtjb25zdHtpc0Ryb3BwZWQ6dD0hMX09ZTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGYuSWNvbix7aWNvbjpiLGNsYXNzTmFtZTpzKCkoZy5hcnJvd0ljb24sdCYmZy5kcm9wcGVkKX0pfXZhciB4PW4oMTI5NjYxKTtmdW5jdGlvbiBDKGUpe2NvbnN0e2Rpc2FibGVkOnQsaXNPcGVuZWQ6bixoaWRlRm9jdXNPdXRsaW5lOnIsZmFrZTpzLGl0ZW1zOmksYnV0dG9uQ29udGVudDphLGJ1dHRvblJlZjpsLGJ1dHRvblRoZW1lOmMsaXNIaWdobGlnaHRlZDpmLG9uQnV0dG9uQ2xpY2s6Yixvbkl0ZW1DbGljazpnLG9uQ2xvc2U6Q309ZSxfPSgwLG8udXNlUmVmKShudWxsKSxTPSgwLHUudXNlTWVyZ2VkUmVmcykoW2wsX10pO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoaC5Qb3B1cE1lbnVEaXNjbG9zdXJlVmlldyx7YnV0dG9uUmVmOl8sbGlzdGJveFRhYkluZGV4Oi0xLGlzT3BlbmVkOm4sb25DbG9zZTpDLGxpc3Rib3hBcmlhOnsiYXJpYS1oaWRkZW4iOiEwfSxidXR0b246by5jcmVhdGVFbGVtZW50KG0uU3F1YXJlVGFiQnV0dG9uLHsiYXJpYS1oaWRkZW4iOiEwLGRpc2FibGVkOnQsYWN0aXZlOm4sb25DbGljazpiLHJlZjpTLHRhYkluZGV4Oi0xLHRoZW1lOigwLGQubWVyZ2VUaGVtZXMpKGMseCksaGlkZUZvY3VzT3V0bGluZTpyLApmYWtlOnN9LGEsby5jcmVhdGVFbGVtZW50KHYse2lzRHJvcHBlZDpufSkpLHBvcHVwQ2hpbGRyZW46aS5tYXAoKGU9Pm8uY3JlYXRlRWxlbWVudChwLlBvcHVwTWVudUl0ZW0se2tleTplLmlkLG9uQ2xpY2s6ZyxvbkNsaWNrQXJnOmUsaXNBY3RpdmU6ZihlKSxsYWJlbDplLmxhYmVsLGlzRGlzYWJsZWQ6ZS5kaXNhYmxlZHx8dCxzdGFydFNsb3Q6ZS5zdGFydFNsb3QsdG9vbGJveDplLmVuZFVwcGVyU2xvdD9vLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6Yy5lbmRTbG90SW5EaXNjbG9zdXJlfSxlLmVuZFVwcGVyU2xvdCk6ZS5lbmRTbG90LGRvbnRDbG9zZVBvcHVwOiEwfSkpKX0pfXZhciBfPW4oODU1MzkxKSxTPW4oNjkwMDk3KSx3PW4oMTE1MjkzKSx5PW4oNjY5MjY1KSxFPW4oMzM2ODUxKTtmdW5jdGlvbiBNKGUpe2NvbnN0e2Rpc2FibGVkOnQsbW9yZUJ1dHRvbkNvbnRlbnQ6cj0oKT0+aS50KG51bGwsdm9pZCAwLG4oMzk0OTQ3KSksc2l6ZTp1PSJzbWFsbCIsdGhlbWU6ZD1TLmRlZmF1bHRUaGVtZSxjbGFzc05hbWU6aCxzdHlsZTpwLCJkYXRhLW5hbWUiOm0sImFyaWEtY29udHJvbHMiOmYsaXNSYWRpb0dyb3VwOmJ9PWUsZz1wYXJzZUludChFW2Bjc3MtdmFsdWUtc3F1YXJlLXRhYnMtJHt1fS1nYXBgXSkse2VuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOnYsbW9yZUJ1dHRvblJlZjp4LHNldEl0ZW1SZWY6TSxnZXRCaW5kaW5nczpULGhhbmRsZU1vcmVCdXR0b25DbGljazpSLGhhbmRsZUNvbGxhcHNlZEl0ZW1DbGljazpOLHNjcm9sbFdyYXBCaW5kaW5nOk8sb3ZlcmZsb3dCZWhhdmlvdXI6QSx0YWJsaXN0QmluZGluZzpJLHZpc2libGVUYWJzOlcsaGlkZGVuVGFiczprLGhhbmRsZUFjdGl2YXRlOkIsaXNNb2JpbGVUb3VjaDpELGdldEl0ZW1JZDpGLGlzRGlzY2xvc3VyZU9wZW5lZDpMLGlzSGlnaGxpZ2h0ZWQ6UCxjbG9zZURpc2Nsb3N1cmU6en09KDAsbC51c2VUYWJzTWFpbkhhbmRsZXJzKShhLlRhYk5hbWVzLlNxdWFyZUJ1dHRvblRhYnMsZSx7aXNSdGw6dy5pc1J0bCxzY3JvbGxJbnRvVmlld09wdGlvbnM6e2FkZGl0aW9uYWxTY3JvbGw6Z30saXNSYWRpb0dyb3VwOmIsZ2FwOmd9KTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KF8uU3F1YXJlVGFic1NpemVDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp1fSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIsey4uLk8sY2xhc3NOYW1lOnMoKSgoMCx5LmdldFNxdWFyZVRhYnNTY3JvbGxXcmFwQ2xhc3NOYW1lcykoe292ZXJmbG93QmVoYXZpb3VyOkF9KSxoKSxzdHlsZTp7Li4ucCwiLS11aS1saWItcHJpdmF0ZS1zcXVhcmVUYWJzLWdhcCI6YCR7Z31weGB9LCJkYXRhLW5hbWUiOm19LG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7Li4uSSxjbGFzc05hbWU6cygpKGQuc3F1YXJlVGFicyxkW3VdKX0sVy5tYXAoKGU9Pm8uY3JlYXRlRWxlbWVudChjLlNxdWFyZVRhYix7Li4uVChlKT8/e30sa2V5OmUuaWQsaXRlbTplLG9uQ2xpY2s6KCk9PkIoZSksdGhlbWU6ZCxlbmFibGVBY3RpdmVTdGF0ZVN0eWxlczp2LGhpZGVGb2N1c091dGxpbmU6RCxyZWY6TShGKGUpKSwuLi5lLmRhdGFJZCYmeyJkYXRhLWlkIjplLmRhdGFJZH0sImFyaWEtY29udHJvbHMiOmZ9KSkpLGsubWFwKChlPT5vLmNyZWF0ZUVsZW1lbnQoYy5TcXVhcmVUYWIsey4uLlQoZSk/P3t9LGtleTplLmlkLGl0ZW06ZSx0aGVtZTpkLGVuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOnYsZmFrZTohMCwiYXJpYS1jb250cm9scyI6Zn0pKSksby5jcmVhdGVFbGVtZW50KEMse2Rpc2FibGVkOnQsaXNPcGVuZWQ6TCxpdGVtczprLGJ1dHRvbkNvbnRlbnQ6cih7aGlkZGVuVGFiczprfSksYnV0dG9uUmVmOngsYnV0dG9uVGhlbWU6ZCxpc0hpZ2hsaWdodGVkOlAsb25CdXR0b25DbGljazpSLG9uSXRlbUNsaWNrOk4sb25DbG9zZTp6LGhpZGVGb2N1c091dGxpbmU6RCxmYWtlOjA9PT1rLmxlbmd0aH0pKSkpfWZ1bmN0aW9uIFQoZSl7Y29uc3R7ImRhdGEtbmFtZSI6dD0ic3F1YXJlLXRhYnMtYnV0dG9ucyIsLi4ubn09ZTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KE0sey4uLm4sImRhdGEtbmFtZSI6dH0pfX0sNzIxOTEwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NvdW50ZXI6KCk9PmR9KTt2YXIgbyxyLHMsaT1uKDkxNDQ4NyksYT1uLm4oaSksbD1uKDc3OTQ3NCksYz1uKDM2Mjc5MyksdT1uLm4oYyk7ZnVuY3Rpb24gZChlKXtjb25zdHtjbGFzc05hbWU6dCxjb3VudDpuLGNvbXBhY3Q6bz0hMCxzaXplOnI9InhsYXJnZSIsY29sb3I6cz0iZGFuZ2VyIixzaWduOmksYm9yZGVyQ29sb3I6Yz0ibm9uZSIsImFyaWEtbGFiZWwiOmQsImFyaWEtaGlkZGVuIjpoLGRpc2FibGVkOnAsLi4ubX09ZSxmPW07bGV0IGI7Yj0hKCJ4eHNtYWxsIj09PXJ8fCJ4eHhzbWFsbCI9PT1yKSYmbj9vJiZuPj0xMDA/Ijk5KyI6aSYmbj4wP2ArJHtufWA6bjoiIjtjb25zdCBnPWEoKSh0LHUoKS5jb3VudGVyLHUoKVtyXSx1KClbYGNvbG9yLSR7c31gXSwibm9uZSIhPT1jJiZ1KClbYGJvcmRlckNvbG9yLSR7Y31gXSxwJiZ1KCkuZGlzYWJsZWQpO3JldHVybiBsLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHsuLi5mLGNsYXNzTmFtZTpnLHJvbGU6dm9pZCAwIT09ZD8iaW1nIjp2b2lkIDAsImFyaWEtbGFiZWwiOmQsImFyaWEtaGlkZGVuIjpofSxiKX0hZnVuY3Rpb24oZSl7ZS5YWFhTbWFsbD0ieHh4c21hbGwiLGUuWFhTbWFsbD0ieHhzbWFsbCIsZS5YU21hbGw9InhzbWFsbCIsZS5TbWFsbD0ic21hbGwiLGUuTWVkaXVtPSJtZWRpdW0iLGUuTGFyZ2U9ImxhcmdlIixlLlhMYXJnZT0ieGxhcmdlIn0ob3x8KG89e30pKSxmdW5jdGlvbihlKXtlLkRhbmdlcj0iZGFuZ2VyIixlLkFjY2VudD0iYWNjZW50IixlLkFjY2VudExpZ2h0PSJhY2NlbnQtbGlnaHQiLGUuTmV1dHJhbEJvbGQ9Im5ldXRyYWwtYm9sZCIsZS5OZXV0cmFsPSJuZXV0cmFsIn0ocnx8KHI9e30pKSxmdW5jdGlvbihlKXtlLlByaW1hcnk9InByaW1hcnkiLGUuU2Vjb25kYXJ5PSJzZWNvbmRhcnkiLGUuVGVydGlhcnk9InRlcnRpYXJ5IixlLk5vbmU9Im5vbmUifShzfHwocz17fSkpfSw1Mjk0MTEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7CnVzZUlzTm9uRmlyc3RSZW5kZXI6KCk9PnJ9KTt2YXIgbz1uKDc3OTQ3NCk7ZnVuY3Rpb24gcigpe3JldHVybiFmdW5jdGlvbigpe2NvbnN0W2UsdF09KDAsby51c2VTdGF0ZSkoITApO3JldHVybigwLG8udXNlRWZmZWN0KSgoKCk9Pnt0KCExKX0pLFtdKSxlfSgpfX0sMTQ1OTg0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZUZvY3VzOigpPT5yfSk7dmFyIG89big3Nzk0NzQpO2Z1bmN0aW9uIHIoZSx0KXtjb25zdFtuLHJdPSgwLG8udXNlU3RhdGUpKCExKTsoMCxvLnVzZUVmZmVjdCkoKCgpPT57dCYmbiYmcighMSl9KSxbdCxuXSk7Y29uc3Qgcz17b25Gb2N1czooMCxvLnVzZUNhbGxiYWNrKSgoZnVuY3Rpb24odCl7dm9pZCAwIT09ZSYmZS5jdXJyZW50IT09dC50YXJnZXR8fHIoITApfSksW2VdKSxvbkJsdXI6KDAsby51c2VDYWxsYmFjaykoKGZ1bmN0aW9uKHQpe3ZvaWQgMCE9PWUmJmUuY3VycmVudCE9PXQudGFyZ2V0fHxyKCExKX0pLFtlXSl9O3JldHVybltuLHNdfX0sNzg3ODk1KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZUZ1bmN0aW9uYWxSZWZPYmplY3Q6KCk9PnN9KTt2YXIgbz1uKDc3OTQ3NCkscj1uKDYxNjMxMSk7ZnVuY3Rpb24gcyhlKXtjb25zdCB0PSgwLG8udXNlTWVtbykoKCgpPT5mdW5jdGlvbihlKXtjb25zdCB0PW49PntlKG4pLHQuY3VycmVudD1ufTtyZXR1cm4gdC5jdXJyZW50PW51bGwsdH0oKGU9PnthLmN1cnJlbnQoZSl9KSkpLFtdKSxuPSgwLG8udXNlUmVmKShudWxsKSxzPXQ9PntpZihudWxsPT09dClyZXR1cm4gaShuLmN1cnJlbnQsdCksdm9pZChuLmN1cnJlbnQ9bnVsbCk7bi5jdXJyZW50IT09ZSYmKG4uY3VycmVudD1lLGkobi5jdXJyZW50LHQpKX0sYT0oMCxvLnVzZVJlZikocyk7cmV0dXJuIGEuY3VycmVudD1zLCgwLHIudXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCkoKCgpPT57aWYobnVsbCE9PXQuY3VycmVudClyZXR1cm4gYS5jdXJyZW50KHQuY3VycmVudCksKCk9PmEuY3VycmVudChudWxsKX0pLFtlXSksdH1mdW5jdGlvbiBpKGUsdCl7bnVsbCE9PWUmJigiZnVuY3Rpb24iPT10eXBlb2YgZT9lKHQpOmUuY3VycmVudD10KX19LDMxOTY5KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZU1lcmdlZFJlZnM6KCk9PnN9KTt2YXIgbz1uKDc3OTQ3NCkscj1uKDk2NDU5NCk7ZnVuY3Rpb24gcyhlKXtyZXR1cm4oMCxvLnVzZUNhbGxiYWNrKSgoMCxyLm1lcmdlUmVmcykoZSksZSl9fSw5MDA4NDEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBvKGUsdCxuLG8scil7ZnVuY3Rpb24gcyhyKXtpZihlPnIudGltZVN0YW1wKXJldHVybjtjb25zdCBzPXIudGFyZ2V0O3ZvaWQgMCE9PW4mJm51bGwhPT10JiZudWxsIT09cyYmcy5vd25lckRvY3VtZW50PT09byYmKHQuY29udGFpbnMocyl8fG4ocikpfXJldHVybiByLmNsaWNrJiZvLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixzLCExKSxyLm1vdXNlRG93biYmby5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLHMsITEpLHIudG91Y2hFbmQmJm8uYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLHMsITEpLHIudG91Y2hTdGFydCYmby5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixzLCExKSwoKT0+e28ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLHMsITEpLG8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixzLCExKSxvLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixzLCExKSxvLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHMsITEpfX1uLmQodCx7YWRkT3V0c2lkZUV2ZW50TGlzdGVuZXI6KCk9Pm99KX0sMjM2NzY1KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZU91dHNpZGVFdmVudDooKT0+aX0pO3ZhciBvPW4oNzc5NDc0KSxyPW4oNjE2MzExKSxzPW4oOTAwODQxKTtmdW5jdGlvbiBpKGUpe2NvbnN0e2NsaWNrOnQsbW91c2VEb3duOm4sdG91Y2hFbmQ6aSx0b3VjaFN0YXJ0OmEsaGFuZGxlcjpsLHJlZmVyZW5jZTpjfT1lLHU9KDAsby51c2VSZWYpKG51bGwpLGQ9KDAsby51c2VSZWYpKCJ1bmRlZmluZWQiPT10eXBlb2Ygd2luZG93PzA6bmV3IHdpbmRvdy5DdXN0b21FdmVudCgidGltZXN0YW1wIikudGltZVN0YW1wKTtyZXR1cm4oMCxyLnVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QpKCgoKT0+e2NvbnN0IGU9e2NsaWNrOnQsbW91c2VEb3duOm4sdG91Y2hFbmQ6aSx0b3VjaFN0YXJ0OmF9LG89Yz9jLmN1cnJlbnQ6dS5jdXJyZW50O3JldHVybigwLHMuYWRkT3V0c2lkZUV2ZW50TGlzdGVuZXIpKGQuY3VycmVudCxvLGwsZG9jdW1lbnQsZSl9KSxbdCxuLGksYSxsXSksY3x8dX19LDcxOTQyNShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VSZXNpemVPYnNlcnZlcjooKT0+aX0pO3ZhciBvPW4oNzc5NDc0KSxyPW4oNjE2MzExKSxzPW4oNzg3ODk1KTtmdW5jdGlvbiBpKGUsdD1bXSl7Y29uc3R7Y2FsbGJhY2s6bixyZWY6aT1udWxsfT1mdW5jdGlvbihlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZT97Y2FsbGJhY2s6ZX06ZX0oZSksYT0oMCxvLnVzZVJlZikobnVsbCksbD0oMCxvLnVzZVJlZikobik7bC5jdXJyZW50PW47Y29uc3QgYz0oMCxzLnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKGkpLHU9KDAsby51c2VDYWxsYmFjaykoKGU9PntjKGUpLG51bGwhPT1hLmN1cnJlbnQmJihhLmN1cnJlbnQuZGlzY29ubmVjdCgpLG51bGwhPT1lJiZhLmN1cnJlbnQub2JzZXJ2ZShlKSl9KSxbYyxhXSk7cmV0dXJuKDAsci51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9PihhLmN1cnJlbnQ9bmV3IFJlc2l6ZU9ic2VydmVyKCgoZSx0KT0+e2wuY3VycmVudChlLHQpfSkpLGMuY3VycmVudCYmdShjLmN1cnJlbnQpLCgpPT57YS5jdXJyZW50Py5kaXNjb25uZWN0KCl9KSksW2MsLi4udF0pLHV9fSwyMjc5NDkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7TWVudVdpZHRoQ29udGV4dDooKT0+b30pO2NvbnN0IG89big3Nzk0NzQpLmNyZWF0ZUNvbnRleHQoe3NldE1lbnVNYXhXaWR0aDohMX0pfSw4OTEyMDkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U3VibWVudUNvbnRleHQ6KCk9PnIsClN1Ym1lbnVIYW5kbGVyOigpPT5zfSk7dmFyIG89big3Nzk0NzQpO2NvbnN0IHI9by5jcmVhdGVDb250ZXh0KG51bGwpO2Z1bmN0aW9uIHMoZSl7Y29uc3RbdCxuXT0oMCxvLnVzZVN0YXRlKShudWxsKSxzPSgwLG8udXNlUmVmKShudWxsKSxpPSgwLG8udXNlUmVmKShuZXcgTWFwKTtyZXR1cm4oMCxvLnVzZUVmZmVjdCkoKCgpPT4oKT0+e251bGwhPT1zLmN1cnJlbnQmJmNsZWFyVGltZW91dChzLmN1cnJlbnQpfSksW10pLG8uY3JlYXRlRWxlbWVudChyLlByb3ZpZGVyLHt2YWx1ZTp7Y3VycmVudDp0LHNldEN1cnJlbnQ6ZnVuY3Rpb24oZSl7bnVsbCE9PXMuY3VycmVudCYmKGNsZWFyVGltZW91dChzLmN1cnJlbnQpLHMuY3VycmVudD1udWxsKTtudWxsPT09dD9uKGUpOnMuY3VycmVudD1zZXRUaW1lb3V0KCgoKT0+e3MuY3VycmVudD1udWxsLG4oZSl9KSwxMDApfSxyZWdpc3RlclN1Ym1lbnU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gaS5jdXJyZW50LnNldChlLHQpLCgpPT57aS5jdXJyZW50LmRlbGV0ZShlKX19LGlzU3VibWVudU5vZGU6ZnVuY3Rpb24oZSl7cmV0dXJuIEFycmF5LmZyb20oaS5jdXJyZW50LnZhbHVlcygpKS5zb21lKCh0PT50KGUpKSl9fX0sZS5jaGlsZHJlbil9fSw1ODU0OChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtQb3J0YWw6KCk9PmMsUG9ydGFsQ29udGV4dDooKT0+dX0pO3ZhciBvPW4oNzc5NDc0KSxyPW4oMTI5MzY1KSxzPW4oODU2NzcwKSxpPW4oOTAzNDIpLGE9big1NzAxOTMpLGw9big2MDc4MzIpO2NsYXNzIGMgZXh0ZW5kcyBvLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX3V1aWQ9KDAscy5uYW5vaWQpKCl9Y29tcG9uZW50V2lsbFVubW91bnQoKXt0aGlzLl9tYW5hZ2VyKCkucmVtb3ZlV2luZG93KHRoaXMuX3V1aWQpfXJlbmRlcigpe2NvbnN0IGU9dGhpcy5fbWFuYWdlcigpLmVuc3VyZVdpbmRvdyh0aGlzLl91dWlkLHRoaXMucHJvcHMubGF5ZXJPcHRpb25zKTtlLnN0eWxlLnRvcD10aGlzLnByb3BzLnRvcHx8IiIsZS5zdHlsZS5ib3R0b209dGhpcy5wcm9wcy5ib3R0b218fCIiLGUuc3R5bGUubGVmdD10aGlzLnByb3BzLmxlZnR8fCIiLGUuc3R5bGUucmlnaHQ9dGhpcy5wcm9wcy5yaWdodHx8IiIsZS5zdHlsZS5wb2ludGVyRXZlbnRzPXRoaXMucHJvcHMucG9pbnRlckV2ZW50c3x8IiI7Y29uc3QgdD10aGlzLnByb3BzLmNsYXNzTmFtZTtyZXR1cm4gdCYmKCJzdHJpbmciPT10eXBlb2YgdD9lLmNsYXNzTGlzdC5hZGQodCk6ZS5jbGFzc0xpc3QuYWRkKC4uLnQpKSx0aGlzLnByb3BzLnNob3VsZFRyYXBGb2N1cyYmIWUuaGFzQXR0cmlidXRlKGEuRk9DVVNfVFJBUF9EQVRBX0FUVFJJQlVURSkmJmUuc2V0QXR0cmlidXRlKGEuRk9DVVNfVFJBUF9EQVRBX0FUVFJJQlVURSwidHJ1ZSIpLHRoaXMucHJvcHNbImFyaWEtaGlkZGVuIl0mJmUuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKSxyLmNyZWF0ZVBvcnRhbChvLmNyZWF0ZUVsZW1lbnQodS5Qcm92aWRlcix7dmFsdWU6dGhpc30sdGhpcy5wcm9wcy5jaGlsZHJlbiksZSl9bW92ZVRvVG9wKCl7dGhpcy5fbWFuYWdlcigpLm1vdmVUb1RvcCh0aGlzLl91dWlkKX1fbWFuYWdlcigpe3JldHVybiBudWxsPT09dGhpcy5jb250ZXh0PygwLGkuZ2V0Um9vdE92ZXJsYXBNYW5hZ2VyKSgpOnRoaXMuY29udGV4dH19Yy5jb250ZXh0VHlwZT1sLlNsb3RDb250ZXh0O2NvbnN0IHU9by5jcmVhdGVDb250ZXh0KG51bGwpfSw2MDc4MzIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U2xvdDooKT0+cixTbG90Q29udGV4dDooKT0+c30pO3ZhciBvPW4oNzc5NDc0KTtjbGFzcyByIGV4dGVuZHMgby5Db21wb25lbnR7c2hvdWxkQ29tcG9uZW50VXBkYXRlKCl7cmV0dXJuITF9cmVuZGVyKCl7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7c3R5bGU6e3Bvc2l0aW9uOiJmaXhlZCIsekluZGV4OjE1MCxsZWZ0OjAsdG9wOjB9LHJlZjp0aGlzLnByb3BzLnJlZmVyZW5jZX0pfX1jb25zdCBzPW8uY3JlYXRlQ29udGV4dChudWxsKX0sMzE0NzIwKGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlLHQ9ITEpe2NvbnN0IG49Z2V0Q29tcHV0ZWRTdHlsZShlKSxvPVtuLndpZHRoXTtyZXR1cm4iYm9yZGVyLWJveCIhPT1uLmJveFNpemluZyYmby5wdXNoKG4ucGFkZGluZ0xlZnQsbi5wYWRkaW5nUmlnaHQsbi5ib3JkZXJMZWZ0V2lkdGgsbi5ib3JkZXJSaWdodFdpZHRoKSx0JiZvLnB1c2gobi5tYXJnaW5MZWZ0LG4ubWFyZ2luUmlnaHQpLG8ucmVkdWNlKCgoZSx0KT0+ZSsocGFyc2VGbG9hdCh0KXx8MCkpLDApfW4uZCh0LHtvdXRlcldpZHRoOigpPT5vfSl9LDU3MDE5MyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtGT0NVU19UUkFQX0RBVEFfQVRUUklCVVRFOigpPT5vfSk7Y29uc3Qgbz0iZGF0YS1mb2N1cy10cmFwIn0sODQ4OTg4KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gMD09PWUuZGV0YWlsfW4uZCh0LHtpc0tleWJvYXJkQ2xpY2s6KCk9Pm99KX0sOTY0NTk0KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gdD0+e2UuZm9yRWFjaCgoZT0+eyJmdW5jdGlvbiI9PXR5cGVvZiBlP2UodCk6bnVsbCE9ZSYmKGUuY3VycmVudD10KX0pKX19ZnVuY3Rpb24gcihlKXtyZXR1cm4gbyhbZV0pfW4uZCh0LHtpc29tb3JwaGljUmVmOigpPT5yLG1lcmdlUmVmczooKT0+b30pfSw5MDM0MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtPdmVybGFwTWFuYWdlcjooKT0+aSxnZXRSb290T3ZlcmxhcE1hbmFnZXI6KCk9Pmx9KTt2YXIgbz1uKDEzODYzOCkscj1uKDU3MDE5Myk7Y2xhc3Mgc3tjb25zdHJ1Y3Rvcigpe3RoaXMuX3N0b3JhZ2U9W119YWRkKGUpe3RoaXMuX3N0b3JhZ2UucHVzaChlKX1yZW1vdmUoZSl7dGhpcy5fc3RvcmFnZT10aGlzLl9zdG9yYWdlLmZpbHRlcigodD0+ZSE9PXQpKX1oYXMoZSl7cmV0dXJuIHRoaXMuX3N0b3JhZ2UuaW5jbHVkZXMoZSl9Z2V0SXRlbXMoKXtyZXR1cm4gdGhpcy5fc3RvcmFnZX19Y2xhc3MgaXtjb25zdHJ1Y3RvcihlPWRvY3VtZW50KXsKdGhpcy5fc3RvcmFnZT1uZXcgcyx0aGlzLl93aW5kb3dzPW5ldyBNYXAsdGhpcy5faW5kZXg9MCx0aGlzLl9kb2N1bWVudD1lLHRoaXMuX2NvbnRhaW5lcj1lLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKX1zZXRDb250YWluZXIoZSl7Y29uc3QgdD10aGlzLl9jb250YWluZXIsbj1udWxsPT09ZT90aGlzLl9kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk6ZTshZnVuY3Rpb24oZSx0KXtBcnJheS5mcm9tKGUuY2hpbGROb2RlcykuZm9yRWFjaCgoZT0+e2Uubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmdC5hcHBlbmRDaGlsZChlKX0pKX0odCxuKSx0aGlzLl9jb250YWluZXI9bn1yZWdpc3RlcldpbmRvdyhlKXt0aGlzLl9zdG9yYWdlLmhhcyhlKXx8dGhpcy5fc3RvcmFnZS5hZGQoZSl9ZW5zdXJlV2luZG93KGUsdD17cG9zaXRpb246ImZpeGVkIixkaXJlY3Rpb246Im5vcm1hbCJ9KXtjb25zdCBuPXRoaXMuX3dpbmRvd3MuZ2V0KGUpO2lmKHZvaWQgMCE9PW4pcmV0dXJuIG47dGhpcy5yZWdpc3RlcldpbmRvdyhlKTtjb25zdCBvPXRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKG8uc3R5bGUucG9zaXRpb249dC5wb3NpdGlvbixvLnN0eWxlLnpJbmRleD10aGlzLl9pbmRleC50b1N0cmluZygpLG8uZGF0YXNldC5pZD1lLHZvaWQgMCE9PXQuaW5kZXgpe2NvbnN0IGU9dGhpcy5fY29udGFpbmVyLmNoaWxkTm9kZXMubGVuZ3RoO2lmKHQuaW5kZXg+PWUpdGhpcy5fY29udGFpbmVyLmFwcGVuZENoaWxkKG8pO2Vsc2UgaWYodC5pbmRleDw9MCl0aGlzLl9jb250YWluZXIuaW5zZXJ0QmVmb3JlKG8sdGhpcy5fY29udGFpbmVyLmZpcnN0Q2hpbGQpO2Vsc2V7Y29uc3QgZT10aGlzLl9jb250YWluZXIuY2hpbGROb2Rlc1t0LmluZGV4XTt0aGlzLl9jb250YWluZXIuaW5zZXJ0QmVmb3JlKG8sZSl9fWVsc2UicmV2ZXJzZSI9PT10LmRpcmVjdGlvbj90aGlzLl9jb250YWluZXIuaW5zZXJ0QmVmb3JlKG8sdGhpcy5fY29udGFpbmVyLmZpcnN0Q2hpbGQpOnRoaXMuX2NvbnRhaW5lci5hcHBlbmRDaGlsZChvKTtyZXR1cm4gdGhpcy5fd2luZG93cy5zZXQoZSxvKSwrK3RoaXMuX2luZGV4LG99dW5yZWdpc3RlcldpbmRvdyhlKXt0aGlzLl9zdG9yYWdlLnJlbW92ZShlKTtjb25zdCB0PXRoaXMuX3dpbmRvd3MuZ2V0KGUpO3ZvaWQgMCE9PXQmJihudWxsIT09dC5wYXJlbnRFbGVtZW50JiZ0LnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQodCksdGhpcy5fd2luZG93cy5kZWxldGUoZSkpfWdldFppbmRleChlKXtjb25zdCB0PXRoaXMuZW5zdXJlV2luZG93KGUpO3JldHVybiBwYXJzZUludCh0LnN0eWxlLnpJbmRleHx8IjAiKX1tb3ZlTGFzdFdpbmRvd1RvVG9wKCl7Y29uc3QgZT10aGlzLl9zdG9yYWdlLmdldEl0ZW1zKCksdD1lW2UubGVuZ3RoLTFdO3QmJnRoaXMubW92ZVRvVG9wKHQpfW1vdmVUb1RvcChlKXtpZih0aGlzLmdldFppbmRleChlKSE9PXRoaXMuX2luZGV4KXtjb25zdCB0PXRoaXMuZW5zdXJlV2luZG93KGUpO3RoaXMuX3dpbmRvd3MuZm9yRWFjaCgoKGUsbik9PntlLmhhc0F0dHJpYnV0ZShyLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUpJiZlLnNldEF0dHJpYnV0ZShyLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUsZT09PXQ/InRydWUiOiJmYWxzZSIpfSkpLHQuc3R5bGUuekluZGV4PSgrK3RoaXMuX2luZGV4KS50b1N0cmluZygpfX1yZW1vdmVXaW5kb3coZSl7dGhpcy51bnJlZ2lzdGVyV2luZG93KGUpfX1jb25zdCBhPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIGwoZT1kb2N1bWVudCl7Y29uc3QgdD1lLmdldEVsZW1lbnRCeUlkKCJvdmVybGFwLW1hbmFnZXItcm9vdCIpO2lmKG51bGwhPT10KXJldHVybigwLG8uZW5zdXJlRGVmaW5lZCkoYS5nZXQodCkpO3tjb25zdCB0PW5ldyBpKGUpLG49ZnVuY3Rpb24oZSl7Y29uc3QgdD1lLmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiB0LnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsdC5zdHlsZS56SW5kZXg9MTUwLi50b1N0cmluZygpLHQuc3R5bGUudG9wPSIwcHgiLHQuc3R5bGUubGVmdD0iMHB4Iix0LmlkPSJvdmVybGFwLW1hbmFnZXItcm9vdCIsdC5kYXRhc2V0LnFhSWQ9Im92ZXJsYXAtbWFuYWdlci1yb290Iix0fShlKTtyZXR1cm4gYS5zZXQobix0KSx0LnNldENvbnRhaW5lcihuKSxlLmJvZHkuYXBwZW5kQ2hpbGQobiksdH19dmFyIGM7IWZ1bmN0aW9uKGUpe2VbZS5CYXNlWmluZGV4PTE1MF09IkJhc2VaaW5kZXgifShjfHwoYz17fSkpfSw4MzM5MDMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBvKC4uLmUpe3JldHVybiB0PT57Zm9yKGNvbnN0IG4gb2YgZSl2b2lkIDAhPT1uJiZuKHQpfX1uLmQodCx7Y3JlYXRlU2FmZU11bHRpY2FzdEV2ZW50SGFuZGxlcjooKT0+b30pfSw2MTYzMTEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdDooKT0+cn0pO3ZhciBvPW4oNzc5NDc0KTtmdW5jdGlvbiByKGUsdCl7KCJ1bmRlZmluZWQiPT10eXBlb2Ygd2luZG93P28udXNlRWZmZWN0Om8udXNlTGF5b3V0RWZmZWN0KShlLHQpfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"tvc-invdn-cf-com.investing.com/tool/1.12.10/static/bundles/vendors.e76774664d65ba2c90ff.js","fqdn":"tvc-invdn-cf-com.investing.com","domain":"investing.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://tvc-invdn-cf-com.investing.com/tool/1.12.10/static/tv-chart.e816a7a6edc9de3ed709.html#localserver=1\u0026symbol=945629\u0026interval=5\u0026studiesAccess=%7B%22type%22%3A%22black%22%2C%22tools%22%3A%5B%7B%22name%22%3A%22Correlation%20Coeff%22%2C%22grayed%22%3Afalse%7D%5D%7D\u0026widgetbar=%7B%22details%22%3Afalse%2C%22watchlist%22%3Afalse%2C%22watchlist_settings%22%3A%7B%22default_symbols%22%3A%5B%5D%7D%7D\u0026drawingsAccess=%7B%22type%22%3A%22black%22%2C%22tools%22%3A%5B%7B%22name%22%3A%22Regression%20Trend%22%2C%22grayed%22%3Afalse%7D%5D%7D\u0026timeFrames=%5B%7B%22text%22%3A%2210y%22%2C%22resolution%22%3A%22M%22%7D%2C%7B%22text%22%3A%223y%22%2C%22resolution%22%3A%22W%22%7D%2C%7B%22text%22%3A%221y%22%2C%22resolution%22%3A%22W%22%7D%2C%7B%22text%22%3A%223m%22%2C%22resolution%22%3A%22D%22%7D%2C%7B%22text%22%3A%221m%22%2C%22resolution%22%3A%22300%22%7D%2C%7B%22text%22%3A%227d%22%2C%22resolution%22%3A%2260%22%7D%2C%7B%22text%22%3A%221d%22%2C%22resolution%22%3A%2215%22%7D%5D\u0026locale=ru\u0026uid=tradingview_52714\u0026clientId=0\u0026userId=0\u0026chartsStorageVer=1.0\u0026customCSS=https%3A%2F%2Ftvc-invdn-cf-com.investing.com%2Ftool%2F1.12.10%2Fcustom.css\u0026debug=false\u0026snapshotUrl=https%3A%2F%2Fssltvc.forexprostools.com%2Fcc6698fccca44e51b088d9ddbbcf8ec8%2F1785120633%2F7%2F7%2F17%2Fsnapshot\u0026timezone=Europe%2FMoscow","date":"2026-07-27T02:50:34.633Z","timestamp":1785120634633,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /tool/1.12.10/static/bundles/vendors.e76774664d65ba2c90ff.js HTTP/1.1\r\nHost: tvc-invdn-cf-com.investing.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://tvc-invdn-cf-com.investing.com/tool/1.12.10/static/tv-chart.e816a7a6edc9de3ed709.html\r\nCookie: __cf_bm=h6SAR28kd_QbNop_COMOHghDdlytG1dix_NDRXPGmD4-1785120634.5691435-1.0.1.1-s4ne_iKLzdjYKinGlFUaklT6ynKOQcbwbTfQ9Ee2VWc6HnktRWLJU5i.P2cm15_MZLMVhgoXFqglYOYqP14NW3ukSx7P6pAGRd3O_Fc9rU3d7y1GygnJGLidPsQIZp.Yom6Jb8b5KK1yqn7xaAW3WA\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"www.tradingview-widget.com/static/bundles/embed/tradingview-copyright-new-data-impl.89a51b988ec43ed04ee7.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.756Z","timestamp":1785120634756,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/tradingview-copyright-new-data-impl.89a51b988ec43ed04ee7.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"247optiontradefx.com/css/ion.rangeSlider.skinSimple.css","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:32.884Z","timestamp":1785120632884,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /css/ion.rangeSlider.skinSimple.css HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:32 GMT\r\nContent-Type: text/css\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-89c\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":2204,"size_decoded":985,"mime_type":"text/css","magic":"Unicode text, UTF-8 text, with CRLF line terminators","md5":"08bf678cf328eef35ce8519ae8d2f88d","sha1":"0289be9e75a06da3b0c563582c09f6ee68752d77","sha256":"d6b8e6aa9ca394d47af7391eddeec50d699542bb399049576966d49b98d1ef01","sha512":"8322051e9c4d2835e8e765dc9bc41c8054671040e9241b87339988781e90857fc48401b76e39371b96470df6ef124463e99b105c6808175f61acd01e44a60694","ssdeep":"","tlshash":"9141cb68c64518453a329b7127615e4de2263a4fc90235fcf6ee72581fb2399b0f1ec8","first_seen":"2026-01-28T19:33:08.973491Z","last_seen":"2026-07-27T02:59:54.561886Z","times_seen":7,"resource_available":false,"data":"LyogSW9uLlJhbmdlU2xpZGVyLCBTaW1wbGUgU2tpbg0KLy8gY3NzIHZlcnNpb24gMi4wLjMNCi8vIMKpIERlbmlzIEluZXNoaW4sIDIwMTQgICAgaHR0cHM6Ly9naXRodWIuY29tL0lvbkRlbg0KLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovDQoNCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLy8gU2tpbiBkZXRhaWxzICovDQoNCi5pcnMtbGluZS1taWQsDQouaXJzLWxpbmUtbGVmdCwNCi5pcnMtbGluZS1yaWdodCwNCi5pcnMtYmFyLA0KLmlycy1iYXItZWRnZSwNCi5pcnMtc2xpZGVyIHsNCiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3Nwcml0ZS1za2luLXNpbXBsZS5odG1sKSByZXBlYXQteDsNCn0NCg0KLmlycyB7DQogICAgaGVpZ2h0OiA0MHB4Ow0KfQ0KLmlycy13aXRoLWdyaWQgew0KICAgIGhlaWdodDogNjBweDsNCn0NCi5pcnMtbGluZSB7DQogICAgaGVpZ2h0OiA2cHg7IHRvcDogMjVweDsNCn0NCiAgICAuaXJzLWxpbmUtbGVmdCB7DQogICAgICAgIGhlaWdodDogNnB4Ow0KICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zMHB4Ow0KICAgIH0NCiAgICAuaXJzLWxpbmUtbWlkIHsNCiAgICAgICAgaGVpZ2h0OiA2cHg7DQogICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsNCiAgICB9DQogICAgLmlycy1saW5lLXJpZ2h0IHsNCiAgICAgICAgaGVpZ2h0OiA2cHg7DQogICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgLTMwcHg7DQogICAgfQ0KDQouaXJzLWJhciB7DQogICAgaGVpZ2h0OiA2cHg7IHRvcDogMjVweDsNCiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC02MHB4Ow0KfQ0KICAgIC5pcnMtYmFyLWVkZ2Ugew0KICAgICAgICB0b3A6IDI1cHg7DQogICAgICAgIGhlaWdodDogNnB4OyB3aWR0aDogN3B4Ow0KICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC05MHB4Ow0KICAgIH0NCg0KLmlycy1zaGFkb3cgew0KICAgIGhlaWdodDogMXB4OyB0b3A6IDM0cHg7DQogICAgYmFja2dyb3VuZDogIzAwMDsNCiAgICBvcGFjaXR5OiAwLjc1Ow0KfQ0KLmx0LWllOSAuaXJzLXNoYWRvdyB7DQogICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTc1KTsNCn0NCg0KLmlycy1zbGlkZXIgew0KICAgIHdpZHRoOiA4cHg7IGhlaWdodDogMTVweDsNCiAgICB0b3A6IDIxcHg7DQogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTIwcHg7DQp9DQouaXJzLXNsaWRlci5zdGF0ZV9ob3ZlciwgLmlycy1zbGlkZXI6aG92ZXIgew0KICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE1MHB4Ow0KfQ0KDQouaXJzLW1pbiwgLmlycy1tYXggew0KICAgIGNvbG9yOiAjYzBjMGMwOw0KICAgIGZvbnQtc2l6ZTogMTBweDsgbGluZS1oZWlnaHQ6IDEuMzMzOw0KICAgIHRleHQtc2hhZG93OiBub25lOw0KICAgIHRvcDogMDsgcGFkZGluZzogMXB4IDNweDsNCiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMSk7DQogICAgLW1vei1ib3JkZXItcmFkaXVzOiAzcHg7DQogICAgYm9yZGVyLXJhZGl1czogM3B4Ow0KfQ0KLmx0LWllOSAuaXJzLW1pbiwgLmx0LWllOSAuaXJzLW1heCB7DQogICAgYmFja2dyb3VuZDogIzM2NTRiMDsNCn0NCg0KLmlycy1mcm9tLCAuaXJzLXRvLCAuaXJzLXNpbmdsZSB7DQogICAgY29sb3I6ICMwMDA7DQogICAgZm9udC1zaXplOiAxMHB4OyBsaW5lLWhlaWdodDogMS4zMzM7DQogICAgdGV4dC1zaGFkb3c6IG5vbmU7DQogICAgcGFkZGluZzogMXB4IDVweDsNCiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuOCk7DQogICAgLW1vei1ib3JkZXItcmFkaXVzOiAzcHg7DQogICAgYm9yZGVyLXJhZGl1czogM3B4Ow0KfQ0KLmx0LWllOSAuaXJzLWZyb20sIC5sdC1pZTkgLmlycy10bywgLmx0LWllOSAuaXJzLXNpbmdsZSB7DQogICAgYmFja2dyb3VuZDogI2Q4ZGZmMzsNCn0NCg0KLmlycy1ncmlkLXBvbCB7DQogICAgYmFja2dyb3VuZDogIzc3NzsNCn0NCi5pcnMtZ3JpZC10ZXh0IHsNCiAgICBjb2xvcjogI2UwZTBlMDsNCn0NCg0KLmlycy1kaXNhYmxlZCB7DQp9DQo="}},"time_used":90,"timings":{"blocked":-1,"dns":0,"connect":28,"send":0,"wait":27,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/80207.3e5e7d68c875b367cad0.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.023Z","timestamp":1785120634023,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/80207.3e5e7d68c875b367cad0.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a3a25bf-d2fc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 23 Jun 2026 06:20:47 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/23/2026 10:37:07\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: f042bff4ff3d3db172cbd2a8aac410c4\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":54012,"size_decoded":13968,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (51870)","md5":"efb45a2a5e9dedce76162279dc170b0e","sha1":"38843307f1bc14de893dfe253b89aa9ec4532bfa","sha256":"c4adc1700ca5f8538ca44843bf76da33e0bc360cdf11ff0ddafbd8856c5bad4d","sha512":"3ef5908b8c8ed8de392171a9c51bbea83f11fdb7542f8fb58439589ee43db4b6785bdb1a3e71993950d28351eb79c5548d8567cfb5f4a5991ab3488d323d675e","ssdeep":"1536:guE5AIu9J3vqcJNT6FuEckfLVnddIwc99EkRIWEEPk2SYHj28kxu:DGxu95vqcHT6gT8VnddPgTRCEgYDDkxu","tlshash":"7f33a56091880f44656183d0bcff24602d9c3d5b4ab665bcde9f0d5b4e99ac83e3bd3a","first_seen":"2026-06-24T00:20:51.960912Z","last_seen":"2026-07-27T05:29:38.809702Z","times_seen":223,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbODAyMDddLHszODAyMDcobCxpLG4pe24uZChpLHt0cmllc1RyYW5zbGF0ZVNjcmVlbmVyRGF0YTooKT0+dX0pO3ZhciB0PW4oMTg1MjcxKTtjb25zdCBlPW5ldyBNYXAoW1siQmFzaWMgTWF0ZXJpYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDAxMTY4KSldLFsiQ2FwaXRhbCBHb29kcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk4NjU4OSkpXSxbIkNvbW1lcmNpYWwgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0Mzc3MDEpKV0sWyJDb21tdW5pY2F0aW9ucyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg1ODE4KSldLFsiQ29uZ2xvbWVyYXRlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDcyMTMzMykpXSxbIkNvbnN1bWVyIEN5Y2xpY2FsIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTU5MjUyKSldLFsiQ29uc3VtZXIgQ3ljbGljYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTQ1Mzk1KSldLFsiQ29uc3VtZXIgRHVyYWJsZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3NTQ4NDMpKV0sWyJDb25zdW1lciBOb24tQ3ljbGljYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODMxODgyKSldLFsiQ29uc3VtZXIgTm9uLUR1cmFibGVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTU2NDc1KSldLFsiQ29uc3VtZXIgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNTI4MDgpKV0sWyJDb25zdW1lci9Ob24tQ3ljbGljYWwiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNjQ5KSldLFsiRGlzdHJpYnV0aW9uIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTcxMzQyKSldLFsiRWxlY3Ryb25pYyBUZWNobm9sb2d5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzU5NjE1KSldLFsiRW5lcmd5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODI1NTQyKSldLFsiRW5lcmd5IE1pbmVyYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTYwMzg5KSldLFsiRmluYW5jZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ2MjE5MykpXSxbIkZpbmFuY2lhbCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEyODQ3OSkpXSxbIkZpbmFuY2lhbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNjkzMjUpKV0sWyJHb3Zlcm5tZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzgzMzE4KSldLFsiSGVhbHRoIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjIwNjAxKSldLFsiSGVhbHRoIFRlY2hub2xvZ3kiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0MTg0NTcpKV0sWyJIZWFsdGhjYXJlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODA2ODY3KSldLFsiSW5kdXN0cmlhbCBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk5OTU2MCkpXSxbIkluZHVzdHJpYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTc4NTcyKSldLFsiTWlzY2VsbGFuZW91cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE1NzAyMykpXSxbIk5vbi1FbmVyZ3kgTWluZXJhbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1OTI1MzgpKV0sWyJQcm9jZXNzIEluZHVzdHJpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MjA2OTgpKV0sWyJQcm9kdWNlciBNYW51ZmFjdHVyaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTI3NjQwKSldLFsiUmV0YWlsIFRyYWRlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTkwMDY2KSldLFsiU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MzcwNTkpKV0sWyJUZWNobm9sb2d5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjcxMDc5KSldLFsiVGVjaG5vbG9neSBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY0MDk1MykpXSxbIlRlbGVjb21tdW5pY2F0aW9ucyBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg1MjU4NSkpXSxbIlRyYW5zcG9ydGF0aW9uIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzY4MzkwKSldLFsiVXRpbGl0aWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODkxMTM2KSldXSkKO2NvbnN0IG89bmV3IE1hcChbWyJFeG90aWMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1ODA4MzIpKV0sWyJNYWpvciIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ0Nzc1MykpXSxbIk1pbm9yIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjA2OTgzKSldLFsiQWNjZXNzb3JpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMzkwMjcpKV0sWyJBY2NvdW50aW5nICYgVGF4IFByZXBhcmF0aW9uIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjAzMjkyKSldLFsiQWRoZXNpdmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5MTgzMTApKV0sWyJBZHVsdCBFbnRlcnRhaW5tZW50IFByb2R1Y3Rpb24gJiBCcm9hZGNhc3RpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigxODcwNzUpKV0sWyJBZHVsdCBQcm9kdWN0cyBSZXRhaWxlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyOTA3ODQpKV0sWyJBZHZhbmNlZCBFbGVjdHJvbmljIEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDcwOTkzKSldLFsiQWR2YW5jZWQgTWVkaWNhbCBFcXVpcG1lbnQgJiBUZWNobm9sb2d5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjI5NjQwKSldLFsiQWR2YW5jZWQgTWVkaWNhbCBFcXVpcG1lbnQgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjk0MDMzKSldLFsiQWR2YW5jZWQgUG9seW1lciIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU4MDM0MCkpXSxbIkFkdmVudHVyZSBTcG9ydHMgRmFjaWxpdGllcyAmIFNraSBSZXNvcnRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzc1ODc2KSldLFsiQWR2ZXJ0aXNpbmcgJiBNYXJrZXRpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNjgzNjkpKV0sWyJBZHZlcnRpc2luZy9NYXJrZXRpbmcgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyODU2NzcpKV0sWyJBZHZlcnRpc2luZyBBZ2VuY3kiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMjY4NjkpKV0sWyJBZXJvc3BhY2UgJiBEZWZlbnNlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTMwOTY5KSldLFsiQWdyaWN1bHR1cmFsIEJpb3RlY2hub2xvZ3kiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2ODUxNTApKV0sWyJBZ3JpY3VsdHVyYWwgQ2hlbWljYWxzIFdob2xlc2FsZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM2Mjg3OCkpXSxbIkFncmljdWx0dXJhbCBDaGVtaWNhbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzOTE2NzIpKV0sWyJBZ3JpY3VsdHVyYWwgQ29tbW9kaXRpZXMvTWlsbGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYwMjY4MCkpXSxbIkFncmljdWx0dXJhbCBNYWNoaW5lcnkiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0ODIxMDEpKV0sWyJBZ3JpY3VsdHVyZSBTdXBwb3J0IFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODg3MzkyKSldLFsiQWlyICYgR2FzIENvbXByZXNzb3JzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjA4OTY0KSldLFsiQWlyIEZyZWlnaHQgJiBDb3VyaWVyIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODA3MDQyKSldLFsiQWlyIEZyZWlnaHQgJiBMb2dpc3RpY3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NjQ4MTApKV0sWyJBaXIgRnJlaWdodCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDcwNDg0NikpXSxbIkFpciBGcmVpZ2h0L0NvdXJpZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzkwNDkzKSldLFsiQWlyIEZyZWlnaHQvRGVsaXZlcnkgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1NjgzMzYpKV0sWyJBaXJjcmFmdCBFcXVpcG1lbnQgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjQ4MDkxKSldLFsiQWlyY3JhZnQgUGFydHMgTWFudWZhY3R1cmluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDcwMjE3MSkpXSxbIkFpcmxpbmUgQ2F0ZXJpbmcgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2MDgyNzYpKV0sWyJBaXJsaW5lcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM1MDQwMykpXSxbIkFpcnBvcnQgT3BlcmF0b3JzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzg2NDcwKSldLFsiQWlycG9ydCBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMwMjMwMykpXSxbIkFsbCBPdGhlciBGb29kIE1hbnVmYWN0dXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NjIwMTYpKV0sWyJBbHRlcm5hdGl2ZSBNZWRpY2luZSBGYWNpbGl0aWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjEwMDgxKSldLFsiQWx0ZXJuYXRpdmUgTWVkaWNpbmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MTQ1MDApKV0sWyJBbHRlcm5hdGl2ZSBQb3dlciBHZW5lcmF0aW9uIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTk1NzQ1KSldLFsiQWx1bWludW0gUm9sbGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIwNzc3MSkpXSxbIkFsdW1pbnVtIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjY3OTkzKSldLFsiQW1idWxhbmNlICYgRW1lcmdlbmN5IFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzgxMDg4KSldLFsiQW11c2VtZW50IFBhcmtzIGFuZCBab29zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDE5NTMpKV0sWyJBbmltYWwgQnJlZWRpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NzM4MzQpKV0sWyJBbmltYWwgRmVlZCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY2MDY4NCkpXSxbIkFuaW1hbCBTbGF1Z2h0ZXJpbmcgJiBQcm9jZXNzaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTQzODY2KSldLFsiQW50aXF1ZSBEZWFsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzgwMzUwKSldLFsiQXBwYXJlbCAmIEFjY2Vzc29yaWVzIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM5NTcyNSkpXSxbIkFwcGFyZWwgJiBBY2Nlc3NvcmllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI0MTc4NykpXSxbIkFwcGFyZWwgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTI4MDkpKV0sWyJBcHBhcmVsL0Zvb3R3ZWFyIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTI2NzM0KSldLFsiQXBwYXJlbC9Gb290d2VhciBSZXRhaWwiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5MDI5ODQpKV0sWyJBcHBsaWFuY2UgJiBIb3VzZXdhcmUgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzAyNDQ3KSldLFsiQXBwbGlhbmNlcywgVG9vbHMgJiBIb3VzZXdhcmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTE4NDApKV0sWyJBcHBsaWNhdGlvbiBTb2Z0d2FyZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg0MjE1NCkpXSxbIkFxdWFjdWx0dXJlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTgxMjYwKSldLFsiQXJtcyAmIEFtbXVuaXRpb25zIE1hbnVmYWN0dXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig4ODY0NjUpKV0sWyJBdXRvICYgVHJ1Y2sgTWFudWZhY3R1cmVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEyNTY2MikpXSxbIkF1dG8gJiBUcnVjayBQYXJ0cyBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4NzU1NzkpKV0sWyJBdXRvICYgVHJ1Y2sgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODc4NzIzKSldLFsiQXV0byBDbGVhbmluZyBQcm9kdWN0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk1ODIzNSkpXSxbIkF1dG8gUGFydHM6IE9FTSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM3MDEyKSldLFsiQXV0byBWZWhpY2xlcywgUGFydHMgJiBTZXJ2aWNlIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk5Njk3MikpXSxbIkF1dG8sIFRydWNrICYgTW90b3JjeWNsZSBQYXJ0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY2MTk4MykpXSxbIkF1dG9tYXRpYyBWZW5kaW5nIE1hY2hpbmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDY1MjIyKSldLFsiQXV0b21vdGl2ZSBBZnRlcm1hcmtldCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU0MzE1NykpXSxbIkF1dG9tb2JpbGVzICYgTXVsdGkgVXRpbGl0eSBWZWhpY2xlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI5ODY2MikpXSxbIkF1dG9tb3RpdmUgQWNjZXNzb3JpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNjk2NDYpKV0sWyJBdXRvbW90aXZlIEJhdHRlcmllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE3NTc0NCkpXSxbIkF1dG9tb3RpdmUgQm9keSBQYXJ0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM4NTU5MSkpXSxbIkF1dG9tb3RpdmUgUGFydHMgJiBBY2Nlc3NvcmllcyBSZXRhaWxlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NTcwODkpKV0sWyJBdXRvbW90aXZlIFN5c3RlbXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNTcyNTQpKV0sWyJCYWJ5IEZvb2QiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MDg1NDkpKV0sWyJCYWxsICYgUm9sbGVyIEJlYXJpbmdzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjg4OTY5KSldLFsiQmFua3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0OTc4MzcpKV0sWyJCYW5xdWV0IEhhbGxzICYgQ2F0ZXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MjQ1OTUpKV0sWyJCYXRocm9vbSBGaXh0dXJlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDUzNTkwOCkpXSxbIkJhdHRlcmllcyAmIFVuaW50ZXJydXB0aWJsZSBQb3dlciBzdXBwbGllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY4ODU1MikpXSxbIkJhdXhpdGUgTWluaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDk4Mjg4KSldLFsiQmVhdXR5IFN1cHBseSBTaG9wIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjczMTQyKSldLFsiQmVlZiAmIFZlYWwgRmFybWluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDUwMTE2KSldLFsiQmVlciwgV2luZSAmIExpcXVvciBTdG9yZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NDk2MzYpKV0sWyJCZXZlcmFnZXM6IEFsY29ob2xpYyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY1NzQ3MSkpXSxbIkJldmVyYWdlczogTm9uLUFsY29ob2xpYyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg5Mzg4NSkpXSxbIkJldmVyYWdlcyAoUHJvZHVjdGlvbi9EaXN0cmlidXRpb24pIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzkyODY2KSldLFsiQmljeWNsZSBNYW51ZmFjdHVyaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODk0NzM4KSldLFsiQmlvIERpYWdub3N0aWNzICYgVGVzdGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYzNTE1NykpXSxbIkJpbyBNZWRpY2FsIERldmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MzIzMTYpKV0sWyJCaW8gVGhlcmFwZXV0aWMgRHJ1Z3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NDgyNDkpKV0sWyJCaW9kaWVzZWwiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3OTYyNikpXSxbIkJpb21hc3MgJiBCaW9nYXMgRnVlbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1NTcyMzkpKV0sWyJCaW9tZXRyaWMgUHJvZHVjdHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2Mzc0MDkpKV0sWyJCaW9waGFybWFjZXV0aWNhbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNDU3NTMpKV0sWyJCaW90ZWNobm9sb2d5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTc5NDEzKSldLFsiQmlvdGVjaG5vbG9neSAmIE1lZGljYWwgUmVzZWFyY2giLCgpPT50LnQobnVsbCx2b2lkIDAsbig4OTIxNDMpKV0sWyJCaXJ0aCBDb250cm9sIFByb2R1Y3RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTA0NzU3KSldLFsiQm9vayAmIE1hZ2F6aW5lIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk3NjM0NikpXSxbIkJvb2sgUHJpbnRpbmcgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NDYyNDcpKV0sWyJCb29rIFB1Ymxpc2hpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig3NTAxODIpKV0sWyJCb3R0bGVkIFdhdGVyICYgSWNlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTk2NzAwKSldLFsiQnJhbmRpbmcgJiBOYW1pbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MjEzOTkpKV0sWyJCcmVhZCAmIEJha2VyeSBQcm9kdWN0IE1hbnVmYWN0dXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig3ODkxODApKV0sWyJCcmVha2Zhc3QgQ2VyZWFsIE1hbnVmYWN0dXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNDMwNDIpKV0sWyJCcmV3ZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDgwNDEzKSldLFsiQnJvYWRjYXN0aW5nIEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk1MTk2MykpXSxbIkJyb2FkY2FzdGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDgxODYxNikpXSxbIkJyb2tlcmFnZSBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYyODQ4MSkpXSxbIkJyb29tcywgQnJ1c2hlcyAmIER1c3RwYW5zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjU1MDc3KSldLFsiQnVpbGRlciBNZXJjaGFudHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNjE3MTcpKV0sWyJCdWlsZGluZyBDb250cmFjdG9ycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM4NjcxOSkpXSxbIkJ1aWxkaW5nIFByb2R1Y3RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjU3MjM0KSldLFsiQnVzaW5lc3MgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNzI2NDcpKV0sWyJCdXNpbmVzcyBTdXBwb3J0IFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTczNSkpXSxbIkJ1c2luZXNzIFN1cHBvcnQgU3VwcGxpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4NzAyOTkpKV0sWyJDYWJsZSBTZXJ2aWNlIFByb3ZpZGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDkxMjgyNikpXSxbIkNhYmxlL1NhdGVsbGl0ZSBUViIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMxMjg4NykpXSxbIkNhZmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzI5ODMwKSldLFsiQ2FsbCBDZW50ZXIgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NjQ4MzQpKV0sWyJDYXJib24gQ2FwdHVyZSAmIFN0b3JhZ2UiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNzUxMjEpKV0sWyJDYXJib25hdGVkIFNvZnQgRHJpbmtzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzMwNTczKSldLFsiQ2FycGV0cyAmIEN1cnRhaW5zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzkxNzYpKV0sWyJDYXNpbm9zICYgR2FtaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjU4MjU2KSldLFsiQ2FzaW5vcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYwNjIwNykpXSxbIkNhc2lub3MvR2FtaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODU3MzQ1KSldLFsiQ2FzdWFsdHkgSW5zdXJhbmNlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTEwNDY4KSldLFsiQ2F0YWxvZy9TcGVjaWFsdHkgRGlzdHJpYnV0aW9uIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTE1NzA1KSldLFsiQ2VsbHVsYXIgRmliZXIiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNDM1MTgpKV0sWyJDZW1lbnQgJiBDb25jcmV0ZSBNYW51ZmFjdHVyaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTA4NDU2KSldLFsiQ2hhcnRlciAmIFByaXZhdGUgQWlyIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTk1NDQxKSldLFsiQ2hhcnRlciBCdXMgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MTg0OTYpKV0sWyJDaGVtaWNhbHM6IEFncmljdWx0dXJhbCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI0MDE5MSkpXSxbIkNoZW1pY2FsczogTWFqb3IgRGl2ZXJzaWZpZWQiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMzM3MikpXSxbIkNoZW1pY2FsczogU3BlY2lhbHR5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTYzMDU1KSldLFsiQ2hpbGQgQ2FyZSAmIEZhbWlseSBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ0MTUyNikpXSxbIkNoaWxkcmVuICYgSW5mYW50cyBDbG90aGluZyBSZXRhaWxlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3ODY4NTgpKV0sWyJDaGlsZHJlbiAmIEluZmFudHMgQ2xvdGhpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig3Mzg0MzIpKV0sWyJDaG9jb2xhdGUgJiBDb25mZWN0aW9uZXJ5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTQ4OTA5KSldLFsiQ2lnYXJzICYgQ2lnYXJldHRlIE1hbnVmYWN0dXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNDM2ODcpKV0sWyJDaXZpbCBFbmdpbmVlcnMgJiBBcmNoaXRlY3RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTc0ODk1KSldLFsiQ2xlYW5pbmcgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNjUxOTgpKV0sWyJDbGVhcmluZywgU2V0dGxlbWVudCAmIEN1c3RvZGlhbCBTZXJ2aWNlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjA0NDM3KSldLFsiQ2xvc2VkIEVuZCBGdW5kcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY4OTg0KSldLFsiQ2xvdWQgQ29tcHV0aW5nIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjk3NTM0KSldLFsiQ29hbCBNaW5pbmcgU3VwcG9ydCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMxMDQpKV0sWyJDb2FsIFdob2xlc2FsZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDgzNTg5NCkpXSxbIkNvYWwiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2ODM3NDApKV0sWyJDb2ZmZWUgJiBUZWEiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzMjcwODQpKV0sWyJDb2ZmZWUsIFRlYSAmIENvY29hIEZhcm1pbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNTUwMikpXSxbIkNva2UgQ29hbCBNaW5pbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig2MjM4MDkpKV0sWyJDb2xsZWN0aXZlIEludmVzdG1lbnQgRnVuZCBPcGVyYXRvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MTg2NzMpKV0sWyJDb2xvcmluZyBBZ2VudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ5MjY3OSkpXSxbIkNvbW1lcmNpYWwgQWlyY3JhZnQgTWFudWZhY3R1cmluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQxNTY5KSldLFsiQ29tbWVyY2lhbCBCYW5rcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM2NzU4MykpXSxbIkNvbW1lcmNpYWwgQnVpbGRpbmdzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODg5MjM4KSldLFsiQ29tbWVyY2lhbCBEb2N1bWVudCBNYW5hZ2VtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODAyNTE5KSldLFsiQ29tbWVyY2lhbCBFcXVpcG1lbnQgUmVudGFsIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjkyNTE2KSldLFsiQ29tbWVyY2lhbCBGaXNoaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTc5ODM1KSldLFsiQ29tbWVyY2lhbCBGb29kIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTM1MDcpKV0sWyJDb21tZXJjaWFsIExlYXNpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NDk1MTApKV0sWyJDb21tZXJjaWFsIExvYW5zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDU4OTc5KSldLFsiQ29tbWVyY2lhbCBOdXJzZXJpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MjUxNjMpKV0sWyJDb21tZXJjaWFsIFByaW50aW5nIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzY2NDAyKSldLFsiQ29tbWVyY2lhbCBQcmludGluZy9Gb3JtcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk1NzkzNSkpXSxbIkNvbW1lcmNpYWwgUkVJVHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1NDcyMzIpKV0sWyJDb21tb2RpdHkgQ2hlbWljYWxzIFdob2xlc2FsZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE1ODA4NSkpXSxbIkNvbW1vZGl0eSBDaGVtaWNhbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNTI5MTMpKV0sWyJDb21tdW5pY2F0aW9uICYgU2F0ZWxsaXRlIEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY4NzUyKSldLFsiQ29tbXVuaWNhdGlvbnMgJiBOZXR3b3JraW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODg1Njg4KSldLFsiQ29tbXV0ZXIgRmVycnkiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MDUyMDkpKV0sWyJDb21tdXRpbmcgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNTY2NjEpKV0sWyJDb21wdXRlciBDb21tdW5pY2F0aW9ucyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYxNzI2MykpXSxbIkNvbXB1dGVyICYgRWxlY3Ryb25pY3MgUmV0YWlsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjI1MDI4KSldLFsiQ29tcHV0ZXIgSGFyZHdhcmUgJiBTb2Z0d2FyZSBSZXRhaWxlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0MTI2NjUpKV0sWyJDb21wdXRlciBIYXJkd2FyZSBDb21wb25lbnQgQXNzZW1ibHkiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyODIyMTcpKV0sWyJDb21wdXRlciBIYXJkd2FyZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY2NTQyMikpXSxbIkNvbXB1dGVyIFBlcmlwaGVyYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzk0OTQpKV0sWyJDb21wdXRlciBQcm9jZXNzaW5nIEhhcmR3YXJlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzI1ODMwKSldLFsiQ29tcHV0ZXIgUHJvZ3JhbW1pbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig1NzA3NCkpXSxbIkNvbnN1bWVyIFN1bmRyaWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODQ3Mzk4KSldLFsiQ29tcHV0ZXIgVHJhaW5pbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig4OTY0NSkpXSxbIkNvbmZlcmVuY2luZyBUb29scyAmIFN5c3RlbXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMzA4MzMpKV0sWyJDb250YWluZXJzL1BhY2thZ2luZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ4NTM0OSkpXSxbIkNvbnRyYWN0IERyaWxsaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjk2NTI1KSldLFsiQ29uc3RydWN0aW9uICYgRW5naW5lZXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MzU5NDcpKV0sWyJDb25zdHJ1Y3Rpb24gTWFjaGluZXJ5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjYyODE0KSldLFsiQ29uc3RydWN0aW9uIE1hdGVyaWFsIFByb2Nlc3NpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNzg1OTQpKV0sWyJDb25zdHJ1Y3Rpb24gTWF0ZXJpYWwgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTk2NykpXSxbIkNvbnN0cnVjdGlvbiBNYXRlcmlhbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MDE0ODIpKV0sWyJDb25zdHJ1Y3Rpb24gU3VwcGxpZXMgJiBGaXh0dXJlcyBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMjY4MzkpKV0sWyJDb25zdHJ1Y3Rpb24gU3VwcGxpZXMgJiBGaXh0dXJlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDgyNDI3MykpXSxbIkNvbnN0cnVjdGlvbiBTdXBwbGllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI3NzQ1NCkpXSxbIkNvbnN1bWVyIENyZWRpdCBDYXJkcyBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM5NzkwOCkpXSxbIkNvbnN1bWVyIERvY3VtZW50IE1hbmFnZW1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MzE5ODMpKV0sWyJDb25zdW1lciBFbGVjdHJvbmljIFdob2xlc2FsZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDkyNDM5MykpXSxbIkNvbnN1bWVyIEVsZWN0cm9uaWNzIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU1NTA4OCkpXSxbIkNvbnN1bWVyIEVsZWN0cm9uaWNzL0FwcGxpYW5jZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMjg0KSldLFsiQ29uc3VtZXIgR29vZHMgUmVudGFsIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzkwNzE2KSldLFsiQ29uc3VtZXIgTGVhc2luZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM5NDY2NikpXSxbIkNvbnN1bWVyIExlbmRpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigzMTkzOTMpKV0sWyJDb25zdW1lciBQdWJsaXNoaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTY5MjkxKSldLFsiQ29uc3VtZXIgUmVwYWlyIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzIyNTI5KSldLFsiQ29udGFpbmVyICYgUGFja2FnaW5nIE1hdGVyaWFsIFdob2xlc2FsZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM2OTQzNikpXSxbIkNvbnRlbnQgJiBTaXRlIE1hbmFnZW1lbnQgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2OTc5MzQpKV0sWyJDb29raWUsIENyYWNrZXIgJiBQYXN0YSBNYW51ZmFjdHVyaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzIzMjgyKSldLFsiQ29wcGVyIE9yZSAgTWluaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjIyNzU5KSldLFsiQ29weXJpZ2h0IE1hbmFnZW1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMjQ0MDYpKV0sWyJDb3Jwb3JhdGUgQWNjb3VudGluZyBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI3MjIzOSkpXSxbIkNvcnBvcmF0ZSBGaW5hbmNpYWwgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNTA3NDMpKV0sWyJDb3NtZXRpY3MgJiBQZXJmdW1lcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc0Mzc3OCkpXSxbIkNvdXJpZXIgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MjUxNzgpKV0sWyJDcmFmdCAmIE1pY3JvIEJyZXdlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MDk5ODIpKV0sWyJDcmVkaXQgVW5pb25zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDc0NzI4KSldLFsiQ3J1aXNlIExpbmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzU5NTMwKSldLFsiQ3V0bGVyeSAmIEZsYXR3YXJlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTY1ODgzKSldLFsiRGFpcnkgUHJvZHVjdHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3ODkwMTUpKV0sWyJEYXRhIFByb2Nlc3NpbmcgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4ODQ3ODApKV0sWyJEZWVwIFNlYSBGcmVpZ2h0IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODI0NDAzKSldLFsiRGVwYXJ0bWVudCBTdG9yZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0MTUxMDUpKV0sWyJEZXBhcnRtZW50L1NwZWNpYWx0eSBSZXRhaWwgU3RvcmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDM2OTcwKSldLFsiRGVzaWduIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzAyMjA2KSldLFsiRGlhZ25vc3RpYyAmIFRlc3RpbmcgU3Vic3RhbmNlcyBNYW51ZmFjdHVyZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTg4MTIxKSldLFsiRGlhZ25vc3RpYyAmIFRlc3RpbmcgU3Vic3RhbmNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU3ODU3MSkpXSxbIkRpYW1vbmQgTWluaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTUyMDg5KSldLFsiRGlnaXRhbCBNZWRpYSBBZ2VuY2llcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEzNzM3NykpXSxbIkRpZ2l0YWwgUHVibGlzaGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQzNjQ4MCkpXSxbIkRpcmVjdCBNYXJrZXRpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNTE0OTYpKV0sWyJEaXJlY3RvcnkgUHVibGlzaGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg2NTAzMSkpXSxbIkRpc2NvdW50IFN0b3JlcyB3aXRoIGdyb2NlcmllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYzNzE4NCkpXSxbIkRpc2NvdW50IFN0b3JlcyB3aXRob3V0IGdyb2NlcmllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc5NTEyNCkpXSxbIkRpc2NvdW50IFN0b3JlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDUxODExNykpXSxbIkRpc3BsYXkgU2NyZWVucyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI5OTgyNCkpXSxbIkRpc3RpbGxlcmllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEzMDIwKSldLFsiRGlzdGlsbGVycyAmIFdpbmVyaWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTU4MDk1KSldLFsiRGl2ZXJzaWZpZWQgQ2hlbWljYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODgyOTE5KSldLFsiRGl2ZXJzaWZpZWQgSW52ZXN0bWVudCBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY2OTE4NSkpXSxbIkRpdmVyc2lmaWVkIFJFSVRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzYwMDYpKV0sWyJEaXZlcnNpZmllZCBUcmFkaW5nICYgRGlzdHJpYnV0aW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTAzNzMxKSldLFsiRG9jdG9yJ3MgT2ZmaWNlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODMyNTYyKSldLFsiRG9sbHMgJiBTdHVmZmVkIFRveXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MjQ1NykpXSxbIkRvb3JzICYgV2luZG93IEZyYW1lcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE4MjE0MykpXSxbIkRydWcgRGVsaXZlcnkgU3lzdGVtcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU2MTA2MCkpXSxbIkRydWcgUmV0YWlsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTU5MjA2KSldLFsiRHJ1Z3N0b3JlIENoYWlucyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg5Njc3MikpXSxbIkUtY29tbWVyY2UgJiBBdWN0aW9uIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDcwMTA1KSldLFsiRWR1Y2F0aW9uICYgVHJhaW5pbmcgSW5mb3JtYXRpb24gUHJvdmlkZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjQzMDgyKSldLFsiRWR1Y2F0aW9uYWwgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNDQyNjApKV0sWyJFbGVjdHJpYyBDb25zdHJ1Y3Rpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNzQ3ODIpKV0sWyJFbGVjdHJpYyBFcXVpcG1lbnQgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzg3MTcwKSldLFsiRWxlY3RyaWMgVXRpbGl0aWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODExODcwKSldLFsiRWxlY3RyaWMgVXRpbGl0aWVzOiBDZW50cmFsIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzQ2NzExKSldLFsiRWxlY3RyaWNhbCAoQWx0ZXJuYXRpdmUpIFZlaGljbGVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTk5MDE0KSldLFsiRWxlY3RyaWNhbCBDb21wb25lbnRzICYgRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDYxMjI3KSldLFsiRWxlY3RyaWNhbCBNZWFzdXJpbmcgJiBUZXN0aW5nIEluc3RydW1lbnRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDE2NTM3KSldLFsiRWxlY3RyaWNhbCBQcm9kdWN0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYxNDQ0MCkpXSxbIkVsZWN0cm9uIFR1YmVzICYgSW5zdWxhdG9ycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMyMTQ2NSkpXSxbIkVsZWN0cm9uaWMgQ29tcG9uZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzY4NTYwKSldLFsiRWxlY3Ryb25pYyBDb21wb25lbnRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDQ5NDE5KSldLFsiRWxlY3Ryb25pYyBFcXVpcG1lbnQgJiBQYXJ0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE1NDA0NykpXSxbIkVsZWN0cm9uaWMgRXF1aXBtZW50cyAmIFBhcnRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzczMTQ0KSldLFsiRWxlY3Ryb25pYyBFcXVpcG1lbnQvSW5zdHJ1bWVudHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzOTYzMTYpKV0sWyJFbGVjdHJvbmljIFByb2R1Y3Rpb24gRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODk0NzM3KSldLFsiRWxlY3Ryb25pYyBSZXBhaXIgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NTQzMikpXSxbIkVsZWN0cm9uaWNzIERpc3RyaWJ1dG9ycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEwMjI0NykpXSxbIkVsZWN0cm9uaWNzL0FwcGxpYW5jZSBTdG9yZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NzcwMDkpKV0sWyJFbGVjdHJvbmljcy9BcHBsaWFuY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjYwMDM3KSldLFsiRWxldmF0b3IgJiBDb252ZXlpbmcgRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTIyNDU5KSldLFsiRW1wbG95bWVudCBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ4NTc5MCkpXSxbIkVuZXJneSBEcmlua3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNjc3NjApKV0sWyJFbmdpbmUgJiBQb3dlcnRyYWluIFN5c3RlbXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyOTczMDQpKV0sWyJFbmdpbmVlcmluZyAmIENvbnN0cnVjdGlvbiIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIyMzI2MikpXSxbIkVudGVycHJpc2UgU29mdHdhcmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NzQ0ODEpKV0sWyJFbnRlcnRhaW5tZW50IFByb2R1Y3Rpb24gRXF1aXBtZW50ICYgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMTg3NjcpKV0sWyJFbnRlcnRhaW5tZW50IFByb2R1Y3Rpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NTgwMTEpKV0sWyJFbnZpcm9ubWVudGFsIEJpb3RlY2hub2xvZ3kiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMDUyMDkpKV0sWyJFbnZpcm9ubWVudGFsIENvbnN1bHRhbmN5IFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTgwNjcyKSldLFsiRW52aXJvbm1lbnRhbCBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMwNzAxNykpXSxbIkVudmlyb25tZW50YWwgU2VydmljZXMgJiBFcXVpcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2OTAwOTApKV0sWyJFcG94eSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg3MzQwMykpXSxbIkV0aGFub2wgRnVlbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NTA2MjMpKV0sWyJFeGNoYW5nZSBUcmFkZWQgRnVuZCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU0ODc1MykpXSxbIkV4Y2hhbmdlIFRyYWRlZCBGdW5kcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIyMjUzMikpXSxbIkV4ZWN1dGl2ZSBTZWFyY2ggU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyOTkzMTYpKV0sWyJFeGhpYml0aW9uICYgQ29uZmVyZW5jZSBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDkxOTE3NykpXSxbIkV4cGxvc2l2ZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzOTEyNTEpKV0sWyJGYWJyaWMgRHllaW5nICYgRmluaXNoaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTgwNjU4KSldLFsiRmFjdG9yaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzUyNDMwKSldLFsiRmFzaGlvbiBFeWV3ZWFyIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzQ1NTE2KSldLFsiRmVydGlsaXplciIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYzNjA2NCkpXSxbIkZpYmVyIE9wdGljIENhYmxlIE1hbnVmYWN0dXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMTQ4NSkpXSxbIkZpbmFuY2U6IENvbnN1bWVyIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjY1OTA1KSldLFsiRmluYW5jZS9SZW50YWwvTGVhc2luZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk5MjI5NikpXSxbIkZpbmFuY2lhbCBDb25nbG9tZXJhdGVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTAwMjQ3KSldLFsiRmluYW5jaWFsICYgQ29tbW9kaXR5IE1hcmtldCBPcGVyYXRvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5MjA2NDIpKV0sWyJGaW5hbmNpYWwgSW5mb3JtYXRpb24gUHJvdmlkZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjE0NDMzKSldLFsiRmluYW5jaWFsIFB1Ymxpc2hpbmcvU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5MzcyNjQpKV0sWyJGaW5hbmNpYWwgVGVjaG5vbG9neSAmIEluZnJhc3RydWN0dXJlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDQzNDk2KSldLFsiRmlzaGluZyAmIEZhcm1pbmcgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjE2MTg5KSldLFsiRmlzaGluZyAmIEZhcm1pbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigzMDE2OTUpKV0sWyJGbG9vciBDb3ZlcmluZyBSZXRhaWxlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0ODU0MjkpKV0sWyJGbG9vcmluZyAmIEludGVyaW9yIFRpbGUgTWFudWZhY3R1cmVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDgxODYyOCkpXSxbIkZsb3Jpc3RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzg5NDg3KSldLFsiRmxvdXIgTWlsbGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM5ODIzNykpXSxbIkZsdWlkIFBvd2VyIEN5bGluZGVyICYgQWN0dWF0b3JzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDc1MjI1KSldLFsiRm9vZCBEaXN0cmlidXRvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2MzI4NDcpKV0sWyJGb29kIEluZ3JlZGllbnRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDAzOTQzKSldLFsiRm9vZCBNYXJrZXRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTE0Mzg3KSldLFsiRm9vZCBQcm9jZXNzaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTQ2MDQzKSldLFsiRm9vZCBSZXRhaWwiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMzE0MzQpKV0sWyJGb29kIFJldGFpbCAmIERpc3RyaWJ1dGlvbiIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg2MzY2MSkpXSxbIkZvb2QgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTc2ODIyKSldLFsiRm9vZDogTWFqb3IgRGl2ZXJzaWZpZWQiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNTc3MDkpKV0sWyJGb29kOiBNZWF0L0Zpc2gvRGFpcnkiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0MjQ2ODUpKV0sWyJGb29kOiBTcGVjaWFsdHkvQ2FuZHkiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5MzE4ODMpKV0sWyJGb290d2VhciBSZXRhaWxlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5MTUwMzcpKV0sWyJGb290d2VhciBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NzMyOTUpKV0sWyJGb290d2VhciIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY5ODA1NykpXSxbIkZvcmVzdCAmIFdvb2QgUHJvZHVjdHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MDgwMDgpKV0sWyJGb3Jlc3QgTnVyc2VyaWVzICYgR2F0aGVyaW5nIG9mIEZvcmVzdCBQcm9kdWN0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ2NDIzOSkpXSxbIkZvcmVzdCBQcm9kdWN0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM0NDY1MykpXSxbIkZvcmVzdCBTdXBwb3J0ICYgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MzE4NzUpKV0sWyJGb3NzaWwgRnVlbCBFbGVjdHJpYyBVdGlsaXRpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNDk4MikpXSxbIkZvc3NpbCBGdWVsIElQUHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxOTM3MTEpKV0sWyJGcmVpZ2h0IExvZ2lzdGljcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk2OTIzNykpXSxbIkZyZWlnaHQgVHJ1Y2tpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNDI3MDYpKV0sWyJGcm96ZW4gRm9vZCBNYW51ZmFjdHVyaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzgyOTY0KSldLFsiRnJ1aXQgJiBWZWdldGFibGUgUHJvY2Vzc2luZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDkxNjYyKSldLFsiRnJ1aXQgRHJpbmtzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzc0MjE2KSldLFsiRnVuZXJhbCBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg4MTkxOSkpXSxbIkZ1cm5pdHVyZSBSZXRhaWxlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4Mzg1KSldLFsiRnVybml0dXJlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjY2NjcxKSldLFsiR2FtYmxpbmcgJiBHYW1pbmcgTWFjaGluZSBNYW51ZmFjdHVyZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjIwMTU2KSldLFsiR2FtZXMsIFRveXMgJiBDaGlsZHJlbiBWZWhpY2xlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU4NDg0MSkpXSxbIkdhbWluZyBNYWNoaW5lIE9wZXJhdG9ycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ4NTkzNSkpXSxbIkdhcyBEaXN0cmlidXRvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMzc5OTYpKV0sWyJHYXMgRHJpbGxpbmcgLSBPbnNob3JlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTI1MTExKSldLFsiR2Fzb2xpbmUgc3RhdGlvbnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NjczMTYpKV0sWyJHZW5lcmFsIEVkdWNhdGlvbiBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg1NTE3NykpXSxbIkdlbmVyYWwgR292ZXJubWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI0MTk5NSkpXSxbIkdlbmVyaWMgUGhhcm1hY2V1dGljYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzQ2MTQ2KSldLFsiR2VvcGh5c2ljYWwgU3VydmV5aW5nICYgTWFwcGluZyBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDgyNDEyMykpXSxbIkdpZnQsIE5vdmVsdHkgJiBTb3V2ZW5pciBTdG9yZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNTMyNDEpKV0sWyJHbGFzcyBDb250YWluZXJzICYgUGFja2FnaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjM2MjIxKSldLFsiR2xhc3NlcywgU3BlY3RhY2xlcyAmIENvbnRhY3QgbGVuc2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjA5NDYxKSldLFsiR29sZCBNaW5pbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig2ODM1KSldLFsiR29sZCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU2NTI5NCkpXSxbIkdvbGYgQ291cnNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY5ODMyNSkpXSxbIkdyYWluIChDcm9wKSBQcm9kdWN0aW9uIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzUwMjc3KSldLFsiR3JvdW5kIEZyZWlnaHQgJiBMb2dpc3RpY3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzMjkyOTEpKV0sWyJHdWlkZWQgVG91ciBPcGVyYXRvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1ODQzMykpXSxbIkd5bXMsIEZpdG5lc3MgYW5kIFNwYSBDZW50ZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzE3NzgxKSldLFsiSGFpciBBY2Nlc3NvcmllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEzNjk0NikpXSxbIkhhbGFsIEFuaW1hbCBTbGF1Z2h0ZXJpbmcgJiBQcm9jZXNzaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODI4NjQxKSldLFsiSGFuZGJhZ3MgJiBMdWdnYWdlIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE0NDAxKSldLFsiSGFuZGJhZ3MgJiBMdWdnYWdlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDY2NDc5KSldLFsiSGVhbHRoIEZvb2QgU3RvcmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTAwOTU2KSldLFsiSGVhbHRoIEluc3VyYW5jZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM1MDA5MCkpXSxbIkhlYWx0aGNhcmUgRmFjaWxpdGllcyAmIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjkzMTg1KSldLFsiSGVhbHRoY2FyZSBSRUlUcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE2ODcyOCkpXSxbIkhlYXRpbmcsIFZlbnRpbGF0aW9uICYgQWlyIENvbmRpdGlvbmluZyBTeXN0ZW1zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTM5OTIyKSldLFsiSGVhdnkgQnVzZXMgJiBDb2FjaGVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjYyOTgzKSldLFsiSGVhdnkgRWxlY3RyaWNhbCBFcXVpcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NTgxMjcpKV0sWyJIZWF2eSBNYWNoaW5lcnkgJiBWZWhpY2xlcyBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MTgwNDQpKV0sWyJIZWF2eSBNYWNoaW5lcnkgJiBWZWhpY2xlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM4MTYwNCkpXSxbIkhlYXZ5IE1vdG9ycyAmIEdlbmVyYXRvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNTA1MikpXSxbIkhlYXZ5IFRydWNrcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk5ODA2NykpXSxbIkhlZGdlIEZ1bmRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODk4MzM2KSldLFsiSGlnaHdheSAmIEJyaWRnZSBDb25zdHJ1Y3Rpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NzM3NjIpKV0sWyJIaWdod2F5IE9wZXJhdG9ycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc3Mjg4NikpXSxbIkhpZ2h3YXlzICYgUmFpbCBUcmFja3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MTM3NzYpKV0sWyJIb2xkaW5nIENvbXBhbmllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDczMDQ5NikpXSxbIkhvbWUgQXVkaW8iLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NzQxMDUpKV0sWyJIb21lIERlY29yIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI2NTQyKSldLFsiSG9tZSBGdXJuaXNoaW5ncyBSZXRhaWxlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyOTEyMDMpKV0sWyJIb21lIEZ1cm5pc2hpbmdzIFdob2xlc2FsZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ2MTQ1MikpXSxbIkhvbWUgRnVybmlzaGluZ3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3OTc4NikpXSxbIkhvbWUgSGVhbHRoY2FyZSBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI5Njc4MSkpXSxbIkhvbWUgSW1wcm92ZW1lbnQgQ2hhaW5zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTE2Mjg3KSldLFsiSG9tZSBJbXByb3ZlbWVudCBQcm9kdWN0cyAmIFNlcnZpY2VzIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY2MTE0NykpXSxbIkhvbWVidWlsZGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg1MjcyNCkpXSxbIkhvcnNlICYgRG9nIFJhY2UgVHJhY2tzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTQ1OTI1KSldLFsiSG9zaWVyeSAmIFNvY2siLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMjQ0MDIpKV0sWyJIb3NwaXRhbC9OdXJzaW5nIE1hbmFnZW1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzODA5NDQpKV0sWyJIb3NwaXRhbGl0eSBSRUlUcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU0OTEzNykpXSxbIkhvc3BpdGFscywgQ2xpbmljcyAmIFByaW1hcnkgQ2FyZSBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc3MjU0OCkpXSxbIkhvdGVscyAmIE1vdGVscyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg4MzYyMCkpXSxbIkhvdGVscywgTW90ZWxzICYgQ3J1aXNlIExpbmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzk5NzkxKSldLFsiSG90ZWxzL1Jlc29ydHMvQ3J1aXNlIGxpbmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTY0Mjc3KSldLFsiSG91c2Vob2xkIEFwcGxpYW5jZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MTg2MDcpKV0sWyJIb3VzZWhvbGQgRWxlY3Ryb25pY3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNzU0OTgpKV0sWyJIb3VzZWhvbGQgUHJvZHVjdHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2OTkyODkpKV0sWyJIb3VzZWhvbGQvUGVyc29uYWwgQ2FyZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI5MzcwNykpXSxbIkh1bWFuIFJlc291cmNlcyBDb25zdWx0aW5nIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTk1OTk2KSldLFsiSHlkcm9nZW4gRnVlbCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM0NzI0OSkpXSxbIkh5ZHJvcG93ZXIgRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODg3ODM3KSldLFsiSVQgU2VydmljZXMgJiBDb25zdWx0aW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTc0NTQzKSldLFsiSW5kZXBlbmRlbnQgUG93ZXIgUHJvZHVjZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTcyMjk1KSldLFsiSW5kdXN0cmlhbCAgUmVhbCBFc3RhdGUgRGV2ZWxvcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxOTU4NzgpKV0sWyJJbmR1c3RyaWFsIEJpb3RlY2hub2xvZ3kgQ2hlbWljYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjUwMTAzKSldLFsiSW5kdXN0cmlhbCBDbG90aGluZyAmIFVuaWZvcm1zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODE3OTUxKSldLFsiSW5kdXN0cmlhbCBDb25nbG9tZXJhdGVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTQ4MzEwKSldLFsiSW5kdXN0cmlhbCBFbGVjdHJpY2FsIFN3aXRjaGdlYXIiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NjI2NjgpKV0sWyJJbmR1c3RyaWFsIEdhcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIyNjY3MCkpXSxbIkluZHVzdHJpYWwgTWFjaGluZXJ5ICYgRXF1aXBtZW50IFdob2xlc2FsZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc2Njc3NykpXSxbIkluZHVzdHJpYWwgTWFjaGluZXJ5ICYgRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjU3MzcxKSldLFsiSW5kdXN0cmlhbCBNYWNoaW5lcnkiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0OTQ1ODgpKV0sWyJJbmR1c3RyaWFsIE1vdWxkcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI3NjI0NykpXSxbIkluZHVzdHJpYWwgUGFydHMgJiBDb21wb25lbnRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjQxNjkpKV0sWyJJbmR1c3RyaWFsIFBsYW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTE3MjY0KSldLFsiSW5kdXN0cmlhbCBQcm9jZXNzIEZ1cm5hY2UgJiBPdmVucyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMyMjA4MikpXSxbIkluZHVzdHJpYWwgUkVJVHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMDgzNjEpKV0sWyJJbmR1c3RyaWFsIFJ1YmJlciBQcm9kdWN0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDczNTcyMykpXSxbIkluZHVzdHJpYWwgU3BlY2lhbHRpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMTQzOTYpKV0sWyJJbmR1c3RyaWFsIFZhbHZlIE1hbnVmYWN0dXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNDkyNDkpKV0sWyJJbmZvcm1hdGlvbiBUZWNobm9sb2d5IFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODk5MDgwKSldLFsiSW5sYW5kIFdhdGVyIEZyZWlnaHQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0MjA4NCkpXSxbIklucHV0IERldmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0MDM0NzQpKV0sWyJJbnN1cmFuY2UgLSBBdXRvbW9iaWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDY3NTUyKSldLFsiSW5zdXJhbmNlIEJyb2tlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4NzExNTYpKV0sWyJJbnN1cmFuY2UgQnJva2Vycy9TZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY2NDY3MCkpXSxbIkludGVncmF0ZWQgIE1pbmluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDcxNTEwNykpXSxbIkludGVncmF0ZWQgQ2lyY3VpdHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4ODZlMykpXSxbIkludGVncmF0ZWQgTG9naXN0aWNzIE9wZXJhdG9ycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQxNDg3MykpXSxbIkludGVncmF0ZWQgT2lsIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjYyMDQ1KSldLFsiSW50ZWdyYXRlZCBPaWwgJiBHYXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5OTkxMzEpKV0sWyJJbnRlZ3JhdGVkIFRlbGVjb21tdW5pY2F0aW9ucyBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc0NTU5MCkpXSxbIkludGVyLWRlYWxlciBCcm9rZXIiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1OTgwODMpKV0sWyJJbnRlcmlvciBEZXNpZ24gU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNjc3MjIpKV0sWyJJbnRlcm5hdGlvbmFsIFRyYWRlIEZpbmFuY2luZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDgyNzQ1NikpXSxbIkludGVybmV0ICYgTWFpbCBPcmRlciBEZXBhcnRtZW50IFN0b3JlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDgyMDQ2NCkpXSxbIkludGVybmV0ICYgTWFpbCBPcmRlciBEaXNjb3VudCBTdG9yZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3NzEyOTIpKV0sWyJJbnRlcm5ldCBHYW1pbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigzMDY4KSldLFsiSW50ZXJuZXQgUmV0YWlsIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjc1MDEyKSldLFsiSW50ZXJuZXQgU2VjdXJpdHkgJiBUcmFuc2FjdGlvbnMgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3OTc5OTcpKV0sWyJJbnRlcm5ldCBTZXJ2aWNlIFByb3ZpZGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDkwNTU5MykpXSxbIkludGVybmV0IFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjc0NzI5KSldLFsiSW50ZXJuZXQgU29mdHdhcmUvU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NjM1MjMpKV0sWyJJbnZlc3RtZW50IEJhbmtzL0Jyb2tlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NzM3MjQpKV0sWyJJbnZlc3RtZW50IEJhbmtlcnMvQnJva2Vycy9TZXJ2aWNlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTg2OTE0KSldLFsiSW52ZXN0bWVudCBCYW5raW5nICYgQnJva2VyYWdlIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTEyNjU4KSldLFsiSW52ZXN0bWVudCBCYW5raW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDc1MTc0KSldLFsiSW52ZXN0bWVudCBNYW5hZ2VtZW50ICYgRnVuZCBPcGVyYXRvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1OTE5NjIpKV0sWyJJbnZlc3RtZW50IE1hbmFnZW1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0MDkyNzIpKV0sWyJJbnZlc3RtZW50IE1hbmFnZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzc5MDY1KSldLFsiSW52ZXN0bWVudCBTdXBwb3J0IFRvb2xzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzU2MTM2KSldLFsiSW52ZXN0bWVudCBUcnVzdHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3ODQzMzIpKV0sWyJJbnZlc3RtZW50IFRydXN0cy9NdXR1YWwgRnVuZHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyOTU5NzIpKV0sWyJJcm9uIE9yZSBNaW5pbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MDk3OTQpKV0sWyJJcm9uLCBTdGVlbCBNaWxscyAmIEZvdW5kcmllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI2MzQyMSkpXSxbIkplYW5zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTYxODQwKSldLFsiSmV3ZWxyeSAmIFdhdGNoIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ1NDk4MykpXSxbIkpld2VscnkiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NjAyOTQpKV0sWyJKdXZlbmlsZSBGdXJuaXR1cmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2Njk2OTEpKV0sWyJLaXRjaGVuIEFwcGxpYW5jZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NTcyNDIpKV0sWyJLaXRjaGVuIENhYmluZXRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDIyNjE5KSldLFsiS25pdHdlYXIiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1ODE2NzkpKV0sWyJMTkcgVHJhbnNwb3J0YXRpb24gJiBTdG9yYWdlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODYzOTE2KSldLFsiTGFuZCBEaXZpc2lvbiAmIFN1YmRpdmlzaW9uIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDU2NTM3KSldLFsiTGFwdG9wICYgRGVza3RvcCBDb21wdXRlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1NTIyNzMpKV0sWyJMYXNlciBFcXVpcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2MDk2NjYpKV0sWyJMYXVuZHJ5IFN1cHBsaWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDcxOTgxKSldLFsiTGVhZCBPcmUgTWluaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDU4ODg4KSldLFsiTGVhdGhlciBHb29kcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDkwODA0MykpXSxbIkxlZ2FsIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODY2MTc2KSldLFsiTGVpc3VyZSAmIFJlY3JlYXRpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbig3NTIyNikpXSxbIkxlaXN1cmUgUHJvZHVjdHMgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjE0MzMwKSldLFsiTGlmZSAmIEhlYWx0aCBJbnN1cmFuY2UiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0ODc2NjApKV0sWyJMaWZlICYgSGVhbHRoIFJlaW5zdXJhbmNlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDkzMjY4KSldLFsiTGlmZS9IZWFsdGggSW5zdXJhbmNlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjQzMzY1KSldLFsiTGlmZSBJbnN1cmFuY2UiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5OTQxOTIpKV0sWyJMaWdodCBUcnVja3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3Mjg2NDkpKV0sWyJMaWdodGluZyBFcXVpcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxOTE2MzApKV0sWyJMaWdodGluZyBGaXh0dXJlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ3OTA5MSkpXSxbIkxpbmdlcmllIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjg0OTAxKSldLFsiTG9jYWwgQWdlbmNpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NDM0MykpXSxbIkxvY29tb3RpdmUgRW5naW5lcyAmIFJvbGxpbmcgU3RvY2siLCgpPT50LnQobnVsbCx2b2lkIDAsbigyOTkxNzUpKV0sWyJMb2dnaW5nICYgU2F3bWlsbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5ODAyNDYpKV0sWyJMb3R0ZXJ5IE9wZXJhdG9ycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDczODQwNykpXSxbIkx1eHVyeSBBY2Nlc3NvcmllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY3NTEwKSldLFsiTHV4dXJ5IENhciBEZWFsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDA5MzU3KSldLFsiTWFjaGluZSBUb29scyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc0NTAwMykpXSxbIk1hZ2F6aW5lIFB1Ymxpc2hpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMjc2MzMpKV0sWyJNYWludGVuYW5jZSAmIFJlcGFpciBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk4MDc4NikpXSxbIk1ham9yIEJhbmtzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTQzNzc0KSldLFsiTWFqb3IgUGhhcm1hY2V1dGljYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTE3NTc4KSldLFsiTWFqb3IgVGVsZWNvbW11bmljYXRpb25zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjczMTAzKSldLFsiTWFsdCBwcm9kdWNlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4NDIzMTIpKV0sWyJNYW5hZ2VkIEhlYWx0aCBjYXJlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTI5MzQ3KSldLFsiTWFuYWdlZCBIZWFsdGggQ2FyZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDgxMTQ4MykpXSxbIk1hbmFnZW1lbnQgQ29uc3VsdGluZyBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEyMjEwMikpXSxbIk1hcmluYXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMzcxNTIpKV0sWyJNYXJpbmUgQ2FyZ28gSGFuZGxpbmcgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMzU5OTQpKV0sWyJNYXJpbmUgRnJlaWdodCAmIExvZ2lzdGljcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY5MDM4OCkpXSxbIk1hcmluZSBMb2dpc3RpY3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3NjQwOTkpKV0sWyJNYXJpbmUgUGFzc2VuZ2VyIFRyYW5zcG9ydGF0aW9uIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjk0ODQ5KSldLFsiTWFyaW5lIFBvcnQgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MTE0NTIpKV0sWyJNYXJpbmUgU2hpcHBpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MDc1NjEpKV0sWyJNYXJrZXQgUmVzZWFyY2giLCgpPT50LnQobnVsbCx2b2lkIDAsbig4NDE3NjEpKV0sWyJNYXJrZXRpbmcgQ29uc3VsdGluZyBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg5NzM5MykpXSxbIk1lZGlhIEJ1eWluZyBBZ2VuY3kiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNjYwMjApKV0sWyJNZWRpYSBDb25nbG9tZXJhdGVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjUyMjAzKSldLFsiTWVkaWNhbCAmIERpYWdub3N0aWMgTGFib3JhdG9yaWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDMyNjYyKSldLFsiTWVkaWNhbCBEZXZpY2VzICYgSW1wbGFudHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4NzA1NTkpKV0sWyJNZWRpY2FsIERpYWdub3N0aWMgJiBUZXN0aW5nIEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY1OTk3MSkpXSxbIk1lZGljYWwgRGlzdHJpYnV0b3JzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTA3ODUpKV0sWyJNZWRpY2FsIEVxdWlwbWVudCBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MzI4NTcpKV0sWyJNZWRpY2FsIEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc5MjIwMCkpXSxbIk1lZGljYWwgRXF1aXBtZW50LCBTdXBwbGllcyAmIERpc3RyaWJ1dGlvbiIsKCk9PnQudChudWxsLHZvaWQgMCxuKDcyMjU1NikpXSxbIk1lZGljYWwgSW1hZ2luZyBTeXN0ZW1zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzcxNDU3KSldLFsiTWVkaWNhbCBNb25pdG9yaW5nIFN5c3RlbXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NjY3NDgpKV0sWyJNZWRpY2FsIFByb3N0aGV0aWNzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzc3NzgpKV0sWyJNZWRpY2FsIFNvZnR3YXJlICYgVGVjaG5vbG9neSBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQzMzI2NCkpXSxbIk1lZGljYWwgU3BlY2lhbHRpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNzYzMTYpKV0sWyJNZWRpY2FsIFN1cHBsaWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjYwNDMyKSldLFsiTWVkaWNhbC9OdXJzaW5nIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTk5MTUwKSldLFsiTWVtb3J5IENoaXBzIChSQU0pIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjAzODMpKV0sWyJNZW4ncyBBcHBhcmVsIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk5NjY0OSkpXSxbIk1lbidzIENsb3RoaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzk2MTApKV0sWyJNZW4ncyBGb290d2VhciIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc5NjA4MikpXSxbIk1lcmNoYW50IEJhbmtzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzA2NjYpKV0sWyJNZXRhbCBDb250YWluZXJzICYgUGFja2FnaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTA5MzcyKSldLFsiTWV0YWwgRmFicmljYXRpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MzY3OTUpKV0sWyJNZXRhbCBNZXJjaGFudCBXaG9sZXNhbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU1OTc2MCkpXSxbIk1ldGFsIFNlcnZpY2UgQ2VudGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIyOTU0MCkpXSxbIk1ldGFsbGljIFJvbGxpbmcgJiBEcmF3aW5nIFByb2R1Y3RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTYyNDI3KSldLFsiTWljcm9maW5hbmNpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig2MDYyNjYpKV0sWyJNaW5pbmcgTWFjaGluZXJ5ICYgRXF1aXBtZW50IE1hbnVmYWN0dXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MzgzMzApKV0sWyJNaW5pbmcgU3VwcG9ydCBBY3Rpdml0aWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDA0ODU2KSldLFsiTWluaW5nIFN1cHBvcnQgU2VydmljZXMgJiBFcXVpcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MTY4NDUpKV0sWyJNaXNjZWxsYW5lb3VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTU3MDIzKSldLFsiTWlzY2VsbGFuZW91cyBDb21tZXJjaWFsIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTMyOTg0KSldLFsiTWlzY2VsbGFuZW91cyBNYW51ZmFjdHVyaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTQ3NzE0KSldLFsiTW9iaWxlIEFwcGxpY2F0aW9uIFNvZnR3YXJlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjgyNTU3KSldLFsiTW9iaWxlIFBob25lIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYyNTQ1MykpXSxbIk1vYmlsZSBTeXN0ZW0gU29mdHdhcmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3NTAwMzMpKV0sWyJNb3J0Z2FnZSBSRUlUcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ5ODE1NCkpXSxbIk1vdG9yIFZlaGljbGVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzIwMDU4KSldLFsiTW90b3JjeWNsZSBEZWFsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDgwMDQ1KSldLFsiTW90b3JjeWNsZSBQYXJ0cyAmIEFjY2Vzc29yaWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTIyNjIpKV0sWyJNb3RvcmN5Y2xlcyAmIFNjb290ZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTQyNjgpKV0sWyJNb3ZpZSBUaGVhdGVycyAmIE1vdmllIFByb2R1Y3RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTg1ODQ1KSldLFsiTW92aWUsIFRWIFByb2R1Y3Rpb24gJiBEaXN0cmlidXRpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbigxOTI5MzEpKV0sWyJNb3ZpZXMvRW50ZXJ0YWlubWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM3MDEwKSldLFsiTXVsdGlsaW5lIEluc3VyYW5jZSAmIEJyb2tlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NzY1MTgpKV0sWyJNdWx0aWxpbmUgVXRpbGl0aWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTczMDczKSldLFsiTXVsdGktTGluZSBJbnN1cmFuY2UiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5MTM1NjEpKV0sWyJNdW5pY2lwYWxpdHkiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NDc2NTEpKV0sWyJNdXNldW1zICYgSGlzdG9yaWMgUGxhY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjQ0NTQ1KSldLFsiTXVzaWMsIE11c2ljIFZpZGVvIFByb2R1Y3Rpb24gJiBEaXN0cmlidXRpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbig2MjczNDApKV0sWyJNdXNpY2FsIEluc3RydW1lbnQgUmV0YWlsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTA4NzY5KSldLFsiTXVzaWNhbCBJbnN0cnVtZW50cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDcxNjY2OSkpXSxbIk11dHVhbCBGdW5kcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEwMDAzKSldLFsiTmF0aW9uYWwgQWdlbmN5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTU2NDYyKSldLFsiTmF0aW9uYWwgQWdlbmNpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMzEzMzQpKV0sWyJOYXR1cmFsIEZhYnJpY3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMjgyMTEpKV0sWyJOYXR1cmFsIEdhcyBEaXN0cmlidXRpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMDU1MzIpKV0sWyJOYXR1cmFsIEdhcyBFeHBsb3JhdGlvbiAmIFByb2R1Y3Rpb24gLSBPZmZzaG9yZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIzNzM0OSkpXSxbIk5hdHVyYWwgR2FzIEV4cGxvcmF0aW9uICYgUHJvZHVjdGlvbiAtIE9uc2hvcmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NTMwMzApKV0sWyJOYXR1cmFsIEdhcyBQaXBlbGluZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEyNDk5OCkpXSxbIk5hdHVyYWwgR2FzIFV0aWxpdGllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI1ODc4NSkpXSxbIk5ldHdvcmsgRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzYzMDgzKSldLFsiTmV3IENhciBEZWFsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjI5NTU2KSldLFsiTmV3cyBBZ2VuY2llcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM1MjI4NSkpXSxbIk5ld3NwYXBlciAmIE1hZ2F6aW5lIFByaW50aW5nIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjIxMzcxKSldLFsiTmV3c3BhcGVyIFB1Ymxpc2hpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigxODY3KSldLFsiTmV3c3ByaW50IE1pbGxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODE5NDczKSldLFsiTmlja2VsIE9yZSBNaW5pbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig2MDY4NTQpKV0sWyJOb24tQWxjb2hvbGljIEJldmVyYWdlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk4NzcxNSkpXSxbIk5vbi1QYXBlciBDb250YWluZXJzICYgUGFja2FnaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTQyMjM1KSldLFsiTm9uLWZlcnJvdXMgTWV0YWwgTWluaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTg5OTQwKSldLFsiTm9uLWZlcnJvdXMgTWV0YWwgUHJvY2Vzc2luZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDgxOTU2NikpXSxbIk51Y2xlYXIgSVBQcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ0MjQxMykpXSxbIk51Y2xlYXIgVXRpbGl0aWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjQ0ODU2KSldLFsiTnVyc2VyeSAmIEdhcmRlbiBDZW50ZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzA2NjcxKSldLFsiT2ZmaWNlIEVxdWlwbWVudCAmIFN1cHBsaWVzIFJlbnRhbCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQyNDg2MSkpXSxbIk9mZmljZSBFcXVpcG1lbnQgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTM3NTI1KSldLFsiT2ZmaWNlIEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEyODc0KSldLFsiT2ZmaWNlIEVxdWlwbWVudC9TdXBwbGllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg0OTExOCkpXSxbIk9mZmljZSBGdXJuaXR1cmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3OTc3NDgpKV0sWyJPZmZpY2UgUkVJVHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5Mjc3MTIpKV0sWyJPZmZpY2UgUmVhbCBFc3RhdGUgRGV2ZWxvcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0MzM5MTEpKV0sWyJPZmZpY2UgUmVhbCBFc3RhdGUgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MDYzNDkpKV0sWyJPZmZpY2UgU3VwcGxpZXMgJiBTdGF0aW9uZXJ5IFN0b3JlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk0MDExNSkpXSxbIk9mZmljZSBTdXBwbGllcyBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNzk1MDcpKV0sWyJPZmZpY2UgU3VwcGxpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4NTYzMikpXSxbIk9mZmljZSBUZWNobm9sb2d5IEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI5MDM3MCkpXSxbIk9pbCAmIEdhcyBEcmlsbGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY0NzQzOSkpXSxbIk9pbCAmIEdhcyBFeHBsb3JhdGlvbiBhbmQgUHJvZHVjdGlvbiIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE5NDQ1MCkpXSxbIk9pbCAmIEdhcyBQaXBlbGluZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyODM4ODUpKV0sWyJPaWwgJiBHYXMgUHJvZHVjdGlvbiIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM5MTcpKV0sWyJPaWwgJiBHYXMgUmVmaW5pbmcgYW5kIE1hcmtldGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDUwMzMxNykpXSxbIk9pbCAmIEdhcyBTdG9yYWdlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTIyNDkzKSldLFsiT2lsICYgR2FzIFRyYW5zcG9ydGF0aW9uIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODk2ODE5KSldLFsiT2lsIERyaWxsaW5nIC0gT2Zmc2hvcmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNzk0OTcpKV0sWyJPaWwgRHJpbGxpbmcgLSBPbnNob3JlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjk4MDUwKSldLFsiT2lsIEV4cGxvcmF0aW9uICYgUHJvZHVjdGlvbiAtIE9mZnNob3JlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODU3OTE4KSldLFsiT2lsIEV4cGxvcmF0aW9uICYgUHJvZHVjdGlvbiAtIE9uc2hvcmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MzcyMzApKV0sWyJPaWwgUGlwZWxpbmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMjg4NzkpKV0sWyJPaWwgUmVmaW5pbmcvTWFya2V0aW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzkyMDMyKSldLFsiT2lsIFJlbGF0ZWQgLSBTdXJ2ZXlpbmcgJiBNYXBwaW5nIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjY5MTU2KSldLFsiT2lsIFJlbGF0ZWQgRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTYxNjE1KSldLFsiT2lsIFJlbGF0ZWQgU2VydmljZXMgYW5kIEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIyMDUzKSldLFsiT2lsIFJlbGF0ZWQgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1NzMxNjcpKV0sWyJPaWxmaWVsZCBTZXJ2aWNlcy9FcXVpcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4ODU1NDYpKV0sWyJPbmxpbmUgSm9iIHBvcnRhbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNDAyMikpXSxbIk9wdGljYWwgR29vZHMgU3RvcmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzY4NDAxKSldLFsiT3JnYW5pYyAmIEVjb2xvZ2ljYWxseSBQcm9kdWNlZCBGYWJyaWMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MTMyMTgpKV0sWyJPcmdhbmljIEZlcnRpbGl6ZXIiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzMDE3MzEpKV0sWyJPdGhlciBDb25zdW1lciBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ2MzgwKSldLFsiT3RoZXIgQ29uc3VtZXIgU3BlY2lhbHRpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5MDc3NTApKV0sWyJPdGhlciBNZXRhbHMvTWluZXJhbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMDU4NzEpKV0sWyJPdGhlciBTcGVjaWFsdHkgUmV0YWlsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzY2Nzg5KSldLFsiT3RoZXIgVHJhbnNwb3J0YXRpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MTE1ODYpKV0sWyJPdXRkb29yIEFkdmVydGlzaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDMwNzk4KSldLFsiT3V0c291cmNpbmcgJiBTdGFmZmluZyBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI3Nzk0MikpXSxbIlBhY2thZ2VkIFNvZnR3YXJlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzkxMjcxKSldLFsiUGFpbnQgJiBDb2F0aW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTYzODE3KSldLFsiUGFwZXIgTWlsbHMgJiBQcm9kdWN0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM4OTIzNSkpXSxbIlBhcGVyIFBhY2thZ2luZyBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzMjY0NzcpKV0sWyJQYXBlciBQYWNrYWdpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MDM0NDYpKV0sWyJQYXBlciBQcm9kdWN0IFdob2xlc2FsZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU5Mjg0KSldLFsiUGFwZXIgUHJvZHVjdHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NDk5NjApKV0sWyJQYXJraW5nIExvdCBPcGVyYXRvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMTgzNTcpKV0sWyJQYXNzZW5nZXIgQ2FyIHJlbnRhbCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg4NDMzOCkpXSxbIlBhc3NlbmdlciBUcmFuc3BvcnRhdGlvbiwgR3JvdW5kICYgU2VhIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjA3NDI3KSldLFsiUGVuc2lvbiBGdW5kcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg4ODU2OCkpXSxbIlBlcnNvbmFsICYgQ2FyIExvYW5zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTg3MzUyKSldLFsiUGVyc29uYWwgQ2FyZSBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk1OTMzOCkpXSxbIlBlcnNvbmFsIExlZ2FsIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzA1NjA0KSldLFsiUGVyc29uYWwgTXVzaWMgUGxheWVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk1NjA2MCkpXSxbIlBlcnNvbmFsIFByb2R1Y3RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjUyNjczKSldLFsiUGVyc29uYWwgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NzIzOTkpKV0sWyJQZXJzb25uZWwgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5MjcyNikpXSxbIlBlc3QgQ29udHJvbCBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI3NjkwMCkpXSxbIlBlc3RpY2lkZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU4NzYwMikpXSxbIlBldCAmIFBldCBTdXBwbGllcyBSZXRhaWxlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNDIwMTMpKV0sWyJQZXQgRm9vZCBNYW51ZmFjdHVyaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTU5MDMxKSldLFsiUGV0cm9sZXVtIFByb2R1Y3QgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjcxOTIxKSldLFsiUGV0cm9sZXVtIFJlZmluaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjg2Nzg3KSldLFsiUGhhcm1hY2V1dGljYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjk5NzIzKSldLFsiUGhhcm1hY2V1dGljYWxzOiBHZW5lcmljIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzYxODQ5KSldLFsiUGhhcm1hY2V1dGljYWxzOiBNYWpvciIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE4MjY0MykpXSxbIlBoYXJtYWNldXRpY2FsczogT3RoZXIiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3NDUxODApKV0sWyJQaG9uZXMgJiBIYW5kaGVsZCBEZXZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTMzMzMyKSldLFsiUGhvbmVzICYgU21hcnQgUGhvbmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTIzNzY0KSldLFsiUGhvdG9ncmFwaGljIEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDgzMDc5NykpXSxbIlBob3Rvdm9sdGFpYyBTb2xhciBTeXN0ZW1zICYgRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTQ1NzYyKSldLFsiUGxhc3RpYyBDb250YWluZXIgJiBQYWNrYWdpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig2ODkzOTMpKV0sWyJQbGFzdGljcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDkwNTkzNCkpXSxbIlBsYXRpbnVtIE1pbmluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDkzNjI2MCkpXSxbIlBsYXlzICYgQ29uY2VydCBQcm9kdWN0aW9uIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzQwMDMpKV0sWyJQbHVtYmluZyBGaXh0dXJlcyAmIEZpdHRpbmdzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzg2NTYpKV0sWyJQb2ludCBvZiBTYWxlIFN5c3RlbXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MDkyKSldLFsiUG9ydCBPcGVyYXRvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyOTUxNjApKV0sWyJQb3J0IFdhcmVob3VzaW5nIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzU3MDYwKSldLFsiUG9ydGFibGUgTW90b3JzICYgR2VuZXJhdG9ycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI3NzQ0MykpXSxbIlBvcnRhYmxlIFNhdGVsbGl0ZSBOYXZpZ2F0aW9uIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjYyMjQzKSldLFsiUG91bHRyeSBGYXJtaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjM1NDE1KSldLFsiUHJlY2lvdXMgTWV0YWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODY0MjEyKSldLFsiUHJlY2lvdXMgTWV0YWxzICYgTWluZXJhbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNzYwODkpKV0sWyJQcmVmYWJyaWNhdGVkIEhvbWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODcxMDg4KSldLFsiUHJpbWFyeSBBbHVtaW51bSBQcm9kdWN0aW9uIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjU1MzcpKV0sWyJQcml2YXRlIEJhbmtzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjQzNzU2KSldLFsiUHJpdmF0ZSBFcXVpdHkiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5Nzk1MzIpKV0sWyJQcm9jZXNzb3JzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTQ4MzYpKV0sWyJQcm9mZXNzaW9uYWwgSW5mb3JtYXRpb24gU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1NTMzMzApKV0sWyJQcm9mZXNzaW9uYWwgU3BvcnRzIFZlbnVlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEwNDAxNCkpXSxbIlByb2dyYW1taW5nIFNvZnR3YXJlICYgVGVzdGluZyBUb29scyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDUzNDM5KSldLFsiUHJvcGVydHkgJiBDYXN1YWx0eSBJbnN1cmFuY2UiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MzYwNjYpKV0sWyJQcm9wZXJ0eSAmIENhc3VhbHR5IFJlaW5zdXJhbmNlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODk2MjMwKSldLFsiUHJvcGVydHkgSW5zdXJhbmNlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzY0ODc3KSldLFsiUHJvcGVydHktQ2FzdWFsdHkgSW5zdXJlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNTE2MTQpKV0sWyJQcm9wZXJ0eS9DYXN1YWx0eSBJbnN1cmFuY2UiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2OTY0NzcpKV0sWyJQcm92aW5jZS9TdGF0ZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc2NjkyKSldLFsiUHVibGljIFJlbGF0aW9ucyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU2ODMwKSldLFsiUHVibGljIFNwb3J0IEZhY2lsaXRpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxODIwOTcpKV0sWyJQdWJsaXNoaW5nOiBCb29rcy9NYWdhemluZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzMTMwNTYpKV0sWyJQdWJsaXNoaW5nOiBOZXdzcGFwZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzAwNDQyKSldLFsiUHVicywgQmFycyAmIE5pZ2h0IENsdWJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTMzNDYxKSldLFsiUHVscCBNaWxscyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM1Mjg1NikpXSxbIlB1bHAgJiBQYXBlciIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM2NzM2MSkpXSxbIlB1bXAgJiBQdW1waW5nIEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMyMTE3KSldLFsiUHVyaWZpY2F0aW9uICYgVHJlYXRtZW50IEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg0MDM4NikpXSxbIlF1aWNrIFNlcnZpY2UgUmVzdGF1cmFudHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NDcyOTkpKV0sWyJSRklEIFN5c3RlbXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NjcwMjMpKV0sWyJSYWRpbyBCcm9hZGNhc3RpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMTk4OTIpKV0sWyJSYWlsIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjAwNTc2KSldLFsiUmFpbHJvYWRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzY3MTQ3KSldLFsiUmFpbHdheSBDb25zdHJ1Y3Rpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NjY1NDcpKV0sWyJSYWlsd2F5IEZyZWlnaHQgT3BlcmF0b3JzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzE5NzEzKSldLFsiUmFyZSBFYXJ0aCBNaW5lcmFscyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDkxODQpKV0sWyJSYXRpbmcgQWdlbmNpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMjc3NTQpKV0sWyJSZWFkeS1NYWRlIE1lYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjEzOTUxKSldLFsiUmVhbCBFc3RhdGUgRGV2ZWxvcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NDEwNDUpKV0sWyJSZWFsIEVzdGF0ZSBEZXZlbG9wbWVudCAmIE9wZXJhdGlvbnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MTIwMDQpKV0sWyJSZWFsIEVzdGF0ZSBJbnZlc3RtZW50IFRydXN0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE0MjA4NikpXSxbIlJlYWwgRXN0YXRlIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzc2MzY1KSldLFsiUmVjcmVhdGlvbmFsIFByb2R1Y3RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTA1NzEpKV0sWyJSZWdpb25hbCBBaXJsaW5lcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc2NjE2NSkpXSxbIlJlZ2lvbmFsIEJhbmtzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzU4NjIzKSldLFsiUmVpbnN1cmFuY2UiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MzQ0NzcpKV0sWyJSZW5ld2FibGUgRW5lcmd5IEVxdWlwbWVudCAmIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTc4OTMwKSldLFsiUmVuZXdhYmxlIEVuZXJneSBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDkxOTYzOSkpXSxbIlJlbmV3YWJsZSBGdWVscyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM5NDE3NCkpXSxbIlJlbmV3YWJsZSBJUFBzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTg0OTkzKSldLFsiUmVuZXdhYmxlIFV0aWxpdGllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE4MDA5MCkpXSxbIlJlc2lkZW50aWFsICBSZWFsIEVzdGF0ZSBEZXZlbG9wbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIwNjE0NCkpXSxbIlJlc2lkZW50aWFsICYgTG9uZyBUZXJtIENhcmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMjIxODkpKV0sWyJSZXNpZGVudGlhbCBBcmNoaXRlY3R1cmFsICYgSW50ZXJpb3IgRGVzaWduIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTA5MDA3KSldLFsiUmVzaWRlbnRpYWwgQnVpbGRlcnMgLSBNdWx0aWZhbWlseSBIb21lcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU3ODgxMikpXSxbIlJlc2lkZW50aWFsIEJ1aWxkZXJzIC0gU2luZ2xlIEhvbWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTgyNzk3KSldLFsiUmVzaWRlbnRpYWwgUkVJVHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMjAyNjQpKV0sWyJSZXNpZGVudGlhbCBSZWFsIEVzdGF0ZSBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE0NTI4MSkpXSxbIlJlc29ydCBPcGVyYXRvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4NDMxODEpKV0sWyJSZXN0YXVyYW50cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMyMzg4OSkpXSxbIlJlc3RhdXJhbnRzICYgQmFycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMxNTIxMykpXSxbIlJldGFpbCAgUmVhbCBFc3RhdGUgRGV2ZWxvcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0MTI2MjApKV0sWyJSZXRhaWwgJiBNb3J0Z2FnZSBCYW5rcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc5MjkyNikpXSxbIlJldGFpbCAtIERlcGFydG1lbnQgU3RvcmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTYxMjA1KSldLFsiUmV0YWlsIC0gRHJ1Z3Mgd2l0aCBHcm9jZXJ5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjU5NzYxKSldLFsiUmV0YWlsIC0gRHJ1Z3Mgd2l0aG91dCBHcm9jZXJ5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjA5NzI4KSldLFsiUmV0YWlsIFJFSVRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTAxMTQwKSldLFsiUmV0YWlsIFJlYWwgRXN0YXRlIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzA5NjI1KSldLFsiUmV0aXJlbWVudCBIb21lIEJ1aWxkZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTE4ODkpKV0sWyJSb2NrIE1pbmluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg5MTM5OSkpXSxbIlJvb2ZpbmcgU3VwcGxpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyOTIxMzUpKV0sWyJSdWJiZXIgUGxhbnRhdGlvbiIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ2MTk3MikpXSxbIlNhaWxpbmcgWWFjaHRzICYgTW90b3Jib2F0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIyNzg2MSkpXSxbIlNhbGVzIFByb21vdGlvbnMgJiBFdmVudHMgTWFuYWdlbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIxOTcxNykpXSxbIlNhbml0YXJ5IFByb2R1Y3RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjI3MzU1KSldLFsiU2F0ZWxsaXRlICBTeXN0ZW1zICYgQWNjZXNzb3JpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MzQwNzQpKV0sWyJTYXRlbGxpdGUgU2VydmljZSBPcGVyYXRvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4NTkxMTYpKV0sWyJTYXZpbmdzIEJhbmtzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzM0NTA3KSldLFsiU2NpZW50aWZpYyAmIFByZWNpc2lvbiBFcXVpcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxOTg2MjgpKV0sWyJTY2llbnRpZmljICYgU3VwZXIgQ29tcHV0ZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzY2NzA0KSldLFsiU2VhLUJvcm5lIFRhbmtlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0MDQ0MTIpKV0sWyJTZWFmb29kIFByb2R1Y3QgUHJlcGFyYXRpb24gJiBQYWNrYWdpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMzI2NjkpKV0sWyJTZWFyY2ggRW5naW5lcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg5MjE2MikpXSxbIlNlY29uZGFyeSBTbWVsdGluZyAmIEFsbG95aW5nIG9mIEFsdW1pbnVtIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTc4NzM4KSldLFsiU2VjdXJpdGllcyAmIENvbW1vZGl0eSBFeGNoYW5nZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3ODYwMTUpKV0sWyJTZWN1cml0eSAmIFN1cnZlaWxsYW5jZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk0OTI2NSkpXSxbIlNlY3VyaXR5IFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTI3MjUyKSldLFsiU2VsZi1TdG9yYWdlIFJFSVRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTkyMjYpKV0sWyJTZW1pY29uZHVjdG9yIEVxdWlwbWVudCAmIFRlc3RpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigzOTIzODEpKV0sWyJTZW1pY29uZHVjdG9yIEVxdWlwbWVudCBXaG9sZXNhbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE4MzIwOSkpXSxbIlNlbWljb25kdWN0b3IgTWFjaGluZXJ5IE1hbnVmYWN0dXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig1NDk0NTkpKV0sWyJTZW1pY29uZHVjdG9yIFRlc3RpbmcgRXF1aXBtZW50ICYgU2VydmljZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMxNjg0NSkpXSxbIlNlbWljb25kdWN0b3IgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTUxMzQ2KSldLFsiU2VtaWNvbmR1Y3RvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4NTUyODIpKV0sWyJTZW1pcHJlY2lvdXMgR2VtIFN0b25lcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc3MDc3NSkpXSxbIlNlcnZlciAmIERhdGFiYXNlIFNvZnR3YXJlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjg2Mzg1KSldLFsiU2VydmVycyAmIFN5c3RlbXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNTUwOTYpKV0sWyJTZXJ2aWNlcyB0byB0aGUgSGVhbHRoIEluZHVzdHJ5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjU0NDA4KSldLFsiU2V3YWdlIFRyZWF0bWVudCBGYWNpbGl0aWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTA0MTM5KSldLFsiU2hlbGwgQ29tcGFuaWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDE4NjgpKV0sWyJTaGlwIFBhcnQgTWFudWZhY3R1cmVyIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTExODM2KSldLFsiU2hpcCBSZXBhaXJpbmcgJiBNYWludGFuYW5jZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg5NDg5MSkpXSxbIlNoaXBidWlsZGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM5OTgzMSkpXSxbIlNpZ25zICYgQWR2ZXJ0aXNpbmcgU3BlY2lhbHR5IFByb2R1Y2VycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMyNTA3NykpXSxbIlNpbHZlciBNaW5pbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNTYxMDMpKV0sWyJTbWFydCBHcmlkICYgRWxlY3RyaWNhbCBUcmFuc21pc3Npb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbig1NzMzMTEpKV0sWyJTbWFydCBHcmlkICYgUG93ZXIgRGlzdHJpYnV0aW9uIENvbnN0cnVjdGlvbiIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE4NDI3MCkpXSxbIlNuYWNrIEZvb2QgJiBOb24tY2hvY29sYXRlIENvbmZlY3Rpb25hcnkiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5MDg0NSkpXSxbIlNvY2lhbCBNZWRpYSAmIE5ldHdvcmtpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MTgyMjIpKV0sWyJTb2Z0IEZ1cm5pc2hpbmcgUmV0YWlsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODI0NTc4KSldLFsiU29mdHdhcmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1OTcxMDMpKV0sWyJTb3ZlcmVpZ24iLCgpPT50LnQobnVsbCx2b2lkIDAsbig3ODE5MzIpKV0sWyJTcGFjZWNyYWZ0IE1hbnVmYWN0dXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNTk3NjEpKV0sWyJTcGVjaWFsIEZvb2RzICYgV2VsYmVpbmcgUHJvZHVjdHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MjY1NzApKV0sWyJTcGVjaWFsIEZvb2RzICYgV2VsbGJlaW5nIFByb2R1Y3RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzA5NjEwKSldLFsiU3BlY2lhbGl6ZWQgQXZpYXRpb24gU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMTc2MjkpKV0sWyJTcGVjaWFsaXplZCBQcmludGluZyBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY3ODEyNikpXSxbIlNwZWNpYWxpemVkIFJFSVRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzI0NTExKSldLFsiU3BlY2lhbHR5ICYgQWR2YW5jZWQgUGhhcm1hY2V1dGljYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDM2NTQ5KSldLFsiU3BlY2lhbHR5IENoZW1pY2FscyBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NzE3ODYpKV0sWyJTcGVjaWFsdHkgQ2hlbWljYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzkwOTY0KSldLFsiU3BlY2lhbHR5IEluc3VyYW5jZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIxMTI4NykpXSxbIlNwZWNpYWx0eSBJbnN1cmVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU1NTk3OSkpXSxbIlNwZWNpYWx0eSBNaW5pbmcgJiBNZXRhbHMgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzA1NTQ2KSldLFsiU3BlY2lhbHR5IE1pbmluZyAmIE1ldGFscyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDgxODcwOCkpXSxbIlNwZWNpYWx0eSBTdG9yZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNTUyODEpKV0sWyJTcGVjaWFsdHkgVGVsZWNvbW11bmljYXRpb25zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzQ1NjUzKSldLFsiU3BvcnRpbmcgJiBPdXRkb29yIEdvb2RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTg1ODk5KSldLFsiU3BvcnRpbmcgR29vZHMgU3RvcmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTQ0NDk0KSldLFsiU3BvcnRzICYgT3V0ZG9vciBGb290d2VhciIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIxMzk4NykpXSxbIlNwb3J0cyAmIE91dGRvb3JzIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM3MjE3MykpXSxbIlNwb3J0c3dlYXIgJiBPdXRkb29ycyBDbG90aGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY0NjE0NCkpXSxbIlN0YXJjaCwgVmVnZXRhYmxlIEZhdCAmIE9pbCBNYW51ZmFjdHVyaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjkxNDU2KSldLFsiU3RhdGUgQWdlbmN5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTQyMTg4KSldLFsiU3RhdGlvbmFyeSBGdWVsIENlbGxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzUxMDc0KSldLFsiU3RlYW0gJiBBaXItQ29uZGl0aW9uaW5nIFN1cHBseSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ5ODYzOCkpXSxbIlN0ZWVsIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTcyNzUzKSldLFsiU3RvcmFnZSBEZXZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzQ2MzMwKSldLFsiU3VnYXIgJiBBcnRpZmljaWFsIFN3ZWV0ZW5lcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MjYxMDcpKV0sWyJTdWdhcmNhbmUgRmFybWluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMzNjk4OCkpXSxbIlN1cGVybWFya2V0cyAmIENvbnZlbmllbmNlIFN0b3JlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc4MDIyKSldLFsiU3VwcmFuYXRpb25hbCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc3NDM4NikpXSxbIlN3aXRjaGdlYXIiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3OTYzMDcpKV0sWyJTeW50aGV0aWMgRmFicmljcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ1NTU1MCkpXSxbIlN5c3RlbSBTb2Z0d2FyZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU3MTcyNykpXSxbIlRWICYgVmlkZW8iLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMzc3NDgpKV0sWyJUYWJsZXQgJiBOZXRib29rIENvbXB1dGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY5OTEyMikpXSxbIlRhbm5pbmcgJiBTb2Z0ZW5pbmcgYWdlbnRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTk3MzQ4KSldLFsiVGF4aSAmIExpbW91c2luZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE4OTQ4KSldLFsiVGVjaG5vbG9neSBDb25zdWx0aW5nICYgT3V0c291cmNpbmcgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3NjA1MTMpKV0sWyJUZWxlY29tbXVuaWNhdGlvbiBDb25zdHJ1Y3Rpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbig5MTYxODUpKV0sWyJUZWxlY29tbXVuaWNhdGlvbnMgRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzg5Njg5KSldLFsiVGVsZWNvbW11bmljYXRpb25zIE5ldHdvcmsgSW5mcmFzdHJ1Y3R1cmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxODUxNjQpKV0sWyJUZWxlY29tbXVuaWNhdGlvbnMgUmVzZWxsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTczMjY3KSldLFsiVGVsZW1lZGljaW5lIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjU1ODIwKSldLFsiVGVsZXZpc2lvbiBCcm9hZGNhc3RpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig4Mjc5ODApKV0sWyJUZXN0aW5nICYgTWVhc3VyaW5nIEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIyMTM1NSkpXSxbIlRlc3RpbmcgTGFib3JhdG9yaWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTIxNzg2KSldLFsiVGVzdGluZyBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ5MjU3NykpXSxbIlRleHRpbGVzICYgTGVhdGhlciBHb29kcyBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MjA2NDcpKV0sWyJUZXh0aWxlcyAmIExlYXRoZXIgR29vZHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMjM2NDQpKV0sWyJUZXh0aWxlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg1MTk5MykpXSxbIlRoZWF0cmVzICYgUGVyZm9ybWluZyBBcnRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDE1NDEpKV0sWyJUaGVybWFsIFNvbGFyIFN5c3RlbXMgJiBFcXVpcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNTg0MjEpKV0sWyJUaWxlICYgUGF2aW5nIE1hdGVyaWFsIE1hbnVmYWN0dXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig1ODE1MSkpXSxbIlRpbWJlciBSRUlUcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc3NTc1NSkpXSxbIlRpbWJlciBUcmFjdCBPcGVyYXRpb25zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzIwNykpXSxbIlRpcmUgJiBUdWJlIE1hbnVmYWN0dXJlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NjAwNTMpKV0sWyJUaXJlIERlYWxlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMzUwMzMpKV0sWyJUaXJlIFJldHJlYWRpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MjYwMDEpKV0sWyJUaXJlcyAmIFJ1YmJlciBQcm9kdWN0cyBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNjIxMzMpKV0sWyJUaXJlcyAmIFJ1YmJlciBQcm9kdWN0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI0Mjc3NSkpXSxbIlRvYmFjY28iLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NzI5NzEpKV0sWyJUb29scyAmIEhhcmR3YXJlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjQ3MDgzKSldLFsiVG9vbHMgJiBIb3VzZXdhcmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTE4MDkyKSldLFsiVG95cyAmIEdhbWVzIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE1MjgzMykpXSxbIlRveXMgJiBKdXZlbmlsZSBQcm9kdWN0cyBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2MjIzMjcpKV0sWyJUb3lzICYgSnV2ZW5pbGUgUHJvZHVjdHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNTc4MDQpKV0sWyJUcmFkZSAmIEJ1c2luZXNzIFB1Ymxpc2hpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigzMzg4NjUpKV0sWyJUcmFuc2FjdGlvbiAmIFBheW1lbnQgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MTg2MCkpXSxbIlRyYW5zbGF0aW9uICYgSW50ZXJwcmV0YXRpb24gU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MzMyNjkpKV0sWyJUcmF2ZWwgQWdlbnRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTMzNTkxKSldLFsiVHJ1Y2tpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MjEyMjUpKV0sWyJUcnVja3MvQ29uc3RydWN0aW9uL0Zhcm0gTWFjaGluZXJ5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDIxNjQ3KSldLFsiVHVyYmluZSBNYW51ZmFjdHVyaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjg3NzI1KSldLFsiVW5jb252ZW50aW9uYWwgT2lsICYgR2FzIERyaWxsaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTM3ODg4KSldLFsiVW5jb252ZW50aW9uYWwgT2lsICYgR2FzIFByb2R1Y3Rpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NjE5NzYpKV0sWyJVcmFuaXVtIE1pbmluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEwNzQwNSkpXSxbIlVyYW5pdW0iLCgpPT50LnQobnVsbCx2b2lkIDAsbigzMjMxMzIpKV0sWyJVc2VkIENhciBEZWFsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDg3MDA2KSldLFsiVXNlZCBNZXJjaGFuZGlzZSBTdG9yZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1OTI2MjcpKV0sWyJWT0lQIEVxdWlwbWVudCAmIFN5c3RlbXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNzI1MjMpKV0sWyJWT0lQIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjk4MTEzKSldLFsiVmVnZXRhYmxlLCBGcnVpdCAmIE51dCBGYXJtaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjEwNjgwKSldLFsiVmVuZGluZyBNYWNoaW5lIFByb3ZpZGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI0OTY4NSkpXSxbIlZlbnR1cmUgQ2FwaXRhbCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM4NjU4NikpXSxbIlZldGVyaW5hcnkgRHJ1Z3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMjY3NCkpXSxbIlZldGVyaW5hcnkgTWVkaWNhbCBFcXVpcG1lbnQgJiBTdXBwbGllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYxOTQ5MCkpXSxbIlZldGVyaW5hcnkgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3OTEzODQpKV0sWyJXYWxscGFwZXIiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1NTQxNzMpKV0sWyJXYXJlaG91c2luZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDkwNjM3OSkpXSxbIldhc3RlIE1hbmFnZW1lbnQsIERpc3Bvc2FsICYgUmVjeWNsaW5nIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDkzMzMzKSldLFsiV2FzdGUgdG8gRW5lcmd5IFN5c3RlbXMgJiBFcXVpcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMjEzMDEpKV0sWyJXYXRjaGVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjMxMDUyKSldLFsiV2F0ZXIgJiBTZXdhZ2UgQ29uc3RydWN0aW9uIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODYxNjU1KSldLFsiV2F0ZXIgU3VwcGx5ICYgSXJyaWdhdGlvbiBTeXN0ZW1zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDM1OTgwKSldLFsiV2F0ZXIgVXRpbGl0aWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzY5OTQ0KSldLFsiV2F2ZSBQb3dlciBFbmVyZ3kgRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDA1Nzc5KSldLFsiV2VhbHRoIE1hbmFnZW1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3OTU3NykpXSxbIldlbGRpbmcgJiBTb2xkZXJpbmcgRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTE0ODE2KSldLFsiV2hvbGVzYWxlIERpc3RyaWJ1dG9ycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYwOTQ1NSkpXSxbIldpLUZpICYgV2ktTWF4IFByb3ZpZGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYyODk1KSldLFsiV2luZCBTeXN0ZW1zICYgRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTk5Nzg4KSldLFsiV2luZXJpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2MTM2NzUpKV0sWyJXaXJlZCBUZWxlY29tbXVuaWNhdGlvbnMgQ2FycmllcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNDcxNjUpKV0sWyJXaXJlbGVzcyBUZWxlY29tIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTc4MzA1KSldLFsiV2lyZWxlc3MgVGVsZWNvbW11bmljYXRpb25zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODUzMTY0KSldLFsiV2lyZWxlc3MgVGVsZWNvbW11bmljYXRpb25zIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTI1NzQzKSldLFsiV2lyZXMgJiBDYWJsZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MDA4NDUpKV0sWyJXb21lbidzIEFwcGFyZWwgUmV0YWlsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTQxNDA1KSldLFsiV29tZW4ncyBDbG90aGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDUwMzcxMykpXSxbIldvbWVuJ3MgRm9vdHdlYXIiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0MzQwNzcpKV0sWyJXb29kIENvbnRhaW5lciAmIFBhY2thZ2luZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDUyNDUzOSkpXSxbIldvb2QgUHJvZHVjdCBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMDM2NDApKV0sWyJXb29kIFByb2R1Y3RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzA2MDY1KSldLFsiWWFybiBHb29kcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMwOTUyMykpXSxbIlppbmMgT3JlIE1pbmluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk1MDIwNykpXV0pCjtmdW5jdGlvbiB1KGwpe2NvbnN0IGk9by5nZXQobCk7cmV0dXJuIHZvaWQgMCE9PWk/aSgpOmZ1bmN0aW9uKGwpe2NvbnN0IGk9ZS5nZXQobCk7cmV0dXJuIHZvaWQgMCE9PWk/aSgpOmx9KGwpfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"tvc-invdn-cf-com.investing.com/tool/1.12.10/static/js/external/spin.min.js","fqdn":"tvc-invdn-cf-com.investing.com","domain":"investing.com","tld":"com"},"ip":{"addr":"172.64.155.105","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://tvc-invdn-cf-com.investing.com/tool/1.12.10/static/tv-chart.e816a7a6edc9de3ed709.html#localserver=1\u0026symbol=945629\u0026interval=5\u0026studiesAccess=%7B%22type%22%3A%22black%22%2C%22tools%22%3A%5B%7B%22name%22%3A%22Correlation%20Coeff%22%2C%22grayed%22%3Afalse%7D%5D%7D\u0026widgetbar=%7B%22details%22%3Afalse%2C%22watchlist%22%3Afalse%2C%22watchlist_settings%22%3A%7B%22default_symbols%22%3A%5B%5D%7D%7D\u0026drawingsAccess=%7B%22type%22%3A%22black%22%2C%22tools%22%3A%5B%7B%22name%22%3A%22Regression%20Trend%22%2C%22grayed%22%3Afalse%7D%5D%7D\u0026timeFrames=%5B%7B%22text%22%3A%2210y%22%2C%22resolution%22%3A%22M%22%7D%2C%7B%22text%22%3A%223y%22%2C%22resolution%22%3A%22W%22%7D%2C%7B%22text%22%3A%221y%22%2C%22resolution%22%3A%22W%22%7D%2C%7B%22text%22%3A%223m%22%2C%22resolution%22%3A%22D%22%7D%2C%7B%22text%22%3A%221m%22%2C%22resolution%22%3A%22300%22%7D%2C%7B%22text%22%3A%227d%22%2C%22resolution%22%3A%2260%22%7D%2C%7B%22text%22%3A%221d%22%2C%22resolution%22%3A%2215%22%7D%5D\u0026locale=ru\u0026uid=tradingview_52714\u0026clientId=0\u0026userId=0\u0026chartsStorageVer=1.0\u0026customCSS=https%3A%2F%2Ftvc-invdn-cf-com.investing.com%2Ftool%2F1.12.10%2Fcustom.css\u0026debug=false\u0026snapshotUrl=https%3A%2F%2Fssltvc.forexprostools.com%2Fcc6698fccca44e51b088d9ddbbcf8ec8%2F1785120633%2F7%2F7%2F17%2Fsnapshot\u0026timezone=Europe%2FMoscow","date":"2026-07-27T02:50:34.632Z","timestamp":1785120634632,"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":"tvc-invdn-cf-com.investing.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 31 May 2026 06:59:21 GMT","end":"Sat, 29 Aug 2026 07:59:19 GMT"},"fingerprint":{"sha1":"90:A7:5D:5C:7F:22:D6:92:72:4C:85:3E:E7:2D:28:D1:42:20:B1:F8","sha256":"4C:97:98:34:DB:36:63:81:85:8D:5B:E0:91:75:21:94:B9:1D:97:17:07:3D:61:14:3E:02:DB:0F:73:40:E7:84"}}},"request":{"raw":"GET /tool/1.12.10/static/js/external/spin.min.js HTTP/1.1\r\nHost: tvc-invdn-cf-com.investing.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://tvc-invdn-cf-com.investing.com/tool/1.12.10/static/tv-chart.e816a7a6edc9de3ed709.html\r\nCookie: __cf_bm=h6SAR28kd_QbNop_COMOHghDdlytG1dix_NDRXPGmD4-1785120634.5691435-1.0.1.1-s4ne_iKLzdjYKinGlFUaklT6ynKOQcbwbTfQ9Ee2VWc6HnktRWLJU5i.P2cm15_MZLMVhgoXFqglYOYqP14NW3ukSx7P6pAGRd3O_Fc9rU3d7y1GygnJGLidPsQIZp.Yom6Jb8b5KK1yqn7xaAW3WA\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\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript\r\nx-guploader-uploadid: AKhXX7KarSahhkONElN-gAhlK_P9Suot6z09NX50qSVf1iXxY-YVwIHH9KBmgQRrIm5SI1GR\r\nx-goog-generation: 1707308616314866\r\nx-goog-metageneration: 1\r\nx-goog-stored-content-encoding: identity\r\nx-goog-stored-content-length: 4159\r\nx-goog-hash: crc32c=E5VzSQ==, md5=IZHpBIHrMgfup0ttpJs0Sw==\r\nx-goog-storage-class: STANDARD\r\nserver: cloudflare\r\nvia: 1.1 google\r\nexpires: Mon, 27 Jul 2026 03:50:34 GMT\r\ncache-control: public, max-age=3600\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Wed, 07 Feb 2024 12:23:36 GMT\r\nvary: accept-encoding\r\npriority: u=3,i=?0\r\nage: 3330\r\ncf-cache-status: HIT\r\netag: W/\"2191e90481eb3207eea74b6da49b344b\"\r\ncontent-encoding: br\r\ncf-ray: a218565e7d2c0daa-OSL\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":"Google Cloud Storage","description":"Google Cloud Storage allows world-wide storage and retrieval of any amount of data at any time.","website":"https://cloud.google.com/storage","common_platform_enumeration":"","icon":"google-cloud-storage.svg","categories":["Miscellaneous"]},{"name":"Google Cloud CDN","description":"Cloud CDN uses Google's global edge network to serve content closer to users.","website":"https://cloud.google.com/cdn","common_platform_enumeration":"","icon":"google-cloud-cdn.svg","categories":["CDN"]},{"name":"Google Cloud","description":"Google Cloud is a suite of cloud computing services.","website":"https://cloud.google.com","common_platform_enumeration":"cpe:2.3:a:google:cloud_platform:*:*:*:*:*:*:*:*","icon":"Google Cloud.svg","categories":["IaaS"]}],"data":{"size":0,"size_decoded":0,"mime_type":"application/javascript","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-07-27T05:14:11.3544Z","times_seen":17556491,"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":"247optiontradefx.com/ajax/libs/animate.css/4.1.1/animate.min.css","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:32.900Z","timestamp":1785120632900,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /ajax/libs/animate.css/4.1.1/animate.min.css HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: text/css\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-11846\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":71750,"size_decoded":7345,"mime_type":"text/css","magic":"ASCII text, with very long lines (65348)","md5":"c0be8e53226ac34833fd9b5dbc01ebc5","sha1":"b81ef1b22de26af8a7a4656f565fbc91a69d7518","sha256":"5fbaeb9f8e25d7e0143bae61d4b1802c16ce7390b96ceb2d498b0d96ff4c853f","sha512":"738daa4d2c3fc0f677ff92c1cc3f81c397fb6d2176a31a2eeb011bf88fe5a9e68a57914321f32fbd1a7bef6cb88dc24b2ae1943a96c931d83f053979d1f25803","ssdeep":"1536:h6uNQ3fdPwwanleMf72yMPkZ8PFwh1nAukdDO3Xyr5Ir5eh0dTo:AkZgwh1nAukdDO3Xyr5Ir5eh0dTo","tlshash":"a66329ae4891128990230f6787cd5ea84b3dc6a355721cee33552c0b8b46fee73de617","first_seen":"2023-04-05T05:17:37Z","last_seen":"2026-07-27T05:14:55.827821Z","times_seen":32060,"resource_available":false,"data":"QGNoYXJzZXQgIlVURi04IjsvKiEKICogYW5pbWF0ZS5jc3MgLSBodHRwczovL2FuaW1hdGUuc3R5bGUvCiAqIFZlcnNpb24gLSA0LjEuMQogKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgLSBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUCiAqCiAqIENvcHlyaWdodCAoYykgMjAyMCBBbmltYXRlLmNzcwogKi86cm9vdHstLWFuaW1hdGUtZHVyYXRpb246MXM7LS1hbmltYXRlLWRlbGF5OjFzOy0tYW5pbWF0ZS1yZXBlYXQ6MX0uYW5pbWF0ZV9fYW5pbWF0ZWR7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246MXM7YW5pbWF0aW9uLWR1cmF0aW9uOjFzOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOnZhcigtLWFuaW1hdGUtZHVyYXRpb24pO2FuaW1hdGlvbi1kdXJhdGlvbjp2YXIoLS1hbmltYXRlLWR1cmF0aW9uKTstd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6Ym90aDthbmltYXRpb24tZmlsbC1tb2RlOmJvdGh9LmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2luZmluaXRley13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlfS5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19yZXBlYXQtMXstd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjE7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OnZhcigtLWFuaW1hdGUtcmVwZWF0KTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OnZhcigtLWFuaW1hdGUtcmVwZWF0KX0uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fcmVwZWF0LTJ7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjI7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoyOy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDpjYWxjKHZhcigtLWFuaW1hdGUtcmVwZWF0KSoyKTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmNhbGModmFyKC0tYW5pbWF0ZS1yZXBlYXQpKjIpfS5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19yZXBlYXQtM3std2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MzthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjM7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmNhbGModmFyKC0tYW5pbWF0ZS1yZXBlYXQpKjMpO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6Y2FsYyh2YXIoLS1hbmltYXRlLXJlcGVhdCkqMyl9LmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2RlbGF5LTFzey13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OjFzO2FuaW1hdGlvbi1kZWxheToxczstd2Via2l0LWFuaW1hdGlvbi1kZWxheTp2YXIoLS1hbmltYXRlLWRlbGF5KTthbmltYXRpb24tZGVsYXk6dmFyKC0tYW5pbWF0ZS1kZWxheSl9LmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2RlbGF5LTJzey13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OjJzO2FuaW1hdGlvbi1kZWxheToyczstd2Via2l0LWFuaW1hdGlvbi1kZWxheTpjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpKjIpO2FuaW1hdGlvbi1kZWxheTpjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpKjIpfS5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19kZWxheS0zc3std2Via2l0LWFuaW1hdGlvbi1kZWxheTozczthbmltYXRpb24tZGVsYXk6M3M7LXdlYmtpdC1hbmltYXRpb24tZGVsYXk6Y2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSozKTthbmltYXRpb24tZGVsYXk6Y2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSozKX0uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZGVsYXktNHN7LXdlYmtpdC1hbmltYXRpb24tZGVsYXk6NHM7YW5pbWF0aW9uLWRlbGF5OjRzOy13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OmNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkqNCk7YW5pbWF0aW9uLWRlbGF5OmNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkqNCl9LmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2RlbGF5LTVzey13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OjVzO2FuaW1hdGlvbi1kZWxheTo1czstd2Via2l0LWFuaW1hdGlvbi1kZWxheTpjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpKjUpO2FuaW1hdGlvbi1kZWxheTpjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpKjUpfS5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19mYXN0ZXJ7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246LjVzO2FuaW1hdGlvbi1kdXJhdGlvbjouNXM7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246Y2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKS8yKTthbmltYXRpb24tZHVyYXRpb246Y2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKS8yKX0uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZmFzdHstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjouOHM7YW5pbWF0aW9uLWR1cmF0aW9uOi44czstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjpjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pKjAuOCk7YW5pbWF0aW9uLWR1cmF0aW9uOmNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikqMC44KX0uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fc2xvd3std2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjoyczthbmltYXRpb24tZHVyYXRpb246MnM7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246Y2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSoyKTthbmltYXRpb24tZHVyYXRpb246Y2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSoyKX0uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fc2xvd2Vyey13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOjNzO2FuaW1hdGlvbi1kdXJhdGlvbjozczstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjpjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pKjMpO2FuaW1hdGlvbi1kdXJhdGlvbjpjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pKjMpfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2UpLHByaW50ey5hbmltYXRlX19hbmltYXRlZHstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjoxbXMhaW1wb3J0YW50O2FuaW1hdGlvbi1kdXJhdGlvbjoxbXMhaW1wb3J0YW50Oy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjoxbXMhaW1wb3J0YW50O3RyYW5zaXRpb24tZHVyYXRpb246MW1zIWltcG9ydGFudDstd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MSFpbXBvcnRhbnQ7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoxIWltcG9ydGFudH0uYW5pbWF0ZV9fYW5pbWF0ZWRbY2xhc3MqPU91dF17b3BhY2l0eTowfX1ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlezAlLDIwJSw1MyUsdG97LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX00MCUsNDMley13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjc1NSwuMDUsLjg1NSwuMDYpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC43NTUsLjA1LC44NTUsLjA2KTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0zMHB4LDApIHNjYWxlWSgxLjEpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0zMHB4LDApIHNjYWxlWSgxLjEpfTcwJXstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC43NTUsLjA1LC44NTUsLjA2KTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNzU1LC4wNSwuODU1LC4wNik7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMTVweCwwKSBzY2FsZVkoMS4wNSk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTE1cHgsMCkgc2NhbGVZKDEuMDUpfTgwJXstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCkgc2NhbGVZKC45NSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCkgc2NhbGVZKC45NSl9OTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTRweCwwKSBzY2FsZVkoMS4wMik7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTRweCwwKSBzY2FsZVkoMS4wMil9fUBrZXlmcmFtZXMgYm91bmNlezAlLDIwJSw1MyUsdG97LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX00MCUsNDMley13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjc1NSwuMDUsLjg1NSwuMDYpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC43NTUsLjA1LC44NTUsLjA2KTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0zMHB4LDApIHNjYWxlWSgxLjEpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0zMHB4LDApIHNjYWxlWSgxLjEpfTcwJXstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC43NTUsLjA1LC44NTUsLjA2KTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNzU1LC4wNSwuODU1LC4wNik7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMTVweCwwKSBzY2FsZVkoMS4wNSk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTE1cHgsMCkgc2NhbGVZKDEuMDUpfTgwJXstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCkgc2NhbGVZKC45NSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCkgc2NhbGVZKC45NSl9OTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTRweCwwKSBzY2FsZVkoMS4wMik7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTRweCwwKSBzY2FsZVkoMS4wMil9fS5hbmltYXRlX19ib3VuY2V7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpib3VuY2U7YW5pbWF0aW9uLW5hbWU6Ym91bmNlOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgYm90dG9tO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyIGJvdHRvbX1ALXdlYmtpdC1rZXlmcmFtZXMgZmxhc2h7MCUsNTAlLHRve29wYWNpdHk6MX0yNSUsNzUle29wYWNpdHk6MH19QGtleWZyYW1lcyBmbGFzaHswJSw1MCUsdG97b3BhY2l0eToxfTI1JSw3NSV7b3BhY2l0eTowfX0uYW5pbWF0ZV9fZmxhc2h7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmbGFzaDthbmltYXRpb24tbmFtZTpmbGFzaH1ALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2V7MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDEpO3RyYW5zZm9ybTpzY2FsZVgoMSl9NTAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoMS4wNSwxLjA1LDEuMDUpO3RyYW5zZm9ybTpzY2FsZTNkKDEuMDUsMS4wNSwxLjA1KX10b3std2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMSk7dHJhbnNmb3JtOnNjYWxlWCgxKX19QGtleWZyYW1lcyBwdWxzZXswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMSk7dHJhbnNmb3JtOnNjYWxlWCgxKX01MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgxLjA1LDEuMDUsMS4wNSk7dHJhbnNmb3JtOnNjYWxlM2QoMS4wNSwxLjA1LDEuMDUpfXRvey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgxKTt0cmFuc2Zvcm06c2NhbGVYKDEpfX0uYW5pbWF0ZV9fcHVsc2V7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpwdWxzZTthbmltYXRpb24tbmFtZTpwdWxzZTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dH1ALXdlYmtpdC1rZXlmcmFtZXMgcnViYmVyQmFuZHswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMSk7dHJhbnNmb3JtOnNjYWxlWCgxKX0zMCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgxLjI1LC43NSwxKTt0cmFuc2Zvcm06c2NhbGUzZCgxLjI1LC43NSwxKX00MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguNzUsMS4yNSwxKTt0cmFuc2Zvcm06c2NhbGUzZCguNzUsMS4yNSwxKX01MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgxLjE1LC44NSwxKTt0cmFuc2Zvcm06c2NhbGUzZCgxLjE1LC44NSwxKX02NSV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguOTUsMS4wNSwxKTt0cmFuc2Zvcm06c2NhbGUzZCguOTUsMS4wNSwxKX03NSV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgxLjA1LC45NSwxKTt0cmFuc2Zvcm06c2NhbGUzZCgxLjA1LC45NSwxKX10b3std2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMSk7dHJhbnNmb3JtOnNjYWxlWCgxKX19QGtleWZyYW1lcyBydWJiZXJCYW5kezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgxKTt0cmFuc2Zvcm06c2NhbGVYKDEpfTMwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKDEuMjUsLjc1LDEpO3RyYW5zZm9ybTpzY2FsZTNkKDEuMjUsLjc1LDEpfTQwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC43NSwxLjI1LDEpO3RyYW5zZm9ybTpzY2FsZTNkKC43NSwxLjI1LDEpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKDEuMTUsLjg1LDEpO3RyYW5zZm9ybTpzY2FsZTNkKDEuMTUsLjg1LDEpfTY1JXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC45NSwxLjA1LDEpO3RyYW5zZm9ybTpzY2FsZTNkKC45NSwxLjA1LDEpfTc1JXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKDEuMDUsLjk1LDEpO3RyYW5zZm9ybTpzY2FsZTNkKDEuMDUsLjk1LDEpfXRvey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgxKTt0cmFuc2Zvcm06c2NhbGVYKDEpfX0uYW5pbWF0ZV9fcnViYmVyQmFuZHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnJ1YmJlckJhbmQ7YW5pbWF0aW9uLW5hbWU6cnViYmVyQmFuZH1ALXdlYmtpdC1rZXlmcmFtZXMgc2hha2VYezAlLHRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9MTAlLDMwJSw1MCUsNzAlLDkwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTBweCwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTBweCwwLDApfTIwJSw0MCUsNjAlLDgwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMHB4LDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwcHgsMCwwKX19QGtleWZyYW1lcyBzaGFrZVh7MCUsdG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0xMCUsMzAlLDUwJSw3MCUsOTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMHB4LDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMHB4LDAsMCl9MjAlLDQwJSw2MCUsODAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwcHgsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTBweCwwLDApfX0uYW5pbWF0ZV9fc2hha2VYey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6c2hha2VYO2FuaW1hdGlvbi1uYW1lOnNoYWtlWH1ALXdlYmtpdC1rZXlmcmFtZXMgc2hha2VZezAlLHRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9MTAlLDMwJSw1MCUsNzAlLDkwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0xMHB4LDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0xMHB4LDApfTIwJSw0MCUsNjAlLDgwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDEwcHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMTBweCwwKX19QGtleWZyYW1lcyBzaGFrZVl7MCUsdG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0xMCUsMzAlLDUwJSw3MCUsOTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTEwcHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTEwcHgsMCl9MjAlLDQwJSw2MCUsODAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMTBweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwxMHB4LDApfX0uYW5pbWF0ZV9fc2hha2VZey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6c2hha2VZO2FuaW1hdGlvbi1uYW1lOnNoYWtlWX1ALXdlYmtpdC1rZXlmcmFtZXMgaGVhZFNoYWtlezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9Ni41JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpfTE4LjUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKX0zMS41JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpfTQzLjUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKX01MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX19QGtleWZyYW1lcyBoZWFkU2hha2V7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX02LjUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyl9MTguNSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpfTMxLjUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyl9NDMuNSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpfTUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfX0uYW5pbWF0ZV9faGVhZFNoYWtley13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0Oy13ZWJraXQtYW5pbWF0aW9uLW5hbWU6aGVhZFNoYWtlO2FuaW1hdGlvbi1uYW1lOmhlYWRTaGFrZX1ALXdlYmtpdC1rZXlmcmFtZXMgc3dpbmd7MjAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxNWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgxNWRlZyl9NDAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtMTBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTEwZGVnKX02MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoNWRlZyl9ODAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtNWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtNWRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9fUBrZXlmcmFtZXMgc3dpbmd7MjAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxNWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgxNWRlZyl9NDAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtMTBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTEwZGVnKX02MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoNWRlZyl9ODAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtNWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtNWRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9fS5hbmltYXRlX19zd2luZ3std2Via2l0LXRyYW5zZm9ybS1vcmlnaW46dG9wIGNlbnRlcjt0cmFuc2Zvcm0tb3JpZ2luOnRvcCBjZW50ZXI7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpzd2luZzthbmltYXRpb24tbmFtZTpzd2luZ31ALXdlYmtpdC1rZXlmcmFtZXMgdGFkYXswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMSk7dHJhbnNmb3JtOnNjYWxlWCgxKX0xMCUsMjAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjksLjksLjkpIHJvdGF0ZSgtM2RlZyk7dHJhbnNmb3JtOnNjYWxlM2QoLjksLjksLjkpIHJvdGF0ZSgtM2RlZyl9MzAlLDUwJSw3MCUsOTAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoMS4xLDEuMSwxLjEpIHJvdGF0ZSgzZGVnKTt0cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEuMSkgcm90YXRlKDNkZWcpfTQwJSw2MCUsODAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoMS4xLDEuMSwxLjEpIHJvdGF0ZSgtM2RlZyk7dHJhbnNmb3JtOnNjYWxlM2QoMS4xLDEuMSwxLjEpIHJvdGF0ZSgtM2RlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDEpO3RyYW5zZm9ybTpzY2FsZVgoMSl9fUBrZXlmcmFtZXMgdGFkYXswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMSk7dHJhbnNmb3JtOnNjYWxlWCgxKX0xMCUsMjAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjksLjksLjkpIHJvdGF0ZSgtM2RlZyk7dHJhbnNmb3JtOnNjYWxlM2QoLjksLjksLjkpIHJvdGF0ZSgtM2RlZyl9MzAlLDUwJSw3MCUsOTAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoMS4xLDEuMSwxLjEpIHJvdGF0ZSgzZGVnKTt0cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEuMSkgcm90YXRlKDNkZWcpfTQwJSw2MCUsODAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoMS4xLDEuMSwxLjEpIHJvdGF0ZSgtM2RlZyk7dHJhbnNmb3JtOnNjYWxlM2QoMS4xLDEuMSwxLjEpIHJvdGF0ZSgtM2RlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDEpO3RyYW5zZm9ybTpzY2FsZVgoMSl9fS5hbmltYXRlX190YWRhey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6dGFkYTthbmltYXRpb24tbmFtZTp0YWRhfUAtd2Via2l0LWtleWZyYW1lcyB3b2JibGV7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0xNSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTI1JSwwLDApIHJvdGF0ZSgtNWRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0yNSUsMCwwKSByb3RhdGUoLTVkZWcpfTMwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgyMCUsMCwwKSByb3RhdGUoM2RlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDIwJSwwLDApIHJvdGF0ZSgzZGVnKX00NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTE1JSwwLDApIHJvdGF0ZSgtM2RlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xNSUsMCwwKSByb3RhdGUoLTNkZWcpfTYwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMCUsMCwwKSByb3RhdGUoMmRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwJSwwLDApIHJvdGF0ZSgyZGVnKX03NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTUlLDAsMCkgcm90YXRlKC0xZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTUlLDAsMCkgcm90YXRlKC0xZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX1Aa2V5ZnJhbWVzIHdvYmJsZXswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfTE1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMjUlLDAsMCkgcm90YXRlKC01ZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTI1JSwwLDApIHJvdGF0ZSgtNWRlZyl9MzAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDIwJSwwLDApIHJvdGF0ZSgzZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMjAlLDAsMCkgcm90YXRlKDNkZWcpfTQ1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTUlLDAsMCkgcm90YXRlKC0zZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTE1JSwwLDApIHJvdGF0ZSgtM2RlZyl9NjAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwJSwwLDApIHJvdGF0ZSgyZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAlLDAsMCkgcm90YXRlKDJkZWcpfTc1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNSUsMCwwKSByb3RhdGUoLTFkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNSUsMCwwKSByb3RhdGUoLTFkZWcpfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fS5hbmltYXRlX193b2JibGV7LXdlYmtpdC1hbmltYXRpb24tbmFtZTp3b2JibGU7YW5pbWF0aW9uLW5hbWU6d29iYmxlfUAtd2Via2l0LWtleWZyYW1lcyBqZWxsb3swJSwxMS4xJSx0b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfTIyLjIley13ZWJraXQtdHJhbnNmb3JtOnNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7dHJhbnNmb3JtOnNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyl9MzMuMyV7LXdlYmtpdC10cmFuc2Zvcm06c2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7dHJhbnNmb3JtOnNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpfTQ0LjQley13ZWJraXQtdHJhbnNmb3JtOnNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTt0cmFuc2Zvcm06c2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpfTU1LjUley13ZWJraXQtdHJhbnNmb3JtOnNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTt0cmFuc2Zvcm06c2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpfTY2LjYley13ZWJraXQtdHJhbnNmb3JtOnNrZXdYKC0uNzgxMjVkZWcpIHNrZXdZKC0uNzgxMjVkZWcpO3RyYW5zZm9ybTpza2V3WCgtLjc4MTI1ZGVnKSBza2V3WSgtLjc4MTI1ZGVnKX03Ny43JXstd2Via2l0LXRyYW5zZm9ybTpza2V3WCguMzkwNjI1ZGVnKSBza2V3WSguMzkwNjI1ZGVnKTt0cmFuc2Zvcm06c2tld1goLjM5MDYyNWRlZykgc2tld1koLjM5MDYyNWRlZyl9ODguOCV7LXdlYmtpdC10cmFuc2Zvcm06c2tld1goLS4xOTUzMTI1ZGVnKSBza2V3WSgtLjE5NTMxMjVkZWcpO3RyYW5zZm9ybTpza2V3WCgtLjE5NTMxMjVkZWcpIHNrZXdZKC0uMTk1MzEyNWRlZyl9fUBrZXlmcmFtZXMgamVsbG97MCUsMTEuMSUsdG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0yMi4yJXstd2Via2l0LXRyYW5zZm9ybTpza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO3RyYW5zZm9ybTpza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpfTMzLjMley13ZWJraXQtdHJhbnNmb3JtOnNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO3RyYW5zZm9ybTpza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKX00NC40JXstd2Via2l0LXRyYW5zZm9ybTpza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7dHJhbnNmb3JtOnNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKX01NS41JXstd2Via2l0LXRyYW5zZm9ybTpza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7dHJhbnNmb3JtOnNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKX02Ni42JXstd2Via2l0LXRyYW5zZm9ybTpza2V3WCgtLjc4MTI1ZGVnKSBza2V3WSgtLjc4MTI1ZGVnKTt0cmFuc2Zvcm06c2tld1goLS43ODEyNWRlZykgc2tld1koLS43ODEyNWRlZyl9NzcuNyV7LXdlYmtpdC10cmFuc2Zvcm06c2tld1goLjM5MDYyNWRlZykgc2tld1koLjM5MDYyNWRlZyk7dHJhbnNmb3JtOnNrZXdYKC4zOTA2MjVkZWcpIHNrZXdZKC4zOTA2MjVkZWcpfTg4Ljgley13ZWJraXQtdHJhbnNmb3JtOnNrZXdYKC0uMTk1MzEyNWRlZykgc2tld1koLS4xOTUzMTI1ZGVnKTt0cmFuc2Zvcm06c2tld1goLS4xOTUzMTI1ZGVnKSBza2V3WSgtLjE5NTMxMjVkZWcpfX0uYW5pbWF0ZV9famVsbG97LXdlYmtpdC1hbmltYXRpb24tbmFtZTpqZWxsbzthbmltYXRpb24tbmFtZTpqZWxsbzstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyfUAtd2Via2l0LWtleWZyYW1lcyBoZWFydEJlYXR7MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfTE0JXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjMpO3RyYW5zZm9ybTpzY2FsZSgxLjMpfTI4JXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSl9NDIley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMyk7dHJhbnNmb3JtOnNjYWxlKDEuMyl9NzAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKX19QGtleWZyYW1lcyBoZWFydEJlYXR7MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfTE0JXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjMpO3RyYW5zZm9ybTpzY2FsZSgxLjMpfTI4JXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSl9NDIley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMyk7dHJhbnNmb3JtOnNjYWxlKDEuMyl9NzAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKX19LmFuaW1hdGVfX2hlYXJ0QmVhdHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmhlYXJ0QmVhdDthbmltYXRpb24tbmFtZTpoZWFydEJlYXQ7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246MS4zczthbmltYXRpb24tZHVyYXRpb246MS4zczstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjpjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pKjEuMyk7YW5pbWF0aW9uLWR1cmF0aW9uOmNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikqMS4zKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dH1ALXdlYmtpdC1rZXlmcmFtZXMgYmFja0luRG93bnswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMjAwcHgpIHNjYWxlKC43KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTIwMHB4KSBzY2FsZSguNyk7b3BhY2l0eTouN304MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSBzY2FsZSguNyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCkgc2NhbGUoLjcpO29wYWNpdHk6Ljd9dG97LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpO29wYWNpdHk6MX19QGtleWZyYW1lcyBiYWNrSW5Eb3duezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEyMDBweCkgc2NhbGUoLjcpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMjAwcHgpIHNjYWxlKC43KTtvcGFjaXR5Oi43fTgwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKC43KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSBzY2FsZSguNyk7b3BhY2l0eTouN310b3std2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eToxfX0uYW5pbWF0ZV9fYmFja0luRG93bnstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmJhY2tJbkRvd247YW5pbWF0aW9uLW5hbWU6YmFja0luRG93bn1ALXdlYmtpdC1rZXlmcmFtZXMgYmFja0luTGVmdHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKC43KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSguNyk7b3BhY2l0eTouN304MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKSBzY2FsZSguNyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCkgc2NhbGUoLjcpO29wYWNpdHk6Ljd9dG97LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpO29wYWNpdHk6MX19QGtleWZyYW1lcyBiYWNrSW5MZWZ0ezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoLjcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKC43KTtvcGFjaXR5Oi43fTgwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApIHNjYWxlKC43KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKSBzY2FsZSguNyk7b3BhY2l0eTouN310b3std2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eToxfX0uYW5pbWF0ZV9fYmFja0luTGVmdHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmJhY2tJbkxlZnQ7YW5pbWF0aW9uLW5hbWU6YmFja0luTGVmdH1ALXdlYmtpdC1rZXlmcmFtZXMgYmFja0luUmlnaHR7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKC43KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKC43KTtvcGFjaXR5Oi43fTgwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApIHNjYWxlKC43KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKSBzY2FsZSguNyk7b3BhY2l0eTouN310b3std2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIGJhY2tJblJpZ2h0ezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSguNyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSguNyk7b3BhY2l0eTouN304MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKSBzY2FsZSguNyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCkgc2NhbGUoLjcpO29wYWNpdHk6Ljd9dG97LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpO29wYWNpdHk6MX19LmFuaW1hdGVfX2JhY2tJblJpZ2h0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6YmFja0luUmlnaHQ7YW5pbWF0aW9uLW5hbWU6YmFja0luUmlnaHR9QC13ZWJraXQta2V5ZnJhbWVzIGJhY2tJblVwezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTIwMHB4KSBzY2FsZSguNyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTIwMHB4KSBzY2FsZSguNyk7b3BhY2l0eTouN304MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSBzY2FsZSguNyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCkgc2NhbGUoLjcpO29wYWNpdHk6Ljd9dG97LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpO29wYWNpdHk6MX19QGtleWZyYW1lcyBiYWNrSW5VcHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDEyMDBweCkgc2NhbGUoLjcpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDEyMDBweCkgc2NhbGUoLjcpO29wYWNpdHk6Ljd9ODAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCkgc2NhbGUoLjcpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKC43KTtvcGFjaXR5Oi43fXRvey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKTtvcGFjaXR5OjF9fS5hbmltYXRlX19iYWNrSW5VcHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmJhY2tJblVwO2FuaW1hdGlvbi1uYW1lOmJhY2tJblVwfUAtd2Via2l0LWtleWZyYW1lcyBiYWNrT3V0RG93bnswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eToxfTIwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKC43KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSBzY2FsZSguNyk7b3BhY2l0eTouN310b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDcwMHB4KSBzY2FsZSguNyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNzAwcHgpIHNjYWxlKC43KTtvcGFjaXR5Oi43fX1Aa2V5ZnJhbWVzIGJhY2tPdXREb3duezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKTtvcGFjaXR5OjF9MjAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCkgc2NhbGUoLjcpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKC43KTtvcGFjaXR5Oi43fXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoNzAwcHgpIHNjYWxlKC43KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSg3MDBweCkgc2NhbGUoLjcpO29wYWNpdHk6Ljd9fS5hbmltYXRlX19iYWNrT3V0RG93bnstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmJhY2tPdXREb3duO2FuaW1hdGlvbi1uYW1lOmJhY2tPdXREb3dufUAtd2Via2l0LWtleWZyYW1lcyBiYWNrT3V0TGVmdHswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eToxfTIwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApIHNjYWxlKC43KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKSBzY2FsZSguNyk7b3BhY2l0eTouN310b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKC43KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSguNyk7b3BhY2l0eTouN319QGtleWZyYW1lcyBiYWNrT3V0TGVmdHswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eToxfTIwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApIHNjYWxlKC43KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKSBzY2FsZSguNyk7b3BhY2l0eTouN310b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKC43KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSguNyk7b3BhY2l0eTouN319LmFuaW1hdGVfX2JhY2tPdXRMZWZ0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6YmFja091dExlZnQ7YW5pbWF0aW9uLW5hbWU6YmFja091dExlZnR9QC13ZWJraXQta2V5ZnJhbWVzIGJhY2tPdXRSaWdodHswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eToxfTIwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApIHNjYWxlKC43KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKSBzY2FsZSguNyk7b3BhY2l0eTouN310b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoLjcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoLjcpO29wYWNpdHk6Ljd9fUBrZXlmcmFtZXMgYmFja091dFJpZ2h0ezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKTtvcGFjaXR5OjF9MjAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCkgc2NhbGUoLjcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApIHNjYWxlKC43KTtvcGFjaXR5Oi43fXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSguNyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSguNyk7b3BhY2l0eTouN319LmFuaW1hdGVfX2JhY2tPdXRSaWdodHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmJhY2tPdXRSaWdodDthbmltYXRpb24tbmFtZTpiYWNrT3V0UmlnaHR9QC13ZWJraXQta2V5ZnJhbWVzIGJhY2tPdXRVcHswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eToxfTIwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKC43KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSBzY2FsZSguNyk7b3BhY2l0eTouN310b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC03MDBweCkgc2NhbGUoLjcpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC03MDBweCkgc2NhbGUoLjcpO29wYWNpdHk6Ljd9fUBrZXlmcmFtZXMgYmFja091dFVwezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKTtvcGFjaXR5OjF9MjAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCkgc2NhbGUoLjcpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKC43KTtvcGFjaXR5Oi43fXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTcwMHB4KSBzY2FsZSguNyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTcwMHB4KSBzY2FsZSguNyk7b3BhY2l0eTouN319LmFuaW1hdGVfX2JhY2tPdXRVcHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmJhY2tPdXRVcDthbmltYXRpb24tbmFtZTpiYWNrT3V0VXB9QC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluezAlLDIwJSw0MCUsNjAlLDgwJSx0b3std2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKX0wJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguMywuMywuMyk7dHJhbnNmb3JtOnNjYWxlM2QoLjMsLjMsLjMpfTIwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKDEuMSwxLjEsMS4xKTt0cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEuMSl9NDAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjksLjksLjkpO3RyYW5zZm9ybTpzY2FsZTNkKC45LC45LC45KX02MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoMS4wMywxLjAzLDEuMDMpO3RyYW5zZm9ybTpzY2FsZTNkKDEuMDMsMS4wMywxLjAzKX04MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguOTcsLjk3LC45Nyk7dHJhbnNmb3JtOnNjYWxlM2QoLjk3LC45NywuOTcpfXRve29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMSk7dHJhbnNmb3JtOnNjYWxlWCgxKX19QGtleWZyYW1lcyBib3VuY2VJbnswJSwyMCUsNDAlLDYwJSw4MCUsdG97LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSl9MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjMsLjMsLjMpO3RyYW5zZm9ybTpzY2FsZTNkKC4zLC4zLC4zKX0yMCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEuMSk7dHJhbnNmb3JtOnNjYWxlM2QoMS4xLDEuMSwxLjEpfTQwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC45LC45LC45KTt0cmFuc2Zvcm06c2NhbGUzZCguOSwuOSwuOSl9NjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKDEuMDMsMS4wMywxLjAzKTt0cmFuc2Zvcm06c2NhbGUzZCgxLjAzLDEuMDMsMS4wMyl9ODAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjk3LC45NywuOTcpO3RyYW5zZm9ybTpzY2FsZTNkKC45NywuOTcsLjk3KX10b3tvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDEpO3RyYW5zZm9ybTpzY2FsZVgoMSl9fS5hbmltYXRlX19ib3VuY2VJbnstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjouNzVzO2FuaW1hdGlvbi1kdXJhdGlvbjouNzVzOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOmNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikqMC43NSk7YW5pbWF0aW9uLWR1cmF0aW9uOmNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikqMC43NSk7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpib3VuY2VJbjthbmltYXRpb24tbmFtZTpib3VuY2VJbn1ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5Eb3duezAlLDYwJSw3NSUsOTAlLHRvey13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpfTAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0zMDAwcHgsMCkgc2NhbGVZKDMpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0zMDAwcHgsMCkgc2NhbGVZKDMpfTYwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwyNXB4LDApIHNjYWxlWSguOSk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMjVweCwwKSBzY2FsZVkoLjkpfTc1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0xMHB4LDApIHNjYWxlWSguOTUpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0xMHB4LDApIHNjYWxlWSguOTUpfTkwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDVweCwwKSBzY2FsZVkoLjk4NSk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsNXB4LDApIHNjYWxlWSguOTg1KX10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX1Aa2V5ZnJhbWVzIGJvdW5jZUluRG93bnswJSw2MCUsNzUlLDkwJSx0b3std2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKX0wJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMzAwMHB4LDApIHNjYWxlWSgzKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMzAwMHB4LDApIHNjYWxlWSgzKX02MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMjVweCwwKSBzY2FsZVkoLjkpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDI1cHgsMCkgc2NhbGVZKC45KX03NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMTBweCwwKSBzY2FsZVkoLjk1KTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMTBweCwwKSBzY2FsZVkoLjk1KX05MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCw1cHgsMCkgc2NhbGVZKC45ODUpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDVweCwwKSBzY2FsZVkoLjk4NSl9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19LmFuaW1hdGVfX2JvdW5jZUluRG93bnstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmJvdW5jZUluRG93bjthbmltYXRpb24tbmFtZTpib3VuY2VJbkRvd259QC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluTGVmdHswJSw2MCUsNzUlLDkwJSx0b3std2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKX0wJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTMwMDBweCwwLDApIHNjYWxlWCgzKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTMwMDBweCwwLDApIHNjYWxlWCgzKX02MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDI1cHgsMCwwKSBzY2FsZVgoMSk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDI1cHgsMCwwKSBzY2FsZVgoMSl9NzUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMHB4LDAsMCkgc2NhbGVYKC45OCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMHB4LDAsMCkgc2NhbGVYKC45OCl9OTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDVweCwwLDApIHNjYWxlWCguOTk1KTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoNXB4LDAsMCkgc2NhbGVYKC45OTUpfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fUBrZXlmcmFtZXMgYm91bmNlSW5MZWZ0ezAlLDYwJSw3NSUsOTAlLHRvey13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpfTAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMzAwMHB4LDAsMCkgc2NhbGVYKDMpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMzAwMHB4LDAsMCkgc2NhbGVYKDMpfTYwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMjVweCwwLDApIHNjYWxlWCgxKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMjVweCwwLDApIHNjYWxlWCgxKX03NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwcHgsMCwwKSBzY2FsZVgoLjk4KTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwcHgsMCwwKSBzY2FsZVgoLjk4KX05MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoNXB4LDAsMCkgc2NhbGVYKC45OTUpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCg1cHgsMCwwKSBzY2FsZVgoLjk5NSl9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19LmFuaW1hdGVfX2JvdW5jZUluTGVmdHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmJvdW5jZUluTGVmdDthbmltYXRpb24tbmFtZTpib3VuY2VJbkxlZnR9QC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluUmlnaHR7MCUsNjAlLDc1JSw5MCUsdG97LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSl9MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDMwMDBweCwwLDApIHNjYWxlWCgzKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMzAwMHB4LDAsMCkgc2NhbGVYKDMpfTYwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTI1cHgsMCwwKSBzY2FsZVgoMSk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0yNXB4LDAsMCkgc2NhbGVYKDEpfTc1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMHB4LDAsMCkgc2NhbGVYKC45OCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwcHgsMCwwKSBzY2FsZVgoLjk4KX05MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTVweCwwLDApIHNjYWxlWCguOTk1KTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTVweCwwLDApIHNjYWxlWCguOTk1KX10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX1Aa2V5ZnJhbWVzIGJvdW5jZUluUmlnaHR7MCUsNjAlLDc1JSw5MCUsdG97LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSl9MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDMwMDBweCwwLDApIHNjYWxlWCgzKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMzAwMHB4LDAsMCkgc2NhbGVYKDMpfTYwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTI1cHgsMCwwKSBzY2FsZVgoMSk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0yNXB4LDAsMCkgc2NhbGVYKDEpfTc1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMHB4LDAsMCkgc2NhbGVYKC45OCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwcHgsMCwwKSBzY2FsZVgoLjk4KX05MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTVweCwwLDApIHNjYWxlWCguOTk1KTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTVweCwwLDApIHNjYWxlWCguOTk1KX10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX0uYW5pbWF0ZV9fYm91bmNlSW5SaWdodHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmJvdW5jZUluUmlnaHQ7YW5pbWF0aW9uLW5hbWU6Ym91bmNlSW5SaWdodH1ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5VcHswJSw2MCUsNzUlLDkwJSx0b3std2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKX0wJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwzMDAwcHgsMCkgc2NhbGVZKDUpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDMwMDBweCwwKSBzY2FsZVkoNSl9NjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0yMHB4LDApIHNjYWxlWSguOSk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTIwcHgsMCkgc2NhbGVZKC45KX03NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwxMHB4LDApIHNjYWxlWSguOTUpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDEwcHgsMCkgc2NhbGVZKC45NSl9OTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTVweCwwKSBzY2FsZVkoLjk4NSk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTVweCwwKSBzY2FsZVkoLjk4NSl9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19QGtleWZyYW1lcyBib3VuY2VJblVwezAlLDYwJSw3NSUsOTAlLHRvey13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpfTAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDMwMDBweCwwKSBzY2FsZVkoNSk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMzAwMHB4LDApIHNjYWxlWSg1KX02MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTIwcHgsMCkgc2NhbGVZKC45KTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMjBweCwwKSBzY2FsZVkoLjkpfTc1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDEwcHgsMCkgc2NhbGVZKC45NSk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMTBweCwwKSBzY2FsZVkoLjk1KX05MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtNXB4LDApIHNjYWxlWSguOTg1KTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtNXB4LDApIHNjYWxlWSguOTg1KX10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX0uYW5pbWF0ZV9fYm91bmNlSW5VcHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmJvdW5jZUluVXA7YW5pbWF0aW9uLW5hbWU6Ym91bmNlSW5VcH1ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0ezIwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC45LC45LC45KTt0cmFuc2Zvcm06c2NhbGUzZCguOSwuOSwuOSl9NTAlLDU1JXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEuMSk7dHJhbnNmb3JtOnNjYWxlM2QoMS4xLDEuMSwxLjEpfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC4zLC4zLC4zKTt0cmFuc2Zvcm06c2NhbGUzZCguMywuMywuMyl9fUBrZXlmcmFtZXMgYm91bmNlT3V0ezIwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC45LC45LC45KTt0cmFuc2Zvcm06c2NhbGUzZCguOSwuOSwuOSl9NTAlLDU1JXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEuMSk7dHJhbnNmb3JtOnNjYWxlM2QoMS4xLDEuMSwxLjEpfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC4zLC4zLC4zKTt0cmFuc2Zvcm06c2NhbGUzZCguMywuMywuMyl9fS5hbmltYXRlX19ib3VuY2VPdXR7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246Ljc1czthbmltYXRpb24tZHVyYXRpb246Ljc1czstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjpjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pKjAuNzUpO2FuaW1hdGlvbi1kdXJhdGlvbjpjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pKjAuNzUpOy13ZWJraXQtYW5pbWF0aW9uLW5hbWU6Ym91bmNlT3V0O2FuaW1hdGlvbi1uYW1lOmJvdW5jZU91dH1ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0RG93bnsyMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwxMHB4LDApIHNjYWxlWSguOTg1KTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwxMHB4LDApIHNjYWxlWSguOTg1KX00MCUsNDUle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0yMHB4LDApIHNjYWxlWSguOSk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTIwcHgsMCkgc2NhbGVZKC45KX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwyMDAwcHgsMCkgc2NhbGVZKDMpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDIwMDBweCwwKSBzY2FsZVkoMyl9fUBrZXlmcmFtZXMgYm91bmNlT3V0RG93bnsyMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwxMHB4LDApIHNjYWxlWSguOTg1KTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwxMHB4LDApIHNjYWxlWSguOTg1KX00MCUsNDUle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0yMHB4LDApIHNjYWxlWSguOSk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTIwcHgsMCkgc2NhbGVZKC45KX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwyMDAwcHgsMCkgc2NhbGVZKDMpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDIwMDBweCwwKSBzY2FsZVkoMyl9fS5hbmltYXRlX19ib3VuY2VPdXREb3duey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6Ym91bmNlT3V0RG93bjthbmltYXRpb24tbmFtZTpib3VuY2VPdXREb3dufUAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRMZWZ0ezIwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMjBweCwwLDApIHNjYWxlWCguOSk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDIwcHgsMCwwKSBzY2FsZVgoLjkpfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMjAwMHB4LDAsMCkgc2NhbGVYKDIpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMjAwMHB4LDAsMCkgc2NhbGVYKDIpfX1Aa2V5ZnJhbWVzIGJvdW5jZU91dExlZnR7MjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgyMHB4LDAsMCkgc2NhbGVYKC45KTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMjBweCwwLDApIHNjYWxlWCguOSl9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0yMDAwcHgsMCwwKSBzY2FsZVgoMik7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0yMDAwcHgsMCwwKSBzY2FsZVgoMil9fS5hbmltYXRlX19ib3VuY2VPdXRMZWZ0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6Ym91bmNlT3V0TGVmdDthbmltYXRpb24tbmFtZTpib3VuY2VPdXRMZWZ0fUAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRSaWdodHsyMCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0yMHB4LDAsMCkgc2NhbGVYKC45KTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTIwcHgsMCwwKSBzY2FsZVgoLjkpfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgyMDAwcHgsMCwwKSBzY2FsZVgoMik7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDIwMDBweCwwLDApIHNjYWxlWCgyKX19QGtleWZyYW1lcyBib3VuY2VPdXRSaWdodHsyMCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0yMHB4LDAsMCkgc2NhbGVYKC45KTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTIwcHgsMCwwKSBzY2FsZVgoLjkpfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgyMDAwcHgsMCwwKSBzY2FsZVgoMik7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDIwMDBweCwwLDApIHNjYWxlWCgyKX19LmFuaW1hdGVfX2JvdW5jZU91dFJpZ2h0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6Ym91bmNlT3V0UmlnaHQ7YW5pbWF0aW9uLW5hbWU6Ym91bmNlT3V0UmlnaHR9QC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFVwezIwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0xMHB4LDApIHNjYWxlWSguOTg1KTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMTBweCwwKSBzY2FsZVkoLjk4NSl9NDAlLDQ1JXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwyMHB4LDApIHNjYWxlWSguOSk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMjBweCwwKSBzY2FsZVkoLjkpfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0yMDAwcHgsMCkgc2NhbGVZKDMpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0yMDAwcHgsMCkgc2NhbGVZKDMpfX1Aa2V5ZnJhbWVzIGJvdW5jZU91dFVwezIwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0xMHB4LDApIHNjYWxlWSguOTg1KTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMTBweCwwKSBzY2FsZVkoLjk4NSl9NDAlLDQ1JXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwyMHB4LDApIHNjYWxlWSguOSk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMjBweCwwKSBzY2FsZVkoLjkpfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0yMDAwcHgsMCkgc2NhbGVZKDMpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0yMDAwcHgsMCkgc2NhbGVZKDMpfX0uYW5pbWF0ZV9fYm91bmNlT3V0VXB7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpib3VuY2VPdXRVcDthbmltYXRpb24tbmFtZTpib3VuY2VPdXRVcH1ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluezAle29wYWNpdHk6MH10b3tvcGFjaXR5OjF9fUBrZXlmcmFtZXMgZmFkZUluezAle29wYWNpdHk6MH10b3tvcGFjaXR5OjF9fS5hbmltYXRlX19mYWRlSW57LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlSW47YW5pbWF0aW9uLW5hbWU6ZmFkZUlufUAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0xMDAlLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0xMDAlLDApfXRve29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX1Aa2V5ZnJhbWVzIGZhZGVJbkRvd257MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTEwMCUsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTEwMCUsMCl9dG97b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fS5hbmltYXRlX19mYWRlSW5Eb3duey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZUluRG93bjthbmltYXRpb24tbmFtZTpmYWRlSW5Eb3dufUAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duQmlnezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0yMDAwcHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTIwMDBweCwwKX10b3tvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19QGtleWZyYW1lcyBmYWRlSW5Eb3duQmlnezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0yMDAwcHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTIwMDBweCwwKX10b3tvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19LmFuaW1hdGVfX2ZhZGVJbkRvd25CaWd7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlSW5Eb3duQmlnO2FuaW1hdGlvbi1uYW1lOmZhZGVJbkRvd25CaWd9QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnR7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDAsMCl9dG97b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fUBrZXlmcmFtZXMgZmFkZUluTGVmdHswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKX10b3tvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19LmFuaW1hdGVfX2ZhZGVJbkxlZnR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlSW5MZWZ0O2FuaW1hdGlvbi1uYW1lOmZhZGVJbkxlZnR9QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWd7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0yMDAwcHgsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTIwMDBweCwwLDApfXRve29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX1Aa2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWd7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0yMDAwcHgsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTIwMDBweCwwLDApfXRve29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX0uYW5pbWF0ZV9fZmFkZUluTGVmdEJpZ3std2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhZGVJbkxlZnRCaWc7YW5pbWF0aW9uLW5hbWU6ZmFkZUluTGVmdEJpZ31ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHR7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApfXRve29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX1Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0ezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKX10b3tvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19LmFuaW1hdGVfX2ZhZGVJblJpZ2h0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZUluUmlnaHQ7YW5pbWF0aW9uLW5hbWU6ZmFkZUluUmlnaHR9QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgyMDAwcHgsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMjAwMHB4LDAsMCl9dG97b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fUBrZXlmcmFtZXMgZmFkZUluUmlnaHRCaWd7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDIwMDBweCwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgyMDAwcHgsMCwwKX10b3tvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19LmFuaW1hdGVfX2ZhZGVJblJpZ2h0Qmlney13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZUluUmlnaHRCaWc7YW5pbWF0aW9uLW5hbWU6ZmFkZUluUmlnaHRCaWd9QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDEwMCUsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMTAwJSwwKX10b3tvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19QGtleWZyYW1lcyBmYWRlSW5VcHswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwxMDAlLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDEwMCUsMCl9dG97b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fS5hbmltYXRlX19mYWRlSW5VcHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhZGVJblVwO2FuaW1hdGlvbi1uYW1lOmZhZGVJblVwfUAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcEJpZ3swJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwyMDAwcHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMjAwMHB4LDApfXRve29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX1Aa2V5ZnJhbWVzIGZhZGVJblVwQmlnezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDIwMDBweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwyMDAwcHgsMCl9dG97b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fS5hbmltYXRlX19mYWRlSW5VcEJpZ3std2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhZGVJblVwQmlnO2FuaW1hdGlvbi1uYW1lOmZhZGVJblVwQmlnfUAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Ub3BMZWZ0ezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwtMTAwJSwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsLTEwMCUsMCl9dG97b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fUBrZXlmcmFtZXMgZmFkZUluVG9wTGVmdHswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsLTEwMCUsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLC0xMDAlLDApfXRve29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX0uYW5pbWF0ZV9fZmFkZUluVG9wTGVmdHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhZGVJblRvcExlZnQ7YW5pbWF0aW9uLW5hbWU6ZmFkZUluVG9wTGVmdH1ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVG9wUmlnaHR7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsLTEwMCUsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsLTEwMCUsMCl9dG97b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fUBrZXlmcmFtZXMgZmFkZUluVG9wUmlnaHR7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsLTEwMCUsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsLTEwMCUsMCl9dG97b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fS5hbmltYXRlX19mYWRlSW5Ub3BSaWdodHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhZGVJblRvcFJpZ2h0O2FuaW1hdGlvbi1uYW1lOmZhZGVJblRvcFJpZ2h0fUAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Cb3R0b21MZWZ0ezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwxMDAlLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwxMDAlLDApfXRve29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX1Aa2V5ZnJhbWVzIGZhZGVJbkJvdHRvbUxlZnR7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDEwMCUsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDEwMCUsMCl9dG97b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fS5hbmltYXRlX19mYWRlSW5Cb3R0b21MZWZ0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZUluQm90dG9tTGVmdDthbmltYXRpb24tbmFtZTpmYWRlSW5Cb3R0b21MZWZ0fUAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Cb3R0b21SaWdodHswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwxMDAlLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDEwMCUsMCl9dG97b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fUBrZXlmcmFtZXMgZmFkZUluQm90dG9tUmlnaHR7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMTAwJSwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwxMDAlLDApfXRve29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX0uYW5pbWF0ZV9fZmFkZUluQm90dG9tUmlnaHR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlSW5Cb3R0b21SaWdodDthbmltYXRpb24tbmFtZTpmYWRlSW5Cb3R0b21SaWdodH1ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dHswJXtvcGFjaXR5OjF9dG97b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIGZhZGVPdXR7MCV7b3BhY2l0eToxfXRve29wYWNpdHk6MH19LmFuaW1hdGVfX2ZhZGVPdXR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlT3V0O2FuaW1hdGlvbi1uYW1lOmZhZGVPdXR9QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duezAle29wYWNpdHk6MX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwxMDAlLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDEwMCUsMCl9fUBrZXlmcmFtZXMgZmFkZU91dERvd257MCV7b3BhY2l0eToxfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDEwMCUsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMTAwJSwwKX19LmFuaW1hdGVfX2ZhZGVPdXREb3duey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZU91dERvd247YW5pbWF0aW9uLW5hbWU6ZmFkZU91dERvd259QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnezAle29wYWNpdHk6MX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwyMDAwcHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMjAwMHB4LDApfX1Aa2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnezAle29wYWNpdHk6MX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwyMDAwcHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMjAwMHB4LDApfX0uYW5pbWF0ZV9fZmFkZU91dERvd25CaWd7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlT3V0RG93bkJpZzthbmltYXRpb24tbmFtZTpmYWRlT3V0RG93bkJpZ31ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnR7MCV7b3BhY2l0eToxfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwLDApfX1Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0ezAle29wYWNpdHk6MX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKX19LmFuaW1hdGVfX2ZhZGVPdXRMZWZ0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZU91dExlZnQ7YW5pbWF0aW9uLW5hbWU6ZmFkZU91dExlZnR9QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnezAle29wYWNpdHk6MX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTIwMDBweCwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMjAwMHB4LDAsMCl9fUBrZXlmcmFtZXMgZmFkZU91dExlZnRCaWd7MCV7b3BhY2l0eToxfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMjAwMHB4LDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0yMDAwcHgsMCwwKX19LmFuaW1hdGVfX2ZhZGVPdXRMZWZ0Qmlney13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZU91dExlZnRCaWc7YW5pbWF0aW9uLW5hbWU6ZmFkZU91dExlZnRCaWd9QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodHswJXtvcGFjaXR5OjF9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApfX1Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodHswJXtvcGFjaXR5OjF9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApfX0uYW5pbWF0ZV9fZmFkZU91dFJpZ2h0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZU91dFJpZ2h0O2FuaW1hdGlvbi1uYW1lOmZhZGVPdXRSaWdodH1ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnezAle29wYWNpdHk6MX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMjAwMHB4LDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDIwMDBweCwwLDApfX1Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZ3swJXtvcGFjaXR5OjF9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDIwMDBweCwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgyMDAwcHgsMCwwKX19LmFuaW1hdGVfX2ZhZGVPdXRSaWdodEJpZ3std2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhZGVPdXRSaWdodEJpZzthbmltYXRpb24tbmFtZTpmYWRlT3V0UmlnaHRCaWd9QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcHswJXtvcGFjaXR5OjF9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTEwMCUsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTEwMCUsMCl9fUBrZXlmcmFtZXMgZmFkZU91dFVwezAle29wYWNpdHk6MX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMTAwJSwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMTAwJSwwKX19LmFuaW1hdGVfX2ZhZGVPdXRVcHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhZGVPdXRVcDthbmltYXRpb24tbmFtZTpmYWRlT3V0VXB9QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcEJpZ3swJXtvcGFjaXR5OjF9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTIwMDBweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMjAwMHB4LDApfX1Aa2V5ZnJhbWVzIGZhZGVPdXRVcEJpZ3swJXtvcGFjaXR5OjF9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTIwMDBweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMjAwMHB4LDApfX0uYW5pbWF0ZV9fZmFkZU91dFVwQmlney13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZU91dFVwQmlnO2FuaW1hdGlvbi1uYW1lOmZhZGVPdXRVcEJpZ31ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFRvcExlZnR7MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLC0xMDAlLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwtMTAwJSwwKX19QGtleWZyYW1lcyBmYWRlT3V0VG9wTGVmdHswJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsLTEwMCUsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLC0xMDAlLDApfX0uYW5pbWF0ZV9fZmFkZU91dFRvcExlZnR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlT3V0VG9wTGVmdDthbmltYXRpb24tbmFtZTpmYWRlT3V0VG9wTGVmdH1ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFRvcFJpZ2h0ezAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLC0xMDAlLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLC0xMDAlLDApfX1Aa2V5ZnJhbWVzIGZhZGVPdXRUb3BSaWdodHswJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwtMTAwJSwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwtMTAwJSwwKX19LmFuaW1hdGVfX2ZhZGVPdXRUb3BSaWdodHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhZGVPdXRUb3BSaWdodDthbmltYXRpb24tbmFtZTpmYWRlT3V0VG9wUmlnaHR9QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRCb3R0b21SaWdodHswJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwxMDAlLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDEwMCUsMCl9fUBrZXlmcmFtZXMgZmFkZU91dEJvdHRvbVJpZ2h0ezAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDEwMCUsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMTAwJSwwKX19LmFuaW1hdGVfX2ZhZGVPdXRCb3R0b21SaWdodHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhZGVPdXRCb3R0b21SaWdodDthbmltYXRpb24tbmFtZTpmYWRlT3V0Qm90dG9tUmlnaHR9QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRCb3R0b21MZWZ0ezAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwxMDAlLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwxMDAlLDApfX1Aa2V5ZnJhbWVzIGZhZGVPdXRCb3R0b21MZWZ0ezAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwxMDAlLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwxMDAlLDApfX0uYW5pbWF0ZV9fZmFkZU91dEJvdHRvbUxlZnR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlT3V0Qm90dG9tTGVmdDthbmltYXRpb24tbmFtZTpmYWRlT3V0Qm90dG9tTGVmdH1ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcHswJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGVYKDEpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgtMXR1cm4pO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGVYKDEpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgtMXR1cm4pOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fTQwJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGVYKDEpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoLTE5MGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZVgoMSkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgtMTkwZGVnKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH01MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlWCgxKSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKC0xNzBkZWcpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGVYKDEpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoLTE3MGRlZyk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWlufTgwJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsLjk1LC45NSkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDBkZWcpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsLjk1LC45NSkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDBkZWcpOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbn10b3std2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGVYKDEpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgwZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlWCgxKSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMGRlZyk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWlufX1Aa2V5ZnJhbWVzIGZsaXB7MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlWCgxKSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoLTF0dXJuKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlWCgxKSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoLTF0dXJuKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH00MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlWCgxKSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKC0xOTBkZWcpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGVYKDEpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoLTE5MGRlZyk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9NTAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZVgoMSkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgtMTcwZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlWCgxKSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKC0xNzBkZWcpOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbn04MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoLjk1LC45NSwuOTUpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgwZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoLjk1LC45NSwuOTUpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgwZGVnKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbjthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW59dG97LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlWCgxKSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZVgoMSkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDBkZWcpOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbn19LmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2ZsaXB7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OnZpc2libGU7YmFja2ZhY2UtdmlzaWJpbGl0eTp2aXNpYmxlOy13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmxpcDthbmltYXRpb24tbmFtZTpmbGlwfUAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5YezAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbjtvcGFjaXR5OjB9NDAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0yMGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0yMGRlZyk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWlufTYwJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgxMGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKTtvcGFjaXR5OjF9ODAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC01ZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTVkZWcpfXRvey13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpfX1Aa2V5ZnJhbWVzIGZsaXBJblh7MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluO29wYWNpdHk6MH00MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTIwZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTIwZGVnKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbjthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW59NjAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpO29wYWNpdHk6MX04MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTVkZWcpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtNWRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCl9fS5hbmltYXRlX19mbGlwSW5Yey13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTp2aXNpYmxlIWltcG9ydGFudDtiYWNrZmFjZS12aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50Oy13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmxpcEluWDthbmltYXRpb24tbmFtZTpmbGlwSW5YfUAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5ZezAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbjtvcGFjaXR5OjB9NDAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0yMGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0yMGRlZyk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWlufTYwJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgxMGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDEwZGVnKTtvcGFjaXR5OjF9ODAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC01ZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTVkZWcpfXRvey13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpfX1Aa2V5ZnJhbWVzIGZsaXBJbll7MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluO29wYWNpdHk6MH00MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTIwZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTIwZGVnKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbjthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW59NjAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDEwZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMTBkZWcpO29wYWNpdHk6MX04MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTVkZWcpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgtNWRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCl9fS5hbmltYXRlX19mbGlwSW5Zey13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTp2aXNpYmxlIWltcG9ydGFudDtiYWNrZmFjZS12aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50Oy13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmxpcEluWTthbmltYXRpb24tbmFtZTpmbGlwSW5ZfUAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WHswJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KX0zMCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTIwZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTIwZGVnKTtvcGFjaXR5OjF9dG97LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIGZsaXBPdXRYezAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpfTMwJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMjBkZWcpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMjBkZWcpO29wYWNpdHk6MX10b3std2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtvcGFjaXR5OjB9fS5hbmltYXRlX19mbGlwT3V0WHstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjouNzVzO2FuaW1hdGlvbi1kdXJhdGlvbjouNzVzOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOmNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikqMC43NSk7YW5pbWF0aW9uLWR1cmF0aW9uOmNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikqMC43NSk7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmbGlwT3V0WDthbmltYXRpb24tbmFtZTpmbGlwT3V0WDstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6dmlzaWJsZSFpbXBvcnRhbnQ7YmFja2ZhY2UtdmlzaWJpbGl0eTp2aXNpYmxlIWltcG9ydGFudH1ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFl7MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCl9MzAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0xNWRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0xNWRlZyk7b3BhY2l0eToxfXRvey13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO29wYWNpdHk6MH19QGtleWZyYW1lcyBmbGlwT3V0WXswJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KX0zMCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTE1ZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTE1ZGVnKTtvcGFjaXR5OjF9dG97LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7b3BhY2l0eTowfX0uYW5pbWF0ZV9fZmxpcE91dFl7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246Ljc1czthbmltYXRpb24tZHVyYXRpb246Ljc1czstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjpjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pKjAuNzUpO2FuaW1hdGlvbi1kdXJhdGlvbjpjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pKjAuNzUpOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTp2aXNpYmxlIWltcG9ydGFudDtiYWNrZmFjZS12aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50Oy13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmxpcE91dFk7YW5pbWF0aW9uLW5hbWU6ZmxpcE91dFl9QC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRJblJpZ2h0ezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKSBza2V3WCgtMzBkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCkgc2tld1goLTMwZGVnKTtvcGFjaXR5OjB9NjAley13ZWJraXQtdHJhbnNmb3JtOnNrZXdYKDIwZGVnKTt0cmFuc2Zvcm06c2tld1goMjBkZWcpO29wYWNpdHk6MX04MCV7LXdlYmtpdC10cmFuc2Zvcm06c2tld1goLTVkZWcpO3RyYW5zZm9ybTpza2V3WCgtNWRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19QGtleWZyYW1lcyBsaWdodFNwZWVkSW5SaWdodHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCkgc2tld1goLTMwZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApIHNrZXdYKC0zMGRlZyk7b3BhY2l0eTowfTYwJXstd2Via2l0LXRyYW5zZm9ybTpza2V3WCgyMGRlZyk7dHJhbnNmb3JtOnNrZXdYKDIwZGVnKTtvcGFjaXR5OjF9ODAley13ZWJraXQtdHJhbnNmb3JtOnNrZXdYKC01ZGVnKTt0cmFuc2Zvcm06c2tld1goLTVkZWcpfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fS5hbmltYXRlX19saWdodFNwZWVkSW5SaWdodHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmxpZ2h0U3BlZWRJblJpZ2h0O2FuaW1hdGlvbi1uYW1lOmxpZ2h0U3BlZWRJblJpZ2h0Oy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fUAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW5MZWZ0ezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDAsMCkgc2tld1goMzBkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwLDApIHNrZXdYKDMwZGVnKTtvcGFjaXR5OjB9NjAley13ZWJraXQtdHJhbnNmb3JtOnNrZXdYKC0yMGRlZyk7dHJhbnNmb3JtOnNrZXdYKC0yMGRlZyk7b3BhY2l0eToxfTgwJXstd2Via2l0LXRyYW5zZm9ybTpza2V3WCg1ZGVnKTt0cmFuc2Zvcm06c2tld1goNWRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19QGtleWZyYW1lcyBsaWdodFNwZWVkSW5MZWZ0ezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDAsMCkgc2tld1goMzBkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwLDApIHNrZXdYKDMwZGVnKTtvcGFjaXR5OjB9NjAley13ZWJraXQtdHJhbnNmb3JtOnNrZXdYKC0yMGRlZyk7dHJhbnNmb3JtOnNrZXdYKC0yMGRlZyk7b3BhY2l0eToxfTgwJXstd2Via2l0LXRyYW5zZm9ybTpza2V3WCg1ZGVnKTt0cmFuc2Zvcm06c2tld1goNWRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19LmFuaW1hdGVfX2xpZ2h0U3BlZWRJbkxlZnR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpsaWdodFNwZWVkSW5MZWZ0O2FuaW1hdGlvbi1uYW1lOmxpZ2h0U3BlZWRJbkxlZnQ7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9QC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXRSaWdodHswJXtvcGFjaXR5OjF9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApIHNrZXdYKDMwZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApIHNrZXdYKDMwZGVnKTtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dFJpZ2h0ezAle29wYWNpdHk6MX10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCkgc2tld1goMzBkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCkgc2tld1goMzBkZWcpO29wYWNpdHk6MH19LmFuaW1hdGVfX2xpZ2h0U3BlZWRPdXRSaWdodHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmxpZ2h0U3BlZWRPdXRSaWdodDthbmltYXRpb24tbmFtZTpsaWdodFNwZWVkT3V0UmlnaHQ7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWlufUAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkT3V0TGVmdHswJXtvcGFjaXR5OjF9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKSBza2V3WCgtMzBkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwLDApIHNrZXdYKC0zMGRlZyk7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXRMZWZ0ezAle29wYWNpdHk6MX10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwLDApIHNrZXdYKC0zMGRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDAsMCkgc2tld1goLTMwZGVnKTtvcGFjaXR5OjB9fS5hbmltYXRlX19saWdodFNwZWVkT3V0TGVmdHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmxpZ2h0U3BlZWRPdXRMZWZ0O2FuaW1hdGlvbi1uYW1lOmxpZ2h0U3BlZWRPdXRMZWZ0Oy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbn1ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC0yMDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTIwMGRlZyk7b3BhY2l0eTowfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIHJvdGF0ZUluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtMjAwZGVnKTt0cmFuc2Zvcm06cm90YXRlKC0yMDBkZWcpO29wYWNpdHk6MH10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO29wYWNpdHk6MX19LmFuaW1hdGVfX3JvdGF0ZUluey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6cm90YXRlSW47YW5pbWF0aW9uLW5hbWU6cm90YXRlSW47LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcn1ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdHswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKTt0cmFuc2Zvcm06cm90YXRlKC00NWRlZyk7b3BhY2l0eTowfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnR7MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC00NWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpO29wYWNpdHk6MH10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO29wYWNpdHk6MX19LmFuaW1hdGVfX3JvdGF0ZUluRG93bkxlZnR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpyb3RhdGVJbkRvd25MZWZ0O2FuaW1hdGlvbi1uYW1lOnJvdGF0ZUluRG93bkxlZnQ7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOmxlZnQgYm90dG9tO3RyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b219QC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0ezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7b3BhY2l0eTowfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0ezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7b3BhY2l0eTowfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7b3BhY2l0eToxfX0uYW5pbWF0ZV9fcm90YXRlSW5Eb3duUmlnaHR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpyb3RhdGVJbkRvd25SaWdodDthbmltYXRpb24tbmFtZTpyb3RhdGVJbkRvd25SaWdodDstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tO3RyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tfUAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwTGVmdHswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoNDVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoNDVkZWcpO29wYWNpdHk6MH10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO29wYWNpdHk6MX19QGtleWZyYW1lcyByb3RhdGVJblVwTGVmdHswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoNDVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoNDVkZWcpO29wYWNpdHk6MH10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO29wYWNpdHk6MX19LmFuaW1hdGVfX3JvdGF0ZUluVXBMZWZ0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6cm90YXRlSW5VcExlZnQ7YW5pbWF0aW9uLW5hbWU6cm90YXRlSW5VcExlZnQ7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOmxlZnQgYm90dG9tO3RyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b219QC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodHswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTt0cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7b3BhY2l0eTowfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodHswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTt0cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7b3BhY2l0eTowfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7b3BhY2l0eToxfX0uYW5pbWF0ZV9fcm90YXRlSW5VcFJpZ2h0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6cm90YXRlSW5VcFJpZ2h0O2FuaW1hdGlvbi1uYW1lOnJvdGF0ZUluVXBSaWdodDstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tO3RyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tfUAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXR7MCV7b3BhY2l0eToxfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgyMDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMjAwZGVnKTtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgcm90YXRlT3V0ezAle29wYWNpdHk6MX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMjAwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDIwMGRlZyk7b3BhY2l0eTowfX0uYW5pbWF0ZV9fcm90YXRlT3V0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6cm90YXRlT3V0O2FuaW1hdGlvbi1uYW1lOnJvdGF0ZU91dDstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyfUAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdHswJXtvcGFjaXR5OjF9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnR7MCV7b3BhY2l0eToxfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7b3BhY2l0eTowfX0uYW5pbWF0ZV9fcm90YXRlT3V0RG93bkxlZnR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpyb3RhdGVPdXREb3duTGVmdDthbmltYXRpb24tbmFtZTpyb3RhdGVPdXREb3duTGVmdDstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbX1ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0ezAle29wYWNpdHk6MX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKTt0cmFuc2Zvcm06cm90YXRlKC00NWRlZyk7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodHswJXtvcGFjaXR5OjF9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC00NWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpO29wYWNpdHk6MH19LmFuaW1hdGVfX3JvdGF0ZU91dERvd25SaWdodHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnJvdGF0ZU91dERvd25SaWdodDthbmltYXRpb24tbmFtZTpyb3RhdGVPdXREb3duUmlnaHQ7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTt0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbX1ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0ezAle29wYWNpdHk6MX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKTt0cmFuc2Zvcm06cm90YXRlKC00NWRlZyk7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdHswJXtvcGFjaXR5OjF9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC00NWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpO29wYWNpdHk6MH19LmFuaW1hdGVfX3JvdGF0ZU91dFVwTGVmdHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnJvdGF0ZU91dFVwTGVmdDthbmltYXRpb24tbmFtZTpyb3RhdGVPdXRVcExlZnQ7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOmxlZnQgYm90dG9tO3RyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b219QC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHR7MCV7b3BhY2l0eToxfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHR7MCV7b3BhY2l0eToxfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7b3BhY2l0eTowfX0uYW5pbWF0ZV9fcm90YXRlT3V0VXBSaWdodHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnJvdGF0ZU91dFVwUmlnaHQ7YW5pbWF0aW9uLW5hbWU6cm90YXRlT3V0VXBSaWdodDstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tO3RyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tfUAtd2Via2l0LWtleWZyYW1lcyBoaW5nZXswJXstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dH0yMCUsNjAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg4MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg4MGRlZyk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXR9NDAlLDgwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoNjBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoNjBkZWcpOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0O29wYWNpdHk6MX10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDcwMHB4LDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDcwMHB4LDApO29wYWNpdHk6MH19QGtleWZyYW1lcyBoaW5nZXswJXstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dH0yMCUsNjAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg4MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg4MGRlZyk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXR9NDAlLDgwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoNjBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoNjBkZWcpOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0O29wYWNpdHk6MX10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDcwMHB4LDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDcwMHB4LDApO29wYWNpdHk6MH19LmFuaW1hdGVfX2hpbmdley13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOjJzO2FuaW1hdGlvbi1kdXJhdGlvbjoyczstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjpjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pKjIpO2FuaW1hdGlvbi1kdXJhdGlvbjpjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pKjIpOy13ZWJraXQtYW5pbWF0aW9uLW5hbWU6aGluZ2U7YW5pbWF0aW9uLW5hbWU6aGluZ2U7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnRvcCBsZWZ0O3RyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnR9QC13ZWJraXQta2V5ZnJhbWVzIGphY2tJblRoZUJveHswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLjEpIHJvdGF0ZSgzMGRlZyk7dHJhbnNmb3JtOnNjYWxlKC4xKSByb3RhdGUoMzBkZWcpOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgYm90dG9tO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyIGJvdHRvbX01MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC0xMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtMTBkZWcpfTcwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoM2RlZyk7dHJhbnNmb3JtOnJvdGF0ZSgzZGVnKX10b3tvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfX1Aa2V5ZnJhbWVzIGphY2tJblRoZUJveHswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLjEpIHJvdGF0ZSgzMGRlZyk7dHJhbnNmb3JtOnNjYWxlKC4xKSByb3RhdGUoMzBkZWcpOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgYm90dG9tO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyIGJvdHRvbX01MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC0xMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtMTBkZWcpfTcwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoM2RlZyk7dHJhbnNmb3JtOnJvdGF0ZSgzZGVnKX10b3tvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfX0uYW5pbWF0ZV9famFja0luVGhlQm94ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6amFja0luVGhlQm94O2FuaW1hdGlvbi1uYW1lOmphY2tJblRoZUJveH1ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbEluezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwLDApIHJvdGF0ZSgtMTIwZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKSByb3RhdGUoLTEyMGRlZyl9dG97b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fUBrZXlmcmFtZXMgcm9sbEluezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwLDApIHJvdGF0ZSgtMTIwZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKSByb3RhdGUoLTEyMGRlZyl9dG97b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fS5hbmltYXRlX19yb2xsSW57LXdlYmtpdC1hbmltYXRpb24tbmFtZTpyb2xsSW47YW5pbWF0aW9uLW5hbWU6cm9sbElufUAtd2Via2l0LWtleWZyYW1lcyByb2xsT3V0ezAle29wYWNpdHk6MX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApIHJvdGF0ZSgxMjBkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCkgcm90YXRlKDEyMGRlZyl9fUBrZXlmcmFtZXMgcm9sbE91dHswJXtvcGFjaXR5OjF9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKSByb3RhdGUoMTIwZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApIHJvdGF0ZSgxMjBkZWcpfX0uYW5pbWF0ZV9fcm9sbE91dHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnJvbGxPdXQ7YW5pbWF0aW9uLW5hbWU6cm9sbE91dH1ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC4zLC4zLC4zKTt0cmFuc2Zvcm06c2NhbGUzZCguMywuMywuMyl9NTAle29wYWNpdHk6MX19QGtleWZyYW1lcyB6b29tSW57MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjMsLjMsLjMpO3RyYW5zZm9ybTpzY2FsZTNkKC4zLC4zLC4zKX01MCV7b3BhY2l0eToxfX0uYW5pbWF0ZV9fem9vbUluey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6em9vbUluO2FuaW1hdGlvbi1uYW1lOnpvb21Jbn1ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluRG93bnswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguMSwuMSwuMSkgdHJhbnNsYXRlM2QoMCwtMTAwMHB4LDApO3RyYW5zZm9ybTpzY2FsZTNkKC4xLC4xLC4xKSB0cmFuc2xhdGUzZCgwLC0xMDAwcHgsMCk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNTUsLjA1NSwuNjc1LC4xOSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjU1LC4wNTUsLjY3NSwuMTkpfTYwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoMCw2MHB4LDApO3RyYW5zZm9ybTpzY2FsZTNkKC40NzUsLjQ3NSwuNDc1KSB0cmFuc2xhdGUzZCgwLDYwcHgsMCk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMTc1LC44ODUsLjMyLDEpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4xNzUsLjg4NSwuMzIsMSl9fUBrZXlmcmFtZXMgem9vbUluRG93bnswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguMSwuMSwuMSkgdHJhbnNsYXRlM2QoMCwtMTAwMHB4LDApO3RyYW5zZm9ybTpzY2FsZTNkKC4xLC4xLC4xKSB0cmFuc2xhdGUzZCgwLC0xMDAwcHgsMCk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNTUsLjA1NSwuNjc1LC4xOSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjU1LC4wNTUsLjY3NSwuMTkpfTYwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoMCw2MHB4LDApO3RyYW5zZm9ybTpzY2FsZTNkKC40NzUsLjQ3NSwuNDc1KSB0cmFuc2xhdGUzZCgwLDYwcHgsMCk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMTc1LC44ODUsLjMyLDEpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4xNzUsLjg4NSwuMzIsMSl9fS5hbmltYXRlX196b29tSW5Eb3duey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6em9vbUluRG93bjthbmltYXRpb24tbmFtZTp6b29tSW5Eb3dufUAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5MZWZ0ezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC4xLC4xLC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LDAsMCk7dHJhbnNmb3JtOnNjYWxlM2QoLjEsLjEsLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsMCwwKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC41NSwuMDU1LC42NzUsLjE5KTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNTUsLjA1NSwuNjc1LC4xOSl9NjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC40NzUsLjQ3NSwuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LDAsMCk7dHJhbnNmb3JtOnNjYWxlM2QoLjQ3NSwuNDc1LC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsMCwwKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4xNzUsLjg4NSwuMzIsMSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxKX19QGtleWZyYW1lcyB6b29tSW5MZWZ0ezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC4xLC4xLC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LDAsMCk7dHJhbnNmb3JtOnNjYWxlM2QoLjEsLjEsLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsMCwwKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC41NSwuMDU1LC42NzUsLjE5KTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNTUsLjA1NSwuNjc1LC4xOSl9NjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC40NzUsLjQ3NSwuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LDAsMCk7dHJhbnNmb3JtOnNjYWxlM2QoLjQ3NSwuNDc1LC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsMCwwKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4xNzUsLjg4NSwuMzIsMSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxKX19LmFuaW1hdGVfX3pvb21JbkxlZnR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTp6b29tSW5MZWZ0O2FuaW1hdGlvbi1uYW1lOnpvb21JbkxlZnR9QC13ZWJraXQta2V5ZnJhbWVzIHpvb21JblJpZ2h0ezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC4xLC4xLC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsMCwwKTt0cmFuc2Zvcm06c2NhbGUzZCguMSwuMSwuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LDAsMCk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNTUsLjA1NSwuNjc1LC4xOSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjU1LC4wNTUsLjY3NSwuMTkpfTYwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsMCwwKTt0cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsMCwwKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4xNzUsLjg4NSwuMzIsMSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxKX19QGtleWZyYW1lcyB6b29tSW5SaWdodHswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguMSwuMSwuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LDAsMCk7dHJhbnNmb3JtOnNjYWxlM2QoLjEsLjEsLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwwLDApOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjU1LC4wNTUsLjY3NSwuMTkpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC41NSwuMDU1LC42NzUsLjE5KX02MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjQ3NSwuNDc1LC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LDAsMCk7dHJhbnNmb3JtOnNjYWxlM2QoLjQ3NSwuNDc1LC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LDAsMCk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMTc1LC44ODUsLjMyLDEpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4xNzUsLjg4NSwuMzIsMSl9fS5hbmltYXRlX196b29tSW5SaWdodHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnpvb21JblJpZ2h0O2FuaW1hdGlvbi1uYW1lOnpvb21JblJpZ2h0fUAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5VcHswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguMSwuMSwuMSkgdHJhbnNsYXRlM2QoMCwxMDAwcHgsMCk7dHJhbnNmb3JtOnNjYWxlM2QoLjEsLjEsLjEpIHRyYW5zbGF0ZTNkKDAsMTAwMHB4LDApOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjU1LC4wNTUsLjY3NSwuMTkpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC41NSwuMDU1LC42NzUsLjE5KX02MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjQ3NSwuNDc1LC40NzUpIHRyYW5zbGF0ZTNkKDAsLTYwcHgsMCk7dHJhbnNmb3JtOnNjYWxlM2QoLjQ3NSwuNDc1LC40NzUpIHRyYW5zbGF0ZTNkKDAsLTYwcHgsMCk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMTc1LC44ODUsLjMyLDEpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4xNzUsLjg4NSwuMzIsMSl9fUBrZXlmcmFtZXMgem9vbUluVXB7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjEsLjEsLjEpIHRyYW5zbGF0ZTNkKDAsMTAwMHB4LDApO3RyYW5zZm9ybTpzY2FsZTNkKC4xLC4xLC4xKSB0cmFuc2xhdGUzZCgwLDEwMDBweCwwKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC41NSwuMDU1LC42NzUsLjE5KTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNTUsLjA1NSwuNjc1LC4xOSl9NjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC40NzUsLjQ3NSwuNDc1KSB0cmFuc2xhdGUzZCgwLC02MHB4LDApO3RyYW5zZm9ybTpzY2FsZTNkKC40NzUsLjQ3NSwuNDc1KSB0cmFuc2xhdGUzZCgwLC02MHB4LDApOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxKTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMTc1LC44ODUsLjMyLDEpfX0uYW5pbWF0ZV9fem9vbUluVXB7LXdlYmtpdC1hbmltYXRpb24tbmFtZTp6b29tSW5VcDthbmltYXRpb24tbmFtZTp6b29tSW5VcH1ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dHswJXtvcGFjaXR5OjF9NTAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC4zLC4zLC4zKTt0cmFuc2Zvcm06c2NhbGUzZCguMywuMywuMyl9dG97b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIHpvb21PdXR7MCV7b3BhY2l0eToxfTUwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguMywuMywuMyk7dHJhbnNmb3JtOnNjYWxlM2QoLjMsLjMsLjMpfXRve29wYWNpdHk6MH19LmFuaW1hdGVfX3pvb21PdXR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTp6b29tT3V0O2FuaW1hdGlvbi1uYW1lOnpvb21PdXR9QC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXREb3duezQwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoMCwtNjBweCwwKTt0cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoMCwtNjBweCwwKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC41NSwuMDU1LC42NzUsLjE5KTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNTUsLjA1NSwuNjc1LC4xOSl9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjEsLjEsLjEpIHRyYW5zbGF0ZTNkKDAsMjAwMHB4LDApO3RyYW5zZm9ybTpzY2FsZTNkKC4xLC4xLC4xKSB0cmFuc2xhdGUzZCgwLDIwMDBweCwwKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4xNzUsLjg4NSwuMzIsMSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxKX19QGtleWZyYW1lcyB6b29tT3V0RG93bns0MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjQ3NSwuNDc1LC40NzUpIHRyYW5zbGF0ZTNkKDAsLTYwcHgsMCk7dHJhbnNmb3JtOnNjYWxlM2QoLjQ3NSwuNDc1LC40NzUpIHRyYW5zbGF0ZTNkKDAsLTYwcHgsMCk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNTUsLjA1NSwuNjc1LC4xOSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjU1LC4wNTUsLjY3NSwuMTkpfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC4xLC4xLC4xKSB0cmFuc2xhdGUzZCgwLDIwMDBweCwwKTt0cmFuc2Zvcm06c2NhbGUzZCguMSwuMSwuMSkgdHJhbnNsYXRlM2QoMCwyMDAwcHgsMCk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMTc1LC44ODUsLjMyLDEpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4xNzUsLjg4NSwuMzIsMSl9fS5hbmltYXRlX196b29tT3V0RG93bnstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnpvb21PdXREb3duO2FuaW1hdGlvbi1uYW1lOnpvb21PdXREb3duOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgYm90dG9tO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyIGJvdHRvbX1ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dExlZnR7NDAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC40NzUsLjQ3NSwuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LDAsMCk7dHJhbnNmb3JtOnNjYWxlM2QoLjQ3NSwuNDc1LC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsMCwwKX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsMCwwKTt0cmFuc2Zvcm06c2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsMCwwKX19QGtleWZyYW1lcyB6b29tT3V0TGVmdHs0MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjQ3NSwuNDc1LC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsMCwwKTt0cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwwLDApfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwwLDApO3RyYW5zZm9ybTpzY2FsZSguMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwwLDApfX0uYW5pbWF0ZV9fem9vbU91dExlZnR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTp6b29tT3V0TGVmdDthbmltYXRpb24tbmFtZTp6b29tT3V0TGVmdDstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46bGVmdCBjZW50ZXI7dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGNlbnRlcn1ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFJpZ2h0ezQwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsMCwwKTt0cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsMCwwKX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwwLDApO3RyYW5zZm9ybTpzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LDAsMCl9fUBrZXlmcmFtZXMgem9vbU91dFJpZ2h0ezQwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsMCwwKTt0cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsMCwwKX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwwLDApO3RyYW5zZm9ybTpzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LDAsMCl9fS5hbmltYXRlX196b29tT3V0UmlnaHR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTp6b29tT3V0UmlnaHQ7YW5pbWF0aW9uLW5hbWU6em9vbU91dFJpZ2h0Oy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpyaWdodCBjZW50ZXI7dHJhbnNmb3JtLW9yaWdpbjpyaWdodCBjZW50ZXJ9QC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRVcHs0MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjQ3NSwuNDc1LC40NzUpIHRyYW5zbGF0ZTNkKDAsNjBweCwwKTt0cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoMCw2MHB4LDApOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjU1LC4wNTUsLjY3NSwuMTkpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC41NSwuMDU1LC42NzUsLjE5KX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguMSwuMSwuMSkgdHJhbnNsYXRlM2QoMCwtMjAwMHB4LDApO3RyYW5zZm9ybTpzY2FsZTNkKC4xLC4xLC4xKSB0cmFuc2xhdGUzZCgwLC0yMDAwcHgsMCk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMTc1LC44ODUsLjMyLDEpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4xNzUsLjg4NSwuMzIsMSl9fUBrZXlmcmFtZXMgem9vbU91dFVwezQwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoMCw2MHB4LDApO3RyYW5zZm9ybTpzY2FsZTNkKC40NzUsLjQ3NSwuNDc1KSB0cmFuc2xhdGUzZCgwLDYwcHgsMCk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNTUsLjA1NSwuNjc1LC4xOSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjU1LC4wNTUsLjY3NSwuMTkpfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC4xLC4xLC4xKSB0cmFuc2xhdGUzZCgwLC0yMDAwcHgsMCk7dHJhbnNmb3JtOnNjYWxlM2QoLjEsLjEsLjEpIHRyYW5zbGF0ZTNkKDAsLTIwMDBweCwwKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4xNzUsLjg4NSwuMzIsMSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxKX19LmFuaW1hdGVfX3pvb21PdXRVcHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnpvb21PdXRVcDthbmltYXRpb24tbmFtZTp6b29tT3V0VXA7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOmNlbnRlciBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgYm90dG9tfUAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluRG93bnswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0xMDAlLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0xMDAlLDApO3Zpc2liaWxpdHk6dmlzaWJsZX10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX1Aa2V5ZnJhbWVzIHNsaWRlSW5Eb3duezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTEwMCUsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTEwMCUsMCk7dmlzaWJpbGl0eTp2aXNpYmxlfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fS5hbmltYXRlX19zbGlkZUluRG93bnstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnNsaWRlSW5Eb3duO2FuaW1hdGlvbi1uYW1lOnNsaWRlSW5Eb3dufUAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluTGVmdHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwLDApO3Zpc2liaWxpdHk6dmlzaWJsZX10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX1Aa2V5ZnJhbWVzIHNsaWRlSW5MZWZ0ezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDAsMCk7dmlzaWJpbGl0eTp2aXNpYmxlfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fS5hbmltYXRlX19zbGlkZUluTGVmdHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnNsaWRlSW5MZWZ0O2FuaW1hdGlvbi1uYW1lOnNsaWRlSW5MZWZ0fUAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluUmlnaHR7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCk7dmlzaWJpbGl0eTp2aXNpYmxlfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fUBrZXlmcmFtZXMgc2xpZGVJblJpZ2h0ezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApO3Zpc2liaWxpdHk6dmlzaWJsZX10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX0uYW5pbWF0ZV9fc2xpZGVJblJpZ2h0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6c2xpZGVJblJpZ2h0O2FuaW1hdGlvbi1uYW1lOnNsaWRlSW5SaWdodH1ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblVwezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMTAwJSwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwxMDAlLDApO3Zpc2liaWxpdHk6dmlzaWJsZX10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX1Aa2V5ZnJhbWVzIHNsaWRlSW5VcHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDEwMCUsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMTAwJSwwKTt2aXNpYmlsaXR5OnZpc2libGV9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19LmFuaW1hdGVfX3NsaWRlSW5VcHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnNsaWRlSW5VcDthbmltYXRpb24tbmFtZTpzbGlkZUluVXB9QC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0RG93bnswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfXRve3Zpc2liaWxpdHk6aGlkZGVuOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMTAwJSwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwxMDAlLDApfX1Aa2V5ZnJhbWVzIHNsaWRlT3V0RG93bnswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfXRve3Zpc2liaWxpdHk6aGlkZGVuOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMTAwJSwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwxMDAlLDApfX0uYW5pbWF0ZV9fc2xpZGVPdXREb3duey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6c2xpZGVPdXREb3duO2FuaW1hdGlvbi1uYW1lOnNsaWRlT3V0RG93bn1ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRMZWZ0ezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9dG97dmlzaWJpbGl0eTpoaWRkZW47LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKX19QGtleWZyYW1lcyBzbGlkZU91dExlZnR7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX10b3t2aXNpYmlsaXR5OmhpZGRlbjstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwLDApfX0uYW5pbWF0ZV9fc2xpZGVPdXRMZWZ0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6c2xpZGVPdXRMZWZ0O2FuaW1hdGlvbi1uYW1lOnNsaWRlT3V0TGVmdH1ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRSaWdodHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfXRve3Zpc2liaWxpdHk6aGlkZGVuOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApfX1Aa2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHR7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX10b3t2aXNpYmlsaXR5OmhpZGRlbjstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKX19LmFuaW1hdGVfX3NsaWRlT3V0UmlnaHR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpzbGlkZU91dFJpZ2h0O2FuaW1hdGlvbi1uYW1lOnNsaWRlT3V0UmlnaHR9QC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0VXB7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX10b3t2aXNpYmlsaXR5OmhpZGRlbjstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0xMDAlLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0xMDAlLDApfX1Aa2V5ZnJhbWVzIHNsaWRlT3V0VXB7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX10b3t2aXNpYmlsaXR5OmhpZGRlbjstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0xMDAlLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0xMDAlLDApfX0uYW5pbWF0ZV9fc2xpZGVPdXRVcHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnNsaWRlT3V0VXA7YW5pbWF0aW9uLW5hbWU6c2xpZGVPdXRVcH0="}},"time_used":28,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":28,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/fonts/Montserrat-Bold.woff2","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.264Z","timestamp":1785120633264,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /fonts/Montserrat-Bold.woff2 HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/fonts/stylesheet.css\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: font/woff2\r\nContent-Length: 91700\r\nLast-Modified: Tue, 14 Apr 2026 04:20:06 GMT\r\nConnection: keep-alive\r\nETag: \"69ddc076-16634\"\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":91700,"size_decoded":91943,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 91700, version 1.0","md5":"eeadf3222bbae73a113921de9f1c6f7a","sha1":"67ef2783780c94753d2cbdb6bc98f04a5522f2db","sha256":"f052bcffa2e3fee9733296a15176435d83d94fdc6621ea7f32af6f0711d0816f","sha512":"3502af84721215f01f2f4b44a42119f1a5d53cf8ada7ee1d5b26298b634ce3a8993c6487bcc76757d5e7223f56d9b42b5e0df365cb82825f5a2aa012f37ec904","ssdeep":"1536:cKvdrniwZ/+FDwxsmcAh8uxjJka0nJXmAfV+haZXfIPULVCCQM4ABHnEi:cmWwZ2FMXr0JWAV+gnJxNBki","tlshash":"1f930298cd926e625176d4facb4c544161232e6fe41c8d3cc23ce2aa3a3f5e74b44b6c","first_seen":"2023-04-19T00:11:12Z","last_seen":"2026-07-27T02:59:54.531928Z","times_seen":478,"resource_available":false,"data":"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"}},"time_used":29,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":28,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/13148.32cc01dc01751b91682c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.918Z","timestamp":1785120633918,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/13148.32cc01dc01751b91682c.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"6a06d56c-12cc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 15 May 2026 08:12:28 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.53\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/15/2026 10:19:05\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 720a11d38530bea2143457bf75d5a334\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4812,"size_decoded":2619,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3061)","md5":"9eb8a2729659cd900aee823198b62b43","sha1":"27c53602ca760b97d71eef345b01c1d537900aad","sha256":"3ac4b66b0a6823b837035a5dfdf7fe41b01ccf2a2ac115b143c12356080ebdac","sha512":"6c86fb2c2378e589f4353d32a048ae866196581fc0a8a7ed13c379eb47eab41fcbfc0ee44f3ffe77ff3800136be1da4fbfecfe3456524b96712a1e5cef42945f","ssdeep":"96:FRi/jMMHFeHojARuZi0DWss7UebYiWWD+WRdiaEBymSM0qRIv0nrWvW1HN6Fb0so:rEjMMlIeARmLWss77bJWWD+WRd8ymSM9","tlshash":"66a1e987b9c2f0a063d9aca5953b054ae23d6c1c711bf0e8e2e9d5d19c7b10b9112f36","first_seen":"2026-05-15T11:49:16.287975Z","last_seen":"2026-07-27T05:15:36.991702Z","times_seen":3715,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMTMxNDhdLHs3MzU5ODModCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5kfSk7Y29uc3Qgbz1mdW5jdGlvbigpe3RoaXMuX19kYXRhX189W10sdGhpcy5zaXplPTB9O3ZhciByPW4oOTEwNzc4KTtjb25zdCBhPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXQubGVuZ3RoO24tLTspaWYoKDAsci5kZWZhdWx0KSh0W25dWzBdLGUpKXJldHVybiBuO3JldHVybi0xfTt2YXIgcz1BcnJheS5wcm90b3R5cGUuc3BsaWNlO2NvbnN0IGM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fX2RhdGFfXyxuPWEoZSx0KTtyZXR1cm4hKG48MCkmJihuPT1lLmxlbmd0aC0xP2UucG9wKCk6cy5jYWxsKGUsbiwxKSwtLXRoaXMuc2l6ZSwhMCl9O2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fX2RhdGFfXyxuPWEoZSx0KTtyZXR1cm4gbjwwP3ZvaWQgMDplW25dWzFdfTtjb25zdCB1PWZ1bmN0aW9uKHQpe3JldHVybiBhKHRoaXMuX19kYXRhX18sdCk+LTF9O2NvbnN0IGw9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLl9fZGF0YV9fLG89YShuLHQpO3JldHVybiBvPDA/KCsrdGhpcy5zaXplLG4ucHVzaChbdCxlXSkpOm5bb11bMV09ZSx0aGlzfTtmdW5jdGlvbiBmKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgbz10W2VdO3RoaXMuc2V0KG9bMF0sb1sxXSl9fWYucHJvdG90eXBlLmNsZWFyPW8sZi5wcm90b3R5cGUuZGVsZXRlPWMsZi5wcm90b3R5cGUuZ2V0PWksZi5wcm90b3R5cGUuaGFzPXUsZi5wcm90b3R5cGUuc2V0PWw7Y29uc3QgZD1mfSw2OTQyMSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbz1uKDE2MjMxNikscj1uKDk4MTUyMyk7Y29uc3QgYT0oMCxvLmRlZmF1bHQpKHIuZGVmYXVsdCwiTWFwIil9LDcxMzE0OCh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pnp9KTtjb25zdCBvPSgwLG4oMTYyMzE2KS5kZWZhdWx0KShPYmplY3QsImNyZWF0ZSIpO2NvbnN0IHI9ZnVuY3Rpb24oKXt0aGlzLl9fZGF0YV9fPW8/byhudWxsKTp7fSx0aGlzLnNpemU9MH07Y29uc3QgYT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmhhcyh0KSYmZGVsZXRlIHRoaXMuX19kYXRhX19bdF07cmV0dXJuIHRoaXMuc2l6ZS09ZT8xOjAsZX07dmFyIHM9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBjPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX187aWYobyl7dmFyIG49ZVt0XTtyZXR1cm4iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI9PT1uP3ZvaWQgMDpufXJldHVybiBzLmNhbGwoZSx0KT9lW3RdOnZvaWQgMH07dmFyIGk9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCB1PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX187cmV0dXJuIG8/dm9pZCAwIT09ZVt0XTppLmNhbGwoZSx0KX07Y29uc3QgbD1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuX19kYXRhX187cmV0dXJuIHRoaXMuc2l6ZSs9dGhpcy5oYXModCk/MDoxLG5bdF09byYmdm9pZCAwPT09ZT8iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI6ZSx0aGlzfTtmdW5jdGlvbiBmKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgbz10W2VdO3RoaXMuc2V0KG9bMF0sb1sxXSl9fWYucHJvdG90eXBlLmNsZWFyPXIsZi5wcm90b3R5cGUuZGVsZXRlPWEsZi5wcm90b3R5cGUuZ2V0PWMsZi5wcm90b3R5cGUuaGFzPXUsZi5wcm90b3R5cGUuc2V0PWw7Y29uc3QgZD1mO3ZhciBfPW4oNzM1OTgzKSxoPW4oNjk0MjEpO2NvbnN0IHA9ZnVuY3Rpb24oKXt0aGlzLnNpemU9MCx0aGlzLl9fZGF0YV9fPXtoYXNoOm5ldyBkLG1hcDpuZXcoaC5kZWZhdWx0fHxfLmRlZmF1bHQpLHN0cmluZzpuZXcgZH19O2NvbnN0IHY9ZnVuY3Rpb24odCl7dmFyIGU9dHlwZW9mIHQ7cmV0dXJuInN0cmluZyI9PWV8fCJudW1iZXIiPT1lfHwic3ltYm9sIj09ZXx8ImJvb2xlYW4iPT1lPyJfX3Byb3RvX18iIT09dDpudWxsPT09dH07Y29uc3QgeT1mdW5jdGlvbih0LGUpe3ZhciBuPXQuX19kYXRhX187cmV0dXJuIHYoZSk/blsic3RyaW5nIj09dHlwZW9mIGU/InN0cmluZyI6Imhhc2giXTpuLm1hcH07Y29uc3QgZz1mdW5jdGlvbih0KXt2YXIgZT15KHRoaXMsdCkuZGVsZXRlKHQpO3JldHVybiB0aGlzLnNpemUtPWU/MTowLGV9O2NvbnN0IGI9ZnVuY3Rpb24odCl7cmV0dXJuIHkodGhpcyx0KS5nZXQodCl9O2NvbnN0IGo9ZnVuY3Rpb24odCl7cmV0dXJuIHkodGhpcyx0KS5oYXModCl9O2NvbnN0IE89ZnVuY3Rpb24odCxlKXt2YXIgbj15KHRoaXMsdCksbz1uLnNpemU7cmV0dXJuIG4uc2V0KHQsZSksdGhpcy5zaXplKz1uLnNpemU9PW8/MDoxLHRoaXN9O2Z1bmN0aW9uIHcodCl7dmFyIGU9LTEsbj1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK2U8bjspe3ZhciBvPXRbZV07dGhpcy5zZXQob1swXSxvWzFdKX19dy5wcm90b3R5cGUuY2xlYXI9cCx3LnByb3RvdHlwZS5kZWxldGU9Zyx3LnByb3RvdHlwZS5nZXQ9Yix3LnByb3RvdHlwZS5oYXM9aix3LnByb3RvdHlwZS5zZXQ9Tztjb25zdCB6PXd9LDg3Mjk5OSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTtjb25zdCBvPW4oOTgxNTIzKS5kZWZhdWx0LlN5bWJvbH0sMTc4NDk3KHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+ZH0pO3ZhciBvPW4oODcyOTk5KSxyPU9iamVjdC5wcm90b3R5cGUsYT1yLmhhc093blByb3BlcnR5LHM9ci50b1N0cmluZyxjPW8uZGVmYXVsdD9vLmRlZmF1bHQudG9TdHJpbmdUYWc6dm9pZCAwO2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9YS5jYWxsKHQsYyksbj10W2NdO3RyeXt0W2NdPXZvaWQgMDt2YXIgbz0hMH1jYXRjaCh0KXt9dmFyIHI9cy5jYWxsKHQpO3JldHVybiBvJiYoZT90W2NdPW46ZGVsZXRlIHRbY10pLHJ9O3ZhciB1PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7Y29uc3QgbD1mdW5jdGlvbih0KXtyZXR1cm4gdS5jYWxsKHQpfQo7dmFyIGY9by5kZWZhdWx0P28uZGVmYXVsdC50b1N0cmluZ1RhZzp2b2lkIDA7Y29uc3QgZD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD92b2lkIDA9PT10PyJbb2JqZWN0IFVuZGVmaW5lZF0iOiJbb2JqZWN0IE51bGxdIjpmJiZmIGluIE9iamVjdCh0KT9pKHQpOmwodCl9fSw2MDI5NDIodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5vfSk7Y29uc3Qgbz0ib2JqZWN0Ij09dHlwZW9mIG4uZyYmbi5nJiZuLmcuT2JqZWN0PT09T2JqZWN0JiZuLmd9LDE2MjMxNih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pmd9KTt2YXIgbz1uKDkyODEzMik7Y29uc3Qgcj1uKDk4MTUyMykuZGVmYXVsdFsiX19jb3JlLWpzX3NoYXJlZF9fIl07dmFyIGEscz0oYT0vW14uXSskLy5leGVjKHImJnIua2V5cyYmci5rZXlzLklFX1BST1RPfHwiIikpPyJTeW1ib2woc3JjKV8xLiIrYToiIjtjb25zdCBjPWZ1bmN0aW9uKHQpe3JldHVybiEhcyYmcyBpbiB0fTt2YXIgaT1uKDg4MDExNSksdT1uKDczMDUwMyksbD0vXlxbb2JqZWN0IC4rP0NvbnN0cnVjdG9yXF0kLyxmPUZ1bmN0aW9uLnByb3RvdHlwZSxkPU9iamVjdC5wcm90b3R5cGUsXz1mLnRvU3RyaW5nLGg9ZC5oYXNPd25Qcm9wZXJ0eSxwPVJlZ0V4cCgiXiIrXy5jYWxsKGgpLnJlcGxhY2UoL1tcXF4kLiorPygpW1xde318XS9nLCJcXCQmIikucmVwbGFjZSgvaGFzT3duUHJvcGVydHl8KGZ1bmN0aW9uKS4qPyg/PVxcXCgpfCBmb3IgLis/KD89XFxcXSkvZywiJDEuKj8iKSsiJCIpO2NvbnN0IHY9ZnVuY3Rpb24odCl7cmV0dXJuISghKDAsaS5kZWZhdWx0KSh0KXx8Yyh0KSkmJigoMCxvLmRlZmF1bHQpKHQpP3A6bCkudGVzdCgoMCx1LmRlZmF1bHQpKHQpKX07Y29uc3QgeT1mdW5jdGlvbih0LGUpe3JldHVybiBudWxsPT10P3ZvaWQgMDp0W2VdfTtjb25zdCBnPWZ1bmN0aW9uKHQsZSl7dmFyIG49eSh0LGUpO3JldHVybiB2KG4pP246dm9pZCAwfX0sOTgxNTIzKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBvPW4oNjAyOTQyKSxyPSJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZiYmc2VsZi5PYmplY3Q9PT1PYmplY3QmJnNlbGY7Y29uc3QgYT1vLmRlZmF1bHR8fHJ8fEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCl9LDczMDUwMyh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgbz1GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmc7Y29uc3Qgcj1mdW5jdGlvbih0KXtpZihudWxsIT10KXt0cnl7cmV0dXJuIG8uY2FsbCh0KX1jYXRjaCh0KXt9dHJ5e3JldHVybiB0KyIifWNhdGNoKHQpe319cmV0dXJuIiJ9fSw5MTA3NzgodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5vfSk7Y29uc3Qgbz1mdW5jdGlvbih0LGUpe3JldHVybiB0PT09ZXx8dCE9dCYmZSE9ZX19LDkyODEzMih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbz1uKDE3ODQ5Nykscj1uKDg4MDExNSk7Y29uc3QgYT1mdW5jdGlvbih0KXtpZighKDAsci5kZWZhdWx0KSh0KSlyZXR1cm4hMTt2YXIgZT0oMCxvLmRlZmF1bHQpKHQpO3JldHVybiJbb2JqZWN0IEZ1bmN0aW9uXSI9PWV8fCJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSI9PWV8fCJbb2JqZWN0IEFzeW5jRnVuY3Rpb25dIj09ZXx8IltvYmplY3QgUHJveHldIj09ZX19LDg4MDExNSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTtjb25zdCBvPWZ1bmN0aW9uKHQpe3ZhciBlPXR5cGVvZiB0O3JldHVybiBudWxsIT10JiYoIm9iamVjdCI9PWV8fCJmdW5jdGlvbiI9PWUpfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/80706.a5913aa6ad62d9dbf031.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.189Z","timestamp":1785120634189,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/80706.a5913aa6ad62d9dbf031.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-1be6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b7f6f120020b29da6b1fe894b9a468a9\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":7142,"size_decoded":4236,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3068)","md5":"7d7a3ddeb844a1fdfe8b024f9df9f0b6","sha1":"b3afece36b14fafc7889e9b954f9736c892a2849","sha256":"0752584a0f2ad3bba4f44bbd6a44bf08a76726c524b79367996ab9b20e03bfba","sha512":"c0b04bf9ca52fee536a54ae9fcb3fcac9ee210f95be1205e4fe48f0cbb1f25a4db788a4ae10cd4b5ee13e1dc5159c2a4d48516d50bf1ee07d2da1a00fa95ac38","ssdeep":"96:VI23hKdh7P1lIbeWL9aqfMbFNriK6Vizc/MuomCA9P0LX4BYyCnsI6T:n3wT9lIbeWJaqfvXQcEA0LHxnf6T","tlshash":"c4e1c6c832b1f0eaa3e325e480ab5806e13a6d5a558e60b6e34557d37874fc540ffec5","first_seen":"2026-07-23T13:38:20.481503Z","last_seen":"2026-07-27T05:16:58.386461Z","times_seen":759,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s4MDcwNl0sezcxMjc0NShyLGUsdCl7dmFyIG47IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBpLG89MWU2LHM9MWU2LGM9IltiaWcuanNdICIsZj1jKyJJbnZhbGlkICIsdT1mKyJkZWNpbWFsIHBsYWNlcyIsaD1mKyJyb3VuZGluZyBtb2RlIixsPWMrIkRpdmlzaW9uIGJ5IHplcm8iLGE9e30sZz12b2lkIDAsdj0vXi0/KFxkKyhcLlxkKik/fFwuXGQrKShlWystXT9cZCspPyQvaTtmdW5jdGlvbiB3KHIsZSx0LG4pe3ZhciBpPXIuYztpZih0PT09ZyYmKHQ9ci5jb25zdHJ1Y3Rvci5STSksMCE9PXQmJjEhPT10JiYyIT09dCYmMyE9PXQpdGhyb3cgRXJyb3IoaCk7aWYoZTwxKW49Mz09PXQmJihufHwhIWlbMF0pfHwwPT09ZSYmKDE9PT10JiZpWzBdPj01fHwyPT09dCYmKGlbMF0+NXx8NT09PWlbMF0mJihufHxpWzFdIT09ZykpKSxpLmxlbmd0aD0xLG4/KHIuZT1yLmUtZSsxLGlbMF09MSk6aVswXT1yLmU9MDtlbHNlIGlmKGU8aS5sZW5ndGgpe2lmKG49MT09PXQmJmlbZV0+PTV8fDI9PT10JiYoaVtlXT41fHw1PT09aVtlXSYmKG58fGlbZSsxXSE9PWd8fDEmaVtlLTFdKSl8fDM9PT10JiYobnx8ISFpWzBdKSxpLmxlbmd0aD1lLS0sbilmb3IoOysraVtlXT45OylpW2VdPTAsZS0tfHwoKytyLmUsaS51bnNoaWZ0KDEpKTtmb3IoZT1pLmxlbmd0aDshaVstLWVdOylpLnBvcCgpfXJldHVybiByfWZ1bmN0aW9uIHAocixlLHQpe3ZhciBuPXIuZSxpPXIuYy5qb2luKCIiKSxvPWkubGVuZ3RoO2lmKGUpaT1pLmNoYXJBdCgwKSsobz4xPyIuIitpLnNsaWNlKDEpOiIiKSsobjwwPyJlIjoiZSsiKStuO2Vsc2UgaWYobjwwKXtmb3IoOysrbjspaT0iMCIraTtpPSIwLiIraX1lbHNlIGlmKG4+MClpZigrK24+bylmb3Iobi09bztuLS07KWkrPSIwIjtlbHNlIG48byYmKGk9aS5zbGljZSgwLG4pKyIuIitpLnNsaWNlKG4pKTtlbHNlIG8+MSYmKGk9aS5jaGFyQXQoMCkrIi4iK2kuc2xpY2UoMSkpO3JldHVybiByLnM8MCYmdD8iLSIraTppfWEuYWJzPWZ1bmN0aW9uKCl7dmFyIHI9bmV3IHRoaXMuY29uc3RydWN0b3IodGhpcyk7cmV0dXJuIHIucz0xLHJ9LGEuY21wPWZ1bmN0aW9uKHIpe3ZhciBlLHQ9dGhpcyxuPXQuYyxpPShyPW5ldyB0LmNvbnN0cnVjdG9yKHIpKS5jLG89dC5zLHM9ci5zLGM9dC5lLGY9ci5lO2lmKCFuWzBdfHwhaVswXSlyZXR1cm4gblswXT9vOmlbMF0/LXM6MDtpZihvIT1zKXJldHVybiBvO2lmKGU9bzwwLGMhPWYpcmV0dXJuIGM+Zl5lPzE6LTE7Zm9yKHM9KGM9bi5sZW5ndGgpPChmPWkubGVuZ3RoKT9jOmYsbz0tMTsrK288czspaWYobltvXSE9aVtvXSlyZXR1cm4gbltvXT5pW29dXmU/MTotMTtyZXR1cm4gYz09Zj8wOmM+Zl5lPzE6LTF9LGEuZGl2PWZ1bmN0aW9uKHIpe3ZhciBlPXRoaXMsdD1lLmNvbnN0cnVjdG9yLG49ZS5jLGk9KHI9bmV3IHQocikpLmMscz1lLnM9PXIucz8xOi0xLGM9dC5EUDtpZihjIT09fn5jfHxjPDB8fGM+byl0aHJvdyBFcnJvcih1KTtpZighaVswXSl0aHJvdyBFcnJvcihsKTtpZighblswXSlyZXR1cm4gci5zPXMsci5jPVtyLmU9MF0scjt2YXIgZixoLGEsdixwLGQ9aS5zbGljZSgpLEU9Zj1pLmxlbmd0aCxtPW4ubGVuZ3RoLGI9bi5zbGljZSgwLGYpLFA9Yi5sZW5ndGgsXz1yLEQ9Xy5jPVtdLGs9MCxNPWMrKF8uZT1lLmUtci5lKSsxO2ZvcihfLnM9cyxzPU08MD8wOk0sZC51bnNoaWZ0KDApO1ArKzxmOyliLnB1c2goMCk7ZG97Zm9yKGE9MDthPDEwO2ErKyl7aWYoZiE9KFA9Yi5sZW5ndGgpKXY9Zj5QPzE6LTE7ZWxzZSBmb3IocD0tMSx2PTA7KytwPGY7KWlmKGlbcF0hPWJbcF0pe3Y9aVtwXT5iW3BdPzE6LTE7YnJlYWt9aWYoISh2PDApKWJyZWFrO2ZvcihoPVA9PWY/aTpkO1A7KXtpZihiWy0tUF08aFtQXSl7Zm9yKHA9UDtwJiYhYlstLXBdOyliW3BdPTk7LS1iW3BdLGJbUF0rPTEwfWJbUF0tPWhbUF19Zm9yKDshYlswXTspYi5zaGlmdCgpfURbaysrXT12P2E6KythLGJbMF0mJnY/YltQXT1uW0VdfHwwOmI9W25bRV1dfXdoaWxlKChFKys8bXx8YlswXSE9PWcpJiZzLS0pO3JldHVybiBEWzBdfHwxPT1rfHwoRC5zaGlmdCgpLF8uZS0tLE0tLSksaz5NJiZ3KF8sTSx0LlJNLGJbMF0hPT1nKSxffSxhLmVxPWZ1bmN0aW9uKHIpe3JldHVybiAwPT09dGhpcy5jbXAocil9LGEuZ3Q9ZnVuY3Rpb24ocil7cmV0dXJuIHRoaXMuY21wKHIpPjB9LGEuZ3RlPWZ1bmN0aW9uKHIpe3JldHVybiB0aGlzLmNtcChyKT4tMX0sYS5sdD1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy5jbXAocik8MH0sYS5sdGU9ZnVuY3Rpb24ocil7cmV0dXJuIHRoaXMuY21wKHIpPDF9LGEubWludXM9YS5zdWI9ZnVuY3Rpb24ocil7dmFyIGUsdCxuLGksbz10aGlzLHM9by5jb25zdHJ1Y3RvcixjPW8ucyxmPShyPW5ldyBzKHIpKS5zO2lmKGMhPWYpcmV0dXJuIHIucz0tZixvLnBsdXMocik7dmFyIHU9by5jLnNsaWNlKCksaD1vLmUsbD1yLmMsYT1yLmU7aWYoIXVbMF18fCFsWzBdKXJldHVybiBsWzBdP3Iucz0tZjp1WzBdP3I9bmV3IHMobyk6ci5zPTEscjtpZihjPWgtYSl7Zm9yKChpPWM8MCk/KGM9LWMsbj11KTooYT1oLG49bCksbi5yZXZlcnNlKCksZj1jO2YtLTspbi5wdXNoKDApO24ucmV2ZXJzZSgpfWVsc2UgZm9yKHQ9KChpPXUubGVuZ3RoPGwubGVuZ3RoKT91OmwpLmxlbmd0aCxjPWY9MDtmPHQ7ZisrKWlmKHVbZl0hPWxbZl0pe2k9dVtmXTxsW2ZdO2JyZWFrfWlmKGkmJihuPXUsdT1sLGw9bixyLnM9LXIucyksKGY9KHQ9bC5sZW5ndGgpLShlPXUubGVuZ3RoKSk+MClmb3IoO2YtLTspdVtlKytdPTA7Zm9yKGY9ZTt0PmM7KXtpZih1Wy0tdF08bFt0XSl7Zm9yKGU9dDtlJiYhdVstLWVdOyl1W2VdPTk7LS11W2VdLHVbdF0rPTEwfXVbdF0tPWxbdF19Zm9yKDswPT09dVstLWZdOyl1LnBvcCgpO2Zvcig7MD09PXVbMF07KXUuc2hpZnQoKSwtLWE7cmV0dXJuIHVbMF18fChyLnM9MSx1PVthPTBdKSxyLmM9dSxyLmU9YSxyfSxhLm1vZD1mdW5jdGlvbihyKXt2YXIgZSx0PXRoaXMsbj10LmNvbnN0cnVjdG9yLGk9dC5zLG89KHI9bmV3IG4ocikpLnMKO2lmKCFyLmNbMF0pdGhyb3cgRXJyb3IobCk7cmV0dXJuIHQucz1yLnM9MSxlPTE9PXIuY21wKHQpLHQucz1pLHIucz1vLGU/bmV3IG4odCk6KGk9bi5EUCxvPW4uUk0sbi5EUD1uLlJNPTAsdD10LmRpdihyKSxuLkRQPWksbi5STT1vLHRoaXMubWludXModC50aW1lcyhyKSkpfSxhLnBsdXM9YS5hZGQ9ZnVuY3Rpb24ocil7dmFyIGUsdCxuLGk9dGhpcyxvPWkuY29uc3RydWN0b3I7aWYocj1uZXcgbyhyKSxpLnMhPXIucylyZXR1cm4gci5zPS1yLnMsaS5taW51cyhyKTt2YXIgcz1pLmUsYz1pLmMsZj1yLmUsdT1yLmM7aWYoIWNbMF18fCF1WzBdKXJldHVybiB1WzBdfHwoY1swXT9yPW5ldyBvKGkpOnIucz1pLnMpLHI7aWYoYz1jLnNsaWNlKCksZT1zLWYpe2ZvcihlPjA/KGY9cyxuPXUpOihlPS1lLG49Yyksbi5yZXZlcnNlKCk7ZS0tOyluLnB1c2goMCk7bi5yZXZlcnNlKCl9Zm9yKGMubGVuZ3RoLXUubGVuZ3RoPDAmJihuPXUsdT1jLGM9biksZT11Lmxlbmd0aCx0PTA7ZTtjW2VdJT0xMCl0PShjWy0tZV09Y1tlXSt1W2VdK3QpLzEwfDA7Zm9yKHQmJihjLnVuc2hpZnQodCksKytmKSxlPWMubGVuZ3RoOzA9PT1jWy0tZV07KWMucG9wKCk7cmV0dXJuIHIuYz1jLHIuZT1mLHJ9LGEucG93PWZ1bmN0aW9uKHIpe3ZhciBlPXRoaXMsdD1uZXcgZS5jb25zdHJ1Y3RvcigiMSIpLG49dCxpPXI8MDtpZihyIT09fn5yfHxyPC0xZTZ8fHI+cyl0aHJvdyBFcnJvcihmKyJleHBvbmVudCIpO2ZvcihpJiYocj0tcik7MSZyJiYobj1uLnRpbWVzKGUpKSxyPj49MTspZT1lLnRpbWVzKGUpO3JldHVybiBpP3QuZGl2KG4pOm59LGEucHJlYz1mdW5jdGlvbihyLGUpe2lmKHIhPT1+fnJ8fHI8MXx8cj5vKXRocm93IEVycm9yKGYrInByZWNpc2lvbiIpO3JldHVybiB3KG5ldyB0aGlzLmNvbnN0cnVjdG9yKHRoaXMpLHIsZSl9LGEucm91bmQ9ZnVuY3Rpb24ocixlKXtpZihyPT09ZylyPTA7ZWxzZSBpZihyIT09fn5yfHxyPC1vfHxyPm8pdGhyb3cgRXJyb3IodSk7cmV0dXJuIHcobmV3IHRoaXMuY29uc3RydWN0b3IodGhpcykscit0aGlzLmUrMSxlKX0sYS5zcXJ0PWZ1bmN0aW9uKCl7dmFyIHIsZSx0LG49dGhpcyxpPW4uY29uc3RydWN0b3Isbz1uLnMscz1uLmUsZj1uZXcgaSgiMC41Iik7aWYoIW4uY1swXSlyZXR1cm4gbmV3IGkobik7aWYobzwwKXRocm93IEVycm9yKGMrIk5vIHNxdWFyZSByb290Iik7MD09PShvPU1hdGguc3FydChuKyIiKSl8fG89PT0xLzA/KChlPW4uYy5qb2luKCIiKSkubGVuZ3RoK3MmMXx8KGUrPSIwIikscz0oKHMrMSkvMnwwKS0oczwwfHwxJnMpLHI9bmV3IGkoKChvPU1hdGguc3FydChlKSk9PTEvMD8iNWUiOihvPW8udG9FeHBvbmVudGlhbCgpKS5zbGljZSgwLG8uaW5kZXhPZigiZSIpKzEpKStzKSk6cj1uZXcgaShvKyIiKSxzPXIuZSsoaS5EUCs9NCk7ZG97dD1yLHI9Zi50aW1lcyh0LnBsdXMobi5kaXYodCkpKX13aGlsZSh0LmMuc2xpY2UoMCxzKS5qb2luKCIiKSE9PXIuYy5zbGljZSgwLHMpLmpvaW4oIiIpKTtyZXR1cm4gdyhyLChpLkRQLT00KStyLmUrMSxpLlJNKX0sYS50aW1lcz1hLm11bD1mdW5jdGlvbihyKXt2YXIgZSx0PXRoaXMsbj10LmNvbnN0cnVjdG9yLGk9dC5jLG89KHI9bmV3IG4ocikpLmMscz1pLmxlbmd0aCxjPW8ubGVuZ3RoLGY9dC5lLHU9ci5lO2lmKHIucz10LnM9PXIucz8xOi0xLCFpWzBdfHwhb1swXSlyZXR1cm4gci5jPVtyLmU9MF0scjtmb3Ioci5lPWYrdSxzPGMmJihlPWksaT1vLG89ZSx1PXMscz1jLGM9dSksZT1uZXcgQXJyYXkodT1zK2MpO3UtLTspZVt1XT0wO2ZvcihmPWM7Zi0tOyl7Zm9yKGM9MCx1PXMrZjt1PmY7KWM9ZVt1XStvW2ZdKmlbdS1mLTFdK2MsZVt1LS1dPWMlMTAsYz1jLzEwfDA7ZVt1XT1jfWZvcihjPysrci5lOmUuc2hpZnQoKSxmPWUubGVuZ3RoOyFlWy0tZl07KWUucG9wKCk7cmV0dXJuIHIuYz1lLHJ9LGEudG9FeHBvbmVudGlhbD1mdW5jdGlvbihyLGUpe3ZhciB0PXRoaXMsbj10LmNbMF07aWYociE9PWcpe2lmKHIhPT1+fnJ8fHI8MHx8cj5vKXRocm93IEVycm9yKHUpO2Zvcih0PXcobmV3IHQuY29uc3RydWN0b3IodCksKytyLGUpO3QuYy5sZW5ndGg8cjspdC5jLnB1c2goMCl9cmV0dXJuIHAodCwhMCwhIW4pfSxhLnRvRml4ZWQ9ZnVuY3Rpb24ocixlKXt2YXIgdD10aGlzLG49dC5jWzBdO2lmKHIhPT1nKXtpZihyIT09fn5yfHxyPDB8fHI+byl0aHJvdyBFcnJvcih1KTtmb3Iocj1yKyh0PXcobmV3IHQuY29uc3RydWN0b3IodCkscit0LmUrMSxlKSkuZSsxO3QuYy5sZW5ndGg8cjspdC5jLnB1c2goMCl9cmV0dXJuIHAodCwhMSwhIW4pfSxhLnRvSlNPTj1hLnRvU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIHI9dGhpcyxlPXIuY29uc3RydWN0b3I7cmV0dXJuIHAocixyLmU8PWUuTkV8fHIuZT49ZS5QRSwhIXIuY1swXSl9LGEudG9OdW1iZXI9ZnVuY3Rpb24oKXt2YXIgcj1OdW1iZXIocCh0aGlzLCEwLCEwKSk7aWYoITA9PT10aGlzLmNvbnN0cnVjdG9yLnN0cmljdCYmIXRoaXMuZXEoci50b1N0cmluZygpKSl0aHJvdyBFcnJvcihjKyJJbXByZWNpc2UgY29udmVyc2lvbiIpO3JldHVybiByfSxhLnRvUHJlY2lzaW9uPWZ1bmN0aW9uKHIsZSl7dmFyIHQ9dGhpcyxuPXQuY29uc3RydWN0b3IsaT10LmNbMF07aWYociE9PWcpe2lmKHIhPT1+fnJ8fHI8MXx8cj5vKXRocm93IEVycm9yKGYrInByZWNpc2lvbiIpO2Zvcih0PXcobmV3IG4odCkscixlKTt0LmMubGVuZ3RoPHI7KXQuYy5wdXNoKDApfXJldHVybiBwKHQscjw9dC5lfHx0LmU8PW4uTkV8fHQuZT49bi5QRSwhIWkpfSxhLnZhbHVlT2Y9ZnVuY3Rpb24oKXt2YXIgcj10aGlzLGU9ci5jb25zdHJ1Y3RvcjtpZighMD09PWUuc3RyaWN0KXRocm93IEVycm9yKGMrInZhbHVlT2YgZGlzYWxsb3dlZCIpO3JldHVybiBwKHIsci5lPD1lLk5FfHxyLmU+PWUuUEUsITApfSxpPWZ1bmN0aW9uIHIoKXtmdW5jdGlvbiBlKHQpe3ZhciBuPXRoaXM7aWYoIShuIGluc3RhbmNlb2YgZSkpcmV0dXJuIHQ9PT1nP3IoKTpuZXcgZSh0KTtpZih0IGluc3RhbmNlb2YgZSluLnM9dC5zLG4uZT10LmUsbi5jPXQuYy5zbGljZSgpO2Vsc2V7aWYoInN0cmluZyIhPXR5cGVvZiB0KXsKaWYoITA9PT1lLnN0cmljdCl0aHJvdyBUeXBlRXJyb3IoZisibnVtYmVyIik7dD0wPT09dCYmMS90PDA/Ii0wIjpTdHJpbmcodCl9IWZ1bmN0aW9uKHIsZSl7dmFyIHQsbixpO2lmKCF2LnRlc3QoZSkpdGhyb3cgRXJyb3IoZisibnVtYmVyIik7ci5zPSItIj09ZS5jaGFyQXQoMCk/KGU9ZS5zbGljZSgxKSwtMSk6MSwodD1lLmluZGV4T2YoIi4iKSk+LTEmJihlPWUucmVwbGFjZSgiLiIsIiIpKTsobj1lLnNlYXJjaCgvZS9pKSk+MD8odDwwJiYodD1uKSx0Kz0rZS5zbGljZShuKzEpLGU9ZS5zdWJzdHJpbmcoMCxuKSk6dDwwJiYodD1lLmxlbmd0aCk7Zm9yKGk9ZS5sZW5ndGgsbj0wO248aSYmIjAiPT1lLmNoYXJBdChuKTspKytuO2lmKG49PWkpci5jPVtyLmU9MF07ZWxzZXtmb3IoO2k+MCYmIjAiPT1lLmNoYXJBdCgtLWkpOyk7Zm9yKHIuZT10LW4tMSxyLmM9W10sdD0wO248PWk7KXIuY1t0KytdPStlLmNoYXJBdChuKyspfX0obix0KX1uLmNvbnN0cnVjdG9yPWV9cmV0dXJuIGUucHJvdG90eXBlPWEsZS5EUD0yMCxlLlJNPTEsZS5ORT0tNyxlLlBFPTIxLGUuc3RyaWN0PWZhbHNlLGUucm91bmREb3duPTAsZS5yb3VuZEhhbGZVcD0xLGUucm91bmRIYWxmRXZlbj0yLGUucm91bmRVcD0zLGV9KCksaS5kZWZhdWx0PWkuQmlnPWksdm9pZCAwPT09KG49ZnVuY3Rpb24oKXtyZXR1cm4gaX0uY2FsbChlLHQsZSxyKSl8fChyLmV4cG9ydHM9bil9KCl9LDk2MzA5OChyLGUsdCl7InVzZSBzdHJpY3QiO3QuZChlLHtnZXRJc29MYW5ndWFnZUNvZGVGcm9tTGFuZ3VhZ2U6KCk9Pml9KTtjb25zdCBuPXthcl9BRToiYXIiLGJyOiJwdCIsZGVfREU6ImRlIixjYV9FUzoiY2EiLGhlX0lMOiJoZSIsaWRfSUQ6ImlkIixpbjoiZW4iLGtyOiJrbyIsbXNfTVk6Im1zIixzdl9TRToic3YiLHRoX1RIOiJ0aCIsdWs6ImVuIix2aV9WTjoidmkiLHpoX0NOOiJ6aC1IYW5zIix6aF9UVzoiemgtSGFudCIsemg6InpoLUhhbnMiLGh1X0hVOiJodS1IVSJ9O2Z1bmN0aW9uIGkocil7cmV0dXJuIG5bcl18fHJ9fX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/images/branding/product/2x/translate_24dp.png","fqdn":"www.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":"img","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:34.379Z","timestamp":1785120634379,"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 /images/branding/product/2x/translate_24dp.png HTTP/1.1\r\nHost: www.gstatic.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://www.gstatic.com/_/translate_http/_/ss/k=translate_http.tr.h-8nNKmS1Ow.L.X.O/am=wA/d=0/rs=AN8SPfqOzVW1i408g0LEgF6U1C6yVO6EEA/m=el_main_css\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=6, 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\naccept-ranges: bytes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"static-on-bigtable\"\r\nreport-to: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\ncontent-length: 1842\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 07:17:13 GMT\r\nexpires: Sat, 24 Jul 2027 07:17:13 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Thu, 14 Oct 2021 09:08:00 GMT\r\ncontent-type: image/png\r\nvary: Origin\r\nage: 243201\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":1842,"size_decoded":2516,"mime_type":"image/png","magic":"PNG image data, 48 x 48, 8-bit/color RGBA, non-interlaced","md5":"c69c796362406f9e11c7f4bf5bb628da","sha1":"e489ce95ab56208090868882113d7416abf46775","sha256":"4dac0026fbfa2615dce30c0af12830863fe885f84387a0147b9e338f548d5d82","sha512":"d3ad560ed0fd29be7d2cc434694f09e5a6fbea8b29c0611aecb54a1b73b4d722c53f42a19dae9e3d5d358444e50fb8fffbc39d67ce751bdbc8c861f6f95d3162","ssdeep":"","tlshash":"4e31f9fd129220437101ade72165eef798347c15f412da60ce65ba389c9fe20ed9a619","first_seen":"2023-04-05T07:39:29Z","last_seen":"2026-07-27T05:12:11.051997Z","times_seen":70936,"resource_available":false,"data":"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"}},"time_used":17,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":17,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/56258.282e6141fc02ac85d0d5.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.252Z","timestamp":1785120634252,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/56258.282e6141fc02ac85d0d5.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a0c2e6a-174e\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 19 May 2026 09:33:30 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2a8fb29b8fd29a72c14a0ee4a824af3d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5966,"size_decoded":3195,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3055)","md5":"a9563eafb41c9e6b519a29f0206f6b89","sha1":"43a8b417d99fe60c3d65ddae1e66d8cabd277000","sha256":"ba67ff82446ee411a3ef96ebe6abe55cf6cc1abfd78c841cd5d9a0a70804725a","sha512":"1e31a74cb24aeb33cac85e854608a21314f1416f3db595d14b0577305da06f72bf42b9dea2c36f570fcea9dbd7d88793bd8bc291d498ab58b1e2413f173b781d","ssdeep":"96:AaPctCCkctcSycQOchchctDOAXtC4C2GM0/CnXkMHsU3KEu9pJfmJuuImRBYkqMy:NcUrctcXc3chchc1OotC4ChMUCX1HFRM","tlshash":"d5c1118471c1f09513db9a82a4370606f27d5c5c704b79ece3d0d4d6aabba4db42bb36","first_seen":"2026-05-19T10:58:17.796011Z","last_seen":"2026-07-27T05:27:33.169673Z","times_seen":736,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNTYyNThdLHs3NDM0NTEodCxlLG4pe24uZChlLHtjcmVhdGVPYnNlcnZhYmxlOigpPT5pfSk7dmFyIHI9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3ZhciBlPXRoaXM7dGhpcy5fcmVzb2x1dGlvbkxpc3RlbmVyPWZ1bmN0aW9uKCl7cmV0dXJuIGUuX29uUmVzb2x1dGlvbkNoYW5nZWQoKX0sdGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0PW51bGwsdGhpcy5fb2JzZXJ2ZXJzPVtdLHRoaXMuX3dpbmRvdz10LHRoaXMuX2luc3RhbGxSZXNvbHV0aW9uTGlzdGVuZXIoKX1yZXR1cm4gdC5wcm90b3R5cGUuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMuX3VuaW5zdGFsbFJlc29sdXRpb25MaXN0ZW5lcigpLHRoaXMuX3dpbmRvdz1udWxsfSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsInZhbHVlIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLHQucHJvdG90eXBlLnN1YnNjcmliZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49e25leHQ6dH07cmV0dXJuIHRoaXMuX29ic2VydmVycy5wdXNoKG4pLHt1bnN1YnNjcmliZTpmdW5jdGlvbigpe2UuX29ic2VydmVycz1lLl9vYnNlcnZlcnMuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdCE9PW59KSl9fX0sdC5wcm90b3R5cGUuX2luc3RhbGxSZXNvbHV0aW9uTGlzdGVuZXI9ZnVuY3Rpb24oKXtpZihudWxsIT09dGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0KXRocm93IG5ldyBFcnJvcigiUmVzb2x1dGlvbiBsaXN0ZW5lciBpcyBhbHJlYWR5IGluc3RhbGxlZCIpO3ZhciB0PXRoaXMuX3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvO3RoaXMuX3Jlc29sdXRpb25NZWRpYVF1ZXJ5TGlzdD10aGlzLl93aW5kb3cubWF0Y2hNZWRpYSgiYWxsIGFuZCAocmVzb2x1dGlvbjogIi5jb25jYXQodCwiZHBweCkiKSksdGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0LmFkZExpc3RlbmVyKHRoaXMuX3Jlc29sdXRpb25MaXN0ZW5lcil9LHQucHJvdG90eXBlLl91bmluc3RhbGxSZXNvbHV0aW9uTGlzdGVuZXI9ZnVuY3Rpb24oKXtudWxsIT09dGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0JiYodGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0LnJlbW92ZUxpc3RlbmVyKHRoaXMuX3Jlc29sdXRpb25MaXN0ZW5lciksdGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0PW51bGwpfSx0LnByb3RvdHlwZS5fcmVpbnN0YWxsUmVzb2x1dGlvbkxpc3RlbmVyPWZ1bmN0aW9uKCl7dGhpcy5fdW5pbnN0YWxsUmVzb2x1dGlvbkxpc3RlbmVyKCksdGhpcy5faW5zdGFsbFJlc29sdXRpb25MaXN0ZW5lcigpfSx0LnByb3RvdHlwZS5fb25SZXNvbHV0aW9uQ2hhbmdlZD1mdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5fb2JzZXJ2ZXJzLmZvckVhY2goKGZ1bmN0aW9uKGUpe3JldHVybiBlLm5leHQodC5fd2luZG93LmRldmljZVBpeGVsUmF0aW8pfSkpLHRoaXMuX3JlaW5zdGFsbFJlc29sdXRpb25MaXN0ZW5lcigpfSx0fSgpO2Z1bmN0aW9uIGkodCl7cmV0dXJuIG5ldyByKHQpfX0sNzQyNzkodCxlLG4pe2Z1bmN0aW9uIHIodCl7dmFyIGU9dC53aWR0aCxuPXQuaGVpZ2h0O2lmKGU8MCl0aHJvdyBuZXcgRXJyb3IoIk5lZ2F0aXZlIHdpZHRoIGlzIG5vdCBhbGxvd2VkIGZvciBTaXplIik7aWYobjwwKXRocm93IG5ldyBFcnJvcigiTmVnYXRpdmUgaGVpZ2h0IGlzIG5vdCBhbGxvd2VkIGZvciBTaXplIik7cmV0dXJue3dpZHRoOmUsaGVpZ2h0Om59fWZ1bmN0aW9uIGkodCxlKXtyZXR1cm4gdC53aWR0aD09PWUud2lkdGgmJnQuaGVpZ2h0PT09ZS5oZWlnaHR9bi5kKGUse2VxdWFsU2l6ZXM6KCk9Pmksc2l6ZTooKT0+cn0pfSw3ODkyODcodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0LGUsbil7c3dpdGNoKG4ubGVuZ3RoKXtjYXNlIDA6cmV0dXJuIHQuY2FsbChlKTtjYXNlIDE6cmV0dXJuIHQuY2FsbChlLG5bMF0pO2Nhc2UgMjpyZXR1cm4gdC5jYWxsKGUsblswXSxuWzFdKTtjYXNlIDM6cmV0dXJuIHQuY2FsbChlLG5bMF0sblsxXSxuWzJdKX1yZXR1cm4gdC5hcHBseShlLG4pfX0sMjU4MjYodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSxuLHIpe2Zvcih2YXIgaT0tMSx1PU9iamVjdChlKSxvPXIoZSksYT1vLmxlbmd0aDthLS07KXt2YXIgbD1vW3Q/YTorK2ldO2lmKCExPT09bih1W2xdLGwsdSkpYnJlYWt9cmV0dXJuIGV9fSgpfSw0ODI2Mih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pmp9KTt2YXIgcj1uKDg4NjUxNCksaT1uKDI1NDczOCksdT1uKDkxMDc3OCk7Y29uc3Qgbz1mdW5jdGlvbih0LGUsbil7KHZvaWQgMCE9PW4mJiEoMCx1LmRlZmF1bHQpKHRbZV0sbil8fHZvaWQgMD09PW4mJiEoZSBpbiB0KSkmJigwLGkuZGVmYXVsdCkodCxlLG4pfTt2YXIgYT1uKDI1ODI2KSxsPW4oNDg3MDYwKSxzPW4oMTM5MDcpLGY9big3MDU3NDkpLGQ9big4MDc1NzUpLGM9big1MzE1NTcpLGg9bigyOTU2MzUpLHY9bigyMzk2MykscD1uKDY1OTAxOCksdz1uKDkyODEzMiksXz1uKDg4MDExNSksYj1uKDkzMTQzMykseT1uKDE2NTI2Nyk7Y29uc3QgZz1mdW5jdGlvbih0LGUpe2lmKCgiY29uc3RydWN0b3IiIT09ZXx8ImZ1bmN0aW9uIiE9dHlwZW9mIHRbZV0pJiYiX19wcm90b19fIiE9ZSlyZXR1cm4gdFtlXX07dmFyIEw9big2MTg1NyksUj1uKDIxNzQ1Nyk7Y29uc3QgTT1mdW5jdGlvbih0KXtyZXR1cm4oMCxMLmRlZmF1bHQpKHQsKDAsUi5kZWZhdWx0KSh0KSl9O2NvbnN0IE89ZnVuY3Rpb24odCxlLG4scixpLHUsYSl7dmFyIEw9Zyh0LG4pLFI9ZyhlLG4pLE89YS5nZXQoUik7aWYoTylvKHQsbixPKTtlbHNle3ZhciBqPXU/dShMLFIsbisiIix0LGUsYSk6dm9pZCAwLHg9dm9pZCAwPT09ajtpZih4KXt2YXIgUT0oMCxoLmRlZmF1bHQpKFIpLG09IVEmJigwLApwLmRlZmF1bHQpKFIpLGs9IVEmJiFtJiYoMCx5LmRlZmF1bHQpKFIpO2o9UixRfHxtfHxrPygwLGguZGVmYXVsdCkoTCk/aj1MOigwLHYuZGVmYXVsdCkoTCk/aj0oMCxmLmRlZmF1bHQpKEwpOm0/KHg9ITEsaj0oMCxsLmRlZmF1bHQpKFIsITApKTprPyh4PSExLGo9KDAscy5kZWZhdWx0KShSLCEwKSk6aj1bXTooMCxiLmRlZmF1bHQpKFIpfHwoMCxjLmRlZmF1bHQpKFIpPyhqPUwsKDAsYy5kZWZhdWx0KShMKT9qPU0oTCk6KDAsXy5kZWZhdWx0KShMKSYmISgwLHcuZGVmYXVsdCkoTCl8fChqPSgwLGQuZGVmYXVsdCkoUikpKTp4PSExfXgmJihhLnNldChSLGopLGkoaixSLHIsdSxhKSxhLmRlbGV0ZShSKSksbyh0LG4sail9fTtjb25zdCBqPWZ1bmN0aW9uIHQoZSxuLGksdSxsKXtlIT09biYmKDAsYS5kZWZhdWx0KShuLChmdW5jdGlvbihhLHMpe2lmKGx8fChsPW5ldyByLmRlZmF1bHQpLCgwLF8uZGVmYXVsdCkoYSkpTyhlLG4scyxpLHQsdSxsKTtlbHNle3ZhciBmPXU/dShnKGUscyksYSxzKyIiLGUsbixsKTp2b2lkIDA7dm9pZCAwPT09ZiYmKGY9YSksbyhlLHMsZil9fSksUi5kZWZhdWx0KX19LDY0NTM3Nih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTt2YXIgcj1uKDIzMjg1NCksaT1uKDM3MjAzNSksdT1uKDcwOTA1MSk7Y29uc3Qgbz1mdW5jdGlvbih0LGUpe3JldHVybigwLHUuZGVmYXVsdCkoKDAsaS5kZWZhdWx0KSh0LGUsci5kZWZhdWx0KSx0KyIiKX19LDU3NDY2OSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgcj1uKDY0NTM3NiksaT1uKDg1NDg5NCk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4oMCxyLmRlZmF1bHQpKChmdW5jdGlvbihlLG4pe3ZhciByPS0xLHU9bi5sZW5ndGgsbz11PjE/blt1LTFdOnZvaWQgMCxhPXU+Mj9uWzJdOnZvaWQgMDtmb3Iobz10Lmxlbmd0aD4zJiYiZnVuY3Rpb24iPT10eXBlb2Ygbz8odS0tLG8pOnZvaWQgMCxhJiYoMCxpLmRlZmF1bHQpKG5bMF0sblsxXSxhKSYmKG89dTwzP3ZvaWQgMDpvLHU9MSksZT1PYmplY3QoZSk7KytyPHU7KXt2YXIgbD1uW3JdO2wmJnQoZSxsLHIsbyl9cmV0dXJuIGV9KSl9fSw4NTQ4OTQodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIHI9big5MTA3NzgpLGk9bigzOTI5MDgpLHU9big5MjExNDMpLG89big4ODAxMTUpO2NvbnN0IGE9ZnVuY3Rpb24odCxlLG4pe2lmKCEoMCxvLmRlZmF1bHQpKG4pKXJldHVybiExO3ZhciBhPXR5cGVvZiBlO3JldHVybiEhKCJudW1iZXIiPT1hPygwLGkuZGVmYXVsdCkobikmJigwLHUuZGVmYXVsdCkoZSxuLmxlbmd0aCk6InN0cmluZyI9PWEmJmUgaW4gbikmJigwLHIuZGVmYXVsdCkobltlXSx0KX19LDM3MjAzNSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgcj1uKDc4OTI4NyksaT1NYXRoLm1heDtjb25zdCB1PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gZT1pKHZvaWQgMD09PWU/dC5sZW5ndGgtMTplLDApLGZ1bmN0aW9uKCl7Zm9yKHZhciB1PWFyZ3VtZW50cyxvPS0xLGE9aSh1Lmxlbmd0aC1lLDApLGw9QXJyYXkoYSk7KytvPGE7KWxbb109dVtlK29dO289LTE7Zm9yKHZhciBzPUFycmF5KGUrMSk7KytvPGU7KXNbb109dVtvXTtyZXR1cm4gc1tlXT1uKGwpLCgwLHIuZGVmYXVsdCkodCx0aGlzLHMpfX19LDcwOTA1MSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgcj1uKDEyODA3NiksaT1uKDM2MDQ5KSx1PW4oMjMyODU0KTtjb25zdCBvPWkuZGVmYXVsdD9mdW5jdGlvbih0LGUpe3JldHVybigwLGkuZGVmYXVsdCkodCwidG9TdHJpbmciLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMSx2YWx1ZTooMCxyLmRlZmF1bHQpKGUpLHdyaXRhYmxlOiEwfSl9OnUuZGVmYXVsdDtjb25zdCBhPSgwLG4oOTQ4NTczKS5kZWZhdWx0KShvKX0sOTQ4NTczKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+aX0pO3ZhciByPURhdGUubm93O2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9MCxuPTA7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGk9cigpLHU9MTYtKGktbik7aWYobj1pLHU+MCl7aWYoKytlPj04MDApcmV0dXJuIGFyZ3VtZW50c1swXX1lbHNlIGU9MDtyZXR1cm4gdC5hcHBseSh2b2lkIDAsYXJndW1lbnRzKX19fSwxMjgwNzYodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19fSwyMzI4NTQodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0KXtyZXR1cm4gdH19LDIzOTYzKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+dX0pO3ZhciByPW4oMzkyOTA4KSxpPW4oMzYwNjIwKTtjb25zdCB1PWZ1bmN0aW9uKHQpe3JldHVybigwLGkuZGVmYXVsdCkodCkmJigwLHIuZGVmYXVsdCkodCl9fSw5MzE0MzModCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5kfSk7dmFyIHI9bigxNzg0OTcpLGk9bigzOTI1NDUpLHU9bigzNjA2MjApLG89RnVuY3Rpb24ucHJvdG90eXBlLGE9T2JqZWN0LnByb3RvdHlwZSxsPW8udG9TdHJpbmcscz1hLmhhc093blByb3BlcnR5LGY9bC5jYWxsKE9iamVjdCk7Y29uc3QgZD1mdW5jdGlvbih0KXtpZighKDAsdS5kZWZhdWx0KSh0KXx8IltvYmplY3QgT2JqZWN0XSIhPSgwLHIuZGVmYXVsdCkodCkpcmV0dXJuITE7dmFyIGU9KDAsaS5kZWZhdWx0KSh0KTtpZihudWxsPT09ZSlyZXR1cm4hMDt2YXIgbj1zLmNhbGwoZSwiY29uc3RydWN0b3IiKSYmZS5jb25zdHJ1Y3RvcjtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgbiYmbiBpbnN0YW5jZW9mIG4mJmwuY2FsbChuKT09Zn19LDc0MDE2Mih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pml9KTt2YXIgcj1uKDQ4MjYyKTtjb25zdCBpPSgwLG4oNTc0NjY5KS5kZWZhdWx0KSgoZnVuY3Rpb24odCxlLG4peygwLHIuZGVmYXVsdCkodCxlLG4pfSkpfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"tvc-invdn-cf-com.investing.com/tool/1.12.10/datafeed/udf/datafeed.js","fqdn":"tvc-invdn-cf-com.investing.com","domain":"investing.com","tld":"com"},"ip":{"addr":"172.64.155.105","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://tvc-invdn-cf-com.investing.com/tool/1.12.10/tool-prod-2-ssl.html?carrier=cc6698fccca44e51b088d9ddbbcf8ec8\u0026time=1785120633\u0026domain_ID=7\u0026lang_ID=7\u0026timezone_ID=17\u0026version=1.12.10\u0026locale=ru\u0026timezone=Europe/Moscow\u0026pair_ID=945629\u0026interval=5\u0026session=24x7\u0026prefix=ru\u0026suffix=\u0026client=0\u0026user=\u0026plotStyle=area\u0026geoc=NO\u0026styleOverride=","date":"2026-07-27T02:50:34.342Z","timestamp":1785120634342,"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":"tvc-invdn-cf-com.investing.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 31 May 2026 06:59:21 GMT","end":"Sat, 29 Aug 2026 07:59:19 GMT"},"fingerprint":{"sha1":"90:A7:5D:5C:7F:22:D6:92:72:4C:85:3E:E7:2D:28:D1:42:20:B1:F8","sha256":"4C:97:98:34:DB:36:63:81:85:8D:5B:E0:91:75:21:94:B9:1D:97:17:07:3D:61:14:3E:02:DB:0F:73:40:E7:84"}}},"request":{"raw":"GET /tool/1.12.10/datafeed/udf/datafeed.js HTTP/1.1\r\nHost: tvc-invdn-cf-com.investing.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://tvc-invdn-cf-com.investing.com/tool/1.12.10/tool-prod-2-ssl.html?carrier=cc6698fccca44e51b088d9ddbbcf8ec8\u0026time=1785120633\u0026domain_ID=7\u0026lang_ID=7\u0026timezone_ID=17\u0026version=1.12.10\u0026locale=ru\u0026timezone=Europe/Moscow\u0026pair_ID=945629\u0026interval=5\u0026session=24x7\u0026prefix=ru\u0026suffix=\u0026client=0\u0026user=\u0026plotStyle=area\u0026geoc=NO\u0026styleOverride=\r\nCookie: __cf_bm=mn1PVnpxBsLEicPCDwE_Pe4gHkvTYye6Tx_zgzNLo.k-1785120633.699759-1.0.1.1-lB_db9Ov1aU8Fd3phu4.zXI.0INMPk8u0VotUI0k5.d8tcJf9MPZ8.4bNw0k2UZ4hoLBefzQWLGi7ZW06ZZmMXWweiLPcAzMaI0v_RVdZq.Z_fjpI5Y5UZbmopumxELp1CKoKFuB0JWJV4cWCH7O8Q\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\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript\r\nx-guploader-uploadid: AAVLpEgturhcVGLDHeX3NgHgtJkJ6pxOmN4lhMemQF_fZBql0xE7_aneC-Zx6v_X0pcCCff-qwzwDuA\r\nx-goog-generation: 1707308609410696\r\nx-goog-metageneration: 1\r\nx-goog-stored-content-encoding: identity\r\nx-goog-stored-content-length: 27883\r\nx-goog-hash: crc32c=pwJcow==, md5=5UkgMDI1GSGg/+SeRqrMxw==\r\nx-goog-storage-class: STANDARD\r\nserver: cloudflare\r\nvia: 1.1 google\r\nexpires: Mon, 27 Jul 2026 03:50:34 GMT\r\ncache-control: public, max-age=3600\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Wed, 07 Feb 2024 12:23:29 GMT\r\nvary: accept-encoding\r\npriority: u=2,i=?0\r\nage: 1605\r\ncf-cache-status: HIT\r\netag: W/\"e549203032351921a0ffe49e46aaccc7\"\r\ncontent-encoding: br\r\ncf-ray: a218565cab4e0daa-OSL\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Google Cloud CDN","description":"Cloud CDN uses Google's global edge network to serve content closer to users.","website":"https://cloud.google.com/cdn","common_platform_enumeration":"","icon":"google-cloud-cdn.svg","categories":["CDN"]},{"name":"Google Cloud","description":"Google Cloud is a suite of cloud computing services.","website":"https://cloud.google.com","common_platform_enumeration":"cpe:2.3:a:google:cloud_platform:*:*:*:*:*:*:*:*","icon":"Google Cloud.svg","categories":["IaaS"]},{"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":"Google Cloud Storage","description":"Google Cloud Storage allows world-wide storage and retrieval of any amount of data at any time.","website":"https://cloud.google.com/storage","common_platform_enumeration":"","icon":"google-cloud-storage.svg","categories":["Miscellaneous"]}],"data":{"size":27883,"size_decoded":7534,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with CRLF line terminators","md5":"e549203032351921a0ffe49e46aaccc7","sha1":"020f57652d40cd8b03c260a628ddd9e1aad8e832","sha256":"b0c9bfa4c6ca7236c55649cc13c793eb92db97f1bbeb1e0ecf5d012acf27ef30","sha512":"9467afa3070a8e28eeda9e460dc9923ac019807cf416606013ab14604819c913e3c243594f4c211b4708015bc07c9260ab4585b72d11304382e2532f1c9da72e","ssdeep":"768:unyoyf4jtsZREyCkRo6ocuTe+EXns5oNeQ:uUcy3s5oN5","tlshash":"51c272c03b6f301a82d1731354be6a4a993cf8648984917cb6cd52cc36d8b2db75af6d","first_seen":"2025-06-28T04:54:50.206135Z","last_seen":"2026-07-27T02:59:54.638607Z","times_seen":9,"resource_available":true,"data":"J3VzZSBzdHJpY3QnOw0KLyoNCglUaGlzIGNsYXNzIGltcGxlbWVudHMgaW50ZXJhY3Rpb24gd2l0aCBVREYtY29tcGF0aWJsZSBkYXRhZmVlZC4NCg0KCVNlZSBVREYgcHJvdG9jb2wgcmVmZXJlbmNlIGF0DQoJaHR0cHM6Ly9naXRodWIuY29tL3RyYWRpbmd2aWV3L2NoYXJ0aW5nX2xpYnJhcnkvd2lraS9VREYNCiovDQoNCg0KZnVuY3Rpb24gcGFyc2VKU09Ob3JOb3QobWF5QmVKU09OKSB7DQoJaWYgKHR5cGVvZiBtYXlCZUpTT04gPT09ICdzdHJpbmcnKSB7DQoJCXJldHVybiBKU09OLnBhcnNlKG1heUJlSlNPTik7DQoJfSBlbHNlIHsNCgkJcmV0dXJuIG1heUJlSlNPTjsNCgl9DQp9DQoNCnZhciBEYXRhZmVlZHMgPSB7fTsNCg0KRGF0YWZlZWRzLlVERkNvbXBhdGlibGVEYXRhZmVlZCA9IGZ1bmN0aW9uKGRhdGFmZWVkVVJMLCB1cGRhdGVGcmVxdWVuY3kpIHsNCgl0aGlzLl9kYXRhZmVlZFVSTCA9IGRhdGFmZWVkVVJMOw0KCXRoaXMuX2NvbmZpZ3VyYXRpb24gPSB1bmRlZmluZWQ7DQoNCgl0aGlzLl9zeW1ib2xTZWFyY2ggPSBudWxsOw0KCXRoaXMuX3N5bWJvbHNTdG9yYWdlID0gbnVsbDsNCgl0aGlzLl9iYXJzUHVsc2VVcGRhdGVyID0gbmV3IERhdGFmZWVkcy5EYXRhUHVsc2VVcGRhdGVyKHRoaXMsIHVwZGF0ZUZyZXF1ZW5jeSB8fCAxMCAqIDEwMDApOw0KCXRoaXMuX3F1b3Rlc1B1bHNlVXBkYXRlciA9IG5ldyBEYXRhZmVlZHMuUXVvdGVzUHVsc2VVcGRhdGVyKHRoaXMpOw0KDQoJdGhpcy5fZW5hYmxlTG9nZ2luZyA9IGZhbHNlOw0KCXRoaXMuX2luaXRpYWxpemF0aW9uRmluaXNoZWQgPSBmYWxzZTsNCgl0aGlzLl9jYWxsYmFja3MgPSB7fTsNCg0KCXRoaXMuX2luaXRpYWxpemUoKTsNCn07DQoNCkRhdGFmZWVkcy5VREZDb21wYXRpYmxlRGF0YWZlZWQucHJvdG90eXBlLmRlZmF1bHRDb25maWd1cmF0aW9uID0gZnVuY3Rpb24oKSB7DQoJcmV0dXJuIHsNCgkJc3VwcG9ydHNfc2VhcmNoOiBmYWxzZSwNCgkJc3VwcG9ydHNfZ3JvdXBfcmVxdWVzdDogdHJ1ZSwNCgkJc3VwcG9ydGVkX3Jlc29sdXRpb25zOiBbJzEnLCAnNScsICcxNScsICczMCcsICc2MCcsICcxRCcsICcxVycsICcxTSddLA0KCQlzdXBwb3J0c19tYXJrczogZmFsc2UsDQoJCXN1cHBvcnRzX3RpbWVzY2FsZV9tYXJrczogZmFsc2UNCgl9Ow0KfTsNCg0KRGF0YWZlZWRzLlVERkNvbXBhdGlibGVEYXRhZmVlZC5wcm90b3R5cGUuZ2V0U2VydmVyVGltZSA9IGZ1bmN0aW9uKGNhbGxiYWNrKSB7DQoJaWYgKHRoaXMuX2NvbmZpZ3VyYXRpb24uc3VwcG9ydHNfdGltZSkgew0KCQl0aGlzLl9zZW5kKHRoaXMuX2RhdGFmZWVkVVJMICsgJy90aW1lJywge30pDQoJCQkuZG9uZShmdW5jdGlvbihyZXNwb25zZSkgew0KCQkJCWNhbGxiYWNrKCtyZXNwb25zZSk7DQoJCQl9KQ0KCQkJLmZhaWwoZnVuY3Rpb24oKSB7DQoJCQl9KTsNCgl9DQp9Ow0KDQpEYXRhZmVlZHMuVURGQ29tcGF0aWJsZURhdGFmZWVkLnByb3RvdHlwZS5vbiA9IGZ1bmN0aW9uKGV2ZW50LCBjYWxsYmFjaykgew0KCWlmICghdGhpcy5fY2FsbGJhY2tzLmhhc093blByb3BlcnR5KGV2ZW50KSkgew0KCQl0aGlzLl9jYWxsYmFja3NbZXZlbnRdID0gW107DQoJfQ0KDQoJdGhpcy5fY2FsbGJhY2tzW2V2ZW50XS5wdXNoKGNhbGxiYWNrKTsNCglyZXR1cm4gdGhpczsNCn07DQoNCkRhdGFmZWVkcy5VREZDb21wYXRpYmxlRGF0YWZlZWQucHJvdG90eXBlLl9maXJlRXZlbnQgPSBmdW5jdGlvbihldmVudCwgYXJndW1lbnQpIHsNCglpZiAodGhpcy5fY2FsbGJhY2tzLmhhc093blByb3BlcnR5KGV2ZW50KSkgew0KCQl2YXIgY2FsbGJhY2tzQ2hhaW4gPSB0aGlzLl9jYWxsYmFja3NbZXZlbnRdOw0KCQlmb3IgKHZhciBpID0gMDsgaSA8IGNhbGxiYWNrc0NoYWluLmxlbmd0aDsgKytpKSB7DQoJCQljYWxsYmFja3NDaGFpbltpXShhcmd1bWVudCk7DQoJCX0NCg0KCQl0aGlzLl9jYWxsYmFja3NbZXZlbnRdID0gW107DQoJfQ0KfTsNCg0KRGF0YWZlZWRzLlVERkNvbXBhdGlibGVEYXRhZmVlZC5wcm90b3R5cGUub25Jbml0aWFsaXplZCA9IGZ1bmN0aW9uKCkgew0KCXRoaXMuX2luaXRpYWxpemF0aW9uRmluaXNoZWQgPSB0cnVlOw0KCXRoaXMuX2ZpcmVFdmVudCgnaW5pdGlhbGl6ZWQnKTsNCn07DQoNCkRhdGFmZWVkcy5VREZDb21wYXRpYmxlRGF0YWZlZWQucHJvdG90eXBlLl9sb2dNZXNzYWdlID0gZnVuY3Rpb24obWVzc2FnZSkgew0KCWlmICh0aGlzLl9lbmFibGVMb2dnaW5nKSB7DQoJCXZhciBub3cgPSBuZXcgRGF0ZSgpOw0KCQljb25zb2xlLmxvZyhub3cudG9Mb2NhbGVUaW1lU3RyaW5nKCkgKyAnLicgKyBub3cuZ2V0TWlsbGlzZWNvbmRzKCkgKyAnPiAnICsgbWVzc2FnZSk7DQoJfQ0KfTsNCg0KRGF0YWZlZWRzLlVERkNvbXBhdGlibGVEYXRhZmVlZC5wcm90b3R5cGUuX3NlbmQgPSBmdW5jdGlvbih1cmwsIHBhcmFtcykgew0KCXZhciByZXF1ZXN0ID0gdXJsOw0KCWlmIChwYXJhbXMpIHsNCgkJZm9yICh2YXIgaSA9IDA7IGkgPCBPYmplY3Qua2V5cyhwYXJhbXMpLmxlbmd0aDsgKytpKSB7DQoJCQl2YXIga2V5ID0gT2JqZWN0LmtleXMocGFyYW1zKVtpXTsNCgkJCXZhciB2YWx1ZSA9IGVuY29kZVVSSUNvbXBvbmVudChwYXJhbXNba2V5XSk7DQoJCQlyZXF1ZXN0ICs9IChpID09PSAwID8gJz8nIDogJyYnKSArIGtleSArICc9JyArIHZhbHVlOw0KCQl9DQoJfQ0KDQoJdGhpcy5fbG9nTWVzc2FnZSgnTmV3IHJlcXVlc3Q6ICcgKyByZXF1ZXN0KTsNCg0KCXJldHVybiAkLmFqYXgoew0KCQl0eXBlOiAnR0VUJywNCgkJdXJsOiByZXF1ZXN0LA0KCQljb250ZW50VHlwZTogJ3RleHQvcGxhaW4nDQoJfSk7DQp9Ow0KDQpEYXRhZmVlZHMuVURGQ29tcGF0aWJsZURhdGFmZWVkLnByb3RvdHlwZS5faW5pdGlhbGl6ZSA9IGZ1bmN0aW9uKCkgew0KCXZhciB0aGF0ID0gdGhpczsNCg0KCXRoaXMuX3NlbmQodGhpcy5fZGF0YWZlZWRVUkwgKyAnL2NvbmZpZycpDQoJCS5kb25lKGZ1bmN0aW9uKHJlc3BvbnNlKSB7DQoJCQl2YXIgY29uZmlndXJhdGlvbkRhdGEgPSBwYXJzZUpTT05vck5vdChyZXNwb25zZSk7DQoJCQl0aGF0Ll9zZXR1cFdpdGhDb25maWd1cmF0aW9uKGNvbmZpZ3VyYXRpb25EYXRhKTsNCgkJfSkNCgkJLmZhaWwoZnVuY3Rpb24ocmVhc29uKSB7DQoJCQl0aGF0Ll9zZXR1cFdpdGhDb25maWd1cmF0aW9uKHRoYXQuZGVmYXVsdENvbmZpZ3VyYXRpb24oKSk7DQoJCX0pOw0KfTsNCg0KRGF0YWZlZWRzLlVERkNvbXBhdGlibGVEYXRhZmVlZC5wcm90b3R5cGUub25SZWFkeSA9IGZ1bmN0aW9uKGNhbGxiYWNrKSB7DQoJdmFyIHRoYXQgPSB0aGlzOw0KCWlmICh0aGlzLl9jb25maWd1cmF0aW9uKSB7DQoJCXNldFRpbWVvdXQoZnVuY3Rpb24oKSB7DQoJCQljYWxsYmFjayh0aGF0Ll9jb25maWd1cmF0aW9uKTsNCgkJfSwgMCk7DQoJfSBlbHNlIHsNCgkJdGhpcy5vbignY29uZmlndXJhdGlvbl9yZWFkeScsIGZ1bmN0aW9uKCkgew0KCQkJY2FsbGJhY2sodGhhdC5fY29uZmlndXJhdGlvbik7DQoJCX0pOw0KCX0NCn07DQoNCkRhdGFmZWVkcy5VREZDb21wYXRpYmxlRGF0YWZlZWQucHJvdG90eXBlLl9zZXR1cFdpdGhDb25maWd1cmF0aW9uID0gZnVuY3Rpb24oY29uZmlndXJhdGlvbkRhdGEpIHsNCgl0aGlzLl9jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbkRhdGE7DQoNCglpZiAoIWNvbmZpZ3VyYXRpb25EYXRhLmV4Y2hhbmdlcykgew0KCQljb25maWd1cmF0aW9uRGF0YS5leGNoYW5nZXMgPSBbXTsNCgl9DQoNCgkvLwlAb2Jzb2xldGU7IHJlbW92ZSBpbiAxLjUNCgl2YXIgc3VwcG9ydGVkUmVzb2x1dGlvbnMgPSBjb25maWd1cmF0aW9uRGF0YS5zdXBwb3J0ZWRfcmVzb2x1dGlvbnMgfHwgY29uZmlndXJhdGlvbkRhdGEuc3VwcG9ydGVkUmVzb2x1dGlvbnM7DQoJY29uZmlndXJhdGlvbkRhdGEuc3VwcG9ydGVkX3Jlc29sdXRpb25zID0gc3VwcG9ydGVkUmVzb2x1dGlvbnM7DQoNCgkvLwlAb2Jzb2xldGU7IHJlbW92ZSBpbiAxLjUNCgl2YXIgc3ltYm9sc1R5cGVzID0gY29uZmlndXJhdGlvbkRhdGEuc3ltYm9sc190eXBlcyB8fCBjb25maWd1cmF0aW9uRGF0YS5zeW1ib2xzVHlwZXM7DQoJY29uZmlndXJhdGlvbkRhdGEuc3ltYm9sc190eXBlcyA9IHN5bWJvbHNUeXBlczsNCg0KCWlmICghY29uZmlndXJhdGlvbkRhdGEuc3VwcG9ydHNfc2VhcmNoICYmICFjb25maWd1cmF0aW9uRGF0YS5zdXBwb3J0c19ncm91cF9yZXF1ZXN0KSB7DQoJCXRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgZGF0YWZlZWQgY29uZmlndXJhdGlvbi4gTXVzdCBlaXRoZXIgc3VwcG9ydCBzZWFyY2gsIG9yIHN1cHBvcnQgZ3JvdXAgcmVxdWVzdCcpOw0KCX0NCg0KCWlmICghY29uZmlndXJhdGlvbkRhdGEuc3VwcG9ydHNfc2VhcmNoKSB7DQoJCXRoaXMuX3N5bWJvbFNlYXJjaCA9IG5ldyBEYXRhZmVlZHMuU3ltYm9sU2VhcmNoQ29tcG9uZW50KHRoaXMpOw0KCX0NCg0KCWlmIChjb25maWd1cmF0aW9uRGF0YS5zdXBwb3J0c19ncm91cF9yZXF1ZXN0KSB7DQoJCS8vCXRoaXMgY29tcG9uZW50IHdpbGwgY2FsbCBvbkluaXRpYWxpemVkKCkgYnkgaXRzZWxmDQoJCXRoaXMuX3N5bWJvbHNTdG9yYWdlID0gbmV3IERhdGFmZWVkcy5TeW1ib2xzU3RvcmFnZSh0aGlzKTsNCgl9IGVsc2Ugew0KCQl0aGlzLm9uSW5pdGlhbGl6ZWQoKTsNCgl9DQoNCgl0aGlzLl9maXJlRXZlbnQoJ2NvbmZpZ3VyYXRpb25fcmVhZHknKTsNCgl0aGlzLl9sb2dNZXNzYWdlKCdJbml0aWFsaXplZCB3aXRoICcgKyBKU09OLnN0cmluZ2lmeShjb25maWd1cmF0aW9uRGF0YSkpOw0KfTsNCg0KLy8JPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLy8JVGhlIGZ1bmN0aW9ucyBzZXQgYmVsb3cgaXMgdGhlIGltcGxlbWVudGF0aW9uIG9mIEphdmFTY3JpcHQgQVBJLg0KDQpEYXRhZmVlZHMuVURGQ29tcGF0aWJsZURhdGFmZWVkLnByb3RvdHlwZS5nZXRNYXJrcyA9IGZ1bmN0aW9uKHN5bWJvbEluZm8sIHJhbmdlU3RhcnQsIHJhbmdlRW5kLCBvbkRhdGFDYWxsYmFjaywgcmVzb2x1dGlvbikgew0KCWlmICh0aGlzLl9jb25maWd1cmF0aW9uLnN1cHBvcnRzX21hcmtzKSB7DQoJCXRoaXMuX3NlbmQodGhpcy5fZGF0YWZlZWRVUkwgKyAnL21hcmtzJywgew0KCQkJc3ltYm9sOiBzeW1ib2xJbmZvLnRpY2tlci50b1VwcGVyQ2FzZSgpLA0KCQkJZnJvbTogcmFuZ2VTdGFydCwNCgkJCXRvOiByYW5nZUVuZCwNCgkJCXJlc29sdXRpb246IHJlc29sdXRpb24NCgkJfSkNCgkJCS5kb25lKGZ1bmN0aW9uKHJlc3BvbnNlKSB7DQoJCQkJb25EYXRhQ2FsbGJhY2socGFyc2VKU09Ob3JOb3QocmVzcG9uc2UpKTsNCgkJCX0pDQoJCQkuZmFpbChmdW5jdGlvbigpIHsNCgkJCQlvbkRhdGFDYWxsYmFjayhbXSk7DQoJCQl9KTsNCgl9DQp9Ow0KDQpEYXRhZmVlZHMuVURGQ29tcGF0aWJsZURhdGFmZWVkLnByb3RvdHlwZS5nZXRUaW1lc2NhbGVNYXJrcyA9IGZ1bmN0aW9uKHN5bWJvbEluZm8sIHJhbmdlU3RhcnQsIHJhbmdlRW5kLCBvbkRhdGFDYWxsYmFjaywgcmVzb2x1dGlvbikgew0KCWlmICh0aGlzLl9jb25maWd1cmF0aW9uLnN1cHBvcnRzX3RpbWVzY2FsZV9tYXJrcykgew0KCQl0aGlzLl9zZW5kKHRoaXMuX2RhdGFmZWVkVVJMICsgJy90aW1lc2NhbGVfbWFya3MnLCB7DQoJCQlzeW1ib2w6IHN5bWJvbEluZm8udGlja2VyLnRvVXBwZXJDYXNlKCksDQoJCQlmcm9tOiByYW5nZVN0YXJ0LA0KCQkJdG86IHJhbmdlRW5kLA0KCQkJcmVzb2x1dGlvbjogcmVzb2x1dGlvbg0KCQl9KQ0KCQkJLmRvbmUoZnVuY3Rpb24ocmVzcG9uc2UpIHsNCgkJCQlvbkRhdGFDYWxsYmFjayhwYXJzZUpTT05vck5vdChyZXNwb25zZSkpOw0KCQkJfSkNCgkJCS5mYWlsKGZ1bmN0aW9uKCkgew0KCQkJCW9uRGF0YUNhbGxiYWNrKFtdKTsNCgkJCX0pOw0KCX0NCn07DQoNCkRhdGFmZWVkcy5VREZDb21wYXRpYmxlRGF0YWZlZWQucHJvdG90eXBlLnNlYXJjaFN5bWJvbHMgPSBmdW5jdGlvbihzZWFyY2hTdHJpbmcsIGV4Y2hhbmdlLCB0eXBlLCBvblJlc3VsdFJlYWR5Q2FsbGJhY2spIHsNCgl2YXIgTUFYX1NFQVJDSF9SRVNVTFRTID0gMzA7DQoNCglpZiAoIXRoaXMuX2NvbmZpZ3VyYXRpb24pIHsNCgkJb25SZXN1bHRSZWFkeUNhbGxiYWNrKFtdKTsNCgkJcmV0dXJuOw0KCX0NCg0KCWlmICh0aGlzLl9jb25maWd1cmF0aW9uLnN1cHBvcnRzX3NlYXJjaCkgew0KCQl0aGlzLl9zZW5kKHRoaXMuX2RhdGFmZWVkVVJMICsgJy9zZWFyY2gnLCB7DQoJCQlsaW1pdDogTUFYX1NFQVJDSF9SRVNVTFRTLA0KCQkJcXVlcnk6IHNlYXJjaFN0cmluZy50b1VwcGVyQ2FzZSgpLA0KCQkJdHlwZTogdHlwZSwNCgkJCWV4Y2hhbmdlOiBleGNoYW5nZQ0KCQl9KQ0KCQkJLmRvbmUoZnVuY3Rpb24ocmVzcG9uc2UpIHsNCgkJCQl2YXIgZGF0YSA9IHBhcnNlSlNPTm9yTm90KHJlc3BvbnNlKTsNCg0KCQkJCWZvciAodmFyIGkgPSAwOyBpIDwgZGF0YS5sZW5ndGg7ICsraSkgew0KCQkJCQlpZiAoIWRhdGFbaV0ucGFyYW1zKSB7DQoJCQkJCQlkYXRhW2ldLnBhcmFtcyA9IFtdOw0KCQkJCQl9DQoNCgkJCQkJZGF0YVtpXS5leGNoYW5nZSA9IGRhdGFbaV0uZXhjaGFuZ2UgfHwgJyc7DQoJCQkJfQ0KDQoJCQkJaWYgKHR5cGVvZiBkYXRhLnMgPT0gJ3VuZGVmaW5lZCcgfHwgZGF0YS5zICE9PSAnZXJyb3InKSB7DQoJCQkJCW9uUmVzdWx0UmVhZHlDYWxsYmFjayhkYXRhKTsNCgkJCQl9IGVsc2Ugew0KCQkJCQlvblJlc3VsdFJlYWR5Q2FsbGJhY2soW10pOw0KCQkJCX0NCgkJCX0pDQoJCQkuZmFpbChmdW5jdGlvbihyZWFzb24pIHsNCgkJCQlvblJlc3VsdFJlYWR5Q2FsbGJhY2soW10pOw0KCQkJfSk7DQoJfSBlbHNlIHsNCgkJaWYgKCF0aGlzLl9zeW1ib2xTZWFyY2gpIHsNCgkJCXRocm93IG5ldyBFcnJvcignRGF0YWZlZWQgZXJyb3I6IGluY29uc2lzdGVudCBjb25maWd1cmF0aW9uIChzeW1ib2wgc2VhcmNoKScpOw0KCQl9DQoNCgkJdmFyIHNlYXJjaEFyZ3VtZW50ID0gew0KCQkJc2VhcmNoU3RyaW5nOiBzZWFyY2hTdHJpbmcsDQoJCQlleGNoYW5nZTogZXhjaGFuZ2UsDQoJCQl0eXBlOiB0eXBlLA0KCQkJb25SZXN1bHRSZWFkeUNhbGxiYWNrOiBvblJlc3VsdFJlYWR5Q2FsbGJhY2sNCgkJfTsNCg0KCQlpZiAodGhpcy5faW5pdGlhbGl6YXRpb25GaW5pc2hlZCkgew0KCQkJdGhpcy5fc3ltYm9sU2VhcmNoLnNlYXJjaFN5bWJvbHMoc2VhcmNoQXJndW1lbnQsIE1BWF9TRUFSQ0hfUkVTVUxUUyk7DQoJCX0gZWxzZSB7DQoJCQl2YXIgdGhhdCA9IHRoaXM7DQoNCgkJCXRoaXMub24oJ2luaXRpYWxpemVkJywgZnVuY3Rpb24oKSB7DQoJCQkJdGhhdC5fc3ltYm9sU2VhcmNoLnNlYXJjaFN5bWJvbHMoc2VhcmNoQXJndW1lbnQsIE1BWF9TRUFSQ0hfUkVTVUxUUyk7DQoJCQl9KTsNCgkJfQ0KCX0NCn07DQoNCkRhdGFmZWVkcy5VREZDb21wYXRpYmxlRGF0YWZlZWQucHJvdG90eXBlLl9zeW1ib2xSZXNvbHZlVVJMID0gJy9zeW1ib2xzJzsNCg0KLy8JQkVXQVJFOiB0aGlzIGZ1bmN0aW9uIGRvZXMgbm90IGNvbnNpZGVyIHN5bWJvbCdzIGV4Y2hhbmdlDQpEYXRhZmVlZHMuVURGQ29tcGF0aWJsZURhdGFmZWVkLnByb3RvdHlwZS5yZXNvbHZlU3ltYm9sID0gZnVuY3Rpb24oc3ltYm9sTmFtZSwgb25TeW1ib2xSZXNvbHZlZENhbGxiYWNrLCBvblJlc29sdmVFcnJvckNhbGxiYWNrKSB7DQoJdmFyIHRoYXQgPSB0aGlzOw0KDQoJaWYgKCF0aGlzLl9pbml0aWFsaXphdGlvbkZpbmlzaGVkKSB7DQoJCXRoaXMub24oJ2luaXRpYWxpemVkJywgZnVuY3Rpb24oKSB7DQoJCQl0aGF0LnJlc29sdmVTeW1ib2woc3ltYm9sTmFtZSwgb25TeW1ib2xSZXNvbHZlZENhbGxiYWNrLCBvblJlc29sdmVFcnJvckNhbGxiYWNrKTsNCgkJfSk7DQoNCgkJcmV0dXJuOw0KCX0NCg0KCXZhciByZXNvbHZlUmVxdWVzdFN0YXJ0VGltZSA9IERhdGUubm93KCk7DQoJdGhhdC5fbG9nTWVzc2FnZSgnUmVzb2x2ZSByZXF1ZXN0ZWQnKTsNCg0KCWZ1bmN0aW9uIG9uUmVzdWx0UmVhZHkoZGF0YSkgew0KCQl2YXIgcG9zdFByb2Nlc3NlZERhdGEgPSBkYXRhOw0KCQlpZiAodGhhdC5wb3N0UHJvY2Vzc1N5bWJvbEluZm8pIHsNCgkJCXBvc3RQcm9jZXNzZWREYXRhID0gdGhhdC5wb3N0UHJvY2Vzc1N5bWJvbEluZm8ocG9zdFByb2Nlc3NlZERhdGEpOw0KCQl9DQoNCgkJdGhhdC5fbG9nTWVzc2FnZSgnU3ltYm9sIHJlc29sdmVkOiAnICsgKERhdGUubm93KCkgLSByZXNvbHZlUmVxdWVzdFN0YXJ0VGltZSkpOw0KDQoJCW9uU3ltYm9sUmVzb2x2ZWRDYWxsYmFjayhwb3N0UHJvY2Vzc2VkRGF0YSk7DQoJfQ0KDQoJaWYgKCF0aGlzLl9jb25maWd1cmF0aW9uLnN1cHBvcnRzX2dyb3VwX3JlcXVlc3QpIHsNCgkJdGhpcy5fc2VuZCh0aGlzLl9kYXRhZmVlZFVSTCArIHRoaXMuX3N5bWJvbFJlc29sdmVVUkwsIHsNCgkJCXN5bWJvbDogc3ltYm9sTmFtZSA/IHN5bWJvbE5hbWUudG9VcHBlckNhc2UoKSA6ICcnDQoJCX0pDQoJCQkuZG9uZShmdW5jdGlvbihyZXNwb25zZSkgew0KCQkJCXZhciBkYXRhID0gcGFyc2VKU09Ob3JOb3QocmVzcG9uc2UpOw0KDQoJCQkJaWYgKGRhdGEucyAmJiBkYXRhLnMgIT09ICdvaycpIHsNCgkJCQkJb25SZXNvbHZlRXJyb3JDYWxsYmFjaygndW5rbm93bl9zeW1ib2wnKTsNCgkJCQl9IGVsc2Ugew0KCQkJCQlvblJlc3VsdFJlYWR5KGRhdGEpOw0KCQkJCX0NCgkJCX0pDQoJCQkuZmFpbChmdW5jdGlvbihyZWFzb24pIHsNCgkJCQl0aGF0Ll9sb2dNZXNzYWdlKCdFcnJvciByZXNvbHZpbmcgc3ltYm9sOiAnICsgSlNPTi5zdHJpbmdpZnkoW3JlYXNvbl0pKTsNCgkJCQlvblJlc29sdmVFcnJvckNhbGxiYWNrKCd1bmtub3duX3N5bWJvbCcpOw0KCQkJfSk7DQoJfSBlbHNlIHsNCgkJaWYgKHRoaXMuX2luaXRpYWxpemF0aW9uRmluaXNoZWQpIHsNCgkJCXRoaXMuX3N5bWJvbHNTdG9yYWdlLnJlc29sdmVTeW1ib2woc3ltYm9sTmFtZSwgb25SZXN1bHRSZWFkeSwgb25SZXNvbHZlRXJyb3JDYWxsYmFjayk7DQoJCX0gZWxzZSB7DQoJCQl0aGlzLm9uKCdpbml0aWFsaXplZCcsIGZ1bmN0aW9uKCkgew0KCQkJCXRoYXQuX3N5bWJvbHNTdG9yYWdlLnJlc29sdmVTeW1ib2woc3ltYm9sTmFtZSwgb25SZXN1bHRSZWFkeSwgb25SZXNvbHZlRXJyb3JDYWxsYmFjayk7DQoJCQl9KTsNCgkJfQ0KCX0NCn07DQoNCkRhdGFmZWVkcy5VREZDb21wYXRpYmxlRGF0YWZlZWQucHJvdG90eXBlLl9oaXN0b3J5VVJMID0gJy9oaXN0b3J5JzsNCg0KRGF0YWZlZWRzLlVERkNvbXBhdGlibGVEYXRhZmVlZC5wcm90b3R5cGUuZ2V0QmFycyA9IGZ1bmN0aW9uKHN5bWJvbEluZm8sIHJlc29sdXRpb24sIHJhbmdlU3RhcnREYXRlLCByYW5nZUVuZERhdGUsIG9uRGF0YUNhbGxiYWNrLCBvbkVycm9yQ2FsbGJhY2spIHsNCgkvLwl0aW1lc3RhbXAgc2FtcGxlOiAxMzk5OTM5MjAwDQoJaWYgKHJhbmdlU3RhcnREYXRlID4gMCAmJiAocmFuZ2VTdGFydERhdGUgKyAnJykubGVuZ3RoID4gMTApIHsNCgkJdGhyb3cgbmV3IEVycm9yKFsnR290IGEgSlMgdGltZSBpbnN0ZWFkIG9mIFVuaXggb25lLicsIHJhbmdlU3RhcnREYXRlLCByYW5nZUVuZERhdGVdKTsNCgl9DQoNCgl0aGlzLl9zZW5kKHRoaXMuX2RhdGFmZWVkVVJMICsgdGhpcy5faGlzdG9yeVVSTCwgew0KCQlzeW1ib2w6IHN5bWJvbEluZm8udGlja2VyLnRvVXBwZXJDYXNlKCksDQoJCXJlc29sdXRpb246IHJlc29sdXRpb24sDQoJCWZyb206IHJhbmdlU3RhcnREYXRlLA0KCQl0bzogcmFuZ2VFbmREYXRlDQoJfSkNCgkuZG9uZShmdW5jdGlvbihyZXNwb25zZSkgew0KCQl2YXIgZGF0YSA9IHBhcnNlSlNPTm9yTm90KHJlc3BvbnNlKTsNCg0KCQl2YXIgbm9kYXRhID0gZGF0YS5zID09PSAnbm9fZGF0YSc7DQoNCgkJaWYgKGRhdGEucyAhPT0gJ29rJyAmJiAhbm9kYXRhKSB7DQoJCQlpZiAoISFvbkVycm9yQ2FsbGJhY2spIHsNCgkJCQlvbkVycm9yQ2FsbGJhY2soZGF0YS5zKTsNCgkJCX0NCg0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJdmFyIGJhcnMgPSBbXTsNCg0KCQkvLwlkYXRhIGlzIEpTT04gaGF2aW5nIGZvcm1hdCB7czogInN0YXR1cyIgKG9rLCBub19kYXRhLCBlcnJvciksDQoJCS8vICB2OiBbdm9sdW1lc10sIHQ6IFt0aW1lc10sIG86IFtvcGVuc10sIGg6IFtoaWdoc10sIGw6IFtsb3dzXSwgYzpbY2xvc2VzXSwgbmI6ICJvcHRpb25hbF91bml4dGltZV9pZl9ub19kYXRhIn0NCgkJdmFyIGJhcnNDb3VudCA9IG5vZGF0YSA/IDAgOiBkYXRhLnQubGVuZ3RoOw0KDQoJCXZhciB2b2x1bWVQcmVzZW50ID0gdHlwZW9mIGRhdGEudiAhPSAndW5kZWZpbmVkJzsNCgkJdmFyIG9obFByZXNlbnQgPSB0eXBlb2YgZGF0YS5vICE9ICd1bmRlZmluZWQnOw0KDQoJCWZvciAodmFyIGkgPSAwOyBpIDwgYmFyc0NvdW50OyArK2kpIHsNCgkJCXZhciBiYXJWYWx1ZSA9IHsNCgkJCQl0aW1lOiBkYXRhLnRbaV0gKiAxMDAwLA0KCQkJCWNsb3NlOiBkYXRhLmNbaV0NCgkJCX07DQoNCgkJCWlmIChvaGxQcmVzZW50KSB7DQoJCQkJYmFyVmFsdWUub3BlbiA9IGRhdGEub1tpXTsNCgkJCQliYXJWYWx1ZS5oaWdoID0gZGF0YS5oW2ldOw0KCQkJCWJhclZhbHVlLmxvdyA9IGRhdGEubFtpXTsNCgkJCX0gZWxzZSB7DQoJCQkJYmFyVmFsdWUub3BlbiA9IGJhclZhbHVlLmhpZ2ggPSBiYXJWYWx1ZS5sb3cgPSBiYXJWYWx1ZS5jbG9zZTsNCgkJCX0NCg0KCQkJaWYgKHZvbHVtZVByZXNlbnQpIHsNCgkJCQliYXJWYWx1ZS52b2x1bWUgPSBkYXRhLnZbaV07DQoJCQl9DQoNCgkJCWJhcnMucHVzaChiYXJWYWx1ZSk7DQoJCX0NCg0KCQlvbkRhdGFDYWxsYmFjayhiYXJzLCB7IG5vRGF0YTogbm9kYXRhLCBuZXh0VGltZTogZGF0YS5uYiB8fCBkYXRhLm5leHRUaW1lIH0pOw0KCX0pDQoJLmZhaWwoZnVuY3Rpb24oYXJnKSB7DQoJCWNvbnNvbGUud2FybihbJ2dldEJhcnMoKTogSFRUUCBlcnJvcicsIGFyZ10pOw0KDQoJCWlmICghIW9uRXJyb3JDYWxsYmFjaykgew0KCQkJb25FcnJvckNhbGxiYWNrKCduZXR3b3JrIGVycm9yOiAnICsgSlNPTi5zdHJpbmdpZnkoYXJnKSk7DQoJCX0NCgl9KTsNCn07DQoNCkRhdGFmZWVkcy5VREZDb21wYXRpYmxlRGF0YWZlZWQucHJvdG90eXBlLnN1YnNjcmliZUJhcnMgPSBmdW5jdGlvbihzeW1ib2xJbmZvLCByZXNvbHV0aW9uLCBvblJlYWx0aW1lQ2FsbGJhY2ssIGxpc3RlbmVyR1VJRCwgb25SZXNldENhY2hlTmVlZGVkQ2FsbGJhY2spIHsNCgl0aGlzLl9iYXJzUHVsc2VVcGRhdGVyLnN1YnNjcmliZURhdGFMaXN0ZW5lcihzeW1ib2xJbmZvLCByZXNvbHV0aW9uLCBvblJlYWx0aW1lQ2FsbGJhY2ssIGxpc3RlbmVyR1VJRCwgb25SZXNldENhY2hlTmVlZGVkQ2FsbGJhY2spOw0KfTsNCg0KRGF0YWZlZWRzLlVERkNvbXBhdGlibGVEYXRhZmVlZC5wcm90b3R5cGUudW5zdWJzY3JpYmVCYXJzID0gZnVuY3Rpb24obGlzdGVuZXJHVUlEKSB7DQoJdGhpcy5fYmFyc1B1bHNlVXBkYXRlci51bnN1YnNjcmliZURhdGFMaXN0ZW5lcihsaXN0ZW5lckdVSUQpOw0KfTsNCg0KRGF0YWZlZWRzLlVERkNvbXBhdGlibGVEYXRhZmVlZC5wcm90b3R5cGUuY2FsY3VsYXRlSGlzdG9yeURlcHRoID0gZnVuY3Rpb24ocGVyaW9kLCByZXNvbHV0aW9uQmFjaywgaW50ZXJ2YWxCYWNrKSB7DQp9Ow0KDQpEYXRhZmVlZHMuVURGQ29tcGF0aWJsZURhdGFmZWVkLnByb3RvdHlwZS5nZXRRdW90ZXMgPSBmdW5jdGlvbihzeW1ib2xzLCBvbkRhdGFDYWxsYmFjaywgb25FcnJvckNhbGxiYWNrKSB7DQoJdGhpcy5fc2VuZCh0aGlzLl9kYXRhZmVlZFVSTCArICcvcXVvdGVzJywgeyBzeW1ib2xzOiBzeW1ib2xzIH0pDQoJCS5kb25lKGZ1bmN0aW9uKHJlc3BvbnNlKSB7DQoJCQl2YXIgZGF0YSA9IHBhcnNlSlNPTm9yTm90KHJlc3BvbnNlKTsNCgkJCWlmIChkYXRhLnMgPT09ICdvaycpIHsNCgkJCQkvLwlKU09OIGZvcm1hdCBpcyB7czogInN0YXR1cyIsIFt7czogInN5bWJvbF9zdGF0dXMiLCBuOiAic3ltYm9sX25hbWUiLCB2OiB7ImZpZWxkMSI6ICJ2YWx1ZTEiLCAiZmllbGQyIjogInZhbHVlMiIsIC4uLiwgImZpZWxkTiI6ICJ2YWx1ZU4ifX1dfQ0KCQkJCWlmIChvbkRhdGFDYWxsYmFjaykgew0KCQkJCQlvbkRhdGFDYWxsYmFjayhkYXRhLmQpOw0KCQkJCX0NCgkJCX0gZWxzZSB7DQoJCQkJaWYgKG9uRXJyb3JDYWxsYmFjaykgew0KCQkJCQlvbkVycm9yQ2FsbGJhY2soZGF0YS5lcnJtc2cpOw0KCQkJCX0NCgkJCX0NCgkJfSkNCgkJLmZhaWwoZnVuY3Rpb24oYXJnKSB7DQoJCQlpZiAob25FcnJvckNhbGxiYWNrKSB7DQoJCQkJb25FcnJvckNhbGxiYWNrKCduZXR3b3JrIGVycm9yOiAnICsgYXJnKTsNCgkJCX0NCgkJfSk7DQp9Ow0KDQpEYXRhZmVlZHMuVURGQ29tcGF0aWJsZURhdGFmZWVkLnByb3RvdHlwZS5zdWJzY3JpYmVRdW90ZXMgPSBmdW5jdGlvbihzeW1ib2xzLCBmYXN0U3ltYm9scywgb25SZWFsdGltZUNhbGxiYWNrLCBsaXN0ZW5lckdVSUQpIHsNCgl0aGlzLl9xdW90ZXNQdWxzZVVwZGF0ZXIuc3Vic2NyaWJlRGF0YUxpc3RlbmVyKHN5bWJvbHMsIGZhc3RTeW1ib2xzLCBvblJlYWx0aW1lQ2FsbGJhY2ssIGxpc3RlbmVyR1VJRCk7DQp9Ow0KDQpEYXRhZmVlZHMuVURGQ29tcGF0aWJsZURhdGFmZWVkLnByb3RvdHlwZS51bnN1YnNjcmliZVF1b3RlcyA9IGZ1bmN0aW9uKGxpc3RlbmVyR1VJRCkgew0KCXRoaXMuX3F1b3Rlc1B1bHNlVXBkYXRlci51bnN1YnNjcmliZURhdGFMaXN0ZW5lcihsaXN0ZW5lckdVSUQpOw0KfTsNCg0KLy8JPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi8vCT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQovLwk9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQovKg0KCUl0J3MgYSBzeW1ib2wgc3RvcmFnZSBjb21wb25lbnQgZm9yIEV4dGVybmFsRGF0YWZlZWQuIFRoaXMgY29tcG9uZW50IGNhbg0KCSAgKiBpbnRlcmFjdCB0byBVREYtY29tcGF0aWJsZSBkYXRhZmVlZCB3aGljaCBzdXBwb3J0cyB3aG9sZSBncm91cCBpbmZvIHJlcXVlc3RpbmcNCgkgICogZG8gc3ltYm9sIHJlc29sdmluZyAtLSByZXR1cm4gc3ltYm9sIGluZm8gYnkgaXRzIG5hbWUNCiovDQpEYXRhZmVlZHMuU3ltYm9sc1N0b3JhZ2UgPSBmdW5jdGlvbihkYXRhZmVlZCkgew0KCXRoaXMuX2RhdGFmZWVkID0gZGF0YWZlZWQ7DQoNCgl0aGlzLl9leGNoYW5nZXNMaXN0ID0gWydOWVNFJywgJ0ZPUkVYJywgJ0FNRVgnXTsNCgl0aGlzLl9leGNoYW5nZXNXYWl0aW5nRm9yRGF0YSA9IHt9Ow0KCXRoaXMuX2V4Y2hhbmdlc0RhdGFDYWNoZSA9IHt9Ow0KDQoJdGhpcy5fc3ltYm9sc0luZm8gPSB7fTsNCgl0aGlzLl9zeW1ib2xzTGlzdCA9IFtdOw0KDQoJdGhpcy5fcmVxdWVzdEZ1bGxTeW1ib2xzTGlzdCgpOw0KfTsNCg0KRGF0YWZlZWRzLlN5bWJvbHNTdG9yYWdlLnByb3RvdHlwZS5fcmVxdWVzdEZ1bGxTeW1ib2xzTGlzdCA9IGZ1bmN0aW9uKCkgew0KCXZhciB0aGF0ID0gdGhpczsNCg0KCWZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5fZXhjaGFuZ2VzTGlzdC5sZW5ndGg7ICsraSkgew0KCQl2YXIgZXhjaGFuZ2UgPSB0aGlzLl9leGNoYW5nZXNMaXN0W2ldOw0KDQoJCWlmICh0aGlzLl9leGNoYW5nZXNEYXRhQ2FjaGUuaGFzT3duUHJvcGVydHkoZXhjaGFuZ2UpKSB7DQoJCQljb250aW51ZTsNCgkJfQ0KDQoJCXRoaXMuX2V4Y2hhbmdlc0RhdGFDYWNoZVtleGNoYW5nZV0gPSB0cnVlOw0KDQoJCXRoaXMuX2V4Y2hhbmdlc1dhaXRpbmdGb3JEYXRhW2V4Y2hhbmdlXSA9ICd3YWl0aW5nX2Zvcl9kYXRhJzsNCg0KCQl0aGlzLl9kYXRhZmVlZC5fc2VuZCh0aGlzLl9kYXRhZmVlZC5fZGF0YWZlZWRVUkwgKyAnL3N5bWJvbF9pbmZvJywgew0KCQkJZ3JvdXA6IGV4Y2hhbmdlDQoJCX0pDQoJCQkuZG9uZSgoZnVuY3Rpb24oZXhjaGFuZ2UpIHsNCgkJCQlyZXR1cm4gZnVuY3Rpb24ocmVzcG9uc2UpIHsNCgkJCQkJdGhhdC5fb25FeGNoYW5nZURhdGFSZWNlaXZlZChleGNoYW5nZSwgcGFyc2VKU09Ob3JOb3QocmVzcG9uc2UpKTsNCgkJCQkJdGhhdC5fb25BbnlFeGNoYW5nZVJlc3BvbnNlUmVjZWl2ZWQoZXhjaGFuZ2UpOw0KCQkJCX07DQoJCQl9KShleGNoYW5nZSkpDQoJCQkuZmFpbCgoZnVuY3Rpb24oZXhjaGFuZ2UpIHsNCgkJCQlyZXR1cm4gZnVuY3Rpb24ocmVhc29uKSB7DQoJCQkJCXRoYXQuX29uQW55RXhjaGFuZ2VSZXNwb25zZVJlY2VpdmVkKGV4Y2hhbmdlKTsNCgkJCQl9Ow0KCQkJfSkoZXhjaGFuZ2UpKTsNCgl9DQp9Ow0KDQpEYXRhZmVlZHMuU3ltYm9sc1N0b3JhZ2UucHJvdG90eXBlLl9vbkV4Y2hhbmdlRGF0YVJlY2VpdmVkID0gZnVuY3Rpb24oZXhjaGFuZ2VOYW1lLCBkYXRhKSB7DQoJZnVuY3Rpb24gdGFibGVGaWVsZChkYXRhLCBuYW1lLCBpbmRleCkgew0KCQlyZXR1cm4gZGF0YVtuYW1lXSBpbnN0YW5jZW9mIEFycmF5ID8NCgkJCWRhdGFbbmFtZV1baW5kZXhdIDoNCgkJCWRhdGFbbmFtZV07DQoJfQ0KDQoJdHJ5CXsNCgkJZm9yICh2YXIgc3ltYm9sSW5kZXggPSAwOyBzeW1ib2xJbmRleCA8IGRhdGEuc3ltYm9sLmxlbmd0aDsgKytzeW1ib2xJbmRleCkgew0KCQkJdmFyIHN5bWJvbE5hbWUgPSBkYXRhLnN5bWJvbFtzeW1ib2xJbmRleF07DQoJCQl2YXIgbGlzdGVkRXhjaGFuZ2UgPSB0YWJsZUZpZWxkKGRhdGEsICdleGNoYW5nZS1saXN0ZWQnLCBzeW1ib2xJbmRleCk7DQoJCQl2YXIgdHJhZGVkRXhjaGFuZ2UgPSB0YWJsZUZpZWxkKGRhdGEsICdleGNoYW5nZS10cmFkZWQnLCBzeW1ib2xJbmRleCk7DQoJCQl2YXIgZnVsbE5hbWUgPSB0cmFkZWRFeGNoYW5nZSArICc6JyArIHN5bWJvbE5hbWU7DQoNCgkJCS8vCVRoaXMgZmVhdHVyZSBzdXBwb3J0IGlzIG5vdCBpbXBsZW1lbnRlZCB5ZXQNCgkJCS8vCXZhciBoYXNEV00gPSB0YWJsZUZpZWxkKGRhdGEsICJoYXMtZHdtIiwgc3ltYm9sSW5kZXgpOw0KDQoJCQl2YXIgaGFzSW50cmFkYXkgPSB0YWJsZUZpZWxkKGRhdGEsICdoYXMtaW50cmFkYXknLCBzeW1ib2xJbmRleCk7DQoNCgkJCXZhciB0aWNrZXJQcmVzZW50ID0gdHlwZW9mIGRhdGEudGlja2VyICE9ICd1bmRlZmluZWQnOw0KDQoJCQl2YXIgc3ltYm9sSW5mbyA9IHsNCgkJCQluYW1lOiBzeW1ib2xOYW1lLA0KCQkJCWJhc2VfbmFtZTogW2xpc3RlZEV4Y2hhbmdlICsgJzonICsgc3ltYm9sTmFtZV0sDQoJCQkJZGVzY3JpcHRpb246IHRhYmxlRmllbGQoZGF0YSwgJ2Rlc2NyaXB0aW9uJywgc3ltYm9sSW5kZXgpLA0KCQkJCWZ1bGxfbmFtZTogZnVsbE5hbWUsDQoJCQkJbGVnczogW2Z1bGxOYW1lXSwNCgkJCQloYXNfaW50cmFkYXk6IGhhc0ludHJhZGF5LA0KCQkJCWhhc19ub192b2x1bWU6IHRhYmxlRmllbGQoZGF0YSwgJ2hhcy1uby12b2x1bWUnLCBzeW1ib2xJbmRleCksDQoJCQkJbGlzdGVkX2V4Y2hhbmdlOiBsaXN0ZWRFeGNoYW5nZSwNCgkJCQlleGNoYW5nZTogdHJhZGVkRXhjaGFuZ2UsDQoJCQkJbWlubW92OiB0YWJsZUZpZWxkKGRhdGEsICdtaW5tb3ZlbWVudCcsIHN5bWJvbEluZGV4KSB8fCB0YWJsZUZpZWxkKGRhdGEsICdtaW5tb3YnLCBzeW1ib2xJbmRleCksDQoJCQkJbWlubW92ZTI6IHRhYmxlRmllbGQoZGF0YSwgJ21pbm1vdmUyJywgc3ltYm9sSW5kZXgpIHx8IHRhYmxlRmllbGQoZGF0YSwgJ21pbm1vdjInLCBzeW1ib2xJbmRleCksDQoJCQkJZnJhY3Rpb25hbDogdGFibGVGaWVsZChkYXRhLCAnZnJhY3Rpb25hbCcsIHN5bWJvbEluZGV4KSwNCgkJCQlwb2ludHZhbHVlOiB0YWJsZUZpZWxkKGRhdGEsICdwb2ludHZhbHVlJywgc3ltYm9sSW5kZXgpLA0KCQkJCXByaWNlc2NhbGU6IHRhYmxlRmllbGQoZGF0YSwgJ3ByaWNlc2NhbGUnLCBzeW1ib2xJbmRleCksDQoJCQkJdHlwZTogdGFibGVGaWVsZChkYXRhLCAndHlwZScsIHN5bWJvbEluZGV4KSwNCgkJCQlzZXNzaW9uOiB0YWJsZUZpZWxkKGRhdGEsICdzZXNzaW9uLXJlZ3VsYXInLCBzeW1ib2xJbmRleCksDQoJCQkJdGlja2VyOiB0aWNrZXJQcmVzZW50ID8gdGFibGVGaWVsZChkYXRhLCAndGlja2VyJywgc3ltYm9sSW5kZXgpIDogc3ltYm9sTmFtZSwNCgkJCQl0aW1lem9uZTogdGFibGVGaWVsZChkYXRhLCAndGltZXpvbmUnLCBzeW1ib2xJbmRleCksDQoJCQkJc3VwcG9ydGVkX3Jlc29sdXRpb25zOiB0YWJsZUZpZWxkKGRhdGEsICdzdXBwb3J0ZWQtcmVzb2x1dGlvbnMnLCBzeW1ib2xJbmRleCkgfHwgdGhpcy5fZGF0YWZlZWQuZGVmYXVsdENvbmZpZ3VyYXRpb24oKS5zdXBwb3J0ZWRfcmVzb2x1dGlvbnMsDQoJCQkJZm9yY2Vfc2Vzc2lvbl9yZWJ1aWxkOiB0YWJsZUZpZWxkKGRhdGEsICdmb3JjZS1zZXNzaW9uLXJlYnVpbGQnLCBzeW1ib2xJbmRleCkgfHwgZmFsc2UsDQoJCQkJaGFzX2RhaWx5OiB0YWJsZUZpZWxkKGRhdGEsICdoYXMtZGFpbHknLCBzeW1ib2xJbmRleCkgfHwgdHJ1ZSwNCgkJCQlpbnRyYWRheV9tdWx0aXBsaWVyczogdGFibGVGaWVsZChkYXRhLCAnaW50cmFkYXktbXVsdGlwbGllcnMnLCBzeW1ib2xJbmRleCkgfHwgWycxJywgJzUnLCAnMTUnLCAnMzAnLCAnNjAnXSwNCgkJCQloYXNfZnJhY3Rpb25hbF92b2x1bWU6IHRhYmxlRmllbGQoZGF0YSwgJ2hhcy1mcmFjdGlvbmFsLXZvbHVtZScsIHN5bWJvbEluZGV4KSB8fCBmYWxzZSwNCgkJCQloYXNfd2Vla2x5X2FuZF9tb250aGx5OiB0YWJsZUZpZWxkKGRhdGEsICdoYXMtd2Vla2x5LWFuZC1tb250aGx5Jywgc3ltYm9sSW5kZXgpIHx8IGZhbHNlLA0KCQkJCWhhc19lbXB0eV9iYXJzOiB0YWJsZUZpZWxkKGRhdGEsICdoYXMtZW1wdHktYmFycycsIHN5bWJvbEluZGV4KSB8fCBmYWxzZSwNCgkJCQl2b2x1bWVfcHJlY2lzaW9uOiB0YWJsZUZpZWxkKGRhdGEsICd2b2x1bWUtcHJlY2lzaW9uJywgc3ltYm9sSW5kZXgpIHx8IDANCgkJCX07DQoNCgkJCXRoaXMuX3N5bWJvbHNJbmZvW3N5bWJvbEluZm8udGlja2VyXSA9IHRoaXMuX3N5bWJvbHNJbmZvW3N5bWJvbE5hbWVdID0gdGhpcy5fc3ltYm9sc0luZm9bZnVsbE5hbWVdID0gc3ltYm9sSW5mbzsNCgkJCXRoaXMuX3N5bWJvbHNMaXN0LnB1c2goc3ltYm9sTmFtZSk7DQoJCX0NCgl9IGNhdGNoIChlcnJvcikgew0KCQl0aHJvdyBuZXcgRXJyb3IoJ0FQSSBlcnJvciB3aGVuIHByb2Nlc3NpbmcgZXhjaGFuZ2UgYCcgKyBleGNoYW5nZU5hbWUgKyAnYCBzeW1ib2wgIycgKyBzeW1ib2xJbmRleCArICc6ICcgKyBlcnJvcik7DQoJfQ0KfTsNCg0KRGF0YWZlZWRzLlN5bWJvbHNTdG9yYWdlLnByb3RvdHlwZS5fb25BbnlFeGNoYW5nZVJlc3BvbnNlUmVjZWl2ZWQgPSBmdW5jdGlvbihleGNoYW5nZU5hbWUpIHsNCglkZWxldGUgdGhpcy5fZXhjaGFuZ2VzV2FpdGluZ0ZvckRhdGFbZXhjaGFuZ2VOYW1lXTsNCg0KCXZhciBhbGxEYXRhUmVhZHkgPSBPYmplY3Qua2V5cyh0aGlzLl9leGNoYW5nZXNXYWl0aW5nRm9yRGF0YSkubGVuZ3RoID09PSAwOw0KDQoJaWYgKGFsbERhdGFSZWFkeSkgew0KCQl0aGlzLl9zeW1ib2xzTGlzdC5zb3J0KCk7DQoJCXRoaXMuX2RhdGFmZWVkLl9sb2dNZXNzYWdlKCdBbGwgZXhjaGFuZ2VzIGRhdGEgcmVhZHknKTsNCgkJdGhpcy5fZGF0YWZlZWQub25Jbml0aWFsaXplZCgpOw0KCX0NCn07DQoNCi8vCUJFV0FSRTogdGhpcyBmdW5jdGlvbiBkb2VzIG5vdCBjb25zaWRlciBzeW1ib2wncyBleGNoYW5nZQ0KRGF0YWZlZWRzLlN5bWJvbHNTdG9yYWdlLnByb3RvdHlwZS5yZXNvbHZlU3ltYm9sID0gZnVuY3Rpb24oc3ltYm9sTmFtZSwgb25TeW1ib2xSZXNvbHZlZENhbGxiYWNrLCBvblJlc29sdmVFcnJvckNhbGxiYWNrKSB7DQoJdmFyIHRoYXQgPSB0aGlzOw0KDQoJc2V0VGltZW91dChmdW5jdGlvbigpIHsNCgkJaWYgKCF0aGF0Ll9zeW1ib2xzSW5mby5oYXNPd25Qcm9wZXJ0eShzeW1ib2xOYW1lKSkgew0KCQkJb25SZXNvbHZlRXJyb3JDYWxsYmFjaygnaW52YWxpZCBzeW1ib2wnKTsNCgkJfSBlbHNlIHsNCgkJCW9uU3ltYm9sUmVzb2x2ZWRDYWxsYmFjayh0aGF0Ll9zeW1ib2xzSW5mb1tzeW1ib2xOYW1lXSk7DQoJCX0NCgl9LCAwKTsNCn07DQoNCi8vCT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQovLwk9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLy8JPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCg0KLyoNCglJdCdzIGEgc3ltYm9sIHNlYXJjaCBjb21wb25lbnQgZm9yIEV4dGVybmFsRGF0YWZlZWQuIFRoaXMgY29tcG9uZW50IGNhbiBkbyBzeW1ib2wgc2VhcmNoIG9ubHkuDQoJVGhpcyBjb21wb25lbnQgc3Ryb25nbHkgZGVwZW5kcyBvbiBTeW1ib2xzRGF0YVN0b3JhZ2UgYW5kIGNhbm5vdCB3b3JrIHdpdGhvdXQgaXQuIE1heWJlLCBpdCB3b3VsZCBiZQ0KCWJldHRlciB0byBtZXJnZSBpdCB0byBTeW1ib2xzRGF0YVN0b3JhZ2UuDQoqLw0KDQpEYXRhZmVlZHMuU3ltYm9sU2VhcmNoQ29tcG9uZW50ID0gZnVuY3Rpb24oZGF0YWZlZWQpIHsNCgl0aGlzLl9kYXRhZmVlZCA9IGRhdGFmZWVkOw0KfTsNCg0KLy8Jc2VhcmNoQXJndW1lbnQgPSB7IHNlYXJjaFN0cmluZywgb25SZXN1bHRSZWFkeUNhbGxiYWNrfQ0KRGF0YWZlZWRzLlN5bWJvbFNlYXJjaENvbXBvbmVudC5wcm90b3R5cGUuc2VhcmNoU3ltYm9scyA9IGZ1bmN0aW9uKHNlYXJjaEFyZ3VtZW50LCBtYXhTZWFyY2hSZXN1bHRzKSB7DQoJaWYgKCF0aGlzLl9kYXRhZmVlZC5fc3ltYm9sc1N0b3JhZ2UpIHsNCgkJdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgdXNlIGxvY2FsIHN5bWJvbCBzZWFyY2ggd2hlbiBubyBncm91cHMgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlJyk7DQoJfQ0KDQoJdmFyIHN5bWJvbHNTdG9yYWdlID0gdGhpcy5fZGF0YWZlZWQuX3N5bWJvbHNTdG9yYWdlOw0KDQoJdmFyIHJlc3VsdHMgPSBbXTsgLy8gYXJyYXkgb2YgV2VpZ2h0ZWRJdGVtIHsgaXRlbSwgd2VpZ2h0IH0NCgl2YXIgcXVlcnlJc0VtcHR5ID0gIXNlYXJjaEFyZ3VtZW50LnNlYXJjaFN0cmluZyB8fCBzZWFyY2hBcmd1bWVudC5zZWFyY2hTdHJpbmcubGVuZ3RoID09PSAwOw0KCXZhciBzZWFyY2hTdHJpbmdVcHBlckNhc2UgPSBzZWFyY2hBcmd1bWVudC5zZWFyY2hTdHJpbmcudG9VcHBlckNhc2UoKTsNCg0KCWZvciAodmFyIGkgPSAwOyBpIDwgc3ltYm9sc1N0b3JhZ2UuX3N5bWJvbHNMaXN0Lmxlbmd0aDsgKytpKSB7DQoJCXZhciBzeW1ib2xOYW1lID0gc3ltYm9sc1N0b3JhZ2UuX3N5bWJvbHNMaXN0W2ldOw0KCQl2YXIgaXRlbSA9IHN5bWJvbHNTdG9yYWdlLl9zeW1ib2xzSW5mb1tzeW1ib2xOYW1lXTsNCg0KCQlpZiAoc2VhcmNoQXJndW1lbnQudHlwZSAmJiBzZWFyY2hBcmd1bWVudC50eXBlLmxlbmd0aCA+IDAgJiYgaXRlbS50eXBlICE9PSBzZWFyY2hBcmd1bWVudC50eXBlKSB7DQoJCQljb250aW51ZTsNCgkJfQ0KDQoJCWlmIChzZWFyY2hBcmd1bWVudC5leGNoYW5nZSAmJiBzZWFyY2hBcmd1bWVudC5leGNoYW5nZS5sZW5ndGggPiAwICYmIGl0ZW0uZXhjaGFuZ2UgIT09IHNlYXJjaEFyZ3VtZW50LmV4Y2hhbmdlKSB7DQoJCQljb250aW51ZTsNCgkJfQ0KDQoJCXZhciBwb3NpdGlvbkluTmFtZSA9IGl0ZW0ubmFtZS50b1VwcGVyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoU3RyaW5nVXBwZXJDYXNlKTsNCgkJdmFyIHBvc2l0aW9uSW5EZXNjcmlwdGlvbiA9IGl0ZW0uZGVzY3JpcHRpb24udG9VcHBlckNhc2UoKS5pbmRleE9mKHNlYXJjaFN0cmluZ1VwcGVyQ2FzZSk7DQoNCgkJaWYgKHF1ZXJ5SXNFbXB0eSB8fCBwb3NpdGlvbkluTmFtZSA+PSAwIHx8IHBvc2l0aW9uSW5EZXNjcmlwdGlvbiA+PSAwKSB7DQoJCQl2YXIgZm91bmQgPSBmYWxzZTsNCgkJCWZvciAodmFyIHJlc3VsdEluZGV4ID0gMDsgcmVzdWx0SW5kZXggPCByZXN1bHRzLmxlbmd0aDsgcmVzdWx0SW5kZXgrKykgew0KCQkJCWlmIChyZXN1bHRzW3Jlc3VsdEluZGV4XS5pdGVtID09PSBpdGVtKSB7DQoJCQkJCWZvdW5kID0gdHJ1ZTsNCgkJCQkJYnJlYWs7DQoJCQkJfQ0KCQkJfQ0KDQoJCQlpZiAoIWZvdW5kKSB7DQoJCQkJdmFyIHdlaWdodCA9IHBvc2l0aW9uSW5OYW1lID49IDAgPyBwb3NpdGlvbkluTmFtZSA6IDgwMDAgKyBwb3NpdGlvbkluRGVzY3JpcHRpb247DQoJCQkJcmVzdWx0cy5wdXNoKHsgaXRlbTogaXRlbSwgd2VpZ2h0OiB3ZWlnaHQgfSk7DQoJCQl9DQoJCX0NCgl9DQoNCglzZWFyY2hBcmd1bWVudC5vblJlc3VsdFJlYWR5Q2FsbGJhY2soDQoJCXJlc3VsdHMNCgkJCS5zb3J0KGZ1bmN0aW9uKHdlaWdodGVkSXRlbTEsIHdlaWdodGVkSXRlbTIpIHsNCgkJCQlyZXR1cm4gd2VpZ2h0ZWRJdGVtMS53ZWlnaHQgLSB3ZWlnaHRlZEl0ZW0yLndlaWdodDsNCgkJCX0pDQoJCQkubWFwKGZ1bmN0aW9uKHdlaWdodGVkSXRlbSkgew0KCQkJCXZhciBpdGVtID0gd2VpZ2h0ZWRJdGVtLml0ZW07DQoJCQkJcmV0dXJuIHsNCgkJCQkJc3ltYm9sOiBpdGVtLm5hbWUsDQoJCQkJCWZ1bGxfbmFtZTogaXRlbS5mdWxsX25hbWUsDQoJCQkJCWRlc2NyaXB0aW9uOiBpdGVtLmRlc2NyaXB0aW9uLA0KCQkJCQlleGNoYW5nZTogaXRlbS5leGNoYW5nZSwNCgkJCQkJcGFyYW1zOiBbXSwNCgkJCQkJdHlwZTogaXRlbS50eXBlLA0KCQkJCQl0aWNrZXI6IGl0ZW0ubmFtZQ0KCQkJCX07DQoJCQl9KQ0KCQkJLnNsaWNlKDAsIE1hdGgubWluKHJlc3VsdHMubGVuZ3RoLCBtYXhTZWFyY2hSZXN1bHRzKSkNCgkpOw0KfTsNCg0KLy8JPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi8vCT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQovLwk9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQovKg0KCVRoaXMgaXMgYSBwdWxzZSB1cGRhdGluZyBjb21wb25lbnRzIGZvciBFeHRlcm5hbERhdGFmZWVkLiBUaGV5IGVtdWxhdGVzIHJlYWx0aW1lIHVwZGF0ZXMgd2l0aCBwZXJpb2RpYyByZXF1ZXN0cy4NCiovDQoNCkRhdGFmZWVkcy5EYXRhUHVsc2VVcGRhdGVyID0gZnVuY3Rpb24oZGF0YWZlZWQsIHVwZGF0ZUZyZXF1ZW5jeSkgew0KCXRoaXMuX2RhdGFmZWVkID0gZGF0YWZlZWQ7DQoJdGhpcy5fc3Vic2NyaWJlcnMgPSB7fTsNCg0KCXRoaXMuX3JlcXVlc3RzUGVuZGluZyA9IDA7DQoJdmFyIHRoYXQgPSB0aGlzOw0KDQoJdmFyIHVwZGF0ZSA9IGZ1bmN0aW9uKCkgew0KCQlpZiAodGhhdC5fcmVxdWVzdHNQZW5kaW5nID4gMCkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJZm9yICh2YXIgbGlzdGVuZXJHVUlEIGluIHRoYXQuX3N1YnNjcmliZXJzKSB7DQoJCQl2YXIgc3Vic2NyaXB0aW9uUmVjb3JkID0gdGhhdC5fc3Vic2NyaWJlcnNbbGlzdGVuZXJHVUlEXTsNCgkJCXZhciByZXNvbHV0aW9uID0gc3Vic2NyaXB0aW9uUmVjb3JkLnJlc29sdXRpb247DQoNCgkJCXZhciBkYXRlc1JhbmdlUmlnaHQgPSBwYXJzZUludCgobmV3IERhdGUoKS52YWx1ZU9mKCkpIC8gMTAwMCk7DQoNCgkJCS8vCUJFV0FSRTogcGxlYXNlIG5vdGUgd2UgcmVhbGx5IG5lZWQgMiBiYXJzLCBub3QgdGhlIG9ubHkgbGFzdCBvbmUNCgkJCS8vCXNlZSB0aGUgZXhwbGFuYXRpb24gYmVsb3cuIGAxMGAgaXMgdGhlIGBsYXJnZSBlbm91Z2hgIHZhbHVlIHRvIHdvcmsgYXJvdW5kIGhvbGlkYXlzDQoJCQl2YXIgZGF0ZXNSYW5nZUxlZnQgPSBkYXRlc1JhbmdlUmlnaHQgLSB0aGF0LnBlcmlvZExlbmd0aFNlY29uZHMocmVzb2x1dGlvbiwgMTApOw0KDQoJCQl0aGF0Ll9yZXF1ZXN0c1BlbmRpbmcrKzsNCg0KCQkJKGZ1bmN0aW9uKF9zdWJzY3JpcHRpb25SZWNvcmQpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZQ0KCQkJCXRoYXQuX2RhdGFmZWVkLmdldEJhcnMoX3N1YnNjcmlwdGlvblJlY29yZC5zeW1ib2xJbmZvLCByZXNvbHV0aW9uLCBkYXRlc1JhbmdlTGVmdCwgZGF0ZXNSYW5nZVJpZ2h0LCBmdW5jdGlvbihiYXJzKSB7DQoJCQkJCXRoYXQuX3JlcXVlc3RzUGVuZGluZy0tOw0KDQoJCQkJCS8vCW1lYW5zIHRoZSBzdWJzY3JpcHRpb24gd2FzIGNhbmNlbGxlZCB3aGlsZSB3YWl0aW5nIGZvciBkYXRhDQoJCQkJCWlmICghdGhhdC5fc3Vic2NyaWJlcnMuaGFzT3duUHJvcGVydHkobGlzdGVuZXJHVUlEKSkgew0KCQkJCQkJcmV0dXJuOw0KCQkJCQl9DQoNCgkJCQkJaWYgKGJhcnMubGVuZ3RoID09PSAwKSB7DQoJCQkJCQlyZXR1cm47DQoJCQkJCX0NCg0KCQkJCQl2YXIgbGFzdEJhciA9IGJhcnNbYmFycy5sZW5ndGggLSAxXTsNCgkJCQkJaWYgKCFpc05hTihfc3Vic2NyaXB0aW9uUmVjb3JkLmxhc3RCYXJUaW1lKSAmJiBsYXN0QmFyLnRpbWUgPCBfc3Vic2NyaXB0aW9uUmVjb3JkLmxhc3RCYXJUaW1lKSB7DQoJCQkJCQlyZXR1cm47DQoJCQkJCX0NCg0KCQkJCQl2YXIgc3Vic2NyaWJlcnMgPSBfc3Vic2NyaXB0aW9uUmVjb3JkLmxpc3RlbmVyczsNCg0KCQkJCQkvLwlCRVdBUkU6IHRoaXMgb25lIGlzbid0IHdvcmtpbmcgd2hlbiBmaXJzdCB1cGRhdGUgY29tZXMgYW5kIHRoaXMgdXBkYXRlIG1ha2VzIGEgbmV3IGJhci4gSW4gdGhpcyBjYXNlDQoJCQkJCS8vCV9zdWJzY3JpcHRpb25SZWNvcmQubGFzdEJhclRpbWUgPSBOYU4NCgkJCQkJdmFyIGlzTmV3QmFyID0gIWlzTmFOKF9zdWJzY3JpcHRpb25SZWNvcmQubGFzdEJhclRpbWUpICYmIGxhc3RCYXIudGltZSA+IF9zdWJzY3JpcHRpb25SZWNvcmQubGFzdEJhclRpbWU7DQoNCgkJCQkJLy8JUHVsc2UgdXBkYXRpbmcgbWF5IG1pc3Mgc29tZSB0cmFkZXMgZGF0YSAoaWUsIGlmIHB1bHNlIHBlcmlvZCA9IDEwIHNlY29kcyBhbmQgbmV3IGJhciBpcyBzdGFydGVkIDUgc2Vjb25kcyBsYXRlciBhZnRlciB0aGUgbGFzdCB1cGRhdGUsIHRoZQ0KCQkJCQkvLwlvbGQgYmFyJ3MgbGFzdCA1IHNlY29uZHMgdHJhZGVzIHdpbGwgYmUgbG9zdCkuIFRodXMsIGF0IGZpc3Qgd2Ugc2hvdWxkIGJyb2FkY2FzdCBvbGQgYmFyIHVwZGF0ZXMgd2hlbiBpdCdzIHJlYWR5Lg0KCQkJCQlpZiAoaXNOZXdCYXIpIHsNCgkJCQkJCWlmIChiYXJzLmxlbmd0aCA8IDIpIHsNCgkJCQkJCQl0aHJvdyBuZXcgRXJyb3IoJ05vdCBlbm91Z2ggYmFycyBpbiBoaXN0b3J5IGZvciBwcm9wZXIgcHVsc2UgdXBkYXRlLiBOZWVkIGF0IGxlYXN0IDIuJyk7DQoJCQkJCQl9DQoNCgkJCQkJCXZhciBwcmV2aW91c0JhciA9IGJhcnNbYmFycy5sZW5ndGggLSAyXTsNCgkJCQkJCWZvciAodmFyIGkgPSAwOyBpIDwgc3Vic2NyaWJlcnMubGVuZ3RoOyArK2kpIHsNCgkJCQkJCQlzdWJzY3JpYmVyc1tpXShwcmV2aW91c0Jhcik7DQoJCQkJCQl9DQoJCQkJCX0NCg0KCQkJCQlfc3Vic2NyaXB0aW9uUmVjb3JkLmxhc3RCYXJUaW1lID0gbGFzdEJhci50aW1lOw0KDQoJCQkJCWZvciAodmFyIGkgPSAwOyBpIDwgc3Vic2NyaWJlcnMubGVuZ3RoOyArK2kpIHsNCgkJCQkJCXN1YnNjcmliZXJzW2ldKGxhc3RCYXIpOw0KCQkJCQl9DQoJCQkJfSwNCg0KCQkJCS8vCW9uIGVycm9yDQoJCQkJZnVuY3Rpb24oKSB7DQoJCQkJCXRoYXQuX3JlcXVlc3RzUGVuZGluZy0tOw0KCQkJCX0pOw0KCQkJfSkoc3Vic2NyaXB0aW9uUmVjb3JkKTsNCgkJfQ0KCX07DQoNCglpZiAodHlwZW9mIHVwZGF0ZUZyZXF1ZW5jeSAhPSAndW5kZWZpbmVkJyAmJiB1cGRhdGVGcmVxdWVuY3kgPiAwKSB7DQoJCXNldEludGVydmFsKHVwZGF0ZSwgdXBkYXRlRnJlcXVlbmN5KTsNCgl9DQp9Ow0KDQpEYXRhZmVlZHMuRGF0YVB1bHNlVXBkYXRlci5wcm90b3R5cGUudW5zdWJzY3JpYmVEYXRhTGlzdGVuZXIgPSBmdW5jdGlvbihsaXN0ZW5lckdVSUQpIHsNCgl0aGlzLl9kYXRhZmVlZC5fbG9nTWVzc2FnZSgnVW5zdWJzY3JpYmluZyAnICsgbGlzdGVuZXJHVUlEKTsNCglkZWxldGUgdGhpcy5fc3Vic2NyaWJlcnNbbGlzdGVuZXJHVUlEXTsNCn07DQoNCkRhdGFmZWVkcy5EYXRhUHVsc2VVcGRhdGVyLnByb3RvdHlwZS5zdWJzY3JpYmVEYXRhTGlzdGVuZXIgPSBmdW5jdGlvbihzeW1ib2xJbmZvLCByZXNvbHV0aW9uLCBuZXdEYXRhQ2FsbGJhY2ssIGxpc3RlbmVyR1VJRCkgew0KCXRoaXMuX2RhdGFmZWVkLl9sb2dNZXNzYWdlKCdTdWJzY3JpYmluZyAnICsgbGlzdGVuZXJHVUlEKTsNCg0KCWlmICghdGhpcy5fc3Vic2NyaWJlcnMuaGFzT3duUHJvcGVydHkobGlzdGVuZXJHVUlEKSkgew0KCQl0aGlzLl9zdWJzY3JpYmVyc1tsaXN0ZW5lckdVSURdID0gew0KCQkJc3ltYm9sSW5mbzogc3ltYm9sSW5mbywNCgkJCXJlc29sdXRpb246IHJlc29sdXRpb24sDQoJCQlsYXN0QmFyVGltZTogTmFOLA0KCQkJbGlzdGVuZXJzOiBbXQ0KCQl9Ow0KCX0NCg0KCXRoaXMuX3N1YnNjcmliZXJzW2xpc3RlbmVyR1VJRF0ubGlzdGVuZXJzLnB1c2gobmV3RGF0YUNhbGxiYWNrKTsNCn07DQoNCkRhdGFmZWVkcy5EYXRhUHVsc2VVcGRhdGVyLnByb3RvdHlwZS5wZXJpb2RMZW5ndGhTZWNvbmRzID0gZnVuY3Rpb24ocmVzb2x1dGlvbiwgcmVxdWlyZWRQZXJpb2RzQ291bnQpIHsNCgl2YXIgZGF5c0NvdW50ID0gMDsNCg0KCWlmIChyZXNvbHV0aW9uID09PSAnRCcpIHsNCgkJZGF5c0NvdW50ID0gcmVxdWlyZWRQZXJpb2RzQ291bnQ7DQoJfSBlbHNlIGlmIChyZXNvbHV0aW9uID09PSAnTScpIHsNCgkJZGF5c0NvdW50ID0gMzEgKiByZXF1aXJlZFBlcmlvZHNDb3VudDsNCgl9IGVsc2UgaWYgKHJlc29sdXRpb24gPT09ICdXJykgew0KCQlkYXlzQ291bnQgPSA3ICogcmVxdWlyZWRQZXJpb2RzQ291bnQ7DQoJfSBlbHNlIHsNCgkJZGF5c0NvdW50ID0gcmVxdWlyZWRQZXJpb2RzQ291bnQgKiByZXNvbHV0aW9uIC8gKDI0ICogNjApOw0KCX0NCg0KCXJldHVybiBkYXlzQ291bnQgKiAyNCAqIDYwICogNjA7DQp9Ow0KDQpEYXRhZmVlZHMuUXVvdGVzUHVsc2VVcGRhdGVyID0gZnVuY3Rpb24oZGF0YWZlZWQpIHsNCgl0aGlzLl9kYXRhZmVlZCA9IGRhdGFmZWVkOw0KCXRoaXMuX3N1YnNjcmliZXJzID0ge307DQoJdGhpcy5fdXBkYXRlSW50ZXJ2YWwgPSA2MCAqIDEwMDA7DQoJdGhpcy5fZmFzdFVwZGF0ZUludGVydmFsID0gMTAgKiAxMDAwOw0KCXRoaXMuX3JlcXVlc3RzUGVuZGluZyA9IDA7DQoNCgl2YXIgdGhhdCA9IHRoaXM7DQoNCglzZXRJbnRlcnZhbChmdW5jdGlvbigpIHsNCgkJdGhhdC5fdXBkYXRlUXVvdGVzKGZ1bmN0aW9uKHN1YnNjcmlwdGlvblJlY29yZCkgeyByZXR1cm4gc3Vic2NyaXB0aW9uUmVjb3JkLnN5bWJvbHM7IH0pOw0KCX0sIHRoaXMuX3VwZGF0ZUludGVydmFsKTsNCg0KCXNldEludGVydmFsKGZ1bmN0aW9uKCkgew0KCQl0aGF0Ll91cGRhdGVRdW90ZXMoZnVuY3Rpb24oc3Vic2NyaXB0aW9uUmVjb3JkKSB7IHJldHVybiBzdWJzY3JpcHRpb25SZWNvcmQuZmFzdFN5bWJvbHMubGVuZ3RoID4gMCA/IHN1YnNjcmlwdGlvblJlY29yZC5mYXN0U3ltYm9scyA6IHN1YnNjcmlwdGlvblJlY29yZC5zeW1ib2xzOyB9KTsNCgl9LCB0aGlzLl9mYXN0VXBkYXRlSW50ZXJ2YWwpOw0KfTsNCg0KRGF0YWZlZWRzLlF1b3Rlc1B1bHNlVXBkYXRlci5wcm90b3R5cGUuc3Vic2NyaWJlRGF0YUxpc3RlbmVyID0gZnVuY3Rpb24oc3ltYm9scywgZmFzdFN5bWJvbHMsIG5ld0RhdGFDYWxsYmFjaywgbGlzdGVuZXJHVUlEKSB7DQoJaWYgKCF0aGlzLl9zdWJzY3JpYmVycy5oYXNPd25Qcm9wZXJ0eShsaXN0ZW5lckdVSUQpKSB7DQoJCXRoaXMuX3N1YnNjcmliZXJzW2xpc3RlbmVyR1VJRF0gPSB7DQoJCQlzeW1ib2xzOiBzeW1ib2xzLA0KCQkJZmFzdFN5bWJvbHM6IGZhc3RTeW1ib2xzLA0KCQkJbGlzdGVuZXJzOiBbXQ0KCQl9Ow0KCX0NCg0KCXRoaXMuX3N1YnNjcmliZXJzW2xpc3RlbmVyR1VJRF0ubGlzdGVuZXJzLnB1c2gobmV3RGF0YUNhbGxiYWNrKTsNCn07DQoNCkRhdGFmZWVkcy5RdW90ZXNQdWxzZVVwZGF0ZXIucHJvdG90eXBlLnVuc3Vic2NyaWJlRGF0YUxpc3RlbmVyID0gZnVuY3Rpb24obGlzdGVuZXJHVUlEKSB7DQoJZGVsZXRlIHRoaXMuX3N1YnNjcmliZXJzW2xpc3RlbmVyR1VJRF07DQp9Ow0KDQpEYXRhZmVlZHMuUXVvdGVzUHVsc2VVcGRhdGVyLnByb3RvdHlwZS5fdXBkYXRlUXVvdGVzID0gZnVuY3Rpb24oc3ltYm9sc0dldHRlcikgew0KCWlmICh0aGlzLl9yZXF1ZXN0c1BlbmRpbmcgPiAwKSB7DQoJCXJldHVybjsNCgl9DQoNCgl2YXIgdGhhdCA9IHRoaXM7DQoJZm9yICh2YXIgbGlzdGVuZXJHVUlEIGluIHRoaXMuX3N1YnNjcmliZXJzKSB7DQoJCXRoaXMuX3JlcXVlc3RzUGVuZGluZysrOw0KDQoJCXZhciBzdWJzY3JpcHRpb25SZWNvcmQgPSB0aGlzLl9zdWJzY3JpYmVyc1tsaXN0ZW5lckdVSURdOw0KCQl0aGlzLl9kYXRhZmVlZC5nZXRRdW90ZXMoc3ltYm9sc0dldHRlcihzdWJzY3JpcHRpb25SZWNvcmQpLA0KDQoJCQkvLyBvbkRhdGFDYWxsYmFjaw0KCQkJKGZ1bmN0aW9uKHN1YnNjcmliZXJzLCBndWlkKSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUNCgkJCQlyZXR1cm4gZnVuY3Rpb24oZGF0YSkgew0KCQkJCQl0aGF0Ll9yZXF1ZXN0c1BlbmRpbmctLTsNCg0KCQkJCQkvLyBtZWFucyB0aGUgc3Vic2NyaXB0aW9uIHdhcyBjYW5jZWxsZWQgd2hpbGUgd2FpdGluZyBmb3IgZGF0YQ0KCQkJCQlpZiAoIXRoYXQuX3N1YnNjcmliZXJzLmhhc093blByb3BlcnR5KGd1aWQpKSB7DQoJCQkJCQlyZXR1cm47DQoJCQkJCX0NCg0KCQkJCQlmb3IgKHZhciBpID0gMDsgaSA8IHN1YnNjcmliZXJzLmxlbmd0aDsgKytpKSB7DQoJCQkJCQlzdWJzY3JpYmVyc1tpXShkYXRhKTsNCgkJCQkJfQ0KCQkJCX07DQoJCQl9KHN1YnNjcmlwdGlvblJlY29yZC5saXN0ZW5lcnMsIGxpc3RlbmVyR1VJRCkpLA0KCQkJLy8gb25FcnJvckNhbGxiYWNrDQoJCQlmdW5jdGlvbihlcnJvcikgew0KCQkJCXRoYXQuX3JlcXVlc3RzUGVuZGluZy0tOw0KCQkJfSk7DQoJfQ0KfTsNCg0KaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnICYmIG1vZHVsZSAmJiBtb2R1bGUuZXhwb3J0cykgew0KCW1vZHVsZS5leHBvcnRzID0gew0KCQlVREZDb21wYXRpYmxlRGF0YWZlZWQ6IERhdGFmZWVkcy5VREZDb21wYXRpYmxlRGF0YWZlZWQsDQoJfTsNCn0NCg=="}},"time_used":10,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":9,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.94947.78350a9903056b993c26.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.474Z","timestamp":1785120634474,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.94947.78350a9903056b993c26.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\ncontent-length: 112\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"69f98b72-70\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:20:00\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 8d8c86936bd4def9ac9a2423f4cb4a20\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":112,"size_decoded":911,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"ca07c1961f9b98a2b190f872aebba5c1","sha1":"9e765a84de461cb72d1dda1a992eb168a347762a","sha256":"a73e581e82580c634a0afa42bd7a8ada31e093c3eb60aa347c906aae841b3aeb","sha512":"a67762b341ac2d78faa332f26b523a96315b5af223ab2412020c2f5ddb5da9672e687275ff53b962f79998a9e3156f990109016fd3d54e511ff855544a441857","ssdeep":"","tlshash":"1cb092222060fc24386b140875a10eb268b822e5282684eebb2518442026a680900f8c","first_seen":"2026-05-05T10:36:04.862254Z","last_seen":"2026-07-27T06:01:16.335674Z","times_seen":693,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s5NDk0N10sezM5NDk0NyhlKXtlLmV4cG9ydHM9WyJNb3JlIl19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/84306.31d6cfe0d16ae931b73c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.475Z","timestamp":1785120634475,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/84306.31d6cfe0d16ae931b73c.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 0\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a58abe8-0\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 10:01:12 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 35b4ebd6143814e2d2b07962a27558ae\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":782,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-07-27T05:14:11.3544Z","times_seen":17556491,"resource_available":true,"data":""}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/symbol-overview-market-status.199cf5388aa75a30163e.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.860Z","timestamp":1785120634860,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/symbol-overview-market-status.199cf5388aa75a30163e.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"www.tradingview-widget.com/static/bundles/embed/73412.4c102818ffef73161fe1.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.209Z","timestamp":1785120634209,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/73412.4c102818ffef73161fe1.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-487f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 43a418f13a6a8057e8df0bfc9a27ac82\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":18559,"size_decoded":5748,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (8881)","md5":"422636023d55690609fce8127ace82e2","sha1":"f067bcdceb83c6ad56ea24a44d96a430265afe46","sha256":"0d6b57c0d510f7d333f8dd28d138512ba9e093cb8d2a857e94e4699f10896e61","sha512":"dbcae425b76e785d30b99b63a5bb3420cd65b99541f1cff59128488e74741414af26b0e8f212a6f2f21e52abe80011e4a9dd9d10f42a3af5125b6a2354e40975","ssdeep":"384:nhjXdYS4gnfR8o1Yys/z02D8EIomJHYIjVAUc:hjtYHmJxO","tlshash":"3d82873cf9d0e527b6eb99ff4f81e6524959a843b73b7fc27134d2c02419c4b2122a1a","first_seen":"2026-07-23T22:46:45.888096Z","last_seen":"2026-07-27T06:01:16.203799Z","times_seen":25,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNzM0MTJdLHsxMTUyOTMobyxyLGwpe2wuZChyLHtmb3JjZUxUUlN0cjooKT0+ZCxpc1J0bDooKT0+dCxzZXREb2N1bWVudERpckdldHRlcjooKT0+YyxzdHJpcExUUk1hcmtzOigpPT5pfSk7bCgzMjA0MDMpO2xldCBlPSgpPT5udWxsO2Z1bmN0aW9uIGMobyl7ZT1vfWNvbnN0IHQ9KCk9PiJydGwiPT09ZnVuY3Rpb24oKXtjb25zdCBvPWUoKTtpZihudWxsPT09byl0aHJvdyBuZXcgRXJyb3IoIkRvY3VtZW50IGRpcmVjdGlvbiBnZXR0ZXIgaXMgbm90IHNldCwgY2FsbCBzZXREb2N1bWVudERpckdldHRlciB0byBzZXQgaXQiKTtyZXR1cm4gb30oKSxhPSLigKoiLG49IuKArCIsZz1uZXcgUmVnRXhwKCLigI584oCPfOKAqnzigKt84oCsIiwiZyIpO2Z1bmN0aW9uIGkobyl7cmV0dXJuIiIhPT1vJiZ0KCkmJm51bGwhPW8/by5yZXBsYWNlKGcsIiIpOm99ZnVuY3Rpb24gZChvKXtyZXR1cm4iIiE9PW8mJnQoKSYmbnVsbCE9bz9hK28rbjpvfXZhciBiOyFmdW5jdGlvbihvKXtvLkxUUj0ibHRyIixvLlJUTD0icnRsIixvLlVOS05PV049IiJ9KGJ8fChiPXt9KSl9LDExMTk1MyhvLHIsbCl7bC5kKHIse2NvbXBhcmVTeW1ib2xzOigpPT52LGRlY29kZUV4dGVuZGVkU3ltYm9sOigpPT51LGVuY29kZUV4dGVuZGVkU3ltYm9sOigpPT5jLGVuY29kZUV4dGVuZGVkU3ltYm9sU3RydWN0dXJhbDooKT0+ZCxleHRyYWN0RXh0ZW5kZWRTeW1ib2w6KCk9PnAsaXNFbmNvZGVkRXh0ZW5kZWRTeW1ib2w6KCk9PmIsaXNTdHVkeVN5bWJvbDooKT0+bixyZXBsYWNlRXh0ZW5kZWRTeW1ib2w6KCk9Pm0sdW53cmFwU2ltcGxlU3ltYm9sOigpPT55fSk7dmFyIGU9bCg2MDE4NDEpO2Z1bmN0aW9uIGMobyl7cmV0dXJuIj0iK0pTT04uc3RyaW5naWZ5KHQobykpfWZ1bmN0aW9uIHQobyl7cmV0dXJuIE9iamVjdC5rZXlzKG8pLnNvcnQoKS5yZWR1Y2UoKChyLGwpPT4odF0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9bbF0pP3JbbF09dChvW2xdKTpyW2xdPW9bbF0scikpLHt9KX1mdW5jdGlvbiBhKG8pe3JldHVybigwLGUuaXNTdHJpbmcpKG8pfWZ1bmN0aW9uIG4obyl7cmV0dXJuIWEobykmJiJpbnB1dHMiaW4gb31mdW5jdGlvbiBnKG8pe3JldHVybiFhKG8pJiYicmVwbGF5ImluIG99ZnVuY3Rpb24gaShvKXtyZXR1cm4gZyhvKXx8ZnVuY3Rpb24obyl7cmV0dXJuIWEobykmJmcoby5zeW1ib2wpfShvKX1mdW5jdGlvbiBkKG8pe3JldHVybiBuKG8pfHxpKG8pfHxvLnNlc3Npb258fG8uYWRqdXN0bWVudHx8b1siY3VycmVuY3ktaWQiXXx8b1sidW5pdC1pZCJdfHxvLm1ldHJpYz9jKG8pOm8uc3ltYm9sfWZ1bmN0aW9uIGIobyl7cmV0dXJuIj0iPT09b1swXX1mdW5jdGlvbiB1KG8pe2lmKCFiKG8pKXJldHVybntzeW1ib2w6b307dHJ5e3JldHVybiBKU09OLnBhcnNlKG8uc2xpY2UoMSkpfWNhdGNoKHIpe3JldHVybntzeW1ib2w6b319fWZ1bmN0aW9uIHkobyl7cmV0dXJuIGEobyk/bzp5KG8uc3ltYm9sKX1mdW5jdGlvbiBwKG8pe2lmKGEobykpcmV0dXJue3N5bWJvbDpvfTtsZXQgcj1vO2Zvcig7IWEoci5zeW1ib2wpOylyPXIuc3ltYm9sO3JldHVybiByfWNvbnN0IHM9WyJzeW1ib2wiLCJzZXNzaW9uIiwidW5pdC1pZCIsImN1cnJlbmN5LWlkIiwibWV0cmljIiwiYWRqdXN0bWVudCIsImJhY2thZGp1c3RtZW50Iiwic2V0dGxlbWVudC1hcy1jbG9zZSJdO2Z1bmN0aW9uIHYobyxyKXtyZXR1cm4gcy5ldmVyeSgobD0+b1tsXT09PXJbbF0pKX1mdW5jdGlvbiBtKG8scil7bGV0IGw9bztmb3IoOyFhKGwuc3ltYm9sKTspbD1sLnN5bWJvbDtsLnN5bWJvbD1yfX0sMjM0OTY0KG8scixsKXthc3luYyBmdW5jdGlvbiBlKG8scil7Y29uc3QgZT1hd2FpdCBQcm9taXNlLmFsbChbbC5lKDI4ODMxKSxsLmUoODQzMDYpLGwuZSgyOTI5NiksbC5lKDUyMzk2KSxsLmUoNjAwNjIpLGwuZSgyMDM1NCksbC5lKDEzNDkyKSxsLmUoMzc3NDYpLGwuZSgxMjM4NSksbC5lKDgxMDcyKSxsLmUoOTQyMzIpLGwuZSgxOTU5NSksbC5lKDE5Nzg3KSxsLmUoODU3OSksbC5lKDE3MDg3KSxsLmUoNTczMDApLGwuZSgxMjA1MSksbC5lKDg5NTU4KSxsLmUoMTAzNjYpLGwuZSg0MDkxNCksbC5lKDkwOTYwKSxsLmUoODc3NDApLGwuZSg3ODg5OSksbC5lKDY3MjEyKSxsLmUoODA5MTUpLGwuZSgxNTM0KSxsLmUoMjgxNzYpLGwuZSgzOTYwOSksbC5lKDU1MjI5KSxsLmUoNjUxMDApLGwuZSg0MjcwNildKS50aGVuKGwuYmluZChsLDUwNjI3NSkpO3JldHVybiBlLnNob3dTaW1wbGVEaWFsb2cobyxlLmNvbmZpcm1Nb2R1bGUscil9YXN5bmMgZnVuY3Rpb24gYyhvLHIpe2NvbnN0IGU9YXdhaXQgUHJvbWlzZS5hbGwoW2wuZSgyODgzMSksbC5lKDg0MzA2KSxsLmUoMjkyOTYpLGwuZSg1MjM5NiksbC5lKDYwMDYyKSxsLmUoMjAzNTQpLGwuZSgxMzQ5MiksbC5lKDM3NzQ2KSxsLmUoMTIzODUpLGwuZSg4MTA3MiksbC5lKDk0MjMyKSxsLmUoMTk1OTUpLGwuZSgxOTc4NyksbC5lKDg1NzkpLGwuZSgxNzA4NyksbC5lKDU3MzAwKSxsLmUoMTIwNTEpLGwuZSg4OTU1OCksbC5lKDEwMzY2KSxsLmUoNDA5MTQpLGwuZSg5MDk2MCksbC5lKDg3NzQwKSxsLmUoNzg4OTkpLGwuZSg2NzIxMiksbC5lKDgwOTE1KSxsLmUoMTUzNCksbC5lKDI4MTc2KSxsLmUoMzk2MDkpLGwuZSg1NTIyOSksbC5lKDY1MTAwKSxsLmUoNDI3MDYpXSkudGhlbihsLmJpbmQobCw1MDYyNzUpKTtyZXR1cm4gZS5zaG93U2ltcGxlRGlhbG9nKG8sZS53YXJuaW5nTW9kdWxlLHIpfWwuZChyLHtzaG93Q29uZmlybTooKT0+ZSxzaG93V2FybmluZzooKT0+Y30pfSwxMTM1NjcobyxyLGwpe2wuZChyLHtwcmVwYXJlQ3VycmVuY3lWYWx1ZTooKT0+Y30pO3ZhciBlPWwoMTg1MjcxKTtmdW5jdGlvbiBjKG8pe2xldCByPVtdO2NvbnN0IGM9ZnVuY3Rpb24obyl7c3dpdGNoKG8pe2Nhc2UiUENUIjpjYXNlIlBDVFBBUiI6cmV0dXJuIiUiO2Nhc2UiUENUR0RQIjpyZXR1cm4gZS50KG51bGwse2NvbnRleHQ6Il9tYXhfbGVuXzkifSxsKDU1ODQxMikpCjtjYXNlIkRFR0MiOnJldHVybiLihIMiO2RlZmF1bHQ6cmV0dXJuIG99fShvLmN1cnJlbmN5X2NvZGV8fG8udmFsdWVfdW5pdF9pZHx8IiIpO3N3aXRjaChvLm1lYXN1cmUpe2Nhc2UicHJpY2UiOmNhc2UidW5pdCI6cj1bYyxvLnVuaXRfaWRdO2JyZWFrO2RlZmF1bHQ6cj1bY119cmV0dXJuIHIuZmlsdGVyKEJvb2xlYW4pLmpvaW4oIuKAiS/igIkiKX19LDMxNzY2MyhvKXsKby5leHBvcnRzPUpTT04ucGFyc2UoJ3siY29sb3Itd2hpdGUiOiIjZmZmZmZmIiwiY29sb3ItYmxhY2siOiIjMDAwMDAwIiwiY29sb3ItdHJhbnNwYXJlbnQiOiIjMDAwMDAwMDAiLCJjb2xvci1jb2xkLWdyYXktNTAiOiIjRjlGOUY5IiwiY29sb3ItY29sZC1ncmF5LTEwMCI6IiNGMkYyRjIiLCJjb2xvci1jb2xkLWdyYXktMTUwIjoiI0VCRUJFQiIsImNvbG9yLWNvbGQtZ3JheS0yMDAiOiIjREJEQkRCIiwiY29sb3ItY29sZC1ncmF5LTI1MCI6IiNDOUM5QzkiLCJjb2xvci1jb2xkLWdyYXktMzAwIjoiI0I4QjhCOCIsImNvbG9yLWNvbGQtZ3JheS0zNTAiOiIjQThBOEE4IiwiY29sb3ItY29sZC1ncmF5LTQwMCI6IiM5QzlDOUMiLCJjb2xvci1jb2xkLWdyYXktNDUwIjoiIzhDOEM4QyIsImNvbG9yLWNvbGQtZ3JheS01MDAiOiIjODA4MDgwIiwiY29sb3ItY29sZC1ncmF5LTU1MCI6IiM3MDcwNzAiLCJjb2xvci1jb2xkLWdyYXktNjAwIjoiIzYzNjM2MyIsImNvbG9yLWNvbGQtZ3JheS02NTAiOiIjNTc1NzU3IiwiY29sb3ItY29sZC1ncmF5LTcwMCI6IiM0QTRBNEEiLCJjb2xvci1jb2xkLWdyYXktNzUwIjoiIzNEM0QzRCIsImNvbG9yLWNvbGQtZ3JheS04MDAiOiIjMkUyRTJFIiwiY29sb3ItY29sZC1ncmF5LTg1MCI6IiMxRjFGMUYiLCJjb2xvci1jb2xkLWdyYXktOTAwIjoiIzBGMEYwRiIsImNvbG9yLWNvbGQtZ3JheS05NTAiOiIjMDAwMDAwIiwiY29sb3ItcmlwZS1yZWQtNTAiOiIjRkZFQkVDIiwiY29sb3ItcmlwZS1yZWQtMTAwIjoiI0ZDQ0JDRCIsImNvbG9yLXJpcGUtcmVkLTIwMCI6IiNGQUExQTQiLCJjb2xvci1yaXBlLXJlZC0zMDAiOiIjRjc3QzgwIiwiY29sb3ItcmlwZS1yZWQtNDAwIjoiI0Y3NTI1RiIsImNvbG9yLXJpcGUtcmVkLTUwMCI6IiNGMjM2NDUiLCJjb2xvci1yaXBlLXJlZC02MDAiOiIjQ0MyRjNDIiwiY29sb3ItcmlwZS1yZWQtNzAwIjoiI0IyMjgzMyIsImNvbG9yLXJpcGUtcmVkLTgwMCI6IiM5OTFGMjkiLCJjb2xvci1yaXBlLXJlZC05MDAiOiIjODAxOTIyIiwiY29sb3ItcmlwZS1yZWQtYTEwMCI6IiNGRjgwODAiLCJjb2xvci1yaXBlLXJlZC1hMjAwIjoiI0ZGNTI1MiIsImNvbG9yLXJpcGUtcmVkLWE0MDAiOiIjRkYzMzMzIiwiY29sb3ItcmlwZS1yZWQtYTYwMCI6IiNDQzI5MjkiLCJjb2xvci1yaXBlLXJlZC1hNzAwIjoiIzgwMjAyOCIsImNvbG9yLXJpcGUtcmVkLWE4MDAiOiIjNEQxOTFEIiwiY29sb3ItcmlwZS1yZWQtYTkwMCI6IiMzMzFGMjAiLCJjb2xvci10YW4tb3JhbmdlLTUwIjoiI0ZGRjNFMCIsImNvbG9yLXRhbi1vcmFuZ2UtMTAwIjoiI0ZGRTBCMiIsImNvbG9yLXRhbi1vcmFuZ2UtMjAwIjoiI0ZGQ0M4MCIsImNvbG9yLXRhbi1vcmFuZ2UtMzAwIjoiI2ZmYjc0ZCIsImNvbG9yLXRhbi1vcmFuZ2UtNDAwIjoiI0ZGQTcyNiIsImNvbG9yLXRhbi1vcmFuZ2UtNTAwIjoiI0ZGOTgwMCIsImNvbG9yLXRhbi1vcmFuZ2UtNjAwIjoiI0ZCOEMwMCIsImNvbG9yLXRhbi1vcmFuZ2UtNzAwIjoiI0Y1N0MwMCIsImNvbG9yLXRhbi1vcmFuZ2UtODAwIjoiI0VGNkMwMCIsImNvbG9yLXRhbi1vcmFuZ2UtOTAwIjoiI2U2NTEwMCIsImNvbG9yLXRhbi1vcmFuZ2UtYTEwMCI6IiNGRkQxODAiLCJjb2xvci10YW4tb3JhbmdlLWEyMDAiOiIjZmZhYjQwIiwiY29sb3ItdGFuLW9yYW5nZS1hNDAwIjoiI0ZGOTEwMCIsImNvbG9yLXRhbi1vcmFuZ2UtYTUwMCI6IiNFNTdFMTciLCJjb2xvci10YW4tb3JhbmdlLWE2MDAiOiIjQ0M3MDE0IiwiY29sb3ItdGFuLW9yYW5nZS1hNzAwIjoiIzhDNTQxQyIsImNvbG9yLXRhbi1vcmFuZ2UtYTgwMCI6IiM1OTNBMUIiLCJjb2xvci10YW4tb3JhbmdlLWE5MDAiOiIjMzMyNjFBIiwiY29sb3ItaWd1YW5hLWdyZWVuLTUwIjoiI0U4RjVFOSIsImNvbG9yLWlndWFuYS1ncmVlbi0xMDAiOiIjQzhFNkM5IiwiY29sb3ItaWd1YW5hLWdyZWVuLTIwMCI6IiNBNUQ2QTciLCJjb2xvci1pZ3VhbmEtZ3JlZW4tMzAwIjoiIzgxYzc4NCIsImNvbG9yLWlndWFuYS1ncmVlbi00MDAiOiIjNjZCQjZBIiwiY29sb3ItaWd1YW5hLWdyZWVuLTUwMCI6IiM0Y2FmNTAiLCJjb2xvci1pZ3VhbmEtZ3JlZW4tNjAwIjoiIzQzYTA0NyIsImNvbG9yLWlndWFuYS1ncmVlbi03MDAiOiIjMzg4ZTNjIiwiY29sb3ItaWd1YW5hLWdyZWVuLTgwMCI6IiMyRTdEMzIiLCJjb2xvci1pZ3VhbmEtZ3JlZW4tOTAwIjoiIzFCNUUyMCIsImNvbG9yLWlndWFuYS1ncmVlbi1hMTAwIjoiI0I5RjZDQSIsImNvbG9yLWlndWFuYS1ncmVlbi1hMjAwIjoiIzY5RjBBRSIsImNvbG9yLWlndWFuYS1ncmVlbi1hNDAwIjoiIzAwRTY3NiIsImNvbG9yLWlndWFuYS1ncmVlbi1hNzAwIjoiIzAwYzg1MyIsImNvbG9yLWJhbmFuYS15ZWxsb3ctNTAiOiIjRkZGREU3IiwiY29sb3ItYmFuYW5hLXllbGxvdy0xMDAiOiIjRkZGOUM0IiwiY29sb3ItYmFuYW5hLXllbGxvdy0yMDAiOiIjRkZGNTlEIiwiY29sb3ItYmFuYW5hLXllbGxvdy0zMDAiOiIjRkZGMTc2IiwiY29sb3ItYmFuYW5hLXllbGxvdy00MDAiOiIjZmZlZTU4IiwiY29sb3ItYmFuYW5hLXllbGxvdy01MDAiOiIjZmZlYjNiIiwiY29sb3ItYmFuYW5hLXllbGxvdy02MDAiOiIjZmRkODM1IiwiY29sb3ItYmFuYW5hLXllbGxvdy03MDAiOiIjZmJjMDJkIiwiY29sb3ItYmFuYW5hLXllbGxvdy04MDAiOiIjZjlhODI1IiwiY29sb3ItYmFuYW5hLXllbGxvdy05MDAiOiIjRjU3RjE3IiwiY29sb3ItYmFuYW5hLXllbGxvdy1hMTAwIjoiI0ZGRkY4RCIsImNvbG9yLWJhbmFuYS15ZWxsb3ctYTIwMCI6IiNGRkZGMDAiLCJjb2xvci1iYW5hbmEteWVsbG93LWE0MDAiOiIjZmZlYTAwIiwiY29sb3ItYmFuYW5hLXllbGxvdy1hNzAwIjoiI0VFREEwMSIsImNvbG9yLXR2LWJsdWUtNTAiOiIjRTNFRkZEIiwiY29sb3ItdHYtYmx1ZS0xMDAiOiIjQkJEOUZCIiwiY29sb3ItdHYtYmx1ZS0yMDAiOiIjOTBCRkY5IiwiY29sb3ItdHYtYmx1ZS0zMDAiOiIjNUI5Q0Y2IiwiY29sb3ItdHYtYmx1ZS00MDAiOiIjMzE3OUY1IiwiY29sb3ItdHYtYmx1ZS01MDAiOiIjMjk2MkZGIiwiY29sb3ItdHYtYmx1ZS02MDAiOiIjMUU1M0U1IiwiY29sb3ItdHYtYmx1ZS03MDAiOiIjMTg0OENDIiwiY29sb3ItdHYtYmx1ZS04MDAiOiIjMTQzRUIyIiwiY29sb3ItdHYtYmx1ZS05MDAiOiIjMEMzMjk5IiwiY29sb3ItdHYtYmx1ZS1hMTAwIjoiIzgyYjFmZiIsImNvbG9yLXR2LWJsdWUtYTIwMCI6IiM0NDhhZmYiLCJjb2xvci10di1ibHVlLWE0MDAiOiIjMjk3OWZmIiwiY29sb3ItdHYtYmx1ZS1hNjAwIjoiIzI5NjJGRiIsImNvbG9yLXR2LWJsdWUtYTcwMCI6IiMxNDNBODciLCJjb2xvci10di1ibHVlLWE4MDAiOiIjMTQyRTYxIiwiY29sb3ItdHYtYmx1ZS1hOTAwIjoiIzEzMjA0MiIsImNvbG9yLWRlZXAtYmx1ZS01MCI6IiNFREU3RjYiLCJjb2xvci1kZWVwLWJsdWUtMTAwIjoiI0QxQzRFOSIsImNvbG9yLWRlZXAtYmx1ZS0yMDAiOiIjQjM5RERCIiwiY29sb3ItZGVlcC1ibHVlLTMwMCI6IiM5NTc1Y2QiLCJjb2xvci1kZWVwLWJsdWUtNDAwIjoiIzdlNTdjMiIsImNvbG9yLWRlZXAtYmx1ZS01MDAiOiIjNjczYWI3IiwiY29sb3ItZGVlcC1ibHVlLTYwMCI6IiM1RTM1QjEiLCJjb2xvci1kZWVwLWJsdWUtNzAwIjoiIzUxMmRhOCIsImNvbG9yLWRlZXAtYmx1ZS04MDAiOiIjNDUyN0EwIiwiY29sb3ItZGVlcC1ibHVlLTkwMCI6IiMzMTFCOTIiLCJjb2xvci1kZWVwLWJsdWUtYTEwMCI6IiNiMzg4ZmYiLCJjb2xvci1kZWVwLWJsdWUtYTIwMCI6IiM3QzRERkYiLCJjb2xvci1kZWVwLWJsdWUtYTQwMCI6IiM2NTFGRkYiLCJjb2xvci1kZWVwLWJsdWUtYTcwMCI6IiM2MjAwRUEiLCJjb2xvci1taW50eS1ncmVlbi01MCI6IiNEQUYyRUUiLCJjb2xvci1taW50eS1ncmVlbi0xMDAiOiIjQUNFNURDIiwiY29sb3ItbWludHktZ3JlZW4tMjAwIjoiIzcwQ0NCRCIsImNvbG9yLW1pbnR5LWdyZWVuLTMwMCI6IiM0MkJEQTgiLCJjb2xvci1taW50eS1ncmVlbi00MDAiOiIjMjJBQjk0IiwiY29sb3ItbWludHktZ3JlZW4tNTAwIjoiIzA4OTk4MSIsImNvbG9yLW1pbnR5LWdyZWVuLTYwMCI6IiMwNjgwNkIiLCJjb2xvci1taW50eS1ncmVlbi03MDAiOiIjMDU2NjU2IiwiY29sb3ItbWludHktZ3JlZW4tODAwIjoiIzAwNEQ0MCIsImNvbG9yLW1pbnR5LWdyZWVuLTkwMCI6IiMwMDMzMkEiLCJjb2xvci1taW50eS1ncmVlbi1hMTAwIjoiI0E3RkZGMCIsImNvbG9yLW1pbnR5LWdyZWVuLWEyMDAiOiIjNDVFNUNCIiwiY29sb3ItbWludHktZ3JlZW4tYTQwMCI6IiMyQkQ5QkMiLCJjb2xvci1taW50eS1ncmVlbi1hNjAwIjoiIzI0QjI5QiIsImNvbG9yLW1pbnR5LWdyZWVuLWE3MDAiOiIjMUI3NjY3IiwiY29sb3ItbWludHktZ3JlZW4tYTgwMCI6IiMxMDQ0M0IiLCJjb2xvci1taW50eS1ncmVlbi1hOTAwIjoiIzA4MjYyMSIsImNvbG9yLWdyYXBlcy1wdXJwbGUtNTAiOiIjRjNFNUY1IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS0xMDAiOiIjRTFCRUU3IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS0yMDAiOiIjQ0U5M0Q4IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS0zMDAiOiIjYmE2OGM4IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS00MDAiOiIjYWI0N2JjIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS01MDAiOiIjOWMyN2IwIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS02MDAiOiIjOGUyNGFhIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS03MDAiOiIjN2IxZmEyIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS04MDAiOiIjNkExQjlBIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS05MDAiOiIjNEExNDhDIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS1hMTAwIjoiI0VBODBGQyIsImNvbG9yLWdyYXBlcy1wdXJwbGUtYTIwMCI6IiNFMDQwRkIiLCJjb2xvci1ncmFwZXMtcHVycGxlLWE0MDAiOiIjRDUwMEY5IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS1hNzAwIjoiI2FhMDBmZiIsImNvbG9yLWJlcnJ5LXBpbmstNTAiOiIjRkNFNEVDIiwiY29sb3ItYmVycnktcGluay0xMDAiOiIjRjhCQkQwIiwiY29sb3ItYmVycnktcGluay0yMDAiOiIjZjQ4ZmIxIiwiY29sb3ItYmVycnktcGluay0zMDAiOiIjZjA2MjkyIiwiY29sb3ItYmVycnktcGluay00MDAiOiIjZWM0MDdhIiwiY29sb3ItYmVycnktcGluay01MDAiOiIjZTkxZTYzIiwiY29sb3ItYmVycnktcGluay02MDAiOiIjRDgxQjYwIiwiY29sb3ItYmVycnktcGluay03MDAiOiIjQzIxODVCIiwiY29sb3ItYmVycnktcGluay04MDAiOiIjQUQxNDU3IiwiY29sb3ItYmVycnktcGluay05MDAiOiIjODgwRTRGIiwiY29sb3ItYmVycnktcGluay1hMTAwIjoiI2ZmODBhYiIsImNvbG9yLWJlcnJ5LXBpbmstYTIwMCI6IiNmZjQwODEiLCJjb2xvci1iZXJyeS1waW5rLWE0MDAiOiIjZjUwMDU3IiwiY29sb3ItYmVycnktcGluay1hNzAwIjoiI2M1MTE2MiIsImNvbG9yLXNreS1ibHVlLTUwIjoiI0UwRjdGQSIsImNvbG9yLXNreS1ibHVlLTEwMCI6IiNCMkVCRjIiLCJjb2xvci1za3ktYmx1ZS0yMDAiOiIjODBERUVBIiwiY29sb3Itc2t5LWJsdWUtMzAwIjoiIzRkZDBlMSIsImNvbG9yLXNreS1ibHVlLTQwMCI6IiMyNmM2ZGEiLCJjb2xvci1za3ktYmx1ZS01MDAiOiIjMDBiY2Q0IiwiY29sb3Itc2t5LWJsdWUtNjAwIjoiIzAwYWNjMSIsImNvbG9yLXNreS1ibHVlLTcwMCI6IiMwMDk3QTciLCJjb2xvci1za3ktYmx1ZS04MDAiOiIjMDA4MzhGIiwiY29sb3Itc2t5LWJsdWUtOTAwIjoiIzAwNjA2NCIsImNvbG9yLXNreS1ibHVlLWExMDAiOiIjODRGRkZGIiwiY29sb3Itc2t5LWJsdWUtYTIwMCI6IiMxOEZGRkYiLCJjb2xvci1za3ktYmx1ZS1hNDAwIjoiIzAwZTVmZiIsImNvbG9yLXNreS1ibHVlLWE3MDAiOiIjMDBCOEQ0IiwiY29sb3ItZm9yZXN0LWdyZWVuLTUwIjoiI0RBRjJFNiIsImNvbG9yLWZvcmVzdC1ncmVlbi0xMDAiOiIjQUNFNUM5IiwiY29sb3ItZm9yZXN0LWdyZWVuLTIwMCI6IiM3MENDOUUiLCJjb2xvci1mb3Jlc3QtZ3JlZW4tMzAwIjoiIzQyQkQ3RiIsImNvbG9yLWZvcmVzdC1ncmVlbi00MDAiOiIjMjJBQjY3IiwiY29sb3ItZm9yZXN0LWdyZWVuLTUwMCI6IiMwODk5NTAiLCJjb2xvci1mb3Jlc3QtZ3JlZW4tNjAwIjoiIzA2ODA0MyIsImNvbG9yLWZvcmVzdC1ncmVlbi03MDAiOiIjMDU2NjM2IiwiY29sb3ItZm9yZXN0LWdyZWVuLTgwMCI6IiMwMDREMjciLCJjb2xvci1mb3Jlc3QtZ3JlZW4tOTAwIjoiIzFBMzMyNiIsImNvbG9yLWZhY2Vib29rIjoiIzE4NzdGMiIsImNvbG9yLWRlZXAtZmFjZWJvb2siOiIjMTU2NENBIiwiY29sb3ItdHdpdHRlciI6IiMxREExRjIiLCJjb2xvci1kZWVwLXR3aXR0ZXIiOiIjMTg4Q0QzIiwiY29sb3IteW91dHViZSI6IiNGRjAwMDAiLCJjb2xvci1saW5rZWRpbiI6IiMwMDdCQjUiLCJjb2xvci1zZWVraW5nLWFscGhhLWJyYW5kIjoiI2ZmNzIwMCJ9JykKfSw4Njc1MjIobyl7Cm8uZXhwb3J0cz1KU09OLnBhcnNlKCd7ImNvbG9yLWhlYWRlci1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3ItYm9keS1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3ItYm9keS1zZWNvbmRhcnktYmciOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItYmctcHJpbWFyeSI6ImNvbG9yLXdoaXRlIiwiY29sb3ItYmctcHJpbWFyeS1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1iZy1zZWNvbmRhcnkiOiJjb2xvci13aGl0ZSIsImNvbG9yLWJnLWhpZ2hsaWdodCI6ImNvbG9yLWNvbGQtZ3JheS01MCIsImNvbG9yLWJnLXNjcm9sbC1idXR0b25zIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLWxlZ2FjeS1iZy1zY3JvbGwtYnV0dG9ucyI6ImNvbG9yLWNvbGQtZ3JheS04NTAiLCJjb2xvci1sZWdhY3ktYmctd2lkZ2V0IjoiY29sb3Itd2hpdGUiLCJjb2xvci10ZXh0LXByaW1hcnkiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItdGV4dC1zZWNvbmRhcnkiOiJjb2xvci1jb2xkLWdyYXktNTUwIiwiY29sb3ItdGV4dC10ZXJ0aWFyeSI6ImNvbG9yLWNvbGQtZ3JheS00MDAiLCJjb2xvci10ZXh0LWRpc2FibGVkIjoiY29sb3ItY29sZC1ncmF5LTMwMCIsImNvbG9yLWFjY2VudC1jb250ZW50IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWJveC1zaGFkb3ciOiJjb2xvci1jb2xkLWdyYXktMzAwIiwiY29sb3ItZGl2aWRlciI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1kaXZpZGVyLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLWRpdmlkZXItc2Vjb25kYXJ5IjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLWFjdGl2ZS1ob3Zlci10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWFsZXJ0LXRleHQiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItYm9yZGVyLXRhYmxlIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLWJyYW5kIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1icmFuZC1hY3RpdmUiOiJjb2xvci10di1ibHVlLTcwMCIsImNvbG9yLWJyYW5kLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS02MDAiLCJjb2xvci1jaGFydC1wYWdlLWJnIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWNvbW1vbi10b29sdGlwLWJnIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLWRhbmdlciI6ImNvbG9yLXJpcGUtcmVkLTQwMCIsImNvbG9yLWRhbmdlci1ob3ZlciI6ImNvbG9yLXJpcGUtcmVkLTUwMCIsImNvbG9yLWRhbmdlci1hY3RpdmUiOiJjb2xvci1yaXBlLXJlZC02MDAiLCJjb2xvci1kZXB0aHJlbmRlcmVyLXN0cm9rZS1zdHlsZSI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1oaWdobGlnaHQtbmV3IjoiY29sb3ItdGFuLW9yYW5nZS01MCIsImNvbG9yLWlucHV0LWJnIjoiY29sb3Itd2hpdGUiLCJjb2xvci1pbnB1dC1wdWJsaXNoLWJnIjoiY29sb3Itd2hpdGUiLCJjb2xvci1saW5rIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1saW5rLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS02MDAiLCJjb2xvci1saW5rLWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNzAwIiwiY29sb3ItbGlzdC1udGgtY2hpbGQtYmciOiJjb2xvci1jb2xkLWdyYXktNTAiLCJjb2xvci1wYW5lLWJnIjoiY29sb3Itd2hpdGUiLCJjb2xvci1wYW5lLXNlY29uZGFyeS1iZyI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1wb3B1cC1tZW51LWl0ZW0taG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItcG9wdXAtbWVudS1zZXBhcmF0b3IiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItcHJpbWFyeS1zeW1ib2wiOiJjb2xvci1za3ktYmx1ZS01MDAiLCJjb2xvci1zY3JlZW5lci1kZXNjcmlwdGlvbiI6ImNvbG9yLWNvbGQtZ3JheS02NTAiLCJjb2xvci1zdWNjZXNzIjoiY29sb3ItbWludHktZ3JlZW4tNTAwIiwiY29sb3Itc3VjY2Vzcy1ob3ZlciI6ImNvbG9yLW1pbnR5LWdyZWVuLTYwMCIsImNvbG9yLXN1Y2Nlc3MtYWN0aXZlIjoiY29sb3ItbWludHktZ3JlZW4tNzAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZS1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtNjAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLXNlY29uZGFyeS1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNTAiLCJjb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtMTAwIiwiY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUtaG92ZXIiOiJjb2xvci10di1ibHVlLTYwMCIsImNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1pY29uIjoiY29sb3ItY29sZC1ncmF5LTIwMCIsImNvbG9yLXRvb2xiYXItaW50ZXJhY3RpdmUtZWxlbWVudC10ZXh0LW5vcm1hbCI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci10b29sYmFyLW9wZW5lZC1lbGVtZW50LWJnIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXRvb2xiYXItZGl2aWRlci1iYWNrZ3JvdW5kIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLXBvcHVwLWJhY2tncm91bmQiOiJjb2xvci13aGl0ZSIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtc2Vjb25kYXJ5LXRleHQiOiJjb2xvci1jb2xkLWdyYXktNTAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC1oaW50LXRleHQiOiJjb2xvci1jb2xkLWdyYXktNDAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWFjdGl2ZSI6ImNvbG9yLXdoaXRlIiwiY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQiOiJjb2xvci1jb2xkLWdyYXktNTAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtYWN0aXZlLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS0yMDAiLCJjb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtYmFja2dyb3VuZC1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtYmFja2dyb3VuZC1hY3RpdmUtaG92ZXIiOiJjb2xvci10di1ibHVlLTcwMCIsImNvbG9yLXRvb2x0aXAtYmciOiJjb2xvci1jb2xkLWdyYXktODAwIiwiY29sb3ItdHYtZGlhbG9nLWNhcHRpb24iOiJjb2xvci1jb2xkLWdyYXktNjUwIiwiY29sb3ItdHYtZHJvcGRvd24taXRlbS1ob3Zlci1iZyI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci11bmRlcmxpbmVkLXRleHQiOiJjb2xvci1jb2xkLWdyYXktNTUwIiwiY29sb3Itd2lkZ2V0LXBhZ2VzLWJnIjoiY29sb3Itd2hpdGUiLCJjb2xvci13YXJuaW5nIjoiY29sb3ItdGFuLW9yYW5nZS01MDAiLCJjb2xvci1ncm93aW5nIjoiY29sb3ItbWludHktZ3JlZW4tNTAwIiwiY29sb3ItZmFsbGluZyI6ImNvbG9yLXJpcGUtcmVkLTUwMCIsImNvbG9yLWZvcmV4LWljb24iOiJjb2xvci1jb2xkLWdyYXktNzUwIiwiY29sb3ItbGlzdC1pdGVtLWFjdGl2ZS1iZyI6ImNvbG9yLXR2LWJsdWUtNDAwIiwiY29sb3ItbGlzdC1pdGVtLWhvdmVyLWJnIjoiY29sb3ItdHYtYmx1ZS01MCIsImNvbG9yLWxpc3QtaXRlbS10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLXByaWNlLWF4aXMtbGFiZWwtYmFjayI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1wcmljZS1heGlzLWxhYmVsLXRleHQiOiJjb2xvci1jb2xkLWdyYXktNjUwIiwiY29sb3ItcHJpY2UtYXhpcy1nZWFyIjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLXByaWNlLWF4aXMtZ2Vhci1ob3ZlciI6ImNvbG9yLWJsYWNrIiwiY29sb3ItcHJpY2UtYXhpcy1oaWdobGlnaHQiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItYmlkIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1ib3JkZXIiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItYm9yZGVyLWNoYXQtZmllbGRzIjoiY29sb3ItY29sZC1ncmF5LTI1MCIsImNvbG9yLWJvcmRlci1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0yNTAiLCJjb2xvci1idXR0b24taG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItZGVwdGhyZW5kZXJlci1maWxsLXN0eWxlIjoiY29sb3ItY29sZC1ncmF5LTY1MCIsImNvbG9yLWRpc2FibGVkLWJvcmRlci1hbmQtY29sb3IiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItZGlzYWJsZWQtaW5wdXQiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItZW1wdHktY29udGFpbmVyLW1lc3NhZ2UiOiJjb2xvci1jb2xkLWdyYXktNTUwIiwiY29sb3ItaWNvbnMiOiJjb2xvci1jb2xkLWdyYXktNTUwIiwiY29sb3ItaW5wdXQtdGV4dGFyZWEtcmVhZG9ubHkiOiJjb2xvci1jb2xkLWdyYXktNjUwIiwiY29sb3ItaW5wdXQtcGxhY2Vob2xkZXItdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS0zNTAiLCJjb2xvci1pdGVtLWFjdGl2ZS1ibHVlIjoiY29sb3ItdHYtYmx1ZS01MCIsImNvbG9yLWl0ZW0taG92ZXItYWN0aXZlLWJnIjoiY29sb3ItdHYtYmx1ZS0xMDAiLCJjb2xvci1pdGVtLWhvdmVyLWJnIjoiY29sb3ItdHYtYmx1ZS0xMDAiLCJjb2xvci1pdGVtLWhvdmVyLWJsdWUiOiJjb2xvci10di1ibHVlLTEwMCIsImNvbG9yLWl0ZW0tc2VsZWN0ZWQtYmx1ZSI6ImNvbG9yLXR2LWJsdWUtNTAiLCJjb2xvci1pdGVtLWFjdGl2ZS10ZXh0IjoiY29sb3Itd2hpdGUiLCJjb2xvci1pdGVtLWFjdGl2ZS1iZyI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItbGlzdC1pdGVtIjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLW5ld3MtaGlnaGxpZ2h0IjoiY29sb3ItdHYtYmx1ZS0xMDAiLCJjb2xvci1wbGFjZWhvbGRlciI6ImNvbG9yLWNvbGQtZ3JheS0zNTAiLCJjb2xvci1yb3ctaG92ZXItYWN0aXZlLWJnIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXNiLXNjcm9sbGJhci1ib2R5LWJnIjoiY29sb3ItY29sZC1ncmF5LTIwMCIsImNvbG9yLXNlY3Rpb24tc2VwYXJhdG9yLWJvcmRlciI6ImNvbG9yLWNvbGQtZ3JheS0zMDAiLCJjb2xvci1zZXBhcmF0b3ItdGFibGUtY2hhdCI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci10YWctYWN0aXZlLWJnIjoiY29sb3ItY29sZC1ncmF5LTIwMCIsImNvbG9yLXRhZy1ob3Zlci1iZyI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci10ZXh0LXJlZ3VsYXIiOiJjb2xvci1jb2xkLWdyYXktNzAwIiwiY29sb3ItdHYtYnV0dG9uLWNoZWNrZWQiOiJjb2xvci1jb2xkLWdyYXktNTUwIiwiY29sb3Itc2Nyb2xsLWJnIjoiY29sb3ItY29sZC1ncmF5LTQwMCIsImNvbG9yLXNjcm9sbC1ib3JkZXIiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3Itd2lkZ2V0LWJvcmRlciI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1zY3JvbGwtYnV0dG9ucy1hcnJvdyI6ImNvbG9yLXdoaXRlIiwiY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdCI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci1jb250cm9sLWludGVudC1zdWNjZXNzIjoiY29sb3ItbWludHktZ3JlZW4tNTAwIiwiY29sb3ItY29udHJvbC1pbnRlbnQtcHJpbWFyeSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItY29udHJvbC1pbnRlbnQtd2FybmluZyI6ImNvbG9yLXRhbi1vcmFuZ2UtNTAwIiwiY29sb3ItY29udHJvbC1pbnRlbnQtZGFuZ2VyIjoiY29sb3ItcmlwZS1yZWQtNTAwIiwiY29sb3ItZ290by1sYWJlbC1iYWNrZ3JvdW5kIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLXByZS1tYXJrZXQiOiJjb2xvci10YW4tb3JhbmdlLTYwMCIsImNvbG9yLXBvc3QtbWFya2V0IjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1ub3RhY2N1cmF0ZS1tb2RlIjoiY29sb3ItYmVycnktcGluay02MDAiLCJjb2xvci1kZWxheS1tb2RlIjoiY29sb3ItdGFuLW9yYW5nZS03MDAiLCJjb2xvci1kZWxheS1tb2RlLWJnIjoiY29sb3ItdGFuLW9yYW5nZS00MDAiLCJjb2xvci1saXN0LWl0ZW0tYmctaGlnaGxpZ2h0ZWQiOiJjb2xvci10di1ibHVlLTUwIiwiY29sb3ItbGlzdC1pdGVtLWJnLXNlbGVjdGVkIjoiY29sb3ItdHYtYmx1ZS0xMDAiLCJjb2xvci1saXN0LWl0ZW0tYmctaGlnaGxpZ2h0ZWQtaG92ZXIiOiJjb2xvci10di1ibHVlLTEwMCIsImNvbG9yLWxpc3QtaXRlbS1iZy1zZWxlY3RlZC1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtMjAwIiwiY29sb3Itc2NyZWVuZXItaGVhZGVyLWJnIjoiY29sb3Itd2hpdGUiLCJjb2xvci1zY3JlZW5lci1oZWFkZXItYmctaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItbWFya2VyLWZsYWdnZWQiOiJjb2xvci1yaXBlLXJlZC00MDAiLCJjb2xvci1tYXJrZXItZmxhZ2dlZC1ob3ZlcmVkIjoiY29sb3ItcmlwZS1yZWQtNjAwIiwiY29sb3ItYXNrIjoiY29sb3ItcmlwZS1yZWQtNDAwIiwiY29sb3Itc2VsbCI6ImNvbG9yLXJpcGUtcmVkLTQwMCIsImNvbG9yLWJ1eSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItbmV1dHJhbCI6ImNvbG9yLWNvbGQtZ3JheS01NTAiLCJjb2xvci1wcm8iOiJjb2xvci1taW50eS1ncmVlbi00MDAiLCJjb2xvci1wcm8taG92ZXIiOiJjb2xvci1taW50eS1ncmVlbi02MDAiLCJjb2xvci1wcm8tcGx1cyI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItcHJvLXBsdXMtaG92ZXIiOiJjb2xvci10di1ibHVlLTYwMCIsImNvbG9yLXByby1wcmVtaXVtIjoiY29sb3ItdGFuLW9yYW5nZS01MDAiLCJjb2xvci1wcm8tcHJlbWl1bS1ob3ZlciI6ImNvbG9yLXRhbi1vcmFuZ2UtNzAwIiwiY29sb3ItdHJpYWwiOiJjb2xvci1jb2xkLWdyYXktNTUwIiwiY29sb3ItdHJpYWwtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktNTUwIiwiY29sb3ItbW9kIjoiY29sb3ItcmlwZS1yZWQtNDAwIiwiY29sb3ItbW9kLWhvdmVyIjoiY29sb3ItcmlwZS1yZWQtNjAwIiwiY29sb3ItYWQiOiJjb2xvci10YW4tb3JhbmdlLTUwMCIsImNvbG9yLWJyb2tlci1mZWF0dXJlZCI6ImNvbG9yLW1pbnR5LWdyZWVuLTQwMCIsImNvbG9yLWJyb2tlci1mZWF0dXJlZC1ob3ZlciI6ImNvbG9yLW1pbnR5LWdyZWVuLTYwMCIsImNvbG9yLWFsZXJ0LXN0YXR1cy1hY3RpdmUiOiJjb2xvci1taW50eS1ncmVlbi01MDAiLCJjb2xvci1hbGVydC1zdGF0dXMtc3RvcHBlZCI6ImNvbG9yLXJpcGUtcmVkLTUwMCIsImNvbG9yLWFsZXJ0LXN0YXR1cy10cmlnZ2VyZWQiOiJjb2xvci10YW4tb3JhbmdlLTUwMCIsImNvbG9yLW92ZXJsYXkiOiJjb2xvci1jb2xkLWdyYXktNDAwIiwiY29sb3Itc2VhcmNoLWJ1dHRvbi1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1ib29zdC1idXR0b24tY29udGVudC1zZWxlY3RlZCI6ImNvbG9yLXR2LWJsdWUtNjAwIiwiY29sb3ItYm9vc3QtYnV0dG9uLWNvbnRlbnQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItYm9vc3QtYnV0dG9uLWJnLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWJvb3N0LWJ1dHRvbi1ib3JkZXItaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItYm9vc3QtYnV0dG9uLWJvcmRlci1kZWZhdWx0IjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWNvbW1vbi10b29sdGlwLXRleHQiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItcmVwbGF5LWRhdGEtbW9kZSI6ImNvbG9yLXJpcGUtcmVkLTQwMCIsImNvbG9yLWxlZ2FjeS1zdWNjZXNzIjoiY29sb3ItbWludHktZ3JlZW4tMzAwIiwiY29sb3ItY29sbGFwc2UtdGFicy1ib3JkZXIiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3Itc2l0ZS13aWRnZXQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktNTAiLCJjb2xvci1hdHRlbnRpb24iOiJjb2xvci1iYW5hbmEteWVsbG93LTcwMCIsImNvbG9yLXgtdHdpdHRlci1jb250ZW50IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWNhcmQtYm9yZGVyIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWNhcmQtYm9yZGVyLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTMwMCIsImNvbG9yLWJhY2tncm91bmQtc3BlY2lhbC1wcmltYXJ5IjoiY29sb3Itd2hpdGUiLCJjb2xvci1zdHJva2Utc3BlY2lhbC1wcmltYXJ5IjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLXNlbGVjdGlvbi1iZyI6ImNvbG9yLXR2LWJsdWUtMTAwIiwiY29sb3ItZGVmYXVsdC1ncmF5IjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLWZlYXR1cmVkLWJyb2tlci1iYWRnZS1iZyI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmctaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktODAwIiwiY29sb3ItZmVhdHVyZWQtYnJva2VyLWJhZGdlLXRleHQiOiJjb2xvci13aGl0ZSJ9JykKfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/12181.b65a58355ff7cc34950f.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.264Z","timestamp":1785120634264,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/12181.b65a58355ff7cc34950f.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a44af20-21c82\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 01 Jul 2026 06:09:36 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/01/2026 11:40:37\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 32c5ddec1e34fdfd65da9d14ee635b43\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":138370,"size_decoded":18187,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (3070)","md5":"90cd4a18a60bc908d0840ba4fec27dc6","sha1":"bb5de7eba54b0d9323f872960612df642a27716e","sha256":"ae043b44480c283e0e50b84e353fe3e98e560fb8f9bd14638f61a5dfadc231ba","sha512":"1ff83bc8bcac42839140d927da7b753dc51b3ab887327bf07fef3ca3b194425621ed7376ef404517f818a80b9f3d96955fd5c9239c1dc05e599503f7118edc99","ssdeep":"1536:U4ecrc2hMNlbPWqfxN+fUE44ld4e44IJmuJY7+fHfvWr05KNyhLcSbWd4+o:4CxdswjaWyn","tlshash":"10d345b217f406f473b80d5293f77e591b3c74a359882c52d2a4d9a0dd40fc2a96ba3e","first_seen":"2026-07-01T19:46:28.364877Z","last_seen":"2026-07-27T05:29:38.658636Z","times_seen":853,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxMjE4MV0sezcxMjE4MShlKXtlLmV4cG9ydHMudHpEYXRhPXsiQWZyaWNhL0NhaXJvIjp7dGltZTpbLTIxODU0MDE2MDAsLTkyOTgzNjgwMCwtOTIzMDk3NjAwLC05MDYxNjMyMDAsLTg5Mjg1NzYwMCwtODc1ODM2ODAwLC04NTc3NzkyMDAsLTg0NDMwMDgwMCwtODI1ODExMjAwLC04MTI2Nzg0MDAsLTc5NDE4ODgwMCwtNzc5ODQ2NDAwLC03NjI2NTI4MDAsLTM5OTA4MTYwMCwtMzg2NjRlNCwtMzY4MzIzMjAwLC0zNTUxMDRlMywtMzM2NzgzNjAwLC0zMjM2NDM2MDAsLTMwNTE2MTIwMCwtMjkyMDIxMjAwLC0yNzM2MjUyMDAsLTI2MDQ4NTIwMCwtMjQyMDg5MjAwLC0yMjg5NDkyMDAsLTIxMDU1MzIwMCwtMTk3NDEzMjAwLC0xNzg5MzA4MDAsLTE2NTc5MDgwMCwtMTQ3Mzk0ODAwLC0xMzQyNTQ4MDAsLTExNTg1ODgwMCwtMTAyNjMyNDAwLC04NDMyMjgwMCwtNzEwOTY0MDAsLTUyNzAwNDAwLC0zOTQ3NGUzLC0yMTE2NDQwMCwtNzkzOGUzLDEwMzcxNjAwLDIzNTk4ZTMsNDE5MDc2MDAsNTUxMzRlMyw3MzUzZTQsODY3NTY0MDAsMTA1MDY2ZTMsMTE4MjkyNDAwLDEzNjYwMmUzLDE0OTgyODQwMCwxNjgxMzhlMywxODEzNjQ0MDAsMTk5NzYwNDAwLDIxMjk4NjgwMCwyMzEyOTY0MDAsMjQ0NTIyODAwLDI2MjgzMjQwMCwyNzYwNTg4MDAsMjk0MzY4NDAwLDMwNzU5NDgwMCwzMjU5OTA4MDAsMzM5MjE3MjAwLDM1NzUyNjgwMCwzNzA3NTMyMDAsMzk2NDA2ODAwLDQwMjI4OTIwMCw0MjY4MTk2MDAsNDMzODI1MjAwLDQ1MjIyMTIwMCw0NjU0NDc2MDAsNDgzNzU3MjAwLDQ5Njk4MzYwMCw1MTUyOTMyMDAsNTI4NTE5NjAwLDU0NjgyOTIwMCw1NjAwNTU2MDAsNTc4NDUxNjAwLDU5MTY3OGUzLDYxMDQxOTYwMCw2MjMyMTRlMyw2NDE1MjM2MDAsNjU0NzVlNCw2NzMwNTk2MDAsNjg2Mjg2ZTMsNzA0NjgyZTMsNzE3OTA4NDAwLDczNjIxOGUzLDc0OTQ0NDQwMCw3Njc3NTRlMyw3ODA5ODA0MDAsNzk5MDI3MjAwLDgxMjMzMjgwMCw4MzA0NzY4MDAsODQzNzgyNDAwLDg2MTkyNjQwMCw4NzUyMzJlMyw4OTMzNzZlMyw5MDY2ODE2MDAsOTI1NDMwNDAwLDkzODczNmUzLDk1Njg4ZTQsOTcwMTg1NjAwLDk4ODMyOTYwMCwxMDAxNjM1MjAwLDEwMTk3NzkyMDAsMTAzMzA4NDgwMCwxMDUxMjI4ODAwLDEwNjQ1MzQ0MDAsMTA4MzI4MzIwMCwxMDk2NTg4ODAwLDExMTQ3MzI4MDAsMTEyODAzODQwMCwxMTQ2MTgyNDAwLDExNTg4ODMyMDAsMTE3NzYzMmUzLDExODkxMjMyMDAsMTIwOTA4MTYwMCwxMjE5OTY4ZTMsMTI0MDUzMTIwMCwxMjUwODEyODAwLDEyNzI1ODU2MDAsMTI4MTQ4NDgwMCwxMjg0MDc2ODAwLDEyODU4OTEyMDAsMTQwMDE5ODQwMCwxNDAzODI3MjAwLDE0MDY4NTEyMDAsMTQxMTY4OTYwMCwxNjgyNjRlNCwxNjk4MzY0ODAwLDE3MTQwODk2MDAsMTczMDQxOTIwMCwxNzQ1NTM5MjAwLDE3NjE4Njg4MDAsMTc3Njk4ODgwMCwxNzkzMzE4NDAwLDE4MDkwNDMyMDAsMTgyNDc2OGUzLDE4NDA0OTI4MDAsMTg1NjIxNzYwMCwxODcxOTQyNDAwLDE4ODc2NjcyMDAsMTkwMzM5MmUzLDE5MTk3MjE2MDAsMTkzNDg0MTYwMF0sb2Zmc2V0Ols3NTA5LDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwXX0sIkFmcmljYS9DYXNhYmxhbmNhIjp7CnRpbWU6Wy0xNzczMDE0NDAwLC05NTYzNjE2MDAsLTk1MDQ4NjQwMCwtOTQyMDE5MjAwLC03NjExODRlMywtNjE3MjQxNjAwLC02MDUxNDU2MDAsLTgxNDMyZTMsLTcxMTA3MjAwLDE0MTI2NGUzLDE0NzIyNTYwMCwxOTk3NTY4MDAsMjA3NzA1NjAwLDIzMTI5MjgwMCwyNDQyNTI4MDAsMjY1NTA3MjAwLDI3MTAzNjgwMCw0NDgyNDMyMDAsNTA0OTIxNjAwLDEyMTIyNzg0MDAsMTIyMDIyNzIwMCwxMjQzODE0NDAwLDEyNTA4MTI4MDAsMTI3Mjc1ODQwMCwxMjgxMjI1NjAwLDEzMDE3ODg4MDAsMTMxMjA3MDQwMCwxMzM1NjY0ODAwLDEzNDI3NTMyMDAsMTM0NTQyOGUzLDEzNDg5NzRlMywxMzY3MTE0NDAwLDEzNzMxNjZlMywxMzc2MWU1LDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDAzOTI0NDAwLDE0MDY5NDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0MzQyNTA4MDAsMTQzNzI3MTIwMCwxNDQ1NzQyZTMsMTQ1OTA0NGUzLDE0NjUwOTU2MDAsMTQ2ODExNmUzLDE0Nzc3OTY0MDAsMTQ5MDQ5MzYwMCwxNDk1MzM1NjAwLDE0OTg5NjA4MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTUyNjE4MDQwMCwxNTI5MjAwODAwLDE1NDA2OTU2MDAsMTU1NzAyNTIwMCwxNTYwMDQ1NjAwLDE1ODcyNjUyMDAsMTU5MDg5MDQwMCwxNjE4MTFlNCwxNjIxMTMwNDAwLDE2NDgzNWU0LDE2NTE5NzUyMDAsMTY3OTE5NDgwMCwxNjgyMjE1MjAwLDE3MTAwMzk2MDAsMTcxMzA2ZTQsMTc0MDI3OTYwMCwxNzQzOTA0ODAwLDE3NzExMjQ0MDAsMTc3NDE0NDgwMCwxODAxOTY5MjAwLDE4MDQ5ODk2MDAsMTgzMjIwOTIwMCwxODM1ODM0NDAwLDE4NjMwNTRlMywxODY2MDc0NDAwLDE4OTMyOTRlMywxODk2OTE5MjAwLDE5MjQxMzg4MDAsMTkyNzE1OTIwMF0sb2Zmc2V0OlstMTgyMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDBdfSwiQWZyaWNhL0pvaGFubmVzYnVyZyI6e3RpbWU6Wy0yNDU4MTY2NDAwLC0yMTA5MjgzMjAwLC04NjA5Njg4MDAsLTg0NTI0NGUzLC04Mjk1MTkyMDAsLTgxMzc5NDQwMCwxOTI0OTk5MjAwXSxvZmZzZXQ6WzY3MjAsNTQwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJBZnJpY2EvTGFnb3MiOnt0aW1lOlstMjAzNTU4NGUzLC0xOTQwODg5NjAwLC0xNzY3MjI1NjAwLC0xNTg4NDY0ZTMsMTkyNDk5NTYwMF0sb2Zmc2V0Ols4MTUsMCw4MTUsMTgwMCwzNjAwXX0sIkFmcmljYS9OYWlyb2JpIjp7dGltZTpbLTE5NDYxNmU0LC0xMzA5NzM3NjAwLC0xMjYxOTU4NDAwLC0xMDQxMzc5MjAwLC04NjUyOTZlMywxOTI1MDAyODAwXSxvZmZzZXQ6Wzg4MzYsOWUzLDEwODAwLDllMyw5OTAwLDEwODAwXX0sIkFmcmljYS9UdW5pcyI6e3RpbWU6Wy0yNzk3MmU1LC0xODU1OTU4NDAwLC05NjkyMzg4MDAsLTk1MDQ4NjQwMCwtOTQxOTM2NDAwLC04OTExMjk2MDAsLTg3NzgyNGUzLC04NTcyNWU0LC04NDQ1NTI4MDAsLTg0MjkxMTIwMCwtODQyMjJlNCwtODI4MjIzMjAwLC04MTI0OTg0MDAsLTc5NjI2MjQwMCwtNzgxMDQ4ODAwLC03NjY2MjcyMDAsMjMxMjA2NDAwLDI0MzkxMDgwMCwyNjI4Mjg4MDAsMjc2MDUxNjAwLDU4MTEyNjQwMCw1OTExNTI0MDAsNjA2ODczNjAwLDYyMjYwMmUzLDY0MTUyZTQsNjU0NjU2NDAwLDExMTQ5MDU2MDAsMTEyODA0NTYwMCwxMTQzMzM4NDAwLDExNjIwOTA4MDAsMTE3NDc4OGUzLDExOTM1NDA0MDAsMTIwNjg0MjQwMCwxMjI0OTllNCwxOTI0OTk1NjAwXSxvZmZzZXQ6WzI0NDQsNTYxLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkFtZXJpY2EvQW5jaG9yYWdlIjp7CnRpbWU6Wy0zMjI1MTczMzAzLC0yMTg4OTg3MjAwLC04ODAyMzZlMywtNzY5NDI4ZTMsLTc2NTQxMDQwMCwtODY5MTg0MDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDM4OTk4NDAwLDQ1MjA1MmUzLDQ2Nzc3NjgwMCw0ODM1MDE2MDAsNDk5MjI2NDAwLDUxNDk1MTIwMCw1MzA2NzZlMyw1NDQ1ODY0MDAsNTYyMTI1NjAwLDU3NjAzNmUzLDU5NDE4ZTQsNjA3NDg1NjAwLDYyNTYyOTYwMCw2Mzg5MzUyMDAsNjU3MDc5MjAwLDY3MDk4OTYwMCw2ODg1Mjg4MDAsNzAyNDM5MjAwLDcxOTk3ODQwMCw3MzM4ODg4MDAsNzUyMDMyODAwLDc2NTMzODQwMCw3ODM0ODI0MDAsNzk2Nzg4ZTMsODE0OTMyZTMsODI4ODQyNDAwLDg0NjM4MTYwMCw4NjAyOTJlMyw4Nzc4MzEyMDAsODkxNzQxNjAwLDkwOTI4MDgwMCw5MjMxOTEyMDAsOTQxMzM1MjAwLDk1NDY0MDgwMCw5NzI3ODQ4MDAsOTg2MDkwNDAwLDEwMDQyMzQ0MDAsMTAxODE0NDgwMCwxMDM1Njg0ZTMsMTA0OTU5NDQwMCwxMDY3MTMzNjAwLDEwODEwNDRlMywxMDk5MTg4ZTMsMTExMjQ5MzYwMCwxMTMwNjM3NjAwLDExNDM5NDMyMDAsMTE2MjA4NzIwMCwxMTczNTc4NDAwLDExOTQxNDE2MDAsMTIwNTAyOGUzLDEyMjU1OTEyMDAsMTIzNjQ3NzYwMCwxMjU3MDQwODAwLDEyNjg1MzJlMywxMjg5MDk1MjAwLDEyOTk5ODE2MDAsMTMyMDU0NDgwMCwxMzMxNDMxMjAwLDEzNTE5OTQ0MDAsMTM2Mjg4MDgwMCwxMzgzNDQ0ZTMsMTM5NDMzMDQwMCwxNDE0ODkzNjAwLDE0MjU3OGU0LDE0NDYzNDMyMDAsMTQ1NzgzNDQwMCwxNDc4Mzk3NjAwLDE0ODkyODRlMywxNTA5ODQ3MjAwLDE1MjA3MzM2MDAsMTU0MTI5NjgwMCwxNTUyMTgzMjAwLDE1NzI3NDY0MDAsMTU4MzYzMjgwMCwxNjA0MTk2ZTMsMTYxNTY4NzIwMCwxNjM2MjUwNDAwLDE2NDcxMzY4MDAsMTY2NzdlNSwxNjc4NTg2NDAwLDE2OTkxNDk2MDAsMTcxMDAzNmUzLDE3MzA1OTkyMDAsMTc0MTQ4NTYwMCwxNzYyMDQ4ODAwLDE3NzI5MzUyMDAsMTc5MzQ5ODQwMCwxODA0OTg5NjAwLDE4MjU1NTI4MDAsMTgzNjQzOTIwMCwxODU3MDAyNDAwLDE4Njc4ODg4MDAsMTg4ODQ1MmUzLDE4OTkzMzg0MDAsMTkxOTkwMTYwMCwxOTMwNzg4ZTNdLG9mZnNldDpbNTA0MjQsLTM1OTc2LC0zNmUzLC0zMjQwMCwtMzI0MDAsLTM2ZTMsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTMyNDAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDBdfSwiQW1lcmljYS9BcmdlbnRpbmEvQnVlbm9zX0FpcmVzIjp7dGltZTpbLTIzNzIxMTJlMywtMTU2NzQ2ODgwMCwtMTIzMzQ0NjQwMCwtMTIyMjk5MmUzLC0xMjA1OTcxMjAwLC0xMTk0MDQ4ZTMsLTExNzI4OGU0LC0xMTYyNTEyZTMsLTExNDEzNDRlMywtMTEzMDk3NmUzLC0xMTA5ODA4ZTMsLTEwOTk0NGU0LC0xMDc4MjcyZTMsLTEwNjc4MTc2MDAsLTEwNDY2NDk2MDAsLTEwMzYyODE2MDAsLTEwMTUxMTM2MDAsLTEwMDQ3NDU2MDAsLTk4MzU3NzYwMCwtOTczMjA5NjAwLC05NTIwNDE2MDAsLTk0MTU4NzIwMCwtOTMxMDQ2NDAwLC05MDA4OTI4MDAsLTg5MDM1MmUzLC04MzM3NmU0LC04MjcyOGU0LC03NTIyODQ4MDAsLTczMzc5NTIwMCwtMTk3MzM3NjAwLC0xOTA4NTc2MDAsLTE4NDIwNDgwMCwtMTY0NTA1NjAwLC0xNTI2Njg4MDAsLTEzMjk2OTYwMCwtMTIxMTMyODAwLC0xMDE0MzM2MDAsLTg2ODMyZTMsLTcxMTA3MjAwLC01NDc3NzYwMCwtMzkwNTI4MDAsLTIzMzI4ZTMsLTc2MDMyMDAsMTI4MTMxMjAwLDEzNjU5ODQwMCw1OTY5Mzc2MDAsNjA1MDU5MjAwLDYyNDQxMjgwMCw2MzY1MDg4MDAsNjU2NDY3MjAwLDY2Nzk1ODQwMCw2ODc5MTY4MDAsNjk5NDA4ZTMsNzE5MzY2NDAwLDczMTQ2MjQwMCw5Mzg5MDg4MDAsOTUyMDQxNjAwLDExOTg5NzI4MDAsMTIwNTYyNTYwMCwxMjI0Mzc0NDAwLDEyMzcwNzUyMDAsMTkyNDk4MTIwMF0sCm9mZnNldDpbLTE0MDI4LC0xNTQwOCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtMTA4MDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDBdfSwiQW1lcmljYS9Cb2dvdGEiOnt0aW1lOlstMjcwNzY4OTYwMCwtMTczOTA1OTIwMCw3MDQ4NTEyMDAsNzI5MDQzMjAwLDE5MjQ5NzRlM10sb2Zmc2V0OlstMTc3NzYsLTE3Nzc2LC0xOGUzLC0xNDQwMCwtMThlM119LCJBbWVyaWNhL0NhcmFjYXMiOnt0aW1lOlstMjUyNDUyMTYwMCwtMTgyNjc1NTIwMCwtMTU3NzY2NDAwLDExOTcxNjkyMDAsMTQ2MjA2OTgwMCwxOTI0OTc3NjAwXSxvZmZzZXQ6Wy0xNjA2NCwtMTYwNjAsLTE2MjAwLC0xNDQwMCwtMTYyMDAsLTE0NDAwXX0sIkFtZXJpY2EvQ2hpY2FnbyI6ewp0aW1lOlstMjcxNzY2ODIzNiwtMTYzMzI5ODQwMCwtMTYxNTE1NDQwMCwtMTYwMTg0ODgwMCwtMTU4MzcwNDgwMCwtMTU2Mzc0NjQwMCwtMTU1MTY1MDQwMCwtMTUzODk0OTYwMCwtMTUyMDIwMDgwMCwtMTUwNDQ3NmUzLC0xNDkxNzc1MjAwLC0xNDczMDI2NDAwLC0xNDU5NzIwODAwLC0xNDQxNTc2ODAwLC0xNDI4MjcxMjAwLC0xNDEwMTI3MjAwLC0xMzk2ODIxNjAwLC0xMzc4Njc3NjAwLC0xMzY1MzcyZTMsLTEzNDcyMjhlMywtMTMzMzkyMjQwMCwtMTMxNTE3MzYwMCwtMTMwMTg2OGUzLC0xMjgzNzI0ZTMsLTEyNzA0MTg0MDAsLTEyNTIyNzQ0MDAsLTEyMzg5Njg4MDAsLTEyMjA4MjQ4MDAsLTEyMDc1MTkyMDAsLTExODkzNzUyMDAsLTExNzYwNjk2MDAsLTExNTczMjA4MDAsLTExNDQ2MmU0LC0xMTI1ODcxMjAwLC0xMTEyNTY1NjAwLC0xMDk0NDIxNjAwLC0xMDgxMTE2ZTMsLTEwNjc4MTA0MDAsLTEwNDU0MzI4MDAsLTEwMzE1MjI0MDAsLTEwMTgyMTY4MDAsLTEwMDAwNzI4MDAsLTk4Njc2NzIwMCwtOTY4MDE4NDAwLC05NTUzMTc2MDAsLTkzNjU2ODgwMCwtOTIzMjYzMjAwLC05MDUxMTkyMDAsLTg5MTgxMzYwMCwtODgwMjM2ZTMsLTc2OTQxMzYwMCwtNzY1NDEwNDAwLC03NDcyNjY0MDAsLTczMzk2MDgwMCwtNzE1ODE2ODAwLC03MDI1MTEyMDAsLTY4NDM2NzIwMCwtNjcxMDYxNjAwLC02NTI5MTc2MDAsLTYzOTYxMmUzLC02MjA4NjMyMDAsLTYwODE2MjQwMCwtNTg5NDEzNjAwLC01NzYxMDhlMywtNTU3OTY0ZTMsLTU0NDY1ODQwMCwtNTI2NTE0NDAwLC01MTMyMDg4MDAsLTQ5NTA2NDgwMCwtNDgxNzU5MjAwLC00NjM2MTUyMDAsLTQ0NzI4NTYwMCwtNDMxNTYwODAwLC00MTU4MzZlMywtNDAwMTExMjAwLC0zODQzODY0MDAsLTM2ODY2MTYwMCwtMzUyOTM2ODAwLC0zMzcyMTJlMywtMzIxNDg3MjAwLC0zMDU3NjI0MDAsLTI4OTQzMjgwMCwtMjczNzA4ZTMsLTI1Nzk4MzIwMCwtMjQyMjU4NDAwLC0yMjY1MzM2MDAsLTIxMDgwODgwMCwtMTk1MDg0ZTMsLTE3OTM1OTIwMCwtMTYzNjM0NDAwLC0xNDc5MDk2MDAsLTEzMTU4ZTQsLTExNjQ2ZTQsLTEwMDEzMDQwMCwtODQ0MDU2MDAsLTY4NjgwODAwLC01Mjk1NmUzLC0zNzIzMTIwMCwtMjE1MDY0MDAsLTU3ODE2MDAsOTk0MzIwMCwyNTY2OGUzLDQxMzkyODAwLDU3NzIyNDAwLDczNDQ3MjAwLDg5MTcyZTMsMTA0ODk2ODAwLDEyMDYyMTYwMCwxMjY2Njk2MDAsMTUyMDcxMjAwLDE2MjM1MjgwMCwxODM1MjA4MDAsMTk5MjQ1NjAwLDIxNTU3NTIwMCwyMzA2OTUyMDAsMjQ3MDI0ODAwLDI2Mjc0OTYwMCwyNzg0NzQ0MDAsMjk0MTk5MjAwLDMwOTkyNGUzLDMyNTY0ODgwMCwzNDEzNzM2MDAsMzU3MDk4NDAwLDM3MjgyMzIwMCwzODg1NDhlMyw0MDQ4Nzc2MDAsNDE5OTk3NjAwLDQzNjMyNzIwMCw0NTIwNTJlMyw0Njc3NzY4MDAsNDgzNTAxNjAwLDQ5OTIyNjQwMCw1MTQ5NTEyMDAsNTMwNjc2ZTMsNTQ0NTg2NDAwLDU2MjEyNTYwMCw1NzYwMzZlMyw1OTQxOGU0LDYwNzQ4NTYwMCw2MjU2Mjk2MDAsNjM4OTM1MjAwLDY1NzA3OTIwMCw2NzA5ODk2MDAsNjg4NTI4ODAwLDcwMjQzOTIwMCw3MTk5Nzg0MDAsNzMzODg4ODAwLDc1MjAzMjgwMCw3NjUzMzg0MDAsNzgzNDgyNDAwLDc5Njc4OGUzLDgxNDkzMmUzLDgyODg0MjQwMCw4NDYzODE2MDAsODYwMjkyZTMsODc3ODMxMjAwLDg5MTc0MTYwMCw5MDkyODA4MDAsOTIzMTkxMjAwLDk0MTMzNTIwMCw5NTQ2NDA4MDAsOTcyNzg0ODAwLDk4NjA5MDQwMCwxMDA0MjM0NDAwLDEwMTgxNDQ4MDAsMTAzNTY4NGUzLDEwNDk1OTQ0MDAsMTA2NzEzMzYwMCwxMDgxMDQ0ZTMsMTA5OTE4OGUzLDExMTI0OTM2MDAsMTEzMDYzNzYwMCwxMTQzOTQzMjAwLDExNjIwODcyMDAsMTE3MzU3ODQwMCwxMTk0MTQxNjAwLDEyMDUwMjhlMywxMjI1NTkxMjAwLDEyMzY0Nzc2MDAsMTI1NzA0MDgwMCwxMjY4NTMyZTMsMTI4OTA5NTIwMCwxMjk5OTgxNjAwLDEzMjA1NDQ4MDAsMTMzMTQzMTIwMCwxMzUxOTk0NDAwLDEzNjI4ODA4MDAsMTM4MzQ0NGUzLDEzOTQzMzA0MDAsMTQxNDg5MzYwMCwxNDI1NzhlNCwxNDQ2MzQzMjAwLDE0NTc4MzQ0MDAsMTQ3ODM5NzYwMCwxNDg5Mjg0ZTMsMTUwOTg0NzIwMCwxNTIwNzMzNjAwLDE1NDEyOTY4MDAsMTU1MjE4MzIwMCwxNTcyNzQ2NDAwLDE1ODM2MzI4MDAsMTYwNDE5NmUzLDE2MTU2ODcyMDAsMTYzNjI1MDQwMCwxNjQ3MTM2ODAwLDE2Njc3ZTUsMTY3ODU4NjQwMCwxNjk5MTQ5NjAwLDE3MTAwMzZlMywxNzMwNTk5MjAwLDE3NDE0ODU2MDAsMTc2MjA0ODgwMCwxNzcyOTM1MjAwLDE3OTM0OTg0MDAsMTgwNDk4OTYwMCwxODI1NTUyODAwLDE4MzY0MzkyMDAsMTg1NzAwMjQwMCwxODY3ODg4ODAwLDE4ODg0NTJlMywxODk5MzM4NDAwLDE5MTk5MDE2MDAsMTkzMDc4OGUzXSwKb2Zmc2V0OlstMjEwMzYsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDBdfSwiQW1lcmljYS9FbF9TYWx2YWRvciI6e3RpbWU6Wy0xNTQ2MzAwODAwLDU0Njk5ODQwMCw1NTk2OTkyMDAsNTc4NDQ4ZTMsNTkxMTQ4ODAwLDE5MjQ5NzA0MDBdLG9mZnNldDpbLTIxNDA4LC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwXX0sIkFtZXJpY2EvSGFsaWZheCI6ewp0aW1lOlstMjEzMTY2MDgwMCwtMTY5NjI5MTIwMCwtMTY4MDQ4ZTQsLTE2MzIwODg4MDAsLTE2MTUxNTQ0MDAsLTE1NjY3Nzc2MDAsLTE1NTcxMDA4MDAsLTE1MzU1MDA4MDAsLTE1MjQ5NmU0LC0xNTA0NDgzMjAwLC0xNDkzNDI0ZTMsLTE0NzI0Mjg4MDAsLTE0NjE5NzQ0MDAsLTE0NDA5NzkyMDAsLTE0Mjk0MDE2MDAsLTE0MDk1Mjk2MDAsLTEzOTY3NDI0MDAsLTEzNzY4NzA0MDAsLTEzNjY1MDI0MDAsLTEzNDY2MzA0MDAsLTEzMzM4NDMyMDAsLTEzMTM5NzEyMDAsLTEzMDM2ODk2MDAsLTEyODI1MjE2MDAsLTEyNzI2NzJlMywtMTI1MTA3MmUzLC0xMjQwMDk5MjAwLC0xMjE5NjIyNDAwLC0xMjA3NDRlNCwtMTE4ODc3NzYwMCwtMTE3NTk5MDQwMCwtMTE1NzMyOGUzLC0xMTQzOTM2ZTMsLTExMjQwNjRlMywtMTExMzc4MjQwMCwtMTA5MTQwNDgwMCwtMTA4MTAzNjgwMCwtMTA1OTg2ODgwMCwtMTA1MDc5NjgwMCwtMTAzMDkyNDgwMCwtMTAxODEzNzYwMCwtOTk5NDc1MjAwLC05ODY2ODhlMywtOTY1NjA2NDAwLC05NTUyMzg0MDAsLTkzNTk3MTIwMCwtOTIzMTg0ZTMsLTkwNDUyMTYwMCwtODkxNzM0NDAwLC04ODAyMzZlMywtNzY5NDA2NDAwLC03NjU0MTA0MDAsLTc0NzI2NjQwMCwtNzMzOTYwODAwLC03MTU4MTY4MDAsLTcwMjUxMTIwMCwtNjg0MzY3MjAwLC02NzEwNjE2MDAsLTY1MjkxNzYwMCwtNjM5NjEyZTMsLTU4OTQxMzYwMCwtNTc2MTA4ZTMsLTU1Nzk2NGUzLC01NDQ2NTg0MDAsLTUyNjUxNDQwMCwtNTEzMjA4ODAwLC00OTUwNjQ4MDAsLTQ4MTc1OTIwMCwtNDMxNTYwODAwLC00MTgyNTUyMDAsLTQwMDExMTIwMCwtMzg2ODA1NjAwLC0zNjg2NjE2MDAsLTM1NTM1NmUzLC0zMzcyMTJlMywtMzIzOTA2NDAwLC0yNDIyNTg0MDAsLTIyNjUzMzYwMCwtMjEwODA4ODAwLC0xOTUwODRlMywtMTc5MzU5MjAwLC0xNjM2MzQ0MDAsLTE0NzkwOTYwMCwtMTMxNThlNCwtMTE2NDZlNCwtMTAwMTMwNDAwLC04NDQwNTYwMCwtNjg2ODA4MDAsLTUyOTU2ZTMsLTM3MjMxMjAwLC0yMTUwNjQwMCwtNTc4MTYwMCw5OTQzMjAwLDI1NjY4ZTMsNDEzOTI4MDAsNTc3MjI0MDAsNzM0NDcyMDAsODkxNzJlMywxMDQ4OTY4MDAsMTIwNjIxNjAwLDEzNjM0NjQwMCwxNTIwNzEyMDAsMTY3Nzk2ZTMsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sCm9mZnNldDpbLTE1MjY0LC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMF19LCJBbWVyaWNhL0p1bmVhdSI6e3RpbWU6Wy0zMjI1MTY5NTg4LC0yMTg4OTg3MjAwLC04ODAyMzZlMywtNzY5NDIwODAwLC03NjU0MTA0MDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDM4OTk4NDAwLDQ1MjA1MmUzLDQ2Nzc3NjgwMCw0ODM1MDE2MDAsNDk5MjI2NDAwLDUxNDk1MTIwMCw1MzA2NzZlMyw1NDQ1ODY0MDAsNTYyMTI1NjAwLDU3NjAzNmUzLDU5NDE4ZTQsNjA3NDg1NjAwLDYyNTYyOTYwMCw2Mzg5MzUyMDAsNjU3MDc5MjAwLDY3MDk4OTYwMCw2ODg1Mjg4MDAsNzAyNDM5MjAwLDcxOTk3ODQwMCw3MzM4ODg4MDAsNzUyMDMyODAwLDc2NTMzODQwMCw3ODM0ODI0MDAsNzk2Nzg4ZTMsODE0OTMyZTMsODI4ODQyNDAwLDg0NjM4MTYwMCw4NjAyOTJlMyw4Nzc4MzEyMDAsODkxNzQxNjAwLDkwOTI4MDgwMCw5MjMxOTEyMDAsOTQxMzM1MjAwLDk1NDY0MDgwMCw5NzI3ODQ4MDAsOTg2MDkwNDAwLDEwMDQyMzQ0MDAsMTAxODE0NDgwMCwxMDM1Njg0ZTMsMTA0OTU5NDQwMCwxMDY3MTMzNjAwLDEwODEwNDRlMywxMDk5MTg4ZTMsMTExMjQ5MzYwMCwxMTMwNjM3NjAwLDExNDM5NDMyMDAsMTE2MjA4NzIwMCwxMTczNTc4NDAwLDExOTQxNDE2MDAsMTIwNTAyOGUzLDEyMjU1OTEyMDAsMTIzNjQ3NzYwMCwxMjU3MDQwODAwLDEyNjg1MzJlMywxMjg5MDk1MjAwLDEyOTk5ODE2MDAsMTMyMDU0NDgwMCwxMzMxNDMxMjAwLDEzNTE5OTQ0MDAsMTM2Mjg4MDgwMCwxMzgzNDQ0ZTMsMTM5NDMzMDQwMCwxNDE0ODkzNjAwLDE0MjU3OGU0LDE0NDYzNDMyMDAsMTQ1NzgzNDQwMCwxNDc4Mzk3NjAwLDE0ODkyODRlMywxNTA5ODQ3MjAwLDE1MjA3MzM2MDAsMTU0MTI5NjgwMCwxNTUyMTgzMjAwLDE1NzI3NDY0MDAsMTU4MzYzMjgwMCwxNjA0MTk2ZTMsMTYxNTY4NzIwMCwxNjM2MjUwNDAwLDE2NDcxMzY4MDAsMTY2NzdlNSwxNjc4NTg2NDAwLDE2OTkxNDk2MDAsMTcxMDAzNmUzLDE3MzA1OTkyMDAsMTc0MTQ4NTYwMCwxNzYyMDQ4ODAwLDE3NzI5MzUyMDAsMTc5MzQ5ODQwMCwxODA0OTg5NjAwLDE4MjU1NTI4MDAsMTgzNjQzOTIwMCwxODU3MDAyNDAwLDE4Njc4ODg4MDAsMTg4ODQ1MmUzLDE4OTkzMzg0MDAsMTkxOTkwMTYwMCwxOTMwNzg4ZTNdLApvZmZzZXQ6WzU0MTM5LC0zMjI2MSwtMjg4MDAsLTI1MjAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yODgwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMzI0MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMF19LCJBbWVyaWNhL0xpbWEiOnt0aW1lOlstMjUyNDUyMTYwMCwtMTkzODU1NjgwMCwtMTAwOTg0MzIwMCwtMTAwMjA2NzIwMCwtOTg2Nzc0NDAwLC05NzEwNDk2MDAsLTk1NTMyNDgwMCwtOTM5NmU1LDUwNDkyMTYwMCw1MTI2OTc2MDAsNTM2NDU3NjAwLDU0NDIzMzYwMCw2MzExNTJlMyw2Mzg5MjhlMyw3NTczODI0MDAsNzY1MTU4NDAwLDE5MjQ5NzRlM10sb2Zmc2V0OlstMTg0OTIsLTE4NTE2LC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlM119LCJBbWVyaWNhL0xvc19BbmdlbGVzIjp7dGltZTpbLTI3MTc2NjgzNzgsLTE2MzMyOTg0MDAsLTE2MTUxNTQ0MDAsLTE2MDE4NDg4MDAsLTE1ODM3MDQ4MDAsLTg4MDIzNmUzLC03Njk0MjA4MDAsLTc2NTQxMDQwMCwtNjg3OTk1OTQwLC02NjI2ODA4MDAsLTYyMDg2NjgwMCwtNjA4MTYyNDAwLC01ODk0MTcyMDAsLTU3NjEwOGUzLC01NTc5Njc2MDAsLTU0NDY1ODQwMCwtNTI2NTE4ZTMsLTUxMzIwODgwMCwtNDk1MDY4NDAwLC00ODE3NTkyMDAsLTQ2MzYxODgwMCwtNDUwMzA5NjAwLC00MzE1NjQ0MDAsLTQxODI1NTIwMCwtNDAwMTE0ODAwLC0zODY4MDU2MDAsLTM2ODY2NTIwMCwtMzU1MzU2ZTMsLTMzNzIxNTYwMCwtMzIzOTA2NDAwLC0zMDU3NjZlMywtMjkyNDU2ODAwLC0yNzM3MTE2MDAsLTI2MTAwNzIwMCwtMjQyMjYyZTMsLTIyNjUzMzYwMCwtMjEwODEyNDAwLC0xOTUwODRlMywtMTc5MzYyODAwLC0xNjM2MzQ0MDAsLTE0NzkxMzIwMCwtMTMxNThlNCwtMTE2NDYzNjAwLC0xMDAxMzA0MDAsLTg0NDA1NjAwLC02ODY4MDgwMCwtNTI5NTZlMywtMzcyMzEyMDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sCm9mZnNldDpbLTI4Mzc4LC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMF19LCJBbWVyaWNhL01leGljb19DaXR5Ijp7dGltZTpbLTE1MTQ3NjMzOTYsLTEzNDMxNzQ0MDAsLTEyMzQ4Mjg4MDAsLTEyMjA0ODY0MDAsLTEyMDcxODA4MDAsLTExOTEzNjk2MDAsLTk3NTI4MzIwMCwtOTYzMTg3MjAwLC05MTcxMzZlMywtOTA3MzcyODAwLC04MjE5MjMyMDAsLTgxMDA4NjQwMCwtNjI3NTIzMjAwLC02MTMwMDhlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODkxMTQ0MDAsMTAwMTgxNTIwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzUzOTI4MDAsMTE5MzUzNjgwMCwxMjA3NDQ3MjAwLDEyMjQ5ODY0MDAsMTIzODg5NjgwMCwxMjU2NDM2ZTMsMTI3MDM0NjQwMCwxMjg4NDkwNDAwLDEzMDE3OTZlMywxMzE5OTRlNCwxMzMzMjQ1NjAwLDEzNTEzODk2MDAsMTM2NTNlNSwxMzgyODM5MjAwLDEzOTY3NDk2MDAsMTQxNDI4ODgwMCwxNDI4MTk5MjAwLDE0NDU3Mzg0MDAsMTQ1OTY0ODgwMCwxNDc3NzkyODAwLDE0OTEwOTg0MDAsMTUwOTI0MjQwMCwxNTIyNTQ4ZTMsMTU0MDY5MmUzLDE1NTQ2MDI0MDAsMTU3MjE0MTYwMCwxNTg2MDUyZTMsMTYwMzU5MTIwMCwxNjE3NTAxNjAwLDE2MzU2NDU2MDAsMTY0ODk1MTIwMCwxNjY3MDk1MjAwLDE5MjQ5NzA0MDBdLG9mZnNldDpbLTIzNzk2LC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMF19LCJBbWVyaWNhL05ld19Zb3JrIjp7CnRpbWU6Wy0yNzE3NjY4NTYyLC0xNjMzMjk4NDAwLC0xNjE1MTU0NDAwLC0xNjAxODQ4ODAwLC0xNTgzNzA0ODAwLC0xNTcwMzk5MjAwLC0xNTUxNjUwNDAwLC0xNTM2NTMwNDAwLC0xNTIzMjI0ODAwLC0xNTA0NDc2ZTMsLTE0OTE3NzUyMDAsLTE0NzMwMjY0MDAsLTE0NTk3MjA4MDAsLTE0NDE1NzY4MDAsLTE0MjgyNzEyMDAsLTE0MTAxMjcyMDAsLTEzOTY4MjE2MDAsLTEzNzg2Nzc2MDAsLTEzNjUzNzJlMywtMTM0NzIyOGUzLC0xMzMzOTIyNDAwLC0xMzE1MTczNjAwLC0xMzAxODY4ZTMsLTEyODM3MjRlMywtMTI3MDQxODQwMCwtMTI1MjI3NDQwMCwtMTIzODk2ODgwMCwtMTIyMDgyNDgwMCwtMTIwNzUxOTIwMCwtMTE4OTM3NTIwMCwtMTE3NjA2OTYwMCwtMTE1NzMyMDgwMCwtMTE0NDYyZTQsLTExMjU4NzEyMDAsLTExMTI1NjU2MDAsLTEwOTQ0MjE2MDAsLTEwODExMTZlMywtMTA2Mjk3MmUzLC0xMDQ5NjY2NDAwLC0xMDMxNTIyNDAwLC0xMDE4MjE2ODAwLC0xMDAwMDcyODAwLC05ODY3NjcyMDAsLTk2ODAxODQwMCwtOTU1MzE3NjAwLC05MzY1Njg4MDAsLTkyMzI2MzIwMCwtOTA1MTE5MjAwLC04OTE4MTM2MDAsLTg4MDIzNmUzLC03Njk0MWU0LC03NjU0MTA0MDAsLTc0NzI2NjQwMCwtNzMzOTYwODAwLC03MTU4MTY4MDAsLTcwMjUxMTIwMCwtNjg0MzY3MjAwLC02NzEwNjE2MDAsLTY1MjkxNzYwMCwtNjM5NjEyZTMsLTYyMDg2MzIwMCwtNjA4MTYyNDAwLC01ODk0MTM2MDAsLTU3NjEwOGUzLC01NTc5NjRlMywtNTQ0NjU4NDAwLC01MjY1MTQ0MDAsLTUxMzIwODgwMCwtNDk1MDY0ODAwLC00ODE3NTkyMDAsLTQ2MzYxNTIwMCwtNDQ3Mjg1NjAwLC00MzE1NjA4MDAsLTQxNTgzNmUzLC00MDAxMTEyMDAsLTM4NDM4NjQwMCwtMzY4NjYxNjAwLC0zNTI5MzY4MDAsLTMzNzIxMmUzLC0zMjE0ODcyMDAsLTMwNTc2MjQwMCwtMjg5NDMyODAwLC0yNzM3MDhlMywtMjU3OTgzMjAwLC0yNDIyNTg0MDAsLTIyNjUzMzYwMCwtMjEwODA4ODAwLC0xOTUwODRlMywtMTc5MzU5MjAwLC0xNjM2MzQ0MDAsLTE0NzkwOTYwMCwtMTMxNThlNCwtMTE2NDZlNCwtMTAwMTMwNDAwLC04NDQwNTYwMCwtNjg2ODA4MDAsLTUyOTU2ZTMsLTM3MjMxMjAwLC0yMTUwNjQwMCwtNTc4MTYwMCw5OTQzMjAwLDI1NjY4ZTMsNDEzOTI4MDAsNTc3MjI0MDAsNzM0NDcyMDAsODkxNzJlMywxMDQ4OTY4MDAsMTIwNjIxNjAwLDEyNjY2OTYwMCwxNTIwNzEyMDAsMTYyMzUyODAwLDE4MzUyMDgwMCwxOTkyNDU2MDAsMjE1NTc1MjAwLDIzMDY5NTIwMCwyNDcwMjQ4MDAsMjYyNzQ5NjAwLDI3ODQ3NDQwMCwyOTQxOTkyMDAsMzA5OTI0ZTMsMzI1NjQ4ODAwLDM0MTM3MzYwMCwzNTcwOTg0MDAsMzcyODIzMjAwLDM4ODU0OGUzLDQwNDg3NzYwMCw0MTk5OTc2MDAsNDM2MzI3MjAwLDQ1MjA1MmUzLDQ2Nzc3NjgwMCw0ODM1MDE2MDAsNDk5MjI2NDAwLDUxNDk1MTIwMCw1MzA2NzZlMyw1NDQ1ODY0MDAsNTYyMTI1NjAwLDU3NjAzNmUzLDU5NDE4ZTQsNjA3NDg1NjAwLDYyNTYyOTYwMCw2Mzg5MzUyMDAsNjU3MDc5MjAwLDY3MDk4OTYwMCw2ODg1Mjg4MDAsNzAyNDM5MjAwLDcxOTk3ODQwMCw3MzM4ODg4MDAsNzUyMDMyODAwLDc2NTMzODQwMCw3ODM0ODI0MDAsNzk2Nzg4ZTMsODE0OTMyZTMsODI4ODQyNDAwLDg0NjM4MTYwMCw4NjAyOTJlMyw4Nzc4MzEyMDAsODkxNzQxNjAwLDkwOTI4MDgwMCw5MjMxOTEyMDAsOTQxMzM1MjAwLDk1NDY0MDgwMCw5NzI3ODQ4MDAsOTg2MDkwNDAwLDEwMDQyMzQ0MDAsMTAxODE0NDgwMCwxMDM1Njg0ZTMsMTA0OTU5NDQwMCwxMDY3MTMzNjAwLDEwODEwNDRlMywxMDk5MTg4ZTMsMTExMjQ5MzYwMCwxMTMwNjM3NjAwLDExNDM5NDMyMDAsMTE2MjA4NzIwMCwxMTczNTc4NDAwLDExOTQxNDE2MDAsMTIwNTAyOGUzLDEyMjU1OTEyMDAsMTIzNjQ3NzYwMCwxMjU3MDQwODAwLDEyNjg1MzJlMywxMjg5MDk1MjAwLDEyOTk5ODE2MDAsMTMyMDU0NDgwMCwxMzMxNDMxMjAwLDEzNTE5OTQ0MDAsMTM2Mjg4MDgwMCwxMzgzNDQ0ZTMsMTM5NDMzMDQwMCwxNDE0ODkzNjAwLDE0MjU3OGU0LDE0NDYzNDMyMDAsMTQ1NzgzNDQwMCwxNDc4Mzk3NjAwLDE0ODkyODRlMywxNTA5ODQ3MjAwLDE1MjA3MzM2MDAsMTU0MTI5NjgwMCwxNTUyMTgzMjAwLDE1NzI3NDY0MDAsMTU4MzYzMjgwMCwxNjA0MTk2ZTMsMTYxNTY4NzIwMCwxNjM2MjUwNDAwLDE2NDcxMzY4MDAsMTY2NzdlNSwxNjc4NTg2NDAwLDE2OTkxNDk2MDAsMTcxMDAzNmUzLDE3MzA1OTkyMDAsMTc0MTQ4NTYwMCwxNzYyMDQ4ODAwLDE3NzI5MzUyMDAsMTc5MzQ5ODQwMCwxODA0OTg5NjAwLDE4MjU1NTI4MDAsMTgzNjQzOTIwMCwxODU3MDAyNDAwLDE4Njc4ODg4MDAsMTg4ODQ1MmUzLDE4OTkzMzg0MDAsMTkxOTkwMTYwMCwxOTMwNzg4ZTNdLApvZmZzZXQ6Wy0xNzc2MiwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlM119LCJBbWVyaWNhL1Bob2VuaXgiOnt0aW1lOlstMjcxNzY3MDQ5OCwtMTYzMzI5ODQwMCwtMTYxNTE1NDQwMCwtMTYwMTg0ODgwMCwtMTU4MzcwNDgwMCwtODgwMjM2ZTMsLTgyMDU0MDc0MCwtODEyNjc4MzQwLC03OTY4NjcxNDAsLTg0NDA1NjAwLC02ODY4MDgwMCwxOTI0OTY2ODAwXSxvZmZzZXQ6Wy0yNjg5OCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwXX0sIkFtZXJpY2EvU2FudGlhZ28iOnsKdGltZTpbLTI1MjQ1MjE2MDAsLTE4OTI2Nzg0MDAsLTE2ODg0Mjg4MDAsLTE2MTkyMjI0MDAsLTE1OTM4MjA4MDAsLTEzMzYwMDMyMDAsLTEzMTc2ZTUsLTEzMDQzODA4MDAsLTEyODYwNjRlMywtMTI3Mjg0NDgwMCwtMTI1NDUyOGUzLC0xMjQxMzA4ODAwLC0xMjIyOTkyZTMsLTEyMDk3NzI4MDAsLTExOTEzNjk2MDAsLTExNzgxNTA0MDAsLTg3MDU2NjQwMCwtODY1Mjk2ZTMsLTc0MDUzNDQwMCwtNzM2NjQ2NDAwLC03MTgwNzA0MDAsLTcxMzY2NzYwMCwtMzY2MzM2MDAsLTIzOTMyODAwLC0zMzY5NjAwLDc1MTY4MDAsMjQ0NTEyMDAsMzc3NTY4MDAsNTU5MDA4MDAsNjkyMDY0MDAsODc5NTUyMDAsMTAwNjU2ZTMsMTE4MTk1MjAwLDEzMjEwNTYwMCwxNTA4NTQ0MDAsMTYzNTU1MjAwLDE4MjMwNGUzLDE5NTYwOTYwMCwyMTM3NTM2MDAsMjI3MDU5MjAwLDI0NTIwMzIwMCwyNTg1MDg4MDAsMjc3MjU3NjAwLDI4OTk1ODQwMCwzMDg3MDcyMDAsMzIxNDA4ZTMsMzQwMTU2ODAwLDM1MzQ2MjQwMCwzNzE2MDY0MDAsMzg0OTEyZTMsNDAzMDU2ZTMsNDE2MzYxNjAwLDQzNDUwNTYwMCw0NDc4MTEyMDAsNDY2NTZlNCw0NzkyNjA4MDAsNDk4MDA5NjAwLDUxMDcxMDQwMCw1Mjk0NTkyMDAsNTQ1MTg0ZTMsNTYwOTA4ODAwLDU3NDIxNDQwMCw1OTIzNTg0MDAsNjA1NjY0ZTMsNjI0NDEyODAwLDYzNzExMzYwMCw2NTM0NDMyMDAsNjY4NTYzMjAwLDY4NzMxMmUzLDcwMDYxNzYwMCw3MTg3NjE2MDAsNzMyMDY3MjAwLDc1MDIxMTIwMCw3NjM1MTY4MDAsNzgxNjYwODAwLDc5NDk2NjQwMCw4MTM3MTUyMDAsODI2NDE2ZTMsODQ1MTY0ODAwLDg1OTY4ZTQsODc2NjE0NDAwLDg4OTkyZTQsOTA2ODU0NDAwLDkyMzE4NGUzLDkzOTUxMzYwMCw5NTI4MTkyMDAsOTcxNTY4ZTMsOTg0MjY4ODAwLDEwMDMwMTc2MDAsMTAxNTcxODQwMCwxMDM0NDY3MjAwLDEwNDcxNjhlMywxMDY1OTE2ODAwLDEwNzkyMjI0MDAsMTA5NzM2NjQwMCwxMTEwNjcyZTMsMTEyODgxNmUzLDExNDIxMjE2MDAsMTE2MDg3MDQwMCwxMTczNTcxMjAwLDExOTIzMmU0LDEyMDY4MzUyMDAsMTIyMzc2OTYwMCwxMjM3MDc1MjAwLDEyNTUyMTkyMDAsMTI3MDMzOTIwMCwxMjg2NjY4ODAwLDEzMDQ4MTI4MDAsMTMxMzg4NDgwMCwxMzM1NjU3NjAwLDEzNDY1NDRlMywxMzY3MTA3MjAwLDEzNzg1OTg0MDAsMTM5ODU1NjgwMCwxNDEwMDQ4ZTMsMTQ2MzI3MDQwMCwxNDcxMTMyODAwLDE0OTQ3MmU0LDE1MDI1ODI0MDAsMTUyNjE2OTYwMCwxNTM0MDMyZTMsMTU1NDU5NTIwMCwxNTY3OTAwODAwLDE1ODYwNDQ4MDAsMTU5OTM1MDQwMCwxNjE3NDk0NDAwLDE2MzA4ZTUsMTY0ODk0NGUzLDE2NjI4NTQ0MDAsMTY4MDM5MzYwMCwxNjkzNjk5MjAwLDE3MTI0NDhlMywxNzI1NzUzNjAwLDE3NDM4OTc2MDAsMTc1NzIwMzIwMCwxNzc1MzQ3MjAwLDE3ODg2NTI4MDAsMTgwNjc5NjgwMCwxODIwMTAyNDAwLDE4MzgyNDY0MDAsMTg1MTU1MmUzLDE4NzAzMDA4MDAsMTg4MzAwMTYwMCwxOTAxNzUwNDAwLDE5MTUwNTZlMywxOTMzMmU1XSxvZmZzZXQ6Wy0xNjk2NSwtMTY5NjUsLTE4ZTMsLTE2OTY1LC0xNDQwMCwtMTY5NjUsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwXX0sIkFtZXJpY2EvU2FvX1BhdWxvIjp7CnRpbWU6Wy0xNzY3MjI1NjAwLC0xMjA2OTY4NDAwLC0xMTkxMzY5NjAwLC0xMTc1Mzg1NjAwLC0xMTU5ODMzNjAwLC02MzM4MzA0MDAsLTYyMjA3NjQwMCwtNjAyMjk0NDAwLC01OTE4NGU0LC01NzA3NTg0MDAsLTU2MDIxNzYwMCwtNTM5MTM2ZTMsLTUzMTM2ZTQsLTE5NTQzNjgwMCwtMTg0MjA0ODAwLC0xNTUxNzQ0MDAsLTE1MDA3NjgwMCwtMTI4OTA4ODAwLC0xMjExMzI4MDAsLTk5OTY0ODAwLC04OTU5NjgwMCwtNjg0Mjg4MDAsLTU3OTc0NDAwLDQ5OTczNzYwMCw1MTEyMjg4MDAsNTMwNTgyNDAwLDU0MDI1OTIwMCw1NjIxMTg0MDAsNTcxMTkwNDAwLDU5Mjk2MzIwMCw2MDIwMzUyMDAsNjI0NDEyODAwLDYzNDY5NDQwMCw2NTY0NjcyMDAsNjY2NzQ4ODAwLDY4NzkxNjgwMCw2OTc1OTM2MDAsNzE5OTcxMjAwLDcyODQzODQwMCw3NTA4MTZlMyw3NjE3MDI0MDAsNzgyMjY1NjAwLDc5MzE1MmUzLDgxMzcxNTIwMCw4MjM5OTY4MDAsODQ0NTZlNCw4NTYwNTEyMDAsODc2MDk2ZTMsODg4NzEwNDAwLDkwODA2NGUzLDkxOTU1NTIwMCw5Mzg5MDg4MDAsOTUxNjA5NjAwLDk3MDk2MzIwMCw5ODI0NTQ0MDAsMTAwMzAxNzYwMCwxMDEzOTA0ZTMsMTAzNjI4MTYwMCwxMDQ1MzUzNjAwLDEwNjY1MjE2MDAsMTA3NjgwMzIwMCwxMDk5MzUzNjAwLDExMDg4NTc2MDAsMTEyOTQyMDgwMCwxMTQwMzA3MjAwLDExNjI2ODQ4MDAsMTE3MjM2MTYwMCwxMTkyMzJlNCwxMjAzMjA2NDAwLDEyMjQzNzQ0MDAsMTIzNDY1NmUzLDEyNTU4MjRlMywxMjY2NzEwNDAwLDEyODcyNzM2MDAsMTI5ODE2ZTQsMTMxODcyMzIwMCwxMzMwMjE0NDAwLDEzNTA3Nzc2MDAsMTM2MTA1OTIwMCwxMzgyMjI3MjAwLDEzOTI1MDg4MDAsMTQxMzY3NjgwMCwxNDI0NTYzMjAwLDE0NDUxMjY0MDAsMTQ1NjAxMjgwMCwxNDc2NTc2ZTMsMTQ4NzQ2MjQwMCwxNTA4MDI1NjAwLDE1MTg5MTJlMywxNTQxMjg5NjAwLDE1NTAzNjE2MDAsMTkyNDk4MTIwMF0sb2Zmc2V0OlstMTExODgsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwXX0sIkFtZXJpY2EvVG9yb250byI6ewp0aW1lOlstMjM2Njc1NTIwMCwtMTYzMjA4ODgwMCwtMTYxNTE1NDQwMCwtMTYwMTc3MTQwMCwtMTU4MzcxMmUzLC0xNTY3Mzc1MjAwLC0xNTU0NjgxNjAwLC0xNTM0NzE2ZTMsLTE1MjQwODg4MDAsLTE1MDMyNjY0MDAsLTE0OTIzOGU0LC0xNDcxODE2ODAwLC0xNDYwOTMwNDAwLC0xNDQwOTcyZTMsLTE0Mjg4NzZlMywtMTQwOTUyMjQwMCwtMTM5NzQyNjQwMCwtMTM3ODA3MjgwMCwtMTM2NTk3NjgwMCwtMTM0NjYyMzIwMCwtMTMzMzkyMjQwMCwtMTMxNTE3MzYwMCwtMTMwMTg2OGUzLC0xMjgzNzI0ZTMsLTEyNzA0MTg0MDAsLTEyNTIyNzQ0MDAsLTEyMzg5Njg4MDAsLTEyMjA4MjQ4MDAsLTEyMDc1MTkyMDAsLTExODg3NzA0MDAsLTExNzYwNjk2MDAsLTExNTczMjA4MDAsLTExNDQwMTUyMDAsLTExMjU4NzEyMDAsLTExMTI1NjU2MDAsLTEwOTQ0MjE2MDAsLTEwODExMTZlMywtMTA2Mjk3MmUzLC0xMDQ5NjY2NDAwLC0xMDMxNTIyNDAwLC0xMDE4MjE2ODAwLC0xMDAwMDcyODAwLC05ODY3NjcyMDAsLTk2ODAxODQwMCwtOTU1MzE3NjAwLC05MzY1Njg4MDAsLTg4MDIzMjQwMCwtNzY5NDFlNCwtNzY1NDEwNDAwLC03NDcyNjY0MDAsLTczMzk2MDgwMCwtNzE1ODE2ODAwLC03MDI1MTEyMDAsLTY4NDM2NzIwMCwtNjcxMDYxNjAwLC02NTI5MTc2MDAsLTYzNDE2ODgwMCwtNjIwODYzMjAwLC02MDI3MTkyMDAsLTU4OTQxMzYwMCwtNTc2MTA4ZTMsLTU1Nzk2NGUzLC01NDQ2NTg0MDAsLTUyNjUxNDQwMCwtNTEzMjA4ODAwLC00OTUwNjQ4MDAsLTQ4MTc1OTIwMCwtNDYzNjE1MjAwLC00NTAzMDk2MDAsLTQzMTU2MDgwMCwtNDE4MjU1MjAwLC00MDAxMTEyMDAsLTM4NDM4NjQwMCwtMzY4NjYxNjAwLC0zNTI5MzY4MDAsLTMzNzIxMmUzLC0zMjE0ODcyMDAsLTMwNTc2MjQwMCwtMjg5NDMyODAwLC0yNzM3MDhlMywtMjU3OTgzMjAwLC0yNDIyNTg0MDAsLTIyNjUzMzYwMCwtMjEwODA4ODAwLC0xOTUwODRlMywtMTc5MzU5MjAwLC0xNjM2MzQ0MDAsLTE0NzkwOTYwMCwtMTMxNThlNCwtMTE2NDZlNCwtMTAwMTMwNDAwLC04NDQwNTYwMCwtNjg2ODA4MDAsLTUyOTU2ZTMsLTM3MjMxMjAwLC0yMTUwNjQwMCwtNTc4MTYwMCw5OTQzMjAwLDI1NjY4ZTMsNDEzOTI4MDAsNTc3MjI0MDAsNzM0NDcyMDAsODkxNzJlMywxMDQ4OTY4MDAsMTIwNjIxNjAwLDEzNjM0NjQwMCwxNTIwNzEyMDAsMTY3Nzk2ZTMsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sCm9mZnNldDpbLTE5MDUyLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE0NDAwLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTNdfSwiQW1lcmljYS9WYW5jb3V2ZXIiOnsKdGltZTpbLTI3MTM5MTA0MDAsLTE2MzIwODg4MDAsLTE2MTUxNTQ0MDAsLTg4MDIzNmUzLC03Njk0MjA4MDAsLTc2NTQxMDQwMCwtNzQ3MjY2NDAwLC03MzM5NjA4MDAsLTcxNTgxNjgwMCwtNzAyNTExMjAwLC02ODQzNjcyMDAsLTY3MTA2MTYwMCwtNjUyOTE3NjAwLC02Mzk2MTJlMywtNjIwODYzMjAwLC02MDgxNjI0MDAsLTU4OTQxMzYwMCwtNTc2MTA4ZTMsLTU1Nzk2NGUzLC01NDQ2NTg0MDAsLTUyNjUxNDQwMCwtNTEzMjA4ODAwLC00OTUwNjQ4MDAsLTQ4MTc1OTIwMCwtNDYzNjE1MjAwLC00NTAzMDk2MDAsLTQzMTU2MDgwMCwtNDE4MjU1MjAwLC00MDAxMTEyMDAsLTM4NjgwNTYwMCwtMzY4NjYxNjAwLC0zNTUzNTZlMywtMzM3MjEyZTMsLTMyMzkwNjQwMCwtMzA1NzYyNDAwLC0yOTI0NTY4MDAsLTI3MzcwOGUzLC0yNjEwMDcyMDAsLTI0MjI1ODQwMCwtMjI2NTMzNjAwLC0yMTA4MDg4MDAsLTE5NTA4NGUzLC0xNzkzNTkyMDAsLTE2MzYzNDQwMCwtMTQ3OTA5NjAwLC0xMzE1OGU0LC0xMTY0NmU0LC0xMDAxMzA0MDAsLTg0NDA1NjAwLC02ODY4MDgwMCwtNTI5NTZlMywtMzcyMzEyMDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTM2MzQ2NDAwLDE1MjA3MTIwMCwxNjc3OTZlMywxODM1MjA4MDAsMTk5MjQ1NjAwLDIxNTU3NTIwMCwyMzA2OTUyMDAsMjQ3MDI0ODAwLDI2Mjc0OTYwMCwyNzg0NzQ0MDAsMjk0MTk5MjAwLDMwOTkyNGUzLDMyNTY0ODgwMCwzNDEzNzM2MDAsMzU3MDk4NDAwLDM3MjgyMzIwMCwzODg1NDhlMyw0MDQ4Nzc2MDAsNDE5OTk3NjAwLDQzNjMyNzIwMCw0NTIwNTJlMyw0Njc3NzY4MDAsNDgzNTAxNjAwLDQ5OTIyNjQwMCw1MTQ5NTEyMDAsNTMwNjc2ZTMsNTQ0NTg2NDAwLDU2MjEyNTYwMCw1NzYwMzZlMyw1OTQxOGU0LDYwNzQ4NTYwMCw2MjU2Mjk2MDAsNjM4OTM1MjAwLDY1NzA3OTIwMCw2NzA5ODk2MDAsNjg4NTI4ODAwLDcwMjQzOTIwMCw3MTk5Nzg0MDAsNzMzODg4ODAwLDc1MjAzMjgwMCw3NjUzMzg0MDAsNzgzNDgyNDAwLDc5Njc4OGUzLDgxNDkzMmUzLDgyODg0MjQwMCw4NDYzODE2MDAsODYwMjkyZTMsODc3ODMxMjAwLDg5MTc0MTYwMCw5MDkyODA4MDAsOTIzMTkxMjAwLDk0MTMzNTIwMCw5NTQ2NDA4MDAsOTcyNzg0ODAwLDk4NjA5MDQwMCwxMDA0MjM0NDAwLDEwMTgxNDQ4MDAsMTAzNTY4NGUzLDEwNDk1OTQ0MDAsMTA2NzEzMzYwMCwxMDgxMDQ0ZTMsMTA5OTE4OGUzLDExMTI0OTM2MDAsMTEzMDYzNzYwMCwxMTQzOTQzMjAwLDExNjIwODcyMDAsMTE3MzU3ODQwMCwxMTk0MTQxNjAwLDEyMDUwMjhlMywxMjI1NTkxMjAwLDEyMzY0Nzc2MDAsMTI1NzA0MDgwMCwxMjY4NTMyZTMsMTI4OTA5NTIwMCwxMjk5OTgxNjAwLDEzMjA1NDQ4MDAsMTMzMTQzMTIwMCwxMzUxOTk0NDAwLDEzNjI4ODA4MDAsMTM4MzQ0NGUzLDEzOTQzMzA0MDAsMTQxNDg5MzYwMCwxNDI1NzhlNCwxNDQ2MzQzMjAwLDE0NTc4MzQ0MDAsMTQ3ODM5NzYwMCwxNDg5Mjg0ZTMsMTUwOTg0NzIwMCwxNTIwNzMzNjAwLDE1NDEyOTY4MDAsMTU1MjE4MzIwMCwxNTcyNzQ2NDAwLDE1ODM2MzI4MDAsMTYwNDE5NmUzLDE2MTU2ODcyMDAsMTYzNjI1MDQwMCwxNjQ3MTM2ODAwLDE2Njc3ZTUsMTY3ODU4NjQwMCwxNjk5MTQ5NjAwLDE3MTAwMzZlMywxNzMwNTk5MjAwLDE3NDE0ODU2MDAsMTc2MjA0ODgwMCwxNzcyOTM1MjAwLDE3OTM0OTg0MDAsMTgwNDk4OTYwMCwxODI1NTUyODAwLDE4MzY0MzkyMDAsMTg1NzAwMjQwMCwxODY3ODg4ODAwLDE4ODg0NTJlMywxODk5MzM4NDAwLDE5MTk5MDE2MDAsMTkzMDc4OGUzXSwKb2Zmc2V0OlstMjk1NDgsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMF19LCJBc2lhL0FsbWF0eSI6e3RpbWU6Wy0xNDQxMTUyZTMsLTEyNDc1Mjk2MDAsMzU0OTMxMjAwLDM3MDc0MjQwMCwzODY0NjcyMDAsNDAyMjc4NDAwLDQxODAwMzIwMCw0MzM4MTQ0MDAsNDQ5NjI1NjAwLDQ2NTM2MTIwMCw0ODEwODI0MDAsNDk2ODEwODAwLDUxMjUzMmUzLDUyODI2MDQwMCw1NDM5ODE2MDAsNTU5NzFlNCw1NzU0MzEyMDAsNTkxMTU5NjAwLDYwNjg4MDgwMCw2MjI2MDkyMDAsNjM4MzMwNDAwLDY1NDY2MzYwMCw2NzAzODQ4MDAsNjg2MTEzMjAwLDY5NTc4NjQwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxNzA5MjUxMjAwLDE5MjUwMWU0XSxvZmZzZXQ6WzE4NDY4LDE4ZTMsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjE2MDAsMThlMywyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwxOGUzXX0sIkFzaWEvQXNoa2hhYmFkIjp7dGltZTpbLTE0NDExNTJlMywtMTI0NzUyOTYwMCwzNTQ5MzEyMDAsMzcwNzQyNDAwLDM4NjQ2NzIwMCw0MDIyNzg0MDAsNDE4MDAzMjAwLDQzMzgxNDQwMCw0NDk2MjU2MDAsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNjk1Nzg2NDAwLDE5MjUwMWU0XSxvZmZzZXQ6WzE0MDEyLDE0NDAwLDE4ZTMsMjE2MDAsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlMywxOGUzLDE0NDAwLDE4ZTNdfSwiQXNpYS9CYWhyYWluIjp7dGltZTpbLTg5Nzg2ODgwMCwtODIwNTQwODAwLDc2MjA0ODAwLDE5MjUwMDI4MDBdLG9mZnNldDpbMTIxNDAsMTI2MDAsMTQ0MDAsMTA4MDBdfSwiQXNpYS9CYW5na29rIjp7dGltZTpbLTI4NDAxNDA4MDAsLTE1NzAwNjA4MDAsMTkyNTAxNzIwMF0sb2Zmc2V0OlsyNDEyNCwyNDEyNCwyNTIwMF19LCJBc2lhL0Nob25ncWluZyI6ewp0aW1lOlstMjE3NzQ1MjgwMCwtMTYwMDY0NjQwMCwtMTU4NTg3MmUzLC05MzM2Mzg0MDAsLTkyMjA2MDgwMCwtOTA4ODQxNjAwLC04ODg3OTY4MDAsLTg4MTAyMDgwMCwtNzY3ODM2ODAwLC03NDU4MDQ4MDAsLTczMzc5NTIwMCwtNzE2ODYwODAwLC02OTk1ODA4MDAsLTY4Mzg1NmUzLC02NzA2MzY4MDAsLTY1MjMyZTQsLTY0OTk4NzIwMCw1MTU1NTZlMyw1MjcwNDcyMDAsNTQ1MTkxMjAwLDU1ODQ5NjgwMCw1NzcyNDU2MDAsNTg5OTQ2NDAwLDYwODY5NTIwMCw2MjIwMDA4MDAsNjQwMTQ0ODAwLDY1MzQ1MDQwMCw2NzE1OTQ0MDAsNjg0OWU1LDE5MjUwMjA4MDBdLG9mZnNldDpbMjkxNDMsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXNpYS9Db2xvbWJvIjp7dGltZTpbLTI4NDAxNDA4MDAsLTIwMTk2ODY0MDAsLTg4MzI2NzIwMCwtODYyNjE3NjAwLC03NjQwMjhlMyw4MzI5ODI0MDAsODQ2Mjg5ODAwLDExNDUwNjFlMywxOTI1MDExODAwXSxvZmZzZXQ6WzE5MTY0LDE5MTcyLDE5ODAwLDIxNjAwLDIzNDAwLDE5ODAwLDIzNDAwLDIxNjAwLDE5ODAwXX0sIkFzaWEvRGhha2EiOnt0aW1lOlstMjUyNDUyMTYwMCwtODkxNTYxNjAwLC04NzIwMzUyMDAsLTg2MjYxNzYwMCwtNTc2MTE1MjAwLDEyNDU0NTI0MDAsMTI2MjMwMzk5OSwxOTI1MDEzNjAwXSxvZmZzZXQ6WzIxNzAwLDIxMjAwLDIzNDAwLDE5ODAwLDIzNDAwLDIxNjAwLDI1MjAwLDIxNjAwXX0sIkFzaWEvRHViYWkiOnt0aW1lOlstMTU3NzkyMzIwMCwxOTI1MDA2NDAwXSxvZmZzZXQ6WzEzMjcyLDE0NDAwXX0sIkFzaWEvSG9fQ2hpX01pbmgiOnt0aW1lOlstMjAwNDA0OGUzLC0xODUxNTUyZTMsLTg1MjA4MDQwMCwtNzgyNjE0ODAwLC03Njc4MzY4MDAsLTcxODA3MDQwMCwtNDU3NzQzNjAwLC0zMTU2MjI4MDAsMTcxODQ5NjAwLDE5MjUwMTcyMDBdLG9mZnNldDpbMjU1OTAsMjU1OTAsMjUyMDAsMjg4MDAsMzI0MDAsMjUyMDAsMjg4MDAsMjUyMDAsMjg4MDAsMjUyMDBdfSwiQXNpYS9Ib25nX0tvbmciOnt0aW1lOlstMjA1NjY2MzM5OCwtOTAwODgyZTMsLTg5MTU0NzIwMCwtODg0MjE3NjAwLC03NjExNzY4MDAsLTc0Nzg3ODQwMCwtNzI4NTA4NjAwLC03MTcwMjFlMywtNjk3MDU5ZTMsLTY4Mzc1N2UzLC02NjgwMjg2MDAsLTY1NDcyNjYwMCwtNjM2NTc5ZTMsLTYyMzI3N2UzLC02MDUxMjk0MDAsLTU5MTgyNzQwMCwtNTczNjc5ODAwLC01NTk3NzNlMywtNTQxNjI1NDAwLC01MjgzMjM0MDAsLTUxMDE3OTQwMCwtNDk4MDgzNDAwLC00Nzg3Mjk4MDAsLTQ2NjYzMzgwMCwtNDQ2Njc1NDAwLC00MzUxODQyMDAsLTQxNTIyNTgwMCwtNDAzMTI5ODAwLC0zODM3NzYyMDAsLTM3MTY4MDIwMCwtMzUyMzI2NjAwLC0zNDAyMzA2MDAsLTMyMDg3N2UzLC0zMDg3ODFlMywtMjg4ODIyNjAwLC0yNzczMzE0MDAsLTI1NzM3M2UzLC0yNDU4ODE4MDAsLTIyNTkyMzQwMCwtMjEzODI3NDAwLC0xOTQ0NzM4MDAsLTE4MjM3NzgwMCwtMTYzMDI0MjAwLC0xNDg1MDllMywtMTMyNzg0MjAwLC0xMTcwNTk0MDAsLTEwMTMzNDYwMCwtODU2MDk4MDAsLTY5MjgwMjAwLC01MzU1NTQwMCwtMzc4MzA2MDAsLTIyMTA1ODAwLC02MzgxZTMsOTM0MzgwMCwyNTA2ODYwMCw0MDc5MzQwMCw1NjUxODIwMCw3MjI0M2UzLDg4NTcyNjAwLDEwNDI5NzQwMCwxMjAwMjIyMDAsMTI2MDcwMjAwLDE1MTQ3MTgwMCwxNjcxOTY2MDAsMTgyOTIxNDAwLDE5ODY0NjIwMCwyMTQzNzFlMywyOTU0MTQyMDAsMzA5MzI0NjAwLDE5MjUwMjA4MDBdLG9mZnNldDpbMjc0MDIsMjg4MDAsMzI0MDAsMzA2MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXNpYS9KYWthcnRhIjp7dGltZTpbLTMyMzEyNzM2MDAsLTE0NTE2OTM1NjgsLTExNzI4OGU0LC04NzY2MTQ0MDAsLTc2NjAyMjQwMCwtNjgzODU2ZTMsLTYyMDc4NGUzLC0xODkzODg4MDAsMTkyNTAxNzIwMF0sb2Zmc2V0OlsyNTYzMiwyNTYzMiwyNjQwMCwyN2UzLDMyNDAwLDI3ZTMsMjg4MDAsMjdlMywyNTIwMF19LCJBc2lhL0plcnVzYWxlbSI6ewp0aW1lOlstMjg0MDE0MDgwMCwtMTY0MDk5NTIwMCwtOTMzNjMxMjAwLC05MjMwODY4MDAsLTkxOTAyOTYwMCwtODU3MzM2NDAwLC04NDQyOTM2MDAsLTgyNTgwMDQwMCwtODEyNjcxMjAwLC03OTQxNzhlMywtNzc5ODM5MjAwLC03NjI2NDJlMywtNzQ4MzAzMjAwLC03MzExMDZlMywtNjgxOTQ4ZTMsLTY3MzIxNDQwMCwtNjY3OTQ3NjAwLC02NTIzMTI4MDAsLTYzNjQxMTYwMCwtNjIyMDcyODAwLC02MDg5MzY0MDAsLTU5MTgzMjgwMCwtNTcyNDc1NjAwLC01NTg1Njg4MDAsLTU0Mjg0MDQwMCwtNTI3NzI0ZTMsLTUxNDQxNDgwMCwtNDkwODMxMjAwLC00ODI5NjUyMDAsLTQ1OTM4MTYwMCwtNDUxNTE1NjAwLC00Mjg1MzY4MDAsLTQxODI1MTYwMCwtNDAwMTExMjAwLC0zODc0MDY4MDAsMTQyMzg3MjAwLDE1MDg1NDQwMCwxNjcxODRlMywxNzg2NzUyMDAsMzM0MTA4ODAwLDMzNzc0MTIwMCw0NTI2NDk2MDAsNDYyMzNlNCw0ODIyODQ4MDAsNDk0MzgwODAwLDUxNjc1ODQwMCw1MjY0MzUyMDAsNTQ1NDQzMjAwLDU1ODQ4OTYwMCw1NzY2MzM2MDAsNTg5MzM0NDAwLDYwOTg5NzYwMCw2MjA3ODRlMyw2MzgzMjMyMDAsNjUxNjI4ODAwLDY2OTc3MjgwMCw2ODM2ODMyMDAsNzAxODI3MjAwLDcxNTczNzYwMCw3MzM3MDg4MDAsNzQ3MTg3MjAwLDc2NTE1ODQwMCw3NzgwMzJlMyw3OTY2MDhlMyw4MTAwODY0MDAsODI2ODQ4ZTMsODQyODMyZTMsODU4OTAyNDAwLDg3NDE5NTIwMCw4OTAzNTJlMyw5MDUwNGU0LDkyMzAxODQwMCw5MzYzMjRlMyw5NTU2Nzc2MDAsOTcwNzk0ZTMsOTg2Nzc4ZTMsMTAwMTI5MzIwMCwxMDE3MzYzNjAwLDEwMzM5NTI0MDAsMTA0ODgxMzIwMCwxMDY1MTQyODAwLDEwODEyOTk2MDAsMTA5NTgxNDgwMCwxMTEyMzIwODAwLDExMjg4MjMyMDAsMTE0Mzc3MDQwMCwxMTU5NjY4ZTMsMTE3NTIyZTQsMTE4OTkwOGUzLDEyMDY2Njk2MDAsMTIyMzE3MmUzLDEyMzgxMTkyMDAsMTI1NDAxNjgwMCwxMjY5NTY4ODAwLDEyODQyNTY4MDAsMTMwMTYyMzIwMCwxMzE3NTIwODAwLDEzMzMwNzI4MDAsMTM0ODM2NTYwMCwxMzY0NTIyNDAwLDEzODI4MzkyMDAsMTM5NTk3MmUzLDE0MTQyODg4MDAsMTQyNzQyMTYwMCwxNDQ1NzM4NDAwLDE0NTg4NzEyMDAsMTQ3Nzc5MjgwMCwxNDkwMzIwODAwLDE1MDkyNDI0MDAsMTUyMTc3MDQwMCwxNTQwNjkyZTMsMTU1MzgyNDgwMCwxNTcyMTQxNjAwLDE1ODUyNzQ0MDAsMTYwMzU5MTIwMCwxNjE2NzI0ZTMsMTYzNTY0NTYwMCwxNjQ4MTczNjAwLDE2NjcwOTUyMDAsMTY3OTYyMzIwMCwxNjk4NTQ0ODAwLDE3MTE2Nzc2MDAsMTcyOTk5NDQwMCwxNzQzMTI3MjAwLDE3NjE0NDRlMywxNzc0NTc2ODAwLDE3OTI4OTM2MDAsMTgwNjAyNjQwMCwxODI0OTQ4ZTMsMTgzNzQ3NmUzLDE4NTYzOTc2MDAsMTg2ODkyNTYwMCwxODg3ODQ3MjAwLDE5MDA5OGU0LDE5MTkyOTY4MDAsMTkzMjQyOTYwMF0sb2Zmc2V0Ols4NDU0LDg0NDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxNDQwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJBc2lhL0thYnVsIjp7dGltZTpbLTI1MjQ1MjE2MDAsLTc4ODkxODQwMCwxOTI1MDA4MjAwXSxvZmZzZXQ6WzE2NjA4LDE0NDAwLDE2MjAwXX0sIkFzaWEvS2FyYWNoaSI6e3RpbWU6Wy0xOTg4MTUwNDAwLC04NjI2MTc2MDAsLTc2NDEyMTYwMCwtNTc2MTE1MjAwLDM4NzkzNjAwLDEwMTgxMzc2MDAsMTAzMzg2MjQwMCwxMjEyMjc4NDAwLDEyMjU0OTc2MDAsMTIzOTc1MzYwMCwxMjU3MDMzNjAwLDE5MjUwMWU0XSxvZmZzZXQ6WzE2MDkyLDE5ODAwLDIzNDAwLDE5ODAwLDE4ZTMsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlM119LCJBc2lhL0thdGhtYW5kdSI6e3RpbWU6Wy0xNTc3OTIzMjAwLDUwNDkyMTYwMCwxOTI1MDEyNzAwXSxvZmZzZXQ6WzIwNDc2LDE5ODAwLDIwNzAwXX0sIkFzaWEvS29sa2F0YSI6e3RpbWU6Wy0zNjQ1MjE2ZTMsLTMxNTU2NzM2MDAsLTIwMTk2ODY0MDAsLTg5MTU2MTYwMCwtODcyMDM1MjAwLC04NjI2MTc2MDAsLTc2NDEyMTYwMCwxOTI1MDExODAwXSxvZmZzZXQ6WzIxMjA4LDIxMjAwLDE5MjcwLDE5ODAwLDIzNDAwLDE5ODAwLDIzNDAwLDE5ODAwXX0sIkFzaWEvS3VhbGFfTHVtcHVyIjp7dGltZTpbLTIxNzc0NTI4MDAsLTIwMzgxNzZlMywtMTE2NzYwOTYwMCwtMTA3MzAwMTYwMCwtODk0MTUzNjAwLC04Nzk2Mzg0MDAsLTc2Njk3MjgwMCwzNzg2ODk0MDAsMTkyNTAyMDgwMF0sb2Zmc2V0OlsyNDQwNiwyNDkyNSwyNTIwMCwyNjQwMCwyNjQwMCwyN2UzLDMyNDAwLDI3ZTMsMjg4MDBdfSwiQXNpYS9LdXdhaXQiOnt0aW1lOlstNjMxMTUyZTMsMTkyNTAwMjgwMF0sb2Zmc2V0OlsxMTUxNiwxMDgwMF19LCJBc2lhL01hbmlsYSI6ewp0aW1lOlstMzk0NDY3ODQwMCwtMjIxOTA1NDE2OCwtMTA0NjY0OTYwMCwtMTA0MDA4MzIwMCwtODg0OTk1MjAwLC04Nzk5ODRlMywtNzgzNTYxNjAwLC03NjAwNjA4MDAsLTQ5NjE5NTIwMCwtNDkxNTI5NjAwLDIyODM1NTIwMCwyNDM3MzQ0MDAsNjQzMjQ4ZTMsNjQ5MjA5NjAwLDE5MjUwMjA4MDBdLG9mZnNldDpbLTU3MzY4LDI5MDMyLDI4ODAwLDMyNDAwLDI4ODAwLDMyNDAwLDMyNDAwLDMyNDAwLDI4ODAwLDMyNDAwLDI4ODAwLDMyNDAwLDI4ODAwLDMyNDAwLDI4ODAwXX0sIkFzaWEvTXVzY2F0Ijp7dGltZTpbLTE1Nzc5MjMyMDAsMTkyNTAwNjQwMF0sb2Zmc2V0OlsxNDA2NCwxNDQwMF19LCJBc2lhL05pY29zaWEiOnt0aW1lOlstMTUxODkxMmUzLDE2NjU3OTIwMCwxODIzMDRlMywyMDA5NjY0MDAsMjEzODRlNCwyMjg4NzM2MDAsMjQzOTkzNjAwLDI2MDMyMzIwMCwyNzYxMzQ0MDAsMjkxNzcyODAwLDMwNzQ5NzYwMCwzMjM4MjcyMDAsMzM4OTQ3MjAwLDM1NDY3MmUzLDM3MDM5NjgwMCwzODYxMjE2MDAsNDAxODQ2NDAwLDQxNzU3MTIwMCw0MzMyOTZlMyw0NDkwMjA4MDAsNDY1MzUwNDAwLDQ4MTA3NTIwMCw0OTY4ZTUsNTEyNTI0ODAwLDUyODI0OTYwMCw1NDM5NzQ0MDAsNTU5Njk5MjAwLDU3NTQyNGUzLDU5MTE0ODgwMCw2MDY4NzM2MDAsNjIyNTk4NDAwLDYzODMyMzIwMCw2NTQ2NTI4MDAsNjcwMzc3NjAwLDY4NjEwMjQwMCw3MDE4MjcyMDAsNzE3NTUyZTMsNzMzMjc2ODAwLDc0OTAwMTYwMCw3NjQ3MjY0MDAsNzgwNDUxMjAwLDc5NjE3NmUzLDgxMTkwMDgwMCw4MjgyMzA0MDAsODQzOTU1MjAwLDg1OTY4ZTQsODc1NDA0ODAwLDg5MTEyOTYwMCw5MDkyODhlMyw5MjI1OWU0LDk0MTM0MjQwMCw5NTQwMzk2MDAsOTcyNzkyZTMsOTg1NDg5MjAwLDEwMDQyNDE2MDAsMTAxNzU0MzYwMCwxMDM1NjkxMjAwLDEwNDg5OTMyMDAsMTA2NzE0MDgwMCwxMDgwNDQyODAwLDEwOTkxOTUyMDAsMTExMTg5MjQwMCwxMTMwNjQ0ODAwLDExNDMzNDJlMywxMTYyMDk0NDAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTE5NDgwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjE0ODQwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDU3NDU2MDAsMTQ1OTA0NzYwMCwxNDc3OGU1LDE0OTA0OTcyMDAsMTUwOTI0OTYwMCwxNTIxOTQ2ODAwLDE1NDA2OTkyMDAsMTU1NDAwMTIwMCwxNTcyMTQ4ODAwLDE1ODU0NTA4MDAsMTYwMzU5ODQwMCwxNjE2OTAwNDAwLDE2MzU2NTI4MDAsMTY0ODM1ZTQsMTY2NzEwMjQwMCwxNjc5Nzk5NjAwLDE2OTg1NTJlMywxNzExODU0ZTMsMTczMDAwMTYwMCwxNzQzMzAzNjAwLDE3NjE0NTEyMDAsMTc3NDc1MzIwMCwxNzkyOTAwODAwLDE4MDYyMDI4MDAsMTgyNDk1NTIwMCwxODM3NjUyNDAwLDE4NTY0MDQ4MDAsMTg2OTEwMmUzLDE4ODc4NTQ0MDAsMTkwMTE1NjQwMCwxOTE5MzA0ZTMsMTkzMjYwNmUzXSxvZmZzZXQ6WzgwMDgsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiQXNpYS9RYXRhciI6e3RpbWU6Wy0xNTc3OTIzMjAwLDc2MjA0ODAwLDE5MjUwMDI4MDBdLG9mZnNldDpbMTIzNjgsMTQ0MDAsMTA4MDBdfSwiQXNpYS9SaXlhZGgiOnt0aW1lOlstNzE5NjI1NjAwLDE5MjUwMDI4MDBdLG9mZnNldDpbMTEyMTIsMTA4MDBdfSwiQXNpYS9TZW91bCI6e3RpbWU6Wy0xOTQ4NzUyZTMsLTE4MzAzODRlMywtNzY3MzE4NDAwLC02ODExNzc2MDAsLTY3MjE5MmUzLC02NTQ3MzkyMDAsLTY0MDgyODgwMCwtNjIzMzc2ZTMsLTYwOTM3OTIwMCwtNTg4ODE2ZTMsLTU3NzkyOTYwMCwtNDk4MDk2ZTMsLTQ2MjY3MmUzLC00NTE2OTkyMDAsLTQyOTc1MzYwMCwtNDE4MjYyNDAwLC0zOTk1MTM2MDAsLTM4NzQxNzYwMCwtMzY4MDY0ZTMsLTM1NTk2OGUzLC0zMzY2MTQ0MDAsLTMyNDUxODQwMCwtMzA1MTY0ODAwLC0yOTMwNjg4MDAsLTI2NDkwMjQwMCw1NDc2MTA0MDAsNTYwOTE5NjAwLDU3OTA2ZTQsNTkyMzY5MjAwLDE5MjUwMjQ0MDBdLG9mZnNldDpbMzA0NzIsMzA2MDAsMzI0MDAsMzI0MDAsMzZlMywzMjQwMCwzNmUzLDMyNDAwLDM2ZTMsMzI0MDAsMzZlMywzMjQwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzMjQwMCwzNmUzLDMyNDAwLDM2ZTMsMzI0MDBdfSwiQXNpYS9TaGFuZ2hhaSI6ewp0aW1lOlstMjE3NzQ1MjgwMCwtMTYwMDY0NjQwMCwtMTU4NTg3MmUzLC05MzM2Mzg0MDAsLTkyMjA2MDgwMCwtOTA4ODQxNjAwLC04ODg3OTY4MDAsLTg4MTAyMDgwMCwtNzY3ODM2ODAwLC03NDU4MDQ4MDAsLTczMzc5NTIwMCwtNzE2ODYwODAwLC02OTk1ODA4MDAsLTY4Mzg1NmUzLC02NzA2MzY4MDAsLTY1MjMyZTQsLTY0OTk4NzIwMCw1MTU1NTZlMyw1MjcwNDcyMDAsNTQ1MTkxMjAwLDU1ODQ5NjgwMCw1NzcyNDU2MDAsNTg5OTQ2NDAwLDYwODY5NTIwMCw2MjIwMDA4MDAsNjQwMTQ0ODAwLDY1MzQ1MDQwMCw2NzE1OTQ0MDAsNjg0OWU1LDE5MjUwMjA4MDBdLG9mZnNldDpbMjkxNDMsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXNpYS9TaW5nYXBvcmUiOnt0aW1lOlstMjE3NzQ1MjgwMCwtMjAzODE3NmUzLC0xMTY3NjA5NjAwLC0xMDczMDAxNjAwLC04OTQxNTM2MDAsLTg3OTYzODQwMCwtNzY2OTcyODAwLDM3ODY4OTQwMCwxOTI1MDIwODAwXSxvZmZzZXQ6WzI0OTI1LDI0OTI1LDI1MjAwLDI2NDAwLDI2NDAwLDI3ZTMsMzI0MDAsMjdlMywyODgwMF19LCJBc2lhL1RhaXBlaSI6e3RpbWU6Wy0yMzM1MjE5MjAwLC0xMDE3NzkyZTMsLTc2NjE5MTYwMCwtNzQ1ODA0ODAwLC03MzM3OTUyMDAsLTcxNjg2MDgwMCwtNjk5NTgwODAwLC02ODM4NTZlMywtNjcwNjM2ODAwLC02NTIzMmU0LC02MzkxMDA4MDAsLTYyMDc4NGUzLC02MDc1NjQ4MDAsLTU4OTI0OGUzLC01NzYwMjg4MDAsLTU2Mjg5NmUzLC01NDE3MjhlMywtNTI4NjgxNjAwLC01MTAxOTJlMywtNDk3MTQ1NjAwLC00Nzg2NTZlMywtNDY1NjA5NjAwLC00NDk3OTg0MDAsLTQzMzk4NzIwMCwtNDE4MTc2ZTMsLTQwMjQ1MTIwMCwtMzg2NjRlNCwtMzcwOTE1MjAwLC0zNTUxMDRlMywtMzM5Mzc5MjAwLC0zMjM1NjhlMywtMzAyNDg2NDAwLC0yOTE5NDU2MDAsLTI3MDk1MDQwMCwtMjYwNDA5NjAwLDEzNDAwNjQwMCwxNDk4MTc2MDAsMTY1NTQyNDAwLDE4MTM1MzYwMCwyOTk2MzUyMDAsMzA3NTg0ZTMsMTkyNTAyMDgwMF0sb2Zmc2V0OlsyOTE2MCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMF19LCJBc2lhL1RlaHJhbiI6e3RpbWU6Wy0xNzA0MTUzNjAwLC0xMDkwNDU0NDAwLDIyNzgzMzIwMCwyNDYyNGU0LDI1OTYzMmUzLDI3MTEyNjgwMCwyNzk1OTA0MDAsMjk2NjExMjAwLDMwNjU0NzIwMCwzMjI0NDQ4MDAsMzM4NTE1MjAwLDY3MzIyODgwMCw2ODU0OTc2MDAsNzAxMjIyNDAwLDcxNzEyZTQsNzMyNzU4NDAwLDc0ODY1NmUzLDc2NDI5NDQwMCw3ODAxOTJlMyw3OTU4MzA0MDAsODExNzI4ZTMsODI3MzY2NDAwLDg0MzI2NGUzLDg1ODk4ODgwMCw4NzQ4ODY0MDAsODkwNTI0ODAwLDkwNjQyMjQwMCw5MjIwNjA4MDAsOTM3OTU4NDAwLDk1MzU5NjgwMCw5Njk0OTQ0MDAsOTg1MjE5MjAwLDEwMDExMTY4MDAsMTAxNjc1NTIwMCwxMDMyNjUyODAwLDEwNDgyOTEyMDAsMTA2NDE4ODgwMCwxMDc5ODI3MjAwLDEwOTU3MjQ4MDAsMTExMTQ0OTYwMCwxMTI3MzQ3MjAwLDEyMDYwNTc2MDAsMTIyMTk1NTIwMCwxMjM3NjhlNCwxMjUzNTc3NjAwLDEyNjkyMTZlMywxMjg1MTEzNjAwLDEzMDA3NTJlMywxMzE2NjQ5NjAwLDEzMzIyODhlMywxMzQ4MTg1NjAwLDEzNjM5MTA0MDAsMTM3OTgwOGUzLDEzOTU0NDY0MDAsMTQxMTM0NGUzLDE0MjY5ODI0MDAsMTQ0Mjg4ZTQsMTQ1ODUxODQwMCwxNDc0NDE2ZTMsMTQ5MDE0MDgwMCwxNTA2MDM4NDAwLDE1MjE2NzY4MDAsMTUzNzU3NDQwMCwxNTUzMjEyODAwLDE1NjkxMTA0MDAsMTU4NDc0ODgwMCwxNjAwNjQ2NDAwLDE2MTYzNzEyMDAsMTYzMjI2ODgwMCwxNjQ3OTA3MjAwLDE2NjM4MDQ4MDAsMTkyNTAwNDYwMF0sb2Zmc2V0OlsxMjM0NCwxMjM0NCwxMjYwMCwxNjIwMCwxNDQwMCwxOGUzLDE0NDAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwXX0sIkFzaWEvVG9reW8iOnt0aW1lOlstMjU4NzY3ODg2MSwtNjgzNzY5NjAwLC02NzIyNzQ4MDAsLTY1NDczOTIwMCwtNjQwODI1MjAwLC02MjAyNjU2MDAsLTYwOTM3NTYwMCwtNTg4ODE2ZTMsLTU3NzkyNmUzLDE5MjUwMjQ0MDBdLG9mZnNldDpbMzM1MzksMzI0MDAsMzZlMywzMjQwMCwzNmUzLDMyNDAwLDM2ZTMsMzI0MDAsMzZlMywzMjQwMF19LCJBc2lhL1lhbmdvbiI6e3RpbWU6Wy0yODQwMTQwODAwLC0xNTc3OTIzMjAwLC04NzMyNDQ4MDAsLTc3ODM3NzYwMCwxOTI1MDE1NDAwXSxvZmZzZXQ6WzIzMDg3LDIzMDg3LDIzNDAwLDMyNDAwLDIzNDAwXX0sIkF0bGFudGljL0F6b3JlcyI6ewp0aW1lOlstMjcxMzkxMDQwMCwtMTgzMDM4MzY3MiwtMTY4OTU1NTYwMCwtMTY3Nzc5OGUzLC0xNjY3NDMzNjAwLC0xNjQ3NzM0NDAwLC0xNjM1ODk3NjAwLC0xNjE2MTk4NDAwLC0xNjA0MzYxNjAwLC0xNTg0NjYyNDAwLC0xNTcyNzM5MjAwLC0xNTUzMDRlNCwtMTU0MTIwMzIwMCwtMTUyMTUwNGUzLC0xNDQyNDUxNjAwLC0xNDI3NjczNjAwLC0xMzc5MjkzMjAwLC0xMzY0Nzc0NDAwLC0xMzQ4NDQ4NDAwLC0xMzMzMzI0ODAwLC0xMzE2Mzk0ZTMsLTEzMDEyNzA0MDAsLTEyODQzMzk2MDAsLTEyNjk4MjA4MDAsLTEyMjE0NDA0MDAsLTEyMDY5MjE2MDAsLTExOTEyMDA0MDAsLTExNzU0NzJlMywtMTEyNzY5NjQwMCwtMTExMTk2OGUzLC0xMDk2ODUxNjAwLC0xMDgwNTE4NDAwLC0xMDYzNTg3NjAwLC0xMDQ5MDY4ODAwLC0xMDMzMzQ3NjAwLC0xMDE3NjE5MjAwLC0xMDAyNTAyODAwLC05ODYxNjk2MDAsLTk2OTIzODgwMCwtOTUwNDg2NDAwLC05NDIwMjI4MDAsLTkyMjQ5MjgwMCwtOTA2OTQ0NDAwLC04OTExMjk2MDAsLTg3NzMwOTIwMCwtODczNjgwNDAwLC04NjRlNiwtODU3OTUyZTMsLTg0NTg1OTYwMCwtODQyODM1NjAwLC04MzEzNDA4MDAsLTgyNTg5NzYwMCwtODE0NDFlNCwtODEwNzgxMjAwLC03OTk4OTEyMDAsLTc5NDQ0OGUzLC03ODI5NjA0MDAsLTc3OTMzMTYwMCwtNzY4NDQxNjAwLC03NjI5OTg0MDAsLTc0OTA5MTYwMCwtNzMzMzYzMjAwLC03MTc2MzEyMDAsLTcwMTkwMjgwMCwtNjg2MTgxNjAwLC02NzA0NTMyMDAsLTY1NDczMmUzLC02MzkwMDM2MDAsLTYyMzI4MjQwMCwtNjA3NTU0ZTMsLTU5MTgzMjgwMCwtNTc1NDk5NjAwLC01NTk3Nzg0MDAsLTU0NDA1ZTQsLTUyODMyODgwMCwtNTEyNjAwNDAwLC00OTY4NzkyMDAsLTQ4MTE1MDgwMCwtNDY1NDI5NjAwLC00NDk3MDEyMDAsLTQzMzk4ZTQsLTQxNzY0NjgwMCwtNDAxOTI1NjAwLC0zODYxOTcyMDAsLTM3MDQ3NmUzLC0zNTQ3NDc2MDAsLTMzOTAyNjQwMCwtMzIzMjk4ZTMsLTMwNzU3NjgwMCwtMjkxODQ4NDAwLC0yNzYxMjcyMDAsLTI2MDM5ODgwMCwtMjQ0Njc3NjAwLC0yMjgzNDQ0MDAsLTIxMjYyMzIwMCwtMTk2ODk0ODAwLC0xODExNzM2MDAsLTE2NTQ0NTIwMCwtMTQ5NzI0ZTMsLTEzMzk5NTYwMCwtMTE4Mjc0NDAwLC0xMDI1NDZlMywzODYxMjE2MDAsNDAxODVlNCw0MTc1NzEyMDAsNDMzMjk5NjAwLDQ0OTAyMDgwMCw0NjUzNTRlMyw0ODEwNzUyMDAsNDk2ODAzNjAwLDUxMjUyNDgwMCw1MjgyNTMyMDAsNTQzOTc0NDAwLDU1OTcwMjgwMCw1NzU0MjRlMyw1OTExNTI0MDAsNjA2ODczNjAwLDYyMjYwMmUzLDYzODMyMzIwMCw2NTQ2NTY0MDAsNjcwMzc3NjAwLDY4NjEwNmUzLDcwMTgyNzIwMCw3MTc1NTU2MDAsNzI1NDE4ZTMsNzMzMjgwNDAwLDc0MDI4MjQwMCw3NDkwMDUyMDAsNzY0NzI2NDAwLDc4MDQ1NDgwMCw3OTYxNzZlMyw4MTE5MDQ0MDAsODI4MjMwNDAwLDg0NjM3OGUzLDg1OTY4ZTQsODc3ODI3NjAwLDg5MTEyOTYwMCw5MDkyNzcyMDAsOTIyNTc5MjAwLDk0MTMzMTYwMCw5NTQwMjg4MDAsOTcyNzgxMjAwLDk4NTQ3ODQwMCwxMDA0MjMwODAwLDEwMTc1MzI4MDAsMTAzNTY4MDQwMCwxMDQ4OTgyNDAwLDEwNjcxM2U0LDEwODA0MzJlMywxMDk5MTg0NDAwLDExMTE4ODE2MDAsMTEzMDYzNGUzLDExNDMzMzEyMDAsMTE2MjA4MzYwMCwxMTc0NzgwODAwLDExOTM1MzMyMDAsMTIwNjgzNTIwMCwxMjI0OTgyODAwLDEyMzgyODQ4MDAsMTI1NjQzMjQwMCwxMjY5NzM0NDAwLDEyODg0ODY4MDAsMTMwMTE4NGUzLDEzMTk5MzY0MDAsMTMzMjYzMzYwMCwxMzUxMzg2ZTMsMTM2NDY4OGUzLDEzODI4MzU2MDAsMTM5NjEzNzYwMCwxNDE0Mjg1MjAwLDE0Mjc1ODcyMDAsMTQ0NTczNDgwMCwxNDU5MDM2ODAwLDE0Nzc3ODkyMDAsMTQ5MDQ4NjQwMCwxNTA5MjM4ODAwLDE1MjE5MzZlMywxNTQwNjg4NDAwLDE1NTM5OTA0MDAsMTU3MjEzOGUzLDE1ODU0NGU0LDE2MDM1ODc2MDAsMTYxNjg4OTYwMCwxNjM1NjQyZTMsMTY0ODMzOTIwMCwxNjY3MDkxNjAwLDE2Nzk3ODg4MDAsMTY5ODU0MTIwMCwxNzExODQzMjAwLDE3Mjk5OTA4MDAsMTc0MzI5MjgwMCwxNzYxNDQwNDAwLDE3NzQ3NDI0MDAsMTc5Mjg5ZTQsMTgwNjE5MmUzLDE4MjQ5NDQ0MDAsMTgzNzY0MTYwMCwxODU2Mzk0ZTMsMTg2OTA5MTIwMCwxODg3ODQzNjAwLDE5MDExNDU2MDAsMTkxOTI5MzIwMCwxOTMyNTk1MjAwXSwKb2Zmc2V0OlstNjE2MCwtNjg3MiwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwwLC0zNjAwLC03MjAwLC0zNjAwLDAsLTM2MDAsLTcyMDAsLTM2MDAsMCwtMzYwMCwtNzIwMCwtMzYwMCwwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLDM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwXX0sIkF0bGFudGljL1JleWtqYXZpayI6e3RpbWU6Wy0xOTU2NjE0NDAwLC0xNjY4MjE0ODAwLC0xNjQ3MjEyNDAwLC0xNjM2Njc4ODAwLC0xNjEzNDNlNCwtMTYwNTE0MjgwMCwtMTU4MTg5NGUzLC0xNTM5NTY1MjAwLC0xNTMxMzVlNCwtOTY4MDI5MjAwLC05NTIyOTM2MDAsLTk0MjAxMmUzLC05MjAyMzkyMDAsLTkwOTk2MTIwMCwtODg4Nzg5NjAwLC04Nzc5MDY4MDAsLTg1Nzk0NDgwMCwtODQ2NDU3MjAwLC04MjY0OTUyMDAsLTgxNTAwNzYwMCwtNzk1MDQ1NjAwLC03ODM1NThlMywtNzYyOTkxMjAwLC03NTIxMDg0MDAsLTczMTU0MTYwMCwtNzE3NjM0ODAwLC03MDAwOTJlMywtNjg2MTg1MjAwLC02Njg2NDI0MDAsLTY1NDczNTYwMCwtNjM2NTg4ZTMsLTYyMzI4NmUzLC02MDU3NDMyMDAsLTU5MTgzNjQwMCwtNTczNjg4ODAwLC01NTk3ODJlMywtNTQyMjM5MjAwLC01MjgzMzI0MDAsLTUxMDc4OTYwMCwtNDk2ODgyODAwLC00NzkzNGU0LC00NjU0MzMyMDAsLTQ0Nzg5MDQwMCwtNDMzOTgzNjAwLC00MTU4MzZlMywtNDAxOTI5MjAwLC0zODQzODY0MDAsLTM3MDQ3OTYwMCwtMzUyOTM2ODAwLC0zMzkwM2U0LC0zMjE0ODcyMDAsLTMwNzU4MDQwMCwtMjkwMDM3NjAwLC0yNzYxMzA4MDAsLTI1ODU4OGUzLC0yNDQ2ODEyMDAsLTIyNjUzMzYwMCwtMjEyNjI2ODAwLC0xOTUwODRlMywtMTgxMTc3MjAwLC0xNjM2MzQ0MDAsLTE0OTcyNzYwMCwtMTMyMTg0ODAwLC0xMTgyNzhlMywtMTAwNzM1MjAwLC04NjgyODQwMCwtNjg2ODA4MDAsLTU0Nzc0ZTMsMTkyNDk5MmUzXSxvZmZzZXQ6Wy01MjgwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDBdfSwiQXVzdHJhbGlhL0FDVCI6ewp0aW1lOlstMjM2NDA3NjgwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwtODI4MzA5NjAwLC04MTMxODZlMyw1NzcyMjQwMCw2ODAwNzYwMCw4OTE3MmUzLDEwMDA2MmUzLDEyMDYyMTYwMCwxMzE1MTE2MDAsMTUyMDcxMjAwLDE2Mjk2MTIwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NjczNzIwMCw0MDQ4Nzc2MDAsNDE1NzY3NjAwLDQzNjMyNzIwMCw0NDcyMTcyMDAsNDY3Nzc2ODAwLDQ3ODY2NjgwMCw0OTkyMjY0MDAsNTExMzI2ZTMsNTMwMDcxMjAwLDU0Mjc3NTYwMCw1NjIxMjU2MDAsNTc0ODNlNCw1OTQxOGU0LDYwNjI3OTYwMCw2MjU2Mjk2MDAsNjM2NTE5NjAwLDY1NzA3OTIwMCw2Njc5NjkyMDAsNjg4NTI4ODAwLDY5OTQxODgwMCw3MTk5Nzg0MDAsNzMxNDczMjAwLDc1MjAzMjgwMCw3NjI5MjI4MDAsNzgzNDgyNDAwLDc5NDM3MjQwMCw4MTQ5MzJlMyw4MjgyNDEyMDAsODQ2MzgxNjAwLDg1OTY5MDgwMCw4Nzc4MzEyMDAsODkxMTQwNDAwLDkwOTI4MDgwMCw5MjI1OWU0LDk0MTMzNTIwMCw5NTQwMzk2MDAsOTY3MzQxNjAwLDk4NTQ4OTIwMCwxMDA0MjM0NDAwLDEwMTc1NDM2MDAsMTAzNTY4NGUzLDEwNDg5OTMyMDAsMTA2NzEzMzYwMCwxMDgwNDQyODAwLDEwOTkxODhlMywxMTExODkyNDAwLDExMzA2Mzc2MDAsMTE0Mzk0NjgwMCwxMTYyMDg3MjAwLDExNzQ3OTE2MDAsMTE5MzUzNjgwMCwxMjA3NDUwODAwLDEyMjMxNzJlMywxMjM4OTAwNDAwLDEyNTQ2MjE2MDAsMTI3MDM1ZTQsMTI4NjA3MTIwMCwxMzAxNzk5NjAwLDEzMTc1MjA4MDAsMTMzMzI0OTIwMCwxMzQ5NTc1MjAwLDEzNjUzMDM2MDAsMTM4MTAyNDgwMCwxMzk2NzUzMjAwLDE0MTI0NzQ0MDAsMTQyODIwMjgwMCwxNDQzOTI0ZTMsMTQ1OTY1MjQwMCwxNDc1MzczNjAwLDE0OTExMDJlMywxNTA2ODIzMjAwLDE1MjI1NTE2MDAsMTUzODg3NzYwMCwxNTU0NjA2ZTMsMTU3MDMyNzIwMCwxNTg2MDU1NjAwLDE2MDE3NzY4MDAsMTYxNzUwNTIwMCwxNjMzMjI2NDAwLDE2NDg5NTQ4MDAsMTY2NDY3NmUzLDE2ODA0MDQ0MDAsMTY5NjEyNTYwMCwxNzEyNDU4ODAwLDE3MjgxOGU0LDE3NDM5MDg0MDAsMTc1OTYyOTYwMCwxNzc1MzU4ZTMsMTc5MTA3OTIwMCwxODA2ODA3NjAwLDE4MjI1Mjg4MDAsMTgzODI1NzIwMCwxODUzOTc4NDAwLDE4Njk3MDY4MDAsMTg4NjAzMjgwMCwxOTAxNzYxMjAwLDE5MTc0ODI0MDAsMTkzMzIxMDgwMF0sb2Zmc2V0OlszNjI5MiwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwXX0sIkF1c3RyYWxpYS9BZGVsYWlkZSI6ewp0aW1lOlstMjM2NDA3NjgwMCwtMjIzMDE1NjgwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwtODI4MzA5NjAwLC04MTMxODZlMyw1NzcyMjQwMCw2ODAwNzYwMCw4OTE3MmUzLDEwMDA2MmUzLDEyMDYyMTYwMCwxMzE1MTE2MDAsMTUyMDcxMjAwLDE2Mjk2MTIwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NDMxOGUzLDQwNDg3NzYwMCw0MTU3Njc2MDAsNDM2MzI3MjAwLDQ0NzIxNzIwMCw0Njc3NzY4MDAsNDc4NjY2ODAwLDQ5OTIyNjQwMCw1MTEzMjZlMyw1MzAwNzEyMDAsNTQyNzc1NjAwLDU2MjEyNTYwMCw1NzQ4M2U0LDU5NDE4ZTQsNjA2Mjc5NjAwLDYyNTYyOTYwMCw2Mzc3MjkyMDAsNjU3MDc5MjAwLDY2Nzk2OTIwMCw2ODg1Mjg4MDAsNzAxMjMzMjAwLDcxOTk3ODQwMCw3MzE0NzMyMDAsNzUyMDMyODAwLDc2NDEzMjQwMCw3ODM0ODI0MDAsNzk2MTg2ODAwLDgxNDkzMmUzLDgyODI0MTIwMCw4NDYzODE2MDAsODU5NjkwODAwLDg3NzgzMTIwMCw4OTExNDA0MDAsOTA5MjgwODAwLDkyMjU5ZTQsOTQxMzM1MjAwLDk1NDAzOTYwMCw5NzI3ODQ4MDAsOTg1NDg5MjAwLDEwMDQyMzQ0MDAsMTAxNzU0MzYwMCwxMDM1Njg0ZTMsMTA0ODk5MzIwMCwxMDY3MTMzNjAwLDEwODA0NDI4MDAsMTA5OTE4OGUzLDExMTE4OTI0MDAsMTEzMDYzNzYwMCwxMTQzOTQ2ODAwLDExNjIwODcyMDAsMTE3NDc5MTYwMCwxMTkzNTM2ODAwLDEyMDc0NTA4MDAsMTIyMzE3MmUzLDEyMzg5MDA0MDAsMTI1NDYyMTYwMCwxMjcwMzVlNCwxMjg2MDcxMjAwLDEzMDE3OTk2MDAsMTMxNzUyMDgwMCwxMzMzMjQ5MjAwLDEzNDk1NzUyMDAsMTM2NTMwMzYwMCwxMzgxMDI0ODAwLDEzOTY3NTMyMDAsMTQxMjQ3NDQwMCwxNDI4MjAyODAwLDE0NDM5MjRlMywxNDU5NjUyNDAwLDE0NzUzNzM2MDAsMTQ5MTEwMmUzLDE1MDY4MjMyMDAsMTUyMjU1MTYwMCwxNTM4ODc3NjAwLDE1NTQ2MDZlMywxNTcwMzI3MjAwLDE1ODYwNTU2MDAsMTYwMTc3NjgwMCwxNjE3NTA1MjAwLDE2MzMyMjY0MDAsMTY0ODk1NDgwMCwxNjY0Njc2ZTMsMTY4MDQwNDQwMCwxNjk2MTI1NjAwLDE3MTI0NTg4MDAsMTcyODE4ZTQsMTc0MzkwODQwMCwxNzU5NjI5NjAwLDE3NzUzNThlMywxNzkxMDc5MjAwLDE4MDY4MDc2MDAsMTgyMjUyODgwMCwxODM4MjU3MjAwLDE4NTM5Nzg0MDAsMTg2OTcwNjgwMCwxODg2MDMyODAwLDE5MDE3NjEyMDAsMTkxNzQ4MjQwMCwxOTMzMjEwODAwXSxvZmZzZXQ6WzMzMjYwLDMyNDAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwXX0sIkF1c3RyYWxpYS9CcmlzYmFuZSI6e3RpbWU6Wy0yMzY2NzU1MjAwLC0xNjcyNTI0ZTMsLTE2NjUzNDkyMDAsLTg4MzYwNTYwMCwtODc2MDg1MjAwLC04NjAzNjRlMywtODQ0NjM1NjAwLC04MjgzMDk2MDAsLTgxMzE4NmUzLDU3NzIyNDAwLDY4MDA3NjAwLDYyNTYyOTYwMCw2MzY1MTk2MDAsNjU3MDc5MjAwLDY2Nzk2OTIwMCw2ODg1Mjg4MDAsNjk5NDE4ODAwLDE5MjUwMjhlM10sb2Zmc2V0OlszNjcyOCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlM119LCJBdXN0cmFsaWEvUGVydGgiOnt0aW1lOlstMjMzNzg5NzYwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwxNTIwNzEyMDAsMTYyOTYxMjAwLDQzNjMyNzIwMCw0NDcyMTcyMDAsNjkwMzQzMjAwLDY5OTQxODgwMCwxMTY1MTExMjAwLDExNzQ3OTE2MDAsMTE5MzUzNjgwMCwxMjA2ODQ2ZTMsMTIyNDk4NjQwMCwxMjM4Mjk1NjAwLDE5MjUwMjA4MDBdLG9mZnNldDpbMjc4MDQsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXVzdHJhbGlhL1N5ZG5leSI6ewp0aW1lOlstMjM2NDA3NjgwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwtODI4MzA5NjAwLC04MTMxODZlMyw1NzcyMjQwMCw2ODAwNzYwMCw4OTE3MmUzLDEwMDA2MmUzLDEyMDYyMTYwMCwxMzE1MTE2MDAsMTUyMDcxMjAwLDE2Mjk2MTIwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NjczNzIwMCw0MDQ4Nzc2MDAsNDE1NzY3NjAwLDQzNjMyNzIwMCw0NDcyMTcyMDAsNDY3Nzc2ODAwLDQ3ODY2NjgwMCw0OTkyMjY0MDAsNTExMzI2ZTMsNTMwMDcxMjAwLDU0Mjc3NTYwMCw1NjIxMjU2MDAsNTc0ODNlNCw1OTQxOGU0LDYwNjI3OTYwMCw2MjU2Mjk2MDAsNjM2NTE5NjAwLDY1NzA3OTIwMCw2Njc5NjkyMDAsNjg4NTI4ODAwLDY5OTQxODgwMCw3MTk5Nzg0MDAsNzMxNDczMjAwLDc1MjAzMjgwMCw3NjI5MjI4MDAsNzgzNDgyNDAwLDc5NDM3MjQwMCw4MTQ5MzJlMyw4MjgyNDEyMDAsODQ2MzgxNjAwLDg1OTY5MDgwMCw4Nzc4MzEyMDAsODkxMTQwNDAwLDkwOTI4MDgwMCw5MjI1OWU0LDk0MTMzNTIwMCw5NTQwMzk2MDAsOTY3MzQxNjAwLDk4NTQ4OTIwMCwxMDA0MjM0NDAwLDEwMTc1NDM2MDAsMTAzNTY4NGUzLDEwNDg5OTMyMDAsMTA2NzEzMzYwMCwxMDgwNDQyODAwLDEwOTkxODhlMywxMTExODkyNDAwLDExMzA2Mzc2MDAsMTE0Mzk0NjgwMCwxMTYyMDg3MjAwLDExNzQ3OTE2MDAsMTE5MzUzNjgwMCwxMjA3NDUwODAwLDEyMjMxNzJlMywxMjM4OTAwNDAwLDEyNTQ2MjE2MDAsMTI3MDM1ZTQsMTI4NjA3MTIwMCwxMzAxNzk5NjAwLDEzMTc1MjA4MDAsMTMzMzI0OTIwMCwxMzQ5NTc1MjAwLDEzNjUzMDM2MDAsMTM4MTAyNDgwMCwxMzk2NzUzMjAwLDE0MTI0NzQ0MDAsMTQyODIwMjgwMCwxNDQzOTI0ZTMsMTQ1OTY1MjQwMCwxNDc1MzczNjAwLDE0OTExMDJlMywxNTA2ODIzMjAwLDE1MjI1NTE2MDAsMTUzODg3NzYwMCwxNTU0NjA2ZTMsMTU3MDMyNzIwMCwxNTg2MDU1NjAwLDE2MDE3NzY4MDAsMTYxNzUwNTIwMCwxNjMzMjI2NDAwLDE2NDg5NTQ4MDAsMTY2NDY3NmUzLDE2ODA0MDQ0MDAsMTY5NjEyNTYwMCwxNzEyNDU4ODAwLDE3MjgxOGU0LDE3NDM5MDg0MDAsMTc1OTYyOTYwMCwxNzc1MzU4ZTMsMTc5MTA3OTIwMCwxODA2ODA3NjAwLDE4MjI1Mjg4MDAsMTgzODI1NzIwMCwxODUzOTc4NDAwLDE4Njk3MDY4MDAsMTg4NjAzMjgwMCwxOTAxNzYxMjAwLDE5MTc0ODI0MDAsMTkzMzIxMDgwMF0sb2Zmc2V0OlszNjI5MiwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwXX0sIkV1cm9wZS9BbXN0ZXJkYW0iOnsKdGltZTpbLTQyNjAyMTEyMDAsLTE2OTM2OTkyMDAsLTE2ODA0OGU0LC0xNjYzNDUyZTMsLTE2NTAxNDI4MDAsLTE2MzMyMTJlMywtMTYxNzQ4MzYwMCwtMTYwMTE1NzYwMCwtMTU4NjAzNGUzLC0xNTY5NzA4ZTMsLTE1NTQ1ODQ0MDAsLTE1MzgyNTg0MDAsLTE1MjMxMzQ4MDAsLTE1MDc1ZTUsLTE0OTA1NjJlMywtMTQ3MDE3NTIwMCwtMTQ1OTExMjQwMCwtMTQ0Mzk5NmUzLC0xNDI3NjYyODAwLC0xNDA2NjcxMjAwLC0xMzk2MjEzMjAwLC0xMzc2OTQ5NjAwLC0xMzY0NzYzNjAwLC0xMzQ1NDEzNjAwLC0xMzMzMzE0ZTMsLTEzMTM3OTEyMDAsLTEzMDEyNTk2MDAsLTEyODIyNTUyMDAsLTEyNjk4MWU0LC0xMjUwNzE5MjAwLC0xMjM4MzYwNDAwLC0xMjE5MTgzMjAwLC0xMjA2OTEwODAwLC0xMTg2OTU2ZTMsLTExNzU0NjEyMDAsLTExNTYwMjQ4MDAsLTExNDM0MDY4MDAsLTExMjQ0ODg4MDAsLTExMTE5NTcyMDAsLTEwOTI5NTI4MDAsLTEwODA1MDc2MDAsLTEwNjEzMzA0MDAsLTEwNDkwNThlMywtMTAyOTE4OTYwMCwtMTAyNTc0MDgwMCwtMTAxNzYwODQwMCwtOTk4MjU4NDAwLC05ODYxNTg4MDAsLTk2NjcyMjQwMCwtOTU0MTA0NDAwLC05MzUwMjA4MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLDIyODg4MDgwMCwyNDQwMDQ0MDAsMjYwMzMwNDAwLDI3NjA1ODgwMCwyOTE3OGU0LDMwNzUwODQwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMTE3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsNDgwMCwxMjAwLDQ4MDAsMTIwMCw0ODAwLDEyMDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9BdGhlbnMiOnsKdGltZTpbLTIzNDQ2MzY4MDAsLTE2ODYwOTU5NDAsLTExODI5ODg4MDAsLTExNzgxNTA0MDAsLTkwNjg1NDQwMCwtOTA0ODY3MjAwLC04NTcyNWU0LC04NDQ0NzM2MDAsLTgyODIzMDQwMCwtODEyNDE5MjAwLC01NTIzNTUyMDAsLTU0MTY0MTYwMCwxNjY0OTI4MDAsMTg2MTk1NjAwLDE5ODAzNmUzLDIxMzc2NDQwMCwyMjg4ODA4MDAsMjQ0MDkwODAwLDI2MDMzMDQwMCwyNzU0NTc2MDAsMjkxODA1MjAwLDMwNzQxODQwMCwzMjMzOTUyMDAsMzM4OTQ3MjAwLDM1NDY4MjgwMCwzNzA0MTEyMDAsMzg2MTMyNDAwLDQwMTg2MDgwMCw0MTc1ODJlMyw0MzMzMTA0MDAsNDQ5MDMxNjAwLDQ2NTM2NDgwMCw0ODEwODZlMyw0OTY4MTQ0MDAsNTEyNTM1NjAwLDUyODI2NGUzLDU0Mzk4NTIwMCw1NTk3MTM2MDAsNTc1NDM0ODAwLDU5MTE2MzIwMCw2MDY4ODQ0MDAsNjIyNjEyODAwLDYzODMzNGUzLDY1NDY2NzIwMCw2NzAzODg0MDAsNjg2MTE2ODAwLDcwMTgzOGUzLDcxNzU2NjQwMCw3MzMyODc2MDAsNzQ5MDE2ZTMsNzY0NzM3MjAwLDc4MDQ2NTYwMCw3OTYxODY4MDAsODExOTE1MjAwLDgyODI0MTIwMCw4NDYzODg4MDAsODU5NjkwODAwLDg3NzgzODQwMCw4OTExNDA0MDAsOTA5Mjg4ZTMsOTIyNTllNCw5NDEzNDI0MDAsOTU0MDM5NjAwLDk3Mjc5MmUzLDk4NTQ4OTIwMCwxMDA0MjQxNjAwLDEwMTc1NDM2MDAsMTAzNTY5MTIwMCwxMDQ4OTkzMjAwLDEwNjcxNDA4MDAsMTA4MDQ0MjgwMCwxMDk5MTk1MjAwLDExMTE4OTI0MDAsMTEzMDY0NDgwMCwxMTQzMzQyZTMsMTE2MjA5NDQwMCwxMTc0NzkxNjAwLDExOTM1NDRlMywxMjA2ODQ2ZTMsMTIyNDk5MzYwMCwxMjM4Mjk1NjAwLDEyNTY0NDMyMDAsMTI2OTc0NTIwMCwxMjg4NDk3NjAwLDEzMDExOTQ4MDAsMTMxOTk0NzIwMCwxMzMyNjQ0NDAwLDEzNTEzOTY4MDAsMTM2NDY5ODgwMCwxMzgyODQ2NDAwLDEzOTYxNDg0MDAsMTQxNDI5NmUzLDE0Mjc1OThlMywxNDQ1NzQ1NjAwLDE0NTkwNDc2MDAsMTQ3NzhlNSwxNDkwNDk3MjAwLDE1MDkyNDk2MDAsMTUyMTk0NjgwMCwxNTQwNjk5MjAwLDE1NTQwMDEyMDAsMTU3MjE0ODgwMCwxNTg1NDUwODAwLDE2MDM1OTg0MDAsMTYxNjkwMDQwMCwxNjM1NjUyODAwLDE2NDgzNWU0LDE2NjcxMDI0MDAsMTY3OTc5OTYwMCwxNjk4NTUyZTMsMTcxMTg1NGUzLDE3MzAwMDE2MDAsMTc0MzMwMzYwMCwxNzYxNDUxMjAwLDE3NzQ3NTMyMDAsMTc5MjkwMDgwMCwxODA2MjAyODAwLDE4MjQ5NTUyMDAsMTgzNzY1MjQwMCwxODU2NDA0ODAwLDE4NjkxMDJlMywxODg3ODU0NDAwLDE5MDExNTY0MDAsMTkxOTMwNGUzLDE5MzI2MDZlM10sb2Zmc2V0Ols1NjkyLDU2OTIsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJFdXJvcGUvQmVsZ3JhZGUiOnsKdGltZTpbLTI3MTM5MTA0MDAsLTkwNTgyMTIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzc3OTM4NDAwLC03NjY2MTY0MDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0Ols0OTIwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9CZXJsaW4iOnt0aW1lOlstMjQyMjA1MTIwMCwtMTY5MzcwMjgwMCwtMTY4MDQ3NjQwMCwtMTY2MzQ1MmUzLC0xNjUwMTQyODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC05Mzg5MDE2MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc4MTA0ODgwMCwtNzc2NTU2ZTMsLTc2NTkyNTIwMCwtNzYxMTczMjAwLC03NDg0NzZlMywtNzMzMjY2ZTMsLTcxNzYyNzYwMCwtNzE0NjAzNjAwLC03MTAzN2U0LC03MDE5MDI4MDAsLTY4NDk3MmUzLC02NzA0NTMyMDAsLTY1NDEyNzIwMCwtNjM5MDAzNjAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbMzIwOCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMTA4MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9CcmF0aXNsYXZhIjp7dGltZTpbLTM3ODY4MjU2MDAsLTI0NjkzOTg0MDAsLTE2OTM3MDI4MDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtOTM4OTAxNjAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTY3N2U0LC03ODEwNDg4MDAsLTc2NTMyMDQwMCwtNzQ2NTc1MjAwLC03MzMzNTI0MDAsLTcyODUxNGUzLC03MjEyNmU0LC03MTY0MjE2MDAsLTcwMTkwMjgwMCwtNjg0OTcyZTMsLTY3MDQ1MzIwMCwtNjU0MjEzNjAwLC02MzkwMDM2MDAsMjkxNzhlNCwzMDc1MDg0MDAsMzIzODM0NDAwLDMzODk1OGUzLDM1NDY3OTIwMCwzNzA0MDc2MDAsMzg2MTI4ODAwLDQwMTg1NzIwMCw0MTc1Nzg0MDAsNDMzMzA2ODAwLDQ0OTAyOGUzLDQ2NTM2MTIwMCw0ODEwODI0MDAsNDk2ODEwODAwLDUxMjUzMmUzLDUyODI2MDQwMCw1NDM5ODE2MDAsNTU5NzFlNCw1NzU0MzEyMDAsNTkxMTU5NjAwLDYwNjg4MDgwMCw2MjI2MDkyMDAsNjM4MzMwNDAwLDY1NDY2MzYwMCw2NzAzODQ4MDAsNjg2MTEzMjAwLDcwMTgzNDQwMCw3MTc1NjI4MDAsNzMzMjg0ZTMsNzQ5MDEyNDAwLDc2NDczMzYwMCw3ODA0NjJlMyw3OTYxODMyMDAsODExOTExNjAwLDgyODIzNzYwMCw4NDYzODUyMDAsODU5Njg3MjAwLDg3NzgzNDgwMCw4OTExMzY4MDAsOTA5Mjg0NDAwLDkyMjU4NjQwMCw5NDEzMzg4MDAsOTU0MDM2ZTMsOTcyNzg4NDAwLDk4NTQ4NTYwMCwxMDA0MjM4ZTMsMTAxNzU0ZTQsMTAzNTY4NzYwMCwxMDQ4OTg5NjAwLDEwNjcxMzcyMDAsMTA4MDQzOTIwMCwxMDk5MTkxNjAwLDExMTE4ODg4MDAsMTEzMDY0MTIwMCwxMTQzMzM4NDAwLDExNjIwOTA4MDAsMTE3NDc4OGUzLDExOTM1NDA0MDAsMTIwNjg0MjQwMCwxMjI0OTllNCwxMjM4MjkyZTMsMTI1NjQzOTYwMCwxMjY5NzQxNjAwLDEyODg0OTRlMywxMzAxMTkxMjAwLDEzMTk5NDM2MDAsMTMzMjY0MDgwMCwxMzUxMzkzMjAwLDEzNjQ2OTUyMDAsMTM4Mjg0MjgwMCwxMzk2MTQ0ODAwLDE0MTQyOTI0MDAsMTQyNzU5NDQwMCwxNDQ1NzQyZTMsMTQ1OTA0NGUzLDE0Nzc3OTY0MDAsMTQ5MDQ5MzYwMCwxNTA5MjQ2ZTMsMTUyMTk0MzIwMCwxNTQwNjk1NjAwLDE1NTM5OTc2MDAsMTU3MjE0NTIwMCwxNTg1NDQ3MjAwLDE2MDM1OTQ4MDAsMTYxNjg5NjgwMCwxNjM1NjQ5MjAwLDE2NDgzNDY0MDAsMTY2NzA5ODgwMCwxNjc5Nzk2ZTMsMTY5ODU0ODQwMCwxNzExODUwNDAwLDE3Mjk5OThlMywxNzQzM2U1LDE3NjE0NDc2MDAsMTc3NDc0OTYwMCwxNzkyODk3MjAwLDE4MDYxOTkyMDAsMTgyNDk1MTYwMCwxODM3NjQ4ODAwLDE4NTY0MDEyMDAsMTg2OTA5ODQwMCwxODg3ODUwODAwLDE5MDExNTI4MDAsMTkxOTMwMDQwMCwxOTMyNjAyNDAwXSxvZmZzZXQ6WzM0NjQsMzQ2NCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvQnJ1c3NlbHMiOnsKdGltZTpbLTI4NDAxNDA4MDAsLTI0NTA5OTQxNTAsLTE3NDAzNTUyMDAsLTE2OTM2OTkyMDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTYxMzgyMjQwMCwtMTYwNDI3ODgwMCwtMTU4NTUyNjQwMCwtMTU3NDAzODgwMCwtMTU1MjI2MjQwMCwtMTUzOTk5NzIwMCwtMTUyMDU1MzYwMCwtMTUwNzUxMDgwMCwtMTQ5MDU3MjgwMCwtMTQ3MzY0MmUzLC0xNDU5MTIzMjAwLC0xNDQ0MDA2ODAwLC0xNDI3NjczNjAwLC0xNDExOTUyNDAwLC0xMzk2MjI0ZTMsLTEzNzkyOTMyMDAsLTEzNjQ3NzQ0MDAsLTEzNDg0NDg0MDAsLTEzMzMzMjQ4MDAsLTEzMTYzOTRlMywtMTMwMTI1OTYwMCwtMTI4NDMyODgwMCwtMTI2OTgxZTQsLTEyNTM0ODRlMywtMTIzODM2MDQwMCwtMTIyMTQyOTYwMCwtMTIwNjkxMDgwMCwtMTE5MTE4OTYwMCwtMTE3NTQ2MTIwMCwtMTE2MDM0NDgwMCwtMTE0MzQwNjgwMCwtMTEyNzY4NTYwMCwtMTExMTk1NzIwMCwtMTA5Njg0MDgwMCwtMTA4MDUwNzYwMCwtMTA2MzU3NjgwMCwtMTA0OTA1OGUzLC0xMDMzMzM2ODAwLC0xMDE3NjA4NDAwLC0xMDAyNDkyZTMsLTk4NjE1ODgwMCwtOTY5MjI4ZTMsLTk1MDQ3NTYwMCwtOTQyMDEyZTMsLTkzNDY2NDQwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk4MDY2ZTMsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLC03NDU0NTJlMywtNzMzMjY2ZTMsMjI4ODgwODAwLDI0NDAwNDQwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0OlsxMDUwLDEwNTAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9CdWNoYXJlc3QiOnsKdGltZTpbLTI0NjkzOTg0MDAsLTEyMTMxNDI0MDAsLTExODcwNDk2MDAsLTExNzU0Njg0MDAsLTExNTk3NDcyMDAsLTExNDQwMTg4MDAsLTExMjc2OTI4MDAsLTExMTE5NjQ0MDAsLTEwOTYyNDMyMDAsLTEwODA1MTQ4MDAsLTEwNjQ3OTM2MDAsLTEwNDkwNjUyMDAsLTEwMzMzNDRlMywtMTAxNzYxNTYwMCwtMTAwMTg5NDQwMCwtOTg2MTY2ZTMsLTk3MDQ0NDgwMCwtOTU0NzE2NDAwLDI5NjYxMTIwMCwzMDc0OTc2MDAsMzIzODIzNjAwLDMzODk1MDgwMCwzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzc3NjAwLDY4NjEwNmUzLDcwMTgyNzIwMCw3MTc1NTU2MDAsNzMzMjc2ODAwLDc0OTAwNTIwMCw3NjQ3MjY0MDAsNzgwNDUxMjAwLDc5NjE3NmUzLDgxMTkwMDgwMCw4MjgyMzA0MDAsODQ2Mzc0NDAwLDg1OTY5MDgwMCw4Nzc4Mzg0MDAsODkxMTQwNDAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDk1NDAzOTYwMCw5NzI3OTJlMyw5ODU0ODkyMDAsMTAwNDI0MTYwMCwxMDE3NTQzNjAwLDEwMzU2OTEyMDAsMTA0ODk5MzIwMCwxMDY3MTQwODAwLDEwODA0NDI4MDAsMTA5OTE5NTIwMCwxMTExODkyNDAwLDExMzA2NDQ4MDAsMTE0MzM0MmUzLDExNjIwOTQ0MDAsMTE3NDc5MTYwMCwxMTkzNTQ0ZTMsMTIwNjg0NmUzLDEyMjQ5OTM2MDAsMTIzODI5NTYwMCwxMjU2NDQzMjAwLDEyNjk3NDUyMDAsMTI4ODQ5NzYwMCwxMzAxMTk0ODAwLDEzMTk5NDcyMDAsMTMzMjY0NDQwMCwxMzUxMzk2ODAwLDEzNjQ2OTg4MDAsMTM4Mjg0NjQwMCwxMzk2MTQ4NDAwLDE0MTQyOTZlMywxNDI3NTk4ZTMsMTQ0NTc0NTYwMCwxNDU5MDQ3NjAwLDE0Nzc4ZTUsMTQ5MDQ5NzIwMCwxNTA5MjQ5NjAwLDE1MjE5NDY4MDAsMTU0MDY5OTIwMCwxNTU0MDAxMjAwLDE1NzIxNDg4MDAsMTU4NTQ1MDgwMCwxNjAzNTk4NDAwLDE2MTY5MDA0MDAsMTYzNTY1MjgwMCwxNjQ4MzVlNCwxNjY3MTAyNDAwLDE2Nzk3OTk2MDAsMTY5ODU1MmUzLDE3MTE4NTRlMywxNzMwMDAxNjAwLDE3NDMzMDM2MDAsMTc2MTQ1MTIwMCwxNzc0NzUzMjAwLDE3OTI5MDA4MDAsMTgwNjIwMjgwMCwxODI0OTU1MjAwLDE4Mzc2NTI0MDAsMTg1NjQwNDgwMCwxODY5MTAyZTMsMTg4Nzg1NDQwMCwxOTAxMTU2NDAwLDE5MTkzMDRlMywxOTMyNjA2ZTNdLG9mZnNldDpbNjI2NCw2MjY0LDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL0J1ZGFwZXN0Ijp7CnRpbWU6Wy0yNDk4MjU2ZTMsLTE2OTM3MDI4MDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTYwMDQ2NjQwMCwtMTU4NzI0MzYwMCwtMTU2OTcwOGUzLC0xNTU1MTg5MjAwLC05MDY3NzE2MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc3ODQ2NzYwMCwtNzYyNjQ5MjAwLC03NDk2ODU2MDAsLTczMzI2OTYwMCwtNzE3NjMxMjAwLC03MDE5MDI4MDAsLTY4NjE4MTYwMCwtNjcwNDUzMjAwLC02NTQxMjcyMDAsLTYzOTAwMzYwMCwtNDkyNjUyODAwLC00ODExNjE2MDAsLTQ2MTE5NmUzLC00NDk3MDEyMDAsLTQyODUzNjgwMCwtNDE4MjUxNjAwLC0zOTcwODcyMDAsLTM4NjgwMmUzLDMyMzgyNzIwMCwzMzg5NTA4MDAsMzU0NjcyZTMsMzcwNDAwNDAwLDM4NjEyMTYwMCw0MDE4NWU0LDQxNzU3MTIwMCw0MzMyOTk2MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbNDU4MCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDBdfSwiRXVyb3BlL0NvcGVuaGFnZW4iOnsKdGltZTpbLTI1MjQ1MjE2MDAsLTIzOTgyOTEyMDAsLTE2OTI0OTMyMDAsLTE2ODA0ODM2MDAsLTkzNTEwNzIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03NjkzODEyMDAsLTc0NzAwNzIwMCwtNzM2Mzc2NDAwLC03MTUyMTJlMywtNzA2NzQxMjAwLC02ODMxNTc2MDAsLTY3NTI5MTYwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMzAyMCwzMDIwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvRHVibGluIjp7CnRpbWU6Wy0yODIxNjUxMjAwLC0xNjkxOTY0ZTMsLTE2ODA0NjkyMDAsLTE2NjQxNDMyMDAsLTE2NTAxNDI4MDAsLTE2MzM5MDMyMDAsLTE2MTc0ODM2MDAsLTE2MDE4NDg4MDAsLTE1ODYwMzRlMywtMTU3MDM5OTIwMCwtMTU1MjE2NTIwMCwtMTUzODM0NDgwMCwtMTUyMjUzZTQsLTE1MDc1ZTUsLTE0OTA1NjJlMywtMTQ3MzYzMTIwMCwtMTQ2MDkyNjgwMCwtMTQ0Mjc4NjQwMCwtMTQyODg3MjQwMCwtMTQxMDczMmUzLC0xMzk2MjEzMjAwLC0xMzc5MjgyNDAwLC0xMzY0NzYzNjAwLC0xMzQ4NDM3NjAwLC0xMzMzMzE0ZTMsLTEzMTU3Nzg0MDAsLTEzMDEyNTk2MDAsLTEyODQzMjg4MDAsLTEyNjk4MWU0LC0xMjUzNDg0ZTMsLTEyMzgzNjA0MDAsLTEyMjE0Mjk2MDAsLTEyMDY5MTA4MDAsLTExODk5OGU0LC0xMTc1NDYxMjAwLC0xMTU5MTM1MjAwLC0xMTQzNDA2ODAwLC0xMTI2NDc2ZTMsLTExMTE5NTcyMDAsLTEwOTU2MzEyMDAsLTEwODA1MDc2MDAsLTEwNjM1NzY4MDAsLTEwNDkwNThlMywtMTAzMjEyNzIwMCwtMTAxNzYwODQwMCwtMTAwMTI4MjQwMCwtOTg2MTU4ODAwLC05NjkyMjhlMywtOTUwNDc1NjAwLC05NDIwMTJlMywtNzMzMzUyNDAwLC03MTk0NDU2MDAsLTY5OTQ4MzYwMCwtNjg0OTcyZTMsLTY2ODAzNGUzLC02NTQ3MzJlMywtNjM2NTg0NDAwLC02MjIwNzI4MDAsLTYwNTczOTYwMCwtNTkwNjIzMjAwLC01NzQyOWU0LC01NTg1Njg4MDAsLTU0MjIzNTYwMCwtNTI3MTE5MjAwLC01MTI2MDA0MDAsLTQ5NjI3NDQwMCwtNDgxMTUwODAwLC00NjQyMmU0LC00NDk3MDEyMDAsLTQzMjE2NTYwMCwtNDE3NjQ2ODAwLC00MDEzMjA4MDAsLTM4NjE5NzIwMCwtMzY5MjY2NDAwLC0zNTQ3NDc2MDAsLTMzNzgxNjgwMCwtMzIzMjk4ZTMsLTMwNjk3MmUzLC0yOTE4NDg0MDAsLTI3NjczMmUzLC0yNTc5Nzk2MDAsLTI0NTI4MjQwMCwtMjI2NTNlNCwtMjEzMjI4ZTMsLTE5NTA4MDQwMCwtMTgyMzgzMjAwLC0xNjM2MzA4MDAsLTE1MDkzMzYwMCwtMTMyMTgxMjAwLC0xMTk0ODRlMywtMTAwNzMxNjAwLC04ODAzNDQwMCwtNjg2NzcyMDAsLTU5MDA0ZTMsNTc3MjZlMyw2OTgxODQwMCw4OTE3NTYwMCwxMDEyNjhlMywxMjA2MjUyMDAsMTMyNzE3NjAwLDE1MjA3NDgwMCwxNjQxNjcyMDAsMTgzNTI0NDAwLDE5NjIyMTYwMCwyMTQ5NzRlMywyMjc2NzEyMDAsMjQ2NDIzNjAwLDI1OTEyMDgwMCwyNzg0NzhlMywyOTA1NzA0MDAsMzA5OTI3NjAwLDMyMjAyZTQsMzQxMzc3MjAwLDM1NDY3NTYwMCwzNzI4MjMyMDAsMzg2MTI1MjAwLDQwNDI3MjgwMCw0MTc1NzQ4MDAsNDM1NzIyNDAwLDQ0OTAyNDQwMCw0Njc3NzY4MDAsNDgxMDc4ODAwLDQ5OTIyNjQwMCw1MTI1Mjg0MDAsNTMwNjc2ZTMsNTQzOTc4ZTMsNTYyMTI1NjAwLDU3NTQyNzYwMCw1OTM1NzUyMDAsNjA2ODc3MjAwLDYyNTYyOTYwMCw2MzgzMjY4MDAsNjU3MDc5MjAwLDY3MDM4MTIwMCw2ODg1Mjg4MDAsNzAxODMwODAwLDcxOTk3ODQwMCw3MzMyODA0MDAsNzUxNDI4ZTMsNzY0NzNlNCw3ODI4Nzc2MDAsNzk2MTc5NjAwLDgxNDMyNzIwMCw4MjgyMzRlMyw4NDYzODE2MDAsODU5NjgzNjAwLDg3NzgzMTIwMCw4OTExMzMyMDAsOTA5MjgwODAwLDkyMjU4MjgwMCw5NDEzMzUyMDAsOTU0MDMyNDAwLDk3Mjc4NDgwMCw5ODU0ODJlMywxMDA0MjM0NDAwLDEwMTc1MzY0MDAsMTAzNTY4NGUzLDEwNDg5ODZlMywxMDY3MTMzNjAwLDEwODA0MzU2MDAsMTA5OTE4OGUzLDExMTE4ODUyMDAsMTEzMDYzNzYwMCwxMTQzMzM0ODAwLDExNjIwODcyMDAsMTE3NDc4NDQwMCwxMTkzNTM2ODAwLDEyMDY4Mzg4MDAsMTIyNDk4NjQwMCwxMjM4Mjg4NDAwLDEyNTY0MzZlMywxMjY5NzM4ZTMsMTI4ODQ5MDQwMCwxMzAxMTg3NjAwLDEzMTk5NGU0LDEzMzI2MzcyMDAsMTM1MTM4OTYwMCwxMzY0NjkxNjAwLDEzODI4MzkyMDAsMTM5NjE0MTIwMCwxNDE0Mjg4ODAwLDE0Mjc1OTA4MDAsMTQ0NTczODQwMCwxNDU5MDQwNDAwLDE0Nzc3OTI4MDAsMTQ5MDQ5ZTQsMTUwOTI0MjQwMCwxNTIxOTM5NjAwLDE1NDA2OTJlMywxNTUzOTk0ZTMsMTU3MjE0MTYwMCwxNTg1NDQzNjAwLDE2MDM1OTEyMDAsMTYxNjg5MzIwMCwxNjM1NjQ1NjAwLDE2NDgzNDI4MDAsMTY2NzA5NTIwMCwxNjc5NzkyNDAwLDE2OTg1NDQ4MDAsMTcxMTg0NjgwMCwxNzI5OTk0NDAwLDE3NDMyOTY0MDAsMTc2MTQ0NGUzLDE3NzQ3NDZlMywxNzkyODkzNjAwLDE4MDYxOTU2MDAsMTgyNDk0OGUzLDE4Mzc2NDUyMDAsMTg1NjM5NzYwMCwxODY5MDk0ODAwLDE4ODc4NDcyMDAsMTkwMTE0OTIwMCwxOTE5Mjk2ODAwLDE5MzI1OTg4MDBdLG9mZnNldDpbLTE1MjEsLTE1MjEsMjA3OSwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwXX0sIkV1cm9wZS9IZWxzaW5raSI6ewp0aW1lOlstMjg5MDI1MjgwMCwtMTUzNTkzMjgwMCwtODc1NjY0ZTMsLTg1OTc2MjgwMCwzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTgyZTMsNDMzMzEwNDAwLDQ0OTAzMTYwMCw0NjUzNjQ4MDAsNDgxMDg2ZTMsNDk2ODE0NDAwLDUxMjUzNTYwMCw1MjgyNjRlMyw1NDM5ODUyMDAsNTU5NzEzNjAwLDU3NTQzNDgwMCw1OTExNjMyMDAsNjA2ODg0NDAwLDYyMjYxMjgwMCw2MzgzMzRlMyw2NTQ2NjcyMDAsNjcwMzg4NDAwLDY4NjExNjgwMCw3MDE4MzhlMyw3MTc1NjY0MDAsNzMzMjg3NjAwLDc0OTAxNmUzLDc2NDczNzIwMCw3ODA0NjU2MDAsNzk2MTg2ODAwLDgxMTkxNTIwMCw4MjgyNDEyMDAsODQ2Mzg4ODAwLDg1OTY5MDgwMCw4Nzc4Mzg0MDAsODkxMTQwNDAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDk1NDAzOTYwMCw5NzI3OTJlMyw5ODU0ODkyMDAsMTAwNDI0MTYwMCwxMDE3NTQzNjAwLDEwMzU2OTEyMDAsMTA0ODk5MzIwMCwxMDY3MTQwODAwLDEwODA0NDI4MDAsMTA5OTE5NTIwMCwxMTExODkyNDAwLDExMzA2NDQ4MDAsMTE0MzM0MmUzLDExNjIwOTQ0MDAsMTE3NDc5MTYwMCwxMTkzNTQ0ZTMsMTIwNjg0NmUzLDEyMjQ5OTM2MDAsMTIzODI5NTYwMCwxMjU2NDQzMjAwLDEyNjk3NDUyMDAsMTI4ODQ5NzYwMCwxMzAxMTk0ODAwLDEzMTk5NDcyMDAsMTMzMjY0NDQwMCwxMzUxMzk2ODAwLDEzNjQ2OTg4MDAsMTM4Mjg0NjQwMCwxMzk2MTQ4NDAwLDE0MTQyOTZlMywxNDI3NTk4ZTMsMTQ0NTc0NTYwMCwxNDU5MDQ3NjAwLDE0Nzc4ZTUsMTQ5MDQ5NzIwMCwxNTA5MjQ5NjAwLDE1MjE5NDY4MDAsMTU0MDY5OTIwMCwxNTU0MDAxMjAwLDE1NzIxNDg4MDAsMTU4NTQ1MDgwMCwxNjAzNTk4NDAwLDE2MTY5MDA0MDAsMTYzNTY1MjgwMCwxNjQ4MzVlNCwxNjY3MTAyNDAwLDE2Nzk3OTk2MDAsMTY5ODU1MmUzLDE3MTE4NTRlMywxNzMwMDAxNjAwLDE3NDMzMDM2MDAsMTc2MTQ1MTIwMCwxNzc0NzUzMjAwLDE3OTI5MDA4MDAsMTgwNjIwMjgwMCwxODI0OTU1MjAwLDE4Mzc2NTI0MDAsMTg1NjQwNDgwMCwxODY5MTAyZTMsMTg4Nzg1NDQwMCwxOTAxMTU2NDAwLDE5MTkzMDRlMywxOTMyNjA2ZTNdLG9mZnNldDpbNTk4OSw1OTg5LDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL0lzdGFuYnVsIjp7dGltZTpbLTI4NDAxNDA4MDAsLTE4Njk4Njg4MDAsLTE2OTM2OTkyMDAsLTE2ODA0OGU0LC0xNTcwNDA2NDAwLC0xNTUyMTc2ZTMsLTE1MzgzNTJlMywtMTUyMjU0MDgwMCwtMTUwNzUwNzIwMCwtMTQ5MDU3MjgwMCwtMTQ0MDIwMTYwMCwtMTQyODAxOTIwMCwtMTQwOTcwMjQwMCwtMTM5NjQ4MzIwMCwtOTMxMDQ2NDAwLC05MjI2NjU2MDAsLTkxNzgyNzIwMCwtODkyNDI1NjAwLC04NzU4MzY4MDAsLTc2NDcyNjQwMCwtNzQ0MzM2ZTMsLTczMzc5NTIwMCwtNzE2NDI4ODAwLC03MDE5MTM2MDAsLTY4NDk3OTIwMCwtNjcwNDY0ZTMsLTY1NDEzNDQwMCwtNjM5MDE0NDAwLC02MjIwOGU0LC02MDY5NmU0LC01OTAwMjU2MDAsLTU3NTUxMDQwMCwtMjM1NjEyODAwLC0xOTQ4MzJlMywtMTc3NzI0ODAwLC0xNjU3MTUyMDAsMTA3OTE3MjAwLDEyMTIyNjQwMCwxMzM5MjcyMDAsMTUyNjc2ZTMsMTY0Njg1NjAwLDE4NDEyNTYwMCwxOTYyMjE2MDAsMjE1NTc1MjAwLDIyODg4MDgwMCwyNDU4MTUyMDAsMjYwMzMwNDAwLDI2NzkyNjQwMCw0Mjg0NjQ4MDAsNDMzOTA4ZTMsNDY4MTIyNDAwLDQ4MjgwNjgwMCw0OTY3MjA4MDAsNTEyNTI4NDAwLDUyODI1NjgwMCw1NDM5NzhlMyw1NTk3MDY0MDAsNTc1NDI3NjAwLDU5MTE1NmUzLDYwNjg3NzIwMCw2MjI2MDU2MDAsNjM4MzI2ODAwLDY1NDY2ZTQsNjcwMzgxMjAwLDY4NjEwOTYwMCw3MDE4MzA4MDAsNzE3NTU5MjAwLDczMzI4MDQwMCw3NDkwMDg4MDAsNzY0MTI1MjAwLDc4MDQ1ODQwMCw3OTYxNzk2MDAsODExOTA4ZTMsODI4MjM0ZTMsODQ2MzgxNjAwLDg1OTY4MzYwMCw4Nzc4MzEyMDAsODkxMTMzMjAwLDkwOTI4MDgwMCw5MjI1ODI4MDAsOTQxMzM1MjAwLDk1NDAzMjQwMCw5NzI3ODQ4MDAsOTg1NDgyZTMsMTAwNDIzNDQwMCwxMDE3NTM2NDAwLDEwMzU2ODRlMywxMDQ4OTg2ZTMsMTA2NzEzMzYwMCwxMDgwNDM1NjAwLDEwOTkxODhlMywxMTExODg1MjAwLDExMzA2Mzc2MDAsMTE0MzMzNDgwMCwxMTYyMDg3MjAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTI4MTIwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjIzNDgwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDY5NTUyMDAsMTQ1OTA0NzYwMCwxNDczMjA2NDAwLDE5MjUwMDI4MDBdLApvZmZzZXQ6WzY5NTIsNzAxNiw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsMTA4MDAsMTQ0MDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDEwODAwXX0sIkV1cm9wZS9MaXNib24iOnt0aW1lOlstMTgzMDM4NjIwNSwtMTY4OTU1NTYwMCwtMTY3Nzc5OGUzLC0xNjY3NDMzNjAwLC0xNjQ3NzM0NDAwLC0xNjM1ODk3NjAwLC0xNjE2MTk4NDAwLC0xNjA0MzYxNjAwLC0xNTg0NjYyNDAwLC0xNTcyNzM5MjAwLC0xNTUzMDRlNCwtMTU0MTIwMzIwMCwtMTUyMTUwNGUzLC0xNDQyNDUxNjAwLC0xNDI3NjczNjAwLC0xMzc5MjkzMjAwLC0xMzY0Nzc0NDAwLC0xMzQ4NDQ4NDAwLC0xMzMzMzI0ODAwLC0xMzE2Mzk0ZTMsLTEzMDEyNzA0MDAsLTEyODQzMzk2MDAsLTEyNjk4MjA4MDAsLTEyMjE0NDA0MDAsLTEyMDY5MjE2MDAsLTExOTEyMDA0MDAsLTExNzU0NzJlMywtMTEyNzY5NjQwMCwtMTExMTk2OGUzLC0xMDk2ODUxNjAwLC0xMDgwNTE4NDAwLC0xMDYzNTg3NjAwLC0xMDQ5MDY4ODAwLC0xMDMzMzQ3NjAwLC0xMDE3NjE5MjAwLC0xMDAyNTAyODAwLC05ODYxNjk2MDAsLTk2OTIzODgwMCwtOTUwNDg2NDAwLC05NDIwMjI4MDAsLTkyMjQ5MjgwMCwtOTA2OTQ0NDAwLC04OTExMjk2MDAsLTg3NzMwOTIwMCwtODczNjgwNDAwLC04NjRlNiwtODU3OTUyZTMsLTg0NTg1OTYwMCwtODQyODM1NjAwLC04MzEzNDA4MDAsLTgyNTg5NzYwMCwtODE0NDFlNCwtODEwNzgxMjAwLC03OTk4OTEyMDAsLTc5NDQ0OGUzLC03ODI5NjA0MDAsLTc3OTMzMTYwMCwtNzY4NDQxNjAwLC03NjI5OTg0MDAsLTc0OTA5MTYwMCwtNzMzMzYzMjAwLC03MTc2MzEyMDAsLTcwMTkwMjgwMCwtNjg2MTgxNjAwLC02NzA0NTMyMDAsLTY1NDczMmUzLC02MzkwMDM2MDAsLTYyMzI4MjQwMCwtNjA3NTU0ZTMsLTU5MTgzMjgwMCwtNTc1NDk5NjAwLC01NTk3Nzg0MDAsLTU0NDA1ZTQsLTUyODMyODgwMCwtNTEyNjAwNDAwLC00OTY4NzkyMDAsLTQ4MTE1MDgwMCwtNDY1NDI5NjAwLC00NDk3MDEyMDAsLTQzMzk4ZTQsLTQxNzY0NjgwMCwtNDAxOTI1NjAwLC0zODYxOTcyMDAsLTM3MDQ3NmUzLC0zNTQ3NDc2MDAsLTMzOTAyNjQwMCwtMzIzMjk4ZTMsLTMwNzU3NjgwMCwtMjkxODQ4NDAwLC0yNzYxMjcyMDAsLTI2MDM5ODgwMCwtMjQ0Njc3NjAwLC0yMjgzNDQ0MDAsLTIxMjYyMzIwMCwtMTk2ODk0ODAwLC0xODExNzM2MDAsLTE2NTQ0NTIwMCwtMTQ5NzI0ZTMsLTEzMzk5NTYwMCwtMTE4Mjc0NDAwLC0xMDI1NDZlMywyMTI1NDc2MDAsMjI4MjY4ODAwLDI0Mzk5NzIwMCwyNjAzMjY4MDAsMjc2MDU1MjAwLDI5MTc3NjQwMCwzMDc1MDQ4MDAsMzIzODMwODAwLDMzODk1NDQwMCwzNTQ2NzJlMywzNzA0MDA0MDAsMzg2MTIxNjAwLDQwMTg1ZTQsNDE3NTcxMjAwLDQzMzI5OTYwMCw0NDkwMjA4MDAsNDY1MzU0ZTMsNDgxMDc1MjAwLDQ5NjgwMzYwMCw1MTI1Mjg0MDAsNTI4MjU2ODAwLDU0Mzk3OGUzLDU1OTcwNjQwMCw1NzU0Mjc2MDAsNTkxMTU2ZTMsNjA2ODc3MjAwLDYyMjYwNTYwMCw2MzgzMjY4MDAsNjU0NjZlNCw2NzAzODEyMDAsNjg2MTA5NjAwLDcwMTgzMDgwMCw3MTc1NTkyMDAsNzMzMjg0ZTMsNzQ5MDEyNDAwLDc2NDczMzYwMCw3ODA0NjJlMyw3OTYxODMyMDAsODExOTExNjAwLDgyODIzNzYwMCw4NDYzODE2MDAsODU5NjgzNjAwLDg3NzgzMTIwMCw4OTExMzMyMDAsOTA5MjgwODAwLDkyMjU4MjgwMCw5NDEzMzUyMDAsOTU0MDMyNDAwLDk3Mjc4NDgwMCw5ODU0ODJlMywxMDA0MjM0NDAwLDEwMTc1MzY0MDAsMTAzNTY4NGUzLDEwNDg5ODZlMywxMDY3MTMzNjAwLDEwODA0MzU2MDAsMTA5OTE4OGUzLDExMTE4ODUyMDAsMTEzMDYzNzYwMCwxMTQzMzM0ODAwLDExNjIwODcyMDAsMTE3NDc4NDQwMCwxMTkzNTM2ODAwLDEyMDY4Mzg4MDAsMTIyNDk4NjQwMCwxMjM4Mjg4NDAwLDEyNTY0MzZlMywxMjY5NzM4ZTMsMTI4ODQ5MDQwMCwxMzAxMTg3NjAwLDEzMTk5NGU0LDEzMzI2MzcyMDAsMTM1MTM4OTYwMCwxMzY0NjkxNjAwLDEzODI4MzkyMDAsMTM5NjE0MTIwMCwxNDE0Mjg4ODAwLDE0Mjc1OTA4MDAsMTQ0NTczODQwMCwxNDU5MDQwNDAwLDE0Nzc3OTI4MDAsMTQ5MDQ5ZTQsMTUwOTI0MjQwMCwxNTIxOTM5NjAwLDE1NDA2OTJlMywxNTUzOTk0ZTMsMTU3MjE0MTYwMCwxNTg1NDQzNjAwLDE2MDM1OTEyMDAsMTYxNjg5MzIwMCwxNjM1NjQ1NjAwLDE2NDgzNDI4MDAsMTY2NzA5NTIwMCwxNjc5NzkyNDAwLDE2OTg1NDQ4MDAsMTcxMTg0NjgwMCwxNzI5OTk0NDAwLDE3NDMyOTY0MDAsMTc2MTQ0NGUzLDE3NzQ3NDZlMywxNzkyODkzNjAwLDE4MDYxOTU2MDAsMTgyNDk0OGUzLDE4Mzc2NDUyMDAsMTg1NjM5NzYwMCwxODY5MDk0ODAwLDE4ODc4NDcyMDAsMTkwMTE0OTIwMCwxOTE5Mjk2ODAwLDE5MzI1OTg4MDBdLApvZmZzZXQ6Wy0yMjA1LDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCwwLDM2MDAsNzIwMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwXX0sIkV1cm9wZS9ManVibGphbmEiOnt0aW1lOlstMjcxMzkxMDQwMCwtOTA1ODIxMjAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTY3N2U0LC03ODEwNDg4MDAsLTc2NjYxNjQwMCw0MTc1Nzg0MDAsNDMzMzA2ODAwLDQ0OTAyOGUzLDQ2NTM2MTIwMCw0ODEwODI0MDAsNDk2ODEwODAwLDUxMjUzMmUzLDUyODI2MDQwMCw1NDM5ODE2MDAsNTU5NzFlNCw1NzU0MzEyMDAsNTkxMTU5NjAwLDYwNjg4MDgwMCw2MjI2MDkyMDAsNjM4MzMwNDAwLDY1NDY2MzYwMCw2NzAzODQ4MDAsNjg2MTEzMjAwLDcwMTgzNDQwMCw3MTc1NjI4MDAsNzMzMjg0ZTMsNzQ5MDEyNDAwLDc2NDczMzYwMCw3ODA0NjJlMyw3OTYxODMyMDAsODExOTExNjAwLDgyODIzNzYwMCw4NDYzODUyMDAsODU5Njg3MjAwLDg3NzgzNDgwMCw4OTExMzY4MDAsOTA5Mjg0NDAwLDkyMjU4NjQwMCw5NDEzMzg4MDAsOTU0MDM2ZTMsOTcyNzg4NDAwLDk4NTQ4NTYwMCwxMDA0MjM4ZTMsMTAxNzU0ZTQsMTAzNTY4NzYwMCwxMDQ4OTg5NjAwLDEwNjcxMzcyMDAsMTA4MDQzOTIwMCwxMDk5MTkxNjAwLDExMTE4ODg4MDAsMTEzMDY0MTIwMCwxMTQzMzM4NDAwLDExNjIwOTA4MDAsMTE3NDc4OGUzLDExOTM1NDA0MDAsMTIwNjg0MjQwMCwxMjI0OTllNCwxMjM4MjkyZTMsMTI1NjQzOTYwMCwxMjY5NzQxNjAwLDEyODg0OTRlMywxMzAxMTkxMjAwLDEzMTk5NDM2MDAsMTMzMjY0MDgwMCwxMzUxMzkzMjAwLDEzNjQ2OTUyMDAsMTM4Mjg0MjgwMCwxMzk2MTQ0ODAwLDE0MTQyOTI0MDAsMTQyNzU5NDQwMCwxNDQ1NzQyZTMsMTQ1OTA0NGUzLDE0Nzc3OTY0MDAsMTQ5MDQ5MzYwMCwxNTA5MjQ2ZTMsMTUyMTk0MzIwMCwxNTQwNjk1NjAwLDE1NTM5OTc2MDAsMTU3MjE0NTIwMCwxNTg1NDQ3MjAwLDE2MDM1OTQ4MDAsMTYxNjg5NjgwMCwxNjM1NjQ5MjAwLDE2NDgzNDY0MDAsMTY2NzA5ODgwMCwxNjc5Nzk2ZTMsMTY5ODU0ODQwMCwxNzExODUwNDAwLDE3Mjk5OThlMywxNzQzM2U1LDE3NjE0NDc2MDAsMTc3NDc0OTYwMCwxNzkyODk3MjAwLDE4MDYxOTkyMDAsMTgyNDk1MTYwMCwxODM3NjQ4ODAwLDE4NTY0MDEyMDAsMTg2OTA5ODQwMCwxODg3ODUwODAwLDE5MDExNTI4MDAsMTkxOTMwMDQwMCwxOTMyNjAyNDAwXSxvZmZzZXQ6WzM0ODQsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDBdfSwiRXVyb3BlL0xvbmRvbiI6ewp0aW1lOlstMzg1MjY2MjQwMCwtMTY5MTk2NGUzLC0xNjgwNDY5MjAwLC0xNjY0MTQzMjAwLC0xNjUwMTQyODAwLC0xNjMzOTAzMjAwLC0xNjE3NDgzNjAwLC0xNjAxODQ4ODAwLC0xNTg2MDM0ZTMsLTE1NzAzOTkyMDAsLTE1NTIxNjUyMDAsLTE1MzgzNDQ4MDAsLTE1MjI1M2U0LC0xNTA3NWU1LC0xNDkwNTYyZTMsLTE0NzM2MzEyMDAsLTE0NjA5MjY4MDAsLTE0NDI3ODY0MDAsLTE0Mjg4NzI0MDAsLTE0MTA3MzJlMywtMTM5NjIxMzIwMCwtMTM3OTI4MjQwMCwtMTM2NDc2MzYwMCwtMTM0ODQzNzYwMCwtMTMzMzMxNGUzLC0xMzE1Nzc4NDAwLC0xMzAxMjU5NjAwLC0xMjg0MzI4ODAwLC0xMjY5ODFlNCwtMTI1MzQ4NGUzLC0xMjM4MzYwNDAwLC0xMjIxNDI5NjAwLC0xMjA2OTEwODAwLC0xMTg5OThlNCwtMTE3NTQ2MTIwMCwtMTE1OTEzNTIwMCwtMTE0MzQwNjgwMCwtMTEyNjQ3NmUzLC0xMTExOTU3MjAwLC0xMDk1NjMxMjAwLC0xMDgwNTA3NjAwLC0xMDYzNTc2ODAwLC0xMDQ5MDU4ZTMsLTEwMzIxMjcyMDAsLTEwMTc2MDg0MDAsLTEwMDEyODI0MDAsLTk4NjE1ODgwMCwtOTY5MjI4ZTMsLTk1MDQ3NTYwMCwtOTQyMDEyZTMsLTkwNDUxNDQwMCwtODk2MDQzNjAwLC04NzU0ODRlMywtODY0NTk0ZTMsLTg0NDAzNDQwMCwtODMyNTM5NjAwLC04MTI1ODQ4MDAsLTc5ODA2NmUzLC03ODEwNDg4MDAsLTc3MjA1OTYwMCwtNzY0ODAyZTMsLTc0ODQ3NmUzLC03MzMzNTI0MDAsLTcxOTQ0NTYwMCwtNzE3MDI2NDAwLC03MDY3NDEyMDAsLTY5OTQ4MzYwMCwtNjg3OTk2ZTMsLTY2ODAzNGUzLC02NTQ3MzJlMywtNjM2NTg0NDAwLC02MjIwNzI4MDAsLTYwNTczOTYwMCwtNTkwNjIzMjAwLC01NzQyOWU0LC01NTg1Njg4MDAsLTU0MjIzNTYwMCwtNTI3MTE5MjAwLC01MTI2MDA0MDAsLTQ5NjI3NDQwMCwtNDgxMTUwODAwLC00NjQyMmU0LC00NDk3MDEyMDAsLTQzMjE2NTYwMCwtNDE3NjQ2ODAwLC00MDEzMjA4MDAsLTM4NjE5NzIwMCwtMzY5MjY2NDAwLC0zNTQ3NDc2MDAsLTMzNzgxNjgwMCwtMzIzMjk4ZTMsLTMwNjk3MmUzLC0yOTE4NDg0MDAsLTI3NjczMmUzLC0yNTc5Nzk2MDAsLTI0NTI4MjQwMCwtMjI2NTNlNCwtMjEzMjI4ZTMsLTE5NTA4MDQwMCwtMTgyMzgzMjAwLC0xNjM2MzA4MDAsLTE1MDkzMzYwMCwtMTMyMTgxMjAwLC0xMTk0ODRlMywtMTAwNzMxNjAwLC04ODAzNDQwMCwtNjg2NzcyMDAsLTU5MDA0ZTMsLTM3MjM4NDAwLDU3NzI2ZTMsNjk4MTg0MDAsODkxNzU2MDAsMTAxMjY4ZTMsMTIwNjI1MjAwLDEzMjcxNzYwMCwxNTIwNzQ4MDAsMTY0MTY3MjAwLDE4MzUyNDQwMCwxOTYyMjE2MDAsMjE0OTc0ZTMsMjI3NjcxMjAwLDI0NjQyMzYwMCwyNTkxMjA4MDAsMjc4NDc4ZTMsMjkwNTcwNDAwLDMwOTkyNzYwMCwzMjIwMmU0LDM0MTM3NzIwMCwzNTQ2NzU2MDAsMzcyODIzMjAwLDM4NjEyNTIwMCw0MDQyNzI4MDAsNDE3NTc0ODAwLDQzNTcyMjQwMCw0NDkwMjQ0MDAsNDY3Nzc2ODAwLDQ4MTA3ODgwMCw0OTkyMjY0MDAsNTEyNTI4NDAwLDUzMDY3NmUzLDU0Mzk3OGUzLDU2MjEyNTYwMCw1NzU0Mjc2MDAsNTkzNTc1MjAwLDYwNjg3NzIwMCw2MjU2Mjk2MDAsNjM4MzI2ODAwLDY1NzA3OTIwMCw2NzAzODEyMDAsNjg4NTI4ODAwLDcwMTgzMDgwMCw3MTk5Nzg0MDAsNzMzMjgwNDAwLDc1MTQyOGUzLDc2NDczZTQsNzgyODc3NjAwLDc5NjE3OTYwMCw4MTQzMjcyMDAsODI4MjM0ZTMsODQ2MzgxNjAwLDg1OTY4MzYwMCw4Nzc4MzEyMDAsODkxMTMzMjAwLDkwOTI4MDgwMCw5MjI1ODI4MDAsOTQxMzM1MjAwLDk1NDAzMjQwMCw5NzI3ODQ4MDAsOTg1NDgyZTMsMTAwNDIzNDQwMCwxMDE3NTM2NDAwLDEwMzU2ODRlMywxMDQ4OTg2ZTMsMTA2NzEzMzYwMCwxMDgwNDM1NjAwLDEwOTkxODhlMywxMTExODg1MjAwLDExMzA2Mzc2MDAsMTE0MzMzNDgwMCwxMTYyMDg3MjAwLDExNzQ3ODQ0MDAsMTE5MzUzNjgwMCwxMjA2ODM4ODAwLDEyMjQ5ODY0MDAsMTIzODI4ODQwMCwxMjU2NDM2ZTMsMTI2OTczOGUzLDEyODg0OTA0MDAsMTMwMTE4NzYwMCwxMzE5OTRlNCwxMzMyNjM3MjAwLDEzNTEzODk2MDAsMTM2NDY5MTYwMCwxMzgyODM5MjAwLDEzOTYxNDEyMDAsMTQxNDI4ODgwMCwxNDI3NTkwODAwLDE0NDU3Mzg0MDAsMTQ1OTA0MDQwMCwxNDc3NzkyODAwLDE0OTA0OWU0LDE1MDkyNDI0MDAsMTUyMTkzOTYwMCwxNTQwNjkyZTMsMTU1Mzk5NGUzLDE1NzIxNDE2MDAsMTU4NTQ0MzYwMCwxNjAzNTkxMjAwLDE2MTY4OTMyMDAsMTYzNTY0NTYwMCwxNjQ4MzQyODAwLDE2NjcwOTUyMDAsMTY3OTc5MjQwMCwxNjk4NTQ0ODAwLDE3MTE4NDY4MDAsMTcyOTk5NDQwMCwxNzQzMjk2NDAwLDE3NjE0NDRlMywxNzc0NzQ2ZTMsMTc5Mjg5MzYwMCwxODA2MTk1NjAwLDE4MjQ5NDhlMywxODM3NjQ1MjAwLDE4NTYzOTc2MDAsMTg2OTA5NDgwMCwxODg3ODQ3MjAwLDE5MDExNDkyMDAsMTkxOTI5NjgwMCwxOTMyNTk4ODAwXSwKb2Zmc2V0OlstNzUsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDBdfSwiRXVyb3BlL0x1eGVtYm91cmciOnt0aW1lOlstMjA2OTcxMmUzLC0xNjkyNDkzMjAwLC0xNjgwNDc2NDAwLC0xNjYyMzM5NjAwLC0xNjUwMTVlNCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTYxMjY1NmUzLC0xNjA0Mjc4ODAwLC0xNTg1NTE1NjAwLC0xNTc0MDM4ODAwLC0xNTUyMjU1MjAwLC0xNTM5OTk3MjAwLC0xNTIwNTQ2NDAwLC0xNTA3NTEwODAwLC0xNDkwNTY5MjAwLC0xNDczNjQyZTMsLTE0NTkxMTZlMywtMTQ0NDAwNjgwMCwtMTQyNzY3ZTQsLTE0MTE4NjZlMywtMTM5NjIyMDQwMCwtMTM3OTI5MzIwMCwtMTM2NDc3MDgwMCwtMTM0ODQ0ODQwMCwtMTMzMzMyMTIwMCwtMTMxNjM5NGUzLC0xMzAxMjY2ODAwLC0xMjg0MzM5NjAwLC0xMjY5ODFlNCwtMTI1MzQ4NGUzLC0xMjM4MzYwNDAwLC0xMjIxNDI5NjAwLC0xMjA2OTEwODAwLC0xMTkxMTg5NjAwLC0xMTc1NDYxMjAwLC0xMTYwMzQ0ODAwLC0xMTQzNDA2ODAwLC0xMTI3Njg1NjAwLC0xMTExOTU3MjAwLC0xMDk2ODQwODAwLC0xMDgwNTA3NjAwLC0xMDYzNTc2ODAwLC0xMDQ5MDU4ZTMsLTEwMzMzMzY4MDAsLTEwMTc2MDg0MDAsLTEwMDI0OTJlMywtOTg2MTU4ODAwLC05NjkyMjhlMywtOTUwNDc1NjAwLC05NDIwMTJlMywtOTM1MTgyODAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTc5Nzk2MDAsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLC03NDU0NTJlMywtNzMzMjY2ZTMsMjI4ODgwODAwLDI0NDAwNDQwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbMTQ3NiwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9NYWRyaWQiOnt0aW1lOlstMjE3NzQ1MzY4NCwtMTYzMTkyNjgwMCwtMTYxNjg4NmUzLC0xNjAxMTY4NDAwLC0xNTg1MzVlNCwtMTQ0MjQ1MTYwMCwtMTQyNzY3ZTQsLTEzNzkyOTMyMDAsLTEzNjQ3NzA4MDAsLTEzNDg0NDg0MDAsLTEzMzMzMjEyMDAsLTEzMTYzOTA0MDAsLTEzMDEyNjY4MDAsLTEyODQzMzk2MDAsLTEyNjk4MTcyMDAsLTEwMjY5NTRlMywtMTAxNzYxNTYwMCwtMTAwMTg5OGUzLC05OTk0Nzg4MDAsLTk4NjA4MzIwMCwtOTU0MTExNjAwLC05NDAyMDg0MDAsLTg3MzA3NTYwMCwtODYyNjE0ZTMsLTg0MjgzNTYwMCwtODI4MzEzMjAwLC04MTEzODZlMywtNzk2ODYzNjAwLC03Nzk5MzY0MDAsLTc2NTQxNGUzLC03NDg0ODY4MDAsLTczMzk2NDQwMCwtNjUyMzIzNjAwLC02MzkwMTA4MDAsMTM1MTI2ZTMsMTUwMjUzMjAwLDE2NjU3NTYwMCwxODE3MDI4MDAsMTk2ODE1NjAwLDIxMjU0NzYwMCwyMjg4N2U0LDI0Mzk5NzIwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbLTg4NCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9NYWx0YSI6e3RpbWU6Wy0yNDAzNDc1MjAwLC0xNjkwNzYxNjAwLC0xNjgwNDhlNCwtMTY2NDc1NTIwMCwtMTY0ODk0NGUzLC0xNjM1MTJlNCwtMTYxNjg4OTYwMCwtMTYwNDI3NTIwMCwtMTU4NTUyNjQwMCwtMTU3MTAxMTIwMCwtMTU1NTI4NjQwMCwtOTMyNDI4ODAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNTg0ODAwLC03OTgwNjZlMywtNzgxMDQ4ODAwLC03NjY3MWU0LC03NTA4OTUyMDAsLTczMzM1MjQwMCwtNzE5NDUyODAwLC03MDE5MWU0LC02ODkyMDU2MDAsLTY3MDQ1MzIwMCwtMTE0MDQ4ZTMsLTEwMzE2MTYwMCwtODE5OTM2MDAsLTcxNzA4NDAwLC01MDU0NGUzLC00MDI1ODgwMCwtMTg0ODk2MDAsLTgyMDQ0MDAsMTI5NmU0LDIzMjQ1MjAwLDQzODA0ODAwLDU0Njk0ODAwLDc1ODU5MjAwLDg2NzQ5MjAwLDEwMjM4NGUzLDExODExMjQwMCwxMzU3MzQ0MDAsMTQ4NTI1MjAwLDE2NzE5MTIwMCwxODA0OTY4MDAsMTk4NjQwODAwLDIxMTk0NjQwMCwyMzAwOTA0MDAsMjQzMzk2ZTMsMjYxNTRlNCwyNzQ4NDU2MDAsMjkyOTg5NjAwLDMwNjI5NTIwMCwzMjMzMTZlMywzMzgzNDk2MDAsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLApvZmZzZXQ6WzM0ODQsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9Nb3Njb3ciOnt0aW1lOlstMjg0MDE0MDgwMCwtMTY4ODI1NmUzLC0xNjU2ODFlNCwtMTY0MTM0MDgwMCwtMTYyNzk1NmUzLC0xNjE4NzAwNDAwLC0xNTk2NDE2NDAwLC0xNTkzODA0NTIxLC0xNTg5ODQ2NDAwLC0xNTQyNDE2NDAwLC0xNTM5NDc4ODAwLC0xNTI1MzA1NjAwLC0xNTIyNzEzNjAwLC0xNDkxMTc3NjAwLC0xMjQ3NTI5NjAwLDM1NDkzMTIwMCwzNzA3NDI0MDAsMzg2NDY3MjAwLDQwMjI3ODQwMCw0MTgwMDMyMDAsNDMzODE0NDAwLDQ0OTYyNTYwMCw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw2OTU3ODY0MDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTQxNDI4ODgwMCwxOTI1MDAyODAwXSxvZmZzZXQ6WzkwMTcsOTAxNyw5MDc5LDEyNjc5LDkwNzksMTYyNzksMTI2NzksMTYyNzksMTQ0MDAsMTA4MDAsMTQ0MDAsMThlMywxNDQwMCwxMDgwMCw3MjAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDEwODAwLDcyMDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDBdfSwiRXVyb3BlL09zbG8iOnsKdGltZTpbLTIzNjY3NTUyMDAsLTE2OTE4ODEyMDAsLTE2ODA1NjY0MDAsLTkyNzUwNzYwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03NjUzMjA0MDAsLTM0MDg0MDgwMCwtMzI0NTA3NjAwLC0zMDg3ODY0MDAsLTI5MzA1OGUzLC0yNzczMzY4MDAsLTI2MTYwODQwMCwtMjQ1ODg3MjAwLC0yMzAxNTg4MDAsLTIxNDQzNzYwMCwtMTk4NzA5MjAwLC0xODI5ODhlMywtMTY2NjU0ODAwLC0xNDc5MDk2MDAsLTEzNTIwNTIwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMjU4MCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9QYXJpcyI6ewp0aW1lOlstMjQ4NjU5MmUzLC0xODU1OTU4NDAwLC0xNjg5ODE0ODAwLC0xNjgwMzkzNjAwLC0xNjY1MzYzNjAwLC0xNjQ4MzM5MjAwLC0xNjM1MTIzNjAwLC0xNjE2ODg5NjAwLC0xNjA0Mjc4ODAwLC0xNTg1NDRlNCwtMTU3NDAzODgwMCwtMTU1MjI2MjQwMCwtMTUzOTk5NzIwMCwtMTUyMDU1MzYwMCwtMTUwNzUxMDgwMCwtMTQ5MDU3MjgwMCwtMTQ3MDYxOGUzLC0xNDU5MTIzMjAwLC0xNDQ0MDA2ODAwLC0xNDI3NjczNjAwLC0xNDExOTUyNDAwLC0xMzk2MjI0ZTMsLTEzNzkyOTMyMDAsLTEzNjQ3NzQ0MDAsLTEzNDg0NDg0MDAsLTEzMzMzMjQ4MDAsLTEzMTYzOTRlMywtMTMwMTI3MDQwMCwtMTI4NDMzOTYwMCwtMTI2OTgyMDgwMCwtMTI1MzQ5NDgwMCwtMTIzODM3MTIwMCwtMTIyMTQ0MDQwMCwtMTIwNjkyMTYwMCwtMTE5MTIwMDQwMCwtMTE3NTQ3MmUzLC0xMTYwMzU1NjAwLC0xMTQzNDE3NjAwLC0xMTI3Njk2NDAwLC0xMTExOTY4ZTMsLTEwOTY4NTE2MDAsLTEwODA1MTg0MDAsLTEwNjM1ODc2MDAsLTEwNDkwNjg4MDAsLTEwMzMzNDc2MDAsLTEwMTc2MTkyMDAsLTEwMDI1MDI4MDAsLTk4NjE2OTYwMCwtOTY5MjM4ODAwLC05NTA0ODY0MDAsLTk0MjAxMmUzLC05MzI0MzI0MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTgwMDA2NGUzLC03OTYyNTg4MDAsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLDE5NjgyMjgwMCwyMTI1NDc2MDAsMjI4ODgwODAwLDI0NDAwNDQwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0Ols1NjEsNTYxLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDBdfSwiRXVyb3BlL1ByYWd1ZSI6ewp0aW1lOlstMzc4NjgyNTYwMCwtMjQ2OTM5ODQwMCwtMTY5MzcwMjgwMCwtMTY4MDQ3NjQwMCwtMTY2MzQ1MmUzLC0xNjUwMTQyODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC05Mzg5MDE2MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc4MTA0ODgwMCwtNzY1MzIwNDAwLC03NDY1NzUyMDAsLTczMzM1MjQwMCwtNzI4NTE0ZTMsLTcyMTI2ZTQsLTcxNjQyMTYwMCwtNzAxOTAyODAwLC02ODQ5NzJlMywtNjcwNDUzMjAwLC02NTQyMTM2MDAsLTYzOTAwMzYwMCwyOTE3OGU0LDMwNzUwODQwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMzQ2NCwzNDY0LDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCwwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9SaWdhIjp7CnRpbWU6Wy0yODQwMTQwODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC0xNjAxNjc2ZTMsLTE1OTcyNjZlMywtMTM3NzMwMjQwMCwtOTI4MDIyNDAwLC04OTk1MTA0MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc5NTgzMDQwMCwzNTQ5MzEyMDAsMzcwNzQyNDAwLDM4NjQ2NzIwMCw0MDIyNzg0MDAsNDE4MDAzMjAwLDQzMzgxNDQwMCw0NDk2MjU2MDAsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0Mzk2NmUzLDg1OTY5MDgwMCw4Nzc4Mzg0MDAsODkxMTQwNDAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDk4NTQ4OTIwMCwxMDA0MjQxNjAwLDEwMTc1NDM2MDAsMTAzNTY5MTIwMCwxMDQ4OTkzMjAwLDEwNjcxNDA4MDAsMTA4MDQ0MjgwMCwxMDk5MTk1MjAwLDExMTE4OTI0MDAsMTEzMDY0NDgwMCwxMTQzMzQyZTMsMTE2MjA5NDQwMCwxMTc0NzkxNjAwLDExOTM1NDRlMywxMjA2ODQ2ZTMsMTIyNDk5MzYwMCwxMjM4Mjk1NjAwLDEyNTY0NDMyMDAsMTI2OTc0NTIwMCwxMjg4NDk3NjAwLDEzMDExOTQ4MDAsMTMxOTk0NzIwMCwxMzMyNjQ0NDAwLDEzNTEzOTY4MDAsMTM2NDY5ODgwMCwxMzgyODQ2NDAwLDEzOTYxNDg0MDAsMTQxNDI5NmUzLDE0Mjc1OThlMywxNDQ1NzQ1NjAwLDE0NTkwNDc2MDAsMTQ3NzhlNSwxNDkwNDk3MjAwLDE1MDkyNDk2MDAsMTUyMTk0NjgwMCwxNTQwNjk5MjAwLDE1NTQwMDEyMDAsMTU3MjE0ODgwMCwxNTg1NDUwODAwLDE2MDM1OTg0MDAsMTYxNjkwMDQwMCwxNjM1NjUyODAwLDE2NDgzNWU0LDE2NjcxMDI0MDAsMTY3OTc5OTYwMCwxNjk4NTUyZTMsMTcxMTg1NGUzLDE3MzAwMDE2MDAsMTc0MzMwMzYwMCwxNzYxNDUxMjAwLDE3NzQ3NTMyMDAsMTc5MjkwMDgwMCwxODA2MjAyODAwLDE4MjQ5NTUyMDAsMTgzNzY1MjQwMCwxODU2NDA0ODAwLDE4NjkxMDJlMywxODg3ODU0NDAwLDE5MDExNTY0MDAsMTkxOTMwNGUzLDE5MzI2MDZlM10sb2Zmc2V0Ols1Nzk0LDU3OTQsOTM5NCw1Nzk0LDkzOTQsNTc5NCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJFdXJvcGUvUm9tZSI6ewp0aW1lOlstMzI1MjA5NmUzLC0yNDAzNTYyMjA0LC0xNjkwNzYxNjAwLC0xNjgwNDhlNCwtMTY2NDc1NTIwMCwtMTY0ODk0NGUzLC0xNjM1MTJlNCwtMTYxNjg4OTYwMCwtMTYwNDI3NTIwMCwtMTU4NTUyNjQwMCwtMTU3MTAxMTIwMCwtMTU1NTI4NjQwMCwtOTMyNDI4ODAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTgwNjZlMywtNzgxMDQ4ODAwLC03NjY3MWU0LC03NTA4OTUyMDAsLTczMzM1MjQwMCwtNzE5NDUyODAwLC03MDE5MWU0LC02ODkyMDU2MDAsLTY3MDQ1MzIwMCwtMTE0MDQ4ZTMsLTEwMzE2MTYwMCwtODE5OTM2MDAsLTcxNzA4NDAwLC01MDU0NGUzLC00MDI1ODgwMCwtMTg0ODk2MDAsLTgyMDQ0MDAsMTI5NmU0LDIzMjQ1MjAwLDQzODA0ODAwLDU0Njk0ODAwLDc1ODU5MjAwLDg2NzQ5MjAwLDEwNzkxMzYwMCwxMTgxOTg4MDAsMTM4NzU4NDAwLDE0OTY0ODQwMCwxNzA4MTI4MDAsMTgxMDk4ZTMsMjAyMjYyNDAwLDIxMjU0NzYwMCwyMzMxMDcyMDAsMjQzOTk3MjAwLDI2NTE2MTYwMCwyNzYwNTE2MDAsMjk2NjExMjAwLDMwNzUwMTIwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMjk5NiwyOTk2LDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvU29maWEiOnsKdGltZTpbLTI4NDAxNDA4MDAsLTIzNjk1MmU0LC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTY3N2U0LC03ODEwNDUyMDAsMjkxNzY5MjAwLDMwNzU4NzYwMCwzMjM4MjM2MDAsMzM5MDM3MjAwLDM1NTI3MzIwMCwzNzA0MDRlMywzODY3MjI4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM3NzYwMCw2ODYxMDI0MDAsNzAxODI3MjAwLDcxNzU1MmUzLDczMzI3NjgwMCw3NDkwMDE2MDAsNzY0NzI2NDAwLDc4MDQ1MTIwMCw3OTYxNzZlMyw4MTE5MDA4MDAsODI4MjMwNDAwLDg0NjM3NDQwMCw4NTk2OTA4MDAsODc3ODM4NDAwLDg5MTE0MDQwMCw5MDkyODhlMyw5MjI1OWU0LDk0MTM0MjQwMCw5NTQwMzk2MDAsOTcyNzkyZTMsOTg1NDg5MjAwLDEwMDQyNDE2MDAsMTAxNzU0MzYwMCwxMDM1NjkxMjAwLDEwNDg5OTMyMDAsMTA2NzE0MDgwMCwxMDgwNDQyODAwLDEwOTkxOTUyMDAsMTExMTg5MjQwMCwxMTMwNjQ0ODAwLDExNDMzNDJlMywxMTYyMDk0NDAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTE5NDgwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjE0ODQwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDU3NDU2MDAsMTQ1OTA0NzYwMCwxNDc3OGU1LDE0OTA0OTcyMDAsMTUwOTI0OTYwMCwxNTIxOTQ2ODAwLDE1NDA2OTkyMDAsMTU1NDAwMTIwMCwxNTcyMTQ4ODAwLDE1ODU0NTA4MDAsMTYwMzU5ODQwMCwxNjE2OTAwNDAwLDE2MzU2NTI4MDAsMTY0ODM1ZTQsMTY2NzEwMjQwMCwxNjc5Nzk5NjAwLDE2OTg1NTJlMywxNzExODU0ZTMsMTczMDAwMTYwMCwxNzQzMzAzNjAwLDE3NjE0NTEyMDAsMTc3NDc1MzIwMCwxNzkyOTAwODAwLDE4MDYyMDI4MDAsMTgyNDk1NTIwMCwxODM3NjUyNDAwLDE4NTY0MDQ4MDAsMTg2OTEwMmUzLDE4ODc4NTQ0MDAsMTkwMTE1NjQwMCwxOTE5MzA0ZTMsMTkzMjYwNmUzXSxvZmZzZXQ6WzU1OTYsNzAxNiw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL1N0b2NraG9sbSI6e3RpbWU6Wy0yODcxNjc2ODAwLC0yMjA4OTg4ODAwLC0xNjkyNDkzMjAwLC0xNjgwNDc2NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbNDMzMiwzNjE0LDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9UYWxsaW5uIjp7dGltZTpbLTI4NDAxNDA4MDAsLTE2MzgzMTY4MDAsLTE2MzIwMDI0MDAsLTE2MTg2OTMyMDAsLTE1OTM4MjA4MDAsLTE1MzU5MzI4MDAsLTkyNzkzNmUzLC04OTI5NDRlMywtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk3NjQ0ODAwLDM1NDkzMTIwMCwzNzA3NDI0MDAsMzg2NDY3MjAwLDQwMjI3ODQwMCw0MTgwMDMyMDAsNDMzODE0NDAwLDQ0OTYyNTYwMCw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDEwMTc1NDM2MDAsMTAzNTY5MTIwMCwxMDQ4OTkzMjAwLDEwNjcxNDA4MDAsMTA4MDQ0MjgwMCwxMDk5MTk1MjAwLDExMTE4OTI0MDAsMTEzMDY0NDgwMCwxMTQzMzQyZTMsMTE2MjA5NDQwMCwxMTc0NzkxNjAwLDExOTM1NDRlMywxMjA2ODQ2ZTMsMTIyNDk5MzYwMCwxMjM4Mjk1NjAwLDEyNTY0NDMyMDAsMTI2OTc0NTIwMCwxMjg4NDk3NjAwLDEzMDExOTQ4MDAsMTMxOTk0NzIwMCwxMzMyNjQ0NDAwLDEzNTEzOTY4MDAsMTM2NDY5ODgwMCwxMzgyODQ2NDAwLDEzOTYxNDg0MDAsMTQxNDI5NmUzLDE0Mjc1OThlMywxNDQ1NzQ1NjAwLDE0NTkwNDc2MDAsMTQ3NzhlNSwxNDkwNDk3MjAwLDE1MDkyNDk2MDAsMTUyMTk0NjgwMCwxNTQwNjk5MjAwLDE1NTQwMDEyMDAsMTU3MjE0ODgwMCwxNTg1NDUwODAwLDE2MDM1OTg0MDAsMTYxNjkwMDQwMCwxNjM1NjUyODAwLDE2NDgzNWU0LDE2NjcxMDI0MDAsMTY3OTc5OTYwMCwxNjk4NTUyZTMsMTcxMTg1NGUzLDE3MzAwMDE2MDAsMTc0MzMwMzYwMCwxNzYxNDUxMjAwLDE3NzQ3NTMyMDAsMTc5MjkwMDgwMCwxODA2MjAyODAwLDE4MjQ5NTUyMDAsMTgzNzY1MjQwMCwxODU2NDA0ODAwLDE4NjkxMDJlMywxODg3ODU0NDAwLDE5MDExNTY0MDAsMTkxOTMwNGUzLDE5MzI2MDZlM10sb2Zmc2V0Ols1OTQwLDU5NDAsMzYwMCw3MjAwLDM2MDAsNTk0MCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwXX0sIkV1cm9wZS9WaWVubmEiOnsKdGltZTpbLTI0MjIwNTEyMDAsLTE2OTM3MDI4MDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTU2OTcwOGUzLC0xNTU1Nzk0ZTMsLTkzODkwMTYwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03ODAxODEyMDAsLTc0ODQ3NmUzLC03MzMyNjZlMywtNzE3NjMxMjAwLC03MDE5MDI4MDAsLTY4NDk3MmUzLC02NzA0NTMyMDAsMzIzODI3MjAwLDMzODk0NzIwMCwzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0OlszOTIxLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvVmlsbml1cyI6ewp0aW1lOlstMjg0MDE0MDgwMCwtMTY3MjUzMTIwMCwtMTU4NTA5NDQwMCwtMTU2MTI0OGUzLC0xNTUzNTU4NDAwLC05MjgxOTUyMDAsLTkwMDExNTIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtODAyMTM3NjAwLDM1NDkzMTIwMCwzNzA3NDI0MDAsMzg2NDY3MjAwLDQwMjI3ODQwMCw0MTgwMDMyMDAsNDMzODE0NDAwLDQ0OTYyNTYwMCw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTQwNDAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDEwNDg5OTMyMDAsMTA2NzE0MDgwMCwxMDgwNDQyODAwLDEwOTkxOTUyMDAsMTExMTg5MjQwMCwxMTMwNjQ0ODAwLDExNDMzNDJlMywxMTYyMDk0NDAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTE5NDgwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjE0ODQwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDU3NDU2MDAsMTQ1OTA0NzYwMCwxNDc3OGU1LDE0OTA0OTcyMDAsMTUwOTI0OTYwMCwxNTIxOTQ2ODAwLDE1NDA2OTkyMDAsMTU1NDAwMTIwMCwxNTcyMTQ4ODAwLDE1ODU0NTA4MDAsMTYwMzU5ODQwMCwxNjE2OTAwNDAwLDE2MzU2NTI4MDAsMTY0ODM1ZTQsMTY2NzEwMjQwMCwxNjc5Nzk5NjAwLDE2OTg1NTJlMywxNzExODU0ZTMsMTczMDAwMTYwMCwxNzQzMzAzNjAwLDE3NjE0NTEyMDAsMTc3NDc1MzIwMCwxNzkyOTAwODAwLDE4MDYyMDI4MDAsMTgyNDk1NTIwMCwxODM3NjUyNDAwLDE4NTY0MDQ4MDAsMTg2OTEwMmUzLDE4ODc4NTQ0MDAsMTkwMTE1NjQwMCwxOTE5MzA0ZTMsMTkzMjYwNmUzXSxvZmZzZXQ6WzYwNzYsNTA0MCw1NzM2LDM2MDAsNzIwMCwzNjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCw3MjAwLDM2MDAsNzIwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL1dhcnNhdyI6ewp0aW1lOlstMjg0MDE0MDgwMCwtMTcxNzAyNzIwMCwtMTY5MzcwMjgwMCwtMTY4MDQ3NjQwMCwtMTY2MzQ1MmUzLC0xNjUwMTQyODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC0xNjAwNDY2NDAwLC0xNTg3MTU3MjAwLC0xNTAxNzE4NDAwLC05MzE3MzA0MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5NjYwMDgwMCwtNzc4NzIzMjAwLC03NjI2NTI4MDAsLTc0ODQ4MzIwMCwtNzMzMjY2ZTMsLTcxNTIxMmUzLC03MDE5MDI4MDAsLTY4NDk3MmUzLC02NzA0NTMyMDAsLTY1NDEyNzIwMCwtNjM5MDAzNjAwLC0zOTcwOTA4MDAsLTM4NjgwNTYwMCwtMzcxMDg0NDAwLC0zNTUzNTZlMywtMzM0MTkxNjAwLC0zMjMzMDE2MDAsLTMwNzU4MDQwMCwtMjkxODUyZTMsLTI3MTI5MjQwMCwtMjYwNDAyNDAwLC0yMzk4NDI4MDAsLTIyODk1MjgwMCwtMjA4MzkzMjAwLC0xOTc1MDMyMDAsLTE3NjMzODgwMCwtMTY2MDUzNjAwLDIyODg3NzIwMCwyNDQwMDA4MDAsMjYwMzI2ODAwLDI3NjA1NTIwMCwyOTE3NzY0MDAsMzA3NTA0ODAwLDMyMzgzMDgwMCwzMzg5NTQ0MDAsMzU0Njc1NjAwLDM3MDQwNGUzLDM4NjEyNTIwMCw0MDE4NTM2MDAsNDE3NTc0ODAwLDQzMzMwMzIwMCw0NDkwMjQ0MDAsNDY1MzU3NjAwLDQ4MTA3ODgwMCw0OTY4MDcyMDAsNTEyNTI4NDAwLDUyODI1NjgwMCw1NDM5NzhlMyw1NTk3MDY0MDAsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0Ols1MDQwLDUwNDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsNzIwMCwxMDgwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9aYWdyZWIiOnsKdGltZTpbLTI3MTM5MTA0MDAsLTkwNTgyMTIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03NjY2MTY0MDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0OlszODMyLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9adXJpY2giOnt0aW1lOlstMzY3NTE5NjgwMCwtMjM4NTI0NDgwMCwtOTA0NDMxNjAwLC04OTExMjI0MDAsLTg3Mjk4MmUzLC04NTk2NzI4MDAsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLApvZmZzZXQ6WzIwNDgsMTc4NiwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJQYWNpZmljL0F1Y2tsYW5kIjp7dGltZTpbLTMxOTIzOTM2MDAsLTEzMzAyOTM2MDAsLTEzMjAwMTJlMywtMTMwMDY1ODQwMCwtMTI4NzM1MjgwMCwtMTI2OTIwODgwMCwtMTI1NTkwMzIwMCwtMTIzNzc1OTIwMCwtMTIyNDQ1MzYwMCwtMTIwNjMwOTYwMCwtMTE5MjM5OTIwMCwtMTE3NDg2ZTQsLTExNjA5NDk2MDAsLTExNDM0MTA0MDAsLTExMjU4NzEyMDAsLTExMTI1NjU2MDAsLTEwOTQ0MjE2MDAsLTEwODExMTZlMywtMTA2Mjk3MmUzLC0xMDQ5NjY2NDAwLC0xMDMxNTIyNDAwLC0xMDE4MjE2ODAwLC0xMDAwMDcyODAwLC05ODY3NjcyMDAsLTk2ODAxODQwMCwtOTU1MzE3NjAwLC05MzY1Njg4MDAsLTkyMzI2MzIwMCwtNzU3MzgyNDAwLDE1MjY3NmUzLDE2MjM1NjQwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NDMxOGUzLDQwNDg3NzYwMCw0MTU3Njc2MDAsNDM2MzI3MjAwLDQ0NzIxNzIwMCw0Njc3NzY4MDAsNDc4NjY2ODAwLDQ5OTIyNjQwMCw1MTAxMTY0MDAsNTMwNjc2ZTMsNTQxNTY2ZTMsNTYyMTI1NjAwLDU3MzYyMDQwMCw1OTQxOGU0LDYwNTA3ZTQsNjIzODE1MjAwLDYzNzcyOTIwMCw2NTUyNjQ4MDAsNjY5MTc4ODAwLDY4NjcxNDQwMCw3MDA2Mjg0MDAsNzE4MTY0ZTMsNzMyNjgyODAwLDc0OTYxMzYwMCw3NjQxMzI0MDAsNzgxMDYzMjAwLDc5NTU4MmUzLDgxMjUxMjgwMCw4MjcwMzE2MDAsODQ0NTY3MjAwLDg1ODQ4MTIwMCw4NzYwMTY4MDAsODg5OTMwODAwLDkwNzQ2NjQwMCw5MjE5ODUyMDAsOTM4OTE2ZTMsOTUzNDM0ODAwLDk3MDM2NTYwMCw5ODQ4ODQ0MDAsMTAwMjQyZTQsMTAxNjMzNGUzLDEwMzM4Njk2MDAsMTA0Nzc4MzYwMCwxMDY1MzE5MjAwLDEwNzk4MzhlMywxMDk2NzY4ODAwLDExMTEyODc2MDAsMTEyODIxODQwMCwxMTQyNzM3MjAwLDExNTk2NjhlMywxMTc0MTg2ODAwLDExOTExMTc2MDAsMTIwNzQ1MDgwMCwxMjIyNTY3MjAwLDEyMzg5MDA0MDAsMTI1NDAxNjgwMCwxMjcwMzVlNCwxMjg1NDY2NDAwLDEzMDE3OTk2MDAsMTMxNjkxNmUzLDEzMzMyNDkyMDAsMTM0ODk3MDQwMCwxMzY1MzAzNjAwLDEzODA0MmU0LDEzOTY3NTMyMDAsMTQxMTg2OTYwMCwxNDI4MjAyODAwLDE0NDMzMTkyMDAsMTQ1OTY1MjQwMCwxNDc0NzY4ODAwLDE0OTExMDJlMywxNTA2MjE4NDAwLDE1MjI1NTE2MDAsMTUzODI3MjgwMCwxNTU0NjA2ZTMsMTU2OTcyMjQwMCwxNTg2MDU1NjAwLDE2MDExNzJlMywxNjE3NTA1MjAwLDE2MzI2MjE2MDAsMTY0ODk1NDgwMCwxNjY0MDcxMjAwLDE2ODA0MDQ0MDAsMTY5NTUyMDgwMCwxNzEyNDU4ODAwLDE3Mjc1NzUyMDAsMTc0MzkwODQwMCwxNzU5MDI0ODAwLDE3NzUzNThlMywxNzkwNDc0NDAwLDE4MDY4MDc2MDAsMTgyMTkyNGUzLDE4MzgyNTcyMDAsMTg1MzM3MzYwMCwxODY5NzA2ODAwLDE4ODU0MjhlMywxOTAxNzYxMjAwLDE5MTY4Nzc2MDAsMTkzMzIxMDgwMF0sb2Zmc2V0Ols0MTk0NCw0MTQwMCw0NWUzLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwXX0sIlBhY2lmaWMvQ2hhdGhhbSI6ewp0aW1lOlstMzE5MjM5MzYwMCwtNzU3MzgyNDAwLDE1MjY3ODcwMCwxNjIzNTkxMDAsMTgzNTIzNTAwLDE5NTAxODMwMCwyMTU1Nzc5MDAsMjI2NDY3OTAwLDI0NzAyNzUwMCwyNTc5MTc1MDAsMjc4NDc3MTAwLDI4OTM2NzEwMCwzMDk5MjY3MDAsMzIwODE2NzAwLDM0MTM3NjMwMCwzNTIyNjYzMDAsMzcyODI1OTAwLDM4NDMyMDcwMCw0MDQ4ODAzMDAsNDE1NzcwMzAwLDQzNjMyOTkwMCw0NDcyMTk5MDAsNDY3Nzc5NTAwLDQ3ODY2OTUwMCw0OTkyMjkxMDAsNTEwMTE5MTAwLDUzMDY3ODcwMCw1NDE1Njg3MDAsNTYyMTI4MzAwLDU3MzYyMzEwMCw1OTQxODI3MDAsNjA1MDcyNzAwLDYyMzgxNzkwMCw2Mzc3MzE5MDAsNjU1MjY3NTAwLDY2OTE4MTUwMCw2ODY3MTcxMDAsNzAwNjMxMTAwLDcxODE2NjcwMCw3MzI2ODU1MDAsNzQ5NjE2MzAwLDc2NDEzNTEwMCw3ODEwNjU5MDAsNzk1NTg0NzAwLDgxMjUxNTUwMCw4MjcwMzQzMDAsODQ0NTY5OTAwLDg1ODQ4MzkwMCw4NzYwMTk1MDAsODg5OTMzNTAwLDkwNzQ2OTEwMCw5MjE5ODc5MDAsOTM4OTE4NzAwLDk1MzQzNzUwMCw5NzAzNjgzMDAsOTg0ODg3MTAwLDEwMDI0MjI3MDAsMTAxNjMzNjcwMCwxMDMzODcyMzAwLDEwNDc3ODYzMDAsMTA2NTMyMTkwMCwxMDc5ODQwNzAwLDEwOTY3NzE1MDAsMTExMTI5MDMwMCwxMTI4MjIxMTAwLDExNDI3Mzk5MDAsMTE1OTY3MDcwMCwxMTc0MTg5NTAwLDExOTExMjAzMDAsMTIwNzQ1MzUwMCwxMjIyNTY5OTAwLDEyMzg5MDMxMDAsMTI1NDAxOTUwMCwxMjcwMzUyNzAwLDEyODU0NjkxMDAsMTMwMTgwMjMwMCwxMzE2OTE4NzAwLDEzMzMyNTE5MDAsMTM0ODk3MzEwMCwxMzY1MzA2MzAwLDEzODA0MjI3MDAsMTM5Njc1NTkwMCwxNDExODcyMzAwLDE0MjgyMDU1MDAsMTQ0MzMyMTkwMCwxNDU5NjU1MTAwLDE0NzQ3NzE1MDAsMTQ5MTEwNDcwMCwxNTA2MjIxMTAwLDE1MjI1NTQzMDAsMTUzODI3NTUwMCwxNTU0NjA4NzAwLDE1Njk3MjUxMDAsMTU4NjA1ODMwMCwxNjAxMTc0NzAwLDE2MTc1MDc5MDAsMTYzMjYyNDMwMCwxNjQ4OTU3NTAwLDE2NjQwNzM5MDAsMTY4MDQwNzEwMCwxNjk1NTIzNTAwLDE3MTI0NjE1MDAsMTcyNzU3NzkwMCwxNzQzOTExMTAwLDE3NTkwMjc1MDAsMTc3NTM2MDcwMCwxNzkwNDc3MTAwLDE4MDY4MTAzMDAsMTgyMTkyNjcwMCwxODM4MjU5OTAwLDE4NTMzNzYzMDAsMTg2OTcwOTUwMCwxODg1NDMwNzAwLDE5MDE3NjM5MDAsMTkxNjg4MDMwMCwxOTMzMjEzNTAwXSxvZmZzZXQ6WzQ0MDI4LDQ0MTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwXX0sIlBhY2lmaWMvRmFrYW9mbyI6e3RpbWU6Wy0yMTc3NDUyODAwLDEzMjUyMDMyMDAsMTkyNTAzODgwMF0sb2Zmc2V0OlstNDEwOTYsLTM5NjAwLDQ2ODAwXX0sIlBhY2lmaWMvSG9ub2x1bHUiOnt0aW1lOlstMjMzNDEzOTIwMCwtMTE1NzMyMDgwMCwtMTE1NTQ3MDQwMCwtODgwMjM2ZTMsLTc2OTQyOTgwMCwtNzY1NDEwNDAwLC03MTIxODhlMywxOTI0OTU2ZTNdLG9mZnNldDpbLTM3ODg2LC0zNzgwMCwtMzQyMDAsLTM3ODAwLC0zNDIwMCwtMzQyMDAsLTM3ODAwLC0zNmUzXX0sIlBhY2lmaWMvTm9yZm9sayI6e3RpbWU6Wy0yMTc3NDUyODAwLC01OTk2MTZlMywxNTIwNzEyMDAsMTYyOTYxMjAwLDE0NDM5MjRlMywxNTcwMzI3MjAwLDE1ODYwNTU2MDAsMTYwMTc3NjgwMCwxNjE3NTA1MjAwLDE2MzMyMjY0MDAsMTY0ODk1NDgwMCwxNjY0Njc2ZTMsMTY4MDQwNDQwMCwxNjk2MTI1NjAwLDE3MTI0NTg4MDAsMTcyODE4ZTQsMTc0MzkwODQwMCwxNzU5NjI5NjAwLDE3NzUzNThlMywxNzkxMDc5MjAwLDE4MDY4MDc2MDAsMTgyMjUyODgwMCwxODM4MjU3MjAwLDE4NTM5Nzg0MDAsMTg2OTcwNjgwMCwxODg2MDMyODAwLDE5MDE3NjEyMDAsMTkxNzQ4MjQwMCwxOTMzMjEwODAwXSxvZmZzZXQ6WzQwMzEyLDQwMzIwLDQxNDAwLDQ1ZTMsNDE0MDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDBdfSwiVVMvTW91bnRhaW4iOnsKdGltZTpbLTI3MTc2Njg3OTYsLTE2MzMyOTg0MDAsLTE2MTUxNTQ0MDAsLTE2MDE4NDg4MDAsLTE1ODM3MDQ4MDAsLTE1NzAzOTkyMDAsLTE1NTE2NTA0MDAsLTE1Mzg5NDk2MDAsLTE1MzQxMTEyMDAsLTg4MDIzNmUzLC03Njk0MTcyMDAsLTc2NTQxMDQwMCwtMTQ3OTA5NjAwLC0xMzE1OGU0LC0xMTY0NmU0LC0xMDAxMzA0MDAsLTg0NDA1NjAwLC02ODY4MDgwMCwtNTI5NTZlMywtMzcyMzEyMDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sb2Zmc2V0OlstMjUxOTYsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDBdfX19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/46907.c5af8aa7b5082b1875a5.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.169Z","timestamp":1785120634169,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/46907.c5af8aa7b5082b1875a5.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-6bc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9c8da02472dd05ca630d7199dbc43ff7\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1724,"size_decoded":1396,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1724), with no line terminators","md5":"8212d60d44748bb18233778e23b8f7b2","sha1":"35debdd9067ec06aa3648e5d7a9cddde39873397","sha256":"cc31664050fc2b670129f7e7d1a11bda8d20efa47a713598bbb96d4da6e297ba","sha512":"3f0235fe9fb761707020a01990077cf65fd4d774216e7d49fe218ea8e4ffa73a0d3d662536e662eb978f3d790446e7ee75ab139468bc6a0371653a48512aa994","ssdeep":"","tlshash":"d931cc75936ad2387a770b376241558a3199f64773730239e680bda881e16ba3b333c4","first_seen":"2026-07-16T11:36:17.893966Z","last_seen":"2026-07-27T05:15:36.977022Z","times_seen":1161,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtQUVROTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLUFFUTk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LndyYXBwZXItaGN0MnlKdkt7Y29sb3I6dmFyKC0tXzAtQUVROSl9LmFuaW1hdGVkLWhjdDJ5SnZLe2FuaW1hdGlvbjoxcyBlYXNlLWluLW91dCAwcyBpbmZpbml0ZSBhbHRlcm5hdGUgbm9uZSBydW5uaW5nO2FuaW1hdGlvbi1uYW1lOnB1bHNhdGlvbi1oY3QyeUp2S31Aa2V5ZnJhbWVzIHB1bHNhdGlvbi1oY3QyeUp2S3swJXtvcGFjaXR5OjF9dG97b3BhY2l0eTouNH19W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtX19ycTp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMS1fX3JxOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtX19ycTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLV8xLV9fcnE6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LmxvZ28tVkNOS3ViV3F7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ubG9nby1WQ05LdWJXcTpub3QoaW1nKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xLV9fcnEpfS5oaWRkZW4tVkNOS3ViV3F7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlfS54eGNlcHRpb25hbGx5c21hbGxkb25vdHVzZWJydjEwMjMtVkNOS3ViV3F7Zm9udC1zaXplOjEwcHg7aGVpZ2h0OjEycHg7bGluZS1oZWlnaHQ6MTBweDttaW4td2lkdGg6MTJweDt3aWR0aDoxMnB4fS54eHhzbWFsbC1WQ05LdWJXcXtmb250LXNpemU6MTFweDtoZWlnaHQ6MThweDtsaW5lLWhlaWdodDoxNnB4O21pbi13aWR0aDoxOHB4O3dpZHRoOjE4cHh9Lnh4c21hbGwtVkNOS3ViV3F7Zm9udC1zaXplOjExcHg7aGVpZ2h0OjIwcHg7bGluZS1oZWlnaHQ6MTZweDttaW4td2lkdGg6MjBweDt3aWR0aDoyMHB4fS54c21hbGwtVkNOS3ViV3F7Zm9udC1zaXplOjExcHg7aGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6MTZweDttaW4td2lkdGg6MjRweDt3aWR0aDoyNHB4fS5zbWFsbC1WQ05LdWJXcXtmb250LXNpemU6MTRweDtoZWlnaHQ6MjhweDtsaW5lLWhlaWdodDoxNnB4O21pbi13aWR0aDoyOHB4O3dpZHRoOjI4cHh9Lm1lZGl1bS1WQ05LdWJXcXtmb250LXNpemU6MTZweDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDoxNnB4O21pbi13aWR0aDozNnB4O3dpZHRoOjM2cHh9LmxhcmdlLVZDTkt1Yldxe2ZvbnQtc2l6ZToyNHB4O2hlaWdodDo0OHB4O2xpbmUtaGVpZ2h0OjMycHg7bWluLXdpZHRoOjQ4cHg7d2lkdGg6NDhweH0ueGxhcmdlLVZDTkt1Yldxe2ZvbnQtc2l6ZTo0MHB4O2hlaWdodDo1NnB4O2xpbmUtaGVpZ2h0OjQwcHg7bWluLXdpZHRoOjU2cHg7d2lkdGg6NTZweH0ueHhsYXJnZS1WQ05LdWJXcXtmb250LXNpemU6ODBweDtoZWlnaHQ6MTEycHg7bGluZS1oZWlnaHQ6ODBweDttaW4td2lkdGg6MTEycHg7d2lkdGg6MTEycHh9Lnh4eGxhcmdlLVZDTkt1Yldxe2ZvbnQtc2l6ZToxNjBweDtoZWlnaHQ6MTY4cHg7bGluZS1oZWlnaHQ6MTYwcHg7bWluLXdpZHRoOjE2OHB4O3dpZHRoOjE2OHB4fS5za2VsZXRvbi1WQ05LdWJXcXtiYWNrZ3JvdW5kLWNvbG9yOmN1cnJlbnRDb2xvcn0ubGV0dGVyLVZDTkt1Yldxe2NvbG9yOnZhcigtLV8wLV9fcnEpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjcwMH0="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-sheriff.tradingview-widget.com/sheriff/api/v1/rules/search?origin=https%3A%2F%2F247optiontradefx.com","fqdn":"widget-sheriff.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.771Z","timestamp":1785120634771,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /sheriff/api/v1/rules/search?origin=https%3A%2F%2F247optiontradefx.com HTTP/1.1\r\nHost: widget-sheriff.tradingview-widget.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://www.tradingview-widget.com/\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"www.tradingview-widget.com/static/bundles/embed/75217.8bfd234354863130e2e0.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.851Z","timestamp":1785120634851,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/75217.8bfd234354863130e2e0.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"247optiontradefx.com/img/map_bg.png","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.451Z","timestamp":1785120633451,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /img/map_bg.png HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/css/style.css\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: image/png\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-366b8\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":222904,"size_decoded":220885,"mime_type":"image/png","magic":"PNG image data, 1324 x 670, 8-bit/color RGBA, non-interlaced","md5":"1804eb23e6e8d39d1a16ca19dabcfd55","sha1":"7aa2cc7619aff587050dff45987784a5036f6302","sha256":"b6ecdef423590d9e75133d1dfd06c2686a963a79d33c5e4d25dc75023586c662","sha512":"5ef5c262207b49ceb00efabbdde045e62cbc605f5ecb104171482b16023c4d880c4dbad085d02f38216642d80e161defd59f62d88ebf29cf8ff4175d9441a40d","ssdeep":"6144:AOD3auL/OtPHe/KGspo/94GOdCCV0Yg6N/G:5D3auMHe/KzpC4LCCPo","tlshash":"db2422be09edbc44c21c637c21cb235745668e492dadd9fbf974e46c90380d0ade89b6","first_seen":"2026-07-27T02:45:25.244662Z","last_seen":"2026-07-27T02:59:54.49267Z","times_seen":4,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAABSwAAAKeCAYAAACvTlUUAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA8RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wUmlnaHRzPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvcmlnaHRzLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcFJpZ2h0czpNYXJrZWQ9IkZhbHNlIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InV1aWQ6MEMzMUQxMDk2Q0MzRTIxMUI1MDJCQkE3MjNFQTVDNUMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzgwNEUxMjk5MTcwMTFFOEJGMzVCNEM4MERDRUM2RTciIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzgwNEUxMjg5MTcwMTFFOEJGMzVCNEM4MERDRUM2RTciIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxQUI3MTIyNDY0OTFFODExQjVDOUREMTk0RTI2MzM4MCIg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"}},"time_used":164,"timings":{"blocked":130,"dns":0,"connect":0,"send":0,"wait":29,"receive":5,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/fonts/Montserrat-ExtraBold.woff2","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.492Z","timestamp":1785120633492,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /fonts/Montserrat-ExtraBold.woff2 HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/fonts/stylesheet.css\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: font/woff2\r\nContent-Length: 91936\r\nLast-Modified: Tue, 14 Apr 2026 04:20:06 GMT\r\nConnection: keep-alive\r\nETag: \"69ddc076-16720\"\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":91936,"size_decoded":92179,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 91936, version 1.0","md5":"91d6910749c190e5f7a09627c1ba7e49","sha1":"8ec951181a2322ba318bd735c1b67d1087643e7a","sha256":"b68aff152d29b2647b69b317720ea442f00ce782c3def81cc14b8939c9c192af","sha512":"fa0735d3cd451d2c563bf93edecb1c887dbdaa55df014054434d2d5143de6cad2a5789f16475a152ea16dbc2d0f333775dec2c3d6ec960535ef49e8b65a9f228","ssdeep":"1536:pSanz/LyRgnqIYP7v5+cr5QDTGgmTa2YsCxCDbJ5gapAvAIH:t/LNyPb5pr5Q3GhuUbjmvAIH","tlshash":"6b93128e70b811862a68ce4dd60c4169df864a7c1d5128c4ca9f79b7eb2624277ca3fd","first_seen":"2023-05-22T15:57:23Z","last_seen":"2026-07-27T02:59:54.598042Z","times_seen":672,"resource_available":false,"data":"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"}},"time_used":30,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":29,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/85607.22bd8de3c35ee8fc5a58.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.857Z","timestamp":1785120634857,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/85607.22bd8de3c35ee8fc5a58.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"247optiontradefx.com/js/jquery.selectric.js","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:32.897Z","timestamp":1785120632897,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /js/jquery.selectric.js HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Type: application/javascript; charset=utf-8\r\nLast-Modified: Tue, 14 Apr 2026 04:20:13 GMT\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nETag: W/\"69ddc07d-92ad\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":37549,"size_decoded":11506,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with CRLF line terminators","md5":"bcf2aa83ea9ebd6a696704277fd3bdca","sha1":"3a34b20f14d9436c4825e065e7c26e58769645ea","sha256":"3aa49046061cd82c6a9ed5ddae890ca547520e8f27b69f688df08b48d38a9b29","sha512":"9fdd0320f28358111cfcd4158c5bef5eae4af4a6bebaae2e1e1f70c8c56b2bf5d60fde830ea9b5ed71bf8e33282d497fbc2f26297b0563d594c502a2bfdf0b0d","ssdeep":"768:cWo3l/T2ogP8zauKwyo4LES29xU8CILir8gkcsYdVhRNb8FoyIALy0i3pnCLLDNm:UT2ogP8zauKw0Ly9xv+r8gkcsYdVhRN/","tlshash":"97f26f4724da22624c7b737a9f5a542ce776022b800392587cac57c85f71584a3beffe","first_seen":"2024-08-20T10:55:06.333348Z","last_seen":"2026-07-27T02:59:54.637499Z","times_seen":11,"resource_available":true,"data":"LyohDQogKiAgICAgICAgICwvDQogKiAgICAgICAsJy8NCiAqICAgICAsJyAvDQogKiAgICwnICAvX19fX18sDQogKiAuJ19fX18gICAgLCcNCiAqICAgICAgLyAgLCcNCiAqICAgICAvICwnDQogKiAgICAvLCcNCiAqICAgLycNCiAqDQogKiBTZWxlY3RyaWMgz58gdjEuMTMuMCAoQXVnIDIyIDIwMTcpIC0gaHR0cDovL2xjZHNhbnRvcy5naXRodWIuaW8valF1ZXJ5LVNlbGVjdHJpYy8NCiAqDQogKiBDb3B5cmlnaHQgKGMpIDIwMTcgTGVvbmFyZG8gU2FudG9zOyBNSVQgTGljZW5zZQ0KICoNCiAqLw0KDQooZnVuY3Rpb24oZmFjdG9yeSkgew0KICAvKiBnbG9iYWwgZGVmaW5lICovDQogIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovDQogIGlmICggdHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kICkgew0KICAgIGRlZmluZShbJ2pxdWVyeSddLCBmYWN0b3J5KTsNCiAgfSBlbHNlIGlmICggdHlwZW9mIG1vZHVsZSA9PT0gJ29iamVjdCcgJiYgbW9kdWxlLmV4cG9ydHMgKSB7DQogICAgLy8gTm9kZS9Db21tb25KUw0KICAgIG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oIHJvb3QsIGpRdWVyeSApIHsNCiAgICAgIGlmICggalF1ZXJ5ID09PSB1bmRlZmluZWQgKSB7DQogICAgICAgIGlmICggdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgKSB7DQogICAgICAgICAgalF1ZXJ5ID0gcmVxdWlyZSgnanF1ZXJ5Jyk7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgalF1ZXJ5ID0gcmVxdWlyZSgnanF1ZXJ5Jykocm9vdCk7DQogICAgICAgIH0NCiAgICAgIH0NCiAgICAgIGZhY3RvcnkoalF1ZXJ5KTsNCiAgICAgIHJldHVybiBqUXVlcnk7DQogICAgfTsNCiAgfSBlbHNlIHsNCiAgICAvLyBCcm93c2VyIGdsb2JhbHMNCiAgICBmYWN0b3J5KGpRdWVyeSk7DQogIH0NCn0oZnVuY3Rpb24oJCkgew0KICAndXNlIHN0cmljdCc7DQoNCiAgdmFyICRkb2MgPSAkKGRvY3VtZW50KTsNCiAgdmFyICR3aW4gPSAkKHdpbmRvdyk7DQoNCiB2YXIgcGx1Z2luTmFtZSA9ICdzZWxlY3RyaWMnOw0KICB2YXIgY2xhc3NMaXN0ID0gJ0lucHV0IEl0ZW1zIE9wZW4gRGlzYWJsZWQgVGVtcFNob3cgSGlkZVNlbGVjdCBXcmFwcGVyIEZvY3VzIEhvdmVyIFJlc3BvbnNpdmUgQWJvdmUgQmVsb3cgU2Nyb2xsIEdyb3VwIEdyb3VwTGFiZWwnOw0KICB2YXIgZXZlbnROYW1lc3BhY2VTdWZmaXggPSAnLnNsJzsNCg0KICB2YXIgY2hhcnMgPSBbJ2EnLCAnZScsICdpJywgJ28nLCAndScsICduJywgJ2MnLCAneSddOw0KICB2YXIgZGlhY3JpdGljcyA9IFsNCiAgICAvW1x4RTAtXHhFNV0vZywgLy8gYQ0KICAgIC9bXHhFOC1ceEVCXS9nLCAvLyBlDQogICAgL1tceEVDLVx4RUZdL2csIC8vIGkNCiAgICAvW1x4RjItXHhGNl0vZywgLy8gbw0KICAgIC9bXHhGOS1ceEZDXS9nLCAvLyB1DQogICAgL1tceEYxXS9nLCAgICAgIC8vIG4NCiAgICAvW1x4RTddL2csICAgICAgLy8gYw0KICAgIC9bXHhGRC1ceEZGXS9nICAvLyB5DQogIF07DQoNCiAgLyoqDQogICAqIENyZWF0ZSBhbiBpbnN0YW5jZSBvZiBTZWxlY3RyaWMNCiAgICoNCiAgICogQGNvbnN0cnVjdG9yDQogICAqIEBwYXJhbSB7Tm9kZX0gZWxlbWVudCAtIFRoZSAmbHQ7c2VsZWN0Jmd0OyBlbGVtZW50DQogICAqIEBwYXJhbSB7b2JqZWN0fSAgb3B0cyAtIE9wdGlvbnMNCiAgICovDQogIHZhciBTZWxlY3RyaWMgPSBmdW5jdGlvbihlbGVtZW50LCBvcHRzKSB7DQogICAgdmFyIF90aGlzID0gdGhpczsNCg0KICAgIF90aGlzLmVsZW1lbnQgPSBlbGVtZW50Ow0KICAgIF90aGlzLiRlbGVtZW50ID0gJChlbGVtZW50KTsNCg0KICAgIF90aGlzLnN0YXRlID0gew0KICAgICAgbXVsdGlwbGUgICAgICAgOiAhIV90aGlzLiRlbGVtZW50LmF0dHIoJ211bHRpcGxlJyksDQogICAgICBlbmFibGVkICAgICAgICA6IGZhbHNlLA0KICAgICAgb3BlbmVkICAgICAgICAgOiBmYWxzZSwNCiAgICAgIGN1cnJWYWx1ZSAgICAgIDogLTEsDQogICAgICBzZWxlY3RlZElkeCAgICA6IC0xLA0KICAgICAgaGlnaGxpZ2h0ZWRJZHggOiAtMQ0KICAgIH07DQoNCiAgICBfdGhpcy5ldmVudFRyaWdnZXJzID0gew0KICAgICAgb3BlbiAgICA6IF90aGlzLm9wZW4sDQogICAgICBjbG9zZSAgIDogX3RoaXMuY2xvc2UsDQogICAgICBkZXN0cm95IDogX3RoaXMuZGVzdHJveSwNCiAgICAgIHJlZnJlc2ggOiBfdGhpcy5yZWZyZXNoLA0KICAgICAgaW5pdCAgICA6IF90aGlzLmluaXQNCiAgICB9Ow0KDQogICAgX3RoaXMuaW5pdChvcHRzKTsNCiAgfTsNCg0KICBTZWxlY3RyaWMucHJvdG90eXBlID0gew0KICAgIHV0aWxzOiB7DQogICAgICAvKioNCiAgICAgICAqIERldGVjdCBtb2JpbGUgYnJvd3Nlcg0KICAgICAgICoNCiAgICAgICAqIEByZXR1cm4ge2Jvb2xlYW59DQogICAgICAgKi8NCiAgICAgIGlzTW9iaWxlOiBmdW5jdGlvbigpIHsNCiAgICAgICAgcmV0dXJuIC9hbmRyb2lkfGlwKGhvbmV8b2R8YWQpL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTsNCiAgICAgIH0sDQoNCiAgICAgIC8qKg0KICAgICAgICogRXNjYXBlIGVzcGVjaWFsIGNoYXJhY3RlcnMgaW4gc3RyaW5nIChodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L0d1aWRlL1JlZ3VsYXJfRXhwcmVzc2lvbnMpDQogICAgICAgKg0KICAgICAgICogQHBhcmFtICB7c3RyaW5nfSBzdHIgLSBUaGUgc3RyaW5nIHRvIGJlIGVzY2FwZWQNCiAgICAgICAqIEByZXR1cm4ge3N0cmluZ30gICAgICAgVGhlIHN0cmluZyB3aXRoIHRoZSBzcGVjaWFsIGNoYXJhY3RlcnMgZXNjYXBlZA0KICAgICAgICovDQogICAgICBlc2NhcGVSZWdFeHA6IGZ1bmN0aW9uKHN0cikgew0KICAgICAgICByZXR1cm4gc3RyLnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXVxcXS9nLCAnXFwkJicpOyAvLyAkJiBtZWFucyB0aGUgd2hvbGUgbWF0Y2hlZCBzdHJpbmcNCiAgICAgIH0sDQoNCiAgICAgIC8qKg0KICAgICAgICogUmVwbGFjZSBkaWFjcml0aWNzDQogICAgICAgKg0KICAgICAgICogQHBhcmFtICB7c3RyaW5nfSBzdHIgLSBUaGUgc3RyaW5nIHRvIHJlcGxhY2UgdGhlIGRpYWNyaXRpY3MNCiAgICAgICAqIEByZXR1cm4ge3N0cmluZ30gICAgICAgVGhlIHN0cmluZyB3aXRoIGRpYWNyaXRpY3MgcmVwbGFjZWQgd2l0aCBhc2NpaSBjaGFyYWN0ZXJzDQogICAgICAgKi8NCiAgICAgIHJlcGxhY2VEaWFjcml0aWNzOiBmdW5jdGlvbihzdHIpIHsNCiAgICAgICAgdmFyIGsgPSBkaWFjcml0aWNzLmxlbmd0aDsNCg0KICAgICAgICB3aGlsZSAoay0tKSB7DQogICAgICAgICAgc3RyID0gc3RyLnRvTG93ZXJDYXNlKCkucmVwbGFjZShkaWFjcml0aWNzW2tdLCBjaGFyc1trXSk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gc3RyOw0KICAgICAgfSwNCg0KICAgICAgLyoqDQogICAgICAgKiBGb3JtYXQgc3RyaW5nDQogICAgICAgKiBodHRwczovL2dpc3QuZ2l0aHViLmNvbS9hdGVzZ29yYWwvOTg0Mzc1DQogICAgICAgKg0KICAgICAgICogQHBhcmFtICB7c3RyaW5nfSBmIC0gU3RyaW5nIHRvIGJlIGZvcm1hdGVkDQogICAgICAgKiBAcmV0dXJuIHtzdHJpbmd9ICAgICBTdHJpbmcgZm9ybWF0ZWQNCiAgICAgICAqLw0KICAgICAgZm9ybWF0OiBmdW5jdGlvbihmKSB7DQogICAgICAgIHZhciBhID0gYXJndW1lbnRzOyAvLyBzdG9yZSBvdXRlciBhcmd1bWVudHMNCiAgICAgICAgcmV0dXJuICgnJyArIGYpIC8vIGZvcmNlIGZvcm1hdCBzcGVjaWZpZXIgdG8gU3RyaW5nDQogICAgICAgICAgLnJlcGxhY2UoIC8vIHJlcGxhY2UgdG9rZW5zIGluIGZvcm1hdCBzcGVjaWZpZXINCiAgICAgICAgICAgIC9ceyg/OihcZCspfChcdyspKVx9L2csIC8vIG1hdGNoIHt0b2tlbn0gcmVmZXJlbmNlcw0KICAgICAgICAgICAgZnVuY3Rpb24oDQogICAgICAgICAgICAgIHMsIC8vIHRoZSBtYXRjaGVkIHN0cmluZyAoaWdub3JlZCkNCiAgICAgICAgICAgICAgaSwgLy8gYW4gYXJndW1lbnQgaW5kZXgNCiAgICAgICAgICAgICAgcCAvLyBhIHByb3BlcnR5IG5hbWUNCiAgICAgICAgICAgICkgew0KICAgICAgICAgICAgICByZXR1cm4gcCAmJiBhWzFdIC8vIGlmIHByb3BlcnR5IG5hbWUgYW5kIGZpcnN0IGFyZ3VtZW50IGV4aXN0DQogICAgICAgICAgICAgICAgPyBhWzFdW3BdIC8vIHJldHVybiBwcm9wZXJ0eSBmcm9tIGZpcnN0IGFyZ3VtZW50DQogICAgICAgICAgICAgICAgOiBhW2ldOyAvLyBhc3N1bWUgYXJndW1lbnQgaW5kZXggYW5kIHJldHVybiBpLXRoIGFyZ3VtZW50DQogICAgICAgICAgICB9KTsNCiAgICAgIH0sDQoNCiAgICAgIC8qKg0KICAgICAgICogR2V0IHRoZSBuZXh0IGVuYWJsZWQgaXRlbSBpbiB0aGUgb3B0aW9ucyBsaXN0Lg0KICAgICAgICoNCiAgICAgICAqIEBwYXJhbSAge29iamVjdH0gc2VsZWN0SXRlbXMgLSBUaGUgb3B0aW9ucyBvYmplY3QuDQogICAgICAgKiBAcGFyYW0gIHtudW1iZXJ9ICAgIHNlbGVjdGVkIC0gSW5kZXggb2YgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBvcHRpb24uDQogICAgICAgKiBAcmV0dXJuIHtvYmplY3R9ICAgICAgICAgICAgICAgVGhlIG5leHQgZW5hYmxlZCBpdGVtLg0KICAgICAgICovDQogICAgICBuZXh0RW5hYmxlZEl0ZW06IGZ1bmN0aW9uKHNlbGVjdEl0ZW1zLCBzZWxlY3RlZCkgew0KICAgICAgICB3aGlsZSAoIHNlbGVjdEl0ZW1zWyBzZWxlY3RlZCA9IChzZWxlY3RlZCArIDEpICUgc2VsZWN0SXRlbXMubGVuZ3RoIF0uZGlzYWJsZWQgKSB7DQogICAgICAgICAgLy8gZW1wdHkNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gc2VsZWN0ZWQ7DQogICAgICB9LA0KDQogICAgICAvKioNCiAgICAgICAqIEdldCB0aGUgcHJldmlvdXMgZW5hYmxlZCBpdGVtIGluIHRoZSBvcHRpb25zIGxpc3QuDQogICAgICAgKg0KICAgICAgICogQHBhcmFtICB7b2JqZWN0fSBzZWxlY3RJdGVtcyAtIFRoZSBvcHRpb25zIG9iamVjdC4NCiAgICAgICAqIEBwYXJhbSAge251bWJlcn0gICAgc2VsZWN0ZWQgLSBJbmRleCBvZiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIG9wdGlvbi4NCiAgICAgICAqIEByZXR1cm4ge29iamVjdH0gICAgICAgICAgICAgICBUaGUgcHJldmlvdXMgZW5hYmxlZCBpdGVtLg0KICAgICAgICovDQogICAgICBwcmV2aW91c0VuYWJsZWRJdGVtOiBmdW5jdGlvbihzZWxlY3RJdGVtcywgc2VsZWN0ZWQpIHsNCiAgICAgICAgd2hpbGUgKCBzZWxlY3RJdGVtc1sgc2VsZWN0ZWQgPSAoc2VsZWN0ZWQgPiAwID8gc2VsZWN0ZWQgOiBzZWxlY3RJdGVtcy5sZW5ndGgpIC0gMSBdLmRpc2FibGVkICkgew0KICAgICAgICAgIC8vIGVtcHR5DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHNlbGVjdGVkOw0KICAgICAgfSwNCg0KICAgICAgLyoqDQogICAgICAgKiBUcmFuc2Zvcm0gY2FtZWxDYXNlIHN0cmluZyB0byBkYXNoLWNhc2UuDQogICAgICAgKg0KICAgICAgICogQHBhcmFtICB7c3RyaW5nfSBzdHIgLSBUaGUgY2FtZWxDYXNlZCBzdHJpbmcuDQogICAgICAgKiBAcmV0dXJuIHtzdHJpbmd9ICAgICAgIFRoZSBzdHJpbmcgdHJhbnNmb3JtZWQgdG8gZGFzaC1jYXNlLg0KICAgICAgICovDQogICAgICB0b0Rhc2g6IGZ1bmN0aW9uKHN0cikgew0KICAgICAgICByZXR1cm4gc3RyLnJlcGxhY2UoLyhbYS16MC05XSkoW0EtWl0pL2csICckMS0kMicpLnRvTG93ZXJDYXNlKCk7DQogICAgICB9LA0KDQogICAgICAvKioNCiAgICAgICAqIENhbGxzIHRoZSBldmVudHMgcmVnaXN0ZXJlZCB3aXRoIGZ1bmN0aW9uIG5hbWUuDQogICAgICAgKg0KICAgICAgICogQHBhcmFtIHtzdHJpbmd9ICAgIGZuIC0gVGhlIG5hbWUgb2YgdGhlIGZ1bmN0aW9uLg0KICAgICAgICogQHBhcmFtIHtudW1iZXJ9IHNjb3BlIC0gU2NvcGUgdGhhdCBzaG91bGQgYmUgc2V0IG9uIHRoZSBmdW5jdGlvbi4NCiAgICAgICAqLw0KICAgICAgdHJpZ2dlckNhbGxiYWNrOiBmdW5jdGlvbihmbiwgc2NvcGUpIHsNCiAgICAgICAgdmFyIGVsbSA9IHNjb3BlLmVsZW1lbnQ7DQogICAgICAgIHZhciBmdW5jID0gc2NvcGUub3B0aW9uc1snb24nICsgZm5dOw0KICAgICAgICB2YXIgYXJncyA9IFtlbG1dLmNvbmNhdChbXS5zbGljZS5jYWxsKGFyZ3VtZW50cykuc2xpY2UoMSkpOw0KDQogICAgICAgIGlmICggJC5pc0Z1bmN0aW9uKGZ1bmMpICkgew0KICAgICAgICAgIGZ1bmMuYXBwbHkoZWxtLCBhcmdzKTsNCiAgICAgICAgfQ0KDQogICAgICAgICQoZWxtKS50cmlnZ2VyKHBsdWdpbk5hbWUgKyAnLScgKyB0aGlzLnRvRGFzaChmbiksIGFyZ3MpOw0KICAgICAgfSwNCg0KICAgICAgLyoqDQogICAgICAgKiBUcmFuc2Zvcm0gYXJyYXkgbGlzdCB0byBjb25jYXRlbmF0ZWQgc3RyaW5nIGFuZCByZW1vdmUgZW1wdHkgdmFsdWVzDQogICAgICAgKiBAcGFyYW0gIHthcnJheX0gYXJyIC0gQ2xhc3MgbGlzdA0KICAgICAgICogQHJldHVybiB7c3RyaW5nfSAgICAgIENvbmNhdGVuYXRlZCBzdHJpbmcNCiAgICAgICAqLw0KICAgICAgYXJyYXlUb0NsYXNzbmFtZTogZnVuY3Rpb24oYXJyKSB7DQogICAgICAgIHZhciBuZXdBcnIgPSAkLmdyZXAoYXJyLCBmdW5jdGlvbihpdGVtKSB7DQogICAgICAgICAgcmV0dXJuICEhaXRlbTsNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuICQudHJpbShuZXdBcnIuam9pbignICcpKTsNCiAgICAgIH0NCiAgICB9LA0KDQogICAgLyoqIEluaXRpYWxpemVzICovDQogICAgaW5pdDogZnVuY3Rpb24ob3B0cykgew0KICAgICAgdmFyIF90aGlzID0gdGhpczsNCg0KICAgICAgLy8gU2V0IG9wdGlvbnMNCiAgICAgIF90aGlzLm9wdGlvbnMgPSAkLmV4dGVuZCh0cnVlLCB7fSwgJC5mbltwbHVnaW5OYW1lXS5kZWZhdWx0cywgX3RoaXMub3B0aW9ucywgb3B0cyk7DQoNCiAgICAgIF90aGlzLnV0aWxzLnRyaWdnZXJDYWxsYmFjaygnQmVmb3JlSW5pdCcsIF90aGlzKTsNCg0KICAgICAgLy8gUHJlc2VydmUgZGF0YQ0KICAgICAgX3RoaXMuZGVzdHJveSh0cnVlKTsNCg0KICAgICAgLy8gRGlzYWJsZSBvbiBtb2JpbGUgYnJvd3NlcnMNCiAgICAgIGlmICggX3RoaXMub3B0aW9ucy5kaXNhYmxlT25Nb2JpbGUgJiYgX3RoaXMudXRpbHMuaXNNb2JpbGUoKSApIHsNCiAgICAgICAgX3RoaXMuZGlzYWJsZU9uTW9iaWxlID0gdHJ1ZTsNCiAgICAgICAgcmV0dXJuOw0KICAgICAgfQ0KDQogICAgICAvLyBHZXQgY2xhc3Nlcw0KICAgICAgX3RoaXMuY2xhc3NlcyA9IF90aGlzLmdldENsYXNzTmFtZXMoKTsNCg0KICAgICAgLy8gQ3JlYXRlIGVsZW1lbnRzDQogICAgICB2YXIgaW5wdXQgICAgICAgICAgICAgID0gJCgnPGlucHV0Lz4nLCB7ICdjbGFzcyc6IF90aGlzLmNsYXNzZXMuaW5wdXQsICdyZWFkb25seSc6IF90aGlzLnV0aWxzLmlzTW9iaWxlKCkgfSk7DQogICAgICB2YXIgaXRlbXMgICAgICAgICAgICAgID0gJCgnPGRpdi8+JywgICB7ICdjbGFzcyc6IF90aGlzLmNsYXNzZXMuaXRlbXMsICd0YWJpbmRleCc6IC0xIH0pOw0KICAgICAgdmFyIGl0ZW1zU2Nyb2xsICAgICAgICA9ICQoJzxkaXYvPicsICAgeyAnY2xhc3MnOiBfdGhpcy5jbGFzc2VzLnNjcm9sbCB9KTsNCiAgICAgIHZhciB3cmFwcGVyICAgICAgICAgICAgPSAkKCc8ZGl2Lz4nLCAgIHsgJ2NsYXNzJzogX3RoaXMuY2xhc3Nlcy5wcmVmaXgsICdodG1sJzogX3RoaXMub3B0aW9ucy5hcnJvd0J1dHRvbk1hcmt1cCB9KTsNCiAgICAgIHZhciBsYWJlbCAgICAgICAgICAgICAgPSAkKCc8c3Bhbi8+JywgIHsgJ2NsYXNzJzogJ2xhYmVsJyB9KTsNCiAgICAgIHZhciBvdXRlcldyYXBwZXIgICAgICAgPSBfdGhpcy4kZWxlbWVudC53cmFwKCc8ZGl2Lz4nKS5wYXJlbnQoKS5hcHBlbmQod3JhcHBlci5wcmVwZW5kKGxhYmVsKSwgaXRlbXMsIGlucHV0KTsNCiAgICAgIHZhciBoaWRlU2VsZWN0V3JhcHBlciAgPSAkKCc8ZGl2Lz4nLCAgIHsgJ2NsYXNzJzogX3RoaXMuY2xhc3Nlcy5oaWRlc2VsZWN0IH0pOw0KDQogICAgICBfdGhpcy5lbGVtZW50cyA9IHsNCiAgICAgICAgaW5wdXQgICAgICAgIDogaW5wdXQsDQogICAgICAgIGl0ZW1zICAgICAgICA6IGl0ZW1zLA0KICAgICAgICBpdGVtc1Njcm9sbCAgOiBpdGVtc1Njcm9sbCwNCiAgICAgICAgd3JhcHBlciAgICAgIDogd3JhcHBlciwNCiAgICAgICAgbGFiZWwgICAgICAgIDogbGFiZWwsDQogICAgICAgIG91dGVyV3JhcHBlciA6IG91dGVyV3JhcHBlcg0KICAgICAgfTsNCg0KICAgICAgaWYgKCBfdGhpcy5vcHRpb25zLm5hdGl2ZU9uTW9iaWxlICYmIF90aGlzLnV0aWxzLmlzTW9iaWxlKCkgKSB7DQogICAgICAgIF90aGlzLmVsZW1lbnRzLmlucHV0ID0gdW5kZWZpbmVkOw0KICAgICAgICBoaWRlU2VsZWN0V3JhcHBlci5hZGRDbGFzcyhfdGhpcy5jbGFzc2VzLnByZWZpeCArICctaXMtbmF0aXZlJyk7DQoNCiAgICAgICAgX3RoaXMuJGVsZW1lbnQub24oJ2NoYW5nZScsIGZ1bmN0aW9uKCkgew0KICAgICAgICAgIF90aGlzLnJlZnJlc2goKTsNCiAgICAgICAgfSk7DQogICAgICB9DQoNCiAgICAgIF90aGlzLiRlbGVtZW50DQogICAgICAgIC5vbihfdGhpcy5ldmVudFRyaWdnZXJzKQ0KICAgICAgICAud3JhcChoaWRlU2VsZWN0V3JhcHBlcik7DQoNCiAgICAgIF90aGlzLm9yaWdpbmFsVGFiaW5kZXggPSBfdGhpcy4kZWxlbWVudC5wcm9wKCd0YWJpbmRleCcpOw0KICAgICAgX3RoaXMuJGVsZW1lbnQucHJvcCgndGFiaW5kZXgnLCAtMSk7DQoNCiAgICAgIF90aGlzLnBvcHVsYXRlKCk7DQogICAgICBfdGhpcy5hY3RpdmF0ZSgpOw0KDQogICAgICBfdGhpcy51dGlscy50cmlnZ2VyQ2FsbGJhY2soJ0luaXQnLCBfdGhpcyk7DQogICAgfSwNCg0KICAgIC8qKiBBY3RpdmF0ZXMgdGhlIHBsdWdpbiAqLw0KICAgIGFjdGl2YXRlOiBmdW5jdGlvbigpIHsNCiAgICAgIHZhciBfdGhpcyA9IHRoaXM7DQogICAgICB2YXIgaGlkZGVuQ2hpbGRyZW4gPSBfdGhpcy5lbGVtZW50cy5pdGVtcy5jbG9zZXN0KCc6dmlzaWJsZScpLmNoaWxkcmVuKCc6aGlkZGVuJykuYWRkQ2xhc3MoX3RoaXMuY2xhc3Nlcy50ZW1wc2hvdyk7DQogICAgICB2YXIgb3JpZ2luYWxXaWR0aCA9IF90aGlzLiRlbGVtZW50LndpZHRoKCk7DQoNCiAgICAgIGhpZGRlbkNoaWxkcmVuLnJlbW92ZUNsYXNzKF90aGlzLmNsYXNzZXMudGVtcHNob3cpOw0KDQogICAgICBfdGhpcy51dGlscy50cmlnZ2VyQ2FsbGJhY2soJ0JlZm9yZUFjdGl2YXRlJywgX3RoaXMpOw0KDQogICAgICBfdGhpcy5lbGVtZW50cy5vdXRlcldyYXBwZXIucHJvcCgnY2xhc3MnLA0KICAgICAgICBfdGhpcy51dGlscy5hcnJheVRvQ2xhc3NuYW1lKFsNCiAgICAgICAgICBfdGhpcy5jbGFzc2VzLndyYXBwZXIsDQogICAgICAgICAgX3RoaXMuJGVsZW1lbnQucHJvcCgnY2xhc3MnKS5yZXBsYWNlKC9cUysvZywgX3RoaXMuY2xhc3Nlcy5wcmVmaXggKyAnLSQmJyksDQogICAgICAgICAgX3RoaXMub3B0aW9ucy5yZXNwb25zaXZlID8gX3RoaXMuY2xhc3Nlcy5yZXNwb25zaXZlIDogJycNCiAgICAgICAgXSkNCiAgICAgICk7DQoNCiAgICAgIGlmICggX3RoaXMub3B0aW9ucy5pbmhlcml0T3JpZ2luYWxXaWR0aCAmJiBvcmlnaW5hbFdpZHRoID4gMCApIHsNCiAgICAgICAgX3RoaXMuZWxlbWVudHMub3V0ZXJXcmFwcGVyLndpZHRoKG9yaWdpbmFsV2lkdGgpOw0KICAgICAgfQ0KDQogICAgICBfdGhpcy51bmJpbmRFdmVudHMoKTsNCg0KICAgICAgaWYgKCAhX3RoaXMuJGVsZW1lbnQucHJvcCgnZGlzYWJsZWQnKSApIHsNCiAgICAgICAgX3RoaXMuc3RhdGUuZW5hYmxlZCA9IHRydWU7DQoNCiAgICAgICAgLy8gTm90IGRpc2FibGVkLCBzby4uLiBSZW1vdmluZyBkaXNhYmxlZCBjbGFzcw0KICAgICAgICBfdGhpcy5lbGVtZW50cy5vdXRlcldyYXBwZXIucmVtb3ZlQ2xhc3MoX3RoaXMuY2xhc3Nlcy5kaXNhYmxlZCk7DQoNCiAgICAgICAgLy8gUmVtb3ZlIHN0eWxlcyBmcm9tIGl0ZW1zIGJveA0KICAgICAgICAvLyBGaXggaW5jb3JyZWN0IGhlaWdodCB3aGVuIHJlZnJlc2hlZCBpcyB0cmlnZ2VyZWQgd2l0aCBmZXdlciBvcHRpb25zDQogICAgICAgIF90aGlzLiRsaSA9IF90aGlzLmVsZW1lbnRzLml0ZW1zLnJlbW92ZUF0dHIoJ3N0eWxlJykuZmluZCgnbGknKTsNCg0KICAgICAgICBfdGhpcy5iaW5kRXZlbnRzKCk7DQogICAgICB9IGVsc2Ugew0KICAgICAgICBfdGhpcy5lbGVtZW50cy5vdXRlcldyYXBwZXIuYWRkQ2xhc3MoX3RoaXMuY2xhc3Nlcy5kaXNhYmxlZCk7DQoNCiAgICAgICAgaWYgKCBfdGhpcy5lbGVtZW50cy5pbnB1dCApIHsNCiAgICAgICAgICBfdGhpcy5lbGVtZW50cy5pbnB1dC5wcm9wKCdkaXNhYmxlZCcsIHRydWUpOw0KICAgICAgICB9DQogICAgICB9DQoNCiAgICAgIF90aGlzLnV0aWxzLnRyaWdnZXJDYWxsYmFjaygnQWN0aXZhdGUnLCBfdGhpcyk7DQogICAgfSwNCg0KICAgIC8qKg0KICAgICAqIEdlbmVyYXRlIGNsYXNzTmFtZXMgZm9yIGVsZW1lbnRzDQogICAgICoNCiAgICAgKiBAcmV0dXJuIHtvYmplY3R9IENsYXNzZXMgb2JqZWN0DQogICAgICovDQogICAgZ2V0Q2xhc3NOYW1lczogZnVuY3Rpb24oKSB7DQogICAgICB2YXIgX3RoaXMgPSB0aGlzOw0KICAgICAgdmFyIGN1c3RvbUNsYXNzID0gX3RoaXMub3B0aW9ucy5jdXN0b21DbGFzczsNCiAgICAgIHZhciBjbGFzc2VzT2JqID0ge307DQoNCiAgICAgICQuZWFjaChjbGFzc0xpc3Quc3BsaXQoJyAnKSwgZnVuY3Rpb24oaSwgY3VyckNsYXNzKSB7DQogICAgICAgIHZhciBjID0gY3VzdG9tQ2xhc3MucHJlZml4ICsgY3VyckNsYXNzOw0KICAgICAgICBjbGFzc2VzT2JqW2N1cnJDbGFzcy50b0xvd2VyQ2FzZSgpXSA9IGN1c3RvbUNsYXNzLmNhbWVsQ2FzZSA/IGMgOiBfdGhpcy51dGlscy50b0Rhc2goYyk7DQogICAgICB9KTsNCg0KICAgICAgY2xhc3Nlc09iai5wcmVmaXggPSBjdXN0b21DbGFzcy5wcmVmaXg7DQoNCiAgICAgIHJldHVybiBjbGFzc2VzT2JqOw0KICAgIH0sDQoNCiAgICAvKiogU2V0IHRoZSBsYWJlbCB0ZXh0ICovDQogICAgc2V0TGFiZWw6IGZ1bmN0aW9uKCkgew0KICAgICAgdmFyIF90aGlzID0gdGhpczsNCiAgICAgIHZhciBsYWJlbEJ1aWxkZXIgPSBfdGhpcy5vcHRpb25zLmxhYmVsQnVpbGRlcjsNCg0KICAgICAgaWYgKCBfdGhpcy5zdGF0ZS5tdWx0aXBsZSApIHsNCiAgICAgICAgLy8gTWFrZSBzdXJlIGN1cnJlbnRWYWx1ZXMgaXMgYW4gYXJyYXkNCiAgICAgICAgdmFyIGN1cnJlbnRWYWx1ZXMgPSAkLmlzQXJyYXkoX3RoaXMuc3RhdGUuY3VyclZhbHVlKSA/IF90aGlzLnN0YXRlLmN1cnJWYWx1ZSA6IFtfdGhpcy5zdGF0ZS5jdXJyVmFsdWVdOw0KICAgICAgICAvLyBJJ20gbm90IGhhcHB5IHdpdGggdGhpcywgYnV0IGN1cnJlbnRWYWx1ZXMgY2FuIGJlIGFuIGVtcHR5DQogICAgICAgIC8vIGFycmF5IGFuZCB3ZSBuZWVkIHRvIGZhbGxiYWNrIHRvIHRoZSBkZWZhdWx0IG9wdGlvbi4NCiAgICAgICAgY3VycmVudFZhbHVlcyA9IGN1cnJlbnRWYWx1ZXMubGVuZ3RoID09PSAwID8gWzBdIDogY3VycmVudFZhbHVlczsNCg0KICAgICAgICB2YXIgbGFiZWxNYXJrdXAgPSAkLm1hcChjdXJyZW50VmFsdWVzLCBmdW5jdGlvbih2YWx1ZSkgew0KICAgICAgICAgIHJldHVybiAkLmdyZXAoX3RoaXMubG9va3VwSXRlbXMsIGZ1bmN0aW9uKGl0ZW0pIHsNCiAgICAgICAgICAgIHJldHVybiBpdGVtLmluZGV4ID09PSB2YWx1ZTsNCiAgICAgICAgICB9KVswXTsgLy8gd2UgZG9uJ3Qgd2FudCBuZXN0ZWQgYXJyYXlzIGhlcmUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgbGFiZWxNYXJrdXAgPSAkLmdyZXAobGFiZWxNYXJrdXAsIGZ1bmN0aW9uKGl0ZW0pIHsNCiAgICAgICAgICAvLyBIaWRlIGRlZmF1bHQgKHBsZWFzZSBjaG9vc2UpIGlmIG1vcmUgdGhlbiBvbmUgZWxlbWVudCB3ZXJlIHNlbGVjdGVkLg0KICAgICAgICAgIC8vIElmIG5vIG9wdGlvbiB2YWx1ZSB3ZXJlIGdpdmVuIHZhbHVlIGlzIHNldCB0byBvcHRpb24gdGV4dCBieSBkZWZhdWx0DQogICAgICAgICAgaWYgKCBsYWJlbE1hcmt1cC5sZW5ndGggPiAxIHx8IGxhYmVsTWFya3VwLmxlbmd0aCA9PT0gMCApIHsNCiAgICAgICAgICAgIHJldHVybiAkLnRyaW0oaXRlbS52YWx1ZSkgIT09ICcnOw0KICAgICAgICAgIH0NCiAgICAgICAgICByZXR1cm4gaXRlbTsNCiAgICAgICAgfSk7DQoNCiAgICAgICAgbGFiZWxNYXJrdXAgPSAkLm1hcChsYWJlbE1hcmt1cCwgZnVuY3Rpb24oaXRlbSkgew0KICAgICAgICAgIHJldHVybiAkLmlzRnVuY3Rpb24obGFiZWxCdWlsZGVyKQ0KICAgICAgICAgICAgPyBsYWJlbEJ1aWxkZXIoaXRlbSkNCiAgICAgICAgICAgIDogX3RoaXMudXRpbHMuZm9ybWF0KGxhYmVsQnVpbGRlciwgaXRlbSk7DQogICAgICAgIH0pOw0KDQogICAgICAgIC8vIExpbWl0IHRoZSBhbW91bnQgb2Ygc2VsZWN0ZWQgdmFsdWVzIHNob3duIGluIGxhYmVsDQogICAgICAgIGlmICggX3RoaXMub3B0aW9ucy5tdWx0aXBsZS5tYXhMYWJlbEVudHJpZXMgKSB7DQogICAgICAgICAgaWYgKCBsYWJlbE1hcmt1cC5sZW5ndGggPj0gX3RoaXMub3B0aW9ucy5tdWx0aXBsZS5tYXhMYWJlbEVudHJpZXMgKyAxICkgew0KICAgICAgICAgICAgbGFiZWxNYXJrdXAgPSBsYWJlbE1hcmt1cC5zbGljZSgwLCBfdGhpcy5vcHRpb25zLm11bHRpcGxlLm1heExhYmVsRW50cmllcyk7DQogICAgICAgICAgICBsYWJlbE1hcmt1cC5wdXNoKA0KICAgICAgICAgICAgICAkLmlzRnVuY3Rpb24obGFiZWxCdWlsZGVyKQ0KICAgICAgICAgICAgICAgID8gbGFiZWxCdWlsZGVyKHsgdGV4dDogJy4uLicgfSkNCiAgICAgICAgICAgICAgICA6IF90aGlzLnV0aWxzLmZvcm1hdChsYWJlbEJ1aWxkZXIsIHsgdGV4dDogJy4uLicgfSkpOw0KICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICBsYWJlbE1hcmt1cC5zbGljZShsYWJlbE1hcmt1cC5sZW5ndGggLSAxKTsNCiAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgX3RoaXMuZWxlbWVudHMubGFiZWwuaHRtbChsYWJlbE1hcmt1cC5qb2luKF90aGlzLm9wdGlvbnMubXVsdGlwbGUuc2VwYXJhdG9yKSk7DQoNCiAgICAgIH0gZWxzZSB7DQogICAgICAgIHZhciBjdXJySXRlbSA9IF90aGlzLmxvb2t1cEl0ZW1zW190aGlzLnN0YXRlLmN1cnJWYWx1ZV07DQoNCiAgICAgICAgX3RoaXMuZWxlbWVudHMubGFiZWwuaHRtbCgNCiAgICAgICAgICAkLmlzRnVuY3Rpb24obGFiZWxCdWlsZGVyKQ0KICAgICAgICAgICAgPyBsYWJlbEJ1aWxkZXIoY3Vyckl0ZW0pDQogICAgICAgICAgICA6IF90aGlzLnV0aWxzLmZvcm1hdChsYWJlbEJ1aWxkZXIsIGN1cnJJdGVtKQ0KICAgICAgICApOw0KICAgICAgfQ0KICAgIH0sDQoNCiAgICAvKiogR2V0IGFuZCBzYXZlIHRoZSBhdmFpbGFibGUgb3B0aW9ucyAqLw0KICAgIHBvcHVsYXRlOiBmdW5jdGlvbigpIHsNCiAgICAgIHZhciBfdGhpcyA9IHRoaXM7DQogICAgICB2YXIgJG9wdGlvbnMgPSBfdGhpcy4kZWxlbWVudC5jaGlsZHJlbigpOw0KICAgICAgdmFyICRqdXN0T3B0aW9ucyA9IF90aGlzLiRlbGVtZW50LmZpbmQoJ29wdGlvbicpOw0KICAgICAgdmFyICRzZWxlY3RlZCA9ICRqdXN0T3B0aW9ucy5maWx0ZXIoJzpzZWxlY3RlZCcpOw0KICAgICAgdmFyIHNlbGVjdGVkSW5kZXggPSAkanVzdE9wdGlvbnMuaW5kZXgoJHNlbGVjdGVkKTsNCiAgICAgIHZhciBjdXJySW5kZXggPSAwOw0KICAgICAgdmFyIGVtcHR5VmFsdWUgPSAoX3RoaXMuc3RhdGUubXVsdGlwbGUgPyBbXSA6IDApOw0KDQogICAgICBpZiAoICRzZWxlY3RlZC5sZW5ndGggPiAxICYmIF90aGlzLnN0YXRlLm11bHRpcGxlICkgew0KICAgICAgICBzZWxlY3RlZEluZGV4ID0gW107DQogICAgICAgICRzZWxlY3RlZC5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgIHNlbGVjdGVkSW5kZXgucHVzaCgkKHRoaXMpLmluZGV4KCkpOw0KICAgICAgICB9KTsNCiAgICAgIH0NCg0KICAgICAgX3RoaXMuc3RhdGUuY3VyclZhbHVlID0gKH5zZWxlY3RlZEluZGV4ID8gc2VsZWN0ZWRJbmRleCA6IGVtcHR5VmFsdWUpOw0KICAgICAgX3RoaXMuc3RhdGUuc2VsZWN0ZWRJZHggPSBfdGhpcy5zdGF0ZS5jdXJyVmFsdWU7DQogICAgICBfdGhpcy5zdGF0ZS5oaWdobGlnaHRlZElkeCA9IF90aGlzLnN0YXRlLmN1cnJWYWx1ZTsNCiAgICAgIF90aGlzLml0ZW1zID0gW107DQogICAgICBfdGhpcy5sb29rdXBJdGVtcyA9IFtdOw0KDQogICAgICBpZiAoICRvcHRpb25zLmxlbmd0aCApIHsNCiAgICAgICAgLy8gQnVpbGQgb3B0aW9ucyBtYXJrdXANCiAgICAgICAgJG9wdGlvbnMuZWFjaChmdW5jdGlvbihpKSB7DQogICAgICAgICAgdmFyICRlbG0gPSAkKHRoaXMpOw0KDQogICAgICAgICAgaWYgKCAkZWxtLmlzKCdvcHRncm91cCcpICkgew0KDQogICAgICAgICAgICB2YXIgb3B0aW9uc0dyb3VwID0gew0KICAgICAgICAgICAgICBlbGVtZW50ICAgICAgIDogJGVsbSwNCiAgICAgICAgICAgICAgbGFiZWwgICAgICAgICA6ICRlbG0ucHJvcCgnbGFiZWwnKSwNCiAgICAgICAgICAgICAgZ3JvdXBEaXNhYmxlZCA6ICRlbG0ucHJvcCgnZGlzYWJsZWQnKSwNCiAgICAgICAgICAgICAgaXRlbXMgICAgICAgICA6IFtdDQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICAkZWxtLmNoaWxkcmVuKCkuZWFjaChmdW5jdGlvbihpKSB7DQogICAgICAgICAgICAgIHZhciAkZWxtID0gJCh0aGlzKTsNCg0KICAgICAgICAgICAgICBvcHRpb25zR3JvdXAuaXRlbXNbaV0gPSBfdGhpcy5nZXRJdGVtRGF0YShjdXJySW5kZXgsICRlbG0sIG9wdGlvbnNHcm91cC5ncm91cERpc2FibGVkIHx8ICRlbG0ucHJvcCgnZGlzYWJsZWQnKSk7DQoNCiAgICAgICAgICAgICAgX3RoaXMubG9va3VwSXRlbXNbY3VyckluZGV4XSA9IG9wdGlvbnNHcm91cC5pdGVtc1tpXTsNCg0KICAgICAgICAgICAgICBjdXJySW5kZXgrKzsNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBfdGhpcy5pdGVtc1tpXSA9IG9wdGlvbnNHcm91cDsNCg0KICAgICAgICAgIH0gZWxzZSB7DQoNCiAgICAgICAgICAgIF90aGlzLml0ZW1zW2ldID0gX3RoaXMuZ2V0SXRlbURhdGEoY3VyckluZGV4LCAkZWxtLCAkZWxtLnByb3AoJ2Rpc2FibGVkJykpOw0KDQogICAgICAgICAgICBfdGhpcy5sb29rdXBJdGVtc1tjdXJySW5kZXhdID0gX3RoaXMuaXRlbXNbaV07DQoNCiAgICAgICAgICAgIGN1cnJJbmRleCsrOw0KDQogICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBfdGhpcy5zZXRMYWJlbCgpOw0KICAgICAgICBfdGhpcy5lbGVtZW50cy5pdGVtcy5hcHBlbmQoIF90aGlzLmVsZW1lbnRzLml0ZW1zU2Nyb2xsLmh0bWwoIF90aGlzLmdldEl0ZW1zTWFya3VwKF90aGlzLml0ZW1zKSApICk7DQogICAgICB9DQogICAgfSwNCg0KICAgIC8qKg0KICAgICAqIEdlbmVyYXRlIGl0ZW1zIG9iamVjdCBkYXRhDQogICAgICogQHBhcmFtICB7aW50ZWdlcn0gaW5kZXggICAgICAtIEN1cnJlbnQgaXRlbSBpbmRleA0KICAgICAqIEBwYXJhbSAge25vZGV9ICAgICRlbG0gICAgICAgLSBDdXJyZW50IGVsZW1lbnQgbm9kZQ0KICAgICAqIEBwYXJhbSAge2Jvb2xlYW59IGlzRGlzYWJsZWQgLSBDdXJyZW50IGVsZW1lbnQgZGlzYWJsZWQgc3RhdGUNCiAgICAgKiBAcmV0dXJuIHtvYmplY3R9ICAgICAgICAgICAgICAgSXRlbSBvYmplY3QNCiAgICAgKi8NCiAgICBnZXRJdGVtRGF0YTogZnVuY3Rpb24oaW5kZXgsICRlbG0sIGlzRGlzYWJsZWQpIHsNCiAgICAgIHZhciBfdGhpcyA9IHRoaXM7DQoNCiAgICAgIHJldHVybiB7DQogICAgICAgIGluZGV4ICAgICA6IGluZGV4LA0KICAgICAgICBlbGVtZW50ICAgOiAkZWxtLA0KICAgICAgICB2YWx1ZSAgICAgOiAkZWxtLnZhbCgpLA0KICAgICAgICBjbGFzc05hbWUgOiAkZWxtLnByb3AoJ2NsYXNzJyksDQogICAgICAgIHRleHQgICAgICA6ICRlbG0uaHRtbCgpLA0KICAgICAgICBzbHVnICAgICAgOiAkLnRyaW0oX3RoaXMudXRpbHMucmVwbGFjZURpYWNyaXRpY3MoJGVsbS5odG1sKCkpKSwNCiAgICAgICAgYWx0ICAgICAgIDogJGVsbS5hdHRyKCdkYXRhLWFsdCcpLA0KICAgICAgICBzZWxlY3RlZCAgOiAkZWxtLnByb3AoJ3NlbGVjdGVkJyksDQogICAgICAgIGRpc2FibGVkICA6IGlzRGlzYWJsZWQNCiAgICAgIH07DQogICAgfSwNCg0KICAgIC8qKg0KICAgICAqIEdlbmVyYXRlIG9wdGlvbnMgbWFya3VwDQogICAgICoNCiAgICAgKiBAcGFyYW0gIHtvYmplY3R9IGl0ZW1zIC0gT2JqZWN0IGNvbnRhaW5pbmcgYWxsIGF2YWlsYWJsZSBvcHRpb25zDQogICAgICogQHJldHVybiB7c3RyaW5nfSAgICAgICAgIEhUTUwgZm9yIHRoZSBvcHRpb25zIGJveA0KICAgICAqLw0KICAgIGdldEl0ZW1zTWFya3VwOiBmdW5jdGlvbihpdGVtcykgew0KICAgICAgdmFyIF90aGlzID0gdGhpczsNCiAgICAgIHZhciBtYXJrdXAgPSAnPHVsPic7DQoNCiAgICAgIGlmICggJC5pc0Z1bmN0aW9uKF90aGlzLm9wdGlvbnMubGlzdEJ1aWxkZXIpICYmIF90aGlzLm9wdGlvbnMubGlzdEJ1aWxkZXIgKSB7DQogICAgICAgIGl0ZW1zID0gX3RoaXMub3B0aW9ucy5saXN0QnVpbGRlcihpdGVtcyk7DQogICAgICB9DQoNCiAgICAgICQuZWFjaChpdGVtcywgZnVuY3Rpb24oaSwgZWxtKSB7DQogICAgICAgIGlmICggZWxtLmxhYmVsICE9PSB1bmRlZmluZWQgKSB7DQoNCiAgICAgICAgICBtYXJrdXAgKz0gX3RoaXMudXRpbHMuZm9ybWF0KCc8dWwgY2xhc3M9InsxfSI+PGxpIGNsYXNzPSJ7Mn0iPnszfTwvbGk+JywNCiAgICAgICAgICAgIF90aGlzLnV0aWxzLmFycmF5VG9DbGFzc25hbWUoWw0KICAgICAgICAgICAgICBfdGhpcy5jbGFzc2VzLmdyb3VwLA0KICAgICAgICAgICAgICBlbG0uZ3JvdXBEaXNhYmxlZCA/ICdkaXNhYmxlZCcgOiAnJywNCiAgICAgICAgICAgICAgZWxtLmVsZW1lbnQucHJvcCgnY2xhc3MnKQ0KICAgICAgICAgICAgXSksDQogICAgICAgICAgICBfdGhpcy5jbGFzc2VzLmdyb3VwbGFiZWwsDQogICAgICAgICAgICBlbG0uZWxlbWVudC5wcm9wKCdsYWJlbCcpDQogICAgICAgICAgKTsNCg0KICAgICAgICAgICQuZWFjaChlbG0uaXRlbXMsIGZ1bmN0aW9uKGksIGVsbSkgew0KICAgICAgICAgICAgbWFya3VwICs9IF90aGlzLmdldEl0ZW1NYXJrdXAoZWxtLmluZGV4LCBlbG0pOw0KICAgICAgICAgIH0pOw0KDQogICAgICAgICAgbWFya3VwICs9ICc8L3VsPic7DQoNCiAgICAgICAgfSBlbHNlIHsNCg0KICAgICAgICAgIG1hcmt1cCArPSBfdGhpcy5nZXRJdGVtTWFya3VwKGVsbS5pbmRleCwgZWxtKTsNCg0KICAgICAgICB9DQogICAgICB9KTsNCg0KICAgICAgcmV0dXJuIG1hcmt1cCArICc8L3VsPic7DQogICAgfSwNCg0KICAgIC8qKg0KICAgICAqIEdlbmVyYXRlIGV2ZXJ5IG9wdGlvbiBtYXJrdXANCiAgICAgKg0KICAgICAqIEBwYXJhbSAge251bWJlcn0gaW5kZXggICAgLSBJbmRleCBvZiBjdXJyZW50IGl0ZW0NCiAgICAgKiBAcGFyYW0gIHtvYmplY3R9IGl0ZW1EYXRhIC0gQ3VycmVudCBpdGVtDQogICAgICogQHJldHVybiB7c3RyaW5nfSAgICAgICAgICAgIEhUTUwgZm9yIHRoZSBvcHRpb24NCiAgICAgKi8NCiAgICBnZXRJdGVtTWFya3VwOiBmdW5jdGlvbihpbmRleCwgaXRlbURhdGEpIHsNCiAgICAgIHZhciBfdGhpcyA9IHRoaXM7DQogICAgICB2YXIgaXRlbUJ1aWxkZXIgPSBfdGhpcy5vcHRpb25zLm9wdGlvbnNJdGVtQnVpbGRlcjsNCiAgICAgIC8vIGxpbWl0IGFjY2VzcyB0byBpdGVtIGRhdGEgdG8gcHJvdmlkZSBhIHNpbXBsZSBpbnRlcmZhY2UNCiAgICAgIC8vIHRvIG1vc3QgcmVsZXZhbnQgb3B0aW9ucy4NCiAgICAgIHZhciBmaWx0ZXJlZEl0ZW1EYXRhID0gew0KICAgICAgICB2YWx1ZTogaXRlbURhdGEudmFsdWUsDQogICAgICAgIHRleHQgOiBpdGVtRGF0YS50ZXh0LA0KICAgICAgICBzbHVnIDogaXRlbURhdGEuc2x1ZywNCiAgICAgICAgaW5kZXg6IGl0ZW1EYXRhLmluZGV4DQogICAgICB9Ow0KDQogICAgICByZXR1cm4gX3RoaXMudXRpbHMuZm9ybWF0KCc8bGkgZGF0YS1pbmRleD0iezF9IiBjbGFzcz0iezJ9Ij57M308L2xpPicsDQogICAgICAgIGluZGV4LA0KICAgICAgICBfdGhpcy51dGlscy5hcnJheVRvQ2xhc3NuYW1lKFsNCiAgICAgICAgICBpdGVtRGF0YS5jbGFzc05hbWUsDQogICAgICAgICAgaW5kZXggPT09IF90aGlzLml0ZW1zLmxlbmd0aCAtIDEgID8gJ2xhc3QnICAgICA6ICcnLA0KICAgICAgICAgIGl0ZW1EYXRhLmRpc2FibGVkICAgICAgICAgICAgICAgICA/ICdkaXNhYmxlZCcgOiAnJywNCiAgICAgICAgICBpdGVtRGF0YS5zZWxlY3RlZCAgICAgICAgICAgICAgICAgPyAnc2VsZWN0ZWQnIDogJycNCiAgICAgICAgXSksDQogICAgICAgICQuaXNGdW5jdGlvbihpdGVtQnVpbGRlcikNCiAgICAgICAgICA/IF90aGlzLnV0aWxzLmZvcm1hdChpdGVtQnVpbGRlcihpdGVtRGF0YSwgdGhpcy4kZWxlbWVudCwgaW5kZXgpLCBpdGVtRGF0YSkNCiAgICAgICAgICA6IF90aGlzLnV0aWxzLmZvcm1hdChpdGVtQnVpbGRlciwgZmlsdGVyZWRJdGVtRGF0YSkNCiAgICAgICk7DQogICAgfSwNCg0KICAgIC8qKiBSZW1vdmUgZXZlbnRzIG9uIHRoZSBlbGVtZW50cyAqLw0KICAgIHVuYmluZEV2ZW50czogZnVuY3Rpb24oKSB7DQogICAgICB2YXIgX3RoaXMgPSB0aGlzOw0KDQogICAgICBfdGhpcy5lbGVtZW50cy53cmFwcGVyDQogICAgICAgIC5hZGQoX3RoaXMuJGVsZW1lbnQpDQogICAgICAgIC5hZGQoX3RoaXMuZWxlbWVudHMub3V0ZXJXcmFwcGVyKQ0KICAgICAgICAuYWRkKF90aGlzLmVsZW1lbnRzLmlucHV0KQ0KICAgICAgICAub2ZmKGV2ZW50TmFtZXNwYWNlU3VmZml4KTsNCiAgICB9LA0KDQogICAgLyoqIEJpbmQgZXZlbnRzIG9uIHRoZSBlbGVtZW50cyAqLw0KICAgIGJpbmRFdmVudHM6IGZ1bmN0aW9uKCkgew0KICAgICAgdmFyIF90aGlzID0gdGhpczsNCg0KICAgICAgX3RoaXMuZWxlbWVudHMub3V0ZXJXcmFwcGVyLm9uKCdtb3VzZWVudGVyJyArIGV2ZW50TmFtZXNwYWNlU3VmZml4ICsgJyBtb3VzZWxlYXZlJyArIGV2ZW50TmFtZXNwYWNlU3VmZml4LCBmdW5jdGlvbihlKSB7DQogICAgICAgICQodGhpcykudG9nZ2xlQ2xhc3MoX3RoaXMuY2xhc3Nlcy5ob3ZlciwgZS50eXBlID09PSAnbW91c2VlbnRlcicpOw0KDQogICAgICAgIC8vIERlbGF5IGNsb3NlIGVmZmVjdCB3aGVuIG9wZW5PbkhvdmVyIGlzIHRydWUNCiAgICAgICAgaWYgKCBfdGhpcy5vcHRpb25zLm9wZW5PbkhvdmVyICkgew0KICAgICAgICAgIGNsZWFyVGltZW91dChfdGhpcy5jbG9zZVRpbWVyKTsNCg0KICAgICAgICAgIGlmICggZS50eXBlID09PSAnbW91c2VsZWF2ZScgKSB7DQogICAgICAgICAgICBfdGhpcy5jbG9zZVRpbWVyID0gc2V0VGltZW91dCgkLnByb3h5KF90aGlzLmNsb3NlLCBfdGhpcyksIF90aGlzLm9wdGlvbnMuaG92ZXJJbnRlbnRUaW1lb3V0KTsNCiAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgX3RoaXMub3BlbigpOw0KICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgfSk7DQoNCiAgICAgIC8vIFRvZ2dsZSBvcGVuL2Nsb3NlDQogICAgICBfdGhpcy5lbGVtZW50cy53cmFwcGVyLm9uKCdjbGljaycgKyBldmVudE5hbWVzcGFjZVN1ZmZpeCwgZnVuY3Rpb24oZSkgew0KICAgICAgICBfdGhpcy5zdGF0ZS5vcGVuZWQgPyBfdGhpcy5jbG9zZSgpIDogX3RoaXMub3BlbihlKTsNCiAgICAgIH0pOw0KDQogICAgICAvLyBUcmFuc2xhdGUgb3JpZ2luYWwgZWxlbWVudCBmb2N1cyBldmVudCB0byBkdW1teSBpbnB1dC4NCiAgICAgIC8vIERpc2FibGVkIG9uIG1vYmlsZSBkZXZpY2VzIGJlY2F1c2UgdGhlIGRlZmF1bHQgb3B0aW9uIGxpc3QgaXNuJ3QNCiAgICAgIC8vIHNob3duIGR1ZSB0aGUgZmFjdCB0aGF0IGhpZGRlbiBpbnB1dCBnZXRzIGZvY3VzZWQNCiAgICAgIGlmICggIShfdGhpcy5vcHRpb25zLm5hdGl2ZU9uTW9iaWxlICYmIF90aGlzLnV0aWxzLmlzTW9iaWxlKCkpICkgew0KICAgICAgICBfdGhpcy4kZWxlbWVudC5vbignZm9jdXMnICsgZXZlbnROYW1lc3BhY2VTdWZmaXgsIGZ1bmN0aW9uKCkgew0KICAgICAgICAgIF90aGlzLmVsZW1lbnRzLmlucHV0LmZvY3VzKCk7DQogICAgICAgIH0pOw0KDQogICAgICAgIF90aGlzLmVsZW1lbnRzLmlucHV0DQogICAgICAgICAgLnByb3AoeyB0YWJpbmRleDogX3RoaXMub3JpZ2luYWxUYWJpbmRleCwgZGlzYWJsZWQ6IGZhbHNlIH0pDQogICAgICAgICAgLm9uKCdrZXlkb3duJyArIGV2ZW50TmFtZXNwYWNlU3VmZml4LCAkLnByb3h5KF90aGlzLmhhbmRsZUtleXMsIF90aGlzKSkNCiAgICAgICAgICAub24oJ2ZvY3VzaW4nICsgZXZlbnROYW1lc3BhY2VTdWZmaXgsIGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIF90aGlzLmVsZW1lbnRzLm91dGVyV3JhcHBlci5hZGRDbGFzcyhfdGhpcy5jbGFzc2VzLmZvY3VzKTsNCg0KICAgICAgICAgICAgLy8gUHJldmVudCB0aGUgZmxpY2tlciB3aGVuIGZvY3VzaW5nIG91dCBhbmQgYmFjayBhZ2FpbiBpbiB0aGUgYnJvd3NlciB3aW5kb3cNCiAgICAgICAgICAgIF90aGlzLmVsZW1lbnRzLmlucHV0Lm9uZSgnYmx1cicsIGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICBfdGhpcy5lbGVtZW50cy5pbnB1dC5ibHVyKCk7DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgaWYgKCBfdGhpcy5vcHRpb25zLm9wZW5PbkZvY3VzICYmICFfdGhpcy5zdGF0ZS5vcGVuZWQgKSB7DQogICAgICAgICAgICAgIF90aGlzLm9wZW4oZSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgfSkNCiAgICAgICAgICAub24oJ2ZvY3Vzb3V0JyArIGV2ZW50TmFtZXNwYWNlU3VmZml4LCBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIF90aGlzLmVsZW1lbnRzLm91dGVyV3JhcHBlci5yZW1vdmVDbGFzcyhfdGhpcy5jbGFzc2VzLmZvY3VzKTsNCiAgICAgICAgICB9KQ0KICAgICAgICAgIC5vbignaW5wdXQgcHJvcGVydHljaGFuZ2UnLCBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciB2YWwgPSBfdGhpcy5lbGVtZW50cy5pbnB1dC52YWwoKTsNCiAgICAgICAgICAgIHZhciBzZWFyY2hSZWdFeHAgPSBuZXcgUmVnRXhwKCdeJyArIF90aGlzLnV0aWxzLmVzY2FwZVJlZ0V4cCh2YWwpLCAnaScpOw0KDQogICAgICAgICAgICAvLyBDbGVhciBzZWFyY2gNCiAgICAgICAgICAgIGNsZWFyVGltZW91dChfdGhpcy5yZXNldFN0cik7DQogICAgICAgICAgICBfdGhpcy5yZXNldFN0ciA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgIF90aGlzLmVsZW1lbnRzLmlucHV0LnZhbCgnJyk7DQogICAgICAgICAgICB9LCBfdGhpcy5vcHRpb25zLmtleVNlYXJjaFRpbWVvdXQpOw0KDQogICAgICAgICAgICBpZiAoIHZhbC5sZW5ndGggKSB7DQogICAgICAgICAgICAgIC8vIFNlYXJjaCBpbiBzZWxlY3Qgb3B0aW9ucw0KICAgICAgICAgICAgICAkLmVhY2goX3RoaXMuaXRlbXMsIGZ1bmN0aW9uKGksIGVsbSkgew0KICAgICAgICAgICAgICAgIGlmIChlbG0uZGlzYWJsZWQpIHsNCiAgICAgICAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgaWYgKHNlYXJjaFJlZ0V4cC50ZXN0KGVsbS50ZXh0KSB8fCBzZWFyY2hSZWdFeHAudGVzdChlbG0uc2x1ZykpIHsNCiAgICAgICAgICAgICAgICAgIF90aGlzLmhpZ2hsaWdodChpKTsNCiAgICAgICAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgaWYgKCFlbG0uYWx0KSB7DQogICAgICAgICAgICAgICAgICByZXR1cm47DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIHZhciBhbHRJdGVtcyA9IGVsbS5hbHQuc3BsaXQoJ3wnKTsNCiAgICAgICAgICAgICAgICBmb3IgKHZhciBhaSA9IDA7IGFpIDwgYWx0SXRlbXMubGVuZ3RoOyBhaSsrKSB7DQogICAgICAgICAgICAgICAgICBpZiAoIWFsdEl0ZW1zW2FpXSkgew0KICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgIGlmIChzZWFyY2hSZWdFeHAudGVzdChhbHRJdGVtc1thaV0udHJpbSgpKSkgew0KICAgICAgICAgICAgICAgICAgICBfdGhpcy5oaWdobGlnaHQoaSk7DQogICAgICAgICAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgIH0pOw0KICAgICAgfQ0KDQogICAgICBfdGhpcy4kbGkub24oew0KICAgICAgICAvLyBQcmV2ZW50IDxpbnB1dD4gYmx1ciBvbiBDaHJvbWUNCiAgICAgICAgbW91c2Vkb3duOiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOw0KICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7DQogICAgICAgIH0sDQogICAgICAgIGNsaWNrOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICBfdGhpcy5zZWxlY3QoJCh0aGlzKS5kYXRhKCdpbmRleCcpKTsNCg0KICAgICAgICAgIC8vIENocm9tZSBkb2Vzbid0IGNsb3NlIG9wdGlvbnMgYm94IGlmIHNlbGVjdCBpcyB3cmFwcGVkIHdpdGggYSBsYWJlbA0KICAgICAgICAgIC8vIFdlIG5lZWQgdG8gJ3JldHVybiBmYWxzZScgdG8gYXZvaWQgdGhhdA0KICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgICAgfSk7DQogICAgfSwNCg0KICAgIC8qKg0KICAgICAqIEJlaGF2aW9yIHdoZW4ga2V5Ym9hcmQga2V5cyBpcyBwcmVzc2VkDQogICAgICoNCiAgICAgKiBAcGFyYW0ge29iamVjdH0gZSAtIEV2ZW50IG9iamVjdA0KICAgICAqLw0KICAgIGhhbmRsZUtleXM6IGZ1bmN0aW9uKGUpIHsNCiAgICAgIHZhciBfdGhpcyA9IHRoaXM7DQogICAgICB2YXIga2V5ID0gZS53aGljaDsNCiAgICAgIHZhciBrZXlzID0gX3RoaXMub3B0aW9ucy5rZXlzOw0KDQogICAgICB2YXIgaXNQcmV2S2V5ID0gJC5pbkFycmF5KGtleSwga2V5cy5wcmV2aW91cykgPiAtMTsNCiAgICAgIHZhciBpc05leHRLZXkgPSAkLmluQXJyYXkoa2V5LCBrZXlzLm5leHQpID4gLTE7DQogICAgICB2YXIgaXNTZWxlY3RLZXkgPSAkLmluQXJyYXkoa2V5LCBrZXlzLnNlbGVjdCkgPiAtMTsNCiAgICAgIHZhciBpc09wZW5LZXkgPSAkLmluQXJyYXkoa2V5LCBrZXlzLm9wZW4pID4gLTE7DQogICAgICB2YXIgaWR4ID0gX3RoaXMuc3RhdGUuaGlnaGxpZ2h0ZWRJZHg7DQogICAgICB2YXIgaXNGaXJzdE9yTGFzdEl0ZW0gPSAoaXNQcmV2S2V5ICYmIGlkeCA9PT0gMCkgfHwgKGlzTmV4dEtleSAmJiAoaWR4ICsgMSkgPT09IF90aGlzLml0ZW1zLmxlbmd0aCk7DQogICAgICB2YXIgZ29Ub0l0ZW0gPSAwOw0KDQogICAgICAvLyBFbnRlciAvIFNwYWNlDQogICAgICBpZiAoIGtleSA9PT0gMTMgfHwga2V5ID09PSAzMiApIHsNCiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOw0KICAgICAgfQ0KDQogICAgICAvLyBJZiBpdCdzIGEgZGlyZWN0aW9uYWwga2V5DQogICAgICBpZiAoIGlzUHJldktleSB8fCBpc05leHRLZXkgKSB7DQogICAgICAgIGlmICggIV90aGlzLm9wdGlvbnMuYWxsb3dXcmFwICYmIGlzRmlyc3RPckxhc3RJdGVtICkgew0KICAgICAgICAgIHJldHVybjsNCiAgICAgICAgfQ0KDQogICAgICAgIGlmICggaXNQcmV2S2V5ICkgew0KICAgICAgICAgIGdvVG9JdGVtID0gX3RoaXMudXRpbHMucHJldmlvdXNFbmFibGVkSXRlbShfdGhpcy5sb29rdXBJdGVtcywgaWR4KTsNCiAgICAgICAgfQ0KDQogICAgICAgIGlmICggaXNOZXh0S2V5ICkgew0KICAgICAgICAgIGdvVG9JdGVtID0gX3RoaXMudXRpbHMubmV4dEVuYWJsZWRJdGVtKF90aGlzLmxvb2t1cEl0ZW1zLCBpZHgpOw0KICAgICAgICB9DQoNCiAgICAgICAgX3RoaXMuaGlnaGxpZ2h0KGdvVG9JdGVtKTsNCiAgICAgIH0NCg0KICAgICAgLy8gVGFiIC8gRW50ZXIgLyBFU0MNCiAgICAgIGlmICggaXNTZWxlY3RLZXkgJiYgX3RoaXMuc3RhdGUub3BlbmVkICkgew0KICAgICAgICBfdGhpcy5zZWxlY3QoaWR4KTsNCg0KICAgICAgICBpZiAoICFfdGhpcy5zdGF0ZS5tdWx0aXBsZSB8fCAhX3RoaXMub3B0aW9ucy5tdWx0aXBsZS5rZWVwTWVudU9wZW4gKSB7DQogICAgICAgICAgX3RoaXMuY2xvc2UoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybjsNCiAgICAgIH0NCg0KICAgICAgLy8gU3BhY2UgLyBFbnRlciAvIExlZnQgLyBVcCAvIFJpZ2h0IC8gRG93bg0KICAgICAgaWYgKCBpc09wZW5LZXkgJiYgIV90aGlzLnN0YXRlLm9wZW5lZCApIHsNCiAgICAgICAgX3RoaXMub3BlbigpOw0KICAgICAgfQ0KICAgIH0sDQoNCiAgICAvKiogVXBkYXRlIHRoZSBpdGVtcyBvYmplY3QgKi8NCiAgICByZWZyZXNoOiBmdW5jdGlvbigpIHsNCiAgICAgIHZhciBfdGhpcyA9IHRoaXM7DQoNCiAgICAgIF90aGlzLnBvcHVsYXRlKCk7DQogICAgICBfdGhpcy5hY3RpdmF0ZSgpOw0KICAgICAgX3RoaXMudXRpbHMudHJpZ2dlckNhbGxiYWNrKCdSZWZyZXNoJywgX3RoaXMpOw0KICAgIH0sDQoNCiAgICAvKiogU2V0IG9wdGlvbnMgYm94IHdpZHRoL2hlaWdodCAqLw0KICAgIHNldE9wdGlvbnNEaW1lbnNpb25zOiBmdW5jdGlvbigpIHsNCiAgICAgIHZhciBfdGhpcyA9IHRoaXM7DQoNCiAgICAgIC8vIENhbGN1bGF0ZSBvcHRpb25zIGJveCBoZWlnaHQNCiAgICAgIC8vIFNldCBhIHRlbXBvcmFyeSBjbGFzcyBvbiB0aGUgaGlkZGVuIHBhcmVudCBvZiB0aGUgZWxlbWVudA0KICAgICAgdmFyIGhpZGRlbkNoaWxkcmVuID0gX3RoaXMuZWxlbWVudHMuaXRlbXMuY2xvc2VzdCgnOnZpc2libGUnKS5jaGlsZHJlbignOmhpZGRlbicpLmFkZENsYXNzKF90aGlzLmNsYXNzZXMudGVtcHNob3cpOw0KICAgICAgdmFyIG1heEhlaWdodCA9IF90aGlzLm9wdGlvbnMubWF4SGVpZ2h0Ow0KICAgICAgdmFyIGl0ZW1zV2lkdGggPSBfdGhpcy5lbGVtZW50cy5pdGVtcy5vdXRlcldpZHRoKCk7DQogICAgICB2YXIgd3JhcHBlcldpZHRoID0gX3RoaXMuZWxlbWVudHMud3JhcHBlci5vdXRlcldpZHRoKCkgLSAoaXRlbXNXaWR0aCAtIF90aGlzLmVsZW1lbnRzLml0ZW1zLndpZHRoKCkpOw0KDQogICAgICAvLyBTZXQgdGhlIGRpbWVuc2lvbnMsIG1pbmltdW0gaXMgd3JhcHBlciB3aWR0aCwgZXhwYW5kIGZvciBsb25nIGl0ZW1zIGlmIG9wdGlvbiBpcyB0cnVlDQogICAgICBpZiAoICFfdGhpcy5vcHRpb25zLmV4cGFuZFRvSXRlbVRleHQgfHwgd3JhcHBlcldpZHRoID4gaXRlbXNXaWR0aCApIHsNCiAgICAgICAgX3RoaXMuZmluYWxXaWR0aCA9IHdyYXBwZXJXaWR0aDsNCiAgICAgIH0gZWxzZSB7DQogICAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgc2Nyb2xsYmFyIHdpZHRoIGlzIGluY2x1ZGVkDQogICAgICAgIF90aGlzLmVsZW1lbnRzLml0ZW1zLmNzcygnb3ZlcmZsb3cnLCAnc2Nyb2xsJyk7DQoNCiAgICAgICAgLy8gU2V0IGEgcmVhbGx5IGxvbmcgd2lkdGggZm9yIF90aGlzLmVsZW1lbnRzLm91dGVyV3JhcHBlcg0KICAgICAgICBfdGhpcy5lbGVtZW50cy5vdXRlcldyYXBwZXIud2lkdGgoOWU0KTsNCiAgICAgICAgX3RoaXMuZmluYWxXaWR0aCA9IF90aGlzLmVsZW1lbnRzLml0ZW1zLndpZHRoKCk7DQogICAgICAgIC8vIFNldCBzY3JvbGwgYmFyIHRvIGF1dG8NCiAgICAgICAgX3RoaXMuZWxlbWVudHMuaXRlbXMuY3NzKCdvdmVyZmxvdycsICcnKTsNCiAgICAgICAgX3RoaXMuZWxlbWVudHMub3V0ZXJXcmFwcGVyLndpZHRoKCcnKTsNCiAgICAgIH0NCg0KICAgICAgX3RoaXMuZWxlbWVudHMuaXRlbXMud2lkdGgoX3RoaXMuZmluYWxXaWR0aCkuaGVpZ2h0KCkgPiBtYXhIZWlnaHQgJiYgX3RoaXMuZWxlbWVudHMuaXRlbXMuaGVpZ2h0KG1heEhlaWdodCk7DQoNCiAgICAgIC8vIFJlbW92ZSB0aGUgdGVtcG9yYXJ5IGNsYXNzDQogICAgICBoaWRkZW5DaGlsZHJlbi5yZW1vdmVDbGFzcyhfdGhpcy5jbGFzc2VzLnRlbXBzaG93KTsNCiAgICB9LA0KDQogICAgLyoqIERldGVjdCBpZiB0aGUgb3B0aW9ucyBib3ggaXMgaW5zaWRlIHRoZSB3aW5kb3cgKi8NCiAgICBpc0luVmlld3BvcnQ6IGZ1bmN0aW9uKCkgew0KICAgICAgdmFyIF90aGlzID0gdGhpczsNCg0KICAgICAgaWYgKF90aGlzLm9wdGlvbnMuZm9yY2VSZW5kZXJBYm92ZSA9PT0gdHJ1ZSkgew0KICAgICAgICBfdGhpcy5lbGVtZW50cy5vdXRlcldyYXBwZXIuYWRkQ2xhc3MoX3RoaXMuY2xhc3Nlcy5hYm92ZSk7DQogICAgICB9IGVsc2UgaWYgKF90aGlzLm9wdGlvbnMuZm9yY2VSZW5kZXJCZWxvdyA9PT0gdHJ1ZSkgew0KICAgICAgICBfdGhpcy5lbGVtZW50cy5vdXRlcldyYXBwZXIuYWRkQ2xhc3MoX3RoaXMuY2xhc3Nlcy5iZWxvdyk7DQogICAgICB9IGVsc2Ugew0KICAgICAgICB2YXIgc2Nyb2xsVG9wID0gJHdpbi5zY3JvbGxUb3AoKTsNCiAgICAgICAgdmFyIHdpbkhlaWdodCA9ICR3aW4uaGVpZ2h0KCk7DQogICAgICAgIHZhciB1aVBvc1ggPSBfdGhpcy5lbGVtZW50cy5vdXRlcldyYXBwZXIub2Zmc2V0KCkudG9wOw0KICAgICAgICB2YXIgdWlIZWlnaHQgPSBfdGhpcy5lbGVtZW50cy5vdXRlcldyYXBwZXIub3V0ZXJIZWlnaHQoKTsNCg0KICAgICAgICB2YXIgZml0c0Rvd24gPSAodWlQb3NYICsgdWlIZWlnaHQgKyBfdGhpcy5pdGVtc0hlaWdodCkgPD0gKHNjcm9sbFRvcCArIHdpbkhlaWdodCk7DQogICAgICAgIHZhciBmaXRzQWJvdmUgPSAodWlQb3NYIC0gX3RoaXMuaXRlbXNIZWlnaHQpID4gc2Nyb2xsVG9wOw0KDQogICAgICAgIC8vIElmIGl0IGRvZXMgbm90IGZpdCBiZWxvdywgb25seSByZW5kZXIgaXQNCiAgICAgICAgLy8gYWJvdmUgaXQgZml0J3MgdGhlcmUuDQogICAgICAgIC8vIEl0J3MgYWNjZXB0YWJsZSB0aGF0IHRoZSB1c2VyIG5lZWRzIHRvDQogICAgICAgIC8vIHNjcm9sbCB0aGUgdmlld3BvcnQgdG8gc2VlIHRoZSBjdXQgb2ZmIFVJDQogICAgICAgIHZhciByZW5kZXJBYm92ZSA9ICFmaXRzRG93biAmJiBmaXRzQWJvdmU7DQogICAgICAgIHZhciByZW5kZXJCZWxvdyA9ICFyZW5kZXJBYm92ZTsNCg0KICAgICAgICBfdGhpcy5lbGVtZW50cy5vdXRlcldyYXBwZXIudG9nZ2xlQ2xhc3MoX3RoaXMuY2xhc3Nlcy5hYm92ZSwgcmVuZGVyQWJvdmUpOw0KICAgICAgICBfdGhpcy5lbGVtZW50cy5vdXRlcldyYXBwZXIudG9nZ2xlQ2xhc3MoX3RoaXMuY2xhc3Nlcy5iZWxvdywgcmVuZGVyQmVsb3cpOw0KICAgICAgfQ0KICAgIH0sDQoNCiAgICAvKioNCiAgICAgKiBEZXRlY3QgaWYgY3VycmVudGx5IHNlbGVjdGVkIG9wdGlvbiBpcyB2aXNpYmxlIGFuZCBzY3JvbGwgdGhlIG9wdGlvbnMgYm94IHRvIHNob3cgaXQNCiAgICAgKg0KICAgICAqIEBwYXJhbSB7TnVtYmVyfEFycmF5fSBpbmRleCAtIEluZGV4IG9mIHRoZSBzZWxlY3RlZCBpdGVtcw0KICAgICAqLw0KICAgIGRldGVjdEl0ZW1WaXNpYmlsaXR5OiBmdW5jdGlvbihpbmRleCkgew0KICAgICAgdmFyIF90aGlzID0gdGhpczsNCiAgICAgIHZhciAkZmlsdGVyZWRMaSA9IF90aGlzLiRsaS5maWx0ZXIoJ1tkYXRhLWluZGV4XScpOw0KDQogICAgICBpZiAoIF90aGlzLnN0YXRlLm11bHRpcGxlICkgew0KICAgICAgICAvLyBJZiBpbmRleCBpcyBhbiBhcnJheSwgd2UgY2FuIGFzc3VtZSBhIG11bHRpcGxlIHNlbGVjdCBhbmQgd2UNCiAgICAgICAgLy8gd2FudCB0byBzY3JvbGwgdG8gdGhlIHVwcGVybW9zdCBzZWxlY3RlZCBpdGVtIQ0KICAgICAgICAvLyBNYXRoLm1pbi5hcHBseShNYXRoLCBpbmRleCkgcmV0dXJucyB0aGUgbG93ZXN0IGVudHJ5IGluIGFuIEFycmF5Lg0KICAgICAgICBpbmRleCA9ICgkLmlzQXJyYXkoaW5kZXgpICYmIGluZGV4Lmxlbmd0aCA9PT0gMCkgPyAwIDogaW5kZXg7DQogICAgICAgIGluZGV4ID0gJC5pc0FycmF5KGluZGV4KSA/IE1hdGgubWluLmFwcGx5KE1hdGgsIGluZGV4KSA6IGluZGV4Ow0KICAgICAgfQ0KDQogICAgICB2YXIgbGlIZWlnaHQgPSAkZmlsdGVyZWRMaS5lcShpbmRleCkub3V0ZXJIZWlnaHQoKTsNCiAgICAgIHZhciBsaVRvcCA9ICRmaWx0ZXJlZExpW2luZGV4XS5vZmZzZXRUb3A7DQogICAgICB2YXIgaXRlbXNTY3JvbGxUb3AgPSBfdGhpcy5lbGVtZW50cy5pdGVtc1Njcm9sbC5zY3JvbGxUb3AoKTsNCiAgICAgIHZhciBzY3JvbGxUID0gbGlUb3AgKyBsaUhlaWdodCAqIDI7DQoNCiAgICAgIF90aGlzLmVsZW1lbnRzLml0ZW1zU2Nyb2xsLnNjcm9sbFRvcCgNCiAgICAgICAgc2Nyb2xsVCA+IGl0ZW1zU2Nyb2xsVG9wICsgX3RoaXMuaXRlbXNIZWlnaHQgPyBzY3JvbGxUIC0gX3RoaXMuaXRlbXNIZWlnaHQgOg0KICAgICAgICAgIGxpVG9wIC0gbGlIZWlnaHQgPCBpdGVtc1Njcm9sbFRvcCA/IGxpVG9wIC0gbGlIZWlnaHQgOg0KICAgICAgICAgICAgaXRlbXNTY3JvbGxUb3ANCiAgICAgICk7DQogICAgfSwNCg0KICAgIC8qKg0KICAgICAqIE9wZW4gdGhlIHNlbGVjdCBvcHRpb25zIGJveA0KICAgICAqDQogICAgICogQHBhcmFtIHtFdmVudH0gZSAtIEV2ZW50DQogICAgICovDQogICAgb3BlbjogZnVuY3Rpb24oZSkgew0KICAgICAgdmFyIF90aGlzID0gdGhpczsNCg0KICAgICAgaWYgKCBfdGhpcy5vcHRpb25zLm5hdGl2ZU9uTW9iaWxlICYmIF90aGlzLnV0aWxzLmlzTW9iaWxlKCkpIHsNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgfQ0KDQogICAgICBfdGhpcy51dGlscy50cmlnZ2VyQ2FsbGJhY2soJ0JlZm9yZU9wZW4nLCBfdGhpcyk7DQoNCiAgICAgIGlmICggZSApIHsNCiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOw0KICAgICAgICBpZiAoX3RoaXMub3B0aW9ucy5zdG9wUHJvcGFnYXRpb24pIHsNCiAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOw0KICAgICAgICB9DQogICAgICB9DQoNCiAgICAgIGlmICggX3RoaXMuc3RhdGUuZW5hYmxlZCApIHsNCiAgICAgICAgX3RoaXMuc2V0T3B0aW9uc0RpbWVuc2lvbnMoKTsNCg0KICAgICAgICAvLyBGaW5kIGFueSBvdGhlciBvcGVuZWQgaW5zdGFuY2VzIG9mIHNlbGVjdCBhbmQgY2xvc2UgaXQNCiAgICAgICAgJCgnLicgKyBfdGhpcy5jbGFzc2VzLmhpZGVzZWxlY3QsICcuJyArIF90aGlzLmNsYXNzZXMub3BlbikuY2hpbGRyZW4oKVtwbHVnaW5OYW1lXSgnY2xvc2UnKTsNCg0KICAgICAgICBfdGhpcy5zdGF0ZS5vcGVuZWQgPSB0cnVlOw0KICAgICAgICBfdGhpcy5pdGVtc0hlaWdodCA9IF90aGlzLmVsZW1lbnRzLml0ZW1zLm91dGVySGVpZ2h0KCk7DQogICAgICAgIF90aGlzLml0ZW1zSW5uZXJIZWlnaHQgPSBfdGhpcy5lbGVtZW50cy5pdGVtcy5oZWlnaHQoKTsNCg0KICAgICAgICAvLyBUb2dnbGUgb3B0aW9ucyBib3ggdmlzaWJpbGl0eQ0KICAgICAgICBfdGhpcy5lbGVtZW50cy5vdXRlcldyYXBwZXIuYWRkQ2xhc3MoX3RoaXMuY2xhc3Nlcy5vcGVuKTsNCg0KICAgICAgICAvLyBHaXZlIGR1bW15IGlucHV0IGZvY3VzDQogICAgICAgIF90aGlzLmVsZW1lbnRzLmlucHV0LnZhbCgnJyk7DQogICAgICAgIGlmICggZSAmJiBlLnR5cGUgIT09ICdmb2N1c2luJyApIHsNCiAgICAgICAgICBfdGhpcy5lbGVtZW50cy5pbnB1dC5mb2N1cygpOw0KICAgICAgICB9DQoNCiAgICAgICAgLy8gRGVsYXllZCBiaW5kcyBldmVudHMgb24gRG9jdW1lbnQgdG8gbWFrZSBsYWJlbCBjbGlja3Mgd29yaw0KICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgew0KICAgICAgICAgICRkb2MNCiAgICAgICAgICAgIC5vbignY2xpY2snICsgZXZlbnROYW1lc3BhY2VTdWZmaXgsICQucHJveHkoX3RoaXMuY2xvc2UsIF90aGlzKSkNCiAgICAgICAgICAgIC5vbignc2Nyb2xsJyArIGV2ZW50TmFtZXNwYWNlU3VmZml4LCAkLnByb3h5KF90aGlzLmlzSW5WaWV3cG9ydCwgX3RoaXMpKTsNCiAgICAgICAgfSwgMSk7DQoNCiAgICAgICAgX3RoaXMuaXNJblZpZXdwb3J0KCk7DQoNCiAgICAgICAgLy8gUHJldmVudCB3aW5kb3cgc2Nyb2xsIHdoZW4gdXNpbmcgbW91c2Ugd2hlZWwgaW5zaWRlIGl0ZW1zIGJveA0KICAgICAgICBpZiAoIF90aGlzLm9wdGlvbnMucHJldmVudFdpbmRvd1Njcm9sbCApIHsNCiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLw0KICAgICAgICAgICRkb2Mub24oJ21vdXNld2hlZWwnICsgZXZlbnROYW1lc3BhY2VTdWZmaXggKyAnIERPTU1vdXNlU2Nyb2xsJyArIGV2ZW50TmFtZXNwYWNlU3VmZml4LCAnLicgKyBfdGhpcy5jbGFzc2VzLnNjcm9sbCwgZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgdmFyIG9yZ0V2ZW50ID0gZS5vcmlnaW5hbEV2ZW50Ow0KICAgICAgICAgICAgdmFyIHNjcm9sbFRvcCA9ICQodGhpcykuc2Nyb2xsVG9wKCk7DQogICAgICAgICAgICB2YXIgZGVsdGFZID0gMDsNCg0KICAgICAgICAgICAgaWYgKCAnZGV0YWlsJyAgICAgIGluIG9yZ0V2ZW50ICkgeyBkZWx0YVkgPSBvcmdFdmVudC5kZXRhaWwgKiAtMTsgfQ0KICAgICAgICAgICAgaWYgKCAnd2hlZWxEZWx0YScgIGluIG9yZ0V2ZW50ICkgeyBkZWx0YVkgPSBvcmdFdmVudC53aGVlbERlbHRhOyAgfQ0KICAgICAgICAgICAgaWYgKCAnd2hlZWxEZWx0YVknIGluIG9yZ0V2ZW50ICkgeyBkZWx0YVkgPSBvcmdFdmVudC53aGVlbERlbHRhWTsgfQ0KICAgICAgICAgICAgaWYgKCAnZGVsdGFZJyAgICAgIGluIG9yZ0V2ZW50ICkgeyBkZWx0YVkgPSBvcmdFdmVudC5kZWx0YVkgKiAtMTsgfQ0KDQogICAgICAgICAgICBpZiAoIHNjcm9sbFRvcCA9PT0gKHRoaXMuc2Nyb2xsSGVpZ2h0IC0gX3RoaXMuaXRlbXNJbm5lckhlaWdodCkgJiYgZGVsdGFZIDwgMCB8fCBzY3JvbGxUb3AgPT09IDAgJiYgZGVsdGFZID4gMCApIHsNCiAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgIH0pOw0KICAgICAgICB9DQoNCiAgICAgICAgX3RoaXMuZGV0ZWN0SXRlbVZpc2liaWxpdHkoX3RoaXMuc3RhdGUuc2VsZWN0ZWRJZHgpOw0KDQogICAgICAgIF90aGlzLmhpZ2hsaWdodChfdGhpcy5zdGF0ZS5tdWx0aXBsZSA/IC0xIDogX3RoaXMuc3RhdGUuc2VsZWN0ZWRJZHgpOw0KDQogICAgICAgIF90aGlzLnV0aWxzLnRyaWdnZXJDYWxsYmFjaygnT3BlbicsIF90aGlzKTsNCiAgICAgIH0NCiAgICB9LA0KDQogICAgLyoqIENsb3NlIHRoZSBzZWxlY3Qgb3B0aW9ucyBib3ggKi8NCiAgICBjbG9zZTogZnVuY3Rpb24oKSB7DQogICAgICB2YXIgX3RoaXMgPSB0aGlzOw0KDQogICAgICBfdGhpcy51dGlscy50cmlnZ2VyQ2FsbGJhY2soJ0JlZm9yZUNsb3NlJywgX3RoaXMpOw0KDQogICAgICAvLyBSZW1vdmUgY3VzdG9tIGV2ZW50cyBvbiBkb2N1bWVudA0KICAgICAgJGRvYy5vZmYoZXZlbnROYW1lc3BhY2VTdWZmaXgpOw0KDQogICAgICAvLyBSZW1vdmUgdmlzaWJsZSBjbGFzcyB0byBoaWRlIG9wdGlvbnMgYm94DQogICAgICBfdGhpcy5lbGVtZW50cy5vdXRlcldyYXBwZXIucmVtb3ZlQ2xhc3MoX3RoaXMuY2xhc3Nlcy5vcGVuKTsNCg0KICAgICAgX3RoaXMuc3RhdGUub3BlbmVkID0gZmFsc2U7DQoNCiAgICAgIF90aGlzLnV0aWxzLnRyaWdnZXJDYWxsYmFjaygnQ2xvc2UnLCBfdGhpcyk7DQogICAgfSwNCg0KICAgIC8qKiBTZWxlY3QgY3VycmVudCBvcHRpb24gYW5kIGNoYW5nZSB0aGUgbGFiZWwgKi8NCiAgICBjaGFuZ2U6IGZ1bmN0aW9uKCkgew0KICAgICAgdmFyIF90aGlzID0gdGhpczsNCg0KICAgICAgX3RoaXMudXRpbHMudHJpZ2dlckNhbGxiYWNrKCdCZWZvcmVDaGFuZ2UnLCBfdGhpcyk7DQoNCiAgICAgIGlmICggX3RoaXMuc3RhdGUubXVsdGlwbGUgKSB7DQogICAgICAgIC8vIFJlc2V0IG9sZCBzZWxlY3RlZA0KICAgICAgICAkLmVhY2goX3RoaXMubG9va3VwSXRlbXMsIGZ1bmN0aW9uKGlkeCkgew0KICAgICAgICAgIF90aGlzLmxvb2t1cEl0ZW1zW2lkeF0uc2VsZWN0ZWQgPSBmYWxzZTsNCiAgICAgICAgICBfdGhpcy4kZWxlbWVudC5maW5kKCdvcHRpb24nKS5wcm9wKCdzZWxlY3RlZCcsIGZhbHNlKTsNCiAgICAgICAgfSk7DQoNCiAgICAgICAgLy8gU2V0IG5ldyBzZWxlY3RlZA0KICAgICAgICAkLmVhY2goX3RoaXMuc3RhdGUuc2VsZWN0ZWRJZHgsIGZ1bmN0aW9uKGlkeCwgdmFsdWUpIHsNCiAgICAgICAgICBfdGhpcy5sb29rdXBJdGVtc1t2YWx1ZV0uc2VsZWN0ZWQgPSB0cnVlOw0KICAgICAgICAgIF90aGlzLiRlbGVtZW50LmZpbmQoJ29wdGlvbicpLmVxKHZhbHVlKS5wcm9wKCdzZWxlY3RlZCcsIHRydWUpOw0KICAgICAgICB9KTsNCg0KICAgICAgICBfdGhpcy5zdGF0ZS5jdXJyVmFsdWUgPSBfdGhpcy5zdGF0ZS5zZWxlY3RlZElkeDsNCg0KICAgICAgICBfdGhpcy5zZXRMYWJlbCgpOw0KDQogICAgICAgIF90aGlzLnV0aWxzLnRyaWdnZXJDYWxsYmFjaygnQ2hhbmdlJywgX3RoaXMpOw0KICAgICAgfSBlbHNlIGlmICggX3RoaXMuc3RhdGUuY3VyclZhbHVlICE9PSBfdGhpcy5zdGF0ZS5zZWxlY3RlZElkeCApIHsNCiAgICAgICAgLy8gQXBwbHkgY2hhbmdlZCB2YWx1ZSB0byBvcmlnaW5hbCBzZWxlY3QNCiAgICAgICAgX3RoaXMuJGVsZW1lbnQNCiAgICAgICAgICAucHJvcCgnc2VsZWN0ZWRJbmRleCcsIF90aGlzLnN0YXRlLmN1cnJWYWx1ZSA9IF90aGlzLnN0YXRlLnNlbGVjdGVkSWR4KQ0KICAgICAgICAgIC5kYXRhKCd2YWx1ZScsIF90aGlzLmxvb2t1cEl0ZW1zW190aGlzLnN0YXRlLnNlbGVjdGVkSWR4XS50ZXh0KTsNCg0KICAgICAgICAvLyBDaGFuZ2UgbGFiZWwgdGV4dA0KICAgICAgICBfdGhpcy5zZXRMYWJlbCgpOw0KDQogICAgICAgIF90aGlzLnV0aWxzLnRyaWdnZXJDYWxsYmFjaygnQ2hhbmdlJywgX3RoaXMpOw0KICAgICAgfQ0KICAgIH0sDQoNCiAgICAvKioNCiAgICAgKiBIaWdobGlnaHQgb3B0aW9uDQogICAgICogQHBhcmFtIHtudW1iZXJ9IGluZGV4IC0gSW5kZXggb2YgdGhlIG9wdGlvbnMgdGhhdCB3aWxsIGJlIGhpZ2hsaWdodGVkDQogICAgICovDQogICAgaGlnaGxpZ2h0OiBmdW5jdGlvbihpbmRleCkgew0KICAgICAgdmFyIF90aGlzID0gdGhpczsNCiAgICAgIHZhciAkZmlsdGVyZWRMaSA9IF90aGlzLiRsaS5maWx0ZXIoJ1tkYXRhLWluZGV4XScpLnJlbW92ZUNsYXNzKCdoaWdobGlnaHRlZCcpOw0KDQogICAgICBfdGhpcy51dGlscy50cmlnZ2VyQ2FsbGJhY2soJ0JlZm9yZUhpZ2hsaWdodCcsIF90aGlzKTsNCg0KICAgICAgLy8gUGFyYW1ldGVyIGluZGV4IGlzIHJlcXVpcmVkIGFuZCBzaG91bGQgbm90IGJlIGEgZGlzYWJsZWQgaXRlbQ0KICAgICAgaWYgKCBpbmRleCA9PT0gdW5kZWZpbmVkIHx8IGluZGV4ID09PSAtMSB8fCBfdGhpcy5sb29rdXBJdGVtc1tpbmRleF0uZGlzYWJsZWQgKSB7DQogICAgICAgIHJldHVybjsNCiAgICAgIH0NCg0KICAgICAgJGZpbHRlcmVkTGkNCiAgICAgICAgLmVxKF90aGlzLnN0YXRlLmhpZ2hsaWdodGVkSWR4ID0gaW5kZXgpDQogICAgICAgIC5hZGRDbGFzcygnaGlnaGxpZ2h0ZWQnKTsNCg0KICAgICAgX3RoaXMuZGV0ZWN0SXRlbVZpc2liaWxpdHkoaW5kZXgpOw0KDQogICAgICBfdGhpcy51dGlscy50cmlnZ2VyQ2FsbGJhY2soJ0hpZ2hsaWdodCcsIF90aGlzKTsNCiAgICB9LA0KDQogICAgLyoqDQogICAgICogU2VsZWN0IG9wdGlvbg0KICAgICAqDQogICAgICogQHBhcmFtIHtudW1iZXJ9IGluZGV4IC0gSW5kZXggb2YgdGhlIG9wdGlvbiB0aGF0IHdpbGwgYmUgc2VsZWN0ZWQNCiAgICAgKi8NCiAgICBzZWxlY3Q6IGZ1bmN0aW9uKGluZGV4KSB7DQogICAgICB2YXIgX3RoaXMgPSB0aGlzOw0KICAgICAgdmFyICRmaWx0ZXJlZExpID0gX3RoaXMuJGxpLmZpbHRlcignW2RhdGEtaW5kZXhdJyk7DQoNCiAgICAgIF90aGlzLnV0aWxzLnRyaWdnZXJDYWxsYmFjaygnQmVmb3JlU2VsZWN0JywgX3RoaXMsIGluZGV4KTsNCg0KICAgICAgLy8gUGFyYW1ldGVyIGluZGV4IGlzIHJlcXVpcmVkIGFuZCBzaG91bGQgbm90IGJlIGEgZGlzYWJsZWQgaXRlbQ0KICAgICAgaWYgKCBpbmRleCA9PT0gdW5kZWZpbmVkIHx8IGluZGV4ID09PSAtMSB8fCBfdGhpcy5sb29rdXBJdGVtc1tpbmRleF0uZGlzYWJsZWQgKSB7DQogICAgICAgIHJldHVybjsNCiAgICAgIH0NCg0KICAgICAgaWYgKCBfdGhpcy5zdGF0ZS5tdWx0aXBsZSApIHsNCiAgICAgICAgLy8gTWFrZSBzdXJlIHNlbGVjdGVkSWR4IGlzIGFuIGFycmF5DQogICAgICAgIF90aGlzLnN0YXRlLnNlbGVjdGVkSWR4ID0gJC5pc0FycmF5KF90aGlzLnN0YXRlLnNlbGVjdGVkSWR4KSA/IF90aGlzLnN0YXRlLnNlbGVjdGVkSWR4IDogW190aGlzLnN0YXRlLnNlbGVjdGVkSWR4XTsNCg0KICAgICAgICB2YXIgaGFzU2VsZWN0ZWRJbmRleCA9ICQuaW5BcnJheShpbmRleCwgX3RoaXMuc3RhdGUuc2VsZWN0ZWRJZHgpOw0KICAgICAgICBpZiAoIGhhc1NlbGVjdGVkSW5kZXggIT09IC0xICkgew0KICAgICAgICAgIF90aGlzLnN0YXRlLnNlbGVjdGVkSWR4LnNwbGljZShoYXNTZWxlY3RlZEluZGV4LCAxKTsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICBfdGhpcy5zdGF0ZS5zZWxlY3RlZElkeC5wdXNoKGluZGV4KTsNCiAgICAgICAgfQ0KDQogICAgICAgICRmaWx0ZXJlZExpDQogICAgICAgICAgLnJlbW92ZUNsYXNzKCdzZWxlY3RlZCcpDQogICAgICAgICAgLmZpbHRlcihmdW5jdGlvbihpbmRleCkgew0KICAgICAgICAgICAgcmV0dXJuICQuaW5BcnJheShpbmRleCwgX3RoaXMuc3RhdGUuc2VsZWN0ZWRJZHgpICE9PSAtMTsNCiAgICAgICAgICB9KQ0KICAgICAgICAgIC5hZGRDbGFzcygnc2VsZWN0ZWQnKTsNCiAgICAgIH0gZWxzZSB7DQogICAgICAgICRmaWx0ZXJlZExpDQogICAgICAgICAgLnJlbW92ZUNsYXNzKCdzZWxlY3RlZCcpDQogICAgICAgICAgLmVxKF90aGlzLnN0YXRlLnNlbGVjdGVkSWR4ID0gaW5kZXgpDQogICAgICAgICAgLmFkZENsYXNzKCdzZWxlY3RlZCcpOw0KICAgICAgfQ0KDQogICAgICBpZiAoICFfdGhpcy5zdGF0ZS5tdWx0aXBsZSB8fCAhX3RoaXMub3B0aW9ucy5tdWx0aXBsZS5rZWVwTWVudU9wZW4gKSB7DQogICAgICAgIF90aGlzLmNsb3NlKCk7DQogICAgICB9DQoNCiAgICAgIF90aGlzLmNoYW5nZSgpOw0KDQogICAgICBfdGhpcy51dGlscy50cmlnZ2VyQ2FsbGJhY2soJ1NlbGVjdCcsIF90aGlzLCBpbmRleCk7DQogICAgfSwNCg0KICAgIC8qKg0KICAgICAqIFVuYmluZCBhbmQgcmVtb3ZlDQogICAgICoNCiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IHByZXNlcnZlRGF0YSAtIENoZWNrIGlmIHRoZSBkYXRhIG9uIHRoZSBlbGVtZW50IHNob3VsZCBiZSByZW1vdmVkIHRvbw0KICAgICAqLw0KICAgIGRlc3Ryb3k6IGZ1bmN0aW9uKHByZXNlcnZlRGF0YSkgew0KICAgICAgdmFyIF90aGlzID0gdGhpczsNCg0KICAgICAgaWYgKCBfdGhpcy5zdGF0ZSAmJiBfdGhpcy5zdGF0ZS5lbmFibGVkICkgew0KICAgICAgICBfdGhpcy5lbGVtZW50cy5pdGVtcy5hZGQoX3RoaXMuZWxlbWVudHMud3JhcHBlcikuYWRkKF90aGlzLmVsZW1lbnRzLmlucHV0KS5yZW1vdmUoKTsNCg0KICAgICAgICBpZiAoICFwcmVzZXJ2ZURhdGEgKSB7DQogICAgICAgICAgX3RoaXMuJGVsZW1lbnQucmVtb3ZlRGF0YShwbHVnaW5OYW1lKS5yZW1vdmVEYXRhKCd2YWx1ZScpOw0KICAgICAgICB9DQoNCiAgICAgICAgX3RoaXMuJGVsZW1lbnQucHJvcCgndGFiaW5kZXgnLCBfdGhpcy5vcmlnaW5hbFRhYmluZGV4KS5vZmYoZXZlbnROYW1lc3BhY2VTdWZmaXgpLm9mZihfdGhpcy5ldmVudFRyaWdnZXJzKS51bndyYXAoKS51bndyYXAoKTsNCg0KICAgICAgICBfdGhpcy5zdGF0ZS5lbmFibGVkID0gZmFsc2U7DQogICAgICB9DQogICAgfQ0KICB9Ow0KDQogIC8vIEEgcmVhbGx5IGxpZ2h0d2VpZ2h0IHBsdWdpbiB3cmFwcGVyIGFyb3VuZCB0aGUgY29uc3RydWN0b3IsDQogIC8vIHByZXZlbnRpbmcgYWdhaW5zdCBtdWx0aXBsZSBpbnN0YW50aWF0aW9ucw0KICAkLmZuW3BsdWdpbk5hbWVdID0gZnVuY3Rpb24oYXJncykgew0KICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICB2YXIgZGF0YSA9ICQuZGF0YSh0aGlzLCBwbHVnaW5OYW1lKTsNCg0KICAgICAgaWYgKCBkYXRhICYmICFkYXRhLmRpc2FibGVPbk1vYmlsZSApIHsNCiAgICAgICAgKHR5cGVvZiBhcmdzID09PSAnc3RyaW5nJyAmJiBkYXRhW2FyZ3NdKSA/IGRhdGFbYXJnc10oKSA6IGRhdGEuaW5pdChhcmdzKTsNCiAgICAgIH0gZWxzZSB7DQogICAgICAgICQuZGF0YSh0aGlzLCBwbHVnaW5OYW1lLCBuZXcgU2VsZWN0cmljKHRoaXMsIGFyZ3MpKTsNCiAgICAgIH0NCiAgICB9KTsNCiAgfTsNCg0KICAvKioNCiAgICogRGVmYXVsdCBwbHVnaW4gb3B0aW9ucw0KICAgKg0KICAgKiBAdHlwZSB7b2JqZWN0fQ0KICAgKi8NCiAgJC5mbltwbHVnaW5OYW1lXS5kZWZhdWx0cyA9IHsNCiAgICBvbkNoYW5nZSAgICAgICAgICAgICA6IGZ1bmN0aW9uKGVsbSkgeyAkKGVsbSkuY2hhbmdlKCk7IH0sDQogICAgbWF4SGVpZ2h0ICAgICAgICAgICAgOiAzMDAsDQogICAga2V5U2VhcmNoVGltZW91dCAgICAgOiA1MDAsDQogICAgYXJyb3dCdXR0b25NYXJrdXAgICAgOiAnPGIgY2xhc3M9ImJ1dHRvbiI+JiN4MjViZTs8L2I+JywNCiAgICBkaXNhYmxlT25Nb2JpbGUgICAgICA6IGZhbHNlLA0KICAgIG5hdGl2ZU9uTW9iaWxlICAgICAgIDogdHJ1ZSwNCiAgICBvcGVuT25Gb2N1cyAgICAgICAgICA6IHRydWUsDQogICAgb3Blbk9uSG92ZXIgICAgICAgICAgOiBmYWxzZSwNCiAgICBob3ZlckludGVudFRpbWVvdXQgICA6IDUwMCwNCiAgICBleHBhbmRUb0l0ZW1UZXh0ICAgICA6IGZhbHNlLA0KICAgIHJlc3BvbnNpdmUgICAgICAgICAgIDogZmFsc2UsDQogICAgcHJldmVudFdpbmRvd1Njcm9sbCAgOiB0cnVlLA0KICAgIGluaGVyaXRPcmlnaW5hbFdpZHRoIDogZmFsc2UsDQogICAgYWxsb3dXcmFwICAgICAgICAgICAgOiB0cnVlLA0KICAgIGZvcmNlUmVuZGVyQWJvdmUgICAgIDogZmFsc2UsDQogICAgZm9yY2VSZW5kZXJCZWxvdyAgICAgOiBmYWxzZSwNCiAgICBzdG9wUHJvcGFnYXRpb24gICAgICA6IHRydWUsDQogICAgb3B0aW9uc0l0ZW1CdWlsZGVyICAgOiAne3RleHR9JywgLy8gZnVuY3Rpb24oaXRlbURhdGEsIGVsZW1lbnQsIGluZGV4KQ0KICAgIGxhYmVsQnVpbGRlciAgICAgICAgIDogJ3t0ZXh0fScsIC8vIGZ1bmN0aW9uKGN1cnJJdGVtKQ0KICAgIGxpc3RCdWlsZGVyICAgICAgICAgIDogZmFsc2UsICAgIC8vIGZ1bmN0aW9uKGl0ZW1zKQ0KICAgIGtleXMgICAgICAgICAgICAgICAgIDogew0KICAgICAgcHJldmlvdXMgOiBbMzcsIDM4XSwgICAgICAgICAgICAgICAgIC8vIExlZnQgLyBVcA0KICAgICAgbmV4dCAgICAgOiBbMzksIDQwXSwgICAgICAgICAgICAgICAgIC8vIFJpZ2h0IC8gRG93bg0KICAgICAgc2VsZWN0ICAgOiBbOSwgMTMsIDI3XSwgICAgICAgICAgICAgIC8vIFRhYiAvIEVudGVyIC8gRXNjYXBlDQogICAgICBvcGVuICAgICA6IFsxMywgMzIsIDM3LCAzOCwgMzksIDQwXSwgLy8gRW50ZXIgLyBTcGFjZSAvIExlZnQgLyBVcCAvIFJpZ2h0IC8gRG93bg0KICAgICAgY2xvc2UgICAgOiBbOSwgMjddICAgICAgICAgICAgICAgICAgIC8vIFRhYiAvIEVzY2FwZQ0KICAgIH0sDQogICAgY3VzdG9tQ2xhc3MgICAgICAgICAgOiB7DQogICAgICBwcmVmaXg6IHBsdWdpbk5hbWUsDQogICAgICBjYW1lbENhc2U6IGZhbHNlDQogICAgfSwNCiAgICBtdWx0aXBsZSAgICAgICAgICAgICAgOiB7DQogICAgICBzZXBhcmF0b3I6ICcsICcsDQogICAgICBrZWVwTWVudU9wZW46IHRydWUsDQogICAgICBtYXhMYWJlbEVudHJpZXM6IGZhbHNlDQogICAgfQ0KICB9Ow0KfSkpOw0K"}},"time_used":28,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":28,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":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":"104.21.63.32","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.683Z","timestamp":1785120633683,"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://247optiontradefx.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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 200 \r\nx-amz-id-2: acfy4yV0hNGDZyfoIOBuAcpZ830diCRSUHcw7R7Y15TMkuSwLz169JCJW401UG51dQimFeY3Pl8=\r\nx-amz-request-id: XJT10ZHWT65SDYTK\r\ndate: Mon, 27 Jul 2026 02:50:33 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=oT5LexeYj%2F92YGgcsLHS7wj0wY4rJx5iTD0Riitd5HlJT2OUSjIRXibPu1CJodwzW8nIWkDYpySbG79yb2091Uss9JgDhU0%2BDB4RAAJoMCot9fuoLziFxYu0nfTY2ritTkvDpKS644Shy4fe\"}]}\r\npriority: u=4,i\r\ncf-bgj: imgq:85,h2pri\r\nage: 192\r\ncf-ray: a21856589ac58be6-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":"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":9454,"size_decoded":10458,"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-27T05:27:09.055299Z","times_seen":619,"resource_available":false,"data":"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"}},"time_used":29,"timings":{"blocked":-1,"dns":6,"connect":12,"send":0,"wait":8,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/embed_screener_v1_widget.3c6dcb48241b38ad20cd.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.028Z","timestamp":1785120634028,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/embed_screener_v1_widget.3c6dcb48241b38ad20cd.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-9324c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:53:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: cc1d7005bc224eabb1d545c7f983332f\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":602700,"size_decoded":163680,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (6334)","md5":"b07d7762afc64303abb48d31f9b49b37","sha1":"1c890e25377b837bc68ec086492e285e65d16c18","sha256":"1eb5c13d7babdf9d1b73d7ad5a55022781e5d3f382adc1ee187565d64a40827f","sha512":"a8f88cc675c375635ddd8bede571efff87e5328f1d0d90c979d7b07ebc0ae4eb81802b64a9d6eff50ce17142110fbbb224ff8fc3c4c22a1338431110a908c8b5","ssdeep":"12288:N5WOCvvhWwgPkUciIrBbM37JDMclwUYGZTw7yhLrLl1wrFh:N5WOitgPkDiIrBbM37JDMclwUYGZTw7N","tlshash":"8dd43a71a1a5293011f6c2dad8b66406623d2647f80604adfe7d8cdf168ee45f13bf3a","first_seen":"2026-07-25T03:24:57.336653Z","last_seen":"2026-07-27T05:29:38.766976Z","times_seen":94,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxMjk2NSw0NjQ4Miw2NDAxOSw4MDkzOSw4NTYwNyw4NjkxNCw5MTI5Ml0sezg0ODUyNyhlKXtlLmV4cG9ydHM9e319LDE5NjIxKGUpe2UuZXhwb3J0cz17bGlzdDoibGlzdC1HTlc2QnZHbyIsaXRlbToiaXRlbS1HTlc2QnZHbyJ9fSw5MjQ1MDcoZSl7ZS5leHBvcnRzPXsidGFibGV0LW5vcm1hbC1icmVha3BvaW50IjoiKG1heC13aWR0aDogNzY4cHgpIiwic21hbGwtaGVpZ2h0LWJyZWFrcG9pbnQiOiIobWF4LWhlaWdodDogMzYwcHgpIiwidGFibGV0LXNtYWxsLWJyZWFrcG9pbnQiOiIobWF4LXdpZHRoOiA0NDBweCkifX0sMjQ0NTI1KGUpe2UuZXhwb3J0cz17bG9hZGVyOiJsb2FkZXItTWdmOEVGd0siLHN0YXRpYzoic3RhdGljLU1nZjhFRndLIixpdGVtOiJpdGVtLU1nZjhFRndLIiwidHYtYnV0dG9uLWxvYWRlciI6InR2LWJ1dHRvbi1sb2FkZXItTWdmOEVGd0siLG1lZGl1bToibWVkaXVtLU1nZjhFRndLIixzbWFsbDoic21hbGwtTWdmOEVGd0siLGJsYWNrOiJibGFjay1NZ2Y4RUZ3SyIsd2hpdGU6IndoaXRlLU1nZjhFRndLIixncmF5OiJncmF5LU1nZjhFRndLIixwcmltYXJ5OiJwcmltYXJ5LU1nZjhFRndLIn19LDg0NTU3NyhlKXtlLmV4cG9ydHM9eyJ0di1zcGlubmVyX19jb250YWluZXItcm90YXRlIjoidHYtc3Bpbm5lcl9fY29udGFpbmVyLXJvdGF0ZS1qNEpscllWSCIsInR2LXNwaW5uZXJfX2NvbnRhaW5lci1yb3RhdGUtcnRsIjoidHYtc3Bpbm5lcl9fY29udGFpbmVyLXJvdGF0ZS1ydGwtajRKbHJZVkgifX0sNjI1NzA5KGUpe2UuZXhwb3J0cz17c21hbGw6InNtYWxsLXRXRElDVGF5IixtZWRpdW06Im1lZGl1bS10V0RJQ1RheSIsbGFyZ2U6ImxhcmdlLXRXRElDVGF5Iixzd2l0Y2hWaWV3OiJzd2l0Y2hWaWV3LXRXRElDVGF5IixjaGVja2VkOiJjaGVja2VkLXRXRElDVGF5IixkaXNhYmxlZDoiZGlzYWJsZWQtdFdESUNUYXkiLHRyYWNrOiJ0cmFjay10V0RJQ1RheSIsdGh1bWI6InRodW1iLXRXRElDVGF5In19LDY4NzU0NyhlKXtlLmV4cG9ydHM9e3N3aXRjaGVyOiJzd2l0Y2hlci1sM0R0S0xzTCIsaW5wdXQ6ImlucHV0LWwzRHRLTHNMIix0aHVtYldyYXBwZXI6InRodW1iV3JhcHBlci1sM0R0S0xzTCIsZGlzYWJsZWQ6ImRpc2FibGVkLWwzRHRLTHNMIixjaGVja2VkOiJjaGVja2VkLWwzRHRLTHNMIn19LDE3MjM3MShlKXtlLmV4cG9ydHM9e319LDc5MDUwMShlKXtlLmV4cG9ydHM9e319LDE2NzU1OShlKXtlLmV4cG9ydHM9e319LDQ4OTc1MihlKXtlLmV4cG9ydHM9e319LDQ1NTU3KGUpe2UuZXhwb3J0cz17fX0sNTUwNzA1KGUpe2UuZXhwb3J0cz17fX0sNTkzMjYzKGUpe2UuZXhwb3J0cz17fX0sOTIyMjA2KGUpe2UuZXhwb3J0cz17fX0sNTUxMjE1KGUpe2UuZXhwb3J0cz17ImZsaWNrLXRoZW1lLWRhcmsiOiJmbGljay10aGVtZS1kYXJrLXpQaVY2U1k0IixmbGljazoiZmxpY2stelBpVjZTWTQifX0sNDQ2OTU2KGUpe2UuZXhwb3J0cz17InR2LXB1bHNlLWFuaW1hdGlvbi1idXR0b24iOiJ0di1wdWxzZS1hbmltYXRpb24tYnV0dG9uLUFSZGJNMHlEIn19LDk1MjY4NihlKXtlLmV4cG9ydHM9e319LDk3NTI0NChlKXtlLmV4cG9ydHM9e319LDExMjYxMyhlKXtlLmV4cG9ydHM9e319LDgwNDYxOShlKXtlLmV4cG9ydHM9e319LDE1Mzc3KGUpe2UuZXhwb3J0cz17bW9kZVRpdGxlOiJtb2RlVGl0bGUtanNUM1M0TUEiLG1vZGVUaXRsZUFjdGl2ZToibW9kZVRpdGxlQWN0aXZlLWpzVDNTNE1BIixzd2l0Y2hlckNvbnRhaW5lcjoic3dpdGNoZXJDb250YWluZXItanNUM1M0TUEifX0sMzUxODI3KGUpe2UuZXhwb3J0cz17bGluazoibGluay1VSVFwTExOcyJ9fSw0NTAyOTUoZSl7ZS5leHBvcnRzPXt9fSw0NDM2MjAoZSl7ZS5leHBvcnRzPXt9fSw2NjIzOTIoZSl7ZS5leHBvcnRzPXt9fSwxMTQwNjgoZSl7ZS5leHBvcnRzPXsiY29tbW9uLXRvb2x0aXAiOiJjb21tb24tdG9vbHRpcC1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwLS1oaWRkZW4iOiJjb21tb24tdG9vbHRpcC0taGlkZGVuLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXAtLWhvcml6b250YWwiOiJjb21tb24tdG9vbHRpcC0taG9yaXpvbnRhbC1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwLS1mYXJ0aGVyIjoiY29tbW9uLXRvb2x0aXAtLWZhcnRoZXItRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcC0tdmVydGljYWwiOiJjb21tb24tdG9vbHRpcC0tdmVydGljYWwtRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcC1mYXJ0aGVyIjoiY29tbW9uLXRvb2x0aXAtZmFydGhlci1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fbm9ybWFsIjoiY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9ub3JtYWwtRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fYm9keSI6ImNvbW1vbi10b29sdGlwX19ib2R5LUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1jb250YWluZXIiOiJjb21tb24tdG9vbHRpcF9fYnV0dG9uLWNvbnRhaW5lci1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19ib2R5LS1uby1idXR0b25zIjoiY29tbW9uLXRvb2x0aXBfX2JvZHktLW5vLWJ1dHRvbnMtRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fYnV0dG9uIjoiY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fcmV2ZXJzZWQiOiJjb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX3JldmVyc2VkLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXIiOiJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWxvdyI6ImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWxvdy1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZSI6ImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZS1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWZvcmUiOiJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYmVmb3JlLUVKQkQ5NnpYIiwKImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hZnRlciI6ImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hZnRlci1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19ib2R5LS13aXRoLWhvdGtleSI6ImNvbW1vbi10b29sdGlwX19ib2R5LS13aXRoLWhvdGtleS1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19ib2R5LS13aWR0aF93aWRlIjoiY29tbW9uLXRvb2x0aXBfX2JvZHktLXdpZHRoX3dpZGUtRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fYm9keS0td2lkdGhfbmFycm93IjoiY29tbW9uLXRvb2x0aXBfX2JvZHktLXdpZHRoX25hcnJvdy1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19ib2R5LS1uby1wYWRkaW5nIjoiY29tbW9uLXRvb2x0aXBfX2JvZHktLW5vLXBhZGRpbmctRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9faG90a2V5LWJsb2NrIjoiY29tbW9uLXRvb2x0aXBfX2hvdGtleS1ibG9jay1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19ob3RrZXktYmxvY2stLWRpdmlkZXIiOiJjb21tb24tdG9vbHRpcF9faG90a2V5LWJsb2NrLS1kaXZpZGVyLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2hvdGtleS10ZXh0IjoiY29tbW9uLXRvb2x0aXBfX2hvdGtleS10ZXh0LUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2hvdGtleS1idXR0b24iOiJjb21tb24tdG9vbHRpcF9faG90a2V5LWJ1dHRvbi1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19wbHVzLXNpZ24iOiJjb21tb24tdG9vbHRpcF9fcGx1cy1zaWduLUVKQkQ5NnpYIn19LDg1NzAxOShlKXtlLmV4cG9ydHM9e319LDI2MjMxOShlKXtlLmV4cG9ydHM9e319LDk1MDc3MShlKXtlLmV4cG9ydHM9e319LDgzMjIyNihlKXtlLmV4cG9ydHM9e319LDIwMjgxNShlKXtlLmV4cG9ydHM9e319LDM3NjQ1MChlKXtlLmV4cG9ydHM9e319LDYzODI4MihlKXtlLmV4cG9ydHM9e319LDg1NTc0MihlKXtlLmV4cG9ydHM9e319LDYyNTQxMShlKXtlLmV4cG9ydHM9e3dyYXBwZXI6IndyYXBwZXItUFE1T18xTTciLHRvdWNoOiJ0b3VjaC1QUTVPXzFNNyJ9fSwyODY4MjAoZSl7ZS5leHBvcnRzPXt9fSwxMzMyNDMoZSl7ZS5leHBvcnRzPXt9fSwxMjE2NDUoZSl7ZS5leHBvcnRzPXtjb250YWluZXI6ImNvbnRhaW5lci1IVEJKbzliYSIsdG9wOiJ0b3AtSFRCSm85YmEifX0sNTcyMjQ5KGUpe2UuZXhwb3J0cz17d3JhcDoid3JhcC15emo3bHZLbiIsbGlzdDoibGlzdC15emo3bHZLbiIsaXRlbToiaXRlbS15emo3bHZLbiIsc2VsZWN0ZWQ6InNlbGVjdGVkLXl6ajdsdktuIixibHVpc2hJdGVtOiJibHVpc2hJdGVtLXl6ajdsdktuIixub1BhZGRpbmc6Im5vUGFkZGluZy15emo3bHZLbiJ9fSw2ODAyNShlKXtlLmV4cG9ydHM9e2VsZW1lbnRXcmFwOiJlbGVtZW50V3JhcC1MZVp3R2lCNiIsaXRlbXNXcmFwOiJpdGVtc1dyYXAtTGVad0dpQjYiLGl0ZW06Iml0ZW0tTGVad0dpQjYiLGFjdGl2ZToiYWN0aXZlLUxlWndHaUI2IixpdGVtQ29udGVudDoiaXRlbUNvbnRlbnQtTGVad0dpQjYiLGRyb3Bkb3duSXRlbToiZHJvcGRvd25JdGVtLUxlWndHaUI2Iixkcm9wZG93bkljb246ImRyb3Bkb3duSWNvbi1MZVp3R2lCNiIsZHJvcGRvd25MaXN0SXRlbToiZHJvcGRvd25MaXN0SXRlbS1MZVp3R2lCNiJ9fSw5MzAyMzEoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7ZW5hYmxlOigpPT5jLGlzRmVhdHVyZXNldEVuYWJsZWQ6KCk9PmF9KTt2YXIgaT1vKDYzNTE4KTtjb25zdCBuPW5ldyBNYXAscj1uZXcgTWFwLHM9bmV3IFNldDtmdW5jdGlvbiBhKGUpe2NvbnN0IHQ9bi5nZXQoZSk7aWYodm9pZCAwIT09dClyZXR1cm4gdDtjb25zdCBvPXIuZ2V0KGUpO3JldHVybiEhbyYmby5zb21lKGEpfWZ1bmN0aW9uIGwoZSx0KXtuLnNldChTdHJpbmcoZSksQm9vbGVhbih0KSl9ZnVuY3Rpb24gYyhlKXtsKGUsITApfSFmdW5jdGlvbigpe2Zvcihjb25zdFtlLHRdb2YgT2JqZWN0LmVudHJpZXMoaSkpaWYocy5hZGQoZSksInN1YnNldHMiaW4gdClmb3IoY29uc3QgbyBvZiB0LnN1YnNldHMpe3MuYWRkKG8pO2xldCB0PXIuZ2V0KG8pO3ZvaWQgMD09PXQmJih0PVtdLHIuc2V0KG8sdCkpLHQucHVzaChlKX19KCksIm9iamVjdCI9PXR5cGVvZiBfX2luaXRpYWxEaXNhYmxlZEZlYXR1cmVzZXRzJiZBcnJheS5pc0FycmF5KF9faW5pdGlhbERpc2FibGVkRmVhdHVyZXNldHMpJiZfX2luaXRpYWxEaXNhYmxlZEZlYXR1cmVzZXRzLmZvckVhY2goKGZ1bmN0aW9uKGUpe2woZSwhMSl9KSksIm9iamVjdCI9PXR5cGVvZiBfX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMmJkFycmF5LmlzQXJyYXkoX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzKSYmX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzLmZvckVhY2goYyl9LDM4NDAxNyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtmZXRjaDooKT0+cn0pO3ZhciBpPW8oMjIxMDYxKTtvKDMwMDI4Nik7Y29uc3Qgbj0oMCxpLmdldExvZ2dlcikoIkZldGNoIik7ZnVuY3Rpb24gcihlLHQsbz17fSl7e2NvbnN0e2xvZ09uRXJyb3JTdGF0dXM6aT0hMCxsb2dCb2R5T25FcnJvcjpyPSExfT1vO3Q9dHx8e30sZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBVUkwoZSxkb2N1bWVudC5iYXNlVVJJKS5vcmlnaW49PT1sb2NhdGlvbi5vcmlnaW59KGUpJiYodC5oZWFkZXJzP3QuaGVhZGVycyBpbnN0YW5jZW9mIEhlYWRlcnN8fCh0LmhlYWRlcnM9bmV3IEhlYWRlcnModC5oZWFkZXJzKSk6dC5oZWFkZXJzPW5ldyBIZWFkZXJzLHdpbmRvdy5sb2NhbGUmJnQuaGVhZGVycy5zZXQoIlgtTGFuZ3VhZ2UiLHdpbmRvdy5sb2NhbGUpLHQuaGVhZGVycy5zZXQoIlgtUmVxdWVzdGVkLVdpdGgiLCJYTUxIdHRwUmVxdWVzdCIpKSx2b2lkIDA9PT10LmNyZWRlbnRpYWxzJiYodC5jcmVkZW50aWFscz0ic2FtZS1vcmlnaW4iKTtjb25zdCBzPXdpbmRvdy5mZXRjaChlLHQpO3JldHVybiBzLnRoZW4oKG89PntpZighby5vayYmaSl7bGV0IGk9IiI7dC5tZXRob2QmJihpKz1gJHt0Lm1ldGhvZC50b1VwcGVyQ2FzZSgpfSBgKSxpKz1lLGkrPWAuIFN0YXR1cyAke28uc3RhdHVzfWAsby5zdGF0dXNUZXh0JiYoaSs9YC4gJHtvLnN0YXR1c1RleHR9YCksCm8uaGVhZGVycy52aWEmJihpKz1gLiBWaWE6ICR7by5oZWFkZXJzLnZpYX1gKSxyJiYic3RyaW5nIj09dHlwZW9mIHQuYm9keSYmKGkrPWAuIEJvZHk6ICR7dC5ib2R5LnNsaWNlKDAsMTAyNCl9YCksbi5sb2dFcnJvcihpKX1yZXR1cm4gb30pLChvPT57aWYobyYmIkFib3J0RXJyb3IiPT09by5uYW1lKXJldHVybjtsZXQgaT0iIjt0Lm1ldGhvZCYmKGkrPWAke3QubWV0aG9kLnRvVXBwZXJDYXNlKCl9IGApLGkrPWUsbmF2aWdhdG9yLm9uTGluZT9pKz1gLiAke1N0cmluZyhvKX1gOmkrPSIuIFVzZXIgaXMgb2ZmbGluZS4iLG4ubG9nRXJyb3IoaSl9KSksc319fSwxNzk3NzEoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7ZW1pdDooKT0+YyxzdWJzY3JpYmU6KCk9PmwsdW5zdWJzY3JpYmU6KCk9PmF9KTt2YXIgaT1vKDk0ODM4MCk7Y29uc3Qgbj17fSxyPVtdLHM9e307ZnVuY3Rpb24gYShlLHQsbyl7bltlXS51bnN1YnNjcmliZShvLHQpfWZ1bmN0aW9uIGwoZSx0LG8scil7bi5oYXNPd25Qcm9wZXJ0eShlKXx8KG5bZV09bmV3IGkuRGVsZWdhdGUpLHNbZV0/dC5jYWxsKG8pOm5bZV0uc3Vic2NyaWJlKG8sdCxyKX1mdW5jdGlvbiBjKGUsLi4udCl7Y29uc3Qgbz1bZV0uY29uY2F0KHQpO3IuZm9yRWFjaCgoZT0+e2UuYXBwbHkobnVsbCxvKX0pKSxuLmhhc093blByb3BlcnR5KGUpJiZuW2VdLmZpcmUuYXBwbHkobltlXSx0KX19LDkzMjM2NShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtUVkxvY2FsU3RvcmFnZTooKT0+cn0pO2NvbnN0IGk9KDAsbygyMjEwNjEpLmdldExvZ2dlcikoIlRWTG9jYWxTdG9yYWdlIik7dmFyIG49ZnVuY3Rpb24oKXt0cnl7dGhpcy5pc0F2YWlsYWJsZT0hMCx0aGlzLmxvY2FsU3RvcmFnZT13aW5kb3cubG9jYWxTdG9yYWdlLHRoaXMubG9jYWxTdG9yYWdlLnNldEl0ZW0oInR2bG9jYWxzdG9yYWdlLmF2YWlsYWJsZSIsInRydWUiKX1jYXRjaChlKXtkZWxldGUgdGhpcy5pc0F2YWlsYWJsZSxkZWxldGUgdGhpcy5sb2NhbFN0b3JhZ2V9dGhpcy5fdXBkYXRlTGVuZ3RoKCk7dHJ5e3RoaXMuX3JlcG9ydCgpfWNhdGNoKGUpe319O24ucHJvdG90eXBlLl9yZXBvcnQ9ZnVuY3Rpb24oKXtpZih0aGlzLmlzQXZhaWxhYmxlKXtjb25zdCBlPTEwLHQ9W107Zm9yKGxldCBlPTA7ZTx0aGlzLmxvY2FsU3RvcmFnZS5sZW5ndGg7ZSsrKXtjb25zdCBvPXRoaXMua2V5KGUpO3QucHVzaCh7a2V5Om8sbGVuZ3RoOlN0cmluZyh0aGlzLmdldEl0ZW0obykpLmxlbmd0aH0pfXQuc29ydCgoKGUsdCk9PnQubGVuZ3RoLWUubGVuZ3RoKSk7Y29uc3Qgbz10LnNsaWNlKDAsZSk7dC5zb3J0KCgoZSx0KT0+dC5rZXkubGVuZ3RoLWUua2V5Lmxlbmd0aCkpO2NvbnN0IG49dC5zbGljZSgwLGUpO2kubG9nTm9ybWFsKGBUb3RhbCBhbW91bnQgb2Yga2V5cyBpbiBMb2NhbCBTdG9yYWdlOiAke3RoaXMubGVuZ3RofWApLGkubG9nTm9ybWFsKGBUb3AgJHtlfSBrZXlzIHdpdGggbG9uZ2VzdCB2YWx1ZXM6ICR7SlNPTi5zdHJpbmdpZnkobyl9YCksaS5sb2dOb3JtYWwoYFRvcCAke2V9IGxvbmdlc3Qga2V5IG5hbWVzOiAke0pTT04uc3RyaW5naWZ5KG4pfWApO3RyeXtuYXZpZ2F0b3Iuc3RvcmFnZS5lc3RpbWF0ZSgpLnRoZW4oKGU9PntpLmxvZ05vcm1hbChgU3RvcmFnZSBlc3RpbWF0ZTogJHtKU09OLnN0cmluZ2lmeShlKX1gKX0pKX1jYXRjaChlKXt9fX0sbi5wcm90b3R5cGUubGVuZ3RoPTAsbi5wcm90b3R5cGUuaXNBdmFpbGFibGU9ITEsbi5wcm90b3R5cGUubG9jYWxTdG9yYWdlPXsidHZsb2NhbHN0b3JhZ2UuYXZhaWxhYmxlIjoiZmFsc2UifSxuLnByb3RvdHlwZS5fdXBkYXRlTGVuZ3RoPWZ1bmN0aW9uKCl7aWYodGhpcy5pc0F2YWlsYWJsZSl0aGlzLmxlbmd0aD10aGlzLmxvY2FsU3RvcmFnZS5sZW5ndGg7ZWxzZXt2YXIgZSx0PTA7Zm9yKGUgaW4gdGhpcy5sb2NhbFN0b3JhZ2UpdGhpcy5sb2NhbFN0b3JhZ2UuaGFzT3duUHJvcGVydHkoZSkmJnQrKzt0aGlzLmxlbmd0aD10fX0sbi5wcm90b3R5cGUua2V5PWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmlzQXZhaWxhYmxlP3RoaXMubG9jYWxTdG9yYWdlLmtleShlKTpPYmplY3Qua2V5cyh0aGlzLmxvY2FsU3RvcmFnZSlbZV19LG4ucHJvdG90eXBlLmdldEl0ZW09ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuaXNBdmFpbGFibGU/dGhpcy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShlKTp2b2lkIDA9PT10aGlzLmxvY2FsU3RvcmFnZVtlXT9udWxsOnRoaXMubG9jYWxTdG9yYWdlW2VdfSxuLnByb3RvdHlwZS5zZXRJdGVtPWZ1bmN0aW9uKGUsdCl7dGhpcy5pc0F2YWlsYWJsZT90aGlzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKGUsdCk6dGhpcy5sb2NhbFN0b3JhZ2VbZV09dCx0aGlzLl91cGRhdGVMZW5ndGgoKX0sbi5wcm90b3R5cGUucmVtb3ZlSXRlbT1mdW5jdGlvbihlKXt0aGlzLmlzQXZhaWxhYmxlP3RoaXMubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oZSk6ZGVsZXRlIHRoaXMubG9jYWxTdG9yYWdlW2VdLHRoaXMuX3VwZGF0ZUxlbmd0aCgpfSxuLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuaXNBdmFpbGFibGU/dGhpcy5sb2NhbFN0b3JhZ2UuY2xlYXIoKTp0aGlzLmxvY2FsU3RvcmFnZT17fSx0aGlzLl91cGRhdGVMZW5ndGgoKX07Y29uc3Qgcj1uZXcgbjt3aW5kb3cuVFZMb2NhbFN0b3JhZ2U9cn0sODY1NTYwKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse1RWQXBwQ29udGV4dDooKT0+YyxUVkFwcENvbnRleHRQcm92aWRlcjooKT0+bH0pO3ZhciBpPW8oNzc5NDc0KSxuPW8oMTE1MjkzKSxyPW8oOTk5NTEpLHM9bygxMTczMTMpO2NvbnN0IGE9e2lPczoib2xkIixhbmRyb2lkOiJuZXciLG9sZDoib2xkIixuZXc6Im5ldyIsYW55OiJhbnkifTtmdW5jdGlvbiBsKGUpe2NvbnN0W3RdPSgwLGkudXNlU3RhdGUpKHtpc09uTW9iaWxlQXBwUGFnZTplPT4oMCxzLmlzT25Nb2JpbGVBcHBQYWdlKShhW2VdKSxpc1J0bDooMCxuLmlzUnRsKSgpLGxvY2FsZTp3aW5kb3cubG9jYWxlLHJlbmRlck1vZGU6ZS5yZW5kZXJNb2RlPz8ibGVnYWN5In0pO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoci5BcHBDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp0Cn0sZS5jaGlsZHJlbil9Y29uc3QgYz1yLkFwcENvbnRleHR9LDU3MTMwMChlLHQsbyl7InVzZSBzdHJpY3QiO28ucih0KSxvLmQodCx7Y3JlYXRlUmVhY3RSb290OigpPT5hfSk7dmFyIGk9byg3Nzk0NzQpLG49bygxMjkzNjUpLHI9bygzMzYzMzQpLHM9byg4NjU1NjApO2Z1bmN0aW9uIGEoZSx0LG89ImxlZ2FjeSIpe2NvbnN0IGE9aS5jcmVhdGVFbGVtZW50KHMuVFZBcHBDb250ZXh0UHJvdmlkZXIse3JlbmRlck1vZGU6b30sZSk7aWYoIm1vZGVybiI9PT1vKXtjb25zdCBlPSgwLHIuY3JlYXRlUm9vdCkodCk7cmV0dXJuIGUucmVuZGVyKGEpLHtyZW5kZXIodCl7ZS5yZW5kZXIoaS5jcmVhdGVFbGVtZW50KHMuVFZBcHBDb250ZXh0UHJvdmlkZXIse3JlbmRlck1vZGU6b30sdCkpfSx1bm1vdW50KCl7ZS51bm1vdW50KCl9fX1yZXR1cm4gbi5yZW5kZXIoYSx0KSx7cmVuZGVyKGUpe24ucmVuZGVyKGkuY3JlYXRlRWxlbWVudChzLlRWQXBwQ29udGV4dFByb3ZpZGVyLHtyZW5kZXJNb2RlOm99LGUpLHQpfSx1bm1vdW50KCl7bi51bm1vdW50Q29tcG9uZW50QXROb2RlKHQpfX19fSw5MDk3OTgoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7Zmx1c2hEZWxlZ2F0ZTooKT0+aX0pO2NvbnN0IGk9bmV3KG8oOTQ4MzgwKS5EZWxlZ2F0ZSl9LDg1NjE5NihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtzaG91bGRBZmZlY3RVc2VyOigpPT5sfSk7dmFyIGk9bygxMDA1OTUpLG49by5uKGkpLHI9byg5MzIzNjUpO2NvbnN0IHM9ImZlYXR1cmV0b2dnbGVfc2VlZCI7ZnVuY3Rpb24gYShlKXt0cnl7Y29uc3QgdD1uKCkoZStmdW5jdGlvbigpe2lmKHdpbmRvdy51c2VyJiZ3aW5kb3cudXNlci5pZClyZXR1cm4gd2luZG93LnVzZXIuaWQ7Y29uc3QgZT1yLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0ocyk7aWYobnVsbCE9PWUpcmV0dXJuIGU7Y29uc3QgdD1NYXRoLmZsb29yKDFlNipNYXRoLnJhbmRvbSgpKTtyZXR1cm4gci5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKHMsYCR7dH1gKSx0fSgpKSxvPW5ldyBEYXRhVmlldyh0KTtyZXR1cm4gby5nZXRVaW50MzIoMCwhMCkvNDI5NDk2NzI5Nn1jYXRjaChlKXtyZXR1cm4uNX19ZnVuY3Rpb24gbChlLHQpe3JldHVybiBhKGUpPD10fX0sMTU2ODUwKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse3RlbGVtZXRyeTooKT0+aH0pO3ZhciBpPW8oOTQ4MzgwKSxuPW8oMjIxMDYxKSxyPW8oMzg0MDE3KSxzPW8oMzc3MjI2KSxhPW8oMTE3MzEzKTtvKDMwMDI4Nik7Y29uc3QgbD0oMCxuLmdldExvZ2dlcikoIkNvbW1vbi5UZWxlbWV0cnkiKSxjPXtkZWZhdWx0OjE1ZTMsc2l0ZTozZTV9LGQ9WyJiZWZvcmVfd2Vic29ja2V0X2Nvbm5lY3Rpb25fdGltZV9mcmFtZSIsIndlYnNvY2tldF9jb25uZWN0aW9uX3RpbWVfZnJhbWUiLCJmaXJzdF9zZXJpZXNfZnVsbF90aW1lX2ZyYW1lIiwicGFnZV9mdWxsX2xvYWRfdGltZV9mcmFtZSIsInBhZ2VfbG9hZF90aW1lX2ZyYW1lIl07Y29uc3QgaD1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnJlcG9ydFNlbnQ9bmV3IGkuRGVsZWdhdGUsdGhpcy50aW1lQ291bnRlcnM9e3Nlcmllczp7bWFya3M6W119LHN0dWR5Ont9LHBpbmU6e319LHRoaXMuX3RpbWVvdXRJZHM9e30sdGhpcy5fY29tbW9uQWRkaXRpb25hbERhdGE9e2NsdXN0ZXI6bnVsbCx1c2VySWQ6IjAifSx0aGlzLl9yZXBvcnRTdGFzaD17fX1zZXRTZXNzaW9uSW5mbyhlKXtjb25zdCB0PXRoaXMuX3BhcnNlQ2x1c3RlcihlKTtudWxsIT09dCYmKHRoaXMuX2NvbW1vbkFkZGl0aW9uYWxEYXRhLmNsdXN0ZXI9dCl9c2VuZFJlcG9ydChlLHQsbyl7aWYoIXRoaXMuX2lzQWJsZVRvU2VuZFJlcG9ydCh0KSlyZXR1cm47Y29uc3QgaT10aGlzLl9nZXRTdWJzZXJ2aWNlVHlwZShlKSxuPXRoaXMuX2dldEhvc3QoZSxpKTtpZihudWxsIT09bil7aWYobz12b2lkIDA9PT1vP3tjb3VudDoxfTpvLHRoaXMuX2FkZFJlcG9ydFRvU3Rhc2gobyx0LG4pLCF0aGlzLl90aW1lb3V0SWRzW2VdKXtjb25zdCB0PWNbZV0/P2MuZGVmYXVsdDt0aGlzLl90aW1lb3V0SWRzW2VdPXNldFRpbWVvdXQodGhpcy5fc2VuZFRlbGVtZXRyeVRvU2VydmljZS5iaW5kKHRoaXMsZSxuKSx0KX19ZWxzZSBsLmxvZ0Vycm9yKGBVbmFibGUgdG8gZ2V0IGhvc3QgZm9yIGNvdW50ZXI6ICR7dH0sIG1ldHJpYyB0eXBlOiAke2V9LCBzZXJpdmNlIHR5cGU6ICR7aX1gKX1zZW5kQ2hhcnRSZXBvcnQoZSx0LG89ITApe3RoaXMuX3NlbmRTZXJ2aWNlU3BlY2lmaWVkUmVwb3J0KCJjaGFydHMiLGUsdCxvKX1zZW5kTGluZVRvb2xzU3RvcmFnZVJlcG9ydChlLHQsbz0hMCl7dGhpcy5fc2VuZFNlcnZpY2VTcGVjaWZpZWRSZXBvcnQoImxpbmVfdG9vbHNfc3RvcmFnZSIsZSx0LG8pfV9zZW5kU2VydmljZVNwZWNpZmllZFJlcG9ydChlLHQsbyxpPSEwKXt0aGlzLl91cGRhdGVVc2VySW5mbygpLG89dm9pZCAwPT09bz97Y291bnQ6MX06byxpJiYobz10aGlzLl9hcHBlbmRDb21tb25BZGRpdGlvbmFsSW5mbyhvLFsiY2x1c3RlciIsInVzZXJJZCJdKSksdGhpcy5zZW5kUmVwb3J0KGUsdCxvKX1fdXBkYXRlVXNlckluZm8oKXtjb25zdCBlPSJ1c2VyImluIHdpbmRvdyYmImlkImluIHdpbmRvdy51c2VyP3dpbmRvdy51c2VyLmlkOiIwIjt0aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YS51c2VySWQ9U3RyaW5nKGUpfV9pc0FibGVUb1NlbmRSZXBvcnQoZSl7Y29uc3QgdD13aW5kb3cuVEVMRU1FVFJZX0hPU1RTLG89ZC5pbmNsdWRlcyhlKSxpPUJvb2xlYW4od2luZG93LlRyYWRpbmdWaWV3Py5vbkNoYXJ0UGFnZXx8KDAscy5vbldpZGdldCkoKSk7cmV0dXJuIHQmJighb3x8aSl9X3NlbmRUZWxlbWV0cnlUb1NlcnZpY2UoZSx0KXtpZih0aGlzLl9yZXBvcnRTdGFzaC5oYXNPd25Qcm9wZXJ0eSh0KSl7Y29uc3QgZT10aGlzLl9jcm9wUGFyYW1zKHRoaXMuX3JlcG9ydFN0YXNoW3RdKSxvPXRoaXMuX3JlbmFtZUFsbFBhcmFtcyhlKSxpPXtldmVudDoicmVwb3J0X3N0YXNoIixwYXJhbXM6dGhpcy5fY2xlYW5BbGxQYXJhbXMobyl9CjtsLmxvZ0RlYnVnKGBSZXBvcnQgdG8gaG9zdDogJHt0fTsgc3Rhc2g6ICR7SlNPTi5zdHJpbmdpZnkodGhpcy5fcmVwb3J0U3Rhc2hbdF0pfWApLHRoaXMucmVwb3J0U2VudC5maXJlKHRoaXMuX3JlcG9ydFN0YXNoW3RdKSxkZWxldGUgdGhpcy5fcmVwb3J0U3Rhc2hbdF0sKDAsci5mZXRjaCkoYCR7dH0vcmVwb3J0YCx7bWV0aG9kOiJQT1NUIixib2R5OkpTT04uc3RyaW5naWZ5KGkpfSl9dGhpcy5fdGltZW91dElkc1tlXT1udWxsfV9nZXRIb3N0KGUsdCl7Y29uc3Qgbz13aW5kb3cuVEVMRU1FVFJZX0hPU1RTLGk9b1tlXSYmb1tlXVt0XTtyZXR1cm4gQm9vbGVhbihpKT9pOm51bGx9X2dldFN1YnNlcnZpY2VUeXBlKGUpe2lmKCFbImNoYXJ0cyIsInNpdGUiXS5pbmNsdWRlcyhlKSlyZXR1cm4iYWxsIjtsZXQgdD0iZnJlZSI7Y29uc3Qgbz13aW5kb3cudXNlci5pc19wcm87cmV0dXJuImNoYXJ0cyI9PT1lJiYoMCxhLmlzT25Nb2JpbGVBcHBQYWdlKSgib2xkIik/dD1vPyJpb3NfcHJvIjoiaW9zX2ZyZWUiOiJjaGFydHMiPT09ZSYmKDAsYS5pc09uTW9iaWxlQXBwUGFnZSkoIm5ldyIpP3Q9bz8iYW5kcm9pZF9wcm8iOiJhbmRyb2lkX2ZyZWUiOigwLHMub25XaWRnZXQpKCk/dD0id2lkZ2V0IjpvJiYodD0icHJvIiksdH1fcGFyc2VDbHVzdGVyKGUpe2xldCB0O3RyeXt0PUpTT04ucGFyc2UoZSkuc2Vzc2lvbl9pZH1jYXRjaChlKXtyZXR1cm4gbC5sb2dFcnJvcigiQ291bGQgbm90IHBhcnNlIGNsdXN0ZXIgaWQgKHNlc3Npb24gaWQpIiksbnVsbH1jb25zdCBvPS8oLipAKSguKikvZ2kuZXhlYyh0KTtyZXR1cm4gbnVsbCE9PW8mJm8ubGVuZ3RoPj0zP29bMl06bnVsbH1fYXBwZW5kQ29tbW9uQWRkaXRpb25hbEluZm8oZSx0KXtyZXR1cm4gdC5mb3JFYWNoKCh0PT57dCBpbiB0aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YSYmKGUuYWRkaXRpb25hbD1lLmFkZGl0aW9uYWx8fHt9LGUuYWRkaXRpb25hbFt0XT10aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YVt0XSl9KSksZX1fY3JvcFBhcmFtcyhlKXtmb3IoY29uc3QgdCBpbiBlKWUuaGFzT3duUHJvcGVydHkodCkmJmVbdF0ubGVuZ3RoPjFlMyYmKGUudG9vX211Y2hfbWV0cmljc19mcmFtZT1lLnRvb19tdWNoX21ldHJpY3NfZnJhbWU/P1tdLGUudG9vX211Y2hfbWV0cmljc19mcmFtZS5wdXNoKHt2YWx1ZTplW3RdLmxlbmd0aCxhZGRpdGlvbmFsOntldmVudDp0fX0pLGRlbGV0ZSBlW3RdKTtyZXR1cm4gZX1fcmVuYW1lQWxsUGFyYW1zKGUpe2NvbnN0IHQ9e307Zm9yKGNvbnN0IG8gaW4gZSllLmhhc093blByb3BlcnR5KG8pJiYodFtvXT1bXSxlW29dLmZvckVhY2goKGU9Pnt0W29dLnB1c2godGhpcy5fcmVuYW1lRW50cnlQYXJhbXMoZSkpfSkpKTtyZXR1cm4gdH1fcmVuYW1lRW50cnlQYXJhbXMoZSl7Y29uc3QgdD17Y291bnQ6ImMiLHZhbHVlOiJ2Iix0ZXh0OiJ0IixhZGRpdGlvbmFsOiJhIn07cmV0dXJuIE9iamVjdC5rZXlzKGUpLnJlZHVjZSgoKG8saSk9PihvW3RbaV1dPWVbaV0sbykpLHt9KX1fY2xlYW5BbGxQYXJhbXMoZSl7Y29uc3QgdD17fTtmb3IoY29uc3QgbyBpbiBlKWlmKGUuaGFzT3duUHJvcGVydHkobykpe3Rbb109W107Y29uc3QgaT17YzowfTtlW29dLmZvckVhY2goKGU9Pntjb25zdCBuPXRoaXMuX2NsZWFuRW50cnlQYXJhbXMoZSkscj1PYmplY3Qua2V5cyhuKS5sZW5ndGg7MT09PXImJnZvaWQgMCE9PW4uYz9pLmMrPW4uYzpyPjAmJnRbb10ucHVzaChuKX0pKSxpLmM+MCYmdFtvXS5wdXNoKGkpLDA9PT10W29dLmxlbmd0aCYmZGVsZXRlIHRbb119cmV0dXJuIHR9X2NsZWFuRW50cnlQYXJhbXMoZSl7Y29uc3QgdD1PYmplY3Qua2V5cyhlKS5yZWR1Y2UoKCh0LG8pPT4iYyIhPT1vJiYidCIhPT1vfHxlW29dPyh0W29dPWVbb10sdCk6dCkse30pO3JldHVybiJjImluIHR8fCJ2ImluIHR8fCJ0ImluIHQ/dDp7fX1fYWRkUmVwb3J0VG9TdGFzaChlLHQsbyl7byBpbiB0aGlzLl9yZXBvcnRTdGFzaHx8KHRoaXMuX3JlcG9ydFN0YXNoW29dPXt9KSx0IGluIHRoaXMuX3JlcG9ydFN0YXNoW29dfHwodGhpcy5fcmVwb3J0U3Rhc2hbb11bdF09W10pLE9iamVjdC5rZXlzKGUpLmxlbmd0aD4wJiZ0aGlzLl9yZXBvcnRTdGFzaFtvXVt0XS5wdXNoKGUpfX19LDczMjA0MChlLHQsbyl7InVzZSBzdHJpY3QiO3ZhciBpO2Z1bmN0aW9uIG4oZSx0PXdpbmRvdyl7Y29uc3Qgbz0idGhlbWUtIitlLGk9dC5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0O2Zvcihjb25zdCBlIG9mIEFycmF5LmZyb20oaSkpZS5zdGFydHNXaXRoKCJ0aGVtZS0iKSYmZSE9PW8mJmkucmVtb3ZlKGUpO2kuYWRkKG8pLHQuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRhdGFzZXQudGhlbWU9ZX1vLmQodCx7YXBwbHlUaGVtZTooKT0+bn0pLGZ1bmN0aW9uKGUpe2UuVGhlbWVDbGFzc1ByZWZpeD0idGhlbWUtIn0oaXx8KGk9e30pKX0sMjQ3OTAxKGUsdCxvKXsidXNlIHN0cmljdCI7dmFyIGk7by5kKHQse1N0ZFRoZW1lOigpPT5pfSksZnVuY3Rpb24oZSl7ZS5MaWdodD0ibGlnaHQiLGUuRGFyaz0iZGFyayJ9KGl8fChpPXt9KSl9LDIwMDY2NihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtzZXRUaGVtZTooKT0+cyx3YXRjaGVkVGhlbWU6KCk9PnJ9KTt2YXIgaT1vKDIzMjM2NCksbj1vKDczMjA0MCk7Y29uc3Qgcj1uZXcgaS5XYXRjaGVkVmFsdWU7ZnVuY3Rpb24gcyhlKXtyLnNldFZhbHVlKGUpfXIuc3Vic2NyaWJlKChlPT57KDAsbi5hcHBseVRoZW1lKShlLHdpbmRvdyl9KSl9LDM4NjkzMShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHt0cmFja0V2ZW50OigpPT5hfSk7dmFyIGk9bygyMjEwNjEpLG49byg5MzAyMzEpO28oMTc5NzcxKTtjb25zdCByPSgwLGkuZ2V0TG9nZ2VyKSgiQ29tbW9uLlRyYWNrRXZlbnQiKTtsZXQgcz0hMTtjb25zdCBhPShlLHQsbyk9PntpZihzKXJldHVybjtsZXQgaT0oZT9lKyI6IjoiIikrdDtvJiYoaSs9IiAiK28pLHIubG9nTm9ybWFsKGkpLCgwLG4uaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpfHwhd2luZG93Ll9VTklUX1RFU1RTJiZ3aW5kb3cuZ3RhZyYmd2luZG93Lmd0YWcoImV2ZW50Iix0LHsKZXZlbnRfY2F0ZWdvcnk6ZSxldmVudF9sYWJlbDpvfSl9O3ZhciBsLGMsZDshZnVuY3Rpb24oZSl7ZS5HVUk9IkdVSSJ9KGx8fChsPXt9KSksZnVuY3Rpb24oZSl7ZS5DaGFydEhlYWRlclRvb2xiYXI9IkNoYXJ0IEhlYWRlciBUb29sYmFyIixlLkNoYXJ0Qm90dG9tVG9vbGJhcj0iQ2hhcnQgQm90dG9tIFRvb2xiYXIiLGUuQ2hhcnRMZWZ0VG9vbGJhcj0iQ2hhcnQgTGVmdCBUb29sYmFyIixlLlRpbWVJbnRlcnZhbD0iVGltZSBJbnRlcnZhbCIsZS5Mb2FkQ2hhcnRMYXlvdXQ9IkxvYWQgY2hhcnQgbGF5b3V0In0oY3x8KGM9e30pKSxmdW5jdGlvbihlKXtlLlJhbmdlPSJyYW5nZSIsZS5Hb1RvPSJnbyB0byIsZS5DaGFydFByb3BlcnRpZXM9ImNoYXJ0IHByb3BlcnRpZXMiLGUuQ29tcGFyZT0iY29tcGFyZSIsZS5TZWxlY3RMYXlvdXQ9InNlbGVjdCBsYXlvdXQiLGUuTWFnbmV0TW9kZT0ibWFnbmV0IG1vZGUiLGUuTWFnbmV0U25hcHM9Im1hZ25ldCBzbmFwcyIsZS5EcmF3aW5nTW9kZT0iZHJhd2luZyBtb2RlIixlLkxvY2tBbGxEcmF3aW5nPSJsb2NrIGFsbCBkcmF3aW5nIixlLlJlbW92ZURyYXdpbmc9InJlbW92ZSBkcmF3aW5nIixlLlJlbW92ZUluZGljYXRvcj0icmVtb3ZlIGluZGljYXRvciIsZS5SZW1vdmVBbGw9InJlbW92ZSBhbGwiLGUuSGlkZURyYXdpbmdzPSJoaWRlIGRyYXdpbmdzIixlLkhpZGVJbmRpY2F0b3JzPSJoaWRlIGluZGljYXRvcnMiLGUuSGlkZVBvc2l0aW9ucz0iaGlkZSBwb3NpdGlvbnMiLGUuSGlkZUFsbD0iaGlkZSBhbGwiLGUuU3luYz0ic3luYyIsZS5TeW5jTW9kZT0ic3luYyBtb2RlIixlLlN3aXRjaENoYXJ0TGF5b3V0PSJTd2l0Y2ggY2hhcnQgbGF5b3V0IixlLkRlbGV0ZUNoYXJ0TGF5b3V0PSJEZWxldGUgY2hhcnQgbGF5b3V0IixlLkxvYWRDaGFydExheW91dD0iTG9hZCBjaGFydCBsYXlvdXQiLGUuQWRkVG9GYXZvcml0ZXM9IkFkZCB0byBmYXZvcml0ZXMiLGUuU29ydD0iU29ydCJ9KGR8fChkPXt9KSl9LDE1MjY5OShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtUVlhXaW5kb3dFdmVudHM6KCk9PnN9KTt2YXIgaT1vKDIyMTA2MSksbj1vKDkzMjM2NSk7Y29uc3Qgcj0oMCxpLmdldExvZ2dlcikoIlhXaW5kb3dFdmVudHMiKTt2YXIgczshZnVuY3Rpb24oZSl7Y29uc3QgdD0idHZ4d2V2ZW50cy4iLG89e307bGV0IGk7d2luZG93LkJyb2FkY2FzdENoYW5uZWw/KGk9bmV3IEJyb2FkY2FzdENoYW5uZWwoInR2eHdldmVudHMiKSxpLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLChmdW5jdGlvbihlKXtjb25zdHtkYXRhOntldmVudDp0LHZhbHVlOml9fT1lO29bdF0mJm9bdF0uZm9yRWFjaCgoZT0+e2UoaSl9KSl9KSksZnVuY3Rpb24oKXtjb25zdCBlPVtdLG89cGVyZm9ybWFuY2Uubm93KCk7Zm9yKGxldCBvPTA7bzxuLlRWTG9jYWxTdG9yYWdlLmxlbmd0aDtvKyspe2NvbnN0IGk9bi5UVkxvY2FsU3RvcmFnZS5rZXkobyk7aS5zdGFydHNXaXRoKHQpJiZlLnB1c2goaSl9Y29uc3QgaT1uLlRWTG9jYWxTdG9yYWdlLmxlbmd0aDtmb3IoY29uc3QgdCBvZiBlKW4uVFZMb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0KTtjb25zdCBzPXBlcmZvcm1hbmNlLm5vdygpLW87ci5sb2dOb3JtYWwoYFRvdGFsIGtleXMgYW1vdW50IGluIGxvY2FsIHN0b3JhZ2Ugb24gb3BlcmF0aW9uIHN0YXJ0OiAke2l9YCksci5sb2dOb3JtYWwoYEtleXMgYW1vdW50IGluIGxvY2FsIHN0b3JhZ2UgdG8gYmUgZGVsZXRlZDogJHtlLmxlbmd0aH1gKSxyLmxvZ05vcm1hbChgS2V5cyB0byBiZSBkZWxldGVkIGZyb20gbG9jYWwgc3RvcmFnZTogJHtKU09OLnN0cmluZ2lmeShlKX1gKSxyLmxvZ05vcm1hbChgUmVtb3Zpbmcga2V5cyBmcm9tIGxvY2FsIHN0b3JhZ2UgdG9vayAke3N9IG1zYCl9KCkpOndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzdG9yYWdlIiwoZnVuY3Rpb24oZSl7Y29uc3R7bmV3VmFsdWU6aSxrZXk6cn09ZTtpZihudWxsPT09aXx8IXJ8fCFyLnN0YXJ0c1dpdGgodCkpcmV0dXJuO2NvbnN0IHM9ci5zdWJzdHJpbmcoMTEpO29bc10mJm9bc10uZm9yRWFjaCgodD0+e3QoZS5uZXdWYWx1ZSl9KSk7bi5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHIpfSkpLGUub249ZnVuY3Rpb24oZSx0KXtvW2VdfHwob1tlXT1bXSksb1tlXS5wdXNoKHQpfSxlLm9mZj1mdW5jdGlvbihlLHQpe2lmKCFvW2VdKXJldHVybjtjb25zdCBpPW9bZV0uaW5kZXhPZih0KTstMSE9PWkmJigxPT09b1tlXS5sZW5ndGg/ZGVsZXRlIG9bZV06b1tlXS5zcGxpY2UoaSwxKSl9LGUuZW1pdD1mdW5jdGlvbihlLG89RGF0ZS5ub3coKSl7dHJ5e2k/aS5wb3N0TWVzc2FnZSh7ZXZlbnQ6ZSx2YWx1ZTpvfSk6bi5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKHQrZSxvLnRvU3RyaW5nKCkpfWNhdGNoKGUpe3IubG9nRXJyb3IoZS5tZXNzYWdlKX19fShzfHwocz17fSkpfSw3MDA4MDkoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7REVDRU1CRVI6KCk9PmcsRklSU1RfREFZX09GX1dFRUs6KCk9Pl8sRlJJREFZOigpPT5oLEpBTlVBUlk6KCk9Pm0sTEFTVF9EQVlfT0ZfV0VFSzooKT0+cCxNT05EQVk6KCk9PmEsU0FUVVJEQVk6KCk9PnUsU1VOREFZOigpPT5zLFRIVVJTREFZOigpPT5kLFRVRVNEQVk6KCk9PmwsV0VETkVTREFZOigpPT5jLGFkZF9kYXRlOigpPT5JLGFkZF9kYXlzX2NvbnNpZGVyaW5nX2RzdDooKT0+TSxhZGRfbWludXRlczooKT0+UixjYWxfdG9fdXRjOigpPT5WLGNsb25lOigpPT5MLGRheXNfcGVyX3llYXI6KCk9PkQsZ2V0X2NhbDooKT0+JCxnZXRfY2FsX2Zyb21fdW5peF90aW1lc3RhbXBfbXM6KCk9PlcsZ2V0X2NhbF91dGM6KCk9PnEsZ2V0X2RheV9vZl9tb250aDooKT0+QyxnZXRfZGF5X29mX3dlZWs6KCk9PmssZ2V0X2RheV9vZl95ZWFyOigpPT5ULGdldF9taW51dGVzX2Zyb21fbWlkbmlnaHQ6KCk9PkUsZ2V0X21pbnV0ZXNfd2l0aF9ob3VyczooKT0+eCxnZXRfbW9udGg6KCk9PmIsZ2V0X3RpbWV6b25lOigpPT5ILGdldF95ZWFyOigpPT55LGlzX2xlYXBfeWVhcjooKT0+TyxtaW51dGVzUGVyRGF5OigpPT52LG1pbnV0ZXNQZXJXZWVrOigpPT5mLHNldF9obXM6KCk9PkEsCnNldF9zZWNvbmRzOigpPT5GLHRpbWVfc2Vjb25kczooKT0+Tix0aW1lX3NlY29uZHNfZGlmZjooKT0+UCx1dGNfdG9fY2FsOigpPT5CfSk7dmFyIGk9byg3MTIxODEpO2NvbnN0IG49ezA6MCwxOjMxLDI6NTksMzo5MCw0OjEyMCw1OjE1MSw2OjE4MSw3OjIxMiw4OjI0Myw5OjI3MywxMDozMDQsMTE6MzM0fTtjbGFzcyBye2NvbnN0cnVjdG9yKGUpe3RoaXMuX2ludmFsaWQ9ITEsdGhpcy5fbmFtZT1lO2xldCB0PWkudHpEYXRhPy5bZV0/P251bGw7IXQmJlUmJih0PVUuaW5zdGFuY2UoKS5nZXRUaW1lem9uZURhdGEoZSkpLHR8fCh0PXt0aW1lOltdLG9mZnNldDpbXX0sdGhpcy5faW52YWxpZD0hMCksdC50aW1lLmxlbmd0aCE9PXQub2Zmc2V0Lmxlbmd0aCYmKHQ9e3RpbWU6W10sb2Zmc2V0OltdfSx0aGlzLl9pbnZhbGlkPSEwKTtjb25zdCBvPXQ7aWYoIW8udGltZV91dGMpe2NvbnN0IGU9dC50aW1lLGk9dC5vZmZzZXQsbj1lLmxlbmd0aCxyPW5ldyBBcnJheShuKTtmb3IobGV0IHQ9MDt0PG47dCsrKWVbdF0qPTFlMyxpW3RdKj0xZTMsclt0XT1lW3RdLWlbdF07by50aW1lX3V0Yz1yfXRoaXMudHo9b31vZmZzZXRfdXRjKGUpe3JldHVybiByLm9mZnNldCh0aGlzLnR6LnRpbWVfdXRjLHRoaXMudHoub2Zmc2V0LGUpfW9mZnNldF9sb2MoZSl7cmV0dXJuIHIub2Zmc2V0KHRoaXMudHoudGltZSx0aGlzLnR6Lm9mZnNldCxlKX1uYW1lKCl7cmV0dXJuIHRoaXMuX25hbWV9aXNfdmFsaWQoKXtyZXR1cm4hdGhpcy5faW52YWxpZH1jb3JyZWN0aW9uX2xvYyhlKXtjb25zdCB0PXRoaXMudHoudGltZSxvPXRoaXMudHoub2Zmc2V0LGk9eih0LGUpO2lmKGk8MSlyZXR1cm4gMDtjb25zdCBuPW9baV0tb1tpLTFdO2lmKG4+MCl7aWYoZS10W2ktMV08PW4pcmV0dXJuIG59cmV0dXJuIDB9c3RhdGljIG9mZnNldChlLHQsbyl7Y29uc3QgaT16KGUsbyk7cmV0dXJuLTE9PT1pPzA6dFtpXX19Y29uc3Qgcz0xLGE9MixsPTMsYz00LGQ9NSxoPTYsdT03LF89cyxwPXUsbT0wLGc9MTEsdj0xNDQwLGY9MTAwODA7ZnVuY3Rpb24geShlKXtyZXR1cm4gZS5nZXRVVENGdWxsWWVhcigpfWZ1bmN0aW9uIGIoZSl7cmV0dXJuIGUuZ2V0VVRDTW9udGgoKX1mdW5jdGlvbiBTKGUpe3JldHVybiBlLmdldFVUQ0hvdXJzKCl9ZnVuY3Rpb24gdyhlKXtyZXR1cm4gZS5nZXRVVENNaW51dGVzKCl9ZnVuY3Rpb24gQyhlKXtyZXR1cm4gZS5nZXRVVENEYXRlKCl9ZnVuY3Rpb24gayhlKXtyZXR1cm4gZS5nZXRVVENEYXkoKSsxfWZ1bmN0aW9uIFQoZSl7Y29uc3QgdD1lLmdldFVUQ01vbnRoKCk7bGV0IG89blt0XTtyZXR1cm4gdD5tKzEmJk8oZS5nZXRVVENGdWxsWWVhcigpKSYmKG8rPTEpLG8rZS5nZXRVVENEYXRlKCl9ZnVuY3Rpb24gRShlKXtyZXR1cm4gNjAqUyhlKSt3KGUpfWZ1bmN0aW9uIHgoZSl7cmV0dXJuIEUoZSl9ZnVuY3Rpb24gQShlLHQsbyxpLG4scil7ZS5zZXRVVENIb3Vycyh0KSxlLnNldFVUQ01pbnV0ZXMobyksZS5zZXRVVENTZWNvbmRzKGkpLGUuc2V0VVRDTWlsbGlzZWNvbmRzKG4pLHZvaWQgMCE9PXImJmZ1bmN0aW9uKGUsdCl7Y29uc3Qgbz1lLmdldFRpbWUoKSxpPXQuY29ycmVjdGlvbl9sb2Mobyk7ZS5zZXRUaW1lKG8raSl9KGUscil9ZnVuY3Rpb24gTShlLHQsbyl7Y29uc3QgaT1lLm9mZnNldF91dGModC5nZXRUaW1lKCkpLG49TCh0KTtJKG4sbyk7Y29uc3Qgcj1lLm9mZnNldF91dGMobi5nZXRUaW1lKCkpO3JldHVybiBuLnNldFRpbWUobi5nZXRUaW1lKCkraS1yKSxufWZ1bmN0aW9uIEkoZSx0KXtlLnNldFRpbWUoZS5nZXRUaW1lKCkrODY0ZTUqdCl9ZnVuY3Rpb24gUihlLHQpe2Uuc2V0VGltZShlLmdldFRpbWUoKSs2MCp0KjFlMyl9ZnVuY3Rpb24gRihlLHQpe2NvbnN0IG89ODY0MDAsaT10JW88MD8tMTowLG49TWF0aC50cnVuYyh0L28pK2kscj10LW4qbyxzPU1hdGgudHJ1bmMoci8zNjAwKSxhPU1hdGgudHJ1bmMociUzNjAwLzYwKTtBKGUscyxhLHItMzYwMCpzLTYwKmEsMCksSShlLG4pfWZ1bmN0aW9uIEwoZSl7cmV0dXJuIG5ldyBEYXRlKGUuZ2V0VGltZSgpKX1mdW5jdGlvbiBEKGUpe3JldHVybiBPKGUpPzM2NjozNjV9ZnVuY3Rpb24gTyhlKXtyZXR1cm4gZSU0PT0wJiYoZSUxMDAhPTB8fGUlNDAwPT0wKX1mdW5jdGlvbiBOKGUpe3JldHVybiAxZTMqZX1mdW5jdGlvbiBQKGUsdCl7cmV0dXJuIEcoZSktRyh0KX1mdW5jdGlvbiBCKGUsdCl7cmV0dXJuIG5ldyBEYXRlKGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbz1lLm9mZnNldF91dGModCk7cmV0dXJuIHQrb30oZSx0KSl9ZnVuY3Rpb24gJChlLHQsbyxpLG4scixzKXtjb25zdCBhPW5ldyBEYXRlKERhdGUuVVRDKHQsbyxpLG58fDAscnx8MCxzfHwwKSksbD1lLm9mZnNldF91dGMoK2EpO3JldHVybiBuZXcgRGF0ZShhLnZhbHVlT2YoKS1sKX1mdW5jdGlvbiBXKGUsdCl7cmV0dXJuIG5ldyBEYXRlKHQrZS5vZmZzZXRfdXRjKHQpKX1mdW5jdGlvbiBxKGUsdCxvLGk9MCxuPTAscj0wKXtyZXR1cm4gbmV3IERhdGUoRGF0ZS5VVEMoZSx0LG8saSxuLHIpKX1mdW5jdGlvbiBWKGUsdCxvKXtsZXQgaT10LmdldFRpbWUoKTtvJiYoaSs9ZS5jb3JyZWN0aW9uX2xvYyhpKSk7cmV0dXJuIGktZS5vZmZzZXRfbG9jKGkpfWZ1bmN0aW9uIEgoZSl7cmV0dXJuIG5ldyByKGUpfWxldCBVO2Z1bmN0aW9uIHooZSx0KXtjb25zdCBvPWUubGVuZ3RoO2lmKDA9PT1vKXJldHVybi0xO2lmKGlzTmFOKHQpKXRocm93IEVycm9yKCJLZXkgaXMgTmFOIik7bGV0IGk9MCxuPW8tMSxyPWooKGkrbikvMik7Zm9yKDs7KXtpZihlW3JdPnQpe2lmKG49ci0xLG48aSlyZXR1cm4gcn1lbHNlIGlmKGk9cisxLG48aSlyZXR1cm4gcjxvLTE/cisxOi0xO3I9aigoaStuKS8yKX19ZnVuY3Rpb24gaihlKXtyZXR1cm4gTWF0aC50cnVuYyhlKX1mdW5jdGlvbiBHKGUpe3JldHVybiBlPDA/aihlLzFlMyktKGUlMWUzIT0wPzE6MCk6aihlLzFlMyl9fSw3NzkzODkoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7QWN0aW9uR3JvdXA6KCk9Pm59KTt2YXIgaT1vKDk5MjgwMyk7Y2xhc3Mgbntjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2FjdGlvbnM9bmV3IE1hcCx0aGlzLl9tYW5hZ2VyPWUsCnRoaXMub3JkZXI9dD8ub3JkZXI/PzAsdGhpcy5tb2RhbD0hKCF0fHwhdC5tb2RhbCksdCYmKHRoaXMuZGVzYz10LmRlc2MpLHQmJnQuaXNEaXNhYmxlZD8iZnVuY3Rpb24iPT10eXBlb2YgdC5pc0Rpc2FibGVkP3RoaXMuaXNEaXNhYmxlZD10LmlzRGlzYWJsZWQ6dGhpcy5pc0Rpc2FibGVkPSgpPT4hMDp0aGlzLmlzRGlzYWJsZWQ9KCk9PiExLHRoaXMuX21hbmFnZXIucmVnaXN0ZXJHcm91cCh0aGlzKX1hZGQoZSl7bGV0IHQ9dGhpcy5fYWN0aW9ucy5nZXQoZS5ob3RrZXkpO3R8fCh0PVtdLHRoaXMuX2FjdGlvbnMuc2V0KGUuaG90a2V5LHQpKTtjb25zdCBvPW5ldyBpLkFjdGlvbih0aGlzLGUpO3JldHVybiB0LnB1c2gobyksb31yZW1vdmUoZSl7Y29uc3QgdD10aGlzLl9hY3Rpb25zLmdldChlLmhvdGtleSk7aWYoIXQpcmV0dXJuO2NvbnN0IG89dC5maW5kSW5kZXgoKHQ9PnQ9PT1lKSk7bz49MCYmKDE9PT10Lmxlbmd0aD90aGlzLl9hY3Rpb25zLmRlbGV0ZShlLmhvdGtleSk6dC5zcGxpY2UobywxKSl9aGFuZGxlSG90a2V5KGUsdCl7Y29uc3Qgbz10aGlzLl9hY3Rpb25zLmdldChlKTtpZighbylyZXR1cm4hMTtmb3IoY29uc3QgaSBvZiBvKWlmKCghaS5lbGVtZW50fHx0LnRhcmdldCYmaS5lbGVtZW50LmNvbnRhaW5zKHQudGFyZ2V0KSkmJiFpLmlzRGlzYWJsZWQodCkpcmV0dXJuIHQucmVwZWF0JiYhaS5pc1JlcGVhdEFjY2VwdGVkfHwoaS5oYW5kbGVyKHQpLHRoaXMuX2NhbGxNYXRjaGVkSG90a2V5SGFuZGxlcihlKSksdC5wcmV2ZW50RGVmYXVsdCgpLCEwO3JldHVybiExfXByb21vdGUoKXt0aGlzLl9tYW5hZ2VyLnByb21vdGVHcm91cCh0aGlzKX1kZXN0cm95KCl7Zm9yKGNvbnN0WyxlXW9mIHRoaXMuX2FjdGlvbnMpZm9yKGNvbnN0IHQgb2YgZSl0LmRlc3Ryb3koKTt0aGlzLl9hY3Rpb25zLmNsZWFyKCksdGhpcy5fbWFuYWdlci51bnJlZ2lzdGVyR3JvdXAodGhpcyl9c3RhdGljIHNldE1hdGNoZWRIb3RrZXlIYW5kbGVyKGUpe24uX21hdGNoZWRIb3RrZXlIYW5kbGVyPWV9X2NhbGxNYXRjaGVkSG90a2V5SGFuZGxlcihlKXtuLl9tYXRjaGVkSG90a2V5SGFuZGxlciYmbi5fbWF0Y2hlZEhvdGtleUhhbmRsZXIoZSl9fX0sMjkxMzQxKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0FjdGlvbk1hbmFnZXI6KCk9Pmx9KTt2YXIgaT1vKDIzMjM2NCksbj1vKDIzNTcyNCkscj1vKDcyMTM2OSkscz1vKDY5NjIwOCk7Y2xhc3MgYSBleHRlbmRzIGkuV2F0Y2hlZFZhbHVle3NldFZhbHVlKGUsdCl7Y29uc3Qgbz10aGlzLnZhbHVlKCk7KHR8fHZvaWQgMD09PW98fG8uY29kZSE9PWUuY29kZXx8by5tb2RpZmllcnMhPT1lLm1vZGlmaWVycykmJnN1cGVyLnNldFZhbHVlKGUpfX1jbGFzcyBse2NvbnN0cnVjdG9yKCl7dGhpcy5fZ3JvdXBzPVtdLHRoaXMuX3ByZXNzZWRLZXlzPW5ldyBpLldhdGNoZWRWYWx1ZSgwKSx0aGlzLl9rZXlib2FyZFByZXNzZWRLZXlzU3RhdGU9bmV3IGEobmV3IHMuS2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlKDApKSx0aGlzLl9rZXlEb3duTGlzdGVuZXI9ZT0+e2lmKGUuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47Y29uc3QgdD0oMCxuLmhhc2hGcm9tRXZlbnQpKGUpO2lmKHRoaXMuX3ByZXNzZWRLZXlzLnNldFZhbHVlKHQpLHRoaXMuX2tleWJvYXJkUHJlc3NlZEtleXNTdGF0ZS5zZXRWYWx1ZShuZXcgcy5LZXlib2FyZFByZXNzZWRLZXlzU3RhdGUoKDAsbi5tb2RpZmllcnNGcm9tRXZlbnQpKGUpLGUuY29kZSkpLCEoMCxyLmlzTmF0aXZlVUlJbnRlcmFjdGlvbikodCxlLnRhcmdldCkpZm9yKGxldCBvPXRoaXMuX2dyb3Vwcy5sZW5ndGg7by0tID4wOyl7Y29uc3QgaT10aGlzLl9ncm91cHNbb107aWYoIWkuaXNEaXNhYmxlZCgpKXtpZihpLmhhbmRsZUhvdGtleSh0LGUpKXJldHVybjtpZihpLm1vZGFsKXJldHVybn19fSx0aGlzLl9rZXlVcExpc3RlbmVyPWU9Pntjb25zdCB0PSgwLG4uaGFzaEZyb21FdmVudCkoZSk7dGhpcy5fcHJlc3NlZEtleXMuc2V0VmFsdWUodCksdGhpcy5fa2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlLnNldFZhbHVlKG5ldyBzLktleWJvYXJkUHJlc3NlZEtleXNTdGF0ZSgoMCxuLm1vZGlmaWVyc0Zyb21FdmVudCkoZSksIiIpKX0sdGhpcy5fYmx1ckV2ZW50PSgpPT57dGhpcy5fcHJlc3NlZEtleXMuc2V0VmFsdWUoMCksdGhpcy5fa2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlLnNldFZhbHVlKG5ldyBzLktleWJvYXJkUHJlc3NlZEtleXNTdGF0ZSgwLCIiKSl9LHRoaXMuX21vdXNlRXZlbnQ9ZT0+e2NvbnN0IHQ9KDAsbi5tb2RpZmllcnNGcm9tRXZlbnQpKGUpLG89MjU1Jih0aGlzLl9wcmVzc2VkS2V5cy52YWx1ZSgpPz8wKTt0aGlzLl9wcmVzc2VkS2V5cy5zZXRWYWx1ZSh0fG8pfX1saXN0ZW4oZSl7ZS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLl9rZXlEb3duTGlzdGVuZXIpLGUuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLHRoaXMuX2tleVVwTGlzdGVuZXIpLGUuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsdGhpcy5fYmx1ckV2ZW50KSxlLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5fbW91c2VFdmVudCl9dW5saXN0ZW4oZSl7ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLl9rZXlEb3duTGlzdGVuZXIpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5dXAiLHRoaXMuX2tleVVwTGlzdGVuZXIpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYmx1ciIsdGhpcy5fYmx1ckV2ZW50KSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5fbW91c2VFdmVudCl9cmVnaXN0ZXJHcm91cChlKXt0aGlzLl9ncm91cHMucHVzaChlKSx0aGlzLnNvcnRHcm91cHMoKX11bnJlZ2lzdGVyR3JvdXAoZSl7Zm9yKGxldCB0PXRoaXMuX2dyb3Vwcy5sZW5ndGg7dC0tOyl0aGlzLl9ncm91cHNbdF09PT1lJiZ0aGlzLl9ncm91cHMuc3BsaWNlKHQsMSl9cHJvbW90ZUdyb3VwKGUpe2NvbnN0IHQ9dGhpcy5fZ2V0TW9kYWxPcmRlckVwb2NoKCksbz1jKGUsdCk7bGV0IGk9dGhpcy5fZ3JvdXBzLmZpbmRJbmRleCgoZT0+YyhlLHQpPT09bykpLG49MAo7Zm9yKDtpPHRoaXMuX2dyb3Vwcy5sZW5ndGgmJmModGhpcy5fZ3JvdXBzW2ldLHQpPT09bzspe2NvbnN0IHI9dGhpcy5fZ3JvdXBzW2ldO3I9PT1lP249MTpjKHIsdCk9PT1vJiYodGhpcy5fZ3JvdXBzW2ktbl09ciksaSsrfXRoaXMuX2dyb3Vwc1tpLW5dPWV9cHJlc3NlZEtleXMoKXtyZXR1cm4gdGhpcy5fcHJlc3NlZEtleXMucmVhZG9ubHkoKX1rZXlib2FyZFByZXNzZWRLZXlzU3RhdGUoKXtyZXR1cm4gdGhpcy5fa2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlLnJlYWRvbmx5KCl9c29ydEdyb3Vwcygpe2NvbnN0IGU9dGhpcy5fZ2V0TW9kYWxPcmRlckVwb2NoKCk7dGhpcy5fZ3JvdXBzLnNvcnQoKCh0LG8pPT5jKG8sZSktYyh0LGUpKSl9X2dldE1pbk9yZGVyKCl7cmV0dXJuIHRoaXMuX2dyb3Vwcy5yZWR1Y2UoKChlLHQpPT5NYXRoLm1pbihlLHQub3JkZXIpKSwwKX1fZ2V0TW9kYWxPcmRlckVwb2NoKCl7cmV0dXJuLTIqKE1hdGguYWJzKHRoaXMuX2dldE1pbk9yZGVyKCkpLTEpfX1mdW5jdGlvbiBjKGUsdCl7cmV0dXJuIGUub3JkZXIrKGUubW9kYWw/dDowKX19LDk5MjgwMyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtBY3Rpb246KCk9Pml9KTtjbGFzcyBpe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fZ3JvdXA9ZTtjb25zdHtob3RrZXk6byxoYW5kbGVyOmksZGVzYzpuLGlzRGlzYWJsZWQ6cixlbGVtZW50OnM9bnVsbCxpc1JlcGVhdEFjY2VwdGVkOmE9ITF9PXQ7dGhpcy5ob3RrZXk9byx0aGlzLmhhbmRsZXI9aSx0aGlzLmRlc2M9bix0aGlzLmVsZW1lbnQ9cyx0aGlzLmlzUmVwZWF0QWNjZXB0ZWQ9YSx0aGlzLmlzRGlzYWJsZWQ9cj8iZnVuY3Rpb24iPT10eXBlb2Ygcj9yOigpPT4hMDooKT0+ITF9ZGVzdHJveSgpe3RoaXMuX2dyb3VwJiYodGhpcy5fZ3JvdXAucmVtb3ZlKHRoaXMpLHRoaXMuX2dyb3VwPW51bGwpfX19LDcyNzA5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2NyZWF0ZUdyb3VwOigpPT5zfSk7dmFyIGk9bygyOTEzNDEpLG49byg3NzkzODkpO2NvbnN0IHI9bmV3IGkuQWN0aW9uTWFuYWdlcjtyLnByZXNzZWRLZXlzKCksci5rZXlib2FyZFByZXNzZWRLZXlzU3RhdGUoKTtmdW5jdGlvbiBzKGUpe3JldHVybiBuZXcgbi5BY3Rpb25Hcm91cChyLGUpfX0sMjM1NzI0KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse01vZGlmaWVyczooKT0+cyxoYXNoRnJvbUV2ZW50OigpPT5sLGhvdGtleUhhc2hUb0FyaWFLZXlzaG9ydGN1dHM6KCk9PnAsaHVtYW5SZWFkYWJsZUhhc2g6KCk9PnUsaHVtYW5SZWFkYWJsZU1vZGlmaWVyczooKT0+Yyxpc01hY0tleWJvYXJkOigpPT5yLG1vZGlmaWVyc0Zyb21FdmVudDooKT0+YX0pO3ZhciBpLG49byg3Mzg0NTgpOyFmdW5jdGlvbihlKXtlW2UuS2V5Q29kZT0yNTVdPSJLZXlDb2RlIixlW2UuQ29udHJvbD0yNTZdPSJDb250cm9sIixlW2UuQWx0PTUxMl09IkFsdCIsZVtlLlNoaWZ0PTEwMjRdPSJTaGlmdCIsZVtlLk1ldGE9MjA0OF09Ik1ldGEifShpfHwoaT17fSkpO2NvbnN0IHI9bi5pc01hY3x8bi5pc0lPUzt2YXIgcztmdW5jdGlvbiBhKGUpe2xldCB0PTA7cmV0dXJuIGUuc2hpZnRLZXkmJih0Kz0xMDI0KSxlLmFsdEtleSYmKHQrPTUxMiksZS5jdHJsS2V5JiYodCs9MjU2KSxlLm1ldGFLZXkmJih0Kz0yMDQ4KSx0fWZ1bmN0aW9uIGwoZSl7cmV0dXJuIGEoZSl8ZS5rZXlDb2RlfSFmdW5jdGlvbihlKXtlW2UuTm9uZT0wXT0iTm9uZSIsZVtlLkFsdD01MTJdPSJBbHQiLGVbZS5TaGlmdD0xMDI0XT0iU2hpZnQiLGVbZS5Nb2Q9cj8yMDQ4OjI1Nl09Ik1vZCIsZVtlLkNvbnRyb2w9MjU2XT0iQ29udHJvbCIsZVtlLk1ldGE9MjA0OF09Ik1ldGEifShzfHwocz17fSkpO2Z1bmN0aW9uIGMoZSx0PSFyKXtsZXQgbz0iIjtyZXR1cm4gMjU2JmUmJihvKz1fKHI/Il4iOiJDdHJsIix0KSksNTEyJmUmJihvKz1fKHI/IuKMpSI6IkFsdCIsdCkpLDEwMjQmZSYmKG8rPV8ocj8i4oenIjoiU2hpZnQiLHQpKSwyMDQ4JmUmJihvKz1fKHI/IuKMmCI6IldpbiIsdCkpLG99Y29uc3QgZD17OToi4oelIiwxMzoi4oa1IiwyNzoiRXNjIiw4OnI/IuKMqyI6IkJhY2tzcGFjZSIsMzI6IlNwYWNlIiwzNToiRW5kIiwzNjoiSG9tZSIsMzc6IuKGkCIsMzg6IuKGkSIsMzk6IuKGkiIsNDA6IuKGkyIsNDU6IklucyIsNDY6IkRlbCIsMTg4OiIsIiwxOTA6IkRvdCIsMTkxOiIvIn0saD17OToiVGFiIiwxMzoiRW50ZXIiLDI3OiJFc2MiLDg6IkJhY2tzcGFjZSIsMzI6IlNwYWNlIiwzNToiRW5kIiwzNjoiSG9tZSIsMzc6IkFycm93TGVmdCIsMzg6IkFycm93VXAiLDM5OiJBcnJvd1JpZ2h0Iiw0MDoiQXJyb3dEb3duIiw0NToiSW5zIiw0NjoiRGVsIiwxODg6IiwiLDE5MDoiLiIsMTkxOiIvIn07Zm9yKGxldCBlPTE7ZTw9MTY7ZSsrKWRbZSsxMTFdPWBGJHtlfWAsaFtlKzExMV09YEYke2V9YDtmdW5jdGlvbiB1KGUpe2xldCB0PWMoZSk7Y29uc3Qgbz0yNTUmZTtyZXR1cm4gdCs9byBpbiBkP2Rbb106U3RyaW5nLmZyb21DaGFyQ29kZShvKSx0fWZ1bmN0aW9uIF8oZSx0KXtyZXR1cm5gJHtlfSR7dD8iICsgIjpyPyIgIjoiIn1gfWZ1bmN0aW9uIHAoZSl7Y29uc3QgdD1bXTsyNTYmZSYmdC5wdXNoKCJDdHJsIiksNTEyJmUmJnQucHVzaCgiQWx0IiksMTAyNCZlJiZ0LnB1c2goIlNoaWZ0IiksMjA0OCZlJiZ0LnB1c2goIk1ldGEiKTtjb25zdCBvPTI1NSZlO3JldHVybiBvIGluIGQ/dC5wdXNoKGRbb10pOnQucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKG8pKSx0LmpvaW4oIisiKX19LDY5NjIwOChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtLZXlib2FyZFByZXNzZWRLZXlzU3RhdGU6KCk9Pm59KTt2YXIgaT1vKDIzNTcyNCk7Y2xhc3Mgbntjb25zdHJ1Y3RvcihlLHQpe3RoaXMubW9kaWZpZXJzPWUsdGhpcy5jb2RlPXR9YWx0T3JPcHRpb25Db2RlKCl7cmV0dXJuIkFsdExlZnQiPT09dGhpcy5jb2RlfHwiQWx0UmlnaHQiPT09dGhpcy5jb2RlfWNvbnRyb2xPck1ldGFDb2RlKCl7CnJldHVybiBpLmlzTWFjS2V5Ym9hcmQ/Ik1ldGFMZWZ0Ij09PXRoaXMuY29kZXx8Ik1ldGFSaWdodCI9PT10aGlzLmNvZGV8fCJPU0xlZnQiPT09dGhpcy5jb2RlfHwiT1NSaWdodCI9PT10aGlzLmNvZGU6IkNvbnRyb2xMZWZ0Ij09PXRoaXMuY29kZXx8IkNvbnRyb2xSaWdodCI9PT10aGlzLmNvZGV9fX0sNzIxMzY5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2lzTmF0aXZlVUlJbnRlcmFjdGlvbjooKT0+cixpc1RleHRFZGl0aW5nRmllbGQ6KCk9Pm59KTt2YXIgaT1vKDIzNTcyNCk7ZnVuY3Rpb24gbihlKXtpZigiSU5QVVQiPT09ZS50YWdOYW1lKXtjb25zdCB0PWUudHlwZTtyZXR1cm4idGV4dCI9PT10fHwiZW1haWwiPT09dHx8Im51bWJlciI9PT10fHwicGFzc3dvcmQiPT09dHx8InNlYXJjaCI9PT10fHwidGVsIj09PXR8fCJ1cmwiPT09dH1yZXR1cm4iVEVYVEFSRUEiPT09ZS50YWdOYW1lfHxlLmlzQ29udGVudEVkaXRhYmxlfWZ1bmN0aW9uIHIoZSx0KXtpZighdClyZXR1cm4hMTtjb25zdCBvPTI1NSZlO2lmKDI3PT09b3x8bz4+PjQ9PTcpcmV0dXJuITE7c3dpdGNoKGVebyl7Y2FzZSBpLk1vZGlmaWVycy5BbHQ6cmV0dXJuKDM4PT09b3x8NDA9PT1vKSYmIlNFTEVDVCI9PT10LnRhZ05hbWV8fG4odCk7Y2FzZSBpLk1vZGlmaWVycy5BbHQraS5Nb2RpZmllcnMuU2hpZnQ6cmV0dXJuIG4odCk7Y2FzZSBpLk1vZGlmaWVycy5Nb2Q6aWYoNjc9PT1vfHwhaS5pc01hY0tleWJvYXJkJiY0NT09PW8pe2NvbnN0IGU9dC5vd25lckRvY3VtZW50JiZ0Lm93bmVyRG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7aWYoZSYmIWUuaXNDb2xsYXBzZWQpcmV0dXJuITB9cmV0dXJuIG4odCk7Y2FzZSBpLk1vZGlmaWVycy5Nb2QraS5Nb2RpZmllcnMuU2hpZnQ6cmV0dXJuIG8+PTMzJiZvPD00MCYmbih0KTtjYXNlIGkuTW9kaWZpZXJzLlNoaWZ0OmNhc2UgMDpyZXR1cm4gOT09PW8/ISghdC5vd25lckRvY3VtZW50fHx0PT09dC5vd25lckRvY3VtZW50LmJvZHl8fHQ9PT10Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KTooIWZ1bmN0aW9uKGUpe2lmKCJCVVRUT04iPT09ZS50YWdOYW1lKXJldHVybiEwO2lmKCJJTlBVVCI9PT1lLnRhZ05hbWUpe2NvbnN0IHQ9ZS50eXBlO2lmKCJzdWJtaXQiPT09dHx8ImJ1dHRvbiI9PT10fHwicmVzZXQiPT09dHx8ImNoZWNrYm94Ij09PXR8fCJyYWRpbyI9PT10KXJldHVybiEwfXJldHVybiExfSh0KXx8MTM9PT1vfHwzMj09PW98fDk9PT1vKSYmKCJmb3JtImluIHR8fHQuaXNDb250ZW50RWRpdGFibGUpfXJldHVybiExfX0sODY4MTEwKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2FuY2hvcnM6KCk9PnIsbWFrZUFuY2hvcmFibGU6KCk9PnN9KTt2YXIgaSxuPW8oNzc5NDc0KTshZnVuY3Rpb24oZSl7ZS5Ub3A9InRvcCIsZS5Cb3R0b209ImJvdHRvbSIsZS5Ub3BSaWdodD0idG9wUmlnaHQifShpfHwoaT17fSkpO2NvbnN0IHI9e2JvdHRvbTp7YXR0YWNobWVudDp7aG9yaXpvbnRhbDoibGVmdCIsdmVydGljYWw6InRvcCJ9LHRhcmdldEF0dGFjaG1lbnQ6e2hvcml6b250YWw6ImxlZnQiLHZlcnRpY2FsOiJib3R0b20ifX0sdG9wOnthdHRhY2htZW50Ontob3Jpem9udGFsOiJsZWZ0Iix2ZXJ0aWNhbDoiYm90dG9tIn0sdGFyZ2V0QXR0YWNobWVudDp7aG9yaXpvbnRhbDoibGVmdCIsdmVydGljYWw6InRvcCJ9fSx0b3BSaWdodDp7YXR0YWNobWVudDp7aG9yaXpvbnRhbDoicmlnaHQiLHZlcnRpY2FsOiJib3R0b20ifSx0YXJnZXRBdHRhY2htZW50Ontob3Jpem9udGFsOiJyaWdodCIsdmVydGljYWw6InRvcCJ9fSxib3R0b21SaWdodDp7YXR0YWNobWVudDp7aG9yaXpvbnRhbDoicmlnaHQiLHZlcnRpY2FsOiJ0b3AifSx0YXJnZXRBdHRhY2htZW50Ontob3Jpem9udGFsOiJyaWdodCIsdmVydGljYWw6ImJvdHRvbSJ9fX07ZnVuY3Rpb24gcyhlKXt2YXIgdDtyZXR1cm4odD1jbGFzcyBleHRlbmRzIG4uUHVyZUNvbXBvbmVudHtyZW5kZXIoKXtjb25zdHthbmNob3I6dD0iYm90dG9tIn09dGhpcy5wcm9wcztyZXR1cm4gbi5jcmVhdGVFbGVtZW50KGUsey4uLnRoaXMucHJvcHMsYXR0YWNobWVudDpyW3RdLmF0dGFjaG1lbnQsdGFyZ2V0QXR0YWNobWVudDpyW3RdLnRhcmdldEF0dGFjaG1lbnR9KX19KS5kaXNwbGF5TmFtZT0iQW5jaG9yYWJsZSBDb21wb25lbnQiLHR9fSwzODQzNzAoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7bWFrZUF0dGFjaGFibGU6KCk9PnJ9KTt2YXIgaT1vKDc3OTQ3NCksbj1vKDEyOTM2NSk7ZnVuY3Rpb24gcihlKXt2YXIgdDtyZXR1cm4odD1jbGFzcyBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLl9nZXRDb21wb25lbnRJbnN0YW5jZT1lPT57dGhpcy5faW5zdGFuY2U9ZX0sdGhpcy5fdGhyb3R0bGVDYWxjUHJvcHM9KCk9PntyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT50aGlzLnNldFN0YXRlKHRoaXMuX2NhbGNQcm9wcyh0aGlzLnByb3BzKSkpKX0sdGhpcy5zdGF0ZT10aGlzLl9nZXRTdGF0ZUZyb21Qcm9wcygpfWNvbXBvbmVudERpZE1vdW50KCl7dGhpcy5faW5zdGFuY2VFbGVtPW4uZmluZERPTU5vZGUodGhpcy5faW5zdGFuY2UpLHRoaXMucHJvcHMuYXR0YWNoT25jZXx8dGhpcy5fc3Vic2NyaWJlKCksdGhpcy5zZXRTdGF0ZSh0aGlzLl9jYWxjUHJvcHModGhpcy5wcm9wcykpfWNvbXBvbmVudERpZFVwZGF0ZShlKXtlLmNoaWxkcmVuPT09dGhpcy5wcm9wcy5jaGlsZHJlbiYmZS50b3A9PT10aGlzLnByb3BzLnRvcCYmZS5sZWZ0PT09dGhpcy5wcm9wcy5sZWZ0JiZlLndpZHRoPT09dGhpcy5wcm9wcy53aWR0aHx8dGhpcy5zZXRTdGF0ZSh0aGlzLl9nZXRTdGF0ZUZyb21Qcm9wcygpLCgoKT0+dGhpcy5zZXRTdGF0ZSh0aGlzLl9jYWxjUHJvcHModGhpcy5wcm9wcykpKSl9cmVuZGVyKCl7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7c3R5bGU6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsd2lkdGg6IjEwMCUiLHRvcDowLGxlZnQ6MH19LGkuY3JlYXRlRWxlbWVudChlLHsuLi50aGlzLnByb3BzLHJlZjp0aGlzLl9nZXRDb21wb25lbnRJbnN0YW5jZSx0b3A6dGhpcy5zdGF0ZS50b3AsCmJvdHRvbTp2b2lkIDAhPT10aGlzLnN0YXRlLmJvdHRvbT90aGlzLnN0YXRlLmJvdHRvbToiYXV0byIscmlnaHQ6dm9pZCAwIT09dGhpcy5zdGF0ZS5yaWdodD90aGlzLnN0YXRlLnJpZ2h0OiJhdXRvIixsZWZ0OnRoaXMuc3RhdGUubGVmdCx3aWR0aDp0aGlzLnN0YXRlLndpZHRoLG1heFdpZHRoOnRoaXMuc3RhdGUubWF4V2lkdGh9LHRoaXMucHJvcHMuY2hpbGRyZW4pKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMuX3Vuc3Vic3JpYmUoKX1fZ2V0U3RhdGVGcm9tUHJvcHMoKXtyZXR1cm57Ym90dG9tOnRoaXMucHJvcHMuYm90dG9tLGxlZnQ6dGhpcy5wcm9wcy5sZWZ0LHJpZ2h0OnRoaXMucHJvcHMucmlnaHQsdG9wOnZvaWQgMCE9PXRoaXMucHJvcHMudG9wP3RoaXMucHJvcHMudG9wOi0xZTQsd2lkdGg6dGhpcy5wcm9wcy5pbmhlcml0V2lkdGhGcm9tVGFyZ2V0P3RoaXMucHJvcHMudGFyZ2V0JiZ0aGlzLnByb3BzLnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDp0aGlzLnByb3BzLndpZHRoLG1heFdpZHRoOnRoaXMucHJvcHMuaW5oZXJpdE1heFdpZHRoRnJvbVRhcmdldCYmdGhpcy5wcm9wcy50YXJnZXQmJnRoaXMucHJvcHMudGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRofX1fY2FsY1Byb3BzKGUpe2lmKGUudGFyZ2V0JiZlLmF0dGFjaG1lbnQmJmUudGFyZ2V0QXR0YWNobWVudCl7Y29uc3QgdD10aGlzLl9jYWxjVGFyZ2V0UHJvcHMoZS50YXJnZXQsZS5hdHRhY2htZW50LGUudGFyZ2V0QXR0YWNobWVudCk7aWYobnVsbD09PXQpcmV0dXJue307Y29uc3R7d2lkdGg6byxpbmhlcml0V2lkdGhGcm9tVGFyZ2V0Omk9ITAsaW5oZXJpdE1heFdpZHRoRnJvbVRhcmdldDpuPSExfT10aGlzLnByb3BzLHI9e3dpZHRoOmk/dC53aWR0aDpvLG1heFdpZHRoOm4/dC53aWR0aDp2b2lkIDB9O3N3aXRjaChlLmF0dGFjaG1lbnQudmVydGljYWwpe2Nhc2UiYm90dG9tIjpjYXNlIm1pZGRsZSI6ci50b3A9dC55O2JyZWFrO2RlZmF1bHQ6cltlLmF0dGFjaG1lbnQudmVydGljYWxdPXQueX1zd2l0Y2goZS5hdHRhY2htZW50Lmhvcml6b250YWwpe2Nhc2UicmlnaHQiOmNhc2UiY2VudGVyIjpyLmxlZnQ9dC54O2JyZWFrO2RlZmF1bHQ6cltlLmF0dGFjaG1lbnQuaG9yaXpvbnRhbF09dC54fXJldHVybiByfXJldHVybnt9fV9jYWxjVGFyZ2V0UHJvcHMoZSx0LG8pe2NvbnN0IGk9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxuPXRoaXMuX2luc3RhbmNlRWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxyPSJwYXJlbnQiPT09dGhpcy5wcm9wcy5yb290P3RoaXMuX2dldENvb3Jkc1JlbFRvUGFyZW50RWwoZSxpKTp0aGlzLl9nZXRDb29yZHNSZWxUb0RvY3VtZW50KGkpO2lmKG51bGw9PT1yKXJldHVybiBudWxsO2NvbnN0IHM9dGhpcy5fZ2V0RGltZW5zaW9ucyhuKSxhPXRoaXMuX2dldERpbWVuc2lvbnMoaSkud2lkdGg7bGV0IGw9MCxjPTA7c3dpdGNoKHQudmVydGljYWwpe2Nhc2UidG9wIjpjPXJbby52ZXJ0aWNhbF07YnJlYWs7Y2FzZSJib3R0b20iOmM9cltvLnZlcnRpY2FsXS1zLmhlaWdodDticmVhaztjYXNlIm1pZGRsZSI6Yz1yW28udmVydGljYWxdLXMuaGVpZ2h0LzJ9c3dpdGNoKHQuaG9yaXpvbnRhbCl7Y2FzZSJsZWZ0IjpsPXJbby5ob3Jpem9udGFsXTticmVhaztjYXNlInJpZ2h0IjpsPXJbby5ob3Jpem9udGFsXS1zLndpZHRoO2JyZWFrO2Nhc2UiY2VudGVyIjpsPXJbby5ob3Jpem9udGFsXS1zLndpZHRoLzJ9cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0aGlzLnByb3BzLmF0dGFjaG1lbnRPZmZzZXRZJiYoYys9dGhpcy5wcm9wcy5hdHRhY2htZW50T2Zmc2V0WSksIm51bWJlciI9PXR5cGVvZiB0aGlzLnByb3BzLmF0dGFjaG1lbnRPZmZzZXRYJiYobCs9dGhpcy5wcm9wcy5hdHRhY2htZW50T2Zmc2V0WCkse3g6bCx5OmMsd2lkdGg6YX19X2dldENvb3Jkc1JlbFRvRG9jdW1lbnQoZSl7Y29uc3QgdD1wYWdlWU9mZnNldCxvPXBhZ2VYT2Zmc2V0LGk9ZS50b3ArdCxuPWUuYm90dG9tK3Qscj1lLmxlZnQrbztyZXR1cm57dG9wOmksYm90dG9tOm4sbGVmdDpyLHJpZ2h0OmUucmlnaHQrbyxtaWRkbGU6KGkrZS5oZWlnaHQpLzIsY2VudGVyOnIrZS53aWR0aC8yfX1fZ2V0Q29vcmRzUmVsVG9QYXJlbnRFbChlLHQpe2NvbnN0IG89ZS5vZmZzZXRQYXJlbnQ7aWYobnVsbD09PW8pcmV0dXJuIG51bGw7Y29uc3QgaT1vLnNjcm9sbFRvcCxuPW8uc2Nyb2xsTGVmdCxyPWUub2Zmc2V0VG9wK2kscz1lLm9mZnNldExlZnQrbixhPXQud2lkdGgrcztyZXR1cm57dG9wOnIsYm90dG9tOnQuaGVpZ2h0K3IsbGVmdDpzLHJpZ2h0OmEsbWlkZGxlOihyK3QuaGVpZ2h0KS8yLGNlbnRlcjoocyt0LndpZHRoKS8yfX1fZ2V0RGltZW5zaW9ucyhlKXtyZXR1cm57aGVpZ2h0OmUuaGVpZ2h0LHdpZHRoOmUud2lkdGh9fV9zdWJzY3JpYmUoKXsiZG9jdW1lbnQiPT09dGhpcy5wcm9wcy5yb290JiYod2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5fdGhyb3R0bGVDYWxjUHJvcHMsITApLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuX3Rocm90dGxlQ2FsY1Byb3BzKSl9X3Vuc3Vic3JpYmUoKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLl90aHJvdHRsZUNhbGNQcm9wcywhMCksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5fdGhyb3R0bGVDYWxjUHJvcHMpfX0pLmRpc3BsYXlOYW1lPSJBdHRhY2hhYmxlIENvbXBvbmVudCIsdH19LDM0Mjc4KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2RvQW5pbWF0ZTooKT0+cn0pO2NvbnN0IGk9e2Zyb206MCxkdXJhdGlvbjoyNTAsZWFzaW5nOm8oMjE4ODE0KS5lYXNpbmdGdW5jLmVhc2VPdXRDdWJpY307Y2xhc3Mgbntjb25zdHJ1Y3RvcihlKXt0aGlzLl9kb2luZz0hMCx0aGlzLl9jb21wbGV0ZWQ9ITEsdGhpcy5fb3B0aW9ucz17Li4uaSwuLi5lfTtjb25zdCB0PXBlcmZvcm1hbmNlLm5vdygpO3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKGU9Pnt0aGlzLl9hbmltYXRpb24odCx0aGlzLl9vcHRpb25zLmZyb20sZSl9KSl9c3RvcCgpewp0aGlzLl9kb2luZz0hMX1jb21wbGV0ZWQoKXtyZXR1cm4gdGhpcy5fY29tcGxldGVkfV9hbmltYXRpb24oZSx0LG8pe2lmKCF0aGlzLl9kb2luZylyZXR1cm4gdm9pZCB0aGlzLl9maW5pc2hBbmltYXRpb24oKTtjb25zdCBpPShvPSFvfHxvPDFlMTI/cGVyZm9ybWFuY2Uubm93KCk6byktZSxuPWk+PXRoaXMuX29wdGlvbnMuZHVyYXRpb258fHQ9PT10aGlzLl9vcHRpb25zLnRvLHI9KHM9dGhpcy5fb3B0aW9ucy5mcm9tLGE9dGhpcy5fb3B0aW9ucy50byxsPXRoaXMuX29wdGlvbnMuZWFzaW5nKGkvdGhpcy5fb3B0aW9ucy5kdXJhdGlvbikscyooMS1sKSthKmwpO3ZhciBzLGEsbDtjb25zdCBjPW4/dGhpcy5fb3B0aW9ucy50bzpyLGQ9Yy10O3RoaXMuX29wdGlvbnMub25TdGVwKGQsYyksbj90aGlzLl9maW5pc2hBbmltYXRpb24oKTp3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCh0PT57dGhpcy5fYW5pbWF0aW9uKGUsYyx0KX0pKX1fZmluaXNoQW5pbWF0aW9uKCl7dGhpcy5fb3B0aW9ucy5vbkNvbXBsZXRlJiZ0aGlzLl9vcHRpb25zLm9uQ29tcGxldGUoKSx0aGlzLl9jb21wbGV0ZWQ9ITB9fWZ1bmN0aW9uIHIoZSl7cmV0dXJuIG5ldyBuKGUpfX0sNzgwMzc0KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0RyYWdnYWJsZTooKT0+cn0pO3ZhciBpPW8oMTM4NjM4KSxuPW8oMzE0NzIwKTtvKDg0ODUyNyk7Y2xhc3Mgcntjb25zdHJ1Y3RvcihlKXt0aGlzLl9oZWxwZXI9bnVsbCx0aGlzLl9oYW5kbGVEcmFnU3RhcnQ9ZT0+e2lmKG51bGwhPT10aGlzLl9oZWxwZXIpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fc291cmNlO3QuY2xhc3NMaXN0LmFkZCgidWktZHJhZ2dhYmxlLWRyYWdnaW5nIik7Y29uc3RbbyxpXT1bKDAsbi5vdXRlcldpZHRoKSh0KSwoMCxuLm91dGVySGVpZ2h0KSh0KV07dGhpcy5faGVscGVyPXtzdGFydFRvcDpwYXJzZUZsb2F0KHQuc3R5bGUudG9wKXx8MCxzdGFydExlZnQ6cGFyc2VGbG9hdCh0LnN0eWxlLmxlZnQpfHwwLG5leHRUb3A6bnVsbCxuZXh0TGVmdDpudWxsLHJhZjpudWxsLHNpemU6W28saV0sY29udGFpbm1lbnQ6dGhpcy5fY29udGFpbm1lbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudD9bcGFyc2VJbnQoZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLl9jb250YWlubWVudCkuYm9yZGVyTGVmdFdpZHRoKStwYXJzZUludChnZXRDb21wdXRlZFN0eWxlKHRoaXMuX2NvbnRhaW5tZW50KS5wYWRkaW5nTGVmdCkscGFyc2VJbnQoZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLl9jb250YWlubWVudCkuYm9yZGVyVG9wV2lkdGgpK3BhcnNlSW50KGdldENvbXB1dGVkU3R5bGUodGhpcy5fY29udGFpbm1lbnQpLnBhZGRpbmdUb3ApLHRoaXMuX2NvbnRhaW5tZW50Lm9mZnNldFdpZHRoLXBhcnNlSW50KGdldENvbXB1dGVkU3R5bGUodGhpcy5fY29udGFpbm1lbnQpLmJvcmRlclJpZ2h0V2lkdGgpLXBhcnNlSW50KGdldENvbXB1dGVkU3R5bGUodGhpcy5fY29udGFpbm1lbnQpLnBhZGRpbmdSaWdodCktcGFyc2VJbnQoZ2V0Q29tcHV0ZWRTdHlsZSh0KS5tYXJnaW5MZWZ0KS1wYXJzZUludChnZXRDb21wdXRlZFN0eWxlKHQpLm1hcmdpblJpZ2h0KS1vLHRoaXMuX2NvbnRhaW5tZW50Lm9mZnNldEhlaWdodC1wYXJzZUludChnZXRDb21wdXRlZFN0eWxlKHRoaXMuX2NvbnRhaW5tZW50KS5ib3JkZXJCb3R0b21XaWR0aCktcGFyc2VJbnQoZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLl9jb250YWlubWVudCkucGFkZGluZ0JvdHRvbSktcGFyc2VJbnQoZ2V0Q29tcHV0ZWRTdHlsZSh0KS5tYXJnaW5Ub3ApLXBhcnNlSW50KGdldENvbXB1dGVkU3R5bGUodCkubWFyZ2luQm90dG9tKS1pXToid2luZG93Ij09PXRoaXMuX2NvbnRhaW5tZW50P1t3aW5kb3cuc2Nyb2xsWCx3aW5kb3cuc2Nyb2xsWSx3aW5kb3cuc2Nyb2xsWCtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQub2Zmc2V0V2lkdGgtbyx3aW5kb3cuc2Nyb2xsWStkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0LWldOm51bGx9LHRoaXMuX3N0YXJ0Py4oKX0sdGhpcy5faGFuZGxlRHJhZ01vdmU9ZT0+e2lmKG51bGw9PT10aGlzLl9oZWxwZXIpcmV0dXJuO2NvbnN0e2N1cnJlbnQ6dCxpbml0aWFsOm99PWUuZGV0YWlsLGk9dGhpcy5fc291cmNlLG49dGhpcy5faGVscGVyLm5leHRUb3Ascj10aGlzLl9oZWxwZXIubmV4dExlZnQscz0ieSI9PT10aGlzLl9heGlzfHwhMT09PXRoaXMuX2F4aXN8fDAhPT10Lm1vdmVtZW50WTtpZihzKXtjb25zdCBlPXRoaXMuX2hlbHBlci5zdGFydFRvcDtpc0Zpbml0ZShlKSYmKHRoaXMuX2hlbHBlci5uZXh0VG9wPXQuY2xpZW50WS1vLmNsaWVudFkrZSl9Y29uc3QgYT0ieCI9PT10aGlzLl9heGlzfHwhMT09PXRoaXMuX2F4aXN8fDAhPT10Lm1vdmVtZW50WTtpZihhKXtjb25zdCBlPXRoaXMuX2hlbHBlci5zdGFydExlZnQ7aXNGaW5pdGUoZSkmJih0aGlzLl9oZWxwZXIubmV4dExlZnQ9dC5jbGllbnRYLW8uY2xpZW50WCtlKX1pZihudWxsIT09dGhpcy5faGVscGVyLmNvbnRhaW5tZW50KXtjb25zdFtlLHQsbyxpXT10aGlzLl9oZWxwZXIuY29udGFpbm1lbnQ7cyYmdGhpcy5faGVscGVyLm5leHRUb3AmJih0aGlzLl9oZWxwZXIubmV4dFRvcD1NYXRoLm1pbih0aGlzLl9oZWxwZXIubmV4dFRvcCxpKSx0aGlzLl9oZWxwZXIubmV4dFRvcD1NYXRoLm1heCh0aGlzLl9oZWxwZXIubmV4dFRvcCx0KSksYSYmdGhpcy5faGVscGVyLm5leHRMZWZ0JiYodGhpcy5faGVscGVyLm5leHRMZWZ0PU1hdGgubWluKHRoaXMuX2hlbHBlci5uZXh0TGVmdCxvKSx0aGlzLl9oZWxwZXIubmV4dExlZnQ9TWF0aC5tYXgodGhpcy5faGVscGVyLm5leHRMZWZ0LGUpKX1udWxsIT09dGhpcy5faGVscGVyLnJhZnx8bj09PXRoaXMuX2hlbHBlci5uZXh0VG9wJiZyPT09dGhpcy5faGVscGVyLm5leHRMZWZ0fHwodGhpcy5faGVscGVyLnJhZj1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT57bnVsbCE9PXRoaXMuX2hlbHBlciYmKG51bGwhPT10aGlzLl9oZWxwZXIubmV4dFRvcCYmKGkuc3R5bGUudG9wPXRoaXMuX2hlbHBlci5uZXh0VG9wKyJweCIsdGhpcy5faGVscGVyLm5leHRUb3A9bnVsbCksCm51bGwhPT10aGlzLl9oZWxwZXIubmV4dExlZnQmJihpLnN0eWxlLmxlZnQ9dGhpcy5faGVscGVyLm5leHRMZWZ0KyJweCIsdGhpcy5faGVscGVyLm5leHRMZWZ0PW51bGwpLHRoaXMuX2hlbHBlci5yYWY9bnVsbCl9KSkpLHRoaXMuX2RyYWc/LigpfSx0aGlzLl9oYW5kbGVEcmFnU3RvcD1lPT57aWYobnVsbD09PXRoaXMuX2hlbHBlcilyZXR1cm47dGhpcy5fc291cmNlLmNsYXNzTGlzdC5yZW1vdmUoInVpLWRyYWdnYWJsZS1kcmFnZ2luZyIpLHRoaXMuX2hlbHBlcj1udWxsLHRoaXMuX3N0b3A/LigpfTtjb25zdCB0PXRoaXMuX3NvdXJjZT1lLnNvdXJjZTt0LmNsYXNzTGlzdC5hZGQoInVpLWRyYWdnYWJsZSIpO2NvbnN0IG89dGhpcy5faGFuZGxlPShlLmhhbmRsZT90LnF1ZXJ5U2VsZWN0b3IoZS5oYW5kbGUpOm51bGwpPz90O28uY2xhc3NMaXN0LmFkZCgidWktZHJhZ2dhYmxlLWhhbmRsZSIpLHRoaXMuX3N0YXJ0PWUuc3RhcnQsdGhpcy5fc3RvcD1lLnN0b3AsdGhpcy5fZHJhZz1lLmRyYWcsdGhpcy5fYmFja2VuZD1uZXcgcyh7aGFuZGxlOm8sb25EcmFnU3RhcnQ6dGhpcy5faGFuZGxlRHJhZ1N0YXJ0LG9uRHJhZ01vdmU6dGhpcy5faGFuZGxlRHJhZ01vdmUsb25EcmFnU3RvcDp0aGlzLl9oYW5kbGVEcmFnU3RvcH0pLHRoaXMuX2F4aXM9ZS5heGlzPz8hMSx0aGlzLl9jb250YWlubWVudD1lLmNvbnRhaW5tZW50fWRlc3Ryb3koKXtjb25zdCBlPXRoaXMuX3NvdXJjZTtlLmNsYXNzTGlzdC5yZW1vdmUoInVpLWRyYWdnYWJsZSIpLGUuY2xhc3NMaXN0LnJlbW92ZSgidWktZHJhZ2dhYmxlLWRyYWdnaW5nIik7dGhpcy5faGFuZGxlLmNsYXNzTGlzdC5yZW1vdmUoInVpLWRyYWdnYWJsZS1oYW5kbGUiKSx0aGlzLl9iYWNrZW5kLmRlc3Ryb3koKSxudWxsIT09dGhpcy5faGVscGVyJiYodGhpcy5faGVscGVyLnJhZiYmY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5faGVscGVyLnJhZiksdGhpcy5faGVscGVyPW51bGwpfX1jbGFzcyBze2NvbnN0cnVjdG9yKGUpe3RoaXMuX3BvaW50ZXJTdGFydGVkPSExLHRoaXMuX2luaXRpYWw9bnVsbCx0aGlzLl9oYW5kbGVQb2ludGVyRG93bj1lPT57aWYobnVsbCE9PXRoaXMuX2luaXRpYWx8fDAhPT1lLmJ1dHRvbilyZXR1cm47aWYoIShlLnRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnQmJnRoaXMuX2hhbmRsZS5jb250YWlucyhlLnRhcmdldCkpKXJldHVybjtpZih0aGlzLl9pbml0aWFsPWUsIXRoaXMuX2Rpc3RhbmNlJiYodGhpcy5fcG9pbnRlclN0YXJ0KCksIXRoaXMuX3BvaW50ZXJTdGFydGVkKSlyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IHQ9dGhpcy5fZ2V0RXZlbnRUYXJnZXQoKTt0LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJtb3ZlIix0aGlzLl9oYW5kbGVQb2ludGVyTW92ZSksdC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLHRoaXMuX2hhbmRsZVBvaW50ZXJVcCksdC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyY2FuY2VsIix0aGlzLl9oYW5kbGVQb2ludGVyVXApLHQuYWRkRXZlbnRMaXN0ZW5lcigibG9zdHBvaW50ZXJjYXB0dXJlIix0aGlzLl9oYW5kbGVMb3N0UG9pbnRlckNhcHR1cmUpfSx0aGlzLl9oYW5kbGVMb3N0UG9pbnRlckNhcHR1cmU9ZT0+e3RoaXMuX2dldEV2ZW50VGFyZ2V0KCk9PT1lLnRhcmdldCYmdGhpcy5faGFuZGxlUG9pbnRlclVwKGUpfSx0aGlzLl9oYW5kbGVQb2ludGVyTW92ZT1lPT57aWYobnVsbCE9PXRoaXMuX2luaXRpYWwmJnRoaXMuX2luaXRpYWwucG9pbnRlcklkPT09ZS5wb2ludGVySWQpaWYodGhpcy5fcG9pbnRlclN0YXJ0ZWQpdGhpcy5fcG9pbnRlckRyYWcoZSk7ZWxzZSBpZih0aGlzLl9wb2ludGVyRGlzdGFuY2VNZXQoZSkpe2lmKHRoaXMuX3BvaW50ZXJTdGFydCgpLHRoaXMuX3BvaW50ZXJTdGFydGVkKXJldHVybiB2b2lkIHRoaXMuX3BvaW50ZXJEcmFnKGUpO3RoaXMuX2hhbmRsZVBvaW50ZXJVcChlKX19LHRoaXMuX2hhbmRsZVBvaW50ZXJVcD1lPT57aWYobnVsbD09PXRoaXMuX2luaXRpYWx8fHRoaXMuX2luaXRpYWwucG9pbnRlcklkIT09ZS5wb2ludGVySWQpcmV0dXJuO2UucHJldmVudERlZmF1bHQoKTtjb25zdCB0PXRoaXMuX2dldEV2ZW50VGFyZ2V0KCk7dC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsdGhpcy5faGFuZGxlUG9pbnRlck1vdmUpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIix0aGlzLl9oYW5kbGVQb2ludGVyVXApLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcmNhbmNlbCIsdGhpcy5faGFuZGxlUG9pbnRlclVwKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvc3Rwb2ludGVyY2FwdHVyZSIsdGhpcy5faGFuZGxlUG9pbnRlclVwKSx0aGlzLl9wb2ludGVyU3RhcnRlZCYmKHRoaXMuX3BvaW50ZXJTdGFydGVkPSExLHQucmVsZWFzZVBvaW50ZXJDYXB0dXJlKHRoaXMuX2luaXRpYWwucG9pbnRlcklkKSx0aGlzLl9kaXNwYXRjaEV2ZW50KHRoaXMuX2NyZWF0ZUV2ZW50KCJwb2ludGVyLWRyYWctc3RvcCIsZSkpKSx0aGlzLl9pbml0aWFsPW51bGx9O2NvbnN0IHQ9dGhpcy5faGFuZGxlPWUuaGFuZGxlO3RoaXMuX29uRHJhZ1N0YXJ0PWUub25EcmFnU3RhcnQsdGhpcy5fb25EcmFnTW92ZT1lLm9uRHJhZ01vdmUsdGhpcy5fb25EcmFnU3RvcD1lLm9uRHJhZ1N0b3AsdGhpcy5fZGlzdGFuY2U9ZS5kaXN0YW5jZT8/MCx0aGlzLl9yb290RWxlbWVudD1lLnJvb3RFbGVtZW50LHQuc3R5bGUudG91Y2hBY3Rpb249Im5vbmUiLHQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmRvd24iLHRoaXMuX2hhbmRsZVBvaW50ZXJEb3duKX1kZXN0cm95KCl7Y29uc3QgZT10aGlzLl9oYW5kbGU7ZS5zdHlsZS50b3VjaEFjdGlvbj0iIixlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJkb3duIix0aGlzLl9oYW5kbGVQb2ludGVyRG93biksZS5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsdGhpcy5faGFuZGxlUG9pbnRlck1vdmUpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIix0aGlzLl9oYW5kbGVQb2ludGVyVXApLAplLnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJjYW5jZWwiLHRoaXMuX2hhbmRsZVBvaW50ZXJVcCksZS5yZW1vdmVFdmVudExpc3RlbmVyKCJsb3N0cG9pbnRlcmNhcHR1cmUiLHRoaXMuX2hhbmRsZVBvaW50ZXJVcCksbnVsbCE9PXRoaXMuX2luaXRpYWwmJihlLnJlbGVhc2VQb2ludGVyQ2FwdHVyZSh0aGlzLl9pbml0aWFsLnBvaW50ZXJJZCksdGhpcy5faW5pdGlhbD1udWxsKSx0aGlzLl9wb2ludGVyU3RhcnRlZD0hMX1fcG9pbnRlclN0YXJ0KCl7aWYoIXRoaXMuX2luaXRpYWwpcmV0dXJuO2NvbnN0IGU9dGhpcy5fZ2V0RXZlbnRUYXJnZXQoKTt0aGlzLl9kaXNwYXRjaEV2ZW50KHRoaXMuX2NyZWF0ZUV2ZW50KCJwb2ludGVyLWRyYWctc3RhcnQiLHRoaXMuX2luaXRpYWwpKT8odGhpcy5fcG9pbnRlclN0YXJ0ZWQ9ITAsZS5zZXRQb2ludGVyQ2FwdHVyZSh0aGlzLl9pbml0aWFsLnBvaW50ZXJJZCkpOnRoaXMuX2luaXRpYWw9bnVsbH1fcG9pbnRlckRyYWcoZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2Rpc3BhdGNoRXZlbnQodGhpcy5fY3JlYXRlRXZlbnQoInBvaW50ZXItZHJhZy1tb3ZlIixlKSl9X3BvaW50ZXJEaXN0YW5jZU1ldChlKXtyZXR1cm4hdGhpcy5faW5pdGlhbHx8IXRoaXMuX2Rpc3RhbmNlfHxNYXRoLm1heChNYXRoLmFicyh0aGlzLl9pbml0aWFsLmNsaWVudFgtZS5jbGllbnRYKSxNYXRoLmFicyh0aGlzLl9pbml0aWFsLmNsaWVudFktZS5jbGllbnRZKSk+PXRoaXMuX2Rpc3RhbmNlfV9nZXRFdmVudFRhcmdldCgpe3JldHVybiB0aGlzLl9yb290RWxlbWVudD8/dGhpcy5faGFuZGxlfV9kaXNwYXRjaEV2ZW50KGUpe3N3aXRjaChlLnR5cGUpe2Nhc2UicG9pbnRlci1kcmFnLXN0YXJ0Ijp0aGlzLl9vbkRyYWdTdGFydChlKTticmVhaztjYXNlInBvaW50ZXItZHJhZy1tb3ZlIjp0aGlzLl9vbkRyYWdNb3ZlKGUpO2JyZWFrO2Nhc2UicG9pbnRlci1kcmFnLXN0b3AiOnRoaXMuX29uRHJhZ1N0b3AoZSl9cmV0dXJuIWUuZGVmYXVsdFByZXZlbnRlZH1fY3JlYXRlRXZlbnQoZSx0KXtyZXR1cm4oMCxpLmFzc2VydCkobnVsbCE9PXRoaXMuX2luaXRpYWwpLG5ldyBDdXN0b21FdmVudChlLHtidWJibGVzOiEwLGNhbmNlbGFibGU6ITAsZGV0YWlsOntiYWNrZW5kOnRoaXMsaW5pdGlhbDp0aGlzLl9pbml0aWFsLGN1cnJlbnQ6dH19KX19fSw0MDYxMTAoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7TWF0Y2hNZWRpYTooKT0+bn0pO3ZhciBpPW8oNzc5NDc0KTtjbGFzcyBuIGV4dGVuZHMgaS5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMuX2hhbmRsZUNoYW5nZT0oKT0+e3RoaXMuZm9yY2VVcGRhdGUoKX0sdGhpcy5zdGF0ZT17cXVlcnk6d2luZG93Lm1hdGNoTWVkaWEodGhpcy5wcm9wcy5ydWxlKX19Y29tcG9uZW50RGlkTW91bnQoKXt0aGlzLl9zdWJzY3JpYmUodGhpcy5zdGF0ZS5xdWVyeSl9Y29tcG9uZW50RGlkVXBkYXRlKGUsdCl7dGhpcy5zdGF0ZS5xdWVyeSE9PXQucXVlcnkmJih0aGlzLl91bnN1YnNjcmliZSh0LnF1ZXJ5KSx0aGlzLl9zdWJzY3JpYmUodGhpcy5zdGF0ZS5xdWVyeSkpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5fdW5zdWJzY3JpYmUodGhpcy5zdGF0ZS5xdWVyeSl9cmVuZGVyKCl7cmV0dXJuIHRoaXMucHJvcHMuY2hpbGRyZW4odGhpcy5zdGF0ZS5xdWVyeS5tYXRjaGVzKX1zdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKGUsdCl7cmV0dXJuIGUucnVsZSE9PXQucXVlcnkubWVkaWE/e3F1ZXJ5OndpbmRvdy5tYXRjaE1lZGlhKGUucnVsZSl9Om51bGx9X3N1YnNjcmliZShlKXtlLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsdGhpcy5faGFuZGxlQ2hhbmdlKX1fdW5zdWJzY3JpYmUoZSl7ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHRoaXMuX2hhbmRsZUNoYW5nZSl9fX0sNzc4NDU4KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2JyZWFrcG9pbnRzOigpPT5pLG1vYmlsZUZpcnN0QnJlYWtwb2ludHM6KCk9Pm4sbW9iaWxlRmlyc3RMZWdhY3lCcmVha3BvaW50czooKT0+cn0pO2NvbnN0IGk9e2Rlc2t0b3A6MS8wLGRlc2t0b3BIZDoxOTE5LHBob25lOjc2NywicGhvbmUtdmVydGljYWwiOjQ3OSx0YWJsZXQ6MTAxOX0sbj17YmFzZTowLCJtZWRpYS1tZi1waG9uZS12ZXJ0aWNhbCI6MzIwLCJtZWRpYS1tZi1waG9uZS1sYW5kc2NhcGUiOjU2OCwibWVkaWEtbWYtdGFibGV0LXZlcnRpY2FsIjo3NjgsIm1lZGlhLW1mLXRhYmxldC1sYW5kc2NhcGUiOjEwMjQsIm1lZGlhLW1mLWxhcHRvcCI6MTI4MCwibWVkaWEtbWYtZGVza3RvcC1tZWRpdW0iOjE0NDAsIm1lZGlhLW1mLWRlc2t0b3AtbGFyZ2UiOjE5MjAsIm1lZGlhLW1mLWRlc2t0b3AtZXh0cmEtbGFyZ2UiOjI1NjB9LHI9eyJtZWRpYS1tZi1sZWdhY3ktcGhvbmUtdmVydGljYWwiOjMzMCwibWVkaWEtbWYtbGVnYWN5LXBob25lIjo0ODAsIm1lZGlhLW1mLWxlZ2FjeS1ub3RlYm9vayI6MTAyMCwibWVkaWEtbWYtbGVnYWN5LWRlc2t0b3AtbWVkaXVtIjoxNDgwLCJtZWRpYS1tZi1sZWdhY3ktZGVza3RvcCI6MTUzMX19LDI3NjAxOShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtnbG9iYWxDbG9zZURlbGVnYXRlOigpPT5pLGdsb2JhbENsb3NlTWVudTooKT0+bn0pO2NvbnN0IGk9bmV3KG8oOTQ4MzgwKS5EZWxlZ2F0ZSk7ZnVuY3Rpb24gbigpe2kuZmlyZSgpfX0sNjA5NTI4KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0RpYWxvZ0JyZWFrcG9pbnRzOigpPT5ufSk7dmFyIGk9byg5MjQ1MDcpO2NvbnN0IG49e1NtYWxsSGVpZ2h0OmlbInNtYWxsLWhlaWdodC1icmVha3BvaW50Il0sVGFibGV0U21hbGw6aVsidGFibGV0LXNtYWxsLWJyZWFrcG9pbnQiXSxUYWJsZXROb3JtYWw6aVsidGFibGV0LW5vcm1hbC1icmVha3BvaW50Il19fSw5OTU2NzgoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7cmVsZWFzZU1vZGFsU2Nyb2xsTG9jazooKT0+cyxyZXF1ZXN0TW9kYWxTY3JvbGxMb2NrOigpPT5yfSk7Y29uc3QgaT0ibW9kYWwtc2Nyb2xsLWxvY2stcmVxdWVzdCIsbj0ibW9kYWwtc2Nyb2xsLWxvY2stcmVsZWFzZSIKO2Z1bmN0aW9uIHIoZSl7ZS5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudChpKSl9ZnVuY3Rpb24gcyhlKXtlLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KG4pKX19LDY1OTg3OChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHttYWtlT3ZlcmxhcGFibGU6KCk9PnJ9KTt2YXIgaT1vKDc3OTQ3NCksbj1vKDU4NTQ4KTtmdW5jdGlvbiByKGUsdCl7cmV0dXJuIGNsYXNzIGV4dGVuZHMgaS5QdXJlQ29tcG9uZW50e3JlbmRlcigpe2NvbnN0e2lzT3BlbmVkOm8scm9vdDpyfT10aGlzLnByb3BzO2lmKCFvKXJldHVybiBudWxsO2NvbnN0IHM9aS5jcmVhdGVFbGVtZW50KGUsey4uLnRoaXMucHJvcHMscmVmOnRoaXMucHJvcHMuY29tcG9uZW50UmVmLHpJbmRleDoxNTB9KTtyZXR1cm4icGFyZW50Ij09PXI/czppLmNyZWF0ZUVsZW1lbnQobi5Qb3J0YWwse3Nob3VsZFRyYXBGb2N1czp0fSxzKX19fX0sNTU4MDMwKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse1RvdWNoU2Nyb2xsQ29udGFpbmVyOigpPT5jfSk7dmFyIGk9byg3Nzk0NzQpLG49byg4NTMzMzYpLHI9bygxMzg2MzgpLHM9byg3Mzg0NTgpO2NvbnN0IGE9Q1NTLnN1cHBvcnRzKCJvdmVyc2Nyb2xsLWJlaGF2aW9yIiwibm9uZSIpO2xldCBsPTA7Y29uc3QgYz0oMCxpLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e2NoaWxkcmVuOm8sLi4ucn09ZSxjPSgwLGkudXNlUmVmKShudWxsKTtyZXR1cm4oMCxpLnVzZUltcGVyYXRpdmVIYW5kbGUpKHQsKCgpPT5jLmN1cnJlbnQpKSwoMCxpLnVzZUxheW91dEVmZmVjdCkoKCgpPT57aWYocy5pc0lPUylyZXR1cm4gbCsrLG51bGwhPT1jLmN1cnJlbnQmJihhPzE9PT1sJiYoZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyc2Nyb2xsQmVoYXZpb3I9Im5vbmUiKTooMCxuLmRpc2FibGVCb2R5U2Nyb2xsKShjLmN1cnJlbnQse2FsbG93VG91Y2hNb3ZlOmQoYyl9KSksKCk9PntsLS0sbnVsbCE9PWMuY3VycmVudCYmKGE/MD09PWwmJihkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvcj0iIik6KDAsbi5lbmFibGVCb2R5U2Nyb2xsKShjLmN1cnJlbnQpKX19KSxbXSksaS5jcmVhdGVFbGVtZW50KCJkaXYiLHtyZWY6YywuLi5yfSxvKX0pKTtmdW5jdGlvbiBkKGUpe3JldHVybiB0PT57Y29uc3Qgbz0oMCxyLmVuc3VyZU5vdE51bGwpKGUuY3VycmVudCksaT1kb2N1bWVudC5hY3RpdmVFbGVtZW50O3JldHVybiFvLmNvbnRhaW5zKHQpfHxudWxsIT09aSYmby5jb250YWlucyhpKSYmaS5jb250YWlucyh0KX19fSw5OTk1MShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtBcHBDb250ZXh0OigpPT5pfSk7Y29uc3QgaT0oMCxvKDc3OTQ3NCkuY3JlYXRlQ29udGV4dCkoe2lzT25Nb2JpbGVBcHBQYWdlOigpPT4hMSxpc1J0bDohMSxsb2NhbGU6ImVuIixyZW5kZXJNb2RlOiJsZWdhY3kifSl9LDE1NDYyMyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtwcmVzZXREZWZhdWx0OigpPT5pLHByZXNldFBsYXRmb3JtOigpPT5ufSk7Y29uc3QgaT17ZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXM6ITB9LG49e2VuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOiExfX0sMjE4ODE0KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2NvbG9yOigpPT5yLGR1cjooKT0+aSxlYXNpbmdGdW5jOigpPT5ufSk7Y29uc3QgaT0zNTAsbj17bGluZWFyOmU9PmUsZWFzZUluUXVhZDplPT5lKmUsZWFzZU91dFF1YWQ6ZT0+ZSooMi1lKSxlYXNlSW5PdXRRdWFkOmU9PmU8LjU/MiplKmU6KDQtMiplKSplLTEsZWFzZUluQ3ViaWM6ZT0+ZSplKmUsZWFzZU91dEN1YmljOmU9Pi0tZSplKmUrMSxlYXNlSW5PdXRDdWJpYzplPT5lPC41PzQqZSplKmU6KGUtMSkqKDIqZS0yKSooMiplLTIpKzEsZWFzZUluUXVhcnQ6ZT0+ZSplKmUqZSxlYXNlT3V0UXVhcnQ6ZT0+MS0gLS1lKmUqZSplLGVhc2VJbk91dFF1YXJ0OmU9PmU8LjU/OCplKmUqZSplOjEtOCotLWUqZSplKmUsZWFzZUluUXVpbnQ6ZT0+ZSplKmUqZSplLGVhc2VPdXRRdWludDplPT4xKy0tZSplKmUqZSplLGVhc2VJbk91dFF1aW50OmU9PmU8LjU/MTYqZSplKmUqZSplOjErMTYqLS1lKmUqZSplKmV9O2NvbnN0IHI9e2JsYWNrNzA6IiM0QTRBNEEiLGJsYWNrODA6IiM1MzUzNTMifX0sNzg3ODk1KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse3VzZUZ1bmN0aW9uYWxSZWZPYmplY3Q6KCk9PnJ9KTt2YXIgaT1vKDc3OTQ3NCksbj1vKDYxNjMxMSk7ZnVuY3Rpb24gcihlKXtjb25zdCB0PSgwLGkudXNlTWVtbykoKCgpPT5mdW5jdGlvbihlKXtjb25zdCB0PW89PntlKG8pLHQuY3VycmVudD1vfTtyZXR1cm4gdC5jdXJyZW50PW51bGwsdH0oKGU9PnthLmN1cnJlbnQoZSl9KSkpLFtdKSxvPSgwLGkudXNlUmVmKShudWxsKSxyPXQ9PntpZihudWxsPT09dClyZXR1cm4gcyhvLmN1cnJlbnQsdCksdm9pZChvLmN1cnJlbnQ9bnVsbCk7by5jdXJyZW50IT09ZSYmKG8uY3VycmVudD1lLHMoby5jdXJyZW50LHQpKX0sYT0oMCxpLnVzZVJlZikocik7cmV0dXJuIGEuY3VycmVudD1yLCgwLG4udXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCkoKCgpPT57aWYobnVsbCE9PXQuY3VycmVudClyZXR1cm4gYS5jdXJyZW50KHQuY3VycmVudCksKCk9PmEuY3VycmVudChudWxsKX0pLFtlXSksdH1mdW5jdGlvbiBzKGUsdCl7bnVsbCE9PWUmJigiZnVuY3Rpb24iPT10eXBlb2YgZT9lKHQpOmUuY3VycmVudD10KX19LDcxOTQyNShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHt1c2VSZXNpemVPYnNlcnZlcjooKT0+c30pO3ZhciBpPW8oNzc5NDc0KSxuPW8oNjE2MzExKSxyPW8oNzg3ODk1KTtmdW5jdGlvbiBzKGUsdD1bXSl7Y29uc3R7Y2FsbGJhY2s6byxyZWY6cz1udWxsfT1mdW5jdGlvbihlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZT97Y2FsbGJhY2s6ZX06ZX0oZSksYT0oMCxpLnVzZVJlZikobnVsbCksbD0oMCxpLnVzZVJlZikobyk7bC5jdXJyZW50PW87Y29uc3QgYz0oMCxyLnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKHMpLGQ9KDAsaS51c2VDYWxsYmFjaykoKGU9PntjKGUpLG51bGwhPT1hLmN1cnJlbnQmJihhLmN1cnJlbnQuZGlzY29ubmVjdCgpLApudWxsIT09ZSYmYS5jdXJyZW50Lm9ic2VydmUoZSkpfSksW2MsYV0pO3JldHVybigwLG4udXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCkoKCgpPT4oYS5jdXJyZW50PW5ldyBSZXNpemVPYnNlcnZlcigoKGUsdCk9PntsLmN1cnJlbnQoZSx0KX0pKSxjLmN1cnJlbnQmJmQoYy5jdXJyZW50KSwoKT0+e2EuY3VycmVudD8uZGlzY29ubmVjdCgpfSkpLFtjLC4uLnRdKSxkfX0sNjQ5MTY2KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0xvYWRlcjooKT0+Y30pO3ZhciBpLG49byg3Nzk0NzQpLHI9byg5MTQ0ODcpLHM9by5uKHIpLGE9bygyNDQ1MjUpLGw9by5uKGEpO2Z1bmN0aW9uIGMoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsc2l6ZTpvPSJtZWRpdW0iLHN0YXRpY1Bvc2l0aW9uOmksY29sb3I6cj0iYmxhY2sifT1lLGE9cygpKGwoKS5pdGVtLGwoKVtyXSxsKClbb10pO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cygpKGwoKS5sb2FkZXIsaSYmbCgpLnN0YXRpYyx0KX0sbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmF9KSxuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6YX0pLG4uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTphfSkpfSFmdW5jdGlvbihlKXtlLk1lZGl1bT0ibWVkaXVtIixlLlNtYWxsPSJzbWFsbCJ9KGl8fChpPXt9KSl9LDU4NTQ4KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse1BvcnRhbDooKT0+YyxQb3J0YWxDb250ZXh0OigpPT5kfSk7dmFyIGk9byg3Nzk0NzQpLG49bygxMjkzNjUpLHI9byg4NTY3NzApLHM9byg5MDM0MiksYT1vKDU3MDE5MyksbD1vKDYwNzgzMik7Y2xhc3MgYyBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fdXVpZD0oMCxyLm5hbm9pZCkoKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMuX21hbmFnZXIoKS5yZW1vdmVXaW5kb3codGhpcy5fdXVpZCl9cmVuZGVyKCl7Y29uc3QgZT10aGlzLl9tYW5hZ2VyKCkuZW5zdXJlV2luZG93KHRoaXMuX3V1aWQsdGhpcy5wcm9wcy5sYXllck9wdGlvbnMpO2Uuc3R5bGUudG9wPXRoaXMucHJvcHMudG9wfHwiIixlLnN0eWxlLmJvdHRvbT10aGlzLnByb3BzLmJvdHRvbXx8IiIsZS5zdHlsZS5sZWZ0PXRoaXMucHJvcHMubGVmdHx8IiIsZS5zdHlsZS5yaWdodD10aGlzLnByb3BzLnJpZ2h0fHwiIixlLnN0eWxlLnBvaW50ZXJFdmVudHM9dGhpcy5wcm9wcy5wb2ludGVyRXZlbnRzfHwiIjtjb25zdCB0PXRoaXMucHJvcHMuY2xhc3NOYW1lO3JldHVybiB0JiYoInN0cmluZyI9PXR5cGVvZiB0P2UuY2xhc3NMaXN0LmFkZCh0KTplLmNsYXNzTGlzdC5hZGQoLi4udCkpLHRoaXMucHJvcHMuc2hvdWxkVHJhcEZvY3VzJiYhZS5oYXNBdHRyaWJ1dGUoYS5GT0NVU19UUkFQX0RBVEFfQVRUUklCVVRFKSYmZS5zZXRBdHRyaWJ1dGUoYS5GT0NVU19UUkFQX0RBVEFfQVRUUklCVVRFLCJ0cnVlIiksdGhpcy5wcm9wc1siYXJpYS1oaWRkZW4iXSYmZS5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwidHJ1ZSIpLG4uY3JlYXRlUG9ydGFsKGkuY3JlYXRlRWxlbWVudChkLlByb3ZpZGVyLHt2YWx1ZTp0aGlzfSx0aGlzLnByb3BzLmNoaWxkcmVuKSxlKX1tb3ZlVG9Ub3AoKXt0aGlzLl9tYW5hZ2VyKCkubW92ZVRvVG9wKHRoaXMuX3V1aWQpfV9tYW5hZ2VyKCl7cmV0dXJuIG51bGw9PT10aGlzLmNvbnRleHQ/KDAscy5nZXRSb290T3ZlcmxhcE1hbmFnZXIpKCk6dGhpcy5jb250ZXh0fX1jLmNvbnRleHRUeXBlPWwuU2xvdENvbnRleHQ7Y29uc3QgZD1pLmNyZWF0ZUNvbnRleHQobnVsbCl9LDYwNzgzMihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtTbG90OigpPT5uLFNsb3RDb250ZXh0OigpPT5yfSk7dmFyIGk9byg3Nzk0NzQpO2NsYXNzIG4gZXh0ZW5kcyBpLkNvbXBvbmVudHtzaG91bGRDb21wb25lbnRVcGRhdGUoKXtyZXR1cm4hMX1yZW5kZXIoKXtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KCJkaXYiLHtzdHlsZTp7cG9zaXRpb246ImZpeGVkIix6SW5kZXg6MTUwLGxlZnQ6MCx0b3A6MH0scmVmOnRoaXMucHJvcHMucmVmZXJlbmNlfSl9fWNvbnN0IHI9aS5jcmVhdGVDb250ZXh0KG51bGwpfSw1Njc0NzkoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7REVGQVVMVF9TSVpFOigpPT5pLHNwaW5uZXJTaXplTWFwOigpPT5ufSk7Y29uc3QgaT0ibGFyZ2UiLG49e21pbmk6InhzbWFsbCIseHhzbWFsbDoieHhzbWFsbCIseHNtYWxsOiJ4c21hbGwiLHNtYWxsOiJzbWFsbCIsbWVkaXVtOiJtZWRpdW0iLGxhcmdlOiJsYXJnZSJ9fSwzMDgyMTYoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7U3dpdGNoVmlldzooKT0+Y30pO3ZhciBpLG49byg3Nzk0NzQpLHI9byg5MTQ0ODcpLHM9by5uKHIpLGE9byg2MjU3MDkpLGw9by5uKGEpO2Z1bmN0aW9uIGMoZSl7Y29uc3R7c2l6ZTp0PSJzbWFsbCIsY2hlY2tlZDpvLGRpc2FibGVkOml9PWU7cmV0dXJuIG4uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpzKCkobCgpLnN3aXRjaFZpZXcsbCgpW3RdLGkmJmwoKS5kaXNhYmxlZCxvJiZsKCkuY2hlY2tlZCl9LG4uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpsKCkudHJhY2t9KSxuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6bCgpLnRodW1ifSkpfSFmdW5jdGlvbihlKXtlLlNtYWxsPSJzbWFsbCIsZS5NZWRpdW09Im1lZGl1bSIsZS5MYXJnZT0ibGFyZ2UifShpfHwoaT17fSkpfSwxMjgzMihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtTd2l0Y2g6KCk9PnV9KTt2YXIgaSxuPW8oNzc5NDc0KSxyPW8oOTE0NDg3KSxzPW8ubihyKSxhPW8oMzA5OTIwKSxsPW8oMzA4MjE2KSxjPW8oMjM1NzI0KSxkPW8oNjg3NTQ3KSxoPW8ubihkKTtmdW5jdGlvbiB1KGUpe2NvbnN0IHQ9KDAsCm4udXNlQ29udGV4dCkoYS5DdXN0b21CZWhhdmlvdXJDb250ZXh0KSx7c2l6ZTpvLGludGVudDppPSJkZWZhdWx0IixjaGVja2VkOnIsY2xhc3NOYW1lOmQsZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXM6dT10LmVuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLGRpc2FibGVkOl8sb25DaGFuZ2U6cCx0aXRsZTptLGlkOmcsbmFtZTp2LHZhbHVlOmYsdGFiSW5kZXg6eSxyb2xlOmI9InN3aXRjaCIsYXJpYURpc2FibGVkOlMscmVmZXJlbmNlOncsYXJpYUxhYmVsbGVkQnk6QyxhcmlhTGFiZWw6aywuLi5UfT1lO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cygpKGQsaCgpLnN3aXRjaGVyKX0sbi5jcmVhdGVFbGVtZW50KCJpbnB1dCIsey4uLlQsdHlwZToiY2hlY2tib3giLGNsYXNzTmFtZTpzKCkoaCgpLmlucHV0LHUmJmgoKS5hY3RpdmVTdHlsZXNFbmFibGVkLHImJmgoKS5jaGVja2VkLF8mJmgoKS5kaXNhYmxlZCkscm9sZTpiLCJhcmlhLWNoZWNrZWQiOnIsY2hlY2tlZDpyLG9uS2V5RG93bjplPT57MTM9PT0oMCxjLmhhc2hGcm9tRXZlbnQpKGUpJiZlLmN1cnJlbnRUYXJnZXQ/LmNsaWNrKCl9LG9uQ2hhbmdlOnAsZGlzYWJsZWQ6XywiYXJpYS1kaXNhYmxlZCI6Uyx0YWJJbmRleDp5LHRpdGxlOm0saWQ6ZyxuYW1lOnYsdmFsdWU6ZixyZWY6dywiYXJpYS1sYWJlbCI6aywiYXJpYS1sYWJlbGxlZGJ5IjpDfSksbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKShoKCkudGh1bWJXcmFwcGVyLGgoKVtpXSl9LG4uY3JlYXRlRWxlbWVudChsLlN3aXRjaFZpZXcse2NoZWNrZWQ6cixzaXplOm8sZGlzYWJsZWQ6X30pKSl9IWZ1bmN0aW9uKGUpe2UuRGVmYXVsdD0iZGVmYXVsdCIsZS5TZWxlY3Q9InNlbGVjdCJ9KGl8fChpPXt9KSl9LDU3MDE5MyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtGT0NVU19UUkFQX0RBVEFfQVRUUklCVVRFOigpPT5pfSk7Y29uc3QgaT0iZGF0YS1mb2N1cy10cmFwIn0sNjgyMzgxKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2NyZWF0ZVNjb3BlZFZpc2libGVFbGVtZW50RmlsdGVyOigpPT5kLGdldEFjdGl2ZUVsZW1lbnRTZWxlY3RvcnM6KCk9PmMsaXNIVE1MT3JTVkdFbGVtZW50OigpPT5oLGlzSW5lcnRSb290OigpPT5hLGlzVmlzaWJpbGl0eVZpc2libGU6KCk9PnJ9KTtjb25zdCBpPVsiYnV0dG9uIiwiZmllbGRzZXQiLCJvcHRncm91cCIsIm9wdGlvbiIsInNlbGVjdCIsInRleHRhcmVhIiwiaW5wdXQiXSxuPVsiYnV0dG9uIiwiaW5wdXQiLCJzZWxlY3QiLCJ0ZXh0YXJlYSIsImFbaHJlZl0iLCJhdWRpb1tjb250cm9sc10iLCJ2aWRlb1tjb250cm9sc10iLCdbdGFiaW5kZXg9IjAiXScsJ1tjb250ZW50ZWRpdGFibGU9InRydWUiXSddLm1hcCgoZT0+aS5pbmNsdWRlcyhlKT9gJHtlfTpub3QoOmRpc2FibGVkKWA6ZSkpLm1hcCgoZT0+YCR7ZX06bm90KFt0YWJpbmRleD0iLTEiXSlgKSkuam9pbigiLCIpO2Z1bmN0aW9uIHIoZSl7cmV0dXJuInZpc2libGUiPT09Z2V0Q29tcHV0ZWRTdHlsZShlKS52aXNpYmlsaXR5fWZ1bmN0aW9uIHMoZSx0KXtpZihlLm1hdGNoZXMoIltpbmVydF0sW2luZXJ0XSAqIikpcmV0dXJuITA7bGV0IG89ZTtmb3IoO28hPT10JiZudWxsIT09bzspe2lmKGwobykpcmV0dXJuITA7bz1vLnBhcmVudEVsZW1lbnR9cmV0dXJuITF9ZnVuY3Rpb24gYShlKXtyZXR1cm4gZS5tYXRjaGVzKCJbaW5lcnRdIil8fGwoZSl9ZnVuY3Rpb24gbChlKXtyZXR1cm4ibm9uZSI9PT1nZXRDb21wdXRlZFN0eWxlKGUpLmRpc3BsYXl9ZnVuY3Rpb24gYygpe3JldHVybiBufWZ1bmN0aW9uIGQoZSl7cmV0dXJuIHQ9PnIodCkmJiFzKHQsZSl9ZnVuY3Rpb24gaChlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50fHxlIGluc3RhbmNlb2YgU1ZHRWxlbWVudH19LDk2NDU5NChlLHQsbyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSl7cmV0dXJuIHQ9PntlLmZvckVhY2goKGU9PnsiZnVuY3Rpb24iPT10eXBlb2YgZT9lKHQpOm51bGwhPWUmJihlLmN1cnJlbnQ9dCl9KSl9fWZ1bmN0aW9uIG4oZSl7cmV0dXJuIGkoW2VdKX1vLmQodCx7aXNvbW9ycGhpY1JlZjooKT0+bixtZXJnZVJlZnM6KCk9Pml9KX0sNzE4NTUzKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse091dHNpZGVFdmVudDooKT0+bn0pO3ZhciBpPW8oMjM2NzY1KTtmdW5jdGlvbiBuKGUpe2NvbnN0e2NoaWxkcmVuOnQsLi4ub309ZTtyZXR1cm4gdCgoMCxpLnVzZU91dHNpZGVFdmVudCkobykpfX0sOTAzNDIoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7T3ZlcmxhcE1hbmFnZXI6KCk9PnMsZ2V0Um9vdE92ZXJsYXBNYW5hZ2VyOigpPT5sfSk7dmFyIGk9bygxMzg2MzgpLG49byg1NzAxOTMpO2NsYXNzIHJ7Y29uc3RydWN0b3IoKXt0aGlzLl9zdG9yYWdlPVtdfWFkZChlKXt0aGlzLl9zdG9yYWdlLnB1c2goZSl9cmVtb3ZlKGUpe3RoaXMuX3N0b3JhZ2U9dGhpcy5fc3RvcmFnZS5maWx0ZXIoKHQ9PmUhPT10KSl9aGFzKGUpe3JldHVybiB0aGlzLl9zdG9yYWdlLmluY2x1ZGVzKGUpfWdldEl0ZW1zKCl7cmV0dXJuIHRoaXMuX3N0b3JhZ2V9fWNsYXNzIHN7Y29uc3RydWN0b3IoZT1kb2N1bWVudCl7dGhpcy5fc3RvcmFnZT1uZXcgcix0aGlzLl93aW5kb3dzPW5ldyBNYXAsdGhpcy5faW5kZXg9MCx0aGlzLl9kb2N1bWVudD1lLHRoaXMuX2NvbnRhaW5lcj1lLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKX1zZXRDb250YWluZXIoZSl7Y29uc3QgdD10aGlzLl9jb250YWluZXIsbz1udWxsPT09ZT90aGlzLl9kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk6ZTshZnVuY3Rpb24oZSx0KXtBcnJheS5mcm9tKGUuY2hpbGROb2RlcykuZm9yRWFjaCgoZT0+e2Uubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmdC5hcHBlbmRDaGlsZChlKX0pKX0odCxvKSx0aGlzLl9jb250YWluZXI9b31yZWdpc3RlcldpbmRvdyhlKXt0aGlzLl9zdG9yYWdlLmhhcyhlKXx8dGhpcy5fc3RvcmFnZS5hZGQoZSl9ZW5zdXJlV2luZG93KGUsdD17cG9zaXRpb246ImZpeGVkIixkaXJlY3Rpb246Im5vcm1hbCJ9KXtjb25zdCBvPXRoaXMuX3dpbmRvd3MuZ2V0KGUpCjtpZih2b2lkIDAhPT1vKXJldHVybiBvO3RoaXMucmVnaXN0ZXJXaW5kb3coZSk7Y29uc3QgaT10aGlzLl9kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtpZihpLnN0eWxlLnBvc2l0aW9uPXQucG9zaXRpb24saS5zdHlsZS56SW5kZXg9dGhpcy5faW5kZXgudG9TdHJpbmcoKSxpLmRhdGFzZXQuaWQ9ZSx2b2lkIDAhPT10LmluZGV4KXtjb25zdCBlPXRoaXMuX2NvbnRhaW5lci5jaGlsZE5vZGVzLmxlbmd0aDtpZih0LmluZGV4Pj1lKXRoaXMuX2NvbnRhaW5lci5hcHBlbmRDaGlsZChpKTtlbHNlIGlmKHQuaW5kZXg8PTApdGhpcy5fY29udGFpbmVyLmluc2VydEJlZm9yZShpLHRoaXMuX2NvbnRhaW5lci5maXJzdENoaWxkKTtlbHNle2NvbnN0IGU9dGhpcy5fY29udGFpbmVyLmNoaWxkTm9kZXNbdC5pbmRleF07dGhpcy5fY29udGFpbmVyLmluc2VydEJlZm9yZShpLGUpfX1lbHNlInJldmVyc2UiPT09dC5kaXJlY3Rpb24/dGhpcy5fY29udGFpbmVyLmluc2VydEJlZm9yZShpLHRoaXMuX2NvbnRhaW5lci5maXJzdENoaWxkKTp0aGlzLl9jb250YWluZXIuYXBwZW5kQ2hpbGQoaSk7cmV0dXJuIHRoaXMuX3dpbmRvd3Muc2V0KGUsaSksKyt0aGlzLl9pbmRleCxpfXVucmVnaXN0ZXJXaW5kb3coZSl7dGhpcy5fc3RvcmFnZS5yZW1vdmUoZSk7Y29uc3QgdD10aGlzLl93aW5kb3dzLmdldChlKTt2b2lkIDAhPT10JiYobnVsbCE9PXQucGFyZW50RWxlbWVudCYmdC5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKHQpLHRoaXMuX3dpbmRvd3MuZGVsZXRlKGUpKX1nZXRaaW5kZXgoZSl7Y29uc3QgdD10aGlzLmVuc3VyZVdpbmRvdyhlKTtyZXR1cm4gcGFyc2VJbnQodC5zdHlsZS56SW5kZXh8fCIwIil9bW92ZUxhc3RXaW5kb3dUb1RvcCgpe2NvbnN0IGU9dGhpcy5fc3RvcmFnZS5nZXRJdGVtcygpLHQ9ZVtlLmxlbmd0aC0xXTt0JiZ0aGlzLm1vdmVUb1RvcCh0KX1tb3ZlVG9Ub3AoZSl7aWYodGhpcy5nZXRaaW5kZXgoZSkhPT10aGlzLl9pbmRleCl7Y29uc3QgdD10aGlzLmVuc3VyZVdpbmRvdyhlKTt0aGlzLl93aW5kb3dzLmZvckVhY2goKChlLG8pPT57ZS5oYXNBdHRyaWJ1dGUobi5GT0NVU19UUkFQX0RBVEFfQVRUUklCVVRFKSYmZS5zZXRBdHRyaWJ1dGUobi5GT0NVU19UUkFQX0RBVEFfQVRUUklCVVRFLGU9PT10PyJ0cnVlIjoiZmFsc2UiKX0pKSx0LnN0eWxlLnpJbmRleD0oKyt0aGlzLl9pbmRleCkudG9TdHJpbmcoKX19cmVtb3ZlV2luZG93KGUpe3RoaXMudW5yZWdpc3RlcldpbmRvdyhlKX19Y29uc3QgYT1uZXcgV2Vha01hcDtmdW5jdGlvbiBsKGU9ZG9jdW1lbnQpe2NvbnN0IHQ9ZS5nZXRFbGVtZW50QnlJZCgib3ZlcmxhcC1tYW5hZ2VyLXJvb3QiKTtpZihudWxsIT09dClyZXR1cm4oMCxpLmVuc3VyZURlZmluZWQpKGEuZ2V0KHQpKTt7Y29uc3QgdD1uZXcgcyhlKSxvPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gdC5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLHQuc3R5bGUuekluZGV4PTE1MC4udG9TdHJpbmcoKSx0LnN0eWxlLnRvcD0iMHB4Iix0LnN0eWxlLmxlZnQ9IjBweCIsdC5pZD0ib3ZlcmxhcC1tYW5hZ2VyLXJvb3QiLHQuZGF0YXNldC5xYUlkPSJvdmVybGFwLW1hbmFnZXItcm9vdCIsdH0oZSk7cmV0dXJuIGEuc2V0KG8sdCksdC5zZXRDb250YWluZXIobyksZS5ib2R5LmFwcGVuZENoaWxkKG8pLHR9fXZhciBjOyFmdW5jdGlvbihlKXtlW2UuQmFzZVppbmRleD0xNTBdPSJCYXNlWmluZGV4In0oY3x8KGM9e30pKX0sOTM0MDgxKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse1NUT1JZX1BPU1RFUlM6KCk9Pml9KTtjb25zdCBpPVt7bmFtZToibmVvbiIscG9zdGVyOm8ucCsibmVvbi5mZjkzMzEwZTc5NWQ1NGE1ZDM5Yi53ZWJwIn0se25hbWU6Im1hcnMiLHBvc3RlcjpvLnArIm1hcnMuY2I2YTM3MWZhNzgyMzY2MzQzYmUud2VicCJ9LHtuYW1lOiJzbm93Iixwb3N0ZXI6by5wKyJzbm93LjhmNWVjOWNkODRhNzUyZjQ2YjY4LndlYnAifV19LDg0MjEwMihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtpc1Nob3dQcm9tb1ZpZGVvOigpPT5zfSk7dmFyIGk9byg4MDk0MzYpO2NvbnN0IG49aVsibWVkaWEtbWYtdGFibGV0LWxhbmRzY2FwZSJdLHI9aVsibWVkaWEtbWYtdGFibGV0LXZlcnRpY2FsIl07ZnVuY3Rpb24gcygpe2NvbnN0IGU9d2luZG93Lm1hdGNoTWVkaWEobikubWF0Y2hlcyx0PXdpbmRvdy5tYXRjaE1lZGlhKHIpLm1hdGNoZXMsbz13aW5kb3cuaW5uZXJXaWR0aCxpPXdpbmRvdy5pbm5lckhlaWdodDtyZXR1cm4hIWV8fCEhdCYmaT49b319LDk3ODU0KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse29uZVRhcFNpZ25Nb2RhbERlbGVnYXRlOigpPT5pfSk7Y29uc3QgaT1uZXcobyg5NDgzODApLkRlbGVnYXRlKX0sNjEzODcwKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2lzU2lnbk1vZGFsT3BlbjooKT0+ZCxzaG93U2lnbk1vZGFsOigpPT5jfSk7dmFyIGk9byg4NDIxMDIpLG49byg5Nzg1NCkscj1vKDcxOTE5NCkscz1vKDc1NjI3MSksYT1vKDkzNDA4MSk7bGV0IGw9KCk9PiExO2FzeW5jIGZ1bmN0aW9uIGMoZSl7Y29uc3QgdD0oMCxpLmlzU2hvd1Byb21vVmlkZW8pKCksbj1PYmplY3QuYXNzaWduKHt9LGUse2lzU2hvd1ZpZGVvOnR9KTtpZih3aW5kb3cuVFZEJiZ3aW5kb3cuVFZELnNpZ25JbilyZXR1cm4gd2luZG93LlRWRC5zaWduSW4obik7e3QmJmZ1bmN0aW9uKCl7Y29uc3R7cG9zdGVyOmV9PWEuU1RPUllfUE9TVEVSU1soMCxyLnBpY2tTdG9yeUluZGV4KShzLlNUT1JZX05BTUVTKV0sdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7dC5yZWw9InByZWxvYWQiLHQuYXM9ImltYWdlIix0LmhyZWY9ZSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHQpfSgpCjtjb25zdCBlPWF3YWl0IFByb21pc2UuYWxsKFtvLmUoODU1MzcpLG8uZSg4NDMwNiksby5lKDI5Mjk2KSxvLmUoNTIzOTYpLG8uZSg2MDA2Miksby5lKDIwMzU0KSxvLmUoMTM0OTIpLG8uZSgzNzc0Niksby5lKDEyMzg1KSxvLmUoOTQ5NDgpLG8uZSg5NDIzMiksby5lKDE5NTk1KSxvLmUoMTk3ODcpLG8uZSgyNDU4MSksby5lKDExMjE4KSxvLmUoODU3OSksby5lKDcyNjY2KSxvLmUoNzA4MTUpLG8uZSg3NDM4MSksby5lKDE1NTI2KSxvLmUoOTM0MTYpLG8uZSgzNzc2Nyksby5lKDMyNjMyKSxvLmUoMzUxOTgpLG8uZSg0NjU5MSksby5lKDk0MDU0KSxvLmUoNTA2MjIpLG8uZSgzODg2OCksby5lKDU5MzUwKSxvLmUoMjA5ODYpLG8uZSgzMjM4Nyksby5lKDQ0NzgwKSxvLmUoNzU5MzApLG8uZSg4NTk3NCldKS50aGVuKG8uYmluZChvLDczMDg0MSkpO3JldHVybiBsPWUuaXNTaWduTW9kYWxPcGVuLGUuc2hvd1NpZ25Nb2RhbChuKX19ZnVuY3Rpb24gZCgpe3JldHVybiBsKCl9bi5vbmVUYXBTaWduTW9kYWxEZWxlZ2F0ZS5zdWJzY3JpYmUobnVsbCxjKX0sNzE5MTk0KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse3BpY2tTdG9yeUluZGV4OigpPT5yfSk7dmFyIGk9byg5MzIzNjUpO2NvbnN0IG49InNpZ25pbi1wcm9tby1zdG9yeSI7ZnVuY3Rpb24gcihlKXtjb25zdCB0PWZ1bmN0aW9uKCl7dHJ5e2NvbnN0IGU9aS5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKG4pO2lmKG51bGw9PT1lKXJldHVybiBudWxsO2NvbnN0IHQ9SlNPTi5wYXJzZShlKTtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10JiYic3RyaW5nIj09dHlwZW9mIHQubmFtZSYmIm51bWJlciI9PXR5cGVvZiB0LnRpbWVzdGFtcD90Om51bGx9Y2F0Y2h7cmV0dXJuIG51bGx9fSgpLG89bnVsbCE9PXQ/ZS5pbmRleE9mKHQubmFtZSk6LTE7aWYobnVsbCE9PXQmJi0xIT09byYmRGF0ZS5ub3coKS10LnRpbWVzdGFtcDw4NjRlNSlyZXR1cm4gbztjb25zdCByPWZ1bmN0aW9uKGUsdCl7aWYoZTw9MXx8dDwwKXJldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqZSk7cmV0dXJuKHQrMStNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqKGUtMSkpKSVlfShlLmxlbmd0aCxvKTtyZXR1cm4gaS5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKG4sSlNPTi5zdHJpbmdpZnkoe25hbWU6ZVtyXSx0aW1lc3RhbXA6RGF0ZS5ub3coKX0pKSxyfX0sNzU2MjcxKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse1NUT1JZX05BTUVTOigpPT5pfSk7Y29uc3QgaT1bIm5lb24iLCJtYXJzIiwic25vdyJdfSwyMjI0MjMoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7QWdncmVnYXRlRXJyb3I6KCk9PlMsQXBpRXJyb3I6KCk9PnksU01TX0JBTk5FRF9TVEFUVVM6KCk9PnIsYWNjdW11bGF0ZUVycm9yczooKT0+YSxjaGVja1Bob25lQ29kZTooKT0+dSxjb250aW51ZVBhcnRpYWxBdXRoOigpPT5FLGZpcnN0TG9naW5EYXRhOigpPT5kLGZpcnN0TG9naW5EYXRhVXJsOigpPT5zLGdlbmVyYXRlU2lnbmluQ2hhbGxlbmdlOigpPT54LGdldEFwaUVycm9yTWVzc2FnZTooKT0+YixyZWNvdmVyUGFzc3dvcmQ6KCk9PkMscmVjb3ZlclBhc3N3b3JkVXJsOigpPT53LHJlY292ZXJ5UGFzc3dvcmQ6KCk9Pl8scmVzZW5kTGluazooKT0+aCxzZWNvbmRGYWN0b3JTaWduaW46KCk9PkEsc2lnbmluOigpPT5nLHNpZ25pblVybDooKT0+cCxzaWdudXA6KCk9PmYsc2lnbnVwVXJsOigpPT52LHNvY2lhbEF1dGg6KCk9PlR9KTt2YXIgaT1vKDM4NDAxNyksbj1vKDE4NTI3MSk7Y29uc3Qgcj00MDMscz0iL2FjY291bnRzL2ZpcnN0X2xvZ2luX2RhdGEvIjtmdW5jdGlvbiBhKGUsdCl7cmV0dXJuIE9iamVjdC5lbnRyaWVzKGUpLm1hcCgoZT0+bmV3IHkoZVsxXS5qb2luKCJcbiIpLHQsZVswXSkpKX1mdW5jdGlvbiBsKGUsdCl7cmV0dXJuKDAsaS5mZXRjaCkoZSx7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoiaW5jbHVkZSIsbW9kZToic2FtZS1vcmlnaW4iLGJvZHk6dH0pfWFzeW5jIGZ1bmN0aW9uIGMoZSl7dHJ5e3JldHVybiBhd2FpdCBlLmpzb24oKX1jYXRjaHt0aHJvdyBuZXcgeShuLnQobnVsbCx7Y29udGV4dDoiYXBpIGVycm9yIn0sbyg2ODM2MjcpKSxlLnN0YXR1cywic2VydmVyX2Vycm9yIil9fWZ1bmN0aW9uIGQoZSl7cmV0dXJuIGwocyxlKS50aGVuKChlPT5lLm9rP2MoZSk6YyhlKS50aGVuKCh0PT57dGhyb3cgbmV3IFMoYSh0LmVycm9ycyxlLnN0YXR1cykpfSkpKSl9ZnVuY3Rpb24gaCgpe3JldHVybiBsKCIvYXBpL3YxL3VzZXJzL2Fub24vY2hhbmdlLWVtYWlsL3Jlc2VuZC8iKS50aGVuKChlPT5lLm9rP2MoZSk6YyhlKS50aGVuKChlPT57dGhyb3cgRXJyb3IoZS5lcnJvcil9KSkpKX1mdW5jdGlvbiB1KGUpe3JldHVybiBsKCIvYXBpL3YxL3JlY292ZXJfcGFzc3dvcmQvY2hlY2tfcGhvbmVfY29kZS8iLGUpLnRoZW4oKGU9PmUub2s/YyhlKTpjKGUpLnRoZW4oKGU9Pnt0aHJvdyBFcnJvcihlLmVycm9yKX0pKSkpfWZ1bmN0aW9uIF8oZSl7cmV0dXJuIGwoIi9hcGkvdjEvcmVjb3Zlcl9wYXNzd29yZC8iLGUpLnRoZW4oKGU9PmUpKX1jb25zdCBwPSIvYWNjb3VudHMvc2lnbmluLyI7ZnVuY3Rpb24gbShlKXtyZXR1cm4gYyhlKS50aGVuKCh0PT57aWYoImVycm9ycyJpbiB0JiZPYmplY3Qua2V5cyh0LmVycm9ycykubGVuZ3RoKXRocm93IG5ldyBTKGEodC5lcnJvcnMsZS5zdGF0dXMpKTtpZigiZXJyb3IiaW4gdCYmIiIhPT10LmVycm9yfHwiY29kZSJpbiB0fHwhZS5vayl0aHJvdyBuZXcgeSh0LmVycm9yfHx0LmRldGFpbCxlLnN0YXR1cyx0LmNvZGUsdC5jb25maXJtX2F1dGhfZGF0YSx0LnR3b19mYWN0b3JfdHlwZXMsZnVuY3Rpb24oZSl7aWYoZS5zaWduYXR1cmUpcmV0dXJue3NpZ25hdHVyZTplLnNpZ25hdHVyZSxlbWFpbDplLmVtYWlsfHwiIixwaG9uZTplLnBob25lfHwiIixzb2NpYWxzOltdfTtyZXR1cm59KHQpKTtyZXR1cm4gdH0pKX1mdW5jdGlvbiBnKGUpe3JldHVybiBsKHAsZSkudGhlbihtKX1jb25zdCB2PSIvYWNjb3VudHMvc2lnbnVwLyI7ZnVuY3Rpb24gZihlKXtyZXR1cm4gbCh2LGUpLnRoZW4oKGU9PmMoZSkudGhlbigodD0+ewppZigiZXJyb3JzImluIHQmJiIiIT09dC5lcnJvcnMpdGhyb3cgbmV3IFMoYSh0LmVycm9ycyxlLnN0YXR1cykpfSkpKSl9Y2xhc3MgeSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGUsdCxvLGksbixyKXtzdXBlcihlKSx0aGlzLnR5cGU9byx0aGlzLnN0YXR1cz10LHRoaXMuc2Vjb25kRmFjdG9yVHlwZXM9bix0aGlzLnNvY2lhbENvbmZpcm1EYXRhPWksdGhpcy5yZXNldFBhc3N3b3JkRGF0YT1yfX1mdW5jdGlvbiBiKGUsdCl7cmV0dXJuIGUgaW5zdGFuY2VvZiB5JiZ2b2lkIDAhPT1lLnN0YXR1cz9gJHtlLm1lc3NhZ2V8fHR8fG4udChudWxsLHtjb250ZXh0OiJhcGkgZXJyb3IifSxvKDY4MzYyNykpfSAoJHtlLnN0YXR1c30pYDplIGluc3RhbmNlb2YgRXJyb3ImJmUubWVzc2FnZT9lLm1lc3NhZ2U6dHx8bi50KG51bGwse2NvbnRleHQ6ImFwaSBlcnJvciJ9LG8oNjgzNjI3KSl9Y2xhc3MgUyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUubWFwKChlPT5lLm1lc3NhZ2UpKS5qb2luKCJcbiIpKSx0aGlzLmVycm9ycz1bXSx0aGlzLmVycm9ycz1lfX1jb25zdCB3PSIvYXBpL3YxL3JlY292ZXJfcGFzc3dvcmQvc2VhcmNoLyI7ZnVuY3Rpb24gQyhlKXtyZXR1cm4gbCh3LGUpLnRoZW4obSl9Y29uc3Qgaz17QWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIn07ZnVuY3Rpb24gVChlLHQpe2NvbnN0IG89bmV3IFVSTCh3aW5kb3cub3JpZ2luKyIvYWNjb3VudHMvY29tcGxldGUvYW5kcm9pZC1qd3QvIik7cmV0dXJuIE9iamVjdC5lbnRyaWVzKHQpLmZvckVhY2goKChbZSx0XSk9PnQmJm8uc2VhcmNoUGFyYW1zLmFwcGVuZChlLHQpKSksKDAsaS5mZXRjaCkoby5ocmVmLHttZXRob2Q6IlBPU1QiLGJvZHk6ZSxoZWFkZXJzOmt9KS50aGVuKG0pfWZ1bmN0aW9uIEUoZSx0KXtjb25zdCBvPW5ldyBVUkwod2luZG93Lm9yaWdpbitgL2FjY291bnRzL2NvbXBsZXRlLyR7ZX0vYCksbj1uZXcgRm9ybURhdGE7cmV0dXJuIG4uYXBwZW5kKCJwYXJ0aWFsX3Rva2VuIix0KSwoMCxpLmZldGNoKShvLmhyZWYse21ldGhvZDoiUE9TVCIsYm9keTpuLGhlYWRlcnM6a30pLnRoZW4obSl9ZnVuY3Rpb24geChlKXtyZXR1cm4gbChgL2FjY291bnRzL3R3by1mYWN0b3Ivc2lnbmluLyR7ZX0vZ2VuZXJhdGUtY2hhbGxlbmdlL2ApLnRoZW4oKGU9PmUub2s/YyhlKTpjKGUpLnRoZW4oKCh7ZGV0YWlsOmV9KT0+e3Rocm93IEVycm9yKGUpfSkpKSl9ZnVuY3Rpb24gQShlLHQpe3JldHVybiBsKGAvYWNjb3VudHMvdHdvLWZhY3Rvci9zaWduaW4vJHtlfS9gLHQpLnRoZW4oKGU9PmUub2s/YyhlKTpjKGUpLnRoZW4oKHQ9PntpZigicmVxdWlyZV9wYXJhbWV0ZXJzIj09PXQuY29kZSl0aHJvdyBuZXcgUyhhKHQuZXJyb3JzLGUuc3RhdHVzKSk7dGhyb3cgbmV3IHkodC5kZXRhaWwsZS5zdGF0dXMsdC5jb2RlKX0pKSkpfX0sOTczMDQxKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse3RyaWVzVHJhbnNsYXRlQ291bnRyaWVOYW1lOigpPT5ufSk7dmFyIGk9bygxODUyNzEpO2Z1bmN0aW9uIG4oZSl7Y29uc3QgdD1yLmdldChlKTtyZXR1cm4gdm9pZCAwIT09dD90KCk6ZX0KY29uc3Qgcj1uZXcgTWFwKFtbIkFmcmljYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDY1MDM0NCkpXSxbIkFtZXJpY2FzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTkxNDY0KSldLFsiQXNpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDY4OTE4MikpXSxbIkV1cm9wZSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDk1MjM2NykpXSxbIlBhY2lmaWMiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5OTA1NzUpKV0sWyJNaWRkbGUgRWFzdCIsKCk9PmkudChudWxsLHZvaWQgMCxvKDY4NTc1MSkpXSxbIkFmZ2hhbmlzdGFuIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTkzMTAxKSldLFsiw4VsYW5kIElzbGFuZHMiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5MDY1NTQpKV0sWyJBbGFuZCBJc2xhbmRzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTA2NTU0KSldLFsiQWxiYW5pYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI4MDAyNSkpXSxbIkFsZ2VyaWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygyOTYxODEpKV0sWyJBbWVyaWNhbiBTYW1vYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDEwNDU1MykpXSxbIkFuZG9ycmEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5NjUyMTMpKV0sWyJBbmdvbGEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg3NzcyMCkpXSxbIkFuZ3VpbGxhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oODU0OTAyKSldLFsiQW50YXJjdGljYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI5NzU3MCkpXSxbIkFudGlndWEgYW5kIEJhcmJ1ZGEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg3NDU4OSkpXSxbIkFyZ2VudGluYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDg1NzU4NykpXSxbIkFybWVuaWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg3Nzk5NTIpKV0sWyJBcnViYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDExNDc1NikpXSxbIkF1c3RyYWxpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI3OTIzMykpXSxbIkF1c3RyaWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygyMzgyNzgpKV0sWyJBemVyYmFpamFuIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDY4MTcpKV0sWyJCYWhhbWFzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMzM1MjU5KSldLFsiQmFocmFpbiIsKCk9PmkudChudWxsLHZvaWQgMCxvKDU3ODY2NSkpXSxbIkJhbmdsYWRlc2giLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg0NTIwMTUpKV0sWyJCYXJiYWRvcyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDgyOTM4NykpXSxbIkJlbGFydXMiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg1MjM1NTIpKV0sWyJCZWxnaXVtIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oODMzMjQpKV0sWyJCZWxpemUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg3ODc3MDEpKV0sWyJCZW5pbiIsKCk9PmkudChudWxsLHZvaWQgMCxvKDU4ODg0OCkpXSxbIkJlcm11ZGEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygzMTQ3MzcpKV0sWyJCaHV0YW4iLCgpPT5pLnQobnVsbCx2b2lkIDAsbygyODQ0NDIpKV0sWyJCb2xpdmlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTMxMzA0KSldLFsiQm9uYWlyZSwgU2ludCBFdXN0YXRpdXMgYW5kIFNhYmEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg1NTcyMzUpKV0sWyJCb3NuaWEgYW5kIEhlcnplZ292aW5hIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTcwNjkxKSldLFsiQm90c3dhbmEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg0MjUzNzgpKV0sWyJCb3V2ZXQgSXNsYW5kIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzMwNzYzKSldLFsiQnJhemlsIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNjEyOTY3KSldLFsiQnJpdGlzaCBJbmRpYW4gT2NlYW4gVGVycml0b3J5IiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzQ0MjQ2KSldLFsiQnJpdGlzaCBWaXJnaW4gSXNsYW5kcyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDY1MzM0MCkpXSxbIkJydW5laSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDM5MTkwNikpXSxbIkJ1bGdhcmlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzE0MDMxKSldLFsiQnVya2luYSBGYXNvIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMTk4Mjk3KSldLFsiQnVydW5kaSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDc1ODIyKSldLFsiQ2FibyBWZXJkZSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDYwMTA5NykpXSxbIkNhbWJvZGlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNTU1NDg5KSldLFsiQ2FtZXJvb24iLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5NzcwMjgpKV0sWyJDYW5hZGEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygxNTE4OSkpXSxbIkNheW1hbiBJc2xhbmRzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNjQxMDI2KSldLFsiQ2VudHJhbCBBZnJpY2FuIFJlcHVibGljIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzc0NzgpKV0sWyJDaGFkIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDgzNTUpKV0sWyJDaGlsZSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDkwNDMzOCkpXSxbIkNoaW5hIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNjAyNTE5KSldLFsiQ2hyaXN0bWFzIElzbGFuZCIsKCk9PmkudChudWxsLHZvaWQgMCxvKDk1NjQ2NCkpXSxbIkNvY29zIChLZWVsaW5nKSBJc2xhbmRzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMzI1NzMyKSldLFsiQ29sb21iaWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygxMzU4NjcpKV0sWyJDb21vcm9zIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDg0MTM2KSldLFsiQ29uZ28iLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5NjQ4NTgpKV0sWyJDb25nbyAodGhlIERlbW9jcmF0aWMgUmVwdWJsaWMgb2YgdGhlKSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI3MTU1OCkpXSxbIkNvb2sgSXNsYW5kcyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDcwODg1OSkpXSxbIkN1cmFjYW8iLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg1ODk0MTcpKV0sWyJDb3N0YSBSaWNhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMjY4ODQ0KSldLFsiQ8O0dGUgZCdJdm9pcmUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg0OTg3NjIpKV0sWyJDcm9hdGlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDA3NCkpXSxbIkN1YmEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg3NjkxNDApKV0sWyJDdXJhw6dhbyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDk0NTE3MSkpXSxbIkN5cHJ1cyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDYzNDczNykpXSxbIkN6ZWNoaWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygyNjE5OTApKV0sWyJDemVjaCBSZXB1YmxpYyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDEyOTgwOCkpXSxbIkRlbm1hcmsiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg4NTI1MDEpKV0sWyJEamlib3V0aSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDUwNzc5OCkpXSxbIkRvbWluaWNhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMTk0MzI2KSldLFsiRG9taW5pY2FuIFJlcHVibGljIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oODE4NjA0KSldLFsiRWN1YWRvciIsKCk9PmkudChudWxsLHZvaWQgMCxvKDQxMzM5NykpXSxbIkVneXB0IiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMzM3NDM3KSldLFsiRWwgU2FsdmFkb3IiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg4ODA4NzIpKV0sWyJFcXVhdG9yaWFsIEd1aW5lYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDc0NjUyNCkpXSxbIkVyaXRyZWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg3MzA4NzMpKV0sWyJFc3RvbmlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTQxMjApKV0sWyJGYWxrbGFuZCBJc2xhbmRzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTkzNDc1KSldLFsiRXN3YXRpbmkiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg4OTgzMDMpKV0sWyJFdGhpb3BpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDMzMTkxKSldLFsiRXVyb3BlYW4gVW5pb24iLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg1MzUxNDYpKV0sWyJGYWxrbGFuZCBJc2xhbmRzIChNYWx2aW5hcykiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg2MDc3MjMpKV0sWyJGYXJvZSBJc2xhbmRzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDUyNDg3KSldLFsiRmlqaSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDE1MjQwOSkpXSxbIkZpbmxhbmQiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5NzY0NTQpKV0sWyJGcmFuY2UiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygxMzYyMzgpKV0sWyJGcmVuY2ggR3VpYW5hIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTc2MDc5KSldLFsiRnJlbmNoIFBvbHluZXNpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDg2MzgyNSkpXSxbIkZyZW5jaCBTb3V0aGVybiBUZXJyaXRvcmllcyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDMyODYwNykpXSxbIkdhYm9uIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMzY3NjkwKSldLFsiR2FtYmlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzA4Nzg1KSldLFsiR2VvcmdpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDc5NTk1MSkpXSxbIkdlcm1hbnkiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV0sWyJHaGFuYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDQ5ODY3OSkpXSxbIkdpYnJhbHRhciIsKCk9PmkudChudWxsLHZvaWQgMCxvKDc3MTAxNykpXSxbIkdyZWVjZSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDc5MzI4OSkpXSxbIkdyZWVubGFuZCIsKCk9PmkudChudWxsLHZvaWQgMCxvKDMxODM5OSkpXSxbIkdyZW5hZGEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5MzIwODYpKV0sWyJHdWFkZWxvdXBlIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMTY0ODc3KSldLFsiR3VhbSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDU0NDMyNSkpXSxbIkd1YXRlbWFsYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDg3NzQ4NykpXSxbIkd1ZXJuc2V5IiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDA4OTE2KSldLFsiR3VpbmVhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDM2NDU1KSldLFsiR3VpbmVhLUJpc3NhdSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDMwODIyOSkpXSxbIkd1eWFuYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI0MjExNikpXSxbIkhhaXRpIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oODk0NzA5KSldLFsiSGVhcmQgSXNsYW5kIGFuZCBNY0RvbmFsZCBJc2xhbmRzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMjM2MTIzKSldLFsiSG9seSBTZWUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygxMjc0OSkpXSxbIkhvbmR1cmFzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMjAyODE2KSldLFsiSG9uZyBLb25nIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDYzNzc5KSldLFsiSHVuZ2FyeSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDY2MTM2NikpXSxbIkljZWxhbmQiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg0NDAxODgpKV0sWyJJbmRpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDM3MjUyMCkpXSxbIkluZG9uZXNpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDgwMjk3NSkpXSxbIklyYXEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygzNzE3NDYpKV0sWyJJcmVsYW5kIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzExNTI3KSldLFsiSXNsZSBvZiBNYW4iLCgpPT5pLnQobnVsbCx2b2lkIDAsbygyMDc4MjUpKV0sWyJJc3JhZWwiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg4MDMzNTQpKV0sWyJJdGFseSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDg5ODE2MykpXSxbIkphbWFpY2EiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygxNjM1KSldLFsiSmFwYW4iLCgpPT5pLnQobnVsbCx2b2lkIDAsbygyMDAwNjgpKV0sWyJKZXJzZXkiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygxMTg1OTgpKV0sWyJKb3JkYW4iLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg1ODMwMDkpKV0sWyJLYXpha2hzdGFuIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMjc3NTYwKSldLFsiS2VueWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg4MTQ5NjYpKV0sWyJLaXJpYmF0aSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDQ0NjI5MykpXSxbIktvc292byIsKCk9PmkudChudWxsLHZvaWQgMCxvKDY3Njg2KSldLFsiS3V3YWl0IiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMzk1MTMwKSldLFsiS3lyZ3l6c3RhbiIsKCk9PmkudChudWxsLHZvaWQgMCxvKDQ1ODY2MCkpXSxbIkxhb3MiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg1OTExODApKV0sWyJMYXR2aWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygyODI3NzMpKV0sWyJMZWJhbm9uIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTQ1NjEzKSldLFsiTGVzb3RobyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDY1MzM5NSkpXSxbIkxpYmVyaWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg2NjIxKSldLFsiTGlieWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg1NTUzNTIpKV0sWyJMaWVjaHRlbnN0ZWluIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMzg2NjY3KSldLFsiTGl0aHVhbmlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oODkyMTAwKSldLFsiTHV4ZW1ib3VyZyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDk3NTQ0NykpXSxbIk1hY2F1IiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNTMyMjY5KSldLFsiTWFjYW8iLCgpPT5pLnQobnVsbCx2b2lkIDAsbygzMDcwNjIpKV0sWyJNYWNlZG9uaWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg0NTkxMDgpKV0sWyJNYWRhZ2FzY2FyIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNjYwMTg4KSldLFsiTWFsYXdpIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMjQ1OTQ4KSldLFsiTWFsYXlzaWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg2Mjc5NjcpKV0sWyJNYWxkaXZlcyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDMzMTYxNSkpXSxbIk1hbGkiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg2MjM0NjUpKV0sWyJNYWx0YSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDU2MzIzNykpXSxbIk1hcnNoYWxsIElzbGFuZHMiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg0Nzc4NDMpKV0sWyJNYXJ0aW5pcXVlIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMTM1MTUyKSldLFsiTWF1cml0YW5pYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDY2Nzk5NikpXSxbIk1hdXJpdGl1cyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDE1MDA1NCkpXSxbIk1heW90dGUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg0ODMxNDkpKV0sWyJNZXhpY28iLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg4NjU3MDApKV0sWyJNaWNyb25lc2lhIChGZWRlcmF0ZWQgU3RhdGVzIG9mKSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI5MTA5OCkpXSxbIk1vbGRvdmEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygzMjEzMzYpKV0sWyJNb25hY28iLCgpPT5pLnQobnVsbCx2b2lkIDAsbygyMDg5MDQpKV0sWyJNb25nb2xpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDkxMzcwOSkpXSxbIk1vbnRlbmVncm8iLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg3MzkzNjUpKV0sWyJNb250c2VycmF0IiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMzMzMjYyKSldLFsiTW9yb2NjbyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDcyMTQzMykpXSxbIk1vemFtYmlxdWUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygxMDAwMjYpKV0sWyJNeWFubWFyIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMjM5NDMpKV0sWyJOYW1pYmlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNTcwNjE4KSldLFsiTmF1cnUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg0NzM0MzcpKV0sWyJOZXBhbCIsKCk9PmkudChudWxsLHZvaWQgMCxvKDQ3MTI4OCkpXSxbIk5ldGhlcmxhbmRzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNjE2ODYyKSldLFsiTmV3IENhbGVkb25pYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI0OTU4OCkpXSxbIk5ldyBaZWFsYW5kIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDIxNikpXSxbIk5pY2FyYWd1YSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDYyMzQ0MCkpXSxbIk5pZ2VyIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNTkyMTg5KSldLFsiTmlnZXJpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDg0OTg2OCkpXSxbIk5pdWUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5MDc0NzApKV0sWyJOb3Jmb2xrIElzbGFuZCIsKCk9PmkudChudWxsLHZvaWQgMCxvKDk2NzQxMikpXSxbIk5vcnRoIE1hY2Vkb25pYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDcyOTc4MikpXSxbIk5vcnRoZXJuIE1hcmlhbmEgSXNsYW5kcyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDYxMjU1NykpXSxbIk5vcndheSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDg0NTUyMykpXSxbIk9tYW4iLCgpPT5pLnQobnVsbCx2b2lkIDAsbygyODUyOTMpKV0sWyJQYWtpc3RhbiIsKCk9PmkudChudWxsLHZvaWQgMCxvKDg0NDQzNikpXSxbIlBhbGF1IiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzk4NDc2KSldLFsiUGFsZXN0aW5lLCBTdGF0ZSBvZiIsKCk9PmkudChudWxsLHZvaWQgMCxvKDY5ODA4MykpXSxbIlBhbmFtYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDEwMDcyOSkpXSxbIlBhcHVhIE5ldyBHdWluZWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg3MjU2OTcpKV0sWyJQYXJhZ3VheSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDQyMDEzNSkpXSxbIlBlcnUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg4NTExMTEpKV0sWyJQaGlsaXBwaW5lcyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDYxMzY0NykpXSxbIlBpdGNhaXJuIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMzg0MzgyKSldLFsiUG9sYW5kIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTY4NjA5KSldLFsiUG9ydHVnYWwiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygzOTg5NCkpXSxbIlB1ZXJ0byBSaWNvIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oODQzMzI3KSldLFsiUWF0YXIiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5MzM3NTMpKV0sWyJSw6l1bmlvbiIsKCk9PmkudChudWxsLHZvaWQgMCxvKDg3MjY4MCkpXSxbIkxhIFJldW5pb24iLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg4NzI2ODApKV0sWyJSb21hbmlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTA1OTQ1KSldLFsiUnVzc2lhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTM0ODgzKSldLFsiUnVzc2lhbiBGZWRlcmF0aW9uIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMzkwNTk4KSldLFsiU0lOVCBNQUFSVEVOIChEVVRDSCBQQVJUKSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDc5NTAyMSkpXSxbIlJ3YW5kYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDc1ODI5NykpXSxbIlNhaW50IEJhcnRow6lsZW15IiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMTk5NDgzKSldLFsiU2FpbnQgSGVsZW5hLCBBc2NlbnNpb24gYW5kIFRyaXN0YW4gZGEgQ3VuaGEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5NTU4MzUpKV0sWyJTYWludCBLaXR0cyBhbmQgTmV2aXMiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg1NzY5NzUpKV0sWyJTYWludCBMdWNpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI1ODMxMSkpXSxbIlNhaW50IE1hcnRpbiAoRnJlbmNoIHBhcnQpIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDI1MDY0KSldLFsiU2FpbnQgUGllcnJlIGFuZCBNaXF1ZWxvbiIsKCk9PmkudChudWxsLHZvaWQgMCxvKDc5NzAzNSkpXSxbIlNhaW50IFZpbmNlbnQgYW5kIHRoZSBHcmVuYWRpbmVzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNjIyNjEzKSldLFsiU2Ftb2EiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg1OTg5NjMpKV0sWyJTYW4gTWFyaW5vIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTk5NzYyKSldLFsiU2FvIFRvbWUgYW5kIFByaW5jaXBlIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMjc5MzgyKSldLFsiU2F1ZGkgQXJhYmlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzYxNTIzKSldLFsiU2VuZWdhbCIsKCk9PmkudChudWxsLHZvaWQgMCxvKDIyNDI4OSkpXSxbIlNlcmJpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDcxODUyOSkpXSxbIlNleWNoZWxsZXMiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg0MjA4MjEpKV0sWyJTaWVycmEgTGVvbmUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygxNjQ5OTIpKV0sWyJTaW5nYXBvcmUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg2NDM3OTUpKV0sWyJTaW50IE1hYXJ0ZW4gKER1dGNoIHBhcnQpIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzM2NDApKV0sWyJTbG92YWtpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI2MzQzMikpXSxbIlNsb3ZlbmlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzIxODIxKSldLFsiU29sb21vbiBJc2xhbmRzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMTgxNzgpKV0sWyJTb21hbGlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNjAwNTcpKV0sWyJTb3V0aCBBZnJpY2EiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygzMTAwODIpKV0sWyJTb3V0aCBHZW9yZ2lhIGFuZCB0aGUgU291dGggU2FuZHdpY2ggSXNsYW5kcyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDQ0Nzg1NCkpXSxbIlNvdXRoIEtvcmVhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNTg3NzUyKSldLFsiU291dGggU3VkYW4iLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg0NTcxODYpKV0sWyJTcGFpbiIsKCk9PmkudChudWxsLHZvaWQgMCxvKDc4ODMyMSkpXSxbIlNyaSBMYW5rYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDgwNDc2NikpXSxbIlN1ZGFuIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTc0NDA0KSldLFsiU3VyaW5hbWUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg4MTg4MzcpKV0sWyJTdmFsYmFyZCBhbmQgSmFuIE1heWVuIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTczOTE1KSldLFsiU3dlZGVuIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMzY5OTYzKSldLFsiU3dpdHplcmxhbmQiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg3MzM5NzEpKV0sWyJTeXJpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI3NDQ4NSkpXSxbIlRhaXdhbiIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI3MzE1NykpXSxbIlRhamlraXN0YW4iLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5Njg0NTgpKV0sWyJUYW56YW5pYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDQ5ODE4MykpXSxbIlRoYWlsYW5kIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNTUzMDQ0KSldLFsiVGltb3ItTGVzdGUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg4MDMwNTEpKV0sWyJUb2dvIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oODMyNDQ4KSldLFsiVG9rZWxhdSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDEwNDE3NykpXSxbIlRvbmdhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMjUwNTU1KSldLFsiVHJpbmlkYWQgYW5kIFRvYmFnbyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDMxNDg3KSldLFsiVHVuaXNpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDY3NzU5KSldLFsiVHVya2V5IiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNjMxODEwKSldLFsiVHVya21lbmlzdGFuIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzM1NjgzKSldLFsiVHVya3MgYW5kIENhaWNvcyBJc2xhbmRzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTcwNjI0KSldLFsiVHV2YWx1IiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDMwMTM0KSldLFsiVS5TLiBWaXJnaW4gSXNsYW5kcyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDQzMTM3NykpXSxbIlVBRSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDE2MzExMCkpXSxbIlVTQSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDMwMTExNykpXSxbIlVnYW5kYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDU4ODY5MykpXSxbIlVrcmFpbmUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygzMTc0NzUpKV0sWyJVbml0ZWQgQXJhYiBFbWlyYXRlcyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI0OTA5MSkpXSxbIlVuaXRlZCBLaW5nZG9tIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMjgyNzMpKV0sWyJVbml0ZWQgU3RhdGVzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTY3OTQxKSldLFsiVW5pdGVkIFN0YXRlcyBNaW5vciBPdXRseWluZyBJc2xhbmRzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzM2Nzk5KSldLFsiVXJ1Z3VheSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDkyODU1MykpXSxbIlVTQSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDMwMTExNykpXSxbIlV6YmVraXN0YW4iLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg3ODM5NzApKV0sWyJWYW51YXR1IiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDE2MjU3KSldLFsiVmVuZXp1ZWxhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNjQzNTAzKSldLFsiVmlldG5hbSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDg1MjIxKSldLFsiVmlyZ2luIElzbGFuZHMgKEJyaXRpc2gpIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDIzMjA2KSldLFsiVmlyZ2luIElzbGFuZHMgKFUuUy4pIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMzAxMjI5KSldLFsiV2FsbGlzIGFuZCBGdXR1bmEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg1OTA1MDUpKV0sWyJXZXN0ZXJuIFNhaGFyYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDg4MTI3NykpXSxbIlllbWVuIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDA5Mzg0KSldLFsiWmFtYmlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oODY3MzkzKSldLFsiWmltYmFid2UiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5NTkxNTUpKV1dKQp9LDE1OTUxMyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtnZXRRdW90ZVNlc3Npb25JbnN0YW5jZTooKT0+YX0pO3ZhciBpPW8oOTI3NTkzKSxuPW8oNzU1NjI3KSxyPW8oMTUwMTUwKTtjb25zdCBzPXt9O2Z1bmN0aW9uIGEoZT0iZnVsbCIpe3JldHVybiBzW2VdfHxmdW5jdGlvbihlPSJmdWxsIix0KXtzW2VdPXR9KGUsbmV3IGkuUXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXIoe25hbWU6ZSxhcGk6d2luZG93LkNoYXJ0QXBpSW5zdGFuY2UsZmllbGRzOmxbZV0sZXh0ZW5zaW9uczp7Zm9ybWF0dGVyOmU9Pm5ldyBjKGUpLmZvcm1hdHRlcixzbmFwc2hvdDplPT5uZXcgZChlKS5zbmFwc2hvdH19KSksc1tlXX1jb25zdCBsPXtzaW1wbGU6WyJiYXNlLWN1cnJlbmN5LWxvZ29pZCIsImxvZ28iLCJjaCIsImNocCIsImN1cnJlbmN5LWxvZ29pZCIsImN1cnJlbmN5X2NvZGUiLCJjdXJyZW5jeV9pZCIsImJhc2VfY3VycmVuY3lfaWQiLCJjdXJyZW50X3Nlc3Npb24iLCJkZXNjcmlwdGlvbiIsImV4Y2hhbmdlIiwiZm9ybWF0IiwiZnJhY3Rpb25hbCIsImlzX3RyYWRhYmxlIiwibGFuZ3VhZ2UiLCJsb2NhbF9kZXNjcmlwdGlvbiIsImxpc3RlZF9leGNoYW5nZSIsImxvZ29pZCIsImxwIiwibHBfdGltZSIsIm1pbm1vdiIsIm1pbm1vdmUyIiwib3JpZ2luYWxfbmFtZSIsInByaWNlc2NhbGUiLCJwcm9fbmFtZSIsInNob3J0X25hbWUiLCJ0eXBlIiwidHlwZXNwZWNzIiwidXBkYXRlX21vZGUiLCJ2b2x1bWUiLCJ2YXJpYWJsZV90aWNrX3NpemUiLCJ2YWx1ZV91bml0X2lkIiwidW5pdF9pZCIsIm1lYXN1cmUiXX07bC5zaW1wbGVEZXRhaWxlZD1bLi4ubC5zaW1wbGUsImFzayIsImJpZCIsImZ1bmRhbWVudGFscyIsImhpZ2hfcHJpY2UiLCJpc190cmFkYWJsZSIsImxvd19wcmljZSIsIm9wZW5fcHJpY2UiLCJwcmV2X2Nsb3NlX3ByaWNlIiwicmNoIiwicmNocCIsInJ0YyIsInJ0Y190aW1lIiwic3RhdHVzIiwiYmFzaWNfZXBzX25ldF9pbmNvbWUiLCJiZXRhXzFfeWVhciIsImVhcm5pbmdzX3Blcl9zaGFyZV9iYXNpY190dG0iLCJpbmR1c3RyeSIsIm1hcmtldF9jYXBfYmFzaWMiLCJwcmljZV9lYXJuaW5nc190dG0iLCJzZWN0b3IiLCJ2b2x1bWUiLCJkaXZpZGVuZHNfeWllbGQiLCJ0aW1lem9uZSJdLGwuZnVsbD1bXSxsLndhdGNobGlzdD1bLi4ubC5zaW1wbGUsInJjaHAiLCJuY2hwIiwicnRjIiwiY291bnRyeV9jb2RlIiwicHJvdmlkZXJfaWQiLCJkaXZpZGVuZHNfYXZhaWxhYmlsaXR5IiwiZmluYW5jaWFsc19hdmFpbGFiaWxpdHkiLCJlYXJuaW5nc19hdmFpbGFiaWxpdHkiXSxsLnBvcnRmb2xpbz1bInByb19uYW1lIiwic2hvcnRfbmFtZSIsImV4Y2hhbmdlIiwibGlzdGVkX2V4Y2hhbmdlIiwiZGVzY3JpcHRpb24iLCJsb2NhbF9kZXNjcmlwdGlvbiIsImxhbmd1YWdlIiwic2VjdG9yIiwidHlwZSIsInR5cGVzcGVjcyIsImluZHVzdHJ5IiwiY3VycmVuY3lfY29kZSIsImN1cnJlbmN5X2lkIiwiY2giLCJjaHAiLCJsb2dvIiwibG9nb2lkIiwiY3VycmVuY3ktbG9nb2lkIiwiYmFzZS1jdXJyZW5jeS1sb2dvaWQiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlIiwiZWFybmluZ3NfcmVsZWFzZV9kYXRlIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZxIiwibHAiLCJmcmFjdGlvbmFsIiwibWlubW92IiwibWlubW92ZTIiLCJwcmljZXNjYWxlIiwidm9sdW1lIiwiYXZlcmFnZV92b2x1bWUiLCJtYXJrZXRfY2FwX2NhbGMiLCJtYXJrZXRfY2FwX2Jhc2ljIiwidG90YWxfcmV2ZW51ZSIsImVhcm5pbmdzX3Blcl9zaGFyZV9iYXNpY190dG0iLCJwcmljZV9lYXJuaW5nc190dG0iLCJiZXRhXzFfeWVhciIsImRwc19jb21tb25fc3RvY2tfcHJpbV9pc3N1ZV9meSIsImRpdmlkZW5kc195aWVsZCIsImZ1bmRhbWVudGFsX2N1cnJlbmN5X2NvZGUiLCJyYXRlc19tYyIsInJhdGVzX2Z5IiwicmF0ZXNfdHRtIiwiZm9ybWF0IiwidmFsdWVfdW5pdF9pZCIsInVuaXRfaWQiLCJtZWFzdXJlIl0sbC5ub3Rlcz1bInNob3J0X25hbWUiLCJwcm9fbmFtZSIsImxvZ29pZCIsImN1cnJlbmN5LWxvZ29pZCIsImJhc2UtY3VycmVuY3ktbG9nb2lkIiwibG9nbyIsInN5bWJvbC1wcmltYXJ5bmFtZSIsInR5cGUiLCJ0eXBlc3BlY3MiXSxsLmVzdGltYXRlcz1bImZ1bmRhbWVudGFsX2RhdGEiLCJ0eXBlIiwidHlwZXNwZWNzIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfc3ltYm9sX2N1cnJlbmN5X2ZxIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2FsaWduZWRfZGF0ZSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9jYWxlbmRhcl9kYXRlIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUiXSxsLmVjb25vbWljPVsicmVmZXJlbmNlLWxhc3QtcGVyaW9kIiwibHAiLCJjdXJyZW5jeV9jb2RlIiwidmFsdWVfdW5pdF9pZCIsInVuaXRfaWQiLCJtZWFzdXJlIl0sbC5vcHRpb25zPVsiYXNrIiwiYmlkIiwibHAiLCJ2b2x1bWUiLCJjaCIsImNocCJdO2NsYXNzIGN7Y29uc3RydWN0b3IoZSl7dGhpcy5fZm9ybWF0dGVyVmFsdWVzQ2FjaGU9e30sdGhpcy5fd2FpdGluZ0ZvckZvcm1hdHRlcnM9e30sdGhpcy5mb3JtYXR0ZXI9KGUsdCk9PntpZih0aGlzLl93YWl0aW5nRm9yRm9ybWF0dGVyc1tlXSlyZXR1cm4gdGhpcy5fd2FpdGluZ0ZvckZvcm1hdHRlcnNbZV07ZnVuY3Rpb24gbyhlKXtjb25zdCBvPXQmJiFlLmZyYWN0aW9uYWw/MTplLm1pbm1vdjtyZXR1cm4gbmV3IG4uUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6ZS5wcmljZXNjYWxlLG1pbk1vdmU6byxmcmFjdGlvbmFsOmUuZnJhY3Rpb25hbCxtaW5Nb3ZlMjplLm1pbm1vdmUyfSl9Y29uc3QgaT1uZXcgUHJvbWlzZSgoKHQsaSk9PntpZih0aGlzLl9mb3JtYXR0ZXJWYWx1ZXNDYWNoZVtlXSl0KG8odGhpcy5fZm9ybWF0dGVyVmFsdWVzQ2FjaGVbZV0pKTtlbHNle2NvbnN0IG49KDAsci5ndWlkKSgpO3RoaXMuX211bHRpcGxleGVyLnN1YnNjcmliZShuLFtlXSwocj0+eyJlcnJvciI9PT1yLnN0YXR1cyYmKHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzW2VdPW51bGwsCmkoIlF1b3RlcyBzbmFwc2hvdCBpcyBub3QgcmVjZWl2ZWQiKSksZnVuY3Rpb24oZSl7cmV0dXJuIGUmJm51bGwhPWUucHJpY2VzY2FsZSYmbnVsbCE9ZS5taW5tb3Z9KHIudmFsdWVzKSYmKHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzW2VdPW51bGwsdGhpcy5fZm9ybWF0dGVyVmFsdWVzQ2FjaGVbZV09ci52YWx1ZXMsdChvKHIudmFsdWVzKSksdGhpcy5fbXVsdGlwbGV4ZXIudW5zdWJzY3JpYmUobixlKSl9KSl9fSkpO3JldHVybiB0aGlzLl93YWl0aW5nRm9yRm9ybWF0dGVyc1tlXT1pLGl9LHRoaXMuX211bHRpcGxleGVyPWV9fWNsYXNzIGR7Y29uc3RydWN0b3IoZSl7dGhpcy5fc25hcHNob3RWYWx1ZXNDYWNoZT17fSx0aGlzLl93YWl0aW5nRm9yU25hcHNob3Q9e30sdGhpcy5zbmFwc2hvdD1lPT57aWYodGhpcy5fd2FpdGluZ0ZvclNuYXBzaG90W2VdKXJldHVybiB0aGlzLl93YWl0aW5nRm9yU25hcHNob3RbZV07Y29uc3QgdD1uZXcgUHJvbWlzZSgoKHQsbyk9PntpZih0aGlzLl9zbmFwc2hvdFZhbHVlc0NhY2hlW2VdKXQodGhpcy5fc25hcHNob3RWYWx1ZXNDYWNoZVtlXSk7ZWxzZXtjb25zdCBpPSgwLHIuZ3VpZCkoKTt0aGlzLl9tdWx0aXBsZXhlci5zdWJzY3JpYmUoaSxbZV0sKG49PnsiZXJyb3IiPT09bi5zdGF0dXMmJih0aGlzLl93YWl0aW5nRm9yU25hcHNob3RbZV09bnVsbCxvKCJRdW90ZXMgc25hcHNob3QgaXMgbm90IHJlY2VpdmVkIikpO2NvbnN0IHI9bi52YWx1ZXM7ciYmci5taW5tb3YmJnIucHJpY2VzY2FsZSYmci5kZXNjcmlwdGlvbiYmKHRoaXMuX3dhaXRpbmdGb3JTbmFwc2hvdFtlXT1udWxsLHRoaXMuX3NuYXBzaG90VmFsdWVzQ2FjaGVbZV09cix0KHIpLHRoaXMuX211bHRpcGxleGVyLnVuc3Vic2NyaWJlKGksZSkpfSkpfX0pKTtyZXR1cm4gdGhpcy5fd2FpdGluZ0ZvclNuYXBzaG90W2VdPXQsdH0sdGhpcy5fbXVsdGlwbGV4ZXI9ZX19InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJih3aW5kb3cuZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2U9YSl9LDk3MTA1MShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtHUk9VUF9QQVRIX1BBVFRFUk46KCk9Pm4sTk9URVNfUEFUSF9QQVRURVJOOigpPT5pLFVOQVRURU5ERURfUEFUSF9QQVRURVJOOigpPT5yLHBhdGhUb0dyb3VwOigpPT5zfSk7Y29uc3QgaT0iL25vdGVzLyIsbj0iL25vdGVzL2dyb3Vwcy86c3ltYm9sLyIscj0iL25vdGVzL3VuYXR0ZW5kZWQvIjtmdW5jdGlvbiBzKGUpe3JldHVybiBlP24ucmVwbGFjZSgiOnN5bWJvbCIsZW5jb2RlVVJJQ29tcG9uZW50KGUpKTpyfX0sODI3MDEoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7YXZhaWxhYmxlT2ZmZXJzOigpPT5ufSk7dmFyIGk9bygzODQwMTcpO2NvbnN0IG49bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5faXNJbnZhbGlkPSEwLHRoaXMuX29mZmVycz17fX1ydW5PclVwZGF0ZShlKXt0aGlzLl9pc0ludmFsaWQ/d2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2s/d2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2soKCgpPT50aGlzLl91cGRhdGVPZmZlcnMoKS50aGVuKGUpKSk6c2V0VGltZW91dCgoKCk9PnRoaXMuX3VwZGF0ZU9mZmVycygpLnRoZW4oZSkpLDApOmUodGhpcy5fb2ZmZXJzKX1nZXREYXRhKCl7cmV0dXJuIHRoaXMuX29mZmVyc31pbnZhbGlkYXRlKGUpe3RoaXMuX2lzSW52YWxpZD0hMCx3aW5kb3cudXNlci5hdmFpbGFibGVfb2ZmZXJzPXt9LHRoaXMucnVuT3JVcGRhdGUoZT8/KCgpPT57fSkpfXNldEluaXRpYWwoZSl7dGhpcy5faXNJbnZhbGlkPSExLHRoaXMuX29mZmVycz1lLHdpbmRvdy51c2VyLmF2YWlsYWJsZV9vZmZlcnM9dGhpcy5fb2ZmZXJzfWVuc3VyZU9mZmVycygpe3JldHVybiBuZXcgUHJvbWlzZSgoZT0+dGhpcy5ydW5PclVwZGF0ZShlKSkpfXdpdGhBdmFpbGFibGVPZmZlcnMoZSl7cmV0dXJuIGFzeW5jKC4uLnQpPT4oYXdhaXQgdGhpcy5lbnN1cmVPZmZlcnMoKSxlKC4uLnQpKX1hc3luYyBfdXBkYXRlT2ZmZXJzKCl7cmV0dXJuIHdpbmRvdy51c2VyLmF2YWlsYWJsZV9vZmZlcnN8fCh3aW5kb3cudXNlci5hdmFpbGFibGVfb2ZmZXJzPXt9KSx0aGlzLl91cGRhdGVPZmZlcnNQcm9taXNlP3RoaXMuX3VwZGF0ZU9mZmVyc1Byb21pc2U6dGhpcy5faXNJbnZhbGlkPyh0aGlzLl91cGRhdGVPZmZlcnNQcm9taXNlPSgwLGkuZmV0Y2gpKCIvYXBpL3YxL29mZmVycy8iLHttZXRob2Q6IkdFVCIsY3JlZGVudGlhbHM6ImluY2x1ZGUifSkudGhlbigoYXN5bmMgZT0+e2NvbnN0IHQ9YXdhaXQgZS5qc29uKCk7cmV0dXJuIGRlbGV0ZSB0aGlzLl91cGRhdGVPZmZlcnNQcm9taXNlLHRoaXMuX2lzSW52YWxpZD0hMSx0aGlzLl9vZmZlcnM9T2JqZWN0LmVudHJpZXModCkucmVkdWNlKCgoZSxbdCxvXSk9PihvJiYoZVt0XT1vKSxlKSkse30pLHdpbmRvdy51c2VyLmF2YWlsYWJsZV9vZmZlcnM9dGhpcy5fb2ZmZXJzLHR9KSkuY2F0Y2goKCgpPT4oe30pKSksdGhpcy5fdXBkYXRlT2ZmZXJzUHJvbWlzZSk6dGhpcy5fb2ZmZXJzfX19LDc3NDUwNyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtVc2VyU3RhdHVzOigpPT5pfSk7dmFyIGksbj1vKDg2NDAzNCkscj1vKDYzODU3MSk7IWZ1bmN0aW9uKGUpe2UuTm9uUHJvPSJub25fcHJvIixlLlBybz0icHJvIn0oaXx8KGk9e30pKTsoMCxyLm1lbW9pemUpKCgoKT0+d2luZG93LnVzZXIuaXNfdHJpYWwmJndpbmRvdy51c2VyLnByb19wbGFuP3dpbmRvdy51c2VyLmlzX2V4cGVydHx8d2luZG93LnVzZXIuZGVjbGFyZWRfc3RhdHVzIT09aS5Qcm8/bi5XRUVLTFlfU1VCU0NSSVBUSU9OX0RBWVNfTEVOOm4uTU9OVEhMWV9TVUJTQ1JJUFRJT05fREFZU19MRU46bi5XRUVLTFlfU1VCU0NSSVBUSU9OX0RBWVNfTEVOKSl9LDk2MDIyOShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtnZXRTY3JlZW5lckNvdW50cmllc01hcDooKT0+c30pO3ZhciBpPW8oMTM3ODc5KSxuPW8oMzg5OTk0KTtsZXQgcj1udWxsO2Z1bmN0aW9uIHMoKXtpZihyKXJldHVybiByO3I9e307Zm9yKGNvbnN0IGUgb2YgbilpZihpLmNvdW50cmllcy5oYXNPd25Qcm9wZXJ0eShlKSl7CmNvbnN0IHQ9ZSxvPWkuY291bnRyaWVzW3RdLG49by5zY3JlZW5lck5hbWUscz1vLmV4Y2hhbmdlc1N0b2Nrc3x8W107clt0XT17Li4ubyxzY3JlZW5lck5hbWU6bixleGNoYW5nZXNTdG9ja3M6cyxncm91cDpvLmdyb3VwfX1yZXR1cm4gcn19LDIxNDA2MChlLHQsbyl7InVzZSBzdHJpY3QiO3ZhciBpPW8oNDgyNTA0KTtjb25zdCBuPW8oMjIxMDYxKS5nZXRMb2dnZXIoIkNvbW1vblVJLkNyZWF0ZVRWQmxvY2tQbHVnaW4iKTtlLmV4cG9ydHMuY3JlYXRlVHZCbG9ja1dpdGhJbnN0YW5jZT1mdW5jdGlvbihlLHQpe2lmKGUmJnQpcmV0dXJuIGU9ZS50b1N0cmluZygpLGZ1bmN0aW9uKHIscyxhKXt2YXIgbCxjLGQ7cmV0dXJuImdldCI9PT1yP2w9czooYz1zLCJvYmplY3QiPT10eXBlb2YgciYmdm9pZCAwPT09cz8oYz1yLHI9ImluaXQiKToic3RyaW5nIiE9dHlwZW9mIHImJihyPSJpbml0IikpLCJnZXRJbnN0YW5jZSI9PT1yP2kodGhpcykuZXEoMCkuZGF0YShlKToiZGVzdHJveSI9PT1yPyhkPWkodGhpcykuZXEoMCkuZGF0YShlKSk/dm9pZCgiZnVuY3Rpb24iPT10eXBlb2YgZC5kZXN0cm95PyhvKGQsImRlc3Ryb3kiLGMpLGkodGhpcykuZXEoMCkucmVtb3ZlRGF0YShlKSk6bi5sb2dFcnJvcigiW0Jsb2NrIFBsdWdpbl0gIitlKyIgZG9lcyBub3Qgc3VwcG9ydCBkZXN0cm95IGNvbW1hbmQiKSk6dm9pZCBjb25zb2xlLndhcm4oIltCbG9jayBQbHVnaW5dIFRyeWluZyB0byBleGVjdXRlIGRlc3Ryb3kgbWV0aG9kIG9mICIrZSsiIGJ1dCBpdCBoYXMgbm90IGJlZW4gaW5pdGVkIik6ImdldCI9PT1yPyhkPWkodGhpcykuZXEoMCkuZGF0YShlKSk/ImZ1bmN0aW9uIj09dHlwZW9mIGRbbF0/byhkLGwsYSk6ZFtsXTp2b2lkIGNvbnNvbGUud2FybigiW0Jsb2NrIFBsdWdpbl0gVHJ5aW5nIHRvIGdldCBwcm9wIG9yIGV4ZWN1dGUgbWV0aG9kIG9mICIrZSsiIGJ1dCBpdCBoYXMgbm90IGJlZW4gaW5pdGVkIik6aSh0aGlzKS5lYWNoKChmdW5jdGlvbigpe3ZhciBzPWkodGhpcyksYT1zLmRhdGEoZSk7dm9pZCAwPT09YSYmKGE9dm9pZCAwPT09Yz90KHMpOnQocyxjKSxzLmRhdGEoZSxhKSksImluaXQiIT09ciYmKCJmdW5jdGlvbiI9PXR5cGVvZiBhW3JdP28oYSxyLGMpOm4ubG9nRXJyb3IoIltCbG9jayBQbHVnaW5dICIrZSsiIGRvZXMgbm90IHN1cHBvcnQgY29tbWFuZCAiK3IpKX0pKX07ZnVuY3Rpb24gbyhlLHQsbyl7cmV0dXJuIHZvaWQgMD09PW8/ZVt0XSgpOmVbdF0obyl9fX0sMjE1NTM5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2RlZmF1bHQ6KCk9Pmh9KTt2YXIgaT1vKDIxNDA2MCksbj0obygyNjIzMTkpLG8oNDgyNTA0KSkscj1vKDQ5MTg2KSx7bWVyZ2U6c309byg2MDE4NDEpO2NvbnN0IGE9bygyMjEwNjEpLmdldExvZ2dlcigiVWkuVHZDb250cm9sQ2hlY2tib3giKSxsPXtsYWJlbFdyYXBwZXI6J3t7I2hhc0xhYmVsfX08bGFiZWw+e3sjbGFiZWxMZWZ0fX08c3BhbiBjbGFzcz0idHYtY29udHJvbC1jaGVja2JveF9fbGFiZWwge3sjbGFiZWxBZGRDbGFzc319e3tsYWJlbEFkZENsYXNzfX17ey9sYWJlbEFkZENsYXNzfX0iPnt7bGFiZWxMZWZ0fX08L3NwYW4+e3svbGFiZWxMZWZ0fX17ez4gaW5wdXRXcmFwcGVyIH19e3sjbGFiZWxSaWdodH19PHNwYW4gY2xhc3M9InR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVsIHt7I2xhYmVsQWRkQ2xhc3N9fXt7bGFiZWxBZGRDbGFzc319e3svbGFiZWxBZGRDbGFzc319Ij57e2xhYmVsUmlnaHR9fTwvc3Bhbj57ey9sYWJlbFJpZ2h0fX08L2xhYmVsPnt7L2hhc0xhYmVsfX17e15oYXNMYWJlbH19e3s+IGlucHV0V3JhcHBlciB9fXt7L2hhc0xhYmVsfX0nLGlucHV0V3JhcHBlcjonPHt7IHRhZyB9fSBjbGFzcz0ie3sgY3VzdG9tQ2xhc3MgfX17eyNkaXNhYmxlZH19IGktZGlzYWJsZWR7ey9kaXNhYmxlZH19Ij57e15oYXNDaGVja2JveH19e3s+IGNoZWNrYm94IH19e3svaGFzQ2hlY2tib3h9fXt7PiBib3ggfX08L3t7IHRhZyB9fT4nLGNoZWNrYm94Oic8aW5wdXR7eyNpZH19IGlkPSJ7eyBpZCB9fSJ7ey9pZH19IGNsYXNzPSJ7ez4gY2hlY2tib3hDbGFzcyB9fSIgdHlwZT0iY2hlY2tib3gie3sjbmFtZX19IG5hbWU9Int7IG5hbWUgfX0ie3svbmFtZX19e3sjY2hlY2tlZH19IGNoZWNrZWR7ey9jaGVja2VkfX17eyNkaXNhYmxlZH19IGRpc2FibGVke3svZGlzYWJsZWR9fT4nLGNoZWNrYm94Q2xhc3M6Int7IGN1c3RvbUNsYXNzIH19X19pbnB1dCIsYm94Oic8c3BhbiBjbGFzcz0ie3sgY3VzdG9tQ2xhc3MgfX1fX2JveCB7eyNib3hBZGRDbGFzc319e3tib3hBZGRDbGFzc319e3svYm94QWRkQ2xhc3N9fSI+JytvKDQ4ODg3NSkrIjwvc3Bhbj4ifSxjPSJpLWluaXRlZCI7Y2xhc3MgZHtjb25zdHJ1Y3Rvcih7Y3VzdG9tQ2xhc3M6ZT0idHYtY29udHJvbC1jaGVja2JveCIsJGNoZWNrYm94OnQsdGFnOm8saWQ6aSxuYW1lOnIsY2hlY2tlZDpzLGRpc2FibGVkOmwsbGFiZWxMZWZ0OmQsbGFiZWxSaWdodDpoLGxhYmVsQWRkQ2xhc3M6dSxib3hBZGRDbGFzczpffSl7dGhpcy4kZWw9bnVsbCx2b2lkIDA9PT1vJiYobz1kfHxoPyJzcGFuIjoibGFiZWwiKTtjb25zdCBwPXQgaW5zdGFuY2VvZiBuJiYhIXQubGVuZ3RoO2lmKHApe2lmKCF0LmlzKCJpbnB1dFt0eXBlPWNoZWNrYm94XSIpKXJldHVybiB2b2lkIGEubG9nRXJyb3IoImAkY2hlY2tib3hgIG5lZWQgdG8gYmUgaW5wdXRbdHlwZT1jaGVja2JveF0iKTtpZih0Lmhhc0NsYXNzKGMpKXJldHVybjt0aGlzLl9zZXRJbnB1dElkKHQsaSksdGhpcy5fc2V0SW5wdXRDbGFzcyh0LGUpLHRoaXMuX3NldElucHV0TmFtZSh0LHIpLHRoaXMuX3NldElucHV0Q2hlY2tlZCh0LHMpLHRoaXMuX3NldElucHV0RGlzYWJsZWQodCxsKSxzPSEhdC5wcm9wKCJjaGVja2VkIiksbD0hIXQuYXR0cigiZGlzYWJsZWQiKX10aGlzLiRlbD10aGlzLnJlbmRlcih7JGNoZWNrYm94OnQsaGFzQ2hlY2tib3g6cCxjdXN0b21DbGFzczplLHRhZzpvLGlkOmksbmFtZTpyLGNoZWNrZWQ6cyxkaXNhYmxlZDpsLGxhYmVsTGVmdDpkLGxhYmVsUmlnaHQ6aCxoYXNMYWJlbDpkfHxoLGxhYmVsQWRkQ2xhc3M6dSxib3hBZGRDbGFzczpffSksCnRoaXMuJGNoZWNrYm94PXA/dDp0aGlzLiRlbC5maW5kKCJpbnB1dFt0eXBlPWNoZWNrYm94XSIpfV9zZXRJbnB1dElkKGUsdCl7dm9pZCAwIT09dCYmZS5hdHRyKCJpZCIsdCl9X3NldElucHV0Q2xhc3MoZSx0KXtjb25zdCBvPXIucmVuZGVyKGwuY2hlY2tib3hDbGFzcyx7Y3VzdG9tQ2xhc3M6dH0pO2UuYWRkQ2xhc3Mobyl9X3NldElucHV0TmFtZShlLHQpe3ZvaWQgMCE9PXQmJmUuYXR0cigibmFtZSIsdCl9X3NldElucHV0Q2hlY2tlZChlLHQpe3ZvaWQgMCE9PXQmJmUucHJvcCgiY2hlY2tlZCIsISF0KX1fc2V0SW5wdXREaXNhYmxlZChlLHQpe3ZvaWQgMCE9PXQmJih0P2Uuc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsImRpc2FibGVkIik6ZS5yZW1vdmVBdHRyKCJkaXNhYmxlZCIpKX1yZW5kZXIoZSl7Y29uc3QgdD1lLiRjaGVja2JveCxvPW4oci5yZW5kZXIobC5sYWJlbFdyYXBwZXIsZSxsKSk7aWYoZS5oYXNDaGVja2JveCl7by5pbnNlcnRCZWZvcmUodCk7by5maW5kKCIuIitlLmN1c3RvbUNsYXNzKS5hbmRTZWxmKCkuZmlsdGVyKCIuIitlLmN1c3RvbUNsYXNzKS5lcSgwKS5wcmVwZW5kKHQuZGV0YWNoKCkpLHQuYWRkQ2xhc3MoYyl9cmV0dXJuIG99c2V0IGNoZWNrZWQoZSl7dGhpcy5fc2V0SW5wdXRDaGVja2VkKHRoaXMuJGNoZWNrYm94LCEhZSl9Z2V0IGNoZWNrZWQoKXtyZXR1cm4hIXRoaXMuJGNoZWNrYm94LnByb3AoImNoZWNrZWQiKX19bi5mbi50dkNvbnRyb2xDaGVja2JveD0oMCxpLmNyZWF0ZVR2QmxvY2tXaXRoSW5zdGFuY2UpKCJ0di1jb250cm9sLWNoZWNrYm94IiwoZnVuY3Rpb24oZSx0PXt9KXtyZXR1cm4gbmV3IGQocyh0LHskY2hlY2tib3g6ZX0pKX0pKTtjb25zdCBoPWR9LDU1MDY4MihlLHQsbyl7InVzZSBzdHJpY3QiO28ucih0KSxvLmQodCx7RHJvcGRvd25WaWV3OigpPT5sfSk7byg5ODY3MDUpLG8oMzc2NDUwKTt2YXIgaT1vKDkzMDIzMSksbj1vKDIxNDA2MCkscj1vKDE4OTMpLHM9bygzMzczNjIpLGE9byg0ODI1MDQpO2NsYXNzIGx7Y29uc3RydWN0b3IoZSx0PXt9KXt0aGlzLiRlbD1lLHRoaXMuJHdyYXA9dC4kd3JhcHx8ZS5maW5kKCIudHYtZHJvcGRvd24tYmVoYXZpb3JfX2J1dHRvbiIpLHRoaXMuJGJvZHk9dC4kYm9keXx8ZS5maW5kKCIudHYtZHJvcGRvd24tYmVoYXZpb3JfX2JvZHkiKSx0aGlzLm5vdENsb3NlV2l0aEN0cmw9ISF0Lm5vdENsb3NlV2l0aEN0cmwmJnQubm90Q2xvc2VXaXRoQ3RybCx0aGlzLmNsb3NlV2l0aEVzYz12b2lkIDA9PT10LmNsb3NlV2l0aEVzY3x8dC5jbG9zZVdpdGhFc2MsdGhpcy5jbG9zZVdpdGhFc2MmJnRoaXMuJGVsLmF0dHIoInRhYkluZGV4IiwwKSwoZS5kYXRhKCJzY3JvbGwiKXx8dC5zY3JvbGwpJiYodGhpcy4kc2Nyb2xsPXRoaXMuJGJvZHkuZmluZCgiLnR2LWRyb3Bkb3duLWJlaGF2aW9yX19zY3JvbGwiKSx0aGlzLiRpblNjcm9sbD10aGlzLiRzY3JvbGwuZmluZCgiLnR2LWRyb3Bkb3duLWJlaGF2aW9yX19pbnNjcm9sbCIpLHRoaXMuc2Nyb2xsPW5ldyByLlNpZGViYXJDdXN0b21TY3JvbGwodGhpcy4kc2Nyb2xsWzBdLHRoaXMuJGluU2Nyb2xsWzBdLHtzaG93VG9wU2hhZG93OiExLHNob3dCb3R0b21TaGFkb3c6ITF9KSx0aGlzLiRzY3JvbGxCYXI9YSh0aGlzLnNjcm9sbC5nZXRTY3JvbGxCYXIoKSksdGhpcy4kc2Nyb2xsQmFyJiZ0aGlzLiRzY3JvbGxCYXIub24oIm1vdXNlZG93bi50di1kcm9wZG93bi12aWV3LXNjcm9sbCIsKCgpPT57dGhpcy5vZmZDbGlja091dHNpZGUoKSxhKGRvY3VtZW50KS5vbigibW91c2V1cC50di1kcm9wZG93bi12aWV3LXNjcm9sbCIsKCgpPT57dGhpcy5vbkNsaWNrT3V0c2lkZSgpLGEoZG9jdW1lbnQpLm9mZigibW91c2V1cC50di1kcm9wZG93bi12aWV3LXNjcm9sbCIpfSkpfSkpKSwoZS5kYXRhKCJhZGFwdEJvZHkiKXx8dC5hZGFwdEJvZHkpJiYodGhpcy5fYWRhcHRCb2R5PSEwKSwoZS5kYXRhKCJhZGFwdE9ubHlJblNjcm9sbEhlaWdodCIpfHx0LmFkYXB0T25seUluU2Nyb2xsSGVpZ2h0KSYmKHRoaXMuX2FkYXB0T25seUluU2Nyb2xsSGVpZ2h0PSEwKSx0aGlzLl9maXRTY3JlZW49ZS5kYXRhKCJmaXRTY3JlZW4iKXx8dC5maXRTY3JlZW4sdGhpcy5fbWF4SGVpZ2h0PWUuZGF0YSgibWF4SGVpZ2h0Iil8fHQubWF4SGVpZ2h0LHRoaXMuX2Ryb3Bkb3duV2lkdGg9ZS5kYXRhKCJkcm9wZG93bldpZHRoIil8fHQuZHJvcGRvd25XaWR0aCx0aGlzLl9ib3VuZGluZ0VsZW1lbnQ9dC5ib3VuZGluZ0VsZW1lbnQsdGhpcy4kd3JhcC5hZGQoZS5maW5kKCIuanMtZHJvcGRvd24tdG9nZ2xlIikpLm9uKCJjbGljayIsKGU9PnthKGUuY3VycmVudFRhcmdldCkuaGFzQ2xhc3MoImpzLXByZXZlbnQtZHJvcGRvd24iKXx8dGhpcy50b2dnbGUoKX0pKSx0aGlzLl9jaGVja0lnbm9yZUNsaWNrT3V0c2lkZT1bXSwoMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJlbWJlZF9yZXNpemVyX292ZXJyaWRlcyIpJiZzLkVtYmVkVmlld3BvcnREaW1lbnNpb25zUHJvdmlkZXIuZ2V0SW5zdGFuY2UoKS5zdGFydExpc3RlbmluZygpfXRvZ2dsZSgpe3RoaXMub3BlbmVkP3RoaXMuY2xvc2UoITApOnRoaXMub3BlbigpfW9wZW4oKXt0aGlzLm9wZW5lZHx8dGhpcy5kaXNhYmxlZHx8dGhpcy5yZWFkb25seXx8KHRoaXMuJGVsLnRyaWdnZXIoImJlZm9yZU9wZW5NZW51IiksdGhpcy4kYm9keS5yZW1vdmVDbGFzcygiaS1oaWRkZW4iKS5hZGRDbGFzcygiaS1vcGVuZWQiKSx0aGlzLiR3cmFwLmFkZENsYXNzKCJpLWRyb3BwZWQiKSx0aGlzLiRlbC5hZGRDbGFzcygiaS1vcGVuZWQiKSwiaG9yeiI9PT10aGlzLl9maXRTY3JlZW4mJnRoaXMuZml0SG9yaXpvbnRhbGx5KCksdGhpcy5fYWRhcHRCb2R5JiZ0aGlzLmFkYXB0Qm9keSgpLHRoaXMub25DbGlja091dHNpZGUoKSx0aGlzLiRlbC50cmlnZ2VyKCJ1cGRhdGVTY3JvbGwiKSx0aGlzLiRlbC50cmlnZ2VyKCJhZnRlck9wZW5NZW51IiksdGhpcy5vcGVuZWQ9ITAsdGhpcy5jbG9zZVdpdGhFc2MmJnRoaXMuJGVsLm9uKCJrZXlwcmVzcyBrZXl1cCIsKGU9PnsyNz09PWUua2V5Q29kZSYmdGhpcy5jbG9zZSghMCl9KSkpfW9uQ2xpY2tPdXRzaWRlKCl7CnNldFRpbWVvdXQoKCgpPT57dGhpcy4kYm9keS5vbigiY2xpY2tvdXRzaWRlIiwoZT0+e3RoaXMuX2NoZWNrSWdub3JlQ2xpY2tPdXRzaWRlLmxlbmd0aCYmdGhpcy5fY2hlY2tJZ25vcmVDbGlja091dHNpZGUuc29tZSgodD0+dChlKSkpfHx0aGlzLmNsb3NlKCEwKX0pKX0pLDApfW9mZkNsaWNrT3V0c2lkZSgpe3RoaXMuJGJvZHkub2ZmKCJjbGlja291dHNpZGUiKX1zZXRDaGVja0lnbm9yZUNsaWNrT3V0c2lkZShlKXt0aGlzLl9jaGVja0lnbm9yZUNsaWNrT3V0c2lkZS5wdXNoKGUpfWRyb3BDaGVja0lnbm9yZUNsaWNrT3V0c2lkZShlKXt2YXIgdD10aGlzLl9jaGVja0lnbm9yZUNsaWNrT3V0c2lkZS5pbmRleE9mKGUpOy0xIT09dCYmdGhpcy5fY2hlY2tJZ25vcmVDbGlja091dHNpZGUuc3BsaWNlKHQsMSl9Y2xvc2UoZT0hMSl7IXRoaXMub3BlbmVkfHx0aGlzLmRpc2FibGVkfHx0aGlzLnJlYWRvbmx5fHwhZSYmdGhpcy5ub3RDbG9zZVdpdGhDdHJsJiYod2luZG93LmV2ZW50LmN0cmxLZXl8fHdpbmRvdy5ldmVudC5tZXRhS2V5KXx8KHRoaXMub2ZmQ2xpY2tPdXRzaWRlKCksdGhpcy4kd3JhcC5yZW1vdmVDbGFzcygiaS1kcm9wcGVkIiksdGhpcy4kZWwudHJpZ2dlcigiYmVmb3JlQ2xvc2VNZW51IiksdGhpcy4kYm9keS5yZW1vdmVDbGFzcygiaS1vcGVuZWQiKS5hZGRDbGFzcygiaS1oaWRkZW4iKSx0aGlzLiRlbC5yZW1vdmVDbGFzcygiaS1vcGVuZWQiKSx0aGlzLmNsb3NlV2l0aEVzYyYmdGhpcy4kZWwub2ZmKCJrZXlwcmVzcyBrZXl1cCIpLHRoaXMub3BlbmVkPSExLHRoaXMuJGVsLnRyaWdnZXIoImFmdGVyQ2xvc2VNZW51IikpfWlzT3BlbmVkKCl7cmV0dXJuIHRoaXMub3BlbmVkfXVwZGF0ZVNjcm9sbCgpe3RoaXMuc2Nyb2xsJiYodGhpcy5zY3JvbGwudXBkYXRlU2Nyb2xsQmFyKCksdGhpcy5zY3JvbGwuc2Nyb2xsVG9TdGFydCgpKX1lbmFibGUoKXt0aGlzLiR3cmFwLnJlbW92ZUNsYXNzKCJpLWRpc2FibGVkIiksdGhpcy5kaXNhYmxlZD0hMX1kaXNhYmxlKCl7dGhpcy4kd3JhcC5hZGRDbGFzcygiaS1kaXNhYmxlZCIpLHRoaXMuZGlzYWJsZWQ9ITB9c2V0UmVhZG9ubHkoZSl7dGhpcy5yZWFkb25seT1lfWFkYXB0Qm9keSgpe2NvbnN0IGU9dGhpcy4kYm9keSx0PXRoaXMuJHdyYXAuZ2V0KDApLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG89dGhpcy5fYm91bmRpbmdFbGVtZW50P3RoaXMuX2JvdW5kaW5nRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTp7dG9wOjAsYm90dG9tOndpbmRvdy5pbm5lckhlaWdodCxoZWlnaHQ6d2luZG93LmlubmVySGVpZ2h0fTtpZigoMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJlbWJlZF9yZXNpemVyX292ZXJyaWRlcyIpKXtjb25zdCBlPXMuRW1iZWRWaWV3cG9ydERpbWVuc2lvbnNQcm92aWRlci5nZXRJbnN0YW5jZSgpLmRhdGEoKTtlJiYoby50b3A9TWF0aC5tYXgoby50b3AsZS50b3AtMzIpLG8uaGVpZ2h0PU1hdGgubWluKG8uaGVpZ2h0LGUuaGVpZ2h0KSxvLmJvdHRvbT1NYXRoLm1pbihvLmJvdHRvbSxlLmJvdHRvbSkpfWNvbnN0IG49cGFyc2VGbG9hdChlLmNzcygicGFkZGluZy10b3AiKSkscj1wYXJzZUZsb2F0KGUuY3NzKCJwYWRkaW5nLWJvdHRvbSIpKSxhPXRoaXMuJGluU2Nyb2xsLm91dGVySGVpZ2h0KCEwKStuK3I7aWYodGhpcy5zY3JvbGwmJnRoaXMuc2Nyb2xsLnNjcm9sbFRvU3RhcnQoKSx0aGlzLl9hZGFwdE9ubHlJblNjcm9sbEhlaWdodCl7Y29uc3QgaT1lLmZpbmQoIi5qcy1kcm9wZG93bi1kdW1teSIpLG49aT9wYXJzZUZsb2F0KGkuY3NzKCJwYWRkaW5nLWJvdHRvbSIpKStwYXJzZUZsb2F0KGkuY3NzKCJtYXJnaW4tYm90dG9tIikpOjAscz10LnRvcCt0LmhlaWdodCtuO3JldHVybiB2b2lkIHRoaXMuJGVsLmZpbmQoIi50di1kcm9wZG93bi1iZWhhdmlvcl9fc2Nyb2xsIikuY3NzKCJtYXhIZWlnaHQiLG8uYm90dG9tLXItcy0yNSl9Y29uc3QgbD10aGlzLl9tYXhIZWlnaHR8fGEsYz10LnRvcCtsKzI1PD1vLmJvdHRvbSxkPW8udG9wKzE1K2w8PXQuYm90dG9tO2xldCBoLHU9dGhpcy5fbWF4SGVpZ2h0fHwiYXV0byI7aWYoYyloPS1uO2Vsc2UgaWYoZCloPS1sK3QuaGVpZ2h0K3I7ZWxzZXtoPS10LnRvcCtvLnRvcCsxNSsyNStuK3I7Y29uc3QgZT1vLmhlaWdodC0xNS0yNS1yO2w+ZSYmKHU9ZSl9ZS5jc3MoInRvcCIsaCksZS5oZWlnaHQodSksdGhpcy5fZHJvcGRvd25XaWR0aCYmZS53aWR0aCh0aGlzLl9kcm9wZG93bldpZHRoKX1maXRIb3Jpem9udGFsbHkoKXt0aGlzLiRib2R5LmNzcygibWFyZ2luTGVmdCIsMCk7Y29uc3QgZT1kb2N1bWVudC5ib2R5LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHQ9cGFyc2VGbG9hdChhKGRvY3VtZW50LmJvZHkpLmNzcygicGFkZGluZ1JpZ2h0IikpLG89dGhpcy4kYm9keS5vZmZzZXQoKTtvLnJpZ2h0PW8ubGVmdCt0aGlzLiRib2R5Lm91dGVyV2lkdGgoKTtjb25zdCBpPU1hdGgubWF4KE1hdGgubWluKDAsZS5yaWdodC10LW8ucmlnaHQpLGUubGVmdC1vLmxlZnQpO2kmJnRoaXMuJGJvZHkuY3NzKCJtYXJnaW5MZWZ0IixpKX1kZXN0cm95KCl7dGhpcy5zY3JvbGwmJnRoaXMuc2Nyb2xsLmRlc3Ryb3koKSx0aGlzLm9mZkNsaWNrT3V0c2lkZSgpLHRoaXMuJGVsLmZpbmQoIi5qcy1kcm9wZG93bi10b2dnbGUiKS5vZmYoImNsaWNrIiksdGhpcy4kd3JhcC5vZmYoImNsaWNrIil9fWEuZm4udHZEcm9wZG93bj0oMCxuLmNyZWF0ZVR2QmxvY2tXaXRoSW5zdGFuY2UpKCJ0di1kcm9wZG93biIsKGZ1bmN0aW9uKGUsdD17fSl7cmV0dXJuIG5ldyBsKGUsdCl9KSl9LDkyNjk5NShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtzaG93U3VwcG9ydERpYWxvZzooKT0+bn0pO28oMzAwMjg2KTt2YXIgaT1vKDgyNzAxKTthc3luYyBmdW5jdGlvbiBuKGUpewpjb25zdCB0PWF3YWl0IFByb21pc2UuYWxsKFtvLmUoMjY5NzMpLG8uZSg4NDMwNiksby5lKDI5Mjk2KSxvLmUoNjAwNjIpLG8uZSg0NjkwNyksby5lKDIwMzU0KSxvLmUoMTIzODUpLG8uZSg4MTA3Miksby5lKDk0OTQ4KSxvLmUoMjM2MjQpLG8uZSgzNjIyMiksby5lKDk0MjMyKSxvLmUoODM0ODgpLG8uZSgxOTU5NSksby5lKDE5Nzg3KSxvLmUoNjc3OTkpLG8uZSgxMTQ2MSksby5lKDk2NTg3KSxvLmUoMTEyMTgpLG8uZSg4NjQyMyksby5lKDM3NTEzKSxvLmUoODU3OSksby5lKDk1MDQpLG8uZSg0MDgzNSksby5lKDcyNjY2KSxvLmUoOTM0MjEpLG8uZSg0OTU4OCksby5lKDQ3NjMyKSxvLmUoNzQzODEpLG8uZSgxNTUyNiksby5lKDcxNDE0KSxvLmUoNjE4MjEpLG8uZSg1NDY4MSksby5lKDY2MjcwKSxvLmUoMzE4MzcpLG8uZSg5NzQ0KSxvLmUoMjA5NzEpLG8uZSg0OTUxOCksby5lKDM3NzY3KSxvLmUoMTk1MTMpLG8uZSgzMjYzMiksby5lKDM1MTk4KSxvLmUoNDY1OTEpLG8uZSg5NDA1NCksby5lKDE1MDkpLG8uZSg3NjY1KSxvLmUoODA3MzEpLG8uZSg1NDMxMCksby5lKDM2MzU2KSxvLmUoNzg0NzEpLG8uZSgyNTY5OCksby5lKDMzMzY4KSxvLmUoOTUxNTgpLG8uZSgzMjM4Nyksby5lKDc1MDQpLG8uZSg0NDc4MCksby5lKDcwNzEyKSxvLmUoODc4NTgpLG8uZSg1OTYxOSksby5lKDk5ODI3KSxvLmUoODE4NjgpLG8uZSgyMzM2NCksby5lKDIzNzQzKSxvLmUoNDIyODgpLG8uZSg3NzU3OCksby5lKDQ4ODU0KSxvLmUoMTk0NjMpLG8uZSg4NjA4KV0pLnRoZW4oby5iaW5kKG8sOTEyMjk5KSk7YXdhaXQgaS5hdmFpbGFibGVPZmZlcnMuZW5zdXJlT2ZmZXJzKCksbmV3IHQuU3VwcG9ydERpYWxvZyhlKS5vcGVuKCl9fSw5ODM2MTYoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7bWFwS2V5Q29kZVRvRGlyZWN0aW9uOigpPT5jLG5hdmlnYXRpb25PcmRlckNvbXBhcmF0b3I6KCk9PnMscXVlcnlGb2N1c2FibGVFbGVtZW50czooKT0+bCxxdWVyeVRhYmJhYmxlRWxlbWVudHM6KCk9PmF9KTt2YXIgaSxuPW8oOTY5MTY4KSxyPW8oNjgyMzgxKTtmdW5jdGlvbiBzKGUsdCl7cmV0dXJuIGU9PT10PzA6ZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0KSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORz8tMToxfWZ1bmN0aW9uIGEoZSl7cmV0dXJuIEFycmF5LmZyb20oZS5xdWVyeVNlbGVjdG9yQWxsKCdidXR0b246bm90KDpkaXNhYmxlZCk6bm90KFthcmlhLWRpc2FibGVkPSJ0cnVlIiBpXSk6bm90KFt0YWJpbmRleD0iLTEiXSksIFt0YWJpbmRleF06bm90KFtkaXNhYmxlZF0pOm5vdChbYXJpYS1kaXNhYmxlZD0idHJ1ZSIgaV0pOm5vdChbdGFiaW5kZXg9Ii0xIl0pJykpLmZpbHRlcigoMCxyLmNyZWF0ZVNjb3BlZFZpc2libGVFbGVtZW50RmlsdGVyKShlKSl9ZnVuY3Rpb24gbChlKXtyZXR1cm4gQXJyYXkuZnJvbShlLnF1ZXJ5U2VsZWN0b3JBbGwoJ2J1dHRvbjpub3QoOmRpc2FibGVkKTpub3QoW2FyaWEtZGlzYWJsZWQ9InRydWUiIGldKTpub3QoW2FyaWEtZGlzYWJsZWQ9IiJdKSwgW3RhYmluZGV4XTpub3QoW2Rpc2FibGVkXSk6bm90KFthcmlhLWRpc2FibGVkPSJ0cnVlIiBpXSk6bm90KFthcmlhLWRpc2FibGVkPSIiXSknKSkuZmlsdGVyKCgwLHIuY3JlYXRlU2NvcGVkVmlzaWJsZUVsZW1lbnRGaWx0ZXIpKGUpKX1mdW5jdGlvbiBjKGUpe2NvbnN0IHQ9KDAsbi5pc1J0bCkoKTtzd2l0Y2goZSl7Y2FzZSAzODpyZXR1cm4iYmxvY2tQcmV2IjtjYXNlIDQwOnJldHVybiJibG9ja05leHQiO2Nhc2UgMzc6cmV0dXJuIHQ/ImlubGluZU5leHQiOiJpbmxpbmVQcmV2IjtjYXNlIDM5OnJldHVybiB0PyJpbmxpbmVQcmV2IjoiaW5saW5lTmV4dCI7ZGVmYXVsdDpyZXR1cm4gbnVsbH19IWZ1bmN0aW9uKGUpe2UuQmxvY2tQcmV2PSJibG9ja1ByZXYiLGUuQmxvY2tOZXh0PSJibG9ja05leHQiLGUuSW5saW5lUHJldj0iaW5saW5lUHJldiIsZS5JbmxpbmVOZXh0PSJpbmxpbmVOZXh0In0oaXx8KGk9e30pKX0sMzg5ODQ0KGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtyZXR1cm4gbigpPzA6cigpPzQ1Ok1hdGgubWluKE1hdGgubWF4KGUsNDUpLDQ1MCl9by5kKHQse2dldFdpZGdldEJhclBhZGRpbmc6KCk9Pml9KTtjb25zdCBuPSgpPT4hd2luZG93Lm1hdGNoTWVkaWEoIihtaW4td2lkdGg6IDc2OHB4KSIpLm1hdGNoZXMscj0oKT0+IXdpbmRvdy5tYXRjaE1lZGlhKCIobWluLXdpZHRoOiAxMjgwcHgpIikubWF0Y2hlc30sNzEyMTM0KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0xJU1RfQ09MT1JTOigpPT51LExpc3RDb2xvcjooKT0+aSxjaGFuZ2VEZXNjcmlwdGlvbjooKT0+QyxjcmVhdGVDcm9zc1RhYlN5bmNNaWRkbGV3YXJlOigpPT5NLGdldENvbW1hbmRzOigpPT5MLGdldExpc3RCeUNvbG9yOigpPT5SLGdldFN5bWJvbENvbG9yOigpPT5JLGdldFN5bWJvbHNCeUNvbG9yOigpPT5GLGdldFRpbWVzdGFtcDooKT0+RCxpc0xpc3RDb2xvcjooKT0+XyxtYXJrTWFueTooKT0+ZixyZWR1Y2VyOigpPT5BLHJlbW92ZTooKT0+UyxyZW5hbWU6KCk9PncscmVuYW1lU2VwYXJhdG9yOigpPT5rLHJlc2V0OigpPT5iLHNldHVwOigpPT55LHNoaWZ0Q29tbWFuZDooKT0+VCx1cGRhdGVQZXJzaXN0ZWRTdGF0ZTooKT0+eH0pO3ZhciBpLG49bygxMzA2OTkpLHI9bygzMjcyMzkpLHM9bygxMzg2MzgpLGE9byg0MzMyMCksbD1vKDI5NTIzNSksYz1vKDYxMjQ0NiksZD1vKDkwMTAyMiksaD1vKDk3MzUyNCk7IWZ1bmN0aW9uKGUpe2UuUmVkPSJyZWQiLGUuQmx1ZT0iYmx1ZSIsZS5HcmVlbj0iZ3JlZW4iLGUuT3JhbmdlPSJvcmFuZ2UiLGUuUHVycGxlPSJwdXJwbGUiLGUuQ3lhbj0iY3lhbiIsZS5QaW5rPSJwaW5rIn0oaXx8KGk9e30pKTtjb25zdCB1PVtpLlJlZCxpLkJsdWUsaS5HcmVlbixpLk9yYW5nZSxpLlB1cnBsZSxpLkN5YW4saS5QaW5rXTtmdW5jdGlvbiBfKGUpe3JldHVybiBuZXcgU2V0KHUpLmhhcyhlKX1jb25zdCBwPXtsaXN0czp7Y29sb3JzOltdLGJ5Q29sb3I6e30sYnlTeW1ib2w6e319LGNvbW1hbmRzOltdLHRpbWVzdGFtcDpudWxsfTtmdW5jdGlvbiBtKGUsdCl7CmNvbnN0e2xpc3RzOm99PWUsaT1vLmJ5Q29sb3JbdF07aSYmMD09PWkuc3ltYm9scy5sZW5ndGgmJihvLmNvbG9ycz1vLmNvbG9ycy5maWx0ZXIoKGU9PmUhPT10KSkpfWZ1bmN0aW9uIGcoZSl7cmV0dXJuKDAsZC5pc1NlcGFyYXRvckl0ZW0pKGUpfWNvbnN0IHY9KDAsbi5jcmVhdGVTbGljZSkoe25hbWU6Im1hcmtlZC1saXN0cyIsaW5pdGlhbFN0YXRlOnAscmVkdWNlcnM6e3NldHVwOihlLHQpPT57Y29uc3R7bGlzdHM6byx0aW1lc3RhbXA6aX09dC5wYXlsb2FkLG49e2xpc3RzOntjb2xvcnM6W10sYnlDb2xvcjp7fSxieVN5bWJvbDp7fX0sY29tbWFuZHM6W10sdGltZXN0YW1wOm51bGx9O24udGltZXN0YW1wPWk7Zm9yKGNvbnN0IGUgb2YgZnVuY3Rpb24oZSx0KXtyZXR1cm5bLi4uZV0uc29ydCgoKGUsbyk9PnQuaW5kZXhPZihlLmNvbG9yKS10LmluZGV4T2Yoby5jb2xvcikpKX0obyx1KSl7Y29uc3QgdD1lLnN5bWJvbHMuZmlsdGVyKCh0PT52b2lkIDA9PT1uLmxpc3RzLmJ5U3ltYm9sW3RdJiYoZyh0KXx8KG4ubGlzdHMuYnlTeW1ib2xbdF09ZS5jb2xvciksITApKSk7bi5saXN0cy5ieUNvbG9yW2UuY29sb3JdPXtjb2xvcjplLmNvbG9yLG5hbWU6ZS5uYW1lLGRlc2NyaXB0aW9uOmUuZGVzY3JpcHRpb24sc2hhcmVkOmUuc2hhcmVkLHN5bWJvbHM6dCxwZXJzaXN0ZWRTdGF0ZTplLnBlcnNpc3RlZFN0YXRlfSx0Lmxlbmd0aD4wJiZuLmxpc3RzLmNvbG9ycy5wdXNoKGUuY29sb3IpfXJldHVybiBufSxyZW1vdmU6KGUsdCk9Pntjb25zdHtjb2xvcjpvLHN5bWJvbHM6aSxzaWxlbnQ6bn09dC5wYXlsb2FkLHtsaXN0czphLGNvbW1hbmRzOmx9PWUsZD1hLmJ5Q29sb3Jbb107aWYodm9pZCAwPT09ZHx8MD09PWQuc3ltYm9scy5sZW5ndGgpcmV0dXJuO2NvbnN0IGg9bmV3IFNldChpKSx1PWQuc3ltYm9scy5maWx0ZXIoKGU9PiFoLmhhcyhlKSkpO2lmKCEoMCxjLmVxdWFsQXJyYXlzKSh1LGQuc3ltYm9scykpe2Quc3ltYm9scz11O2Zvcihjb25zdCBlIG9mIGgpZGVsZXRlIGEuYnlTeW1ib2xbZV07bnx8bC5wdXNoKHt0eXBlOiJyZW1vdmUiLGNvbG9yOm8sc3ltYm9sczpbLi4uaF0scHJldkxpc3RzOigwLHMuZW5zdXJlRGVmaW5lZCkoKDAsci5vcmlnaW5hbCkoZSkpLmxpc3RzfSksbShlLG8pfX0sbWFya01hbnk6KGUsdCk9Pntjb25zdHtjb2xvcjpvLGJlZm9yZTppLHNpbGVudDpufT10LnBheWxvYWQse2xpc3RzOmEsY29tbWFuZHM6bH09ZSx7dW5pcXVlOmQsZXhjbHVzaW9uczp1fT1mdW5jdGlvbihlLHQpe2NvbnN0e2NvbG9yOm8sc3ltYm9sczppLHNlcGFyYXRvcnM6bn09dC5wYXlsb2FkLHtsaXN0czpyfT1lLGE9e30sbD1uZXcgU2V0LGM9ZT0+ZyhlKT8oKDAscy5hc3NlcnQpKG51bGwhPT1vKSxvKTpyLmJ5U3ltYm9sW2VdO2ZvcihsZXQgZT0wO2U8aS5sZW5ndGg7KytlKXtjb25zdCB0PWlbZV07aWYobC5oYXModCl8fGcodCkmJiFuKWNvbnRpbnVlO2wuYWRkKHQpO2NvbnN0IG89Yyh0KTt2b2lkIDAhPT1vJiYoYVtvXT1hW29dPz9uZXcgU2V0KS5hZGQodCl9cmV0dXJue2V4Y2x1c2lvbnM6YSx1bmlxdWU6bH19KGUsdCk7aWYoMD09PWQuc2l6ZSlyZXR1cm47Y29uc3QgXz1mdW5jdGlvbihlLHQsbyxpKXtjb25zdHtjb2xvcjpuLGJlZm9yZTpyfT10LnBheWxvYWQse2xpc3RzOnN9PWU7bGV0IGE7aWYobnVsbCE9PW4mJnZvaWQgMCE9PXImJm8uaGFzKHIpKXtjb25zdCBlPXMuYnlDb2xvcltuXTtpZih2b2lkIDAhPT1lKXthPWk7Zm9yKGxldCB0PWUuc3ltYm9scy5pbmRleE9mKHIpO3Q+PTA7LS10KWlmKCFvLmhhcyhlLnN5bWJvbHNbdF0pKXthPWUuc3ltYm9sc1t0XTticmVha319fXJldHVybiBhfShlLHQsZCxoLkxJU1RfU1RBUlQpO2lmKG51bGwhPT1vJiZ2b2lkIDAhPT11W29dJiYxPT09T2JqZWN0LmtleXModSkubGVuZ3RoKXtjb25zdCB0PWEuYnlDb2xvcltvXTsoMCxzLmFzc2VydCkodm9pZCAwIT09dCk7Y29uc3QgcD10LnN5bWJvbHMuZmlsdGVyKChlPT4hZC5oYXMoZSkpKSx2PSgwLGguZ2V0VGFyZ2V0SW5kZXgpKHAsaSxfKTtpZih2b2lkIDA9PT12P3AucHVzaCguLi5kKTpwLnNwbGljZSh2LDAsLi4uZCksKDAsYy5lcXVhbEFycmF5cykocCx0LnN5bWJvbHMpKXJldHVybjt7Y29uc3QgaT11W29dOygwLHMuYXNzZXJ0KSh2b2lkIDAhPT1pKSx0LnN5bWJvbHM9cDtmb3IoY29uc3QgZSBvZiBpKWRlbGV0ZSBhLmJ5U3ltYm9sW2VdO2Zvcihjb25zdCBlIG9mIGQpZyhlKXx8KGEuYnlTeW1ib2xbZV09byk7cmV0dXJuIG0oZSxvKSx2b2lkKG58fGwucHVzaCh7dHlwZToicmVwbGFjZSIsY29sb3I6byxzeW1ib2xzOlsuLi50LnN5bWJvbHNdLHByZXZMaXN0czooMCxzLmVuc3VyZURlZmluZWQpKCgwLHIub3JpZ2luYWwpKGUpKS5saXN0c30pKX19Zm9yKGNvbnN0IHQgaW4gdSl7aWYoIXUuaGFzT3duUHJvcGVydHkodCkpY29udGludWU7Y29uc3Qgbz11W3RdOygwLHMuYXNzZXJ0KSh2b2lkIDAhPT1vKTtjb25zdCBpPWEuYnlDb2xvclt0XTsoMCxzLmFzc2VydCkodm9pZCAwIT09aSksaS5zeW1ib2xzPWkuc3ltYm9scy5maWx0ZXIoKGU9PiFvLmhhcyhlKXx8KGRlbGV0ZSBhLmJ5U3ltYm9sW2VdLCExKSkpLG0oZSx0KX1pZihudWxsPT09bylyZXR1cm4gdm9pZChufHxsLnB1c2goe3R5cGU6InJlc2V0IixzeW1ib2xzOlsuLi5kXSxwcmV2TGlzdHM6KDAscy5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KSk7Y29uc3QgcD1hLmJ5Q29sb3Jbb107aWYoYS5jb2xvcnMuaW5jbHVkZXMobykpeygwLHMuYXNzZXJ0KSh2b2lkIDAhPT1wKTtjb25zdCB0PSgwLGguZ2V0VGFyZ2V0SW5kZXgpKHAuc3ltYm9scyxpLF8pO3ZvaWQgMD09PXQ/KHAuc3ltYm9scy5wdXNoKC4uLmQpLG58fCh2b2lkIDA9PT11W29dP2wucHVzaCh7dHlwZToiYXBwZW5kIixjb2xvcjpvLHN5bWJvbHM6Wy4uLmRdLHByZXZMaXN0czooMCxzLmVuc3VyZURlZmluZWQpKCgwLHIub3JpZ2luYWwpKGUpKS5saXN0c30pOmwucHVzaCh7dHlwZToicmVwbGFjZSIsY29sb3I6byxzeW1ib2xzOlsuLi5wLnN5bWJvbHNdLHByZXZMaXN0czooMCxzLmVuc3VyZURlZmluZWQpKCgwLApyLm9yaWdpbmFsKShlKSkubGlzdHN9KSkpOihwLnN5bWJvbHMuc3BsaWNlKHQsMCwuLi5kKSxufHxsLnB1c2goe3R5cGU6InJlcGxhY2UiLGNvbG9yOm8sc3ltYm9sczpbLi4ucC5zeW1ib2xzXSxwcmV2TGlzdHM6KDAscy5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KSl9ZWxzZSB2b2lkIDA9PT1wP2EuYnlDb2xvcltvXT17Y29sb3I6byxzeW1ib2xzOlsuLi5kXSxuYW1lOm51bGwsZGVzY3JpcHRpb246bnVsbCxzaGFyZWQ6ITEscGVyc2lzdGVkU3RhdGU6bnVsbH06cC5zeW1ib2xzPVsuLi5kXSxhLmNvbG9ycy5wdXNoKG8pLG58fGwucHVzaCh7dHlwZToiYXBwZW5kIixjb2xvcjpvLHN5bWJvbHM6Wy4uLmRdLHByZXZMaXN0czooMCxzLmVuc3VyZURlZmluZWQpKCgwLHIub3JpZ2luYWwpKGUpKS5saXN0c30pO2Zvcihjb25zdCBlIG9mIGQpZyhlKXx8KGEuYnlTeW1ib2xbZV09byl9LHJlbmFtZVNlcGFyYXRvcjooZSx0KT0+e2NvbnN0e2NvbG9yOm8sc2VwYXJhdG9yOmksbmFtZTpuLHNpbGVudDphfT10LnBheWxvYWQ7aWYoaT09PW58fCFnKGkpfHwhZyhuKSlyZXR1cm47Y29uc3QgbD1lLmxpc3RzLmJ5Q29sb3Jbb107KDAscy5hc3NlcnQpKHZvaWQgMCE9PWwpO2NvbnN0IGM9bC5zeW1ib2xzLmluZGV4T2YoaSk7LTEhPT1jJiYtMT09PWwuc3ltYm9scy5pbmRleE9mKG4pJiYobC5zeW1ib2xzLnNwbGljZShjLDEsbiksYXx8ZS5jb21tYW5kcy5wdXNoKHt0eXBlOiJyZW5hbWUtc2VwYXJhdG9yIixjb2xvcjpvLHNlcGFyYXRvcjppLG5hbWU6bixwcmV2TGlzdHM6KDAscy5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KSl9LHJlbmFtZTooZSx0KT0+e2NvbnN0e25hbWU6byxjb2xvcjppLHNpbGVudDpufT10LnBheWxvYWQsYT1lLmxpc3RzLmJ5Q29sb3JbaV07KDAscy5hc3NlcnQpKHZvaWQgMCE9PWEpLGEubmFtZSE9PW8mJihhLm5hbWU9byxufHxlLmNvbW1hbmRzLnB1c2goe3R5cGU6InJlbmFtZSIsY29sb3I6aSxuYW1lOm8scHJldkxpc3RzOigwLHMuZW5zdXJlRGVmaW5lZCkoKDAsci5vcmlnaW5hbCkoZSkpLmxpc3RzfSkpfSxjaGFuZ2VEZXNjcmlwdGlvbjooZSx0KT0+e2NvbnN0e2NvbG9yOm8sZGVzY3JpcHRpb246aSxzaWxlbnQ6bn09dC5wYXlsb2FkLGE9ZS5saXN0cy5ieUNvbG9yW29dOygwLHMuYXNzZXJ0KSh2b2lkIDAhPT1hKSxhLmRlc2NyaXB0aW9uIT09aSYmKGEuZGVzY3JpcHRpb249aSxufHxlLmNvbW1hbmRzLnB1c2goe3R5cGU6ImNoYW5nZS1kZXNjcmlwdGlvbiIsY29sb3I6byxkZXNjcmlwdGlvbjppLHByZXZMaXN0czooMCxzLmVuc3VyZURlZmluZWQpKCgwLHIub3JpZ2luYWwpKGUpKS5saXN0c30pKX0scmVzZXQ6KGUsdCk9Pntjb25zdHtzaWxlbnQ6b309dC5wYXlsb2FkLHtsaXN0czppfT1lO2Zvcihjb25zdCBlIG9mIHUpe2NvbnN0IHQ9aS5ieUNvbG9yW2VdO3ZvaWQgMCE9PXQmJih0LnN5bWJvbHM9W10pfWkuY29sb3JzPVtdLGkuYnlTeW1ib2w9e30sb3x8ZS5jb21tYW5kcy5wdXNoKHt0eXBlOiJyZXNldC1hbGwiLHByZXZMaXN0czooMCxzLmVuc3VyZURlZmluZWQpKCgwLHIub3JpZ2luYWwpKGUpKS5saXN0c30pfSxzaGFyZTooZSx0KT0+e2NvbnN0e2xpc3RzOm8sY29tbWFuZHM6aX09ZSx7c2hhcmVkOm4sY29sb3I6YSxzaWxlbnQ6bH09dC5wYXlsb2FkLGM9by5ieUNvbG9yW2FdO3ZvaWQgMCE9PWMmJmMuc2hhcmVkIT09biYmKGMuc2hhcmVkPW4sbHx8aS5wdXNoKHt0eXBlOiJzaGFyZSIsY29sb3I6YSxzaGFyZWQ6bixwcmV2TGlzdHM6KDAscy5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KSl9LHVwZGF0ZVBlcnNpc3RlZFN0YXRlOihlLHQpPT57Y29uc3R7bGlzdHM6b309ZTtmb3IoY29uc3QgZSBvZiB1KXtjb25zdCBpPW8uYnlDb2xvcltlXSxuPXQucGF5bG9hZFtlXTt2b2lkIDAhPT1pJiZpLnBlcnNpc3RlZFN0YXRlJiZuJiYoaS5wZXJzaXN0ZWRTdGF0ZT17Li4uaS5wZXJzaXN0ZWRTdGF0ZSwuLi5ufSl9fSxzaGlmdENvbW1hbmQ6KGUsdCk9Pntjb25zdHtjb3VudDpvfT10LnBheWxvYWQ7ZS5jb21tYW5kcy5zcGxpY2UoMCxvKX19fSkse21hcmtNYW55OmYsc2V0dXA6eSxyZXNldDpiLHJlbW92ZTpTLHJlbmFtZTp3LGNoYW5nZURlc2NyaXB0aW9uOkMscmVuYW1lU2VwYXJhdG9yOmssc2hpZnRDb21tYW5kOlQsc2hhcmU6RSx1cGRhdGVQZXJzaXN0ZWRTdGF0ZTp4fT12LmFjdGlvbnMse3JlZHVjZXI6QX09djtmdW5jdGlvbiBNKGUsdCxvPXYpe3JldHVybigwLGEuY3JlYXRlQ3Jvc3NUYWJTeW5jTWlkZGxld2FyZSkoe2lkOmUsY2hhbm5lbDp0LGV2ZW50OiJtYXJrZWQtbGlzdC1jcm9zcy10YWItc3luYyIsZmlsdGVyOmU9PmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQuYWN0aW9ucy5tYXJrTWFueS5tYXRjaChlKXx8dC5hY3Rpb25zLnJlbmFtZS5tYXRjaChlKXx8dC5hY3Rpb25zLmNoYW5nZURlc2NyaXB0aW9uLm1hdGNoKGUpfHx0LmFjdGlvbnMucmVtb3ZlLm1hdGNoKGUpfHx0LmFjdGlvbnMuc2V0dXAubWF0Y2goZSl8fHQuYWN0aW9ucy5yZW5hbWVTZXBhcmF0b3IubWF0Y2goZSl8fHQuYWN0aW9ucy5yZXNldC5tYXRjaChlKXx8dC5hY3Rpb25zLnNoYXJlLm1hdGNoKGUpfHx0LmFjdGlvbnMudXBkYXRlUGVyc2lzdGVkU3RhdGUubWF0Y2goZSl9KGUsbyl9KX1mdW5jdGlvbiBJKGUsdCl7cmV0dXJuIGUubGlzdHMuYnlTeW1ib2xbbC5xdWFsaWZpZWQuY2FzdCh0KV0/P251bGx9ZnVuY3Rpb24gUihlLHQpe3JldHVybiBlLmxpc3RzLmJ5Q29sb3JbdF0/P251bGx9ZnVuY3Rpb24gRihlLHQpe3JldHVybiBSKGUsdCk/LnN5bWJvbHM/P251bGx9ZnVuY3Rpb24gTChlKXtyZXR1cm4gZS5jb21tYW5kc31mdW5jdGlvbiBEKGUpe3JldHVybiBlLnRpbWVzdGFtcH19LDUxODc1KGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtlLnByZXZlbnREZWZhdWx0KCl9by5kKHQse3ByZXZlbnREZWZhdWx0OigpPT5pLHByZXZlbnREZWZhdWx0Rm9yQ29udGV4dE1lbnU6KCk9PnJ9KQo7Y29uc3Qgbj1bImlucHV0Om5vdChbdHlwZV0pIiwnaW5wdXRbdHlwZT0idGV4dCJdJywnaW5wdXRbdHlwZT0iZW1haWwiXScsJ2lucHV0W3R5cGU9InBhc3N3b3JkIl0nLCdpbnB1dFt0eXBlPSJzZWFyY2giXScsJ2lucHV0W3R5cGU9Im51bWJlciJdJywnaW5wdXRbdHlwZT0idXJsIl0nLCJ0ZXh0YXJlYSIsImFbaHJlZl0iLCcqW2NvbnRlbnRlZGl0YWJsZT0idHJ1ZSJdJywiW2RhdGEtYWxsb3ctY29udGV4dC1tZW51XSJdO2Z1bmN0aW9uIHIoZSl7Y29uc3QgdD1lLnRhcmdldDt0JiYhdC5jbG9zZXN0KG4uam9pbigiLCAiKSkmJmUucHJldmVudERlZmF1bHQoKX19LDYxNjMxMShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHt1c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0OigpPT5ufSk7dmFyIGk9byg3Nzk0NzQpO2Z1bmN0aW9uIG4oZSx0KXsoInVuZGVmaW5lZCI9PXR5cGVvZiB3aW5kb3c/aS51c2VFZmZlY3Q6aS51c2VMYXlvdXRFZmZlY3QpKGUsdCl9fSw3NjI4NTEoZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUpe3JldHVybiBlKyLigKYifW8uZCh0LHthcHBlbmRFbGxpcHNpczooKT0+aX0pfSwxMzg2MzgoZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUsdCl7aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJBc3NlcnRpb24gZmFpbGVkIisodD9gOiAke3R9YDoiIikpfWZ1bmN0aW9uIG4oZSx0KXtpZih2b2lkIDA9PT1lKXRocm93IG5ldyBFcnJvcihgJHt0Pz8iVmFsdWUifSBpcyB1bmRlZmluZWRgKTtyZXR1cm4gZX1mdW5jdGlvbiByKGUsdCl7aWYobnVsbD09PWUpdGhyb3cgbmV3IEVycm9yKGAke3Q/PyJWYWx1ZSJ9IGlzIG51bGxgKTtyZXR1cm4gZX1mdW5jdGlvbiBzKGUsdCl7cmV0dXJuIHIobihlLHQpLHQpfW8uZCh0LHthc3NlcnQ6KCk9PmksZW5zdXJlOigpPT5zLGVuc3VyZURlZmluZWQ6KCk9Pm4sZW5zdXJlTm90TnVsbDooKT0+cn0pfSwyMTQ5ODcoZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUpe2xldCB0PW51bGw7cmV0dXJuKG8sLi4uaSk9Pih0Py5hYm9ydCgpLHQ9bmV3IEFib3J0Q29udHJvbGxlcixvPy5hYm9ydGVkP3QuYWJvcnQoKTpvPy5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsKCgpPT50Py5hYm9ydCgpKSx7b25jZTohMH0pLGUodC5zaWduYWwsLi4uaSkpfWZ1bmN0aW9uIG4oZSl7aWYoIWwoZSkpdGhyb3cgZX1mdW5jdGlvbiByKGUpe2lmKGwoZSkpdGhyb3cgZX1mdW5jdGlvbiBzKGUpe3JldHVybiBlPy5hYm9ydGVkP1Byb21pc2UucmVqZWN0KGEoKSk6bmV3IFByb21pc2UoKCh0LG8pPT57ZT8uYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLCgoKT0+byhhKCkpKSx7b25jZTohMH0pfSkpfWZ1bmN0aW9uIGEoKXtyZXR1cm4gbmV3IERPTUV4Y2VwdGlvbigiQWJvcnRlZCIsIkFib3J0RXJyb3IiKX1mdW5jdGlvbiBsKGUpe3JldHVybiBlIGluc3RhbmNlb2YgRXJyb3ImJiJBYm9ydEVycm9yIj09PWUubmFtZXx8Im9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmIm5hbWUiaW4gZSYmIkFib3J0RXJyb3IiPT09ZS5uYW1lfWZ1bmN0aW9uIGMoZSx0KXtyZXR1cm4gUHJvbWlzZS5yYWNlKFtzKGUpLHRdKX1hc3luYyBmdW5jdGlvbiBkKGUsdCl7bGV0IG87dHJ5e2F3YWl0IGMoZSxuZXcgUHJvbWlzZSgoZT0+e289c2V0VGltZW91dChlLHQpfSkpKX1maW5hbGx5e2NsZWFyVGltZW91dChvKX19by5kKHQse2NyZWF0ZUFib3J0RXJyb3I6KCk9PmEsZGVsYXk6KCk9PmQsaXNBYm9ydEVycm9yOigpPT5sLHJlc3BlY3RBYm9ydDooKT0+YyxyZXNwZWN0TGF0ZXN0OigpPT5pLHJldGhyb3dBYm9ydEVycm9yOigpPT5yLHNraXBBYm9ydEVycm9yOigpPT5ufSl9LDk2NDQ4NihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtkZWVwRXh0ZW5kOigpPT5ufSk7Y29uc3QgaT1uZXcgU2V0KFsiX19wcm90b19fIiwicHJvdG90eXBlIiwiY29uc3RydWN0b3IiXSk7ZnVuY3Rpb24gbihlLC4uLnQpe3JldHVybiBlJiYib2JqZWN0Ij09dHlwZW9mIGU/KDA9PT10Lmxlbmd0aHx8dC5mb3JFYWNoKCh0PT57bnVsbCE9dCYmIm9iamVjdCI9PXR5cGVvZiB0JiZPYmplY3Qua2V5cyh0KS5mb3JFYWNoKChvPT57aWYoZnVuY3Rpb24oZSl7cmV0dXJuIGkuaGFzKGUpfShvKSlyZXR1cm47Y29uc3Qgcz1lW29dLGE9dFtvXTtpZihhPT09ZSlyZXR1cm47Y29uc3QgbD1BcnJheS5pc0FycmF5KGEpO2lmKGEmJihyKGEpfHxsKSl7bGV0IHQ7dD1sP3MmJkFycmF5LmlzQXJyYXkocyk/czpbXTpzJiZyKHMpP3M6e30sZVtvXT1uKHQsYSl9ZWxzZSB2b2lkIDAhPT1hJiYoZVtvXT1hKX0pKX0pKSxlKTplfWZ1bmN0aW9uIHIoZSl7aWYoIWV8fCJbb2JqZWN0IE9iamVjdF0iIT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpKXJldHVybiExO2NvbnN0IHQ9T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpO2lmKCF0KXJldHVybiEwO2NvbnN0IG89T2JqZWN0Lmhhc093blByb3BlcnR5LnRvU3RyaW5nLGk9dC5oYXNPd25Qcm9wZXJ0eSgiY29uc3RydWN0b3IiKSYmdC5jb25zdHJ1Y3RvcjtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgaSYmby5jYWxsKGkpPT09by5jYWxsKE9iamVjdCl9fSw2Mzg1NzEoZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUsdCl7Y29uc3Qgbz1uZXcgTWFwO3JldHVybiBmdW5jdGlvbiguLi5pKXtjb25zdCBuPSIiKyh0P3QuYXBwbHkobnVsbCxpKTppWzBdKTtpZighby5oYXMobikpe2NvbnN0IHQ9ZS5hcHBseSh0aGlzLGkpO3JldHVybiBvLnNldChuLHQpLHR9cmV0dXJuIG8uZ2V0KG4pfX1vLmQodCx7bWVtb2l6ZTooKT0+aX0pfSw1NDA1NzgoZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUpe3JldHVybiBlLnJlcGxhY2UoL1stL1xcXiQqKz8uKCl8W1xde31dL2csIlxcJCYiKX1vLmQodCx7cmVnRXhwRXNjYXBlOigpPT5pfSl9LDExNTI5MyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtmb3JjZUxUUlN0cjooKT0+aCxnZXRMVFJTY3JvbGxMZWZ0OigpPT51LGlzUnRsOigpPT5zLHNldERvY3VtZW50RGlyR2V0dGVyOigpPT5yLHN0cmlwTFRSTWFya3M6KCk9PmR9KTt2YXIgaT1vKDMyMDQwMyk7bGV0IG49KCk9Pm51bGwKO2Z1bmN0aW9uIHIoZSl7bj1lfWNvbnN0IHM9KCk9PiJydGwiPT09ZnVuY3Rpb24oKXtjb25zdCBlPW4oKTtpZihudWxsPT09ZSl0aHJvdyBuZXcgRXJyb3IoIkRvY3VtZW50IGRpcmVjdGlvbiBnZXR0ZXIgaXMgbm90IHNldCwgY2FsbCBzZXREb2N1bWVudERpckdldHRlciB0byBzZXQgaXQiKTtyZXR1cm4gZX0oKSxhPSLigKoiLGw9IuKArCIsYz1uZXcgUmVnRXhwKCLigI584oCPfOKAqnzigKt84oCsIiwiZyIpO2Z1bmN0aW9uIGQoZSl7cmV0dXJuIiIhPT1lJiZzKCkmJm51bGwhPWU/ZS5yZXBsYWNlKGMsIiIpOmV9ZnVuY3Rpb24gaChlKXtyZXR1cm4iIiE9PWUmJnMoKSYmbnVsbCE9ZT9hK2UrbDplfWZ1bmN0aW9uIHUoZSl7cmV0dXJuKDAsaS5nZXROb3JtYWxpemVkU2Nyb2xsTGVmdCkoZSwicnRsIil9dmFyIF87IWZ1bmN0aW9uKGUpe2UuTFRSPSJsdHIiLGUuUlRMPSJydGwiLGUuVU5LTk9XTj0iIn0oX3x8KF89e30pKX0sNTM1MzAoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7Z2V0TWluVGlja0RhdGE6KCk9PmwsbWFrZVZhcmlhYmxlTWluVGlja0RhdGE6KCk9PmR9KTt2YXIgaT1vKDcxMjc0NSksbj1vKDYwMTg0MSkscj1vKDUzNDQ0MCkscz1vKDY0MDc0NCk7ZnVuY3Rpb24gYShlKXtyZXR1cm4gZT8oMCxpLkJpZykoZS5taW5Nb3ZlKS5kaXYoZS5wcmljZVNjYWxlKS50b051bWJlcigpOk5hTn1mdW5jdGlvbiBsKGUpe2NvbnN0e21pblRpY2s6dCxwcmljZTpvLHZhcmlhYmxlTWluVGlja0RhdGE6aSxzaG91bGRDaGVja0ZvckVxdWFsaXR5OnJ9PWUscz0oMCxuLmlzTnVtYmVyKSh0KT9jKHQpOnQ7cmV0dXJuIHZvaWQgMD09PWk/czpmdW5jdGlvbihlLHQsbz0hMSl7Zm9yKGxldCBpPTA7aTx0Lmxlbmd0aDtpKyspe2lmKGU8dFtpXS5wcmljZSlyZXR1cm4gdFtpXS5taW5UaWNrO2lmKG8mJmU9PT10W2ldLnByaWNlKXJldHVybiB0W2ldLm1pblRpY2t9cmV0dXJuIHRbdC5sZW5ndGgtMV0ubWluVGlja30obyxpLHIpfWZ1bmN0aW9uIGMoZSl7Y29uc3QgdD0oMCxyLm51bU9mRGVjaW1hbFBsYWNlcykoZSksbz1NYXRoLnBvdygxMCx0KTtyZXR1cm57cHJpY2VTY2FsZTpvLG1pbk1vdmU6KDAsaS5CaWcpKGUpLm11bChvKS50b051bWJlcigpfX1mdW5jdGlvbiBkKGUsdCl7Y29uc3Qgbz1be21pblRpY2s6KDAsbi5pc051bWJlcikoZSk/YyhlKTplLHByaWNlOjEvMCxtYXhJbmRleDoxLzB9XTt0cnl7Y29uc3QgZT10LnNwbGl0KCIgIikubWFwKCgoZSx0KT0+KDAscy5pc0V2ZW4pKHQpP2Z1bmN0aW9uKGUpe2NvbnN0IHQ9TnVtYmVyKGUpO2lmKE51bWJlci5pc0Zpbml0ZSh0KSlyZXR1cm4gYyh0KTt7Y29uc3QgdD1lLnNwbGl0KCIvIik7aWYodC5sZW5ndGg8Mnx8dC5sZW5ndGg+Myl0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgbWludGljazogJHtlfWApO2NvbnN0IG89TnVtYmVyKHRbMV0pLGk9TnVtYmVyKHRbMF0pO2lmKCFOdW1iZXIuaXNGaW5pdGUobyl8fCFOdW1iZXIuaXNGaW5pdGUoaSkpdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIG1pbnRpY2s6ICR7ZX1gKTtjb25zdCBuPTM9PT10Lmxlbmd0aD9OdW1iZXIodFsyXSk6dm9pZCAwO2lmKHZvaWQgMCE9PW4mJiFOdW1iZXIuaXNGaW5pdGUobikpdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIG1pbnRpY2s6ICR7ZX1gKTtjb25zdCByPXtwcmljZVNjYWxlOm8sbWluTW92ZTppfTtyZXR1cm4gdm9pZCAwIT09biYmKHIubWluTW92ZTI9bikscn19KGUpOmZ1bmN0aW9uKGUpe2NvbnN0IHQ9TnVtYmVyKGUpO2lmKE51bWJlci5pc05hTih0KSl0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgcHJpY2UgbGltaXQ6ICR7ZX1gKTtyZXR1cm4gdH0oZSkpKTtpZigoMCxzLmlzRXZlbikoZS5sZW5ndGgpKXRocm93IG5ldyBFcnJvcigiVGhlbWUgbXVzdCBub3QgYmUgZXZlbnQgbnVtYmVyIG9mIGVsZW1lbnRzIik7Y29uc3Qgbz1bXTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrPTIpe2NvbnN0IG49ZVt0KzFdPz8xLzAscj1vW28ubGVuZ3RoLTFdPy5wcmljZT8/MCxzPW9bby5sZW5ndGgtMV0/Lm1heEluZGV4Pz8wLGw9bj09PTEvMD8xLzA6bmV3IGkuQmlnKG4pLm1pbnVzKHIpLmRpdihhKGVbdF0pKS5wbHVzKHMpLnRvTnVtYmVyKCk7by5wdXNoKHttaW5UaWNrOmVbdF0scHJpY2U6bixtYXhJbmRleDpsfSl9cmV0dXJuIG99Y2F0Y2h7cmV0dXJuIG99fX0sNDkxMTY1KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2RhdGVGb3JtYXRGdW5jdGlvbnM6KCk9PmYsZ2V0RGF0ZUZvcm1hdFdpdGhXZWVrZGF5OigpPT55fSk7dmFyIGk9byg3ODMyNTQpLG49byg4MjI0MzEpLHI9byg4NTYzMjQpO2NvbnN0IHM9ezE6KCk9PmkudChudWxsLHZvaWQgMCxvKDY1NzM3NCkpLDI6KCk9PmkudChudWxsLHZvaWQgMCxvKDYxNzM0MSkpLDM6KCk9PmkudChudWxsLHZvaWQgMCxvKDEwMzMwNSkpLDQ6KCk9PmkudChudWxsLHZvaWQgMCxvKDUyNjc4NSkpLDU6KCk9PmkudChudWxsLHtjb250ZXh0OiJzaG9ydCJ9LG8oNzM0NzUwKSksNjooKT0+aS50KG51bGwsdm9pZCAwLG8oODc3NDUpKSw3OigpPT5pLnQobnVsbCx2b2lkIDAsbygxODM5NTkpKSw4OigpPT5pLnQobnVsbCx2b2lkIDAsbyg5Mzc2MikpLDk6KCk9PmkudChudWxsLHZvaWQgMCxvKDE3ODQ2OSkpLDEwOigpPT5pLnQobnVsbCx2b2lkIDAsbyg3MjgzMzcpKSwxMTooKT0+aS50KG51bGwsdm9pZCAwLG8oNjQ2NTQ1KSksMTI6KCk9PmkudChudWxsLHZvaWQgMCxvKDc2OTAzNikpfSxhPXsxOigpPT5pLnQobnVsbCx2b2lkIDAsbyg4OTc2NykpLDI6KCk9PmkudChudWxsLHZvaWQgMCxvKDk0ODkyMykpLDM6KCk9PmkudChudWxsLHZvaWQgMCxvKDM2NzkzNSkpLDQ6KCk9PmkudChudWxsLHZvaWQgMCxvKDE3NTUwNykpfSxsPShlLHQpPT4odD9lLmdldE1vbnRoKCk6ZS5nZXRVVENNb250aCgpKSsxLGM9KGUsdCk9PnQ/ZS5nZXREYXRlKCk6ZS5nZXRVVENEYXRlKCksZD0oZSx0KT0+dD9lLmdldEZ1bGxZZWFyKCk6ZS5nZXRVVENGdWxsWWVhcigpLGg9KGUsdCk9PmUudG9Mb2NhbGVEYXRlU3RyaW5nKCgwLHIuZ2V0TGFuZ3VhZ2UpKCk/KDAsci5tYXBMYW5ndWFnZUNvZGUpKCgwLApyLmdldExhbmd1YWdlKSgpKTp2b2lkIDAse3dlZWtkYXk6InNob3J0Iix0aW1lWm9uZToibG9jYWwiPT09dD92b2lkIDA6dH0pLHU9KGUsdCk9PmFbKChlLHQpPT5NYXRoLmZsb29yKChsKGUsdCktMSkvMykrMSkoZSx0KV0oKSxfPShlLHQpPT4oMCxuLm51bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvKShjKGUsdCksMikscD0oZSx0KT0+c1tsKGUsdCldKCksbT0oZSx0KT0+KDAsbi5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykobChlLHQpLDIpLGc9KGUsdCk9PigwLG4ubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGQoZSx0KSUxMDAsMiksdj0oZSx0KT0+KDAsbi5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoZChlLHQpLDQpLGY9eyJxcSAneXkiOihlLHQpPT5gJHt1KGUsdCl9ICcke2coZSx0KX1gLCJxcSB5eXl5IjooZSx0KT0+YCR7dShlLHQpfSAke3YoZSx0KX1gLCJkZCBNTU0gJ3l5IjooZSx0KT0+YCR7XyhlLHQpfSAke3AoZSx0KX0gJyR7ZyhlLHQpfWAsIk1NTSAneXkiOihlLHQpPT5gJHtwKGUsdCl9ICcke2coZSx0KX1gLCJNTU0gZGQsIHl5eXkiOihlLHQpPT5gJHtwKGUsdCl9ICR7XyhlLHQpfSwgJHt2KGUsdCl9YCwiTU1NIGQsIHl5eXkiOihlLHQpPT5gJHtwKGUsdCl9ICR7KChlLHQpPT4oMCxuLm51bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvKShjKGUsdCksMCkpKGUsdCl9LCAke3YoZSx0KX1gLCJNTU0geXl5eSI6KGUsdCk9PmAke3AoZSx0KX0gJHt2KGUsdCl9YCwiTU1NIGRkIjooZSx0KT0+YCR7cChlLHQpfSAke18oZSx0KX1gLCJkZCBNTU0iOihlLHQpPT5gJHtfKGUsdCl9ICR7cChlLHQpfWAsInl5eXktTU0tZGQiOihlLHQpPT5gJHt2KGUsdCl9LSR7bShlLHQpfS0ke18oZSx0KX1gLCJ5eS1NTS1kZCI6KGUsdCk9PmAke2coZSx0KX0tJHttKGUsdCl9LSR7XyhlLHQpfWAsInl5L01NL2RkIjooZSx0KT0+YCR7ZyhlLHQpfS8ke20oZSx0KX0vJHtfKGUsdCl9YCwieXl5eS9NTS9kZCI6KGUsdCk9PmAke3YoZSx0KX0vJHttKGUsdCl9LyR7XyhlLHQpfWAsImRkLU1NLXl5eXkiOihlLHQpPT5gJHtfKGUsdCl9LSR7bShlLHQpfS0ke3YoZSx0KX1gLCJkZC1NTS15eSI6KGUsdCk9PmAke18oZSx0KX0tJHttKGUsdCl9LSR7ZyhlLHQpfWAsImRkL01NL3l5IjooZSx0KT0+YCR7XyhlLHQpfS8ke20oZSx0KX0vJHtnKGUsdCl9YCwiZGQvTU0veXl5eSI6KGUsdCk9PmAke18oZSx0KX0vJHttKGUsdCl9LyR7dihlLHQpfWAsIk1NL2RkL3l5IjooZSx0KT0+YCR7bShlLHQpfS8ke18oZSx0KX0vJHtnKGUsdCl9YCwiTU0vZGQveXl5eSI6KGUsdCk9PmAke20oZSx0KX0vJHtfKGUsdCl9LyR7dihlLHQpfWB9O2Z1bmN0aW9uIHkoZSx0KXtyZXR1cm4iamEiPT09KDAsci5nZXRMYW5ndWFnZSkoKT8obyxpKT0+YCR7ZltlXShvLGkpfSAoJHtoKG8sdCl9KWA6KG8saSk9PmAke2gobyx0KX0gJHtmW2VdKG8saSl9YH1PYmplY3Qua2V5cyhmKX0sODIyNDMxKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse251bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvOigpPT5ufSk7dmFyIGk9byg2MDE4NDEpO2Z1bmN0aW9uIG4oZSx0KXtpZighKDAsaS5pc051bWJlcikoZSkpcmV0dXJuIm4vYSI7aWYoISgwLGkuaXNJbnRlZ2VyKSh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGxlbmd0aCIpO2lmKHQ8MHx8dD4yNCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGxlbmd0aCIpO2lmKDA9PT10KXJldHVybiBlLnRvU3RyaW5nKCk7cmV0dXJuKCIwMDAwMDAwMDAwMDAwMDAwMDAwMCIrZS50b1N0cmluZygpKS5zbGljZSgtdCl9fSw4NTYzMjQoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7Z2V0TGFuZ3VhZ2U6KCk9PnIsbWFwTGFuZ3VhZ2VDb2RlOigpPT5sLHJlZ2lzdGVyTGFuZ3VhZ2VDb2RlTWFwcGVyOigpPT5hLHJlZ2lzdGVyTGFuZ3VhZ2VHZXR0ZXI6KCk9Pm59KTtsZXQgaT1udWxsO2Z1bmN0aW9uIG4oZSl7aT1lfWZ1bmN0aW9uIHIoKXtpZighaSl0aHJvdyBuZXcgRXJyb3IoIkxhbmd1YWdlIGdldHRlciBub3QgcmVnaXN0ZXJlZC4gQ2FsbCByZWdpc3Rlckxhbmd1YWdlR2V0dGVyKCkgZmlyc3QuIik7cmV0dXJuIGkoKX1sZXQgcz1lPT5lO2Z1bmN0aW9uIGEoZSl7cz1lfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIHMoZSl9fSw5NzM1MjQoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7TElTVF9TVEFSVDooKT0+aSxnZXRUYXJnZXRJbmRleDooKT0+bn0pO2NvbnN0IGk9U3ltYm9sKCk7ZnVuY3Rpb24gbihlLHQsbyl7Y29uc3Qgbj12b2lkIDA9PT1vP3ZvaWQgMCE9PXQ/ZS5pbmRleE9mKHQpOnZvaWQgMDpvPT09aT8wOmUuaW5kZXhPZihvKSsxO3JldHVybi0xIT09bj9uOnZvaWQgMH19LDQzMzIwKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtjb25zdHtpZDp0LGV2ZW50Om8sY2hhbm5lbDppLGZpbHRlcjpufT1lO3JldHVybiBlPT4oaS5vbihvLChvPT57Y29uc3R7YWN0aW9uOmksZW1pdHRlcjpyfT1KU09OLnBhcnNlKG8pO3IhPT10JiZuKGkpJiZlLmRpc3BhdGNoKHsuLi5pLHBheWxvYWQ6ey4uLmkucGF5bG9hZCxzaWxlbnQ6ITB9fSl9KSksZT0+cj0+e2NvbnN0IHM9ZShyKTtyZXR1cm4gbihyKSYmKHIucGF5bG9hZC5zaWxlbnR8fGkuZW1pdChvLEpTT04uc3RyaW5naWZ5KHthY3Rpb246cixlbWl0dGVyOnR9KSkpLHN9KX1vLmQodCx7Y3JlYXRlQ3Jvc3NUYWJTeW5jTWlkZGxld2FyZTooKT0+aX0pfSwyOTUyMzUoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7cXVhbGlmaWVkOigpPT5pfSk7Y29uc3QgaT17Y2FzdDplPT5lLGNhc3RNYW55OmU9PmUubWFwKGkuY2FzdCl9fSw2MTI0NDYoZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUsdCl7aWYoZS5sZW5ndGghPT10Lmxlbmd0aClyZXR1cm4hMTtmb3IobGV0IG89MDtvPGUubGVuZ3RoOysrbylpZihlW29dIT09dFtvXSlyZXR1cm4hMTtyZXR1cm4hMH1vLmQodCx7ZXF1YWxBcnJheXM6KCk9Pml9KX0sODUyOTgwKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlLHQsbyxpLG4pewpjb25zdHtwYXlBdHRlbnRpb25Ub1RpY2tlck5vdFN5bWJvbDpyLHVzZVRpY2tlck9uU3ltYm9sSW5mb1VwZGF0ZTpzLGNoYXJ0aW5nTGlicmFyeVNpbmdsZVN5bWJvbFJlcXVlc3Q6YSx1cHBlcmNhc2VJbnN0cnVtZW50TmFtZXM6bH09ZTtsZXQgYz10JiYoaSYmdC5wcm9fbmFtZXx8dC5mdWxsX25hbWV8fHQubmFtZSk7cmV0dXJuIGEmJm8/Yz1vOihzfHwhbiYmcikmJnQmJnQudGlja2VyJiYoYz10LnRpY2tlciksbCYmYyYmKGM9Yy50b1VwcGVyQ2FzZSgpKSxjfW8uZCh0LHtleHRyYWN0U3ltYm9sTmFtZUZyb21TeW1ib2xJbmZvOigpPT5pfSl9LDMwOTA1MihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtRVU9URV9GSUVMRFM6KCk9Pm4sUVVPVEVfRklFTERTX0NBQ0hFOigpPT5yfSk7dmFyIGk9bygxMzg2MzgpCjtjb25zdCBuPW5ldyBTZXQoWyJwcm9fbmFtZSIsImJhc2VfbmFtZSIsImxvZ28iLCJsb2dvaWQiLCJjdXJyZW5jeS1sb2dvaWQiLCJiYXNlLWN1cnJlbmN5LWxvZ29pZCIsInNvdXJjZS1sb2dvaWQiLCJzaG9ydF9uYW1lIiwid2ViX3NpdGVfdXJsIiwicHJvX3Blcm0iLCJ0aW1lem9uZSIsImN1cnJlbnRfc2Vzc2lvbiIsInNlc3Npb25faG9saWRheXMiLCJsYXN0X3ByaWNlIiwibHBfdGltZSIsInN1YnNlc3Npb25zIiwicHJldl9jbG9zZV9wcmljZSIsIm9wZW5fcHJpY2UiLCJoaWdoX3ByaWNlIiwibG93X3ByaWNlIiwicHJpY2VfNTJfd2Vla19oaWdoIiwicHJpY2VfNTJfd2Vla19sb3ciLCJhc2siLCJhc2tfc2l6ZSIsImJpZCIsImJpZF9zaXplIiwicmNoIiwicmNocCIsInJ0YyIsInJ0Y190aW1lIiwibmNoIiwibmNocCIsIm50YyIsIm50Y190aW1lIiwiZGF0YV9mcmVxdWVuY3kiLCJyZWZlcmVuY2UtbGFzdC1wZXJpb2Qtc3RhcnQiLCJidXNpbmVzc19kZXNjcmlwdGlvbiIsIndlYl9zaXRlX3VybCIsImZpZ2kiLCJudW1iZXJfb2ZfZW1wbG95ZWVzIiwiZmxvYXRfc2hhcmVzX291dHN0YW5kaW5nIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2NhbGVuZGFyX2RhdGUiLCJyb290IiwiZGVzY3JpcHRpb24iLCJleGNoYW5nZSIsImxpc3RlZF9leGNoYW5nZSIsInR5cGUiLCJjb3VudHJ5X2NvZGUiLCJwcm92aWRlcl9pZCIsImlzX3RyYWRhYmxlIiwic2VjdG9yIiwidHlwZXNwZWNzIiwidmlzaWJsZS1wbG90cy1zZXQiLCJpbmR1c3RyeSIsImN1cnJlbmN5X2lkIiwibGFzdF9wcmljZSIsImZyYWN0aW9uYWwiLCJtaW5tb3YiLCJtaW5tb3ZlMiIsInByaWNlc2NhbGUiLCJ2YXJpYWJsZV90aWNrX3NpemUiLCJjaGFuZ2UiLCJjaGFuZ2VfcGVyY2VudCIsInZvbHVtZSIsImF2ZXJhZ2Vfdm9sdW1lIiwibWFya2V0X2NhcF9iYXNpYyIsIm1hcmtldF9jYXBfY2FsYyIsInRvdGFsX3JldmVudWUiLCJlYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtIiwicHJpY2VfZWFybmluZ3NfdHRtIiwiYmV0YV8xX3llYXIiLCJkcHNfY29tbW9uX3N0b2NrX3ByaW1faXNzdWVfZnkiLCJkaXZpZGVuZHNfeWllbGQiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X2ZxIiwiZWFybmluZ3NfcHVibGljYXRpb25fdHlwZV9uZXh0X2ZxIiwiZWFybmluZ3NfcmVsZWFzZV9kYXRlIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZxIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X2ZxIiwiZm9yZWNhc3RfcmF3IiwibGFzdF9yZWxlYXNlX2RhdGUiLCJuZXh0X3JlbGVhc2VfZGF0ZSIsInJlZmVyZW5jZV9sYXN0X3BlcmlvZCIsImZ1bmRhbWVudGFsX2N1cnJlbmN5X2NvZGUiLCJudW1iZXJfb2ZfZW1wbG95ZWVzIiwid2ViX3NpdGVfdXJsIiwiYnVzaW5lc3NfZGVzY3JpcHRpb24iLCJmb3VuZGVkIiwiY2VvIiwiZmxvYXRfc2hhcmVzX291dHN0YW5kaW5nIiwidG90YWxfc2hhcmVzX291dHN0YW5kaW5nIiwiZGl2aWRlbmRfcGF5b3V0X3JhdGlvX3R0bSIsImRpdmlkZW5kc195aWVsZF9jdXJyZW50IiwiZGl2aWRlbmRfZXhfZGF0ZV91cGNvbWluZyIsImRpdmlkZW5kX2Ftb3VudF91cGNvbWluZyIsImRpdmlkZW5kX2Ftb3VudF9yZWNlbnQiLCJkaXZpZGVuZF9leF9kYXRlX3JlY2VudCIsImRpdmlkZW5kX2Ftb3VudF9oIiwiZGl2aWRlbmRfcGF5bWVudF9kYXRlX3VwY29taW5nIiwiZGl2aWRlbmRfcGF5bWVudF9kYXRlX3JlY2VudCIsInRvdGFsX3JldmVudWVfZnFfaCIsInRvdGFsX3JldmVudWVfZnlfaCIsIm5ldF9pbmNvbWVfZnlfaCIsIm5ldF9pbmNvbWVfZnFfaCIsInRvdGFsX2Fzc2V0c19meV9oIiwidG90YWxfYXNzZXRzX2ZxX2giLCJ0b3RhbF9saWFiaWxpdGllc19meV9oIiwidG90YWxfbGlhYmlsaXRpZXNfZnFfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19meV9oIiwiY2FzaF9mX29wZXJhdGluZ19hY3Rpdml0aWVzX2ZxX2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZnlfaCIsImNhc2hfZl9pbnZlc3RpbmdfYWN0aXZpdGllc19mcV9oIiwiY2FzaF9mX2ZpbmFuY2luZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZnFfaCIsImZpc2NhbF9wZXJpb2RfZnlfaCIsImZpc2NhbF9wZXJpb2RfZnFfaCIsImZpc2NhbF9wZXJpb2RfZmhfaCIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZV9mcV9oIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGVfZnEiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9mcV9oIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZxX2giLCJlYXJuaW5nc19maXNjYWxfcGVyaW9kX2ZxX2giLCJuZXh0X2Vhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZnEiLCJpc19uZXh0X2Vhcm5pbmdzX3JlbGVhc2VfZGF0ZV9lc3RpbWF0ZWQiLCJzeW1ib2wtcHJpbWFyeW5hbWUiLCJjdXJyZW5jeV9jb2RlIiwicmF0ZXNfbWMiLCJyYXRlc19meSIsInJhdGVzX3R0bSIsIm1lYXN1cmUiLCJ2YWx1ZV91bml0X2lkIiwidmFsdWUtdW5pdC1pZCIsInVwZGF0ZV9tb2RlIiwibGFuZ3VhZ2UiLCJsb2NhbF9kZXNjcmlwdGlvbiIsInNob3J0X2Rlc2NyaXB0aW9uIiwic291cmNlIiwic291cmNlMiIsImZvcm1hdCIsInJlY29tbWVuZGF0aW9uX21hcmsiLCJsYXN0X3JlcG9ydF9mcmVxdWVuY3kiLCJwcmljZV90YXJnZXRfZXN0aW1hdGVzX251bSIsInByaWNlX3RhcmdldF9hdmVyYWdlIiwidXBkYXRlX21vZGVfc2Vjb25kcyIsInJlY29tbWVuZGF0aW9uX3RvdGFsIiwicmVjb21tZW5kYXRpb25fYnV5IiwicmVjb21tZW5kYXRpb25fb3ZlciIsInJlY29tbWVuZGF0aW9uX2hvbGQiLCJyZWNvbW1lbmRhdGlvbl91bmRlciIsInJlY29tbWVuZGF0aW9uX3NlbGwiLCJyZWNvbW1lbmRhdGlvbl90b3RhbCIsInByaWNlX3RhcmdldF9oaWdoIiwicHJpY2VfdGFyZ2V0X2xvdyIsInJhdGVzX3B0IiwicmF0ZXNfcHQiLCJ0b3RhbF9yZXZlbnVlX2Z5X2giLCJ0b3RhbF9yZXZlbnVlX2ZxX2giLCJ0b3RhbF9yZXZlbnVlX2ZoX2giLCJuZXRfcmV2ZW51ZV9meV9oIiwibmV0X3JldmVudWVfZnFfaCIsIm5ldF9yZXZlbnVlX2ZoX2giLCJuZXRfaW5jb21lX2Z5X2giLCJuZXRfaW5jb21lX2ZxX2giLCJuZXRfaW5jb21lX2ZoX2giLCJ0b3RhbF9hc3NldHNfZnlfaCIsInRvdGFsX2Fzc2V0c19mcV9oIiwidG90YWxfYXNzZXRzX2ZoX2giLCJ0b3RhbF9saWFiaWxpdGllc19meV9oIiwidG90YWxfbGlhYmlsaXRpZXNfZnFfaCIsInRvdGFsX2xpYWJpbGl0aWVzX2ZoX2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZnlfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19mcV9oIiwiY2FzaF9mX29wZXJhdGluZ19hY3Rpdml0aWVzX2ZoX2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZnlfaCIsImNhc2hfZl9pbnZlc3RpbmdfYWN0aXZpdGllc19mcV9oIiwiY2FzaF9mX2ludmVzdGluZ19hY3Rpdml0aWVzX2ZoX2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZnlfaCIsImNhc2hfZl9maW5hbmNpbmdfYWN0aXZpdGllc19mcV9oIiwiY2FzaF9mX2ZpbmFuY2luZ19hY3Rpdml0aWVzX2ZoX2giLCJmaXNjYWxfcGVyaW9kX2Z5IiwiZmlzY2FsX3BlcmlvZF9mcSIsImZpc2NhbF9wZXJpb2RfZmgiLCJlYXJuaW5nc19yZWxlYXNlX2RhdGVfZnFfaCIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZV9meV9oIiwiZWFybmluZ3NfcmVsZWFzZV9kYXRlX2ZoX2giLCJlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZV9mcSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlX2Z5IiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGVfZmgiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfdGltZSIsImVhcm5pbmdzX3JlbGVhc2VfdGltZSIsImlzX25leHRfZWFybmluZ3NfcmVsZWFzZV9kYXRlX2VzdGltYXRlZCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X2ZxIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnkiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9maCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9mcV9oIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X2Z5X2giLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfZmhfaCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcV9oIiwiZWFybmluZ3NfcGVyX3NoYXJlX2Z5X2giLCJlYXJuaW5nc19wZXJfc2hhcmVfZmhfaCIsImVhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZnFfaCIsImVhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZnlfaCIsImVhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZmhfaCIsIm5leHRfZWFybmluZ3NfZmlzY2FsX3BlcmlvZF9mcSIsIm5leHRfZWFybmluZ3NfZmlzY2FsX3BlcmlvZF9meSIsIm5leHRfZWFybmluZ3NfZmlzY2FsX3BlcmlvZF9maCIsInJldmVudWVfZnFfaCIsInJldmVudWVfZnlfaCIsInJldmVudWVfZmhfaCIsInJldmVudWVfZm9yZWNhc3RfZnFfaCIsInJldmVudWVfZm9yZWNhc3RfZnlfaCIsInJldmVudWVfZm9yZWNhc3RfZmhfaCIsInJldmVudWVfZm9yZWNhc3RfbmV4dF9mcSIsInJldmVudWVfZm9yZWNhc3RfbmV4dF9meSIsInJldmVudWVfZm9yZWNhc3RfbmV4dF9maCIsInJldmVudWVfc2VnX2J5X2J1c2luZXNzX2giLCJyZXZlbnVlX3NlZ19ieV9yZWdpb25faCIsInRvdGFsX3JldmVudWVfZnkiLCJ0b3RhbF9yZXZlbnVlX2ZxIiwidG90YWxfcmV2ZW51ZV9maCIsImdyb3NzX3Byb2ZpdF9meSIsImdyb3NzX3Byb2ZpdF9mcSIsImdyb3NzX3Byb2ZpdF9maCIsImViaXRkYV9meSIsImViaXRfZnkiLCJuZXRfaW5jb21lX2Z5IiwibmV0X2luY29tZV9mcSIsIm5ldF9pbmNvbWVfZmgiLCJ0b3RhbF9kZWJ0X2Z5X2giLCJ0b3RhbF9kZWJ0X2ZxX2giLCJ0b3RhbF9kZWJ0X2ZoX2giLCJmcmVlX2Nhc2hfZmxvd19meV9oIiwiZnJlZV9jYXNoX2Zsb3dfZnFfaCIsImZyZWVfY2FzaF9mbG93X2ZoX2giLCJjYXNoX25fZXF1aXZhbGVudHNfZnlfaCIsImNhc2hfbl9lcXVpdmFsZW50c19mcV9oIiwiY2FzaF9uX2VxdWl2YWxlbnRzX2ZoX2giLCJ0b3RhbF9jdXJyZW50X2Fzc2V0c19meSIsInRvdGFsX2N1cnJlbnRfYXNzZXRzX2ZxIiwidG90YWxfY3VycmVudF9hc3NldHNfZmgiLCJ0b3RhbF9jdXJyZW50X2xpYWJpbGl0aWVzX2Z5IiwidG90YWxfY3VycmVudF9saWFiaWxpdGllc19mcSIsInRvdGFsX2N1cnJlbnRfbGlhYmlsaXRpZXNfZmgiLCJ0b3RhbF9ub25fY3VycmVudF9hc3NldHNfZnkiLCJ0b3RhbF9ub25fY3VycmVudF9hc3NldHNfZnEiLCJ0b3RhbF9ub25fY3VycmVudF9hc3NldHNfZmgiLCJ0b3RhbF9ub25fY3VycmVudF9saWFiaWxpdGllc19meSIsInRvdGFsX25vbl9jdXJyZW50X2xpYWJpbGl0aWVzX2ZxIiwidG90YWxfbm9uX2N1cnJlbnRfbGlhYmlsaXRpZXNfZmgiLCJsb2Fuc19uZXRfZnkiLCJsb2Fuc19uZXRfZnlfaCIsImxvYW5zX25ldF9mcV9oIiwibG9hbnNfbmV0X2ZoX2giLCJ0b3RhbF9kZXBvc2l0c19meSIsInRvdGFsX2RlcG9zaXRzX2Z5X2giLCJ0b3RhbF9kZXBvc2l0c19mcV9oIiwidG90YWxfZGVwb3NpdHNfZmhfaCIsImxvYW5fbG9zc19hbGxvd2FuY2VzX2Z5IiwibG9hbl9sb3NzX2FsbG93YW5jZXNfZnlfaCIsImxvYW5fbG9zc19hbGxvd2FuY2VzX2ZxX2giLCJsb2FuX2xvc3NfYWxsb3dhbmNlc19maF9oIiwicmVzZXJ2ZV90b190b3RhbF9jYXBpdGFsX2Z5X2giLCJyZXNlcnZlX3RvX3RvdGFsX2NhcGl0YWxfZnFfaCIsInJlc2VydmVfdG9fdG90YWxfY2FwaXRhbF9maF9oIiwidW5lYXJuZWRfcHJlbWl1bV90b190b3RhbF9jYXBpdGFsX2Z5X2giLCJ1bmVhcm5lZF9wcmVtaXVtX3RvX3RvdGFsX2NhcGl0YWxfZnFfaCIsInVuZWFybmVkX3ByZW1pdW1fdG9fdG90YWxfY2FwaXRhbF9maF9oIiwiaW5zdXJhbmNlX3Jlc2VydmVzX2Z5X2giLCJpbnN1cmFuY2VfcmVzZXJ2ZXNfZnFfaCIsImluc3VyYW5jZV9yZXNlcnZlc19maF9oIiwicG9saWN5X2NsYWltc19meV9oIiwicG9saWN5X2NsYWltc19mcV9oIiwicG9saWN5X2NsYWltc19maF9oIiwicHJlbWl1bXNfZWFybmVkX2Z5X2giLCJwcmVtaXVtc19lYXJuZWRfZnFfaCIsInByZW1pdW1zX2Vhcm5lZF9maF9oIiwicHJpY2VfZWFybmluZ3NfZnFfaCIsInByaWNlX2Vhcm5pbmdzX2Z5X2giLCJwcmljZV9lYXJuaW5nc19maF9oIiwicHJpY2Vfc2FsZXNfZnFfaCIsInByaWNlX3NhbGVzX2Z5X2giLCJwcmljZV9zYWxlc19maF9oIiwiZGlsdXRlZF9uZXRfaW5jb21lX3R0bSIsInRvdGFsX3JldmVudWVfdHRtIiwibmV0X3JldmVudWVfdHRtIiwicHJpY2VfZWFybmluZ3NfY3VycmVudCIsInByaWNlX3NhbGVzX2N1cnJlbnQiLCJpc2luLWRpc3BsYXllZCIsImN1c2lwIiwiY2ZpX2NvZGUiLCJpbnRlcmVzdF9pbmNvbWVfZnlfaCIsImludGVyZXN0X2luY29tZV9mcV9oIiwiaW50ZXJlc3RfaW5jb21lX2ZoX2giLCJub25faW50ZXJlc3RfaW5jb21lX2Z5X2giLCJub25faW50ZXJlc3RfaW5jb21lX2ZxX2giLCJub25faW50ZXJlc3RfaW5jb21lX2ZoX2giLCJ3ZWJzaXRlIiwiZG9jIiwiZXhwbG9yZXIiLCJzb3VyY2VzIiwiY29udHJhY3RzIiwiY3J5cHRvX2NvbW1vbl9jYXRlZ29yaWVzIiwiY3J5cHRvX2Fzc2V0IiwiY29tbXVuaXR5IiwiZGl2aWRlbmRzX2F2YWlsYWJpbGl0eSIsImVhcm5pbmdzX2F2YWlsYWJpbGl0eSIsImZpbmFuY2lhbHNfYXZhaWxhYmlsaXR5IiwiZG9jdW1lbnRzIiwiZXRmX2Fzc2V0X3R5cGVfZXhwb3N1cmUiLCJldGZfcmVnaW9uX2V4cG9zdXJlIiwidG9wX2hvbGRpbmdzIiwidW5pdC1pZCIsIm9wdGlvbnMtaW5mbyIsIm9wdGlvbi10eXBlIiwiaW50ZXJlc3RfaW5jb21lX2Z5IiwiaW50ZXJlc3RfaW5jb21lX2ZxIiwiaW50ZXJlc3RfaW5jb21lX2ZoIiwibm9uX2ludGVyZXN0X2luY29tZV9meSIsIm5vbl9pbnRlcmVzdF9pbmNvbWVfZnEiLCJub25faW50ZXJlc3RfaW5jb21lX2ZoIiwiaW50ZXJlc3RfZXhwZW5zZV9meSIsImludGVyZXN0X2V4cGVuc2VfZnEiLCJpbnRlcmVzdF9leHBlbnNlX2ZoIiwibG9hbl9sb3NzX3Byb3Zpc2lvbl9meSIsImxvYW5fbG9zc19wcm92aXNpb25fZnEiLCJsb2FuX2xvc3NfcHJvdmlzaW9uX2ZoIiwibm9uX2ludGVyZXN0X2V4cGVuc2VfZnkiLCJub25faW50ZXJlc3RfZXhwZW5zZV9mcSIsIm5vbl9pbnRlcmVzdF9leHBlbnNlX2ZoIiwibm9uX29wZXJfaW5jb21lX2Z5Iiwibm9uX29wZXJfaW5jb21lX2ZxIiwibm9uX29wZXJfaW5jb21lX2ZoIiwidW51c3VhbF9leHBlbnNlX2luY19meSIsInVudXN1YWxfZXhwZW5zZV9pbmNfZnEiLCJ1bnVzdWFsX2V4cGVuc2VfaW5jX2ZoIiwicHJldGF4X2luY29tZV9meSIsInByZXRheF9pbmNvbWVfZnEiLCJwcmV0YXhfaW5jb21lX2ZoIiwiaW5jb21lX3RheF9meSIsImluY29tZV90YXhfZnEiLCJpbmNvbWVfdGF4X2ZoIiwiYWZ0ZXJfdGF4X290aGVyX2luY29tZV9meSIsImFmdGVyX3RheF9vdGhlcl9pbmNvbWVfZnEiLCJhZnRlcl90YXhfb3RoZXJfaW5jb21lX2ZoIiwidG90YWxfbm9uX29wZXJfaW5jb21lX2Z5IiwidG90YWxfbm9uX29wZXJfaW5jb21lX2ZxIiwidG90YWxfbm9uX29wZXJfaW5jb21lX2ZoIiwib3Blcl9pbmNvbWVfZnkiLCJvcGVyX2luY29tZV9mcSIsIm9wZXJfaW5jb21lX2ZoIiwib3BlcmF0aW5nX2V4cGVuc2VzX2Z5Iiwib3BlcmF0aW5nX2V4cGVuc2VzX2ZxIiwib3BlcmF0aW5nX2V4cGVuc2VzX2ZoIiwiY29zdF9vZl9nb29kc19meSIsImNvc3Rfb2ZfZ29vZHNfZnEiLCJjb3N0X29mX2dvb2RzX2ZoIiwiZXF1aXR5X2luX2Vhcm5pbmdzX2Z5IiwiZXF1aXR5X2luX2Vhcm5pbmdzX2ZxIiwiZXF1aXR5X2luX2Vhcm5pbmdzX2ZoIiwibWlub3JpdHlfaW50ZXJlc3RfZXhwX2Z5IiwibWlub3JpdHlfaW50ZXJlc3RfZXhwX2ZxIiwibWlub3JpdHlfaW50ZXJlc3RfZXhwX2ZoIiwiZGlzY29udGludWVkX29wZXJhdGlvbnNfZnkiLCJkaXNjb250aW51ZWRfb3BlcmF0aW9uc19mcSIsImRpc2NvbnRpbnVlZF9vcGVyYXRpb25zX2ZoIiwiZnJvbnRfY29udHJhY3QiLCJtaW5fY29udHJhY3QiLCJwb2ludHZhbHVlIiwidW5pdF9pZCIsImV4cGlyYXRpb24iLCJhdW0iLCJhc3NldF9jbGFzcyIsImZvY3VzIiwiZXhwZW5zZV9yYXRpbyIsImxhdW5jaF9kYXRlIiwiaXNzdWVyIiwiYnJhbmQiLCJob21lcGFnZSIsImluZGV4X3RyYWNrZWQiLCJhY3RpdmVseV9tYW5hZ2VkIiwiZnVuZF92aWV3X21vZGVzIiwiY29tbW9uX2VxdWl0eV90aWVyMV9yYXRpb19meV9oIiwiY29tbW9uX2VxdWl0eV90aWVyMV9yYXRpb19mcV9oIiwiY29tbW9uX2VxdWl0eV90aWVyMV9yYXRpb19maF9oIiwidGllcjFfY2FwaXRhbF9yYXRpb19meV9oIiwidGllcjFfY2FwaXRhbF9yYXRpb19mcV9oIiwidGllcjFfY2FwaXRhbF9yYXRpb19maF9oIiwidG90YWxfY2FwaXRhbF9yYXRpb19meV9oIiwidG90YWxfY2FwaXRhbF9yYXRpb19mcV9oIiwidG90YWxfY2FwaXRhbF9yYXRpb19maF9oIiwicHJlZmVycmVkX3N0b2NrX2NhcnJ5aW5nX3ZhbHVlX2ZoIiwicHJlZmVycmVkX3N0b2NrX2NhcnJ5aW5nX3ZhbHVlX2ZxIiwidG90YWxfZGVidF9mcSIsIm1pbm9yaXR5X2ludGVyZXN0X2ZoIiwibWlub3JpdHlfaW50ZXJlc3RfZnEiLCJjYXNoX25fc2hvcnRfdGVybV9pbnZlc3RfZnEiLCJjYXNoX25fZHVlX2ZfYmFua3NfZmgiLCJjYXNoX25fZHVlX2ZfYmFua3NfZnEiLCJlbnRlcnByaXNlX3ZhbHVlX2N1cnJlbnQiLCJldGZfaG9sZGluZ3NfY291bnQiLCJjb250cmFjdC1kZXNjcmlwdGlvbiIsInJlZmVyZW5jZS1sYXN0LXBlcmlvZCIsImFsbF90aW1lX2hpZ2giLCJhbGxfdGltZV9oaWdoX2RheSIsImFsbF90aW1lX2xvdyIsImFsbF90aW1lX2xvd19kYXkiLCJvdXRzdGFuZGluZ19hbW91bnQiLCJub21pbmFsX3ZhbHVlIiwiZGVub21fbWluIiwiY3VycmVudF9jb3Vwb24iLCJjb3Vwb25fdHlwZV9nZW5lcmFsIiwiY291cG9uX2ZyZXF1ZW5jeSIsInlpZWxkX3RvX21hdHVyaXR5IiwibWF0dXJpdHktZGF0ZSIsImRheXNfdG9fbWF0dXJpdHkiLCJib25kX2lzc3VlciIsImlzc3VlX2RhdGUiLCJib25kX2lzc3Vlcl9zdG9ja19zeW1ib2wiLCJ0b3RhbF9pc3N1ZWRfYW1vdW50IiwicGFpZF9hbW91bnQiLCJib25kX3NucF9yYXRpbmdfbHRfaCIsInBsYWNlbWVudF90eXBlIiwiZHVyYXRpb25fdHlwZSIsIm1hdHVyaXR5X3R5cGUiLCJvZmZlcl90eXBlIiwicmVkZW1wdGlvbl90eXBlIiwiY29udmVyc2lvbl9vcHRpb24iLCJzaW5raW5nX2Z1bmQiLCJvd25lcnNoaXBfZm9ybSIsImRhaWx5LXN1bW1hcnktYXN0IiwiaXNzdWVfc3RhdHVzIiwiY291cG9uX2giLCJzaW5raW5nX2Z1bmRfbmV4dF9kYXRlIiwic2lua2luZ19mdW5kX21pbl9hbW91bnRfbmV4dCIsImNhbGxfbmV4dF9kYXRlIiwicmVkZW1wdGlvbnNfaCIsImNhbGxfbm90aWNlX2RheXMiLCJwdXRfbmV4dF9kYXRlIiwicHV0X25vdGljZV9kYXlzX21pbiIsInNlbmlvcml0eV9sZXZlbCIsImluZmxhdGlvbl9wcm90ZWN0aW9uIiwicGxlZGdlX3N0YXR1cyIsImJvbmRfaXNzdWVyX2NvdW50cnlfb2ZfcmlzayIsImJvbmRfaXNzdWVyX2NyX3BhcmVudCIsImNyZWRpdF9lbmhhbmNlbWVudF90eXBlIiwiY3JlZGl0X2VuaGFuY2VtZW50X3N0YXR1cyIsInVzZV9vZl9wcm9jZWVkcyIsImJvbmRfaXNzdWVyX3NucF9yYXRpbmdfbHRfaCIsImJvbmRfaXNzdWVyX3NucF9yYXRpbmdfc3RfaCIsImJvbmRfYWdlbnRzX3RyIiwiZmlyc3RfYmFyX3RpbWVfMWQiLCJmaW5hbmNpYWwtaW5kaWNhdG9yLWlkIiwiZXhjaGFuZ2UtaW5mbyIsInVuZGVybHlpbmctc3ltYm9sIiwic3RyaWtlIiwibG90c2l6ZSIsIm9wdGlvbi1zdHlsZSIsImhhc19ib25kcyIsIm9wZW5fdGltZSIsImhhc19ib25kcyIsImRleF9idXlzXzE1bSIsImRleF9zZWxsc18xNW0iLCJkZXhfYnV5X3ZvbHVtZV8xNW0iLCJkZXhfc2VsbF92b2x1bWVfMTVtIiwiZGV4X2J1eWVyc18xNW0iLCJkZXhfc2VsbGVyc18xNW0iLCJkZXhfYnV5c18xaCIsImRleF9zZWxsc18xaCIsImRleF9idXlfdm9sdW1lXzFoIiwiZGV4X3NlbGxfdm9sdW1lXzFoIiwiZGV4X2J1eWVyc18xaCIsImRleF9zZWxsZXJzXzFoIiwiZGV4X2J1eXNfNGgiLCJkZXhfc2VsbHNfNGgiLCJkZXhfYnV5X3ZvbHVtZV80aCIsImRleF9zZWxsX3ZvbHVtZV80aCIsImRleF9idXllcnNfNGgiLCJkZXhfc2VsbGVyc180aCIsImRleF9idXlzXzEyaCIsImRleF9zZWxsc18xMmgiLCJkZXhfYnV5X3ZvbHVtZV8xMmgiLCJkZXhfc2VsbF92b2x1bWVfMTJoIiwiZGV4X2J1eWVyc18xMmgiLCJkZXhfc2VsbGVyc18xMmgiLCJkZXhfYnV5c18yNGgiLCJkZXhfc2VsbHNfMjRoIiwiZGV4X2J1eV92b2x1bWVfMjRoIiwiZGV4X3NlbGxfdm9sdW1lXzI0aCIsImRleF9idXllcnNfMjRoIiwiZGV4X3NlbGxlcnNfMjRoIiwiZGV4X2NvbnZlcnRlZF9zeW1ib2wiLCJkZXhfdHJhZGluZ192b2x1bWVfMjRoIiwiZGV4X2NyZWF0ZWRfdGltZSIsImRleF9jdXJyZW5jeSIsImRleF9jdXJyZW5jeV9sb2dvaWQiLCJibG9ja2NoYWluX2FkZHJlc3Nlc191cmxzIiwiYmxvY2tjaGFpbl9hZGRyZXNzZXMiLCJiYXNlX2N1cnJlbmN5IiwiaXBvX29mZmVyX3N0YXR1cyIsImhhc19pcG9fZGV0YWlsc192aXNpYmxlIiwiaXBvX3ByaWNlX3JhbmdlX3VzZF9tYXgiLCJpcG9fcHJpY2VfcmFuZ2VfdXNkX21pbiIsImlwb19vZmZlcl9wcmljZV91c2QiLCJpcG9fb2ZmZXJlZF9zaGFyZXMiLCJpcG9fZGVhbF9hbW91bnRfdXNkIiwiaXBvX2Fubm91bmNlbWVudF9kYXRlIiwiaXBvX29mZmVyX2RhdGUiLCJhdmFpbGFibGVfZGF0YV9yYW5nZV9iZWdpbl9kYXRlIiwiYXZhaWxhYmxlX2RhdGFfcmFuZ2VfZW5kX2RhdGUiLCJoYXNfZXRmX293bmVyc2hpcCIsInN5bWJvbF9wcmltYXJ5X2xpc3RpbmciLCJtZXRyaWNfeXRtIiwibWV0cmljcyIsImVwc19lc3RpbWF0ZXNfZnlfaCIsImVwc19lc3RpbWF0ZXNfZnFfaCIsImVwc19lc3RpbWF0ZXNfZmhfaCIsInJldmVudWVfZXN0aW1hdGVzX2Z5X2giLCJyZXZlbnVlX2VzdGltYXRlc19mcV9oIiwicmV2ZW51ZV9lc3RpbWF0ZXNfZmhfaCIsImRwc19lc3RpbWF0ZXNfZnlfaCIsImRwc19lc3RpbWF0ZXNfZnFfaCIsImRwc19lc3RpbWF0ZXNfZmhfaCIsImNvc3Rfb2ZfZ29vZHNfZXN0aW1hdGVzX2Z5X2giLCJjb3N0X29mX2dvb2RzX2VzdGltYXRlc19mcV9oIiwiY29zdF9vZl9nb29kc19lc3RpbWF0ZXNfZmhfaCIsImdyb3NzX3Byb2ZpdF9lc3RpbWF0ZXNfZnlfaCIsImdyb3NzX3Byb2ZpdF9lc3RpbWF0ZXNfZnFfaCIsImdyb3NzX3Byb2ZpdF9lc3RpbWF0ZXNfZmhfaCIsInNlbGxfZ2VuX2FkbWluX2V4cF90b3RhbF9lc3RpbWF0ZXNfZnlfaCIsInNlbGxfZ2VuX2FkbWluX2V4cF90b3RhbF9lc3RpbWF0ZXNfZnFfaCIsInNlbGxfZ2VuX2FkbWluX2V4cF90b3RhbF9lc3RpbWF0ZXNfZmhfaCIsInJlc2VhcmNoX2FuZF9kZXZfZXN0aW1hdGVzX2Z5X2giLCJyZXNlYXJjaF9hbmRfZGV2X2VzdGltYXRlc19mcV9oIiwicmVzZWFyY2hfYW5kX2Rldl9lc3RpbWF0ZXNfZmhfaCIsImViaXRkYV9lc3RpbWF0ZXNfZnlfaCIsImViaXRkYV9lc3RpbWF0ZXNfZnFfaCIsImViaXRkYV9lc3RpbWF0ZXNfZmhfaCIsImViaXRfZXN0aW1hdGVzX2Z5X2giLCJlYml0X2VzdGltYXRlc19mcV9oIiwiZWJpdF9lc3RpbWF0ZXNfZmhfaCIsIm5ldF9pbmNvbWVfZXN0aW1hdGVzX2Z5X2giLCJuZXRfaW5jb21lX2VzdGltYXRlc19mcV9oIiwibmV0X2luY29tZV9lc3RpbWF0ZXNfZmhfaCIsInRvdGFsX2Fzc2V0c19lc3RpbWF0ZXNfZnlfaCIsInRvdGFsX2Fzc2V0c19lc3RpbWF0ZXNfZnFfaCIsInRvdGFsX2Fzc2V0c19lc3RpbWF0ZXNfZmhfaCIsImNhc2hfbl9zaG9ydF90ZXJtX2ludmVzdF9lc3RpbWF0ZXNfZnlfaCIsImNhc2hfbl9zaG9ydF90ZXJtX2ludmVzdF9lc3RpbWF0ZXNfZnFfaCIsImNhc2hfbl9zaG9ydF90ZXJtX2ludmVzdF9lc3RpbWF0ZXNfZmhfaCIsInRvdGFsX2RlYnRfZXN0aW1hdGVzX2Z5X2giLCJ0b3RhbF9kZWJ0X2VzdGltYXRlc19mcV9oIiwidG90YWxfZGVidF9lc3RpbWF0ZXNfZmhfaCIsImJvb2tfdmFsdWVfcGVyX3NoYXJlX2VzdGltYXRlc19meV9oIiwiYm9va192YWx1ZV9wZXJfc2hhcmVfZXN0aW1hdGVzX2ZxX2giLCJib29rX3ZhbHVlX3Blcl9zaGFyZV9lc3RpbWF0ZXNfZmhfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19lc3RpbWF0ZXNfZnlfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19lc3RpbWF0ZXNfZnFfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19lc3RpbWF0ZXNfZmhfaCIsImNhc2hfZl9pbnZlc3RpbmdfYWN0aXZpdGllc19lc3RpbWF0ZXNfZnlfaCIsImNhc2hfZl9pbnZlc3RpbmdfYWN0aXZpdGllc19lc3RpbWF0ZXNfZnFfaCIsImNhc2hfZl9pbnZlc3RpbmdfYWN0aXZpdGllc19lc3RpbWF0ZXNfZmhfaCIsImNhcGl0YWxfZXhwZW5kaXR1cmVzX2VzdGltYXRlc19meV9oIiwiY2FwaXRhbF9leHBlbmRpdHVyZXNfZXN0aW1hdGVzX2ZxX2giLCJjYXBpdGFsX2V4cGVuZGl0dXJlc19lc3RpbWF0ZXNfZmhfaCIsImNhc2hfZl9maW5hbmNpbmdfYWN0aXZpdGllc19lc3RpbWF0ZXNfZnlfaCIsImNhc2hfZl9maW5hbmNpbmdfYWN0aXZpdGllc19lc3RpbWF0ZXNfZnFfaCIsImNhc2hfZl9maW5hbmNpbmdfYWN0aXZpdGllc19lc3RpbWF0ZXNfZmhfaCIsImZyZWVfY2FzaF9mbG93X2VzdGltYXRlc19meV9oIiwiZnJlZV9jYXNoX2Zsb3dfZXN0aW1hdGVzX2ZxX2giLCJmcmVlX2Nhc2hfZmxvd19lc3RpbWF0ZXNfZmhfaCIsImVzdGltYXRlc19maXNjYWxfcGVyaW9kX2Z5X2giLCJlc3RpbWF0ZXNfZmlzY2FsX3BlcmlvZF9mcV9oIiwiZXN0aW1hdGVzX2Zpc2NhbF9wZXJpb2RfZmhfaCIsImZvcmVjYXN0X2F2YWlsYWJpbGl0eSJdKSxyPW5ldyBjbGFzc3sKY29uc3RydWN0b3IoZSl7dGhpcy5fY2FjaGU9bmV3IE1hcCx0aGlzLl90aW1lcz1uZXcgTWFwLHRoaXMuX2ZpZWxkcz1bLi4uZS5maWVsZHNdfXVwZGF0ZShlLHQsbyl7Y29uc3Qgbj0oMCxpLmVuc3VyZURlZmluZWQpKGUuc3ltYm9sbmFtZSkscj1EYXRlLm5vdygpO2lmKHRoaXMuX2NhY2hlLmhhcyhuKXx8dGhpcy5fY2FjaGUuc2V0KG4se3N5bWJvbG5hbWU6bixzdGF0dXM6ZS5zdGF0dXMsdmFsdWVzOnt9fSksdGhpcy5fdGltZXMuaGFzKG4pfHx0aGlzLl90aW1lcy5zZXQobixuZXcgTWFwKSwiZXJyb3IiPT09ZS5zdGF0dXMpcmV0dXJuO2NvbnN0IHM9KDAsaS5lbnN1cmVEZWZpbmVkKSh0aGlzLl9jYWNoZS5nZXQobikpLGE9KDAsaS5lbnN1cmVEZWZpbmVkKSh0aGlzLl90aW1lcy5nZXQobikpO3Muc3RhdHVzPWUuc3RhdHVzO2Zvcihjb25zdCBpIG9mIHRoaXMuX2ZpZWxkcyl0LmhhcyhpKSYmKG98fHZvaWQgMCE9PWUudmFsdWVzW2ldKSYmKHMudmFsdWVzW2ldPWUudmFsdWVzW2ldLGEuc2V0KGkscikpfWdldChlKXtyZXR1cm4gdGhpcy5fY2FjaGUuZ2V0KGUpPz9udWxsfWdldFRpbWVzKGUpe3JldHVybiB0aGlzLl90aW1lcy5nZXQoZSk/P251bGx9ZmllbGRzKCl7cmV0dXJuIHRoaXMuX2ZpZWxkc319KHtmaWVsZHM6bn0pfSw5Mjc1OTMoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7UXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXI6KCk9Pmd9KTt2YXIgaT1vKDU4NzE2OCksbj1vKDU0Nzg1MSkscj1vKDM1MjgzNykscz1vKDEzODYzOCksYT1vKDIyMTA2MSksbD1vKDk0ODM4MCksYz1vKDk2NDQ4NiksZD1vKDE1MDE1MCksaD1vKDMwOTA1MiksdT1vKDM2Nzk0Nik7bGV0IF89ITE7dmFyIHA9byg5NzA3NzQpO2NvbnN0IG09KDAsYS5nZXRMb2dnZXIpKCJXZWJjaGFydENsaWVudC5RdW90ZVNlc3Npb25NdWx0aXBsZXhlciIpO2NsYXNzIGd7Y29uc3RydWN0b3IoZSl7dGhpcy5vbkNvbm5lY3Q9bmV3IGwuRGVsZWdhdGUsdGhpcy5vbkRpc2Nvbm5lY3Q9bmV3IGwuRGVsZWdhdGUsdGhpcy5fY29ubmVjdGVkPSExLHRoaXMuX3N1YnNjcmlwdGlvbnM9e30sdGhpcy5fc3ltYm9sX2RhdGE9e30sdGhpcy5fZGVsYXlVcGRhdGVGYXN0U3ltYm9scz0oMCxuLmRlZmF1bHQpKHRoaXMuX3VwZGF0ZUZhc3RTeW1ib2xzLDI1MCksdGhpcy5fdGhyb3R0bGVkU3ltYm9sRGF0YT17fSx0aGlzLl9leHRlbnNpb25zPXt9LHRoaXMub3B0aW9ucz17dGhyb3R0bGVUaW1lb3V0OjEyNSwuLi5lfSx0aGlzLl9zZXNzaW9uPW5ldyBwLlF1b3RlU2Vzc2lvbihlLmFwaSxbIm11bHRpcGxleGVyIixlLm5hbWUsKDAsZC5yYW5kb21IYXNoKSgpXS5maWx0ZXIoQm9vbGVhbikuam9pbigiXyIpKSx0aGlzLm9wdGlvbnMuZXh0ZW5zaW9ucz8uZm9ybWF0dGVyJiYodGhpcy5fZXh0ZW5zaW9ucy5mb3JtYXR0ZXI9dGhpcy5vcHRpb25zLmV4dGVuc2lvbnMuZm9ybWF0dGVyKHRoaXMpKSx0aGlzLm9wdGlvbnMuZXh0ZW5zaW9ucz8uc25hcHNob3QmJih0aGlzLl9leHRlbnNpb25zLnNuYXBzaG90PXRoaXMub3B0aW9ucy5leHRlbnNpb25zLnNuYXBzaG90KHRoaXMpKSx0aGlzLmNvbm5lY3QoKX1kZXN0cm95KCl7dGhpcy5fc2Vzc2lvbi5kZXN0cm95KCksdGhpcy5fY29ubmVjdGVkPSExLHRoaXMub25EaXNjb25uZWN0LmZpcmUoKX1pbnRlcm5hbHMoKXtyZXR1cm57c2Vzc2lvbjooKT0+dGhpcy5fc2Vzc2lvbixzdWJzY3JpcHRpb25zOigpPT50aGlzLl9zdWJzY3JpcHRpb25zLGRhdGE6KCk9PnRoaXMuX3N5bWJvbF9kYXRhfX1jb25uZWN0KCl7dGhpcy5fc2Vzc2lvbi5jb25uZWN0KHRoaXMucXVvdGVIYW5kbGVyLmJpbmQodGhpcykpfXF1b3RlSGFuZGxlcihlKXtjb25zdHttZXRob2Q6dCxwYXJhbXM6b309ZTtzd2l0Y2godCl7Y2FzZSJjb25uZWN0ZWQiOnRoaXMuX2Nvbm5lY3RlZHx8KHRoaXMuX2Nvbm5lY3RlZD0hMCx0aGlzLm9uQ29ubmVjdGVkKCkpO2JyZWFrO2Nhc2UicXVvdGVfbGlzdF9maWVsZHMiOmJyZWFrO2Nhc2UicXVvdGVfc3ltYm9sX2RhdGEiOnRoaXMuX2Nvbm5lY3RlZCYmdGhpcy5vblN5bWJvbERhdGEob1swXSk7YnJlYWs7Y2FzZSJxdW90ZV9jb21wbGV0ZWQiOnRoaXMuX2Nvbm5lY3RlZCYmdGhpcy5vblN5bWJvbERhdGEoe3N5bWJvbG5hbWU6b1swXSxjb21wbGV0ZTpwZXJmb3JtYW5jZS5ub3coKSx2YWx1ZXM6e319KTticmVhaztjYXNlImRpc2Nvbm5lY3RlZCI6dGhpcy5fY29ubmVjdGVkJiYodGhpcy5fY29ubmVjdGVkPSExLHRoaXMub25EaXNjb25uZWN0LmZpcmUoKSl9fW9uQ29ubmVjdGVkKCl7dGhpcy5zZXRGaWVsZHMoKTtjb25zdCBlPU9iamVjdC5rZXlzKHRoaXMuX3N5bWJvbF9kYXRhKTtlLmxlbmd0aCYmKHRoaXMuX3Nlc3Npb24ucXVvdGVBZGRTeW1ib2xzKGUpLHRoaXMuX2RlbGF5VXBkYXRlRmFzdFN5bWJvbHMoKSksdGhpcy5vbkNvbm5lY3QuZmlyZSgpfXNldEZpZWxkcygpe2NvbnN0e2ZpZWxkczplfT10aGlzLm9wdGlvbnM7ZSYmZS5sZW5ndGgmJnRoaXMuX3Nlc3Npb24ucXVvdGVTZXRGaWVsZHMoZSl9b25TeW1ib2xEYXRhKGUpe3RyeXtlLnN0YXR1cyYmaC5RVU9URV9GSUVMRFNfQ0FDSEUudXBkYXRlKGUsaC5RVU9URV9GSUVMRFMsITEpfWNhdGNoKGUpe31jb25zdCB0PWUuc3ltYm9sbmFtZTtsZXQgbz10aGlzLl90aHJvdHRsZWRTeW1ib2xEYXRhW3RdO18mJihkZWxldGUgZS52YWx1ZXMucHJldl9jbG9zZV9wcmljZSx2b2lkIDAhPT1lLnZhbHVlcy5yZWd1bGFyX2Nsb3NlJiYoZS52YWx1ZXMucHJldl9jbG9zZV9wcmljZT1lLnZhbHVlcy5yZWd1bGFyX2Nsb3NlKSksb3x8KG89dGhpcy5fdGhyb3R0bGVkU3ltYm9sRGF0YVt0XT17Zm5EaXNwYXRjaDooMCxpLmRlZmF1bHQpKHRoaXMuZGlzcGF0Y2hTeW1ib2xEYXRhLmJpbmQodGhpcyksdGhpcy5vcHRpb25zLnRocm90dGxlVGltZW91dCl9KSxvLmNhY2hlPygwLGMuZGVlcEV4dGVuZCkoby5jYWNoZSxlKTpvLmNhY2hlPWUsby5mbkRpc3BhdGNoKHQpfWRpc3BhdGNoU3ltYm9sRGF0YShlKXtjb25zdCB0PXRoaXMuX3N5bWJvbF9kYXRhW2VdLG89dGhpcy5fdGhyb3R0bGVkU3ltYm9sRGF0YVtlXS5jYWNoZQo7aWYoZGVsZXRlIHRoaXMuX3Rocm90dGxlZFN5bWJvbERhdGFbZV0uY2FjaGUsdGhpcy5fc3ltYm9sX2RhdGFbZV0peygwLGMuZGVlcEV4dGVuZCkodCxvKSx0LnZhbHVlcyYmdGhpcy5fcGFyc2VVcGRhdGVNb2RlKHQudmFsdWVzKTtmb3IoY29uc3QgaSBpbiB0aGlzLl9zdWJzY3JpcHRpb25zKXtjb25zdCBuPXRoaXMuX3N1YnNjcmlwdGlvbnNbaV07aWYobi5oYXMoZSkpe1suLi4oMCxzLmVuc3VyZURlZmluZWQpKG4uZ2V0KGUpKV0uZm9yRWFjaCgoZT0+e2UodCxvKX0pKX19fX1zdWJzY3JpYmUoZSx0LG8pe3RoaXMuX3N1YnNjcmlwdGlvbnNbZV09dGhpcy5fc3Vic2NyaXB0aW9uc1tlXXx8bmV3IE1hcDtjb25zdCBpPXRoaXMuX3N1YnNjcmlwdGlvbnNbZV07dD1BcnJheS5pc0FycmF5KHQpP1suLi50XTpbdF07Y29uc3Qgbj1bXTt0LmZvckVhY2goKGU9Pnt0aGlzLl9zeW1ib2xfZGF0YVtlXT9pJiZpLmhhcyhlKXx8dGhpcy5fc3ltYm9sX2RhdGFbZV0uc3Vic2NyaWJlcnNfY291bnQrKzoodGhpcy5fc3ltYm9sX2RhdGFbZV09e3N1YnNjcmliZXJzX2NvdW50OjF9LG4ucHVzaChlKSksaS5oYXMoZSl8fGkuc2V0KGUsW10pO2NvbnN0IHQ9KDAscy5lbnN1cmVEZWZpbmVkKShpLmdldChlKSk7dC5wdXNoKG8pLHQuZmFzdD0hMCx0aGlzLl9zeW1ib2xfZGF0YVtlXSYmdGhpcy5fc3ltYm9sX2RhdGFbZV0udmFsdWVzJiZvKHRoaXMuX3N5bWJvbF9kYXRhW2VdLHRoaXMuX3N5bWJvbF9kYXRhW2VdKX0pKSxuLmxlbmd0aCYmdGhpcy5fY29ubmVjdGVkJiYodGhpcy5fc2Vzc2lvbi5xdW90ZUFkZFN5bWJvbHMobiksdGhpcy5fZGVsYXlVcGRhdGVGYXN0U3ltYm9scygpKX11bnN1YnNjcmliZShlLHQsbyl7dD1BcnJheS5pc0FycmF5KHQpP1suLi50XTpbdF07Y29uc3QgaT10aGlzLl9zdWJzY3JpcHRpb25zW2VdLG49W107Zm9yKGxldCByPTA7cjx0Lmxlbmd0aDtyKyspe2NvbnN0IGE9dFtyXTtpZihpJiZpLmhhcyhhKSl7aWYobyl7Y29uc3QgZT0oMCxzLmVuc3VyZURlZmluZWQpKGkuZ2V0KGEpKSx0PWUuaW5kZXhPZihvKTt+dCYmZS5zcGxpY2UodCwxKSxlLmxlbmd0aHx8aS5kZWxldGUoYSl9ZWxzZSBpLmRlbGV0ZShhKTswPT09aS5zaXplJiZkZWxldGUgdGhpcy5fc3Vic2NyaXB0aW9uc1tlXSx0aGlzLl9zeW1ib2xfZGF0YS5oYXNPd25Qcm9wZXJ0eShhKSYmKGkuaGFzKGEpfHx0aGlzLl9zeW1ib2xfZGF0YVthXS5zdWJzY3JpYmVyc19jb3VudC0tLHRoaXMuX3N5bWJvbF9kYXRhW2FdLnN1YnNjcmliZXJzX2NvdW50fHwoZGVsZXRlIHRoaXMuX3N5bWJvbF9kYXRhW2FdLG4ucHVzaChhKSkpfWVsc2UgbS5sb2dXYXJuKGBDaGVjayB5b3VyIHN1Yi91bnN1YiBsb29rcyBpdCBpcyBsZWFraW5nIChjbGllbnRfaWQ9JHtlfSwgc3ltYm9sPSR7YX0pYCl9bi5sZW5ndGgmJnRoaXMuX2Nvbm5lY3RlZCYmKHRoaXMuX3Nlc3Npb24ucXVvdGVSZW1vdmVTeW1ib2xzKG4pLHRoaXMuX2RlbGF5VXBkYXRlRmFzdFN5bWJvbHMoKSl9c2V0RmFzdFN5bWJvbHMoZSx0KXtpZih0aGlzLl9zdWJzY3JpcHRpb25zW2VdKXtjb25zdCBvPXRoaXMuX3N1YnNjcmlwdGlvbnNbZV0saT1BcnJheS5mcm9tKG8ua2V5cygpKTtmb3IobGV0IGU9MDtlPGkubGVuZ3RoOysrZSl7Y29uc3Qgbj1pW2VdOygwLHMuZW5zdXJlRGVmaW5lZCkoby5nZXQobikpLmZhc3Q9LTEhPT10LmluZGV4T2Yobil9fXRoaXMuX2RlbGF5VXBkYXRlRmFzdFN5bWJvbHMoKX1zbmFwc2hvdChlKXtyZXR1cm4gdm9pZCAwPT09dGhpcy5fZXh0ZW5zaW9ucy5zbmFwc2hvdD9Qcm9taXNlLnJlamVjdCgiTm8gZm9ybWF0dGVyIGV4dGVuc2lvbiBwcm92aWRlZCIpOnRoaXMuX2V4dGVuc2lvbnMuc25hcHNob3QoZSl9Zm9ybWF0dGVyKGUsdCl7cmV0dXJuIHZvaWQgMD09PXRoaXMuX2V4dGVuc2lvbnMuZm9ybWF0dGVyP1Byb21pc2UucmVqZWN0KCJObyBmb3JtYXR0ZXIgZXh0ZW5zaW9uIHByb3ZpZGVkIik6dGhpcy5fZXh0ZW5zaW9ucy5mb3JtYXR0ZXIoZSx0KX1fdXBkYXRlRmFzdFN5bWJvbHMoKXtpZighdGhpcy5fY29ubmVjdGVkKXJldHVybjtjb25zdCBlPXRoaXMuX2Zhc3RTeW1ib2xzKCk7MD09PWUubGVuZ3RoP3RoaXMuX3Nlc3Npb24ucXVvdGVIaWJlcm5hdGVBbGwoKTp0aGlzLl9zZXNzaW9uLnF1b3RlRmFzdFN5bWJvbHMoZSl9X2Zhc3RTeW1ib2xzKCl7bGV0IGU9W107Zm9yKGNvbnN0IHQgaW4gdGhpcy5fc3Vic2NyaXB0aW9ucyl7Y29uc3Qgbz10aGlzLl9zdWJzY3JpcHRpb25zW3RdLGk9QXJyYXkuZnJvbShvLmtleXMoKSk7Zm9yKGxldCB0PTA7dDxpLmxlbmd0aDsrK3Qpe2NvbnN0IG49aVt0XTsoMCxzLmVuc3VyZURlZmluZWQpKG8uZ2V0KG4pKS5mYXN0JiZlLnB1c2gobil9fXJldHVybiBlPSgwLHIuZGVmYXVsdCkoZSksZX1fcGFyc2VVcGRhdGVNb2RlKGUpeygwLHUubm9ybWFsaXplVXBkYXRlTW9kZSkoZSl9fX0sOTcwNzc0KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse1F1b3RlU2Vzc2lvbjooKT0+bn0pO3ZhciBpPW8oMTUwMTUwKTtjbGFzcyBue2NvbnN0cnVjdG9yKGUsdD0oMCxpLnJhbmRvbUhhc2gpKCkpe3RoaXMuX3Nlc3Npb25zdGFydGVkPSExLHRoaXMuX2dsb2JhbEhhbmRsZXI9bnVsbCx0aGlzLl9jaGFydEFwaT1lLHRoaXMuX3Nlc3Npb25pZD0icXNfIit0fWRlc3Ryb3koKXt0aGlzLl9zZXNzaW9uc3RhcnRlZCYmKHRoaXMuX2NoYXJ0QXBpLnF1b3RlRGVsZXRlU2Vzc2lvbih0aGlzLl9zZXNzaW9uaWQpLHRoaXMuX3Nlc3Npb25zdGFydGVkPSExKX1jb25uZWN0ZWQoKXtyZXR1cm4gdGhpcy5fY2hhcnRBcGkuY29ubmVjdGVkKCl9Y29ubmVjdChlKXt0aGlzLl9nbG9iYWxIYW5kbGVyPWUsdGhpcy5fY2hhcnRBcGkuY3JlYXRlU2Vzc2lvbih0aGlzLl9zZXNzaW9uaWQsdGhpcyksdGhpcy5fY2hhcnRBcGkuY29ubmVjdCgpfWRpc2Nvbm5lY3QoKXt0aGlzLl9jaGFydEFwaS5kaXNjb25uZWN0KCl9cXVvdGVBZGRTeW1ib2xzKGUpe3RoaXMuX2NoYXJ0QXBpLnF1b3RlQWRkU3ltYm9scyh0aGlzLl9zZXNzaW9uaWQsZSl9cXVvdGVSZW1vdmVTeW1ib2xzKGUpewp0aGlzLl9jaGFydEFwaS5xdW90ZVJlbW92ZVN5bWJvbHModGhpcy5fc2Vzc2lvbmlkLGUpfXF1b3RlRmFzdFN5bWJvbHMoZSl7dGhpcy5fY2hhcnRBcGkucXVvdGVGYXN0U3ltYm9scyh0aGlzLl9zZXNzaW9uaWQsZSl9cXVvdGVTZXRGaWVsZHMoZSl7dGhpcy5fY2hhcnRBcGkucXVvdGVTZXRGaWVsZHModGhpcy5fc2Vzc2lvbmlkLGUpfW9uTWVzc2FnZShlKXtzd2l0Y2goZS5tZXRob2Qpe2Nhc2UiY29ubmVjdGVkIjp0aGlzLl9zZXNzaW9uc3RhcnRlZHx8KHRoaXMuX2NoYXJ0QXBpLnF1b3RlQ3JlYXRlU2Vzc2lvbih0aGlzLl9zZXNzaW9uaWQpLHRoaXMuX3Nlc3Npb25zdGFydGVkPSEwKTticmVhaztjYXNlImRpc2Nvbm5lY3RlZCI6dGhpcy5fc2Vzc2lvbnN0YXJ0ZWQ9ITF9dGhpcy5fZ2xvYmFsSGFuZGxlcj8uKGUpfXF1b3RlSGliZXJuYXRlQWxsKCl7dGhpcy5fY2hhcnRBcGkucXVvdGVIaWJlcm5hdGVBbGwodGhpcy5fc2Vzc2lvbmlkKX19fSwzNjc5NDYoZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUpe2lmKHZvaWQgMD09PWUpcmV0dXJuIG51bGw7Y29uc3QgdD1lLm1hdGNoKC8oZGVsYXllZF9zdHJlYW1pbmcpXyhcZCspLyk7cmV0dXJuIG51bGw9PT10P251bGw6e21vZGU6dFsxXSxpbnRlcnZhbDpwYXJzZUludCh0WzJdKX19ZnVuY3Rpb24gbihlKXtjb25zdCB0PWkoZS51cGRhdGVfbW9kZSk7cmV0dXJuIG51bGw9PT10fHwoZS51cGRhdGVfbW9kZT10Lm1vZGUsZS51cGRhdGVfbW9kZV9zZWNvbmRzPXQuaW50ZXJ2YWwpLGV9by5kKHQse25vcm1hbGl6ZVVwZGF0ZU1vZGU6KCk9Pm4scGFyc2VVcGRhdGVNb2RlOigpPT5pfSl9LDM1NjM4MChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtnZXRUb29sdGlwRGF0YTooKT0+bixzZXRUb29sdGlwRGF0YTooKT0+cn0pO2NvbnN0IGk9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gbihlLHQpe2NvbnN0IG89aS5nZXQoZSk7cmV0dXJuIG8gaW5zdGFuY2VvZiBGdW5jdGlvbj9vKHQpOm8mJm9bdF19ZnVuY3Rpb24gcihlLHQsbyl7aWYobyBpbnN0YW5jZW9mIEZ1bmN0aW9uKXJldHVybiB2b2lkIGkuc2V0KGUsbyk7Y29uc3Qgbj1pLmdldChlKSxyPXZvaWQgMD09PW58fG4gaW5zdGFuY2VvZiBGdW5jdGlvbj97fTpuO3JbdF09byxpLnNldChlLHIpfX0sNDkwMzc4KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2dldERhdGFGcm9tVGFyZ2V0OigpPT5wLGdldFRvb2x0aXA6KCk9Pm0saGlkZVRvb2x0aXA6KCk9PmYsc2V0U3R5bGU6KCk9Pmcsc2hvd1Rvb2x0aXA6KCk9PnZ9KTt2YXIgaSxuPW8oMTM4NjM4KSxyPW8oNDQzNTU3KSxzPW8oOTY5MTY4KSxhPShvKDgyOTE4MCksbyg1MTg3NSkpLGw9byg2NDA3NDQpLGM9bygzMTg5NzQpLGQ9byg2ODY2NTApLGg9bygzNTYzODApLHU9bygzNDUxNTEpLF89bygxMTQwNjgpO2Z1bmN0aW9uIHAoZSl7Y29uc3QgdD1mdW5jdGlvbihlKXtjb25zdCB0PWUuaGFzQXR0cmlidXRlKCJkYXRhLXRvb2x0aXAiKT9lLmdldEF0dHJpYnV0ZSgiZGF0YS10b29sdGlwIik6ZS5nZXRBdHRyaWJ1dGUoInRpdGxlIik7cmV0dXJuIHQmJigoMCxoLnNldFRvb2x0aXBEYXRhKShlLCJ0ZXh0Iix0KSxlLnJlbW92ZUF0dHJpYnV0ZSgidGl0bGUiKSksKDAsaC5nZXRUb29sdGlwRGF0YSkoZSwidGV4dCIpfHwiIn0oZSksbz1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGk9e2g6by5oZWlnaHQsdzpvLndpZHRoLHg6by5sZWZ0LHk6by50b3B9LG49ZS5nZXRBdHRyaWJ1dGUoImRhdGEtY29sb3ItdGhlbWUiKXx8IiIscj1lLmNsYXNzTGlzdC5jb250YWlucygiY29tbW9uLXRvb2x0aXAtaHRtbCIpLHM9cGFyc2VJbnQoZS5nZXRBdHRyaWJ1dGUoImRhdGEtdG9vbHRpcC1kZWxheSIpfHwiIiksYT1wYXJzZUludChlLmdldEF0dHJpYnV0ZSgiZGF0YS10b29sdGlwLWRlYm91bmNlIil8fCIiKTtsZXQgbD17dHlwZToibm9uZSJ9O3JldHVybiB0JiYobD17dHlwZTpyPyJodG1sIjoidGV4dCIsZGF0YTp0fSkse2Fib3ZlOmUuY2xhc3NMaXN0LmNvbnRhaW5zKCJjb21tb24tdG9vbHRpcC1hYm92ZSIpLGJlbG93OmUuY2xhc3NMaXN0LmNvbnRhaW5zKCJjb21tb24tdG9vbHRpcC1iZWxvdyIpLG90bDplLmNsYXNzTGlzdC5jb250YWlucygiY29tbW9uLXRvb2x0aXAtb3RsIiksb3RyOmUuY2xhc3NMaXN0LmNvbnRhaW5zKCJjb21tb24tdG9vbHRpcC1vdHIiKSx2ZXJ0aWNhbDplLmNsYXNzTGlzdC5jb250YWlucygiY29tbW9uLXRvb2x0aXAtdmVydGljYWwiKSxob3RrZXk6ZS5nZXRBdHRyaWJ1dGUoImRhdGEtdG9vbHRpcC1ob3RrZXkiKSxuYXJyb3c6ZS5jbGFzc0xpc3QuY29udGFpbnMoImNvbW1vbi10b29sdGlwLW5hcnJvdyIpLHdpZGU6ZS5jbGFzc0xpc3QuY29udGFpbnMoImNvbW1vbi10b29sdGlwLXdpZGUiKSxjb2xvclRoZW1lOm4sdG9vbHRpcERlbGF5OnMsdG9vbHRpcERlYm91bmNlOmEscmVjdDppLGNvbnRlbnQ6bCx0YXJnZXQ6ZX19ZnVuY3Rpb24gbShlKXtjb25zdCB0PSgwLG4uZW5zdXJlTm90TnVsbCkoQykuY2xvbmVOb2RlKCEwKSxvPUUodCkse2NvbnRlbnQ6aX09ZTtzd2l0Y2goaS50eXBlKXtjYXNlImVsZW1lbnQiOm8uaW5uZXJIVE1MPSIiLG8uYXBwZW5kQ2hpbGQoaS5kYXRhKTticmVhaztjYXNlImh0bWwiOm8uaW5uZXJIVE1MPWkuZGF0YTticmVhaztjYXNlInRleHQiOmlmKGUuaG90a2V5KXtjb25zdCBlPSgwLG4uZW5zdXJlTm90TnVsbCkoVCkuY2xvbmVOb2RlKCEwKTtlLmlubmVyVGV4dD1pLmRhdGEsby5hcHBlbmRDaGlsZChlKX1lbHNlIG8uaW5uZXJUZXh0PWkuZGF0YX1pZihlLmhvdGtleSl7Y29uc3QgdD0ibm9uZSIhPT1pLnR5cGUscj0oMCxuLmVuc3VyZU5vdE51bGwpKGspLmNsb25lTm9kZSghMCkscz0oMCx1LmhvdEtleURlc2VyaWFsaXplKShlLmhvdGtleSksYT1zLmtleXMubWFwKChlPT5gPHNwYW4gY2xhc3M9IiR7X1siY29tbW9uLXRvb2x0aXBfX2hvdGtleS1idXR0b24iXX0iPiR7ZX08L3NwYW4+YCkpO3IuaW5uZXJIVE1MPWZ1bmN0aW9uKGUsdCl7Y29uc3Qgbz0ve1xkfXx7aG90a2V5X1xkfS9naTtyZXR1cm4gZS5yZXBsYWNlKG8sKGU9Pntjb25zdCBvPU51bWJlcihlLm1hdGNoKC9cZC8pKQo7cmV0dXJuIHRbb119KSl9KHMudGV4dCxhKS5yZXBsYWNlKC9cc1wrXHMvZyxgPHNwYW4gY2xhc3M9IiR7X1siY29tbW9uLXRvb2x0aXBfX3BsdXMtc2lnbiJdfSI+Kzwvc3Bhbj5gKSxvLmNsYXNzTGlzdC5hZGQoX1siY29tbW9uLXRvb2x0aXBfX2JvZHktLXdpdGgtaG90a2V5Il0pLHQmJnIuY2xhc3NMaXN0LmFkZChfWyJjb21tb24tdG9vbHRpcF9faG90a2V5LWJsb2NrLS1kaXZpZGVyIl0pLG8uYXBwZW5kQ2hpbGQocil9cmV0dXJuIHQuYWRkRXZlbnRMaXN0ZW5lcigiY29udGV4dG1lbnUiLGEucHJldmVudERlZmF1bHQpLHR9ZnVuY3Rpb24gZyhlLHQpe2NvbnN0IG89dC5yZWN0O2lmKCFvKXJldHVybjsoMCxkLnNldFRvb2x0aXBDb2xvclRoZW1lKShlLHQuY29sb3JUaGVtZXx8ImRlZmF1bHQiKTtjb25zdCBpPUUoZSksbj1lLnF1ZXJ5U2VsZWN0b3IoYC4ke19bImNvbW1vbi10b29sdGlwX19idXR0b24tY29udGFpbmVyIl19YCk7dC5hZGRDbGFzcyYmZS5jbGFzc0xpc3QuYWRkKHQuYWRkQ2xhc3MpLHQuYWRkQm9keUNsYXNzJiZpLmNsYXNzTGlzdC5hZGQodC5hZGRCb2R5Q2xhc3MpLGkuY2xhc3NMaXN0LnRvZ2dsZShfWyJjb21tb24tdG9vbHRpcF9fYm9keS0td2lkdGhfd2lkZSJdLEJvb2xlYW4odC53aWRlKSksaS5jbGFzc0xpc3QudG9nZ2xlKF9bImNvbW1vbi10b29sdGlwX19ib2R5LS1uby1wYWRkaW5nIl0sQm9vbGVhbih0Lm5vUGFkZGluZykpLGkuY2xhc3NMaXN0LnRvZ2dsZShfWyJjb21tb24tdG9vbHRpcF9fYm9keS0td2lkdGhfbmFycm93Il0sQm9vbGVhbih0Lm5hcnJvdykpLGkuY2xhc3NMaXN0LnRvZ2dsZShfWyJjb21tb24tdG9vbHRpcF9fYm9keS0tbm8tYnV0dG9ucyJdLCEwKSxpLnN0eWxlLmxlZnQ9eSgwKSxpLnN0eWxlLndpZHRoPXkoaS5jbGllbnRXaWR0aCsoQm9vbGVhbih0Lm5vUGFkZGluZyk/MDoyKSk7Y29uc3Qgcj1kb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoLGE9Yy5DaGVja01vYmlsZS5pT1MoKXx8Yy5DaGVja01vYmlsZS5BbmRyb2lkKCl8fCgwLGMuc3VwcG9ydFRvdWNoKSgpJiYoMCxjLmlzTWFjKSgpP3dpbmRvdy5pbm5lckhlaWdodDpkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodCxoPXQudmVydGljYWwsdT10LmV4dGVuZE1hcmdpbnx8aCYmby53PDIwfHwhaCYmby5oPDIwO2UuY2xhc3NMaXN0LnRvZ2dsZShfWyJjb21tb24tdG9vbHRpcC0tZmFydGhlciJdLHUpLGUuY2xhc3NMaXN0LnRvZ2dsZShfWyJjb21tb24tdG9vbHRpcC0tdmVydGljYWwiXSxoKSxlLmNsYXNzTGlzdC50b2dnbGUoX1siY29tbW9uLXRvb2x0aXAtLWhvcml6b250YWwiXSwhaCk7Y29uc3QgcD1mdW5jdGlvbihlKXtyZXR1cm4gZS5xdWVyeVNlbGVjdG9yKGAuJHtfWyJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlciJdfWApfShlKSxtPWUub2Zmc2V0SGVpZ2h0O2lmKGgpe2NvbnN0IGM9MTAsZD1hLTEwLGg9MTIsdT1jK2gsZz1kLWgsdj0oMCxsLmNsYW1wKShvLnkrby5oLzIsdSxnKS1tLzIsZj12K207ZS5zdHlsZS5sZWZ0PXkoby54K28udyksZS5zdHlsZS50b3A9eSh2KSx2PGM/aS5zdHlsZS50b3A9bi5zdHlsZS50b3A9eShjLXYpOmY+ZCYmKGkuc3R5bGUudG9wPW4uc3R5bGUudG9wPXkoZC1mKSk7Y29uc3R7cmlnaHQ6Yn09KGUucXVlcnlTZWxlY3RvcigiOmxhc3QtY2hpbGQiKXx8aSkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksUz1iKzEwPnI7ZS5jbGFzc0xpc3QudG9nZ2xlKF9bImNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fcmV2ZXJzZWQiXSxTKSxlLmNsYXNzTGlzdC50b2dnbGUoX1siY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9ub3JtYWwiXSwhUyk7bGV0IHc9Uz8iYWZ0ZXIiOiJiZWZvcmUiOygwLHMuaXNSdGwpKCk/KHc9dC5vdHI/ImFmdGVyIjp3LHc9dC5vdGw/ImJlZm9yZSI6dyk6KHc9dC5vdHI/ImJlZm9yZSI6dyx3PXQub3RsPyJhZnRlciI6dykscC5jbGFzc0xpc3QudG9nZ2xlKF9bImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWZvcmUiXSwiYmVmb3JlIj09PXcpLHAuY2xhc3NMaXN0LnRvZ2dsZShfWyJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWZ0ZXIiXSwiYWZ0ZXIiPT09dyksImFmdGVyIj09PXcmJihlLnN0eWxlLmxlZnQ9ImF1dG8iLGUuc3R5bGUucmlnaHQ9eShyLW8ueCkpfWVsc2V7Y29uc3Qgcz1vLngtKGkub2Zmc2V0V2lkdGgtby53KS8yLGw9ci1lLm9mZnNldFdpZHRoLTIwPD0wPyhyLWUub2Zmc2V0V2lkdGgpLzI6MTAsYz1yLWwtZS5vZmZzZXRXaWR0aCxkPU1hdGgubWF4KGwsTWF0aC5taW4ocyxjKSk7ZS5zdHlsZS5sZWZ0PXkoZCk7Y29uc3QgaD1jPHM7ZS5jbGFzc0xpc3QudG9nZ2xlKF9bImNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fcmV2ZXJzZWQiXSxoKSxlLmNsYXNzTGlzdC50b2dnbGUoX1siY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9ub3JtYWwiXSwhaCk7Y29uc3QgdT1mdW5jdGlvbihlLHQsbyxpKXtpZihlLmFib3ZlKXJldHVybiB4KHQsaSk/ImFib3ZlIjoiYmVsb3ciO2lmKGUuYmVsb3cpcmV0dXJuIGZ1bmN0aW9uKGUsdCxvKXtyZXR1cm4gby55K28uaCt0KzEwPGV9KHQsbyxpKT8iYmVsb3ciOiJhYm92ZSI7cmV0dXJuIHgobyxpKT8iYWJvdmUiOiJiZWxvdyJ9KHQsYSxtLG8pOyJhYm92ZSI9PT11P2Uuc3R5bGUuYm90dG9tPXkoYS1vLnkpOmUuc3R5bGUudG9wPXkoby55K28uaCkscC5jbGFzc0xpc3QuYWRkKCJhYm92ZSI9PT11P19bImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZSJdOl9bImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWxvdyJdKTtjb25zdHtsZWZ0Omd9PWkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7bGV0IHY9TWF0aC50cnVuYyhvLngrby53LzItKGcraS5jbGllbnRXaWR0aC8yKSk7ZS5zdHlsZS5sZWZ0PXkoZCt2KSxlLnN0eWxlLndpZHRoPXkoaS5jbGllbnRXaWR0aCtuLmNsaWVudFdpZHRoKSx2PWg/TWF0aC5tYXgoMCx2KTpNYXRoLm1pbigwLHYpLG4uc3R5bGUubGVmdD15KC12KSxpLnN0eWxlLmxlZnQ9eSgtdil9fWZ1bmN0aW9uIHYoZSl7ZS5jbGFzc0xpc3QudG9nZ2xlKF9bImNvbW1vbi10b29sdGlwLS1oaWRkZW4iXSwhMSl9ZnVuY3Rpb24gZihlKXsKZS5jbGFzc0xpc3QudG9nZ2xlKF9bImNvbW1vbi10b29sdGlwLS1oaWRkZW4iXSwhMCl9ZnVuY3Rpb24geShlKXtyZXR1cm5gJHtNYXRoLmZsb29yKGUpfXB4YH0hZnVuY3Rpb24oZSl7ZVtlLlZpZXdwb3J0UGFkZGluZz0xMF09IlZpZXdwb3J0UGFkZGluZyJ9KGl8fChpPXt9KSk7Y29uc3QgYj1gXG5cdDxkaXYgaWQ9ImNvbW1vbi10b29sdGlwLXdyYXBwZXIiIGNsYXNzPSIke19bImNvbW1vbi10b29sdGlwIl19Ij5cblx0XHQ8ZGl2IGNsYXNzPSIke19bImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyIl19IiA+XG5cdFx0XHQ8ZGl2IGNsYXNzPSIke19bImNvbW1vbi10b29sdGlwX19ib2R5Il19IGpzLXRvb2x0aXAtYm9keSI+PC9kaXY+XG5cdFx0PC9kaXY+XG5cdFx0PGRpdiBjbGFzcz0iJHtfWyJjb21tb24tdG9vbHRpcF9fYnV0dG9uLWNvbnRhaW5lciJdfSI+PC9kaXY+XG5cdDwvZGl2PlxuYCxTPWBcblx0PGRpdiBjbGFzcz0iJHtfWyJjb21tb24tdG9vbHRpcF9faG90a2V5LWJsb2NrIl19Ij48L2Rpdj5cbmAsdz1gXG5cdDxkaXYgY2xhc3M9IiR7X1siY29tbW9uLXRvb2x0aXBfX2hvdGtleS10ZXh0Il19Ij48L2Rpdj5cbmAsQz0oMCxyLnBhcnNlSHRtbEVsZW1lbnQpKGIpLGs9KDAsci5wYXJzZUh0bWxFbGVtZW50KShTKSxUPSgwLHIucGFyc2VIdG1sRWxlbWVudCkodyk7ZnVuY3Rpb24gRShlKXtyZXR1cm4gZS5xdWVyeVNlbGVjdG9yKGAuJHtfWyJjb21tb24tdG9vbHRpcF9fYm9keSJdfWApfWZ1bmN0aW9uIHgoZSx0KXtyZXR1cm4gMTArZTx0Lnl9fSwzNDUxNTEoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7aG90S2V5RGVzZXJpYWxpemU6KCk9PnIsaG90S2V5U2VyaWFsaXplOigpPT5ufSk7dmFyIGk9byg2NDE1OTMpO2Z1bmN0aW9uIG4oZSl7cmV0dXJuKDAsaS5odG1sRXNjYXBlKShKU09OLnN0cmluZ2lmeShlKSl9ZnVuY3Rpb24gcihlKXtyZXR1cm4gSlNPTi5wYXJzZSgoMCxpLmRlY29kZUhUTUxFbnRpdGllcykoZSkpfX0sMTY3ODk2KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2VtcHR5OigpPT5zLHNldFRvb2x0aXA6KCk9PmF9KTtjb25zdCBpPSJ0b29sdGlwLXJvb3QtZWxlbWVudCI7bGV0IG47ZnVuY3Rpb24gcigpe2NvbnN0IGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaSk7ZT9uPWU6KG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iiksbi5pZD1pLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobikpfWZ1bmN0aW9uIHMoKXtuJiYobi5pbm5lckhUTUw9IiIpfWZ1bmN0aW9uIGEoZSl7cygpLG58fHIoKSxuLmFwcGVuZENoaWxkKGUpfSJpbnRlcmFjdGl2ZSI9PT1kb2N1bWVudC5yZWFkeVN0YXRlP3IoKTpkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixyKX0sNjU4OTk1KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2NsZWFyU2NoZWR1bGU6KCk9PnMsc2NoZWR1bGVIaWRlOigpPT5sLHNjaGVkdWxlUmVtb3ZlOigpPT5hLHNjaGVkdWxlUmVuZGVyOigpPT5jfSk7bGV0IGk9MCxuPTAscj0wO2Z1bmN0aW9uIHMoKXtjbGVhclRpbWVvdXQoaSksY2xlYXJUaW1lb3V0KG4pLGNsZWFyVGltZW91dChyKX1mdW5jdGlvbiBhKGUsdCl7cj1zZXRUaW1lb3V0KGUsdCl9ZnVuY3Rpb24gbChlLHQpe249c2V0VGltZW91dChlLHQpfWZ1bmN0aW9uIGMoZSx0KXtpPXNldFRpbWVvdXQoZSx0KX19LDY4NjY1MChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtzZXRUb29sdGlwQ29sb3JUaGVtZTooKT0+cn0pO2NvbnN0IGk9e2RlZmF1bHQ6IiIsd2hpdGU6InRoZW1lLXdoaXRlIixjaGFydDoidGhlbWUtY2hhcnQiLG5ld3M6InRoZW1lLW5ld3MiLCJyb3VuZC1zaGFkb3ciOiJ0aGVtZS1yb3VuZC1zaGFkb3cifSxuPU9iamVjdC5rZXlzKGkpO2Z1bmN0aW9uIHIoZSx0KXtjb25zdCBvPW4uaW5jbHVkZXModCk/aVt0XToiIjtlLmNsYXNzTGlzdC5yZW1vdmUoLi4ubi5tYXAoKGU9PmlbZV0pKS5maWx0ZXIoKGU9PiEhZSkpKSxvJiYhZS5jbGFzc0xpc3QuY29udGFpbnMobykmJmUuY2xhc3NMaXN0LmFkZChvKX19LDM0NDc4NShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtoaWRlOigpPT52LHNob3dPbkVsZW1lbnQ6KCk9Pl99KTt2YXIgaT1vKDM2MzI2OSksbj1vKDEzODYzOCkscj1vKDcyNzA5KSxzPW8oNjU4OTk1KSxhPW8oMTY3ODk2KSxsPW8oNDkwMzc4KTtsZXQgYz0hMSxkPW51bGwsaD1udWxsO2kubW9iaWxldG91Y2h8fChkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLG0sITApLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwoZnVuY3Rpb24oZSl7Y29uc3QgdD1lLnRhcmdldDtpZighKHQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmdC5jbG9zZXN0KCdbZGF0YS10b29sdGlwLXNob3ctb24tZm9jdXM9InRydWUiXScpJiZ0Lm1hdGNoZXMoIjpmb2N1cy12aXNpYmxlIikpKXJldHVybjttKGUsITApfSkse2NhcHR1cmU6ITB9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJhY3RpdmUtZGVzY2VuZGFudC1mb2N1cyIsKGZ1bmN0aW9uKGUpe2UudGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJm0oZSwhMCl9KSx7Y2FwdHVyZTohMH0pKTtjb25zdCB1PW5ldyBNdXRhdGlvbk9ic2VydmVyKCgoKT0+e2lmKGQmJmQub3B0aW9ucy50YXJnZXQpe2xldCBlO2U9ImlzQ29ubmVjdGVkImluIGQub3B0aW9ucy50YXJnZXQ/ZC5vcHRpb25zLnRhcmdldC5pc0Nvbm5lY3RlZDpkb2N1bWVudC5ib2R5LmNvbnRhaW5zKGQub3B0aW9ucy50YXJnZXQpLGV8fHYoKX19KSksXz0oZSx0PXt9KT0+e2NvbnN0e2NvbnRlbnQ6bywuLi5pfT1iKHQpLG49bC5nZXREYXRhRnJvbVRhcmdldChlKSxyPU9iamVjdC5hc3NpZ24obixpKTtyZXR1cm4ibm9uZSIhPT1vLnR5cGUmJihyLmNvbnRlbnQ9byksISgibm9uZSI9PT1yLmNvbnRlbnQudHlwZSYmIXIuaG90a2V5KSYmKHIudGFyZ2V0PWUscChyKSwhMCl9LHA9ZT0+e2NvbnN0IHQ9YihlKSxvPWwuZ2V0VG9vbHRpcCh0KTtpZihkPXtvcHRpb25zOnQsZWxlbWVudDpvfSwoMCxhLnNldFRvb2x0aXApKG8pLCgwLHMuY2xlYXJTY2hlZHVsZSkoKSwKIWMpcmV0dXJuIGwuaGlkZVRvb2x0aXAobyksdm9pZCgwLHMuc2NoZWR1bGVSZW5kZXIpKCgoKT0+ZihvKSksZnVuY3Rpb24oZSl7cmV0dXJuIm51bWJlciIhPXR5cGVvZiBlLnRvb2x0aXBEZWxheXx8aXNOYU4oZS50b29sdGlwRGVsYXkpPzUwMDplLnRvb2x0aXBEZWxheX0odCkpO2NvbnN0e3Rvb2x0aXBEZWJvdW5jZTppfT1lOyJudW1iZXIiIT10eXBlb2YgaXx8aXNOYU4oaSk/ZihvKTooMCxzLnNjaGVkdWxlUmVuZGVyKSgoKCk9PmYobykpLGkpfTtmdW5jdGlvbiBtKGUsdCl7aWYoInNvdXJjZUNhcGFiaWxpdGllcyJpbiBlJiZlLnNvdXJjZUNhcGFiaWxpdGllcz8uZmlyZXNUb3VjaEV2ZW50cylyZXR1cm47Y29uc3Qgbz1mdW5jdGlvbihlLHQsbyl7Y29uc3QgaT1bXTtmb3IoO2UmJmUhPT10OyllLmNsYXNzTGlzdCYmZS5jbGFzc0xpc3QuY29udGFpbnMobykmJmkucHVzaChlKSxlPWUucGFyZW50RWxlbWVudHx8eShlLnBhcmVudE5vZGUpO3JldHVybiBpfShlLnRhcmdldCxlLmN1cnJlbnRUYXJnZXQsImFwcGx5LWNvbW1vbi10b29sdGlwIik7Zm9yKGNvbnN0IGkgb2Ygbyl7aWYoZSBpbnN0YW5jZW9mIE1vdXNlRXZlbnQpaWYoImJ1dHRvbnMiaW4gZSl7aWYoMSZlLmJ1dHRvbnMpY29udGludWV9ZWxzZSBpZigxPT09ZS53aGljaCljb250aW51ZTtjb25zdCBvPSgpPT5fKGkpO2lmKG8oKSl7Y29uc3QgZT1lPT5uKG51bGwsITApLG49KHIscz0hMSk9PntpLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNvbW1vbi10b29sdGlwLXVwZGF0ZSIsbyksaS5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIixuKSxpLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsbiksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixlLHtjYXB0dXJlOiEwfSksdCYmKGkucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYmx1ciIsbiksaS5yZW1vdmVFdmVudExpc3RlbmVyKCJhY3RpdmUtZGVzY2VuZGFudC1ibHVyIixuKSksaCYmKGguZGVzdHJveSgpLGg9bnVsbCksdihzKX07aS5hZGRFdmVudExpc3RlbmVyKCJjb21tb24tdG9vbHRpcC11cGRhdGUiLG8pLGkuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsbiksaS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLG4pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsZSx7Y2FwdHVyZTohMH0pLHQmJihpLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLG4pLGkuYWRkRXZlbnRMaXN0ZW5lcigiYWN0aXZlLWRlc2NlbmRhbnQtYmx1ciIsbikpLG51bGw9PT1oJiYoaD0oMCxyLmNyZWF0ZUdyb3VwKSh7ZGVzYzoiVG9vbHRpcCJ9KSxoLmFkZCh7ZGVzYzoiSGlkZSIsaG90a2V5OjI3LGhhbmRsZXI6bn0pKTticmVha319fWZ1bmN0aW9uIGcoKXsoMCxhLmVtcHR5KSgpLGM9ITEsZD1udWxsfWNvbnN0IHY9KGUsdCk9PntpZigoMCxzLmNsZWFyU2NoZWR1bGUpKCksKDAsbi5lbnN1cmVOb3ROdWxsKSh1KS5kaXNjb25uZWN0KCksIWQpcmV0dXJuO2lmKCFlJiYhYylyZXR1cm47Y29uc3R7ZWxlbWVudDpvLG9wdGlvbnM6aX09ZCxyPSgpPT57by5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIixyKSxsLmhpZGVUb29sdGlwKG8pLGU/ZygpOigwLHMuc2NoZWR1bGVSZW1vdmUpKCgoKT0+e2coKX0pLDI1MCksdD8uKCl9O2kudG9vbHRpcEhpZGVEZWxheT8oMCxzLnNjaGVkdWxlSGlkZSkoKCgpPT57by5xdWVyeVNlbGVjdG9yKCI6aG92ZXIiKT9vLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHIpOnIoKX0pLGkudG9vbHRpcEhpZGVEZWxheSk6cigpfTtmdW5jdGlvbiBmKGUpe2NvbnN0e29wdGlvbnM6dH09KDAsbi5lbnN1cmVOb3ROdWxsKShkKTtpZihsLnNldFN0eWxlKGUsdCksbC5zaG93VG9vbHRpcChlKSwoMCxuLmVuc3VyZU5vdE51bGwpKHUpLm9ic2VydmUoZG9jdW1lbnQse2NoaWxkTGlzdDohMCxzdWJ0cmVlOiEwfSksYz0hMCx0LmZvcmNlSGlkZU9uTW92ZSl7Y29uc3QgZT0oKT0+e2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsZSksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixlKSx2KCl9O2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsZSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixlKX19ZnVuY3Rpb24geShlKXtyZXR1cm4gZSYmKGUubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERT9lOm51bGwpfWZ1bmN0aW9uIGIoZSl7aWYoZnVuY3Rpb24oZSl7cmV0dXJuImNvbnRlbnQiaW4gZX0oZSkpcmV0dXJuIGU7Y29uc3R7aW5uZXI6dCxodG1sOm8sdGV4dDppLC4uLm59PWU7bGV0IHI9e3R5cGU6Im5vbmUifTtyZXR1cm4gdCYmKHI9e3R5cGU6ImVsZW1lbnQiLGRhdGE6dH0pLGkmJihyPXt0eXBlOm8/Imh0bWwiOiJ0ZXh0IixkYXRhOml9KSx7Y29udGVudDpyLC4uLm59fX0sNzAzMDQxKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse01hcmtldERpYWxvZ0NvbnRleHQ6KCk9PnIsTWFya2V0RGlhbG9nTW9kZTooKT0+aX0pO3ZhciBpLG49byg3Nzk0NzQpOyFmdW5jdGlvbihlKXtlLlNpbmdsZT0ic2luZ2xlIixlLk11bHRpPSJtdWx0aSJ9KGl8fChpPXt9KSk7Y29uc3Qgcj0oMCxuLmNyZWF0ZUNvbnRleHQpKG51bGwpfSwyNDk0NjkoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7ZW50aXJlV29ybGRNYXJrZXRzUHJlc2V0OigpPT5hLGdldE1hcmtldEdyb3VwTmFtZU1hcDooKT0+cixpc01hcmtldHNQcmVzZXQ6KCk9Pmx9KTt2YXIgaT1vKDE4NTI3MSksbj1vKDE5NjIwMSk7Y29uc3Qgcj0oKT0+KHtbbi5NYXJrZXRHcm91cC5DdXN0b21dOiIiLFtuLk1hcmtldEdyb3VwLkVudGlyZVdvcmxkXToiIixbbi5NYXJrZXRHcm91cC5Ob3J0aEFtZXJpY2FdOmkudChudWxsLHZvaWQgMCxvKDY4OTcxNikpLFtuLk1hcmtldEdyb3VwLkV1cm9wZV06aS50KG51bGwsdm9pZCAwLG8oOTUyMzY3KSksW24uTWFya2V0R3JvdXAuTWlkZGxlRWFzdEFmcmljYV06aS50KG51bGwsdm9pZCAwLG8oNjAzMDY1KSksW24uTWFya2V0R3JvdXAuTWV4aWNvU291dGhBbWVyaWNhXTppLnQobnVsbCx2b2lkIDAsbyg1OTgyNDcpKSwKW24uTWFya2V0R3JvdXAuQXNpYVBhY2lmaWNdOmkudChudWxsLHZvaWQgMCxvKDc2NDE3MSkpLFtuLk1hcmtldEdyb3VwLldvcmxkd2lkZV06aS50KG51bGwsdm9pZCAwLG8oNjQzMDc1KSksW24uTWFya2V0R3JvdXAuRzIwXTppLnQobnVsbCx2b2lkIDAsbyg5Nzg1NjEpKX0pO3ZhciBzOyFmdW5jdGlvbihlKXtlLkVudGlyZVdvcmxkPSJlbnRpcmVfd29ybGQiLGUuRzIwPSJnMjAifShzfHwocz17fSkpO2NvbnN0IGE9ZT0+KHt2YWx1ZToiZW50aXJlX3dvcmxkIixuYW1lOmkudChudWxsLHZvaWQgMCxvKDkxNTEyNCkpLGRlc2M6IiIsZ3JvdXA6bi5NYXJrZXRHcm91cC5DdXN0b20sY291bnRyaWVzOmU/P1tdfSk7ZnVuY3Rpb24gbChlKXtyZXR1cm4gZS5ncm91cD09PW4uTWFya2V0R3JvdXAuQ3VzdG9tJiZlLmhhc093blByb3BlcnR5KCJjb3VudHJpZXMiKX19LDE5NjIwMShlLHQsbyl7InVzZSBzdHJpY3QiO3ZhciBpO28uZCh0LHtNYXJrZXRHcm91cDooKT0+aX0pLGZ1bmN0aW9uKGUpe2UuQ3VzdG9tPSJDdXN0b20iLGUuRW50aXJlV29ybGQ9IkVudGlyZSBXb3JsZCIsZS5Ob3J0aEFtZXJpY2E9Ik5vcnRoIEFtZXJpY2EiLGUuRXVyb3BlPSJFdXJvcGUiLGUuTWlkZGxlRWFzdEFmcmljYT0iTWlkZGxlIEVhc3QgLyBBZnJpY2EiLGUuTWV4aWNvU291dGhBbWVyaWNhPSJNZXhpY28gYW5kIFNvdXRoIEFtZXJpY2EiLGUuQXNpYVBhY2lmaWM9IkFzaWEgLyBQYWNpZmljIixlLldvcmxkd2lkZT0iV29ybGR3aWRlIixlLkcyMD0iRzIwIn0oaXx8KGk9e30pKX0sOTk4NjYxKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtjb25zdCB0PW5ldyBNYXA7cmV0dXJuIGUuZm9yRWFjaCgoZT0+e3QuaGFzKGUuZ3JvdXApP3QuZ2V0KGUuZ3JvdXApLnB1c2goZSk6dC5zZXQoZS5ncm91cCxbZV0pfSkpLHR9ZnVuY3Rpb24gbihlLHQpe3JldHVybiB0Lm1hcCgodD0+ZS5maW5kKChlPT5lLnZhbHVlPT09dCkpKSkuZmlsdGVyKChlPT5Cb29sZWFuKGUpKSl9ZnVuY3Rpb24gcihlLHQ9Mil7aWYoMD09PWUubGVuZ3RoKXJldHVybltdO2lmKDE9PT10KXJldHVybltlXTtjb25zdCBvPU1hdGguZmxvb3IoZS5sZW5ndGgvMikrZS5sZW5ndGglMjtyZXR1cm5bZS5zbGljZSgwLG8pLGUuc2xpY2UobyldLmZpbHRlcigoZT0+ZS5sZW5ndGg+MCkpfW8uZCh0LHtjcmVhdGVHcm91cENvbHVtbnM6KCk9PnIsZ2V0TWFya2V0c0J5TmFtZXM6KCk9Pm4sc3BsaXRNYXJrZXRzQnlHcm91cDooKT0+aX0pfSwxODk4NjMoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7U3Bpbm5lcjooKT0+cn0pO28oODQ1NTc3KTt2YXIgaT1vKDQ0MzU1Nyksbj1vKDU2NzQ3OSk7Y2xhc3Mgcntjb25zdHJ1Y3RvcihlKXt0aGlzLl9zaG93bj0hMSx0aGlzLl9lbD0oMCxpLnBhcnNlSHRtbEVsZW1lbnQpKGZ1bmN0aW9uKGU9IiIpe3JldHVybmA8ZGl2IGNsYXNzPSJ0di1zcGlubmVyICR7ZX0iIHJvbGU9InByb2dyZXNzYmFyIj48L2Rpdj5gfSgpKSx0aGlzLnNldFNpemUobi5zcGlubmVyU2l6ZU1hcFtlfHxuLkRFRkFVTFRfU0laRV0pfXNwaW4oZSl7cmV0dXJuIHRoaXMuX2VsLmNsYXNzTGlzdC5hZGQoInR2LXNwaW5uZXItLXNob3duIiksdm9pZCAwPT09dGhpcy5fY29udGFpbmVyJiYodGhpcy5fY29udGFpbmVyPWUsdm9pZCAwIT09ZSYmZS5hcHBlbmRDaGlsZCh0aGlzLl9lbCkpLHRoaXMuX3Nob3duPSEwLHRoaXN9c3RvcChlKXtyZXR1cm4gZSYmdm9pZCAwIT09dGhpcy5fY29udGFpbmVyJiZ0aGlzLl9jb250YWluZXIucmVtb3ZlQ2hpbGQodGhpcy5fZWwpLHRoaXMuX2VsJiZ0aGlzLl9lbC5jbGFzc0xpc3QucmVtb3ZlKCJ0di1zcGlubmVyLS1zaG93biIpLHRoaXMuX3Nob3duPSExLHRoaXN9c2V0U3R5bGUoZSl7cmV0dXJuIE9iamVjdC5rZXlzKGUpLmZvckVhY2goKHQ9Pntjb25zdCBvPWVbdF07dm9pZCAwIT09byYmdGhpcy5fZWwuc3R5bGUuc2V0UHJvcGVydHkodCxvKX0pKSx0aGlzfXN0eWxlKCl7cmV0dXJuIHRoaXMuX2VsLnN0eWxlfXNldFNpemUoZSl7Y29uc3QgdD12b2lkIDAhPT1lP2B0di1zcGlubmVyLS1zaXplXyR7ZX1gOiIiO3JldHVybiB0aGlzLl9lbC5jbGFzc05hbWU9YHR2LXNwaW5uZXIgJHt0fSAke3RoaXMuX3Nob3duPyJ0di1zcGlubmVyLS1zaG93biI6IiJ9YCx0aGlzfWdldEVsKCl7cmV0dXJuIHRoaXMuX2VsfWRlc3Ryb3koKXt0aGlzLnN0b3AoKSxkZWxldGUgdGhpcy5fZWwsZGVsZXRlIHRoaXMuX2NvbnRhaW5lcn19fSwyMDI0NjAoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7QWJzdHJhY3RJbmRpY2F0b3I6KCk9PmF9KTt2YXIgaT1vKDIyMTA2MSksbj1vKDE1MDE1MCkscj1vKDE1OTUxMyk7bygzNDQ3ODUpO2NvbnN0IHM9KDAsaS5nZXRMb2dnZXIpKCJHVUkuQmxvY2tzLkFic3RyYWN0SW5kaWNhdG9yIik7Y2xhc3MgYXtjb25zdHJ1Y3RvcihlKXt0aGlzLl9jbGFzc1N1ZmZpeD0iIix0aGlzLl9xdW90ZVNlc3Npb25QcmVmaXg9ImFic3RyYWN0LWluZGljYXRvciIsdGhpcy5fc2hvcnRNb2RlPSExLHRoaXMuX3Nob3dUb29sdGlwPSEwLHRoaXMuX3N1YnNjcmliZWQ9ITEsdGhpcy5fdG9vbHRpcFR5cGU9ImN1c3RvbSIsdGhpcy5fbGFzdFRvb2x0aXBUZXh0PSIiLHRoaXMuX3F1b3RlU2Vzc2lvbj1lLnF1b3RlU2Vzc2lvbn1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLl92YWx1ZX1nZXRUb29sdGlwVGV4dCgpe3JldHVybiB0aGlzLl9sYWJlbE1hcFt0aGlzLl92YWx1ZV18fCIifWdldExhYmVsKCl7cmV0dXJuIHRoaXMuX2xhYmVsTWFwW3RoaXMuX3ZhbHVlXXx8IiJ9Z2V0RWxlbWVudCgpe3JldHVybiB0aGlzLl9lbH11cGRhdGUoZSx0KXt0aGlzLl91cGRhdGVWYWx1ZShlLHQpLHRoaXMuX3JlbmRlcigpfXNldFRvb2x0aXBFbmFibGVkKGU9ITEpe3RoaXMuX3Nob3dUb29sdGlwIT09ZSYmKHRoaXMuX3Nob3dUb29sdGlwPWUsdGhpcy5fcmVuZGVyVG9vbHRpcCgpKX1lbmFibGVTaG9ydE1vZGUoKXshMCE9PXRoaXMuX3Nob3J0TW9kZSYmKHRoaXMuX3Nob3J0TW9kZT0hMCx0aGlzLl9yZW5kZXIoKSl9ZGlzYWJsZVNob3J0TW9kZSgpeyExIT09dGhpcy5fc2hvcnRNb2RlJiYodGhpcy5fc2hvcnRNb2RlPSExLAp0aGlzLl9yZW5kZXIoKSl9aXNTaG9ydE1vZGVFbmFibGVkKCl7cmV0dXJuIHRoaXMuX3Nob3J0TW9kZX1zdGFydCgpeyF0aGlzLl9zdWJzY3JpYmVkJiZ0aGlzLl9zeW1ib2xOYW1lJiYodGhpcy5fcXVvdGVTZXNzaW9ufHwodGhpcy5fcXVvdGVTZXNzaW9uPSgwLHIuZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKCJzaW1wbGUiKSksdGhpcy5fcXVvdGVTZXNzaW9uLnN1YnNjcmliZSh0aGlzLl9nZXRRdW90ZVNlc3Npb25JZCgpLHRoaXMuX3N5bWJvbE5hbWUsdGhpcy51cGRhdGUuYmluZCh0aGlzKSksdGhpcy5fc3Vic2NyaWJlZD0hMCl9c3RvcCgpe3RoaXMuX3N1YnNjcmliZWQmJnRoaXMuX3F1b3RlU2Vzc2lvbiYmdGhpcy5fc3ltYm9sTmFtZSYmKHRoaXMuX3F1b3RlU2Vzc2lvbi51bnN1YnNjcmliZSh0aGlzLl9nZXRRdW90ZVNlc3Npb25JZCgpLHRoaXMuX3N5bWJvbE5hbWUpLHRoaXMuX3N1YnNjcmliZWQ9ITEpfXNldFNlc3Npb25TdGF0dXNJY29uKGUpe3RoaXMuX3Nlc3Npb25TdGF0dXNJY29uIT09ZSYmKHRoaXMuX3Nlc3Npb25TdGF0dXNJY29uPWUsdGhpcy5fcmVuZGVyKCkpfV9pbml0KGUpe3RoaXMuX2VsPWUuZWw/ZS5lbDpkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksdGhpcy5fZWwuaW5uZXJIVE1MPSIiLHRoaXMuX2NsYXNzTWFwPWUuY2xhc3NNYXAsdGhpcy5faWNvbkNsYXNzTWFwPWUuaWNvbkNsYXNzTWFwLHRoaXMuX2xhYmVsTWFwPWUubGFiZWxNYXAsdGhpcy5fc2hvd1Rvb2x0aXA9ZS5zaG93VG9vbHRpcCx0aGlzLl9jbGFzc1N1ZmZpeD1lLmNsYXNzU3VmZml4LHRoaXMuX3N5bWJvbE5hbWU9ZS5zeW1ib2wsdGhpcy5fc2Vzc2lvblN0YXR1c0ljb249ZS5zZXNzaW9uU3RhdHVzSWNvbix0aGlzLl9vblZhbHVlQ2hhbmdlPWUub25WYWx1ZUNoYW5nZSxlLnRvb2x0aXBUeXBlJiYodGhpcy5fdG9vbHRpcFR5cGU9ZS50b29sdGlwVHlwZSksdGhpcy5fcXVvdGVTZXNzaW9uR1VJRD0oMCxuLmd1aWQpKCksITA9PT1lLnNob3J0JiZ0aGlzLmVuYWJsZVNob3J0TW9kZSgpLGUuZGF0YSYmdGhpcy5fdXBkYXRlVmFsdWUoZS5kYXRhKX1fY2xlYXJDbGFzc2VzKCl7T2JqZWN0LnZhbHVlcyh0aGlzLl9jbGFzc01hcCkubWFwKChlPT57dGhpcy5fZWwuY2xhc3NMaXN0LnJlbW92ZShgJHtlfWApLHRoaXMuX2VsLmNsYXNzTGlzdC5yZW1vdmUoYCR7ZX0ke3RoaXMuX2NsYXNzU3VmZml4fWApfSkpfV9yZW5kZXIoKXt0aGlzLl9yZW5kZXJDbGFzc2VzKCksdGhpcy5fcmVuZGVyVG9vbHRpcCgpLHRoaXMuX3JlbmRlckxhYmVsKCl9X3JlbmRlckxhYmVsKCl7dGhpcy5fZWwudGV4dENvbnRlbnQ9dGhpcy5nZXRMYWJlbCgpfV91cGRhdGVWYWx1ZShlLHQpe2NvbnN0IG89dGhpcy5fZ2V0VmFsdWVGcm9tRGF0YShlKTsodHx8byE9PXRoaXMuX3ZhbHVlKSYmKHRoaXMuX3ZhbHVlPW8sdGhpcy5fb25WYWx1ZUNoYW5nZT8uKHRoaXMuX3ZhbHVlKSl9X3JlbmRlckNsYXNzZXMoKXtjb25zdCBlPXRoaXMuX2VsLmNsYXNzTGlzdDtlLmFkZCh0aGlzLl9jb21wb25lbnRDbGFzcyx0aGlzLl9jb21wb25lbnRDbGFzcyt0aGlzLl9jbGFzc1N1ZmZpeCk7Y29uc3QgdD10aGlzLl9jbGFzc01hcFt0aGlzLl92YWx1ZV07Zm9yKGNvbnN0IG8gaW4gdGhpcy5fY2xhc3NNYXApe2NvbnN0IGk9dGhpcy5fY2xhc3NNYXBbb107aSYmKGk9PT10PyhlLmFkZChpLGkrdGhpcy5fY2xhc3NTdWZmaXgpLHRoaXMuX3Nlc3Npb25TdGF0dXNJY29uJiZlLmFkZChpKyJfX3dpdGhJY29uIikpOihlLnJlbW92ZShpLGkrdGhpcy5fY2xhc3NTdWZmaXgpLHRoaXMuX3Nlc3Npb25TdGF0dXNJY29uJiZlLnJlbW92ZShpKyJfX3dpdGhJY29uIikpKX0hdCYmdGhpcy5fdmFsdWUmJnMubG9nV2Fybihgbm8gY2xhc3NOYW1lIGZvciBzdGF0dXMgJHt0aGlzLl92YWx1ZX1gKX1fcmVuZGVyVG9vbHRpcCgpe2NvbnN0IGU9dGhpcy5fc2hvd1Rvb2x0aXA/dGhpcy5nZXRUb29sdGlwVGV4dCgpOiIiO2UhPT10aGlzLl9sYXN0VG9vbHRpcFRleHQmJih0aGlzLl9sYXN0VG9vbHRpcFRleHQ9ZSx0aGlzLl9lbC5zZXRBdHRyaWJ1dGUoInRpdGxlIixlKSwiY3VzdG9tIj09PXRoaXMuX3Rvb2x0aXBUeXBlJiZ0aGlzLl9lbC5jbGFzc0xpc3QudG9nZ2xlKCJhcHBseS1jb21tb24tdG9vbHRpcCIsdGhpcy5fc2hvd1Rvb2x0aXApKX1fZ2V0UXVvdGVTZXNzaW9uSWQoKXtyZXR1cm5gJHt0aGlzLl9xdW90ZVNlc3Npb25QcmVmaXh9LiR7dGhpcy5fcXVvdGVTZXNzaW9uR1VJRH1gfX19LDMwNjkwKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0RhdGFNb2RlSW5kaWNhdG9yOigpPT5jfSk7dmFyIGksbj1vKDE4NTI3MSkscj0obyg4MjkxODApLG8oNDUwMjk1KSxvKDIwMjQ2MCkpOyFmdW5jdGlvbihlKXtlLkRlbGF5ZWQ9ImRlbGF5ZWQiLGUuRGVsYXllZFN0cmVhbWluZz0iZGVsYXllZF9zdHJlYW1pbmciLGUuRW5kT2ZEYXk9ImVuZG9mZGF5IixlLlNuYXBzaG90PSJzbmFwc2hvdCIsZS5SZWFsdGltZT0icmVhbHRpbWUiLGUuQ29ubmVjdGluZz0iY29ubmVjdGluZyIsZS5Mb2FkaW5nPSJsb2FkaW5nIixlLkludmFsaWQ9ImludmFsaWQiLGUuRm9yYmlkZGVuPSJmb3JiaWRkZW4iLGUuU3RyZWFtaW5nPSJzdHJlYW1pbmcifShpfHwoaT17fSkpO2NvbnN0IHM9e2Nvbm5lY3Rpbmc6InR2LWRhdGEtbW9kZS0tY29ubmVjdGluZyIsZGVsYXllZDoidHYtZGF0YS1tb2RlLS1kZWxheWVkIixkZWxheWVkX3N0cmVhbWluZzoidHYtZGF0YS1tb2RlLS1kZWxheWVkIixlbmRvZmRheToidHYtZGF0YS1tb2RlLS1lbmRvZmRheSIsZm9yYmlkZGVuOiJ0di1kYXRhLW1vZGUtLWZvcmJpZGRlbiIscmVhbHRpbWU6InR2LWRhdGEtbW9kZS0tcmVhbHRpbWUiLHNuYXBzaG90OiJ0di1kYXRhLW1vZGUtLXNuYXBzaG90Iixsb2FkaW5nOiJ0di1kYXRhLW1vZGUtLWxvYWRpbmciLHJlcGxheToidHYtZGF0YS1tb2RlLS1yZXBsYXkifTtmdW5jdGlvbiBhKCl7cmV0dXJue2Nvbm5lY3Rpbmc6bi50KG51bGwse2NvbnRleHQ6ImRhdGFfbW9kZV9jb25uZWN0aW5nX2xldHRlciJ9LG8oODU5OTk0KSksZGVsYXllZDpuLnQobnVsbCx7CmNvbnRleHQ6ImRhdGFfbW9kZV9kZWxheWVkX2xldHRlciJ9LG8oODkyMzYzKSksZGVsYXllZF9zdHJlYW1pbmc6bi50KG51bGwse2NvbnRleHQ6ImRhdGFfbW9kZV9kZWxheWVkX3N0cmVhbWluZ19sZXR0ZXIifSxvKDM5NDUwMSkpLGVuZG9mZGF5Om4udChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfZW5kX29mX2RheV9sZXR0ZXIifSxvKDU3MDkzOSkpLGZvcmJpZGRlbjpuLnQobnVsbCx7Y29udGV4dDoiZGF0YV9tb2RlX2ZvcmJpZGRlbl9sZXR0ZXIifSxvKDM5NDkyMSkpLHJlYWx0aW1lOm4udChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfcmVhbHRpbWVfbGV0dGVyIn0sbyg4NjY0NCkpLHNuYXBzaG90Om4udChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfc25hcHNob3RfbGV0dGVyIn0sbygyNTczMjYpKSxsb2FkaW5nOiIiLHJlcGxheTpuLnQobnVsbCx7Y29udGV4dDoiZGF0YV9tb2RlX3JlcGxheV9sZXR0ZXIifSxvKDc1NjQ1NykpfX1jb25zdCBsPXtzdHJlYW1pbmc6InJlYWx0aW1lIn07Y2xhc3MgYyBleHRlbmRzIHIuQWJzdHJhY3RJbmRpY2F0b3J7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5fcXVvdGVTZXNzaW9uUHJlZml4PSJkYXRhLW1vZGUtaW5kaWNhdG9yIix0aGlzLl9jb21wb25lbnRDbGFzcz0idHYtZGF0YS1tb2RlIix0aGlzLl9pbml0KGUpfWdldExhYmVsKCl7cmV0dXJuITA9PT10aGlzLl9zaG9ydE1vZGU/dGhpcy5fc2hvcnRMYWJlbE1hcFt0aGlzLl92YWx1ZV18fCIiOnN1cGVyLmdldExhYmVsKCl9c2V0TW9kZShlLHQpe3RoaXMudXBkYXRlKHt2YWx1ZXM6e3VwZGF0ZV9tb2RlOmUsdXBkYXRlX21vZGVfc2Vjb25kczp0fX0pfWhpZGUoKXt0aGlzLl9lbC5jbGFzc0xpc3QuYWRkKCJpLWhpZGRlbiIpfXNob3coKXt0aGlzLl9lbC5jbGFzc0xpc3QucmVtb3ZlKCJpLWhpZGRlbiIpfWdldFRvb2x0aXBUZXh0KCl7bGV0IGU9IiI7Y29uc3QgdD10aGlzLmdldFZhbHVlKCk7aWYoIiI9PT10KXJldHVybiBlO3N3aXRjaCh0KXtjYXNlImRlbGF5ZWQiOmU9bi50KG51bGwsdm9pZCAwLG8oNzkwNTI0KSk7YnJlYWs7Y2FzZSJkZWxheWVkX3N0cmVhbWluZyI6ZT1uLnQobnVsbCx2b2lkIDAsbyg4MTQ2MSkpO2JyZWFrO2RlZmF1bHQ6ZT10aGlzLl9sYWJlbE1hcFt0XXx8ZX1yZXR1cm5bImRlbGF5ZWQiLCJkZWxheWVkX3N0cmVhbWluZyJdLmluY2x1ZGVzKHQpJiYoZT1lLmZvcm1hdCh7bnVtYmVyOlN0cmluZyhNYXRoLnJvdW5kKHRoaXMuX21vZGVJbnRlcnZhbC82MCkpfSkpLGV9X2luaXQoZT17fSl7Y29uc3QgdD1PYmplY3QuYXNzaWduKHt9LHtjbGFzc01hcDpzLGNsYXNzU3VmZml4OiIiLGRhdGE6e3ZhbHVlczp7dXBkYXRlX21vZGU6ImNvbm5lY3RpbmcifX0sbGFiZWxNYXA6e2Nvbm5lY3Rpbmc6bi50KG51bGwsdm9pZCAwLG8oMTk0MTk0KSksZGVsYXllZDpuLnQobnVsbCx2b2lkIDAsbygyMjk1MjUpKSxkZWxheWVkX3N0cmVhbWluZzpuLnQobnVsbCx2b2lkIDAsbygyMjk1MjUpKSxlbmRvZmRheTpuLnQobnVsbCx2b2lkIDAsbyg2MDE3NjQpKSxmb3JiaWRkZW46bi50KG51bGwsdm9pZCAwLG8oMzI4MzEzKSkscmVhbHRpbWU6bi50KG51bGwsdm9pZCAwLG8oODgzOTI4KSksc25hcHNob3Q6bi50KG51bGwsdm9pZCAwLG8oNTYyMzk1KSksbG9hZGluZzoiIixyZXBsYXk6bi50KG51bGwsdm9pZCAwLG8oOTc3MjcpKX0sbW9kZUludGVydmFsOjYwMCxzaG9ydDohMSxzaG9ydExhYmVsTWFwOmEoKSxzaG93VG9vbHRpcDohMCx0b29sdGlwVHlwZToiY3VzdG9tIn0sZSk7dGhpcy5fbW9kZUludGVydmFsPXQubW9kZUludGVydmFsfHw2MDAsdGhpcy5fc2hvcnRMYWJlbE1hcD10LnNob3J0TGFiZWxNYXB8fGEoKSxzdXBlci5faW5pdCh0KSx0aGlzLl9yZW5kZXIoKX1fZ2V0VmFsdWVGcm9tRGF0YShlKXtsZXQgdDtyZXR1cm4gdD12b2lkIDAhPT1lLnZhbHVlcyYmdm9pZCAwIT09ZS52YWx1ZXMudXBkYXRlX21vZGU/ZS52YWx1ZXMudXBkYXRlX21vZGU6dGhpcy5nZXRWYWx1ZSgpLGxbdF18fHR9X3VwZGF0ZVZhbHVlKGUsdCl7dm9pZCAwIT09ZS52YWx1ZXMmJnZvaWQgMCE9PWUudmFsdWVzLnVwZGF0ZV9tb2RlX3NlY29uZHMmJih0aGlzLl9tb2RlSW50ZXJ2YWw9ZS52YWx1ZXMudXBkYXRlX21vZGVfc2Vjb25kcyksc3VwZXIuX3VwZGF0ZVZhbHVlKGUsdCl9fX0sNjQ3NjE0KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2ZsYWdVcmw6KCk9PmwsZ2V0TW9ja2VkRmxhZzooKT0+Y30pO3ZhciBpPW8oODEwNDEpLG49byg4NjIyMTMpLHI9byg3MTcxNDEpLHM9byg0NTgwNTkpO2NvbnN0IGE9e2VybDoiRVUiLHVrOiJHQiIsYml0Y29pbjoiQlRDIn07ZnVuY3Rpb24gbChlLHQsbz1uLkxvZ29TaXplLk1lZGl1bSl7cmV0dXJuIGU/KGUudG9Mb3dlckNhc2UoKWluIGEmJihlPWFbZV0pLCgwLG4uZ2V0TG9nb1VybFJlc29sdmVyKSgpLmdldENvdW50cnlGbGFnVXJsKGUudG9VcHBlckNhc2UoKSxvKSk6Yyh0KX1mdW5jdGlvbiBjKGUpe3JldHVybiBlPT09aS5TdGRUaGVtZS5EYXJrP3I6c319LDEzNzg3OShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtjb3VudHJpZXM6KCk9PnIsZ2V0Q291bnRyeTooKT0+c30pO2NvbnN0IGk9L15bYS16XXsyfSQvO3ZhciBuPW8oMjU1NTE2KTtjb25zdCByPW4scz1lPT57cmV0dXJuIHQ9ZSxpLnRlc3QodCkmJm5bZV18fG51bGw7dmFyIHR9fSwxNjAyOTYoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLnIodCksby5kKHQse2Vudmlyb25tZW50OigpPT5uLGlzRGVidWc6KCk9PmEsaXNMb2NhbDooKT0+cixpc1Byb2Q6KCk9PnN9KTtjb25zdCBpPW5ldyBTZXQoWyJiYXR0bGUiLCJzdGFnaW5nIiwidGVzdCIsImxvY2FsIl0pO2Z1bmN0aW9uIG4oKXtjb25zdCBlPXNlbGYuZW52aXJvbm1lbnQ7cmV0dXJuIGZ1bmN0aW9uKGUpe2kuaGFzKGUpfHxjb25zb2xlLndhcm4oIkludmFsaWQgZW52aXJvbm1lbnQgIitlKX0oZSksZX1mdW5jdGlvbiByKCl7cmV0dXJuImxvY2FsIj09PW4oKX1mdW5jdGlvbiBzKCl7cmV0dXJuImJhdHRsZSI9PT1uKCl9ZnVuY3Rpb24gYSgpe3JldHVybiFzKCl9fSw3Mzc4NjMoZSx0LG8peyJ1c2Ugc3RyaWN0Ijt2YXIgaSxuCjtvLmQodCx7UHJvZHVjdEZlYXR1cmVzRW51bTooKT0+bixVTkxJTUlURURfRkVBVFVSRV9MSU1JVDooKT0+cn0pLGZ1bmN0aW9uKGUpe2UuRElTQUJMRV9PTl9UUklBTD0iZGlzYWJsZV9vbl90cmlhbCIsZS5ESVNBQkxFX09OX0xJVEVfUExBTj0iZGlzYWJsZV9vbl9saXRlX3BsYW4iLGUuQ1VTVE9NX0lOVEVSVkFMUz0iQ1VTVE9NX0lOVEVSVkFMUyIsZS5DSEFSVF9TVE9SQUdFPSJDSEFSVF9TVE9SQUdFIixlLk1VTFRJUExFX0NIQVJUUz0iTVVMVElQTEVfQ0hBUlRTIixlLk1VTFRJUExFX1dBVENITElTVFM9Ik1VTFRJUExFX1dBVENITElTVFMiLGUuSU1QT1JUX1dBVENITElTVFM9IklNUE9SVF9XQVRDSExJU1RTIixlLkVYUE9SVF9XQVRDSExJU1RTPSJFWFBPUlRfV0FUQ0hMSVNUUyIsZS5XQVRDSExJU1RfU1lNQk9MUz0iV0FUQ0hMSVNUX1NZTUJPTFMiLGUuSU5ESUNBVE9SU19PTl9DSEFSVD0iSU5ESUNBVE9SU19PTl9DSEFSVCIsZS5TVFVEWV9PTl9TVFVEWT0iU1RVRFlfT05fU1RVRFkiLGUuVElDS19CWV9USUNLX1BVU0hfREFUQT0iVElDS19CWV9USUNLX1BVU0hfREFUQSIsZS5TRVJWRVJfU0lERV9BTEVSVFM9IlNFUlZFUl9TSURFX0FMRVJUUyIsZS5TRVJWRVJfU0lERV9BTEVSVFNfVEVDSE5JQ0FMPSJTRVJWRVJfU0lERV9BTEVSVFNfVEVDSE5JQ0FMIixlLlNFUlZFUl9TSURFX0FMRVJUU19XQVRDSExJU1Q9IlNFUlZFUl9TSURFX0FMRVJUU19XQVRDSExJU1QiLGUuQUxFUlRTX01VTFRJQ09ORElUSU9OUz0iQUxFUlRTX01VTFRJQ09ORElUSU9OUyIsZS5BTEVSVFNfT05fRUFSTklOR1M9IkFMRVJUU19PTl9FQVJOSU5HUyIsZS5BTEVSVFNfT05fRlVOREFNRU5UQUxfTUVUUklDUz0iQUxFUlRTX09OX0ZVTkRBTUVOVEFMX01FVFJJQ1MiLGUuUFVCTElTSF9JTlZJVEVfT05MWV9TQ1JJUFRTPSJQVUJMSVNIX0lOVklURV9PTkxZX1NDUklQVFMiLGUuUFVCTElTSF9QUk9URUNURURfU0NSSVBUUz0iUFVCTElTSF9QUk9URUNURURfU0NSSVBUUyIsZS5TQ1JFRU5FUl9BVVRPX1JFRlJFU0g9IlNDUkVFTkVSX0FVVE9fUkVGUkVTSCIsZS5TQ1JFRU5FUl9ORVdfQVVUT19SRUZSRVNIPSJTQ1JFRU5FUl9ORVdfQVVUT19SRUZSRVNIIixlLlNDUkVFTkVSX0lOVEVSVkFMUz0iU0NSRUVORVJfSU5URVJWQUxTIixlLlNDUkVFTkVSX05FV19FWFBPUlRfQ1NWX0RBVEE9IlNDUkVFTkVSX05FV19FWFBPUlRfQ1NWX0RBVEEiLGUuU0NSRUVORVJfTkVXX1NIT1dfUkVTVFJJQ1RFRF9EQVRBPSJTQ1JFRU5FUl9ORVdfU0hPV19SRVNUUklDVEVEX0RBVEEiLGUuUElORV9TQ1JFRU5FUj0iUElORV9TQ1JFRU5FUiIsZS5TSU1VTFRBTkVPVVNfQ09OTkVDVElPTlM9IlNJTVVMVEFORU9VU19DT05ORUNUSU9OUyIsZS5CQUNLRU5EX0NPTk5FQ1RJT05TPSJCQUNLRU5EX0NPTk5FQ1RJT05TIixlLlNUVURZX1RFTVBMQVRFUz0iU1RVRFlfVEVNUExBVEVTIixlLkNBTl9FRElUX1BVQkxJQ19DSEFUUz0iQ0FOX0VESVRfUFVCTElDX0NIQVRTIixlLk5PX1NQT05TT1JFRF9BRFM9Ik5PX1NQT05TT1JFRF9BRFMiLGUuSURDX0FWQUlMQUJMRV9ERUxBWT0iSURDX0FWQUlMQUJMRV9ERUxBWSIsZS5TVEFUVVM9IlNUQVRVUyIsZS5BTEVSVFNfTk9fRVhQSVJBVElPTj0iQUxFUlRTX05PX0VYUElSQVRJT04iLGUuTVVMVElGTEFHR0VEX1NZTUJPTFNfTElTVFM9Ik1VTFRJRkxBR0dFRF9TWU1CT0xTX0xJU1RTIixlLkJBUl9SRVBMQVlfSU5UUkFEQVk9IkJBUl9SRVBMQVlfSU5UUkFEQVkiLGUuQkFSX1JFUExBWV8xUz0iQkFSX1JFUExBWV8xUyIsZS5CQVJfUkVQTEFZXzFUPSJCQVJfUkVQTEFZXzFUIixlLlRWX1ZPTFVNRUJZUFJJQ0U9IlRWX1ZPTFVNRUJZUFJJQ0UiLGUuQUxFUlRTX1dFQkhPT0s9IkFMRVJUU19XRUJIT09LIixlLk1BUktFVF9EQVRBX0xJTUlUUz0iTUFSS0VUX0RBVEFfTElNSVRTIixlLkRFRVBfRlVOREFNRU5UQUxTX0hJU1RPUlk9IkRFRVBfRlVOREFNRU5UQUxTX0hJU1RPUlkiLGUuRVhQT1JUX0NIQVJUX0RBVEE9IkVYUE9SVF9DSEFSVF9EQVRBIixlLkVYUE9SVF9GSU5BTkNJQUxTX0RBVEE9IkVYUE9SVF9GSU5BTkNJQUxTX0RBVEEiLGUuQUxFUlRTX09OX1NFQ09ORFM9IkFMRVJUU19PTl9TRUNPTkRTIixlLlBFUk1BTkVOVF9TVFJFQU1fUkVDT1JEUz0iUEVSTUFORU5UX1NUUkVBTV9SRUNPUkRTIixlLklERUFfU09DSUFMX0xJTktTPSJJREVBX1NPQ0lBTF9MSU5LUyIsZS5FWFRFTkRFRF9TT0NJQUxfTElOS1M9IkVYVEVOREVEX1NPQ0lBTF9MSU5LUyIsZS5ERUVQX0hJU1RPUllfQkFDS1RFU1Q9IkRFRVBfSElTVE9SWV9CQUNLVEVTVCIsZS5CQUNLVEVTVElOR19FWFBPUlRfWExTWD0iQkFDS1RFU1RJTkdfRVhQT1JUX1hMU1giLGUuQkFDS1RFU1RJTkdfRVhQT1JUX0NTVj0iQkFDS1RFU1RJTkdfRVhQT1JUX0NTViIsZS5GVU5EQU1FTlRBTFNfRk9SRUNBU1Q9IkZVTkRBTUVOVEFMU19GT1JFQ0FTVCIsZS5CQUNLVEVTVElOR19FWFRFTkRFRF9NRVRSSUNTPSJCQUNLVEVTVElOR19FWFRFTkRFRF9NRVRSSUNTIixlLkJBUl9ERVRBTElaQVRJT049IkJBUl9ERVRBTElaQVRJT04iLGUuU0NSSVBUX0VYRUNVVElPTl9PTl9ISVNUT1JZX0JBUlM9IlNDUklQVF9FWEVDVVRJT05fT05fSElTVE9SWV9CQVJTIixlLkJBQ0tURVNUSU5HX0NIQVJUX0VYUEFORD0iQkFDS1RFU1RJTkdfQ0hBUlRfRVhQQU5EIixlLkhJU1RPUklDQUxfQkFSUz0iSElTVE9SSUNBTF9CQVJTIixlLktBR0lfUkVOS089IktBR0lfUkVOS08iLGUuSU5UUkFEQVlfU1BSRUFEPSJJTlRSQURBWV9TUFJFQUQiLGUuU0VDT05EU19JTlRFUlZBTFM9IlNFQ09ORFNfSU5URVJWQUxTIixlLk1VTFRJQ09MT1JfRkxBR0dFRF9TWU1CT0xTPSJNVUxUSUNPTE9SX0ZMQUdHRURfU1lNQk9MUyIsZS5JTlRSQURBWV9FWENIQU5HRT0iSU5UUkFEQVlfRVhDSEFOR0UiLGUuQ1VTVE9NX0NIQVRTPSJDVVNUT01fQ0hBVFMiLGUuVk9MVU1FX1BST0ZJTEU9IlZPTFVNRV9QUk9GSUxFIixlLlZPTFVNRV9DQU5ETEVTPSJWT0xVTUVfQ0FORExFUyIsZS5UUE9fUEVSSU9ESUM9IlRQT19QRVJJT0RJQyIsZS5UUE9fQ0hBUlRfU1RZTEU9IlRQT19DSEFSVF9TVFlMRSIsCmUuUFJJTUlUSVZFX0FMRVJUUz0iUFJJTUlUSVZFX0FMRVJUUyIsZS5DT01QTEVYX0FMRVJUUz0iQ09NUExFWF9BTEVSVFMiLGUuVFZfUFJPU1RVRElFUz0iVFZfUFJPU1RVRElFUyIsZS5DSEFSVF9QQVRURVJOUz0iQ0hBUlRfUEFUVEVSTlMiLGUuU01TXzJGQV9WRVJJRklDQVRJT049IlNNU18yRkFfVkVSSUZJQ0FUSU9OIixlLlNPQ0lBTF9BQ1RJVklUWT0iU09DSUFMX0FDVElWSVRZIixlLlRJQ0tfSU5URVJWQUxTPSJUSUNLX0lOVEVSVkFMUyIsZS5DVVNUT01fRk9STVVMQVM9IkNVU1RPTV9GT1JNVUxBUyIsZS5DVVNUT01fUkFOR0VfQkFSUz0iQ1VTVE9NX1JBTkdFX0JBUlMiLGUuQlVZX1BST19EQVRBPSJCVVlfUFJPX0RBVEEiLGUuRkFTVEVTVF9EQVRBX0ZMT1c9IkZBU1RFU1RfREFUQV9GTE9XIixlLkZJUlNUX1BSSU9SSVRZX1NVUFBPUlQ9IkZJUlNUX1BSSU9SSVRZX1NVUFBPUlQiLGUuRlVOREFNRU5UQUxTX09OX0NIQVJUPSJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiLGUuRlVOREFNRU5UQUxfR1JBUEhTX0xBUkdFX1RJTUVfUkFOR0U9IkZVTkRBTUVOVEFMX0dSQVBIU19MQVJHRV9USU1FX1JBTkdFIixlLlZJREVPX0lERUFTX0xFTkdUSD0iVklERU9fSURFQVNfTEVOR1RIIixlLlZPTFVNRV9GT09UUFJJTlQ9IlZPTFVNRV9GT09UUFJJTlQiLGUuU0VTU0lPTl9WT0xVTUVfUFJPRklMRT0iU0VTU0lPTl9WT0xVTUVfUFJPRklMRSIsZS5DSEFUX0FTU0lTVEFOVD0iQ0hBVF9BU1NJU1RBTlQiLGUuUEVSU09OQUxfU1VQUE9SVD0iUEVSU09OQUxfU1VQUE9SVCIsZS5TSE9XX0JPTkRTX1JFU1RSSUNURURfREFUQT0iU0hPV19CT05EU19SRVNUUklDVEVEX0RBVEEiLGUuU0hPV19FVEZfSE9MRElOR1NfREFUQT0iU0hPV19FVEZfSE9MRElOR1NfREFUQSIsZS5DUkVBVEVfTU9SRV9QT1JURk9MSU9TPSJDUkVBVEVfTU9SRV9QT1JURk9MSU9TIixlLlBPUlRGT0xJT19UUkFOU0FDVElPTlM9IlBPUlRGT0xJT19UUkFOU0FDVElPTlMiLGUuUE9SVEZPTElPX0hPTERJTkdTPSJQT1JURk9MSU9fSE9MRElOR1MiLGUuUE9SVEZPTElPX0RBVEFfTElNSVQ9IlBPUlRGT0xJT19EQVRBX0xJTUlUIixlLlNPQ0lBTF9UUlVTVEVEX1VTRVI9IlNPQ0lBTF9UUlVTVEVEX1VTRVIiLGUuQUNDRVNTX0FDUk9TU19ERVZJQ0VTPSJBQ0NFU1NfQUNST1NTX0RFVklDRVMiLGUuRk9MTE9XRVJTX09OTFlfTUlORFM9IkZPTExPV0VSU19PTkxZX01JTkRTIixlLkZPUkVDQVNUX0VTVElNQVRFX0RBVEE9IkZPUkVDQVNUX0VTVElNQVRFX0RBVEEiLGUuRFJBV0lOR1M9IkRSQVdJTkdTIn0oaXx8KGk9e30pKSxmdW5jdGlvbihlKXtlLkNBTl9FRElUX1BVQkxJQ19DSEFUUz0iQ0FOX0VESVRfUFVCTElDX0NIQVRTIixlLk5PX1NQT05TT1JFRF9BRFM9Ik5PX1NQT05TT1JFRF9BRFMiLGUuQUxFUlRTX05PX0VYUElSQVRJT049IkFMRVJUU19OT19FWFBJUkFUSU9OIixlLkFMRVJUU19XRUJIT09LPSJBTEVSVFNfV0VCSE9PSyIsZS5TQ1JFRU5FUl9BVVRPX1JFRlJFU0g9IlNDUkVFTkVSX0FVVE9fUkVGUkVTSCIsZS5TQ1JFRU5FUl9JTlRFUlZBTFM9IlNDUkVFTkVSX0lOVEVSVkFMUyIsZS5TT0NJQUxfQUNUSVZJVFk9IlNPQ0lBTF9BQ1RJVklUWSJ9KG58fChuPXt9KSk7Y29uc3Qgcj05OTk5OX0sMjI1Mjk4KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2xpbmtpbmc6KCk9PlR9KTt2YXIgaT1vKDU0Nzg1MSksbj1vKDEzODYzOCkscj1vKDIyMTA2MSkscz0obyg5MzAyMzEpLG8oMjMyMzY0KSksYT1vKDI1NDY3MyksbD1vKDEyODk5OCksYz1vKDk1MjkwMCksZD1vKDI0MTk1Nik7dmFyIGg9byg5MzA1NjYpLHU9byg2MzE2MzQpLF89byg3OTgzOCkscD1vKDc3ODk0NiksbT1vKDc3NDUwNyksZz1vKDM2MjIzOSk7dmFyIHY9bygzODMzNTEpLGY9byg3MDE1MDYpLHk9byg2ODI3NzkpLGI9bygyMDkzOSk7Y29uc3QgUz0oMCxyLmdldExvZ2dlcikoIkxpbmtpbmciKTt2YXIgdyxDOyFmdW5jdGlvbihlKXtlW2UuTm90Qm91bmQ9MF09Ik5vdEJvdW5kIixlW2UuQm91bmRUb1dpZGdldD0xXT0iQm91bmRUb1dpZGdldCIsZVtlLkJvdW5kVG9Nb2RlbD0yXT0iQm91bmRUb01vZGVsIn0od3x8KHc9e30pKSxmdW5jdGlvbihlKXtlW2UuU3ltYm9sPTBdPSJTeW1ib2wiLGVbZS5SZXNvbHV0aW9uPTFdPSJSZXNvbHV0aW9uIn0oQ3x8KEM9e30pKTtjbGFzcyBre2NvbnN0cnVjdG9yKGUsdCxvKXt0aGlzLndhdGNoZWRTeW1ib2xzPW5ldyBzLldhdGNoZWRWYWx1ZShbXSksdGhpcy53YXRjaGVkU3ltYm9sPW5ldyBzLldhdGNoZWRWYWx1ZSx0aGlzLnNlcmllc1Nob3J0U3ltYm9sPW5ldyBzLldhdGNoZWRWYWx1ZSx0aGlzLnByb1N5bWJvbD1uZXcgcy5XYXRjaGVkVmFsdWUsdGhpcy5lbnN1cmVkUHJvU3ltYm9sPW5ldyBzLldhdGNoZWRWYWx1ZSx0aGlzLndhdGNoZWRJbnRlcnZhbD1uZXcgcy5XYXRjaGVkVmFsdWUsdGhpcy53YXRjaGVkSW50cmFkYXk9bmV3IHMuV2F0Y2hlZFZhbHVlLHRoaXMud2F0Y2hlZFNlY29uZHM9bmV3IHMuV2F0Y2hlZFZhbHVlLHRoaXMud2F0Y2hlZFRpY2tzPW5ldyBzLldhdGNoZWRWYWx1ZSx0aGlzLndhdGNoZWREYXRhRnJlcXVlbmN5UmVzb2x1dGlvbj1uZXcgcy5XYXRjaGVkVmFsdWUsdGhpcy53YXRjaGVkUmFuZ2U9bmV3IHMuV2F0Y2hlZFZhbHVlLHRoaXMud2F0Y2hlZFN1cHBvcnRlZFJlc29sdXRpb25zPW5ldyBzLldhdGNoZWRWYWx1ZSx0aGlzLndhdGNoZWRTdXBwb3J0ZWRDaGFydFN0eWxlcz1uZXcgcy5XYXRjaGVkVmFsdWUsdGhpcy5zeW1ib2xOYW1lc0xpc3Q9bmV3IHMuV2F0Y2hlZFZhbHVlLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj1udWxsLHRoaXMuX2NoYXJ0V2lkZ2V0QmluZGluZ1N0YXRlPTAsdGhpcy5fYWN0aXZlQ2hhcnRXaWRnZXQ9bnVsbCx0aGlzLl9saW5raW5nR3JvdXBDaGFydHM9bnVsbCx0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0PW51bGwsdGhpcy5fd2F0Y2hlZFN5bWJvbExpc3RlbmVyQm91bmQ9dGhpcy5fd2F0Y2hlZFN5bWJvbExpc3RlbmVyLmJpbmQodGhpcyksCnRoaXMuX3dhdGNoZWRJbnRlcnZhbExpc3RlbmVyQm91bmQ9dGhpcy5fd2F0Y2hlZEludGVydmFsTGlzdGVuZXIuYmluZCh0aGlzKSx0aGlzLl9zZXRHcm91cFN5bWJvbENhbmNlbGxhdGlvblRva2VuPXtjYW5jZWxsZWQ6ITF9LHRoaXMuX211dGVkPSExLHRoaXMudXBkYXRlQm91bmRDaGFydFdpZGdldD0oKT0+e2NvbnN0IGU9dGhpcy5fY2hhcnRUb0JpbmQoKTtlIT09dGhpcy5fYm91bmRDaGFydFdpZGdldCYmKG51bGw9PT1lP3RoaXMudW5iaW5kRnJvbUNoYXJ0V2lkZ2V0KCk6dGhpcy5iaW5kVG9DaGFydFdpZGdldChlKSl9LHRoaXMuX3VwZGF0ZUFsbEdyb3VwQ2hhcnRXaWRnZXRzPSgpPT57dGhpcy5fZGVzdHJveVN5bWJvbEludGVydmFsUHJvcGVydHlTdWJzY3JpcHRpb25zPy4oKTtjb25zdCBlPSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fbGlua2luZ0dyb3VwQ2hhcnRzKS52YWx1ZSgpLHQ9W10sbz1bXTtmb3IoY29uc3QgaSBvZiBlKXtjb25zdCBlPWkuc3ltYm9sV1YoKS5zcGF3bigpLG49aS5yZXNvbHV0aW9uV1YoKS5zcGF3bigpO2Uuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN5bWJvbEJ5UHJvcGVydHkuYmluZCh0aGlzLGkpKSxuLnN1YnNjcmliZSh0aGlzLl91cGRhdGVJbnRlcnZhbEJ5UHJvcGVydHkuYmluZCh0aGlzLGkpKSx0LnB1c2goZSksby5wdXNoKG4pfXRoaXMuX2Rlc3Ryb3lTeW1ib2xJbnRlcnZhbFByb3BlcnR5U3Vic2NyaXB0aW9ucz0oKT0+e3QuZm9yRWFjaCgoZT0+ZS5kZXN0cm95KCkpKSxvLmZvckVhY2goKGU9PmUuZGVzdHJveSgpKSksdGhpcy5fZGVzdHJveVN5bWJvbEludGVydmFsUHJvcGVydHlTdWJzY3JpcHRpb25zPXZvaWQgMH07Y29uc3QgaT10aGlzLndhdGNoZWRTeW1ib2wudmFsdWUoKTtlLmxlbmd0aD4xJiZ0aGlzLl9uZWVkQXBwbHlTeW1ib2woaSkmJiF0aGlzLl9tdXRlZCYmdGhpcy5fc2V0R3JvdXBTeW1ib2woaSk7Y29uc3Qgcj10aGlzLndhdGNoZWRJbnRlcnZhbC52YWx1ZSgpO2UubGVuZ3RoPjEmJnRoaXMuX25lZWRBcHBseUludGVydmFsKHIpJiYhdGhpcy5fbXV0ZWQmJnRoaXMuX3NldEdyb3VwSW50ZXJ2YWwociksdGhpcy51cGRhdGVCb3VuZENoYXJ0V2lkZ2V0KCl9LHRoaXMuX2dyb3VwSW5kZXg9ZTtjb25zdCBpPShlLHQpPT57ZS5zdWJzY3JpYmUoKGU9PntvKCk9PT10aGlzJiZ0LnNldFZhbHVlKGUpfSkse2NhbGxXaXRoTGFzdDohMH0pfTtpKHRoaXMud2F0Y2hlZFN5bWJvbHMsdC53YXRjaGVkU3ltYm9scyksaSh0aGlzLndhdGNoZWRTeW1ib2wsdC53YXRjaGVkU3ltYm9sKSxpKHRoaXMuc2VyaWVzU2hvcnRTeW1ib2wsdC5zZXJpZXNTaG9ydFN5bWJvbCksaSh0aGlzLnByb1N5bWJvbCx0LnByb1N5bWJvbCksaSh0aGlzLmVuc3VyZWRQcm9TeW1ib2wsdC5lbnN1cmVkUHJvU3ltYm9sKSxpKHRoaXMud2F0Y2hlZEludGVydmFsLHQud2F0Y2hlZEludGVydmFsKSxpKHRoaXMud2F0Y2hlZEludHJhZGF5LHQud2F0Y2hlZEludHJhZGF5KSxpKHRoaXMud2F0Y2hlZFNlY29uZHMsdC53YXRjaGVkU2Vjb25kcyksaSh0aGlzLndhdGNoZWRUaWNrcyx0LndhdGNoZWRUaWNrcyksaSh0aGlzLndhdGNoZWREYXRhRnJlcXVlbmN5UmVzb2x1dGlvbix0LndhdGNoZWREYXRhRnJlcXVlbmN5UmVzb2x1dGlvbiksaSh0aGlzLndhdGNoZWRSYW5nZSx0LndhdGNoZWRSYW5nZSksaSh0aGlzLndhdGNoZWRTdXBwb3J0ZWRSZXNvbHV0aW9ucyx0LndhdGNoZWRTdXBwb3J0ZWRSZXNvbHV0aW9ucyksaSh0aGlzLndhdGNoZWRTdXBwb3J0ZWRDaGFydFN0eWxlcyx0LndhdGNoZWRTdXBwb3J0ZWRDaGFydFN0eWxlcyksaSh0aGlzLnN5bWJvbE5hbWVzTGlzdCx0LnN5bWJvbE5hbWVzTGlzdCksdGhpcy53YXRjaGVkU3ltYm9sLnN1YnNjcmliZSgoZT0+e3RoaXMuX2JvdW5kQ2hhcnRXaWRnZXQmJnRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQuaGFzTW9kZWwoKSYmdGhpcy5tYWluU2VyaWVzKCkuc3ltYm9sU2FtZUFzQ3VycmVudChlKXx8dGhpcy5wcm9TeW1ib2wuc2V0VmFsdWUoZSl9KSx7Y2FsbFdpdGhMYXN0OiEwfSl9bXV0ZShlKXt0aGlzLl9tdXRlZD1lfWJpbmRUb0NoYXJ0V2lkZ2V0Q29sbGVjdGlvbihlKXt0aGlzLnVuYmluZEZyb21DaGFydFdpZGdldENvbGxlY3Rpb24oKSx0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb249ZSx0aGlzLl9hY3RpdmVDaGFydFdpZGdldD1lLmFjdGl2ZUNoYXJ0V2lkZ2V0LnNwYXduKCksdGhpcy5fYWN0aXZlQ2hhcnRXaWRnZXQuc3Vic2NyaWJlKHRoaXMudXBkYXRlQm91bmRDaGFydFdpZGdldCksdGhpcy5fbGlua2luZ0dyb3VwQ2hhcnRzPWUubGlua2luZ0dyb3Vwc0NoYXJ0cyh0aGlzLl9ncm91cEluZGV4KS5zcGF3bigpLHRoaXMuX2xpbmtpbmdHcm91cENoYXJ0cy5zdWJzY3JpYmUodGhpcy5fdXBkYXRlQWxsR3JvdXBDaGFydFdpZGdldHMpLHRoaXMudXBkYXRlQm91bmRDaGFydFdpZGdldCgpLHRoaXMuX3VwZGF0ZUFsbEdyb3VwQ2hhcnRXaWRnZXRzKCk7Y29uc3QgdD1mdW5jdGlvbihlKXtjb25zdCB0PSgwLGMuY29tYmluZSkoKCgpPT5lLmdldEFsbCgpLmZpbHRlcigoZT0+ZS5pc1Zpc2libGUoKSYmZS5oYXNNb2RlbCgpKSkubWFwKChlPT4oMCxkLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbikoKCgpPT5lLm1vZGVsKCkubWFpblNlcmllcygpLnN5bWJvbCgpKSxlLm1vZGVsKCkubWFpblNlcmllcygpLnN5bWJvbFJlc29sdmVkKCkpLm93bmVyc2hpcCgpKSkpLGUuY2hhcnRNb2RlbHMoKS53ZWFrUmVmZXJlbmNlKCksZS5sYXlvdXQud2Vha1JlZmVyZW5jZSgpKTtyZXR1cm4oMCxjLmFjY3VtdWxhdGUpKChlPT5lKSx0Lm93bmVyc2hpcCgpKX0oZSk7dC5zdWJzY3JpYmUoKGU9Pnt0aGlzLndhdGNoZWRTeW1ib2xzLnNldFZhbHVlKGUpfSkpLHRoaXMud2F0Y2hlZFN5bWJvbHMuc2V0VmFsdWUodC52YWx1ZSgpKX11bmJpbmRGcm9tQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKCl7dGhpcy51bmJpbmRGcm9tQ2hhcnRXaWRnZXQoKSx0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb249bnVsbCx0aGlzLl9hY3RpdmVDaGFydFdpZGdldD8uZGVzdHJveSgpLHRoaXMuX2FjdGl2ZUNoYXJ0V2lkZ2V0PW51bGwsCnRoaXMuX2xpbmtpbmdHcm91cENoYXJ0cz8uZGVzdHJveSgpLHRoaXMuX2xpbmtpbmdHcm91cENoYXJ0cz1udWxsLHRoaXMuX2Rlc3Ryb3lTeW1ib2xJbnRlcnZhbFByb3BlcnR5U3Vic2NyaXB0aW9ucz8uKCl9YmluZFRvQ2hhcnRXaWRnZXQoZSl7aWYodGhpcy51bmJpbmRGcm9tQ2hhcnRXaWRnZXQoKSx0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0PWUsZS5oYXNNb2RlbCgpKXJldHVybiB2b2lkIHRoaXMuX29uQ2hhcnRNb2RlbENyZWF0ZWQoZS5tb2RlbCgpKTtlLm1vZGVsQ3JlYXRlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ2hhcnRNb2RlbENyZWF0ZWQsITApLHRoaXMuX2NoYXJ0V2lkZ2V0QmluZGluZ1N0YXRlPTE7Y29uc3QgdD1lLm1haW5TZXJpZXNQcm9wZXJ0aWVzKCkuY2hpbGRzKCk7dGhpcy53YXRjaGVkU3ltYm9sLnNldFZhbHVlKHQuc3ltYm9sLnZhbHVlKCkpLHRoaXMud2F0Y2hlZEludGVydmFsLnNldFZhbHVlKHQuaW50ZXJ2YWwudmFsdWUoKSksdGhpcy5fYm91bmRDaGFydFdpZGdldC5saW5raW5nR3JvdXBJbmRleCgpLnN1YnNjcmliZSh0aGlzLnVwZGF0ZUJvdW5kQ2hhcnRXaWRnZXQpfXVuYmluZEZyb21DaGFydFdpZGdldCgpe2NvbnN0IGU9dGhpcy5fYm91bmRDaGFydFdpZGdldDtpZihudWxsIT09ZSl7c3dpdGNoKHRoaXMuX2NoYXJ0V2lkZ2V0QmluZGluZ1N0YXRlKXtjYXNlIDE6ZS5tb2RlbENyZWF0ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKTticmVhaztjYXNlIDI6dGhpcy53YXRjaGVkU3ltYm9sLnVuc3Vic2NyaWJlKHRoaXMuX3dhdGNoZWRTeW1ib2xMaXN0ZW5lckJvdW5kKTtjb25zdCB0PXRoaXMubWFpblNlcmllcygpLmRhdGFFdmVudHMoKTt0LnN5bWJvbFJlc29sdmVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdC5zeW1ib2xFcnJvcigpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMubWFpblNlcmllcygpLm9uSW50ZXJ2YWxDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy53YXRjaGVkSW50ZXJ2YWwudW5zdWJzY3JpYmUodGhpcy5fd2F0Y2hlZEludGVydmFsTGlzdGVuZXJCb3VuZCksZGVsZXRlIHRoaXMud2F0Y2hlZFN5bWJvbC53cml0ZUxvY2t9ZS5saW5raW5nR3JvdXBJbmRleCgpLnVuc3Vic2NyaWJlKHRoaXMudXBkYXRlQm91bmRDaGFydFdpZGdldCksdGhpcy5fYm91bmRDaGFydFdpZGdldD1udWxsLHRoaXMuX2NoYXJ0V2lkZ2V0QmluZGluZ1N0YXRlPTB9fWJvdW5kQ2hhcnRXaWRnZXQoKXtyZXR1cm4gdGhpcy5fYm91bmRDaGFydFdpZGdldH1tYWluU2VyaWVzKCl7aWYoIXRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQpdGhyb3cgbmV3IEVycm9yKCJDaGFydFdpZGdldCBpcyB1bmRlZmluZWQiKTtyZXR1cm4gdGhpcy5fYm91bmRDaGFydFdpZGdldC5tb2RlbCgpLm1haW5TZXJpZXMoKX1fd2F0Y2hlZFN5bWJvbExpc3RlbmVyKGUpe3RoaXMuX25lZWRBcHBseVN5bWJvbChlKSYmIXRoaXMuX211dGVkJiZ0aGlzLl9zZXRHcm91cFN5bWJvbChlKX1fdXBkYXRlU3ltYm9sQnlQcm9wZXJ0eShlLHQpe2NvbnN0IG89dGhpcy5fc3ltYm9sTG9jaygpO28mJnRoaXMuX25lZWRBcHBseVN5bWJvbCh0KSYmIXRoaXMuX211dGVkJiZ0aGlzLl9zZXRHcm91cFN5bWJvbCh0KSwob3x8ZT09PXRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQpJiZ0aGlzLndhdGNoZWRTeW1ib2wuc2V0VmFsdWUodCl9X3dhdGNoZWRJbnRlcnZhbExpc3RlbmVyKGUpe2NvbnN0IHQ9YS5JbnRlcnZhbC5ub3JtYWxpemUoZSk7dCYmdGhpcy5fbmVlZEFwcGx5SW50ZXJ2YWwodCkmJiF0aGlzLl9tdXRlZCYmdGhpcy5fc2V0R3JvdXBJbnRlcnZhbCh0KX1fdXBkYXRlSW50ZXJ2YWxCeVByb3BlcnR5KGUsdCl7Y29uc3Qgbz10aGlzLl9pbnRlcnZhbExvY2soKSxpPWEuSW50ZXJ2YWwubm9ybWFsaXplKHQpO28mJmkmJnRoaXMuX25lZWRBcHBseUludGVydmFsKGkpJiYhdGhpcy5fbXV0ZWQmJnRoaXMuX3NldEdyb3VwSW50ZXJ2YWwoaSksKG98fGU9PT10aGlzLl9ib3VuZENoYXJ0V2lkZ2V0KSYmdGhpcy53YXRjaGVkSW50ZXJ2YWwuc2V0VmFsdWUoaT8/dCl9X3VwZGF0ZVNlcmllc1N5bWJvbEluZm8oKXt0aGlzLnNlcmllc1Nob3J0U3ltYm9sLnNldFZhbHVlKCgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fYm91bmRDaGFydFdpZGdldCkuZ2V0U3ltYm9sKCEwKSk7Y29uc3QgZT10aGlzLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCk7aWYoZSl7Y29uc3QgdD1lLnByb19uYW1lfHwhMTt0aGlzLnByb1N5bWJvbC5zZXRWYWx1ZSh0fHx0aGlzLndhdGNoZWRTeW1ib2wudmFsdWUoKSksdGhpcy5lbnN1cmVkUHJvU3ltYm9sLnNldFZhbHVlKHRoaXMucHJvU3ltYm9sLnZhbHVlKCkpLGUuYWxpYXNlcyYmdGhpcy5zeW1ib2xOYW1lc0xpc3Quc2V0VmFsdWUoZS5hbGlhc2VzKTtsZXQgbz0oMCxmLmFsbENoYXJ0U3R5bGVzKSgpOygoMCxsLmlzQ2xvc2VCYXNlZFN5bWJvbCkoZSl8fHRoaXMubWFpblNlcmllcygpLmludGVydmFsT2JqKCkudmFsdWUoKS5pczFUaWNrKCkpJiYobz1vLmZpbHRlcigoZT0+KDAsbC5pc1NpbmdsZVZhbHVlQmFzZWRTdHlsZSkoZSkpKSksImhsYyI9PT1lLnZpc2libGVfcGxvdHNfc2V0JiYobz1vLmZpbHRlcigoZT0+KDAsbC5pc0hMQ0Jhc2VkU3R5bGUpKGUpfHwoMCxsLmlzU2luZ2xlVmFsdWVCYXNlZFN0eWxlKShlKSkpKSx0aGlzLndhdGNoZWRTdXBwb3J0ZWRDaGFydFN0eWxlcy5zZXRWYWx1ZShvKSx0aGlzLndhdGNoZWRJbnRyYWRheS5zZXRWYWx1ZSghIWUuaGFzX2ludHJhZGF5KSx0aGlzLndhdGNoZWRTZWNvbmRzLnNldFZhbHVlKCEhZS5oYXNfc2Vjb25kcyksdGhpcy53YXRjaGVkVGlja3Muc2V0VmFsdWUoISgwLGwuaXNDbG9zZUJhc2VkU3ltYm9sKShlKSYmISFlWyJpcy10aWNrYmFycy1hdmFpbGFibGUiXSksdGhpcy53YXRjaGVkUmFuZ2Uuc2V0VmFsdWUoISgwLGwuaXNDbG9zZUJhc2VkU3ltYm9sKShlKSk7Y29uc3QgaT1lLmRhdGFfZnJlcXVlbmN5P2UuZGF0YV9mcmVxdWVuY3k6dm9pZCAwO3RoaXMud2F0Y2hlZERhdGFGcmVxdWVuY3lSZXNvbHV0aW9uLnNldFZhbHVlKGkpfWVsc2UgdGhpcy53YXRjaGVkSW50cmFkYXkuc2V0VmFsdWUoITEpLAp0aGlzLndhdGNoZWRTZWNvbmRzLnNldFZhbHVlKCExKSx0aGlzLndhdGNoZWRUaWNrcy5zZXRWYWx1ZSghMSksdGhpcy53YXRjaGVkUmFuZ2Uuc2V0VmFsdWUoITEpLHRoaXMubWFpblNlcmllcygpLmlzRmFpbGVkKCkmJnRoaXMuZW5zdXJlZFByb1N5bWJvbC5zZXRWYWx1ZSh0aGlzLnByb1N5bWJvbC52YWx1ZSgpKX1fb25DaGFydE1vZGVsQ3JlYXRlZChlKXtpZighdGhpcy5fYm91bmRDaGFydFdpZGdldCl0aHJvdyBuZXcgRXJyb3IoIkNoYXJ0V2lkZ2V0IGlzIHVuZGVmaW5lZCIpO3RoaXMuX2NoYXJ0V2lkZ2V0QmluZGluZ1N0YXRlPTIsdGhpcy53YXRjaGVkU3ltYm9sLnNldFZhbHVlKHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQuc3ltYm9sV1YoKS52YWx1ZSgpKSx0aGlzLndhdGNoZWRTeW1ib2wuc3Vic2NyaWJlKHRoaXMuX3dhdGNoZWRTeW1ib2xMaXN0ZW5lckJvdW5kKTtjb25zdCB0PWUubWFpblNlcmllcygpLmRhdGFFdmVudHMoKTt0LnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlU2VyaWVzU3ltYm9sSW5mbyksdC5zeW1ib2xFcnJvcigpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZVNlcmllc1N5bWJvbEluZm8pLGUubWFpblNlcmllcygpLm9uSW50ZXJ2YWxDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlU2VyaWVzU3ltYm9sSW5mbyksdGhpcy5fdXBkYXRlU2VyaWVzU3ltYm9sSW5mbygpLHRoaXMud2F0Y2hlZEludGVydmFsLnNldFZhbHVlKHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQucmVzb2x1dGlvbldWKCkudmFsdWUoKSksdGhpcy53YXRjaGVkSW50ZXJ2YWwuc3Vic2NyaWJlKHRoaXMuX3dhdGNoZWRJbnRlcnZhbExpc3RlbmVyQm91bmQpLHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQucmVhZE9ubHkoKSYmKHRoaXMud2F0Y2hlZFN5bWJvbC53cml0ZUxvY2s9ITApfV9jaGFydFRvQmluZCgpe2NvbnN0IGU9dGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uO3JldHVybiBudWxsPT09ZT9udWxsOmUuYWN0aXZlQ2hhcnRXaWRnZXQudmFsdWUoKS5saW5raW5nR3JvdXBJbmRleCgpLnZhbHVlKCk9PT10aGlzLl9ncm91cEluZGV4P2UuYWN0aXZlQ2hhcnRXaWRnZXQudmFsdWUoKTpudWxsIT09dGhpcy5fYm91bmRDaGFydFdpZGdldCYmdGhpcy5fYm91bmRDaGFydFdpZGdldC5saW5raW5nR3JvdXBJbmRleCgpLnZhbHVlKCk9PT10aGlzLl9ncm91cEluZGV4P3RoaXMuX2JvdW5kQ2hhcnRXaWRnZXQ6ZS5nZXRBbGwoKS5maW5kKChlPT5lLmxpbmtpbmdHcm91cEluZGV4KCkudmFsdWUoKT09PXRoaXMuX2dyb3VwSW5kZXgpKT8/bnVsbH1fc3ltYm9sTG9jaygpe3JldHVybiEhdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uPy5sb2NrLnN5bWJvbC52YWx1ZSgpfV9pbnRlcnZhbExvY2soKXtyZXR1cm4hIXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj8ubG9jay5pbnRlcnZhbC52YWx1ZSgpfV9jaGFydHNGb3JMb2NrKGUpe3JldHVybigwPT09ZT90aGlzLl9zeW1ib2xMb2NrKCk6dGhpcy5faW50ZXJ2YWxMb2NrKCkpPygwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fbGlua2luZ0dyb3VwQ2hhcnRzKS52YWx1ZSgpOnRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQ/W3RoaXMuX2JvdW5kQ2hhcnRXaWRnZXRdOltdfV9zZXRHcm91cFN5bWJvbChlKXt0aGlzLm11dGUoITApLHRoaXMuX3NldEdyb3VwU3ltYm9sQ2FuY2VsbGF0aW9uVG9rZW4uY2FuY2VsbGVkPSEwO2NvbnN0IHQ9dGhpcy5fc2V0R3JvdXBTeW1ib2xDYW5jZWxsYXRpb25Ub2tlbj17Y2FuY2VsbGVkOiExfTsoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbikuc2V0U3ltYm9sKGUsdGhpcy5fZ3JvdXBJbmRleCwoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQpKS5maW5hbGx5KCgoKT0+e2lmKHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQmJiF0LmNhbmNlbGxlZCl7Y29uc3QgdD10aGlzLl9ib3VuZENoYXJ0V2lkZ2V0Lm1vZGVsKCkubWFpblNlcmllcygpO3Quc3ltYm9sU2FtZUFzQ3VycmVudChlKXx8KHRoaXMud2F0Y2hlZFN5bWJvbC5zZXRWYWx1ZSh0LnN5bWJvbCgpKSx0aGlzLnByb1N5bWJvbC5zZXRWYWx1ZSh0LnByb1N5bWJvbCgpKSl9fSkpLHRoaXMubXV0ZSghMSl9X25lZWRBcHBseVN5bWJvbChlKXtjb25zdCB0PXRoaXMuX2NoYXJ0c0ZvckxvY2soMCksbz10LmZpbmQoKHQ9PnQuaGFzTW9kZWwoKSYmdC5tb2RlbCgpLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCkmJnQubW9kZWwoKS5tYWluU2VyaWVzKCkuc3ltYm9sU2FtZUFzUmVzb2x2ZWQoZSkpKTtpZihvKXtjb25zdCBlPW8ubW9kZWwoKS5tYWluU2VyaWVzKCk7aWYodC5ldmVyeSgodD0+ZS5zeW1ib2xTYW1lQXNSZXNvbHZlZCh0LnN5bWJvbFdWKCkudmFsdWUoKSkpKSlyZXR1cm4hMX1yZXR1cm4gdC5zb21lKCh0PT50LnN5bWJvbFdWKCkudmFsdWUoKSE9PWUpKX1fc2V0R3JvdXBJbnRlcnZhbChlKXt0aGlzLm11dGUoITApLCgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uKS5zZXRSZXNvbHV0aW9uKGUsdGhpcy5fZ3JvdXBJbmRleCkuZmluYWxseSgoKCk9PntpZih0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0KXtjb25zdCB0PXRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQucmVzb2x1dGlvbldWKCkudmFsdWUoKTthLkludGVydmFsLmlzRXF1YWwodCxlKXx8dGhpcy53YXRjaGVkSW50ZXJ2YWwuc2V0VmFsdWUodCl9fSkpLHRoaXMubXV0ZSghMSl9X25lZWRBcHBseUludGVydmFsKGUpe3JldHVybiB0aGlzLl9jaGFydHNGb3JMb2NrKDEpLnNvbWUoKHQ9PiFhLkludGVydmFsLmlzRXF1YWwodC5yZXNvbHV0aW9uV1YoKS52YWx1ZSgpLGUpKSl9fWNvbnN0IFQ9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5fd2F0Y2hlZFN5bWJvbHM9bmV3IHMuV2F0Y2hlZFZhbHVlKFtdKSx0aGlzLl93YXRjaGVkU3ltYm9sPW5ldyBzLldhdGNoZWRWYWx1ZSx0aGlzLl9zZXJpZXNTaG9ydFN5bWJvbD1uZXcgcy5XYXRjaGVkVmFsdWUsdGhpcy5fcHJvU3ltYm9sPW5ldyBzLldhdGNoZWRWYWx1ZSwKdGhpcy5fZW5zdXJlZFByb1N5bWJvbD1uZXcgcy5XYXRjaGVkVmFsdWUsdGhpcy5fd2F0Y2hlZEludGVydmFsPW5ldyBzLldhdGNoZWRWYWx1ZSx0aGlzLl93YXRjaGVkSW50cmFkYXk9bmV3IHMuV2F0Y2hlZFZhbHVlLHRoaXMuX3dhdGNoZWRTZWNvbmRzPW5ldyBzLldhdGNoZWRWYWx1ZSx0aGlzLl93YXRjaGVkVGlja3M9bmV3IHMuV2F0Y2hlZFZhbHVlLHRoaXMuX3dhdGNoZWREYXRhRnJlcXVlbmN5UmVzb2x1dGlvbj1uZXcgcy5XYXRjaGVkVmFsdWUsdGhpcy5fd2F0Y2hlZFJhbmdlPW5ldyBzLldhdGNoZWRWYWx1ZSx0aGlzLl93YXRjaGVkU3VwcG9ydGVkUmVzb2x1dGlvbnM9bmV3IHMuV2F0Y2hlZFZhbHVlLHRoaXMuX3dhdGNoZWRTdXBwb3J0ZWRDaGFydFN0eWxlcz1uZXcgcy5XYXRjaGVkVmFsdWUoW10pLHRoaXMuX3N5bWJvbE5hbWVzTGlzdD1uZXcgcy5XYXRjaGVkVmFsdWUsdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uPW51bGwsdGhpcy5fb25TeW1ib2xMaW5rQm91bmQ9dGhpcy5fb25TeW1ib2xMaW5rLmJpbmQodGhpcyksdGhpcy5fc2VhcmNoQ2hhcnRzPW51bGwsdGhpcy5fc2VhcmNoQ2hhcnRzTG9hZERlYm91bmNlZD1udWxsLHRoaXMuX3NlbGZFbWl0PSExLHRoaXMuX3ByZXZlbnRGZWVkQnlTeW1ib2w9ITEsdGhpcy5fZmVlZEJ5U3ltYm9sRGVib3VuY2VDb3VudGVyPTAsdGhpcy5fbGlua2luZ0dyb3Vwcz1uZXcgTWFwLHRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cD1uZXcgcy5XYXRjaGVkVmFsdWUsdGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwSW5kZXg9bnVsbCx0aGlzLl91cGRhdGVMaW5raW5nR3JvdXBzPSgpPT57KDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24pLmFsbExpbmtpbmdHcm91cHMoKS52YWx1ZSgpLmZvckVhY2goKGU9PnRoaXMuX2xpbmtpbmdHcm91cChlKSkpLHRoaXMuX2xpbmtpbmdHcm91cHMuZm9yRWFjaCgoZT0+ZS51cGRhdGVCb3VuZENoYXJ0V2lkZ2V0KCkpKX0sdGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnNldFZhbHVlKHRoaXMuX2xpbmtpbmdHcm91cChudWxsKSk7Y29uc3QgZT0oZSx0KT0+e2Uuc3Vic2NyaWJlKChlPT50KCkuc2V0VmFsdWUoZSkpLHtjYWxsV2l0aExhc3Q6ITB9KX07ZSh0aGlzLl93YXRjaGVkU3ltYm9scywoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLndhdGNoZWRTeW1ib2xzKSksZSh0aGlzLl93YXRjaGVkU3ltYm9sLCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkud2F0Y2hlZFN5bWJvbCkpLGUodGhpcy5fc2VyaWVzU2hvcnRTeW1ib2wsKCgpPT50aGlzLl9hY3RpdmVMaW5raW5nR3JvdXAudmFsdWUoKS5zZXJpZXNTaG9ydFN5bWJvbCkpLGUodGhpcy5fcHJvU3ltYm9sLCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkucHJvU3ltYm9sKSksZSh0aGlzLl9lbnN1cmVkUHJvU3ltYm9sLCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkuZW5zdXJlZFByb1N5bWJvbCkpLGUodGhpcy5fd2F0Y2hlZEludGVydmFsLCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkud2F0Y2hlZEludGVydmFsKSksZSh0aGlzLl93YXRjaGVkSW50cmFkYXksKCgpPT50aGlzLl9hY3RpdmVMaW5raW5nR3JvdXAudmFsdWUoKS53YXRjaGVkSW50cmFkYXkpKSxlKHRoaXMuX3dhdGNoZWRTZWNvbmRzLCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkud2F0Y2hlZFNlY29uZHMpKSxlKHRoaXMuX3dhdGNoZWRUaWNrcywoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLndhdGNoZWRUaWNrcykpLGUodGhpcy5fd2F0Y2hlZERhdGFGcmVxdWVuY3lSZXNvbHV0aW9uLCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkud2F0Y2hlZERhdGFGcmVxdWVuY3lSZXNvbHV0aW9uKSksZSh0aGlzLl93YXRjaGVkUmFuZ2UsKCgpPT50aGlzLl9hY3RpdmVMaW5raW5nR3JvdXAudmFsdWUoKS53YXRjaGVkUmFuZ2UpKSxlKHRoaXMuX3dhdGNoZWRTdXBwb3J0ZWRSZXNvbHV0aW9ucywoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLndhdGNoZWRTdXBwb3J0ZWRSZXNvbHV0aW9ucykpLGUodGhpcy5fd2F0Y2hlZFN1cHBvcnRlZENoYXJ0U3R5bGVzLCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkud2F0Y2hlZFN1cHBvcnRlZENoYXJ0U3R5bGVzKSksZSh0aGlzLl9zeW1ib2xOYW1lc0xpc3QsKCgpPT50aGlzLl9hY3RpdmVMaW5raW5nR3JvdXAudmFsdWUoKS5zeW1ib2xOYW1lc0xpc3QpKTtjb25zdCB0PWU9Pnt0aGlzLl93YXRjaGVkU3ltYm9sLnNldFZhbHVlKGUud2F0Y2hlZFN5bWJvbC52YWx1ZSgpKSx0aGlzLl9zZXJpZXNTaG9ydFN5bWJvbC5zZXRWYWx1ZShlLnNlcmllc1Nob3J0U3ltYm9sLnZhbHVlKCkpLHRoaXMuX3Byb1N5bWJvbC5zZXRWYWx1ZShlLnByb1N5bWJvbC52YWx1ZSgpKSx0aGlzLl9lbnN1cmVkUHJvU3ltYm9sLnNldFZhbHVlKGUuZW5zdXJlZFByb1N5bWJvbC52YWx1ZSgpKSx0aGlzLl93YXRjaGVkSW50ZXJ2YWwuc2V0VmFsdWUoZS53YXRjaGVkSW50ZXJ2YWwudmFsdWUoKSksdGhpcy5fd2F0Y2hlZEludHJhZGF5LnNldFZhbHVlKGUud2F0Y2hlZEludHJhZGF5LnZhbHVlKCkpLHRoaXMuX3dhdGNoZWRTZWNvbmRzLnNldFZhbHVlKGUud2F0Y2hlZFNlY29uZHMudmFsdWUoKSksdGhpcy5fd2F0Y2hlZFRpY2tzLnNldFZhbHVlKGUud2F0Y2hlZFRpY2tzLnZhbHVlKCkpLHRoaXMuX3dhdGNoZWREYXRhRnJlcXVlbmN5UmVzb2x1dGlvbi5zZXRWYWx1ZShlLndhdGNoZWREYXRhRnJlcXVlbmN5UmVzb2x1dGlvbi52YWx1ZSgpKSx0aGlzLl93YXRjaGVkUmFuZ2Uuc2V0VmFsdWUoZS53YXRjaGVkUmFuZ2UudmFsdWUoKSksdGhpcy5fd2F0Y2hlZFN1cHBvcnRlZFJlc29sdXRpb25zLnNldFZhbHVlKGUud2F0Y2hlZFN1cHBvcnRlZFJlc29sdXRpb25zLnZhbHVlKCkpLHRoaXMuX3dhdGNoZWRTdXBwb3J0ZWRDaGFydFN0eWxlcy5zZXRWYWx1ZShlLndhdGNoZWRTdXBwb3J0ZWRDaGFydFN0eWxlcy52YWx1ZSgpKSwKdGhpcy5fc3ltYm9sTmFtZXNMaXN0LnNldFZhbHVlKGUuc3ltYm9sTmFtZXNMaXN0LnZhbHVlKCkpfTt0aGlzLl9hY3RpdmVMaW5raW5nR3JvdXAuc3Vic2NyaWJlKHQpLHQodGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkpLCgwLGIuc2V0TXV0ZUxpbmtpbmdHcm91cCkoKChlLHQpPT57ImFsbCI9PT1lP3RoaXMuX2xpbmtpbmdHcm91cHMuZm9yRWFjaCgoZT0+ZS5tdXRlKHQpKSk6dGhpcy5fbGlua2luZ0dyb3VwKGUpLm11dGUodCl9KSl9Z2V0IHN5bWJvbHMoKXtyZXR1cm4gdGhpcy5fd2F0Y2hlZFN5bWJvbHN9Z2V0IHN5bWJvbCgpe3JldHVybiB0aGlzLl93YXRjaGVkU3ltYm9sfWdldCBwcm9TeW1ib2woKXtyZXR1cm4gdGhpcy5fcHJvU3ltYm9sLnJlYWRvbmx5KCl9c3ltYm9sU3luY0VuYWJsZWQoKXtyZXR1cm4hIXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj8ubG9jay5zeW1ib2wudmFsdWUoKX1nZXQgZW5zdXJlZFByb1N5bWJvbCgpe3JldHVybiB0aGlzLl9lbnN1cmVkUHJvU3ltYm9sLnJlYWRvbmx5KCl9Z2V0IHN5bWJvbE5hbWVzTGlzdCgpe3JldHVybiB0aGlzLl9zeW1ib2xOYW1lc0xpc3QucmVhZG9ubHkoKX1nZXQgc2VyaWVzU2hvcnRTeW1ib2woKXtyZXR1cm4gdGhpcy5fc2VyaWVzU2hvcnRTeW1ib2wucmVhZG9ubHkoKX1nZXQgaW50ZXJ2YWwoKXtyZXR1cm4gdGhpcy5fd2F0Y2hlZEludGVydmFsfWludGVydmFsU3luY0VuYWJsZWQoKXtyZXR1cm4hIXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj8ubG9jay5pbnRlcnZhbC52YWx1ZSgpfWdldCBpbnRyYWRheSgpe3JldHVybiB0aGlzLl93YXRjaGVkSW50cmFkYXkucmVhZG9ubHkoKX1nZXQgc2Vjb25kcygpe3JldHVybiB0aGlzLl93YXRjaGVkU2Vjb25kcy5yZWFkb25seSgpfWdldCB0aWNrcygpe3JldHVybiB0aGlzLl93YXRjaGVkVGlja3MucmVhZG9ubHkoKX1nZXQgcmFuZ2UoKXtyZXR1cm4gdGhpcy5fd2F0Y2hlZFJhbmdlLnJlYWRvbmx5KCl9Z2V0IHN1cHBvcnRlZFJlc29sdXRpb25zKCl7cmV0dXJuIHRoaXMuX3dhdGNoZWRTdXBwb3J0ZWRSZXNvbHV0aW9ucy5yZWFkb25seSgpfWdldCBzdXBwb3J0ZWRDaGFydFN0eWxlcygpe3JldHVybiB0aGlzLl93YXRjaGVkU3VwcG9ydGVkQ2hhcnRTdHlsZXMucmVhZG9ubHkoKX1nZXQgcHJldmVudEZlZWRCeVN5bWJvbCgpe3JldHVybiB0aGlzLl9wcmV2ZW50RmVlZEJ5U3ltYm9sfWdldCBkYXRhRnJlcXVlbmN5UmVzb2x1dGlvbigpe3JldHVybiB0aGlzLl93YXRjaGVkRGF0YUZyZXF1ZW5jeVJlc29sdXRpb24ucmVhZG9ubHkoKX1hY3RpdmVMaW5raW5nR3JvdXAoKXtyZXR1cm4gdGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnJlYWRvbmx5KCl9Z2V0Q2hhcnRXaWRnZXQoKXtyZXR1cm4gdGhpcy5hY3RpdmVMaW5raW5nR3JvdXAoKS52YWx1ZSgpLmJvdW5kQ2hhcnRXaWRnZXQoKX1iaW5kVG9DaGFydFdpZGdldENvbGxlY3Rpb24oZSl7dGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uPy5vbkFib3V0VG9CZURlc3Ryb3llZC51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl91bmJpbmRGcm9tQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKCksdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uPWUsdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLm9uQWJvdXRUb0JlRGVzdHJveWVkLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VuYmluZEZyb21DaGFydFdpZGdldENvbGxlY3Rpb24pLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5hbGxMaW5raW5nR3JvdXBzKCkuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUxpbmtpbmdHcm91cHMpLHRoaXMuX3VwZGF0ZUxpbmtpbmdHcm91cHMoKSx0aGlzLl9hY3RpdmVMaW5raW5nR3JvdXBJbmRleD1lLmFjdGl2ZUxpbmtpbmdHcm91cCgpLnNwYXduKCksdGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwSW5kZXguc3Vic2NyaWJlKChlPT57dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnNldFZhbHVlKHRoaXMuX2xpbmtpbmdHcm91cChlKSl9KSx7Y2FsbFdpdGhMYXN0OiEwfSksdGhpcy5fbGlua2luZ0dyb3Vwcy5mb3JFYWNoKCh0PT50LmJpbmRUb0NoYXJ0V2lkZ2V0Q29sbGVjdGlvbihlKSkpfWJpbmRUb1NlYXJjaENoYXJ0cyhlKXt0aGlzLnVuYmluZEZyb21TZWFyY2hDaGFydHMoKSx0aGlzLl9zZWFyY2hDaGFydHM9ZSxlLm9uU2VhcmNoQnlTeW1ib2wuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TZWFyY2hCeVN5bWJvbCksZS5sb2FkaW5nU3ltYm9sLnN1YnNjcmliZSgoZT0+eyExPT09ZSYmKHRoaXMuX2ZlZWRCeVN5bWJvbERlYm91bmNlQ291bnRlcj0wKX0pKSx0aGlzLl93YXRjaGVkU3ltYm9sLnN1YnNjcmliZSh0aGlzLl9vblN5bWJvbExpbmtCb3VuZCl9dW5iaW5kRnJvbVNlYXJjaENoYXJ0cygpe3RoaXMuX3NlYXJjaENoYXJ0cyYmKHRoaXMuX3NlYXJjaENoYXJ0cy5vblNlYXJjaEJ5U3ltYm9sLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TZWFyY2hCeVN5bWJvbCksdGhpcy5fd2F0Y2hlZFN5bWJvbC51bnN1YnNjcmliZSh0aGlzLl9vblN5bWJvbExpbmtCb3VuZCksdGhpcy5fc2VhcmNoQ2hhcnRzPW51bGwpfXNldFByZXZlbnRGZWVkQnlTeW1ib2woZSl7dGhpcy5fcHJldmVudEZlZWRCeVN5bWJvbD1lfXNldFN5bWJvbEFuZExvZ0luaXRpYXRvcihlLHQsbyxpLG4pe2NvbnN0IHI9dm9pZCAwIT09bj90aGlzLl9saW5raW5nR3JvdXAobi5saW5raW5nR3JvdXBJbmRleCgpLnZhbHVlKCkpOnRoaXMuYWN0aXZlTGlua2luZ0dyb3VwKCkudmFsdWUoKTt2YXIgcyxhLGwsYzsoci53YXRjaGVkU3ltYm9sLnZhbHVlKCkhPT1lfHxvKSYmKFMubG9nSW5mbyhgQ2hhbmdlIGxpbmtpbmcgc3ltYm9sIHRvICR7ZX0sIGluaXRpYXRvcjogJHt0fWApLHIud2F0Y2hlZFN5bWJvbC5zZXRWYWx1ZShlLG8pLGl8fG51bGw9PT10aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb258fChzPXIubWFpblNlcmllcygpLGE9dGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmxheW91dC52YWx1ZSgpLGw9dGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLm1ldGFJbmZvLnVpZC52YWx1ZSgpfHwiIixjPXQsCndpbmRvdy51c2VyLmRvX25vdF90cmFja3x8cy5zeW1ib2xSZXNvbHZpbmdBY3RpdmUoKS5zdWJzY3JpYmUoKGU9PntpZihlKXJldHVybjtjb25zdCB0PXMuc3ltYm9sSW5mbygpO3QmJigwLGcuZ2V0VHJhY2tlcikoKS50aGVuKChlPT57bnVsbCE9PWUmJmUudHJhY2tDaGFydFN5bWJvbHMoe3N5bWJvbE5hbWU6dC5wcm9fbmFtZSxzeW1ib2xUeXBlOnQudHlwZSxyZXNvbHV0aW9uOnMuaW50ZXJ2YWwoKSxsYXlvdXRUeXBlOmEsY2hhcnRJZDpsLGNoYXJ0U3R5bGVzOl8uU1RZTEVfU0hPUlRfTkFNRVNbcy5zdHlsZSgpXSxvcGVuU291cmNlOmMscGxhdGZvcm06KDAscC5nZXRQbGF0Zm9ybSkoKSxpc0V4cGVydDp3aW5kb3cudXNlci5kZWNsYXJlZF9zdGF0dXM9PT1tLlVzZXJTdGF0dXMuUHJvfSl9KSl9KSx7b25jZTohMH0pKSl9c2V0SW50ZXJ2YWxBbmRMb2dJbml0aWF0b3IoZSx0LG8saSl7Y29uc3Qgbj12b2lkIDAhPT1pP3RoaXMuX2xpbmtpbmdHcm91cChpLmxpbmtpbmdHcm91cEluZGV4KCkudmFsdWUoKSk6dGhpcy5hY3RpdmVMaW5raW5nR3JvdXAoKS52YWx1ZSgpO2EuSW50ZXJ2YWwuaXNFcXVhbChuLndhdGNoZWRJbnRlcnZhbC52YWx1ZSgpLGUpfHwoUy5sb2dJbmZvKGBDaGFuZ2UgbGlua2luZyBpbnRlcnZhbCB0byAke2V9LCBpbml0aWF0b3I6ICR7dH1gKSxvfHwoMCx2LnRyYWNrSW50ZXJ2YWxDaGFuZ2luZykoZSx0KSxuLndhdGNoZWRJbnRlcnZhbC5zZXRWYWx1ZShlKSl9X29uU2VhcmNoQnlTeW1ib2woZSl7aWYoIWUucmVzb2x2ZWRfc3ltYm9sKXRocm93IG5ldyBFcnJvcigibm8gcmVzb2x2ZWRfc3ltYm9sIik7dGhpcy5fc2VsZkVtaXQ9ITAsdGhpcy5fd2F0Y2hlZFN5bWJvbC5zZXRWYWx1ZShlLnJlc29sdmVkX3N5bWJvbCksdGhpcy5fc2VsZkVtaXQ9ITF9X29uU3ltYm9sTGluayhlKXtpZighdGhpcy5fc2VsZkVtaXQpe2lmKCF0aGlzLl9zZWFyY2hDaGFydHMpe2NvbnN0IGU9Ik5vIHNlYXJjaCBjaGFydHMgZGVmaW5lZCI7dGhyb3cgUy5sb2dFcnJvcihlKSxuZXcgRXJyb3IoZSl9dGhpcy5fcHJldmVudEZlZWRCeVN5bWJvbHx8dGhpcy5fbG9hZFNlYXJjaENoYXJ0cyhlKX19X2xvYWRTZWFyY2hDaGFydHMoZSl7aWYoIXRoaXMuX3NlYXJjaENoYXJ0cyl7Y29uc3QgZT0iTm8gc2VhcmNoIGNoYXJ0cyBkZWZpbmVkIjt0aHJvdyBTLmxvZ0Vycm9yKGUpLG5ldyBFcnJvcihlKX1pZih0aGlzLl9zZWFyY2hDaGFydHNMb2FkRGVib3VuY2VkKXJldHVybiB2b2lkKHRoaXMuX2ZlZWRCeVN5bWJvbERlYm91bmNlQ291bnRlcjwxMDAmJih0aGlzLl9mZWVkQnlTeW1ib2xEZWJvdW5jZUNvdW50ZXIrKyx0aGlzLl9zZWFyY2hDaGFydHNMb2FkRGVib3VuY2VkKGUpKSk7Y29uc3QgdD1lPT50aGlzLl9zZWFyY2hDaGFydHM/KCEwPT09dGhpcy5fc2VhcmNoQ2hhcnRzLmxvYWRpbmdTeW1ib2wudmFsdWUoKT90aGlzLl9mZWVkQnlTeW1ib2xEZWJvdW5jZUNvdW50ZXI8MTAwJiYodGhpcy5fZmVlZEJ5U3ltYm9sRGVib3VuY2VDb3VudGVyKyssdGhpcy5fc2VhcmNoQ2hhcnRzTG9hZERlYm91bmNlZD0oMCxpLmRlZmF1bHQpKHQsMmUzKSx0aGlzLl9zZWFyY2hDaGFydHNMb2FkRGVib3VuY2VkKGUpKTp0aGlzLl9zZWFyY2hDaGFydHNMb2FkRGVib3VuY2VkPW51bGwsdGhpcy5fc2VhcmNoQ2hhcnRzLmZlZWRCeVN5bWJvbC5jYWxsKHRoaXMuX3NlYXJjaENoYXJ0cyxlKSk6KCk9Pnt9OyEwPT09dGhpcy5fc2VhcmNoQ2hhcnRzLmxvYWRpbmdTeW1ib2wudmFsdWUoKT90aGlzLl9mZWVkQnlTeW1ib2xEZWJvdW5jZUNvdW50ZXI8MTAwJiYodGhpcy5fZmVlZEJ5U3ltYm9sRGVib3VuY2VDb3VudGVyKyssdGhpcy5fc2VhcmNoQ2hhcnRzTG9hZERlYm91bmNlZD0oMCxpLmRlZmF1bHQpKHQsMmUzKSx0aGlzLl9zZWFyY2hDaGFydHNMb2FkRGVib3VuY2VkKGUpKTp0aGlzLl9zZWFyY2hDaGFydHMuZmVlZEJ5U3ltYm9sKGUpfV9saW5raW5nR3JvdXAoZSl7bGV0IHQ9dGhpcy5fbGlua2luZ0dyb3Vwcy5nZXQoZSk7aWYodm9pZCAwPT09dCl7Y29uc3Qgbz17d2F0Y2hlZFN5bWJvbHM6dGhpcy5fd2F0Y2hlZFN5bWJvbHMsd2F0Y2hlZFN5bWJvbDp0aGlzLl93YXRjaGVkU3ltYm9sLHNlcmllc1Nob3J0U3ltYm9sOnRoaXMuX3Nlcmllc1Nob3J0U3ltYm9sLHByb1N5bWJvbDp0aGlzLl9wcm9TeW1ib2wsZW5zdXJlZFByb1N5bWJvbDp0aGlzLl9lbnN1cmVkUHJvU3ltYm9sLHdhdGNoZWRJbnRlcnZhbDp0aGlzLl93YXRjaGVkSW50ZXJ2YWwsd2F0Y2hlZEludHJhZGF5OnRoaXMuX3dhdGNoZWRJbnRyYWRheSx3YXRjaGVkU2Vjb25kczp0aGlzLl93YXRjaGVkU2Vjb25kcyx3YXRjaGVkVGlja3M6dGhpcy5fd2F0Y2hlZFRpY2tzLHdhdGNoZWREYXRhRnJlcXVlbmN5UmVzb2x1dGlvbjp0aGlzLl93YXRjaGVkRGF0YUZyZXF1ZW5jeVJlc29sdXRpb24sd2F0Y2hlZFJhbmdlOnRoaXMuX3dhdGNoZWRSYW5nZSx3YXRjaGVkU3VwcG9ydGVkUmVzb2x1dGlvbnM6dGhpcy5fd2F0Y2hlZFN1cHBvcnRlZFJlc29sdXRpb25zLHdhdGNoZWRTdXBwb3J0ZWRDaGFydFN0eWxlczp0aGlzLl93YXRjaGVkU3VwcG9ydGVkQ2hhcnRTdHlsZXMsc3ltYm9sTmFtZXNMaXN0OnRoaXMuX3N5bWJvbE5hbWVzTGlzdH07dD1uZXcgayhlLG8sKCgpPT50aGlzLl9hY3RpdmVMaW5raW5nR3JvdXAudmFsdWUoKSkpLHRoaXMuX2xpbmtpbmdHcm91cHMuc2V0KGUsdCksdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uJiZ0LmJpbmRUb0NoYXJ0V2lkZ2V0Q29sbGVjdGlvbih0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24pfXJldHVybiB0fV91bmJpbmRGcm9tQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKCl7bnVsbCE9PXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbiYmKHRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cEluZGV4Py5kZXN0cm95KCksdGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwSW5kZXg9bnVsbCx0aGlzLl9saW5raW5nR3JvdXBzLmZvckVhY2goKGU9PmUudW5iaW5kRnJvbUNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpKSksCnRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5hbGxMaW5raW5nR3JvdXBzKCkudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlTGlua2luZ0dyb3VwcyksdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uPW51bGwpfX07e2NvbnN0IGU9KDAsdS5nZXRGcmVzaEluaXREYXRhKSgpLnN5bWJvbEluZm8sdD1lP2UucHJvX3N5bWJvbDpoLmdldFZhbHVlKCJlZGl0Y2hhcnQubW9kZWwuc3ltYm9sIiwoMCx5LmdldERlZmF1bHRTeW1ib2wpKCkpO1Quc2V0U3ltYm9sQW5kTG9nSW5pdGlhdG9yKHQsImluaXRpYWwgZGF0YSIsITEsITApfXdpbmRvdy5UcmFkaW5nVmlld0FwaXx8KHdpbmRvdy5UcmFkaW5nVmlld0FwaT17bGlua2luZzpUfSl9LDIwOTM5KGUsdCxvKXsidXNlIHN0cmljdCI7bGV0IGk7ZnVuY3Rpb24gbihlKXtpPWV9by5kKHQse3NldE11dGVMaW5raW5nR3JvdXA6KCk9Pm59KX0sNDU5NDg4KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse3Bvc2l0aW9uOigpPT5yfSk7dmFyIGk9bygxMzg2MzgpO2Z1bmN0aW9uIG4oZSl7aWYoIWUuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGgpcmV0dXJue3RvcDowLGxlZnQ6MH07Y29uc3QgdD1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG89KDAsaS5lbnN1cmVOb3ROdWxsKShlLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcpO3JldHVybnt0b3A6dC50b3Arby5wYWdlWU9mZnNldCxsZWZ0OnQubGVmdCtvLnBhZ2VYT2Zmc2V0fX1mdW5jdGlvbiByKGUpe2NvbnN0IHQ9Z2V0Q29tcHV0ZWRTdHlsZShlKTtsZXQgbyxpPXt0b3A6MCxsZWZ0OjB9O2lmKCJmaXhlZCI9PT10LnBvc2l0aW9uKW89ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtlbHNle289bihlKTtjb25zdCB0PWUub3duZXJEb2N1bWVudDtsZXQgcj1lLm9mZnNldFBhcmVudHx8dC5kb2N1bWVudEVsZW1lbnQ7Zm9yKDtyJiYocj09PXQuYm9keXx8cj09PXQuZG9jdW1lbnRFbGVtZW50KSYmInN0YXRpYyI9PT1nZXRDb21wdXRlZFN0eWxlKHIpLnBvc2l0aW9uOylyPXIucGFyZW50RWxlbWVudDtyJiZyIT09ZSYmMT09PXIubm9kZVR5cGUmJihpPW4ociksaS50b3ArPXBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZShyKS5ib3JkZXJUb3BXaWR0aCksaS5sZWZ0Kz1wYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUocikuYm9yZGVyTGVmdFdpZHRoKSl9cmV0dXJue3RvcDpvLnRvcC1pLnRvcC1wYXJzZUZsb2F0KHQubWFyZ2luVG9wKSxsZWZ0Om8ubGVmdC1pLmxlZnQtcGFyc2VGbG9hdCh0Lm1hcmdpbkxlZnQpfX19LDM2MjIzOShlLHQsbyl7InVzZSBzdHJpY3QiO2FzeW5jIGZ1bmN0aW9uIGkoKXtpZighd2luZG93LnVzZXJ8fHdpbmRvdy51c2VyLmRvX25vdF90cmFjaylyZXR1cm4gbnVsbDtjb25zdHtnZXRUcmFja2VySW5zdGFuY2U6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW28uZSg3MDY0NCksby5lKDY2Mzk5KV0pLnRoZW4oby5iaW5kKG8sMTU4MzMyKSk7cmV0dXJuIGUoKX1vLmQodCx7Z2V0VHJhY2tlcjooKT0+aX0pfSwzNTUxMjMoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7c3BhcnNlVXNlcnNUcmFja2luZ0NvZWZmaWNpZW50OigpPT5hfSk7dmFyIGk9byg5MzIzNjUpO2NvbnN0IG49InNwYXJzZVVzZXJzVHJhY2tpbmdDb2VmZmljaWVudCIscj0oMCxvKDE2MDI5NikuaXNQcm9kKSgpP251bGw6aS5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKG4pO2xldCBzPW51bGwhPT1yP3BhcnNlRmxvYXQocik6bnVsbDtudWxsIT09cyYmKCFOdW1iZXIuaXNGaW5pdGUocyl8fHM8MHx8cz4xKSYmKHM9bnVsbCxpLlRWTG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0obikpO2NvbnN0IGE9cz8/LjF9LDM4MzM1MShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHt0cmFja0ludGVydmFsQ2hhbmdpbmc6KCk9PnN9KTt2YXIgaT1vKDg1NjE5Niksbj1vKDM2MjIzOSkscj1vKDM1NTEyMyk7ZnVuY3Rpb24gcyhlLHQpe3dpbmRvdy51c2VyLmRvX25vdF90cmFja3x8KDAsaS5zaG91bGRBZmZlY3RVc2VyKSgiSW50ZXJ2YWxDaGFuZ2luZyIsci5zcGFyc2VVc2Vyc1RyYWNraW5nQ29lZmZpY2llbnQpJiYoMCxuLmdldFRyYWNrZXIpKCkudGhlbigobz0+e251bGwhPT1vJiZvLnRyYWNrQ2hhcnRJbnRlcnZhbENoYW5naW5nKGUsdCl9KSl9fSwxNTI3MTcoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7c3luY1VzZXJDb252ZXJzaW9uRGF0YTooKT0+dSxzeW5jVXNlckRhdGE6KCk9Pmh9KTt2YXIgaT1vKDIyMTA2MSksbj1vKDM4NjkzMSkscj1vKDgyNzAxKSxzPW8oMzg0MDE3KSxhPW8oNTI0MDY5KTtjb25zdCBsPSgwLGkuZ2V0TG9nZ2VyKSgiVXNlci5TeW5jIik7ZnVuY3Rpb24gYyhlKXtyZXR1cm5gJHtlfV8ke3dpbmRvdy51c2VyJiZ3aW5kb3cudXNlci51c2VybmFtZXx8IiJ9YH1mdW5jdGlvbiBkKGUpe2NvbnN0e3NvdXJjZTp0LGlzQXV0aGVudGljYXRlZDpvLHByb1BsYW46aSxvZmZlcnM6cyxmaXJlTG9naW5DaGFuZ2U6YT0hMH09ZTtpIT09d2luZG93LnVzZXIucHJvX3BsYW4mJih3aW5kb3cudXNlci5wcm9fcGxhbj1pLHdpbmRvdy51c2VyLmlzX3Bybz1Cb29sZWFuKGkpLCgwLG4udHJhY2tFdmVudCkoIlN5bmMgVXNlciBEYXRhIiwiRGlmZmVyZW50IFBybyBQbGFuIixjKHQpKSksbyE9PXdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiYod2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ9byxhJiZ3aW5kb3cubG9naW5TdGF0ZUNoYW5nZS5maXJlKCksKDAsbi50cmFja0V2ZW50KSgiU3luYyBVc2VyIERhdGEiLCJEaWZmZXJlbnQgQXV0aCIsYyh0KSkpLHMmJnIuYXZhaWxhYmxlT2ZmZXJzLnNldEluaXRpYWwocyl9YXN5bmMgZnVuY3Rpb24gaChlKXt0cnl7ZCh7c291cmNlOmUsaXNBdXRoZW50aWNhdGVkOiEwLHByb1BsYW46KGF3YWl0KDAsYS5nZXRQcm9QbGFuRGV0YWlsc0ZvclVzZXIpKCkpLnByb19wbGFufSl9Y2F0Y2godCl7IWZ1bmN0aW9uKGUsdCl7NDAzPT09dC5zdGF0dXMmJlsibm90X2F1dGhlbnRpY2F0ZWQiLCJsb2dpbl9yZXF1aXJlZCJdLmluY2x1ZGVzKHQudHlwZXx8IiIpP2Qoe3NvdXJjZTplLGlzQXV0aGVudGljYXRlZDohMSxwcm9QbGFuOnZvaWQgMH0pOmwubG9nRXJyb3IodC5tZXNzYWdlKX0oZSx0KX19CmFzeW5jIGZ1bmN0aW9uIHUoZSx0PSEwKXtjb25zdCBvPW5ldyBVUkwoIi9wcmljaW5nLyIsd2luZG93LmxvY2F0aW9uLm9yaWdpbiksaT1uZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO2kuaGFzKCJfdGVzdF9jb3VudHJ5IikmJm8uc2VhcmNoUGFyYW1zLmFwcGVuZCgiX3Rlc3RfY291bnRyeSIsaS5nZXQoIl90ZXN0X2NvdW50cnkiKT8/IiIpLG8uc2VhcmNoUGFyYW1zLmFwcGVuZCgiY29tcG9uZW50LWRhdGEtb25seSIsIjEiKTtjb25zdCBuPWF3YWl0KDAscy5mZXRjaCkoby5ocmVmKSxyPWF3YWl0IG4uanNvbigpO3JldHVybiBkKHtzb3VyY2U6ZSxpc0F1dGhlbnRpY2F0ZWQ6ci5pc19hdXRoZW50aWNhdGVkLHByb1BsYW46ci51c2VyLnByb19wbGFuLGZpcmVMb2dpbkNoYW5nZTp0LG9mZmVyczpyLnVzZXIuYXZhaWxhYmxlX29mZmVyc30pLHJ9fSw4MTA0MShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtTdGRUaGVtZTooKT0+aS5TdGRUaGVtZX0pO3ZhciBpPW8oMjQ3OTAxKX0sMjM0OTY0KGUsdCxvKXsidXNlIHN0cmljdCI7YXN5bmMgZnVuY3Rpb24gaShlLHQpe2NvbnN0IGk9YXdhaXQgUHJvbWlzZS5hbGwoW28uZSgyODgzMSksby5lKDg0MzA2KSxvLmUoMjkyOTYpLG8uZSg1MjM5Niksby5lKDYwMDYyKSxvLmUoMjAzNTQpLG8uZSgxMzQ5Miksby5lKDM3NzQ2KSxvLmUoMTIzODUpLG8uZSg4MTA3Miksby5lKDk0MjMyKSxvLmUoMTk1OTUpLG8uZSgxOTc4Nyksby5lKDg1NzkpLG8uZSgxNzA4Nyksby5lKDU3MzAwKSxvLmUoMTIwNTEpLG8uZSg4OTU1OCksby5lKDEwMzY2KSxvLmUoNDA5MTQpLG8uZSg5MDk2MCksby5lKDg3NzQwKSxvLmUoNzg4OTkpLG8uZSg2NzIxMiksby5lKDgwOTE1KSxvLmUoMTUzNCksby5lKDI4MTc2KSxvLmUoMzk2MDkpLG8uZSg1NTIyOSksby5lKDY1MTAwKSxvLmUoNDI3MDYpXSkudGhlbihvLmJpbmQobyw1MDYyNzUpKTtyZXR1cm4gaS5zaG93U2ltcGxlRGlhbG9nKGUsaS5yZW5hbWVNb2R1bGUsdCl9YXN5bmMgZnVuY3Rpb24gbihlLHQpe2NvbnN0IGk9YXdhaXQgUHJvbWlzZS5hbGwoW28uZSgyODgzMSksby5lKDg0MzA2KSxvLmUoMjkyOTYpLG8uZSg1MjM5Niksby5lKDYwMDYyKSxvLmUoMjAzNTQpLG8uZSgxMzQ5Miksby5lKDM3NzQ2KSxvLmUoMTIzODUpLG8uZSg4MTA3Miksby5lKDk0MjMyKSxvLmUoMTk1OTUpLG8uZSgxOTc4Nyksby5lKDg1NzkpLG8uZSgxNzA4Nyksby5lKDU3MzAwKSxvLmUoMTIwNTEpLG8uZSg4OTU1OCksby5lKDEwMzY2KSxvLmUoNDA5MTQpLG8uZSg5MDk2MCksby5lKDg3NzQwKSxvLmUoNzg4OTkpLG8uZSg2NzIxMiksby5lKDgwOTE1KSxvLmUoMTUzNCksby5lKDI4MTc2KSxvLmUoMzk2MDkpLG8uZSg1NTIyOSksby5lKDY1MTAwKSxvLmUoNDI3MDYpXSkudGhlbihvLmJpbmQobyw1MDYyNzUpKTtyZXR1cm4gaS5zaG93U2ltcGxlRGlhbG9nKGUsaS5jb25maXJtTW9kdWxlLHQpfWFzeW5jIGZ1bmN0aW9uIHIoZSx0KXtjb25zdCBpPWF3YWl0IFByb21pc2UuYWxsKFtvLmUoMjg4MzEpLG8uZSg4NDMwNiksby5lKDI5Mjk2KSxvLmUoNTIzOTYpLG8uZSg2MDA2Miksby5lKDIwMzU0KSxvLmUoMTM0OTIpLG8uZSgzNzc0Niksby5lKDEyMzg1KSxvLmUoODEwNzIpLG8uZSg5NDIzMiksby5lKDE5NTk1KSxvLmUoMTk3ODcpLG8uZSg4NTc5KSxvLmUoMTcwODcpLG8uZSg1NzMwMCksby5lKDEyMDUxKSxvLmUoODk1NTgpLG8uZSgxMDM2Niksby5lKDQwOTE0KSxvLmUoOTA5NjApLG8uZSg4Nzc0MCksby5lKDc4ODk5KSxvLmUoNjcyMTIpLG8uZSg4MDkxNSksby5lKDE1MzQpLG8uZSgyODE3Niksby5lKDM5NjA5KSxvLmUoNTUyMjkpLG8uZSg2NTEwMCksby5lKDQyNzA2KV0pLnRoZW4oby5iaW5kKG8sNTA2Mjc1KSk7cmV0dXJuIGkuc2hvd1NpbXBsZURpYWxvZyhlLGkud2FybmluZ01vZHVsZSx0KX1vLmQodCx7c2hvd0NvbmZpcm06KCk9Pm4sc2hvd1JlbmFtZTooKT0+aSxzaG93V2FybmluZzooKT0+cn0pfSw2NTQ2MzYoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7cnVuT3JTaWduSW46KCk9PnJ9KTt2YXIgaT1vKDkzMDIzMSk7byg2MjE5MjYpO2NvbnN0IG49KDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0Iik7ZnVuY3Rpb24gcihlLHQpe24/ZSgpOndpbmRvdy5ydW5PclNpZ25JbihlLHQpfX0sODMyMzkyKGUsdCxvKXsidXNlIHN0cmljdCI7byg3OTUzODMpLG8oNDgyNTA0KTt2YXIgaT1vKDM0NDc4NSksbj1vKDkzMDU2Nikscj0obyg4MjkxODApLG8oODA0NjE5KSxvKDEzODYzOCkpLHM9byg3NDgwMDIpLGE9byg2NTM4MTcpLGw9byg3NDI1NzcpLGM9byg1Mjg4NjQpO3ZhciBkLGgsdT1vKDYwMTU4NyksXz1vKDE4NTI3MSk7IWZ1bmN0aW9uKGUpe2UuQm9uZHM9ImJvbmRzIixlLkNmZD0iY2ZkIixlLkNvbnRpbnVvdXNGdXR1cmVzPSJjb250aW51b3VzX2Z1dHVyZXMiLGUuQ3J5cHRvPSJjcnlwdG8iLGUuQ3J5cHRvQnlTeW1ib2w9ImNyeXB0b19ieV9zeW1ib2wiLGUuQ3J5cHRvTWt0PSJjcnlwdG9fbWt0IixlLkNyeXB0b01rdEJ5U3ltYm9sPSJjcnlwdG9fbWt0X2J5X3N5bWJvbCIsZS5DdXJyZW5jeT0iY3VycmVuY3kiLGUuRm9yZXg9ImZvcmV4IixlLkZ1dHVyZXM9ImZ1dHVyZXMiLGUuSW5kdXN0cnk9ImluZHVzdHJ5IixlLlBvc3RNYXJrZXQ9InBvc3RfbWFya2V0IixlLlByZU1hcmtldD0icHJlX21hcmtldCIsZS5TZWN0b3I9InNlY3RvciIsZS5TdG9jaz0ic3RvY2siLGUuU3RvY2tDb21wYWN0PSJzdG9ja19jb21wYWN0In0oZHx8KGQ9e30pKSxmdW5jdGlvbihlKXtlLkJhc2VDdXJyZW5jeUxvZ29JZD0iYmFzZV9jdXJyZW5jeV9sb2dvaWQiLGUuQ2hhbmdlPSJjaGFuZ2UiLGUuQ291bnRyeT0iY291bnRyeSIsZS5DdXJyZW5jeUxvZ29JZD0iY3VycmVuY3lfbG9nb2lkIixlLkRlc2NyaXB0aW9uPSJkZXNjcmlwdGlvbiIsZS5JbmR1c3RyeT0iaW5kdXN0cnkiLGUuTG9nb0lkPSJsb2dvaWQiLGUuTmFtZT0ibmFtZSIsZS5QZXJmb3JtYW5jZTFNPSJQZXJmLjFNIixlLlBlcmZvcm1hbmNlM009IlBlcmYuM00iLGUuUGVyZm9ybWFuY2U2TT0iUGVyZi42TSIsCmUuUGVyZm9ybWFuY2VXPSJQZXJmLlciLGUuUGVyZm9ybWFuY2VZPSJQZXJmLlkiLGUuUGVyZm9ybWFuY2VZVEQ9IlBlcmYuWVREIixlLlNlY3Rvcj0ic2VjdG9yIn0oaHx8KGg9e30pKTtjb25zdCBwPVt7aWQ6Im92ZXJ2aWV3Iix0aXRsZTpfLnQobnVsbCx2b2lkIDAsbyg1NjgzNDYpKSxzY3JlZW5lclR5cGVDb250ZW50OntzdG9jazp7c3RvY2s6W2guTG9nb0lkLGguTmFtZSwiY2xvc2UiLCJjaGFuZ2UiLCJjaGFuZ2VfYWJzIiwiUmVjb21tZW5kLkFsbCIsInZvbHVtZSIsIlZhbHVlLlRyYWRlZCIsIm1hcmtldF9jYXBfYmFzaWMiLCJwcmljZV9lYXJuaW5nc190dG0iLCJlYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtIiwibnVtYmVyX29mX2VtcGxveWVlcyIsaC5TZWN0b3IsImRlc2NyaXB0aW9uIiwidHlwZSJdLF9zZWN0b3I6W2guTG9nb0lkLGguTmFtZSwiY2xvc2UiLCJjaGFuZ2UiLCJjaGFuZ2VfYWJzIiwiUmVjb21tZW5kLkFsbCIsInZvbHVtZSIsIlZhbHVlLlRyYWRlZCIsIm1hcmtldF9jYXBfYmFzaWMiLCJwcmljZV9lYXJuaW5nc190dG0iLCJlYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtIiwibnVtYmVyX29mX2VtcGxveWVlcyIsImluZHVzdHJ5IiwiZGVzY3JpcHRpb24iLCJ0eXBlIl19LGZvcmV4OltoLkJhc2VDdXJyZW5jeUxvZ29JZCxoLkN1cnJlbmN5TG9nb0lkLGguTmFtZSwiY2xvc2UiLCJjaGFuZ2UiLCJjaGFuZ2VfYWJzIiwiYmlkIiwiYXNrIiwiaGlnaCIsImxvdyIsIlJlY29tbWVuZC5BbGwiLCJkZXNjcmlwdGlvbiIsInR5cGUiXSxjcnlwdG86W2guQmFzZUN1cnJlbmN5TG9nb0lkLGguQ3VycmVuY3lMb2dvSWQsaC5OYW1lLCJjbG9zZSIsImNoYW5nZSIsImNoYW5nZV9hYnMiLCJoaWdoIiwibG93Iiwidm9sdW1lIiwiMjRoX3ZvbHw1IiwiMjRoX3ZvbF9jaGFuZ2V8NSIsIlJlY29tbWVuZC5BbGwiLCJleGNoYW5nZSIsImRlc2NyaXB0aW9uIl0sY3J5cHRvX21rdDpbaC5CYXNlQ3VycmVuY3lMb2dvSWQsaC5TZWN0b3IsIm1hcmtldF9jYXBfY2FsYyIsIm1hcmtldF9jYXBfZGlsdXRlZF9jYWxjIiwiY2xvc2UiLCJ0b3RhbF9zaGFyZXNfb3V0c3RhbmRpbmciLCJ0b3RhbF9zaGFyZXNfZGlsdXRlZCIsInRvdGFsX3ZhbHVlX3RyYWRlZCIsImNoYW5nZSJdLGNyeXB0b19ta3RfYnlfc3ltYm9sOltoLkN1cnJlbmN5TG9nb0lkLGguTmFtZSwiY2xvc2UiLCJjaGFuZ2UiLCJjaGFuZ2VfYWJzIiwiaGlnaCIsImxvdyIsInZvbHVtZSIsIlJlY29tbWVuZC5BbGwiLCJleGNoYW5nZSIsImRlc2NyaXB0aW9uIl0sY3J5cHRvX2J5X3N5bWJvbDpbaC5DdXJyZW5jeUxvZ29JZCxoLk5hbWUsImV4Y2hhbmdlIiwiY2xvc2UiLCJjaGFuZ2UiLCJjaGFuZ2VfYWJzIiwiaGlnaCIsImxvdyIsInZvbHVtZSIsIlJlY29tbWVuZC5BbGwiLCJkZXNjcmlwdGlvbiJdLGZ1dHVyZXM6W2guTG9nb0lkLGguTmFtZSwiY2xvc2UiLCJjaGFuZ2UiLCJjaGFuZ2VfYWJzIiwiaGlnaCIsImxvdyIsIlJlY29tbWVuZC5BbGwiLCJkZXNjcmlwdGlvbiJdLGNvbnRpbnVvdXNfZnV0dXJlczpbaC5Mb2dvSWQsaC5OYW1lLCJleHBpcmF0aW9uIiwiY2xvc2UiLCJjaGFuZ2UiLCJjaGFuZ2VfYWJzIiwiaGlnaCIsImxvdyIsIlJlY29tbWVuZC5BbGwiLCJkZXNjcmlwdGlvbiJdLGNmZDpbaC5Mb2dvSWQsaC5OYW1lLCJjbG9zZSIsImNoYW5nZSIsImNoYW5nZV9hYnMiLCJoaWdoIiwibG93IiwiUmVjb21tZW5kLkFsbCIsImRlc2NyaXB0aW9uIl0sc2VjdG9yOlsiZGVzY3JpcHRpb24iLCJtYXJrZXRfY2FwX2Jhc2ljIiwiZGl2aWRlbmRfeWllbGRfcmVjZW50IiwiY2hhbmdlIiwidm9sdW1lIiwiZWxlbWVudHMiLCJiYXNpY19lbGVtZW50cyJdLGluZHVzdHJ5OlsiZGVzY3JpcHRpb24iLCJtYXJrZXRfY2FwX2Jhc2ljIiwiZGl2aWRlbmRfeWllbGRfcmVjZW50IiwiY2hhbmdlIiwidm9sdW1lIixoLlNlY3RvciwiZWxlbWVudHMiXSxjdXJyZW5jeTpbaC5Mb2dvSWQsaC5OYW1lLCJjbG9zZSIsImNoYW5nZSIsImNoYW5nZV9hYnMiLCJoaWdoIiwibG93IiwiUmVjb21tZW5kLkFsbCIsImRlc2NyaXB0aW9uIl0sYm9uZHM6W2guTG9nb0lkLGguTmFtZSwiY291cG9uIiwibWF0dXJpdHlfZGF0ZSIsImNsb3NlIiwiY2hhbmdlIiwiY2hhbmdlX2FicyIsImhpZ2giLCJsb3ciLCJSZWNvbW1lbmQuQWxsIiwiZGVzY3JpcHRpb24iXSxwcmVfbWFya2V0OltoLkxvZ29JZCxoLk5hbWUsInByZW1hcmtldF9jbG9zZSIsInByZW1hcmtldF9jaGFuZ2VfYWJzIiwicHJlbWFya2V0X2NoYW5nZSIsInByZW1hcmtldF92b2x1bWUiLCJwcmVtYXJrZXRfZ2FwIiwiY2xvc2UiLCJjaGFuZ2UiLCJ2b2x1bWUiLCJtYXJrZXRfY2FwX2Jhc2ljIl0scG9zdF9tYXJrZXQ6W2guTG9nb0lkLGguTmFtZSwicG9zdG1hcmtldF9jbG9zZSIsInBvc3RtYXJrZXRfY2hhbmdlX2FicyIsInBvc3RtYXJrZXRfY2hhbmdlIiwicG9zdG1hcmtldF92b2x1bWUiLCJjbG9zZSIsImNoYW5nZSIsInZvbHVtZSIsIm1hcmtldF9jYXBfYmFzaWMiXX0sY29udGVudDpbXSxzY3JlZW5lcnM6W2QuU3RvY2ssZC5TdG9ja0NvbXBhY3QsZC5Gb3JleCxkLkZ1dHVyZXMsZC5Db250aW51b3VzRnV0dXJlcyxkLkNmZCxkLkNyeXB0byxkLkNyeXB0b01rdCxkLkNyeXB0b01rdEJ5U3ltYm9sLGQuQ3J5cHRvQnlTeW1ib2wsZC5TZWN0b3IsZC5JbmR1c3RyeSxkLkN1cnJlbmN5LGQuQm9uZHMsZC5QcmVNYXJrZXQsZC5Qb3N0TWFya2V0XSxzaG93T25XaWRnZXQ6ITB9LHtpZDoicGVyZm9ybWFuY2UiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDExMTM0MSkpLHNjcmVlbmVyVHlwZUNvbnRlbnQ6e3N0b2NrOltoLkxvZ29JZCxoLk5hbWUsImRlc2NyaXB0aW9uIiwidHlwZSIsImNoYW5nZS4xIiwiY2hhbmdlLjUiLCJjaGFuZ2UuMTUiLCJjaGFuZ2UuNjAiLCJjaGFuZ2UuMjQwIiwiY2hhbmdlIiwiY2hhbmdlLjFXIiwiY2hhbmdlLjFNIiwiUGVyZi4zTSIsIlBlcmYuNk0iLCJQZXJmLllURCIsIlBlcmYuWSIsIlBlcmYuNVkiLCJQZXJmLkFsbCIsImJldGFfMV95ZWFyIiwiVm9sYXRpbGl0eS5EIl0sCmZ1dHVyZXM6W2guTG9nb0lkLGguTmFtZSwiZGVzY3JpcHRpb24iLCJ0eXBlIiwiY2hhbmdlIiwiY2hhbmdlLjFXIiwiY2hhbmdlLjFNIiwiUGVyZi4zTSIsIlBlcmYuNk0iLCJQZXJmLllURCIsIlBlcmYuWSIsIlZvbGF0aWxpdHkuRCJdLGNvbnRpbnVvdXNfZnV0dXJlczpbaC5Mb2dvSWQsaC5OYW1lLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJjaGFuZ2UiLCJjaGFuZ2UuMVciLCJjaGFuZ2UuMU0iLCJQZXJmLjNNIiwiUGVyZi42TSIsIlBlcmYuWVREIiwiUGVyZi5ZIiwiVm9sYXRpbGl0eS5EIl0sZm9yZXg6W2guQmFzZUN1cnJlbmN5TG9nb0lkLGguQ3VycmVuY3lMb2dvSWQsaC5OYW1lLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJjaGFuZ2UiLCJjaGFuZ2UuMVciLCJjaGFuZ2UuMU0iLCJQZXJmLjNNIiwiUGVyZi42TSIsIlBlcmYuWVREIiwiUGVyZi5ZIiwiUGVyZi41WSIsIlBlcmYuQWxsIiwiVm9sYXRpbGl0eS5EIl0sY3J5cHRvOltoLkJhc2VDdXJyZW5jeUxvZ29JZCxoLkN1cnJlbmN5TG9nb0lkLGguTmFtZSwiZGVzY3JpcHRpb24iLCJ0eXBlIiwiY2hhbmdlIiwiY2hhbmdlLjFXIiwiY2hhbmdlLjFNIiwiUGVyZi4zTSIsIlBlcmYuNk0iLCJQZXJmLllURCIsIlBlcmYuWSIsIlBlcmYuNVkiLCJQZXJmLkFsbCIsIlZvbGF0aWxpdHkuRCJdLGNyeXB0b19ta3Q6W2guQmFzZUN1cnJlbmN5TG9nb0lkLGguU2VjdG9yLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJjaGFuZ2UiLCJjaGFuZ2UuMVciLCJjaGFuZ2UuMU0iLCJQZXJmLjNNIiwiUGVyZi42TSIsIlBlcmYuWVREIiwiUGVyZi5ZIiwiVm9sYXRpbGl0eS5EIl0sY3J5cHRvX21rdF9ieV9zeW1ib2w6W2guQ3VycmVuY3lMb2dvSWQsaC5OYW1lLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJjaGFuZ2UiLCJjaGFuZ2UuMVciLCJjaGFuZ2UuMU0iLCJQZXJmLjNNIiwiUGVyZi42TSIsIlBlcmYuWVREIiwiUGVyZi5ZIiwiVm9sYXRpbGl0eS5EIl0sY3J5cHRvX2J5X3N5bWJvbDpbaC5DdXJyZW5jeUxvZ29JZCxoLk5hbWUsImV4Y2hhbmdlIiwiZGVzY3JpcHRpb24iLCJ0eXBlIiwiY2hhbmdlIiwiY2hhbmdlLjFXIiwiY2hhbmdlLjFNIiwiUGVyZi4zTSIsIlBlcmYuNk0iLCJQZXJmLllURCIsIlBlcmYuWSIsIlZvbGF0aWxpdHkuRCJdLGNmZDpbaC5Mb2dvSWQsaC5OYW1lLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJjaGFuZ2UiLCJjaGFuZ2UuMVciLCJjaGFuZ2UuMU0iLCJQZXJmLjNNIiwiUGVyZi42TSIsIlBlcmYuWVREIiwiUGVyZi5ZIiwiVm9sYXRpbGl0eS5EIl0sc2VjdG9yOlsiZGVzY3JpcHRpb24iLCJjaGFuZ2UiLCJjaGFuZ2UuMVciLCJjaGFuZ2UuMU0iLCJQZXJmLjNNIiwiUGVyZi42TSIsIlBlcmYuWVREIiwiUGVyZi5ZIl0saW5kdXN0cnk6WyJkZXNjcmlwdGlvbiIsImNoYW5nZSIsImNoYW5nZS4xVyIsImNoYW5nZS4xTSIsIlBlcmYuM00iLCJQZXJmLjZNIiwiUGVyZi5ZVEQiLCJQZXJmLlkiXSxjdXJyZW5jeTpbaC5Mb2dvSWQsaC5OYW1lLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJjaGFuZ2UiLCJjaGFuZ2UuMVciLCJjaGFuZ2UuMU0iLCJQZXJmLjNNIiwiUGVyZi42TSIsIlBlcmYuWVREIiwiUGVyZi5ZIiwiVm9sYXRpbGl0eS5EIl0sYm9uZHM6W2guTG9nb0lkLGguTmFtZSwiZGVzY3JpcHRpb24iLCJ0eXBlIiwiY2hhbmdlIiwiY2hhbmdlLjFXIiwiY2hhbmdlLjFNIiwiUGVyZi4zTSIsIlBlcmYuNk0iLCJQZXJmLllURCIsIlBlcmYuWSIsIlZvbGF0aWxpdHkuRCJdfSxjb250ZW50OltdLHNjcmVlbmVyczpbZC5TdG9jayxkLlN0b2NrQ29tcGFjdCxkLkZvcmV4LGQuRnV0dXJlcyxkLkNvbnRpbnVvdXNGdXR1cmVzLGQuQ2ZkLGQuQ3J5cHRvLGQuQ3J5cHRvTWt0LGQuQ3J5cHRvQnlTeW1ib2wsZC5DcnlwdG9Na3RCeVN5bWJvbCxkLlNlY3RvcixkLkluZHVzdHJ5LGQuQ3VycmVuY3ksZC5Cb25kcyxkLlByZU1hcmtldCxkLlBvc3RNYXJrZXRdLHNob3dPbldpZGdldDohMH0se2lkOiJleHRlbmRlZF9ob3VycyIsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNzIxNDQxKSksY29udGVudDpbaC5Mb2dvSWQsaC5OYW1lLCJkZXNjcmlwdGlvbiIsInByZW1hcmtldF9jbG9zZSIsInByZW1hcmtldF9jaGFuZ2UiLCJwcmVtYXJrZXRfZ2FwIiwicHJlbWFya2V0X3ZvbHVtZSIsImNsb3NlIiwiY2hhbmdlIiwidm9sdW1lIiwicG9zdG1hcmtldF9jbG9zZSIsInBvc3RtYXJrZXRfY2hhbmdlIiwicG9zdG1hcmtldF92b2x1bWUiLCJSZWNvbW1lbmQuQWxsIiwibWFya2V0X2NhcF9iYXNpYyJdLHNjcmVlbmVyczpbZC5TdG9ja10sc2hvd09uV2lkZ2V0OiExfSx7aWQ6InZhbHVhdGlvbiIsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNzk2MjU2KSksY29udGVudDpbaC5Mb2dvSWQsaC5OYW1lLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJjbG9zZSIsIm1hcmtldF9jYXBfYmFzaWMiLCJwcmljZV9lYXJuaW5nc190dG0iLCJwcmljZV9yZXZlbnVlX3R0bSIsImVhcm5pbmdzX3Blcl9zaGFyZV9iYXNpY190dG0iLCJsYXN0X2FubnVhbF9lcHMiLCJlbnRlcnByaXNlX3ZhbHVlX2ViaXRkYV90dG0iLCJlbnRlcnByaXNlX3ZhbHVlX2ZxIiwidG90YWxfc2hhcmVzX291dHN0YW5kaW5nX2Z1bmRhbWVudGFsIl0sc2NyZWVuZXJzOltkLlN0b2NrLGQuU3RvY2tDb21wYWN0LGQuUHJlTWFya2V0LGQuUG9zdE1hcmtldF0sc2hvd09uV2lkZ2V0OiEwfSx7aWQ6ImRpdmlkZW5kcyIsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNjU5MjY3KSksY29udGVudDpbaC5Mb2dvSWQsaC5OYW1lLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJjbG9zZSIsImRpdmlkZW5kX3lpZWxkX3JlY2VudCIsImRpdmlkZW5kc19wYWlkIiwiZHBzX2NvbW1vbl9zdG9ja19wcmltX2lzc3VlX2Z5Il0sc2NyZWVuZXJzOltkLlN0b2NrLGQuU3RvY2tDb21wYWN0LGQuUHJlTWFya2V0LGQuUG9zdE1hcmtldF0sc2hvd09uV2lkZ2V0OiEwfSx7aWQ6Im1hcmdpbnMiLHRpdGxlOl8udChudWxsLHtjb250ZXh0OiJzY3JlZW5lciJ9LG8oMjA1OSkpLApjb250ZW50OltoLkxvZ29JZCxoLk5hbWUsImRlc2NyaXB0aW9uIiwidHlwZSIsImdyb3NzX21hcmdpbiIsIm9wZXJhdGluZ19tYXJnaW4iLCJwcmVfdGF4X21hcmdpbiIsImFmdGVyX3RheF9tYXJnaW4iXSxzY3JlZW5lcnM6W2QuU3RvY2ssZC5TdG9ja0NvbXBhY3QsZC5QcmVNYXJrZXQsZC5Qb3N0TWFya2V0XSxzaG93T25XaWRnZXQ6ITB9LHtpZDoiaW5jb21lX3N0YXRlbWVudCIsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oODQ3NTQ0KSksY29udGVudDpbaC5Mb2dvSWQsaC5OYW1lLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJiYXNpY19lcHNfbmV0X2luY29tZSIsImVhcm5pbmdzX3Blcl9zaGFyZV9iYXNpY190dG0iLCJlYXJuaW5nc19wZXJfc2hhcmVfZGlsdXRlZF90dG0iLCJlYml0ZGEiLCJncm9zc19wcm9maXRfZnEiLCJncm9zc19wcm9maXQiLCJ0b3RhbF9yZXZlbnVlIiwibGFzdF9hbm51YWxfZXBzIiwibGFzdF9hbm51YWxfcmV2ZW51ZSIsIm5ldF9pbmNvbWUiXSxzY3JlZW5lcnM6W2QuU3RvY2ssZC5TdG9ja0NvbXBhY3QsZC5QcmVNYXJrZXQsZC5Qb3N0TWFya2V0XSxzaG93T25XaWRnZXQ6ITB9LHtpZDoiYmFsYW5jZV9zaGVldCIsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oOTQ0MTU1KSksY29udGVudDpbaC5Mb2dvSWQsaC5OYW1lLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJjdXJyZW50X3JhdGlvIiwiZGVidF90b19lcXVpdHkiLCJuZXRfZGVidCIsInF1aWNrX3JhdGlvIiwidG90YWxfYXNzZXRzIiwidG90YWxfZGVidCIsInRvdGFsX2N1cnJlbnRfYXNzZXRzIl0sc2NyZWVuZXJzOltkLlN0b2NrLGQuU3RvY2tDb21wYWN0LGQuUHJlTWFya2V0LGQuUG9zdE1hcmtldF0sc2hvd09uV2lkZ2V0OiEwfSx7aWQ6Im9zY2lsbGF0b3JzIix0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygzNTkxNTApKSxzY3JlZW5lclR5cGVDb250ZW50OntzdG9jazpbaC5Mb2dvSWQsaC5OYW1lLCJSZWNvbW1lbmQuT3RoZXIiLCJBRFgiLCJBTyIsIkFUUiIsIkNDSTIwIiwiTUFDRC5tYWNkIiwiTUFDRC5zaWduYWwiLCJNb20iLCJSU0kiLCJTdG9jaC5LIiwiU3RvY2guRCIsImRlc2NyaXB0aW9uIiwidHlwZSJdLGZvcmV4OltoLkJhc2VDdXJyZW5jeUxvZ29JZCxoLkN1cnJlbmN5TG9nb0lkLGguTmFtZSwiUmVjb21tZW5kLk90aGVyIiwiQURYIiwiQU8iLCJBVFIiLCJDQ0kyMCIsIk1BQ0QubWFjZCIsIk1BQ0Quc2lnbmFsIiwiTW9tIiwiUlNJIiwiU3RvY2guSyIsIlN0b2NoLkQiLCJkZXNjcmlwdGlvbiIsInR5cGUiXSxmdXR1cmVzOltoLkxvZ29JZCxoLk5hbWUsIlJlY29tbWVuZC5PdGhlciIsIkFEWCIsIkFPIiwiQVRSIiwiQ0NJMjAiLCJNQUNELm1hY2QiLCJNQUNELnNpZ25hbCIsIk1vbSIsIlJTSSIsIlN0b2NoLksiLCJTdG9jaC5EIiwiZGVzY3JpcHRpb24iLCJ0eXBlIl0sY29udGludW91c19mdXR1cmVzOltoLkxvZ29JZCxoLk5hbWUsIlJlY29tbWVuZC5PdGhlciIsIkFEWCIsIkFPIiwiQVRSIiwiQ0NJMjAiLCJNQUNELm1hY2QiLCJNQUNELnNpZ25hbCIsIk1vbSIsIlJTSSIsIlN0b2NoLksiLCJTdG9jaC5EIiwiZGVzY3JpcHRpb24iLCJ0eXBlIl0sY3J5cHRvOltoLkJhc2VDdXJyZW5jeUxvZ29JZCxoLkN1cnJlbmN5TG9nb0lkLGguTmFtZSwiUmVjb21tZW5kLk90aGVyIiwiQURYIiwiQU8iLCJBVFIiLCJDQ0kyMCIsIk1BQ0QubWFjZCIsIk1BQ0Quc2lnbmFsIiwiTW9tIiwiUlNJIiwiU3RvY2guSyIsIlN0b2NoLkQiLCJkZXNjcmlwdGlvbiIsInR5cGUiXSxjcnlwdG9fbWt0OltoLkJhc2VDdXJyZW5jeUxvZ29JZCxoLlNlY3RvciwiUmVjb21tZW5kLk90aGVyIiwiQURYIiwiQU8iLCJBVFIiLCJDQ0kyMCIsIk1BQ0QubWFjZCIsIk1BQ0Quc2lnbmFsIiwiTW9tIiwiUlNJIiwiU3RvY2guSyIsIlN0b2NoLkQiLCJkZXNjcmlwdGlvbiIsInR5cGUiXSxjcnlwdG9fbWt0X2J5X3N5bWJvbDpbaC5DdXJyZW5jeUxvZ29JZCxoLk5hbWUsIlJlY29tbWVuZC5PdGhlciIsIkFEWCIsIkFPIiwiQVRSIiwiQ0NJMjAiLCJNQUNELm1hY2QiLCJNQUNELnNpZ25hbCIsIk1vbSIsIlJTSSIsIlN0b2NoLksiLCJTdG9jaC5EIiwiZGVzY3JpcHRpb24iLCJ0eXBlIl0sY3J5cHRvX2J5X3N5bWJvbDpbaC5DdXJyZW5jeUxvZ29JZCxoLk5hbWUsImV4Y2hhbmdlIiwiUmVjb21tZW5kLk90aGVyIiwiQURYIiwiQU8iLCJBVFIiLCJDQ0kyMCIsIk1BQ0QubWFjZCIsIk1BQ0Quc2lnbmFsIiwiTW9tIiwiUlNJIiwiU3RvY2guSyIsIlN0b2NoLkQiLCJkZXNjcmlwdGlvbiIsInR5cGUiXSxjZmQ6W2guTG9nb0lkLGguTmFtZSwiUmVjb21tZW5kLk90aGVyIiwiQURYIiwiQU8iLCJBVFIiLCJDQ0kyMCIsIk1BQ0QubWFjZCIsIk1BQ0Quc2lnbmFsIiwiTW9tIiwiUlNJIiwiU3RvY2guSyIsIlN0b2NoLkQiLCJkZXNjcmlwdGlvbiIsInR5cGUiXSxjdXJyZW5jeTpbaC5Mb2dvSWQsaC5OYW1lLCJSZWNvbW1lbmQuT3RoZXIiLCJBRFgiLCJBTyIsIkFUUiIsIkNDSTIwIiwiTUFDRC5tYWNkIiwiTUFDRC5zaWduYWwiLCJNb20iLCJSU0kiLCJTdG9jaC5LIiwiU3RvY2guRCIsImRlc2NyaXB0aW9uIiwidHlwZSJdLGJvbmRzOltoLkxvZ29JZCxoLk5hbWUsIlJlY29tbWVuZC5PdGhlciIsIkFEWCIsIkFPIiwiQVRSIiwiQ0NJMjAiLCJNQUNELm1hY2QiLCJNQUNELnNpZ25hbCIsIk1vbSIsIlJTSSIsIlN0b2NoLksiLCJTdG9jaC5EIiwiZGVzY3JpcHRpb24iLCJ0eXBlIl19LGNvbnRlbnQ6W10sc2NyZWVuZXJzOltkLlN0b2NrLGQuU3RvY2tDb21wYWN0LGQuRm9yZXgsZC5GdXR1cmVzLGQuQ29udGludW91c0Z1dHVyZXMsZC5DZmQsZC5DcnlwdG8sZC5DcnlwdG9Na3QsZC5DcnlwdG9Na3RCeVN5bWJvbCxkLkNyeXB0b0J5U3ltYm9sLGQuQ3VycmVuY3ksZC5Cb25kcyxkLlByZU1hcmtldCxkLlBvc3RNYXJrZXRdLHNob3dPbldpZGdldDohMH0se2lkOiJtb3ZpbmdfYXZlcmFnZXMiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDExNTI3NCkpLHNjcmVlbmVyVHlwZUNvbnRlbnQ6ewpzdG9jazpbaC5Mb2dvSWQsaC5OYW1lLCJSZWNvbW1lbmQuTUEiLCJjbG9zZSIsIlNNQTIwIiwiU01BNTAiLCJTTUEyMDAiLCJCQi51cHBlciIsIkJCLmxvd2VyIiwiZGVzY3JpcHRpb24iLCJ0eXBlIl0sZm9yZXg6W2guQmFzZUN1cnJlbmN5TG9nb0lkLGguQ3VycmVuY3lMb2dvSWQsaC5OYW1lLCJSZWNvbW1lbmQuTUEiLCJjbG9zZSIsIlNNQTIwIiwiU01BNTAiLCJTTUEyMDAiLCJCQi51cHBlciIsIkJCLmxvd2VyIiwiZGVzY3JpcHRpb24iLCJ0eXBlIl0sZnV0dXJlczpbaC5Mb2dvSWQsaC5OYW1lLCJSZWNvbW1lbmQuTUEiLCJjbG9zZSIsIlNNQTIwIiwiU01BNTAiLCJTTUEyMDAiLCJCQi51cHBlciIsIkJCLmxvd2VyIiwiZGVzY3JpcHRpb24iLCJ0eXBlIl0sY29udGludW91c19mdXR1cmVzOltoLkxvZ29JZCxoLk5hbWUsIlJlY29tbWVuZC5NQSIsImNsb3NlIiwiU01BMjAiLCJTTUE1MCIsIlNNQTIwMCIsIkJCLnVwcGVyIiwiQkIubG93ZXIiLCJkZXNjcmlwdGlvbiIsInR5cGUiXSxjcnlwdG86W2guQmFzZUN1cnJlbmN5TG9nb0lkLGguQ3VycmVuY3lMb2dvSWQsaC5OYW1lLCJSZWNvbW1lbmQuTUEiLCJjbG9zZSIsIlNNQTIwIiwiU01BNTAiLCJTTUEyMDAiLCJCQi51cHBlciIsIkJCLmxvd2VyIiwiZGVzY3JpcHRpb24iLCJ0eXBlIl0sY3J5cHRvX21rdDpbaC5CYXNlQ3VycmVuY3lMb2dvSWQsaC5TZWN0b3IsIlJlY29tbWVuZC5NQSIsImNsb3NlIiwiU01BMjAiLCJTTUE1MCIsIlNNQTIwMCIsIkJCLnVwcGVyIiwiQkIubG93ZXIiLCJkZXNjcmlwdGlvbiIsInR5cGUiXSxjcnlwdG9fbWt0X2J5X3N5bWJvbDpbaC5DdXJyZW5jeUxvZ29JZCxoLk5hbWUsIlJlY29tbWVuZC5NQSIsImNsb3NlIiwiU01BMjAiLCJTTUE1MCIsIlNNQTIwMCIsIkJCLnVwcGVyIiwiQkIubG93ZXIiLCJkZXNjcmlwdGlvbiIsInR5cGUiXSxjcnlwdG9fYnlfc3ltYm9sOltoLkN1cnJlbmN5TG9nb0lkLGguTmFtZSwiZXhjaGFuZ2UiLCJSZWNvbW1lbmQuTUEiLCJjbG9zZSIsIlNNQTIwIiwiU01BNTAiLCJTTUEyMDAiLCJCQi51cHBlciIsIkJCLmxvd2VyIiwiZGVzY3JpcHRpb24iLCJ0eXBlIl0sY2ZkOltoLkxvZ29JZCxoLk5hbWUsIlJlY29tbWVuZC5NQSIsImNsb3NlIiwiU01BMjAiLCJTTUE1MCIsIlNNQTIwMCIsIkJCLnVwcGVyIiwiQkIubG93ZXIiLCJkZXNjcmlwdGlvbiIsInR5cGUiXSxjdXJyZW5jeTpbaC5Mb2dvSWQsaC5OYW1lLCJSZWNvbW1lbmQuTUEiLCJjbG9zZSIsIlNNQTIwIiwiU01BNTAiLCJTTUEyMDAiLCJCQi51cHBlciIsIkJCLmxvd2VyIiwiZGVzY3JpcHRpb24iLCJ0eXBlIl0sYm9uZHM6W2guTG9nb0lkLGguTmFtZSwiUmVjb21tZW5kLk1BIiwiY2xvc2UiLCJTTUEyMCIsIlNNQTUwIiwiU01BMjAwIiwiQkIudXBwZXIiLCJCQi5sb3dlciIsImRlc2NyaXB0aW9uIiwidHlwZSJdfSxjb250ZW50OltdLHNjcmVlbmVyczpbZC5TdG9jayxkLlN0b2NrQ29tcGFjdCxkLkZvcmV4LGQuRnV0dXJlcyxkLkNvbnRpbnVvdXNGdXR1cmVzLGQuQ2ZkLGQuQ3J5cHRvLGQuQ3J5cHRvTWt0LGQuQ3J5cHRvTWt0QnlTeW1ib2wsZC5DcnlwdG9CeVN5bWJvbCxkLkN1cnJlbmN5LGQuQm9uZHMsZC5QcmVNYXJrZXQsZC5Qb3N0TWFya2V0XSxzaG93T25XaWRnZXQ6ITB9XSxtPVtoLkxvZ29JZCwibmFtZSIsIm1hcmtldF9jYXBfYmFzaWMiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcSIsImVwc19zdXJwcmlzZV9mcSIsImVwc19zdXJwcmlzZV9wZXJjZW50X2ZxIiwicmV2ZW51ZV9mb3JlY2FzdF9uZXh0X2ZxIiwicmV2ZW51ZV9mcSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2NhbGVuZGFyX2RhdGUiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfdGltZSIsImRlc2NyaXB0aW9uIiwidHlwZSJdO2Z1bmN0aW9uIGcoZSl7Y29uc3QgdD17c2NyZWVuZXJUeXBlOmQuU3RvY2ssbWFya2V0czpbInN0b2NrIl0saXNDb21wYWN0OiExLHN1YnR5cGU6IiIsaXNPbldpZGdldDohMX07bGV0IG89cDtjb25zdCBpPU9iamVjdC5hc3NpZ24odCxlKSx7c2NyZWVuZXJUeXBlOm4saXNDb21wYWN0OnMsc3VidHlwZTphLGlzT25XaWRnZXQ6bH09aSx7bWFya2V0czpjfT1pO3JldHVybiBvPW8uZmlsdGVyKChlPT57aWYobj09PWQuU3RvY2spe2NvbnN0IHQ9cz9gJHtufV9jb21wYWN0YDpuO3JldHVybiBlLnNjcmVlbmVycy5pbmNsdWRlcyh0KX1yZXR1cm4gZS5zY3JlZW5lcnMuaW5jbHVkZXMobil9KSksbCYmKG89by5maWx0ZXIoKGU9PiEwPT09ZS5zaG93T25XaWRnZXQpKSksby5mb3JFYWNoKChlPT57aWYodm9pZCAwIT09ZS5zY3JlZW5lclR5cGVDb250ZW50KXtjb25zdCBvPWUuc2NyZWVuZXJUeXBlQ29udGVudFsoMCxyLmVuc3VyZURlZmluZWQpKG4pXXx8ZS5zY3JlZW5lclR5cGVDb250ZW50LnN0b2NrO2lmKHQ9byxBcnJheS5pc0FycmF5KHQpKWUuY29udGVudD0oMCxyLmVuc3VyZURlZmluZWQpKG8pO2Vsc2V7Y29uc3QgdD1PYmplY3Qua2V5cyhvKSxpPWMucmVkdWNlKCgoZSx0KT0+KGUucHVzaChgJHsoMCxyLmVuc3VyZURlZmluZWQpKHQpfV8keygwLHIuZW5zdXJlRGVmaW5lZCkoYSl9YCksZS5wdXNoKGAkeygwLHIuZW5zdXJlRGVmaW5lZCkoYSl9YCksZS5wdXNoKCgwLHIuZW5zdXJlRGVmaW5lZCkodCkpLGUpKSxbXSksbj1mdW5jdGlvbihlLHQpe2Zvcihjb25zdCBvIG9mIGUpaWYodC5pbmNsdWRlcyhvKSlyZXR1cm4gbztyZXR1cm4ic3RvY2sifShbLi4ubmV3IFNldChpKV0sdCk7ZS5jb250ZW50PW9bbl19fXZhciB0O2wmJihlLmNvbnRlbnQ9ZS5jb250ZW50LmZpbHRlcigoZT0+ImRlc2NyaXB0aW9uIiE9PWUpKSl9KSksb312YXIgdixmLHksYj1vKDk3MzA0MSk7IWZ1bmN0aW9uKGUpe2UuQW1lcmljYT0iYW1lcmljYSIsZS5BcmdlbnRpbmE9ImFyZ2VudGluYSIsZS5BdXN0cmFsaWE9ImF1c3RyYWxpYSIsZS5BdXN0cmlhPSJhdXN0cmlhIixlLkJhaHJhaW49ImJhaHJhaW4iLGUuQmFuZ2xhZGVzaD0iYmFuZ2xhZGVzaCIsZS5CZWxnaXVtPSJiZWxnaXVtIixlLkJ1bGdhcmlhPSJidWxnYXJpYSIsCmUuQnJhemlsPSJicmF6aWwiLGUuQ2FuYWRhPSJjYW5hZGEiLGUuQ2hpbGU9ImNoaWxlIixlLkNoaW5hPSJjaGluYSIsZS5Db2xvbWJpYT0iY29sb21iaWEiLGUuQ3JvYXRpYT0iY3JvYXRpYSIsZS5DeXBydXM9ImN5cHJ1cyIsZS5DemVjaD0iY3plY2giLGUuRGVubWFyaz0iZGVubWFyayIsZS5FZ3lwdD0iZWd5cHQiLGUuRXN0b25pYT0iZXN0b25pYSIsZS5GaW5sYW5kPSJmaW5sYW5kIixlLkZyYW5jZT0iZnJhbmNlIixlLkdlcm1hbnk9Imdlcm1hbnkiLGUuR3JlZWNlPSJncmVlY2UiLGUuSG9uZ0tvbmc9Imhvbmdrb25nIixlLkh1bmdhcnk9Imh1bmdhcnkiLGUuSWNlbGFuZD0iaWNlbGFuZCIsZS5JbmRpYT0iaW5kaWEiLGUuSW5kb25lc2lhPSJpbmRvbmVzaWEiLGUuSXJlbGFuZD0iaXJlbGFuZCIsZS5Jc3JhZWw9ImlzcmFlbCIsZS5JdGFseT0iaXRhbHkiLGUuSmFwYW49ImphcGFuIixlLktlbnlhPSJrZW55YSIsZS5LdXdhaXQ9Imt1d2FpdCIsZS5MYXR2aWE9ImxhdHZpYSIsZS5MaXRodWFuaWE9ImxpdGh1YW5pYSIsZS5MdXhlbWJvdXJnPSJsdXhlbWJvdXJnIixlLk1hbGF5c2lhPSJtYWxheXNpYSIsZS5NZXhpY289Im1leGljbyIsZS5Nb3JvY2NvPSJtb3JvY2NvIixlLk5ldGhlcmxhbmRzPSJuZXRoZXJsYW5kcyIsZS5OZXdaZWFsYW5kPSJuZXd6ZWFsYW5kIixlLk5pZ2VyaWE9Im5pZ2VyaWEiLGUuTm9yd2F5PSJub3J3YXkiLGUuUGFraXN0YW49InBha2lzdGFuIixlLlBlcnU9InBlcnUiLGUuUGhpbGlwcGluZXM9InBoaWxpcHBpbmVzIixlLlBvbGFuZD0icG9sYW5kIixlLlBvcnR1Z2FsPSJwb3J0dWdhbCIsZS5RYXRhcj0icWF0YXIiLGUuUm9tYW5pYT0icm9tYW5pYSIsZS5SdXNzaWE9InJ1c3NpYSIsZS5TYXVkaUFyYWJpYT0ia3NhIixlLlNlcmJpYT0ic2VyYmlhIixlLlNpbmdhcG9yZT0ic2luZ2Fwb3JlIixlLlNsb3Zha2lhPSJzbG92YWtpYSIsZS5TbG92ZW5pYT0ic2xvdmVuaWEiLGUuU291dGhBZnJpY2E9InJzYSIsZS5Tb3V0aEtvcmVhPSJrb3JlYSIsZS5TcGFpbj0ic3BhaW4iLGUuU3JpTGFua2E9InNyaWxhbmthIixlLlN3ZWRlbj0ic3dlZGVuIixlLlN3aXR6ZXJsYW5kPSJzd2l0emVybGFuZCIsZS5UYWl3YW49InRhaXdhbiIsZS5UaGFpbGFuZD0idGhhaWxhbmQiLGUuVHVuaXNpYT0idHVuaXNpYSIsZS5UdXJrZXk9InR1cmtleSIsZS5VQUU9InVhZSIsZS5VSz0idWsiLGUuVmVuZXp1ZWxhPSJ2ZW5lenVlbGEiLGUuVmlldG5hbT0idmlldG5hbSJ9KHZ8fCh2PXt9KSksZnVuY3Rpb24oZSl7ZS5Gb3JleD0iZm9yZXgiLGUuQ3J5cHRvPSJjcnlwdG8iLGUuQ29pbj0iY29pbiIsZS5DRkQ9ImNmZCIsZS5Cb25kcz0iYm9uZHMiLGUuQm9uZD0iYm9uZCIsZS5GdXR1cmVzPSJmdXR1cmVzIixlLk9wdGlvbnM9Im9wdGlvbnMifShmfHwoZj17fSkpLGZ1bmN0aW9uKGUpe2UuR2xvYmFsPSJnbG9iYWwifSh5fHwoeT17fSkpO3YuQmVsZ2l1bSx2LkN5cHJ1cyx2LkRlbm1hcmssdi5Fc3RvbmlhLHYuRmlubGFuZCx2LkZyYW5jZSx2Lkdlcm1hbnksdi5HcmVlY2Usdi5IdW5nYXJ5LHYuSWNlbGFuZCx2Lkl0YWx5LHYuTGF0dmlhLHYuTGl0aHVhbmlhLHYuTHV4ZW1ib3VyZyx2Lk5ldGhlcmxhbmRzLHYuTm9yd2F5LHYuUG9sYW5kLHYuUG9ydHVnYWwsdi5Sb21hbmlhLHYuUnVzc2lhLHYuU2VyYmlhLHYuU2xvdmFraWEsdi5TcGFpbix2LlN3ZWRlbix2LlN3aXR6ZXJsYW5kLHYuVHVya2V5LHYuVUssdi5CZWxnaXVtLHYuQ3lwcnVzLHYuRGVubWFyayx2LkVzdG9uaWEsdi5GaW5sYW5kLHYuRnJhbmNlLHYuR2VybWFueSx2LkdyZWVjZSx2Lkh1bmdhcnksdi5JdGFseSx2LkxhdHZpYSx2LkxpdGh1YW5pYSx2Lkx1eGVtYm91cmcsdi5OZXRoZXJsYW5kcyx2LlBvbGFuZCx2LlBvcnR1Z2FsLHYuUm9tYW5pYSx2LlNsb3Zha2lhLHYuU3BhaW4sdi5Td2VkZW47dmFyIFM9byg5NjAyMjkpO2xldCB3PW51bGw7Y29uc3QgQz12LkFtZXJpY2E7ZnVuY3Rpb24gayhlKXtjb25zdCB0PWV8fHdpbmRvdy5sb2NhbGU7cmV0dXJuIHQmJih3fHwodz1PYmplY3QuZW50cmllcygoMCxTLmdldFNjcmVlbmVyQ291bnRyaWVzTWFwKSgpKS5yZWR1Y2UoKChlLFt0LG9dKT0+by5zY3JlZW5lck5hbWU/KGVbby50dkxvY2FsZXx8dF09by5zY3JlZW5lck5hbWUsZSk6ZSkse30pLHcpKVt0XXx8Q31jb25zdCBUPW8oMjU1NTE2KSxFPW8oMzg5OTk0KSx4PXt9LEE9bmV3IE1hcChbWyJ1YWUiLCgpPT5vLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNjMxMTApKV1dKTtmb3IoY29uc3QgZSBvZiBFKXtjb25zdCB0PVRbZV07aWYodCYmdC5zY3JlZW5lck5hbWUpe2NvbnN0IG89QS5oYXModC5zY3JlZW5lck5hbWUpP0EuZ2V0KHQuc2NyZWVuZXJOYW1lKTooKT0+KDAsYi50cmllc1RyYW5zbGF0ZUNvdW50cmllTmFtZSkodC50aXRsZSk7eFt0LnNjcmVlbmVyTmFtZV09e2ZsYWc6ZSxnZXQgdGl0bGUoKXtyZXR1cm4gbygpfSxzdG9ja3M6dC5leGNoYW5nZXNTdG9ja3N8fFtdLHRpbWV6b25lOnQuc2NyZWVuZXJUaW1lem9uZSxncm91cDp0Lmdyb3VwLGNvdW50cnk6ZX19fWNvbnN0IE09byg4MTkyOTApLEk9e2ZvcmV4OntpY29uOmA8c3BhbiBjbGFzcz0idHYtc2NyZWVuZXItbWFya2V0LXNlbGVjdF9faXRlbS1mb3JleCI+JHtvKDU2NzI0NSl9PC9zcGFuPmAsZ2V0IHRpdGxlKCl7cmV0dXJuIG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI1NTA5MykpfSxzdG9ja3M6W119fSxSPXtjcnlwdG86e2ljb246YDxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lci1tYXJrZXQtc2VsZWN0X19pdGVtLWJpdGNvaW4iPiR7TX08L3NwYW4+YCxnZXQgdGl0bGUoKXtyZXR1cm4gby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjg0MDA0KSl9LHN0b2NrczpbXX19O2Z1bmN0aW9uIEYoZSl7cmV0dXJuInN0b2NrIj09PWU/eDoiZm9yZXgiPT09ZT9JOiJjcnlwdG8iPT09ZT9SOnh9Y29uc3QgTD17YW1lcmljYTp7bWFya2V0X2NhcF9iYXNpYzpbNWU3LDNlOCwyZTksMWUxMCw1ZTEwLDFlMTEsMmUxMl0sdm9sdW1lOls1ZTQsMWU1LDVlNSw3NWU0LDFlNiwyZTYsNWU2LDFlNywyZTcsNWU3XSwKYXZlcmFnZV92b2x1bWVfMTBkX2NhbGM6WzVlNCwxZTUsNWU1LDc1ZTQsMWU2LDJlNiw1ZTYsMWU3LDJlNyw1ZTddLGF2ZXJhZ2Vfdm9sdW1lXzMwZF9jYWxjOls1ZTQsMWU1LDVlNSw3NWU0LDFlNiwyZTYsNWU2LDFlNywyZTcsNWU3XSxhdmVyYWdlX3ZvbHVtZV82MGRfY2FsYzpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDVlN10sYXZlcmFnZV92b2x1bWVfOTBkX2NhbGM6WzVlNCwxZTUsNWU1LDc1ZTQsMWU2LDJlNiw1ZTYsMWU3LDJlNyw1ZTddLHJlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYzpbMCw1LDEwLDE1LDIwLDUwLDc1LDEwMF0scHJlbWFya2V0X3ZvbHVtZTpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDVlN10scG9zdG1hcmtldF92b2x1bWU6WzVlNCwxZTUsNWU1LDc1ZTQsMWU2LDJlNiw1ZTYsMWU3LDJlNyw1ZTddLGNoYW5nZV9hYnM6Wy0xMDAsLTUwLC0yMCwtMTAsMCwxMCwyMCw1MCwxMDBdLGNoYW5nZTpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sb3BlbjpbMTAsMjAsNTAsMTAwXSxjbG9zZTpbMTAsMjAsNTAsMTAwXSxoaWdoOlsxMCwyMCw1MCwxMDBdLGxvdzpbMTAsMjAsNTAsMTAwXSxnYXA6Wy01MCwtMjAsLTEwLDAsMTAsMjAsNTBdLHByaWNlX2Vhcm5pbmdzX3R0bTpbMCw1LDEwLDE1LDIwLDI1LDMwLDM1LDQwLDQ1LDUwXSxwcmljZV9lYXJuaW5nc190b19ncm93dGhfdHRtOlswLDEsMiwzXSxwcmljZV9zYWxlc19yYXRpbzpbMCw1LDEwLDE1LDIwLDI1LDMwLDM1LDQwLDQ1LDUwXSxyZXR1cm5fb25fYXNzZXRzOlstNTAsLTMwLC0yMCwtMTUsLTEwLC01LDAsNSwxMCwxNSwyMCwzMCw1MF0scmV0dXJuX29uX2VxdWl0eTpbLTUwLC0zMCwtMjAsLTE1LC0xMCwtNSwwLDUsMTAsMTUsMjAsMzAsNTBdLGRlYnRfdG9fZXF1aXR5OlsuMSwuMiwuMywuNCwuNSwuNiwuNywuOCwuOSwxXSxjdXJyZW50X3JhdGlvOlswLDUsMTAsMTUsMjAsMjUsMzAsMzUsNDAsNDUsNTBdLHF1aWNrX3JhdGlvOlswLDUsMTAsMTUsMjAsMjUsMzAsMzUsNDAsNDUsNTBdLHByaWNlX2Jvb2tfZnE6WzAsMSwyLDMsNCw1LDYsNyw4LDksMTBdLHByaWNlX2Jvb2tfcmF0aW86WzAsMSwyLDMsNCw1LDYsNyw4LDksMTBdLHByaWNlX2ZyZWVfY2FzaF9mbG93X3R0bTpbMCw1LDEwLDE1LDIwLDI1LDMwLDM1LDQwLDQ1LDUwLDYwLDcwLDgwLDkwLDEwMF0sYmV0YV8xX3llYXI6Wy0yLC0xLjUsLTEsLS41LDAsLjUsMSwxLjUsMl0sb3BlcmF0aW5nX21hcmdpbjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sZWFybmluZ3NfcGVyX3NoYXJlX2Jhc2ljX3R0bTpbLTEwMCwtNTAsLTIwLC0xMCwwLDEwLDIwLDUwLDEwMF0sZWJpdGRhOls1ZTUsMWU2LDVlNiwxZTcsNWU3LDFlOCw1ZTgsMWU5LDJlOSw1ZTksMWUxMCwyNWU5LDVlMTBdLGNoYW5nZV9mcm9tX29wZW46Wy01MCwtMjAsLTEwLDAsMTAsMjAsNTBdLCJQZXJmLlciOlstNTAsLTIwLC0xMCwwLDEwLDIwLDUwXSwiUGVyZi4xTSI6Wy01MCwtMjAsLTEwLDAsMTAsMjAsNTBdLCJQZXJmLjNNIjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sIlBlcmYuNk0iOlstNTAsLTIwLC0xMCwwLDEwLDIwLDUwXSwiUGVyZi5ZIjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sIlBlcmYuWVREIjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sIlZvbGF0aWxpdHkuVyI6WzAsNSwxMCwxNSwyMCwzMCw1MCw3MF0sIlZvbGF0aWxpdHkuTSI6WzAsNSwxMCwxNSwyMCwzMCw1MCw3MF0sIlZvbGF0aWxpdHkuRCI6WzAsNSwxMCwxNSwyMCwzMCw1MCw3MF0sQURYOlsxMCwyMCwzMCw0MCw1MCw2MCw3MCw4MCw5MF0sQVRSOlsuMjUsLjUsLjc1LDEsMS41LDIsMi41LDMsMy41LDQsNC41LDVdLE1vbTpbLTMwLC0yMCwtMTUsLTEwLC01LDAsNSwxMCwxNSwyMCwzMF0sZ29vZHdpbGw6WzVlNywzZTgsMmU5LDFlMTAsMmUxMV0sbmV0X2RlYnQ6Wy0yZTExLC0xZTEwLC0yZTksLTNlOCwtNWU3LDVlNywzZTgsMmU5LDFlMTAsMmUxMV0sdG90YWxfZGVidDpbNWU3LDNlOCwyZTksMWUxMCwyZTExXSxyZXZlbnVlX3Blcl9lbXBsb3llZTpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDVlN10scmV0dXJuX29uX2ludmVzdGVkX2NhcGl0YWw6Wy0xMDAsLTUwLC0yMCwtMTAsMCwxMCwyMCw1MCwxMDBdLGFmdGVyX3RheF9tYXJnaW46Wy0xMDAsLTUwLC0yMCwtMTAsMCwxMCwyMCw1MCwxMDBdLHByZV90YXhfbWFyZ2luOlstMTAwLC01MCwtMjAsLTEwLDAsMTAsMjAsNTAsMTAwXSxncm9zc19tYXJnaW46Wy0xMDAsLTUwLC0yMCwtMTAsMCwxMCwyMCw1MCwxMDBdLGRpdmlkZW5kc19wYWlkOlstMmUxMSwtMWUxMCwtMmU5LC0zZTgsLTVlNywwXSxkaXZpZGVuZF95aWVsZF9yZWNlbnQ6WzAsNSwxMCwxNSwyMCwyNSw1MCwxMDBdLGJhc2ljX2Vwc19uZXRfaW5jb21lOlstMTAwLC01MCwtMjAsLTEwLDAsMTAsMjAsNTAsMTAwXSxuZXRfaW5jb21lOlstNWUxMCwtMWUxMCwtMmU5LC0zZTgsLTVlNyw1ZTcsM2U4LDJlOSwxZTEwLDJlMTFdLGdyb3NzX3Byb2ZpdDpbLTJlMTEsLTFlMTAsLTJlOSwtM2U4LC01ZTcsNWU3LDNlOCwyZTksMWUxMCwyZTExXSxncm9zc19wcm9maXRfZnE6Wy0yZTExLC0xZTEwLC0yZTksLTNlOCwtNWU3LDVlNywzZTgsMmU5LDFlMTAsMmUxMV0sbnVtYmVyX29mX3NoYXJlaG9sZGVyczpbMTAwLDUwMCwxZTMsMWU0LDFlNSwxZTZdLGZsb2F0X3NoYXJlc19vdXRzdGFuZGluZzpbNWU3LDNlOCwyZTksMWUxMCwyZTExXSx0b3RhbF9zaGFyZXNfb3V0c3RhbmRpbmdfZnVuZGFtZW50YWw6WzVlNywzZTgsMmU5LDFlMTAsMmUxMV0sdG90YWxfYXNzZXRzOls1ZTcsM2U4LDJlOSwxZTEwLDJlMTFdLHRvdGFsX2N1cnJlbnRfYXNzZXRzOls1ZTcsM2U4LDJlOSwxZTEwLDJlMTFdLHRvdGFsX3JldmVudWU6WzAsNWU3LDNlOCwyZTksMWUxMCwyZTExLDVlMTFdLHRvdGFsX2xpYWJpbGl0aWVzX2Z5Ols1ZTcsM2U4LDJlOSwxZTEwLDJlMTFdLHRvdGFsX2xpYWJpbGl0aWVzX2ZxOls1ZTcsM2U4LDJlOSwxZTEwLDJlMTFdLGVhcm5pbmdzX3Blcl9zaGFyZV9kaWx1dGVkX3R0bTpbLTEwMCwtNTAsLTIwLC0xMCwwLDEwLDIwLDUwLDEwMF0sCmVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X2ZxOlstMTAwLC01MCwtMjAsLTEwLDAsMTAsMjAsNTAsMTAwXSxlYXJuaW5nc19wZXJfc2hhcmVfZnE6Wy0xMDAsLTUwLC0yMCwtMTAsMCwxMCwyMCw1MCwxMDBdLGVudGVycHJpc2VfdmFsdWVfZWJpdGRhX3R0bTpbLTVlMywtMWUzLDAsMWUzLDVlM10sZW50ZXJwcmlzZV92YWx1ZV9mcTpbLTJlMTEsLTFlMTAsLTJlOSwtM2U4LC01ZTcsNWU3LDNlOCwyZTksMWUxMCwyZTExXSxlcHNfc3VycHJpc2VfZnE6Wy0xMDAsLTUwLC0yMCwtMTAsMCwxMCwyMCw1MCwxMDBdLGVwc19zdXJwcmlzZV9wZXJjZW50X2ZxOlstMzAsLTIwLC0xNSwtMTAsLTUsMCw1LDEwLDE1LDIwLDMwXSxwcmljZV9yZXZlbnVlX3R0bTpbMCw1LDEwLDUwLDEwMCwxZTMsNWUzLDFlNF0sbnVtYmVyX29mX2VtcGxveWVlczpbMTAwLDUwMCwxZTMsMWU0LDFlNSwxZTZdLGxhc3RfYW5udWFsX2VwczpbLTEwMCwtNTAsLTIwLC0xMCwwLDEwLDIwLDUwLDEwMF0sbGFzdF9hbm51YWxfcmV2ZW51ZTpbNWU3LDNlOCwyZTksMWUxMCwyZTExXSxDQ0kyMDpbLTEwMCwtNTAsLTIwLC0xMCwwLDEwLDIwLDUwLDEwMF0sQ2hhaWtpbk1vbmV5RmxvdzpbLTEsLS45LC0uOCwtLjcsLS42LC0uNSwtLjQsLS4zLC0uMiwtLjEsMCwuMSwuMiwuMywuNCwuNSwuNiwuNywuOCwuOSwxXSxNb25leUZsb3c6WzAsNSwxMCwxNSwyNSw1MCwxMDBdLCJWYWx1ZS5UcmFkZWQiOls1ZTQsMWU1LDVlNSw3NWU0LDFlNiwyZTYsNWU2LDFlNywyZTcsNWU3LDFlOCw1ZTgsNzVlN119LHVrOnthdmVyYWdlX3ZvbHVtZV8xMGRfY2FsYzpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDVlNywxZThdLG9wZW46WzEwLDIwLDUwLDEwMCwyMDAsNTAwLDFlMywyZTMsNWUzLDFlNCwyZTRdLGNsb3NlOlsxMCwyMCw1MCwxMDAsMjAwLDUwMCwxZTMsMmUzLDVlMywxZTQsMmU0XSxoaWdoOlsxMCwyMCw1MCwxMDAsMjAwLDUwMCwxZTMsMmUzLDVlMywxZTQsMmU0XSxsb3c6WzEwLDIwLDUwLDEwMCwyMDAsNTAwLDFlMywyZTMsNWUzLDFlNCwyZTRdLGN1cnJlbnRfcmF0aW86WzAsNSwxMCwxNSwyMCwyNSwzMCwzNSw0MCw0NSw1MCw3NSwxMDBdLHRvdGFsX3NoYXJlc19vdXRzdGFuZGluZ19mdW5kYW1lbnRhbDpbNWU2LDFlNyw1ZTcsM2U4LDJlOSwxZTEwLDVlMTAsMWUxMV0sZGl2aWRlbmRzX3BhaWQ6Wy0yZTExLC0xNWUxMCwtNWUxMCwtMWUxMCwtMmU5LC0zZTgsLTFlOCwtNWU3LDBdLGdyb3NzX3Byb2ZpdDpbLTFlMTAsLTJlOSwtM2U4LC01ZTcsNWU3LDNlOCwyZTksMWUxMCwyZTExXX0saW5kaWE6e21hcmtldF9jYXBfYmFzaWM6WzFlNyw1ZTcsM2U4LDJlOSwxZTEwLDJlMTEsNWUxMSwxZTEyLDJlMTJdLG9wZW46WzEwLDIwLDUwLDEwMCwyMDAsNTAwLDFlMywyZTMsNWUzLDFlNCwyZTRdLGNsb3NlOlsxMCwyMCw1MCwxMDAsMjAwLDUwMCwxZTMsMmUzLDVlMywxZTQsMmU0XSxoaWdoOlsxMCwyMCw1MCwxMDAsMjAwLDUwMCwxZTMsMmUzLDVlMywxZTQsMmU0XSxsb3c6WzEwLDIwLDUwLDEwMCwyMDAsNTAwLDFlMywyZTMsNWUzLDFlNCwyZTRdLHF1aWNrX3JhdGlvOlswLDUsMTAsMTUsMjAsMjUsMzAsMzUsNDAsNDUsNTAsMTAwLDUwMF0sY2hhbmdlX2Zyb21fb3BlbjpbLTIwLC0xMCwwLDEwLDIwLDUwXSxyZXZlbnVlX3Blcl9lbXBsb3llZTpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDVlNywxZTgsM2U4LDVlOF0sZGl2aWRlbmRzX3BhaWQ6Wy01ZTEwLC0xZTEwLC0yZTksLTNlOCwtMWU4LC01ZTcsMF0sZ3Jvc3NfcHJvZml0OlstMWUxMCwtMmU5LC0zZTgsLTVlNyw1ZTcsM2U4LDJlOSwxZTEwLDJlMTFdLHRvdGFsX3NoYXJlc19vdXRzdGFuZGluZ19mdW5kYW1lbnRhbDpbNWU3LDNlOCwyZTksNWU5LDFlMTBdLG51bWJlcl9vZl9lbXBsb3llZXM6WzEwMCw1MDAsMWUzLDFlNCwxZTUsMmU1XX0sc3BhaW46e21hcmtldF9jYXBfYmFzaWM6WzFlNywzZTcsNWU3LDFlOCwzZTgsNWU4LDFlOSwxZTEwLDVlMTBdLHZvbHVtZTpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTddLHJlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYzpbMCwxLDIsMyw0LDUsMTBdLGNoYW5nZTpbLTEwLC01LC00LC0zLC0yLC0xLDAsMSwyLDMsNCw1LDEwXSxnYXA6Wy0xMCwtNSwtNCwtMywtMiwtMSwwLDEsMiwzLDQsNSwxMF0scXVpY2tfcmF0aW86WzAsMSwyLDMsNCw1LDEwXSxlYml0ZGE6WzVlNSwxZTYsNWU2LDFlNyw1ZTcsMWU4LDVlOCwxZTksMmU5LDVlOSwxZTEwLDE1ZTldLCJWb2xhdGlsaXR5LlciOlswLDUsMTAsMTUsMjBdLCJWb2xhdGlsaXR5Lk0iOlswLDUsMTAsMTUsMjBdLCJWb2xhdGlsaXR5LkQiOlswLDUsMTAsMTUsMjBdLE1vbTpbLTE1LC0xMCwtNSwwLDUsMTAsMTVdLGdvb2R3aWxsOls1ZTcsM2U4LDJlOSwxZTEwLDI1ZTldLHJldmVudWVfcGVyX2VtcGxveWVlOlsxZTUsNWU1LDc1ZTQsMWU2LDJlNiw1ZTYsMWU3LDJlN10sZGl2aWRlbmRzX3BhaWQ6Wy01ZTksLTJlOSwtM2U4LC0xZTgsLTVlNywwXSxncm9zc19wcm9maXQ6Wy0yZTksLTNlOCwtNWU3LDVlNywzZTgsMmU5LDFlMTAsMmUxMF0scHJpY2VfcmV2ZW51ZV90dG06WzAsNSwxMCw1MCwxMDBdfSxydXNzaWE6e21hcmtldF9jYXBfYmFzaWM6WzFlNyw1ZTcsM2U4LDJlOSwxZTEwLDJlMTEsNWUxMSwxZTEyLDJlMTJdLHZvbHVtZTpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDVlNywxZTgsMjVlNyw1ZTgsMWU5XSxhdmVyYWdlX3ZvbHVtZV8xMGRfY2FsYzpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDVlNywxZTgsMjVlNyw1ZTgsMWU5XSxyZWxhdGl2ZV92b2x1bWVfMTBkX2NhbGM6WzAsMSwyLDMsNCw1LDEwLDE1LDIwLDUwXSxjaGFuZ2U6Wy0zMCwtMjAsLTE1LC0xMCwtNSwtNCwtMywtMiwtMSwwLDEsMiwzLDQsNSwxMCwxNSwyMCwzMF0sb3BlbjpbMTAsMjAsNTAsMTAwLDIwMCw1MDAsMWUzLDJlMyw1ZTNdLGNsb3NlOlsxMCwyMCw1MCwxMDAsMjAwLDUwMCwxZTMsMmUzLDVlM10saGlnaDpbMTAsMjAsNTAsMTAwLDIwMCw1MDAsMWUzLDJlMyw1ZTNdLApsb3c6WzEwLDIwLDUwLDEwMCwyMDAsNTAwLDFlMywyZTMsNWUzXSxnYXA6Wy0xMCwtNSwtNCwtMywtMiwtMSwwLDEsMiwzLDQsNSwxMF0scXVpY2tfcmF0aW86WzAsMSwyLDMsNCw1LDEwLDE1LDIwXSxwcmljZV9mcmVlX2Nhc2hfZmxvd190dG06WzAsNSwxMCwxNSwyMCwyNSwzMCwzNSw0MCw0NSw1MF0sY2hhbmdlX2Zyb21fb3BlbjpbLTEwLC01LC00LC0zLC0yLC0xLDAsMSwyLDMsNCw1LDEwXSwiVm9sYXRpbGl0eS5XIjpbMCw1LDEwLDE1LDIwLDMwLDUwXSwiVm9sYXRpbGl0eS5NIjpbMCw1LDEwLDE1LDIwLDMwLDUwXSwiVm9sYXRpbGl0eS5EIjpbMCw1LDEwLDE1LDIwLDMwLDUwXSxnb29kd2lsbDpbMWU3LDVlNywzZTgsMmU5LDFlMTAsMWUxMV0scmV2ZW51ZV9wZXJfZW1wbG95ZWU6WzFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDNlN10sZGl2aWRlbmRzX3BhaWQ6Wy0xNWUxMCwtNWUxMCwtMWUxMCwtMmU5LC0zZTgsLTFlOCwtNWU3LDBdLGdyb3NzX3Byb2ZpdDpbLTFlMTAsLTJlOSwtM2U4LC01ZTcsNWU3LDNlOCwyZTksMWUxMCwyZTExXSxwcmljZV9yZXZlbnVlX3R0bTpbMCw1LDEwLDUwLDEwMF0sbnVtYmVyX29mX2VtcGxveWVlczpbMTAwLDUwMCwxZTMsMWU0LDFlNSw1ZTVdLGxhc3RfYW5udWFsX2VwczpbLTEwMCwtNTAsLTIwLC0xMCwwLDEwLDIwLDUwLDEwMCw1MDAsMWUzXX0sYXVzdHJhbGlhOnttYXJrZXRfY2FwX2Jhc2ljOls1ZTcsM2U4LDJlOSwxZTEwLDVlMTAsMWUxMSwxNWUxMF0sZWFybmluZ3NfcGVyX3NoYXJlX2Jhc2ljX3R0bTpbLTEwLC01LC00LC0zLC0yLC0xLDAsMSwyLDMsNCw1LDEwXSxlYml0ZGE6WzVlNSwxZTYsNWU2LDFlNyw1ZTcsMWU4LDVlOCwxZTksMmU5LDVlOSwxZTEwLDJlMTBdLGRpdmlkZW5kc19wYWlkOlstNWU5LC0yZTksLTNlOCwtNWU3LDBdfSxicmF6aWw6e21hcmtldF9jYXBfYmFzaWM6WzFlNyw1ZTcsM2U4LDJlOSwxZTEwLDJlMTEsNWUxMSwxZTEyXSx2b2x1bWU6WzVlNCwxZTUsNWU1LDc1ZTQsMWU2LDJlNiw1ZTYsMWU3LDJlN10sYXZlcmFnZV92b2x1bWVfMTBkX2NhbGM6WzVlNCwxZTUsNWU1LDc1ZTQsMWU2LDJlNiw1ZTYsMWU3LDJlN10scmVsYXRpdmVfdm9sdW1lXzEwZF9jYWxjOlswLDEsMiwzLDQsNSwxMCwxNSwyMCw1MF0sb3BlbjpbMTAsMjAsNTAsMTAwLDIwMCw1MDAsMWUzXSxjbG9zZTpbMTAsMjAsNTAsMTAwLDIwMCw1MDAsMWUzXSxoaWdoOlsxMCwyMCw1MCwxMDAsMjAwLDUwMCwxZTNdLGxvdzpbMTAsMjAsNTAsMTAwLDIwMCw1MDAsMWUzXSxlYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtOlstNTAsLTIwLC0xMCwwLDEwLDIwLDUwXSxjaGFuZ2VfZnJvbV9vcGVuOlstMjAsLTEwLDAsMTAsMjBdLCJWb2xhdGlsaXR5LlciOlswLDUsMTAsMTUsMjBdLCJWb2xhdGlsaXR5Lk0iOlswLDUsMTAsMTUsMjBdLGdvb2R3aWxsOls1ZTcsM2U4LDJlOSwxZTEwXSxyZXZlbnVlX3Blcl9lbXBsb3llZTpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNl0sZGl2aWRlbmRzX3BhaWQ6Wy0xZTEwLC0yZTksLTNlOCwtMWU4LC01ZTcsMF0sbmV0X2luY29tZTpbLTJlMTAsLTFlMTAsLTJlOSwtM2U4LC01ZTcsNWU3LDNlOCwyZTksMWUxMCwyZTEwXSxncm9zc19wcm9maXQ6Wy0xZTgsLTVlNyw1ZTcsM2U4LDJlOSwxZTEwLDFlMTFdLHRvdGFsX3NoYXJlc19vdXRzdGFuZGluZ19mdW5kYW1lbnRhbDpbNWU3LDNlOCwyZTksNWU5LDFlMTBdLHRvdGFsX2N1cnJlbnRfYXNzZXRzOls1ZTcsM2U4LDJlOSwxZTEwLDFlMTFdLHRvdGFsX3JldmVudWU6WzAsNWU3LDNlOCwyZTksMWUxMCwyZTExXSxwcmljZV9yZXZlbnVlX3R0bTpbMCw1LDEwLDUwLDEwMCwxZTNdLG51bWJlcl9vZl9lbXBsb3llZXM6WzEwMCw1MDAsMWUzLDFlNCwxZTVdLGxhc3RfYW5udWFsX2VwczpbLTEwMCwtNTAsLTIwLC0xMCwwLDEwLDIwXX0samFwYW46e21hcmtldF9jYXBfYmFzaWM6WzFlNyw1ZTcsM2U4LDJlOSwxZTEwLDJlMTEsNWUxMSwxZTEyLDJlMTIsNWUxMl0scHJpY2VfcmV2ZW51ZV90dG06WzAsNSwxMCw1MCwxMDBdLHJlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYzpbMCw1LDEwLDE1LDIwLDUwXSxjaGFuZ2U6Wy0zMCwtMjAsLTEwLDAsMTAsMjAsMzBdLG9wZW46WzEwLDIwLDUwLDEwMCwyMDAsNTAwLDFlMywxZTQsMWU1XSxjbG9zZTpbMTAsMjAsNTAsMTAwLDIwMCw1MDAsMWUzLDFlNCwxZTVdLGhpZ2g6WzEwLDIwLDUwLDEwMCwyMDAsNTAwLDFlMywxZTQsMWU1XSxsb3c6WzEwLDIwLDUwLDEwMCwyMDAsNTAwLDFlMywxZTQsMWU1XSxnYXA6Wy0yMCwtMTAsMCwxMCwyMF0sZWJpdGRhOls1ZTUsMWU2LDVlNiwxZTcsNWU3LDFlOCw1ZTgsMWU5LDJlOSw1ZTksMWUxMCwyNWU5LDVlMTAsMWUxMSwyZTExLDVlMTFdLGNoYW5nZV9mcm9tX29wZW46Wy0yMCwtMTAsLTUsMCw1LDEwLDIwXSwiVm9sYXRpbGl0eS5XIjpbMCw1LDEwLDE1LDIwLDMwXSwiVm9sYXRpbGl0eS5NIjpbMCw1LDEwLDE1LDIwLDMwXSwiVm9sYXRpbGl0eS5EIjpbMCw1LDEwLDE1LDIwLDMwXSxyZXZlbnVlX3Blcl9lbXBsb3llZTpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsNWU3XX0sbmV3emVhbGFuZDp7bWFya2V0X2NhcF9iYXNpYzpbNWU3LDNlOCwyZTksMWUxMCw1ZTEwLDFlMTFdLHZvbHVtZTpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTddLGF2ZXJhZ2Vfdm9sdW1lXzEwZF9jYWxjOls1ZTQsMWU1LDVlNSw3NWU0LDFlNiwyZTYsNWU2LDFlN10scmVsYXRpdmVfdm9sdW1lXzEwZF9jYWxjOlswLDEsMiwzLDQsNSwxMCwxNV0sb3BlbjpbNSwxMCwyMCw1MF0sY2xvc2U6WzUsMTAsMjAsNTBdLGhpZ2g6WzUsMTAsMjAsNTBdLGxvdzpbNSwxMCwyMCw1MF0sY3VycmVudF9yYXRpbzpbMCw1LDEwLDE1LDIwLDI1XSxxdWlja19yYXRpbzpbMCw1LDEwLDE1LDIwLDI1XSxlYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtOlstMTAsLTUsLTQsLTMsLTIsLTEsMCwxLDIsMyw0LDUsMTBdLGViaXRkYTpbNWU1LDFlNiw1ZTYsMWU3LDVlNywxZTgsNWU4LDFlOSwyZTksNWU5LDFlMTAsMmUxMF0sY2hhbmdlX2Zyb21fb3BlbjpbLTIwLC0xNSwtMTAsLTUsMCw1LDEwLDE1LDIwXSwKIlZvbGF0aWxpdHkuVyI6WzAsMSwyLDMsNCw1LDEwLDE1LDIwLDMwXSwiVm9sYXRpbGl0eS5NIjpbMCwxLDIsMyw0LDUsMTAsMTUsMjAsMzBdLCJWb2xhdGlsaXR5LkQiOlswLDEsMiwzLDQsNSwxMCwxNSwyMCwzMF0sQVRSOlsuMjUsLjUsLjc1LDEsMS41LDJdLE1vbTpbLTUsLTQsLTMsLTIsLTEsMCwxLDIsMyw0LDVdLGdvb2R3aWxsOlsyNWU2LDVlNywxZTgsMjVlNyw1ZTgsMmU5XSxyZXZlbnVlX3Blcl9lbXBsb3llZTpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNl0sZGl2aWRlbmRzX3BhaWQ6Wy01ZTksLTJlOSwtM2U4LC01ZTcsMF0sYmFzaWNfZXBzX25ldF9pbmNvbWU6Wy01LC00LC0zLC0yLC0xLDAsMSwyLDMsNCw1XSxuZXRfaW5jb21lOlstNWUxMCwtMWUxMCwtMmU5LC0zZTgsLTVlNyw1ZTcsM2U4LDJlOSw1ZTldLGdyb3NzX3Byb2ZpdDpbMCwyNWU2LDVlNywyNWU3LDVlOCwyZTksMWUxMF0sdG90YWxfc2hhcmVzX291dHN0YW5kaW5nX2Z1bmRhbWVudGFsOls1ZTcsM2U4LDJlOSwxZTEwXSx0b3RhbF9jdXJyZW50X2Fzc2V0czpbNWU3LDNlOCwyZTksMWUxMF0sdG90YWxfcmV2ZW51ZTpbMCw1ZTcsM2U4LDJlOSwxZTEwLDI1ZTldLGVhcm5pbmdzX3Blcl9zaGFyZV9kaWx1dGVkX3R0bTpbLTUsLTQsLTMsLTIsLTEsMCwxLDIsMyw0LDVdLGVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X2ZxOlstNSwtNCwtMywtMiwtMSwwLDEsMiwzLDQsNV0sZWFybmluZ3NfcGVyX3NoYXJlX2ZxOlstNSwtNCwtMywtMiwtMSwwLDEsMiwzLDQsNV0scHJpY2VfcmV2ZW51ZV90dG06WzAsNSwxMCw1MCwxMDBdLG51bWJlcl9vZl9lbXBsb3llZXM6WzEwMCw1MDAsMWUzLDFlNCw1ZTRdLGxhc3RfYW5udWFsX2VwczpbLTUsLTQsLTMsLTIsLTEsMCwxLDIsMyw0LDVdLCJWYWx1ZS5UcmFkZWQiOls1ZTQsMWU1LDVlNSw3NWU0LDFlNiwyZTYsNWU2LDFlNywyZTddfSx0dXJrZXk6e21hcmtldF9jYXBfYmFzaWM6WzVlNiwxZTcsNWU3LDNlOCwyZTksMWUxMCwzZTEwLDVlMTBdLHJlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYzpbMCwxLDIsMyw0LDUsMTAsMTVdLGNoYW5nZTpbLTIwLC0xNSwtMTAsLTUsMCw1LDEwLDE1LDIwXSxnYXA6Wy0yMCwtMTAsLTUsMCw1LDEwLDIwXSwiVm9sYXRpbGl0eS5XIjpbMCwxLDIsMyw0LDUsMTAsMTUsMjAsMzBdLCJWb2xhdGlsaXR5Lk0iOlswLDEsMiwzLDQsNSwxMCwxNSwyMCwzMF0sIlZvbGF0aWxpdHkuRCI6WzAsMSwyLDMsNCw1LDEwLDE1LDIwLDMwXSwiVmFsdWUuVHJhZGVkIjpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDVlN119LHN3aXR6ZXJsYW5kOnt2b2x1bWU6WzVlNCwxZTUsMjVlNCw1ZTUsNzVlNCwxZTYsMmU2LDVlNl0sYXZlcmFnZV92b2x1bWVfMTBkX2NhbGM6WzVlNCwxZTUsMjVlNCw1ZTUsNzVlNCwxZTYsMmU2LDVlNl0sY2hhbmdlOlstMjAsLTE1LC0xMCwtNSwwLDUsMTAsMTUsMjBdfSxob25na29uZzp7bWFya2V0X2NhcF9iYXNpYzpbNWU3LDNlOCwyZTksMWUxMCw1ZTEwLDFlMTEsMmUxMSwyNWUxMCw1ZTExLDc1ZTEwLDFlMTJdLHZvbHVtZTpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDVlNywxZTgsMjVlN10sYXZlcmFnZV92b2x1bWVfMTBkX2NhbGM6WzVlNCwxZTUsNWU1LDc1ZTQsMWU2LDJlNiw1ZTYsMWU3LDJlNyw1ZTcsMWU4LDI1ZTddfSx0YWl3YW46e2NoYW5nZTpbLTEwLC05LC04LC03LC02LC01LC00LC0zLC0yLC0xLDAsMSwyLDMsNCw1LDYsNyw4LDksMTBdLCJWb2xhdGlsaXR5LlciOlswLDEsMiwzLDQsNSwxMCwxNSwyMCwzMF0sIlZvbGF0aWxpdHkuTSI6WzAsMSwyLDMsNCw1LDEwLDE1LDIwLDMwXSwiVm9sYXRpbGl0eS5EIjpbMCwxLDIsMyw0LDUsMTAsMTUsMjAsMzBdfSxuZXRoZXJsYW5kczp7fSxiZWxnaXVtOnt9LHBvcnR1Z2FsOnt9LGZyYW5jZTp7fSxtZXhpY286e21hcmtldF9jYXBfYmFzaWM6WzFlNyw1ZTcsM2U4LDJlOSwxZTEwLDJlMTEsNWUxMSwxZTEyLDJlMTJdLGNoYW5nZTpbLTMwLC0yMCwtMTUsLTEwLC01LC00LC0zLC0yLC0xLDAsMSwyLDMsNCw1LDEwLDE1LDIwLDMwXSxvcGVuOlsxMCwyMCw1MCwxMDAsMjAwLDUwMCwxZTMsMmUzLDVlM10sY2xvc2U6WzEwLDIwLDUwLDEwMCwyMDAsNTAwLDFlMywyZTMsNWUzXSxoaWdoOlsxMCwyMCw1MCwxMDAsMjAwLDUwMCwxZTMsMmUzLDVlM10sbG93OlsxMCwyMCw1MCwxMDAsMjAwLDUwMCwxZTMsMmUzLDVlM119LGNhbmFkYTp7dm9sdW1lOls1ZTQsMWU1LDVlNSw3NWU0LDFlNiwyZTYsNWU2LDFlN119LGNvbG9tYmlhOnt9LHVhZTp7fSxuaWdlcmlhOnt9LHNpbmdhcG9yZTp7fSxnZXJtYW55Ont2b2x1bWU6WzVlNCwxZTUsNWU1LDc1ZTQsMWU2LDJlNiw1ZTYsMWU3LDI1ZTZdfSxwYWtpc3Rhbjp7fSxwZXJ1Ont9LHBvbGFuZDp7dm9sdW1lOls1ZTQsMWU1LDJlNSw1ZTUsNzVlNCwxZTYsMmU2XX0saXRhbHk6e30sYXJnZW50aW5hOnt2b2x1bWU6WzVlNCwxZTUsMmU1LDVlNSw3NWU0LDFlNiwyZTYsNWU2LDFlN119LGlzcmFlbDp7fSxpcmVsYW5kOnt9LGVneXB0Ont9LHNyaWxhbmthOnt9LHNlcmJpYTp7fSxjaGlsZTp7fSxjaGluYTp7fSxtYWxheXNpYTp7fSxtb3JvY2NvOnt9LGtzYTp7fSxiYWhyYWluOnt9LHFhdGFyOnt9LGluZG9uZXNpYTp7fSxmaW5sYW5kOnt9LGljZWxhbmQ6e30sZGVubWFyazp7fSxyb21hbmlhOnt9LGh1bmdhcnk6e30sc3dlZGVuOnt9LHNsb3Zha2lhOnt9LGxpdGh1YW5pYTp7fSxsdXhlbWJvdXJnOnt9LGVzdG9uaWE6e30sbGF0dmlhOnt9LHZpZXRuYW06e30scnNhOnt9LHRoYWlsYW5kOnt9LHR1bmlzaWE6e30sa29yZWE6e30sa2VueWE6e30sa3V3YWl0Ont9LG5vcndheTp7fSxwaGlsaXBwaW5lczp7fSxncmVlY2U6e30sdmVuZXp1ZWxhOnt9LGN5cHJ1czp7fSxiYW5nbGFkZXNoOnt9LGF1c3RyaWE6e30sY3plY2g6e319LEQ9e2ZvcmV4OntjaGFuZ2VfYWJzOlstNTAsLTIwLC0xMCwwLDEwLDIwLDUwXSxjaGFuZ2U6Wy01LC0xLC0uNSwtLjQsLS4zLC0uMiwtLjEsMCwtLjEsLjIsLjMsLjQsLjUsMSw1XSxiaWQ6WzUsMTAsMjAsNTAsMTAwLDUwMCwxZTMsNWUzXSwKYXNrOls1LDEwLDIwLDUwLDEwMCw1MDAsMWUzLDVlM10sb3BlbjpbNSwxMCwyMCw1MCwxMDAsNTAwLDFlMyw1ZTNdLGNsb3NlOls1LDEwLDIwLDUwLDEwMCw1MDAsMWUzLDVlM10saGlnaDpbNSwxMCwyMCw1MCwxMDAsNTAwLDFlMyw1ZTNdLGxvdzpbNSwxMCwyMCw1MCwxMDAsNTAwLDFlMyw1ZTNdLGNoYW5nZV9mcm9tX29wZW46Wy01LC0yLjUsLTEsLS41LC0uNCwtLjMsLS4yLC0uMSwwLC0uMSwuMiwuMywuNCwuNSwxLDIuNSw1XSwiUGVyZi5XIjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sIlBlcmYuMU0iOlstNTAsLTIwLC0xMCwwLDEwLDIwLDUwXSwiUGVyZi4zTSI6Wy01MCwtMjAsLTEwLDAsMTAsMjAsNTBdLCJQZXJmLjZNIjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sIlBlcmYuWSI6Wy01MCwtMjAsLTEwLDAsMTAsMjAsNTBdLCJQZXJmLllURCI6Wy01MCwtMjAsLTEwLDAsMTAsMjAsNTBdLCJWb2xhdGlsaXR5LlciOlswLDUsMTAsMTUsMjAsMzAsNTAsNzBdLCJWb2xhdGlsaXR5Lk0iOlswLDUsMTAsMTUsMjAsMzAsNTAsNzBdLCJWb2xhdGlsaXR5LkQiOlswLDUsMTAsMTUsMjAsMzAsNTAsNzBdLEFEWDpbMTAsMjAsMzAsNDAsNTAsNjAsNzAsODAsOTBdLEFUUjpbLjI1LC41LC43NSwxLDEuNSwyLDIuNSwzLDMuNSw0LDQuNSw1XSxNb206Wy0zMCwtMjAsLTE1LC0xMCwtNSwwLDUsMTAsMTUsMjAsMzBdLENDSTIwOlstMTAwLC01MCwtMjAsLTEwLDAsMTAsMjAsNTAsMTAwXX19LE89e2NyeXB0bzp7bWFya2V0X2NhcF9jYWxjOlsxZTQsMWU1LDVlNSwxZTYsMWU3LDNlOCwyZTksMWUxMCw1ZTEwLDFlMTFdLG1hcmtldF9jYXBfZGlsdXRlZF9jYWxjOlsxZTQsMWU1LDVlNSwxZTYsMWU3LDNlOCwyZTksMWUxMCw1ZTEwLDFlMTFdLHRvdGFsX3NoYXJlc19vdXRzdGFuZGluZzpbMWU2LDVlNiwxZTcsNWU3LDFlOCw1ZTgsMWU5LDVlOSwxZTEwLDVlMTAsMWUxMV0sdG90YWxfc2hhcmVzX2RpbHV0ZWQ6WzFlNiw1ZTYsMWU3LDVlNywxZTgsNWU4LDFlOSw1ZTksMWUxMCw1ZTEwLDFlMTFdLHRvdGFsX3ZhbHVlX3RyYWRlZDpbMWU0LDFlNSw1ZTUsMWU2LDFlNywzZTgsMmU5LDFlMTAsNWUxMF0sdm9sdW1lOls1ZTQsMWU1LDVlNSw3NWU0LDFlNiwyZTYsNWU2LDFlNywyZTcsNWU3XSxhdmVyYWdlX3ZvbHVtZV8xMGRfY2FsYzpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDVlNywzZTgsNWU4LDJlOV0scmVsYXRpdmVfdm9sdW1lXzEwZF9jYWxjOlswLC41LDEsMS41LDIsMi41LDVdLGNoYW5nZV9hYnM6Wy0xMDAsLTUwLC0yMCwtMTAsMCwxMCwyMCw1MCwxMDBdLGNoYW5nZTpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sYmlkOls1LDEwLDIwLDUwLDEwMCw1MDAsMWUzLDVlM10sYXNrOls1LDEwLDIwLDUwLDEwMCw1MDAsMWUzLDVlM10sb3BlbjpbNSwxMCwyMCw1MCwxMDAsNTAwLDFlMyw1ZTNdLGNsb3NlOls1LDEwLDIwLDUwLDEwMCw1MDAsMWUzLDVlM10saGlnaDpbNSwxMCwyMCw1MCwxMDAsNTAwLDFlMyw1ZTNdLGxvdzpbNSwxMCwyMCw1MCwxMDAsNTAwLDFlMyw1ZTNdLGNoYW5nZV9mcm9tX29wZW46Wy0xMCwtNSwtNCwtMywtMiwtMSwtLjUsMCwuNSwxLDIsMyw0LDUsMTBdLCJQZXJmLlciOlstNTAsLTIwLC0xMCwwLDEwLDIwLDUwXSwiUGVyZi4xTSI6Wy01MCwtMjAsLTEwLDAsMTAsMjAsNTBdLCJQZXJmLjNNIjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sIlBlcmYuNk0iOlstNTAsLTIwLC0xMCwwLDEwLDIwLDUwXSwiUGVyZi5ZIjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sIlBlcmYuWVREIjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sIlZvbGF0aWxpdHkuVyI6WzAsNSwxMCwxNSwyMCwzMCw1MCw3MF0sIlZvbGF0aWxpdHkuTSI6WzAsNSwxMCwxNSwyMCwzMCw1MCw3MF0sIlZvbGF0aWxpdHkuRCI6WzAsNSwxMCwxNSwyMCwzMCw1MCw3MF0sQURYOlsxMCwyMCwzMCw0MCw1MCw2MCw3MCw4MCw5MF0sQVRSOlsuMjUsLjUsLjc1LDEsMS41LDIsMi41LDMsMy41LDQsNC41LDVdLE1vbTpbLTMwLC0yMCwtMTUsLTEwLC01LDAsNSwxMCwxNSwyMCwzMF0sQ0NJMjA6Wy0xMDAsLTUwLC0yMCwtMTAsMCwxMCwyMCw1MCwxMDBdLCIyNGhfdm9sfDUiOls1ZTQsMWU1LDVlNSw3NWU0LDFlNiwyZTYsNWU2LDFlNywyZTcsNWU3XX19LE49e2NmZDp7dm9sdW1lOlsxZTMsNWUzLDFlNCw1ZTQsMWU1XSxhdmVyYWdlX3ZvbHVtZV8xMGRfY2FsYzpbNWUzLDFlNCw1ZTQsMWU1LDFlNiwxZTcsMWU4LDFlOV0scmVsYXRpdmVfdm9sdW1lXzEwZF9jYWxjOlswLC4xLC4yLC4zLC40LC41LC42LC43LC44LC45LDFdLGNoYW5nZV9hYnM6Wy01MCwtMjAsLTEwLDAsMTAsMjAsNTBdLGNoYW5nZTpbLTUsLTEsLS41LC0uNCwtLjMsLS4yLC0uMSwwLC0uMSwuMiwuMywuNCwuNSwxLDVdLGJpZDpbNSwxMCwyMCw1MCwxMDAsNTAwLDFlMyw1ZTNdLGFzazpbNSwxMCwyMCw1MCwxMDAsNTAwLDFlMyw1ZTNdLG9wZW46WzUsMTAsMjAsNTAsMTAwLDUwMCwxZTMsNWUzXSxjbG9zZTpbNSwxMCwyMCw1MCwxMDAsNTAwLDFlMyw1ZTNdLGhpZ2g6WzUsMTAsMjAsNTAsMTAwLDUwMCwxZTMsNWUzXSxsb3c6WzUsMTAsMjAsNTAsMTAwLDUwMCwxZTMsNWUzXSxjaGFuZ2VfZnJvbV9vcGVuOlstNSwtNCwtMywtMiwtMSwtLjUsMCwuNSwxLDIsMyw0LDVdLCJQZXJmLlciOlstNTAsLTIwLC0xMCwwLDEwLDIwLDUwXSwiUGVyZi4xTSI6Wy01MCwtMjAsLTEwLDAsMTAsMjAsNTBdLCJQZXJmLjNNIjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sIlBlcmYuNk0iOlstNTAsLTIwLC0xMCwwLDEwLDIwLDUwXSwiUGVyZi5ZIjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sIlBlcmYuWVREIjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sIlZvbGF0aWxpdHkuVyI6WzAsNSwxMCwxNSwyMCwzMCw1MCw3MF0sIlZvbGF0aWxpdHkuTSI6WzAsNSwxMCwxNSwyMCwzMCw1MCw3MF0sIlZvbGF0aWxpdHkuRCI6WzAsNSwxMCwxNSwyMCwzMCw1MCw3MF0sQURYOlsxMCwyMCwzMCw0MCw1MCw2MCw3MCw4MCw5MF0sQVRSOlsuMjUsLjUsLjc1LDEsMS41LDIsMi41LDMsMy41LDQsNC41LDVdLE1vbTpbLTMwLC0yMCwtMTUsLTEwLC01LDAsNSwxMCwxNSwyMCwzMF0sCkNDSTIwOlstMTAwLC01MCwtMjAsLTEwLDAsMTAsMjAsNTAsMTAwXX19O2Z1bmN0aW9uIFAoZSl7c3dpdGNoKGUpe2Nhc2Uic3RvY2siOmNhc2UiZnV0dXJlcyI6cmV0dXJuIEw7Y2FzZSJmb3JleCI6cmV0dXJuIEQ7Y2FzZSJjcnlwdG8iOmNhc2UiY3J5cHRvX21rdCI6cmV0dXJuIE87Y2FzZSJjZmQiOnJldHVybiBOfXJldHVybiBMfWNvbnN0IEI9e2FtZXJpY2E6e3RvcF9nYWluZXJzOntjbG9zZTpbMiwxZTRdfSx0b3BfbG9zZXJzOntjbG9zZTpbMiwxZTRdfSx1bnVzdWFsX3ZvbHVtZTp7cmVsYXRpdmVfdm9sdW1lXzEwZF9jYWxjOntvcGVyYXRvcjoiZ3JlYXRlciIsdmFsdWU6MX19LGVhcm5pbmdzX3RoaXNfd2Vlazp7Z2V0IGVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlKCl7cmV0dXJuIG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEyNzQ4MykpfX19LHVrOnt0b3BfZ2FpbmVyczp7Y2xvc2U6WzIsMWU0XX0sdG9wX2xvc2Vyczp7Y2xvc2U6WzIsMWU0XX19LGluZGlhOnt0b3BfZ2FpbmVyczp7Y2xvc2U6WzIsMWU0XX0sdG9wX2xvc2Vyczp7Y2xvc2U6WzIsMWU0XX0sdW51c3VhbF92b2x1bWU6e3JlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYzp7b3BlcmF0b3I6ImdyZWF0ZXIiLHZhbHVlOjJ9fX0sc3BhaW46e3RvcF9nYWluZXJzOntjbG9zZTpbMSwxZTRdfSx0b3BfbG9zZXJzOntjbG9zZTpbMSwxZTRdfSx1bnVzdWFsX3ZvbHVtZTp7cmVsYXRpdmVfdm9sdW1lXzEwZF9jYWxjOntvcGVyYXRvcjoiZ3JlYXRlciIsdmFsdWU6LjF9fX0scnVzc2lhOnt0b3BfZ2FpbmVyczp7Y2xvc2U6bnVsbH0sdG9wX2xvc2Vyczp7Y2xvc2U6bnVsbH0sdW51c3VhbF92b2x1bWU6e3JlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYzp7b3BlcmF0b3I6ImdyZWF0ZXIiLHZhbHVlOi41fX19LGF1c3RyYWxpYTp7dG9wX2dhaW5lcnM6e2Nsb3NlOm51bGx9LHRvcF9sb3NlcnM6e2Nsb3NlOm51bGx9fSxicmF6aWw6e3RvcF9nYWluZXJzOntjbG9zZTpudWxsfSx0b3BfbG9zZXJzOntjbG9zZTpudWxsfSx1bnVzdWFsX3ZvbHVtZTp7cmVsYXRpdmVfdm9sdW1lXzEwZF9jYWxjOntvcGVyYXRvcjoiZ3JlYXRlciIsdmFsdWU6LjV9fX0samFwYW46e3RvcF9nYWluZXJzOntjbG9zZTpbMiwxZTRdfSx0b3BfbG9zZXJzOntjbG9zZTpbMiwxZTRdfX0sbmV3emVhbGFuZDp7dG9wX2dhaW5lcnM6e2Nsb3NlOlsyLDFlNF19LHRvcF9sb3NlcnM6e2Nsb3NlOlsyLDFlNF19LHVudXN1YWxfdm9sdW1lOntyZWxhdGl2ZV92b2x1bWVfMTBkX2NhbGM6e29wZXJhdG9yOiJncmVhdGVyIix2YWx1ZTouMn19fSx0dXJrZXk6e3RvcF9nYWluZXJzOntjbG9zZTpudWxsfSx0b3BfbG9zZXJzOntjbG9zZTpudWxsfSx1bnVzdWFsX3ZvbHVtZTp7cmVsYXRpdmVfdm9sdW1lXzEwZF9jYWxjOntvcGVyYXRvcjoiZ3JlYXRlciIsdmFsdWU6LjJ9fX0sc3dpdHplcmxhbmQ6e3RvcF9nYWluZXJzOntjbG9zZTpbLjEsMWU0XX0sdG9wX2xvc2Vyczp7Y2xvc2U6Wy4xLDFlNF19fSxob25na29uZzp7dG9wX2dhaW5lcnM6e2Nsb3NlOlsyLDFlNF19LHRvcF9sb3NlcnM6e2Nsb3NlOlsyLDFlNF19fSx0YWl3YW46e3RvcF9nYWluZXJzOntjbG9zZTpbMiwxZTRdfSx0b3BfbG9zZXJzOntjbG9zZTpbMiwxZTRdfX0sbmV0aGVybGFuZHM6e3RvcF9nYWluZXJzOntjbG9zZTpbMiwxZTRdfSx0b3BfbG9zZXJzOntjbG9zZTpbMiwxZTRdfX0sYmVsZ2l1bTp7dG9wX2dhaW5lcnM6e2Nsb3NlOlsyLDFlNF19LHRvcF9sb3NlcnM6e2Nsb3NlOlsyLDFlNF19fSxwb3J0dWdhbDp7dG9wX2dhaW5lcnM6e2Nsb3NlOlsyLDFlNF19LHRvcF9sb3NlcnM6e2Nsb3NlOlsyLDFlNF19fSxmcmFuY2U6e3RvcF9nYWluZXJzOntjbG9zZTpbMiwxZTRdfSx0b3BfbG9zZXJzOntjbG9zZTpbMiwxZTRdfX0sbWV4aWNvOnt0b3BfZ2FpbmVyczp7Y2xvc2U6WzIsMWU0XX0sdG9wX2xvc2Vyczp7Y2xvc2U6WzIsMWU0XX0sdW51c3VhbF92b2x1bWU6e3JlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYzp7b3BlcmF0b3I6ImdyZWF0ZXIiLHZhbHVlOi41fX19LGNhbmFkYTp7dG9wX2dhaW5lcnM6e2Nsb3NlOlsyLDFlNF19LHRvcF9sb3NlcnM6e2Nsb3NlOlsyLDFlNF19fSxzaW5nYXBvcmU6e3RvcF9nYWluZXJzOntjbG9zZTpbMiwxZTRdfSx0b3BfbG9zZXJzOntjbG9zZTpbMiwxZTRdfX0sZ2VybWFueTp7dG9wX2dhaW5lcnM6e2Nsb3NlOlsxLDFlNF19LHRvcF9sb3NlcnM6e2Nsb3NlOlsxLDFlNF19fSxwb2xhbmQ6e3RvcF9nYWluZXJzOntjbG9zZTpbMSwxZTRdfSx0b3BfbG9zZXJzOntjbG9zZTpbMSwxZTRdfSx1bnVzdWFsX3ZvbHVtZTp7cmVsYXRpdmVfdm9sdW1lXzEwZF9jYWxjOntvcGVyYXRvcjoiZ3JlYXRlciIsdmFsdWU6LjV9fX0saXNyYWVsOnt0b3BfZ2FpbmVyczp7Y2xvc2U6WzIsMWU0XX0sdG9wX2xvc2Vyczp7Y2xvc2U6WzIsMWU0XX0sdW51c3VhbF92b2x1bWU6e3JlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYzp7b3BlcmF0b3I6ImdyZWF0ZXIiLHZhbHVlOi41fX19LGl0YWx5Ont0b3BfZ2FpbmVyczp7Y2xvc2U6WzIsMWU0XX0sdG9wX2xvc2Vyczp7Y2xvc2U6WzIsMWU0XX0sdW51c3VhbF92b2x1bWU6e3JlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYzp7b3BlcmF0b3I6ImdyZWF0ZXIiLHZhbHVlOi41fX19LGFyZ2VudGluYTp7dG9wX2dhaW5lcnM6e2Nsb3NlOlsyLDFlNF19LHRvcF9sb3NlcnM6e2Nsb3NlOlsyLDFlNF19LHVudXN1YWxfdm9sdW1lOntyZWxhdGl2ZV92b2x1bWVfMTBkX2NhbGM6e29wZXJhdG9yOiJncmVhdGVyIix2YWx1ZTouMn19fSxmb3JleDp7dG9wX2dhaW5lcnM6e2Nsb3NlOm51bGx9LHRvcF9sb3NlcnM6e2Nsb3NlOm51bGx9LG1vc3RfY2FwaXRhbGl6ZWQ6bnVsbCxlYXJuaW5nc190aGlzX3dlZWs6bnVsbCx2b2x1bWVfbGVhZGVyczpudWxsLG1vc3Rfdm9sYXRpbGU6eyJWb2xhdGlsaXR5LkQiOntvcGVyYXRvcjoiZ3JlYXRlciIsdmFsdWU6MX19LHVudXN1YWxfdm9sdW1lOm51bGwsaGlnaF9kaXZpZGVuZDpudWxsfSxjcnlwdG86e3RvcF9nYWluZXJzOntjbG9zZTpudWxsfSx0b3BfbG9zZXJzOntjbG9zZTpudWxsfSxtb3N0X2NhcGl0YWxpemVkOm51bGwsCmVhcm5pbmdzX3RoaXNfd2VlazpudWxsLHZvbHVtZV9sZWFkZXJzOm51bGwsbW9zdF92b2xhdGlsZTp7IlZvbGF0aWxpdHkuRCI6e29wZXJhdG9yOiJncmVhdGVyIix2YWx1ZToxfX0sdW51c3VhbF92b2x1bWU6bnVsbCxoaWdoX2RpdmlkZW5kOm51bGx9LGNoaW5hOnt0b3BfZ2FpbmVyczp7Y2xvc2U6WzIsMWU0XX0sdG9wX2xvc2Vyczp7Y2xvc2U6WzIsMWU0XX19LGNoaWxlOnt0b3BfZ2FpbmVyczp7Y2xvc2U6WzEsMWU0XX0sdG9wX2xvc2Vyczp7Y2xvc2U6WzEsMWU0XX19LGJhaHJhaW46e3RvcF9nYWluZXJzOntjbG9zZTpbLjAxLDFlNF19LHRvcF9sb3NlcnM6e2Nsb3NlOlsuMDEsMWU0XX19LG1hbGF5c2lhOnt0b3BfZ2FpbmVyczp7Y2xvc2U6Wy4wMSwxZTRdfSx0b3BfbG9zZXJzOntjbG9zZTpbLjAxLDFlNF19fSxzZXJiaWE6e3RvcF9nYWluZXJzOntjbG9zZTpbLjEsMWU0XX0sdG9wX2xvc2Vyczp7Y2xvc2U6Wy4xLDFlNF19fSxrc2E6e3RvcF9nYWluZXJzOntjbG9zZTpbMSwxZTRdfSx0b3BfbG9zZXJzOntjbG9zZTpbMSwxZTRdfX0sZWd5cHQ6e3RvcF9nYWluZXJzOntjbG9zZTpbMSwxZTRdfSx0b3BfbG9zZXJzOntjbG9zZTpbMSwxZTRdfX19O2Z1bmN0aW9uICQoZSl7cmV0dXJuIGUucmVkdWNlKCgoZSx0KT0+ZS5jb25jYXQoZnVuY3Rpb24oZSl7cmV0dXJuIHhbZV0mJnhbZV0uc3RvY2tzfHxbXX0odCkpKSxbXSl9Y29uc3QgVz1bInVrIiwibHV4ZW1ib3VyZyIsIm5vcndheSIsInNsb3Zha2lhIiwic3dlZGVuIiwicGhpbGlwcGluZXMiLCJrb3JlYSJdO2NvbnN0IHE9e2luZGlhOlsiTlNFIl19O2Z1bmN0aW9uIFYoKXtyZXR1cm4gcX12YXIgSD1vKDYwMTg0MSksVT1vKDcwMDgwOSksej1vKDM2Nzk0Niksaj1vKDc1NTYyNyksRz1vKDk4NDM3NiksWD1vKDEyNTIxOCksSz1vKDgyMjQzMSk7dmFyIFk9byg1NDY0ODUpO2NvbnN0IEo9bmV3IFJlZ0V4cCgvMCskLyk7Y2xhc3MgWiBleHRlbmRzIGouUHJpY2VGb3JtYXR0ZXJ7Y29uc3RydWN0b3IoZT17fSl7aWYodm9pZCAwIT09ZS5mcmFjdGlvbmFsKXRocm93IG5ldyBFcnJvcigiRnJhY3Rpb25hbCBzaG91bGQgbm90IGJlIHVzZWQgd2l0aCB0aGlzIGZvcm1hdHRlciIpO3N1cGVyKGUpfWZvcm1hdChlLHQ9e30pe2NvbnN0e3NpZ25Qb3NpdGl2ZTpvLHRhaWxTaXplOmksaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0Om59PXQscj1lLnRvU3RyaW5nKCkscz0oMCxZLmdldE51bWJlckZvcm1hdCkodGhpcy5faWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0fHxuKTtpZigtMSE9PXIuaW5kZXhPZigiZS0iKSl7Y29uc3QgZT1yLnNwbGl0KCJlLSIpLHQ9TnVtYmVyKGVbMF0pLG89TnVtYmVyKGVbMV0pO3JldHVybiB0aGlzLl9mcmFjdGlvbmFsTGVuZ3RoJiZvPnRoaXMuX2ZyYWN0aW9uYWxMZW5ndGgrMT9gMCR7cy5kZWNpbWFsU2lnbn0wMGA6YCR7dDwwPyLiiJIiOiIifTAke3MuZGVjaW1hbFNpZ259JHsiMCIucmVwZWF0KG8tMSl9JHtNYXRoLmFicyhNYXRoLnJvdW5kKHQpKX1gfXtsZXQgdD1zdXBlci5mb3JtYXQoZSx7c2lnblBvc2l0aXZlOm8sdGFpbFNpemU6aSxpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6bn0pO3QuaW5jbHVkZXMoImUiKXx8KHQ9dC5yZXBsYWNlKEosIiIpKTtjb25zdFtyLGFdPXQuc3BsaXQocy5kZWNpbWFsU2lnbik7cmV0dXJuIGEmJmEubGVuZ3RoPj0yP3Q6YCR7cn0ke3MuZGVjaW1hbFNpZ259JHsoKGF8fCIiKSsiMDAiKS5zdWJzdHJpbmcoMCwyKX1gfX19dmFyIFE9bygzMDY5MCksZWU9byg1MjgzOTYpO2NvbnN0IHRlPXtTVFJPTkdfQlVZOntrZXk6IlN0cm9uZyBCdXkiLGdldCB0aXRsZSgpe3JldHVybiBfLnQobnVsbCx7Y29udGV4dDoic2NyZWVuZXJfcmF0aW5nIn0sbyg0ODk4NjkpKX0sZ2V0IHNob3J0VGl0bGUoKXtyZXR1cm4gXy50KG51bGwse2NvbnRleHQ6InNjcmVlbmVyX3JhdGluZyJ9LG8oNDg5ODY5KSl9LGNzc0NsYXNzOiJ0di1zY3JlZW5lci10YWJsZV9fc2lnbmFsLS1zdHJvbmctYnV5In0sQlVZOntrZXk6IkJ1eSIsZ2V0IHRpdGxlKCl7cmV0dXJuIF8udChudWxsLHtjb250ZXh0OiJzY3JlZW5lcl9yYXRpbmcifSxvKDU2NTk2MikpfSxnZXQgc2hvcnRUaXRsZSgpe3JldHVybiBfLnQobnVsbCx7Y29udGV4dDoiZmlyc3RfbGV0dGVyX29mX0J1eSJ9LG8oNDEzNTM3KSl9LGNzc0NsYXNzOiJ0di1zY3JlZW5lci10YWJsZV9fc2lnbmFsLS1idXkifSxTVFJPTkdfU0VMTDp7a2V5OiJTdHJvbmcgU2VsbCIsZ2V0IHRpdGxlKCl7cmV0dXJuIF8udChudWxsLHtjb250ZXh0OiJzY3JlZW5lcl9yYXRpbmcifSxvKDY5MTU0MykpfSxnZXQgc2hvcnRUaXRsZSgpe3JldHVybiBfLnQobnVsbCx7Y29udGV4dDoic2NyZWVuZXJfcmF0aW5nIn0sbyg2OTE1NDMpKX0sY3NzQ2xhc3M6InR2LXNjcmVlbmVyLXRhYmxlX19zaWduYWwtLXN0cm9uZy1zZWxsIn0sU0VMTDp7a2V5OiJTZWxsIixnZXQgdGl0bGUoKXtyZXR1cm4gXy50KG51bGwse2NvbnRleHQ6InNjcmVlbmVyX3JhdGluZyJ9LG8oMjU3NjQzKSl9LGdldCBzaG9ydFRpdGxlKCl7cmV0dXJuIF8udChudWxsLHtjb250ZXh0OiJmaXJzdF9sZXR0ZXJfb2ZfU2VsbCJ9LG8oOTkxNjk3KSl9LGNzc0NsYXNzOiJ0di1zY3JlZW5lci10YWJsZV9fc2lnbmFsLS1zZWxsIn0sTkVVVFJBTDp7a2V5OiJOZXV0cmFsIixnZXQgdGl0bGUoKXtyZXR1cm4gXy50KG51bGwse2NvbnRleHQ6InNjcmVlbmVyX3JhdGluZyJ9LG8oNDU5NDYzKSl9LGdldCBzaG9ydFRpdGxlKCl7cmV0dXJuIF8udChudWxsLHtjb250ZXh0OiJmaXJzdF9sZXR0ZXJfb2ZfTmV1dHJhbCJ9LG8oMjE3Nzg4KSl9LGNzc0NsYXNzOiJ0di1zY3JlZW5lci10YWJsZV9fc2lnbmFsLS1uZXV0cmFsIn19LG9lPShlLHQ9ITEsbz0hMSk9Pntjb25zdCBpPXQ/IiI6IiBpLWhpZGRlbiIKO3JldHVybiBvP2A8c3BhbiB0aXRsZT0iJHtlLnRpdGxlfSIgY2xhc3M9InR2LXNjcmVlbmVyLXRhYmxlX19zaWduYWwgYXBwbHktY29tbW9uLXRvb2x0aXAgJHtlLmNzc0NsYXNzfSR7aX0iPiR7ZS5zaG9ydFRpdGxlfTwvc3Bhbj5gOmA8c3BhbiBjbGFzcz0idHYtc2NyZWVuZXItdGFibGVfX3NpZ25hbCAke2UuY3NzQ2xhc3N9JHtpfSI+JHtlLnRpdGxlfTwvc3Bhbj5gfSxpZT17Y29tcHV0ZU1BU2lnbmFsOihlLHQpPT57bGV0IG89dGUuTkVVVFJBTDtyZXR1cm4gZTx0JiYobz10ZS5CVVkpLGU+dCYmKG89dGUuU0VMTCksb30sY29tcHV0ZVJTSVNpZ25hbDooZSx0KT0+e2xldCBvPXRlLk5FVVRSQUw7cmV0dXJuIGU8MzAmJnQ8ZSYmKG89dGUuQlVZKSxlPjcwJiZ0PmUmJihvPXRlLlNFTEwpLG99LGNvbXB1dGVTdG9jaFNpZ25hbDooZSx0LG8saSk9PntsZXQgbj10ZS5ORVVUUkFMO3JldHVybiBlPDIwJiZ0PDIwJiZlPnQmJm88aSYmKG49dGUuQlVZKSxlPjgwJiZ0PjgwJiZlPHQmJm8+aSYmKG49dGUuU0VMTCksbn0sY29tcHV0ZUNDSTIwU2lnbmFsOihlLHQpPT57bGV0IG89dGUuTkVVVFJBTDtyZXR1cm4gZTwtMTAwJiZlPnQmJihvPXRlLkJVWSksZT4xMDAmJmU8dCYmKG89dGUuU0VMTCksb30sY29tcHV0ZUFEWFNpZ25hbDooZSx0LG8saSxuKT0+e2xldCByPXRlLk5FVVRSQUw7cmV0dXJuIGU+MjAmJmk8biYmdD5vJiYocj10ZS5CVVkpLGU+MjAmJmk+biYmdDxvJiYocj10ZS5TRUxMKSxyfSxjb21wdXRlQU9TaWduYWw6KGUsdCxvKT0+e2xldCBpPXRlLk5FVVRSQUw7cmV0dXJuKGU+MCYmdDwwfHxlPjAmJnQ+MCYmZT50JiZvPnQpJiYoaT10ZS5CVVkpLChlPDAmJnQ+MHx8ZTwwJiZ0PDAmJmU8dCYmbzx0KSYmKGk9dGUuU0VMTCksaX0sY29tcHV0ZU1vbVNpZ25hbDooZSx0KT0+e2xldCBvPXRlLk5FVVRSQUw7cmV0dXJuIGU+dCYmKG89dGUuQlVZKSxlPHQmJihvPXRlLlNFTEwpLG99LGNvbXB1dGVNQUNEU2lnbmFsOihlLHQpPT57bGV0IG89dGUuTkVVVFJBTDtyZXR1cm4gZT50JiYobz10ZS5CVVkpLGU8dCYmKG89dGUuU0VMTCksb30sY29tcHV0ZUJCQnV5U2lnbmFsOihlLHQpPT57bGV0IG89dGUuTkVVVFJBTDtyZXR1cm4gZTx0JiYobz10ZS5CVVkpLG99LGNvbXB1dGVCQlNlbGxTaWduYWw6KGUsdCk9PntsZXQgbz10ZS5ORVVUUkFMO3JldHVybiBlPnQmJihvPXRlLlNFTEwpLG99LGNvbXB1dGVQU0FSU2lnbmFsOihlLHQpPT57bGV0IG89dGUuTkVVVFJBTDtyZXR1cm4gZTx0JiYobz10ZS5CVVkpLGU+dCYmKG89dGUuU0VMTCksb30sY29tcHV0ZVJlY29tbWVuZFNpZ25hbDplPT57bGV0IHQ7cmV0dXJuIGU+PS0xJiZlPC0uNSYmKHQ9dGUuU1RST05HX1NFTEwpLGU+PS0uNSYmZTwtLjEmJih0PXRlLlNFTEwpLGU+PS0uMSYmZTw9LjEmJih0PXRlLk5FVVRSQUwpLGU+LjEmJmU8PS41JiYodD10ZS5CVVkpLGU+LjUmJmU8PTEmJih0PXRlLlNUUk9OR19CVVkpLHR9LGNvbXB1dGVTaW1wbGVTaWduYWw6ZT0+e2xldCB0PXRlLk5FVVRSQUw7cmV0dXJuLTE9PT1lJiYodD10ZS5TRUxMKSwxPT09ZSYmKHQ9dGUuQlVZKSx0fX0sbmU9e3Byb2Nlc3NNQVNpZ25hbDooZSx0LG8saSk9PntpZihudWxsPT09dHx8bnVsbD09PW8pcmV0dXJuIGU7Y29uc3Qgbj1pZS5jb21wdXRlTUFTaWduYWwodCxvKTtyZXR1cm5gJHtlfSAke29lKG4saS5kaXNwbGF5U2lnbmFsLCEwKX1gfSxwcm9jZXNzUlNJU2lnbmFsOihlLHQsbyxpKT0+e2lmKG51bGw9PT10KXJldHVybiBlO2NvbnN0IG49aWUuY29tcHV0ZVJTSVNpZ25hbCh0LG8pO3JldHVybmAke2V9ICR7b2UobixpLmRpc3BsYXlTaWduYWwsITApfWB9LHByb2Nlc3NTdG9jaFNpZ25hbDooZSx0LG8saSxuLHIpPT57aWYobnVsbD09PXR8fG51bGw9PT1vKXJldHVybiBlO2NvbnN0IHM9aWUuY29tcHV0ZVN0b2NoU2lnbmFsKHQsbyxpLG4pO3JldHVybmAke2V9ICR7b2UocyxyLmRpc3BsYXlTaWduYWwsITApfWB9LHByb2Nlc3NDQ0kyMFNpZ25hbDooZSx0LG8saSk9PntpZihudWxsPT09dHx8bnVsbD09PW8pcmV0dXJuIGU7Y29uc3Qgbj1pZS5jb21wdXRlQ0NJMjBTaWduYWwodCxvKTtyZXR1cm5gJHtlfSAke29lKG4saS5kaXNwbGF5U2lnbmFsLCEwKX1gfSxwcm9jZXNzQURYU2lnbmFsOihlLHQsbyxpLG4scixzKT0+e2lmKG51bGw9PT10fHxudWxsPT09b3x8bnVsbD09PWkpcmV0dXJuIGU7Y29uc3QgYT1pZS5jb21wdXRlQURYU2lnbmFsKHQsbyxpLG4scik7cmV0dXJuYCR7ZX0gJHtvZShhLHMuZGlzcGxheVNpZ25hbCwhMCl9YH0scHJvY2Vzc0FPU2lnbmFsOihlLHQsbyxpLG4pPT57aWYobnVsbD09PXR8fG51bGw9PT1vfHxudWxsPT09aSlyZXR1cm4gZTtjb25zdCByPWllLmNvbXB1dGVBT1NpZ25hbCh0LG8saSk7cmV0dXJuYCR7ZX0gJHtvZShyLG4uZGlzcGxheVNpZ25hbCwhMCl9YH0scHJvY2Vzc01vbVNpZ25hbDooZSx0LG8saSk9PntpZihudWxsPT09dHx8bnVsbD09PW8pcmV0dXJuIGU7Y29uc3Qgbj1pZS5jb21wdXRlTW9tU2lnbmFsKHQsbyk7cmV0dXJuYCR7ZX0gJHtvZShuLGkuZGlzcGxheVNpZ25hbCwhMCl9YH0scHJvY2Vzc01BQ0RTaWduYWw6KGUsdCxvLGkpPT57aWYobnVsbD09PXR8fG51bGw9PT1vKXJldHVybiBlO2NvbnN0IG49aWUuY29tcHV0ZU1BQ0RTaWduYWwodCxvKTtyZXR1cm5gJHtlfSAke29lKG4saS5kaXNwbGF5U2lnbmFsLCEwKX1gfSxwcm9jZXNzQkJCdXlTaWduYWw6KGUsdCxvLGkpPT57aWYobnVsbD09PXR8fG51bGw9PT1vKXJldHVybiBlO2NvbnN0IG49aWUuY29tcHV0ZUJCQnV5U2lnbmFsKHQsbyk7cmV0dXJuYCR7ZX0gJHtvZShuLGkuZGlzcGxheVNpZ25hbCwhMCl9YH0scHJvY2Vzc0JCU2VsbFNpZ25hbDooZSx0LG8saSk9PntpZihudWxsPT09dHx8bnVsbD09PW8pcmV0dXJuIGU7Y29uc3Qgbj1pZS5jb21wdXRlQkJTZWxsU2lnbmFsKHQsbyk7cmV0dXJuYCR7ZX0gJHtvZShuLGkuZGlzcGxheVNpZ25hbCwhMCl9YH0scHJvY2Vzc1BTQVJTaWduYWw6KGUsdCxvLGkpPT57aWYobnVsbD09PXR8fG51bGw9PT1vKXJldHVybiBlO2NvbnN0IG49aWUuY29tcHV0ZVBTQVJTaWduYWwodCxvKQo7cmV0dXJuYCR7ZX0gJHtvZShuLGkuZGlzcGxheVNpZ25hbCwhMCl9YH0scHJvY2Vzc1JlY29tbWVuZFNpZ25hbDplPT57aWYobnVsbD09PWV8fCEoMCxILmlzTnVtYmVyKShlKSlyZXR1cm4gZTtjb25zdCB0PWllLmNvbXB1dGVSZWNvbW1lbmRTaWduYWwoZSk7cmV0dXJuIHZvaWQgMD09PXQ/ZTpgJHtvZSh0LCEwKX1gfSxwcm9jZXNzU2ltcGxlU2lnbmFsOihlLHQsbyk9PntpZihudWxsPT09dHx8IiZtZGFzaDsiPT09ZSlyZXR1cm4gZTtjb25zdCBpPWllLmNvbXB1dGVTaW1wbGVTaWduYWwodCk7cmV0dXJuYCR7ZX0gJHtvZShpLG8uZGlzcGxheVNpZ25hbCwhMCl9YH19LHJlPWU9PntsZXQgdCxvO3JldHVybiBlPT09dGUuU1RST05HX1NFTEwudGl0bGUmJih0PVstMSwtLjVdLG89LS41KSxlPT09dGUuU0VMTC50aXRsZSYmKHQ9Wy0uNSwtLjFdLG89LS4xKSxlPT09dGUuTkVVVFJBTC50aXRsZSYmKHQ9Wy0uMSwuMV0pLGU9PT10ZS5CVVkudGl0bGUmJih0PVsuMSwuNV0sbz0uMSksZT09PXRlLlNUUk9OR19CVVkudGl0bGUmJih0PVsuNSwxXSxvPS41KSx7cmlnaHQ6dCxub3RFcXVhbDpvfX0sc2U9KGUsdCk9PntpZihBcnJheS5pc0FycmF5KGUpKXtjb25zdCBvPWUubWFwKChlPT5yZShlKSkpLGk9W10sbj1bXTtmb3IoY29uc3QgZSBvZiBvKXtpZih2b2lkIDAhPT1lLm5vdEVxdWFsKXtvLmZpbHRlcigodD0+dC5ub3RFcXVhbCE9PWUubm90RXF1YWwmJih0LmVxdWFsPT09ZS5ub3RFcXVhbHx8dC5yaWdodCYmKHQucmlnaHRbMF09PT1lLm5vdEVxdWFsfHx0LnJpZ2h0WzFdPT09ZS5ub3RFcXVhbCkpKSkubGVuZ3RofHxpLnB1c2goe2xlZnQ6dCxvcGVyYXRpb246Im5lcXVhbCIscmlnaHQ6ZS5ub3RFcXVhbH0pfWUucmlnaHQmJm4ucHVzaCh7bGVmdDp0LG9wZXJhdGlvbjoiaW5fcmFuZ2UiLHJpZ2h0OmUucmlnaHR9KSx2b2lkIDAhPT1lLmVxdWFsJiZuLnB1c2goe2xlZnQ6dCxvcGVyYXRpb246ImVxdWFsIixyaWdodDplLmVxdWFsfSl9cmV0dXJue2ZpbHRlcjppLGZpbHRlcjJBbmRQYXJ0Om4sZmlsdGVyMkZsYWc6ITB9fWNvbnN0IG89cmUoZSk7aWYoMD09PW8uZXF1YWwpcmV0dXJue2xlZnQ6dCxvcGVyYXRpb246ImVxdWFsIixyaWdodDowfTtjb25zdCBpPVt7bGVmdDp0LG9wZXJhdGlvbjoiaW5fcmFuZ2UiLHJpZ2h0Om8ucmlnaHR9XTtyZXR1cm4gdm9pZCAwIT09by5ub3RFcXVhbCYmaS5wdXNoKHtsZWZ0OnQsb3BlcmF0aW9uOiJuZXF1YWwiLHJpZ2h0Om8ubm90RXF1YWx9KSxpfTt2YXIgYWU9byg0NDM1NTcpO2NvbnN0IGxlPVt7aWQ6IjFtIix0aXRsZTpfLnQobnVsbCx7cGx1cmFsOiJ7bnVtYmVyfSBtaW51dGVzIixjb3VudDoxLHJlcGxhY2U6e251bWJlcjpTdHJpbmcoMSl9fSxvKDcwNDk1OCkpLHNob3J0VGl0bGU6YDE8c3VwIGNsYXNzPSJ0di1zY3JlZW5lci10b29sYmFyX19pbnRlcnZhbC1zdXAiPiR7Xy50KG51bGwse2NvbnRleHQ6ImludGVydmFsX3Nob3J0In0sbyg2MTg0KSl9PC9zdXA+YCx2YWx1ZToxfSx7aWQ6IjVtIix0aXRsZTpfLnQobnVsbCx7cGx1cmFsOiJ7bnVtYmVyfSBtaW51dGVzIixjb3VudDo1LHJlcGxhY2U6e251bWJlcjpTdHJpbmcoNSl9fSxvKDcwNDk1OCkpLHNob3J0VGl0bGU6YDU8c3VwIGNsYXNzPSJ0di1zY3JlZW5lci10b29sYmFyX19pbnRlcnZhbC1zdXAiPiR7Xy50KG51bGwse2NvbnRleHQ6ImludGVydmFsX3Nob3J0In0sbyg2MTg0KSl9PC9zdXA+YCx2YWx1ZTo1fSx7aWQ6IjE1bSIsdGl0bGU6Xy50KG51bGwse3BsdXJhbDoie251bWJlcn0gbWludXRlcyIsY291bnQ6MTUscmVwbGFjZTp7bnVtYmVyOlN0cmluZygxNSl9fSxvKDcwNDk1OCkpLHNob3J0VGl0bGU6YDE1PHN1cCBjbGFzcz0idHYtc2NyZWVuZXItdG9vbGJhcl9faW50ZXJ2YWwtc3VwIj4ke18udChudWxsLHtjb250ZXh0OiJpbnRlcnZhbF9zaG9ydCJ9LG8oNjE4NCkpfTwvc3VwPmAsdmFsdWU6MTV9LHtpZDoiMzBtIix0aXRsZTpfLnQobnVsbCx7cGx1cmFsOiJ7bnVtYmVyfSBtaW51dGVzIixjb3VudDozMCxyZXBsYWNlOntudW1iZXI6U3RyaW5nKDMwKX19LG8oNzA0OTU4KSksc2hvcnRUaXRsZTpgMzA8c3VwIGNsYXNzPSJ0di1zY3JlZW5lci10b29sYmFyX19pbnRlcnZhbC1zdXAiPiR7Xy50KG51bGwse2NvbnRleHQ6ImludGVydmFsX3Nob3J0In0sbyg2MTg0KSl9PC9zdXA+YCx2YWx1ZTozMH0se2lkOiIxaCIsdGl0bGU6Xy50KG51bGwse3BsdXJhbDoie251bWJlcn0gaG91cnMiLGNvdW50OjEscmVwbGFjZTp7bnVtYmVyOlN0cmluZygxKX19LG8oODI0MjE4KSksc2hvcnRUaXRsZTpgMTxzdXAgY2xhc3M9InR2LXNjcmVlbmVyLXRvb2xiYXJfX2ludGVydmFsLXN1cCI+JHtfLnQobnVsbCx7Y29udGV4dDoiaW50ZXJ2YWxfc2hvcnQifSxvKDI0MDczKSl9PC9zdXA+YCx2YWx1ZTo2MH0se2lkOiIyaCIsdGl0bGU6Xy50KG51bGwse3BsdXJhbDoie251bWJlcn0gaG91cnMiLGNvdW50OjIscmVwbGFjZTp7bnVtYmVyOlN0cmluZygyKX19LG8oODI0MjE4KSksc2hvcnRUaXRsZTpgMjxzdXAgY2xhc3M9InR2LXNjcmVlbmVyLXRvb2xiYXJfX2ludGVydmFsLXN1cCI+JHtfLnQobnVsbCx7Y29udGV4dDoiaW50ZXJ2YWxfc2hvcnQifSxvKDI0MDczKSl9PC9zdXA+YCx2YWx1ZToxMjB9LHtpZDoiNGgiLHRpdGxlOl8udChudWxsLHtwbHVyYWw6IntudW1iZXJ9IGhvdXJzIixjb3VudDo0LHJlcGxhY2U6e251bWJlcjpTdHJpbmcoNCl9fSxvKDgyNDIxOCkpLHNob3J0VGl0bGU6YDQ8c3VwIGNsYXNzPSJ0di1zY3JlZW5lci10b29sYmFyX19pbnRlcnZhbC1zdXAiPiR7Xy50KG51bGwse2NvbnRleHQ6ImludGVydmFsX3Nob3J0In0sbygyNDA3MykpfTwvc3VwPmAsdmFsdWU6MjQwfSx7aWQ6IjFEIix0aXRsZTpfLnQobnVsbCx7cGx1cmFsOiJ7bnVtYmVyfSBkYXlzIixjb3VudDoxLHJlcGxhY2U6e251bWJlcjpTdHJpbmcoMSl9fSxvKDI0NTI2MikpLHNob3J0VGl0bGU6YDE8c3VwIGNsYXNzPSJ0di1zY3JlZW5lci10b29sYmFyX19pbnRlcnZhbC1zdXAiPiR7Xy50KG51bGwse2NvbnRleHQ6ImludGVydmFsX3Nob3J0In0sbygxOTE0MzIpKX08L3N1cD5gLHZhbHVlOm51bGx9LHtpZDoiMVciLAp0aXRsZTpfLnQobnVsbCx7cGx1cmFsOiJ7bnVtYmVyfSB3ZWVrcyIsY291bnQ6MSxyZXBsYWNlOntudW1iZXI6U3RyaW5nKDEpfX0sbyg4MzI3MTcpKSxzaG9ydFRpdGxlOmAxPHN1cCBjbGFzcz0idHYtc2NyZWVuZXItdG9vbGJhcl9faW50ZXJ2YWwtc3VwIj4ke18udChudWxsLHtjb250ZXh0OiJpbnRlcnZhbF9zaG9ydCJ9LG8oMzIzNTcwKSl9PC9zdXA+YCx2YWx1ZToiMVcifSx7aWQ6IjFNIix0aXRsZTpfLnQobnVsbCx7cGx1cmFsOiJ7bnVtYmVyfSBtb250aHMiLGNvdW50OjEscmVwbGFjZTp7bnVtYmVyOlN0cmluZygxKX19LG8oNzIwODkzKSksc2hvcnRUaXRsZTpgMTxzdXAgY2xhc3M9InR2LXNjcmVlbmVyLXRvb2xiYXJfX2ludGVydmFsLXN1cCI+JHtfLnQobnVsbCx7Y29udGV4dDoiaW50ZXJ2YWxfc2hvcnQifSxvKDg4OTEwKSl9PC9zdXA+YCx2YWx1ZToiMU0ifV0sY2U9IjFEIjtmdW5jdGlvbiBkZShlKXtyZXR1cm4gbGUuZmluZCgodD0+dC5pZD09PWUpKX1mdW5jdGlvbiBoZShlLHQpe2lmKGU9ZnVuY3Rpb24oZSl7aWYoSXRbZV0mJkl0W2VdLmFsaWFzKXJldHVybiBJdFtlXS5hbGlhcztyZXR1cm4gZX0oZSksLyhjaGFuZ2V8Y2hhbmdlX2FicykuXGR7MSwzfS8udGVzdChlKXx8SXRbZV0mJkl0W2VdLnVzZURlZmF1bHRUaW1lSW50ZXJ2YWxGcm9tRmllbGROYW1lKXJldHVybiBlLnJlcGxhY2UoIi4iLCJ8Iik7aWYoIXR8fHQ9PT1jZXx8SXRbZV0mJkl0W2VdLnVzZURlZmF1bHRUaW1lSW50ZXJ2YWwpcmV0dXJuIGU7Y29uc3Qgbz1kZSh0KTtpZihvKXtjb25zdCB0PW8udmFsdWV8fCIiO2lmKEl0W2VdJiZJdFtlXS5jdXN0b21SZXNvbHV0aW9ucyl7Y29uc3Qgbz1JdFtlXS5jdXN0b21SZXNvbHV0aW9ucztpZih0JiYtMSE9PW8uaW5kZXhPZih0LnRvU3RyaW5nKCkpKXJldHVybmAke2V9fCR7dH1gfX1yZXR1cm4gZX12YXIgdWUsX2U9byg0OTExNjUpLHBlPW8oMTY4ODI0KTtmdW5jdGlvbiBtZShlKXtyZXR1cm4gZSYmKDAsSC5pc051bWJlcikoZSk/X2UuZGF0ZUZvcm1hdEZ1bmN0aW9uc1sieXl5eS1NTS1kZCJdKCgwLHBlLmdldERhdGVGcm9tWVlZWU1NREQpKGUpLCEwKToi4oCUIn0hZnVuY3Rpb24oZSl7ZS5TdG9jaz0ic3RvY2siLGUuQ29tbW9uPSJjb21tb24iLGUuRHI9ImRyIixlLlByZWZlcnJlZD0icHJlZmVycmVkIixlLkNsb3NlZGVuZD0iY2xvc2VkZW5kIixlLkV0Zj0iZXRmIixlLkV0bj0iZXRuIixlLk11dHVhbD0ibXV0dWFsIixlLlJlaXQ9InJlaXQiLGUuVHJ1c3Q9InRydXN0IixlLlVuaXQ9InVuaXQiLGUuRnVuZD0iZnVuZCIsZS5TdHJ1Y3R1cmVkPSJzdHJ1Y3R1cmVkIixlLlNwb3Q9InNwb3QiLGUuRnV0dXJlcz0iZnV0dXJlcyIsZS5QZXJwZXR1YWw9InBlcnBldHVhbCJ9KHVlfHwodWU9e30pKTtjb25zdCBnZT17Y29tbW9uOlsiY29tbW9uIiwiZm9yZWlnbi1pc3N1ZXIiXSxzdG9jazpbImNvbW1vbiJdLGRyOlsiIiwiZm9yZWlnbi1pc3N1ZXIiXSxwcmVmZXJyZWQ6WyJwcmVmZXJyZWQiXSxmdW5kOlsiZnVuZCJdLHN0cnVjdHVyZWQ6WyIiXSxzcG90Olsic3BvdCJdLGZ1dHVyZXM6WyJmdXR1cmVzIl19LHZlPXtjbG9zZWRlbmQ6WyJjbG9zZWRlbmQiXSxldGY6WyJldGYiLCJldGYsb2RkIiwiZXRmLG90YyIsImV0ZixjZmQiXSxldG46WyJldG4iXSxtdXR1YWw6WyJtdXR1YWwiXSxyZWl0OlsicmVpdCIsInJlaXQsY2ZkIiwidHJ1c3QscmVpdCJdLHRydXN0OlsidHJ1c3QiXSx1bml0OlsidW5pdCJdfSxmZT17cGVycGV0dWFsOlsicGVycGV0dWFsIl19O2Z1bmN0aW9uIHllKGUpe2xldCB0PVtdLG89W107aWYoQXJyYXkuaXNBcnJheShlKSlmb3IoY29uc3QgaSBvZiBlKXtjb25zdFtlLG5dPVNlKGkpO3Q9Wy4uLnQsLi4uZV0sbz1bLi4ubywuLi5uXX1lbHNlW3Qsb109U2UoZSk7cmV0dXJuIG89Wy4uLm5ldyBTZXQobyldLHQubGVuZ3RoJiZvLmxlbmd0aD9bd2UoInR5cGUiLHQpLHdlKCJzdWJ0eXBlIixvKV06dC5sZW5ndGg/W3dlKCJ0eXBlIix0KV06W3dlKCJzdWJ0eXBlIixvKV19ZnVuY3Rpb24gYmUoZSl7Y29uc3QgdD1bXSxvPVtdLmNvbmNhdChlKTtmb3IoY29uc3QgZSBvZiBvKUNlKGUpJiZ0LnB1c2goe2xlZnQ6InR5cGUiLG9wZXJhdGlvbjoiaW5fcmFuZ2UiLHJpZ2h0OmdlW2VdfSksa2UoZSkmJnQucHVzaCh7bGVmdDoidHlwZXNwZWNzIixvcGVyYXRpb246ImhhcyIscmlnaHQ6ZmVbZV19KTtyZXR1cm57ZmlsdGVyMkZsYWc6ITAsZmlsdGVyMkFuZFBhcnQ6dCxmaWx0ZXI6W119fWZ1bmN0aW9uIFNlKGUpe2xldCB0PVtdLG89W107cmV0dXJuImV0biI9PT1lP1tbInN0cnVjdHVyZWQiXSxbImV0biJdXTooIWZ1bmN0aW9uKGUpe3JldHVybiBlIGluIHZlfShlKT8hZnVuY3Rpb24oZSl7cmV0dXJuImNvbW1vbiI9PT1lfHwicHJlZmVycmVkIj09PWV8fCJzdG9jayI9PT1lfShlKT9DZShlKT8odD1bZV0sbz1nZVtlXSk6dD1bZV06KHQucHVzaCgic3RvY2siKSxvPWdlW2VdKToodC5wdXNoKCJmdW5kIiksbz12ZVtlXSksW3Qsb10pfWZ1bmN0aW9uIHdlKGUsdCl7Y29uc3Qgbz1mdW5jdGlvbihlKXtyZXR1cm4gZS5yZWR1Y2UoKGZ1bmN0aW9uKGUsdCxvKXtyZXR1cm5+ZS5pbmRleE9mKHQpfHxlLnB1c2godCksZX0pLFtdKX0odCksaT0xPT09by5sZW5ndGg7cmV0dXJue2xlZnQ6ZSxvcGVyYXRpb246aT8iZXF1YWwiOiJpbl9yYW5nZSIscmlnaHQ6aT9vWzBdOm99fWZ1bmN0aW9uIENlKGUpe3JldHVybiBlIGluIGdlfWZ1bmN0aW9uIGtlKGUpe3JldHVybiBlIGluIGZlfXZhciBUZT1vKDM4MDIwNyk7Y29uc3QgRWU9e25hbWU6W18udChudWxsLHZvaWQgMCxvKDgyODQyMCkpLF8udChudWxsLHZvaWQgMCxvKDgyODQyMCkpXSxkZXNjcmlwdGlvbjpbXy50KG51bGwsdm9pZCAwLG8oMzk3OTg3KSksXy50KG51bGwsdm9pZCAwLG8oMzk3OTg3KSldLGNvdW50cnk6W18udChudWxsLHZvaWQgMCxvKDQ0MzYyNykpLF8udChudWxsLHZvaWQgMCxvKDQ0MzYyNykpXSx0eXBlOltfLnQobnVsbCx2b2lkIDAsbygyODcyNDQpKSxfLnQobnVsbCx2b2lkIDAsbygyODcyNDQpKV0sCmFmdGVyX3RheF9tYXJnaW46W18udChudWxsLHZvaWQgMCxvKDE3NTE0MCkpLF8udChudWxsLHZvaWQgMCxvKDE3ODExNCkpXSxhdmVyYWdlX3ZvbHVtZTpbXy50KG51bGwsdm9pZCAwLG8oMjk3OTMwKSksXy50KG51bGwsdm9pZCAwLG8oMjUyNzc4KSldLGF2ZXJhZ2Vfdm9sdW1lXzMwZF9jYWxjOltfLnQobnVsbCx2b2lkIDAsbyg1NjY0MzQpKSxfLnQobnVsbCx2b2lkIDAsbyg0OTU2MzIpKV0sYXZlcmFnZV92b2x1bWVfNjBkX2NhbGM6W18udChudWxsLHZvaWQgMCxvKDk3NzA2MikpLF8udChudWxsLHZvaWQgMCxvKDI2OTE4MSkpXSxhdmVyYWdlX3ZvbHVtZV85MGRfY2FsYzpbXy50KG51bGwsdm9pZCAwLG8oNTcyNTg0KSksXy50KG51bGwsdm9pZCAwLG8oNzk3NjA0KSldLGJhc2ljX2Vwc19uZXRfaW5jb21lOltfLnQobnVsbCx2b2lkIDAsbyg3MTYxMSkpLF8udChudWxsLHZvaWQgMCxvKDMyNzE0OSkpXSxiZXRhXzFfeWVhcjpbXy50KG51bGwsdm9pZCAwLG8oMTg2NzI2KSksXy50KG51bGwsdm9pZCAwLG8oMTgxMjI4KSldLGJldGFfM195ZWFyOltfLnQobnVsbCx2b2lkIDAsbyg4OTcwMDcpKSxfLnQobnVsbCx2b2lkIDAsbyg4NjcwNDApKV0sYmV0YV81X3llYXI6W18udChudWxsLHZvaWQgMCxvKDEyODc5MSkpLF8udChudWxsLHZvaWQgMCxvKDMwMzU3NSkpXSxjYW5kbGVzdGljazpbXy50KG51bGwse2NvbnRleHQ6ImNhbmRsZXN0aWNrX3BhdHRlcm4ifSxvKDc1NDkyNSkpLF8udChudWxsLHtjb250ZXh0OiJjYW5kbGVzdGlja19wYXR0ZXJuIn0sbyg3NTQ5MjUpKV0sY3VycmVudF9yYXRpbzpbXy50KG51bGwsdm9pZCAwLG8oNDYwMTM5KSksXy50KG51bGwsdm9pZCAwLG8oMjQzNTA3KSldLGRlYnRfdG9fYXNzZXRzOltfLnQobnVsbCx2b2lkIDAsbyg1NDczNjIpKSxfLnQobnVsbCx2b2lkIDAsbyg1NDczNjIpKV0sZGVidF90b19lcXVpdHk6W18udChudWxsLHZvaWQgMCxvKDMwNjk2NikpLF8udChudWxsLHZvaWQgMCxvKDIzNzI0MSkpXSxkaXZpZGVuZHNfcGFpZDpbXy50KG51bGwsdm9pZCAwLG8oNTUwMjE2KSksXy50KG51bGwsdm9pZCAwLG8oMTg4MzYyKSldLGRpdmlkZW5kc19wZXJfc2hhcmVfZnE6W18udChudWxsLHZvaWQgMCxvKDI5MjIyMCkpLF8udChudWxsLHZvaWQgMCxvKDExMTgyOSkpXSxkaXZpZGVuZHNfeWllbGQ6W18udChudWxsLHZvaWQgMCxvKDk3NjYwNykpLF8udChudWxsLHZvaWQgMCxvKDQzODgxMCkpXSxkaXZpZGVuZF95aWVsZF9yZWNlbnQ6W18udChudWxsLHZvaWQgMCxvKDk3NjYwNykpLF8udChudWxsLHZvaWQgMCxvKDQzODgxMCkpXSxkcHNfY29tbW9uX3N0b2NrX3ByaW1faXNzdWVfZnk6W18udChudWxsLHZvaWQgMCxvKDI3NDcyOSkpLF8udChudWxsLHZvaWQgMCxvKDExNTMwNCkpXSxlYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtOltfLnQobnVsbCx2b2lkIDAsbygxMDM3OTEpKSxfLnQobnVsbCx2b2lkIDAsbygyNTU4NTcpKV0sZWFybmluZ3NfcGVyX3NoYXJlX2RpbHV0ZWRfdHRtOltfLnQobnVsbCx2b2lkIDAsbyg5ODY1MTYpKSxfLnQobnVsbCx2b2lkIDAsbyg5ODY1MTYpKV0sZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnE6W18udChudWxsLHZvaWQgMCxvKDgwMjU5MCkpLF8udChudWxsLHZvaWQgMCxvKDIwNTU0OCkpXSxlYXJuaW5nc19wZXJfc2hhcmVfZnE6W18udChudWxsLHZvaWQgMCxvKDkzMTA5MykpLF8udChudWxsLHZvaWQgMCxvKDkzMTA5MykpXSxlYXJuaW5nc19yZWxlYXNlX2RhdGU6W18udChudWxsLHZvaWQgMCxvKDUwMjEyOSkpLF8udChudWxsLHZvaWQgMCxvKDUwMjEyOSkpXSxlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZTpbXy50KG51bGwsdm9pZCAwLG8oNzcwNDI0KSksXy50KG51bGwsdm9pZCAwLG8oNzcwNDI0KSldLGViaXRkYTpbXy50KG51bGwsdm9pZCAwLG8oNTQwOTkpKSxfLnQobnVsbCx2b2lkIDAsbyg2OTk3KSldLGVudGVycHJpc2VfdmFsdWVfZWJpdGRhX3R0bTpbXy50KG51bGwsdm9pZCAwLG8oMTExMTI1KSksXy50KG51bGwsdm9pZCAwLG8oNzc2NDY0KSldLGVudGVycHJpc2VfdmFsdWVfZnE6W18udChudWxsLHZvaWQgMCxvKDUzMTI4OCkpLF8udChudWxsLHZvaWQgMCxvKDI2MzIzMCkpXSxleGNoYW5nZTpbXy50KG51bGwsdm9pZCAwLG8oODI2NjA3KSksXy50KG51bGwsdm9pZCAwLG8oODI2NjA3KSldLGZyZWVfY2FzaF9mbG93X21hcmdpbl9meTpbXy50KG51bGwsdm9pZCAwLG8oNTMxMTczKSksXy50KG51bGwsdm9pZCAwLG8oNTMxMTczKSldLGZyZWVfY2FzaF9mbG93X21hcmdpbl90dG06W18udChudWxsLHZvaWQgMCxvKDkyNDU1MykpLF8udChudWxsLHZvaWQgMCxvKDkyNDU1MykpXSxncm9zc19tYXJnaW46W18udChudWxsLHZvaWQgMCxvKDY2MTg5MykpLF8udChudWxsLHZvaWQgMCxvKDM3ODM5OSkpXSxncm9zc19wcm9maXQ6W18udChudWxsLHZvaWQgMCxvKDg3MDI2MikpLF8udChudWxsLHZvaWQgMCxvKDg3MDI2MikpXSxncm9zc19wcm9maXRfZnE6W18udChudWxsLHZvaWQgMCxvKDQyNjY1MikpLF8udChudWxsLHZvaWQgMCxvKDQyNjY1MikpXSxpbmRleDpbXy50KG51bGwsdm9pZCAwLG8oMTIyOTAwKSksXy50KG51bGwsdm9pZCAwLG8oMTIyOTAwKSldLGluZHVzdHJ5OltfLnQobnVsbCx2b2lkIDAsbyg4Nzc2MSkpLF8udChudWxsLHZvaWQgMCxvKDg3NzYxKSldLGxhc3RfYW5udWFsX2VwczpbXy50KG51bGwsdm9pZCAwLG8oMTEyMjc4KSksXy50KG51bGwsdm9pZCAwLG8oMTEyMjc4KSldLGxhc3RfYW5udWFsX3JldmVudWU6W18udChudWxsLHZvaWQgMCxvKDI4NTMzMykpLF8udChudWxsLHZvaWQgMCxvKDgzMTc4MSkpXSxsb25nX3Rlcm1fY2FwaXRhbDpbXy50KG51bGwsdm9pZCAwLG8oNTQ4MzUyKSksXy50KG51bGwsdm9pZCAwLG8oNTQ4MzUyKSldLG1hcmtldF9jYXBfYmFzaWM6W18udChudWxsLHZvaWQgMCxvKDI3ODYxNCkpLF8udChudWxsLHZvaWQgMCxvKDI2NTYyKSldLG1hcmtldF9jYXBfY2FsYzpbXy50KG51bGwsdm9pZCAwLG8oMjc4NjE0KSksXy50KG51bGwsdm9pZCAwLG8oMjY1NjIpKV0sCm1hcmtldF9jYXBfZGlsdXRlZF9jYWxjOltfLnQobnVsbCx2b2lkIDAsbyg2ODczMzIpKSxfLnQobnVsbCx2b2lkIDAsbygyMTQyNzkpKV0sbmV0X2RlYnQ6W18udChudWxsLHZvaWQgMCxvKDUyNjY5OCkpLF8udChudWxsLHZvaWQgMCxvKDg0NTQ5NikpXSxuZXRfaW5jb21lOltfLnQobnVsbCx2b2lkIDAsbygxMzE2MzMpKSxfLnQobnVsbCx2b2lkIDAsbygxODI0MzcpKV0sbnVtYmVyX29mX2VtcGxveWVlczpbXy50KG51bGwsdm9pZCAwLG8oMTY0MDQyKSksXy50KG51bGwsdm9pZCAwLG8oNjc3ODEzKSldLG51bWJlcl9vZl9zaGFyZWhvbGRlcnM6W18udChudWxsLHZvaWQgMCxvKDU3OTQwMykpLF8udChudWxsLHZvaWQgMCxvKDE2MTE1MikpXSxvcGVuX3ByaWNlOltfLnQobnVsbCx2b2lkIDAsbygzMjEwMjkpKSxfLnQobnVsbCx2b2lkIDAsbyg5Nzc4MSkpXSxvcGVyYXRpbmdfbWFyZ2luOltfLnQobnVsbCx2b2lkIDAsbyg4MDA0MzMpKSxfLnQobnVsbCx2b2lkIDAsbygzMzI5OSkpXSxwcmVfdGF4X21hcmdpbjpbXy50KG51bGwsdm9pZCAwLG8oODI2MTE1KSksXy50KG51bGwsdm9pZCAwLG8oNDIzMDUpKV0scHJlZmVycmVkX2RpdmlkZW5kczpbXy50KG51bGwsdm9pZCAwLG8oNDkzMjAwKSksXy50KG51bGwsdm9pZCAwLG8oOTIyNzE0KSldLHByZXZfY2xvc2VfcHJpY2U6W18udChudWxsLHZvaWQgMCxvKDM2NjI0OCkpLF8udChudWxsLHZvaWQgMCxvKDgzMjEyMykpXSxwcmljZV81Ml93ZWVrX2hpZ2g6W18udChudWxsLHZvaWQgMCxvKDE5MzI1OSkpLF8udChudWxsLHZvaWQgMCxvKDkwMDM3NSkpXSxwcmljZV81Ml93ZWVrX2xvdzpbXy50KG51bGwsdm9pZCAwLG8oNjY5MzA4KSksXy50KG51bGwsdm9pZCAwLG8oOTYyNjU0KSldLHByaWNlX2Jvb2tfcmF0aW86W18udChudWxsLHZvaWQgMCxvKDE3MTM5MSkpLF8udChudWxsLHZvaWQgMCxvKDYyMjE1KSldLHByaWNlX2Vhcm5pbmdzX3R0bTpbXy50KG51bGwsdm9pZCAwLG8oOTE3NzE1KSksXy50KG51bGwsdm9pZCAwLG8oMjEzMjQ4KSldLHByaWNlX3BlcmNlbnRfY2hhbmdlXzFfd2VlazpbXy50KG51bGwsdm9pZCAwLG8oOTg0MTQpKSxfLnQobnVsbCx2b2lkIDAsbyg1Mjc0MjgpKV0scHJpY2VfcGVyY2VudF9jaGFuZ2VfNF93ZWVrOltfLnQobnVsbCx2b2lkIDAsbyg2MzYzNTEpKSxfLnQobnVsbCx2b2lkIDAsbygzOTA2NTIpKV0scHJpY2VfcGVyY2VudF9jaGFuZ2VfNTJfd2VlazpbXy50KG51bGwsdm9pZCAwLG8oODM0MTIxKSksXy50KG51bGwsdm9pZCAwLG8oMjM2Nzk4KSldLHByaWNlX3JldmVudWVfdHRtOltfLnQobnVsbCx2b2lkIDAsbygzMTMyNDYpKSxfLnQobnVsbCx2b2lkIDAsbyg2MzE0MTApKV0scHJpY2Vfc2FsZXNfcmF0aW86W18udChudWxsLHZvaWQgMCxvKDgxOTM3MSkpLF8udChudWxsLHZvaWQgMCxvKDI3OTAxMCkpXSxxdWlja19yYXRpbzpbXy50KG51bGwsdm9pZCAwLG8oNDAzMTMxKSksXy50KG51bGwsdm9pZCAwLG8oNTkyOTgxKSldLHJldHVybl9vZl9pbnZlc3RlZF9jYXBpdGFsX3BlcmNlbnRfdHRtOltfLnQobnVsbCx2b2lkIDAsbygxNzg1MTMpKSxfLnQobnVsbCx2b2lkIDAsbygzODk1MjUpKV0scmV0dXJuX29uX2Fzc2V0czpbXy50KG51bGwsdm9pZCAwLG8oMTg1MTAzKSksXy50KG51bGwsdm9pZCAwLG8oNTg5OTY0KSldLHJldHVybl9vbl9lcXVpdHk6W18udChudWxsLHZvaWQgMCxvKDExOTUyMykpLF8udChudWxsLHZvaWQgMCxvKDE3MDk1MikpXSxyZXR1cm5fb25faW52ZXN0ZWRfY2FwaXRhbDpbXy50KG51bGwsdm9pZCAwLG8oODA5NzI2KSksXy50KG51bGwsdm9pZCAwLG8oMzg5NTI1KSldLHJldmVudWVfcGVyX2VtcGxveWVlOltfLnQobnVsbCx2b2lkIDAsbyg5NDIwMjUpKSxfLnQobnVsbCx2b2lkIDAsbyg3OTM3NTApKV0sc2VjdG9yOltfLnQobnVsbCx2b2lkIDAsbygyNzg3MjkpKSxfLnQobnVsbCx2b2lkIDAsbygyNzg3MjkpKV0sc3VibWFya2V0OltfLnQobnVsbCx2b2lkIDAsbygzNzA2ODcpKSxfLnQobnVsbCx2b2lkIDAsbygzNzA2ODcpKV0saXNfcHJpbWFyeTpbXy50KG51bGwsdm9pZCAwLG8oODE4MjczKSksXy50KG51bGwsdm9pZCAwLG8oODE4MjczKSldLGFjdGl2ZV9zeW1ib2w6W18udChudWxsLHZvaWQgMCxvKDQ0OTA2MCkpLF8udChudWxsLHZvaWQgMCxvKDQ0OTA2MCkpXSxlcHNfc3VycHJpc2VfZnE6W18udChudWxsLHZvaWQgMCxvKDI2OTk1NSkpLF8udChudWxsLHZvaWQgMCxvKDI2OTk1NSkpXSxlcHNfc3VycHJpc2VfcGVyY2VudF9mcTpbXy50KG51bGwsdm9pZCAwLG8oNTI0ODE3KSksXy50KG51bGwsdm9pZCAwLG8oNTI0ODE3KSldLHRvdGFsX2Fzc2V0czpbXy50KG51bGwsdm9pZCAwLG8oNDAyMikpLF8udChudWxsLHZvaWQgMCxvKDY2Mzg2MCkpXSx0b3RhbF9jYXBpdGFsOltfLnQobnVsbCx2b2lkIDAsbyg4MTIzMzUpKSxfLnQobnVsbCx2b2lkIDAsbygxNDk1MDMpKV0sdG90YWxfY3VycmVudF9hc3NldHM6W18udChudWxsLHZvaWQgMCxvKDU3OTEwOSkpLF8udChudWxsLHZvaWQgMCxvKDg4NDEyMykpXSx0b3RhbF9kZWJ0OltfLnQobnVsbCx2b2lkIDAsbyg1Njg5MzQpKSxfLnQobnVsbCx2b2lkIDAsbyg0OTUyMTApKV0sdG90YWxfcmV2ZW51ZTpbXy50KG51bGwsdm9pZCAwLG8oNDM2NDc0KSksXy50KG51bGwsdm9pZCAwLG8oNTY4MDkxKSldLHRvdGFsX2xpYWJpbGl0aWVzX2Z5OltfLnQobnVsbCx2b2lkIDAsbyg2MDY5MjApKSxfLnQobnVsbCx2b2lkIDAsbyg4Mjk2NTYpKV0sdG90YWxfbGlhYmlsaXRpZXNfZnE6W18udChudWxsLHZvaWQgMCxvKDMzNDE3MSkpLF8udChudWxsLHZvaWQgMCxvKDE5NDA5MSkpXSx0b3RhbF9zaGFyZXNfb3V0c3RhbmRpbmdfZnVuZGFtZW50YWw6W18udChudWxsLHZvaWQgMCxvKDU0MzA5NSkpLF8udChudWxsLHZvaWQgMCxvKDM3OTkzMikpXSx2b2x1bWU6W18udChudWxsLHZvaWQgMCxvKDI0NzA2MikpLF8udChudWxsLHtjb250ZXh0OiJzdHVkeSJ9LG8oNTk2MTY4KSldLHJlbGF0aXZlX3ZvbHVtZTpbXy50KG51bGwsdm9pZCAwLG8oNzgzMTkzKSksXy50KG51bGwsdm9pZCAwLG8oMjUwNjU0KSldLApyZWxhdGl2ZV92b2x1bWVfYXRfdGltZTpbXy50KG51bGwsdm9pZCAwLG8oMTkzMDY2KSksXy50KG51bGwsdm9pZCAwLG8oNjk5MDkwKSldLGNoYW5nZV9hYnM6W18udChudWxsLHZvaWQgMCxvKDY3MzQ4NykpLF8udChudWxsLHZvaWQgMCxvKDIwNTgzNCkpXSxjaGFuZ2U6W18udChudWxsLHZvaWQgMCxvKDk2OTQ3MikpLF8udChudWxsLHZvaWQgMCxvKDIxMDgxNSkpXSwiY2hhbmdlLjEiOltfLnQobnVsbCx2b2lkIDAsbyg3OTA5NDkpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oNDE1NzUxKSl9KSxfLnQobnVsbCx2b2lkIDAsbyg2MDI2MDEpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oNDE1NzUxKSl9KV0sImNoYW5nZV9hYnMuMSI6W18udChudWxsLHZvaWQgMCxvKDY1NzExNCkpLmZvcm1hdCh7cmVzb2x1dGlvbjpfLnQobnVsbCx2b2lkIDAsbyg0MTU3NTEpKX0pLF8udChudWxsLHZvaWQgMCxvKDI5NTYyMCkpLmZvcm1hdCh7cmVzb2x1dGlvbjpfLnQobnVsbCx2b2lkIDAsbyg0MTU3NTEpKX0pXSwiY2hhbmdlLjUiOltfLnQobnVsbCx2b2lkIDAsbyg3OTA5NDkpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oODAxNDgwKSl9KSxfLnQobnVsbCx2b2lkIDAsbyg2MDI2MDEpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oODAxNDgwKSl9KV0sImNoYW5nZV9hYnMuNSI6W18udChudWxsLHZvaWQgMCxvKDY1NzExNCkpLmZvcm1hdCh7cmVzb2x1dGlvbjpfLnQobnVsbCx2b2lkIDAsbyg4MDE0ODApKX0pLF8udChudWxsLHZvaWQgMCxvKDI5NTYyMCkpLmZvcm1hdCh7cmVzb2x1dGlvbjpfLnQobnVsbCx2b2lkIDAsbyg4MDE0ODApKX0pXSwiY2hhbmdlLjE1IjpbXy50KG51bGwsdm9pZCAwLG8oNzkwOTQ5KSkuZm9ybWF0KHtyZXNvbHV0aW9uOl8udChudWxsLHZvaWQgMCxvKDE3MzI0MCkpfSksXy50KG51bGwsdm9pZCAwLG8oNjAyNjAxKSkuZm9ybWF0KHtyZXNvbHV0aW9uOl8udChudWxsLHZvaWQgMCxvKDE3MzI0MCkpfSldLCJjaGFuZ2VfYWJzLjE1IjpbXy50KG51bGwsdm9pZCAwLG8oNjU3MTE0KSkuZm9ybWF0KHtyZXNvbHV0aW9uOl8udChudWxsLHZvaWQgMCxvKDE3MzI0MCkpfSksXy50KG51bGwsdm9pZCAwLG8oMjk1NjIwKSkuZm9ybWF0KHtyZXNvbHV0aW9uOl8udChudWxsLHZvaWQgMCxvKDE3MzI0MCkpfSldLCJjaGFuZ2UuNjAiOltfLnQobnVsbCx2b2lkIDAsbyg3OTA5NDkpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oMjg5NDY0KSl9KSxfLnQobnVsbCx2b2lkIDAsbyg2MDI2MDEpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oMjg5NDY0KSl9KV0sImNoYW5nZV9hYnMuNjAiOltfLnQobnVsbCx2b2lkIDAsbyg2NTcxMTQpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oMjg5NDY0KSl9KSxfLnQobnVsbCx2b2lkIDAsbygyOTU2MjApKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oMjg5NDY0KSl9KV0sImNoYW5nZS4yNDAiOltfLnQobnVsbCx2b2lkIDAsbyg3OTA5NDkpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oNTUyNzQzKSl9KSxfLnQobnVsbCx2b2lkIDAsbyg2MDI2MDEpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oNTUyNzQzKSl9KV0sImNoYW5nZV9hYnMuMjQwIjpbXy50KG51bGwsdm9pZCAwLG8oNjU3MTE0KSkuZm9ybWF0KHtyZXNvbHV0aW9uOl8udChudWxsLHZvaWQgMCxvKDU1Mjc0MykpfSksXy50KG51bGwsdm9pZCAwLG8oMjk1NjIwKSkuZm9ybWF0KHtyZXNvbHV0aW9uOl8udChudWxsLHZvaWQgMCxvKDU1Mjc0MykpfSldLCJjaGFuZ2UuMVciOltfLnQobnVsbCx2b2lkIDAsbyg3OTA5NDkpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oNDkyMTM1KSl9KSxfLnQobnVsbCx2b2lkIDAsbyg2MDI2MDEpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oNDkyMTM1KSl9KV0sImNoYW5nZV9hYnMuMVciOltfLnQobnVsbCx2b2lkIDAsbyg2NTcxMTQpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oNDkyMTM1KSl9KSxfLnQobnVsbCx2b2lkIDAsbygyOTU2MjApKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oNDkyMTM1KSl9KV0sImNoYW5nZS4xTSI6W18udChudWxsLHZvaWQgMCxvKDc5MDk0OSkpLmZvcm1hdCh7cmVzb2x1dGlvbjpfLnQobnVsbCx2b2lkIDAsbyg4MzI3MzMpKX0pLF8udChudWxsLHZvaWQgMCxvKDYwMjYwMSkpLmZvcm1hdCh7cmVzb2x1dGlvbjpfLnQobnVsbCx2b2lkIDAsbyg4MzI3MzMpKX0pXSwiY2hhbmdlX2Ficy4xTSI6W18udChudWxsLHZvaWQgMCxvKDY1NzExNCkpLmZvcm1hdCh7cmVzb2x1dGlvbjpfLnQobnVsbCx2b2lkIDAsbyg4MzI3MzMpKX0pLF8udChudWxsLHZvaWQgMCxvKDI5NTYyMCkpLmZvcm1hdCh7cmVzb2x1dGlvbjpfLnQobnVsbCx2b2lkIDAsbyg4MzI3MzMpKX0pXSxjdXJyZW5jeTpbXy50KG51bGwsdm9pZCAwLG8oMTkwNjk2KSksXy50KG51bGwsdm9pZCAwLG8oMTkwNjk2KSldLHByZV9jaGFuZ2U6W18udChudWxsLHZvaWQgMCxvKDMyNTcxMykpLF8udChudWxsLHZvaWQgMCxvKDIwODg0NikpXSxwb3N0X2NoYW5nZTpbXy50KG51bGwsdm9pZCAwLG8oMzk5OTY4KSksXy50KG51bGwsdm9pZCAwLG8oNjczNzAzKSldLGJpZDpbXy50KG51bGwsdm9pZCAwLG8oNDI5NTA4KSksXy50KG51bGwsdm9pZCAwLG8oNDI5NTA4KSldLGFzazpbXy50KG51bGwsdm9pZCAwLG8oNjcyNzEwKSksXy50KG51bGwsdm9pZCAwLG8oNjcyNzEwKSldLGNsb3NlOltfLnQobnVsbCx2b2lkIDAsbyg4MjA4NjYpKSxfLnQobnVsbCx2b2lkIDAsbyg4MjA4NjYpKV0sb3BlbjpbXy50KG51bGwsdm9pZCAwLG8oOTc3ODEpKSxfLnQobnVsbCx2b2lkIDAsbyg5Nzc4MSkpXSxoaWdoOltfLnQobnVsbCx2b2lkIDAsbyg4NDU1NjMpKSxfLnQobnVsbCx2b2lkIDAsbyg4NDU1NjMpKV0sCmxvdzpbXy50KG51bGwsdm9pZCAwLG8oODg4Njc4KSksXy50KG51bGwsdm9pZCAwLG8oODg4Njc4KSldLGdhcDpbXy50KG51bGwsdm9pZCAwLG8oOTMwMDY5KSksXy50KG51bGwsdm9pZCAwLG8oOTMwMDY5KSldLHByaWNlX2Vhcm5pbmdzX3RvX2dyb3d0aF90dG06W18udChudWxsLHZvaWQgMCxvKDQyNDU0NSkpLF8udChudWxsLHZvaWQgMCxvKDEyMTk2OSkpXSxwcmljZV9zYWxlczpbXy50KG51bGwsdm9pZCAwLG8oMjYzMzM1KSksXy50KG51bGwsdm9pZCAwLG8oMjYzMzM1KSldLHByaWNlX2Jvb2tfZnE6W18udChudWxsLHZvaWQgMCxvKDc5NzQ1MCkpLF8udChudWxsLHZvaWQgMCxvKDYxMTQ1OSkpXSxwcmljZV9mcmVlX2Nhc2hfZmxvd190dG06W18udChudWxsLHZvaWQgMCxvKDMwNjM1NikpLF8udChudWxsLHZvaWQgMCxvKDgxNjk0NCkpXSxmbG9hdF9zaGFyZXNfb3V0c3RhbmRpbmc6W18udChudWxsLHZvaWQgMCxvKDE4ODU3NykpLF8udChudWxsLHZvaWQgMCxvKDcyMzA4OCkpXSxmcmVlX2Nhc2hfZmxvdzpbXy50KG51bGwsdm9pZCAwLG8oMTY3Njg4KSksXy50KG51bGwsdm9pZCAwLG8oMTQ0NjMpKV0sdG90YWxfc2hhcmVzX291dHN0YW5kaW5nOltfLnQobnVsbCx2b2lkIDAsbyg2MDUxNTkpKSxfLnQobnVsbCx2b2lkIDAsbyg2MDUxNTkpKV0sdG90YWxfc2hhcmVzX2RpbHV0ZWQ6W18udChudWxsLHZvaWQgMCxvKDU0MzUzMikpLF8udChudWxsLHZvaWQgMCxvKDU0MzUzMikpXSx0b3RhbF92YWx1ZV90cmFkZWQ6W18udChudWxsLHZvaWQgMCxvKDUwOTY3OSkpLF8udChudWxsLHZvaWQgMCxvKDIzNDA3MSkpXSxjaGFuZ2VfZnJvbV9vcGVuOltfLnQobnVsbCx2b2lkIDAsbyg5MzYwMzQpKSxfLnQobnVsbCx2b2lkIDAsbyg4NTM4OTUpKV0sY2hhbmdlX2Zyb21fb3Blbl9hYnM6W18udChudWxsLHZvaWQgMCxvKDM4Mjc1MSkpLF8udChudWxsLHZvaWQgMCxvKDYzMzQ1NCkpXSwiUGVyZi5XIjpbXy50KG51bGwsdm9pZCAwLG8oODQ2NjE0KSksXy50KG51bGwsdm9pZCAwLG8oNzgxOTkzKSldLCJQZXJmLjFNIjpbXy50KG51bGwsdm9pZCAwLG8oODIyODc1KSksXy50KG51bGwsdm9pZCAwLG8oNDY3OTgyKSldLCJQZXJmLjNNIjpbXy50KG51bGwsdm9pZCAwLG8oNjY0MjQyKSksXy50KG51bGwsdm9pZCAwLG8oNzc5MDgzKSldLCJQZXJmLjZNIjpbXy50KG51bGwsdm9pZCAwLG8oOTYwNjYzKSksXy50KG51bGwsdm9pZCAwLG8oNzY4Nzg2KSldLCJQZXJmLlkiOltfLnQobnVsbCx2b2lkIDAsbygxMjk4MDkpKSxfLnQobnVsbCx2b2lkIDAsbygxODM1NjQpKV0sIlBlcmYuWVREIjpbXy50KG51bGwsdm9pZCAwLG8oODUzMTAwKSksXy50KG51bGwsdm9pZCAwLG8oNjQ3NDcxKSldLCJQZXJmLjVZIjpbXy50KG51bGwsdm9pZCAwLG8oOTM1ODE5KSksXy50KG51bGwsdm9pZCAwLG8oNDkwNTc3KSldLCJQZXJmLkFsbCI6W18udChudWxsLHZvaWQgMCxvKDQ4NjMwMikpLF8udChudWxsLHZvaWQgMCxvKDgxNTQpKV0sIlZvbGF0aWxpdHkuVyI6W18udChudWxsLHZvaWQgMCxvKDE2MjI2NSkpLF8udChudWxsLHZvaWQgMCxvKDExMTU0OCkpXSwiVm9sYXRpbGl0eS5NIjpbXy50KG51bGwsdm9pZCAwLG8oNTYzMzYzKSksXy50KG51bGwsdm9pZCAwLG8oOTI5NTk0KSldLCJWb2xhdGlsaXR5LkQiOltfLnQobnVsbCx2b2lkIDAsbygzMzgzOTIpKSxfLnQobnVsbCx2b2lkIDAsbygzMzgzOTIpKV0sUlNJOltfLnQobnVsbCx2b2lkIDAsbyg4MTM0MzIpKSxfLnQobnVsbCx2b2lkIDAsbyg0OTY2NzQpKV0sUlNJNzpbXy50KG51bGwsdm9pZCAwLG8oNDIzNDYpKSxfLnQobnVsbCx2b2lkIDAsbyg1Mjg2NTkpKV0sQURYOltfLnQobnVsbCx2b2lkIDAsbyg1NzgxOTgpKSxfLnQobnVsbCx2b2lkIDAsbyg4MDMwMjQpKV0sIkFEWCtESSI6W18udChudWxsLHZvaWQgMCxvKDc2NzgyNSkpLF8udChudWxsLHtjb250ZXh0OiJQb3NpdGl2ZV9EaXJlY3Rpb25hbF9JbmRpY2F0b3Jfc2hvcnRfdGl0bGUifSxvKDgxOTA0MikpXSwiQURYLURJIjpbXy50KG51bGwsdm9pZCAwLG8oMTc0MzA5KSksXy50KG51bGwse2NvbnRleHQ6Ik5lZ2F0aXZlX0RpcmVjdGlvbmFsX0luZGljYXRvcl9zaG9ydF90aXRsZSJ9LG8oMjc0ODc0KSldLEFUUjpbXy50KG51bGwsdm9pZCAwLG8oMzE1NDYyKSksXy50KG51bGwsdm9pZCAwLG8oOTYwMDY5KSldLE1vbTpbXy50KG51bGwsdm9pZCAwLG8oNTMxNTAyKSksXy50KG51bGwsdm9pZCAwLG8oNDI1MzAxKSldLCJIaWdoLkFsbCI6W18udChudWxsLHZvaWQgMCxvKDkzMDU3OCkpLF8udChudWxsLHZvaWQgMCxvKDkzMDU3OCkpXSwiTG93LkFsbCI6W18udChudWxsLHZvaWQgMCxvKDI1MzQ3MSkpLF8udChudWxsLHZvaWQgMCxvKDI1MzQ3MSkpXSwiSGlnaC42TSI6W18udChudWxsLHZvaWQgMCxvKDk3ODc2MCkpLF8udChudWxsLHZvaWQgMCxvKDk3ODc2MCkpXSwiTG93LjZNIjpbXy50KG51bGwsdm9pZCAwLG8oNjAzNTA5KSksXy50KG51bGwsdm9pZCAwLG8oNjAzNTA5KSldLCJIaWdoLjNNIjpbXy50KG51bGwsdm9pZCAwLG8oOTkwNzcpKSxfLnQobnVsbCx2b2lkIDAsbyg5OTA3NykpXSwiTG93LjNNIjpbXy50KG51bGwsdm9pZCAwLG8oODg2OTE4KSksXy50KG51bGwsdm9pZCAwLG8oODg2OTE4KSldLCJIaWdoLjFNIjpbXy50KG51bGwsdm9pZCAwLG8oMTYxNTgzKSksXy50KG51bGwsdm9pZCAwLG8oMTYxNTgzKSldLCJMb3cuMU0iOltfLnQobnVsbCx2b2lkIDAsbygyMDA5MjApKSxfLnQobnVsbCx2b2lkIDAsbygyMDA5MjApKV0sRU1BNTpbXy50KG51bGwsdm9pZCAwLG8oNjM0NTA2KSkuZm9ybWF0KHtudW1iZXI6IjUifSksXy50KG51bGwsdm9pZCAwLG8oNTExODQ0KSldLEVNQTEwOltfLnQobnVsbCx2b2lkIDAsbyg2MzQ1MDYpKS5mb3JtYXQoe251bWJlcjoiMTAifSksXy50KG51bGwsdm9pZCAwLG8oMTA3OTA1KSldLEVNQTIwOltfLnQobnVsbCx2b2lkIDAsbyg2MzQ1MDYpKS5mb3JtYXQoe251bWJlcjoiMjAifSksXy50KG51bGwsdm9pZCAwLG8oMTQzNjMpKV0sRU1BMzA6W18udChudWxsLHZvaWQgMCxvKDYzNDUwNikpLmZvcm1hdCh7bnVtYmVyOiIzMCIKfSksXy50KG51bGwsdm9pZCAwLG8oOTU0ODU5KSldLEVNQTUwOltfLnQobnVsbCx2b2lkIDAsbyg2MzQ1MDYpKS5mb3JtYXQoe251bWJlcjoiNTAifSksXy50KG51bGwsdm9pZCAwLG8oNTM4MDE4KSldLEVNQTEwMDpbXy50KG51bGwsdm9pZCAwLG8oNjM0NTA2KSkuZm9ybWF0KHtudW1iZXI6IjEwMCJ9KSxfLnQobnVsbCx2b2lkIDAsbyg2NDk2NDQpKV0sRU1BMjAwOltfLnQobnVsbCx2b2lkIDAsbyg2MzQ1MDYpKS5mb3JtYXQoe251bWJlcjoiMjAwIn0pLF8udChudWxsLHZvaWQgMCxvKDYwNTQzOCkpXSxTTUE1OltfLnQobnVsbCx2b2lkIDAsbyg0ODY1NzIpKS5mb3JtYXQoe251bWJlcjoiNSJ9KSxfLnQobnVsbCx2b2lkIDAsbyg2NTk1NjApKV0sU01BMTA6W18udChudWxsLHZvaWQgMCxvKDQ4NjU3MikpLmZvcm1hdCh7bnVtYmVyOiIxMCJ9KSxfLnQobnVsbCx2b2lkIDAsbygxMzQwODUpKV0sU01BMjA6W18udChudWxsLHZvaWQgMCxvKDQ4NjU3MikpLmZvcm1hdCh7bnVtYmVyOiIyMCJ9KSxfLnQobnVsbCx2b2lkIDAsbygzOTgwMzkpKV0sU01BMzA6W18udChudWxsLHZvaWQgMCxvKDQ4NjU3MikpLmZvcm1hdCh7bnVtYmVyOiIzMCJ9KSxfLnQobnVsbCx2b2lkIDAsbyg0NTc1NDMpKV0sU01BNTA6W18udChudWxsLHZvaWQgMCxvKDQ4NjU3MikpLmZvcm1hdCh7bnVtYmVyOiI1MCJ9KSxfLnQobnVsbCx2b2lkIDAsbyg1NTY0ODYpKV0sU01BMTAwOltfLnQobnVsbCx2b2lkIDAsbyg0ODY1NzIpKS5mb3JtYXQoe251bWJlcjoiMTAwIn0pLF8udChudWxsLHZvaWQgMCxvKDMyODc4NCkpXSxTTUEyMDA6W18udChudWxsLHZvaWQgMCxvKDQ4NjU3MikpLmZvcm1hdCh7bnVtYmVyOiIyMDAifSksXy50KG51bGwsdm9pZCAwLG8oNjgwNzQpKV0sIlN0b2NoLksiOltfLnQobnVsbCx2b2lkIDAsbygyMjA3MjUpKSxfLnQobnVsbCx2b2lkIDAsbyg1NTc4MDApKV0sIlN0b2NoLkQiOltfLnQobnVsbCx2b2lkIDAsbygzMTc4MzIpKSxfLnQobnVsbCx2b2lkIDAsbyg0MDYyOTgpKV0sIk1BQ0QubWFjZCI6W18udChudWxsLHZvaWQgMCxvKDI0NzU2MCkpLF8udChudWxsLHZvaWQgMCxvKDk0MDk0MykpXSwiTUFDRC5zaWduYWwiOltfLnQobnVsbCx2b2lkIDAsbyg5NTA2NjIpKSxfLnQobnVsbCx2b2lkIDAsbygzMjc5MTEpKV0sIkFyb29uLlVwIjpbXy50KG51bGwsdm9pZCAwLG8oNDczODUpKSxfLnQobnVsbCx2b2lkIDAsbygxNTgzOTYpKV0sIkFyb29uLkRvd24iOltfLnQobnVsbCx2b2lkIDAsbygyMTM3MDMpKSxfLnQobnVsbCx2b2lkIDAsbyg3NjU3NjUpKV0sIkJCLnVwcGVyIjpbXy50KG51bGwsdm9pZCAwLG8oOTk1NjMxKSksXy50KG51bGwsdm9pZCAwLG8oOTEzOTkyKSldLCJCQi5sb3dlciI6W18udChudWxsLHZvaWQgMCxvKDE5NjY5MSkpLF8udChudWxsLHZvaWQgMCxvKDQzMDUzMCkpXSxnb29kd2lsbDpbXy50KG51bGwsdm9pZCAwLG8oNzczOTI2KSksXy50KG51bGwsdm9pZCAwLG8oNzczOTI2KSldLGRlYnRfdG9fZXF1aXR5X2ZxOltfLnQobnVsbCx2b2lkIDAsbygzMTUwOTIpKSxfLnQobnVsbCx2b2lkIDAsbygyNTk2NSkpXSxDQ0kyMDpbXy50KG51bGwsdm9pZCAwLG8oNjE3NDI3KSksXy50KG51bGwsdm9pZCAwLG8oNzUzMTYpKV0sIkRvbmNoQ2gyMC5VcHBlciI6W18udChudWxsLHZvaWQgMCxvKDM3ODAyNCkpLF8udChudWxsLHZvaWQgMCxvKDYxNzQ2OCkpXSwiRG9uY2hDaDIwLkxvd2VyIjpbXy50KG51bGwsdm9pZCAwLG8oNjA4NjU2KSksXy50KG51bGwsdm9pZCAwLG8oMzUxOTYzKSldLEh1bGxNQTk6W18udChudWxsLHZvaWQgMCxvKDc2MDcxOSkpLF8udChudWxsLHZvaWQgMCxvKDczOTIwMykpXSxBTzpbXy50KG51bGwsdm9pZCAwLG8oMzQ0NTUyKSksXy50KG51bGwsdm9pZCAwLG8oNzk5NTUzKSldLCJQaXZvdC5NLkNsYXNzaWMuUzMiOltfLnQobnVsbCx2b2lkIDAsbygxMzA0NjcpKSxfLnQobnVsbCx2b2lkIDAsbyg4NjA4NTMpKV0sIlBpdm90Lk0uQ2xhc3NpYy5TMiI6W18udChudWxsLHZvaWQgMCxvKDUxOTAyNykpLF8udChudWxsLHZvaWQgMCxvKDQ0MTg0MSkpXSwiUGl2b3QuTS5DbGFzc2ljLlMxIjpbXy50KG51bGwsdm9pZCAwLG8oNDk1MzE3KSksXy50KG51bGwsdm9pZCAwLG8oMjI4MjkpKV0sIlBpdm90Lk0uQ2xhc3NpYy5NaWRkbGUiOltfLnQobnVsbCx2b2lkIDAsbyg1NjU1MjYpKSxfLnQobnVsbCx2b2lkIDAsbyg3MzY2MjcpKV0sIlBpdm90Lk0uQ2xhc3NpYy5SMSI6W18udChudWxsLHZvaWQgMCxvKDYyMjgzNCkpLF8udChudWxsLHZvaWQgMCxvKDEyMzgwNSkpXSwiUGl2b3QuTS5DbGFzc2ljLlIyIjpbXy50KG51bGwsdm9pZCAwLG8oNTE3MzAwKSksXy50KG51bGwsdm9pZCAwLG8oNTk0NDAxKSldLCJQaXZvdC5NLkNsYXNzaWMuUjMiOltfLnQobnVsbCx2b2lkIDAsbyg3NzE1NikpLF8udChudWxsLHZvaWQgMCxvKDEzNDEzKSldLCJQaXZvdC5NLkZpYm9uYWNjaS5TMyI6W18udChudWxsLHZvaWQgMCxvKDcxMjU3NikpLF8udChudWxsLHZvaWQgMCxvKDg2MDg1MykpXSwiUGl2b3QuTS5GaWJvbmFjY2kuUzIiOltfLnQobnVsbCx2b2lkIDAsbygyMDI1ODcpKSxfLnQobnVsbCx2b2lkIDAsbyg0NDE4NDEpKV0sIlBpdm90Lk0uRmlib25hY2NpLlMxIjpbXy50KG51bGwsdm9pZCAwLG8oMzg5Nzc4KSksXy50KG51bGwsdm9pZCAwLG8oMjI4MjkpKV0sIlBpdm90Lk0uRmlib25hY2NpLk1pZGRsZSI6W18udChudWxsLHZvaWQgMCxvKDg4NTYzNCkpLF8udChudWxsLHZvaWQgMCxvKDczNjYyNykpXSwiUGl2b3QuTS5GaWJvbmFjY2kuUjEiOltfLnQobnVsbCx2b2lkIDAsbygzNzQ0MDYpKSxfLnQobnVsbCx2b2lkIDAsbygxMjM4MDUpKV0sIlBpdm90Lk0uRmlib25hY2NpLlIyIjpbXy50KG51bGwsdm9pZCAwLG8oMTg3MjE1KSksXy50KG51bGwsdm9pZCAwLG8oNTk0NDAxKSldLCJQaXZvdC5NLkZpYm9uYWNjaS5SMyI6W18udChudWxsLHZvaWQgMCxvKDU4MTAxMikpLF8udChudWxsLHZvaWQgMCxvKDEzNDEzKSldLCJQaXZvdC5NLkNhbWFyaWxsYS5TMyI6W18udChudWxsLHZvaWQgMCxvKDk0Mjk3NykpLF8udChudWxsLHZvaWQgMCxvKDg2MDg1MykpXSwKIlBpdm90Lk0uQ2FtYXJpbGxhLlMyIjpbXy50KG51bGwsdm9pZCAwLG8oNzU1Nzg2KSksXy50KG51bGwsdm9pZCAwLG8oNDQxODQxKSldLCJQaXZvdC5NLkNhbWFyaWxsYS5TMSI6W18udChudWxsLHZvaWQgMCxvKDczNjM3MSkpLF8udChudWxsLHZvaWQgMCxvKDIyODI5KSldLCJQaXZvdC5NLkNhbWFyaWxsYS5NaWRkbGUiOltfLnQobnVsbCx2b2lkIDAsbyg4NzQ0NjkpKSxfLnQobnVsbCx2b2lkIDAsbyg3MzY2MjcpKV0sIlBpdm90Lk0uQ2FtYXJpbGxhLlIxIjpbXy50KG51bGwsdm9pZCAwLG8oOTM5ODg3KSksXy50KG51bGwsdm9pZCAwLG8oMTIzODA1KSldLCJQaXZvdC5NLkNhbWFyaWxsYS5SMiI6W18udChudWxsLHZvaWQgMCxvKDc1NDk0KSksXy50KG51bGwsdm9pZCAwLG8oNTk0NDAxKSldLCJQaXZvdC5NLkNhbWFyaWxsYS5SMyI6W18udChudWxsLHZvaWQgMCxvKDE0NjQ5MykpLF8udChudWxsLHZvaWQgMCxvKDEzNDEzKSldLCJQaXZvdC5NLldvb2RpZS5TMyI6W18udChudWxsLHZvaWQgMCxvKDMxOTEwNikpLF8udChudWxsLHZvaWQgMCxvKDg2MDg1MykpXSwiUGl2b3QuTS5Xb29kaWUuUzIiOltfLnQobnVsbCx2b2lkIDAsbyg5MzgzNjEpKSxfLnQobnVsbCx2b2lkIDAsbyg0NDE4NDEpKV0sIlBpdm90Lk0uV29vZGllLlMxIjpbXy50KG51bGwsdm9pZCAwLG8oMTI1NTUyKSksXy50KG51bGwsdm9pZCAwLG8oMjI4MjkpKV0sIlBpdm90Lk0uV29vZGllLk1pZGRsZSI6W18udChudWxsLHZvaWQgMCxvKDE1OTA5MikpLF8udChudWxsLHZvaWQgMCxvKDczNjYyNykpXSwiUGl2b3QuTS5Xb29kaWUuUjEiOltfLnQobnVsbCx2b2lkIDAsbygyNjg3MTYpKSxfLnQobnVsbCx2b2lkIDAsbygxMjM4MDUpKV0sIlBpdm90Lk0uV29vZGllLlIyIjpbXy50KG51bGwsdm9pZCAwLG8oODE1MjUpKSxfLnQobnVsbCx2b2lkIDAsbyg1OTQ0MDEpKV0sIlBpdm90Lk0uV29vZGllLlIzIjpbXy50KG51bGwsdm9pZCAwLG8oODk0MzM0KSksXy50KG51bGwsdm9pZCAwLG8oMTM0MTMpKV0sIlBpdm90Lk0uRGVtYXJrLlMxIjpbXy50KG51bGwsdm9pZCAwLG8oODgxNzIwKSksXy50KG51bGwsdm9pZCAwLG8oMjI4MjkpKV0sIlBpdm90Lk0uRGVtYXJrLk1pZGRsZSI6W18udChudWxsLHZvaWQgMCxvKDQ5MTU0MCkpLF8udChudWxsLHZvaWQgMCxvKDczNjYyNykpXSwiUGl2b3QuTS5EZW1hcmsuUjEiOltfLnQobnVsbCx2b2lkIDAsbyg5NDEyMjQpKSxfLnQobnVsbCx2b2lkIDAsbygxMjM4MDUpKV0sIktsdENobmwudXBwZXIiOltfLnQobnVsbCx2b2lkIDAsbygzMDU4ODUpKSxfLnQobnVsbCx2b2lkIDAsbygyNDA3MTUpKV0sIktsdENobmwubG93ZXIiOltfLnQobnVsbCx2b2lkIDAsbyg2Nzk1NDYpKSxfLnQobnVsbCx2b2lkIDAsbygyNTc3NjApKV0sIlAuU0FSIjpbXy50KG51bGwsdm9pZCAwLG8oOTQxMDI4KSksXy50KG51bGwsdm9pZCAwLG8oMTE0MDk5KSldLCJWYWx1ZS5UcmFkZWQiOltfLnQobnVsbCx2b2lkIDAsbyg2OTAyMDYpKSxfLnQobnVsbCx2b2lkIDAsbyg2OTAyMDYpKV0sTW9uZXlGbG93OltfLnQobnVsbCx2b2lkIDAsbygxNzgwOTYpKSxfLnQobnVsbCx7Y29udGV4dDoiTW9uZXlfRmxvd19zaG9ydF90aXRsZSJ9LG8oOTQ5NzA0KSldLENoYWlraW5Nb25leUZsb3c6W18udChudWxsLHZvaWQgMCxvKDI1ODE0MykpLF8udChudWxsLHtjb250ZXh0OiJDaGFpa2luX01vbmV5X0Zsb3dfc2hvcnRfdGl0bGUifSxvKDE2MDU2MikpXSwiUmVjb21tZW5kLkFsbCI6W18udChudWxsLHZvaWQgMCxvKDU2OTU5NSkpLF8udChudWxsLHZvaWQgMCxvKDU2OTU5NSkpXSwiUmVjb21tZW5kLk1BIjpbXy50KG51bGwsdm9pZCAwLG8oMjAwNDUyKSksXy50KG51bGwsdm9pZCAwLG8oMjAwNDUyKSldLCJSZWNvbW1lbmQuT3RoZXIiOltfLnQobnVsbCx2b2lkIDAsbyg1NDA0NDApKSxfLnQobnVsbCx2b2lkIDAsbyg1NDA0NDApKV0sIlN0b2NoLlJTSS5LIjpbXy50KG51bGwsdm9pZCAwLG8oNTg1Njg5KSksXy50KG51bGwsdm9pZCAwLG8oNzAwNjA4KSldLCJTdG9jaC5SU0kuRCI6W18udChudWxsLHZvaWQgMCxvKDExMzczMSkpLF8udChudWxsLHZvaWQgMCxvKDYzOTU5NSkpXSwiVy5SIjpbXy50KG51bGwsdm9pZCAwLG8oMjYwOTEwKSksXy50KG51bGwsdm9pZCAwLG8oNTM5MjM4KSldLFJPQzpbXy50KG51bGwsdm9pZCAwLG8oODAyMDg4KSksXy50KG51bGwsdm9pZCAwLG8oODQ4MTU0KSldLEJCUG93ZXI6W18udChudWxsLHtjb250ZXh0OiJzdHVkeSJ9LG8oMjQ4Nzg1KSksXy50KG51bGwsdm9pZCAwLG8oOTQ5ODI1KSldLFVPOltfLnQobnVsbCx2b2lkIDAsbyg5OTk5NjEpKSxfLnQobnVsbCx2b2lkIDAsbyg4OTU3NzQpKV0sIkljaGltb2t1LkNMaW5lIjpbXy50KG51bGwsdm9pZCAwLG8oOTI2NCkpLF8udChudWxsLHZvaWQgMCxvKDcwMjk0NikpXSwiSWNoaW1va3UuQkxpbmUiOltfLnQobnVsbCx2b2lkIDAsbyg0OTA3MjgpKSxfLnQobnVsbCx2b2lkIDAsbyg3NTI5MzQpKV0sIkljaGltb2t1LkxlYWQxIjpbXy50KG51bGwsdm9pZCAwLG8oMjk3MzEwKSksXy50KG51bGwsdm9pZCAwLG8oMzEwMTc3KSldLCJJY2hpbW9rdS5MZWFkMiI6W18udChudWxsLHZvaWQgMCxvKDcwNjU2MikpLF8udChudWxsLHZvaWQgMCxvKDgzOTU4MSkpXSxWV0FQOltfLnQobnVsbCx7Y29udGV4dDoic3R1ZHkifSxvKDg2ODQxOSkpLF8udChudWxsLHZvaWQgMCxvKDI1MTE2NykpXSxWV01BOltfLnQobnVsbCx2b2lkIDAsbyg1NDMzOTEpKSxfLnQobnVsbCx2b2lkIDAsbygzMzk0MDcpKV0sQURSOltfLnQobnVsbCx2b2lkIDAsbygzMjMzOTIpKSxfLnQobnVsbCx2b2lkIDAsbygxNTA0NzQpKV0sIjI0aF92b2x8NSI6W18udChudWxsLHZvaWQgMCxvKDU1NzkzMykpLF8udChudWxsLHZvaWQgMCxvKDIzNDA3NykpXSwiMjRoX3ZvbF9jaGFuZ2V8NSI6W18udChudWxsLHZvaWQgMCxvKDcxMTE4OCkpLF8udChudWxsLHZvaWQgMCxvKDM1MjQ1NykpXSx0b3RhbF9yZXZlbnVlX3lveV9ncm93dGhfZnE6W18udChudWxsLHZvaWQgMCxvKDgwMzI4MSkpLF8udChudWxsLHZvaWQgMCxvKDgwMzI4MSkpXSwKdG90YWxfcmV2ZW51ZV9xb3FfZ3Jvd3RoX2ZxOltfLnQobnVsbCx2b2lkIDAsbyg0ODI1NTMpKSxfLnQobnVsbCx2b2lkIDAsbyg0ODI1NTMpKV0sdG90YWxfcmV2ZW51ZV95b3lfZ3Jvd3RoX2Z5OltfLnQobnVsbCx2b2lkIDAsbygxMjgzNzYpKSxfLnQobnVsbCx2b2lkIDAsbygxMjgzNzYpKV0sdG90YWxfcmV2ZW51ZV95b3lfZ3Jvd3RoX3R0bTpbXy50KG51bGwsdm9pZCAwLG8oNzQwOTI4KSksXy50KG51bGwsdm9pZCAwLG8oNzQwOTI4KSldLGdyb3NzX3Byb2ZpdF95b3lfZ3Jvd3RoX2ZxOltfLnQobnVsbCx2b2lkIDAsbygxMDc5MDQpKSxfLnQobnVsbCx2b2lkIDAsbygxMDc5MDQpKV0sZ3Jvc3NfcHJvZml0X3FvcV9ncm93dGhfZnE6W18udChudWxsLHZvaWQgMCxvKDE5MTU3NCkpLF8udChudWxsLHZvaWQgMCxvKDE5MTU3NCkpXSxncm9zc19wcm9maXRfeW95X2dyb3d0aF9meTpbXy50KG51bGwsdm9pZCAwLG8oMzU2MTI1KSksXy50KG51bGwsdm9pZCAwLG8oMzU2MTI1KSldLGdyb3NzX3Byb2ZpdF95b3lfZ3Jvd3RoX3R0bTpbXy50KG51bGwsdm9pZCAwLG8oNzYxMzA1KSksXy50KG51bGwsdm9pZCAwLG8oNzYxMzA1KSldLGViaXRkYV95b3lfZ3Jvd3RoX2ZxOltfLnQobnVsbCx2b2lkIDAsbyg1Mzk3MDUpKSxfLnQobnVsbCx2b2lkIDAsbyg1Mzk3MDUpKV0sZWJpdGRhX3FvcV9ncm93dGhfZnE6W18udChudWxsLHZvaWQgMCxvKDc0NjIzKSksXy50KG51bGwsdm9pZCAwLG8oNzQ2MjMpKV0sZWJpdGRhX3lveV9ncm93dGhfZnk6W18udChudWxsLHZvaWQgMCxvKDk4NjI5MikpLF8udChudWxsLHZvaWQgMCxvKDk4NjI5MikpXSxlYml0ZGFfeW95X2dyb3d0aF90dG06W18udChudWxsLHZvaWQgMCxvKDgzNDY2OCkpLF8udChudWxsLHZvaWQgMCxvKDgzNDY2OCkpXSxuZXRfaW5jb21lX3lveV9ncm93dGhfZnE6W18udChudWxsLHZvaWQgMCxvKDg1MzM0NikpLF8udChudWxsLHZvaWQgMCxvKDg1MzM0NikpXSxuZXRfaW5jb21lX3FvcV9ncm93dGhfZnE6W18udChudWxsLHZvaWQgMCxvKDE0ODU3MCkpLF8udChudWxsLHZvaWQgMCxvKDE0ODU3MCkpXSxuZXRfaW5jb21lX3lveV9ncm93dGhfZnk6W18udChudWxsLHZvaWQgMCxvKDk4MzY3MSkpLF8udChudWxsLHZvaWQgMCxvKDk4MzY3MSkpXSxuZXRfaW5jb21lX3lveV9ncm93dGhfdHRtOltfLnQobnVsbCx2b2lkIDAsbyg3ODkwNykpLF8udChudWxsLHZvaWQgMCxvKDc4OTA3KSldLGZyZWVfY2FzaF9mbG93X3lveV9ncm93dGhfZnE6W18udChudWxsLHZvaWQgMCxvKDI2NTA2KSksXy50KG51bGwsdm9pZCAwLG8oMjY1MDYpKV0sZnJlZV9jYXNoX2Zsb3dfcW9xX2dyb3d0aF9mcTpbXy50KG51bGwsdm9pZCAwLG8oMzQ0MzYpKSxfLnQobnVsbCx2b2lkIDAsbygzNDQzNikpXSxmcmVlX2Nhc2hfZmxvd195b3lfZ3Jvd3RoX2Z5OltfLnQobnVsbCx2b2lkIDAsbyg2MDc1NjApKSxfLnQobnVsbCx2b2lkIDAsbyg2MDc1NjApKV0sZnJlZV9jYXNoX2Zsb3dfeW95X2dyb3d0aF90dG06W18udChudWxsLHZvaWQgMCxvKDc4NTcxKSksXy50KG51bGwsdm9pZCAwLG8oNzg1NzEpKV0sZWFybmluZ3NfcGVyX3NoYXJlX2RpbHV0ZWRfeW95X2dyb3d0aF9mcTpbXy50KG51bGwsdm9pZCAwLG8oODIyNzgyKSksXy50KG51bGwsdm9pZCAwLG8oODIyNzgyKSldLGVhcm5pbmdzX3Blcl9zaGFyZV9kaWx1dGVkX3FvcV9ncm93dGhfZnE6W18udChudWxsLHZvaWQgMCxvKDk2NjI1NikpLF8udChudWxsLHZvaWQgMCxvKDk2NjI1NikpXSxlYXJuaW5nc19wZXJfc2hhcmVfZGlsdXRlZF95b3lfZ3Jvd3RoX2Z5OltfLnQobnVsbCx2b2lkIDAsbyg1Mjg5NzIpKSxfLnQobnVsbCx2b2lkIDAsbyg1Mjg5NzIpKV0sZWFybmluZ3NfcGVyX3NoYXJlX2RpbHV0ZWRfeW95X2dyb3d0aF90dG06W18udChudWxsLHZvaWQgMCxvKDQwNjg2MykpLF8udChudWxsLHZvaWQgMCxvKDQwNjg2MykpXSxkcHNfY29tbW9uX3N0b2NrX3ByaW1faXNzdWVfeW95X2dyb3d0aF9meTpbXy50KG51bGwsdm9pZCAwLG8oNTU3OTQxKSksXy50KG51bGwsdm9pZCAwLG8oNTU3OTQxKSldLHRvdGFsX2Fzc2V0c195b3lfZ3Jvd3RoX2ZxOltfLnQobnVsbCx2b2lkIDAsbyg1NDgzNDIpKSxfLnQobnVsbCx2b2lkIDAsbyg1NDgzNDIpKV0sdG90YWxfYXNzZXRzX3FvcV9ncm93dGhfZnE6W18udChudWxsLHZvaWQgMCxvKDk3MzYwKSksXy50KG51bGwsdm9pZCAwLG8oOTczNjApKV0sdG90YWxfYXNzZXRzX3lveV9ncm93dGhfZnk6W18udChudWxsLHZvaWQgMCxvKDQwMzY0NykpLF8udChudWxsLHZvaWQgMCxvKDQwMzY0NykpXSx0b3RhbF9kZWJ0X3lveV9ncm93dGhfZnE6W18udChudWxsLHZvaWQgMCxvKDY3NTEwOCkpLF8udChudWxsLHZvaWQgMCxvKDY3NTEwOCkpXSx0b3RhbF9kZWJ0X3FvcV9ncm93dGhfZnE6W18udChudWxsLHZvaWQgMCxvKDc5MzAzNikpLF8udChudWxsLHZvaWQgMCxvKDc5MzAzNikpXSx0b3RhbF9kZWJ0X3lveV9ncm93dGhfZnk6W18udChudWxsLHZvaWQgMCxvKDYyMzgzNykpLF8udChudWxsLHZvaWQgMCxvKDYyMzgzNykpXSxzZWxsX2dlbl9hZG1pbl9leHBfb3RoZXJfcmF0aW9fZnk6W18udChudWxsLHZvaWQgMCxvKDk5MjQ3MCkpLF8udChudWxsLHZvaWQgMCxvKDkzMDc1NCkpXSxzZWxsX2dlbl9hZG1pbl9leHBfb3RoZXJfcmF0aW9fdHRtOltfLnQobnVsbCx2b2lkIDAsbyg1OTM4MTIpKSxfLnQobnVsbCx2b2lkIDAsbygyNDI1MzMpKV0scmVzZWFyY2hfYW5kX2Rldl9yYXRpb19meTpbXy50KG51bGwsdm9pZCAwLG8oODcwMzE2KSksXy50KG51bGwsdm9pZCAwLG8oMzM0MTAyKSldLHJlc2VhcmNoX2FuZF9kZXZfcmF0aW9fdHRtOltfLnQobnVsbCx2b2lkIDAsbyg3MDEwMzUpKSxfLnQobnVsbCx2b2lkIDAsbyg1MDIwODgpKV0sZ3Jvc3NfcHJvZml0X21hcmdpbl9meTpbXy50KG51bGwsdm9pZCAwLG8oOTAwOTQ1KSksXy50KG51bGwsdm9pZCAwLG8oOTAwOTQ1KSldLG9wZXJfaW5jb21lX21hcmdpbl9meTpbXy50KG51bGwsdm9pZCAwLG8oNDM1MDcwKSksXy50KG51bGwsdm9pZCAwLG8oNDM1MDcwKSldLApuZXRfaW5jb21lX2JlZl9kaXNjX29wZXJfbWFyZ2luX2Z5OltfLnQobnVsbCx2b2lkIDAsbyg5NDA3MTEpKSxfLnQobnVsbCx2b2lkIDAsbyg5NDA3MTEpKV0sY2FzaF9uX2VxdWl2YWxlbnRzX2ZxOltfLnQobnVsbCx2b2lkIDAsbyg3NjUwMTcpKSxfLnQobnVsbCx2b2lkIDAsbyg3NjUwMTcpKV0sY2FzaF9uX2VxdWl2YWxlbnRzX2Z5OltfLnQobnVsbCx2b2lkIDAsbyg0NzY4MzcpKSxfLnQobnVsbCx2b2lkIDAsbyg0NzY4MzcpKV0sY2FzaF9uX3Nob3J0X3Rlcm1faW52ZXN0X2ZxOltfLnQobnVsbCx2b2lkIDAsbyg3ODg4MzgpKSxfLnQobnVsbCx2b2lkIDAsbygyNDczNjApKV0sY2FzaF9uX3Nob3J0X3Rlcm1faW52ZXN0X2Z5OltfLnQobnVsbCx2b2lkIDAsbygyNTQ5NDcpKSxfLnQobnVsbCx2b2lkIDAsbyg5MTUxNTQpKV0sY2VudHJhbGl6YXRpb246W18udChudWxsLHZvaWQgMCxvKDYxMTExOCkpLF8udChudWxsLHZvaWQgMCxvKDYxMTExOCkpXSxmaXNjYWxfcGVyaW9kX2VuZF9meTpbXy50KG51bGwsdm9pZCAwLG8oMzE0NTIxKSksXy50KG51bGwsdm9pZCAwLG8oMzE0NTIxKSldLGZpc2NhbF9wZXJpb2RfZnE6W18udChudWxsLHZvaWQgMCxvKDk1MDgwMikpLF8udChudWxsLHZvaWQgMCxvKDk1MDgwMikpXSxmaXNjYWxfcGVyaW9kX2VuZF9mcTpbXy50KG51bGwsdm9pZCAwLG8oNTMwNDQ0KSksXy50KG51bGwsdm9pZCAwLG8oNTMwNDQ0KSldLGVudGVycHJpc2VfdmFsdWVfY3VycmVudDpbXy50KG51bGwsdm9pZCAwLG8oNjczMTYxKSksXy50KG51bGwsdm9pZCAwLG8oNjczMTYxKSldLHByaWNlX2Vhcm5pbmdzX2N1cnJlbnQ6W18udChudWxsLHZvaWQgMCxvKDU1NzMzNikpLF8udChudWxsLHZvaWQgMCxvKDU1NzMzNikpXSxwcmljZV9zYWxlc19jdXJyZW50OltfLnQobnVsbCx2b2lkIDAsbyg3ODI2MTQpKSxfLnQobnVsbCx2b2lkIDAsbyg3ODI2MTQpKV0scHJpY2VfYm9va19jdXJyZW50OltfLnQobnVsbCx2b2lkIDAsbyg1OTAyMDUpKSxfLnQobnVsbCx2b2lkIDAsbyg1OTAyMDUpKV0scHJpY2VfY2FzaF9mbG93X2N1cnJlbnQ6W18udChudWxsLHZvaWQgMCxvKDMzMjIxNCkpLF8udChudWxsLHZvaWQgMCxvKDMzMjIxNCkpXSxwcmljZV9mcmVlX2Nhc2hfZmxvd19jdXJyZW50OltfLnQobnVsbCx2b2lkIDAsbyg4NjQ2NDgpKSxfLnQobnVsbCx2b2lkIDAsbyg4NjQ2NDgpKV0sdG90YWxfcmV2ZW51ZV90dG06W18udChudWxsLHZvaWQgMCxvKDMwMjE2NSkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSksXy50KG51bGwsdm9pZCAwLG8oMzAyMTY1KSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KV0scmV2ZW51ZV9wZXJfc2hhcmVfdHRtOltfLnQobnVsbCx2b2lkIDAsbygxMzI1NDgpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbyg4NDcxNDEpKX0pLF8udChudWxsLHZvaWQgMCxvKDEzMjU0OCkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSldLGdyb3NzX3Byb2ZpdF90dG06W18udChudWxsLHZvaWQgMCxvKDM5NzYwMikpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSksXy50KG51bGwsdm9pZCAwLG8oMzk3NjAyKSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KV0sb3Blcl9pbmNvbWVfdHRtOltfLnQobnVsbCx2b2lkIDAsbyg4NTAyMTEpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbyg4NDcxNDEpKX0pLF8udChudWxsLHZvaWQgMCxvKDg1MDIxMSkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSldLG5ldF9pbmNvbWVfdHRtOltfLnQobnVsbCx2b2lkIDAsbyg1MTA3MjYpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbyg4NDcxNDEpKX0pLF8udChudWxsLHZvaWQgMCxvKDUxMDcyNikpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSldLGVhcm5pbmdzX3Blcl9zaGFyZV9kaWx1dGVkX2ZxOltfLnQobnVsbCx2b2lkIDAsbyg3Mjg1NDUpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbygyOTg1NzYpKX0pLF8udChudWxsLHZvaWQgMCxvKDcyODU0NSkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDI5ODU3NikpfSldLHRvdGFsX3NoYXJlc19vdXRzdGFuZGluZ19jdXJyZW50OltfLnQobnVsbCx2b2lkIDAsbygzMzYzMDMpKSxfLnQobnVsbCx2b2lkIDAsbygzMzYzMDMpKV0sZmxvYXRfc2hhcmVzX291dHN0YW5kaW5nX2N1cnJlbnQ6W18udChudWxsLHZvaWQgMCxvKDk4MTY0MykpLF8udChudWxsLHZvaWQgMCxvKDk4MTY0MykpXSx0b3RhbF9hc3NldHNfZnE6W18udChudWxsLHZvaWQgMCxvKDQxNDI1OCkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDI5ODU3NikpfSksXy50KG51bGwsdm9pZCAwLG8oNDE0MjU4KSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oMjk4NTc2KSl9KV0sdG90YWxfZXF1aXR5X2ZxOltfLnQobnVsbCx2b2lkIDAsbyg3MzMyNikpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDI5ODU3NikpfSksXy50KG51bGwsdm9pZCAwLG8oNzMzMjYpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbygyOTg1NzYpKX0pXSx0b3RhbF9kZWJ0X2ZxOltfLnQobnVsbCx2b2lkIDAsbyg0Njk1NTgpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbygyOTg1NzYpKX0pLF8udChudWxsLHZvaWQgMCxvKDQ2OTU1OCkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDI5ODU3NikpfSldLGJvb2tfcGVyX3NoYXJlX2ZxOltfLnQobnVsbCx2b2lkIDAsbygyNDUzMTcpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbygyOTg1NzYpKX0pLF8udChudWxsLHZvaWQgMCxvKDI0NTMxNykpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDI5ODU3NikpfSldLGN1cnJlbnRfcmF0aW9fZnE6W18udChudWxsLHZvaWQgMCxvKDQ5OTI2NSkpLmZvcm1hdCh7CnBlcmlvZDpfLnQobnVsbCx2b2lkIDAsbygyOTg1NzYpKX0pLF8udChudWxsLHZvaWQgMCxvKDQ5OTI2NSkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDI5ODU3NikpfSldLGFzc2V0X3R1cm5vdmVyX2ZxOltfLnQobnVsbCx2b2lkIDAsbyg3NDgyOTApKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbygyOTg1NzYpKX0pLF8udChudWxsLHZvaWQgMCxvKDc0ODI5MCkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDI5ODU3NikpfSldLGNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc190dG06W18udChudWxsLHZvaWQgMCxvKDM1Nzc3NCkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSksXy50KG51bGwsdm9pZCAwLG8oMzU3Nzc0KSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KV0sY2FzaF9mX2ludmVzdGluZ19hY3Rpdml0aWVzX3R0bTpbXy50KG51bGwsdm9pZCAwLG8oNjM4NDk4KSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KSxfLnQobnVsbCx2b2lkIDAsbyg2Mzg0OTgpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbyg4NDcxNDEpKX0pXSxjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfdHRtOltfLnQobnVsbCx2b2lkIDAsbyg3Njk4NzQpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbyg4NDcxNDEpKX0pLF8udChudWxsLHZvaWQgMCxvKDc2OTg3NCkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSldLGZyZWVfY2FzaF9mbG93X3R0bTpbXy50KG51bGwsdm9pZCAwLG8oNjIyNTU5KSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KSxfLnQobnVsbCx2b2lkIDAsbyg2MjI1NTkpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbyg4NDcxNDEpKX0pXSxjYXBpdGFsX2V4cGVuZGl0dXJlc190dG06W18udChudWxsLHZvaWQgMCxvKDUzNTEzMikpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSksXy50KG51bGwsdm9pZCAwLG8oNTM1MTMyKSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KV0sZ3Jvc3NfbWFyZ2luX3R0bTpbXy50KG51bGwsdm9pZCAwLG8oOTY2NTA1KSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KSxfLnQobnVsbCx2b2lkIDAsbyg5NjY1MDUpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbyg4NDcxNDEpKX0pXSxvcGVyYXRpbmdfbWFyZ2luX3R0bTpbXy50KG51bGwsdm9pZCAwLG8oNDcyNjY5KSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KSxfLnQobnVsbCx2b2lkIDAsbyg0NzI2NjkpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbyg4NDcxNDEpKX0pXSxwcmVfdGF4X21hcmdpbl90dG06W18udChudWxsLHZvaWQgMCxvKDY1Njk3MSkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSksXy50KG51bGwsdm9pZCAwLG8oNjU2OTcxKSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KV0sbmV0X21hcmdpbl90dG06W18udChudWxsLHZvaWQgMCxvKDg5MDU0OCkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSksXy50KG51bGwsdm9pZCAwLG8oODkwNTQ4KSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KV0scmV0dXJuX29uX2Fzc2V0c19mcTpbXy50KG51bGwsdm9pZCAwLG8oODE4MTExKSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KSxfLnQobnVsbCx2b2lkIDAsbyg4MTgxMTEpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbyg4NDcxNDEpKX0pXSxyZXR1cm5fb25fZXF1aXR5X2ZxOltfLnQobnVsbCx2b2lkIDAsbyg0ODEwODcpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbyg4NDcxNDEpKX0pLF8udChudWxsLHZvaWQgMCxvKDQ4MTA4NykpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSldLHJldHVybl9vbl9pbnZlc3RlZF9jYXBpdGFsX2ZxOltfLnQobnVsbCx2b2lkIDAsbygyMzE3MykpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSksXy50KG51bGwsdm9pZCAwLG8oMjMxNzMpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbyg4NDcxNDEpKX0pXSxyZXZlbnVlX3Blcl9lbXBsb3llZV9meTpbXy50KG51bGwsdm9pZCAwLG8oNjMwNjc2KSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oMjg3OTE4KSl9KSxfLnQobnVsbCx2b2lkIDAsbyg2MzA2NzYpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbygyODc5MTgpKX0pXSxuZXRfaW5jb21lX3Blcl9lbXBsb3llZV9meTpbXy50KG51bGwsdm9pZCAwLG8oMjM3NTg1KSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oMjg3OTE4KSl9KSxfLnQobnVsbCx2b2lkIDAsbygyMzc1ODUpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbygyODc5MTgpKX0pXSxkaXZpZGVuZF9hbW91bnRfcmVjZW50OltfLnQobnVsbCx2b2lkIDAsbyg3OTIyNjApKSxfLnQobnVsbCx2b2lkIDAsbyg3OTIyNjApKV0sZGl2aWRlbmRfYW1vdW50X3VwY29taW5nOltfLnQobnVsbCx2b2lkIDAsbyg5NDI1MDQpKSxfLnQobnVsbCx2b2lkIDAsbyg5NDI1MDQpKV0sZXhfZGl2aWRlbmRfZGF0ZV9yZWNlbnQ6W18udChudWxsLHZvaWQgMCxvKDU2NDA4OSkpLF8udChudWxsLHZvaWQgMCxvKDU2NDA4OSkpXSxleF9kaXZpZGVuZF9kYXRlX3VwY29taW5nOltfLnQobnVsbCx2b2lkIDAsbyg3NTAwNTMpKSxfLnQobnVsbCx2b2lkIDAsbyg3NTAwNTMpKV0sZGl2aWRlbmRfcGF5b3V0X3JhdGlvX3R0bTpbXy50KG51bGwsdm9pZCAwLG8oNDU3NTA1KSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KSxfLnQobnVsbCx2b2lkIDAsbyg0NTc1MDUpKS5mb3JtYXQoewpwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KV0scHJpY2VfdGFyZ2V0X2F2ZXJhZ2U6W18udChudWxsLHZvaWQgMCxvKDgxODAwMikpLF8udChudWxsLHZvaWQgMCxvKDgxODAwMikpXX07bGV0IHhlPW51bGw7Y29uc3QgQWU9KCk9PnhlO3ZhciBNZT1vKDc0NDI0MCksSWU9byg3MDI5NjcpLFJlPW8oNzY5OTM5KSxGZT1vKDQ5NTM5NiksTGU9byg2ODMzODMpLERlPW8oMjg3ODMyKSxPZT1vKDIzMTc3MCksTmU9byg2NDQ5MDUpLFBlPW8oNjM1MjcwKSxCZT1vKDM4NjcyNiksJGU9bygxMjM3MjkpLFdlPW8oNzI1NjAyKSxxZT1vKDEyOTc5NCksVmU9bygyMTcpLEhlPW8oMjY3NTg3KSxVZT1vKDkzMzEzOCksemU9bygyODU5OTMpLGplPW8oNzg2NTc4KSxHZT1vKDY3Nzc3KSxYZT1vKDM5OTQ5NCksS2U9byg0MTQ3OTYpLFllPW8oMTMwNjg2KSxKZT1vKDEyMDAzNyksWmU9bygyMjAzNDEpLFFlPW8oMjIzNDgzKSxldD1vKDgzNTE3NCksdHQ9byg4NzQ5NzMpO2NvbnN0IG90PVt7a2V5OiJDYW5kbGUuM0JsYWNrQ3Jvd3MiLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oODkwMzg3KSksc3ZnOk1lfSx7a2V5OiJDYW5kbGUuM1doaXRlU29sZGllcnMiLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oMjc3MDk3KSksc3ZnOkllfSx7a2V5OiJDYW5kbGUuQWJhbmRvbmVkQmFieS5CZWFyaXNoIixuYW1lOl8udChudWxsLHZvaWQgMCxvKDE1Njk2OSkpLHN2ZzpSZX0se2tleToiQ2FuZGxlLkFiYW5kb25lZEJhYnkuQnVsbGlzaCIsbmFtZTpfLnQobnVsbCx2b2lkIDAsbyg3NjQxMzYpKSxzdmc6RmV9LHtrZXk6IkNhbmRsZS5Eb2ppIixuYW1lOl8udChudWxsLHtjb250ZXh0OiJzdHVkeSJ9LG8oOTMwMDk4KSksc3ZnOkxlfSx7a2V5OiJDYW5kbGUuRG9qaS5EcmFnb25mbHkiLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oMzc1NDQpKSxzdmc6RGV9LHtrZXk6IkNhbmRsZS5Eb2ppLkdyYXZlc3RvbmUiLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oMTIzNzM2KSksc3ZnOk9lfSx7a2V5OiJDYW5kbGUuRW5ndWxmaW5nLkJlYXJpc2giLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oNDYyODk2KSksc3ZnOk5lfSx7a2V5OiJDYW5kbGUuRW5ndWxmaW5nLkJ1bGxpc2giLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oMzM5NTI3KSksc3ZnOlBlfSx7a2V5OiJDYW5kbGUuRXZlbmluZ1N0YXIiLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oMzQ5NjcwKSksc3ZnOkJlfSx7a2V5OiJDYW5kbGUuSGFtbWVyIixuYW1lOl8udChudWxsLHZvaWQgMCxvKDg2NTkwNykpLHN2ZzokZX0se2tleToiQ2FuZGxlLkhhbmdpbmdNYW4iLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oMzQ4MzMwKSksc3ZnOldlfSx7a2V5OiJDYW5kbGUuSGFyYW1pLkJlYXJpc2giLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oNDUwOTA3KSksc3ZnOnFlfSx7a2V5OiJDYW5kbGUuSGFyYW1pLkJ1bGxpc2giLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oNDYzODk2KSksc3ZnOlZlfSx7a2V5OiJDYW5kbGUuSW52ZXJ0ZWRIYW1tZXIiLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oMjcyMTYxKSksc3ZnOkhlfSx7a2V5OiJDYW5kbGUuS2lja2luZy5CZWFyaXNoIixuYW1lOl8udChudWxsLHZvaWQgMCxvKDQ1NzY5NCkpLHN2ZzpVZX0se2tleToiQ2FuZGxlLktpY2tpbmcuQnVsbGlzaCIsbmFtZTpfLnQobnVsbCx2b2lkIDAsbyg2MTg0OTIpKSxzdmc6emV9LHtrZXk6IkNhbmRsZS5Mb25nU2hhZG93Lkxvd2VyIixuYW1lOl8udChudWxsLHZvaWQgMCxvKDc0ODAxNCkpLHN2ZzpqZX0se2tleToiQ2FuZGxlLkxvbmdTaGFkb3cuVXBwZXIiLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oODEwODE3KSksc3ZnOkdlfSx7a2V5OiJDYW5kbGUuTWFydWJvenUuQmxhY2siLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oNTM1NzgzKSksc3ZnOlhlfSx7a2V5OiJDYW5kbGUuTWFydWJvenUuV2hpdGUiLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oOTUyNTY1KSksc3ZnOktlfSx7a2V5OiJDYW5kbGUuTW9ybmluZ1N0YXIiLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oNzE0NDYzKSksc3ZnOlllfSx7a2V5OiJDYW5kbGUuU2hvb3RpbmdTdGFyIixuYW1lOl8udChudWxsLHZvaWQgMCxvKDc3ODA0KSksc3ZnOkplfSx7a2V5OiJDYW5kbGUuU3Bpbm5pbmdUb3AuQmxhY2siLG5hbWU6Xy50KG51bGwse2NvbnRleHQ6InN0dWR5In0sbyg3NjMyMjYpKSxzdmc6WmV9LHtrZXk6IkNhbmRsZS5TcGlubmluZ1RvcC5XaGl0ZSIsbmFtZTpfLnQobnVsbCx7Y29udGV4dDoic3R1ZHkifSxvKDMzMzkxNCkpLHN2ZzpRZX0se2tleToiQ2FuZGxlLlRyaVN0YXIuQmVhcmlzaCIsbmFtZTpfLnQobnVsbCx2b2lkIDAsbygyOTExNzMpKSxzdmc6ZXR9LHtrZXk6IkNhbmRsZS5UcmlTdGFyLkJ1bGxpc2giLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oODY3MjY4KSksc3ZnOnR0fV0uc29ydCgoKGUsdCk9PmUubmFtZS5sb2NhbGVDb21wYXJlKHQubmFtZSkpKSxpdD1uZXcgWih7cHJpY2VTY2FsZToxZTgsbWluTW92ZToxfSksbnQ9bmV3IGouUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6MTAwLG1pbk1vdmU6MSxmcmFjdGlvbmFsOiExfSkscnQ9bmV3IGouUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6MSxtaW5Nb3ZlOjEsZnJhY3Rpb25hbDohMX0pLHN0PW5ldyBHLlZvbHVtZUZvcm1hdHRlcixhdD1uZXcgWC5QZXJjZW50YWdlRm9ybWF0dGVyLGx0PW5ldyBYLlBlcmNlbnRhZ2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6MX0pLGN0PW5ldyBjbGFzc3tjb25zdHJ1Y3RvcihlKXt0aGlzLl9mb3JtYXRTdHI9ZXx8IiV5LSVtLSVkIn1mb3JtYXQoZSl7Y29uc3QgdD1uZXcgRGF0ZSgxZTMqZSk7cmV0dXJuIHRoaXMuX2Zvcm1hdFN0ci5yZXBsYWNlKCIleSIsKDAsSy5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykodC5nZXRVVENGdWxsWWVhcigpLDQpKS5yZXBsYWNlKCIlbSIsKDAsSy5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykodC5nZXRVVENNb250aCgpKzEsMikpLnJlcGxhY2UoIiVkIiwoMCxLLm51bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvKSh0LmdldFVUQ0RhdGUoKSwyKSl9Cn0sZHQ9W3RlLlNUUk9OR19CVVkudGl0bGUsdGUuQlVZLnRpdGxlLHRlLk5FVVRSQUwudGl0bGUsdGUuU0VMTC50aXRsZSx0ZS5TVFJPTkdfU0VMTC50aXRsZV0saHQ9e0FueTpfLnQobnVsbCx2b2lkIDAsbyg5MjE4NDcpKSxFeG90aWM6Xy50KG51bGwsdm9pZCAwLG8oNTgwODMyKSksTWFqb3I6Xy50KG51bGwsdm9pZCAwLG8oNDQ3NzUzKSksTWlub3I6Xy50KG51bGwsdm9pZCAwLG8oMjA2OTgzKSksQWZyaWNhOl8udChudWxsLHZvaWQgMCxvKDY1MDM0NCkpLEFtZXJpY2FzOl8udChudWxsLHZvaWQgMCxvKDk5MTQ2NCkpLEFzaWE6Xy50KG51bGwsdm9pZCAwLG8oNjg5MTgyKSksRXVyb3BlOl8udChudWxsLHZvaWQgMCxvKDk1MjM2NykpLFBhY2lmaWM6Xy50KG51bGwsdm9pZCAwLG8oOTkwNTc1KSksIk1pZGRsZSBFYXN0IjpfLnQobnVsbCx2b2lkIDAsbyg2ODU3NTEpKX0sdXQ9W3trZXk6InRvZGF5IixuYW1lOl8udChudWxsLHZvaWQgMCxvKDYxNDQ1MCkpfSx7a2V5OiJ0b21vcnJvdyIsbmFtZTpfLnQobnVsbCx2b2lkIDAsbyg5NDA0ODMpKX0se2tleToieWVzdGVyZGF5IixuYW1lOl8udChudWxsLHZvaWQgMCxvKDk2NTU3MykpfSx7a2V5OiJuZXh0X2ZpdmUiLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oNTYxMTYxKSl9LHtrZXk6InByZXZfZml2ZSIsbmFtZTpfLnQobnVsbCx2b2lkIDAsbygxMzcyMCkpfSx7a2V5OiJ0aGlzX3dlZWsiLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oMTI3NDgzKSl9LHtrZXk6Im5leHRfd2VlayIsbmFtZTpfLnQobnVsbCx2b2lkIDAsbyg0ODU0NTQpKX0se2tleToicHJldl93ZWVrIixuYW1lOl8udChudWxsLHZvaWQgMCxvKDU2NDU2MSkpfSx7a2V5OiJ0aGlzX21vbnRoIixuYW1lOl8udChudWxsLHZvaWQgMCxvKDE3MDgwOSkpfV0sX3Q9WyJ0b2RheSIsInllc3RlcmRheSIsInByZXZfZml2ZSIsInByZXZfd2VlayIsInRoaXNfd2VlayIsInRoaXNfbW9udGgiXSxwdD1bInRvZGF5IiwidG9tb3Jyb3ciLCJuZXh0X2ZpdmUiLCJuZXh0X3dlZWsiLCJ0aGlzX3dlZWsiLCJ0aGlzX21vbnRoIl0sbXQ9ZT0+bnVsbD09ZXx8IiI9PT1lLnRvU3RyaW5nKCkudHJpbSgpLGd0PWU9PnQ9Pntjb25zdCBvPWJ0KHQsdXQpO2lmKG8pe2NvbnN0IHQ9U3Qobyk7aWYodClyZXR1cm4oKGUsdCxvPSJlYXJuaW5nc19yZWxlYXNlX2RhdGUsZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUiKT0+W3tsZWZ0Om8sb3BlcmF0aW9uOiJpbl9yYW5nZSIscmlnaHQ6W2UvMWUzLHQvMWUzXX0se2xlZnQ6byxvcGVyYXRpb246Im5lcXVhbCIscmlnaHQ6dC8xZTN9XSkodFswXSx0WzFdLGUpfXJldHVybiExfSx2dD0oZSx0KT0+T2JqZWN0LmtleXModCkuZmluZCgobz0+dFtvXT09PWUpKXx8ZSxmdD0oZSx0LG8saSk9Pntjb25zdCBuPWkuZmlsdGVyKCh0PT50W2VdPT09bykpO3JldHVybiBuLmxlbmd0aD4wP25bMF1bdF06IiJ9LHl0PShlLHQpPT5mdCgia2V5IiwibmFtZSIsZSx0KSxidD0oZSx0KT0+ZnQoIm5hbWUiLCJrZXkiLGUsdCksU3Q9ZT0+e2NvbnN0IHQ9VS5nZXRfdGltZXpvbmUoQWUoKSksbz0oKCk9Pntjb25zdCBlPVUuZ2V0X3RpbWV6b25lKEFlKCkpLHQ9bmV3IERhdGUsbz1VLnV0Y190b19jYWwoZSx0LmdldFRpbWUoKSk7cmV0dXJuIFUuZ2V0X2NhbChlLG8uZ2V0VVRDRnVsbFllYXIoKSxvLmdldFVUQ01vbnRoKCksby5nZXRVVENEYXRlKCkpfSkoKTtsZXQgaSxuO2lmKCJ0b2RheSI9PT1lKWk9by5nZXRUaW1lKCksbj1VLmFkZF9kYXlzX2NvbnNpZGVyaW5nX2RzdCh0LG8sMSkuZ2V0VGltZSgpO2Vsc2UgaWYoInRvbW9ycm93Ij09PWUpaT1VLmFkZF9kYXlzX2NvbnNpZGVyaW5nX2RzdCh0LG8sMSkuZ2V0VGltZSgpLG49VS5hZGRfZGF5c19jb25zaWRlcmluZ19kc3QodCxvLDIpLmdldFRpbWUoKTtlbHNlIGlmKCJ5ZXN0ZXJkYXkiPT09ZSl7Y29uc3QgZT02ZTQ7aT1VLmFkZF9kYXlzX2NvbnNpZGVyaW5nX2RzdCh0LG8sLTEpLmdldFRpbWUoKSxuPW8uZ2V0VGltZSgpLWV9ZWxzZSBpZigibmV4dF9maXZlIj09PWUpaT1VLmFkZF9kYXlzX2NvbnNpZGVyaW5nX2RzdCh0LG8sMSkuZ2V0VGltZSgpLG49VS5hZGRfZGF5c19jb25zaWRlcmluZ19kc3QodCxvLDUpLmdldFRpbWUoKTtlbHNlIGlmKCJwcmV2X2ZpdmUiPT09ZSlpPVUuYWRkX2RheXNfY29uc2lkZXJpbmdfZHN0KHQsbywtNSkuZ2V0VGltZSgpLG49by5nZXRUaW1lKCk7ZWxzZSBpZigidGhpc193ZWVrIj09PWUpe2NvbnN0IGU9KG8uZ2V0RGF5KCkrNiklNztpPVUuYWRkX2RheXNfY29uc2lkZXJpbmdfZHN0KHQsbywtZSkuZ2V0VGltZSgpLG49VS5hZGRfZGF5c19jb25zaWRlcmluZ19kc3QodCxvLDctZSkuZ2V0VGltZSgpfWVsc2UgaWYoIm5leHRfd2VlayI9PT1lKXtjb25zdCBlPShvLmdldERheSgpKzYpJTctNztpPVUuYWRkX2RheXNfY29uc2lkZXJpbmdfZHN0KHQsbywtZSkuZ2V0VGltZSgpLG49VS5hZGRfZGF5c19jb25zaWRlcmluZ19kc3QodCxvLDctZSkuZ2V0VGltZSgpfWVsc2UgaWYoInByZXZfd2VlayI9PT1lKXtjb25zdCBlPShvLmdldERheSgpKzYpJTcrNztpPVUuYWRkX2RheXNfY29uc2lkZXJpbmdfZHN0KHQsbywtZSkuZ2V0VGltZSgpLG49VS5hZGRfZGF5c19jb25zaWRlcmluZ19kc3QodCxvLDctZSkuZ2V0VGltZSgpfWVsc2UgaWYoInRoaXNfbW9udGgiPT09ZSl7Y29uc3QgZT1vLmdldERhdGUoKSxyPW5ldyBEYXRlKG8uZ2V0RnVsbFllYXIoKSxvLmdldE1vbnRoKCksMCkuZ2V0RGF0ZSgpO2k9VS5hZGRfZGF5c19jb25zaWRlcmluZ19kc3QodCxvLDEtZSkuZ2V0VGltZSgpLG49VS5hZGRfZGF5c19jb25zaWRlcmluZ19kc3QodCxvLHItZSkuZ2V0VGltZSgpfXJldHVybiEoIWl8fCFuKSYmW2ksbl19LHd0PXtkcjpbXy50KG51bGwsdm9pZCAwLG8oNzE0NzQ1KSksXy50KG51bGwsdm9pZCAwLG8oMjg3OTk4KSkse25vd3JhcDohMH1dLGV0ZjpbXy50KG51bGwsdm9pZCAwLG8oNjk0MDcyKSksXy50KG51bGwsdm9pZCAwLG8oNjk0MDcyKSldLGNvbW1vbjpbXy50KG51bGwsdm9pZCAwLG8oOTgxMjgzKSksIiJdLApwcmVmZXJyZWQ6W18udChudWxsLHZvaWQgMCxvKDI3NTY2MikpLF8udChudWxsLHZvaWQgMCxvKDczNjYyNykpXSxjbG9zZWRlbmQ6W18udChudWxsLHZvaWQgMCxvKDYzNjAwMSkpLF8udChudWxsLHZvaWQgMCxvKDc5Njg5MSkpXSxldG46W18udChudWxsLHZvaWQgMCxvKDk3MjI0MCkpLF8udChudWxsLHZvaWQgMCxvKDk3MjI0MCkpXSxyZWl0OltfLnQobnVsbCx2b2lkIDAsbyg4MTAyMDIpKSxfLnQobnVsbCx2b2lkIDAsbyg4MTAyMDIpKV0sdW5pdDpbXy50KG51bGwsdm9pZCAwLG8oNjIwMjExKSksXy50KG51bGwsdm9pZCAwLG8oNjIwMjExKSldLG11dHVhbDpbXy50KG51bGwsdm9pZCAwLG8oOTQwOTg2KSksXy50KG51bGwsdm9pZCAwLG8oNTE4MDQxKSldLHRydXN0OltfLnQobnVsbCx2b2lkIDAsbyg3MjE1MjIpKSxfLnQobnVsbCx2b2lkIDAsbygzNDQzNzUpKV0sc3RydWN0dXJlZDpbXy50KG51bGwsdm9pZCAwLG8oMjU1NjIyKSksXy50KG51bGwsdm9pZCAwLG8oMzAwMjc1KSldLHNwb3Q6W18udChudWxsLHZvaWQgMCxvKDI4MzQxNikpLCIiXSxmdXR1cmVzOltfLnQobnVsbCx2b2lkIDAsbyg5NDM5MDMpKSwiIl0scGVycGV0dWFsOltfLnQobnVsbCx2b2lkIDAsbyg1NTY4NzYpKSwiIl19LEN0PVsiZHIiLCJldGYiLCJjb21tb24iLCJwcmVmZXJyZWQiLCJjbG9zZWRlbmQiLCJldG4iLCJyZWl0IiwidW5pdCIsIm11dHVhbCIsInRydXN0Iiwic3RydWN0dXJlZCJdLGt0PVsic3BvdCIsImZ1dHVyZXMiLCJwZXJwZXR1YWwiXSxUdD1lPT5bIm9wZW4iLCJoaWdoIiwibG93IiwiY2xvc2UiXS5maWx0ZXIoKHQ9PnQhPT1lKSksRXQ9ZT0+WyJTTUE1IiwiU01BMTAiLCJTTUEyMCIsIlNNQTMwIiwiU01BNTAiLCJTTUExMDAiLCJTTUEyMDAiLCJFTUE1IiwiRU1BMTAiLCJFTUEyMCIsIkVNQTMwIiwiRU1BNTAiLCJFTUExMDAiLCJFTUEyMDAiXS5maWx0ZXIoKHQ9PnQhPT1lKSkseHQ9ZT0+WyJJY2hpbW9rdS5CTGluZSIsIkljaGltb2t1LkNMaW5lIiwiSWNoaW1va3UuTGVhZDEiLCJJY2hpbW9rdS5MZWFkMiJdLmZpbHRlcigodD0+dCE9PWUpKSxBdD1bImNyb3NzZXMiLCJjcm9zc2VzX2Fib3ZlIiwiY3Jvc3Nlc19iZWxvdyJdO2Z1bmN0aW9uIE10KGUsLi4udCl7Y29uc3Qgbz10W3QubGVuZ3RoLTFdO2lmKG8uc2VhcmNoVmFsdWUpe2NvbnN0IHQ9KDAsYWUucGFyc2VIdG1sKShlKS5jaGlsZE5vZGVzO2xldCBpPSIiO2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXRbZV0uY2xhc3NMaXN0JiYodFtlXS5jbGFzc0xpc3QuY29udGFpbnMoInR2LXNjcmVlbmVyX19zeW1ib2wiKSYmKHRbZV0uaW5uZXJIVE1MPVJ0KHRbZV0udGV4dENvbnRlbnQudHJpbSgpLG8uc2VhcmNoVmFsdWUpKSxpKz10W2VdLm91dGVySFRNTCk7cmV0dXJuIGkrIiAifXJldHVybiBlfWNvbnN0IEl0PXtuYW1lOntmaXhlZDohMCxjb250cm9sOiJzZWxlY3QiLGNhdGVnb3J5OjEsaW5wbGFjZUVkaXRvckxlZnRPZmZzZXQ6MTAsZmlsdGVyVGl0bGU6RWUudHlwZVswXSxyYW5nZVRpdGxlczp3dCxhZGRpdGlvbmFsQ29sdW1uczpbImRlc2NyaXB0aW9uIiwibmFtZSIsInR5cGUiLCJzdWJ0eXBlIiwidXBkYXRlX21vZGUiXSxhZGRpdGlvbmFsRm9ybWF0dGVyOihlLHQsbyxpLG4scj0iIik9Pntjb25zdCBzPSgoZSx0KT0+SXQudHlwZS5kaXNhYmxlZHx8IUl0LnR5cGUuY2hlY2tlZD8iIjpgPHNwYW4gY2xhc3M9InR2LXNjcmVlbmVyX190eXBlIiB0aXRsZT0iJHtJdC50eXBlLm11dGF0ZURpc3BsYXlWYWx1ZShlLHQpfSI+PHN1cD4ke0l0LnR5cGUubXV0YXRlRGlzcGxheVZhbHVlKGUsdCwhMCl9PC9zdXA+PC9zcGFuPmApKG8saSk7cmV0dXJuKChlLHQsbyxpLG4pPT57Y29uc3Qgcj1uZXcgUS5EYXRhTW9kZUluZGljYXRvcih7Y2xhc3NTdWZmaXg6Ii0tZm9yLXNjcmVlbmVyIixzaG9ydDohMH0pO2lmKG51bGwhPT1uJiYic3RyaW5nIj09dHlwZW9mIG4pe2NvbnN0IGU9KDAsei5wYXJzZVVwZGF0ZU1vZGUpKG4pO251bGw9PT1lP3Iuc2V0TW9kZShuKTpyLnNldE1vZGUoZS5tb2RlLGUuaW50ZXJ2YWwpfWlmKEl0LmRlc2NyaXB0aW9uLmRpc2FibGVkfHwhSXQuZGVzY3JpcHRpb24uY2hlY2tlZClyZXR1cm4gci5nZXRFbGVtZW50KCkub3V0ZXJIVE1MO2NvbnN0IHM9e2Rlc2NyaXB0aW9uOmUscHJvX25hbWU6aSxzaG9ydF9uYW1lOm99O2xldCBhPWU/KDAsZWUuZ2V0VHJhbnNsYXRlZFN5bWJvbERlc2NyaXB0aW9uKShzKS50b1N0cmluZygpLnRvVXBwZXJDYXNlKCk6IiI7SXQubmFtZS5zZWFyY2hWYWx1ZSYmKGE9UnQoYSxJdC5uYW1lLnNlYXJjaFZhbHVlKSk7Y29uc3QgbD0hSXQuZGVzY3JpcHRpb24uZGlzYWJsZWR8fEl0LmRlc2NyaXB0aW9uLmNoZWNrZWQ/YDxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lcl9fZGVzY3JpcHRpb24iPiR7YX0gJHt0fTwvc3Bhbj5gOiIiO3JldHVybmAke3IuZ2V0RWxlbWVudCgpLm91dGVySFRNTH0ke2x9YH0pKGUscyx0LHIsbil9LG11dGF0ZURpc3BsYXlWYWx1ZTpNdCx0b29sdGlwOihlLHQpPT5JdC5kZXNjcmlwdGlvbi5kaXNhYmxlZHx8IUl0LmRlc2NyaXB0aW9uLmNoZWNrZWQ/dDplLHVzZURlZmF1bHRSYW5nZTohMCxkZWZhdWx0UmFuZ2U6Q3QsY3VzdG9tRmlsdGVyQ29uZGl0aW9uOmU9Pkl0LnR5cGUuY3VzdG9tRmlsdGVyQ29uZGl0aW9uKGUpLHNlYXJjaDohMH0sZGVzY3JpcHRpb246e2hpZGRlbkNvbHVtbjohMCxoaWRlU2V0dXBDb2x1bW46ITB9LGxvZ29pZDp7aGlkZGVuQ29sdW1uOiExLGhpZGVTZXR1cENvbHVtbjohMCxza2lwRmllbGQ6ITB9LGN1cnJlbmN5X2xvZ29pZDp7aGlkZGVuQ29sdW1uOiExLGhpZGVTZXR1cENvbHVtbjohMCxza2lwRmllbGQ6ITB9LGJhc2VfY3VycmVuY3lfbG9nb2lkOntoaWRkZW5Db2x1bW46ITEsaGlkZVNldHVwQ29sdW1uOiEwLHNraXBGaWVsZDohMH0sZXhjaGFuZ2U6e2NvbnRyb2w6InNlbGVjdCIsY2F0ZWdvcnk6MSxtdXRhdGVEaXNwbGF5VmFsdWU6ZT0+IkFNRVgiPT09ZT8iTllTRSBBUkNBIjplLHJhbmdlVGl0bGVzOntBTUVYOlsiTllTRSBBUkNBIiwiTllTRSBBUkNBIix7bm93cmFwOiEwfV19fSxjZW50cmFsaXphdGlvbjp7CmNvbnRyb2w6InNlbGVjdCIsY2F0ZWdvcnk6MSxoaWRlU2V0dXBDb2x1bW46ITAscmFuZ2VUaXRsZXM6e2NleDpbIkNFWCIsIkNFWCJdLGRleDpbIkRFWCIsIkRFWCJdfX0sc3VibWFya2V0Ontjb250cm9sOiJzZWxlY3QiLGNhdGVnb3J5OjF9LHNlY3Rvcjp7Y2F0ZWdvcnk6MSxmaWx0ZXJDb25kaXRpb246InNlbGVjdCIsc291cmNlUmFuZ2U6WyJNYWpvciIsIk1pbm9yIiwiRXhvdGljIl0sbXV0YXRlRGlzcGxheVZhbHVlOihlLC4uLnQpPT57Y29uc3Qgbz1NdChlLHQpO3JldHVybigwLFRlLnRyaWVzVHJhbnNsYXRlU2NyZWVuZXJEYXRhKShvKX19LGluZGV4Ontjb250cm9sOiJzZWxlY3QiLGlzU2luZ2xlOiEwLGNhdGVnb3J5OjEsaGlkZVNldHVwQ29sdW1uOiEwLGdyb3VwRmlsdGVyOiEwLGN1c3RvbUZpbHRlckNvbmRpdGlvbjplPT57Y29uc3QgdD1JdC5pbmRleC5zb3VyY2VSYW5nZT9JdC5pbmRleC5zb3VyY2VSYW5nZS5maW5kKCh0PT50Lm5hbWU9PT1lKSk6bnVsbDtyZXR1cm4hIXQmJnt0eXBlOiJpbmRleCIsdmFsdWVzOlt0LmlkXX19fSxpbmR1c3RyeTp7Y29udHJvbDoic2VsZWN0IixjYXRlZ29yeToxfSxjb3VudHJ5Ontjb250cm9sOiJzZWxlY3QiLGNhdGVnb3J5OjF9LHR5cGU6e2hpZGRlbkNvbHVtbjohMCxoaWRlU2V0dXBDb2x1bW46ITAsZmlsdGVyQ29uZGl0aW9uOiJzZWxlY3QiLGNhdGVnb3J5OjEscmFuZ2VUaXRsZXM6d3Qsc29ydGFibGVDb2x1bW46ITEscmVzZXR0YWJsZUZpbHRlcjohMSx1c2VEZWZhdWx0UmFuZ2U6ITAsZGVmYXVsdFJhbmdlOkN0LGFkZGl0aW9uYWxDb2x1bW5zOlsic3VidHlwZSJdLG11dGF0ZURpc3BsYXlWYWx1ZTooZSx0LG89ITEpPT50JiZ3dFt0XT93dFt0XVtvPzE6MF06d3RbZV0/d3RbZV1bbz8xOjBdOiIiLGN1c3RvbUZpbHRlckNvbmRpdGlvbjp5ZX0sbWFya2V0X2NhcF9iYXNpYzp7Y29udHJvbDoicmFuZ2UiLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToxfSxtYXJrZXRfY2FwX2NhbGM6e2NvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6MX0sbWFya2V0X2NhcF9kaWx1dGVkX2NhbGM6e2NvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6MX0sdm9sdW1lOntjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjF9LGF2ZXJhZ2Vfdm9sdW1lXzEwZF9jYWxjOnt0aXRsZTpFZS5hdmVyYWdlX3ZvbHVtZVswXSxzaG9ydFRpdGxlOkVlLmF2ZXJhZ2Vfdm9sdW1lWzFdLGNvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6MSx1c2VEZWZhdWx0VGltZUludGVydmFsOiEwfSxhdmVyYWdlX3ZvbHVtZV8zMGRfY2FsYzp7Y29udHJvbDoicmFuZ2UiLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToxLHVzZURlZmF1bHRUaW1lSW50ZXJ2YWw6ITB9LGF2ZXJhZ2Vfdm9sdW1lXzYwZF9jYWxjOntjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjEsdXNlRGVmYXVsdFRpbWVJbnRlcnZhbDohMH0sYXZlcmFnZV92b2x1bWVfOTBkX2NhbGM6e2NvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6MSx1c2VEZWZhdWx0VGltZUludGVydmFsOiEwfSxyZWxhdGl2ZV92b2x1bWVfMTBkX2NhbGM6e3RpdGxlOkVlLnJlbGF0aXZlX3ZvbHVtZVswXSxzaG9ydFRpdGxlOkVlLnJlbGF0aXZlX3ZvbHVtZVsxXSxjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToxfSwicmVsYXRpdmVfdm9sdW1lX2ludHJhZGF5LjUiOnt0aXRsZTpFZS5yZWxhdGl2ZV92b2x1bWVfYXRfdGltZVswXSxzaG9ydFRpdGxlOkVlLnJlbGF0aXZlX3ZvbHVtZV9hdF90aW1lWzFdLGNvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsZmlsdGVyRm9ybWF0dGVyOnJ0LGNhdGVnb3J5OjEsdXNlRGVmYXVsdFRpbWVJbnRlcnZhbEZyb21GaWVsZE5hbWU6ITB9LGNoYW5nZTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOntzdG9jazpbInByZW1hcmtldF9jaGFuZ2UiLCJwb3N0bWFya2V0X2NoYW5nZSJdLGRlZmF1bHQ6W119LGZvcm1hdHRlcjphdCxjYXRlZ29yeTozLGhpZ2hsaWdodENoYW5nZTohMH0sImNoYW5nZS4xIjp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOntzdG9jazpbImNoYW5nZSIsInByZW1hcmtldF9jaGFuZ2UiLCJwb3N0bWFya2V0X2NoYW5nZSJdLGRlZmF1bHQ6W119LGZvcm1hdHRlcjphdCxjYXRlZ29yeTozLGhpZ2hsaWdodENoYW5nZTohMH0sImNoYW5nZS41Ijp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOntzdG9jazpbImNoYW5nZSIsInByZW1hcmtldF9jaGFuZ2UiLCJwb3N0bWFya2V0X2NoYW5nZSJdLGRlZmF1bHQ6W119LGZvcm1hdHRlcjphdCxjYXRlZ29yeTozLGhpZ2hsaWdodENoYW5nZTohMH0sImNoYW5nZS4xNSI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczp7c3RvY2s6WyJjaGFuZ2UiLCJwcmVtYXJrZXRfY2hhbmdlIiwicG9zdG1hcmtldF9jaGFuZ2UiXSxkZWZhdWx0OltdfSxmb3JtYXR0ZXI6YXQsY2F0ZWdvcnk6MyxoaWdobGlnaHRDaGFuZ2U6ITB9LCJjaGFuZ2UuNjAiOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6e3N0b2NrOlsiY2hhbmdlIiwicHJlbWFya2V0X2NoYW5nZSIsInBvc3RtYXJrZXRfY2hhbmdlIl0sZGVmYXVsdDpbXX0sZm9ybWF0dGVyOmF0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSwiY2hhbmdlLjI0MCI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczp7c3RvY2s6WyJjaGFuZ2UiLCJwcmVtYXJrZXRfY2hhbmdlIiwicG9zdG1hcmtldF9jaGFuZ2UiXSxkZWZhdWx0OltdfSxmb3JtYXR0ZXI6YXQsY2F0ZWdvcnk6MywKaGlnaGxpZ2h0Q2hhbmdlOiEwfSwiY2hhbmdlLjFXIjp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOntzdG9jazpbImNoYW5nZSIsInByZW1hcmtldF9jaGFuZ2UiLCJwb3N0bWFya2V0X2NoYW5nZSJdLGRlZmF1bHQ6W119LGZvcm1hdHRlcjphdCxjYXRlZ29yeTozLGhpZ2hsaWdodENoYW5nZTohMH0sImNoYW5nZS4xTSI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczp7c3RvY2s6WyJjaGFuZ2UiLCJwcmVtYXJrZXRfY2hhbmdlIiwicG9zdG1hcmtldF9jaGFuZ2UiXSxkZWZhdWx0OltdfSxmb3JtYXR0ZXI6YXQsY2F0ZWdvcnk6MyxoaWdobGlnaHRDaGFuZ2U6ITB9LGNoYW5nZV9hYnM6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6aXQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxoaWdobGlnaHRDaGFuZ2U6ITB9LCJjaGFuZ2VfYWJzLjEiOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOml0LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSwiY2hhbmdlX2Ficy41Ijp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjppdCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGhpZ2hsaWdodENoYW5nZTohMH0sImNoYW5nZV9hYnMuMTUiOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOml0LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSwiY2hhbmdlX2Ficy42MCI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6aXQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxoaWdobGlnaHRDaGFuZ2U6ITB9LCJjaGFuZ2VfYWJzLjI0MCI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6aXQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxoaWdobGlnaHRDaGFuZ2U6ITB9LCJjaGFuZ2VfYWJzLjFXIjp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjppdCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGhpZ2hsaWdodENoYW5nZTohMH0sImNoYW5nZV9hYnMuMU0iOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOml0LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSxiaWQ6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsZmlsdGVyRm9ybWF0dGVyOnJ0LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjEsbXV0YXRlRGlzcGxheVZhbHVlOmU9PmA8c3Bhbj4ke2V9PC9zcGFuPmB9LGFzazp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MSxtdXRhdGVEaXNwbGF5VmFsdWU6ZT0+YDxzcGFuPiR7ZX08L3NwYW4+YH0sb3Blbjp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6e3N0b2NrOlR0KCJvcGVuIikuY29uY2F0KCJwcmVtYXJrZXRfb3BlbiIsInBvc3RtYXJrZXRfb3BlbiIsInByZW1hcmtldF9jbG9zZSIsInBvc3RtYXJrZXRfY2xvc2UiLEV0KCksIkh1bGxNQTkiLCJCQi51cHBlciIsIkJCLmxvd2VyIix4dCgpKSxmb3JleDpUdCgib3BlbiIpLmNvbmNhdCgiYmlkIiwiYXNrIixFdCgpLCJIdWxsTUE5IiwiQkIudXBwZXIiLCJCQi5sb3dlciIseHQoKSksZGVmYXVsdDpUdCgib3BlbiIpLmNvbmNhdChFdCgpLCJCQi51cHBlciIsIkJCLmxvd2VyIiwiSHVsbE1BOSIseHQoKSl9LGZvcm1hdHRlcjppdCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeToxfSxjbG9zZTp7dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oODM0OTApKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDgzNDkwKSksY29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6e3N0b2NrOlR0KCJjbG9zZSIpLmNvbmNhdCgicHJlbWFya2V0X2Nsb3NlIiwicG9zdG1hcmtldF9jbG9zZSIsRXQoKSwiSHVsbE1BOSIsIkJCLnVwcGVyIiwiQkIubG93ZXIiLHh0KCkpLGZvcmV4OlR0KCJjbG9zZSIpLmNvbmNhdCgiYmlkIiwiYXNrIixFdCgpLCJIdWxsTUE5IiwiQkIudXBwZXIiLCJCQi5sb3dlciIseHQoKSksZGVmYXVsdDpUdCgiY2xvc2UiKS5jb25jYXQoRXQoKSwiQkIudXBwZXIiLCJCQi5sb3dlciIsIkh1bGxNQTkiLHh0KCkpfSxmb3JtYXR0ZXI6aXQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MSxtdXRhdGVEaXNwbGF5VmFsdWU6ZT0+YDxzcGFuPiR7ZX08L3NwYW4+YH0saGlnaDp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6e3N0b2NrOlR0KCJoaWdoIikuY29uY2F0KCJwcmVtYXJrZXRfaGlnaCIsInBvc3RtYXJrZXRfaGlnaCIsInByZW1hcmtldF9jbG9zZSIsInBvc3RtYXJrZXRfY2xvc2UiLEV0KCksIkh1bGxNQTkiLCJCQi51cHBlciIsIkJCLmxvd2VyIix4dCgpKSxmb3JleDpUdCgiaGlnaCIpLmNvbmNhdCgiYmlkIiwiYXNrIixFdCgpLCJIdWxsTUE5IiwiQkIudXBwZXIiLCJCQi5sb3dlciIseHQoKSksZGVmYXVsdDpUdCgiaGlnaCIpLmNvbmNhdChFdCgpLCJCQi51cHBlciIsIkJCLmxvd2VyIiwiSHVsbE1BOSIseHQoKSl9LGZvcm1hdHRlcjppdCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeToxfSxsb3c6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOnsKc3RvY2s6VHQoImxvdyIpLmNvbmNhdCgicHJlbWFya2V0X2xvdyIsInBvc3RtYXJrZXRfbG93IiwicHJlbWFya2V0X2Nsb3NlIiwicG9zdG1hcmtldF9jbG9zZSIsRXQoKSwiSHVsbE1BOSIsIkJCLnVwcGVyIiwiQkIubG93ZXIiLHh0KCkpLGZvcmV4OlR0KCJsb3ciKS5jb25jYXQoImJpZCIsImFzayIsRXQoKSwiSHVsbE1BOSIsIkJCLnVwcGVyIiwiQkIubG93ZXIiLHh0KCkpLGRlZmF1bHQ6VHQoImxvdyIpLmNvbmNhdChFdCgpLCJCQi51cHBlciIsIkJCLmxvd2VyIiwiSHVsbE1BOSIseHQoKSl9LGZvcm1hdHRlcjppdCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeToxfSxnYXA6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSxwcmljZV9lYXJuaW5nc190dG06e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsZmlsdGVyRm9ybWF0dGVyOnJ0LGNhdGVnb3J5OjJ9LHByaWNlX3NhbGVzX3JhdGlvOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToyfSxyZXR1cm5fb25fYXNzZXRzOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToyfSxyZXR1cm5fb25fZXF1aXR5Ontjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToyfSxkZWJ0X3RvX2VxdWl0eTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxjYXRlZ29yeToyfSxjdXJyZW50X3JhdGlvOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToyfSxxdWlja19yYXRpbzp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6Mn0scHJpY2VfYm9va19mcTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6Mn0scHJpY2VfYm9va19yYXRpbzp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6Mn0scHJpY2VfZnJlZV9jYXNoX2Zsb3dfdHRtOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToyfSxiZXRhXzFfeWVhcjp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxjYXRlZ29yeTozfSxvcGVyYXRpbmdfbWFyZ2luOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sZWFybmluZ3NfcGVyX3NoYXJlX2Jhc2ljX3R0bTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6Mn0sZWJpdGRhOntjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjJ9LGNoYW5nZV9mcm9tX29wZW46e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSxjaGFuZ2VfZnJvbV9vcGVuX2Ficzp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjppdCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGhpZ2hsaWdodENoYW5nZTohMH0sIlBlcmYuVyI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSwiUGVyZi4xTSI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSwiUGVyZi4zTSI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSwiUGVyZi42TSI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSwiUGVyZi5ZIjp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MyxoaWdobGlnaHRDaGFuZ2U6ITB9LCJQZXJmLllURCI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsCmZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeTozLGhpZ2hsaWdodENoYW5nZTohMH0sIlBlcmYuNVkiOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeTozLGhpZ2hsaWdodENoYW5nZTohMH0sIlBlcmYuQWxsIjp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MyxoaWdobGlnaHRDaGFuZ2U6ITB9LCJWb2xhdGlsaXR5LlciOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjN9LCJWb2xhdGlsaXR5Lk0iOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjN9LCJWb2xhdGlsaXR5LkQiOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjN9LFJTSTp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeTozLGRpc3BsYXlTaWduYWw6ITAsYWRkaXRpb25hbENvbHVtbnM6WyJSU0kiLCJSU0lbMV0iXSxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc1JTSVNpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlUlNJU2lnbmFsfSxSU0k3Ontjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsZmlsdGVyRm9ybWF0dGVyOnJ0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIlJTSTciLCJSU0k3WzFdIl0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NSU0lTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZVJTSVNpZ25hbH0sQURYOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsZmlsdGVyRm9ybWF0dGVyOnJ0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIkFEWCIsIkFEWCtESSIsIkFEWC1ESSIsIkFEWCtESVsxXSIsIkFEWC1ESVsxXSJdLG11dGF0ZURpc3BsYXlWYWx1ZTpuZS5wcm9jZXNzQURYU2lnbmFsLHNpZ25hbENvbXB1dGF0aW9uOmllLmNvbXB1dGVBRFhTaWduYWx9LCJBRFgrREkiOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbIkFEWC1ESSJdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6M30sIkFEWC1ESSI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlsiQURYK0RJIl0sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeTozfSxBVFI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjppdCxjYXRlZ29yeTozfSxNb206e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjppdCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6MyxkaXNwbGF5U2lnbmFsOiEwLGFkZGl0aW9uYWxDb2x1bW5zOlsiTW9tIiwiTW9tWzFdIl0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NNb21TaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZU1vbVNpZ25hbH0sIkhpZ2guQWxsIjp7Y29udHJvbDoidG9nZ2xlIixmaWx0ZXI6e29wZXJhdG9yOiJlbGVzcyIsdmFsdWU6ImhpZ2gifSxmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6M30sIkxvdy5BbGwiOntjb250cm9sOiJ0b2dnbGUiLGZpbHRlcjp7b3BlcmF0b3I6ImVncmVhdGVyIix2YWx1ZToibG93In0sZm9ybWF0dGVyOm50LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjN9LHByaWNlXzUyX3dlZWtfaGlnaDp7Y29udHJvbDoidG9nZ2xlIixmaWx0ZXI6e29wZXJhdG9yOiJlbGVzcyIsdmFsdWU6ImhpZ2gifSxmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6M30scHJpY2VfNTJfd2Vla19sb3c6e2NvbnRyb2w6InRvZ2dsZSIsZmlsdGVyOntvcGVyYXRvcjoiZWdyZWF0ZXIiLHZhbHVlOiJsb3cifSxmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6M30saXNfcHJpbWFyeTp7dGl0bGU6RWUuaXNfcHJpbWFyeVswXSxjb250cm9sOiJ0b2dnbGUiLGZpbHRlcjp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH0sY2F0ZWdvcnk6MX0sYWN0aXZlX3N5bWJvbDp7aGlkZVNldHVwQ29sdW1uOiEwLGNvbnRyb2w6InRvZ2dsZSIsZmlsdGVyOntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfSxjYXRlZ29yeToxfSwiSGlnaC42TSI6e2NvbnRyb2w6InRvZ2dsZSIsZmlsdGVyOntvcGVyYXRvcjoiZWxlc3MiLHZhbHVlOiJoaWdoIn0sZm9ybWF0dGVyOm50LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjN9LCJMb3cuNk0iOntjb250cm9sOiJ0b2dnbGUiLGZpbHRlcjp7b3BlcmF0b3I6ImVncmVhdGVyIix2YWx1ZToibG93In0sZm9ybWF0dGVyOm50LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjN9LCJIaWdoLjNNIjp7Y29udHJvbDoidG9nZ2xlIixmaWx0ZXI6e29wZXJhdG9yOiJlbGVzcyIsdmFsdWU6ImhpZ2gifSxmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6M30sIkxvdy4zTSI6e2NvbnRyb2w6InRvZ2dsZSIsZmlsdGVyOntvcGVyYXRvcjoiZWdyZWF0ZXIiLHZhbHVlOiJsb3cifSxmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6M30sIkhpZ2guMU0iOntjb250cm9sOiJ0b2dnbGUiLGZpbHRlcjp7b3BlcmF0b3I6ImVsZXNzIix2YWx1ZToiaGlnaCJ9LGZvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozfSwiTG93LjFNIjp7Y29udHJvbDoidG9nZ2xlIixmaWx0ZXI6e29wZXJhdG9yOiJlZ3JlYXRlciIsdmFsdWU6ImxvdyJ9LApmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6M30sRU1BNTp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6VHQoKS5jb25jYXQoRXQoIkVNQTUiKSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIkVNQTUiLCJjbG9zZSJdLG11dGF0ZURpc3BsYXlWYWx1ZTpuZS5wcm9jZXNzTUFTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZU1BU2lnbmFsfSxFTUExMDp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6VHQoKS5jb25jYXQoRXQoIkVNQTEwIikpLGZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGRpc3BsYXlTaWduYWw6ITAsYWRkaXRpb25hbENvbHVtbnM6WyJFTUExMCIsImNsb3NlIl0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NNQVNpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlTUFTaWduYWx9LEVNQTIwOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdChFdCgiRU1BMjAiKSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIkVNQTIwIiwiY2xvc2UiXSxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc01BU2lnbmFsLHNpZ25hbENvbXB1dGF0aW9uOmllLmNvbXB1dGVNQVNpZ25hbH0sRU1BMzA6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlR0KCkuY29uY2F0KEV0KCJFTUEzMCIpKSxmb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxkaXNwbGF5U2lnbmFsOiEwLGFkZGl0aW9uYWxDb2x1bW5zOlsiRU1BMzAiLCJjbG9zZSJdLG11dGF0ZURpc3BsYXlWYWx1ZTpuZS5wcm9jZXNzTUFTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZU1BU2lnbmFsfSxFTUE1MDp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6VHQoKS5jb25jYXQoRXQoIkVNQTUwIikpLGZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGRpc3BsYXlTaWduYWw6ITAsYWRkaXRpb25hbENvbHVtbnM6WyJFTUE1MCIsImNsb3NlIl0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NNQVNpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlTUFTaWduYWx9LEVNQTEwMDp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6VHQoKS5jb25jYXQoRXQoIkVNQTEwMCIpKSxmb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxkaXNwbGF5U2lnbmFsOiEwLGFkZGl0aW9uYWxDb2x1bW5zOlsiRU1BMTAwIiwiY2xvc2UiXSxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc01BU2lnbmFsLHNpZ25hbENvbXB1dGF0aW9uOmllLmNvbXB1dGVNQVNpZ25hbH0sRU1BMjAwOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdChFdCgiRU1BMjAwIikpLGZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGRpc3BsYXlTaWduYWw6ITAsYWRkaXRpb25hbENvbHVtbnM6WyJFTUEyMDAiLCJjbG9zZSJdLG11dGF0ZURpc3BsYXlWYWx1ZTpuZS5wcm9jZXNzTUFTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZU1BU2lnbmFsfSxTTUE1Ontjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdChFdCgiU01BNSIpKSxmb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxkaXNwbGF5U2lnbmFsOiEwLGFkZGl0aW9uYWxDb2x1bW5zOlsiU01BNSIsImNsb3NlIl0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NNQVNpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlTUFTaWduYWx9LFNNQTEwOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdChFdCgiU01BMTAiKSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIlNNQTEwIiwiY2xvc2UiXSxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc01BU2lnbmFsLHNpZ25hbENvbXB1dGF0aW9uOmllLmNvbXB1dGVNQVNpZ25hbH0sU01BMjA6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlR0KCkuY29uY2F0KEV0KCJTTUEyMCIpKSxmb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxkaXNwbGF5U2lnbmFsOiEwLGFkZGl0aW9uYWxDb2x1bW5zOlsiU01BMjAiLCJjbG9zZSJdLG11dGF0ZURpc3BsYXlWYWx1ZTpuZS5wcm9jZXNzTUFTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZU1BU2lnbmFsfSxTTUEzMDp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6VHQoKS5jb25jYXQoRXQoIlNNQTMwIikpLGZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGRpc3BsYXlTaWduYWw6ITAsYWRkaXRpb25hbENvbHVtbnM6WyJTTUEzMCIsImNsb3NlIl0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NNQVNpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlTUFTaWduYWx9LFNNQTUwOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdChFdCgiU01BNTAiKSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIlNNQTUwIiwiY2xvc2UiXSxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc01BU2lnbmFsLHNpZ25hbENvbXB1dGF0aW9uOmllLmNvbXB1dGVNQVNpZ25hbH0sU01BMTAwOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdChFdCgiU01BMTAwIikpLGZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGRpc3BsYXlTaWduYWw6ITAsYWRkaXRpb25hbENvbHVtbnM6WyJTTUExMDAiLCJjbG9zZSJdLG11dGF0ZURpc3BsYXlWYWx1ZTpuZS5wcm9jZXNzTUFTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZU1BU2lnbmFsfSxTTUEyMDA6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlR0KCkuY29uY2F0KEV0KCJTTUEyMDAiKSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIlNNQTIwMCIsImNsb3NlIl0sCm11dGF0ZURpc3BsYXlWYWx1ZTpuZS5wcm9jZXNzTUFTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZU1BU2lnbmFsfSwiU3RvY2guSyI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlR0KCkuY29uY2F0KFsiU3RvY2guRCJdKSxmb3JtYXR0ZXI6bnQsY2F0ZWdvcnk6MyxkaXNwbGF5U2lnbmFsOiEwLGFkZGl0aW9uYWxDb2x1bW5zOlsiU3RvY2guSyIsIlN0b2NoLkQiLCJTdG9jaC5LWzFdIiwiU3RvY2guRFsxXSJdLG11dGF0ZURpc3BsYXlWYWx1ZTpuZS5wcm9jZXNzU3RvY2hTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZVN0b2NoU2lnbmFsfSwiU3RvY2guRCI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlR0KCkuY29uY2F0KFsiU3RvY2guSyJdKSxmb3JtYXR0ZXI6bnQsY2F0ZWdvcnk6M30sIk1BQ0QubWFjZCI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlR0KCkuY29uY2F0KFsiTUFDRC5zaWduYWwiXSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIk1BQ0QubWFjZCIsIk1BQ0Quc2lnbmFsIl0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NNQUNEU2lnbmFsLHNpZ25hbENvbXB1dGF0aW9uOmllLmNvbXB1dGVNQUNEU2lnbmFsfSwiTUFDRC5zaWduYWwiOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdChbIk1BQ0QubWFjZCJdKSxmb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6M30sIkFyb29uLlVwIjp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6WyJBcm9vbi5Eb3duIl0sZm9ybWF0dGVyOm50LGNhdGVnb3J5OjN9LCJBcm9vbi5Eb3duIjp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6WyJBcm9vbi5VcCJdLGZvcm1hdHRlcjpudCxjYXRlZ29yeTozfSwiQkIudXBwZXIiOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdChbIkJCLmxvd2VyIiwiS2x0Q2hubC51cHBlciIsIktsdENobmwubG93ZXIiXSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbImNsb3NlIiwiQkIudXBwZXIiXSxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc0JCU2VsbFNpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlQkJTZWxsU2lnbmFsfSwiQkIubG93ZXIiOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdChbIkJCLnVwcGVyIiwiS2x0Q2hubC51cHBlciIsIktsdENobmwubG93ZXIiXSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbImNsb3NlIiwiQkIubG93ZXIiXSxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc0JCQnV5U2lnbmFsLHNpZ25hbENvbXB1dGF0aW9uOmllLmNvbXB1dGVCQkJ1eVNpZ25hbH0sIktsdENobmwudXBwZXIiOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdChbIktsdENobmwubG93ZXIiLCJCQi51cHBlciIsIkJCLmxvd2VyIl0pLGZvcm1hdHRlcjppdCxjYXRlZ29yeTozfSwiS2x0Q2hubC5sb3dlciI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlR0KCkuY29uY2F0KFsiS2x0Q2hubC51cHBlciIsIkJCLnVwcGVyIiwiQkIubG93ZXIiXSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjN9LCJQLlNBUiI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlR0KCksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIlAuU0FSIiwib3BlbiJdLG11dGF0ZURpc3BsYXlWYWx1ZTpuZS5wcm9jZXNzUFNBUlNpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlUFNBUlNpZ25hbH0sIlZhbHVlLlRyYWRlZCI6e2NvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6MSxyYW5nZTpbTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVJ8fC0oTWF0aC5wb3coMiw1MyktMSksTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJ8fE1hdGgucG93KDIsNTMpLTFdLHZhbHVlczpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDVlN119LE1vbmV5Rmxvdzp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGNhdGVnb3J5OjN9LENoYWlraW5Nb25leUZsb3c6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxjYXRlZ29yeTozfSxnb29kd2lsbDp7Y29udHJvbDoicmFuZ2UiLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToyfSxuZXRfZGVidDp7Y29udHJvbDoicmFuZ2UiLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToyfSx0b3RhbF9kZWJ0Ontjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjJ9LHJldmVudWVfcGVyX2VtcGxveWVlOntjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjJ9LHJldHVybl9vbl9pbnZlc3RlZF9jYXBpdGFsOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sYWZ0ZXJfdGF4X21hcmdpbjp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LHByZV90YXhfbWFyZ2luOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sZ3Jvc3NfbWFyZ2luOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCwKY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LGdyb3NzX3Byb2ZpdF9tYXJnaW5fZnk6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSxvcGVyX2luY29tZV9tYXJnaW5fZnk6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSxuZXRfaW5jb21lX2JlZl9kaXNjX29wZXJfbWFyZ2luX2Z5Ontjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sZnJlZV9jYXNoX2Zsb3dfbWFyZ2luX2Z5Ontjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sZnJlZV9jYXNoX2Zsb3dfbWFyZ2luX3R0bTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LHNlbGxfZ2VuX2FkbWluX2V4cF9vdGhlcl9yYXRpb19meTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6Mn0sc2VsbF9nZW5fYWRtaW5fZXhwX290aGVyX3JhdGlvX3R0bTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6Mn0scmVzZWFyY2hfYW5kX2Rldl9yYXRpb19meTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6Mn0scmVzZWFyY2hfYW5kX2Rldl9yYXRpb190dG06e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjJ9LGRpdmlkZW5kc19wYWlkOntjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjJ9LGRpdmlkZW5kX3lpZWxkX3JlY2VudDp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LGJhc2ljX2Vwc19uZXRfaW5jb21lOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToyfSxuZXRfaW5jb21lOntjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjJ9LGdyb3NzX3Byb2ZpdDp7Y29udHJvbDoicmFuZ2UiLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToyfSxncm9zc19wcm9maXRfZnE6e2NvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6Mn0sbnVtYmVyX29mX3NoYXJlaG9sZGVyczp7Y29udHJvbDoicmFuZ2UiLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToyfSxmbG9hdF9zaGFyZXNfb3V0c3RhbmRpbmc6e2NvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6Mn0sdG90YWxfc2hhcmVzX291dHN0YW5kaW5nX2Z1bmRhbWVudGFsOntjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjJ9LHRvdGFsX3NoYXJlc19vdXRzdGFuZGluZzp7Y29udHJvbDoicmFuZ2UiLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToyfSx0b3RhbF9zaGFyZXNfZGlsdXRlZDp7Y29udHJvbDoicmFuZ2UiLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToyfSx0b3RhbF92YWx1ZV90cmFkZWQ6e2NvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6Mn0sdG90YWxfYXNzZXRzOntjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjJ9LHRvdGFsX2N1cnJlbnRfYXNzZXRzOntjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjJ9LHRvdGFsX3JldmVudWU6e2NvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6Mn0sdG90YWxfbGlhYmlsaXRpZXNfZnk6e2NvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6Mn0sdG90YWxfbGlhYmlsaXRpZXNfZnE6e2NvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6Mn0sZGl2aWRlbmRzX3Blcl9zaGFyZV9mcTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6Mn0sZWFybmluZ3NfcGVyX3NoYXJlX2RpbHV0ZWRfdHRtOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToyfSxlbnRlcnByaXNlX3ZhbHVlX2ViaXRkYV90dG06e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsZmlsdGVyRm9ybWF0dGVyOnJ0LGNhdGVnb3J5OjJ9LGVudGVycHJpc2VfdmFsdWVfZnE6e2NvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6Mn0scHJpY2VfcmV2ZW51ZV90dG06e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsZmlsdGVyRm9ybWF0dGVyOnJ0LGNhdGVnb3J5OjIKfSxudW1iZXJfb2ZfZW1wbG95ZWVzOntjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjJ9LGxhc3RfYW5udWFsX2Vwczp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6Mn0sbGFzdF9hbm51YWxfcmV2ZW51ZTp7Y29udHJvbDoicmFuZ2UiLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToyfSxDQ0kyMDp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIkNDSTIwIiwiQ0NJMjBbMV0iXSxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc0NDSTIwU2lnbmFsLHNpZ25hbENvbXB1dGF0aW9uOmllLmNvbXB1dGVDQ0kyMFNpZ25hbH0sIkRvbmNoQ2gyMC5VcHBlciI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlR0KCkuY29uY2F0KFsiRG9uY2hDaDIwLkxvd2VyIl0pLGZvcm1hdHRlcjppdCxjYXRlZ29yeTozfSwiRG9uY2hDaDIwLkxvd2VyIjp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6VHQoKS5jb25jYXQoWyJEb25jaENoMjAuVXBwZXIiXSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjN9LEh1bGxNQTk6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlR0KCkuY29uY2F0KEV0KCJIdWxsTUE5IikpLGZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGRpc3BsYXlTaWduYWw6ITAsYWRkaXRpb25hbENvbHVtbnM6WyJSZWMuSHVsbE1BOSJdLG11dGF0ZURpc3BsYXlWYWx1ZTpuZS5wcm9jZXNzU2ltcGxlU2lnbmFsLHNpZ25hbENvbXB1dGF0aW9uOmllLmNvbXB1dGVTaW1wbGVTaWduYWx9LEFPOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxkaXNwbGF5U2lnbmFsOiEwLGFkZGl0aW9uYWxDb2x1bW5zOlsiQU8iLCJBT1sxXSIsIkFPWzJdIl0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NBT1NpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlQU9TaWduYWx9LCJQaXZvdC5NLkNsYXNzaWMuTWlkZGxlIjp7Zm9ybWF0dGVyOm50LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsYWxpZ246InJpZ2h0In0sIlBpdm90Lk0uQ2xhc3NpYy5SMSI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLkNsYXNzaWMuUjIiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSwiUGl2b3QuTS5DbGFzc2ljLlIzIjp7Zm9ybWF0dGVyOm50LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsYWxpZ246InJpZ2h0In0sIlBpdm90Lk0uQ2xhc3NpYy5TMSI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLkNsYXNzaWMuUzIiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSwiUGl2b3QuTS5DbGFzc2ljLlMzIjp7Zm9ybWF0dGVyOm50LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsYWxpZ246InJpZ2h0In0sIlBpdm90Lk0uRmlib25hY2NpLk1pZGRsZSI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLkZpYm9uYWNjaS5SMSI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLkZpYm9uYWNjaS5SMiI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLkZpYm9uYWNjaS5SMyI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLkZpYm9uYWNjaS5TMSI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLkZpYm9uYWNjaS5TMiI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLkZpYm9uYWNjaS5TMyI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLkNhbWFyaWxsYS5NaWRkbGUiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSwiUGl2b3QuTS5DYW1hcmlsbGEuUjEiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSwiUGl2b3QuTS5DYW1hcmlsbGEuUjIiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSwiUGl2b3QuTS5DYW1hcmlsbGEuUjMiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSwiUGl2b3QuTS5DYW1hcmlsbGEuUzEiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSwiUGl2b3QuTS5DYW1hcmlsbGEuUzIiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSwiUGl2b3QuTS5DYW1hcmlsbGEuUzMiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSwiUGl2b3QuTS5Xb29kaWUuTWlkZGxlIjp7Zm9ybWF0dGVyOm50LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsYWxpZ246InJpZ2h0In0sIlBpdm90Lk0uV29vZGllLlIxIjp7Zm9ybWF0dGVyOm50LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsYWxpZ246InJpZ2h0In0sIlBpdm90Lk0uV29vZGllLlIyIjp7Zm9ybWF0dGVyOm50LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsYWxpZ246InJpZ2h0In0sIlBpdm90Lk0uV29vZGllLlIzIjp7CmZvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLldvb2RpZS5TMSI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLldvb2RpZS5TMiI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLldvb2RpZS5TMyI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLkRlbWFyay5NaWRkbGUiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSwiUGl2b3QuTS5EZW1hcmsuUjEiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSwiUGl2b3QuTS5EZW1hcmsuUzEiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSxjYW5kbGVzdGljazp7YWxpYXM6Im5hbWUiLGNvbnRyb2w6InNlbGVjdCIsY2F0ZWdvcnk6Myxzb3J0YWJsZUNvbHVtbjohMSxhZGRpdGlvbmFsQ29sdW1uczpvdC5tYXAoKGU9PmUua2V5KSksbXV0YXRlRGlzcGxheVZhbHVlOihlLC4uLnQpPT57Y29uc3Qgbz1bXTtmb3IobGV0IGU9MDtlPG90Lmxlbmd0aDsrK2UpdFtlXSYmby5wdXNoKG90W2VdKTtyZXR1cm4gby5sZW5ndGg/by5tYXAoKGU9PmA8c3BhbiBjbGFzcz0idHYtc2NyZWVuZXItdGFibGVfX3BhdHRlcm5faWNvbiBhcHBseS1jb21tb24tdG9vbHRpcCBjb21tb24tdG9vbHRpcC1maXhlZCBjb21tb24tdG9vbHRpcC1iZWxvdyBjb21tb24tdG9vbHRpcC1odG1sIiBkYXRhLWNvbG9yLXRoZW1lPSJyb3VuZC1zaGFkb3ciIHRpdGxlPSc8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci10YWJsZV9fcGF0dGVybl90b29sdGlwX2NvbnRhaW5lciI+JHtlLnN2Z308ZGl2PiR7ZS5uYW1lfTwvZGl2PjwvZGl2Pic+JHtlLnN2Z308L3NwYW4+YCkpLmpvaW4oIiAiKTonPHNwYW4gY2xhc3M9InR2LXNjcmVlbmVyLXRhYmxlX19wYXR0ZXJuX2VtcHR5Ij7igJQ8L3NwYW4+J30scmFuZ2U6b3QubWFwKChlPT5lLm5hbWUpKSxzb3VyY2VSYW5nZTpvdCxjdXN0b21GaWx0ZXJDb25kaXRpb246ZT0+e0FycmF5LmlzQXJyYXkoZSl8fChlPVtlXSk7cmV0dXJue2xlZnQ6ZS5tYXAoKGU9PmJ0KGUsb3QpKSkuam9pbigiLCIpLG9wZXJhdGlvbjoiZXF1YWwiLHJpZ2h0OjF9fX0sdXBkYXRlX21vZGU6e2hpZGRlbkNvbHVtbjohMSxoaWRlU2V0dXBDb2x1bW46ITAsc2tpcEZpZWxkOiEwfSxwcmVtYXJrZXRfY2hhbmdlOnt0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygzMjU3MTMpKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDIwODg0NikpLGNvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbImNoYW5nZSJdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MyxoaWdobGlnaHRDaGFuZ2U6ITB9LHByZW1hcmtldF9jaGFuZ2VfYWJzOnt0aXRsZTpfLnQobnVsbCx2b2lkIDAsbyg1OTc3NjMpKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDQ2NTU3NCkpLGNvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbImNoYW5nZV9hYnMiXSxmb3JtYXR0ZXI6aXQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxoaWdobGlnaHRDaGFuZ2U6ITB9LHByZW1hcmtldF9jaGFuZ2VfZnJvbV9vcGVuOnt0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygzODY5NjkpKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDY0MjMyOCkpLGNvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSxwcmVtYXJrZXRfY2hhbmdlX2Zyb21fb3Blbl9hYnM6e3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDUwODI3NikpLHNob3J0VGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNDk5NDk1KSksY29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjppdCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGhpZ2hsaWdodENoYW5nZTohMH0scHJlbWFya2V0X2Nsb3NlOnt0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygzODY0NzQpKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDM4NjQ3NCkpLGNvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsZmlsdGVyRm9ybWF0dGVyOnJ0LGNhdGVnb3J5OjF9LHByZW1hcmtldF9nYXA6e3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDUxMTMxMykpLHNob3J0VGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNTExMzEzKSksY29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOlsiZ2FwIl0sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeTozLGhpZ2hsaWdodENoYW5nZTohMH0scHJlbWFya2V0X2hpZ2g6e3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDI0NTgxMikpLHNob3J0VGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oMjQ1ODEyKSksY29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6MX0scHJlbWFya2V0X2xvdzp7dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNDI1MjAwKSksc2hvcnRUaXRsZTpfLnQobnVsbCx2b2lkIDAsbyg0MjUyMDApKSxjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToxfSxwcmVtYXJrZXRfb3Blbjp7dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oMjE2NzY0KSksCnNob3J0VGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oMjE2NzY0KSksY29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6MX0scHJlbWFya2V0X3ZvbHVtZTp7dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oMTcxNDE1KSksc2hvcnRUaXRsZTpfLnQobnVsbCx2b2lkIDAsbygxNzE0MTUpKSxjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjF9LHBvc3RtYXJrZXRfY2hhbmdlOnt0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygzOTk5NjgpKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDY3MzcwMykpLGNvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbImNoYW5nZSJdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MyxoaWdobGlnaHRDaGFuZ2U6ITB9LHBvc3RtYXJrZXRfY2hhbmdlX2Ficzp7dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oMzAwNjU1KSksc2hvcnRUaXRsZTpfLnQobnVsbCx2b2lkIDAsbyg0NTI3MjIpKSxjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6WyJjaGFuZ2VfYWJzIl0sZm9ybWF0dGVyOml0LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSxwb3N0bWFya2V0X2Nsb3NlOnt0aXRsZTpfLnQobnVsbCx2b2lkIDAsbyg3ODgwMDIpKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDc4ODAwMikpLGNvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsZmlsdGVyRm9ybWF0dGVyOnJ0LGNhdGVnb3J5OjF9LHBvc3RtYXJrZXRfaGlnaDp7dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNzQyMjk5KSksc2hvcnRUaXRsZTpfLnQobnVsbCx2b2lkIDAsbyg3NDIyOTkpKSxjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToxfSxwb3N0bWFya2V0X2xvdzp7dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oMTM2OTAyKSksc2hvcnRUaXRsZTpfLnQobnVsbCx2b2lkIDAsbygxMzY5MDIpKSxjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToxfSxwb3N0bWFya2V0X29wZW46e3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDM5NzMzMykpLHNob3J0VGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oMzk3MzMzKSksY29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6MX0scG9zdG1hcmtldF92b2x1bWU6e3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDc5OTI2KSksc2hvcnRUaXRsZTpfLnQobnVsbCx2b2lkIDAsbyg3OTkyNikpLGNvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6MX0sZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnE6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsZmlsdGVyRm9ybWF0dGVyOnJ0LGNhdGVnb3J5OjJ9LGVhcm5pbmdzX3Blcl9zaGFyZV9mcTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6Mn0sZWFybmluZ3NfcmVsZWFzZV9kYXRlOntjb250cm9sOiJzZWxlY3QiLGlzU2luZ2xlOiEwLGNhdGVnb3J5OjIsc29ydGFibGU6ITEsdXNlRGVmYXVsdFJhbmdlOiEwLGRlZmF1bHRSYW5nZTp1dC5maWx0ZXIoKGU9Pi0xIT09X3QuaW5kZXhPZihlLmtleSkpKS5tYXAoKGU9PmUubmFtZSkpLHNvdXJjZVJhbmdlOnV0LGN1c3RvbUZpbHRlckNvbmRpdGlvbjpndCgiZWFybmluZ3NfcmVsZWFzZV9kYXRlIiksZm9ybWF0dGVyOmN0fSxlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZTp7Y29udHJvbDoic2VsZWN0Iixpc1NpbmdsZTohMCxjYXRlZ29yeToyLHNvcnRhYmxlOiExLHVzZURlZmF1bHRSYW5nZTohMCxkZWZhdWx0UmFuZ2U6dXQuZmlsdGVyKChlPT4tMSE9PXB0LmluZGV4T2YoZS5rZXkpKSkubWFwKChlPT5lLm5hbWUpKSxzb3VyY2VSYW5nZTp1dCxjdXN0b21GaWx0ZXJDb25kaXRpb246Z3QoImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlIiksZm9ybWF0dGVyOmN0fSwiUmVjb21tZW5kLkFsbCI6e2NvbnRyb2w6InNlbGVjdCIsY2F0ZWdvcnk6MyxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc1JlY29tbWVuZFNpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlUmVjb21tZW5kU2lnbmFsLHVzZURlZmF1bHRSYW5nZTohMCxzb3J0YWJsZTohMSxzb3J0U2VsZWN0ZWRGaXJzdDohMSxkZWZhdWx0UmFuZ2U6ZHQsY3VzdG9tRmlsdGVyQ29uZGl0aW9uOmU9PnNlKGUsIlJlY29tbWVuZC5BbGwiKX0sIlJlY29tbWVuZC5NQSI6e2NvbnRyb2w6InNlbGVjdCIsY2F0ZWdvcnk6MyxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc1JlY29tbWVuZFNpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlUmVjb21tZW5kU2lnbmFsLHVzZURlZmF1bHRSYW5nZTohMCxzb3J0YWJsZTohMSxzb3J0U2VsZWN0ZWRGaXJzdDohMSxkZWZhdWx0UmFuZ2U6ZHQsY3VzdG9tRmlsdGVyQ29uZGl0aW9uOmU9PnNlKGUsIlJlY29tbWVuZC5NQSIpfSwiUmVjb21tZW5kLk90aGVyIjp7Y29udHJvbDoic2VsZWN0IixjYXRlZ29yeTozLG11dGF0ZURpc3BsYXlWYWx1ZTpuZS5wcm9jZXNzUmVjb21tZW5kU2lnbmFsLHNpZ25hbENvbXB1dGF0aW9uOmllLmNvbXB1dGVSZWNvbW1lbmRTaWduYWwsdXNlRGVmYXVsdFJhbmdlOiEwLHNvcnRhYmxlOiExLHNvcnRTZWxlY3RlZEZpcnN0OiExLGRlZmF1bHRSYW5nZTpkdCwKY3VzdG9tRmlsdGVyQ29uZGl0aW9uOmU9PnNlKGUsIlJlY29tbWVuZC5PdGhlciIpfSwiU3RvY2guUlNJLksiOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbIlN0b2NoLlJTSS5EIl0sZm9ybWF0dGVyOm50LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIlJlYy5TdG9jaC5SU0kiXSxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc1NpbXBsZVNpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlU2ltcGxlU2lnbmFsfSwiU3RvY2guUlNJLkQiOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbIlN0b2NoLlJTSS5LIl0sZm9ybWF0dGVyOm50LGNhdGVnb3J5OjN9LCJXLlIiOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsY2F0ZWdvcnk6MyxkaXNwbGF5U2lnbmFsOiEwLGFkZGl0aW9uYWxDb2x1bW5zOlsiUmVjLldSIl0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NTaW1wbGVTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZVNpbXBsZVNpZ25hbH0sUk9DOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsY2F0ZWdvcnk6M30sQkJQb3dlcjp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIlJlYy5CQlBvd2VyIl0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NTaW1wbGVTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZVNpbXBsZVNpZ25hbH0sVU86e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxjYXRlZ29yeTozLGRpc3BsYXlTaWduYWw6ITAsYWRkaXRpb25hbENvbHVtbnM6WyJSZWMuVU8iXSxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc1NpbXBsZVNpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlU2ltcGxlU2lnbmFsfSxWV0FQOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdChFdCgpKSxmb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6M30sVldNQTp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6VHQoKS5jb25jYXQoRXQoKSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIlJlYy5WV01BIl0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NTaW1wbGVTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZVNpbXBsZVNpZ25hbH0sQURSOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLGZvcm1hdHRlcjppdCxjYXRlZ29yeTozfSwiSWNoaW1va3UuQ0xpbmUiOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdCh4dCgiSWNoaW1va3UuQ0xpbmUiKSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjN9LCJJY2hpbW9rdS5CTGluZSI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlR0KCkuY29uY2F0KHh0KCJJY2hpbW9rdS5CTGluZSIpKSxmb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxkaXNwbGF5U2lnbmFsOiEwLGFkZGl0aW9uYWxDb2x1bW5zOlsiUmVjLkljaGltb2t1Il0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NTaW1wbGVTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZVNpbXBsZVNpZ25hbH0sIkljaGltb2t1LkxlYWQxIjp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6VHQoKS5jb25jYXQoeHQoIkljaGltb2t1LkxlYWQxIikpLGZvcm1hdHRlcjppdCxjYXRlZ29yeTozfSwiSWNoaW1va3UuTGVhZDIiOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdCh4dCgiSWNoaW1va3UuTGVhZDIiKSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjN9LGVsZW1lbnRzOntoaWRkZW5PcGVyYXRvcnM6QXQsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oOTA1ODM1KSksc2hvcnRUaXRsZTpfLnQobnVsbCx2b2lkIDAsbyg5MDU4MzUpKSxjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6MX0sYmFzaWNfZWxlbWVudHM6e2hpZGRlbk9wZXJhdG9yczpBdCx0aXRsZTpfLnQobnVsbCx2b2lkIDAsbyg1MjIwMTQpKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDUyMjAxNCkpLGNvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpydCxjYXRlZ29yeToxfSxkcHNfY29tbW9uX3N0b2NrX3ByaW1faXNzdWVfZnk6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsZmlsdGVyRm9ybWF0dGVyOnJ0LGNhdGVnb3J5OjJ9LCIyNGhfdm9sfDUiOntjYXRlZ29yeToxLGZvcm1hdHRlcjpzdCxjb250cm9sOiJyYW5nZSIsdGl0bGU6RWVbIjI0aF92b2x8NSJdWzBdLHNob3J0VGl0bGU6RWVbIjI0aF92b2x8NSJdWzFdfSwiMjRoX3ZvbF9jaGFuZ2V8NSI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsY2F0ZWdvcnk6MSxoaWdobGlnaHRDaGFuZ2U6ITB9LGN1cnJlbmN5Ontjb250cm9sOiJzZWxlY3QiLGRlZmF1bHRSYW5nZTpbIlVTRCIsIlVTRFQiLCJVU0RDIiwiQlVTRCIsIkJUQyIsIkVUSCIsIkRBSSIsIkJOQiIsIldCVEMiLCJXRVRIIl0sZGlzYWJsZWQ6ITAsY2F0ZWdvcnk6MSxoaWRlU2V0dXBDb2x1bW46ITB9LHRvdGFsX3JldmVudWVfeW95X2dyb3d0aF9mcTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LHRvdGFsX3JldmVudWVfcW9xX2dyb3d0aF9mcTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsCmNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSx0b3RhbF9yZXZlbnVlX3lveV9ncm93dGhfZnk6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSx0b3RhbF9yZXZlbnVlX3lveV9ncm93dGhfdHRtOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sZ3Jvc3NfcHJvZml0X3lveV9ncm93dGhfZnE6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSxncm9zc19wcm9maXRfcW9xX2dyb3d0aF9mcTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LGdyb3NzX3Byb2ZpdF95b3lfZ3Jvd3RoX2Z5Ontjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sZ3Jvc3NfcHJvZml0X3lveV9ncm93dGhfdHRtOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sZWJpdGRhX3lveV9ncm93dGhfZnE6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSxlYml0ZGFfcW9xX2dyb3d0aF9mcTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LGViaXRkYV95b3lfZ3Jvd3RoX2Z5Ontjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sZWJpdGRhX3lveV9ncm93dGhfdHRtOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sbmV0X2luY29tZV95b3lfZ3Jvd3RoX2ZxOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sbmV0X2luY29tZV9xb3FfZ3Jvd3RoX2ZxOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sbmV0X2luY29tZV95b3lfZ3Jvd3RoX2Z5Ontjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sbmV0X2luY29tZV95b3lfZ3Jvd3RoX3R0bTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LGZyZWVfY2FzaF9mbG93X3lveV9ncm93dGhfZnE6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSxmcmVlX2Nhc2hfZmxvd19xb3FfZ3Jvd3RoX2ZxOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sZnJlZV9jYXNoX2Zsb3dfeW95X2dyb3d0aF9meTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LGZyZWVfY2FzaF9mbG93X3lveV9ncm93dGhfdHRtOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sZWFybmluZ3NfcGVyX3NoYXJlX2RpbHV0ZWRfeW95X2dyb3d0aF9mcTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LGVhcm5pbmdzX3Blcl9zaGFyZV9kaWx1dGVkX3FvcV9ncm93dGhfZnE6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwCn0sZWFybmluZ3NfcGVyX3NoYXJlX2RpbHV0ZWRfeW95X2dyb3d0aF9meTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LGVhcm5pbmdzX3Blcl9zaGFyZV9kaWx1dGVkX3lveV9ncm93dGhfdHRtOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sZHBzX2NvbW1vbl9zdG9ja19wcmltX2lzc3VlX3lveV9ncm93dGhfZnk6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSx0b3RhbF9hc3NldHNfeW95X2dyb3d0aF9mcTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LHRvdGFsX2Fzc2V0c19xb3FfZ3Jvd3RoX2ZxOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sdG90YWxfYXNzZXRzX3lveV9ncm93dGhfZnk6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSx0b3RhbF9kZWJ0X3lveV9ncm93dGhfZnE6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSx0b3RhbF9kZWJ0X3FvcV9ncm93dGhfZnE6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSx0b3RhbF9kZWJ0X3lveV9ncm93dGhfZnk6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSxjYXNoX25fZXF1aXZhbGVudHNfZnE6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6Mn0sY2FzaF9uX2VxdWl2YWxlbnRzX2Z5Ontjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjJ9LGNhc2hfbl9zaG9ydF90ZXJtX2ludmVzdF9mcTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToyfSxjYXNoX25fc2hvcnRfdGVybV9pbnZlc3RfZnk6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6Mn19O2Z1bmN0aW9uIFJ0KGUsdCl7dD10LnJlcGxhY2UoLyhccyspLywiKDxbXj5dKz4pKiQxKDxbXj5dKz4pKiIpO2NvbnN0IG89bmV3IFJlZ0V4cCgiKCIrdCsiKSIsImdpIik7cmV0dXJuIGUucmVwbGFjZShvLCI8bWFyaz4kMTwvbWFyaz4iKX1mdW5jdGlvbiBGdChlLHQpe2ZvcihsZXQgbz0wO288ZS5sZW5ndGg7KytvKXtjb25zdCBpPWVbb107aS5sZWZ0JiZJdFtpLmxlZnRdJiYoaS5sZWZ0PWhlKGkubGVmdCx0KSl9fWZ1bmN0aW9uIEx0KGUsdCxvLGkpe2lmKEFycmF5LmlzQXJyYXkodCkmJjA9PT10Lmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIkVtcHR5IHZhbHVlIik7bGV0IG49byYmb1tlXT9vW2VdOnQ7aWYoImZ1bmN0aW9uIj09dHlwZW9mIEl0W2VdLmN1c3RvbUZpbHRlckNvbmRpdGlvbil7Y29uc3QgdD1JdFtlXS5jdXN0b21GaWx0ZXJDb25kaXRpb24obik7aWYodClyZXR1cm4gQXJyYXkuaXNBcnJheSh0KT9GdCh0LGkpOigiY2FuZGxlc3RpY2siPT09ZSYmKHQubGVmdD10LmxlZnQuc3BsaXQoIiwiKS5tYXAoKGU9PmhlKGUsaSkpKS5qb2luKCIsIikpLHQubGVmdCYmSXRbdC5sZWZ0XSYmKHQubGVmdD1oZSh0LmxlZnQsaSkpKSx0LmZpbHRlck9SJiYoRnQodC5maWx0ZXIsaSksRnQodC5maWx0ZXJPUixpKSksdC5maWx0ZXIyRmxhZyYmKEZ0KHQuZmlsdGVyLGkpLEZ0KHQuZmlsdGVyMkFuZFBhcnQsaSkpLHR9aWYoImZ1bmN0aW9uIj09dHlwZW9mIEl0W2VdLm11dGF0ZUZpbHRlckNvbmRpdGlvblZhbHVlKXtjb25zdCB0PUl0W2VdLm11dGF0ZUZpbHRlckNvbmRpdGlvblZhbHVlKG4pO3QmJihuPXQpfWNvbnN0IHI9QXJyYXkuaXNBcnJheShuKTtpZihuJiYib2JqZWN0Ij09dHlwZW9mIG4mJiFyKXtjb25zdCB0PXtsZWZ0OmUsb3BlcmF0aW9uOm4ub3BlcmF0b3J9O3JldHVybiBuLnZhbHVlJiYodC5yaWdodD1uLnZhbHVlKSx0fXJldHVybntsZWZ0OmhlKGUsaSksb3BlcmF0aW9uOnI/ImluX3JhbmdlIjoiZXF1YWwiLHJpZ2h0OnI/bi5zbGljZSgpOm59fWZ1bmN0aW9uIER0KGUsdCxvLGkpe2lmKG10KHQpJiZtdChvKSl0aHJvdyBuZXcgRXJyb3IoIkVtcHR5IHZhbHVlIik7bGV0IG4scj17fTtzd2l0Y2goSXRbZV0uY29udHJvbCl7Y2FzZSJyYW5nZSI6aWYodCYmIm9iamVjdCI9PXR5cGVvZiB0JiYhQXJyYXkuaXNBcnJheSh0KSl7cj17bGVmdDplLG9wZXJhdGlvbjp0Lm9wZXJhdG9yfSx0LnZhbHVlJiYoci5yaWdodD10LnZhbHVlKTticmVha30KdmFyIHM9bz9BcnJheS5pc0FycmF5KG9bZV0pJiZvW2VdLnNsaWNlKCl8fFtdOnQuc2xpY2UoKTtyPXtsZWZ0OmhlKGUsaSksb3BlcmF0aW9uOiJpbl9yYW5nZSIscmlnaHQ6c30sMj09PXMubGVuZ3RoJiYoMCxILmlzTnVtYmVyKShzWzBdKSYmKDAsSC5pc051bWJlcikoc1sxXSkmJigtMWUxMDA9PStzWzBdP3I9e2xlZnQ6aGUoZSxpKSxvcGVyYXRpb246ImVsZXNzIixyaWdodDpzWzFdfToxZTEwMD09K3NbMV0mJihyPXtsZWZ0OmhlKGUsaSksb3BlcmF0aW9uOiJlZ3JlYXRlciIscmlnaHQ6c1swXX0pKTticmVhaztjYXNlImNvbmRpdGlvbiI6aWYobXQodC5vcGVyYXRvcikpdGhyb3cgbmV3IEVycm9yKCJFbXB0eSB2YWx1ZSBvcGVyYXRvciIpO2lmKG10KHQudmFsdWUpKXRocm93IG5ldyBFcnJvcigiRW1wdHkgdmFsdWUiKTtuPW8mJm9bZV0udmFsdWU/b1tlXS52YWx1ZTp0LnZhbHVlLEl0W25dJiYobj1oZShuLGkpKSxyPXtsZWZ0OmhlKGUsaSksb3BlcmF0aW9uOm8mJm9bZV0ub3BlcmF0b3I/b1tlXS5vcGVyYXRvcjp0Lm9wZXJhdG9yLHJpZ2h0Om59O2JyZWFrO2Nhc2UidG9nZ2xlIjpyPXtsZWZ0OmhlKGUsaSksb3BlcmF0aW9uOm8mJm9bZV0ub3BlcmF0b3I/b1tlXS5vcGVyYXRvcjpJdFtlXS5maWx0ZXIub3BlcmF0b3IscmlnaHQ6byYmb1tlXS52YWx1ZT9vW2VdLnZhbHVlOkl0W2VdLmZpbHRlci52YWx1ZX07YnJlYWs7Y2FzZSJzZWxlY3QiOnI9THQoZSx0LG8saSk7YnJlYWs7ZGVmYXVsdDoic2VsZWN0Ij09PUl0W2VdLmZpbHRlckNvbmRpdGlvbiYmKHI9THQoZSx0LG8saSkpfXJldHVybiByfWZ1bmN0aW9uIE90KGUsdCl7IWZ1bmN0aW9uKGUsdCl7Zm9yKGNvbnN0IG8gaW4gZSllW29dLmRpc2FibGVkPTI9PT1lW29dLmNhdGVnb3J5fHx0LmluY2x1ZGVzKG8pfShlLCh0fHxbXSkuY29uY2F0KCJ0eXBlIiwiaW5kdXN0cnkiLCJtYXJrZXRfY2FwX2Jhc2ljIiwiYmV0YV8xX3llYXIiLCJWYWx1ZS5UcmFkZWQiLCJNb25leUZsb3ciLCJDaGFpa2luTW9uZXlGbG93IiwiZWxlbWVudHMiLCJiYXNpY19lbGVtZW50cyIsInByZW1hcmtldF9jaGFuZ2UiLCJwcmVtYXJrZXRfY2hhbmdlX2FicyIsInByZW1hcmtldF9jaGFuZ2VfZnJvbV9vcGVuIiwicHJlbWFya2V0X2NoYW5nZV9mcm9tX29wZW5fYWJzIiwicHJlbWFya2V0X2Nsb3NlIiwicHJlbWFya2V0X2dhcCIsInByZW1hcmtldF9oaWdoIiwicHJlbWFya2V0X2xvdyIsInByZW1hcmtldF9vcGVuIiwicHJlbWFya2V0X3ZvbHVtZSIsInBvc3RtYXJrZXRfY2hhbmdlIiwicG9zdG1hcmtldF9jaGFuZ2VfYWJzIiwicG9zdG1hcmtldF9jbG9zZSIsInBvc3RtYXJrZXRfaGlnaCIsInBvc3RtYXJrZXRfbG93IiwicG9zdG1hcmtldF9vcGVuIiwicG9zdG1hcmtldF92b2x1bWUiKSl9ZnVuY3Rpb24gTnQoKXtmb3IoY29uc3QgZSBvZiBPYmplY3Qua2V5cyhFZSkpZSBpbiBJdCYmKEl0W2VdLnRpdGxlPUl0W2VdLnRpdGxlfHxFZVtlXVswXSxJdFtlXS5zaG9ydFRpdGxlPUl0W2VdLnNob3J0VGl0bGV8fEVlW2VdWzFdKX1mdW5jdGlvbiBQdChlLHQpe2lmKGRlbGV0ZSBJdC5uYW1lLmNvbnRyb2wsTnQoKSwiZm9yZXgiPT09ZSYmKEl0LmNvdW50cnkudGl0bGU9Xy50KG51bGwsdm9pZCAwLG8oMjI0ODIxKSksSXQuY291bnRyeS5zaG9ydFRpdGxlPV8udChudWxsLHZvaWQgMCxvKDIyNDgyMSkpLGRlbGV0ZSBJdC5zZWN0b3IuY29udHJvbCxJdC5zZWN0b3IudGl0bGU9Xy50KG51bGwsdm9pZCAwLG8oODYyOTQ5KSksSXQuc2VjdG9yLnNob3J0VGl0bGU9Xy50KG51bGwsdm9pZCAwLG8oODYyOTQ5KSksSXQuc2VjdG9yLnJlc2V0dGFibGVGaWx0ZXI9ITEsSXQuc2VjdG9yLm11dGF0ZUZpbHRlckNvbmRpdGlvblZhbHVlPWU9PiEhZSYmKEFycmF5LmlzQXJyYXkoZSk/ZS5tYXAoKGU9PnZ0KGUsaHQpKSk6dnQoZSxodCkpKSwic3RvY2siPT09ZSl7SXQuc2VjdG9yLnRpdGxlPV8udChudWxsLHZvaWQgMCxvKDI3ODcyOSkpLEl0LnNlY3Rvci5zaG9ydFRpdGxlPV8udChudWxsLHZvaWQgMCxvKDI3ODcyOSkpLEl0LnR5cGUuY3VzdG9tRmlsdGVyQ29uZGl0aW9uPXllLEl0LnR5cGUuZGVmYXVsdFJhbmdlPUN0LEl0Lm5hbWUuZGVmYXVsdFJhbmdlPUN0LEl0LnNlY3Rvci5jb250cm9sPSJzZWxlY3QiLEl0LnNlY3Rvci5yZXNldHRhYmxlRmlsdGVyPSEwLGRlbGV0ZSBJdC5zZWN0b3IubXV0YXRlRmlsdGVyQ29uZGl0aW9uVmFsdWU7Zm9yKGNvbnN0IGUgaW4gSXQpSXRbZV0uZGlzYWJsZWQ9ITF9WyJzdG9jayIsImNyeXB0byJdLmluY2x1ZGVzKGUpJiYoSXQubmFtZS5jb250cm9sPSJzZWxlY3QiKSwiY3J5cHRvIj09PWUmJihJdC5zZWN0b3IudGl0bGU9Xy50KG51bGwsdm9pZCAwLG8oNTQ1OCkpLEl0LnNlY3Rvci5zaG9ydFRpdGxlPV8udChudWxsLHZvaWQgMCxvKDU0NTgpKSxJdC5zZWN0b3IuY29udHJvbD0ic2VsZWN0IixJdC5zZWN0b3IucmVzZXR0YWJsZUZpbHRlcj0hMCxkZWxldGUgSXQuc2VjdG9yLm11dGF0ZUZpbHRlckNvbmRpdGlvblZhbHVlLEl0Lm5hbWUuYWRkaXRpb25hbENvbHVtbnMucHVzaCgiZXhjaGFuZ2UiKSxJdC50eXBlLmRlZmF1bHRSYW5nZT1rdCxJdC5uYW1lLmRlZmF1bHRSYW5nZT1rdCxJdC50eXBlLmN1c3RvbUZpbHRlckNvbmRpdGlvbj1iZSksImNyeXB0byIhPT1lJiYoSXQubmFtZS5hZGRpdGlvbmFsQ29sdW1ucz1JdC5uYW1lLmFkZGl0aW9uYWxDb2x1bW5zLmZpbHRlcigoZT0+ImV4Y2hhbmdlIiE9PWUpKSksImNyeXB0b19ta3QiPT09ZSYmKEl0LnNlY3Rvci50aXRsZT1fLnQobnVsbCx2b2lkIDAsbyg3MzQ5OTMpKSxJdC5zZWN0b3Iuc2hvcnRUaXRsZT1fLnQobnVsbCx2b2lkIDAsbyg3MzQ5OTMpKSksWyJjcnlwdG8iLCJjcnlwdG9fbWt0Il0uaW5jbHVkZXMoZSkmJihJdC50b3RhbF9zaGFyZXNfb3V0c3RhbmRpbmcudGl0bGU9Xy50KG51bGwsdm9pZCAwLG8oODM1OTYxKSksSXQudG90YWxfc2hhcmVzX291dHN0YW5kaW5nLnNob3J0VGl0bGU9Xy50KG51bGwsdm9pZCAwLG8oODEzMDc3KSkpLCJzZWN0b3IiPT09ZSYmKEl0LmRlc2NyaXB0aW9uLmhpZGRlbkNvbHVtbj0hMSwKSXQuZGVzY3JpcHRpb24udGl0bGU9Xy50KG51bGwsdm9pZCAwLG8oMjc4NzI5KSksSXQuZGVzY3JpcHRpb24uc2hvcnRUaXRsZT1fLnQobnVsbCx2b2lkIDAsbygyNzg3MjkpKSxJdC5kZXNjcmlwdGlvbi5tdXRhdGVEaXNwbGF5VmFsdWU9TXQpLCJpbmR1c3RyeSI9PT1lJiYoSXQuZGVzY3JpcHRpb24uaGlkZGVuQ29sdW1uPSExLEl0LmRlc2NyaXB0aW9uLnRpdGxlPV8udChudWxsLHZvaWQgMCxvKDg3NzYxKSksSXQuZGVzY3JpcHRpb24uc2hvcnRUaXRsZT1fLnQobnVsbCx2b2lkIDAsbyg4Nzc2MSkpLEl0LmRlc2NyaXB0aW9uLm11dGF0ZURpc3BsYXlWYWx1ZT1NdCxJdC5lbGVtZW50cy50aXRsZT1fLnQobnVsbCx2b2lkIDAsbyg1MjIwMTQpKSxJdC5lbGVtZW50cy5zaG9ydFRpdGxlPV8udChudWxsLHZvaWQgMCxvKDUyMjAxNCkpLEl0LnNlY3Rvci5jb250cm9sPSJzZWxlY3QiLEl0LnNlY3Rvci5yZXNldHRhYmxlRmlsdGVyPSEwKSxbInNlY3RvciIsImluZHVzdHJ5Il0uaW5jbHVkZXModCkmJihJdC5zZWN0b3IuaGlkZGVuQ29sdW1uPSEwKSwiYm9uZHMiPT09ZSYmKEl0LmNsb3NlLnRpdGxlPV8udChudWxsLHtjb250ZXh0OiJCb25kcyJ9LG8oNzU0NikpLEl0LmNsb3NlLnNob3J0VGl0bGU9Xy50KG51bGwse2NvbnRleHQ6IkJvbmRzIn0sbyg3NTQ2KSksSXQuY291cG9uPXt0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygyMjU3MDYpKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDIyNTcwNikpLGFsaWduOiJyaWdodCIsZm9ybWF0dGVyOmF0fSxJdC5tYXR1cml0eV9kYXRlPXt0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygyNzc5ODQpKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDI3Nzk4NCkpLGFsaWduOiJyaWdodCIsbXV0YXRlRGlzcGxheVZhbHVlOm1lfSksImNvbnRpbnVvdXNfZnV0dXJlcyI9PT1lJiYoSXQuZXhwaXJhdGlvbj17dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oMzY1NTg5KSksc2hvcnRUaXRsZTpfLnQobnVsbCx2b2lkIDAsbygzNjU1ODkpKSxhbGlnbjoicmlnaHQiLG11dGF0ZURpc3BsYXlWYWx1ZTptZX0pLGZ1bmN0aW9uKGUsdCl7c3dpdGNoKGUpe2Nhc2Uic3RvY2siOlsiYmlkIiwiYXNrIiwiY3VycmVuY3kiLCJjZW50cmFsaXphdGlvbiJdLmZvckVhY2goKGU9Pnt0W2VdLmRpc2FibGVkPSEwfSkpO2JyZWFrO2Nhc2UiZm9yZXgiOk90KHQsWyJleGNoYW5nZSIsInZvbHVtZSIsInJlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYyIsInJlbGF0aXZlX3ZvbHVtZV9pbnRyYWRheS41IiwiYXZlcmFnZV92b2x1bWVfMTBkX2NhbGMiLCJhdmVyYWdlX3ZvbHVtZV8zMGRfY2FsYyIsImF2ZXJhZ2Vfdm9sdW1lXzYwZF9jYWxjIiwiYXZlcmFnZV92b2x1bWVfOTBkX2NhbGMiLCJjdXJyZW5jeSIsImNlbnRyYWxpemF0aW9uIl0pO2JyZWFrO2Nhc2UiZnV0dXJlcyI6Y2FzZSJjZmQiOk90KHQsWyJiaWQiLCJhc2siLCJjZW50cmFsaXphdGlvbiJdKTticmVhaztjYXNlImNyeXB0byI6T3QodCxbImNvdW50cnkiLCJzZWN0b3IiXSl9fShlLEl0KTtbIm1hcmtldF9jYXBfY2FsYyIsIm1hcmtldF9jYXBfZGlsdXRlZF9jYWxjIiwidG90YWxfc2hhcmVzX291dHN0YW5kaW5nIiwidG90YWxfc2hhcmVzX2RpbHV0ZWQiLCJ0b3RhbF92YWx1ZV90cmFkZWQiLCIyNGhfdm9sfDUiLCIyNGhfdm9sX2NoYW5nZXw1Il0uZm9yRWFjaCgodD0+e0l0W3RdLmRpc2FibGVkPSFbImNyeXB0byIsImNyeXB0b19ta3QiXS5pbmNsdWRlcyhlKX0pKTtbImVsZW1lbnRzIiwiYmFzaWNfZWxlbWVudHMiXS5mb3JFYWNoKCh0PT57SXRbdF0uZGlzYWJsZWQ9IVsic2VjdG9yIiwiaW5kdXN0cnkiXS5pbmNsdWRlcyhlKX0pKX1OdCgpO2NvbnN0IEJ0PVt7a2V5OiItMSIsbmFtZTpfLnQobnVsbCx2b2lkIDAsbyg3MDA1MDgpKX0se2tleToiMSIsbmFtZTpfLnQobnVsbCx2b2lkIDAsbyg1NzI5NjIpKX1dLCR0PVt7a2V5OiItMSIsbmFtZTonPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdGFibGVfX21hcmtldC1pY29uIj4nK28oNTk4NTg1KSsiPC9kaXY+In0se2tleToiMSIsbmFtZTonPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdGFibGVfX21hcmtldC1pY29uIj4nK28oNjkzMjM2KSsiPC9kaXY+In1dO2Z1bmN0aW9uIFd0KCl7Y29uc3QgZT0oZSx0LG8saSk9Pntjb25zdCBuPWJ0KGUsdXQpfHxudWxsLHI9bj9TdChuKTpudWxsO3JldHVybiByJiZyWzBdPD0xZTMqdCYmMWUzKnQ8PXJbMV0/aTpvfTtJdC5lYXJuaW5nc19yZWxlYXNlX25leHRfdGltZT17aXNTaW5nbGU6ITAsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oODYyMTE5KSksdG9vbHRpcDoodCxvLGkpPT57Y29uc3Qgbj1JdC5lYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZS52YWx1ZSxyPWUobix0LG8saSk7cmV0dXJuIHI/eXQoKHM9cikudG9TdHJpbmcoKSxCdCl8fHM6dm9pZCAwO3ZhciBzfSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDg2MjExOSkpLGRpc2FibGVIZWFkZXJDb250cm9sOiEwLGFsaWduOiJjZW50ZXIiLGFkZGl0aW9uYWxDb2x1bW5zOlsiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUiLCJlYXJuaW5nc19yZWxlYXNlX3RpbWUiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfdGltZSJdLG11dGF0ZURpc3BsYXlWYWx1ZToodCxvLGksbik9Pntjb25zdCByPUl0LmVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlLnZhbHVlLHM9ZShyLG8saSxuKTtyZXR1cm4gcz95dCgoYT1zKS50b1N0cmluZygpLCR0KXx8YTpxdDt2YXIgYX0sY2F0ZWdvcnk6Mn0sSXQuY2xvc2UudGl0bGU9Xy50KG51bGwsdm9pZCAwLG8oODM0OTApKSxJdC5jbG9zZS5zaG9ydFRpdGxlPV8udChudWxsLHZvaWQgMCxvKDgzNDkwKSksSXQuZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGU9T2JqZWN0LmFzc2lnbihJdC5lYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZSx7dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNTA3NzI5KSksc2hvcnRUaXRsZTpfLnQobnVsbCx2b2lkIDAsbyg1MDc3MjkpKSxub0FueTohMCxhZGRpdGlvbmFsQ29sdW1uczpbImVhcm5pbmdzX3JlbGVhc2VfZGF0ZSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlIl0sCmRlZmF1bHRSYW5nZTp1dC5tYXAoKGU9PmUubmFtZSkpLHJlc2V0dGFibGVGaWx0ZXI6ITEsbXV0YXRlRGlzcGxheVZhbHVlOihlLHQsbyxpKT0+e2lmKCFvJiZ0KXJldHVybiBjdC5mb3JtYXQodCk7aWYoaS52YWx1ZSl7Y29uc3QgZT1idChpLnZhbHVlLHV0KTtpZihlKXtjb25zdCBpPVN0KGUpO2lmKGkpe2lmKHQmJlZ0KHQsaSkpcmV0dXJuIGN0LmZvcm1hdCh0KTtpZihvJiZWdChvLGkpKXJldHVybiBjdC5mb3JtYXQobyl9fX1yZXR1cm4gZX0sY3VzdG9tRmlsdGVyQ29uZGl0aW9uOmd0KCl9KSxJdC5lYXJuaW5nc19yZWxlYXNlX25leHRfY2FsZW5kYXJfZGF0ZT17dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oMTU2ODc0KSksc2hvcnRUaXRsZTpfLnQobnVsbCx2b2lkIDAsbygxNTY4NzQpKSxmb3JtYXR0ZXI6Y3QsY2F0ZWdvcnk6MSxhZGRpdGlvbmFsQ29sdW1uczpbImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlIiwiZWFybmluZ3NfcmVsZWFzZV9jYWxlbmRhcl9kYXRlIl0sbXV0YXRlRGlzcGxheVZhbHVlOihlLHQsbyk9Pntjb25zdCBpPWJ0KEl0LmVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlLnZhbHVlLHV0KTtpZihpKXtjb25zdCBvPVN0KGkpO2lmKG8mJlZ0KHQsbykpcmV0dXJuIGV9cmV0dXJuIG8/Y3QuZm9ybWF0KG8pOnF0fX0sZGVsZXRlIEl0LmVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X2ZxLmNvbnRyb2wsSXQuZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnEudGl0bGU9Xy50KG51bGwsdm9pZCAwLG8oNzg5MTU1KSksSXQuZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnEuc2hvcnRUaXRsZT1fLnQobnVsbCx2b2lkIDAsbyg3ODkxNTUpKSxJdC5lYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcS5kaXNhYmxlSGVhZGVyQ29udHJvbD0hMCxJdC5lYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcS5hbGlnbj0icmlnaHQiLEl0LmVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X2ZxLmFkZGl0aW9uYWxDb2x1bW5zPVsiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfZnEiXSxJdC5lYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcS5tdXRhdGVEaXNwbGF5VmFsdWU9KGUsdCxvKT0+e2NvbnN0IGk9YnQoSXQuZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUudmFsdWUsdXQpO2lmKGkpe2NvbnN0IG89U3QoaSk7aWYobyYmVnQodCxvKSlyZXR1cm4gZX1yZXR1cm4gbz9udC5mb3JtYXQobyk6cXR9LEl0LmVhcm5pbmdzX3Blcl9zaGFyZV9mcS50aXRsZT1fLnQobnVsbCx2b2lkIDAsbyg4NTc4OTgpKSxJdC5lYXJuaW5nc19wZXJfc2hhcmVfZnEuc2hvcnRUaXRsZT1fLnQobnVsbCx2b2lkIDAsbyg4NTc4OTgpKSxJdC5lcHNfc3VycHJpc2VfZnE9e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSx0aXRsZTpFZS5lcHNfc3VycHJpc2VfZnFbMF0sc2hvcnRUaXRsZTpFZS5lcHNfc3VycHJpc2VfZnFbMV0sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sSXQuZXBzX3N1cnByaXNlX3BlcmNlbnRfZnE9e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSx0aXRsZTpFZS5lcHNfc3VycHJpc2VfcGVyY2VudF9mcVswXSxzaG9ydFRpdGxlOkVlLmVwc19zdXJwcmlzZV9wZXJjZW50X2ZxWzFdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LEl0LnJldmVudWVfZnE9e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSx0aXRsZTpfLnQobnVsbCx2b2lkIDAsbyg1ODgzNzMpKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDU4ODM3MykpLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToxfSxJdC5yZXZlbnVlX2ZvcmVjYXN0X25leHRfZnE9e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSx0aXRsZTpfLnQobnVsbCx2b2lkIDAsbyg0NTk1ODcpKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDQ1OTU4NykpLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToxLGFkZGl0aW9uYWxDb2x1bW5zOlsiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUiLCJyZXZlbnVlX2ZvcmVjYXN0X2ZxIl0sbXV0YXRlRGlzcGxheVZhbHVlOihlLHQsbyk9Pntjb25zdCBpPWJ0KEl0LmVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlLnZhbHVlLHV0KTtpZihpKXtjb25zdCBvPVN0KGkpO2lmKG8mJlZ0KHQsbykpcmV0dXJuIjAiPT09ZT9xdDplfXJldHVybiBvP3N0LmZvcm1hdChvKTpxdH19LFV0KCl9Y29uc3QgcXQ9JzxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lci10YWJsZV9fY2VsbC0tY29sb3Itbm9ybWFsIj7igJQ8L3NwYW4+JztmdW5jdGlvbiBWdChlLHQpe3JldHVybiBmdW5jdGlvbihlLHQpe2NvbnN0IG89dFswXSxpPXRbMV07cmV0dXJuIG88PWUmJmU8PWl9KDFlMyplLHQpfWNvbnN0IEh0PWU9PntlLmFkZGl0aW9uYWxDb2x1bW5zPVsiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUiXSxlLm11dGF0ZURpc3BsYXlWYWx1ZT0oZSx0KT0+e2NvbnN0IG89YnQoSXQuZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUudmFsdWUsdXQpO2lmKG8pe2NvbnN0IGU9U3Qobyk7aWYoZSYmVnQodCxlKSlyZXR1cm4gcXR9cmV0dXJuIGV9fTtmdW5jdGlvbiBVdCgpe0h0KEl0LmVhcm5pbmdzX3Blcl9zaGFyZV9mcSksSHQoSXQuZXBzX3N1cnByaXNlX2ZxKSxIdChJdC5lcHNfc3VycHJpc2VfcGVyY2VudF9mcSksSHQoSXQucmV2ZW51ZV9mcSl9ZnVuY3Rpb24genQoZSx0PSJzdG9jayIsbz0hMCl7aWYoIWUpcmV0dXJuIG51bGw7aWYoWyJjcnlwdG9fbWt0Il0uaW5jbHVkZXModCkmJmUuY3J5cHRvRm9ybWF0dGVyKXJldHVybiBlLmNyeXB0b0Zvcm1hdHRlcjtpZihbImZvcmV4IiwiY3J5cHRvIiwiY3J5cHRvX21rdCIsImNmZCIsImZ1dHVyZXMiXS5pbmNsdWRlcyh0KSl7CmlmKGUuZm9yZXhGaWx0ZXJGb3JtYXR0ZXIpcmV0dXJuIGUuZm9yZXhGaWx0ZXJGb3JtYXR0ZXI7aWYoZS5mb3JleEZvcm1hdHRlcilyZXR1cm4gZS5mb3JleEZvcm1hdHRlcn1yZXR1cm4gbyYmZS5maWx0ZXJGb3JtYXR0ZXI/ZS5maWx0ZXJGb3JtYXR0ZXI6ZS5mb3JtYXR0ZXI/ZS5mb3JtYXR0ZXI6bnVsbH1jb25zdCBqdD17fTtmdW5jdGlvbiBHdChlLHQsbyxpKXtjb25zdCBuPWUrIjsiK3QrIjsiK28rIjsiK2k7cmV0dXJuIGp0W25dfHwoanRbbl09bmV3IGouUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6ZSxtaW5Nb3ZlOnQsZnJhY3Rpb25hbDpvLG1pbk1vdmUyOml9KSksanRbbl19ZnVuY3Rpb24gWHQoZSl7cmV0dXJuIEl0W2VdJiYhSXRbZV0uZml4ZWQmJiFJdFtlXS5kaXNhYmxlZCYmIUl0W2VdLmhpZGVTZXR1cENvbHVtbn1mdW5jdGlvbiBLdChlKXtyZXR1cm4gZS5maWx0ZXJUaXRsZXx8ZS50aXRsZX1mdW5jdGlvbiBZdChlLHQpe3JldHVybiBBcnJheS5pc0FycmF5KGUpJiZBcnJheS5pc0FycmF5KHQpP2Z1bmN0aW9uKGUsdCl7Y29uc3Qgbz1bLi4uZSwuLi50XTtyZXR1cm5bTWF0aC5taW4oLi4ubyksTWF0aC5tYXgoLi4ubyldfShlLHQpOiJzdHJpbmciIT10eXBlb2YgZT9mdW5jdGlvbihlLHQpe3JldHVybiBlLm9wZXJhdG9yIT09dC5vcGVyYXRvcj9udWxsOiJncmVhdGVyIj09PXQub3BlcmF0b3I/e29wZXJhdG9yOmUub3BlcmF0b3IsdmFsdWU6TWF0aC5taW4odC52YWx1ZSxlLnZhbHVlKX06e29wZXJhdG9yOmUub3BlcmF0b3IsdmFsdWU6TWF0aC5tYXgoZS52YWx1ZSx0LnZhbHVlKX19KGUsdCk6ZT09PXQ/ZTpudWxsfWNvbnN0IEp0PXtmb3JleDp7dG9wX2dhaW5lcnM6Xy50KG51bGwsdm9pZCAwLG8oNDA3NDM4KSksdG9wX2xvc2VyczpfLnQobnVsbCx2b2lkIDAsbyg0Mjg5NzgpKX0sZGVmYXVsdDp7dG9wX2dhaW5lcnM6Xy50KG51bGwsdm9pZCAwLG8oODE0MDIxKSksdG9wX2xvc2VyczpfLnQobnVsbCx2b2lkIDAsbygzODQ1NDApKX19LFp0PVt7aWQ6ImdlbmVyYWwiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDkxMDgyMSkpLGNvbnRlbnQ6e3NvcnRfZmllbGQ6Im5hbWUiLHNvcnRfZGlyZWN0aW9uOiJhc2MiLGZpbHRlcnM6e319fSx7aWQ6Im1vc3RfY2FwaXRhbGl6ZWQiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDU1NDE1MSkpLGNvbnRlbnQ6e3NvcnRfZmllbGQ6Im1hcmtldF9jYXBfYmFzaWMiLHNvcnRfZGlyZWN0aW9uOiJkZXNjIixmaWx0ZXJzOntpc19wcmltYXJ5OntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfSxhY3RpdmVfc3ltYm9sOntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfX19fSx7aWQ6InZvbHVtZV9sZWFkZXJzIix0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygxNTUyODApKSxhZGp1c3RGaWx0ZXI6e3ZvbHVtZTpbMV19LGNvbnRlbnQ6e3NvcnRfZmllbGQ6InZvbHVtZSIsc29ydF9kaXJlY3Rpb246ImRlc2MiLGZpbHRlcnM6e2lzX3ByaW1hcnk6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9LGFjdGl2ZV9zeW1ib2w6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9fX19LHtpZDoidG9wX2dhaW5lcnMiLHRpdGxlOkp0LmRlZmF1bHQudG9wX2dhaW5lcnMsYWRqdXN0RmlsdGVyOntjaGFuZ2U6WzFdfSxjb250ZW50Ontzb3J0X2ZpZWxkOiJjaGFuZ2UiLHNvcnRfZGlyZWN0aW9uOiJkZXNjIixmaWx0ZXJzOntjaGFuZ2U6e29wZXJhdG9yOiJncmVhdGVyIix2YWx1ZTowfSxpc19wcmltYXJ5OntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfSxhY3RpdmVfc3ltYm9sOntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfX19fSx7aWQ6InRvcF9sb3NlcnMiLHRpdGxlOkp0LmRlZmF1bHQudG9wX2xvc2VycyxhZGp1c3RGaWx0ZXI6e2NoYW5nZTpbMF19LGNvbnRlbnQ6e3NvcnRfZmllbGQ6ImNoYW5nZSIsc29ydF9kaXJlY3Rpb246ImFzYyIsZmlsdGVyczp7Y2hhbmdlOntvcGVyYXRvcjoibGVzcyIsdmFsdWU6MH0saXNfcHJpbWFyeTp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH0sYWN0aXZlX3N5bWJvbDp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH19fX0se2lkOiJhdGgiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDI0MTMxNykpLGNvbnRlbnQ6e3NvcnRfZmllbGQ6Im5hbWUiLHNvcnRfZGlyZWN0aW9uOiJhc2MiLGZpbHRlcnM6eyJIaWdoLkFsbCI6e29wZXJhdG9yOiJlbGVzcyIsdmFsdWU6ImhpZ2gifSxpc19wcmltYXJ5OntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfSxhY3RpdmVfc3ltYm9sOntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfX19fSx7aWQ6ImF0bCIsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNjI1NDg4KSksY29udGVudDp7c29ydF9maWVsZDoibmFtZSIsc29ydF9kaXJlY3Rpb246ImFzYyIsZmlsdGVyczp7Ikxvdy5BbGwiOntvcGVyYXRvcjoiZWdyZWF0ZXIiLHZhbHVlOiJsb3cifSxpc19wcmltYXJ5OntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfSxhY3RpdmVfc3ltYm9sOntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfX19fSx7aWQ6ImhpZ2hfZGl2aWRlbmQiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDg4NTkzKSksY29udGVudDp7c29ydF9maWVsZDoiZGl2aWRlbmRfeWllbGRfcmVjZW50Iixzb3J0X2RpcmVjdGlvbjoiZGVzYyIsZmlsdGVyczp7ZGl2aWRlbmRfeWllbGRfcmVjZW50OntvcGVyYXRvcjoiZ3JlYXRlciIsdmFsdWU6MH0saXNfcHJpbWFyeTp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH0sYWN0aXZlX3N5bWJvbDp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH19fX0se2lkOiJhYm92ZV81MndrX2hpZ2giLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDQ1NzE5NSkpLGNvbnRlbnQ6e3NvcnRfZmllbGQ6Im5hbWUiLHNvcnRfZGlyZWN0aW9uOiJhc2MiLGZpbHRlcnM6e3ByaWNlXzUyX3dlZWtfaGlnaDp7b3BlcmF0b3I6ImVsZXNzIix2YWx1ZToiaGlnaCJ9LGlzX3ByaW1hcnk6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9LGFjdGl2ZV9zeW1ib2w6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9fX19LHtpZDoiYmVsb3dfNTJ3a19sb3ciLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDgzODY5MCkpLApjb250ZW50Ontzb3J0X2ZpZWxkOiJuYW1lIixzb3J0X2RpcmVjdGlvbjoiYXNjIixmaWx0ZXJzOntwcmljZV81Ml93ZWVrX2xvdzp7b3BlcmF0b3I6ImVncmVhdGVyIix2YWx1ZToibG93In0saXNfcHJpbWFyeTp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH0sYWN0aXZlX3N5bWJvbDp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH19fX0se2lkOiJtb250aGx5X2hpZ2giLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDc1OTg0MSkpLGNvbnRlbnQ6e3NvcnRfZmllbGQ6Im5hbWUiLHNvcnRfZGlyZWN0aW9uOiJhc2MiLGZpbHRlcnM6eyJIaWdoLjFNIjp7b3BlcmF0b3I6ImVsZXNzIix2YWx1ZToiaGlnaCJ9LGlzX3ByaW1hcnk6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9LGFjdGl2ZV9zeW1ib2w6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9fX19LHtpZDoibW9udGhseV9sb3ciLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDk5NjU3MikpLGNvbnRlbnQ6e3NvcnRfZmllbGQ6Im5hbWUiLHNvcnRfZGlyZWN0aW9uOiJhc2MiLGZpbHRlcnM6eyJMb3cuMU0iOntvcGVyYXRvcjoiZWdyZWF0ZXIiLHZhbHVlOiJsb3cifSxpc19wcmltYXJ5OntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfSxhY3RpdmVfc3ltYm9sOntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfX19fSx7aWQ6Im1vc3Rfdm9sYXRpbGUiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDY1NjYwMykpLGFkanVzdEZpbHRlcjp7IlZvbGF0aWxpdHkuRCI6WzFdfSxjb250ZW50Ontzb3J0X2ZpZWxkOiJWb2xhdGlsaXR5LkQiLHNvcnRfZGlyZWN0aW9uOiJkZXNjIixmaWx0ZXJzOntpc19wcmltYXJ5OntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfSxhY3RpdmVfc3ltYm9sOntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfX19fSx7aWQ6InVudXN1YWxfdm9sdW1lIix0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygyNTAwNzIpKSxhZGp1c3RGaWx0ZXI6e3JlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYzpbMV19LGNvbnRlbnQ6e3NvcnRfZmllbGQ6InJlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYyIsc29ydF9kaXJlY3Rpb246ImRlc2MiLGZpbHRlcnM6e2lzX3ByaW1hcnk6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9LHJlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYzpudWxsLGFjdGl2ZV9zeW1ib2w6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9fX19LHtpZDoib3ZlcmJvdWdodCIsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oMjIyNTk3KSksY29udGVudDp7c29ydF9maWVsZDoibmFtZSIsc29ydF9kaXJlY3Rpb246ImFzYyIsZmlsdGVyczp7aXNfcHJpbWFyeTp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH0sUlNJOntvcGVyYXRvcjoiZ3JlYXRlciIsdmFsdWU6NzB9LGFjdGl2ZV9zeW1ib2w6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9fX19LHtpZDoib3ZlcnNvbGQiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDgxMTIwMykpLGNvbnRlbnQ6e3NvcnRfZmllbGQ6Im5hbWUiLHNvcnRfZGlyZWN0aW9uOiJhc2MiLGZpbHRlcnM6e2lzX3ByaW1hcnk6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9LFJTSTp7b3BlcmF0b3I6Imxlc3MiLHZhbHVlOjMwfSxhY3RpdmVfc3ltYm9sOntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfX19fSx7aWQ6Im91dHBlcmZvcm1pbmdfU01BNTAiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDM3NjUzMikpLGNvbnRlbnQ6e3NvcnRfZmllbGQ6Im5hbWUiLHNvcnRfZGlyZWN0aW9uOiJhc2MiLGZpbHRlcnM6e2lzX3ByaW1hcnk6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9LFNNQTUwOntvcGVyYXRvcjoibGVzcyIsdmFsdWU6ImNsb3NlIn0sYWN0aXZlX3N5bWJvbDp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH19fX0se2lkOiJ1bmRlcnBlcmZvcm1pbmdfU01BNTAiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDc0MjMzOCkpLGNvbnRlbnQ6e3NvcnRfZmllbGQ6Im5hbWUiLHNvcnRfZGlyZWN0aW9uOiJhc2MiLGZpbHRlcnM6e2lzX3ByaW1hcnk6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9LFNNQTUwOntvcGVyYXRvcjoiZ3JlYXRlciIsdmFsdWU6ImNsb3NlIn0sYWN0aXZlX3N5bWJvbDp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH19fX0se2lkOiJlYXJuaW5nc190aGlzX3dlZWsiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDEzNDA1OSkpLGNvbnRlbnQ6e3NvcnRfZmllbGQ6Im1hcmtldF9jYXBfYmFzaWMiLHNvcnRfZGlyZWN0aW9uOiJkZXNjIixmaWx0ZXJzOntpc19wcmltYXJ5OntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfSxlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZTpudWxsLGFjdGl2ZV9zeW1ib2w6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9fX19LHtpZDoicHJlX21hcmtldF9nYWluZXJzIix0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygzMjk2NDgpKSxhZGp1c3RGaWx0ZXI6e3ByZW1hcmtldF9jaGFuZ2U6WzFdfSxjb250ZW50Ontzb3J0X2ZpZWxkOiJwcmVtYXJrZXRfY2hhbmdlIixzb3J0X2RpcmVjdGlvbjoiZGVzYyIsZmlsdGVyczp7aXNfcHJpbWFyeTp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH0scHJlbWFya2V0X2NoYW5nZTp7b3BlcmF0b3I6ImdyZWF0ZXIiLHZhbHVlOjB9LGFjdGl2ZV9zeW1ib2w6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9fX19LHtpZDoiYWZ0ZXJfaG91cnNfZ2FpbmVycyIsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNTMyMDI4KSksYWRqdXN0RmlsdGVyOntwb3N0bWFya2V0X3ZvbHVtZTpbMV19LGNvbnRlbnQ6e3NvcnRfZmllbGQ6InBvc3RtYXJrZXRfdm9sdW1lIixzb3J0X2RpcmVjdGlvbjoiZGVzYyIsZmlsdGVyczp7aXNfcHJpbWFyeTp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH0scG9zdG1hcmtldF92b2x1bWU6e29wZXJhdG9yOiJncmVhdGVyIix2YWx1ZTowfSxhY3RpdmVfc3ltYm9sOntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfX19fV07ZnVuY3Rpb24gUXQoZSl7WnQuZm9yRWFjaCgodD0+e2lmKHQuZGlzYWJsZWQ9ITEsCnQuaWQgaW4gQi5hbWVyaWNhKWZvcihjb25zdCBlIGluIEIuYW1lcmljYVt0LmlkXSl0LmNvbnRlbnQuZmlsdGVyc1tlXT1CLmFtZXJpY2FbdC5pZF1bZV07KHQ9PntbImZvcmV4IiwiY3J5cHRvIl0uaW5jbHVkZXMoZVswXSl8fGUuaW5jbHVkZXMoImJyYXppbCIpP2RlbGV0ZSB0LmNvbnRlbnQuZmlsdGVycy5uYW1lOnQuY29udGVudC5maWx0ZXJzLm5hbWU9WyJjb21tb24iLCJkciIsImV0ZiJdLDE9PT1lLmxlbmd0aCYmImFtZXJpY2EiPT09ZVswXT90LmNvbnRlbnQuZmlsdGVycy5leGNoYW5nZT1bIk5ZU0UiLCJOQVNEQVEiLCJBTUVYIl06ZGVsZXRlIHQuY29udGVudC5maWx0ZXJzLmV4Y2hhbmdlLCJnZW5lcmFsIj09PXQuaWQmJigiY3J5cHRvIj09PWVbMF0mJih0LmNvbnRlbnQuc29ydF9maWVsZD0iMjRoX3ZvbHw1Iix0LmNvbnRlbnQuc29ydF9kaXJlY3Rpb249ImRlc2MiKSwiZm9yZXgiPT09ZVswXSYmKHQuY29udGVudC5zb3J0X2ZpZWxkPSJuYW1lIix0LmNvbnRlbnQuc29ydF9kaXJlY3Rpb249ImFzYyIpKTtjb25zdCBvPVtdO2Zvcihjb25zdCByIG9mIGUpe2NvbnN0IGU9QltyXTtpZihlJiZ0LmlkIGluIGUpaWYodC5kaXNhYmxlZHx8bnVsbCE9PWVbdC5pZF0pe2NvbnN0IHI9ZVt0LmlkXTtmb3IoY29uc3QgZSBpbiByKXtjb25zdCBzPXJbZV07aWYobnVsbD09PXN8fChpPXQuY29udGVudC5maWx0ZXJzW2VdLG49cyxPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoaSkhPT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobikpKWRlbGV0ZSB0LmNvbnRlbnQuZmlsdGVyc1tlXSxvLnB1c2goZSk7ZWxzZSBpZighby5pbmNsdWRlcyhlKSYmZSBpbiB0LmNvbnRlbnQuZmlsdGVycyl7Y29uc3QgaT1ZdCh0LmNvbnRlbnQuZmlsdGVyc1tlXSxzKTtpP3QuY29udGVudC5maWx0ZXJzW2VdPWk6KGRlbGV0ZSB0LmNvbnRlbnQuZmlsdGVyc1tlXSxvLnB1c2goZSkpfWVsc2UgdC5jb250ZW50LmZpbHRlcnNbZV09c319ZWxzZSB0LmRpc2FibGVkPSEwfXZhciBpLG47ImZvcmV4Ij09PWVbMF0/SnQuZm9yZXhbdC5pZF0mJih0LnRpdGxlPUp0LmZvcmV4W3QuaWRdKTpKdC5kZWZhdWx0W3QuaWRdJiYodC50aXRsZT1KdC5kZWZhdWx0W3QuaWRdKX0pKHQpLCJnZW5lcmFsIj09PXQuaWQmJih0LmRpc2FibGVkPSJmb3JleCIhPT1lWzBdJiYiY3J5cHRvIiE9PWVbMF0pLFsicHJlX21hcmtldF9nYWluZXJzIiwiYWZ0ZXJfaG91cnNfZ2FpbmVycyJdLmluY2x1ZGVzKHQuaWQpJiYodC5kaXNhYmxlZD0hMCl9KSl9Y29uc3QgZW89SlNPTi5wYXJzZSgnWyJCQUhSQUlOIiwiQkVMRVgiLCJCTVYiLCJCU1NFIiwiQlZMIiwiQlZNVCIsIkRGTSIsIkRTRUJEIiwiRVVST05FWFRfQU1TIiwiRVVST05FWFRfQlJVIiwiRVVST05FWFRfTElTIiwiRVVST05FWFRfUEFSIiwiRVVST05FWFRBTVMiLCJFVVJPTkVYVEJSVSIsIkVVUk9ORVhUTElTIiwiRVVST05FWFRQQVIiLCJFVVJPTkVYVERVQiIsIk9TRSIsIk9TTCIsIkZTRSIsIkhLRVgiLCJIT1NFIiwiSUNFU0ciLCJJQ0VBQlVEIiwiSUNFVVNDQSIsIklDRUVOREVYIiwiSlNFIiwiTFVYU0UiLCJNT0VYIiwiTVlYIiwiTkFHIiwiTkFTREFRRFVCQUkiLCJOU0UiLCJOU0VORyIsIk5TRUtFIiwiTkdNIiwiTlpYIiwiUFNFIiwiUFNYIiwiU0FQU0UiLCJTRVQiLCJTR1giLCJTWlNFIiwiU0hGRSIsIlRBREFXVUwiLCJUU0UiLCJUV1NFIiwiRlRTRVNUIiwiTE1FIiwiUVNFIiwiTFNFIiwiTFNJTiJdJyk7Y29uc3QgdG89WyJhcnRlY2hlY29tIiwiY2luY29kaWFzIiwiY29wZWVzIiwiZWxjb25maWRlbmNpYWwiLCJlbGVzcGFub2xjb20iLCJlbG5hY2lvbmFsRCIsImVscGFpc2ZpbmFuY2llcm8iLCJlbHBlcmlvZGljb2RlbGFlbmVyZ2lhIiwiZXBlIiwiZmluYW56YXNEIiwibGFpbmZvcm1hY2lvbmNvbSJdLG9vPVsiYm92ZXNwYSIsImZvcmJlc2NvbWJyIiwiZ2VuaWFsaW52ZXN0aW1lbnRvcyIsIm1hcmNvcG9sb2NvbWJyIiwibW9uZXl0aW1lc2NvbWJyIiwiTm90aWNpYXNhZ3JpY29sYUQiLCJwb2RlcjM2MCIsInNldWRpbmhlaXJvIiwic3BhY2Vtb25leWNvbWJyIiwidHJhZGVyc2NsdWJicmFzaWwiLCJ0cmFkZXJzY2x1YmJyYXNpbEQiLCJ2b2Nlc2FhYnJpbGNvbWJyIiwieHBpY29tYnIiXTtjb25zdCBpbz0iYW1lcmljYSI7ZnVuY3Rpb24gbm8oZSx0KXtjb25zdCBvPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZW8uc2xpY2UoKTtyZXR1cm4gZSYmb28uaW5jbHVkZXMoZSkmJnQuc3BsaWNlKHQuaW5kZXhPZigiQk1GQk9WRVNQQSIpLDEpLCJhbWJpdG8iPT09ZSYmdC5zcGxpY2UodC5pbmRleE9mKCJCQ0JBIiksMSksImhlZ25hcm5vIj09PWUmJnQuc3BsaWNlKHQuaW5kZXhPZigiT1NMIiksMSksZSYmdG8uaW5jbHVkZXMoZSkmJnQuc3BsaWNlKHQuaW5kZXhPZigiQk1FIiksMSksZSYmWyJyaXlhZGhjYXBpdGFsRCIsInJpeWFkaGNhcGl0YWxSVCJdLmluY2x1ZGVzKGUpJiYodC5zcGxpY2UodC5pbmRleE9mKCJUQURBV1VMIiksMSksdC5zcGxpY2UodC5pbmRleE9mKCJERk0iKSwxKSksIk5HWCI9PT1lJiZ0LnNwbGljZSh0LmluZGV4T2YoIk5TRU5HIiksMSksdH0odCk7cmV0dXJuIE9iamVjdC5rZXlzKGUpLmZpbHRlcigodD0+e2lmKFsiZm9yZXgiLCJjcnlwdG8iXS5pbmNsdWRlcyh0KSlyZXR1cm4hMDtjb25zdCBpPWVbdF07cmV0dXJuISFpJiYoaS5zdG9ja3M9aS5zdG9ja3MuZmlsdGVyKChlPT4tMT09PW8uaW5kZXhPZihlKSkpLDAhPT1pLnN0b2Nrcy5sZW5ndGgpfSkpLm1hcCgodD0+KHtjb250ZW50OmVbdF0/ZVt0XS50aXRsZSsoZVt0XS5zdG9ja3MubGVuZ3RoP2AgKCR7cm8odCxlKX0pYDoiIik6dCx2YWx1ZTp0fSkpKS5zb3J0KCgoZSx0KT0+ZS52YWx1ZT09PWlvPy0xOnQudmFsdWU9PT1pb3x8KGU/LmNvbnRlbnQ/PyIiKT4odD8uY29udGVudD8/IiIpPzE6LTEpKX1mdW5jdGlvbiBybyhlLHQpe2xldCBvPVsuLi50W2VdLnN0b2Nrc107Y29uc3QgaT1WKClbZV07cmV0dXJuIGkmJihvPW8uZmlsdGVyKChlPT4haS5pbmNsdWRlcyhlKSkpKSxvLmpvaW4oIiwgIil9dmFyIHNvPW8oOTAyMTAwKSxhbz1vKDQwMDE4MSk7Y29uc3QgbG89ewpob3N0OiJfdW5rbm93biIscGF0aDoiIn07ZnVuY3Rpb24gY28oZSl7aWYoZSl0cnl7Y29uc3QgdD1uZXcgVVJMKGUpO3JldHVybntob3N0OnQuaG9zdG5hbWV8fHQuaG9zdHx8Il91bmtub3duIixwYXRoOnQucGF0aG5hbWV9fWNhdGNoe3JldHVybn19ZnVuY3Rpb24gaG8oKXtyZXR1cm4gY28oZnVuY3Rpb24oKXtjb25zdCBlPXdpbmRvdy5pbml0RGF0YT8uaGFzaFNldHRpbmdzPy5bInBhZ2UtdXJpIl07aWYoZSlyZXR1cm4iaHR0cHM6Ly8iK2V9KCkpfHxjbyhkb2N1bWVudC5yZWZlcnJlcil8fGNvKGxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucz8uWzBdKXx8bG99dmFyIHVvPW8oMzg5Mjk4KSxfbz1vKDkzMDIzMSkscG89KG8oODU1NzQyKSxvKDY2MjM5MiksbygxMzMyNDMpLG8oMjg2ODIwKSxvKDIzMjM2NCkpLG1vPShvKDM2NDgzOCksbyg4MTU3MjgpLG8oMTIxNjM0KSxvKDcxMTk3OSksbyg5ODY3MDUpLG8oMjAyODE1KSxvKDk1MDc3MSksbyg2MzgyODIpLG8oMTEyNjEzKSxvKDk3NTI0NCksbyg5NTI2ODYpLG8oNDQ2OTU2KSxvKDQ1NTU3KSxvKDc5MDUwMSksbyg1NTEyMTUpLG8oMTY3NTU5KSxvKDkyMjIwNiksbyg0ODk3NTIpLG8oODU3MDE5KSxvKDIxODgxNCkpLGdvPW8oNjQ3NjE0KTtvKDQ0MzYyMCk7dmFyIHZvPW8oNTQ3ODUxKSxmbz1vKDc3ODQ1OCkseW89byg4NTU5ODkpO2Z1bmN0aW9uIGJvKGUsdCxvKXtjb25zdCBpPVtbIiYiLCImYW1wOyJdLFsiPCIsIiZsdDsiXSxbIj4iLCImZ3Q7Il0sWyciJywiJnF1b3Q7Il0sWyInIiwiJiMwMzk7Il0sWyInIiwiJiMzOTsiXV07dCYmaS5mb3JFYWNoKChlPT5lLnJldmVyc2UoKSkpO2xldCBuPWU7aWYoIWV8fCFlLnJlcGxhY2UpcmV0dXJuIG47Zm9yKGNvbnN0IGUgb2YgaSl7Y29uc3RbdCxpXT1lO28mJi0xIT09by5pbmRleE9mKHQpfHwobj1uLnJlcGxhY2UobmV3IFJlZ0V4cCh0LCJnIiksaSkpfXJldHVybiBufW8oNTUwNjgyKSxvKDIxNTUzOSk7dmFyIFNvPW8oNzgzMjU0KSx3bz1vKDM2MzI2OSksQ289KG8oODMyMjI2KSxvKDIxNDA2MCkpLGtvPW8oNDgyNTA0KSxUbz1vKDQ5MTg2KSxFbz1vKDMwNzUwNCk7Y29uc3QgeG89e3dyYXA6JzxzcGFuIGNsYXNzPSJ0di1jb250cm9sLXNlbGVjdF9fd3JhcCB0di1kcm9wZG93bi1iZWhhdmlvciB7eyBjbGFzcyB9fXt7IyB0b3VjaCB9fSB0di1jb250cm9sLXNlbGVjdF9fd3JhcC0tdG91Y2h7ey8gdG91Y2ggfX17eyMgZGlzYWJsZWQgfX0gaS1kaXNhYmxlZHt7LyBkaXNhYmxlZCB9fXt7IyByZWFkb25seSB9fSB0di1jb250cm9sLXNlbGVjdF9fd3JhcC0tcmVhZG9ubHl7ey8gcmVhZG9ubHl9fSI+PHNwYW4gY2xhc3M9InR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9se3teIHRvdWNoIH19IHR2LWRyb3Bkb3duLWJlaGF2aW9yX19idXR0b257ey8gdG91Y2ggfX17eyMgZGlzYWJsZWQgfX0gaS1kaXNhYmxlZHt7LyBkaXNhYmxlZCB9fSI+PHNwYW4gY2xhc3M9InR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sLWlubmVyIj48L3NwYW4+PC9zcGFuPnt7XiB0b3VjaCB9fTxzcGFuIGNsYXNzPSJ0di1jb250cm9sLXNlbGVjdF9fZHJvcGRvd24gdHYtZHJvcGRvd24tYmVoYXZpb3JfX2JvZHkge3sgZHJvcGRvd25fY2xhc3MgfX0gaS1oaWRkZW4iPjxzcGFuIGNsYXNzPSJ0di1jb250cm9sLXNlbGVjdF9fc2Nyb2xsIHR2LWRyb3Bkb3duLWJlaGF2aW9yX19zY3JvbGwiPjxzcGFuIGNsYXNzPSJ0di1kcm9wZG93bi1iZWhhdmlvcl9faW5zY3JvbGwiPnt7PiByb3V0ZSB9fTwvc3Bhbj48L3NwYW4+PC9zcGFuPnt7LyB0b3VjaCB9fTxzcGFuIGNsYXNzPSJ0di1jb250cm9sLXNlbGVjdF9fY2FyZXQganMtZHJvcGRvd24tdG9nZ2xlIj48L3NwYW4+PC9zcGFuPicscm91dGU6Int7IyBpdGVtcyB9fXt7IyBvcHRpb24gfX17ez4gb3B0aW9uIH19e3svIG9wdGlvbiB9fXt7XiBvcHRpb24gfX17eyMgb3B0Z3JvdXAgfX17ez4gb3B0Z3JvdXAgfX17ey8gb3B0Z3JvdXAgfX17ey8gb3B0aW9uIH19e3svIGl0ZW1zIH19IixvcHRncm91cDone3sjIGxhYmVsIH19PHNwYW4gY2xhc3M9InR2LWRyb3Bkb3duLWJlaGF2aW9yX19pdGVtIHR2LWNvbnRyb2wtc2VsZWN0X19vcHRncm91cC1sYWJlbCI+e3sgbGFiZWwgfX08L3NwYW4+e3svIGxhYmVsIH19e3s+IHJvdXRlIH19e3sjIHNlcGFyYXRvciB9fTxociBjbGFzcz0idHYtY29udHJvbC1zZWxlY3RfX29wdGdyb3VwLXNlcGFyYXRvciI+e3svIHNlcGFyYXRvciB9fScsb3B0aW9uOmA8c3BhbiBkYXRhLWlkPSJ7eyBpZCB9fSIgY2xhc3M9InR2LWRyb3Bkb3duLWJlaGF2aW9yX19pdGVtIHR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb257eyMgZGlzYWJsZWQgfX0gaS1kaXNhYmxlZHt7LyBkaXNhYmxlZCB9fSI+XG5cdFx0XHQ8c3BhbiBjbGFzcz0idHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwIj5cblx0XHRcdHt7IyBtdWx0aXBsZSB9fVxuXHRcdFx0XHQ8c3BhbiBjbGFzcz0idHYtY29udHJvbC1jaGVja2JveCI+XG5cdFx0XHRcdFx0PGlucHV0IGNsYXNzPSJ0di1jb250cm9sLWNoZWNrYm94X19pbnB1dCIgdHlwZT0iY2hlY2tib3giIHt7IyBzZWxlY3RlZCB9fSBjaGVja2Vke3svIHNlbGVjdGVkIH19PlxuXHRcdFx0XHRcdDxzcGFuIGNsYXNzPSJ0di1jb250cm9sLWNoZWNrYm94X19ib3giPiR7byg0ODg4NzUpfTwvc3Bhbj5cblx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0XHQ8c3BhbiBjbGFzcz0idHYtY29udHJvbC1jaGVja2JveF9fbGFiZWwiPnt7IGxhYmVsIH19PC9zcGFuPlxuXHRcdFx0e3svIG11bHRpcGxlIH19XG5cdFx0XHR7e14gbXVsdGlwbGUgfX1cblx0XHRcdFx0e3sgbGFiZWwgfX1cblx0XHRcdHt7LyBtdWx0aXBsZSB9fVxuXHRcdFx0PC9zcGFuPlxuXHRcdDwvc3Bhbj5gfTtjbGFzcyBBb3tjb25zdHJ1Y3RvcihlPXt9KXt0aGlzLl9vcHRpb25zPU9iamVjdC5hc3NpZ24oe25vQW5pbWF0aW9uOiEwfSxlKSx0aGlzLnRvdWNoPXdvLm1vYmlsZXRvdWNoLHRoaXMuJHNlbGVjdD10aGlzLl9vcHRpb25zLiRzZWxlY3QsdGhpcy5fc2VsZWN0RWxlbWVudD10aGlzLiRzZWxlY3RbMF0sCnRoaXMubXVsdGlwbGU9Qm9vbGVhbih0aGlzLiRzZWxlY3QuYXR0cigibXVsdGlwbGUiKSksdGhpcy5fbWluRGlzcGxheUNvdW50PXRoaXMuX29wdGlvbnMubWluRGlzcGxheUNvdW50fHwxLHRoaXMuX2VtcHR5U3RyaW5nPXRoaXMuX29wdGlvbnMuZW1wdHlTdHJpbmd8fFNvLnQobnVsbCx7Y29udGV4dDoiY29tYm9ib3hfaW5wdXQifSxvKDMzMzM1KSksdGhpcy5fZGVmYXVsdFBsYWNlSG9kZXI9dGhpcy5fb3B0aW9ucy5kZWZhdWx0UGxhY2VIb2Rlcnx8ITEsdGhpcy5kaXNhYmxlZD1Cb29sZWFuKHRoaXMuJHNlbGVjdC5pcygiOmRpc2FibGVkIikpLHRoaXMucmVhZG9ubHk9dGhpcy5fb3B0aW9ucy5yZWFkb25seSx0aGlzLm9wdGlvbnM9W10sdGhpcy5maWx0ZXJRdWVyeT1bXSx0aGlzLml0ZW1zPXRoaXMuX3BhcnNlRG9tSXRlbXModGhpcy4kc2VsZWN0KSx0aGlzLl9yZW5kZXIoKSxlLmluaXRpYWxWYWx1ZSYmdGhpcy52YWwoZS5pbml0aWFsVmFsdWUpLHRoaXMuJGVsLmluc2VydEJlZm9yZSh0aGlzLiRzZWxlY3QpLHRoaXMuJHNlbGVjdC5kZXRhY2goKS5hZGRDbGFzcygiaS1pbml0ZWQiKS5hcHBlbmRUbyh0aGlzLiRlbCl9dmFsKGUpe3RoaXMubXVsdGlwbGU/dGhpcy5fc2V0TXVsdGlwbGVWYWx1ZXMoZSk6dGhpcy5fc2V0U2luZ2xlVmFsdWUodGhpcy5fZmluZE9wdGlvbihlKSl9ZW5hYmxlKCl7dGhpcy5kaXNhYmxlZD0hMSx0aGlzLiRlbC5hZGQodGhpcy4kZHJvcGRvd24pLnJlbW92ZUNsYXNzKCJpLWRpc2FibGVkIiksdGhpcy50b3VjaHx8KHRoaXMuJGVsLnR2RHJvcGRvd24oImVuYWJsZSIpLHRoaXMuJGNvbnRyb2wuYXR0cigidGFiaW5kZXgiLHRoaXMuJHNlbGVjdC5hdHRyKCJ0YWJpbmRleCIpfHwwKSl9ZGlzYWJsZSgpe3RoaXMuZGlzYWJsZWQ9ITAsdGhpcy4kZWwuYWRkKHRoaXMuJGRyb3Bkb3duKS5hZGRDbGFzcygiaS1kaXNhYmxlZCIpLHRoaXMudG91Y2h8fCh0aGlzLiRlbC50dkRyb3Bkb3duKCJkaXNhYmxlIiksdGhpcy4kY29udHJvbC5yZW1vdmVBdHRyKCJ0YWJpbmRleCIpKX1zZXRSZWFkb25seShlKXt0aGlzLnJlYWRvbmx5PWUsdGhpcy4kZWwudG9nZ2xlQ2xhc3MoInR2LWNvbnRyb2wtc2VsZWN0X193cmFwLS1yZWFkb25seSIsZSksdGhpcy4kY29udHJvbElubmVyLnRvZ2dsZUNsYXNzKCJ0di1jb250cm9sLXNlbGVjdF9fY29udHJvbC1pbm5lci0tcmVhZG9ubHkiLGUpLHRoaXMuJGVsLnR2RHJvcGRvd24oInNldFJlYWRvbmx5IixlKX10b2dnbGUoKXt0aGlzLmRpc2FibGVkfHx0aGlzLnJlYWRvbmx5fHwodGhpcy50b3VjaD90aGlzLiRzZWxlY3QuY2xpY2soKTp0aGlzLiRlbC50dkRyb3Bkb3duKCJ0b2dnbGUiKSl9b3Blbigpe3RoaXMuZGlzYWJsZWR8fHRoaXMucmVhZG9ubHl8fCh0aGlzLnRvdWNoP3RoaXMuJHNlbGVjdC5jbGljaygpOnRoaXMuJGVsLnR2RHJvcGRvd24oIm9wZW4iKSl9Y2xvc2UoKXt0aGlzLmRpc2FibGVkfHx0aGlzLnJlYWRvbmx5fHwodGhpcy50b3VjaD90aGlzLiRzZWxlY3QuY2xpY2soKToodGhpcy5fZm9jdXNPcHRpb24odGhpcy5fc2VsZWN0RWxlbWVudC5zZWxlY3RlZEluZGV4KSx0aGlzLiRlbC50dkRyb3Bkb3duKCJjbG9zZSIpKSl9ZGVzdHJveSgpe3RoaXMuJHNlbGVjdC5vZmYoImNoYW5nZSIpLHRoaXMuJGRyb3Bkb3duJiZ0aGlzLiRkcm9wZG93bi5vZmYoImNsaWNrIiksdGhpcy4kc2VsZWN0LnJlbW92ZUNsYXNzKCJpLWluaXRlZCIpLmluc2VydEJlZm9yZSh0aGlzLiRlbCksdGhpcy4kZWwudHZEcm9wZG93bigiZGVzdHJveSIpLHRoaXMuJGVsLnJlbW92ZSgpfXVwZGF0ZUl0ZW1zKCl7dGhpcy5vcHRpb25zPVtdLHRoaXMuaXRlbXM9dGhpcy5fcGFyc2VEb21JdGVtcyh0aGlzLiRzZWxlY3QpO2NvbnN0IGU9dGhpcy5fcmVuZGVyRHJvcGRvd24oKTtpZighdGhpcy50b3VjaCl7dGhpcy4kZHJvcGRvd24uZmluZCgiLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24iKS5yZW1vdmUoKTtjb25zdCB0PXRoaXMuJGRyb3Bkb3duLmZpbmQoIi50di1kcm9wZG93bi1iZWhhdmlvcl9faW5zY3JvbGwiKTt0aGlzLiRvcHRpb25zPWUuZmluZCgiLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24iKTtmb3IobGV0IGU9MDtlPHRoaXMuJG9wdGlvbnMubGVuZ3RoO2UrKyl7Y29uc3Qgbz1rbyh0aGlzLiRvcHRpb25zW2VdKSxpPW8uZGF0YSgiaWQiKTt0aGlzLm9wdGlvbnNbaV0mJih0aGlzLm9wdGlvbnNbaV0uJGVsPW8sdC5hcHBlbmQobykpfX10aGlzLm11bHRpcGxlPyh0aGlzLl91cGRhdGVTZWxlY3RCb3hUaXRsZSgpLHRoaXMuX3VwZGF0ZUNoZWNrQm94ZXMoKSk6dGhpcy5fdXBkYXRlU2luZ2xlVmlldyh0aGlzLl9zZWxlY3RFbGVtZW50LnNlbGVjdGVkSW5kZXgpfV9mb2N1c09wdGlvbihlKXtjb25zdCB0PXRoaXMub3B0aW9uc1tlXS4kZWw7aWYodGhpcy5fZm9jdXNlZE9wdGlvbj1lLCF0aGlzLnRvdWNoKXtpZih0aGlzLl9jbGVhckZvY3VzKCksdC5hZGRDbGFzcygiaS1hY3RpdmUiKSwhdGhpcy5kcm9wZG93blNjcm9sbHx8IXRoaXMub3BlbmVkKXJldHVybjtjb25zdCBlPXRoaXMuZHJvcGRvd25TY3JvbGwuY3VycmVudFBvc2l0aW9uKCksbz10Lm91dGVySGVpZ2h0KCksaT10LnBvc2l0aW9uKCkudG9wLG49LWUrdGhpcy5kcm9wZG93blNjcm9sbC5nZXRDb250YWluZXJIZWlnaHRXaXRob3V0SGVhZGVyKCk8aStvO2k8LWU/dGhpcy5kcm9wZG93blNjcm9sbC5zY3JvbGxUbyhpKTpuJiZ0aGlzLmRyb3Bkb3duU2Nyb2xsLnNjcm9sbFRvKGkrbyl9fV9zZXRTaW5nbGVWYWx1ZShlKXtjb25zdCB0PXRoaXMub3B0aW9uc1tlXS52YWx1ZTsodGhpcy4kc2VsZWN0LnZhbCgpJiZ0aGlzLiRzZWxlY3QudmFsKCkudG9TdHJpbmcoKSkhPT10LnRvU3RyaW5nKCkmJnRoaXMuJHNlbGVjdC52YWwodCkudHJpZ2dlcigiY2hhbmdlIil9X3VwZGF0ZVNpbmdsZVZpZXcoZSl7Y29uc3QgdD10aGlzLm9wdGlvbnNbZV07dCYmKHRoaXMuX2ZvY3VzT3B0aW9uKGUpLHRoaXMuX3NlbGVjdEVsZW1lbnQuc2VsZWN0ZWRJbmRleD1lLHRoaXMuJGNvbnRyb2xJbm5lci50ZXh0KHQubGFiZWwpLAp0aGlzLiRjb250cm9sSW5uZXIudG9nZ2xlQ2xhc3MoInR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sLWlubmVyLS1vcHRpb24tZGlzYWJsZWQiLHQuZGlzYWJsZWQpKX1fdG9nZ2xlT3B0aW9uKGUpe2NvbnN0IHQ9dGhpcy5vcHRpb25zW2VdLnZhbHVlLG89dGhpcy4kc2VsZWN0LnZhbCgpfHxbXSxpPW8uaW5kZXhPZih0KTtpZigtMSE9PWkpby5zcGxpY2UoaSwxKTtlbHNlIGlmKG8ubGVuZ3RoKXtjb25zdCBlPXRoaXMub3B0aW9uc1t0aGlzLl9maW5kT3B0aW9uKHQpXS5pZCxpPW8uZmluZCgodD0+dGhpcy5vcHRpb25zW3RoaXMuX2ZpbmRPcHRpb24odCldLmlkPmUpKTtvLnNwbGljZShpP28uaW5kZXhPZihpKTowLDAsdCl9ZWxzZSBvLnB1c2godCk7dGhpcy5fc2V0TXVsdGlwbGVWYWx1ZXMobyl9X3VwZGF0ZUNoZWNrQm94ZXMoKXtjb25zdCBlPXRoaXMuJHNlbGVjdC52YWwoKXx8W107Zm9yKGxldCB0PTA7dDx0aGlzLml0ZW1zLmxlbmd0aDt0Kyspe2NvbnN0IG89dGhpcy5pdGVtc1t0XTtvLiRlbC5maW5kKCIudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQiKS5wcm9wKCJjaGVja2VkIiwtMSE9PWUuaW5kZXhPZihvLnZhbHVlKSl9fV91cGRhdGVTZWxlY3RCb3hUaXRsZSgpe2NvbnN0IGU9dGhpcy4kc2VsZWN0LnZhbCgpfHxbXTtpZihlLmxlbmd0aCYmIXRoaXMuX2RlZmF1bHRQbGFjZUhvZGVyKWlmKGUubGVuZ3RoPT09dGhpcy5pdGVtcy5sZW5ndGgpdGhpcy4kY29udHJvbElubmVyLnRleHQoU28udChudWxsLHtjb250ZXh0OiJjb21ib2JveF9pbnB1dCJ9LG8oMzYyMDA0KSkpO2Vsc2UgaWYoZS5sZW5ndGg+dGhpcy5fbWluRGlzcGxheUNvdW50KXRoaXMuJGNvbnRyb2xJbm5lci50ZXh0KFNvLnQobnVsbCx7cGx1cmFsOiJ7bnVtYmVyfSBpdGVtcyIsY291bnQ6ZS5sZW5ndGgsY29udGV4dDoiY29tYm9ib3hfaW5wdXQifSxvKDk4Mzc2NCkpLmZvcm1hdChlLmxlbmd0aCkpO2Vsc2V7Y29uc3QgdD1lLm1hcCgoZT0+dGhpcy5vcHRpb25zW3RoaXMuX2ZpbmRPcHRpb24oZSldLmxhYmVsKSk7dGhpcy4kY29udHJvbElubmVyLnRleHQodC5qb2luKCIsICIpKX1lbHNlIHRoaXMuJGNvbnRyb2xJbm5lci50ZXh0KHRoaXMuX2VtcHR5U3RyaW5nKX1fc2V0TXVsdGlwbGVWYWx1ZXMoZSl7dGhpcy4kc2VsZWN0LmZpbmQoIm9wdGlvbiIpLnByb3AoInNlbGVjdGVkIiwhMSk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspe2NvbnN0IG89ZVt0XTt0aGlzLiRzZWxlY3QuZmluZChgb3B0aW9uW3ZhbHVlPSIke299Il1gKS5wcm9wKCJzZWxlY3RlZCIsITApfXRoaXMuJHNlbGVjdC50cmlnZ2VyKCJjaGFuZ2UiKX1fY2xlYXJGb2N1cygpe3RoaXMuJG9wdGlvbnMucmVtb3ZlQ2xhc3MoImktYWN0aXZlIil9X2ZpbmRPcHRpb24oZSl7Y29uc3QgdD1PYmplY3Qua2V5cyh0aGlzLm9wdGlvbnMpO2ZvcihsZXQgbz0wO288dC5sZW5ndGg7bysrKWlmKHRoaXMub3B0aW9uc1t0W29dXS52YWx1ZS50b1N0cmluZygpPT09ZS50b1N0cmluZygpKXJldHVybiB0aGlzLm9wdGlvbnNbdFtvXV0uaWR9X3BhcnNlRG9tSXRlbXMoZSl7Y29uc3QgdD1lLmNoaWxkcmVuKCksbz1bXTtmb3IobGV0IGU9MDtlPHQubGVuZ3RoO2UrKyl7Y29uc3QgaT1rbyh0W2VdKTtsZXQgbjsib3B0Z3JvdXAiPT09aS5wcm9wKCJ0YWdOYW1lIikudG9Mb3dlckNhc2UoKT9uPXtvcHRncm91cDohMCxzZXBhcmF0b3I6Qm9vbGVhbih0aGlzLl9vcHRpb25zLnNob3dPcHRncm91cFNlcGFyYXRvcnMpLGxhYmVsOmkuYXR0cigibGFiZWwiKSxpdGVtczp0aGlzLl9wYXJzZURvbUl0ZW1zKGkpfToib3B0aW9uIj09PWkucHJvcCgidGFnTmFtZSIpLnRvTG93ZXJDYXNlKCkmJihuPXtpZDppWzBdLmluZGV4LG9wdGlvbjohMCxsYWJlbDppLnRleHQoKS5yZXBsYWNlKC9cLy9nLCLigIskJuKAiyIpLHZhbHVlOmkuYXR0cigidmFsdWUiKSxkaXNhYmxlZDppLmlzKCI6ZGlzYWJsZWQiKX0sdGhpcy5vcHRpb25zW24uaWRdPW4pLG8ucHVzaChuKX1yZXR1cm4gb31fcmVuZGVyKCl7aWYodGhpcy4kZWw9dGhpcy5fcmVuZGVyRHJvcGRvd24oKSx0aGlzLiRjb250cm9sPXRoaXMuJGVsLmZpbmQoIi50di1jb250cm9sLXNlbGVjdF9fY29udHJvbCIpLHRoaXMuJGNvbnRyb2xJbm5lcj10aGlzLiRlbC5maW5kKCIudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wtaW5uZXIiKSwhdGhpcy50b3VjaCl7dGhpcy4kZHJvcGRvd249dGhpcy4kZWwuZmluZCgiLnR2LWNvbnRyb2wtc2VsZWN0X19kcm9wZG93biIpLHRoaXMuJG9wdGlvbnM9dGhpcy4kZWwuZmluZCgiLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24iKTtmb3IobGV0IGU9MDtlPHRoaXMuJG9wdGlvbnMubGVuZ3RoO2UrKyl7Y29uc3QgdD1rbyh0aGlzLiRvcHRpb25zW2VdKSxvPXQuZGF0YSgiaWQiKTt0aGlzLm9wdGlvbnNbb10mJih0aGlzLm9wdGlvbnNbb10uJGVsPXQpfX10aGlzLm11bHRpcGxlPyh0aGlzLl91cGRhdGVTZWxlY3RCb3hUaXRsZSgpLHRoaXMuX3VwZGF0ZUNoZWNrQm94ZXMoKSk6KC0xPT09dGhpcy5fc2VsZWN0RWxlbWVudC5zZWxlY3RlZEluZGV4JiYodGhpcy5fc2VsZWN0RWxlbWVudC5zZWxlY3RlZEluZGV4PTApLHRoaXMuX3VwZGF0ZVNpbmdsZVZpZXcodGhpcy5fc2VsZWN0RWxlbWVudC5zZWxlY3RlZEluZGV4KSksdGhpcy4kc2VsZWN0Lm9uKCJjaGFuZ2UiLChlPT57dGhpcy5tdWx0aXBsZT8odGhpcy5fdXBkYXRlU2VsZWN0Qm94VGl0bGUoKSx0aGlzLl91cGRhdGVDaGVja0JveGVzKCkpOnRoaXMuX3VwZGF0ZVNpbmdsZVZpZXcodGhpcy5fZmluZE9wdGlvbih0aGlzLiRzZWxlY3QudmFsKCkpKX0pKSx0aGlzLnRvdWNofHwodGhpcy4kZWwudHZEcm9wZG93bih7c2Nyb2xsOiEwLGFkYXB0Qm9keTohMCxib3VuZGluZ0VsZW1lbnQ6dGhpcy5fb3B0aW9ucy5ib3VuZGluZ0VsZW1lbnQsbWF4SGVpZ2h0OnRoaXMuX29wdGlvbnMubWF4SGVpZ2h0LGRyb3Bkb3duV2lkdGg6dGhpcy5fb3B0aW9ucy5kcm9wZG93bldpZHRoLG5vQW5pbWF0aW9uOnRoaXMuX29wdGlvbnMubm9BbmltYXRpb24sY2xvc2VXaXRoRXNjOnRoaXMuX29wdGlvbnMuY2xvc2VXaXRoRXNjfSksCnRoaXMuZHJvcGRvd25TY3JvbGw9dGhpcy4kZWwudHZEcm9wZG93bigiZ2V0Iiwic2Nyb2xsIiksdGhpcy4kZHJvcGRvd24ub24oImNsaWNrIiwiLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24iLChlPT57Y29uc3QgdD1wYXJzZUludChrbyhlLmN1cnJlbnRUYXJnZXQpLmRhdGEoImlkIikpO3RoaXMub3B0aW9uc1t0XSYmIXRoaXMub3B0aW9uc1t0XS5kaXNhYmxlZCYmKHRoaXMubXVsdGlwbGU/dGhpcy5fdG9nZ2xlT3B0aW9uKHQpOih0aGlzLl9zZXRTaW5nbGVWYWx1ZSh0KSx0aGlzLmNsb3NlKCkpKX0pKSx0aGlzLiRlbC5vbigiYmVmb3JlT3Blbk1lbnUiLCgoKT0+e3RoaXMub3BlbmVkPSEwfSkpLHRoaXMuJGVsLm9uKCJhZnRlckNsb3NlTWVudSIsKCgpPT57dGhpcy5vcGVuZWQ9ITEsdGhpcy5maWx0ZXJRdWVyeT1bXSx0aGlzLm11bHRpcGxlfHx0aGlzLl9mb2N1c2VkT3B0aW9uLnRvU3RyaW5nKCk9PT10aGlzLl9zZWxlY3RFbGVtZW50LnNlbGVjdGVkSW5kZXgudG9TdHJpbmcoKXx8dGhpcy5fZm9jdXNPcHRpb24odGhpcy5fc2VsZWN0RWxlbWVudC5zZWxlY3RlZEluZGV4KSx0aGlzLm11bHRpcGxlJiZ0aGlzLl9jbGVhckZvY3VzKCl9KSksdGhpcy4kZWwub24oImNsaWNrIiwoKCk9Pnt0aGlzLiRjb250cm9sLmZvY3VzKCl9KSksdGhpcy4kZWwub24oImtleWRvd24iLChlPT57dGhpcy5fZmlsdGVyKGUpfSkpLHRoaXMuZGlzYWJsZWQ/dGhpcy5kaXNhYmxlKCk6dGhpcy5lbmFibGUoKSl9X3JlbmRlckRyb3Bkb3duKCl7cmV0dXJuIGtvKFRvLnJlbmRlcih4by53cmFwLHtpdGVtczp0aGlzLml0ZW1zLGNsYXNzOnRoaXMuJHNlbGVjdC5hdHRyKCJjbGFzcyIpLHRvdWNoOnRoaXMudG91Y2gsbXVsdGlwbGU6dGhpcy5tdWx0aXBsZSxkaXNhYmxlZDp0aGlzLmRpc2FibGVkLHJlYWRvbmx5OnRoaXMucmVhZG9ubHksZHJvcGRvd25fY2xhc3M6dGhpcy5fb3B0aW9ucy5hZGREcm9wZG93bkNsYXNzfSx4bykpLnJlbW92ZUNsYXNzKCJ0di1jb250cm9sLXNlbGVjdCIpfV9maWx0ZXIoZSl7aWYoOT09PWUud2hpY2gpcmV0dXJuIHZvaWQgdGhpcy5jbG9zZSgpO2lmKDEzPT09ZS53aGljaCYmIXRoaXMub3BlbmVkKXJldHVybjtpZigoNDA9PT1lLndoaWNofHwzMj09PWUud2hpY2gpJiYhdGhpcy5vcGVuZWQpcmV0dXJuIHRoaXMub3BlbigpLHZvaWQgZS5wcmV2ZW50RGVmYXVsdCgpO2UucHJldmVudERlZmF1bHQoKSx0aGlzLm9wZW5lZHx8dGhpcy5vcGVuKCk7Y29uc3QgdD1TdHJpbmcuZnJvbUNoYXJDb2RlKGUud2hpY2gpLnRvTG93ZXJDYXNlKCk7aWYodCYmLTE9PT1bOSwxMywyNywzOCw0MF0uaW5kZXhPZihlLndoaWNoKSl7dGhpcy5maWx0ZXJRdWVyeS5wdXNoKHQpO2NvbnN0IGU9dGhpcy5maWx0ZXJRdWVyeS5qb2luKCIiKTtsZXQgbztjb25zdCBpPU9iamVjdC5rZXlzKHRoaXMub3B0aW9ucyk7Zm9yKGxldCB0PTA7dDxpLmxlbmd0aDt0KyspaWYoMD09PXRoaXMub3B0aW9uc1tpW3RdXS5sYWJlbC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoZSkmJiF0aGlzLm9wdGlvbnNbaVt0XV0uZGlzYWJsZWQpe289dGhpcy5vcHRpb25zW2lbdF1dLmlkO2JyZWFrfXZvaWQgMCE9PW8mJnRoaXMuX2ZvY3VzT3B0aW9uKG8pLHRoaXMuY2xlYXJGaWx0ZXImJmNsZWFyVGltZW91dCh0aGlzLmNsZWFyRmlsdGVyKSx0aGlzLmNsZWFyRmlsdGVyPXNldFRpbWVvdXQoKCgpPT57dGhpcy5maWx0ZXJRdWVyeT1bXX0pLDUwMCl9MzIhPT1lLndoaWNoJiYxMyE9PWUud2hpY2h8fCF0aGlzLm9wZW5lZHx8KHRoaXMubXVsdGlwbGU/dGhpcy5fdG9nZ2xlT3B0aW9uKHRoaXMuX2ZvY3VzZWRPcHRpb24pOih0aGlzLl9zZXRTaW5nbGVWYWx1ZSh0aGlzLl9mb2N1c2VkT3B0aW9uKSx0aGlzLmNsb3NlKCksdGhpcy4kZWwub25lKCJrZXl1cCIsKGU9PmUuc3RvcFByb3BhZ2F0aW9uKCkpKSkpO2NvbnN0IG89ZT0+e2xldCB0O2lmKHRoaXMub3B0aW9uc1t0aGlzLl9mb2N1c2VkT3B0aW9uXSl7Y29uc3Qgbz10aGlzLm9wdGlvbnNbdGhpcy5fZm9jdXNlZE9wdGlvbl0uJGVsW2VdKHRoaXMuJGRyb3Bkb3duLCIudHYtY29udHJvbC1zZWxlY3RfX29wdGlvbjpub3QoLmktZGlzYWJsZWQpIik7dD1vLmxlbmd0aD9vLmRhdGEoImlkIik6dGhpcy5fZm9jdXNlZE9wdGlvbn1lbHNlIHQ9dGhpcy4kb3B0aW9ucy5maXJzdCgiLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb246bm90KC5pLWRpc2FibGVkKSIpLmRhdGEoImlkIik7cmV0dXJuIHR9OzQwPT09ZS53aGljaCYmKHRoaXMuZmlsdGVyUXVlcnk9W10sdGhpcy5fZm9jdXNPcHRpb24obygibmV4dFVudGlsIikpKSwzOD09PWUud2hpY2gmJih0aGlzLmZpbHRlclF1ZXJ5PVtdLHRoaXMuX2ZvY3VzT3B0aW9uKG8oInByZXZVbnRpbCIpKSksMjc9PT1lLndoaWNoJiZ0aGlzLmNsb3NlKCl9fWZ1bmN0aW9uIE1vKGUpeyhhc3luYyBmdW5jdGlvbihlKXtyZXR1cm4oYXdhaXQgUHJvbWlzZS5hbGwoW28uZSg4NzIzOCksby5lKDU0NjgxKSxvLmUoMzE4MzcpLG8uZSgyMDk3MSksby5lKDQ5NTE4KSxvLmUoNzUzMDQpLG8uZSgzODAwMiksby5lKDcwMzY0KSxvLmUoODkxOTUpLG8uZSg3NTA0KSxvLmUoNDY2MDApLG8uZSgxMDcwNCldKS50aGVuKG8uYmluZChvLDIzNTcyKSkpLmNyZWF0ZURpYWxvZyh7d2lkdGg6NDAwLGRlc3Ryb3lPbkNsb3NlOiEwLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDU2MTYwMCkpLGNvbnRlbnQ6Xy50KG51bGwsdm9pZCAwLG8oNzIzNjMpKSxjb250ZW50V3JhcFRlbXBsYXRlOic8ZGl2IGNsYXNzPSJ0di1kaWFsb2dfX3NlY3Rpb24gdHYtZGlhbG9nX19zZWN0aW9uLS1uby1ib3JkZXIiPjxkaXYgY2xhc3M9InR2LXRleHQiPjxwPjwvcD48L2Rpdj48L2Rpdj4nLGFjdGlvbnNXcmFwVGVtcGxhdGU6JzxkaXYgY2xhc3M9InR2LWRpYWxvZ19fc2VjdGlvbiB0di1kaWFsb2dfX3NlY3Rpb24tLWFjdGlvbnMgdHYtZGlhbG9nX19zZWN0aW9uLS1uby1ib3JkZXIiPicsYWN0aW9uczpbe25hbWU6Im9rIix0eXBlOiJwcmltYXJ5Iix0ZXh0Ol8udChudWxsLHZvaWQgMCxvKDIwODA3OCkpLG1ldGhvZDoiY2xvc2UiLGtleTpbMTMsMzJdfV0sLi4uZX0pCn0pKGUpLnRoZW4oKGU9PmUub3BlbigpKSl9a28uZm4udHZDb250cm9sU2VsZWN0PSgwLENvLmNyZWF0ZVR2QmxvY2tXaXRoSW5zdGFuY2UpKCJ0di1jb250cm9sLXNlbGVjdCIsKGZ1bmN0aW9uKGUsdD17fSl7cmV0dXJuIG5ldyBBbyhFby5leHRlbmQodCx7JHNlbGVjdDplfSkpfSkpO28oNTUwNzA1KTt2YXIgSW89byg3NzA3NTUpLFJvPW8oMjM0OTY0KSxGbz1vKDQ5ODY1MSk7ZnVuY3Rpb24gTG8oZSl7aWYoISgwLEZvLmlzSURDRXhjaGFuZ2UpKGUpKXJldHVybiExO2U9RG8oZSk7Y29uc3QgdD13aW5kb3cucHJvLG89dC5nZXRQcm9kdWN0KGUpO3JldHVybiB2b2lkIDAhPT1vLmlkY19zZXJ2aWNlX2NvZGVzX2RlbGF5JiYoKCFBcnJheS5pc0FycmF5KG8uaW5jbHVkZWRfZXhjaGFuZ2VzKXx8IW8uaW5jbHVkZWRfZXhjaGFuZ2VzLnNvbWUoKGU9PnQuaGFzUGFja2FnZShEbyhlKSkpKSkmJiFmdW5jdGlvbihlKXtjb25zdCB0PXdpbmRvdy5wcm87cmV0dXJuIHQuaGFzUGFja2FnZShlKXx8dC5oYXNQYWNrYWdlKGUrIl9kbHkiKX0oZSkpfWZ1bmN0aW9uIERvKGUpe3JldHVybiBlLnN0YXJ0c1dpdGgoImV4Y2hhbmdlLSIpP2U6ImV4Y2hhbmdlLXswfSIuZm9ybWF0KGUudG9Mb3dlckNhc2UoKSl9dmFyIE9vPW8oMjU1NTE2KTtjb25zdCBObz1KU09OLnBhcnNlKCd7Ik5BU0RBUSI6ImV4Y2hhbmdlLW5hc2RhcSIsIk5ZU0UiOiJleGNoYW5nZS1ueXNlIiwiTllTRSBBUkNBIjoiZXhjaGFuZ2UtYW1leCIsIkFNRVgiOiJleGNoYW5nZS1hbWV4IiwiT1RDIjoiZXhjaGFuZ2Utb3RjIiwiREZNIjoiZXhjaGFuZ2UtZGZtIiwiQkNCQSI6ImV4Y2hhbmdlLWJjYmEiLCJBU1giOiJleGNoYW5nZS1hc3giLCJFVVJPTkVYVCI6ImV4Y2hhbmdlLWV1cm9uZXh0X3N0b2NrcyIsIkVVUk9ORVhUQlJVIjoiZXhjaGFuZ2UtZXVyb25leHRfc3RvY2tzIiwiRVVST05FWFRQQVIiOiJleGNoYW5nZS1ldXJvbmV4dF9zdG9ja3MiLCJFVVJPTkVYVExJUyI6ImV4Y2hhbmdlLWV1cm9uZXh0X3N0b2NrcyIsIkVVUk9ORVhUQU1TIjoiZXhjaGFuZ2UtZXVyb25leHRfc3RvY2tzIiwiQkFIUkFJTiI6ImV4Y2hhbmdlLWJhaHJhaW4iLCJCTUZCT1ZFU1BBIjoiZXhjaGFuZ2UtYm92ZXNwYV9zdG9ja3MiLCJUU1giOiJleGNoYW5nZS10c3giLCJUU1hWIjoiZXhjaGFuZ2UtdHN4diIsIkNTRSI6ImV4Y2hhbmdlLWNzZSIsIlNJWCI6ImV4Y2hhbmdlLXNpeCIsIkJDUyI6ImV4Y2hhbmdlLWJjcyIsIlNTRSI6ImV4Y2hhbmdlLXNzZSIsIlNaU0UiOiJleGNoYW5nZS1zenNlIiwiQlZDIjoiZXhjaGFuZ2UtYnZjIiwiRldCIjoiZXhjaGFuZ2UtZndiIiwiU1dCIjoiZXhjaGFuZ2Utc3diIiwiWEVUUiI6ImV4Y2hhbmdlLXhldHIiLCJPTVhDT1AiOiJleGNoYW5nZS1vbXhjb3AiLCJPTVhUU0UiOiJleGNoYW5nZS1vbXh0c2UiLCJFR1giOiJleGNoYW5nZS1lZ3giLCJCTUUiOiJleGNoYW5nZS1ibWUiLCJPTVhIRVgiOiJleGNoYW5nZS1vbXhoZXgiLCJIS0VYIjoiZXhjaGFuZ2UtaGtleCIsIklEWCI6ImV4Y2hhbmdlLWlkeCIsIlRBU0UiOiJleGNoYW5nZS10YXNlIiwiQlNFIjoiZXhjaGFuZ2UtYnNlIiwiTlNFIjoiZXhjaGFuZ2UtbnNlIiwiT01YSUNFIjoiZXhjaGFuZ2Utb214aWNlIiwiTUlMIjoiZXhjaGFuZ2UtbWlsIiwiTUlMU0VERVgiOiJleGNoYW5nZS1taWwiLCJGU0UiOiJleGNoYW5nZS1mc2UiLCJOQUciOiJleGNoYW5nZS1uYWciLCJTQVBTRSI6ImV4Y2hhbmdlLXNhcHNlIiwiVFNFIjoiZXhjaGFuZ2Utb214dHNlIiwiS1JYIjoiZXhjaGFuZ2Uta3J4X3N0b2NrcyIsIk9NWFZTRSI6ImV4Y2hhbmdlLW9teHZzZSIsIk9NWFJTRSI6ImV4Y2hhbmdlLW9teHJzZSIsIkJNViI6ImV4Y2hhbmdlLWJtdiIsIk1ZWCI6ImV4Y2hhbmdlLW15eCIsIk5TRU5HIjoiZXhjaGFuZ2UtbnNlbmciLCJOWlgiOiJleGNoYW5nZS1uengiLCJCVkwiOiJleGNoYW5nZS1idmwiLCJHUFciOiJleGNoYW5nZS1ncHciLCJRU0UiOiJleGNoYW5nZS1xc2UiLCJCRUxFWCI6ImV4Y2hhbmdlLWJlbGV4IiwiTEpTRSI6ImV4Y2hhbmdlLWxqc2UiLCJNT0VYIjoiZXhjaGFuZ2UtbW9leF9zdG9ja3MiLCJUQURBV1VMIjoiZXhjaGFuZ2UtdGFkYXd1bCIsIk9NWFNUTyI6ImV4Y2hhbmdlLW9teHN0byIsIlNHWCI6ImV4Y2hhbmdlLXNneF9zdG9ja3MiLCJTRVQiOiJleGNoYW5nZS1zZXQiLCJCSVNUIjoiZXhjaGFuZ2UtYmlzdCIsIlRXU0UiOiJleGNoYW5nZS10d3NlIiwiTFNFIjoiZXhjaGFuZ2UtbHNlIiwiTFNJTiI6ImV4Y2hhbmdlLWxzaW4iLCJIT1NFIjoiZXhjaGFuZ2UtaG9zZV9zdG9ja3MiLCJKU0UiOiJleGNoYW5nZS1qc2Vfc3RvY2tzIiwiT1NFIjoiZXhjaGFuZ2Utb3NsIiwiWlNFIjoiZXhjaGFuZ2UtenNlIn0nKSxQbz1bXTtmb3IoY29uc3QgZSBpbiBPbylPby5oYXNPd25Qcm9wZXJ0eShlKSYmT29bZV0uaGFzT3duUHJvcGVydHkoImV4Y2hhbmdlc1N0b2NrcyIpJiZPb1tlXS5leGNoYW5nZXNTdG9ja3MuZm9yRWFjaCgoZT0+e1BvLnB1c2goZSl9KSk7ZnVuY3Rpb24gQm8oZSl7cmV0dXJuIE5vW2VdfHxudWxsfWZ1bmN0aW9uICRvKGUpe3JldHVyblsiQVNYIiwiQVRIRVgiXS5pbmNsdWRlcyhlKX12YXIgV287IWZ1bmN0aW9uKGUpe2VbZS5Ob25lPTBdPSJOb25lIixlW2UuV2lkZ2V0PTFdPSJXaWRnZXQiLGVbZS5TaXRlPTJdPSJTaXRlIn0oV298fChXbz17fSkpO3ZhciBxbz1vKDc2Mjg1MSksVm89bygxNTI3MTcpLEhvPW8oNDc5MzQpO2Z1bmN0aW9uIFVvKGUsdCxvKXtyZXR1cm4gdC52YWx1ZXx8KDAsSG8uZW5hYmxlZCkoZSxvKX1mdW5jdGlvbiB6byhlLHQsbyl7c3dpdGNoKGUpe2Nhc2UiU0NSRUVORVJfSU5URVJWQUxTIjpyZXR1cm4gZnVuY3Rpb24oZSx0KXtjb25zdCBvPSgwLEhvLmdldENvbmZpZykoIlNDUkVFTkVSX0lOVEVSVkFMUyIsdCk7cmV0dXJuISghb3x8IW8uaW50ZXJ2YWwpJiZvLmludGVydmFsLmluY2x1ZGVzKGUuaW50ZXJ2YWwpfSh0LG8pO2Nhc2UiU0NSRUVORVJfQVVUT19SRUZSRVNIIjpyZXR1cm4gVW8oIlNDUkVFTkVSX0FVVE9fUkVGUkVTSCIsdCxvKTtjYXNlIkFMRVJUU19OT19FWFBJUkFUSU9OIjoKcmV0dXJuIFVvKCJBTEVSVFNfTk9fRVhQSVJBVElPTiIsdCxvKTtkZWZhdWx0OnJldHVybigwLEhvLmVuYWJsZWQpKGUsbyl9fXZhciBqbz1vKDYxMzg3MCk7YXN5bmMgZnVuY3Rpb24gR28oZSx0LG8saT17fSxuKXtjb25zdCByPXdpbmRvdy5pc19hdXRoZW50aWNhdGVkO3dpbmRvdy5pc19hdXRoZW50aWNhdGVkJiZ3aW5kb3cudXNlci5pc19wcm8mJmF3YWl0KDAsVm8uc3luY1VzZXJEYXRhKSgiZ29wcm8iKSxyPT09d2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ/ZnVuY3Rpb24oZSx0LG8saSxuKXt6byh0LGkpP2UoKTooMCxJby5vcGVuUGF5d2FsbCkoey4uLm8scnVuT3JHb3Byb1dpdGhGZWF0dXJlQ2hlY2tPcHRpb25zOntmZWF0dXJlQ2hlY2s6KCk9PnpvKHQsaSksc2lnbkluU3VjY2VzczplfX0sbil9KGUsdCxvLGksbik6KDAsam8uc2hvd1NpZ25Nb2RhbCkoe3NvdXJjZTpvLmdvcHJvU291cmNlLGZlYXR1cmU6by5mZWF0dXJlLHNpZ25pblN1Y2Nlc3M6ZX0pfXZhciBYbz1vKDczNzg2MyksS289byg5NjkxNjgpLFlvPW8oMjExMzYwKTtjbGFzcyBKb3tjb25zdHJ1Y3RvcihlKXt0aGlzLmV2ZW50PSJjaGFuZ2VfdGltZWZyYW1lIix0aGlzLnNvdXJjZT0idGltZWZyYW1lX3NlbGVjdG9yIix0aGlzLmxvY2F0aW9uPSJ0b29sYmFyIix0aGlzLnN0YXRlPSIiLHRoaXMudmFsdWU9ZX19Y2xhc3MgWm97Y29uc3RydWN0b3IoZSx0KXt0aGlzLmV2ZW50PSJjaGFuZ2VfY29sdW1uc2V0Iix0aGlzLnNvdXJjZT0iY29sdW1zZXRfc2VsZWN0b3IiLHRoaXMubG9jYXRpb249InRvb2xiYXIiLHRoaXMuc3RhdGU9IiIsdGhpcy52YWx1ZT0oMCxZby5nZXRDb2x1bW5TZXROYW1lRm9yU25vd1Bsb3cpKHQpLHRoaXMuc291cmNlPWV9fWNsYXNzIFFve2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5ldmVudD0iY2hhbmdlX2Zhdm9yaXRlX2NvbHVtbnNldHMiLHRoaXMuc291cmNlPSJjb2x1bW5zZXRfc3Rhcl9idXR0b24iLHRoaXMubG9jYXRpb249InRvb2xiYXIiLHRoaXMudmFsdWU9KDAsWW8uZ2V0Q29sdW1uU2V0TmFtZUZvclNub3dQbG93KSh0KSx0aGlzLnN0YXRlPWV9fWNsYXNzIGVpe2NvbnN0cnVjdG9yKCl7dGhpcy5ldmVudD0icmVuYW1lX2N1c3RvbV9jb2x1bW5zZXQiLHRoaXMuc291cmNlPSJjb2x1bW5zZXRfcGVuX2J1dHRvbiIsdGhpcy5sb2NhdGlvbj0idG9vbGJhciIsdGhpcy5zdGF0ZT0iIix0aGlzLnZhbHVlPSIifX1jbGFzcyB0aXtjb25zdHJ1Y3RvcihlKXt0aGlzLmV2ZW50PSJjaGFuZ2VfZmlsdGVyc2V0Iix0aGlzLnNvdXJjZT0iZmlsdGVyc2V0X3NlbGVjdG9yIix0aGlzLmxvY2F0aW9uPSJ0b29sYmFyIix0aGlzLnN0YXRlPSIiLHRoaXMudmFsdWU9KDAsWW8uZ2V0RmlsdGVyU2V0TmFtZUZvclNub3dQbG93KShlKX19Y2xhc3Mgb2l7Y29uc3RydWN0b3IoKXt0aGlzLmV2ZW50PSJyZW5hbWVfY3VzdG9tX2ZpbHRlcnNldCIsdGhpcy5zb3VyY2U9ImZpbHRlcnNldF9wZW5fYnV0dG9uIix0aGlzLmxvY2F0aW9uPSJ0b29sYmFyIix0aGlzLnN0YXRlPSIiLHRoaXMudmFsdWU9IiJ9fXZhciBpaT1vKDQ1MDY2NCk7Y2xhc3Mgbml7Y29uc3RydWN0b3IoZSx0LG8pe3RoaXMuZXZlbnQ9ImNoYW5nZV9jb2x1bW5zIix0aGlzLnNvdXJjZT0iY29sdW1uX3NlbGVjdG9yIix0aGlzLmxvY2F0aW9uPSJoZWFkZXJfZmllbGRzX3BvcHVwIj09PWU/ImhlYWRlciI6InRvb2xiYXIiLHRoaXMuc3RhdGU9dD8iYWRkZWQiOiJyZW1vdmVkIix0aGlzLnZhbHVlPW99fWNsYXNzIHJpe2NvbnN0cnVjdG9yKGUpe3RoaXMuZXZlbnQ9ImNvbHVtbl9tb3ZlIix0aGlzLnNvdXJjZT0iY29sdW1uX2hlYWRlciIsdGhpcy5sb2NhdGlvbj0iaGVhZGVyIix0aGlzLnN0YXRlPWlpLlVzZXJBY3Rpb25TdGF0ZS5EcmFnLHRoaXMudmFsdWU9ZX19Y2xhc3Mgc2l7Y29uc3RydWN0b3IoKXt0aGlzLmV2ZW50PSJyZWZyZXNoX3NjcmVlbmVyX2RhdGEiLHRoaXMuc291cmNlPSJyZWZyZXNoX2J1dHRvbiIsdGhpcy5sb2NhdGlvbj0idG9vbGJhciIsdGhpcy5zdGF0ZT0iIix0aGlzLnZhbHVlPSIifX1jbGFzcyBhaXtjb25zdHJ1Y3RvcihlKXt0aGlzLmV2ZW50PSJjaGFuZ2VfcmVmcmVzaF9pbnRlcnZhbCIsdGhpcy5zb3VyY2U9InJlZnJlc2hfaW50ZXJ2YWxfc2VsZWN0b3IiLHRoaXMubG9jYXRpb249InRvb2xiYXIiLHRoaXMuc3RhdGU9IiIsdGhpcy52YWx1ZT0oMCxZby5nZXRTbm93UGxvd1JlZnJlc2hJbnRlcnZhbCkoZSl9fXZhciBsaT1vKDQ4MjUwNCk7Y29uc3QgY2k9bygyMjEwNjEpLmdldExvZ2dlcigiU2NyZWVuZXIuUG9wdXBzIik7Y2xhc3MgZGl7Y29uc3RydWN0b3IoZSx0LG8pe3RoaXMuX21vZGVsPWUsdGhpcy5fdmlldz10LHRoaXMuX2JyaWRnZT1vLHRoaXMuX21hcmtldHM9bnVsbCx0aGlzLl9tb2RlbC5maWVsZFNldFNhdmVkLnN1YnNjcmliZShudWxsLCgoKT0+dGhpcy5fdmlldy4kZmllbGRTZXRzQnV0dG9uLnJlbW92ZUNsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXVuc2F2ZWQiKSkpLHRoaXMuX21vZGVsLmZpbHRlclNldFNhdmVkLnN1YnNjcmliZShudWxsLCgoKT0+dGhpcy5fdmlldy4kZmlsdGVyU2V0c0J1dHRvbi5yZW1vdmVDbGFzcygidHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS11bnNhdmVkIikpKSx0aGlzLl9maWVsZHNQb3B1cENhY2hlPXt9fXNob3dQcm9tcHREaWFsb2coZSx0KXtyZXR1cm4gbmV3IFByb21pc2UoKGk9PnsoMCxSby5zaG93UmVuYW1lKSh7dGl0bGU6ZS50aXRsZSx0ZXh0OmUubGFiZWwsaW5pdFZhbHVlOnQsbWFpbkJ1dHRvblRleHQ6Xy50KG51bGwsdm9pZCAwLG8oNjEyNjU1KSksbWF4TGVuZ3RoOjEyOCxvblJlbmFtZTooe25ld1ZhbHVlOmUsZGlhbG9nQ2xvc2U6dH0pPT57aShlKSx0KCl9LG9uQ2xvc2U6aX0pfSkpfXNob3dNYWludGVuYW5jZURpYWxvZygpe01vKHt0eXBlOiJtb2RhbCIsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oMTU0NjQpKSxjb250ZW50Ol8udChudWxsLHZvaWQgMCxvKDMzMjg1NSkpfSl9c2hvd0NvbmZpcm1EaWFsb2coZSl7cmV0dXJuIG5ldyBQcm9taXNlKCh0PT57KDAsUm8uc2hvd0NvbmZpcm0pKHt0ZXh0OmUsCm9uQ29uZmlybTooe2RpYWxvZ0Nsb3NlOmV9KT0+e3QoITApLGUoKX0sb25DbG9zZTooKT0+dCghMSl9KX0pKX1zaG93Tm90aWNlKGUsdCl7TW8oe2NvbnRlbnQ6ZSx0aXRsZTp0fSl9c2V0RmllbGRzUG9wdXAoZSx0LGkpe2UuYWRkQ2xhc3MoInR2LWRyb3Bkb3duLWJlaGF2aW9yX19idXR0b24iKTtjb25zdCBuPWxpKGA8ZGl2IGNsYXNzPSIke3R8fCIifSI+YCk7bi5pbnNlcnRBZnRlcihlKS5hcHBlbmQoZSk7Y29uc3Qgcj1saSgnPGRpdiBjbGFzcz0idHYtZHJvcGRvd25fX2JvZHkgdHYtZHJvcGRvd25fX2JvZHktLW92ZXItdHJpZ2dlciB0di1kcm9wZG93bi1iZWhhdmlvcl9fYm9keSB0di1zY3JlZW5lci1maWVsZHMtcG9wdXAgaS1oaWRkZW4iPicpLmFwcGVuZFRvKG4pO2kmJnIuYWRkQ2xhc3MoaSk7Y29uc3Qgcz1saSgnPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItZmllbGRzLXBvcHVwX19zZWFyY2gtd3JhcCI+JykuYXBwZW5kVG8ociksYT1saShgPGlucHV0IHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSIke18udChudWxsLHZvaWQgMCxvKDg3MTExMCkpfSIgY2xhc3M9InR2LXNjcmVlbmVyLWZpZWxkcy1wb3B1cF9fc2VhcmNoLWlucHV0Ij5gKS5hcHBlbmRUbyhzKSxsPWxpKCc8ZGl2IGNsYXNzPSJ0di1kcm9wZG93bi1iZWhhdmlvcl9fc2Nyb2xsIj4nKS5hcHBlbmRUbyhyKSxjPWxpKCc8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci1maWVsZHMtcG9wdXBfX2l0ZW1zLXdyYXAgdHYtZHJvcGRvd24tYmVoYXZpb3JfX2luc2Nyb2xsIj4nKS5hcHBlbmRUbyhsKTsiaGVhZGVyX2ZpZWxkcy1idXR0b24iPT09ZS5hdHRyKCJkYXRhLW5hbWUiKSYmYy5hdHRyKHsiZGF0YS1uYW1lIjoiaGVhZGVyX2ZpZWxkc19wb3B1cCJ9KTtjb25zdCBkPWxpKCc8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci1maWVsZHMtcG9wdXBfX2l0ZW0gdHYtc2NyZWVuZXItZmllbGRzLXBvcHVwX19pdGVtLS1uby1tYXRjaGVzIGpzLWhpZGRlbiI+Tm8gbWF0Y2hlczwvZGl2PicpLmFwcGVuZFRvKHIpO2Eub24oImNoYW5nZSBpbnB1dCIsKGU9Pntjb25zdCB0PWEudmFsKCkudHJpbSgpLnRvTG93ZXJDYXNlKCk7dD9jLmZpbmQoIi5qcy1maWVsZHMtaXRlbSIpLmVhY2goKGZ1bmN0aW9uKCl7Y29uc3QgZT1saSh0aGlzKTtlLnRvZ2dsZUNsYXNzKCJqcy1oaWRkZW4iLCF+ZS50ZXh0KCkudG9Mb3dlckNhc2UoKS5pbmRleE9mKHQpKX0pKTpjLmZpbmQoIi5qcy1maWVsZHMtaXRlbSIpLnJlbW92ZUNsYXNzKCJqcy1oaWRkZW4iKSxkLnRvZ2dsZUNsYXNzKCJqcy1oaWRkZW4iLCEhYy5maW5kKCIuanMtZmllbGRzLWl0ZW06bm90KC5qcy1oaWRkZW4pIikuc2l6ZSgpKSxuLnR2RHJvcGRvd24oInVwZGF0ZVNjcm9sbCIpfSkpLG4ub24oImJlZm9yZU9wZW5NZW51IiwoKCk9PnthLnZhbCgiIiksYy5maW5kKCIuanMtZmllbGRzLWl0ZW0iKS5yZW1vdmVDbGFzcygianMtaGlkZGVuIiksZC5hZGRDbGFzcygianMtaGlkZGVuIiksdGhpcy5yZXNldEZpZWxkc1BvcHVwKGMpLGwuY3NzKCJtYXhIZWlnaHQiLGxpKHdpbmRvdykuaGVpZ2h0KCktZS5vZmZzZXQoKS50b3ArbGkod2luZG93KS5zY3JvbGxUb3AoKS1lLm91dGVySGVpZ2h0KCktcy5vdXRlckhlaWdodCgpLTIwKX0pKS5vbigiYWZ0ZXJPcGVuTWVudSIsKCgpPT57YS5mb2N1cygpfSkpLnR2RHJvcGRvd24oe3Njcm9sbDohMCxub0FuaW1hdGlvbjohMH0pLHNldFRpbWVvdXQoKCgpPT50aGlzLnJlc2V0RmllbGRzUG9wdXAoYykpLDApfXJlc2V0RmllbGRzUG9wdXAoZSl7ZS5lbXB0eSgpO2NvbnN0IHQ9ZT0+e2lmKGUgaW4gdGhpcy5fZmllbGRzUG9wdXBDYWNoZSl7Y29uc3QgdD10aGlzLl9maWVsZHNQb3B1cENhY2hlW2VdO3JldHVybiB0LmNoZWNrYm94LnByb3AoImNoZWNrZWQiLEl0W2VdLmNoZWNrZWQpLHQuaXRlbX1jb25zdCB0PWxpKCc8ZGl2IGNsYXNzPSJ0di1kcm9wZG93bi1iZWhhdmlvcl9faXRlbSI+Jyk7bGkoYDxsYWJlbCBkYXRhLWZpZWxkPSIke2V9IiBjbGFzcz0idHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwIHR2LXNjcmVlbmVyLWZpZWxkcy1wb3B1cF9faXRlbSBqcy1maWVsZHMtaXRlbSI+XG5cdFx0XHRcdDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iJHtlfSIgY2xhc3M9ImpzLWZpZWxkLWNoZWNrYm94IiR7SXRbZV0uY2hlY2tlZD8iIGNoZWNrZWQiOiIifT5cblx0XHRcdFx0PHNwYW4gY2xhc3M9InR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVsIj4keygwLFRlLnRyaWVzVHJhbnNsYXRlU2NyZWVuZXJEYXRhKShJdFtlXS50aXRsZSl9PC9zcGFuPlxuXHRcdFx0PC9sYWJlbD5gKS5hcHBlbmRUbyh0KTtjb25zdCBvPXQuZmluZCgiLmpzLWZpZWxkLWNoZWNrYm94IikudHZDb250cm9sQ2hlY2tib3goKTtyZXR1cm4gdGhpcy5fZmllbGRzUG9wdXBDYWNoZVtlXT17aXRlbTp0LGNoZWNrYm94Om99LHR9LG89dGhpcy5fdmlldy5zb3J0ZWRGaWVsZHMuZmlsdGVyKFh0KS5zb3J0KCgoZSx0KT0+SXRbZV0udGl0bGUubG9jYWxlQ29tcGFyZShJdFt0XS50aXRsZSx2b2lkIDAse2lnbm9yZVB1bmN0dWF0aW9uOiEwLG51bWVyaWM6ITB9KSkpLGk9by5maWx0ZXIoKGU9Pkl0W2VdLmNoZWNrZWQpKSxuPW8uZmlsdGVyKChlPT4hSXRbZV0uY2hlY2tlZCkpO2kuY29uY2F0KG4pLmZvckVhY2goKG89PnsiaXNfcHJpbWFyeSIhPT1vJiZ0KG8pLmFwcGVuZFRvKGUpfSkpLGUuZmluZCgiLmpzLWZpZWxkLWNoZWNrYm94Iikub2ZmKCJjaGFuZ2UiKSxlLmZpbmQoIi5qcy1maWVsZC1jaGVja2JveCIpLm9uKCJjaGFuZ2UiLCh0PT57Y29uc3Qgbz1saSh0LmN1cnJlbnRUYXJnZXQpLGk9by5hdHRyKCJuYW1lIik7SXRbaV0uY2hlY2tlZD1vLnByb3AoImNoZWNrZWQiKTtjb25zdCBuPWUuYXR0cigiZGF0YS1uYW1lIikscj1JdFtpXS5jaGVja2VkOygwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBuaShuLHIsaSkpO2NvbnN0IHM9SXRbaV0uY2hlY2tlZD90aGlzLl92aWV3Ll90YWJsZS5maWVsZHNPcmRlci5jb25jYXQoaSk6dGhpcy5fdmlldy5fdGFibGUuZmllbGRzT3JkZXIuZmlsdGVyKChlPT5lIT09aSkpO3RoaXMuX21vZGVsLnByZXZlbnRQcmV2U2NhblJlcXVlc3QoKSwKdGhpcy5fbW9kZWwuZmllbGRTZXRDaGFuZ2VkLmZpcmUocy5maWx0ZXIoKGU9Pkl0W2VdJiYhMCE9PUl0W2VdLmRpc2FibGVkJiYhMCE9PUl0W2VdLmhpZGRlbkNvbHVtbikpKSx0aGlzLl9tb2RlbC51cGRhdGUoKSx0aGlzLl92aWV3LiRmaWVsZFNldHNCdXR0b24udG9nZ2xlQ2xhc3MoInR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tdW5zYXZlZCIsdGhpcy5fbW9kZWwuaXNGaWVsZFNldENoYW5nZWQoKSl9KSl9c2V0UG9wdXAoZSx0LG8pe2UuYWRkQ2xhc3MoInR2LWRyb3Bkb3duLWJlaGF2aW9yX19idXR0b24iKTtjb25zdCBpPWxpKGA8ZGl2IGNsYXNzPSIke3R8fCIifSI+YCk7aS5pbnNlcnRBZnRlcihlKS5hcHBlbmQoZSk7Y29uc3Qgbj1saSgnPGRpdiBjbGFzcz0idHYtZHJvcGRvd25fX2JvZHkgdHYtZHJvcGRvd25fX2JvZHktLW92ZXItdHJpZ2dlciB0di1kcm9wZG93bi1iZWhhdmlvcl9fYm9keSB0di1zY3JlZW5lci1wb3B1cCBpLWhpZGRlbiI+JykuYXBwZW5kVG8oaSk7byYmbi5hZGRDbGFzcyhvKTtjb25zdCByPWxpKCc8ZGl2IGNsYXNzPSJ0di1kcm9wZG93bi1iZWhhdmlvcl9fc2Nyb2xsIGpzLWNvbnRhaW5lciI+JykuYXBwZW5kVG8obik7cmV0dXJuIGxpKCc8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci1wb3B1cF9faXRlbXMtd3JhcCB0di1kcm9wZG93bi1iZWhhdmlvcl9faW5zY3JvbGwganMtY29udGVudCI+JykuYXBwZW5kVG8ociksaS5vbigiYmVmb3JlT3Blbk1lbnUiLCgoKT0+e3IuY3NzKCJtYXhIZWlnaHQiLGxpKHdpbmRvdykuaGVpZ2h0KCktZS5vZmZzZXQoKS50b3ArbGkod2luZG93KS5zY3JvbGxUb3AoKS00NSl9KSkudHZEcm9wZG93bih7c2Nyb2xsOiEwLG5vQW5pbWF0aW9uOiEwfSl9c2V0RmllbGRTZXRzUG9wdXAoZSl7Y29uc3QgdD10aGlzLnNldFBvcHVwKGUsInR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi13cmFwIik7dC50dkRyb3Bkb3duKCJkaXNhYmxlIik7Y29uc3QgaT10LmZpbmQoIi5qcy1jb250ZW50Iik7aS5vbigiY2xpY2siLCIuanMtc2V0IiwoZT0+e2NvbnN0IG89bGkoZS5jdXJyZW50VGFyZ2V0KTtpLmZpbmQoIi5qcy1pdGVtLWFjdGl2ZSIpLnJlbW92ZUNsYXNzKCJ0di1zY3JlZW5lci1wb3B1cF9faXRlbS0tYWN0aXZlIGpzLWl0ZW0tYWN0aXZlIiksby5hZGRDbGFzcygidHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLWFjdGl2ZSBqcy1pdGVtLWFjdGl2ZSIpO2NvbnN0IG49by5hdHRyKCJkYXRhLXNldCIpO3RoaXMuX21vZGVsLmFwcGx5RmllbGRTZXQobiksdGhpcy5fdmlldy5hZGp1c3RUb29sYmFyV2lkdGgoKSx0LnR2RHJvcGRvd24oImNsb3NlIiksKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IFpvKCJjb2x1bW5zZXRfc2VsZWN0b3IiLG4pKX0pKS5vbigiY2xpY2siLCIuanMtc2V0LWRlbGV0ZSIsKGU9Pntjb25zdCBpPWxpKGUuY3VycmVudFRhcmdldCksbj10aGlzLl9tb2RlbC5nZXRGaWVsZFNldEJ5SWQoaS5wYXJlbnQoKS5hdHRyKCJkYXRhLXNldCIpKSxyPXRoaXMuX21vZGVsLmN1cnJlbnRGaWVsZFNldElkKCk9PT1uLmlkO3RoaXMuc2hvd0NvbmZpcm1EaWFsb2coXy50KG51bGwsdm9pZCAwLG8oOTg1MjU5KSkuZm9ybWF0KHtuYW1lOm4udGl0bGV9KSkudGhlbigoZT0+e2UmJnRoaXMuX21vZGVsLnNhdmVGaWVsZFNldCh7aWQ6bi5pZCxkZWxldGU6MX0sIkRlbGV0ZSBmaWVsZCBzZXQiKS50aGVuKCgoKT0+e3RoaXMuX21vZGVsLnJlbW92ZUZhdm9yaXRlRmllbGRTZXQobi5pZCksciYmdGhpcy5fbW9kZWwuYXBwbHlGaWVsZFNldCh0aGlzLl9tb2RlbC5kZWZhdWx0RmllbGRTZXRzWzBdLmlkLG51bGwsITApLHRoaXMuX3ZpZXcuYWRqdXN0VG9vbGJhcldpZHRoKCl9KSl9KSksdC50dkRyb3Bkb3duKCJjbG9zZSIpLGUuc3RvcFByb3BhZ2F0aW9uKCl9KSkub24oImNsaWNrIiwiLmpzLXNldC1zdGFyIiwoZT0+e2NvbnN0IHQ9bGkoZS5jdXJyZW50VGFyZ2V0KSxvPXQucGFyZW50KCkuYXR0cigiZGF0YS1zZXQiKTt0LnBhcmVudCgpLnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci1wb3B1cF9faXRlbS0tZmF2b3JpdGUiKSx0aGlzLl9tb2RlbC5hZGRGYXZvcml0ZUZpZWxkU2V0KG8pLGUuc3RvcFByb3BhZ2F0aW9uKCksKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IFFvKCJhZGRlZCIsbykpfSkpLm9uKCJjbGljayIsIi5qcy1zZXQtc3Rhci1hY3RpdmUiLChlPT57Y29uc3QgdD1saShlLmN1cnJlbnRUYXJnZXQpLG89dC5wYXJlbnQoKS5hdHRyKCJkYXRhLXNldCIpO3QucGFyZW50KCkudG9nZ2xlQ2xhc3MoInR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLS1mYXZvcml0ZSIpLHRoaXMuX21vZGVsLnJlbW92ZUZhdm9yaXRlRmllbGRTZXQobyksZS5zdG9wUHJvcGFnYXRpb24oKSwoMCxZby5zZW5kU25vd1Bsb3dEYXRhKShuZXcgUW8oInJlbW92ZWQiLG8pKX0pKS5vbigiY2xpY2siLCIuanMtc2V0LXJlbmFtZSIsKGU9Pntjb25zdCBpPWxpKGUuY3VycmVudFRhcmdldCkucGFyZW50KCkuYXR0cigiZGF0YS1zZXQiKSxuPXRoaXMuX21vZGVsLmdldEZpZWxkU2V0QnlJZChpKTt0aGlzLnNob3dQcm9tcHREaWFsb2coe3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDY3MTIzKSksbGFiZWw6Xy50KG51bGwsdm9pZCAwLG8oMjQ5OTc4KSl9LG4udGl0bGUpLnRoZW4oKGU9PntlJiZlIT09bi50aXRsZSYmKHRoaXMuX21vZGVsLnNhdmVGaWVsZFNldCh7aWQ6bi5pZCx0aXRsZTplfSwiUmVuYW1lIGZpZWxkIHNldCIpLHRoaXMuX3ZpZXcuJGZpZWxkU2V0c0J1dHRvbi5yZW1vdmVDbGFzcygidHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1hY3RpdmUganMtbm8tcG9pbnRlci1ldmVudHMiKSx0aGlzLl9tb2RlbC5jdXJyZW50RmllbGRTZXRJZCgpPT1uLmlkJiZ0aGlzLl92aWV3LiRmaWVsZFNldHNCdXR0b24udGV4dChlKSwoMCxZby5zZW5kU25vd1Bsb3dEYXRhKShuZXcgZWkpKX0pKSx0LnR2RHJvcGRvd24oImNsb3NlIiksZS5zdG9wUHJvcGFnYXRpb24oKX0pKS5vbigiY2xpY2siLCIuanMtc2F2ZSIsKGU9Pnt0aGlzLmNvbmZpcm1BbmRTYXZlQ3VycmVudEZpZWxkU2V0KCkudGhlbigoZT0+ewpjb25zdCB0PXRoaXMuX21vZGVsLmdldEZpZWxkU2V0QnlJZChlLmlkKTt0aGlzLl9tb2RlbC5zZXR0aW5nc1NhdmVyLnNldFZhbHVlKHRoaXMuX21vZGVsLnNldHRpbmdLZXkrIi5maWVsZFNldElkIixlLmlkLHtmb3JjZUZsdXNoOiEwfSksdGhpcy5fdmlldy4kZmllbGRTZXRzQnV0dG9uLnRleHQodC50aXRsZSk7Y29uc3Qgbz10aGlzLiRmYXZvcml0ZXNCYXImJnRoaXMuJGZhdm9yaXRlc0Jhci5maW5kKGAuanMtZmF2b3JpdGUtaXRlbVtkYXRhLXNldD0ke2UuaWR9XWApfHxsaSgpO28uc2l6ZSgpJiZvLnJlbW92ZUNsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyX19mYXZvcml0ZXMtaXRlbS0tYWN0aXZlIil9KSkuY2F0Y2goKGU9PntlJiZjaS5sb2dFcnJvcihlKX0pKSx0LnR2RHJvcGRvd24oImNsb3NlIil9KSksdGhpcy5fbW9kZWwubG9hZGluZ0NvbXBsZXRlLnN1YnNjcmliZShudWxsLCgoKT0+e3QudHZEcm9wZG93bigiZW5hYmxlIil9KSwhMCksdC5vbigiYmVmb3JlT3Blbk1lbnUiLCgoKT0+dGhpcy5zZXRGaWVsZFNldHNQb3B1cENvbnRlbnQoaSkpKX1zZXRGaWVsZFNldHNQb3B1cENvbnRlbnQoZSl7ZS5lbXB0eSgpLHRoaXMuX2JyaWRnZS5vbldpZGdldHx8bGkoYDxkaXYgY2xhc3M9InR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcCB0di1zY3JlZW5lci1wb3B1cF9faXRlbSB0di1zY3JlZW5lci1wb3B1cF9faXRlbS0tc2F2ZSBqcy1zYXZlIj4keygwLHFvLmFwcGVuZEVsbGlwc2lzKShfLnQobnVsbCx2b2lkIDAsbygzMDM2ODQpKSl9PC9kaXY+YCkucHJlcGVuZChsaShvKDYyNjIxOCkpLmF0dHIoe2NsYXNzOiJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24taWNvbiIsd2lkdGg6IjIwIixoZWlnaHQ6IjE0IixzdHlsZToidG9wOiAtMnB4OyBtYXJnaW4tcmlnaHQ6IDEwcHg7In0pKS5hcHBlbmRUbyhlKTtjb25zdCB0PWxpKCc8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci1wb3B1cF9faXRlbS0tcHJlc2V0cyI+PC9kaXY+JykuYXBwZW5kVG8oZSk7dGhpcy5fbW9kZWwuc2V0dGluZ3MuZmllbGRTZXRzLmZvckVhY2goKGU9Pntjb25zdCBpPWxpKGA8ZGl2IGNsYXNzPSJ0di1kcm9wZG93bi1iZWhhdmlvcl9faXRlbSI+XG5cdFx0XHRcdDxkaXYgZGF0YS1zZXQ9IiR7ZS5pZH0iICBjbGFzcz0idHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwIHR2LXNjcmVlbmVyLXBvcHVwX19pdGVtIHR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLS1wcmVzZXQganMtc2V0IiB0aXRsZT0iJHtibyhlLnRpdGxlKX0iPlxuXHRcdFx0XHRcdDxzcGFuIGNsYXNzPSJqcy1maWVsZC1zZXQtbmFtZSI+PC9zcGFuPlxuXHRcdFx0XHRcdDxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lci1wb3B1cF9faXRlbS1kZWxldGUganMtc2V0LWRlbGV0ZSIgdGl0bGU9IiR7Xy50KG51bGwsdm9pZCAwLG8oNDMxNDQxKSl9Ij5cblx0XHRcdFx0XHRcdCR7bygxOTk3ODUpfVxuXHRcdFx0XHRcdDwvc3Bhbj5cblx0XHRcdFx0XHQ8c3BhbiBjbGFzcz0idHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tcmVuYW1lIGpzLXNldC1yZW5hbWUiIHRpdGxlPSIke18udChudWxsLHZvaWQgMCxvKDkyNDgyMykpfSI+XG5cdFx0XHRcdFx0XHQke28oMjQ5NDg5KX1cblx0XHRcdFx0XHQ8L3NwYW4+XG5cdFx0XHRcdFx0PHNwYW4gY2xhc3M9InR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLXN0YXItYWN0aXZlIGpzLXNldC1zdGFyLWFjdGl2ZSIgdGl0bGU9IiR7Xy50KG51bGwsdm9pZCAwLG8oNjk0MjA5KSl9Ij5cblx0XHRcdFx0XHRcdCR7byg4MDEzMjcpfVxuXHRcdFx0XHRcdDwvc3Bhbj5cblx0XHRcdFx0XHQ8c3BhbiBjbGFzcz0idHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tc3RhciBqcy1zZXQtc3RhciIgdGl0bGU9IiR7Xy50KG51bGwsdm9pZCAwLG8oOTk1MjkpKX0iPlxuXHRcdFx0XHRcdFx0JHtvKDQyNzA5KX1cblx0XHRcdFx0XHQ8L3NwYW4+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0PC9kaXY+YCkuYXBwZW5kVG8odCk7aS5maW5kKCIuanMtZmllbGQtc2V0LW5hbWUiKS50ZXh0KGhpKGUudGl0bGUpKSxpLmZpbmQoIi5qcy1zZXQiKS50b2dnbGVDbGFzcygidHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLWZhdm9yaXRlIiwtMSE9PXRoaXMuX21vZGVsLmZhdm9yaXRlRmllbGRTZXRzLmluZGV4T2YoZS5pZCkpfSkpLHRoaXMuX21vZGVsLmRlZmF1bHRGaWVsZFNldHMuZm9yRWFjaCgodD0+e2xpKGA8ZGl2IGNsYXNzPSJ0di1kcm9wZG93bi1iZWhhdmlvcl9faXRlbSI+XG5cdFx0XHRcdDxkaXYgZGF0YS1zZXQ9IiR7dC5pZH0iIGNsYXNzPSJ0di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAgdHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0ganMtc2V0Ij5cblx0XHRcdFx0XHQke3QudGl0bGV9XG5cdFx0XHRcdFx0JHt0aGlzLl9icmlkZ2Uub25XaWRnZXQ/IiI6YDxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lci1wb3B1cF9faXRlbS1zdGFyLWFjdGl2ZSBqcy1zZXQtc3Rhci1hY3RpdmUiIHRpdGxlPSIke18udChudWxsLHZvaWQgMCxvKDY5NDIwOSkpfSI+XG5cdFx0XHRcdFx0XHRcdCR7byg4MDEzMjcpfVxuXHRcdFx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9InR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLXN0YXIganMtc2V0LXN0YXIiIHRpdGxlPSIke18udChudWxsLHZvaWQgMCxvKDk5NTI5KSl9Ij5cblx0XHRcdFx0XHRcdFx0JHtvKDQyNzA5KX1cblx0XHRcdFx0XHRcdDwvc3Bhbj5gfVxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdDwvZGl2PmApLmFwcGVuZFRvKGUpLmZpbmQoIi5qcy1zZXQiKS50b2dnbGVDbGFzcygidHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLWZhdm9yaXRlIiwtMSE9PXRoaXMuX21vZGVsLmZhdm9yaXRlRmllbGRTZXRzLmluZGV4T2YodC5pZCkpfSkpLGUuZmluZChgW2RhdGEtc2V0PSIke3RoaXMuX21vZGVsLmN1cnJlbnRGaWVsZFNldElkKCl9Il1gKS5hZGRDbGFzcygidHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLWFjdGl2ZSBqcy1pdGVtLWFjdGl2ZSIpfWNvbmZpcm1BbmRTYXZlQ3VycmVudEZpZWxkU2V0KCl7CmNvbnN0IGU9dGhpcy5fbW9kZWwuZ2V0RmllbGRTZXRCeUlkKHRoaXMuX21vZGVsLmN1cnJlbnRGaWVsZFNldElkKCkpLHQ9dGhpcy5fdmlldy5fdGFibGUuZmllbGRzT3JkZXIuc2xpY2UoMCk7aWYoIUl0LnR5cGUuZGlzYWJsZWQmJkl0LnR5cGUuY2hlY2tlZCl7Y29uc3QgZT10LmluZGV4T2YoIm5hbWUiKTstMSE9PWUmJnQuc3BsaWNlKGUrMSwwLCJ0eXBlIil9aWYoIUl0LmRlc2NyaXB0aW9uLmRpc2FibGVkJiZJdC5kZXNjcmlwdGlvbi5jaGVja2VkKXtjb25zdCBlPXQuaW5kZXhPZigibmFtZSIpOy0xIT09ZSYmdC5zcGxpY2UoZSsxLDAsImRlc2NyaXB0aW9uIil9Y29uc3QgaT1KU09OLnN0cmluZ2lmeSh0KSxuPWUmJiF0aGlzLl9tb2RlbC5kZWZhdWx0RmllbGRTZXRzLmZpbmQoKHQ9PnQuaWQ9PT1lLmlkKSk7cmV0dXJuIG5ldyBQcm9taXNlKCgodCxyKT0+cnVuT3JTaWduSW4oKCgpPT50aGlzLnNob3dQcm9tcHREaWFsb2coe3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDMwMzY4NCkpLGxhYmVsOl8udChudWxsLHZvaWQgMCxvKDI0OTk3OCkpfSxlJiZlLnRpdGxlfHwiIikudGhlbigobz0+e2lmKHZvaWQgMD09PW8pcmV0dXJuIHZvaWQgcigpO2NvbnN0IHM9e3RpdGxlOmJvKG8pLGNvbnRlbnQ6aX07bGV0IGE9IkNyZWF0ZSBmaWVsZCBzZXQiO24mJmUudGl0bGU9PT1vJiYocy5pZD1lLmlkLGE9IlVwZGF0ZSBmaWVsZCBzZXQiKSx0aGlzLl9tb2RlbC5zYXZlRmllbGRTZXQocyxhKS50aGVuKHQscil9KSkpLHtzb3VyY2U6InNhdmUgY29sdW1uc2V0In0pKSl9c2V0RmlsdGVyU2V0c1BvcHVwKGUpe2NvbnN0IHQ9dGhpcy5zZXRQb3B1cChlLCJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24td3JhcCIsInR2LWRyb3Bkb3duX19ib2R5LS1wb3NpdGlvbl9yaWdodCIpO3QudHZEcm9wZG93bigiZGlzYWJsZSIpO2NvbnN0IGk9dC5maW5kKCIuanMtY29udGVudCIpLG49dGhpcy5fYnJpZGdlLiRib2R5O2Z1bmN0aW9uIHIoZSl7aWYoKDAsS28uaXNSdGwpKCkpZS50b2dnbGVDbGFzcygidHYtZHJvcGRvd25fX2JvZHktLXBvc2l0aW9uX3JpZ2h0IiwhMCk7ZWxzZXtjb25zdCBvPXQud2lkdGgoKSxpPW4uZmluZCgiLnR2LXNjcmVlbmVyLXRvb2xiYXIiKS53aWR0aCgpLHI9dC5wb3NpdGlvbigpLmxlZnQscz1pLShvK3IpO2UudG9nZ2xlQ2xhc3MoInR2LWRyb3Bkb3duX19ib2R5LS1wb3NpdGlvbl9yaWdodCIscj5zKX19aS5vbigiY2xpY2siLCIuanMtc2V0IiwoZT0+e2NvbnN0IG49bGkoZS5jdXJyZW50VGFyZ2V0KTtpLmZpbmQoIi5qcy1pdGVtLWFjdGl2ZSIpLnJlbW92ZUNsYXNzKCJ0di1zY3JlZW5lci1wb3B1cF9faXRlbS0tYWN0aXZlIGpzLWl0ZW0tYWN0aXZlIiksbi5hZGRDbGFzcygidHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLWFjdGl2ZSBqcy1pdGVtLWFjdGl2ZSIpLHRoaXMuX3ZpZXcuJGZpbHRlclNldHNCdXR0b24udG9nZ2xlQ2xhc3MoImktZGlzYWJsZWQiLCEwKSxuZXcgUHJvbWlzZSgoZT0+e3RoaXMuX2JyaWRnZS5vbldpZGdldD9lKCk6dGhpcy5fbW9kZWwuaXNGaWx0ZXJTZXRDaGFuZ2VkKCk/dGhpcy5zaG93Q29uZmlybURpYWxvZyhfLnQobnVsbCx2b2lkIDAsbyg5NjMzMTgpKSkudGhlbigodD0+e3Q/dGhpcy5jb25maXJtQW5kU2F2ZUN1cnJlbnRGaWx0ZXJTZXQoKS50aGVuKGUsKHQ9Pnt0JiZjaS5sb2dFcnJvcih0KSxlKCl9KSk6ZSgpfSkpOmUoKX0pKS50aGVuKCgoKT0+e2NvbnN0IGU9aGkobi5hdHRyKCJkYXRhLXNldCIpKTt0aGlzLl9tb2RlbC5hcHBseUZpbHRlclNldChlKSx0aGlzLl9tb2RlbC50cmFja0V2ZW50KCJBcHBseSBmaWx0ZXIgc2V0ICIrZSksdGhpcy5fdmlldy4kZmlsdGVyU2V0c0J1dHRvbi50b2dnbGVDbGFzcygiaS1kaXNhYmxlZCIsITEpLCgwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyB0aShlKSl9KSksc2V0VGltZW91dCgoKCk9PnQudHZEcm9wZG93bigiY2xvc2UiKSksMjAwKX0pKS5vbigiY2xpY2siLCIuanMtc2V0LWRlbGV0ZSIsKGU9Pntjb25zdCBpPWxpKGUuY3VycmVudFRhcmdldCksbj10aGlzLl9tb2RlbC5nZXRGaWx0ZXJTZXRCeUlkKGkucGFyZW50KCkuYXR0cigiZGF0YS1zZXQiKSkscj10aGlzLl9tb2RlbC5jdXJyZW50RmlsdGVyU2V0SWQoKT09PW4uaWQ7dGhpcy5zaG93Q29uZmlybURpYWxvZyhfLnQobnVsbCx2b2lkIDAsbygyNzcwMTEpKS5mb3JtYXQoe25hbWU6bi50aXRsZX0pKS50aGVuKChlPT57ZSYmdGhpcy5fbW9kZWwuc2F2ZUZpbHRlclNldCh7aWQ6bi5pZCxkZWxldGU6MX0sIkRlbGV0ZSBmaWx0ZXIgc2V0IikudGhlbigoKCk9PntpZihyKXtjb25zdCBlPXRoaXMuX21vZGVsLmRlZmF1bHRGaWx0ZXJTZXRzLmZpbmQoKGU9PiEwIT09ZS5kaXNhYmxlZCkpfHx0aGlzLl9tb2RlbC5kZWZhdWx0RmlsdGVyU2V0c1swXTt0aGlzLl9tb2RlbC5hcHBseUZpbHRlclNldChlLmlkKX19KSl9KSksdC50dkRyb3Bkb3duKCJjbG9zZSIpLGUuc3RvcFByb3BhZ2F0aW9uKCl9KSkub24oImNsaWNrIiwiLmpzLXNldC1yZW5hbWUiLChlPT57Y29uc3QgaT1saShlLmN1cnJlbnRUYXJnZXQpLnBhcmVudCgpLmF0dHIoImRhdGEtc2V0Iiksbj10aGlzLl9tb2RlbC5nZXRGaWx0ZXJTZXRCeUlkKGkpO3RoaXMuc2hvd1Byb21wdERpYWxvZyh7dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oOTQxMjU3KSksbGFiZWw6Xy50KG51bGwsdm9pZCAwLG8oODkwOTkpKX0sbi50aXRsZSkudGhlbigoZT0+e2UmJmUhPT1uLnRpdGxlJiYodGhpcy5fbW9kZWwuc2F2ZUZpbHRlclNldCh7aWQ6bi5pZCx0aXRsZTplfSwiUmVuYW1lIGZpbHRlciBzZXQiKSx0aGlzLl92aWV3LiRmaWx0ZXJTZXRzQnV0dG9uLnJlbW92ZUNsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLWFjdGl2ZSBqcy1uby1wb2ludGVyLWV2ZW50cyIpLHRoaXMuX21vZGVsLmN1cnJlbnRGaWx0ZXJTZXRJZCgpPT1uLmlkJiZ0aGlzLl92aWV3LiRmaWx0ZXJTZXRzQnV0dG9uVGl0bGUudGV4dChlKSwoMCxZby5zZW5kU25vd1Bsb3dEYXRhKShuZXcgb2kpKX0pKSx0LnR2RHJvcGRvd24oImNsb3NlIiksZS5zdG9wUHJvcGFnYXRpb24oKQp9KSkub24oImNsaWNrIiwiLmpzLXNhdmUiLChlPT57dGhpcy5jb25maXJtQW5kU2F2ZUN1cnJlbnRGaWx0ZXJTZXQoKS50aGVuKChlPT57dm9pZCAwIT09ZS5pZD8odGhpcy5fbW9kZWwuc2V0dGluZ3NTYXZlci5zZXRWYWx1ZSh0aGlzLl9tb2RlbC5zZXR0aW5nS2V5KyIuZmlsdGVyU2V0SWQiLGUuaWQse2ZvcmNlRmx1c2g6ITB9KSx0aGlzLl92aWV3LiRmaWx0ZXJTZXRzQnV0dG9uVGl0bGUudGV4dCh0aGlzLl9tb2RlbC5nZXRGaWx0ZXJTZXRCeUlkKGUuaWQpLnRpdGxlKSk6Y2kubG9nRXJyb3IoIlVuYWJsZSB0byBnZXQgaWQgb2YgY3JlYXRlZCBzZXQiKX0pKS5jYXRjaCgoZT0+e2UmJmNpLmxvZ0Vycm9yKGUpfSkpLHQudHZEcm9wZG93bigiY2xvc2UiKX0pKSx0aGlzLiRmaWx0ZXJTZXRzUG9wdXBDb250ZW50PWksdGhpcy5fYnJpZGdlLndpZHRoPyhyKGkucGFyZW50KCkucGFyZW50KCkpLHRoaXMuX2JyaWRnZS53aWR0aC5zdWJzY3JpYmUoKCgpPT57cihpLnBhcmVudCgpLnBhcmVudCgpKX0pKSk6bGkod2luZG93KS5vbigicmVzaXplIiwoKCk9PntyKGkucGFyZW50KCkucGFyZW50KCkpfSkpLHRoaXMuX21vZGVsLmxvYWRpbmdDb21wbGV0ZS5zdWJzY3JpYmUobnVsbCwoKCk9Pnt0LnR2RHJvcGRvd24oImVuYWJsZSIpfSksITApLHQub24oImJlZm9yZU9wZW5NZW51IiwoKCk9Pnt0aGlzLnNldEZpbHRlclNldHNQb3B1cENvbnRlbnQoKX0pKX1zZXRGaWx0ZXJTZXRzUG9wdXBDb250ZW50KCl7Y29uc3QgZT10aGlzLiRmaWx0ZXJTZXRzUG9wdXBDb250ZW50O2UuZW1wdHkoKSx0aGlzLl9icmlkZ2Uub25XaWRnZXR8fGxpKGA8ZGl2IGNsYXNzPSJ0di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAgdHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0gdHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLXNhdmUgdHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLXNwYWNlLWxlZnQganMtc2F2ZSI+JHsoMCxxby5hcHBlbmRFbGxpcHNpcykoXy50KG51bGwsdm9pZCAwLG8oMzk0MTMxKSkpfTwvZGl2PmApLnByZXBlbmQobGkobyg2MjYyMTgpKS5hdHRyKHtjbGFzczoidHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLWljb24iLHdpZHRoOiIyMCIsaGVpZ2h0OiIxNCIsc3R5bGU6InRvcDogLTJweDsgbWFyZ2luLXJpZ2h0OiAxMHB4OyJ9KSkuYXBwZW5kVG8oZSk7Y29uc3QgdD1saSgnPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLXByZXNldHMiPjwvZGl2PicpLmFwcGVuZFRvKGUpO3RoaXMuX21vZGVsLnNldHRpbmdzLmZpbHRlclNldHMuZm9yRWFjaCgoZT0+e2NvbnN0IGk9bGkoYDxkaXYgY2xhc3M9InR2LWRyb3Bkb3duLWJlaGF2aW9yX19pdGVtIj5cblx0XHRcdFx0PGRpdiBkYXRhLXNldD0iJHtlLmlkfSIgY2xhc3M9InR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcCB0di1zY3JlZW5lci1wb3B1cF9faXRlbSB0di1zY3JlZW5lci1wb3B1cF9faXRlbS0tcHJlc2V0IHR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLS1zcGFjZS1sZWZ0IGpzLXNldCI+XG5cdFx0XHRcdFx0PHNwYW4gY2xhc3M9ImpzLWZpbHRlci1zZXQtbmFtZSI+PC9zcGFuPlxuXHRcdFx0XHRcdDxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lci1wb3B1cF9faXRlbS1yZW5hbWUganMtc2V0LXJlbmFtZSIgdGl0bGU9IiR7Xy50KG51bGwsdm9pZCAwLG8oOTI0ODIzKSl9Ij5cblx0XHRcdFx0XHRcdCR7bygyNDk0ODkpfVxuXHRcdFx0XHRcdDwvc3Bhbj5cblx0XHRcdFx0XHQ8c3BhbiBjbGFzcz0idHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tZGVsZXRlIHR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLWRlbGV0ZS0tcmlnaHQganMtc2V0LWRlbGV0ZSIgdGl0bGU9IiR7Xy50KG51bGwsdm9pZCAwLG8oNDMxNDQxKSl9Ij5cblx0XHRcdFx0XHRcdCR7bygxOTk3ODUpfVxuXHRcdFx0XHRcdDwvc3Bhbj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5gKTtpLmZpbmQoIi5qcy1maWx0ZXItc2V0LW5hbWUiKS50ZXh0KGhpKGUudGl0bGUpKSxpLmFwcGVuZFRvKHQpfSkpLHRoaXMuX21vZGVsLmRlZmF1bHRGaWx0ZXJTZXRzLmZvckVhY2goKHQ9Pnt0LmRpc2FibGVkfHxsaShgPGRpdiBjbGFzcz0idHYtZHJvcGRvd24tYmVoYXZpb3JfX2l0ZW0iPlxuXHRcdFx0XHQ8ZGl2IGRhdGEtc2V0PSIke3QuaWR9IiBjbGFzcz0idHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwIHR2LXNjcmVlbmVyLXBvcHVwX19pdGVtIHR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLS1zcGFjZS1sZWZ0IGpzLXNldCI+XG5cdFx0XHRcdFx0JHt0LnRpdGxlfVxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdDwvZGl2PmApLmFwcGVuZFRvKGUpfSkpLGUuZmluZChgW2RhdGEtc2V0PSIke3RoaXMuX21vZGVsLmN1cnJlbnRGaWx0ZXJTZXRJZCgpfSJdYCkuYWRkQ2xhc3MoInR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLS1hY3RpdmUganMtaXRlbS1hY3RpdmUiKX1jb25maXJtQW5kU2F2ZUN1cnJlbnRGaWx0ZXJTZXQoKXtjb25zdCBlPXRoaXMuX21vZGVsLmdldEZpbHRlclNldEJ5SWQodGhpcy5fbW9kZWwuY3VycmVudEZpbHRlclNldElkKCkpLHQ9SlNPTi5zdHJpbmdpZnkodGhpcy5fbW9kZWwuY3VycmVudEZpbHRlclN0YXRlKCkpLGk9ZSYmIXRoaXMuX21vZGVsLmRlZmF1bHRGaWx0ZXJTZXRzLmZpbmQoKHQ9PnQuaWQ9PT1lLmlkKSk7cmV0dXJuIG5ldyBQcm9taXNlKCgobixyKT0+cnVuT3JTaWduSW4oKCgpPT50aGlzLnNob3dQcm9tcHREaWFsb2coe3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDM5NDEzMSkpLGxhYmVsOl8udChudWxsLHZvaWQgMCxvKDg5MDk5KSl9LGUudGl0bGUpLnRoZW4oKG89PntpZih2b2lkIDA9PT1vKXJldHVybiB2b2lkIHIoKTtjb25zdCBzPXt0aXRsZTpibyhvKSxjb250ZW50OnR9O2xldCBhPSJDcmVhdGUgZmlsdGVyIHNldCI7aSYmZS50aXRsZT09PW8mJihzLmlkPWUuaWQsYT0iVXBkYXRlIGZpbHRlciBzZXQiKSx0aGlzLl9tb2RlbC5zYXZlRmlsdGVyU2V0KHMsYSkudGhlbihuLHIpfSkpKSx7c291cmNlOiJzYXZlIHNjcmVlbiJ9KSkpfXNldEhpZGRlbkZhdm9yaXRlc1BvcHVwKGUsdCxvLGkpewplLmFkZENsYXNzKCJ0di1kcm9wZG93bi1iZWhhdmlvcl9fYnV0dG9uIik7Y29uc3Qgbj1saSgnPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdG9vbGJhcl9fZmF2b3JpdGVzLW1vcmUtd3JhcCI+Jyk7bi5pbnNlcnRBZnRlcihlKS5hcHBlbmQoZSk7Y29uc3Qgcj1saSgnPGRpdiBjbGFzcz0idHYtZHJvcGRvd25fX2JvZHkgdHYtZHJvcGRvd25fX2JvZHktLW92ZXItdHJpZ2dlciB0di1kcm9wZG93bi1iZWhhdmlvcl9fYm9keSB0di1kcm9wZG93bl9fYm9keS0tcG9zaXRpb25fcmlnaHQgaS1oaWRkZW4iPicpLmFwcGVuZFRvKG4pLHM9bGkoJzxkaXYgY2xhc3M9InR2LWRyb3Bkb3duLWJlaGF2aW9yX19zY3JvbGwganMtY29udGFpbmVyIj4nKS5hcHBlbmRUbyhyKSxhPWxpKCc8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci1wb3B1cF9faXRlbXMtd3JhcCB0di1kcm9wZG93bi1iZWhhdmlvcl9faW5zY3JvbGwganMtY29udGVudCI+JykuYXBwZW5kVG8ocyk7YS5vbigiY2xpY2siLCIuanMtc2V0IiwoZT0+e2NvbnN0IHQ9bGkoZS5jdXJyZW50VGFyZ2V0KS5hdHRyKCJkYXRhLXNldCIpO2kodCksKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IFpvKCJjb2x1bW5zZXRfZmF2b3JpdGVzX3BpY2tlciIsdCkpLG4udHZEcm9wZG93bigiY2xvc2UiKX0pKTtjb25zdCBsPSgpPT57YS5lbXB0eSgpLHQoKS5mb3JFYWNoKChlPT57bGkoYDxkaXYgY2xhc3M9InR2LWRyb3Bkb3duLWJlaGF2aW9yX19pdGVtIj5cblx0XHRcdFx0XHQ8ZGl2IGRhdGEtc2V0PSIke2UuaWR9IiBjbGFzcz0idHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwIHR2LXNjcmVlbmVyLXBvcHVwX19pdGVtIGpzLXNldCI+XG5cdFx0XHRcdFx0XHQke2JvKGUudGl0bGUpfVxuXHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHQ8L2Rpdj5gKS50b2dnbGVDbGFzcygidHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLWFjdGl2ZSIsbyhlLmlkKSkuYXBwZW5kVG8oYSl9KSksbi50dkRyb3Bkb3duKCJ1cGRhdGVTY3JvbGwiKX07cmV0dXJuIG4ub24oImJlZm9yZU9wZW5NZW51IiwoKCk9PntsKCkscy5jc3MoIm1heEhlaWdodCIsbGkod2luZG93KS5oZWlnaHQoKS1lLm9mZnNldCgpLnRvcCtsaSh3aW5kb3cpLnNjcm9sbFRvcCgpLTQ1KX0pKS5vbigicmVzZXRDb250ZW50IiwoKCk9PmwoKSkpLm9uKCJmb3JjZUNsb3NlIiwoKCk9Pm4udHZEcm9wZG93bigiY2xvc2UiKSkpLnR2RHJvcGRvd24oe3Njcm9sbDohMCxub0FuaW1hdGlvbjohMH0pfXNldFNlbGVjdFBvcHVwKGUsdCl7Y29uc3R7d3JhcENsYXNzOm8sYnV0dG9uQ2xhc3M6aSxkcm9wZG93bkNsYXNzOm59PWUse2J1dHRvblRpdGxlOnJ9PXQscz1saShgPGRpdiBjbGFzcz0iJHtvfSB0di1kcm9wZG93biB0di1kcm9wZG93bi0taW5saW5lIHR2LWRyb3Bkb3duLWJlaGF2aW9yIj5gKSxhPWxpKGA8ZGl2IGNsYXNzPSJ0di1kcm9wZG93bl9fYnV0dG9uIHR2LWRyb3Bkb3duLWJlaGF2aW9yX19idXR0b24gJHtpfSIgdGl0bGU9IiR7cn0iPmApLmFwcGVuZFRvKHMpLGw9bGkoYDxkaXYgY2xhc3M9InR2LWRyb3Bkb3duX19ib2R5IHR2LWRyb3Bkb3duLWJlaGF2aW9yX19ib2R5IHR2LWRyb3Bkb3duX19ib2R5LS1vdmVyLXRyaWdnZXIgdHYtZHJvcGRvd25fX2JvZHktLXBvc2l0aW9uX3JpZ2h0IGktaGlkZGVuICR7bn0iPmApLmFwcGVuZFRvKHMpLGM9bGkoJzxkaXYgY2xhc3M9InR2LWRyb3Bkb3duLWJlaGF2aW9yX19zY3JvbGwganMtY29udGFpbmVyIj4nKS5hcHBlbmRUbyhsKSxkPWxpKCc8ZGl2IGNsYXNzPSJ0di1kcm9wZG93bi1iZWhhdmlvcl9faW5zY3JvbGwganMtY29udGVudCI+JykuYXBwZW5kVG8oYyk7cmV0dXJuIHMub24oImJlZm9yZU9wZW5NZW51IiwoKCk9PntjLmNzcygibWF4SGVpZ2h0IixsaSh3aW5kb3cpLmhlaWdodCgpLWEub2Zmc2V0KCkudG9wK2xpKHdpbmRvdykuc2Nyb2xsVG9wKCktNDUpfSkpLm9uKCJmb3JjZUNsb3NlIiwoKCk9PnMudHZEcm9wZG93bigiY2xvc2UiKSkpLnR2RHJvcGRvd24oe3Njcm9sbDohMCwkd3JhcDphLCRib2R5Omwsbm9BbmltYXRpb246ITB9KSx7JHdyYXA6cywkYnV0dG9uOmEsJGRyb3Bkb3duQm9keTpsLCRkcm9wZG93bkNvbnRlbnQ6ZH19c2V0TWFya2V0c0xpc3QoZSl7dGhpcy5fbWFya2V0cz1lfXVwZGF0ZVJlZnJlc2hJbnRlcnZhbHNQb3B1cENvbnRlbnQoKXtpZighdGhpcy4kZmlsdGVyUmVmcmVzaEludGVydmFsc1BvcHVwfHwhdGhpcy4kZmlsdGVyUmVmcmVzaEludGVydmFsc1BvcHVwLmxlbmd0aClyZXR1cm47dGhpcy4kZmlsdGVyUmVmcmVzaEludGVydmFsc1BvcHVwLmVtcHR5KCk7Y29uc3QgZT10aGlzLl92aWV3LnJlZnJlc2hJbnRlcnZhbHM7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDsrK3Qpe2NvbnN0IGk9ZVt0XTtsZXQgbj1udWxsO2lmKC0xPT09aSluPV8udChudWxsLHZvaWQgMCxvKDk5ODYxNikpO2Vsc2V7Y29uc3QgZT1pLzYwfDA7bj0xPT09ZT9fLnQobnVsbCx2b2lkIDAsbyg4Njk3NTYpKTplPDE/dGhpcy5fbW9kZWwuaXNGYXN0UmVmcmVzaD9fLnQobnVsbCx2b2lkIDAsbyg4OTg5ODcpKTpfLnQobnVsbCx7cGx1cmFsOiJSZWZyZXNoIGV2ZXJ5IHswfSBzZWNvbmRzIixjb3VudDppfSxvKDYzMTQ0NykpLmZvcm1hdChpKTpfLnQobnVsbCx7cGx1cmFsOiJSZWZyZXNoIGV2ZXJ5IHswfSBtaW51dGVzIixjb3VudDplfSxvKDU1NDcyMikpLmZvcm1hdChlKX0KbGkoYDxkaXYgY2xhc3M9InR2LWRyb3Bkb3duLWJlaGF2aW9yX19pdGVtIj5cblx0XHRcdFx0PGxhYmVsIGNsYXNzPSJ0di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAgdHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0ganMtaW50ZXJ2YWwiPlxuXHRcdFx0XHRcdDxzcGFuIGNsYXNzPSJ0di1jb250cm9sLXJhZGlvIj5cblx0XHRcdFx0XHRcdDxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iaW50ZXJ2YWwiIHZhbHVlPSIke2l9IiBjbGFzcz0idHYtY29udHJvbC1yYWRpb19faW5wdXQiPlxuXHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9InR2LWNvbnRyb2wtcmFkaW9fX2JveCI+PC9zcGFuPlxuXHRcdFx0XHRcdDwvc3Bhbj5cblx0XHRcdFx0XHQ8c3BhbiBjbGFzcz0idHYtY29udHJvbC1yYWRpb19fbGFiZWwgdHYtc2NyZWVuZXItcG9wdXBfX3JlZnJlc2gtaW50ZXJ2YWwtbGFiZWwiPiR7bn08L3NwYW4+XG5cdFx0XHRcdDwvbGFiZWw+XG5cdFx0XHQ8L2Rpdj5gKS5hcHBlbmRUbyh0aGlzLiRmaWx0ZXJSZWZyZXNoSW50ZXJ2YWxzUG9wdXApfX1zZXRSZWZyZXNoSW50ZXJ2YWxzUG9wdXAoZSl7Y29uc3QgdD10aGlzLnNldFBvcHVwKGUsInR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi13cmFwIiwidHYtc2NyZWVuZXItcG9wdXBfX3JlZnJlc2gtaW50ZXJ2YWxzIik7ZS50b2dnbGVDbGFzcygianMtcHJldmVudC1kcm9wZG93biIsIXdpbmRvdy5pc19hdXRoZW50aWNhdGVkKSxlLm9uKCJjbGljayIsKCgpPT5ydW5PclNpZ25JbigoKCk9Pnt9KSx7c291cmNlOiJTY3JlZW5lciByZWZyZXNoIG1vZGUgYnV0dG9uIn0pKSksd2luZG93LmxvZ2luU3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKG51bGwsKCgpPT57ZS50b2dnbGVDbGFzcygianMtcHJldmVudC1kcm9wZG93biIsIXdpbmRvdy5pc19hdXRoZW50aWNhdGVkKX0pKTtjb25zdCBvPXQuZmluZCgiLmpzLWNvbnRlbnQiKTt0aGlzLiRmaWx0ZXJSZWZyZXNoSW50ZXJ2YWxzUG9wdXA9byx0aGlzLnVwZGF0ZVJlZnJlc2hJbnRlcnZhbHNQb3B1cENvbnRlbnQoKSx0Lm9uKCJiZWZvcmVPcGVuTWVudSIsKCgpPT57by5maW5kKGBpbnB1dFt2YWx1ZT0ke3RoaXMuX21vZGVsLnJlZnJlc2hJbnRlcnZhbH1dYCkucHJvcCgiY2hlY2tlZCIsITApfSkpLG8ub24oImNsaWNrIiwiLmpzLWludGVydmFsIiwoZT0+e2UucHJldmVudERlZmF1bHQoKTtjb25zdCBpPStsaShlLmN1cnJlbnRUYXJnZXQpLmZpbmQoImlucHV0IikudmFsKCk7c2V0VGltZW91dCgoKCk9PnQudHZEcm9wZG93bigiY2xvc2UiKSksbW8uZHVyLzIpLGkhPT10aGlzLl9tb2RlbC5yZWZyZXNoSW50ZXJ2YWwmJih0aGlzLl9tb2RlbC5pc0Zhc3RSZWZyZXNoPyhvLmZpbmQoYGlucHV0W3ZhbHVlPSR7aX1dYCkucHJvcCgiY2hlY2tlZCIsITApLHRoaXMuX21vZGVsLnJlZnJlc2hJbnRlcnZhbD1pKTpHbygoKCk9PntvLmZpbmQoYGlucHV0W3ZhbHVlPSR7aX1dYCkucHJvcCgiY2hlY2tlZCIsITApLHRoaXMuX21vZGVsLnJlZnJlc2hJbnRlcnZhbD1pfSksWG8uUHJvZHVjdEZlYXR1cmVzRW51bS5TQ1JFRU5FUl9BVVRPX1JFRlJFU0gse2ZlYXR1cmU6InNjcmVlbmVyQXV0b1JlZnJlc2gifSx7dmFsdWU6LTE9PT1pfSksKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IGFpKGkpKSl9KSl9c2V0U2VsZWN0SW50ZXJ2YWxDb250ZW50KGUsdCxvPSgpPT57fSl7dC5lbXB0eSgpO2NvbnN0IGk9dGhpcy5fbW9kZWwuc2VsZWN0ZWRJbnRlcnZhbElkO2Zvcihjb25zdCBlIG9mIGxlKWxpKGA8ZGl2IGNsYXNzPSJ0di1kcm9wZG93bi1iZWhhdmlvcl9faXRlbSI+XG5cdFx0XHRcdDxkaXYgZGF0YS1pbnRlcnZhbD0iJHtlLmlkfSIgdGl0bGU9IiR7ZS50aXRsZX0iIGNsYXNzPSJ0di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAgdHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0ganMtc2VsZWN0LWludGVydmFsICR7ZS5pZD09PWk/InR2LXNjcmVlbmVyLXBvcHVwX19zZWxlY3QtaW50ZXJ2YWwtYWN0aXZlIjoiIn0iPlxuXHRcdFx0XHRcdCR7ZS5zaG9ydFRpdGxlfVxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdDwvZGl2PmApLmFwcGVuZFRvKHQpO2Uub24oImFmdGVyT3Blbk1lbnUiLCgoKT0+e3Qub24oImNsaWNrIiwiLmpzLXNlbGVjdC1pbnRlcnZhbCIsKGk9PntpLnByZXZlbnREZWZhdWx0KCk7Y29uc3Qgbj10aGlzLl9tb2RlbC5zZWxlY3RlZEludGVydmFsSWQ7bGV0IHI9ZGUobGkoaS5jdXJyZW50VGFyZ2V0KS5kYXRhKCJpbnRlcnZhbCIpKTtpZighcnx8bj09PXIuaWQpcmV0dXJuO2NvbnN0IHM9dGhpcy5fbW9kZWwuZW9kUmVzdHJpY3Rpb24udmFsdWUoKTtHbygoKCk9PntzIT09V28uTm9uZSYmIjFkIiE9PXIuaWQ/KCgwLElvLm9wZW5QYXl3YWxsKSh7ZmVhdHVyZToic2NyZWVuZXJJbnRlcnZhbHNFb2QifSkscj1kZSgiMWQiKSk6KHQuZmluZCgiLnR2LXNjcmVlbmVyLXBvcHVwX19zZWxlY3QtaW50ZXJ2YWwtYWN0aXZlIikucmVtb3ZlQ2xhc3MoInR2LXNjcmVlbmVyLXBvcHVwX19zZWxlY3QtaW50ZXJ2YWwtYWN0aXZlIiksdC5maW5kKGBbZGF0YS1pbnRlcnZhbD0nJHtyLmlkfSddYCkuYWRkQ2xhc3MoInR2LXNjcmVlbmVyLXBvcHVwX19zZWxlY3QtaW50ZXJ2YWwtYWN0aXZlIiksbyhyKSl9KSxYby5Qcm9kdWN0RmVhdHVyZXNFbnVtLlNDUkVFTkVSX0lOVEVSVkFMUyx7ZmVhdHVyZToic2NyZWVuZXJJbnRlcnZhbHMifSx7aW50ZXJ2YWw6ci5pZH0pLHNldFRpbWVvdXQoKCgpPT57ZS50dkRyb3Bkb3duKCJjbG9zZSIpLHQub2ZmKCJjbGljayIpfSksbW8uZHVyLzIpLCgwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBKbyhyLmlkKSl9KSl9KSl9fWZ1bmN0aW9uIGhpKGUpe3JldHVybiBibyhlLCEwKX12YXIgdWk9byg1ODcxNjgpLF9pPW8oMTY3NTAyKTtvKDE3MjM3MSksbyg1OTMyNjMpO2NsYXNzIHBpe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5ldmVudD0ib3Blbl9maWx0ZXJzX2RpYWxvZyIsdGhpcy5sb2NhdGlvbj0idG9vbGJhciIsdGhpcy52YWx1ZT0iIix0aGlzLnNvdXJjZT1lLHRoaXMuc3RhdGU9dD4wPyJ3aXRoX2NvdW50ZXIiOiJ3aXRob3V0X2NvdW50ZXIifX1jbGFzcyBtaXtjb25zdHJ1Y3RvcihlKXsKdGhpcy5ldmVudD0iY2hhbmdlX2ZpbHRlcl9kaWFsb2dfdGFiIix0aGlzLnNvdXJjZT0iZmlsdGVyX2RpYWxvZ190YWJfYnV0dG9uIix0aGlzLmxvY2F0aW9uPSJmaWx0ZXJfZGlhbG9nIix0aGlzLnZhbHVlPSIiLHRoaXMuc3RhdGU9ZX19Y2xhc3MgZ2l7Y29uc3RydWN0b3IoKXt0aGlzLmV2ZW50PSJmaWx0ZXJfZGlhbG9nX3NlYXJjaF9pbnB1dF9jbGljayIsdGhpcy5zb3VyY2U9ImZpbHRlcl9kaWFsb2dfc2VhcmNoX2lucHV0Iix0aGlzLmxvY2F0aW9uPSJmaWx0ZXJfZGlhbG9nIix0aGlzLnN0YXRlPSJ1c2VyX2NsaWNrZWQiLHRoaXMudmFsdWU9IiJ9fWNsYXNzIHZpe2NvbnN0cnVjdG9yKGUpe3RoaXMuZXZlbnQ9ImZpbHRlcl9kaWFsb2dfc2VhcmNoX25vX3Rlcm1zX2ZvdW5kIix0aGlzLnNvdXJjZT0iZmlsdGVyX2RpYWxvZ19zZWFyY2hfaW5wdXQiLHRoaXMubG9jYXRpb249ImZpbHRlcl9kaWFsb2ciLHRoaXMuc3RhdGU9ImVtcHR5X3NlYXJjaF9yZXN1bHQiLHRoaXMudmFsdWU9IiIsdGhpcy52YWx1ZT1lfX1jbGFzcyBmaXtjb25zdHJ1Y3RvcihlKXt0aGlzLmV2ZW50PSJmaWx0ZXJfZGlhbG9nX2FwcGxpZWRfZmlsdGVycyIsdGhpcy5zb3VyY2U9InVua25vd24iLHRoaXMubG9jYXRpb249ImZpbHRlcl9kaWFsb2ciLHRoaXMuc3RhdGU9aWkuVXNlckFjdGlvblN0YXRlLkFwcGx5RmlsdGVycyx0aGlzLnZhbHVlPWV9fWNsYXNzIHlpe2NvbnN0cnVjdG9yKGUsdCxvLGkpe3RoaXMuZXZlbnQ9ImZpbHRlcl91c2UiLHRoaXMudmFsdWU9ZSx0aGlzLnN0YXRlPXQsdGhpcy5zb3VyY2U9byx0aGlzLmxvY2F0aW9uPWl9fWNsYXNzIGJpe2NvbnN0cnVjdG9yKGUpe3RoaXMuZXZlbnQ9ImFwcGx5X2ZsYWdnZWRfZmlsdGVyIix0aGlzLnNvdXJjZT0iZmxhZ2dlZF9tYXJrZXIiLHRoaXMubG9jYXRpb249ImhlYWRlciIsdGhpcy5zdGF0ZT0iZW5hYmxlZCIsdGhpcy52YWx1ZT1lfX12YXIgU2k9byg0ODI1MDQpO2NvbnN0IHdpPXtmaWx0ZXJzU2VhcmNoOmA8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci1zZWFyY2gganMtc2NyZWVuZXItc2VhcmNoIj5cblx0XHQ8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9InR2LXNjcmVlbmVyLXNlYXJjaF9faW5wdXQganMtc2VhcmNoLWlucHV0IiBwbGFjZWhvbGRlcj0iJHtfLnQobnVsbCx2b2lkIDAsbyg1OTg3KSl9Ij5cblx0XHQke28oNzU1MDQxKX1cblx0XHQ8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci1zZWFyY2hfX3Jlc2V0IGpzLXNlYXJjaC1yZXNldCI+XG5cdFx0XHQ8c3BhbiBjbGFzcz0idHYtc2NyZWVuZXItc2VhcmNoX19yZXNldC1pY29uIj4ke28oMTQ3MDc4KX08L3NwYW4+XG5cdFx0XHQke18udChudWxsLHZvaWQgMCxvKDgyNjMxNCkpfVxuXHRcdDwvZGl2PlxuXHQ8L2Rpdj5gLGZpbHRlcnNCb2R5Oic8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci1kaWFsb2cganMtc2NyZWVuZXItZGlhbG9nIj5cblx0XHQ8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci1kaWFsb2dfX3dyYXAganMtZmlsdGVycy13cmFwIj48L2Rpdj5cblx0PC9kaXY+J307dmFyIENpPVtfLnQobnVsbCx2b2lkIDAsbygyMzM2OTApKSxfLnQobnVsbCx2b2lkIDAsbyg5OTQwMjUpKSxfLnQobnVsbCx2b2lkIDAsbygzNjkzMjUpKSxfLnQobnVsbCx7Y29udGV4dDoic3R1ZHkifSxvKDQ3NzQ3NSkpXTtjbGFzcyBraXtjb25zdHJ1Y3RvcihlLHQsbyl7dGhpcy5fbW9kZWw9ZSx0aGlzLl92aWV3PXQsdGhpcy5fYnJpZGdlPW8sdGhpcy5fZGlhbG9nVGl0bGU9InNjcmVlbmVyX2ZpbHRlcnMiLHRoaXMuX2NhdGVnb3JpZXM9bnVsbH1zaG93RmlsdGVyc0RpYWxvZyhlKXtyZXR1cm4gUHJvbWlzZS5hbGwoW28uZSg4NzIzOCksby5lKDMxODM3KSxvLmUoMjA5NzEpLG8uZSg4OTE5NSksby5lKDM3MzkwKSxvLmUoNjQ5OTcpXSkudGhlbihvLmJpbmQobyw2ODY5NzUpKS50aGVuKCgoe2NyZWF0ZVRhYmJlZERpYWxvZzp0fSk9Pnt0aGlzLl9jYXRlZ29yaWVzPXRoaXMuX2dldENhdGVnb3JpZXMoKTtjb25zdCBvPXRoaXMuX2NhdGVnb3JpZXMubWFwKChlPT4oe25hbWU6Q2lbZV19KSkpLHtkaWFsb2c6aSx0YWJzOm59PXQoe3RhYnM6byxhZGRpdGlvbmFsSGVhZGVyQ29udGVudDp3aS5maWx0ZXJzU2VhcmNoLHdpZHRoOk1hdGgubWluKDE0MDAsTWF0aC5tYXgoNjQ2LFNpKHdpbmRvdykud2lkdGgoKS0yMDApKSxoZWlnaHQ6TWF0aC5tYXgoNDUwLFNpKHdpbmRvdykuaGVpZ2h0KCktMjAwKSxjb250ZW50QWRkQ2xhc3M6ImpzLWRpYWxvZy1jb250ZW50IixkcmFnZ2FibGU6ITEsZG9Ob3RDcmVhdGVQYWdlczohMCxkZXN0cm95T25DbG9zZTohMH0pLHI9aS4kY29udGVudC5maW5kKCIuanMtZGlhbG9nLWNvbnRlbnQiKSxzPWkuJGNvbnRlbnQuZmluZCgiLmpzLXNjcmVlbmVyLXNlYXJjaCIpO3RoaXMuJGZpZWxkU2VhcmNoSW5wdXQ9cy5maW5kKCIuanMtc2VhcmNoLWlucHV0IiksdGhpcy4kZmllbGRTZWFyY2hJbnB1dC5vbigiaW5wdXQiLCgwLHVpLmRlZmF1bHQpKChlPT57dGhpcy5fdmlldy51cGRhdGVGaWx0ZXJTZWFyY2goKSxpLnVwZGF0ZVNjcm9sbCgpfSksMTAwLHtsZWFkaW5nOiExLHRyYWlsaW5nOiEwfSkpLHRoaXMuJGZpZWxkU2VhcmNoSW5wdXQub24oImNsaWNrIiwoKCk9PnsoMCxZby5zZW5kU25vd1Bsb3dEYXRhKShuZXcgZ2kpfSkpO3MuZmluZCgiLmpzLXNlYXJjaC1yZXNldCIpLm9uKCJjbGljayIsKGU9PnRoaXMuX3ZpZXcucmVzZXRBbGxGaWx0ZXJzKCkpKTtjb25zdCBhPSgpPT57Y29uc3QgZT10aGlzLiRmaWx0ZXJzUG9wdXAuZ2V0KDApLmNsaWVudFdpZHRoPj0xMjkyO2UmJiF0aGlzLl8kZmlsdGVyc1dyYXAuaXMoIi5qcy0yY29sIik/dGhpcy5fJGZpbHRlcnNXcmFwLmFkZENsYXNzKCJqcy0yY29sIHR2LXNjcmVlbmVyLWRpYWxvZ19fd3JhcC0tMmNvbCIpOiFlJiZ0aGlzLl8kZmlsdGVyc1dyYXAuaXMoIi5qcy0yY29sIikmJnRoaXMuXyRmaWx0ZXJzV3JhcC5yZW1vdmVDbGFzcygianMtMmNvbCB0di1zY3JlZW5lci1kaWFsb2dfX3dyYXAtLTJjb2wiKX07dGhpcy4kZmlsdGVyc1BvcHVwPVNpKHdpLmZpbHRlcnNCb2R5KSwKdGhpcy5fJGZpbHRlcnNXcmFwPXRoaXMuJGZpbHRlcnNQb3B1cC5maW5kKCIuanMtZmlsdGVycy13cmFwIik7Y29uc3QgbD1bXTt0aGlzLl92aWV3LnNvcnRlZEZpZWxkcy5mb3JFYWNoKChlPT57SXRbZV0mJiFJdFtlXS5kaXNhYmxlZCYmSXRbZV0uY29udHJvbCYmbC5wdXNoKHRoaXMuX3ZpZXcuYWRkRmllbGRGaWx0ZXIoZSx0aGlzLl8kZmlsdGVyc1dyYXApKX0pKSxQcm9taXNlLmFsbChsKS50aGVuKCgoKT0+dGhpcy5fJGZpbHRlcnNXcmFwLmZpbmQoIi5qcy13cmFwIikuZWFjaCgoKGUsdCk9Pnt0aGlzLl92aWV3LmluaXRGaWx0ZXJIYW5kbGVycyhTaSh0KSl9KSkpKSx0aGlzLiRmaWx0ZXJzUG9wdXAuYXBwZW5kVG8ociksZSYmdGhpcy5fbW9kZWwuc2V0dGluZ3NTYXZlci5zZXRWYWx1ZSh0aGlzLl9tb2RlbC5zZXR0aW5nS2V5KyIuZmlsdGVycy50YWIiLDApLG4udGFiQ2hhbmdlZC5zdWJzY3JpYmUobnVsbCwoZT0+e3RoaXMuZmlsdGVyc0RpYWxvZ1RhYkNoYW5nZWQoZSksaS5zY3JvbGxUb1N0YXJ0KCksMCE9PWUmJigwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBtaShlKSl9KSksdGhpcy5fdmlldy4kZmlsdGVyc0J1dHRvbi5hZGRDbGFzcygianMtbm8tcG9pbnRlci1ldmVudHMiKSxpLm9uKCJzY3JvbGwiLCgoKT0+e2kuJGNvbnRlbnQuZmluZCgiLmpzLWRyb3Bkb3duLXRvZ2dsZS5pLW9wZW5lZCIpLnRyaWdnZXIoInJlc2V0UG9zaXRpb24iLG51bGwsci5wYXJlbnQoKSl9KSk7Y29uc3QgYz10aGlzLl9nZXRBY3RpdmVGaWx0ZXJzKCExKS5zb3J0KCk7aS5vbigiZGVzdHJveSIsKGU9Pntjb25zdCB0PXRoaXMuX2dldEFjdGl2ZUZpbHRlcnMoITEpLnNvcnQoKTtmb3IoY29uc3QgZSBpbiBJdCkiY29uZGl0aW9uIj09PUl0W2VdLmNvbnRyb2wmJkl0W2VdLnZhbHVlJiYobXQoSXRbZV0udmFsdWUudmFsdWUpfHxtdChJdFtlXS52YWx1ZS5vcGVyYXRvcikpJiYoSXRbZV0udmFsdWU9bnVsbCk7U2koIi50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZCIpLnJlbW92ZUNsYXNzKCJqcy1oaWRkZW4iKSx0aGlzLiRmaWVsZFNlYXJjaElucHV0LnZhbCgiIiksdGhpcy4kZmlsdGVyc1BvcHVwLnJlbW92ZSgpLGRlbGV0ZSB0aGlzLiRmaWx0ZXJzUG9wdXAsdGhpcy5fdmlldy4kZmlsdGVyc0J1dHRvbi5yZW1vdmVDbGFzcygianMtbm8tcG9pbnRlci1ldmVudHMiKSxkZWxldGUgdGhpcy5fZGlhbG9nLFNpKHdpbmRvdykub2ZmKCJyZXNpemUiLGEpLCgwLF9pLmRlZmF1bHQpKGMsdCl8fCgwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBmaSh0LmpvaW4oIiwgIikpKX0pKSx0aGlzLl9tb2RlbC50cmFja0V2ZW50KCJPcGVuIGZpbHRlcnMgZGlhbG9nIiksaS5vcGVuKCksU2kod2luZG93KS5vbigicmVzaXplIixhKSxhKCksdGhpcy4kZGlhbG9nQ29udGFpbmVyPWkuJGNvbnRlbnQsdGhpcy5fZGlhbG9nPWl9KSl9ZmlsdGVyc0RpYWxvZ1RhYkNoYW5nZWQoZSl7Y29uc3QgdD10aGlzLl9jYXRlZ29yaWVzLm1hcCgoZT0+InR2LXNjcmVlbmVyLWRpYWxvZy0tY2F0IitlKSkuam9pbigiICIpO3RoaXMuJGZpbHRlcnNQb3B1cC5yZW1vdmVDbGFzcyh0KS5hZGRDbGFzcygidHYtc2NyZWVuZXItZGlhbG9nLS1jYXQiK3RoaXMuX2NhdGVnb3JpZXNbZV0pLnNjcm9sbFRvcCgwKX1kZXN0cm95KCl7dGhpcy5fZGlhbG9nJiYodGhpcy5fZGlhbG9nLmNsb3NlKCksZGVsZXRlIHRoaXMuX2RpYWxvZyl9X2dldENhdGVnb3JpZXMoKXtjb25zdCBlPVswXTtyZXR1cm4gdGhpcy5fdmlldy5zb3J0ZWRGaWVsZHMuZm9yRWFjaCgodD0+e0l0W3RdJiYhSXRbdF0uZGlzYWJsZWQmJkl0W3RdLmNvbnRyb2wmJihlLmluY2x1ZGVzKEl0W3RdLmNhdGVnb3J5KXx8ZS5wdXNoKEl0W3RdLmNhdGVnb3J5KSl9KSksZS5zb3J0KCl9X2dldERlZmF1bHRGaWx0ZXJzRm9yQ3VycmVudEZpbHRlclNldCgpe2NvbnN0e2RlZmF1bHRGaWx0ZXJTZXRzOmV9PXRoaXMuX21vZGVsLHQ9dGhpcy5fbW9kZWwuY3VycmVudEZpbHRlclNldElkKCk7cmV0dXJuIE9iamVjdC52YWx1ZXMoZSkuZmlsdGVyKChlPT5lLmlkPT09dCkpWzBdLmNvbnRlbnQuZmlsdGVyc31fZmllbGRWYWx1ZUlzRXF1YWxUb0RlZmF1bHRGaWx0ZXIoZSl7Y29uc3QgdD10aGlzLl9nZXREZWZhdWx0RmlsdGVyc0ZvckN1cnJlbnRGaWx0ZXJTZXQoKVtlXSxvPUl0W2VdLnZhbHVlO3N3aXRjaChJdFtlXS5jb250cm9sKXtjYXNlImNvbmRpdGlvbiI6cmV0dXJuIG8ub3BlcmF0b3I9PT10Lm9wZXJhdG9yJiZvLnZhbHVlLnRvU3RyaW5nKCk9PT10LnZhbHVlLnRvU3RyaW5nKCk7Y2FzZSJyYW5nZSI6Y2FzZSJzZWxlY3QiOnJldHVybiBvLnNvcnQoKS50b1N0cmluZygpPT09dC5zb3J0KCkudG9TdHJpbmcoKTtkZWZhdWx0OnJldHVybiBJdFtlXS52YWx1ZT09PW99fV9nZXRBY3RpdmVGaWx0ZXJzKGU9ITApe2NvbnN0IHQ9W107Zm9yKGNvbnN0IG8gaW4gSXQpaWYoSXRbb10udmFsdWUpe2lmKCJjb25kaXRpb24iPT09SXRbb10uY29udHJvbCYmKG10KEl0W29dLnZhbHVlLm9wZXJhdG9yKXx8bXQoSXRbb10udmFsdWUudmFsdWUpKSljb250aW51ZTtlP3QucHVzaChLdChJdFtvXSkpOnQucHVzaChvKX1yZXR1cm4gdH19dmFyIFRpPW8oMTg5ODYzKSxFaT1vKDY0MTU5Myk7Y2xhc3MgeGl7Y29uc3RydWN0b3IoKXt0aGlzLl9oYW5kbGVycz1bXX1yZWdpc3RlckhhbmRsZXJzKGUpe3RoaXMuX2hhbmRsZXJzLnB1c2goZSl9YmVmb3JlQXBwZW5kU3ltYm9sKGUsdCl7dGhpcy5faGFuZGxlcnMuZm9yRWFjaCgobz0+e28uYmVmb3JlQXBwZW5kU3ltYm9sJiZvLmJlZm9yZUFwcGVuZFN5bWJvbChlLHQpfSkpfWJlZm9yZUFwcGVuZENvbnRleHRNZW51SXRlbXMoZSl7cmV0dXJuIHRoaXMuX2hhbmRsZXJzLnJlZHVjZSgoKHQsbyk9Pm8uYmVmb3JlQXBwZW5kQ29udGV4dE1lbnVJdGVtcz90LmNvbmNhdChvLmJlZm9yZUFwcGVuZENvbnRleHRNZW51SXRlbXMoZSkpOnQpLFtdKX1hZnRlclN5bWJvbENvbmZpcm0oZSx0KXt0aGlzLl9oYW5kbGVycy5mb3JFYWNoKChvPT57by5hZnRlclN5bWJvbENvbmZpcm0mJm8uYWZ0ZXJTeW1ib2xDb25maXJtKGUsdCl9KSl9CmJlZm9yZUFwcGVuZFN5bWJvbHNIZWFkZXIoZSl7dGhpcy5faGFuZGxlcnMuZm9yRWFjaCgodD0+e3QuYmVmb3JlQXBwZW5kU3ltYm9sc0hlYWRlciYmdC5iZWZvcmVBcHBlbmRTeW1ib2xzSGVhZGVyKGUpfSkpfX12YXIgQWk9byg4MzQxODgpLE1pPW8oMTc5NzcxKSxJaT1vKDIxNDk4Nyk7Y2xhc3MgUml7Y29uc3RydWN0b3IoKXt0aGlzLl9yZXRyaWVzPTUsdGhpcy5fY2FjaGU9bnVsbCx0aGlzLl90cnlMb2FkPShlLHQpPT57dGhpcy5fcmV0cmllcz10aGlzLl9yZXRyaWVzLTE7dGhpcy5fc3RhcnRMb2FkaW5nKGUpLnRoZW4odCwwIT09dGhpcy5fcmV0cmllcz9vPT57KDAsSWkuaXNBYm9ydEVycm9yKShvKXx8c2V0VGltZW91dCgoKCk9PnRoaXMuX3RyeUxvYWQoZSx0KSksM2UzKX06dm9pZCAwKX19bG9hZChlKXtyZXR1cm4gdGhpcy5fY2FjaGV8fCh0aGlzLl9jYWNoZT1uZXcgUHJvbWlzZSh0aGlzLl90cnlMb2FkLmJpbmQodGhpcyxlPz9udWxsKSkpLHRoaXMuX2NhY2hlfX1jbGFzcyBGaSBleHRlbmRzIFJpe19zdGFydExvYWRpbmcoKXtyZXR1cm4gUHJvbWlzZS5hbGwoW28uZSg3MjE0MSksby5lKDg1NjUyKV0pLnRoZW4oby5iaW5kKG8sNjAwNzc5KSkudGhlbigoZT0+ZS5IYW1tZXJKUykpfX12YXIgTGk9byg3Nzk0NzQpLERpPW8oMTI5MzY1KSxPaT1vKDkxNDQ4NyksTmk9by5uKE9pKSxQaT1vKDMwOTkyMCksQmk9bygxNTQ2MjMpLCRpPW8oMTI4MzIpLFdpPW8oMTUzNzcpO2Z1bmN0aW9uIHFpKGUpe2NvbnN0IHQ9T2JqZWN0LmtleXMoZS5tb2Rlcyksbz1PYmplY3QudmFsdWVzKGUubW9kZXMpLFtpLG5dPUxpLnVzZVN0YXRlKHRbMF0pO3JldHVybiBMaS5jcmVhdGVFbGVtZW50KFBpLkN1c3RvbUJlaGF2aW91ckNvbnRleHQuUHJvdmlkZXIse3ZhbHVlOndpbmRvdy5UcmFkaW5nVmlldy5vbkNoYXJ0UGFnZT9CaS5wcmVzZXRQbGF0Zm9ybTpCaS5wcmVzZXREZWZhdWx0fSxMaS5jcmVhdGVFbGVtZW50KFZpLHtpc0FjdGl2ZTppPT09dFswXSx0aXRsZTpvWzBdfSksTGkuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpXaS5zd2l0Y2hlckNvbnRhaW5lcn0sTGkuY3JlYXRlRWxlbWVudCgkaS5Td2l0Y2gse29uQ2hhbmdlOmZ1bmN0aW9uKG8pe2NvbnN0IGk9by5jdXJyZW50VGFyZ2V0LmNoZWNrZWQ/dFsxXTp0WzBdO24oaSksZS5vbkNoYW5nZShpKX0sY2hlY2tlZDppPT09dFsxXX0pKSxMaS5jcmVhdGVFbGVtZW50KFZpLHtpc0FjdGl2ZTppPT09dFsxXSx0aXRsZTpvWzFdfSkpfWZ1bmN0aW9uIFZpKGUpe3JldHVybiBMaS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOk5pKCkoV2kubW9kZVRpdGxlLGUuaXNBY3RpdmUmJldpLm1vZGVUaXRsZUFjdGl2ZSl9LGUudGl0bGUpfXZhciBIaT1vKDY4MDI1KSxVaT1vKDU3MjI0OSksemk9byg3MTk0MjUpO2Z1bmN0aW9uIGppKGUpe2NvbnN0e2NoaWxkcmVuOnQsb25SZXNpemU6b309ZTtyZXR1cm4gdCgoMCx6aS51c2VSZXNpemVPYnNlcnZlcikob3x8KCgpPT57fSksW251bGw9PT1vXSkpfXZhciBHaT1vKDk2NDU5NCksWGk9bygxOTYyMSk7Y2xhc3MgS2kgZXh0ZW5kcyBMaS5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpfXJlbmRlcigpe3JldHVybiBMaS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6dGhpcy5wcm9wcy5jbGFzc05hbWUsb25DbGljazp0aGlzLnByb3BzLm9uQ2xpY2sscmVmOnRoaXMucHJvcHMucmVmZXJlbmNlfSx0aGlzLnByb3BzLmNoaWxkcmVuKX19Y2xhc3MgWWkgZXh0ZW5kcyBMaS5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMuX2hhbmRsZVJlc2l6ZT0oW2VdKT0+e3RoaXMucHJvcHMub25NZWFzdXJlPy4oZS50YXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpfX1yZW5kZXIoKXtjb25zdHt0aGVtZTplPVhpfT10aGlzLnByb3BzLHQ9TmkoKShlLmxpc3Qse1t0aGlzLnByb3BzLmNsYXNzTmFtZV06Qm9vbGVhbih0aGlzLnByb3BzLmNsYXNzTmFtZSl9KSx7Zm9udFNpemU6bz0xM309dGhpcy5wcm9wcyxpPXtib3R0b206dGhpcy5wcm9wcy5ib3R0b20sZm9udFNpemU6byxsZWZ0OnRoaXMucHJvcHMubGVmdCxoZWlnaHQ6dGhpcy5wcm9wcy5oZWlnaHR8fCJhdXRvIixyaWdodDp0aGlzLnByb3BzLnJpZ2h0LHRvcDp0aGlzLnByb3BzLnRvcCx3aWR0aDp0aGlzLnByb3BzLndpZHRoLHpJbmRleDp0aGlzLnByb3BzLnpJbmRleH07cmV0dXJuIExpLmNyZWF0ZUVsZW1lbnQoamkse29uUmVzaXplOkJvb2xlYW4odGhpcy5wcm9wcy5vbk1lYXN1cmUpP3RoaXMuX2hhbmRsZVJlc2l6ZTpudWxsfSwoZT0+TGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnQsc3R5bGU6aSxyZWY6KDAsR2kubWVyZ2VSZWZzKShbdGhpcy5wcm9wcy5yZWZlcmVuY2UsZV0pfSx0aGlzLl93cmFwSXRlbXModGhpcy5wcm9wcy5pdGVtcyx0aGlzLnByb3BzLnNlbGVjdGVkKSkpKX1jb21wb25lbnREaWRNb3VudCgpe2lmKHZvaWQgMCE9PXRoaXMucHJvcHMuc2VsZWN0ZWQmJnRoaXMucHJvcHMuc2hvdWxkU2Nyb2xsSWZOb3RWaXNpYmxlKXtjb25zdCBlPXRoaXMuX2l0ZW1zW3RoaXMucHJvcHMuc2VsZWN0ZWRdO2UmJnRoaXMuX3Njcm9sbFRvSXRlbShlKX19Y29tcG9uZW50RGlkVXBkYXRlKCl7aWYodm9pZCAwIT09dGhpcy5wcm9wcy5zZWxlY3RlZCYmdGhpcy5wcm9wcy5zaG91bGRTY3JvbGxJZk5vdFZpc2libGUpe2NvbnN0IGU9dGhpcy5faXRlbXNbdGhpcy5wcm9wcy5zZWxlY3RlZF07ZSYmdGhpcy5fc2Nyb2xsVG9JdGVtKGUpfX1fd3JhcEl0ZW1zKGU9W10sdCl7dGhpcy5faXRlbXM9W107Y29uc3R7aXRlbVdyYXA6bz1LaSx0aGVtZTppPVhpfT10aGlzLnByb3BzLG49bztyZXR1cm4gZS5tYXAoKChlLG8pPT57Y29uc3Qgcj1OaSgpKGkuaXRlbSx7W3RoaXMucHJvcHMuaXRlbXNDbGFzc05hbWVdOkJvb2xlYW4odGhpcy5wcm9wcy5pdGVtc0NsYXNzTmFtZSksW3RoaXMucHJvcHMuc2VsZWN0ZWRDbGFzc05hbWVdOnQ9PT1vfSk7cmV0dXJuIExpLmNyZWF0ZUVsZW1lbnQobix7cmVmZXJlbmNlOnQ9Pnt0JiZ0aGlzLl9pdGVtcy5wdXNoKHtlbGVtOnQsaW5kZXg6bywKdmFsdWU6ZX0pfSxrZXk6byxvbkNsaWNrOigpPT50aGlzLl9vblNlbGVjdChvKSxjbGFzc05hbWU6cn0sZS5lbGVtKX0pKX1fb25TZWxlY3QoZSl7dGhpcy5wcm9wcy5vblNlbGVjdCYmdGhpcy5wcm9wcy5vblNlbGVjdChlLHRoaXMuX2l0ZW1zW2VdLnZhbHVlKX1fc2Nyb2xsVG9JdGVtKGUpe2UuZWxlbS5zY3JvbGxJbnRvVmlldyh7YmxvY2s6ImNlbnRlciJ9KX19WWkuZGVmYXVsdFByb3BzPXtzaG91bGRTY3JvbGxJZk5vdFZpc2libGU6ITB9O3ZhciBKaT1vKDM4NDM3MCksWmk9byg2NTk4NzgpO2NsYXNzIFFpIGV4dGVuZHMgTGkuUHVyZUNvbXBvbmVudHtyZW5kZXIoKXtjb25zdCBlPXtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDp0aGlzLnByb3BzLnRvcCx3aWR0aDp0aGlzLnByb3BzLndpZHRoLGhlaWdodDp0aGlzLnByb3BzLmhlaWdodCxib3R0b206dGhpcy5wcm9wcy5ib3R0b20scmlnaHQ6dGhpcy5wcm9wcy5yaWdodCxsZWZ0OnRoaXMucHJvcHMubGVmdCx6SW5kZXg6dGhpcy5wcm9wcy56SW5kZXh9O3JldHVybiBMaS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6dGhpcy5wcm9wcy5jbGFzc05hbWUsc3R5bGU6ZSxyZWY6dGhpcy5wcm9wcy5yZWZlcmVuY2V9LHRoaXMucHJvcHMuY2hpbGRyZW4pfX1RaS5kaXNwbGF5TmFtZT0iRHJvcGRvd24gQ29udGFpbmVyIjtjb25zdCBlbj0oMCxaaS5tYWtlT3ZlcmxhcGFibGUpKCgwLEppLm1ha2VBdHRhY2hhYmxlKShRaSkpO3ZhciB0bixvbj1vKDEyMTY0NSk7IWZ1bmN0aW9uKGUpe2UuVG9wPSJ0b3AiLGUuQm90dG9tPSJib3R0b20ifSh0bnx8KHRuPXt9KSk7Y2xhc3Mgbm4gZXh0ZW5kcyBMaS5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9jb250YWluZXI9bnVsbCx0aGlzLl9zZXRDb250YWluZXJSZWY9ZT0+eyJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLnByb3BzLnJlZmVyZW5jZSYmdGhpcy5wcm9wcy5yZWZlcmVuY2UoZSksIm9iamVjdCI9PXR5cGVvZiB0aGlzLnByb3BzLnJlZmVyZW5jZSYmKHRoaXMucHJvcHMucmVmZXJlbmNlLmN1cnJlbnQ9ZSksdGhpcy5fY29udGFpbmVyPWV9fWNvbXBvbmVudERpZE1vdW50KCl7dGhpcy5wcm9wcy5vbkRyb3Bkb3duV2hlZWxOb1Bhc3NpdmUmJnRoaXMuX2FkZFBhc3NpdmVMaXN0ZW5lck9uV2hlZWwodGhpcy5wcm9wcy5vbkRyb3Bkb3duV2hlZWxOb1Bhc3NpdmUpfWNvbXBvbmVudERpZFVwZGF0ZShlKXt0aGlzLnByb3BzLm9uRHJvcGRvd25XaGVlbE5vUGFzc2l2ZSE9PWUub25Ecm9wZG93bldoZWVsTm9QYXNzaXZlJiZ0aGlzLl91cGRhdGVQYXNzaXZlTGlzdGVuZXJPbldoZWVsKGUub25Ecm9wZG93bldoZWVsTm9QYXNzaXZlKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMucHJvcHMub25Ecm9wZG93bldoZWVsTm9QYXNzaXZlJiZ0aGlzLl9yZW1vdmVQYXNzaXZlTGlzdGVuZXJPbldoZWVsKHRoaXMucHJvcHMub25Ecm9wZG93bldoZWVsTm9QYXNzaXZlKX1yZW5kZXIoKXtjb25zdHtzaGFkb3c6ZT0iYm90dG9tIixjaGlsZHJlbjp0LGNsYXNzTmFtZTpvfT10aGlzLnByb3BzLGk9TmkoKShvbi5jb250YWluZXIsb25bZV0sbyksbj17bWF4SGVpZ2h0OnRoaXMucHJvcHMubWF4SGVpZ2h0fTtyZXR1cm4gTGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOnRoaXMuX3NldENvbnRhaW5lclJlZixzdHlsZTpuLGNsYXNzTmFtZTppLG9uVG91Y2hTdGFydDp0aGlzLnByb3BzLm9uRHJvcGRvd25Ub3VjaFN0YXJ0LG9uVG91Y2hNb3ZlOnRoaXMucHJvcHMub25Ecm9wZG93blRvdWNoTW92ZSxvblRvdWNoRW5kOnRoaXMucHJvcHMub25Ecm9wZG93blRvdWNoRW5kLG9uV2hlZWw6dGhpcy5wcm9wcy5vbkRyb3Bkb3duV2hlZWx9LHQpfV91cGRhdGVQYXNzaXZlTGlzdGVuZXJPbldoZWVsKGUpe2UmJnRoaXMuX3JlbW92ZVBhc3NpdmVMaXN0ZW5lck9uV2hlZWwoZSksdGhpcy5wcm9wcy5vbkRyb3Bkb3duV2hlZWxOb1Bhc3NpdmUmJnRoaXMuX2FkZFBhc3NpdmVMaXN0ZW5lck9uV2hlZWwodGhpcy5wcm9wcy5vbkRyb3Bkb3duV2hlZWxOb1Bhc3NpdmUpfV9hZGRQYXNzaXZlTGlzdGVuZXJPbldoZWVsKGUpeygwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fY29udGFpbmVyKS5hZGRFdmVudExpc3RlbmVyKCJ3aGVlbCIsZSx7cGFzc2l2ZTohMX0pfV9yZW1vdmVQYXNzaXZlTGlzdGVuZXJPbldoZWVsKGUpeygwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fY29udGFpbmVyKS5yZW1vdmVFdmVudExpc3RlbmVyKCJ3aGVlbCIsZSl9fXZhciBybj1vKDg2ODExMCk7Y29uc3Qgc249KGFuPVlpLChsbj1jbGFzcyBleHRlbmRzIExpLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5faXRlbXM9dGhpcy5wcm9wcy5pdGVtc31jb21wb25lbnREaWRVcGRhdGUoZSl7aWYoZS5jb21tYW5kIT09dGhpcy5wcm9wcy5jb21tYW5kJiZ0aGlzLnByb3BzLmNvbW1hbmQpc3dpdGNoKHRoaXMucHJvcHMuY29tbWFuZC5uYW1lKXtjYXNlIm5leHQiOnRoaXMuX25leHQoKTticmVhaztjYXNlInByZXYiOnRoaXMuX3ByZXYoKX1lLml0ZW1zIT09dGhpcy5wcm9wcy5pdGVtcyYmKHRoaXMuX2l0ZW1zPXRoaXMucHJvcHMuaXRlbXMpfXJlbmRlcigpe3JldHVybiBMaS5jcmVhdGVFbGVtZW50KGFuLHsuLi50aGlzLnByb3BzfSx0aGlzLnByb3BzLmNoaWxkcmVuKX1fbmV4dCgpe2NvbnN0e3NlbGVjdGVkOmU9LTF9PXRoaXMucHJvcHMsdD1lKzE7dGhpcy5faXRlbXMubGVuZ3RoLTE+PXQ/dGhpcy5fbmF2aWdhdGVUbyh0KTp0aGlzLl9uYXZpZ2F0ZVRvKDApfV9wcmV2KCl7Y29uc3R7c2VsZWN0ZWQ6ZT0tMX09dGhpcy5wcm9wcyx0PWUtMSxvPXRoaXMuX2l0ZW1zLmxlbmd0aC0xOzA8PXQ/dGhpcy5fbmF2aWdhdGVUbyh0KTp0aGlzLl9uYXZpZ2F0ZVRvKG8pfV9uYXZpZ2F0ZVRvKGUpe3RoaXMucHJvcHMub25OYXZpZ2F0ZSYmdGhpcy5wcm9wcy5vbk5hdmlnYXRlKGUsdGhpcy5faXRlbXNbZV0pfX0pLmRpc3BsYXlOYW1lPSJOYXZpZ2F0ZWFibGUgQ29tcG9uZW50Iixsbik7dmFyIGFuLGxuO2NvbnN0IGNuPSgwLHJuLm1ha2VBbmNob3JhYmxlKShlbiksZG49ewp0b3A6InRvcCIsYm90dG9tOiJib3R0b20iLHRvcFJpZ2h0OiJ0b3AifTtjbGFzcyBobiBleHRlbmRzIExpLlB1cmVDb21wb25lbnR7cmVuZGVyKCl7Y29uc3R7YW5jaG9yOmU9ImJvdHRvbSIsZm9udFNpemU6dD0xNCxyb290Om89InBhcmVudCJ9PXRoaXMucHJvcHMsaT1OaSgpKFVpLmxpc3QsVWlbZV0pLHtkcm9wZG93bkNsYXNzTmFtZTpuLGhlaWdodDpyLC4uLnN9PXRoaXMucHJvcHM7cmV0dXJuIExpLmNyZWF0ZUVsZW1lbnQoY24sey4uLnMsY2xhc3NOYW1lOm4scm9vdDpvfSxMaS5jcmVhdGVFbGVtZW50KG5uLHtjbGFzc05hbWU6dGhpcy5wcm9wcy5kcm9wZG93bkNvbnRhaW5lckNsYXNzTmFtZSxzaGFkb3c6ZG5bZV0sbWF4SGVpZ2h0OnRoaXMucHJvcHMubWF4SGVpZ2h0LG9uRHJvcGRvd25Ub3VjaFN0YXJ0OnRoaXMucHJvcHMub25Ecm9wZG93blRvdWNoU3RhcnQ/dGhpcy5wcm9wcy5vbkRyb3Bkb3duVG91Y2hTdGFydDp2b2lkIDAsb25Ecm9wZG93blRvdWNoTW92ZTp0aGlzLnByb3BzLm9uRHJvcGRvd25Ub3VjaE1vdmU/dGhpcy5wcm9wcy5vbkRyb3Bkb3duVG91Y2hNb3ZlOnZvaWQgMCxvbkRyb3Bkb3duVG91Y2hFbmQ6dGhpcy5wcm9wcy5vbkRyb3Bkb3duVG91Y2hFbmQ/dGhpcy5wcm9wcy5vbkRyb3Bkb3duVG91Y2hFbmQ6dm9pZCAwLG9uRHJvcGRvd25XaGVlbE5vUGFzc2l2ZTp0aGlzLnByb3BzLm9uRHJvcGRvd25XaGVlbE5vUGFzc2l2ZT90aGlzLnByb3BzLm9uRHJvcGRvd25XaGVlbE5vUGFzc2l2ZTp2b2lkIDB9LExpLmNyZWF0ZUVsZW1lbnQoc24sey4uLnMsd2lkdGg6dGhpcy5wcm9wcy53aWR0aCxoZWlnaHQ6cixjbGFzc05hbWU6dGhpcy5wcm9wcy5jbGFzc05hbWV8fGksaXRlbXNDbGFzc05hbWU6dGhpcy5wcm9wcy5pdGVtc0NsYXNzTmFtZXx8VWkuaXRlbSxzZWxlY3RlZENsYXNzTmFtZTp0aGlzLnByb3BzLnNlbGVjdGVkQ2xhc3NOYW1lfHxVaS5zZWxlY3RlZCxmb250U2l6ZTp0LHJlZmVyZW5jZTp0aGlzLnByb3BzLnJlZmVyZW5jZX0pKSl9fXZhciB1bj1vKDI3MzMxMCksX249byg3MTg1NTMpO2Z1bmN0aW9uIHBuKGUpe2NvbnN0e2NoaWxkcmVuOnQsY2xhc3NOYW1lOm8sb25SZXNpemU6aSxvbkNsaWNrOm59PWUscj0oMCx6aS51c2VSZXNpemVPYnNlcnZlcikoKChbZV0pPT57aShlLnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSl9KSk7cmV0dXJuIExpLmNyZWF0ZUVsZW1lbnQoImRpdiIse3JlZjpyLGNsYXNzTmFtZTpvLG9uQ2xpY2s6bn0sdCl9dmFyIG1uPW8oOTg3MDc2KTtjbGFzcyBnbiBleHRlbmRzIExpLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5fZ2V0RHJvcGRvd25IZWlnaHQ9KCk9PntpZighdGhpcy5fZHJvcGRvd25QYXJlbnQpcmV0dXJuO2NvbnN0IGU9d2luZG93LmlubmVySGVpZ2h0LXRoaXMuX2Ryb3Bkb3duUGFyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmJvdHRvbS0yMDtyZXR1cm4gZSYmZTw1MD92b2lkIDA6ZX0sdGhpcy5fZ2V0Rmlyc3RIaWRkZW5JdGVtSW5kZXg9KCk9PntsZXQgZTtpZih0aGlzLnN0YXRlLmF2YWlsYWJsZVdpZHRoJiYhdGhpcy5faXRlbVNpemVzLmluY2x1ZGVzKG51bGwpKXtsZXQgdD0wO2ZvcihlPTA7ZTx0aGlzLnByb3BzLml0ZW1zLmxlbmd0aDtlKyspe2NvbnN0IG89dCsodGhpcy5faXRlbVNpemVzW2VdfHwwKTtpZighKChlPT09dGhpcy5wcm9wcy5pdGVtcy5sZW5ndGgtMT9vOm8rNDEpPHRoaXMuc3RhdGUuYXZhaWxhYmxlV2lkdGgpKWJyZWFrO3Q9b319ZWxzZSBlPXRoaXMuc3RhdGUuYXZhaWxhYmxlV2lkdGg/dGhpcy5wcm9wcy5pdGVtcy5sZW5ndGg6MDtyZXR1cm4gZX0sdGhpcy5fb25FbGVtZW50UmVzaXplPShbZV0pPT57dGhpcy5zZXRTdGF0ZSh7YXZhaWxhYmxlV2lkdGg6ZS5jb250ZW50UmVjdC53aWR0aCxpc09wZW5lZDohMX0pfSx0aGlzLl9vblNlbGVjdD1lPT57dGhpcy5wcm9wcy5vblNlbGVjdCYmdGhpcy5wcm9wcy5vblNlbGVjdChlKSx0aGlzLnNldFN0YXRlKHthY3RpdmVJdGVtOmUsaXNPcGVuZWQ6ITF9KX0sdGhpcy5fb25Ecm9wZG93blNlbGVjdD0oZSx0KT0+e3RoaXMucHJvcHMub25TZWxlY3QmJnRoaXMucHJvcHMub25TZWxlY3QodC5hY3R1YWxJbmRleCksdGhpcy5zZXRTdGF0ZSh7YWN0aXZlSXRlbTp0LmFjdHVhbEluZGV4LGlzT3BlbmVkOiExfSl9LHRoaXMuX29uT3V0c2lkZUNsaWNrPWU9Pnt0aGlzLnN0YXRlLmlzT3BlbmVkJiYodGhpcy5zdGF0ZS5pc09wZW5lZCYmKGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpKSx0aGlzLnNldFN0YXRlKHtpc09wZW5lZDohMX0pKX0sdGhpcy5fb25Ecm9wZG93bkl0ZW1DbGljaz0oKT0+e3RoaXMuc2V0U3RhdGUoe2lzT3BlbmVkOiF0aGlzLnN0YXRlLmlzT3BlbmVkfSl9LHRoaXMuX29uSXRlbVJlc2l6ZT0oZSx0KT0+e3RoaXMuX2l0ZW1TaXplc1tlXT10LndpZHRoLHRoaXMuX2l0ZW1TaXplcy5pbmNsdWRlcyhudWxsKXx8dGhpcy5mb3JjZVVwZGF0ZSgpfSx0aGlzLl9pdGVtU2l6ZXM9dGhpcy5wcm9wcy5pdGVtcy5tYXAoKGU9Pm51bGwpKSx0aGlzLnN0YXRlPXthdmFpbGFibGVXaWR0aDowLGFjdGl2ZUl0ZW06dGhpcy5wcm9wcy5hY3RpdmVJdGVtfHwwLGlzT3BlbmVkOiExfX1yZW5kZXIoKXtjb25zdCBlPXRoaXMuX2dldEZpcnN0SGlkZGVuSXRlbUluZGV4KCksdD10aGlzLnByb3BzLml0ZW1zLnNsaWNlKDAsZSksbz10aGlzLnByb3BzLml0ZW1zLnNsaWNlKGUpLGk9dC5tYXAoKChlLHQpPT57Y29uc3Qgbz10aGlzLnN0YXRlLmFjdGl2ZUl0ZW09PT10LGk9TmkoKShIaS5pdGVtQ29udGVudCx7W0hpLmFjdGl2ZV06b30pO3JldHVybiBMaS5jcmVhdGVFbGVtZW50KHBuLHtrZXk6ZS50aXRsZSxjbGFzc05hbWU6TmkoKShIaS5pdGVtLHtbSGkuYWN0aXZlXTpvfSksb25DbGljazp0aGlzLl9vblNlbGVjdC5iaW5kKHRoaXMsdCksb25SZXNpemU6dGhpcy5fb25JdGVtUmVzaXplLmJpbmQodGhpcyx0KX0sTGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOml9LGUudGl0bGUpKX0pKSxuPW8ubWFwKCgoZSxvKT0+KHtlbGVtOmUudGl0bGUsCmFjdHVhbEluZGV4Om8rdC5sZW5ndGh9KSkpLHI9dGhpcy5zdGF0ZS5hY3RpdmVJdGVtLWUscz1yPj0wLGE9TGkuY3JlYXRlRWxlbWVudChfbi5PdXRzaWRlRXZlbnQse2hhbmRsZXI6dGhpcy5fb25PdXRzaWRlQ2xpY2ssY2xpY2s6ITB9LChlPT5MaS5jcmVhdGVFbGVtZW50KCJkaXYiLHtyZWY6ZT0+ZSYmKHRoaXMuX2Ryb3Bkb3duUGFyZW50PURpLmZpbmRET01Ob2RlKGUpKX0sTGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOk5pKCkoSGkuaXRlbSx7W0hpLmFjdGl2ZV06c30pLHJlZjplLG9uQ2xpY2s6dGhpcy5fb25Ecm9wZG93bkl0ZW1DbGlja30sTGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOk5pKCkoSGkuaXRlbUNvbnRlbnQsSGkuZHJvcGRvd25JdGVtLHtbSGkuYWN0aXZlXTpzfSl9LExpLmNyZWF0ZUVsZW1lbnQodW4uSWNvbix7Y2xhc3NOYW1lOk5pKCkoSGkuZHJvcGRvd25JY29uLHtbSGkuYWN0aXZlXTp0aGlzLnN0YXRlLmlzT3BlbmVkfSksaWNvbjptbn0pLExpLmNyZWF0ZUVsZW1lbnQoaG4se2lzT3BlbmVkOnRoaXMuc3RhdGUuaXNPcGVuZWQsaXRlbXM6bixzZWxlY3RlZDpzP3I6dm9pZCAwLG9uU2VsZWN0OnRoaXMuX29uRHJvcGRvd25TZWxlY3QsdG9wOjI3LHJpZ2h0OjAsaXRlbXNDbGFzc05hbWU6TmkoKShVaS5ibHVpc2hJdGVtLEhpLmRyb3Bkb3duTGlzdEl0ZW0pLHNlbGVjdGVkQ2xhc3NOYW1lOnRoaXMucHJvcHMuc2VsZWN0ZWRJdGVtQ2xhc3NOYW1lLG1heEhlaWdodDp0aGlzLl9nZXREcm9wZG93bkhlaWdodCgpfSkpKSkpKTtyZXR1cm4gTGkuY3JlYXRlRWxlbWVudChqaSx7b25SZXNpemU6dGhpcy5fb25FbGVtZW50UmVzaXplfSwoZT0+TGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOk5pKCkoSGkuZWxlbWVudFdyYXAsdGhpcy5wcm9wcy5jbGFzc05hbWUpLHJlZjplfSxMaS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6SGkuaXRlbXNXcmFwfSxpLG8ubGVuZ3RoP2E6dm9pZCAwKSkpKX19ZnVuY3Rpb24gdm4oZSx0KXtEaS5yZW5kZXIoTGkuY3JlYXRlRWxlbWVudChnbix7Li4udH0pLGUpfXZhciBmbj1vKDY1NDYzNikseW49byg2NjcxMzIpO2NsYXNzIGJue2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5ldmVudD0iY2hhbmdlX2ZvcmV4X2dyb3VwIix0aGlzLnNvdXJjZT0iZm9yZXhfZ3JvdXBfc2VsZWN0b3IiLHRoaXMubG9jYXRpb249InRvb2xiYXIiLHRoaXMuc3RhdGU9ZSx0aGlzLnZhbHVlPXR9fXZhciBTbj1vKDM4OTg0NCk7ZnVuY3Rpb24gd24oZSl7cmV0dXJuIFByb21pc2UuYWxsKFtvLmUoOTIyOTMpLG8uZSgyOTI5Niksby5lKDUyMzk2KSxvLmUoNjAwNjIpLG8uZSgyMDM1NCksby5lKDEzNDkyKSxvLmUoMzc3NDYpLG8uZSgxMjM4NSksby5lKDk0OTQ4KSxvLmUoMTAzODUpLG8uZSg1MjA2NSksby5lKDY2MDUpLG8uZSgzMjc0OCksby5lKDMyMTc2KSxvLmUoODg2NDEpLG8uZSg1NjIxMyksby5lKDUwMDM1KSxvLmUoNjQ1KSxvLmUoNTEzMTUpLG8uZSgyODQxMyksby5lKDM5NjA5KSxvLmUoNzI2NzQpLG8uZSg2NzMwMyldKS50aGVuKG8uYmluZChvLDYzODgyMikpLnRoZW4oKHQ9PnQuc2hvd1NjcmVlbmVyTWFya2V0RGlhbG9nKGUpKSl9Y29uc3QgQ249bmV3IFNldChbImRwc19jb21tb25fc3RvY2tfcHJpbV9pc3N1ZV95b3lfZ3Jvd3RoX2Z5IiwiZWFybmluZ3NfcGVyX3NoYXJlX2RpbHV0ZWRfcW9xX2dyb3d0aF9mcSIsImVhcm5pbmdzX3Blcl9zaGFyZV9kaWx1dGVkX3lveV9ncm93dGhfZnEiLCJlYXJuaW5nc19wZXJfc2hhcmVfZGlsdXRlZF95b3lfZ3Jvd3RoX2Z5IiwiZWFybmluZ3NfcGVyX3NoYXJlX2RpbHV0ZWRfeW95X2dyb3d0aF90dG0iLCJlYml0ZGFfcW9xX2dyb3d0aF9mcSIsImViaXRkYV95b3lfZ3Jvd3RoX2ZxIiwiZWJpdGRhX3lveV9ncm93dGhfZnkiLCJlYml0ZGFfeW95X2dyb3d0aF90dG0iLCJmcmVlX2Nhc2hfZmxvd19tYXJnaW5fZnkiLCJmcmVlX2Nhc2hfZmxvd19tYXJnaW5fdHRtIiwiZnJlZV9jYXNoX2Zsb3dfcW9xX2dyb3d0aF9mcSIsImZyZWVfY2FzaF9mbG93X3lveV9ncm93dGhfZnEiLCJmcmVlX2Nhc2hfZmxvd195b3lfZ3Jvd3RoX2Z5IiwiZnJlZV9jYXNoX2Zsb3dfeW95X2dyb3d0aF90dG0iLCJncm9zc19wcm9maXRfbWFyZ2luX2Z5IiwiZ3Jvc3NfcHJvZml0X3FvcV9ncm93dGhfZnEiLCJncm9zc19wcm9maXRfeW95X2dyb3d0aF9mcSIsImdyb3NzX3Byb2ZpdF95b3lfZ3Jvd3RoX2Z5IiwiZ3Jvc3NfcHJvZml0X3lveV9ncm93dGhfdHRtIiwibmV0X2luY29tZV9iZWZfZGlzY19vcGVyX21hcmdpbl9meSIsIm5ldF9pbmNvbWVfcW9xX2dyb3d0aF9mcSIsIm5ldF9pbmNvbWVfeW95X2dyb3d0aF9mcSIsIm5ldF9pbmNvbWVfeW95X2dyb3d0aF9meSIsIm5ldF9pbmNvbWVfeW95X2dyb3d0aF90dG0iLCJvcGVyX2luY29tZV9tYXJnaW5fZnkiLCJ0b3RhbF9hc3NldHNfcW9xX2dyb3d0aF9mcSIsInRvdGFsX2Fzc2V0c195b3lfZ3Jvd3RoX2ZxIiwidG90YWxfYXNzZXRzX3lveV9ncm93dGhfZnkiLCJ0b3RhbF9kZWJ0X3FvcV9ncm93dGhfZnEiLCJ0b3RhbF9kZWJ0X3lveV9ncm93dGhfZnEiLCJ0b3RhbF9kZWJ0X3lveV9ncm93dGhfZnkiLCJ0b3RhbF9yZXZlbnVlX3FvcV9ncm93dGhfZnEiLCJ0b3RhbF9yZXZlbnVlX3lveV9ncm93dGhfZnEiLCJ0b3RhbF9yZXZlbnVlX3lveV9ncm93dGhfZnkiLCJ0b3RhbF9yZXZlbnVlX3lveV9ncm93dGhfdHRtIl0pO2Z1bmN0aW9uIGtuKGUsdCl7cmV0dXJuISF0LnRpdGxlJiYodC50aXRsZS50b0xvd2VyQ2FzZSgpIT09dC5zaG9ydFRpdGxlPy50b0xvd2VyQ2FzZSgpfHxmdW5jdGlvbihlKXtyZXR1cm4gQ24uaGFzKGUpfShlKSl9Y29uc3QgVG49KEVuPUYoInN0b2NrIiksT2JqZWN0LmVudHJpZXMoRW4pLm1hcCgoKFtlLHRdKT0+e2NvbnN0IG89dC5ncm91cDtyZXR1cm57ZmxhZzp0LmZsYWcsZ2V0IG5hbWUoKXtyZXR1cm4gdC50aXRsZX0sZGVzYzp0LnN0b2Nrcy5qb2luKCIsICIpLGNvdW50cnk6dC5jb3VudHJ5LGdyb3VwOm8sdmFsdWU6ZX19KSkpO3ZhciBFbjtjb25zdCB4bj1Ubi5maW5kKChlPT4iYW1lcmljYSI9PT1lLnZhbHVlKSkKO3ZhciBBbj1vKDY4NDYxMCk7ZnVuY3Rpb24gTW4oZSx0KXtjb25zdCBvPXNldEludGVydmFsKCgoKT0+e2NvbnN0IGk9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihlKTtpZihpKXtjbGVhckludGVydmFsKG8pO25ldyBSZXNpemVPYnNlcnZlcih0KS5vYnNlcnZlKGkpLHQoKX19KSwyMCl9dmFyIEluLFJuPW8oODA5NDM2KSxGbj1vKDQ4MjUwNCk7IWZ1bmN0aW9uKGUpe2UuQUJTT0xVVEU9ImFic29sdXRlIixlLlNUSUNLWT0ic3RpY2t5IixlLkJPVFRPTT0iYm90dG9tIn0oSW58fChJbj17fSkpO2NvbnN0IExuPXBhcnNlSW50KFJuWyJzaXplLXN0aWNreS1zeW1ib2wtaGVhZGVyLWhlaWdodCJdKTtmdW5jdGlvbiBEbihlKXtjb25zdHskdG9vbGJhcjp0fT1lLG89dC5vdXRlckhlaWdodCgpLGk9ZS50YWJsZS4kc3RpY2t5SGVhZGVyLG49ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmpzLXN0aWNreS1zeW1ib2wtaGVhZGVyLWNvbnRhaW5lciIpPzY0K0xuOjY0O2Z1bmN0aW9uIHIodCl7Y29uc3Qgcj10fHxGbihkb2N1bWVudCkuc2Nyb2xsVG9wKCkse2lzU3RpY2t5OnMsdXBwZXJTY3JvbGxMaW1pdDphLGJvdHRvbVNjcm9sbExpbWl0Omx9PWZ1bmN0aW9uKHQpe2NvbnN0IHI9ZS50YWJsZS5fJGVtcHR5TWVzc2FnZT9lLnRhYmxlLl8kZW1wdHlNZXNzYWdlLm91dGVySGVpZ2h0KCk6MCxzPWUuJGNvbnRlbnQub2Zmc2V0KCkudG9wK2UuJGNvbnRlbnQub3V0ZXJIZWlnaHQoKSxhPXJ8fDQ4LGw9ZS4kY29udGVudC5vZmZzZXQoKS50b3Atbi1vLGM9cy1hLW4tby1pLm91dGVySGVpZ2h0KCk7cmV0dXJue2lzU3RpY2t5OnQ+PWwmJnQ8PWMsYm90dG9tU2Nyb2xsTGltaXQ6Yyx1cHBlclNjcm9sbExpbWl0Omx9fShyKTtpZihzKXJldHVybiJzdGlja3kiO3JldHVybiBNYXRoLmFicyhsLWEpPDIwfHxyPGE/ImFic29sdXRlIjoiYm90dG9tIn1mdW5jdGlvbiBzKCl7Y29uc3Qgbz1yKCksbj0oMCxLby5pc1J0bCkoKT9lLiRjb250ZW50Lm9mZnNldCgpLmxlZnQtRm4od2luZG93KS5zY3JvbGxMZWZ0KCk6ZS4kY29udGVudC5vZmZzZXQoKS5sZWZ0LHM9ZS4kY29udGVudC53aWR0aCgpLGE9Rm4oZS50YWJsZS5fdGFibGUpLndpZHRoKCksbD1mdW5jdGlvbih0KXtjb25zdCBvPWZvLmJyZWFrcG9pbnRzLnRhYmxldCxpPXIoKTtpZihGbih3aW5kb3cpLndpZHRoKCk+bylyZXR1cm4iYWJzb2x1dGUiPT09aT97bGVmdDoiIixyaWdodDoiIn06e2xlZnQ6dCxyaWdodDoiIn07Y29uc3Qgbj1lLiRjb250ZW50LnNjcm9sbExlZnQoKTtpZigoMCxLby5pc1J0bCkoKSl7Y29uc3QgdD1lLl9nZXRSZXNpemVyQnJpZGdlV2lkdGgoKTtyZXR1cm4iYWJzb2x1dGUiPT09aT97bGVmdDoiIixyaWdodDpufTp7bGVmdDoiIixyaWdodDp0K259fXJldHVybntsZWZ0OnQtbixyaWdodDoiIn19KG4pLGM9e2xlZnQ6bix3aWR0aDpzfSxkPXsuLi5sLHdpZHRoOmF9O2lmKHQuY3NzKHtsZWZ0OiIiLHJpZ2h0OiIifSksaS5jc3Moe2xlZnQ6IiIscmlnaHQ6IiJ9KSwiYWJzb2x1dGUiPT09bylyZXR1cm4gdC5jc3Moe3dpZHRoOnN9KSx2b2lkIGkuY3NzKGQpO3QuY3NzKGMpLGkuY3NzKGQpfWZ1bmN0aW9uIGEoZSl7dC5jc3Moe3RvcDplfSk7Y29uc3Qgbj1lK287aS5jc3Moe3RvcDpufSl9Y29uc3QgbD1mdW5jdGlvbigpe2xldCBlPUZuKGRvY3VtZW50KS5zY3JvbGxUb3AoKSxsPXIoZSk7cmV0dXJuKCk9Pntjb25zdCBjPUZuKGRvY3VtZW50KS5zY3JvbGxUb3AoKSxoPXIoYyk7aWYoImJvdHRvbSI9PT1oKXtkKGgpO3JldHVybiBhKGUrbi1jKSx2b2lkKGw9ImJvdHRvbSIpfWlmKGwhPT1oKXtpZihkKGgpLCJhYnNvbHV0ZSI9PT1oKXJldHVybiB0LmNzcyh7dG9wOjB9KSxpLmNzcyh7dG9wOm99KSxzKCksdm9pZChsPSJhYnNvbHV0ZSIpOyJzdGlja3kiPT09aCYmKHMoKSxhKG4pLGU9YyxsPSJzdGlja3kiKX19fSgpO2Z1bmN0aW9uIGMoKXtzKCksbCgpfWZ1bmN0aW9uIGQoZSl7Y29uc3Qgbz0iYWJzb2x1dGUiPT09ZTt0LnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyLS1tYXJrZXRzX2Fic29sdXRlIixvKSxpLnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci1zdGlja3ktaGVhZGVyLXdyYXBwZXItLW1hcmtldHNfYWJzb2x1dGUiLG8pLHQudG9nZ2xlQ2xhc3MoInR2LXNjcmVlbmVyLXRvb2xiYXItLW1hcmtldHNfc3RpY2t5IiwhbyksaS50b2dnbGVDbGFzcygidHYtc2NyZWVuZXItc3RpY2t5LWhlYWRlci13cmFwcGVyLS1zdGFuZGFsb25lX3N0aWNreSIsITApLGkudG9nZ2xlQ2xhc3MoInR2LXNjcmVlbmVyLXN0aWNreS1oZWFkZXItd3JhcHBlci0tbWFya2V0c19zdGlja3kiLCFvKX1jb25zdCBoPWZ1bmN0aW9uKCl7bGV0IGU7cmV0dXJuKCk9PntjbGVhclRpbWVvdXQoZSksZT1zZXRUaW1lb3V0KGMsMCl9fSgpO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsKGZ1bmN0aW9uKCl7bCgpLCgwLEtvLmlzUnRsKSgpJiZzKCl9KSx7cGFzc2l2ZTohMH0pLGUuJGNvbnRlbnRbMF0uYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixzKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixoKSxNbigiLndpZGdldGJhci13cmFwIixzKSxNbigiLnR2LXNjcmVlbmVyLXRhYmxlIixzKSxkKHIoKSksYygpfWZ1bmN0aW9uIE9uKGUpe2NvbnN0eyRiZWZvcmU6dD1udWxsLCRhcHBlbmRUbzpvPW51bGwsJGRyb3Bkb3duQ29udGFpbmVyOmk9bnVsbCxiZWZvcmVNYWtpbmdTZWxlY3RQb3B1cDpuPSgpPT57fSxtYWtlU2VsZWN0UG9wdXA6cixhZnRlck1ha2luZ1NlbGVjdFBvcHVwOnM9KCk9Pnt9LGFmdGVyU2VsZWN0UG9wdXBBcHBlbmQ6YT0oKT0+e319PWUsbD17JGRyb3Bkb3duQ29udGFpbmVyOml9O24oKTtjb25zdHskd3JhcDpjLCRidXR0b246ZCwkZHJvcGRvd25Db250ZW50Omh9PXIobCk7cmV0dXJuIHMoYyxkLGgpLCh0fHxvKSYmKHQ/Yy5pbnNlcnRCZWZvcmUodCk6Yy5hcHBlbmRUbyhvKSxhKGMsZCxoKSksZH1jb25zdCBObj1uZXcgcG8uV2F0Y2hlZFZhbHVlKCExKTt2YXIgUG49byg5NzEwNTEpO2xldCBCbj1udWxsO2Z1bmN0aW9uICRuKGUsdCl7aWYoQm4mJk5uLnVuc3Vic2NyaWJlKEJuKSxCbj0oKT0+ewpjb25zdCBvPXdpbmRvdz8ud2lkZ2V0YmFyPy5sYXlvdXQ/LmdldFdpZGdldEJ5VHlwZSgiZGV0YWlsIik/LndpZGdldE9iamVjdDtvLm5hdmlnYXRlKGUsdCl9LE5uLnZhbHVlKCkpcmV0dXJuIEJuKCksdm9pZChCbj1udWxsKTtObi5zdWJzY3JpYmUoQm4se29uY2U6ITB9KX1mdW5jdGlvbiBXbihlPW51bGwsdCl7Y29uc3QgaT0oMCxQbi5wYXRoVG9Hcm91cCkoZT8/IiIpKyI/bmV3PSIrcGVyZm9ybWFuY2Uubm93KCk7dCYmYXN5bmMgZnVuY3Rpb24oZSl7UHJvbWlzZS5hbGwoW28uZSgyMTg3MCksby5lKDg0MzA2KSxvLmUoMjkyOTYpLG8uZSg1MjM5Niksby5lKDYwMDYyKSxvLmUoNDY5MDcpLG8uZSgyMDM1NCksby5lKDEzNDkyKSxvLmUoMzc3NDYpLG8uZSgyMzYyNCksby5lKDMyODE2KSxvLmUoMTk1OTUpLG8uZSgxOTc4Nyksby5lKDE3MDg3KSxvLmUoNzI2NjYpLG8uZSgxMDM4NSksby5lKDUyMDY1KSxvLmUoNjYwNSksby5lKDc0MzgxKSxvLmUoMTQ2MjUpLG8uZSg2NTcpLG8uZSg2MTgyMSksby5lKDY2MjcwKSxvLmUoNTUwMTEpLG8uZSg3MTkwMSksby5lKDgwNzMxKSxvLmUoNjg5NjQpLG8uZSgyOTEzMyksby5lKDE5ODMzKSxvLmUoMzIzODcpLG8uZSgzMDY5OSksby5lKDQ0NzgwKSxvLmUoODIyMzcpLG8uZSg0ODg1NCksby5lKDk0MTgyKSxvLmUoMTE0MzUpXSkudGhlbihvLmJpbmQobyw5OTUyMTMpKS50aGVuKCh0PT57dC5yZW5kZXJOb3Rlc0RpYWxvZyhlKX0pKX0oaSksJG4oaSl9dmFyIHFuLFZuPW8oMzQ0MTAzKTshZnVuY3Rpb24oZSl7ZVtlLkhlYWRlcj0wXT0iSGVhZGVyIixlW2UuVGFibGU9MV09IlRhYmxlIn0ocW58fChxbj17fSkpO2NvbnN0IEhuPXtbcW4uSGVhZGVyXTp7ZGVzY3JpcHRpb246Ik9wZW4gaGVhZGVyIGNvbnRleHQgbWVudSIscHJlcGVuZDohMX0sW3FuLlRhYmxlXTp7ZGVzY3JpcHRpb246Ik9wZW4gY29udGV4dCBtZW51IixwcmVwZW5kOiEwfX07ZnVuY3Rpb24gVW4oZSx0LGkpe3JldHVybiBhc3luYyBmdW5jdGlvbigpe2NvbnN0W3tBY3Rpb246ZX0se0FkZFRvV2F0Y2hsaXN0QWN0aW9uOnR9XT1hd2FpdCBQcm9taXNlLmFsbChbby5lKDQzOTgwKS50aGVuKG8uYmluZChvLDUwOTA0KSksby5lKDE3ODcpLnRoZW4oby5iaW5kKG8sMjczMjg1KSldKTtyZXR1cm57ZGVmYXVsdDplLGFkZFRvV2F0Y2hsaXN0OnR9fSgpLnRoZW4oKG89PnQoZSxvKSkpLnRoZW4oKHQ9Pntjb25zdCBvPU9iamVjdC52YWx1ZXModCk7cmV0dXJuIEhuW2ldLnByZXBlbmQ/ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5fbGlmZWN5Y2xlLmJlZm9yZUFwcGVuZENvbnRleHRNZW51SXRlbXModC5sZW5ndGg+MD8iYm90dG9tIjp2b2lkIDApLmNvbmNhdCh0KX0oZS52aWV3LG8pOm99KSl9ZnVuY3Rpb24gem4oZSx0LGkpe2NvbnN0e3ZpZXc6bixlOnJ9PWU7cmV0dXJuIFVuKGUsdCxpKS50aGVuKChlPT57cmV0dXJuIHQ9ZSxpPXIsby5lKDQzOTgwKS50aGVuKG8uYmluZChvLDI1MDQzOSkpLnRoZW4oKCh7Q29udGV4dE1lbnVNYW5hZ2VyOmV9KT0+ZS5zaG93TWVudSh0LGkpKSk7dmFyIHQsaX0pKS50aGVuKCgoKT0+e2NvbnN0IGU9SG5baV0uZGVzY3JpcHRpb247bi5fbW9kZWwudHJhY2tFdmVudChlKX0pKX12YXIgam4sR249byg4MTEzMTIpLFhuPW8oNjIxOTI2KSxLbj1vKDU3NjEwMyksWW49byg3NjU2OTUpLEpuPW8oNzU2Mjg4KSxabj1vKDQ4MjUwNCk7ZnVuY3Rpb24gUW4oZSx0KXtjb25zdHt2aWV3Om99PWUsaT1vLl9icmlkZ2Usbj10LmRlZmF1bHQscj1vLl9zZWxlY3RhYmxlTGlzdD9vLl9zZWxlY3RhYmxlTGlzdC5nZXRTZWxlY3RlZEtleXMoKS5sZW5ndGg6MSxzPXsuLi5lLHNlbGVjdGVkU3ltYm9sc0NvdW50OnJ9O2lmKCgwLEFuLmlzRXh0ZXJuYWxXaWRnZXQpKGkpKXJldHVybnsuLi50cihzLG4pfTtpZigoMCxBbi5pc1NjcmVlbmVyUGFnZSkoaSl8fCgwLEFuLmlzTWFya2V0UGFnZSkoaSkpe3JldHVybnsuLi4wPT09cj90cihzLG4pOnt9LC4uLmVyKHMsdC5hZGRUb1dhdGNobGlzdCl9fXJldHVybnsuLi5lcihzLHQuYWRkVG9XYXRjaGxpc3QpLC4uLm9yKHMsbiksLi4uaXIocyxuKX19ZnVuY3Rpb24gZXIoZSx0KXtjb25zdHt2aWV3Omksc3ltYm9sOm4sc2hvcnROYW1lOnIsc2VsZWN0ZWRTeW1ib2xzQ291bnQ6c309ZTtsZXQgYSxsOzA9PT1zPyhhPV8udChudWxsLHtyZXBsYWNlOntzeW1ib2xOYW1lOnJ9fSxvKDIyNDA1NikpLGw9W25dKTooYT1fLnQobnVsbCx2b2lkIDAsbyg4MTU3MTIpKSxsPWkuX3NlbGVjdGFibGVMaXN0P2kuX3NlbGVjdGFibGVMaXN0LmdldFNlbGVjdGVkS2V5cygpLnNsaWNlKDApOltdKTtyZXR1cm57YWRkVG9XYXRjaExpc3RBY3Rpb246bmV3IHQoe2xhYmVsOmEsZGlzYWJsZWQ6ITAsb25FeGVjdXRlOigpPT57KDAsWG4ucnVuT3JTaWduaW5XaXRoRmVhdHVyZSkoKCgpPT57Y29uc3QgZT1pLl9nZXRXYXRjaGxpc3QoKTtlJiYoZS5hZGRTeW1ib2xzKGwpLCgwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBHbi5EaXNwYXRjaENvbnRleHRNZW51QWN0aW9uRXZlbnQoam4uQWRkVG9XYXRjaGxpc3QsInJvdyIsITApKSl9KSx7ZmVhdHVyZToid2F0Y2hMaXN0Iixzb3VyY2U6ImFkZCBzeW1ib2wgdG8gd2F0Y2hsaXN0In0pfSxpY29uOkpufSl9fWZ1bmN0aW9uIHRyKGUsdCl7Y29uc3R7dmlldzppfT1lO3JldHVyblsic2VjdG9yIiwiaW5kdXN0cnkiXS5pbmNsdWRlcyhpLl9tb2RlbC5zY3JlZW5lcl90eXBlKT9mdW5jdGlvbihlLHQpe2NvbnN0e2U6aX09ZSxuPVpuKGkudGFyZ2V0KS5jbG9zZXN0KCIudHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3ciKS5maW5kKCIudHYtc2NyZWVuZXJfX3N5bWJvbCIpO3JldHVybntvcGVuU3ltYm9sUGFnZUFjdGlvbjpuZXcgdCh7YWN0aW9uSWQ6IldhdGNobGlzdC5PcGVuU3ltYm9sT3ZlcnZpZXciLG9wdGlvbnM6e2xhYmVsOl8udChudWxsLHtyZXBsYWNlOntzeW1ib2w6bi50ZXh0KCl9fSxvKDcwNjQwMCkpLG9uRXhlY3V0ZTooKT0+e3dpbmRvdy5vcGVuKG4uYXR0cigiaHJlZiIpLCJfYmxhbmsiKSwoMCwKWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IEduLkRpc3BhdGNoQ29udGV4dE1lbnVBY3Rpb25FdmVudChqbi5PcGVuU3ltYm9sUGFnZSwicm93IiwhMCkpfX19KX19KGUsdCk6ZnVuY3Rpb24oZSx0KXtjb25zdHt2aWV3Omksc2hvcnROYW1lOm4sc3ltYm9sOnJ9PWU7cmV0dXJue29wZW5DaGFydEFjdGlvbjpuZXcgdCh7YWN0aW9uSWQ6IldhdGNobGlzdC5PcGVuU3ltYm9sQ2hhcnQiLG9wdGlvbnM6e2xhYmVsOl8udChudWxsLHtyZXBsYWNlOntzeW1ib2w6bn19LG8oOTM2MTM1KSksb25FeGVjdXRlOigpPT57Y29uc3R7YXBwbHlTeW1ib2w6ZX09aS5fYnJpZGdlO2UmJihlKHIsITApLCgwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBHbi5EaXNwYXRjaENvbnRleHRNZW51QWN0aW9uRXZlbnQoam4uT3BlbkNoYXJ0LCJyb3ciLCEwKSkpfX19KX19KGUsdCl9ZnVuY3Rpb24gb3IoZSx0KXtjb25zdHt2aWV3Omksc3ltYm9sOm4sc2hvcnROYW1lOnIsc2VsZWN0ZWRTeW1ib2xzQ291bnQ6c309ZTtsZXQgYSxsOzA9PT1zPyhhPV8udChudWxsLHtyZXBsYWNlOntzeW1ib2w6cn19LG8oNTYwNDcwKSksbD1bbl0pOihhPV8udChudWxsLHZvaWQgMCxvKDcyMDU0NikpLGw9aS5fc2VsZWN0YWJsZUxpc3QuZ2V0U2VsZWN0ZWRLZXlzKCkpO3JldHVybntjb21wYXJlQWN0aW9uOm5ldyB0KHthY3Rpb25JZDoiV2F0Y2hsaXN0LkFkZFN5bWJvbFRvQ29tcGFyZSIsb3B0aW9uczp7bGFiZWw6YSxvbkV4ZWN1dGU6YXN5bmMoKT0+e2Zvcihjb25zdCBlIG9mIGwpYXdhaXQoaS5fYnJpZGdlLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbj8uYWN0aXZlQ2hhcnRXaWRnZXQudmFsdWUoKS5hZGRDb21wYXJlQXNPdmVybGF5KGUsZmFsc2UpKX0saWNvbjpZbn19KX19ZnVuY3Rpb24gaXIoZSx0KXtjb25zdHtzeW1ib2w6aSxzaG9ydE5hbWU6bixzZWxlY3RlZFN5bWJvbHNDb3VudDpyfT1lO2lmKHI+MClyZXR1cm57fTtyZXR1cm57YWRkVG9UZXh0Tm90ZXNBY3Rpb246bmV3IHQoe2FjdGlvbklkOiJOb3RlLkNyZWF0ZSIsb3B0aW9uczp7aWNvbjpLbixsYWJlbDpfLnQobnVsbCx7cmVwbGFjZTp7c3ltYm9sOm59fSxvKDIzOTA3NykpLG9uRXhlY3V0ZTooKT0+eygwLGZuLnJ1bk9yU2lnbkluKSgoKCk9PnsoMCxZby5zZW5kU25vd1Bsb3dEYXRhKShuZXcgR24uRGlzcGF0Y2hDb250ZXh0TWVudUFjdGlvbkV2ZW50KGpuLkFkZFRleHROb3RlLCJyb3ciLCEwKSksd2luZG93LndpZGdldGJhcj8uc2V0UGFnZSgiYmFzZSIpLFduKGkpfSkse3NvdXJjZToiQWRkIHRleHQgbm90ZSBpbiBzY3JlZW5lciJ9KX19fSl9fSFmdW5jdGlvbihlKXtlLkFkZFRvV2F0Y2hsaXN0PSJhZGRfdG9fd2F0Y2hsaXN0IixlLk9wZW5DaGFydD0ib3Blbl9jaGFydCIsZS5BZGRUb0NvbXBhcmU9ImFkZF90b19jb21wYXJlIixlLkFkZFRleHROb3RlPSJhZGRfdGV4dF9ub3RlIixlLk9wZW5TeW1ib2xQYWdlPSJvcGVuX3N5bWJvbF9wYWdlIn0oam58fChqbj17fSkpO3ZhciBucj1vKDk0ODM4MCkscnI9byg4MTA0MSksc3I9bygyMDA2NjYpLGFyPW8oODg0Nzk4KSxscj1vKDE1MjE4Mik7ZnVuY3Rpb24gY3IoZSl7Y29uc3R7c3ltYm9sSHRtbDp0LGxvZ29Vcmw6byxzeW1ib2xGaXJzdExldHRlcjppLHNpemU6bj0ieHNtYWxsIn09ZTtyZXR1cm4gZHIoe3N5bWJvbEh0bWw6dCxsb2dvSHRtbDooMCxhci5nZXRDaXJjbGVMb2dvSHRtbCkoe2xvZ29Vcmw6byxzaXplOm4scGxhY2Vob2xkZXJMZXR0ZXI6aSxjbGFzc05hbWU6InR2LXNjcmVlbmVyLXRhYmxlX19sb2dvLWNvbnRhaW5lciJ9KX0pfWZ1bmN0aW9uIGRyKGUpe2NvbnN0e2xvZ29IdG1sOnQ9IiIsc3ltYm9sSHRtbDpvPSIiLHdyYXBIdG1sQ2xhc3M6aT0iIn09ZTtyZXR1cm5gXG5cdFx0PGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdGFibGVfX3N5bWJvbC1jb250YWluZXIgJHtpfSI+XG5cdFx0XHQ8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci10YWJsZV9fc3ltYm9sLWFkZGl0aW9uIj48L2Rpdj5cblx0XHRcdCR7dH1cblx0XHRcdDxkaXYgY2xhc3M9InR2LXNjcmVlbmVyLXRhYmxlX19zeW1ib2wtY29udGFpbmVyLWRlc2NyaXB0aW9uIj5cblx0XHRcdFx0JHtvfVxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdGB9dmFyIGhyPW8oODYyMjEzKTtjb25zdCB1cj0oMCxoci5nZXRMb2dvVXJsUmVzb2x2ZXIpKCk7ZnVuY3Rpb24gX3IoZSl7aWYoZSYmIm51bGwiIT09ZSlyZXR1cm4gdXIuZ2V0U3ltYm9sTG9nb1VybChlLGhyLkxvZ29TaXplLk1lZGl1bSl9ZnVuY3Rpb24gcHIoZSl7Y29uc3R7ZmllbGRzT3JkZXI6dCxwcm9TeW1ib2w6byxyb3dEYXRhOmksc3ltYm9sSHRtbDpufT1lLHI9dC5pbmRleE9mKGguTG9nb0lkKTtpZigtMSE9PXIpe2NvbnN0IGU9aVtyXTtyZXR1cm4gY3Ioe3N5bWJvbEh0bWw6bixzeW1ib2xGaXJzdExldHRlcjptcihvKSxsb2dvVXJsOl9yKGUpfSl9Y29uc3Qgcz10LmluZGV4T2YoaC5CYXNlQ3VycmVuY3lMb2dvSWQpLGE9LTEhPT1zLGw9dC5pbmRleE9mKGguQ3VycmVuY3lMb2dvSWQpLGM9LTEhPT1sO2lmKGEmJmMpe2NvbnN0IGU9aVtzXSx0PWlbbF07cmV0dXJuIGZ1bmN0aW9uKGUsdCxvKXtyZXR1cm4gZHIoe3N5bWJvbEh0bWw6ZSxsb2dvSHRtbDooMCxsci5nZXRDaXJjbGVMb2dvUGFpckh0bWwpKHtwcmltYXJ5TG9nb1VybDp0LHNlY29uZGFyeUxvZ29Vcmw6byxzaXplOiJ4c21hbGwiLGNsYXNzTmFtZToidHYtc2NyZWVuZXItdGFibGVfX2xvZ28tY29udGFpbmVyIn0pfSl9KG4sX3IoZSksX3IodCkpfWlmKGEpe2NvbnN0IGU9aVtzXTtyZXR1cm4gY3Ioe3N5bWJvbEh0bWw6bixzeW1ib2xGaXJzdExldHRlcjptcihvKSxsb2dvVXJsOl9yKGUpfSl9aWYoYyl7Y29uc3QgZT1pW2xdO3JldHVybiBjcih7c3ltYm9sSHRtbDpuLHN5bWJvbEZpcnN0TGV0dGVyOm1yKG8pLGxvZ29Vcmw6X3IoZSl9KX1yZXR1cm4gZHIoe3N5bWJvbEh0bWw6bn0pfWZ1bmN0aW9uIG1yKGUpe3JldHVybigwLFZuLnNob3J0TmFtZSkoZSlbMF19ZnVuY3Rpb24gZ3IoZSx0LG8pe3JldHVybiBlLmdldChoZSh0LG8pKX12YXIgdnI7IWZ1bmN0aW9uKGUpe2UuQm9vbD0iYm9vbCIsCmUuRnVuZGFtZW50YWxQcmljZT0iZnVuZGFtZW50YWxfcHJpY2UiLGUuTnVtYmVyPSJudW1iZXIiLGUuUGVyY2VudD0icGVyY2VudCIsZS5QcmljZT0icHJpY2UiLGUuVGV4dD0idGV4dCIsZS5UaW1lPSJ0aW1lIn0odnJ8fCh2cj17fSkpO2NvbnN0IGZyPVsiJm1kYXNoOyIsJzxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lci10YWJsZV9fY2VsbC0tY29sb3Itbm9ybWFsIj7igJQ8L3NwYW4+J107ZnVuY3Rpb24geXIoZSx0LG8saSxuKXtpZighU3IoKSYmIW4pcmV0dXJuIiI7Y29uc3Qgcj0hZSYmbz09PXZyLlByaWNlfHwhdCYmbz09PXZyLkZ1bmRhbWVudGFsUHJpY2V8fGZyLmluY2x1ZGVzKGkpLHM9IVt2ci5QcmljZSx2ci5GdW5kYW1lbnRhbFByaWNlXS5pbmNsdWRlcyhvKTtpZihyfHxzKXJldHVybiIiO2xldCBhO3JldHVybiBhPW89PT12ci5QcmljZT9lOnQsYDxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lci10YWJsZV9fY2VsbC1jdXJyZW5jeS12YWx1ZSI+JHthfTwvc3Bhbj5gfWNvbnN0IGJyPSJzY3JlZW5lci5zaG93Q3VycmVuY3lMYWJlbCI7ZnVuY3Rpb24gU3IoKXtyZXR1cm4gbi5nZXRCb29sKGJyLCEwKX12YXIgd3I9bygxNDA4OTUpLENyPW8oNDg3NzUwKSxrcj1vKDg0MTg3NyksVHI9byg4MjMzNTgpLEVyPW8oNDgyNTA0KSx4cj1vKDQ4MjUwNCk7Y2xhc3MgQXJ7Y29uc3RydWN0b3IoZSl7dGhpcy5fc2V0T3B0aW9ucyhlKSx0aGlzLl9maWVsZHM9e30sdGhpcy5fZmllbGRzT3JkZXI9QXJyYXkuaXNBcnJheShlLmZpZWxkc09yZGVyKSYmZS5maWVsZHNPcmRlcnx8W10sdGhpcy5maWVsZHNPcmRlckNoYW5nZT1uZXcgbnIuRGVsZWdhdGUsdGhpcy5fY29sdW1uc01hcD1uZXcgTWFwLHRoaXMuYWZ0ZXJGaXhDb2xzPW5ldyBuci5EZWxlZ2F0ZSx0aGlzLl9hZGRpdGlvbmFsQ29sdW1ucz1bXSx0aGlzLl9oaWRkZW5Db2x1bW5zPTAsdGhpcy5fdGhyb3R0bGVGaXhDb2xzPSgwLHVpLmRlZmF1bHQpKCgoKT0+eyJtaW5pbWl6ZWQiIT09KHRoaXMuX21vZGVsLl9icmlkZ2UuYm90dG9tVG9vbGJhck1vZGU/dGhpcy5fbW9kZWwuX2JyaWRnZS5ib3R0b21Ub29sYmFyTW9kZS52YWx1ZSgpOiJub3JtYWwiKSYmKHRoaXMuX3VuaGlkZUNvbHVtbnMoKSx0aGlzLl91bmhpZGVDZWxscygpLHRoaXMuX2ZpeENvbHMoKSl9KSwxMCksdGhpcy5kcmFnU3RhcnRlZD1uZXcgcG8uV2F0Y2hlZFZhbHVlLHRoaXMuX2ZpZWxkc09yZGVyQ2hhbmdlPSExLHRoaXMuX3VwZGF0ZUVtcHR5TWVzc2FnZUljb249dGhpcy5fdXBkYXRlRW1wdHlNZXNzYWdlSWNvbi5iaW5kKHRoaXMpLHNyLndhdGNoZWRUaGVtZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlRW1wdHlNZXNzYWdlSWNvbil9X3NldE9wdGlvbnMoZSl7dGhpcy5fb3B0aW9ucz1lfHx7fSx0aGlzLl9tb2RlbD10aGlzLl9vcHRpb25zLm1vZGVsLHRoaXMuX2RlZmF1bHRGb3JtYXR0ZXI9dGhpcy5fb3B0aW9ucy5kZWZhdWx0Rm9ybWF0dGVyfHwoZT0+ZS52YWx1ZSksdGhpcy5fbnVsbEZvcm1hdHRlcj10aGlzLl9vcHRpb25zLm51bGxGb3JtYXR0ZXJ8fCgoKT0+IiZtZGFzaDsiKSx0aGlzLl93aWR0aENoYW5nZT10aGlzLl9vcHRpb25zLndpZHRoQ2hhbmdlLHRoaXMuX3Zpc2liaWxpdHlDaGFuZ2U9dGhpcy5fb3B0aW9ucy52aXNpYmlsaXR5Q2hhbmdlLHRoaXMuX25vRGF0YVN0cmluZz10aGlzLl9vcHRpb25zLm5vRGF0YVN0cmluZyx0aGlzLl9pc1VuYXZhaWxhYmxlV2lkZ2V0TWFya2V0PXRoaXMuX29wdGlvbnMuaXNVbmF2YWlsYWJsZVdpZGdldE1hcmtldCx0aGlzLl9kaXNhYmxlU3RpY2t5SGVhZGVyPWUuZGlzYWJsZVN0aWNreUhlYWRlcn11cGRhdGVTb3J0RmllbGQoZSx0KXtjb25zdCBvPXRoaXMuZ2V0VGgoZSk7ZSYmdCYmby5zaXplKCkmJih0aGlzLiR0aGVhZFJvdy5maW5kKCIudHYtc2NyZWVuZXItdGFibGVfX3NvcnQtLWRlc2MsLnR2LXNjcmVlbmVyLXRhYmxlX19zb3J0LS1hc2MiKS5yZW1vdmVDbGFzcygidHYtc2NyZWVuZXItdGFibGVfX3NvcnQtLWRlc2MgdHYtc2NyZWVuZXItdGFibGVfX3NvcnQtLWFzYyIpLG8uZmluZCgiLmpzLXRhYmxlLXNvcnQiKS5lbXB0eSgpLmFkZENsYXNzKGB0di1zY3JlZW5lci10YWJsZV9fc29ydC0tJHt0fWApLmFwcGVuZCgiYXNjIj09PXQ/a3I6VHIpKX1oaWdobGlnaHRDZWxsKGUsdCxvKXtjb25zdCBpPXRoaXMuJHRib2R5WzBdLnF1ZXJ5U2VsZWN0b3IoYHRyW2RhdGEtc3ltYm9sPSIke2V9Il0gdGRbZGF0YS1maWVsZC1rZXk9IiR7dH0iXWApO2lmKGkpe2kuY2xhc3NMaXN0LmFkZCgidHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLWhpZ2hsaWdodGVkIik7Y29uc3QgZT1pLnF1ZXJ5U2VsZWN0b3IoInNwYW4iKTtpZihlKXtjb25zdCB0PW8/InR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS1ncm93aW5nIjoidHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLWZhbGxpbmciO2UuY2xhc3NMaXN0LmFkZCh0KX19fWZsaWNrUm93KGUpe3RoaXMuJHRib2R5WzBdLnF1ZXJ5U2VsZWN0b3JBbGwoYHRyW2RhdGEtc3ltYm9sPSIke2V9Il0gdGRgKS5mb3JFYWNoKChlPT57Y29uc3QgdD1lLnF1ZXJ5U2VsZWN0b3IoInNwYW4iKTt0JiZ0LmNsYXNzTGlzdC5yZW1vdmUoInR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS1ncm93aW5nIiwidHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLWZhbGxpbmciKX0pKX1fY3JlYXRlVGFibGUoKXtpZih0aGlzLl90YWJsZSlyZXR1cm47Y29uc3QgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0YWJsZSIpLHQ9WyJ0di1kYXRhLXRhYmxlIl07dGhpcy5fb3B0aW9ucy5hZGRUYWJsZUNsYXNzZXMmJnQucHVzaCguLi50aGlzLl9vcHRpb25zLmFkZFRhYmxlQ2xhc3NlcyksZS5jbGFzc0xpc3QuYWRkKC4uLnQpO2NvbnN0IG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY29sZ3JvdXAiKSxpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRoZWFkIiksbj1bInR2LWRhdGEtdGFibGVfX3RoZWFkIl07dGhpcy5fb3B0aW9ucy5hZGRUaGVhZENsYXNzZXMmJm4ucHVzaCguLi50aGlzLl9vcHRpb25zLmFkZFRoZWFkQ2xhc3NlcyksaS5jbGFzc0xpc3QuYWRkKC4uLm4pCjtjb25zdCByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRyIikscz1bInR2LWRhdGEtdGFibGVfX3RoZWFkLXJvdyJdO3RoaXMuX29wdGlvbnMuYWRkVGhlYWRSb3dDbGFzc2VzJiZzLnB1c2goLi4udGhpcy5fb3B0aW9ucy5hZGRUaGVhZFJvd0NsYXNzZXMpLHIuY2xhc3NMaXN0LmFkZCguLi5zKTtjb25zdCBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRib2R5Iik7YS5jbGFzc0xpc3QuYWRkKCJ0di1kYXRhLXRhYmxlX190Ym9keSIpLGUuYXBwZW5kQ2hpbGQobyksZS5hcHBlbmRDaGlsZChpKSxpLmFwcGVuZENoaWxkKHIpLGUuYXBwZW5kQ2hpbGQoYSksdGhpcy5fdGFibGU9ZSx0aGlzLl9jb2xncm91cD1vLHRoaXMuX3RoZWFkUm93PXIsdGhpcy5fdGJvZHk9YSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIiwoKCk9PnRoaXMuX3Rocm90dGxlRml4Q29scygpKSksdGhpcy5fd2lkdGhDaGFuZ2Uuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLl90aHJvdHRsZUZpeENvbHMoKSkpLHRoaXMuX21vZGVsLl9icmlkZ2UuYm90dG9tVG9vbGJhck1vZGUmJnRoaXMuX21vZGVsLl9icmlkZ2UuYm90dG9tVG9vbGJhck1vZGUuc3Vic2NyaWJlKCgoKT0+dGhpcy5fdGhyb3R0bGVGaXhDb2xzKCkpKSx0aGlzLl92aXNpYmlsaXR5Q2hhbmdlJiZ0aGlzLl92aXNpYmlsaXR5Q2hhbmdlLnN1YnNjcmliZSgoZT0+e2UmJnRoaXMuX3Rocm90dGxlRml4Q29scygpfSkpfV9jcmVhdGVTdGlja3lXcmFwcGVyKCl7aWYodGhpcy5fc3RpY2t5V3JhcHBlcilyZXR1cm47Y29uc3QgZT1bInR2LWRhdGEtdGFibGUtc3RpY2t5LXdyYXBwZXIiXTt0aGlzLl9vcHRpb25zLmFkZFN0aWNreUhlYWRlcldyYXBwZXJDbGFzc2VzJiZlLnB1c2goLi4udGhpcy5fb3B0aW9ucy5hZGRTdGlja3lIZWFkZXJXcmFwcGVyQ2xhc3Nlcyk7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LmNsYXNzTGlzdC5hZGQoLi4uZSk7Y29uc3Qgbz10aGlzLl90YWJsZS5jbG9uZU5vZGUoITApO3QuYXBwZW5kKG8pLHRoaXMuX3N0aWNreVdyYXBwZXI9dH1fY3JlYXRlSGVhZGVyKCl7Y29uc3QgZT1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksdD1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7dGhpcy5fZGlzYWJsZVN0aWNreUhlYWRlcnx8dGhpcy5fY3JlYXRlU3RpY2t5V3JhcHBlcigpO2ZvcihsZXQgaT0wO2k8dGhpcy5fY29sdW1uc09yZGVyLmxlbmd0aDsrK2kpe2NvbnN0IG49dGhpcy5fY29sdW1uc09yZGVyW2ldO2lmKCF0aGlzLl9maWVsZHNbbl0pY29udGludWU7Y29uc3Qgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0aCIpO3Iuc2V0QXR0cmlidXRlKCJkYXRhLWZpZWxkIixuKTtjb25zdCBzPVsidHYtZGF0YS10YWJsZV9fdGgiLCJ0di1kYXRhLXRhYmxlX19jZWxsIiwianMtdHYtZGF0YS10YWJsZS10aCIsYGpzLXR2LWRhdGEtdGFibGUtdGgtJHt0aGlzLl9lc2Mobil9YF07aWYodGhpcy5fb3B0aW9ucy5hZGRUaENsYXNzZXMpe2NvbnN0IGU9ImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMuX29wdGlvbnMuYWRkVGhDbGFzc2VzP3RoaXMuX29wdGlvbnMuYWRkVGhDbGFzc2VzKG4sdGhpcy5fZmllbGRzW25dKTp0aGlzLl9vcHRpb25zLmFkZFRoQ2xhc3NlcztzLnB1c2goLi4uZSl9ci5jbGFzc0xpc3QuYWRkKC4uLihvPXMsby5maWx0ZXIoQm9vbGVhbikpKTtjb25zdCBhPSJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLl9vcHRpb25zLnRpdGxlRm9ybWF0dGVyP3RoaXMuX29wdGlvbnMudGl0bGVGb3JtYXR0ZXIobix0aGlzLl9maWVsZHNbbl0pOnRoaXMuX2ZpZWxkc1tuXSYmKHRoaXMuX2ZpZWxkc1tuXS5jb250ZW50fHx0aGlzLl9maWVsZHNbbl0udGl0bGUpfHxuO2EgaW5zdGFuY2VvZiBFcj9yLmFwcGVuZChhWzBdKTpyLmlubmVySHRtbD1hLHRoaXMuX3NldERyYWdnYWJsZShyKSx0LmFwcGVuZChyKTtjb25zdCBsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNvbCIpO2wuY2xhc3NMaXN0LmFkZCgianMtdHYtZGF0YS10YWJsZS1jb2wiLGBqcy10di1kYXRhLXRhYmxlLWNvbC0ke3RoaXMuX2VzYyhuKX1gKSxlLmFwcGVuZChsKX12YXIgbztNcih0aGlzLl9jb2xncm91cCksTXIodGhpcy5fdGhlYWRSb3cpO2NvbnN0IGk9dGhpcy5fZmllbGRzW3RoaXMuX21vZGVsLnNlYXJjaEZpZWxkXT90aGlzLl9maWVsZHNbdGhpcy5fbW9kZWwuc2VhcmNoRmllbGRdLnNlYXJjaFZhbHVlOnZvaWQgMDtpZih0aGlzLl9kaXNhYmxlU3RpY2t5SGVhZGVyKXRoaXMuX2NvbGdyb3VwLmFwcGVuZChlKSx0aGlzLl90aGVhZFJvdy5hcHBlbmQodCksdGhpcy5fc2V0U2VhcmNoSW5wdXQodGhpcy5fdGhlYWRSb3csaSk7ZWxzZXtjb25zdCBvPXRoaXMuX3N0aWNreVdyYXBwZXIucXVlcnlTZWxlY3RvcigidGFibGUiKSxuPW8ucXVlcnlTZWxlY3RvcigiY29sZ3JvdXAiKSxyPW8ucXVlcnlTZWxlY3RvcigidGhlYWQgdHIiKTtNcihuKSxNcihyKTtjb25zdCBzPWUuY2xvbmVOb2RlKCEwKTtuLmFwcGVuZChlKSx0aGlzLl9jb2xncm91cC5hcHBlbmQocyk7Y29uc3QgYT10LmNsb25lTm9kZSghMCk7ci5hcHBlbmQodCksdGhpcy5fdGhlYWRSb3cuYXBwZW5kKGEpLHRoaXMuX3RoZWFkUm93U3RpY2t5PXIsby5jbGFzc0xpc3QuYWRkKCJ0di1zY3JlZW5lci10YWJsZS0tZml4ZWQiKSx4cih0aGlzLl90aGVhZFJvdykuZmluZCgiLmpzLXRhYmxlLXNvcnQiKS5yZW1vdmUoKSx0aGlzLl9zZXRTZWFyY2hJbnB1dCh0aGlzLl90aGVhZFJvd1N0aWNreSxpKX19X3NldERyYWdnYWJsZShlKXtjb25zdCB0PXhyKGUpO2lmKHQuaXMoIi5qcy1kcmFnZ2FibGUiKSlyZXR1cm47Y29uc3QgaT14cih0aGlzLl90aGVhZFJvdyk7bGV0IG49ITE7dC5hZGRDbGFzcygianMtZHJhZ2dhYmxlIikub24oIm1vdXNlZG93biB0b3VjaHN0YXJ0IiwoZT0+e2lmKHQuZGF0YSgiZmllbGQiKT09PXRoaXMuX21vZGVsLnNlYXJjaEZpZWxkKXJldHVybjtlLnByZXZlbnREZWZhdWx0KCksdC5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSIsbGVmdDowfSk7Y29uc3Qgcj10Lm9mZnNldCgpLmxlZnQ7bGV0IHM9cgo7Y29uc3QgYT1lLnBhZ2VYfHxlLm9yaWdpbmFsRXZlbnQudG91Y2hlc1swXS5wYWdlWCxsPWU9Pntjb25zdCBjPShlLnBhZ2VYfHxlLm9yaWdpbmFsRXZlbnQudG91Y2hlc1swXS5wYWdlWCktYTtpZighbil7aWYoTWF0aC5hYnMoYyk8MTApcmV0dXJuO28uZSg0Mzk4MCkudGhlbihvLmJpbmQobywyNTA0MzkpKS50aGVuKCgoe0NvbnRleHRNZW51TWFuYWdlcjplfSk9PntudWxsIT09ZS5nZXRTaG93bigpJiYobj0hMSx0LmNzcygibGVmdCIsImF1dG8iKSx4cih3aW5kb3cpLm9mZigibW91c2Vtb3ZlIHRvdWNobW92ZSIsbCksdGhpcy5fb25EcmFnU3RvcCh0KSl9KSksdGhpcy5fb25EcmFnU3RhcnQodCksdC5vbmUoImNsaWNrIiwoZT0+e24mJmUuc3RvcFByb3BhZ2F0aW9uKCl9KSl9bj0hMDtjb25zdCBkPWkub2Zmc2V0KCkubGVmdCxoPWkub3V0ZXJXaWR0aCgpLHU9dC5vdXRlcldpZHRoKCksXz1NYXRoLm1heChkLE1hdGgubWluKGQraC11LHIrYykpLHA9Xyt1LzI7bGV0IG09eHIoKSxnPSExO2NvbnN0IHY9dC5wcmV2KCk7aWYodi5zaXplKCkmJigoMCxLby5pc1J0bCkoKT9wPnYub2Zmc2V0KCkubGVmdCt2Lm91dGVyV2lkdGgoKS8yOl88PWR8fHA8di5vZmZzZXQoKS5sZWZ0K3Yub3V0ZXJXaWR0aCgpLzIpKW09djtlbHNle2NvbnN0IGU9dC5uZXh0KCk7aWYoZS5zaXplKCkmJiFlLmlzKCIuaS1oaWRkZW4iKSl7KF8rdT49ZCtofHwoKDAsS28uaXNSdGwpKCk/cDxlLm9mZnNldCgpLmxlZnQrZS5vdXRlcldpZHRoKCkvMjpwPmUub2Zmc2V0KCkubGVmdCtlLm91dGVyV2lkdGgoKS8yKSkmJihtPWUsZz0hMCl9fWNvbnN0IGY9bS5kYXRhKCJmaWVsZCIpO2lmKG0uc2l6ZSgpJiYibmFtZSIhPT1mKXtjb25zdCBlPXQuZGF0YSgiZmllbGQiKSxvPXhyKHRoaXMuX2NvbGdyb3VwKS5maW5kKGAuanMtdHYtZGF0YS10YWJsZS1jb2wtJHt0aGlzLl9lc2MoZSl9YCksaT14cih0aGlzLl9jb2xncm91cCkuZmluZChgLmpzLXR2LWRhdGEtdGFibGUtY29sLSR7dGhpcy5fZXNjKGYpfWApO2xldCBuPXhyKCkscj14cigpO3RoaXMuX3N0aWNreVdyYXBwZXImJihuPXhyKHRoaXMuX3N0aWNreVdyYXBwZXIpLmZpbmQoYC5qcy10di1kYXRhLXRhYmxlLWNvbC0ke3RoaXMuX2VzYyhlKX1gKSxyPXhyKHRoaXMuX3N0aWNreVdyYXBwZXIpLmZpbmQoYC5qcy10di1kYXRhLXRhYmxlLWNvbC0ke3RoaXMuX2VzYyhmKX1gKSksZz8oby5pbnNlcnRBZnRlcihpKSxuLnNpemUoKSYmci5zaXplKCkmJm4uaW5zZXJ0QWZ0ZXIocikpOihvLmluc2VydEJlZm9yZShpKSxuLnNpemUoKSYmci5zaXplKCkmJm4uaW5zZXJ0QmVmb3JlKHIpKTtsZXQgYT14cigpLGw9eHIoKTt0aGlzLl9zdGlja3lXcmFwcGVyJiYoYT14cih0aGlzLl9zdGlja3lXcmFwcGVyKS5maW5kKGAuanMtdHYtZGF0YS10YWJsZS10aC0ke3RoaXMuX2VzYyhlKX1gKSxsPXhyKHRoaXMuX3N0aWNreVdyYXBwZXIpLmZpbmQoYC5qcy10di1kYXRhLXRhYmxlLXRoLSR7dGhpcy5fZXNjKGYpfWApKSxnPyh0Lmluc2VydEFmdGVyKG0pLHM9dC5vZmZzZXQoKS5sZWZ0LW1bMF0ub2Zmc2V0V2lkdGgsYS5zaXplKCkmJmwuc2l6ZSgpJiZhLmluc2VydEFmdGVyKGwpKToodC5pbnNlcnRCZWZvcmUobSkscz10Lm9mZnNldCgpLmxlZnQrbVswXS5vZmZzZXRXaWR0aCxhLnNpemUoKSYmbC5zaXplKCkmJmEuaW5zZXJ0QmVmb3JlKGwpKSx0aGlzLl9zd2FwQ29scyhlLGYpfXQuY3NzKCJsZWZ0IixfLXMpfTt4cih3aW5kb3cpLm9uKCJtb3VzZW1vdmUgdG91Y2htb3ZlIixsKS5vbmUoIm1vdXNldXAgdG91Y2hlbmQiLChlPT57c2V0VGltZW91dCgoKCk9PntuPSExfSksMCksdC5jc3MoImxlZnQiLCJhdXRvIikseHIod2luZG93KS5vZmYoIm1vdXNlbW92ZSB0b3VjaG1vdmUiLGwpLG4mJnRoaXMuX29uRHJhZ1N0b3AodCl9KSl9KSl9X3NldFNlYXJjaElucHV0KGUsdCl7Y29uc3Qgbz1lLnF1ZXJ5U2VsZWN0b3IoIi5qcy1zZWFyY2gtcXVlcnkiKTtpZighbylyZXR1cm47Y29uc3QgaT1vLnF1ZXJ5U2VsZWN0b3IoIi5qcy1zZWFyY2gtaW5wdXQiKSxuPW8ucXVlcnlTZWxlY3RvcigiLmpzLWlucHV0LXJlc2V0Iik7KDAsQW4uaXNTY3JlZW5lclBhZ2UpKHRoaXMuX21vZGVsLl9icmlkZ2UpJiZpLmZvY3VzKCk7Y29uc3Qgcj1Cb29sZWFuKHQpO24uY2xhc3NMaXN0LnRvZ2dsZSgiaS1oaWRkZW4iLCFyKSxyJiYoaS52YWx1ZT10KSxpLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwoKCk9PntuLmNsYXNzTGlzdC50b2dnbGUoImktaGlkZGVuIiwwPT09aS52YWx1ZS5sZW5ndGgpfSkpO2NvbnN0IHM9KDAsdm8uZGVmYXVsdCkoKCgpPT57dGhpcy5fZmllbGRzW3RoaXMuX21vZGVsLnNlYXJjaEZpZWxkXS5zZWFyY2hWYWx1ZT1pLnZhbHVlLHRoaXMuX21vZGVsLmxvYWRpbmd8fHRoaXMuX21vZGVsLnVwZGF0ZSgpfSksNDAwKTtpLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwoKCk9PnMoKSkpfV9vbkRyYWdTdGFydChlKXt0aGlzLl9tb2RlbC5wcmV2ZW50UHJldlNjYW5SZXF1ZXN0KCksdGhpcy5kcmFnU3RhcnRlZC5zZXRWYWx1ZSghMCk7Y29uc3QgdD1lLmRhdGEoImZpZWxkIiksbz10aGlzLl9nZXRDb2xCeUZpZWxkKHQpO28mJih0aGlzLl9vcHRpb25zLmFkZERyYWdnaW5nVGhDbGFzc2VzJiZlWzBdLmNsYXNzTGlzdC5hZGQoLi4udGhpcy5fb3B0aW9ucy5hZGREcmFnZ2luZ1RoQ2xhc3NlcyksdGhpcy5fb3B0aW9ucy5hZGREcmFnZ2luZ0NvbENsYXNzZXMmJm8uY2xhc3NMaXN0LmFkZCguLi50aGlzLl9vcHRpb25zLmFkZERyYWdnaW5nQ29sQ2xhc3NlcykpfV9zd2FwQ29scyhlLHQpe2NvbnN0IG89dGhpcy5fY29sdW1uc09yZGVyLmluZGV4T2YoZSksaT10aGlzLl9jb2x1bW5zT3JkZXIuaW5kZXhPZih0KTt0aGlzLl9jb2x1bW5zT3JkZXJbb109dGhpcy5fY29sdW1uc09yZGVyLnNwbGljZShpLDEsdGhpcy5fY29sdW1uc09yZGVyW29dKVswXSx0aGlzLl9maWVsZHNPcmRlckNoYW5nZWQ9ITA7Y29uc3Qgbj1NYXRoLm1pbihvLGkpLHI9TWF0aC5tYXgobyxpKSxzPXRoaXMuX3Rib2R5LmNoaWxkcmVuO2ZvcihsZXQgZT0wO2U8cy5sZW5ndGg7ZSsrKXsKY29uc3QgdD1zW2VdLmNoaWxkcmVuLG89dFtuXTt0W3JdLmFmdGVyKG8pfWNvbnN0IGE9dGhpcy5fZmllbGRzT3JkZXIuaW5kZXhPZihlKSxsPXRoaXMuX2ZpZWxkc09yZGVyLmluZGV4T2YodCk7dGhpcy5fZmllbGRzT3JkZXJbYV09dGhpcy5fZmllbGRzT3JkZXIuc3BsaWNlKGwsMSx0aGlzLl9maWVsZHNPcmRlclthXSlbMF19X29uRHJhZ1N0b3AoZSl7dGhpcy5kcmFnU3RhcnRlZC5zZXRWYWx1ZSghMSk7Y29uc3QgdD1lLmRhdGEoImZpZWxkIiksbz10aGlzLl9nZXRDb2xCeUZpZWxkKHQpO28mJih0aGlzLl9vcHRpb25zLmFkZERyYWdnaW5nVGhDbGFzc2VzJiZlWzBdLmNsYXNzTGlzdC5yZW1vdmUoLi4udGhpcy5fb3B0aW9ucy5hZGREcmFnZ2luZ1RoQ2xhc3NlcyksdGhpcy5fb3B0aW9ucy5hZGREcmFnZ2luZ0NvbENsYXNzZXMmJm8uY2xhc3NMaXN0LnJlbW92ZSguLi50aGlzLl9vcHRpb25zLmFkZERyYWdnaW5nQ29sQ2xhc3NlcyksdGhpcy5fZmllbGRzT3JkZXJDaGFuZ2VkJiYodGhpcy5maWVsZHNPcmRlckNoYW5nZS5maXJlKCksdGhpcy5fZmllbGRzT3JkZXJDaGFuZ2VkPSExLHRoaXMuX21vZGVsLnRyYWNrRXZlbnQoYERyYWcgYW5kIGRyb3AgJHsiYmlnIj09PXRoaXMuX29wdGlvbnMudGFibGVfc3R5bGU/InF1b3RlcyI6Im5vbi1xdW90ZXMifSBjb2x1bW5gKSwoMCxZby5zZW5kU25vd1Bsb3dEYXRhKShuZXcgcmkodCkpKSx0aGlzLl9maXhDb2xzKCkpfV9nZXRDb2xCeUZpZWxkKGUpe3JldHVybiB0aGlzLl9jb2xncm91cC5xdWVyeVNlbGVjdG9yKGAuanMtdHYtZGF0YS10YWJsZS1jb2wtJHt0aGlzLl9lc2MoZSl9YCl9X2ZpeENvbHMoKXtjb25zdCBlPUFycmF5LmZyb20odGhpcy5fdGhlYWRSb3cuY2hpbGRyZW4pO2lmKDA9PT1lLmxlbmd0aClyZXR1cm47dGhpcy5fdGFibGUuY2xhc3NMaXN0LnJlbW92ZSgidHYtc2NyZWVuZXItdGFibGUtLWZpeGVkIik7Y29uc3QgdD10aGlzLl90YWJsZS5xdWVyeVNlbGVjdG9yQWxsKCJjb2wiKTtsZXQgbz1lLm1hcCgoZT0+TWF0aC5mbG9vcihlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoKSkpO2NvbnN0IGk9ImJpZyI9PT10aGlzLl9vcHRpb25zLnRhYmxlX3N0eWxlLG49d2luZG93LmlubmVyV2lkdGg+Zm8uYnJlYWtwb2ludHMudGFibGV0LHI9dGhpcy5fdGFibGUucGFyZW50Tm9kZS5vZmZzZXRXaWR0aDtsZXQgcz1JcihvKTtpZihpJiZuJiZzPnIpe2Rve3M+ciYmKG8ucG9wKCksdGhpcy5faGlkZUNvbHVtbigpKSxzPUlyKG8pfXdoaWxlKHM+cik7Y29uc3QgZT1NYXRoLmZsb29yKChyLXMpL28ubGVuZ3RoKTtvPW8ubWFwKCh0PT50K2UpKTtjb25zdCB0PW8ubGVuZ3RoLTEsaT1vW3RdLG49ci1JcihvKTtvW3RdPWkrbn1pZih0LmZvckVhY2goKChlLHQpPT57Y29uc3QgaT1vW3RdO2k/ZS5zdHlsZS53aWR0aD1gJHtpfXB4YDplLmNsYXNzTGlzdC5hZGQoImktaGlkZGVuIil9KSksdGhpcy5fc3RpY2t5V3JhcHBlcil7Y29uc3QgZT10aGlzLl9zdGlja3lXcmFwcGVyLHQ9ZS5xdWVyeVNlbGVjdG9yKCJjb2xncm91cCIpLGk9ZS5xdWVyeVNlbGVjdG9yKCJ0YWJsZSIpLG49dGhpcy5fY29sZ3JvdXAuY2xvbmVOb2RlKCEwKTt0LnJlcGxhY2VXaXRoKG4pLGkuY2xhc3NMaXN0LmFkZCgidHYtc2NyZWVuZXItdGFibGUtLWZpeGVkIiksdGhpcy5fc3RpY2t5V3JhcHBlci5zdHlsZS53aWR0aD1mdW5jdGlvbihlLHQpe2lmKCEoKDAsQW4uaXNNYXJrZXRQYWdlKShlLl9tb2RlbC5fYnJpZGdlKSYmd2luZG93LmlubmVyV2lkdGg+Zm8uYnJlYWtwb2ludHMucGhvbmUpKXJldHVybjtyZXR1cm4gZS5fc3RpY2t5V3JhcHBlci5xdWVyeVNlbGVjdG9yQWxsKCJ0aCIpLmZvckVhY2goKChlLG8pPT57dFtvXT9lLmNsYXNzTGlzdC5yZW1vdmUoImktaGlkZGVuIik6ZS5jbGFzc0xpc3QuYWRkKCJpLWhpZGRlbiIpfSkpLGAke0ZuKGUuX3RhYmxlKS53aWR0aCgpfXB4YH0odGhpcyxvKXx8YCR7c31weGB9dGhpcy5fdGFibGUuY2xhc3NMaXN0LmFkZCgidHYtc2NyZWVuZXItdGFibGUtLWZpeGVkIiksdGhpcy5hZnRlckZpeENvbHMuZmlyZSgpfV9oaWRlQ29sdW1uKCl7Y29uc3QgZT10aGlzLl90aGVhZFJvdy5jaGlsZHJlbjtmb3IobGV0IHQ9ZS5sZW5ndGgtMTt0Pj0wO3QtLSl7Y29uc3Qgbz1lW3RdO2lmKCFvLmNsYXNzTGlzdC5jb250YWlucygiaS1oaWRkZW4iKSl7by5jbGFzc0xpc3QuYWRkKCJpLWhpZGRlbiIpO2JyZWFrfX10aGlzLl9oaWRkZW5Db2x1bW5zKyt9X3VuaGlkZUNvbHVtbnMoKXtjb25zdCBlPXRoaXMuX3RhYmxlLnF1ZXJ5U2VsZWN0b3JBbGwoImNvbCIpLHQ9dGhpcy5fdGhlYWRSb3cucXVlcnlTZWxlY3RvckFsbCgidGgiKTtlLmZvckVhY2goKChlLG8pPT57ZS5zdHlsZS53aWR0aD0iIixlLmNsYXNzTGlzdC5yZW1vdmUoImktaGlkZGVuIiksdFtvXS5jbGFzc0xpc3QucmVtb3ZlKCJpLWhpZGRlbiIpfSkpLHRoaXMuX2hpZGRlbkNvbHVtbnM9MH1fdW5oaWRlQ2VsbHMoKXtpZighdGhpcy5fdGJvZHkpcmV0dXJuO3RoaXMuX3Rib2R5LnF1ZXJ5U2VsZWN0b3JBbGwoInRkLmktaGlkZGVuIikuZm9yRWFjaCgoZT0+e2UuY2xhc3NMaXN0LnJlbW92ZSgiaS1oaWRkZW4iKX0pKX10b2dnbGVTaWduYWxzKGUpe2NvbnN0IHQ9dGhpcy5fZmllbGRzW2VdO3QuZGlzcGxheVNpZ25hbD0hdC5kaXNwbGF5U2lnbmFsO2NvbnN0IG89dGhpcy5fY29sdW1uc09yZGVyLmluZGV4T2YoZSk7aWYoLTE9PT1vKXJldHVybjtjb25zdCBpPXRoaXMuX3Rib2R5LnF1ZXJ5U2VsZWN0b3JBbGwoYC50di1kYXRhLXRhYmxlX19yb3cgLnR2LWRhdGEtdGFibGVfX2NlbGw6bnRoLWNoaWxkKCR7bysxfSkgLnR2LXNjcmVlbmVyLXRhYmxlX19zaWduYWxgKTswIT09aS5sZW5ndGgmJihpLmZvckVhY2goKGU9PmUuY2xhc3NMaXN0LnRvZ2dsZSgiaS1oaWRkZW4iLCF0LmRpc3BsYXlTaWduYWwpKSksdGhpcy5fZml4Q29scygpKX1nZXQgJGVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fY3JlYXRlVGFibGUoKSx4cih0aGlzLl90YWJsZSl9Z2V0ICR0Ym9keSgpe3JldHVybiB0aGlzLl9jcmVhdGVUYWJsZSgpLHhyKHRoaXMuX3Rib2R5KX1nZXQgJHN0aWNreUhlYWRlcigpewpyZXR1cm4gdGhpcy5fY3JlYXRlVGFibGUoKSx0aGlzLl9jcmVhdGVTdGlja3lXcmFwcGVyKCkseHIodGhpcy5fc3RpY2t5V3JhcHBlcil9Z2V0ICR0aGVhZFJvdygpe3JldHVybiB0aGlzLl9kaXNhYmxlU3RpY2t5SGVhZGVyP3hyKHRoaXMuX3RoZWFkUm93KTp4cih0aGlzLl90aGVhZFJvd1N0aWNreSl9Z2V0IGFkZGl0aW9uYWxDb2x1bW5zKCl7cmV0dXJuIHRoaXMuX2FkZGl0aW9uYWxDb2x1bW5zfWdldCBmaWVsZHNPcmRlcigpe3JldHVybiB0aGlzLl9maWVsZHNPcmRlcn1nZXQgY29sdW1uc09yZGVyKCl7cmV0dXJuIHRoaXMuX2NvbHVtbnNPcmRlcn1zZXRDb2x1bW5zTWFwKGUpe3RoaXMuX2NvbHVtbnNNYXA9ZX1zZXRGaWVsZHMoZSl7dGhpcy5fZmllbGRzT3JkZXI9W10sdGhpcy5fY29sdW1uc09yZGVyPVtdO2Zvcihjb25zdFt0LG9db2YgT2JqZWN0LmVudHJpZXMoZSkpdGhpcy5fZmllbGRzT3JkZXIucHVzaCh0KSxvLnNraXBGaWVsZHx8dGhpcy5fY29sdW1uc09yZGVyLnB1c2godCk7dGhpcy5fZmllbGRzPXt9LHRoaXMuX2FkZGl0aW9uYWxDb2x1bW5zPVtdLHRoaXMuX2ZpZWxkc09yZGVyLmZvckVhY2goKHQ9Pnt0aGlzLl9maWVsZHNbdF09ZVt0XSxlW3RdJiZlW3RdLmFkZGl0aW9uYWxDb2x1bW5zJiZlW3RdLmFkZGl0aW9uYWxDb2x1bW5zLmZvckVhY2goKGU9Pnt0aGlzLl9hZGRpdGlvbmFsQ29sdW1ucy5pbmNsdWRlcyhlKXx8dGhpcy5fYWRkaXRpb25hbENvbHVtbnMucHVzaChlKX0pKX0pKSx0aGlzLmZpZWxkc09yZGVyQ2hhbmdlLmZpcmUoKSx0aGlzLl9maWVsZHNPcmRlckNoYW5nZT0hMH11cGRhdGUoZSl7dGhpcy5fZmllbGRzT3JkZXJDaGFuZ2UmJih0aGlzLl91bmhpZGVDb2x1bW5zKCksdGhpcy5fY3JlYXRlVGFibGUoKSx0aGlzLl9jcmVhdGVIZWFkZXIoKSksdGhpcy5jbGVhckRhdGEoKSx0aGlzLmFwcGVuZChlKSx0aGlzLl9maWVsZHNPcmRlckNoYW5nZSYmKHRoaXMuX2ZpZWxkc09yZGVyQ2hhbmdlPSExKSx0aGlzLl9maXhDb2xzKCl9X3VwZGF0ZUVtcHR5TWVzc2FnZUljb24oKXtpZighdGhpcy5fJGVtcHR5TWVzc2FnZSlyZXR1cm47Y29uc3QgZT1mdW5jdGlvbigpe2NvbnN0IGU9c3Iud2F0Y2hlZFRoZW1lLnZhbHVlKCk7cmV0dXJuIGV8fChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJodG1sIik/LmNsYXNzTGlzdC5jb250YWlucygidGhlbWUtZGFyayIpP3JyLlN0ZFRoZW1lLkRhcms6cnIuU3RkVGhlbWUuTGlnaHQpfSgpLHQ9dGhpcy5fJGVtcHR5TWVzc2FnZS5maW5kKCJpIiksbz1lPT09cnIuU3RkVGhlbWUuTGlnaHQ/Q3I6d3I7dC5odG1sKG8pfV9zZXRFbXB0eU1lc3NhZ2UoKXtsZXQgZSx0PSIiOygwLEFuLmlzU2NyZWVuZXJQYWdlKSh0aGlzLl9tb2RlbC5fYnJpZGdlKT90PSJ0di1zY3JlZW5lci10YWJsZV9fZW1wdHktcmVzdWx0LS1maXhlZCI6KCgwLEFuLmlzQ2hhcnRQYWdlKSh0aGlzLl9tb2RlbC5fYnJpZGdlKXx8KDAsQW4uaXNFeHRlcm5hbFdpZGdldCkodGhpcy5fbW9kZWwuX2JyaWRnZSkpJiYodD0idHYtc2NyZWVuZXItdGFibGVfX2VtcHR5LXJlc3VsdC0tcmVsYXRpdmUiKSxlPXRoaXMuX2lzVW5hdmFpbGFibGVXaWRnZXRNYXJrZXQ/Xy50KG51bGwsdm9pZCAwLG8oNjc2NDQyKSkuZm9ybWF0KHtvcGVuTGluazonPGEgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXcuY29tLyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGNsYXNzPSJ0di1zY3JlZW5lci10YWJsZV9fZW1wdHktcmVzdWx0LWxpbmsiPicsY2xvc2VMaW5rOiI8L2E+In0pOnRoaXMuX25vRGF0YVN0cmluZ3x8Xy50KG51bGwsdm9pZCAwLG8oNDE3NzcpKSx0aGlzLl8kZW1wdHlNZXNzYWdlPXhyKGBcblx0XHRcdDxkaXYgY2xhc3M9InR2LXNjcmVlbmVyLXRhYmxlX19lbXB0eS1yZXN1bHQgJHt0fSI+XG5cdFx0XHRcdDxpIGNsYXNzPSJqcy1uby1yZXN1bHRzLWljb24iPjwvaT5cblx0XHRcdFx0PGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdGFibGVfX2VtcHR5LWRlc2NyaXB0aW9uIj4ke2V9PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHRgKS5pbnNlcnRBZnRlcih0aGlzLl90YWJsZSksdGhpcy5fdXBkYXRlRW1wdHlNZXNzYWdlSWNvbigpLCgwLEFuLmlzTWFya2V0UGFnZSkodGhpcy5fbW9kZWwuX2JyaWRnZSk/dGhpcy5fZml4Q29scygpOnRoaXMuX21vZGVsLl92aWV3LmZpeFN0YW5kYWxvbmVXaWR0aCgpfWFwcGVuZChlKXt0aGlzLl8kZW1wdHlNZXNzYWdlJiZ0aGlzLl8kZW1wdHlNZXNzYWdlLnJlbW92ZSgpO2NvbnN0IHQ9Z3IodGhpcy5fY29sdW1uc01hcCwiY3VycmVuY3kiLHRoaXMuX21vZGVsLnNlbGVjdGVkSW50ZXJ2YWxJZCksbz1ncih0aGlzLl9jb2x1bW5zTWFwLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIix0aGlzLl9tb2RlbC5zZWxlY3RlZEludGVydmFsSWQpLGk9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKXtjb25zdCByPWVbbl07aWYoIUFycmF5LmlzQXJyYXkoci5kKSljb250aW51ZTtjb25zdCBzPXIuZFt0XSxhPXIuZFtvXSxsPVsidHYtZGF0YS10YWJsZV9fcm93Il07aWYodGhpcy5fb3B0aW9ucy5hZGRSb3dDbGFzc2VzKXtjb25zdCBlPSJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLl9vcHRpb25zLmFkZFJvd0NsYXNzZXM/dGhpcy5fb3B0aW9ucy5hZGRSb3dDbGFzc2VzKHIpOnRoaXMuX29wdGlvbnMuYWRkUm93Q2xhc3NlcztsLnB1c2goLi4uZSl9Y29uc3QgYz1bXTtpZih0aGlzLl9vcHRpb25zLmFkZFJvd0F0dHJzKXtjb25zdCBlPSJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLl9vcHRpb25zLmFkZFJvd0F0dHJzP3RoaXMuX29wdGlvbnMuYWRkUm93QXR0cnMocik6dGhpcy5fb3B0aW9ucy5hZGRSb3dBdHRycztmb3IoY29uc3RbdCxvXW9mIE9iamVjdC5lbnRyaWVzKGUpKWMucHVzaChbdCxvXSl9Y29uc3QgdT1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7bGV0IF89dGhpcy5faGlkZGVuQ29sdW1ucztmb3IobGV0IGU9dGhpcy5fZmllbGRzT3JkZXIubGVuZ3RoLTE7ZT49MDstLWUpe2NvbnN0IHQ9dGhpcy5fZmllbGRzT3JkZXJbZV0sbz10aGlzLl9maWVsZHNbdF0KO2lmKCFvfHxvLnNraXBGaWVsZCljb250aW51ZTtjb25zdCBpPWdyKHRoaXMuX2NvbHVtbnNNYXAsdCx0aGlzLl9tb2RlbC5zZWxlY3RlZEludGVydmFsSWQpLG49by5hZGRpdGlvbmFsQ29sdW1ucz9vLmFkZGl0aW9uYWxDb2x1bW5zLm1hcCgoZT0+UnIoci5kLGdyKHRoaXMuX2NvbHVtbnNNYXAsZSx0aGlzLl9tb2RlbC5zZWxlY3RlZEludGVydmFsSWQpKSkpOltdO2xldCBsPSIiO2NvbnN0IGM9WyJ0di1kYXRhLXRhYmxlX19jZWxsIl07bGV0IHA7aWYoby50b29sdGlwJiYoImZ1bmN0aW9uIj09dHlwZW9mIG8udG9vbHRpcD9sPW8udG9vbHRpcCguLi5uLG8pOiJzdHJpbmciPT10eXBlb2Ygby50b29sdGlwJiYobD1vLnRvb2x0aXApLGMucHVzaCgiYXBwbHktY29tbW9uLXRvb2x0aXAiKSksInByaWNlIj09PW8udHlwZSYmbi5sZW5ndGg+PTQpe2NvbnN0IGU9bi5zbGljZSgtNCk7ZVsyXT0idHJ1ZSI9PT1lWzJdLHA9R3QoLi4uZSl9ZWxzZSBwPXp0KG8sdGhpcy5fbW9kZWwuc2NyZWVuZXJfdHlwZSwhMSk7Im5hbWUiPT09dCYmbi5wdXNoKHIucyk7Y29uc3QgbT1ScihyLmQsaSk7bGV0IGc9bnVsbD09PW0/dGhpcy5fbnVsbEZvcm1hdHRlcigpOnAmJnAuZm9ybWF0KG0pfHx0aGlzLl9kZWZhdWx0Rm9ybWF0dGVyKHt2YWx1ZTptLGZpZWxkS2V5OnQsZmllbGQ6byxyb3dEYXRhOnIsZmllbGRzT3JkZXI6dGhpcy5fZmllbGRzT3JkZXIsdGl0bGU6bCxjb2x1bW5zTWFwOnRoaXMuX2NvbHVtbnNNYXB9KTtpZih0aGlzLl9vcHRpb25zLmFkZENlbGxDbGFzc2VzKXtjb25zdCBlPSJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLl9vcHRpb25zLmFkZENlbGxDbGFzc2VzP3RoaXMuX29wdGlvbnMuYWRkQ2VsbENsYXNzZXMoe3ZhbHVlOm0sZmllbGRLZXk6dCxmaWVsZDpvfSk6dGhpcy5fb3B0aW9ucy5hZGRDZWxsQ2xhc3NlcztjLnB1c2goLi4uZSl9Y29uc3Qgdj1vLmFkZGl0aW9uYWxGb3JtYXR0ZXI/by5hZGRpdGlvbmFsRm9ybWF0dGVyKC4uLm4pOiIiO28ubXV0YXRlRGlzcGxheVZhbHVlJiYoZz1vLm11dGF0ZURpc3BsYXlWYWx1ZShnLC4uLm4sbykpLHRoaXMuX21vZGVsLmhhc01hcmtlZFN5bWJvbHMoKSYmYy5wdXNoKCJ0di1zY3JlZW5lci10YWJsZV9fY2VsbC0td2l0aC1tYXJrZXIiKSxfPjAmJihjLnB1c2goImktaGlkZGVuIiksXy0tKTtsZXQgZj1nK3YreXIocyxhLG8udHlwZSxnLCgwLEFuLmlzTWFya2V0UGFnZSkodGhpcy5fbW9kZWwuX2JyaWRnZSkpOyh0PT09aC5OYW1lfHx0PT09aC5TZWN0b3ImJnRoaXMuX21vZGVsLnNjcmVlbmVyX3R5cGU9PT1kLkNyeXB0b01rdCkmJihmPXByKHtzeW1ib2xIdG1sOmYsZmllbGRzT3JkZXI6dGhpcy5fZmllbGRzT3JkZXIscm93RGF0YTpyLmQscHJvU3ltYm9sOnIuc30pKTtjb25zdCB5PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIik7eS5jbGFzc0xpc3QuYWRkKC4uLmMpLHkudGl0bGU9bCYmIm5hbWUiIT09dD9sOiIiLHkuc2V0QXR0cmlidXRlKCJkYXRhLWZpZWxkLWtleSIsdCkseS5pbm5lckhUTUw9Zix1LnByZXBlbmQoeSl9Y29uc3QgcD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ciIpO3AuY2xhc3NMaXN0LmFkZCguLi5sKSxjLmZvckVhY2goKGU9PnAuc2V0QXR0cmlidXRlKC4uLmUpKSkscC5hcHBlbmQodSksdGhpcy5fb3B0aW9ucy5vblJvd0J1aWxkJiZ0aGlzLl9vcHRpb25zLm9uUm93QnVpbGQocCxyKSxpLmFwcGVuZENoaWxkKHApfXRoaXMuX3Rib2R5LmFwcGVuZENoaWxkKGkpLDA9PT10aGlzLl90Ym9keS5xdWVyeVNlbGVjdG9yQWxsKCJ0ciIpLmxlbmd0aCYmdGhpcy5fc2V0RW1wdHlNZXNzYWdlKCksdGhpcy5fb3B0aW9ucy5vblVwZGF0ZSYmdGhpcy5fb3B0aW9ucy5vblVwZGF0ZSgpfWNsZWFyRGF0YShlKXtpZih0aGlzLl90Ym9keSlpZihlKXtjb25zdCB0PXRoaXMuX3Rib2R5LmNoaWxkcmVuLG89dC5sZW5ndGg7Zm9yKGxldCBpPWU7aTxvO2krKyl7Y29uc3Qgbz10W2VdO3RoaXMuX3Rib2R5LnJlbW92ZUNoaWxkKG8pfX1lbHNlIHRoaXMuX3Rib2R5LmlubmVySFRNTD0iIn1zZXRUaENvbnRlbnQoZSx0KXtjb25zdCBvPXRoaXMuZ2V0VGgoZSk7by5zaXplKCkmJihvLmVtcHR5KCksdCBpbnN0YW5jZW9mIEVyP28uYXBwZW5kKHQpOm8uaHRtbCh0KSwibmFtZSI9PT1lJiZ0aGlzLl9zZXRTZWFyY2hJbnB1dCh0aGlzLiR0aGVhZFJvd1swXSx0aGlzLl9maWVsZHNbZV0uc2VhcmNoVmFsdWUpKX1zZXRDb2x1bW5UaXRsZShlLHQpe2NvbnN0IG89dGhpcy5nZXRUaChlKTtvLnNpemUoKSYmby5maW5kKCIuanMtaGVhZC10aXRsZSIpLnRleHQodCl9c2V0U2VhcmNoVGV4dChlKXtjb25zdCB0PXRoaXMuZ2V0VGgodGhpcy5fbW9kZWwuc2VhcmNoRmllbGQpO3Quc2l6ZSgpJiZ0LmZpbmQoIi5qcy1maWVsZC10b3RhbCIpLnRleHQoZSl9Z2V0VGgoZSl7Y29uc3QgdD10aGlzLiR0aGVhZFJvdztyZXR1cm4gdCYmdC5maW5kKGAuanMtdHYtZGF0YS10YWJsZS10aC0ke3RoaXMuX2VzYyhlKX1gKXx8eHIoKX1fZXNjKGUpe3JldHVybiBlLnJlcGxhY2UoL1tcLnxdL2csIl8iKX19ZnVuY3Rpb24gTXIoZSl7Y29uc3QgdD1lLmNoaWxkcmVuOzAhPT10Lmxlbmd0aCYmQXJyYXkuZnJvbSh0KS5mb3JFYWNoKCh0PT5lLnJlbW92ZUNoaWxkKHQpKSl9ZnVuY3Rpb24gSXIoZSl7cmV0dXJuIGUucmVkdWNlKCgoZSx0KT0+ZSt0KSl9ZnVuY3Rpb24gUnIoZSx0KXtyZXR1cm4gZVt0XX12YXIgRnI9bygzMDk4MzYpLExyPW8oOTExMzI3KTtjb25zdCBEcj17YW1lcmljYToidXNhIixldXJvbmV4dDoiZXVyb3BlIixob25na29uZzoiaG9uZy1rb25nIixuZXd6ZWFsYW5kOiJuZXctemVhbGFuZCIsdWs6InVuaXRlZC1raW5nZG9tIixyc2E6InNvdXRoLWFmcmljYSIsc3JpbGFua2E6InNyaS1sYW5rYSJ9O2Z1bmN0aW9uIE9yKGUsdCxvPSJzZWN0b3IiKXtyZXR1cm4gZSYmdD8oRHJbdF0mJih0PURyW3RdKSxgL21hcmtldHMvc3RvY2tzLSR7dH0vc2VjdG9yYW5kaW5kdXN0cnktJHtvfS8keyhpPWUsCmkucmVwbGFjZSgvW15hLXpBLVowLTldKy9nLCItIikucmVwbGFjZSgvLSsvZywiLSIpLnJlcGxhY2UoL14tfC0kL2csIiIpKS50b0xvd2VyQ2FzZSgpfS9gKToiL21hcmtldHMvc3RvY2tzLXVzYS9zZWN0b3JhbmRpbmR1c3RyeS1zZWN0b3IvIjt2YXIgaX1mdW5jdGlvbiBOcihlKXtjb25zdCB0PWUuX21vZGVsLG89ZS5fYnJpZGdlLGk9e3NjcmVlbmVyVHlwZTpXcih0KSxtYXJrZXQ6dC5tYXJrZXRzWzBdLHV0bTp0LnV0bSxsYXJnZUNoYXJ0VXJsOnQubGFyZ2VDaGFydFVybCx0YWJsZVN0eWxlOm8udGFibGVfc3R5bGUsc2NyZWVuZXJQbGFjZW1lbnQ6KDAsQW4uZ2V0U2NyZWVuZXJQYWdlKShvKSxvcGVuQ2hhcnRPblNhbWVUYWI6by5vcGVuX2NoYXJ0X29uX3NhbWVfdGFiLGJyaWRnZUJhc2VVcmw6by5iYXNlVXJsLHNlbGVjdGVkSW50ZXJ2YWxJZDp0LnNlbGVjdGVkSW50ZXJ2YWxJZH07cmV0dXJuIGU9PmZ1bmN0aW9uKGUpe3N3aXRjaChlLmZpZWxkS2V5KXtjYXNlIGguTmFtZTpyZXR1cm4gZnVuY3Rpb24oZSl7Y29uc3R7dmFsdWU6dCx0aXRsZTpvLHNjcmVlbmVyUGxhY2VtZW50Omksb3BlbkNoYXJ0T25TYW1lVGFiOm59PWU7aWYoImNoYXJ0IiE9PWkpe2NvbnN0IGk9cXIoZSk7cmV0dXJuYDxhIGNsYXNzPSJ0di1zY3JlZW5lcl9fc3ltYm9sIGFwcGx5LWNvbW1vbi10b29sdGlwIiB0aXRsZT0iJHsoMCxFaS5odG1sRXNjYXBlKShvKX0iIGhyZWY9IiR7KDAsRWkuaHRtbEVzY2FwZSkoaSl9IiAke24/IiI6J3RhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIid9PiR7dH08L2E+YH1yZXR1cm5gPGRpdiBjbGFzcz0idHYtc2NyZWVuZXJfX3N5bWJvbCB0di1zY3JlZW5lcl9fc3ltYm9sLS10ZXh0IGFwcGx5LWNvbW1vbi10b29sdGlwIiB0aXRsZT0iJHtvfSI+JHt0fTwvZGl2PmB9KGUpO2Nhc2UgaC5EZXNjcmlwdGlvbjpyZXR1cm4gZnVuY3Rpb24oZSl7Y29uc3R7dmFsdWU6dCxzY3JlZW5lclR5cGU6byxtYXJrZXQ6aX09ZTtpZihbInNlY3RvciIsImluZHVzdHJ5Il0uaW5jbHVkZXMobykpe2NvbnN0IGU9UHIodCk7cmV0dXJuYDxhIGNsYXNzPSJ0di1zY3JlZW5lcl9fc3ltYm9sIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgaHJlZj0iJHtPcih0LGksbyl9Ij5cblx0XHRcdFx0XHRcdCR7ZX1cblx0XHRcdFx0XHQ8L2E+YH1yZXR1cm4gQnIodCl9KGUpO2Nhc2UgaC5TZWN0b3I6cmV0dXJuIGZ1bmN0aW9uKGUpe2NvbnN0e3ZhbHVlOnQsZmllbGRLZXk6byxzY3JlZW5lclR5cGU6aSxtYXJrZXQ6bix0YWJsZVN0eWxlOnIsdXRtOnMsb3BlbkNoYXJ0T25TYW1lVGFiOmF9PWU7aWYoaT09PWQuQ3J5cHRvTWt0KXtjb25zdCBvPXFyKGUpO3JldHVybmA8YSBjbGFzcz0idHYtc2NyZWVuZXJfX3N5bWJvbCIgaHJlZj0iJHsoMCxFaS5odG1sRXNjYXBlKSgoMCxGci5hZGRVdG1Ub1VybCkobyxzKSl9IiAke2E/IiI6J3RhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIid9PlxuXHRcdFx0XHRcdFx0JHt0fVxuXHRcdFx0XHRcdDwvYT5gfWlmKCJiaWciPT09cilyZXR1cm4gJHIodCxuLG8pO3JldHVybiB0fShlKTtjYXNlIGguSW5kdXN0cnk6cmV0dXJuIGZ1bmN0aW9uKGUpe2NvbnN0e3ZhbHVlOnQsZmllbGRLZXk6byxzY3JlZW5lclR5cGU6aSxtYXJrZXQ6bix0YWJsZVN0eWxlOnJ9PWU7aWYoImJpZyI9PT1yJiZpIT09ZC5DcnlwdG9Na3QpcmV0dXJuICRyKHQsbixvKTtyZXR1cm4gQnIodCl9KGUpO2Nhc2UgaC5Db3VudHJ5OnJldHVybigwLGIudHJpZXNUcmFuc2xhdGVDb3VudHJpZU5hbWUpKGUudmFsdWUpO2RlZmF1bHQ6cmV0dXJuIGUudmFsdWV9fSh7Li4uZSwuLi5pfSl9ZnVuY3Rpb24gUHIoZSl7cmV0dXJuKDAsVGUudHJpZXNUcmFuc2xhdGVTY3JlZW5lckRhdGEpKGUpfWZ1bmN0aW9uIEJyKGUpe2NvbnN0IHQ9UHIoZSk7cmV0dXJuYDxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lci10YWJsZV9fY2VsbC0tZml4LXdpZHRoIiB0aXRsZT0iJHt0fSI+JHt0fTwvc3Bhbj5gfWZ1bmN0aW9uICRyKGUsdCxvKXtjb25zdCBpPVByKGUpO3JldHVybmA8YSBjbGFzcz0idHYtc2NyZWVuZXJfX3N5bWJvbCIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGhyZWY9IiR7T3IoZSx0LG8pfSI+XG5cdFx0XHRcdDxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lcl9fc3ltYm9sLS1zZWNvbmRhcnkiPiR7aX08L3NwYW4+XG5cdFx0XHQ8L2E+YH1mdW5jdGlvbiBXcihlKXtyZXR1cm4gZS5zY3JlZW5lcl90eXBlfWZ1bmN0aW9uIHFyKGUpe2NvbnN0e3Jvd0RhdGE6dCxzY3JlZW5lclR5cGU6byxzY3JlZW5lclBsYWNlbWVudDppLHV0bTpuLGxhcmdlQ2hhcnRVcmw6cixjb2x1bW5zTWFwOnMsc2VsZWN0ZWRJbnRlcnZhbElkOmF9PWU7aWYobz09PWQuQ3J5cHRvTWt0KXtjb25zdCBlPXtwcm9OYW1lOnQucyx0eXBlOiJjcnlwdG8ifTtyZXR1cm4id2lkZ2V0Ij09PWkmJnI/KDAsTHIubWFrZVRlbXBsYXRlU3ltYm9sVXJsKShyLGUpOigwLExyLm1ha2VTeW1ib2xQYWdlVXJsKShlKX1jb25zdCBsPWdyKHMsImV4Y2hhbmdlIixhKTtsZXQgYztsJiYoYz10LmRbbF0pO2NvbnN0IGg9e3Byb05hbWU6dC5zLGV4Y2hhbmdlOmMsdHlwZTpvfTtyZXR1cm4gbz09PWQuQ29udGludW91c0Z1dHVyZXM/KDAsTHIubWFrZVN5bWJvbENoYXJ0VXJsKShoKToid2lkZ2V0Ij09PWkmJnI/KDAsTHIubWFrZVRlbXBsYXRlU3ltYm9sVXJsKShyLGgpOigwLExyLm1ha2VTeW1ib2xQYWdlVXJsKShoLG4pfXZhciBWcixIcj1vKDIyNTI5OCk7ZnVuY3Rpb24gVXIoZSl7Y29uc3QgdD1lLl9maWVsZHNfb3JkZXIsaT1lLl9kaXNhYmxlU3RpY2t5SGVhZGVyLG49ZS5fbGlmZWN5Y2xlLHI9ZS53aWR0aENoYW5nZSxzPWUuX21vZGVsLGE9cy5zY3JlZW5lcl90eXBlLGw9ZS5fYnJpZGdlLGM9bC50YWJsZV9zdHlsZSx1PWwuaGlkZV9jb250cm9scyxwPWwudmlzaWJsZSxtPSgwLEFuLmdldFNjcmVlbmVyUGFnZSkobCksZz1JdC5kZXNjcmlwdGlvbix2PXttb2RlbDpzLGZpZWxkc09yZGVyOnQsdGl0bGVGb3JtYXR0ZXI6KHQsbyk9Pntjb25zdCBpPWUuX2dldFRoQ29udGVudCh0LG8pCjtyZXR1cm4gdD09PWguTmFtZSYmbi5iZWZvcmVBcHBlbmRTeW1ib2xzSGVhZGVyKGkuZ2V0KDApKSxpfSxkZWZhdWx0Rm9ybWF0dGVyOk5yKGUpLGFkZFRoZWFkQ2xhc3NlczpbInR2LXNjcmVlbmVyLXRhYmxlX190aGVhZCIsaT8idHYtc2NyZWVuZXItdGFibGVfX3RoZWFkLS1zdGlja3kiOiJ0di1zY3JlZW5lci10YWJsZV9fdGhlYWQtLXJlZ3VsYXIiXSxhZGRUaENsYXNzZXM6WyJ0di1kYXRhLXRhYmxlX19zb3J0YWJsZSIsInR2LXNjcmVlbmVyLXRhYmxlX19zb3J0YWJsZSIsInR2LXNjcmVlbmVyLXRhYmxlX190aCIsYz9gdHYtc2NyZWVuZXItdGFibGVfX3RoLS0ke2N9YDoiIiwid2lkZ2V0Ij09PW0mJnU/InR2LXNjcmVlbmVyLXRhYmxlX190aC0tbm8tdG9vbGJhciI6IiJdLGFkZENlbGxDbGFzc2VzOmU9Pntjb25zdHt2YWx1ZTp0LGZpZWxkS2V5Om8sZmllbGQ6aX09ZSxuPVsidHYtc2NyZWVuZXItdGFibGVfX2NlbGwiXTtyZXR1cm4gbi5wdXNoKC4uLmZ1bmN0aW9uKGUpe2NvbnN0IHQ9W107ZS5hbGlnbj09PVZyLlJpZ2h0fHxlLmFsaWduPT09VnIuQ2VudGVyfHxlLmNvbnRyb2wmJiJzZWxlY3QiIT09ZS5jb250cm9sfHx0LnB1c2goInR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS1sZWZ0Iik7ZS5hbGlnbiE9PVZyLkNlbnRlcnx8ZS5jb250cm9sfHx0LnB1c2goInR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS1jZW50ZXIiKTtyZXR1cm4gdH0oaSkpLGkuaGlnaGxpZ2h0Q2hhbmdlJiZ0JiZuLnB1c2godD49MD8idHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLXVwIjoidHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLWRvd24iKSxvIT09aC5OYW1lfHwhZy5kaXNhYmxlZCYmZy5jaGVja2VkfHxuLnB1c2goIndpZGdldCI9PT1tPyJ0di1zY3JlZW5lci10YWJsZV9fY2VsbC0td2lkZ2V0LXdpdGhvdXQtZGVzY3JpcHRpb24iOiJ0di1zY3JlZW5lci10YWJsZV9fY2VsbC0td2l0aG91dC1kZXNjcmlwdGlvbiIpLGMmJm4ucHVzaChgdHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLSR7Y31gKSwid2lkZ2V0Ij09PW0mJm4ucHVzaCguLi5mdW5jdGlvbihlLHQpe2NvbnN0IG89W107ZSYmby5wdXNoKCJ0di1zY3JlZW5lci10YWJsZV9fY2VsbC0tbm8tdG9vbGJhciIpO3Q9PT1kLkNyeXB0b01rdCYmby5wdXNoKCJ0di1zY3JlZW5lci10YWJsZV9fY2VsbC0tY3J5cHRvX21rdCIpO3JldHVybiBvfSh1LGEpKSxufSx3aWR0aENoYW5nZTpyLHZpc2liaWxpdHlDaGFuZ2U6cCx0YWJsZV9zdHlsZTpjLG5vRGF0YVN0cmluZzplLl9ub0RhdGFTdHJpbmcsaXNVbmF2YWlsYWJsZVdpZGdldE1hcmtldDplLl9pc1VuYXZhaWxhYmxlV2lkZ2V0TWFya2V0LGRpc2FibGVTdGlja3lIZWFkZXI6aSxvblJvd0J1aWxkOih0LG8pPT57Y29uc3QgaT1lLl9zZWxlY3RhYmxlTGlzdDsiY2hhcnQiPT09bSYmSHIubGlua2luZy5wcm9TeW1ib2wudmFsdWUoKT09PW8ucyYmaSYmKGUuX3NldEFjdGl2ZUVsZW0odCksaS5mb2N1c0l0ZW0odCkpLG4uYmVmb3JlQXBwZW5kU3ltYm9sKG8ucyx0KX0sb25VcGRhdGU6KCk9Pntjb25zdCB0PWUuX3NlbGVjdGFibGVMaXN0O3QmJnQucmVzdG9yZSgpfX0sZj17Li4udixzb3J0YWJsZTohMCxhZGRUYWJsZUNsYXNzZXM6WyJ0di1zY3JlZW5lci10YWJsZSJdLGFkZFRoZWFkUm93Q2xhc3NlczpbInR2LWRhdGEtdGFibGVfX3N0cm9rZSIsInR2LXNjcmVlbmVyLXRhYmxlX19oZWFkIl0sYWRkUm93Q2xhc3NlczooKT0+WyJ0di1kYXRhLXRhYmxlX19zdHJva2UiLCJ0di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdyJdLGFkZFJvd0F0dHJzOmU9Pih7ImRhdGEtc3ltYm9sIjplLnN9KSxhZGRTdGlja3lIZWFkZXJXcmFwcGVyQ2xhc3NlczpbInR2LXNjcmVlbmVyLXN0aWNreS1oZWFkZXItd3JhcHBlciJdLGFkZERyYWdnaW5nVGhDbGFzc2VzOlsidHYtc2NyZWVuZXItdGFibGVfX3RoLS1kcmFnZ2luZyJdLGFkZERyYWdnaW5nQ29sQ2xhc3NlczpbInR2LXNjcmVlbmVyLXRhYmxlX19jb2wtLWRyYWdnaW5nIl19LHk9bmV3IEFyKGYpO3JldHVybiB5LnNldEZpZWxkcyh7bmFtZTp7dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oODI4NDIwKSl9fSkseX0hZnVuY3Rpb24oZSl7ZS5DZW50ZXI9ImNlbnRlciIsZS5SaWdodD0icmlnaHQifShWcnx8KFZyPXt9KSk7dmFyIHpyLGpyPW8oNDgyNTA0KTtmdW5jdGlvbiBHcihlKXtjb25zdHt2aWV3OnR9PWU7cmV0dXJuIHQuX2JyaWRnZS5oaWRlX2NvbnRyb2xzP1Byb21pc2UucmVzb2x2ZSgpOnpuKGUsWHIscW4uSGVhZGVyKX1mdW5jdGlvbiBYcihlLHQpe2NvbnN0e2ZpZWxkS2V5Om99PWUsaT10LmRlZmF1bHQsbj1JdFtvXSxyPXsuLi5lLGZpZWxkOm59O3JldHVybnsuLi5LcihyLGkpLC4uLllyKHIsaSksLi4uSnIocixpKSwuLi5acihyLGkpfX1mdW5jdGlvbiBLcihlLHQpe2NvbnN0e3ZpZXc6aSxmaWVsZEtleTpyfT1lO2lmKCJuYW1lIiE9PXIpcmV0dXJue307Y29uc3Qgcz1uZXcgdCh7YWN0aW9uSWQ6IlNjcmVlbmVyLlRvZ2dsZVZpc2liaWxpdHkuRGVzY3JpcHRpb24iLG9wdGlvbnM6e2xhYmVsOiFJdC5kZXNjcmlwdGlvbi5kaXNhYmxlZCYmSXQuZGVzY3JpcHRpb24uY2hlY2tlZD9fLnQobnVsbCx2b2lkIDAsbyg3MjEwMDEpKTpfLnQobnVsbCx2b2lkIDAsbyg4MjU5MikpLGRpc2FibGVkOkl0LmRlc2NyaXB0aW9uLmRpc2FibGVkLG9uRXhlY3V0ZTooKT0+e2NvbnN0IGU9IUl0LmRlc2NyaXB0aW9uLmNoZWNrZWQ7SXQuZGVzY3JpcHRpb24uY2hlY2tlZD1lLGkudGFibGUudXBkYXRlKGkuX2RhdGEpLGkuJGZpZWxkU2V0c0J1dHRvbi50b2dnbGVDbGFzcygidHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS11bnNhdmVkIixpLl9tb2RlbC5pc0ZpZWxkU2V0Q2hhbmdlZCgpKSwoMCxZby5zZW5kU25vd1Bsb3dEYXRhKShuZXcgR24uRGlzcGF0Y2hDb250ZXh0TWVudUFjdGlvbkV2ZW50KHpyLlRvZ2dsZURlc2NyaXB0aW9uLCJoZWFkZXIiLGUpKX19fSksYT1uZXcgdCh7YWN0aW9uSWQ6IlNjcmVlbmVyLlRvZ2dsZVZpc2liaWxpdHkuU3ltYm9sVHlwZSIsb3B0aW9uczp7CmxhYmVsOiFJdC50eXBlLmRpc2FibGVkJiZJdC50eXBlLmNoZWNrZWQ/Xy50KG51bGwsdm9pZCAwLG8oOTI2ODI1KSk6Xy50KG51bGwsdm9pZCAwLG8oNjAzNTA3KSksZGlzYWJsZWQ6SXQudHlwZS5kaXNhYmxlZCxvbkV4ZWN1dGU6KCk9Pntjb25zdCBlPSFJdC50eXBlLmNoZWNrZWQ7SXQudHlwZS5jaGVja2VkPWUsaS50YWJsZS51cGRhdGUoaS5fZGF0YSksaS4kZmllbGRTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXVuc2F2ZWQiLGkuX21vZGVsLmlzRmllbGRTZXRDaGFuZ2VkKCkpLCgwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBHbi5EaXNwYXRjaENvbnRleHRNZW51QWN0aW9uRXZlbnQoenIuVG9nZ2xlU3ltYm9sVHlwZSwiaGVhZGVyIixlKSl9fX0pLGw9IVsiZm9yZXgiLCJjcnlwdG8iXS5pbmNsdWRlcyhpLl9tb2RlbC5zY3JlZW5lcl90eXBlKSxjPW5ldyB0KHthY3Rpb25JZDoiU2NyZWVuZXIuVG9nZ2xlVmlzaWJpbGl0eS5DdXJyZW5jeSIsb3B0aW9uczp7bGFiZWw6U3IoKT9fLnQobnVsbCx2b2lkIDAsbygxMjI3NjQpKTpfLnQobnVsbCx2b2lkIDAsbyg2Nzc0MjYpKSxvbkV4ZWN1dGU6KCk9Pntjb25zdCBlPSFTcigpO3ZhciB0O3Q9ZSxuLnNldFZhbHVlKGJyLHQpLGkudGFibGUudXBkYXRlKGkuX2RhdGEpLCgwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBHbi5EaXNwYXRjaENvbnRleHRNZW51QWN0aW9uRXZlbnQoenIuVG9nZ2xlU2hvd0N1cnJlbmN5LCJoZWFkZXIiLGUpKX19fSk7cmV0dXJuey4uLmw/e3RvZ2dsZUN1cnJlbmN5RGlzcGxheUFjdGlvbjpjfTpudWxsLHRvZ2dsZURlc2NyaXB0aW9uQWN0aW9uOnMsdG9nZ2xlU3ltYm9sVHlwZUFjdGlvbjphfX1mdW5jdGlvbiBZcihlLHQpe2NvbnN0e3ZpZXc6aSxmaWVsZEtleTpuLGZpZWxkOnJ9PWU7aWYoIm5hbWUiPT09bilyZXR1cm57fTtyZXR1cm57cmVtb3ZlQ29sdW1uQWN0aW9uOm5ldyB0KHthY3Rpb25JZDoiU2NyZWVuZXIuQ29sdW1uLlJlbW92ZSIsb3B0aW9uczp7bGFiZWw6Xy50KG51bGwsdm9pZCAwLG8oNTkxMjI3KSksb25FeGVjdXRlOigpPT57ci5jaGVja2VkPSExO2NvbnN0IGU9aS5fdGFibGUuZmllbGRzT3JkZXIuZmlsdGVyKChlPT5lIT09bikpO2kuX21vZGVsLmZpZWxkU2V0Q2hhbmdlZC5maXJlKGUuZmlsdGVyKChlPT5JdFtlXSYmITAhPT1JdFtlXS5kaXNhYmxlZCYmITAhPT1JdFtlXS5oaWRkZW5Db2x1bW4pKSksaS5fbW9kZWwudXBkYXRlKCksaS4kZmllbGRTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXVuc2F2ZWQiLGkuX21vZGVsLmlzRmllbGRTZXRDaGFuZ2VkKCkpLCgwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBHbi5EaXNwYXRjaENvbnRleHRNZW51QWN0aW9uRXZlbnQoenIuUmVtb3ZlQ29sdW1uLCJoZWFkZXIiLG4pKX19fSl9fWZ1bmN0aW9uIEpyKGUsdCl7Y29uc3R7dmlldzppLGZpZWxkS2V5Om4sZmllbGQ6cixlOnN9PWUsYT1zLmN1cnJlbnRUYXJnZXR8fHMudGFyZ2V0LGw9bmV3IHQoe2FjdGlvbklkOiJTY3JlZW5lci5GaWx0ZXIuUmVzZXQiLG9wdGlvbnM6e2xhYmVsOl8udChudWxsLHZvaWQgMCxvKDMxMTczNykpLG9uRXhlY3V0ZTooKT0+e2kucmVzZXRGaWx0ZXIobiksKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IEduLkRpc3BhdGNoQ29udGV4dE1lbnVBY3Rpb25FdmVudCh6ci5SZXNldEZpbHRlciwiaGVhZGVyIixuKSl9fX0pLGM9bmV3IHQoe2FjdGlvbklkOiJTY3JlZW5lci5GaWx0ZXIuQ2hhbmdlIixvcHRpb25zOntsYWJlbDpfLnQobnVsbCx2b2lkIDAsbyg2ODEwNDMpKSxvbkV4ZWN1dGU6KCk9Pntjb25zdCBlPWpyKGEpLmNsb3Nlc3QoInRoIik7aS5zaG93SW5wbGFjZUVkaXRvcihuLGUpLHMuc3RvcFByb3BhZ2F0aW9uKCksKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IEduLkRpc3BhdGNoQ29udGV4dE1lbnVBY3Rpb25FdmVudCh6ci5DaGFuZ2VGaWx0ZXIsImhlYWRlciIsbikpfX19KTtpZihyLmNvbnRyb2wpe2kuZmllbGRWYWx1ZVN0cmluZyhuKXx8bC51cGRhdGUoe2Rpc2FibGVkOiEwfSl9ZWxzZSBsLnVwZGF0ZSh7ZGlzYWJsZWQ6ITB9KSxjLnVwZGF0ZSh7ZGlzYWJsZWQ6ITB9KTtyZXR1cm57cmVzZXRGaWx0ZXJBY3Rpb246bCxjaGFuZ2VGaWx0ZXJBY3Rpb246Y319ZnVuY3Rpb24gWnIoZSx0KXtjb25zdHt2aWV3OmksZmllbGRLZXk6bixmaWVsZDpyfT1lO2lmKCFyLmhhc093blByb3BlcnR5KCJkaXNwbGF5U2lnbmFsIikpcmV0dXJue307Y29uc3R7ZGlzcGxheVNpZ25hbDpzfT1yO3JldHVybnt0b2dnbGVTaWduYWxBY3Rpb246bmV3IHQoe2FjdGlvbklkOiJTY3JlZW5lci5Ub2dnbGVWaXNpYmlsaXR5LlJhdGluZyIsb3B0aW9uczp7bGFiZWw6cz9fLnQobnVsbCx2b2lkIDAsbyg3NTcyMzEpKTpfLnQobnVsbCx2b2lkIDAsbygyNzM2ODEpKSxvbkV4ZWN1dGU6KCk9PntpLl90YWJsZS50b2dnbGVTaWduYWxzKG4pLCgwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBHbi5EaXNwYXRjaENvbnRleHRNZW51QWN0aW9uRXZlbnQoenIuVG9nZ2xlU2lnbmFsLCJoZWFkZXIiLCFzKSl9fX0pfX0hZnVuY3Rpb24oZSl7ZS5BY3RpdmVPbmx5PSJhY3RpdmVfb25seSIsZS5Ub2dnbGVEZXNjcmlwdGlvbj0ic2hvd19kZXNjcmlwdGlvbiIsZS5Ub2dnbGVTeW1ib2xUeXBlPSJzaG93X3N5bWJvbF90eXBlIixlLlRvZ2dsZVByaW1hcnlPbmx5PSJzaG93X3ByaW1hcnlfb25seSIsZS5SZW1vdmVDb2x1bW49InJlbW92ZV9jb2x1bW4iLGUuUmVzZXRGaWx0ZXI9InJlc2V0X2ZpbHRlciIsZS5DaGFuZ2VGaWx0ZXI9ImNoYW5nZV9maWx0ZXIiLGUuVG9nZ2xlU2lnbmFsPSJzaG93X3JhdGluZyIsZS5Ub2dnbGVTaG93Q3VycmVuY3k9InRvZ2dsZV9zaG93X2N1cnJlbmN5In0oenJ8fCh6cj17fSkpO3ZhciBRcj1vKDcwMzA0MSksZXM9bygzODI3NDUpO2NvbnN0IHRzPSJzY3JlZW5lci1tYXJrZXQtc2VsZWN0LW1vZGUiO3ZhciBvcz1vKDI0OTQ2OSksaXM9byg5OTg2NjEpLG5zPW8oOTIxNzA4KSxycz1vKDQ4MjUwNCk7Y29uc3Qgc3M9bygyMjUyOTgpLmxpbmtpbmc7byg1NTA2ODIpCjtjb25zdHtEZWxlZ2F0ZTphc309byg5NDgzODApLGxzPW8oMjIxMDYxKS5nZXRMb2dnZXIoIlNjcmVlbmVyLlZpZXciKSx7b3BlcmF0b3JzOmNzLGZpZWxkczpkc309byg2NDEzMDQpLGhzPV8udChudWxsLHtjb250ZXh0OiJmb3JleF9zY3JlZW5lcl9wYWlyc19zZWxlY3QifSxvKDE4NTQ5OSkpLHVzPV8udChudWxsLHZvaWQgMCxvKDIzMzY5MCkpLF9zPV8udChudWxsLHZvaWQgMCxvKDkyMTg0NykpLHBzPW8oODQxODc3KSxtcz1vKDgyMzM1OCksZ3M9Wy0xLDEwLDYwXSx2cz1bLTEsMTBdLGZzPXtib25kczp7eWllbGRzOl8udChudWxsLHtjb250ZXh0OiJCb25kcyJ9LG8oNzUxMDMzKSkscHJpY2VzOl8udChudWxsLHtjb250ZXh0OiJCb25kcyJ9LG8oNjQxNTk4KSl9LGNyeXB0b19ta3Q6e1VTRDoiVVNEIixCVEM6IkJUQyJ9fSx5cz1gPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdGFibGVfX3NlYXJjaC1xdWVyeSBqcy1zZWFyY2gtcXVlcnkgJHtJdC5kZXNjcmlwdGlvbi5kaXNhYmxlZHx8IUl0LmRlc2NyaXB0aW9uLmNoZWNrZWQ/InR2LXNjcmVlbmVyLXRhYmxlX19zZWFyY2gtcXVlcnktLXdpdGhvdXQtZGVzY3JpcHRpb24iOiIifSI+XG5cdFx0PGlucHV0XG5cdFx0XHR0eXBlPSJ0ZXh0IlxuXHRcdFx0YXV0b2NvbXBsZXRlPSJvZmYiXG5cdFx0XHRjbGFzcz0idHYtc2NyZWVuZXItdGFibGVfX3NlYXJjaC1pbnB1dCBqcy1zZWFyY2gtaW5wdXQiXG5cdFx0Lz5cblx0XHQ8c3BhbiBjbGFzcz0idHYtc2VhcmNoLWJhcl9fc2VhcmNoLWljb24gdHYtc2NyZWVuZXItdGFibGVfX3NlYXJjaC1pY29uIj4ke28oMjYxMTc4KX08L3NwYW4+XG5cdFx0PHNwYW4gY2xhc3M9InR2LXNlYXJjaC1iYXJfX2lucHV0LXJlc2V0IHR2LXNjcmVlbmVyLXRhYmxlX19pbnB1dC1yZXNldCBpLWhpZGRlbiBqcy1pbnB1dC1yZXNldCI+JHtvKDIwNzc0Nil9PC9zcGFuPlxuXHQ8L2Rpdj5gO2NsYXNzIGJze2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fYnJpZGdlPWUsdGhpcy5fbW9kZWw9dCx0aGlzLl9vbldpZGdldD1lLm9uV2lkZ2V0LHRoaXMuX2FjdGl2ZUVsZW09bnVsbCx0aGlzLl9jaGFuZ2VTeW1ib2w9KDAsdm8uZGVmYXVsdCkodGhpcy5fY2hhbmdlU3ltYm9sLDUwMCksdGhpcy5fbGlmZWN5Y2xlPW5ldyB4aSx0aGlzLnNvcnRlZEZpZWxkcz1PYmplY3Qua2V5cyhJdCkuZmlsdGVyKChlPT5Cb29sZWFuKEt0KEl0W2VdKSkpKSx0aGlzLl9wb3B1cHM9bmV3IGRpKHQsdGhpcyxlKSx0aGlzLl9kaWFsb2c9bmV3IGtpKHQsdGhpcyxlKSx0aGlzLl9kaXNhYmxlU3RpY2t5SGVhZGVyPXRoaXMuX2JyaWRnZS5kaXNhYmxlU3RpY2t5SGVhZGVyLHRoaXMuX3BlcmlvZFBpY2tlcj1lLnBlcmlvZF9waWNrZXIsdGhpcy5fbm9EYXRhU3RyaW5nPWUubm9fZGF0YV9zdHJpbmcsdGhpcy5faXNVbmF2YWlsYWJsZVdpZGdldE1hcmtldD1lLmlzVW5hdmFpbGFibGVXaWRnZXRNYXJrZXQsdGhpcy5fcGVyaW9kUGlja2VyQnV0dG9ucz1be2lkOiJ5ZXN0ZXJkYXkiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDk2NTU3MykpfSx7aWQ6InRvZGF5Iix0aXRsZTpfLnQobnVsbCx2b2lkIDAsbyg2MTQ0NTApKX0se2lkOiJ0b21vcnJvdyIsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oOTQwNDgzKSl9LHtpZDoidGhpc193ZWVrIix0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygxMjc0ODMpKX0se2lkOiJuZXh0X3dlZWsiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDQ4NTQ1NCkpfV07Y29uc3QgaT0idW5kZWZpbmVkIj09PXRoaXMuX21vZGVsLnNldHRpbmdLZXk/dGhpcy5fbW9kZWwuc2NyZWVuZXJfdHlwZTp0aGlzLl9tb2RlbC5zZXR0aW5nS2V5O3RoaXMuX2ZpZWxkc19vcmRlcj10aGlzLl9tb2RlbC5zZXR0aW5nc1NhdmVyLmdldEpTT04oaSsiLmZpZWxkc19vcmRlciIsW10pLHRoaXMuX2RhdGE9W10sdGhpcy5fbGFzdFNldElkPW51bGwsdGhpcy53aWR0aENoYW5nZT1uZXcgYXMsdGhpcy5fYnJpZGdlLndpZHRoJiZ0aGlzLl9icmlkZ2Uud2lkdGguc3Vic2NyaWJlKCgoKT0+e3RoaXMud2lkdGhDaGFuZ2UuZmlyZSgpfSkpLHRoaXMuXyRncm91cFNlbGVjdD1udWxsLHRoaXMuX3ByZXZlbnRIaWdobGlnaHRDaGFuZ2VzPSExLHRoaXMuX3RhYmxlPVVyKHRoaXMpLHRoaXMuX21vZGVsLmZpZWxkU2V0Q2hhbmdlZC5zdWJzY3JpYmUobnVsbCwoZT0+e2NvbnN0IHQ9e307ZS5mb3JFYWNoKChlPT57dFtlXT1JdFtlXX0pKSx0aGlzLl90YWJsZS5zZXRGaWVsZHModCl9KSksdGhpcy5fbW9kZWwuZmlsdGVyU2V0Q2hhbmdlZC5zdWJzY3JpYmUobnVsbCwoKCk9Pnt0aGlzLiRmaWx0ZXJTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXVuc2F2ZWQiLHRoaXMuX21vZGVsLmlzRmlsdGVyU2V0Q2hhbmdlZCgpKX0pKSx0aGlzLl90YWJsZS5maWVsZHNPcmRlckNoYW5nZS5zdWJzY3JpYmUobnVsbCwoKCk9Pnt0aGlzLl9tb2RlbC5maWVsZHNPcmRlci5zZXRWYWx1ZSh0aGlzLl90YWJsZS5maWVsZHNPcmRlciksdGhpcy4kZmllbGRTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXVuc2F2ZWQiLHRoaXMuX21vZGVsLmlzRmllbGRTZXRDaGFuZ2VkKCkpLHRoaXMuX21vZGVsLnNldHRpbmdzU2F2ZXIuc2V0SlNPTihpKyIuZmllbGRzX29yZGVyIix0aGlzLl90YWJsZS5maWVsZHNPcmRlcix7Zm9yY2VGbHVzaDohMH0pfSkpO2xldCBuPTAscj0hMTt0aGlzLl9tb2RlbC5sb2FkaW5nU3RhcnQuc3Vic2NyaWJlKG51bGwsKGU9PntlPyhyPSEwLHRoaXMuX2JyaWRnZS5zdGFuZGFsb25lJiYobj1ycyhkb2N1bWVudCkuc2Nyb2xsVG9wKCkpLHRoaXMuX3Nob3dTcGlubmVyKHRoaXMuJGJvdHRvbUxvYWRpbmdTY3JlZW4pKToobj0wLHRoaXMuX21vZGVsLmlzRmFzdFJlZnJlc2h8fHRoaXMuX3Nob3dTcGlubmVyKCkpfSkpLHRoaXMuX21vZGVsLmxvYWRpbmdTdGFydC5zdWJzY3JpYmUobnVsbCwoKCk9PnRoaXMucmVzZXRSZWZyZXNoQ291bnRlcighMCkpKSx0aGlzLl9tb2RlbC5sb2FkaW5nQ29tcGxldGUuc3Vic2NyaWJlKG51bGwsKCgpPT57CnImJnRoaXMuX2JyaWRnZS5zdGFuZGFsb25lJiYwIT09biYmcnMoZG9jdW1lbnQpLnNjcm9sbFRvcCgpIT09bj8ocj0hMSxycyhkb2N1bWVudCkuc2Nyb2xsVG9wKG4pLG49MCk6dGhpcy5fYnJpZGdlLnN0YW5kYWxvbmUmJnRoaXMuX2lzU2Nyb2xsQm90dG9tKCkmJnJzKGRvY3VtZW50KS5zY3JvbGxUb3AocnMoZG9jdW1lbnQpLnNjcm9sbFRvcCgpLzIpLHRoaXMuX2hpZGVTcGlubmVyKCksdGhpcy5yZXNldFJlZnJlc2hDb3VudGVyKCl9KSksdGhpcy5fbW9kZWwuZW9kUmVzdHJpY3Rpb24uc3Vic2NyaWJlKCgoKT0+dGhpcy51cGRhdGVJbnRlcnZhbEJ1dHRvbigpKSx7Y2FsbFdpdGhMYXN0OiEwfSksd2luZG93LmxvZ2luU3RhdGVDaGFuZ2UmJndpbmRvdy5sb2dpblN0YXRlQ2hhbmdlLnN1YnNjcmliZShudWxsLCgoKT0+e2lmKHRoaXMucmVzZXRSZWZyZXNoQ291bnRlcigpLCJmb3JleCI9PT10aGlzLl9tb2RlbC5zY3JlZW5lcl90eXBlKXtjb25zdCBlPXRoaXMuX21vZGVsLnNlbGVjdGVkR3JvdXBzO0l0LnNlY3Rvci52YWx1ZT1BcnJheS5pc0FycmF5KGUpJiZlWzBdPT09Xy50KG51bGwsdm9pZCAwLG8oOTIxODQ3KSk/bnVsbDplLHRoaXMuXyRncm91cFNlbGVjdEJ1dHRvbiYmKHRoaXMuXyRncm91cFNlbGVjdEJ1dHRvbi5lbXB0eSgpLHRoaXMudXBkYXRlR3JvdXBzQnV0dG9uKHRoaXMuXyRncm91cFNlbGVjdEJ1dHRvbixlKSl9fSkpLHRoaXMuX2JyaWRnZS5zdGFuZGFsb25lJiZycyh3aW5kb3cpLm9uKCJzY3JvbGwiLCgoKT0+e3JzKCIuanMtZHJvcGRvd24tdG9nZ2xlLmktb3BlbmVkIikudHJpZ2dlcigicmVzZXRQb3NpdGlvbiIpfSkpO2NvbnN0IHM9KDAsdm8uZGVmYXVsdCkoKCgpPT57dGhpcy5fdGVtcEJ1c3k9ITF9KSwyNTApLGE9KCk9Pnt0aGlzLl90ZW1wQnVzeXx8KHRoaXMuX3RlbXBCdXN5PSEwKSxzKCl9O3RoaXMuX2JyaWRnZS5zdGFuZGFsb25lJiZycyh3aW5kb3cpLm9uKCJzY3JvbGwiLGEpLHJzKHdpbmRvdykub24oInJlc2l6ZSIsYSksdGhpcy53aWR0aENoYW5nZS5zdWJzY3JpYmUodGhpcyxhKSx0aGlzLl9icmlkZ2Uuc3RhbmRhbG9uZXx8dGhpcy5fbW9kZWwubG9hZGluZ0NvbXBsZXRlLnN1YnNjcmliZShudWxsLCgoKT0+e3RoaXMuaXNFbmRSZWFjaGVkKCk/KHRoaXMuJGNvbnRlbnQuYWRkQ2xhc3MoInR2LXNjcmVlbmVyX19jb250ZW50LXBhbmUtLWZ1bGx5LWxvYWRlZCIpLHRoaXMuX3RhYmxlLiRlbGVtZW50LmNzcygibWFyZ2luLWJvdHRvbSIsLXRoaXMuX2NvbnRlbnRQYWRkaW5nKSk6KHRoaXMuJGNvbnRlbnQucmVtb3ZlQ2xhc3MoInR2LXNjcmVlbmVyX19jb250ZW50LXBhbmUtLWZ1bGx5LWxvYWRlZCIpLHRoaXMuX3RhYmxlLiRlbGVtZW50LmNzcygibWFyZ2luLWJvdHRvbSIsIiIpKX0pKSxUcmFkaW5nVmlldy5vbkNoYXJ0UGFnZSYmTWkuc3Vic2NyaWJlKCJzY3JlZW5lci5zZWxlY3RlZF90eXBlX29uX2NoYXJ0IiwoZT0+e3RoaXMuX21vZGVsLmNoYW5nZVNjcmVlbmVyVHlwZShlKS50aGVuKCgoKT0+e3RoaXMuX2xhc3RTZXRJZD1udWxsLHRoaXMuX3BvcHVwcy5zZXRNYXJrZXRzTGlzdChGKHRoaXMuX21vZGVsLnNjcmVlbmVyX3R5cGUpKSwiZm9yZXgiPT09dGhpcy5fbW9kZWwuc2NyZWVuZXJfdHlwZT90aGlzLl8kZ3JvdXBTZWxlY3QucmVtb3ZlQ2xhc3MoImktaGlkZGVuIik6dGhpcy5fJGdyb3VwU2VsZWN0LmFkZENsYXNzKCJpLWhpZGRlbiIpLHRoaXMudXBkYXRlSW50ZXJ2YWxCdXR0b24odGhpcy5fJHNlbGVjdEludGVydmFsQnV0dG9uLHRoaXMuX21vZGVsLnNlbGVjdGVkSW50ZXJ2YWxJZCksdGhpcy5fcG9wdXBzLnVwZGF0ZVJlZnJlc2hJbnRlcnZhbHNQb3B1cENvbnRlbnQoKX0pKS50aGVuKCgoKT0+dGhpcy51cGRhdGVNYXJrZXRCdXR0b24oKSkpLmNhdGNoKChlPT57ZSYmbHMubG9nRXJyb3IoZSl9KSl9KSl9Z2V0U2VsZWN0ZWRTeW1ib2xzKCl7cmV0dXJuIHRoaXMuX3NlbGVjdGFibGVMaXN0P3RoaXMuX3NlbGVjdGFibGVMaXN0LmdldFNlbGVjdGVkS2V5cygpOltdfWdldEZvY3VzZWRTeW1ib2woKXtpZih0aGlzLl9zZWxlY3RhYmxlTGlzdClyZXR1cm4gdGhpcy5fc2VsZWN0YWJsZUxpc3QuZ2V0Rm9jdXNlZEtleSgpfXJlZ2lzdGVySG9va3NIYW5kbGVycyhlKXt0aGlzLl9saWZlY3ljbGUucmVnaXN0ZXJIYW5kbGVycyhlKX1faXNTY3JvbGxCb3R0b20oKXtyZXR1cm4gcnMod2luZG93KS5zY3JvbGxUb3AoKStycyh3aW5kb3cpLmhlaWdodCgpPT09cnMoZG9jdW1lbnQpLmhlaWdodCgpfV9pbml0U2VsZWN0YWJsZUxpc3QoKXt0aGlzLl9zZWxlY3RhYmxlTGlzdD0oMCx5by5jcmVhdGVTZWxlY3RhYmxlTGlzdCkoe2xpc3Q6dGhpcy4kY29udGVudC5nZXQoMCksbGlzdEl0ZW1DbGFzczoidHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3ciLHNlbGVjdGVkTGlzdEl0ZW1DbGFzczoidHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3ctLXNlbGVjdGVkIixmb2N1c2VkTGlzdEl0ZW1DbGFzczoidHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3ctLWZvY3VzZWQiLG9uTmF2aWdhdGU6dGhpcy5fb25TeW1ib2xzTmF2aWdhdGUuYmluZCh0aGlzKSxvbkNvbmZpcm06dGhpcy5fb25TeW1ib2xDb25maXJtLmJpbmQodGhpcyksZ2V0Tm9kZUtleTplPT5lLmRhdGFzZXQuc3ltYm9sfSl9X2dldFRoQ29udGVudChlLHQpe3R8fCh0PUl0W2VdKTtjb25zdCBpPWtuKGUsdCk/cnMoYDxkaXYgY2xhc3M9InR2LXNjcmVlbmVyLXRhYmxlX19oZWFkLXdyYXAganMtaGVhZC13cmFwIGFwcGx5LWNvbW1vbi10b29sdGlwIGNvbW1vbi10b29sdGlwLWZpeGVkIiB0aXRsZT0iJHt0LnRpdGxlfSIgZGF0YS1maWVsZD0iJHtlfSI+YCk6cnMoYDxkaXYgY2xhc3M9InR2LXNjcmVlbmVyLXRhYmxlX19oZWFkLXdyYXAganMtaGVhZC13cmFwIiBkYXRhLWZpZWxkPSIke2V9Ij5gKTt0LmRpc2FibGVIZWFkZXJDb250cm9sJiZpLmFkZENsYXNzKCJ0di1zY3JlZW5lci10YWJsZV9faGVhZC13cmFwLS1kaXNhYmxlLWludGVyYWN0aW9uIikKO2NvbnN0IG49cnMoJzxkaXYgY2xhc3M9InR2LXNjcmVlbmVyLXRhYmxlX19oZWFkLWxlZnQganMtaGVhZC1sZWZ0Ij48L2Rpdj4nKS5hcHBlbmRUbyhpKSxyPXJzKCc8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci10YWJsZV9faGVhZC1sZWZ0LS10ZXh0Ij48L2Rpdj4nKS5hcHBlbmRUbyhuKSxzPXJzKGA8ZGl2IGNsYXNzPSJqcy1oZWFkLXRpdGxlIj4ke3Quc2hvcnRUaXRsZXx8dC50aXRsZX08L2Rpdj5gKS5hcHBlbmRUbyhyKTtlPT09dGhpcy5fbW9kZWwuc2VhcmNoRmllbGQmJm4uYWRkQ2xhc3MoIUl0LmRlc2NyaXB0aW9uLmRpc2FibGVkJiZJdC5kZXNjcmlwdGlvbi5jaGVja2VkPyJ0di1zY3JlZW5lci10YWJsZV9faGVhZC1sZWZ0LS1uYW1lLWNvbCI6dGhpcy5fb25XaWRnZXQ/InR2LXNjcmVlbmVyLXRhYmxlX19oZWFkLWxlZnQtLXdpZGdldC1uYW1lLWNvbC13aXRob3V0LWRlc2NyaXB0aW9uIjoidHYtc2NyZWVuZXItdGFibGVfX2hlYWQtbGVmdC0tbmFtZS1jb2wtd2l0aG91dC1kZXNjcmlwdGlvbiIpO2NvbnN0IGE9cnMoYDxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lci10YWJsZV9fc29ydCBqcy10YWJsZS1zb3J0ICR7dGhpcy5fbW9kZWwuX3NvcnRGaWVsZC52YWx1ZSgpPT09ZT9gdHYtc2NyZWVuZXItdGFibGVfX3NvcnQtLSR7dGhpcy5fbW9kZWwuX3NvcnREaXJlY3Rpb24udmFsdWUoKX1gOiIifSI+JHsiYXNjIj09PXRoaXMuX21vZGVsLl9zb3J0RGlyZWN0aW9uLnZhbHVlKCk/cHM6bXN9PC9zcGFuPmApO2lmKGU9PT10aGlzLl9tb2RlbC5zZWFyY2hGaWVsZCl7bGV0IGU7ZT10aGlzLl90b3RhbENvdW50P3RoaXMuX2JyaWRnZS5oaWRlX2xvYWRfbW9yZSYmdGhpcy5fYnJpZGdlLnBhZ2Vfc2l6ZSYmdGhpcy5fdG90YWxDb3VudD49dGhpcy5fYnJpZGdlLnBhZ2Vfc2l6ZT9fLnQobnVsbCx7cGx1cmFsOiJ7bnVtYmVyfSBtYXRjaGVzIixjb3VudDp0aGlzLl9icmlkZ2UucGFnZV9zaXplfSxvKDU0MDU2NSkpLmZvcm1hdCh7bnVtYmVyOnRoaXMuX2JyaWRnZS5wYWdlX3NpemV9KTpfLnQobnVsbCx7cGx1cmFsOiJ7bnVtYmVyfSBtYXRjaGVzIixjb3VudDp0aGlzLl90b3RhbENvdW50fSxvKDU0MDU2NSkpLmZvcm1hdCh7bnVtYmVyOnRoaXMuX3RvdGFsQ291bnR9KTpfLnQobnVsbCx2b2lkIDAsbygyMjgyOTEpKSxycyhgPGRpdiBjbGFzcz0ianMtZmllbGQtdG90YWwgdHYtc2NyZWVuZXItdGFibGVfX2ZpZWxkLXZhbHVlLS10b3RhbCI+JHtlfTwvZGl2PmApLmFwcGVuZFRvKG4pLHRoaXMuX29uV2lkZ2V0fHxycyh5cykuYXBwZW5kVG8obil9bGV0IGw9ITE7aWYodC5jb250cm9sJiYhdGhpcy5fYnJpZGdlLmhpZGVfY29udHJvbHMpe2NvbnN0IHQ9cnMoYDxpIGRhdGEtZmllbGQ9IiR7ZX0iIGNsYXNzPSJqcy1maWx0ZXItYnV0dG9uIHR2LXNjcmVlbmVyLXRhYmxlX19maWx0ZXItYnV0dG9uIj4ke28oNjA4MDY1KX08L2k+YCk7dC5hcHBlbmRUbyhpKTtpZih0aGlzLmZpZWxkVmFsdWVTdHJpbmcoZSkpe3QuYWRkQ2xhc3MoInR2LXNjcmVlbmVyLXRhYmxlX19maWx0ZXItYnV0dG9uLS1hY3RpdmUiKTtjb25zdCBvPXJzKGA8c3BhbiBjbGFzcz0ianMtZmllbGQtdmFsdWUgdHYtc2NyZWVuZXItdGFibGVfX2ZpZWxkLXZhbHVlIGFwcGx5LW92ZXJmbG93LXRvb2x0aXAkeyJuYW1lIj09PWU/IiB0di1zY3JlZW5lci10YWJsZV9fZmllbGQtdmFsdWUtLW5hbWUiOiIifSI+JHt0aGlzLmZpZWxkVmFsdWVTdHJpbmcoZSl9PC9zcGFuPmApO24uYXBwZW5kKG8pLGw9ITB9fXJldHVybiBhLmFwcGVuZFRvKGkpLHMuYWRkQ2xhc3MobD8idHYtc2NyZWVuZXItdGFibGVfX2hlYWQtbGVmdC0tdGl0bGUtdHdvLWxpbmVzIjoidHYtc2NyZWVuZXItdGFibGVfX2hlYWQtbGVmdC0tdGl0bGUtdGhyZWUtbGluZXMiKSxpfV91cGRhdGVUYWJsZVNvcnRGaWVsZCgpe2NvbnN0IGU9dGhpcy5fbW9kZWwuX3NvcnRGaWVsZC52YWx1ZSgpLHQ9dGhpcy5fbW9kZWwuX3NvcnREaXJlY3Rpb24udmFsdWUoKTt0aGlzLl90YWJsZS51cGRhdGVTb3J0RmllbGQoZSx0KX1zZXRGaWVsZEFjdGl2ZShlLHQsbyl7dGhpcy5fZGlhbG9nLiRmaWx0ZXJzUG9wdXAmJihvfHwobz10aGlzLl9kaWFsb2cuJGZpbHRlcnNQb3B1cC5maW5kKGAuanMtZmlsdGVyLWZpZWxkLSR7ZS5yZXBsYWNlKC9cVy9nLCIiKX1gKSksbyYmby5zaXplKCkmJm8udG9nZ2xlQ2xhc3MoInR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLS1hY3RpdmUiLHQpKX1fcmVzZXRTZWFyY2hDb3VudCgpe2NvbnN0IGU9dGhpcy5fZ2V0VGhDb250ZW50KHRoaXMuX21vZGVsLnNlYXJjaEZpZWxkKS5maW5kKCIuanMtZmllbGQtdG90YWwiKS50ZXh0KCk7dGhpcy5fdGFibGUuc2V0U2VhcmNoVGV4dChlKX1fcmVzZXRGaWVsZChlKXt0aGlzLnNldEZpZWxkQWN0aXZlKGUsdGhpcy5fbW9kZWwuZmllbGRBY3RpdmUoZSkpO2NvbnN0IHQ9dGhpcy5fZ2V0VGhDb250ZW50KGUpO2lmKCJuYW1lIj09PWUmJnRoaXMuX2xpZmVjeWNsZS5iZWZvcmVBcHBlbmRTeW1ib2xzSGVhZGVyKHQuZ2V0KDApKSx0aGlzLl90YWJsZS5zZXRUaENvbnRlbnQoZSx0KSwhdGhpcy5fZGlhbG9nLiRmaWx0ZXJzUG9wdXAmJnRoaXMuJGlucGxhY2VFZGl0b3ImJmU9PT10aGlzLl9pbnBsYWNlRWRpdG9yRmllbGQpe2NvbnN0IHQ9IXRoaXMuX2lzRmlsdGVyVmFsdWVFbXB0eShlKSxvPXRoaXMuJGlucGxhY2VFZGl0b3IuZmluZCgiLmpzLXJlc2V0IiksaT10aGlzLiRpbnBsYWNlRWRpdG9yLmZpbmQoIi5qcy13cmFwIik7dD8oby5yZW1vdmVDbGFzcygiaS1oaWRkZW4iKSxpLnJlbW92ZUNsYXNzKCJ0di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLXdpdGhvdXQtcmVzZXQiKSx0aGlzLiRpbnBsYWNlRWRpdG9yLnJlbW92ZUNsYXNzKCJ0di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fd2l0aG91dC1yZXNldCIpKTooby5hZGRDbGFzcygiaS1oaWRkZW4iKSxpLmFkZENsYXNzKCJ0di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLXdpdGhvdXQtcmVzZXQiKSwKdGhpcy4kaW5wbGFjZUVkaXRvci5hZGRDbGFzcygidHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX3dpdGhvdXQtcmVzZXQiKSl9fV9zZXR1cFN0aWNreUhlYWRlcigpe2lmKHRoaXMuX2Rpc2FibGVTdGlja3lIZWFkZXIpcmV0dXJuO2NvbnN0IGU9dGhpcy5fdGFibGUuJHN0aWNreUhlYWRlcjtlLmluc2VydEJlZm9yZSh0aGlzLiRjb250ZW50KTtjb25zdCB0PXJzKCc8c3BhbiBjbGFzcz0idHYtc2NyZWVuZXItc3RpY2t5LWhlYWRlci13cmFwcGVyX19yaWdodC1zdWJzdHJhdGUiPjwvc3Bhbj4nKS5wcmVwZW5kVG8odGhpcy4kY29udGVudCk7bGV0IG49TWF0aC5yb3VuZCh0aGlzLiR0b29sYmFyLm91dGVySGVpZ2h0KCkpO2lmKG5ldyBSZXNpemVPYnNlcnZlcigoKCk9PnRoaXMub25SZXNpemVUb29sYmFyKCkpKS5vYnNlcnZlKHRoaXMuJHRvb2xiYXJbMF0pLCgwLEFuLmlzTWFya2V0UGFnZSkodGhpcy5fYnJpZGdlKSlEbih0aGlzKTtlbHNlIGlmKHRoaXMuX2JyaWRnZS5zdGFuZGFsb25lKXtjb25zdCBvPTE0ODtsZXQgaTt0aGlzLiR0b29sYmFyLnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyLS1zdGFuZGFsb25lX3N0aWNreSIsITApLmNzcyh7dG9wOm99KSx0aGlzLl9icmlkZ2UuJGJvZHkuY3NzKHsicGFkZGluZy10b3AiOm59KSxlLmNzcyh7dG9wOm59KTtjb25zdCByPShpLHIpPT57cnx8KHI9cnMoZG9jdW1lbnQpLnNjcm9sbFRvcCgpKSx0aGlzLl9icmlkZ2UuJGJvZHkuY3NzKHsicGFkZGluZy10b3AiOm59KSx0aGlzLiR0b29sYmFyLmNzcyh7dG9wOmk/MDpvLXJ9KSxlLmNzcyh7dG9wOm59KSx0LmNzcyh7dG9wOmk/bjowfSl9LHM9ZT0+cnMoZG9jdW1lbnQpLnNjcm9sbFRvcCgpLSh0aGlzLiRjb250ZW50Lm9mZnNldCgpLnRvcC1lKT4wO3JzKGRvY3VtZW50KS5vbigic2Nyb2xsIiwoKCk9PntuPU1hdGgucm91bmQodGhpcy4kdG9vbGJhci5vdXRlckhlaWdodCgpKTtjb25zdCBvPXJzKGRvY3VtZW50KS5zY3JvbGxUb3AoKSxhPXJzKGRvY3VtZW50KS5zY3JvbGxMZWZ0KCk7bGV0IGw7dGhpcy5fb25XaWRnZXR8fChsPXMobikscihsLG8pLHRoaXMuXyRtYWluQ29udGFpbmVyLmNzcygidG9wIiwtbykpLGUudG9nZ2xlQ2xhc3MoInR2LXNjcmVlbmVyLXN0aWNreS1oZWFkZXItd3JhcHBlci0tc3RhbmRhbG9uZV9zdGlja3kiLGwpO2NvbnN0IGM9KDAsS28uaXNSdGwpKCk/ZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aC10aGlzLiRjb250ZW50WzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnJpZ2h0Oi1hO2UuY3NzKHtbKDAsS28uaXNSdGwpKCk/InJpZ2h0IjoibGVmdCJdOmw/YzoiYXV0byJ9KSx0LnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci1zdGlja3ktaGVhZGVyLXdyYXBwZXJfX3JpZ2h0LXN1YnN0cmF0ZS0tc3RhbmRhbG9uZV9zdGlja3kiLGwpLGkhPT1sJiZ0aGlzLnVwZGF0ZVRvb2xiYXJCdXR0b25zKCksaT1sLHRoaXMuJGJvdHRvbUxvYWRpbmdTY3JlZW4uY3NzKHtsZWZ0OmF9KX0pKSxycyh3aW5kb3cpLm9uKCJyZXNpemUiLCgoKT0+e3RoaXMuZml4U3RhbmRhbG9uZVdpZHRoKCksbj1NYXRoLnJvdW5kKHRoaXMuJHRvb2xiYXIub3V0ZXJIZWlnaHQoKSk7Y29uc3QgZT1zKG4pO3IoZSksdGhpcy5vblJlc2l6ZVRvb2xiYXIoKX0pKSx0aGlzLmZpeFN0YW5kYWxvbmVXaWR0aCgpLHRoaXMuX3RhYmxlLmFmdGVyRml4Q29scy5zdWJzY3JpYmUobnVsbCwoKCk9Pnt0aGlzLmZpeFN0YW5kYWxvbmVIb3Jpem9udGFsU2Nyb2xsKCl9KSl9ZWxzZXt0aGlzLl9icmlkZ2UuJGJvZHkuY3NzKHtvdmVyZmxvdzoiaGlkZGVuIn0pO2xldCBvPSExLG49ITE7dGhpcy5vblJlc2l6ZVRvb2xiYXIoKTtjb25zdCByPSgpPT57Y29uc3Qgbz1NYXRoLnJvdW5kKGUub3V0ZXJIZWlnaHQoKSk7dC5jc3Moe3RvcDotb30pLHRoaXMuJGNvbnRlbnQuY3NzKHt0b3A6b30pLHRoaXMuX3RhYmxlLiRlbGVtZW50LmNzcyh7dG9wOi1vLHBvc2l0aW9uOiJyZWxhdGl2ZSJ9KX07KFRyYWRpbmdWaWV3Lm9uQ2hhcnRQYWdlfHx0aGlzLl9vbldpZGdldCkmJnIoKSx0aGlzLiRjb250ZW50Lm9uKCJzY3JvbGwiLCgoKT0+eygwLGkuaGlkZSkoKSxBaS5Qb3B1cENvbG9yU2VsZWN0b3IuaGlkZSgpLCgwLEtvLmlzUnRsKSgpP2UuY3NzKCJyaWdodCIsLSh0aGlzLiRjb250ZW50WzBdLnNjcm9sbFdpZHRoLXRoaXMuJGNvbnRlbnRbMF0uY2xpZW50V2lkdGgtKDAsS28uZ2V0TFRSU2Nyb2xsTGVmdCkodGhpcy4kY29udGVudFswXSkpKTplLmNzcygibGVmdCIsLXRoaXMuJGNvbnRlbnQuc2Nyb2xsTGVmdCgpKSx0aGlzLl9vbldpZGdldCYmdGhpcy5fYnJpZGdlLmhpZGVfY29udHJvbHMmJmUuY3NzKHt0b3A6MH0pfSkpLFRyYWRpbmdWaWV3Lm9uQ2hhcnRQYWdlJiZycyhkb2N1bWVudCkub24oInNjcm9sbCIsKCgpPT57d2luZG93LmlubmVyV2lkdGg8PWZvLmJyZWFrcG9pbnRzLnRhYmxldCYmKG89dGhpcy4kY29udGVudC5nZXQoMCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wPDApLGUudG9nZ2xlQ2xhc3MoInR2LXNjcmVlbmVyLXN0aWNreS1oZWFkZXItd3JhcHBlci0tc3RhbmRhbG9uZV9zdGlja3kiLG8pLG4hPT1vJiZlLmNzcyh7bGVmdDpvPy10aGlzLiRjb250ZW50LnNjcm9sbExlZnQoKTowfSksbj1vfSkpfXRoaXMuX2JyaWRnZS5oaWRlX2NvbnRyb2xzfHwodGhpcy4kaGVhZGVyRmllbGRzQnV0dG9uPXJzKGA8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci1zdGlja3ktaGVhZGVyLXdyYXBwZXJfX2ZpZWxkcy1idXR0b24gYXBwbHktY29tbW9uLXRvb2x0aXAgY29tbW9uLXRvb2x0aXAtdmVydGljYWwgY29tbW9uLXRvb2x0aXAtb3RsIiB0aXRsZT0iJHtfLnQobnVsbCx2b2lkIDAsbyg1NzkwNjUpKX0iPlxuXHRcdFx0XHQke28oODkzMjUxKX1cblx0XHRcdDwvZGl2PmApLmFwcGVuZFRvKGUpLHRoaXMuJGhlYWRlckZpZWxkc0J1dHRvbi5hdHRyKHsiZGF0YS1uYW1lIjoiaGVhZGVyX2ZpZWxkcy1idXR0b24ifSksCnRoaXMuX3BvcHVwcy5zZXRGaWVsZHNQb3B1cCh0aGlzLiRoZWFkZXJGaWVsZHNCdXR0b24sInR2LXNjcmVlbmVyLXN0aWNreS1oZWFkZXItd3JhcHBlcl9fZmllbGRzLWJ1dHRvbi13cmFwIiwidHYtZHJvcGRvd25fX2JvZHktLXBvc2l0aW9uX3JpZ2h0IikpLHRoaXMuX21vZGVsLmxvYWRpbmdDb21wbGV0ZS5zdWJzY3JpYmUobnVsbCwoKCk9Pnt0LnNob3coKX0pLCEwKX1fc2hvd1NwaW5uZXIoZT10aGlzLiRsb2FkaW5nU2NyZWVuKXtlLnJlbW92ZUNsYXNzKCJqcy1oaWRkZW4iKSxjbGVhclRpbWVvdXQodGhpcy5fc3Bpbm5lclRpbWVvdXRJZCksdGhpcy5fc3Bpbm5lcnx8KHRoaXMuX3NwaW5uZXJUaW1lb3V0SWQ9c2V0VGltZW91dCgoKCk9Pnt0aGlzLl9zcGlubmVyPShuZXcgVGkuU3Bpbm5lcikuc3BpbihlLmdldCgwKSl9KSwxMDApKX1faGlkZVNwaW5uZXIoKXt0aGlzLiRsb2FkaW5nU2NyZWVuLmFkZENsYXNzKCJqcy1oaWRkZW4iKSx0aGlzLiRib3R0b21Mb2FkaW5nU2NyZWVuLmFkZENsYXNzKCJqcy1oaWRkZW4iKSxjbGVhclRpbWVvdXQodGhpcy5fc3Bpbm5lclRpbWVvdXRJZCksdGhpcy5fc3Bpbm5lciYmKHRoaXMuX3NwaW5uZXIuc3RvcCgpLGRlbGV0ZSB0aGlzLl9zcGlubmVyKX1fZ2V0UmVzaXplckJyaWRnZVdpZHRoKCl7cmV0dXJuIHdpbmRvdy53aWRnZXRiYXI/KDAsU24uZ2V0V2lkZ2V0QmFyUGFkZGluZykod2luZG93LndpZGdldGJhci5yZXNpemVyQnJpZGdlLndpZHRoLnZhbHVlKCkpOjB9Zml4U3RhbmRhbG9uZVdpZHRoKCl7aWYodGhpcy5fYnJpZGdlLnN0YW5kYWxvbmUpe3RoaXMuX2JyaWRnZS4kYm9keS5jc3MoeyJwYWRkaW5nLXJpZ2h0IjoiIiwicGFkZGluZy1sZWZ0IjoiIn0pO2NvbnN0IGU9dGhpcy5fZ2V0UmVzaXplckJyaWRnZVdpZHRoKCksdD0oMCxLby5pc1J0bCkoKT8icGFkZGluZy1sZWZ0IjoicGFkZGluZy1yaWdodCI7dGhpcy4kdG9vbGJhci53aWR0aChycyh3aW5kb3cpLndpZHRoKCktZSksdGhpcy5fJG1haW5IZWFkZXIuY3NzKHtbdF06ZX0pLHRoaXMudXBkYXRlVG9vbGJhckJ1dHRvbnMoKSx0aGlzLl90YWJsZSYmdGhpcy5fdGFibGUuXyRlbXB0eU1lc3NhZ2UmJiEoMCxBbi5pc01hcmtldFBhZ2UpKHRoaXMuX21vZGVsLl9icmlkZ2UpJiZ0aGlzLl90YWJsZS5fJGVtcHR5TWVzc2FnZS5jc3Moe3dpZHRoOmBjYWxjKDEwMCUgLSAke2V9cHhgfSksdGhpcy53aWR0aENoYW5nZS5maXJlKCl9fWZpeFN0YW5kYWxvbmVIb3Jpem9udGFsU2Nyb2xsKCl7aWYodGhpcy5fYnJpZGdlLnN0YW5kYWxvbmUpe2NvbnN0IGU9dGhpcy5fZ2V0UmVzaXplckJyaWRnZVdpZHRoKCksdD10aGlzLl90YWJsZS4kZWxlbWVudC53aWR0aCgpKygoMCxLby5pc1J0bCkoKT8wOmUpLG89cnMod2luZG93KS53aWR0aCgpPHQsaT0oMCxLby5pc1J0bCkoKT8icGFkZGluZy1sZWZ0IjoicGFkZGluZy1yaWdodCI7dGhpcy5fYnJpZGdlLiRib2R5LmNzcyh7W2ldOm8/dDoiIn0pLHRoaXMuJHRvb2xiYXIud2lkdGgocnMod2luZG93KS53aWR0aCgpLWUpLHRoaXMudXBkYXRlVG9vbGJhckJ1dHRvbnMoKX19cHJlcGFyZUxheW91dCgpe3RoaXMuX2JyaWRnZS4kYm9keS5hZGRDbGFzcygidHYtc2NyZWVuZXIiKyh0aGlzLl9icmlkZ2Uuc3RhbmRhbG9uZT8iIHR2LXNjcmVlbmVyLS1zdGFuZGFsb25lIjoiIikpLHRoaXMuJGxvYWRpbmdTY3JlZW49cnMoYDxkaXYgY2xhc3M9InR2LXNjcmVlbmVyX19sb2FkaW5nLXNjcmVlbiR7dGhpcy5fYnJpZGdlLnN0YW5kYWxvbmUmJiF0aGlzLl9icmlkZ2UudGFibGVfbG9hZGluZ19zY3JlZW4/IiB0di1zY3JlZW5lcl9fbG9hZGluZy1zY3JlZW4tLXN0YW5kYWxvbmUiOiIifSI+YCkuYXBwZW5kVG8odGhpcy5fYnJpZGdlLiRib2R5KSx0aGlzLiR0b29sYmFyPXJzKGA8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci10b29sYmFyJHt0aGlzLl9icmlkZ2Uuc3RhbmRhbG9uZT8iIHR2LXNjcmVlbmVyLXRvb2xiYXItLXN0YW5kYWxvbmUiOiIifSAke3RoaXMuX2Rpc2FibGVTdGlja3lIZWFkZXI/InR2LXNjcmVlbmVyLXRvb2xiYXItLW1hcmtldHMiOiIifSI+YCkuYXBwZW5kVG8odGhpcy5fYnJpZGdlLiRib2R5KSx0aGlzLiR0b29sYmFyLm9uKCJjb250ZXh0bWVudSIsKGZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKX0pKSxycygiLnR2LXNjcmVlbmVyX19jb250ZW50LXBhbmUiKS5yZW1vdmUoKSx0aGlzLiRjb250ZW50PXJzKCc8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lcl9fY29udGVudC1wYW5lIiB0YWJpbmRleD0iMTAwIj4nKS5kYXRhKHtsb2NhbFNjcm9sbDohdGhpcy5fYnJpZGdlLnN0YW5kYWxvbmV9KS5hcHBlbmRUbyh0aGlzLl9icmlkZ2UuJGJvZHkpLHRoaXMuJGNvbnRlbnQub24oImNvbnRleHRtZW51IiwoZnVuY3Rpb24oZSl7ZS50YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCJ0di1zY3JlZW5lcl9fY29udGVudC1wYW5lIikmJmUucHJldmVudERlZmF1bHQoKX0pKSx0aGlzLiRib3R0b21Mb2FkaW5nU2NyZWVuPXJzKCc8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lcl9fYm90dG9tLWxvYWRpbmctc2NyZWVuIj4nKS5hcHBlbmRUbyh0aGlzLl9icmlkZ2UuJGJvZHkpLHRoaXMuXyRtYWluQ29udGFpbmVyPXJzKCIudHYtc2NyZWVuZXJfX3N0YW5kYWxvbmUtbWFpbi1jb250YWluZXIiKSx0aGlzLl8kbWFpbkhlYWRlcj10aGlzLl8kbWFpbkNvbnRhaW5lci5maW5kKCIudHYtaGVhZGVyIiksdGhpcy5fb25XaWRnZXR8fCh0aGlzLiRyZWZyZXNoQnV0dG9uPXJzKGA8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24gdHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS13aXRoLW9wdGlvbnMgdHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1yZWZyZXNoIGFwcGx5LWNvbW1vbi10b29sdGlwIGNvbW1vbi10b29sdGlwLWZpeGVkIiB0aXRsZT0iJHtfLnQobnVsbCx2b2lkIDAsbygzNzM3MjIpKX0iPjwvZGl2PmApLmF0dHIoeyJkYXRhLW5hbWUiOiJzY3JlZW5lci1yZWZyZXNoIiwiZGF0YS1yb2xlIjoiYnV0dG9uIn0pLmFwcGVuZChycyhvKDg5OTcwKSkuYXR0cih7CmNsYXNzOiJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24taWNvbiB0di1zY3JlZW5lci10b29sYmFyX19idXR0b24taWNvbi0tc3RhbmRhbG9uZS1yZWZyZXNoIix3aWR0aDoiMTgiLGhlaWdodDoiMTgifSkpLmFwcGVuZFRvKHRoaXMuJHRvb2xiYXIpLHRoaXMuJHJlZnJlc2hDb3VudGVyPXJzKCc8c3BhbiBjbGFzcz0idHYtc2NyZWVuZXItdG9vbGJhcl9fcmVmcmVzaC1jb3VudGVyIj4nKS50ZXh0KCIwMDowMCIpLmFwcGVuZFRvKHRoaXMuJHJlZnJlc2hCdXR0b24pLHRoaXMuJHJlZnJlc2hJbnRlcnZhbEJ1dHRvbj1ycyhgPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uIHR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tb3B0aW9ucyB0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXNwYWNlX3JpZ2h0IGFwcGx5LWNvbW1vbi10b29sdGlwIGNvbW1vbi10b29sdGlwLWZpeGVkIiB0aXRsZT0iJHtfLnQobnVsbCx2b2lkIDAsbyg3ODI2MzQpKX0iPjwvZGl2PmApLmF0dHIoeyJkYXRhLW5hbWUiOiJzY3JlZW5lci1yZWZyZXNoLWludGVydmFsIiwiZGF0YS1yb2xlIjoiYnV0dG9uIn0pLmFwcGVuZChycyhvKDg5MzI1MSkpLmF0dHIoe3dpZHRoOjMsaGVpZ2h0OjEzLGNsYXNzOiJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24taWNvbiIsc3R5bGU6InRvcDogLTFweCJ9KSkuYXBwZW5kVG8odGhpcy4kdG9vbGJhcikpO2NvbnN0IGU9dGhpcy5fbW9kZWwuY3VycmVudEZpZWxkU2V0SWQoKSx0PXRoaXMuX21vZGVsLmdldEZpZWxkU2V0QnlJZChlKTt0aGlzLiRmaWVsZFNldHNCdXR0b249cnMoYDxkaXYgY2xhc3M9InR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbiB0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLWFuaW1hdGVkXG5cdFx0XHR0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXdpdGgtb3B0aW9ucyB0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLWFycm93LWRvd25cblx0XHRcdHR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0td2l0aC1zdGF0ZSBhcHBseS1jb21tb24tdG9vbHRpcCBjb21tb24tdG9vbHRpcC1maXhlZCBqcy1maWVsZC1zZXRzIiB0aXRsZT0iICR7Xy50KG51bGwsdm9pZCAwLG8oMzMyNjA5KSl9Ij5cblx0XHRcdFx0JHt0P3QudGl0bGU6IiJ9XG5cdFx0XHQ8L2Rpdj5gKS5hdHRyKHsiZGF0YS1uYW1lIjoic2NyZWVuZXItZmllbGQtc2V0cyIsImRhdGEtcm9sZSI6ImJ1dHRvbiIsImRhdGEtZmllbGQtc2V0IjplfSkuYXBwZW5kVG8odGhpcy4kdG9vbGJhciksdGhpcy4kZmllbGRzQnV0dG9uPXJzKGA8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24gdHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1vcHRpb25zXG5cdFx0XHR0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXNxdWFyZSBhcHBseS1jb21tb24tdG9vbHRpcCBjb21tb24tdG9vbHRpcC1maXhlZFxuXHRcdFx0dHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1zcGFjZV9yaWdodCIgdGl0bGU9IiAke18udChudWxsLHZvaWQgMCxvKDU3OTA2NSkpfSI+YCkuYXR0cih7ImRhdGEtbmFtZSI6InNjcmVlbmVyLWZpZWxkcyIsImRhdGEtcm9sZSI6ImJ1dHRvbiJ9KS5hcHBlbmQocnMobyg3OTAwODApKS5hdHRyKHtjbGFzczoidHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLWljb24ifSkpLmFwcGVuZFRvKHRoaXMuJHRvb2xiYXIpLHRoaXMuJGZhdm9yaXRlc0Jhcj1ycygnPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdG9vbGJhcl9fZmF2b3JpdGVzIj4nKS5hcHBlbmRUbyh0aGlzLiR0b29sYmFyKSx0aGlzLiRwZXJpb2RQaWNrZXI9cnMoJzxkaXYgY2xhc3M9InR2LXNjcmVlbmVyLXRvb2xiYXJfX3BlcmlvZC1waWNrZXIiPicpLmFwcGVuZFRvKHRoaXMuJHRvb2xiYXIpO2NvbnN0IGk9ZnNbdGhpcy5fbW9kZWwuc2NyZWVuZXJfdHlwZV07aSYmKHRoaXMuX2NyZWF0ZVN3aXRjaChpKSx0aGlzLiR0b29sYmFyLmFkZENsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyLS1vbmUtbGluZSIpKTtjb25zdCBuPXRoaXMuX21vZGVsLmN1cnJlbnRGaWx0ZXJTZXRJZCgpLHI9dGhpcy5fbW9kZWwuZ2V0RmlsdGVyU2V0QnlJZChuKTt0aGlzLiRmaWx0ZXJTZXRzQnV0dG9uPXJzKGA8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24gdHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS13aXRoLW9wdGlvbnNcblx0XHRcdHR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tYXJyb3ctZG93biB0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXdpdGgtc3RhdGVcblx0XHRcdGFwcGx5LWNvbW1vbi10b29sdGlwIGNvbW1vbi10b29sdGlwLWZpeGVkIGpzLWZpbHRlci1zZXRzIiB0aXRsZT0iJHtfLnQobnVsbCx2b2lkIDAsbyg1NzAzNDMpKX0iPmApLmF0dHIoeyJkYXRhLW5hbWUiOiJzY3JlZW5lci1maWx0ZXItc2V0cyIsImRhdGEtcm9sZSI6ImJ1dHRvbiIsImRhdGEtZmlsdGVyLXNldCI6bn0pLmFwcGVuZFRvKHRoaXMuJHRvb2xiYXIpLHRoaXMuJGZpbHRlclNldHNCdXR0b25UaXRsZT1ycyhgPHNwYW4+JHtyP3IudGl0bGU6IiJ9PC9zcGFuPmApLmFwcGVuZFRvKHRoaXMuJGZpbHRlclNldHNCdXR0b24pLHRoaXMuJGZpbHRlcnNCdXR0b249cnMoYDxkaXYgY2xhc3M9InR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbiB0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLW9wdGlvbnMgdHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1maWx0ZXJzIGFwcGx5LWNvbW1vbi10b29sdGlwIGktZGlzYWJsZWQgY29tbW9uLXRvb2x0aXAtZml4ZWQiIHRpdGxlPSIke18udChudWxsLHZvaWQgMCxvKDEwMzQ4NikpfSI+JHtfLnQobnVsbCx2b2lkIDAsbygxNDE3MjcpKX08L2Rpdj5gKS5hdHRyKHsiZGF0YS1uYW1lIjoic2NyZWVuZXItZmlsdGVyIiwiZGF0YS1yb2xlIjoiYnV0dG9uIn0pLmFwcGVuZChycyhvKDYwODA2NSkpLmF0dHIoe2NsYXNzOiJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24taWNvbiB0di1zY3JlZW5lci10b29sYmFyX19idXR0b24taWNvbi0tZmlsdGVycyJ9KSkuYXBwZW5kVG8odGhpcy4kdG9vbGJhciksCnRoaXMuX21vZGVsLmxvYWRpbmdDb21wbGV0ZS5zdWJzY3JpYmUobnVsbCwoKCk9Pnt0aGlzLiRmaWx0ZXJzQnV0dG9uLnJlbW92ZUNsYXNzKCJpLWRpc2FibGVkIil9KSwhMCk7Y29uc3Qgcz1ycygnPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdG9vbGJhcl9fZmlsdGVyLWNvdW50LXdyYXAiPicpLm9uKCJjbGljayIsKCgpPT57dGhpcy5zaG93QWN0aXZlRmlsdGVycygpLCgwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBwaSgiZmlsdGVyX2NvdW50ZXJfYnV0dG9uIix0aGlzLl9nZXRGaWx0ZXJzQ291bnRlclZhbHVlKCkpKX0pKS5hcHBlbmRUbyh0aGlzLiR0b29sYmFyKTtpZih0aGlzLiRmaWx0ZXJDb3VudD1ycyhgPHNwYW4gY2xhc3M9InR2LXNjcmVlbmVyLXRvb2xiYXJfX2ZpbHRlci1jb3VudCBqcy1oaWRkZW4gYXBwbHktY29tbW9uLXRvb2x0aXAgY29tbW9uLXRvb2x0aXAtdmVydGljYWwgY29tbW9uLXRvb2x0aXAtb3RsIiB0aXRsZT0iJHtfLnQobnVsbCx2b2lkIDAsbygxNTc1MzgpKX0iPmApLmF0dHIoeyJkYXRhLW5hbWUiOiJzY3JlZW5lci1maWx0ZXItY291bnQiLCJkYXRhLXJvbGUiOiJidXR0b24ifSkuYXBwZW5kVG8ocyksdGhpcy5fdGFibGUuJGVsZW1lbnQuYXBwZW5kVG8odGhpcy4kY29udGVudCksdGhpcy5pbml0SGFuZGxlcnMoKSx0aGlzLl9icmlkZ2Uuc2VsZWN0aW9uX2Rpc2FibGVkfHx0aGlzLl9pbml0U2VsZWN0YWJsZUxpc3QoKSx0aGlzLl9vbldpZGdldCYmdGhpcy5fYnJpZGdlLmhpZGVfY29udHJvbHMmJih0aGlzLl9jb250ZW50UGFkZGluZz10aGlzLiRjb250ZW50LmlubmVySGVpZ2h0KCktdGhpcy4kY29udGVudC5oZWlnaHQoKSx0aGlzLiRjb250ZW50LmNzcygiaGVpZ2h0IixgY2FsYygxMDAlIC0gJHt0aGlzLl9jb250ZW50UGFkZGluZ31weClgKSx0aGlzLiR0b29sYmFyLmhpZGUoKSksdGhpcy5fYnJpZGdlLmhpZGVfY29udHJvbHMpW3RoaXMuJHJlZnJlc2hCdXR0b24sdGhpcy4kcmVmcmVzaEludGVydmFsQnV0dG9uLHRoaXMuJGZpZWxkU2V0c0J1dHRvbix0aGlzLiRmaWVsZHNCdXR0b24sdGhpcy4kZmlsdGVyU2V0c0J1dHRvbix0aGlzLiRmaWx0ZXJzQnV0dG9uLHRoaXMuJGZpbHRlckNvdW50XS5mb3JFYWNoKChlPT57ZSYmZS5oaWRlKCl9KSksdGhpcy5fb25XaWRnZXQmJih0aGlzLl9icmlkZ2UuJGJvZHkuYWRkQ2xhc3MoInR2LXNjcmVlbmVyLS1oaWRkZW4tdG9vbGJhciIpLHRoaXMuJGxvYWRpbmdTY3JlZW4uYWRkQ2xhc3MoInR2LXNjcmVlbmVyX19sb2FkaW5nLXNjcmVlbi0taGlkZGVuLXRvb2xiYXIiKSk7ZWxzZXt0aGlzLl9vbldpZGdldHx8KHRoaXMuXyRzZWxlY3RJbnRlcnZhbEJ1dHRvbj10aGlzLmFkZEludGVydmFsU2VsZWN0KHskYmVmb3JlOnRoaXMuJGZpbHRlclNldHNCdXR0b259KS5hdHRyKHsiZGF0YS1uYW1lIjoic2NyZWVuZXItdGltZS1pbnRlcnZhbCIsImRhdGEtcm9sZSI6ImJ1dHRvbiJ9KSk7Y29uc3QgZT10aGlzLmFkZE1hcmtldFNlbGVjdCh7JGJlZm9yZTp0aGlzLiRmaWx0ZXJTZXRzQnV0dG9ufSksdD1ycygnPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdG9vbGJhcl9fbWFya2V0LWNvdW50LXdyYXAiPicpLm9uKCJjbGljayIsKCgpPT57dGhpcy5fc2hvd01hcmtldHNEaWFsb2coKX0pKTt0aGlzLiRtYXJrZXRDb3VudD1ycyhgPHNwYW4gY2xhc3M9InR2LXNjcmVlbmVyLXRvb2xiYXJfX2ZpbHRlci1jb3VudCB0di1zY3JlZW5lci10b29sYmFyX19maWx0ZXItY291bnQtLW1hcmtldC1jb3VudCBqcy1oaWRkZW4gYXBwbHktY29tbW9uLXRvb2x0aXAgY29tbW9uLXRvb2x0aXAtdmVydGljYWwgY29tbW9uLXRvb2x0aXAtb3RsIiB0aXRsZT0iJHtfLnQobnVsbCx2b2lkIDAsbygzOTQwMzkpKX0iPmApLmF0dHIoeyJkYXRhLW5hbWUiOiJzY3JlZW5lci1tYXJrZXQtY291bnQiLCJkYXRhLXJvbGUiOiJidXR0b24ifSkuYXBwZW5kVG8odCkscnMoZSkuYWZ0ZXIodCksdGhpcy5fJGdyb3VwU2VsZWN0QnV0dG9uPXRoaXMuYWRkR3JvdXBTZWxlY3QoeyRiZWZvcmU6dGhpcy4kZmlsdGVyU2V0c0J1dHRvbn0pLHRoaXMuX3BvcHVwcy5zZXRGaWVsZHNQb3B1cCh0aGlzLiRmaWVsZHNCdXR0b24sInR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi13cmFwIiksdGhpcy5fcG9wdXBzLnNldEZpZWxkU2V0c1BvcHVwKHRoaXMuJGZpZWxkU2V0c0J1dHRvbiksdGhpcy5fcG9wdXBzLnNldEZpbHRlclNldHNQb3B1cCh0aGlzLiRmaWx0ZXJTZXRzQnV0dG9uKSx0aGlzLl9vbldpZGdldHx8dGhpcy5fcG9wdXBzLnNldFJlZnJlc2hJbnRlcnZhbHNQb3B1cCh0aGlzLiRyZWZyZXNoSW50ZXJ2YWxCdXR0b24pfXZhciBhOyhhPXRoaXMuX21vZGVsLnRpbWV6b25lKSYmYSE9PXhlJiYoeGU9YSksdGhpcy5fcGVyaW9kUGlja2VyPyhXdCgpLHRoaXMuX3NlbGVjdGVkUGVyaW9kSWQ9InRvZGF5Iix0aGlzLl9zZXROZXdFYXJuaW5nc1BlcmlvZCh0aGlzLl9zZWxlY3RlZFBlcmlvZElkKSx0aGlzLnVwZGF0ZVBlcmlvZFBpY2tlcigpLHRoaXMuJGZhdm9yaXRlc0Jhci5oaWRlKCksSXQuZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUub25GaWx0ZXJDaGFuZ2U9ZT0+e2NvbnN0IHQ9dGhpcy5fcGVyaW9kUGlja2VyQnV0dG9ucy5maW5kKCh0PT50LnRpdGxlPT09ZSkpO3RoaXMuY2hhbmdlRWFybmluZ3NQZXJpb2QodD90LmlkOiIiLCEwKX0pOnRoaXMuJHBlcmlvZFBpY2tlci5oaWRlKCksdGhpcy5fc2hvd1NwaW5uZXIoKSx0aGlzLnVwZGF0ZVRvb2xiYXJCdXR0b25zKCksdGhpcy5vblJlc2l6ZVRvb2xiYXIoKX1vblJlc2l6ZVRvb2xiYXIoKXtpZih0aGlzLl9kaXNhYmxlU3RpY2t5SGVhZGVyKXJldHVybjtpZih0aGlzLl90YWJsZS4kc3RpY2t5SGVhZGVyLnBvc2l0aW9uKCkudG9wPDApcmV0dXJuO2NvbnN0IGU9TWF0aC5yb3VuZCh0aGlzLiR0b29sYmFyLm91dGVySGVpZ2h0KCkpOygwLEFuLmlzRXh0ZXJuYWxXaWRnZXQpKHRoaXMuX2JyaWRnZSkmJnRoaXMuX2JyaWRnZS5oaWRlX2NvbnRyb2xzP3RoaXMuX3RhYmxlLiRzdGlja3lIZWFkZXIuY3NzKHt0b3A6MH0pOnRoaXMuX3RhYmxlLiRzdGlja3lIZWFkZXIuY3NzKHt0b3A6ZX0pfQpzaG93TWFpbnRlbmFuY2UoKXt0aGlzLl9icmlkZ2UuJGJvZHkuaHRtbChgPGRpdiBjbGFzcz0idHYtc2NyZWVuZXJfX21haW50ZW5hbmNlIj4ke18udChudWxsLHZvaWQgMCxvKDMzMjg1NSkpfTwvZGl2PmApfWluaXRIYW5kbGVycygpe3RoaXMuJHRvb2xiYXIub24oImhvdmVyIix0aGlzLmFkanVzdFRvb2xiYXJXaWR0aC5iaW5kKHRoaXMpKSx0aGlzLiRmaWVsZFNldHNCdXR0b24ub24oInRyYW5zaXRpb25lbmQiLHRoaXMudXBkYXRlVG9vbGJhckJ1dHRvbnMuYmluZCh0aGlzKSk7Y29uc3QgZT1lPT57Y29uc3QgdD1lLmRhdGEoImZpZWxkIik7aWYoITE9PT1JdFt0XS5zb3J0YWJsZUNvbHVtbilyZXR1cm47Y29uc3Qgbz10aGlzLl9tb2RlbC5fc29ydEZpZWxkLnZhbHVlKCksaT10aGlzLl9tb2RlbC5fc29ydERpcmVjdGlvbi52YWx1ZSgpO0l0W3RdLmRpc2FibGVIZWFkZXJDb250cm9sfHwobz09PXQmJnRoaXMuX21vZGVsLl9zb3J0RGlyZWN0aW9uLnNldFZhbHVlKCJhc2MiPT09aT8iZGVzYyI6ImFzYyIpLHRoaXMuX21vZGVsLl9zb3J0RmllbGQuc2V0VmFsdWUodCksdGhpcy5fbW9kZWwudXBkYXRlKCkpfTtpZih3by5tb2JpbGV0b3VjaCl7KG5ldyBGaSkubG9hZCgpLnRoZW4oKHQ9Pntjb25zdCBvPW5ldyB0KHJzKCIudHYtc2NyZWVuZXIiKVswXSx7dG91Y2hBY3Rpb246ImF1dG8ifSk7by5nZXQoInByZXNzIikuc2V0KHt0aW1lOjUwMH0pLG8ub24oInByZXNzIiwoZT0+e2NvbnN0IHQ9cnMoZS50YXJnZXQpLmNsb3Nlc3QoIi5qcy1oZWFkLXdyYXAiKTtpZih0Lmxlbmd0aCl7R3Ioe3ZpZXc6dGhpcyxmaWVsZEtleTpycyh0KS5kYXRhKCJmaWVsZCIpLGU6ZS5zcmNFdmVudH0pfWUucHJldmVudERlZmF1bHQoKX0pKSxvLm9uKCJ0YXAiLCh0PT57aWYocnModC50YXJnZXQpLmNsb3Nlc3QoIi5qcy1zZWFyY2gtaW5wdXQiKS5sZW5ndGgpcmV0dXJuO2NvbnN0IG89cnModC50YXJnZXQpLmNsb3Nlc3QoIi5qcy1oZWFkLXdyYXAiKTtvLmxlbmd0aCYmZShvKX0pKX0pKX1lbHNlIHJzKCIudHYtc2NyZWVuZXIiKS5vbigiY2xpY2siLCIuanMtaGVhZC13cmFwIiwodD0+e2NvbnN0IG89cnModC5jdXJyZW50VGFyZ2V0KTtlKG8pLHQuc3RvcFByb3BhZ2F0aW9uKCl9KSkub24oImNvbnRleHRtZW51IiwiLmpzLWhlYWQtd3JhcCIsKGU9PntHcih7dmlldzp0aGlzLGZpZWxkS2V5OnJzKGUuY3VycmVudFRhcmdldCkuZGF0YSgiZmllbGQiKSxlfSksZS5wcmV2ZW50RGVmYXVsdCgpfSkpLHJzKCIudHYtc2NyZWVuZXIiKS5vbigiY2xpY2siLCIuanMtZmlsdGVyLWJ1dHRvbiIsKGU9Pntjb25zdCB0PXJzKGUuY3VycmVudFRhcmdldCkuY2xvc2VzdCgidGgiKSxvPXQuZGF0YSgiZmllbGQiKTt0aGlzLnNob3dJbnBsYWNlRWRpdG9yKG8sdCksZS5zdG9wUHJvcGFnYXRpb24oKX0pKTtycygiLnR2LXNjcmVlbmVyIikub24oImNsaWNrIiwiLmpzLXNlYXJjaC1pbnB1dCIsKGU9PntlLnN0b3BQcm9wYWdhdGlvbigpfSkpLHJzKCIudHYtc2NyZWVuZXIiKS5vbigiY2xpY2siLCIuanMtaW5wdXQtcmVzZXQiLChlPT57cnMoZS5jdXJyZW50VGFyZ2V0KS5hZGRDbGFzcygiaS1oaWRkZW4iKSxycygiLnR2LXNjcmVlbmVyIikuZmluZCgiLmpzLXNlYXJjaC1pbnB1dCIpLnZhbCgiIiksSXRbdGhpcy5fbW9kZWwuc2VhcmNoRmllbGRdLnNlYXJjaFZhbHVlPSIiLHRoaXMuX21vZGVsLnVwZGF0ZSgpLGUuc3RvcFByb3BhZ2F0aW9uKCl9KSkscnMoIi50di1zY3JlZW5lciIpLm9uKCJjbGljayIsIi5qcy1maWx0ZXItYnV0dG9uIiwoZT0+e2NvbnN0IHQ9cnMoZS5jdXJyZW50VGFyZ2V0KS5jbG9zZXN0KCJ0aCIpLG89dC5kYXRhKCJmaWVsZCIpO3RoaXMuc2hvd0lucGxhY2VFZGl0b3Iobyx0KSxlLnN0b3BQcm9wYWdhdGlvbigpfSkpLHRoaXMuX2JyaWRnZS50YWJsZV9jb250ZXh0X21lbnVfZGlzYWJsZWR8fHRoaXMuX2luaXRUYWJsZUNvbnRleHRNZW51KCksdGhpcy4kY29udGVudC5vbigic2Nyb2xsdG9lbmQiLChlPT57dGhpcy5fbW9kZWwubG9hZGluZ3x8dGhpcy5fbW9kZWwudXBkYXRlKG51bGwsITApfSkpLHRoaXMuJHJlZnJlc2hCdXR0b24mJnRoaXMuJHJlZnJlc2hCdXR0b24uY2xpY2soKGU9PnsoMCxmbi5ydW5PclNpZ25JbikoKCgpPT57dGhpcy5fbW9kZWwubG9hZGluZ3x8dGhpcy5yZWZyZXNoKCksKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IHNpKX0pLHtzb3VyY2U6IlNjcmVlbmVyIHJlZnJlc2ggYnV0dG9uIn0pfSkpLHRoaXMuJGZpbHRlcnNCdXR0b24uY2xpY2soKCgpPT57dGhpcy5fZGlhbG9nLnNob3dGaWx0ZXJzRGlhbG9nKCksKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IHBpKCJmaWx0ZXJfYnV0dG9uIix0aGlzLl9nZXRGaWx0ZXJzQ291bnRlclZhbHVlKCkpKX0pKSxzcy5wcm9TeW1ib2wuc3Vic2NyaWJlKChlPT57Y29uc3QgdD10aGlzLiRjb250ZW50LmZpbmQoYFtkYXRhLXN5bWJvbD0iJHtlfSJdYCkuZ2V0KDApO3RoaXMuX3NldEFjdGl2ZUVsZW0odCksdGhpcy5fc2VsZWN0YWJsZUxpc3QmJih0P3RoaXMuX3NlbGVjdGFibGVMaXN0LmZvY3VzSXRlbSh0KTp0aGlzLl9zZWxlY3RhYmxlTGlzdC5jbGVhcigpKX0pKSx0aGlzLiRmaWVsZFNldHNCdXR0b24ub24oImNsaWNrIiwoKCk9Pnt0aGlzLl9sYXN0U2V0SWQ9bnVsbH0pKSx0aGlzLiR0b29sYmFyLm9uKCJjbGljayIsIi5qcy1mYXZvcml0ZS1pdGVtIiwoZT0+e2NvbnN0IHQ9cnMoZS5jdXJyZW50VGFyZ2V0KS5hdHRyKCJkYXRhLXNldCIpO3RoaXMuX2xhc3RTZXRJZCE9PXQmJih0aGlzLl9tb2RlbC5wcmV2ZW50UHJldlNjYW5SZXF1ZXN0KCksdGhpcy51cGRhdGVTZXRJZCh0LCExLHRoaXMuX2JyaWRnZS5oaWRlX2NvbnRyb2xzKSksKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IFpvKCJjb2x1bW5zZXRfZmF2b3JpdGVzX3BpY2tlciIsdCkpfSkpLHRoaXMuJHRvb2xiYXIub24oImNsaWNrIiwiLmpzLXBlcmlvZC1waWNrZXItaXRlbSIsKGU9Pntjb25zdCB0PXJzKGUuY3VycmVudFRhcmdldCkuYXR0cigiZGF0YS1wZXJpb2QiKTt0aGlzLmNoYW5nZUVhcm5pbmdzUGVyaW9kKHQpfSkpLApycyh3aW5kb3cpLnJlc2l6ZSgoZT0+dGhpcy51cGRhdGVUb29sYmFyQnV0dG9ucygpKSksdGhpcy5fYnJpZGdlLndpZHRoJiZ0aGlzLl9icmlkZ2Uud2lkdGguc3Vic2NyaWJlKCgoKT0+dGhpcy51cGRhdGVUb29sYmFyQnV0dG9ucygpKSksdGhpcy5fYnJpZGdlLnZpc2libGUmJnRoaXMuX2JyaWRnZS52aXNpYmxlLnN1YnNjcmliZSgoZT0+e2UmJih0aGlzLnVwZGF0ZVRvb2xiYXJCdXR0b25zKCksdGhpcy5hZGp1c3RUb29sYmFyV2lkdGgoKSl9KSksdGhpcy51cGRhdGVGYXZvcml0ZXNUb29sYmFyKCl9X2luaXRUYWJsZUNvbnRleHRNZW51KCl7dGhpcy4kY29udGVudC5vbigiY29udGV4dG1lbnUiLCIudHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3ciLChlPT57Y29uc3QgdD1ycyhlLmN1cnJlbnRUYXJnZXQpLmRhdGEoInN5bWJvbCIpO3RoaXMuX3NlbGVjdGFibGVMaXN0JiZ0aGlzLl9zZWxlY3RhYmxlTGlzdC5mb2N1c0l0ZW0oZS5jdXJyZW50VGFyZ2V0KSxmdW5jdGlvbihlKXtjb25zdCB0PSgwLFZuLnRpY2tlcikoZS5zeW1ib2wpO3puKHsuLi5lLHNob3J0TmFtZTp0fSxRbixxbi5UYWJsZSl9KHt2aWV3OnRoaXMsc3ltYm9sOnQsZX0pLGUucHJldmVudERlZmF1bHQoKX0pKX1fb25TeW1ib2xzTmF2aWdhdGUoZSl7Y29uc3QgdD1lLmN1cnNvcjtpZih0KXtpZihUcmFkaW5nVmlldy5vbkNoYXJ0UGFnZSYmdGhpcy5fc2V0QWN0aXZlRWxlbSh0KSxbInNlY3RvciIsImluZHVzdHJ5Il0uaW5jbHVkZXModGhpcy5fbW9kZWwuc2NyZWVuZXJfdHlwZSkpcmV0dXJuO2NvbnN0IGU9dC5kYXRhc2V0LnN5bWJvbDt0aGlzLl9jaGFuZ2VTeW1ib2woZSl9fV9jaGFuZ2VTeW1ib2woZSl7Y29uc3QgdD1zcy5wcmV2ZW50RmVlZEJ5U3ltYm9sO3NzLnNldFByZXZlbnRGZWVkQnlTeW1ib2woITApLHNzLnNldFN5bWJvbEFuZExvZ0luaXRpYXRvcihlLCJzY3JlZW5lciIpLHNzLnNldFByZXZlbnRGZWVkQnlTeW1ib2wodCksdGhpcy5fbW9kZWwudHJhY2tFdmVudCgiQ2hhbmdlIHN5bWJvbCBmcm9tIHRhYmxlIil9X3NldEFjdGl2ZUVsZW0oZSl7dGhpcy5fYWN0aXZlRWxlbSYmdGhpcy5fYWN0aXZlRWxlbS5jbGFzc0xpc3QucmVtb3ZlKCJ0di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdy0tYWN0aXZlIiksZT8oZS5jbGFzc0xpc3QuYWRkKCJ0di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdy0tYWN0aXZlIiksdGhpcy5fYWN0aXZlRWxlbT1lKTp0aGlzLl9hY3RpdmVFbGVtPW51bGx9X29uU3ltYm9sQ29uZmlybShlKXtlLml0ZW1zLmZvckVhY2goKHQ9Pntjb25zdCBvPXQuZGF0YXNldC5zeW1ib2w7byYmdGhpcy5fbGlmZWN5Y2xlLmFmdGVyU3ltYm9sQ29uZmlybShvLGUuYWN0aW9uKX0pKX1jaGFuZ2VFYXJuaW5nc1BlcmlvZChlLHQ9ITEpe2lmKHRoaXMuX3NlbGVjdGVkUGVyaW9kSWQ9PT1lKXJldHVybjt0aGlzLl9zZWxlY3RlZFBlcmlvZElkPWUsdGhpcy51cGRhdGVQZXJpb2RQaWNrZXIoKSx0aGlzLl9tb2RlbC5hcHBseUZpZWxkU2V0Q29udGVudChtKTsidG9tb3Jyb3ciPT09ZXx8Im5leHRfd2VlayI9PT1lPyhJdC5lYXJuaW5nc19wZXJfc2hhcmVfZnEubXV0YXRlRGlzcGxheVZhbHVlPSgpPT5xdCxJdC5lcHNfc3VycHJpc2VfZnEubXV0YXRlRGlzcGxheVZhbHVlPSgpPT5xdCxJdC5lcHNfc3VycHJpc2VfcGVyY2VudF9mcS5tdXRhdGVEaXNwbGF5VmFsdWU9KCk9PnF0LEl0LnJldmVudWVfZnEubXV0YXRlRGlzcGxheVZhbHVlPSgpPT5xdCk6VXQoKSx0fHx0aGlzLl9zZXROZXdFYXJuaW5nc1BlcmlvZChlLCgoKT0+e3RoaXMuX3Jlc2V0RmllbGQoImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlIiksdGhpcy5fbW9kZWwucHJldmVudFByZXZTY2FuUmVxdWVzdCgpLHRoaXMuX21vZGVsLnVwZGF0ZSgpfSkpfV9zZXROZXdFYXJuaW5nc1BlcmlvZChlLHQ9KCk9Pnt9KXtjb25zdCBvPUl0LmVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlLnNvdXJjZVJhbmdlLmZpbmQoKHQ9PnQua2V5PT09ZSkpO28mJihJdC5lYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZS52YWx1ZT1vLm5hbWUsdCgpKX1nZXQgdG90YWxDb3VudCgpe3JldHVybiB0aGlzLl90b3RhbENvdW50fWdldCBpdGVtc0NvdW50KCl7cmV0dXJuIHRoaXMuX2l0ZW1zQ291bnR9c2V0IGl0ZW1zQ291bnQoZSl7dGhpcy5faXRlbXNDb3VudD0rZX1zZXQgbGFzdFNldElkKGUpe3RoaXMuX2xhc3RTZXRJZD1lfWdldCBwb3B1cHMoKXtyZXR1cm4gdGhpcy5fcG9wdXBzfWlzRW5kUmVhY2hlZCgpe3JldHVybiAwPT09dGhpcy5fZGF0YS5sZW5ndGh8fCJudW1iZXIiPT10eXBlb2YgdGhpcy5fdG90YWxDb3VudCYmdGhpcy5fZGF0YS5sZW5ndGg+PXRoaXMuX3RvdGFsQ291bnR9ZGlzcGxheShlLHQsbyl7aWYodGhpcy5faGlkZVNwaW5uZXIoKSx0aGlzLl9zZXRGaWx0ZXJzQ291bnQoKSx0aGlzLl9zZXRNYXJrZXRzQ291bnQoKSx0aGlzLiRmaWx0ZXJTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXVuc2F2ZWQiLHRoaXMuX21vZGVsLmlzRmlsdGVyU2V0Q2hhbmdlZCgpKSwhZXx8ZS5lcnJvcnx8IWUuZGF0YSYmIWUuc3ltYm9scykiYWJvcnQiIT09byYmKHRoaXMucmVzZXRJdGVtcygpLHRoaXMuX3RhYmxlLnNldENvbHVtbnNNYXAodCksdGhpcy5fdGFibGUudXBkYXRlKFtdKSx0aGlzLl9yZXNldEZpZWxkKCJuYW1lIiksImVycm9yIj09PW8/bHMubG9nRXJyb3IoZS5yZXNwb25zZVRleHR8fG8pOmUmJmUuZXJyb3ImJmxzLmxvZ0Vycm9yKGUuZXJyb3IpKTtlbHNle2xldCBvPWUuZGF0YXx8ZS5zeW1ib2xzO2ZvcihsZXQgZT0wO2U8by5sZW5ndGg7KytlKW9bZV0uZiYmKG9bZV0uZD1vW2VdLmYpO2lmKHZvaWQgMD09PXRoaXMuX3RvdGFsQ291bnQpdGhpcy5fYnJpZGdlLnRhYmxlX3N0eWxlfHx0aGlzLmZpeFN0YW5kYWxvbmVXaWR0aCgpLHRoaXMuX3RhYmxlLnNldENvbHVtbnNNYXAodCksdGhpcy5fdGFibGUudXBkYXRlKG8pLHRoaXMuX2RhdGE9bztlbHNle2NvbnN0IGU9dGhpcy5fZ2V0SW52YWxpZGF0ZWRGcm9tKG8pOzA9PT1lPyh0aGlzLl9kYXRhPW8sCnRoaXMuX3RhYmxlLnNldENvbHVtbnNNYXAodCksdGhpcy5fdGFibGUudXBkYXRlKG8pKTooZT4wPyhvPW8uc2xpY2UoZSksdGhpcy5fZGF0YT10aGlzLl9kYXRhLnNsaWNlKDAsZSksdGhpcy5fdGFibGUuY2xlYXJEYXRhKGUpKTpvPW8uc2xpY2UodGhpcy5fZGF0YS5sZW5ndGgpLHRoaXMuX2RhdGE9dGhpcy5fZGF0YS5jb25jYXQobyksdGhpcy5fdGFibGUuc2V0Q29sdW1uc01hcCh0KSx0aGlzLl90YWJsZS5hcHBlbmQobykpfXNldFRpbWVvdXQoKCgpPT50aGlzLmhpZ2hsaWdodENoYW5nZXMoKSksMCksdGhpcy5fdG90YWxDb3VudD1lLnRvdGFsQ291bnQsdGhpcy5fcmVzZXRTZWFyY2hDb3VudCgpLHRoaXMuX21vZGVsLl9pbml0aWFsU29ydEZpZWxkJiYodGhpcy5fbW9kZWwuX3NvcnRGaWVsZC5zZXRWYWx1ZSh0aGlzLl9tb2RlbC5faW5pdGlhbFNvcnRGaWVsZCwhMCksdGhpcy5fbW9kZWwuX3NvcnREaXJlY3Rpb24uc2V0VmFsdWUodGhpcy5fbW9kZWwuX2luaXRpYWxTb3J0RGlyZWN0aW9uLCEwKSxkZWxldGUgdGhpcy5fbW9kZWwuX2luaXRpYWxTb3J0RmllbGQsZGVsZXRlIHRoaXMuX21vZGVsLl9pbml0aWFsU29ydERpcmVjdGlvbil9fV9nZXRJbnZhbGlkYXRlZEZyb20oZSl7Zm9yKGxldCB0PTA7dDx0aGlzLl9kYXRhLmxlbmd0aDsrK3Qpe2lmKCFlW3RdfHx0aGlzLl9kYXRhW3RdLnMhPT1lW3RdLnN8fCFlW3RdLmQpcmV0dXJuIHQ7Zm9yKGxldCBvPTA7bzx0aGlzLl9kYXRhW3RdLmQubGVuZ3RoOysrbylpZih0aGlzLl9kYXRhW3RdLmRbb10hPT1lW3RdLmRbb10pcmV0dXJuIHR9cmV0dXJuLTF9Z2V0IHRhYmxlKCl7cmV0dXJuIHRoaXMuX3RhYmxlfXJlc2V0SXRlbXMoKXtkZWxldGUgdGhpcy5fdG90YWxDb3VudCx0aGlzLl9kYXRhPVtdfV9nZXRGaWx0ZXJzQ291bnRlclZhbHVlKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5jdXJyZW50RmlsdGVyU3RhdGUoKTtyZXR1cm4gZS5maWx0ZXJzJiZPYmplY3Qua2V5cyhlLmZpbHRlcnMpLmxlbmd0aHx8MH1fc2V0RmlsdGVyc0NvdW50KCl7Y29uc3QgZT10aGlzLl9nZXRGaWx0ZXJzQ291bnRlclZhbHVlKCk7dGhpcy4kZmlsdGVyQ291bnQudGV4dChgJHtlfWApLnRvZ2dsZUNsYXNzKCJqcy1oaWRkZW4iLCFlKX1fc2V0TWFya2V0c0NvdW50KCl7Y29uc3QgZT10aGlzLl9tb2RlbC5tYXJrZXRzLmxlbmd0aDt0aGlzLiRtYXJrZXRDb3VudCYmdGhpcy4kbWFya2V0Q291bnQudGV4dChgJHtlfWApLnRvZ2dsZUNsYXNzKCJqcy1oaWRkZW4iLDE9PT1lfHx0aGlzLl9tb2RlbC5pc0VudGlyZVdvcmxkKX1fY29uY2F0RmllbGRWYWx1ZXMoZSx0KXt2YXIgbz1bXTtyZXR1cm4gZS5mb3JFYWNoKChlPT57by5wdXNoKHRoaXMuX2dldEZpZWxkVmFsdWVGcm9tUmFuZ2VUaXRsZXMoZSx0KSl9KSksby5qb2luKCIsICIpfV9nZXRGaWVsZFZhbHVlRnJvbVJhbmdlVGl0bGVzKGUsdCxvPSExKXtyZXR1cm4gSXRbdF0ucmFuZ2VUaXRsZXMmJkl0W3RdLnJhbmdlVGl0bGVzW2VdP0l0W3RdLnJhbmdlVGl0bGVzW2VdW28/MTowXToic3RyaW5nIiE9dHlwZW9mIGU/IiI6ZX1maWVsZFZhbHVlU3RyaW5nKGUpe2NvbnN0IHQ9SXRbZV0udmFsdWU7aWYobXQodCl8fCExPT09dClyZXR1cm4iIjtpZigic2VsZWN0Ij09PUl0W2VdLmNvbnRyb2wpe2NvbnN0IGk9Xy50KG51bGwse3BsdXJhbDoie251bWJlcn0gaXRlbXMiLGNvdW50OnQubGVuZ3RoLGNvbnRleHQ6ImNvbWJvYm94X2lucHV0In0sbyg5ODM3NjQpKS5mb3JtYXQoe251bWJlcjp0Lmxlbmd0aH0pO3JldHVybiBBcnJheS5pc0FycmF5KHQpP2A8c3BhbiB0aXRsZT0iJHt0aGlzLl9jb25jYXRGaWVsZFZhbHVlcyh0LGUpfSIgY2xhc3M9ImFwcGx5LWNvbW1vbi10b29sdGlwIj4ke2l9PC9zcGFuPmA6dGhpcy5fZ2V0RmllbGRWYWx1ZUZyb21SYW5nZVRpdGxlcyh0LGUsImRyIj09PXQmJiJuYW1lIj09PWUpfXJldHVybiJyYW5nZSI9PT1JdFtlXS5jb250cm9sP0FycmF5LmlzQXJyYXkodCk/dGhpcy5fcmFuZ2VMZWZ0VmFsdWUoZSkrIiDigJMgIit0aGlzLl9yYW5nZVJpZ2h0VmFsdWUoZSk6IiI6InRvZ2dsZSI9PT1JdFtlXS5jb250cm9sPy0xIT09ZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoImhpZ2giKT9fLnQobnVsbCx2b2lkIDAsbygzMDU0MDYpKTpfLnQobnVsbCx2b2lkIDAsbyg1MzgyNTQpKToiY29uZGl0aW9uIiE9PUl0W2VdLmNvbnRyb2x8fG10KHQub3BlcmF0b3IpfHxtdCh0LnZhbHVlKT8iIjoiaW5fcmFuZ2UiPT09dC5vcGVyYXRvcj90LnZhbHVlWzBdPT09dC52YWx1ZVsxXT9jcy5lcXVhbCsiICIrdC52YWx1ZVswXTotMWUxMDA9PT10LnZhbHVlWzBdfHx0aGlzLl9pc0xlc3NUaGVuTWluKHQudmFsdWVbMF0sZSk/Y3MubGVzcysiICIrdC52YWx1ZVsxXToxZTEwMD09PXQudmFsdWVbMV18fHRoaXMuX2lzR3JlYXRlclRoZW5NYXgodC52YWx1ZVsxXSxlKT9jcy5ncmVhdGVyKyIgIit0LnZhbHVlWzBdOnRoaXMuX3JhbmdlTGVmdFZhbHVlKGUpKyIg4oCTICIrdGhpcy5fcmFuZ2VSaWdodFZhbHVlKGUpOiJub3RfaW5fcmFuZ2UiPT09dC5vcGVyYXRvcj90LnZhbHVlWzBdPT09dC52YWx1ZVsxXT9jcy5uZXF1YWwrIiAiK3QudmFsdWVbMF06LTFlMTAwPT09dC52YWx1ZVswXXx8dGhpcy5faXNMZXNzVGhlbk1pbih0LnZhbHVlWzBdLGUpP2NzLmdyZWF0ZXIrIiAiK3QudmFsdWVbMV06MWUxMDA9PT10LnZhbHVlWzFdfHx0aGlzLl9pc0dyZWF0ZXJUaGVuTWF4KHQudmFsdWVbMV0sZSk/Y3MubGVzcysiICIrdC52YWx1ZVswXTpgJHtjcy5ub3RfaW5fcmFuZ2V9ICR7dGhpcy5fcmFuZ2VMZWZ0VmFsdWUoZSl9IOKAkyAke3RoaXMuX3JhbmdlUmlnaHRWYWx1ZShlKX1gOmNzW3Qub3BlcmF0b3JdKyIgIisoIm51bWJlciI9PXR5cGVvZiB0LnZhbHVlP3QudmFsdWU6SXRbdC52YWx1ZV0udGl0bGUpfXVwZGF0ZVRvb2xiYXJCdXR0b25zKCl7dGhpcy5fYnJpZGdlLnBlcmlvZF9waWNrZXI/dGhpcy51cGRhdGVQZXJpb2RQaWNrZXIoKTp0aGlzLl9icmlkZ2Uub3JpZ2luYWxTdGFuZGFsb25lJiZ0aGlzLnVwZGF0ZU9sZEZhdm9yaXRlc1Rvb2xiYXIoKX11cGRhdGVPbGRGYXZvcml0ZXNUb29sYmFyKCl7CnRoaXMuJGhpZGRlbkZhdm9yaXRlc0J1dHRvbldyYXAmJnRoaXMuJGhpZGRlbkZhdm9yaXRlc0J1dHRvbldyYXAuaGlkZSgpLHRoaXMuJGZhdm9yaXRlc0Jhci5maW5kKCIuanMtZmF2b3JpdGUtaXRlbSIpLnJlbW92ZSgpO2xldCBlPTA7dGhpcy5oaWRkZW5GYXZvcml0ZXM9W107Y29uc3QgdD10aGlzLiRmYXZvcml0ZXNCYXIud2lkdGgoKSxpPSJmb3JleCIhPT10aGlzLl9tb2RlbC5zY3JlZW5lcl90eXBlfHx0aGlzLl9icmlkZ2UuaGlkZV9jb250cm9scz80MDoxNjAsbj1lPT5lPT09dGhpcy5fbW9kZWwuY3VycmVudEZpZWxkU2V0SWQoKTtpZih0aGlzLl9tb2RlbC5mYXZvcml0ZUZpZWxkU2V0cyl7bGV0IG89bnVsbDtmb3IobGV0IHI9MDtyPHRoaXMuX21vZGVsLmZhdm9yaXRlRmllbGRTZXRzLmxlbmd0aDsrK3Ipe2NvbnN0IHM9dGhpcy5fbW9kZWwuZmF2b3JpdGVGaWVsZFNldHNbcl0sYT10aGlzLl9tb2RlbC5nZXRGaWVsZFNldEJ5SWQocyk7aWYoIWEpcmV0dXJuO2NvbnN0IGw9cnMoYDxkaXYgY2xhc3M9InR2LXNjcmVlbmVyLXRvb2xiYXJfX2Zhdm9yaXRlcy1pdGVtIGpzLWZhdm9yaXRlLWl0ZW0iIGRhdGEtc2V0PSIke2EuaWR9Ij5cblx0XHRcdFx0XHQkeygwLEVpLmh0bWxFc2NhcGUpKGEudGl0bGUpfVxuXHRcdFx0XHQ8L2Rpdj5gKS50b2dnbGVDbGFzcygidHYtc2NyZWVuZXItdG9vbGJhcl9fZmF2b3JpdGVzLWl0ZW0tLWFjdGl2ZSIsbihhLmlkKSk7bz9sLmluc2VydEFmdGVyKG8pOmwucHJlcGVuZFRvKHRoaXMuJGZhdm9yaXRlc0Jhcik7bGV0IGM9bC5vdXRlcldpZHRoKCk7bFswXS5zY3JvbGxXaWR0aD5jJiZsLmFkZENsYXNzKCJhcHBseS1jb21tb24tdG9vbHRpcCIpLmF0dHIoInRpdGxlIixhLnRpdGxlKSxjKz05LGUrPWMsZStpPnQ/KGUtPWMsbC5yZW1vdmUoKSx0aGlzLmhpZGRlbkZhdm9yaXRlcy5wdXNoKHtpZDphLmlkLHRpdGxlOmEudGl0bGV9KSk6bz1sfX1pZih0aGlzLmhpZGRlbkZhdm9yaXRlcy5sZW5ndGgpe2lmKHRoaXMuaGlkZGVuRmF2b3JpdGVzLmxlbmd0aD09PXRoaXMuX21vZGVsLmZhdm9yaXRlRmllbGRTZXRzLmxlbmd0aCYmdGhpcy4kaGlkZGVuRmF2b3JpdGVzQnV0dG9uV3JhcClyZXR1cm4gdm9pZCB0aGlzLiRoaWRkZW5GYXZvcml0ZXNCdXR0b25XcmFwLmhpZGUoKTtpZih0aGlzLiRoaWRkZW5GYXZvcml0ZXNCdXR0b25XcmFwKXRoaXMuJGhpZGRlbkZhdm9yaXRlc0J1dHRvbldyYXAudHJpZ2dlcigicmVzZXRDb250ZW50Iikuc2hvdygpO2Vsc2V7Y29uc3QgZT1ycyhgPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdG9vbGJhcl9fZmF2b3JpdGVzLWl0ZW0gdHYtc2NyZWVuZXItdG9vbGJhcl9fZmF2b3JpdGVzLW1vcmUgYXBwbHktY29tbW9uLXRvb2x0aXAgY29tbW9uLXRvb2x0aXAtZml4ZWQiIHRpdGxlPSIke18udChudWxsLHZvaWQgMCxvKDI2MDYwNSkpfSI+YCkuYXBwZW5kVG8odGhpcy4kZmF2b3JpdGVzQmFyKTt0aGlzLiRoaWRkZW5GYXZvcml0ZXNCdXR0b25XcmFwPXRoaXMuX3BvcHVwcy5zZXRIaWRkZW5GYXZvcml0ZXNQb3B1cChlLCgoKT0+dGhpcy5oaWRkZW5GYXZvcml0ZXMpLG4sKGU9PnRoaXMudXBkYXRlU2V0SWQoZSwhMSx0aGlzLl9icmlkZ2UuaGlkZV9jb250cm9scykpKX19fXVwZGF0ZVNldElkKGUsdCxvKXt0aGlzLl9sYXN0U2V0SWQ9ZSx0aGlzLl9tb2RlbC5hcHBseUZpZWxkU2V0KGUsdCxvKX11cGRhdGVOZXdGYXZvcml0ZXNUb29sYmFyKCl7aWYoIXRoaXMuX21vZGVsLmZhdm9yaXRlRmllbGRTZXRzKXJldHVybjtjb25zdCBlPXtpdGVtczp0aGlzLl9tb2RlbC5mYXZvcml0ZUZpZWxkU2V0cy5tYXAoKGU9Pih7dGl0bGU6dGhpcy5fbW9kZWwuZ2V0RmllbGRTZXRCeUlkKGUpLnRpdGxlfSkpKSxhY3RpdmVJdGVtOnRoaXMuX21vZGVsLmZhdm9yaXRlRmllbGRTZXRzLmluZGV4T2YodGhpcy5fbW9kZWwuY3VycmVudEZpZWxkU2V0SWQoKSksb25TZWxlY3Q6ZT0+e2NvbnN0IHQ9dGhpcy5fbW9kZWwuZmF2b3JpdGVGaWVsZFNldHNbZV07dGhpcy5fbGFzdFNldElkIT09dCYmKHRoaXMuX21vZGVsLnByZXZlbnRQcmV2U2NhblJlcXVlc3QoKSx0aGlzLnVwZGF0ZVNldElkKHQsITEsdGhpcy5fYnJpZGdlLmhpZGVfY29udHJvbHMpKX0sY2xhc3NOYW1lOiJ0di1zY3JlZW5lci10b29sYmFyX19uby1zY3JvbGwtY2hvaWNlci1yZWFjdC1yb290IixzZWxlY3RlZEl0ZW1DbGFzc05hbWU6InR2LXNjcmVlbmVyLXRvb2xiYXJfX25vLXNjcm9sbC1jaG9pY2VyLXJlYWN0LXJvb3QtZHJvcGRvd24taXRlbS0tc2VsZWN0ZWQifTt2bih0aGlzLiRmYXZvcml0ZXNCYXIuZ2V0KDApLGUpfXVwZGF0ZUZhdm9yaXRlc1Rvb2xiYXIoKXt0aGlzLl9vbldpZGdldHx8KHRoaXMuX2JyaWRnZS5vcmlnaW5hbFN0YW5kYWxvbmU/dGhpcy51cGRhdGVPbGRGYXZvcml0ZXNUb29sYmFyKCk6dGhpcy51cGRhdGVOZXdGYXZvcml0ZXNUb29sYmFyKCkpfXVwZGF0ZVBlcmlvZFBpY2tlcigpe2NvbnN0IGU9e2l0ZW1zOnRoaXMuX3BlcmlvZFBpY2tlckJ1dHRvbnMubWFwKChlPT4oe3RpdGxlOmUudGl0bGV9KSkpLGFjdGl2ZUl0ZW06dGhpcy5fcGVyaW9kUGlja2VyQnV0dG9ucy5maW5kSW5kZXgoKGU9PmUuaWQ9PT10aGlzLl9zZWxlY3RlZFBlcmlvZElkKSksb25TZWxlY3Q6ZT0+e2NvbnN0IHQ9dGhpcy5fcGVyaW9kUGlja2VyQnV0dG9uc1tlXS5pZDt0aGlzLmNoYW5nZUVhcm5pbmdzUGVyaW9kKHQpfSxjbGFzc05hbWU6InR2LXNjcmVlbmVyLXRvb2xiYXJfX25vLXNjcm9sbC1jaG9pY2VyLXJlYWN0LXJvb3QiLHNlbGVjdGVkSXRlbUNsYXNzTmFtZToidHYtc2NyZWVuZXItdG9vbGJhcl9fbm8tc2Nyb2xsLWNob2ljZXItcmVhY3Qtcm9vdC1kcm9wZG93bi1pdGVtLS1zZWxlY3RlZCJ9O3ZuKHRoaXMuJHBlcmlvZFBpY2tlci5nZXQoMCksZSl9X2dldFdhdGNobGlzdCgpe2lmKHdpbmRvdy53aWRnZXRiYXIpe2NvbnN0IHQ9d2luZG93LndpZGdldGJhci5zZXRQYWdlKCJiYXNlIik7bGV0IG87Zm9yKHZhciBlPTA7ZTx0LndpZGdldHMubGVuZ3RoO2UrKylpZigid2F0Y2hsaXN0Ij09PXQud2lkZ2V0c1tlXS50eXBlKXtvPXQud2lkZ2V0c1tlXS53aWRnZXRPYmplY3QKO2JyZWFrfXJldHVybiBvfXJldHVybiBudWxsfWFkanVzdFRvb2xiYXJXaWR0aChlKXtjb25zdCB0PXRoaXMuJGZpZWxkU2V0c0J1dHRvblswXS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZihlJiYibW91c2VlbnRlciI9PT1lLnR5cGUpdGhpcy4kZmllbGRTZXRzQnV0dG9uLmNzcygid2lkdGgiLHQud2lkdGgpO2Vsc2V7dGhpcy4kZmllbGRTZXRzQnV0dG9uLmNzcygid2lkdGgiLCJhdXRvIik7Y29uc3QgZT10aGlzLiRmaWVsZFNldHNCdXR0b25bMF0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhpcy4kZmllbGRTZXRzQnV0dG9uLmNzcygid2lkdGgiLHQud2lkdGgpLHRoaXMuJGZpZWxkU2V0c0J1dHRvblswXS5vZmZzZXRXaWR0aCx0aGlzLiRmaWVsZFNldHNCdXR0b24uY3NzKCJ3aWR0aCIsZS53aWR0aCl9fWluaXRGaWx0ZXJIYW5kbGVycyhlKXtjb25zdCB0PWZ1bmN0aW9uKCl7Y29uc3QgZT17fSx0PWlpLlVzZXJBY3Rpb25TdGF0ZS5UeXBlO3JldHVybihvLGksbixyKT0+e2xldCBzPW47ZS5oYXNPd25Qcm9wZXJ0eShvKSYmKGVbb10uc3RhdGU9PT10JiYocz10KSxjbGVhclRpbWVvdXQoZVtvXS5zZW5kZXIpLG49PT1paS5Vc2VyQWN0aW9uU3RhdGUuQ2xpY2smJiExPT09aSl8fChlW29dPXtzdGF0ZTpzLHNlbmRlcjpzZXRUaW1lb3V0KCgoKT0+KDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IHlpKGkudG9TdHJpbmcoKSxuLG8scikpKSwxZTQpfSl9fSgpLG89KGUsdCk9PnQucmVkdWNlKCgodCxvKT0+KG89PT1lJiYoby09MSksdCs9TWF0aC5mbG9vcihvL2UvKDEvNCkpKSksIiIpO2Uub2ZmKCJjaGFuZ2Uub3AiKS5vbigiY2hhbmdlLm9wIiwic2VsZWN0LmpzLWZpbHRlci1vcGVyYXRvciIsKG89Pntjb25zdCBpPXJzKG8udGFyZ2V0KSxuPWkuYXR0cigibmFtZSIpO0l0W25dLnZhbHVlfHwoSXRbbl0udmFsdWU9e30pLEl0W25dLnZhbHVlLm9wZXJhdG9yPWkudmFsKCksdGhpcy5fcmVzZXRGaWVsZChuKSx0aGlzLl9tb2RlbC51cGRhdGUoKTtjb25zdHtvcGVyYXRvcjpyfT1JdFtuXS52YWx1ZSxzPWUuaGFzQ2xhc3MoInR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkIik/ImZpbHRlcl9kaWFsb2ciOiJjb2x1bW5zIjt0KG4scixpaS5Vc2VyQWN0aW9uU3RhdGUuQ2xpY2sscyl9KSksZS5vZmYoImNoYW5nZS5vcC12YWwiKS5vbigiY2hhbmdlLm9wLXZhbCIsInNlbGVjdC5qcy1maWx0ZXItb3BlcmF0b3ItdmFsdWUiLChvPT57Y29uc3QgaT1ycyhvLnRhcmdldCkse3ZhbHVlOm59PW8udGFyZ2V0LHI9aS5hdHRyKCJuYW1lIik7SXRbcl0udmFsdWV8fChJdFtyXS52YWx1ZT17fSksSXRbcl0udmFsdWUudmFsdWU9aS52YWwoKSx0aGlzLl9yZXNldEZpZWxkKHIpLHRoaXMuX21vZGVsLnVwZGF0ZSgpO2xldHtvcGVyYXRvcjpzfT1JdFtyXS52YWx1ZTtjb25zdCBhPWUuaGFzQ2xhc3MoInR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkIik/ImZpbHRlcl9kaWFsb2ciOiJjb2x1bW5zIjsiIiE9PW4mJihzKz0iLiIrbiksdChyLHMsaWkuVXNlckFjdGlvblN0YXRlLkNsaWNrLGEpfSkpLGUub2ZmKCJ1cGRhdGUub3AtYXJiLXZhbCIpLm9uKCJ1cGRhdGUub3AtYXJiLXZhbCIsImlucHV0LmpzLWZpbHRlci1vcGVyYXRvci1hcmItdmFsdWUiLChvPT57Y29uc3QgaT1ycyhvLnRhcmdldCksbj1pLmF0dHIoIm5hbWUiKTtJdFtuXS52YWx1ZXx8KEl0W25dLnZhbHVlPXt9KTtsZXQgcj0raS52YWwoKTtpc0Zpbml0ZShyKSYmIW10KGkudmFsKCkpfHwocj1udWxsKSxJdFtuXS52YWx1ZS52YWx1ZT1yLHRoaXMuX3Jlc2V0RmllbGQobiksdGhpcy5fbW9kZWwudXBkYXRlKCk7Y29uc3R7b3BlcmF0b3I6c309SXRbbl0udmFsdWUsYT1lLmhhc0NsYXNzKCJ0di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZCIpPyJmaWx0ZXJfZGlhbG9nIjoiY29sdW1ucyI7dChuLHMsaWkuVXNlckFjdGlvblN0YXRlLkNsaWNrLGEpfSkpO2NvbnN0IGk9ZS5maW5kKCJpbnB1dC5qcy1maWx0ZXItb3BlcmF0b3ItYmV0d2Vlbi1sZWZ0Iiksbj1lLmZpbmQoImlucHV0LmpzLWZpbHRlci1vcGVyYXRvci1iZXR3ZWVuLXJpZ2h0Iikscj1lPT57Y29uc3QgdD1ycyhlLnRhcmdldCkuYXR0cigibmFtZSIpO0l0W3RdLnZhbHVlfHwoSXRbdF0udmFsdWU9e30pO2xldCBvPStpLnZhbCgpOyghaXNGaW5pdGUobyl8fG10KGkudmFsKCkpfHx0aGlzLl9pc0xlc3NUaGVuTWluKG8sdCl8fHRoaXMuX2lzR3JlYXRlclRoZW5NYXgobyx0KSkmJihvPS0xZTEwMCk7bGV0IHI9K24udmFsKCk7aWYoKCFpc0Zpbml0ZShyKXx8bXQobi52YWwoKSl8fHRoaXMuX2lzTGVzc1RoZW5NaW4ocix0KXx8dGhpcy5faXNHcmVhdGVyVGhlbk1heChyLHQpKSYmKHI9MWUxMDApLG8+cil7Y29uc3QgZT1vO289cixyPWV9SXRbdF0udmFsdWUudmFsdWU9W28scl0sLTFlMTAwPT09SXRbdF0udmFsdWUudmFsdWVbMF0mJjFlMTAwPT09SXRbdF0udmFsdWUudmFsdWVbMV0mJihJdFt0XS52YWx1ZS52YWx1ZT0iIiksdGhpcy5fcmVzZXRGaWVsZCh0KSx0aGlzLl9tb2RlbC51cGRhdGUoKX07ZS5vZmYoInVwZGF0ZS5vcC1iZXR3ZWVuLWxlZnQtdmFsIikub24oInVwZGF0ZS5vcC1iZXR3ZWVuLWxlZnQtdmFsIiwiaW5wdXQuanMtZmlsdGVyLW9wZXJhdG9yLWJldHdlZW4tbGVmdCIsciksZS5vZmYoInVwZGF0ZS5vcC1iZXR3ZWVuLXJpZ2h0LXZhbCIpLm9uKCJ1cGRhdGUub3AtYmV0d2Vlbi1yaWdodC12YWwiLCJpbnB1dC5qcy1maWx0ZXItb3BlcmF0b3ItYmV0d2Vlbi1yaWdodCIsciksZS5vZmYoImNoYW5nZS50b2dnbGUtdmFsIikub24oImNoYW5nZS50b2dnbGUtdmFsIiwiaW5wdXQuanMtZmlsdGVyLXRvZ2dsZSIsKG89Pntjb25zdCBpPXJzKG8udGFyZ2V0KSxuPWkuYXR0cigibmFtZSIpO0l0W25dLnZhbHVlPWkucHJvcCgiY2hlY2tlZCIpLHRoaXMuX3Jlc2V0RmllbGQobiksdGhpcy5fbW9kZWwudXBkYXRlKCk7Y29uc3Qgcj1lLmhhc0NsYXNzKCJ0di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZCIpPyJmaWx0ZXJfZGlhbG9nIjoiY29sdW1ucyI7dChuLGkucHJvcCgiY2hlY2tlZCIpLGlpLlVzZXJBY3Rpb25TdGF0ZS5DbGljayxyKQp9KSksZS5vZmYoImNsaWNrLnJlc2V0Iikub24oImNsaWNrLnJlc2V0IiwiLmpzLXJlc2V0IiwoZT0+e2NvbnN0IHQ9cnMoZS5jdXJyZW50VGFyZ2V0KS5kYXRhKCJmaWVsZCIpO3RoaXMucmVzZXRGaWx0ZXIodCl9KSk7bGV0IHM9IiI7ZS5vZmYoImtleWRvd24uZmlsdGVySW5wdXQiKS5vbigia2V5ZG93bi5maWx0ZXJJbnB1dCIsImlucHV0Om5vdCguanMtc2VhcmNoLWlucHV0KTpub3QoLmpzLWZpbHRlci1vcGVyYXRvci1hcmItdmFsdWUpIiwoZT0+e2NvbnN0IHQ9cnMoZS5jdXJyZW50VGFyZ2V0KTtzPXQudmFsKCl9KSksZS5vZmYoImtleXVwLmZpbHRlcklucHV0Iikub24oImtleXVwLmZpbHRlcklucHV0IiwiaW5wdXQ6bm90KC5qcy1zZWFyY2gtaW5wdXQpOm5vdCguanMtZmlsdGVyLW9wZXJhdG9yLWFyYi12YWx1ZSkiLChpPT57Y29uc3Qgbj1ycyhpLmN1cnJlbnRUYXJnZXQpLHI9bi5kYXRhKCJmaWVsZCIpLGE9bi5kYXRhKCJib3VuZCIpO2lmKHZvaWQgMD09PXJ8fHZvaWQgMD09PWF8fHM9PT1uLnZhbCgpKXJldHVybjtjb25zdCBsPVt0aGlzLnBhcnNlUmFuZ2VWYWx1ZShyLG4udmFsKCksYSksSXRbcl0udmFsdWU/SXRbcl0udmFsdWVbMS1hXTpJdFtyXS5yYW5nZVsxLWFdXS5zb3J0KHRoaXMuX21vZGVsLm51bWVyaWNTb3J0ZXIpLGM9dGhpcy5hcHByb3hpbWF0ZVNsaWRlclZhbHVlcyhyLGwpO2lmKGUuZmluZChgLnR2LXNsaWRlcltkYXRhLWZpZWxkPSIke3J9Il1gKS5zbGlkZXIoInZhbHVlcyIsYyksSXRbcl0udmFsdWU9bCx0aGlzLl9yZXNldEZpZWxkKHIpLHRoaXMuX21vZGVsLnVwZGF0ZSgpLEl0W3JdLnZhbHVlcyl7Y29uc3QgaT1lLmhhc0NsYXNzKCJ0di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZCIpPyJmaWx0ZXJfZGlhbG9nIjoiY29sdW1ucyIsbj1vKEl0W3JdLnZhbHVlcy5sZW5ndGgrMSxjKTt0KHIsbixpaS5Vc2VyQWN0aW9uU3RhdGUuVHlwZSxpKX19KSk7ZS5maW5kKCIudHYtc2xpZGVyIikub2ZmKCJzbGlkZWNoYW5nZSIpLm9uKCJzbGlkZWNoYW5nZSIsKChlLHQpPT57Y29uc3Qgbz1ycyhlLmN1cnJlbnRUYXJnZXQpLmRhdGEoImZpZWxkIik7SXRbb10udmFsdWVzPzA9PT10LnZhbHVlc1swXSYmdC52YWx1ZXNbMV09PT1JdFtvXS52YWx1ZXMubGVuZ3RoKzE/SXRbb10udmFsdWU9bnVsbDpJdFtvXS52YWx1ZT1bMD09PXQudmFsdWVzWzBdPy0xZTEwMDpwYXJzZUludChJdFtvXS52YWx1ZXNbdC52YWx1ZXNbMF0tMV0sMTApLHQudmFsdWVzWzFdPT09SXRbb10udmFsdWVzLmxlbmd0aCsxPzFlMTAwOnBhcnNlSW50KEl0W29dLnZhbHVlc1t0LnZhbHVlc1sxXS0xXSwxMCldOnQudmFsdWVzWzBdPT09SXRbb10ucmFuZ2VbMF0mJnQudmFsdWVzWzFdPT09SXRbb10ucmFuZ2VbMV0/SXRbb10udmFsdWU9bnVsbDpJdFtvXS52YWx1ZT10LnZhbHVlcyx0aGlzLl9yZXNldEZpZWxkKG8pLHRoaXMuX21vZGVsLnVwZGF0ZSgpfSkpLm9mZigic2xpZGUiKS5vbigic2xpZGUiLCgoZSx0KT0+e2NvbnN0IG89cnMoZS5jdXJyZW50VGFyZ2V0KSxpPW8uZGF0YSgiZmllbGQiKTtsZXQgbj10LnZhbHVlc1swXSxyPXQudmFsdWVzWzFdO2lmKG49PT1yKXJldHVybiExO0l0W2ldLnZhbHVlcyYmKG49MD09PXQudmFsdWVzWzBdP3RoaXMuX3JhbmdlTWluVmFsdWUoaSk6enQoSXRbaV0sdGhpcy5fbW9kZWwuc2NyZWVuZXJfdHlwZSkuZm9ybWF0KEl0W2ldLnZhbHVlc1t0LnZhbHVlc1swXS0xXSkscj10LnZhbHVlc1sxXT09PUl0W2ldLnZhbHVlcy5sZW5ndGgrMT90aGlzLl9yYW5nZU1heFZhbHVlKGkpOnp0KEl0W2ldLHRoaXMuX21vZGVsLnNjcmVlbmVyX3R5cGUpLmZvcm1hdChJdFtpXS52YWx1ZXNbdC52YWx1ZXNbMV0tMV0pKSx0LnZhbHVlPT09dC52YWx1ZXNbMF0/by5maW5kKCIudHYtc2xpZGVyX19sYWJlbC0tbGVmdCIpLnZhbChuKToodC52YWx1ZT09PXQudmFsdWVzWzFdfHxvLmZpbmQoIi50di1zbGlkZXJfX2xhYmVsLS1sZWZ0IikudmFsKG4pLG8uZmluZCgiLnR2LXNsaWRlcl9fbGFiZWwtLXJpZ2h0IikudmFsKHIpKX0pKS5vbigic2xpZGVjaGFuZ2UiLCgoaSxuKT0+e2NvbnN0IHI9cnMoaS5jdXJyZW50VGFyZ2V0KS5kYXRhKCJmaWVsZCIpO2lmKEl0W3JdLnZhbHVlcyl7Y29uc3QgaT1lLmhhc0NsYXNzKCJ0di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZCIpPyJmaWx0ZXJfZGlhbG9nIjoiY29sdW1ucyIscz1vKEl0W3JdLnZhbHVlcy5sZW5ndGgrMSxuLnZhbHVlcyk7dChyLHMsaWkuVXNlckFjdGlvblN0YXRlLlNsaWRlLGkpfX0pKX1wYXJzZVJhbmdlVmFsdWUoZSx0LG8pe2lmKC0xIT09dC5pbmRleE9mKCI8IikpcmV0dXJuIEl0W2VdLnJhbmdlWzBdO2lmKC0xIT09dC5pbmRleE9mKCI+IikpcmV0dXJuIEl0W2VdLnJhbmdlWzFdO3Q9dC5yZXBsYWNlKC8lL2csIiIpO2xldCBpPXp0KEl0W2VdLHRoaXMuX21vZGVsLnNjcmVlbmVyX3R5cGUpLnBhcnNlKHQpO2lmKCFpLnJlcylyZXR1cm4gSXRbZV0ucmFuZ2Vbb107Y29uc3Qgbj1pLnZhbHVlfHwwPT09aS52YWx1ZT9pLnZhbHVlOmkucHJpY2U7cmV0dXJuIGk9TWF0aC5taW4oSXRbZV0ucmFuZ2VbMV0sTWF0aC5tYXgoSXRbZV0ucmFuZ2VbMF0sbikpLGl9YXBwcm94aW1hdGVTbGlkZXJWYWx1ZXMoZSx0KXtjb25zdCBvPVswLDBdLGk9W10uY29uY2F0KC0xZTEwMCxJdFtlXS52YWx1ZXMsMWUxMDApO2ZvcihsZXQgZT0wO2U8MjtlKyspZm9yKGxldCBuPTA7bjxpLmxlbmd0aDtuKyspTWF0aC5hYnModFtlXS1pW25dKTxNYXRoLmFicyh0W2VdLWlbb1tlXV0pJiYob1tlXT1uKTtyZXR1cm4gb311cGRhdGVGaWx0ZXJTZWFyY2goKXtjb25zdCBlPXRoaXMuX2RpYWxvZy4kZmllbGRTZWFyY2hJbnB1dC52YWwoKS50cmltKCkucmVwbGFjZSgvXixccyp8XHMqLCQvLCIiKS50b0xvd2VyQ2FzZSgpLnNwbGl0KC9ccyosXHMqLyk7dGhpcy5fZGlhbG9nLiRmaWx0ZXJzUG9wdXAuZmluZCgiLmpzLWZpbHRlci1maWVsZCIpLnJlbW92ZUNsYXNzKCJqcy1mb3VuZCIpO2NvbnN0IHQ9dGhpcy5fZGlhbG9nLiRmaWx0ZXJzUG9wdXAuZmluZCgiLmpzLWZpbHRlcnMtd3JhcCIpLmdldCgwKTtlLmZvckVhY2goKGU9PnsKbGV0IG89ITE7Zm9yKGNvbnN0IGkgaW4gSXQpe2NvbnN0IG49QXJyYXkuZnJvbSh0LnF1ZXJ5U2VsZWN0b3JBbGwoYC5qcy1maWx0ZXItZmllbGQtJHtpLnJlcGxhY2UoL1xXL2csIiIpfTpub3QoLmpzLWZvdW5kKWApKSxyPUt0KEl0W2ldKSxzPS0xIT09aS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoZSl8fEJvb2xlYW4ocikmJi0xIT09ci50b0xvd2VyQ2FzZSgpLmluZGV4T2YoZSk7cyYmKG89ITApLG4uZm9yRWFjaCgoZT0+e2UuY2xhc3NMaXN0LnRvZ2dsZSgianMtaGlkZGVuIiwhcyksZS5jbGFzc0xpc3QudG9nZ2xlKCJqcy1mb3VuZCIscyl9KSl9b3x8MD09PWUubGVuZ3RofHwoMCxZby5zZW5kU25vd1Bsb3dEYXRhKShuZXcgdmkoZSkpfSkpfXNob3dBY3RpdmVGaWx0ZXJzKCl7aWYodGhpcy5fZGlhbG9nLiRmaWx0ZXJzUG9wdXApcmV0dXJuO2NvbnN0IGU9dGhpcy5fZGlhbG9nLl9nZXRBY3RpdmVGaWx0ZXJzKCk7dGhpcy5fZGlhbG9nLnNob3dGaWx0ZXJzRGlhbG9nKCEwKS50aGVuKCgoKT0+e3RoaXMuX2RpYWxvZy4kZGlhbG9nQ29udGFpbmVyLmZpbmQoIi5qcy1zZWFyY2gtaW5wdXQiKS52YWwoZS5qb2luKCIsICIpKSx0aGlzLnVwZGF0ZUZpbHRlclNlYXJjaCgpfSkpfXJlc2V0QWxsRmlsdGVycygpe3RoaXMuX3Jlc2V0QWxsRmlsdGVycz0hMDtmb3IoY29uc3QgZSBpbiBJdCl0aGlzLl9pc0ZpbHRlclZhbHVlRW1wdHkoZSl8fHRoaXMucmVzZXRGaWx0ZXIoZSk7dGhpcy5fZGlhbG9nLiRkaWFsb2dDb250YWluZXIuZmluZCgiLmpzLXNlYXJjaC1pbnB1dCIpLnZhbCgiIiksdGhpcy51cGRhdGVGaWx0ZXJTZWFyY2goKSx0aGlzLl9yZXNldEFsbEZpbHRlcnM9ITF9cmVzZXRGaWx0ZXIoZSl7aWYoIUl0W2VdLnZhbHVlfHwhMT09PUl0W2VdLnJlc2V0dGFibGVGaWx0ZXIpcmV0dXJuO0l0W2VdLnZhbHVlPW51bGw7Y29uc3QgdD10aGlzLl9kaWFsb2cuJGZpbHRlcnNQb3B1cHx8dGhpcy4kaW5wbGFjZUVkaXRvcjtpZih0KWlmKCJzZWxlY3QiPT09SXRbZV0uY29udHJvbCl0LmZpbmQoYC5qcy1maWx0ZXItZmllbGQtJHtlLnJlcGxhY2UoL1xXL2csIiIpfWApLnRyaWdnZXIoInJlc2V0Iik7ZWxzZSBpZigiY29uZGl0aW9uIj09PUl0W2VdLmNvbnRyb2wpdC5maW5kKGBbbmFtZT0iJHtlfSJdYCkudmFsKCIiKS50cmlnZ2VyKCJjaGFuZ2UiKTtlbHNlIGlmKCJ0b2dnbGUiPT09SXRbZV0uY29udHJvbCl0LmZpbmQoYFtuYW1lPSIke2V9Il1gKS5wcm9wKCJjaGVja2VkIiwhMSk7ZWxzZSBpZigicmFuZ2UiPT09SXRbZV0uY29udHJvbCl7bGV0IG89SXRbZV0ucmFuZ2U7SXRbZV0udmFsdWVzJiYobz1bMCxJdFtlXS52YWx1ZXMubGVuZ3RoKzFdKSx0LmZpbmQoYC51aS1zbGlkZXJbZGF0YS1maWVsZD0iJHtlfSJdYCkuc2xpZGVyKCJ2YWx1ZXMiLG8pLnRyaWdnZXIoInNsaWRlIix7dmFsdWVzOm99KX10aGlzLl9yZXNldEZpZWxkKGUpLHRoaXMuX21vZGVsLnVwZGF0ZSgpfV9yYW5nZUxlZnRWYWx1ZShlKXtsZXQgdD1JdFtlXS52YWx1ZTtyZXR1cm4iaW5fcmFuZ2UiIT09dC5vcGVyYXRvciYmIm5vdF9pbl9yYW5nZSIhPT10Lm9wZXJhdG9yfHwodD10LnZhbHVlKSx0aGlzLl9pc0xlc3NUaGVuTWluKHRbMF0sZSk/dGhpcy5fcmFuZ2VNaW5WYWx1ZShlKTp6dChJdFtlXSx0aGlzLl9tb2RlbC5zY3JlZW5lcl90eXBlKS5mb3JtYXQodFswXSl9X3JhbmdlUmlnaHRWYWx1ZShlKXtsZXQgdD1JdFtlXS52YWx1ZTtyZXR1cm4iaW5fcmFuZ2UiIT09dC5vcGVyYXRvciYmIm5vdF9pbl9yYW5nZSIhPT10Lm9wZXJhdG9yfHwodD10LnZhbHVlKSx0aGlzLl9pc0dyZWF0ZXJUaGVuTWF4KHRbMV0sZSk/dGhpcy5fcmFuZ2VNYXhWYWx1ZShlKTp6dChJdFtlXSx0aGlzLl9tb2RlbC5zY3JlZW5lcl90eXBlKS5mb3JtYXQodFsxXSl9X2lzR3JlYXRlclRoZW5NYXgoZSx0KXtyZXR1cm4gSXRbdF0ucmFuZ2UmJmU+PUl0W3RdLnJhbmdlWzFdfV9pc0xlc3NUaGVuTWluKGUsdCl7cmV0dXJuIEl0W3RdLnJhbmdlJiZlPD1JdFt0XS5yYW5nZVswXX1fcmFuZ2VNaW5WYWx1ZShlKXtyZXR1cm4iPCIrenQoSXRbZV0sdGhpcy5fbW9kZWwuc2NyZWVuZXJfdHlwZSkuZm9ybWF0KEl0W2VdLnZhbHVlc1swXSl9X3JhbmdlTWF4VmFsdWUoZSl7cmV0dXJuIj4iK3p0KEl0W2VdLHRoaXMuX21vZGVsLnNjcmVlbmVyX3R5cGUpLmZvcm1hdChJdFtlXS52YWx1ZXNbSXRbZV0udmFsdWVzLmxlbmd0aC0xXSl9X2hpZ2hsaWdodEFjdGl2ZUl0ZW1zKGUpe2lmKCFlLmZpbmQoIi5qcy1maWx0ZXItY2hlY2tib3g6Y2hlY2tlZCIpLnNpemUoKSlyZXR1cm4gZS5maW5kKCIudHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwIikucmVtb3ZlQ2xhc3MoImktYWN0aXZlIiksdm9pZCBlLmZpbmQoIi5qcy1pdGVtLXdyYXAtYW55IC50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAiKS5hZGRDbGFzcygiaS1hY3RpdmUiKTtlLmZpbmQoIi5qcy1maWx0ZXItY2hlY2tib3g6Y2hlY2tlZCwgLmpzLWZpbHRlci1jaGVja2JveC1hbnk6Y2hlY2tlZCIpLmVhY2goKGZ1bmN0aW9uKCl7ZS5maW5kKCIudHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwIikucmVtb3ZlQ2xhc3MoImktYWN0aXZlIikscnModGhpcykuY2xvc2VzdCgiLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcCIpLmFkZENsYXNzKCJpLWFjdGl2ZSIpfSkpfV9jbG9zZURyb3Bkb3duKGUpe2UudHZEcm9wZG93bigiY2xvc2UiKSx0aGlzLiRpbnBsYWNlRWRpdG9yJiZ0aGlzLiRpbnBsYWNlRWRpdG9yLmZvY3VzKCl9X2NyZWF0ZU11bHRpU2VsZWN0SXRlbXMoZSx0LG8saSxuKXtjb25zdCByPShJdFtlXS51c2VEZWZhdWx0UmFuZ2U/SXRbZV0uZGVmYXVsdFJhbmdlOkl0W2VdLnJhbmdlKS5zbGljZSgpLnNvcnQoKCh0LG8pPT57aWYoITEhPT1JdFtlXS5zb3J0U2VsZWN0ZWRGaXJzdCl7Y29uc3QgaT1JdFtlXS52YWx1ZT09PXR8fEFycmF5LmlzQXJyYXkoSXRbZV0udmFsdWUpJiZ+SXRbZV0udmFsdWUuaW5kZXhPZih0KSxuPUl0W2VdLnZhbHVlPT09b3x8QXJyYXkuaXNBcnJheShJdFtlXS52YWx1ZSkmJn5JdFtlXS52YWx1ZS5pbmRleE9mKG8pO2lmKGkmJiFuKXJldHVybi0xCjtpZihuJiYhaSlyZXR1cm4gMX1yZXR1cm4hMT09PUl0W2VdLnNvcnRhYmxlPzA6dD5vPzE6LTF9KSk7Zm9yKGxldCBzPW51bGw9PT1vPzA6LTE7czxyLmxlbmd0aDsrK3Mpe2xldCBhPS0xPT09cz9fczpyW3NdO2NvbnN0IGw9cnMoYDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iJHthfSIgY2xhc3M9ImpzLWZpbHRlci1jaGVja2JveCR7LTE9PT1zPyItYW55IjoiIn0iJHtJdFtlXS52YWx1ZT09PWF8fEFycmF5LmlzQXJyYXkoSXRbZV0udmFsdWUpJiZ+SXRbZV0udmFsdWUuaW5kZXhPZihhKT8iY2hlY2tlZCI6IiJ9PmApOy0xPT09cyYmKG89bCksLTE9PT1zJiZuJiYoYT1uKTtjb25zdCBjPUl0W2VdLnJhbmdlVGl0bGVzLGQ9YyYmY1thXSYmY1thXVsyXSxoPXRoaXMuX2dldEZpZWxkVmFsdWVGcm9tUmFuZ2VUaXRsZXMoYSxlKTtsZXQgdTt1PWQmJiEwPT09ZC5ub3dyYXA/YDxzcGFuIGNsYXNzPSJ0di1jb250cm9sLWNoZWNrYm94X19sYWJlbC0tbm93cmFwIj4ke2h9PC9zcGFuPmA6ImNvdW50cnkiPT09ZT8oMCxiLnRyaWVzVHJhbnNsYXRlQ291bnRyaWVOYW1lKShoKTooMCxUZS50cmllc1RyYW5zbGF0ZVNjcmVlbmVyRGF0YSkoaCk7Y29uc3QgXz1ycyhgPGRpdiBjbGFzcz0idHYtZHJvcGRvd24tYmVoYXZpb3JfX2l0ZW0ganMtaXRlbS13cmFwJHstMT09PXM/Ii1hbnkiOiIifSI+YCkuYXBwZW5kVG8odCk7cnMoYDxsYWJlbCBkYXRhLWZpZWxkPSIke2V9IiBjbGFzcz0idHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwICR7aX1fX2Ryb3Bkb3duLWNoZWNrYm94LWl0ZW0iPmApLmFwcGVuZChsKS5hcHBlbmQoYDxzcGFuIGNsYXNzPSJ0di1jb250cm9sLWNoZWNrYm94X19sYWJlbCI+JHt1fTwvc3Bhbj5gKS5hcHBlbmRUbyhfKSxsLnR2Q29udHJvbENoZWNrYm94KCl9cmV0dXJuIG99X2NyZWF0ZU11bHRpU2VsZWN0SXRlbXNFbGVtZW50KGUsdCxvLGksbj0hMSxyPSgpPT57fSxzPSExLGEpe2NvbnN0IGw9e2NoYW5nZWQ6ITEscmVzZXRPcHRpb25zOm51bGx9O2xldCBjPXJzKCksZD1ycygpO2NvbnN0IGg9ImZvcmV4LWdyb3VwIj09PW8uYXR0cigiZGF0YS1zZWxlY3QtbmFtZSIpLHU9bz0+e2NvbnN0IGk9IXQuZmluZCgiLmpzLWZpbHRlci1jaGVja2JveDpjaGVja2VkIikuc2l6ZSgpO3M/YyYmYy5wcm9wKCJjaGVja2VkIiwhMCk6ZC5wcm9wKCJjaGVja2VkIixpKSxuJiZ0aGlzLl9oaWdobGlnaHRBY3RpdmVJdGVtcyh0KSxvfHx0aGlzLl9yZXNldEZpZWxkKGUpLHRoaXMuX21vZGVsLnVwZGF0ZSgpLGwuY2hhbmdlZD0hbyxyKHQsaSl9O2xldCBfPXJzKCk7cmV0dXJuIGwucmVzZXRPcHRpb25zPW89Pnt0LmVtcHR5KCksZD10aGlzLl9jcmVhdGVNdWx0aVNlbGVjdEl0ZW1zKGUsdCxzP251bGw6ZCxpLGEpLCEwIT09byYmKHRoaXMuX3RyeUV4ZWN1dGVGaWx0ZXJDaGFuZ2VIYW5kbGVyKGUpLHUoITApKSxfPXJzKCl9LGwucmVzZXRPcHRpb25zKCksdC5vbigiY2hhbmdlIiwiLmpzLWZpbHRlci1jaGVja2JveCIsKGk9Pntjb25zdCByPXJzKGkudGFyZ2V0KSxhPXIuYXR0cigibmFtZSIpO2lmKG4mJkl0W2VdLnZhbHVlPT09YSlyZXR1cm4gci5wcm9wKCJjaGVja2VkIiwhMCksdm9pZCB0aGlzLl9jbG9zZURyb3Bkb3duKG8pO2M9cnMoKSxyLnByb3AoImNoZWNrZWQiKT8oSXRbZV0udmFsdWU/bj8odC5maW5kKCIuanMtZmlsdGVyLWNoZWNrYm94Iikubm90KHIpLnByb3AoImNoZWNrZWQiLCExKSxJdFtlXS52YWx1ZT1hKTooQXJyYXkuaXNBcnJheShJdFtlXS52YWx1ZSl8fChJdFtlXS52YWx1ZT1bSXRbZV0udmFsdWVdKSxJdFtlXS52YWx1ZS5wdXNoKGEpKTpJdFtlXS52YWx1ZT1hLGgmJigwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBibigiYWRkZWQiLGEpKSk6KEFycmF5LmlzQXJyYXkoSXRbZV0udmFsdWUpPyhJdFtlXS52YWx1ZS5zcGxpY2UoSXRbZV0udmFsdWUuaW5kZXhPZihhKSwxKSwxPT09SXRbZV0udmFsdWUubGVuZ3RoP0l0W2VdLnZhbHVlPUl0W2VdLnZhbHVlWzBdOkl0W2VdLnZhbHVlLmxlbmd0aHx8KHM/KGM9cixJdFtlXS52YWx1ZT1hKTpJdFtlXS52YWx1ZT1udWxsKSk6cz8oYz1yLEl0W2VdLnZhbHVlPWEpOkl0W2VdLnZhbHVlPW51bGwsaCYmKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IGJuKCJyZW1vdmVkIixhKSkpLHRoaXMuX3RyeUV4ZWN1dGVGaWx0ZXJDaGFuZ2VIYW5kbGVyKGUpLHUoKSxuJiZ0aGlzLl9jbG9zZURyb3Bkb3duKG8pfSkpLHN8fHQub24oImNsaWNrIHRvdWNoZW5kIiwiLmpzLWZpbHRlci1jaGVja2JveC1hbnkiLChpPT57Y29uc3Qgcj1ycyhpLnRhcmdldCkuYXR0cigibmFtZSIpO2kucHJldmVudERlZmF1bHQoKSxzZXRUaW1lb3V0KCgoKT0+e2lmKCFJdFtlXS52YWx1ZSlyZXR1cm4gZC5wcm9wKCJjaGVja2VkIiwhMCksdm9pZCB0aGlzLl9jbG9zZURyb3Bkb3duKG8pO2QucHJvcCgiY2hlY2tlZCIpPyhfLnByb3AoImNoZWNrZWQiLCEwKSxJdFtlXS52YWx1ZT1fLnRvQXJyYXkoKS5tYXAoKGU9PmUubmFtZSkpLEl0W2VdLnZhbHVlLmxlbmd0aD8xPT09SXRbZV0udmFsdWUubGVuZ3RoJiYoSXRbZV0udmFsdWU9SXRbZV0udmFsdWVbMF0pOkl0W2VdLnZhbHVlPW51bGwpOihfPXQuZmluZCgiLmpzLWZpbHRlci1jaGVja2JveDpjaGVja2VkIiksdC5maW5kKCIuanMtZmlsdGVyLWNoZWNrYm94IikucHJvcCgiY2hlY2tlZCIsITEpLEl0W2VdLnZhbHVlPW51bGwsaCYmKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IGJuKCJhZGRlZCIscikpKSx0aGlzLl90cnlFeGVjdXRlRmlsdGVyQ2hhbmdlSGFuZGxlcihlKSx1KCksbiYmdGhpcy5fY2xvc2VEcm9wZG93bihvKX0pLDApfSkpLGx9X3RyeUV4ZWN1dGVGaWx0ZXJDaGFuZ2VIYW5kbGVyKGUpe0l0W2VdLm9uRmlsdGVyQ2hhbmdlJiZJdFtlXS5vbkZpbHRlckNoYW5nZShJdFtlXS52YWx1ZSl9X2NyZWF0ZU11bHRpc2VsZWN0RmlsdGVyKGUsdCxpLG4scj0hMSl7CmNvbnN0IHM9cnMoYDxkaXYgY2xhc3M9IiR7bn1fX3NlbGVjdGJveC1jb250YWluZXIganMtZmlsdGVyLWZpZWxkLSR7ZS5yZXBsYWNlKC9cVy9nLCIiKX0ganMtZHJvcGRvd24tdG9nZ2xlIj5gKS5hcHBlbmRUbyh0KSxhPXJzKGA8aSBjbGFzcz0iJHtufV9fc2VsZWN0Ym94LWRyb3Bkb3duLXRvZ2dsZSI+YCkuYXBwZW5kKHJzKG8oODE1NjgzKSkuYXR0cih7d2lkdGg6MTIsaGVpZ2h0Ojd9KSksbD1ycyhgPHNwYW4gY2xhc3M9IiR7bn1fX3NlbGVjdGJveC1jYXB0aW9uICR7bn1fX3NlbGVjdGJveC1jYXB0aW9uLS10ZXh0LW92ZXJmbG93Ij5cblx0XHRcdDxzcGFuIGNsYXNzPSIke259X19zZWxlY3Rib3gtY2FwdGlvbi1sYWJlbCBqcy1sYWJlbCI+PC9zcGFuPlxuXHRcdDwvc3Bhbj5gKS5hcHBlbmQoYSkuYXBwZW5kVG8ocyksYz1sLmZpbmQoIi5qcy1sYWJlbCIpLGQ9cnMoJzxkaXYgY2xhc3M9InR2LWRyb3Bkb3duX19ib2R5IHR2LWRyb3Bkb3duLWJlaGF2aW9yX19ib2R5Ij4nKTtsZXQgaD1ycygpO2lmKChJdFtlXS51c2VEZWZhdWx0UmFuZ2U/SXRbZV0uZGVmYXVsdFJhbmdlOkl0W2VdLnJhbmdlKS5sZW5ndGg+PTE2KXtjb25zdCBlPXJzKGA8ZGl2IGNsYXNzPSIke259X19zZWFyY2gtd3JhcCI+YCkuYXBwZW5kVG8oZCk7aD1ycyhgPGlucHV0IHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSIke18udChudWxsLHZvaWQgMCxvKDM1MjEyNykpfSIgY2xhc3M9IiR7bn1fX3NlYXJjaC1pbnB1dCI+YCkuYXBwZW5kVG8oZSk7Y29uc3QgdD1ycyhgPGRpdiBjbGFzcz0idHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwICR7bn1fX3NlYXJjaC1uby1tYXRjaGVzIGpzLWhpZGRlbiI+Tm8gbWF0Y2hlczwvZGl2PmApLmFwcGVuZFRvKGQpO2gub24oImNoYW5nZSBpbnB1dCIsKGU9Pntjb25zdCBvPWgudmFsKCkudHJpbSgpLnRvTG93ZXJDYXNlKCk7bz9wLmZpbmQoIi5qcy1pdGVtLXdyYXAiKS5lYWNoKChmdW5jdGlvbigpe2NvbnN0IGU9cnModGhpcyk7ZS50b2dnbGVDbGFzcygianMtaGlkZGVuIiwhfmUudGV4dCgpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihvKSl9KSk6cC5maW5kKCIuanMtaXRlbS13cmFwIikucmVtb3ZlQ2xhc3MoImpzLWhpZGRlbiIpLHAuZmluZCgiLmpzLWl0ZW0td3JhcC1hbnkiKS50b2dnbGVDbGFzcygianMtaGlkZGVuIiwhIXAuZmluZCgiLmpzLWl0ZW0td3JhcC5qcy1oaWRkZW4iKS5zaXplKCkpLHQudG9nZ2xlQ2xhc3MoImpzLWhpZGRlbiIsISFwLmZpbmQoIi5qcy1pdGVtLXdyYXA6bm90KC5qcy1oaWRkZW4pIikuc2l6ZSgpKSxzLnR2RHJvcGRvd24oInVwZGF0ZVNjcm9sbCIpfSkpfWNvbnN0IHU9cnMoJzxkaXYgY2xhc3M9InR2LWRyb3Bkb3duLWJlaGF2aW9yX19zY3JvbGwiPicpLmFwcGVuZFRvKGQpLHA9cnMoJzxkaXYgY2xhc3M9InR2LXNjcmVlbmVyLWZpZWxkcy1wb3B1cF9faXRlbXMtd3JhcCB0di1kcm9wZG93bi1iZWhhdmlvcl9faW5zY3JvbGwiPicpLmFwcGVuZFRvKHUpLG09dGhpcy5fY3JlYXRlTXVsdGlTZWxlY3RJdGVtc0VsZW1lbnQoZSxwLHMsbixyLCgoKT0+e2MuZW1wdHkoKSxwLmZpbmQoIi5qcy1maWx0ZXItY2hlY2tib3g6Y2hlY2tlZCwgLmpzLWZpbHRlci1jaGVja2JveC1hbnk6Y2hlY2tlZCIpLmVhY2goKCh0LG8pPT57Yy5hcHBlbmQocnMoJzxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZC1jb250ZW50LXZhbHVlIj4nKS50ZXh0KHRoaXMuX2dldEZpZWxkVmFsdWVGcm9tUmFuZ2VUaXRsZXMocnMobykuYXR0cigibmFtZSIpLGUpKSl9KSkscy5mb2N1cygpfSksSXRbZV0ubm9BbnkpLGc9ZT0+e2lmKCEwIT09ZSYmIXMuaXMoIi5pLW9wZW5lZCIpKXJldHVybjtjb25zdCB0PXMuY2xvc2VzdCgiLmktc2Nyb2xsYWJsZSIpO2lmKHQuc2l6ZSgpJiYocy5vZmZzZXQoKS50b3Arcy5oZWlnaHQoKTx0Lm9mZnNldCgpLnRvcHx8cy5vZmZzZXQoKS50b3A+dC5vZmZzZXQoKS50b3ArdC5oZWlnaHQoKSkpcmV0dXJuIHZvaWQgcy50dkRyb3Bkb3duKCJjbG9zZSIpO2NvbnN0IG89aS5vZmZzZXQoKSxuPXMub2Zmc2V0KCk7bGV0IHI9cnMod2luZG93KS5oZWlnaHQoKS1uLnRvcCtycyh3aW5kb3cpLnNjcm9sbFRvcCgpLTM1O2guc2l6ZSgpJiYoci09NDUpO2NvbnN0IGE9TWF0aC5tYXgoaS5oZWlnaHQoKS0obi50b3Atby50b3ApLDYwKTtpZih1LmNzcygibWF4SGVpZ2h0IixNYXRoLm1pbihhLHIpKSx0aGlzLl9zZXREcm9wZG93blBvc2l0aW9uKGQscyxpKSxkLnBhcmVudCgpLmlzKGkpKXtjb25zdCBlPXMudHZEcm9wZG93bigiZ2V0SW5zdGFuY2UiKS5zY3JvbGw7ZS51cGRhdGVTY3JvbGxCYXIoKSxlLnVwZGF0ZVNjcm9sbCgpfWVsc2UgZC5hcHBlbmRUbyhpKX07bGV0IHY7cy50dkRyb3Bkb3duKHskd3JhcDpsLCRib2R5OmQsc2Nyb2xsOiEwLGNsb3NlV2l0aEVzYzohMCxub0FuaW1hdGlvbjohMH0pLm9uKCJyZXNldFBvc2l0aW9uIixnKS5vbigiYmVmb3JlT3Blbk1lbnUiLCgoKT0+e20uY2hhbmdlZCYmKG0ucmVzZXRPcHRpb25zKCEwKSxtLmNoYW5nZWQ9ITEpLGcoITApLHImJihwLmZpbmQoIi50di1jb250cm9sLWNoZWNrYm94X19ib3gsIC5qcy1maWx0ZXItY2hlY2tib3gsIC5qcy1maWx0ZXItY2hlY2tib3gtYW55IikuaGlkZSgpLHRoaXMuX2hpZ2hsaWdodEFjdGl2ZUl0ZW1zKHApLHAuZmluZCgiLnR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVsIikuY3NzKCJtYXJnaW4tcmlnaHQiLDApKSxhLmFkZENsYXNzKGAke259X19zZWxlY3Rib3gtZHJvcGRvd24tdG9nZ2xlLS1vcGVuYCl9KSkub24oImFmdGVyT3Blbk1lbnUiLCgoKT0+e3Y9cC5maW5kKCIuanMtZmlsdGVyLWNoZWNrYm94OmNoZWNrZWQiKSxoLnNpemUoKSYmc2V0VGltZW91dCgoKCk9PntoLmZvY3VzKCkub24oImZvY3Vzb3V0IiwoZnVuY3Rpb24oKXtoLmZvY3VzKCksc2V0VGltZW91dCgoZnVuY3Rpb24oKXtoLmZvY3VzKCl9KSwxMCl9KSksaC5hZGQoIi50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZHJvcGRvd24tY2hlY2tib3gtaXRlbSIpLm9uKCJrZXlwcmVzcyBrZXl1cCIsKGU9PnsKMjc9PT1lLmtleUNvZGUmJnRoaXMuX2Nsb3NlRHJvcGRvd24ocyl9KSl9KSwwKX0pKS5vbigiYmVmb3JlQ2xvc2VNZW51IiwoKCk9PnthLnJlbW92ZUNsYXNzKGAke259X19zZWxlY3Rib3gtZHJvcGRvd24tdG9nZ2xlLS1vcGVuYCksaC5vZmYoImZvY3Vzb3V0IGtleXByZXNzIGtleXVwIil9KSkub24oImFmdGVyQ2xvc2VNZW51IiwoKCk9PntzLnR2RHJvcGRvd24oInVwZGF0ZVNjcm9sbCIpLGQuZGV0YWNoKCk7Y29uc3QgdD1wLmZpbmQoIi5qcy1maWx0ZXItY2hlY2tib3g6Y2hlY2tlZCIpLG89InR2LXNjcmVlbmVyLWRpYWxvZyI9PT1uPyJmaWx0ZXJfZGlhbG9nIjoiY29sdW1ucyIsaT1BcnJheS5mcm9tKHQpLm1hcCgoZT0+ZS5uYW1lKSkuam9pbigiLCIpO2khPT1BcnJheS5mcm9tKHYpLm1hcCgoZT0+ZS5uYW1lKSkuam9pbigiLCIpJiYoMCxZby5zZW5kU25vd1Bsb3dEYXRhKShuZXcgeWkoaSxpaS5Vc2VyQWN0aW9uU3RhdGUuQ2xpY2ssZSxvKSl9KSkub24oInJlc2V0IixtLnJlc2V0T3B0aW9ucykub24oIm1vdXNlZG93bm91dHNpZGUiLCgoKT0+e3MudHZEcm9wZG93bigiY2xvc2UiKX0pKSxkLm9uKCJtb3VzZWRvd24gdG91Y2hzdGFydCIsKGU9PmUuc3RvcFByb3BhZ2F0aW9uKCkpKX1fYXBwbHlTZWxlY3Rib3goZSx0LGk9e30pe2NvbnN0IG49aS5jbGFzc1ByZWZpeHx8InR2LXNjcmVlbmVyLWRpYWxvZyIscj1ycyhgPGxhYmVsIGNsYXNzPSIke259X19zZWxlY3Rib3gtY29udGFpbmVyIGpzLWRyb3Bkb3duLXRvZ2dsZSI+YCk7aS5hZGRDbGFzcyYmci5hZGRDbGFzcyhpLmFkZENsYXNzKSxyLmluc2VydEFmdGVyKGUpLGUuYXBwZW5kVG8ocik7Y29uc3Qgcz1ycyhgPGkgY2xhc3M9IiR7bn1fX3NlbGVjdGJveC1kcm9wZG93bi10b2dnbGUiPmApLmFwcGVuZChycyhvKDgxNTY4MykpLmF0dHIoe3dpZHRoOjEyLGhlaWdodDo3fSkpLGE9cnMoYDxzcGFuIGNsYXNzPSIke259X19zZWxlY3Rib3gtY2FwdGlvbiI+XG5cdFx0XHQ8c3BhbiBjbGFzcz0iJHtufV9fc2VsZWN0Ym94LWNhcHRpb24tbGFiZWwganMtbGFiZWwiPjwvc3Bhbj5cblx0XHQ8L3NwYW4+YCkuYXBwZW5kKHMpLmFwcGVuZFRvKHIpLGw9cnMoJzxkaXYgY2xhc3M9InR2LWRyb3Bkb3duX19ib2R5IHR2LWRyb3Bkb3duLWJlaGF2aW9yX19ib2R5Ij4nKSxjPXJzKCc8ZGl2IGNsYXNzPSJ0di1kcm9wZG93bi1iZWhhdmlvcl9fc2Nyb2xsIj4nKS5hcHBlbmRUbyhsKSxkPXJzKCc8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci1maWVsZHMtcG9wdXBfX2l0ZW1zLXdyYXAgdHYtZHJvcGRvd24tYmVoYXZpb3JfX2luc2Nyb2xsIj4nKS5hcHBlbmRUbyhjKSxoPSgpPT57bC5maW5kKCIuanMtb3B0aW9uLXNlbGVjdGVkIikucmVtb3ZlQ2xhc3MoImktYWN0aXZlIGpzLW9wdGlvbi1zZWxlY3RlZCIpO2NvbnN0IHQ9bC5maW5kKGBbZGF0YS12YWx1ZT0iJHtlLnZhbCgpfSJdYCksbz0hdC5kYXRhKCJ2YWx1ZSIpO3QuYWRkQ2xhc3MoImktYWN0aXZlIGpzLW9wdGlvbi1zZWxlY3RlZCIpLnRvZ2dsZUNsYXNzKGAke259X19zZWxlY3Rib3gtb3B0aW9uLS1uby12YWx1ZWAsbyksYS5maW5kKCIuanMtbGFiZWwiKS50b2dnbGVDbGFzcyhgJHtufV9fc2VsZWN0Ym94LWNhcHRpb24tLW5vLXZhbHVlYCxvKS50ZXh0KHQudGV4dCgpKX0sdT0oKT0+e2QuZW1wdHkoKTtjb25zdCB0PWUuZ2V0KDApLmNoaWxkTm9kZXM7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDsrK2UpcnMoYDxzcGFuIGRhdGEtdmFsdWU9IiR7dFtlXS52YWx1ZX0iIGNsYXNzPSJ0di1kcm9wZG93bi1iZWhhdmlvcl9faXRlbSB0di1jb250cm9sLXNlbGVjdF9fb3B0aW9uIGpzLW9wdGlvbiI+XG5cdFx0XHRcdFx0PHNwYW4gY2xhc3M9InR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcCAke259X19zZWxlY3Rib3gtb3B0aW9uLXdyYXAiPiR7dFtlXS50ZXh0Q29udGVudH08L3NwYW4+XG5cdFx0XHRcdDwvc3Bhbj5gKS5hcHBlbmRUbyhkKTtoKCl9O3UoKSxlLm9uKCJjaGFuZ2UiLGgpO2NvbnN0IF89ZT0+e2lmKCEwIT09ZSYmIXIuaXMoIi5pLW9wZW5lZCIpKXJldHVybjtjb25zdCBvPXIuY2xvc2VzdCgiLmktc2Nyb2xsYWJsZSIpO2lmKG8uc2l6ZSgpJiYoci5vZmZzZXQoKS50b3Arci5oZWlnaHQoKTxvLm9mZnNldCgpLnRvcHx8ci5vZmZzZXQoKS50b3A+by5vZmZzZXQoKS50b3Arby5oZWlnaHQoKSkpcmV0dXJuIHZvaWQgci50dkRyb3Bkb3duKCJjbG9zZSIpO2NvbnN0IGk9dC5vZmZzZXQoKSxuPXIub2Zmc2V0KCkscz1NYXRoLm1heCh0LmhlaWdodCgpLShuLnRvcC1pLnRvcCksNjApLGE9cnMod2luZG93KS5oZWlnaHQoKS1uLnRvcCtycyh3aW5kb3cpLnNjcm9sbFRvcCgpLTM1O2MuY3NzKCJtYXhIZWlnaHQiLE1hdGgubWluKHMsYSkpLHRoaXMuX3NldERyb3Bkb3duUG9zaXRpb24obCxyLHQpLGwuYXBwZW5kVG8odCl9O3JldHVybiByLm9uKCJyZXNldFBvc2l0aW9uIixfKS5vbigiYmVmb3JlT3Blbk1lbnUiLCgoKT0+e18oITApLHMuYWRkQ2xhc3MoYCR7bn1fX3NlbGVjdGJveC1kcm9wZG93bi10b2dnbGUtLW9wZW5gKX0pKS5vbigiYmVmb3JlQ2xvc2VNZW51IiwoKCk9PnMucmVtb3ZlQ2xhc3MoYCR7bn1fX3NlbGVjdGJveC1kcm9wZG93bi10b2dnbGUtLW9wZW5gKSkpLm9uKCJhZnRlckNsb3NlTWVudSIsKCgpPT57ci50dkRyb3Bkb3duKCJ1cGRhdGVTY3JvbGwiKSxsLmRldGFjaCgpfSkpLnR2RHJvcGRvd24oeyR3cmFwOmEsJGJvZHk6bCxzY3JvbGw6ITAsY2xvc2VXaXRoRXNjOiEwLG5vQW5pbWF0aW9uOiEwfSksZC5vbigiY2xpY2siLCIuanMtb3B0aW9uIiwodD0+e2NvbnN0IG89cnModC5jdXJyZW50VGFyZ2V0KS5kYXRhKCJ2YWx1ZSIpO2UudmFsKCkhPT1vJiYoZS52YWwobyksZS50cmlnZ2VyKCJjaGFuZ2UiKSksci50dkRyb3Bkb3duKCJjbG9zZSIpfSkpLGwub24oIm1vdXNlZG93biB0b3VjaHN0YXJ0IiwoZT0+ZS5zdG9wUHJvcGFnYXRpb24oKSkpLGUub24oInJlc2V0Iix1KSxyfV9zZXREcm9wZG93blBvc2l0aW9uKGUsdCxvKXtjb25zdCBpPW8ub2Zmc2V0KCksbj10Lm9mZnNldCgpO2UuY3NzKCJ0b3AiLG4udG9wLWkudG9wLTE1KSwoMCwKS28uaXNSdGwpKCk/ZS5jc3MoInJpZ2h0IixvWzBdLnNjcm9sbFdpZHRoLShuLmxlZnQrdC53aWR0aCgpKStpLmxlZnQtKDAsS28uZ2V0TFRSU2Nyb2xsTGVmdCkob1swXSkpOmUuY3NzKCJsZWZ0IixuLmxlZnQtaS5sZWZ0KX1faXNGaWx0ZXJWYWx1ZUVtcHR5KGUpe2NvbnN0IHQ9SXRbZV0udmFsdWU7cmV0dXJuIHQmJiJjb25kaXRpb24iPT09SXRbZV0uY29udHJvbD8iIj09PXQudmFsdWV8fG51bGw9PXQudmFsdWU6ISh0JiYoIUFycmF5LmlzQXJyYXkodCl8fHQubGVuZ3RoKSYmKCJvYmplY3QiIT10eXBlb2YgdHx8T2JqZWN0LmtleXModCkuZmluZCgoZT0+ISF0W2VdKSkpKX1hZGRGaWVsZEZpbHRlcihlLHQsaT0idHYtc2NyZWVuZXItZGlhbG9nIixuKXtjb25zdCByPXJzKCc8ZGl2IGNsYXNzPSInK2krIl9fZmlsdGVyLWZpZWxkIGpzLWZpbHRlci1maWVsZCBqcy1maWx0ZXItZmllbGQtIitlLnJlcGxhY2UoL1xXL2csIiIpKyIgIitpKyJfX2ZpbHRlci1maWVsZC0tY2F0IitJdFtlXS5jYXRlZ29yeSsnIGpzLXdyYXAiPicpLHM9IXRoaXMuX2lzRmlsdGVyVmFsdWVFbXB0eShlKTtpZihzKXtjb25zdCBlPXQuZmluZCgiLnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLS1hY3RpdmUiKTtlLmxlbmd0aD4wP3IuaW5zZXJ0QWZ0ZXIoZS5sYXN0KCkpOnQucHJlcGVuZChyKX1lbHNlIHIuYXBwZW5kVG8odCk7biYmKHM/dC5yZW1vdmVDbGFzcygidHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX3dpdGhvdXQtcmVzZXQiKTooci5hZGRDbGFzcygidHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX2ZpbHRlci13aXRob3V0LXJlc2V0IiksdC5hZGRDbGFzcygidHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX3dpdGhvdXQtcmVzZXQiKSkpO2xldCBhPUl0W2VdLmZpbHRlclRpdGxlfHxJdFtlXS50aXRsZTsidG9nZ2xlIj09PUl0W2VdLmNvbnRyb2wmJiJpc19wcmltYXJ5IiE9PWUmJiJhY3RpdmVfc3ltYm9sIiE9PWUmJihhPV8udChudWxsLHZvaWQgMCxvKDE1OTkxMCkpLmZvcm1hdCh7dGl0bGU6YX0pKSxycyhgPGRpdiBjbGFzcz0iJHtpfV9fZmlsdGVyLWZpZWxkLXRpdGxlIGpzLWZpbHRlci1maWVsZC10aXRsZS0ke2UucmVwbGFjZSgvXFcvZywiIil9Ij4ke2F9PC9kaXY+YCkuYXBwZW5kVG8ociksdGhpcy5zZXRGaWVsZEFjdGl2ZShlLHMscik7Y29uc3QgbD1ycyhgPGRpdiBjbGFzcz0iJHtpfV9fZmlsdGVyLWZpZWxkLWNvbnRlbnQgJHtpfV9fZmlsdGVyLWZpZWxkLWNvbnRlbnQtLSR7SXRbZV0uY29udHJvbH0ganMtZmlsdGVyLWZpZWxkLV9jb250ZW50Ij5gKS5hcHBlbmRUbyhyKTtyZXR1cm4gcnMoYDxkaXYgY2xhc3M9IiR7aX1fX2ZpbHRlci1maWVsZC1yZXNldCAke3N8fCFuPyIiOiJpLWhpZGRlbiAifWFwcGx5LWNvbW1vbi10b29sdGlwIGpzLXJlc2V0IiBkYXRhLWZpZWxkPSIke2V9IiB0aXRsZT0iJHtfLnQobnVsbCx2b2lkIDAsbyg0MjU2NTApKX0iPmApLmFwcGVuZChycyhvKDE0NzA3OCkpKS5hcHBlbmRUbyhyKSxuZXcgUHJvbWlzZSgodD0+e3NldFRpbWVvdXQoKCgpPT57aWYoInNlbGVjdCI9PT1JdFtlXS5jb250cm9sKXRoaXMuX2NyZWF0ZU11bHRpc2VsZWN0RmlsdGVyKGUsbCxuP3RoaXMuX2JyaWRnZS4kYm9keTp0aGlzLl9kaWFsb2cuJGRpYWxvZ0NvbnRhaW5lcixpLEl0W2VdLmlzU2luZ2xlKTtlbHNlIGlmKCJyYW5nZSI9PT1JdFtlXS5jb250cm9sKXtjb25zdCB0PXtyYW5nZTohMH07bGV0IG89SXRbZV0ucmFuZ2VbMF0saT1JdFtlXS5yYW5nZVsxXTtJdFtlXS52YWx1ZXM/KHQubWluPTAsdC5tYXg9SXRbZV0udmFsdWVzLmxlbmd0aCsxLEl0W2VdLnZhbHVlJiZBcnJheS5pc0FycmF5KEl0W2VdLnZhbHVlKT8odC52YWx1ZXM9dGhpcy5hcHByb3hpbWF0ZVNsaWRlclZhbHVlcyhlLEl0W2VdLnZhbHVlKSxvPXRoaXMuX3JhbmdlTGVmdFZhbHVlKGUpLGk9dGhpcy5fcmFuZ2VSaWdodFZhbHVlKGUpKToodC52YWx1ZXM9WzAsSXRbZV0udmFsdWVzLmxlbmd0aCsxXSxvPXRoaXMuX3JhbmdlTWluVmFsdWUoZSksaT10aGlzLl9yYW5nZU1heFZhbHVlKGUpKSk6KHQubWluPUl0W2VdLnJhbmdlWzBdLHQubWF4PUl0W2VdLnJhbmdlWzFdLHQudmFsdWVzPUl0W2VdLnZhbHVlfHxbSXRbZV0ucmFuZ2VbMF0sSXRbZV0ucmFuZ2VbMV1dKSxycyhgPGRpdiBjbGFzcz0idHYtc2xpZGVyIiBkYXRhLWZpZWxkPSIke2V9Ij5cblx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9InR2LXNsaWRlcl9fbGFiZWxzIj5cblx0XHRcdFx0XHRcdFx0PGlucHV0IHR5cGU9InRleHQiIGRhdGEtZmllbGQ9IiR7ZX0iIGRhdGEtYm91bmQ9IjAiIGNsYXNzPSJ0di1zbGlkZXJfX2xhYmVsIHR2LXNsaWRlcl9fbGFiZWwtLWxlZnQiIHZhbHVlPSIke299Ii8+XG5cdFx0XHRcdFx0XHRcdDxpbnB1dCB0eXBlPSJ0ZXh0IiBkYXRhLWZpZWxkPSIke2V9IiBkYXRhLWJvdW5kPSIxIiBjbGFzcz0idHYtc2xpZGVyX19sYWJlbCB0di1zbGlkZXJfX2xhYmVsLS1yaWdodCIgdmFsdWU9IiR7aX0iLz5cblx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdDwvZGl2PmApLnNsaWRlcih0KS5hcHBlbmRUbyhsKX1lbHNlIGlmKCJjb25kaXRpb24iPT09SXRbZV0uY29udHJvbCl7Y29uc3QgdD1ycyhgPHNlbGVjdCBuYW1lPSIke2V9IiBjbGFzcz0ianMtZmlsdGVyLW9wZXJhdG9yIGpzLWhpZGRlbiI+YCkuYXBwZW5kVG8obCk7bGV0IHIscz0hMDtmb3IoY29uc3QgbyBpbiBjcylJdFtlXS5oaWRkZW5PcGVyYXRvcnMmJi0xIT09SXRbZV0uaGlkZGVuT3BlcmF0b3JzLmluZGV4T2Yobyl8fChzJiYhSXRbZV0udmFsdWUmJihzPSExLEl0W2VdLnZhbHVlPXtvcGVyYXRvcjpvfSkscnMoYDxvcHRpb24gdmFsdWU9IiR7b30iJHtvPT09KEl0W2VdLnZhbHVlJiZJdFtlXS52YWx1ZS5vcGVyYXRvcik/IiBzZWxlY3RlZCI6IiJ9PiR7Y3Nbb119PC9vcHRpb24+YCkuYXBwZW5kVG8odCkpO3RoaXMuX2FwcGx5U2VsZWN0Ym94KHQsbj90aGlzLl9icmlkZ2UuJGJvZHk6dGhpcy5fZGlhbG9nLiRkaWFsb2dDb250YWluZXIse2NsYXNzUHJlZml4OmksYWRkQ2xhc3M6YCR7aX1fX2ZpbHRlci1maWVsZC1jb250ZW50LS1sZWZ0YH0pLApyPUl0W2VdLmNvbmRpdGlvbkZpZWxkcz9BcnJheS5pc0FycmF5KEl0W2VdLmNvbmRpdGlvbkZpZWxkcyk/SXRbZV0uY29uZGl0aW9uRmllbGRzOkl0W2VdLmNvbmRpdGlvbkZpZWxkc1t0aGlzLl9tb2RlbC5zY3JlZW5lcl90eXBlXXx8SXRbZV0uY29uZGl0aW9uRmllbGRzLmRlZmF1bHR8fGRzOmRzO2NvbnN0IGE9cnMoYDxzZWxlY3QgbmFtZT0iJHtlfSIgY2xhc3M9ImpzLWZpbHRlci1vcGVyYXRvci12YWx1ZSBqcy1oaWRkZW4iPmApLmFwcGVuZFRvKGwpO2xldCBjO2lmKHJzKGA8b3B0aW9uIHZhbHVlPSIiPiR7Xy50KG51bGwsdm9pZCAwLG8oMzEwODY5KSl9PC9vcHRpb24+YCkuYXBwZW5kVG8oYSksMD09PXIubGVuZ3RoKWM9cnMoYDxsYWJlbCBjbGFzcz0iJHtpfV9fc2VsZWN0Ym94LWNvbnRhaW5lciBqcy1kcm9wZG93bi10b2dnbGUgJHtpfV9fZmlsdGVyLWZpZWxkLWNvbnRlbnQtLW1pZGRsZSBqcy1oaWRkZW4iIHRhYmluZGV4PSIwIj5cblx0XHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9IiR7aX1fX3NlbGVjdGJveC1jYXB0aW9uLWxhYmVsIGpzLWxhYmVsICR7aX1fX3NlbGVjdGJveC1jYXB0aW9uLS1uby12YWx1ZSI+JHtfLnQobnVsbCx2b2lkIDAsbygzMTA4NjkpKX08L3NwYW4+XG5cdFx0XHRcdFx0XHQ8L2xhYmVsPmApLmFwcGVuZFRvKGwpO2Vsc2V7Zm9yKGxldCB0PTA7dDxyLmxlbmd0aDsrK3Qpe2NvbnN0IG89clt0XTtycyhgPG9wdGlvbiB2YWx1ZT0iJHtvfSIke289PT0oSXRbZV0udmFsdWUmJkl0W2VdLnZhbHVlLm9wZXJhdG9yJiZJdFtlXS52YWx1ZS52YWx1ZSk/IiBzZWxlY3RlZCI6IiJ9PiR7SXRbb10udGl0bGV9PC9vcHRpb24+YCkuYXBwZW5kVG8oYSl9Yz10aGlzLl9hcHBseVNlbGVjdGJveChhLG4/dGhpcy5fYnJpZGdlLiRib2R5OnRoaXMuX2RpYWxvZy4kZGlhbG9nQ29udGFpbmVyLHtjbGFzc1ByZWZpeDppLGFkZENsYXNzOmAke2l9X19maWx0ZXItZmllbGQtY29udGVudC0tbWlkZGxlIGpzLWhpZGRlbmB9KX1jb25zdCBkPXJzKGA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iJHtlfSIgY2xhc3M9IiR7aX1fX2ZpbHRlci1maWVsZC1jb250ZW50LS1yaWdodCAke2l9X19maWx0ZXItZmllbGQtdGV4dCBqcy1maWx0ZXItb3BlcmF0b3ItYXJiLXZhbHVlIj5gKS5hcHBlbmRUbyhsKTtJdFtlXS52YWx1ZSYmIm51bWJlciI9PXR5cGVvZiBJdFtlXS52YWx1ZS52YWx1ZSYmZC52YWwoYCR7SXRbZV0udmFsdWUudmFsdWV9YCk7Y29uc3QgaD1lPT57ZS5jdHJsS2V5fHxlLm1ldGFLZXl8fCFlLmNoYXJDb2RlfHwhZS53aGljaHx8ZS53aGljaDwzMnx8L1tcZC4tXS8udGVzdChTdHJpbmcuZnJvbUNoYXJDb2RlKGUuY2hhckNvZGUpKXx8ZS5wcmV2ZW50RGVmYXVsdCgpfSx1PWU9Pntjb25zdCB0PXt2YWx1ZTplLnZhbCgpfTtyZXR1cm4gZS5vbigia2V5cHJlc3MiLGgpLm9uKCJjaGFuZ2UgaW5wdXQiLCgwLHZvLmRlZmF1bHQpKChvPT57ZS52YWwoKSE9PXQudmFsdWUmJihlLnRyaWdnZXIoInVwZGF0ZSIsbyksdC52YWx1ZT1lLnZhbCgpKX0pLDUwMCkpLHR9LHA9cnMoYDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSIke2V9IiBjbGFzcz0iJHtpfV9fZmlsdGVyLWZpZWxkLWNvbnRlbnQtLXJpZ2h0ICR7aX1fX2ZpbHRlci1iZXR3ZWVuLWlucHV0IGpzLWZpbHRlci1vcGVyYXRvci1iZXR3ZWVuLWxlZnQganMtaGlkZGVuIj5gKS5hcHBlbmRUbyhsKTshSXRbZV0udmFsdWV8fCJpbl9yYW5nZSIhPT1JdFtlXS52YWx1ZS5vcGVyYXRvciYmIm5vdF9pbl9yYW5nZSIhPT1JdFtlXS52YWx1ZS5vcGVyYXRvcnx8cC52YWwoYCR7LTFlMTAwPT09SXRbZV0udmFsdWUudmFsdWVbMF18fHRoaXMuX2lzTGVzc1RoZW5NaW4oSXRbZV0udmFsdWUudmFsdWVbMF0sZSk/IiI6SXRbZV0udmFsdWUudmFsdWVbMF19YCk7Y29uc3QgbT11KHApLGc9cnMoYDxzcGFuIGNsYXNzPSIke2l9X19maWx0ZXItYmV0d2Vlbi1zZXBhcmF0b3IganMtaGlkZGVuIj7igJQ8L3NwYW4+YCkuYXBwZW5kVG8obCksdj1ycyhgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9IiR7ZX0iIGNsYXNzPSIke2l9X19maWx0ZXItZmllbGQtY29udGVudC0tcmlnaHQgJHtpfV9fZmlsdGVyLWJldHdlZW4taW5wdXQganMtZmlsdGVyLW9wZXJhdG9yLWJldHdlZW4tcmlnaHQganMtaGlkZGVuIj5gKS5hcHBlbmRUbyhsKTshSXRbZV0udmFsdWV8fCJpbl9yYW5nZSIhPT1JdFtlXS52YWx1ZS5vcGVyYXRvciYmIm5vdF9pbl9yYW5nZSIhPT1JdFtlXS52YWx1ZS5vcGVyYXRvcnx8di52YWwoYCR7MWUxMDA9PT1JdFtlXS52YWx1ZS52YWx1ZVsxXXx8dGhpcy5faXNHcmVhdGVyVGhlbk1heChJdFtlXS52YWx1ZS52YWx1ZVsxXSxlKT8iIjpJdFtlXS52YWx1ZS52YWx1ZVsxXX1gKTtjb25zdCBmPXUodikseT11KGQpLGI9KCk9Pntjb25zdCBlPXQudmFsKCksbz1lJiYiaW5fcmFuZ2UiIT09ZSYmIm5vdF9pbl9yYW5nZSIhPT1lO2MudG9nZ2xlQ2xhc3MoImpzLWhpZGRlbiIsIW8pLG98fCh5LnZhbHVlPSIiLGQudmFsKCIiKSxhLnZhbCgiIikudHJpZ2dlcigiY2hhbmdlIikpfSxTPWU9Pntjb25zdCBvPXQudmFsKCksaT1vJiYiaW5fcmFuZ2UiIT09byYmIm5vdF9pbl9yYW5nZSIhPT1vJiYhYS52YWwoKTtkLnRvZ2dsZUNsYXNzKCJqcy1oaWRkZW4iLCFpKSxpJiYhMCE9PWUmJiF0aGlzLl9yZXNldEFsbEZpbHRlcnMmJnNldFRpbWVvdXQoKCgpPT57ZC5mb2N1cygpfSksNTApfSx3PWU9Pntjb25zdCBvPSJpbl9yYW5nZSI9PT10LnZhbCgpfHwibm90X2luX3JhbmdlIj09PXQudmFsKCk7cC50b2dnbGVDbGFzcygianMtaGlkZGVuIiwhbyksZy50b2dnbGVDbGFzcygianMtaGlkZGVuIiwhbyksdi50b2dnbGVDbGFzcygianMtaGlkZGVuIiwhbyksbyYmITAhPT1lJiYhdGhpcy5fcmVzZXRBbGxGaWx0ZXJzJiZzZXRUaW1lb3V0KCgoKT0+e3AuZm9jdXMoKX0pLDUwKSxvfHwhMD09PWV8fChtLnZhbHVlPSIiLGYudmFsdWU9IiIscC52YWwoIiIpLHYudmFsKCIiKSxhLnZhbCgiIikudHJpZ2dlcigiY2hhbmdlIikpfTsiaW5fcmFuZ2UiPT09dC52YWwoKXx8Im5vdF9pbl9yYW5nZSI9PT10LnZhbCgpP3coITApOmIoKSxTKCEwKSwKdC5vbigiY2hhbmdlIixiKS5vbigiY2hhbmdlIixTKS5vbigiY2hhbmdlIix3KSxhLm9uKCJjaGFuZ2UiLFMpfWVsc2UgaWYoInRvZ2dsZSI9PT1JdFtlXS5jb250cm9sKXtycyhgPGxhYmVsIGNsYXNzPSIke2l9X19maWx0ZXItdG9nZ2xlIj5cblx0XHRcdFx0XHRcdDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iJHtlfSIgY2xhc3M9IiR7aX1fX2ZpbHRlci1kcm9wZG93bi1pdGVtLWlucHV0IHR2LXNjcmVlbmVyLWZpbHRlci1yb2xsdXBfX2l0ZW0taW5wdXQganMtZmlsdGVyLXRvZ2dsZSIgJHtJdFtlXS52YWx1ZT8iY2hlY2tlZCI6IiJ9PlxuXHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9IiR7aX1fX2ZpbHRlci10b2dnbGUtY2hlY2tib3gtdGl0bGUgdHYtY29udHJvbC1jaGVja2JveF9fbGFiZWwiPlxuXHRcdFx0XHRcdFx0XHQkey0xIT09ZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoImhpZ2giKT9fLnQobnVsbCx2b2lkIDAsbygzMDU0MDYpKTpfLnQobnVsbCx2b2lkIDAsbyg1MzgyNTQpKX1cblx0XHRcdFx0XHRcdDwvc3Bhbj5cblx0XHRcdFx0XHQ8L2xhYmVsPmApLmFwcGVuZFRvKGwpLmZpbmQoIi5qcy1maWx0ZXItdG9nZ2xlIikudHZDb250cm9sQ2hlY2tib3goKX10KCl9KSxuPzA6bW8uZHVyLzMuNSl9KSl9c2hvd0lucGxhY2VFZGl0b3IoZSx0KXtpZighSXRbZV0pcmV0dXJuO3RoaXMuX2lucGxhY2VFZGl0b3JGaWVsZD1lLHRoaXMuJGlucGxhY2VFZGl0b3JUYXJnZXQ9dCx0aGlzLiRpbnBsYWNlRWRpdG9yfHwodGhpcy4kaW5wbGFjZUVkaXRvcj1ycygnPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3IgdHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3ItLWhpZGRlbiI+Jykub24oIm1vdXNlZG93bm91dHNpZGUiLChlPT57Y29uc3QgdD1JdFt0aGlzLl9pbnBsYWNlRWRpdG9yRmllbGRdOyJjb25kaXRpb24iPT09dC5jb250cm9sJiZ0LnZhbHVlJiYobXQodC52YWx1ZS52YWx1ZSl8fG10KHQudmFsdWUub3BlcmF0b3IpKSYmKHRoaXMuJGlucGxhY2VFZGl0b3IuaGFzQ2xhc3MoImpzLWhpZGRlbiIpfHwodC52YWx1ZT1udWxsKSk7Y29uc3Qgbz10aGlzLiRpbnBsYWNlRWRpdG9yLmZpbmQoIi5qcy1kcm9wZG93bi10b2dnbGUuaS1vcGVuZWQiKTtvLnNpemUoKT9vLm9uZSgiYWZ0ZXJDbG9zZU1lbnUiLCgoKT0+e3RoaXMuJGlucGxhY2VFZGl0b3IuYWRkQ2xhc3MoInR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yLS1oaWRkZW4ganMtaGlkZGVuIil9KSk6dGhpcy4kaW5wbGFjZUVkaXRvci5hZGRDbGFzcygidHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3ItLWhpZGRlbiBqcy1oaWRkZW4iKX0pKS5vbigia2V5cHJlc3Mga2V5dXAiLChlPT57MjchPT1lLmtleUNvZGV8fHJzKCIudHYtZHJvcGRvd25fX2JvZHkuaS1vcGVuZWQiKS5sZW5ndGh8fHRoaXMuJGlucGxhY2VFZGl0b3IudHJpZ2dlcigibW91c2Vkb3dub3V0c2lkZSIpfSkpLmF0dHIoInRhYkluZGV4IiwiMCIpLmFwcGVuZFRvKHRoaXMuX2JyaWRnZS4kYm9keSksdGhpcy5fYnJpZGdlLnN0YW5kYWxvbmUmJih0aGlzLiRpbnBsYWNlRWRpdG9yLmFkZENsYXNzKCJ0di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvci0tc3RhbmRhbG9uZSIpLHJzKGRvY3VtZW50KS5vbigic2Nyb2xsIiwoKCk9Pnt0aGlzLiRpbnBsYWNlRWRpdG9yLmlzKCIuanMtaGlkZGVuIil8fHRoaXMuJGlucGxhY2VFZGl0b3IuY3NzKCJ0b3AiLHRoaXMuJGlucGxhY2VFZGl0b3JUYXJnZXQub2Zmc2V0KCkudG9wLXRoaXMuX2JyaWRnZS4kYm9keS5vZmZzZXQoKS50b3ApfSkpKSksdGhpcy4kaW5wbGFjZUVkaXRvci5lbXB0eSgpLnJlbW92ZUNsYXNzKCJ0di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fd2l0aG91dC1yZXNldCIpLnJlbW92ZUNsYXNzKCJqcy1oaWRkZW4iKS50b2dnbGVDbGFzcygidHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3ItLXNsaW0iLCJ0b2dnbGUiPT09SXRbZV0uY29udHJvbCkudG9nZ2xlQ2xhc3MoInR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yLS13aWRlIiwiY29uZGl0aW9uIj09PUl0W2VdLmNvbnRyb2wpLHRoaXMuYWRkRmllbGRGaWx0ZXIoZSx0aGlzLiRpbnBsYWNlRWRpdG9yLCJ0di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvciIsITApLnRoZW4oKCgpPT57dGhpcy5pbml0RmlsdGVySGFuZGxlcnModGhpcy4kaW5wbGFjZUVkaXRvcil9KSk7Y29uc3Qgbz10aGlzLiRpbnBsYWNlRWRpdG9yLmZpbmQoIi5qcy1yZXNldCIpLGk9SXRbZV0uaW5wbGFjZUVkaXRvckxlZnRPZmZzZXR8fDAsbj10aGlzLl9nZXRJbnBsYWNlRWRpdG9yQm91bmQoKSxyPXQucG9zaXRpb24oKS5sZWZ0O2lmKHRoaXMuJGlucGxhY2VFZGl0b3IuY3NzKCJ0b3AiLHQub2Zmc2V0KCkudG9wLXRoaXMuX2JyaWRnZS4kYm9keS5vZmZzZXQoKS50b3ApLCgwLEtvLmlzUnRsKSgpKXtjb25zdCBlPXIrdC53aWR0aCgpLHM9aStNYXRoLm1pbih0aGlzLiRjb250ZW50LndpZHRoKCktZSxuKS1vLndpZHRoKCk7dGhpcy4kaW5wbGFjZUVkaXRvci5jc3MoInJpZ2h0IixNYXRoLm1heChzLDApKX1lbHNlIHRoaXMuJGlucGxhY2VFZGl0b3IuY3NzKCJsZWZ0IixNYXRoLm1heChpK01hdGgubWluKHIsbiktby53aWR0aCgpLDApKTt0aGlzLiRpbnBsYWNlRWRpdG9yLnJlbW92ZUNsYXNzKCJ0di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvci0taGlkZGVuIikuZm9jdXMoKSx0aGlzLl9tb2RlbC50cmFja0V2ZW50KCJPcGVuIGlucGxhY2UgZWRpdG9yIil9X2dldElucGxhY2VFZGl0b3JCb3VuZCgpe2xldCBlPXRoaXMuX2JyaWRnZS4kYm9keS53aWR0aCgpLXRoaXMuJGlucGxhY2VFZGl0b3Iub3V0ZXJXaWR0aCgpK3JzKGRvY3VtZW50KS5zY3JvbGxMZWZ0KCk7aWYodGhpcy5fYnJpZGdlLnN0YW5kYWxvbmUpe2NvbnN0IHQ9dGhpcy5fZ2V0UmVzaXplckJyaWRnZVdpZHRoKCksbz10aGlzLl90YWJsZS4kZWxlbWVudC53aWR0aCgpK3Q7cnMod2luZG93KS53aWR0aCgpPG8mJihlPSgwLApLby5pc1J0bCkoKT9ycyh3aW5kb3cpLndpZHRoKCktdC10aGlzLiRpbnBsYWNlRWRpdG9yLm91dGVyV2lkdGgoKS1ycyhkb2N1bWVudCkuc2Nyb2xsTGVmdCgpOnJzKHdpbmRvdykud2lkdGgoKS10LXRoaXMuJGlucGxhY2VFZGl0b3Iub3V0ZXJXaWR0aCgpK3JzKGRvY3VtZW50KS5zY3JvbGxMZWZ0KCkpfXJldHVybiBlfXNldEZpbHRlclNldChlKXtjb25zdCB0PXRoaXMuX21vZGVsLmdldEZpbHRlclNldEJ5SWQoZSk7dGhpcy4kZmlsdGVyU2V0c0J1dHRvbi5yZW1vdmVDbGFzcygidHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS11bnNhdmVkIikuYXR0cigiZGF0YS1maWx0ZXItc2V0IixlKSx0aGlzLiRmaWx0ZXJTZXRzQnV0dG9uVGl0bGUudGV4dCh0LnRpdGxlKSx0aGlzLl9wb3B1cHMuJGZpbHRlclNldHNQb3B1cCYmKHRoaXMuX3BvcHVwcy4kZmlsdGVyU2V0c1BvcHVwLmZpbmQoIi50di1zY3JlZW5lci1wb3B1cF9faXRlbSIpLnJlbW92ZUNsYXNzKCJ0di1zY3JlZW5lci1wb3B1cF9faXRlbS0tYWN0aXZlIiksdGhpcy5fcG9wdXBzLiRmaWx0ZXJTZXRzUG9wdXAuZmluZChgW2RhdGEtc2V0PSIke2V9Il1gKS5hZGRDbGFzcygidHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLWFjdGl2ZSIpKX1zZXRGaWVsZFNldChlKXtjb25zdCB0PXRoaXMuX21vZGVsLmdldEZpZWxkU2V0QnlJZChlKTt0aGlzLiRmaWVsZFNldHNCdXR0b24ucmVtb3ZlQ2xhc3MoInR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tdW5zYXZlZCIpLnRleHQodC50aXRsZSkuYXR0cigiZGF0YS1maWVsZC1zZXQiLGUpfXVwZGF0ZUludGVydmFsQnV0dG9uKGU9dGhpcy5fJHNlbGVjdEludGVydmFsQnV0dG9uLHQ9dGhpcy5fbW9kZWwuc2VsZWN0ZWRJbnRlcnZhbElkKXtpZighZSlyZXR1cm47Y29uc3Qgbz1kZSh0KTtvJiZlLmh0bWwoby5zaG9ydFRpdGxlKTtjb25zdCBpPXRoaXMuX21vZGVsLmVvZFJlc3RyaWN0aW9uLnZhbHVlKCk7ZS50b2dnbGVDbGFzcygiaS1oaWRkZW4iLGk9PT1Xby5XaWRnZXQpfWFkZEludGVydmFsU2VsZWN0KHskYmVmb3JlOmU9bnVsbCwkYXBwZW5kVG86dD1udWxsLCRkcm9wZG93bkNvbnRhaW5lcjppPW51bGx9KXtyZXR1cm4gT24oeyRiZWZvcmU6ZSwkYXBwZW5kVG86dCwkZHJvcGRvd25Db250YWluZXI6aSxtYWtlU2VsZWN0UG9wdXA6ZT0+e2NvbnN0IHQ9T2JqZWN0LmFzc2lnbih7YnV0dG9uVGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNzY1MykpfSxlKTtyZXR1cm4gdGhpcy5fcG9wdXBzLnNldFNlbGVjdFBvcHVwKHt3cmFwQ2xhc3M6InR2LXNjcmVlbmVyLXRvb2xiYXJfX2ludGVydmFsLXNlbGVjdCIsYnV0dG9uQ2xhc3M6InR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbiB0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLWFycm93LWRvd24gdHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS13aXRoLXN0YXRlIGFwcGx5LWNvbW1vbi10b29sdGlwIGNvbW1vbi10b29sdGlwLWZpeGVkIGktZGlzYWJsZWQifSx0KX0sYWZ0ZXJNYWtpbmdTZWxlY3RQb3B1cDooZSx0LG8pPT57dGhpcy5fcG9wdXBzLnNldFNlbGVjdEludGVydmFsQ29udGVudChlLG8sKGU9Pnt0aGlzLl9tb2RlbC5zZXRTZWxlY3RlZEludGVydmFsSWQoZS5pZCksdGhpcy51cGRhdGVJbnRlcnZhbEJ1dHRvbih0LGUuaWQpLHRoaXMudXBkYXRlVG9vbGJhckJ1dHRvbnMoKSx0aGlzLnByZXZlbnRIaWdobGlnaHRDaGFuZ2VzKCksdGhpcy5yZWZyZXNoKCl9KSl9LGFmdGVyU2VsZWN0UG9wdXBBcHBlbmQ6KGUsdCk9Pnt0aGlzLl9tb2RlbC5sb2FkaW5nQ29tcGxldGUuc3Vic2NyaWJlKG51bGwsKCgpPT57dC5yZW1vdmVDbGFzcygiaS1kaXNhYmxlZCIpLHRoaXMudXBkYXRlSW50ZXJ2YWxCdXR0b24odCx0aGlzLl9tb2RlbC5zZWxlY3RlZEludGVydmFsSWQpfSksITApfX0pfXVwZGF0ZUdyb3Vwc0J1dHRvbihlLHQpe3Quc29ydCgoKGUsdCk9Pkl0LnNlY3Rvci5zb3VyY2VSYW5nZS5pbmRleE9mKGUpPkl0LnNlY3Rvci5zb3VyY2VSYW5nZS5pbmRleE9mKHQpPzE6LTEpKTtmb3IobGV0IGk9MDtpPHQubGVuZ3RoO2krKyl7Y29uc3Qgbj10W2ldPT09X3M/aHM6YCR7dFtpXX0ke2k9PT10Lmxlbmd0aC0xPyIgIitfLnQobnVsbCx2b2lkIDAsbyg0MDY2NzcpKToiIn1gO2UuYXBwZW5kKHJzKCc8c3BhbiBjbGFzcz0idHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItZmllbGQtY29udGVudC12YWx1ZSI+JykudGV4dChuKSl9ZS5hdHRyKCJkYXRhLWdyb3VwcyIsdCl9YWRkR3JvdXBTZWxlY3QoeyRiZWZvcmU6ZT1udWxsLCRhcHBlbmRUbzp0PW51bGwsJGRyb3Bkb3duQ29udGFpbmVyOmk9bnVsbH0pe3JldHVybiBPbih7JGJlZm9yZTplLCRhcHBlbmRUbzp0LCRkcm9wZG93bkNvbnRhaW5lcjppLGJlZm9yZU1ha2luZ1NlbGVjdFBvcHVwOigpPT57aWYoImZvcmV4Ij09PXRoaXMuX21vZGVsLnNjcmVlbmVyX3R5cGUpe2NvbnN0IGU9dGhpcy5fbW9kZWwuc2VsZWN0ZWRHcm91cHM7LTE9PT1lLmluZGV4T2YoX3MpJiYoSXQuc2VjdG9yLnZhbHVlPWUpfX0sbWFrZVNlbGVjdFBvcHVwOmU9Pntjb25zdCB0PXt3cmFwQ2xhc3M6IiIsYnV0dG9uQ2xhc3M6InR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbiB0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXNwYWNlX3JpZ2h0IHR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tYXJyb3ctZG93biB0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXdpdGgtc3RhdGUgYXBwbHktY29tbW9uLXRvb2x0aXAgY29tbW9uLXRvb2x0aXAtZml4ZWQgaS1kaXNhYmxlZCJ9OyJmb3JleCIhPT10aGlzLl9tb2RlbC5zY3JlZW5lcl90eXBlJiYodC53cmFwQ2xhc3MrPSIgaS1oaWRkZW4iKTtjb25zdCBpPU9iamVjdC5hc3NpZ24oe2J1dHRvblRpdGxlOl8udChudWxsLHZvaWQgMCxvKDc5MDY1NikpfSxlKTtyZXR1cm4gdGhpcy5fcG9wdXBzLnNldFNlbGVjdFBvcHVwKHQsaSl9LGFmdGVyTWFraW5nU2VsZWN0UG9wdXA6KGUsdCxvKT0+e3Qub24oImNsaWNrIiwoKCk9PntvLm9mZigiY2hhbmdlIGNsaWNrIHRvdWNoZW5kIiksZS5hdHRyKHsiZGF0YS1zZWxlY3QtbmFtZSI6ImZvcmV4LWdyb3VwIn0pLAp0aGlzLl9jcmVhdGVNdWx0aVNlbGVjdEl0ZW1zRWxlbWVudCgic2VjdG9yIixvLGUsInR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yIiwhMSwoZT0+e3QuZW1wdHkoKTtjb25zdCBvPVtdO2UuZmluZCgiLmpzLWZpbHRlci1jaGVja2JveDpjaGVja2VkLCAuanMtZmlsdGVyLWNoZWNrYm94LWFueTpjaGVja2VkIikuZWFjaCgoKGUsdCk9Pntjb25zdCBpPXJzKHQpLmF0dHIoIm5hbWUiKTtvLnB1c2goaSl9KSksdGhpcy5fbW9kZWwuc2V0U2VsZWN0ZWRHcm91cHMobyk7Y29uc3QgaT1vLm1hcCgoZT0+aHRbZV18fGUpKTt0aGlzLnVwZGF0ZUdyb3Vwc0J1dHRvbih0LGkpLHRoaXMudXBkYXRlVG9vbGJhckJ1dHRvbnMoKX0pLCExLHVzKX0pKX0sYWZ0ZXJTZWxlY3RQb3B1cEFwcGVuZDooZSx0KT0+e3RoaXMuXyRncm91cFNlbGVjdD1lLHRoaXMuX21vZGVsLmxvYWRpbmdDb21wbGV0ZS5zdWJzY3JpYmUobnVsbCwoKCk9Pnt0LnJlbW92ZUNsYXNzKCJpLWRpc2FibGVkIiksdC5hdHRyKHsiZGF0YS1uYW1lIjoic2NyZWVuZXItZm9yZXgtcGFpcnMiLCJkYXRhLXJvbGUiOiJidXR0b24ifSksdGhpcy51cGRhdGVHcm91cHNCdXR0b24odCx0aGlzLl9tb2RlbC5zZWxlY3RlZEdyb3Vwcyl9KSwhMCl9fSl9dXBkYXRlTWFya2V0QnV0dG9uKGUpe2NvbnN0IHQ9dGhpcy5fbW9kZWwubWFya2V0cyxvPXJzKCIuanMtc2NyZWVuZXItbWFya2V0LWJ1dHRvbiIpO2xldCBpLG4scjtpZigxPT09dC5sZW5ndGgpe2NvbnN0IGU9dFswXSxvPUYodGhpcy5fbW9kZWwuc2NyZWVuZXJfdHlwZSk7aT10WzBdLG49b1tlXS5mbGFnP2A8aW1nIGFsdD0iJHtzPW9bZV0uZmxhZ30iIGNyb3Nzb3JpZ2luIHNyYz0iJHsoMCxnby5mbGFnVXJsKShzKX0iIGNsYXNzPSJ0di1mbGFnLWNvdW50cnkgdHYtZmxhZy1jb3VudHJ5LS0ke3N9Ij5gOm9bZV0uaWNvbixyPW9bZV0udGl0bGV9ZWxzZSBpPSJnbG9iYWwiLHI9Imdsb2JhbCIsbj1ycygnXG5cdFx0XHRcdDxpIGFsdD0iZ2xvYmUiIGNsYXNzPSJ0di1mbGFnLWNvdW50cnkgdHYtZmxhZy1jb3VudHJ5LS1nbG9iZSI+XG5cdFx0XHRcdDwvaT5cblx0XHRcdCcpLmh0bWwobnMpO3ZhciBzO28uYXR0cih7ImRhdGEtbmFtZSI6InNjcmVlbmVyLW1hcmtldHMiLCJkYXRhLXJvbGUiOiJidXR0b24iLCJkYXRhLW1hcmtldCI6aX0pLG8uaHRtbChuKSxvLnBhcmVudCgpLnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci1tYXJrZXQtc2VsZWN0LS1oaWRkZW4iLCJzdG9jayIhPT10aGlzLl9tb2RlbC5zY3JlZW5lcl90eXBlKSxlJiZlLmFwcGVuZChgPHNwYW4gY2xhc3M9InR2LXNjcmVlbmVyLW1hcmtldC1zZWxlY3RfX2J1dHRvbi10aXRsZSI+XG5cdFx0XHRcdCR7cn1cblx0XHRcdDwvc3Bhbj48c3BhbiBjbGFzcz0idHYtY2FyZXQiPmApfV9zaG93TWFya2V0c0RpYWxvZygpe3duKHRoaXMuZ2V0U2NyZWVuZXJNYXJrZXREaWFsb2dPcHRpb25zKCkpfWFkZE1hcmtldFNlbGVjdCh7JGJlZm9yZTplPW51bGwsJGFwcGVuZFRvOnQ9bnVsbCwkZHJvcGRvd25Db250YWluZXI6aT1udWxsLGNhcHRpb246cj0hMSxjbGFzc1N1ZmZpeDpzPW51bGx9KXtpZih0aGlzLl9vbldpZGdldClyZXR1cm47Y29uc3QgYT1Pbih7JGJlZm9yZTplLCRhcHBlbmRUbzp0LCRkcm9wZG93bkNvbnRhaW5lcjppLG1ha2VTZWxlY3RQb3B1cDooKT0+e2NvbnN0IGU9e3dyYXBDbGFzczpzPyJ0di1zY3JlZW5lci1tYXJrZXQtc2VsZWN0IHR2LXNjcmVlbmVyLW1hcmtldC1zZWxlY3QiK3M6InR2LXNjcmVlbmVyLW1hcmtldC1zZWxlY3QiLGJ1dHRvbkNsYXNzOiJ0di1zY3JlZW5lci1tYXJrZXQtc2VsZWN0X19idXR0b24ganMtc2NyZWVuZXItbWFya2V0LWJ1dHRvbiBhcHBseS1jb21tb24tdG9vbHRpcCBjb21tb24tdG9vbHRpcC1maXhlZCJ9LHt3cmFwQ2xhc3M6dCxidXR0b25DbGFzczppfT1lLG49cnMoYDxkaXYgY2xhc3M9IiR7dH0gdHYtZHJvcGRvd24gdHYtZHJvcGRvd24tLWlubGluZSB0di1kcm9wZG93bi1iZWhhdmlvciI+YCk7cmV0dXJueyR3cmFwOm4sJGJ1dHRvbjpycyhgPGRpdiBjbGFzcz0idHYtZHJvcGRvd25fX2J1dHRvbiB0di1kcm9wZG93bi1iZWhhdmlvcl9fYnV0dG9uICR7aX0iIHRpdGxlPSIke18udChudWxsLHZvaWQgMCxvKDU1MzE2NCkpfSI+YCkuYXBwZW5kVG8obil9fX0pO3JldHVybiB0aGlzLmdldFNjcmVlbmVyTWFya2V0RGlhbG9nT3B0aW9ucz0oKT0+KHt0aXRsZTpfLnQobnVsbCx2b2lkIDAsbyg5ODQ3OTApKSxpbml0aWFsU2VsZWN0ZWRNYXJrZXRzOnRoaXMuX21vZGVsLmlzRW50aXJlV29ybGQ/WygwLG9zLmVudGlyZVdvcmxkTWFya2V0c1ByZXNldCkoKV06KDAsaXMuZ2V0TWFya2V0c0J5TmFtZXMpKFRuLHRoaXMuX21vZGVsLm1hcmtldHMpLGF1dG9mb2N1czohMCxpbml0aWFsTW9kZTooMCxlcy5pc0dsb2JhbFNjcmVlbmVyQXZhaWxhYmxlKSgpP24uZ2V0VmFsdWUodHMsUXIuTWFya2V0RGlhbG9nTW9kZS5TaW5nbGUpOlFyLk1hcmtldERpYWxvZ01vZGUuU2luZ2xlLGRlZmF1bHRNYXJrZXQ6eG4sb25TZWxlY3RDb21wbGV0ZTplPT57dmFyIHQ7dD1lLm1vZGUsbi5zZXRWYWx1ZSh0cyx0KTtjb25zdCBvPWUubWFya2V0cy5tYXAoKGU9PmUudmFsdWUpKTt0aGlzLiRmaWx0ZXJTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJpLWRpc2FibGVkIiwhMCksdGhpcy4kZmllbGRTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJpLWRpc2FibGVkIiwhMCksdGhpcy4kZmlsdGVyc0J1dHRvbi50b2dnbGVDbGFzcygiaS1kaXNhYmxlZCIsITApLHRoaXMuX21vZGVsLmlzRW50aXJlV29ybGQ9MT09PW8ubGVuZ3RoJiYiZW50aXJlX3dvcmxkIj09PW9bMF0sdGhpcy5fbW9kZWwuc2V0TWFya2V0KHRoaXMuX21vZGVsLmlzRW50aXJlV29ybGQ/W106bykudGhlbigoKCk9Pnt0aGlzLiRmaWx0ZXJTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJpLWRpc2FibGVkIiwhMSksdGhpcy4kZmllbGRTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJpLWRpc2FibGVkIiwhMSksdGhpcy4kZmlsdGVyc0J1dHRvbi50b2dnbGVDbGFzcygiaS1kaXNhYmxlZCIsITEpLHRoaXMudXBkYXRlTWFya2V0QnV0dG9uKHImJmF8fG51bGwpCn0pKS5jYXRjaCgoZT0+e2UmJmxzLmxvZ0Vycm9yKGUpfSkpfSxvbkNsb3NlOigpPT57KDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IHluLkNoYW5nZU1hcmtldEV2ZW50KHRoaXMuX21vZGVsLm1hcmtldHMuam9pbigiLCIpKSl9fSksYS5vbigiY2xpY2siLCgoKT0+e3duKHRoaXMuZ2V0U2NyZWVuZXJNYXJrZXREaWFsb2dPcHRpb25zKCkpfSkpLHRoaXMudXBkYXRlTWFya2V0QnV0dG9uKHImJmF8fG51bGwpLGF9cmVmcmVzaCgpe2RvY3VtZW50LmhpZGRlbnx8dGhpcy5fdGVtcEJ1c3l8fCh0aGlzLl9kYXRhJiYodGhpcy5fcHJldkRhdGE9dGhpcy5fZGF0YS5zbGljZSgpKSx0aGlzLl9tb2RlbC5pbnZhbGlkYXRlUmVxdWVzdCgpLHRoaXMuX21vZGVsLnVwZGF0ZShudWxsLCExLCExLCExLCEwKSl9Z2V0IHJlZnJlc2hJbnRlcnZhbHMoKXtyZXR1cm4gdGhpcy5fbW9kZWwuaXNGYXN0UmVmcmVzaD92czpnc31yZXNldFJlZnJlc2hDb3VudGVyKGUpe2lmKGNsZWFySW50ZXJ2YWwodGhpcy5fcmVmcmVzaENvdW50ZXJJbnRlcnZhbElkKSwhMD09PWUpcmV0dXJuO2xldCB0PXRoaXMuX21vZGVsLnJlZnJlc2hJbnRlcnZhbDtjb25zdCBvPS0xPT09dHx8IXVzZXIuaXNfcHJvJiYhdGhpcy5fbW9kZWwuaXNGYXN0UmVmcmVzaDtpZih0aGlzLiRyZWZyZXNoQnV0dG9uJiZ0aGlzLiRyZWZyZXNoQnV0dG9uLnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXdpdGgtY291bnRlciIsIW8mJiF0aGlzLl9tb2RlbC5pc0Zhc3RSZWZyZXNoKS50b2dnbGVDbGFzcygidHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1hY3RpdmUiLCFvKSxvKXJldHVybjtjb25zdCBpPSgpPT57aWYoIXRoaXMuX21vZGVsLmlzRmFzdFJlZnJlc2gpe2NvbnN0IGU9dC82MHwwLG89dCU2MDt0aGlzLiRyZWZyZXNoQ291bnRlci50ZXh0KGAke2AwMCR7ZX1gLnNsaWNlKC0yKX06JHtgMDAke299YC5zbGljZSgtMil9YCl9dDw9MD90aGlzLnJlZnJlc2goKTotLXR9O2koKSx0Pj0wJiYodGhpcy5fcmVmcmVzaENvdW50ZXJJbnRlcnZhbElkPXNldEludGVydmFsKGksMWUzKSl9cHJldmVudEhpZ2hsaWdodENoYW5nZXMoKXt0aGlzLl9wcmV2ZW50SGlnaGxpZ2h0Q2hhbmdlcz0hMH1oaWdobGlnaHRDaGFuZ2VzKCl7aWYodGhpcy5fcHJldmVudEhpZ2hsaWdodENoYW5nZXMpcmV0dXJuIHZvaWQodGhpcy5fcHJldmVudEhpZ2hsaWdodENoYW5nZXM9ITEpO2lmKCF0aGlzLl9wcmV2RGF0YXx8IXRoaXMuX2RhdGF8fHRoaXMuX21vZGVsLm1hcmtldENoYW5nZVByb2Nlc3MpcmV0dXJuO2NvbnN0IGU9e307Zm9yKGxldCB0PTA7dDwodGhpcy5fcHJldkRhdGF8fFtdKS5sZW5ndGg7Kyt0KWVbdGhpcy5fcHJldkRhdGFbdF0uc109dGhpcy5fcHJldkRhdGFbdF0uZDtpZihkZWxldGUgdGhpcy5fcHJldkRhdGEsdGhpcy5fbW9kZWwuaXNGYXN0UmVmcmVzaCl7Y29uc3QgdD1bImJpZCIsImFzayIsImNsb3NlIl07Zm9yKGxldCBvPTA7bzx0aGlzLl9kYXRhLmxlbmd0aDsrK28pe2NvbnN0IGk9dGhpcy5fZGF0YVtvXS5zLG49dGhpcy5fZGF0YVtvXS5kLHI9ZVtpXTtpZighciljb250aW51ZTtjb25zdCBzPSgpPT57dGhpcy5fdGFibGUuZmxpY2tSb3coaSl9O2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXtjb25zdCBvPXRbZV0scz10aGlzLl90YWJsZS5maWVsZHNPcmRlci5pbmRleE9mKG8pO2lmKG5bc10hPT1yW3NdKXtjb25zdCBlPW5bc10+cltzXTt0aGlzLl90YWJsZS5oaWdobGlnaHRDZWxsKGksbyxlKX19c2V0VGltZW91dChzLDFlMyl9cmV0dXJufWNvbnN0IHQ9W107Zm9yKGxldCBvPTA7bzx0aGlzLl9kYXRhLmxlbmd0aDsrK28pe2NvbnN0IGk9dGhpcy5fZGF0YVtvXS5zLG49dGhpcy5fZGF0YVtvXS5kLHI9ZVtpXTtpZighciljb250aW51ZTtsZXQgcz0hMTtmb3IobGV0IGU9MDtlPG4ubGVuZ3RoOysrZSlpZihuW2VdIT09cltlXSl7cz0hMDticmVha31zJiZ0LnB1c2goaSl9dC5sZW5ndGgmJnRoaXMuX3RhYmxlLiR0Ym9keS5maW5kKGB0cltkYXRhLXN5bWJvbD0iJHt0LmpvaW4oJyJdLHRyW2RhdGEtc3ltYm9sPSInKX0iXWApLmFkZENsYXNzKCJ0di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdy0tZmxpY2siKX1fY3JlYXRlU3dpdGNoKGUpe3RoaXMuJHN3aXRjaD1ycygnPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdG9vbGJhcl9fc3dpdGNoIj4nKS5hcHBlbmRUbyh0aGlzLiR0b29sYmFyKTtjb25zdCB0PXttb2RlczplLG9uQ2hhbmdlOmU9PnRoaXMuX21vZGVsLmFwcGx5U3dpdGNoKGUpfTshZnVuY3Rpb24oZSx0KXtEaS5yZW5kZXIoTGkuY3JlYXRlRWxlbWVudChxaSx7Li4udH0pLGUpfSh0aGlzLiRzd2l0Y2hbMF0sdCl9Z2V0IGNvbmRpdGlvbk9wZXJhdG9ycygpe3JldHVybiBjc319dmFyIFNzPW8oMjAzNjgxKSx3cz1vKDM4NjkzMSksQ3M9bygxNTI2OTkpLGtzPW8oNTY5Mzk4KTtjb25zdCBUcz0oKT0+d2luZG93LlNDUkVFTkVSX0hPU1R8fCJodHRwczovL3NjYW5uZXIudHJhZGluZ3ZpZXcuY29tIjt2YXIgRXM9bygxNTY4NTApO2NsYXNzIHhze2NvbnN0cnVjdG9yKCl7dGhpcy5fbG9jYWxTZXR0aW5ncz17fX1nZXRWYWx1ZShlLHQpe3JldHVybiB0aGlzLl9sb2NhbFNldHRpbmdzLmhhc093blByb3BlcnR5KGUpP3RoaXMuX2xvY2FsU2V0dGluZ3NbZV06dH1zZXRWYWx1ZShlLHQpe3RoaXMuX2xvY2FsU2V0dGluZ3NbZV09dH1nZXRJbnQoZSx0KXtyZXR1cm4gdGhpcy5nZXRWYWx1ZShlLHQpfWdldEJvb2woZSx0KXtyZXR1cm4gdGhpcy5nZXRWYWx1ZShlLHQpfXNldEludChlLHQpe3RoaXMuc2V0VmFsdWUoZSx0KX1nZXRKU09OKGUsdCl7cmV0dXJuIHRoaXMuZ2V0VmFsdWUoZSx0KX1zZXRKU09OKGUsdCl7dGhpcy5zZXRWYWx1ZShlLHQpfXJlbW92ZShlKXt0aGlzLl9sb2NhbFNldHRpbmdzLmhhc093blByb3BlcnR5KGUpJiZkZWxldGUgdGhpcy5fbG9jYWxTZXR0aW5nc1tlXX19dmFyIEFzPW8oMjMyOTQ4KSxNcz1vKDMwNTQ2Nik7ZnVuY3Rpb24gSXMoZSl7Y29uc3R7dmFsdWU6dCxpc01hcmtldEN1cnJlbmN5OmksY29udGVudDpufT1lCjtyZXR1cm4gdD09PUxzLlNZTUJPTD9fLnQobnVsbCx2b2lkIDAsbyg3MDk0OTcpKTppJiZ0PT09THMuTUFSS0VUP18udChudWxsLHZvaWQgMCxvKDkzOTEzNikpOmk/Xy50KG51bGwsdm9pZCAwLG8oOTM5MTM2KSkrYCAoJHtufSlgOm59ZnVuY3Rpb24gUnMoZSl7Y29uc3R7aXNHbG9iYWw6dCxmaW5hbmNpYWxDdXJyZW5jeTppLHN5bWJvbEN1cnJlbmNpZXM6bn09ZTtsZXQgcj1bXTt0JiZyLnB1c2goe3ZhbHVlOkxzLk1BUktFVCxpc01hcmtldEN1cnJlbmN5OiEwLGNvbnRlbnQ6Xy50KG51bGwsdm9pZCAwLG8oOTM5MTM2KSksZGVzY3JpcHRpb246Xy50KG51bGwsdm9pZCAwLG8oMzg3MzUyKSl9KTtjb25zdCBzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU/e3ZhbHVlOkxzLkdMT0JBTCxpc01hcmtldEN1cnJlbmN5OiExLGNvbnRlbnQ6RHMuVVNELGRlc2NyaXB0aW9uOl8udChudWxsLHZvaWQgMCxvKDYwNTY3NCkpfTp7dmFsdWU6dCxpc01hcmtldEN1cnJlbmN5OiEwLGNvbnRlbnQ6dCxkZXNjcmlwdGlvbjpfLnQobnVsbCx2b2lkIDAsbygzODczNTIpKX19KHQsaSk7ci5wdXNoKHMpO2NvbnN0IGE9T2JqZWN0LmtleXMoRHMpLmZpbHRlcigoZT0+ZSE9PWkpKSxsPWEubWFwKChlPT4oe3ZhbHVlOmUsaXNNYXJrZXRDdXJyZW5jeTohMSxjb250ZW50OmUsZGVzY3JpcHRpb246dm9pZCAwfSkpKTtyPVsuLi5yLC4uLmxdO3JldHVybiAxPT09bi5sZW5ndGgmJltpLC4uLmFdLmluY2x1ZGVzKG5bMF0pfHxyLnVuc2hpZnQoe3ZhbHVlOkxzLlNZTUJPTCxpc01hcmtldEN1cnJlbmN5OiExLGNvbnRlbnQ6Xy50KG51bGwsdm9pZCAwLG8oNzA5NDk3KSksZGVzY3JpcHRpb246Xy50KG51bGwsdm9pZCAwLG8oMTk0NjAwKSl9KSx7ZGVmYXVsdEN1cnJlbmN5OnMsY3VycmVuY2llczpyfX1jbGFzcyBGc3tjb25zdHJ1Y3RvcihlKXt0aGlzLmV2ZW50PSJjb252ZXJ0X2N1cnJlbmN5Iix0aGlzLnNvdXJjZT0iY29udmVydF9jdXJyZW5jeV9zZWxlY3RvciIsdGhpcy5sb2NhdGlvbj0idG9vbGJhciIsdGhpcy5zdGF0ZT0iIix0aGlzLnZhbHVlPWV9fXZhciBMcyxEcyxPcz1vKDQ4MjUwNCk7IWZ1bmN0aW9uKGUpe2UuTUFSS0VUPSJtYXJrZXQiLGUuU1lNQk9MPSJzeW1ib2wiLGUuR0xPQkFMPSJnbG9iYWwifShMc3x8KExzPXt9KSksZnVuY3Rpb24oZSl7ZS5VU0Q9IlVTRCJ9KERzfHwoRHM9e30pKTtjbGFzcyBOc3tjb25zdHJ1Y3RvcihlLHQsaSl7dGhpcy5jcmVhdGVDdXJyZW5jeVNlbGVjdD0oKT0+KHtzZWxlY3RCdXR0b246dGhpcy5faW5pdEN1cnJlbmN5U2VsZWN0KHskYmVmb3JlOnRoaXMuX3ZpZXcuJGZpbHRlclNldHNCdXR0b24ucGFyZW50KCl9KS5hdHRyKHsiZGF0YS1uYW1lIjoic2NyZWVuZXItcHJpY2UtY3VycmVuY3kiLCJkYXRhLXJvbGUiOiJidXR0b24ifSksY3VycmVuY3lTZWxlY3Q6dGhpc30pLHRoaXMuZ2V0UHJpY2VDb252ZXJzaW9uT2JqZWN0PSgpPT57Y29uc3R7dmFsdWU6ZSxpc01hcmtldEN1cnJlbmN5OnR9PXRoaXMuZ2V0Q3VycmVudEN1cnJlbmN5KCk7cmV0dXJuIGU9PT1Mcy5TWU1CT0w/e3RvX3N5bWJvbDohMH06dD97dG9fc3ltYm9sOiExfTplPT09THMuR0xPQkFMP251bGw6e3RvX3N5bWJvbDohMSx0b19jdXJyZW5jeTplfX0sdGhpcy5faW5pdEN1cnJlbmN5U2VsZWN0PWU9Pntjb25zdHskYmVmb3JlOnQ9bnVsbCwkYXBwZW5kVG86bz1udWxsLCRkcm9wZG93bkNvbnRhaW5lcjppPW51bGx9PWU7aWYoISh0fHxvKSl0aHJvdyBuZXcgRXJyb3IoIlByb3ZpZGUgYXQgbGVhc3Qgb25lIG9mICRiZWZvcmUgb3IgJGFwcGVuZFRvIGZvciBTZWNyZWVuZXJDdXJyZW5jeVNlbGVjdCIpO3JldHVybiBPbih7JGJlZm9yZTp0LCRhcHBlbmRUbzpvLCRkcm9wZG93bkNvbnRhaW5lcjppLG1ha2VTZWxlY3RQb3B1cDp0aGlzLl9jcmVhdGVTZWxlY3RCdXR0b24sYWZ0ZXJNYWtpbmdTZWxlY3RQb3B1cDp0aGlzLl9zZXRTZWxlY3RDb250ZW50LGFmdGVyU2VsZWN0UG9wdXBBcHBlbmQ6dGhpcy5fb25Mb2FkfSl9LHRoaXMuX2NyZWF0ZVNlbGVjdEJ1dHRvbj1lPT57Y29uc3QgdD17YnV0dG9uVGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNjEzMTQpKSwuLi5lfTtyZXR1cm4gdGhpcy5fdmlldy5fcG9wdXBzLnNldFNlbGVjdFBvcHVwKHt3cmFwQ2xhc3M6InR2LXNjcmVlbmVyLXRvb2xiYXJfX2N1cnJlbmN5LXNlbGVjdCIsYnV0dG9uQ2xhc3M6InR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbiB0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLWFycm93LWRvd24gdHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS13aXRoLXN0YXRlIGFwcGx5LWNvbW1vbi10b29sdGlwIGNvbW1vbi10b29sdGlwLWZpeGVkIn0sdCl9LHRoaXMuX3NldFNlbGVjdENvbnRlbnQ9KGUsdCxvKT0+e28uZW1wdHkoKTtmb3IoY29uc3QgZSBvZiB0aGlzLl9hdmFpbGFibGVDdXJyZW5jaWVzKXtjb25zdHt2YWx1ZTp0LGNvbnRlbnQ6aSxkZXNjcmlwdGlvbjpufT1lLHI9SXMoZSk7T3MoYDxkaXYgY2xhc3M9InR2LWRyb3Bkb3duLWJlaGF2aW9yX19pdGVtIj5cblx0XHRcdFx0PGRpdlxuXHRcdFx0XHRcdGRhdGEtY3VycmVuY3k9IiR7dH0iXG5cdFx0XHRcdFx0dGl0bGU9IiR7bnx8aX0iXG5cdFx0XHRcdFx0Y2xhc3M9InR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcCB0di1zY3JlZW5lci1wb3B1cF9faXRlbSBqcy1jdXJyZW5jeS1zZWxlY3QgJHt0PT09dGhpcy5fY3VycmVudEN1cnJlbmN5LnZhbHVlPyJ0di1zY3JlZW5lci1wb3B1cF9fY3VycmVuY3ktc2VsZWN0LS1hY3RpdmUiOiIifSJcblx0XHRcdFx0PlxuXHRcdFx0XHRcdCR7cn1cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5gKS5hcHBlbmRUbyhvKX1lLm9uKCJhZnRlck9wZW5NZW51IiwoKCk9PntvLm9uKCJjbGljayIsIi5qcy1jdXJyZW5jeS1zZWxlY3QiLCh0PT57dC5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IGk9dGhpcy5fY3VycmVudEN1cnJlbmN5LnZhbHVlLG49dC5jdXJyZW50VGFyZ2V0LmRhdGFzZXQuY3VycmVuY3kKO24mJm4hPT1pJiYoby5maW5kKCIudHYtc2NyZWVuZXItcG9wdXBfX2N1cnJlbmN5LXNlbGVjdC0tYWN0aXZlIikucmVtb3ZlQ2xhc3MoInR2LXNjcmVlbmVyLXBvcHVwX19jdXJyZW5jeS1zZWxlY3QtLWFjdGl2ZSIpLG8uZmluZChgW2RhdGEtY3VycmVuY3k9JyR7bn0nXWApLmFkZENsYXNzKCJ0di1zY3JlZW5lci1wb3B1cF9fY3VycmVuY3ktc2VsZWN0LS1hY3RpdmUiKSx0aGlzLl9oYW5kbGVTZWxlY3Qobiksc2V0VGltZW91dCgoKCk9PntlLnR2RHJvcGRvd24oImNsb3NlIiksby5vZmYoImNsaWNrIil9KSxtby5kdXIvMikpfSkpfSkpfSx0aGlzLl9oYW5kbGVTZWxlY3Q9ZT0+e3RoaXMuX2N1cnJlbnRDdXJyZW5jeT10aGlzLl9hdmFpbGFibGVDdXJyZW5jaWVzLmZpbHRlcigodD0+dC52YWx1ZT09PWUpKVswXSxmdW5jdGlvbihlKXtpZihlLmlzTWFya2V0Q3VycmVuY3kpcmV0dXJuIHZvaWQoMCxZby5zZW5kU25vd1Bsb3dEYXRhKShuZXcgRnMoIm1hcmtldF9jdXJyZW5jeSIpKTtpZihlLnZhbHVlPT09THMuU1lNQk9MKXJldHVybiB2b2lkKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IEZzKCJzeW1ib2xfY3VycmVuY3kiKSk7KDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IEZzKCJ1c2QiKSl9KHRoaXMuX2N1cnJlbnRDdXJyZW5jeSksdGhpcy5fdXBkYXRlU2VsZWN0QnV0dG9uKCksdGhpcy5fdmlldy5wcmV2ZW50SGlnaGxpZ2h0Q2hhbmdlcygpLHRoaXMuX3ZpZXcucmVmcmVzaCgpfSx0aGlzLl9vbkxvYWQ9KGUsdCk9Pnt0aGlzLl92aWV3Ll9tb2RlbC5sb2FkaW5nQ29tcGxldGUuc3Vic2NyaWJlKG51bGwsKCgpPT57dC5yZW1vdmVDbGFzcygiaS1kaXNhYmxlZCIpLHRoaXMuX3VwZGF0ZVNlbGVjdEJ1dHRvbigpfSksITApfSx0aGlzLl91cGRhdGVTZWxlY3RCdXR0b249KCk9Pntjb25zdHtjb250ZW50OmV9PXRoaXMuX2N1cnJlbnRDdXJyZW5jeSx0PV8udChudWxsLHZvaWQgMCxvKDM0MTI0NCkpK2A6ICR7ZX1gO3RoaXMuX3ZpZXcuXyRjdXJyZW5jeVNlbGVjdEJ1dHRvbi5odG1sKHQpfSx0aGlzLl9hdmFpbGFibGVDdXJyZW5jaWVzPWUsdGhpcy5fY3VycmVudEN1cnJlbmN5PXQsdGhpcy5fdmlldz1pfWdldEN1cnJlbnRDdXJyZW5jeSgpe3JldHVybiB0aGlzLl9jdXJyZW50Q3VycmVuY3l9fWZ1bmN0aW9uIFBzKGUsdCxvKXtvLl8kY3VycmVuY3lTZWxlY3RCdXR0b24mJihvLl8kY3VycmVuY3lTZWxlY3RCdXR0b24ucGFyZW50KCkucmVtb3ZlKCksby5fbW9kZWwuX2N1cnJlbmN5U2VsZWN0PXZvaWQgMCk7Y29uc3QgaT1vLl9icmlkZ2U7aWYoIWV8fCgwLEFuLmlzRXh0ZXJuYWxXaWRnZXQpKGkpfHxpLmhpZGVfY29udHJvbHMpcmV0dXJuO2NvbnN0IG49ZnVuY3Rpb24oZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZS5fbW9kZWwubWFya2V0cykmJmUuX21vZGVsLm1hcmtldHMubGVuZ3RoPjF9KG8pLHtkZWZhdWx0Q3VycmVuY3k6cixjdXJyZW5jaWVzOnN9PVJzKHtpc0dsb2JhbDpuLGZpbmFuY2lhbEN1cnJlbmN5OmUsc3ltYm9sQ3VycmVuY2llczp0fSk7aWYoMT09PXMubGVuZ3RoKXJldHVybjtjb25zdCBhPW5ldyBOcyhzLHIsbykse3NlbGVjdEJ1dHRvbjpsLGN1cnJlbmN5U2VsZWN0OmN9PWEuY3JlYXRlQ3VycmVuY3lTZWxlY3QoKTtvLl8kY3VycmVuY3lTZWxlY3RCdXR0b249bCxvLl9tb2RlbC5fY3VycmVuY3lTZWxlY3Q9Y312YXIgQnM9byg5MjY5OTUpLCRzPW8oMzUxODI3KTtjb25zdCBXcz17c3RvY2s6e3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDU2MzUzMCkpLGNvbnRlbnRUZXh0Ol8udChudWxsLHZvaWQgMCxvKDMyNzMwNSkpLGNvbmZpcm1BY3Rpb246e3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDUzMjEwOSkpLGhhbmRsZXI6KCk9PndpbmRvdy5vcGVuKCIvc2NyZWVuZXIvIiwiX2JsYW5rIil9LGNsb3NlQWN0aW9uOnt0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygzMjI5ODYpKSxoYW5kbGVyOigpPT4oMCxCcy5zaG93U3VwcG9ydERpYWxvZykoe3NvbHV0aW9uSWQ6NDMwMDA3MTg4NjZ9KX19LGNyeXB0bzp7dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNzQ4NTQ0KSksY29udGVudFRleHQ6Xy50KG51bGwse3JlcGxhY2U6e2NyeXB0b0NvaW5zU2NyZWVuZXJMaW5rU3RhcnQ6YDxhIGhyZWY9Ii9jcnlwdG8tY29pbnMtc2NyZWVuZXIvP2Zyb209b2xkLWNyeXB0by1wYWlycyIgY2xhc3M9IiR7JHMubGlua30iIHRhcmdldD0iX2JsYW5rIj5gLGNleFNjcmVlbmVyTGlua1N0YXJ0OmA8YSBocmVmPSIvY2V4LXNjcmVlbmVyLz9mcm9tPW9sZC1jcnlwdG8tcGFpcnMiIGNsYXNzPSIkeyRzLmxpbmt9IiB0YXJnZXQ9Il9ibGFuayI+YCxkZXhTY3JlZW5lckxpbmtTdGFydDpgPGEgaHJlZj0iL2RleC1zY3JlZW5lci8/ZnJvbT1vbGQtY3J5cHRvLXBhaXJzIiBjbGFzcz0iJHskcy5saW5rfSIgdGFyZ2V0PSJfYmxhbmsiPmAsbGlua0VuZDoiPC9hPiJ9fSxvKDUyOTE2MCkpLGNvbmZpcm1BY3Rpb246e3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDI5MjAzOCkpLGhhbmRsZXI6KCk9PndpbmRvdy5vcGVuKCIvY2V4LXNjcmVlbmVyLz9mcm9tPW9sZC1jcnlwdG8tcGFpcnMiLCJfYmxhbmsiKX0sY2xvc2VBY3Rpb246e3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDcyNDkxMikpLGhhbmRsZXI6KCk9Pnt9fX19O3ZhciBxcz1vKDc0Njk0OSksVnM9byg0ODI1MDQpO28oNzExOTc5KTtjb25zdCBIcz1vKDIyNTI5OCkubGlua2luZyx7RGVsZWdhdGU6VXN9PW8oOTQ4MzgwKSx6cz1vKDE2MDI5NiksanM9bygyMjEwNjEpLmdldExvZ2dlcigiU2NyZWVuZXIuV2lkZ2V0IiksR3M9d2luZG93LmxvY2FsZXx8ImVuIjtsZXQgWHM9MTUwO2NvbnN0IEtzPWU9Pkl0W2VdJiYhMCE9PUl0W2VdLmRpc2FibGVkJiYhMCE9PUl0W2VdLmhpZGRlbkNvbHVtbixZcz17Zm9yZXg6InNjcmVlbmVyLWZvcmV4IixjcnlwdG86InNjcmVlbmVyLWNyeXB0byIsc3RvY2s6InNjcmVlbmVyIn0sSnM9WyJwcmljZXNjYWxlIiwibWlubW92IiwiZnJhY3Rpb25hbCIsIm1pbm1vdmUyIl07dmFyIFpzPW8oNDgyNTA0KTsoMCxfby5lbmFibGUpKCJ3aWRnZXQiKTtjb25zdCBRcz0oMCwKc28uZXh0cmFjdFdpZGdldFNldHRpbmdzKSh3aW5kb3cuaW5pdERhdGEud2lkZ2V0RGVmYXVsdHMpLGVhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNqcy1zY3JlZW5lci1jb250YWluZXIiKSx0YT1Rcy5sb2NhbGV8fCJlbiI7IWZ1bmN0aW9uKGUsdCxvLGk9e30pe2lmKG51bGw9PT1lLnBhcmVudEVsZW1lbnQpcmV0dXJuIGNvbnNvbGUud2FybigiQ2FuIG5vdCB3cmFwICdlbFdpZGdldENvbnRhaW5lcicgYmVjYXVzZSBpdCBoYXMgbm8gcGFyZW50RWxlbWVudCIpLGU7bGV0IG49bnVsbCxkPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5qcy1lbWJlZC13aWRnZXQtYm9keSIpO2NvbnN0IGg9bnVsbCE9PWQ7aWYoaCl7ZD0oMCxyLmVuc3VyZU5vdE51bGwpKGQpLG49KDAsci5lbnN1cmVOb3ROdWxsKShkLnBhcmVudEVsZW1lbnQpO2xldCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5qcy1lbWJlZC13aWRnZXQtaGVhZCIpO251bGw9PT1lJiYoZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxlLmNsYXNzTGlzdC5hZGQoInR2LWVtYmVkLXdpZGdldC13cmFwcGVyX19oZWFkZXIiKSxlLmNsYXNzTGlzdC5hZGQoImpzLWVtYmVkLXdpZGdldC1oZWFkIiksbi5pbnNlcnRCZWZvcmUoZSxkKSl9ZWxzZSBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLG4uY2xhc3NMaXN0LmFkZCgidHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXIiKSxuLmlubmVySFRNTD0nPGRpdiBjbGFzcz0idHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXJfX2hlYWRlciBqcy1lbWJlZC13aWRnZXQtaGVhZCI+PC9kaXY+PGRpdiBjbGFzcz0idHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXJfX2JvZHkganMtZW1iZWQtd2lkZ2V0LWJvZHkiPjwvZGl2PicsZD1uLnF1ZXJ5U2VsZWN0b3IoIi5qcy1lbWJlZC13aWRnZXQtYm9keSIpO2lmKGkub3ZlcmZsb3dBdXRvJiZkLmNsYXNzTGlzdC5hZGQoInR2LWVtYmVkLXdpZGdldC13cmFwcGVyX19ib2R5LS1vdmVyZmxvd19hdXRvIiksaS5zaG93Qm9yZGVyT25UcmFuc3BhcmVudCYmZC5jbGFzc0xpc3QuYWRkKCJ0di1lbWJlZC13aWRnZXQtd3JhcHBlcl9fYm9keS0tYm9yZGVyLW9uLXRyYW5zcGFyZW50IiksIWkuaXNXaGl0ZUxhYmVsKXshYXN5bmMgZnVuY3Rpb24oZSx0LG8saSxuPXt9KXtjb25zdCBkPW4uaXNTaGVyaWZmRGlzYWJsZWQ/W106YXdhaXQoMCxzLmdldFdpZGdldFNoZXJpZmZBY3Rpb25zKSgpLGg9ZC5pbmNsdWRlcyhjLktub3duQWN0aW9uLkxhcmdlVHJhZGVMb2dvKSx1PWZ1bmN0aW9uKGUpe3JldHVyblsiY3J5cHRvLWNvaW5zLWhlYXRtYXAiLCJmb3JleC1jcm9zcy1yYXRlcyIsIm1hcmtldC1vdmVydmlldyIsInN5bWJvbC1vdmVydmlldyIsIm1hcmtldC1xdW90ZXMiLCJzdG9jay1oZWF0bWFwIiwic2NyZWVuZXIiLCJmb3JleC1oZWF0LW1hcCIsImNyeXB0by1ta3Qtc2NyZWVuZXIiLCJldmVudHMiLCJob3RsaXN0cyJdLmluY2x1ZGVzKGUpfSh0KSxfPWgmJnU/ImxhcmdlX3RyYWRlIjp2b2lkIDAscD1hd2FpdCgwLGwuZ2V0Q3VzdG9tZXJDb3B5cmlnaHREYXRhKShuLmN1c3RvbWVyLG4ubG9jYWxlLCgwLGwuYWRkVXRtQ2FtcGFpZ25Tb3VyY2UpKHsuLi5pfSwibG9nbyIpLF8pLG09Xz8/bi5jb3B5cmlnaHRPcHRpb25zPy5tb2RlPz8ic21hbGxfb2xkIjsoMCxyLmVuc3VyZU5vdE51bGwpKGUpLmFwcGVuZENoaWxkKCgwLGEuY3JlYXRlQ29weXJpZ2h0TGFiZWwpKHtzaGVyaWZmT3B0aW9uczpkLHNuYXBUb0VkZ2U6bywuLi5uLmNvcHlyaWdodE9wdGlvbnMsLi4ucCxtb2RlOm19KSl9KGQsdCwhZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygiaXMtdHJhbnNwYXJlbnQiKXx8Qm9vbGVhbihpLnNob3dCb3JkZXJPblRyYW5zcGFyZW50KSxvLGkpfWh8fChlLnBhcmVudEVsZW1lbnQuaW5zZXJ0QmVmb3JlKG4sZSksZC5hcHBlbmRDaGlsZChlKSl9KGVhLCJzY3JlZW5lciIsKDAsdS5maWx0ZXJVdG1JbmZvKShRcykse2lzV2hpdGVMYWJlbDpRcy53aGl0ZWxhYmVsLGxvY2FsZTp0YSxvdmVyZmxvd0F1dG86ITB9KTtjb25zdCBvYT1acygiI2pzLXNjcmVlbmVyLWNvbnRhaW5lciIpLGlhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5qcy1lbWJlZC13aWRnZXQtaGVhZCIpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuanMtZW1iZWQtd2lkZ2V0LWJvZHkiKS5zdHlsZS5oZWlnaHQ9YGNhbGMoMTAwJSAtICR7aWF9cHgpYCxRcy5pc1RyYW5zcGFyZW50JiZvYS5hZGRDbGFzcygidHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXItLXRyYW5zcGFyZW50Iik7Y29uc3QgbmE9ZnVuY3Rpb24oZSl7Y29uc3QgdD1ubyhGKCJzdG9jayIpLGUpLG89bm8oRigiZm9yZXgiKSxlKSxpPW5vKEYoImNyeXB0byIpLGUpO3JldHVybiB0LmNvbmNhdChvKS5jb25jYXQoaSl9KHdpbmRvdy5UcmFkaW5nVmlldy53aWRnZXRDdXN0b21lcikubWFwKChlPT5lLnZhbHVlKSkscmE9WyJtb3JvY2NvIl0sc2E9W107aWYoUXMucGVybWlzc2lvbk92ZXJyaWRlcz8ubWFya2V0Py5pbmNsdWRlcygidWsiKXx8c2EucHVzaCgidWsiKSxRcy5tYXJrZXQpe2NvbnN0IGU9IW5hLmluY2x1ZGVzKFFzLm1hcmtldCksdD1yYS5pbmNsdWRlcyhRcy5tYXJrZXQpLG89c2EuaW5jbHVkZXMoUXMubWFya2V0KTsoZSYmIXR8fG8pJiYoUXMubWFya2V0PW5hWzBdKX12YXIgYWE7UXMuc2NyZWVuZXJfdHlwZXx8KFFzLnNjcmVlbmVyX3R5cGU9dm9pZCAwPT09KGFhPVFzLm1hcmtldCk/ZC5TdG9jazpbImZvcmV4IiwiY3J5cHRvIl0uaW5jbHVkZXMoYWEpP2FhOmQuU3RvY2spO2NvbnN0IGxhPVFzLnNjcmVlbmVyX3R5cGU9PT1kLkNyeXB0b01rdD8iY3J5cHRvbWt0c2NyZWVuZXIiOiJmb3JleHNjcmVlbmVyIixjYT1Rcy5zY3JlZW5lcl90eXBlPT09ZC5DcnlwdG9Na3Q/ImNyeXB0by1ta3Qtc2NyZWVuZXIiOiJzY3JlZW5lciI7IWFzeW5jIGZ1bmN0aW9uKGUpe2F3YWl0IG5ldyBQcm9taXNlKChlPT5zZXRUaW1lb3V0KGUsMCkpKSwoYXdhaXQoMCwKYW8uZ2V0VHJhY2tlcikoKSk/LnRyYWNrU2VsZkRlc2MoImlnbHU6Y29tLnRyYWRpbmd2aWV3L3dpZGdldHNfd2l0aG91dF93ZWJzb2NrZXQvanNvbnNjaGVtYS8xLTAtMCIsey4uLmhvKCksd2lkZ2V0X2lkOmUsZXZlbnRfbmFtZToicGFnZV92aWV3In0pfShsYSk7dHJ5eygwLHVvLnRyYWNrV2lkZ2V0TG9hZE1ldGFJbmZvKSh7d2lkZ2V0X2lkOmNhLHN5bWJvbHM6SlNPTi5zdHJpbmdpZnkoW1FzLm1hcmtldF0pLGN1c3RvbWVyOlFzLmN1c3RvbWVyfSl9Y2F0Y2h7fWNvbnN0IGRhPXskYm9keTpvYSxzdGFuZGFsb25lOiExLG9uV2lkZ2V0OiEwLHdpZGdldFNldHRpbmdzOlFzLGhpZGVfY29udHJvbHM6IVFzLnNob3dUb29sYmFyLG1hcmtlZF9zeW1ib2xzX2Rpc2FibGVkOiEwLHRhYmxlX2NvbnRleHRfbWVudV9kaXNhYmxlZDohMSxvcGVuX2NoYXJ0X29uX3NhbWVfdGFiOiExLHNlbGVjdGlvbl9kaXNhYmxlZDohMCxkaXNhYmxlU3RpY2t5SGVhZGVyOiExLGlzVW5hdmFpbGFibGVXaWRnZXRNYXJrZXQ6ISghUXMubWFya2V0fHwhZnVuY3Rpb24oZSl7cmV0dXJuIFcuaW5jbHVkZXMoZSl9KFFzLm1hcmtldCkpfTtWKClbUXMubWFya2V0XSYmKGRhLnVuYXZhaWxhYmxlV2lkZ2V0RXhjaGFuZ2VzPVYoKVtRcy5tYXJrZXRdKSxuZXcgY2xhc3N7Y29uc3RydWN0b3IoZSl7aWYodGhpcy5fYnJpZGdlPWUsdGhpcy5fcGVuZGluZ1Byb21pc2U9bnVsbCwhKCIkYm9keSJpbiBlKSYmImNvbnRhaW5lciJpbiBlJiYodGhpcy5fYnJpZGdlLiRib2R5PVZzKGUuY29udGFpbmVyKSksdGhpcy5fYnJpZGdlLm9uV2lkZ2V0fHwiYmlnIj09PXRoaXMuX2JyaWRnZS50YWJsZV9zdHlsZT90aGlzLnNldHRpbmdzU2F2ZXI9bmV3IHhzOnRoaXMuc2V0dGluZ3NTYXZlcj1uLHRoaXMuX2JyaWRnZS5wYWdlX3NpemUmJihYcz10aGlzLl9icmlkZ2UucGFnZV9zaXplKSx0aGlzLl9icmlkZ2Uub25XaWRnZXQpe2xldCB0O2lmKGUud2lkZ2V0U2V0dGluZ3MubGFyZ2VDaGFydFVybCl7dD1lLndpZGdldFNldHRpbmdzLmxhcmdlQ2hhcnRVcmw7dC5tYXRjaCgvXmh0dHBzPzpcL1wvLyl8fCh0PSJodHRwOi8vIit0KX1pZih0aGlzLmxhcmdlQ2hhcnRVcmw9dCx0aGlzLnV0bT0oMCx1LmZpbHRlclV0bUluZm8pKGUud2lkZ2V0U2V0dGluZ3MpLHRoaXMuc2NyZWVuZXJfdHlwZT1lLndpZGdldFNldHRpbmdzLnNjcmVlbmVyX3R5cGUsImNyeXB0b19ta3QiPT09dGhpcy5zY3JlZW5lcl90eXBlKXtjb25zdCB0PSJCVEMiPT09ZS53aWRnZXRTZXR0aW5ncy5kaXNwbGF5Q3VycmVuY3k/IkJUQyI6IlVTRCI7dGhpcy5zd2l0Y2hGaWx0ZXI9e2xlZnQ6Im5hbWUiLG9wZXJhdGlvbjoibWF0Y2giLHJpZ2h0OnQrIiQifSxadC51bnNoaWZ0KHtpZDoiY3J5cHRvX21rdCIsdGl0bGU6ImNyeXB0b19ta3QiLGNvbnRlbnQ6e3NvcnRfZmllbGQ6Im1hcmtldF9jYXBfY2FsYyIsc29ydF9kaXJlY3Rpb246ImRlc2MiLGZpbHRlcnM6e3NlY3Rvcjp7b3BlcmF0b3I6Im5lbXB0eSJ9fX19KX19ZWxzZSB0aGlzLl9icmlkZ2Uuc3RhbmRhbG9uZT90aGlzLnNjcmVlbmVyX3R5cGU9ZS5zY3JlZW5lcl90eXBlfHwic3RvY2siOnRoaXMuc2NyZWVuZXJfdHlwZT1kLkNyeXB0bzt0aGlzLnNldHRpbmdLZXk9WXNbdGhpcy5zY3JlZW5lcl90eXBlXXx8WXMuc3RvY2ssdGhpcy5fYnJpZGdlLm9uV2lkZ2V0JiZ0aGlzLnNldHRpbmdzU2F2ZXIuc2V0VmFsdWUoYCR7R3N9LiR7dGhpcy5zZXR0aW5nS2V5fS5tYXJrZXRgLGUud2lkZ2V0U2V0dGluZ3MubWFya2V0LHtmb3JjZUZsdXNoOiEwfSksdGhpcy5kZWZhdWx0RmllbGRTZXRzPWcoe3NjcmVlbmVyVHlwZTp0aGlzLnNjcmVlbmVyX3R5cGUsbWFya2V0czp0aGlzLm1hcmtldHMsaXNDb21wYWN0OnRoaXMuaXNTZXJ2ZXJSZW5kZXIoKSxzdWJ0eXBlOnRoaXMuX3NjcmVlbmVyU3VidHlwZSgpLGlzT25XaWRnZXQ6dGhpcy5fYnJpZGdlLm9uV2lkZ2V0fSksdGhpcy5fYnJpZGdlLm9uV2lkZ2V0JiYodGhpcy5fd2lkZ2V0SW5pdENvbHVtbj1lLndpZGdldFNldHRpbmdzLmRlZmF1bHRDb2x1bW58fHRoaXMuZGVmYXVsdEZpZWxkU2V0c1swXS5pZCx0aGlzLl93aWRnZXRJbml0U2NyZWVuPWUud2lkZ2V0U2V0dGluZ3MuZGVmYXVsdFNjcmVlbnx8WnRbMF0uaWQpLFB0KHRoaXMuc2NyZWVuZXJfdHlwZSx0aGlzLl9zY3JlZW5lclN1YnR5cGUoKSksImZvcmV4Ij09PXRoaXMuc2NyZWVuZXJfdHlwZSYmUXQoWyJmb3JleCJdKSx0aGlzLl9icmlkZ2UuZ2V0Q3VycmVudEZpbHRlclNldElkPSgpPT50aGlzLmN1cnJlbnRGaWx0ZXJTZXRJZCgpLHRoaXMuX2JyaWRnZS5hcHBseVN5bWJvbD0oZSx0PSExKT0+e2lmKCEwPT09dHx8dGhpcy5fYnJpZGdlLnN0YW5kYWxvbmUpe2xldCB0PSIiO2NvbnN0IG89KDAsTXMuZ2V0U2hvcnROYW1lQW5kUHJvTmFtZSkoZSk7dD10aGlzLl9icmlkZ2Uub25XaWRnZXQmJnRoaXMubGFyZ2VDaGFydFVybD8oMCxMci5tYWtlVGVtcGxhdGVTeW1ib2xVcmwpKHRoaXMubGFyZ2VDaGFydFVybCxvKTooMCxMci5tYWtlU3ltYm9sQ2hhcnRVcmwpKG8sdGhpcy51dG0pLHdpbmRvdy5vcGVuKHQpfWVsc2UgSHMuc2V0U3ltYm9sQW5kTG9nSW5pdGlhdG9yKGUsInNjcmVlbmVyIil9LHRoaXMuX2JyaWRnZS5hcHBseUZpbHRlclNldD0oZSx0KT0+e2NvbnN0IG89ISgwLF9pLmRlZmF1bHQpKHQuc29ydCgpLHRoaXMubWFya2V0cy5zb3J0KCkpLGk9b3x8ZSE9PXRoaXMuY3VycmVudEZpbHRlclNldElkKCk7bGV0IG49bz90aGlzLnNldE1hcmtldCh0KS50aGVuKCgoKT0+dGhpcy5fdmlldy51cGRhdGVNYXJrZXRCdXR0b24oKSkpOlByb21pc2UucmVzb2x2ZSgpO3JldHVybiBpJiYobj1uLnRoZW4oKCgpPT50aGlzLmFwcGx5RmlsdGVyU2V0KGUpKSkpLG59LHRoaXMuZGlzYWJsZWQ9bmV3IHBvLldhdGNoZWRWYWx1ZSx0aGlzLmZpZWxkc09yZGVyPW5ldyBwby5XYXRjaGVkVmFsdWUsdGhpcy5fc29ydEZpZWxkPW5ldyBwby5XYXRjaGVkVmFsdWUsdGhpcy5fc29ydERpcmVjdGlvbj1uZXcgcG8uV2F0Y2hlZFZhbHVlLHRoaXMuZW9kUmVzdHJpY3Rpb249bmV3IHBvLldhdGNoZWRWYWx1ZShXby5Ob25lKSwKdGhpcy5fb3B0aW9ucz17fSx0aGlzLl9pbml0aWFsU29ydEZpZWxkPWUuc29ydF9maWVsZHx8dGhpcy5zZXR0aW5nc1NhdmVyLmdldFZhbHVlKHRoaXMuc2V0dGluZ0tleSsiLnNvcnRfZmllbGQiLCJtYXJrZXRfY2FwX2Jhc2ljIiksdGhpcy5faW5pdGlhbFNvcnREaXJlY3Rpb249ZS5zb3J0X2RpcmVjdGlvbnx8dGhpcy5zZXR0aW5nc1NhdmVyLmdldFZhbHVlKHRoaXMuc2V0dGluZ0tleSsiLnNvcnRfZGlyZWN0aW9uIiwiZGVzYyIpLHRoaXMudXBkYXRlPSgwLHZvLmRlZmF1bHQpKHRoaXMudXBkYXRlSW1wbC5iaW5kKHRoaXMpLDEwMCksdGhpcy5fc29ydEZpZWxkLnN1YnNjcmliZSgoZT0+e3RoaXMuX3ZpZXcuX3VwZGF0ZVRhYmxlU29ydEZpZWxkKCksdGhpcy5zYXZlRmlsdGVyc1NldHRpbmdzKCksZGVsZXRlIHRoaXMuX2luaXRpYWxTb3J0RmllbGR9KSksdGhpcy5fc29ydERpcmVjdGlvbi5zdWJzY3JpYmUoKGU9Pnt0aGlzLl92aWV3Ll91cGRhdGVUYWJsZVNvcnRGaWVsZCgpLHRoaXMuc2F2ZUZpbHRlcnNTZXR0aW5ncygpLGRlbGV0ZSB0aGlzLl9pbml0aWFsU29ydERpcmVjdGlvbn0pKSx0aGlzLmlzU2NyZWVuZXJXaWRnZXRVcGRhdGVkSW1wbD0hMSx0aGlzLl9icmlkZ2UudmlzaWJsZSYmKDAsQW4uaXNDaGFydFBhZ2UpKHRoaXMuX2JyaWRnZSkmJnRoaXMuX2JyaWRnZS52aXNpYmxlLnN1YnNjcmliZSgoZT0+eyF0aGlzLmlzU2NyZWVuZXJXaWRnZXRVcGRhdGVkSW1wbCYmZSYmKHRoaXMuaW52YWxpZGF0ZVJlcXVlc3QoKSx0aGlzLl9icmlkZ2UuZGlzYWJsZVN0aWNreUhlYWRlcj90aGlzLnVwZGF0ZUltcGwoKTp0aGlzLnVwZGF0ZUltcGwodGhpcy5fdmlldy5fc2V0dXBTdGlja3lIZWFkZXIuYmluZCh0aGlzLl92aWV3KSksdGhpcy5pc1NjcmVlbmVyV2lkZ2V0VXBkYXRlZEltcGw9ITApfSkpLHRoaXMuc2NhblJlcXVlc3Q9bnVsbCx0aGlzLmxvYWRpbmdTdGFydD1uZXcgVXMsdGhpcy5sb2FkaW5nQ29tcGxldGU9bmV3IFVzLHRoaXMuZmllbGRTZXRDaGFuZ2VkPW5ldyBVcyx0aGlzLmZpZWxkU2V0U2F2ZWQ9bmV3IFVzLHRoaXMuZmlsdGVyU2V0Q2hhbmdlZD1uZXcgVXMsdGhpcy5maWx0ZXJTZXRTYXZlZD1uZXcgVXMsdGhpcy5maWx0ZXJTZXREZWxldGVkPW5ldyBVcyx0aGlzLm1heFNhZmVJbnRlZ2VyPU51bWJlci5NQVhfU0FGRV9JTlRFR0VSfHxNYXRoLnBvdygyLDUzKS0xLHRoaXMubWluU2FmZUludGVnZXI9TnVtYmVyLk1JTl9TQUZFX0lOVEVHRVJ8fC0oTWF0aC5wb3coMiw1MyktMSksdGhpcy5fdGlja2Vycz1bXSwiY29udGludW91c19mdXR1cmVzIj09PXRoaXMuc2NyZWVuZXJfdHlwZSYmKHRoaXMuX2JyaWRnZS5vcGVuX2NoYXJ0X29uX3NhbWVfdGFiPSExKSx0aGlzLl9icmlkZ2UuaGlkZV9jb250cm9sc3x8dGhpcy5faW5pdFhXaW5kb3dIYW5kbGVycygpLHRoaXMuX3ZpZXc9bmV3IGJzKGUsdGhpcyk7Y29uc3QgdD1bdGhpcy5faW5pdE1hcmtlZFN5bWJvbHModGhpcy5fdmlldyldO3ZhciBpOyF0aGlzLl9icmlkZ2UuX29uV2lkZ2V0JiZ3aW5kb3cucHJvJiZ0LnB1c2god2luZG93LnByby5lbnN1cmVWYWxpZFNob3BDb25mKCkpLFByb21pc2UuYWxsKHQpLnRoZW4oKCgpPT57aWYoKDAsa3MuaXNGZWF0dXJlRW5hYmxlZCkoInNjcmVlbmVyLW1haW50ZW5hbmNlIikpcmV0dXJuIHZvaWQgdGhpcy5fdmlldy5zaG93TWFpbnRlbmFuY2UoKTt0aGlzLl92aWV3LnByZXBhcmVMYXlvdXQoKTtjb25zdCBlPSgpPT57dGhpcy5fY2hlY2tDdXJyZW50U2V0cygpLHRoaXMuX3ZpZXcuX3NlbGVjdGVkUGVyaW9kSWQmJiJ0b2RheSI9PT10aGlzLl92aWV3Ll9zZWxlY3RlZFBlcmlvZElkPyh0aGlzLmFwcGx5RmllbGRTZXRDb250ZW50KG0pLHRoaXMuX3NvcnRGaWVsZC5zZXRWYWx1ZSgibmFtZSIpLHRoaXMuX3NvcnREaXJlY3Rpb24uc2V0VmFsdWUoImFzYyIpKTp0aGlzLmFwcGx5RmllbGRTZXQodGhpcy5fd2lkZ2V0SW5pdENvbHVtbnx8dGhpcy5jdXJyZW50RmllbGRTZXRJZCgpLCEwKSx0aGlzLmFwcGx5RmlsdGVyU2V0KHRoaXMuX3dpZGdldEluaXRTY3JlZW58fHRoaXMuY3VycmVudEZpbHRlclNldElkKCksITApLHRoaXMuX3VwZGF0ZUVvZFJlc3RyaWN0aW9uKCksKDAsQW4uaXNDaGFydFBhZ2UpKHRoaXMuX2JyaWRnZSkmJnRoaXMuX2JyaWRnZS52aXNpYmxlJiYhdGhpcy5fYnJpZGdlLnZpc2libGUudmFsdWUoKXx8KHRoaXMuX2JyaWRnZS5kaXNhYmxlU3RpY2t5SGVhZGVyP3RoaXMudXBkYXRlSW1wbCgpOnRoaXMudXBkYXRlSW1wbCh0aGlzLl92aWV3Ll9zZXR1cFN0aWNreUhlYWRlci5iaW5kKHRoaXMuX3ZpZXcpKSx0aGlzLmlzU2NyZWVuZXJXaWRnZXRVcGRhdGVkSW1wbD0hMCl9O2lmKHRoaXMuaXNTZXJ2ZXJSZW5kZXIoKSl0aGlzLmdldE1ldGFJbmZvKCksdGhpcy5nZXRVc2VyU2V0dGluZ3MoKSxlKCk7ZWxzZXtjb25zdCB0PVt0aGlzLmdldE1ldGFJbmZvKCksdGhpcy5nZXRVc2VyU2V0dGluZ3MoKV07UHJvbWlzZS5hbGwodCkudGhlbihlKX13aW5kb3cubG9naW5TdGF0ZUNoYW5nZSYmd2luZG93LmxvZ2luU3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKG51bGwsKGU9PnRoaXMub25Mb2dpblN0YXRlQ2hhbmdlKGUpKSksenMuaXNQcm9kKCl8fCh3aW5kb3cuX2V4cG9zZWRfc2NyZWVuZXJXaWRnZXQ9dGhpcyksdGhpcy5pc1NlcnZlclJlbmRlcigpJiZkZWxldGUgdGhpcy5fYnJpZGdlLnNlcnZlcl9kYXRhfSkpLCgwLFlvLmluaXRTY3JlZW5lckluc3RhbmNlKSh0aGlzKSxlLnN0YW5kYWxvbmUmJlsic3RvY2siLCJjcnlwdG8iXS5pbmNsdWRlcyhlLnNjcmVlbmVyX3R5cGUpJiYhZS5wZXJpb2RfcGlja2VyJiYoaT17bm90aWZpY2F0aW9uRGF0YTpXc1tlLnNjcmVlbmVyX3R5cGVdfSxQcm9taXNlLmFsbChbby5lKDI5Mjk2KSxvLmUoNTIzOTYpLG8uZSg2MDA2Miksby5lKDIwMzU0KSxvLmUoMTM0OTIpLG8uZSgzNzc0Niksby5lKDEyMDUxKSxvLmUoNjg5NDIpLG8uZSgzOTYwOSksby5lKDUyNDUzKV0pLnRoZW4oby5iaW5kKG8sNzMwMjU3KSkudGhlbigoZT0+ZS5zaG93U2NyZWVuZXJOZXdTdGFuZGFsb25lRGlhbG9nKGkpKSkpfWFzeW5jIF9pbml0TWFya2VkU3ltYm9scyhlKXsKaWYoIXRoaXMuaGFzTWFya2VkU3ltYm9scygpKXJldHVybjtjb25zdCB0PWF3YWl0IFByb21pc2UuYWxsKFtvLmUoODQyNjkpLG8uZSgyOTI5Niksby5lKDUyMzk2KSxvLmUoNjAwNjIpLG8uZSgyMDM1NCksby5lKDEzNDkyKSxvLmUoMzc3NDYpLG8uZSgxMjA1MSksby5lKDg5MDQ0KSxvLmUoNzg0MDQpLG8uZSgzOTYwOSksby5lKDE0ODg5KSxvLmUoODU0MzQpLG8uZSgyODUxKSxvLmUoNDM5ODApLG8uZSgzNDcpXSkudGhlbihvLmJpbmQobywyMzUxODYpKSxpPWF3YWl0IFByb21pc2UuYWxsKFtvLmUoODQyNjkpLG8uZSgyOTI5Niksby5lKDUyMzk2KSxvLmUoNjAwNjIpLG8uZSgyMDM1NCksby5lKDEzNDkyKSxvLmUoMzc3NDYpLG8uZSgxMjA1MSksby5lKDg5MDQ0KSxvLmUoNzg0MDQpLG8uZSgzOTYwOSksby5lKDE0ODg5KSxvLmUoODU0MzQpLG8uZSgyODUxKSxvLmUoNDM5ODApLG8uZSgzNDcpXSkudGhlbihvLmJpbmQobyw1NjI4ODUpKTt0aGlzLm1hcmthYmxlU3ltYm9scz1uZXcgdC5NYXJrYWJsZVN5bWJvbHMoe3N5bWJvbHNWaWV3OmUsbWFya2VyQ29udGFpbmVyU2VsZWN0b3I6Ii50di1zY3JlZW5lci10YWJsZV9fc3ltYm9sLWFkZGl0aW9uIixhY3RpdmVNYXJrZXJDbGFzczoidHYtc2NyZWVuZXItdGFibGVfX21hcmtlci0tYWN0aXZlIixhZGRpdGlvbmFsTWFya2VyQ2xhc3M6InR2LXNjcmVlbmVyLXRhYmxlX19tYXJrZXIifSk7dGhpcy5fbWFya2VkU3ltYm9sc0ZpbHRlcj1uZXcgaS5NYXJrZWRTeW1ib2xzRmlsdGVyKHtzeW1ib2xzVmlldzplLGNvbnRhaW5lclNlbGVjdG9yOiIudHYtc2NyZWVuZXItdGFibGVfX2hlYWQtbGVmdC0tdGV4dCIsY2xhc3NOYW1lOiJ0di1zY3JlZW5lci10YWJsZV9faGVhZC1sZWZ0LS1tYXJrZXIiLGRpc2FibGVTYXZlU3RhdGU6dGhpcy5fYnJpZGdlLmRpc2FibGVTYXZlTWFya2VkU3ltYm9sc0ZpbHRlcn0pO2NvbnN0IG49dGhpcy5fbWFya2VkU3ltYm9sc0ZpbHRlci5nZXRTdHJlYW0oKTt0aGlzLl90aWNrZXJzPXRoaXMuX2luaXRUaWNrZXJzfHx0aGlzLl9tYXJrZWRTeW1ib2xzRmlsdGVyLmdldFN5bWJvbHNGb3JTY2FuKCksdGhpcy5fbWFya2VkU3ltYm9sc0ZpbHRlci5pc0FjdGl2ZSgpJiYodGhpcy5fYnJpZGdlLnNlcnZlcl9kYXRhPW51bGwpO2xldCByPSEwO24ub24oaS5GaWx0ZXJFdmVudHMuSW5pdCwoKCk9Pnt0aGlzLl90aWNrZXJzPXRoaXMuX2luaXRUaWNrZXJzfHx0aGlzLl9tYXJrZWRTeW1ib2xzRmlsdGVyLmdldFN5bWJvbHNGb3JTY2FuKCkscj0hMX0pKSxuLm9uKGkuRmlsdGVyRXZlbnRzLkZpbHRlckJ5TWFya2VkU3ltYm9scywoZT0+e2lmKCFyKXtjb25zdCBlPXRoaXMuX21hcmtlZFN5bWJvbHNGaWx0ZXIuX2NvbG9yTWFuYWdlci5nZXRDb2xvcigpOygwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBiaShlKSl9dGhpcy5fdGlja2Vycz1lLHRoaXMuX3ByZXZTY2FuRGF0YT1udWxsLHRoaXMuX3ByZXZSZXF1ZXN0RGF0YT1udWxsLHRoaXMuaW52YWxpZGF0ZVJlcXVlc3QoKSwoMCxBbi5pc1NjcmVlbmVyUGFnZSkodGhpcy5fYnJpZGdlKSYmcnx8dGhpcy51cGRhdGUoKX0pKSxuLm9uKGkuRmlsdGVyRXZlbnRzLkRpc2FibGUsKCgpPT57dGhpcy5fdGlja2Vycz10aGlzLl9pbml0VGlja2Vyc3x8W10sdGhpcy5pbnZhbGlkYXRlUmVxdWVzdCgpLHRoaXMudXBkYXRlKCl9KSl9X2luaXRYV2luZG93SGFuZGxlcnMoKXt0aGlzLl9icmlkZ2Uub25XaWRnZXR8fCh0aGlzLl9yZWdpc3RlclhXaW5kb3dIYW5kbGVyKCJzY3JlZW5lci5tYXJrZXQtY2hhbmdlZCIsKCgpPT57UXQodGhpcy5tYXJrZXRzKTtsZXQgZT10aGlzLmN1cnJlbnRGaWx0ZXJTZXRJZCgpO2NvbnN0IHQ9dGhpcy5kZWZhdWx0RmlsdGVyU2V0cy5maW5kKCh0PT50LmlkPT09ZSkpO2lmKHQmJnQuZGlzYWJsZWQpe2NvbnN0IHQ9dGhpcy5kZWZhdWx0RmlsdGVyU2V0cy5maW5kKChlPT4hZS5kaXNhYmxlZCkpO2U9dD90LmlkOiIifXRoaXMuZ2V0VXNlclNldHRpbmdzKCkudGhlbigoKCk9Pnt0aGlzLmFwcGx5RmlsdGVyU2V0KGUsITApLHRoaXMuX3ZpZXcudXBkYXRlTWFya2V0QnV0dG9uKCksdGhpcy5pbnZhbGlkYXRlUmVxdWVzdCgpLHRoaXMudXBkYXRlSW1wbCgpfSkpfSkpLHRoaXMuX3JlZ2lzdGVyWFdpbmRvd0hhbmRsZXIoInNjcmVlbmVyLnNhdmUtZmllbGQtc2V0IiwoZT0+e2NvbnN0IHQ9ZS5zZXRJZDt0aGlzLmdldFVzZXJTZXR0aW5ncygpLnRoZW4oKCgpPT57dCYmdD09PXRoaXMuY3VycmVudEZpZWxkU2V0SWQoKSYmdGhpcy5fdmlldy4kZmllbGRTZXRzQnV0dG9uLnRleHQodGhpcy5nZXRGaWVsZFNldEJ5SWQodCkudGl0bGUpfSkpfSkpLHRoaXMuX3JlZ2lzdGVyWFdpbmRvd0hhbmRsZXIoInNjcmVlbmVyLnNhdmUtZmlsdGVyLXNldCIsKGU9Pntjb25zdCB0PWUuc2V0SWQ7dGhpcy5nZXRVc2VyU2V0dGluZ3MoKS50aGVuKCgoKT0+e3QmJnQ9PT10aGlzLmN1cnJlbnRGaWx0ZXJTZXRJZCgpJiZ0aGlzLl92aWV3LiRmaWx0ZXJTZXRzQnV0dG9uVGl0bGUudGV4dCh0aGlzLmdldEZpbHRlclNldEJ5SWQodCkudGl0bGUpfSkpfSkpLHRoaXMuX3JlZ2lzdGVyWFdpbmRvd0hhbmRsZXIoInNjcmVlbmVyLmFkZC1maWVsZC1zZXQtdG8tZmF2b3JpdGVzIiwoKCk9Pnt0aGlzLmdldFVzZXJTZXR0aW5ncygpfSkpLHRoaXMuX3JlZ2lzdGVyWFdpbmRvd0hhbmRsZXIoInNjcmVlbmVyLnJlbW92ZS1maWVsZC1zZXQtZnJvbS1mYXZvcml0ZXMiLCgoKT0+e3RoaXMuZ2V0VXNlclNldHRpbmdzKCl9KSksdGhpcy5fcmVnaXN0ZXJYV2luZG93SGFuZGxlcigic2NyZWVuZXIuYXBwbHktZmllbGQtc2V0IiwoZT0+e3RoaXMuYXBwbHlGaWVsZFNldEltcGwoZS5zZXRJZCxlLmluaXRpYWwsITEpLHRoaXMuX3ZpZXcubGFzdFNldElkPWUuc2V0SWR9KSksdGhpcy5fcmVnaXN0ZXJYV2luZG93SGFuZGxlcigic2NyZWVuZXIuYXBwbHktZmlsdGVyLXNldCIsKGU9Pnt0aGlzLmFwcGx5RmlsdGVyU2V0KGUuc2V0SWQsZS5kb05vdFVwZGF0ZSwhMSl9KSksdGhpcy5fcmVnaXN0ZXJYV2luZG93SGFuZGxlcigic2NyZWVuZXIuY2hhbmdlLXNlbGVjdGVkLWludGVydmFsLWlkIiwoZT0+ewp0aGlzLl92aWV3LnVwZGF0ZUludGVydmFsQnV0dG9uKG51bGwsZS5pZCksdGhpcy5pbnZhbGlkYXRlUmVxdWVzdCgpLHRoaXMudXBkYXRlSW1wbCgpfSkpKX1fcmVnaXN0ZXJYV2luZG93SGFuZGxlcihlLHQpe0NzLlRWWFdpbmRvd0V2ZW50cy5vbihlLChlPT57Y29uc3Qgbz1KU09OLnBhcnNlKGUpO3RoaXMuc2V0dGluZ0tleT09PW8uc2V0dGluZ0tleSYmdChvKX0pKX1fc2VuZFhXaW5kb3dFdmVudChlLHQpe3RoaXMuX2JyaWRnZS5vbldpZGdldHx8ImJpZyI9PT10aGlzLl9icmlkZ2UudGFibGVfc3R5bGV8fENzLlRWWFdpbmRvd0V2ZW50cy5lbWl0KGUsdCl9X2NoZWNrQ3VycmVudFNldHMoKXtjb25zdCBlPXRoaXMuY3VycmVudEZpZWxkU2V0SWQoKTtlJiYhdGhpcy5nZXRGaWVsZFNldEJ5SWQoZSkmJnRoaXMuc2V0dGluZ3NTYXZlci5yZW1vdmUodGhpcy5zZXR0aW5nS2V5KyIuZmllbGRTZXRJZCIpO2NvbnN0IHQ9dGhpcy5jdXJyZW50RmlsdGVyU2V0SWQoKTt0JiYhdGhpcy5nZXRGaWx0ZXJTZXRCeUlkKHQpJiZ0aGlzLnNldHRpbmdzU2F2ZXIucmVtb3ZlKHRoaXMuc2V0dGluZ0tleSsiLmZpbHRlclNldElkIil9aXNTZXJ2ZXJSZW5kZXIoKXtyZXR1cm4gd2luZG93LmluaXREYXRhLnNjcmVlbmVyX21ldGFpbmZvJiZ3aW5kb3cuaW5pdERhdGEuc2NyZWVuZXJfZGF0YSYmdGhpcy5fYnJpZGdlLnNlcnZlcl9kYXRhfXVwZGF0ZU1ldGFJbmZvKGUpe0l0LmluZGV4LmRpc2FibGVkPSEwLEl0LnN1Ym1hcmtldC5kaXNhYmxlZD0hMCwiY3J5cHRvIj09PXRoaXMuc2NyZWVuZXJfdHlwZSYmKEl0LmN1cnJlbmN5LnVzZURlZmF1bHRSYW5nZT0hMCxJdC5jdXJyZW5jeS5kaXNhYmxlZD0hMSk7Y29uc3QgdD1uZXcgU2V0LG89dGhpcy5tYXJrZXRzfHxbdGhpcy5tYXJrZXRdO0l0LmlzX3ByaW1hcnkuZGlzYWJsZWQ9WyJjcnlwdG8iLCJmb3JleCJdLmluY2x1ZGVzKG9bMF0pLGUuZmllbGRzLmZvckVhY2goKGU9PntpZigiY3VycmVuY3kiPT09ZS5uJiZlLnIuZm9yRWFjaCgoZT0+dC5hZGQoZSkpKSxlLm4gaW4gSXQpe2lmKEl0W2Uubl0udHlwZT1lLnQsImluZGV4Ij09PWUubilyZXR1cm4gSXQuaW5kZXguZGlzYWJsZWQ9ITEsSXQuaW5kZXguc291cmNlUmFuZ2U9ZS5yLHZvaWQoSXQuaW5kZXgucmFuZ2U9SXQuaW5kZXguc291cmNlUmFuZ2U/SXQuaW5kZXguc291cmNlUmFuZ2UubWFwKChlPT5lLm5hbWUpKTpbXSk7aWYoInN1Ym1hcmtldCI9PT1lLm4mJmUuci5sZW5ndGg+PTEmJihlLnI9ZS5yLmZpbHRlcigoZT0+IiIhPT1lKSksZS5yLmxlbmd0aD4wJiYoSXQuc3VibWFya2V0LmRpc2FibGVkPSExKSksIUl0W2Uubl0ucmFuZ2UmJkl0W2Uubl0udXNlRGVmYXVsdFJhbmdlP0l0W2Uubl0ucmFuZ2U9SXRbZS5uXS5kZWZhdWx0UmFuZ2U6SXRbZS5uXS51c2VEZWZhdWx0UmFuZ2V8fChJdFtlLm5dLnJhbmdlPWUuciksImV4Y2hhbmdlIj09PWUubiYmdGhpcy5fYnJpZGdlLnVuYXZhaWxhYmxlV2lkZ2V0RXhjaGFuZ2VzJiZ0aGlzLl9icmlkZ2UudW5hdmFpbGFibGVXaWRnZXRFeGNoYW5nZXMubGVuZ3RoJiYoSXRbZS5uXS5yYW5nZT10aGlzLl9nZXRGaWx0ZXJlZEV4Y2hhbmdlc0ZvcldpZGdldChJdFtlLm5dLnJhbmdlKSksZnVuY3Rpb24oZSx0KXtjb25zdCBvPVAoZS5zY3JlZW5lcl90eXBlKSxpPVAoZC5TdG9jaykuYW1lcmljYTtsZXQgbixyPVtdO2Zvcihjb25zdCBsIG9mIGUubWFya2V0cylvW2xdJiYobj1vW2xdW3RdfHxpW3RdLG4mJkFycmF5LmlzQXJyYXkobikmJihzPXIsYT1uLHI9Wy4uLm5ldyBTZXQoWy4uLnMsLi4uYV0pXS5zb3J0KCgoZSx0KT0+ZS10KSkpKTt2YXIgcyxhO0l0W3RdLnZhbHVlcz1ufSh0aGlzLGUubiksITE9PT1JdFtlLm5dLnNvcnRhYmxlKXJldHVybjtlLnQ9PT12ci5QcmljZSYmKEl0W2Uubl0uYWRkaXRpb25hbENvbHVtbnM/SXRbZS5uXS5hZGRpdGlvbmFsQ29sdW1ucz1JdFtlLm5dLmFkZGl0aW9uYWxDb2x1bW5zLmNvbmNhdChKcyk6SXRbZS5uXS5hZGRpdGlvbmFsQ29sdW1ucz1KcyksZS50PT09dnIuVGV4dCYmKEl0W2Uubl0ucmFuZ2U9SXRbZS5uXS5yYW5nZS5zb3J0KCkpLG89ZSxbdnIuTnVtYmVyLHZyLkZ1bmRhbWVudGFsUHJpY2VdLmluY2x1ZGVzKG8udCkmJkl0W2Uubl0ucmFuZ2UmJiFJdFtlLm5dLnVzZURlZmF1bHRSYW5nZSYmKEl0W2Uubl0ucmFuZ2U9SXRbZS5uXS5yYW5nZS5tYXAoKGU9Pk1hdGgubWluKE1hdGgubWF4KGUsdGhpcy5taW5TYWZlSW50ZWdlciksdGhpcy5tYXhTYWZlSW50ZWdlcikpKS5zb3J0KHRoaXMubnVtZXJpY1NvcnRlcikpLEl0W2Uubl0udmFsdWVzJiYhSXRbZS5uXS5yYW5nZSYmKEl0W2Uubl0ucmFuZ2U9W3RoaXMubWluU2FmZUludGVnZXIsdGhpcy5tYXhTYWZlSW50ZWdlcl0pLEl0W2Uubl0udmFsdWVzJiZJdFtlLm5dLnJhbmdlJiYoSXRbZS5uXS5yYW5nZVswXT5JdFtlLm5dLnZhbHVlc1swXSYmKEl0W2Uubl0ucmFuZ2VbMF09SXRbZS5uXS52YWx1ZXNbMF0pLEl0W2Uubl0ucmFuZ2VbMV08SXRbZS5uXS52YWx1ZXNbSXRbZS5uXS52YWx1ZXMubGVuZ3RoLTFdJiYoSXRbZS5uXS5yYW5nZVsxXT1JdFtlLm5dLnZhbHVlc1tJdFtlLm5dLnZhbHVlcy5sZW5ndGgtMV0pKSwicmFuZ2UiIT09SXRbZS5uXS5jb250cm9sfHxJdFtlLm5dLnZhbHVlc3x8SXRbZS5uXS5yYW5nZXx8KEl0W2Uubl0ucmFuZ2U9W3RoaXMubWluU2FmZUludGVnZXIsdGhpcy5tYXhTYWZlSW50ZWdlcl0sSXRbZS5uXS52YWx1ZXM9W3RoaXMubWluU2FmZUludGVnZXIsMCx0aGlzLm1heFNhZmVJbnRlZ2VyXSl9ZWxzZSBpZigtMSE9PWUubi5pbmRleE9mKCJ8Iikpe2NvbnN0IHQ9ZS5uLnNwbGl0KCJ8Iik7SXRbdFswXV18fChJdFt0WzBdXT17fSksSXRbdFswXV0uY3VzdG9tUmVzb2x1dGlvbnN8fChJdFt0WzBdXS5jdXN0b21SZXNvbHV0aW9ucz1bXSksSXRbdFswXV0uY3VzdG9tUmVzb2x1dGlvbnMucHVzaCh0WzFdKX12YXIgb30pKSxQcyhlLmZpbmFuY2lhbF9jdXJyZW5jeSxbLi4udF0sdGhpcy5fdmlldyksUXQodGhpcy5tYXJrZXRzKSx0aGlzLmRlZmF1bHRGaWx0ZXJTZXRzPVp0fWdldE1ldGFJbmZvKCl7CmlmKHRoaXMuaXNTZXJ2ZXJSZW5kZXIoKSlyZXR1cm4gdGhpcy51cGRhdGVNZXRhSW5mbyhKU09OLnBhcnNlKHdpbmRvdy5pbml0RGF0YS5zY3JlZW5lcl9tZXRhaW5mbykpLFByb21pc2UucmVzb2x2ZSgpO2NvbnN0IGU9dGhpcy5fZ2V0U2NhblVybCgibWV0YWluZm8iKSx0PXQ9Pih7dHlwZToiUE9TVCIsdXJsOmUsZGF0YTpKU09OLnN0cmluZ2lmeSh7bWFya2V0czp0aGlzLm1hcmtldHN9KSxiZWZvcmVTZW5kOigpPT57bnVsbCE9PXRoaXMuX3BlbmRpbmdQcm9taXNlJiZ0aGlzLl9wZW5kaW5nUHJvbWlzZS5hYm9ydCgpfSxzdWNjZXNzOmU9Pnt0aGlzLnVwZGF0ZU1ldGFJbmZvKGUpLHQoKX0sZGF0YVR5cGU6Impzb24iLHhockZpZWxkczp7d2l0aENyZWRlbnRpYWxzOiFCb29sZWFuKHRoaXMuX2JyaWRnZS5vbldpZGdldCl9fSk7cmV0dXJuIG5ldyBQcm9taXNlKChlPT57dGhpcy5sb2FkaW5nU3RhcnQuZmlyZSgpLHRoaXMuX3BlbmRpbmdQcm9taXNlPVZzLmFqYXgodChlKSkuZmFpbCgoZT0+eyJhYm9ydCIhPT1lLnN0YXR1c1RleHQmJmpzLmxvZ0Vycm9yKCJGYWlsZWQgdG8gbG9hZCBzY3JlZW5lciBtZXRhaW5mbyIpfSkpLmFsd2F5cygoKCk9Pnt0aGlzLmxvYWRpbmdDb21wbGV0ZS5maXJlKCksdGhpcy5fcGVuZGluZ1Byb21pc2U9bnVsbH0pKX0pKX1maWVsZEFjdGl2ZShlKXtyZXR1cm4hKCFJdFtlXXx8IUl0W2VdLnZhbHVlfHwiY29uZGl0aW9uIiE9PUl0W2VdLmNvbnRyb2x8fCJpbl9yYW5nZSIhPT1JdFtlXS52YWx1ZS5vcGVyYXRvcnx8MiE9PUl0W2VdLnZhbHVlLnZhbHVlLmxlbmd0aCl8fCEoIUl0W2VdfHwhSXRbZV0udmFsdWV8fCJjb25kaXRpb24iPT09SXRbZV0uY29udHJvbCYmKCFJdFtlXS52YWx1ZS5vcGVyYXRvcnx8Im51bWJlciIhPXR5cGVvZiBJdFtlXS52YWx1ZS52YWx1ZSYmIUl0W2VdLnZhbHVlLnZhbHVlKXx8InJhbmdlIj09PUl0W2VdLmNvbnRyb2wmJkl0W2VdLnZhbHVlWzBdPT09SXRbZV0ucmFuZ2VbMF0mJkl0W2VdLnZhbHVlWzFdPT09SXRbZV0ucmFuZ2VbMV0pfXBhdGNoRmlsdGVyc0Zvck1hcmtldFBhZ2VzKGUpe2xldCB0PXtydXNzaWE6W3tsZWZ0OiJ0eXBlc3BlY3MiLG9wZXJhdGlvbjoiaGFzX25vbmVfb2YiLHJpZ2h0OiJmb3JlaWduLWlzc3VlciJ9XSxicmF6aWw6W3tsZWZ0OiJ0eXBlc3BlY3MiLG9wZXJhdGlvbjoiaGFzX25vbmVfb2YiLHJpZ2h0OiJvZGQifV0sdGhhaWxhbmQ6W3tsZWZ0OiJ0eXBlc3BlY3MiLG9wZXJhdGlvbjoiaGFzX25vbmVfb2YiLHJpZ2h0OiJmb3JlaWduIn1dLHVrOlt7bGVmdDoidHlwZXNwZWNzIixvcGVyYXRpb246Imhhc19ub25lX29mIixyaWdodDoiY2RpIn0se2xlZnQ6ImV4Y2hhbmdlIixvcGVyYXRpb246ImVxdWFsIixyaWdodDoiTFNFIn1dfVt0aGlzLm1hcmtldHNbMF1dO2lmKFsic2VjdG9yIiwiaW5kdXN0cnkiXS5pbmNsdWRlcyh0aGlzLnNjcmVlbmVyX3R5cGUpJiZ0JiYodD10LmZpbHRlcigoZT0+ImV4Y2hhbmdlIiE9PWUubGVmdCkpKSwhdHx8MD09PXQubGVuZ3RoKXJldHVybiBlO2NvbnN0IG89KDAsU3MuZGVmYXVsdCkoZSk7aWYoIWUuZmlsdGVyKXJldHVybiBvLmZpbHRlcj1bLi4udF0sbztmb3IoY29uc3QgZSBvZiB0KXswPT09by5maWx0ZXIuZmlsdGVyKCh0PT4oMCxfaS5kZWZhdWx0KSh0LGUpKSkubGVuZ3RoJiZvLmZpbHRlci5wdXNoKGUpfXJldHVybiBvfWdldFNjYW5uZXJQYXJhbXMoZSl7bGV0IHQ9bnVsbCxvPW51bGwsaT1udWxsLG49e307aWYoZSl7Y29uc3Qgcj10aGlzLmdldEZpbHRlclNldEJ5SWQoZSk7dD1yLmNvbnRlbnQuc29ydF9maWVsZCxvPXIuY29udGVudC5maWx0ZXJzfHx7fSxpPU9iamVjdC5rZXlzKHIuY29udGVudC5maWx0ZXJzfHx7fSksbj1yLmNvbnRlbnQub3B0aW9uc31lbHNlIGk9T2JqZWN0LmtleXMoSXQpLmZpbHRlcigoZT0+dGhpcy5maWVsZEFjdGl2ZShlKSkpLG49dGhpcy5fb3B0aW9uczt0fHwodD10aGlzLl9zb3J0RmllbGQudmFsdWUoKXx8dGhpcy5faW5pdGlhbFNvcnRGaWVsZCk7Y29uc3Qgcj17ZmlsdGVyOltdLF9ncm91cHM6W10sb3B0aW9uczpufTtmb3IobGV0IGU9MDtlPGkubGVuZ3RoOysrZSl7Y29uc3QgdD1pW2VdO2lmKCJjb25kaXRpb24iPT09SXRbdF0uY29udHJvbCYmIUl0W3RdLnZhbHVlKWNvbnRpbnVlO2lmKCJuYW1lIj09PXQmJkFycmF5LmlzQXJyYXkoSXRbdF0udmFsdWUpKXtsZXQgZT0hMTtjb25zdCBvPUl0W3RdLnZhbHVlO2ZvcihsZXQgdD0wO3Q8by5sZW5ndGg7Kyt0KWlmKCJuZXF1YWwiPT09b1t0XS5vcGVyYXRvcil7ZT0hMDticmVha31pZihlKWNvbnRpbnVlfWNvbnN0IG49SXRbdF0uZ3JvdXBGaWx0ZXI/ci5fZ3JvdXBzOnIuZmlsdGVyO2xldCBzPUR0KHQsSXRbdF0udmFsdWUsbyx0aGlzLnNlbGVjdGVkSW50ZXJ2YWxJZCk7aWYocy5maWx0ZXIyRmxhZyYmKHMuZmlsdGVyMkFuZFBhcnQubGVuZ3RoJiYoci5maWx0ZXIyfHwoci5maWx0ZXIyPXtvcGVyYXRvcjoiYW5kIixvcGVyYW5kczpbXX0pLHIuZmlsdGVyMi5vcGVyYW5kcy5wdXNoKHtvcGVyYXRpb246e29wZXJhdG9yOiJvciIsb3BlcmFuZHM6cy5maWx0ZXIyQW5kUGFydC5tYXAoKGU9Pih7ZXhwcmVzc2lvbjplfSkpKX19KSkscz1zLmZpbHRlciksQXJyYXkuaXNBcnJheShzKSlmb3IobGV0IGU9MDtlPHMubGVuZ3RoOysrZSluLnB1c2goc1tlXSk7ZWxzZSBuLnB1c2gocyl9aWYodGhpcy5maWx0ZXJTZXRDaGFuZ2VkLmZpcmUoKSx0aGlzLmVvZFJlc3RyaWN0aW9uLnZhbHVlKCkhPT1Xby5Ob25lJiYoci5vcHRpb25zLmRhdGFfcmVzdHJpY3Rpb25zPSJQUkVWX0JBUiIpLHIubWFya2V0cz10aGlzLm1hcmtldHMsKDAsQW4uaXNNYXJrZXRQYWdlKSh0aGlzLl9icmlkZ2UpKXJldHVybiB0aGlzLnBhdGNoRmlsdGVyc0Zvck1hcmtldFBhZ2VzKHIpO2NvbnN0IHM9ci5maWx0ZXIuZmlsdGVyKChlPT4iaXNfcHJpbWFyeSI9PT1lLmxlZnQpKTtyZXR1cm4gcyYmITE9PT1zLmxlZnQmJihyLmZpbHRlcj1yLmZpbHRlci5maWx0ZXIoKGU9PiJpc19wcmltYXJ5IiE9PWUubGVmdCkpKSxyfXVwZGF0ZUltcGwoZSx0LG8saT0hMCxuPSExLHI9ITEpewppZih0JiZ0aGlzLl92aWV3LmlzRW5kUmVhY2hlZCgpKXJldHVybjtpZih0aGlzLl92aWV3LnRhYmxlLmRyYWdTdGFydGVkLnZhbHVlKCkpcmV0dXJuO2lmKCgwLGtzLmlzRmVhdHVyZUVuYWJsZWQpKCJzY3JlZW5lci1tYWludGVuYW5jZSIpKXJldHVybiB2b2lkIHRoaXMuX3ZpZXcuX3BvcHVwcy5zaG93TWFpbnRlbmFuY2VEaWFsb2coKTtjb25zdCBzPXRoaXMuZ2VuZXJhdGVTY2FuUmVxdWVzdCgpLGE9WzAsWHNdO3MucmFuZ2U9YS5zbGljZSgpLGk/KHQmJnRoaXMuX2N1cnJlbnRJdGVtc1JhbmdlPyhhWzBdPXRoaXMuX2N1cnJlbnRJdGVtc1JhbmdlWzFdLGFbMV09YVswXStYcyxzLnJhbmdlWzFdPWFbMV0pOnRoaXMuX3ZpZXcucmVzZXRJdGVtcygpLHRoaXMuX2N1cnJlbnRJdGVtc1JhbmdlPWEpOnRoaXMuX2N1cnJlbnRJdGVtc1JhbmdlP3MucmFuZ2VbMV09dGhpcy5fY3VycmVudEl0ZW1zUmFuZ2VbMV06dGhpcy5fdmlldy5yZXNldEl0ZW1zKCksIXQmJnRoaXMuX3ByZXZSZXF1ZXN0JiYoMCxfaS5kZWZhdWx0KShzLHRoaXMuX3ByZXZSZXF1ZXN0KT8iZnVuY3Rpb24iPT10eXBlb2YgZSYmITA9PT1vJiZlKCk6KHRoaXMuX3ByZXZSZXF1ZXN0PSgwLEguY2xvbmUpKHMpLCJmdW5jdGlvbiI9PXR5cGVvZiBlJiZlKCksdGhpcy5zY2FuKHMsdCxuLHIpKX1fZ2V0U3ltYm9scygpe2xldCBlO3N3aXRjaCh0aGlzLnNjcmVlbmVyX3R5cGUpe2Nhc2UiZm9yZXgiOmU9WyJmb3JleCJdO2JyZWFrO2Nhc2Uic2VjdG9yIjplPVsic2VjdG9yIl07YnJlYWs7Y2FzZSJpbmR1c3RyeSI6ZT1bImluZHVzdHJ5Il07YnJlYWs7Y2FzZSJjb250aW51b3VzX2Z1dHVyZXMiOmU9WyJmdXR1cmVzIl07YnJlYWs7ZGVmYXVsdDplPXRoaXMuX2JyaWRnZS50eXBlc3x8W119cmV0dXJue3F1ZXJ5Ont0eXBlczplfSx0aWNrZXJzOnRoaXMuX3RpY2tlcnN9fWdlbmVyYXRlU2NhblJlcXVlc3QoKXtjb25zdCBlPU9iamVjdC5hc3NpZ24oe30sdGhpcy5nZXRTY2FubmVyUGFyYW1zKCkpO2lmKGUuc3ltYm9scz10aGlzLl9nZXRTeW1ib2xzKCksZS5jb2x1bW5zPXRoaXMuZ2V0UmVxdWVzdENvbHVtbnMoKSxlLnNvcnQ9e3NvcnRCeTpoZSh0aGlzLl9zb3J0RmllbGQudmFsdWUoKXx8dGhpcy5faW5pdGlhbFNvcnRGaWVsZCx0aGlzLnNlbGVjdGVkSW50ZXJ2YWxJZCksc29ydE9yZGVyOnRoaXMuX3NvcnREaXJlY3Rpb24udmFsdWUoKXx8dGhpcy5faW5pdGlhbFNvcnREaXJlY3Rpb259LGUucHJlc2V0PXRoaXMucHJlc2V0LHdpbmRvdy5sYW5ndWFnZSYmKGUub3B0aW9uc3x8KGUub3B0aW9ucz17fSksZS5vcHRpb25zLmxhbmc9d2luZG93Lmxhbmd1YWdlKSx0aGlzLl9icmlkZ2Uub25XaWRnZXQmJiJmb3JleCIhPT10aGlzLm1hcmtldHNbMF0pe2NvbnN0IHQ9Rih0aGlzLnNjcmVlbmVyX3R5cGUpW3RoaXMubWFya2V0c1swXV07dCYmdC5zdG9ja3MmJnQuc3RvY2tzLmxlbmd0aCYmKGUuc3ltYm9scy5xdWVyeS5leGNoYW5nZXM9dC5zdG9ja3MubWFwKChlPT4iTllTRSBBUkNBIj09PWU/IkFNRVgiOmUpKSx0aGlzLl9icmlkZ2UudW5hdmFpbGFibGVXaWRnZXRFeGNoYW5nZXMmJnRoaXMuX2JyaWRnZS51bmF2YWlsYWJsZVdpZGdldEV4Y2hhbmdlcy5sZW5ndGgmJihlLnN5bWJvbHMucXVlcnkuZXhjaGFuZ2VzPXRoaXMuX2dldEZpbHRlcmVkRXhjaGFuZ2VzRm9yV2lkZ2V0KGUuc3ltYm9scy5xdWVyeS5leGNoYW5nZXMpKSl9aWYoZS5fZ3JvdXBzLmxlbmd0aD4wJiYoZS5zeW1ib2xzLmdyb3Vwcz1lLl9ncm91cHMpLGRlbGV0ZSBlLl9ncm91cHMsInByZWRlZmluZWRfZmlsdGVyIj09PXRoaXMuY3VycmVudEZpbHRlclNldElkKCkpe2NvbnN0IHQ9dGhpcy5nZXRGaWx0ZXJTZXRCeUlkKCJwcmVkZWZpbmVkX2ZpbHRlciIpO2lmKGUuc3ltYm9sc3x8KGUuc3ltYm9scz17fSksKDAsSC5tZXJnZSkoZS5zeW1ib2xzLHQuc3ltYm9scyksdC5jb250ZW50JiZ0LmNvbnRlbnQuZmlsdGVycylmb3IoY29uc3RbbyxpXW9mIE9iamVjdC5lbnRyaWVzKHQuY29udGVudC5maWx0ZXJzKSlpZihBcnJheS5pc0FycmF5KGkpKWZvcihsZXQgdD0wO3Q8aS5sZW5ndGg7Kyt0KXtjb25zdCBuPWlbdF07bi5vcGVyYXRvciYmIm5lcXVhbCI9PT1uLm9wZXJhdG9yJiZlLmZpbHRlci5wdXNoKHtsZWZ0Om8sb3BlcmF0aW9uOm4ub3BlcmF0b3IscmlnaHQ6bi52YWx1ZX0pfWVsc2V7bGV0IHQ9e307dm9pZCAwIT09aS5vcGVyYXRvciYmdm9pZCAwIT09aS52YWx1ZT90PXtsZWZ0Om8sb3BlcmF0aW9uOmkub3BlcmF0b3IscmlnaHQ6aS52YWx1ZX06dm9pZCAwIT09aSYmdm9pZCAwIT09aS5vcGVyYXRvcj8odD17bGVmdDpvLG9wZXJhdGlvbjppLm9wZXJhdG9yfSxpLnJpZ2h0JiZ2b2lkIDAhPT1pLnJpZ2h0JiYodC5yaWdodD1pLnJpZ2h0KSk6dm9pZCAwIT09aSYmKHQ9e2xlZnQ6byxvcGVyYXRpb246ImVxdWFsIixyaWdodDppfSksImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlLGVhcm5pbmdzX3JlbGVhc2VfZGF0ZSI9PT10LmxlZnQmJih0LmxlZnQ9ImVhcm5pbmdzX3JlbGVhc2VfZGF0ZSxlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZSIpO2UuZmlsdGVyLnNvbWUoKGU9PigwLF9pLmRlZmF1bHQpKHQsZSl8fGUubGVmdD09PXQubGVmdCYmZS5vcGVyYXRpb249PT10Lm9wZXJhdGlvbikpfHxlLmZpbHRlci5wdXNoKHQpfX1mb3IobGV0IHQ9MDt0PGUuY29sdW1ucy5sZW5ndGg7Kyt0KWUuY29sdW1uc1t0XT1oZShlLmNvbHVtbnNbdF0sdGhpcy5zZWxlY3RlZEludGVydmFsSWQpO2lmKEl0W3RoaXMuc2VhcmNoRmllbGRdLnNlYXJjaFZhbHVlKXtjb25zdCB0PXtsZWZ0OiFJdC5kZXNjcmlwdGlvbi5kaXNhYmxlZCYmSXQuZGVzY3JpcHRpb24uY2hlY2tlZD9gJHt0aGlzLnNlYXJjaEZpZWxkfSxkZXNjcmlwdGlvbmA6dGhpcy5zZWFyY2hGaWVsZCxvcGVyYXRpb246Im1hdGNoIixyaWdodDpJdFt0aGlzLnNlYXJjaEZpZWxkXS5zZWFyY2hWYWx1ZX07ZS5maWx0ZXIucHVzaCh0KX1pZih0aGlzLl9icmlkZ2Uuc2NyZWVuZXJfZmllbGRfbWF0Y2gmJmUuZmlsdGVyLnB1c2goe2xlZnQ6dGhpcy5fYnJpZGdlLnNjcmVlbmVyX2ZpZWxkX21hdGNoLmZpZWxkLApvcGVyYXRpb246Im1hdGNoIixyaWdodDp0aGlzLl9icmlkZ2Uuc2NyZWVuZXJfZmllbGRfbWF0Y2gucGF0dGVybn0pLHRoaXMuX2JyaWRnZS5oaWRkZW5fZmlsdGVyJiYodGhpcy5fYnJpZGdlLmhpZGRlbl9maWx0ZXIuZmlsdGVyJiYoZS5maWx0ZXI9ZS5maWx0ZXIuY29uY2F0KHRoaXMuX2JyaWRnZS5oaWRkZW5fZmlsdGVyLmZpbHRlcikpLHRoaXMuX2JyaWRnZS5oaWRkZW5fZmlsdGVyLm9wdGlvbnMmJihlLm9wdGlvbnM9T2JqZWN0LmFzc2lnbihlLm9wdGlvbnN8fHt9LHRoaXMuX2JyaWRnZS5oaWRkZW5fZmlsdGVyLm9wdGlvbnMpKSksdGhpcy5zd2l0Y2hGaWx0ZXImJmUuZmlsdGVyLnB1c2godGhpcy5zd2l0Y2hGaWx0ZXIpLHRoaXMuX2N1cnJlbmN5U2VsZWN0KXtjb25zdCB0PXRoaXMuX2N1cnJlbmN5U2VsZWN0LmdldFByaWNlQ29udmVyc2lvbk9iamVjdCgpO3QmJihlLnByaWNlX2NvbnZlcnNpb249dCl9cmV0dXJuIHRoaXMuZW9kUmVzdHJpY3Rpb24udmFsdWUoKSE9PVdvLk5vbmU/ZS5vcHRpb25zLmRhdGFfcmVzdHJpY3Rpb25zPSJQUkVWX0JBUiI6ZGVsZXRlIGUub3B0aW9ucy5kYXRhX3Jlc3RyaWN0aW9ucyxlfWdldFJlcXVlc3RDb2x1bW5zKCl7Y29uc3QgZT1bZC5TdG9jayxkLlNlY3RvcixkLkluZHVzdHJ5XS5pbmNsdWRlcyh0aGlzLnNjcmVlbmVyX3R5cGUpP1siY3VycmVuY3kiLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIl06W107cmV0dXJuIEFycmF5LmZyb20obmV3IFNldChbLi4udGhpcy5maWVsZHNPcmRlci52YWx1ZSgpLC4uLnRoaXMuX3ZpZXcudGFibGUuYWRkaXRpb25hbENvbHVtbnMsLi4uZV0pKX1zY2FuKGUsdCxvLGk9ITEpe2lmKCFpJiZ0aGlzLl9icmlkZ2UudmlzaWJsZSYmITAhPT10aGlzLl9icmlkZ2UudmlzaWJsZS52YWx1ZSgpKXJldHVybjtjb25zdCBuPUpTT04uc3RyaW5naWZ5KGUpO3RoaXMubG9hZGluZz0hMCx0aGlzLmxvYWRpbmdTdGFydC5maXJlKHQmJiFvKTtjb25zdCByPURhdGUubm93KCkscz1mdW5jdGlvbihlKXtjb25zdCB0PWUubWFwKCgoZSx0KT0+W2UsdF0pKTtyZXR1cm4gbmV3IE1hcCh0KX0oZS5jb2x1bW5zKTtpZih0aGlzLl9icmlkZ2UuaXNVbmF2YWlsYWJsZVdpZGdldE1hcmtldClyZXR1cm4gdm9pZCB0aGlzLl92aWV3LmRpc3BsYXkoe2RhdGE6W119LHMpO2NvbnN0IGE9KHQsbyk9Pnt0aGlzLmxvYWRpbmc9ITE7Y29uc3QgaT1EYXRlLm5vdygpLXIsbj1KU09OLnBhcnNlKHQpO3RoaXMuX3Nob3VsZFJlcmVuZGVyKHQsZSkmJih0aGlzLl92aWV3LmRpc3BsYXkobixzLG8pLHRoaXMuX3ByZXZTY2FuRGF0YT10LHRoaXMuX3ByZXZSZXF1ZXN0RGF0YT0oMCxILmNsb25lKShlKSksdGhpcy5pc1NlcnZlclJlbmRlcigpJiZuLnJlcXVlc3QmJihuLnJlcXVlc3Quc3ltYm9scyYmbi5yZXF1ZXN0LnN5bWJvbHMudGlja2VycyYmKHRoaXMuX2luaXRUaWNrZXJzPW4ucmVxdWVzdC5zeW1ib2xzLnRpY2tlcnMsdGhpcy5fdGlja2Vycz10aGlzLl9pbml0VGlja2VycyksdGhpcy5fb3B0aW9ucz1uLnJlcXVlc3Qub3B0aW9ucyksdGhpcy5sb2FkaW5nQ29tcGxldGUuZmlyZSgpO2lmKG51bGwhPT1sb2NhdGlvbi5wYXRobmFtZS5tYXRjaCgvZWFybmluZ3NcL3swLDF9JC9pKSYmIXRoaXMuaXNTZXJ2ZXJSZW5kZXIoKSl7Y29uc3QgZT0iZXJyb3IiPT09bz8iZXJyb3IiOiJvayIsdD12b2lkIDAhPT1uLnN0YXR1cyYmMCE9PW4uc3RhdHVzP24uc3RhdHVzOiJlcnJvciI9PT1lPzQwMDoyMDA7RXMudGVsZW1ldHJ5LnNlbmRSZXBvcnQoImNhbGVuZGFycyIsImVhcm5pbmdzX2h0dHBfc3RhdHVzIix7dmFsdWU6dCxhZGRpdGlvbmFsOntzb3VyY2U6IlNjcmVlbmVyV2lkZ2V0In19KSxFcy50ZWxlbWV0cnkuc2VuZFJlcG9ydCgiY2FsZW5kYXJzIiwiZWFybmluZ3NfcmVzcG9uc2VfdGltZV9mcmFtZSIse3ZhbHVlOmksYWRkaXRpb25hbDp7c291cmNlOiJTY3JlZW5lcldpZGdldCJ9fSksRXMudGVsZW1ldHJ5LnNlbmRSZXBvcnQoImNhbGVuZGFycyIsYGVhcm5pbmdzXyR7ZX1gKX19LGw9KGUsdCk9Pntjb25zdCBvPURhdGUubm93KCktcjt0aGlzLmxvYWRpbmc9ITEsdGhpcy5fdmlldy5kaXNwbGF5KGUscyx0KSx0aGlzLmxvYWRpbmdDb21wbGV0ZS5maXJlKCk7aWYobnVsbCE9PWxvY2F0aW9uLnBhdGhuYW1lLm1hdGNoKC9lYXJuaW5nc1wvezAsMX0kL2kpJiYhdGhpcy5pc1NlcnZlclJlbmRlcigpKXtjb25zdCBpPSJlcnJvciI9PT10PyJlcnJvciI6Im9rIixuPXZvaWQgMCE9PWUuc3RhdHVzJiYwIT09ZS5zdGF0dXM/ZS5zdGF0dXM6ImVycm9yIj09PWk/NDAwOjIwMDtFcy50ZWxlbWV0cnkuc2VuZFJlcG9ydCgiY2FsZW5kYXJzIiwiZWFybmluZ3NfaHR0cF9zdGF0dXMiLHt2YWx1ZTpuLGFkZGl0aW9uYWw6e3NvdXJjZToiU2NyZWVuZXJXaWRnZXQifX0pLEVzLnRlbGVtZXRyeS5zZW5kUmVwb3J0KCJjYWxlbmRhcnMiLCJlYXJuaW5nc19yZXNwb25zZV90aW1lX2ZyYW1lIix7dmFsdWU6byxhZGRpdGlvbmFsOntzb3VyY2U6IlNjcmVlbmVyV2lkZ2V0In19KSxFcy50ZWxlbWV0cnkuc2VuZFJlcG9ydCgiY2FsZW5kYXJzIixgZWFybmluZ3NfJHtpfWApfX07dGhpcy5pc1NlcnZlclJlbmRlcigpP2Eod2luZG93LmluaXREYXRhLnNjcmVlbmVyX2RhdGEpOnRoaXMuX21hcmtlZFN5bWJvbHNGaWx0ZXImJnRoaXMuX21hcmtlZFN5bWJvbHNGaWx0ZXIuaXNBY3RpdmUoKSYmIXRoaXMuX3RpY2tlcnMubGVuZ3RoP3RoaXMuX3ZpZXcuZGlzcGxheSh7ZGF0YTpbXX0scyk6KHRoaXMuc2NhblJlcXVlc3QmJjQhPT10aGlzLnNjYW5SZXF1ZXN0LnJlYWR5U3RhdGUmJnRoaXMuc2NhblJlcXVlc3QuYWJvcnQoKSx0aGlzLnNjYW5SZXF1ZXN0PXRoaXMuX3NlbmRTY2FuUmVxdWVzdChuLGEpLHRoaXMuc2NhblJlcXVlc3QuZmFpbChsKSx0aGlzLnRyYWNrRXZlbnQoIlNjYW4gcmVxdWVzdCIpLHdpbmRvdy5pbml0RGF0YS5maWx0ZXJfaWQmJmRlbGV0ZSB3aW5kb3cuaW5pdERhdGEuZmlsdGVyX2lkKX1wcmV2ZW50UHJldlNjYW5SZXF1ZXN0KCl7dGhpcy5sb2FkaW5nJiZ0aGlzLnNjYW5SZXF1ZXN0JiYodGhpcy5zY2FuUmVxdWVzdC5hYm9ydCgpLAp0aGlzLnNjYW5SZXF1ZXN0PW51bGwpfV9zaG91bGRSZXJlbmRlcihlLHQpe3JldHVybiF0aGlzLl9pc1ByZXZTY2FuRGF0YUVxdWFsKGUpfHwhdGhpcy5faXNQcmV2UmVxdWVzdERhdGFFcXVhbCh0KX1faXNQcmV2U2NhbkRhdGFFcXVhbChlKXtyZXR1cm4gdGhpcy5fcHJldlNjYW5EYXRhPT09ZX1faXNQcmV2UmVxdWVzdERhdGFFcXVhbChlKXtyZXR1cm4oMCxfaS5kZWZhdWx0KShlLHRoaXMuX3ByZXZSZXF1ZXN0RGF0YSl9aXNGaWVsZFNldENoYW5nZWQoKXtpZih0aGlzLl9icmlkZ2Uub25XaWRnZXQpcmV0dXJuITE7Y29uc3QgZT10aGlzLmN1cnJlbnRGaWVsZFNldElkKCksdD1lJiZ0aGlzLmdldEZpZWxkU2V0QnlJZChlKTtpZighZXx8IXQpcmV0dXJuITA7Y29uc3Qgbz10LmNvbnRlbnQuc2xpY2UoKS5maWx0ZXIoS3MpLGk9dGhpcy5maWVsZHNPcmRlci52YWx1ZSgpLnNsaWNlKCkuZmlsdGVyKEtzKSxuPSFJdC50eXBlLmRpc2FibGVkJiYtMSE9PXQuY29udGVudC5pbmRleE9mKCJ0eXBlIikhPT1JdC50eXBlLmNoZWNrZWQscj0hSXQuZGVzY3JpcHRpb24uZGlzYWJsZWQmJi0xIT09dC5jb250ZW50LmluZGV4T2YoImRlc2NyaXB0aW9uIikhPT1JdC5kZXNjcmlwdGlvbi5jaGVja2VkO3JldHVybiBvLmpvaW4oKSE9PWkuam9pbigpfHxufHxyfWFwcGx5RmllbGRTZXRDb250ZW50KGUpe2Zvcihjb25zdCB0IGluIEl0KUl0W3RdLmNoZWNrZWQ9LTEhPT1lLmluZGV4T2YodCk7dGhpcy5maWVsZFNldENoYW5nZWQuZmlyZShlLmZpbHRlcigoZT0+ITAhPT1JdFtlXS5oaWRkZW5Db2x1bW4pKSl9YXBwbHlGaWVsZFNldEltcGwoZSx0LG89ITApe2NvbnN0IGk9dGhpcy5nZXRGaWVsZFNldEJ5SWQoZSksbj1pLmNvbnRlbnQuZmlsdGVyKChlPT5JdFtlXSYmIUl0W2VdLmRpc2FibGVkKSk7aWYodGhpcy5hcHBseUZpZWxkU2V0Q29udGVudChuKSx0fHx0aGlzLnVwZGF0ZSgpLHRoaXMuX3ZpZXcuc2V0RmllbGRTZXQoZSksdGhpcy5zZXR0aW5nc1NhdmVyLnNldFZhbHVlKHRoaXMuc2V0dGluZ0tleSsiLmZpZWxkU2V0SWQiLGkuaWQse2ZvcmNlRmx1c2g6ITB9KSx0aGlzLl92aWV3LnVwZGF0ZUZhdm9yaXRlc1Rvb2xiYXIoKSwhdCl7Y29uc3QgdD10aGlzLmRlZmF1bHRGaWVsZFNldHMuZmluZCgodD0+dC5pZD09PWUpKT9lOiJjdXN0b20iO3RoaXMudHJhY2tFdmVudChgQXBwbHkgZmllbGQgc2V0ICR7dH1gKX1vJiZ0aGlzLl9zZW5kWFdpbmRvd0V2ZW50KCJzY3JlZW5lci5hcHBseS1maWVsZC1zZXQiLEpTT04uc3RyaW5naWZ5KHtzZXRJZDplLGluaXRpYWw6dCxzZXR0aW5nS2V5OnRoaXMuc2V0dGluZ0tleX0pKX1hcHBseUZpZWxkU2V0KGUsdCxpKXt0fHxpfHwhdGhpcy5pc0ZpZWxkU2V0Q2hhbmdlZCgpP3RoaXMuYXBwbHlGaWVsZFNldEltcGwoZSx0KTpuZXcgUHJvbWlzZSgoZT0+e3RoaXMuX2JyaWRnZS5vbldpZGdldD9lKCk6dGhpcy5fdmlldy5fcG9wdXBzLnNob3dDb25maXJtRGlhbG9nKG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDcxNzM1MCkpKS50aGVuKCh0PT57dD90aGlzLl92aWV3LnBvcHVwcy5jb25maXJtQW5kU2F2ZUN1cnJlbnRGaWVsZFNldCgpLnRoZW4oZSwodD0+e3QmJmpzLmxvZ0Vycm9yKHQpLGUoKX0pKTplKCl9KSl9KSkudGhlbigoKCk9Pnt0aGlzLmFwcGx5RmllbGRTZXRJbXBsKGUsdCl9KSl9aXNGaWx0ZXJTZXRDaGFuZ2VkKCl7aWYodGhpcy5fYnJpZGdlLm9uV2lkZ2V0KXJldHVybiExO2NvbnN0IGU9dGhpcy5jdXJyZW50RmlsdGVyU2V0SWQoKSx0PWUmJnRoaXMuZ2V0RmlsdGVyU2V0QnlJZChlKTtpZighZXx8IXQpcmV0dXJuITA7Y29uc3Qgbz10aGlzLm1hcmtldHN8fFt0aGlzLm1hcmtldF07WyJmb3JleCIsImNyeXB0byJdLmluY2x1ZGVzKG9bMF0pJiZkZWxldGUgdC5jb250ZW50LmZpbHRlcnMuaXNfcHJpbWFyeTtjb25zdCBpPXRoaXMuY3VycmVudEZpbHRlclN0YXRlKCksbj17fTtpZih0LmNvbnRlbnQuZmlsdGVycylmb3IoY29uc3QgZSBvZiBPYmplY3Qua2V5cyh0LmNvbnRlbnQuZmlsdGVycykpe2NvbnN0IG89dC5jb250ZW50LmZpbHRlcnNbZV0saT1tdChvLm9wZXJhdG9yKSxyPW10KG8udmFsdWUpOyhpJiZyfHwhaSYmIXIpJiYobltlXT1vKX1pZih0LmNvbnRlbnQub3B0aW9ucyYmaS5vcHRpb25zKXtpZihpLm9wdGlvbnMuYWN0aXZlX3N5bWJvbHNfb25seSE9PXQuY29udGVudC5vcHRpb25zLmFjdGl2ZV9zeW1ib2xzX29ubHkpcmV0dXJuITB9Y29uc3Qgcj1pLmZpbHRlcnMscz1PYmplY3Qua2V5cyhuKS5jb25jYXQoT2JqZWN0LmtleXMocikpLmZpbHRlcigoKGUsdCxvKT0+by5pbmRleE9mKGUpPT09dCkpO2ZvcihsZXQgZT0wO2U8cy5sZW5ndGg7KytlKXtjb25zdCB0PXNbZV07aWYoIW4uaGFzT3duUHJvcGVydHkodCl8fCFyLmhhc093blByb3BlcnR5KHQpKXJldHVybiEwO2lmKEFycmF5LmlzQXJyYXkoblt0XSleQXJyYXkuaXNBcnJheShyW3RdKSlyZXR1cm4hMDtpZihBcnJheS5pc0FycmF5KG5bdF0pJiZBcnJheS5pc0FycmF5KHJbdF0pJiZuW3RdLnNvcnQodGhpcy5udW1lcmljU29ydGVyKS5qb2luKCkhPT1yW3RdLnNvcnQodGhpcy5udW1lcmljU29ydGVyKS5qb2luKCl8fCFBcnJheS5pc0FycmF5KG5bdF0pJiYhKDAsX2kuZGVmYXVsdCkoblt0XSxyW3RdKSlyZXR1cm4hMH1yZXR1cm4hISh0LmNvbnRlbnQuc29ydF9kaXJlY3Rpb24mJnQuY29udGVudC5zb3J0X2RpcmVjdGlvbiE9PWkuc29ydF9kaXJlY3Rpb258fHQuY29udGVudC5zb3J0X2ZpZWxkJiZ0LmNvbnRlbnQuc29ydF9maWVsZCE9PWkuc29ydF9maWVsZCl9Y3VycmVudEZpbHRlclN0YXRlKCl7Y29uc3QgZT17fTtmb3IoY29uc3QgdCBpbiBJdCl7Y29uc3Qgbz1JdFt0XS52YWx1ZTtpZihbImlzX3ByaW1hcnkiLCJhY3RpdmVfc3ltYm9sIl0uaW5jbHVkZXModCkpe2lmKCFvKWNvbnRpbnVlO2VbdF09e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9Cn1lbHNlIEl0W3RdLmNvbnRyb2wmJm8mJigib2JqZWN0Ij09dHlwZW9mIG8/ImNvbmRpdGlvbiI9PT1JdFt0XS5jb250cm9sP210KG8ub3BlcmF0b3IpfHxtdChvLnZhbHVlKXx8KGVbdF09byk6T2JqZWN0LmtleXMobykuc29tZSgoZT0+ISFvW2VdKSkmJihlW3RdPW8pOmVbdF09byl9cmV0dXJue2ZpbHRlcnM6ZSxzb3J0X2ZpZWxkOnRoaXMuX3NvcnRGaWVsZC52YWx1ZSgpfHx0aGlzLl9pbml0aWFsU29ydEZpZWxkLHNvcnRfZGlyZWN0aW9uOnRoaXMuX3NvcnREaXJlY3Rpb24udmFsdWUoKXx8dGhpcy5faW5pdGlhbFNvcnREaXJlY3Rpb24sb3B0aW9uczp0aGlzLl9vcHRpb25zfX1zYXZlRmllbGRTZXQoZSx0KXtyZXR1cm4gdGhpcy5fdmlldy4kZmllbGRTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJpLWRpc2FibGVkIiwhMCksZS50eXBlPSJmaWVsZFNldCIsZS5zY3JlZW5lcl90eXBlPXRoaXMuc2NyZWVuZXJfdHlwZSx0aGlzLnNhdmVTZXQoZSx0KS50aGVuKCh0PT57dGhpcy5fdmlldy4kZmllbGRTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJpLWRpc2FibGVkIiwhMSk7Y29uc3Qgbz10JiZ0LmlkJiZgJHt0LmlkfWA7cmV0dXJuIGUuZGVsZXRlfHx0aGlzLmZpZWxkU2V0U2F2ZWQuZmlyZSgpLHRoaXMuX3NlbmRYV2luZG93RXZlbnQoInNjcmVlbmVyLnNhdmUtZmllbGQtc2V0IixKU09OLnN0cmluZ2lmeSh7c2V0SWQ6ZS5kZWxldGU/IiI6byxzZXR0aW5nS2V5OnRoaXMuc2V0dGluZ0tleX0pKSx0aGlzLmFwcGx5RmllbGRTZXRJbXBsKG8pLHR9KSl9c2F2ZUZpbHRlclNldChlLHQpe3JldHVybiB0aGlzLl92aWV3LiRmaWx0ZXJTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJpLWRpc2FibGVkIiwhMCksZS50eXBlPSJmaWx0ZXJTZXQiLGUuc2NyZWVuZXJfdHlwZT10aGlzLnNjcmVlbmVyX3R5cGUsZS5tYXJrZXRzPXRoaXMubWFya2V0cyx0aGlzLnNhdmVTZXQoZSx0KS50aGVuKCh0PT4odGhpcy5fdmlldy4kZmlsdGVyU2V0c0J1dHRvbi50b2dnbGVDbGFzcygiaS1kaXNhYmxlZCIsITEpLGUuc2V0SWQ9dCYmdC5pZCYmYCR7dC5pZH1gLHRoaXMuYXBwbHlGaWx0ZXJTZXQodC5pZCksZS5kZWxldGU/dGhpcy5maWx0ZXJTZXREZWxldGVkLmZpcmUoZS5zZXRJZCk6dGhpcy5maWx0ZXJTZXRTYXZlZC5maXJlKGUuc2V0SWQsZS5tYXJrZXRzLCEhZS5jb250ZW50KSx0aGlzLl9zZW5kWFdpbmRvd0V2ZW50KCJzY3JlZW5lci5zYXZlLWZpbHRlci1zZXQiLEpTT04uc3RyaW5naWZ5KHtzZXRJZDplLmRlbGV0ZT8iIjplLnNldElkLHNldHRpbmdLZXk6dGhpcy5zZXR0aW5nS2V5fSkpLHQpKSl9c2F2ZVNldChlLHQpe3JldHVybiBQcm9taXNlLnJlc29sdmUoe3R5cGU6IlBPU1QiLHVybDoiL3NjcmVlbmVyL3NhdmUvIixkYXRhOmV9KS50aGVuKFZzLmFqYXgpLnRoZW4oKGU9PihlLmVycm9yP2pzLmxvZ0Vycm9yKGUuZXJyb3IpOnQmJnRoaXMudHJhY2tFdmVudCh0KSx0aGlzLmdldFVzZXJTZXR0aW5ncygpLnRoZW4oKCgpPT5lKSkpKSl9X2lzRXhjaGFuZ2VSZWxldmFudChlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlLnZhbHVlKT9lLnZhbHVlLmV2ZXJ5KCh0PT5lLnJhbmdlLmluY2x1ZGVzKHQpKSk6ZS5yYW5nZS5pbmNsdWRlcyhlLnZhbHVlKX1faXNTdWJtYXJrZXRSZWxldmFudChlKXtyZXR1cm4oQXJyYXkuaXNBcnJheShlLnZhbHVlKT9lLnZhbHVlOltlLnZhbHVlXSkuZXZlcnkoKHQ9PmUucmFuZ2UuaW5jbHVkZXModCkpKX1hcHBseUZpbHRlclNldChlLHQsbz0hMCl7Y29uc3QgaT10aGlzLmdldEZpbHRlclNldEJ5SWQoZSk7aWYoaSl7aS5jb250ZW50LnNvcnRfZmllbGQmJnRoaXMuX3NvcnRGaWVsZC5zZXRWYWx1ZShpLmNvbnRlbnQuc29ydF9maWVsZCksaS5jb250ZW50LnNvcnRfZGlyZWN0aW9uJiZ0aGlzLl9zb3J0RGlyZWN0aW9uLnNldFZhbHVlKGkuY29udGVudC5zb3J0X2RpcmVjdGlvbiksdGhpcy5fb3B0aW9ucz1PYmplY3QuYXNzaWduKHt9LGkuY29udGVudC5vcHRpb25zKTtmb3IoY29uc3QgZSBpbiBJdClpLmNvbnRlbnQuZmlsdGVycyYmZSBpbiBpLmNvbnRlbnQuZmlsdGVycz8oImNvbmRpdGlvbiI9PT1JdFtlXS5jb250cm9sJiZBcnJheS5pc0FycmF5KGkuY29udGVudC5maWx0ZXJzW2VdKSYmMj09PWkuY29udGVudC5maWx0ZXJzW2VdLmxlbmd0aCYmKGkuY29udGVudC5maWx0ZXJzW2VdPXtvcGVyYXRvcjoiaW5fcmFuZ2UiLHZhbHVlOmkuY29udGVudC5maWx0ZXJzW2VdfSksSXRbZV0udmFsdWU9KDAsSC5jbG9uZSkoaS5jb250ZW50LmZpbHRlcnNbZV0pLCJzdWJtYXJrZXQiIT09ZXx8IUl0W2VdLmRpc2FibGVkJiZ0aGlzLl9pc1N1Ym1hcmtldFJlbGV2YW50KEl0W2VdKXx8KEl0W2VdLnZhbHVlPW51bGwpLCJpc19wcmltYXJ5Ij09PWUmJkl0W2VdLmRpc2FibGVkJiYoSXRbZV0udmFsdWU9bnVsbCksImNvbmRpdGlvbiI9PT1JdFtlXS5jb250cm9sJiZJdFtlXS52YWx1ZSYmKG10KEl0W2VdLnZhbHVlLnZhbHVlKXx8bXQoSXRbZV0udmFsdWUub3BlcmF0b3IpKSYmKEl0W2VdLnZhbHVlPW51bGwpLCJleGNoYW5nZSIhPT1lfHx0aGlzLl9pc0V4Y2hhbmdlUmVsZXZhbnQoSXRbZV0pfHwoSXRbZV0udmFsdWU9bnVsbCkpOiExIT09SXRbZV0ucmVzZXR0YWJsZUZpbHRlciYmKEl0W2VdLnZhbHVlPW51bGwpLHRoaXMuX3ZpZXcuX3Jlc2V0RmllbGQoZSwhMSwhMCk7dGhpcy5fb3B0aW9ucy5oYXNPd25Qcm9wZXJ0eSgiYWN0aXZlX3N5bWJvbHNfb25seSIpJiYoITA9PT10aGlzLl9vcHRpb25zLmFjdGl2ZV9zeW1ib2xzX29ubHkmJihJdC5hY3RpdmVfc3ltYm9sLnZhbHVlPSEwKSxkZWxldGUgdGhpcy5fb3B0aW9ucy5hY3RpdmVfc3ltYm9sc19vbmx5KSx0aGlzLnNhdmVGaWx0ZXJzU2V0dGluZ3MoKSwhMD09PXQ/KHRoaXMuX3ZpZXcuc2V0RmlsdGVyU2V0KGUpLHRoaXMuZmlsdGVyU2V0Q2hhbmdlZC5maXJlKGUpKTp0aGlzLnVwZGF0ZUltcGwoKCgpPT57dGhpcy5fdmlldy5zZXRGaWx0ZXJTZXQoZSksdGhpcy5maWx0ZXJTZXRDaGFuZ2VkLmZpcmUoZSl9KSxudWxsLCEwKSx0aGlzLnNldHRpbmdzU2F2ZXIuc2V0VmFsdWUodGhpcy5zZXR0aW5nS2V5KyIuZmlsdGVyU2V0SWQiLGkuaWQsewpmb3JjZUZsdXNoOiEwfSksdGhpcy50cmFja0V2ZW50KCJBcHBseSBmaWx0ZXIgc2V0IiksbyYmdGhpcy5fc2VuZFhXaW5kb3dFdmVudCgic2NyZWVuZXIuYXBwbHktZmlsdGVyLXNldCIsSlNPTi5zdHJpbmdpZnkoe3NldElkOmUsZG9Ob3RVcGRhdGU6dCxzZXR0aW5nS2V5OnRoaXMuc2V0dGluZ0tleX0pKX19c2F2ZUZpbHRlcnNTZXR0aW5ncygpe3RoaXMuc2V0dGluZ3NTYXZlci5zZXRWYWx1ZSh0aGlzLnNldHRpbmdLZXkrIi5zb3J0X2RpcmVjdGlvbiIsdGhpcy5fc29ydERpcmVjdGlvbi52YWx1ZSgpfHx0aGlzLl9pbml0aWFsU29ydERpcmVjdGlvbiksdGhpcy5zZXR0aW5nc1NhdmVyLnNldFZhbHVlKHRoaXMuc2V0dGluZ0tleSsiLnNvcnRfZmllbGQiLHRoaXMuX3NvcnRGaWVsZC52YWx1ZSgpfHx0aGlzLl9pbml0aWFsU29ydEZpZWxkKX1nZXRVc2VyU2V0dGluZ3MoKXtjb25zdCBlPXtmaWx0ZXJTZXRzOltdLGZpZWxkU2V0czpbXX07cmV0dXJuIHRoaXMuaXNTZXJ2ZXJSZW5kZXIoKT90aGlzLmZhdm9yaXRlRmllbGRTZXRzPXRoaXMuZGVmYXVsdEZpZWxkU2V0cy5tYXAoKGU9PmUuaWQpKTp0aGlzLmZhdm9yaXRlRmllbGRTZXRzPXRoaXMuc2V0dGluZ3NTYXZlci5nZXRKU09OKHRoaXMuc2V0dGluZ0tleSsiLmZhdm9yaXRlRmllbGRTZXRzIix0aGlzLmRlZmF1bHRGaWVsZFNldHMubWFwKChlPT5lLmlkKSkpLHdpbmRvdy5pc19hdXRoZW50aWNhdGVkP25ldyBQcm9taXNlKCh0PT57VnMuZ2V0KCIvc2NyZWVuZXIvc2V0dGluZ3MvIix7c2NyZWVuZXJfdHlwZTp0aGlzLnNjcmVlbmVyX3R5cGV9KS5kb25lKChvPT57KG89b3x8ZSkuZmlsdGVyU2V0cz1vLmZpbHRlclNldHMubWFwKChlPT57Y29uc3QgdD1KU09OLnBhcnNlKGUuY29udGVudCk7dmFyIG87cmV0dXJuIHQuZmlsdGVycz0obz10LmZpbHRlcnMsT2JqZWN0LmtleXMobykuZm9yRWFjaCgoZT0+e2NvbnN0IHQ9b1tlXTsibWFya2V0X2NhcF9iYXNpYyI9PT1lJiYibmVtcHR5Ij09PXQub3BlcmF0aW9uJiZkZWxldGUgb1tlXX0pKSxvKSx7aWQ6ZS5pZCsiIix0aXRsZTplLnRpdGxlLGNvbnRlbnQ6dH19KSksby5maWVsZFNldHM9by5maWVsZFNldHMubWFwKChlPT4oe2lkOmUuaWQrIiIsdGl0bGU6ZS50aXRsZSxjb250ZW50OkpTT04ucGFyc2UoZS5jb250ZW50KX0pKSksdGhpcy5zZXR0aW5ncz1vLHQoKX0pKX0pKToodGhpcy5zZXR0aW5ncz1lLFByb21pc2UucmVzb2x2ZSgpKX1nZXRGaWVsZFNldEJ5SWQoZSl7Y29uc3QgdD10PT50LmlkPT1lLG89dGhpcy5kZWZhdWx0RmllbGRTZXRzLmZpbmQodCl8fCh0aGlzLnNldHRpbmdzP3RoaXMuc2V0dGluZ3MuZmllbGRTZXRzLmZpbmQodCk6bnVsbCk7cmV0dXJuIG8/T2JqZWN0LmFzc2lnbih7fSxvLHt0aXRsZTpibyhvLnRpdGxlLCEwKX0pOm51bGx9Z2V0RmlsdGVyU2V0QnlJZChlKXtpZigicHJlZGVmaW5lZF9maWx0ZXIiPT09ZSlyZXR1cm4gdGhpcy5fYnJpZGdlLnByZWRlZmluZWRfZmlsdGVyO2NvbnN0IHQ9dD0+dC5pZD09ZSxvPVp0LmZpbmQodCl8fCh0aGlzLnNldHRpbmdzP3RoaXMuc2V0dGluZ3MuZmlsdGVyU2V0cy5maW5kKHQpOm51bGwpO3JldHVybiBvP09iamVjdC5hc3NpZ24oe30sbyx7dGl0bGU6Ym8oby50aXRsZSwhMCl9KTpudWxsfWFkZEZhdm9yaXRlRmllbGRTZXQoZSl7LTE9PT10aGlzLmZhdm9yaXRlRmllbGRTZXRzLmluZGV4T2YoZSkmJnRoaXMuZmF2b3JpdGVGaWVsZFNldHMucHVzaChlKSx0aGlzLnNldHRpbmdzU2F2ZXIuc2V0SlNPTih0aGlzLnNldHRpbmdLZXkrIi5mYXZvcml0ZUZpZWxkU2V0cyIsdGhpcy5mYXZvcml0ZUZpZWxkU2V0cyx7Zm9yY2VGbHVzaDohMH0pLHRoaXMuX3ZpZXcudXBkYXRlRmF2b3JpdGVzVG9vbGJhcigpLHRoaXMudHJhY2tFdmVudCgiQWRkIGZpZWxkIHNldCB0byBmYXZvcml0ZXMiKSx0aGlzLl9zZW5kWFdpbmRvd0V2ZW50KCJzY3JlZW5lci5hZGQtZmllbGQtc2V0LXRvLWZhdm9yaXRlcyIsSlNPTi5zdHJpbmdpZnkoe3NldHRpbmdLZXk6dGhpcy5zZXR0aW5nS2V5LGRhdGU6RGF0ZS5ub3coKX0pKX1yZW1vdmVGYXZvcml0ZUZpZWxkU2V0KGUpe3RoaXMuZmF2b3JpdGVGaWVsZFNldHM9dGhpcy5mYXZvcml0ZUZpZWxkU2V0cy5maWx0ZXIoKHQ9PnQhPT1lKSksdGhpcy5zZXR0aW5nc1NhdmVyLnNldEpTT04odGhpcy5zZXR0aW5nS2V5KyIuZmF2b3JpdGVGaWVsZFNldHMiLHRoaXMuZmF2b3JpdGVGaWVsZFNldHMse2ZvcmNlRmx1c2g6ITB9KSx0aGlzLl92aWV3LnVwZGF0ZUZhdm9yaXRlc1Rvb2xiYXIoKSx0aGlzLl9zZW5kWFdpbmRvd0V2ZW50KCJzY3JlZW5lci5yZW1vdmUtZmllbGQtc2V0LWZyb20tZmF2b3JpdGVzIixKU09OLnN0cmluZ2lmeSh7c2V0dGluZ0tleTp0aGlzLnNldHRpbmdLZXksZGF0ZTpEYXRlLm5vdygpfSkpfWN1cnJlbnRGaWVsZFNldElkKCl7cmV0dXJuIHRoaXMuaXNTZXJ2ZXJSZW5kZXIoKT93aW5kb3cuaW5pdERhdGEuZmllbGRzZXRfaWQ6dGhpcy5zZXR0aW5nc1NhdmVyLmdldFZhbHVlKHRoaXMuc2V0dGluZ0tleSsiLmZpZWxkU2V0SWQiLHRoaXMuZGVmYXVsdEZpZWxkU2V0c1swXS5pZCl9Y3VycmVudEZpbHRlclNldElkKCl7Y29uc3QgZT1adC5maW5kKChlPT5lLmhhc093blByb3BlcnR5KCJkaXNhYmxlZCIpJiYhZS5kaXNhYmxlZCkpfHxadFswXTtyZXR1cm4gd2luZG93LmluaXREYXRhLmZpbHRlcl9pZHx8dGhpcy5zZXR0aW5nc1NhdmVyLmdldFZhbHVlKHRoaXMuc2V0dGluZ0tleSsiLmZpbHRlclNldElkIixlLmlkKX1nZXRDdXJyZW50U3RhdGUoKXtyZXR1cm57cmVxdWVzdFBhcmFtczp0aGlzLl9wcmV2UmVxdWVzdHx8Im5vbmUiLGZpZWxkU2V0OnRoaXMuY3VycmVudEZpZWxkU2V0SWQoKSxmaWx0ZXJTZXQ6dGhpcy5jdXJyZW50RmlsdGVyU2V0SWQoKX19dHJhY2tFdmVudChlKXsoMCx3cy50cmFja0V2ZW50KSgiU2NyZWVuZXIiLGUsdGhpcy5tYXJrZXRzLmpvaW4oIiwiKSsiICIrKHRoaXMuX2JyaWRnZS5zdGFuZGFsb25lPyJzdGFuZGFsb25lIjoib24gY2hhcnQiKSl9bnVtZXJpY1NvcnRlcihlLHQpe3JldHVybiBlPnQ/MTotMX1pbnZhbGlkYXRlUmVxdWVzdCgpewpkZWxldGUgdGhpcy5fcHJldlJlcXVlc3R9Z2V0IHNlbGVjdGVkSW50ZXJ2YWxJZCgpe2lmKCF0aGlzLl9icmlkZ2UuaGlkZV9jb250cm9scyl7aWYodGhpcy5lb2RSZXN0cmljdGlvbi52YWx1ZSgpIT09V28uTm9uZSlyZXR1cm4iMUQiO2NvbnN0IGU9dGhpcy5zZXR0aW5nc1NhdmVyLmdldFZhbHVlKGAke3RoaXMuc2V0dGluZ0tleX0uaW50ZXJ2YWwtaWRgLGNlKTtyZXR1cm4odGhpcy5fYnJpZGdlLm9uV2lkZ2V0fHwoMCxIby5lbmFibGVkKShYby5Qcm9kdWN0RmVhdHVyZXNFbnVtLlNDUkVFTkVSX0lOVEVSVkFMUykmJi0xIT09KDAsSG8uZ2V0Q29uZmlnKShYby5Qcm9kdWN0RmVhdHVyZXNFbnVtLlNDUkVFTkVSX0lOVEVSVkFMUykuaW50ZXJ2YWwuaW5kZXhPZihlKSkmJmRlKGUpP2U6Y2V9fXNldFNlbGVjdGVkSW50ZXJ2YWxJZChlKXt0aGlzLnNldHRpbmdzU2F2ZXIuc2V0VmFsdWUoYCR7dGhpcy5zZXR0aW5nS2V5fS5pbnRlcnZhbC1pZGAsZSx7Zm9yY2VGbHVzaDohMH0pLHRoaXMuX3NlbmRYV2luZG93RXZlbnQoInNjcmVlbmVyLmNoYW5nZS1zZWxlY3RlZC1pbnRlcnZhbC1pZCIsSlNPTi5zdHJpbmdpZnkoe3NldHRpbmdLZXk6dGhpcy5zZXR0aW5nS2V5LGlkOmV9KSk7Y29uc3QgdD1kZShlKTt0JiZ0aGlzLnRyYWNrRXZlbnQoYEFwcGx5IHRpbWVmcmFtZSAke3QuaWR9YCl9Z2V0IHNlbGVjdGVkR3JvdXBzKCl7cmV0dXJuIEpTT04ucGFyc2UodGhpcy5zZXR0aW5nc1NhdmVyLmdldFZhbHVlKGAke0dzfS5zY3JlZW5lci1mb3JleC5ncm91cHNgLCdbIk1ham9yIiwiTWlub3IiXScpKS5tYXAoKGU9Pmh0W2VdfHxlKSl9c2V0U2VsZWN0ZWRHcm91cHMoZSl7Y29uc3QgdD1PYmplY3Qua2V5cyhodCksbz1lLm1hcCgoZT0+dC5maW5kKCh0PT5odFt0XT09PWUpKXx8ZSkpO3RoaXMuc2V0dGluZ3NTYXZlci5zZXRWYWx1ZShgJHtHc30uc2NyZWVuZXItZm9yZXguZ3JvdXBzYCxKU09OLnN0cmluZ2lmeShvKSx7Zm9yY2VGbHVzaDohMH0pLHRoaXMudHJhY2tFdmVudCgiQ2hhbmdlIHNlbGVjdGVkIGdyb3VwcyIpfXNldCBtYXJrZXRzKGUpe2NvbnN0IHQ9QXJyYXkuaXNBcnJheShlKT9lOltlXSxvPUpTT04uc3RyaW5naWZ5KHQpO3RoaXMuc2V0dGluZ3NTYXZlci5zZXRWYWx1ZShgJHtHc30uJHt0aGlzLnNldHRpbmdLZXl9Lm1hcmtldGAsbyx7Zm9yY2VGbHVzaDohMH0pLHRoaXMudHJhY2tFdmVudCgiQ2hhbmdlIG1hcmtldCIpLHRoaXMuX3NlbmRYV2luZG93RXZlbnQoInNjcmVlbmVyLm1hcmtldC1jaGFuZ2VkIixKU09OLnN0cmluZ2lmeSh7c2V0dGluZ0tleTp0aGlzLnNldHRpbmdLZXksZGF0ZTpEYXRlLm5vdygpfSkpfWdldCBwcmVzZXQoKXtyZXR1cm4gd2luZG93LmluaXREYXRhLnNjcmVlbmVyX3ByZXNldH1nZXQgbWFya2V0cygpe2NvbnN0IGU9ZnVuY3Rpb24oZSx0PSJzdG9jayIpe3JldHVybiJmb3JleCI9PT10PyJmb3JleCI6ImNyeXB0byI9PT10PyJjcnlwdG8iOmsoZSl9KEdzLHRoaXMuc2NyZWVuZXJfdHlwZSksdD1PYmplY3Qua2V5cyhQKHRoaXMuc2NyZWVuZXJfdHlwZSkpLG89dGhpcy5zZXR0aW5nc1NhdmVyLmdldFZhbHVlKGAke0dzfS4ke3RoaXMuc2V0dGluZ0tleX0ubWFya2V0YCxKU09OLnN0cmluZ2lmeShbZV0pKTtsZXQgaTtpZih0aGlzLnNldHRpbmdzU2F2ZXIuZ2V0Qm9vbChgJHtHc30uJHt0aGlzLnNldHRpbmdLZXl9LmlzLWVudGlyZS13b3JsZGAsITEpKWk9dDtlbHNlIHRyeXtpPUpTT04ucGFyc2UobyksQXJyYXkuaXNBcnJheShpKSYmIWkuc29tZSgoZT0+IXQuaW5jbHVkZXMoZSkpKXx8KGk9W2VdKX1jYXRjaChuKXtpPW4gaW5zdGFuY2VvZiBTeW50YXhFcnJvciYmdC5pbmNsdWRlcyhvKT9bb106W2VdfWlmKHdpbmRvdy5pbml0RGF0YS5zY3JlZW5lcl9tYXJrZXQpcmV0dXJuW3dpbmRvdy5pbml0RGF0YS5zY3JlZW5lcl9tYXJrZXRdO2lmKCEoMCxlcy5pc0dsb2JhbFNjcmVlbmVyQXZhaWxhYmxlKSgpJiZpLmxlbmd0aD4xKXJldHVybiBpPVtlXSxpO3JldHVybiBpLmV2ZXJ5KChlPT50LmluY2x1ZGVzKGUpKSk/aTpbZV19c2V0IGlzRW50aXJlV29ybGQoZSl7dGhpcy5zZXR0aW5nc1NhdmVyLnNldFZhbHVlKGAke0dzfS4ke3RoaXMuc2V0dGluZ0tleX0uaXMtZW50aXJlLXdvcmxkYCxlLHtmb3JjZUZsdXNoOiEwfSl9Z2V0IGlzRW50aXJlV29ybGQoKXtjb25zdCBlPXRoaXMuc2V0dGluZ3NTYXZlci5nZXRCb29sKGAke0dzfS4ke3RoaXMuc2V0dGluZ0tleX0uaXMtZW50aXJlLXdvcmxkYCwhMSk7cmV0dXJuISghKDAsZXMuaXNHbG9iYWxTY3JlZW5lckF2YWlsYWJsZSkoKSYmdGhpcy5tYXJrZXRzLmxlbmd0aD4xKSYmZX1nZXQgdGltZXpvbmUoKXtyZXR1cm4gZnVuY3Rpb24oZSl7Y29uc3QgdD1GKCJzdG9jayIpW2VdO3JldHVybiB0P3QudGltZXpvbmU6bnVsbH0odGhpcy5tYXJrZXRzWzBdKX1fdmVyaWZ5QWxsU2V0c0NoYW5nZXMoZSl7cmV0dXJuKCEwPT09ZT9Qcm9taXNlLnJlc29sdmUoKTpuZXcgUHJvbWlzZSgoKGUsdCk9Pnt0aGlzLl9icmlkZ2Uub25XaWRnZXQ/ZSgpOnRoaXMuaXNGaWVsZFNldENoYW5nZWQoKT90aGlzLl92aWV3LnBvcHVwcy5zaG93Q29uZmlybURpYWxvZyhvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3MTczNTApKSkudGhlbigodD0+e3Q/dGhpcy5fdmlldy5wb3B1cHMuY29uZmlybUFuZFNhdmVDdXJyZW50RmllbGRTZXQoKS50aGVuKGUsKHQ9Pnt0JiZqcy5sb2dFcnJvcih0KSxlKCl9KSk6ZSgpfSkpOmUoKX0pKSkudGhlbigoKCk9PiEwPT09ZT9Qcm9taXNlLnJlc29sdmUoKTpuZXcgUHJvbWlzZSgoKGUsdCk9Pnt0aGlzLl9icmlkZ2Uub25XaWRnZXQ/ZSgpOnRoaXMuaXNGaWx0ZXJTZXRDaGFuZ2VkKCk/dGhpcy5fdmlldy5wb3B1cHMuc2hvd0NvbmZpcm1EaWFsb2coby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjcwNjQ0KSkpLnRoZW4oKHQ9Pnt0P3RoaXMuX3ZpZXcucG9wdXBzLmNvbmZpcm1BbmRTYXZlQ3VycmVudEZpbHRlclNldCgpLnRoZW4oZSwodD0+e3QmJmpzLmxvZ0Vycm9yKHQpLGUoKX0pKTplKCl9KSk6ZSgpfSkpKSl9c2V0TWFya2V0KGUsdCxvKXtjb25zdCBpPUFycmF5LmlzQXJyYXkoZSk/ZTpbZV0KO3JldHVybiEwIT09dCYmKDAsX2kuZGVmYXVsdCkoaSx0aGlzLm1hcmtldHMpP1Byb21pc2UucmVqZWN0KCk6KHRoaXMubWFya2V0cz1pLHRoaXMuX3ZlcmlmeUFsbFNldHNDaGFuZ2VzKG8pLnRoZW4oKCgpPT50aGlzLmxvYWRpbmdTdGFydC5maXJlKCkpKS50aGVuKCgoKT0+dGhpcy5nZXRNZXRhSW5mbygpKSkudGhlbigoKCk9Pnt0aGlzLmRlZmF1bHRGaWVsZFNldHM9Zyh7c2NyZWVuZXJUeXBlOnRoaXMuc2NyZWVuZXJfdHlwZSxpc0NvbXBhY3Q6dGhpcy5pc1NlcnZlclJlbmRlcigpLG1hcmtldHM6dGhpcy5tYXJrZXRzLHN1YnR5cGU6IiIsaXNPbldpZGdldDp0aGlzLl9icmlkZ2Uub25XaWRnZXR9KTtsZXQgZT10aGlzLmN1cnJlbnRGaWx0ZXJTZXRJZCgpO2NvbnN0IHQ9dGhpcy5kZWZhdWx0RmlsdGVyU2V0cy5maW5kKCh0PT50LmlkPT09ZSkpO2lmKHQmJnQuZGlzYWJsZWQpe2NvbnN0IHQ9dGhpcy5kZWZhdWx0RmlsdGVyU2V0cy5maW5kKChlPT4hZS5kaXNhYmxlZCkpO2U9dD90LmlkOiIifXRoaXMuYXBwbHlGaWVsZFNldCh0aGlzLmN1cnJlbnRGaWVsZFNldElkKCksITApLHRoaXMuYXBwbHlGaWx0ZXJTZXQoZSwhMCksdGhpcy5pbnZhbGlkYXRlUmVxdWVzdCgpLHRoaXMuX3VwZGF0ZUVvZFJlc3RyaWN0aW9uKCksdGhpcy51cGRhdGUoKX0pKSl9X3VwZGF0ZUVvZFJlc3RyaWN0aW9uKCl7Y29uc3QgZT17bWFya2V0czp0aGlzLm1hcmtldHMsaXNQcm86KDAsQXMuaXNQcm8pKHdpbmRvdy51c2VyKSxpc0Fub255bW91czohd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQsc2NyZWVuZXJUeXBlOnRoaXMuc2NyZWVuZXJfdHlwZSxvbldpZGdldDooMCxBbi5pc0V4dGVybmFsV2lkZ2V0KSh0aGlzLl9icmlkZ2UpfTt0aGlzLmVvZFJlc3RyaWN0aW9uLnNldFZhbHVlKGZ1bmN0aW9uKGUpe2NvbnN0e3NjcmVlbmVyVHlwZTp0LG1hcmtldHM6byxvbldpZGdldDppLGlzUHJvOm4saXNBbm9ueW1vdXM6cn09ZTtpZihvLmxlbmd0aD4xKXJldHVybiBXby5Ob25lO2lmKCJzdG9jayIhPT10KXJldHVybiBXby5Ob25lO2NvbnN0IHM9JChvKTtpZihpKXJldHVybiBzLmV2ZXJ5KCRvKT9Xby5Ob25lOldvLldpZGdldDtpZihuKXJldHVybiBXby5Ob25lO2NvbnN0IGE9cy5tYXAoQm8pO3JldHVybiBhLnNvbWUoKGU9PigwLEZvLmlzSURDRXhjaGFuZ2UpKGUsITApKSkmJihyfHxhLnNvbWUoKGU9PiEhZSYmTG8oZSkpKSk/V28uU2l0ZTpXby5Ob25lfShlKSl9Y2hhbmdlU2NyZWVuZXJUeXBlKGUpe3JldHVybiBlPT09dGhpcy5zY3JlZW5lcl90eXBlP1Byb21pc2UucmVqZWN0KCk6KHRoaXMudHJhY2tFdmVudCgiQ2hhbmdlIHNjcmVlbmVyIHR5cGUiKSx0aGlzLl92ZXJpZnlBbGxTZXRzQ2hhbmdlcygpLnRoZW4oKCgpPT57dGhpcy5kaXNhYmxlZC5zZXRWYWx1ZSghMCksdGhpcy5tYXJrZXRDaGFuZ2VQcm9jZXNzPSEwLHRoaXMuc2NyZWVuZXJfdHlwZT1lLHRoaXMuc2V0dGluZ3NTYXZlci5zZXRWYWx1ZSgic2NyZWVuZXIuc2VsZWN0ZWRfdHlwZV9vbl9jaGFydCIsZSx7Zm9yY2VGbHVzaDohMH0pLHRoaXMuc2V0dGluZ0tleT1Zc1t0aGlzLnNjcmVlbmVyX3R5cGVdfHxZcy5zdG9jayx0aGlzLmRlZmF1bHRGaWVsZFNldHM9Zyh7c2NyZWVuZXJUeXBlOnRoaXMuc2NyZWVuZXJfdHlwZSxtYXJrZXRzOnRoaXMubWFya2V0cyxpc0NvbXBhY3Q6dGhpcy5pc1NlcnZlclJlbmRlcigpLHN1YnR5cGU6IiIsaXNPbldpZGdldDp0aGlzLl9icmlkZ2Uub25XaWRnZXR9KSxQdCh0aGlzLnNjcmVlbmVyX3R5cGUpLFF0KHRoaXMubWFya2V0cyk7Y29uc3QgdD10aGlzLnNlbGVjdGVkR3JvdXBzO0l0LnNlY3Rvci52YWx1ZT1BcnJheS5pc0FycmF5KHQpJiZ0WzBdPT09by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTIxODQ3KSk/bnVsbDp0fSkpLnRoZW4oKCgpPT50aGlzLmxvYWRpbmdTdGFydC5maXJlKCkpKS50aGVuKCgoKT0+dGhpcy5nZXRNZXRhSW5mbygpKSkudGhlbigoKCk9PnRoaXMuZ2V0VXNlclNldHRpbmdzKCkpKS50aGVuKCgoKT0+e3RoaXMuX2NoZWNrQ3VycmVudFNldHMoKSx0aGlzLmFwcGx5RmllbGRTZXQodGhpcy5jdXJyZW50RmllbGRTZXRJZCgpLCEwKSx0aGlzLmFwcGx5RmlsdGVyU2V0KHRoaXMuY3VycmVudEZpbHRlclNldElkKCksITApfSkpLnRoZW4oKCgpPT57bGV0IGU9dGhpcy5jdXJyZW50RmlsdGVyU2V0SWQoKTtjb25zdCB0PXRoaXMuZGVmYXVsdEZpbHRlclNldHMuZmluZCgodD0+dC5pZD09PWUpKTtpZih0JiZ0LmRpc2FibGVkKXtjb25zdCB0PXRoaXMuZGVmYXVsdEZpbHRlclNldHMuZmluZCgoZT0+IWUuZGlzYWJsZWQpKTtlPXQ/dC5pZDoiIn10aGlzLmFwcGx5RmlsdGVyU2V0KGUsITApLHRoaXMuaW52YWxpZGF0ZVJlcXVlc3QoKSx0aGlzLl91cGRhdGVFb2RSZXN0cmljdGlvbigpLHRoaXMudXBkYXRlSW1wbCh2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLCEwKSx0aGlzLm1hcmtldENoYW5nZVByb2Nlc3M9ITEsdGhpcy5sb2FkaW5nQ29tcGxldGUuc3Vic2NyaWJlKG51bGwsKCgpPT57dGhpcy5kaXNhYmxlZC5zZXRWYWx1ZSghMSl9KSwhMCl9KSkpfWJhY2tlbmRVcmwoZSl7cmV0dXJuIGZ1bmN0aW9uKGUsdD1lKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9lLmxlbmd0aD4xP2Ake1RzKCl9L2dsb2JhbC9gOmAke1RzKCl9LyR7dFswXX0vYDpgJHtUcygpfS8ke3R9L2B9KHRoaXMubWFya2V0cyxlKX1vbkxvZ2luU3RhdGVDaGFuZ2UoZSl7ZXx8dGhpcy5nZXRVc2VyU2V0dGluZ3MoKS50aGVuKCgoKT0+dGhpcy5hcHBseUZpZWxkU2V0KHRoaXMuY3VycmVudEZpZWxkU2V0SWQoKSwhMCkpKS50aGVuKCgoKT0+dGhpcy5zZXRNYXJrZXQodGhpcy5tYXJrZXRzLCEwLCEwKSkpLnRoZW4oKCgpPT50aGlzLl92aWV3LnVwZGF0ZU1hcmtldEJ1dHRvbigpKSl9c2hvd05vdGljZUlmTm9GaWx0ZXJzKGUpe2xldCB0O2lmKGUpe2NvbnN0IG89dGhpcy5nZXRGaWx0ZXJTZXRCeUlkKGUpO3Q9byYmby5jb250ZW50fWVsc2UgdD10aGlzLmN1cnJlbnRGaWx0ZXJTdGF0ZSgpCjtyZXR1cm4oIXR8fCFPYmplY3Qua2V5cyh0LmZpbHRlcnN8fHt9KS5sZW5ndGgpJiYodGhpcy5fdmlldy5wb3B1cHMuc2hvd05vdGljZShvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNjA4MikpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUxOTQ3NCkpKSwhMCl9YmluZFNjcm9sbFRvQm90dG9tKGUpe2NvbnN0IHQ9KCk9Pnt0aGlzLmxvYWRpbmd8fHRoaXMudXBkYXRlKG51bGwsITApfSxvPSgpPT57VnMod2luZG93KS5iaW5kKCJzY3JvbGx0byIse3RvOiJib3R0b20iLHRvbGVyYW5jZTplfSx0KSx0aGlzLmxvYWRpbmdDb21wbGV0ZS51bnN1YnNjcmliZShudWxsLG8pfTt0aGlzLmxvYWRpbmdDb21wbGV0ZS5zdWJzY3JpYmUobnVsbCxvKX1nZXQgaXNGYXN0UmVmcmVzaCgpe3JldHVyblsiZm9yZXgiLCJjcnlwdG8iXS5pbmNsdWRlcyh0aGlzLnNjcmVlbmVyX3R5cGUpfWdldCByZWZyZXNoSW50ZXJ2YWwoKXtpZih0aGlzLmlzRmFzdFJlZnJlc2gmJiF0aGlzLl9icmlkZ2Uub25XaWRnZXQpe2lmKHRoaXMuX2JyaWRnZS5oaWRlX2NvbnRyb2xzKXJldHVybiAxMDtpZighd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQpcmV0dXJuLTE7Y29uc3QgZT10aGlzLnNldHRpbmdzU2F2ZXIuZ2V0SW50KHRoaXMuc2V0dGluZ0tleSsiLnJlZnJlc2hJbnRlcnZhbCIsLTEpfHwtMTtyZXR1cm4gMT09PWU/MTA6ZX1yZXR1cm4gd2luZG93LnVzZXImJndpbmRvdy51c2VyLmlzX3BybyYmdGhpcy5zZXR0aW5nc1NhdmVyLmdldEludCh0aGlzLnNldHRpbmdLZXkrIi5yZWZyZXNoSW50ZXJ2YWwiLC0xKXx8LTF9c2V0IHJlZnJlc2hJbnRlcnZhbChlKXt0aGlzLnNldHRpbmdzU2F2ZXIuc2V0VmFsdWUodGhpcy5zZXR0aW5nS2V5KyIucmVmcmVzaEludGVydmFsIixlLHtmb3JjZUZsdXNoOiEwfSksdGhpcy5fdmlldy5yZXNldFJlZnJlc2hDb3VudGVyKCksLTEhPT1lJiZ0aGlzLnRyYWNrRXZlbnQoIlNldCByZWZyZXNoIGludGVydmFsIil9Z2V0IHZpZXcoKXtyZXR1cm4gdGhpcy5fdmlld31nZXQgc2VhcmNoRmllbGQoKXtyZXR1cm4ic2VjdG9yIj09PXRoaXMuc2NyZWVuZXJfdHlwZXx8ImluZHVzdHJ5Ij09PXRoaXMuc2NyZWVuZXJfdHlwZT8iZGVzY3JpcHRpb24iOiJjcnlwdG9fbWt0Ij09PXRoaXMuc2NyZWVuZXJfdHlwZT8ic2VjdG9yIjoibmFtZSJ9Z2V0IHNjcmVlbmVyVHlwZSgpe3JldHVybiB0aGlzLnNjcmVlbmVyX3R5cGV9Z2V0IHNjcmVlbmVyQnJpZGdlKCl7cmV0dXJuIHRoaXMuX2JyaWRnZX1hcHBseVN3aXRjaChlKXtpZihkZWxldGUgdGhpcy5fYnJpZGdlLnNjcmVlbmVyX2ZpZWxkX21hdGNoLCJjcnlwdG9fbWt0Ij09PXRoaXMuc2NyZWVuZXJfdHlwZSl0aGlzLnN3aXRjaEZpbHRlcj17bGVmdDoibmFtZSIsb3BlcmF0aW9uOiJtYXRjaCIscmlnaHQ6ZSsiJCJ9O2Vsc2UgaWYoImJvbmRzIj09PXRoaXMuc2NyZWVuZXJfdHlwZSl7dGhpcy5zd2l0Y2hGaWx0ZXI9e2xlZnQ6ImRlc2NyaXB0aW9uIixvcGVyYXRpb246InlpZWxkcyI9PT1lPyJtYXRjaCI6Im5tYXRjaCIscmlnaHQ6IllJRUxEJCJ9O2NvbnN0IHQ9InlpZWxkcyI9PT1lP28uaTE4bmV4dChudWxsLHtjb250ZXh0OiJCb25kcyJ9LG8oNzU0NikpOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDgyMDg2NikpO0l0LmNsb3NlLnRpdGxlPXQsSXQuY2xvc2Uuc2hvcnRUaXRsZT10LHRoaXMuX3ZpZXcudGFibGUuc2V0Q29sdW1uVGl0bGUoImNsb3NlIix0KX10aGlzLnVwZGF0ZSgpfWhhc01hcmtlZFN5bWJvbHMoKXtyZXR1cm4oMCxfby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgibWFya2VkX3N5bWJvbHMiKSYmIXRoaXMuX2JyaWRnZS5tYXJrZWRfc3ltYm9sc19kaXNhYmxlZH1fc2NyZWVuZXJTdWJ0eXBlKCl7cmV0dXJuIHRoaXMuX2JyaWRnZS5zY3JlZW5lcl9zdWJ0eXBlfHwiIn1fYnVpbGRSZXF1ZXN0RGF0YShlKXtpZigiZ2xvYmFsIj09PXRoaXMubWFya2V0c1swXSl7Y29uc3QgdD1KU09OLnBhcnNlKGUpO3JldHVybiBkZWxldGUgdC5tYXJrZXRzLEpTT04uc3RyaW5naWZ5KHQpfXJldHVybiBlfV9zZW5kU2NhblJlcXVlc3QoZSx0KXtjb25zdCBvPXt0eXBlOiJQT1NUIix1cmw6dGhpcy5fZ2V0U2NhblVybCgic2NhbiIpLGRhdGE6dGhpcy5fYnVpbGRSZXF1ZXN0RGF0YShlKSxzdWNjZXNzOnQsZGF0YVR5cGU6InRleHQiLHhockZpZWxkczp7d2l0aENyZWRlbnRpYWxzOiFCb29sZWFuKHRoaXMuX2JyaWRnZS5vbldpZGdldCl9fTtyZXR1cm4gVnMuYWpheChvKX1fZ2V0RmlsdGVyZWRFeGNoYW5nZXNGb3JXaWRnZXQoZSl7cmV0dXJuIGUuZmlsdGVyKChlPT4hdGhpcy5fYnJpZGdlLnVuYXZhaWxhYmxlV2lkZ2V0RXhjaGFuZ2VzLmluY2x1ZGVzKGUpKSl9X2dldFNjYW5VcmwoZSl7Y29uc3QgdD1uZXcgVVJMKHRoaXMuYmFja2VuZFVybCgpK2UpLG89d2luZG93LlRyYWRpbmdWaWV3JiZ3aW5kb3cuVHJhZGluZ1ZpZXcud2lkZ2V0Q3VzdG9tZXJ8fCIiO3JldHVybiBvJiZxc1tvXT90LnNlYXJjaFBhcmFtcy5hcHBlbmQoImFwaV9rZXkiLHFzW29dKTooMCxBbi5pc0V4dGVybmFsV2lkZ2V0KSh0aGlzLl9icmlkZ2UpJiZ0LnNlYXJjaFBhcmFtcy5hcHBlbmQoImFwaV9rZXkiLCJ3aWRnZXRfdXNlcl90b2tlbiIpLHQuc2VhcmNoUGFyYW1zLmFwcGVuZCgibGFiZWwtcHJvZHVjdCIsKDAsQW4uaXNDaGFydFBhZ2UpKHRoaXMuX2JyaWRnZSk/YHVuZGVyY2hhcnQtc2NyZWVuZXItJHt0aGlzLnNjcmVlbmVyX3R5cGV9YDpgc2NyZWVuZXItJHt0aGlzLnNjcmVlbmVyX3R5cGV9LW9sZGApLHQudG9TdHJpbmcoKX19KGRhKX0sMTg5MyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtTaWRlYmFyQ3VzdG9tU2Nyb2xsOigpPT51fSk7dmFyIGk9bygzNjMyNjkpLG49byg5NDgzODApLHI9byg0NTk0ODgpLHM9bygzMTQ3MjApLGE9bygzNDI3OCksbD1vKDc4MDM3NCk7Y29uc3QgYz1bKCk9Pm5hdmlnYXRvci51c2VyQWdlbnQuaW5jbHVkZXMoIldpbiIpJiZuYXZpZ2F0b3IudXNlckFnZW50LmluY2x1ZGVzKCJDaHJvbWUiKT8xL3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvOjEsKCk9PjE2LChlPSgpPT4wKT0+LjgqKGUoKT8/MCldO28oMTEyNjEzKTt2YXIgZD1vKDYyNTQxMSkKO2NvbnN0IGg9e2hlYWRlckhlaWdodDowLGFkZGl0aW9uYWxDbGFzczoiIixhbHdheXNWaXNpYmxlOiExLHNob3dCb3R0b21TaGFkb3c6ITAsc2Nyb2xsTWFyZ2luVG9wOjEsYnViYmxlU2Nyb2xsRXZlbnQ6ITF9O2NsYXNzIHV7Y29uc3RydWN0b3IoZSx0LG89e30pe2lmKHRoaXMuc2Nyb2xsZWQ9bmV3IG4uRGVsZWdhdGUsdGhpcy5zY3JvbGx0b2VuZD1uZXcgbi5EZWxlZ2F0ZSx0aGlzLnNjcm9sbHRvc3RhcnQ9bmV3IG4uRGVsZWdhdGUsdGhpcy52aXNpYmlsaXR5Q2FsbGJhY2tzPVtdLHRoaXMuX3Njcm9sbFRhcmdldFRvcD0wLHRoaXMuX3Njcm9sbFNwZWVkPTQwLHRoaXMuX3NoYWRvd09mZnNldD0xMCx0aGlzLl9zaGFkb3dUb3A9bnVsbCx0aGlzLl9zaGFkb3dCb3R0b209bnVsbCx0aGlzLl9kcmFnSW5pdGlhbGl6ZWQ9ITEsdGhpcy5fZHJhZ2dpbmc9ITEsdGhpcy5fZHJhZ2dhYmxlPW51bGwsdGhpcy5fYXRTdGFydD0hMSx0aGlzLl9hdEVuZD0hMSx0aGlzLl9zdGlja3lCb3R0b209bnVsbCx0aGlzLl9hbmltYXRpb249bnVsbCx0aGlzLl9zYXZlZD1udWxsLHRoaXMuX29wdGlvbnM9ey4uLmgsLi4ub30sdGhpcy5fd3JhcHBlcj1lLHRoaXMuX3dyYXBwZXIuY2xhc3NMaXN0LmFkZChkLndyYXBwZXIpLHRoaXMuX2NvbnRlbnQ9dCx0aGlzLl9oZWFkZXJIZWlnaHQ9dGhpcy5fb3B0aW9ucy5oZWFkZXJIZWlnaHQsdGhpcy5fc2Nyb2xsTWFyZ2luVG9wPXRoaXMuX29wdGlvbnMuc2Nyb2xsTWFyZ2luVG9wLHRoaXMuX3Njcm9sbEJhcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9zY3JvbGxCYXIuY2xhc3NMaXN0LmFkZCgic2Itc2Nyb2xsYmFyIiwic2Itc2Nyb2xsYmFyLWJvZHkiKSx0aGlzLl9vcHRpb25zLmFkZGl0aW9uYWxDbGFzcyYmdGhpcy5fc2Nyb2xsQmFyLmNsYXNzTGlzdC5hZGQodGhpcy5fb3B0aW9ucy5hZGRpdGlvbmFsQ2xhc3MpLHRoaXMuX3Njcm9sbEJhci5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUtYWx3YXlzIix0aGlzLl9vcHRpb25zLmFsd2F5c1Zpc2libGUpLHRoaXMuX3Njcm9sbEJhcldyYXBwZXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fc2Nyb2xsQmFyV3JhcHBlci5jbGFzc0xpc3QuYWRkKCJzYi1zY3JvbGxiYXItd3JhcCIpLHRoaXMuX3RvdWNoPWkudG91Y2gsdGhpcy5fdG91Y2gpcmV0dXJuIHRoaXMuX2NvbnRlbnQuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIix0aGlzLl93cmFwcGVyLmNsYXNzTGlzdC5hZGQoZC50b3VjaCksdm9pZCB0aGlzLl93cmFwcGVyLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsKCgpPT50aGlzLl9vblNjcm9sbCgpKSk7dGhpcy5fd3JhcHBlci5zdHlsZS5vdmVyZmxvdz0iaGlkZGVuIix0aGlzLl91bnN1YnNjcmliZT0oKCk9Pntjb25zdCBlPSgpPT57dGhpcy5fZHJhZ2dpbmd8fCh0aGlzLl9vcHRpb25zLmFsd2F5c1Zpc2libGV8fHRoaXMuX3Njcm9sbEJhci5jbGFzc0xpc3QuYWRkKCJhY3RpdmUiKSx0aGlzLl9vblNjcm9sbCgpKX0sdD0oKT0+e3RoaXMuX2RyYWdnaW5nfHwodGhpcy5fb3B0aW9ucy5hbHdheXNWaXNpYmxlfHx0aGlzLl9zY3JvbGxCYXIuY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlIiksdGhpcy5fb25TY3JvbGwoKSl9LG89ZT0+e2NvbnN0IHQ9ZS50YXJnZXQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudD9lLnRhcmdldDpudWxsO2lmKCghISF0Py5jbG9zZXN0KCIuaWdub3JlLWhvcml6b250YWwtc2Nyb2xsIil8fGUuZGVsdGFZKSYmIWUuZGVmYXVsdFByZXZlbnRlZCl7Y29uc3QgdD1mdW5jdGlvbihlLHQ9KCk9Pih7fSkpe3JldHVybnt4OmUuZGVsdGFYKmNbZS5kZWx0YU1vZGVdKCgoKT0+dCgpLndpZHRoKSkseTplLmRlbHRhWSpjW2UuZGVsdGFNb2RlXSgoKCk9PnQoKS5oZWlnaHQpKX19KGUsKCgpPT4oe2hlaWdodDp0aGlzLl93cmFwcGVyLmNsaWVudEhlaWdodH0pKSkueTt0aGlzLnNjcm9sbCgtdCwxKXx8KGUuc3RvcFByb3BhZ2F0aW9uKCksZS5wcmV2ZW50RGVmYXVsdCgpKX19O3JldHVybiB0aGlzLl93cmFwcGVyLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLGUpLHRoaXMuX3dyYXBwZXIuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdCksdGhpcy5fd3JhcHBlci5hZGRFdmVudExpc3RlbmVyKCJ3aGVlbCIsbyksKCk9Pnt0aGlzLl93cmFwcGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLGUpLHRoaXMuX3dyYXBwZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdCksdGhpcy5fd3JhcHBlci5yZW1vdmVFdmVudExpc3RlbmVyKCJ3aGVlbCIsbyl9fSkoKSwhMSE9PXRoaXMuX29wdGlvbnMuc2hvd1RvcFNoYWRvdyYmKHRoaXMuX3NoYWRvd1RvcD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9zaGFkb3dUb3AuY2xhc3NMaXN0LmFkZCgic2ItaW5uZXItc2hhZG93IiwidG9wIiwiaS1pbnZpc2libGUiKSx0aGlzLl93cmFwcGVyLmFwcGVuZENoaWxkKHRoaXMuX3NoYWRvd1RvcCkpLCExIT09dGhpcy5fb3B0aW9ucy5zaG93Qm90dG9tU2hhZG93JiYodGhpcy5fc2hhZG93Qm90dG9tPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX3NoYWRvd0JvdHRvbS5jbGFzc0xpc3QuYWRkKCJzYi1pbm5lci1zaGFkb3ciKSx0aGlzLl93cmFwcGVyLmFwcGVuZENoaWxkKHRoaXMuX3NoYWRvd0JvdHRvbSkpLHRoaXMuX3NoYWRvd1RvcCYmdGhpcy5faGVhZGVySGVpZ2h0JiYodGhpcy5fc2hhZG93VG9wLnN0eWxlLnRvcD10aGlzLl9oZWFkZXJIZWlnaHQtdGhpcy5fc2hhZG93T2Zmc2V0KyJweCIpLHRoaXMuX3dyYXBwZXIuYXBwZW5kQ2hpbGQodGhpcy5fc2Nyb2xsQmFyV3JhcHBlciksdGhpcy5fc2Nyb2xsQmFyV3JhcHBlci5hcHBlbmRDaGlsZCh0aGlzLl9zY3JvbGxCYXIpLHRoaXMuX29uU2Nyb2xsKCl9aXNUb3VjaCgpe3JldHVybiB0aGlzLl90b3VjaH1nZXRTY3JvbGxCYXIoKXtyZXR1cm4gdGhpcy5fc2Nyb2xsQmFyfWluaXREcmFnZ2FibGUoKXtyZXR1cm4gdGhpcy5fZHJhZ0luaXRpYWxpemVkfHwodGhpcy5fZHJhZ2dhYmxlPW5ldyBsLkRyYWdnYWJsZSh7YXhpczoieSIsCnNvdXJjZTp0aGlzLl9zY3JvbGxCYXIsY29udGFpbm1lbnQ6dGhpcy5fc2Nyb2xsQmFyV3JhcHBlcixzdGFydDooKT0+e3RoaXMuX2RyYWdnaW5nPSEwfSxzdG9wOigpPT57dGhpcy5fZHJhZ2dpbmc9ITF9LGRyYWc6KCk9Pnt0aGlzLnVwZGF0ZVNjcm9sbCgpfX0pLHRoaXMuX2RyYWdJbml0aWFsaXplZD0hMCksdGhpc311cGRhdGVTY3JvbGwoKXtpZih0aGlzLl90b3VjaClyZXR1cm4gdGhpcztjb25zdCBlPU1hdGguY2VpbCgoMCxyLnBvc2l0aW9uKSh0aGlzLl9zY3JvbGxCYXIpLnRvcC10aGlzLl9zY3JvbGxNYXJnaW5Ub3AtdGhpcy5faGVhZGVySGVpZ2h0KSx0PXRoaXMuZ2V0Q29udGFpbmVySGVpZ2h0V2l0aG91dEhlYWRlcigpLG89KDAscy5vdXRlckhlaWdodCkodGhpcy5fY29udGVudCksaT1vLXQtMTtyZXR1cm4gdDw9MHx8KHRoaXMuX3Njcm9sbFRhcmdldFRvcD1pPD0wP3RoaXMuX2hlYWRlckhlaWdodDpNYXRoLm1pbigtZSpvL3QrdGhpcy5faGVhZGVySGVpZ2h0LHRoaXMuX2hlYWRlckhlaWdodCksZSsoMCxzLmNvbnRlbnRIZWlnaHQpKHRoaXMuX3Njcm9sbEJhcikrMj49dD90aGlzLnNjcm9sbFRvRW5kKCk6KHRoaXMuX2NvbnRlbnQuc3R5bGUudG9wPXRoaXMuX3Njcm9sbFRhcmdldFRvcCsicHgiLHRoaXMuX29uU2Nyb2xsKCkpKSx0aGlzfWdldENvbnRhaW5lckhlaWdodFdpdGhvdXRIZWFkZXIoKXtyZXR1cm4gdGhpcy5fd3JhcHBlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQtdGhpcy5faGVhZGVySGVpZ2h0fWdldENvbnRhaW5lckhlaWdodCgpe3JldHVybiB0aGlzLl93cmFwcGVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodH1nZXRDb250ZW50SGVpZ2h0KCl7cmV0dXJuIHRoaXMuX2NvbnRlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0fXVwZGF0ZVNjcm9sbEJhcigpe2lmKHRoaXMuX3RvdWNoKXJldHVybiB0aGlzO2NvbnN0IGU9KDAsci5wb3NpdGlvbikodGhpcy5fY29udGVudCkudG9wLHQ9dGhpcy5nZXRDb250ZW50SGVpZ2h0KCksbz10aGlzLmdldENvbnRhaW5lckhlaWdodCgpLGk9dGhpcy5nZXRDb250YWluZXJIZWlnaHRXaXRob3V0SGVhZGVyKCksbj0xK3RoaXMuX2hlYWRlckhlaWdodCxzPWktMixhPShNYXRoLmFicyhlKS10aGlzLl9oZWFkZXJIZWlnaHQpKnMvdCxsPW8qby90O3JldHVybiB0aGlzLmlzQ29udGVudFNob3J0KCk/KHRoaXMuX3Njcm9sbEJhci5jbGFzc0xpc3QuYWRkKCJqcy1oaWRkZW4iKSx0aGlzLl93cmFwcGVyLmNsYXNzTGlzdC5yZW1vdmUoInNiLXNjcm9sbC1hY3RpdmUiKSk6KHRoaXMuX3Njcm9sbEJhci5jbGFzc0xpc3QucmVtb3ZlKCJqcy1oaWRkZW4iKSx0aGlzLl9zY3JvbGxCYXIuc3R5bGUuaGVpZ2h0PWwrInB4Iix0aGlzLl9zY3JvbGxCYXIuc3R5bGUudG9wPW4rYSsicHgiLHRoaXMuX3dyYXBwZXIuY2xhc3NMaXN0LmFkZCgic2Itc2Nyb2xsLWFjdGl2ZSIpLHRoaXMuaW5pdERyYWdnYWJsZSgpKSx0aGlzfXNjcm9sbChlLHQpe2NvbnN0IG89KDAsci5wb3NpdGlvbikodGhpcy5fY29udGVudCkudG9wLGk9KDAscy5vdXRlckhlaWdodCkodGhpcy5fY29udGVudCktdGhpcy5nZXRDb250YWluZXJIZWlnaHRXaXRob3V0SGVhZGVyKCktMSxuPXR8fHRoaXMuX3Njcm9sbFNwZWVkO3JldHVybiBpPD0wfHwodGhpcy5fc2Nyb2xsVGFyZ2V0VG9wPU1hdGgubWF4KC1pK3RoaXMuX2hlYWRlckhlaWdodCxNYXRoLm1pbih0aGlzLl9oZWFkZXJIZWlnaHQsbytlKm4pKSx0aGlzLnNldENvbnRlbnRUb3AodGhpcy5fc2Nyb2xsVGFyZ2V0VG9wKSx0aGlzLl9vblNjcm9sbCgpKX1hbmltYXRlVG8oZSl7aWYodGhpcy5fdG91Y2gpcmV0dXJuIHRoaXM7Y29uc3QgdD0oMCxzLm91dGVySGVpZ2h0KSh0aGlzLl9jb250ZW50KS10aGlzLmdldENvbnRhaW5lckhlaWdodFdpdGhvdXRIZWFkZXIoKS0xO2lmKHQ8PTApcmV0dXJuITA7dGhpcy5fc2Nyb2xsVGFyZ2V0VG9wPU1hdGgubWF4KC10K3RoaXMuX2hlYWRlckhlaWdodCxNYXRoLm1pbih0aGlzLl9oZWFkZXJIZWlnaHQsLWUpKSx0aGlzLl9hbmltYXRpb24mJnRoaXMuX2FuaW1hdGlvbi5zdG9wKCksdGhpcy5fYW5pbWF0aW9uPSgwLGEuZG9BbmltYXRlKSh7ZHVyYXRpb246NTAwLGZyb206cGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKHRoaXMuX2NvbnRlbnQpLnRvcCksdG86dGhpcy5fc2Nyb2xsVGFyZ2V0VG9wLG9uU3RlcDooZSx0KT0+e3RoaXMuX2NvbnRlbnQuc3R5bGUudG9wPXQrInB4In0sb25Db21wbGV0ZTooKT0+e3RoaXMuX29uU2Nyb2xsKCl9fSl9cmVzaXplKCl7Y29uc3QgZT0oMCxzLm91dGVySGVpZ2h0KSh0aGlzLl9jb250ZW50KSx0PSgwLHMub3V0ZXJIZWlnaHQpKHRoaXMuX3dyYXBwZXIpOyF0aGlzLl9vcHRpb25zLnZBbGlnbkJvdHRvbSYmZTx0P3RoaXMuYXRTdGFydCgpfHx0aGlzLnNjcm9sbFRvU3RhcnQoKTp0aGlzLmF0RW5kKCk/dGhpcy5zY3JvbGxUb0VuZCgpOiJudW1iZXIiPT10eXBlb2YgdGhpcy5fc3RpY2t5Qm90dG9tJiZ0aGlzLnNldENvbnRlbnRUb3AoTWF0aC5taW4oMCx0aGlzLl9zdGlja3lCb3R0b20rKDAscy5vdXRlckhlaWdodCkodGhpcy5fd3JhcHBlciktKDAscy5vdXRlckhlaWdodCkodGhpcy5fY29udGVudCkpKX1yZXNpemVIZWFkZXIoZSl7Y29uc3QgdD1lLXRoaXMuX2hlYWRlckhlaWdodDt0aGlzLl9oZWFkZXJIZWlnaHQ9ZSx0aGlzLl9zY3JvbGxUYXJnZXRUb3ArPXQsdGhpcy5fc2hhZG93VG9wJiYodGhpcy5fc2hhZG93VG9wLnN0eWxlLnRvcD10aGlzLl9oZWFkZXJIZWlnaHQtdGhpcy5fc2hhZG93T2Zmc2V0KyJweCIpLHRoaXMucmVzaXplKCl9c2Nyb2xsVG8oZSx0KXtjb25zdCBvPXtwb3NpdGlvbjoidmlzaWJsZSIsYXJlYUhlaWdodDplIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQ/KDAscy5jb250ZW50SGVpZ2h0KShlKTowLC4uLnR9O2UgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmKGU9by5vZmZzZXRUb3B8fCgwLHIucG9zaXRpb24pKGUpLnRvcCk7Y29uc3QgaT0oMCwKci5wb3NpdGlvbikodGhpcy5fY29udGVudCkudG9wLG49dGhpcy5fY29udGVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQsYT10aGlzLmdldENvbnRhaW5lckhlaWdodFdpdGhvdXRIZWFkZXIoKTtpZihuLWEtMTw9MClyZXR1cm4hMDtjb25zdCBsPS0xKihpLXRoaXMuX2hlYWRlckhlaWdodCksYz1sK2E7bGV0IGQ9MDtpZigidmlzaWJsZSI9PT1vLnBvc2l0aW9uKXtpZihlPmwmJmUrby5hcmVhSGVpZ2h0PGMpcmV0dXJuITE7ZD1lK28uYXJlYUhlaWdodD5jP2MtZS1vLmFyZWFIZWlnaHQ6bC1lfWVsc2UidG9wIj09PW8ucG9zaXRpb24mJihkPWwtZSk7cmV0dXJuIHRoaXMuc2Nyb2xsKGQsMSksdGhpcy5fb25TY3JvbGwoKSwhMX1zY3JvbGxUb0VuZCgpe2NvbnN0IGU9KDAsci5wb3NpdGlvbikodGhpcy5fY29udGVudCkudG9wLHQ9KDAscy5vdXRlckhlaWdodCkodGhpcy5fY29udGVudCksbz0oMCxzLm91dGVySGVpZ2h0KSh0aGlzLl93cmFwcGVyKSxpPXQ+bz9lKyhvLSh0K2UpKSsxOjE7cmV0dXJuIHRoaXMuc2V0Q29udGVudFRvcChpKSx0aGlzLl9vblNjcm9sbCgpLHRoaXN9c2Nyb2xsVG9TdGFydCgpe3JldHVybiB0aGlzLnNldENvbnRlbnRUb3AodGhpcy5faGVhZGVySGVpZ2h0KSx0aGlzLl9vblNjcm9sbCgpLHRoaXN9Y3VycmVudFBvc2l0aW9uKCl7cmV0dXJuIE1hdGgucm91bmQoKDAsci5wb3NpdGlvbikodGhpcy5fY29udGVudCkudG9wKX1hdFN0YXJ0KCl7cmV0dXJuIE1hdGgucm91bmQoKDAsci5wb3NpdGlvbikodGhpcy5fY29udGVudCkudG9wKT49dGhpcy5faGVhZGVySGVpZ2h0fWF0RW5kKGUpeyJudW1iZXIiPT10eXBlb2YgZSYmaXNGaW5pdGUoZSl8fChlPTApO2NvbnN0IHQ9TWF0aC5yb3VuZCgoMCxyLnBvc2l0aW9uKSh0aGlzLl9jb250ZW50KS50b3ApLG89TWF0aC5mbG9vcigoMCxzLm91dGVySGVpZ2h0KSh0aGlzLl9jb250ZW50KSksaT1NYXRoLmZsb29yKCgwLHMub3V0ZXJIZWlnaHQpKHRoaXMuX3dyYXBwZXIpKTtyZXR1cm4gby1NYXRoLmFicyh0KS0xPD1pK2V9Y2hlY2tDb250ZW50VmlzaWJpbGl0eSgpe3RoaXMuX29uQ29udGVudFZpc2libGUoKX1zdWJzY3JpYmVUb0NvbnRlbnRWaXNpYmxlKGUsdCxvKXt0aGlzLnZpc2liaWxpdHlDYWxsYmFja3MucHVzaCh7aWQ6ZSxlbGVtZW50OnQsY2FsbGJhY2s6b30pfXRyaWdnZXJWaXNpYmlsaXR5Q2FsbGJhY2tzKGUpe3RoaXMuX29uQ29udGVudFZpc2libGUoZSl9c2F2ZSgpe3JldHVybiB0aGlzLl9zYXZlZD17dG9wOigwLHIucG9zaXRpb24pKHRoaXMuX2NvbnRlbnQpLnRvcCxoZWlnaHQ6KDAscy5vdXRlckhlaWdodCkodGhpcy5fY29udGVudCl9LHRoaXN9cmVzdG9yZSgpe2lmKHRoaXMuX3NhdmVkKXtpZih0aGlzLl9zYXZlZC50b3A9PT0oMCxyLnBvc2l0aW9uKSh0aGlzLl9jb250ZW50KS50b3AmJnRoaXMuX3NhdmVkLmhlaWdodD09PSgwLHMub3V0ZXJIZWlnaHQpKHRoaXMuX2NvbnRlbnQpKXJldHVybiB0aGlzLl9zYXZlZD1udWxsLHRoaXM7dGhpcy5fb3B0aW9ucy52QWxpZ25Cb3R0b20mJih0aGlzLl9zYXZlZC50b3AtPSgwLHMub3V0ZXJIZWlnaHQpKHRoaXMuX2NvbnRlbnQpLXRoaXMuX3NhdmVkLmhlaWdodCx0aGlzLl9zYXZlZC50b3A+dGhpcy5faGVhZGVySGVpZ2h0JiYodGhpcy5fc2F2ZWQudG9wPXRoaXMuX2hlYWRlckhlaWdodCkpLHRoaXMuc2V0Q29udGVudFRvcCh0aGlzLl9zYXZlZC50b3ApLHRoaXMuX3NhdmVkPW51bGwsdGhpcy5fb25TY3JvbGwoITApfXJldHVybiB0aGlzfXNldENvbnRlbnRUb3AoZSl7cmV0dXJuIHRoaXMuX3RvdWNoP3RoaXMuX29wdGlvbnMudkFsaWduQm90dG9tJiYoMCxzLm91dGVySGVpZ2h0KSh0aGlzLl9jb250ZW50KTwoMCxzLm91dGVySGVpZ2h0KSh0aGlzLl93cmFwcGVyKT8odGhpcy5fd3JhcHBlci5zdHlsZS5vdmVyZmxvd1k9InZpc2libGUiLHRoaXMuX2NvbnRlbnQuc3R5bGUucG9zaXRpb249ImFic29sdXRlIix0aGlzLl9jb250ZW50LnN0eWxlLmJvdHRvbT0iMHB4Iik6KHRoaXMuX2NvbnRlbnQuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIix0aGlzLl9jb250ZW50LnN0eWxlLnBvc2l0aW9uPSJhdXRvIix0aGlzLl93cmFwcGVyLnN0eWxlLm92ZXJmbG93WT0iYXV0byIsdGhpcy5fd3JhcHBlci5zY3JvbGxUb3A9LWUpOnRoaXMuX2NvbnRlbnQuc3R5bGUudG9wPWUrInB4Iix0aGlzfWlzQ29udGVudFNob3J0KCl7cmV0dXJuIHRoaXMuZ2V0Q29udGVudEhlaWdodCgpPD10aGlzLmdldENvbnRhaW5lckhlaWdodFdpdGhvdXRIZWFkZXIoKX1kZXN0cm95KCl7dGhpcy5fYW5pbWF0aW9uJiZ0aGlzLl9hbmltYXRpb24uc3RvcCgpLHRoaXMuX3Njcm9sbEJhcldyYXBwZXImJnRoaXMuX3Njcm9sbEJhcldyYXBwZXIucmVtb3ZlKCksdGhpcy5fc2hhZG93Qm90dG9tJiZ0aGlzLl9zaGFkb3dCb3R0b20ucmVtb3ZlKCksdGhpcy5fc2hhZG93VG9wJiZ0aGlzLl9zaGFkb3dUb3AucmVtb3ZlKCksdGhpcy5fZHJhZ2dhYmxlJiYodGhpcy5fZHJhZ2dhYmxlLmRlc3Ryb3koKSx0aGlzLl9kcmFnZ2FibGU9bnVsbCksdGhpcy5fY29udGVudC5zdHlsZS5jc3NUZXh0PSIiLHRoaXMuX3dyYXBwZXIuc3R5bGUuY3NzVGV4dD0iIix0aGlzLl91bnN1YnNjcmliZT8uKCl9X29uU2Nyb2xsKGUpe3RoaXMuX3RvdWNofHwodGhpcy5fY29udGVudC5zdHlsZS5ib3R0b209ImF1dG8iKSx0aGlzLnNjcm9sbGVkLmZpcmUoKSx0aGlzLl9kcmFnZ2luZyYmITAhPT1lfHx0aGlzLnVwZGF0ZVNjcm9sbEJhcigpO2NvbnN0IHQ9dGhpcy5hdFN0YXJ0KCksbz10aGlzLmF0RW5kKCk7cmV0dXJuIHRoaXMuX3NoYWRvd1RvcCYmdGhpcy5fc2hhZG93VG9wLmNsYXNzTGlzdC50b2dnbGUoImktaW52aXNpYmxlIiwhIXQpLHRoaXMuX3NoYWRvd0JvdHRvbSYmdGhpcy5fc2hhZG93Qm90dG9tLmNsYXNzTGlzdC50b2dnbGUoImktaW52aXNpYmxlIiwhIW8pLHRoaXMuX29uQ29udGVudFZpc2libGUoKSwhdGhpcy5fYXRTdGFydCYmdD8odGhpcy5fYXRTdGFydD0hMCx0aGlzLnNjcm9sbHRvc3RhcnQuZmlyZSgpKTp0aGlzLl9hdFN0YXJ0JiYhdCYmKHRoaXMuX2F0U3RhcnQ9ITEpLAohdGhpcy5fYXRFbmQmJm8/KHRoaXMuX2F0RW5kPSEwLHRoaXMuc2Nyb2xsdG9lbmQuZmlyZSgpKTp0aGlzLl9hdEVuZCYmIW8mJih0aGlzLl9hdEVuZD0hMSksdGhpcy5fb3B0aW9ucy52QWxpZ25Cb3R0b20mJih0aGlzLl9zdGlja3lCb3R0b209KDAscy5vdXRlckhlaWdodCkodGhpcy5fY29udGVudCktTWF0aC5hYnMoKDAsci5wb3NpdGlvbikodGhpcy5fY29udGVudCkudG9wKS0oMCxzLm91dGVySGVpZ2h0KSh0aGlzLl93cmFwcGVyKSksKHRoaXMuX2F0U3RhcnR8fHRoaXMuX2F0RW5kKSYmKCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLl9vcHRpb25zLmJ1YmJsZVNjcm9sbEV2ZW50P0Jvb2xlYW4odGhpcy5fb3B0aW9ucy5idWJibGVTY3JvbGxFdmVudCgpKTpCb29sZWFuKHRoaXMuX29wdGlvbnMuYnViYmxlU2Nyb2xsRXZlbnQpKX1fY29udGVudElzVmlzaWJsZShlKXtyZXR1cm4oMCxyLnBvc2l0aW9uKShlLmVsZW1lbnQpLnRvcD4tMSp0aGlzLmN1cnJlbnRQb3NpdGlvbigpfV9vbkNvbnRlbnRWaXNpYmxlKGUpe2lmKCF0aGlzLnZpc2liaWxpdHlDYWxsYmFja3MubGVuZ3RoKXJldHVybjtjb25zdCB0PWV8fHRoaXMuX2NvbnRlbnRJc1Zpc2libGUuYmluZCh0aGlzKSxvPVtdLGk9dGhpcy52aXNpYmlsaXR5Q2FsbGJhY2tzLmZpbHRlcigoKGUsaSk9PntpZighdGhpcy5fY29udGVudC5jb250YWlucyhlLmVsZW1lbnQpKXJldHVybiExO2NvbnN0IG49dChlKTtyZXR1cm4gbiYmby5wdXNoKGkpLCFufSkpO28uZm9yRWFjaCgodD0+e3RoaXMudmlzaWJpbGl0eUNhbGxiYWNrc1t0XS5jYWxsYmFjayghIWUpfSkpLHRoaXMudmlzaWJpbGl0eUNhbGxiYWNrcz1pfX19LDcwMTUwNihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHthbGxDaGFydFN0eWxlczooKT0+cn0pO3ZhciBpPW8oOTMwMjMxKTtjb25zdCBuPSgwLG8oMzE4OTc0KS5vbldpZGdldCkoKTtmdW5jdGlvbiByKCl7cmV0dXJuIGZ1bmN0aW9uKCl7Y29uc3QgZT1bMCwxLDksMTMsMiwxNCwxNSwzLDE2LDEwXTtyZXR1cm4gZS5wdXNoKDEyKSxufHxlLnB1c2goMTcpLG58fGUucHVzaCgxOCksbnx8ZS5wdXNoKDIwKSxufHxlLnB1c2goMTkpLGV9KCkuY29uY2F0KGZ1bmN0aW9uKCl7Y29uc3QgZT1bOF07cmV0dXJuKDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiamFwYW5lc2VfY2hhcnRfc3R5bGVzIikmJihlLnB1c2goNCw3LDUsNiksZS5wdXNoKDExKSksZX0oKSl9fSwzMTQ5MTQoZSx0LG8peyJ1c2Ugc3RyaWN0Ijt2YXIgaT1vKDg1Mjk4MCksbj1vKDkzMDIzMSk7Y29uc3Qgcj0oMCxuLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJwYXlfYXR0ZW50aW9uX3RvX3RpY2tlcl9ub3Rfc3ltYm9sIikscz0oMCxuLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJjaGFydGluZ19saWJyYXJ5X3NpbmdsZV9zeW1ib2xfcmVxdWVzdCIpLGE9KDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgidXNlX3RpY2tlcl9vbl9zeW1ib2xfaW5mb191cGRhdGUiKSxsPSgwLG4uaXNGZWF0dXJlc2V0RW5hYmxlZCkoInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIik7aS5leHRyYWN0U3ltYm9sTmFtZUZyb21TeW1ib2xJbmZvLmJpbmQobnVsbCx7cGF5QXR0ZW50aW9uVG9UaWNrZXJOb3RTeW1ib2w6cixjaGFydGluZ0xpYnJhcnlTaW5nbGVTeW1ib2xSZXF1ZXN0OnMsdXNlVGlja2VyT25TeW1ib2xJbmZvVXBkYXRlOmEsdXBwZXJjYXNlSW5zdHJ1bWVudE5hbWVzOmx9KX0sNTgwMzcoZSx0LG8peyJ1c2Ugc3RyaWN0Ijt2YXIgaSxuOyFmdW5jdGlvbihlKXtlW2UuT2ZmbGluZT0wXT0iT2ZmbGluZSIsZVtlLlJlc29sdmluZz0xXT0iUmVzb2x2aW5nIixlW2UuTG9hZGluZz0yXT0iTG9hZGluZyIsZVtlLlJlYWR5PTNdPSJSZWFkeSIsZVtlLkludmFsaWRTeW1ib2w9NF09IkludmFsaWRTeW1ib2wiLGVbZS5TbmFwc2hvdD01XT0iU25hcHNob3QiLGVbZS5FT0Q9Nl09IkVPRCIsZVtlLlB1bHNlPTddPSJQdWxzZSIsZVtlLkRlbGF5ZWQ9OF09IkRlbGF5ZWQiLGVbZS5EZWxheWVkU3RlYW1pbmc9OV09IkRlbGF5ZWRTdGVhbWluZyIsZVtlLk5vQmFycz0xMF09Ik5vQmFycyIsZVtlLlJlcGxheT0xMV09IlJlcGxheSIsZVtlLkVycm9yPTEyXT0iRXJyb3IiLGVbZS5DYWxjdWxhdGlvbkVycm9yPTEzXT0iQ2FsY3VsYXRpb25FcnJvciIsZVtlLlVuc3VwcG9ydGVkUmVzb2x1dGlvbj0xNF09IlVuc3VwcG9ydGVkUmVzb2x1dGlvbiJ9KGl8fChpPXt9KSksZnVuY3Rpb24oZSl7ZVtlLk1hcmtlcnM9MF09Ik1hcmtlcnMiLGVbZS5TdGVwbGluZT0xXT0iU3RlcGxpbmUiLGVbZS5TaW1wbGU9Ml09IlNpbXBsZSJ9KG58fChuPXt9KSl9LDEyODk5OChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtjcmVhdGVTZXJpZXNGb3JtYXR0ZXI6KCk9PmgsaXNDbG9zZUJhc2VkU3ltYm9sOigpPT5fLGlzSExDQmFzZWRTdHlsZTooKT0+ZCxpc1JlZ3VsYXJTZXNzaW9uSWQ6KCk9PnUsaXNTaW5nbGVWYWx1ZUJhc2VkU3R5bGU6KCk9PmN9KTtvKDE4NTI3MSk7dmFyIGk9byg5MzAyMzEpLG49KG8oOTMwNTY2KSxvKDMxODk3NCksbygxNTY4MjkpKSxyPShvKDc5ODM4KSxvKDc1NTYyNykpLHM9byg5ODQzNzYpLGE9bygxMjUyMTgpO28oMzE0OTE0KTsoMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1cHBlcmNhc2VfaW5zdHJ1bWVudF9uYW1lcyIpLCgwLGkuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhpZGVfb2JqZWN0X3RyZWVfYW5kX3ByaWNlX3NjYWxlX2V4Y2hhbmdlX2xhYmVsIik7dmFyIGw7IWZ1bmN0aW9uKGUpe2UuTGFzdFVzZWRTdHlsZUtleT0iY2hhcnQubGFzdFVzZWRTdHlsZSIsZS5MYXN0VXNlZFNpbmdsZVZhbHVlQmFzZWRTdHlsZT0iY2hhcnQubGFzdFVzZWRTaW5nbGVWYWx1ZUJhc2VkU3R5bGUiLGUuTGFzdFVzZWRSYXdEYXRhU3R5bGU9ImNoYXJ0LnJhd0RhdGFTdHlsZSIsZS5MYXN0VXNlZE1ldHJpYz0iY2hhcnQubGFzdFVzZWRNZXRyaWMifShsfHwobD17fSkpO2Z1bmN0aW9uIGMoZSl7c3dpdGNoKGUpe2Nhc2UgMzpjYXNlIDEwOmNhc2UgMjpjYXNlIDE0OmNhc2UgMTU6Y2FzZSAxMzpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX1mdW5jdGlvbiBkKGUpe3N3aXRjaChlKXtjYXNlIDE2OgpjYXNlIDIxOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIGgoZSx0LG89ITEpe2NvbnN0e3ByaWNlU2NhbGU6aSxtaW5Nb3ZlOm4sZnJhY3Rpb25hbDpsLG1pbk1vdmUyOmMsdmFyaWFibGVNaW5UaWNrOmQsbm9FeHBvbmVudGlhbEZvcm06aH09ZnVuY3Rpb24oZSx0PSJkZWZhdWx0IixvPSExKXtsZXQgaSxuLHIscyxhPTEwMCxsPTE7aWYoImRlZmF1bHQiPT09dCludWxsIT1lJiYoKHtwcmljZXNjYWxlOmEsbWlubW92OmwsbWlubW92ZTI6bixmcmFjdGlvbmFsOml9PWUpLHI9ZS52YXJpYWJsZV90aWNrX3NpemV8fHZvaWQgMCk7ZWxzZXtsZXQgZT10LnNwbGl0KCIsIik7MyE9PWUubGVuZ3RoJiYoZT1bIjEwMCIsIjEiLCJmYWxzZSJdKSxhPXBhcnNlSW50KGVbMF0pLGw9cGFyc2VJbnQoZVsxXSksaT0idHJ1ZSI9PT1lWzJdLHM9ITB9cmV0dXJuIG8mJihsPTEpLHtwcmljZVNjYWxlOmEsbWluTW92ZTpsLGZyYWN0aW9uYWw6aSxtaW5Nb3ZlMjpuLHZhcmlhYmxlTWluVGljazpyLGlnbm9yZU1pbk1vdmU6byxub0V4cG9uZW50aWFsRm9ybTpzfX0oZSx0LG8pO2lmKG51bGwhPWUpe2NvbnN0IHI9ZS5mb3JtYXQ7aWYoImRlZmF1bHQiPT09dCYmInZvbHVtZSI9PT1yKXJldHVybiBuZXcgcy5Wb2x1bWVGb3JtYXR0ZXIoe3ByZWNpc2lvbjoyfSk7aWYoInBlcmNlbnQiPT09cilyZXR1cm4gbmV3IGEuUGVyY2VudGFnZUZvcm1hdHRlcih7cHJpY2VTY2FsZTppLG1pbk1vdmU6bixmcmFjdGlvbmFsOmwsbWluTW92ZTI6Yyx2YXJpYWJsZU1pblRpY2s6ZCxpZ25vcmVNaW5Nb3ZlOm99KX1yZXR1cm4gbmV3IHIuUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6aSxtaW5Nb3ZlOm4sZnJhY3Rpb25hbDpsLG1pbk1vdmUyOmMsdmFyaWFibGVNaW5UaWNrOmQsaWdub3JlTWluTW92ZTpvLG5vRXhwb25lbnRpYWxGb3JtOmh9KX1mdW5jdGlvbiB1KGUsdCl7d2luZG93O3JldHVyblsic3RvY2siLCJmdW5kIiwiaW5kZXgiLCJkciJdLmluY2x1ZGVzKHQudHlwZSkmJiJyZWd1bGFyIj09PWV8fCgwLG4uaXNGdXR1cmVzKSh0LnR5cGUpJiYidXNfcmVndWxhciI9PT1lfWZ1bmN0aW9uIF8oZSl7cmV0dXJuImMiPT09ZT8udmlzaWJsZV9wbG90c19zZXR9fSw3Nzc2NjEoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7c3R1ZHlUcG9QcmVyaW9kaWNJZDooKT0+aSxzdHVkeVRwb1Nlc3Npb25zSWQ6KCk9Pm59KTtjb25zdCBpPSJUUE9QZXJpb2RpY0B0di12b2x1bWVieXByaWNlIixuPSJUUE9TZXNzaW9uc0B0di12b2x1bWVieXByaWNlIn0sNzI4NDM2KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse3N0dWR5Vm9sRm9vdHByaW50SWQ6KCk9Pml9KTtjb25zdCBpPSJGb290cHJpbnRAdHYtdm9sdW1lYnlwcmljZSJ9LDU1MDM5MyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtzdHVkeVZiUFNlc3Npb25zSWQ6KCk9Pml9KTtjb25zdCBpPSJWYlBTZXNzaW9uc0B0di12b2x1bWVieXByaWNlIn0sNjQxMzA0KGUsdCxvKXsidXNlIHN0cmljdCI7dC5vcGVyYXRvcnM9e2xlc3M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTc3NTA2KSksZWxlc3M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjA0ODA0KSksZ3JlYXRlcjpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5ODY1MDUpKSxlZ3JlYXRlcjpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2ODc0NzkpKSxjcm9zc2VzOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk1NDgzOSkpLGNyb3NzZXNfYWJvdmU6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTY3NjEzKSksY3Jvc3Nlc19iZWxvdzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NjM2NjYpKSxpbl9yYW5nZTpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNjU2NjApKSxub3RfaW5fcmFuZ2U6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTcyNTQzKSksZXF1YWw6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzQwMjM5KSksbmVxdWFsOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM0OTg4OSkpfX0sMzgyNzQ1KGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaSgpe3JldHVybiB3aW5kb3cuaXNfYXV0aGVudGljYXRlZH1vLmQodCx7aXNHbG9iYWxTY3JlZW5lckF2YWlsYWJsZTooKT0+aX0pfSw2ODQ2MTAoZSx0LG8peyJ1c2Ugc3RyaWN0Ijt2YXIgaTtmdW5jdGlvbiBuKGUpe3JldHVybntzdGFuZGFsb25lOkJvb2xlYW4oZS5zdGFuZGFsb25lKSxvcmlnaW5hbFN0YW5kYWxvbmU6Qm9vbGVhbihlLm9yaWdpbmFsU3RhbmRhbG9uZSksb25XaWRnZXQ6Qm9vbGVhbihlLm9uV2lkZ2V0KX19ZnVuY3Rpb24gcihlKXtjb25zdCB0PW4oZSk7cmV0dXJuIHQuc3RhbmRhbG9uZSYmdC5vcmlnaW5hbFN0YW5kYWxvbmUmJiF0Lm9uV2lkZ2V0fWZ1bmN0aW9uIHMoZSl7Y29uc3QgdD1uKGUpO3JldHVybiB0LnN0YW5kYWxvbmUmJiF0Lm9yaWdpbmFsU3RhbmRhbG9uZSYmIXQub25XaWRnZXR9ZnVuY3Rpb24gYShlKXtjb25zdCB0PW4oZSk7cmV0dXJuIXQuc3RhbmRhbG9uZSYmdC5vcmlnaW5hbFN0YW5kYWxvbmUmJiF0Lm9uV2lkZ2V0fWZ1bmN0aW9uIGwoZSl7cmV0dXJuIG4oZSkub25XaWRnZXR9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gcihlKT8ic2NyZWVuZXIiOnMoZSk/Im1hcmtldCI6YShlKT8iY2hhcnQiOiJ3aWRnZXQifW8uZCh0LHtnZXRTY3JlZW5lclBhZ2U6KCk9PmMsaXNDaGFydFBhZ2U6KCk9PmEsaXNFeHRlcm5hbFdpZGdldDooKT0+bCxpc01hcmtldFBhZ2U6KCk9PnMsaXNTY3JlZW5lclBhZ2U6KCk9PnJ9KSxmdW5jdGlvbihlKXtlLlNjcmVlbmVyPSJzY3JlZW5lciIsZS5NYXJrZXQ9Im1hcmtldCIsZS5DaGFydD0iY2hhcnQiLGUuV2lkZ2V0PSJ3aWRnZXQifShpfHwoaT17fSkpfSw0NTA2NjQoZSx0LG8peyJ1c2Ugc3RyaWN0Ijt2YXIgaSxuLHI7by5kKHQse1VzZXJBY3Rpb25TdGF0ZTooKT0+cn0pLGZ1bmN0aW9uKGUpe2UuQXBwbHlGbGFnZ2VkRmlsdGVyPSJhcHBseV9mbGFnZ2VkX2ZpbHRlciIsZS5DaGFuZ2VDb2x1bW5TZXQ9ImNoYW5nZV9jb2x1bW5zZXQiLGUuQ2hhbmdlQ29sdW1ucz0iY2hhbmdlX2NvbHVtbnMiLGUuQ2hhbmdlRmF2b3JpdGVDb2x1bW5TZXRzPSJjaGFuZ2VfZmF2b3JpdGVfY29sdW1uc2V0cyIsCmUuQ2hhbmdlRmlsdGVyRGlhbG9nVGFiPSJjaGFuZ2VfZmlsdGVyX2RpYWxvZ190YWIiLGUuQ2hhbmdlRmlsdGVyU2V0PSJjaGFuZ2VfZmlsdGVyc2V0IixlLkNoYW5nZUZvcmV4R3JvdXA9ImNoYW5nZV9mb3JleF9ncm91cCIsZS5DaGFuZ2VNYXJrZXQ9ImNoYW5nZV9tYXJrZXQiLGUuQ2hhbmdlTWFya2V0U2VsZWN0aW9uTW9kZT0iY2hhbmdlX21hcmtldF9zZWxlY3Rpb25fbW9kZSIsZS5DaGFuZ2VSZWZyZXNoSW50ZXJ2YWw9ImNoYW5nZV9yZWZyZXNoX2ludGVydmFsIixlLkNoYW5nZVRpbWVmcmFtZT0iY2hhbmdlX3RpbWVmcmFtZSIsZS5Db2x1bW5Nb3ZlPSJjb2x1bW5fbW92ZSIsZS5GaWx0ZXJEaWFsb2dBcHBsaWVkRmlsdGVycz0iZmlsdGVyX2RpYWxvZ19hcHBsaWVkX2ZpbHRlcnMiLGUuRmlsdGVyRGlhbG9nU2VhcmNoSW5wdXRDbGljaz0iZmlsdGVyX2RpYWxvZ19zZWFyY2hfaW5wdXRfY2xpY2siLGUuRmlsdGVyRGlhbG9nU2VhcmNoTm9UZXJtc0ZvdW5kPSJmaWx0ZXJfZGlhbG9nX3NlYXJjaF9ub190ZXJtc19mb3VuZCIsZS5GaWx0ZXJVc2U9ImZpbHRlcl91c2UiLGUuRmxhZ0NsaWNrPSJmbGFnX2NsaWNrIixlLkNvbnRleHRNZW51QWN0aW9uPSJjb250ZXh0X21lbnVfYWN0aW9uIixlLk9wZW5Db250ZXh0TWVudT0ib3Blbl9jb250ZXh0X21lbnUiLGUuT3BlbkZpbHRlcnNEaWFsb2c9Im9wZW5fZmlsdGVyc19kaWFsb2ciLGUuUmVmcmVzaFNjcmVlbmVyRGF0YT0icmVmcmVzaF9zY3JlZW5lcl9kYXRhIixlLlJlbmFtZUN1c3RvbUNvbHVtblNldD0icmVuYW1lX2N1c3RvbV9jb2x1bW5zZXQiLGUuUmVuYW1lQ3VzdG9tRmlsdGVyc2V0PSJyZW5hbWVfY3VzdG9tX2ZpbHRlcnNldCIsZS5Db252ZXJ0Q3VycmVuY3k9ImNvbnZlcnRfY3VycmVuY3kifShpfHwoaT17fSkpLGZ1bmN0aW9uKGUpe2UuVG9vbGJhcj0idG9vbGJhciIsZS5IZWFkZXI9ImhlYWRlciIsZS5GaWx0ZXJEaWFsb2c9ImZpbHRlcl9kaWFsb2ciLGUuQ29sdW1ucz0iY29sdW1ucyIsZS5Sb3c9InJvdyIsZS5NYXJrZXRzRGlhbG9nPSJtYXJrZXRfZGlhbG9nIixlLlVua25vd249IiJ9KG58fChuPXt9KSksZnVuY3Rpb24oZSl7ZS5DbGljaz0iY2xpY2tlZCIsZS5BcHBseUZpbHRlcnM9ImZpbHRlcnNfYXBwbGllZCIsZS5UeXBlPSJ0eXBlZCIsZS5TbGlkZT0ic2xpZGVkIixlLkRyYWc9ImRyYWcifShyfHwocj17fSkpfSw4MTEzMTIoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7RGlzcGF0Y2hDb250ZXh0TWVudUFjdGlvbkV2ZW50OigpPT5ufSk7dmFyIGk9byg0NTA2NjQpO2NsYXNzIG57Y29uc3RydWN0b3IoZSx0LG8pe3RoaXMuZXZlbnQ9ImNvbnRleHRfbWVudV9hY3Rpb24iLHRoaXMuc3RhdGU9aS5Vc2VyQWN0aW9uU3RhdGUuQ2xpY2ssdGhpcy5zb3VyY2U9ZSx0aGlzLnZhbHVlPW8udG9TdHJpbmcoKSx0aGlzLmxvY2F0aW9uPXR9fX0sNjY3MTMyKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0NoYW5nZU1hcmtldEV2ZW50OigpPT5pLENoYW5nZU1hcmtldFNlbGVjdGlvbk1vZGVFdmVudDooKT0+bn0pO2NsYXNzIGl7Y29uc3RydWN0b3IoZSl7dGhpcy5ldmVudD0iY2hhbmdlX21hcmtldCIsdGhpcy5zb3VyY2U9Im1hcmtldF9zZWxlY3RvciIsdGhpcy5sb2NhdGlvbj0idG9vbGJhciIsdGhpcy5zdGF0ZT0iIix0aGlzLnZhbHVlPWV9fWNsYXNzIG57Y29uc3RydWN0b3IoZSl7dGhpcy5ldmVudD0iY2hhbmdlX21hcmtldF9zZWxlY3Rpb25fbW9kZSIsdGhpcy5zb3VyY2U9Im1hcmtldF9zZWxlY3Rpb25fbW9kZV9zd2l0Y2giLHRoaXMubG9jYXRpb249Im1hcmtldF9kaWFsb2ciLHRoaXMuc3RhdGU9IiIsdGhpcy52YWx1ZT1lfX19LDIxMTM2MChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtnZXRDb2x1bW5TZXROYW1lRm9yU25vd1Bsb3c6KCk9PmMsZ2V0RmlsdGVyU2V0TmFtZUZvclNub3dQbG93OigpPT5kLGdldFNub3dQbG93UmVmcmVzaEludGVydmFsOigpPT5sLGluaXRTY3JlZW5lckluc3RhbmNlOigpPT5zLHNlbmRTbm93UGxvd0RhdGE6KCk9PmF9KTt2YXIgaT1vKDM2MjIzOSksbj1vKDY4NDYxMCk7bGV0IHI7ZnVuY3Rpb24gcyhlKXtyPWV9ZnVuY3Rpb24gYShlKXtsZXQgdD0iIixvPSIiO3ImJih0PSgwLG4uZ2V0U2NyZWVuZXJQYWdlKShyLnNjcmVlbmVyQnJpZGdlKSxvPXIuc2NyZWVuZXJUeXBlKTsoIXJ8fCEoMCxuLmlzRXh0ZXJuYWxXaWRnZXQpKHIuc2NyZWVuZXJCcmlkZ2UpKSYmKDAsaS5nZXRUcmFja2VyKSgpLnRoZW4oKGk9PntpJiZpLnRyYWNrU2NyZWVuZXJIaWdoTGV2ZWwoZSxvLHQpfSkpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIDE9PT1lPyJhdXRvIjotMT09PWU/Im1hbnVhbCI6YCR7ZX1gfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIHIuZGVmYXVsdEZpZWxkU2V0cy5maW5kKCh0PT50LmlkPT09ZSkpP2U6ImN1c3RvbSJ9ZnVuY3Rpb24gZChlKXtyZXR1cm4gci5kZWZhdWx0RmlsdGVyU2V0cy5maW5kKCh0PT50LmlkPT09ZSkpP2U6ImN1c3RvbSJ9fSw5NjkxNjgoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7Z2V0TFRSU2Nyb2xsTGVmdDooKT0+aS5nZXRMVFJTY3JvbGxMZWZ0LGlzUnRsOigpPT5pLmlzUnRsfSk7byg2MTAyNjgpO3ZhciBpPW8oMTE1MjkzKX0sNjgyNzc5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2dldERlZmF1bHRTeW1ib2w6KCk9PnJ9KTt2YXIgaT1vKDgzOTQyNik7Y29uc3Qgbj1KU09OLnBhcnNlKCd7ImVuIjoiTkFTREFROkFBUEwiLCJiciI6IkJNRkJPVkVTUEE6SUJPViIsImVzIjoiQk1FOlNBTiIsImZyIjoiVFZDOkNBQzQwIiwiaWQiOiJGWF9JREM6VVNESURSIiwiaW4iOiJOU0U6TklGVFkiLCJpdCI6Ik1JTDpKVVZFIiwiamEiOiJGWDpKUE4yMjUiLCJrciI6IkZYX0lEQzpVU0RLUlciLCJwbCI6IkZYX0lEQzpVU0RQTE4iLCJydSI6IlJVUzpVU0RSVUJfVE9NIiwidHIiOiJGWDpVU0RUUlkiLCJ1ayI6IkxTRTpMQU5EIn0nKSxyPSgwLGkuZGVmYXVsdCkoKGZ1bmN0aW9uKCl7cmV0dXJuIG5bd2luZG93LmxvY2FsZXx8ImVuIl18fCJOQVNEQVE6QUFQTCJ9KSl9LDI0MTkzNyhlLHQsbyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0KXsKY29uc3Qgbz10fHx3aW5kb3cubG9jYWxlfHwiZW4iO2xldCBpPWVbb10/ZVtvXTplLmVuO3JldHVybiBpPSJ0cmFkaW5ndmlldy5jb20iPT09aT8id3d3LnRyYWRpbmd2aWV3LmNvbSI6aSxpP2RvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sKyIvLyIraToiIn1vLmQodCx7ZGV0ZXJtaW5lQmFzZVVybDooKT0+aX0pfSw0Mzg1MzkoZSx0LG8peyJ1c2Ugc3RyaWN0Ijthc3luYyBmdW5jdGlvbiBpKGUpe2NvbnN0e3JlbmRlckdvVG9UcmFkaW5nVmlld1JlZmVycmFsRGlhbG9nOnR9PWF3YWl0IFByb21pc2UuYWxsKFtvLmUoNTQ5OCksby5lKDI5Mjk2KSxvLmUoNTIzOTYpLG8uZSg2MDA2Miksby5lKDIwMzU0KSxvLmUoMjk1MzYpLG8uZSg1MTg0KSxvLmUoNTYyNTIpLG8uZSgzOTA1KSxvLmUoNzQ4MzApLG8uZSg1MDYyMiksby5lKDMzMjIxKSxvLmUoMTE3MjUpLG8uZSg1MTMwOSksby5lKDExMjU3KSxvLmUoMzIzODcpLG8uZSgxNzk5MSksby5lKDEyOTY1KSxvLmUoNjg3NDEpLG8uZSg4Mzc4MSksby5lKDUyODExKSxvLmUoNTM4ODEpXSkudGhlbihvLmJpbmQobyw0NzU4MDYpKTt0KGUpfW8uZCh0LHtzaG93R29Ub1RyYWRpbmdWaWV3UmVmZXJyYWxEaWFsb2c6KCk9Pml9KX0sOTk5NjQwKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse3BheXdhbGxNb2JpbGVJbnRlcmNlcHRvcjooKT0+aX0pO2NvbnN0IGk9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5faGlkZGVuRmVhdHVyZXM9bmV3IFNldCx0aGlzLl9saXN0ZW5lcnM9W10sdGhpcy5oaWRlPWU9Pnt0aGlzLl9oaWRkZW5GZWF0dXJlcy5hZGQoZSl9LHRoaXMuaXNIaWRkZW5GZWF0dXJlPWU9PnRoaXMuX2hpZGRlbkZlYXR1cmVzLmhhcyhlKSx0aGlzLnN1YnNjcmliZT1lPT57dGhpcy5fbGlzdGVuZXJzLnB1c2goZSl9LHRoaXMuaW52b2tlPWU9Pnt0aGlzLl9saXN0ZW5lcnMuZm9yRWFjaCgodD0+dChlKSkpfX19fSw3NzA3NTUoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7b3BlblBheXdhbGw6KCk9PnN9KTt2YXIgaT1vKDkzMDIzMSksbj1vKDk5OTY0MCkscj1vKDQzODUzOSk7bygzMDAyODYpO2FzeW5jIGZ1bmN0aW9uIHMoZSx0PXt9KXtpZihuLnBheXdhbGxNb2JpbGVJbnRlcmNlcHRvci5pc0hpZGRlbkZlYXR1cmUoZS5mZWF0dXJlKSlyZXR1cm4gdm9pZCBuLnBheXdhbGxNb2JpbGVJbnRlcmNlcHRvci5pbnZva2UoZS5mZWF0dXJlKTtpZigoMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJyZWZlcnJhbF9wcm9ncmFtX2Zvcl93aWRnZXRfb3duZXJzIikpcmV0dXJuKDAsci5zaG93R29Ub1RyYWRpbmdWaWV3UmVmZXJyYWxEaWFsb2cpKHtmZWF0dXJlOmUuZmVhdHVyZX0pO2NvbnN0e3BheXdhbGxzOnN9PWF3YWl0IFByb21pc2UuYWxsKFtvLmUoODQ2OTMpLG8uZSg0OTY4NCksby5lKDI5Mjk2KSxvLmUoNjAwNjIpLG8uZSgyMDM1NCksby5lKDUxODQpLG8uZSgxMTIxOCksby5lKDcyNjY2KSxvLmUoMzI2MzIpLG8uZSg1MDYyMiksby5lKDMzMjIxKSxvLmUoNTkzNTApLG8uZSgzMzIzKSxvLmUoMzgyNjIpLG8uZSg4NzQ3NCksby5lKDMyMzg3KSxvLmUoNzU0ODkpLG8uZSg2ODc0MSksby5lKDcwNTkwKSxvLmUoODYwMDEpXSkudGhlbihvLmJpbmQobyw4MTc4MTYpKTtzLm9wZW4oZSx0KX19LDYyMTkyNihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtydW5PclNpZ25pbldpdGhGZWF0dXJlOigpPT5ufSk7bygzMDAyODYpO3ZhciBpPW8oMTE3MzEzKTtjb25zdCBuPWFzeW5jKGUsdCxuPXt9KT0+e3tpZih3aW5kb3cuaXNfYXV0aGVudGljYXRlZClyZXR1cm4gdm9pZCBlKCk7aWYoKDAsaS5pc09uTW9iaWxlQXBwUGFnZSkoImFueSIpKXJldHVybiB2b2lkIHdpbmRvdy5ydW5PclNpZ25JbihlLHtzb3VyY2U6dC5zb3VyY2UsZmVhdHVyZTp0LmZlYXR1cmV9KTtjb25zdHtyZWd3YWxsczpyfT1hd2FpdCBQcm9taXNlLmFsbChbby5lKDE3NjYyKSxvLmUoMjkyOTYpLG8uZSg2MDA2Miksby5lKDIwMzU0KSxvLmUoMjk1MzYpLG8uZSg1NjI1Miksby5lKDUwNjIyKSxvLmUoNTkzNTApLG8uZSgzMzIzKSxvLmUoNTgzODQpLG8uZSgzMjM4Nyksby5lKDcwNTkwKSxvLmUoMjI4NCldKS50aGVuKG8uYmluZChvLDIxNDY3KSk7ci5vcGVuKHsuLi50LG9uU2lnbmluU3VjY2VzczplfSxuKX19fSwzMzczNjIoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7RW1iZWRWaWV3cG9ydERpbWVuc2lvbnNQcm92aWRlcjooKT0+bn0pO3ZhciBpPW8oOTMwMjMxKTtjbGFzcyBue2NvbnN0cnVjdG9yKCl7dGhpcy5fZGF0YT1udWxsLHRoaXMuX21lc3NhZ2VSZWNlaXZlcj1udWxsfXN0YXJ0TGlzdGVuaW5nKCl7dGhpcy5fbWVzc2FnZVJlY2VpdmVyfHwodGhpcy5fbWVzc2FnZVJlY2VpdmVyPWU9PntpZihlLmRhdGEpdHJ5e2NvbnN0IHQ9SlNPTi5wYXJzZShlLmRhdGEpOyJzZXQtZW1iZWQtcmVzaXplci1vdmVycmlkZXMiPT09dC5ldmVudCYmKHRoaXMuX2RhdGE9dC5lZGdlcyl9Y2F0Y2h7fX0sdGhpcy5fYWRkTWVzc2FnZUxpc3RlbmVyKCkpfWRlc3Ryb3koKXt0aGlzLl9yZW1vdmVNZXNzYWdlTGlzdGVuZXIoKX1kYXRhKCl7cmV0dXJuIHRoaXMuX2RhdGF9c3RhdGljIGdldEluc3RhbmNlKCl7cmV0dXJuIHRoaXMuX2luc3RhbmNlfHwodGhpcy5faW5zdGFuY2U9bmV3IG4pLHRoaXMuX2luc3RhbmNlfV9hZGRNZXNzYWdlTGlzdGVuZXIoKXt0aGlzLl9tZXNzYWdlUmVjZWl2ZXImJndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIix0aGlzLl9tZXNzYWdlUmVjZWl2ZXIpfV9yZW1vdmVNZXNzYWdlTGlzdGVuZXIoKXt0aGlzLl9tZXNzYWdlUmVjZWl2ZXImJndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIix0aGlzLl9tZXNzYWdlUmVjZWl2ZXIpLHRoaXMuX21lc3NhZ2VSZWNlaXZlcj1udWxsfX0oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJlbWJlZF9yZXNpemVyX292ZXJyaWRlcyIpJiZuLmdldEluc3RhbmNlKCkuc3RhcnRMaXN0ZW5pbmcoKX0sOTExMzI3KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2dldFN5bWJvbFBhZ2VQYXRoOigpPT5kLG1ha2VTeW1ib2xDaGFydFVybDooKT0+ZixtYWtlU3ltYm9sUGFnZVVybDooKT0+diwKbWFrZVRlbXBsYXRlU3ltYm9sVXJsOigpPT5tfSk7byg5NjM5MDApO3ZhciBpPW8oMzA5ODM2KSxuPW8oMjQxOTM3KSxyPW8oNzMwNjQ1KSxzPW8oODUxNDU4KSxhPW8oMTU2ODI5KTtjb25zdCBsPW5ldyBTZXQoWyJTUDpTUFgiLCJDQk9FOlNQWCJdKTtmdW5jdGlvbiBjKGUpe2NvbnN0IHQ9ey4uLmV9O2lmKCJzcHJlYWQiPT09dC50eXBlfHwiZXhwcmVzc2lvbiI9PT10LnR5cGUpe2NvbnN0IGU9dC5zaG9ydE5hbWUmJmgodC5zaG9ydE5hbWUpLG89dC5wcm9OYW1lJiZoKHQucHJvTmFtZSk7dC50eXBlPXZvaWQgMCx0LnNob3J0TmFtZT1lLHQucHJvTmFtZT1vfXJldHVybiB0fWZ1bmN0aW9uIGQoZSx0KXtjb25zdCBvPWMoZSk7cmV0dXJuIF8ocChvLHQpLHUobykpfWZ1bmN0aW9uIGgoZSl7cmV0dXJuKDAscy50b2tlbml6ZSkoZSkuZmluZCgoZT0+InN5bWJvbCI9PT1lLnR5cGUpKT8udmFsdWV9ZnVuY3Rpb24gdShlKXtjb25zdCB0PXtzaG9ydE5hbWU6ZS5zaG9ydE5hbWUsZXhjaGFuZ2U6ZS5leGNoYW5nZSxwcm9OYW1lOmUucHJvTmFtZSx0eXBlOmUudHlwZSx0eXBlc3BlY3M6ZS50eXBlc3BlY3Mscm9vdDplLnJvb3R9O3JldHVybiB0LnByb05hbWUmJnQucHJvTmFtZS5pbmNsdWRlcygiOiIpJiYoW3QuZXhjaGFuZ2UsdC5zaG9ydE5hbWVdPXQucHJvTmFtZS5zcGxpdCgiOiIpKSx0fWZ1bmN0aW9uIF8oZSx0KXtjb25zdCBvPWVuY29kZVVSSUNvbXBvbmVudCh0LnNob3J0TmFtZXx8IiIpLGk9ZW5jb2RlVVJJQ29tcG9uZW50KHQuZXhjaGFuZ2V8fCIiKSxuPWVuY29kZVVSSUNvbXBvbmVudCh0LnByb05hbWV8fCIiKSxyPWVuY29kZVVSSUNvbXBvbmVudCh0LnJvb3R8fCIiKTtyZXR1cm4gZS5yZXBsYWNlKCJ7dHZleGNoYW5nZX0iLGkpLnJlcGxhY2UoInt0dnN5bWJvbH0iLG8pLnJlcGxhY2UoInt0dnByb3N5bWJvbH0iLG4pLnJlcGxhY2UoInt0dnJvb3R9IixyKX1mdW5jdGlvbiBwKGUsdD0iIil7Y29uc3Qgbz11KGUpLHt0eXBlOmksdHlwZXNwZWNzOm4sc2hvcnROYW1lOnIscHJvTmFtZTpzLGV4Y2hhbmdlOmMscm9vdDpkfT1vO3JldHVybiB2b2lkIDA9PT1yJiZ2b2lkIDA9PT1zPyhjb25zb2xlLndhcm4oIlBhcmFtcyBtaXNzZWQiKSwiLyIpOnMmJmwuaGFzKHMpP2Avc3ltYm9scy97dHZzeW1ib2x9LyR7dH1gOml8fG4/ImNvbW1vZGl0eSI9PT1pJiZuJiZuLmluY2x1ZGVzKCJjZmQiKT8iL3N5bWJvbHMve3R2c3ltYm9sfS8/ZXhjaGFuZ2U9e3R2ZXhjaGFuZ2V9IjohZHx8IW58fCJmdXR1cmVzIiE9PWl8fG4uaW5jbHVkZXMoImNvbnRpbnVvdXMiKSYmcj8uZW5kc1dpdGgoIjEhIil8fG4uaW5jbHVkZXMoImV4Y2hhbmdlLWNvbnRpbnVvdXMiKT9jJiYoImZvcmV4Ij09PWl8fG4mJigwLGEuaGFzQ3J5cHRvVHlwZXNwZWMpKG4pKT8iL3N5bWJvbHMve3R2c3ltYm9sfS8/ZXhjaGFuZ2U9e3R2ZXhjaGFuZ2V9IjpjP2Avc3ltYm9scy97dHZleGNoYW5nZX0te3R2c3ltYm9sfS8ke3R9YDpgL3N5bWJvbHMve3R2c3ltYm9sfS8ke3R9YDpgL3N5bWJvbHMve3R2ZXhjaGFuZ2V9LXt0dnJvb3R9MSEvJHt0fT9jb250cmFjdD17dHZzeW1ib2x9YDpjP2Avc3ltYm9scy97dHZleGNoYW5nZX0te3R2c3ltYm9sfS8ke3R9YDpgL3N5bWJvbHMve3R2c3ltYm9sfS8ke3R9YH1mdW5jdGlvbiBtKGUsdCl7bGV0IG89ZTtpZighL3t0dnN5bWJvbH18e3R2ZXhjaGFuZ2V9fHt0dnByb3N5bWJvbH0vLnRlc3QoZSkpe2xldCBpPSJ0dnByb3N5bWJvbCI7dm9pZCAwPT09dC5wcm9OYW1lJiYoaT0idHZzeW1ib2wiKSxvPWAke2V9P3R2d2lkZ2V0c3ltYm9sPXske2l9fWB9Y29uc3QgaT1fKG8sdShjKHQpKSk7aWYoISgwLHIuaXNTYWZlVXJsKShpKSl0aHJvdyBuZXcgRXJyb3IoYFRoZSBzeW1ib2wgVVJMICR7aX0gaXMgbm90IGFsbG93ZWQuYCk7cmV0dXJuIGl9ZnVuY3Rpb24gZyhlLHQsbyxyKXtjb25zdCBzPSh3aW5kb3cubG9jYWxlX2RvbWFpbnM/KDAsbi5kZXRlcm1pbmVCYXNlVXJsKSh3aW5kb3cubG9jYWxlX2RvbWFpbnMscik6d2luZG93LmxvY2F0aW9uLm9yaWdpbikrXyhlLHUoYyh0KSkpO3JldHVybiBvPygwLGkuYWRkVXRtVG9VcmwpKHMsbyk6c31mdW5jdGlvbiB2KGUsdCxvLGkpe2NvbnN0IG49YyhlKTtyZXR1cm4gZyhwKG4saSksbix0LG8pfWZ1bmN0aW9uIGYoZSx0KXtyZXR1cm4gZygiL2NoYXJ0Lz9zeW1ib2w9e3R2cHJvc3ltYm9sfSIsZSx0KX19LDQ4MjUwNChlLHQsbyl7Y29uc3QgaT1vKDE5OTgyNyk7ZS5leHBvcnRzPWksaShkb2N1bWVudCkuYWpheFNlbmQoKChlLHQsbyk9PntvLmNyb3NzRG9tYWluJiYhby5mb3JjZUxhbmd1YWdlSGVhZGVyfHwod2luZG93LmxvY2FsZT90LnNldFJlcXVlc3RIZWFkZXIoIlgtTGFuZ3VhZ2UiLHdpbmRvdy5sb2NhbGUpOmNvbnNvbGUud2Fybigid2luZG93LmxvY2FsZSBpcyBub3QgZGVmaW5lZCIpKX0pKX0sNzc4OTQ2KGUsdCxvKXsidXNlIHN0cmljdCI7dmFyIGk7by5kKHQse2dldFBsYXRmb3JtOigpPT5zfSksZnVuY3Rpb24oZSl7ZS5EZXNrdG9wPSJkZXNrdG9wIixlLldlYj0id2ViIixlLklPUz0iaW9zIixlLkFuZHJvaWQ9ImFuZHJvaWQifShpfHwoaT17fSkpO3ZhciBuPW8oMTE3MzEzKSxyPW8oMzE4OTc0KTtmdW5jdGlvbiBzKCl7cmV0dXJuKDAsci5pc0Rlc2t0b3BBcHApKCk/ImRlc2t0b3AiOigwLG4uaXNPbk1vYmlsZUFwcFBhZ2UpKCJvbGQiKT8iaW9zIjooMCxuLmlzT25Nb2JpbGVBcHBQYWdlKSgibmV3Iik/ImFuZHJvaWQiOiJ3ZWIifX0sNTI0MDY5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2dldFByb1BsYW5EZXRhaWxzRm9yVXNlcjooKT0+YSxnZXRQcm9QbGFuV2VpZ2h0OigpPT5zfSk7byg0NzkzNCk7dmFyIGk9bygyMTIyMjkpLG49bygzODQwMTcpLHI9bygyMjI0MjMpO2Z1bmN0aW9uIHMoZSl7cmV0dXJuIHdpbmRvdy5wcm8/ImZyZWUiPT09ZT8tMTp3aW5kb3cucHJvLmdldFByb2R1Y3QoKDAsaS5nZXRQcm9kdWN0Rm9yVHJpYWwpKGUpKS51cGdyYWRlX3dlaWdodDowfWFzeW5jIGZ1bmN0aW9uIGEoKXtjb25zdCBlPWF3YWl0KDAsbi5mZXRjaCkoIi9wcm8tcGxhbnMvcHJvZmlsZS8iKSx0PWF3YWl0IGUuanNvbigpCjtpZihlLm9rKXJldHVybiB0O2lmKDQwMz09PWUuc3RhdHVzKXtjb25zdCBvPXQ7dGhyb3cgbmV3IHIuQXBpRXJyb3Ioby5kZXRhaWwsZS5zdGF0dXMsby5jb2RlKX10aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBoYW5kbGUgdW5leHBlY3RlZCByZXNwb25zZTogJHtTdHJpbmcoZS50ZXh0KCkpfWApfX0sNTI4Mzk2KGUsdCxvKXsidXNlIHN0cmljdCI7by5yKHQpLG8uZCh0LHtnZXRUcmFuc2xhdGVkU3ltYm9sRGVzY3JpcHRpb246KCk9PnJ9KTt2YXIgaT1vKDE4NTI3MSk7ZnVuY3Rpb24gbihlKXtjb25zdCB0PWAjJHtlfS1zeW1ib2wtZGVzY3JpcHRpb25gLG49aS50KHQsdm9pZCAwLG8oMjU4NjY3KSk7cmV0dXJuIG49PT10P251bGw6bn1mdW5jdGlvbiByKGUpe2lmKHZvaWQgMCE9PWUucHJvX25hbWUpe2NvbnN0IHQ9bihlLnByb19uYW1lKTtpZihudWxsIT09dClyZXR1cm4gdDtpZih2b2lkIDAhPT1lLnNob3J0X25hbWUpe2NvbnN0IHQ9bihlLnNob3J0X25hbWUpO2lmKG51bGwhPT10KXJldHVybiB0fX1yZXR1cm4iZW4iIT09ZS5sYW5ndWFnZSYmdm9pZCAwIT09ZS5sb2NhbF9kZXNjcmlwdGlvbiYmZS5sYW5ndWFnZT09PXdpbmRvdy5sYW5ndWFnZXx8ImVuIj09PWUubGFuZ3VhZ2UmJnZvaWQgMCE9PWUubG9jYWxfZGVzY3JpcHRpb24mJmUubGFuZ3VhZ2U9PT13aW5kb3cubGFuZ3VhZ2U/ZS5sb2NhbF9kZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9ufHwiIn19LDczMDY0NShlLHQsbyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSl7Y29uc3QgdD1uZXcgVVJMKGUsZG9jdW1lbnQuYmFzZVVSSSk7cmV0dXJuIGEodCkmJnModCkmJnIodCl9ZnVuY3Rpb24gbihlKXtjb25zdCB0PW5ldyBVUkwoZSxkb2N1bWVudC5iYXNlVVJJKTtyZXR1cm4gcyh0KSYmcih0KX1vLmQodCx7aXNJbnRlcm5hbEhvc3Q6KCk9PmwsaXNJbnRlcm5hbFVybDooKT0+aSxpc1NhZmVVcmw6KCk9Pm4saXNUdkxpbms6KCk9PmN9KTtjb25zdCByPWU9PiFlLnVzZXJuYW1lLHM9ZT0+Imh0dHA6Ij09PWUucHJvdG9jb2x8fCJodHRwczoiPT09ZS5wcm90b2NvbCxhPWU9PmUuaG9zdG5hbWU9PT1sb2NhdGlvbi5ob3N0bmFtZXx8IS9eXGQrXC5cZCtcLlxkK1wuXGQrJC8udGVzdChlLmhvc3RuYW1lKSYmbChlLmhvc3RuYW1lKTtmdW5jdGlvbiBsKGUsdD13aW5kb3cubG9jYXRpb24uaG9zdG5hbWUpe2NvbnN0IG89Ii4iPT09dC5zbGljZSgtMSk/MzoyLGk9dC50b0xvd2VyQ2FzZSgpLnNwbGl0KCIuIikuc2xpY2UoLW8pLG49ZS50b0xvd2VyQ2FzZSgpLnNwbGl0KCIuIikuc2xpY2UoLWkubGVuZ3RoKTtyZXR1cm4gaS5qb2luKCIuIik9PT1uLmpvaW4oIi4iKX1mdW5jdGlvbiBjKGUpe3RyeXtyZXR1cm4gZS5zdGFydHNXaXRoKCIvIil8fGwobmV3IFVSTChlKS5ob3N0bmFtZSwidHJhZGluZ3ZpZXcuY29tIil9Y2F0Y2h7cmV0dXJuITF9fX0sMzA1NDY2KGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtsZXQgdCxvO3JldHVybiBlLmluY2x1ZGVzKCI6Iik/KG89ZS5zcGxpdCgiOiIpWzFdLHQ9ZSk6bz1lLHtwcm9OYW1lOnQsc2hvcnROYW1lOm99fW8uZCh0LHtnZXRTaG9ydE5hbWVBbmRQcm9OYW1lOigpPT5pfSl9LDU3NjEwMyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTUgNUg2LjVDNS42NyA1IDUgNS42NyA1IDYuNXYxNWMwIC44My42NyAxLjUgMS41IDEuNWgxNWMuODMgMCAxLjUtLjY3IDEuNS0xLjVWMTZoMXY1LjVhMi41IDIuNSAwIDAgMS0yLjUgMi41aC0xNUEyLjUgMi41IDAgMCAxIDQgMjEuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgNEgxNXYxWm03LjQxLS4zYTIgMiAwIDAgMC0yLjgyIDBsLS45NC45NS03LjUgNy41LTEgMS0uMTUuMTRWMTloNC43bC4xNS0uMTUgMS0xIDcuNS03LjUuOTQtLjk0YTIgMiAwIDAgMCAwLTIuODJMMjIuNDEgNC43Wm0tMi4xMi43MWExIDEgMCAwIDEgMS40MiAwbDEuODggMS44OGExIDEgMCAwIDEgMCAxLjQybC0uNTkuNTgtMS42NS0xLjY0TDE5LjcxIDZsLjU4LS41OVptLjM2IDIuOTRMMjIuMjkgMTBsLTYuNzkgNi44LTEuNjUtMS42NS0xLjY0LTEuNjVMMTkgNi43bDEuNjUgMS42NVptLTcuNSA3LjUgMS42NCAxLjY1LS41LjVIMTF2LTMuM2wuNS0uNSAxLjY1IDEuNjVaIi8+PC9zdmc+J30sNzU2Mjg4KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yMyAxM2gtMVY0SDZ2MTkuNDc2TDE0IDIwbDMuMDA4IDEuMzA3LS40Mi45MDdMMTQgMjEuMDkgNSAyNVYzaDE4em0wIDZoNHYxaC00djRoLTF2LTRoLTR2LTFoNHYtNGgxem0tNi0zSDl2LTFoOHptMi00SDl2LTFoMTB6bTAtNC4wMDVIOXYtMWgxMHoiLz48L3N2Zz4nfSw1ODA1OTYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNOCA1bDMuNSAzLjVMOCAxMiIvPjwvc3ZnPid9LDYyNjIxOChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjIgMTUiIHdpZHRoPSIyMiIgaGVpZ2h0PSIxNSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2Utd2lkdGg9IjIiPjxwYXRoIHN0cm9rZT0iIzc1NzU3NSIgZD0iTTYuMjUgNS44MTJMMTEgMTAuMDg3bDQuNzUtNC4yNzVNMTEgOS44NjhWLjMxNSIvPjxwYXRoIHN0cm9rZT0iI0FEQUVCMCIgZD0iTTIxIDEwdjRIMXYtNCIvPjwvZz48L3N2Zz4nfSw4OTk3MChlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC04IC03KSI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTcgMTFjMS4zOCAwIDIuNjMuNTYgMy41NCAxLjQ2TDE4IDE1aDZWOWwtMi4wNSAyLjA1QTYuOTc2IDYuOTc2IDAgMCAwIDE3IDljLTMuNTMgMC02LjQzIDIuNjEtNi45MiA2aDIuMDJhNSA1IDAgMCAxIDQuOS00em02LjkyIDZIMjEuOWE1IDUgMCAwIDEtNC45IDRjLTEuMzggMC0yLjYzLS41Ni0zLjU0LTEuNDZMMTYgMTdoLTZ2NmwyLjA1LTIuMDVBNi45NzYgNi45NzYgMCAwIDAgMTcgMjNjMS41NSAwIDIuOTgtLjUxIDQuMTQtMS4zNmwxLjUtMS41QTYuODkgNi44OSAwIDAgMCAyMy45MiAxN3oiLz48L2c+PC9zdmc+J30sNzY1Njk1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMy41IDZhOC41IDguNSAwIDEgMCAwIDE3IDguNSA4LjUgMCAwIDAgMC0xN3pNNCAxNC41YTkuNSA5LjUgMCAxIDEgMTkgMCA5LjUgOS41IDAgMCAxLTE5IDB6Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOSAxNGg0di00aDF2NGg0djFoLTR2NGgtMXYtNEg5di0xeiIvPjwvc3ZnPid9LDgxNTY4MyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIyOTkgMTMxIDEyIDciIHdpZHRoPSIxMiIgaGVpZ2h0PSI3Ij48cGF0aCBmaWxsPSJub25lIiBkPSJNMzAwIDEzMmw1IDUgNS01Ii8+PC9zdmc+J30sODAxMzI3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNCAxNCIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0Ij48cGF0aCBkPSJNMTAuODkzIDkuNTEybC40NTggMy42MjRjLjAxNC4xMDUtLjAwNi4xNi0uMDIuMTc2LS4wMjguMDMtLjEwOS4wMDUtLjE4Mi0uMDNMNy44MTIgMTEuNzNhMS45NzMgMS45NzMgMCAwIDAtLjgxMS0uMTZjLS4zMDIgMC0uNTkuMDU3LS44MS4xNmwtMy4zMzggMS41NTJjLS4xMTguMDU2LS4xNjQuMDUxLS4xODIuMDMtLjAxNC0uMDE2LS4wMzQtLjA3LS4wMi0uMTc4TDMuMTEgOS41MWMuMDYtLjUwMy0uMTYyLTEuMTgtLjUwNS0xLjU0TC4wODcgNS4zMDJjLS4wODUtLjA5MS0uMDktLjE0OC0uMDg2LS4xNTguMDAzLS4wMS4wNC0uMDUzLjE2LS4wNzdsMy42MjEtLjY4OWMuNDkxLS4wOSAxLjA2OS0uNTA2IDEuMzE1LS45NDhMNy4wMDQgMGwxLjkwMiAzLjQzYy4yNDYuNDQyLjgyNC44NTkgMS4zMTIuOTQ3bDMuNjE3LjY5Yy4xMjMuMDI0LjE2Mi4wNjguMTY0LjA3Ny4wMDMuMDEtLjAwMy4wNjYtLjA4OS4xNTdMMTEuNCA3Ljk3Yy0uMzQ4LjM2Ny0uNTcgMS4wNDUtLjUwNiAxLjU0M3oiLz48L3N2Zz4nfSw0MjcwOShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTQgMTQiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCI+PHBhdGggZD0iTTkuOTAxIDkuNjM5Yy0uMTAyLS43OTcuMjE4LTEuNzc1Ljc3LTIuMzU2bDEuNDM4LTEuNTI3LTIuMDctLjM5NWMtLjc4NC0uMTQyLTEuNjE1LS43NDItMi4wMDgtMS40NDZMNy4wMDMgMi4wNiA1Ljk3IDMuOTE3Yy0uMzkxLjcwMi0xLjIyMiAxLjMwMS0yIDEuNDQzbC0yLjA4LjM5NiAxLjQ0IDEuNTI2Yy41NDcuNTc3Ljg2NiAxLjU0OS43NyAyLjM1M2wtLjI2MiAyLjA4NiAxLjkzLS44OTdhMi45NSAyLjk1IDAgMCAxIDEuMjMzLS4yNTRjLjQ0IDAgLjg3LjA4NSAxLjIzMy4yNTRsMS45My44OTctLjI2My0yLjA4MnptLjk5Mi0uMTI3bC40NTggMy42MjRjLjAxNC4xMDUtLjAwNi4xNi0uMDIuMTc2LS4wMjguMDMtLjEwOS4wMDUtLjE4Mi0uMDNMNy44MTIgMTEuNzNhMS45NzMgMS45NzMgMCAwIDAtLjgxMS0uMTZjLS4zMDIgMC0uNTkuMDU3LS44MS4xNmwtMy4zMzggMS41NTJjLS4xMTguMDU2LS4xNjQuMDUxLS4xODIuMDMtLjAxNC0uMDE2LS4wMzQtLjA3LS4wMi0uMTc4TDMuMTEgOS41MWMuMDYtLjUwMy0uMTYyLTEuMTgtLjUwNS0xLjU0TC4wODcgNS4zMDJjLS4wODUtLjA5MS0uMDktLjE0OC0uMDg2LS4xNTguMDAzLS4wMS4wNC0uMDUzLjE2LS4wNzdsMy42MjEtLjY4OWMuNDkxLS4wOSAxLjA2OS0uNTA2IDEuMzE1LS45NDhMNy4wMDQgMGwxLjkwMiAzLjQzYy4yNDYuNDQyLjgyNC44NTkgMS4zMTIuOTQ3bDMuNjE3LjY5Yy4xMjMuMDI0LjE2Mi4wNjguMTY0LjA3Ny4wMDMuMDEtLjAwMy4wNjYtLjA4OS4xNTdMMTEuNCA3Ljk3Yy0uMzQ4LjM2Ny0uNTcgMS4wNDUtLjUwNiAxLjU0M3oiLz48L3N2Zz4nfSw4MTkyOTAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZD0iTTkuNSA4LjVjMS4xMDUgMCAyLS4zOTUgMi0xLjVzLS44OTUtMS41LTItMS41aC0zdjNoM3ptLjUgNGMxLjM4IDAgMi41LS42MiAyLjUtMnMtMS4xMi0yLTIuNS0ySDYuNXY0SDEweiIvPjxwYXRoIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik05LjUgMy41VjVtMCA4djEuNW0tMi0xLjV2MS41bS0yLTJINm0tLjUtN0g2bTEuNS0yVjUiLz48Y2lyY2xlIGN4PSI5IiBjeT0iOSIgcj0iOC41Ii8+PC9nPjwvc3ZnPid9LDQ4ODg3NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTEgOSIgd2lkdGg9IjExcHgiIGhlaWdodD0iOXB4Ij48cGF0aCBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTEgMy4yMmwzLjQxNSAzLjQ5NkwxMCAxIi8+PC9zdmc+J30sOTg3MDc2KGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNiA5IiB3aWR0aD0iNiIgaGVpZ2h0PSI5Ij48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTEgMWwzLjUgMy41TDEgOCIvPjwvc3ZnPid9LDI0OTQ4OShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNjAgNjAiPjxwYXRoIGQ9Ik0wIDQ2bDM1LTM1IDE0IDE0LTM1IDM1SDB6TTM5IDdsNi02YzUtNSAxOSA5IDE0IDE0bC02IDZ6Ii8+PC9zdmc+J30sNTY3MjQ1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9ImN1cnJlbnRDb2xvciI+PGNpcmNsZSBjeD0iOSIgY3k9IjkiIHI9IjguNSIvPjxwYXRoIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik01LjUgMTMuNXYtOWg0bS0yIDRINm0zLjUgMWwzIDRtMC00bC0zIDQiLz48L2c+PC9zdmc+J30sOTIxNzA4KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTIuNSAxNC41YzEuNjgtMS4yNiAzLjctMiA2LjUtMnM0LjkxLjc0IDYuNSAybS0xMy0xMWMxLjY4IDEuMjYgMy43IDIgNi41IDJzNC45MS0uNzQgNi41LTIiLz48Y2lyY2xlIHN0cm9rZT0iY3VycmVudENvbG9yIiBjeD0iOSIgY3k9IjkiIHI9IjguNSIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNMTMuNSA5YzAgMi40Mi0uNTUgNC41OC0xLjQgNi4xMi0uODcgMS41Ni0xLjk4IDIuMzgtMy4xIDIuMzhzLTIuMjMtLjgyLTMuMS0yLjM4Yy0uODUtMS41NC0xLjQtMy43LTEuNC02LjEycy41NS00LjU4IDEuNC02LjEyQzYuNzcgMS4zMiA3Ljg4LjUgOSAuNXMyLjIzLjgyIDMuMSAyLjM4Yy44NSAxLjU0IDEuNCAzLjcgMS40IDYuMTJ6Ii8+PC9zdmc+J30sMjA3NzQ2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNCAxMiIgd2lkdGg9IjE0IiBoZWlnaHQ9IjEyIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzlEQjJCRCI+PHBhdGggZD0iTTEgMGwxMiAxMk0xMyAwTDEgMTIiLz48L2c+PC9zdmc+J30sNjA4MDY1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOSAyMiIgd2lkdGg9IjE5IiBoZWlnaHQ9IjIyIiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTUgMXY5LjEzYTQgNCAwIDAgMSAwIDcuNzVWMjFhMSAxIDAgMSAxLTIgMHYtMy0uMTJhNCA0IDAgMCAxIDAtNy43NVYxYTEgMSAwIDAgMSAyIDB6TTIgMTRhMiAyIDAgMSAxIDQgMCAyIDIgMCAwIDEtNCAwem0xMi05Ljg4VjFhMSAxIDAgMSAxIDIgMHYzLjEyYTQgNCAwIDAgMSAwIDcuNzVWMjFhMSAxIDAgMSAxLTIgMHYtOS4xM2E0IDQgMCAwIDEgMC03Ljc1ek0xNSAxMGEyIDIgMCAxIDAgMC00IDIgMiAwIDAgMCAwIDR6Ii8+PC9zdmc+J30sNjkzMjM2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48cGF0aCBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0iTTguMzYgMy42MDhhNi4wMDIgNi4wMDIgMCAxIDAgMi43NTUgMTEuNjcyIDYuMDEgNi4wMSAwIDAgMCA0LjI3Ny00LjY0IDUgNSAwIDEgMS03LjAzLTcuMDN6Ii8+PC9zdmc+J30sMTQwODk1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjAgMTIwIiB3aWR0aD0iMTIwIiBoZWlnaHQ9IjEyMCI+PHBhdGggZmlsbD0iI0IyQjVCRSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMjMgMzlhMzYgMzYgMCAwIDEgNzIgMHYxMy4xNWwxNS4xIDguNDQgMi4xNiAxLjItMS42NCAxLjg2LTEyLjg1IDE0LjU5IDMuNzMgNC4wM0w5OC41NyA4NSA5NSA4MS4xM1YxMTdINzd2LTEySDY3djlINTBWOTVINDB2MjJIMjNWODEuMjhsLTMuOCAzLjYxLTIuNzYtMi45IDQuMDUtMy44NC0xMi43Ny0xNC41LTEuNjQtMS44NiAyLjE2LTEuMkwyMyA1Mi4zNFYzOVptNzIgMzYuMzMgMTAuOTgtMTIuNDZMOTUgNTYuNzN2MTguNlpNMjMgNTYuOTJ2MTguMDNMMTIuMzUgNjIuODcgMjMgNTYuOTJaTTU5IDdhMzIgMzIgMCAwIDAtMzIgMzJ2NzRoOVY5MWgxOHYxOWg5di05aDE4djEyaDEwVjM5QTMyIDMyIDAgMCAwIDU5IDdabS03IDM2YTMgMyAwIDEgMS02IDAgMyAzIDAgMCAxIDYgMFptMTkgM2EzIDMgMCAxIDAgMC02IDMgMyAwIDAgMCAwIDZaIi8+PC9zdmc+J30sNDg3NzUwKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgd2lkdGg9IjEyMCIgaGVpZ2h0PSIxMjAiPjxwYXRoIGZpbGw9IiMxMzE3MjIiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTIzIDM5YTM2IDM2IDAgMCAxIDcyIDB2MTMuMTVsMTUuMSA4LjQ0IDIuMTYgMS4yLTEuNjQgMS44Ni0xMi44NSAxNC41OSAzLjczIDQuMDNMOTguNTcgODUgOTUgODEuMTNWMTE3SDc3di0xMkg2N3Y5SDUwVjk1SDQwdjIySDIzVjgxLjI4bC0zLjggMy42MS0yLjc2LTIuOSA0LjA1LTMuODQtMTIuNzctMTQuNS0xLjY0LTEuODYgMi4xNi0xLjJMMjMgNTIuMzRWMzlabTcyIDM2LjMzIDEwLjk4LTEyLjQ2TDk1IDU2LjczdjE4LjZaTTIzIDU2LjkydjE4LjAzTDEyLjM1IDYyLjg3IDIzIDU2LjkyWk01OSA3YTMyIDMyIDAgMCAwLTMyIDMydjc0aDlWOTFoMTh2MTloOXYtOWgxOHYxMmgxMFYzOUEzMiAzMiAwIDAgMCA1OSA3Wm0tNyAzNmEzIDMgMCAxIDEtNiAwIDMgMyAwIDAgMSA2IDBabTE5IDNhMyAzIDAgMSAwIDAtNiAzIDMgMCAwIDAgMCA2WiIvPjwvc3ZnPid9LDI2MTE3OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTYgMTYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMSAxKSI+PGNpcmNsZSBjeD0iNiIgY3k9IjYiIHI9IjYiLz48cGF0aCBkPSJNMTAgMTBsNCA0Ii8+PC9nPjwvc3ZnPid9LDE0NzA3OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZD0iTTMuMDYgNi4yOTVDMi4zNyA3LjM5NyAyIDguNjcgMiAxMGMwIDMuODY2IDMuMTM0IDcgNyA3czctMy4xMzQgNy03LTMuMTM0LTctNy03VjJjNC40MTggMCA4IDMuNTgyIDggOHMtMy41ODIgOC04IDgtOC0zLjU4Mi04LThjMC0xLjU1Ni40NDQtMy4wMDcgMS4yMTItNC4yMzZsLjg0OC41M3ptMCAwQzIuMzcgNy4zOTcgMiA4LjY3IDIgMTBjMCAzLjg2NiAzLjEzNCA3IDcgN3M3LTMuMTM0IDctNy0zLjEzNC03LTctN1YyYzQuNDE4IDAgOCAzLjU4MiA4IDhzLTMuNTgyIDgtOCA4LTgtMy41ODItOC04YzAtMS41NTYuNDQ0LTMuMDA3IDEuMjEyLTQuMjM2bC44NDguNTN6TTYgMi41TDkgMHY1TDYgMi41eiIvPjwvc3ZnPid9LDc2OTkzOShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTMuNSAxMC41aDJ2NWgtMnoiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTQuNSA4LjV2Mm0wIDV2MiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE0IDhoM3Y2aC0zeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTUuNSA2LjV2OW0tNy0xMWg0bS0yLTJ2NCIvPjwvZz48L3N2Zz4nfSw0OTUzOTYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNC41IDQuNWgydjZoLTJ6Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xNS41IDIuNXYybTAgNnYyIi8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMyA0aDN2NkgzeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNNC41IDIuNXY5bTQgNGg0bS0yLTJ2NCIvPjwvZz48L3N2Zz4nfSwyODc4MzIoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjxwYXRoIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xNC41IDEwLjV2N20tMS03aDJtLTUgMXYtNG0tMyAydi00bS0zIDJ2LTQiLz48L3N2Zz4nfSwyMzE3NzAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjxwYXRoIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xNC41IDIuNXY3bS0xIDBoMm0tNSAydi00bS0zIDd2LTRtLTMgNnYtNCIvPjwvc3ZnPid9LDY4MzM4MyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PHBhdGggZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTEwLjUgNi41djdtLTItNGg0Ii8+PC9zdmc+J30sNjQ0OTA1KGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNSA0aDN2MTJoLTN6Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xNi41IDE3LjV2LTE1Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMC41IDcuNWgydjRoLTJ6Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xMS41IDUuNXYybTAgNHYybS00IDJ2LTRtLTMgNXYtNG0tMyA1di00Ii8+PC9nPjwvc3ZnPid9LDYzNTI3MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05IDhoM3Y2SDl6Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xMC41IDYuNXY5Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNC41IDQuNWgydjExaC0yeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTUuNSAyLjV2Mm0tOSA0di00bS0zIDN2LTRtMTIgMTJ2MiIvPjwvZz48L3N2Zz4nfSwzODY3MjYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik02LjUgNi41aDJ2NWgtMnoiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTcuNSA0LjV2Mm0wIDV2MiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE2IDVoM3Y2aC0zeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTcuNSAzLjV2OSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTExIDNoM3YyaC0zeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTIuNSAyLjV2M20tOCAxMXYtNG0tMiA2di00Ii8+PC9nPjwvc3ZnPid9LDEyMzcyOShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTExLjUgOS41djhtLTQtOHYtNG04IDR2LTRtLTExIDJ2LTQiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMCA5aDN2NGgtM3oiLz48L2c+PC9zdmc+J30sNzI1NjAyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTEuNSA0LjV2MTBtLTQtM3YtNG0tMyA3di00Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTAgNGgzdjNoLTN6Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xNS41IDExLjV2LTQiLz48L2c+PC9zdmc+J30sMTI5Nzk0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNMTAuNSA1LjVoMnY3aC0yeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTEuNSAzLjV2Mm0wIDd2MiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE1IDVoM3YzaC0zeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTYuNSAzLjV2Ni4wN20tOSAzLjkzdi00bS0zIDZ2LTRtLTMgNnYtNCIvPjwvZz48L3N2Zz4nfSwyMTcoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTAgN2gzdjhoLTN6Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xMS41IDUuNXYxMSIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNMTUuNSA3LjVoMnYzaC0yeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTYuNSA1LjV2Mm0wIDN2Mm0tOS0ydi00bS0zIDJ2LTRtLTMgMnYtNCIvPjwvZz48L3N2Zz4nfSwyNjc1ODcoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iY3VycmVudENvbG9yIj48cGF0aCBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTEuNSA2LjV2N20tNCAwdi00bTggNHYtNG0tMTEgMnYtNCIvPjxwYXRoIGQ9Ik0xMC41IDEzLjVoMnYzaC0yeiIvPjwvZz48L3N2Zz4nfSw5MzMxMzgoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTUgOWgzdjRoLTN6Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xMS41IDkuNXYtMm0wLTV2Mm01IDN2N20wLTV2MiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNMTAuNSA0LjVoMnYzaC0yeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNNy41IDEzLjV2LTJtMC01djIiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTYuNSA4LjVoMnYzaC0yeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMy41IDE3LjV2LTJtMC01djIiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTIuNSAxMi41aDJ2M2gtMnoiLz48L2c+PC9zdmc+J30sMjg1OTkzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE1IDdoM3Y0aC0zeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTEuNSAxNy41di0ybTAtNXYybTUtN3Y3bTAtM3YyIi8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMC41IDEyLjVoMnYzaC0yeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNNy41IDEzLjV2LTJtMC01djIiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTYuNSA4LjVoMnYzaC0yeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMy41IDkuNXYtMm0wLTV2MiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNMi41IDQuNWgydjNoLTJ6Ii8+PC9nPjwvc3ZnPid9LDc4NjU3OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTkuNSA5LjV2OG0tNC05di00bS0zIDJ2LTQiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik04IDdoM3Y1SDh6Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xNC41IDExLjV2NCIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNMTMuNSA3LjVoMnY0aC0yeiIvPjwvZz48L3N2Zz4nfSw2Nzc3NyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTkuNSAxMS41djJtLTQgMnYtNG0tMyA2di00Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik04LjUgNy41aDJ2NGgtMnoiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTE0LjUgMi41djUiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMyA3aDN2NWgtM3oiLz48L2c+PC9zdmc+J30sMzk5NDk0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEzIDRoM3YxMmgtM3oiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTEwLjUgMTEuNXYtNG0tMyAydi00bS0zIDJ2LTQiLz48L2c+PC9zdmc+J30sNDE0Nzk2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iY3VycmVudENvbG9yIj48cGF0aCBkPSJNMTMuNSA0LjVoMnYxMWgtMnoiLz48cGF0aCBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTAuNSAxMi41di00bS0zIDZ2LTRtLTMgNnYtNCIvPjwvZz48L3N2Zz4nfSwxMzA2ODYoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNNC41IDIuNXYxMSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTMgNGgzdjhIM3oiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTE0LjUgNC41djJtMCA3djIiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTEzLjUgNi41aDJ2N2gtMnoiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTkuNSAxMi41djUiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik04IDE0aDN2Mkg4eiIvPjwvZz48L3N2Zz4nfSwxMjAwMzcoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xMC41IDkuNWgydjNoLTJ6Ii8+PHBhdGggc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTExLjUgOC41di02bS00IDEzdi00bTggNHYtNG0tMTEgNnYtNCIvPjwvZz48L3N2Zz4nfSwyMjAzNDEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xMC41IDMuNXYxMyIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkgOGgzdjRIOXoiLz48L2c+PC9zdmc+J30sMjIzNDgzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iY3VycmVudENvbG9yIj48cGF0aCBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTAuNSAzLjV2NW0wIDN2NSIvPjxwYXRoIGQ9Ik05LjUgOC41aDJ2M2gtMnoiLz48L2c+PC9zdmc+J30sNzQ0MjQwKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE1IDEyaDN2NGgtM3oiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTE2LjUgMTAuNXY3Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTEgOGgzdjRoLTN6Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xMi41IDYuNXY3Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNyA0aDN2NEg3eiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNOC41IDIuNXY3bS00IDF2LTRtLTIgNnYtNCIvPjwvZz48L3N2Zz4nfSw3MDI5NjcoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTUgNGgzdjJoLTN6Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xMS41IDExLjV2LTJtMC03djJtNS0ydjUiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTEwLjUgNC41aDJ2NWgtMnoiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTcuNSAxNC41di0ybTAtN3YyIi8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik02LjUgNy41aDJ2NWgtMnoiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTMuNSAxNy41di0ybTAtN3YyIi8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0yLjUgMTAuNWgydjVoLTJ6Ii8+PC9nPjwvc3ZnPid9LDgzNTE3NChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PHBhdGggZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTE0LjUgOC41aDRtLTItMnY0bS03LTZoNG0tMi0ydjRtLTYgMmg0bS0yLTJ2NG0tMyA1di00bS0yIDZ2LTQiLz48L3N2Zz4nfSw4NzQ5NzMoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjxwYXRoIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xNC41IDExLjVoNG0tMi0ydjRtLTcgMmg0bS0yLTJ2NG0tNi02aDRtLTItMnY0bS0zLTV2LTRtLTIgMnYtNCIvPjwvc3ZnPid9LDc5MDA4MChlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE0IDEyIiB3aWR0aD0iMTQiIGhlaWdodD0iMTIiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yLjcxIDEuMjlIMS4zdjkuNDJIMi43VjEuM3pNMS4zIDBDLjU4IDAgMCAuNTggMCAxLjI5djkuNDJDMCAxMS40Mi41OCAxMiAxLjI5IDEySDIuN0MzLjQyIDEyIDQgMTEuNDIgNCAxMC43MVYxLjNDNCAuNTggMy40MiAwIDIuNzEgMEgxLjN6TTcuNyAxLjI5SDYuM3Y5LjQySDcuN1YxLjN6TTYuMyAwQzUuNTggMCA1IC41OCA1IDEuMjl2OS40MmMwIC43MS41OCAxLjI5IDEuMjkgMS4yOUg3LjdDOC40MiAxMiA5IDExLjQyIDkgMTAuNzFWMS4zQzkgLjU4IDguNDIgMCA3LjcxIDBINi4zem01IDEuMjloMS40MnY5LjQySDExLjNWMS4zem0tMS4yOSAwQzEwIC41OCAxMC41OCAwIDExLjI5IDBoMS40MkMxMy40MiAwIDE0IC41OCAxNCAxLjI5djkuNDJjMCAuNzEtLjU4IDEuMjktMS4yOSAxLjI5SDExLjNjLS43MSAwLTEuMjktLjU4LTEuMjktMS4yOVYxLjN6Ii8+PC9zdmc+J30sNzU1MDQxKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSIjQURBRUIwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMi41IDExaC0uNzlsLS4yOC0uMjdBNi40NyA2LjQ3IDAgMCAwIDEzIDYuNSA2LjUgNi41IDAgMSAwIDYuNSAxM2MxLjYxIDAgMy4wOS0uNTkgNC4yMy0xLjU3bC4yNy4yOHYuNzlsNSA0Ljk5TDE3LjQ5IDE2bC00Ljk5LTV6bS02IDBDNC4wMSAxMSAyIDguOTkgMiA2LjVTNC4wMSAyIDYuNSAyIDExIDQuMDEgMTEgNi41IDguOTkgMTEgNi41IDExeiIvPjwvc3ZnPid9LDE5OTc4NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTAgMTAiIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCI+PGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNzU4Njk2IiBzdHJva2Utd2lkdGg9IjIiPjxwYXRoIGQ9Ik0xLjEyNSA5LjExTDkuMTMgMS4xMDRNMS4xMjUgMS4xMDVMOS4xMyA5LjExIi8+PC9nPjwvc3ZnPid9LDgyMzM1OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCAzIiB3aWR0aD0iOCIgaGVpZ2h0PSIzIj48cGF0aCBkPSJNMCAwIEw0IDMgTDggMCBaIi8+PC9zdmc+J30sODQxODc3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDMiIHdpZHRoPSI4IiBoZWlnaHQ9IjMiPjxwYXRoIGQ9Ik0wIDMgTDQgMCBMOCAzIFoiLz48L3N2Zz4nfSw1OTg1ODUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMSAxKSI+PGNpcmNsZSBjeD0iOC41IiBjeT0iOC41IiByPSIzIi8+PHBhdGggc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTEzLjUgOC41aDNNLjUgOC41aDNNOC41IDMuNXYtM00xMyA0bDItMk0yIDE1bDItMiIvPjxwYXRoIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIHN0cm9rZS1saW5lam9pbj0iYmV2ZWwiIGQ9Ik0yIDJsMiAyIi8+PHBhdGggc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTEzIDEzbDIgMk04LjUgMTYuNXYtMyIvPjwvZz48L3N2Zz4nfSw4OTMyNTEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDYgMjYiIHdpZHRoPSIzIiBoZWlnaHQ9IjEzIiBmaWxsPSJjdXJyZW50Q29sb3IiPjxjaXJjbGUgY3g9IjMiIGN5PSIzIiByPSIzIi8+PGNpcmNsZSBjeD0iMyIgY3k9IjEzIiByPSIzIi8+PGNpcmNsZSBjeD0iMyIgY3k9IjIzIiByPSIzIi8+PC9zdmc+J30sNzE3MTQxKGUsdCxvKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPW8ucCsibW9jay1kYXJrLjE2YjVmM2E0MzFmNTAyYjAzYWUzLnN2ZyJ9LDQ1ODA1OShlLHQsbyl7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1vLnArIm1vY2stbGlnaHQuZDIwMTMxMzAxN2ViMmMxYjk4OWYuc3ZnIn0sMjIxMDYxKGUsdCxvKXsidXNlIHN0cmljdCI7dmFyIGk7by5kKHQse2dldExvZ2dlcjooKT0+bSxnZXRSYXdMb2dIaXN0b3J5OigpPT51LHNlcmlhbGl6ZUxvZ0hpc3RvcnlFbnRyeTooKT0+X30pLGZ1bmN0aW9uKGUpe2VbZS5FUlJPUj0xXT0iRVJST1IiLGVbZS5XQVJOSU5HPTJdPSJXQVJOSU5HIixlW2UuSU5GTz0zXT0iSU5GTyIsZVtlLk5PUk1BTD00XT0iTk9STUFMIixlW2UuREVCVUc9NV09IkRFQlVHIn0oaXx8KGk9e30pKTtsZXQgbj0wO2NvbnN0IHI9W107bGV0IHM9bnVsbCxhPW51bGwsbD1udWxsLGM9bnVsbCxkPWkuV0FSTklORyxoPSExO2Z1bmN0aW9uIHUoZSx0KXtsZXQgbz1yLnJlZHVjZSgoKGUsdCk9PmUuY29uY2F0KHQpKSxbXSk7cmV0dXJuIG8uc29ydCgoKGUsdCk9PmUuaWQtdC5pZCkpLHZvaWQgMCE9PXQmJihvPW8uZmlsdGVyKChlPT5lLnN1YlN5c3RlbUlkPT09dCkpKSwibnVtYmVyIj09dHlwZW9mIGUmJihvPW8uc2xpY2UoLWUpKSxvfWZ1bmN0aW9uIF8oZSl7cmV0dXJuIG5ldyBEYXRlKGUudGltZXN0YW1wKS50b0lTT1N0cmluZygpKyI6IitlLnN1YlN5c3RlbUlkKyI6IitlLm1lc3NhZ2UucmVwbGFjZSgvIi9nLCInIil9ZnVuY3Rpb24gcChlLHQsbyxyLHUpe2lmKHQ9PT1hJiZyLmlkPT09bClyZXR1cm47Y29uc3QgXz1uZXcgRGF0ZTtpZihlPD1pLk5PUk1BTCYmZnVuY3Rpb24oZSx0LG8saSxyLHMpeyJmdW5jdGlvbiI9PXR5cGVvZiBzdHJ1Y3R1cmVkQ2xvbmUmJih0PXN0cnVjdHVyZWRDbG9uZSh0KSksdD10LnNsaWNlKDAscz8/MWUzKTtjb25zdCBhPXtpZDpuLAptZXNzYWdlOnQsc3ViU3lzdGVtSWQ6aSx0aW1lc3RhbXA6TnVtYmVyKGUpfTtuKz0xLG8ucHVzaChhKSx2b2lkIDAhPT1yJiZvLmxlbmd0aD5yJiZvLnNwbGljZSgwLDEpfShfLHQsbyxyLmlkLHIubWF4Q291bnQsdSksZTw9ZCYmKCFyLmhpZ2hSYXRlfHxoKSYmKCFzfHxyLmlkLm1hdGNoKHMpKSl7Y29uc3Qgbz1fLnRvSVNPU3RyaW5nKCkrIjoiK3IuaWQrIjoiK3Q7c3dpdGNoKGUpe2Nhc2UgaS5ERUJVRzpjb25zb2xlLmRlYnVnKG8pO2JyZWFrO2Nhc2UgaS5JTkZPOmNhc2UgaS5OT1JNQUw6ci5jb2xvcj9jb25zb2xlLmxvZygiJWMiK28sImNvbG9yOiAiK3IuY29sb3IpOmNvbnNvbGUubG9nKG8pO2JyZWFrO2Nhc2UgaS5XQVJOSU5HOmNvbnNvbGUud2FybihvKTticmVhaztjYXNlIGkuRVJST1I6Y29uc29sZS5lcnJvcihvKX1hPXQsbD1yLmlkLG51bGwhPT1jJiZjbGVhclRpbWVvdXQoYyksYz1zZXRUaW1lb3V0KCgoKT0+e2E9bnVsbCxsPW51bGwsYz1udWxsfSksMWUzKX19ZnVuY3Rpb24gbShlLHQ9e30pe2NvbnN0IG89W107ci5wdXNoKG8pO2NvbnN0IG49T2JqZWN0LmFzc2lnbih0LHtpZDplfSk7ZnVuY3Rpb24gcyhlKXtyZXR1cm4odCxpKT0+cChlLFN0cmluZyh0KSxvLG4saSl9cmV0dXJue2xvZ0RlYnVnOnMoaS5ERUJVRyksbG9nRXJyb3I6cyhpLkVSUk9SKSxsb2dJbmZvOnMoaS5JTkZPKSxsb2dOb3JtYWw6cyhpLk5PUk1BTCksbG9nV2FybjpzKGkuV0FSTklORyl9fX0sODA5NDM2KGUpeyJ1c2Ugc3RyaWN0Igo7ZS5leHBvcnRzPUpTT04ucGFyc2UoJ3siZHVyIjoiMzUwbXMiLCJkdXItZmFzdCI6IjYwbXMiLCJlYXNlLWluLWxpa2UiOiJjdWJpYy1iZXppZXIoMC4zMywgMCwgMC4xMSwgMSkiLCJlYXNlLW91dC1saWtlIjoiY3ViaWMtYmV6aWVyKDAuODksIDAsIDAuNjcsIDEpIiwic2l6ZS1mZWVkLWl0ZW0td2lkdGgiOiI0ODBweCIsInNpemUtZmVlZC1oaWRlbnQiOiIyMHB4Iiwic2l6ZS1mZWVkLXZpZGVudCI6IjIwcHgiLCJzaXplLWJhc2UtaW5kZW50IjoiNHB4Iiwic2l6ZS1sYXlvdXQtc21hbGwtaG9yenBhZGRpbmciOiIxMnB4Iiwic2l6ZS1sYXlvdXQtaG9yenBhZGRpbmciOiIyMHB4Iiwic2l6ZS1kcmF3aW5ncy10b29sYmFyLWl0ZW0taGVpZ2h0IjoiMzhweCIsInNpemUtaGVhZGVyLWxpbmtpbmRlbnQiOiIxNXB4Iiwic2l6ZS1oZWFkZXItaGVpZ2h0IjoiNjRweCIsInNpemUtbmF2LWhlYWRlci1oZWlnaHQiOiI1OHB4Iiwic2l6ZS1zdGlja3ktc3ltYm9sLWhlYWRlci1oZWlnaHQiOiI2NHB4Iiwic2l6ZS1kaWFsb2ctZml4ZWQtaGVhZGVyLWhlaWdodCI6IjcycHgiLCJzaXplLXNpdGUtd2lkZ2V0LXBhZGRpbmciOiIyMHB4Iiwic2l6ZS1zaXRlLXdpZGdldC1wYWRkaW5nLXRhYmxldCI6IjEycHgiLCJzaXplLWNvbGxhcHNlLXRhYnMtaGVpZ2h0IjoiNTZweCIsInNpemUtbm8tc2Nyb2xsLWNob2ljZXItaGVpZ2h0IjoiNTZweCIsInNpemUtbWFpbi1jaGFydC1hcmVhLWluZGVudCI6IjRweCIsInNpemUtbWFpbi1jaGFydC1hcmVhLXJhZGl1cyI6IjAiLCJzaXplLXNlYXJjaGJhci1oZWlnaHQiOiI4MHB4Iiwic2l6ZS1zZWFyY2hiYXItaGVpZ2h0LXRhYmxldCI6IjU0cHgiLCJzaXplLXNlYXJjaGJhci1idG4td2lkdGgtdGFibGV0IjoiNjZweCIsInNpemUtY29udGVudC10b3AtdmluZGVudCI6IjQ4cHgiLCJzaXplLWxheW91dC13aWR0aCI6IjEwMjBweCIsInNpemUtbGF5b3V0LXdpZHRoLXdpZGUiOiIxNTIwcHgiLCJzaXplLWNoZWNrYm94LXNpZGUiOiIxOHB4Iiwic2l6ZS1jaGVja2JveC1jbGljay1leHBhbmQiOiIxMHB4Iiwic2l6ZS1jb250cm9sLWlucHV0LWhlaWdodC0teHNtYWxsIjoiMTlweCIsInNpemUtY29udHJvbC1pbnB1dC1oZWlnaHQtLXNtYWxsIjoiMjdweCIsInNpemUtY29udHJvbC1pbnB1dC1oZWlnaHQiOiIzNHB4Iiwic2l6ZS1jb250cm9sLWlucHV0LWhlaWdodC0tbGFyZ2UiOiI0OHB4Iiwic2l6ZS1jb250cm9sLWlucHV0LXBhZGRpbmctaG9yeiI6IjEycHgiLCJzaXplLXRhYnMtaG9yei1pbmRlbnQiOiIxNnB4Iiwic2l6ZS1hdmF0YXItYm9yZGVyLXJhZGl1cyI6IjNweCIsInNpemUtY2hhcnQtdmlldy1zcGFjaW5nIjoiMjVweCIsInNpemUtY2hhcnQtdmlldy1zcGFjaW5nLXRhYmxldCI6IjIwcHgiLCJyYWRpdXMtZW1iZWQtd2lkZ2V0LXdyYXBwZXIiOiIzcHgiLCJ0eXBvZ3JhcGh5LXBsYXRmb3JtLXJlZ3VsYXItMTZweC1saW5lLWhlaWdodCI6IjI0cHgiLCJ0eXBvZ3JhcGh5LXBsYXRmb3JtLXJlZ3VsYXItMThweC1saW5lLWhlaWdodCI6IjI4cHgiLCJtZWRpYS1ub3RlYm9vayI6ImFsbCBhbmQgKG1heC13aWR0aDogMTUzMHB4KSIsIm1lZGlhLXRhYmxldCI6ImFsbCBhbmQgKG1heC13aWR0aDogMTAxOXB4KSIsIm1lZGlhLXBob25lIjoiYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkiLCJtZWRpYS1waG9uZS12ZXJ0aWNhbCI6ImFsbCBhbmQgKG1heC13aWR0aDogNDc5cHgpIiwibWVkaWEtZXh0cmVtZS10aGluIjoiYWxsIGFuZCAobWF4LXdpZHRoOiAzMjlweCkiLCJtZWRpYS1zaG93LWRyYXdlciI6ImFsbCBhbmQgKG1heC13aWR0aDogNTY3cHgpIiwibWVkaWEtbWYtbGVnYWN5LXBob25lLXZlcnRpY2FsIjoiYWxsIGFuZCAobWluLXdpZHRoOiAzMzBweCkiLCJtZWRpYS1tZi1sZWdhY3ktcGhvbmUiOiJhbGwgYW5kIChtaW4td2lkdGg6IDQ4MHB4KSIsIm1lZGlhLW1mLWxlZ2FjeS1ub3RlYm9vayI6ImFsbCBhbmQgKG1pbi13aWR0aDogMTAyMHB4KSIsIm1lZGlhLW1mLWxlZ2FjeS1kZXNrdG9wLW1lZGl1bSI6ImFsbCBhbmQgKG1pbi13aWR0aDogMTQ4MHB4KSIsIm1lZGlhLW1mLWxlZ2FjeS1kZXNrdG9wIjoiYWxsIGFuZCAobWluLXdpZHRoOiAxNTMxcHgpIiwibWVkaWEtbWYtcGhvbmUtdmVydGljYWwiOiJhbGwgYW5kIChtaW4td2lkdGg6IDMyMHB4KSIsIm1lZGlhLW1mLXBob25lLWxhbmRzY2FwZSI6ImFsbCBhbmQgKG1pbi13aWR0aDogNTY4cHgpIiwibWVkaWEtbWYtdGFibGV0LXZlcnRpY2FsIjoiYWxsIGFuZCAobWluLXdpZHRoOiA3NjhweCkiLCJtZWRpYS1tZi10YWJsZXQtbGFuZHNjYXBlIjoiYWxsIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIiwibWVkaWEtbWYtbGFwdG9wIjoiYWxsIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIiwibWVkaWEtbWYtZGVza3RvcC1tZWRpdW0iOiJhbGwgYW5kIChtaW4td2lkdGg6IDE0NDBweCkiLCJtZWRpYS1tZi1kZXNrdG9wLWxhcmdlIjoiYWxsIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIiwibWVkaWEtbWYtZGVza3RvcC1leHRyYS1sYXJnZSI6ImFsbCBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSIsImNvbnRhaW5lci10YWJsZXQiOiIobWF4LXdpZHRoOiAxMDE5cHgpIiwiY29udGFpbmVyLXBob25lIjoiKG1heC13aWR0aDogNzY3cHgpIiwiY29udGFpbmVyLXBob25lLXZlcnRpY2FsIjoiKG1heC13aWR0aDogNDc5cHgpIiwiY29udGFpbmVyLW1mLXBob25lLXZlcnRpY2FsIjoiKG1pbi13aWR0aDogMzAwcHgpIiwiY29udGFpbmVyLW1mLXBob25lLWxhbmRzY2FwZSI6IihtaW4td2lkdGg6IDU0OHB4KSIsImNvbnRhaW5lci1tZi10YWJsZXQtdmVydGljYWwiOiIobWluLXdpZHRoOiA3MDJweCkiLCJjb250YWluZXItbWYtdGFibGV0LWxhbmRzY2FwZSI6IihtaW4td2lkdGg6IDk1OHB4KSIsImNvbnRhaW5lci1tZi1sYXB0b3AiOiIobWluLXdpZHRoOiAxMjE0cHgpIiwiY29udGFpbmVyLW1mLWRlc2t0b3AtbWVkaXVtIjoiKG1pbi13aWR0aDogMTM3NHB4KSIsImNvbnRhaW5lci1tZi1kZXNrdG9wLWxhcmdlIjoiKG1pbi13aWR0aDogMTg1NHB4KSIsImNvbnRhaW5lci1tZi1kZXNrdG9wLWV4dHJhLWxhcmdlIjoiKG1pbi13aWR0aDogMjQ5NHB4KSIsIm1lZGlhLWxhcHRvcCI6ImFsbCBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTQzOXB4KSIsIm1lZGlhLWxhcHRvcC1hbmQtZGVza3RvcC1tZWRpdW0iOiJhbGwgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkiLCJtZWRpYS1sYW5kc2NhcGUiOiJhbGwgYW5kIChtaW4tZGV2aWNlLXdpZHRoOiAzNzVweCkgYW5kIChtYXgtZGV2aWNlLWhlaWdodDogODEycHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkiLCJtZWRpYS1waG9uZS1sYW5kc2NhcGUiOiJhbGwgYW5kIChtYXgtaGVpZ2h0OiA0NDBweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSIsIm1lZGlhLXdpZGdldGJhci1icmVha3BvaW50IjoiYWxsIGFuZCAobWF4LXdpZHRoOiAxMDY0cHgpIiwiei1pbmRleC1jb250ZW50LXBhZ2UiOjEsInotaW5kZXgtY2hhcnQtbGVnZW5kIjo2LCJ6LWluZGV4LWNoYXJ0LXJpZ2h0LWNvcm5lci1jb250cm9scyI6Nywiei1pbmRleC1sb2FkaW5nLXNjcmVlbiI6OCwiei1pbmRleC1kcm9wZG93biI6OTksInotaW5kZXgtdG9vbGJhci1wb3B1cC1tZW51IjoxMDAsInotaW5kZXgtdG9vbHRpcCI6MTAwMCwiei1pbmRleC11c2VyLWxpbmstcG9wdXAiOjkwMCwiei1pbmRleC1zdGlja3ktc2VhcmNoLWJhciI6MTAxLCJ6LWluZGV4LXJlc2l6YWJsZS1kcmF3ZXIiOjgwMCwiei1pbmRleC1mdWxsc2NyZWVuIjoxMDIsImRpc2FibGVkLXN0YXRlLW9wYWNpdHkiOjAuNSwic2l6ZS1nYXAtbWluaW11bSI6IjIwcHgiLCJzaXplLWdhcC1tZWRpdW0iOiI0MHB4Iiwic2l6ZS1nYXAtbWF4aW11bSI6IjEwMHB4In0nKQp9LDI1NTUxNihlKXsidXNlIHN0cmljdCIKO2UuZXhwb3J0cz1KU09OLnBhcnNlKCd7InVzIjp7InRpdGxlIjoiVVNBIiwic2NyZWVuZXJOYW1lIjoiYW1lcmljYSIsInNjcmVlbmVyVGltZXpvbmUiOiJBbWVyaWNhL05ld19Zb3JrIiwiZGVmYXVsdEV4Y2hhbmdlIjoiVVMiLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIkFNRVgiLCJOQVNEQVEiLCJOWVNFIiwiT1RDIiwiVVMiXSwiZXhjaGFuZ2VzU3RvY2tzIjpbIk5BU0RBUSIsIk5ZU0UiLCJOWVNFIEFSQ0EiLCJPVEMiXSwiZ3JvdXAiOiJOb3J0aCBBbWVyaWNhIiwibWFya2V0Um91dGUiOiJ1c2EvIn0sImFlIjp7InRpdGxlIjoiVW5pdGVkIEFyYWIgRW1pcmF0ZXMiLCJzY3JlZW5lck5hbWUiOiJ1YWUiLCJzY3JlZW5lclRpbWV6b25lIjoiQXNpYS9EdWJhaSIsImRlZmF1bHRFeGNoYW5nZSI6IkFEWCIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiREZNIiwiQURYIl0sImV4Y2hhbmdlc1N0b2NrcyI6WyJERk0iLCJBRFgiLCJOQVNEQVFEVUJBSSJdLCJncm91cCI6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIiwibWFya2V0Um91dGUiOiJ1YWUvIn0sImFyIjp7InRpdGxlIjoiQXJnZW50aW5hIiwic2NyZWVuZXJOYW1lIjoiYXJnZW50aW5hIiwic2NyZWVuZXJUaW1lem9uZSI6IkFtZXJpY2EvQXJnZW50aW5hL0J1ZW5vc19BaXJlcyIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiQkNCQSJdLCJleGNoYW5nZXNTdG9ja3MiOlsiQllNQSIsIkJDQkEiXSwiZGVmYXVsdEV4Y2hhbmdlIjoiQkNCQSIsImdyb3VwIjoiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIiwibWFya2V0Um91dGUiOiJhcmdlbnRpbmEvIn0sImF0Ijp7InRpdGxlIjoiQXVzdHJpYSIsInNjcmVlbmVyTmFtZSI6ImF1c3RyaWEiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL1ZpZW5uYSIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiVklFIl0sImV4Y2hhbmdlc1N0b2NrcyI6WyJWSUUiXSwiZGVmYXVsdEV4Y2hhbmdlIjoiVklFIiwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6ImF1c3RyaWEvIn0sImF1Ijp7InRpdGxlIjoiQXVzdHJhbGlhIiwic2NyZWVuZXJOYW1lIjoiYXVzdHJhbGlhIiwic2NyZWVuZXJUaW1lem9uZSI6IkF1c3RyYWxpYS9TeWRuZXkiLCJleGNoYW5nZXNTdG9ja3MiOlsiQVNYIl0sImdyb3VwIjoiQXNpYSAvIFBhY2lmaWMiLCJtYXJrZXRSb3V0ZSI6ImF1c3RyYWxpYS8ifSwiYmQiOnsidGl0bGUiOiJCYW5nbGFkZXNoIiwic2NyZWVuZXJOYW1lIjoiYmFuZ2xhZGVzaCIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0RoYWthIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkRTRUJEIl0sImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiRFNFQkQiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoiYmFuZ2xhZGVzaC8ifSwiYmUiOnsidGl0bGUiOiJCZWxnaXVtIiwic2NyZWVuZXJOYW1lIjoiYmVsZ2l1bSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvQnJ1c3NlbHMiLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIkVVUk9ORVhUX0JSVSJdLCJleGNoYW5nZXNTdG9ja3MiOlsiRVVST05FWFRCUlUiXSwiZGVmYXVsdEV4Y2hhbmdlIjoiRVVST05FWFRfQlJVIiwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6ImJlbGdpdW0vIn0sImJoIjp7InRpdGxlIjoiQmFocmFpbiIsInNjcmVlbmVyTmFtZSI6ImJhaHJhaW4iLCJzY3JlZW5lclRpbWV6b25lIjoiQXNpYS9CYWhyYWluIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkJBSFJBSU4iXSwiZ3JvdXAiOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsIm1hcmtldFJvdXRlIjoiYmFocmFpbi8ifSwiYnIiOnsidGl0bGUiOiJCcmF6aWwiLCJzY3JlZW5lck5hbWUiOiJicmF6aWwiLCJzY3JlZW5lclRpbWV6b25lIjoiQW1lcmljYS9TYW9fUGF1bG8iLCJleGNoYW5nZXNTdG9ja3MiOlsiQk1GQk9WRVNQQSJdLCJncm91cCI6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsIm1hcmtldFJvdXRlIjoiYnJhemlsLyJ9LCJiZyI6eyJ0aXRsZSI6IkJ1bGdhcmlhIiwic2NyZWVuZXJOYW1lIjoiYnVsZ2FyaWEiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL1NvZmlhIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkJTRVNPRiJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoiYnVsZ2FyaWEvIn0sImNhIjp7InRpdGxlIjoiQ2FuYWRhIiwic2NyZWVuZXJOYW1lIjoiY2FuYWRhIiwic2NyZWVuZXJUaW1lem9uZSI6IkFtZXJpY2EvVG9yb250byIsImV4Y2hhbmdlc1N0b2NrcyI6WyJUU1giLCJUU1hWIiwiQ1NFIiwiTkVPIl0sImdyb3VwIjoiTm9ydGggQW1lcmljYSIsIm1hcmtldFJvdXRlIjoiY2FuYWRhLyJ9LCJjaCI6eyJ0aXRsZSI6IlN3aXR6ZXJsYW5kIiwic2NyZWVuZXJOYW1lIjoic3dpdHplcmxhbmQiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL1p1cmljaCIsImV4Y2hhbmdlc1N0b2NrcyI6WyJTSVgiLCJCWCJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoic3dpdHplcmxhbmQvIn0sImNsIjp7InRpdGxlIjoiQ2hpbGUiLCJzY3JlZW5lck5hbWUiOiJjaGlsZSIsInNjcmVlbmVyVGltZXpvbmUiOiJBbWVyaWNhL1NhbnRpYWdvIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkJDUyJdLCJncm91cCI6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsIm1hcmtldFJvdXRlIjoiY2hpbGUvIn0sImNuIjp7InRpdGxlIjoiTWFpbmxhbmQgQ2hpbmEiLCJ0dkxvY2FsZSI6InpoX0NOIiwic2NyZWVuZXJOYW1lIjoiY2hpbmEiLCJzY3JlZW5lclRpbWV6b25lIjoiQXNpYS9Ib25nX0tvbmciLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIlNTRSIsIlNaU0UiXSwiZXhjaGFuZ2VzU3RvY2tzIjpbIlNTRSIsIlNaU0UiLCJTSEZFIiwiWkNFIiwiQ0ZGRVgiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoiY2hpbmEvIn0sImNvIjp7InRpdGxlIjoiQ29sb21iaWEiLCJzY3JlZW5lck5hbWUiOiJjb2xvbWJpYSIsInNjcmVlbmVyVGltZXpvbmUiOiJBbWVyaWNhL0JvZ290YSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCVkMiXSwiZ3JvdXAiOiJNZXhpY28gYW5kIFNvdXRoIEFtZXJpY2EiLCJtYXJrZXRSb3V0ZSI6ImNvbG9tYmlhLyJ9LCJociI6eyJ0aXRsZSI6IkNyb2F0aWEiLCJzY3JlZW5lck5hbWUiOiJjcm9hdGlhIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9aYWdyZWIiLCJleGNoYW5nZXNTdG9ja3MiOlsiWlNFIl0sImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiWlNFIl0sImRlZmF1bHRFeGNoYW5nZSI6IlpTRSIsImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJjcm9hdGlhLyJ9LCJjeSI6eyJ0aXRsZSI6IkN5cHJ1cyIsInNjcmVlbmVyTmFtZSI6ImN5cHJ1cyIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvQ3lwcnVzIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkNTRUNZIl0sImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiQ1NFQ1kiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6ImN5cHJ1cy8ifSwiY3oiOnsidGl0bGUiOiJDemVjaCBSZXB1YmxpYyIsInNjcmVlbmVyTmFtZSI6ImN6ZWNoIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9DemVjaCIsImV4Y2hhbmdlc1N0b2NrcyI6WyJQU0VDWiJdLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIlBTRUNaIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJjemVjaC8ifSwiZGUiOnsidGl0bGUiOiJHZXJtYW55IiwidHZMb2NhbGUiOiJkZV9ERSIsInNjcmVlbmVyTmFtZSI6Imdlcm1hbnkiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL0JlcmxpbiIsImRlZmF1bHRFeGNoYW5nZSI6IlhFVFIiLCJleGNoYW5nZXNTdG9ja3MiOlsiRldCIiwiU1dCIiwiWEVUUiIsIkRVUyIsIkhBTSIsIkhBTiIsIk1VTiIsIlRSQURFR0FURSIsIkxTIiwiTFNYIiwiR0VUVEVYIl0sImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiRldCIiwiU1dCIiwiWEVUUiIsIkRVUyIsIkhBTSIsIkhBTiIsIk1VTiIsIlRSQURFR0FURSIsIkxTIiwiTFNYIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJnZXJtYW55LyJ9LCJkayI6eyJ0aXRsZSI6IkRlbm1hcmsiLCJzY3JlZW5lck5hbWUiOiJkZW5tYXJrIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9Db3BlbmhhZ2VuIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIk9NWENPUCJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoiZGVubWFyay8ifSwiZWUiOnsidGl0bGUiOiJFc3RvbmlhIiwic2NyZWVuZXJOYW1lIjoiZXN0b25pYSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvVGFsbGlubiIsImV4Y2hhbmdlc1N0b2NrcyI6WyJPTVhUU0UiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6ImVzdG9uaWEvIn0sImVnIjp7InRpdGxlIjoiRWd5cHQiLCJzY3JlZW5lck5hbWUiOiJlZ3lwdCIsInNjcmVlbmVyVGltZXpvbmUiOiJBZnJpY2EvQ2Fpcm8iLCJleGNoYW5nZXNTdG9ja3MiOlsiRUdYIl0sImdyb3VwIjoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLCJtYXJrZXRSb3V0ZSI6ImVneXB0LyJ9LCJlcyI6eyJ0aXRsZSI6IlNwYWluIiwic2NyZWVuZXJOYW1lIjoic3BhaW4iLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL01hZHJpZCIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCTUUiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6InNwYWluLyJ9LCJldSI6eyJ0aXRsZSI6IkV1cm9wZWFuIFVuaW9uIiwic2NyZWVuZXJOYW1lIjoiZXVyb25leHQiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL1BhcmlzIiwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6W10sImV4Y2hhbmdlc1N0b2NrcyI6WyJFVVJPTkVYVCIsIkVVUk9ORVhUQ09NTSJdLCJncm91cCI6IkV1cm9wZSJ9LCJmaSI6eyJ0aXRsZSI6IkZpbmxhbmQiLCJzY3JlZW5lck5hbWUiOiJmaW5sYW5kIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9IZWxzaW5raSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJPTVhIRVgiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6ImZpbmxhbmQvIn0sImZyIjp7InRpdGxlIjoiRnJhbmNlIiwic2NyZWVuZXJOYW1lIjoiZnJhbmNlIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9QYXJpcyIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiRVVST05FWFRfUEFSIl0sImV4Y2hhbmdlc1N0b2NrcyI6WyJFVVJPTkVYVFBBUiJdLCJkZWZhdWx0RXhjaGFuZ2UiOiJFVVJPTkVYVF9QQVIiLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoiZnJhbmNlLyJ9LCJnZSI6eyJ0aXRsZSI6Ikdlb3JnaWEifSwiZ3IiOnsidGl0bGUiOiJHcmVlY2UiLCJzY3JlZW5lck5hbWUiOiJncmVlY2UiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL0F0aGVucyIsImV4Y2hhbmdlc1N0b2NrcyI6WyJBVEhFWCJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoiZ3JlZWNlLyJ9LCJoayI6eyJ0aXRsZSI6IkhvbmcgS29uZywgQ2hpbmEiLCJzY3JlZW5lck5hbWUiOiJob25na29uZyIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0hvbmdfS29uZyIsImV4Y2hhbmdlc1N0b2NrcyI6WyJIS0VYIl0sImdyb3VwIjoiQXNpYSAvIFBhY2lmaWMiLCJtYXJrZXRSb3V0ZSI6Imhvbmcta29uZy8ifSwiaHUiOnsidGl0bGUiOiJIdW5nYXJ5Iiwic2NyZWVuZXJOYW1lIjoiaHVuZ2FyeSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvQnVkYXBlc3QiLCJleGNoYW5nZXNTdG9ja3MiOlsiQkVUIl0sImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiQkVUIl0sImRlZmF1bHRFeGNoYW5nZSI6IkJFVCIsImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJodW5nYXJ5LyJ9LCJpZCI6eyJ0aXRsZSI6IkluZG9uZXNpYSIsInNjcmVlbmVyTmFtZSI6ImluZG9uZXNpYSIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0pha2FydGEiLCJleGNoYW5nZXNTdG9ja3MiOlsiSURYIl0sImdyb3VwIjoiQXNpYSAvIFBhY2lmaWMiLCJtYXJrZXRSb3V0ZSI6ImluZG9uZXNpYS8ifSwiaWUiOnsidGl0bGUiOiJJcmVsYW5kIiwic2NyZWVuZXJOYW1lIjoiaXJlbGFuZCIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvRHVibGluIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkVVUk9ORVhURFVCIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJpcmVsYW5kLyJ9LCJpbCI6eyJ0aXRsZSI6IklzcmFlbCIsInR2TG9jYWxlIjoiaGVfSUwiLCJzY3JlZW5lck5hbWUiOiJpc3JhZWwiLCJzY3JlZW5lclRpbWV6b25lIjoiQXNpYS9KZXJ1c2FsZW0iLCJleGNoYW5nZXNTdG9ja3MiOlsiVEFTRSJdLCJncm91cCI6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIiwibWFya2V0Um91dGUiOiJpc3JhZWwvIn0sImluIjp7InRpdGxlIjoiSW5kaWEiLCJzY3JlZW5lck5hbWUiOiJpbmRpYSIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0tvbGthdGEiLCJleGNoYW5nZXNTdG9ja3MiOlsiQlNFIiwiTlNFIl0sImdyb3VwIjoiQXNpYSAvIFBhY2lmaWMiLCJtYXJrZXRSb3V0ZSI6ImluZGlhLyJ9LCJpciI6eyJ0aXRsZSI6IklyYW4ifSwiaXMiOnsidGl0bGUiOiJJY2VsYW5kIiwic2NyZWVuZXJOYW1lIjoiaWNlbGFuZCIsInNjcmVlbmVyVGltZXpvbmUiOiJBdGxhbnRpYy9SZXlramF2aWsiLCJleGNoYW5nZXNTdG9ja3MiOlsiT01YSUNFIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJpY2VsYW5kLyJ9LCJpdCI6eyJ0aXRsZSI6Ikl0YWx5Iiwic2NyZWVuZXJOYW1lIjoiaXRhbHkiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL1JvbWUiLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIk1JTCIsIkVVUk9UTFgiXSwiZXhjaGFuZ2VzU3RvY2tzIjpbIk1JTCIsIkVVUk9UTFgiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6Iml0YWx5LyJ9LCJqcCI6eyJ0aXRsZSI6IkphcGFuIiwidHZMb2NhbGUiOiJqYSIsInNjcmVlbmVyTmFtZSI6ImphcGFuIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvVG9reW8iLCJkZWZhdWx0RXhjaGFuZ2UiOiJUU0UiLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIk5BRyIsIlRTRSJdLCJleGNoYW5nZXNTdG9ja3MiOlsiVFNFIiwiTkFHIiwiRlNFIiwiU0FQU0UiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoiamFwYW4vIn0sImtlIjp7InRpdGxlIjoiS2VueWEiLCJzY3JlZW5lck5hbWUiOiJrZW55YSIsInNjcmVlbmVyVGltZXpvbmUiOiJBZnJpY2EvTmFpcm9iaSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJOU0VLRSJdLCJncm91cCI6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIiwibWFya2V0Um91dGUiOiJrZW55YS8ifSwia3AiOnsidGl0bGUiOiJOb3J0aCBLb3JlYSJ9LCJrciI6eyJ0aXRsZSI6IlNvdXRoIEtvcmVhIiwidHZMb2NhbGUiOiJrciIsInNjcmVlbmVyTmFtZSI6ImtvcmVhIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvU2VvdWwiLCJleGNoYW5nZXNTdG9ja3MiOlsiS1JYIl0sImdyb3VwIjoiQXNpYSAvIFBhY2lmaWMiLCJtYXJrZXRSb3V0ZSI6ImtvcmVhLyJ9LCJrdyI6eyJ0aXRsZSI6Ikt1d2FpdCIsInNjcmVlbmVyTmFtZSI6Imt1d2FpdCIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0t1d2FpdCIsImV4Y2hhbmdlc1N0b2NrcyI6WyJLU0UiXSwiZ3JvdXAiOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsIm1hcmtldFJvdXRlIjoia3V3YWl0LyJ9LCJsayI6eyJ0aXRsZSI6IlNyaSBMYW5rYSIsInNjcmVlbmVyTmFtZSI6InNyaWxhbmthIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvQ29sb21ibyIsImV4Y2hhbmdlc1N0b2NrcyI6WyJDU0VMSyJdLCJncm91cCI6IkFzaWEgLyBQYWNpZmljIiwibWFya2V0Um91dGUiOiJzcmktbGFua2EvIn0sImx0Ijp7InRpdGxlIjoiTGl0aHVhbmlhIiwic2NyZWVuZXJOYW1lIjoibGl0aHVhbmlhIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9WaWxuaXVzIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIk9NWFZTRSJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoibGl0aHVhbmlhLyJ9LCJsdiI6eyJ0aXRsZSI6IkxhdHZpYSIsInNjcmVlbmVyTmFtZSI6ImxhdHZpYSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvUmlnYSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJPTVhSU0UiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6ImxhdHZpYS8ifSwibHUiOnsidGl0bGUiOiJMdXhlbWJvdXJnIiwic2NyZWVuZXJOYW1lIjoibHV4ZW1ib3VyZyIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvTHV4ZW1ib3VyZyIsImV4Y2hhbmdlc1N0b2NrcyI6WyJMVVhTRSJdLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIkxVWFNFIl0sImRlZmF1bHRFeGNoYW5nZSI6IkxVWFNFIiwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6Imx1eGVtYm91cmcvIn0sIm14Ijp7InRpdGxlIjoiTWV4aWNvIiwic2NyZWVuZXJOYW1lIjoibWV4aWNvIiwic2NyZWVuZXJUaW1lem9uZSI6IkFtZXJpY2EvTWV4aWNvX0NpdHkiLCJleGNoYW5nZXNTdG9ja3MiOlsiQk1WIiwiQklWQSJdLCJncm91cCI6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsIm1hcmtldFJvdXRlIjoibWV4aWNvLyJ9LCJtYSI6eyJ0aXRsZSI6Ik1vcm9jY28iLCJzY3JlZW5lck5hbWUiOiJtb3JvY2NvIiwic2NyZWVuZXJUaW1lem9uZSI6IkFmcmljYS9Nb3JvY2NvIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkNTRU1BIl0sImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiQ1NFTUEiXSwiZ3JvdXAiOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsIm1hcmtldFJvdXRlIjoibW9yb2Njby8ifSwibXkiOnsidGl0bGUiOiJNYWxheXNpYSIsInR2TG9jYWxlIjoibXNfTVkiLCJzY3JlZW5lck5hbWUiOiJtYWxheXNpYSIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL1NpbmdhcG9yZSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJNWVgiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoibWFsYXlzaWEvIn0sIm5nIjp7InRpdGxlIjoiTmlnZXJpYSIsInNjcmVlbmVyTmFtZSI6Im5pZ2VyaWEiLCJzY3JlZW5lclRpbWV6b25lIjoiQWZyaWNhL0xhZ29zIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIk5TRU5HIl0sImdyb3VwIjoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLCJtYXJrZXRSb3V0ZSI6Im5pZ2VyaWEvIn0sIm5sIjp7InRpdGxlIjoiTmV0aGVybGFuZHMiLCJzY3JlZW5lck5hbWUiOiJuZXRoZXJsYW5kcyIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvQW1zdGVyZGFtIiwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJFVVJPTkVYVF9BTVMiXSwiZXhjaGFuZ2VzU3RvY2tzIjpbIkVVUk9ORVhUQU1TIl0sImRlZmF1bHRFeGNoYW5nZSI6IkVVUk9ORVhUX0FNUyIsImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJuZXRoZXJsYW5kcy8ifSwibm8iOnsidGl0bGUiOiJOb3J3YXkiLCJzY3JlZW5lck5hbWUiOiJub3J3YXkiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL09zbG8iLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIk9TTCJdLCJleGNoYW5nZXNTdG9ja3MiOlsiRVVST05FWFRPU0UiXSwiZGVmYXVsdEV4Y2hhbmdlIjoiT1NMIiwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6Im5vcndheS8ifSwibnoiOnsidGl0bGUiOiJOZXcgWmVhbGFuZCIsInNjcmVlbmVyTmFtZSI6Im5ld3plYWxhbmQiLCJzY3JlZW5lclRpbWV6b25lIjoiUGFjaWZpYy9BdWNrbGFuZCIsImV4Y2hhbmdlc1N0b2NrcyI6WyJOWlgiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoibmV3LXplYWxhbmQvIn0sInBlIjp7InRpdGxlIjoiUGVydSIsInNjcmVlbmVyTmFtZSI6InBlcnUiLCJzY3JlZW5lclRpbWV6b25lIjoiQW1lcmljYS9MaW1hIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkJWTCJdLCJncm91cCI6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsIm1hcmtldFJvdXRlIjoicGVydS8ifSwicGgiOnsidGl0bGUiOiJQaGlsaXBwaW5lcyIsInNjcmVlbmVyTmFtZSI6InBoaWxpcHBpbmVzIiwic2NyZWVuZXJUaW1lem9uZSI6IlBoaWxpcHBpbmVzL01hbmlsYSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJQU0UiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoicGhpbGlwcGluZXMvIn0sInBrIjp7InRpdGxlIjoiUGFraXN0YW4iLCJzY3JlZW5lck5hbWUiOiJwYWtpc3RhbiIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0thcmFjaGkiLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIlBTWCJdLCJleGNoYW5nZXNTdG9ja3MiOlsiUFNYIl0sImRlZmF1bHRFeGNoYW5nZSI6IlBTWCIsImdyb3VwIjoiQXNpYSAvIFBhY2lmaWMiLCJtYXJrZXRSb3V0ZSI6InBha2lzdGFuLyJ9LCJwbCI6eyJ0aXRsZSI6IlBvbGFuZCIsInNjcmVlbmVyTmFtZSI6InBvbGFuZCIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvV2Fyc2F3IiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkdQVyIsIk5FV0NPTk5FQ1QiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6InBvbGFuZC8ifSwicHQiOnsidGl0bGUiOiJQb3J0dWdhbCIsInNjcmVlbmVyTmFtZSI6InBvcnR1Z2FsIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9MaXNib24iLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIkVVUk9ORVhUX0xJUyJdLCJleGNoYW5nZXNTdG9ja3MiOlsiRVVST05FWFRMSVMiXSwiZGVmYXVsdEV4Y2hhbmdlIjoiRVVST05FWFRfTElTIiwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6InBvcnR1Z2FsLyJ9LCJxYSI6eyJ0aXRsZSI6IlFhdGFyIiwic2NyZWVuZXJOYW1lIjoicWF0YXIiLCJzY3JlZW5lclRpbWV6b25lIjoiQXNpYS9RYXRhciIsImV4Y2hhbmdlc1N0b2NrcyI6WyJRU0UiXSwiZ3JvdXAiOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsIm1hcmtldFJvdXRlIjoicWF0YXIvIn0sInJvIjp7InRpdGxlIjoiUm9tYW5pYSIsInNjcmVlbmVyTmFtZSI6InJvbWFuaWEiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL0J1Y2hhcmVzdCIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCVkIiXSwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJCVkIiXSwiZGVmYXVsdEV4Y2hhbmdlIjoiQlZCIiwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6InJvbWFuaWEvIn0sInJzIjp7InRpdGxlIjoiU2VyYmlhIiwic2NyZWVuZXJOYW1lIjoic2VyYmlhIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9CZWxncmFkZSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCRUxFWCJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoic2VyYmlhLyJ9LCJydSI6eyJ0aXRsZSI6IlJ1c3NpYSIsInNjcmVlbmVyTmFtZSI6InJ1c3NpYSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvTW9zY293IiwiZXhjaGFuZ2VzU3RvY2tzIjpbIlJVUyJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoicnVzc2lhLyJ9LCJzYSI6eyJ0aXRsZSI6IlNhdWRpIEFyYWJpYSIsInR2TG9jYWxlIjoiYXJfQUUiLCJzY3JlZW5lck5hbWUiOiJrc2EiLCJzY3JlZW5lclRpbWV6b25lIjoiQXNpYS9SaXlhZGgiLCJleGNoYW5nZXNTdG9ja3MiOlsiVEFEQVdVTCJdLCJncm91cCI6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIiwibWFya2V0Um91dGUiOiJrc2EvIn0sInNlIjp7InRpdGxlIjoiU3dlZGVuIiwic2NyZWVuZXJOYW1lIjoic3dlZGVuIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9TdG9ja2hvbG0iLCJleGNoYW5nZXNTdG9ja3MiOlsiTkdNIiwiT01YU1RPIl0sImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiTkdNIiwiT01YU1RPIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJzd2VkZW4vIn0sInNnIjp7InRpdGxlIjoiU2luZ2Fwb3JlIiwic2NyZWVuZXJOYW1lIjoic2luZ2Fwb3JlIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvU2luZ2Fwb3JlIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIlNHWCJdLCJncm91cCI6IkFzaWEgLyBQYWNpZmljIiwibWFya2V0Um91dGUiOiJzaW5nYXBvcmUvIn0sInNrIjp7InRpdGxlIjoiU2xvdmFraWEiLCJzY3JlZW5lck5hbWUiOiJzbG92YWtpYSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvQnJhdGlzbGF2YSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCU1NFIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJzbG92YWtpYS8ifSwic2kiOnsidGl0bGUiOiJTbG92ZW5pYSIsInNjcmVlbmVyTmFtZSI6InNsb3ZlbmlhIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9ManVibGphbmEiLCJleGNoYW5nZXNTdG9ja3MiOlsiTEpTRSJdLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIkxKU0UiXSwiZGVmYXVsdEV4Y2hhbmdlIjoiTEpTRSIsImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJzbG92ZW5pYS8ifSwidGgiOnsidGl0bGUiOiJUaGFpbGFuZCIsInR2TG9jYWxlIjoidGhfVEgiLCJzY3JlZW5lck5hbWUiOiJ0aGFpbGFuZCIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0Jhbmdrb2siLCJleGNoYW5nZXNTdG9ja3MiOlsiU0VUIl0sImdyb3VwIjoiQXNpYSAvIFBhY2lmaWMiLCJtYXJrZXRSb3V0ZSI6InRoYWlsYW5kLyJ9LCJ0biI6eyJ0aXRsZSI6IlR1bmlzaWEiLCJzY3JlZW5lck5hbWUiOiJ0dW5pc2lhIiwic2NyZWVuZXJUaW1lem9uZSI6IkFmcmljYS9UdW5pcyIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCVk1UIl0sImdyb3VwIjoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLCJtYXJrZXRSb3V0ZSI6InR1bmlzaWEvIn0sInRyIjp7InRpdGxlIjoiVHVya2V5Iiwic2NyZWVuZXJOYW1lIjoidHVya2V5Iiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9Jc3RhbmJ1bCIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCSVNUIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJ0dXJrZXkvIn0sInR3Ijp7InRpdGxlIjoiVGFpd2FuLCBDaGluYSIsInR2TG9jYWxlIjoiemhfVFciLCJzY3JlZW5lck5hbWUiOiJ0YWl3YW4iLCJzY3JlZW5lclRpbWV6b25lIjoiQXNpYS9UYWlwZWkiLCJleGNoYW5nZXNTdG9ja3MiOlsiVFdTRSIsIlRQRVgiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoidGFpd2FuLyJ9LCJnYiI6eyJ0aXRsZSI6IlVuaXRlZCBLaW5nZG9tIiwic2NyZWVuZXJOYW1lIjoidWsiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL0xvbmRvbiIsImRlZmF1bHRFeGNoYW5nZSI6IkxTRSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJMU0UiLCJMU0lOIiwiQVFVSVMiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6InVuaXRlZC1raW5nZG9tLyJ9LCJ2ZSI6eyJ0aXRsZSI6IlZlbmV6dWVsYSIsInNjcmVlbmVyTmFtZSI6InZlbmV6dWVsYSIsInNjcmVlbmVyVGltZXpvbmUiOiJBbWVyaWNhL0NhcmFjYXMiLCJleGNoYW5nZXNTdG9ja3MiOlsiQlZDViJdLCJncm91cCI6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsIm1hcmtldFJvdXRlIjoidmVuZXp1ZWxhLyJ9LCJ2biI6eyJ0aXRsZSI6IlZpZXRuYW0iLCJ0dkxvY2FsZSI6InZpX1ZOIiwic2NyZWVuZXJOYW1lIjoidmlldG5hbSIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0hvX0NoaV9NaW5oIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkhPU0UiLCJITlgiLCJVUENPTSJdLCJncm91cCI6IkFzaWEgLyBQYWNpZmljIiwibWFya2V0Um91dGUiOiJ2aWV0bmFtLyJ9LCJ6YSI6eyJ0aXRsZSI6IlNvdXRoIEFmcmljYSIsInNjcmVlbmVyTmFtZSI6InJzYSIsInNjcmVlbmVyVGltZXpvbmUiOiJBZnJpY2EvSm9oYW5uZXNidXJnIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkpTRSJdLCJncm91cCI6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIiwibWFya2V0Um91dGUiOiJzb3V0aC1hZnJpY2EvIn0sInd3Ijp7InRpdGxlIjoiV29ybGR3aWRlIiwic2NyZWVuZXJOYW1lIjoiZ2xvYmFsIiwiZXhjaGFuZ2VzU3RvY2tzIjpbXX19JykKfSwxMjc3MTEoZSl7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1KU09OLnBhcnNlKCd7ImNtZSI6eyJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0Ijo5OTk5OX19LCJib3Zlc3BhIjp7IklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjk5OTk5fX0sInFlY29tcWEiOnsiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6OTk5OTl9fSwic2FudGFuZGVyY29tYXIiOnsiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6OTk5OTl9fX0nKX0sNTAyNTg3KGUpeyJ1c2Ugc3RyaWN0Igo7ZS5leHBvcnRzPUpTT04ucGFyc2UoJ3siZnJlZSI6eyJDSEFUX0FTU0lTVEFOVCI6eyJsaW1pdCI6NSwiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkNIQVJUX1NUT1JBR0UiOnsibGltaXQiOjF9LCJNVUxUSVBMRV9DSEFSVFMiOnsibGltaXQiOjF9LCJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0IjoyfSwiRlVOREFNRU5UQUxTX09OX0NIQVJUIjp7ImxpbWl0IjoxfSwiSElTVE9SSUNBTF9CQVJTIjp7ImxpbWl0Ijo1fSwiU1RVRFlfT05fU1RVRFkiOnsibGltaXQiOjgwMCwiY2hpbGRfbGltaXQiOjF9LCJTRVJWRVJfU0lERV9BTEVSVFMiOnsib3ZlcmFsbF9saW1pdCI6NTAsImxpbWl0IjozLCJjb21wbGV4X2xpbWl0IjowLCJwcmltaXRpdmVfbGltaXQiOjN9LCJTQ1JFRU5FUl9JTlRFUlZBTFMiOnsiaW50ZXJ2YWwiOlsiMUQiLCIxVyIsIjFNIl19LCJTVFVEWV9URU1QTEFURVMiOnsibGltaXQiOjF9LCJTSU1VTFRBTkVPVVNfQ09OTkVDVElPTlMiOnsibGltaXQiOjF9LCJCQUNLRU5EX0NPTk5FQ1RJT05TIjp7ImxpbWl0IjoyfSwiSURFQV9TT0NJQUxfTElOS1MiOnsic29jaWFscyI6WyJUd2l0dGVyIiwiWW91dHViZSJdfSwiTVVMVElDT0xPUl9GTEFHR0VEX1NZTUJPTFMiOnsibGltaXQiOjF9LCJXQVRDSExJU1RfU1lNQk9MUyI6eyJsaW1pdCI6MzB9LCJWSURFT19JREVBU19MRU5HVEgiOnsibGltaXQiOjIwfSwiQ1JFQVRFX01PUkVfUE9SVEZPTElPUyI6eyJsaW1pdCI6MX0sIlBPUlRGT0xJT19UUkFOU0FDVElPTlMiOnsibGltaXQiOjIwMDB9LCJQT1JURk9MSU9fSE9MRElOR1MiOnsibGltaXQiOjIwfX0sInBybyI6eyJEUkFXSU5HUyI6e30sIkJBQ0tURVNUSU5HX0NIQVJUX0VYUEFORCI6e30sIkJBQ0tURVNUSU5HX0VYVEVOREVEX01FVFJJQ1MiOnt9LCJCQUNLVEVTVElOR19FWFBPUlRfWExTWCI6e30sIkJBQ0tURVNUSU5HX0VYUE9SVF9DU1YiOnt9LCJDSEFUX0FTU0lTVEFOVCI6eyJsaW1pdCI6NSwiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIlBFUlNPTkFMX1NVUFBPUlQiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkNIQVJUX1NUT1JBR0UiOnsibGltaXQiOjV9LCJNVUxUSVBMRV9DSEFSVFMiOnsibGltaXQiOjJ9LCJNQVJLRVRfREFUQV9MSU1JVFMiOnsibGltaXQiOjIsInByaW1pdGl2ZV9saW1pdCI6Mn0sIkNVU1RPTV9JTlRFUlZBTFMiOnt9LCJNVUxUSVBMRV9XQVRDSExJU1RTIjp7fSwiSU1QT1JUX1dBVENITElTVFMiOnt9LCJFWFBPUlRfV0FUQ0hMSVNUUyI6e30sIklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjV9LCJGVU5EQU1FTlRBTFNfRk9SRUNBU1QiOnt9LCJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiOnsibGltaXQiOjR9LCJUVl9QUk9TVFVESUVTIjp7InN0dWR5X3BhY2thZ2VzIjpbInR2LWNoYXJ0cGF0dGVybnMiXX0sIkhJU1RPUklDQUxfQkFSUyI6eyJsaW1pdCI6MTB9LCJUVl9WT0xVTUVCWVBSSUNFIjp7InN0dWR5X3BhY2thZ2VzIjpbInR2LXZvbHVtZWJ5cHJpY2UiXX0sIlNUVURZX09OX1NUVURZIjp7ImxpbWl0Ijo4MDAsImNoaWxkX2xpbWl0IjoxfSwiVElDS19CWV9USUNLX1BVU0hfREFUQSI6e30sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0IjoyMDAwLCJsaW1pdCI6MjAsImNvbXBsZXhfbGltaXQiOjIwLCJwcmltaXRpdmVfbGltaXQiOjIwfSwiU0NSRUVORVJfQVVUT19SRUZSRVNIIjp7fSwiU0NSRUVORVJfTkVXX0FVVE9fUkVGUkVTSCI6e30sIlNDUkVFTkVSX05FV19FWFBPUlRfQ1NWX0RBVEEiOnt9LCJTQ1JFRU5FUl9ORVdfU0hPV19SRVNUUklDVEVEX0RBVEEiOnt9LCJTSE9XX0JPTkRTX1JFU1RSSUNURURfREFUQSI6e30sIlBPUlRGT0xJT19EQVRBX0xJTUlUIjp7fSwiQ1JFQVRFX01PUkVfUE9SVEZPTElPUyI6eyJsaW1pdCI6M30sIlBPUlRGT0xJT19UUkFOU0FDVElPTlMiOnsibGltaXQiOjUwMDB9LCJQT1JURk9MSU9fSE9MRElOR1MiOnsibGltaXQiOjUwfSwiU0NSRUVORVJfSU5URVJWQUxTIjp7ImludGVydmFsIjpbIjFtIiwiNW0iLCIxNW0iLCIzMG0iLCIxaCIsIjJoIiwiNGgiLCIxRCIsIjFXIiwiMU0iXX0sIk5PX1NQT05TT1JFRF9BRFMiOnsiZGlzYWJsZV9vbl9saXRlX3BsYW4iOiJleGNsdWRlX21vYmlsZSJ9LCJTVFVEWV9URU1QTEFURVMiOnsibGltaXQiOjk5OTk5fSwiU0lNVUxUQU5FT1VTX0NPTk5FQ1RJT05TIjp7ImxpbWl0IjoxfSwiQkFDS0VORF9DT05ORUNUSU9OUyI6eyJsaW1pdCI6MTB9LCJJRENfQVZBSUxBQkxFX0RFTEFZIjp7fSwiU1RBVFVTIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJCQVJfUkVQTEFZX0lOVFJBREFZIjp7ImxpbWl0IjoxfSwiTVVMVElGTEFHR0VEX1NZTUJPTFNfTElTVFMiOnt9LCJTSE9XUyI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiQUxFUlRTX1dFQkhPT0siOnt9LCJBTEVSVFNfT05fRUFSTklOR1MiOnt9LCJBTEVSVFNfT05fRlVOREFNRU5UQUxfTUVUUklDUyI6e30sIkRFRVBfRlVOREFNRU5UQUxTX0hJU1RPUlkiOnt9LCJQVUJMSVNIX1BST1RFQ1RFRF9TQ1JJUFRTIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJJREVBX1NPQ0lBTF9MSU5LUyI6eyJzb2NpYWxzIjpbIlR3aXR0ZXIiLCJZb3V0dWJlIl19LCJFWFRFTkRFRF9TT0NJQUxfTElOS1MiOnsic29jaWFscyI6WyJGYWNlYm9vayIsIkluc3RhZ3JhbSJdLCJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiTVVMVElfTU9OSVRPUiI6e30sIk1VTFRJQ09MT1JfRkxBR0dFRF9TWU1CT0xTIjp7ImxpbWl0Ijo3fSwiSU5UUkFEQVlfRVhDSEFOR0UiOnt9LCJWT0xVTUVfUFJPRklMRSI6e30sIlNUUkVBTVNfQUNDRVNTIjp7ImZvbGxvd2VycyI6MTB9LCJTTVNfMkZBX1ZFUklGSUNBVElPTiI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiU09DSUFMX0FDVElWSVRZIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJXQVRDSExJU1RfU1lNQk9MUyI6eyJsaW1pdCI6MTAwMH0sIkZJRUxEU19QRVJNSVNTSU9OUyI6eyJpdGVtcyI6WyJyZWZib25kcyJdfSwiQ1VTVE9NX1JBTkdFX0JBUlMiOnt9LCJGQVNURVNUX0RBVEFfRkxPVyI6e30sIlNFU1NJT05fVk9MVU1FX1BST0ZJTEUiOnt9LCJTSE9XX0VURl9IT0xESU5HU19EQVRBIjp7fX0sInByb19yZWFsdGltZSI6eyJleHRlbmRzIjoicHJvIiwiQ0hBUlRfU1RPUkFHRSI6eyJsaW1pdCI6MTB9LCJNVUxUSVBMRV9DSEFSVFMiOnsibGltaXQiOjR9LCJNQVJLRVRfREFUQV9MSU1JVFMiOnsibGltaXQiOjQsInByaW1pdGl2ZV9saW1pdCI6NH0sIklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjEwfSwiRlVOREFNRU5UQUxTX09OX0NIQVJUIjp7ImxpbWl0Ijo3fSwiVFZfUFJPU1RVRElFUyI6eyJzdHVkeV9wYWNrYWdlcyI6WyJ0di1wcm9zdHVkaWVzIiwidHYtY2hhcnRwYXR0ZXJucyJdfSwiU1RVRFlfT05fU1RVRFkiOnsibGltaXQiOjgwMCwiY2hpbGRfbGltaXQiOjl9LCJTRVJWRVJfU0lERV9BTEVSVFMiOnsib3ZlcmFsbF9saW1pdCI6MjAwMCwibGltaXQiOjEwMCwiY29tcGxleF9saW1pdCI6MTAwLCJwcmltaXRpdmVfbGltaXQiOjEwMH0sIkFMRVJUU19NVUxUSUNPTkRJVElPTlMiOnsiY29uZGl0aW9uX2xpbWl0Ijo1fSwiQ0hBVF9BU1NJU1RBTlQiOnsibGltaXQiOjUsImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJDQU5fRURJVF9QVUJMSUNfQ0hBVFMiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkJBQ0tFTkRfQ09OTkVDVElPTlMiOnsibGltaXQiOjIwfSwiRVhQT1JUX0NIQVJUX0RBVEEiOnt9LCJDVVNUT01fRk9STVVMQVMiOnt9LCJJTlRSQURBWV9FWE9USUNfQ0hBUlRTIjp7fSwiS0FHSV9SRU5LTyI6e30sIklOVFJBREFZX1NQUkVBRCI6e30sIkNVU1RPTV9DSEFUUyI6e30sIkNSRUFURV9NT1JFX1BPUlRGT0xJT1MiOnsibGltaXQiOjR9LCJQT1JURk9MSU9fSE9MRElOR1MiOnsibGltaXQiOjc1fX0sInByb19wcmVtaXVtIjp7ImV4dGVuZHMiOiJwcm9fcmVhbHRpbWUiLCJCQVJfREVUQUxJWkFUSU9OIjp7fSwiU0NSSVBUX0VYRUNVVElPTl9PTl9ISVNUT1JZX0JBUlMiOnt9LCJDSEFSVF9TVE9SQUdFIjp7ImxpbWl0Ijo5OTk5OX0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6OH0sIk1BUktFVF9EQVRBX0xJTUlUUyI6eyJsaW1pdCI6NiwicHJpbWl0aXZlX2xpbWl0Ijo2fSwiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6MjV9LCJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiOnsibGltaXQiOjEwfSwiRlVOREFNRU5UQUxfR1JBUEhTX0xBUkdFX1RJTUVfUkFOR0UiOnt9LCJDSEFUX0FTU0lTVEFOVCI6eyJsaW1pdCI6OTk5OTksImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJDSEFSVF9QQVRURVJOUyI6eyJzdHVkeV9wYWNrYWdlcyI6WyJ0di1jaGFydHBhdHRlcm5zIiwidHYtY2hhcnRfcGF0dGVybnMiXX0sIkhJU1RPUklDQUxfQkFSUyI6eyJsaW1pdCI6MjB9LCJTVFVEWV9PTl9TVFVEWSI6eyJsaW1pdCI6ODAwLCJjaGlsZF9saW1pdCI6MjR9LCJTRVJWRVJfU0lERV9BTEVSVFMiOnsib3ZlcmFsbF9saW1pdCI6MjAwMCwibGltaXQiOjQwMCwiY29tcGxleF9saW1pdCI6NDAwLCJwcmltaXRpdmVfbGltaXQiOjQwMCwid2F0Y2hsaXN0X2xpbWl0IjoyLCJvdmVyYWxsX3dhdGNobGlzdF9saW1pdCI6NX0sIlNJTVVMVEFORU9VU19DT05ORUNUSU9OUyI6eyJsaW1pdCI6Mn0sIkJBQ0tFTkRfQ09OTkVDVElPTlMiOnsibGltaXQiOjUwfSwiSURFQV9TSUdOQVRVUkUiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIlBST0ZJTEVfV0VCU0lURV9GSUVMRCI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiQkFSX1JFUExBWV9JTlRSQURBWSI6eyJsaW1pdCI6NH0sIkJBUl9SRVBMQVlfMVMiOnt9LCJBTEVSVFNfTk9fRVhQSVJBVElPTiI6e30sIlBVQkxJU0hfSU5WSVRFX09OTFlfU0NSSVBUUyI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiRVhQT1JUX0NIQVJUX0RBVEEiOnt9LCJERUVQX0hJU1RPUllfQkFDS1RFU1QiOnt9LCJBTEVSVFNfT05fU0VDT05EUyI6e30sIlBFUk1BTkVOVF9TVFJFQU1fUkVDT1JEUyI6e30sIkVYVEVOREVEX1NPQ0lBTF9MSU5LUyI6eyJzb2NpYWxzIjpbIkZhY2Vib29rIiwiSW5zdGFncmFtIiwiV2Vic2l0ZSJdLCJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiU0VDT05EU19JTlRFUlZBTFMiOnt9LCJUUE9fUEVSSU9ESUMiOnsic3R1ZHlfcGFja2FnZXMiOlsidHYtdm9sdW1lYnlwcmljZSJdfSwiVFBPX0NIQVJUX1NUWUxFIjp7fSwiVk9MVU1FX0NBTkRMRVMiOnt9LCJWSURFT19JREVBU19MRU5HVEgiOnsibGltaXQiOjYwfSwiVk9MVU1FX0ZPT1RQUklOVCI6e30sIlBJTkVfU0NSRUVORVIiOnt9LCJDUkVBVEVfTU9SRV9QT1JURk9MSU9TIjp7ImxpbWl0Ijo1fSwiUE9SVEZPTElPX0hPTERJTkdTIjp7ImxpbWl0IjoxMDB9LCJTT0NJQUxfVFJVU1RFRF9VU0VSIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJGT0xMT1dFUlNfT05MWV9NSU5EUyI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfX0sInByb19leHBlcnQiOnsiZXh0ZW5kcyI6InByb19wcmVtaXVtIiwiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6MzB9LCJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiOnsibGltaXQiOjE1fSwiU1RVRFlfT05fU1RVRFkiOnsibGltaXQiOjgwMCwiY2hpbGRfbGltaXQiOjI5fSwiTVVMVElQTEVfQ0hBUlRTIjp7ImxpbWl0IjoxMH0sIk1BUktFVF9EQVRBX0xJTUlUUyI6eyJsaW1pdCI6MTIsInByaW1pdGl2ZV9saW1pdCI6MTJ9LCJISVNUT1JJQ0FMX0JBUlMiOnsibGltaXQiOjI1fSwiU0VSVkVSX1NJREVfQUxFUlRTIjp7Im92ZXJhbGxfbGltaXQiOjIwMDAsImxpbWl0Ijo2MDAsImNvbXBsZXhfbGltaXQiOjYwMCwicHJpbWl0aXZlX2xpbWl0Ijo2MDAsIndhdGNobGlzdF9saW1pdCI6MTAsIm92ZXJhbGxfd2F0Y2hsaXN0X2xpbWl0IjoyMH0sIkJBQ0tFTkRfQ09OTkVDVElPTlMiOnsibGltaXQiOjgwfSwiQkFSX1JFUExBWV9JTlRSQURBWSI6eyJsaW1pdCI6Nn0sIkJBUl9SRVBMQVlfMVMiOnt9LCJCQVJfUkVQTEFZXzFUIjp7fSwiRVhQT1JUX0ZJTkFOQ0lBTFNfREFUQSI6e30sIlRJQ0tfSU5URVJWQUxTIjp7fSwiRklSU1RfUFJJT1JJVFlfU1VQUE9SVCI6e30sIkJVWV9QUk9fREFUQSI6e30sIkNSRUFURV9NT1JFX1BPUlRGT0xJT1MiOnsibGltaXQiOjZ9LCJQT1JURk9MSU9fSE9MRElOR1MiOnsibGltaXQiOjEyNX19LCJwcm9fcHJlbWl1bV9leHBlcnQiOnsiZXh0ZW5kcyI6InByb19leHBlcnQiLCJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0Ijo1MH0sIkZVTkRBTUVOVEFMU19PTl9DSEFSVCI6eyJsaW1pdCI6MjV9LCJTVFVEWV9PTl9TVFVEWSI6eyJsaW1pdCI6ODAwLCJjaGlsZF9saW1pdCI6NDl9LCJNVUxUSVBMRV9DSEFSVFMiOnsibGltaXQiOjE2fSwiTUFSS0VUX0RBVEFfTElNSVRTIjp7ImxpbWl0Ijo5OTk5OSwicHJpbWl0aXZlX2xpbWl0IjoyNX0sIkhJU1RPUklDQUxfQkFSUyI6eyJsaW1pdCI6NDB9LCJTRVJWRVJfU0lERV9BTEVSVFMiOnsib3ZlcmFsbF9saW1pdCI6NDAwMCwibGltaXQiOjEwMDAsImNvbXBsZXhfbGltaXQiOjEwMDAsInByaW1pdGl2ZV9saW1pdCI6MTAwMCwid2F0Y2hsaXN0X2xpbWl0IjoxNSwib3ZlcmFsbF93YXRjaGxpc3RfbGltaXQiOjMwfSwiQkFDS0VORF9DT05ORUNUSU9OUyI6eyJsaW1pdCI6MjAwfSwiQkFSX1JFUExBWV9JTlRSQURBWSI6eyJsaW1pdCI6MTB9LCJDUkVBVEVfTU9SRV9QT1JURk9MSU9TIjp7ImxpbWl0Ijo3fSwiUE9SVEZPTElPX0hPTERJTkdTIjp7ImxpbWl0IjoxNTB9fX0nKQp9LDM4OTk5NChlKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPUpTT04ucGFyc2UoJ1sidXMiLCJhZSIsImFyIiwiYXQiLCJhdSIsImJkIiwiYmUiLCJiZyIsImJoIiwiYnIiLCJjYSIsImNoIiwiY2wiLCJjbiIsImNvIiwiaHIiLCJjeSIsImN6IiwiZGUiLCJkayIsImVlIiwiZWciLCJlcyIsImZpIiwiZnIiLCJnciIsImhrIiwiaHUiLCJpZCIsImllIiwiaWwiLCJpbiIsImlzIiwiaXQiLCJqcCIsImtlIiwia3IiLCJrdyIsImxrIiwibHQiLCJsdiIsImx1IiwibXgiLCJtYSIsIm15IiwibmciLCJubCIsIm5vIiwibnoiLCJwZSIsInBoIiwicGsiLCJwbCIsInB0IiwicWEiLCJycyIsInJ1Iiwicm8iLCJzYSIsInNlIiwic2ciLCJzaSIsInNrIiwidGgiLCJ0biIsInRyIiwidHciLCJnYiIsInZlIiwidm4iLCJ6YSJdJyl9fSxlPT57ZS5PKDAsWzQ2MDI0LDg0MzA2LDQ2OTA3LDk0MjMyLDMyODE2LDE3MDg3LDQzMzI1LDM5MDUsMzU3OTQsMTU5MzIsNTQ2ODEsNTE1MDgsNDk1MTgsMzI2MzIsMTU2MzQsNzUzMDQsNTIwOTUsMzgwMDIsNDQwMzEsNDM3OTIsNzAzNjQsOTQ4OCwzNzg2Nyw2MjY4MSwzMDIwMCwzMTM5NiwzMjM4NywxMzE0OCw0OTI2NSw3NTA0LDk5ODI3LDM2MTY2LDc2NTc3LDY1ODYyLDgwMjA3LDEyMTgxLDYxNDk1LDMwMjg4XSwoKCk9PntyZXR1cm4gdD04MzIzOTIsZShlLnM9dCk7dmFyIHR9KSk7ZS5PKCl9XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/lightweight-chart-price-time-tooltip.8851a2d2e15db921d48a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.832Z","timestamp":1785120634832,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/lightweight-chart-price-time-tooltip.8851a2d2e15db921d48a.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"tvc-invdn-cf-com.investing.com/tool/1.12.10/static/bundles/ds-property-pages.1d6127a623f51513ea4f.js","fqdn":"tvc-invdn-cf-com.investing.com","domain":"investing.com","tld":"com"},"ip":{"addr":"172.64.155.105","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://tvc-invdn-cf-com.investing.com/tool/1.12.10/static/tv-chart.e816a7a6edc9de3ed709.html#localserver=1\u0026symbol=945629\u0026interval=5\u0026studiesAccess=%7B%22type%22%3A%22black%22%2C%22tools%22%3A%5B%7B%22name%22%3A%22Correlation%20Coeff%22%2C%22grayed%22%3Afalse%7D%5D%7D\u0026widgetbar=%7B%22details%22%3Afalse%2C%22watchlist%22%3Afalse%2C%22watchlist_settings%22%3A%7B%22default_symbols%22%3A%5B%5D%7D%7D\u0026drawingsAccess=%7B%22type%22%3A%22black%22%2C%22tools%22%3A%5B%7B%22name%22%3A%22Regression%20Trend%22%2C%22grayed%22%3Afalse%7D%5D%7D\u0026timeFrames=%5B%7B%22text%22%3A%2210y%22%2C%22resolution%22%3A%22M%22%7D%2C%7B%22text%22%3A%223y%22%2C%22resolution%22%3A%22W%22%7D%2C%7B%22text%22%3A%221y%22%2C%22resolution%22%3A%22W%22%7D%2C%7B%22text%22%3A%223m%22%2C%22resolution%22%3A%22D%22%7D%2C%7B%22text%22%3A%221m%22%2C%22resolution%22%3A%22300%22%7D%2C%7B%22text%22%3A%227d%22%2C%22resolution%22%3A%2260%22%7D%2C%7B%22text%22%3A%221d%22%2C%22resolution%22%3A%2215%22%7D%5D\u0026locale=ru\u0026uid=tradingview_52714\u0026clientId=0\u0026userId=0\u0026chartsStorageVer=1.0\u0026customCSS=https%3A%2F%2Ftvc-invdn-cf-com.investing.com%2Ftool%2F1.12.10%2Fcustom.css\u0026debug=false\u0026snapshotUrl=https%3A%2F%2Fssltvc.forexprostools.com%2Fcc6698fccca44e51b088d9ddbbcf8ec8%2F1785120633%2F7%2F7%2F17%2Fsnapshot\u0026timezone=Europe%2FMoscow","date":"2026-07-27T02:50:40.026Z","timestamp":1785120640026,"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":"tvc-invdn-cf-com.investing.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 31 May 2026 06:59:21 GMT","end":"Sat, 29 Aug 2026 07:59:19 GMT"},"fingerprint":{"sha1":"90:A7:5D:5C:7F:22:D6:92:72:4C:85:3E:E7:2D:28:D1:42:20:B1:F8","sha256":"4C:97:98:34:DB:36:63:81:85:8D:5B:E0:91:75:21:94:B9:1D:97:17:07:3D:61:14:3E:02:DB:0F:73:40:E7:84"}}},"request":{"raw":"GET /tool/1.12.10/static/bundles/ds-property-pages.1d6127a623f51513ea4f.js HTTP/1.1\r\nHost: tvc-invdn-cf-com.investing.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://tvc-invdn-cf-com.investing.com/tool/1.12.10/static/tv-chart.e816a7a6edc9de3ed709.html\r\nCookie: __cf_bm=1iJC74U1xxACvNGUfA7OR5nGDy.GbQyA7aiwSHAO.fI-1785120635.376248-1.0.1.1-qYE8fcIzVxVGcwqAiA3GUtbKi7lygjhQMcdelGIHvDWR6vLGKovFe0KdqonQixkQB5yJ8JRHZfmH4WkDNvnz4l3EpXeAstQtoAZuoiMCxCXl7t0YmdLORL_LIvklDeCCEKL2qmAqS8a33SubNyNcVg; cf_clearance=H0jLcMOkYSKsd6EgDJ0rip2WbIj9mff2lx37B9tm8QA-1785120635-1.2.1.1-hiGOf2XtbV0sf9eJm8jfRfwQ0aAiLj_Ou7bq1EzNZyCxITI5MedrU9jS4PU7N9EpdTDhqHYDOAoA17A6VRFzJKlNbP1UH3C41u2YeFZq1sluI02HBGLG6EWWYNTdMDox.5jch9bypIlFRCOH9Di6T67fnffXQm.E7hurx0IrOyM79Xx21K8FQZISCGkmDQ1fmsmWKws1pucfT0zeHt3PYj1q7wvhnjpki2YOLOtu3VrN9Pa7ube7WJvP5yVXUQUt9fUl_NXeXij5B63py96Xhs6BO3ItZn_MRTEvu51C5w8.fEM3JklTBp2x2ZhNGgr6ImXTByp1Xm8KB.9PM76tDxv5NRB16a1kHXVpPDabvhY\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\ndate: Mon, 27 Jul 2026 02:50:40 GMT\r\ncontent-type: application/javascript\r\nx-guploader-uploadid: AAVLpEh0DUzsqV6jNL_epBWXCZXfnbf8jleq-uOg0f6yb00p70qPYY_kdEcfXFVLqFl7t6XX\r\nx-goog-generation: 1707308610166991\r\nx-goog-metageneration: 1\r\nx-goog-stored-content-encoding: identity\r\nx-goog-stored-content-length: 236629\r\nx-goog-hash: crc32c=A084og==, md5=iExFve4haq0skQljtCqsWw==\r\nx-goog-storage-class: STANDARD\r\nserver: cloudflare\r\nvia: 1.1 google\r\nexpires: Mon, 27 Jul 2026 03:50:40 GMT\r\ncache-control: public, max-age=3600\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Wed, 07 Feb 2024 12:23:30 GMT\r\nvary: accept-encoding\r\npriority: u=3,i=?0\r\nage: 426\r\ncf-cache-status: HIT\r\netag: W/\"884c45bdee216aad2c910963b42aac5b\"\r\ncontent-encoding: br\r\ncf-ray: a21856802e3c0daa-OSL\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Google Cloud CDN","description":"Cloud CDN uses Google's global edge network to serve content closer to users.","website":"https://cloud.google.com/cdn","common_platform_enumeration":"","icon":"google-cloud-cdn.svg","categories":["CDN"]},{"name":"Google Cloud","description":"Google Cloud is a suite of cloud computing services.","website":"https://cloud.google.com","common_platform_enumeration":"cpe:2.3:a:google:cloud_platform:*:*:*:*:*:*:*:*","icon":"Google Cloud.svg","categories":["IaaS"]},{"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":"Google Cloud Storage","description":"Google Cloud Storage allows world-wide storage and retrieval of any amount of data at any time.","website":"https://cloud.google.com/storage","common_platform_enumeration":"","icon":"google-cloud-storage.svg","categories":["Miscellaneous"]}],"data":{"size":236629,"size_decoded":36889,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (3070), with CRLF line terminators","md5":"884c45bdee216aad2c910963b42aac5b","sha1":"1389bebd1d48fb392c6d3c88e34febe722ef3d17","sha256":"432b195b2995a2db44e35a7e169e3794639cbe9c1bc4bb014d7a1f89195e1709","sha512":"c5d651e4692f6e7e2898e200e40830c549b4ffcf52f645d754af4eb97fdc38dab32a5e00cb28cd739e4b25e3e825a1f8fabb51f520fb9e3f3b7d537efa81f798","ssdeep":"1536:kHxQ3nN2o/KZcm9CGJ95uPGtAbRcWmKOo9UN8o+xi50GyB4FIQTtrUtYAhOumrya:kHxeinMq+80GjFU0gNol","tlshash":"69349449f0f6586e9359a0cf377879239521317fc41202adb6a98eee316cc84365de3b","first_seen":"2025-06-28T04:54:50.203249Z","last_seen":"2026-07-27T02:59:54.589007Z","times_seen":9,"resource_available":true,"data":"d2VicGFja0pzb25wKFs1XSx7MTQ6ZnVuY3Rpb24oZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUpe2Z1bmN0aW9uIHQodCxvLGkpe2UuY2FsbCh0aGlzLHQsbyxpKSx0aGlzLl9saW5ldG9vbD1pLHRoaXMuX3RlbXBsYXRlTGlzdD1uZXcgcyh0aGlzLl9saW5ldG9vbC5fY29uc3RydWN0b3IsdGhpcy5hcHBseVRlbXBsYXRlLmJpbmQodGhpcykpfXJldHVybiBpbmhlcml0KHQsZSksdC5wcm90b3R5cGUuYXBwbHlUZW1wbGF0ZT1mdW5jdGlvbihlKXt0aGlzLl9saW5ldG9vbC5yZXN0b3JlVGVtcGxhdGUoZSksdGhpcy5fbW9kZWwubW9kZWwoKS51cGRhdGVTb3VyY2UodGhpcy5fbGluZXRvb2wpLHRoaXMubG9hZERhdGEoKX0sdC5wcm90b3R5cGUuY3JlYXRlVGVtcGxhdGVCdXR0b249ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcztyZXR1cm4gZT0kLmV4dGVuZCh7fSxlLHtnZXREYXRhRm9yU2F2ZUFzOmZ1bmN0aW9uKCl7cmV0dXJuIHQuX2xpbmV0b29sLnRlbXBsYXRlKCl9fSksdGhpcy5fdGVtcGxhdGVMaXN0LmNyZWF0ZUJ1dHRvbihlKX0sdH1mdW5jdGlvbiBuKGUsdCxvKXtyLmNhbGwodGhpcyxlLHQpLHRoaXMuX2xpbmV0b29sPW99dmFyIGE9bygxMCkscj1hLlByb3BlcnR5UGFnZSxsPWEuQ29sb3JCaW5kaW5nLHA9byg0NykuYWRkQ29sb3JQaWNrZXIscz1vKDI2OCk7aW5oZXJpdChuLHIpLG4ucHJvdG90eXBlLmNyZWF0ZU9uZUNvbG9yRm9yQWxsTGluZXNXaWRnZXQ9ZnVuY3Rpb24oKXt2YXIgZT0kKCI8dGQgY2xhc3M9J2NvbG9ycGlja2VyLWNlbGwnPiIpO3JldHVybiB0aGlzLmJpbmRDb250cm9sKG5ldyBsKHAoZSksdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmNvbGxlY3RpYmxlQ29sb3JzLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEFsbCBMaW5lcyBDb2xvciIsMCkpLHtsYWJlbDokKCI8dGQ+IiskLnQoIlVzZSBvbmUgY29sb3IiKSsiPC90ZD4iKSxlZGl0b3I6ZX19LG4ucHJvdG90eXBlLmFkZE9uZUNvbG9yUHJvcGVydHlXaWRnZXQ9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5jcmVhdGVPbmVDb2xvckZvckFsbExpbmVzV2lkZ2V0KCksbz0kKCI8dHI+Iik7by5hcHBlbmQoJCgiPHRkPiIpKS5hcHBlbmQodC5sYWJlbCkuYXBwZW5kKHQuZWRpdG9yKSxvLmFwcGVuZFRvKGUpfSxuPWkobiksbi5jcmVhdGVUZW1wbGF0ZXNQcm9wZXJ0eVBhZ2U9aSxlLmV4cG9ydHM9bn0sMTU6ZnVuY3Rpb24oZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKCl7cmV0dXJuICQoJzxkaXYgY2xhc3M9ImxpbmV3aWR0aC1zbGlkZXIiPicpLnNsaWRlcih7bWF4OjQsbWluOjEsc3RlcDoxfSl9T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLG8oMjIpLG8oMjg1KSx0LmNyZWF0ZUxpbmVXaWR0aEVkaXRvcj1pfSwzMTpmdW5jdGlvbihlLHQsbyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoKXtyZXR1cm4gbmV3IG4uQ29tYm9ib3goW3todG1sOic8ZGl2IGNsYXNzPSJsaW5lc3R5bGUgc29saWRsaW5lIi8+Jyx2YWx1ZTphLkxJTkVTVFlMRV9TT0xJRH0se2h0bWw6JzxkaXYgY2xhc3M9ImxpbmVzdHlsZSBkb3R0ZWRsaW5lIi8+Jyx2YWx1ZTphLkxJTkVTVFlMRV9ET1RURUR9LHtodG1sOic8ZGl2IGNsYXNzPSJsaW5lc3R5bGUgZGFzaGVkbGluZSIvPicsdmFsdWU6YS5MSU5FU1RZTEVfREFTSEVEfV0pfXZhciBuLGE7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLG49byg3MzgpLGE9bygxMTUpLHQuY3JlYXRlTGluZVN0eWxlRWRpdG9yPWl9LDY1OmZ1bmN0aW9uKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXt2YXIgdD0kKCc8ZGl2IGNsYXNzPSJ0cmFuc3BhcmVuY3ktc2xpZGVyIj48ZGl2IGNsYXNzPSJncmFkaWVudCI+PC9kaXY+PC9kaXY+Jykuc2xpZGVyKHttYXg6MTAwLG1pbjowLHN0ZXA6MX0pLG89WyItbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAlQ09MT1IgMCUsIHRyYW5zcGFyZW50IDEwMCUpIiwiLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGNvbG9yLXN0b3AoMCUsJUNPTE9SKSwgY29sb3Itc3RvcCgxMDAlLHRyYW5zcGFyZW50KSkiLCItd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAlQ09MT1IgMCUsdHJhbnNwYXJlbnQgMTAwJSkiLCItby1saW5lYXItZ3JhZGllbnQobGVmdCwgJUNPTE9SIDAlLHRyYW5zcGFyZW50IDEwMCUpIiwibGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAlQ09MT1IgMCUsdHJhbnNwYXJlbnQgMTAwJSkiXTtyZXR1cm4gdC51cGRhdGVDb2xvcj1mdW5jdGlvbihlKXt2YXIgaT10LmZpbmQoIi5ncmFkaWVudCIpO28uZm9yRWFjaChmdW5jdGlvbih0KXtpLmNzcygiYmFja2dyb3VuZC1pbWFnZSIsdC5yZXBsYWNlKC8lQ09MT1IvLGUpKX0pfSxlPyh0LnVwZGF0ZUNvbG9yKGUudmFsKCl8fCJibGFjayIpLGUub24oImNoYW5nZSIsZnVuY3Rpb24oZSl7dC51cGRhdGVDb2xvcihlLnRhcmdldC52YWx1ZSl9KSk6dC51cGRhdGVDb2xvcigiYmxhY2siKSx0fU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxvKDIyKSxvKDI4NSksdC5jcmVhdGVUcmFuc3BhcmVuY3lFZGl0b3I9aX0sODE6ZnVuY3Rpb24oZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUsdCxvKXthLmNhbGwodGhpcyxlLHQpLHRoaXMuX2xpbmV0b29sPW8sdGhpcy5wcmVwYXJlTGF5b3V0KCl9dmFyIG49bygxMCksYT1uLlByb3BlcnR5UGFnZSxyPW4uR3JlYXRlVHJhbnNmb3JtZXIsbD1uLkxlc3NUcmFuc2Zvcm1lcixwPW4uVG9JbnRUcmFuc2Zvcm1lcixzPW4uU2ltcGxlU3RyaW5nQmluZGVyO28oMTQyKSxpbmhlcml0KGksYSksaS5CYXJJbmRleFBhc3RMaW1pdD0tNWU0LGkuQmFySW5kZXhGdXR1cmVMaW1pdD0xNWUzLGkucHJvdG90eXBlLmJpbmRCYXJJbmRleD1mdW5jdGlvbihlLHQsbyxuKXt2YXIgYT1bcChlLnZhbHVlKCkpLHIoaS5CYXJJbmRleFBhc3RMaW1pdCksbChpLkJhckluZGV4RnV0dXJlTGltaXQpXTt0aGlzLmJpbmRDb250cm9sKG5ldyBzKHQsZSxhLCExLG8sbikpfSwNCmkucHJvdG90eXBlLmNyZWF0ZVByaWNlRWRpdG9yPWZ1bmN0aW9uKGUpe3ZhciB0LG89dGhpcy5fbGluZXRvb2wub3duZXJTb3VyY2UoKS5mb3JtYXR0ZXIoKSxpPWZ1bmN0aW9uKGUpe3JldHVybiBvLmZvcm1hdChlKX0sbj1mdW5jdGlvbihlKXt2YXIgdD1vLnBhcnNlKGUpO2lmKHQucmVzKXJldHVybiB0LnByaWNlP3QucHJpY2U6dC52YWx1ZX0sYT0kKCI8aW5wdXQgdHlwZT0ndGV4dCc+Iik7cmV0dXJuIGEuVFZUaWNrZXIoe3N0ZXA6by5fbWluTW92ZS9vLl9wcmljZVNjYWxlfHwxLGZvcm1hdHRlcjppLHBhcnNlcjpufSksZSYmKHQ9W2Z1bmN0aW9uKHQpe3ZhciBvPW4odCk7cmV0dXJuIHZvaWQgMD09PW8/ZS52YWx1ZSgpOm99XSx0aGlzLmJpbmRDb250cm9sKG5ldyBzKGEsZSx0LCExLHRoaXMubW9kZWwoKSwiQ2hhbmdlICIrdGhpcy5fbGluZXRvb2wrIiBwb2ludCBwcmljZSIpKS5hZGRGb3JtYXR0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuIG8uZm9ybWF0KGUpfSkpLGF9LGkucHJvdG90eXBlLl9jcmVhdGVQb2ludFJvdz1mdW5jdGlvbihlLHQsbyl7dmFyIGksbixhLHIsbCxwPSQoIjx0cj4iKSxzPSQoIjx0ZD4iKTtyZXR1cm4gcy5odG1sKCQudCgiUHJpY2UiKStvKSxzLmFwcGVuZFRvKHApLGk9JCgiPHRkPiIpLGkuYXBwZW5kVG8ocCksbj10aGlzLmNyZWF0ZVByaWNlRWRpdG9yKHQucHJpY2UpLG4uYXBwZW5kVG8oaSksYT0kKCI8dGQ+IiksYS5odG1sKCQudCgiQmFyICMiKSksYS5hcHBlbmRUbyhwKSxyPSQoIjx0ZD4iKSxyLmFwcGVuZFRvKHApLGw9JCgiPGlucHV0IHR5cGU9J3RleHQnPiIpLGwuYXBwZW5kVG8ociksbC5hZGRDbGFzcygidGlja2VyIiksdGhpcy5iaW5kQmFySW5kZXgodC5iYXIsbCx0aGlzLm1vZGVsKCksIkNoYW5nZSAiK3RoaXMuX2xpbmV0b29sKyIgcG9pbnQgYmFyIGluZGV4IikscH0saS5wcm90b3R5cGUucHJlcGFyZUxheW91dEZvclRhYmxlPWZ1bmN0aW9uKGUpe3ZhciB0LG8saSxuLGEscj10aGlzLl9saW5ldG9vbC5wb2ludHMoKSxsPXIubGVuZ3RoO2Zvcih0PTA7dDxyLmxlbmd0aDt0Kyspbz1yW3RdLChpPXRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5wb2ludHNbdF0pJiYobj10fHxsPjE/IiAiKyh0KzEpOiIiLGE9dGhpcy5fY3JlYXRlUG9pbnRSb3cobyxpLG4pLGEuYXBwZW5kVG8oZSkpfSxpLnByb3RvdHlwZS5wcmVwYXJlTGF5b3V0PWZ1bmN0aW9uKCl7dGhpcy5fdGFibGU9JChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0YWJsZSIpKSx0aGlzLl90YWJsZS5hZGRDbGFzcygicHJvcGVydHktcGFnZSIpLHRoaXMuX3RhYmxlLmF0dHIoImNlbGxzcGFjaW5nIiwiMCIpLHRoaXMuX3RhYmxlLmF0dHIoImNlbGxwYWRkaW5nIiwiMiIpLHRoaXMucHJlcGFyZUxheW91dEZvclRhYmxlKHRoaXMuX3RhYmxlKSx0aGlzLmxvYWREYXRhKCl9LGkucHJvdG90eXBlLndpZGdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl90YWJsZX0sZS5leHBvcnRzPWl9LDEyMTpmdW5jdGlvbihlLHQpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZnVuY3Rpb24oZSl7ZVtlLkNvb3JkaW5hdGVzPTEwMF09IkNvb3JkaW5hdGVzIixlW2UuRGlzcGxheT0xMDBdPSJEaXNwbGF5IixlW2UuU3R5bGU9MjAwXT0iU3R5bGUiLGVbZS5JbnB1dHM9MzAwXT0iSW5wdXRzIixlW2UuUHJvcGVydGllcz0yNTBdPSJQcm9wZXJ0aWVzIn0odC5UYWJQcmlvcml0eXx8KHQuVGFiUHJpb3JpdHk9e30pKSxmdW5jdGlvbihlKXtlLmJhY2tncm91bmQ9IkJhY2tncm91bmQiLGUuY29vcmRpbmF0ZXM9IkNvb3JkaW5hdGVzIixlLmRyYXdpbmdzPSJEcmF3aW5ncyIsZS5ldmVudHM9IkV2ZW50cyIsZS5ldmVudHNBbmRBbGVydHM9IkV2ZW50cyAmIEFsZXJ0cyIsZS5pbnB1dHM9IklucHV0cyIsZS5wcm9wZXJ0aWVzPSJQcm9wZXJ0aWVzIixlLnNjYWxlcz0iU2NhbGVzIixlLnNvdXJjZUNvZGU9IlNvdXJjZSBDb2RlIixlLnN0eWxlPSJTdHlsZSIsZS50aW1lem9uZVNlc3Npb25zPSJUaW1lem9uZS9TZXNzaW9ucyIsZS50cmFkaW5nPSJUcmFkaW5nIixlLnZpc2liaWxpdHk9IlZpc2liaWxpdHkifSh0LlRhYk5hbWVzfHwodC5UYWJOYW1lcz17fSkpLGZ1bmN0aW9uKGUpe2VbZS5EZWZhdWx0PTEwMF09IkRlZmF1bHQiLGVbZS5Vc2VyU2F2ZT0yMDBdPSJVc2VyU2F2ZSIsZVtlLk92ZXJyaWRlPTMwMF09Ik92ZXJyaWRlIn0odC5UYWJPcGVuRnJvbXx8KHQuVGFiT3BlbkZyb209e30pKX0sMjA4OmZ1bmN0aW9uKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlLHQsbyl7ci5jYWxsKHRoaXMsZSx0KSx0aGlzLl9zdHVkeT1vLHRoaXMucHJlcGFyZUxheW91dCgpfWZ1bmN0aW9uIG4oZSx0LG8pe3IuY2FsbCh0aGlzLGUsdCksdGhpcy5fc3R1ZHk9byx0aGlzLl9wcm9wZXJ0eT1lLHRoaXMucHJlcGFyZUxheW91dCgpfXZhciBhPW8oMTApLHI9YS5Qcm9wZXJ0eVBhZ2UsbD1hLkdyZWF0ZVRyYW5zZm9ybWVyLHA9YS5MZXNzVHJhbnNmb3JtZXIscz1hLlRvSW50VHJhbnNmb3JtZXIsZD1hLlRvRmxvYXRUcmFuc2Zvcm1lcixoPWEuU2ltcGxlQ29tYm9CaW5kZXIsYz1hLkJvb2xlYW5CaW5kZXIsYj1hLkRpc2FibGVkQmluZGVyLHU9YS5Db2xvckJpbmRpbmcsQz1hLlNsaWRlckJpbmRlcix5PWEuU2ltcGxlU3RyaW5nQmluZGVyLGc9byg0NykuYWRkQ29sb3JQaWNrZXIsdz1vKDMxKS5jcmVhdGVMaW5lU3R5bGVFZGl0b3IsVD1vKDExMjEpLmNyZWF0ZVNoYXBlTG9jYXRpb25FZGl0b3IsXz1vKDExMjIpLmNyZWF0ZVNoYXBlU3R5bGVFZGl0b3IsbT1vKDE1KS5jcmVhdGVMaW5lV2lkdGhFZGl0b3IsZj1vKDExMjMpLmNyZWF0ZVZpc2liaWxpdHlFZGl0b3IsTD1vKDExMTkpLmNyZWF0ZUhIaXN0RGlyZWN0aW9uRWRpdG9yLHY9byg0NzYpLmNyZWF0ZVBsb3RFZGl0b3Isaz1vKDM4KS5OdW1lcmljRm9ybWF0dGVyLFM9byg0NSksUD1vKDEwNikuUGxvdFR5cGUseD1vKDEzKS5nZXRMb2dnZXIoIkNoYXJ0LlN0dWR5LlByb3BlcnR5UGFnZSIpO2luaGVyaXQoaSxyKSxpLnByb3RvdHlwZS5wcmVwYXJlTGF5b3V0PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlKXsNCnJldHVybihuZXcgaykuZm9ybWF0KGUpfXZhciB0LG8sbixhLHIsbCxwLHMsYixULF8sZixMLHYsUCxCLEUsUixGLEksQSxELFcsTyxWLGoseixNLEgscSxOLEcsVSxZLEssUTtmb3IodGhpcy5fdGFibGU9JCgiPHRhYmxlLz4iKSx0aGlzLl90YWJsZS5hZGRDbGFzcygicHJvcGVydHktcGFnZSIpLHRoaXMuX3RhYmxlLmF0dHIoImNlbGxzcGFjaW5nIiwiMCIpLHRoaXMuX3RhYmxlLmF0dHIoImNlbGxwYWRkaW5nIiwiMiIpLHQ9dGhpcy5fc3R1ZHkubWV0YUluZm8oKSxvPXt9LG49MDtuPHQucGxvdHMubGVuZ3RoOysrbilpZighKHRoaXMuX3N0dWR5LmlzU2VsZkNvbG9yZXJQbG90KG4pfHx0aGlzLl9zdHVkeS5pc1RleHRDb2xvcmVyUGxvdChuKXx8dGhpcy5fc3R1ZHkuaXNEYXRhT2Zmc2V0UGxvdChuKXx8dGhpcy5fc3R1ZHkuaXNPSExDQ29sb3JlclBsb3QobikpKXtpZihsPXQucGxvdHNbbl0sdC5zdHlsZXMpe2lmKHQuc3R5bGVzW2wuaWRdKWE9dC5zdHlsZXNbbC5pZF0uaXNIaWRkZW47ZWxzZSBpZighdGhpcy5fc3R1ZHkuaXNPSExDU2VyaWVzUGxvdChuKSljb250aW51ZTtpZih0aGlzLl9zdHVkeS5pc09ITENTZXJpZXNQbG90KG4pKXtpZihyPXQucGxvdHNbbl0udGFyZ2V0LG9bcl0pY29udGludWU7YT10Lm9obGNQbG90c1tyXS5pc0hpZGRlbixvW3JdPXJ9aWYoYSljb250aW51ZX10aGlzLl9zdHVkeS5pc0xpbmVQbG90KG4pfHx0aGlzLl9zdHVkeS5pc0JhckNvbG9yZXJQbG90KG4pfHx0aGlzLl9zdHVkeS5pc0JnQ29sb3JlclBsb3Qobik/dGhpcy5fcHJlcGFyZUxheW91dEZvclBsb3QobixsKTp0aGlzLl9zdHVkeS5pc1Bsb3RBcnJvd3NQbG90KG4pP3RoaXMuX3ByZXBhcmVMYXlvdXRGb3JBcnJvd3NQbG90KG4sbCk6dGhpcy5fc3R1ZHkuaXNQbG90Q2hhcnNQbG90KG4pP3RoaXMuX3ByZXBhcmVMYXlvdXRGb3JDaGFyc1Bsb3QobixsKTp0aGlzLl9zdHVkeS5pc1Bsb3RTaGFwZXNQbG90KG4pP3RoaXMuX3ByZXBhcmVMYXlvdXRGb3JTaGFwZXNQbG90KG4sbCk6dGhpcy5fc3R1ZHkuaXNPSExDU2VyaWVzUGxvdChuKT8ocD17aWQ6cix0eXBlOiJvaGxjIn0sdGhpcy5fc3R1ZHkuaXNPSExDQmFyc1Bsb3Qobik/dGhpcy5fcHJlcGFyZUxheW91dEZvckJhcnNQbG90KG4scCk6dGhpcy5fc3R1ZHkuaXNPSExDQ2FuZGxlc1Bsb3QobikmJnRoaXMuX3ByZXBhcmVMYXlvdXRGb3JDYW5kbGVzUGxvdChuLHApKTp4LmxvZ0Vycm9yKCJVbmtub3duIHBsb3QgdHlwZTogIitsLnR5cGUpfWlmKChzPXRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5iYW5kcykmJnMuY2hpbGRDb3VudCgpPjApZm9yKG49MDtuPHMuY2hpbGRDb3VudCgpO24rKyliPXNbbl0sYi5pc0hpZGRlbiYmYi5pc0hpZGRlbi52YWx1ZSgpfHwoVD0kKCc8dHIgY2xhc3M9ImxpbmUiLz4nKSxULmFwcGVuZFRvKHRoaXMuX3RhYmxlKSxfPSQoIjx0ZC8+IiksXy5hcHBlbmRUbyhUKSxmPSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgY2xhc3M9J3Zpc2liaWxpdHktc3dpdGNoJy8+IiksZi5hcHBlbmRUbyhfKSxMPSQudChiLm5hbWUudmFsdWUoKSx7Y29udGV4dDoiaW5wdXQifSksdj10aGlzLmNyZWF0ZUxhYmVsZWRDZWxsKEwsZikuYXBwZW5kVG8oVCkuYWRkQ2xhc3MoInByb3BlcnR5cGFnZS1uYW1lLWxhYmVsIiksUD0kKCI8dGQvPiIpLFAuYXBwZW5kVG8oVCksUC5hZGRDbGFzcygiY29sb3JwaWNrZXItY2VsbCIpLEI9ZyhQKSxFPSQoIjx0ZC8+IiksRS5hcHBlbmRUbyhUKSxSPW0oKSxSLmFwcGVuZFRvKEUpLEY9JCgnPHRkIGNvbHNwYW49IjQiPicpLmNzcyh7d2hpdGVTcGFjZToibm93cmFwIn0pLEYuYXBwZW5kVG8oVCksST13KCksSS5yZW5kZXIoKS5hcHBlbmRUbyhGKSxBPSQoIjxpbnB1dCBjbGFzcz0ncHJvcGVydHktcGFnZS1iYW5kd2lkdGgnIHR5cGU9J3RleHQnLz4iKSxBLmFwcGVuZFRvKEYpLEQ9W2QoYi52YWx1ZS52YWx1ZSgpKV0sVz0iQ2hhbmdlIGJhbmQiLE89bmV3IHkoQSxiLnZhbHVlLEQsITEsdGhpcy5tb2RlbCgpLFcpLE8uYWRkRm9ybWF0dGVyKGUpLHRoaXMuYmluZENvbnRyb2woTyksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhmLGIudmlzaWJsZSwhMCx0aGlzLm1vZGVsKCksVykpLHRoaXMuYmluZENvbnRyb2wobmV3IHUoQixiLmNvbG9yLCEwLHRoaXMubW9kZWwoKSxXKSksdGhpcy5iaW5kQ29udHJvbChuZXcgaChJLGIubGluZXN0eWxlLHBhcnNlSW50LCEwLHRoaXMubW9kZWwoKSxXKSksdGhpcy5iaW5kQ29udHJvbChuZXcgQyhSLGIubGluZXdpZHRoLCEwLHRoaXMubW9kZWwoKSxXKSkpO2lmKHRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5iYW5kc0JhY2tncm91bmQmJihiPXRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5iYW5kc0JhY2tncm91bmQsVj0kLnQoIkJhY2tncm91bmQiKSxXPSQudCgiQ2hhbmdlIGJhbmQgYmFja2dyb3VuZCIpLFQ9dGhpcy5fcHJlcGFyZUZpbGxlZEFyZWFCYWNrZ3JvdW5kKGIuZmlsbEJhY2tncm91bmQsYi5iYWNrZ3JvdW5kQ29sb3IsYi50cmFuc3BhcmVuY3ksVixXKSxULmFwcGVuZFRvKHRoaXMuX3RhYmxlKSksdGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmFyZWFCYWNrZ3JvdW5kJiYoYj10aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkuYXJlYUJhY2tncm91bmQsVj0kLnQoIkJhY2tncm91bmQiKSxXPSQudCgiQ2hhbmdlIGFyZWEgYmFja2dyb3VuZCIpLFQ9dGhpcy5fcHJlcGFyZUZpbGxlZEFyZWFCYWNrZ3JvdW5kKGIuZmlsbEJhY2tncm91bmQsYi5iYWNrZ3JvdW5kQ29sb3IsYi50cmFuc3BhcmVuY3ksVixXKSxULmFwcGVuZFRvKHRoaXMuX3RhYmxlKSksdm9pZCAwIT09KGo9dC5maWxsZWRBcmVhcykpZm9yKG49MDtuPGoubGVuZ3RoOysrbil6PWpbbl0sei5pc0hpZGRlbnx8KFc9IkNoYW5nZSAiK1YsYj10aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkuZmlsbGVkQXJlYXNTdHlsZVt6LmlkXSxWPXoudGl0bGV8fCQudCgiQmFja2dyb3VuZCIpLHoucGFsZXR0ZT8oVD0kKCc8dHIgY2xhc3M9ImxpbmUiLz4nKSxfPSQoIjx0ZC8+IiksXy5hcHBlbmRUbyhUKSxmPSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgY2xhc3M9J3Zpc2liaWxpdHktc3dpdGNoJy8+IiksZi5hcHBlbmRUbyhfKSwNCnRoaXMuYmluZENvbnRyb2wobmV3IGMoZixiLnZpc2libGUsITAsdGhpcy5tb2RlbCgpLFcrIiB2aXNpYmlsaXR5IikpLHRoaXMuY3JlYXRlTGFiZWxlZENlbGwoVixmKS5hcHBlbmRUbyhUKS5hZGRDbGFzcygicHJvcGVydHlwYWdlLW5hbWUtbGFiZWwiKSxULmFwcGVuZFRvKHRoaXMuX3RhYmxlKSxNPXRoaXMuX2ZpbmRQbG90UGFsZXR0ZShuLHopLEg9TS5wYWxldHRlLHE9TS5wYWxldHRlUHJvcHMsdGhpcy5fcHJlcGFyZUxheW91dEZvclBhbGV0dGUoMCx6LEgscSxXKSk6KFQ9dGhpcy5fcHJlcGFyZUZpbGxlZEFyZWFCYWNrZ3JvdW5kKGIudmlzaWJsZSxiLmNvbG9yLGIudHJhbnNwYXJlbmN5LFYsVyksVC5hcHBlbmRUbyh0aGlzLl90YWJsZSkpKTtmb3IoTiBpbiB0LmdyYXBoaWNzKXtHPXQuZ3JhcGhpY3NbTl07Zm9yKFUgaW4gRyliPXRoaXMuX3Byb3BlcnR5LmdyYXBoaWNzW05dW1VdLGlbIl9jcmVhdGVSb3dfIitOXS5jYWxsKHRoaXMsdGhpcy5fdGFibGUsYil9WT10aGlzLl90YWJsZS5maW5kKCIudmlzaWJpbGl0eS1zd2l0Y2gucGxvdC12aXNpYmlsaXR5LXN3aXRjaCIpLDE9PT1ZLmxlbmd0aCYmKF89WS5wYXJlbnQoKSxfLmNzcygiZGlzcGxheSIsIm5vbmUiKSx2PXRoaXMuX3RhYmxlLmZpbmQoIi5wcm9wZXJ0eXBhZ2UtcGxvdC13aXRoLXBhbGV0dGUiKSwxPT09di5sZW5ndGg/di5jc3MoImRpc3BsYXkiLCJub25lIik6KHY9dGhpcy5fdGFibGUuZmluZCgiLnByb3BlcnR5cGFnZS1uYW1lLWxhYmVsIiksdi5jc3MoInBhZGRpbmctbGVmdCIsMCksdi5maW5kKCJsYWJlbCIpLmF0dHIoImZvciIsIiIpKSksSz10aGlzLl9wcmVwYXJlU3R1ZHlQcm9wZXJ0aWVzTGF5b3V0KCksdGhpcy5fdGFibGU9dGhpcy5fdGFibGUuYWRkKEspLFMuaXNTY3JpcHRTdHJhdGVneSh0KSYmKFE9dGhpcy5fcHJlcGFyZU9yZGVyc1N3aXRjaGVzKCksdGhpcy5fdGFibGU9dGhpcy5fdGFibGUuYWRkKFEpKSx0aGlzLmxvYWREYXRhKCl9LGkucHJvdG90eXBlLl9wcmVwYXJlT3JkZXJzU3dpdGNoZXM9ZnVuY3Rpb24oKXt2YXIgZSx0LG8saSxuLGEscixsPSQoJzx0YWJsZSBjbGFzcz0icHJvcGVydHktcGFnZSBzdHVkeS1zdHJhdGVneS1wcm9wZXJ0aWVzIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPicpLHA9ImNoYXJ0LW9yZGVycy1zd2l0Y2hfIitEYXRlLm5vdygpLnRvU3RyaW5nKDM2KSxzPSQoIjx0cj4iKS5hcHBlbmRUbyhsKSxkPSQoJzxpbnB1dCBpZD0iJytwKyciIHR5cGU9ImNoZWNrYm94Ij4nKS5hcHBlbmRUbygkKCI8dGQ+IikuYXBwZW5kVG8ocykpO3JldHVybiAkKCc8bGFiZWwgZm9yPSInK3ArJyI+JyskLnQoIlRyYWRlcyBvbiBDaGFydCIpKyI8L2xhYmVsPiIpLmFwcGVuZFRvKCQoIjx0ZD4iKS5hcHBlbmRUbyhzKSksZT0iY2hhcnQtb3JkZXJzLWxhYmVscy1zd2l0Y2hfIitEYXRlLm5vdygpLnRvU3RyaW5nKDM2KSx0PSQoIjx0cj4iKS5hcHBlbmRUbyhsKSxvPSQoJzxpbnB1dCBpZD0iJytlKyciIHR5cGU9ImNoZWNrYm94Ij4nKS5hcHBlbmRUbygkKCI8dGQ+IikuYXBwZW5kVG8odCkpLCQoJzxsYWJlbCBmb3I9IicrZSsnIj4nKyQudCgiU2lnbmFsIExhYmVscyIpKyI8L2xhYmVsPiIpLmFwcGVuZFRvKCQoIjx0ZD4iKS5hcHBlbmRUbyh0KSksaT0iY2hhcnQtb3JkZXJzLXF0eS1zd2l0Y2hfIitEYXRlLm5vdygpLnRvU3RyaW5nKDM2KSxuPSQoIjx0cj4iKS5hcHBlbmRUbyhsKSxhPSQoJzxpbnB1dCBpZD0iJytpKyciIHR5cGU9ImNoZWNrYm94Ij4nKS5hcHBlbmRUbygkKCI8dGQ+IikuYXBwZW5kVG8obikpLCQoJzxsYWJlbCBmb3I9IicraSsnIj4nKyQudCgiUXVhbnRpdHkiKSsiPC9sYWJlbD4iKS5hcHBlbmRUbygkKCI8dGQ+IikuYXBwZW5kVG8obikpLHI9dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLHRoaXMuYmluZENvbnRyb2wobmV3IGMoZCxyLnN0cmF0ZWd5Lm9yZGVycy52aXNpYmxlLCEwLHRoaXMubW9kZWwoKSwiVHJhZGVzIG9uIGNoYXJ0IHZpc2liaWxpdHkiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhvLHIuc3RyYXRlZ3kub3JkZXJzLnNob3dMYWJlbHMsITAsdGhpcy5tb2RlbCgpLCJTaWduYWwgbGFiZWxzIHZpc2liaWxpdHkiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgYihvLHIuc3RyYXRlZ3kub3JkZXJzLnZpc2libGUsITAsdGhpcy5tb2RlbCgpLCJTaWduYWwgbGFiZWxzIHZpc2liaWxpdHkiLCEwKSksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhhLHIuc3RyYXRlZ3kub3JkZXJzLnNob3dRdHksITAsdGhpcy5tb2RlbCgpLCJRdWFudGl0eSB2aXNpYmlsaXR5IikpLHRoaXMuYmluZENvbnRyb2wobmV3IGIoYSxyLnN0cmF0ZWd5Lm9yZGVycy52aXNpYmxlLCEwLHRoaXMubW9kZWwoKSwiUXVhbnRpdHkgdmlzaWJpbGl0eSIsITApKSxsfSxpLnByb3RvdHlwZS5fcHJlcGFyZUxheW91dEZvclBsb3Q9ZnVuY3Rpb24oZSx0KXt2YXIgbyxpLG4sYSxyLGwscCxzLGQsYix5LHcsVD10LmlkLF89dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLnN0eWxlc1tUXSxmPXRoaXMuX2ZpbmRQbG90UGFsZXR0ZShlLHQpLEw9Zi5wYWxldHRlLGs9Zi5wYWxldHRlUHJvcHMsUz0iQ2hhbmdlICIrVDtMPyhvPSQoJzx0ciBjbGFzcz0ibGluZSIvPicpLG8uYXBwZW5kVG8odGhpcy5fdGFibGUpLGk9JCgiPHRkLz4iKSxpLmFwcGVuZFRvKG8pLGkuYWRkQ2xhc3MoInZpc2liaWxpdHktY2VsbCIpLG49JCgiPGlucHV0IHR5cGU9J2NoZWNrYm94JyBjbGFzcz0ndmlzaWJpbGl0eS1zd2l0Y2ggcGxvdC12aXNpYmlsaXR5LXN3aXRjaCcvPiIpLG4uYXBwZW5kVG8oaSksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhuLF8udmlzaWJsZSwhMCx0aGlzLm1vZGVsKCksUykpLGE9JC50KF8udGl0bGUudmFsdWUoKSx7Y29udGV4dDoiaW5wdXQifSksdGhpcy5jcmVhdGVMYWJlbGVkQ2VsbChhLG4pLmFwcGVuZFRvKG8pLmFkZENsYXNzKCJwcm9wZXJ0eXBhZ2UtbmFtZS1sYWJlbCBwcm9wZXJ0eXBhZ2UtcGxvdC13aXRoLXBhbGV0dGUiKSx0aGlzLl9wcmVwYXJlTGF5b3V0Rm9yUGFsZXR0ZShlLHQsTCxrLFMpKToobz0kKCc8dHIgY2xhc3M9ImxpbmUiLz4nKSxvLmFwcGVuZFRvKHRoaXMuX3RhYmxlKSwNCmk9JCgiPHRkLz4iKSxpLmFwcGVuZFRvKG8pLGkuYWRkQ2xhc3MoInZpc2liaWxpdHktY2VsbCIpLG49JCgiPGlucHV0IHR5cGU9J2NoZWNrYm94JyBjbGFzcz0ndmlzaWJpbGl0eS1zd2l0Y2ggcGxvdC12aXNpYmlsaXR5LXN3aXRjaCcvPiIpLG4uYXBwZW5kVG8oaSksYT0kLnQodGhpcy5fc3R1ZHkucHJvcGVydGllcygpLnN0eWxlc1tUXS50aXRsZS52YWx1ZSgpLHtjb250ZXh0OiJpbnB1dCJ9KSx0aGlzLmNyZWF0ZUxhYmVsZWRDZWxsKGEsbikuYXBwZW5kVG8obykuYWRkQ2xhc3MoInByb3BlcnR5cGFnZS1uYW1lLWxhYmVsIikscj0kKCI8dGQvPiIpLHIuYXBwZW5kVG8obyksci5hZGRDbGFzcygiY29sb3JwaWNrZXItY2VsbCIpLGw9ZyhyKSxwPSQoIjx0ZC8+IikscC5hcHBlbmRUbyhvKSxzPW0oKSxzLmFwcGVuZFRvKHApLGQ9JCgiPHRkPiIpLGQuYXBwZW5kVG8obyksYj12KCksYi5hcHBlbmRUbyhkKSx5PSQoIjx0ZD4iKSx5LmFwcGVuZFRvKG8pLHc9JCgiPGlucHV0IHR5cGU9J2NoZWNrYm94Jz4iKSx3LmFwcGVuZFRvKHkpLHRoaXMuY3JlYXRlTGFiZWxlZENlbGwoIlByaWNlIExpbmUiLHcpLmFwcGVuZFRvKG8pLHRoaXMuYmluZENvbnRyb2wobmV3IGMobixfLnZpc2libGUsITAsdGhpcy5tb2RlbCgpLFMpKSx0aGlzLmJpbmRDb250cm9sKG5ldyB1KGwsXy5jb2xvciwhMCx0aGlzLm1vZGVsKCksUyxfLnRyYW5zcGFyZW5jeSkpLHRoaXMuYmluZENvbnRyb2wobmV3IEMocyxfLmxpbmV3aWR0aCwhMCx0aGlzLm1vZGVsKCksUyx0aGlzLl9zdHVkeS5tZXRhSW5mbygpLmlzVFZTY3JpcHQpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBoKGIsXy5wbG90dHlwZSxwYXJzZUludCwhMCx0aGlzLm1vZGVsKCksUykpLHRoaXMuYmluZENvbnRyb2wobmV3IGModyxfLnRyYWNrUHJpY2UsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUHJpY2UgTGluZSIpKSl9LGkucHJvdG90eXBlLl9wcmVwYXJlTGF5b3V0Rm9yQmFyc1Bsb3Q9ZnVuY3Rpb24oZSx0KXt2YXIgbyxpLG4sYSxyLGwscD10LmlkLHM9dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLm9obGNQbG90c1twXSxkPXRoaXMuX2ZpbmRQbG90UGFsZXR0ZShlLHQpLGg9ZC5wYWxldHRlLGI9ZC5wYWxldHRlUHJvcHMsQz0iQ2hhbmdlICIrcCx5PSQoJzx0ciBjbGFzcz0ibGluZSIvPicpO3kuYXBwZW5kVG8odGhpcy5fdGFibGUpLG89JCgiPHRkLz4iKSxvLmFwcGVuZFRvKHkpLG8uYWRkQ2xhc3MoInZpc2liaWxpdHktY2VsbCIpLGk9JCgiPGlucHV0IHR5cGU9J2NoZWNrYm94JyBjbGFzcz0ndmlzaWJpbGl0eS1zd2l0Y2gnLz4iKSxpLmFwcGVuZFRvKG8pLHRoaXMuYmluZENvbnRyb2wobmV3IGMoaSxzLnZpc2libGUsITAsdGhpcy5tb2RlbCgpLEMpKSxuPXMudGl0bGUudmFsdWUoKSx0aGlzLmNyZWF0ZUxhYmVsZWRDZWxsKG4saSkuYXBwZW5kVG8oeSkuYWRkQ2xhc3MoInByb3BlcnR5cGFnZS1uYW1lLWxhYmVsIiksaD8oYT0hMCx0aGlzLl9wcmVwYXJlTGF5b3V0Rm9yUGFsZXR0ZShlLHQsaCxiLEMsYSkpOihyPSQoIjx0ZC8+Iiksci5hcHBlbmRUbyh5KSxyLmFkZENsYXNzKCJjb2xvcnBpY2tlci1jZWxsIiksbD1nKHIpLHRoaXMuYmluZENvbnRyb2wobmV3IHUobCxzLmNvbG9yLCEwLHRoaXMubW9kZWwoKSxDKSkpfSxpLnByb3RvdHlwZS5fcHJlcGFyZUxheW91dEZvckNhbmRsZXNQbG90PWZ1bmN0aW9uKGUsdCl7dmFyIG8saSxuLGEscixsLHAscyxkO3RoaXMuX3ByZXBhcmVMYXlvdXRGb3JCYXJzUGxvdChlLHQpLG89dC5pZCxpPXRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5vaGxjUGxvdHNbb10sbj0iQ2hhbmdlICIrbyxhPSQoJzx0ciBjbGFzcz0ibGluZSIvPicpLGEuYXBwZW5kVG8odGhpcy5fdGFibGUpLHI9JCgiPHRkLz4iKSxyLmFwcGVuZFRvKGEpLHIuYWRkQ2xhc3MoInZpc2liaWxpdHktY2VsbCIpLGw9JCgiPGlucHV0IHR5cGU9J2NoZWNrYm94JyBjbGFzcz0ndmlzaWJpbGl0eS1zd2l0Y2gnLz4iKSxsLmFwcGVuZFRvKHIpLHRoaXMuYmluZENvbnRyb2wobmV3IGMobCxpLmRyYXdXaWNrLCEwLHRoaXMubW9kZWwoKSxuKSkscD0iV2ljayIsdGhpcy5jcmVhdGVMYWJlbGVkQ2VsbChwLGwpLmFwcGVuZFRvKGEpLHM9JCgiPHRkLz4iKSxzLmFwcGVuZFRvKGEpLHMuYWRkQ2xhc3MoImNvbG9ycGlja2VyLWNlbGwiKSxkPWcocyksdGhpcy5iaW5kQ29udHJvbChuZXcgdShkLGkud2lja0NvbG9yLCEwLHRoaXMubW9kZWwoKSxuKSl9LGkucHJvdG90eXBlLl9wcmVwYXJlTGF5b3V0Rm9yU2hhcGVzUGxvdD1mdW5jdGlvbihlLHQpe3ZhciBvLGksbixhLHIsbCxwLHMsZCxiPXQuaWQsQz10aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkuc3R5bGVzW2JdLHk9dGhpcy5fZmluZFBsb3RQYWxldHRlKGUsdCksdz15LnBhbGV0dGUsbT15LnBhbGV0dGVQcm9wcyxmPSJDaGFuZ2UgIitiLEw9JCgnPHRyIGNsYXNzPSJsaW5lIi8+Jyk7TC5hcHBlbmRUbyh0aGlzLl90YWJsZSksbz0kKCI8dGQvPiIpLG8uYXBwZW5kVG8oTCksby5hZGRDbGFzcygidmlzaWJpbGl0eS1jZWxsIiksaT0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnIGNsYXNzPSd2aXNpYmlsaXR5LXN3aXRjaCcvPiIpLGkuYXBwZW5kVG8obyksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhpLEMudmlzaWJsZSwhMCx0aGlzLm1vZGVsKCksZikpLG49JC50KHRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5zdHlsZXNbYl0udGl0bGUudmFsdWUoKSx7Y29udGV4dDoiaW5wdXQifSksdGhpcy5jcmVhdGVMYWJlbGVkQ2VsbChuLGkpLmFwcGVuZFRvKEwpLmFkZENsYXNzKCJwcm9wZXJ0eXBhZ2UtbmFtZS1sYWJlbCIpLGE9JCgiPHRkLz4iKSxhLmFwcGVuZFRvKEwpLHI9XygpLHIuYXBwZW5kVG8oYSksdGhpcy5iaW5kQ29udHJvbChuZXcgaChyLEMucGxvdHR5cGUsbnVsbCwhMCx0aGlzLm1vZGVsKCksZikpLGw9JCgiPHRkLz4iKSxsLmFwcGVuZFRvKEwpLHA9VCgpLHAuYXBwZW5kVG8obCksdGhpcy5iaW5kQ29udHJvbChuZXcgaChwLEMubG9jYXRpb24sbnVsbCwhMCx0aGlzLm1vZGVsKCksZikpLHc/dGhpcy5fcHJlcGFyZUxheW91dEZvclBhbGV0dGUoZSx0LHcsbSxmKTooTD0kKCc8dHIgY2xhc3M9ImxpbmUiLz4nKSwNCkwuYXBwZW5kVG8odGhpcy5fdGFibGUpLCQoIjx0ZC8+IikuYXBwZW5kVG8oTCksJCgiPHRkLz4iKS5hcHBlbmRUbyhMKSxzPSQoIjx0ZC8+Iikscy5hcHBlbmRUbyhMKSxzLmFkZENsYXNzKCJjb2xvcnBpY2tlci1jZWxsIiksZD1nKHMpLHRoaXMuYmluZENvbnRyb2wobmV3IHUoZCxDLmNvbG9yLCEwLHRoaXMubW9kZWwoKSxmLEMudHJhbnNwYXJlbmN5KSkpfSxpLnByb3RvdHlwZS5fcHJlcGFyZUxheW91dEZvckNoYXJzUGxvdD1mdW5jdGlvbihlLHQpe3ZhciBvLGksbixhLHIsbCxwLHMsZCxiPXQuaWQsQz10aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkuc3R5bGVzW2JdLHc9dGhpcy5fZmluZFBsb3RQYWxldHRlKGUsdCksXz13LnBhbGV0dGUsbT13LnBhbGV0dGVQcm9wcyxmPSJDaGFuZ2UgIitiLEw9JCgnPHRyIGNsYXNzPSJsaW5lIi8+Jyk7TC5hcHBlbmRUbyh0aGlzLl90YWJsZSksbz0kKCI8dGQvPiIpLG8uYXBwZW5kVG8oTCksby5hZGRDbGFzcygidmlzaWJpbGl0eS1jZWxsIiksaT0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnIGNsYXNzPSd2aXNpYmlsaXR5LXN3aXRjaCcvPiIpLGkuYXBwZW5kVG8obyksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhpLEMudmlzaWJsZSwhMCx0aGlzLm1vZGVsKCksZikpLG49JC50KHRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5zdHlsZXNbYl0udGl0bGUudmFsdWUoKSx7Y29udGV4dDoiaW5wdXQifSksdGhpcy5jcmVhdGVMYWJlbGVkQ2VsbChuLGkpLmFwcGVuZFRvKEwpLmFkZENsYXNzKCJwcm9wZXJ0eXBhZ2UtbmFtZS1sYWJlbCIpLGE9JCgiPHRkLz4iKSxhLmFwcGVuZFRvKEwpLHI9JCgnPGlucHV0IHR5cGU9InRleHQiLz4nKSxyLmFwcGVuZFRvKGEpLHIua2V5dXAoZnVuY3Rpb24oKXt2YXIgZT0kKHRoaXMpLHQ9ZS52YWwoKTt0JiYoZS52YWwodC5zcGxpdCgiIilbdC5sZW5ndGgtMV0pLGUuY2hhbmdlKCkpfSksdGhpcy5iaW5kQ29udHJvbChuZXcgeShyLEMuY2hhcixudWxsLCExLHRoaXMubW9kZWwoKSxmKSksbD0kKCI8dGQvPiIpLGwuYXBwZW5kVG8oTCkscD1UKCkscC5hcHBlbmRUbyhsKSx0aGlzLmJpbmRDb250cm9sKG5ldyBoKHAsQy5sb2NhdGlvbixudWxsLCEwLHRoaXMubW9kZWwoKSxmKSksXz90aGlzLl9wcmVwYXJlTGF5b3V0Rm9yUGFsZXR0ZShlLHQsXyxtLGYpOihMPSQoJzx0ciBjbGFzcz0ibGluZSIvPicpLEwuYXBwZW5kVG8odGhpcy5fdGFibGUpLCQoIjx0ZC8+IikuYXBwZW5kVG8oTCksJCgiPHRkLz4iKS5hcHBlbmRUbyhMKSxzPSQoIjx0ZC8+Iikscy5hcHBlbmRUbyhMKSxzLmFkZENsYXNzKCJjb2xvcnBpY2tlci1jZWxsIiksZD1nKHMpLHRoaXMuYmluZENvbnRyb2wobmV3IHUoZCxDLmNvbG9yLCEwLHRoaXMubW9kZWwoKSxmLEMudHJhbnNwYXJlbmN5KSkpfSxpLnByb3RvdHlwZS5faXNTdHlsZU5lZWRzQ29ubmVjdFBvaW50cz1mdW5jdGlvbihlKXtyZXR1cm5bUC5Dcm9zcyxQLkNpcmNsZXNdLmluZGV4T2YoZSk+PTB9LGkucHJvdG90eXBlLl9wcmVwYXJlTGF5b3V0Rm9yUGFsZXR0ZT1mdW5jdGlvbihlLHQsbyxpLG4sYSl7dmFyIHIsbCxwLHMsZCxiLHksdyxULF8sZixMLGssUyxQLHg9ZSxCPXQuaWQsRT1udWxsLFI9Qi5zdGFydHNXaXRoKCJmaWxsIik7RT1hP3RoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5vaGxjUGxvdHNbQl06Uj90aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkuZmlsbGVkQXJlYXNTdHlsZVtCXTp0aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkuc3R5bGVzW0JdLHI9MDtmb3IobCBpbiBvLmNvbG9ycylwPWkuY29sb3JzW2xdLHM9JCgnPHRyIGNsYXNzPSJsaW5lIi8+Jykscy5hcHBlbmRUbyh0aGlzLl90YWJsZSksJCgiPHRkLz4iKS5hcHBlbmRUbyhzKSxkPSQoIjx0ZC8+IiksZC5hcHBlbmRUbyhzKSxkLmFkZENsYXNzKCJwcm9wZXJ0eXBhZ2UtbmFtZS1sYWJlbCIpLGQuaHRtbCgkLnQocC5uYW1lLnZhbHVlKCkse2NvbnRleHQ6ImlucHV0In0pKSxiPSQoIjx0ZC8+IiksYi5hcHBlbmRUbyhzKSxiLmFkZENsYXNzKCJjb2xvcnBpY2tlci1jZWxsIikseT1nKGIpLHRoaXMuYmluZENvbnRyb2wobmV3IHUoeSxwLmNvbG9yLCEwLHRoaXMubW9kZWwoKSxuLEUudHJhbnNwYXJlbmN5KSksIVImJnRoaXMuX3N0dWR5LmlzTGluZVBsb3QoeCkmJih3PSQoIjx0ZC8+Iiksdy5hcHBlbmRUbyhzKSxUPW0oKSxULmFwcGVuZFRvKHcpLHRoaXMuYmluZENvbnRyb2wobmV3IEMoVCxwLndpZHRoLCEwLHRoaXMubW9kZWwoKSxuLHRoaXMuX3N0dWR5Lm1ldGFJbmZvKCkuaXNUVlNjcmlwdCkpLF89JCgiPHRkPiIpLF8uYXBwZW5kVG8ocyksMD09PXImJihmPXYoKSxmLmFwcGVuZFRvKF8pLHRoaXMuYmluZENvbnRyb2wobmV3IGgoZixFLnBsb3R0eXBlLHBhcnNlSW50LCEwLHRoaXMubW9kZWwoKSxuKSksTD0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnPiIpLGs9JCgnPHRkIGNvbHNwYW49IjQiPicpLmNzcyh7d2hpdGVTcGFjZToibm93cmFwIn0pLFM9JCgiPHNwYW4+IikuaHRtbCgkLnQoIlByaWNlIExpbmUiKSksUD0kKCI8c3Bhbj4iKSxQLmFwcGVuZChMKSxrLmFwcGVuZChQKS5hcHBlbmQoUykuYXBwZW5kVG8ocyksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhMLEUudHJhY2tQcmljZSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBQcmljZSBMaW5lIikpKSkscisrfSxpLnByb3RvdHlwZS5fcHJlcGFyZUxheW91dEZvckFycm93c1Bsb3Q9ZnVuY3Rpb24oZSx0KXt2YXIgbyxpLG4sYSxyLGwscCxzPXQuaWQsZD10aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkuc3R5bGVzW3NdLGg9IkNoYW5nZSAiK3MsYj0kKCc8dHIgY2xhc3M9ImxpbmUiLz4nKTtiLmFwcGVuZFRvKHRoaXMuX3RhYmxlKSxvPSQoIjx0ZC8+Iiksby5hcHBlbmRUbyhiKSxvLmFkZENsYXNzKCJ2aXNpYmlsaXR5LWNlbGwiKSxpPSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgY2xhc3M9J3Zpc2liaWxpdHktc3dpdGNoJy8+IiksaS5hcHBlbmRUbyhvKSxuPSQudCh0aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkuc3R5bGVzW3NdLnRpdGxlLnZhbHVlKCkse2NvbnRleHQ6ImlucHV0In0pLA0KdGhpcy5jcmVhdGVMYWJlbGVkQ2VsbChuLGkpLmFwcGVuZFRvKGIpLmFkZENsYXNzKCJwcm9wZXJ0eXBhZ2UtbmFtZS1sYWJlbCIpLGE9JCgiPHRkLz4iKSxhLmFwcGVuZFRvKGIpLGEuYWRkQ2xhc3MoImNvbG9ycGlja2VyLWNlbGwiKSxyPWcoYSksbD0kKCI8dGQvPiIpLGwuYXBwZW5kVG8oYiksbC5hZGRDbGFzcygiY29sb3JwaWNrZXItY2VsbCIpLHA9ZyhsKSx0aGlzLmJpbmRDb250cm9sKG5ldyBjKGksZC52aXNpYmxlLCEwLHRoaXMubW9kZWwoKSxoKSksdGhpcy5iaW5kQ29udHJvbChuZXcgdShyLGQuY29sb3J1cCwhMCx0aGlzLm1vZGVsKCksaCxkLnRyYW5zcGFyZW5jeSkpLHRoaXMuYmluZENvbnRyb2wobmV3IHUocCxkLmNvbG9yZG93biwhMCx0aGlzLm1vZGVsKCksaCxkLnRyYW5zcGFyZW5jeSkpfSxpLnByb3RvdHlwZS5fZmluZFBsb3RQYWxldHRlPWZ1bmN0aW9uKGUsdCl7dmFyIG8saT1lLG49dC5pZCxhPW51bGwscj1udWxsLGw9dGhpcy5fc3R1ZHkubWV0YUluZm8oKS5wbG90cztpZih0aGlzLl9zdHVkeS5pc0JhckNvbG9yZXJQbG90KGkpfHx0aGlzLl9zdHVkeS5pc0JnQ29sb3JlclBsb3QoaSkpYT10aGlzLl9zdHVkeS5tZXRhSW5mbygpLnBhbGV0dGVzW3QucGFsZXR0ZV0scj10aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkucGFsZXR0ZXNbdC5wYWxldHRlXTtlbHNlIGZvcihvPTA7bzxsLmxlbmd0aDtvKyspaWYobFtvXS50YXJnZXQ9PT1uJiYodGhpcy5fc3R1ZHkuaXNTZWxmQ29sb3JlclBsb3Qobyl8fHRoaXMuX3N0dWR5LmlzT0hMQ0NvbG9yZXJQbG90KG8pKSl7YT10aGlzLl9zdHVkeS5tZXRhSW5mbygpLnBhbGV0dGVzW2xbb10ucGFsZXR0ZV0scj10aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkucGFsZXR0ZXNbbFtvXS5wYWxldHRlXTticmVha31yZXR1cm57cGFsZXR0ZTphLHBhbGV0dGVQcm9wczpyfX0saS5wcm90b3R5cGUuX3ByZXBhcmVTdHVkeVByb3BlcnRpZXNMYXlvdXQ9ZnVuY3Rpb24oKXt2YXIgZSx0LG89JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIHN0dWR5LXByb3BlcnRpZXMiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+Jyk7cmV0dXJuIHRoaXMuX3N0dWR5Lm1ldGFJbmZvKCkuaXNfcHJpY2Vfc3R1ZHl8fChlPXRoaXMuY3JlYXRlUHJlY2lzaW9uRWRpdG9yKCksdD0kKCI8dHI+IiksdC5hcHBlbmRUbyhvKSwkKCI8dGQ+IiskLnQoIlByZWNpc2lvbiIpKyI8L3RkPiIpLmFwcGVuZFRvKHQpLCQoIjx0ZD4iKS5hcHBlbmQoZSkuYXBwZW5kVG8odCksdGhpcy5iaW5kQ29udHJvbChuZXcgaChlLHRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5wcmVjaXNpb24sbnVsbCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBQcmVjaXNpb24iKSkpLCJDb21wYXJlQHR2LWJhc2ljc3R1ZGllcyI9PT10aGlzLl9zdHVkeS5tZXRhSW5mbygpLmlkJiYoZT10aGlzLmNyZWF0ZVNlcmllc01pblRpY2tFZGl0b3IoKSx0PSQoIjx0cj4iKSx0LmFwcGVuZFRvKG8pLCQoIjx0ZD4iKyQudCgiT3ZlcnJpZGUgTWluIFRpY2siKSsiPC90ZD4iKS5hcHBlbmRUbyh0KSwkKCI8dGQ+IikuYXBwZW5kKGUpLmFwcGVuZFRvKHQpLHRoaXMuYmluZENvbnRyb2wobmV3IGgoZSx0aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkubWluVGljayxudWxsLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIE1pblRpY2siKSkpLHRoaXMuX3B1dFN0dWR5RGVmYXVsdFN0eWxlcyhvKSxvfSxpLnByb3RvdHlwZS5fcHV0U3R1ZHlEZWZhdWx0U3R5bGVzPWZ1bmN0aW9uKGUsdCl7dmFyIG8saSxuLGEscixsLHA9bnVsbCxzPXRoaXMuX3N0dWR5O3JldHVybighcy5wcm9wZXJ0aWVzKCkubGlua2VkVG9TZXJpZXN8fCFzLnByb3BlcnRpZXMoKS5saW5rZWRUb1Nlcmllcy52YWx1ZSgpKSYmKCQuZWFjaCh0aGlzLl9tb2RlbC5tX21vZGVsLnBhbmVzKCksZnVuY3Rpb24oZSx0KXskLmVhY2godC5kYXRhU291cmNlcygpLGZ1bmN0aW9uKGUsbyl7aWYobz09PXMpcmV0dXJuIHA9dCwhMX0pfSksdGhpcy5fcGFuZT1wLHRoaXMuX3BhbmUmJigtMSE9PXRoaXMuX3BhbmUubGVmdFByaWNlU2NhbGUoKS5kYXRhU291cmNlcygpLmluZGV4T2YodGhpcy5fc3R1ZHkpP289ImxlZnQiOi0xIT09dGhpcy5fcGFuZS5yaWdodFByaWNlU2NhbGUoKS5kYXRhU291cmNlcygpLmluZGV4T2YodGhpcy5fc3R1ZHkpP289InJpZ2h0Ijp0aGlzLl9wYW5lLmlzT3ZlcmxheSh0aGlzLl9zdHVkeSkmJihvPSJub25lIikpLG8mJihpPXRoaXMsbj17bGVmdDokLnQoIlNjYWxlIExlZnQiKSxyaWdodDokLnQoIlNjYWxlIFJpZ2h0Iil9LGkuX3BhbmUuYWN0aW9uTm9TY2FsZUlzRW5hYmxlZChzKSYmKG4ubm9uZT0kLnQoIlNjcmVlbiAoTm8gU2NhbGUpIikpLGE9dGhpcy5jcmVhdGVLZXlDb21ibyhuKS52YWwobykuY2hhbmdlKGZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMudmFsdWUpe2Nhc2UibGVmdCI6aS5fbW9kZWwubW92ZShpLl9zdHVkeSxpLl9wYW5lLGkuX3BhbmUubGVmdFByaWNlU2NhbGUoKSk7YnJlYWs7Y2FzZSJyaWdodCI6aS5fbW9kZWwubW92ZShpLl9zdHVkeSxpLl9wYW5lLGkuX3BhbmUucmlnaHRQcmljZVNjYWxlKCkpO2JyZWFrO2Nhc2Uibm9uZSI6aS5fbW9kZWwubW92ZShpLl9zdHVkeSxpLl9wYW5lLG51bGwpfX0pLHI9dGhpcy5hZGRSb3coZSksJCgiPHRkPiIrJC50KCJTY2FsZSIpKyI8L3RkPiIpLmFwcGVuZFRvKHIpLGw9JCgiPHRkPiIpLmFwcGVuZFRvKHIpLmFwcGVuZChhKSx0JiZ0PjImJmwuYXR0cigiY29sc3BhbiIsdC0xKSksZSl9LGkucHJvdG90eXBlLndpZGdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl90YWJsZX0saS5wcm90b3R5cGUuX3ByZXBhcmVGaWxsZWRBcmVhQmFja2dyb3VuZD1mdW5jdGlvbihlLHQsbyxpLG4pe3ZhciBhLHIsbCxwPSQoJzx0ciBjbGFzcz0ibGluZSIvPicpLHM9JCgiPHRkLz4iKTtyZXR1cm4gcy5hcHBlbmRUbyhwKSxhPSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgY2xhc3M9J3Zpc2liaWxpdHktc3dpdGNoJy8+IiksYS5hcHBlbmRUbyhzKSx0aGlzLmNyZWF0ZUxhYmVsZWRDZWxsKGksYSkuYXBwZW5kVG8ocCkuYWRkQ2xhc3MoInByb3BlcnR5cGFnZS1uYW1lLWxhYmVsIiksDQpyPSQoIjx0ZC8+Iiksci5hcHBlbmRUbyhwKSxyLmFkZENsYXNzKCJjb2xvcnBpY2tlci1jZWxsIiksbD1nKHIpLHRoaXMuYmluZENvbnRyb2wobmV3IGMoYSxlLCEwLHRoaXMubW9kZWwoKSxuKyIgdmlzaWJpbGl0eSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyB1KGwsdCwhMCx0aGlzLm1vZGVsKCksbisiIGNvbG9yIixvKSkscH0saW5oZXJpdChuLHIpLG4ucHJvdG90eXBlLnByZXBhcmVMYXlvdXQ9ZnVuY3Rpb24oKXtpZih0aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkubGlua2VkVG9TZXJpZXMmJnRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5saW5rZWRUb1Nlcmllcy52YWx1ZSgpKXJldHVybiB2b2lkKHRoaXMuX3RhYmxlPSQoKSk7dGhpcy5fdGFibGU9JCgpfSxuLnByb3RvdHlwZS53aWRnZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdGFibGV9LGkuX2NyZWF0ZVJvd19ob3JpemxpbmVzPWZ1bmN0aW9uKGUsdCl7dmFyIG89dGhpcy5hZGRSb3coZSksaT10Lm5hbWUudmFsdWUoKSxuPSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgY2xhc3M9J3Zpc2liaWxpdHktc3dpdGNoJy8+IiksYT10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCkscj1tKCksbD13KCk7JCgiPHRkPiIpLmFwcGVuZChuKS5hcHBlbmRUbyhvKSx0aGlzLmNyZWF0ZUxhYmVsZWRDZWxsKGksbikuYXBwZW5kVG8obyksJCgiPHRkPiIpLmFwcGVuZChhKS5hcHBlbmRUbyhvKSwkKCI8dGQ+IikuYXBwZW5kKHIpLmFwcGVuZFRvKG8pLCQoIjx0ZD4iKS5hcHBlbmQobC5yZW5kZXIoKSkuYXBwZW5kVG8obyksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhuLHQudmlzaWJsZSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSAiK2krIiB2aXNpYmlsaXR5IikpLHRoaXMuYmluZENvbnRyb2wobmV3IHUoYSx0LmNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlICIraSsiIGNvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGgobCx0LnN0eWxlLHBhcnNlSW50LCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlICIraSsiIHN0eWxlIikpLHRoaXMuYmluZENvbnRyb2wobmV3IEMocix0LndpZHRoLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlICIraSsiIHdpZHRoIikpfSxpLl9jcmVhdGVSb3dfdmVydGxpbmVzPWZ1bmN0aW9uKGUsdCl7dmFyIG89dGhpcy5hZGRSb3coZSksaT10Lm5hbWUudmFsdWUoKSxuPSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgY2xhc3M9J3Zpc2liaWxpdHktc3dpdGNoJy8+IiksYT10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCkscj1tKCksbD13KCk7JCgiPHRkPiIpLmFwcGVuZChuKS5hcHBlbmRUbyhvKSx0aGlzLmNyZWF0ZUxhYmVsZWRDZWxsKGksbikuYXBwZW5kVG8obyksJCgiPHRkPiIpLmFwcGVuZChhKS5hcHBlbmRUbyhvKSwkKCI8dGQ+IikuYXBwZW5kKHIpLmFwcGVuZFRvKG8pLCQoIjx0ZD4iKS5hcHBlbmQobC5yZW5kZXIoKSkuYXBwZW5kVG8obyksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhuLHQudmlzaWJsZSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSAiK2krIiB2aXNpYmlsaXR5IikpLHRoaXMuYmluZENvbnRyb2wobmV3IHUoYSx0LmNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlICIraSsiIGNvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGgobCx0LnN0eWxlLHBhcnNlSW50LCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlICIraSsiIHN0eWxlIikpLHRoaXMuYmluZENvbnRyb2wobmV3IEMocix0LndpZHRoLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlICIraSsiIHdpZHRoIikpfSxpLl9jcmVhdGVSb3dfbGluZXM9ZnVuY3Rpb24oZSx0KXt2YXIgbz10aGlzLmFkZFJvdyhlKSxpPXQudGl0bGUudmFsdWUoKSxuPSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgY2xhc3M9J3Zpc2liaWxpdHktc3dpdGNoJy8+IiksYT10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCkscj1tKCksbD13KCk7JCgiPHRkPiIpLmFwcGVuZChuKS5hcHBlbmRUbyhvKSx0aGlzLmNyZWF0ZUxhYmVsZWRDZWxsKGksbikuYXBwZW5kVG8obyksJCgiPHRkPiIpLmFwcGVuZChhKS5hcHBlbmRUbyhvKSwkKCI8dGQ+IikuYXBwZW5kKHIpLmFwcGVuZFRvKG8pLCQoIjx0ZD4iKS5hcHBlbmQobC5yZW5kZXIoKSkuYXBwZW5kVG8obyksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhuLHQudmlzaWJsZSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSAiK2krIiB2aXNpYmlsaXR5IikpLHRoaXMuYmluZENvbnRyb2wobmV3IHUoYSx0LmNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlICIraSsiIGNvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGgobCx0LnN0eWxlLHBhcnNlSW50LCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlICIraSsiIHN0eWxlIikpLHRoaXMuYmluZENvbnRyb2wobmV3IEMocix0LndpZHRoLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlICIraSsiIHdpZHRoIikpfSxpLl9jcmVhdGVSb3dfaGxpbmVzPWZ1bmN0aW9uKGUsdCl7dmFyIG8saSxuLGE9dGhpcy5hZGRSb3coZSkscj10Lm5hbWUudmFsdWUoKSxsPSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgY2xhc3M9J3Zpc2liaWxpdHktc3dpdGNoJy8+IikscD10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCkscz1tKCksZD13KCksYj0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnPiIpOyQoIjx0ZD4iKS5hcHBlbmQobCkuYXBwZW5kVG8oYSksdGhpcy5jcmVhdGVMYWJlbGVkQ2VsbChyLGwpLmFwcGVuZFRvKGEpLCQoIjx0ZD4iKS5hcHBlbmQocCkuYXBwZW5kVG8oYSksJCgiPHRkPiIpLmFwcGVuZChzKS5hcHBlbmRUbyhhKSwkKCI8dGQ+IikuYXBwZW5kKGQucmVuZGVyKCkpLmFwcGVuZFRvKGEpLCQoIjx0ZD4iKS5hcHBlbmRUbyhhKSwkKCI8dGQ+IikuYXBwZW5kKGIpLmFwcGVuZFRvKGEpLHRoaXMuY3JlYXRlTGFiZWxlZENlbGwoIlNob3cgUHJpY2UiLGIpLmFwcGVuZFRvKGEpLHRoaXMuYmluZENvbnRyb2wobmV3IGMobCx0LnZpc2libGUsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgIityKyIgdmlzaWJpbGl0eSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyB1KHAsdC5jb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSAiK3IrIiBjb2xvciIpKSwNCnRoaXMuYmluZENvbnRyb2wobmV3IGgoZCx0LnN0eWxlLHBhcnNlSW50LCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlICIrcisiIHN0eWxlIikpLHRoaXMuYmluZENvbnRyb2wobmV3IEMocyx0LndpZHRoLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlICIrcisiIHdpZHRoIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGMoYix0LnNob3dQcmljZSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSAiK3IrIiBzaG93IHByaWNlIikpLHQuZW5hYmxlVGV4dC52YWx1ZSgpJiYoYT10aGlzLmFkZFJvdyhlKSwkKCc8dGQgY29sc3Bhbj0iMiI+JykuYXBwZW5kVG8oYSksbz0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnPiIpLCQoJzx0ZCBjbGFzcz0idGV4dC1jZW50ZXIiPicpLmFwcGVuZChvKS5hcHBlbmRUbyhhKSx0aGlzLmNyZWF0ZUxhYmVsZWRDZWxsKCJTaG93IFRleHQiLG8pLmFwcGVuZFRvKGEpLHRoaXMuYmluZENvbnRyb2wobmV3IGMobyx0LnNob3dUZXh0LCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlICIrcisiIHNob3cgdGV4dCIpKSxpPVRyYWRpbmdWaWV3LmNyZWF0ZVRleHRQb3NFZGl0b3IoKSwkKCI8dGQ+IikuYXBwZW5kKGkucmVuZGVyKCkpLmFwcGVuZFRvKGEpLHRoaXMuYmluZENvbnRyb2wobmV3IGgoaSx0LnRleHRQb3MscGFyc2VJbnQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgIityKyIgdGV4dCBwb3NpdGlvbiIpKSxuPXRoaXMuY3JlYXRlRm9udFNpemVFZGl0b3IoKSwkKCc8dGQgY29sc3Bhbj0iMiI+JykuYXBwZW5kKG4pLmFwcGVuZFRvKGEpLHRoaXMuYmluZENvbnRyb2wobmV3IGgobix0LmZvbnRTaXplLHBhcnNlSW50LCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlICIrcisiIGZvbnQgc2l6ZSIpKSl9LGkuX2NyZWF0ZVJvd19oaGlzdHM9ZnVuY3Rpb24oZSx0KXt2YXIgbyxpLG4sYSxyLGQsYj10LnRpdGxlLnZhbHVlKCksQz1bXSxnPVtdLHc9dGhpcy5hZGRSb3coZSksVD1mKCk7JCgiPHRkPiIpLmFwcGVuZChUKS5hcHBlbmRUbyh3KSx0aGlzLmNyZWF0ZUxhYmVsZWRDZWxsKGIsVCkuYXBwZW5kVG8odyksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhULHQudmlzaWJsZSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSAiK2IrIiBWaXNpYmlsaXR5IikpLHc9dGhpcy5hZGRSb3coZSksbz0kKCI8aW5wdXQvPiIpLG8uYXR0cigidHlwZSIsInRleHQiKSxvLmFkZENsYXNzKCJ0aWNrZXIiKSx0aGlzLmNyZWF0ZUxhYmVsZWRDZWxsKCQudCgiV2lkdGggKCUgb2YgdGhlIEJveCkiKSxvKS5hcHBlbmRUbyh3KSwkKCI8dGQ+IikuYXBwZW5kKG8pLmFwcGVuZFRvKHcpLGk9W3MoNDApXSxpLnB1c2gobCgwKSksaS5wdXNoKHAoMTAwKSksdGhpcy5iaW5kQ29udHJvbChuZXcgeShvLHQucGVyY2VudFdpZHRoLGksITEsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUGVyY2VudCBXaWR0aCIpKSx3PXRoaXMuYWRkTGFiZWxlZFJvdyhlLCJQbGFjZW1lbnQiKSxuPUwoKSwkKCI8dGQ+IikuYXBwZW5kKG4pLmFwcGVuZFRvKHcpLHRoaXMuYmluZENvbnRyb2wobmV3IGgobix0LmRpcmVjdGlvbixudWxsLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlICIrYisiIFBsYWNlbWVudCIpKSx3PXRoaXMuYWRkUm93KGUpLGE9JCgiPGlucHV0IHR5cGU9J2NoZWNrYm94Jz4iKSwkKCI8dGQ+IikuYXBwZW5kKGEpLmFwcGVuZFRvKHcpLHRoaXMuY3JlYXRlTGFiZWxlZENlbGwoJC50KCJTaG93IFZhbHVlcyIpLGEpLmFwcGVuZFRvKHcpLHRoaXMuYmluZENvbnRyb2wobmV3IGMoYSx0LnNob3dWYWx1ZXMsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgIitiKyIgU2hvdyBWYWx1ZXMiKSksdz10aGlzLmFkZFJvdyhlKSxyPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSx0aGlzLmNyZWF0ZUxhYmVsZWRDZWxsKCQudCgiVGV4dCBDb2xvciIpLHIpLmFwcGVuZFRvKHcpLCQoIjx0ZD4iKS5hcHBlbmQocikuYXBwZW5kVG8odyksdGhpcy5iaW5kQ29udHJvbChuZXcgdShyLHQudmFsdWVzQ29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgIitiKyIgVGV4dCBDb2xvciIpKTtmb3IoZCBpbiB0LmNvbG9ycylpc051bWJlcihwYXJzZUludChkLDEwKSkmJih3PXRoaXMuYWRkUm93KGUpLENbZF09dC50aXRsZXNbZF0udmFsdWUoKSxnW2RdPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSwkKCI8dGQ+IikuYXBwZW5kKENbZF0pLmFwcGVuZFRvKHcpLCQoIjx0ZD4iKS5hcHBlbmQoZ1tkXSkuYXBwZW5kVG8odyksdGhpcy5iaW5kQ29udHJvbChuZXcgdShnW2RdLHQuY29sb3JzW2RdLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlICIrQ1tkXSsiIGNvbG9yIikpKX0saS5fY3JlYXRlUm93X2JhY2tncm91bmRzPWZ1bmN0aW9uKGUsdCl7dmFyIG89dGhpcy5hZGRSb3coZSksaT0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnIGNsYXNzPSd2aXNpYmlsaXR5LXN3aXRjaCcvPiIpLG49dC5uYW1lLnZhbHVlKCksYT10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCk7JCgiPHRkPiIpLmFwcGVuZChpKS5hcHBlbmRUbyhvKSx0aGlzLmNyZWF0ZUxhYmVsZWRDZWxsKG4saSkuYXBwZW5kVG8obyksJCgiPHRkPiIpLmFwcGVuZChhKS5hcHBlbmRUbyhvKSx0aGlzLmJpbmRDb250cm9sKG5ldyBjKGksdC52aXNpYmxlLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlICIrbisiIHZpc2liaWxpdHkiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgdShhLHQuY29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgIituKyIgY29sb3IiLHQudHJhbnNwYXJlbmN5KSl9LGkuX2NyZWF0ZVJvd19wb2x5Z29ucz1mdW5jdGlvbihlLHQpe3ZhciBvPXRoaXMuYWRkUm93KGUpLGk9dC5uYW1lLnZhbHVlKCksbj10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCk7JCgiPHRkPiIpLmFwcGVuZChpKS5hcHBlbmRUbyhvKSwkKCI8dGQ+IikuYXBwZW5kKG4pLmFwcGVuZFRvKG8pLHRoaXMuYmluZENvbnRyb2wobmV3IHUobix0LmNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlICIraSsiIGNvbG9yIikpfSxpLl9jcmVhdGVSb3dfdHJlbmRjaGFubmVscz1mdW5jdGlvbihlLHQpe3ZhciBvPXRoaXMuYWRkUm93KGUpLGk9dC5uYW1lLnZhbHVlKCksbj10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCkNCjskKCI8dGQ+IikuYXBwZW5kKGkpLmFwcGVuZFRvKG8pLCQoIjx0ZD4iKS5hcHBlbmQobikuYXBwZW5kVG8obyksdGhpcy5iaW5kQ29udHJvbChuZXcgdShuLHQuY29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgIitpKyIgY29sb3IiLHQudHJhbnNwYXJlbmN5KSl9LGkuX2NyZWF0ZVJvd190ZXh0bWFya3M9ZnVuY3Rpb24oZSx0KXt2YXIgbz10aGlzLmFkZExhYmVsZWRSb3coZSksaT10Lm5hbWUudmFsdWUoKSxuPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxhPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxyPXRoaXMuY3JlYXRlRm9udEVkaXRvcigpLGw9dGhpcy5jcmVhdGVGb250U2l6ZUVkaXRvcigpLHA9JCgnPHNwYW4gY2xhc3M9Il90di1idXR0b24gX3R2LWJ1dHRvbi1mb250c3R5bGUiPjxzcGFuIGNsYXNzPSJpY29uLWZvbnRzdHlsZS1ib2xkIj48L3NwYW4+PC9zcGFuPicpLHM9JCgnPHNwYW4gY2xhc3M9Il90di1idXR0b24gX3R2LWJ1dHRvbi1mb250c3R5bGUiPjxzcGFuIGNsYXNzPSJpY29uLWZvbnRzdHlsZS1pdGFsaWMiPjwvc3Bhbj48L3NwYW4+Jyk7JCgiPHRkPiIpLmFwcGVuZChpKS5hcHBlbmRUbyhvKSwicmVjdGFuZ2xlIiE9PXQuc2hhcGUudmFsdWUoKSYmJCgiPHRkPiIpLmFwcGVuZChuKS5hcHBlbmRUbyhvKSwkKCI8dGQ+IikuYXBwZW5kKGEpLmFwcGVuZFRvKG8pLCQoIjx0ZD4iKS5hcHBlbmQocikuYXBwZW5kVG8obyksJCgiPHRkPiIpLmFwcGVuZChsKS5hcHBlbmRUbyhvKSwkKCI8dGQ+IikuYXBwZW5kKHApLmFwcGVuZFRvKG8pLCQoIjx0ZD4iKS5hcHBlbmQocykuYXBwZW5kVG8obyksdGhpcy5iaW5kQ29udHJvbChuZXcgdShuLHQuY29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgIitpKyIgY29sb3IiLHQudHJhbnNwYXJlbmN5KSksdGhpcy5iaW5kQ29udHJvbChuZXcgdShhLHQuZm9udENvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlICIraSsiIHRleHQgY29sb3IiLHQudHJhbnNwYXJlbmN5KSksdGhpcy5iaW5kQ29udHJvbChuZXcgaChsLHQuZm9udFNpemUscGFyc2VJbnQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgIitpKyIgZm9udCBzaXplIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGgocix0LmZvbnRGYW1pbHksbnVsbCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSAiK2krIiBmb250IikpLHRoaXMuYmluZENvbnRyb2wobmV3IGMocCx0LmZvbnRCb2xkLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRleHQgRm9udCBCb2xkIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGMocyx0LmZvbnRJdGFsaWMsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVGV4dCBGb250IEl0YWxpYyIpKX0saS5fY3JlYXRlUm93X3NoYXBlbWFya3M9ZnVuY3Rpb24oZSx0KXt2YXIgbz10aGlzLmFkZFJvdyhlKSxpPSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgY2xhc3M9J3Zpc2liaWxpdHktc3dpdGNoJy8+Iiksbj10Lm5hbWUudmFsdWUoKSxhPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxyPSQoIjxpbnB1dC8+Iik7ci5hdHRyKCJ0eXBlIiwidGV4dCIpLHIuYWRkQ2xhc3MoInRpY2tlciIpLCQoIjx0ZD4iKS5hcHBlbmQoaSkuYXBwZW5kVG8obyksdGhpcy5jcmVhdGVMYWJlbGVkQ2VsbChuLGkpLmFwcGVuZFRvKG8pLCQoIjx0ZD4iKS5hcHBlbmQoYSkuYXBwZW5kVG8obyksdGhpcy5jcmVhdGVMYWJlbGVkQ2VsbCgiU2l6ZSIscikuYXBwZW5kVG8obyksJCgiPHRkPiIpLmFwcGVuZChyKS5hcHBlbmRUbyhvKSx0aGlzLmJpbmRDb250cm9sKG5ldyBjKGksdC52aXNpYmxlLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlICIrbisiIHZpc2liaWxpdHkiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgdShhLHQuY29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgIituKyIgYmFjayBjb2xvciIsdC50cmFuc3BhcmVuY3kpKSx0aGlzLmJpbmRDb250cm9sKG5ldyB5KHIsdC5zaXplLG51bGwsITEsdGhpcy5tb2RlbCgpLCJDaGFuZ2Ugc2l6ZSIpKX0sdC5TdHVkeVN0eWxlc1Byb3BlcnR5UGFnZT1pLHQuU3R1ZHlEaXNwbGF5UHJvcGVydHlQYWdlPW59LDI2NzpmdW5jdGlvbihlLHQsbyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0LG8pe24uY2FsbCh0aGlzLGUsdCxvKSx0aGlzLnByZXBhcmVMYXlvdXQoKX12YXIgbj1vKDE0KSxhPW8oMTApLHI9YS5GbG9hdEJpbmRlcixsPWEuQm9vbGVhbkJpbmRlcixwPWEuU2xpZGVyQmluZGVyLHM9YS5Db2xvckJpbmRpbmcsZD1hLlNpbXBsZUNvbWJvQmluZGVyLGg9byg0NykuYWRkQ29sb3JQaWNrZXIsYz1vKDMxKS5jcmVhdGVMaW5lU3R5bGVFZGl0b3IsYj1vKDE1KS5jcmVhdGVMaW5lV2lkdGhFZGl0b3IsdT1vKDY1KS5jcmVhdGVUcmFuc3BhcmVuY3lFZGl0b3I7aW5oZXJpdChpLG4pLGkucHJvdG90eXBlLmFkZExldmVsRWRpdG9yPWZ1bmN0aW9uKGUsdCl7dmFyIG8saSxuLGEscCxkPXR8fCQoIjx0cj4iKS5hcHBlbmRUbyh0aGlzLl90YWJsZSksYz0kKCI8dGQ+Iik7cmV0dXJuIGMuYXBwZW5kVG8oZCksbz0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnIGNsYXNzPSd2aXNpYmlsaXR5LXN3aXRjaCc+Iiksby5hcHBlbmRUbyhjKSx0JiZvLmNzcygibWFyZ2luLWxlZnQiLCIxNXB4IiksaT0kKCI8dGQ+IiksaS5hcHBlbmRUbyhkKSxuPSQoIjxpbnB1dCB0eXBlPSd0ZXh0Jz4iKSxuLmFwcGVuZFRvKGkpLG4uY3NzKCJ3aWR0aCIsIjcwcHgiKSx0aGlzLmJpbmRDb250cm9sKG5ldyByKG4sZS5jb2VmZiwhMSx0aGlzLm1vZGVsKCksIkNoYW5nZSBQaXRjaGZvcmsgTGluZSBDb2VmZiIpKSxhPSQoIjx0ZCBjbGFzcz0nY29sb3JwaWNrZXItY2VsbCc+IiksYS5hcHBlbmRUbyhkKSxwPWgoYSksdGhpcy5iaW5kQ29udHJvbChuZXcgbChvLGUudmlzaWJsZSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBGaWIgUmV0cmFjZW1lbnQgTGluZSBWaXNpYmlsaXR5IikpLHRoaXMuYmluZENvbnRyb2wobmV3IHMocCxlLmNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEZpYiBSZXRyYWNlbWVudCBMaW5lIENvbG9yIiwwKSksZH0saS5wcm90b3R5cGUucHJlcGFyZUxheW91dD1mdW5jdGlvbigpew0KdmFyIGUsdCxvLGksbixhLHIsQyx5LGcsdyxULF8sbSxmLEwsdixrLFMsUCx4LEIsRSxSLEYsSSxBLEQsVyxPLFYsaix6O2Zvcih0aGlzLl9kaXY9JChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSkuYWRkQ2xhc3MoInByb3BlcnR5LXBhZ2UiKSxlPXRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS50cmVuZGxpbmUsdD0kKCI8dGFibGU+IikuYXBwZW5kVG8odGhpcy5fZGl2KS5jc3MoInBhZGRpbmctYm90dG9tIiwiM3B4IiksZSYmKG89JCgiPHRyPiIpLmFwcGVuZFRvKHQpLGk9JCgiPGlucHV0IHR5cGU9J2NoZWNrYm94JyBjbGFzcz0ndmlzaWJpbGl0eS1zd2l0Y2gnPiIpLCQoIjx0ZD4iKS5hcHBlbmQoaSkuYXBwZW5kVG8obyksJCgiPHRkPiIpLmFwcGVuZCgkLnQoIlRyZW5kIExpbmUiKSkuYXBwZW5kVG8obyksdGhpcy5iaW5kQ29udHJvbChuZXcgbChpLGUudmlzaWJsZSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBGaWIgUmV0cmFjZW1lbnQgTGluZSBWaXNpYmlsaXR5IikpLG49JCgiPHRkIGNsYXNzPSdjb2xvcnBpY2tlci1jZWxsJz4iKS5hcHBlbmRUbyhvKSxhPWgobiksdGhpcy5iaW5kQ29udHJvbChuZXcgcyhhLGUuY29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgRmliIFJldHJhY2VtZW50IExpbmUgQ29sb3IiLDApKSxyPSQoIjx0ZD4iKS5hcHBlbmRUbyhvKSxDPWIoKSxDLmFwcGVuZFRvKHIpLHRoaXMuYmluZENvbnRyb2wobmV3IHAoQyxlLmxpbmV3aWR0aCxwYXJzZUludCx0aGlzLm1vZGVsKCksIkNoYW5nZSBGaWIgUmV0cmFjZW1lbnQgTGluZSBXaWR0aCIpKSx5PSQoIjx0ZD4iKS5hcHBlbmRUbyhvKSxnPWMoKSxnLnJlbmRlcigpLmFwcGVuZFRvKHkpLHRoaXMuYmluZENvbnRyb2wobmV3IGQoZyxlLmxpbmVzdHlsZSxwYXJzZUludCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBGaWIgUmV0cmFjZW1lbnQgTGluZSBTdHlsZSIpKSksdz10aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkubGV2ZWxzU3R5bGUsVD0kKCI8dHI+IikuYXBwZW5kVG8odCksJCgiPHRkPiIpLmFwcGVuZFRvKFQpLCQoIjx0ZD4iKyQudCgiTGV2ZWxzIExpbmUiKSsiPC90ZD4iKS5hcHBlbmRUbyhUKSwkKCI8dGQ+IikuYXBwZW5kVG8oVCkscj0kKCI8dGQ+IikuYXBwZW5kVG8oVCksQz1iKCksQy5hcHBlbmRUbyhyKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKEMsdy5saW5ld2lkdGgscGFyc2VJbnQsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgRmliIFJldHJhY2VtZW50IExpbmUgV2lkdGgiKSkseT0kKCI8dGQ+IikuYXBwZW5kVG8oVCksZz1jKCksZy5yZW5kZXIoKS5hcHBlbmRUbyh5KSx0aGlzLmJpbmRDb250cm9sKG5ldyBkKGcsdy5saW5lc3R5bGUscGFyc2VJbnQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgRmliIFJldHJhY2VtZW50IExpbmUgU3R5bGUiKSksdGhpcy5fdGFibGU9JChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0YWJsZSIpKS5hcHBlbmRUbyh0aGlzLl9kaXYpLHRoaXMuX3RhYmxlLmF0dHIoImNlbGxzcGFjaW5nIiwiMCIpLHRoaXMuX3RhYmxlLmF0dHIoImNlbGxwYWRkaW5nIiwiMiIpLF89e30sbT0wO208MjQ7bSsrKWY9bSU4LFQ9X1tmXSxMPSJsZXZlbCIrKG0rMSksX1tmXT10aGlzLmFkZExldmVsRWRpdG9yKHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKVtMXSxUKTt0aGlzLmFkZE9uZUNvbG9yUHJvcGVydHlXaWRnZXQodGhpcy5fdGFibGUpLHY9JCgiPHRhYmxlIGNlbGxwYWRkaW5nPTAgY2VsbHNwYWNpbmc9MD4iKS5hcHBlbmRUbyh0aGlzLl9kaXYpLGs9JCgiPHRyPiIpLmFwcGVuZFRvKHYpLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5leHRlbmRMaW5lcyYmKFM9JCgiPGlucHV0IHR5cGU9J2NoZWNrYm94JyBjbGFzcz0ndmlzaWJpbGl0eS1zd2l0Y2gnPiIpLFA9JCgiPGxhYmVsPiIpLmFwcGVuZChTKS5hcHBlbmQoJC50KCJFeHRlbmQgTGluZXMiKSksJCgiPHRkPiIpLmFwcGVuZChQKS5hcHBlbmRUbyhrKSksdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmV4dGVuZExlZnQmJih4PSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgY2xhc3M9J3Zpc2liaWxpdHktc3dpdGNoJz4iKSxQPSQoIjxsYWJlbD4iKS5hcHBlbmQoeCkuYXBwZW5kKCQudCgiRXh0ZW5kIExlZnQiKSksJCgiPHRkPiIpLmFwcGVuZChQKS5hcHBlbmRUbyhrKSksdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmV4dGVuZFJpZ2h0JiYoQj0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnIGNsYXNzPSd2aXNpYmlsaXR5LXN3aXRjaCc+IiksUD0kKCI8bGFiZWw+IikuYXBwZW5kKEIpLmFwcGVuZCgkLnQoIkV4dGVuZCBSaWdodCIpKSwkKCI8dGQ+IikuYXBwZW5kKFApLmFwcGVuZFRvKGspKSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkucmV2ZXJzZSYmKEU9JCgiPGlucHV0IHR5cGU9J2NoZWNrYm94JyBjbGFzcz0ndmlzaWJpbGl0eS1zd2l0Y2gnPiIpLFA9JCgiPGxhYmVsPiIpLmFwcGVuZChFKS5hcHBlbmQoJC50KCJSZXZlcnNlIikpLCQoIjx0ZD4iKS5hcHBlbmQoUCkuYXBwZW5kVG8oaykpLFI9JCgiPHRyPiIpLmFwcGVuZFRvKHYpLEY9JCgiPGlucHV0IHR5cGU9J2NoZWNrYm94JyBjbGFzcz0ndmlzaWJpbGl0eS1zd2l0Y2gnPiIpLFA9JCgiPGxhYmVsPiIpLmFwcGVuZChGKS5hcHBlbmQoJC50KCJMZXZlbHMiKSksJCgiPHRkPiIpLmFwcGVuZChQKS5hcHBlbmRUbyhSKSxJPSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgY2xhc3M9J3Zpc2liaWxpdHktc3dpdGNoJz4iKSxQPSQoIjxsYWJlbD4iKS5hcHBlbmQoSSkuYXBwZW5kKCQudCgiUHJpY2VzIikpLCQoIjx0ZD4iKS5hcHBlbmQoUCkuYXBwZW5kVG8oUiksQT0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnIGNsYXNzPSd2aXNpYmlsaXR5LXN3aXRjaCc+IiksUD0kKCI8bGFiZWw+IikuYXBwZW5kKEEpLmFwcGVuZCgkLnQoIlBlcmNlbnRzIikpLCQoIjx0ZD4iKS5hcHBlbmQoUCkuYXBwZW5kVG8oUiksRD0kKCI8dGFibGUgY2VsbHNwYWNpbmc9JzAnIGNlbGxwYWRkaW5nPScwJz4iKS5hcHBlbmRUbyh0aGlzLl9kaXYpLA0KVz0kKCI8c2VsZWN0PjxvcHRpb24gdmFsdWU9J2xlZnQnPiIrJC50KCJsZWZ0IikrIjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J2NlbnRlcic+IiskLnQoImNlbnRlciIpKyI8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdyaWdodCc+IiskLnQoInJpZ2h0IikrIjwvb3B0aW9uPjwvc2VsZWN0PiIpLE89JCgiPHNlbGVjdD48b3B0aW9uIHZhbHVlPSdib3R0b20nPiIrJC50KCJ0b3AiKSsiPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nbWlkZGxlJz4iKyQudCgibWlkZGxlIikrIjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J3RvcCc+IiskLnQoImJvdHRvbSIpKyI8L29wdGlvbj48L3NlbGVjdD4iKSxUPSQoIjx0cj4iKSxULmFwcGVuZCgiPHRkPiIrJC50KCJMYWJlbHMiKSsiPC90ZD4iKS5hcHBlbmQoVykuYXBwZW5kKCI8dGQ+Jm5ic3A8L3RkPiIpLmFwcGVuZChPKSxULmFwcGVuZFRvKEQpLFY9JCgiPHRhYmxlIGNlbGxzcGFjaW5nPScwJyBjZWxscGFkZGluZz0nMCc+IikuYXBwZW5kVG8odGhpcy5fZGl2KSxUPSQoIjx0cj4iKS5hcHBlbmRUbyhWKSxqPSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgY2xhc3M9J3Zpc2liaWxpdHktc3dpdGNoJz4iKSwkKCI8dGQ+IikuYXBwZW5kKGopLmFwcGVuZFRvKFQpLHRoaXMuY3JlYXRlTGFiZWxlZENlbGwoJC50KCJCYWNrZ3JvdW5kIiksaikuYXBwZW5kVG8oVCksej11KCksJCgiPHRkPiIpLmFwcGVuZCh6KS5hcHBlbmRUbyhUKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKEksdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnNob3dQcmljZXMsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgR2FubiBGYW4gUHJpY2VzIFZpc2liaWxpdHkiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgbChGLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5zaG93Q29lZmZzLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEdhbm4gRmFuIExldmVscyBWaXNpYmlsaXR5IikpLHRoaXMuYmluZENvbnRyb2wobmV3IGwoaix0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuZmlsbEJhY2tncm91bmQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgRmliIFJldHJhY2VtZW50IEJhY2tncm91bmQgVmlzaWJpbGl0eSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKHosdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnRyYW5zcGFyZW5jeSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBGaWIgUmV0cmFjZW1lbnQgQmFja2dyb3VuZCBUcmFuc3BhcmVuY3kiKSksdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmV4dGVuZExpbmVzJiZ0aGlzLmJpbmRDb250cm9sKG5ldyBsKFMsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmV4dGVuZExpbmVzLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEZpYiBSZXRyYWNlbWVudCBFeHRlbmQgTGluZXMiKSksdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmV4dGVuZExlZnQmJnRoaXMuYmluZENvbnRyb2wobmV3IGwoeCx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuZXh0ZW5kTGVmdCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBGaWIgUmV0cmFjZW1lbnQgRXh0ZW5kIExpbmVzIikpLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5leHRlbmRSaWdodCYmdGhpcy5iaW5kQ29udHJvbChuZXcgbChCLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5leHRlbmRSaWdodCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBGaWIgUmV0cmFjZW1lbnQgRXh0ZW5kIExpbmVzIikpLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5yZXZlcnNlJiZ0aGlzLmJpbmRDb250cm9sKG5ldyBsKEUsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnJldmVyc2UsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgRmliIFJldHJhY2VtZW50IFJldmVyc2UiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgZChXLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5ob3J6TGFiZWxzQWxpZ24sbnVsbCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBGaWIgTGFiZWxzIEhvcml6b250YWwgQWxpZ25tZW50IikpLHRoaXMuYmluZENvbnRyb2wobmV3IGQoTyx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkudmVydExhYmVsc0FsaWduLG51bGwsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgRmliIExhYmVscyBWZXJ0aWNhbCBBbGlnbm1lbnQiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgbChBLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5jb2VmZnNBc1BlcmNlbnRzLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEZpYiBSZXRyYWNlbWVudCBDb2VmZnMgQXMgUGVyY2VudHMiKSksdGhpcy5sb2FkRGF0YSgpfSxpLnByb3RvdHlwZS53aWRnZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZGl2fSxlLmV4cG9ydHM9aX0sMzk5OmZ1bmN0aW9uKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlLHQsbyl7cC5jYWxsKHRoaXMsZSx0KSx0aGlzLl9saW5ldG9vbD1vLHRoaXMucHJlcGFyZUxheW91dCgpfWZ1bmN0aW9uIG4oZSx0LG8pe2EuY2FsbCh0aGlzLGUsdCxvKSx0aGlzLnByZXBhcmVMYXlvdXQoKX12YXIgYT1vKDE0KSxyPW8oODEpLGw9bygxMCkscD1sLlByb3BlcnR5UGFnZSxzPWwuU2xpZGVyQmluZGVyLGQ9byg2NSkuY3JlYXRlVHJhbnNwYXJlbmN5RWRpdG9yLGg9bygxMjEpO2luaGVyaXQoaSxyKSxpLnByb3RvdHlwZS5wcmVwYXJlTGF5b3V0PWZ1bmN0aW9uKCl7dmFyIGUsdCxvLGksbixhLGw9JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiPicpLHA9JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiPicpLmRhdGEoeyJsYXlvdXQtdGFiIjpoLlRhYk5hbWVzLmlucHV0cywibGF5b3V0LXRhYi1wcmlvcml0eSI6aC5UYWJQcmlvcml0eS5JbnB1dHN9KTt0aGlzLl90YWJsZT1sLmFkZChwKSxyLnByb3RvdHlwZS5wcmVwYXJlTGF5b3V0Rm9yVGFibGUuY2FsbCh0aGlzLGwpLGU9JCgiPHRyPiIpLmFwcGVuZFRvKHApLCQoIjx0ZD4iKS5hcHBlbmQoJC50KCJBdmcgSEwgaW4gbWludGlja3MiKSkuYXBwZW5kVG8oZSksdD0kKCI8dGQ+IikuYXBwZW5kVG8oZSksDQpvPSQoIjxpbnB1dCB0eXBlPSd0ZXh0Jz4iKS5hZGRDbGFzcygidGlja2VyIikuYXBwZW5kVG8odCksZT0kKCI8dHI+IikuYXBwZW5kVG8ocCksJCgiPHRkPiIpLmFwcGVuZCgkLnQoIlZhcmlhbmNlIikpLmFwcGVuZFRvKGUpLGk9JCgiPHRkPiIpLmFwcGVuZFRvKGUpLG49JCgiPGlucHV0IHR5cGU9J3RleHQnPiIpLmFkZENsYXNzKCJ0aWNrZXIiKS5hcHBlbmRUbyhpKSxhPXRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKSx0aGlzLmJpbmRJbnRlZ2VyKG8sYS5hdmVyYWdlSEwsJC50KCJDaGFuZ2UgQXZlcmFnZSBITCB2YWx1ZSIpLDEsNWU0KSx0aGlzLmJpbmRJbnRlZ2VyKG4sYS52YXJpYW5jZSwkLnQoIkNoYW5nZSBWYXJpYW5jZSB2YWx1ZSIpLDEsMTAwKSx0aGlzLmxvYWREYXRhKCl9LGkucHJvdG90eXBlLndpZGdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl90YWJsZX0saW5oZXJpdChuLGEpLG4ucHJvdG90eXBlLnByZXBhcmVMYXlvdXQ9ZnVuY3Rpb24oKXt2YXIgZSx0LG8saSxuLGEscixsLHAsaCxjO3RoaXMuX3dpZGdldD0kKCI8ZGl2PiIpLGU9JCgiPHRhYmxlIGNlbGxzcGFjaW5nPTQ+IikuYXBwZW5kVG8odGhpcy5fd2lkZ2V0KSx0PXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxvPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxpPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxuPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxhPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxyPSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgY2xhc3M9J3Zpc2liaWxpdHktc3dpdGNoJy8+IikuZGF0YSgiaGlkZXMiLCQobikuYWRkKGEpKSxsPSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgY2xhc3M9J3Zpc2liaWxpdHktc3dpdGNoJy8+IikuZGF0YSgiaGlkZXMiLCQoaSkpLHA9dGhpcy5hZGRMYWJlbGVkUm93KGUsJC50KCJDYW5kbGVzIikpLCQoIjx0ZD4iKS5wcmVwZW5kVG8ocCksJCgiPHRkPiIpLmFwcGVuZCh0KS5hcHBlbmRUbyhwKSwkKCI8dGQ+IikuYXBwZW5kKG8pLmFwcGVuZFRvKHApLHA9dGhpcy5hZGRMYWJlbGVkUm93KGUsJC50KCJCb3JkZXJzIiksciksJCgiPHRkPiIpLmFwcGVuZChyKS5wcmVwZW5kVG8ocCksJCgiPHRkPiIpLmFwcGVuZChuKS5hcHBlbmRUbyhwKSwkKCI8dGQ+IikuYXBwZW5kKGEpLmFwcGVuZFRvKHApLCQoIjx0ZD4iKS5hcHBlbmRUbyhwKSxwPXRoaXMuYWRkTGFiZWxlZFJvdyhlLCQudCgiV2ljayIpLGwpLCQoIjx0ZD4iKS5hcHBlbmQobCkucHJlcGVuZFRvKHApLCQoIjx0ZD4iKS5hcHBlbmQoaSkuYXBwZW5kVG8ocCksJCgiPHRkPiIpLmFwcGVuZFRvKHApLGU9JCgiPHRhYmxlPiIpLmFwcGVuZFRvKHRoaXMuX3dpZGdldCkscD0kKCI8dHI+IikuYXBwZW5kVG8oZSksJCgiPHRkIGNvbHNwYW49JzInPiIpLmFwcGVuZCgkLnQoIlRyYW5zcGFyZW5jeSIpKS5hcHBlbmRUbyhwKSxoPWQoKSwkKCI8dGQgY29sc3Bhbj0nMic+IikuYXBwZW5kKGgpLmFwcGVuZFRvKHApLGM9dGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLHRoaXMuYmluZENvbG9yKHQsYy5jYW5kbGVTdHlsZS51cENvbG9yLCJDaGFuZ2UgQ2FuZGxlIFVwIENvbG9yIiksdGhpcy5iaW5kQ29sb3IobyxjLmNhbmRsZVN0eWxlLmRvd25Db2xvciwiQ2hhbmdlIENhbmRsZSBEb3duIENvbG9yIiksdGhpcy5iaW5kQm9vbGVhbihsLGMuY2FuZGxlU3R5bGUuZHJhd1dpY2ssIkNoYW5nZSBDYW5kbGUgV2ljayBWaXNpYmlsaXR5IiksdGhpcy5iaW5kQ29sb3IoaSxjLmNhbmRsZVN0eWxlLndpY2tDb2xvciwiQ2hhbmdlIENhbmRsZSBXaWNrIENvbG9yIiksdGhpcy5iaW5kQm9vbGVhbihyLGMuY2FuZGxlU3R5bGUuZHJhd0JvcmRlciwiQ2hhbmdlIENhbmRsZSBCb3JkZXIgVmlzaWJpbGl0eSIpLHRoaXMuYmluZENvbG9yKG4sYy5jYW5kbGVTdHlsZS5ib3JkZXJVcENvbG9yLCJDaGFuZ2UgQ2FuZGxlIFVwIEJvcmRlciBDb2xvciIpLHRoaXMuYmluZENvbG9yKGEsYy5jYW5kbGVTdHlsZS5ib3JkZXJEb3duQ29sb3IsIkNoYW5nZSBDYW5kbGUgRG93biBCb3JkZXIgQ29sb3IiKSx0aGlzLmJpbmRDb250cm9sKG5ldyBzKGgsYy50cmFuc3BhcmVuY3ksITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgR3Vlc3QgRmVlZCBUcmFuc3BhcmVuY3kiKSl9LG4ucHJvdG90eXBlLndpZGdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl93aWRnZXR9LHQuTGluZVRvb2xHaG9zdEZlZWRJbnB1dHNQcm9wZXJ0eVBhZ2U9aSx0LkxpbmVUb29sR2hvc3RGZWVkU3R5bGVzUHJvcGVydHlQYWdlPW59LDQwMDpmdW5jdGlvbihlLHQsbyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0LG8pe2EuY2FsbCh0aGlzLGUsdCxvKSx0aGlzLnByZXBhcmVMYXlvdXQoKX1mdW5jdGlvbiBuKGUsdCxvKXtyLmNhbGwodGhpcyxlLHQsbyl9dmFyIGE9bygxNCkscj1vKDgxKSxsPW8oMTApLHA9bC5Cb29sZWFuQmluZGVyLHM9bC5TaW1wbGVDb21ib0JpbmRlcixkPWwuU2ltcGxlU3RyaW5nQmluZGVyLGg9bC5Db2xvckJpbmRpbmcsYz1sLlNsaWRlckJpbmRlcixiPW8oMzEpLmNyZWF0ZUxpbmVTdHlsZUVkaXRvcix1PW8oMTUpLmNyZWF0ZUxpbmVXaWR0aEVkaXRvcjtpbmhlcml0KGksYSksaS5wcm90b3R5cGUucHJlcGFyZUxheW91dD1mdW5jdGlvbigpe3ZhciBlLHQsbyxpLG4sYSxyLGwsQyx5LGcsdyxULF87dGhpcy5fcmVzPSQoIjxkaXY+IiksdGhpcy5fdGFibGU9JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHN0eWxlPSJ3aWR0aDoxMDAlIj48L3RhYmxlPicpLmFwcGVuZFRvKHRoaXMuX3JlcyksZT11KCksdD1iKCksbz10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCksaT10aGlzLmFkZExhYmVsZWRSb3codGhpcy5fdGFibGUsIkxpbmUiKSwkKCI8dGQ+IikuYXBwZW5kKG8pLmFwcGVuZFRvKGkpLCQoIjx0ZD4iKS5hcHBlbmQoZSkuYXBwZW5kVG8oaSksJCgnPHRkIGNvbHNwYW49IjMiPicpLmFwcGVuZCh0LnJlbmRlcigpLmNzcygiZGlzcGxheSIsImJsb2NrIikpLmFwcGVuZFRvKGkpLG49JCgiPGlucHV0IHR5cGU9J2NoZWNrYm94JyBjbGFzcz0ndmlzaWJpbGl0eS1zd2l0Y2gnPiIpLA0KaT0kKCI8dHI+IikuYXBwZW5kVG8odGhpcy5fdGFibGUpLCQoJzx0ZCBjb2xzcGFuPSIzIj4nKS5hcHBlbmQoJCgiPGxhYmVsPiIpLmFwcGVuZChuKS5hcHBlbmQoJC50KCJTaG93IFByaWNlIikpKS5wcmVwZW5kVG8oaSksYT0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnPiIpLGk9JCgiPHRyPiIpLmFwcGVuZFRvKHRoaXMuX3RhYmxlKSwkKCc8dGQgY29sc3Bhbj0iMyI+JykuYXBwZW5kKCQoIjxsYWJlbD4iKS5hcHBlbmQoYSkuYXBwZW5kKCQudCgiU2hvdyBUZXh0IikpKS5wcmVwZW5kVG8oaSksaT10aGlzLmFkZExhYmVsZWRSb3codGhpcy5fdGFibGUsIlRleHQ6Iikscj10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCksbD10aGlzLmNyZWF0ZUZvbnRTaXplRWRpdG9yKCksQz10aGlzLmNyZWF0ZUZvbnRFZGl0b3IoKSx5PSQoJzxzcGFuIGNsYXNzPSJfdHYtYnV0dG9uIF90di1idXR0b24tZm9udHN0eWxlIj48c3BhbiBjbGFzcz0iaWNvbi1mb250c3R5bGUtYm9sZCI+PC9zcGFuPjwvc3Bhbj4nKSxnPSQoJzxzcGFuIGNsYXNzPSJfdHYtYnV0dG9uIF90di1idXR0b24tZm9udHN0eWxlIj48c3BhbiBjbGFzcz0iaWNvbi1mb250c3R5bGUtaXRhbGljIj48L3NwYW4+PC9zcGFuPicpLCQoIjx0ZD4iKS5hcHBlbmQocikuYXBwZW5kVG8oaSksJCgiPHRkPiIpLmFwcGVuZChDKS5hcHBlbmRUbyhpKSwkKCI8dGQ+IikuYXBwZW5kKGwpLmFwcGVuZFRvKGkpLCQoIjx0ZD4iKS5hcHBlbmQoeSkuYXBwZW5kVG8oaSksJCgiPHRkPiIpLmFwcGVuZChnKS5hcHBlbmRUbyhpKSxpPSQoIjx0cj4iKS5hcHBlbmRUbyh0aGlzLl90YWJsZSksJCgiPHRkIGNvbHNwYW49JzInPiIpLmFwcGVuZCgkLnQoIlRleHQgQWxpZ25tZW50OiIpKS5hcHBlbmRUbyhpKSx3PSQoIjxzZWxlY3Q+PG9wdGlvbiB2YWx1ZT0nbGVmdCc+IiskLnQoImxlZnQiKSsiPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nY2VudGVyJz4iKyQudCgiY2VudGVyIikrIjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J3JpZ2h0Jz4iKyQudCgicmlnaHQiKSsiPC9vcHRpb24+PC9zZWxlY3Q+IiksVD0kKCI8c2VsZWN0PjxvcHRpb24gdmFsdWU9J2JvdHRvbSc+IiskLnQoInRvcCIpKyI8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdtaWRkbGUnPiIrJC50KCJtaWRkbGUiKSsiPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ndG9wJz4iKyQudCgiYm90dG9tIikrIjwvb3B0aW9uPjwvc2VsZWN0PiIpLmRhdGEoInNlbGVjdGJveC1jc3MiLHtkaXNwbGF5OiJibG9jayJ9KSwkKCI8dGQ+IikuYXBwZW5kKHcpLmFwcGVuZFRvKGkpLCQoIjx0ZCBjb2xzcGFuPSczJz4iKS5hcHBlbmQoVCkuYXBwZW5kVG8oaSksXz0kKCI8dGV4dGFyZWEgcm93cz0nNycgY29scz0nNjAnPiIpLmNzcygid2lkdGgiLCIxMDAlIiksaT0kKCI8dHI+IikuYXBwZW5kVG8odGhpcy5fdGFibGUpLCQoIjx0ZCBjb2xzcGFuPSc3Jz4iKS5hcHBlbmQoXykuYXBwZW5kVG8oaSksdGhpcy5iaW5kQ29udHJvbChuZXcgcChhLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5zaG93TGFiZWwsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgSG9yeiBMaW5lIFRleHQgVmlzaWJpbGl0eSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBzKHcsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmhvcnpMYWJlbHNBbGlnbixudWxsLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEhvcnogTGluZSBMYWJlbHMgQWxpZ25tZW50IikpLHRoaXMuYmluZENvbnRyb2wobmV3IHMoVCx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkudmVydExhYmVsc0FsaWduLG51bGwsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgSG9yeiBMaW5lIExhYmVscyBBbGlnbm1lbnQiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgZChfLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS50ZXh0LG51bGwsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVGV4dCIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKG4sdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnNob3dQcmljZSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBIb3J6IExpbmUgUHJpY2UgVmlzaWJpbGl0eSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBoKG8sdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmxpbmVjb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBIb3J6IExpbmUgQ29sb3IiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcyh0LHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5saW5lc3R5bGUscGFyc2VJbnQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgSG9yeiBMaW5lIFN0eWxlIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGMoZSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkubGluZXdpZHRoLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEhvcnogTGluZSBXaWR0aCIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBzKGwsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmZvbnRzaXplLHBhcnNlSW50LCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRleHQgRm9udCBTaXplIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHMoQyx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuZm9udCxudWxsLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRleHQgRm9udCIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBoKHIsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnRleHRjb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUZXh0IENvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHAoeSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuYm9sZCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUZXh0IEZvbnQgQm9sZCIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKGcsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLml0YWxpYywhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUZXh0IEZvbnQgSXRhbGljIikpLHRoaXMubG9hZERhdGEoKX0saS5wcm90b3R5cGUud2lkZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3Jlc30saW5oZXJpdChuLHIpLG4ucHJvdG90eXBlLnByZXBhcmVMYXlvdXQ9ZnVuY3Rpb24oKXt2YXIgZSx0LG8saQ0KO3RoaXMuX3RhYmxlPSQoJzx0YWJsZSBjbGFzcz0icHJvcGVydHktcGFnZSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIj4nKSwoZT10aGlzLl9saW5ldG9vbC5wb2ludHMoKVswXSkmJih0PXRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5wb2ludHNbMF0sbz10aGlzLmNyZWF0ZVByaWNlRWRpdG9yKHQucHJpY2UpLGk9JCgiPHRyPiIpLmFwcGVuZFRvKHRoaXMuX3RhYmxlKSwkKCI8dGQ+IiskLnQoIlByaWNlIikrIjwvdGQ+IikuYXBwZW5kVG8oaSksJCgiPHRkPiIpLmFwcGVuZChvKS5hcHBlbmRUbyhpKSx0aGlzLmxvYWREYXRhKCkpfSx0LkxpbmVUb29sSG9yekxpbmVTdHlsZXNQcm9wZXJ0eVBhZ2U9aSx0LkxpbmVUb29sSG9yekxpbmVJbnB1dHNQcm9wZXJ0eVBhZ2U9bn0sNDAxOmZ1bmN0aW9uKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlLHQsbyl7ci5jYWxsKHRoaXMsZSx0LG8pLHRoaXMucHJlcGFyZUxheW91dCgpfWZ1bmN0aW9uIG4oZSx0LG8pe2EuY2FsbCh0aGlzLGUsdCxvKSx0aGlzLnByZXBhcmVMYXlvdXQoKX12YXIgYT1vKDE0KSxyPW8oODEpLGw9bygxMCkscD1sLkxlc3NUcmFuc2Zvcm1lcixzPWwuR3JlYXRlVHJhbnNmb3JtZXIsZD1sLlRvSW50VHJhbnNmb3JtZXIsaD1sLlRvRmxvYXRUcmFuc2Zvcm1lcixjPWwuU2ltcGxlU3RyaW5nQmluZGVyLGI9bC5Db2xvckJpbmRpbmcsdT1sLlNsaWRlckJpbmRlcixDPWwuU2ltcGxlQ29tYm9CaW5kZXIseT1sLkJvb2xlYW5CaW5kZXIsZz1vKDE1KS5jcmVhdGVMaW5lV2lkdGhFZGl0b3Isdz1vKDM4KS5OdW1lcmljRm9ybWF0dGVyO2luaGVyaXQoaSxyKSxpLnByb3RvdHlwZS5wcmVwYXJlTGF5b3V0PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlKXtyZXR1cm4obmV3IHcpLmZvcm1hdChlKX12YXIgdCxvLGksbixhLHIsbCxiLHUsQyx5LGc7dGhpcy5fdGFibGU9JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPicpLHQ9JCgiPHRib2R5PiIpLmFwcGVuZFRvKHRoaXMuX3RhYmxlKSxvPXRoaXMuYWRkTGFiZWxlZFJvdyh0LCQudCgiU3RvcCBMZXZlbC4gVGlja3M6IikpLGk9JCgnPGlucHV0IHR5cGU9InRleHQiPicpLCQoIjx0ZD4iKS5hcHBlbmQoaSkuYXBwZW5kVG8obyksaS5hZGRDbGFzcygidGlja2VyIiksbj0kKCc8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9InRpY2tlciI+JyksJCgiPHRkPiIrJC50KCJQcmljZToiKSsiPC90ZD4iKS5hcHBlbmRUbyhvKSwkKCI8dGQ+IikuYXBwZW5kKG4pLmFwcGVuZFRvKG8pLGE9dGhpcy5hZGRMYWJlbGVkUm93KHQsJC50KCJFbnRyeSBwcmljZToiKSkscj0kKCc8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9InRpY2tlciI+JyksJCgnPHRkIGNvbHNwYW49IjIiPicpLmFwcGVuZChyKS5hcHBlbmRUbyhhKSxsPXRoaXMuYWRkTGFiZWxlZFJvdyh0LCQudCgiUHJvZml0IExldmVsLiBUaWNrczoiKSksYj0kKCc8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9InRpY2tlciI+JyksJCgiPHRkPiIpLmFwcGVuZChiKS5hcHBlbmRUbyhsKSx1PSQoJzxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0idGlja2VyIj4nKSwkKCI8dGQ+IiskLnQoIlByaWNlOiIpKyI8L3RkPiIpLmFwcGVuZFRvKGwpLCQoIjx0ZD4iKS5hcHBlbmQodSkuYXBwZW5kVG8obCksIkxpbmVUb29sUmlza1Jld2FyZExvbmciPT09dGhpcy5fbGluZXRvb2wuZ2V0Q29uc3RydWN0b3IoKSYmKG8uZGV0YWNoKCkuYXBwZW5kVG8odCksbC5kZXRhY2goKS5wcmVwZW5kVG8odCkpLEM9W2QodGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnN0b3BMZXZlbC52YWx1ZSgpKSxzKDApLHAoMWU5KV0sdGhpcy5iaW5kQ29udHJvbChuZXcgYyhpLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5zdG9wTGV2ZWwsQywhMSx0aGlzLm1vZGVsKCksIkNoYW5nZSAiK3RoaXMuX2xpbmV0b29sKyIgc3RvcCBsZXZlbCIpKSxDPVtkKHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5wcm9maXRMZXZlbC52YWx1ZSgpKSxzKDApLHAoMWU5KV0sdGhpcy5iaW5kQ29udHJvbChuZXcgYyhiLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5wcm9maXRMZXZlbCxDLCExLHRoaXMubW9kZWwoKSwiQ2hhbmdlICIrdGhpcy5fbGluZXRvb2wrIiBwcm9maXQgbGV2ZWwiKSksQz1baCh0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuZW50cnlQcmljZS52YWx1ZSgpKV0seT1uZXcgYyhyLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5lbnRyeVByaWNlLEMsITEsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgIit0aGlzLl9saW5ldG9vbCsiIGVudHJ5IHByaWNlIikseS5hZGRGb3JtYXR0ZXIoZSksdGhpcy5iaW5kQ29udHJvbCh5KSxnPXRoaXMsQz1baCh0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuc3RvcFByaWNlLnZhbHVlKCkpLGZ1bmN0aW9uKGUpe3JldHVybiBnLl9saW5ldG9vbC5wcmVwYXJzZVN0b3BQcmljZShlKX1dLHk9bmV3IGMobix0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuc3RvcFByaWNlLEMsITEsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgIit0aGlzLl9saW5ldG9vbCsiIHN0b3AgcHJpY2UiKSx5LmFkZEZvcm1hdHRlcihlKSx0aGlzLmJpbmRDb250cm9sKHkpLEM9W2godGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnRhcmdldFByaWNlLnZhbHVlKCkpLGZ1bmN0aW9uKGUpe3JldHVybiBnLl9saW5ldG9vbC5wcmVwYXJzZVByb2ZpdFByaWNlKGUpfV0seT1uZXcgYyh1LHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS50YXJnZXRQcmljZSxDLCExLHRoaXMubW9kZWwoKSwiQ2hhbmdlICIrdGhpcy5fbGluZXRvb2wrIiBzdG9wIHByaWNlIikseS5hZGRGb3JtYXR0ZXIoZSksdGhpcy5iaW5kQ29udHJvbCh5KX0saS5wcm90b3R5cGUud2lkZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3RhYmxlfSxpbmhlcml0KG4sYSksbi5wcm90b3R5cGUucHJlcGFyZUxheW91dD1mdW5jdGlvbigpe3ZhciBlLHQsbyxpLG4sYSxyLGwsZCx3LFQsXyxtLGYsTCx2PXRoaXMuX2xpbmV0b29sLGs9di5wcm9wZXJ0aWVzKCkNCjt0aGlzLl90YWJsZT0kKCc8dGFibGUgY2xhc3M9InByb3BlcnR5LXBhZ2UiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+JyksZT0kKCI8dGJvZHk+IikuYXBwZW5kVG8odGhpcy5fdGFibGUpLHQ9ZygpLG89dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLGk9dGhpcy5hZGRMYWJlbGVkUm93KGUsJC50KCJMaW5lczoiKSksJCgiPHRkPiIpLmFwcGVuZChvKS5hcHBlbmRUbyhpKSwkKCI8dGQ+IikuYXBwZW5kKHQpLmFwcGVuZFRvKGkpLGk9dGhpcy5hZGRMYWJlbGVkUm93KGUsJC50KCJTdG9wIENvbG9yOiIpKSxuPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSwkKCI8dGQ+IikuYXBwZW5kKG4pLmFwcGVuZFRvKGkpLGk9dGhpcy5hZGRMYWJlbGVkUm93KGUsJC50KCJUYXJnZXQgQ29sb3I6IikpLGE9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLCQoIjx0ZD4iKS5hcHBlbmQoYSkuYXBwZW5kVG8oaSksaT10aGlzLmFkZExhYmVsZWRSb3coZSwkLnQoIlRleHQ6IikpLHI9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLGw9dGhpcy5jcmVhdGVGb250U2l6ZUVkaXRvcigpLGQ9dGhpcy5jcmVhdGVGb250RWRpdG9yKCksJCgiPHRkPiIpLmFwcGVuZChyKS5hcHBlbmRUbyhpKSwkKCI8dGQ+IikuYXBwZW5kKGQpLmFwcGVuZFRvKGkpLCQoIjx0ZD4iKS5hcHBlbmQobCkuYXBwZW5kVG8oaSksaT0kKCI8dHI+IikuYXBwZW5kVG8oZSksdz0kKCI8bGFiZWw+IikudGV4dCgkLnQoIkNvbXBhY3QiKSksVD0kKCc8aW5wdXQgdHlwZT0iY2hlY2tib3giPicpLnByZXBlbmRUbyh3KSwkKCI8dGQ+IikuYXBwZW5kKHcpLmFwcGVuZFRvKGkpLGk9dGhpcy5hZGRMYWJlbGVkUm93KGUsJC50KCJBY2NvdW50IFNpemUiKSksXz0kKCc8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9InRpY2tlciI+JyksJCgiPHRkPiIpLmFwcGVuZChfKS5hcHBlbmRUbyhpKSxpPXRoaXMuYWRkTGFiZWxlZFJvdyhlLCQudCgiUmlzayIpKSx0aGlzLl9yaXNrRWRpdD0kKCc8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9InRpY2tlciI+JyksJCgiPHRkPiIpLmFwcGVuZCh0aGlzLl9yaXNrRWRpdCkuYXBwZW5kVG8oaSksdGhpcy5fcmlza0VkaXQuZGF0YSgic3RlcCIsdi5nZXRSaXNrU3RlcChrLnJpc2tEaXNwbGF5TW9kZS52YWx1ZSgpKSksay5yaXNrRGlzcGxheU1vZGUuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25SaXNrRGlzcGxheU1vZGVDaGFuZ2UpLG09dGhpcy5jcmVhdGVLZXlDb21ibyh7cGVyY2VudHM6JC50KCIlIiksbW9uZXk6JC50KCJDYXNoIil9KSwkKCI8dGQ+IikuYXBwZW5kKG0pLmFwcGVuZFRvKGkpLHRoaXMuYmluZENvbnRyb2wobmV3IGIobyxrLmxpbmVjb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBSaXNrL1Jld2FyZCBsaW5lIENvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHUodCxrLmxpbmV3aWR0aCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBSaXNrL1Jld2FyZCBsaW5lIHdpZHRoIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGIobixrLnN0b3BCYWNrZ3JvdW5kLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIHN0b3AgY29sb3IiLGsuc3RvcEJhY2tncm91bmRUcmFuc3BhcmVuY3kpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBiKGEsay5wcm9maXRCYWNrZ3JvdW5kLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIHRhcmdldCBjb2xvciIsay5wcm9maXRCYWNrZ3JvdW5kVHJhbnNwYXJlbmN5KSksdGhpcy5iaW5kQ29udHJvbChuZXcgQyhsLGsuZm9udHNpemUscGFyc2VJbnQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVGV4dCBGb250IFNpemUiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgQyhkLGsuZm9udCxudWxsLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRleHQgRm9udCIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBiKHIsay50ZXh0Y29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVGV4dCBDb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyB5KFQsay5jb21wYWN0LCEwLHRoaXMubW9kZWwoKSwiQ29tcGFjdCBtb2RlIikpLGY9W2goay5hY2NvdW50U2l6ZS52YWx1ZSgpKSxzKDEpLHAoMWU5KV0sdGhpcy5iaW5kQ29udHJvbChuZXcgYyhfLGsuYWNjb3VudFNpemUsZiwhMSx0aGlzLm1vZGVsKCksIkNoYW5nZSAiK3RoaXMuX2xpbmV0b29sKyIgQWNjb3VudCBTaXplIikpLHRoaXMuYmluZENvbnRyb2wobmV3IEMobSxrLnJpc2tEaXNwbGF5TW9kZSxudWxsLCEwLHRoaXMubW9kZWwoKSwiJSAvIENhc2giKSksTD1baChrLnJpc2sudmFsdWUoKSkscygxKSxmdW5jdGlvbihlKXt2YXIgdCxvPWsucmlza0Rpc3BsYXlNb2RlLnZhbHVlKCk7cmV0dXJuInBlcmNlbnRzIj09PW8/ZT1lPjEwMD8xMDA6ZToodD1rLmFjY291bnRTaXplLnZhbHVlKCksZT1lPnQ/dDplKSx2LnJpc2tGb3JtYXR0ZXIobykuZm9ybWF0KGUpfV0sdGhpcy5iaW5kQ29udHJvbChuZXcgYyh0aGlzLl9yaXNrRWRpdCxrLnJpc2ssTCwhMSx0aGlzLm1vZGVsKCksIkNoYW5nZSAiK3RoaXMuX2xpbmV0b29sKyIgUmlzayIpKSx0aGlzLmxvYWREYXRhKCl9LG4ucHJvdG90eXBlLl9vblJpc2tEaXNwbGF5TW9kZUNoYW5nZT1mdW5jdGlvbigpe3ZhciBlPXRoaXMuX2xpbmV0b29sLHQ9ZS5wcm9wZXJ0aWVzKCksbz10LnJpc2tEaXNwbGF5TW9kZS52YWx1ZSgpLGk9ZS5yaXNrRm9ybWF0dGVyKG8pO3RoaXMuX3Jpc2tFZGl0LmRhdGEoIlRWVGlja2VyIix7c3RlcDplLmdldFJpc2tTdGVwKG8pLGZvcm1hdHRlcjppLmZvcm1hdC5iaW5kKGkpfSl9LG4ucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkucmlza0Rpc3BsYXlNb2RlLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25SaXNrRGlzcGxheU1vZGVDaGFuZ2UpLGEucHJvdG90eXBlLmRlc3Ryb3kuY2FsbCh0aGlzKX0sbi5wcm90b3R5cGUub25SZXNvcmVEZWZhdWx0cz1mdW5jdGlvbigpe3RoaXMuX2xpbmV0b29sLnJlY2FsY3VsYXRlKCl9LG4ucHJvdG90eXBlLndpZGdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl90YWJsZX0sdC5MaW5lVG9vbFJpc2tSZXdhcmRJbnB1dHNQcm9wZXJ0eVBhZ2U9aSwNCnQuTGluZVRvb2xSaXNrUmV3YXJkU3R5bGVzUHJvcGVydHlQYWdlPW59LDQwMjpmdW5jdGlvbihlLHQsbyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0LG8pe2EuY2FsbCh0aGlzLGUsdCxvKSx0aGlzLnByZXBhcmVMYXlvdXQoKX1mdW5jdGlvbiBuKGUsdCxvKXtyLmNhbGwodGhpcyxlLHQsbyl9dmFyIGE9bygxNCkscj1vKDgxKSxsPW8oMTApLHA9bC5HcmVhdGVUcmFuc2Zvcm1lcixzPWwuTGVzc1RyYW5zZm9ybWVyLGQ9bC5Ub0Zsb2F0VHJhbnNmb3JtZXIsaD1sLkNvbG9yQmluZGluZyxjPWwuQm9vbGVhbkJpbmRlcixiPWwuU2ltcGxlQ29tYm9CaW5kZXIsdT1sLlNpbXBsZVN0cmluZ0JpbmRlcixDPWwuU2xpZGVyQmluZGVyLHk9bygzMSkuY3JlYXRlTGluZVN0eWxlRWRpdG9yLGc9bygxNSkuY3JlYXRlTGluZVdpZHRoRWRpdG9yLHc9bygzOCkuTnVtZXJpY0Zvcm1hdHRlcjtpbmhlcml0KGksYSksaS5wcm90b3R5cGUucHJlcGFyZUxheW91dD1mdW5jdGlvbigpe3ZhciBlLHQsbyxpLG4sYSxyLGwscCxzLGQsdSx3LFQsXyxtLGY7dGhpcy5fdGFibGU9JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPicpLGU9JCgiPHRib2R5PiIpLmFwcGVuZFRvKHRoaXMuX3RhYmxlKSx0PWcoKSxvPXkoKSxpPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxuPXRoaXMuYWRkTGFiZWxlZFJvdyhlLCQudCgiTGluZSIpKSwkKCI8dGQ+IikuYXBwZW5kKGkpLmFwcGVuZFRvKG4pLCQoIjx0ZD4iKS5hcHBlbmQodCkuYXBwZW5kVG8obiksJCgnPHRkIGNvbHNwYW49IjMiPicpLmFwcGVuZChvLnJlbmRlcigpKS5hcHBlbmRUbyhuKSxhPSQoIjx0Ym9keT4iKS5hcHBlbmRUbyh0aGlzLl90YWJsZSksbj10aGlzLmFkZExhYmVsZWRSb3coYSwkLnQoIlRleHQiKSkscj10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCksbD10aGlzLmNyZWF0ZUZvbnRTaXplRWRpdG9yKCkscD10aGlzLmNyZWF0ZUZvbnRFZGl0b3IoKSxzPSQoJzxzcGFuIGNsYXNzPSJfdHYtYnV0dG9uIF90di1idXR0b24tZm9udHN0eWxlIj48c3BhbiBjbGFzcz0iaWNvbi1mb250c3R5bGUtYm9sZCI+PC9zcGFuPjwvc3Bhbj4nKSxkPSQoJzxzcGFuIGNsYXNzPSJfdHYtYnV0dG9uIF90di1idXR0b24tZm9udHN0eWxlIj48c3BhbiBjbGFzcz0iaWNvbi1mb250c3R5bGUtaXRhbGljIj48L3NwYW4+PC9zcGFuPicpLHU9JCgnPGlucHV0IHR5cGU9ImNoZWNrYm94Ij4nKSwkKCI8dGQ+IikuYXBwZW5kKHIpLmFwcGVuZFRvKG4pLCQoIjx0ZD4iKS5hcHBlbmQocCkuYXBwZW5kVG8obiksJCgiPHRkPiIpLmFwcGVuZChsKS5hcHBlbmRUbyhuKSwkKCI8dGQ+IikuYXBwZW5kKHMpLmFwcGVuZFRvKG4pLCQoIjx0ZD4iKS5hcHBlbmQoZCkuYXBwZW5kVG8obiksdz0kKCc8aW5wdXQgdHlwZT0iY2hlY2tib3giPicpLFQ9JCgnPGlucHV0IHR5cGU9ImNoZWNrYm94Ij4nKSxuPXRoaXMuYWRkTGFiZWxlZFJvdyhhLCQudCgiRXh0ZW5kIFJpZ2h0IEVuZCIpKSwkKCc8dGQgY29sc3Bhbj0iMyI+JykuYXBwZW5kVG8obikuYXBwZW5kKHcpLG49dGhpcy5hZGRMYWJlbGVkUm93KGEsJC50KCJFeHRlbmQgTGVmdCBFbmQiKSksJCgnPHRkIGNvbHNwYW49IjMiPicpLmFwcGVuZFRvKG4pLmFwcGVuZChUKSxfPSQoJzxpbnB1dCB0eXBlPSJjaGVja2JveCI+JyksbT0kKCc8aW5wdXQgdHlwZT0iY2hlY2tib3giPicpLGY9JCgnPGlucHV0IHR5cGU9ImNoZWNrYm94Ij4nKSxuPXRoaXMuYWRkTGFiZWxlZFJvdyhhLCQudCgiU2hvdyBQcmljZSBSYW5nZSIpKSwkKCc8dGQgY29sc3Bhbj0iMyI+JykuYXBwZW5kVG8obikuYXBwZW5kKF8pLG49dGhpcy5hZGRMYWJlbGVkUm93KGEsJC50KCJTaG93IEJhcnMgUmFuZ2UiKSksJCgnPHRkIGNvbHNwYW49IjMiPicpLmFwcGVuZFRvKG4pLmFwcGVuZChtKSxuPXRoaXMuYWRkTGFiZWxlZFJvdyhhLCQudCgiQWx3YXlzIFNob3cgU3RhdHMiKSksJCgnPHRkIGNvbHNwYW49IjMiPicpLmFwcGVuZFRvKG4pLmFwcGVuZChmKSxuPXRoaXMuYWRkTGFiZWxlZFJvdyhhLCQudCgiU2hvdyBNaWRkbGUgUG9pbnQiKSksJCgnPHRkIGNvbHNwYW49IjMiPicpLmFwcGVuZFRvKG4pLmFwcGVuZCh1KSx0aGlzLmJpbmRDb250cm9sKG5ldyBjKF8sdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnNob3dQcmljZVJhbmdlLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRyZW5kIExpbmUgU2hvdyBQcmljZSBSYW5nZSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBjKG0sdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnNob3dCYXJzUmFuZ2UsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVHJlbmQgTGluZSBTaG93IEJhcnMgUmFuZ2UiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgYihsLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5mb250c2l6ZSxwYXJzZUludCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUZXh0IEZvbnQgU2l6ZSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBiKHAsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmZvbnQsbnVsbCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUZXh0IEZvbnQiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgaChyLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS50ZXh0Y29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVGV4dCBDb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBjKHMsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmJvbGQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVGV4dCBGb250IEJvbGQiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhkLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5pdGFsaWMsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVGV4dCBGb250IEl0YWxpYyIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBoKGksdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmxpbmVjb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUcmVuZCBMaW5lIENvbG9yIikpLA0KdGhpcy5iaW5kQ29udHJvbChuZXcgYihvLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5saW5lc3R5bGUscGFyc2VJbnQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVHJlbmQgTGluZSBTdHlsZSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBDKHQsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmxpbmV3aWR0aCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUcmVuZCBMaW5lIFdpZHRoIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGModyx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuZXh0ZW5kUmlnaHQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVHJlbmQgQW5nbGUgRXh0ZW5kaW5nIFJpZ2h0IikpLHRoaXMuYmluZENvbnRyb2wobmV3IGMoVCx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuZXh0ZW5kTGVmdCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUcmVuZCBBbmdsZSBFeHRlbmRpbmcgTGVmdCIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBjKGYsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmFsd2F5c1Nob3dTdGF0cywhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUcmVuZCBMaW5lIEFsd2F5cyBTaG93IFN0YXRzIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGModSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuc2hvd01pZGRsZVBvaW50LCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRyZW5kIExpbmUgU2hvdyBNaWRkbGUgUG9pbnQiKSksdGhpcy5sb2FkRGF0YSgpfSxpLnByb3RvdHlwZS53aWRnZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdGFibGV9LGluaGVyaXQobixyKSxuLnByb3RvdHlwZS5wcmVwYXJlTGF5b3V0PWZ1bmN0aW9uKCl7dmFyIGUsdCxvLGksbixhO3RoaXMuX3RhYmxlPSQoJzx0YWJsZSBjbGFzcz0icHJvcGVydHktcGFnZSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIj4nKSxlPXRoaXMuX2xpbmV0b29sLnBvaW50cygpWzBdLHQ9dGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnBvaW50c1swXSxlJiZ0JiYobz10aGlzLl9jcmVhdGVQb2ludFJvdyhlLHQsIiIpLHRoaXMuX3RhYmxlLmFwcGVuZChvKSxvPSQoIjx0cj4iKS5hcHBlbmRUbyh0aGlzLl90YWJsZSksJCgiPHRkPiIpLmFwcGVuZCgkLnQoIkFuZ2xlIikpLmFwcGVuZFRvKG8pLGk9JCgiPGlucHV0IHR5cGU9J3RleHQnPiIpLCQoIjx0ZD4iKS5hcHBlbmQoaSkuYXBwZW5kVG8obyksbj1bZCh0LnByaWNlLnZhbHVlKCkpLHAoLTM2MCkscygzNjApXSxhPW5ldyB1KGksdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmFuZ2xlLG4sITEsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgYW5nbGUiKSxhLmFkZEZvcm1hdHRlcihmdW5jdGlvbihlKXtyZXR1cm4obmV3IHcpLmZvcm1hdChlKX0pLHRoaXMuYmluZENvbnRyb2woYSksdGhpcy5sb2FkRGF0YSgpKX0sbi5wcm90b3R5cGUud2lkZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3RhYmxlfSx0LkxpbmVUb29sVHJlbmRBbmdsZVN0eWxlc1Byb3BlcnR5UGFnZT1pLHQuTGluZVRvb2xUcmVuZEFuZ2xlSW5wdXRzUHJvcGVydHlQYWdlPW59LDQwMzpmdW5jdGlvbihlLHQsbyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0LG8pe2EuY2FsbCh0aGlzLGUsdCxvKSx0aGlzLnByZXBhcmVMYXlvdXQoKX1mdW5jdGlvbiBuKGUsdCxvKXtyLmNhbGwodGhpcyxlLHQsbyl9dmFyIGE9bygxNCkscj1vKDgxKSxsPW8oMTApLHA9bC5Cb29sZWFuQmluZGVyLHM9bC5TaW1wbGVDb21ib0JpbmRlcixkPWwuU2xpZGVyQmluZGVyLGg9bC5Db2xvckJpbmRpbmcsYz1vKDMxKS5jcmVhdGVMaW5lU3R5bGVFZGl0b3IsYj1vKDE1KS5jcmVhdGVMaW5lV2lkdGhFZGl0b3I7aW5oZXJpdChpLGEpLGkucHJvdG90eXBlLnByZXBhcmVMYXlvdXQ9ZnVuY3Rpb24oKXt2YXIgZSx0LG8saSxuO3RoaXMuX3RhYmxlPSQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGFibGUiKSksdGhpcy5fdGFibGUuYWRkQ2xhc3MoInByb3BlcnR5LXBhZ2UiKSx0aGlzLl90YWJsZS5hdHRyKCJjZWxsc3BhY2luZyIsIjAiKSx0aGlzLl90YWJsZS5hdHRyKCJjZWxscGFkZGluZyIsIjIiKSxlPWIoKSx0PWMoKSxvPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxpPXRoaXMuYWRkTGFiZWxlZFJvdyh0aGlzLl90YWJsZSwiTGluZSIpLCQoIjx0ZD4iKS5wcmVwZW5kVG8oaSksJCgiPHRkPiIpLmFwcGVuZChvKS5hcHBlbmRUbyhpKSwkKCI8dGQ+IikuYXBwZW5kKGUpLmFwcGVuZFRvKGkpLCQoIjx0ZD4iKS5hcHBlbmQodC5yZW5kZXIoKSkuYXBwZW5kVG8oaSksbj0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnIGNsYXNzPSd2aXNpYmlsaXR5LXN3aXRjaCc+IiksaT0kKCI8dHI+IikuYXBwZW5kVG8odGhpcy5fdGFibGUpLCQoIjx0ZD4iKS5hcHBlbmQobikucHJlcGVuZFRvKGkpLHRoaXMuY3JlYXRlTGFiZWxlZENlbGwoMiwiU2hvdyBUaW1lIixuKS5hcHBlbmRUbyhpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKG4sdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnNob3dUaW1lLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFZlcnQgTGluZSBUaW1lIFZpc2liaWxpdHkiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgaChvLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5saW5lY29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVmVydCBMaW5lIENvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHModCx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkubGluZXN0eWxlLHBhcnNlSW50LCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFZlcnQgTGluZSBTdHlsZSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBkKGUsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmxpbmV3aWR0aCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBWZXJ0IExpbmUgV2lkdGgiKSksdGhpcy5sb2FkRGF0YSgpfSxpLnByb3RvdHlwZS53aWRnZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdGFibGV9LGluaGVyaXQobixyKSxuLnByb3RvdHlwZS5wcmVwYXJlTGF5b3V0PWZ1bmN0aW9uKCl7dmFyIGUsdCxvLGkNCjt0aGlzLl90YWJsZT0kKCc8dGFibGUgY2xhc3M9InByb3BlcnR5LXBhZ2UiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+JyksKGU9dGhpcy5fbGluZXRvb2wucG9pbnRzKClbMF0pJiYodD0kKCc8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9InRpY2tlciI+Jyksbz0kKCI8dHI+IikuYXBwZW5kVG8odGhpcy5fdGFibGUpLCQoIjx0ZD4iKyQudCgiQmFyICMiKSsiPC90ZD4iKS5hcHBlbmRUbyhvKSwkKCI8dGQ+IikuYXBwZW5kKHQpLmFwcGVuZFRvKG8pLGk9dGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnBvaW50c1swXSx0aGlzLmJpbmRCYXJJbmRleChpLmJhcix0LHRoaXMubW9kZWwoKSwiQ2hhbmdlICIrdGhpcy5fbGluZXRvb2wrIiBwb2ludCBiYXIgaW5kZXgiKSx0aGlzLmxvYWREYXRhKCkpfSx0LkxpbmVUb29sVmVydExpbmVTdHlsZXNQcm9wZXJ0eVBhZ2U9aSx0LkxpbmVUb29sVmVydExpbmVJbnB1dHNQcm9wZXJ0eVBhZ2U9bn0sNDA3OmZ1bmN0aW9uKGUsdCxvKXsoZnVuY3Rpb24odCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoKXt9dmFyIG49bygxMCksYT1uLlByb3BlcnR5UGFnZSxyPW4uR3JlYXRlVHJhbnNmb3JtZXIsbD1uLkxlc3NUcmFuc2Zvcm1lcixwPW4uVG9JbnRUcmFuc2Zvcm1lcixzPW4uVG9GbG9hdFRyYW5zZm9ybWVyLGQ9bi5TaW1wbGVTdHJpbmdCaW5kZXIsaD1uLlNpbXBsZUNvbWJvQmluZGVyLGM9bi5Db2xvckJpbmRpbmcsYj1uLkJvb2xlYW5CaW5kZXIsdT1uLlNsaWRlckJpbmRlcixDPW8oNzEpLHk9bygxNSkuY3JlYXRlTGluZVdpZHRoRWRpdG9yLGc9bygxMTIwKS5jcmVhdGVQcmljZVNvdXJjZUVkaXRvcix3PW8oMzgpLk51bWVyaWNGb3JtYXR0ZXI7aW5oZXJpdChpLGEpLGkucHJvdG90eXBlLmkxOG5DYWNoZT1bd2luZG93LnQoIlN0eWxlIiksd2luZG93LnQoIkJveCBzaXplIGFzc2lnbm1lbnQgbWV0aG9kIiksd2luZG93LnQoIkNvbG9yIGJhcnMgYmFzZWQgb24gcHJldmlvdXMgY2xvc2UiKSx3aW5kb3cudCgiQ2FuZGxlcyIpLHdpbmRvdy50KCJCb3JkZXJzIiksd2luZG93LnQoIldpY2siKSx3aW5kb3cudCgiSExDIEJhcnMiKSx3aW5kb3cudCgiUHJpY2UgU291cmNlIiksd2luZG93LnQoIlR5cGUiKSx3aW5kb3cudCgiU2hvdyByZWFsIHByaWNlcyBvbiBwcmljZSBzY2FsZSAoaW5zdGVhZCBvZiBIZWlraW4tQXNoaSBwcmljZSkiKSx3aW5kb3cudCgiVXAgYmFycyIpLHdpbmRvdy50KCJEb3duIGJhcnMiKSx3aW5kb3cudCgiUHJvamVjdGlvbiB1cCBiYXJzIiksd2luZG93LnQoIlByb2plY3Rpb24gZG93biBiYXJzIiksd2luZG93LnQoIkxpbmUiKSx3aW5kb3cudCgiRmlsbCIpLHdpbmRvdy50KCJVcCBDb2xvciIpLHdpbmRvdy50KCJEb3duIENvbG9yIiksd2luZG93LnQoIlRyYWRpdGlvbmFsIiksd2luZG93LnQoIkFUUiBMZW5ndGgiKSx3aW5kb3cudCgiTnVtYmVyIE9mIExpbmUiKSx3aW5kb3cudCgiUmV2ZXJzYWwgQW1vdW50Iiksd2luZG93LnQoIkJveCBTaXplIildLGkucHJvdG90eXBlLmdldElucHV0VGl0bGU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4ic3R5bGUiPT09ZT93aW5kb3cudCgiQm94IHNpemUgYXNzaWdubWVudCBtZXRob2QiKToiYm94U2l6ZSI9PT1lP3dpbmRvdy50KCJCb3ggU2l6ZSIpOnQuaW5wdXRJbmZvP3QuaW5wdXRJbmZvW2VdLm5hbWUudmFsdWUoKTplLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvXGJcdy9nLGZ1bmN0aW9uKGUpe3JldHVybiBlLnRvVXBwZXJDYXNlKCl9KX0saS5wcm90b3R5cGUucHJlcGFyZUxheW91dEltcGw9ZnVuY3Rpb24oZSx0LG8saSl7ZnVuY3Rpb24gbih0KXtiLnJlZnJlc2hTdGF0ZUNvbnRyb2xzKGMsZS5pbnB1dHMsby5pbnB1dHMpfWZ1bmN0aW9uIGEoZSl7cmV0dXJuKG5ldyB3KS5mb3JtYXQoZSl9dmFyIGMsYix1LEMseSxnLFQsXyxtLGYsTCx2LGssUyxQLHgsQixFO2ZvcihpPWl8fHt9LGM9e30sYj10aGlzLHU9MDt1PGUuaW5wdXRzLmxlbmd0aDt1Kyspe0M9ZS5pbnB1dHNbdV0seT1DLmlkLFQ9IkJhclNldFJlbmtvQHR2LXByb3N0dWRpZXMiPT09ZS5uYW1lfHwiQmFyU2V0S2FnaUB0di1wcm9zdHVkaWVzIj09PWUubmFtZXx8IkJhclNldFByaWNlQnJlYWtAdHYtcHJvc3R1ZGllcyI9PT1lLm5hbWUsIkJhclNldFBuRkB0di1wcm9zdHVkaWVzIj09PWUubmFtZSYmInNvdXJjZXMiPT09eSYmKEMub3B0aW9ucz1DLm9wdGlvbnMuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiJITCI9PT1lfHwiQ2xvc2UiPT09ZX0pKTt0cnl7Zz10aGlzLmdldElucHV0VGl0bGUoeSxvKX1jYXRjaChlKXtjb250aW51ZX1pZigoIkJhclNldFJlbmtvQHR2LXByb3N0dWRpZXMiIT09ZS5uYW1lfHwid2lja3MiIT09eSkmJighVHx8InNvdXJjZSIhPT15KSl7aWYoXz0kKCI8dHIvPiIpLEMuaXNIaWRkZW58fF8uYXBwZW5kVG8odCksbT0kKCI8dGQiKyhpLm5hbWVDb2xzcGFuPycgY29sc3BhbiA9ICInK2kubmFtZUNvbHNwYW4rJyInOiIiKSsiLz4iKSxtLmFwcGVuZFRvKF8pLG0uYWRkQ2xhc3MoInByb3BlcnR5cGFnZS1uYW1lLWxhYmVsIiksbS50ZXh0KCQudChnKSksZj0kKCI8dGQiKyhpLnZhbHVlQ29sc3Bhbj8nIGNvbHNwYW4gPSAiJytpLnZhbHVlQ29sc3BhbisnIic6IiIpKyIvPiIpLGYuYXBwZW5kVG8oXyksTD1udWxsLEMub3B0aW9ucylmb3IoTD0kKCI8c2VsZWN0Lz4iKSx2PTA7djxDLm9wdGlvbnMubGVuZ3RoO3YrKylrPUMub3B0aW9uc1t2XSwkKCI8b3B0aW9uIHZhbHVlPSciK2srIic+IiskLnQoaykrIjwvb3B0aW9uPiIpLmFwcGVuZFRvKEwpO2Vsc2UgTD0kKCI8aW5wdXQvPiIpLCJib29sIj09PUMudHlwZT9MLmF0dHIoInR5cGUiLCJjaGVja2JveCIpOkwuYXR0cigidHlwZSIsInRleHQiKTtMLmFwcGVuZFRvKGYpLEwuY3NzKCJ3aWR0aCIsIjEwMHB4IiksUz0iQ2hhbmdlICIrZyxDLm9wdGlvbnM/dGhpcy5iaW5kQ29udHJvbChuZXcgaChMLG8uaW5wdXRzW3ldLG51bGwsITAsdGhpcy5tb2RlbCgpLFMpKToiaW50ZWdlciI9PT1DLnR5cGU/KFA9W3AoQy5kZWZ2YWwpXSxDLm1pbiYmUC5wdXNoKHIoQy5taW4pKSxDLm1heCYmUC5wdXNoKGwoQy5tYXgpKSwNCnRoaXMuYmluZENvbnRyb2wobmV3IGQoTCxvLmlucHV0c1t5XSxQLCExLHRoaXMubW9kZWwoKSxTKSksTC5hZGRDbGFzcygidGlja2VyIikpOiJmbG9hdCI9PT1DLnR5cGU/KFA9W3MoQy5kZWZ2YWwpXSxDLm1pbiYmKCgoIkJhclNldFJlbmtvQHR2LXByb3N0dWRpZXMiPT09ZS5pZHx8IkJhclNldFBuRkB0di1wcm9zdHVkaWVzIj09PWUuaWQpJiYiYm94U2l6ZSI9PT1DLmlkfHwiQmFyU2V0S2FnaUB0di1wcm9zdHVkaWVzIj09PWUuaWQmJiJyZXZlcnNhbEFtb3VudCI9PT1DLmlkKSYmKEI9dGhpcy5fbW9kZWwubW9kZWwoKS5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpLHg9Qi5taW5tb3YvQi5wcmljZXNjYWxlKSxQLnB1c2gocih4fHxDLm1pbikpKSxDLm1heCYmUC5wdXNoKGwoQy5tYXgpKSxFPW5ldyBkKEwsby5pbnB1dHNbeV0sUCwhMSx0aGlzLm1vZGVsKCksUyksRS5hZGRGb3JtYXR0ZXIoYSksdGhpcy5iaW5kQ29udHJvbChFKSxMLmFkZENsYXNzKCJ0aWNrZXIiKSk6InRleHQiPT09Qy50eXBlJiZ0aGlzLmJpbmRDb250cm9sKG5ldyBkKEwsdGhpcy5fcHJvcGVydHkuaW5wdXRzW3ldLG51bGwsITEsdGhpcy5tb2RlbCgpLFMpKSxMLmNoYW5nZShuKSxjW0MuaWRdPV99fXRoaXMucmVmcmVzaFN0YXRlQ29udHJvbHMoYyxlLmlucHV0cyxvLmlucHV0cyl9LGkucHJvdG90eXBlLmdldE1ldGFJbmZvPWZ1bmN0aW9uKGUpe3ZhciB0LG89dGhpcy5fbW9kZWwubV9tb2RlbC5fc3R1ZGllc01ldGFEYXRhO2Zvcih0PTA7dDxvLmxlbmd0aDt0KyspaWYob1t0XS5pZD09PWUpcmV0dXJuIG9bdF07cmV0dXJuIG51bGx9LGkucHJvdG90eXBlLl9pc0phcGFuZXNlQ2hhcnRzQXZhaWxhYmxlPWZ1bmN0aW9uKCl7cmV0dXJuITB9LGkucHJvdG90eXBlLl9wcmVwYXJlU2VyaWVzU3R5bGVMYXlvdXQ9ZnVuY3Rpb24oZSxvLGksbil7dmFyIGEscyx3LFQsXyxtLGYsTCx2LGssUyxQLHgsQixFLFIsRixJLEEsRCxXLE8sVixqLHosTSxILHEsTixHLFUsWSxLLFEsSixaLFgsZWUsdGUsb2UsaWUsbmUsYWUscmUsbGUscGUsc2UsZGUsaGUsY2UsYmUsdWUsQ2UseWUsZ2UsJGUsd2UsVGUsX2UsbWUsZmUsTGUsdmUsa2UsU2UsUGUseGUsQmUsRWUsUmUsRmUsSWUsQWUsRGUsV2UsT2UsVmUsamUsemUsTWU9JCgiPHRib2R5PiIpLmFwcGVuZFRvKGUpLEhlPXRoaXMuX2NhbmRsZXNDb2xvcmVyVGJvZHk9JCgiPHRib2R5PiIpLmFwcGVuZFRvKG8pLHFlPXRoaXMuX2JhcnNDb2xvcmVyVGJvZHk9JCgiPHRib2R5PiIpLmFwcGVuZFRvKG8pLE5lPXRoaXMuX2hhQ29sb3JlclRib2R5PSQoIjx0Ym9keT4iKS5hcHBlbmRUbyhvKSxHZT10aGlzLl9jYW5kbGVzVGJvZHk9JCgiPHRib2R5PiIpLmFwcGVuZFRvKGkpLFVlPXRoaXMuX2hvbGxvd0NhbmRsZXNUYm9keT0kKCI8dGJvZHk+IikuYXBwZW5kVG8oaSksWWU9dGhpcy5faGFUYm9keT0kKCI8dGJvZHk+IikuYXBwZW5kVG8oaSksS2U9dGhpcy5fYmFyc1Rib2R5PSQoIjx0Ym9keT4iKS5hcHBlbmRUbyhpKSxRZT10aGlzLl9saW5lVGJvZHk9JCgiPHRib2R5PiIpLmFwcGVuZFRvKGkpLEplPXRoaXMuX2FyZWFUYm9keT0kKCI8dGJvZHk+IikuYXBwZW5kVG8oaSksWmU9dGhpcy5fcmVua29UYm9keT0kKCI8dGJvZHk+IikuYXBwZW5kVG8oaSksWGU9dGhpcy5fcGJUYm9keT0kKCI8dGJvZHk+IikuYXBwZW5kVG8oaSksZXQ9dGhpcy5fa2FnaVRib2R5PSQoIjx0Ym9keT4iKS5hcHBlbmRUbyhpKSx0dD10aGlzLl9wbmZUYm9keT0kKCI8dGJvZHk+IikuYXBwZW5kVG8oaSksb3Q9dGhpcy5fYmFzZWxpbmVUYm9keT0kKCI8dGJvZHk+IikuYXBwZW5kVG8oaSksaXQ9dGhpcy5hZGRMYWJlbGVkUm93KE1lLCJTdHlsZSIpLG50PSQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKSkuYXBwZW5kVG8oaXQpO250LmFkZENsYXNzKCJwcm9wZXJ0eS13aWRlLXNlbGVjdCIpLGE9JChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzZWxlY3QiKSksJCgiPG9wdGlvbiB2YWx1ZT0iK0MuU1RZTEVfQkFSUysiPiIrJC50KCJCYXJzIikrIjwvb3B0aW9uPiIpLmFwcGVuZFRvKGEpLCQoIjxvcHRpb24gdmFsdWU9IitDLlNUWUxFX0NBTkRMRVMrIj4iKyQudCgiQ2FuZGxlcyIpKyI8L29wdGlvbj4iKS5hcHBlbmRUbyhhKSwkKCI8b3B0aW9uIHZhbHVlPSIrQy5TVFlMRV9IT0xMT1dfQ0FORExFUysiPiIrJC50KCJIb2xsb3cgQ2FuZGxlcyIpKyI8L29wdGlvbj4iKS5hcHBlbmRUbyhhKSx0aGlzLl9pc0phcGFuZXNlQ2hhcnRzQXZhaWxhYmxlKCkmJiQoIjxvcHRpb24gdmFsdWU9IitDLlNUWUxFX0hFSUtFTl9BU0hJKyI+IiskLnQoIkhlaWtpbiBBc2hpIikrIjwvb3B0aW9uPiIpLmFwcGVuZFRvKGEpLCQoIjxvcHRpb24gdmFsdWU9IitDLlNUWUxFX0xJTkUrIj4iKyQudCgiTGluZSIpKyI8L29wdGlvbj4iKS5hcHBlbmRUbyhhKSwkKCI8b3B0aW9uIHZhbHVlPSIrQy5TVFlMRV9BUkVBKyI+IiskLnQoIkFyZWEiKSsiPC9vcHRpb24+IikuYXBwZW5kVG8oYSksJCgiPG9wdGlvbiB2YWx1ZT0iK0MuU1RZTEVfQkFTRUxJTkUrIj4iKyQudCgiQmFzZWxpbmUiKSsiPC9vcHRpb24+IikuYXBwZW5kVG8oYSksYS5jc3MoIndpZHRoIiwiMTAwcHgiKS5hcHBlbmRUbyhudCksdGhpcy5zd2l0Y2hTdHlsZSgpLHM9ZnVuY3Rpb24oZSl7dGhpcy5fdW5kb01vZGVsLnNldENoYXJ0U3R5bGVQcm9wZXJ0eSh0aGlzLl9wcm9wZXJ0eSxlLHRoaXMuX3VuZG9UZXh0KX0sdGhpcy5iaW5kQ29udHJvbChuZXcgaChhLG4uc3R5bGUscGFyc2VJbnQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgU2VyaWVzIFN0eWxlIixzKSksbi5zdHlsZS5saXN0ZW5lcnMoKS5zdWJzY3JpYmUodGhpcyx0aGlzLnN3aXRjaFN0eWxlKSx3PXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxUPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxfPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxtPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxmPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxMPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSwNCnY9JCgiPGlucHV0IHR5cGU9J2NoZWNrYm94JyBjbGFzcz0ndmlzaWJpbGl0eS1zd2l0Y2gnLz4iKS5kYXRhKCJoaWRlcyIsJChmKS5hZGQoTCkpLGs9JCgiPGlucHV0IHR5cGU9J2NoZWNrYm94JyBjbGFzcz0ndmlzaWJpbGl0eS1zd2l0Y2gnLz4iKS5kYXRhKCJoaWRlcyIsJChfKS5hZGQobSkpLFM9JCgiPGlucHV0IHR5cGU9J2NoZWNrYm94Jy8+IiksUD10aGlzLmFkZExhYmVsZWRSb3coSGUsIkNvbG9yIGJhcnMgYmFzZWQgb24gcHJldmlvdXMgY2xvc2UiLFMpLCQoIjx0ZD4iKS5hcHBlbmQoUykucHJlcGVuZFRvKFApLFA9dGhpcy5hZGRMYWJlbGVkUm93KEdlLCJDYW5kbGVzIiksJCgiPHRkPiIpLnByZXBlbmRUbyhQKSwkKCI8dGQ+IikuYXBwZW5kKHcpLmFwcGVuZFRvKFApLCQoIjx0ZD4iKS5hcHBlbmQoVCkuYXBwZW5kVG8oUCksUD10aGlzLmFkZExhYmVsZWRSb3coR2UsIkJvcmRlcnMiLHYpLCQoIjx0ZD4iKS5hcHBlbmQodikucHJlcGVuZFRvKFApLCQoIjx0ZD4iKS5hcHBlbmQoZikuYXBwZW5kVG8oUCksJCgiPHRkPiIpLmFwcGVuZChMKS5hcHBlbmRUbyhQKSxQPXRoaXMuYWRkTGFiZWxlZFJvdyhHZSwiV2ljayIsayksJCgiPHRkPiIpLmFwcGVuZChrKS5wcmVwZW5kVG8oUCksJCgiPHRkPiIpLmFwcGVuZChfKS5hcHBlbmRUbyhQKSwkKCI8dGQ+IikuYXBwZW5kKG0pLmFwcGVuZFRvKFApLHRoaXMuYmluZENvbnRyb2wobmV3IGModyxuLmNhbmRsZVN0eWxlLnVwQ29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgQ2FuZGxlIFVwIENvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGMoVCxuLmNhbmRsZVN0eWxlLmRvd25Db2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBDYW5kbGUgRG93biBDb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBiKGssbi5jYW5kbGVTdHlsZS5kcmF3V2ljaywhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBDYW5kbGUgV2ljayBWaXNpYmlsaXR5IikpLHRoaXMuYmluZENvbnRyb2wobmV3IGMoXyxuLmNhbmRsZVN0eWxlLndpY2tVcENvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIENhbmRsZSBXaWNrIFVwIENvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGMobSxuLmNhbmRsZVN0eWxlLndpY2tEb3duQ29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgQ2FuZGxlIFdpY2sgRG93biBDb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBiKHYsbi5jYW5kbGVTdHlsZS5kcmF3Qm9yZGVyLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIENhbmRsZSBCb3JkZXIgVmlzaWJpbGl0eSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBjKGYsbi5jYW5kbGVTdHlsZS5ib3JkZXJVcENvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIENhbmRsZSBVcCBCb3JkZXIgQ29sb3IiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhMLG4uY2FuZGxlU3R5bGUuYm9yZGVyRG93bkNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIENhbmRsZSBEb3duIEJvcmRlciBDb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBiKFMsbi5jYW5kbGVTdHlsZS5iYXJDb2xvcnNPblByZXZDbG9zZSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBDb2xvciBCYXJzIEJhc2VkIE9uIFByZXZpb3VzIENsb3NlIikpLHg9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLEI9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLEU9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLFI9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLEY9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLEk9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLEE9JCgiPGlucHV0IHR5cGU9J2NoZWNrYm94JyBjbGFzcz0ndmlzaWJpbGl0eS1zd2l0Y2gnLz4iKS5kYXRhKCJoaWRlcyIsJChGKS5hZGQoSSkpLEQ9JCgiPGlucHV0IHR5cGU9J2NoZWNrYm94JyBjbGFzcz0ndmlzaWJpbGl0eS1zd2l0Y2gnLz4iKS5kYXRhKCJoaWRlcyIsJChFKS5hZGQoUikpLFA9dGhpcy5hZGRMYWJlbGVkUm93KFVlLCJDYW5kbGVzIiksJCgiPHRkPiIpLnByZXBlbmRUbyhQKSwkKCI8dGQ+IikuYXBwZW5kKHgpLmFwcGVuZFRvKFApLCQoIjx0ZD4iKS5hcHBlbmQoQikuYXBwZW5kVG8oUCksUD10aGlzLmFkZExhYmVsZWRSb3coVWUsIkJvcmRlcnMiLEEpLCQoIjx0ZD4iKS5hcHBlbmQoQSkucHJlcGVuZFRvKFApLCQoIjx0ZD4iKS5hcHBlbmQoRikuYXBwZW5kVG8oUCksJCgiPHRkPiIpLmFwcGVuZChJKS5hcHBlbmRUbyhQKSxQPXRoaXMuYWRkTGFiZWxlZFJvdyhVZSwiV2ljayIsRCksJCgiPHRkPiIpLmFwcGVuZChEKS5wcmVwZW5kVG8oUCksJCgiPHRkPiIpLmFwcGVuZChFKS5hcHBlbmRUbyhQKSwkKCI8dGQ+IikuYXBwZW5kKFIpLmFwcGVuZFRvKFApLHRoaXMuYmluZENvbnRyb2wobmV3IGMoeCxuLmhvbGxvd0NhbmRsZVN0eWxlLnVwQ29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgSG9sbG93IENhbmRsZSBVcCBDb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBjKEIsbi5ob2xsb3dDYW5kbGVTdHlsZS5kb3duQ29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgSG9sbG93IENhbmRsZSBEb3duIENvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGIoRCxuLmhvbGxvd0NhbmRsZVN0eWxlLmRyYXdXaWNrLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEhvbGxvdyBDYW5kbGUgV2ljayBWaXNpYmlsaXR5IikpLHRoaXMuYmluZENvbnRyb2wobmV3IGMoRSxuLmhvbGxvd0NhbmRsZVN0eWxlLndpY2tVcENvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEhvbGxvdyBDYW5kbGUgV2ljayBVcCBDb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBjKFIsbi5ob2xsb3dDYW5kbGVTdHlsZS53aWNrRG93bkNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEhvbGxvdyBDYW5kbGUgRG93biBXaWNrIENvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGIoQSxuLmhvbGxvd0NhbmRsZVN0eWxlLmRyYXdCb3JkZXIsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgSG9sbG93IENhbmRsZSBCb3JkZXIgVmlzaWJpbGl0eSIpKSwNCnRoaXMuYmluZENvbnRyb2wobmV3IGMoRixuLmhvbGxvd0NhbmRsZVN0eWxlLmJvcmRlclVwQ29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgSG9sbG93IENhbmRsZSBVcCBCb3JkZXIgQ29sb3IiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhJLG4uaG9sbG93Q2FuZGxlU3R5bGUuYm9yZGVyRG93bkNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEhvbGxvdyBDYW5kbGUgRG93biBCb3JkZXIgQ29sb3IiKSksVz0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnLz4iKSxQPXRoaXMuYWRkTGFiZWxlZFJvdyhxZSwiQ29sb3IgYmFycyBiYXNlZCBvbiBwcmV2aW91cyBjbG9zZSIsVyksJCgiPHRkPiIpLmFwcGVuZChXKS5wcmVwZW5kVG8oUCksTz0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnLz4iKSxQPXRoaXMuYWRkTGFiZWxlZFJvdyhxZSwiSExDIEJhcnMiLE8pLCQoIjx0ZD4iKS5hcHBlbmQoTykucHJlcGVuZFRvKFApLFY9dGhpcy5hZGRDb2xvclBpY2tlclJvdyhLZSwiVXAgQ29sb3IiKSxqPXRoaXMuYWRkQ29sb3JQaWNrZXJSb3coS2UsIkRvd24gQ29sb3IiKSx0aGlzLmJpbmRDb250cm9sKG5ldyBjKFYsbi5iYXJTdHlsZS51cENvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEJhciBVcCBDb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBjKGosbi5iYXJTdHlsZS5kb3duQ29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgQmFyIERvd24gQ29sb3IiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgYihXLG4uYmFyU3R5bGUuYmFyQ29sb3JzT25QcmV2Q2xvc2UsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgQ29sb3IgQmFycyBCYXNlZCBPbiBQcmV2aW91cyBDbG9zZSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBiKE8sbi5iYXJTdHlsZS5kb250RHJhd09wZW4sITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgSExDIEJhcnMiKSksej1nKCksUD10aGlzLmFkZExhYmVsZWRSb3coUWUsIlByaWNlIFNvdXJjZSIpLCQoJzx0ZCBjb2xzcGFuPSIzIj4nKS5hcHBlbmQoeikuYXBwZW5kVG8oUCksTT10aGlzLmFkZExhYmVsZWRSb3coUWUsIlR5cGUiKSxIPSQoJzx0ZCBjb2xzcGFuPSIzIj4nKS5hcHBlbmRUbyhNKSxILmFkZENsYXNzKCJwcm9wZXJ0eS13aWRlLXNlbGVjdCIpLHE9JChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzZWxlY3QiKSksJCgiPG9wdGlvbiB2YWx1ZT0iK0MuU1RZTEVfTElORV9UWVBFX1NJTVBMRSsiPiIrJC50KCJTaW1wbGUiKSsiPC9vcHRpb24+IikuYXBwZW5kVG8ocSksJCgiPG9wdGlvbiB2YWx1ZT0iK0MuU1RZTEVfTElORV9UWVBFX01BUktFUlMrIj4iKyQudCgiV2l0aCBNYXJrZXJzIikrIjwvb3B0aW9uPiIpLmFwcGVuZFRvKHEpLCQoIjxvcHRpb24gdmFsdWU9IitDLlNUWUxFX0xJTkVfVFlQRV9TVEVQKyI+IiskLnQoIlN0ZXAiKSsiPC9vcHRpb24+IikuYXBwZW5kVG8ocSkscS5hcHBlbmRUbyhIKSxQPXRoaXMuYWRkTGFiZWxlZFJvdyhRZSwiTGluZSIpLE49dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLEc9eSgpLCQoIjx0ZD4iKS5hcHBlbmQoTikuYXBwZW5kVG8oUCksJCgiPHRkPiIpLmFwcGVuZChHKS5hcHBlbmRUbyhQKSx0aGlzLmJpbmRDb250cm9sKG5ldyBoKHosbi5saW5lU3R5bGUucHJpY2VTb3VyY2UsbnVsbCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBQcmljZSBTb3VyY2UiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgaChxLG4ubGluZVN0eWxlLnN0eWxlVHlwZSxwYXJzZUludCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBMaW5lIFR5cGUiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhOLG4ubGluZVN0eWxlLmNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIExpbmUgQ29sb3IiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgdShHLG4ubGluZVN0eWxlLmxpbmV3aWR0aCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBMaW5lIFdpZHRoIikpLG4uaGFTdHlsZSYmKFU9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLFk9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLEs9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLFE9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLEo9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLFo9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLFg9JCgiPGlucHV0IHR5cGU9J2NoZWNrYm94JyBjbGFzcz0ndmlzaWJpbGl0eS1zd2l0Y2gnLz4iKS5kYXRhKCJoaWRlcyIsJChKKS5hZGQoWikpLGVlPSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgY2xhc3M9J3Zpc2liaWxpdHktc3dpdGNoJy8+IikuZGF0YSgiaGlkZXMiLCQoSykuYWRkKFEpKSx0ZT0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnLz4iKSxQPXRoaXMuYWRkTGFiZWxlZFJvdyhOZSwkLnQoIkNvbG9yIGJhcnMgYmFzZWQgb24gcHJldmlvdXMgY2xvc2UiKSx0ZSksJCgiPHRkPiIpLmFwcGVuZCh0ZSkucHJlcGVuZFRvKFApLFA9dGhpcy5hZGRMYWJlbGVkUm93KFllLCQudCgiQ2FuZGxlcyIpKSwkKCI8dGQ+IikucHJlcGVuZFRvKFApLCQoIjx0ZD4iKS5hcHBlbmQoVSkuYXBwZW5kVG8oUCksJCgiPHRkPiIpLmFwcGVuZChZKS5hcHBlbmRUbyhQKSxQPXRoaXMuYWRkTGFiZWxlZFJvdyhZZSwkLnQoIkJvcmRlcnMiKSxYKSwkKCI8dGQ+IikuYXBwZW5kKFgpLnByZXBlbmRUbyhQKSwkKCI8dGQ+IikuYXBwZW5kKEopLmFwcGVuZFRvKFApLCQoIjx0ZD4iKS5hcHBlbmQoWikuYXBwZW5kVG8oUCksUD10aGlzLmFkZExhYmVsZWRSb3coWWUsJC50KCJXaWNrIiksZWUpLCQoIjx0ZD4iKS5hcHBlbmQoZWUpLnByZXBlbmRUbyhQKSwkKCI8dGQ+IikuYXBwZW5kKEspLmFwcGVuZFRvKFApLCQoIjx0ZD4iKS5hcHBlbmQoUSkuYXBwZW5kVG8oUCksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhVLG4uaGFTdHlsZS51cENvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEhlaWtpbiBBc2hpIFVwIENvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGMoWSxuLmhhU3R5bGUuZG93bkNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEhlaWtpbiBBc2hpIERvd24gQ29sb3IiKSksDQp0aGlzLmJpbmRDb250cm9sKG5ldyBiKGVlLG4uaGFTdHlsZS5kcmF3V2ljaywhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBIZWlraW4gQXNoaSBXaWNrIFZpc2liaWxpdHkiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhLLG4uaGFTdHlsZS53aWNrVXBDb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBIZWlraW4gQXNoaSBXaWNrIFVwIENvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGMoUSxuLmhhU3R5bGUud2lja0Rvd25Db2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBIZWlraW4gQXNoaSBXaWNrIERvd24gQ29sb3IiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgYihYLG4uaGFTdHlsZS5kcmF3Qm9yZGVyLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEhlaWtpbiBBc2hpIEJvcmRlciBWaXNpYmlsaXR5IikpLHRoaXMuYmluZENvbnRyb2wobmV3IGMoSixuLmhhU3R5bGUuYm9yZGVyVXBDb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBIZWlraW4gQXNoaSBVcCBCb3JkZXIgQ29sb3IiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhaLG4uaGFTdHlsZS5ib3JkZXJEb3duQ29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgSGVpa2luIEFzaGkgRG93biBCb3JkZXIgQ29sb3IiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgYih0ZSxuLmhhU3R5bGUuYmFyQ29sb3JzT25QcmV2Q2xvc2UsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgQ29sb3IgQmFycyBCYXNlZCBPbiBQcmV2aW91cyBDbG9zZSIpKSksdGhpcy5faXNKYXBhbmVzZUNoYXJ0c0F2YWlsYWJsZSgpJiZ0LmVuYWJsZWQoImphcGFuZXNlX2NoYXJ0X3N0eWxlcyIpJiYoJCgiPG9wdGlvbiB2YWx1ZT0iK0MuU1RZTEVfUkVOS08rIj4iKyQudCgiUmVua28iKSsiPC9vcHRpb24+IikuYXBwZW5kVG8oYSksJCgiPG9wdGlvbiB2YWx1ZT0iK0MuU1RZTEVfUEIrIj4iKyQudCgiTGluZSBCcmVhayIpKyI8L29wdGlvbj4iKS5hcHBlbmRUbyhhKSwkKCI8b3B0aW9uIHZhbHVlPSIrQy5TVFlMRV9LQUdJKyI+IiskLnQoIkthZ2kiKSsiPC9vcHRpb24+IikuYXBwZW5kVG8oYSksJCgiPG9wdGlvbiB2YWx1ZT0iK0MuU1RZTEVfUE5GKyI+IiskLnQoIlBvaW50ICYgRmlndXJlIikrIjwvb3B0aW9uPiIpLmFwcGVuZFRvKGEpLG9lPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxpZT10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCksUD10aGlzLmFkZExhYmVsZWRSb3coWmUsIlVwIGJhcnMiKSwkKCI8dGQ+IikucHJlcGVuZFRvKFApLCQoJzx0ZCBjbGFzcz0ic29tZS1jb2xvcnBpY2tlciI+JykuYXBwZW5kKG9lKS5hcHBlbmQoaWUpLmFwcGVuZFRvKFApLG5lPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxhZT10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCksUD10aGlzLmFkZExhYmVsZWRSb3coWmUsIkRvd24gYmFycyIpLCQoIjx0ZD4iKS5wcmVwZW5kVG8oUCksJCgnPHRkIGNsYXNzPSJzb21lLWNvbG9ycGlja2VyIj4nKS5hcHBlbmQobmUpLmFwcGVuZChhZSkuYXBwZW5kVG8oUCkscmU9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLGxlPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxQPXRoaXMuYWRkTGFiZWxlZFJvdyhaZSwiUHJvamVjdGlvbiB1cCBiYXJzIiksJCgiPHRkPiIpLnByZXBlbmRUbyhQKSwkKCc8dGQgY2xhc3M9InNvbWUtY29sb3JwaWNrZXIiPicpLmFwcGVuZChyZSkuYXBwZW5kKGxlKS5hcHBlbmRUbyhQKSxwZT10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCksc2U9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLFA9dGhpcy5hZGRMYWJlbGVkUm93KFplLCJQcm9qZWN0aW9uIGRvd24gYmFycyIpLCQoIjx0ZD4iKS5wcmVwZW5kVG8oUCksJCgnPHRkIGNsYXNzPSJzb21lLWNvbG9ycGlja2VyIj4nKS5hcHBlbmQocGUpLmFwcGVuZChzZSkuYXBwZW5kVG8oUCksdGhpcy5wcmVwYXJlTGF5b3V0SW1wbCh0aGlzLmdldE1ldGFJbmZvKCJCYXJTZXRSZW5rb0B0di1wcm9zdHVkaWVzIiksWmUsbi5yZW5rb1N0eWxlLHtuYW1lQ29sc3BhbjoyfSksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhvZSxuLnJlbmtvU3R5bGUudXBDb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBCYXIgVXAgQ29sb3IiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhuZSxuLnJlbmtvU3R5bGUuZG93bkNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEJhciBEb3duIENvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGMocmUsbi5yZW5rb1N0eWxlLnVwQ29sb3JQcm9qZWN0aW9uLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFByb2plY3Rpb24gQmFyIFVwIENvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGMocGUsbi5yZW5rb1N0eWxlLmRvd25Db2xvclByb2plY3Rpb24sITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUHJvamVjdGlvbiBCYXIgRG93biBDb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBjKGllLG4ucmVua29TdHlsZS5ib3JkZXJVcENvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEJvcmRlciBCYXIgVXAgQ29sb3IiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhhZSxuLnJlbmtvU3R5bGUuYm9yZGVyRG93bkNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEJvcmRlciBCYXIgRG93biBDb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBjKGxlLG4ucmVua29TdHlsZS5ib3JkZXJVcENvbG9yUHJvamVjdGlvbiwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBQcm9qZWN0aW9uIEJvcmRlciBCYXIgVXAgQ29sb3IiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhzZSxuLnJlbmtvU3R5bGUuYm9yZGVyRG93bkNvbG9yUHJvamVjdGlvbiwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBQcm9qZWN0aW9uIEJvcmRlciBCYXIgRG93biBDb2xvciIpKSxkZT10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCksaGU9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLFA9dGhpcy5hZGRMYWJlbGVkUm93KFhlLCJVcCBiYXJzIiksJCgnPHRkIGNsYXNzPSJzb21lLWNvbG9ycGlja2VyIj4nKS5hcHBlbmQoZGUpLmFwcGVuZChoZSkuYXBwZW5kVG8oUCksY2U9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLGJlPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSwNClA9dGhpcy5hZGRMYWJlbGVkUm93KFhlLCJEb3duIGJhcnMiKSwkKCc8dGQgY2xhc3M9InNvbWUtY29sb3JwaWNrZXIiPicpLmFwcGVuZChjZSkuYXBwZW5kKGJlKS5hcHBlbmRUbyhQKSx1ZT10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCksQ2U9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLFA9dGhpcy5hZGRMYWJlbGVkUm93KFhlLCJQcm9qZWN0aW9uIHVwIGJhcnMiKSwkKCc8dGQgY2xhc3M9InNvbWUtY29sb3JwaWNrZXIiPicpLmFwcGVuZCh1ZSkuYXBwZW5kKENlKS5hcHBlbmRUbyhQKSx5ZT10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCksZ2U9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLFA9dGhpcy5hZGRMYWJlbGVkUm93KFhlLCJQcm9qZWN0aW9uIGRvd24gYmFycyIpLCQoJzx0ZCBjbGFzcz0ic29tZS1jb2xvcnBpY2tlciI+JykuYXBwZW5kKHllKS5hcHBlbmQoZ2UpLmFwcGVuZFRvKFApLHRoaXMucHJlcGFyZUxheW91dEltcGwodGhpcy5nZXRNZXRhSW5mbygiQmFyU2V0UHJpY2VCcmVha0B0di1wcm9zdHVkaWVzIiksWGUsbi5wYlN0eWxlLHt2YWx1ZUNvbHNwYW46Mn0pLHRoaXMuYmluZENvbnRyb2wobmV3IGMoZGUsbi5wYlN0eWxlLnVwQ29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgQmFyIFVwIENvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGMoY2Usbi5wYlN0eWxlLmRvd25Db2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBCYXIgRG93biBDb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBjKHVlLG4ucGJTdHlsZS51cENvbG9yUHJvamVjdGlvbiwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBQcm9qZWN0aW9uIEJhciBVcCBDb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBjKHllLG4ucGJTdHlsZS5kb3duQ29sb3JQcm9qZWN0aW9uLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFByb2plY3Rpb24gQmFyIERvd24gQ29sb3IiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhoZSxuLnBiU3R5bGUuYm9yZGVyVXBDb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBCb3JkZXIgQmFyIFVwIENvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGMoYmUsbi5wYlN0eWxlLmJvcmRlckRvd25Db2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBCb3JkZXIgQmFyIERvd24gQ29sb3IiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhDZSxuLnBiU3R5bGUuYm9yZGVyVXBDb2xvclByb2plY3Rpb24sITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUHJvamVjdGlvbiBCb3JkZXIgQmFyIFVwIENvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGMoZ2Usbi5wYlN0eWxlLmJvcmRlckRvd25Db2xvclByb2plY3Rpb24sITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUHJvamVjdGlvbiBCb3JkZXIgQmFyIERvd24gQ29sb3IiKSksJGU9dGhpcy5hZGRDb2xvclBpY2tlclJvdyhldCwiVXAgYmFycyIpLHdlPXRoaXMuYWRkQ29sb3JQaWNrZXJSb3coZXQsIkRvd24gYmFycyIpLFRlPXRoaXMuYWRkQ29sb3JQaWNrZXJSb3coZXQsIlByb2plY3Rpb24gdXAgYmFycyIpLF9lPXRoaXMuYWRkQ29sb3JQaWNrZXJSb3coZXQsIlByb2plY3Rpb24gZG93biBiYXJzIiksdGhpcy5wcmVwYXJlTGF5b3V0SW1wbCh0aGlzLmdldE1ldGFJbmZvKCJCYXJTZXRLYWdpQHR2LXByb3N0dWRpZXMiKSxldCxuLmthZ2lTdHlsZSksdGhpcy5iaW5kQ29udHJvbChuZXcgYygkZSxuLmthZ2lTdHlsZS51cENvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEJhciBVcCBDb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBjKHdlLG4ua2FnaVN0eWxlLmRvd25Db2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBCYXIgRG93biBDb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBjKFRlLG4ua2FnaVN0eWxlLnVwQ29sb3JQcm9qZWN0aW9uLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFByb2plY3Rpb24gQmFyIFVwIENvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGMoX2Usbi5rYWdpU3R5bGUuZG93bkNvbG9yUHJvamVjdGlvbiwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBQcm9qZWN0aW9uIEJhciBEb3duIENvbG9yIikpLG1lPXRoaXMuYWRkQ29sb3JQaWNrZXJSb3codHQsIlVwIGJhcnMiKSxmZT10aGlzLmFkZENvbG9yUGlja2VyUm93KHR0LCJEb3duIGJhcnMiKSxMZT10aGlzLmFkZENvbG9yUGlja2VyUm93KHR0LCJQcm9qZWN0aW9uIHVwIGJhcnMiKSx2ZT10aGlzLmFkZENvbG9yUGlja2VyUm93KHR0LCJQcm9qZWN0aW9uIGRvd24gYmFycyIpLHRoaXMucHJlcGFyZUxheW91dEltcGwodGhpcy5nZXRNZXRhSW5mbygiQmFyU2V0UG5GQHR2LXByb3N0dWRpZXMiKSx0dCxuLnBuZlN0eWxlKSx0aGlzLmJpbmRDb250cm9sKG5ldyBjKG1lLG4ucG5mU3R5bGUudXBDb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBCYXIgVXAgQ29sb3IiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhmZSxuLnBuZlN0eWxlLmRvd25Db2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBCYXIgRG93biBDb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBjKExlLG4ucG5mU3R5bGUudXBDb2xvclByb2plY3Rpb24sITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUHJvamVjdGlvbiBCYXIgVXAgQ29sb3IiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgYyh2ZSxuLnBuZlN0eWxlLmRvd25Db2xvclByb2plY3Rpb24sITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUHJvamVjdGlvbiBCYXIgRG93biBDb2xvciIpKSksa2U9ZygpLFA9dGhpcy5hZGRMYWJlbGVkUm93KEplLCJQcmljZSBTb3VyY2UiKSwkKCc8dGQgY29sc3Bhbj0iMyI+JykuYXBwZW5kVG8oUCkuYXBwZW5kKGtlKSxTZT10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCksUGU9eSgpLFA9dGhpcy5hZGRMYWJlbGVkUm93KEplLCJMaW5lIiksJCgiPHRkPiIpLmFwcGVuZFRvKFApLmFwcGVuZChTZSksJCgnPHRkIGNvbHNwYW49IjIiPicpLmFwcGVuZFRvKFApLmFwcGVuZChQZSkseGU9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLEJlPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxQPXRoaXMuYWRkTGFiZWxlZFJvdyhKZSwiRmlsbCIpLCQoIjx0ZD4iKS5hcHBlbmRUbyhQKS5hcHBlbmQoeGUpLA0KJCgiPHRkPiIpLmFwcGVuZFRvKFApLmFwcGVuZChCZSksdGhpcy5iaW5kQ29udHJvbChuZXcgaChrZSxuLmFyZWFTdHlsZS5wcmljZVNvdXJjZSxudWxsLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFByaWNlIFNvdXJjZSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBjKFNlLG4uYXJlYVN0eWxlLmxpbmVjb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBMaW5lIENvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHUoUGUsbi5hcmVhU3R5bGUubGluZXdpZHRoLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIExpbmUgV2lkdGgiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgYyh4ZSxuLmFyZWFTdHlsZS5jb2xvcjEsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgTGluZSBDb2xvciIsbi5hcmVhU3R5bGUudHJhbnNwYXJlbmN5KSksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhCZSxuLmFyZWFTdHlsZS5jb2xvcjIsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgTGluZSBDb2xvciIsbi5hcmVhU3R5bGUudHJhbnNwYXJlbmN5KSksRWU9ZygpLFA9dGhpcy5hZGRMYWJlbGVkUm93KG90LHdpbmRvdy50KCJQcmljZSBTb3VyY2UiKSksJCgnPHRkIGNvbHNwYW49IjMiPicpLmFwcGVuZFRvKFApLmFwcGVuZChFZSksdGhpcy5iaW5kQ29udHJvbChuZXcgaChFZSxuLmJhc2VsaW5lU3R5bGUucHJpY2VTb3VyY2UsbnVsbCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBQcmljZSBTb3VyY2UiKSksUmU9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLEZlPXkoKSxQPXRoaXMuYWRkTGFiZWxlZFJvdyhvdCx3aW5kb3cudCgiVG9wIExpbmUiKSksJCgiPHRkPiIpLmFwcGVuZFRvKFApLmFwcGVuZChSZSksJCgiPHRkPiIpLmFwcGVuZFRvKFApLmFwcGVuZChGZSksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhSZSxuLmJhc2VsaW5lU3R5bGUudG9wTGluZUNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRvcCBMaW5lIENvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHUoRmUsbi5iYXNlbGluZVN0eWxlLnRvcExpbmVXaWR0aCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUb3AgTGluZSBXaWR0aCIpKSxJZT10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCksQWU9eSgpLFA9dGhpcy5hZGRMYWJlbGVkUm93KG90LHdpbmRvdy50KCJCb3R0b20gTGluZSIpKSwkKCI8dGQ+IikuYXBwZW5kVG8oUCkuYXBwZW5kKEllKSwkKCI8dGQ+IikuYXBwZW5kVG8oUCkuYXBwZW5kKEFlKSx0aGlzLmJpbmRDb250cm9sKG5ldyBjKEllLG4uYmFzZWxpbmVTdHlsZS5ib3R0b21MaW5lQ29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgQm90dG9tIExpbmUgQ29sb3IiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgdShBZSxuLmJhc2VsaW5lU3R5bGUuYm90dG9tTGluZVdpZHRoLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEJvdHRvbSBMaW5lIFdpZHRoIikpLERlPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxXZT10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCksUD10aGlzLmFkZExhYmVsZWRSb3cob3Qsd2luZG93LnQoIkZpbGwgVG9wIEFyZWEiKSksJCgiPHRkPiIpLmFwcGVuZFRvKFApLmFwcGVuZChEZSksJCgiPHRkPiIpLmFwcGVuZFRvKFApLmFwcGVuZChXZSksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhEZSxuLmJhc2VsaW5lU3R5bGUudG9wRmlsbENvbG9yMSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBGaWxsIFRvcCBBcmVhIENvbG9yIDEiKSxuLmJhc2VsaW5lU3R5bGUudHJhbnNwYXJlbmN5KSx0aGlzLmJpbmRDb250cm9sKG5ldyBjKFdlLG4uYmFzZWxpbmVTdHlsZS50b3BGaWxsQ29sb3IyLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEZpbGwgVG9wIEFyZWEgQ29sb3IgMiIpLG4uYmFzZWxpbmVTdHlsZS50cmFuc3BhcmVuY3kpLE9lPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxWZT10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCksUD10aGlzLmFkZExhYmVsZWRSb3cob3Qsd2luZG93LnQoIkZpbGwgQm90dG9tIEFyZWEiKSksJCgiPHRkPiIpLmFwcGVuZFRvKFApLmFwcGVuZChPZSksJCgiPHRkPiIpLmFwcGVuZFRvKFApLmFwcGVuZChWZSksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhPZSxuLmJhc2VsaW5lU3R5bGUuYm90dG9tRmlsbENvbG9yMSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBGaWxsIEJvdHRvbSBBcmVhIENvbG9yIDEiKSxuLmJhc2VsaW5lU3R5bGUudHJhbnNwYXJlbmN5KSx0aGlzLmJpbmRDb250cm9sKG5ldyBjKFZlLG4uYmFzZWxpbmVTdHlsZS5ib3R0b21GaWxsQ29sb3IyLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEZpbGwgQm90dG9tIEFyZWEgQ29sb3IgMiIpLG4uYmFzZWxpbmVTdHlsZS50cmFuc3BhcmVuY3kpLFA9dGhpcy5hZGRMYWJlbGVkUm93KG90LHdpbmRvdy50KCJCYXNlIExldmVsIikpLGplPSQoJzxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0idGlja2VyIj4nKSwkKCc8dGQgY29sc3Bhbj0iMiI+JykuYXBwZW5kVG8oUCkuYXBwZW5kKCQoIjxzcGFuPjwvc3Bhbj4iKS5hcHBlbmQoamUpKS5hcHBlbmQoJCgnPHNwYW4gY2xhc3M9InBlcmNlbnRzLWxhYmVsIj4lPC9zcGFuPicpKSx6ZT1bcChuLmJhc2VsaW5lU3R5bGUuYmFzZUxldmVsUGVyY2VudGFnZS52YWx1ZSgpKSxsKDEwMCkscigwKV0sdGhpcy5iaW5kQ29udHJvbChuZXcgZChqZSxuLmJhc2VsaW5lU3R5bGUuYmFzZUxldmVsUGVyY2VudGFnZSx6ZSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBCYXNlIExldmVsIikpfSxlLmV4cG9ydHM9aX0pLmNhbGwodCxvKDcpKX0sNDc2OmZ1bmN0aW9uKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaSgpe3ZhciBlPSQoIjxzZWxlY3QgLz4iKTtyZXR1cm4gJCgnPG9wdGlvbiB2YWx1ZT0iJytuLlBsb3RUeXBlLkxpbmUrJyI+JyskLnQoIkxpbmUiKSsiPC9vcHRpb24+IikuYXBwZW5kVG8oZSksJCgnPG9wdGlvbiB2YWx1ZT0iJytuLlBsb3RUeXBlLkxpbmVXaXRoQnJlYWtzKyciPicrJC50KCJMaW5lIFdpdGggQnJlYWtzIikrIjwvb3B0aW9uPiIpLmFwcGVuZFRvKGUpLCQoJzxvcHRpb24gdmFsdWU9Iicrbi5QbG90VHlwZS5IaXN0b2dyYW0rJyI+JyskLnQoIkhpc3RvZ3JhbSIpKyI8L29wdGlvbj4iKS5hcHBlbmRUbyhlKSwNCiQoJzxvcHRpb24gdmFsdWU9Iicrbi5QbG90VHlwZS5Dcm9zcysnIj4nKyQudCgiQ3Jvc3MiLHtjb250ZXh0OiJjaGFydF90eXBlIn0pKyI8L29wdGlvbj4iKS5hcHBlbmRUbyhlKSwkKCc8b3B0aW9uIHZhbHVlPSInK24uUGxvdFR5cGUuQXJlYSsnIj4nKyQudCgiQXJlYSIpKyI8L29wdGlvbj4iKS5hcHBlbmRUbyhlKSwkKCc8b3B0aW9uIHZhbHVlPSInK24uUGxvdFR5cGUuQXJlYVdpdGhCcmVha3MrJyI+JyskLnQoIkFyZWEgV2l0aCBCcmVha3MiKSsiPC9vcHRpb24+IikuYXBwZW5kVG8oZSksJCgnPG9wdGlvbiB2YWx1ZT0iJytuLlBsb3RUeXBlLkNvbHVtbnMrJyI+JyskLnQoIkNvbHVtbnMiKSsiPC9vcHRpb24+IikuYXBwZW5kVG8oZSksJCgnPG9wdGlvbiB2YWx1ZT0iJytuLlBsb3RUeXBlLkNpcmNsZXMrJyI+JyskLnQoIkNpcmNsZXMiKSsiPC9vcHRpb24+IikuYXBwZW5kVG8oZSksZX1PYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksbygyMiksbygyMyk7dmFyIG49bygxMDYpO3QuY3JlYXRlUGxvdEVkaXRvcj1pfSw3Mzg6ZnVuY3Rpb24oZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUpe3JldHVybiB0aGlzLmpxT2JqPW51bGwsdGhpcy5kYXRhPWUsdGhpcy5pbml0KCksdGhpcy5fcHJlcGFyZVZhbHVlKCksdGhpcy5fcHJlcGFyZUNhbGxiYWNrKCksdGhpcy5fcHJlcGFyZUNoaWxkcmVuKCksdGhpcy5fYXBwbHlBdHRyaWJ1dGVzKCksdGhpcy5qcU9ian1mdW5jdGlvbiBuKGUsdCl7dGhpcy52YWx1ZT1lLHRoaXMuaHRtbD10fHwiIix0aGlzLmpxSXRlbT10aGlzLl9yZW5kZXIoKX1mdW5jdGlvbiBhKGUpe3RoaXMuX3ZhbHVlPW51bGwsdGhpcy5pdGVtcz1bXSx0aGlzLndpZHRoPTAsdGhpcy5qcVdyYXBwZXI9bnVsbCx0aGlzLmpxU3dpdGNoZXI9bnVsbCx0aGlzLmpxVGl0bGU9bnVsbCx0aGlzLmpxSWNvbj1udWxsLHRoaXMuanFJdGVtcz1udWxsLHRoaXMuY2FsbGJhY2tzPVtdLHRoaXMuX2luaXQoKSx0aGlzLmFkZEl0ZW1zKGUpLHRoaXMuam9pblBhcnRzKCl9dmFyIHI9bygyMDYpO2kuc2VsZWN0T3B0aW9ucz17dHlwZToib3B0aW9uIix2YWx1ZTpudWxsLGh0bWw6bnVsbH0saS5vcHRpb25zRGF0YT17cmFkaW9ncm91cDp7dHlwZToicmFkaW8iLG5hbWU6bnVsbCx2YWx1ZTpudWxsLGxhYmVsOm51bGx9LHNlbGVjdDppLnNlbGVjdE9wdGlvbnMsInNlbGVjdC1vbmUiOmkuc2VsZWN0T3B0aW9ucywic2VsZWN0LW11bHRpcGxlIjppLnNlbGVjdE9wdGlvbnN9LGkuY3VzdG9tVHlwZXM9WyJyYWRpb2dyb3VwIiwiZm9udHBpY2tlciIsImNvbG9ycGlja2VyIiwiY29tYm9ib3giXSxpLnByb3RvdHlwZS5fdGFnSXNJbnB1dD1mdW5jdGlvbihlKXtyZXR1cm4tMSE9PWpRdWVyeS5pbkFycmF5KHRoaXMuZGF0YS50eXBlLFsidGV4dCIsInJhZGlvIiwiY2hlY2tib3giLCJoaWRkZW4iLCJyZXNldCIsImltYWdlIiwiZmlsZSJdKX0saS5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbigpe3RoaXMuX3RhZ0lzSW5wdXQoKT90aGlzLmpxT2JqPXIuY3JlYXRlKCJpbnB1dCIse25hbWU6dGhpcy5kYXRhLm5hbWUsdHlwZTp0aGlzLmRhdGEudHlwZX0pOnRoaXMuanFPYmo9ci5jcmVhdGUodGhpcy5kYXRhLnR5cGUse25hbWU6dGhpcy5kYXRhLm5hbWV9KX0saS5wcm90b3R5cGUuX2V2ZW50SXNLZXlVcD1mdW5jdGlvbigpe3JldHVybi0xIT09alF1ZXJ5LmluQXJyYXkodGhpcy5kYXRhLnR5cGUsWyJ0ZXh0IiwidGV4dGFyZWEiXSl9LGkucHJvdG90eXBlLl9ldmVudElzQ2xpY2s9ZnVuY3Rpb24oKXtyZXR1cm4tMSE9PWpRdWVyeS5pbkFycmF5KHRoaXMuZGF0YS50eXBlLFsiY2hlY2tib3giLCJyYWRpbyIsIm9wdGlvbiJdKX0saS5wcm90b3R5cGUuX2V2ZW50SXNDaGFuZ2U9ZnVuY3Rpb24oKXtyZXR1cm4tMSE9PWpRdWVyeS5pbkFycmF5KHRoaXMuZGF0YS50eXBlLFsic2VsZWN0Iiwic2VsZWN0LW9uZSIsInNlbGVjdC1tdWx0aXBsZSIsInJhZGlvZ3JvdXAiXSl9LGkucHJvdG90eXBlLl9wcmVwYXJlQ2FsbGJhY2s9ZnVuY3Rpb24oKXt0aGlzLmRhdGEuY2FsbGJhY2smJih0aGlzLl9ldmVudElzS2V5VXAoKT90aGlzLmpxT2JqLmtleXVwKHRoaXMuZGF0YS5jYWxsYmFjayk6dGhpcy5fZXZlbnRJc0NsaWNrKCk/dGhpcy5qcU9iai5jbGljayh0aGlzLmRhdGEuY2FsbGJhY2spOnRoaXMuX2V2ZW50SXNDaGFuZ2UoKSYmdGhpcy5qcU9iai5iaW5kKCJjaGFuZ2UiLHRoaXMuZGF0YS5jYWxsYmFjayksZGVsZXRlIHRoaXMuZGF0YS5jYWxsYmFjayl9LGkucHJvdG90eXBlLl9jaGlsZFRhZz1mdW5jdGlvbigpe3JldHVybntzZWxlY3Q6Im9wdGlvbiIsInNlbGVjdC1vbmUiOiJvcHRpb24iLCJzZWxlY3QtbXVsdGlwbGUiOiJvcHRpb24iLHJhZGlvZ3JvdXA6InJhZGlvIn1bdGhpcy5kYXRhLnR5cGVdfSxpLnByb3RvdHlwZS5faW5oZXJpdGVkUHJvcGVydGllcz1mdW5jdGlvbigpe3ZhciBlPXt0eXBlOnRoaXMuX2NoaWxkVGFnKCl9O3JldHVybiJyYWRpb2dyb3VwIj09PXRoaXMuZGF0YS50eXBlJiYoZS5uYW1lPXRoaXMuZGF0YS5uYW1lKSxlfSxpLnByb3RvdHlwZS5fZXh0ZW5kQ2hpbGRQcm9wcz1mdW5jdGlvbihlKXt2YXIgdD1qUXVlcnkuZXh0ZW5kKHRoaXMuX2luaGVyaXRlZFByb3BlcnRpZXMoKSxlKTtyZXR1cm4gdGhpcy5kYXRhLnZhbHVlPT09ZS52YWx1ZSYmKHQuc2VsZWN0ZWQ9ITApLHR9LGkucHJvdG90eXBlLl9wcmVwYXJlQ2hpbGRyZW49ZnVuY3Rpb24oKXtpZih0aGlzLmRhdGEub3B0aW9ucyl7dmFyIGU9dGhpcztqUXVlcnkuZWFjaCh0aGlzLmRhdGEub3B0aW9ucyxmdW5jdGlvbih0LG8pe2UuanFPYmouYXBwZW5kKG5ldyBpKGUuX2V4dGVuZENoaWxkUHJvcHMobykpKX0pfX0saS5wcm90b3R5cGUuaXNDdXN0b209ZnVuY3Rpb24oKXtyZXR1cm4tMSE9PWpRdWVyeS5pbkFycmF5KHRoaXMuZGF0YS50eXBlLHRoaXMuY3VzdG9tVHlwZXMpfSxpLnByb3RvdHlwZS5faXNTdG9yaW5nVmFsdWU9ZnVuY3Rpb24oKXsNCnJldHVybi0xIT09alF1ZXJ5LmluQXJyYXkodGhpcy5kYXRhLnR5cGUsWyJ0ZXh0IiwidGV4dGFyZWEiLCJvcHRpb24iLCJyYWRpbyIsImNoZWNrYm94Il0pfSxpLnByb3RvdHlwZS5faHRtbEFzVmFsdWU9ZnVuY3Rpb24oKXtyZXR1cm4idGV4dGFyZWEiPT09dGhpcy5kYXRhLnR5cGV9LGkucHJvdG90eXBlLl92YWxBc1ZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIGpRdWVyeS5pbkFycmF5KHRoaXMuZGF0YS50eXBlLFsidGV4dCIsImNoZWNrYm94IiwicmFkaW8iLCJvcHRpb24iLCJzZWxlY3QiLCJzZWxlY3Qtb25lIiwic2VsZWN0LW11bHRpcGxlIl0pfSxpLnByb3RvdHlwZS5fZ2V0Q29udHJvbFZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJue2NoZWNrYm94OjF9W3RoaXMuZGF0YS50eXBlXXx8dGhpcy5kYXRhLnZhbHVlfSxpLnByb3RvdHlwZS5fc2V0Q29udHJvbFZhbHVlPWZ1bmN0aW9uKCl7dGhpcy5fdmFsQXNWYWx1ZSgpP3RoaXMuanFPYmoudmFsKHRoaXMuX2dldENvbnRyb2xWYWx1ZSgpKTp0aGlzLl9odG1sQXNWYWx1ZSgpJiZ0aGlzLmpxT2JqLmh0bWwodGhpcy5kYXRhLnZhbHVlKX0saS5wcm90b3R5cGUuX2dldENoZWNrZWRBdHRyPWZ1bmN0aW9uKCl7cmV0dXJue29wdGlvbjoic2VsZWN0ZWQiLHJhZGlvOiJjaGVja2VkIixjaGVja2JveDoiY2hlY2tlZCJ9W3RoaXMuZGF0YS50eXBlXX0saS5wcm90b3R5cGUuX3NldENoZWNrZWQ9ZnVuY3Rpb24oKXt0aGlzLmRhdGEuc2VsZWN0ZWQmJnRoaXMuanFPYmouYXR0cih0aGlzLl9nZXRDaGVja2VkQXR0cigpLCEwKX0saS5wcm90b3R5cGUuX3NldFZhbHVlPWZ1bmN0aW9uKCl7dGhpcy5fc2V0Q29udHJvbFZhbHVlKCksaS5pc0NoZWNrYWJsZSh0aGlzLmRhdGEudHlwZSkmJnRoaXMuX3NldENoZWNrZWQoKX0saS5wcm90b3R5cGUuX3ByZXBhcmVWYWx1ZT1mdW5jdGlvbigpe3RoaXMuX2lzU3RvcmluZ1ZhbHVlKCkmJnRoaXMuX3NldFZhbHVlKCl9LGkucHJvdG90eXBlLl9hcHBseUF0dHJpYnV0ZXM9ZnVuY3Rpb24oKXt0aGlzLmpxT2JqLmF0dHIoci5jbGVhbkF0dHJpYnV0ZXModGhpcy5kYXRhKSl9LGkudmFsdWU9ZnVuY3Rpb24oZSl7cmV0dXJuIGkuY29udHJvbENoZWNrYWJsZShlKT9lLmNoZWNrZWQ6ZS52YWx1ZX0saS5pc0NoZWNrYWJsZT1mdW5jdGlvbihlKXtyZXR1cm4tMSE9PWpRdWVyeS5pbkFycmF5KGUsWyJjaGVja2JveCIsInJhZGlvIiwib3B0aW9uIl0pfSxpLmNvbnRyb2xUeXBlPWZ1bmN0aW9uKGUpe3ZhciB0LG87cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlP2U6KHQ9alF1ZXJ5KGUpLG89bnVsbCx0LmF0dHIoInR5cGUiKSYmKG89dC5hdHRyKCJ0eXBlIiksalF1ZXJ5LmluQXJyYXkobyxbInRleHRhcmVhIiwidGV4dCIsInNlbGVjdCIsInNlbGVjdC1vbmUiLCJzZWxlY3QtbXVsdGlwbGUiLCJzdWJtaXQiXSkpP286dC5hdHRyKCJ0YWdOYW1lIikpfSxpLmNvbnRyb2xDaGVja2FibGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGkuaXNDaGVja2FibGUoaS5jb250cm9sVHlwZShlKSl9LGkuY29udHJvbFRvZ2dsZUNoZWNrZWQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbygyMDUpLnNldEF0dHIoZSwiY2hlY2tlZCIsdCl9LGkuY29udHJvbFNldFZhbHVlPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGkuY29udHJvbENoZWNrYWJsZShlKT9pLmNvbnRyb2xUb2dnbGVDaGVja2VkKGUsdCk6bygyMDUpLnNldEF0dHIoZSwidmFsdWUiLHQpfSxpLmN1cnJlbnRPcHRpb249ZnVuY3Rpb24oZSl7cmV0dXJuIGUub3B0aW9uc1tlLnNlbGVjdGVkSW5kZXhdfSxpLmN1cnJlbnRPcHRpb25Jbm5lckhUTUw9ZnVuY3Rpb24oZSl7cmV0dXJuIGkuY3VycmVudE9wdGlvbihlKS5pbm5lckhUTUx9LG4ucHJvdG90eXBlLmVxPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnZhbHVlPT09ZX0sbi5wcm90b3R5cGUud2lkdGg9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuanFJdGVtLndpZHRoKCl9LG4ucHJvdG90eXBlLl9yZW5kZXI9ZnVuY3Rpb24oZSl7dmFyIHQ9JCgiPHNwYW4vPiIpLmFwcGVuZCgkKHRoaXMuaHRtbCkuY2xvbmUoKSk7cmV0dXJuICQoJzxkaXYgY2xhc3M9Iml0ZW0iPjwvZGl2PicpLmFwcGVuZCh0KX0sbi5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmpxSXRlbX0sbi5wcm90b3R5cGUuc2VsZWN0PWZ1bmN0aW9uKGUpe2U/dGhpcy5qcUl0ZW0uYWRkQ2xhc3MoInNlbGVjdGVkIik6dGhpcy5qcUl0ZW0ucmVtb3ZlQ2xhc3MoInNlbGVjdGVkIil9LG4ucHJvdG90eXBlLnNlbGVjdEFuZFJldHVybklmVmFsdWVNYXRjaD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lcShlKT8odGhpcy5zZWxlY3QoITApLHRoaXMpOih0aGlzLnNlbGVjdCghMSksbnVsbCl9LGEucHJvdG90eXBlLl9pbml0PWZ1bmN0aW9uKCl7dGhpcy5faW5pdFdyYXBwZXIoKSx0aGlzLl9pbml0U3dpdGNoZXIoKSx0aGlzLl9pbml0T3B0aW9ucygpfSxhLnByb3RvdHlwZS5faW5pdFRpdGxlPWZ1bmN0aW9uKCl7dGhpcy5qcVRpdGxlPSQoJzxzcGFuIGNsYXNzPSJ0aXRsZSIgLz4nKX0sYS5wcm90b3R5cGUuX2luaXRJY29uPWZ1bmN0aW9uKCl7dGhpcy5qcUljb249JCgnPHNwYW4gY2xhc3M9Imljb24iIC8+Jyl9LGEucHJvdG90eXBlLl9pbml0T3B0aW9ucz1mdW5jdGlvbigpe3ZhciBlPW8oMjA1KTt0aGlzLmpxSXRlbXM9ZS5jcmVhdGVQb3B1cCh7Y2xhc3M6Iml0ZW1zIn0pfSxhLnByb3RvdHlwZS5faW5pdFdyYXBwZXI9ZnVuY3Rpb24oKXt0aGlzLmpxV3JhcHBlcj0kKCc8ZGl2IGNsYXNzPSJjdXN0b20tc2VsZWN0IiAvPicpLHRoaXMuanFXcmFwcGVyLmRhdGEoe2Rpc2FibGU6dGhpcy5kaXNhYmxlLmJpbmQodGhpcyksZW5hYmxlOnRoaXMuZW5hYmxlLmJpbmQodGhpcyl9KX0sYS5wcm90b3R5cGUuX2luaXRTd2l0Y2hlcj1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5faW5pdFRpdGxlKCksdGhpcy5faW5pdEljb24oKSx0aGlzLmpxU3dpdGNoZXI9JCgnPGRpdiBjbGFzcz0ic3dpdGNoZXIiIC8+JyksdGhpcy5qcVN3aXRjaGVyLmFwcGVuZCh0aGlzLmpxVGl0bGUpLHRoaXMuanFTd2l0Y2hlci5hcHBlbmQoJCh0aGlzLmpxSWNvbikuY2xvbmUoKSksdGhpcy5vcGVuZWQ9ITEsDQp0aGlzLmpxU3dpdGNoZXIuY2xpY2soZnVuY3Rpb24odCl7ZS50b2dnbGVJdGVtcygpfSksZT10aGlzLCQoZG9jdW1lbnQpLmNsaWNrKGZ1bmN0aW9uKHQpeyQodC50YXJnZXQpLmNsb3Nlc3QoZS5qcVN3aXRjaGVyKS5sZW5ndGh8fCghZS5qcVN3aXRjaGVyLmlzKHQudGFyZ2V0KSYmMD09PWUuanFTd2l0Y2hlci5oYXModC50YXJnZXQpLmxlbmd0aHx8IWUuanFJdGVtcy5pcyh0LnRhcmdldCkmJjA9PT0hZS5qcUl0ZW1zLmhhcyh0LnRhcmdldCkubGVuZ3RoKSYmZS5vcGVuZWQmJihlLmpxSXRlbXMuaGlkZSgpLGUub3BlbmVkPSExLGUuanFTd2l0Y2hlci5yZW1vdmVDbGFzcygib3BlbiIpLHQuc3RvcFByb3BhZ2F0aW9uKCkpfSl9LGEucHJvdG90eXBlLnRvZ2dsZUl0ZW1zPWZ1bmN0aW9uKCl7dGhpcy5kaXNhYmxlZCgpfHwodGhpcy5vcGVuZWQ/KHRoaXMuanFJdGVtcy5oaWRlKCksdGhpcy5qcVN3aXRjaGVyLnJlbW92ZUNsYXNzKCJvcGVuIiksdGhpcy5vcGVuZWQ9ITEpOih0aGlzLmpxSXRlbXMuc2hvdygpLHRoaXMuanFTd2l0Y2hlci5hZGRDbGFzcygib3BlbiIpLHRoaXMub3BlbmVkPSEwKSl9LGEucHJvdG90eXBlLnNldFdpZHRoPWZ1bmN0aW9uKCl7dGhpcy5qcVdyYXBwZXIud2lkdGgodGhpcy53aWR0aCl9LGEucHJvdG90eXBlLmpvaW5QYXJ0cz1mdW5jdGlvbigpe3RoaXMuanFXcmFwcGVyLmFwcGVuZCh0aGlzLmpxU3dpdGNoZXIpLHRoaXMuanFXcmFwcGVyLmFwcGVuZCh0aGlzLmpxSXRlbXMpLHRoaXMuanFXcmFwcGVyLnNlbGVjdGFibGUoITEpfSxhLnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5qcVdyYXBwZXJ9LGEucHJvdG90eXBlLnNlbGVjdEl0ZW1CeVZhbHVlPWZ1bmN0aW9uKGUpe3ZhciB0PW51bGw7cmV0dXJuICQodGhpcy5pdGVtcykuZWFjaChmdW5jdGlvbihvLGkpe3ZhciBuPWkuc2VsZWN0QW5kUmV0dXJuSWZWYWx1ZU1hdGNoKGUpO24mJih0PW4pfSksdH0sYS5wcm90b3R5cGUuc2V0VmFsdWU9ZnVuY3Rpb24oZSl7aWYodGhpcy5fdmFsdWUhPT1lKXt2YXIgdD10aGlzLnNlbGVjdEl0ZW1CeVZhbHVlKGUpO3RoaXMuX3ZhbHVlPWUsdGhpcy5qcVRpdGxlLmh0bWwodC5odG1sKSx0aGlzLmNoYW5nZSgpfX0sYS5wcm90b3R5cGUuY2hhbmdlPWZ1bmN0aW9uKGUpe2lmKGUpcmV0dXJuIHZvaWQgdGhpcy5jYWxsYmFja3MucHVzaChlKTt0aGlzLmNhbGxiYWNrcy5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UuY2FsbCh0aGlzKX0uYmluZCh0aGlzKSl9LGEucHJvdG90eXBlLnZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3ZhbHVlfSxhLnByb3RvdHlwZS52YWw9ZnVuY3Rpb24oZSl7cmV0dXJuIHZvaWQgMCE9PWU/dm9pZCB0aGlzLnNldFZhbHVlKGUpOnRoaXMudmFsdWUoKX0sYS5wcm90b3R5cGUuYWRkSXRlbXM9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpczskKGUpLmVhY2goZnVuY3Rpb24oZSxvKXt0LmFkZEl0ZW0oby52YWx1ZSxvLmh0bWwpfSl9LGEucHJvdG90eXBlLmFkZEl0ZW09ZnVuY3Rpb24oZSx0KXt2YXIgbyxpPXRoaXMsYT1uZXcgbihlLHQpO3RoaXMuaXRlbXMucHVzaChhKSxvPWEucmVuZGVyKCksby5jbGljayhmdW5jdGlvbigpe2kuc2V0VmFsdWUoZSksaS50b2dnbGVJdGVtcygpfSksdGhpcy5qcUl0ZW1zLmFwcGVuZChvKSxudWxsPT09dGhpcy52YWx1ZSgpJiZ0aGlzLnNldFZhbHVlKGUpfSxhLnByb3RvdHlwZS5kaXNhYmxlPWZ1bmN0aW9uKCl7dGhpcy5fZGlzYWJsZWQ9ITB9LGEucHJvdG90eXBlLmVuYWJsZT1mdW5jdGlvbigpe3RoaXMuX2Rpc2FibGVkPSExfSxhLnByb3RvdHlwZS5kaXNhYmxlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9kaXNhYmxlZH0sdC5JbnB1dD1pLHQuQ29tYm9ib3g9YX0sNzQ2OmZ1bmN0aW9uKGUsdCxvKXsoZnVuY3Rpb24odCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0LG8pe3ZhciBpLG4sYT10Lm1fbW9kZWwucHJvcGVydGllcygpO2wuY2FsbCh0aGlzLGEsdCksaT10aGlzLl9zZXJpZXM9dC5tYWluU2VyaWVzKCksdGhpcy5fY2hhcnQ9dC5tX21vZGVsLHRoaXMuX21vZGVsPXQsdGhpcy5fc291cmNlPW8sdGhpcy5fcHJvcGVydHk9YSx0aGlzLl9zZXJpZXNQcm9wZXJ0eT1pLnByb3BlcnRpZXMoKSx0aGlzLl9zY2FsZVByb3BlcnR5PWkubV9wcmljZVNjYWxlLnByb3BlcnRpZXMoKSx0aGlzLl9tYWluQXhpc1Byb3BlcnR5PWkucHJvcGVydGllcygpLnByaWNlQXhpc1Byb3BlcnRpZXMsbj1udWxsLCQuZWFjaCh0Lm1fbW9kZWwucGFuZXMoKSxmdW5jdGlvbihlLHQpeyQuZWFjaCh0LmRhdGFTb3VyY2VzKCksZnVuY3Rpb24oZSxvKXtpZihvPT09aSlyZXR1cm4gbj10LCExfSl9KSx0aGlzLl9wYW5lPW4sdGhpcy5wcmVwYXJlTGF5b3V0KCksdGhpcy5fdGhlbWVzPVtdLHRoaXMuc3VwcG9ydFRoZW1lU3dpdGNoZXI9ITF9dmFyIG49byg0MDcpLGE9KG8oNzYpLlVuZG9IaXN0b3J5LG8oMTIxKSkscj1vKDEwKSxsPXIuUHJvcGVydHlQYWdlLHA9ci5HcmVhdGVUcmFuc2Zvcm1lcixzPXIuTGVzc1RyYW5zZm9ybWVyLGQ9ci5Ub0ludFRyYW5zZm9ybWVyLGg9ci5TaW1wbGVTdHJpbmdCaW5kZXIsYz1yLkJvb2xlYW5CaW5kZXIsYj1yLlNsaWRlckJpbmRlcix1PXIuQ29sb3JCaW5kaW5nLEM9ci5TaW1wbGVDb21ib0JpbmRlcix5PXIuRGlzYWJsZWRCaW5kZXIsZz1yLkNoZWNrYm94V1ZCaW5kaW5nLHc9byg3MSksVD1vKDM3KSxfPW8oNDcpLmFkZENvbG9yUGlja2VyLG09bygzMSkuY3JlYXRlTGluZVN0eWxlRWRpdG9yLGY9bygxNSkuY3JlYXRlTGluZVdpZHRoRWRpdG9yLEw9KG8oMTAzKS5iaW5kUG9wdXBNZW51LG8oMTEpLkRlZmF1bHRQcm9wZXJ0eSksdj1vKDIyNikuYXZhaWxhYmxlVGltZXpvbmVzLGs9bygzMDkpO28oMTIzKS5jcmVhdGVDb25maXJtRGlhbG9nLG8oMTMpLmdldExvZ2dlcigiQ2hhcnQuUHJvcGVydHlQYWdlIiksbyg0OCkudHJhY2tFdmVudDtpbmhlcml0KGksbCksaW5oZXJpdChpLG4pLGkucHJvdG90eXBlLnNldFNjYWxlc09wZW5UYWI9ZnVuY3Rpb24oKXsNCnRoaXMuc2NhbGVzVGFiJiZ0aGlzLnNjYWxlc1RhYi5kYXRhKCJsYXlvdXQtdGFiLW9wZW4iLGEuVGFiT3BlbkZyb20uT3ZlcnJpZGUpfSxpLnByb3RvdHlwZS5zZXRUbXpPcGVuVGFiPWZ1bmN0aW9uKCl7dGhpcy50bXpTZXNzVGFibGUmJnRoaXMudG16U2Vzc1RhYmxlLmRhdGEoImxheW91dC10YWItb3BlbiIsYS5UYWJPcGVuRnJvbS5PdmVycmlkZSl9LGkucHJvdG90eXBlLnByZXBhcmVMYXlvdXQ9ZnVuY3Rpb24oKXt2YXIgZSxvLGksbixyLGwsTCxTLFAseCxCLEUsUixGLEksQSxELFcsTyxWLGoseixNLEgscSxOLEcsVSxZLEssUSxKLFosWCxlZSx0ZSxvZSxpZSxuZSxhZSxyZSxsZSxwZSxzZSxkZSxoZSxjZSxiZSx1ZSxDZSx5ZSxnZSwkZSx3ZSxUZSxfZSxtZSxmZSxMZSx2ZSxrZSxTZSxQZSx4ZSxCZSxFZSxSZSxGZSxJZSxBZSxEZSxXZSxPZSxWZSxqZSx6ZSxNZSxIZSxxZSxOZSxHZSxVZSxZZSxLZSxRZSxKZSxaZSxYZSxldCx0dCxvdCxpdCxudCxhdCxydCxsdCxwdCxzdCxkdCxodCxjdCxidCx1dCxDdCx5dCxndCwkdCx3dCxUdCxfdCxtdCxmdCxMdCx2dCxrdCxTdCxQdCx4dCxCdCxFdCxSdCxGdCxJdCxBdCxEdCxXdCxPdCxWdD10aGlzO2lmKHQuZW5hYmxlZCgiY2hhcnRfcHJvcGVydHlfcGFnZV9zdHlsZSIpJiYoZT0kKCc8dGFibGUgY2xhc3M9InByb3BlcnR5LXBhZ2UiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+JykuZGF0YSgibGF5b3V0LXRhYiIsYS5UYWJOYW1lcy5zdHlsZSksbz0kKCc8dGFibGUgY2xhc3M9InByb3BlcnR5LXBhZ2UiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+JykuZGF0YSgibGF5b3V0LXRhYiIsYS5UYWJOYW1lcy5zdHlsZSksaT0kKCc8dGFibGUgY2xhc3M9InByb3BlcnR5LXBhZ2UiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+JykuZGF0YSgibGF5b3V0LXRhYiIsYS5UYWJOYW1lcy5zdHlsZSksdGhpcy5fcHJlcGFyZVNlcmllc1N0eWxlTGF5b3V0KGUsbyxpLHRoaXMuX3Nlcmllc1Byb3BlcnR5KSx0aGlzLl9oYXNTZXJpZXNTdHlsZUxheW91dD0hMCxsPSQoJzx0YWJsZSBjbGFzcz0icHJvcGVydHktcGFnZSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIj4nKS5kYXRhKCJsYXlvdXQtdGFiIixhLlRhYk5hbWVzLnN0eWxlKSxJPSQoJzxpbnB1dCB0eXBlPSJjaGVja2JveCI+JyksQT10aGlzLmFkZExhYmVsZWRSb3cobCwkLnQoIlByaWNlIExpbmUiKSxJKSwkKCI8dGQ+IikuYXBwZW5kKEkpLnByZXBlbmRUbyhBKSx0aGlzLmJpbmRDb250cm9sKG5ldyBjKEksdGhpcy5fc2VyaWVzUHJvcGVydHkuc2hvd1ByaWNlTGluZSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBQcmljZSBQcmljZSBMaW5lIikpLEQ9XygkKCI8dGQ+IikuYXBwZW5kVG8oQSkpLHRoaXMuYmluZENvbnRyb2wobmV3IHUoRCx0aGlzLl9zZXJpZXNQcm9wZXJ0eS5wcmljZUxpbmVDb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBQcmljZSBMaW5lIENvbG9yIikpLFc9ZigpLCQoJzx0ZCBjb2xzcGFuPSIyIj4nKS5hcHBlbmQoVykuYXBwZW5kVG8oQSksdGhpcy5iaW5kQ29udHJvbChuZXcgYihXLHRoaXMuX3Nlcmllc1Byb3BlcnR5LnByaWNlTGluZVdpZHRoLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFByaWNlIExpbmUgV2lkdGgiKSksTz0kKCc8aW5wdXQgdHlwZT0iY2hlY2tib3giPicpLFY9dGhpcy5hZGRMYWJlbGVkUm93KGwsJC50KCJQcmV2aW91cyBDbG9zZSBQcmljZSBMaW5lIiksTyksJCgiPHRkPiIpLmFwcGVuZChPKS5wcmVwZW5kVG8oViksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhPLHRoaXMuX3Nlcmllc1Byb3BlcnR5LnNob3dQcmV2Q2xvc2VQcmljZUxpbmUsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUHJpY2UgUHJldmlvdXMgQ2xvc2UgUHJpY2UgTGluZSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyB5KE8sdGhpcy5fc2VyaWVzLmlzUHJldkNsb3NlUHJpY2VBdmFpbGFibGUoKSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBQcmljZSBQcmV2aW91cyBDbG9zZSBQcmljZSBMaW5lIiwhMCkpLGo9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLCQoIjx0ZD4iKS5hcHBlbmQoaikuYXBwZW5kVG8oViksdGhpcy5iaW5kQ29udHJvbChuZXcgdShqLHRoaXMuX3Nlcmllc1Byb3BlcnR5LnByZXZDbG9zZVByaWNlTGluZUNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFByZXZpb3VzIENsb3NlIFByaWNlIExpbmUgQ29sb3IiKSksVz1mKCksJCgiPHRkPiIpLmFwcGVuZChXKS5hcHBlbmRUbyhWKSx0aGlzLmJpbmRDb250cm9sKG5ldyBiKFcsdGhpcy5fc2VyaWVzUHJvcGVydHkucHJldkNsb3NlUHJpY2VMaW5lV2lkdGgsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUHJldmlvdXMgQ2xvc2UgUHJpY2UgTGluZSBXaWR0aCIpKSxTPSQoJzx0YWJsZSBjbGFzcz0icHJvcGVydHktcGFnZSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIj4nKS5kYXRhKCJsYXlvdXQtdGFiIixhLlRhYk5hbWVzLnN0eWxlKSx0aGlzLl9wYW5lJiYoLTEhPT10aGlzLl9wYW5lLmxlZnRQcmljZVNjYWxlKCkuZGF0YVNvdXJjZXMoKS5pbmRleE9mKHRoaXMuX3Nlcmllcyk/ej0ibGVmdCI6LTEhPT10aGlzLl9wYW5lLnJpZ2h0UHJpY2VTY2FsZSgpLmRhdGFTb3VyY2VzKCkuaW5kZXhPZih0aGlzLl9zZXJpZXMpP3o9InJpZ2h0Ijp0aGlzLl9wYW5lLmlzT3ZlcmxheSh0aGlzLl9zZXJpZXMpJiYoej0ibm9uZSIpKSx6JiYoTT17bGVmdDokLnQoIlNjYWxlIExlZnQiKSxyaWdodDokLnQoIlNjYWxlIFJpZ2h0Iil9LFZ0Ll9wYW5lLmFjdGlvbk5vU2NhbGVJc0VuYWJsZWQoVnQuX3NlcmllcykmJihNLm5vbmU9JC50KCJTY3JlZW4gKE5vIFNjYWxlKSIpKSxIPXRoaXMuY3JlYXRlS2V5Q29tYm8oTSkudmFsKHopLmNoYW5nZShmdW5jdGlvbigpe3N3aXRjaCh0aGlzLnZhbHVlKXtjYXNlImxlZnQiOlZ0Ll9tb2RlbC5tb3ZlKFZ0Ll9zZXJpZXMsVnQuX3BhbmUsVnQuX3BhbmUubGVmdFByaWNlU2NhbGUoKSk7YnJlYWs7Y2FzZSJyaWdodCI6VnQuX21vZGVsLm1vdmUoVnQuX3NlcmllcyxWdC5fcGFuZSxWdC5fcGFuZS5yaWdodFByaWNlU2NhbGUoKSk7YnJlYWsNCjtjYXNlIm5vbmUiOlZ0Ll9tb2RlbC5tb3ZlKFZ0Ll9zZXJpZXMsVnQuX3BhbmUsbnVsbCl9fSkscT10aGlzLmFkZFJvdyhTKSwkKCI8dGQ+IiskLnQoIlNjYWxlIikrIjwvdGQ+IikuYXBwZW5kVG8ocSksJCgiPHRkPiIpLmFwcGVuZFRvKHEpLmFwcGVuZChIKSkpLHQuZW5hYmxlZCgiY2hhcnRfcHJvcGVydHlfcGFnZV9zY2FsZXMiKSYmKE49JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPicpLmRhdGEoImxheW91dC10YWIiLGEuVGFiTmFtZXMuc2NhbGVzKSxHPSQoJzxpbnB1dCB0eXBlPSJjaGVja2JveCI+JykuY2hhbmdlKGZ1bmN0aW9uKCl7dGhpcy5jaGVja2VkJiZzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7VnQuX21vZGVsLm1fbW9kZWwuaW52YWxpZGF0ZShuZXcgVChULkxJR0hUX1VQREFURSkpfSwwKX0pLFU9dGhpcy5hZGRMYWJlbGVkUm93KE4sJC50KCJBdXRvIFNjYWxlIiksRyksWT1mdW5jdGlvbihlKXt0aGlzLl91bmRvTW9kZWwuc2V0QXV0b1NjYWxlUHJvcGVydHkodGhpcy5fcHJvcGVydHksZSxWdC5fc2VyaWVzLnByaWNlU2NhbGUoKSx0aGlzLl91bmRvVGV4dCl9LCQoIjx0ZD4iKS5hcHBlbmQoRykucHJlcGVuZFRvKFUpLHRoaXMuYmluZENvbnRyb2wobmV3IGMoRyx0aGlzLl9zY2FsZVByb3BlcnR5LmF1dG9TY2FsZSwhMCx0aGlzLm1vZGVsKCksIkF1dG8gU2NhbGUiLFkpKSx0aGlzLmJpbmRDb250cm9sKG5ldyB5KEcsdGhpcy5fc2NhbGVQcm9wZXJ0eS5hdXRvU2NhbGVEaXNhYmxlZCwhMCx0aGlzLm1vZGVsKCksIkF1dG8gU2NhbGUiKSksSz0kKCc8aW5wdXQgdHlwZT0iY2hlY2tib3giPicpLFE9dGhpcy5hZGRMYWJlbGVkUm93KE4sJC50KCJQZXJjZW50YWdlIiksSyksSj1mdW5jdGlvbihlKXt0aGlzLl91bmRvTW9kZWwuc2V0UGVyY2VudFByb3BlcnR5KHRoaXMuX3Byb3BlcnR5LGUsVnQuX3Nlcmllcy5wcmljZVNjYWxlKCksdGhpcy5fdW5kb1RleHQpfSwkKCI8dGQ+IikuYXBwZW5kKEspLnByZXBlbmRUbyhRKSx0aGlzLmJpbmRDb250cm9sKG5ldyBjKEssdGhpcy5fbWFpbkF4aXNQcm9wZXJ0eS5wZXJjZW50YWdlLCEwLHRoaXMubW9kZWwoKSwiU2NhbGUgUGVyY2VudGFnZSIsSikpLHRoaXMuYmluZENvbnRyb2wobmV3IHkoSyx0aGlzLl9tYWluQXhpc1Byb3BlcnR5LnBlcmNlbnRhZ2VEaXNhYmxlZCwhMCx0aGlzLm1vZGVsKCksIlNjYWxlIFBlcmNlbnRhZ2UiKSksWj0kKCc8aW5wdXQgdHlwZT0iY2hlY2tib3giPicpLFg9dGhpcy5hZGRMYWJlbGVkUm93KE4sJC50KCJMb2cgU2NhbGUiKSxaKSxlZT1mdW5jdGlvbihlKXt0aGlzLl91bmRvTW9kZWwuc2V0TG9nUHJvcGVydHkodGhpcy5fcHJvcGVydHksZSxWdC5fc2VyaWVzLnByaWNlU2NhbGUoKSx0aGlzLl91bmRvVGV4dCl9LCQoIjx0ZD4iKS5hcHBlbmQoWikucHJlcGVuZFRvKFgpLHRoaXMuYmluZENvbnRyb2wobmV3IGMoWix0aGlzLl9tYWluQXhpc1Byb3BlcnR5LmxvZywhMCx0aGlzLm1vZGVsKCksIkxvZyBTY2FsZSIsZWUpKSx0aGlzLmJpbmRDb250cm9sKG5ldyB5KFosdGhpcy5fbWFpbkF4aXNQcm9wZXJ0eS5sb2dEaXNhYmxlZCwhMCx0aGlzLm1vZGVsKCksIkxvZyBTY2FsZSIpKSx0ZT0kKCc8aW5wdXQgdHlwZT0iY2hlY2tib3giPicpLmNoYW5nZShmdW5jdGlvbigpe3RoaXMuY2hlY2tlZCYmc2V0VGltZW91dChmdW5jdGlvbigpe1Z0Ll9tb2RlbC5tX21vZGVsLmludmFsaWRhdGUobmV3IFQoVC5MSUdIVF9VUERBVEUpKX0sMCl9KSxvZT10aGlzLmFkZExhYmVsZWRSb3coTiwkLnQoIlNjYWxlIFNlcmllcyBPbmx5IiksdGUpLCQoIjx0ZD4iKS5hcHBlbmQodGUpLnByZXBlbmRUbyhvZSksdGhpcy5iaW5kQ29udHJvbChuZXcgYyh0ZSx0aGlzLl9wcm9wZXJ0eS5zY2FsZXNQcm9wZXJ0aWVzLnNjYWxlU2VyaWVzT25seSwhMCx0aGlzLm1vZGVsKCksIlNjYWxlIFNlcmllcyBPbmx5IikpLGllPSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCcvPiIpLG5lPXRoaXMuYWRkTGFiZWxlZFJvdyhOLCQudCgiTG9jayBzY2FsZSIpLGllKSxhZT1mdW5jdGlvbihlKXt0aGlzLl91bmRvTW9kZWwuc2V0TG9ja1NjYWxlUHJvcGVydHkodGhpcy5fcHJvcGVydHksZSxWdC5fc2VyaWVzLHRoaXMuX3VuZG9UZXh0KX0scmU9ZnVuY3Rpb24oZSl7bmUudG9nZ2xlKGUudmFsdWUoKT09PXcuU1RZTEVfUE5GKX0sJCgiPHRkPiIpLmFwcGVuZChpZSkucHJlcGVuZFRvKG5lKSx0aGlzLmJpbmRDb250cm9sKG5ldyBjKGllLHRoaXMuX3Nlcmllc1Byb3BlcnR5LmxvY2tTY2FsZSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBsb2NrIHNjYWxlIixhZSkpLHRoaXMuX3Nlcmllc1Byb3BlcnR5LnN0eWxlLmxpc3RlbmVycygpLnN1YnNjcmliZSh0aGlzLHJlKSx0LmVuYWJsZWQoInN1cHBvcnRfbXVsdGljaGFydHMiKSYmKGxlPSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCcvPiIpLHBlPXRoaXMuYWRkTGFiZWxlZFJvdyhOLCQudCgiVHJhY2sgdGltZSIpLGxlKSwkKCI8dGQ+IikuYXBwZW5kKGxlKS5wcmVwZW5kVG8ocGUpLHRoaXMuYmluZENvbnRyb2wobmV3IGcobGUsdGhpcy5fbW9kZWwudHJhY2tUaW1lKCksbnVsbCwiQ2hhbmdlIHRyYWNrIHRpbWUiKSkpLHNlPSQoJzx0YWJsZSBjbGFzcz0icHJvcGVydHktcGFnZSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIj4nKS5kYXRhKCJsYXlvdXQtdGFiIixhLlRhYk5hbWVzLnNjYWxlcyksZGU9JCgnPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJ0aWNrZXIiPicpLGhlPXRoaXMuYWRkTGFiZWxlZFJvdyhzZSwkLnQoIlRvcCBNYXJnaW4iKSxkZSksJCgiPHRkPiIpLmFwcGVuZFRvKGhlKS5hcHBlbmQoZGUpLCQoIjx0ZD4lPC90ZD4iKS5hcHBlbmRUbyhoZSksY2U9W2QodGhpcy5fcHJvcGVydHkucGFuZVByb3BlcnRpZXMudG9wTWFyZ2luLnZhbHVlKCkpXSxjZS5wdXNoKHMoMjUpKSxjZS5wdXNoKHAoMCkpLHRoaXMuYmluZENvbnRyb2wobmV3IGgoZGUsdGhpcy5fcHJvcGVydHkucGFuZVByb3BlcnRpZXMudG9wTWFyZ2luLGNlLCEwLHRoaXMubW9kZWwoKSwiVG9wIE1hcmdpbiIpKSwNCmJlPSQoJzxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0idGlja2VyIj4nKSx1ZT10aGlzLmFkZExhYmVsZWRSb3coc2UsJC50KCJCb3R0b20gTWFyZ2luIiksYmUpLCQoIjx0ZD4iKS5hcHBlbmRUbyh1ZSkuYXBwZW5kKGJlKSwkKCI8dGQ+JTwvdGQ+IikuYXBwZW5kVG8odWUpLENlPVtkKHRoaXMuX3Byb3BlcnR5LnBhbmVQcm9wZXJ0aWVzLmJvdHRvbU1hcmdpbi52YWx1ZSgpKV0sQ2UucHVzaChzKDI1KSksQ2UucHVzaChwKDApKSx0aGlzLmJpbmRDb250cm9sKG5ldyBoKGJlLHRoaXMuX3Byb3BlcnR5LnBhbmVQcm9wZXJ0aWVzLmJvdHRvbU1hcmdpbixDZSwhMCx0aGlzLm1vZGVsKCksIkJvdHRvbSBNYXJnaW4iKSkseWU9JCgnPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJ0aWNrZXIiPicpLGdlPXRoaXMuYWRkTGFiZWxlZFJvdyhzZSwkLnQoIlJpZ2h0IE1hcmdpbiIpLHllKSwkKCI8dGQ+IikuYXBwZW5kVG8oZ2UpLmFwcGVuZCh5ZSksJCgiPHRkPiIrJC50KCJiYXJzIix7Y29udGV4dDoibWFyZ2luIn0pKyI8L3RkPiIpLmFwcGVuZFRvKGdlKSwkZT1bZCh0aGlzLl9wcm9wZXJ0eS50aW1lU2NhbGUucmlnaHRPZmZzZXQudmFsdWUoKSldLCRlLnB1c2gocyh+fnRoaXMuX2NoYXJ0LnRpbWVTY2FsZSgpLm1heFJpZ2h0T2Zmc2V0KCkpKSwkZS5wdXNoKHAoLTIwMCkpLHRoaXMuYmluZENvbnRyb2wobmV3IGgoeWUsdGhpcy5fcHJvcGVydHkudGltZVNjYWxlLnJpZ2h0T2Zmc2V0LCRlLCEwLHRoaXMubW9kZWwoKSwiUmlnaHQgTWFyZ2luIikpLHdlPSQoJzx0YWJsZSBjbGFzcz0icHJvcGVydHktcGFnZSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIj4nKS5kYXRhKCJsYXlvdXQtdGFiIixhLlRhYk5hbWVzLnNjYWxlcyksVGU9JCgiPGlucHV0IHR5cGU9J2NoZWNrYm94JyAvPiIpLF9lPXRoaXMuYWRkTGFiZWxlZFJvdyh3ZSwkLnQoIkxlZnQgQXhpcyIpLFRlKSwkKCI8dGQ+IikuYXBwZW5kKFRlKS5wcmVwZW5kVG8oX2UpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt0aGlzLmJpbmRDb250cm9sKG5ldyBjKFRlLHRoaXMuX3Byb3BlcnR5LnNjYWxlc1Byb3BlcnRpZXMuc2hvd0xlZnRTY2FsZSwhMCx0aGlzLm1vZGVsKCksIlNob3cgTGVmdCBBeGlzIikpfS5iaW5kKHRoaXMpLDApLG1lPSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgLz4iKSxmZT10aGlzLmFkZExhYmVsZWRSb3cod2UsJC50KCJSaWdodCBBeGlzIiksbWUpLCQoIjx0ZD4iKS5hcHBlbmQobWUpLnByZXBlbmRUbyhmZSksc2V0VGltZW91dChmdW5jdGlvbigpe3RoaXMuYmluZENvbnRyb2wobmV3IGMobWUsdGhpcy5fcHJvcGVydHkuc2NhbGVzUHJvcGVydGllcy5zaG93UmlnaHRTY2FsZSwhMCx0aGlzLm1vZGVsKCksIlNob3cgUmlnaHQgQXhpcyIpKX0uYmluZCh0aGlzKSwwKSx0LmVuYWJsZWQoImNvdW50ZG93biIpJiYoTGU9JCgiPGlucHV0IHR5cGU9J2NoZWNrYm94Jz4iKSx2ZT10aGlzLmFkZExhYmVsZWRSb3cod2UsJC50KCJDb3VudGRvd24iKSxMZSksJCgiPHRkPiIpLmFwcGVuZChMZSkucHJlcGVuZFRvKHZlKSx0aGlzLmJpbmRDb250cm9sKG5ldyBjKExlLHRoaXMuX3Nlcmllc1Byb3BlcnR5LnNob3dDb3VudGRvd24sITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgU2hvdyBDb3VudGRvd24iKSkpLGtlPSQoJzxpbnB1dCB0eXBlPSJjaGVja2JveCI+JyksU2U9dGhpcy5hZGRMYWJlbGVkUm93KHdlLCQudCgiU3ltYm9sIExhc3QgVmFsdWUiKSxrZSksJCgiPHRkPiIpLmFwcGVuZChrZSkucHJlcGVuZFRvKFNlKSx0aGlzLmJpbmRDb250cm9sKG5ldyBjKGtlLHRoaXMuX3Byb3BlcnR5LnNjYWxlc1Byb3BlcnRpZXMuc2hvd1Nlcmllc0xhc3RWYWx1ZSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBTeW1ib2wgTGFzdCBWYWx1ZSBWaXNpYmlsaXR5IikpLFBlPSQoJzxpbnB1dCB0eXBlPSJjaGVja2JveCI+JykseGU9dGhpcy5hZGRMYWJlbGVkUm93KHdlLCQudCgiU3ltYm9sIFByZXYuIENsb3NlIFZhbHVlIiksUGUpLCQoIjx0ZD4iKS5hcHBlbmQoUGUpLnByZXBlbmRUbyh4ZSksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhQZSx0aGlzLl9wcm9wZXJ0eS5zY2FsZXNQcm9wZXJ0aWVzLnNob3dTZXJpZXNQcmV2Q2xvc2VWYWx1ZSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBTeW1ib2wgUHJldmlvdXMgQ2xvc2UgVmFsdWUgVmlzaWJpbGl0eSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyB5KFBlLHRoaXMuX3Nlcmllcy5pc1ByZXZDbG9zZVByaWNlQXZhaWxhYmxlKCksITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgU3ltYm9sIFByZXZpb3VzIENsb3NlIFZhbHVlIFZpc2liaWxpdHkiLCEwKSksQmU9JCgnPGlucHV0IHR5cGU9ImNoZWNrYm94Ij4nKSxFZT10aGlzLmFkZExhYmVsZWRSb3cod2UsJC50KCJJbmRpY2F0b3IgTGFzdCBWYWx1ZSIpLEJlKSwkKCI8dGQ+IikuYXBwZW5kKEJlKS5wcmVwZW5kVG8oRWUpLHRoaXMuYmluZENvbnRyb2wobmV3IGMoQmUsdGhpcy5fcHJvcGVydHkuc2NhbGVzUHJvcGVydGllcy5zaG93U3R1ZHlMYXN0VmFsdWUsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgSW5kaWNhdG9yIExhc3QgVmFsdWUgVmlzaWJpbGl0eSIpKSxSZT0kKCc8aW5wdXQgdHlwZT0iY2hlY2tib3giPicpLEZlPXRoaXMuYWRkTGFiZWxlZFJvdyh3ZSwkLnQoIlN5bWJvbCBMYWJlbHMiKSxSZSksJCgiPHRkPiIpLmFwcGVuZChSZSkucHJlcGVuZFRvKEZlKSx0aGlzLmJpbmRDb250cm9sKG5ldyBjKFJlLHRoaXMuX3Byb3BlcnR5LnNjYWxlc1Byb3BlcnRpZXMuc2hvd1N5bWJvbExhYmVscywhMCx0aGlzLm1vZGVsKCksIlNob3cgU3ltYm9sIExhYmVscyIpKSxJZT0kKCc8aW5wdXQgdHlwZT0iY2hlY2tib3giPicpLEFlPXRoaXMuYWRkTGFiZWxlZFJvdyh3ZSwkLnQoIkluZGljYXRvciBMYWJlbHMiKSxJZSksJCgiPHRkPiIpLmFwcGVuZChJZSkucHJlcGVuZFRvKEFlKSx0aGlzLmJpbmRDb250cm9sKG5ldyBjKEllLHRoaXMuX3Byb3BlcnR5LnNjYWxlc1Byb3BlcnRpZXMuc2hvd1N0dWR5UGxvdExhYmVscywhMCx0aGlzLm1vZGVsKCksIlNob3cgU3R1ZHkgUGxvdHMgTGFiZWxzIikpLERlPSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgLz4iKSwNCldlPXRoaXMuYWRkTGFiZWxlZFJvdyh3ZSwkLnQoIk5vIE92ZXJsYXBwaW5nIExhYmVscyIpLERlKSwkKCI8dGQ+IikuYXBwZW5kKERlKS5wcmVwZW5kVG8oV2UpLHRoaXMuYmluZENvbnRyb2wobmV3IGMoRGUsdGhpcy5fc2NhbGVQcm9wZXJ0eS5hbGlnbkxhYmVscywhMCx0aGlzLm1vZGVsKCksIk5vIE92ZXJsYXBwaW5nIExhYmVscyIpKSxPZT0kKCc8ZGl2IGNsYXNzPSJwcm9wZXJ0eS1wYWdlLWNvbHVtbi0yIj4nKS5hcHBlbmQoTikuYXBwZW5kKHNlKSxWZT0kKCc8ZGl2IGNsYXNzPSJwcm9wZXJ0eS1wYWdlLWNvbHVtbi0yIj4nKS5hcHBlbmQod2UpLFA9JCgiPGRpdj4iKS5jc3MoIm1pbi13aWR0aCIsIjUyMHB4IikuZGF0YSgibGF5b3V0LXRhYiIsYS5UYWJOYW1lcy5zY2FsZXMpLFAuYXBwZW5kKE9lKS5hcHBlbmQoVmUpLHRoaXMuc2NhbGVzVGFiPVAsTD0kKCc8dGFibGUgY2xhc3M9InByb3BlcnR5LXBhZ2UiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+JykuZGF0YSgibGF5b3V0LXRhYiIsYS5UYWJOYW1lcy5zdHlsZSksamU9dGhpcy5jcmVhdGVTZXJpZXNNaW5UaWNrRWRpdG9yKCksemU9JCgiPHRyPiIpLE1lPSQoIjx0cj4iKS5hcHBlbmRUbyh3ZSksSGU9JCgnPHRkIGNvbHNwYW49IjIiPicpLmFwcGVuZFRvKE1lKSwkKCI8dGQ+IiskLnQoIkRlY2ltYWwgUGxhY2VzIikrIjwvdGQ+IikuYXBwZW5kVG8oemUpLCQoIjx0ZD4iKS5hcHBlbmQoamUpLmFwcGVuZFRvKHplKSxMLmFwcGVuZCh6ZSkuYXBwZW5kVG8oSGUpLHRoaXMuYmluZENvbnRyb2wobmV3IEMoamUsdGhpcy5fc2VyaWVzUHJvcGVydHkubWluVGljayxudWxsLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIERlY2ltYWwgUGxhY2VzIikpKSx0LmVuYWJsZWQoImNoYXJ0X3Byb3BlcnR5X3BhZ2VfYmFja2dyb3VuZCIpJiYocWU9JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPicpLE5lPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoe2hpZGVUcmFuc3BhcmVuY3k6ITB9KSxHZT10aGlzLmFkZExhYmVsZWRSb3cocWUsJC50KCJCYWNrZ3JvdW5kIikpLCQoJzx0ZCBjb2xzcGFuPSIyIj4nKS5hcHBlbmQoTmUpLmFwcGVuZFRvKEdlKSx0aGlzLmJpbmRDb250cm9sKG5ldyB1KE5lLHRoaXMuX3Byb3BlcnR5LnBhbmVQcm9wZXJ0aWVzLmJhY2tncm91bmQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgQ2hhcnQgQmFja2dyb3VuZCBDb2xvciIpKSxVZT10aGlzLmFkZExhYmVsZWRSb3cocWUsJC50KCJWZXJ0IEdyaWQgTGluZXMiKSksWWU9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLCQoIjx0ZD4iKS5hcHBlbmQoWWUpLmFwcGVuZFRvKFVlKSx0aGlzLmJpbmRDb250cm9sKG5ldyB1KFllLHRoaXMuX3Byb3BlcnR5LnBhbmVQcm9wZXJ0aWVzLnZlcnRHcmlkUHJvcGVydGllcy5jb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBWZXJ0IEdyaWQgTGluZXMgQ29sb3IiKSksS2U9bSgpLCQoJzx0ZCBjb2xzcGFuPSIyIj4nKS5hcHBlbmQoS2UucmVuZGVyKCkpLmFwcGVuZFRvKFVlKSx0aGlzLmJpbmRDb250cm9sKG5ldyBDKEtlLHRoaXMuX3Byb3BlcnR5LnBhbmVQcm9wZXJ0aWVzLnZlcnRHcmlkUHJvcGVydGllcy5zdHlsZSxwYXJzZUludCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBWZXJ0IEdyaWQgTGluZXMgU3R5bGUiKSksUWU9dGhpcy5hZGRMYWJlbGVkUm93KHFlLCQudCgiSG9yeiBHcmlkIExpbmVzIikpLEplPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSwkKCI8dGQ+IikuYXBwZW5kKEplKS5hcHBlbmRUbyhRZSksdGhpcy5iaW5kQ29udHJvbChuZXcgdShKZSx0aGlzLl9wcm9wZXJ0eS5wYW5lUHJvcGVydGllcy5ob3J6R3JpZFByb3BlcnRpZXMuY29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgSG9yeiBHcmlkIExpbmVzIENvbG9yIikpLFplPW0oKSwkKCc8dGQgY29sc3Bhbj0iMiI+JykuYXBwZW5kKFplLnJlbmRlcigpKS5hcHBlbmRUbyhRZSksdGhpcy5iaW5kQ29udHJvbChuZXcgQyhaZSx0aGlzLl9wcm9wZXJ0eS5wYW5lUHJvcGVydGllcy5ob3J6R3JpZFByb3BlcnRpZXMuc3R5bGUscGFyc2VJbnQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgSG9yeiBHcmlkIExpbmVzIFN0eWxlIikpLFhlPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxldD10aGlzLmFkZExhYmVsZWRSb3cocWUsJC50KCJTY2FsZXMgVGV4dCIpKSwkKCI8dGQ+IikuYXBwZW5kKFhlKS5hcHBlbmRUbyhldCksdGhpcy5iaW5kQ29udHJvbChuZXcgdShYZSx0aGlzLl9wcm9wZXJ0eS5zY2FsZXNQcm9wZXJ0aWVzLnRleHRDb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBTY2FsZXMgVGV4dCBDb2xvciIpKSx0dD10aGlzLmNyZWF0ZUZvbnRTaXplRWRpdG9yKCksJCgiPHRkPiIpLmFwcGVuZCh0dCkuYXBwZW5kVG8oZXQpLHRoaXMuYmluZENvbnRyb2wobmV3IEModHQsdGhpcy5fcHJvcGVydHkuc2NhbGVzUHJvcGVydGllcy5mb250U2l6ZSxwYXJzZUludCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBTY2FsZXMgRm9udCBTaXplIikpLG90PXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxpdD10aGlzLmFkZExhYmVsZWRSb3cocWUsJC50KCJTY2FsZXMgTGluZXMiKSksJCgnPHRkIGNvbHNwYW49IjIiPicpLmFwcGVuZChvdCkuYXBwZW5kVG8oaXQpLHRoaXMuYmluZENvbnRyb2wobmV3IHUob3QsdGhpcy5fcHJvcGVydHkuc2NhbGVzUHJvcGVydGllcy5saW5lQ29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgU2NhbGVzIExpbmVzIENvbG9yIikpLG50PXRoaXMuYWRkTGFiZWxlZFJvdyhxZSwkLnQoIldhdGVybWFyayIpKSxhdD10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCksJCgiPHRkPiIpLmFwcGVuZChhdCkuYXBwZW5kVG8obnQpLHRoaXMuYmluZENvbnRyb2wobmV3IHUoYXQsdGhpcy5fcHJvcGVydHkuc3ltYm9sV2F0ZXJtYXJrUHJvcGVydGllcy5jb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBTeW1ib2wgV2F0ZXJtYXJrIENvbG9yIix0aGlzLl9wcm9wZXJ0eS5zeW1ib2xXYXRlcm1hcmtQcm9wZXJ0aWVzLnRyYW5zcGFyZW5jeSkpLA0KcnQ9dGhpcy5hZGRMYWJlbGVkUm93KHFlLCQudCgiQ3Jvc3NoYWlyIikpLGx0PXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSwkKCI8dGQ+IikuYXBwZW5kKGx0KS5hcHBlbmRUbyhydCksdGhpcy5iaW5kQ29udHJvbChuZXcgdShsdCx0aGlzLl9wcm9wZXJ0eS5wYW5lUHJvcGVydGllcy5jcm9zc0hhaXJQcm9wZXJ0aWVzLmNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIENyb3NzaGFpciBDb2xvciIsdGhpcy5fcHJvcGVydHkucGFuZVByb3BlcnRpZXMuY3Jvc3NIYWlyUHJvcGVydGllcy50cmFuc3BhcmVuY3kpKSxwdD1tKCksJCgiPHRkPiIpLmFwcGVuZChwdC5yZW5kZXIoKSkuYXBwZW5kVG8ocnQpLHRoaXMuYmluZENvbnRyb2wobmV3IEMocHQsdGhpcy5fcHJvcGVydHkucGFuZVByb3BlcnRpZXMuY3Jvc3NIYWlyUHJvcGVydGllcy5zdHlsZSxwYXJzZUludCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBDcm9zc2hhaXIgU3R5bGUiKSksc3Q9ZigpLCQoIjx0ZD4iKS5hcHBlbmQoc3QpLmFwcGVuZFRvKHRoaXMuYWRkUm93KHFlKS5wcmVwZW5kKCI8dGQvPjx0ZC8+IikpLHRoaXMuYmluZENvbnRyb2wobmV3IGIoc3QsdGhpcy5fcHJvcGVydHkucGFuZVByb3BlcnRpZXMuY3Jvc3NIYWlyUHJvcGVydGllcy53aWR0aCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBDcm9zc2hhaXIgV2lkdGgiKSksZHQ9JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIj4nKSxodD10aGlzLmFkZExhYmVsZWRSb3coZHQsJC50KCJOYXZpZ2F0aW9uIEJ1dHRvbnMiKSxudWxsLCEwKSxjdD0kKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpKSxrLmF2YWlsYWJsZVZhbHVlcygpLmZvckVhY2goZnVuY3Rpb24oZSl7JChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJvcHRpb24iKSkuYXR0cigidmFsdWUiLGUudmFsdWUpLnRleHQoZS50aXRsZSkuYXBwZW5kVG8oY3QpfSksJCgiPHRkPiIpLmFwcGVuZChjdCkuYXBwZW5kVG8oaHQpLHRoaXMuYmluZENvbnRyb2wobmV3IEMoY3Qsay5wcm9wZXJ0eSgpLG51bGwsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgTmF2aWdhdGlvbiBCdXR0b25zIFZpc2liaWxpdHkiKSksYnQ9JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPicpLHV0PSQoJzxpbnB1dCB0eXBlPSJjaGVja2JveCI+JyksQ3Q9dGhpcy5hZGRMYWJlbGVkUm93KGJ0LCQudCgiU3ltYm9sIERlc2NyaXB0aW9uIiksdXQpLCQoIjx0ZD4iKS5hcHBlbmQodXQpLnByZXBlbmRUbyhDdCksdGhpcy5iaW5kQ29udHJvbChuZXcgYyh1dCx0aGlzLl9wcm9wZXJ0eS5wYW5lUHJvcGVydGllcy5sZWdlbmRQcm9wZXJ0aWVzLnNob3dTZXJpZXNUaXRsZSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBTeW1ib2wgRGVzY3JpcHRpb24gVmlzaWJpbGl0eSIpKSx5dD0kKCc8aW5wdXQgdHlwZT0iY2hlY2tib3giPicpLGd0PXRoaXMuYWRkTGFiZWxlZFJvdyhidCwkLnQoIk9ITEMgVmFsdWVzIikseXQpLCQoIjx0ZD4iKS5hcHBlbmQoeXQpLnByZXBlbmRUbyhndCksdGhpcy5iaW5kQ29udHJvbChuZXcgYyh5dCx0aGlzLl9wcm9wZXJ0eS5wYW5lUHJvcGVydGllcy5sZWdlbmRQcm9wZXJ0aWVzLnNob3dTZXJpZXNPSExDLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIE9ITEMgVmFsdWVzIFZpc2liaWxpdHkiKSksJHQ9JCgnPGlucHV0IHR5cGU9ImNoZWNrYm94Ij4nKSx3dD10aGlzLmFkZExhYmVsZWRSb3coYnQsJC50KCJJbmRpY2F0b3IgVGl0bGVzIiksJHQpLCQoIjx0ZD4iKS5hcHBlbmQoJHQpLnByZXBlbmRUbyh3dCksdGhpcy5iaW5kQ29udHJvbChuZXcgYygkdCx0aGlzLl9wcm9wZXJ0eS5wYW5lUHJvcGVydGllcy5sZWdlbmRQcm9wZXJ0aWVzLnNob3dTdHVkeVRpdGxlcywhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBJbmRpY2F0b3IgVGl0bGVzIFZpc2liaWxpdHkiKSksVHQ9JCgnPGlucHV0IHR5cGU9ImNoZWNrYm94Ij4nKSxfdD10aGlzLmFkZExhYmVsZWRSb3coYnQsJC50KCJJbmRpY2F0b3IgQXJndW1lbnRzIiksVHQpLG10PWZ1bmN0aW9uKGUpe1R0LnByb3AoImRpc2FibGVkIiwhZS52YWx1ZSgpKX0sJCgiPHRkPiIpLmFwcGVuZChUdCkucHJlcGVuZFRvKF90KSx0aGlzLmJpbmRDb250cm9sKG5ldyBjKFR0LHRoaXMuX3Byb3BlcnR5LnBhbmVQcm9wZXJ0aWVzLmxlZ2VuZFByb3BlcnRpZXMuc2hvd1N0dWR5QXJndW1lbnRzLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEluZGljYXRvciBBcmd1bWVudHMgVmlzaWJpbGl0eSIpKSx0aGlzLl9wcm9wZXJ0eS5wYW5lUHJvcGVydGllcy5sZWdlbmRQcm9wZXJ0aWVzLnNob3dTdHVkeVRpdGxlcy5saXN0ZW5lcnMoKS5zdWJzY3JpYmUodGhpcyxtdCksbXQodGhpcy5fcHJvcGVydHkucGFuZVByb3BlcnRpZXMubGVnZW5kUHJvcGVydGllcy5zaG93U3R1ZHlUaXRsZXMpLGZ0PSQoJzxpbnB1dCB0eXBlPSJjaGVja2JveCI+JyksTHQ9dGhpcy5hZGRMYWJlbGVkUm93KGJ0LCQudCgiSW5kaWNhdG9yIFZhbHVlcyIpLGZ0KSwkKCI8dGQ+IikuYXBwZW5kKGZ0KS5wcmVwZW5kVG8oTHQpLHRoaXMuYmluZENvbnRyb2wobmV3IGMoZnQsdGhpcy5fcHJvcGVydHkucGFuZVByb3BlcnRpZXMubGVnZW5kUHJvcGVydGllcy5zaG93U3R1ZHlWYWx1ZXMsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgSW5kaWNhdG9yIFZhbHVlcyBWaXNpYmlsaXR5IikpLHZ0PSQoJzxkaXYgY2xhc3M9InByb3BlcnR5LXBhZ2UtY29sdW1uLTIiPicpLmFwcGVuZChxZSksa3Q9JCgnPGRpdiBjbGFzcz0icHJvcGVydHktcGFnZS1jb2x1bW4tMiI+JykuYXBwZW5kKGJ0KSxTdD0kKCc8ZGl2IGNsYXNzPSJwcm9wZXJ0eS1wYWdlLWNvbHVtbi0xIj4nKS5hcHBlbmQoZHQpLHg9JCgiPGRpdj4iKS5jc3MoIm1pbi13aWR0aCIsIjUyMHB4IikuZGF0YSgibGF5b3V0LXRhYiIsYS5UYWJOYW1lcy5iYWNrZ3JvdW5kKSx4LmFwcGVuZCh2dCkuYXBwZW5kKGt0KS5hcHBlbmQoU3QpKSx0LmVuYWJsZWQoImNoYXJ0X3Byb3BlcnR5X3BhZ2VfdGltZXpvbmVfc2Vzc2lvbnMiKSl7DQpmb3IoRT0kKCc8dGFibGUgY2xhc3M9InByb3BlcnR5LXBhZ2UiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+JykuZGF0YSgibGF5b3V0LXRhYiIsYS5UYWJOYW1lcy50aW1lem9uZVNlc3Npb25zKSx0aGlzLnRtelNlc3NUYWJsZT1FLGdlPSQoIjx0cj4iKS5hcHBlbmRUbyhFKSxQdD0kKCI8dGQ+IikuYXBwZW5kVG8oZ2UpLHh0PSQoJzx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiPicpLmFwcGVuZFRvKFB0KSxCdD0kKCI8dHI+IiksQnQuYXBwZW5kVG8oeHQpLEV0PSQoIjx0ZD4iKSxFdC5hcHBlbmRUbyhCdCksRXQudGV4dCgkLnQoIlRpbWUgWm9uZSIpKSxSdD0kKCc8dGQgY29sc3Bhbj0iMiIgY2xhc3M9InR6ZWRpdG9yIj4nKSxSdC5hcHBlbmRUbyhCdCksRnQ9IiIsSXQ9MDtJdDx2Lmxlbmd0aDtJdCsrKUZ0Kz0nPG9wdGlvbiB2YWx1ZT0iJyt2W0l0XS5pZCsnIj4nK3ZbSXRdLnRpdGxlKyI8L29wdGlvbj4iO0F0PSQoIjxzZWxlY3Q+IitGdCsiPC9zZWxlY3Q+IiksQXQuYXBwZW5kVG8oUnQpLHRoaXMuYmluZENvbnRyb2wobmV3IEMoQXQsdGhpcy5fcHJvcGVydHkudGltZXpvbmUsbnVsbCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUaW1lem9uZSIpKSx0aGlzLl9zZXJpZXMuY3JlYXRlU2Vzc1N0dWR5KCksdGhpcy5jcmVhdGVTZXNzVGFibGUoRSl9RHQ9dC5lbmFibGVkKCJjaGFydF9wcm9wZXJ0eV9wYWdlX2V2ZW50c19hbGVydHMiKSYmIXQuZW5hYmxlZCgiY2hhcnRpbmdfbGlicmFyeV9iYXNlIiksRHQmJihXdD10LmVuYWJsZWQoImFsZXJ0cyIpP2EuVGFiTmFtZXMuZXZlbnRzQW5kQWxlcnRzOmEuVGFiTmFtZXMuZXZlbnRzLEY9JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPicpLmRhdGEoImxheW91dC10YWIiLFd0KSx0aGlzLmNyZWF0ZUV2ZW50c1RhYmxlKEYpKSxPdD10LmVuYWJsZWQoInRyYWRpbmdfb3B0aW9ucyIpfHx0LmVuYWJsZWQoImNoYXJ0X3Byb3BlcnR5X3BhZ2VfdHJhZGluZyIpLE90JiYoUj10aGlzLmNyZWF0ZVRyYWRpbmdUYWJsZSgpKSxuPSQoJzx0YWJsZSBjbGFzcz0icHJvcGVydHktcGFnZSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIj4nKSxyPSQoJzx0YWJsZSBjbGFzcz0icHJvcGVydHktcGFnZSBwcm9wZXJ0eS1wYWdlLXVucGFkZGVkIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiPicpLmNzcyh7d2lkdGg6IjEwMCUifSkuZGF0YSgibGF5b3V0LXNlcGFyYXRlZCIsITApLEI9JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPicpLmRhdGEoImxheW91dC10YWIiLGEuVGFiTmFtZXMuZHJhd2luZ3MpLHRoaXMuX3RhYmxlPSQoKS5hZGQoZSkuYWRkKG8pLmFkZChpKS5hZGQobikuYWRkKHIpLmFkZChsKS5hZGQoUykuYWRkKFApLmFkZCh4KS5hZGQoQikuYWRkKEUpLmFkZChSKS5hZGQoRiksdGhpcy5sb2FkRGF0YSgpfSxpLnByb3RvdHlwZS53aWRnZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdGFibGV9LGkucHJvdG90eXBlLmxvYWREYXRhPWZ1bmN0aW9uKCl7dGhpcy5zdXBlcmNsYXNzLnByb3RvdHlwZS5sb2FkRGF0YS5jYWxsKHRoaXMpLHRoaXMuc3dpdGNoU3R5bGUoKX0saS5wcm90b3R5cGUubG9hZFRoZW1lPWZ1bmN0aW9uKGUsdCxvKXt9LGkucHJvdG90eXBlLmFwcGx5VGhlbWU9ZnVuY3Rpb24oZSx0KXt0aGlzLl9tb2RlbC5fY2hhcnRXaWRnZXQuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5hcHBseVRoZW1lKGUsdCksdGhpcy5sb2FkRGF0YSgpfSxpLnByb3RvdHlwZS5jcmVhdGVUZW1wbGF0ZUJ1dHRvbj1mdW5jdGlvbihlKXtyZXR1cm4gdC5lbmFibGVkKCJjaGFydF9wcm9wZXJ0eV9wYWdlX3RlbXBsYXRlX2J1dHRvbiIpPyh0aGlzLGV8fChlPXt9KSwkKCc8YSBocmVmPSIjIiBjbGFzcz0iX3R2LWJ1dHRvbiI+JyskLnQoIlRlbXBsYXRlIikrJzxzcGFuIGNsYXNzPSJpY29uLWRyb3Bkb3duIj48L3NwYW4+PC9hPicpKTokKCI8c3BhbiAvPiIpfSxpLnByb3RvdHlwZS5zd2l0Y2hTdHlsZT1mdW5jdGlvbigpe2lmKHRoaXMuX2hhc1Nlcmllc1N0eWxlTGF5b3V0KXN3aXRjaCgkKHRoaXMuX2JhcnNUYm9keSkuYWRkKHRoaXMuX2JhcnNDb2xvcmVyVGJvZHkpLmFkZCh0aGlzLl9yZW5rb1Rib2R5KS5hZGQodGhpcy5fcGJUYm9keSkuYWRkKHRoaXMuX2thZ2lUYm9keSkuYWRkKHRoaXMuX3BuZlRib2R5KS5hZGQodGhpcy5fY2FuZGxlc1Rib2R5KS5hZGQodGhpcy5fY2FuZGxlc0NvbG9yZXJUYm9keSkuYWRkKHRoaXMuX2hvbGxvd0NhbmRsZXNUYm9keSkuYWRkKHRoaXMuX2xpbmVUYm9keSkuYWRkKHRoaXMuX2FyZWFUYm9keSkuYWRkKHRoaXMuX2hhVGJvZHkpLmFkZCh0aGlzLl9oYUNvbG9yZXJUYm9keSkuYWRkKHRoaXMuX2Jhc2VsaW5lVGJvZHkpLmNzcygiZGlzcGxheSIsIm5vbmUiKSx0aGlzLl9zZXJpZXNQcm9wZXJ0eS5zdHlsZS52YWx1ZSgpKXtjYXNlIHcuU1RZTEVfQkFSUzp0aGlzLl9iYXJzVGJvZHkuY3NzKCJkaXNwbGF5IiwidGFibGUtcm93LWdyb3VwIiksdGhpcy5fYmFyc0NvbG9yZXJUYm9keS5jc3MoImRpc3BsYXkiLCJ0YWJsZS1yb3ctZ3JvdXAiKTticmVhaztjYXNlIHcuU1RZTEVfQ0FORExFUzp0aGlzLl9jYW5kbGVzVGJvZHkuY3NzKCJkaXNwbGF5IiwidGFibGUtcm93LWdyb3VwIiksdGhpcy5fY2FuZGxlc0NvbG9yZXJUYm9keS5jc3MoImRpc3BsYXkiLCJ0YWJsZS1yb3ctZ3JvdXAiKTticmVhaztjYXNlIHcuU1RZTEVfSE9MTE9XX0NBTkRMRVM6dGhpcy5faG9sbG93Q2FuZGxlc1Rib2R5LmNzcygiZGlzcGxheSIsInRhYmxlLXJvdy1ncm91cCIpO2JyZWFrO2Nhc2Ugdy5TVFlMRV9MSU5FOnRoaXMuX2xpbmVUYm9keS5jc3MoImRpc3BsYXkiLCJ0YWJsZS1yb3ctZ3JvdXAiKTticmVhaztjYXNlIHcuU1RZTEVfQVJFQTp0aGlzLl9hcmVhVGJvZHkuY3NzKCJkaXNwbGF5IiwidGFibGUtcm93LWdyb3VwIik7YnJlYWs7Y2FzZSB3LlNUWUxFX1JFTktPOnRoaXMuX3JlbmtvVGJvZHkuY3NzKCJkaXNwbGF5IiwidGFibGUtcm93LWdyb3VwIik7YnJlYWsNCjtjYXNlIHcuU1RZTEVfUEI6dGhpcy5fcGJUYm9keS5jc3MoImRpc3BsYXkiLCJ0YWJsZS1yb3ctZ3JvdXAiKTticmVhaztjYXNlIHcuU1RZTEVfS0FHSTp0aGlzLl9rYWdpVGJvZHkuY3NzKCJkaXNwbGF5IiwidGFibGUtcm93LWdyb3VwIik7YnJlYWs7Y2FzZSB3LlNUWUxFX1BORjp0aGlzLl9wbmZUYm9keS5jc3MoImRpc3BsYXkiLCJ0YWJsZS1yb3ctZ3JvdXAiKTticmVhaztjYXNlIHcuU1RZTEVfSEVJS0VOX0FTSEk6dGhpcy5faGFUYm9keS5jc3MoImRpc3BsYXkiLCJ0YWJsZS1yb3ctZ3JvdXAiKSx0aGlzLl9oYUNvbG9yZXJUYm9keS5jc3MoImRpc3BsYXkiLCJ0YWJsZS1yb3ctZ3JvdXAiKTticmVhaztjYXNlIHcuU1RZTEVfQkFTRUxJTkU6dGhpcy5fYmFzZWxpbmVUYm9keS5jc3MoImRpc3BsYXkiLCJ0YWJsZS1yb3ctZ3JvdXAiKX19LGkucHJvdG90eXBlLm9uUmVzb3JlRGVmYXVsdHM9ZnVuY3Rpb24oKXt2YXIgZSx0PXRoaXMuX21vZGVsLm1vZGVsKCkucHJvcGVydGllcygpLnBhbmVQcm9wZXJ0aWVzLnRvcE1hcmdpbixvPXRoaXMuX21vZGVsLm1vZGVsKCkucHJvcGVydGllcygpLnBhbmVQcm9wZXJ0aWVzLmJvdHRvbU1hcmdpbjt0Lmxpc3RlbmVycygpLmZpcmUodCksby5saXN0ZW5lcnMoKS5maXJlKG8pLGU9dGhpcy5fbW9kZWwubW9kZWwoKS5wcm9wZXJ0aWVzKCkudGltZXpvbmUsZS5saXN0ZW5lcnMoKS5maXJlKGUpfSxpLnByb3RvdHlwZS5kZWZhdWx0UHJvcGVydGllcz1mdW5jdGlvbigpe3ZhciBlPXRoaXMsdD1bZS5fc2VyaWVzUHJvcGVydHkuZXh0ZW5kZWRIb3VycyxlLl9wcm9wZXJ0eS5zY2FsZXNQcm9wZXJ0aWVzLnNob3dMZWZ0U2NhbGUsZS5fcHJvcGVydHkuc2NhbGVzUHJvcGVydGllcy5zaG93UmlnaHRTY2FsZSxlLl9wcm9wZXJ0eS50aW1lU2NhbGUucmlnaHRPZmZzZXRdLm1hcChmdW5jdGlvbihlKXtyZXR1cm57cHJvcGVydHk6ZSxwcmV2aW91c1ZhbHVlOmUudmFsdWUoKX19KTtyZXR1cm4gc2V0VGltZW91dChmdW5jdGlvbigpe3QuZm9yRWFjaChmdW5jdGlvbihlKXtlLnByb3BlcnR5LnZhbHVlKCkhPT1lLnByZXZpb3VzVmFsdWUmJmUucHJvcGVydHkubGlzdGVuZXJzKCkuZmlyZShlLnByb3BlcnR5KX0pO3ZhciBvPW5ldyBMKCJjaGFydHByb3BlcnRpZXMucGFuZVByb3BlcnRpZXMucmlnaHRBeGlzUHJvcGVydGllcyIpOyQuZWFjaChbImF1dG9TY2FsZSIsInBlcmNlbnRhZ2UiLCJsb2ciXSxmdW5jdGlvbih0LGkpe3ZhciBuPWUuX3NjYWxlUHJvcGVydHlbaV0sYT1vW2ldLnZhbHVlKCk7YSE9PW4udmFsdWUoKSYmbi5zZXRWYWx1ZShhKX0pfSwwKSxbdGhpcy5fcHJvcGVydHksdGhpcy5fc2VyaWVzUHJvcGVydHldfSxpLnByb3RvdHlwZS5jcmVhdGVFdmVudHNUYWJsZT1mdW5jdGlvbihlKXt2YXIgbyxpLG4sYSxyLGwscCxzLGQsaCxnLHcsVCxMLHYsayxTLFAseCxCLEUsUixGLEksQSxELFcsTyxWPSQoIjx0cj4iKS5hcHBlbmRUbyhlKSxqPSQoJzxpbnB1dCB0eXBlPSJjaGVja2JveCIgLz4nKSx6PXRoaXMuYWRkTGFiZWxlZFJvdyhWLCQudCgiU2hvdyBEaXZpZGVuZHMgb24gQ2hhcnQiKSxqKTskKCI8dGQ+IikuYXBwZW5kKGopLnByZXBlbmRUbyh6KSx6LmFwcGVuZCgiPHRkPiIpLHRoaXMuYmluZENvbnRyb2wobmV3IGMoaix0aGlzLl9zZXJpZXNQcm9wZXJ0eS5lc2RTaG93RGl2aWRlbmRzLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFNob3cgb3IgSGlkZSBEaXZpZGVuZHMiKSksbz0kKCc8aW5wdXQgdHlwZT0iY2hlY2tib3giIC8+Jyksej10aGlzLmFkZExhYmVsZWRSb3coViwkLnQoIlNob3cgU3BsaXRzIG9uIENoYXJ0IiksbyksJCgiPHRkPiIpLmFwcGVuZChvKS5wcmVwZW5kVG8oeiksei5hcHBlbmQoIjx0ZD4iKSx0aGlzLmJpbmRDb250cm9sKG5ldyBjKG8sdGhpcy5fc2VyaWVzUHJvcGVydHkuZXNkU2hvd1NwbGl0cywhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBTaG93IG9yIEhpZGUgU3BsaXRzIikpLGk9JCgnPGlucHV0IHR5cGU9ImNoZWNrYm94IiAvPicpLHo9dGhpcy5hZGRMYWJlbGVkUm93KFYsJC50KCJTaG93IEVhcm5pbmdzIG9uIENoYXJ0IiksaSksJCgiPHRkPiIpLmFwcGVuZChpKS5wcmVwZW5kVG8oeiksei5hcHBlbmQoIjx0ZD4iKSx0aGlzLmJpbmRDb250cm9sKG5ldyBjKGksdGhpcy5fc2VyaWVzUHJvcGVydHkuZXNkU2hvd0Vhcm5pbmdzLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFNob3cgb3IgSGlkZSBFYXJuaW5ncyIpKSxuPXRoaXMuY3JlYXRlVGFibGVJblRhYmxlKGUpLGE9JCgnPGlucHV0IHR5cGU9ImNoZWNrYm94IiAvPicpLHI9bSgpLGw9ZigpLHo9dGhpcy5hZGRMYWJlbGVkUm93KG4sJC50KCJFYXJuaW5ncyBicmVha3MiKSxhKSwkKCI8dGQ+IikuYXBwZW5kKGEpLnByZXBlbmRUbyh6KSxwPV8oJCgiPHRkPiIpLmFwcGVuZFRvKHopKSwkKCI8dGQ+IikuYXBwZW5kKHIucmVuZGVyKCkpLmFwcGVuZFRvKHopLCQoIjx0ZD4iKS5hcHBlbmQobCkuYXBwZW5kVG8oeiksei5hZGRDbGFzcygib2Zmc2V0LXJvdyIpLHouYXBwZW5kKCI8dGQ+IiksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhhLHRoaXMuX3Nlcmllc1Byb3BlcnR5LmVzZFNob3dCcmVha3MsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgU2hvdyBvciBIaWRlIEVhcm5pbmdzIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHUocCx0aGlzLl9zZXJpZXNQcm9wZXJ0eS5lc2RCcmVha3NTdHlsZS5jb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBlYXJuaW5ncyBjb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBDKHIsdGhpcy5fc2VyaWVzUHJvcGVydHkuZXNkQnJlYWtzU3R5bGUuc3R5bGUscGFyc2VJbnQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2Ugc3R5bGUiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgYihsLHRoaXMuX3Nlcmllc1Byb3BlcnR5LmVzZEJyZWFrc1N0eWxlLndpZHRoLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIHdpZHRoIikpLHM9ZnVuY3Rpb24oZSl7YS5wcm9wKCJkaXNhYmxlZCIsIWUudmFsdWUoKSl9LHRoaXMuX3Nlcmllc1Byb3BlcnR5LmVzZFNob3dFYXJuaW5ncy5saXN0ZW5lcnMoKS5zdWJzY3JpYmUodGhpcyxzKSwNCnQuZW5hYmxlZCgiY2hhcnRfZXZlbnRzIikmJihkPSQoJzxpbnB1dCB0eXBlPSJjaGVja2JveCI+JyksaD0kKCc8aW5wdXQgdHlwZT0iY2hlY2tib3giPicpLGc9JCgnPGlucHV0IHR5cGU9ImNoZWNrYm94IiAvPicpLHc9bSgpLFQ9ZigpLEw9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLHY9dGhpcy5fcHJvcGVydHkuY2hhcnRFdmVudHNTb3VyY2VQcm9wZXJ0aWVzLHRoaXMuYmluZENvbnRyb2wobmV3IGMoZCx2LnZpc2libGUsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgU2hvdyBFY29ub21pYyBFdmVudHMgb24gQ2hhcnQiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhoLHYuZnV0dXJlT25seSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBTaG93IE9ubHkgRnV0dXJlIEV2ZW50cyIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyB5KGgsdi52aXNpYmxlLCEwLHRoaXMubW9kZWwoKSwiIiwhMCkpLHRoaXMuYmluZENvbnRyb2wobmV3IHkoZyx2LnZpc2libGUsITAsdGhpcy5tb2RlbCgpLCIiLCEwKSksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhnLHYuYnJlYWtzLnZpc2libGUsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgU2hvdyBvciBIaWRlIEV2ZW50cyBCcmVha3MiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgdShMLHYuYnJlYWtzLmNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEV2ZW50cyBCcmVha3MgQ29sb3IiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgQyh3LHYuYnJlYWtzLnN0eWxlLHBhcnNlSW50LCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEV2ZW50cyBCcmVha3MgU3R5bGUiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgYihULHYuYnJlYWtzLndpZHRoLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEV2ZW50cyBCcmVha3MgV2lkdGgiKSksaz0kKCI8dHI+IikuYXBwZW5kVG8oZSksej10aGlzLmFkZExhYmVsZWRSb3coaywkLnQoIlNob3cgRWNvbm9taWMgRXZlbnRzIG9uIENoYXJ0IiksZCksJCgiPHRkPiIpLmFwcGVuZChkKS5wcmVwZW5kVG8oeiksUz10aGlzLmNyZWF0ZVRhYmxlSW5UYWJsZShlKSx6PXRoaXMuYWRkTGFiZWxlZFJvdyhTLCQudCgiU2hvdyBPbmx5IEZ1dHVyZSBFdmVudHMiKSxoKSwkKCI8dGQ+IikuYXBwZW5kKGgpLnByZXBlbmRUbyh6KSx6LmFkZENsYXNzKCJvZmZzZXQtcm93IiksUD10aGlzLmNyZWF0ZVRhYmxlSW5UYWJsZShlKSx6PXRoaXMuYWRkTGFiZWxlZFJvdyhQLCQudCgiRXZlbnRzIEJyZWFrcyIpLGcpLCQoIjx0ZD4iKS5hcHBlbmQoZykucHJlcGVuZFRvKHopLCQoIjx0ZD4iKS5hcHBlbmQoTCkuYXBwZW5kVG8oeiksJCgiPHRkPiIpLmFwcGVuZCh3LnJlbmRlcigpKS5hcHBlbmRUbyh6KSwkKCI8dGQ+IikuYXBwZW5kKFQpLmFwcGVuZFRvKHopLHouYWRkQ2xhc3MoIm9mZnNldC1yb3ciKSksdC5lbmFibGVkKCJhbGVydHMiKSYmKHg9JCgiPHRyPiIpLmFwcGVuZFRvKGUpLEI9JCgnPGlucHV0IHR5cGU9ImNoZWNrYm94IiAvPicpLHo9dGhpcy5hZGRMYWJlbGVkUm93KHgsJC50KCJTaG93IEFsZXJ0IExhYmVscyIpLEIpLCQoIjx0ZD4iKS5hcHBlbmQoQikucHJlcGVuZFRvKHopLHouYXBwZW5kKCI8dGQ+IiksRT10aGlzLl9wcm9wZXJ0eS5hbGVydHNQcm9wZXJ0aWVzLmxhYmVscy52aXNpYmxlLHRoaXMuYmluZENvbnRyb2wobmV3IGMoQixFLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFNob3cgb3IgSGlkZSBBbGVydCBMYWJlbHMiLGZ1bmN0aW9uKGUpe3RoaXMuX21vZGVsLmJlZ2luVW5kb01hY3JvKCJTaG93IEFsZXJ0IExhYmVscyIpLHRoaXMuX21vZGVsLnNldFByb3BlcnR5KEUsZSwiU2hvdyAgQWxlcnQgTGFiZWxzIiksdGhpcy5fbW9kZWwuZW5kVW5kb01hY3JvKCl9LmJpbmQodGhpcykpKSxSPXRoaXMuY3JlYXRlVGFibGVJblRhYmxlKGUpLEY9JCgnPGlucHV0IHR5cGU9ImNoZWNrYm94Ij4nKSxJPWYoKSxBPW0oKSxEPUEucmVuZGVyKCksej10aGlzLmFkZExhYmVsZWRSb3coUiwkLnQoIkV4dGVuZGVkIEFsZXJ0IExpbmUiKSxGKSwkKCI8dGQ+IikuYXBwZW5kKEYpLnByZXBlbmRUbyh6KSxXPV8oJCgiPHRkPiIpLmFwcGVuZFRvKHopKSwkKCI8dGQ+IikuYXBwZW5kKEQpLmFwcGVuZFRvKHopLCQoIjx0ZD4iKS5hcHBlbmQoSSkuYXBwZW5kVG8oeiksei5hZGRDbGFzcygib2Zmc2V0LXJvdyIpLHouYXBwZW5kKCI8dGQ+IiksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhGLHRoaXMuX3Byb3BlcnR5LmFsZXJ0c1Byb3BlcnRpZXMubGFiZWxzLmxpbmUudmlzaWJsZSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBTaG93IG9yIEhpZGUgQWxlcnQgTGFiZWxzIExpbmVzIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHUoVyx0aGlzLl9wcm9wZXJ0eS5hbGVydHNQcm9wZXJ0aWVzLmxhYmVscy5jb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBBbGVydHMgTGFiZWxzIGNvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IEMoQSx0aGlzLl9wcm9wZXJ0eS5hbGVydHNQcm9wZXJ0aWVzLmxhYmVscy5saW5lLnN0eWxlLHBhcnNlSW50LCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIHN0eWxlIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGIoSSx0aGlzLl9wcm9wZXJ0eS5hbGVydHNQcm9wZXJ0aWVzLmxhYmVscy5saW5lLndpZHRoLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIHdpZHRoIikpLE89ZnVuY3Rpb24oZSl7Ri5wcm9wKCJkaXNhYmxlZCIsIWUudmFsdWUoKSksRC5wcm9wKCJkaXNhYmxlZCIsIWUudmFsdWUoKSksSS5wcm9wKCJkaXNhYmxlZCIsIWUudmFsdWUoKSl9LEUubGlzdGVuZXJzKCkuc3Vic2NyaWJlKHRoaXMsTykpfSxpLnByb3RvdHlwZS5jcmVhdGVTZXNzVGFibGU9ZnVuY3Rpb24oZSl7dmFyIHQsbz10aGlzLl9zZXJpZXMuc2Vzc2lvbnNTdHVkeSgpLnByb3BlcnRpZXMoKSxpPXRoaXMuY3JlYXRlVGFibGVJblRhYmxlKGUpLG49by5uYW1lLnZhbHVlKCksYT0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnIC8+Iikscj10aGlzLmFkZExhYmVsZWRSb3coaSwkLnQoIlNlc3Npb24gQnJlYWtzIiksYSksbD1tKCkscD10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCkscz1mKCk7cmV0dXJuICQoIjx0ZD4iKS5hcHBlbmQoYSkucHJlcGVuZFRvKHIpLA0KJCgiPHRkPiIpLmFwcGVuZChwKS5hcHBlbmRUbyhyKSwkKCI8dGQ+IikuYXBwZW5kKGwucmVuZGVyKCkpLmFwcGVuZFRvKHIpLCQoIjx0ZD4iKS5hcHBlbmQocykuYXBwZW5kVG8ociksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhhLG8uZ3JhcGhpY3MudmVydGxpbmVzLnNlc3NCcmVha3MudmlzaWJsZSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSAiK24rIiB2aXNpYmlsaXR5IikpLHRoaXMuYmluZENvbnRyb2wobmV3IHUocCxvLmdyYXBoaWNzLnZlcnRsaW5lcy5zZXNzQnJlYWtzLmNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlICIrbisiIGNvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IEMobCxvLmdyYXBoaWNzLnZlcnRsaW5lcy5zZXNzQnJlYWtzLnN0eWxlLHBhcnNlSW50LCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlICIrbisiIHN0eWxlIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGIocyxvLmdyYXBoaWNzLnZlcnRsaW5lcy5zZXNzQnJlYWtzLndpZHRoLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlICIrbisiIHdpZHRoIikpLHQ9dGhpcy5fc2VyaWVzLmlzSW50cmFkYXlJbnRlcnZhbCgpLGEucHJvcCgiZGlzYWJsZWQiLCF0KSxpfSxpLnByb3RvdHlwZS5fY3JlYXRlU3R1ZHlTZXNzUm93PWZ1bmN0aW9uKGUsdCxvKXt2YXIgaSxuPSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgLz4iKSxhPXRoaXMuYWRkTGFiZWxlZFJvdyhlLHQsbikscj1fKCQoIjx0ZD4iKS5hcHBlbmRUbyhhKSk7cmV0dXJuIHRoaXMuYmluZENvbnRyb2wobmV3IGMobixvLnZpc2libGUsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgIit0KyIgdmlzaWJpbGl0eSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyB1KHIsby5jb2xvciwhMCx0aGlzLm1vZGVsKCksdCsiIGNvbG9yIixvLnRyYW5zcGFyZW5jeSkpLGk9JCgiPHRkPiIpLGkuYXBwZW5kKG4pLnByZXBlbmRUbyhhKSxhLmFkZENsYXNzKCJvZmZzZXQtcm93Iiksbn0saS5wcm90b3R5cGUuY3JlYXRlVHJhZGluZ1RhYmxlPWZ1bmN0aW9uKCl7dmFyIGUsdCxvLGksbixyLGwsdSx5LGcsdyxUPSQoJzx0YWJsZSBjbGFzcz0icHJvcGVydHktcGFnZSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIj4nKS5kYXRhKCJsYXlvdXQtdGFiIixhLlRhYk5hbWVzLnRyYWRpbmcpLF89JCgiPHRyPiIpLmFwcGVuZFRvKFQpLEw9JCgiPHRkPiIpLmFwcGVuZFRvKF8pLHY9JCgnPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCI+JykuYXBwZW5kVG8oTCksaz0kKCc8aW5wdXQgdHlwZT0iY2hlY2tib3giPicpO3JldHVybiBfPXRoaXMuYWRkTGFiZWxlZFJvdyh2LCQudCgiU2hvdyBQb3NpdGlvbnMiKSxrKSwkKCI8dGQ+IikuYXBwZW5kKGspLnByZXBlbmRUbyhfKSx0aGlzLmJpbmRDb250cm9sKG5ldyBjKGssdGhpcy5fcHJvcGVydHkudHJhZGluZ1Byb3BlcnRpZXMuc2hvd1Bvc2l0aW9ucywhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBQb3NpdGlvbnMgVmlzaWJpbGl0eSIpKSxlPSQoJzxpbnB1dCB0eXBlPSJjaGVja2JveCI+JyksXz10aGlzLmFkZExhYmVsZWRSb3codiwkLnQoIlNob3cgT3JkZXJzIiksZSksJCgiPHRkPiIpLmFwcGVuZChlKS5wcmVwZW5kVG8oXyksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhlLHRoaXMuX3Byb3BlcnR5LnRyYWRpbmdQcm9wZXJ0aWVzLnNob3dPcmRlcnMsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgT3JkZXJzIFZpc2liaWxpdHkiKSksdD0kKCc8aW5wdXQgdHlwZT0iY2hlY2tib3giPicpLG89dGhpcy5hZGRMYWJlbGVkUm93KHYsJC50KCJFeHRlbmQgTGluZXMgTGVmdCIpLHQpLCQoIjx0ZD4iKS5hcHBlbmQodCkucHJlcGVuZFRvKG8pLHRoaXMuYmluZENvbnRyb2wobmV3IGModCx0aGlzLl9wcm9wZXJ0eS50cmFkaW5nUHJvcGVydGllcy5leHRlbmRMZWZ0LCEwLHRoaXMubW9kZWwoKSwiRXh0ZW5kIExpbmVzIExlZnQiKSksaT1mKCksdGhpcy5iaW5kQ29udHJvbChuZXcgYihpLHRoaXMuX3Byb3BlcnR5LnRyYWRpbmdQcm9wZXJ0aWVzLmxpbmVXaWR0aCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBDb25uZWN0aW5nIExpbmUgV2lkdGgiKSksbj1tKCksdGhpcy5iaW5kQ29udHJvbChuZXcgQyhuLHRoaXMuX3Byb3BlcnR5LnRyYWRpbmdQcm9wZXJ0aWVzLmxpbmVTdHlsZSxwYXJzZUludCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBDb25uZWN0aW5nIExpbmUgU3R5bGUiKSkscj0kKCc8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9InRpY2tlciI+JyksbD1bZCh0aGlzLl9wcm9wZXJ0eS50cmFkaW5nUHJvcGVydGllcy5saW5lTGVuZ3RoLnZhbHVlKCkpLHMoMTAwKSxwKDApXSx0aGlzLmJpbmRDb250cm9sKG5ldyBoKHIsdGhpcy5fcHJvcGVydHkudHJhZGluZ1Byb3BlcnRpZXMubGluZUxlbmd0aCxsLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIENvbm5lY3RpbmcgTGluZSBMZW5ndGgiKSksdT0kKCI8dGJvZHk+IikseT10aGlzLmFkZExhYmVsZWRSb3codiwkLnQoIkNvbm5lY3RpbmcgTGluZSIpLHUpLCQoIjx0ZD4iKS5wcmVwZW5kVG8oeSksJCgiPHRkPiIpLmFwcGVuZChpKS5hcHBlbmRUbyh5KSwkKCc8dGQgY29sc3Bhbj0iMyI+JykuYXBwZW5kKG4ucmVuZGVyKCkpLmFwcGVuZFRvKHkpLCQoJzx0ZCBjb2xzcGFuPSIzIj4nKS5hcHBlbmQocikuYXBwZW5kVG8oeSksJCgiPHRkPiU8L3RkPiIpLmFwcGVuZFRvKHkpLGc9JCgnPGlucHV0IHR5cGU9ImNoZWNrYm94Ij4nKSx3PXRoaXMuYWRkTGFiZWxlZFJvdyh2LCQudCgiU2hvdyBFeGVjdXRpb25zIiksZyksJCgiPHRkPiIpLmFwcGVuZChnKS5wcmVwZW5kVG8odyksdGhpcy5iaW5kQ29udHJvbChuZXcgYyhnLHRoaXMuX3Byb3BlcnR5LnRyYWRpbmdQcm9wZXJ0aWVzLnNob3dFeGVjdXRpb25zLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEV4ZWN1dGlvbnMgVmlzaWJpbGl0eSIpKSxUfSxlLmV4cG9ydHM9aX0pLmNhbGwodCxvKDcpKX0sNzUwOmZ1bmN0aW9uKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlLHQpe2EuY2FsbCh0aGlzLGUsdCksdGhpcy5wcmVwYXJlTGF5b3V0KCl9dmFyIG49bygxMCksYT1uLlByb3BlcnR5UGFnZSxyPW4uU2ltcGxlQ29tYm9CaW5kZXINCjtpbmhlcml0KGksYSksaS5wcm90b3R5cGUucHJlcGFyZUxheW91dD1mdW5jdGlvbigpe3ZhciBlLHQ7dGhpcy5fdGFibGU9JChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0YWJsZSIpKSx0aGlzLl90YWJsZS5hZGRDbGFzcygicHJvcGVydHktcGFnZSIpLHRoaXMuX3RhYmxlLmF0dHIoImNlbGxzcGFjaW5nIiwiMCIpLHRoaXMuX3RhYmxlLmF0dHIoImNlbGxwYWRkaW5nIiwiMiIpLGU9dGhpcy5jcmVhdGVLZXlDb21ibyh7b3BlbjokLnQoIk9wZW4iKSxoaWdoOiQudCgiSGlnaCIpLGxvdzokLnQoIkxvdyIpLGNsb3NlOiQudCgiQ2xvc2UiKX0pLHQ9dGhpcy5hZGRMYWJlbGVkUm93KHRoaXMuX3RhYmxlLCQudCgiU291cmNlIix7Y29udGV4dDoiY29tcGFyZSJ9KSksJCgiPHRkPiIpLmFwcGVuZFRvKHQpLmFwcGVuZChlKSx0aGlzLmJpbmRDb250cm9sKG5ldyByKGUsdGhpcy5fcHJvcGVydHkuaW5wdXRzLnNvdXJjZSxudWxsLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFByaWNlIFNvdXJjZSIpKSx0aGlzLmxvYWREYXRhKCl9LGkucHJvdG90eXBlLndpZGdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl90YWJsZX0sZS5leHBvcnRzPWl9LDc1NzpmdW5jdGlvbihlLHQsbyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0LG8pe24uY2FsbCh0aGlzLGUsdCxvKSx0aGlzLnByZXBhcmVMYXlvdXQoKX12YXIgbj1vKDE0KSxhPW8oMTApLHI9YS5Cb29sZWFuQmluZGVyLGw9YS5Db2xvckJpbmRpbmcscD1hLlNsaWRlckJpbmRlcixzPWEuU2ltcGxlQ29tYm9CaW5kZXIsZD1vKDE1KS5jcmVhdGVMaW5lV2lkdGhFZGl0b3I7aW5oZXJpdChpLG4pLGkucHJvdG90eXBlLnByZXBhcmVMYXlvdXQ9ZnVuY3Rpb24oKXt2YXIgZSx0LG8saSxuLGEsaCxjLGIsdSxDO3RoaXMuX3RhYmxlPSQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGFibGUiKSksdGhpcy5fdGFibGUuYWRkQ2xhc3MoInByb3BlcnR5LXBhZ2UiKSx0aGlzLl90YWJsZS5hdHRyKCJjZWxsc3BhY2luZyIsIjAiKSx0aGlzLl90YWJsZS5hdHRyKCJjZWxscGFkZGluZyIsIjIiKSxlPWQoKSx0PXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxvPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxpPSQoJzxzcGFuIGNsYXNzPSJfdHYtYnV0dG9uIF90di1idXR0b24tZm9udHN0eWxlIj48c3BhbiBjbGFzcz0iaWNvbi1mb250c3R5bGUtYm9sZCI+PC9zcGFuPjwvc3Bhbj4nKSxuPSQoJzxzcGFuIGNsYXNzPSJfdHYtYnV0dG9uIF90di1idXR0b24tZm9udHN0eWxlIj48c3BhbiBjbGFzcz0iaWNvbi1mb250c3R5bGUtaXRhbGljIj48L3NwYW4+PC9zcGFuPicpLGE9dGhpcy5jcmVhdGVGb250U2l6ZUVkaXRvcigpLGg9dGhpcy5jcmVhdGVGb250RWRpdG9yKCksYz10aGlzLmFkZExhYmVsZWRSb3codGhpcy5fdGFibGUsIkJvcmRlciIpLGMucHJlcGVuZCgiPHRkPiIpLCQoIjx0ZD4iKS5hcHBlbmQodCkuYXBwZW5kVG8oYyksJCgiPHRkPiIpLmFwcGVuZChlKS5hcHBlbmRUbyhjKSxiPSQoJzxpbnB1dCB0eXBlPSJjaGVja2JveCIgY2xhc3M9InZpc2liaWxpdHktc3dpdGNoIj4nKSx1PXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxoPXRoaXMuY3JlYXRlRm9udEVkaXRvcigpLGM9dGhpcy5hZGRMYWJlbGVkUm93KHRoaXMuX3RhYmxlLCJCYWNrZ3JvdW5kIixiKSwkKCI8dGQ+IikuYXBwZW5kKGIpLnByZXBlbmRUbyhjKSwkKCI8dGQ+IikuYXBwZW5kKHUpLmFwcGVuZFRvKGMpLHRoaXMuYmluZENvbnRyb2wobmV3IHIoYix0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuZmlsbEJhY2tncm91bmQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUGF0dGVybiBGaWxsaW5nIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGwodCx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuY29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUGF0dGVybiBMaW5lIENvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGwobyx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkudGV4dGNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFBhdHRlcm4gVGV4dCBDb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKHUsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmJhY2tncm91bmRDb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBQYXR0ZXJuIEJhY2tncm91bmQgQ29sb3IiLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS50cmFuc3BhcmVuY3kpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKGUsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmxpbmV3aWR0aCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBQYXR0ZXJuIEJvcmRlciBXaWR0aCIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBzKGEsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmZvbnRzaXplLHBhcnNlSW50LCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRleHQgRm9udCBTaXplIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHMoaCx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuZm9udCxudWxsLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRleHQgRm9udCIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyByKGksdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmJvbGQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVGV4dCBGb250IEJvbGQiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcihuLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5pdGFsaWMsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVGV4dCBGb250IEl0YWxpYyIpKSxDPSQoJzx0YWJsZSBjbGFzcz0icHJvcGVydHktcGFnZSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIj48dHI+JykuYXBwZW5kKCQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKSkuYXR0cih7d2lkdGg6MX0pLmFwcGVuZChvKSkuYXBwZW5kKCQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKSkuYXR0cih7d2lkdGg6MX0pLmFwcGVuZChoKSkuYXBwZW5kKCQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKSkuYXR0cih7d2lkdGg6MX0pLmFwcGVuZChhKSkuYXBwZW5kKCQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKSkuY3NzKCJ2ZXJ0aWNhbC1hbGlnbiIsInRvcCIpLmF0dHIoew0Kd2lkdGg6MX0pLmFwcGVuZChpKSkuYXBwZW5kKCQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKSkuY3NzKCJ2ZXJ0aWNhbC1hbGlnbiIsInRvcCIpLmFwcGVuZChuKSkuYXBwZW5kKCQoIjwvdHI+PC90YWJsZT4iKSksYz10aGlzLmFkZExhYmVsZWRSb3codGhpcy5fdGFibGUsIiIpLCQoJzx0ZCBjb2xzcGFuPSI1Ij4nKS5hcHBlbmQoQykuYXBwZW5kVG8oYyksdGhpcy5sb2FkRGF0YSgpfSxpLnByb3RvdHlwZS53aWRnZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdGFibGV9LGUuZXhwb3J0cz1pfSw3NTg6ZnVuY3Rpb24oZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUsdCxvKXtuLmNhbGwodGhpcyxlLHQsbyksdGhpcy5wcmVwYXJlTGF5b3V0KCl9dmFyIG49bygxNCksYT1vKDEwKSxyPWEuQ29sb3JCaW5kaW5nLGw9YS5TbGlkZXJCaW5kZXIscD1hLlNpbXBsZUNvbWJvQmluZGVyLHM9YS5Cb29sZWFuQmluZGVyLGQ9bygxNSkuY3JlYXRlTGluZVdpZHRoRWRpdG9yO2luaGVyaXQoaSxuKSxpLnByb3RvdHlwZS5wcmVwYXJlTGF5b3V0PWZ1bmN0aW9uKCl7dmFyIGUsdCxvLGksbixhLGgsYyxiO3RoaXMuX3RhYmxlPSQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGFibGUiKSksdGhpcy5fdGFibGUuYWRkQ2xhc3MoInByb3BlcnR5LXBhZ2UiKSx0aGlzLl90YWJsZS5hdHRyKCJjZWxsc3BhY2luZyIsIjAiKSx0aGlzLl90YWJsZS5hdHRyKCJjZWxscGFkZGluZyIsIjIiKSxlPWQoKSx0PXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxvPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxpPSQoJzxzcGFuIGNsYXNzPSJfdHYtYnV0dG9uIF90di1idXR0b24tZm9udHN0eWxlIj48c3BhbiBjbGFzcz0iaWNvbi1mb250c3R5bGUtYm9sZCI+PC9zcGFuPjwvc3Bhbj4nKSxuPSQoJzxzcGFuIGNsYXNzPSJfdHYtYnV0dG9uIF90di1idXR0b24tZm9udHN0eWxlIj48c3BhbiBjbGFzcz0iaWNvbi1mb250c3R5bGUtaXRhbGljIj48L3NwYW4+PC9zcGFuPicpLGE9dGhpcy5jcmVhdGVGb250U2l6ZUVkaXRvcigpLGg9dGhpcy5jcmVhdGVGb250RWRpdG9yKCksYz10aGlzLmFkZExhYmVsZWRSb3codGhpcy5fdGFibGUsIkJvcmRlciIpLGMucHJlcGVuZCgiPHRkPiIpLCQoIjx0ZD4iKS5hcHBlbmQodCkuYXBwZW5kVG8oYyksJCgiPHRkPiIpLmFwcGVuZChlKS5hcHBlbmRUbyhjKSxoPXRoaXMuY3JlYXRlRm9udEVkaXRvcigpLHRoaXMuYmluZENvbnRyb2wobmV3IHIodCx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuY29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUGF0dGVybiBMaW5lIENvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHIobyx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkudGV4dGNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFBhdHRlcm4gVGV4dCBDb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKGUsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmxpbmV3aWR0aCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBQYXR0ZXJuIEJvcmRlciBXaWR0aCIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKGEsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmZvbnRzaXplLHBhcnNlSW50LCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRleHQgRm9udCBTaXplIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHAoaCx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuZm9udCxudWxsLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRleHQgRm9udCIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBzKGksdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmJvbGQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVGV4dCBGb250IEJvbGQiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcyhuLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5pdGFsaWMsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVGV4dCBGb250IEl0YWxpYyIpKSxiPSQoJzx0YWJsZSBjbGFzcz0icHJvcGVydHktcGFnZSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIj48dHI+JykuYXBwZW5kKCQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKSkuYXR0cih7d2lkdGg6MX0pLmFwcGVuZChvKSkuYXBwZW5kKCQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKSkuYXR0cih7d2lkdGg6MX0pLmFwcGVuZChoKSkuYXBwZW5kKCQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKSkuYXR0cih7d2lkdGg6MX0pLmFwcGVuZChhKSkuYXBwZW5kKCQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKSkuY3NzKCJ2ZXJ0aWNhbC1hbGlnbiIsInRvcCIpLmF0dHIoe3dpZHRoOjF9KS5hcHBlbmQoaSkpLmFwcGVuZCgkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIikpLmNzcygidmVydGljYWwtYWxpZ24iLCJ0b3AiKS5hcHBlbmQobikpLmFwcGVuZCgkKCI8L3RyPjwvdGFibGU+IikpLGM9dGhpcy5hZGRMYWJlbGVkUm93KHRoaXMuX3RhYmxlLCIiKSwkKCc8dGQgY29sc3Bhbj0iNSI+JykuYXBwZW5kKGIpLmFwcGVuZFRvKGMpLHRoaXMubG9hZERhdGEoKX0saS5wcm90b3R5cGUud2lkZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3RhYmxlfSxlLmV4cG9ydHM9aX0sNzU5OmZ1bmN0aW9uKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlLHQsbyl7bi5jYWxsKHRoaXMsZSx0LG8pLHRoaXMucHJlcGFyZUxheW91dCgpfXZhciBuPW8oMTQpLGE9bygxMCkscj1hLkJvb2xlYW5CaW5kZXIsbD1hLkNvbG9yQmluZGluZyxwPWEuU2xpZGVyQmluZGVyLHM9bygxNSkuY3JlYXRlTGluZVdpZHRoRWRpdG9yO2luaGVyaXQoaSxuKSxpLnByb3RvdHlwZS5wcmVwYXJlTGF5b3V0PWZ1bmN0aW9uKCl7dmFyIGUsdCxvLGksbjt0aGlzLl90YWJsZT0kKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRhYmxlIikpLHRoaXMuX3RhYmxlLmFkZENsYXNzKCJwcm9wZXJ0eS1wYWdlIiksdGhpcy5fdGFibGUuYXR0cigiY2VsbHNwYWNpbmciLCIwIiksdGhpcy5fdGFibGUuYXR0cigiY2VsbHBhZGRpbmciLCIyIiksZT1zKCksdD10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCksbz10aGlzLmFkZExhYmVsZWRSb3codGhpcy5fdGFibGUsIkJvcmRlciIpLA0Kby5wcmVwZW5kKCI8dGQ+IiksJCgiPHRkPiIpLmFwcGVuZCh0KS5hcHBlbmRUbyhvKSwkKCI8dGQ+IikuYXBwZW5kKGUpLmFwcGVuZFRvKG8pLGk9JCgnPGlucHV0IHR5cGU9ImNoZWNrYm94IiBjbGFzcz0idmlzaWJpbGl0eS1zd2l0Y2giPicpLG49dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLG89dGhpcy5hZGRMYWJlbGVkUm93KHRoaXMuX3RhYmxlLCJCYWNrZ3JvdW5kIixpKSwkKCI8dGQ+IikuYXBwZW5kKGkpLnByZXBlbmRUbyhvKSwkKCI8dGQ+IikuYXBwZW5kKG4pLmFwcGVuZFRvKG8pLHRoaXMuYmluZENvbnRyb2wobmV3IHIoaSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuZmlsbEJhY2tncm91bmQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgQXJjIEZpbGxpbmciKSksdGhpcy5iaW5kQ29udHJvbChuZXcgbCh0LHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5jb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBBcmMgTGluZSBDb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKG4sdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmJhY2tncm91bmRDb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBBcmMgQmFja2dyb3VuZCBDb2xvciIsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnRyYW5zcGFyZW5jeSkpLHRoaXMuYmluZENvbnRyb2wobmV3IHAoZSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkubGluZXdpZHRoLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEFyYyBCb3JkZXIgV2lkdGgiKSksdGhpcy5sb2FkRGF0YSgpfSxpLnByb3RvdHlwZS53aWRnZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdGFibGV9LGUuZXhwb3J0cz1pfSw3NjA6ZnVuY3Rpb24oZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUsdCxvKXtuLmNhbGwodGhpcyxlLHQsbyksdGhpcy5wcmVwYXJlTGF5b3V0KCl9dmFyIG49bygxNCksYT1vKDEwKSxyPWEuU2ltcGxlU3RyaW5nQmluZGVyLGw9YS5Db2xvckJpbmRpbmcscD1hLlNpbXBsZUNvbWJvQmluZGVyO2luaGVyaXQoaSxuKSxpLnByb3RvdHlwZS5wcmVwYXJlTGF5b3V0PWZ1bmN0aW9uKCl7dmFyIGUsdCxvLGksbjt0aGlzLl90YWJsZT0kKCc8dGFibGUgY2xhc3M9InByb3BlcnR5LXBhZ2UiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+JykuY3NzKHt3aWR0aDoiMTAwJSJ9KSxlPSQoIjxpbnB1dCB0eXBlPSd0ZXh0Jz4iKS5jc3Moe3dpZHRoOiIxMDAlIn0pLHQ9JCgnPGRpdiBjbGFzcz0icHJvcGVydHktcGFnZS1mdWxsd2lkdGgtd3JhcHBlciI+JykuYXBwZW5kKGUpLG89dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLGk9dGhpcy5jcmVhdGVGb250RWRpdG9yKCksbj0kKCI8dHI+IikuYXBwZW5kVG8odGhpcy5fdGFibGUpLCQoIjx0ZD4iKS5jc3Moe3dpZHRoOiIwIn0pLmh0bWwoJC50KCJUZXh0IikpLmFwcGVuZFRvKG4pLCQoJzx0ZCBjb2xzcGFuPSIyIj4nKS5hcHBlbmQodCkuYXBwZW5kVG8obiksbj10aGlzLmFkZExhYmVsZWRSb3codGhpcy5fdGFibGUsJC50KCJUZXh0IEZvbnQiKSksbi5jaGlsZHJlbigpLmNzcyh7d2hpdGVTcGFjZToibm93cmFwIn0pLCQoIjx0ZD4iKS5hcHBlbmQobykuYXBwZW5kVG8obikuY3NzKHt3aWR0aDoiMCJ9KSwkKCI8dGQ+IikuYXBwZW5kKGkpLmFwcGVuZFRvKG4pLHRoaXMuYmluZENvbnRyb2wobmV3IGwobyx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuY29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgQXJyb3cgTWFyayBUZXh0IENvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHIoZSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkudGV4dCxudWxsLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEFycm93IE1hcmsgVGV4dCIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKGksdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmZvbnQsbnVsbCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBBcnJvdyBNYXJrIEZvbnQiKSksdGhpcy5sb2FkRGF0YSgpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtlLnNlbGVjdCgpLGUuZm9jdXMoKX0sMjApfSxpLnByb3RvdHlwZS53aWRnZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdGFibGV9LGUuZXhwb3J0cz1pfSw3NjE6ZnVuY3Rpb24oZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUsdCxvKXtuLmNhbGwodGhpcyxlLHQsbyksdGhpcy5wcmVwYXJlTGF5b3V0KCl9dmFyIG49bygxNCksYT1vKDEwKSxyPWEuU2ltcGxlQ29tYm9CaW5kZXIsbD1hLkNvbG9yQmluZGluZyxwPWEuU2ltcGxlU3RyaW5nQmluZGVyLHM9bygxMjEpLlRhYk9wZW5Gcm9tO2luaGVyaXQoaSxuKSxpLnByb3RvdHlwZS5wcmVwYXJlTGF5b3V0PWZ1bmN0aW9uKCl7dmFyIGUsdCxvLGksbixhLGQsaCxjPSQoJzx0YWJsZSBjbGFzcz0icHJvcGVydHktcGFnZSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIj4nKS5jc3Moe3dpZHRoOiIxMDAlIn0pLmRhdGEoImxheW91dC10YWItb3BlbiIscy5PdmVycmlkZSksYj0kKCc8dGFibGUgY2xhc3M9InByb3BlcnR5LXBhZ2UiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCI+Jyk7dGhpcy5fdGFibGU9Yy5hZGQoYiksZT0kKCI8aW5wdXQgdHlwZT0ndGV4dCc+IikuY3NzKHt3aWR0aDoiMTAwJSJ9KSx0PXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxvPXRoaXMuY3JlYXRlRm9udFNpemVFZGl0b3IoKSxpPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxuPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxhPSQoIjx0cj4iKS5hcHBlbmRUbyhjKSxkPSQoJzxkaXYgY2xhc3M9InByb3BlcnR5LXBhZ2UtZnVsbHdpZHRoLXdyYXBwZXIiPicpLmFwcGVuZChlKSwkKCI8dGQ+IikuYXBwZW5kKGQpLmFwcGVuZFRvKGEpLGg9dGhpcy5hZGRMYWJlbGVkUm93KGIsJC50KCJUZXh0IikpLCQoIjx0ZD4iKS5hcHBlbmQodCkuYXBwZW5kVG8oaCksJCgiPHRkPiIpLmFwcGVuZChvKS5hcHBlbmRUbyhoKSxoPXRoaXMuYWRkTGFiZWxlZFJvdyhiLCQudCgiQmFja2dyb3VuZCIpKSwkKCI8dGQ+IikuYXBwZW5kVG8oaCkuYXBwZW5kKGkpLGg9dGhpcy5hZGRMYWJlbGVkUm93KGIsJC50KCJCb3JkZXIiKSksDQokKCI8dGQ+IikuYXBwZW5kVG8oaCkuYXBwZW5kKG4pLCQoIjx0ZD4iKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKGUsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnRleHQsbnVsbCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBCYWxsb29uIFRleHQiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgbCh0LHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5jb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBCYWxvb24gVGV4dCBDb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyByKG8sdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmZvbnRzaXplLHBhcnNlSW50LCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEJhbGxvb24gVGV4dCBGb250IFNpemUiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgbChpLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5iYWNrZ3JvdW5kQ29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgQmFsbG9vbiBCYWNrZ3JvdW5kIENvbG9yIix0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkudHJhbnNwYXJlbmN5KSksdGhpcy5iaW5kQ29udHJvbChuZXcgbChuLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5ib3JkZXJDb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBCYWxsb29uIEJvcmRlciBDb2xvciIpKSx0aGlzLmxvYWREYXRhKCksc2V0VGltZW91dChmdW5jdGlvbigpe2Uuc2VsZWN0KCksZS5mb2N1cygpfSwwKX0saS5wcm90b3R5cGUud2lkZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3RhYmxlfSxlLmV4cG9ydHM9aX0sNzYyOmZ1bmN0aW9uKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlLHQsbyl7YS5jYWxsKHRoaXMsZSx0LG8pLHRoaXMucHJlcGFyZUxheW91dCgpfWZ1bmN0aW9uIG4oZSx0LG8pe3IuY2FsbCh0aGlzLGUsdCxvKX12YXIgYT1vKDE0KSxyPW8oODEpLGw9bygxMCkscD1sLlRvRmxvYXRUcmFuc2Zvcm1lcixzPWwuU2ltcGxlQ29tYm9CaW5kZXIsZD1sLkNvbG9yQmluZGluZyxoPWwuQm9vbGVhbkJpbmRlcixjPWwuU2ltcGxlU3RyaW5nQmluZGVyO2luaGVyaXQoaSxhKSxpLnByb3RvdHlwZS5wcmVwYXJlTGF5b3V0PWZ1bmN0aW9uKCl7dmFyIGUsdCxvLGksbixhO3RoaXMuX3RhYmxlPSQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGFibGUiKSksdGhpcy5fdGFibGUuYWRkQ2xhc3MoInByb3BlcnR5LXBhZ2UiKSx0aGlzLl90YWJsZS5hdHRyKCJjZWxsc3BhY2luZyIsIjAiKSx0aGlzLl90YWJsZS5hdHRyKCJjZWxscGFkZGluZyIsIjIiKSxlPSQoIjx0Ym9keT4iKS5hcHBlbmRUbyh0aGlzLl90YWJsZSksdD10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCksbz10aGlzLmFkZExhYmVsZWRSb3coZSwiQ29sb3IiKSwkKCI8dGQ+IikuYXBwZW5kKHQpLmFwcGVuZFRvKG8pLGk9JCgnPHNlbGVjdD48b3B0aW9uIHZhbHVlPSIwIj4nKyQudCgiSEwgQmFycyIpKyc8L29wdGlvbj48b3B0aW9uIHZhbHVlPSIyIj4nKyQudCgiT0MgQmFycyIpKyc8L29wdGlvbj48b3B0aW9uIHZhbHVlPSIxIj4nKyQudCgiTGluZSAtIENsb3NlIikrJzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IjMiPicrJC50KCJMaW5lIC0gT3BlbiIpKyc8L29wdGlvbj48b3B0aW9uIHZhbHVlPSI0Ij4nKyQudCgiTGluZSAtIEhpZ2giKSsnPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iNSI+JyskLnQoIkxpbmUgLSBMb3ciKSsnPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iNiI+JyskLnQoIkxpbmUgLSBITC8yIikrIjwvb3B0aW9uPjwvc2VsZWN0PiIpLG89dGhpcy5hZGRMYWJlbGVkUm93KGUsIk1vZGUiKSwkKCI8dGQ+IikuYXBwZW5kKGkpLmFwcGVuZFRvKG8pLG89JCgiPHRyPiIpLmFwcGVuZFRvKGUpLCQoIjx0ZD4iKyQudCgiTWlycm9yZWQiKSsiPC90ZD4iKS5hcHBlbmRUbyhvKSxuPSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCc+IiksJCgiPHRkPiIpLmFwcGVuZChuKS5hcHBlbmRUbyhvKSxvPSQoIjx0cj4iKS5hcHBlbmRUbyhlKSwkKCI8dGQ+IiskLnQoIkZsaXBwZWQiKSsiPC90ZD4iKS5hcHBlbmRUbyhvKSxhPSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCc+IiksJCgiPHRkPiIpLmFwcGVuZChhKS5hcHBlbmRUbyhvKSx0aGlzLmJpbmRDb250cm9sKG5ldyBoKG4sdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLm1pcnJvcmVkLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEJhcnMgUGF0dGVybiBNaXJyb3JpbmciKSksdGhpcy5iaW5kQ29udHJvbChuZXcgaChhLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5mbGlwcGVkLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEJhcnMgUGF0dGVybiBGbGlwcGluZyIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBkKHQsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEJhcnMgUGF0dGVybiBDb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBzKGksdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLm1vZGUsbnVsbCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBCYXJzIFBhdHRlcm4gTW9kZSIpKSx0aGlzLmxvYWREYXRhKCl9LGkucHJvdG90eXBlLndpZGdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl90YWJsZX0saW5oZXJpdChuLHIpLG4ucHJvdG90eXBlLnByZXBhcmVMYXlvdXQ9ZnVuY3Rpb24oKXt2YXIgZSx0LG8saSxuLGEscixsLHM7dGhpcy5fdGFibGU9JChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0YWJsZSIpKSx0aGlzLl90YWJsZS5hZGRDbGFzcygicHJvcGVydHktcGFnZSIpLHRoaXMuX3RhYmxlLmF0dHIoImNlbGxzcGFjaW5nIiwiMCIpLHRoaXMuX3RhYmxlLmF0dHIoImNlbGxwYWRkaW5nIiwiMiIpLGU9JCgiPHRyPiIpLGUuYXBwZW5kVG8odGhpcy5fdGFibGUpLHQ9JCgiPHRkPiIpLHQuaHRtbCgkLnQoIlByaWNlIikpLHQuYXBwZW5kVG8oZSksbz0kKCI8dGQ+Iiksby5hcHBlbmRUbyhlKSxpPSQoIjxpbnB1dCB0eXBlPSd0ZXh0Jz4iKSxpLmFwcGVuZFRvKG8pLG49JCgiPHRkPiIpLG4uaHRtbCgkLnQoIkJhciAjIikpLG4uYXBwZW5kVG8oZSksYT0kKCI8dGQ+IiksYS5hcHBlbmRUbyhlKSxyPSQoIjxpbnB1dCB0eXBlPSd0ZXh0Jz4iKSxyLmFwcGVuZFRvKGEpLA0Kci5hZGRDbGFzcygidGlja2VyIiksbD10aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkucG9pbnRzWzBdLHM9W3AobC5wcmljZS52YWx1ZSgpKV0sdGhpcy5iaW5kQ29udHJvbChuZXcgYyhpLGwucHJpY2UscywhMSx0aGlzLm1vZGVsKCksIkNoYW5nZSAiK3RoaXMuX2xpbmV0b29sKyIgcG9pbnQgcHJpY2UiKSksdGhpcy5iaW5kQmFySW5kZXgobC5iYXIscix0aGlzLm1vZGVsKCksIkNoYW5nZSAiK3RoaXMuX2xpbmV0b29sKyIgcG9pbnQgYmFyIGluZGV4IiksdGhpcy5sb2FkRGF0YSgpfSx0LkxpbmVUb29sQmFyc1BhdHRlcm5TdHlsZXNQcm9wZXJ0eVBhZ2U9aSx0LkxpbmVUb29sQmFyc1BhdHRlcm5JbnB1dHNQcm9wZXJ0eVBhZ2U9bn0sNzYzOmZ1bmN0aW9uKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlLHQsbyl7bi5jYWxsKHRoaXMsZSx0LG8pLHRoaXMucHJlcGFyZUxheW91dCgpfXZhciBuPW8oMTQpLGE9bygxMCkscj1hLkNvbG9yQmluZGluZyxsPWEuU2ltcGxlQ29tYm9CaW5kZXIscD1hLlNsaWRlckJpbmRlcixzPWEuQm9vbGVhbkJpbmRlcixkPW8oMzEpLmNyZWF0ZUxpbmVTdHlsZUVkaXRvcixoPW8oMTUpLmNyZWF0ZUxpbmVXaWR0aEVkaXRvcjtpbmhlcml0KGksbiksaS5wcm90b3R5cGUucHJlcGFyZUxheW91dD1mdW5jdGlvbigpe3ZhciBlLHQsbyxpLG4sYSxjLGIsdSxDLHksZyx3LFQsXyxtO3RoaXMuX2Jsb2NrPSQoIjxkaXY+IikuYWRkQ2xhc3MoInByb3BlcnR5LXBhZ2UiKSxlPSQoJzx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPicpLmFwcGVuZFRvKHRoaXMuX2Jsb2NrKSx0PSQoIjx0Ym9keT4iKS5hcHBlbmRUbyhlKSxvPWgoKSxpPWQoKSxuPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxhPXRoaXMuYWRkTGFiZWxlZFJvdyh0LCQudCgiTGluZSIpKSwkKCI8dGQ+IikuYXBwZW5kKG4pLmFwcGVuZFRvKGEpLCQoIjx0ZD4iKS5hcHBlbmQobykuYXBwZW5kVG8oYSksJCgnPHRkIGNvbHNwYW49IjMiPicpLmFwcGVuZChpLnJlbmRlcigpKS5hcHBlbmRUbyhhKSxjPSQoJzx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPicpLmFwcGVuZFRvKHRoaXMuX2Jsb2NrKSxhPXRoaXMuYWRkTGFiZWxlZFJvdyhjLCQudCgiQmFja2dyb3VuZCIpLGIpLGI9JCgnPGlucHV0IHR5cGU9ImNoZWNrYm94IiBjbGFzcz0idmlzaWJpbGl0eS1zd2l0Y2giPicpLHU9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLCQoIjx0ZD4iKS5hcHBlbmQoYikucHJlcGVuZFRvKGEpLCQoIjx0ZD4iKS5hcHBlbmQodSkuYXBwZW5kVG8oYSksQz0kKCc8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIj4nKS5hcHBlbmRUbyh0aGlzLl9ibG9jaykseT0kKCI8c2VsZWN0PjxvcHRpb24gdmFsdWU9JzAnPiIrJC50KCJOb3JtYWwiKSsiPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nMSc+IiskLnQoIkFycm93IikrIjwvb3B0aW9uPjwvc2VsZWN0PiIpLGc9JCgiPHNlbGVjdD48b3B0aW9uIHZhbHVlPScwJz4iKyQudCgiTm9ybWFsIikrIjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9JzEnPiIrJC50KCJBcnJvdyIpKyI8L29wdGlvbj48L3NlbGVjdD4iKSx3PSQoIjxsYWJlbD4iKyQudCgiRXh0ZW5kIikrIiA8L2xhYmVsPiIpLmNzcyh7Im1hcmdpbi1sZWZ0IjoiOHB4In0pLFQ9JCgnPGlucHV0IHR5cGU9ImNoZWNrYm94Ij4nKS5hcHBlbmRUbyh3KSxfPSQoIjxsYWJlbD4iKyQudCgiRXh0ZW5kIikrIiA8L2xhYmVsPiIpLmNzcyh7Im1hcmdpbi1sZWZ0IjoiOHB4In0pLG09JCgnPGlucHV0IHR5cGU9ImNoZWNrYm94Ij4nKS5hcHBlbmRUbyhfKSxhPXRoaXMuYWRkTGFiZWxlZFJvdyhDLCQudCgiTGVmdCBFbmQiKSksJCgnPHRkIGNvbHNwYW49IjMiPicpLmFwcGVuZFRvKGEpLmFwcGVuZCh5KS5hcHBlbmQodyksYT10aGlzLmFkZExhYmVsZWRSb3coQywkLnQoIlJpZ2h0IEVuZCIpKSwkKCc8dGQgY29sc3Bhbj0iMyI+JykuYXBwZW5kVG8oYSkuYXBwZW5kKGcpLmFwcGVuZChfKSx0aGlzLmJpbmRDb250cm9sKG5ldyByKG4sdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmxpbmVjb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBDdXJ2ZSBMaW5lIENvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGwoaSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkubGluZXN0eWxlLHBhcnNlSW50LCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEN1cnZlIExpbmUgU3R5bGUiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcChvLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5saW5ld2lkdGgsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgQ3VydmUgTGluZSBXaWR0aCIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBzKGIsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmZpbGxCYWNrZ3JvdW5kLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEN1cnZlIEZpbGxpbmciKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcih1LHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5iYWNrZ3JvdW5kQ29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgQ3VydmUgQmFja2dyb3VuZCBDb2xvciIsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnRyYW5zcGFyZW5jeSkpLHRoaXMuYmluZENvbnRyb2wobmV3IGwoeSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkubGVmdEVuZCxwYXJzZUludCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBDdXJ2ZSBMaW5lIExlZnQgRW5kIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGwoZyx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkucmlnaHRFbmQscGFyc2VJbnQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgQ3VydmUgTGluZSBSaWdodCBFbmQiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcyhULHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5leHRlbmRMZWZ0LCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEN1cnZlIExpbmUgRXh0ZW5kaW5nIExlZnQiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcyhtLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5leHRlbmRSaWdodCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBDdXJ2ZSBMaW5lIEV4dGVuZGluZyBSaWdodCIpKSwNCnRoaXMubG9hZERhdGEoKX0saS5wcm90b3R5cGUud2lkZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2Jsb2NrfSxlLmV4cG9ydHM9aX0sNzY0OmZ1bmN0aW9uKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlLHQsbyl7bi5jYWxsKHRoaXMsZSx0LG8pLHRoaXMucHJlcGFyZUxheW91dCgpfXZhciBuPW8oMTQpLGE9bygxMCkscj1hLlNsaWRlckJpbmRlcixsPWEuQm9vbGVhbkJpbmRlcixwPWEuQ29sb3JCaW5kaW5nLHM9YS5TaW1wbGVDb21ib0JpbmRlcixkPW8oMTUpLmNyZWF0ZUxpbmVXaWR0aEVkaXRvcjtpbmhlcml0KGksbiksaS5wcm90b3R5cGUucHJlcGFyZUxheW91dD1mdW5jdGlvbigpe3ZhciBlLHQsbyxpLG4sYSxoLGM7dGhpcy5fdGFibGU9JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPicpLGU9ZCgpLHQ9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLG89JCgnPGlucHV0IHR5cGU9ImNoZWNrYm94IiBjbGFzcz0idmlzaWJpbGl0eS1zd2l0Y2giPicpLGk9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLG49dGhpcy5hZGRMYWJlbGVkUm93KHRoaXMuX3RhYmxlLCJMaW5lIiksJCgiPHRkPiIpLnByZXBlbmRUbyhuKSwkKCI8dGQ+IikuYXBwZW5kKHQpLmFwcGVuZFRvKG4pLCQoIjx0ZD4iKS5hcHBlbmQoZSkuYXBwZW5kVG8obiksbj10aGlzLmFkZExhYmVsZWRSb3codGhpcy5fdGFibGUsIkJhY2tncm91bmQiLG8pLCQoIjx0ZD4iKS5hcHBlbmQobykucHJlcGVuZFRvKG4pLCQoIjx0ZD4iKS5hcHBlbmQoaSkuYXBwZW5kVG8obiksYT0kKCI8dGJvZHk+IikuYXBwZW5kVG8odGhpcy5fdGFibGUpLGg9JCgiPHNlbGVjdD48b3B0aW9uIHZhbHVlPScwJz4iKyQudCgiTm9ybWFsIikrIjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9JzEnPiIrJC50KCJBcnJvdyIpKyI8L29wdGlvbj48L3NlbGVjdD4iKSxjPSQoIjxzZWxlY3Q+PG9wdGlvbiB2YWx1ZT0nMCc+IiskLnQoIk5vcm1hbCIpKyI8L29wdGlvbj48b3B0aW9uIHZhbHVlPScxJz4iKyQudCgiQXJyb3ciKSsiPC9vcHRpb24+PC9zZWxlY3Q+Iiksbj10aGlzLmFkZExhYmVsZWRSb3coYSwkLnQoIkxlZnQgRW5kIikpLCQoIjx0ZD4iKS5wcmVwZW5kVG8obiksJCgnPHRkIGNvbHNwYW49IjMiPicpLmFwcGVuZFRvKG4pLmFwcGVuZChoKSxuPXRoaXMuYWRkTGFiZWxlZFJvdyhhLCQudCgiUmlnaHQgRW5kIikpLCQoIjx0ZD4iKS5wcmVwZW5kVG8obiksJCgnPHRkIGNvbHNwYW49IjMiPicpLmFwcGVuZFRvKG4pLmFwcGVuZChjKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKHQsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmxpbmVjb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBCcnVzaCBDb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyByKGUsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmxpbmV3aWR0aCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBCcnVzaCBMaW5lIFdpZHRoIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGwobyx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuZmlsbEJhY2tncm91bmQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgQnJ1c2ggRmlsbGluZyIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKGksdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmJhY2tncm91bmRDb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBCcnVzaCBCYWNrZ3JvdW5kIENvbG9yIix0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkudHJhbnNwYXJlbmN5KSksdGhpcy5iaW5kQ29udHJvbChuZXcgcyhoLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5sZWZ0RW5kLHBhcnNlSW50LCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRyZW5kIExpbmUgTGVmdCBFbmQiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcyhjLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5yaWdodEVuZCxwYXJzZUludCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUcmVuZCBMaW5lIFJpZ2h0IEVuZCIpKSx0aGlzLmxvYWREYXRhKCl9LGkucHJvdG90eXBlLndpZGdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl90YWJsZX0sZS5leHBvcnRzPWl9LDc2NTpmdW5jdGlvbihlLHQsbyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0LG8pe24uY2FsbCh0aGlzLGUsdCxvKSx0aGlzLnByZXBhcmVMYXlvdXQoKX12YXIgbj1vKDE0KSxhPW8oMTApLHI9YS5Cb29sZWFuQmluZGVyLGw9YS5Db2xvckJpbmRpbmcscD1hLlNpbXBsZUNvbWJvQmluZGVyLHM9YS5TbGlkZXJCaW5kZXIsZD1hLlNpbXBsZVN0cmluZ0JpbmRlcixoPW8oMTUpLmNyZWF0ZUxpbmVXaWR0aEVkaXRvcixjPW8oMTIxKS5UYWJPcGVuRnJvbTtpbmhlcml0KGksbiksaS5wcm90b3R5cGUucHJlcGFyZUxheW91dD1mdW5jdGlvbigpe3ZhciBlLHQsbyxpLG49dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLGE9dGhpcy5jcmVhdGVGb250U2l6ZUVkaXRvcigpLGI9dGhpcy5jcmVhdGVGb250RWRpdG9yKCksdT10aGlzLmNyZWF0ZVRleHRFZGl0b3IoMzUwLDIwMCksQz10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCkseT1oKCksZz10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCksdz0kKCc8aW5wdXQgdHlwZT0iY2hlY2tib3giPicpLFQ9JCgnPHNwYW4gY2xhc3M9Il90di1idXR0b24gX3R2LWJ1dHRvbi1mb250c3R5bGUiPjxzcGFuIGNsYXNzPSJpY29uLWZvbnRzdHlsZS1ib2xkIj48L3NwYW4+PC9zcGFuPicpLF89JCgnPHNwYW4gY2xhc3M9Il90di1idXR0b24gX3R2LWJ1dHRvbi1mb250c3R5bGUiPjxzcGFuIGNsYXNzPSJpY29uLWZvbnRzdHlsZS1pdGFsaWMiPjwvc3Bhbj48L3NwYW4+Jyk7dGhpcy5iaW5kQ29udHJvbChuZXcgbChuLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5jb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUZXh0IENvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHAoYSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuZm9udHNpemUscGFyc2VJbnQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVGV4dCBGb250IFNpemUiKSksDQp0aGlzLmJpbmRDb250cm9sKG5ldyBwKGIsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmZvbnQsbnVsbCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUZXh0IEZvbnQiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgZCh1LHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS50ZXh0LG51bGwsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVGV4dCIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKEMsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmJhY2tncm91bmRDb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUZXh0IEJhY2tncm91bmQiLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS50cmFuc3BhcmVuY3kpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKGcsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmJvcmRlcmNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRleHQgQ29sb3IiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcyh5LHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5saW5ld2lkdGgsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgQm9yZGVyIFdpZHRoIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHIodyx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkud29yZFdyYXAsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVGV4dCBXcmFwIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHIoVCx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuYm9sZCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUZXh0IEZvbnQgQm9sZCIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyByKF8sdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLml0YWxpYywhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUZXh0IEZvbnQgSXRhbGljIikpLGU9JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPicpLmRhdGEoImxheW91dC10YWItb3BlbiIsYy5PdmVycmlkZSksdD0kKCc8dGFibGUgY2xhc3M9InByb3BlcnR5LXBhZ2UiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+Jyksbz0kKCc8dGFibGUgY2xhc3M9InByb3BlcnR5LXBhZ2UiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+JyksdGhpcy5fdGFibGU9ZS5hZGQobykuYWRkKHQpLCQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidHIiKSkuYXBwZW5kKCQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKSkuYXR0cih7d2lkdGg6MX0pLmFwcGVuZChuKSkuYXBwZW5kKCQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKSkuYXR0cih7d2lkdGg6MX0pLmFwcGVuZChiKSkuYXBwZW5kKCQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKSkuYXR0cih7d2lkdGg6MX0pLmFwcGVuZChhKSkuYXBwZW5kKCQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKSkuYXR0cih7d2lkdGg6MX0pLmFwcGVuZChUKSkuYXBwZW5kKCQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKSkuYXBwZW5kKF8pKS5hcHBlbmRUbyhlKSwkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRyIikpLmFwcGVuZCgkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIikpLmF0dHIoe2NvbHNwYW46NX0pLmFwcGVuZCh1KSkuYXBwZW5kVG8oZSksaT10aGlzLmFkZExhYmVsZWRSb3codCwiVGV4dCBXcmFwIix3KSwkKCI8dGQ+IikuYXBwZW5kKHcpLnByZXBlbmRUbyhpKSxpPXRoaXMuYWRkTGFiZWxlZFJvdyhvLCJCYWNrZ3JvdW5kIiksJCgiPHRkPiIpLmFwcGVuZChDKS5hcHBlbmRUbyhpKSxpPXRoaXMuYWRkTGFiZWxlZFJvdyhvLCJCb3JkZXIiKSwkKCI8dGQ+IikuYXBwZW5kKGcpLmFwcGVuZFRvKGkpLCQoIjx0ZD4iKS5hcHBlbmQoeSkuYXBwZW5kVG8oaSksdGhpcy5sb2FkRGF0YSgpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt1LnNlbGVjdCgpLHUuZm9jdXMoKX0sMjApfSxpLnByb3RvdHlwZS53aWRnZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdGFibGV9LGUuZXhwb3J0cz1pfSw3NjY6ZnVuY3Rpb24oZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUsdCxvKXtuLmNhbGwodGhpcyxlLHQsbyksdGhpcy5wcmVwYXJlTGF5b3V0KCl9dmFyIG49bygxNCksYT1vKDEwKSxyPWEuU2ltcGxlQ29tYm9CaW5kZXIsbD1hLkNvbG9yQmluZGluZyxwPWEuU2xpZGVyQmluZGVyLHM9bygzMSkuY3JlYXRlTGluZVN0eWxlRWRpdG9yLGQ9bygxNSkuY3JlYXRlTGluZVdpZHRoRWRpdG9yO2luaGVyaXQoaSxuKSxpLnByb3RvdHlwZS5wcmVwYXJlTGF5b3V0PWZ1bmN0aW9uKCl7dmFyIGUsdCxvLGk7dGhpcy5fdGFibGU9JChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0YWJsZSIpKSx0aGlzLl90YWJsZS5hZGRDbGFzcygicHJvcGVydHktcGFnZSIpLHRoaXMuX3RhYmxlLmF0dHIoImNlbGxzcGFjaW5nIiwiMCIpLHRoaXMuX3RhYmxlLmF0dHIoImNlbGxwYWRkaW5nIiwiMiIpLGU9ZCgpLHQ9cygpLG89dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLGk9dGhpcy5hZGRMYWJlbGVkUm93KHRoaXMuX3RhYmxlLCJMaW5lcyIpLCQoIjx0ZD4iKS5hcHBlbmQobykuYXBwZW5kVG8oaSksJCgiPHRkPiIpLmFwcGVuZChlKS5hcHBlbmRUbyhpKSwkKCI8dGQ+IikuYXBwZW5kKHQucmVuZGVyKCkpLmFwcGVuZFRvKGkpLHRoaXMuYmluZENvbnRyb2wobmV3IGwobyx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkubGluZWNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIENpcmNsZSBMaW5lcyBDb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyByKHQsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmxpbmVzdHlsZSxwYXJzZUludCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBDaXJjbGUgTGluZXMgU3R5bGUiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcChlLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5saW5ld2lkdGgsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgQ2lyY2xlIExpbmVzIFdpZHRoIikpLHRoaXMubG9hZERhdGEoKX0saS5wcm90b3R5cGUud2lkZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3RhYmxlfSxlLmV4cG9ydHM9aX0sNzY3OmZ1bmN0aW9uKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlLHQsbyl7DQpuLmNhbGwodGhpcyxlLHQsbyksdGhpcy5wcmVwYXJlTGF5b3V0KCl9dmFyIG49bygxNCksYT1vKDEwKSxyPWEuU2ltcGxlQ29tYm9CaW5kZXIsbD1hLkNvbG9yQmluZGluZyxwPWEuQm9vbGVhbkJpbmRlcixzPWEuU2xpZGVyQmluZGVyLGQ9bygxNSkuY3JlYXRlTGluZVdpZHRoRWRpdG9yO2luaGVyaXQoaSxuKSxpLnByb3RvdHlwZS5wcmVwYXJlTGF5b3V0PWZ1bmN0aW9uKCl7dmFyIGUsdCxvLGksbixhLGgsYyxiLHUsQyx5LGcsdzt0aGlzLl90YWJsZT0kKCc8dGFibGUgY2xhc3M9InByb3BlcnR5LXBhZ2UiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+JyksZT0kKCI8dGJvZHk+IikuYXBwZW5kVG8odGhpcy5fdGFibGUpLHQ9ZCgpLG89dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLGk9dGhpcy5hZGRMYWJlbGVkUm93KGUsJC50KCJMaW5lIikpLCQoIjx0ZD4iKS5wcmVwZW5kVG8oaSksJCgiPHRkPiIpLmFwcGVuZChvKS5hcHBlbmRUbyhpKSwkKCI8dGQ+IikuYXBwZW5kKHQpLmFwcGVuZFRvKGkpLG49dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLGE9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLGg9dGhpcy5jcmVhdGVGb250U2l6ZUVkaXRvcigpLGM9dGhpcy5jcmVhdGVGb250RWRpdG9yKCksYj10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCksdT0kKCc8aW5wdXQgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJ2aXNpYmlsaXR5LXN3aXRjaCI+JyksQz10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCkseT0kKCc8aW5wdXQgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJ2aXNpYmlsaXR5LXN3aXRjaCI+JyksdGhpcy5iaW5kQ29udHJvbChuZXcgbChuLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS50ZXh0Y29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVGV4dCBDb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyByKGgsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmZvbnRzaXplLHBhcnNlSW50LCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRleHQgRm9udCBTaXplIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHIoYyx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuZm9udCxudWxsLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRleHQgRm9udCIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKGIsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmxhYmVsQmFja2dyb3VuZENvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRleHQgQmFja2dyb3VuZCIsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmxhYmVsQmFja2dyb3VuZFRyYW5zcGFyZW5jeSkpLHRoaXMuYmluZENvbnRyb2wobmV3IHAodSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuZmlsbExhYmVsQmFja2dyb3VuZCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUZXh0IEJhY2tncm91bmQgRmlsbCIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKEMsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmJhY2tncm91bmRDb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUZXh0IEJhY2tncm91bmQiLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5iYWNrZ3JvdW5kVHJhbnNwYXJlbmN5KSksdGhpcy5iaW5kQ29udHJvbChuZXcgcCh5LHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5maWxsQmFja2dyb3VuZCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUZXh0IEJhY2tncm91bmQgRmlsbCIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKGEsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmJvcmRlckNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRleHQgQm9yZGVyIENvbG9yIikpLGc9dGhpcy5hZGRMYWJlbGVkUm93KGUsJC50KCJCYWNrZ3JvdW5kIikseSksJCgiPHRkPiIpLmFwcGVuZCh5KS5wcmVwZW5kVG8oZyksJCgiPHRkPiIpLmFwcGVuZChDKS5hcHBlbmRUbyhnKSx3PXRoaXMuYWRkTGFiZWxlZFJvdyhlLCQudCgiTGFiZWwiKSksJCgiPHRkPiIpLnByZXBlbmRUbyh3KSwkKCI8dGQ+IikuYXBwZW5kKG4pLmFwcGVuZFRvKHcpLCQoIjx0ZD4iKS5hcHBlbmQoYykuYXBwZW5kVG8odyksJCgiPHRkPiIpLmFwcGVuZChoKS5hcHBlbmRUbyh3KSxnPXRoaXMuYWRkTGFiZWxlZFJvdyhlLCQudCgiTGFiZWwgQmFja2dyb3VuZCIpLHUpLCQoIjx0ZD4iKS5hcHBlbmQodSkucHJlcGVuZFRvKGcpLCQoIjx0ZD4iKS5hcHBlbmQoYikuYXBwZW5kVG8oZyksdGhpcy5iaW5kQ29udHJvbChuZXcgbChvLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5saW5lY29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgRGF0ZSBSYW5nZSBDb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBzKHQsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmxpbmV3aWR0aCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBEYXRlIFJhbmdlIExpbmUgV2lkdGgiKSksdGhpcy5sb2FkRGF0YSgpfSxpLnByb3RvdHlwZS53aWRnZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdGFibGV9LGUuZXhwb3J0cz1pfSw3Njg6ZnVuY3Rpb24oZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUsdCxvKXtuLmNhbGwodGhpcyxlLHQsbyksdGhpcy5wcmVwYXJlTGF5b3V0KCl9dmFyIG49bygxNCksYT1vKDEwKSxyPWEuU2ltcGxlQ29tYm9CaW5kZXIsbD1hLkNvbG9yQmluZGluZyxwPWEuQm9vbGVhbkJpbmRlcixzPWEuU2xpZGVyQmluZGVyLGQ9bygxNSkuY3JlYXRlTGluZVdpZHRoRWRpdG9yO2luaGVyaXQoaSxuKSxpLnByb3RvdHlwZS5wcmVwYXJlTGF5b3V0PWZ1bmN0aW9uKCl7dmFyIGUsdCxvLGksbixhLGgsYyxiLHUsQyx5LGcsdyxULF8sbSxmLEwsdixrLFMsUDt0aGlzLl90YWJsZT0kKCc8dGFibGUgY2xhc3M9InByb3BlcnR5LXBhZ2UiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+JyksZT0kKCI8dGJvZHk+IikuYXBwZW5kVG8odGhpcy5fdGFibGUpLHQ9ZCgpLG89dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLGk9dGhpcy5hZGRMYWJlbGVkUm93KGUsJC50KCJMaW5lIikpLCQoIjx0ZD4iKS5wcmVwZW5kVG8oaSksJCgiPHRkPiIpLmFwcGVuZChvKS5hcHBlbmRUbyhpKSwkKCI8dGQ+IikuYXBwZW5kKHQpLmFwcGVuZFRvKGkpLA0Kbj10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCksYT10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCksaD10aGlzLmNyZWF0ZUZvbnRTaXplRWRpdG9yKCksYz10aGlzLmNyZWF0ZUZvbnRFZGl0b3IoKSxiPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSx1PSQoJzxpbnB1dCB0eXBlPSJjaGVja2JveCIgY2xhc3M9InZpc2liaWxpdHktc3dpdGNoIj4nKSxDPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSx5PSQoJzxpbnB1dCB0eXBlPSJjaGVja2JveCIgY2xhc3M9InZpc2liaWxpdHktc3dpdGNoIj4nKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKG4sdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnRleHRjb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUZXh0IENvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHIoaCx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuZm9udHNpemUscGFyc2VJbnQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVGV4dCBGb250IFNpemUiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcihjLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5mb250LG51bGwsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVGV4dCBGb250IikpLHRoaXMuYmluZENvbnRyb2wobmV3IGwoYix0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkubGFiZWxCYWNrZ3JvdW5kQ29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVGV4dCBCYWNrZ3JvdW5kIix0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkubGFiZWxCYWNrZ3JvdW5kVHJhbnNwYXJlbmN5KSksdGhpcy5iaW5kQ29udHJvbChuZXcgcCh1LHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5maWxsTGFiZWxCYWNrZ3JvdW5kLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRleHQgQmFja2dyb3VuZCBGaWxsIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGwoQyx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuYmFja2dyb3VuZENvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRleHQgQmFja2dyb3VuZCIsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmJhY2tncm91bmRUcmFuc3BhcmVuY3kpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKHksdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmZpbGxCYWNrZ3JvdW5kLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRleHQgQmFja2dyb3VuZCBGaWxsIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGwoYSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuYm9yZGVyQ29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVGV4dCBCb3JkZXIgQ29sb3IiKSksZz10aGlzLmFkZExhYmVsZWRSb3coZSwkLnQoIkJhY2tncm91bmQiKSx5KSwkKCI8dGQ+IikuYXBwZW5kKHkpLnByZXBlbmRUbyhnKSwkKCI8dGQ+IikuYXBwZW5kKEMpLmFwcGVuZFRvKGcpLHc9dGhpcy5hZGRMYWJlbGVkUm93KGUsJC50KCJMYWJlbCIpKSwkKCI8dGQ+IikucHJlcGVuZFRvKHcpLCQoIjx0ZD4iKS5hcHBlbmQobikuYXBwZW5kVG8odyksJCgiPHRkPiIpLmFwcGVuZChjKS5hcHBlbmRUbyh3KSwkKCI8dGQ+IikuYXBwZW5kKGgpLmFwcGVuZFRvKHcpLGc9dGhpcy5hZGRMYWJlbGVkUm93KGUsJC50KCJMYWJlbCBCYWNrZ3JvdW5kIiksdSksJCgiPHRkPiIpLmFwcGVuZCh1KS5wcmVwZW5kVG8oZyksJCgiPHRkPiIpLmFwcGVuZChiKS5hcHBlbmRUbyhnKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKG8sdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmxpbmVjb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBEYXRlIFJhbmdlIENvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHModCx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkubGluZXdpZHRoLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIERhdGUgUmFuZ2UgTGluZSBXaWR0aCIpKSxUPXRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKSx2b2lkIDAhPT1ULmV4dGVuZFRvcCYmdm9pZCAwIT09VC5leHRlbmRCb3R0b20mJihfPSQoJzxpbnB1dCB0eXBlPSJjaGVja2JveCI+JyksbT0kKCc8aW5wdXQgdHlwZT0iY2hlY2tib3giPicpLHRoaXMuYmluZENvbnRyb2wobmV3IHAoXyx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuZXh0ZW5kVG9wLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEV4dGVuZCBUb3AiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcChtLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5leHRlbmRCb3R0b20sITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgRXh0ZW5kIEJvdHRvbSIpKSxmPXRoaXMuYWRkTGFiZWxlZFJvdyhlLCQudCgiRXh0ZW5kIFRvcCIpLF8pLCQoIjx0ZD4iKS5hcHBlbmQoXykucHJlcGVuZFRvKGYpLEw9dGhpcy5hZGRMYWJlbGVkUm93KGUsJC50KCJFeHRlbmQgQm90dG9tIiksbSksJCgiPHRkPiIpLmFwcGVuZChtKS5wcmVwZW5kVG8oTCkpLHZvaWQgMCE9PVQuZXh0ZW5kTGVmdCYmdm9pZCAwIT09VC5leHRlbmRSaWdodCYmKHY9JCgnPGlucHV0IHR5cGU9ImNoZWNrYm94Ij4nKSxrPSQoJzxpbnB1dCB0eXBlPSJjaGVja2JveCI+JyksdGhpcy5iaW5kQ29udHJvbChuZXcgcCh2LHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5leHRlbmRMZWZ0LCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEV4dGVuZCBMZWZ0IikpLHRoaXMuYmluZENvbnRyb2wobmV3IHAoayx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuZXh0ZW5kUmlnaHQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgRXh0ZW5kIFJpZ2h0IikpLFM9dGhpcy5hZGRMYWJlbGVkUm93KGUsJC50KCJFeHRlbmQgTGVmdCIpLHYpLCQoIjx0ZD4iKS5hcHBlbmQodikucHJlcGVuZFRvKFMpLFA9dGhpcy5hZGRMYWJlbGVkUm93KGUsJC50KCJFeHRlbmQgUmlnaHQiKSxrKSwkKCI8dGQ+IikuYXBwZW5kKGspLnByZXBlbmRUbyhQKSksdGhpcy5sb2FkRGF0YSgpfSxpLnByb3RvdHlwZS53aWRnZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdGFibGV9LGUuZXhwb3J0cz1pfSw3Njk6ZnVuY3Rpb24oZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUsdCxvKXtuLmNhbGwodGhpcyxlLHQsbyksdGhpcy5wcmVwYXJlTGF5b3V0KCl9DQp2YXIgbj1vKDE0KSxhPW8oMTApLHI9YS5TaW1wbGVDb21ib0JpbmRlcixsPWEuQm9vbGVhbkJpbmRlcixwPWEuQ29sb3JCaW5kaW5nLHM9YS5TbGlkZXJCaW5kZXIsZD1vKDMxKS5jcmVhdGVMaW5lU3R5bGVFZGl0b3IsaD1vKDE1KS5jcmVhdGVMaW5lV2lkdGhFZGl0b3I7aW5oZXJpdChpLG4pLGkucHJvdG90eXBlLnByZXBhcmVMYXlvdXQ9ZnVuY3Rpb24oKXt2YXIgZSx0LG8saSxuLGEsYyxiLHUsQyx5LGcsdyxULF8sbSxmLEwsdixrLFMsUCx4LEI7dGhpcy5fdGFibGU9JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPicpLGU9JCgiPHRib2R5PiIpLmFwcGVuZFRvKHRoaXMuX3RhYmxlKSx0PWgoKSxvPWQoKSxpPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxuPXRoaXMuYWRkTGFiZWxlZFJvdyhlLCQudCgiTGluZSIpKSwkKCI8dGQ+IikuYXBwZW5kKGkpLmFwcGVuZFRvKG4pLCQoIjx0ZD4iKS5hcHBlbmQodCkuYXBwZW5kVG8obiksJCgnPHRkIGNvbHNwYW49IjMiPicpLmFwcGVuZChvLnJlbmRlcigpKS5hcHBlbmRUbyhuKSxuPXRoaXMuYWRkTGFiZWxlZFJvdyhlLCQudCgiVGV4dCIpKSxhPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxjPXRoaXMuY3JlYXRlRm9udFNpemVFZGl0b3IoKSxiPXRoaXMuY3JlYXRlRm9udEVkaXRvcigpLHU9JCgnPHNwYW4gY2xhc3M9Il90di1idXR0b24gX3R2LWJ1dHRvbi1mb250c3R5bGUiPjxzcGFuIGNsYXNzPSJpY29uLWZvbnRzdHlsZS1ib2xkIj48L3NwYW4+PC9zcGFuPicpLEM9JCgnPHNwYW4gY2xhc3M9Il90di1idXR0b24gX3R2LWJ1dHRvbi1mb250c3R5bGUiPjxzcGFuIGNsYXNzPSJpY29uLWZvbnRzdHlsZS1pdGFsaWMiPjwvc3Bhbj48L3NwYW4+JyksJCgiPHRkPiIpLmFwcGVuZChhKS5hcHBlbmRUbyhuKSwkKCI8dGQ+IikuYXBwZW5kKGIpLmFwcGVuZFRvKG4pLCQoIjx0ZD4iKS5hcHBlbmQoYykuYXBwZW5kVG8obiksJCgiPHRkPiIpLmFwcGVuZCh1KS5hcHBlbmRUbyhuKSwkKCI8dGQ+IikuYXBwZW5kKEMpLmFwcGVuZFRvKG4pLHk9JCgiPHRib2R5PiIpLmFwcGVuZFRvKHRoaXMuX3RhYmxlKSxnPSQoJzxpbnB1dCB0eXBlPSJjaGVja2JveCIgY2xhc3M9InZpc2liaWxpdHktc3dpdGNoIj4nKSx3PXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxuPXRoaXMuYWRkTGFiZWxlZFJvdyh5LCQudCgiQmFja2dyb3VuZCIpLGcpLFQ9JCgiPHRhYmxlPiIpLCQoJzx0ZCBjb2xzcGFuPSI1Ij4nKS5hcHBlbmQoVCkuYXBwZW5kVG8obiksbj0kKCI8dHI+IikuYXBwZW5kVG8oVCksJCgiPHRkPiIpLmFwcGVuZChnKS5hcHBlbmRUbyhuKSwkKCI8dGQ+IikuYXBwZW5kKHcpLmFwcGVuZFRvKG4pLF89JCgiPHRib2R5PiIpLmFwcGVuZFRvKHRoaXMuX3RhYmxlKSxtPSQoIjxsYWJlbD4iKyQudCgiRXh0ZW5kIikrIiA8L2xhYmVsPiIpLmNzcyh7Im1hcmdpbi1sZWZ0IjoiOHB4In0pLGY9JCgnPGlucHV0IHR5cGU9ImNoZWNrYm94Ij4nKS5hcHBlbmRUbyhtKSxMPSQoIjxsYWJlbD4iKyQudCgiRXh0ZW5kIikrIiA8L2xhYmVsPiIpLmNzcyh7Im1hcmdpbi1sZWZ0IjoiOHB4In0pLHY9JCgnPGlucHV0IHR5cGU9ImNoZWNrYm94Ij4nKS5hcHBlbmRUbyhMKSxrPSQoIjxzZWxlY3Q+PG9wdGlvbiB2YWx1ZT0nMCc+IiskLnQoIk5vcm1hbCIpKyI8L29wdGlvbj48b3B0aW9uIHZhbHVlPScxJz4iKyQudCgiQXJyb3ciKSsiPC9vcHRpb24+PC9zZWxlY3Q+IiksUz0kKCI8c2VsZWN0PjxvcHRpb24gdmFsdWU9JzAnPiIrJC50KCJOb3JtYWwiKSsiPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nMSc+IiskLnQoIkFycm93IikrIjwvb3B0aW9uPjwvc2VsZWN0PiIpLG49dGhpcy5hZGRMYWJlbGVkUm93KF8sJC50KCJMZWZ0IEVuZCIpKSwkKCc8dGQgY29sc3Bhbj0iMyI+JykuYXBwZW5kVG8obikuYXBwZW5kKGspLmFwcGVuZChtKSxuPXRoaXMuYWRkTGFiZWxlZFJvdyhfLCQudCgiUmlnaHQgRW5kIikpLCQoJzx0ZCBjb2xzcGFuPSIzIj4nKS5hcHBlbmRUbyhuKS5hcHBlbmQoUykuYXBwZW5kKEwpLFA9JCgiPHRib2R5PiIpLmFwcGVuZFRvKHRoaXMuX3RhYmxlKSxuPSQoIjx0cj4iKS5hcHBlbmRUbyhQKSx4PSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCc+IiksQj0kKCI8bGFiZWwgc3R5bGU9J2Rpc3BsYXk6YmxvY2snPiIpLmFwcGVuZCh4KS5hcHBlbmQoJC50KCJTaG93IFByaWNlcyIpKSwkKCI8dGQgY29sc3Bhbj0nMic+IikuYXBwZW5kKEIpLmFwcGVuZFRvKG4pLHRoaXMuYmluZENvbnRyb2wobmV3IHIoYyx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuZm9udHNpemUscGFyc2VJbnQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVGV4dCBGb250IFNpemUiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcihiLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5mb250LG51bGwsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVGV4dCBGb250IikpLHRoaXMuYmluZENvbnRyb2wobmV3IHAoYSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkudGV4dGNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRleHQgQ29sb3IiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgbCh1LHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5ib2xkLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRleHQgRm9udCBCb2xkIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGwoQyx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuaXRhbGljLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRleHQgRm9udCBJdGFsaWMiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgbCh4LHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5zaG93UHJpY2VzLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIERpc2pvaW50IEFuZ2xlIFNob3cgUHJpY2VzIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGwoZix0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuZXh0ZW5kTGVmdCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBEaXNqb2ludCBBbmdsZSBFeHRlbmRpbmcgTGVmdCIpKSwNCnRoaXMuYmluZENvbnRyb2wobmV3IGwodix0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuZXh0ZW5kUmlnaHQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgRGlzam9pbnQgQW5nbGUgRXh0ZW5kaW5nIFJpZ2h0IikpLHRoaXMuYmluZENvbnRyb2wobmV3IHAoaSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkubGluZWNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIERpc2pvaW50IEFuZ2xlIENvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHIobyx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkubGluZXN0eWxlLHBhcnNlSW50LCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIERpc2pvaW50IEFuZ2xlIFN0eWxlIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHModCx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkubGluZXdpZHRoLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIERpc2pvaW50IEFuZ2xlIFdpZHRoIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHIoayx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkubGVmdEVuZCxwYXJzZUludCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBEaXNqb2ludCBBbmdsZSBMZWZ0IEVuZCIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyByKFMsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnJpZ2h0RW5kLHBhcnNlSW50LCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIERpc2pvaW50IEFuZ2xlIFJpZ2h0IEVuZCIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKGcsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmZpbGxCYWNrZ3JvdW5kLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIERpc2pvaW50IEFuZ2xlIEZpbGxpbmciKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcCh3LHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5iYWNrZ3JvdW5kQ29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgRGlzam9pbnQgQW5nbGUgQmFja2dyb3VuZCBDb2xvciIsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnRyYW5zcGFyZW5jeSkpLHRoaXMubG9hZERhdGEoKX0saS5wcm90b3R5cGUud2lkZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3RhYmxlfSxlLmV4cG9ydHM9aX0sNzcwOmZ1bmN0aW9uKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlLHQsbyl7bi5jYWxsKHRoaXMsZSx0LG8pLHRoaXMucHJlcGFyZUxheW91dCgpfXZhciBuLGEscixsLHAscyxkO28oMjMpLG49bygxNCksYT1vKDEwKSxyPWEuU2ltcGxlQ29tYm9CaW5kZXIsbD1hLkNvbG9yQmluZGluZyxwPWEuU2xpZGVyQmluZGVyLHM9YS5Cb29sZWFuQmluZGVyLGQ9bygxNSkuY3JlYXRlTGluZVdpZHRoRWRpdG9yLGluaGVyaXQoaSxuKSxpLnByb3RvdHlwZS5wcmVwYXJlTGF5b3V0PWZ1bmN0aW9uKCl7dmFyIGUsdCxvLGksbixhO3RoaXMuX3RhYmxlPSQoJzx0YWJsZSBjbGFzcz0icHJvcGVydHktcGFnZSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIj4nKSxlPXRoaXMuX2xpbmV0b29sLmdldERlZ3JlZXMoKSx0PXRoaXMuY3JlYXRlS2V5Q29tYm8oZSksdC53aWR0aCgzMDApLG89dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLGk9JCgnPGlucHV0IHR5cGU9ImNoZWNrYm94IiBjbGFzcz0idmlzaWJpbGl0eS1zd2l0Y2giPicpLG49dGhpcy5hZGRMYWJlbGVkUm93KHRoaXMuX3RhYmxlLHdpbmRvdy50KCJEZWdyZWUiKSksJCgiPHRkPiIpLnByZXBlbmRUbyhuKSwkKCI8dGQ+IikuYXBwZW5kKHQpLmFwcGVuZFRvKG4pLG49dGhpcy5hZGRMYWJlbGVkUm93KHRoaXMuX3RhYmxlLHdpbmRvdy50KCJMaW5lIFdpZHRoIikpLGE9ZCgpLCQoIjx0ZD4iKS5wcmVwZW5kVG8obiksJCgiPHRkPiIpLmFwcGVuZChhKS5hcHBlbmRUbyhuKSxuPXRoaXMuYWRkTGFiZWxlZFJvdyh0aGlzLl90YWJsZSx3aW5kb3cudCgiQ29sb3IiKSksJCgiPHRkPiIpLnByZXBlbmRUbyhuKSwkKCI8dGQ+IikuYXBwZW5kKG8pLmFwcGVuZFRvKG4pLG49dGhpcy5hZGRMYWJlbGVkUm93KHRoaXMuX3RhYmxlLHdpbmRvdy50KCJTaG93IFdhdmUiKSxpKSwkKCI8dGQ+IikuYXBwZW5kKGkpLnByZXBlbmRUbyhuKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKG8sdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEVsbGlvdHQgTGFiZWwgQ29sb3IiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcih0LHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5kZWdyZWUscGFyc2VJbnQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgRWxsaW90dCBXYXZlIFNpemUiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcyhpLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5zaG93V2F2ZSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBFbGxpb3R0IExhYmVscyBCYWNrZ3JvdW5kIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHAoYSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkubGluZXdpZHRoLHBhcnNlSW50LHRoaXMubW9kZWwoKSwiQ2hhbmdlIEVsbGlvdHQgV2F2ZSBMaW5lIFdpZHRoIikpLHRoaXMubG9hZERhdGEoKX0saS5wcm90b3R5cGUud2lkZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3RhYmxlfSxlLmV4cG9ydHM9aX0sNzcxOmZ1bmN0aW9uKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlLHQsbyl7bi5jYWxsKHRoaXMsZSx0LG8pLHRoaXMucHJlcGFyZUxheW91dCgpfXZhciBuPW8oMTQpLGE9bygxMCkscj1hLkJvb2xlYW5CaW5kZXIsbD1hLkNvbG9yQmluZGluZyxwPWEuU2xpZGVyQmluZGVyLHM9bygxNSkuY3JlYXRlTGluZVdpZHRoRWRpdG9yO2luaGVyaXQoaSxuKSxpLnByb3RvdHlwZS5wcmVwYXJlTGF5b3V0PWZ1bmN0aW9uKCl7dmFyIGUsdCxvLGksbjt0aGlzLl90YWJsZT0kKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRhYmxlIikpLHRoaXMuX3RhYmxlLmFkZENsYXNzKCJwcm9wZXJ0eS1wYWdlIiksdGhpcy5fdGFibGUuYXR0cigiY2VsbHNwYWNpbmciLCIwIiksdGhpcy5fdGFibGUuYXR0cigiY2VsbHBhZGRpbmciLCIyIiksZT1zKCksdD10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCksbz10aGlzLmFkZExhYmVsZWRSb3codGhpcy5fdGFibGUsJC50KCJCb3JkZXIiKSksDQpvLnByZXBlbmQoIjx0ZD4iKSwkKCI8dGQ+IikuYXBwZW5kKHQpLmFwcGVuZFRvKG8pLCQoIjx0ZD4iKS5hcHBlbmQoZSkuYXBwZW5kVG8obyksaT0kKCc8aW5wdXQgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJ2aXNpYmlsaXR5LXN3aXRjaCI+Jyksbj10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCksbz10aGlzLmFkZExhYmVsZWRSb3codGhpcy5fdGFibGUsJC50KCJCYWNrZ3JvdW5kIiksaSksJCgiPHRkPiIpLmFwcGVuZChpKS5wcmVwZW5kVG8obyksJCgiPHRkPiIpLmFwcGVuZChuKS5hcHBlbmRUbyhvKSx0aGlzLmJpbmRDb250cm9sKG5ldyByKGksdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmZpbGxCYWNrZ3JvdW5kLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEVsbGlwc2UgRmlsbGluZyIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKHQsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEVsbGlwc2UgTGluZSBDb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKG4sdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmJhY2tncm91bmRDb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBFbGxpcHNlIEJhY2tncm91bmQgQ29sb3IiLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS50cmFuc3BhcmVuY3kpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKGUsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmxpbmV3aWR0aCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBFbGxpcHNlIEJvcmRlciBXaWR0aCIpKSx0aGlzLmxvYWREYXRhKCl9LGkucHJvdG90eXBlLndpZGdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl90YWJsZX0sZS5leHBvcnRzPWl9LDc3MjpmdW5jdGlvbihlLHQsbyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0LG8pe24uY2FsbCh0aGlzLGUsdCxvKX12YXIgbj1vKDI2Nyk7aW5oZXJpdChpLG4pLGUuZXhwb3J0cz1pfSw3NzM6ZnVuY3Rpb24oZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUsdCxvKXtuLmNhbGwodGhpcyxlLHQsbyksdGhpcy5wcmVwYXJlTGF5b3V0KCl9dmFyIG49bygxNCksYT1vKDEwKSxyPWEuRmxvYXRCaW5kZXIsbD1hLlNpbXBsZUNvbWJvQmluZGVyLHA9YS5Cb29sZWFuQmluZGVyLHM9YS5Db2xvckJpbmRpbmcsZD1hLlNsaWRlckJpbmRlcixoPW8oNDcpLmFkZENvbG9yUGlja2VyLGM9bygzMSkuY3JlYXRlTGluZVN0eWxlRWRpdG9yLGI9bygxNSkuY3JlYXRlTGluZVdpZHRoRWRpdG9yLHU9byg2NSkuY3JlYXRlVHJhbnNwYXJlbmN5RWRpdG9yO2luaGVyaXQoaSxuKSxpLnByb3RvdHlwZS5hZGRMZXZlbEVkaXRvcj1mdW5jdGlvbihlLHQsbyl7dmFyIGksbixhLHUsQyx5LGcsdyxULF8sbT0kKCI8dHI+Iik7bS5hcHBlbmRUbyh0aGlzLl90YWJsZSksaT0kKCI8dGQ+IiksaS5hcHBlbmRUbyhtKSxuPSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgY2xhc3M9J3Zpc2liaWxpdHktc3dpdGNoJz4iKSxuLmFwcGVuZFRvKGkpLGU/KGE9JCgiPHRkPiIpLGEuYXBwZW5kVG8obSksdT0kKCI8aW5wdXQgdHlwZT0ndGV4dCc+IiksdS5hcHBlbmRUbyhhKSx1LmNzcygid2lkdGgiLCI3MHB4IiksdGhpcy5iaW5kQ29udHJvbChuZXcgcih1LHQuY29lZmYsITEsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUGl0Y2hmb3JrIExpbmUgQ29lZmYiKSkpOnRoaXMuY3JlYXRlTGFiZWxlZENlbGwoIlRyZW5kIExpbmUiLG4pLmFwcGVuZFRvKG0pLEM9JCgiPHRkIGNsYXNzPSdjb2xvcnBpY2tlci1jZWxsJz4iKSxDLmFwcGVuZFRvKG0pLHk9aChDKSxnPSQoIjx0ZD4iKSxnLmFwcGVuZFRvKG0pLHc9YigpLHcuYXBwZW5kVG8oZyksZXx8KFQ9JCgiPHRkPiIpLFQuYXBwZW5kVG8obSksXz1jKCksXy5yZW5kZXIoKS5hcHBlbmRUbyhUKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKF8sdC5saW5lc3R5bGUscGFyc2VJbnQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgRmliIENpcmNsZSBTdHlsZSIpKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcChuLHQudmlzaWJsZSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBGaWIgQ2lyY2xlIFZpc2liaWxpdHkiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcyh5LHQuY29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgRmliIENpcmNsZSBMaW5lIENvbG9yIiwwKSksdGhpcy5iaW5kQ29udHJvbChuZXcgZCh3LHQubGluZXdpZHRoLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEZpYiBDaXJjbGUgV2lkdGgiKSl9LGkucHJvdG90eXBlLnByZXBhcmVMYXlvdXQ9ZnVuY3Rpb24oKXt2YXIgZSx0LG8saSxuLGEscjtmb3IodGhpcy5fdGFibGU9JChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0YWJsZSIpKSx0aGlzLl90YWJsZS5hZGRDbGFzcygicHJvcGVydHktcGFnZSIpLHRoaXMuX3RhYmxlLmF0dHIoImNlbGxzcGFjaW5nIiwiMCIpLHRoaXMuX3RhYmxlLmF0dHIoImNlbGxwYWRkaW5nIiwiMiIpLHRoaXMuYWRkTGV2ZWxFZGl0b3IobnVsbCx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkudHJlbmRsaW5lLCExKSxlPTE7ZTw9MTE7ZSsrKXQ9ImxldmVsIitlLHRoaXMuYWRkTGV2ZWxFZGl0b3IoIkxldmVsICIrZSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKClbdF0sITEpO3RoaXMuYWRkT25lQ29sb3JQcm9wZXJ0eVdpZGdldCh0aGlzLl90YWJsZSksbz0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnIGNsYXNzPSd2aXNpYmlsaXR5LXN3aXRjaCc+IiksaT10aGlzLmFkZExhYmVsZWRSb3codGhpcy5fdGFibGUsIkxldmVscyIsbyksJCgiPHRkPiIpLmFwcGVuZChvKS5wcmVwZW5kVG8oaSksbj0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnIGNsYXNzPSd2aXNpYmlsaXR5LXN3aXRjaCc+IiksaT10aGlzLmFkZExhYmVsZWRSb3codGhpcy5fdGFibGUsIkNvZWZmcyBBcyBQZXJjZW50cyIsbiksJCgiPHRkPiIpLmFwcGVuZChuKS5wcmVwZW5kVG8oaSksdGhpcy5iaW5kQ29udHJvbChuZXcgcChvLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5zaG93Q29lZmZzLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEZpYiBDaXJjbGUgTGV2ZWxzIFZpc2liaWxpdHkiKSksaT0kKCI8dHI+IiksDQppLmFwcGVuZFRvKHRoaXMuX3RhYmxlKSxhPSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgY2xhc3M9J3Zpc2liaWxpdHktc3dpdGNoJz4iKSwkKCI8dGQ+IikuYXBwZW5kKGEpLmFwcGVuZFRvKGkpLHRoaXMuY3JlYXRlTGFiZWxlZENlbGwoIkJhY2tncm91bmQiLGEpLmFwcGVuZFRvKGkpLHI9dSgpLCQoJzx0ZCBjb2xzcGFuPSIzIj4nKS5hcHBlbmQocikuYXBwZW5kVG8oaSksdGhpcy5iaW5kQ29udHJvbChuZXcgcChhLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5maWxsQmFja2dyb3VuZCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBQaXRjaGZvcmsgQmFja2dyb3VuZCBWaXNpYmlsaXR5IikpLHRoaXMuYmluZENvbnRyb2wobmV3IGQocix0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkudHJhbnNwYXJlbmN5LCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFBpdGNoZm9yayBCYWNrZ3JvdW5kIFRyYW5zcGFyZW5jeSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKG4sdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmNvZWZmc0FzUGVyY2VudHMsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgRmliIFJldHJhY2VtZW50IENvZWZmcyBBcyBQZXJjZW50cyIpKSx0aGlzLmxvYWREYXRhKCl9LGkucHJvdG90eXBlLndpZGdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl90YWJsZX0sZS5leHBvcnRzPWl9LDc3NDpmdW5jdGlvbihlLHQsbyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0LG8pe24uY2FsbCh0aGlzLGUsdCxvKSx0aGlzLnByZXBhcmVMYXlvdXQoKX12YXIgbj1vKDE0KSxhPW8oMTApLHI9YS5GbG9hdEJpbmRlcixsPWEuU2ltcGxlQ29tYm9CaW5kZXIscD1hLkJvb2xlYW5CaW5kZXIscz1hLkNvbG9yQmluZGluZyxkPWEuU2xpZGVyQmluZGVyLGg9byg0NykuYWRkQ29sb3JQaWNrZXIsYz1vKDMxKS5jcmVhdGVMaW5lU3R5bGVFZGl0b3IsYj1vKDE1KS5jcmVhdGVMaW5lV2lkdGhFZGl0b3IsdT1vKDY1KS5jcmVhdGVUcmFuc3BhcmVuY3lFZGl0b3I7aW5oZXJpdChpLG4pLGkucHJvdG90eXBlLmFkZExldmVsRWRpdG9yPWZ1bmN0aW9uKGUsdCxvKXt2YXIgaSxuLGEsdSxDLHksZyx3LFQsXyxtPSQoIjx0cj4iKTttLmFwcGVuZFRvKHRoaXMuX3RhYmxlKSxpPSQoIjx0ZD4iKSxpLmFwcGVuZFRvKG0pLG49JCgiPGlucHV0IHR5cGU9J2NoZWNrYm94JyBjbGFzcz0ndmlzaWJpbGl0eS1zd2l0Y2gnPiIpLG4uYXBwZW5kVG8oaSksZT8oYT0kKCI8dGQ+IiksYS5hcHBlbmRUbyhtKSx1PSQoIjxpbnB1dCB0eXBlPSd0ZXh0Jz4iKSx1LmFwcGVuZFRvKGEpLHUuY3NzKCJ3aWR0aCIsIjcwcHgiKSx0aGlzLmJpbmRDb250cm9sKG5ldyByKHUsdC5jb2VmZiwhMSx0aGlzLm1vZGVsKCksIkNoYW5nZSBQaXRjaGZvcmsgTGluZSBDb2VmZiIpKSk6JCgiPHRkPiIrJC50KCJUcmVuZCBMaW5lIikrIjwvdGQ+IikuYXBwZW5kVG8obSksQz0kKCI8dGQgY2xhc3M9J2NvbG9ycGlja2VyLWNlbGwnPiIpLEMuYXBwZW5kVG8obSkseT1oKEMpLGc9JCgiPHRkPiIpLGcuYXBwZW5kVG8obSksdz1iKCksdy5hcHBlbmRUbyhnKSxlfHwoVD0kKCI8dGQ+IiksVC5hcHBlbmRUbyhtKSxfPWMoKSxfLnJlbmRlcigpLmFwcGVuZFRvKFQpLHRoaXMuYmluZENvbnRyb2wobmV3IGwoXyx0LmxpbmVzdHlsZSxwYXJzZUludCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBGaWIgU3BlZWQgUmVzaXN0YW5jZSBBcmNzIFN0eWxlIikpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKG4sdC52aXNpYmxlLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEZpYiBTcGVlZCBSZXNpc3RhbmNlIEFyY3MgVmlzaWJpbGl0eSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBzKHksdC5jb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBGaWIgU3BlZWQgUmVzaXN0YW5jZSBBcmNzIExpbmUgQ29sb3IiLDApKSx0aGlzLmJpbmRDb250cm9sKG5ldyBkKHcsdC5saW5ld2lkdGgsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgRmliIFNwZWVkIFJlc2lzdGFuY2UgQXJjcyBXaWR0aCIpKX0saS5wcm90b3R5cGUucHJlcGFyZUxheW91dD1mdW5jdGlvbigpe3ZhciBlLHQsbyxpLG4sYSxyO2Zvcih0aGlzLl90YWJsZT0kKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRhYmxlIikpLHRoaXMuX3RhYmxlLmFkZENsYXNzKCJwcm9wZXJ0eS1wYWdlIiksdGhpcy5fdGFibGUuYXR0cigiY2VsbHNwYWNpbmciLCIwIiksdGhpcy5fdGFibGUuYXR0cigiY2VsbHBhZGRpbmciLCIyIiksdGhpcy5hZGRMZXZlbEVkaXRvcihudWxsLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS50cmVuZGxpbmUsITEpLGU9MTtlPD0xMTtlKyspdD0ibGV2ZWwiK2UsdGhpcy5hZGRMZXZlbEVkaXRvcigiTGV2ZWwgIitlLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKVt0XSwhMSk7dGhpcy5hZGRPbmVDb2xvclByb3BlcnR5V2lkZ2V0KHRoaXMuX3RhYmxlKSxvPSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgY2xhc3M9J3Zpc2liaWxpdHktc3dpdGNoJz4iKSxpPXRoaXMuYWRkTGFiZWxlZFJvdyh0aGlzLl90YWJsZSwkLnQoIkxldmVscyIpKSwkKCI8dGQ+IikuYXBwZW5kKG8pLnByZXBlbmRUbyhpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKG8sdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnNob3dDb2VmZnMsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgRmliIFNwZWVkIFJlc2lzdGFuY2UgQXJjcyBMZXZlbHMgVmlzaWJpbGl0eSIpKSxuPSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgY2xhc3M9J3Zpc2liaWxpdHktc3dpdGNoJz4iKSxpPXRoaXMuYWRkTGFiZWxlZFJvdyh0aGlzLl90YWJsZSwkLnQoIkZ1bGwgQ2lyY2xlcyIpKSwkKCI8dGQ+IikuYXBwZW5kKG4pLnByZXBlbmRUbyhpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKG4sdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmZ1bGxDaXJjbGVzLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEZpYiBTcGVlZCBSZXNpc3RhbmNlIEFyY3MgRnVsbCBDaXJsY2VzIE1vZGUiKSksaT0kKCI8dHI+IiksaS5hcHBlbmRUbyh0aGlzLl90YWJsZSksYT0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnIGNsYXNzPSd2aXNpYmlsaXR5LXN3aXRjaCc+IiksDQokKCI8dGQ+IikuYXBwZW5kKGEpLmFwcGVuZFRvKGkpLCQoIjx0ZD4iKyQudCgiQmFja2dyb3VuZCIpKyI8L3RkPiIpLmFwcGVuZFRvKGkpLHI9dSgpLCQoJzx0ZCBjb2xzcGFuPSIzIj4nKS5hcHBlbmQocikuYXBwZW5kVG8oaSksdGhpcy5iaW5kQ29udHJvbChuZXcgcChhLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5maWxsQmFja2dyb3VuZCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBGaWIgQXJjcyBCYWNrZ3JvdW5kIFZpc2liaWxpdHkiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgZChyLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS50cmFuc3BhcmVuY3ksITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgRmliIEFyY3MgQmFja2dyb3VuZCBUcmFuc3BhcmVuY3kiKSksdGhpcy5sb2FkRGF0YSgpfSxpLnByb3RvdHlwZS53aWRnZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdGFibGV9LGUuZXhwb3J0cz1pfSw3NzU6ZnVuY3Rpb24oZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUsdCxvKXtuLmNhbGwodGhpcyxlLHQsbyksdGhpcy5wcmVwYXJlTGF5b3V0KCl9dmFyIG49bygxNCksYT1vKDEwKSxyPWEuQm9vbGVhbkJpbmRlcixsPWEuQ29sb3JCaW5kaW5nLHA9YS5GbG9hdEJpbmRlcixzPWEuU2ltcGxlQ29tYm9CaW5kZXIsZD1hLlNsaWRlckJpbmRlcixoPW8oNDcpLmFkZENvbG9yUGlja2VyLGM9bygzMSkuY3JlYXRlTGluZVN0eWxlRWRpdG9yLGI9bygxNSkuY3JlYXRlTGluZVdpZHRoRWRpdG9yLHU9byg2NSkuY3JlYXRlVHJhbnNwYXJlbmN5RWRpdG9yO2luaGVyaXQoaSxuKSxpLnByb3RvdHlwZS5hZGRMZXZlbEVkaXRvcj1mdW5jdGlvbihlLHQsbyl7dmFyIGksbixhLHMsZCxjLGI9JCgiPHRyPiIpO2IuYXBwZW5kVG8oZSksaT0kKCI8dGQ+IiksaS5hcHBlbmRUbyhiKSxuPSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgY2xhc3M9J3Zpc2liaWxpdHktc3dpdGNoJz4iKSxuLmFwcGVuZFRvKGkpLGE9JCgiPHRkPiIpLGEuYXBwZW5kVG8oYikscz0kKCI8aW5wdXQgdHlwZT0ndGV4dCc+Iikscy5hcHBlbmRUbyhhKSxzLmNzcygid2lkdGgiLCI3MHB4IiksdGhpcy5iaW5kQ29udHJvbChuZXcgcihuLG8udmlzaWJsZSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBHYW5uIFNxdWFyZSBMaW5lIFZpc2liaWxpdHkiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcChzLG8uY29lZmYsITEsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUGl0Y2hmb3JrIExpbmUgQ29lZmYiKSksZD0kKCI8dGQgY2xhc3M9J2NvbG9ycGlja2VyLWNlbGwnPiIpLGQuYXBwZW5kVG8oYiksYz1oKGQpLHRoaXMuYmluZENvbnRyb2wobmV3IGwoYyxvLmNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEdhbm4gU3F1YXJlIExpbmUgQ29sb3IiLDApKX0saS5wcm90b3R5cGUucHJlcGFyZUxheW91dD1mdW5jdGlvbigpe3ZhciBlLHQsbyxpLG4sYSxwLGgsQyx5LGcsdyxULF8sbSxmLEwsdixrLFMsUCx4LEI7Zm9yKHRoaXMuX3RhYmxlPSQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGFibGUiKSksdGhpcy5fdGFibGUuYWRkQ2xhc3MoInByb3BlcnR5LXBhZ2UgcHJvcGVydHktcGFnZS11bnBhZGRlZCIpLHRoaXMuX3RhYmxlLmF0dHIoImNlbGxzcGFjaW5nIiwiMCIpLHRoaXMuX3RhYmxlLmF0dHIoImNlbGxwYWRkaW5nIiwiMiIpLHRoaXMuX3RhYmxlLmNzcyh7d2lkdGg6IjEwMCUifSksZT0kKCI8dGJvZHk+IikuYXBwZW5kVG8odGhpcy5fdGFibGUpLHQ9JCgiPHRyPiIpLHQuYXBwZW5kVG8oZSksbz0kKCc8dGQgd2lkdGg9IjUwJSI+Jyksby5hcHBlbmRUbyh0KSxpPSQoJzx0ZCB3aWR0aD0iNTAlIj4nKSxpLmFwcGVuZFRvKHQpLG49JCgnPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+Jyksbi5hcHBlbmRUbyhvKSxuLmFkZENsYXNzKCJwcm9wZXJ0eS1wYWdlIiksYT0kKCc8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIj4nKSxhLmFwcGVuZFRvKGkpLGEuYWRkQ2xhc3MoInByb3BlcnR5LXBhZ2UiKSwkKCI8dHI+PHRkIGFsaWduPSdjZW50ZXInIGNvbHNwYW49JzQnPiIrJC50KCJQcmljZSBMZXZlbHMiKSsiPC90ZD48L3RyPiIpLmFwcGVuZFRvKG4pLCQoIjx0cj48dGQgYWxpZ249J2NlbnRlcicgY29sc3Bhbj0nNCc+IiskLnQoIlRpbWUgTGV2ZWxzIikrIjwvdGQ+PC90cj4iKS5hcHBlbmRUbyhhKSxwPTE7cDw9NztwKyspaD0iaGxldmVsIitwLHRoaXMuYWRkTGV2ZWxFZGl0b3IobiwiTGV2ZWwgIitwLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKVtoXSk7Zm9yKHA9MTtwPD03O3ArKyloPSJ2bGV2ZWwiK3AsdGhpcy5hZGRMZXZlbEVkaXRvcihhLCJMZXZlbCAiK3AsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpW2hdKTt0aGlzLmFkZE9uZUNvbG9yUHJvcGVydHlXaWRnZXQobiksaS5jc3MoeyJ2ZXJ0aWNhbC1hbGlnbiI6InRvcCJ9KSxDPSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgY2xhc3M9J3Zpc2liaWxpdHktc3dpdGNoJz4iKSx5PSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgY2xhc3M9J3Zpc2liaWxpdHktc3dpdGNoJz4iKSxnPSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgY2xhc3M9J3Zpc2liaWxpdHktc3dpdGNoJz4iKSx3PSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgY2xhc3M9J3Zpc2liaWxpdHktc3dpdGNoJz4iKSxUPSQoJzx0YWJsZSBjbGFzcz0icHJvcGVydHktcGFnZSBwcm9wZXJ0eS1wYWdlLXVucGFkZGVkIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiPicpLmNzcyh7d2lkdGg6IjEwMCUifSksXz0kKCI8dHI+IikuYXBwZW5kVG8oVCksbT0kKCc8dGFibGUgY2xhc3M9InByb3BlcnR5LXBhZ2UiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCI+JykuYXBwZW5kVG8oJCgiPHRkPiIpLmNzcyh7d2lkdGg6IjUwJSJ9KS5hcHBlbmRUbyhfKSksZj0kKCc8dGFibGUgY2xhc3M9InByb3BlcnR5LXBhZ2UiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCI+JykuYXBwZW5kVG8oJCgiPHRkPiIpLmNzcyh7d2lkdGg6IjUwJSJ9KS5hcHBlbmRUbyhfKSksTD10aGlzLmFkZExhYmVsZWRSb3cobSwkLnQoIkxlZnQgTGFiZWxzIiksQyksDQokKCI8dGQ+IikuYXBwZW5kKEMpLnByZXBlbmRUbyhMKSxMPXRoaXMuYWRkTGFiZWxlZFJvdyhmLCQudCgiUmlnaHQgTGFiZWxzIikseSksJCgiPHRkPiIpLmFwcGVuZCh5KS5wcmVwZW5kVG8oTCksTD10aGlzLmFkZExhYmVsZWRSb3cobSwkLnQoIlRvcCBMYWJlbHMiKSxnKSwkKCI8dGQ+IikuYXBwZW5kKGcpLnByZXBlbmRUbyhMKSxMPXRoaXMuYWRkTGFiZWxlZFJvdyhmLCQudCgiQm90dG9tIExhYmVscyIpLHcpLCQoIjx0ZD4iKS5hcHBlbmQodykucHJlcGVuZFRvKEwpLHRoaXMuYmluZENvbnRyb2wobmV3IHIoQyx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuc2hvd0xlZnRMYWJlbHMsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgR2FubiBTcXVhcmUgTGVmdCBMYWJlbHMgVmlzaWJpbGl0eSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyByKHksdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnNob3dSaWdodExhYmVscywhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBHYW5uIFNxdWFyZSBSaWdodCBMYWJlbHMgVmlzaWJpbGl0eSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyByKGcsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnNob3dUb3BMYWJlbHMsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgR2FubiBTcXVhcmUgVG9wIExhYmVscyBWaXNpYmlsaXR5IikpLHRoaXMuYmluZENvbnRyb2wobmV3IHIodyx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuc2hvd0JvdHRvbUxhYmVscywhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBHYW5uIFNxdWFyZSBCb3R0b20gTGFiZWxzIFZpc2liaWxpdHkiKSksdj0kKCc8dGFibGUgY2xhc3M9InByb3BlcnR5LXBhZ2UiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+Jyksaz1iKCksUz1jKCksUD10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCkseD0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnIGNsYXNzPSd2aXNpYmlsaXR5LXN3aXRjaCc+IiksTD10aGlzLmFkZExhYmVsZWRSb3codiwkLnQoIkdyaWQiKSx4KSwkKCI8dGQ+IikuYXBwZW5kKHgpLnByZXBlbmRUbyhMKSwkKCI8dGQ+IikuYXBwZW5kKFApLmFwcGVuZFRvKEwpLCQoIjx0ZD4iKS5hcHBlbmQoaykuYXBwZW5kVG8oTCksJCgiPHRkPiIpLmFwcGVuZChTLnJlbmRlcigpKS5hcHBlbmRUbyhMKSx0aGlzLmJpbmRDb250cm9sKG5ldyByKHgsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmdyaWQudmlzaWJsZSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBGaWIgU3BlZWQgUmVzaXN0YW5jZSBGYW4gR3JpZCBWaXNpYmlsaXR5IikpLHRoaXMuYmluZENvbnRyb2wobmV3IGwoUCx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuZ3JpZC5jb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBGaWIgU3BlZWQgUmVzaXN0YW5jZSBGYW4gR3JpZCBMaW5lIENvbG9yIiwwKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcyhTLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5ncmlkLmxpbmVzdHlsZSxwYXJzZUludCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBGaWIgU3BlZWQgUmVzaXN0YW5jZSBGYW4gR3JpZCBMaW5lIFN0eWxlIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGQoayx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuZ3JpZC5saW5ld2lkdGgsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgRmliIFNwZWVkIFJlc2lzdGFuY2UgRmFuIEdyaWQgTGluZSBXaWR0aCIpKSx0aGlzLl90YWJsZT10aGlzLl90YWJsZS5hZGQoVCkuYWRkKHYpLEw9JCgiPHRyPiIpLEwuYXBwZW5kVG8odikseD0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnIGNsYXNzPSd2aXNpYmlsaXR5LXN3aXRjaCc+IiksJCgiPHRkPiIpLmFwcGVuZCh4KS5hcHBlbmRUbyhMKSx0aGlzLmNyZWF0ZUxhYmVsZWRDZWxsKCJCYWNrZ3JvdW5kIix4KS5hcHBlbmRUbyhMKSxCPXUoKSwkKCc8dGQgY29sc3Bhbj0iMyI+JykuYXBwZW5kKEIpLmFwcGVuZFRvKEwpLHRoaXMuYmluZENvbnRyb2wobmV3IHIoeCx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuZmlsbEJhY2tncm91bmQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgRmliIFNwZWVkL1Jlc2lzdGFuY2UgRmFuIEJhY2tncm91bmQgVmlzaWJpbGl0eSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBkKEIsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnRyYW5zcGFyZW5jeSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBGaWIgU3BlZWQvUmVzaXN0YW5jZSBGYW4gQmFja2dyb3VuZCBUcmFuc3BhcmVuY3kiKSksdGhpcy5sb2FkRGF0YSgpfSxpLnByb3RvdHlwZS53aWRnZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdGFibGV9LGUuZXhwb3J0cz1pfSw3NzY6ZnVuY3Rpb24oZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUsdCxvKXtuLmNhbGwodGhpcyxlLHQsbyksdGhpcy5wcmVwYXJlTGF5b3V0KCl9dmFyIG49bygxNCksYT1vKDEwKSxyPWEuU2ltcGxlQ29tYm9CaW5kZXIsbD1hLkNvbG9yQmluZGluZyxwPWEuU2xpZGVyQmluZGVyLHM9bygzMSkuY3JlYXRlTGluZVN0eWxlRWRpdG9yLGQ9bygxNSkuY3JlYXRlTGluZVdpZHRoRWRpdG9yO2luaGVyaXQoaSxuKSxpLnByb3RvdHlwZS5wcmVwYXJlTGF5b3V0PWZ1bmN0aW9uKCl7dmFyIGUsdCxvLGksbjt0aGlzLl90YWJsZT0kKCc8dGFibGUgY2xhc3M9InByb3BlcnR5LXBhZ2UiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+JyksZT0kKCI8dGJvZHk+IikuYXBwZW5kVG8odGhpcy5fdGFibGUpLHQ9ZCgpLG89cygpLGk9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLG49dGhpcy5hZGRMYWJlbGVkUm93KGUsIkxpbmUiKSwkKCI8dGQ+IikuYXBwZW5kKGkpLmFwcGVuZFRvKG4pLCQoIjx0ZD4iKS5hcHBlbmQodCkuYXBwZW5kVG8obiksJCgnPHRkIGNvbHNwYW49IjMiPicpLmFwcGVuZChvLnJlbmRlcigpKS5hcHBlbmRUbyhuKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKGksdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmxpbmVjb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBGaWIgU3BpcmFsIExpbmUgQ29sb3IiKSksDQp0aGlzLmJpbmRDb250cm9sKG5ldyByKG8sdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmxpbmVzdHlsZSxwYXJzZUludCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBGaWIgU3BpcmFsIExpbmUgU3R5bGUiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcCh0LHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5saW5ld2lkdGgsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgRmliIFNwaXJhbCBMaW5lIFdpZHRoIikpLHRoaXMubG9hZERhdGEoKX0saS5wcm90b3R5cGUud2lkZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3RhYmxlfSxlLmV4cG9ydHM9aX0sNzc3OmZ1bmN0aW9uKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlLHQsbyl7bi5jYWxsKHRoaXMsZSx0LG8pLHRoaXMucHJlcGFyZUxheW91dCgpfXZhciBuPW8oMTQpLGE9bygxMCkscj1hLkZsb2F0QmluZGVyLGw9YS5Cb29sZWFuQmluZGVyLHA9YS5Db2xvckJpbmRpbmcscz1hLlNpbXBsZUNvbWJvQmluZGVyLGQ9YS5TbGlkZXJCaW5kZXIsaD1vKDQ3KS5hZGRDb2xvclBpY2tlcixjPW8oMzEpLmNyZWF0ZUxpbmVTdHlsZUVkaXRvcixiPW8oMTUpLmNyZWF0ZUxpbmVXaWR0aEVkaXRvcix1PW8oNjUpLmNyZWF0ZVRyYW5zcGFyZW5jeUVkaXRvcjtpbmhlcml0KGksbiksaS5wcm90b3R5cGUuYWRkTGV2ZWxFZGl0b3I9ZnVuY3Rpb24oZSx0LG8pe3ZhciBpLG4sYSx1LEMseSxnLHcsVCxfLG09JCgiPHRyPiIpO20uYXBwZW5kVG8odGhpcy5fdGFibGUpLGk9JCgiPHRkPiIpLGkuYXBwZW5kVG8obSksbj0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnIGNsYXNzPSd2aXNpYmlsaXR5LXN3aXRjaCc+Iiksbi5hcHBlbmRUbyhpKSxlPyhhPSQoIjx0ZD4iKSxhLmFwcGVuZFRvKG0pLHU9JCgiPGlucHV0IHR5cGU9J3RleHQnPiIpLHUuYXBwZW5kVG8oYSksdS5jc3MoIndpZHRoIiwiNzBweCIpLHRoaXMuYmluZENvbnRyb2wobmV3IHIodSx0LmNvZWZmLCExLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFBpdGNoZm9yayBMaW5lIENvZWZmIikpKTp0aGlzLmNyZWF0ZUxhYmVsZWRDZWxsKCQudCgiVHJlbmQgTGluZSIpLG4pLmFwcGVuZFRvKG0pLEM9JCgiPHRkIGNsYXNzPSdjb2xvcnBpY2tlci1jZWxsJz4iKSxDLmFwcGVuZFRvKG0pLHk9aChDKSxnPSQoIjx0ZD4iKSxnLmFwcGVuZFRvKG0pLHc9YigpLHcuYXBwZW5kVG8oZyksVD0kKCI8dGQ+IiksVC5hcHBlbmRUbyhtKSxfPWMoKSxfLnJlbmRlcigpLmFwcGVuZFRvKFQpLHRoaXMuYmluZENvbnRyb2wobmV3IGwobix0LnZpc2libGUsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUGl0Y2hmb3JrIExpbmUgVmlzaWJpbGl0eSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKHksdC5jb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBQaXRjaGZvcmsgTGluZSBDb2xvciIsMCkpLHRoaXMuYmluZENvbnRyb2wobmV3IHMoXyx0LmxpbmVzdHlsZSxwYXJzZUludCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBQaXRjaGZvcmsgTGluZSBTdHlsZSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBkKHcsdC5saW5ld2lkdGgscGFyc2VJbnQsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUGl0Y2hmb3JrIExpbmUgV2lkdGgiKSl9LGkucHJvdG90eXBlLnByZXBhcmVMYXlvdXQ9ZnVuY3Rpb24oKXt2YXIgZSx0LG8saSxuLGEscixwLGg7Zm9yKHRoaXMuX3RhYmxlPSQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGFibGUiKSksdGhpcy5fdGFibGUuYWRkQ2xhc3MoInByb3BlcnR5LXBhZ2UiKSx0aGlzLl90YWJsZS5hdHRyKCJjZWxsc3BhY2luZyIsIjAiKSx0aGlzLl90YWJsZS5hdHRyKCJjZWxscGFkZGluZyIsIjIiKSxlPTE7ZTw9MTE7ZSsrKXQ9ImxldmVsIitlLHRoaXMuYWRkTGV2ZWxFZGl0b3IoIkxldmVsICIrZSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKClbdF0sITEpO3RoaXMuYWRkT25lQ29sb3JQcm9wZXJ0eVdpZGdldCh0aGlzLl90YWJsZSksbz0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnIGNsYXNzPSd2aXNpYmlsaXR5LXN3aXRjaCc+IiksaT10aGlzLmFkZExhYmVsZWRSb3codGhpcy5fdGFibGUsJC50KCJTaG93IExhYmVscyIpLG8pLCQoIjx0ZD4iKS5hcHBlbmQobykucHJlcGVuZFRvKGkpLG49JCgiPHRhYmxlIGNlbGxzcGFjaW5nPScwJyBjZWxscGFkZGluZz0nMCc+IiksYT0kKCI8c2VsZWN0PjxvcHRpb24gdmFsdWU9J2xlZnQnPiIrJC50KCJsZWZ0IikrIjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J2NlbnRlcic+IiskLnQoImNlbnRlciIpKyI8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdyaWdodCc+IiskLnQoInJpZ2h0IikrIjwvb3B0aW9uPjwvc2VsZWN0PiIpLHI9JCgiPHNlbGVjdD48b3B0aW9uIHZhbHVlPSd0b3AnPiIrJC50KCJ0b3AiKSsiPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nbWlkZGxlJz4iKyQudCgibWlkZGxlIikrIjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J2JvdHRvbSc+IiskLnQoImJvdHRvbSIpKyI8L29wdGlvbj48L3NlbGVjdD4iKSxpPSQoIjx0cj4iKSxpLmFwcGVuZCgiPHRkPiIrJC50KCJMYWJlbHMiKSsiPC90ZD4iKS5hcHBlbmQoYSkuYXBwZW5kKCI8dGQ+Jm5ic3A8L3RkPiIpLmFwcGVuZChyKSxpLmFwcGVuZFRvKG4pLGk9JCgiPHRyPiIpLCQoIjx0ZCBjb2xzcGFuPSc1Jz4iKS5hcHBlbmQobikuYXBwZW5kVG8oaSksaS5hcHBlbmRUbyh0aGlzLl90YWJsZSksdGhpcy5iaW5kQ29udHJvbChuZXcgcyhhLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5ob3J6TGFiZWxzQWxpZ24sbnVsbCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBGaWIgVGltZSBab25lIExhYmVscyBBbGlnbm1lbnQiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcyhyLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS52ZXJ0TGFiZWxzQWxpZ24sbnVsbCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBGaWIgVGltZSBab25lIExhYmVscyBBbGlnbm1lbnQiKSksaT0kKCI8dHI+IiksaS5hcHBlbmRUbyh0aGlzLl90YWJsZSkscD0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnIGNsYXNzPSd2aXNpYmlsaXR5LXN3aXRjaCc+IiksJCgiPHRkPiIpLmFwcGVuZChwKS5hcHBlbmRUbyhpKSwNCnRoaXMuY3JlYXRlTGFiZWxlZENlbGwoJC50KCJCYWNrZ3JvdW5kIikscCkuYXBwZW5kVG8oaSksaD11KCksJCgnPHRkIGNvbHNwYW49IjMiPicpLmFwcGVuZChoKS5hcHBlbmRUbyhpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKG8sdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnNob3dMYWJlbHMsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgRmliIFRpbWUgWm9uZSBMYWJlbHMgVmlzaWJpbGl0eSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBkKGgsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnRyYW5zcGFyZW5jeSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBGaWIgUmV0cmFjZW1lbnQgQmFja2dyb3VuZCBUcmFuc3BhcmVuY3kiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgbChwLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5maWxsQmFja2dyb3VuZCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBGaWIgUmV0cmFjZW1lbnQgQmFja2dyb3VuZCBWaXNpYmlsaXR5IikpLHRoaXMubG9hZERhdGEoKX0saS5wcm90b3R5cGUud2lkZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3RhYmxlfSxlLmV4cG9ydHM9aX0sNzc4OmZ1bmN0aW9uKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlLHQsbyl7bi5jYWxsKHRoaXMsZSx0LG8pfXZhciBuPW8oMjY3KTtpbmhlcml0KGksbiksZS5leHBvcnRzPWl9LDc3OTpmdW5jdGlvbihlLHQsbyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0LG8pe24uY2FsbCh0aGlzLGUsdCxvKSx0aGlzLnByZXBhcmVMYXlvdXQoKX12YXIgbj1vKDE0KSxhPW8oMTApLHI9YS5GbG9hdEJpbmRlcixsPWEuQm9vbGVhbkJpbmRlcixwPWEuU2xpZGVyQmluZGVyLHM9YS5TaW1wbGVDb21ib0JpbmRlcixkPWEuQ29sb3JCaW5kaW5nLGg9byg0NykuYWRkQ29sb3JQaWNrZXIsYz1vKDMxKS5jcmVhdGVMaW5lU3R5bGVFZGl0b3IsYj1vKDE1KS5jcmVhdGVMaW5lV2lkdGhFZGl0b3IsdT1vKDY1KS5jcmVhdGVUcmFuc3BhcmVuY3lFZGl0b3I7aW5oZXJpdChpLG4pLGkucHJvdG90eXBlLmFkZExldmVsRWRpdG9yPWZ1bmN0aW9uKGUsdCxvKXt2YXIgaSxuLGEsdSxDLHksZyx3LFQsXyxtPSQoIjx0cj4iKTttLmFwcGVuZFRvKHRoaXMuX3RhYmxlKSxpPSQoIjx0ZD4iKSxpLmFwcGVuZFRvKG0pLG49JCgiPGlucHV0IHR5cGU9J2NoZWNrYm94JyBjbGFzcz0ndmlzaWJpbGl0eS1zd2l0Y2gnPiIpLG4uYXBwZW5kVG8oaSksZT8oYT0kKCI8dGQ+IiksYS5hcHBlbmRUbyhtKSx1PSQoIjxpbnB1dCB0eXBlPSd0ZXh0Jz4iKSx1LmFwcGVuZFRvKGEpLHUuY3NzKCJ3aWR0aCIsIjcwcHgiKSx0aGlzLmJpbmRDb250cm9sKG5ldyByKHUsdC5jb2VmZiwhMSx0aGlzLm1vZGVsKCksIkNoYW5nZSBQaXRjaGZvcmsgTGluZSBDb2VmZiIpKSk6dGhpcy5jcmVhdGVMYWJlbGVkQ2VsbCgkLnQoIlRyZW5kIExpbmUiKSxuKS5hcHBlbmRUbyhtKSxDPSQoIjx0ZCBjbGFzcz0nY29sb3JwaWNrZXItY2VsbCc+IiksQy5hcHBlbmRUbyhtKSx5PWgoQyksZz0kKCI8dGQ+IiksZy5hcHBlbmRUbyhtKSx3PWIoKSx3LmFwcGVuZFRvKGcpLFQ9JCgiPHRkPiIpLFQuYXBwZW5kVG8obSksXz1jKCksXy5yZW5kZXIoKS5hcHBlbmRUbyhUKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKG4sdC52aXNpYmxlLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFBpdGNoZm9yayBMaW5lIFZpc2liaWxpdHkiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgZCh5LHQuY29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUGl0Y2hmb3JrIExpbmUgQ29sb3IiLDApKSx0aGlzLmJpbmRDb250cm9sKG5ldyBzKF8sdC5saW5lc3R5bGUscGFyc2VJbnQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUGl0Y2hmb3JrIExpbmUgU3R5bGUiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcCh3LHQubGluZXdpZHRoLHBhcnNlSW50LHRoaXMubW9kZWwoKSwiQ2hhbmdlIFBpdGNoZm9yayBMaW5lIFdpZHRoIikpfSxpLnByb3RvdHlwZS5wcmVwYXJlTGF5b3V0PWZ1bmN0aW9uKCl7dmFyIGUsdCxvLGksbixhLHIsZCxoLGMsYjtmb3IodGhpcy5fdGFibGU9JChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0YWJsZSIpKSx0aGlzLl90YWJsZS5hZGRDbGFzcygicHJvcGVydHktcGFnZSIpLHRoaXMuX3RhYmxlLmF0dHIoImNlbGxzcGFjaW5nIiwiMCIpLHRoaXMuX3RhYmxlLmF0dHIoImNlbGxwYWRkaW5nIiwiMiIpLHRoaXMuYWRkTGV2ZWxFZGl0b3IobnVsbCx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkudHJlbmRsaW5lLCExKSxlPTE7ZTw9MTE7ZSsrKXQ9ImxldmVsIitlLHRoaXMuYWRkTGV2ZWxFZGl0b3IoJC50KCJMZXZlbCB7MH0iKS5mb3JtYXQoZSksdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpW3RdLCExKTt0aGlzLmFkZE9uZUNvbG9yUHJvcGVydHlXaWRnZXQodGhpcy5fdGFibGUpLG89JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIHByb3BlcnR5LXBhZ2UtdW5wYWRkZWQiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCI+JykuY3NzKHt3aWR0aDoiMTAwJSJ9KSxpPSQoIjx0cj4iKS5hcHBlbmRUbyhvKSwkKCc8dGFibGUgY2xhc3M9InByb3BlcnR5LXBhZ2UiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCI+JykuYXBwZW5kVG8oJCgiPHRkPiIpLmNzcyh7d2lkdGg6IjUwJSJ9KS5hcHBlbmRUbyhpKSksJCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiPicpLmFwcGVuZFRvKCQoIjx0ZD4iKS5jc3Moe3dpZHRoOiI1MCUifSkuYXBwZW5kVG8oaSkpLG49JCgiPGlucHV0IHR5cGU9J2NoZWNrYm94JyBjbGFzcz0ndmlzaWJpbGl0eS1zd2l0Y2gnPiIpLGE9dGhpcy5hZGRMYWJlbGVkUm93KHRoaXMuX3RhYmxlLCQudCgiU2hvdyBMYWJlbHMiKSxuKSwkKCI8dGQ+IikuYXBwZW5kKG4pLnByZXBlbmRUbyhhKSxyPSQoIjx0YWJsZSBjZWxsc3BhY2luZz0nMCcgY2VsbHBhZGRpbmc9JzAnPiIpLA0KZD0kKCI8c2VsZWN0PjxvcHRpb24gdmFsdWU9J2xlZnQnPiIrJC50KCJsZWZ0IikrIjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J2NlbnRlcic+IiskLnQoImNlbnRlciIpKyI8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdyaWdodCc+IiskLnQoInJpZ2h0IikrIjwvb3B0aW9uPjwvc2VsZWN0PiIpLGg9JCgiPHNlbGVjdD48b3B0aW9uIHZhbHVlPSd0b3AnPiIrJC50KCJ0b3AiKSsiPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nbWlkZGxlJz4iKyQudCgibWlkZGxlIikrIjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J2JvdHRvbSc+IiskLnQoImJvdHRvbSIpKyI8L29wdGlvbj48L3NlbGVjdD4iKSxhPSQoIjx0cj4iKSxhLmFwcGVuZCgiPHRkPiIrJC50KCJMYWJlbHMiKSsiPC90ZD4iKS5hcHBlbmQoZCkuYXBwZW5kKCI8dGQ+Jm5ic3A8L3RkPiIpLmFwcGVuZChoKSxhLmFwcGVuZFRvKHIpLGE9JCgiPHRyPiIpLCQoIjx0ZCBjb2xzcGFuPSc1Jz4iKS5hcHBlbmQocikuYXBwZW5kVG8oYSksYS5hcHBlbmRUbyh0aGlzLl90YWJsZSksdGhpcy5iaW5kQ29udHJvbChuZXcgcyhkLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5ob3J6TGFiZWxzQWxpZ24sbnVsbCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUcmVuZC1CYXNlZCBGaWIgVGltZSBMYWJlbHMgQWxpZ25tZW50IikpLHRoaXMuYmluZENvbnRyb2wobmV3IHMoaCx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkudmVydExhYmVsc0FsaWduLG51bGwsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVHJlbmQtQmFzZWQgRmliIFRpbWUgTGFiZWxzIEFsaWdubWVudCIpKSxhPSQoIjx0cj4iKSxhLmFwcGVuZFRvKHRoaXMuX3RhYmxlKSxjPSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgY2xhc3M9J3Zpc2liaWxpdHktc3dpdGNoJz4iKSwkKCI8dGQ+IikuYXBwZW5kKGMpLmFwcGVuZFRvKGEpLHRoaXMuY3JlYXRlTGFiZWxlZENlbGwoJC50KCJCYWNrZ3JvdW5kIiksYykuYXBwZW5kVG8oYSksYj11KCksJCgnPHRkIGNvbHNwYW49IjMiPicpLmFwcGVuZChiKS5hcHBlbmRUbyhhKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKGMsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmZpbGxCYWNrZ3JvdW5kLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEZpYiBSZXRyYWNlbWVudCBCYWNrZ3JvdW5kIFZpc2liaWxpdHkiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcChiLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS50cmFuc3BhcmVuY3ksITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgRmliIFJldHJhY2VtZW50IEJhY2tncm91bmQgVHJhbnNwYXJlbmN5IikpLHRoaXMuYmluZENvbnRyb2wobmV3IGwobix0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuc2hvd0NvZWZmcywhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBGaWIgUmV0cmFjZW1lbnQgRXh0ZW5kIExpbmVzIikpLHRoaXMubG9hZERhdGEoKX0saS5wcm90b3R5cGUud2lkZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3RhYmxlfSxlLmV4cG9ydHM9aX0sNzgwOmZ1bmN0aW9uKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlLHQsbyl7bi5jYWxsKHRoaXMsZSx0LG8pLHRoaXMucHJlcGFyZUxheW91dCgpfXZhciBuPW8oMTQpLGE9bygxMCkscj1hLkZsb2F0QmluZGVyLGw9YS5Cb29sZWFuQmluZGVyLHA9YS5Db2xvckJpbmRpbmcscz1hLlNsaWRlckJpbmRlcixkPW8oNDcpLmFkZENvbG9yUGlja2VyLGg9bygxNSkuY3JlYXRlTGluZVdpZHRoRWRpdG9yLGM9byg2NSkuY3JlYXRlVHJhbnNwYXJlbmN5RWRpdG9yO2luaGVyaXQoaSxuKSxpLnByb3RvdHlwZS5hZGRMZXZlbEVkaXRvcj1mdW5jdGlvbihlLHQsbyl7dmFyIGksbixhLGMsYix1LEMseSxnPSQoIjx0cj4iKTtnLmFwcGVuZFRvKHRoaXMuX3RhYmxlKSxpPSQoIjx0ZD4iKSxpLmFwcGVuZFRvKGcpLG49JCgiPGlucHV0IHR5cGU9J2NoZWNrYm94JyBjbGFzcz0ndmlzaWJpbGl0eS1zd2l0Y2gnPiIpLG4uYXBwZW5kVG8oaSksZT8oYT0kKCI8dGQ+IiksYS5hcHBlbmRUbyhnKSxjPSQoIjxpbnB1dCB0eXBlPSd0ZXh0Jz4iKSxjLmFwcGVuZFRvKGEpLGMuY3NzKCJ3aWR0aCIsIjcwcHgiKSx0aGlzLmJpbmRDb250cm9sKG5ldyByKGMsdC5jb2VmZiwhMSx0aGlzLm1vZGVsKCksIkNoYW5nZSBQaXRjaGZvcmsgTGluZSBDb2VmZiIpKSk6dGhpcy5jcmVhdGVMYWJlbGVkQ2VsbCgiVHJlbmQgTGluZSIsbikuYXBwZW5kVG8oZyksYj0kKCI8dGQgY2xhc3M9J2NvbG9ycGlja2VyLWNlbGwnPiIpLGIuYXBwZW5kVG8oZyksdT1kKGIpLEM9JCgiPHRkPiIpLEMuYXBwZW5kVG8oZykseT1oKCkseS5hcHBlbmRUbyhDKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKG4sdC52aXNpYmxlLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEZpYiBXZWRnZSBWaXNpYmlsaXR5IikpLHRoaXMuYmluZENvbnRyb2wobmV3IHAodSx0LmNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEZpYiBXZWRnZSBMaW5lIENvbG9yIiwwKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcyh5LHQubGluZXdpZHRoLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEZpYiBXZWRnZSBXaWR0aCIpKX0saS5wcm90b3R5cGUucHJlcGFyZUxheW91dD1mdW5jdGlvbigpe3ZhciBlLHQsbyxpLG4sYTtmb3IodGhpcy5fdGFibGU9JChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0YWJsZSIpKSx0aGlzLl90YWJsZS5hZGRDbGFzcygicHJvcGVydHktcGFnZSIpLHRoaXMuX3RhYmxlLmF0dHIoImNlbGxzcGFjaW5nIiwiMCIpLHRoaXMuX3RhYmxlLmF0dHIoImNlbGxwYWRkaW5nIiwiMiIpLHRoaXMuYWRkTGV2ZWxFZGl0b3IobnVsbCx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkudHJlbmRsaW5lLCExKSxlPTE7ZTw9MTE7ZSsrKXQ9ImxldmVsIitlLHRoaXMuYWRkTGV2ZWxFZGl0b3IoIkxldmVsICIrZSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKClbdF0sITEpO3RoaXMuYWRkT25lQ29sb3JQcm9wZXJ0eVdpZGdldCh0aGlzLl90YWJsZSksbz0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnIGNsYXNzPSd2aXNpYmlsaXR5LXN3aXRjaCc+IiksaT10aGlzLmFkZExhYmVsZWRSb3codGhpcy5fdGFibGUsIkxldmVscyIsbyksDQokKCI8dGQ+IikuYXBwZW5kKG8pLnByZXBlbmRUbyhpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKG8sdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnNob3dDb2VmZnMsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgRmliIFdlZGdlIExldmVscyBWaXNpYmlsaXR5IikpLGk9JCgiPHRyPiIpLGkuYXBwZW5kVG8odGhpcy5fdGFibGUpLG49JCgiPGlucHV0IHR5cGU9J2NoZWNrYm94JyBjbGFzcz0ndmlzaWJpbGl0eS1zd2l0Y2gnPiIpLCQoIjx0ZD4iKS5hcHBlbmQobikuYXBwZW5kVG8oaSksdGhpcy5jcmVhdGVMYWJlbGVkQ2VsbCgiQmFja2dyb3VuZCIsbikuYXBwZW5kVG8oaSksYT1jKCksJCgnPHRkIGNvbHNwYW49IjMiPicpLmFwcGVuZChhKS5hcHBlbmRUbyhpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKG4sdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmZpbGxCYWNrZ3JvdW5kLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFdlZGdlIEJhY2tncm91bmQgVmlzaWJpbGl0eSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBzKGEsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnRyYW5zcGFyZW5jeSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBXZWRnZSBCYWNrZ3JvdW5kIFRyYW5zcGFyZW5jeSIpKSx0aGlzLmxvYWREYXRhKCl9LGkucHJvdG90eXBlLndpZGdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl90YWJsZX0sZS5leHBvcnRzPWl9LDc4MTpmdW5jdGlvbihlLHQsbyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0LG8pe24uY2FsbCh0aGlzLGUsdCxvKSx0aGlzLnByZXBhcmVMYXlvdXQoKX12YXIgbj1vKDE0KSxhPW8oMTApLHI9YS5TaW1wbGVDb21ib0JpbmRlcixsPWEuQ29sb3JCaW5kaW5nLHA9YS5Cb29sZWFuQmluZGVyLHM9YS5TbGlkZXJCaW5kZXIsZD1vKDMxKS5jcmVhdGVMaW5lU3R5bGVFZGl0b3IsaD1vKDE1KS5jcmVhdGVMaW5lV2lkdGhFZGl0b3I7aW5oZXJpdChpLG4pLGkucHJvdG90eXBlLnByZXBhcmVMYXlvdXQ9ZnVuY3Rpb24oKXt2YXIgZSx0LG8saSxuLGEsYyxiLHUsQyx5LGcsdyxULF8sbSxmLEwsdixrLFMsUCx4LEI7dGhpcy5fdGFibGU9JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPicpLGU9JCgiPHRib2R5PiIpLmFwcGVuZFRvKHRoaXMuX3RhYmxlKSx0PWgoKSxvPWQoKSxpPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxuPXRoaXMuYWRkTGFiZWxlZFJvdyhlLCQudCgiTGluZSIpKSwkKCI8dGQ+IikuYXBwZW5kKGkpLmFwcGVuZFRvKG4pLCQoIjx0ZD4iKS5hcHBlbmQodCkuYXBwZW5kVG8obiksJCgnPHRkIGNvbHNwYW49IjMiPicpLmFwcGVuZChvLnJlbmRlcigpKS5hcHBlbmRUbyhuKSxuPXRoaXMuYWRkTGFiZWxlZFJvdyhlLCQudCgiVGV4dCIpKSxhPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxjPXRoaXMuY3JlYXRlRm9udFNpemVFZGl0b3IoKSxiPXRoaXMuY3JlYXRlRm9udEVkaXRvcigpLHU9JCgnPHNwYW4gY2xhc3M9Il90di1idXR0b24gX3R2LWJ1dHRvbi1mb250c3R5bGUiPjxzcGFuIGNsYXNzPSJpY29uLWZvbnRzdHlsZS1ib2xkIj48L3NwYW4+PC9zcGFuPicpLEM9JCgnPHNwYW4gY2xhc3M9Il90di1idXR0b24gX3R2LWJ1dHRvbi1mb250c3R5bGUiPjxzcGFuIGNsYXNzPSJpY29uLWZvbnRzdHlsZS1pdGFsaWMiPjwvc3Bhbj48L3NwYW4+JyksJCgiPHRkPiIpLmFwcGVuZChhKS5hcHBlbmRUbyhuKSwkKCI8dGQ+IikuYXBwZW5kKGIpLmFwcGVuZFRvKG4pLCQoIjx0ZD4iKS5hcHBlbmQoYykuYXBwZW5kVG8obiksJCgiPHRkPiIpLmFwcGVuZCh1KS5hcHBlbmRUbyhuKSwkKCI8dGQ+IikuYXBwZW5kKEMpLmFwcGVuZFRvKG4pLHk9JCgiPHRib2R5PiIpLmFwcGVuZFRvKHRoaXMuX3RhYmxlKSxnPSQoJzxpbnB1dCB0eXBlPSJjaGVja2JveCIgY2xhc3M9InZpc2liaWxpdHktc3dpdGNoIj4nKSx3PXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxuPXRoaXMuYWRkTGFiZWxlZFJvdyh5LCQudCgiQmFja2dyb3VuZCIpLGcpLFQ9JCgiPHRhYmxlPiIpLCQoJzx0ZCBjb2xzcGFuPSI1Ij4nKS5hcHBlbmQoVCkuYXBwZW5kVG8obiksbj0kKCI8dHI+IikuYXBwZW5kVG8oVCksJCgiPHRkPiIpLmFwcGVuZChnKS5hcHBlbmRUbyhuKSwkKCI8dGQ+IikuYXBwZW5kKHcpLmFwcGVuZFRvKG4pLF89JCgiPHRib2R5PiIpLmFwcGVuZFRvKHRoaXMuX3RhYmxlKSxtPSQoIjxsYWJlbD4iKyQudCgiRXh0ZW5kIikrIiA8L2xhYmVsPiIpLmNzcyh7Im1hcmdpbi1sZWZ0IjoiOHB4In0pLGY9JCgnPGlucHV0IHR5cGU9ImNoZWNrYm94Ij4nKS5hcHBlbmRUbyhtKSxMPSQoIjxsYWJlbD4iKyQudCgiRXh0ZW5kIikrIiA8L2xhYmVsPiIpLmNzcyh7Im1hcmdpbi1sZWZ0IjoiOHB4In0pLHY9JCgnPGlucHV0IHR5cGU9ImNoZWNrYm94Ij4nKS5hcHBlbmRUbyhMKSxrPSQoIjxzZWxlY3Q+PG9wdGlvbiB2YWx1ZT0nMCc+IiskLnQoIk5vcm1hbCIpKyI8L29wdGlvbj48b3B0aW9uIHZhbHVlPScxJz4iKyQudCgiQXJyb3ciKSsiPC9vcHRpb24+PC9zZWxlY3Q+IiksUz0kKCI8c2VsZWN0PjxvcHRpb24gdmFsdWU9JzAnPiIrJC50KCJOb3JtYWwiKSsiPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nMSc+IiskLnQoIkFycm93IikrIjwvb3B0aW9uPjwvc2VsZWN0PiIpLG49dGhpcy5hZGRMYWJlbGVkUm93KF8sJC50KCJMZWZ0IEVuZCIpKSwkKCc8dGQgY29sc3Bhbj0iMyI+JykuYXBwZW5kVG8obikuYXBwZW5kKGspLmFwcGVuZChtKSxuPXRoaXMuYWRkTGFiZWxlZFJvdyhfLCQudCgiUmlnaHQgRW5kIikpLCQoJzx0ZCBjb2xzcGFuPSIzIj4nKS5hcHBlbmRUbyhuKS5hcHBlbmQoUykuYXBwZW5kKEwpLFA9JCgiPHRib2R5PiIpLmFwcGVuZFRvKHRoaXMuX3RhYmxlKSxuPSQoIjx0cj4iKS5hcHBlbmRUbyhQKSx4PSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCc+IiksQj0kKCI8bGFiZWwgc3R5bGU9J2Rpc3BsYXk6YmxvY2snPiIpLmFwcGVuZCh4KS5hcHBlbmQoJC50KCJTaG93IFByaWNlcyIpKSwkKCI8dGQgY29sc3Bhbj0nMic+IikuYXBwZW5kKEIpLmFwcGVuZFRvKG4pLA0KdGhpcy5iaW5kQ29udHJvbChuZXcgcihjLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5mb250c2l6ZSxwYXJzZUludCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUZXh0IEZvbnQgU2l6ZSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyByKGIsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmZvbnQsbnVsbCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUZXh0IEZvbnQiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgbChhLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS50ZXh0Y29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVGV4dCBDb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKHUsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmJvbGQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVGV4dCBGb250IEJvbGQiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcChDLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5pdGFsaWMsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVGV4dCBGb250IEl0YWxpYyIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKHgsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnNob3dQcmljZXMsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgRGlzam9pbnQgQW5nbGUgU2hvdyBQcmljZXMiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcChmLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5leHRlbmRMZWZ0LCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIERpc2pvaW50IEFuZ2xlIEV4dGVuZGluZyBMZWZ0IikpLHRoaXMuYmluZENvbnRyb2wobmV3IHAodix0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuZXh0ZW5kUmlnaHQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgRGlzam9pbnQgQW5nbGUgRXh0ZW5kaW5nIFJpZ2h0IikpLHRoaXMuYmluZENvbnRyb2wobmV3IGwoaSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkubGluZWNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIERpc2pvaW50IEFuZ2xlIENvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHIobyx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkubGluZXN0eWxlLHBhcnNlSW50LCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIERpc2pvaW50IEFuZ2xlIFN0eWxlIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHModCx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkubGluZXdpZHRoLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIERpc2pvaW50IEFuZ2xlIFdpZHRoIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHIoayx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkubGVmdEVuZCxwYXJzZUludCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBEaXNqb2ludCBBbmdsZSBMZWZ0IEVuZCIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyByKFMsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnJpZ2h0RW5kLHBhcnNlSW50LCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIERpc2pvaW50IEFuZ2xlIFJpZ2h0IEVuZCIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKGcsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmZpbGxCYWNrZ3JvdW5kLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIERpc2pvaW50IEFuZ2xlIEZpbGxpbmciKSksdGhpcy5iaW5kQ29udHJvbChuZXcgbCh3LHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5iYWNrZ3JvdW5kQ29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgRGlzam9pbnQgQW5nbGUgQmFja2dyb3VuZCBDb2xvciIsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnRyYW5zcGFyZW5jeSkpLHRoaXMubG9hZERhdGEoKX0saS5wcm90b3R5cGUud2lkZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3RhYmxlfSxlLmV4cG9ydHM9aX0sNzgyOmZ1bmN0aW9uKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlLHQsbyl7bi5jYWxsKHRoaXMsZSx0LG8pLHRoaXMucHJlcGFyZUxheW91dCgpfXZhciBuPW8oMTQpLGE9bygxMCkscj1hLkJvb2xlYW5CaW5kZXIsbD1hLlNsaWRlckJpbmRlcixwPWEuQ29sb3JCaW5kaW5nLHM9byg0NykuYWRkQ29sb3JQaWNrZXIsZD1vKDE1KS5jcmVhdGVMaW5lV2lkdGhFZGl0b3IsaD1vKDY1KS5jcmVhdGVUcmFuc3BhcmVuY3lFZGl0b3I7aW5oZXJpdChpLG4pLGkucHJvdG90eXBlLmFkZE9uZUNvbG9yUHJvcGVydHlXaWRnZXQ9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5jcmVhdGVPbmVDb2xvckZvckFsbExpbmVzV2lkZ2V0KCksbz0kKCI8dHI+Iik7by5hcHBlbmQoJCgiPHRkPiIpKS5hcHBlbmQoJCgiPHRkPiIpKS5hcHBlbmQodC5lZGl0b3IpLmFwcGVuZCgkKCI8dGQ+IikuYXBwZW5kKHQubGFiZWwpKSxvLmFwcGVuZFRvKGUpfSxpLnByb3RvdHlwZS5wcmVwYXJlTGF5b3V0PWZ1bmN0aW9uKCl7dmFyIGUsdCxvLGksbixhLGMsYix1LEMseSxnLHcsVCxfLG0sZixMLHYsayxTLFAseCxCLEUsUixGO3RoaXMuX3RhYmxlPSQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGFibGUiKSksdGhpcy5fdGFibGUuYWRkQ2xhc3MoInByb3BlcnR5LXBhZ2UgcHJvcGVydHktcGFnZS11bnBhZGRlZCIpLHRoaXMuX3RhYmxlLmF0dHIoImNlbGxzcGFjaW5nIiwiMCIpLHRoaXMuX3RhYmxlLmF0dHIoImNlbGxwYWRkaW5nIiwiMiIpLHRoaXMuX3RhYmxlLmNzcyh7d2lkdGg6IjEwMCUifSksZT0kKCI8dHI+IiksZS5hcHBlbmRUbyh0aGlzLl90YWJsZSksdD10aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCksbz0kKCI8dGFibGU+IiksJCgiPHRkIHZhbGlnbj0ndG9wJz4iKS5hcHBlbmQobykuYXBwZW5kVG8oZSksaT0kKCI8dHI+IiksJCgiPHRkIGNvbHNwYW49JzMnPiIrJC50KCJMZXZlbHMiKSsiPC90ZD4iKS5hcHBlbmRUbyhpKSxpLmFwcGVuZFRvKG8pO2ZvcihuIGluIHQubGV2ZWxzLl9jaGlsZHMpYT10LmxldmVsc1tuXSxjPSQoIjx0cj4iKSxjLmFwcGVuZFRvKG8pLCQoIjx0ZD4iK24rIjwvdGQ+IikuYXBwZW5kVG8oYyksYj0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnIGNsYXNzPSd2aXNpYmlsaXR5LXN3aXRjaCc+IiksJCgiPHRkPiIpLmFwcGVuZChiKS5hcHBlbmRUbyhjKSx1PSQoIjx0ZCBjbGFzcz0nY29sb3JwaWNrZXItY2VsbCc+IiksdS5hcHBlbmRUbyhjKSxDPXModSksDQp5PSQoIjx0ZD4iKSx5LmFwcGVuZFRvKGMpLGc9ZCgpLGcuYXBwZW5kVG8oeSksdGhpcy5iaW5kQ29udHJvbChuZXcgcihiLGEudmlzaWJsZSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBHYW5uIExpbmUgVmlzaWJpbGl0eSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKEMsYS5jb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBHYW5uIExpbmUgQ29sb3IiLDApKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKGcsYS53aWR0aCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBHYW5uIExpbmUgV2lkdGgiKSk7dz0kKCI8dGFibGU+IiksJCgiPHRkIHZhbGlnbj0ndG9wJz4iKS5hcHBlbmQodykuYXBwZW5kVG8oZSksVD0kKCI8dHI+IiksJCgiPHRkIGNvbHNwYW49JzQnPiIrJC50KCJGYW5zIikrIjwvdGQ+IikuYXBwZW5kVG8oVCksVC5hcHBlbmRUbyh3KTtmb3IobiBpbiB0LmZhbmxpbmVzLl9jaGlsZHMpXz10LmZhbmxpbmVzW25dLG09JCgiPHRyPiIpLG0uYXBwZW5kVG8odyksYj0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnIGNsYXNzPSd2aXNpYmlsaXR5LXN3aXRjaCc+IiksJCgiPHRkPiIpLmFwcGVuZChiKS5hcHBlbmRUbyhtKSxmPV8ueC52YWx1ZSgpKyJ4IitfLnkudmFsdWUoKSwkKCI8dGQ+IitmKyI8L3RkPiIpLmFwcGVuZFRvKG0pLHU9JCgiPHRkIGNsYXNzPSdjb2xvcnBpY2tlci1jZWxsJz4iKSx1LmFwcGVuZFRvKG0pLEM9cyh1KSx5PSQoIjx0ZD4iKSx5LmFwcGVuZFRvKG0pLGc9ZCgpLGcuYXBwZW5kVG8oeSksdGhpcy5iaW5kQ29udHJvbChuZXcgcihiLF8udmlzaWJsZSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBHYW5uIExpbmUgVmlzaWJpbGl0eSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKEMsXy5jb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBHYW5uIEZhbiBDb2xvciIsMCkpLHRoaXMuYmluZENvbnRyb2wobmV3IGwoZyxfLndpZHRoLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEdhbm4gTGluZSBXaWR0aCIpKTtMPSQoIjx0YWJsZT4iKSwkKCI8dGQgdmFsaWduPSd0b3AnPiIpLmFwcGVuZChMKS5hcHBlbmRUbyhlKSx2PSQoIjx0cj4iKSwkKCI8dGQgY29sc3Bhbj0nNCc+IiskLnQoIkFyY3MiKSsiPC90ZD4iKS5hcHBlbmRUbyh2KSx2LmFwcGVuZFRvKEwpO2ZvcihuIGluIHQuYXJjcy5fY2hpbGRzKWs9dC5hcmNzW25dLFM9JCgiPHRyPiIpLFMuYXBwZW5kVG8oTCksYj0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnIGNsYXNzPSd2aXNpYmlsaXR5LXN3aXRjaCc+IiksJCgiPHRkPiIpLmFwcGVuZChiKS5hcHBlbmRUbyhTKSxmPWsueC52YWx1ZSgpKyJ4IitrLnkudmFsdWUoKSwkKCI8dGQ+IitmKyI8L3RkPiIpLmFwcGVuZFRvKFMpLHU9JCgiPHRkIGNsYXNzPSdjb2xvcnBpY2tlci1jZWxsJz4iKSx1LmFwcGVuZFRvKFMpLEM9cyh1KSx5PSQoIjx0ZD4iKSx5LmFwcGVuZFRvKFMpLGc9ZCgpLGcuYXBwZW5kVG8oeSksdGhpcy5iaW5kQ29udHJvbChuZXcgcihiLGsudmlzaWJsZSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBHYW5uIExpbmUgVmlzaWJpbGl0eSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKEMsay5jb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBHYW5uIEFyYyBDb2xvciIsMCkpLHRoaXMuYmluZENvbnRyb2wobmV3IGwoZyxrLndpZHRoLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEdhbm4gTGluZSBXaWR0aCIpKTt0aGlzLmFkZE9uZUNvbG9yUHJvcGVydHlXaWRnZXQoTCksUD0kKCI8dGJvZHk+IikuYXBwZW5kVG8odGhpcy5fdGFibGUpLHg9JCgnPGlucHV0IHR5cGU9ImNoZWNrYm94IiBjbGFzcz0idmlzaWJpbGl0eS1zd2l0Y2giPicpLEI9aCgpLEU9JCgiPHRyPiIpLmFwcGVuZFRvKFApLFI9JCgiPHRhYmxlPiIpLCQoJzx0ZCBjb2xzcGFuPSIzIj4nKS5hcHBlbmQoUikuYXBwZW5kVG8oRSksRT0kKCI8dHI+IikuYXBwZW5kVG8oUiksJCgiPHRkPiIpLmFwcGVuZCh4KS5hcHBlbmRUbyhFKSwkKCI8dGQ+IiskLnQoIkJhY2tncm91bmQiKSsiPC90ZD4iKS5hcHBlbmRUbyhFKSwkKCI8dGQ+IikuYXBwZW5kKEIpLmFwcGVuZFRvKEUpLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5yZXZlcnNlJiYoRj0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnIGNsYXNzPSd2aXNpYmlsaXR5LXN3aXRjaCc+IiksRT10aGlzLmFkZExhYmVsZWRSb3coUiwkLnQoIlJldmVyc2UiKSxGLCEwKSwkKCI8dGQ+IikuYXBwZW5kKEYpLnByZXBlbmRUbyhFKSx0aGlzLmJpbmRDb250cm9sKG5ldyByKEYsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnJldmVyc2UsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgR2FubiBTcXVhcmUgUmV2ZXJzZSIpKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcih4LHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5hcmNzQmFja2dyb3VuZC5maWxsQmFja2dyb3VuZCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBHYW5uIFNxdWFyZSBGaWxsaW5nIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGwoQix0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuYXJjc0JhY2tncm91bmQudHJhbnNwYXJlbmN5LCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEdhbm4gU3F1YXJlIEJhY2tncm91bmQgVHJhbnNwYXJlbmN5IikpfSxpLnByb3RvdHlwZS53aWRnZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdGFibGV9LGUuZXhwb3J0cz1pfSw3ODM6ZnVuY3Rpb24oZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUsdCxvKXtuLmNhbGwodGhpcyxlLHQsbyksdGhpcy5wcmVwYXJlTGF5b3V0KCl9dmFyIG49bygxNCksYT1vKDEwKSxyPWEuQm9vbGVhbkJpbmRlcixsPWEuQ29sb3JCaW5kaW5nLHA9YS5TaW1wbGVDb21ib0JpbmRlcixzPWEuU2xpZGVyQmluZGVyLGQ9byg0NykuYWRkQ29sb3JQaWNrZXIsaD1vKDMxKS5jcmVhdGVMaW5lU3R5bGVFZGl0b3IsYz1vKDE1KS5jcmVhdGVMaW5lV2lkdGhFZGl0b3IsYj1vKDY1KS5jcmVhdGVUcmFuc3BhcmVuY3lFZGl0b3I7aW5oZXJpdChpLG4pLGkucHJvdG90eXBlLmFkZExldmVsRWRpdG9yPWZ1bmN0aW9uKGUsdCxvLGkpe3ZhciBuLGEsYix1LEMseSxnLHcsVCxfLG09JCgiPHRyPiIpO20uYXBwZW5kVG8odGhpcy5fdGJvZHkpLA0Kbj0iY29udHJvbC1sZXZlbC0iK28rIi0iK2ksYT0kKCI8dGQ+IiksYS5hcHBlbmRUbyhtKSxiPSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgY2xhc3M9J3Zpc2liaWxpdHktc3dpdGNoJyBpZD0nIituKyInPiIpLGIuYXBwZW5kVG8oYSksdT10aGlzLmNyZWF0ZUxhYmVsZWRDZWxsKGUpLmFwcGVuZFRvKG0pLHUuZmluZCgibGFiZWwiKS5hdHRyKCJmb3IiLG4pLEM9JCgiPHRkIGNsYXNzPSdjb2xvcnBpY2tlci1jZWxsJz4iKSxDLmFwcGVuZFRvKG0pLHk9ZChDKSxnPSQoIjx0ZD4iKSxnLmFwcGVuZFRvKG0pLHc9YygpLHcuYXBwZW5kVG8oZyksVD0kKCI8dGQ+IiksVC5hcHBlbmRUbyhtKSxfPWgoKSxfLnJlbmRlcigpLmFwcGVuZFRvKFQpLHRoaXMuYmluZENvbnRyb2wobmV3IHIoYix0LnZpc2libGUsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgR2FubiBGYW4gTGluZSBWaXNpYmlsaXR5IikpLHRoaXMuYmluZENvbnRyb2wobmV3IGwoeSx0LmNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEdhbm4gRmFuIExpbmUgQ29sb3IiLDApKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKF8sdC5saW5lc3R5bGUscGFyc2VJbnQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgR2FubiBGYW4gTGluZSBTdHlsZSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBzKHcsdC5saW5ld2lkdGgsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgR2FubiBGYW4gTGluZSBXaWR0aCIpKX0saS5wcm90b3R5cGUucHJlcGFyZUxheW91dD1mdW5jdGlvbigpe3ZhciBlLHQsbyxpLG4sYSxsLHAsZCxoLGM9JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPicpLHU9JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPicpO2Zvcih0aGlzLl90Ym9keT0kKCI8dGJvZHk+IikuYXBwZW5kVG8oYyksZT0xO2U8PTk7ZSsrKXQ9ImxldmVsIitlLG89dGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpW3RdLGk9by5jb2VmZjEudmFsdWUoKSxuPW8uY29lZmYyLnZhbHVlKCksYT0iPHN1cD4iK2krIjwvc3VwPiZmcmFzbDs8c3ViPiIrbisiPC9zdWI+Iix0aGlzLmFkZExldmVsRWRpdG9yKGEsbyxpLG4pO3RoaXMuYWRkT25lQ29sb3JQcm9wZXJ0eVdpZGdldCh0aGlzLl90Ym9keSksbD0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnIGNsYXNzPSd2aXNpYmlsaXR5LXN3aXRjaCc+IikscD10aGlzLmFkZExhYmVsZWRSb3codSwkLnQoIkxhYmVscyIpLGwpLCQoIjx0ZD4iKS5hcHBlbmQobCkucHJlcGVuZFRvKHApLHRoaXMuYmluZENvbnRyb2wobmV3IHIobCx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuc2hvd0xhYmVscywhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBHYW5uIEZhbiBMYWJlbHMgVmlzaWJpbGl0eSIpKSx0aGlzLl90YWJsZT1jLmFkZCh1KSxwPSQoIjx0cj4iKSxwLmFwcGVuZFRvKHRoaXMuX3RhYmxlKSxkPSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgY2xhc3M9J3Zpc2liaWxpdHktc3dpdGNoJz4iKSwkKCI8dGQ+IikuYXBwZW5kKGQpLmFwcGVuZFRvKHApLHRoaXMuY3JlYXRlTGFiZWxlZENlbGwoJC50KCJCYWNrZ3JvdW5kIiksZCkuYXBwZW5kVG8ocCksaD1iKCksJCgnPHRkIGNvbHNwYW49IjMiPicpLmFwcGVuZChoKS5hcHBlbmRUbyhwKSx0aGlzLmJpbmRDb250cm9sKG5ldyByKGQsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmZpbGxCYWNrZ3JvdW5kLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFBpdGNoZmFuIEJhY2tncm91bmQgVmlzaWJpbGl0eSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBzKGgsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnRyYW5zcGFyZW5jeSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBQaXRjaGZhbiBCYWNrZ3JvdW5kIFRyYW5zcGFyZW5jeSIpKSx0aGlzLmxvYWREYXRhKCl9LGkucHJvdG90eXBlLndpZGdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl90YWJsZX0sZS5leHBvcnRzPWl9LDc4NDpmdW5jdGlvbihlLHQsbyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0LG8pe24uY2FsbCh0aGlzLGUsdCxvKSx0aGlzLnByZXBhcmVMYXlvdXQoKX12YXIgbj1vKDE0KSxhPW8oMTApLHI9YS5Cb29sZWFuQmluZGVyLGw9YS5GbG9hdEJpbmRlcixwPWEuQ29sb3JCaW5kaW5nLHM9YS5TbGlkZXJCaW5kZXIsZD1vKDQ3KS5hZGRDb2xvclBpY2tlcixoPW8oNjUpLmNyZWF0ZVRyYW5zcGFyZW5jeUVkaXRvcjtpbmhlcml0KGksbiksaS5wcm90b3R5cGUuYWRkTGV2ZWxFZGl0b3I9ZnVuY3Rpb24oZSx0LG8pe3ZhciBpLG4sYSxzLGgsYyxiPSQoIjx0cj4iKTtiLmFwcGVuZFRvKGUpLGk9JCgiPHRkPiIpLGkuYXBwZW5kVG8oYiksbj0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnIGNsYXNzPSd2aXNpYmlsaXR5LXN3aXRjaCc+Iiksbi5hcHBlbmRUbyhpKSxhPSQoIjx0ZD4iKSxhLmFwcGVuZFRvKGIpLHM9JCgiPGlucHV0IHR5cGU9J3RleHQnPiIpLHMuYXBwZW5kVG8oYSkscy5jc3MoIndpZHRoIiwiNzBweCIpLHRoaXMuYmluZENvbnRyb2wobmV3IHIobixvLnZpc2libGUsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgR2FubiBTcXVhcmUgTGluZSBWaXNpYmlsaXR5IikpLHRoaXMuYmluZENvbnRyb2wobmV3IGwocyxvLmNvZWZmLCExLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFBpdGNoZm9yayBMaW5lIENvZWZmIikpLGg9JCgiPHRkIGNsYXNzPSdjb2xvcnBpY2tlci1jZWxsJz4iKSxoLmFwcGVuZFRvKGIpLGM9ZChoKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKGMsby5jb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBHYW5uIFNxdWFyZSBMaW5lIENvbG9yIiwwKSl9LGkucHJvdG90eXBlLmFkZEZhbm5FZGl0b3I9ZnVuY3Rpb24oZSl7dmFyIHQsbyxpPSQoIjx0cj4iKS5hcHBlbmRUbyhlKSxuPSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgY2xhc3M9J3Zpc2liaWxpdHktc3dpdGNoJz4iKTtuLmFwcGVuZFRvKCQoIjx0ZD4iKS5hcHBlbmRUbyhpKSksJCgiPHRkPiIrJC50KCJBbmdsZXMiKSsiPC90ZD4iKS5hcHBlbmRUbyhpKSwNCnQ9JCgiPHRkIGNsYXNzPSdjb2xvcnBpY2tlci1jZWxsJz4iKS5hcHBlbmRUbyhpKSxvPWQodCksdGhpcy5iaW5kQ29udHJvbChuZXcgcihuLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5mYW5zLnZpc2libGUsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgR2FubiBTcXVhcmUgQW5nbGVzIFZpc2liaWxpdHkiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcChvLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5mYW5zLmNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEdhbm4gU3F1YXJlIEFuZ2xlcyBDb2xvciIsMCkpfSxpLnByb3RvdHlwZS5wcmVwYXJlTGF5b3V0PWZ1bmN0aW9uKCl7dmFyIGUsdCxvLGksbixhLGwscCxkLGMsYix1LEMseSxnLHcsVCxfLG0sZjtmb3IodGhpcy5fdGFibGU9JChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0YWJsZSIpKSx0aGlzLl90YWJsZS5hZGRDbGFzcygicHJvcGVydHktcGFnZSBwcm9wZXJ0eS1wYWdlLXVucGFkZGVkIiksdGhpcy5fdGFibGUuYXR0cigiY2VsbHNwYWNpbmciLCIwIiksdGhpcy5fdGFibGUuYXR0cigiY2VsbHBhZGRpbmciLCIyIiksdGhpcy5fdGFibGUuY3NzKHt3aWR0aDoiMTAwJSJ9KSxlPSQoIjx0Ym9keT4iKS5hcHBlbmRUbyh0aGlzLl90YWJsZSksdD0kKCI8dHI+IiksdC5hcHBlbmRUbyhlKSxvPSQoJzx0ZCB3aWR0aD0iNTAlIj4nKSxvLmFwcGVuZFRvKHQpLGk9JCgnPHRkIHdpZHRoPSI1MCUiPicpLGkuYXBwZW5kVG8odCksbj0kKCc8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIj4nKSxuLmFwcGVuZFRvKG8pLG4uYWRkQ2xhc3MoInByb3BlcnR5LXBhZ2UiKSxhPSQoJzx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPicpLGEuYXBwZW5kVG8oaSksYS5hZGRDbGFzcygicHJvcGVydHktcGFnZSIpLCQoIjx0cj48dGQgYWxpZ249J2NlbnRlcicgY29sc3Bhbj0nNCc+IiskLnQoIlByaWNlIExldmVscyIpKyI8L3RkPjwvdHI+IikuYXBwZW5kVG8obiksJCgiPHRyPjx0ZCBhbGlnbj0nY2VudGVyJyBjb2xzcGFuPSc0Jz4iKyQudCgiVGltZSBMZXZlbHMiKSsiPC90ZD48L3RyPiIpLmFwcGVuZFRvKGEpLGw9MTtsPD03O2wrKylwPSJobGV2ZWwiK2wsdGhpcy5hZGRMZXZlbEVkaXRvcihuLCQudCgiTGV2ZWwgezB9IikuZm9ybWF0KGwpLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKVtwXSk7Zm9yKGw9MTtsPD03O2wrKylwPSJ2bGV2ZWwiK2wsdGhpcy5hZGRMZXZlbEVkaXRvcihhLCQudCgiTGV2ZWwgezB9IikuZm9ybWF0KGwpLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKVtwXSk7dGhpcy5hZGRGYW5uRWRpdG9yKG4pLHRoaXMuYWRkT25lQ29sb3JQcm9wZXJ0eVdpZGdldChhKSxpLmNzcyh7InZlcnRpY2FsLWFsaWduIjoidG9wIn0pLG8uY3NzKHsidmVydGljYWwtYWxpZ24iOiJ0b3AifSksZD0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnIGNsYXNzPSd2aXNpYmlsaXR5LXN3aXRjaCc+IiksYz0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnIGNsYXNzPSd2aXNpYmlsaXR5LXN3aXRjaCc+IiksYj0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnIGNsYXNzPSd2aXNpYmlsaXR5LXN3aXRjaCc+IiksdT0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnIGNsYXNzPSd2aXNpYmlsaXR5LXN3aXRjaCc+IiksQz0kKCc8dGFibGUgY2xhc3M9InByb3BlcnR5LXBhZ2UgcHJvcGVydHktcGFnZS11bnBhZGRlZCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIj4nKS5jc3Moe3dpZHRoOiIxMDAlIn0pLHk9JCgiPHRyPiIpLmFwcGVuZFRvKEMpLGc9JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiPicpLmFwcGVuZFRvKCQoIjx0ZD4iKS5jc3Moe3dpZHRoOiI1MCUiLCJ2ZXJ0aWNhbC1hbGlnbiI6InRvcCJ9KS5hcHBlbmRUbyh5KSksdz0kKCc8dGFibGUgY2xhc3M9InByb3BlcnR5LXBhZ2UiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCI+JykuYXBwZW5kVG8oJCgiPHRkPiIpLmNzcyh7d2lkdGg6IjUwJSIsInZlcnRpY2FsLWFsaWduIjoidG9wIn0pLmFwcGVuZFRvKHkpKSxUPXRoaXMuYWRkTGFiZWxlZFJvdyhnLCQudCgiTGVmdCBMYWJlbHMiKSxkKSwkKCI8dGQ+IikuYXBwZW5kKGQpLnByZXBlbmRUbyhUKSxUPXRoaXMuYWRkTGFiZWxlZFJvdyh3LCQudCgiUmlnaHQgTGFiZWxzIiksYyksJCgiPHRkPiIpLmFwcGVuZChjKS5wcmVwZW5kVG8oVCksVD10aGlzLmFkZExhYmVsZWRSb3coZywkLnQoIlRvcCBMYWJlbHMiKSxiKSwkKCI8dGQ+IikuYXBwZW5kKGIpLnByZXBlbmRUbyhUKSxUPXRoaXMuYWRkTGFiZWxlZFJvdyh3LCQudCgiQm90dG9tIExhYmVscyIpLHUpLCQoIjx0ZD4iKS5hcHBlbmQodSkucHJlcGVuZFRvKFQpLHRoaXMuYmluZENvbnRyb2wobmV3IHIoZCx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuc2hvd0xlZnRMYWJlbHMsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgR2FubiBTcXVhcmUgTGVmdCBMYWJlbHMgVmlzaWJpbGl0eSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyByKGMsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnNob3dSaWdodExhYmVscywhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBHYW5uIFNxdWFyZSBSaWdodCBMYWJlbHMgVmlzaWJpbGl0eSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyByKGIsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnNob3dUb3BMYWJlbHMsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgR2FubiBTcXVhcmUgVG9wIExhYmVscyBWaXNpYmlsaXR5IikpLHRoaXMuYmluZENvbnRyb2wobmV3IHIodSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuc2hvd0JvdHRvbUxhYmVscywhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBHYW5uIFNxdWFyZSBCb3R0b20gTGFiZWxzIFZpc2liaWxpdHkiKSksdGhpcy5fdGFibGU9dGhpcy5fdGFibGUuYWRkKEMpLFQ9JCgiPHRyPiIpLFQuYXBwZW5kVG8oZyksXz0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnIGNsYXNzPSd2aXNpYmlsaXR5LXN3aXRjaCc+IiksJCgiPHRkPiIpLmFwcGVuZChfKS5hcHBlbmRUbyhUKSxtPWgoKSwNCiQoIjx0ZD4iKS5hcHBlbmQobSkuYXBwZW5kVG8oVCksdGhpcy5iaW5kQ29udHJvbChuZXcgcihfLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5maWxsSG9yekJhY2tncm91bmQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgR2FubiBTcXVhcmUgQmFja2dyb3VuZCBWaXNpYmlsaXR5IikpLHRoaXMuYmluZENvbnRyb2wobmV3IHMobSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuaG9yelRyYW5zcGFyZW5jeSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBHYW5uIFNxdWFyZSBCYWNrZ3JvdW5kIFRyYW5zcGFyZW5jeSIpKSxUPSQoIjx0cj4iKSxULmFwcGVuZFRvKHcpLF89JCgiPGlucHV0IHR5cGU9J2NoZWNrYm94JyBjbGFzcz0ndmlzaWJpbGl0eS1zd2l0Y2gnPiIpLCQoIjx0ZD4iKS5hcHBlbmQoXykuYXBwZW5kVG8oVCksbT1oKCksJCgiPHRkPiIpLmFwcGVuZChtKS5hcHBlbmRUbyhUKSx0aGlzLmJpbmRDb250cm9sKG5ldyByKF8sdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmZpbGxWZXJ0QmFja2dyb3VuZCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBHYW5uIFNxdWFyZSBCYWNrZ3JvdW5kIFZpc2liaWxpdHkiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcyhtLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS52ZXJ0VHJhbnNwYXJlbmN5LCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIEdhbm4gU3F1YXJlIEJhY2tncm91bmQgVHJhbnNwYXJlbmN5IikpLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5yZXZlcnNlJiYoZj0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnIGNsYXNzPSd2aXNpYmlsaXR5LXN3aXRjaCc+IiksVD10aGlzLmFkZExhYmVsZWRSb3coZywkLnQoIlJldmVyc2UiKSxmKSwkKCI8dGQ+IikuYXBwZW5kKGYpLnByZXBlbmRUbyhUKSx0aGlzLmJpbmRDb250cm9sKG5ldyByKGYsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnJldmVyc2UsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgR2FubiBCb3ggUmV2ZXJzZSIpKSksdGhpcy5sb2FkRGF0YSgpfSxpLnByb3RvdHlwZS53aWRnZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdGFibGV9LGUuZXhwb3J0cz1pfSw3ODU6ZnVuY3Rpb24oZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUsdCxvKXtuLmNhbGwodGhpcyxlLHQsbyksdGhpcy5wcmVwYXJlTGF5b3V0KCl9dmFyIG49bygxNCksYT1vKDEwKS5Db2xvckJpbmRpbmc7aW5oZXJpdChpLG4pLGkucHJvdG90eXBlLnByZXBhcmVMYXlvdXQ9ZnVuY3Rpb24oKXt2YXIgZSx0LG8saTt0aGlzLl90YWJsZT0kKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRhYmxlIikpLHRoaXMuX3RhYmxlLmFkZENsYXNzKCJwcm9wZXJ0eS1wYWdlIiksdGhpcy5fdGFibGUuYXR0cigiY2VsbHNwYWNpbmciLCIwIiksdGhpcy5fdGFibGUuYXR0cigiY2VsbHBhZGRpbmciLCIyIiksZT10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCksdD0kLnQoIkNvbG9yIikrIjoiLG89dGhpcy5hZGRMYWJlbGVkUm93KHRoaXMuX3RhYmxlLHQpLCQoIjx0ZD4iKS5hcHBlbmQoZSkuYXBwZW5kVG8obyksaT10aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCksdGhpcy5fZGl2PSQoIjxkaXY+IikuYXBwZW5kKHRoaXMuX3RhYmxlKSx0aGlzLmJpbmRDb250cm9sKG5ldyBhKGUsaS5jb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBJY29uIENvbG9yIikpLHRoaXMubG9hZERhdGEoKX0saS5wcm90b3R5cGUud2lkZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2Rpdn0sZS5leHBvcnRzPWl9LDc4NjpmdW5jdGlvbihlLHQsbyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0LG8pe2EuY2FsbCh0aGlzLGUsdCxvKSx0aGlzLnByZXBhcmVMYXlvdXQoKX12YXIgbj1vKDEpLlBvaW50LGE9bygxNCkscj1vKDEwKSxsPXIuQ29sb3JCaW5kaW5nLHA9ci5TaW1wbGVDb21ib0JpbmRlcixzPXIuU2ltcGxlU3RyaW5nQmluZGVyLGQ9ci5Cb29sZWFuQmluZGVyLGg9byg5Nyk7aW5oZXJpdChpLGEpLGkucHJvdG90eXBlLnByZXBhcmVMYXlvdXQ9ZnVuY3Rpb24oKXt2YXIgZSx0LG8saSxuPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxhPXRoaXMuY3JlYXRlRm9udFNpemVFZGl0b3IoKSxyPXRoaXMuY3JlYXRlRm9udEVkaXRvcigpLGg9dGhpcy5jcmVhdGVUZXh0RWRpdG9yKDM1MCwyMDApLGM9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLGI9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLHU9JCgnPHNwYW4gY2xhc3M9Il90di1idXR0b24gX3R2LWJ1dHRvbi1mb250c3R5bGUiPjxzcGFuIGNsYXNzPSJpY29uLWZvbnRzdHlsZS1ib2xkIj48L3NwYW4+PC9zcGFuPicpLEM9JCgnPHNwYW4gY2xhc3M9Il90di1idXR0b24gX3R2LWJ1dHRvbi1mb250c3R5bGUiPjxzcGFuIGNsYXNzPSJpY29uLWZvbnRzdHlsZS1pdGFsaWMiPjwvc3Bhbj48L3NwYW4+Jyk7dGhpcy5iaW5kQ29udHJvbChuZXcgbChuLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS50ZXh0Q29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVGV4dCBDb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKGEsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmZvbnRTaXplLHBhcnNlSW50LCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRleHQgRm9udCBTaXplIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHAocix0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuZm9udCxudWxsLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRleHQgRm9udCIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBzKGgsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnRleHQsbnVsbCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUZXh0IikpLHRoaXMuYmluZENvbnRyb2wobmV3IGwoYyx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkubWFya2VyQ29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgTWFya2VyIGFuZCBCb3JkZXIgQ29sb3IiKSksDQp0aGlzLmJpbmRDb250cm9sKG5ldyBsKGIsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmJhY2tncm91bmRDb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBCYWNrZ3JvdW5kIENvbG9yIix0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuYmFja2dyb3VuZFRyYW5zcGFyZW5jeSkpLHRoaXMuYmluZENvbnRyb2wobmV3IGQodSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuYm9sZCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUZXh0IEZvbnQgQm9sZCIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBkKEMsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLml0YWxpYywhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUZXh0IEZvbnQgSXRhbGljIikpLGU9JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPicpLHQ9JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPicpLG89JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPicpLHRoaXMuX3RhYmxlPWUuYWRkKG8pLmFkZCh0KSwkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRyIikpLmFwcGVuZCgkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIikpLmF0dHIoe3dpZHRoOjF9KS5hcHBlbmQobikpLmFwcGVuZCgkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIikpLmF0dHIoe3dpZHRoOjF9KS5hcHBlbmQocikpLmFwcGVuZCgkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIikpLmF0dHIoe3dpZHRoOjF9KS5hcHBlbmQoYSkpLmFwcGVuZCgkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIikpLmF0dHIoe3dpZHRoOjF9KS5hcHBlbmQodSkpLmFwcGVuZCgkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIikpLmFwcGVuZChDKSkuYXBwZW5kVG8oZSksJChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ciIpKS5hcHBlbmQoJChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpKS5hdHRyKHtjb2xzcGFuOjV9KS5hcHBlbmQoaCkpLmFwcGVuZFRvKGUpLGk9dGhpcy5hZGRMYWJlbGVkUm93KG8sJC50KCJMYWJlbCIpKSwkKCI8dGQ+IikuYXR0cigiY29sc3BhbiIsMikuYXBwZW5kKGMpLmFwcGVuZFRvKGkpLGk9dGhpcy5hZGRMYWJlbGVkUm93KG8sJC50KCJCYWNrZ3JvdW5kIikpLCQoIjx0ZD4iKS5hcHBlbmQoYikuYXBwZW5kVG8oaSksdGhpcy5sb2FkRGF0YSgpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtoLnNlbGVjdCgpLGguZm9jdXMoKX0sMjApfSxpLnByb3RvdHlwZS53aWRnZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdGFibGV9LGkucHJvdG90eXBlLmRpYWxvZ1Bvc2l0aW9uPWZ1bmN0aW9uKGUsdCl7dmFyIG8saSxhLHIsbCxwLHMsZCxjLGI7aWYoZSYmdCl7Zm9yKG89MCxpPXRoaXMuX2xpbmV0b29sLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMuX2xpbmV0b29sKSxhPWguZ2V0Q2hhcnRXaWRnZXQoKTtvPGEucGFuZVdpZGdldHMoKS5sZW5ndGg7bysrKWlmKGEucGFuZVdpZGdldHMoKVtvXS5fc3RhdGU9PT1pKXtyPSQoYS5wYW5lV2lkZ2V0cygpW29dLmNhbnZhcykub2Zmc2V0KCkubGVmdDticmVha31yZXR1cm4gbD0odGhpcy5fbGluZXRvb2wucGFuZVZpZXdzKCl8fFtdKVswXSxwPW5ldyBuKDAsMCksbCYmKHA9bC5fZmxvYXRQb2ludHNbMF18fHRoaXMuX2xpbmV0b29sLl9maXhlZFBvaW50c1swXXx8cCkscz0ocnx8MCkrcC54LGQ9dGhpcy5fbGluZXRvb2wuZ2V0VG9vbHRpcFdpZHRoKCksYz1zLWQvMixiPXQub3V0ZXJXaWR0aCgpLGUubGVmdDxjJiZlLmxlZnQrYisxMD5jPyhlLmxlZnQtPWUubGVmdCtiKzEwLWMsZSk6ZS5sZWZ0PmMmJmUubGVmdDxjK2QrMTA/KGUubGVmdCs9YytkKzEwLWUubGVmdCxlKTp2b2lkIDB9fSxlLmV4cG9ydHM9aX0sNzg3OmZ1bmN0aW9uKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlLHQsbyl7bi5jYWxsKHRoaXMsZSx0LG8pLHRoaXMucHJlcGFyZUxheW91dCgpfXZhciBuPW8oMTQpLGE9bygxMCkscj1hLkJvb2xlYW5CaW5kZXIsbD1hLkNvbG9yQmluZGluZyxwPWEuU2ltcGxlQ29tYm9CaW5kZXIscz1hLlNsaWRlckJpbmRlcixkPW8oMzEpLmNyZWF0ZUxpbmVTdHlsZUVkaXRvcixoPW8oMTUpLmNyZWF0ZUxpbmVXaWR0aEVkaXRvcjtpbmhlcml0KGksbiksaS5wcm90b3R5cGUucHJlcGFyZUxheW91dD1mdW5jdGlvbigpe3ZhciBlLHQsbyxpLG4sYSxjLGIsdSxDLHksZyx3LFQsXyxtLGY7dGhpcy5fdGFibGU9JChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0YWJsZSIpKSx0aGlzLl90YWJsZS5hZGRDbGFzcygicHJvcGVydHktcGFnZSIpLHRoaXMuX3RhYmxlLmF0dHIoImNlbGxzcGFjaW5nIiwiMCIpLHRoaXMuX3RhYmxlLmF0dHIoImNlbGxwYWRkaW5nIiwiMiIpLGU9JCgiPHRib2R5PiIpLmFwcGVuZFRvKHRoaXMuX3RhYmxlKSx0PWgoKSxvPWQoKSxpPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxuPSQoIjx0cj4iKS5hcHBlbmRUbyhlKSwkKCI8dGQ+PC90ZD48dGQ+IiskLnQoIkNoYW5uZWwiKSsiPC90ZD4iKS5hcHBlbmRUbyhuKSwkKCI8dGQ+IikuYXBwZW5kKGkpLmFwcGVuZFRvKG4pLCQoIjx0ZD4iKS5hcHBlbmQodCkuYXBwZW5kVG8obiksJCgiPHRkPiIpLmFwcGVuZChvLnJlbmRlcigpKS5hcHBlbmRUbyhuKSxuPSQoIjx0cj4iKS5hcHBlbmRUbyhlKSxhPSQoIjx0ZD4iKS5hcHBlbmRUbyhuKSxjPSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgY2xhc3M9J3Zpc2liaWxpdHktc3dpdGNoJz4iKSxjLmFwcGVuZFRvKGEpLHRoaXMuY3JlYXRlTGFiZWxlZENlbGwoIk1pZGRsZSIsYykuYXBwZW5kVG8obiksYj1oKCksdT1kKCksQz10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCksJCgiPHRkPiIpLmFwcGVuZChDKS5hcHBlbmRUbyhuKSwkKCI8dGQ+IikuYXBwZW5kKGIpLmFwcGVuZFRvKG4pLCQoIjx0ZD4iKS5hcHBlbmQodS5yZW5kZXIoKSkuYXBwZW5kVG8obiksbj0kKCI8dHI+IikuYXBwZW5kVG8oZSkseT0kKCI8dGQ+IikuYXBwZW5kVG8obiksDQpnPSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCcgY2xhc3M9J3Zpc2liaWxpdHktc3dpdGNoJz4iKSxnLmFwcGVuZFRvKHkpLHRoaXMuY3JlYXRlTGFiZWxlZENlbGwoIkJhY2tncm91bmQiLGcpLmFwcGVuZFRvKG4pLHc9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLCQoIjx0ZD4iKS5hcHBlbmQodykuYXBwZW5kVG8obiksVD0kKCI8dGJvZHk+IikuYXBwZW5kVG8odGhpcy5fdGFibGUpLF89dGhpcy5hZGRFZGl0b3JSb3coVCwiRXh0ZW5kIExlZnQiLCQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCc+IiksMiksbT10aGlzLmFkZEVkaXRvclJvdyhULCJFeHRlbmQgUmlnaHQiLCQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCc+IiksMiksZj10aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCksdGhpcy5iaW5kQ29udHJvbChuZXcgcihnLGYuZmlsbEJhY2tncm91bmQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUGFyYWxsZWwgQ2hhbm5lbCBGaWxsIEJhY2tncm91bmQiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcihjLGYuc2hvd01pZGxpbmUsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUGFyYWxsZWwgQ2hhbm5lbCBTaG93IENlbnRlciBMaW5lIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHIoXyxmLmV4dGVuZExlZnQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUGFyYWxsZWwgQ2hhbm5lbCBFeHRlbmRpbmcgTGVmdCIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyByKG0sZi5leHRlbmRSaWdodCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBQYXJhbGxlbCBDaGFubmVsIEV4dGVuZGluZyBSaWdodCIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKGksZi5saW5lY29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUGFyYWxsZWwgQ2hhbm5lbCBDb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKG8sZi5saW5lc3R5bGUscGFyc2VJbnQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUGFyYWxsZWwgQ2hhbm5lbCBTdHlsZSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBzKHQsZi5saW5ld2lkdGgsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUGFyYWxsZWwgQ2hhbm5lbCBXaWR0aCIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKEMsZi5taWRsaW5lY29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUGFyYWxsZWwgQ2hhbm5lbCBNaWRkbGUgQ29sb3IiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcCh1LGYubWlkbGluZXN0eWxlLHBhcnNlSW50LCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFBhcmFsbGVsIENoYW5uZWwgTWlkZGxlIFN0eWxlIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHMoYixmLm1pZGxpbmV3aWR0aCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBQYXJhbGxlbCBDaGFubmVsIE1pZGRsZSBXaWR0aCIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKHcsZi5iYWNrZ3JvdW5kQ29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUGFyYWxsZWwgQ2hhbm5lbCBCYWNrIENvbG9yIixmLnRyYW5zcGFyZW5jeSkpLHRoaXMubG9hZERhdGEoKX0saS5wcm90b3R5cGUud2lkZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3RhYmxlfSxlLmV4cG9ydHM9aX0sNzg4OmZ1bmN0aW9uKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlLHQsbyl7bi5jYWxsKHRoaXMsZSx0LG8pLHRoaXMucHJlcGFyZUxheW91dCgpfXZhciBuPW8oMTQpLGE9bygxMCkscj1hLkJvb2xlYW5CaW5kZXIsbD1hLkZsb2F0QmluZGVyLHA9YS5Db2xvckJpbmRpbmcscz1hLlNpbXBsZUNvbWJvQmluZGVyLGQ9YS5TbGlkZXJCaW5kZXIsaD1vKDQ3KS5hZGRDb2xvclBpY2tlcixjPW8oMzEpLmNyZWF0ZUxpbmVTdHlsZUVkaXRvcixiPW8oMTUpLmNyZWF0ZUxpbmVXaWR0aEVkaXRvcix1PW8oNjUpLmNyZWF0ZVRyYW5zcGFyZW5jeUVkaXRvcjtpbmhlcml0KGksbiksaS5wcm90b3R5cGUuYWRkTGV2ZWxFZGl0b3I9ZnVuY3Rpb24oZSx0LG8pe3ZhciBpLG4sYSx1LEMseSxnLHcsVCxfLG09JCgiPHRyPiIpO20uYXBwZW5kVG8odGhpcy5fdGFibGUpLGU/KGk9JCgiPHRkPiIpLGkuYXBwZW5kVG8obSksbj0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnIGNsYXNzPSd2aXNpYmlsaXR5LXN3aXRjaCc+Iiksbi5hcHBlbmRUbyhpKSxhPSQoIjx0ZD4iKSxhLmFwcGVuZFRvKG0pLHU9JCgiPGlucHV0IHR5cGU9J3RleHQnPiIpLHUuYXBwZW5kVG8oYSksdS5jc3MoIndpZHRoIiwiNzBweCIpLHRoaXMuYmluZENvbnRyb2wobmV3IHIobix0LnZpc2libGUsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUGl0Y2hmb3JrIExpbmUgVmlzaWJpbGl0eSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKHUsdC5jb2VmZiwhMSx0aGlzLm1vZGVsKCksIkNoYW5nZSBQaXRjaGZvcmsgTGluZSBDb2VmZiIpKSk6JCgiPHRkIGNvbHNwYW49JzInPiIrJC50KCJNZWRpYW4iKSsiPC90ZD4iKS5hcHBlbmRUbyhtKSxDPSQoIjx0ZCBjbGFzcz0nY29sb3JwaWNrZXItY2VsbCc+IiksQy5hcHBlbmRUbyhtKSx5PWgoQyksZz0kKCI8dGQ+IiksZy5hcHBlbmRUbyhtKSx3PWIoKSx3LmFwcGVuZFRvKGcpLFQ9JCgiPHRkPiIpLFQuYXBwZW5kVG8obSksXz1jKCksXy5yZW5kZXIoKS5hcHBlbmRUbyhUKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKHksdC5jb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBQaXRjaGZvcmsgTGluZSBDb2xvciIpLDApLHRoaXMuYmluZENvbnRyb2wobmV3IHMoXyx0LmxpbmVzdHlsZSxwYXJzZUludCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBQaXRjaGZhbiBMaW5lIFN0eWxlIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGQodyx0LmxpbmV3aWR0aCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBQaXRjaGZhbiBMaW5lIFdpZHRoIikpfSxpLnByb3RvdHlwZS5wcmVwYXJlTGF5b3V0PWZ1bmN0aW9uKCl7dmFyIGUsdCxvLGksbjtmb3IodGhpcy5fdGFibGU9JChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0YWJsZSIpKSx0aGlzLl90YWJsZS5hZGRDbGFzcygicHJvcGVydHktcGFnZSIpLHRoaXMuX3RhYmxlLmF0dHIoImNlbGxzcGFjaW5nIiwiMCIpLHRoaXMuX3RhYmxlLmF0dHIoImNlbGxwYWRkaW5nIiwiMiIpLA0KdGhpcy5hZGRMZXZlbEVkaXRvcihudWxsLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5tZWRpYW4sITEpLGU9MDtlPD04O2UrKyl0PSJsZXZlbCIrZSx0aGlzLmFkZExldmVsRWRpdG9yKCQudCgiTGV2ZWwgezB9IikuZm9ybWF0KGUrMSksdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpW3RdLCExKTt0aGlzLmFkZE9uZUNvbG9yUHJvcGVydHlXaWRnZXQodGhpcy5fdGFibGUpLG89JCgiPHRyPiIpLG8uYXBwZW5kVG8odGhpcy5fdGFibGUpLGk9JCgiPGlucHV0IHR5cGU9J2NoZWNrYm94JyBjbGFzcz0ndmlzaWJpbGl0eS1zd2l0Y2gnPiIpLCQoIjx0ZD4iKS5hcHBlbmQoaSkuYXBwZW5kVG8obyksdGhpcy5jcmVhdGVMYWJlbGVkQ2VsbCgkLnQoIkJhY2tncm91bmQiKSxpKS5hcHBlbmRUbyhvKSxuPXUoKSwkKCc8dGQgY29sc3Bhbj0iMyI+JykuYXBwZW5kKG4pLmFwcGVuZFRvKG8pLHRoaXMuYmluZENvbnRyb2wobmV3IHIoaSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuZmlsbEJhY2tncm91bmQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUGl0Y2hmYW4gQmFja2dyb3VuZCBWaXNpYmlsaXR5IikpLHRoaXMuYmluZENvbnRyb2wobmV3IGQobix0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkudHJhbnNwYXJlbmN5LCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFBpdGNoZmFuIEJhY2tncm91bmQgVHJhbnNwYXJlbmN5IikpLHRoaXMubG9hZERhdGEoKX0saS5wcm90b3R5cGUud2lkZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3RhYmxlfSxlLmV4cG9ydHM9aX0sNzg5OmZ1bmN0aW9uKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlLHQsbyl7bi5jYWxsKHRoaXMsZSx0LG8pLHRoaXMucHJlcGFyZUxheW91dCgpfXZhciBuPW8oMTQpLGE9bygxMCkscj1hLkJvb2xlYW5CaW5kZXIsbD1hLkZsb2F0QmluZGVyLHA9YS5Db2xvckJpbmRpbmcscz1hLlNpbXBsZUNvbWJvQmluZGVyLGQ9YS5TbGlkZXJCaW5kZXIsaD1vKDQ3KS5hZGRDb2xvclBpY2tlcixjPW8oMzEpLmNyZWF0ZUxpbmVTdHlsZUVkaXRvcixiPW8oMTUpLmNyZWF0ZUxpbmVXaWR0aEVkaXRvcix1PW8oNjUpLmNyZWF0ZVRyYW5zcGFyZW5jeUVkaXRvcjtpbmhlcml0KGksbiksaS5wcm90b3R5cGUub25SZXNvcmVEZWZhdWx0cz1mdW5jdGlvbigpe3RoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5zdHlsZS5saXN0ZW5lcnMoKS5maXJlKHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5zdHlsZSl9LGkucHJvdG90eXBlLmFkZExldmVsRWRpdG9yPWZ1bmN0aW9uKGUsdCxvKXt2YXIgaSxuLGEsdSxDLHksZyx3LFQsXyxtPSQoIjx0cj4iKTttLmFwcGVuZFRvKHRoaXMuX3RhYmxlKSxlPyhpPSQoIjx0ZD4iKSxpLmFwcGVuZFRvKG0pLG49JCgiPGlucHV0IHR5cGU9J2NoZWNrYm94JyBjbGFzcz0ndmlzaWJpbGl0eS1zd2l0Y2gnPiIpLG4uYXBwZW5kVG8oaSksYT0kKCI8dGQ+IiksYS5hcHBlbmRUbyhtKSx1PSQoIjxpbnB1dCB0eXBlPSd0ZXh0Jz4iKSx1LmFwcGVuZFRvKGEpLHUuY3NzKCJ3aWR0aCIsIjcwcHgiKSx0aGlzLmJpbmRDb250cm9sKG5ldyByKG4sdC52aXNpYmxlLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFBpdGNoZm9yayBMaW5lIFZpc2liaWxpdHkiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgbCh1LHQuY29lZmYsITEsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUGl0Y2hmb3JrIExpbmUgQ29lZmYiKSkpOigkKCI8dGQ+PC90ZD4iKS5hcHBlbmRUbyhtKSwkKCI8dGQ+IiskLnQoIk1lZGlhbiIpKyI8L3RkPiIpLmFwcGVuZFRvKG0pKSxDPSQoIjx0ZCBjbGFzcz0nY29sb3JwaWNrZXItY2VsbCc+IiksQy5hcHBlbmRUbyhtKSx5PWgoQyksZz0kKCI8dGQ+IiksZy5hcHBlbmRUbyhtKSx3PWIoKSx3LmFwcGVuZFRvKGcpLFQ9JCgiPHRkPiIpLFQuYXBwZW5kVG8obSksXz1jKCksXy5yZW5kZXIoKS5hcHBlbmRUbyhUKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKHksdC5jb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBQaXRjaGZvcmsgTGluZSBDb2xvciIsMCkpLHRoaXMuYmluZENvbnRyb2wobmV3IHMoXyx0LmxpbmVzdHlsZSxwYXJzZUludCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBQaXRjaGZvcmsgTGluZSBTdHlsZSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBkKHcsdC5saW5ld2lkdGgsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUGl0Y2hmb3JrIExpbmUgV2lkdGgiKSl9LGkucHJvdG90eXBlLnByZXBhcmVMYXlvdXQ9ZnVuY3Rpb24oKXt2YXIgZSx0LG8saSxuLGE7Zm9yKHRoaXMuX3RhYmxlPSQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGFibGUiKSksdGhpcy5fdGFibGUuYWRkQ2xhc3MoInByb3BlcnR5LXBhZ2UiKSx0aGlzLl90YWJsZS5hdHRyKCJjZWxsc3BhY2luZyIsIjAiKSx0aGlzLl90YWJsZS5hdHRyKCJjZWxscGFkZGluZyIsIjIiKSx0aGlzLmFkZExldmVsRWRpdG9yKG51bGwsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLm1lZGlhbiwhMSksZT0wO2U8PTg7ZSsrKXQ9ImxldmVsIitlLHRoaXMuYWRkTGV2ZWxFZGl0b3IoJC50KCJMZXZlbCB7MH0iKS5mb3JtYXQoZSsxKSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKClbdF0sITEpO3RoaXMuYWRkT25lQ29sb3JQcm9wZXJ0eVdpZGdldCh0aGlzLl90YWJsZSksbz0kKCI8dHI+Iiksby5hcHBlbmRUbyh0aGlzLl90YWJsZSksaT0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnIGNsYXNzPSd2aXNpYmlsaXR5LXN3aXRjaCc+IiksJCgiPHRkPiIpLmFwcGVuZChpKS5hcHBlbmRUbyhvKSx0aGlzLmNyZWF0ZUxhYmVsZWRDZWxsKCJCYWNrZ3JvdW5kIixpKS5hcHBlbmRUbyhvKSxuPXUoKSwkKCc8dGQgY29sc3Bhbj0iMyI+JykuYXBwZW5kKG4pLmFwcGVuZFRvKG8pLGE9JCgiPHNlbGVjdD48b3B0aW9uIHZhbHVlPScwJz4iKyQudCgiT3JpZ2luYWwiKSsiPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nMyc+IiskLnQoIlNjaGlmZiIpKyI8L29wdGlvbj48b3B0aW9uIHZhbHVlPScxJz4iKyQudCgiTW9kaWZpZWQgU2NoaWZmIikrIjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9JzInPiIrJC50KCJJbnNpZGUiKSsiPC9vcHRpb24+PC9zZWxlY3Q+IiksDQpvPSQoIjx0cj4iKSxvLmFwcGVuZFRvKHRoaXMuX3RhYmxlKSwkKCI8dGQ+IiskLnQoIlN0eWxlIikrIjwvdGQ+IikuYXBwZW5kVG8obyksJCgiPHRkPiIpLmFwcGVuZChhKS5hcHBlbmRUbyhvKSx0aGlzLmJpbmRDb250cm9sKG5ldyBzKGEsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnN0eWxlLHBhcnNlSW50LCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFBpdGNoZm9yayBTdHlsZSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyByKGksdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmZpbGxCYWNrZ3JvdW5kLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFBpdGNoZm9yayBCYWNrZ3JvdW5kIFZpc2liaWxpdHkiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgZChuLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS50cmFuc3BhcmVuY3ksITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUGl0Y2hmb3JrIEJhY2tncm91bmQgVHJhbnNwYXJlbmN5IikpLHRoaXMubG9hZERhdGEoKX0saS5wcm90b3R5cGUud2lkZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3RhYmxlfSxlLmV4cG9ydHM9aX0sNzkwOmZ1bmN0aW9uKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlLHQsbyl7bi5jYWxsKHRoaXMsZSx0LG8pLHRoaXMucHJlcGFyZUxheW91dCgpfXZhciBuPW8oMTQpLGE9bygxMCkscj1hLkJvb2xlYW5CaW5kZXIsbD1hLkNvbG9yQmluZGluZyxwPWEuU2xpZGVyQmluZGVyLHM9bygxNSkuY3JlYXRlTGluZVdpZHRoRWRpdG9yO2luaGVyaXQoaSxuKSxpLnByb3RvdHlwZS5wcmVwYXJlTGF5b3V0PWZ1bmN0aW9uKCl7dmFyIGUsdCxvLGksbjt0aGlzLl90YWJsZT0kKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRhYmxlIikpLHRoaXMuX3RhYmxlLmFkZENsYXNzKCJwcm9wZXJ0eS1wYWdlIiksdGhpcy5fdGFibGUuYXR0cigiY2VsbHNwYWNpbmciLCIwIiksdGhpcy5fdGFibGUuYXR0cigiY2VsbHBhZGRpbmciLCIyIiksZT1zKCksdD10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCksbz10aGlzLmFkZExhYmVsZWRSb3codGhpcy5fdGFibGUsIkJvcmRlciIpLG8ucHJlcGVuZCgiPHRkPiIpLCQoIjx0ZD4iKS5hcHBlbmQodCkuYXBwZW5kVG8obyksJCgiPHRkPiIpLmFwcGVuZChlKS5hcHBlbmRUbyhvKSxpPSQoJzxpbnB1dCB0eXBlPSJjaGVja2JveCIgY2xhc3M9InZpc2liaWxpdHktc3dpdGNoIj4nKSxuPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxvPXRoaXMuYWRkTGFiZWxlZFJvdyh0aGlzLl90YWJsZSwiQmFja2dyb3VuZCIsaSksJCgiPHRkPiIpLmFwcGVuZChpKS5wcmVwZW5kVG8obyksJCgiPHRkPiIpLmFwcGVuZChuKS5hcHBlbmRUbyhvKSx0aGlzLmJpbmRDb250cm9sKG5ldyByKGksdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmZpbGxCYWNrZ3JvdW5kLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFBvbHlsaW5lIEZpbGxpbmciKSksdGhpcy5iaW5kQ29udHJvbChuZXcgbCh0LHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5saW5lY29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUG9seWxpbmUgTGluZSBDb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKG4sdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmJhY2tncm91bmRDb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBQb2x5bGluZSBCYWNrZ3JvdW5kIENvbG9yIix0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkudHJhbnNwYXJlbmN5KSksdGhpcy5iaW5kQ29udHJvbChuZXcgcChlLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5saW5ld2lkdGgsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUG9seWxpbmUgQm9yZGVyIFdpZHRoIikpLHRoaXMubG9hZERhdGEoKX0saS5wcm90b3R5cGUud2lkZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3RhYmxlfSxlLmV4cG9ydHM9aX0sNzkxOmZ1bmN0aW9uKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlLHQsbyl7bi5jYWxsKHRoaXMsZSx0LG8pLHRoaXMucHJlcGFyZUxheW91dCgpfXZhciBuPW8oMTQpLGE9bygxMCkscj1hLkNvbG9yQmluZGluZyxsPWEuU2xpZGVyQmluZGVyLHA9bygxNSkuY3JlYXRlTGluZVdpZHRoRWRpdG9yO2luaGVyaXQoaSxuKSxpLnByb3RvdHlwZS5wcmVwYXJlTGF5b3V0PWZ1bmN0aW9uKCl7dmFyIGUsdCxvLGksbixhLHMsZCxoLGMsYix1LEMseSxnLHcsVCxfLG09JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPicpLGY9JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIHByb3BlcnR5LXBhZ2UtdW5wYWRkZWQiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCI+JykuY3NzKHt3aWR0aDoiMTAwJSJ9KSxMPSQoJzx0YWJsZSBjbGFzcz0icHJvcGVydHktcGFnZSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIj4nKTt0aGlzLl90YWJsZT1tLmFkZChmKS5hZGQoTCksZT10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCksdD1wKCksbz10aGlzLmFkZExhYmVsZWRSb3cobSwiTGluZSIpLCQoIjx0ZD4iKS5hcHBlbmQoZSkuYXBwZW5kVG8obyksJCgiPHRkPiIpLmFwcGVuZCh0KS5hcHBlbmRUbyhvKSxpPSQoIjx0cj4iKS5hcHBlbmRUbyhmKSxuPSQoIjx0ZD4iKS5hcHBlbmRUbyhpKS5jc3MoeyJ2ZXJ0aWNhbC1hbGlnbiI6InRvcCIsd2lkdGg6IjUwJSJ9KSxhPSQoIjx0ZD4iKS5hcHBlbmRUbyhpKS5jc3MoeyJ2ZXJ0aWNhbC1hbGlnbiI6InRvcCIsd2lkdGg6IjUwJSJ9KSxzPSQoJzx0YWJsZSBjbGFzcz0icHJvcGVydHktcGFnZSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIj4nKS5hcHBlbmRUbyhuKSxkPSQoJzx0YWJsZSBjbGFzcz0icHJvcGVydHktcGFnZSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIj4nKS5hcHBlbmRUbyhhKSxoPXRoaXMuYWRkQ29sb3JQaWNrZXJSb3cocywkLnQoIlNvdXJjZSBiYWNrIGNvbG9yIikpLGM9dGhpcy5hZGRDb2xvclBpY2tlclJvdyhzLCQudCgiU291cmNlIHRleHQgY29sb3IiKSksYj10aGlzLmFkZENvbG9yUGlja2VyUm93KHMsJC50KCJTb3VyY2UgYm9yZGVyIGNvbG9yIikpLA0KdT10aGlzLmFkZENvbG9yUGlja2VyUm93KHMsJC50KCJTdWNjZXNzIGJhY2sgY29sb3IiKSksQz10aGlzLmFkZENvbG9yUGlja2VyUm93KHMsJC50KCJTdWNjZXNzIHRleHQgY29sb3IiKSkseT10aGlzLmFkZENvbG9yUGlja2VyUm93KGQsJC50KCJUYXJnZXQgYmFjayBjb2xvciIpKSxnPXRoaXMuYWRkQ29sb3JQaWNrZXJSb3coZCwkLnQoIlRhcmdldCB0ZXh0IGNvbG9yIikpLHc9dGhpcy5hZGRDb2xvclBpY2tlclJvdyhkLCQudCgiVGFyZ2V0IGJvcmRlciBjb2xvciIpKSxUPXRoaXMuYWRkQ29sb3JQaWNrZXJSb3coZCwkLnQoIkZhaWx1cmUgYmFjayBjb2xvciIpKSxfPXRoaXMuYWRkQ29sb3JQaWNrZXJSb3coZCwkLnQoIkZhaWx1cmUgdGV4dCBjb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyByKGUsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmxpbmVjb2xvciwhMCx0aGlzLm1vZGVsKCksIkZvcmVjYXN0IExpbmUgQ29sb3IiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgbCh0LHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5saW5ld2lkdGgsITAsdGhpcy5tb2RlbCgpLCJGb3JlY2FzdCBMaW5lIFdpZHRoIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHIoZSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkubGluZWNvbG9yLCEwLHRoaXMubW9kZWwoKSwiRm9yZWNhc3QgTGluZSBDb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKHQsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmxpbmV3aWR0aCwhMCx0aGlzLm1vZGVsKCksIkZvcmVjYXN0IExpbmUgV2lkdGgiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcihoLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5zb3VyY2VCYWNrQ29sb3IsITAsdGhpcy5tb2RlbCgpLCJGb3JlY2FzdCBTb3VyY2UgQmFja2dyb3VuZCBDb2xvciIsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnRyYW5zcGFyZW5jeSkpLHRoaXMuYmluZENvbnRyb2wobmV3IHIoYix0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuc291cmNlU3Ryb2tlQ29sb3IsITAsdGhpcy5tb2RlbCgpLCJGb3JlY2FzdCBTb3VyY2UgQm9yZGVyIENvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHIoYyx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuc291cmNlVGV4dENvbG9yLCEwLHRoaXMubW9kZWwoKSwiRm9yZWNhc3QgU291cmNlIFRleHQgQ29sb3IiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcih5LHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS50YXJnZXRCYWNrQ29sb3IsITAsdGhpcy5tb2RlbCgpLCJGb3JlY2FzdCBUYXJnZXQgQmFja2dyb3VuZCBDb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyByKHcsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnRhcmdldFN0cm9rZUNvbG9yLCEwLHRoaXMubW9kZWwoKSwiRm9yZWNhc3QgVGFyZ2V0IEJvcmRlciBDb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyByKGcsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnRhcmdldFRleHRDb2xvciwhMCx0aGlzLm1vZGVsKCksIkZvcmVjYXN0IFRhcmdldCBUZXh0IENvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHIodSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuc3VjY2Vzc0JhY2tncm91bmQsITAsdGhpcy5tb2RlbCgpLCJGb3JlY2FzdCBTdWNjZXNzIEJhY2sgQ29sb3IiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcihDLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5zdWNjZXNzVGV4dENvbG9yLCEwLHRoaXMubW9kZWwoKSwiRm9yZWNhc3QgU3VjY2VzcyBUZXh0IENvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHIoVCx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuZmFpbHVyZUJhY2tncm91bmQsITAsdGhpcy5tb2RlbCgpLCJGb3JlY2FzdCBGYWlsdXJlIEJhY2sgQ29sb3IiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcihfLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5mYWlsdXJlVGV4dENvbG9yLCEwLHRoaXMubW9kZWwoKSwiRm9yZWNhc3QgRmFpbHVyZSBUZXh0IENvbG9yIikpLHRoaXMubG9hZERhdGEoKX0saS5wcm90b3R5cGUud2lkZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3RhYmxlfSxlLmV4cG9ydHM9aX0sNzkyOmZ1bmN0aW9uKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlLHQsbyl7bi5jYWxsKHRoaXMsZSx0LG8pLHRoaXMucHJlcGFyZUxheW91dCgpfXZhciBuPW8oMTQpLGE9bygxMCkscj1hLlNpbXBsZUNvbWJvQmluZGVyLGw9YS5Db2xvckJpbmRpbmc7aW5oZXJpdChpLG4pLGkucHJvdG90eXBlLnByZXBhcmVMYXlvdXQ9ZnVuY3Rpb24oKXt2YXIgZSx0LG8saSxuO3RoaXMuX3RhYmxlPSQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGFibGUiKSksdGhpcy5fdGFibGUuYWRkQ2xhc3MoInByb3BlcnR5LXBhZ2UiKSx0aGlzLl90YWJsZS5hdHRyKCJjZWxsc3BhY2luZyIsIjAiKSx0aGlzLl90YWJsZS5hdHRyKCJjZWxscGFkZGluZyIsIjIiKSxlPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSx0PXRoaXMuY3JlYXRlRm9udFNpemVFZGl0b3IoKSxvPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxpPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxuPXRoaXMuYWRkTGFiZWxlZFJvdyh0aGlzLl90YWJsZSwkLnQoIlRleHQiKSksJCgiPHRkPiIpLmFwcGVuZChlKS5hcHBlbmRUbyhuKSwkKCI8dGQ+IikuYXBwZW5kKHQpLmFwcGVuZFRvKG4pLG49dGhpcy5hZGRMYWJlbGVkUm93KHRoaXMuX3RhYmxlLCQudCgiQmFja2dyb3VuZCIpKSwkKCI8dGQ+IikuYXBwZW5kKG8pLmFwcGVuZFRvKG4pLG49dGhpcy5hZGRMYWJlbGVkUm93KHRoaXMuX3RhYmxlLCQudCgiQm9yZGVyIikpLCQoIjx0ZD4iKS5hcHBlbmQoaSkuYXBwZW5kVG8obiksdGhpcy5iaW5kQ29udHJvbChuZXcgbChlLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5jb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBQcmljZSBUZXh0IENvbG9yIikpLA0KdGhpcy5iaW5kQ29udHJvbChuZXcgcih0LHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5mb250c2l6ZSxwYXJzZUludCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBQcmljZSBUZXh0IEZvbnQgU2l6ZSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKG8sdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmJhY2tncm91bmRDb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBCYWNrZ3JvdW5kIENvbG9yIix0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkudHJhbnNwYXJlbmN5KSksdGhpcy5iaW5kQ29udHJvbChuZXcgbChpLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5ib3JkZXJDb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBCb3JkZXIgQ29sb3IiKSksdGhpcy5sb2FkRGF0YSgpfSxpLnByb3RvdHlwZS53aWRnZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdGFibGV9LGUuZXhwb3J0cz1pfSw3OTM6ZnVuY3Rpb24oZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUsdCxvKXtuLmNhbGwodGhpcyxlLHQsbyksdGhpcy5wcmVwYXJlTGF5b3V0KCl9dmFyIG49bygxNCksYT1vKDEwKSxyPWEuU2xpZGVyQmluZGVyLGw9YS5Db2xvckJpbmRpbmcscD1vKDE1KS5jcmVhdGVMaW5lV2lkdGhFZGl0b3I7aW5oZXJpdChpLG4pLGkucHJvdG90eXBlLnByZXBhcmVMYXlvdXQ9ZnVuY3Rpb24oKXt2YXIgZSx0LG8saSxuO3RoaXMuX3RhYmxlPSQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGFibGUiKSksdGhpcy5fdGFibGUuYWRkQ2xhc3MoInByb3BlcnR5LXBhZ2UiKSx0aGlzLl90YWJsZS5hdHRyKCJjZWxsc3BhY2luZyIsIjAiKSx0aGlzLl90YWJsZS5hdHRyKCJjZWxscGFkZGluZyIsIjIiKSxlPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSx0PXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxvPXRoaXMuYWRkTGFiZWxlZFJvdyh0aGlzLl90YWJsZSwiQmFja2dyb3VuZCIpLCQoIjx0ZD4iKS5hcHBlbmQoZSkuYXBwZW5kVG8obyksJCgiPHRkPiIpLmFwcGVuZCh0KS5hcHBlbmRUbyhvKSxpPXAoKSxuPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxvPXRoaXMuYWRkTGFiZWxlZFJvdyh0aGlzLl90YWJsZSwiQm9yZGVyIiksJCgiPHRkPiIpLmFwcGVuZChuKS5hcHBlbmRUbyhvKSwkKCI8dGQ+IikuYXBwZW5kVG8obyksJCgiPHRkPiIpLmFwcGVuZChpKS5hcHBlbmRUbyhvKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKG4sdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnRyZW5kbGluZS5jb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBQcm9qZWN0aW9uIExpbmUgQ29sb3IiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgbChlLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5jb2xvcjEsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUHJvamVjdGlvbiBCYWNrZ3JvdW5kIENvbG9yIix0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkudHJhbnNwYXJlbmN5KSksdGhpcy5iaW5kQ29udHJvbChuZXcgbCh0LHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5jb2xvcjIsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUHJvamVjdGlvbiBCYWNrZ3JvdW5kIENvbG9yIix0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkudHJhbnNwYXJlbmN5KSksdGhpcy5iaW5kQ29udHJvbChuZXcgcihpLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5saW5ld2lkdGgsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUHJvamVjdGlvbiBCb3JkZXIgV2lkdGgiKSksdGhpcy5sb2FkRGF0YSgpfSxpLnByb3RvdHlwZS53aWRnZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdGFibGV9LGUuZXhwb3J0cz1pfSw3OTU6ZnVuY3Rpb24oZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUsdCxvKXtuLmNhbGwodGhpcyxlLHQsbyksdGhpcy5wcmVwYXJlTGF5b3V0KCl9dmFyIG49bygxNCksYT1vKDEwKSxyPWEuQ29sb3JCaW5kaW5nLGw9YS5Cb29sZWFuQmluZGVyLHA9YS5TbGlkZXJCaW5kZXIscz1vKDE1KS5jcmVhdGVMaW5lV2lkdGhFZGl0b3I7aW5oZXJpdChpLG4pLGkucHJvdG90eXBlLnByZXBhcmVMYXlvdXQ9ZnVuY3Rpb24oKXt2YXIgZSx0LG8saSxuO3RoaXMuX3RhYmxlPSQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGFibGUiKSksdGhpcy5fdGFibGUuYWRkQ2xhc3MoInByb3BlcnR5LXBhZ2UiKSx0aGlzLl90YWJsZS5hdHRyKCJjZWxsc3BhY2luZyIsIjAiKSx0aGlzLl90YWJsZS5hdHRyKCJjZWxscGFkZGluZyIsIjIiKSxlPXMoKSx0PXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxvPXRoaXMuYWRkTGFiZWxlZFJvdyh0aGlzLl90YWJsZSwiQm9yZGVyIiksby5wcmVwZW5kKCI8dGQ+IiksJCgiPHRkPiIpLmFwcGVuZCh0KS5hcHBlbmRUbyhvKSwkKCI8dGQ+IikuYXBwZW5kKGUpLmFwcGVuZFRvKG8pLGk9JCgnPGlucHV0IHR5cGU9ImNoZWNrYm94IiBjbGFzcz0idmlzaWJpbGl0eS1zd2l0Y2giPicpLG49dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLG89dGhpcy5hZGRMYWJlbGVkUm93KHRoaXMuX3RhYmxlLCJCYWNrZ3JvdW5kIixpKSwkKCI8dGQ+IikuYXBwZW5kKGkpLnByZXBlbmRUbyhvKSwkKCI8dGQ+IikuYXBwZW5kKG4pLmFwcGVuZFRvKG8pLHRoaXMuYmluZENvbnRyb2wobmV3IGwoaSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuZmlsbEJhY2tncm91bmQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUmVjdGFuZ2xlIEZpbGxpbmciKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcih0LHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5jb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBSZWN0YW5nbGUgTGluZSBDb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyByKG4sdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmJhY2tncm91bmRDb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBSZWN0YW5nbGUgQmFja2dyb3VuZCBDb2xvciIsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnRyYW5zcGFyZW5jeSkpLHRoaXMuYmluZENvbnRyb2wobmV3IHAoZSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkubGluZXdpZHRoLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFJlY3RhbmdsZSBCb3JkZXIgV2lkdGgiKSksDQp0aGlzLmxvYWREYXRhKCl9LGkucHJvdG90eXBlLndpZGdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl90YWJsZX0sZS5leHBvcnRzPWl9LDc5NjpmdW5jdGlvbihlLHQsbyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0KXt0aGlzLl9jaGFydFdpZGdldD1lLHRoaXMuX3VuZG9Nb2RlbD10fWZ1bmN0aW9uIG4oZSx0LG8pe2EuY2FsbCh0aGlzLGUsdCxvKSx0aGlzLnByZXBhcmVMYXlvdXQoKX12YXIgYT1vKDE0KSxyPW8oMTApLGw9ci5TaW1wbGVTdHJpbmdCaW5kZXIscD1yLlNpbXBsZUNvbWJvQmluZGVyLHM9ci5Db2xvckJpbmRpbmcsZD1yLkJvb2xlYW5CaW5kZXI7aS5wcm90b3R5cGUuYXR0YWNoU291cmNlPWZ1bmN0aW9uKGUsdCl7dGhpcy5fc291cmNlPWUsdGhpcy5fZWRpdD0kKCI8dGV4dGFyZWE+IiksdGhpcy5fZWRpdC5jc3MoIndpZHRoIiwiMzAwIiksdGhpcy5fZWRpdC5jc3MoImhlaWdodCIsIjE1MCIpLHRoaXMuX2VkaXQuYXBwZW5kVG8odGhpcy5fY2hhcnRXaWRnZXQuX2pxTWFpbkRpdiksdGhpcy5fZWRpdC5jc3MoInBvc2l0aW9uIiwiYWJzb2x1dGUiKSx0aGlzLl9lZGl0LmNzcygibGVmdCIsdC54KyJweCIpLHRoaXMuX2VkaXQuY3NzKCJ0b3AiLHQueSsicHgiKSx0aGlzLl9lZGl0LnZhbChlLnByb3BlcnRpZXMoKS50ZXh0LnZhbHVlKCkpLHRoaXMuX2VkaXQuZm9jdXMoKTt2YXIgbz10aGlzLl9lZGl0O3JldHVybiBvLnNlbGVjdCgpLHRoaXMuX2JpbmRpbmc9bmV3IGwobyxlLnByb3BlcnRpZXMoKS50ZXh0LG51bGwsITAsdGhpcy5fdW5kb01vZGVsLCJjaGFuZ2UgbGluZSB0b29sIHRleHQiKSx0aGlzLl9lZGl0LmZvY3Vzb3V0KGZ1bmN0aW9uKCl7ZS5wcm9wZXJ0aWVzKCkudGV4dC5zZXRWYWx1ZShvLnZhbCgpKX0pLHRoaXMuX2VkaXQubW91c2Vkb3duKGZ1bmN0aW9uKGUpe3JldHVybiEwfSksb30saW5oZXJpdChuLGEpLG4ucHJvdG90eXBlLnByZXBhcmVMYXlvdXQ9ZnVuY3Rpb24oKXt2YXIgZSx0LG8saSxuPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxhPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxyPXRoaXMuY3JlYXRlRm9udFNpemVFZGl0b3IoKSxoPXRoaXMuY3JlYXRlRm9udEVkaXRvcigpLGM9dGhpcy5jcmVhdGVUZXh0RWRpdG9yKDM1MCwyMDApLGI9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLHU9JCgnPGlucHV0IHR5cGU9ImNoZWNrYm94IiBjbGFzcz0idmlzaWJpbGl0eS1zd2l0Y2giPicpLEM9JCgnPGlucHV0IHR5cGU9ImNoZWNrYm94IiBjbGFzcz0idmlzaWJpbGl0eS1zd2l0Y2giPicpLHk9JCgnPGlucHV0IHR5cGU9ImNoZWNrYm94Ij4nKSxnPSQoJzxzcGFuIGNsYXNzPSJfdHYtYnV0dG9uIF90di1idXR0b24tZm9udHN0eWxlIj48c3BhbiBjbGFzcz0iaWNvbi1mb250c3R5bGUtYm9sZCI+PC9zcGFuPjwvc3Bhbj4nKSx3PSQoJzxzcGFuIGNsYXNzPSJfdHYtYnV0dG9uIF90di1idXR0b24tZm9udHN0eWxlIj48c3BhbiBjbGFzcz0iaWNvbi1mb250c3R5bGUtaXRhbGljIj48L3NwYW4+PC9zcGFuPicpO3RoaXMuYmluZENvbnRyb2wobmV3IHMobix0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuY29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVGV4dCBDb2xvciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKHIsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmZvbnRzaXplLHBhcnNlSW50LCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRleHQgRm9udCBTaXplIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHAoaCx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuZm9udCxudWxsLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRleHQgRm9udCIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKGMsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnRleHQsbnVsbCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUZXh0IikpLHRoaXMuYmluZENvbnRyb2wobmV3IHMoYix0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuYmFja2dyb3VuZENvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRleHQgQmFja2dyb3VuZCIsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmJhY2tncm91bmRUcmFuc3BhcmVuY3kpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBkKHUsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmZpbGxCYWNrZ3JvdW5kLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRleHQgQmFja2dyb3VuZCBGaWxsIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGQoQyx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuZHJhd0JvcmRlciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUZXh0IEJvcmRlciIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBzKGEsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmJvcmRlckNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRleHQgQm9yZGVyIENvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGQoeSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkud29yZFdyYXAsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVGV4dCBXcmFwIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGQoZyx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuYm9sZCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUZXh0IEZvbnQgQm9sZCIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBkKHcsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLml0YWxpYywhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUZXh0IEZvbnQgSXRhbGljIikpLGU9JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPicpLHQ9JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPicpLG89JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPicpLHRoaXMuX3RhYmxlPWUuYWRkKG8pLmFkZCh0KSwkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRyIikpLmFwcGVuZCgkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIikpLmF0dHIoe3dpZHRoOjENCn0pLmFwcGVuZChuKSkuYXBwZW5kKCQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKSkuYXR0cih7d2lkdGg6MX0pLmFwcGVuZChoKSkuYXBwZW5kKCQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKSkuYXR0cih7d2lkdGg6MX0pLmFwcGVuZChyKSkuYXBwZW5kKCQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKSkuYXR0cih7d2lkdGg6MX0pLmFwcGVuZChnKSkuYXBwZW5kKCQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKSkuYXBwZW5kKHcpKS5hcHBlbmRUbyhlKSwkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRyIikpLmFwcGVuZCgkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIikpLmF0dHIoe2NvbHNwYW46NX0pLmFwcGVuZChjKSkuYXBwZW5kVG8oZSksaT10aGlzLmFkZExhYmVsZWRSb3codCwkLnQoIlRleHQgV3JhcCIpLHkpLCQoIjx0ZD4iKS5hcHBlbmQoeSkucHJlcGVuZFRvKGkpLGk9dGhpcy5hZGRMYWJlbGVkUm93KG8sJC50KCJCYWNrZ3JvdW5kIiksdSksJCgiPHRkPiIpLmFwcGVuZCh1KS5wcmVwZW5kVG8oaSksJCgiPHRkPiIpLmFwcGVuZChiKS5hcHBlbmRUbyhpKSxpPXRoaXMuYWRkTGFiZWxlZFJvdyhvLCQudCgiQm9yZGVyIiksQyksJCgiPHRkPiIpLmFwcGVuZChDKS5wcmVwZW5kVG8oaSksJCgiPHRkPiIpLmFwcGVuZChhKS5hcHBlbmRUbyhpKSx0aGlzLmxvYWREYXRhKCksc2V0VGltZW91dChmdW5jdGlvbigpe2Muc2VsZWN0KCksYy5mb2N1cygpfSwyMCl9LG4ucHJvdG90eXBlLndpZGdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl90YWJsZX0sbi5wcm90b3R5cGUuZGlhbG9nUG9zaXRpb249ZnVuY3Rpb24oZSx0KXt2YXIgbyxpLG4sYSxyLGwscCxzPTUsZD0wLGg9dGhpcy5fbGluZXRvb2wsYz1oLl9tb2RlbC5wYW5lRm9yU291cmNlKGgpLGI9dGhpcy5fbW9kZWwuX2NoYXJ0V2lkZ2V0O3JldHVybiAkLmVhY2goYi5wYW5lV2lkZ2V0cygpLGZ1bmN0aW9uKGUsdCl7aWYodC5fc3RhdGU9PT1jKXJldHVybiBkPSQodC5jYW52YXMpLm9mZnNldCgpLnRvcCwhMX0pLGV8fChlPXt9KSxpPWUubGVmdCxuPWUudG9wLGE9KHRoaXMuX2xpbmV0b29sLnBhbmVWaWV3cygpfHxbXSlbMF0sYSYmKG89YS5fZmxvYXRQb2ludHNbMF0pLG8mJihpPW8ueCxuPW8ueStkKSxyPSQodCkub3V0ZXJIZWlnaHQoKSxsPSQod2luZG93KS5oZWlnaHQoKSxwPWgucHJvcGVydGllcygpLmZvbnRzaXplLnZhbHVlKCksbj1uK3IrcCtzPD1sP24rcCtzOm4tci1zLHt0b3A6bixsZWZ0Oml9fSxlLmV4cG9ydHM9bn0sNzk3OmZ1bmN0aW9uKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlLHQsbyl7bi5jYWxsKHRoaXMsZSx0LG8pLHRoaXMucHJlcGFyZUxheW91dCgpfXZhciBuPW8oMTQpLGE9bygxMCkscj1hLlNpbXBsZUNvbWJvQmluZGVyLGw9YS5Db2xvckJpbmRpbmcscD1hLlNsaWRlckJpbmRlcixzPWEuQm9vbGVhbkJpbmRlcixkPW8oMzEpLmNyZWF0ZUxpbmVTdHlsZUVkaXRvcixoPW8oMTUpLmNyZWF0ZUxpbmVXaWR0aEVkaXRvcjtpbmhlcml0KGksbiksaS5wcm90b3R5cGUucHJlcGFyZUxheW91dD1mdW5jdGlvbigpe3ZhciBlLHQsbyxpLG4sYSxjLGI7dGhpcy5fdGFibGU9JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPicpLGU9JCgiPHRib2R5PiIpLmFwcGVuZFRvKHRoaXMuX3RhYmxlKSx0PWgoKSxvPWQoKSxpPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxuPXRoaXMuYWRkTGFiZWxlZFJvdyhlLCQudCgiTGluZSIpKSwkKCI8dGQ+IikuYXBwZW5kKGkpLmFwcGVuZFRvKG4pLCQoIjx0ZD4iKS5hcHBlbmQodCkuYXBwZW5kVG8obiksJCgnPHRkIGNvbHNwYW49IjMiPicpLmFwcGVuZChvLnJlbmRlcigpKS5hcHBlbmRUbyhuKSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuZmlsbEJhY2tncm91bmQmJigkKCI8dGQ+IikucHJlcGVuZFRvKG4pLGE9JCgnPGlucHV0IHR5cGU9ImNoZWNrYm94IiBjbGFzcz0idmlzaWJpbGl0eS1zd2l0Y2giPicpLGM9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLGI9JCgiPHRib2R5PiIpLmFwcGVuZFRvKHRoaXMuX3RhYmxlKSxuPSQoIjx0cj4iKS5hcHBlbmRUbyhiKSwkKCI8dGQ+IikuYXBwZW5kKGEpLmFwcGVuZFRvKG4pLCQoIjx0ZD4iKS5hcHBlbmQoJC50KCJCYWNrZ3JvdW5kIikpLmFwcGVuZFRvKG4pLCQoIjx0ZD4iKS5hcHBlbmQoYykuYXBwZW5kVG8obikpLHRoaXMuYmluZENvbnRyb2wobmV3IGwoaSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkubGluZWNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRpbWUgQ3ljbGVzIENvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHIobyx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkubGluZXN0eWxlLHBhcnNlSW50LCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRpbWUgQ3ljbGVzIExpbmUgU3R5bGUiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcCh0LHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5saW5ld2lkdGgsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVGltZSBDeWNsZXMgTGluZSBXaWR0aCIpKSxhJiYodGhpcy5iaW5kQ29udHJvbChuZXcgcyhhLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5maWxsQmFja2dyb3VuZCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUaW1lIEN5Y2xlcyBGaWxsaW5nIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGwoYyx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuYmFja2dyb3VuZENvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRpbWUgQ3ljbGVzIEJhY2tncm91bmQgQ29sb3IiLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS50cmFuc3BhcmVuY3kpKSl9LGkucHJvdG90eXBlLndpZGdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl90YWJsZX0sZS5leHBvcnRzPWl9LDc5ODpmdW5jdGlvbihlLHQsbyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0LG8pe24uY2FsbCh0aGlzLGUsdCxvKSx0aGlzLnByZXBhcmVMYXlvdXQoKX0NCnZhciBuPW8oMTQpLGE9bygxMCkscj1hLlNpbXBsZUNvbWJvQmluZGVyLGw9YS5Db2xvckJpbmRpbmcscD1hLkJvb2xlYW5CaW5kZXIscz1hLlNsaWRlckJpbmRlcixkPW8oMzEpLmNyZWF0ZUxpbmVTdHlsZUVkaXRvcixoPW8oMTUpLmNyZWF0ZUxpbmVXaWR0aEVkaXRvcjtpbmhlcml0KGksbiksaS5wcm90b3R5cGUucHJlcGFyZUxheW91dD1mdW5jdGlvbigpe3ZhciBlLHQsbyxpLG4sYSxjLGIsdSxDLHksZyx3LFQsXyxtLGYsTCx2LGs7dGhpcy5fdGFibGU9JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPicpLGU9JCgiPHRib2R5PiIpLmFwcGVuZFRvKHRoaXMuX3RhYmxlKSx0PWgoKSxvPWQoKSxpPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxuPXRoaXMuYWRkTGFiZWxlZFJvdyhlLCQudCgiTGluZSIpKSwkKCI8dGQ+IikuYXBwZW5kKGkpLmFwcGVuZFRvKG4pLCQoIjx0ZD4iKS5hcHBlbmQodCkuYXBwZW5kVG8obiksJCgnPHRkIGNvbHNwYW49IjMiPicpLmFwcGVuZChvLnJlbmRlcigpKS5hcHBlbmRUbyhuKSxhPSQoIjx0Ym9keT4iKS5hcHBlbmRUbyh0aGlzLl90YWJsZSksYz0kKCI8bGFiZWw+IiskLnQoIkV4dGVuZCIpKyIgPC9sYWJlbD4iKS5jc3MoeyJtYXJnaW4tbGVmdCI6IjhweCJ9KSxiPSQoJzxpbnB1dCB0eXBlPSJjaGVja2JveCI+JykuYXBwZW5kVG8oYyksdT0kKCI8bGFiZWw+IiskLnQoIkV4dGVuZCIpKyIgPC9sYWJlbD4iKS5jc3MoeyJtYXJnaW4tbGVmdCI6IjhweCJ9KSxDPSQoJzxpbnB1dCB0eXBlPSJjaGVja2JveCI+JykuYXBwZW5kVG8odSkseT0kKCI8c2VsZWN0PjxvcHRpb24gdmFsdWU9JzAnPiIrJC50KCJOb3JtYWwiKSsiPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nMSc+IiskLnQoIkFycm93IikrIjwvb3B0aW9uPjwvc2VsZWN0PiIpLGc9JCgiPHNlbGVjdD48b3B0aW9uIHZhbHVlPScwJz4iKyQudCgiTm9ybWFsIikrIjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9JzEnPiIrJC50KCJBcnJvdyIpKyI8L29wdGlvbj48L3NlbGVjdD4iKSxuPXRoaXMuYWRkTGFiZWxlZFJvdyhhLCQudCgiTGVmdCBFbmQiKSksJCgnPHRkIGNvbHNwYW49IjMiPicpLmFwcGVuZFRvKG4pLmFwcGVuZCh5KS5hcHBlbmQoYyksbj10aGlzLmFkZExhYmVsZWRSb3coYSwkLnQoIlJpZ2h0IEVuZCIpKSwkKCc8dGQgY29sc3Bhbj0iMyI+JykuYXBwZW5kVG8obikuYXBwZW5kKGcpLmFwcGVuZCh1KSxuPXRoaXMuYWRkTGFiZWxlZFJvdyhhLCQudCgiU3RhdHMgVGV4dCBDb2xvciIpKSx3PXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSwkKCI8dGQ+IikuYXBwZW5kKHcpLmFwcGVuZFRvKG4pLHRoaXMuYmluZENvbnRyb2wobmV3IGwodyx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkudGV4dGNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRleHQgQ29sb3IiKSksVD0kKCc8aW5wdXQgdHlwZT0iY2hlY2tib3giPicpLF89JCgnPGlucHV0IHR5cGU9ImNoZWNrYm94Ij4nKSxtPSQoJzxpbnB1dCB0eXBlPSJjaGVja2JveCI+JyksZj0kKCc8aW5wdXQgdHlwZT0iY2hlY2tib3giPicpLEw9JCgnPGlucHV0IHR5cGU9ImNoZWNrYm94Ij4nKSx2PSQoJzxpbnB1dCB0eXBlPSJjaGVja2JveCI+Jyksaz0kKCc8aW5wdXQgdHlwZT0iY2hlY2tib3giPicpLG49dGhpcy5hZGRMYWJlbGVkUm93KGEsJC50KCJTaG93IFByaWNlIFJhbmdlIikpLCQoJzx0ZCBjb2xzcGFuPSIzIj4nKS5hcHBlbmRUbyhuKS5hcHBlbmQoVCksbj10aGlzLmFkZExhYmVsZWRSb3coYSwkLnQoIlNob3cgQmFycyBSYW5nZSIpKSwkKCc8dGQgY29sc3Bhbj0iMyI+JykuYXBwZW5kVG8obikuYXBwZW5kKF8pLG49dGhpcy5hZGRMYWJlbGVkUm93KGEsJC50KCJTaG93IERhdGUvVGltZSBSYW5nZSIpKSwkKCc8dGQgY29sc3Bhbj0iMyI+JykuYXBwZW5kVG8obikuYXBwZW5kKG0pLG49dGhpcy5hZGRMYWJlbGVkUm93KGEsJC50KCJTaG93IERpc3RhbmNlIikpLCQoJzx0ZCBjb2xzcGFuPSIzIj4nKS5hcHBlbmRUbyhuKS5hcHBlbmQoZiksbj10aGlzLmFkZExhYmVsZWRSb3coYSwkLnQoIlNob3cgQW5nbGUiKSksJCgnPHRkIGNvbHNwYW49IjMiPicpLmFwcGVuZFRvKG4pLmFwcGVuZChMKSxuPXRoaXMuYWRkTGFiZWxlZFJvdyhhLCQudCgiQWx3YXlzIFNob3cgU3RhdHMiKSksJCgnPHRkIGNvbHNwYW49IjMiPicpLmFwcGVuZFRvKG4pLmFwcGVuZCh2KSxuPXRoaXMuYWRkTGFiZWxlZFJvdyhhLCQudCgiU2hvdyBNaWRkbGUgUG9pbnQiKSksJCgnPHRkIGNvbHNwYW49IjMiPicpLmFwcGVuZFRvKG4pLmFwcGVuZChrKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKGIsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmV4dGVuZExlZnQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVHJlbmQgTGluZSBFeHRlbmRpbmcgTGVmdCIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKEMsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmV4dGVuZFJpZ2h0LCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRyZW5kIExpbmUgRXh0ZW5kaW5nIFJpZ2h0IikpLHRoaXMuYmluZENvbnRyb2wobmV3IGwoaSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkubGluZWNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRyZW5kIExpbmUgQ29sb3IiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcihvLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5saW5lc3R5bGUscGFyc2VJbnQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVHJlbmQgTGluZSBTdHlsZSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBzKHQsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmxpbmV3aWR0aCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUcmVuZCBMaW5lIFdpZHRoIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHIoeSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkubGVmdEVuZCxwYXJzZUludCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUcmVuZCBMaW5lIExlZnQgRW5kIikpLA0KdGhpcy5iaW5kQ29udHJvbChuZXcgcihnLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5yaWdodEVuZCxwYXJzZUludCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUcmVuZCBMaW5lIFJpZ2h0IEVuZCIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKFQsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnNob3dQcmljZVJhbmdlLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRyZW5kIExpbmUgU2hvdyBQcmljZSBSYW5nZSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKF8sdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnNob3dCYXJzUmFuZ2UsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVHJlbmQgTGluZSBTaG93IEJhcnMgUmFuZ2UiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcChtLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5zaG93RGF0ZVRpbWVSYW5nZSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUcmVuZCBMaW5lIFNob3cgRGF0ZS9UaW1lIFJhbmdlIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHAoZix0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuc2hvd0Rpc3RhbmNlLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRyZW5kIExpbmUgU2hvdyBEaXN0YW5jZSIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKEwsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnNob3dBbmdsZSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUcmVuZCBMaW5lIFNob3cgQW5nbGUiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcCh2LHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5hbHdheXNTaG93U3RhdHMsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVHJlbmQgTGluZSBBbHdheXMgU2hvdyBTdGF0cyIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKGssdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnNob3dNaWRkbGVQb2ludCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBUcmVuZCBMaW5lIFNob3cgTWlkZGxlIFBvaW50IikpLHRoaXMubG9hZERhdGEoKX0saS5wcm90b3R5cGUud2lkZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3RhYmxlfSxlLmV4cG9ydHM9aX0sNzk5OmZ1bmN0aW9uKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlLHQsbyl7bi5jYWxsKHRoaXMsZSx0LG8pLHRoaXMucHJlcGFyZUxheW91dCgpfXZhciBuPW8oMTQpLGE9bygxMCkscj1hLkJvb2xlYW5CaW5kZXIsbD1hLkNvbG9yQmluZGluZyxwPWEuU2xpZGVyQmluZGVyLHM9YS5TaW1wbGVDb21ib0JpbmRlcixkPW8oMTUpLmNyZWF0ZUxpbmVXaWR0aEVkaXRvcjtpbmhlcml0KGksbiksaS5wcm90b3R5cGUucHJlcGFyZUxheW91dD1mdW5jdGlvbigpe3ZhciBlLHQsbyxpLG4sYSxoLGMsYix1LEM7dGhpcy5fdGFibGU9JChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0YWJsZSIpKSx0aGlzLl90YWJsZS5hZGRDbGFzcygicHJvcGVydHktcGFnZSIpLHRoaXMuX3RhYmxlLmF0dHIoImNlbGxzcGFjaW5nIiwiMCIpLHRoaXMuX3RhYmxlLmF0dHIoImNlbGxwYWRkaW5nIiwiMiIpLGU9ZCgpLHQ9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLG89dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLGk9JCgnPHNwYW4gY2xhc3M9Il90di1idXR0b24gX3R2LWJ1dHRvbi1mb250c3R5bGUiPjxzcGFuIGNsYXNzPSJpY29uLWZvbnRzdHlsZS1ib2xkIj48L3NwYW4+PC9zcGFuPicpLG49JCgnPHNwYW4gY2xhc3M9Il90di1idXR0b24gX3R2LWJ1dHRvbi1mb250c3R5bGUiPjxzcGFuIGNsYXNzPSJpY29uLWZvbnRzdHlsZS1pdGFsaWMiPjwvc3Bhbj48L3NwYW4+JyksYT10aGlzLmNyZWF0ZUZvbnRTaXplRWRpdG9yKCksaD10aGlzLmNyZWF0ZUZvbnRFZGl0b3IoKSxjPXRoaXMuYWRkTGFiZWxlZFJvdyh0aGlzLl90YWJsZSwiQm9yZGVyIiksYy5wcmVwZW5kKCI8dGQ+IiksJCgiPHRkPiIpLmFwcGVuZCh0KS5hcHBlbmRUbyhjKSwkKCI8dGQ+IikuYXBwZW5kKGUpLmFwcGVuZFRvKGMpLGI9JCgnPGlucHV0IHR5cGU9ImNoZWNrYm94IiBjbGFzcz0idmlzaWJpbGl0eS1zd2l0Y2giPicpLHU9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLGg9dGhpcy5jcmVhdGVGb250RWRpdG9yKCksYz10aGlzLmFkZExhYmVsZWRSb3codGhpcy5fdGFibGUsIkJhY2tncm91bmQiLGIpLCQoIjx0ZD4iKS5hcHBlbmQoYikucHJlcGVuZFRvKGMpLCQoIjx0ZD4iKS5hcHBlbmQodSkuYXBwZW5kVG8oYyksdGhpcy5iaW5kQ29udHJvbChuZXcgcihiLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5maWxsQmFja2dyb3VuZCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBQYXR0ZXJuIEZpbGxpbmciKSksdGhpcy5iaW5kQ29udHJvbChuZXcgbCh0LHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5jb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBQYXR0ZXJuIExpbmUgQ29sb3IiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgbChvLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS50ZXh0Y29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUGF0dGVybiBUZXh0IENvbG9yIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGwodSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuYmFja2dyb3VuZENvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFBhdHRlcm4gQmFja2dyb3VuZCBDb2xvciIsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnRyYW5zcGFyZW5jeSkpLHRoaXMuYmluZENvbnRyb2wobmV3IHAoZSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkubGluZXdpZHRoLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFBhdHRlcm4gQm9yZGVyIFdpZHRoIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHMoYSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuZm9udHNpemUscGFyc2VJbnQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVGV4dCBGb250IFNpemUiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgcyhoLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5mb250LG51bGwsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVGV4dCBGb250IikpLA0KdGhpcy5iaW5kQ29udHJvbChuZXcgcihpLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5ib2xkLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRleHQgRm9udCBCb2xkIikpLHRoaXMuYmluZENvbnRyb2wobmV3IHIobix0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuaXRhbGljLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRleHQgRm9udCBJdGFsaWMiKSksQz0kKCc8dGFibGUgY2xhc3M9InByb3BlcnR5LXBhZ2UiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+PHRyPicpLmFwcGVuZCgkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIikpLmF0dHIoe3dpZHRoOjF9KS5hcHBlbmQobykpLmFwcGVuZCgkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIikpLmF0dHIoe3dpZHRoOjF9KS5hcHBlbmQoaCkpLmFwcGVuZCgkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIikpLmF0dHIoe3dpZHRoOjF9KS5hcHBlbmQoYSkpLmFwcGVuZCgkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIikpLmNzcygidmVydGljYWwtYWxpZ24iLCJ0b3AiKS5hdHRyKHt3aWR0aDoxfSkuYXBwZW5kKGkpKS5hcHBlbmQoJChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpKS5jc3MoInZlcnRpY2FsLWFsaWduIiwidG9wIikuYXBwZW5kKG4pKS5hcHBlbmQoJCgiPC90cj48L3RhYmxlPiIpKSxjPXRoaXMuYWRkTGFiZWxlZFJvdyh0aGlzLl90YWJsZSwiIiksJCgnPHRkIGNvbHNwYW49IjUiPicpLmFwcGVuZChDKS5hcHBlbmRUbyhjKSx0aGlzLmxvYWREYXRhKCl9LGkucHJvdG90eXBlLndpZGdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl90YWJsZX0sZS5leHBvcnRzPWl9LDgwMDpmdW5jdGlvbihlLHQsbyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0LG8pe24uY2FsbCh0aGlzLGUsdCxvKSx0aGlzLnByZXBhcmVMYXlvdXQoKX12YXIgbj1vKDE0KSxhPW8oMTApLHI9YS5Cb29sZWFuQmluZGVyLGw9YS5Db2xvckJpbmRpbmcscD1hLlNsaWRlckJpbmRlcixzPW8oMTUpLmNyZWF0ZUxpbmVXaWR0aEVkaXRvcjtpbmhlcml0KGksbiksaS5wcm90b3R5cGUucHJlcGFyZUxheW91dD1mdW5jdGlvbigpe3ZhciBlLHQsbyxpLG47dGhpcy5fdGFibGU9JChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0YWJsZSIpKSx0aGlzLl90YWJsZS5hZGRDbGFzcygicHJvcGVydHktcGFnZSIpLHRoaXMuX3RhYmxlLmF0dHIoImNlbGxzcGFjaW5nIiwiMCIpLHRoaXMuX3RhYmxlLmF0dHIoImNlbGxwYWRkaW5nIiwiMiIpLGU9cygpLHQ9dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLG89dGhpcy5hZGRMYWJlbGVkUm93KHRoaXMuX3RhYmxlLCQudCgiQm9yZGVyIikpLG8ucHJlcGVuZCgiPHRkPiIpLCQoIjx0ZD4iKS5hcHBlbmQodCkuYXBwZW5kVG8obyksJCgiPHRkPiIpLmFwcGVuZChlKS5hcHBlbmRUbyhvKSxpPSQoJzxpbnB1dCB0eXBlPSJjaGVja2JveCIgY2xhc3M9InZpc2liaWxpdHktc3dpdGNoIj4nKSxuPXRoaXMuY3JlYXRlQ29sb3JQaWNrZXIoKSxvPXRoaXMuYWRkTGFiZWxlZFJvdyh0aGlzLl90YWJsZSwkLnQoIkJhY2tncm91bmQiKSxpKSwkKCI8dGQ+IikuYXBwZW5kKGkpLnByZXBlbmRUbyhvKSwkKCI8dGQ+IikuYXBwZW5kKG4pLmFwcGVuZFRvKG8pLHRoaXMuYmluZENvbnRyb2wobmV3IHIoaSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkuZmlsbEJhY2tncm91bmQsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVHJpYW5nbGUgRmlsbGluZyIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKHQsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLmNvbG9yLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRyaWFuZ2xlIExpbmUgQ29sb3IiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgbChuLHRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5iYWNrZ3JvdW5kQ29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVHJpYW5nbGUgQmFja2dyb3VuZCBDb2xvciIsdGhpcy5fbGluZXRvb2wucHJvcGVydGllcygpLnRyYW5zcGFyZW5jeSkpLHRoaXMuYmluZENvbnRyb2wobmV3IHAoZSx0aGlzLl9saW5ldG9vbC5wcm9wZXJ0aWVzKCkubGluZXdpZHRoLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFRyaWFuZ2xlIEJvcmRlciBXaWR0aCIpKSx0aGlzLmxvYWREYXRhKCl9LGkucHJvdG90eXBlLndpZGdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl90YWJsZX0sZS5leHBvcnRzPWl9LDgwMTpmdW5jdGlvbihlLHQsbyl7KGZ1bmN0aW9uKHQpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUsdCxvKXthLmNhbGwodGhpcyxlLHQpLHRoaXMuX2xpbmV0b29sPW8sdGhpcy5wcmVwYXJlTGF5b3V0KCl9dmFyIG49bygxMCksYT1uLlByb3BlcnR5UGFnZSxyPW4uQm9vbGVhbkJpbmRlcixsPW4uUmFuZ2VCaW5kZXI7aW5oZXJpdChpLGEpLGkucHJvdG90eXBlLnByZXBhcmVMYXlvdXQ9ZnVuY3Rpb24oKXt2YXIgZSxvLGksbixhLHAscyxkLGgsYyxiLHU7dGhpcy5fYmxvY2s9JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIj4nKSxlPXRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5pbnRlcnZhbHNWaXNpYmlsaXRpZXMsdC5lbmFibGVkKCJzZWNvbmRzX3Jlc29sdXRpb24iKSYmKG89JCgiPHRyPiIpLmFwcGVuZFRvKHRoaXMuX2Jsb2NrKSxpPSQoIjxsYWJlbD4iKS5hcHBlbmQoJC50KCJTZWNvbmRzIikpLG49JCgiPGlucHV0IHR5cGU9J2NoZWNrYm94Jz4iKS5hZGRDbGFzcygidmlzaWJpbGl0eS1jaGVja2VyIikucHJlcGVuZFRvKGkpLCQoIjx0ZD4iKS5jc3MoInBhZGRpbmctcmlnaHQiLCIxNXB4IikuYXBwZW5kKGkpLmFwcGVuZFRvKG8pLGE9JCgiPGlucHV0IHR5cGU9J3RleHQnPiIpLmFkZENsYXNzKCJ0aWNrZXItdGV4dCIpLCQoIjx0ZD4iKS5hcHBlbmQoYSkuYXBwZW5kVG8obykscD0kKCI8ZGl2PiIpLmFkZENsYXNzKCJzbGlkZXItcmFuZ2UgdWktc2xpZGVyLWhvcml6b250YWwiKSwkKCI8dGQ+IikuYXBwZW5kKHApLmFwcGVuZFRvKG8pLHM9JCgiPGlucHV0IHR5cGU9J3RleHQnPiIpLmFkZENsYXNzKCJ0aWNrZXItdGV4dCIpLCQoIjx0ZD4iKS5hcHBlbmQocykuYXBwZW5kVG8obyksDQp0aGlzLmJpbmRDb250cm9sKG5ldyByKG4sZS5zZWNvbmRzLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIExpbmUgVG9vbCBWaXNpYmlsaXR5IE9uIFNlY29uZHMiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgbChwLFtlLnNlY29uZHNGcm9tLGUuc2Vjb25kc1RvXSxbMSw1OV0sITEsdGhpcy5tb2RlbCgpLFthLHNdLFskLnQoIkNoYW5nZSBTZWNvbmRzIEZyb20iKSwkLnQoIkNoYW5nZSBTZWNvbmRzIFRvIildLG4pKSksbz0kKCI8dHI+IikuYXBwZW5kVG8odGhpcy5fYmxvY2spLGk9JCgiPGxhYmVsPiIpLmFwcGVuZCgkLnQoIk1pbnV0ZXMiKSksZD0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnPiIpLmFkZENsYXNzKCJ2aXNpYmlsaXR5LWNoZWNrZXIiKS5wcmVwZW5kVG8oaSksJCgiPHRkPiIpLmNzcygicGFkZGluZy1yaWdodCIsIjE1cHgiKS5hcHBlbmQoaSkuYXBwZW5kVG8obyksYT0kKCI8aW5wdXQgdHlwZT0ndGV4dCc+IikuYWRkQ2xhc3MoInRpY2tlci10ZXh0IiksJCgiPHRkPiIpLmFwcGVuZChhKS5hcHBlbmRUbyhvKSxwPSQoIjxkaXY+IikuYWRkQ2xhc3MoInNsaWRlci1yYW5nZSB1aS1zbGlkZXItaG9yaXpvbnRhbCIpLCQoIjx0ZD4iKS5hcHBlbmQocCkuYXBwZW5kVG8obykscz0kKCI8aW5wdXQgdHlwZT0ndGV4dCc+IikuYWRkQ2xhc3MoInRpY2tlci10ZXh0IiksJCgiPHRkPiIpLmFwcGVuZChzKS5hcHBlbmRUbyhvKSx0aGlzLmJpbmRDb250cm9sKG5ldyByKGQsZS5taW51dGVzLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIExpbmUgVG9vbCBWaXNpYmlsaXR5IE9uIE1pbnV0ZXMiKSksdGhpcy5iaW5kQ29udHJvbChuZXcgbChwLFtlLm1pbnV0ZXNGcm9tLGUubWludXRlc1RvXSxbMSw1OV0sITEsdGhpcy5tb2RlbCgpLFthLHNdLFskLnQoIkNoYW5nZSBNaW51dGVzIEZyb20iKSwkLnQoIkNoYW5nZSBNaW51dGVzIFRvIildLGQpKSxvPSQoIjx0cj4iKS5hcHBlbmRUbyh0aGlzLl9ibG9jayksaT0kKCI8bGFiZWw+IikuYXBwZW5kKCQudCgiSG91cnMiKSksaD0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnPiIpLmFkZENsYXNzKCJ2aXNpYmlsaXR5LWNoZWNrZXIiKS5wcmVwZW5kVG8oaSksJCgiPHRkPiIpLmFwcGVuZChpKS5hcHBlbmRUbyhvKSxhPSQoIjxpbnB1dCB0eXBlPSd0ZXh0Jz4iKS5hZGRDbGFzcygidGlja2VyLXRleHQiKSwkKCI8dGQ+IikuYXBwZW5kKGEpLmFwcGVuZFRvKG8pLHA9JCgiPGRpdj4iKS5hZGRDbGFzcygic2xpZGVyLXJhbmdlIHVpLXNsaWRlci1ob3Jpem9udGFsIiksJCgiPHRkPiIpLmFwcGVuZChwKS5hcHBlbmRUbyhvKSxzPSQoIjxpbnB1dCB0eXBlPSd0ZXh0Jz4iKS5hZGRDbGFzcygidGlja2VyLXRleHQiKSwkKCI8dGQ+IikuYXBwZW5kKHMpLmFwcGVuZFRvKG8pLHRoaXMuYmluZENvbnRyb2wobmV3IHIoaCxlLmhvdXJzLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIExpbmUgVG9vbCBWaXNpYmlsaXR5IE9uIEhvdXJzIikpLHRoaXMuYmluZENvbnRyb2wobmV3IGwocCxbZS5ob3Vyc0Zyb20sZS5ob3Vyc1RvXSxbMSwyNF0sITEsdGhpcy5tb2RlbCgpLFthLHNdLFskLnQoIkNoYW5nZSBNaW51dGVzIEZyb20iKSwkLnQoIkNoYW5nZSBIb3VycyBUbyIpXSxoKSksbz0kKCI8dHI+IikuYXBwZW5kVG8odGhpcy5fYmxvY2spLGk9JCgiPGxhYmVsPiIpLmFwcGVuZCgkLnQoIkRheXMiKSksYz0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnPiIpLmFkZENsYXNzKCJ2aXNpYmlsaXR5LWNoZWNrZXIiKS5wcmVwZW5kVG8oaSksJCgiPHRkPiIpLmFwcGVuZChpKS5hcHBlbmRUbyhvKSxhPSQoIjxpbnB1dCB0eXBlPSd0ZXh0Jz4iKS5hZGRDbGFzcygidGlja2VyLXRleHQiKSwkKCI8dGQ+IikuYXBwZW5kKGEpLmFwcGVuZFRvKG8pLHA9JCgiPGRpdj4iKS5hZGRDbGFzcygic2xpZGVyLXJhbmdlIHVpLXNsaWRlci1ob3Jpem9udGFsIiksJCgiPHRkPiIpLmFwcGVuZChwKS5hcHBlbmRUbyhvKSxzPSQoIjxpbnB1dCB0eXBlPSd0ZXh0Jz4iKS5hZGRDbGFzcygidGlja2VyLXRleHQiKSwkKCI8dGQ+IikuYXBwZW5kKHMpLmFwcGVuZFRvKG8pLHRoaXMuYmluZENvbnRyb2wobmV3IHIoYyxlLmRheXMsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgTGluZSBUb29sIFZpc2liaWxpdHkgT24gRGF5cyIpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKHAsW2UuZGF5c0Zyb20sZS5kYXlzVG9dLFsxLDM2Nl0sITEsdGhpcy5tb2RlbCgpLFthLHNdLFskLnQoIkNoYW5nZSBNaW51dGVzIEZyb20iKSwkLnQoIkNoYW5nZSBEYXlzIFRvIildLGMpKSxvPSQoIjx0cj4iKS5jc3MoImhlaWdodCIsIjI5cHgiKS5hcHBlbmRUbyh0aGlzLl9ibG9jayksaT0kKCI8bGFiZWw+IikuYXBwZW5kKCQudCgiV2Vla3MiKSksYj0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnPiIpLnByZXBlbmRUbyhpKSwkKCI8dGQ+IikuYXBwZW5kKGkpLmFwcGVuZFRvKG8pLHRoaXMuYmluZENvbnRyb2wobmV3IHIoYixlLndlZWtzLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIExpbmUgVG9vbCBWaXNpYmlsaXR5IE9uIFdlZWtzIikpLG89JCgiPHRyPiIpLmNzcygiaGVpZ2h0IiwiMjlweCIpLmFwcGVuZFRvKHRoaXMuX2Jsb2NrKSxpPSQoIjxsYWJlbD4iKS5hcHBlbmQoJC50KCJNb250aHMiKSksdT0kKCI8aW5wdXQgdHlwZT0nY2hlY2tib3gnPiIpLnByZXBlbmRUbyhpKSwkKCI8dGQ+IikuYXBwZW5kKGkpLmFwcGVuZFRvKG8pLHRoaXMuYmluZENvbnRyb2wobmV3IHIodSxlLm1vbnRocywhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBMaW5lIFRvb2wgVmlzaWJpbGl0eSBPbiBNb250aHMiKSksdGhpcy5sb2FkRGF0YSgpfSxpLnByb3RvdHlwZS53aWRnZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYmxvY2t9LGUuZXhwb3J0cz1pfSkuY2FsbCh0LG8oNykpfSw4MTE6ZnVuY3Rpb24oZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUsdCxvKXtuLmNhbGwodGhpcyxlLHQpLHRoaXMuX2xpbmV0b29sPW8sdGhpcy5wcmVwYXJlTGF5b3V0KCl9dmFyIG49bygxMCkuUHJvcGVydHlQYWdlLGE9bygyNzEpLlN0dWR5SW5wdXRzUHJvcGVydHlQYWdlLHI9byg4MSksbD1vKDQ1KSxwPW8oMTIxKTtpbmhlcml0KGksciksDQppLnByb3RvdHlwZS5wcmVwYXJlTGF5b3V0PWZ1bmN0aW9uKCl7dmFyIGUsdCxvLGksbixyLHMsZCxoPSQoJzx0YWJsZSBjbGFzcz0icHJvcGVydHktcGFnZSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIj4nKSxjPSQoJzx0YWJsZSBjbGFzcz0icHJvcGVydHktcGFnZSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIj4nKS5kYXRhKHsibGF5b3V0LXRhYiI6cC5UYWJOYW1lcy5pbnB1dHMsImxheW91dC10YWItcHJpb3JpdHkiOnAuVGFiUHJpb3JpdHkuSW5wdXRzfSk7Zm9yKHRoaXMuX3RhYmxlPWguYWRkKGMpLGU9dGhpcy5fbGluZXRvb2wucG9pbnRzKCksdD0wO3Q8ZS5sZW5ndGg7dCsrKW89JCgiPHRyPiIpLG8uYXBwZW5kVG8oaCksaT0kKCI8dGQ+IiksaS5odG1sKCJQb2ludCAiKyh0KzEpKyIgQmFyICMiKSxpLmFwcGVuZFRvKG8pLG49JCgiPHRkPiIpLG4uYXBwZW5kVG8obykscj0kKCI8aW5wdXQgdHlwZT0ndGV4dCc+Iiksci5hcHBlbmRUbyhuKSxyLmFkZENsYXNzKCJ0aWNrZXIiKSxzPXRoaXMuX2xpbmV0b29sLnByb3BlcnRpZXMoKS5wb2ludHNbdF0sdGhpcy5iaW5kQmFySW5kZXgocy5iYXIscix0aGlzLm1vZGVsKCksIkNoYW5nZSAiK3RoaXMuX2xpbmV0b29sKyIgcG9pbnQgYmFyIGluZGV4Iik7ZD1sLmZpbmRTdHVkeU1ldGFJbmZvKHRoaXMuX21vZGVsLnN0dWRpZXNNZXRhRGF0YSgpLHRoaXMuX2xpbmV0b29sLnN0dWR5SWQoKSksYS5wcm90b3R5cGUucHJlcGFyZUxheW91dEltcGwuY2FsbCh0aGlzLGQsYyl9LGkucHJvdG90eXBlLndpZGdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl90YWJsZX0sZS5leHBvcnRzPWl9LDgxMzpmdW5jdGlvbihlLHQsbyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0LG8pe3IuY2FsbCh0aGlzLGUsdCksdGhpcy5fc3R1ZHk9byx0aGlzLnByZXBhcmVMYXlvdXQoKX12YXIgbj1vKDQwNyksYT1vKDEwKSxyPWEuUHJvcGVydHlQYWdlLGw9YS5Cb29sZWFuQmluZGVyLHA9YS5TaW1wbGVDb21ib0JpbmRlcixzPW8oMjA4KS5TdHVkeVN0eWxlc1Byb3BlcnR5UGFnZSxkPW8oNzEpO2luaGVyaXQoaSxyKSxpbmhlcml0KGksbiksaS5wcm90b3R5cGUuX2lzSmFwYW5lc2VDaGFydHNBdmFpbGFibGU9ZnVuY3Rpb24oKXtyZXR1cm4hMX0saS5wcm90b3R5cGUucHJlcGFyZUxheW91dD1mdW5jdGlvbigpe3ZhciBlLHQsbyxpLG49JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPicpLGE9JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPicpLHI9JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPicpLGQ9JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPicpLGg9JCgnPHRhYmxlIGNsYXNzPSJwcm9wZXJ0eS1wYWdlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPicpLGM9dGhpcy5fc3R1ZHkucHJvcGVydGllcygpO3RoaXMuX3ByZXBhcmVTZXJpZXNTdHlsZUxheW91dChuLGEscixjKSx0aGlzLl90YWJsZT1uLmFkZChhKS5hZGQocikuYWRkKGQpLmFkZChoKSxlPSQoJzxpbnB1dCB0eXBlPSJjaGVja2JveCI+JyksdD10aGlzLmFkZExhYmVsZWRSb3coZCwiUHJpY2UgTGluZSIsZSksJCgiPHRkPiIpLmFwcGVuZChlKS5wcmVwZW5kVG8odCksdGhpcy5iaW5kQ29udHJvbChuZXcgbChlLGMuc2hvd1ByaWNlTGluZSwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBQcmljZSBQcmljZSBMaW5lIikpLG89dGhpcy5jcmVhdGVTZXJpZXNNaW5UaWNrRWRpdG9yKCksaT0kKCI8dHI+IiksaS5hcHBlbmRUbyhoKSwkKCI8dGQ+IiskLnQoIk92ZXJyaWRlIE1pbiBUaWNrIikrIjwvdGQ+IikuYXBwZW5kVG8oaSksJCgiPHRkPiIpLmFwcGVuZChvKS5hcHBlbmRUbyhpKSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKG8sYy5taW5UaWNrLG51bGwsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgTWluVGljayIpKSxzLnByb3RvdHlwZS5fcHV0U3R1ZHlEZWZhdWx0U3R5bGVzLmNhbGwodGhpcyxoKX0saS5wcm90b3R5cGUubG9hZERhdGE9ZnVuY3Rpb24oKXt0aGlzLnN1cGVyY2xhc3MucHJvdG90eXBlLmxvYWREYXRhLmNhbGwodGhpcyksdGhpcy5zd2l0Y2hTdHlsZSgpfSxpLnByb3RvdHlwZS5zd2l0Y2hTdHlsZT1mdW5jdGlvbigpe3N3aXRjaCgkKHRoaXMuX2JhcnNUYm9keSkuYWRkKHRoaXMuX2JhcnNDb2xvcmVyVGJvZHkpLmFkZCh0aGlzLl9jYW5kbGVzVGJvZHkpLmFkZCh0aGlzLl9jYW5kbGVzQ29sb3JlclRib2R5KS5hZGQodGhpcy5faG9sbG93Q2FuZGxlc1Rib2R5KS5hZGQodGhpcy5fbGluZVRib2R5KS5hZGQodGhpcy5fYXJlYVRib2R5KS5hZGQodGhpcy5fYmFzZWxpbmVUYm9keSkuY3NzKCJkaXNwbGF5Iiwibm9uZSIpLHRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5zdHlsZS52YWx1ZSgpKXtjYXNlIGQuU1RZTEVfQkFSUzp0aGlzLl9iYXJzVGJvZHkuY3NzKCJkaXNwbGF5IiwidGFibGUtcm93LWdyb3VwIiksdGhpcy5fYmFyc0NvbG9yZXJUYm9keS5jc3MoImRpc3BsYXkiLCJ0YWJsZS1yb3ctZ3JvdXAiKTticmVhaztjYXNlIGQuU1RZTEVfQ0FORExFUzp0aGlzLl9jYW5kbGVzVGJvZHkuY3NzKCJkaXNwbGF5IiwidGFibGUtcm93LWdyb3VwIiksdGhpcy5fY2FuZGxlc0NvbG9yZXJUYm9keS5jc3MoImRpc3BsYXkiLCJ0YWJsZS1yb3ctZ3JvdXAiKTticmVhaztjYXNlIGQuU1RZTEVfSE9MTE9XX0NBTkRMRVM6dGhpcy5faG9sbG93Q2FuZGxlc1Rib2R5LmNzcygiZGlzcGxheSIsInRhYmxlLXJvdy1ncm91cCIpO2JyZWFrO2Nhc2UgZC5TVFlMRV9MSU5FOnRoaXMuX2xpbmVUYm9keS5jc3MoImRpc3BsYXkiLCJ0YWJsZS1yb3ctZ3JvdXAiKTticmVhaztjYXNlIGQuU1RZTEVfQVJFQTp0aGlzLl9hcmVhVGJvZHkuY3NzKCJkaXNwbGF5IiwidGFibGUtcm93LWdyb3VwIik7YnJlYWs7Y2FzZSBkLlNUWUxFX0JBU0VMSU5FOg0KdGhpcy5fYmFzZWxpbmVUYm9keS5jc3MoImRpc3BsYXkiLCJ0YWJsZS1yb3ctZ3JvdXAiKX19LGkucHJvdG90eXBlLndpZGdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl90YWJsZX0sZS5leHBvcnRzPWl9LDgxNDpmdW5jdGlvbihlLHQsbyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0LG8pe3IuY2FsbCh0aGlzLGUsdCksdGhpcy5fc3R1ZHk9byx0aGlzLnByZXBhcmVMYXlvdXQoKX12YXIgbj1vKDIxKS5hc3NlcnQsYT1vKDEwKSxyPWEuUHJvcGVydHlQYWdlLGw9YS5HcmVhdGVUcmFuc2Zvcm1lcixwPWEuTGVzc1RyYW5zZm9ybWVyLHM9YS5Ub0ludFRyYW5zZm9ybWVyLGQ9YS5Ub0Zsb2F0VHJhbnNmb3JtZXIsaD1hLkJvb2xlYW5CaW5kZXIsYz1hLlNpbXBsZUNvbWJvQmluZGVyLGI9YS5TaW1wbGVTdHJpbmdCaW5kZXIsdT1vKDM4KS5OdW1lcmljRm9ybWF0dGVyO2luaGVyaXQoaSxyKSxpLnByb3RvdHlwZS5fZ2V0U3RyYXRlZ3lJbnB1dHM9ZnVuY3Rpb24oKXtmb3IodmFyIGUsdD0wLG89dGhpcy5fc3R1ZHkubWV0YUluZm8oKSxpPXt9O3Q8by5pbnB1dHMubGVuZ3RoO3QrKyllPW8uaW5wdXRzW3RdLCJzdHJhdGVneV9wcm9wcyI9PT1lLmdyb3VwSWQmJihuKHZvaWQgMCE9PWUuaW50ZXJuYWxJRCwiU3RyYXRlZ3kgaW5wdXQgaWQ9IitlLmlkKyIgZG9lc24ndCBoYXZlIGFuIGludGVybmFsSUQiKSxpW2UuaW50ZXJuYWxJRF09by5pbnB1dHNbdF0pO3JldHVybiBUcmFkaW5nVmlldy5jbG9uZShpKX0saS5wcm90b3R5cGUuX3NldFN0ZElucHV0PWZ1bmN0aW9uKGUsdCxvKXt2YXIgaSxuLGEscixDLHksZyx3LFQsXyxtLGY7aWYoZSl7aWYoaT1lLmlkLG49InN0dWR5X2lucHV0LSIraSsiLSIrRGF0ZS5ub3coKS50b1N0cmluZygzNikrIi0iK01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLGE9JCgiPHRyPiIpLmFwcGVuZFRvKHRoaXMuXyR0YWJsZSkscj0iQ2hhbmdlICIrdCxDPSQoJzxsYWJlbCBmb3I9IicrbisnIj4nKyQudCh0LHtjb250ZXh0OiJpbnB1dCJ9KSsiPC9sYWJlbD4iKSwiYm9vbCI9PT1lLnR5cGUpZz0kKCc8dGQgY29sc3Bhbj0iMyI+JykuYXBwZW5kVG8oYSkseT0kKCc8aW5wdXQgaWQ9IicrbisnIiB0eXBlPSJjaGVja2JveCI+JykuYXBwZW5kVG8oZyksQy5hcHBlbmRUbyhnKSwhMCE9PW8mJnRoaXMuYmluZENvbnRyb2wobmV3IGgoeSx0aGlzLl9wcm9wZXJ0eS5pbnB1dHNbaV0sITAsdGhpcy5tb2RlbCgpLHIpKTtlbHNlIGlmKCQoIjx0ZD4iKS5hZGRDbGFzcygicHJvcGVydHlwYWdlLW5hbWUtbGFiZWwiKS5hcHBlbmQoQykuYXBwZW5kVG8oYSksdz0kKCc8dGQgY29sc3Bhbj0iMiI+JykuYXBwZW5kVG8oYSksZS5vcHRpb25zKXtmb3IoeT0kKCc8c2VsZWN0IGlkPSInK24rJyI+JykuYXBwZW5kVG8odyksVD0wO1Q8ZS5vcHRpb25zLmxlbmd0aDtUKyspXz1lLm9wdGlvbnNbVF0sXyBpbnN0YW5jZW9mIGpRdWVyeT9fLmFwcGVuZFRvKHkpOiQoJzxvcHRpb24gdmFsdWU9IicrXysnIj4nK18rIjwvb3B0aW9uPiIpLmFwcGVuZFRvKHkpOyEwIT09byYmdGhpcy5iaW5kQ29udHJvbChuZXcgYyh5LHRoaXMuX3Byb3BlcnR5LmlucHV0c1tpXSxudWxsLCEwLHRoaXMubW9kZWwoKSxyKSl9ZWxzZSB5PSQoJzxpbnB1dCBpZD0iJytuKyciIHR5cGU9InRleHQiPicpLmFwcGVuZFRvKHcpLCEwIT09byYmKCJpbnRlZ2VyIiE9PWUudHlwZSYmImZsb2F0IiE9PWUudHlwZXx8KG09WyJpbnRlZ2VyIj09PWUudHlwZT9zKGUuZGVmdmFsKTpkKGUuZGVmdmFsKV0sKDA9PT1lLm1pbnx8ZS5taW4pJiZtLnB1c2gobChlLm1pbikpLCgwPT09ZS5tYXh8fGUubWF4KSYmbS5wdXNoKHAoZS5tYXgpKSksZj1uZXcgYih5LHRoaXMuX3Byb3BlcnR5LmlucHV0c1tpXSxtLCExLHRoaXMubW9kZWwoKSxyKSwiZmxvYXQiPT09ZS50eXBlJiZmLmFkZEZvcm1hdHRlcihmdW5jdGlvbihlKXtyZXR1cm4obmV3IHUpLmZvcm1hdChlKX0pLHRoaXMuYmluZENvbnRyb2woZikpLHkuYWRkQ2xhc3MoInRpY2tlciIpO3JldHVybiB5fX0saS5wcm90b3R5cGUuX3NldFB5cmFtaWRpbmdJbnB1dHM9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5weXJhbWlkaW5nLG89dGhpcy5fcHJvcGVydHkuaW5wdXRzW3QuaWRdLGk9dGhpcy5fc2V0U3RkSW5wdXQoe2lkOiJweXJhbWlkaW5nX3N3aXRjaCIsdHlwZToiYm9vbCJ9LCQudCgiUHlyYW1pZGluZyIpLCEwKSxhPXRoaXMuX3NldFN0ZElucHV0KGUucHlyYW1pZGluZywkLnQoIkFsbG93IHVwIHRvIikpLHI9YS5jbG9zZXN0KCJ0ciIpO24odm9pZCAwPT09dGhpcy5fb25BbGxvd1VwVG9DaGFuZ2VkKSx0aGlzLl9vbkFsbG93VXBUb0NoYW5nZWQ9ZnVuY3Rpb24oZSl7ZS52YWx1ZSgpPjA/KGkucHJvcCgiY2hlY2tlZCIsITApLGEucmVtb3ZlQXR0cigiZGlzYWJsZWQiKSxyLnJlbW92ZUNsYXNzKCJkaXNhYmxlZCIpKTooaS5wcm9wKCJjaGVja2VkIiwhMSksYS5hdHRyKCJkaXNhYmxlZCIsImRpc2FibGVkIiksci5hZGRDbGFzcygiZGlzYWJsZWQiKSl9LG8uc3Vic2NyaWJlKG51bGwsdGhpcy5fb25BbGxvd1VwVG9DaGFuZ2VkKSxpLmNoYW5nZShmdW5jdGlvbigpe3ZhciBlPSFpLnByb3AoImNoZWNrZWQiKTtvLnNldFZhbHVlKGU/MDp0LmRlZnZhbCksZT9hLmF0dHIoImRpc2FibGVkIiwiZGlzYWJsZWQiKTphLnJlbW92ZUF0dHIoImRpc2FibGVkIiksci50b2dnbGVDbGFzcygiZGlzYWJsZWQiLGUpfSksby52YWx1ZSgpPjA/aS5wcm9wKCJjaGVja2VkIiwhMCk6KGkucHJvcCgiY2hlY2tlZCIsITEpLGEuYXR0cigiZGlzYWJsZWQiLCJkaXNhYmxlZCIpLHIuYWRkQ2xhc3MoImRpc2FibGVkIikpLHIuY2hpbGRyZW4oKS5sYXN0KCkucmVtb3ZlQXR0cigiY29sc3BhbiIpLCQoIjx0ZD4iKS50ZXh0KCQudCgib3JkZXJzIix7Y29udGV4dDoidXAgdG8gLi4uIG9yZGVycyJ9KSkuYXBwZW5kVG8ocil9LGkucHJvdG90eXBlLl9zZXRRdHlJbnB1dHM9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChlKXtyZXR1cm4gZT0rZSxpc05hTihlKXx8ZTwwPzA6KCJwZXJjZW50X29mX2VxdWl0eSIhPT1hLnZhbCgpP2U9cGFyc2VJbnQoZSk6ZT4xMDAmJihlPTEwMCksZSl9DQp2YXIgbyxpLG4sYSxyLGwscD10aGlzLHM9ZS5kZWZhdWx0X3F0eV92YWx1ZSxkPSQuZXh0ZW5kKHt9LGUuZGVmYXVsdF9xdHlfdHlwZSksaD10aGlzLl9wcm9wZXJ0eS5pbnB1dHNbcy5pZF0sYz10aGlzLl9zZXRTdGRJbnB1dChzLCQudCgiT3JkZXIgc2l6ZSIpLCEwKSx1PW5ldyBiKGMsaCx0LCExLHRoaXMubW9kZWwoKSwiQ2hhbmdlIE9yZGVyIFNpemUiKTt0aGlzLmJpbmRDb250cm9sKHUpLG89Yy5jbG9zZXN0KCJ0ZCIpLG8ucmVtb3ZlQXR0cigiY29sc3BhbiIpLGk9dGhpcy5fc3R1ZHkucmVwb3J0RGF0YSgpJiZ0aGlzLl9zdHVkeS5yZXBvcnREYXRhKCkuY3VycmVuY3l8fCJVU0QiLG49JCgnPG9wdGlvbiB2YWx1ZT0iY2FzaF9wZXJfb3JkZXIiPicraSsiPC9vcHRpb24+IiksZC5vcHRpb25zPVskKCc8b3B0aW9uIHZhbHVlPSJmaXhlZCI+JyskLnQoIkNvbnRyYWN0cyIpKyI8L29wdGlvbj4iKSxuLCQoJzxvcHRpb24gdmFsdWU9InBlcmNlbnRfb2ZfZXF1aXR5Ij4nKyQudCgiJSBvZiBlcXVpdHkiKSsiPC9vcHRpb24+IildLGE9dGhpcy5fc2V0U3RkSW5wdXQoZCwidHlwZSIpLHI9YS5jbG9zZXN0KCJ0ZCIpLGw9ci5jbG9zZXN0KCJ0ciIpLHIucmVtb3ZlQXR0cigiY29sc3BhbiIpLHIuZGV0YWNoKCkuaW5zZXJ0QWZ0ZXIobyksbC5yZW1vdmUoKSx0aGlzLl9zdHVkeS53YXRjaGVkRGF0YS5zdWJzY3JpYmUoZnVuY3Rpb24oKXtwLl9fdXBkYXRlQ29tYm9DdXJyZW5jeShuLGEsImNhc2hfcGVyX29yZGVyIil9KX0saS5wcm90b3R5cGUuX191cGRhdGVDb21ib0N1cnJlbmN5PWZ1bmN0aW9uKGUsdCxvLGkpe3ZhciBuLGE9dGhpcy5fc3R1ZHkucmVwb3J0RGF0YSgpJiZ0aGlzLl9zdHVkeS5yZXBvcnREYXRhKCkuY3VycmVuY3l8fCJVU0QiO2kmJihhKz1pKSxlLnRleHQoYSksbj10LmNsb3Nlc3QoInRkIiksbi5maW5kKCJhW2hyZWY9IyIrbysiXSIpLnRleHQoYSksZS5wcm9wKCJzZWxlY3RlZCIpJiZuLmZpbmQoIi5zYlNlbGVjdG9yIikudGV4dChhKX0saS5wcm90b3R5cGUuX3NldEZpbGxMaW1pdHNJbnB1dHM9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fc2V0U3RkSW5wdXQoZS5iYWNrdGVzdF9maWxsX2xpbWl0c19hc3N1bXB0aW9uLCQudCgiVmVyaWZ5IFByaWNlIGZvciBMaW1pdCBPcmRlcnMiKSksbz10LmNsb3Nlc3QoInRkIik7by5yZW1vdmVBdHRyKCJjb2xTcGFuIiksJCgiPHRkPiIpLnRleHQoJC50KCJ0aWNrcyIse2NvbnRleHQ6InNsaXBwYWdlIC4uLiB0aWNrcyJ9KSkuaW5zZXJ0QWZ0ZXIobyl9LGkucHJvdG90eXBlLl9zZXRTbGlwcGFnZUlucHV0cz1mdW5jdGlvbihlKXt2YXIgdCxvO3ZvaWQgMCE9PWUuc2xpcHBhZ2UmJih0PXRoaXMuX3NldFN0ZElucHV0KGUuc2xpcHBhZ2UsJC50KCJTbGlwcGFnZSIpKSxvPXQuY2xvc2VzdCgidGQiKSxvLnJlbW92ZUF0dHIoImNvbFNwYW4iKSwkKCI8dGQ+IikudGV4dCgkLnQoInRpY2tzIix7Y29udGV4dDoic2xpcHBhZ2UgLi4uIHRpY2tzIn0pKS5pbnNlcnRBZnRlcihvKSl9LGkucHJvdG90eXBlLl9zZXRDb21taXNzaW9uSW5wdXRzPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoZSl7cmV0dXJuIGU9K2UsaXNOYU4oZSl8fGU8MD8wOigicGVyY2VudCIhPT1jLnZhbCgpP2U9cGFyc2VGbG9hdChlKTplPjEwMCYmKGU9MTAwKSxlKX12YXIgbyxpLG4sYSxyLGwscCxzLGQsaCxjLHUsQzt2b2lkIDAhPT1lLmNvbW1pc3Npb25fdmFsdWUmJnZvaWQgMCE9PWUuY29tbWlzc2lvbl90eXBlJiYobz10aGlzLGk9ZS5jb21taXNzaW9uX3ZhbHVlLG49JC5leHRlbmQoe30sZS5jb21taXNzaW9uX3R5cGUpLGE9dGhpcy5fcHJvcGVydHkuaW5wdXRzW2kuaWRdLHI9dGhpcy5fc2V0U3RkSW5wdXQoaSwkLnQoIkNvbW1pc3Npb24iKSwhMCksbD1uZXcgYihyLGEsdCwhMSx0aGlzLm1vZGVsKCksIkNoYW5nZSBDb21taXNzaW9uIHZhbHVlIiksdGhpcy5iaW5kQ29udHJvbChsKSxwPXIuY2xvc2VzdCgidGQiKSxwLnJlbW92ZUF0dHIoImNvbHNwYW4iKSxzPXRoaXMuX3N0dWR5LnJlcG9ydERhdGEoKSYmdGhpcy5fc3R1ZHkucmVwb3J0RGF0YSgpLmN1cnJlbmN5fHwiVVNEIixkPSQoJzxvcHRpb24gdmFsdWU9ImNhc2hfcGVyX29yZGVyIj4nK3MrJC50KCIgcGVyIG9yZGVyIikrIjwvb3B0aW9uPiIpLGg9JCgnPG9wdGlvbiB2YWx1ZT0iY2FzaF9wZXJfY29udHJhY3QiPicrcyskLnQoIiBwZXIgY29udHJhY3QiKSsiPC9vcHRpb24+Iiksbi5vcHRpb25zPVskKCc8b3B0aW9uIHZhbHVlPSJwZXJjZW50Ij4nKyQudCgiJSIpKyI8L29wdGlvbj4iKSxkLGhdLGM9dGhpcy5fc2V0U3RkSW5wdXQobiwidHlwZSIpLHU9Yy5jbG9zZXN0KCJ0ZCIpLEM9dS5jbG9zZXN0KCJ0ciIpLHUucmVtb3ZlQXR0cigiY29sc3BhbiIpLHUuZGV0YWNoKCkuaW5zZXJ0QWZ0ZXIocCksQy5yZW1vdmUoKSx0aGlzLl9zdHVkeS53YXRjaGVkRGF0YS5zdWJzY3JpYmUoZnVuY3Rpb24oKXtvLl9fdXBkYXRlQ29tYm9DdXJyZW5jeShkLGMsImNhc2hfcGVyX29yZGVyIiwkLnQoIiBwZXIgb3JkZXIiKSksby5fX3VwZGF0ZUNvbWJvQ3VycmVuY3koaCxjLCJjYXNoX3Blcl9jb250cmFjdCIsJC50KCIgcGVyIGNvbnRyYWN0IikpfSkpfSxpLnByb3RvdHlwZS5wcmVwYXJlTGF5b3V0PWZ1bmN0aW9uKCl7dGhpcy5fJHRhYmxlPSQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGFibGUiKSkuYWRkQ2xhc3MoInByb3BlcnR5LXBhZ2Ugc3RyYXRlZ3ktcHJvcGVydGllcyIpLmF0dHIoImNlbGxzcGFjaW5nIiwiMCIpLmF0dHIoImNlbGxwYWRkaW5nIiwiMiIpO3ZhciBlPXRoaXMuX2dldFN0cmF0ZWd5SW5wdXRzKCk7ZS5pbml0aWFsX2NhcGl0YWwubWluPTEsdGhpcy5fc2V0U3RkSW5wdXQoZS5pbml0aWFsX2NhcGl0YWwsJC50KCJJbml0aWFsIGNhcGl0YWwiKSksQXJyYXkuaXNBcnJheShlLmN1cnJlbmN5Lm9wdGlvbnMpJiYiTk9ORSI9PT1lLmN1cnJlbmN5Lm9wdGlvbnNbMF0mJihlLmN1cnJlbmN5Lm9wdGlvbnNbMF09JCgnPG9wdGlvbiB2YWx1ZT0iTk9ORSI+JyskLnQoIkRlZmF1bHQiKSsiPC9vcHRpb24+IikpLHRoaXMuX3NldFN0ZElucHV0KGUuY3VycmVuY3ksJC50KCJCYXNlIGN1cnJlbmN5IikpLA0KJCgnPHRyIGNsYXNzPSJzcGFjZXIiPjx0ZCBjb2xzcGFuPSIzIj48L3RkPjwvdHI+JykuYXBwZW5kVG8odGhpcy5fJHRhYmxlKSx0aGlzLl9zZXRQeXJhbWlkaW5nSW5wdXRzKGUpLCQoJzx0ciBjbGFzcz0ic3BhY2VyIj48dGQgY29sc3Bhbj0iMyI+PC90ZD48L3RyPicpLmFwcGVuZFRvKHRoaXMuXyR0YWJsZSksdGhpcy5fc2V0UXR5SW5wdXRzKGUpLCQoJzx0ciBjbGFzcz0ic3BhY2VyIj48dGQgY29sc3Bhbj0iMyI+PC90ZD48L3RyPicpLmFwcGVuZFRvKHRoaXMuXyR0YWJsZSksdGhpcy5fc2V0U3RkSW5wdXQoZS5jYWxjX29uX29yZGVyX2ZpbGxzLCQudCgiUmVjYWxjdWxhdGUgQWZ0ZXIgT3JkZXIgZmlsbGVkIikpLCQoJzx0ciBjbGFzcz0ic3BhY2VyIj48dGQgY29sc3Bhbj0iMyI+PC90ZD48L3RyPicpLmFwcGVuZFRvKHRoaXMuXyR0YWJsZSksdGhpcy5fc2V0U3RkSW5wdXQoZS5jYWxjX29uX2V2ZXJ5X3RpY2ssJC50KCJSZWNhbGN1bGF0ZSBPbiBFdmVyeSBUaWNrIikpLCQoJzx0ciBjbGFzcz0ic3BhY2VyIj48dGQgY29sc3Bhbj0iMyI+PC90ZD48L3RyPicpLmFwcGVuZFRvKHRoaXMuXyR0YWJsZSksdGhpcy5fc2V0RmlsbExpbWl0c0lucHV0cyhlKSwkKCc8dHIgY2xhc3M9InNwYWNlciI+PHRkIGNvbHNwYW49IjMiPjwvdGQ+PC90cj4nKS5hcHBlbmRUbyh0aGlzLl8kdGFibGUpLHRoaXMuX3NldFNsaXBwYWdlSW5wdXRzKGUpLCQoJzx0ciBjbGFzcz0ic3BhY2VyIj48dGQgY29sc3Bhbj0iMyI+PC90ZD48L3RyPicpLmFwcGVuZFRvKHRoaXMuXyR0YWJsZSksdGhpcy5fc2V0Q29tbWlzc2lvbklucHV0cyhlKSx0aGlzLmxvYWREYXRhKCl9LGkucHJvdG90eXBlLndpZGdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl8kdGFibGV9LGkucHJvdG90eXBlLmxvYWREYXRhPWZ1bmN0aW9uKCl7dmFyIGUsdCxvO3IucHJvdG90eXBlLmxvYWREYXRhLmNhbGwodGhpcyksZT10aGlzLl9nZXRTdHJhdGVneUlucHV0cygpLHQ9ZS5weXJhbWlkaW5nLG89dGhpcy5fcHJvcGVydHkuaW5wdXRzW3QuaWRdLG8uc2V0VmFsdWUoby52YWx1ZSgpLCEwKX0saS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3ZhciBlLHQsbztyLnByb3RvdHlwZS5kZXN0cm95LmNhbGwodGhpcyksZT10aGlzLl9nZXRTdHJhdGVneUlucHV0cygpLHQ9ZS5weXJhbWlkaW5nLG89dGhpcy5fcHJvcGVydHkuaW5wdXRzW3QuaWRdLG8udW5zdWJzY3JpYmUobnVsbCx0aGlzLl9vbkFsbG93VXBUb0NoYW5nZWQpfSxlLmV4cG9ydHM9aX0sODIwOmZ1bmN0aW9uKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlLHQsbyl7YS5jYWxsKHRoaXMsZSx0KSx0aGlzLl9zdHVkeT1vLHRoaXMucHJlcGFyZUxheW91dCgpfXZhciBuPW8oMTApLGE9bi5Qcm9wZXJ0eVBhZ2Uscj1uLkJvb2xlYW5CaW5kZXIsbD1uLlNpbXBsZUNvbWJvQmluZGVyLHA9bi5TbGlkZXJCaW5kZXIscz1uLkNvbG9yQmluZGluZyxkPW8oMTUpLmNyZWF0ZUxpbmVXaWR0aEVkaXRvcixoPW8oNDc2KS5jcmVhdGVQbG90RWRpdG9yO2luaGVyaXQoaSxhKSxpLnByb3RvdHlwZS5wcmVwYXJlTGF5b3V0PWZ1bmN0aW9uKCl7dmFyIGUsdCxpLG4sYSxjLGIsdSxDLHksZyx3LFQsXyxtPXRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKTt0aGlzLl90YWJsZT0kKCc8dGFibGUgY2xhc3M9InByb3BlcnR5LXBhZ2UiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+JyksZT10aGlzLmFkZExhYmVsZWRSb3codGhpcy5fdGFibGUsIlZvbHVtZSIpLHQ9aCgpLCQoIjx0ZD4iKS5hcHBlbmQodCkuYXBwZW5kVG8oZSksdGhpcy5iaW5kQ29udHJvbChuZXcgbCh0LG0uc3R5bGVzLnZvbC5wbG90dHlwZSxwYXJzZUludCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBWb2x1bWUgUGxvdCBTdHlsZSIpKSxpPXRoaXMuX3N0dWR5Lm1ldGFJbmZvKCkudmVyc2lvbjw9NDYmJiJ0cmFuc3BhcmVuY3kiaW4gbT9tLnRyYW5zcGFyZW5jeTptLnN0eWxlcy52b2wudHJhbnNwYXJlbmN5LG49dGhpcy5jcmVhdGVDb2xvclBpY2tlcigpLCQoIjx0ZD4iKS5hcHBlbmQobikuYXBwZW5kVG8oZSksdGhpcy5iaW5kQ29udHJvbChuZXcgcyhuLG0ucGFsZXR0ZXMudm9sdW1lUGFsZXR0ZS5jb2xvcnNbMF0uY29sb3IsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVXAgVm9sdW1lIGNvbG9yIixpKSksYT10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCksJCgiPHRkPiIpLmFwcGVuZChhKS5hcHBlbmRUbyhlKSx0aGlzLmJpbmRDb250cm9sKG5ldyBzKGEsbS5wYWxldHRlcy52b2x1bWVQYWxldHRlLmNvbG9yc1sxXS5jb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBEb3duIFZvbHVtZSBjb2xvciIsaSkpLGM9JCgiPGlucHV0IHR5cGU9J2NoZWNrYm94Jz4iKSwkKCI8dGQ+IikuYXBwZW5kVG8oZSksJCgiPHRkPiIpLmFwcGVuZChjKS5hcHBlbmRUbyhlKSwkKCI8dGQ+IiskLnQoIlByaWNlIExpbmUiKSsiPC90ZD4iKS5hcHBlbmRUbyhlKSx0aGlzLmJpbmRDb250cm9sKG5ldyByKGMsbS5zdHlsZXMudm9sLnRyYWNrUHJpY2UsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgUHJpY2UgTGluZSIpKSxiPW0uc3R5bGVzLnZvbF9tYSx1PXRoaXMuYWRkTGFiZWxlZFJvdyh0aGlzLl90YWJsZSwiVm9sdW1lIE1BIiksQz1oKCksJCgiPHRkPiIpLmFwcGVuZChDKS5hcHBlbmRUbyh1KSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKEMsYi5wbG90dHlwZSxwYXJzZUludCwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBWb2x1bWUgTUEgUGxvdCBTdHlsZSIpKSwkKCI8dGQ+IikuaHRtbCgiJm5ic3A7IikuYXBwZW5kVG8odSkseT10aGlzLmNyZWF0ZUNvbG9yUGlja2VyKCksJCgiPHRkPiIpLmFwcGVuZCh5KS5hcHBlbmRUbyh1KSx0aGlzLmJpbmRDb250cm9sKG5ldyBzKHksYi5jb2xvciwhMCx0aGlzLm1vZGVsKCksIkNoYW5nZSBWb2x1bWUgTUEgY29sb3IiLGIudHJhbnNwYXJlbmN5KSksZz1kKCksJCgiPHRkPiIpLmFwcGVuZChnKS5hcHBlbmRUbyh1KSx0aGlzLmJpbmRDb250cm9sKG5ldyBwKGcsYi5saW5ld2lkdGgsITAsdGhpcy5tb2RlbCgpLCJDaGFuZ2UgVm9sdW1lIE1BIExpbmUgV2lkdGgiKSksDQpjPSQoIjxpbnB1dCB0eXBlPSdjaGVja2JveCc+IiksJCgiPHRkPiIpLmFwcGVuZChjKS5hcHBlbmRUbyh1KSwkKCI8dGQ+IiskLnQoIlByaWNlIExpbmUiKSsiPC90ZD4iKS5hcHBlbmRUbyh1KSx0aGlzLmJpbmRDb250cm9sKG5ldyByKGMsYi50cmFja1ByaWNlLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFByaWNlIExpbmUiKSksdz10aGlzLmNyZWF0ZVByZWNpc2lvbkVkaXRvcigpLFQ9JCgiPHRyPiIpLFQuYXBwZW5kVG8odGhpcy5fdGFibGUpLCQoIjx0ZD4iKyQudCgiUHJlY2lzaW9uIikrIjwvdGQ+IikuYXBwZW5kVG8oVCksJCgiPHRkPiIpLmFwcGVuZCh3KS5hcHBlbmRUbyhUKSx0aGlzLmJpbmRDb250cm9sKG5ldyBsKHcsdGhpcy5fc3R1ZHkucHJvcGVydGllcygpLnByZWNpc2lvbixudWxsLCEwLHRoaXMubW9kZWwoKSwiQ2hhbmdlIFZvbHVtZSBQcmVjaXNpb24iKSksXz1vKDIwOCkuU3R1ZHlTdHlsZXNQcm9wZXJ0eVBhZ2UsXy5wcm90b3R5cGUuX3B1dFN0dWR5RGVmYXVsdFN0eWxlcy5jYWxsKHRoaXMsdGhpcy5fdGFibGUsOCl9LGkucHJvdG90eXBlLndpZGdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl90YWJsZX0sZS5leHBvcnRzPWl9LDExMTk6ZnVuY3Rpb24oZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKCl7dmFyIGU9JCgiPHNlbGVjdCAvPiIpO3JldHVybiAkKCc8b3B0aW9uIHZhbHVlPSInK24uSEhJU1RESVJfTEVGVFRPUklHSFQrJyI+JyskLnQoIkxlZnQiKSsiPC9vcHRpb24+IikuYXBwZW5kVG8oZSksJCgnPG9wdGlvbiB2YWx1ZT0iJytuLkhISVNURElSX1JJR0hUVE9MRUZUKyciPicrJC50KCJSaWdodCIpKyI8L29wdGlvbj4iKS5hcHBlbmRUbyhlKSxlfU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxvKDIyKSxvKDIzKTt2YXIgbj1vKDExNSk7dC5jcmVhdGVISGlzdERpcmVjdGlvbkVkaXRvcj1pfSwxMTIwOmZ1bmN0aW9uKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaSgpe3ZhciBlPSQoIjxzZWxlY3Q+Iik7cmV0dXJuICQoJzxvcHRpb24gdmFsdWU9Im9wZW4iPicrJC50KCJPcGVuIikrIjwvb3B0aW9uPiIpLmFwcGVuZFRvKGUpLCQoJzxvcHRpb24gdmFsdWU9ImhpZ2giPicrJC50KCJIaWdoIikrIjwvb3B0aW9uPiIpLmFwcGVuZFRvKGUpLCQoJzxvcHRpb24gdmFsdWU9ImxvdyI+JyskLnQoIkxvdyIpKyI8L29wdGlvbj4iKS5hcHBlbmRUbyhlKSwkKCc8b3B0aW9uIHZhbHVlPSJjbG9zZSI+JyskLnQoIkNsb3NlIikrIjwvb3B0aW9uPiIpLmFwcGVuZFRvKGUpLCQoJzxvcHRpb24gdmFsdWU9ImhsMiI+JyskLnQoIihIICsgTCkvMiIpKyI8L29wdGlvbj4iKS5hcHBlbmRUbyhlKSwkKCc8b3B0aW9uIHZhbHVlPSJobGMzIj4nKyQudCgiKEggKyBMICsgQykvMyIpKyI8L29wdGlvbj4iKS5hcHBlbmRUbyhlKSwkKCc8b3B0aW9uIHZhbHVlPSJvaGxjNCI+JyskLnQoIihPICsgSCArIEwgKyBDKS80IikrIjwvb3B0aW9uPiIpLmFwcGVuZFRvKGUpLGV9T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLG8oMjIpLG8oMjMpLHQuY3JlYXRlUHJpY2VTb3VyY2VFZGl0b3I9aX0sMTEyMTpmdW5jdGlvbihlLHQsbyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoKXtyZXR1cm4gJCgnPHNlbGVjdD48b3B0aW9uIHZhbHVlPSInK24uTUFSS0xPQ19BQk9WRUJBUisnIj4nKyQudCgiQWJvdmUgQmFyIikrJzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Iicrbi5NQVJLTE9DX0JFTE9XQkFSKyciPicrJC50KCJCZWxvdyBCYXIiKSsnPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iJytuLk1BUktMT0NfVE9QKyciPicrJC50KCJUb3AiKSsnPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iJytuLk1BUktMT0NfQk9UVE9NKyciPicrJC50KCJCb3R0b20iKSsnPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iJytuLk1BUktMT0NfQUJTT0xVVEUrJyI+JyskLnQoIkFic29sdXRlIikrIjwvb3B0aW9uPjwvc2VsZWN0PiIpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxvKDIyKSxvKDIzKTt2YXIgbj1vKDExNSk7dC5jcmVhdGVTaGFwZUxvY2F0aW9uRWRpdG9yPWl9LDExMjI6ZnVuY3Rpb24oZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKCl7dmFyIGU9IjxzZWxlY3Q+IjtyZXR1cm4gT2JqZWN0LmtleXMobi5wbG90U2hhcGVzRGF0YSkuZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgbz1uLnBsb3RTaGFwZXNEYXRhW3RdO2UrPSc8b3B0aW9uIHZhbHVlPSInK28uaWQrJyI+JytvLmd1aU5hbWUrIjwvb3B0aW9uPiJ9KSxlKz0iPC9zZWxlY3Q+IiwkKGUpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxvKDIyKTt2YXIgbj1vKDEwNik7dC5jcmVhdGVTaGFwZVN0eWxlRWRpdG9yPWl9LDExMjM6ZnVuY3Rpb24oZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKCl7cmV0dXJuICQoJzxpbnB1dCB0eXBlPSJjaGVja2JveCIgY2xhc3M9InZpc2liaWxpdHktc3dpdGNoIi8+Jyl9T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLG8oMjIpLHQuY3JlYXRlVmlzaWJpbGl0eUVkaXRvcj1pfX0pOw=="}},"time_used":12,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":9,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/7504.1288d1d28b2f47f7ac43.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.011Z","timestamp":1785120634011,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/7504.1288d1d28b2f47f7ac43.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a476ed7-56c8\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 03 Jul 2026 08:12:07 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/03/2026 10:56:33\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 8199a7d415a086431c804c70111016c6\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":22216,"size_decoded":9150,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"185306b73eb6156ba89819ac42f09043","sha1":"0e91a337a58188b9760881d3eeb271cc4c8ac2d0","sha256":"4433e6c002fc34e6971b340b447cb59f9704a935f8ff79457535ae6c04f2a91e","sha512":"62e46a9de161a635772e81ac6f569c8a85bcde20c9143b5dbf3fff3d0acc7a668643a351bbfe42e981d28861648256d6fb72849990fbdf3089e0d8da3a378c9b","ssdeep":"384:t0ohD1L+Hfz4m0ehDLL+HfzLNVEGdmMDPHt+eiWxyATTSXUaaexXzIDyg5nAWhJw:t0ohJL+Hfcm0eh3L+HfdaGdmMDvwWxn4","tlshash":"3aa294c83ad3f0ea926721f514af14c7f2392e666c9d9660c15de0d87c3602df12bd6a","first_seen":"2026-07-04T00:11:22.529436Z","last_seen":"2026-07-27T05:29:38.803479Z","times_seen":193,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNzUwNF0sezMwNzUwNChuLHQscil7ci5yKHQpLHIuZCh0LHtWRVJTSU9OOigpPT51LGFmdGVyOigpPT5EdCxhbGw6KCk9Plp0LGFsbEtleXM6KCk9PmRuLGFueTooKT0+bnIsYXNzaWduOigpPT5EbixiZWZvcmU6KCk9PlJ0LGJpbmQ6KCk9Pmp0LGJpbmRBbGw6KCk9Pl90LGNoYWluOigpPT5ndCxjaHVuazooKT0+VnIsY2xvbmU6KCk9PkZuLGNvbGxlY3Q6KCk9Pkp0LGNvbXBhY3Q6KCk9PlNyLGNvbXBvc2U6KCk9Pk50LGNvbnN0YW50OigpPT5ZLGNvbnRhaW5zOigpPT50cixjb3VudEJ5OigpPT5kcixjcmVhdGU6KCk9PlZuLGRlYm91bmNlOigpPT5NdCxkZWZhdWx0OigpPT5QcixkZWZhdWx0czooKT0+Um4sZGVmZXI6KCk9PkV0LGRlbGF5OigpPT5PdCxkZXRlY3Q6KCk9Pkx0LGRpZmZlcmVuY2U6KCk9PkVyLGRyb3A6KCk9PkFyLGVhY2g6KCk9PiR0LGVzY2FwZTooKT0+aXQsZXZlcnk6KCk9Plp0LGV4dGVuZDooKT0+Tm4sZXh0ZW5kT3duOigpPT5EbixmaWx0ZXI6KCk9Plh0LGZpbmQ6KCk9Pkx0LGZpbmRJbmRleDooKT0+cXQsZmluZEtleTooKT0+VnQsZmluZExhc3RJbmRleDooKT0+enQsZmluZFdoZXJlOigpPT5DdCxmaXJzdDooKT0+eHIsZmxhdHRlbjooKT0+T3IsZm9sZGw6KCk9Pkh0LGZvbGRyOigpPT5RdCxmb3JFYWNoOigpPT4kdCxmdW5jdGlvbnM6KCk9PkJuLGdldDooKT0+VW4sZ3JvdXBCeTooKT0+aHIsaGFzOigpPT5LbixoZWFkOigpPT54cixpZGVudGl0eTooKT0+TG4saW5jbHVkZTooKT0+dHIsaW5jbHVkZXM6KCk9PnRyLGluZGV4Qnk6KCk9PnZyLGluZGV4T2Y6KCk9PlV0LGluaXRpYWw6KCk9PmpyLGluamVjdDooKT0+SHQsaW50ZXJzZWN0aW9uOigpPT5JcixpbnZlcnQ6KCk9Pk1uLGludm9rZTooKT0+cnIsaXNBcmd1bWVudHM6KCk9PkgsaXNBcnJheTooKT0+JCxpc0FycmF5QnVmZmVyOigpPT5GLGlzQm9vbGVhbjooKT0+ayxpc0RhdGFWaWV3OigpPT5DLGlzRGF0ZTooKT0+RCxpc0VsZW1lbnQ6KCk9Pk0saXNFbXB0eTooKT0+Zm4saXNFcXVhbDooKT0+dm4saXNFcnJvcjooKT0+VCxpc0Zpbml0ZTooKT0+USxpc0Z1bmN0aW9uOigpPT5XLGlzTWFwOigpPT5Bbixpc01hdGNoOigpPT5sbixpc05hTjooKT0+WCxpc051bGw6KCk9Pk8saXNOdW1iZXI6KCk9Pk4saXNPYmplY3Q6KCk9PlMsaXNSZWdFeHA6KCk9PlIsaXNTZXQ6KCk9PlNuLGlzU3RyaW5nOigpPT5JLGlzU3ltYm9sOigpPT5WLGlzVHlwZWRBcnJheTooKT0+dW4saXNVbmRlZmluZWQ6KCk9PkUsaXNXZWFrTWFwOigpPT5fbixpc1dlYWtTZXQ6KCk9Pk9uLGl0ZXJhdGVlOigpPT5IbixrZXlzOigpPT5jbixsYXN0OigpPT5fcixsYXN0SW5kZXhPZjooKT0+S3QsbWFwOigpPT5KdCxtYXBPYmplY3Q6KCk9PlhuLG1hdGNoZXI6KCk9PkNuLG1hdGNoZXM6KCk9PkNuLG1heDooKT0+aXIsbWVtb2l6ZTooKT0+U3QsbWV0aG9kczooKT0+Qm4sbWluOigpPT5vcixtaXhpbjooKT0+cXIsbmVnYXRlOigpPT5JdCxub29wOigpPT5Zbixub3c6KCk9PnJ0LG9iamVjdDooKT0+UnIsb21pdDooKT0+d3Isb25jZTooKT0+VHQscGFpcnM6KCk9PmtuLHBhcnRpYWw6KCk9Pnd0LHBhcnRpdGlvbjooKT0+eXIscGljazooKT0+YnIscGx1Y2s6KCk9PmVyLHByb3BlcnR5OigpPT4kbixwcm9wZXJ0eU9mOigpPT5abixyYW5kb206KCk9PnR0LHJhbmdlOigpPT5UcixyZWR1Y2U6KCk9Pkh0LHJlZHVjZVJpZ2h0OigpPT5RdCxyZWplY3Q6KCk9Pll0LHJlc3Q6KCk9PkFyLHJlc3RBcmd1bWVudHM6KCk9Pl8scmVzdWx0OigpPT52dCxzYW1wbGU6KCk9PmZyLHNlbGVjdDooKT0+WHQsc2h1ZmZsZTooKT0+bHIsc2l6ZTooKT0+Z3Isc29tZTooKT0+bnIsc29ydEJ5OigpPT5zcixzb3J0ZWRJbmRleDooKT0+V3QsdGFpbDooKT0+QXIsdGFrZTooKT0+eHIsdGFwOigpPT5xbix0ZW1wbGF0ZTooKT0+aHQsdGVtcGxhdGVTZXR0aW5nczooKT0+YXQsdGhyb3R0bGU6KCk9Pmt0LHRpbWVzOigpPT5udCx0b0FycmF5OigpPT5jcix0b1BhdGg6KCk9PnpuLHRyYW5zcG9zZTooKT0+TnIsdW5lc2NhcGU6KCk9Pm90LHVuaW9uOigpPT5Ccix1bmlxOigpPT5Ncix1bmlxdWU6KCk9Pk1yLHVuaXF1ZUlkOigpPT55dCx1bnppcDooKT0+TnIsdmFsdWVzOigpPT5Fbix3aGVyZTooKT0+dXIsd2l0aG91dDooKT0+a3Isd3JhcDooKT0+QnQsemlwOigpPT5Ecn0pO3ZhciBlPXt9O3IucihlKSxyLmQoZSx7VkVSU0lPTjooKT0+dSxhZnRlcjooKT0+RHQsYWxsOigpPT5adCxhbGxLZXlzOigpPT5kbixhbnk6KCk9Pm5yLGFzc2lnbjooKT0+RG4sYmVmb3JlOigpPT5SdCxiaW5kOigpPT5qdCxiaW5kQWxsOigpPT5fdCxjaGFpbjooKT0+Z3QsY2h1bms6KCk9PlZyLGNsb25lOigpPT5Gbixjb2xsZWN0OigpPT5KdCxjb21wYWN0OigpPT5Tcixjb21wb3NlOigpPT5OdCxjb25zdGFudDooKT0+WSxjb250YWluczooKT0+dHIsY291bnRCeTooKT0+ZHIsY3JlYXRlOigpPT5WbixkZWJvdW5jZTooKT0+TXQsZGVmYXVsdDooKT0+enIsZGVmYXVsdHM6KCk9PlJuLGRlZmVyOigpPT5FdCxkZWxheTooKT0+T3QsZGV0ZWN0OigpPT5MdCxkaWZmZXJlbmNlOigpPT5Fcixkcm9wOigpPT5BcixlYWNoOigpPT4kdCxlc2NhcGU6KCk9Pml0LGV2ZXJ5OigpPT5adCxleHRlbmQ6KCk9Pk5uLGV4dGVuZE93bjooKT0+RG4sZmlsdGVyOigpPT5YdCxmaW5kOigpPT5MdCxmaW5kSW5kZXg6KCk9PnF0LGZpbmRLZXk6KCk9PlZ0LGZpbmRMYXN0SW5kZXg6KCk9Pnp0LGZpbmRXaGVyZTooKT0+Q3QsZmlyc3Q6KCk9PnhyLGZsYXR0ZW46KCk9Pk9yLGZvbGRsOigpPT5IdCxmb2xkcjooKT0+UXQsZm9yRWFjaDooKT0+JHQsZnVuY3Rpb25zOigpPT5CbixnZXQ6KCk9PlVuLGdyb3VwQnk6KCk9PmhyLGhhczooKT0+S24saGVhZDooKT0+eHIsaWRlbnRpdHk6KCk9PkxuLGluY2x1ZGU6KCk9PnRyLGluY2x1ZGVzOigpPT50cixpbmRleEJ5OigpPT52cixpbmRleE9mOigpPT5VdCxpbml0aWFsOigpPT5qcixpbmplY3Q6KCk9Pkh0LGludGVyc2VjdGlvbjooKT0+SXIsCmludmVydDooKT0+TW4saW52b2tlOigpPT5ycixpc0FyZ3VtZW50czooKT0+SCxpc0FycmF5OigpPT4kLGlzQXJyYXlCdWZmZXI6KCk9PkYsaXNCb29sZWFuOigpPT5rLGlzRGF0YVZpZXc6KCk9PkMsaXNEYXRlOigpPT5ELGlzRWxlbWVudDooKT0+TSxpc0VtcHR5OigpPT5mbixpc0VxdWFsOigpPT52bixpc0Vycm9yOigpPT5ULGlzRmluaXRlOigpPT5RLGlzRnVuY3Rpb246KCk9PlcsaXNNYXA6KCk9PkFuLGlzTWF0Y2g6KCk9PmxuLGlzTmFOOigpPT5YLGlzTnVsbDooKT0+Tyxpc051bWJlcjooKT0+Tixpc09iamVjdDooKT0+Uyxpc1JlZ0V4cDooKT0+Uixpc1NldDooKT0+U24saXNTdHJpbmc6KCk9PkksaXNTeW1ib2w6KCk9PlYsaXNUeXBlZEFycmF5OigpPT51bixpc1VuZGVmaW5lZDooKT0+RSxpc1dlYWtNYXA6KCk9Pl9uLGlzV2Vha1NldDooKT0+T24saXRlcmF0ZWU6KCk9PkhuLGtleXM6KCk9PmNuLGxhc3Q6KCk9Pl9yLGxhc3RJbmRleE9mOigpPT5LdCxtYXA6KCk9Pkp0LG1hcE9iamVjdDooKT0+WG4sbWF0Y2hlcjooKT0+Q24sbWF0Y2hlczooKT0+Q24sbWF4OigpPT5pcixtZW1vaXplOigpPT5TdCxtZXRob2RzOigpPT5CbixtaW46KCk9Pm9yLG1peGluOigpPT5xcixuZWdhdGU6KCk9Pkl0LG5vb3A6KCk9PlluLG5vdzooKT0+cnQsb2JqZWN0OigpPT5ScixvbWl0OigpPT53cixvbmNlOigpPT5UdCxwYWlyczooKT0+a24scGFydGlhbDooKT0+d3QscGFydGl0aW9uOigpPT55cixwaWNrOigpPT5icixwbHVjazooKT0+ZXIscHJvcGVydHk6KCk9PiRuLHByb3BlcnR5T2Y6KCk9PlpuLHJhbmRvbTooKT0+dHQscmFuZ2U6KCk9PlRyLHJlZHVjZTooKT0+SHQscmVkdWNlUmlnaHQ6KCk9PlF0LHJlamVjdDooKT0+WXQscmVzdDooKT0+QXIscmVzdEFyZ3VtZW50czooKT0+XyxyZXN1bHQ6KCk9PnZ0LHNhbXBsZTooKT0+ZnIsc2VsZWN0OigpPT5YdCxzaHVmZmxlOigpPT5scixzaXplOigpPT5ncixzb21lOigpPT5ucixzb3J0Qnk6KCk9PnNyLHNvcnRlZEluZGV4OigpPT5XdCx0YWlsOigpPT5Bcix0YWtlOigpPT54cix0YXA6KCk9PnFuLHRlbXBsYXRlOigpPT5odCx0ZW1wbGF0ZVNldHRpbmdzOigpPT5hdCx0aHJvdHRsZTooKT0+a3QsdGltZXM6KCk9Pm50LHRvQXJyYXk6KCk9PmNyLHRvUGF0aDooKT0+em4sdHJhbnNwb3NlOigpPT5Ocix1bmVzY2FwZTooKT0+b3QsdW5pb246KCk9PkJyLHVuaXE6KCk9Pk1yLHVuaXF1ZTooKT0+TXIsdW5pcXVlSWQ6KCk9Pnl0LHVuemlwOigpPT5Ocix2YWx1ZXM6KCk9PkVuLHdoZXJlOigpPT51cix3aXRob3V0OigpPT5rcix3cmFwOigpPT5CdCx6aXA6KCk9PkRyfSk7dmFyIHU9IjEuMTMuOCIsaT0ib2JqZWN0Ij09dHlwZW9mIHNlbGYmJnNlbGYuc2VsZj09PXNlbGYmJnNlbGZ8fCJvYmplY3QiPT10eXBlb2Ygci5nJiZyLmcuZ2xvYmFsPT09ci5nJiZyLmd8fEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCl8fHt9LG89QXJyYXkucHJvdG90eXBlLGE9T2JqZWN0LnByb3RvdHlwZSxjPSJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sP1N5bWJvbC5wcm90b3R5cGU6bnVsbCxmPW8ucHVzaCxsPW8uc2xpY2Uscz1hLnRvU3RyaW5nLHA9YS5oYXNPd25Qcm9wZXJ0eSxoPSJ1bmRlZmluZWQiIT10eXBlb2YgQXJyYXlCdWZmZXIsdj0idW5kZWZpbmVkIiE9dHlwZW9mIERhdGFWaWV3LGQ9QXJyYXkuaXNBcnJheSx5PU9iamVjdC5rZXlzLGc9T2JqZWN0LmNyZWF0ZSxtPWgmJkFycmF5QnVmZmVyLmlzVmlldyxiPWlzTmFOLHc9aXNGaW5pdGUsaj0he3RvU3RyaW5nOm51bGx9LnByb3BlcnR5SXNFbnVtZXJhYmxlKCJ0b1N0cmluZyIpLHg9WyJ2YWx1ZU9mIiwiaXNQcm90b3R5cGVPZiIsInRvU3RyaW5nIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJoYXNPd25Qcm9wZXJ0eSIsInRvTG9jYWxlU3RyaW5nIl0sQT1NYXRoLnBvdygyLDUzKS0xO2Z1bmN0aW9uIF8obix0KXtyZXR1cm4gdD1udWxsPT10P24ubGVuZ3RoLTE6K3QsZnVuY3Rpb24oKXtmb3IodmFyIHI9TWF0aC5tYXgoYXJndW1lbnRzLmxlbmd0aC10LDApLGU9QXJyYXkociksdT0wO3U8cjt1KyspZVt1XT1hcmd1bWVudHNbdSt0XTtzd2l0Y2godCl7Y2FzZSAwOnJldHVybiBuLmNhbGwodGhpcyxlKTtjYXNlIDE6cmV0dXJuIG4uY2FsbCh0aGlzLGFyZ3VtZW50c1swXSxlKTtjYXNlIDI6cmV0dXJuIG4uY2FsbCh0aGlzLGFyZ3VtZW50c1swXSxhcmd1bWVudHNbMV0sZSl9dmFyIGk9QXJyYXkodCsxKTtmb3IodT0wO3U8dDt1KyspaVt1XT1hcmd1bWVudHNbdV07cmV0dXJuIGlbdF09ZSxuLmFwcGx5KHRoaXMsaSl9fWZ1bmN0aW9uIFMobil7dmFyIHQ9dHlwZW9mIG47cmV0dXJuImZ1bmN0aW9uIj09PXR8fCJvYmplY3QiPT09dCYmISFufWZ1bmN0aW9uIE8obil7cmV0dXJuIG51bGw9PT1ufWZ1bmN0aW9uIEUobil7cmV0dXJuIHZvaWQgMD09PW59ZnVuY3Rpb24gayhuKXtyZXR1cm4hMD09PW58fCExPT09bnx8IltvYmplY3QgQm9vbGVhbl0iPT09cy5jYWxsKG4pfWZ1bmN0aW9uIE0obil7cmV0dXJuISghbnx8MSE9PW4ubm9kZVR5cGUpfWZ1bmN0aW9uIEIobil7dmFyIHQ9IltvYmplY3QgIituKyJdIjtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIHMuY2FsbChuKT09PXR9fWNvbnN0IEk9QigiU3RyaW5nIiksTj1CKCJOdW1iZXIiKSxEPUIoIkRhdGUiKSxSPUIoIlJlZ0V4cCIpLFQ9QigiRXJyb3IiKSxWPUIoIlN5bWJvbCIpLEY9QigiQXJyYXlCdWZmZXIiKTt2YXIgcT1CKCJGdW5jdGlvbiIpLHo9aS5kb2N1bWVudCYmaS5kb2N1bWVudC5jaGlsZE5vZGVzOyJvYmplY3QiIT10eXBlb2YgSW50OEFycmF5JiYiZnVuY3Rpb24iIT10eXBlb2YgeiYmKHE9ZnVuY3Rpb24obil7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIG58fCExfSk7Y29uc3QgVz1xLFA9QigiT2JqZWN0Iik7dmFyIFU9diYmKCEvXFtuYXRpdmUgY29kZVxdLy50ZXN0KFN0cmluZyhEYXRhVmlldykpfHxQKG5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoOCkpKSksSz0idW5kZWZpbmVkIiE9dHlwZW9mIE1hcCYmUChuZXcgTWFwKSxMPUIoIkRhdGFWaWV3Iik7Y29uc3QgQz1VP2Z1bmN0aW9uKG4pewpyZXR1cm4gbnVsbCE9biYmVyhuLmdldEludDgpJiZGKG4uYnVmZmVyKX06TCwkPWR8fEIoIkFycmF5Iik7ZnVuY3Rpb24gSihuLHQpe3JldHVybiBudWxsIT1uJiZwLmNhbGwobix0KX12YXIgRz1CKCJBcmd1bWVudHMiKTshZnVuY3Rpb24oKXtHKGFyZ3VtZW50cyl8fChHPWZ1bmN0aW9uKG4pe3JldHVybiBKKG4sImNhbGxlZSIpfSl9KCk7Y29uc3QgSD1HO2Z1bmN0aW9uIFEobil7cmV0dXJuIVYobikmJncobikmJiFpc05hTihwYXJzZUZsb2F0KG4pKX1mdW5jdGlvbiBYKG4pe3JldHVybiBOKG4pJiZiKG4pfWZ1bmN0aW9uIFkobil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG59fWZ1bmN0aW9uIFoobil7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciByPW4odCk7cmV0dXJuIm51bWJlciI9PXR5cGVvZiByJiZyPj0wJiZyPD1BfX1mdW5jdGlvbiBubihuKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dm9pZCAwOnRbbl19fWNvbnN0IHRuPW5uKCJieXRlTGVuZ3RoIikscm49Wih0bik7dmFyIGVuPS9cW29iamVjdCAoKEl8VWkpbnQoOHwxNnwzMil8RmxvYXQoMzJ8NjQpfFVpbnQ4Q2xhbXBlZHxCaWcoSXxVaSludDY0KUFycmF5XF0vO2NvbnN0IHVuPWg/ZnVuY3Rpb24obil7cmV0dXJuIG0/bShuKSYmIUMobik6cm4obikmJmVuLnRlc3Qocy5jYWxsKG4pKX06WSghMSksb249bm4oImxlbmd0aCIpO2Z1bmN0aW9uIGFuKG4sdCl7dD1mdW5jdGlvbihuKXtmb3IodmFyIHQ9e30scj1uLmxlbmd0aCxlPTA7ZTxyOysrZSl0W25bZV1dPSEwO3JldHVybntjb250YWluczpmdW5jdGlvbihuKXtyZXR1cm4hMD09PXRbbl19LHB1c2g6ZnVuY3Rpb24ocil7cmV0dXJuIHRbcl09ITAsbi5wdXNoKHIpfX19KHQpO3ZhciByPXgubGVuZ3RoLGU9bi5jb25zdHJ1Y3Rvcix1PVcoZSkmJmUucHJvdG90eXBlfHxhLGk9ImNvbnN0cnVjdG9yIjtmb3IoSihuLGkpJiYhdC5jb250YWlucyhpKSYmdC5wdXNoKGkpO3ItLTspKGk9eFtyXSlpbiBuJiZuW2ldIT09dVtpXSYmIXQuY29udGFpbnMoaSkmJnQucHVzaChpKX1mdW5jdGlvbiBjbihuKXtpZighUyhuKSlyZXR1cm5bXTtpZih5KXJldHVybiB5KG4pO3ZhciB0PVtdO2Zvcih2YXIgciBpbiBuKUoobixyKSYmdC5wdXNoKHIpO3JldHVybiBqJiZhbihuLHQpLHR9ZnVuY3Rpb24gZm4obil7aWYobnVsbD09bilyZXR1cm4hMDt2YXIgdD1vbihuKTtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHQmJigkKG4pfHxJKG4pfHxIKG4pKT8wPT09dDowPT09b24oY24obikpfWZ1bmN0aW9uIGxuKG4sdCl7dmFyIHI9Y24odCksZT1yLmxlbmd0aDtpZihudWxsPT1uKXJldHVybiFlO2Zvcih2YXIgdT1PYmplY3QobiksaT0wO2k8ZTtpKyspe3ZhciBvPXJbaV07aWYodFtvXSE9PXVbb118fCEobyBpbiB1KSlyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiBzbihuKXtyZXR1cm4gbiBpbnN0YW5jZW9mIHNuP246dGhpcyBpbnN0YW5jZW9mIHNuP3ZvaWQodGhpcy5fd3JhcHBlZD1uKTpuZXcgc24obil9ZnVuY3Rpb24gcG4obil7cmV0dXJuIG5ldyBVaW50OEFycmF5KG4uYnVmZmVyfHxuLG4uYnl0ZU9mZnNldHx8MCx0bihuKSl9c24uVkVSU0lPTj11LHNuLnByb3RvdHlwZS52YWx1ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl93cmFwcGVkfSxzbi5wcm90b3R5cGUudmFsdWVPZj1zbi5wcm90b3R5cGUudG9KU09OPXNuLnByb3RvdHlwZS52YWx1ZSxzbi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gU3RyaW5nKHRoaXMuX3dyYXBwZWQpfTt2YXIgaG49IltvYmplY3QgRGF0YVZpZXddIjtmdW5jdGlvbiB2bihuLHQpe2Zvcih2YXIgcj1be2E6bixiOnR9XSxlPVtdLHU9W107ci5sZW5ndGg7KXt2YXIgaT1yLnBvcCgpO2lmKCEwIT09aSl7aWYoKG49aS5hKT09PSh0PWkuYikpe2lmKDAhPT1ufHwxL249PTEvdCljb250aW51ZTtyZXR1cm4hMX1pZihudWxsPT1ufHxudWxsPT10KXJldHVybiExO2lmKG4hPW4pe2lmKHQhPXQpY29udGludWU7cmV0dXJuITF9dmFyIG89dHlwZW9mIG47aWYoImZ1bmN0aW9uIiE9PW8mJiJvYmplY3QiIT09byYmIm9iamVjdCIhPXR5cGVvZiB0KXJldHVybiExO24gaW5zdGFuY2VvZiBzbiYmKG49bi5fd3JhcHBlZCksdCBpbnN0YW5jZW9mIHNuJiYodD10Ll93cmFwcGVkKTt2YXIgYT1zLmNhbGwobik7aWYoYSE9PXMuY2FsbCh0KSlyZXR1cm4hMTtpZihVJiYiW29iamVjdCBPYmplY3RdIj09YSYmQyhuKSl7aWYoIUModCkpcmV0dXJuITE7YT1obn1zd2l0Y2goYSl7Y2FzZSJbb2JqZWN0IFJlZ0V4cF0iOmNhc2UiW29iamVjdCBTdHJpbmddIjppZigiIituPT0iIit0KWNvbnRpbnVlO3JldHVybiExO2Nhc2UiW29iamVjdCBOdW1iZXJdIjpyLnB1c2goe2E6K24sYjordH0pO2NvbnRpbnVlO2Nhc2UiW29iamVjdCBEYXRlXSI6Y2FzZSJbb2JqZWN0IEJvb2xlYW5dIjppZigrbj09K3QpY29udGludWU7cmV0dXJuITE7Y2FzZSJbb2JqZWN0IFN5bWJvbF0iOmlmKGMudmFsdWVPZi5jYWxsKG4pPT09Yy52YWx1ZU9mLmNhbGwodCkpY29udGludWU7cmV0dXJuITE7Y2FzZSJbb2JqZWN0IEFycmF5QnVmZmVyXSI6Y2FzZSBobjpyLnB1c2goe2E6cG4obiksYjpwbih0KX0pO2NvbnRpbnVlfXZhciBmPSJbb2JqZWN0IEFycmF5XSI9PT1hO2lmKCFmJiZ1bihuKSl7aWYodG4obikhPT10bih0KSlyZXR1cm4hMTtpZihuLmJ1ZmZlcj09PXQuYnVmZmVyJiZuLmJ5dGVPZmZzZXQ9PT10LmJ5dGVPZmZzZXQpY29udGludWU7Zj0hMH1pZighZil7aWYoIm9iamVjdCIhPXR5cGVvZiBufHwib2JqZWN0IiE9dHlwZW9mIHQpcmV0dXJuITE7dmFyIGw9bi5jb25zdHJ1Y3RvcixwPXQuY29uc3RydWN0b3I7aWYobCE9PXAmJiEoVyhsKSYmbCBpbnN0YW5jZW9mIGwmJlcocCkmJnAgaW5zdGFuY2VvZiBwKSYmImNvbnN0cnVjdG9yImluIG4mJiJjb25zdHJ1Y3RvciJpbiB0KXJldHVybiExfWZvcih2YXIgaD1lLmxlbmd0aDtoLS07KWlmKGVbaF09PT1uKXtpZih1W2hdPT09dClicmVhaztyZXR1cm4hMX1pZighKGg+PTApKWlmKGUucHVzaChuKSx1LnB1c2godCksci5wdXNoKCEwKSxmKXtpZigoaD1uLmxlbmd0aCkhPT10Lmxlbmd0aClyZXR1cm4hMQo7Zm9yKDtoLS07KXIucHVzaCh7YTpuW2hdLGI6dFtoXX0pfWVsc2V7dmFyIHYsZD1jbihuKTtpZihoPWQubGVuZ3RoLGNuKHQpLmxlbmd0aCE9PWgpcmV0dXJuITE7Zm9yKDtoLS07KXtpZighSih0LHY9ZFtoXSkpcmV0dXJuITE7ci5wdXNoKHthOm5bdl0sYjp0W3ZdfSl9fX1lbHNlIGUucG9wKCksdS5wb3AoKX1yZXR1cm4hMH1mdW5jdGlvbiBkbihuKXtpZighUyhuKSlyZXR1cm5bXTt2YXIgdD1bXTtmb3IodmFyIHIgaW4gbil0LnB1c2gocik7cmV0dXJuIGomJmFuKG4sdCksdH1mdW5jdGlvbiB5bihuKXt2YXIgdD1vbihuKTtyZXR1cm4gZnVuY3Rpb24ocil7aWYobnVsbD09cilyZXR1cm4hMTt2YXIgZT1kbihyKTtpZihvbihlKSlyZXR1cm4hMTtmb3IodmFyIHU9MDt1PHQ7dSsrKWlmKCFXKHJbblt1XV0pKXJldHVybiExO3JldHVybiBuIT09am58fCFXKHJbZ25dKX19dmFyIGduPSJmb3JFYWNoIixtbj1bImNsZWFyIiwiZGVsZXRlIl0sYm49WyJnZXQiLCJoYXMiLCJzZXQiXSx3bj1tbi5jb25jYXQoZ24sYm4pLGpuPW1uLmNvbmNhdChibikseG49WyJhZGQiXS5jb25jYXQobW4sZ24sImhhcyIpO2NvbnN0IEFuPUs/eW4od24pOkIoIk1hcCIpLF9uPUs/eW4oam4pOkIoIldlYWtNYXAiKSxTbj1LP3luKHhuKTpCKCJTZXQiKSxPbj1CKCJXZWFrU2V0Iik7ZnVuY3Rpb24gRW4obil7Zm9yKHZhciB0PWNuKG4pLHI9dC5sZW5ndGgsZT1BcnJheShyKSx1PTA7dTxyO3UrKyllW3VdPW5bdFt1XV07cmV0dXJuIGV9ZnVuY3Rpb24ga24obil7Zm9yKHZhciB0PWNuKG4pLHI9dC5sZW5ndGgsZT1BcnJheShyKSx1PTA7dTxyO3UrKyllW3VdPVt0W3VdLG5bdFt1XV1dO3JldHVybiBlfWZ1bmN0aW9uIE1uKG4pe2Zvcih2YXIgdD17fSxyPWNuKG4pLGU9MCx1PXIubGVuZ3RoO2U8dTtlKyspdFtuW3JbZV1dXT1yW2VdO3JldHVybiB0fWZ1bmN0aW9uIEJuKG4pe3ZhciB0PVtdO2Zvcih2YXIgciBpbiBuKVcobltyXSkmJnQucHVzaChyKTtyZXR1cm4gdC5zb3J0KCl9ZnVuY3Rpb24gSW4obix0KXtyZXR1cm4gZnVuY3Rpb24ocil7dmFyIGU9YXJndW1lbnRzLmxlbmd0aDtpZih0JiYocj1PYmplY3QocikpLGU8Mnx8bnVsbD09cilyZXR1cm4gcjtmb3IodmFyIHU9MTt1PGU7dSsrKWZvcih2YXIgaT1hcmd1bWVudHNbdV0sbz1uKGkpLGE9by5sZW5ndGgsYz0wO2M8YTtjKyspe3ZhciBmPW9bY107dCYmdm9pZCAwIT09cltmXXx8KHJbZl09aVtmXSl9cmV0dXJuIHJ9fWNvbnN0IE5uPUluKGRuKSxEbj1JbihjbiksUm49SW4oZG4sITApO2Z1bmN0aW9uIFRuKG4pe2lmKCFTKG4pKXJldHVybnt9O2lmKGcpcmV0dXJuIGcobik7dmFyIHQ9ZnVuY3Rpb24oKXt9O3QucHJvdG90eXBlPW47dmFyIHI9bmV3IHQ7cmV0dXJuIHQucHJvdG90eXBlPW51bGwscn1mdW5jdGlvbiBWbihuLHQpe3ZhciByPVRuKG4pO3JldHVybiB0JiZEbihyLHQpLHJ9ZnVuY3Rpb24gRm4obil7cmV0dXJuIFMobik/JChuKT9uLnNsaWNlKCk6Tm4oe30sbik6bn1mdW5jdGlvbiBxbihuLHQpe3JldHVybiB0KG4pLG59ZnVuY3Rpb24gem4obil7cmV0dXJuICQobik/bjpbbl19ZnVuY3Rpb24gV24obil7cmV0dXJuIHNuLnRvUGF0aChuKX1mdW5jdGlvbiBQbihuLHQpe2Zvcih2YXIgcj10Lmxlbmd0aCxlPTA7ZTxyO2UrKyl7aWYobnVsbD09bilyZXR1cm47bj1uW3RbZV1dfXJldHVybiByP246dm9pZCAwfWZ1bmN0aW9uIFVuKG4sdCxyKXt2YXIgZT1QbihuLFduKHQpKTtyZXR1cm4gRShlKT9yOmV9ZnVuY3Rpb24gS24obix0KXtmb3IodmFyIHI9KHQ9V24odCkpLmxlbmd0aCxlPTA7ZTxyO2UrKyl7dmFyIHU9dFtlXTtpZighSihuLHUpKXJldHVybiExO249blt1XX1yZXR1cm4hIXJ9ZnVuY3Rpb24gTG4obil7cmV0dXJuIG59ZnVuY3Rpb24gQ24obil7cmV0dXJuIG49RG4oe30sbiksZnVuY3Rpb24odCl7cmV0dXJuIGxuKHQsbil9fWZ1bmN0aW9uICRuKG4pe3JldHVybiBuPVduKG4pLGZ1bmN0aW9uKHQpe3JldHVybiBQbih0LG4pfX1mdW5jdGlvbiBKbihuLHQscil7aWYodm9pZCAwPT09dClyZXR1cm4gbjtzd2l0Y2gocj8/Myl7Y2FzZSAxOnJldHVybiBmdW5jdGlvbihyKXtyZXR1cm4gbi5jYWxsKHQscil9O2Nhc2UgMzpyZXR1cm4gZnVuY3Rpb24ocixlLHUpe3JldHVybiBuLmNhbGwodCxyLGUsdSl9O2Nhc2UgNDpyZXR1cm4gZnVuY3Rpb24ocixlLHUsaSl7cmV0dXJuIG4uY2FsbCh0LHIsZSx1LGkpfX1yZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbi5hcHBseSh0LGFyZ3VtZW50cyl9fWZ1bmN0aW9uIEduKG4sdCxyKXtyZXR1cm4gbnVsbD09bj9MbjpXKG4pP0puKG4sdCxyKTpTKG4pJiYhJChuKT9DbihuKTokbihuKX1mdW5jdGlvbiBIbihuLHQpe3JldHVybiBHbihuLHQsMS8wKX1mdW5jdGlvbiBRbihuLHQscil7cmV0dXJuIHNuLml0ZXJhdGVlIT09SG4/c24uaXRlcmF0ZWUobix0KTpHbihuLHQscil9ZnVuY3Rpb24gWG4obix0LHIpe3Q9UW4odCxyKTtmb3IodmFyIGU9Y24obiksdT1lLmxlbmd0aCxpPXt9LG89MDtvPHU7bysrKXt2YXIgYT1lW29dO2lbYV09dChuW2FdLGEsbil9cmV0dXJuIGl9ZnVuY3Rpb24gWW4oKXt9ZnVuY3Rpb24gWm4obil7cmV0dXJuIG51bGw9PW4/WW46ZnVuY3Rpb24odCl7cmV0dXJuIFVuKG4sdCl9fWZ1bmN0aW9uIG50KG4sdCxyKXt2YXIgZT1BcnJheShNYXRoLm1heCgwLG4pKTt0PUpuKHQsciwxKTtmb3IodmFyIHU9MDt1PG47dSsrKWVbdV09dCh1KTtyZXR1cm4gZX1mdW5jdGlvbiB0dChuLHQpe3JldHVybiBudWxsPT10JiYodD1uLG49MCksbitNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqKHQtbisxKSl9c24udG9QYXRoPXpuLHNuLml0ZXJhdGVlPUhuO2NvbnN0IHJ0PURhdGUubm93fHxmdW5jdGlvbigpe3JldHVybihuZXcgRGF0ZSkuZ2V0VGltZSgpfTtmdW5jdGlvbiBldChuKXt2YXIgdD1mdW5jdGlvbih0KXtyZXR1cm4gblt0XX0scj0iKD86IitjbihuKS5qb2luKCJ8IikrIikiLGU9UmVnRXhwKHIpLHU9UmVnRXhwKHIsImciKTtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIG49bnVsbD09bj8iIjoiIituLGUudGVzdChuKT9uLnJlcGxhY2UodSx0KTpufX1jb25zdCB1dD17IiYiOiImYW1wOyIsCiI8IjoiJmx0OyIsIj4iOiImZ3Q7IiwnIic6IiZxdW90OyIsIiciOiImI3gyNzsiLCJgIjoiJiN4NjA7In0saXQ9ZXQodXQpLG90PWV0KE1uKHV0KSksYXQ9c24udGVtcGxhdGVTZXR0aW5ncz17ZXZhbHVhdGU6LzwlKFtcc1xTXSs/KSU+L2csaW50ZXJwb2xhdGU6LzwlPShbXHNcU10rPyklPi9nLGVzY2FwZTovPCUtKFtcc1xTXSs/KSU+L2d9O3ZhciBjdD0vKC4pXi8sZnQ9eyInIjoiJyIsIlxcIjoiXFwiLCJcciI6InIiLCJcbiI6Im4iLCJcdTIwMjgiOiJ1MjAyOCIsIlx1MjAyOSI6InUyMDI5In0sbHQ9L1xcfCd8XHJ8XG58XHUyMDI4fFx1MjAyOS9nO2Z1bmN0aW9uIHN0KG4pe3JldHVybiJcXCIrZnRbbl19dmFyIHB0PS9eXHMqKFx3fFwkKStccyokLztmdW5jdGlvbiBodChuLHQscil7IXQmJnImJih0PXIpLHQ9Um4oe30sdCxzbi50ZW1wbGF0ZVNldHRpbmdzKTt2YXIgZT1SZWdFeHAoWyh0LmVzY2FwZXx8Y3QpLnNvdXJjZSwodC5pbnRlcnBvbGF0ZXx8Y3QpLnNvdXJjZSwodC5ldmFsdWF0ZXx8Y3QpLnNvdXJjZV0uam9pbigifCIpKyJ8JCIsImciKSx1PTAsaT0iX19wKz0nIjtuLnJlcGxhY2UoZSwoZnVuY3Rpb24odCxyLGUsbyxhKXtyZXR1cm4gaSs9bi5zbGljZSh1LGEpLnJlcGxhY2UobHQsc3QpLHU9YSt0Lmxlbmd0aCxyP2krPSInK1xuKChfX3Q9KCIrcisiKSk9PW51bGw/Jyc6Xy5lc2NhcGUoX190KSkrXG4nIjplP2krPSInK1xuKChfX3Q9KCIrZSsiKSk9PW51bGw/Jyc6X190KStcbiciOm8mJihpKz0iJztcbiIrbysiXG5fX3ArPSciKSx0fSkpLGkrPSInO1xuIjt2YXIgbyxhPXQudmFyaWFibGU7aWYoYSl7aWYoIXB0LnRlc3QoYSkpdGhyb3cgbmV3IEVycm9yKCJ2YXJpYWJsZSBpcyBub3QgYSBiYXJlIGlkZW50aWZpZXI6ICIrYSl9ZWxzZSBpPSJ3aXRoKG9ianx8e30pe1xuIitpKyJ9XG4iLGE9Im9iaiI7aT0idmFyIF9fdCxfX3A9JycsX19qPUFycmF5LnByb3RvdHlwZS5qb2luLHByaW50PWZ1bmN0aW9uKCl7X19wKz1fX2ouY2FsbChhcmd1bWVudHMsJycpO307XG4iK2krInJldHVybiBfX3A7XG4iO3RyeXtvPW5ldyBGdW5jdGlvbihhLCJfIixpKX1jYXRjaChuKXt0aHJvdyBuLnNvdXJjZT1pLG59dmFyIGM9ZnVuY3Rpb24obil7cmV0dXJuIG8uY2FsbCh0aGlzLG4sc24pfTtyZXR1cm4gYy5zb3VyY2U9ImZ1bmN0aW9uKCIrYSsiKXtcbiIraSsifSIsY31mdW5jdGlvbiB2dChuLHQscil7dmFyIGU9KHQ9V24odCkpLmxlbmd0aDtpZighZSlyZXR1cm4gVyhyKT9yLmNhbGwobik6cjtmb3IodmFyIHU9MDt1PGU7dSsrKXt2YXIgaT1udWxsPT1uP3ZvaWQgMDpuW3RbdV1dO3ZvaWQgMD09PWkmJihpPXIsdT1lKSxuPVcoaSk/aS5jYWxsKG4pOml9cmV0dXJuIG59dmFyIGR0PTA7ZnVuY3Rpb24geXQobil7dmFyIHQ9KytkdCsiIjtyZXR1cm4gbj9uK3Q6dH1mdW5jdGlvbiBndChuKXt2YXIgdD1zbihuKTtyZXR1cm4gdC5fY2hhaW49ITAsdH1mdW5jdGlvbiBtdChuLHQscixlLHUpe2lmKCEoZSBpbnN0YW5jZW9mIHQpKXJldHVybiBuLmFwcGx5KHIsdSk7dmFyIGk9VG4obi5wcm90b3R5cGUpLG89bi5hcHBseShpLHUpO3JldHVybiBTKG8pP286aX12YXIgYnQ9XygoZnVuY3Rpb24obix0KXt2YXIgcj1idC5wbGFjZWhvbGRlcixlPWZ1bmN0aW9uKCl7Zm9yKHZhciB1PTAsaT10Lmxlbmd0aCxvPUFycmF5KGkpLGE9MDthPGk7YSsrKW9bYV09dFthXT09PXI/YXJndW1lbnRzW3UrK106dFthXTtmb3IoO3U8YXJndW1lbnRzLmxlbmd0aDspby5wdXNoKGFyZ3VtZW50c1t1KytdKTtyZXR1cm4gbXQobixlLHRoaXMsdGhpcyxvKX07cmV0dXJuIGV9KSk7YnQucGxhY2Vob2xkZXI9c247Y29uc3Qgd3Q9YnQsanQ9XygoZnVuY3Rpb24obix0LHIpe2lmKCFXKG4pKXRocm93IG5ldyBUeXBlRXJyb3IoIkJpbmQgbXVzdCBiZSBjYWxsZWQgb24gYSBmdW5jdGlvbiIpO3ZhciBlPV8oKGZ1bmN0aW9uKHUpe3JldHVybiBtdChuLGUsdCx0aGlzLHIuY29uY2F0KHUpKX0pKTtyZXR1cm4gZX0pKSx4dD1aKG9uKTtmdW5jdGlvbiBBdChuLHQscil7dHx8MD09PXR8fCh0PTEvMCk7Zm9yKHZhciBlPVtdLHU9MCxpPTAsbz1vbihuKXx8MCxhPVtdOzspaWYoaT49byl7aWYoIWEubGVuZ3RoKWJyZWFrO3ZhciBjPWEucG9wKCk7aT1jLmksbj1jLnYsbz1vbihuKX1lbHNle3ZhciBmPW5baSsrXTthLmxlbmd0aD49dD9lW3UrK109Zjp4dChmKSYmKCQoZil8fEgoZikpPyhhLnB1c2goe2ksdjpufSksaT0wLG89b24obj1mKSk6cnx8KGVbdSsrXT1mKX1yZXR1cm4gZX1jb25zdCBfdD1fKChmdW5jdGlvbihuLHQpe3ZhciByPSh0PUF0KHQsITEsITEpKS5sZW5ndGg7aWYocjwxKXRocm93IG5ldyBFcnJvcigiYmluZEFsbCBtdXN0IGJlIHBhc3NlZCBmdW5jdGlvbiBuYW1lcyIpO2Zvcig7ci0tOyl7dmFyIGU9dFtyXTtuW2VdPWp0KG5bZV0sbil9cmV0dXJuIG59KSk7ZnVuY3Rpb24gU3Qobix0KXt2YXIgcj1mdW5jdGlvbihlKXt2YXIgdT1yLmNhY2hlLGk9IiIrKHQ/dC5hcHBseSh0aGlzLGFyZ3VtZW50cyk6ZSk7cmV0dXJuIEoodSxpKXx8KHVbaV09bi5hcHBseSh0aGlzLGFyZ3VtZW50cykpLHVbaV19O3JldHVybiByLmNhY2hlPXt9LHJ9Y29uc3QgT3Q9XygoZnVuY3Rpb24obix0LHIpe3JldHVybiBzZXRUaW1lb3V0KChmdW5jdGlvbigpe3JldHVybiBuLmFwcGx5KG51bGwscil9KSx0KX0pKSxFdD13dChPdCxzbiwxKTtmdW5jdGlvbiBrdChuLHQscil7dmFyIGUsdSxpLG8sYT0wO3J8fChyPXt9KTt2YXIgYz1mdW5jdGlvbigpe2E9ITE9PT1yLmxlYWRpbmc/MDpydCgpLGU9bnVsbCxvPW4uYXBwbHkodSxpKSxlfHwodT1pPW51bGwpfSxmPWZ1bmN0aW9uKCl7dmFyIGY9cnQoKTthfHwhMSE9PXIubGVhZGluZ3x8KGE9Zik7dmFyIGw9dC0oZi1hKTtyZXR1cm4gdT10aGlzLGk9YXJndW1lbnRzLGw8PTB8fGw+dD8oZSYmKGNsZWFyVGltZW91dChlKSxlPW51bGwpLGE9ZixvPW4uYXBwbHkodSxpKSxlfHwodT1pPW51bGwpKTplfHwhMT09PXIudHJhaWxpbmd8fChlPXNldFRpbWVvdXQoYyxsKSksb307cmV0dXJuIGYuY2FuY2VsPWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KGUpLGE9MCxlPXU9aT1udWxsfSxmfQpmdW5jdGlvbiBNdChuLHQscil7dmFyIGUsdSxpLG8sYSxjPWZ1bmN0aW9uKCl7dmFyIGY9cnQoKS11O3Q+Zj9lPXNldFRpbWVvdXQoYyx0LWYpOihlPW51bGwscnx8KG89bi5hcHBseShhLGkpKSxlfHwoaT1hPW51bGwpKX0sZj1fKChmdW5jdGlvbihmKXtyZXR1cm4gYT10aGlzLGk9Zix1PXJ0KCksZXx8KGU9c2V0VGltZW91dChjLHQpLHImJihvPW4uYXBwbHkoYSxpKSkpLG99KSk7cmV0dXJuIGYuY2FuY2VsPWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KGUpLGU9aT1hPW51bGx9LGZ9ZnVuY3Rpb24gQnQobix0KXtyZXR1cm4gd3QodCxuKX1mdW5jdGlvbiBJdChuKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4hbi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fWZ1bmN0aW9uIE50KCl7dmFyIG49YXJndW1lbnRzLHQ9bi5sZW5ndGgtMTtyZXR1cm4gZnVuY3Rpb24oKXtmb3IodmFyIHI9dCxlPW5bdF0uYXBwbHkodGhpcyxhcmd1bWVudHMpO3ItLTspZT1uW3JdLmNhbGwodGhpcyxlKTtyZXR1cm4gZX19ZnVuY3Rpb24gRHQobix0KXtyZXR1cm4gZnVuY3Rpb24oKXtpZigtLW48MSlyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fWZ1bmN0aW9uIFJ0KG4sdCl7dmFyIHI7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuLS1uPjAmJihyPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpKSxuPD0xJiYodD1udWxsKSxyfX1jb25zdCBUdD13dChSdCwyKTtmdW5jdGlvbiBWdChuLHQscil7dD1Rbih0LHIpO2Zvcih2YXIgZSx1PWNuKG4pLGk9MCxvPXUubGVuZ3RoO2k8bztpKyspaWYodChuW2U9dVtpXV0sZSxuKSlyZXR1cm4gZX1mdW5jdGlvbiBGdChuKXtyZXR1cm4gZnVuY3Rpb24odCxyLGUpe3I9UW4ocixlKTtmb3IodmFyIHU9b24odCksaT1uPjA/MDp1LTE7aT49MCYmaTx1O2krPW4paWYocih0W2ldLGksdCkpcmV0dXJuIGk7cmV0dXJuLTF9fWNvbnN0IHF0PUZ0KDEpLHp0PUZ0KC0xKTtmdW5jdGlvbiBXdChuLHQscixlKXtmb3IodmFyIHU9KHI9UW4ocixlLDEpKSh0KSxpPTAsbz1vbihuKTtpPG87KXt2YXIgYT1NYXRoLmZsb29yKChpK28pLzIpO3IoblthXSk8dT9pPWErMTpvPWF9cmV0dXJuIGl9ZnVuY3Rpb24gUHQobix0LHIpe3JldHVybiBmdW5jdGlvbihlLHUsaSl7dmFyIG89MCxhPW9uKGUpO2lmKCJudW1iZXIiPT10eXBlb2YgaSluPjA/bz1pPj0wP2k6TWF0aC5tYXgoaSthLG8pOmE9aT49MD9NYXRoLm1pbihpKzEsYSk6aSthKzE7ZWxzZSBpZihyJiZpJiZhKXJldHVybiBlW2k9cihlLHUpXT09PXU/aTotMTtpZih1IT11KXJldHVybihpPXQobC5jYWxsKGUsbyxhKSxYKSk+PTA/aStvOi0xO2ZvcihpPW4+MD9vOmEtMTtpPj0wJiZpPGE7aSs9bilpZihlW2ldPT09dSlyZXR1cm4gaTtyZXR1cm4tMX19Y29uc3QgVXQ9UHQoMSxxdCxXdCksS3Q9UHQoLTEsenQpO2Z1bmN0aW9uIEx0KG4sdCxyKXt2YXIgZT0oeHQobik/cXQ6VnQpKG4sdCxyKTtpZih2b2lkIDAhPT1lJiYtMSE9PWUpcmV0dXJuIG5bZV19ZnVuY3Rpb24gQ3Qobix0KXtyZXR1cm4gTHQobixDbih0KSl9ZnVuY3Rpb24gJHQobix0LHIpe3ZhciBlLHU7aWYodD1Kbih0LHIpLHh0KG4pKWZvcihlPTAsdT1uLmxlbmd0aDtlPHU7ZSsrKXQobltlXSxlLG4pO2Vsc2V7dmFyIGk9Y24obik7Zm9yKGU9MCx1PWkubGVuZ3RoO2U8dTtlKyspdChuW2lbZV1dLGlbZV0sbil9cmV0dXJuIG59ZnVuY3Rpb24gSnQobix0LHIpe3Q9UW4odCxyKTtmb3IodmFyIGU9IXh0KG4pJiZjbihuKSx1PShlfHxuKS5sZW5ndGgsaT1BcnJheSh1KSxvPTA7bzx1O28rKyl7dmFyIGE9ZT9lW29dOm87aVtvXT10KG5bYV0sYSxuKX1yZXR1cm4gaX1mdW5jdGlvbiBHdChuKXtyZXR1cm4gZnVuY3Rpb24odCxyLGUsdSl7dmFyIGk9YXJndW1lbnRzLmxlbmd0aD49MztyZXR1cm4gZnVuY3Rpb24odCxyLGUsdSl7dmFyIGk9IXh0KHQpJiZjbih0KSxvPShpfHx0KS5sZW5ndGgsYT1uPjA/MDpvLTE7Zm9yKHV8fChlPXRbaT9pW2FdOmFdLGErPW4pO2E+PTAmJmE8bzthKz1uKXt2YXIgYz1pP2lbYV06YTtlPXIoZSx0W2NdLGMsdCl9cmV0dXJuIGV9KHQsSm4ocix1LDQpLGUsaSl9fWNvbnN0IEh0PUd0KDEpLFF0PUd0KC0xKTtmdW5jdGlvbiBYdChuLHQscil7dmFyIGU9W107cmV0dXJuIHQ9UW4odCxyKSwkdChuLChmdW5jdGlvbihuLHIsdSl7dChuLHIsdSkmJmUucHVzaChuKX0pKSxlfWZ1bmN0aW9uIFl0KG4sdCxyKXtyZXR1cm4gWHQobixJdChRbih0KSkscil9ZnVuY3Rpb24gWnQobix0LHIpe3Q9UW4odCxyKTtmb3IodmFyIGU9IXh0KG4pJiZjbihuKSx1PShlfHxuKS5sZW5ndGgsaT0wO2k8dTtpKyspe3ZhciBvPWU/ZVtpXTppO2lmKCF0KG5bb10sbyxuKSlyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiBucihuLHQscil7dD1Rbih0LHIpO2Zvcih2YXIgZT0heHQobikmJmNuKG4pLHU9KGV8fG4pLmxlbmd0aCxpPTA7aTx1O2krKyl7dmFyIG89ZT9lW2ldOmk7aWYodChuW29dLG8sbikpcmV0dXJuITB9cmV0dXJuITF9ZnVuY3Rpb24gdHIobix0LHIsZSl7cmV0dXJuIHh0KG4pfHwobj1FbihuKSksKCJudW1iZXIiIT10eXBlb2Ygcnx8ZSkmJihyPTApLFV0KG4sdCxyKT49MH1jb25zdCBycj1fKChmdW5jdGlvbihuLHQscil7dmFyIGUsdTtyZXR1cm4gVyh0KT91PXQ6KHQ9V24odCksZT10LnNsaWNlKDAsLTEpLHQ9dFt0Lmxlbmd0aC0xXSksSnQobiwoZnVuY3Rpb24obil7dmFyIGk9dTtpZighaSl7aWYoZSYmZS5sZW5ndGgmJihuPVBuKG4sZSkpLG51bGw9PW4pcmV0dXJuO2k9blt0XX1yZXR1cm4gbnVsbD09aT9pOmkuYXBwbHkobixyKX0pKX0pKTtmdW5jdGlvbiBlcihuLHQpe3JldHVybiBKdChuLCRuKHQpKX1mdW5jdGlvbiB1cihuLHQpe3JldHVybiBYdChuLENuKHQpKX1mdW5jdGlvbiBpcihuLHQscil7dmFyIGUsdSxpPS0xLzAsbz0tMS8wO2lmKG51bGw9PXR8fCJudW1iZXIiPT10eXBlb2YgdCYmIm9iamVjdCIhPXR5cGVvZiBuWzBdJiZudWxsIT1uKWZvcih2YXIgYT0wLGM9KG49eHQobik/bjpFbihuKSkubGVuZ3RoO2E8YzthKyspbnVsbCE9KGU9blthXSkmJmU+aSYmKGk9ZSk7ZWxzZSB0PVFuKHQsciksJHQobiwoZnVuY3Rpb24obixyLGUpewooKHU9dChuLHIsZSkpPm98fHU9PT0tMS8wJiZpPT09LTEvMCkmJihpPW4sbz11KX0pKTtyZXR1cm4gaX1mdW5jdGlvbiBvcihuLHQscil7dmFyIGUsdSxpPTEvMCxvPTEvMDtpZihudWxsPT10fHwibnVtYmVyIj09dHlwZW9mIHQmJiJvYmplY3QiIT10eXBlb2YgblswXSYmbnVsbCE9bilmb3IodmFyIGE9MCxjPShuPXh0KG4pP246RW4obikpLmxlbmd0aDthPGM7YSsrKW51bGwhPShlPW5bYV0pJiZlPGkmJihpPWUpO2Vsc2UgdD1Rbih0LHIpLCR0KG4sKGZ1bmN0aW9uKG4scixlKXsoKHU9dChuLHIsZSkpPG98fHU9PT0xLzAmJmk9PT0xLzApJiYoaT1uLG89dSl9KSk7cmV0dXJuIGl9dmFyIGFyPS9bXlx1ZDgwMC1cdWRmZmZdfFtcdWQ4MDAtXHVkYmZmXVtcdWRjMDAtXHVkZmZmXXxbXHVkODAwLVx1ZGZmZl0vZztmdW5jdGlvbiBjcihuKXtyZXR1cm4gbj8kKG4pP2wuY2FsbChuKTpJKG4pP24ubWF0Y2goYXIpOnh0KG4pP0p0KG4sTG4pOkVuKG4pOltdfWZ1bmN0aW9uIGZyKG4sdCxyKXtpZihudWxsPT10fHxyKXJldHVybiB4dChuKXx8KG49RW4obikpLG5bdHQobi5sZW5ndGgtMSldO3ZhciBlPWNyKG4pLHU9b24oZSk7dD1NYXRoLm1heChNYXRoLm1pbih0LHUpLDApO2Zvcih2YXIgaT11LTEsbz0wO288dDtvKyspe3ZhciBhPXR0KG8saSksYz1lW29dO2Vbb109ZVthXSxlW2FdPWN9cmV0dXJuIGUuc2xpY2UoMCx0KX1mdW5jdGlvbiBscihuKXtyZXR1cm4gZnIobiwxLzApfWZ1bmN0aW9uIHNyKG4sdCxyKXt2YXIgZT0wO3JldHVybiB0PVFuKHQsciksZXIoSnQobiwoZnVuY3Rpb24obixyLHUpe3JldHVybnt2YWx1ZTpuLGluZGV4OmUrKyxjcml0ZXJpYTp0KG4scix1KX19KSkuc29ydCgoZnVuY3Rpb24obix0KXt2YXIgcj1uLmNyaXRlcmlhLGU9dC5jcml0ZXJpYTtpZihyIT09ZSl7aWYocj5lfHx2b2lkIDA9PT1yKXJldHVybiAxO2lmKHI8ZXx8dm9pZCAwPT09ZSlyZXR1cm4tMX1yZXR1cm4gbi5pbmRleC10LmluZGV4fSkpLCJ2YWx1ZSIpfWZ1bmN0aW9uIHByKG4sdCl7cmV0dXJuIGZ1bmN0aW9uKHIsZSx1KXt2YXIgaT10P1tbXSxbXV06e307cmV0dXJuIGU9UW4oZSx1KSwkdChyLChmdW5jdGlvbih0LHUpe3ZhciBvPWUodCx1LHIpO24oaSx0LG8pfSkpLGl9fWNvbnN0IGhyPXByKChmdW5jdGlvbihuLHQscil7SihuLHIpP25bcl0ucHVzaCh0KTpuW3JdPVt0XX0pKSx2cj1wcigoZnVuY3Rpb24obix0LHIpe25bcl09dH0pKSxkcj1wcigoZnVuY3Rpb24obix0LHIpe0oobixyKT9uW3JdKys6bltyXT0xfSkpLHlyPXByKChmdW5jdGlvbihuLHQscil7bltyPzA6MV0ucHVzaCh0KX0pLCEwKTtmdW5jdGlvbiBncihuKXtyZXR1cm4gbnVsbD09bj8wOnh0KG4pP24ubGVuZ3RoOmNuKG4pLmxlbmd0aH1mdW5jdGlvbiBtcihuLHQscil7cmV0dXJuIHQgaW4gcn1jb25zdCBicj1fKChmdW5jdGlvbihuLHQpe3ZhciByPXt9LGU9dFswXTtpZihudWxsPT1uKXJldHVybiByO1coZSk/KHQubGVuZ3RoPjEmJihlPUpuKGUsdFsxXSkpLHQ9ZG4obikpOihlPW1yLHQ9QXQodCwhMSwhMSksbj1PYmplY3QobikpO2Zvcih2YXIgdT0wLGk9dC5sZW5ndGg7dTxpO3UrKyl7dmFyIG89dFt1XSxhPW5bb107ZShhLG8sbikmJihyW29dPWEpfXJldHVybiByfSkpLHdyPV8oKGZ1bmN0aW9uKG4sdCl7dmFyIHIsZT10WzBdO3JldHVybiBXKGUpPyhlPUl0KGUpLHQubGVuZ3RoPjEmJihyPXRbMV0pKToodD1KdChBdCh0LCExLCExKSxTdHJpbmcpLGU9ZnVuY3Rpb24obixyKXtyZXR1cm4hdHIodCxyKX0pLGJyKG4sZSxyKX0pKTtmdW5jdGlvbiBqcihuLHQscil7cmV0dXJuIGwuY2FsbChuLDAsTWF0aC5tYXgoMCxuLmxlbmd0aC0obnVsbD09dHx8cj8xOnQpKSl9ZnVuY3Rpb24geHIobix0LHIpe3JldHVybiBudWxsPT1ufHxuLmxlbmd0aDwxP251bGw9PXR8fHI/dm9pZCAwOltdOm51bGw9PXR8fHI/blswXTpqcihuLG4ubGVuZ3RoLXQpfWZ1bmN0aW9uIEFyKG4sdCxyKXtyZXR1cm4gbC5jYWxsKG4sbnVsbD09dHx8cj8xOnQpfWZ1bmN0aW9uIF9yKG4sdCxyKXtyZXR1cm4gbnVsbD09bnx8bi5sZW5ndGg8MT9udWxsPT10fHxyP3ZvaWQgMDpbXTpudWxsPT10fHxyP25bbi5sZW5ndGgtMV06QXIobixNYXRoLm1heCgwLG4ubGVuZ3RoLXQpKX1mdW5jdGlvbiBTcihuKXtyZXR1cm4gWHQobixCb29sZWFuKX1mdW5jdGlvbiBPcihuLHQpe3JldHVybiBBdChuLHQsITEpfWNvbnN0IEVyPV8oKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIHQ9QXQodCwhMCwhMCksWHQobiwoZnVuY3Rpb24obil7cmV0dXJuIXRyKHQsbil9KSl9KSksa3I9XygoZnVuY3Rpb24obix0KXtyZXR1cm4gRXIobix0KX0pKTtmdW5jdGlvbiBNcihuLHQscixlKXtrKHQpfHwoZT1yLHI9dCx0PSExKSxudWxsIT1yJiYocj1RbihyLGUpKTtmb3IodmFyIHU9W10saT1bXSxvPTAsYT1vbihuKTtvPGE7bysrKXt2YXIgYz1uW29dLGY9cj9yKGMsbyxuKTpjO3QmJiFyPyhvJiZpPT09Znx8dS5wdXNoKGMpLGk9Zik6cj90cihpLGYpfHwoaS5wdXNoKGYpLHUucHVzaChjKSk6dHIodSxjKXx8dS5wdXNoKGMpfXJldHVybiB1fWNvbnN0IEJyPV8oKGZ1bmN0aW9uKG4pe3JldHVybiBNcihBdChuLCEwLCEwKSl9KSk7ZnVuY3Rpb24gSXIobil7Zm9yKHZhciB0PVtdLHI9YXJndW1lbnRzLmxlbmd0aCxlPTAsdT1vbihuKTtlPHU7ZSsrKXt2YXIgaT1uW2VdO2lmKCF0cih0LGkpKXt2YXIgbztmb3Iobz0xO288ciYmdHIoYXJndW1lbnRzW29dLGkpO28rKyk7bz09PXImJnQucHVzaChpKX19cmV0dXJuIHR9ZnVuY3Rpb24gTnIobil7Zm9yKHZhciB0PW4mJmlyKG4sb24pLmxlbmd0aHx8MCxyPUFycmF5KHQpLGU9MDtlPHQ7ZSsrKXJbZV09ZXIobixlKTtyZXR1cm4gcn1jb25zdCBEcj1fKE5yKTtmdW5jdGlvbiBScihuLHQpe2Zvcih2YXIgcj17fSxlPTAsdT1vbihuKTtlPHU7ZSsrKXQ/cltuW2VdXT10W2VdOnJbbltlXVswXV09bltlXVsxXTtyZXR1cm4gcn1mdW5jdGlvbiBUcihuLHQscil7bnVsbD09dCYmKHQ9bnx8MCxuPTApLHJ8fChyPXQ8bj8tMToxKTtmb3IodmFyIGU9TWF0aC5tYXgoTWF0aC5jZWlsKCh0LW4pL3IpLDApLHU9QXJyYXkoZSksaT0wO2k8ZTtpKyssbis9cil1W2ldPW4KO3JldHVybiB1fWZ1bmN0aW9uIFZyKG4sdCl7aWYobnVsbD09dHx8dDwxKXJldHVybltdO2Zvcih2YXIgcj1bXSxlPTAsdT1uLmxlbmd0aDtlPHU7KXIucHVzaChsLmNhbGwobixlLGUrPXQpKTtyZXR1cm4gcn1mdW5jdGlvbiBGcihuLHQpe3JldHVybiBuLl9jaGFpbj9zbih0KS5jaGFpbigpOnR9ZnVuY3Rpb24gcXIobil7cmV0dXJuICR0KEJuKG4pLChmdW5jdGlvbih0KXt2YXIgcj1zblt0XT1uW3RdO3NuLnByb3RvdHlwZVt0XT1mdW5jdGlvbigpe3ZhciBuPVt0aGlzLl93cmFwcGVkXTtyZXR1cm4gZi5hcHBseShuLGFyZ3VtZW50cyksRnIodGhpcyxyLmFwcGx5KHNuLG4pKX19KSksc259JHQoWyJwb3AiLCJwdXNoIiwicmV2ZXJzZSIsInNoaWZ0Iiwic29ydCIsInNwbGljZSIsInVuc2hpZnQiXSwoZnVuY3Rpb24obil7dmFyIHQ9b1tuXTtzbi5wcm90b3R5cGVbbl09ZnVuY3Rpb24oKXt2YXIgcj10aGlzLl93cmFwcGVkO3JldHVybiBudWxsIT1yJiYodC5hcHBseShyLGFyZ3VtZW50cyksInNoaWZ0IiE9PW4mJiJzcGxpY2UiIT09bnx8MCE9PXIubGVuZ3RofHxkZWxldGUgclswXSksRnIodGhpcyxyKX19KSksJHQoWyJjb25jYXQiLCJqb2luIiwic2xpY2UiXSwoZnVuY3Rpb24obil7dmFyIHQ9b1tuXTtzbi5wcm90b3R5cGVbbl09ZnVuY3Rpb24oKXt2YXIgbj10aGlzLl93cmFwcGVkO3JldHVybiBudWxsIT1uJiYobj10LmFwcGx5KG4sYXJndW1lbnRzKSksRnIodGhpcyxuKX19KSk7Y29uc3QgenI9c247dmFyIFdyPXFyKGUpO1dyLl89V3I7Y29uc3QgUHI9V3J9fV0pOw=="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/76577.f73a01e1f00043622b65.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.018Z","timestamp":1785120634018,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/76577.f73a01e1f00043622b65.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-12b22\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:20:17\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e99f237f60010d1f61e41337711739dc\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":76578,"size_decoded":29340,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3072)","md5":"6a57b1deb31991bb129476b06e9cad11","sha1":"d00dffa870d90063d146679279b23729d7cc0bb2","sha256":"4ba69451c43dc3871ed3f2b689d739650d0189c1095c65a1e4c3050c3ca9a662","sha512":"73f9b1560727a29f3cfe717e938a390645a6bb2cae109ebddc8e909a042a048adc3d51bccd2be01a77a3839b742c0edf3283489d06d79bb43e3d75bc2974df1e","ssdeep":"768:VXEgvhG7/2KArEGBxc1lmprTmMAo58FRGdfycQKRAppcS+oLAMzpOXYq9EqLN6e:V5G7/0r9HqlmprTmMAw8FRGdfycNAgVf","tlshash":"7873f8cdb281b46546e7a1b0803f550bf23a6998700d8488f235e8e97c7ca5ea177f7d","first_seen":"2026-07-25T03:24:57.112206Z","last_seen":"2026-07-27T05:29:38.846313Z","times_seen":95,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s3NjU3N10sezEzMDY5OSh0LGUsbil7InVzZSBzdHJpY3QiO24uZChlLHtjb25maWd1cmVTdG9yZTooKT0+TyxjcmVhdGVBc3luY1RodW5rOigpPT5qLGNyZWF0ZVNsaWNlOigpPT5rfSk7dmFyIGkscj1uKDMyNzIzOSksbz0obigzNjQzNTApLG4oNzg3NzI0KSkscz1uKDk1Mzc0OSksYT0oaT1mdW5jdGlvbih0LGUpe3JldHVybiBpPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbih0LGUpe3QuX19wcm90b19fPWV9fHxmdW5jdGlvbih0LGUpe2Zvcih2YXIgbiBpbiBlKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLG4pJiYodFtuXT1lW25dKX0saSh0LGUpfSxmdW5jdGlvbih0LGUpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlJiZudWxsIT09ZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDbGFzcyBleHRlbmRzIHZhbHVlICIrU3RyaW5nKGUpKyIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbCIpO2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPXR9aSh0LGUpLHQucHJvdG90eXBlPW51bGw9PT1lP09iamVjdC5jcmVhdGUoZSk6KG4ucHJvdG90eXBlPWUucHJvdG90eXBlLG5ldyBuKX0pLHU9ZnVuY3Rpb24odCxlKXt2YXIgbixpLHIsbyxzPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZigxJnJbMF0pdGhyb3cgclsxXTtyZXR1cm4gclsxXX0sdHJ5czpbXSxvcHM6W119O3JldHVybiBvPXtuZXh0OmEoMCksdGhyb3c6YSgxKSxyZXR1cm46YSgyKX0sImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKG9bU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksbztmdW5jdGlvbiBhKG8pe3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24obyl7aWYobil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtzOyl0cnl7aWYobj0xLGkmJihyPTImb1swXT9pLnJldHVybjpvWzBdP2kudGhyb3d8fCgocj1pLnJldHVybikmJnIuY2FsbChpKSwwKTppLm5leHQpJiYhKHI9ci5jYWxsKGksb1sxXSkpLmRvbmUpcmV0dXJuIHI7c3dpdGNoKGk9MCxyJiYobz1bMiZvWzBdLHIudmFsdWVdKSxvWzBdKXtjYXNlIDA6Y2FzZSAxOnI9bzticmVhaztjYXNlIDQ6cmV0dXJuIHMubGFiZWwrKyx7dmFsdWU6b1sxXSxkb25lOiExfTtjYXNlIDU6cy5sYWJlbCsrLGk9b1sxXSxvPVswXTtjb250aW51ZTtjYXNlIDc6bz1zLm9wcy5wb3AoKSxzLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKHI9cy50cnlzLChyPXIubGVuZ3RoPjAmJnJbci5sZW5ndGgtMV0pfHw2IT09b1swXSYmMiE9PW9bMF0pKXtzPTA7Y29udGludWV9aWYoMz09PW9bMF0mJighcnx8b1sxXT5yWzBdJiZvWzFdPHJbM10pKXtzLmxhYmVsPW9bMV07YnJlYWt9aWYoNj09PW9bMF0mJnMubGFiZWw8clsxXSl7cy5sYWJlbD1yWzFdLHI9bzticmVha31pZihyJiZzLmxhYmVsPHJbMl0pe3MubGFiZWw9clsyXSxzLm9wcy5wdXNoKG8pO2JyZWFrfXJbMl0mJnMub3BzLnBvcCgpLHMudHJ5cy5wb3AoKTtjb250aW51ZX1vPWUuY2FsbCh0LHMpfWNhdGNoKHQpe289WzYsdF0saT0wfWZpbmFsbHl7bj1yPTB9aWYoNSZvWzBdKXRocm93IG9bMV07cmV0dXJue3ZhbHVlOm9bMF0/b1sxXTp2b2lkIDAsZG9uZTohMH19KFtvLGFdKX19fSxsPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPTAsaT1lLmxlbmd0aCxyPXQubGVuZ3RoO248aTtuKysscisrKXRbcl09ZVtuXTtyZXR1cm4gdH0sYz1PYmplY3QuZGVmaW5lUHJvcGVydHksZj1PYmplY3QuZGVmaW5lUHJvcGVydGllcyxoPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzLGQ9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyxwPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksdj1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLGc9ZnVuY3Rpb24odCxlLG4pe3JldHVybiBlIGluIHQ/Yyh0LGUse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm59KTp0W2VdPW59LG09ZnVuY3Rpb24odCxlKXtmb3IodmFyIG4gaW4gZXx8KGU9e30pKXAuY2FsbChlLG4pJiZnKHQsbixlW25dKTtpZihkKWZvcih2YXIgaT0wLHI9ZChlKTtpPHIubGVuZ3RoO2krKyl7bj1yW2ldO3YuY2FsbChlLG4pJiZnKHQsbixlW25dKX1yZXR1cm4gdH0seT1mdW5jdGlvbih0LGUpe3JldHVybiBmKHQsaChlKSl9LGI9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJndpbmRvdy5fX1JFRFVYX0RFVlRPT0xTX0VYVEVOU0lPTl9DT01QT1NFX18/d2luZG93Ll9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX0NPTVBPU0VfXzpmdW5jdGlvbigpe2lmKDAhPT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiJvYmplY3QiPT10eXBlb2YgYXJndW1lbnRzWzBdP28uY29tcG9zZTpvLmNvbXBvc2UuYXBwbHkobnVsbCxhcmd1bWVudHMpfTsidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmd2luZG93Ll9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18mJndpbmRvdy5fX1JFRFVYX0RFVlRPT0xTX0VYVEVOU0lPTl9fO2Z1bmN0aW9uIF8odCl7aWYoIm9iamVjdCIhPXR5cGVvZiB0fHxudWxsPT09dClyZXR1cm4hMTtmb3IodmFyIGU9dDtudWxsIT09T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpOyllPU9iamVjdC5nZXRQcm90b3R5cGVPZihlKTtyZXR1cm4gT2JqZWN0LmdldFByb3RvdHlwZU9mKHQpPT09ZX12YXIgdz1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7Zm9yKHZhciBuPVtdLGk9MDtpPGFyZ3VtZW50cy5sZW5ndGg7aSsrKW5baV09YXJndW1lbnRzW2ldO3ZhciByPXQuYXBwbHkodGhpcyxuKXx8dGhpcztyZXR1cm4gT2JqZWN0LnNldFByb3RvdHlwZU9mKHIsZS5wcm90b3R5cGUpLHJ9cmV0dXJuIGEoZSx0KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxTeW1ib2wuc3BlY2llcyx7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGV9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksCmUucHJvdG90eXBlLmNvbmNhdD1mdW5jdGlvbigpe2Zvcih2YXIgZT1bXSxuPTA7bjxhcmd1bWVudHMubGVuZ3RoO24rKyllW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gdC5wcm90b3R5cGUuY29uY2F0LmFwcGx5KHRoaXMsZSl9LGUucHJvdG90eXBlLnByZXBlbmQ9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sbj0wO248YXJndW1lbnRzLmxlbmd0aDtuKyspdFtuXT1hcmd1bWVudHNbbl07cmV0dXJuIDE9PT10Lmxlbmd0aCYmQXJyYXkuaXNBcnJheSh0WzBdKT9uZXcoZS5iaW5kLmFwcGx5KGUsbChbdm9pZCAwXSx0WzBdLmNvbmNhdCh0aGlzKSkpKTpuZXcoZS5iaW5kLmFwcGx5KGUsbChbdm9pZCAwXSx0LmNvbmNhdCh0aGlzKSkpKX0sZX0oQXJyYXkpO2Z1bmN0aW9uIHgoKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZvaWQgMD09PXQmJih0PXt9KTt2YXIgZT10LnRodW5rLG49dm9pZCAwPT09ZXx8ZSxpPSh0LmltbXV0YWJsZUNoZWNrLHQuc2VyaWFsaXphYmxlQ2hlY2ssbmV3IHcpO24mJigiYm9vbGVhbiI9PXR5cGVvZiBuP2kucHVzaChzLmRlZmF1bHQpOmkucHVzaChzLmRlZmF1bHQud2l0aEV4dHJhQXJndW1lbnQobi5leHRyYUFyZ3VtZW50KSkpOzA7cmV0dXJuIGl9KHQpfX1mdW5jdGlvbiBPKHQpe3ZhciBlLG49eCgpLGk9dHx8e30scj1pLnJlZHVjZXIscz12b2lkIDA9PT1yP3ZvaWQgMDpyLGE9aS5taWRkbGV3YXJlLHU9dm9pZCAwPT09YT9uKCk6YSxjPWkuZGV2VG9vbHMsZj12b2lkIDA9PT1jfHxjLGg9aS5wcmVsb2FkZWRTdGF0ZSxkPXZvaWQgMD09PWg/dm9pZCAwOmgscD1pLmVuaGFuY2Vycyx2PXZvaWQgMD09PXA/dm9pZCAwOnA7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHMpZT1zO2Vsc2V7aWYoIV8ocykpdGhyb3cgbmV3IEVycm9yKCcicmVkdWNlciIgaXMgYSByZXF1aXJlZCBhcmd1bWVudCwgYW5kIG11c3QgYmUgYSBmdW5jdGlvbiBvciBhbiBvYmplY3Qgb2YgZnVuY3Rpb25zIHRoYXQgY2FuIGJlIHBhc3NlZCB0byBjb21iaW5lUmVkdWNlcnMnKTtlPSgwLG8uY29tYmluZVJlZHVjZXJzKShzKX12YXIgZz11OyJmdW5jdGlvbiI9PXR5cGVvZiBnJiYoZz1nKG4pKTt2YXIgeT1vLmFwcGx5TWlkZGxld2FyZS5hcHBseSh2b2lkIDAsZyksdz1vLmNvbXBvc2U7ZiYmKHc9YihtKHt0cmFjZTohMX0sIm9iamVjdCI9PXR5cGVvZiBmJiZmKSkpO3ZhciBPPVt5XTtBcnJheS5pc0FycmF5KHYpP089bChbeV0sdik6ImZ1bmN0aW9uIj09dHlwZW9mIHYmJihPPXYoTykpO3ZhciBFPXcuYXBwbHkodm9pZCAwLE8pO3JldHVybigwLG8uY3JlYXRlU3RvcmUpKGUsZCxFKX1mdW5jdGlvbiBFKHQsZSl7ZnVuY3Rpb24gbigpe2Zvcih2YXIgbj1bXSxpPTA7aTxhcmd1bWVudHMubGVuZ3RoO2krKyluW2ldPWFyZ3VtZW50c1tpXTtpZihlKXt2YXIgcj1lLmFwcGx5KHZvaWQgMCxuKTtpZighcil0aHJvdyBuZXcgRXJyb3IoInByZXBhcmVBY3Rpb24gZGlkIG5vdCByZXR1cm4gYW4gb2JqZWN0Iik7cmV0dXJuIG0obSh7dHlwZTp0LHBheWxvYWQ6ci5wYXlsb2FkfSwibWV0YSJpbiByJiZ7bWV0YTpyLm1ldGF9KSwiZXJyb3IiaW4gciYme2Vycm9yOnIuZXJyb3J9KX1yZXR1cm57dHlwZTp0LHBheWxvYWQ6blswXX19cmV0dXJuIG4udG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4iIit0fSxuLnR5cGU9dCxuLm1hdGNoPWZ1bmN0aW9uKGUpe3JldHVybiBlLnR5cGU9PT10fSxufWZ1bmN0aW9uIEModCl7dmFyIGUsbj17fSxpPVtdLHI9e2FkZENhc2U6ZnVuY3Rpb24odCxlKXt2YXIgaT0ic3RyaW5nIj09dHlwZW9mIHQ/dDp0LnR5cGU7aWYoaSBpbiBuKXRocm93IG5ldyBFcnJvcigiYWRkQ2FzZSBjYW5ub3QgYmUgY2FsbGVkIHdpdGggdHdvIHJlZHVjZXJzIGZvciB0aGUgc2FtZSBhY3Rpb24gdHlwZSIpO3JldHVybiBuW2ldPWUscn0sYWRkTWF0Y2hlcjpmdW5jdGlvbih0LGUpe3JldHVybiBpLnB1c2goe21hdGNoZXI6dCxyZWR1Y2VyOmV9KSxyfSxhZGREZWZhdWx0Q2FzZTpmdW5jdGlvbih0KXtyZXR1cm4gZT10LHJ9fTtyZXR1cm4gdChyKSxbbixpLGVdfWZ1bmN0aW9uIGsodCl7dmFyIGU9dC5uYW1lLG49dC5pbml0aWFsU3RhdGU7aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJgbmFtZWAgaXMgYSByZXF1aXJlZCBvcHRpb24gZm9yIGNyZWF0ZVNsaWNlIik7dmFyIGk9dC5yZWR1Y2Vyc3x8e30sbz0iZnVuY3Rpb24iPT10eXBlb2YgdC5leHRyYVJlZHVjZXJzP0ModC5leHRyYVJlZHVjZXJzKTpbdC5leHRyYVJlZHVjZXJzXSxzPW9bMF0sYT12b2lkIDA9PT1zP3t9OnMsdT1vWzFdLGM9dm9pZCAwPT09dT9bXTp1LGY9b1syXSxoPXZvaWQgMD09PWY/dm9pZCAwOmYsZD1PYmplY3Qua2V5cyhpKSxwPXt9LHY9e30sZz17fTtkLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciBuLHIsbz1pW3RdLHM9ZSsiLyIrdDsicmVkdWNlciJpbiBvPyhuPW8ucmVkdWNlcixyPW8ucHJlcGFyZSk6bj1vLHBbdF09bix2W3NdPW4sZ1t0XT1yP0UocyxyKTpFKHMpfSkpO3ZhciB5PWZ1bmN0aW9uKHQsZSxuLGkpe3ZvaWQgMD09PW4mJihuPVtdKTt2YXIgbz0iZnVuY3Rpb24iPT10eXBlb2YgZT9DKGUpOltlLG4saV0scz1vWzBdLGE9b1sxXSx1PW9bMl0sYz0oMCxyLmRlZmF1bHQpKHQsKGZ1bmN0aW9uKCl7fSkpO3JldHVybiBmdW5jdGlvbih0LGUpe3ZvaWQgMD09PXQmJih0PWMpO3ZhciBuPWwoW3NbZS50eXBlXV0sYS5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybigwLHQubWF0Y2hlcikoZSl9KSkubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC5yZWR1Y2VyfSkpKTtyZXR1cm4gMD09PW4uZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4hIXR9KSkubGVuZ3RoJiYobj1bdV0pLG4ucmVkdWNlKChmdW5jdGlvbih0LG4pe2lmKG4pe3ZhciBpO2lmKCgwLHIuaXNEcmFmdCkodCkpcmV0dXJuIHZvaWQgMD09PShpPW4odCxlKSk/dDppO2lmKCgwLHIuaXNEcmFmdGFibGUpKHQpKXJldHVybigwLHIuZGVmYXVsdCkodCwoZnVuY3Rpb24odCl7cmV0dXJuIG4odCxlKX0pKTtpZih2b2lkIDA9PT0oaT1uKHQsZSkpKXtpZihudWxsPT09dClyZXR1cm4gdAo7dGhyb3cgRXJyb3IoIkEgY2FzZSByZWR1Y2VyIG9uIGEgbm9uLWRyYWZ0YWJsZSB2YWx1ZSBtdXN0IG5vdCByZXR1cm4gdW5kZWZpbmVkIil9cmV0dXJuIGl9cmV0dXJuIHR9KSx0KX19KG4sbShtKHt9LGEpLHYpLGMsaCk7cmV0dXJue25hbWU6ZSxyZWR1Y2VyOnksYWN0aW9uczpnLGNhc2VSZWR1Y2VyczpwfX12YXIgUz1mdW5jdGlvbih0KXt2b2lkIDA9PT10JiYodD0yMSk7Zm9yKHZhciBlPSIiLG49dDtuLS07KWUrPSJNb2R1bGVTeW1iaGFzT3duUHItMDEyMzQ1Njc4OUFCQ0RFRkdITlJWZmdjdGlVdnpfS3FZVEprTHhwWlhJalFXIls2NCpNYXRoLnJhbmRvbSgpfDBdO3JldHVybiBlfSxEPVsibmFtZSIsIm1lc3NhZ2UiLCJzdGFjayIsImNvZGUiXSxNPWZ1bmN0aW9uKHQsZSl7dGhpcy5wYXlsb2FkPXQsdGhpcy5tZXRhPWV9LFA9ZnVuY3Rpb24odCxlKXt0aGlzLnBheWxvYWQ9dCx0aGlzLm1ldGE9ZX0sQT1mdW5jdGlvbih0KXtpZigib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10KXtmb3IodmFyIGU9e30sbj0wLGk9RDtuPGkubGVuZ3RoO24rKyl7dmFyIHI9aVtuXTsic3RyaW5nIj09dHlwZW9mIHRbcl0mJihlW3JdPXRbcl0pfXJldHVybiBlfXJldHVybnttZXNzYWdlOlN0cmluZyh0KX19O2Z1bmN0aW9uIGoodCxlLG4pe3ZhciBpPUUodCsiL2Z1bGZpbGxlZCIsKGZ1bmN0aW9uKHQsZSxuLGkpe3JldHVybntwYXlsb2FkOnQsbWV0YTp5KG0oe30saXx8e30pLHthcmc6bixyZXF1ZXN0SWQ6ZSxyZXF1ZXN0U3RhdHVzOiJmdWxmaWxsZWQifSl9fSkpLHI9RSh0KyIvcGVuZGluZyIsKGZ1bmN0aW9uKHQsZSxuKXtyZXR1cm57cGF5bG9hZDp2b2lkIDAsbWV0YTp5KG0oe30sbnx8e30pLHthcmc6ZSxyZXF1ZXN0SWQ6dCxyZXF1ZXN0U3RhdHVzOiJwZW5kaW5nIn0pfX0pKSxvPUUodCsiL3JlamVjdGVkIiwoZnVuY3Rpb24odCxlLGkscixvKXtyZXR1cm57cGF5bG9hZDpyLGVycm9yOihuJiZuLnNlcmlhbGl6ZUVycm9yfHxBKSh0fHwiUmVqZWN0ZWQiKSxtZXRhOnkobSh7fSxvfHx7fSkse2FyZzppLHJlcXVlc3RJZDplLHJlamVjdGVkV2l0aFZhbHVlOiEhcixyZXF1ZXN0U3RhdHVzOiJyZWplY3RlZCIsYWJvcnRlZDoiQWJvcnRFcnJvciI9PT0obnVsbD09dD92b2lkIDA6dC5uYW1lKSxjb25kaXRpb246IkNvbmRpdGlvbkVycm9yIj09PShudWxsPT10P3ZvaWQgMDp0Lm5hbWUpfSl9fSkpLHM9InVuZGVmaW5lZCIhPXR5cGVvZiBBYm9ydENvbnRyb2xsZXI/QWJvcnRDb250cm9sbGVyOmZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe3RoaXMuc2lnbmFsPXthYm9ydGVkOiExLGFkZEV2ZW50TGlzdGVuZXI6ZnVuY3Rpb24oKXt9LGRpc3BhdGNoRXZlbnQ6ZnVuY3Rpb24oKXtyZXR1cm4hMX0sb25hYm9ydDpmdW5jdGlvbigpe30scmVtb3ZlRXZlbnRMaXN0ZW5lcjpmdW5jdGlvbigpe319fXJldHVybiB0LnByb3RvdHlwZS5hYm9ydD1mdW5jdGlvbigpezB9LHR9KCk7cmV0dXJuIE9iamVjdC5hc3NpZ24oKGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihhLGwsYyl7dmFyIGYsaCxkPShudWxsIT0oZj1udWxsPT1uP3ZvaWQgMDpuLmlkR2VuZXJhdG9yKT9mOlMpKCkscD1uZXcgcyx2PW5ldyBQcm9taXNlKChmdW5jdGlvbih0LGUpe3JldHVybiBwLnNpZ25hbC5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGUoe25hbWU6IkFib3J0RXJyb3IiLG1lc3NhZ2U6aHx8IkFib3J0ZWQifSl9KSl9KSksZz0hMTt2YXIgbT1mdW5jdGlvbigpe3JldHVybiBzPXRoaXMsZj1udWxsLGg9ZnVuY3Rpb24oKXt2YXIgcyxmLGg7cmV0dXJuIHUodGhpcywoZnVuY3Rpb24odSl7c3dpdGNoKHUubGFiZWwpe2Nhc2UgMDppZih1LnRyeXMucHVzaChbMCwyLCwzXSksbiYmbi5jb25kaXRpb24mJiExPT09bi5jb25kaXRpb24odCx7Z2V0U3RhdGU6bCxleHRyYTpjfSkpdGhyb3d7bmFtZToiQ29uZGl0aW9uRXJyb3IiLG1lc3NhZ2U6IkFib3J0ZWQgZHVlIHRvIGNvbmRpdGlvbiBjYWxsYmFjayByZXR1cm5pbmcgZmFsc2UuIn07cmV0dXJuIGc9ITAsYShyKGQsdCxudWxsPT0ocz1udWxsPT1uP3ZvaWQgMDpuLmdldFBlbmRpbmdNZXRhKT92b2lkIDA6cy5jYWxsKG4se3JlcXVlc3RJZDpkLGFyZzp0fSx7Z2V0U3RhdGU6bCxleHRyYTpjfSkpKSxbNCxQcm9taXNlLnJhY2UoW3YsUHJvbWlzZS5yZXNvbHZlKGUodCx7ZGlzcGF0Y2g6YSxnZXRTdGF0ZTpsLGV4dHJhOmMscmVxdWVzdElkOmQsc2lnbmFsOnAuc2lnbmFsLHJlamVjdFdpdGhWYWx1ZTpmdW5jdGlvbih0LGUpe3JldHVybiBuZXcgTSh0LGUpfSxmdWxmaWxsV2l0aFZhbHVlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5ldyBQKHQsZSl9fSkpLnRoZW4oKGZ1bmN0aW9uKGUpe2lmKGUgaW5zdGFuY2VvZiBNKXRocm93IGU7cmV0dXJuIGUgaW5zdGFuY2VvZiBQP2koZS5wYXlsb2FkLGQsdCxlLm1ldGEpOmkoZSxkLHQpfSkpXSldO2Nhc2UgMTpyZXR1cm4gZj11LnNlbnQoKSxbMywzXTtjYXNlIDI6cmV0dXJuIGg9dS5zZW50KCksZj1oIGluc3RhbmNlb2YgTT9vKG51bGwsZCx0LGgucGF5bG9hZCxoLm1ldGEpOm8oaCxkLHQpLFszLDNdO2Nhc2UgMzpyZXR1cm4gbiYmIW4uZGlzcGF0Y2hDb25kaXRpb25SZWplY3Rpb24mJm8ubWF0Y2goZikmJmYubWV0YS5jb25kaXRpb258fGEoZiksWzIsZl19fSkpfSxuZXcgUHJvbWlzZSgoZnVuY3Rpb24odCxlKXt2YXIgbj1mdW5jdGlvbih0KXt0cnl7cihoLm5leHQodCkpfWNhdGNoKHQpe2UodCl9fSxpPWZ1bmN0aW9uKHQpe3RyeXtyKGgudGhyb3codCkpfWNhdGNoKHQpe2UodCl9fSxyPWZ1bmN0aW9uKGUpe3JldHVybiBlLmRvbmU/dChlLnZhbHVlKTpQcm9taXNlLnJlc29sdmUoZS52YWx1ZSkudGhlbihuLGkpfTtyKChoPWguYXBwbHkocyxmKSkubmV4dCgpKX0pKTt2YXIgcyxmLGh9KCk7cmV0dXJuIE9iamVjdC5hc3NpZ24obSx7YWJvcnQ6ZnVuY3Rpb24odCl7ZyYmKGg9dCxwLmFib3J0KCkpfSxyZXF1ZXN0SWQ6ZCxhcmc6dCx1bndyYXA6ZnVuY3Rpb24oKXtyZXR1cm4gbS50aGVuKFQpfX0pfX0pLHtwZW5kaW5nOnIscmVqZWN0ZWQ6byxmdWxmaWxsZWQ6aSx0eXBlUHJlZml4OnR9KX1mdW5jdGlvbiBUKHQpewppZih0Lm1ldGEmJnQubWV0YS5yZWplY3RlZFdpdGhWYWx1ZSl0aHJvdyB0LnBheWxvYWQ7aWYodC5lcnJvcil0aHJvdyB0LmVycm9yO3JldHVybiB0LnBheWxvYWR9KDAsci5lbmFibGVFUzUpKCl9LDg1MzMzNih0LGUpe3ZhciBuLGkscjtpPVtlXSxuPWZ1bmN0aW9uKHQpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBlKHQpe2lmKEFycmF5LmlzQXJyYXkodCkpe2Zvcih2YXIgZT0wLG49QXJyYXkodC5sZW5ndGgpO2U8dC5sZW5ndGg7ZSsrKW5bZV09dFtlXTtyZXR1cm4gbn1yZXR1cm4gQXJyYXkuZnJvbSh0KX1PYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49ITE7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cpe3ZhciBpPXtnZXQgcGFzc2l2ZSgpe249ITB9fTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidGVzdFBhc3NpdmUiLG51bGwsaSksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3RQYXNzaXZlIixudWxsLGkpfXZhciByPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ3aW5kb3cubmF2aWdhdG9yJiZ3aW5kb3cubmF2aWdhdG9yLnBsYXRmb3JtJiYvaVAoYWR8aG9uZXxvZCkvLnRlc3Qod2luZG93Lm5hdmlnYXRvci5wbGF0Zm9ybSksbz1bXSxzPSExLGE9LTEsdT12b2lkIDAsbD12b2lkIDAsYz1mdW5jdGlvbih0KXtyZXR1cm4gby5zb21lKChmdW5jdGlvbihlKXtyZXR1cm4hKCFlLm9wdGlvbnMuYWxsb3dUb3VjaE1vdmV8fCFlLm9wdGlvbnMuYWxsb3dUb3VjaE1vdmUodCkpfSkpfSxmPWZ1bmN0aW9uKHQpe3ZhciBlPXR8fHdpbmRvdy5ldmVudDtyZXR1cm4hIWMoZS50YXJnZXQpfHwxPGUudG91Y2hlcy5sZW5ndGh8fChlLnByZXZlbnREZWZhdWx0JiZlLnByZXZlbnREZWZhdWx0KCksITEpfSxoPWZ1bmN0aW9uKCl7c2V0VGltZW91dCgoZnVuY3Rpb24oKXt2b2lkIDAhPT1sJiYoZG9jdW1lbnQuYm9keS5zdHlsZS5wYWRkaW5nUmlnaHQ9bCxsPXZvaWQgMCksdm9pZCAwIT09dSYmKGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3c9dSx1PXZvaWQgMCl9KSl9O3QuZGlzYWJsZUJvZHlTY3JvbGw9ZnVuY3Rpb24odCxpKXtpZihyKXtpZighdClyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJkaXNhYmxlQm9keVNjcm9sbCB1bnN1Y2Nlc3NmdWwgLSB0YXJnZXRFbGVtZW50IG11c3QgYmUgcHJvdmlkZWQgd2hlbiBjYWxsaW5nIGRpc2FibGVCb2R5U2Nyb2xsIG9uIElPUyBkZXZpY2VzLiIpO2lmKHQmJiFvLnNvbWUoKGZ1bmN0aW9uKGUpe3JldHVybiBlLnRhcmdldEVsZW1lbnQ9PT10fSkpKXt2YXIgaD17dGFyZ2V0RWxlbWVudDp0LG9wdGlvbnM6aXx8e319O289W10uY29uY2F0KGUobyksW2hdKSx0Lm9udG91Y2hzdGFydD1mdW5jdGlvbih0KXsxPT09dC50YXJnZXRUb3VjaGVzLmxlbmd0aCYmKGE9dC50YXJnZXRUb3VjaGVzWzBdLmNsaWVudFkpfSx0Lm9udG91Y2htb3ZlPWZ1bmN0aW9uKGUpe3ZhciBuLGkscixvOzE9PT1lLnRhcmdldFRvdWNoZXMubGVuZ3RoJiYoaT10LG89KG49ZSkudGFyZ2V0VG91Y2hlc1swXS5jbGllbnRZLWEsIWMobi50YXJnZXQpJiYoaSYmMD09PWkuc2Nyb2xsVG9wJiYwPG98fChyPWkpJiZyLnNjcm9sbEhlaWdodC1yLnNjcm9sbFRvcDw9ci5jbGllbnRIZWlnaHQmJm88MD9mKG4pOm4uc3RvcFByb3BhZ2F0aW9uKCkpKX0sc3x8KGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsZixuP3twYXNzaXZlOiExfTp2b2lkIDApLHM9ITApfX1lbHNle3A9aSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe2lmKHZvaWQgMD09PWwpe3ZhciB0PSEhcCYmITA9PT1wLnJlc2VydmVTY3JvbGxCYXJHYXAsZT13aW5kb3cuaW5uZXJXaWR0aC1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGg7dCYmMDxlJiYobD1kb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodCxkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodD1lKyJweCIpfXZvaWQgMD09PXUmJih1PWRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3csZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdz0iaGlkZGVuIil9KSk7dmFyIGQ9e3RhcmdldEVsZW1lbnQ6dCxvcHRpb25zOml8fHt9fTtvPVtdLmNvbmNhdChlKG8pLFtkXSl9dmFyIHB9LHQuY2xlYXJBbGxCb2R5U2Nyb2xsTG9ja3M9ZnVuY3Rpb24oKXtyPyhvLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QudGFyZ2V0RWxlbWVudC5vbnRvdWNoc3RhcnQ9bnVsbCx0LnRhcmdldEVsZW1lbnQub250b3VjaG1vdmU9bnVsbH0pKSxzJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixmLG4/e3Bhc3NpdmU6ITF9OnZvaWQgMCkscz0hMSksbz1bXSxhPS0xKTooaCgpLG89W10pfSx0LmVuYWJsZUJvZHlTY3JvbGw9ZnVuY3Rpb24odCl7aWYocil7aWYoIXQpcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiZW5hYmxlQm9keVNjcm9sbCB1bnN1Y2Nlc3NmdWwgLSB0YXJnZXRFbGVtZW50IG11c3QgYmUgcHJvdmlkZWQgd2hlbiBjYWxsaW5nIGVuYWJsZUJvZHlTY3JvbGwgb24gSU9TIGRldmljZXMuIik7dC5vbnRvdWNoc3RhcnQ9bnVsbCx0Lm9udG91Y2htb3ZlPW51bGwsbz1vLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIGUudGFyZ2V0RWxlbWVudCE9PXR9KSkscyYmMD09PW8ubGVuZ3RoJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixmLG4/e3Bhc3NpdmU6ITF9OnZvaWQgMCkscz0hMSl9ZWxzZSAxPT09by5sZW5ndGgmJm9bMF0udGFyZ2V0RWxlbWVudD09PXQ/KGgoKSxvPVtdKTpvPW8uZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4gZS50YXJnZXRFbGVtZW50IT09dH0pKX19LHZvaWQgMD09PShyPSJmdW5jdGlvbiI9PXR5cGVvZiBuP24uYXBwbHkoZSxpKTpuKXx8KHQuZXhwb3J0cz1yKX0sMzI3MjM5KHQsZSxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaSh0KXtmb3IodmFyIGU9YXJndW1lbnRzLmxlbmd0aCxuPUFycmF5KGU+MT9lLTE6MCksaT0xO2k8ZTtpKyspbltpLTFdPWFyZ3VtZW50c1tpXQo7dGhyb3cgRXJyb3IoIltJbW1lcl0gbWluaWZpZWQgZXJyb3IgbnI6ICIrdCsobi5sZW5ndGg/IiAiK24ubWFwKChmdW5jdGlvbih0KXtyZXR1cm4iJyIrdCsiJyJ9KSkuam9pbigiLCIpOiIiKSsiLiBGaW5kIHRoZSBmdWxsIGVycm9yIGF0OiBodHRwczovL2JpdC5seS8zY1hFS1dmIil9ZnVuY3Rpb24gcih0KXtyZXR1cm4hIXQmJiEhdFtYXX1mdW5jdGlvbiBvKHQpe3JldHVybiEhdCYmKGZ1bmN0aW9uKHQpe2lmKCF0fHwib2JqZWN0IiE9dHlwZW9mIHQpcmV0dXJuITE7dmFyIGU9T2JqZWN0LmdldFByb3RvdHlwZU9mKHQpO2lmKG51bGw9PT1lKXJldHVybiEwO3ZhciBuPU9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsImNvbnN0cnVjdG9yIikmJmUuY29uc3RydWN0b3I7cmV0dXJuIG49PT1PYmplY3R8fCJmdW5jdGlvbiI9PXR5cGVvZiBuJiZGdW5jdGlvbi50b1N0cmluZy5jYWxsKG4pPT09WX0odCl8fEFycmF5LmlzQXJyYXkodCl8fCEhdFtLXXx8ISF0LmNvbnN0cnVjdG9yW0tdfHxkKHQpfHxwKHQpKX1mdW5jdGlvbiBzKHQpe3JldHVybiByKHQpfHxpKDIzLHQpLHRbWF0udH1mdW5jdGlvbiBhKHQsZSxuKXt2b2lkIDA9PT1uJiYobj0hMSksMD09PXUodCk/KG4/T2JqZWN0LmtleXM6JCkodCkuZm9yRWFjaCgoZnVuY3Rpb24oaSl7biYmInN5bWJvbCI9PXR5cGVvZiBpfHxlKGksdFtpXSx0KX0pKTp0LmZvckVhY2goKGZ1bmN0aW9uKG4saSl7cmV0dXJuIGUoaSxuLHQpfSkpfWZ1bmN0aW9uIHUodCl7dmFyIGU9dFtYXTtyZXR1cm4gZT9lLmk+Mz9lLmktNDplLmk6QXJyYXkuaXNBcnJheSh0KT8xOmQodCk/MjpwKHQpPzM6MH1mdW5jdGlvbiBsKHQsZSl7cmV0dXJuIDI9PT11KHQpP3QuaGFzKGUpOk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGUpfWZ1bmN0aW9uIGModCxlKXtyZXR1cm4gMj09PXUodCk/dC5nZXQoZSk6dFtlXX1mdW5jdGlvbiBmKHQsZSxuKXt2YXIgaT11KHQpOzI9PT1pP3Quc2V0KGUsbik6Mz09PWk/KHQuZGVsZXRlKGUpLHQuYWRkKG4pKTp0W2VdPW59ZnVuY3Rpb24gaCh0LGUpe3JldHVybiB0PT09ZT8wIT09dHx8MS90PT0xL2U6dCE9dCYmZSE9ZX1mdW5jdGlvbiBkKHQpe3JldHVybiBVJiZ0IGluc3RhbmNlb2YgTWFwfWZ1bmN0aW9uIHAodCl7cmV0dXJuIHomJnQgaW5zdGFuY2VvZiBTZXR9ZnVuY3Rpb24gdih0KXtyZXR1cm4gdC5vfHx0LnR9ZnVuY3Rpb24gZyh0KXtpZihBcnJheS5pc0FycmF5KHQpKXJldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KTt2YXIgZT1RKHQpO2RlbGV0ZSBlW1hdO2Zvcih2YXIgbj0kKGUpLGk9MDtpPG4ubGVuZ3RoO2krKyl7dmFyIHI9bltpXSxvPWVbcl07ITE9PT1vLndyaXRhYmxlJiYoby53cml0YWJsZT0hMCxvLmNvbmZpZ3VyYWJsZT0hMCksKG8uZ2V0fHxvLnNldCkmJihlW3JdPXtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsZW51bWVyYWJsZTpvLmVudW1lcmFibGUsdmFsdWU6dFtyXX0pfXJldHVybiBPYmplY3QuY3JlYXRlKE9iamVjdC5nZXRQcm90b3R5cGVPZih0KSxlKX1mdW5jdGlvbiBtKHQsZSl7cmV0dXJuIHZvaWQgMD09PWUmJihlPSExKSxiKHQpfHxyKHQpfHwhbyh0KXx8KHUodCk+MSYmKHQuc2V0PXQuYWRkPXQuY2xlYXI9dC5kZWxldGU9eSksT2JqZWN0LmZyZWV6ZSh0KSxlJiZhKHQsKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIG0oZSwhMCl9KSwhMCkpLHR9ZnVuY3Rpb24geSgpe2koMil9ZnVuY3Rpb24gYih0KXtyZXR1cm4gbnVsbD09dHx8Im9iamVjdCIhPXR5cGVvZiB0fHxPYmplY3QuaXNGcm96ZW4odCl9ZnVuY3Rpb24gXyh0KXt2YXIgZT1KW3RdO3JldHVybiBlfHxpKDE4LHQpLGV9ZnVuY3Rpb24gdyh0LGUpe0pbdF18fChKW3RdPWUpfWZ1bmN0aW9uIHgoKXtyZXR1cm4gQn1mdW5jdGlvbiBPKHQsZSl7ZSYmKF8oIlBhdGNoZXMiKSx0LnU9W10sdC5zPVtdLHQudj1lKX1mdW5jdGlvbiBFKHQpe0ModCksdC5wLmZvckVhY2goUyksdC5wPW51bGx9ZnVuY3Rpb24gQyh0KXt0PT09QiYmKEI9dC5sKX1mdW5jdGlvbiBrKHQpe3JldHVybiBCPXtwOltdLGw6QixoOnQsbTohMCxfOjB9fWZ1bmN0aW9uIFModCl7dmFyIGU9dFtYXTswPT09ZS5pfHwxPT09ZS5pP2UuaigpOmUuTz0hMH1mdW5jdGlvbiBEKHQsZSl7ZS5fPWUucC5sZW5ndGg7dmFyIG49ZS5wWzBdLHI9dm9pZCAwIT09dCYmdCE9PW47cmV0dXJuIGUuaC5nfHxfKCJFUzUiKS5TKGUsdCxyKSxyPyhuW1hdLlAmJihFKGUpLGkoNCkpLG8odCkmJih0PU0oZSx0KSxlLmx8fEEoZSx0KSksZS51JiZfKCJQYXRjaGVzIikuTShuW1hdLHQsZS51LGUucykpOnQ9TShlLG4sW10pLEUoZSksZS51JiZlLnYoZS51LGUucyksdCE9PUc/dDp2b2lkIDB9ZnVuY3Rpb24gTSh0LGUsbil7aWYoYihlKSlyZXR1cm4gZTt2YXIgaT1lW1hdO2lmKCFpKXJldHVybiBhKGUsKGZ1bmN0aW9uKHIsbyl7cmV0dXJuIFAodCxpLGUscixvLG4pfSksITApLGU7aWYoaS5BIT09dClyZXR1cm4gZTtpZighaS5QKXJldHVybiBBKHQsaS50LCEwKSxpLnQ7aWYoIWkuSSl7aS5JPSEwLGkuQS5fLS07dmFyIHI9ND09PWkuaXx8NT09PWkuaT9pLm89ZyhpLmspOmkubzthKDM9PT1pLmk/bmV3IFNldChyKTpyLChmdW5jdGlvbihlLG8pe3JldHVybiBQKHQsaSxyLGUsbyxuKX0pKSxBKHQsciwhMSksbiYmdC51JiZfKCJQYXRjaGVzIikuUihpLG4sdC51LHQucyl9cmV0dXJuIGkub31mdW5jdGlvbiBQKHQsZSxuLGkscyxhKXtpZihyKHMpKXt2YXIgdT1NKHQscyxhJiZlJiYzIT09ZS5pJiYhbChlLkQsaSk/YS5jb25jYXQoaSk6dm9pZCAwKTtpZihmKG4saSx1KSwhcih1KSlyZXR1cm47dC5tPSExfWlmKG8ocykmJiFiKHMpKXtpZighdC5oLkYmJnQuXzwxKXJldHVybjtNKHQscyksZSYmZS5BLmx8fEEodCxzKX19ZnVuY3Rpb24gQSh0LGUsbil7dm9pZCAwPT09biYmKG49ITEpLHQuaC5GJiZ0Lm0mJm0oZSxuKX1mdW5jdGlvbiBqKHQsZSl7dmFyIG49dFtYXTtyZXR1cm4obj92KG4pOnQpW2VdfWZ1bmN0aW9uIFQodCxlKXtpZihlIGluIHQpZm9yKHZhciBuPU9iamVjdC5nZXRQcm90b3R5cGVPZih0KTtuOyl7CnZhciBpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobixlKTtpZihpKXJldHVybiBpO249T2JqZWN0LmdldFByb3RvdHlwZU9mKG4pfX1mdW5jdGlvbiBOKHQpe3QuUHx8KHQuUD0hMCx0LmwmJk4odC5sKSl9ZnVuY3Rpb24gSSh0KXt0Lm98fCh0Lm89Zyh0LnQpKX1mdW5jdGlvbiBMKHQsZSxuKXt2YXIgaT1kKGUpP18oIk1hcFNldCIpLk4oZSxuKTpwKGUpP18oIk1hcFNldCIpLlQoZSxuKTp0Lmc/ZnVuY3Rpb24odCxlKXt2YXIgbj1BcnJheS5pc0FycmF5KHQpLGk9e2k6bj8xOjAsQTplP2UuQTp4KCksUDohMSxJOiExLEQ6e30sbDplLHQsazpudWxsLG86bnVsbCxqOm51bGwsQzohMX0scj1pLG89WjtuJiYocj1baV0sbz10dCk7dmFyIHM9UHJveHkucmV2b2NhYmxlKHIsbyksYT1zLnJldm9rZSx1PXMucHJveHk7cmV0dXJuIGkuaz11LGkuaj1hLHV9KGUsbik6XygiRVM1IikuSihlLG4pO3JldHVybihuP24uQTp4KCkpLnAucHVzaChpKSxpfWZ1bmN0aW9uIFYodCl7cmV0dXJuIHIodCl8fGkoMjIsdCksZnVuY3Rpb24gdChlKXtpZighbyhlKSlyZXR1cm4gZTt2YXIgbixpPWVbWF0scj11KGUpO2lmKGkpe2lmKCFpLlAmJihpLmk8NHx8IV8oIkVTNSIpLksoaSkpKXJldHVybiBpLnQ7aS5JPSEwLG49UihlLHIpLGkuST0hMX1lbHNlIG49UihlLHIpO3JldHVybiBhKG4sKGZ1bmN0aW9uKGUscil7aSYmYyhpLnQsZSk9PT1yfHxmKG4sZSx0KHIpKX0pKSwzPT09cj9uZXcgU2V0KG4pOm59KHQpfWZ1bmN0aW9uIFIodCxlKXtzd2l0Y2goZSl7Y2FzZSAyOnJldHVybiBuZXcgTWFwKHQpO2Nhc2UgMzpyZXR1cm4gQXJyYXkuZnJvbSh0KX1yZXR1cm4gZyh0KX1mdW5jdGlvbiBXKCl7ZnVuY3Rpb24gdCh0LGUpe3ZhciBuPW9bdF07cmV0dXJuIG4/bi5lbnVtZXJhYmxlPWU6b1t0XT1uPXtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTplLGdldDpmdW5jdGlvbigpe3ZhciBlPXRoaXNbWF07cmV0dXJuIFouZ2V0KGUsdCl9LHNldDpmdW5jdGlvbihlKXt2YXIgbj10aGlzW1hdO1ouc2V0KG4sdCxlKX19LG59ZnVuY3Rpb24gZSh0KXtmb3IodmFyIGU9dC5sZW5ndGgtMTtlPj0wO2UtLSl7dmFyIHI9dFtlXVtYXTtpZighci5QKXN3aXRjaChyLmkpe2Nhc2UgNTppKHIpJiZOKHIpO2JyZWFrO2Nhc2UgNDpuKHIpJiZOKHIpfX19ZnVuY3Rpb24gbih0KXtmb3IodmFyIGU9dC50LG49dC5rLGk9JChuKSxyPWkubGVuZ3RoLTE7cj49MDtyLS0pe3ZhciBvPWlbcl07aWYobyE9PVgpe3ZhciBzPWVbb107aWYodm9pZCAwPT09cyYmIWwoZSxvKSlyZXR1cm4hMDt2YXIgYT1uW29dLHU9YSYmYVtYXTtpZih1P3UudCE9PXM6IWgoYSxzKSlyZXR1cm4hMH19dmFyIGM9ISFlW1hdO3JldHVybiBpLmxlbmd0aCE9PSQoZSkubGVuZ3RoKyhjPzA6MSl9ZnVuY3Rpb24gaSh0KXt2YXIgZT10Lms7aWYoZS5sZW5ndGghPT10LnQubGVuZ3RoKXJldHVybiEwO3ZhciBuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSxlLmxlbmd0aC0xKTtyZXR1cm4hKCFufHxuLmdldCl9dmFyIG89e307dygiRVM1Iix7SjpmdW5jdGlvbihlLG4pe3ZhciBpPUFycmF5LmlzQXJyYXkoZSkscj1mdW5jdGlvbihlLG4pe2lmKGUpe2Zvcih2YXIgaT1BcnJheShuLmxlbmd0aCkscj0wO3I8bi5sZW5ndGg7cisrKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShpLCIiK3IsdChyLCEwKSk7cmV0dXJuIGl9dmFyIG89UShuKTtkZWxldGUgb1tYXTtmb3IodmFyIHM9JChvKSxhPTA7YTxzLmxlbmd0aDthKyspe3ZhciB1PXNbYV07b1t1XT10KHUsZXx8ISFvW3VdLmVudW1lcmFibGUpfXJldHVybiBPYmplY3QuY3JlYXRlKE9iamVjdC5nZXRQcm90b3R5cGVPZihuKSxvKX0oaSxlKSxvPXtpOmk/NTo0LEE6bj9uLkE6eCgpLFA6ITEsSTohMSxEOnt9LGw6bix0OmUsazpyLG86bnVsbCxPOiExLEM6ITF9O3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkocixYLHt2YWx1ZTpvLHdyaXRhYmxlOiEwfSkscn0sUzpmdW5jdGlvbih0LG4sbyl7bz9yKG4pJiZuW1hdLkE9PT10JiZlKHQucCk6KHQudSYmZnVuY3Rpb24gdChlKXtpZihlJiYib2JqZWN0Ij09dHlwZW9mIGUpe3ZhciBuPWVbWF07aWYobil7dmFyIHI9bi50LG89bi5rLHM9bi5ELHU9bi5pO2lmKDQ9PT11KWEobywoZnVuY3Rpb24oZSl7ZSE9PVgmJih2b2lkIDAhPT1yW2VdfHxsKHIsZSk/c1tlXXx8dChvW2VdKTooc1tlXT0hMCxOKG4pKSl9KSksYShyLChmdW5jdGlvbih0KXt2b2lkIDAhPT1vW3RdfHxsKG8sdCl8fChzW3RdPSExLE4obikpfSkpO2Vsc2UgaWYoNT09PXUpe2lmKGkobikmJihOKG4pLHMubGVuZ3RoPSEwKSxvLmxlbmd0aDxyLmxlbmd0aClmb3IodmFyIGM9by5sZW5ndGg7YzxyLmxlbmd0aDtjKyspc1tjXT0hMTtlbHNlIGZvcih2YXIgZj1yLmxlbmd0aDtmPG8ubGVuZ3RoO2YrKylzW2ZdPSEwO2Zvcih2YXIgaD1NYXRoLm1pbihvLmxlbmd0aCxyLmxlbmd0aCksZD0wO2Q8aDtkKyspdm9pZCAwPT09c1tkXSYmdChvW2RdKX19fX0odC5wWzBdKSxlKHQucCkpfSxLOmZ1bmN0aW9uKHQpe3JldHVybiA0PT09dC5pP24odCk6aSh0KX19KX1uLmQoZSx7ZGVmYXVsdDooKT0+cnQsZW5hYmxlRVM1OigpPT5XLGlzRHJhZnQ6KCk9PnIsaXNEcmFmdGFibGU6KCk9Pm8sb3JpZ2luYWw6KCk9PnN9KTt2YXIgRixCLEg9InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sKCJ4IiksVT0idW5kZWZpbmVkIiE9dHlwZW9mIE1hcCx6PSJ1bmRlZmluZWQiIT10eXBlb2YgU2V0LHE9InVuZGVmaW5lZCIhPXR5cGVvZiBQcm94eSYmdm9pZCAwIT09UHJveHkucmV2b2NhYmxlJiYidW5kZWZpbmVkIiE9dHlwZW9mIFJlZmxlY3QsRz1IP1N5bWJvbC5mb3IoImltbWVyLW5vdGhpbmciKTooKEY9e30pWyJpbW1lci1ub3RoaW5nIl09ITAsRiksSz1IP1N5bWJvbC5mb3IoImltbWVyLWRyYWZ0YWJsZSIpOiJfXyRpbW1lcl9kcmFmdGFibGUiLFg9SD9TeW1ib2wuZm9yKCJpbW1lci1zdGF0ZSIpOiJfXyRpbW1lcl9zdGF0ZSIsWT0oInVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5pdGVyYXRvciwKIiIrT2JqZWN0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciksJD0idW5kZWZpbmVkIiE9dHlwZW9mIFJlZmxlY3QmJlJlZmxlY3Qub3duS2V5cz9SZWZsZWN0Lm93bktleXM6dm9pZCAwIT09T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scz9mdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModCkuY29uY2F0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModCkpfTpPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyxRPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzfHxmdW5jdGlvbih0KXt2YXIgZT17fTtyZXR1cm4gJCh0KS5mb3JFYWNoKChmdW5jdGlvbihuKXtlW25dPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxuKX0pKSxlfSxKPXt9LFo9e2dldDpmdW5jdGlvbih0LGUpe2lmKGU9PT1YKXJldHVybiB0O3ZhciBuPXYodCk7aWYoIWwobixlKSlyZXR1cm4gZnVuY3Rpb24odCxlLG4pe3ZhciBpLHI9VChlLG4pO3JldHVybiByPyJ2YWx1ZSJpbiByP3IudmFsdWU6bnVsbD09PShpPXIuZ2V0KXx8dm9pZCAwPT09aT92b2lkIDA6aS5jYWxsKHQuayk6dm9pZCAwfSh0LG4sZSk7dmFyIGk9bltlXTtyZXR1cm4gdC5JfHwhbyhpKT9pOmk9PT1qKHQudCxlKT8oSSh0KSx0Lm9bZV09TCh0LkEuaCxpLHQpKTppfSxoYXM6ZnVuY3Rpb24odCxlKXtyZXR1cm4gZSBpbiB2KHQpfSxvd25LZXlzOmZ1bmN0aW9uKHQpe3JldHVybiBSZWZsZWN0Lm93bktleXModih0KSl9LHNldDpmdW5jdGlvbih0LGUsbil7dmFyIGk9VCh2KHQpLGUpO2lmKG51bGw9PWk/dm9pZCAwOmkuc2V0KXJldHVybiBpLnNldC5jYWxsKHQuayxuKSwhMDtpZighdC5QKXt2YXIgcj1qKHYodCksZSksbz1udWxsPT1yP3ZvaWQgMDpyW1hdO2lmKG8mJm8udD09PW4pcmV0dXJuIHQub1tlXT1uLHQuRFtlXT0hMSwhMDtpZihoKG4scikmJih2b2lkIDAhPT1ufHxsKHQudCxlKSkpcmV0dXJuITA7SSh0KSxOKHQpfXJldHVybiB0Lm9bZV09PT1uJiYibnVtYmVyIiE9dHlwZW9mIG4mJih2b2lkIDAhPT1ufHxlIGluIHQubyl8fCh0Lm9bZV09bix0LkRbZV09ITAsITApfSxkZWxldGVQcm9wZXJ0eTpmdW5jdGlvbih0LGUpe3JldHVybiB2b2lkIDAhPT1qKHQudCxlKXx8ZSBpbiB0LnQ/KHQuRFtlXT0hMSxJKHQpLE4odCkpOmRlbGV0ZSB0LkRbZV0sdC5vJiZkZWxldGUgdC5vW2VdLCEwfSxnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I6ZnVuY3Rpb24odCxlKXt2YXIgbj12KHQpLGk9UmVmbGVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobixlKTtyZXR1cm4gaT97d3JpdGFibGU6ITAsY29uZmlndXJhYmxlOjEhPT10Lml8fCJsZW5ndGgiIT09ZSxlbnVtZXJhYmxlOmkuZW51bWVyYWJsZSx2YWx1ZTpuW2VdfTppfSxkZWZpbmVQcm9wZXJ0eTpmdW5jdGlvbigpe2koMTEpfSxnZXRQcm90b3R5cGVPZjpmdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmdldFByb3RvdHlwZU9mKHQudCl9LHNldFByb3RvdHlwZU9mOmZ1bmN0aW9uKCl7aSgxMil9fSx0dD17fTthKFosKGZ1bmN0aW9uKHQsZSl7dHRbdF09ZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzWzBdPWFyZ3VtZW50c1swXVswXSxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KSksdHQuZGVsZXRlUHJvcGVydHk9ZnVuY3Rpb24odCxlKXtyZXR1cm4gWi5kZWxldGVQcm9wZXJ0eS5jYWxsKHRoaXMsdFswXSxlKX0sdHQuc2V0PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gWi5zZXQuY2FsbCh0aGlzLHRbMF0sZSxuLHRbMF0pfTt2YXIgZXQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3ZhciBlPXRoaXM7dGhpcy5nPXEsdGhpcy5GPSEwLHRoaXMucHJvZHVjZT1mdW5jdGlvbih0LG4scil7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHQmJiJmdW5jdGlvbiIhPXR5cGVvZiBuKXt2YXIgcz1uO249dDt2YXIgYT1lO3JldHVybiBmdW5jdGlvbih0KXt2YXIgZT10aGlzO3ZvaWQgMD09PXQmJih0PXMpO2Zvcih2YXIgaT1hcmd1bWVudHMubGVuZ3RoLHI9QXJyYXkoaT4xP2ktMTowKSxvPTE7bzxpO28rKylyW28tMV09YXJndW1lbnRzW29dO3JldHVybiBhLnByb2R1Y2UodCwoZnVuY3Rpb24odCl7dmFyIGk7cmV0dXJuKGk9bikuY2FsbC5hcHBseShpLFtlLHRdLmNvbmNhdChyKSl9KSl9fXZhciB1O2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBuJiZpKDYpLHZvaWQgMCE9PXImJiJmdW5jdGlvbiIhPXR5cGVvZiByJiZpKDcpLG8odCkpe3ZhciBsPWsoZSksYz1MKGUsdCx2b2lkIDApLGY9ITA7dHJ5e3U9bihjKSxmPSExfWZpbmFsbHl7Zj9FKGwpOkMobCl9cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBQcm9taXNlJiZ1IGluc3RhbmNlb2YgUHJvbWlzZT91LnRoZW4oKGZ1bmN0aW9uKHQpe3JldHVybiBPKGwsciksRCh0LGwpfSksKGZ1bmN0aW9uKHQpe3Rocm93IEUobCksdH0pKTooTyhsLHIpLEQodSxsKSl9aWYoIXR8fCJvYmplY3QiIT10eXBlb2YgdCl7aWYoKHU9bih0KSk9PT1HKXJldHVybjtyZXR1cm4gdm9pZCAwPT09dSYmKHU9dCksZS5GJiZtKHUsITApLHV9aSgyMSx0KX0sdGhpcy5wcm9kdWNlV2l0aFBhdGNoZXM9ZnVuY3Rpb24odCxuKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdD9mdW5jdGlvbihuKXtmb3IodmFyIGk9YXJndW1lbnRzLmxlbmd0aCxyPUFycmF5KGk+MT9pLTE6MCksbz0xO288aTtvKyspcltvLTFdPWFyZ3VtZW50c1tvXTtyZXR1cm4gZS5wcm9kdWNlV2l0aFBhdGNoZXMobiwoZnVuY3Rpb24oZSl7cmV0dXJuIHQuYXBwbHkodm9pZCAwLFtlXS5jb25jYXQocikpfSkpfTpbZS5wcm9kdWNlKHQsbiwoZnVuY3Rpb24odCxlKXtpPXQscj1lfSkpLGkscl07dmFyIGkscn0sImJvb2xlYW4iPT10eXBlb2YobnVsbD09dD92b2lkIDA6dC51c2VQcm94aWVzKSYmdGhpcy5zZXRVc2VQcm94aWVzKHQudXNlUHJveGllcyksImJvb2xlYW4iPT10eXBlb2YobnVsbD09dD92b2lkIDA6dC5hdXRvRnJlZXplKSYmdGhpcy5zZXRBdXRvRnJlZXplKHQuYXV0b0ZyZWV6ZSl9dmFyIGU9dC5wcm90b3R5cGU7cmV0dXJuIGUuY3JlYXRlRHJhZnQ9ZnVuY3Rpb24odCl7byh0KXx8aSg4KSxyKHQpJiYodD1WKHQpKTt2YXIgZT1rKHRoaXMpLG49TCh0aGlzLHQsdm9pZCAwKQo7cmV0dXJuIG5bWF0uQz0hMCxDKGUpLG59LGUuZmluaXNoRHJhZnQ9ZnVuY3Rpb24odCxlKXt2YXIgbj0odCYmdFtYXSkuQTtyZXR1cm4gTyhuLGUpLEQodm9pZCAwLG4pfSxlLnNldEF1dG9GcmVlemU9ZnVuY3Rpb24odCl7dGhpcy5GPXR9LGUuc2V0VXNlUHJveGllcz1mdW5jdGlvbih0KXt0JiYhcSYmaSgyMCksdGhpcy5nPXR9LGUuYXBwbHlQYXRjaGVzPWZ1bmN0aW9uKHQsZSl7dmFyIG47Zm9yKG49ZS5sZW5ndGgtMTtuPj0wO24tLSl7dmFyIGk9ZVtuXTtpZigwPT09aS5wYXRoLmxlbmd0aCYmInJlcGxhY2UiPT09aS5vcCl7dD1pLnZhbHVlO2JyZWFrfX1uPi0xJiYoZT1lLnNsaWNlKG4rMSkpO3ZhciBvPV8oIlBhdGNoZXMiKS4kO3JldHVybiByKHQpP28odCxlKTp0aGlzLnByb2R1Y2UodCwoZnVuY3Rpb24odCl7cmV0dXJuIG8odCxlKX0pKX0sdH0oKSxudD1uZXcgZXQsaXQ9bnQucHJvZHVjZTtudC5wcm9kdWNlV2l0aFBhdGNoZXMuYmluZChudCksbnQuc2V0QXV0b0ZyZWV6ZS5iaW5kKG50KSxudC5zZXRVc2VQcm94aWVzLmJpbmQobnQpLG50LmFwcGx5UGF0Y2hlcy5iaW5kKG50KSxudC5jcmVhdGVEcmFmdC5iaW5kKG50KSxudC5maW5pc2hEcmFmdC5iaW5kKG50KTtjb25zdCBydD1pdH0sODE1NzI4KHQsZSxuKXt2YXIgaSxyLG8scz1uKDQ4MjUwNCk7IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3I9W24oNDgyNTA0KSxuKDIxMDk3MSksbigxODYyMzQpLG4oMTY4NzAxKV0saT1mdW5jdGlvbih0KXt2YXIgZT0idWktZWZmZWN0cy0iLG49InVpLWVmZmVjdHMtc3R5bGUiLGk9InVpLWVmZmVjdHMtYW5pbWF0ZWQiO3JldHVybiB0LmVmZmVjdHM9e2VmZmVjdDp7fX0sZnVuY3Rpb24oKXt2YXIgZSxuPVsiYWRkIiwicmVtb3ZlIiwidG9nZ2xlIl0saT17Ym9yZGVyOjEsYm9yZGVyQm90dG9tOjEsYm9yZGVyQ29sb3I6MSxib3JkZXJMZWZ0OjEsYm9yZGVyUmlnaHQ6MSxib3JkZXJUb3A6MSxib3JkZXJXaWR0aDoxLG1hcmdpbjoxLHBhZGRpbmc6MX07ZnVuY3Rpb24gcih0KXtyZXR1cm4gdC5yZXBsYWNlKC8tKFtcZGEtel0pL2dpLChmdW5jdGlvbih0LGUpe3JldHVybiBlLnRvVXBwZXJDYXNlKCl9KSl9ZnVuY3Rpb24gbyh0KXt2YXIgZSxuLGk9dC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3P3Qub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHQsbnVsbCk6dC5jdXJyZW50U3R5bGUsbz17fTtpZihpJiZpLmxlbmd0aCYmaVswXSYmaVtpWzBdXSlmb3Iobj1pLmxlbmd0aDtuLS07KSJzdHJpbmciPT10eXBlb2YgaVtlPWlbbl1dJiYob1tyKGUpXT1pW2VdKTtlbHNlIGZvcihlIGluIGkpInN0cmluZyI9PXR5cGVvZiBpW2VdJiYob1tlXT1pW2VdKTtyZXR1cm4gb31mdW5jdGlvbiBhKGUsbil7dmFyIHIsbyxzPXt9O2ZvcihyIGluIG4pbz1uW3JdLGVbcl0hPT1vJiYoaVtyXXx8IXQuZnguc3RlcFtyXSYmaXNOYU4ocGFyc2VGbG9hdChvKSl8fChzW3JdPW8pKTtyZXR1cm4gc310LmVhY2goWyJib3JkZXJMZWZ0U3R5bGUiLCJib3JkZXJSaWdodFN0eWxlIiwiYm9yZGVyQm90dG9tU3R5bGUiLCJib3JkZXJUb3BTdHlsZSJdLChmdW5jdGlvbihlLG4pe3QuZnguc3RlcFtuXT1mdW5jdGlvbih0KXsoIm5vbmUiIT09dC5lbmQmJiF0LnNldEF0dHJ8fDE9PT10LnBvcyYmIXQuc2V0QXR0cikmJihzLnN0eWxlKHQuZWxlbSxuLHQuZW5kKSx0LnNldEF0dHI9ITApfX0pKSx0LmZuLmFkZEJhY2t8fCh0LmZuLmFkZEJhY2s9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuYWRkKG51bGw9PXQ/dGhpcy5wcmV2T2JqZWN0OnRoaXMucHJldk9iamVjdC5maWx0ZXIodCkpfSksdC5lZmZlY3RzLmFuaW1hdGVDbGFzcz1mdW5jdGlvbihlLGkscixzKXt2YXIgdT10LnNwZWVkKGkscixzKTtyZXR1cm4gdGhpcy5xdWV1ZSgoZnVuY3Rpb24oKXt2YXIgaSxyPXQodGhpcykscz1yLmF0dHIoImNsYXNzIil8fCIiLGw9dS5jaGlsZHJlbj9yLmZpbmQoIioiKS5hZGRCYWNrKCk6cjtsPWwubWFwKChmdW5jdGlvbigpe3JldHVybntlbDp0KHRoaXMpLHN0YXJ0Om8odGhpcyl9fSkpLChpPWZ1bmN0aW9uKCl7dC5lYWNoKG4sKGZ1bmN0aW9uKHQsbil7ZVtuXSYmcltuKyJDbGFzcyJdKGVbbl0pfSkpfSkoKSxsPWwubWFwKChmdW5jdGlvbigpe3JldHVybiB0aGlzLmVuZD1vKHRoaXMuZWxbMF0pLHRoaXMuZGlmZj1hKHRoaXMuc3RhcnQsdGhpcy5lbmQpLHRoaXN9KSksci5hdHRyKCJjbGFzcyIscyksbD1sLm1hcCgoZnVuY3Rpb24oKXt2YXIgZT10aGlzLG49dC5EZWZlcnJlZCgpLGk9dC5leHRlbmQoe30sdSx7cXVldWU6ITEsY29tcGxldGU6ZnVuY3Rpb24oKXtuLnJlc29sdmUoZSl9fSk7cmV0dXJuIHRoaXMuZWwuYW5pbWF0ZSh0aGlzLmRpZmYsaSksbi5wcm9taXNlKCl9KSksdC53aGVuLmFwcGx5KHQsbC5nZXQoKSkuZG9uZSgoZnVuY3Rpb24oKXtpKCksdC5lYWNoKGFyZ3VtZW50cywoZnVuY3Rpb24oKXt2YXIgZT10aGlzLmVsO3QuZWFjaCh0aGlzLmRpZmYsKGZ1bmN0aW9uKHQpe2UuY3NzKHQsIiIpfSkpfSkpLHUuY29tcGxldGUuY2FsbChyWzBdKX0pKX0pKX0sdC5mbi5leHRlbmQoe2FkZENsYXNzOihlPXQuZm4uYWRkQ2xhc3MsZnVuY3Rpb24obixpLHIsbyl7cmV0dXJuIGk/dC5lZmZlY3RzLmFuaW1hdGVDbGFzcy5jYWxsKHRoaXMse2FkZDpufSxpLHIsbyk6ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KSxyZW1vdmVDbGFzczpmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24obixpLHIsbyl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MT90LmVmZmVjdHMuYW5pbWF0ZUNsYXNzLmNhbGwodGhpcyx7cmVtb3ZlOm59LGkscixvKTplLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KHQuZm4ucmVtb3ZlQ2xhc3MpLHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihuLGkscixvLHMpe3JldHVybiJib29sZWFuIj09dHlwZW9mIGl8fHZvaWQgMD09PWk/cj90LmVmZmVjdHMuYW5pbWF0ZUNsYXNzLmNhbGwodGhpcyxpP3thZGQ6bn06e3JlbW92ZTpufSxyLG8scyk6ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dC5lZmZlY3RzLmFuaW1hdGVDbGFzcy5jYWxsKHRoaXMse3RvZ2dsZTpufSxpLHIsbykKfX0odC5mbi50b2dnbGVDbGFzcyksc3dpdGNoQ2xhc3M6ZnVuY3Rpb24oZSxuLGkscixvKXtyZXR1cm4gdC5lZmZlY3RzLmFuaW1hdGVDbGFzcy5jYWxsKHRoaXMse2FkZDpuLHJlbW92ZTplfSxpLHIsbyl9fSl9KCksZnVuY3Rpb24oKXt2YXIgcjtmdW5jdGlvbiBvKGUsbixpLHIpe3JldHVybiB0LmlzUGxhaW5PYmplY3QoZSkmJihuPWUsZT1lLmVmZmVjdCksZT17ZWZmZWN0OmV9LG51bGw9PW4mJihuPXt9KSwiZnVuY3Rpb24iPT10eXBlb2YgbiYmKHI9bixpPW51bGwsbj17fSksKCJudW1iZXIiPT10eXBlb2Ygbnx8dC5meC5zcGVlZHNbbl0pJiYocj1pLGk9bixuPXt9KSwiZnVuY3Rpb24iPT10eXBlb2YgaSYmKHI9aSxpPW51bGwpLG4mJnQuZXh0ZW5kKGUsbiksaT1pfHxuLmR1cmF0aW9uLGUuZHVyYXRpb249dC5meC5vZmY/MDoibnVtYmVyIj09dHlwZW9mIGk/aTppIGluIHQuZnguc3BlZWRzP3QuZnguc3BlZWRzW2ldOnQuZnguc3BlZWRzLl9kZWZhdWx0LGUuY29tcGxldGU9cnx8bi5jb21wbGV0ZSxlfWZ1bmN0aW9uIHMoZSl7cmV0dXJuIShlJiYibnVtYmVyIiE9dHlwZW9mIGUmJiF0LmZ4LnNwZWVkc1tlXSl8fCgic3RyaW5nIj09dHlwZW9mIGUmJiF0LmVmZmVjdHMuZWZmZWN0W2VdfHwoImZ1bmN0aW9uIj09dHlwZW9mIGV8fCJvYmplY3QiPT10eXBlb2YgZSYmIWUuZWZmZWN0KSl9ZnVuY3Rpb24gYSh0LGUpe3ZhciBuPWUub3V0ZXJXaWR0aCgpLGk9ZS5vdXRlckhlaWdodCgpLHI9L15yZWN0XCgoLT9cZCpcLj9cZCpweHwtP1xkKyV8YXV0byksP1xzKigtP1xkKlwuP1xkKnB4fC0/XGQrJXxhdXRvKSw/XHMqKC0/XGQqXC4/XGQqcHh8LT9cZCslfGF1dG8pLD9ccyooLT9cZCpcLj9cZCpweHwtP1xkKyV8YXV0bylcKSQvLmV4ZWModCl8fFsiIiwwLG4saSwwXTtyZXR1cm57dG9wOnBhcnNlRmxvYXQoclsxXSl8fDAscmlnaHQ6ImF1dG8iPT09clsyXT9uOnBhcnNlRmxvYXQoclsyXSksYm90dG9tOiJhdXRvIj09PXJbM10/aTpwYXJzZUZsb2F0KHJbM10pLGxlZnQ6cGFyc2VGbG9hdChyWzRdKXx8MH19dC5leHByJiZ0LmV4cHIucHNldWRvcyYmdC5leHByLnBzZXVkb3MuYW5pbWF0ZWQmJih0LmV4cHIucHNldWRvcy5hbmltYXRlZD0ocj10LmV4cHIucHNldWRvcy5hbmltYXRlZCxmdW5jdGlvbihlKXtyZXR1cm4hIXQoZSkuZGF0YShpKXx8cihlKX0pKSwhMSE9PXQudWlCYWNrQ29tcGF0JiZ0LmV4dGVuZCh0LmVmZmVjdHMse3NhdmU6ZnVuY3Rpb24odCxuKXtmb3IodmFyIGk9MCxyPW4ubGVuZ3RoO2k8cjtpKyspbnVsbCE9PW5baV0mJnQuZGF0YShlK25baV0sdFswXS5zdHlsZVtuW2ldXSl9LHJlc3RvcmU6ZnVuY3Rpb24odCxuKXtmb3IodmFyIGkscj0wLG89bi5sZW5ndGg7cjxvO3IrKyludWxsIT09bltyXSYmKGk9dC5kYXRhKGUrbltyXSksdC5jc3MobltyXSxpKSl9LHNldE1vZGU6ZnVuY3Rpb24odCxlKXtyZXR1cm4idG9nZ2xlIj09PWUmJihlPXQuaXMoIjpoaWRkZW4iKT8ic2hvdyI6ImhpZGUiKSxlfSxjcmVhdGVXcmFwcGVyOmZ1bmN0aW9uKGUpe2lmKGUucGFyZW50KCkuaXMoIi51aS1lZmZlY3RzLXdyYXBwZXIiKSlyZXR1cm4gZS5wYXJlbnQoKTt2YXIgbj17d2lkdGg6ZS5vdXRlcldpZHRoKCEwKSxoZWlnaHQ6ZS5vdXRlckhlaWdodCghMCksZmxvYXQ6ZS5jc3MoImZsb2F0Iil9LGk9dCgiPGRpdj48L2Rpdj4iKS5hZGRDbGFzcygidWktZWZmZWN0cy13cmFwcGVyIikuY3NzKHtmb250U2l6ZToiMTAwJSIsYmFja2dyb3VuZDoidHJhbnNwYXJlbnQiLGJvcmRlcjoibm9uZSIsbWFyZ2luOjAscGFkZGluZzowfSkscj17d2lkdGg6ZS53aWR0aCgpLGhlaWdodDplLmhlaWdodCgpfSxvPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7dHJ5e28uaWR9Y2F0Y2godCl7bz1kb2N1bWVudC5ib2R5fXJldHVybiBlLndyYXAoaSksKGVbMF09PT1vfHx0LmNvbnRhaW5zKGVbMF0sbykpJiZ0KG8pLnRyaWdnZXIoImZvY3VzIiksaT1lLnBhcmVudCgpLCJzdGF0aWMiPT09ZS5jc3MoInBvc2l0aW9uIik/KGkuY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUifSksZS5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSJ9KSk6KHQuZXh0ZW5kKG4se3Bvc2l0aW9uOmUuY3NzKCJwb3NpdGlvbiIpLHpJbmRleDplLmNzcygiei1pbmRleCIpfSksdC5lYWNoKFsidG9wIiwibGVmdCIsImJvdHRvbSIsInJpZ2h0Il0sKGZ1bmN0aW9uKHQsaSl7bltpXT1lLmNzcyhpKSxpc05hTihwYXJzZUludChuW2ldLDEwKSkmJihuW2ldPSJhdXRvIil9KSksZS5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSIsdG9wOjAsbGVmdDowLHJpZ2h0OiJhdXRvIixib3R0b206ImF1dG8ifSkpLGUuY3NzKHIpLGkuY3NzKG4pLnNob3coKX0scmVtb3ZlV3JhcHBlcjpmdW5jdGlvbihlKXt2YXIgbj1kb2N1bWVudC5hY3RpdmVFbGVtZW50O3JldHVybiBlLnBhcmVudCgpLmlzKCIudWktZWZmZWN0cy13cmFwcGVyIikmJihlLnBhcmVudCgpLnJlcGxhY2VXaXRoKGUpLChlWzBdPT09bnx8dC5jb250YWlucyhlWzBdLG4pKSYmdChuKS50cmlnZ2VyKCJmb2N1cyIpKSxlfX0pLHQuZXh0ZW5kKHQuZWZmZWN0cyx7dmVyc2lvbjoiMS4xMy4yIixkZWZpbmU6ZnVuY3Rpb24oZSxuLGkpe3JldHVybiBpfHwoaT1uLG49ImVmZmVjdCIpLHQuZWZmZWN0cy5lZmZlY3RbZV09aSx0LmVmZmVjdHMuZWZmZWN0W2VdLm1vZGU9bixpfSxzY2FsZWREaW1lbnNpb25zOmZ1bmN0aW9uKHQsZSxuKXtpZigwPT09ZSlyZXR1cm57aGVpZ2h0OjAsd2lkdGg6MCxvdXRlckhlaWdodDowLG91dGVyV2lkdGg6MH07dmFyIGk9Imhvcml6b250YWwiIT09bj8oZXx8MTAwKS8xMDA6MSxyPSJ2ZXJ0aWNhbCIhPT1uPyhlfHwxMDApLzEwMDoxO3JldHVybntoZWlnaHQ6dC5oZWlnaHQoKSpyLHdpZHRoOnQud2lkdGgoKSppLG91dGVySGVpZ2h0OnQub3V0ZXJIZWlnaHQoKSpyLG91dGVyV2lkdGg6dC5vdXRlcldpZHRoKCkqaX19LGNsaXBUb0JveDpmdW5jdGlvbih0KXtyZXR1cm57d2lkdGg6dC5jbGlwLnJpZ2h0LXQuY2xpcC5sZWZ0LGhlaWdodDp0LmNsaXAuYm90dG9tLXQuY2xpcC50b3AsbGVmdDp0LmNsaXAubGVmdCx0b3A6dC5jbGlwLnRvcH19LHVuc2hpZnQ6ZnVuY3Rpb24odCxlLG4pewp2YXIgaT10LnF1ZXVlKCk7ZT4xJiZpLnNwbGljZS5hcHBseShpLFsxLDBdLmNvbmNhdChpLnNwbGljZShlLG4pKSksdC5kZXF1ZXVlKCl9LHNhdmVTdHlsZTpmdW5jdGlvbih0KXt0LmRhdGEobix0WzBdLnN0eWxlLmNzc1RleHQpfSxyZXN0b3JlU3R5bGU6ZnVuY3Rpb24odCl7dFswXS5zdHlsZS5jc3NUZXh0PXQuZGF0YShuKXx8IiIsdC5yZW1vdmVEYXRhKG4pfSxtb2RlOmZ1bmN0aW9uKHQsZSl7dmFyIG49dC5pcygiOmhpZGRlbiIpO3JldHVybiJ0b2dnbGUiPT09ZSYmKGU9bj8ic2hvdyI6ImhpZGUiKSwobj8iaGlkZSI9PT1lOiJzaG93Ij09PWUpJiYoZT0ibm9uZSIpLGV9LGdldEJhc2VsaW5lOmZ1bmN0aW9uKHQsZSl7dmFyIG4saTtzd2l0Y2godFswXSl7Y2FzZSJ0b3AiOm49MDticmVhaztjYXNlIm1pZGRsZSI6bj0uNTticmVhaztjYXNlImJvdHRvbSI6bj0xO2JyZWFrO2RlZmF1bHQ6bj10WzBdL2UuaGVpZ2h0fXN3aXRjaCh0WzFdKXtjYXNlImxlZnQiOmk9MDticmVhaztjYXNlImNlbnRlciI6aT0uNTticmVhaztjYXNlInJpZ2h0IjppPTE7YnJlYWs7ZGVmYXVsdDppPXRbMV0vZS53aWR0aH1yZXR1cm57eDppLHk6bn19LGNyZWF0ZVBsYWNlaG9sZGVyOmZ1bmN0aW9uKG4pe3ZhciBpLHI9bi5jc3MoInBvc2l0aW9uIiksbz1uLnBvc2l0aW9uKCk7cmV0dXJuIG4uY3NzKHttYXJnaW5Ub3A6bi5jc3MoIm1hcmdpblRvcCIpLG1hcmdpbkJvdHRvbTpuLmNzcygibWFyZ2luQm90dG9tIiksbWFyZ2luTGVmdDpuLmNzcygibWFyZ2luTGVmdCIpLG1hcmdpblJpZ2h0Om4uY3NzKCJtYXJnaW5SaWdodCIpfSkub3V0ZXJXaWR0aChuLm91dGVyV2lkdGgoKSkub3V0ZXJIZWlnaHQobi5vdXRlckhlaWdodCgpKSwvXihzdGF0aWN8cmVsYXRpdmUpLy50ZXN0KHIpJiYocj0iYWJzb2x1dGUiLGk9dCgiPCIrblswXS5ub2RlTmFtZSsiPiIpLmluc2VydEFmdGVyKG4pLmNzcyh7ZGlzcGxheTovXihpbmxpbmV8cnVieSkvLnRlc3Qobi5jc3MoImRpc3BsYXkiKSk/ImlubGluZS1ibG9jayI6ImJsb2NrIix2aXNpYmlsaXR5OiJoaWRkZW4iLG1hcmdpblRvcDpuLmNzcygibWFyZ2luVG9wIiksbWFyZ2luQm90dG9tOm4uY3NzKCJtYXJnaW5Cb3R0b20iKSxtYXJnaW5MZWZ0Om4uY3NzKCJtYXJnaW5MZWZ0IiksbWFyZ2luUmlnaHQ6bi5jc3MoIm1hcmdpblJpZ2h0IiksZmxvYXQ6bi5jc3MoImZsb2F0Iil9KS5vdXRlcldpZHRoKG4ub3V0ZXJXaWR0aCgpKS5vdXRlckhlaWdodChuLm91dGVySGVpZ2h0KCkpLmFkZENsYXNzKCJ1aS1lZmZlY3RzLXBsYWNlaG9sZGVyIiksbi5kYXRhKGUrInBsYWNlaG9sZGVyIixpKSksbi5jc3Moe3Bvc2l0aW9uOnIsbGVmdDpvLmxlZnQsdG9wOm8udG9wfSksaX0scmVtb3ZlUGxhY2Vob2xkZXI6ZnVuY3Rpb24odCl7dmFyIG49ZSsicGxhY2Vob2xkZXIiLGk9dC5kYXRhKG4pO2kmJihpLnJlbW92ZSgpLHQucmVtb3ZlRGF0YShuKSl9LGNsZWFuVXA6ZnVuY3Rpb24oZSl7dC5lZmZlY3RzLnJlc3RvcmVTdHlsZShlKSx0LmVmZmVjdHMucmVtb3ZlUGxhY2Vob2xkZXIoZSl9LHNldFRyYW5zaXRpb246ZnVuY3Rpb24oZSxuLGkscil7cmV0dXJuIHI9cnx8e30sdC5lYWNoKG4sKGZ1bmN0aW9uKHQsbil7dmFyIG89ZS5jc3NVbml0KG4pO29bMF0+MCYmKHJbbl09b1swXSppK29bMV0pfSkpLHJ9fSksdC5mbi5leHRlbmQoe2VmZmVjdDpmdW5jdGlvbigpe3ZhciBlPW8uYXBwbHkodGhpcyxhcmd1bWVudHMpLG49dC5lZmZlY3RzLmVmZmVjdFtlLmVmZmVjdF0scj1uLm1vZGUscz1lLnF1ZXVlLGE9c3x8ImZ4Iix1PWUuY29tcGxldGUsbD1lLm1vZGUsYz1bXSxmPWZ1bmN0aW9uKGUpe3ZhciBuPXQodGhpcyksbz10LmVmZmVjdHMubW9kZShuLGwpfHxyO24uZGF0YShpLCEwKSxjLnB1c2gobyksciYmKCJzaG93Ij09PW98fG89PT1yJiYiaGlkZSI9PT1vKSYmbi5zaG93KCksciYmIm5vbmUiPT09b3x8dC5lZmZlY3RzLnNhdmVTdHlsZShuKSwiZnVuY3Rpb24iPT10eXBlb2YgZSYmZSgpfTtpZih0LmZ4Lm9mZnx8IW4pcmV0dXJuIGw/dGhpc1tsXShlLmR1cmF0aW9uLHUpOnRoaXMuZWFjaCgoZnVuY3Rpb24oKXt1JiZ1LmNhbGwodGhpcyl9KSk7ZnVuY3Rpb24gaChvKXt2YXIgcz10KHRoaXMpO2Z1bmN0aW9uIGEoKXtzLnJlbW92ZURhdGEoaSksdC5lZmZlY3RzLmNsZWFuVXAocyksImhpZGUiPT09ZS5tb2RlJiZzLmhpZGUoKSxmKCl9ZnVuY3Rpb24gZigpeyJmdW5jdGlvbiI9PXR5cGVvZiB1JiZ1LmNhbGwoc1swXSksImZ1bmN0aW9uIj09dHlwZW9mIG8mJm8oKX1lLm1vZGU9Yy5zaGlmdCgpLCExPT09dC51aUJhY2tDb21wYXR8fHI/Im5vbmUiPT09ZS5tb2RlPyhzW2xdKCksZigpKTpuLmNhbGwoc1swXSxlLGEpOihzLmlzKCI6aGlkZGVuIik/ImhpZGUiPT09bDoic2hvdyI9PT1sKT8oc1tsXSgpLGYoKSk6bi5jYWxsKHNbMF0sZSxmKX1yZXR1cm4hMT09PXM/dGhpcy5lYWNoKGYpLmVhY2goaCk6dGhpcy5xdWV1ZShhLGYpLnF1ZXVlKGEsaCl9LHNob3c6ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKHMoZSkpcmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3ZhciBuPW8uYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiBuLm1vZGU9InNob3ciLHRoaXMuZWZmZWN0LmNhbGwodGhpcyxuKX19KHQuZm4uc2hvdyksaGlkZTpmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7aWYocyhlKSlyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dmFyIG49by5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIG4ubW9kZT0iaGlkZSIsdGhpcy5lZmZlY3QuY2FsbCh0aGlzLG4pfX0odC5mbi5oaWRlKSx0b2dnbGU6ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKHMoZSl8fCJib29sZWFuIj09dHlwZW9mIGUpcmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3ZhciBuPW8uYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiBuLm1vZGU9InRvZ2dsZSIsdGhpcy5lZmZlY3QuY2FsbCh0aGlzLG4pfX0odC5mbi50b2dnbGUpLGNzc1VuaXQ6ZnVuY3Rpb24oZSl7dmFyIG49dGhpcy5jc3MoZSksaT1bXQo7cmV0dXJuIHQuZWFjaChbImVtIiwicHgiLCIlIiwicHQiXSwoZnVuY3Rpb24odCxlKXtuLmluZGV4T2YoZSk+MCYmKGk9W3BhcnNlRmxvYXQobiksZV0pfSkpLGl9LGNzc0NsaXA6ZnVuY3Rpb24odCl7cmV0dXJuIHQ/dGhpcy5jc3MoImNsaXAiLCJyZWN0KCIrdC50b3ArInB4ICIrdC5yaWdodCsicHggIit0LmJvdHRvbSsicHggIit0LmxlZnQrInB4KSIpOmEodGhpcy5jc3MoImNsaXAiKSx0aGlzKX0sdHJhbnNmZXI6ZnVuY3Rpb24oZSxuKXt2YXIgaT10KHRoaXMpLHI9dChlLnRvKSxvPSJmaXhlZCI9PT1yLmNzcygicG9zaXRpb24iKSxzPXQoImJvZHkiKSxhPW8/cy5zY3JvbGxUb3AoKTowLHU9bz9zLnNjcm9sbExlZnQoKTowLGw9ci5vZmZzZXQoKSxjPXt0b3A6bC50b3AtYSxsZWZ0OmwubGVmdC11LGhlaWdodDpyLmlubmVySGVpZ2h0KCksd2lkdGg6ci5pbm5lcldpZHRoKCl9LGY9aS5vZmZzZXQoKSxoPXQoIjxkaXYgY2xhc3M9J3VpLWVmZmVjdHMtdHJhbnNmZXInPjwvZGl2PiIpO2guYXBwZW5kVG8oImJvZHkiKS5hZGRDbGFzcyhlLmNsYXNzTmFtZSkuY3NzKHt0b3A6Zi50b3AtYSxsZWZ0OmYubGVmdC11LGhlaWdodDppLmlubmVySGVpZ2h0KCksd2lkdGg6aS5pbm5lcldpZHRoKCkscG9zaXRpb246bz8iZml4ZWQiOiJhYnNvbHV0ZSJ9KS5hbmltYXRlKGMsZS5kdXJhdGlvbixlLmVhc2luZywoZnVuY3Rpb24oKXtoLnJlbW92ZSgpLCJmdW5jdGlvbiI9PXR5cGVvZiBuJiZuKCl9KSl9fSksdC5meC5zdGVwLmNsaXA9ZnVuY3Rpb24oZSl7ZS5jbGlwSW5pdHx8KGUuc3RhcnQ9dChlLmVsZW0pLmNzc0NsaXAoKSwic3RyaW5nIj09dHlwZW9mIGUuZW5kJiYoZS5lbmQ9YShlLmVuZCxlLmVsZW0pKSxlLmNsaXBJbml0PSEwKSx0KGUuZWxlbSkuY3NzQ2xpcCh7dG9wOmUucG9zKihlLmVuZC50b3AtZS5zdGFydC50b3ApK2Uuc3RhcnQudG9wLHJpZ2h0OmUucG9zKihlLmVuZC5yaWdodC1lLnN0YXJ0LnJpZ2h0KStlLnN0YXJ0LnJpZ2h0LGJvdHRvbTplLnBvcyooZS5lbmQuYm90dG9tLWUuc3RhcnQuYm90dG9tKStlLnN0YXJ0LmJvdHRvbSxsZWZ0OmUucG9zKihlLmVuZC5sZWZ0LWUuc3RhcnQubGVmdCkrZS5zdGFydC5sZWZ0fSl9fSgpLGZ1bmN0aW9uKCl7dmFyIGU9e307dC5lYWNoKFsiUXVhZCIsIkN1YmljIiwiUXVhcnQiLCJRdWludCIsIkV4cG8iXSwoZnVuY3Rpb24odCxuKXtlW25dPWZ1bmN0aW9uKGUpe3JldHVybiBNYXRoLnBvdyhlLHQrMil9fSkpLHQuZXh0ZW5kKGUse1NpbmU6ZnVuY3Rpb24odCl7cmV0dXJuIDEtTWF0aC5jb3ModCpNYXRoLlBJLzIpfSxDaXJjOmZ1bmN0aW9uKHQpe3JldHVybiAxLU1hdGguc3FydCgxLXQqdCl9LEVsYXN0aWM6ZnVuY3Rpb24odCl7cmV0dXJuIDA9PT10fHwxPT09dD90Oi1NYXRoLnBvdygyLDgqKHQtMSkpKk1hdGguc2luKCg4MCoodC0xKS03LjUpKk1hdGguUEkvMTUpfSxCYWNrOmZ1bmN0aW9uKHQpe3JldHVybiB0KnQqKDMqdC0yKX0sQm91bmNlOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxuPTQ7dDwoKGU9TWF0aC5wb3coMiwtLW4pKS0xKS8xMTspO3JldHVybiAxL01hdGgucG93KDQsMy1uKS03LjU2MjUqTWF0aC5wb3coKDMqZS0yKS8yMi10LDIpfX0pLHQuZWFjaChlLChmdW5jdGlvbihlLG4pe3QuZWFzaW5nWyJlYXNlSW4iK2VdPW4sdC5lYXNpbmdbImVhc2VPdXQiK2VdPWZ1bmN0aW9uKHQpe3JldHVybiAxLW4oMS10KX0sdC5lYXNpbmdbImVhc2VJbk91dCIrZV09ZnVuY3Rpb24odCl7cmV0dXJuIHQ8LjU/bigyKnQpLzI6MS1uKC0yKnQrMikvMn19KSl9KCksdC5lZmZlY3RzfSx2b2lkIDA9PT0obz0iZnVuY3Rpb24iPT10eXBlb2YgaT9pLmFwcGx5KGUscik6aSl8fCh0LmV4cG9ydHM9byl9KCl9LDI5MzI3MSh0LGUsbil7dmFyIGkscixvOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0IjtyPVtuKDQ4MjUwNCksbigxNjg3MDEpXSx2b2lkIDA9PT0obz0iZnVuY3Rpb24iPT10eXBlb2YoaT1mdW5jdGlvbih0KXtyZXR1cm4gdC51aS5pZT0hIS9tc2llIFtcdy5dKy8uZXhlYyhuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkpfSk/aS5hcHBseShlLHIpOmkpfHwodC5leHBvcnRzPW8pfSgpfSw0MDYwNzIodCxlLG4pe3ZhciBpLHIsbzshZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7cj1bbig0ODI1MDQpLG4oMTY4NzAxKV0sdm9pZCAwPT09KG89ImZ1bmN0aW9uIj09dHlwZW9mKGk9ZnVuY3Rpb24odCl7dC5leHByLnBzZXVkb3N8fCh0LmV4cHIucHNldWRvcz10LmV4cHJbIjoiXSk7dC51bmlxdWVTb3J0fHwodC51bmlxdWVTb3J0PXQudW5pcXVlKTtpZighdC5lc2NhcGVTZWxlY3Rvcil7dmFyIGU9LyhbXDAtXHgxZlx4N2ZdfF4tP1xkKXxeLSR8W15ceDgwLVx1RkZGRlx3LV0vZyxuPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGU/IlwwIj09PXQ/Iu+/vSI6dC5zbGljZSgwLC0xKSsiXFwiK3QuY2hhckNvZGVBdCh0Lmxlbmd0aC0xKS50b1N0cmluZygxNikrIiAiOiJcXCIrdH07dC5lc2NhcGVTZWxlY3Rvcj1mdW5jdGlvbih0KXtyZXR1cm4odCsiIikucmVwbGFjZShlLG4pfX10LmZuLmV2ZW4mJnQuZm4ub2RkfHx0LmZuLmV4dGVuZCh7ZXZlbjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIHQlMj09MH0pKX0sb2RkOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdCUyPT0xfSkpfX0pfSk/aS5hcHBseShlLHIpOmkpfHwodC5leHBvcnRzPW8pfSgpfSwyMTA5NzEodCxlLG4pe3ZhciBpLHIsbzshZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7cj1bbig0ODI1MDQpLG4oMTY4NzAxKV0sdm9pZCAwPT09KG89ImZ1bmN0aW9uIj09dHlwZW9mKGk9ZnVuY3Rpb24odCl7fSk/aS5hcHBseShlLHIpOmkpfHwodC5leHBvcnRzPW8pfSgpfSw3MTY5OSh0LGUsbil7dmFyIGkscixvOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0IjtyPVtuKDQ4MjUwNCksbigxNjg3MDEpXSx2b2lkIDA9PT0obz0iZnVuY3Rpb24iPT10eXBlb2YoaT1mdW5jdGlvbih0KXtyZXR1cm4gdC51aS5rZXlDb2RlPXtCQUNLU1BBQ0U6OCxDT01NQToxODgsREVMRVRFOjQ2LERPV046NDAsRU5EOjM1LEVOVEVSOjEzLApFU0NBUEU6MjcsSE9NRTozNixMRUZUOjM3LFBBR0VfRE9XTjozNCxQQUdFX1VQOjMzLFBFUklPRDoxOTAsUklHSFQ6MzksU1BBQ0U6MzIsVEFCOjksVVA6Mzh9fSk/aS5hcHBseShlLHIpOmkpfHwodC5leHBvcnRzPW8pfSgpfSwxODYyMzQodCxlLG4pe3ZhciBpLHIsbztyPVtuKDQ4MjUwNCldLGk9ZnVuY3Rpb24odCxlKXt2YXIgbixpPSJiYWNrZ3JvdW5kQ29sb3IgYm9yZGVyQm90dG9tQ29sb3IgYm9yZGVyTGVmdENvbG9yIGJvcmRlclJpZ2h0Q29sb3IgYm9yZGVyVG9wQ29sb3IgY29sb3IgY29sdW1uUnVsZUNvbG9yIG91dGxpbmVDb2xvciB0ZXh0RGVjb3JhdGlvbkNvbG9yIHRleHRFbXBoYXNpc0NvbG9yIixyPXt9LG89ci50b1N0cmluZyxzPS9eKFtcLStdKT1ccyooXGQrXC4/XGQqKS8sYT1be3JlOi9yZ2JhP1woXHMqKFxkezEsM30pXHMqLFxzKihcZHsxLDN9KVxzKixccyooXGR7MSwzfSlccyooPzosXHMqKFxkPyg/OlwuXGQrKT8pXHMqKT9cKS8scGFyc2U6ZnVuY3Rpb24odCl7cmV0dXJuW3RbMV0sdFsyXSx0WzNdLHRbNF1dfX0se3JlOi9yZ2JhP1woXHMqKFxkKyg/OlwuXGQrKT8pXCVccyosXHMqKFxkKyg/OlwuXGQrKT8pXCVccyosXHMqKFxkKyg/OlwuXGQrKT8pXCVccyooPzosXHMqKFxkPyg/OlwuXGQrKT8pXHMqKT9cKS8scGFyc2U6ZnVuY3Rpb24odCl7cmV0dXJuWzIuNTUqdFsxXSwyLjU1KnRbMl0sMi41NSp0WzNdLHRbNF1dfX0se3JlOi8jKFthLWYwLTldezJ9KShbYS1mMC05XXsyfSkoW2EtZjAtOV17Mn0pKFthLWYwLTldezJ9KT8vLHBhcnNlOmZ1bmN0aW9uKHQpe3JldHVybltwYXJzZUludCh0WzFdLDE2KSxwYXJzZUludCh0WzJdLDE2KSxwYXJzZUludCh0WzNdLDE2KSx0WzRdPyhwYXJzZUludCh0WzRdLDE2KS8yNTUpLnRvRml4ZWQoMik6MV19fSx7cmU6LyMoW2EtZjAtOV0pKFthLWYwLTldKShbYS1mMC05XSkoW2EtZjAtOV0pPy8scGFyc2U6ZnVuY3Rpb24odCl7cmV0dXJuW3BhcnNlSW50KHRbMV0rdFsxXSwxNikscGFyc2VJbnQodFsyXSt0WzJdLDE2KSxwYXJzZUludCh0WzNdK3RbM10sMTYpLHRbNF0/KHBhcnNlSW50KHRbNF0rdFs0XSwxNikvMjU1KS50b0ZpeGVkKDIpOjFdfX0se3JlOi9oc2xhP1woXHMqKFxkKyg/OlwuXGQrKT8pXHMqLFxzKihcZCsoPzpcLlxkKyk/KVwlXHMqLFxzKihcZCsoPzpcLlxkKyk/KVwlXHMqKD86LFxzKihcZD8oPzpcLlxkKyk/KVxzKik/XCkvLHNwYWNlOiJoc2xhIixwYXJzZTpmdW5jdGlvbih0KXtyZXR1cm5bdFsxXSx0WzJdLzEwMCx0WzNdLzEwMCx0WzRdXX19XSx1PXQuQ29sb3I9ZnVuY3Rpb24oZSxuLGkscil7cmV0dXJuIG5ldyB0LkNvbG9yLmZuLnBhcnNlKGUsbixpLHIpfSxsPXtyZ2JhOntwcm9wczp7cmVkOntpZHg6MCx0eXBlOiJieXRlIn0sZ3JlZW46e2lkeDoxLHR5cGU6ImJ5dGUifSxibHVlOntpZHg6Mix0eXBlOiJieXRlIn19fSxoc2xhOntwcm9wczp7aHVlOntpZHg6MCx0eXBlOiJkZWdyZWVzIn0sc2F0dXJhdGlvbjp7aWR4OjEsdHlwZToicGVyY2VudCJ9LGxpZ2h0bmVzczp7aWR4OjIsdHlwZToicGVyY2VudCJ9fX19LGM9e2J5dGU6e2Zsb29yOiEwLG1heDoyNTV9LHBlcmNlbnQ6e21heDoxfSxkZWdyZWVzOnttb2Q6MzYwLGZsb29yOiEwfX0sZj11LnN1cHBvcnQ9e30saD10KCI8cD4iKVswXSxkPXQuZWFjaDtmdW5jdGlvbiBwKHQpe3JldHVybiBudWxsPT10P3QrIiI6Im9iamVjdCI9PXR5cGVvZiB0P3Jbby5jYWxsKHQpXXx8Im9iamVjdCI6dHlwZW9mIHR9ZnVuY3Rpb24gdih0LGUsbil7dmFyIGk9Y1tlLnR5cGVdfHx7fTtyZXR1cm4gbnVsbD09dD9ufHwhZS5kZWY/bnVsbDplLmRlZjoodD1pLmZsb29yP35+dDpwYXJzZUZsb2F0KHQpLGlzTmFOKHQpP2UuZGVmOmkubW9kPyh0K2kubW9kKSVpLm1vZDpNYXRoLm1pbihpLm1heCxNYXRoLm1heCgwLHQpKSl9ZnVuY3Rpb24gZyhlKXt2YXIgaT11KCkscj1pLl9yZ2JhPVtdO3JldHVybiBlPWUudG9Mb3dlckNhc2UoKSxkKGEsKGZ1bmN0aW9uKHQsbil7dmFyIG8scz1uLnJlLmV4ZWMoZSksYT1zJiZuLnBhcnNlKHMpLHU9bi5zcGFjZXx8InJnYmEiO2lmKGEpcmV0dXJuIG89aVt1XShhKSxpW2xbdV0uY2FjaGVdPW9bbFt1XS5jYWNoZV0scj1pLl9yZ2JhPW8uX3JnYmEsITF9KSksci5sZW5ndGg/KCIwLDAsMCwwIj09PXIuam9pbigpJiZ0LmV4dGVuZChyLG4udHJhbnNwYXJlbnQpLGkpOm5bZV19ZnVuY3Rpb24gbSh0LGUsbil7cmV0dXJuIDYqKG49KG4rMSklMSk8MT90KyhlLXQpKm4qNjoyKm48MT9lOjMqbjwyP3QrKGUtdCkqKDIvMy1uKSo2OnR9aC5zdHlsZS5jc3NUZXh0PSJiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMSwxLDEsLjUpIixmLnJnYmE9aC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IuaW5kZXhPZigicmdiYSIpPi0xLGQobCwoZnVuY3Rpb24odCxlKXtlLmNhY2hlPSJfIit0LGUucHJvcHMuYWxwaGE9e2lkeDozLHR5cGU6InBlcmNlbnQiLGRlZjoxfX0pKSx0LmVhY2goIkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRlIFJlZ0V4cCBPYmplY3QgRXJyb3IgU3ltYm9sIi5zcGxpdCgiICIpLChmdW5jdGlvbih0LGUpe3JbIltvYmplY3QgIitlKyJdIl09ZS50b0xvd2VyQ2FzZSgpfSkpLHUuZm49dC5leHRlbmQodS5wcm90b3R5cGUse3BhcnNlOmZ1bmN0aW9uKGkscixvLHMpe2lmKGk9PT1lKXJldHVybiB0aGlzLl9yZ2JhPVtudWxsLG51bGwsbnVsbCxudWxsXSx0aGlzOyhpLmpxdWVyeXx8aS5ub2RlVHlwZSkmJihpPXQoaSkuY3NzKHIpLHI9ZSk7dmFyIGE9dGhpcyxjPXAoaSksZj10aGlzLl9yZ2JhPVtdO3JldHVybiByIT09ZSYmKGk9W2kscixvLHNdLGM9ImFycmF5IiksInN0cmluZyI9PT1jP3RoaXMucGFyc2UoZyhpKXx8bi5fZGVmYXVsdCk6ImFycmF5Ij09PWM/KGQobC5yZ2JhLnByb3BzLChmdW5jdGlvbih0LGUpe2ZbZS5pZHhdPXYoaVtlLmlkeF0sZSl9KSksdGhpcyk6Im9iamVjdCI9PT1jPyhkKGwsaSBpbnN0YW5jZW9mIHU/ZnVuY3Rpb24odCxlKXtpW2UuY2FjaGVdJiYoYVtlLmNhY2hlXT1pW2UuY2FjaGVdLnNsaWNlKCkpfTpmdW5jdGlvbihlLG4pe3ZhciByPW4uY2FjaGUKO2Qobi5wcm9wcywoZnVuY3Rpb24odCxlKXtpZighYVtyXSYmbi50byl7aWYoImFscGhhIj09PXR8fG51bGw9PWlbdF0pcmV0dXJuO2Fbcl09bi50byhhLl9yZ2JhKX1hW3JdW2UuaWR4XT12KGlbdF0sZSwhMCl9KSksYVtyXSYmdC5pbkFycmF5KG51bGwsYVtyXS5zbGljZSgwLDMpKTwwJiYobnVsbD09YVtyXVszXSYmKGFbcl1bM109MSksbi5mcm9tJiYoYS5fcmdiYT1uLmZyb20oYVtyXSkpKX0pLHRoaXMpOnZvaWQgMH0saXM6ZnVuY3Rpb24odCl7dmFyIGU9dSh0KSxuPSEwLGk9dGhpcztyZXR1cm4gZChsLChmdW5jdGlvbih0LHIpe3ZhciBvLHM9ZVtyLmNhY2hlXTtyZXR1cm4gcyYmKG89aVtyLmNhY2hlXXx8ci50byYmci50byhpLl9yZ2JhKXx8W10sZChyLnByb3BzLChmdW5jdGlvbih0LGUpe2lmKG51bGwhPXNbZS5pZHhdKXJldHVybiBuPXNbZS5pZHhdPT09b1tlLmlkeF19KSkpLG59KSksbn0sX3NwYWNlOmZ1bmN0aW9uKCl7dmFyIHQ9W10sZT10aGlzO3JldHVybiBkKGwsKGZ1bmN0aW9uKG4saSl7ZVtpLmNhY2hlXSYmdC5wdXNoKG4pfSkpLHQucG9wKCl9LHRyYW5zaXRpb246ZnVuY3Rpb24odCxlKXt2YXIgbj11KHQpLGk9bi5fc3BhY2UoKSxyPWxbaV0sbz0wPT09dGhpcy5hbHBoYSgpP3UoInRyYW5zcGFyZW50Iik6dGhpcyxzPW9bci5jYWNoZV18fHIudG8oby5fcmdiYSksYT1zLnNsaWNlKCk7cmV0dXJuIG49bltyLmNhY2hlXSxkKHIucHJvcHMsKGZ1bmN0aW9uKHQsaSl7dmFyIHI9aS5pZHgsbz1zW3JdLHU9bltyXSxsPWNbaS50eXBlXXx8e307bnVsbCE9PXUmJihudWxsPT09bz9hW3JdPXU6KGwubW9kJiYodS1vPmwubW9kLzI/bys9bC5tb2Q6by11PmwubW9kLzImJihvLT1sLm1vZCkpLGFbcl09digodS1vKSplK28saSkpKX0pKSx0aGlzW2ldKGEpfSxibGVuZDpmdW5jdGlvbihlKXtpZigxPT09dGhpcy5fcmdiYVszXSlyZXR1cm4gdGhpczt2YXIgbj10aGlzLl9yZ2JhLnNsaWNlKCksaT1uLnBvcCgpLHI9dShlKS5fcmdiYTtyZXR1cm4gdSh0Lm1hcChuLChmdW5jdGlvbih0LGUpe3JldHVybigxLWkpKnJbZV0raSp0fSkpKX0sdG9SZ2JhU3RyaW5nOmZ1bmN0aW9uKCl7dmFyIGU9InJnYmEoIixuPXQubWFwKHRoaXMuX3JnYmEsKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIG51bGwhPXQ/dDplPjI/MTowfSkpO3JldHVybiAxPT09blszXSYmKG4ucG9wKCksZT0icmdiKCIpLGUrbi5qb2luKCkrIikifSx0b0hzbGFTdHJpbmc6ZnVuY3Rpb24oKXt2YXIgZT0iaHNsYSgiLG49dC5tYXAodGhpcy5oc2xhKCksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIG51bGw9PXQmJih0PWU+Mj8xOjApLGUmJmU8MyYmKHQ9TWF0aC5yb3VuZCgxMDAqdCkrIiUiKSx0fSkpO3JldHVybiAxPT09blszXSYmKG4ucG9wKCksZT0iaHNsKCIpLGUrbi5qb2luKCkrIikifSx0b0hleFN0cmluZzpmdW5jdGlvbihlKXt2YXIgbj10aGlzLl9yZ2JhLnNsaWNlKCksaT1uLnBvcCgpO3JldHVybiBlJiZuLnB1c2gofn4oMjU1KmkpKSwiIyIrdC5tYXAobiwoZnVuY3Rpb24odCl7cmV0dXJuIDE9PT0odD0odHx8MCkudG9TdHJpbmcoMTYpKS5sZW5ndGg/IjAiK3Q6dH0pKS5qb2luKCIiKX0sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gMD09PXRoaXMuX3JnYmFbM10/InRyYW5zcGFyZW50Ijp0aGlzLnRvUmdiYVN0cmluZygpfX0pLHUuZm4ucGFyc2UucHJvdG90eXBlPXUuZm4sbC5oc2xhLnRvPWZ1bmN0aW9uKHQpe2lmKG51bGw9PXRbMF18fG51bGw9PXRbMV18fG51bGw9PXRbMl0pcmV0dXJuW251bGwsbnVsbCxudWxsLHRbM11dO3ZhciBlLG4saT10WzBdLzI1NSxyPXRbMV0vMjU1LG89dFsyXS8yNTUscz10WzNdLGE9TWF0aC5tYXgoaSxyLG8pLHU9TWF0aC5taW4oaSxyLG8pLGw9YS11LGM9YSt1LGY9LjUqYztyZXR1cm4gZT11PT09YT8wOmk9PT1hPzYwKihyLW8pL2wrMzYwOnI9PT1hPzYwKihvLWkpL2wrMTIwOjYwKihpLXIpL2wrMjQwLG49MD09PWw/MDpmPD0uNT9sL2M6bC8oMi1jKSxbTWF0aC5yb3VuZChlKSUzNjAsbixmLHM/PzFdfSxsLmhzbGEuZnJvbT1mdW5jdGlvbih0KXtpZihudWxsPT10WzBdfHxudWxsPT10WzFdfHxudWxsPT10WzJdKXJldHVybltudWxsLG51bGwsbnVsbCx0WzNdXTt2YXIgZT10WzBdLzM2MCxuPXRbMV0saT10WzJdLHI9dFszXSxvPWk8PS41P2kqKDErbik6aStuLWkqbixzPTIqaS1vO3JldHVybltNYXRoLnJvdW5kKDI1NSptKHMsbyxlKzEvMykpLE1hdGgucm91bmQoMjU1Km0ocyxvLGUpKSxNYXRoLnJvdW5kKDI1NSptKHMsbyxlLTEvMykpLHJdfSxkKGwsKGZ1bmN0aW9uKHQsbil7dmFyIGk9bi5wcm9wcyxyPW4uY2FjaGUsbz1uLnRvLGE9bi5mcm9tO3UuZm5bdF09ZnVuY3Rpb24odCl7aWYobyYmIXRoaXNbcl0mJih0aGlzW3JdPW8odGhpcy5fcmdiYSkpLHQ9PT1lKXJldHVybiB0aGlzW3JdLnNsaWNlKCk7dmFyIG4scz1wKHQpLGw9ImFycmF5Ij09PXN8fCJvYmplY3QiPT09cz90OmFyZ3VtZW50cyxjPXRoaXNbcl0uc2xpY2UoKTtyZXR1cm4gZChpLChmdW5jdGlvbih0LGUpe3ZhciBuPWxbIm9iamVjdCI9PT1zP3Q6ZS5pZHhdO251bGw9PW4mJihuPWNbZS5pZHhdKSxjW2UuaWR4XT12KG4sZSl9KSksYT8oKG49dShhKGMpKSlbcl09YyxuKTp1KGMpfSxkKGksKGZ1bmN0aW9uKGUsbil7dS5mbltlXXx8KHUuZm5bZV09ZnVuY3Rpb24oaSl7dmFyIHIsbyxhLHUsbD1wKGkpO3JldHVybiBvPShyPXRoaXNbdT0iYWxwaGEiPT09ZT90aGlzLl9oc2xhPyJoc2xhIjoicmdiYSI6dF0oKSlbbi5pZHhdLCJ1bmRlZmluZWQiPT09bD9vOigiZnVuY3Rpb24iPT09bCYmKGw9cChpPWkuY2FsbCh0aGlzLG8pKSksbnVsbD09aSYmbi5lbXB0eT90aGlzOigic3RyaW5nIj09PWwmJihhPXMuZXhlYyhpKSkmJihpPW8rcGFyc2VGbG9hdChhWzJdKSooIisiPT09YVsxXT8xOi0xKSkscltuLmlkeF09aSx0aGlzW3VdKHIpKSl9KX0pKX0pKSx1Lmhvb2s9ZnVuY3Rpb24oZSl7dmFyIG49ZS5zcGxpdCgiICIpO2QobiwoZnVuY3Rpb24oZSxuKXt0LmNzc0hvb2tzW25dPXtzZXQ6ZnVuY3Rpb24oZSxpKXt2YXIgcixvLHM9IiI7aWYoInRyYW5zcGFyZW50IiE9PWkmJigic3RyaW5nIiE9PXAoaSl8fChyPWcoaSkpKSl7CmlmKGk9dShyfHxpKSwhZi5yZ2JhJiYxIT09aS5fcmdiYVszXSl7Zm9yKG89ImJhY2tncm91bmRDb2xvciI9PT1uP2UucGFyZW50Tm9kZTplOygiIj09PXN8fCJ0cmFuc3BhcmVudCI9PT1zKSYmbyYmby5zdHlsZTspdHJ5e3M9dC5jc3MobywiYmFja2dyb3VuZENvbG9yIiksbz1vLnBhcmVudE5vZGV9Y2F0Y2godCl7fWk9aS5ibGVuZChzJiYidHJhbnNwYXJlbnQiIT09cz9zOiJfZGVmYXVsdCIpfWk9aS50b1JnYmFTdHJpbmcoKX10cnl7ZS5zdHlsZVtuXT1pfWNhdGNoKHQpe319fSx0LmZ4LnN0ZXBbbl09ZnVuY3Rpb24oZSl7ZS5jb2xvckluaXR8fChlLnN0YXJ0PXUoZS5lbGVtLG4pLGUuZW5kPXUoZS5lbmQpLGUuY29sb3JJbml0PSEwKSx0LmNzc0hvb2tzW25dLnNldChlLmVsZW0sZS5zdGFydC50cmFuc2l0aW9uKGUuZW5kLGUucG9zKSl9fSkpfSx1Lmhvb2soaSksdC5jc3NIb29rcy5ib3JkZXJDb2xvcj17ZXhwYW5kOmZ1bmN0aW9uKHQpe3ZhciBlPXt9O3JldHVybiBkKFsiVG9wIiwiUmlnaHQiLCJCb3R0b20iLCJMZWZ0Il0sKGZ1bmN0aW9uKG4saSl7ZVsiYm9yZGVyIitpKyJDb2xvciJdPXR9KSksZX19LG49dC5Db2xvci5uYW1lcz17YXF1YToiIzAwZmZmZiIsYmxhY2s6IiMwMDAwMDAiLGJsdWU6IiMwMDAwZmYiLGZ1Y2hzaWE6IiNmZjAwZmYiLGdyYXk6IiM4MDgwODAiLGdyZWVuOiIjMDA4MDAwIixsaW1lOiIjMDBmZjAwIixtYXJvb246IiM4MDAwMDAiLG5hdnk6IiMwMDAwODAiLG9saXZlOiIjODA4MDAwIixwdXJwbGU6IiM4MDAwODAiLHJlZDoiI2ZmMDAwMCIsc2lsdmVyOiIjYzBjMGMwIix0ZWFsOiIjMDA4MDgwIix3aGl0ZToiI2ZmZmZmZiIseWVsbG93OiIjZmZmZjAwIix0cmFuc3BhcmVudDpbbnVsbCxudWxsLG51bGwsMF0sX2RlZmF1bHQ6IiNmZmZmZmYifX0sdm9pZCAwPT09KG89ImZ1bmN0aW9uIj09dHlwZW9mIGk/aS5hcHBseShlLHIpOmkpfHwodC5leHBvcnRzPW8pfSwxNjg3MDEodCxlLG4pe3ZhciBpLHIsbzshZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7cj1bbig0ODI1MDQpXSx2b2lkIDA9PT0obz0iZnVuY3Rpb24iPT10eXBlb2YoaT1mdW5jdGlvbih0KXtyZXR1cm4gdC51aT10LnVpfHx7fSx0LnVpLnZlcnNpb249IjEuMTMuMiJ9KT9pLmFwcGx5KGUscik6aSl8fCh0LmV4cG9ydHM9byl9KCl9LDY2NjM0OSh0LGUsbil7dmFyIGkscixvOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0IjtyPVtuKDQ4MjUwNCksbigxNjg3MDEpXSxpPWZ1bmN0aW9uKHQpe3ZhciBlPTAsbj1BcnJheS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksaT1BcnJheS5wcm90b3R5cGUuc2xpY2U7cmV0dXJuIHQuY2xlYW5EYXRhPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihuKXt2YXIgaSxyLG87Zm9yKG89MDtudWxsIT0ocj1uW29dKTtvKyspKGk9dC5fZGF0YShyLCJldmVudHMiKSkmJmkucmVtb3ZlJiZ0KHIpLnRyaWdnZXJIYW5kbGVyKCJyZW1vdmUiKTtlKG4pfX0odC5jbGVhbkRhdGEpLHQud2lkZ2V0PWZ1bmN0aW9uKGUsbixpKXt2YXIgcixvLHMsYT17fSx1PWUuc3BsaXQoIi4iKVswXSxsPXUrIi0iKyhlPWUuc3BsaXQoIi4iKVsxXSk7cmV0dXJuIGl8fChpPW4sbj10LldpZGdldCksQXJyYXkuaXNBcnJheShpKSYmKGk9dC5leHRlbmQuYXBwbHkobnVsbCxbe31dLmNvbmNhdChpKSkpLHQuZXhwci5wc2V1ZG9zW2wudG9Mb3dlckNhc2UoKV09ZnVuY3Rpb24oZSl7cmV0dXJuISF0LmRhdGEoZSxsKX0sdFt1XT10W3VdfHx7fSxyPXRbdV1bZV0sbz10W3VdW2VdPWZ1bmN0aW9uKHQsZSl7aWYoIXRoaXN8fCF0aGlzLl9jcmVhdGVXaWRnZXQpcmV0dXJuIG5ldyBvKHQsZSk7YXJndW1lbnRzLmxlbmd0aCYmdGhpcy5fY3JlYXRlV2lkZ2V0KHQsZSl9LHQuZXh0ZW5kKG8scix7dmVyc2lvbjppLnZlcnNpb24sX3Byb3RvOnQuZXh0ZW5kKHt9LGkpLF9jaGlsZENvbnN0cnVjdG9yczpbXX0pLChzPW5ldyBuKS5vcHRpb25zPXQud2lkZ2V0LmV4dGVuZCh7fSxzLm9wdGlvbnMpLHQuZWFjaChpLChmdW5jdGlvbih0LGUpe2FbdF09ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZnVuY3Rpb24oKXtmdW5jdGlvbiBpKCl7cmV0dXJuIG4ucHJvdG90eXBlW3RdLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiByKGUpe3JldHVybiBuLnByb3RvdHlwZVt0XS5hcHBseSh0aGlzLGUpfXJldHVybiBmdW5jdGlvbigpe3ZhciB0LG49dGhpcy5fc3VwZXIsbz10aGlzLl9zdXBlckFwcGx5O3JldHVybiB0aGlzLl9zdXBlcj1pLHRoaXMuX3N1cGVyQXBwbHk9cix0PWUuYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMuX3N1cGVyPW4sdGhpcy5fc3VwZXJBcHBseT1vLHR9fSgpOmV9KSksby5wcm90b3R5cGU9dC53aWRnZXQuZXh0ZW5kKHMse3dpZGdldEV2ZW50UHJlZml4OnImJnMud2lkZ2V0RXZlbnRQcmVmaXh8fGV9LGEse2NvbnN0cnVjdG9yOm8sbmFtZXNwYWNlOnUsd2lkZ2V0TmFtZTplLHdpZGdldEZ1bGxOYW1lOmx9KSxyPyh0LmVhY2goci5fY2hpbGRDb25zdHJ1Y3RvcnMsKGZ1bmN0aW9uKGUsbil7dmFyIGk9bi5wcm90b3R5cGU7dC53aWRnZXQoaS5uYW1lc3BhY2UrIi4iK2kud2lkZ2V0TmFtZSxvLG4uX3Byb3RvKX0pKSxkZWxldGUgci5fY2hpbGRDb25zdHJ1Y3RvcnMpOm4uX2NoaWxkQ29uc3RydWN0b3JzLnB1c2gobyksdC53aWRnZXQuYnJpZGdlKGUsbyksb30sdC53aWRnZXQuZXh0ZW5kPWZ1bmN0aW9uKGUpe2Zvcih2YXIgcixvLHM9aS5jYWxsKGFyZ3VtZW50cywxKSxhPTAsdT1zLmxlbmd0aDthPHU7YSsrKWZvcihyIGluIHNbYV0pbz1zW2FdW3JdLG4uY2FsbChzW2FdLHIpJiZ2b2lkIDAhPT1vJiYodC5pc1BsYWluT2JqZWN0KG8pP2Vbcl09dC5pc1BsYWluT2JqZWN0KGVbcl0pP3Qud2lkZ2V0LmV4dGVuZCh7fSxlW3JdLG8pOnQud2lkZ2V0LmV4dGVuZCh7fSxvKTplW3JdPW8pO3JldHVybiBlfSx0LndpZGdldC5icmlkZ2U9ZnVuY3Rpb24oZSxuKXt2YXIgcj1uLnByb3RvdHlwZS53aWRnZXRGdWxsTmFtZXx8ZTt0LmZuW2VdPWZ1bmN0aW9uKG8pe3ZhciBzPSJzdHJpbmciPT10eXBlb2YgbyxhPWkuY2FsbChhcmd1bWVudHMsMSksdT10aGlzCjtyZXR1cm4gcz90aGlzLmxlbmd0aHx8Imluc3RhbmNlIiE9PW8/dGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciBuLGk9dC5kYXRhKHRoaXMscik7cmV0dXJuImluc3RhbmNlIj09PW8/KHU9aSwhMSk6aT8iZnVuY3Rpb24iIT10eXBlb2YgaVtvXXx8Il8iPT09by5jaGFyQXQoMCk/dC5lcnJvcigibm8gc3VjaCBtZXRob2QgJyIrbysiJyBmb3IgIitlKyIgd2lkZ2V0IGluc3RhbmNlIik6KG49aVtvXS5hcHBseShpLGEpKSE9PWkmJnZvaWQgMCE9PW4/KHU9biYmbi5qcXVlcnk/dS5wdXNoU3RhY2sobi5nZXQoKSk6biwhMSk6dm9pZCAwOnQuZXJyb3IoImNhbm5vdCBjYWxsIG1ldGhvZHMgb24gIitlKyIgcHJpb3IgdG8gaW5pdGlhbGl6YXRpb247IGF0dGVtcHRlZCB0byBjYWxsIG1ldGhvZCAnIitvKyInIil9KSk6dT12b2lkIDA6KGEubGVuZ3RoJiYobz10LndpZGdldC5leHRlbmQuYXBwbHkobnVsbCxbb10uY29uY2F0KGEpKSksdGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciBlPXQuZGF0YSh0aGlzLHIpO2U/KGUub3B0aW9uKG98fHt9KSxlLl9pbml0JiZlLl9pbml0KCkpOnQuZGF0YSh0aGlzLHIsbmV3IG4obyx0aGlzKSl9KSkpLHV9fSx0LldpZGdldD1mdW5jdGlvbigpe30sdC5XaWRnZXQuX2NoaWxkQ29uc3RydWN0b3JzPVtdLHQuV2lkZ2V0LnByb3RvdHlwZT17d2lkZ2V0TmFtZToid2lkZ2V0Iix3aWRnZXRFdmVudFByZWZpeDoiIixkZWZhdWx0RWxlbWVudDoiPGRpdj4iLG9wdGlvbnM6e2NsYXNzZXM6e30sZGlzYWJsZWQ6ITEsY3JlYXRlOm51bGx9LF9jcmVhdGVXaWRnZXQ6ZnVuY3Rpb24obixpKXtpPXQoaXx8dGhpcy5kZWZhdWx0RWxlbWVudHx8dGhpcylbMF0sdGhpcy5lbGVtZW50PXQoaSksdGhpcy51dWlkPWUrKyx0aGlzLmV2ZW50TmFtZXNwYWNlPSIuIit0aGlzLndpZGdldE5hbWUrdGhpcy51dWlkLHRoaXMuYmluZGluZ3M9dCgpLHRoaXMuaG92ZXJhYmxlPXQoKSx0aGlzLmZvY3VzYWJsZT10KCksdGhpcy5jbGFzc2VzRWxlbWVudExvb2t1cD17fSxpIT09dGhpcyYmKHQuZGF0YShpLHRoaXMud2lkZ2V0RnVsbE5hbWUsdGhpcyksdGhpcy5fb24oITAsdGhpcy5lbGVtZW50LHtyZW1vdmU6ZnVuY3Rpb24odCl7dC50YXJnZXQ9PT1pJiZ0aGlzLmRlc3Ryb3koKX19KSx0aGlzLmRvY3VtZW50PXQoaS5zdHlsZT9pLm93bmVyRG9jdW1lbnQ6aS5kb2N1bWVudHx8aSksdGhpcy53aW5kb3c9dCh0aGlzLmRvY3VtZW50WzBdLmRlZmF1bHRWaWV3fHx0aGlzLmRvY3VtZW50WzBdLnBhcmVudFdpbmRvdykpLHRoaXMub3B0aW9ucz10LndpZGdldC5leHRlbmQoe30sdGhpcy5vcHRpb25zLHRoaXMuX2dldENyZWF0ZU9wdGlvbnMoKSxuKSx0aGlzLl9jcmVhdGUoKSx0aGlzLm9wdGlvbnMuZGlzYWJsZWQmJnRoaXMuX3NldE9wdGlvbkRpc2FibGVkKHRoaXMub3B0aW9ucy5kaXNhYmxlZCksdGhpcy5fdHJpZ2dlcigiY3JlYXRlIixudWxsLHRoaXMuX2dldENyZWF0ZUV2ZW50RGF0YSgpKSx0aGlzLl9pbml0KCl9LF9nZXRDcmVhdGVPcHRpb25zOmZ1bmN0aW9uKCl7cmV0dXJue319LF9nZXRDcmVhdGVFdmVudERhdGE6dC5ub29wLF9jcmVhdGU6dC5ub29wLF9pbml0OnQubm9vcCxkZXN0cm95OmZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLl9kZXN0cm95KCksdC5lYWNoKHRoaXMuY2xhc3Nlc0VsZW1lbnRMb29rdXAsKGZ1bmN0aW9uKHQsbil7ZS5fcmVtb3ZlQ2xhc3Mobix0KX0pKSx0aGlzLmVsZW1lbnQub2ZmKHRoaXMuZXZlbnROYW1lc3BhY2UpLnJlbW92ZURhdGEodGhpcy53aWRnZXRGdWxsTmFtZSksdGhpcy53aWRnZXQoKS5vZmYodGhpcy5ldmVudE5hbWVzcGFjZSkucmVtb3ZlQXR0cigiYXJpYS1kaXNhYmxlZCIpLHRoaXMuYmluZGluZ3Mub2ZmKHRoaXMuZXZlbnROYW1lc3BhY2UpfSxfZGVzdHJveTp0Lm5vb3Asd2lkZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudH0sb3B0aW9uOmZ1bmN0aW9uKGUsbil7dmFyIGkscixvLHM9ZTtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdC53aWRnZXQuZXh0ZW5kKHt9LHRoaXMub3B0aW9ucyk7aWYoInN0cmluZyI9PXR5cGVvZiBlKWlmKHM9e30saT1lLnNwbGl0KCIuIiksZT1pLnNoaWZ0KCksaS5sZW5ndGgpe2ZvcihyPXNbZV09dC53aWRnZXQuZXh0ZW5kKHt9LHRoaXMub3B0aW9uc1tlXSksbz0wO288aS5sZW5ndGgtMTtvKyspcltpW29dXT1yW2lbb11dfHx7fSxyPXJbaVtvXV07aWYoZT1pLnBvcCgpLDE9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiB2b2lkIDA9PT1yW2VdP251bGw6cltlXTtyW2VdPW59ZWxzZXtpZigxPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdm9pZCAwPT09dGhpcy5vcHRpb25zW2VdP251bGw6dGhpcy5vcHRpb25zW2VdO3NbZV09bn1yZXR1cm4gdGhpcy5fc2V0T3B0aW9ucyhzKSx0aGlzfSxfc2V0T3B0aW9uczpmdW5jdGlvbih0KXt2YXIgZTtmb3IoZSBpbiB0KXRoaXMuX3NldE9wdGlvbihlLHRbZV0pO3JldHVybiB0aGlzfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKHQsZSl7cmV0dXJuImNsYXNzZXMiPT09dCYmdGhpcy5fc2V0T3B0aW9uQ2xhc3NlcyhlKSx0aGlzLm9wdGlvbnNbdF09ZSwiZGlzYWJsZWQiPT09dCYmdGhpcy5fc2V0T3B0aW9uRGlzYWJsZWQoZSksdGhpc30sX3NldE9wdGlvbkNsYXNzZXM6ZnVuY3Rpb24oZSl7dmFyIG4saSxyO2ZvcihuIGluIGUpcj10aGlzLmNsYXNzZXNFbGVtZW50TG9va3VwW25dLGVbbl0hPT10aGlzLm9wdGlvbnMuY2xhc3Nlc1tuXSYmciYmci5sZW5ndGgmJihpPXQoci5nZXQoKSksdGhpcy5fcmVtb3ZlQ2xhc3MocixuKSxpLmFkZENsYXNzKHRoaXMuX2NsYXNzZXMoe2VsZW1lbnQ6aSxrZXlzOm4sY2xhc3NlczplLGFkZDohMH0pKSl9LF9zZXRPcHRpb25EaXNhYmxlZDpmdW5jdGlvbih0KXt0aGlzLl90b2dnbGVDbGFzcyh0aGlzLndpZGdldCgpLHRoaXMud2lkZ2V0RnVsbE5hbWUrIi1kaXNhYmxlZCIsbnVsbCwhIXQpLHQmJih0aGlzLl9yZW1vdmVDbGFzcyh0aGlzLmhvdmVyYWJsZSxudWxsLCJ1aS1zdGF0ZS1ob3ZlciIpLHRoaXMuX3JlbW92ZUNsYXNzKHRoaXMuZm9jdXNhYmxlLG51bGwsInVpLXN0YXRlLWZvY3VzIikpfSwKZW5hYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3NldE9wdGlvbnMoe2Rpc2FibGVkOiExfSl9LGRpc2FibGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2V0T3B0aW9ucyh7ZGlzYWJsZWQ6ITB9KX0sX2NsYXNzZXM6ZnVuY3Rpb24oZSl7dmFyIG49W10saT10aGlzO2Z1bmN0aW9uIHIoKXt2YXIgbj1bXTtlLmVsZW1lbnQuZWFjaCgoZnVuY3Rpb24oZSxyKXt0Lm1hcChpLmNsYXNzZXNFbGVtZW50TG9va3VwLChmdW5jdGlvbih0KXtyZXR1cm4gdH0pKS5zb21lKChmdW5jdGlvbih0KXtyZXR1cm4gdC5pcyhyKX0pKXx8bi5wdXNoKHIpfSkpLGkuX29uKHQobikse3JlbW92ZToiX3VudHJhY2tDbGFzc2VzRWxlbWVudCJ9KX1mdW5jdGlvbiBvKG8scyl7dmFyIGEsdTtmb3IodT0wO3U8by5sZW5ndGg7dSsrKWE9aS5jbGFzc2VzRWxlbWVudExvb2t1cFtvW3VdXXx8dCgpLGUuYWRkPyhyKCksYT10KHQudW5pcXVlU29ydChhLmdldCgpLmNvbmNhdChlLmVsZW1lbnQuZ2V0KCkpKSkpOmE9dChhLm5vdChlLmVsZW1lbnQpLmdldCgpKSxpLmNsYXNzZXNFbGVtZW50TG9va3VwW29bdV1dPWEsbi5wdXNoKG9bdV0pLHMmJmUuY2xhc3Nlc1tvW3VdXSYmbi5wdXNoKGUuY2xhc3Nlc1tvW3VdXSl9cmV0dXJuKGU9dC5leHRlbmQoe2VsZW1lbnQ6dGhpcy5lbGVtZW50LGNsYXNzZXM6dGhpcy5vcHRpb25zLmNsYXNzZXN8fHt9fSxlKSkua2V5cyYmbyhlLmtleXMubWF0Y2goL1xTKy9nKXx8W10sITApLGUuZXh0cmEmJm8oZS5leHRyYS5tYXRjaCgvXFMrL2cpfHxbXSksbi5qb2luKCIgIil9LF91bnRyYWNrQ2xhc3Nlc0VsZW1lbnQ6ZnVuY3Rpb24oZSl7dmFyIG49dGhpczt0LmVhY2gobi5jbGFzc2VzRWxlbWVudExvb2t1cCwoZnVuY3Rpb24oaSxyKXstMSE9PXQuaW5BcnJheShlLnRhcmdldCxyKSYmKG4uY2xhc3Nlc0VsZW1lbnRMb29rdXBbaV09dChyLm5vdChlLnRhcmdldCkuZ2V0KCkpKX0pKSx0aGlzLl9vZmYodChlLnRhcmdldCkpfSxfcmVtb3ZlQ2xhc3M6ZnVuY3Rpb24odCxlLG4pe3JldHVybiB0aGlzLl90b2dnbGVDbGFzcyh0LGUsbiwhMSl9LF9hZGRDbGFzczpmdW5jdGlvbih0LGUsbil7cmV0dXJuIHRoaXMuX3RvZ2dsZUNsYXNzKHQsZSxuLCEwKX0sX3RvZ2dsZUNsYXNzOmZ1bmN0aW9uKHQsZSxuLGkpe2k9ImJvb2xlYW4iPT10eXBlb2YgaT9pOm47dmFyIHI9InN0cmluZyI9PXR5cGVvZiB0fHxudWxsPT09dCxvPXtleHRyYTpyP2U6bixrZXlzOnI/dDplLGVsZW1lbnQ6cj90aGlzLmVsZW1lbnQ6dCxhZGQ6aX07cmV0dXJuIG8uZWxlbWVudC50b2dnbGVDbGFzcyh0aGlzLl9jbGFzc2VzKG8pLGkpLHRoaXN9LF9vbjpmdW5jdGlvbihlLG4saSl7dmFyIHIsbz10aGlzOyJib29sZWFuIiE9dHlwZW9mIGUmJihpPW4sbj1lLGU9ITEpLGk/KG49cj10KG4pLHRoaXMuYmluZGluZ3M9dGhpcy5iaW5kaW5ncy5hZGQobikpOihpPW4sbj10aGlzLmVsZW1lbnQscj10aGlzLndpZGdldCgpKSx0LmVhY2goaSwoZnVuY3Rpb24oaSxzKXtmdW5jdGlvbiBhKCl7aWYoZXx8ITAhPT1vLm9wdGlvbnMuZGlzYWJsZWQmJiF0KHRoaXMpLmhhc0NsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIpKXJldHVybigic3RyaW5nIj09dHlwZW9mIHM/b1tzXTpzKS5hcHBseShvLGFyZ3VtZW50cyl9InN0cmluZyIhPXR5cGVvZiBzJiYoYS5ndWlkPXMuZ3VpZD1zLmd1aWR8fGEuZ3VpZHx8dC5ndWlkKyspO3ZhciB1PWkubWF0Y2goL14oW1x3Oi1dKilccyooLiopJC8pLGw9dVsxXStvLmV2ZW50TmFtZXNwYWNlLGM9dVsyXTtjP3Iub24obCxjLGEpOm4ub24obCxhKX0pKX0sX29mZjpmdW5jdGlvbihlLG4pe249KG58fCIiKS5zcGxpdCgiICIpLmpvaW4odGhpcy5ldmVudE5hbWVzcGFjZSsiICIpK3RoaXMuZXZlbnROYW1lc3BhY2UsZS5vZmYobiksdGhpcy5iaW5kaW5ncz10KHRoaXMuYmluZGluZ3Mubm90KGUpLmdldCgpKSx0aGlzLmZvY3VzYWJsZT10KHRoaXMuZm9jdXNhYmxlLm5vdChlKS5nZXQoKSksdGhpcy5ob3ZlcmFibGU9dCh0aGlzLmhvdmVyYWJsZS5ub3QoZSkuZ2V0KCkpfSxfZGVsYXk6ZnVuY3Rpb24odCxlKXtmdW5jdGlvbiBuKCl7cmV0dXJuKCJzdHJpbmciPT10eXBlb2YgdD9pW3RdOnQpLmFwcGx5KGksYXJndW1lbnRzKX12YXIgaT10aGlzO3JldHVybiBzZXRUaW1lb3V0KG4sZXx8MCl9LF9ob3ZlcmFibGU6ZnVuY3Rpb24oZSl7dGhpcy5ob3ZlcmFibGU9dGhpcy5ob3ZlcmFibGUuYWRkKGUpLHRoaXMuX29uKGUse21vdXNlZW50ZXI6ZnVuY3Rpb24oZSl7dGhpcy5fYWRkQ2xhc3ModChlLmN1cnJlbnRUYXJnZXQpLG51bGwsInVpLXN0YXRlLWhvdmVyIil9LG1vdXNlbGVhdmU6ZnVuY3Rpb24oZSl7dGhpcy5fcmVtb3ZlQ2xhc3ModChlLmN1cnJlbnRUYXJnZXQpLG51bGwsInVpLXN0YXRlLWhvdmVyIil9fSl9LF9mb2N1c2FibGU6ZnVuY3Rpb24oZSl7dGhpcy5mb2N1c2FibGU9dGhpcy5mb2N1c2FibGUuYWRkKGUpLHRoaXMuX29uKGUse2ZvY3VzaW46ZnVuY3Rpb24oZSl7dGhpcy5fYWRkQ2xhc3ModChlLmN1cnJlbnRUYXJnZXQpLG51bGwsInVpLXN0YXRlLWZvY3VzIil9LGZvY3Vzb3V0OmZ1bmN0aW9uKGUpe3RoaXMuX3JlbW92ZUNsYXNzKHQoZS5jdXJyZW50VGFyZ2V0KSxudWxsLCJ1aS1zdGF0ZS1mb2N1cyIpfX0pfSxfdHJpZ2dlcjpmdW5jdGlvbihlLG4saSl7dmFyIHIsbyxzPXRoaXMub3B0aW9uc1tlXTtpZihpPWl8fHt9LChuPXQuRXZlbnQobikpLnR5cGU9KGU9PT10aGlzLndpZGdldEV2ZW50UHJlZml4P2U6dGhpcy53aWRnZXRFdmVudFByZWZpeCtlKS50b0xvd2VyQ2FzZSgpLG4udGFyZ2V0PXRoaXMuZWxlbWVudFswXSxvPW4ub3JpZ2luYWxFdmVudClmb3IociBpbiBvKXIgaW4gbnx8KG5bcl09b1tyXSk7cmV0dXJuIHRoaXMuZWxlbWVudC50cmlnZ2VyKG4saSksISgiZnVuY3Rpb24iPT10eXBlb2YgcyYmITE9PT1zLmFwcGx5KHRoaXMuZWxlbWVudFswXSxbbl0uY29uY2F0KGkpKXx8bi5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl9fSx0LmVhY2goe3Nob3c6ImZhZGVJbiIsaGlkZToiZmFkZU91dCJ9LChmdW5jdGlvbihlLG4pe3QuV2lkZ2V0LnByb3RvdHlwZVsiXyIrZV09ZnVuY3Rpb24oaSxyLG8pewp2YXIgczsic3RyaW5nIj09dHlwZW9mIHImJihyPXtlZmZlY3Q6cn0pO3ZhciBhPXI/ITA9PT1yfHwibnVtYmVyIj09dHlwZW9mIHI/bjpyLmVmZmVjdHx8bjplOyJudW1iZXIiPT10eXBlb2Yocj1yfHx7fSk/cj17ZHVyYXRpb246cn06ITA9PT1yJiYocj17fSkscz0hdC5pc0VtcHR5T2JqZWN0KHIpLHIuY29tcGxldGU9byxyLmRlbGF5JiZpLmRlbGF5KHIuZGVsYXkpLHMmJnQuZWZmZWN0cyYmdC5lZmZlY3RzLmVmZmVjdFthXT9pW2VdKHIpOmEhPT1lJiZpW2FdP2lbYV0oci5kdXJhdGlvbixyLmVhc2luZyxvKTppLnF1ZXVlKChmdW5jdGlvbihuKXt0KHRoaXMpW2VdKCksbyYmby5jYWxsKGlbMF0pLG4oKX0pKX19KSksdC53aWRnZXR9LHZvaWQgMD09PShvPSJmdW5jdGlvbiI9PXR5cGVvZiBpP2kuYXBwbHkoZSxyKTppKXx8KHQuZXhwb3J0cz1vKX0oKX0sMjg5MTMyKHQsZSxuKXt2YXIgaSxyLG87IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3I9W24oNDgyNTA0KSxuKDI5MzI3MSksbigxNjg3MDEpLG4oNjY2MzQ5KV0sdm9pZCAwPT09KG89ImZ1bmN0aW9uIj09dHlwZW9mKGk9ZnVuY3Rpb24odCl7dmFyIGU9ITE7cmV0dXJuIHQoZG9jdW1lbnQpLm9uKCJtb3VzZXVwIiwoZnVuY3Rpb24oKXtlPSExfSkpLHQud2lkZ2V0KCJ1aS5tb3VzZSIse3ZlcnNpb246IjEuMTMuMiIsb3B0aW9uczp7Y2FuY2VsOiJpbnB1dCwgdGV4dGFyZWEsIGJ1dHRvbiwgc2VsZWN0LCBvcHRpb24iLGRpc3RhbmNlOjEsZGVsYXk6MH0sX21vdXNlSW5pdDpmdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5lbGVtZW50Lm9uKCJtb3VzZWRvd24uIit0aGlzLndpZGdldE5hbWUsKGZ1bmN0aW9uKHQpe3JldHVybiBlLl9tb3VzZURvd24odCl9KSkub24oImNsaWNrLiIrdGhpcy53aWRnZXROYW1lLChmdW5jdGlvbihuKXtpZighMD09PXQuZGF0YShuLnRhcmdldCxlLndpZGdldE5hbWUrIi5wcmV2ZW50Q2xpY2tFdmVudCIpKXJldHVybiB0LnJlbW92ZURhdGEobi50YXJnZXQsZS53aWRnZXROYW1lKyIucHJldmVudENsaWNrRXZlbnQiKSxuLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLCExfSkpLHRoaXMuc3RhcnRlZD0hMX0sX21vdXNlRGVzdHJveTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5vZmYoIi4iK3RoaXMud2lkZ2V0TmFtZSksdGhpcy5fbW91c2VNb3ZlRGVsZWdhdGUmJnRoaXMuZG9jdW1lbnQub2ZmKCJtb3VzZW1vdmUuIit0aGlzLndpZGdldE5hbWUsdGhpcy5fbW91c2VNb3ZlRGVsZWdhdGUpLm9mZigibW91c2V1cC4iK3RoaXMud2lkZ2V0TmFtZSx0aGlzLl9tb3VzZVVwRGVsZWdhdGUpfSxfbW91c2VEb3duOmZ1bmN0aW9uKG4pe2lmKCFlKXt0aGlzLl9tb3VzZU1vdmVkPSExLHRoaXMuX21vdXNlU3RhcnRlZCYmdGhpcy5fbW91c2VVcChuKSx0aGlzLl9tb3VzZURvd25FdmVudD1uO3ZhciBpPXRoaXMscj0xPT09bi53aGljaCxvPSEoInN0cmluZyIhPXR5cGVvZiB0aGlzLm9wdGlvbnMuY2FuY2VsfHwhbi50YXJnZXQubm9kZU5hbWUpJiZ0KG4udGFyZ2V0KS5jbG9zZXN0KHRoaXMub3B0aW9ucy5jYW5jZWwpLmxlbmd0aDtyZXR1cm4hKHImJiFvJiZ0aGlzLl9tb3VzZUNhcHR1cmUobikpfHwodGhpcy5tb3VzZURlbGF5TWV0PSF0aGlzLm9wdGlvbnMuZGVsYXksdGhpcy5tb3VzZURlbGF5TWV0fHwodGhpcy5fbW91c2VEZWxheVRpbWVyPXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7aS5tb3VzZURlbGF5TWV0PSEwfSksdGhpcy5vcHRpb25zLmRlbGF5KSksdGhpcy5fbW91c2VEaXN0YW5jZU1ldChuKSYmdGhpcy5fbW91c2VEZWxheU1ldChuKSYmKHRoaXMuX21vdXNlU3RhcnRlZD0hMSE9PXRoaXMuX21vdXNlU3RhcnQobiksIXRoaXMuX21vdXNlU3RhcnRlZCk/KG4ucHJldmVudERlZmF1bHQoKSwhMCk6KCEwPT09dC5kYXRhKG4udGFyZ2V0LHRoaXMud2lkZ2V0TmFtZSsiLnByZXZlbnRDbGlja0V2ZW50IikmJnQucmVtb3ZlRGF0YShuLnRhcmdldCx0aGlzLndpZGdldE5hbWUrIi5wcmV2ZW50Q2xpY2tFdmVudCIpLHRoaXMuX21vdXNlTW92ZURlbGVnYXRlPWZ1bmN0aW9uKHQpe3JldHVybiBpLl9tb3VzZU1vdmUodCl9LHRoaXMuX21vdXNlVXBEZWxlZ2F0ZT1mdW5jdGlvbih0KXtyZXR1cm4gaS5fbW91c2VVcCh0KX0sdGhpcy5kb2N1bWVudC5vbigibW91c2Vtb3ZlLiIrdGhpcy53aWRnZXROYW1lLHRoaXMuX21vdXNlTW92ZURlbGVnYXRlKS5vbigibW91c2V1cC4iK3RoaXMud2lkZ2V0TmFtZSx0aGlzLl9tb3VzZVVwRGVsZWdhdGUpLG4ucHJldmVudERlZmF1bHQoKSxlPSEwLCEwKSl9fSxfbW91c2VNb3ZlOmZ1bmN0aW9uKGUpe2lmKHRoaXMuX21vdXNlTW92ZWQpe2lmKHQudWkuaWUmJighZG9jdW1lbnQuZG9jdW1lbnRNb2RlfHxkb2N1bWVudC5kb2N1bWVudE1vZGU8OSkmJiFlLmJ1dHRvbilyZXR1cm4gdGhpcy5fbW91c2VVcChlKTtpZighZS53aGljaClpZihlLm9yaWdpbmFsRXZlbnQuYWx0S2V5fHxlLm9yaWdpbmFsRXZlbnQuY3RybEtleXx8ZS5vcmlnaW5hbEV2ZW50Lm1ldGFLZXl8fGUub3JpZ2luYWxFdmVudC5zaGlmdEtleSl0aGlzLmlnbm9yZU1pc3NpbmdXaGljaD0hMDtlbHNlIGlmKCF0aGlzLmlnbm9yZU1pc3NpbmdXaGljaClyZXR1cm4gdGhpcy5fbW91c2VVcChlKX1yZXR1cm4oZS53aGljaHx8ZS5idXR0b24pJiYodGhpcy5fbW91c2VNb3ZlZD0hMCksdGhpcy5fbW91c2VTdGFydGVkPyh0aGlzLl9tb3VzZURyYWcoZSksZS5wcmV2ZW50RGVmYXVsdCgpKToodGhpcy5fbW91c2VEaXN0YW5jZU1ldChlKSYmdGhpcy5fbW91c2VEZWxheU1ldChlKSYmKHRoaXMuX21vdXNlU3RhcnRlZD0hMSE9PXRoaXMuX21vdXNlU3RhcnQodGhpcy5fbW91c2VEb3duRXZlbnQsZSksdGhpcy5fbW91c2VTdGFydGVkP3RoaXMuX21vdXNlRHJhZyhlKTp0aGlzLl9tb3VzZVVwKGUpKSwhdGhpcy5fbW91c2VTdGFydGVkKX0sX21vdXNlVXA6ZnVuY3Rpb24obil7dGhpcy5kb2N1bWVudC5vZmYoIm1vdXNlbW92ZS4iK3RoaXMud2lkZ2V0TmFtZSx0aGlzLl9tb3VzZU1vdmVEZWxlZ2F0ZSkub2ZmKCJtb3VzZXVwLiIrdGhpcy53aWRnZXROYW1lLHRoaXMuX21vdXNlVXBEZWxlZ2F0ZSksCnRoaXMuX21vdXNlU3RhcnRlZCYmKHRoaXMuX21vdXNlU3RhcnRlZD0hMSxuLnRhcmdldD09PXRoaXMuX21vdXNlRG93bkV2ZW50LnRhcmdldCYmdC5kYXRhKG4udGFyZ2V0LHRoaXMud2lkZ2V0TmFtZSsiLnByZXZlbnRDbGlja0V2ZW50IiwhMCksdGhpcy5fbW91c2VTdG9wKG4pKSx0aGlzLl9tb3VzZURlbGF5VGltZXImJihjbGVhclRpbWVvdXQodGhpcy5fbW91c2VEZWxheVRpbWVyKSxkZWxldGUgdGhpcy5fbW91c2VEZWxheVRpbWVyKSx0aGlzLmlnbm9yZU1pc3NpbmdXaGljaD0hMSxlPSExLG4ucHJldmVudERlZmF1bHQoKX0sX21vdXNlRGlzdGFuY2VNZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgubWF4KE1hdGguYWJzKHRoaXMuX21vdXNlRG93bkV2ZW50LnBhZ2VYLXQucGFnZVgpLE1hdGguYWJzKHRoaXMuX21vdXNlRG93bkV2ZW50LnBhZ2VZLXQucGFnZVkpKT49dGhpcy5vcHRpb25zLmRpc3RhbmNlfSxfbW91c2VEZWxheU1ldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1vdXNlRGVsYXlNZXR9LF9tb3VzZVN0YXJ0OmZ1bmN0aW9uKCl7fSxfbW91c2VEcmFnOmZ1bmN0aW9uKCl7fSxfbW91c2VTdG9wOmZ1bmN0aW9uKCl7fSxfbW91c2VDYXB0dXJlOmZ1bmN0aW9uKCl7cmV0dXJuITB9fSl9KT9pLmFwcGx5KGUscik6aSl8fCh0LmV4cG9ydHM9byl9KCl9LDEyMTYzNCh0LGUsbil7dmFyIGkscixvOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0IjtyPVtuKDQ4MjUwNCksbigyODkxMzIpLG4oNzE2OTkpLG4oMTY4NzAxKSxuKDY2NjM0OSldLGk9ZnVuY3Rpb24odCl7cmV0dXJuIHQud2lkZ2V0KCJ1aS5zbGlkZXIiLHQudWkubW91c2Use3ZlcnNpb246IjEuMTMuMiIsd2lkZ2V0RXZlbnRQcmVmaXg6InNsaWRlIixvcHRpb25zOnthbmltYXRlOiExLGNsYXNzZXM6eyJ1aS1zbGlkZXIiOiJ1aS1jb3JuZXItYWxsIiwidWktc2xpZGVyLWhhbmRsZSI6InVpLWNvcm5lci1hbGwiLCJ1aS1zbGlkZXItcmFuZ2UiOiJ1aS1jb3JuZXItYWxsIHVpLXdpZGdldC1oZWFkZXIifSxkaXN0YW5jZTowLG1heDoxMDAsbWluOjAsb3JpZW50YXRpb246Imhvcml6b250YWwiLHJhbmdlOiExLHN0ZXA6MSx2YWx1ZTowLHZhbHVlczpudWxsLGNoYW5nZTpudWxsLHNsaWRlOm51bGwsc3RhcnQ6bnVsbCxzdG9wOm51bGx9LG51bVBhZ2VzOjUsX2NyZWF0ZTpmdW5jdGlvbigpe3RoaXMuX2tleVNsaWRpbmc9ITEsdGhpcy5fbW91c2VTbGlkaW5nPSExLHRoaXMuX2FuaW1hdGVPZmY9ITAsdGhpcy5faGFuZGxlSW5kZXg9bnVsbCx0aGlzLl9kZXRlY3RPcmllbnRhdGlvbigpLHRoaXMuX21vdXNlSW5pdCgpLHRoaXMuX2NhbGN1bGF0ZU5ld01heCgpLHRoaXMuX2FkZENsYXNzKCJ1aS1zbGlkZXIgdWktc2xpZGVyLSIrdGhpcy5vcmllbnRhdGlvbiwidWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IiksdGhpcy5fcmVmcmVzaCgpLHRoaXMuX2FuaW1hdGVPZmY9ITF9LF9yZWZyZXNoOmZ1bmN0aW9uKCl7dGhpcy5fY3JlYXRlUmFuZ2UoKSx0aGlzLl9jcmVhdGVIYW5kbGVzKCksdGhpcy5fc2V0dXBFdmVudHMoKSx0aGlzLl9yZWZyZXNoVmFsdWUoKX0sX2NyZWF0ZUhhbmRsZXM6ZnVuY3Rpb24oKXt2YXIgZSxuLGk9dGhpcy5vcHRpb25zLHI9dGhpcy5lbGVtZW50LmZpbmQoIi51aS1zbGlkZXItaGFuZGxlIiksbz0iPHNwYW4gdGFiaW5kZXg9JzAnPjwvc3Bhbj4iLHM9W107Zm9yKG49aS52YWx1ZXMmJmkudmFsdWVzLmxlbmd0aHx8MSxyLmxlbmd0aD5uJiYoci5zbGljZShuKS5yZW1vdmUoKSxyPXIuc2xpY2UoMCxuKSksZT1yLmxlbmd0aDtlPG47ZSsrKXMucHVzaChvKTt0aGlzLmhhbmRsZXM9ci5hZGQodChzLmpvaW4oIiIpKS5hcHBlbmRUbyh0aGlzLmVsZW1lbnQpKSx0aGlzLl9hZGRDbGFzcyh0aGlzLmhhbmRsZXMsInVpLXNsaWRlci1oYW5kbGUiLCJ1aS1zdGF0ZS1kZWZhdWx0IiksdGhpcy5oYW5kbGU9dGhpcy5oYW5kbGVzLmVxKDApLHRoaXMuaGFuZGxlcy5lYWNoKChmdW5jdGlvbihlKXt0KHRoaXMpLmRhdGEoInVpLXNsaWRlci1oYW5kbGUtaW5kZXgiLGUpLmF0dHIoInRhYkluZGV4IiwwKX0pKX0sX2NyZWF0ZVJhbmdlOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcHRpb25zO2UucmFuZ2U/KCEwPT09ZS5yYW5nZSYmKGUudmFsdWVzP2UudmFsdWVzLmxlbmd0aCYmMiE9PWUudmFsdWVzLmxlbmd0aD9lLnZhbHVlcz1bZS52YWx1ZXNbMF0sZS52YWx1ZXNbMF1dOkFycmF5LmlzQXJyYXkoZS52YWx1ZXMpJiYoZS52YWx1ZXM9ZS52YWx1ZXMuc2xpY2UoMCkpOmUudmFsdWVzPVt0aGlzLl92YWx1ZU1pbigpLHRoaXMuX3ZhbHVlTWluKCldKSx0aGlzLnJhbmdlJiZ0aGlzLnJhbmdlLmxlbmd0aD8odGhpcy5fcmVtb3ZlQ2xhc3ModGhpcy5yYW5nZSwidWktc2xpZGVyLXJhbmdlLW1pbiB1aS1zbGlkZXItcmFuZ2UtbWF4IiksdGhpcy5yYW5nZS5jc3Moe2xlZnQ6IiIsYm90dG9tOiIifSkpOih0aGlzLnJhbmdlPXQoIjxkaXY+IikuYXBwZW5kVG8odGhpcy5lbGVtZW50KSx0aGlzLl9hZGRDbGFzcyh0aGlzLnJhbmdlLCJ1aS1zbGlkZXItcmFuZ2UiKSksIm1pbiIhPT1lLnJhbmdlJiYibWF4IiE9PWUucmFuZ2V8fHRoaXMuX2FkZENsYXNzKHRoaXMucmFuZ2UsInVpLXNsaWRlci1yYW5nZS0iK2UucmFuZ2UpKToodGhpcy5yYW5nZSYmdGhpcy5yYW5nZS5yZW1vdmUoKSx0aGlzLnJhbmdlPW51bGwpfSxfc2V0dXBFdmVudHM6ZnVuY3Rpb24oKXt0aGlzLl9vZmYodGhpcy5oYW5kbGVzKSx0aGlzLl9vbih0aGlzLmhhbmRsZXMsdGhpcy5faGFuZGxlRXZlbnRzKSx0aGlzLl9ob3ZlcmFibGUodGhpcy5oYW5kbGVzKSx0aGlzLl9mb2N1c2FibGUodGhpcy5oYW5kbGVzKX0sX2Rlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmhhbmRsZXMucmVtb3ZlKCksdGhpcy5yYW5nZSYmdGhpcy5yYW5nZS5yZW1vdmUoKSx0aGlzLl9tb3VzZURlc3Ryb3koKX0sX21vdXNlQ2FwdHVyZTpmdW5jdGlvbihlKXt2YXIgbixpLHIsbyxzLGEsdSxsPXRoaXMsYz10aGlzLm9wdGlvbnM7cmV0dXJuIWMuZGlzYWJsZWQmJih0aGlzLmVsZW1lbnRTaXplPXt3aWR0aDp0aGlzLmVsZW1lbnQub3V0ZXJXaWR0aCgpLGhlaWdodDp0aGlzLmVsZW1lbnQub3V0ZXJIZWlnaHQoKQp9LHRoaXMuZWxlbWVudE9mZnNldD10aGlzLmVsZW1lbnQub2Zmc2V0KCksbj17eDplLnBhZ2VYLHk6ZS5wYWdlWX0saT10aGlzLl9ub3JtVmFsdWVGcm9tTW91c2Uobikscj10aGlzLl92YWx1ZU1heCgpLXRoaXMuX3ZhbHVlTWluKCkrMSx0aGlzLmhhbmRsZXMuZWFjaCgoZnVuY3Rpb24oZSl7dmFyIG49TWF0aC5hYnMoaS1sLnZhbHVlcyhlKSk7KHI+bnx8cj09PW4mJihlPT09bC5fbGFzdENoYW5nZWRWYWx1ZXx8bC52YWx1ZXMoZSk9PT1jLm1pbikpJiYocj1uLG89dCh0aGlzKSxzPWUpfSkpLCExIT09dGhpcy5fc3RhcnQoZSxzKSYmKHRoaXMuX21vdXNlU2xpZGluZz0hMCx0aGlzLl9oYW5kbGVJbmRleD1zLHRoaXMuX2FkZENsYXNzKG8sbnVsbCwidWktc3RhdGUtYWN0aXZlIiksby50cmlnZ2VyKCJmb2N1cyIpLGE9by5vZmZzZXQoKSx1PSF0KGUudGFyZ2V0KS5wYXJlbnRzKCkuYWRkQmFjaygpLmlzKCIudWktc2xpZGVyLWhhbmRsZSIpLHRoaXMuX2NsaWNrT2Zmc2V0PXU/e2xlZnQ6MCx0b3A6MH06e2xlZnQ6ZS5wYWdlWC1hLmxlZnQtby53aWR0aCgpLzIsdG9wOmUucGFnZVktYS50b3Atby5oZWlnaHQoKS8yLShwYXJzZUludChvLmNzcygiYm9yZGVyVG9wV2lkdGgiKSwxMCl8fDApLShwYXJzZUludChvLmNzcygiYm9yZGVyQm90dG9tV2lkdGgiKSwxMCl8fDApKyhwYXJzZUludChvLmNzcygibWFyZ2luVG9wIiksMTApfHwwKX0sdGhpcy5oYW5kbGVzLmhhc0NsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpfHx0aGlzLl9zbGlkZShlLHMsaSksdGhpcy5fYW5pbWF0ZU9mZj0hMCwhMCkpfSxfbW91c2VTdGFydDpmdW5jdGlvbigpe3JldHVybiEwfSxfbW91c2VEcmFnOmZ1bmN0aW9uKHQpe3ZhciBlPXt4OnQucGFnZVgseTp0LnBhZ2VZfSxuPXRoaXMuX25vcm1WYWx1ZUZyb21Nb3VzZShlKTtyZXR1cm4gdGhpcy5fc2xpZGUodCx0aGlzLl9oYW5kbGVJbmRleCxuKSwhMX0sX21vdXNlU3RvcDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcmVtb3ZlQ2xhc3ModGhpcy5oYW5kbGVzLG51bGwsInVpLXN0YXRlLWFjdGl2ZSIpLHRoaXMuX21vdXNlU2xpZGluZz0hMSx0aGlzLl9zdG9wKHQsdGhpcy5faGFuZGxlSW5kZXgpLHRoaXMuX2NoYW5nZSh0LHRoaXMuX2hhbmRsZUluZGV4KSx0aGlzLl9oYW5kbGVJbmRleD1udWxsLHRoaXMuX2NsaWNrT2Zmc2V0PW51bGwsdGhpcy5fYW5pbWF0ZU9mZj0hMSwhMX0sX2RldGVjdE9yaWVudGF0aW9uOmZ1bmN0aW9uKCl7dGhpcy5vcmllbnRhdGlvbj0idmVydGljYWwiPT09dGhpcy5vcHRpb25zLm9yaWVudGF0aW9uPyJ2ZXJ0aWNhbCI6Imhvcml6b250YWwifSxfbm9ybVZhbHVlRnJvbU1vdXNlOmZ1bmN0aW9uKHQpe3ZhciBlLG4saSxyLG87cmV0dXJuImhvcml6b250YWwiPT09dGhpcy5vcmllbnRhdGlvbj8oZT10aGlzLmVsZW1lbnRTaXplLndpZHRoLG49dC54LXRoaXMuZWxlbWVudE9mZnNldC5sZWZ0LSh0aGlzLl9jbGlja09mZnNldD90aGlzLl9jbGlja09mZnNldC5sZWZ0OjApKTooZT10aGlzLmVsZW1lbnRTaXplLmhlaWdodCxuPXQueS10aGlzLmVsZW1lbnRPZmZzZXQudG9wLSh0aGlzLl9jbGlja09mZnNldD90aGlzLl9jbGlja09mZnNldC50b3A6MCkpLChpPW4vZSk+MSYmKGk9MSksaTwwJiYoaT0wKSwidmVydGljYWwiPT09dGhpcy5vcmllbnRhdGlvbiYmKGk9MS1pKSxyPXRoaXMuX3ZhbHVlTWF4KCktdGhpcy5fdmFsdWVNaW4oKSxvPXRoaXMuX3ZhbHVlTWluKCkraSpyLHRoaXMuX3RyaW1BbGlnblZhbHVlKG8pfSxfdWlIYXNoOmZ1bmN0aW9uKHQsZSxuKXt2YXIgaT17aGFuZGxlOnRoaXMuaGFuZGxlc1t0XSxoYW5kbGVJbmRleDp0LHZhbHVlOnZvaWQgMCE9PWU/ZTp0aGlzLnZhbHVlKCl9O3JldHVybiB0aGlzLl9oYXNNdWx0aXBsZVZhbHVlcygpJiYoaS52YWx1ZT12b2lkIDAhPT1lP2U6dGhpcy52YWx1ZXModCksaS52YWx1ZXM9bnx8dGhpcy52YWx1ZXMoKSksaX0sX2hhc011bHRpcGxlVmFsdWVzOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3B0aW9ucy52YWx1ZXMmJnRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RofSxfc3RhcnQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fdHJpZ2dlcigic3RhcnQiLHQsdGhpcy5fdWlIYXNoKGUpKX0sX3NsaWRlOmZ1bmN0aW9uKHQsZSxuKXt2YXIgaSxyPXRoaXMudmFsdWUoKSxvPXRoaXMudmFsdWVzKCk7dGhpcy5faGFzTXVsdGlwbGVWYWx1ZXMoKSYmKGk9dGhpcy52YWx1ZXMoZT8wOjEpLHI9dGhpcy52YWx1ZXMoZSksMj09PXRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoJiYhMD09PXRoaXMub3B0aW9ucy5yYW5nZSYmKG49MD09PWU/TWF0aC5taW4oaSxuKTpNYXRoLm1heChpLG4pKSxvW2VdPW4pLG4hPT1yJiYhMSE9PXRoaXMuX3RyaWdnZXIoInNsaWRlIix0LHRoaXMuX3VpSGFzaChlLG4sbykpJiYodGhpcy5faGFzTXVsdGlwbGVWYWx1ZXMoKT90aGlzLnZhbHVlcyhlLG4pOnRoaXMudmFsdWUobikpfSxfc3RvcDpmdW5jdGlvbih0LGUpe3RoaXMuX3RyaWdnZXIoInN0b3AiLHQsdGhpcy5fdWlIYXNoKGUpKX0sX2NoYW5nZTpmdW5jdGlvbih0LGUpe3RoaXMuX2tleVNsaWRpbmd8fHRoaXMuX21vdXNlU2xpZGluZ3x8KHRoaXMuX2xhc3RDaGFuZ2VkVmFsdWU9ZSx0aGlzLl90cmlnZ2VyKCJjaGFuZ2UiLHQsdGhpcy5fdWlIYXNoKGUpKSl9LHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLm9wdGlvbnMudmFsdWU9dGhpcy5fdHJpbUFsaWduVmFsdWUodCksdGhpcy5fcmVmcmVzaFZhbHVlKCksdm9pZCB0aGlzLl9jaGFuZ2UobnVsbCwwKSk6dGhpcy5fdmFsdWUoKX0sdmFsdWVzOmZ1bmN0aW9uKHQsZSl7dmFyIG4saSxyO2lmKGFyZ3VtZW50cy5sZW5ndGg+MSlyZXR1cm4gdGhpcy5vcHRpb25zLnZhbHVlc1t0XT10aGlzLl90cmltQWxpZ25WYWx1ZShlKSx0aGlzLl9yZWZyZXNoVmFsdWUoKSx2b2lkIHRoaXMuX2NoYW5nZShudWxsLHQpO2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiB0aGlzLl92YWx1ZXMoKQo7aWYoIUFycmF5LmlzQXJyYXkoYXJndW1lbnRzWzBdKSlyZXR1cm4gdGhpcy5faGFzTXVsdGlwbGVWYWx1ZXMoKT90aGlzLl92YWx1ZXModCk6dGhpcy52YWx1ZSgpO2ZvcihuPXRoaXMub3B0aW9ucy52YWx1ZXMsaT1hcmd1bWVudHNbMF0scj0wO3I8bi5sZW5ndGg7cis9MSluW3JdPXRoaXMuX3RyaW1BbGlnblZhbHVlKGlbcl0pLHRoaXMuX2NoYW5nZShudWxsLHIpO3RoaXMuX3JlZnJlc2hWYWx1ZSgpfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKHQsZSl7dmFyIG4saT0wO3N3aXRjaCgicmFuZ2UiPT09dCYmITA9PT10aGlzLm9wdGlvbnMucmFuZ2UmJigibWluIj09PWU/KHRoaXMub3B0aW9ucy52YWx1ZT10aGlzLl92YWx1ZXMoMCksdGhpcy5vcHRpb25zLnZhbHVlcz1udWxsKToibWF4Ij09PWUmJih0aGlzLm9wdGlvbnMudmFsdWU9dGhpcy5fdmFsdWVzKHRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoLTEpLHRoaXMub3B0aW9ucy52YWx1ZXM9bnVsbCkpLEFycmF5LmlzQXJyYXkodGhpcy5vcHRpb25zLnZhbHVlcykmJihpPXRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoKSx0aGlzLl9zdXBlcih0LGUpLHQpe2Nhc2Uib3JpZW50YXRpb24iOnRoaXMuX2RldGVjdE9yaWVudGF0aW9uKCksdGhpcy5fcmVtb3ZlQ2xhc3MoInVpLXNsaWRlci1ob3Jpem9udGFsIHVpLXNsaWRlci12ZXJ0aWNhbCIpLl9hZGRDbGFzcygidWktc2xpZGVyLSIrdGhpcy5vcmllbnRhdGlvbiksdGhpcy5fcmVmcmVzaFZhbHVlKCksdGhpcy5vcHRpb25zLnJhbmdlJiZ0aGlzLl9yZWZyZXNoUmFuZ2UoZSksdGhpcy5oYW5kbGVzLmNzcygiaG9yaXpvbnRhbCI9PT1lPyJib3R0b20iOiJsZWZ0IiwiIik7YnJlYWs7Y2FzZSJ2YWx1ZSI6dGhpcy5fYW5pbWF0ZU9mZj0hMCx0aGlzLl9yZWZyZXNoVmFsdWUoKSx0aGlzLl9jaGFuZ2UobnVsbCwwKSx0aGlzLl9hbmltYXRlT2ZmPSExO2JyZWFrO2Nhc2UidmFsdWVzIjpmb3IodGhpcy5fYW5pbWF0ZU9mZj0hMCx0aGlzLl9yZWZyZXNoVmFsdWUoKSxuPWktMTtuPj0wO24tLSl0aGlzLl9jaGFuZ2UobnVsbCxuKTt0aGlzLl9hbmltYXRlT2ZmPSExO2JyZWFrO2Nhc2Uic3RlcCI6Y2FzZSJtaW4iOmNhc2UibWF4Ijp0aGlzLl9hbmltYXRlT2ZmPSEwLHRoaXMuX2NhbGN1bGF0ZU5ld01heCgpLHRoaXMuX3JlZnJlc2hWYWx1ZSgpLHRoaXMuX2FuaW1hdGVPZmY9ITE7YnJlYWs7Y2FzZSJyYW5nZSI6dGhpcy5fYW5pbWF0ZU9mZj0hMCx0aGlzLl9yZWZyZXNoKCksdGhpcy5fYW5pbWF0ZU9mZj0hMX19LF9zZXRPcHRpb25EaXNhYmxlZDpmdW5jdGlvbih0KXt0aGlzLl9zdXBlcih0KSx0aGlzLl90b2dnbGVDbGFzcyhudWxsLCJ1aS1zdGF0ZS1kaXNhYmxlZCIsISF0KX0sX3ZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpb25zLnZhbHVlO3JldHVybiB0PXRoaXMuX3RyaW1BbGlnblZhbHVlKHQpfSxfdmFsdWVzOmZ1bmN0aW9uKHQpe3ZhciBlLG4saTtpZihhcmd1bWVudHMubGVuZ3RoKXJldHVybiBlPXRoaXMub3B0aW9ucy52YWx1ZXNbdF0sZT10aGlzLl90cmltQWxpZ25WYWx1ZShlKTtpZih0aGlzLl9oYXNNdWx0aXBsZVZhbHVlcygpKXtmb3Iobj10aGlzLm9wdGlvbnMudmFsdWVzLnNsaWNlKCksaT0wO2k8bi5sZW5ndGg7aSs9MSluW2ldPXRoaXMuX3RyaW1BbGlnblZhbHVlKG5baV0pO3JldHVybiBufXJldHVybltdfSxfdHJpbUFsaWduVmFsdWU6ZnVuY3Rpb24odCl7aWYodDw9dGhpcy5fdmFsdWVNaW4oKSlyZXR1cm4gdGhpcy5fdmFsdWVNaW4oKTtpZih0Pj10aGlzLl92YWx1ZU1heCgpKXJldHVybiB0aGlzLl92YWx1ZU1heCgpO3ZhciBlPXRoaXMub3B0aW9ucy5zdGVwPjA/dGhpcy5vcHRpb25zLnN0ZXA6MSxuPSh0LXRoaXMuX3ZhbHVlTWluKCkpJWUsaT10LW47cmV0dXJuIDIqTWF0aC5hYnMobik+PWUmJihpKz1uPjA/ZTotZSkscGFyc2VGbG9hdChpLnRvRml4ZWQoNSkpfSxfY2FsY3VsYXRlTmV3TWF4OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpb25zLm1heCxlPXRoaXMuX3ZhbHVlTWluKCksbj10aGlzLm9wdGlvbnMuc3RlcDsodD1NYXRoLnJvdW5kKCh0LWUpL24pKm4rZSk+dGhpcy5vcHRpb25zLm1heCYmKHQtPW4pLHRoaXMubWF4PXBhcnNlRmxvYXQodC50b0ZpeGVkKHRoaXMuX3ByZWNpc2lvbigpKSl9LF9wcmVjaXNpb246ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9wcmVjaXNpb25PZih0aGlzLm9wdGlvbnMuc3RlcCk7cmV0dXJuIG51bGwhPT10aGlzLm9wdGlvbnMubWluJiYodD1NYXRoLm1heCh0LHRoaXMuX3ByZWNpc2lvbk9mKHRoaXMub3B0aW9ucy5taW4pKSksdH0sX3ByZWNpc2lvbk9mOmZ1bmN0aW9uKHQpe3ZhciBlPXQudG9TdHJpbmcoKSxuPWUuaW5kZXhPZigiLiIpO3JldHVybi0xPT09bj8wOmUubGVuZ3RoLW4tMX0sX3ZhbHVlTWluOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5taW59LF92YWx1ZU1heDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1heH0sX3JlZnJlc2hSYW5nZTpmdW5jdGlvbih0KXsidmVydGljYWwiPT09dCYmdGhpcy5yYW5nZS5jc3Moe3dpZHRoOiIiLGxlZnQ6IiJ9KSwiaG9yaXpvbnRhbCI9PT10JiZ0aGlzLnJhbmdlLmNzcyh7aGVpZ2h0OiIiLGJvdHRvbToiIn0pfSxfcmVmcmVzaFZhbHVlOmZ1bmN0aW9uKCl7dmFyIGUsbixpLHIsbyxzPXRoaXMub3B0aW9ucy5yYW5nZSxhPXRoaXMub3B0aW9ucyx1PXRoaXMsbD0hdGhpcy5fYW5pbWF0ZU9mZiYmYS5hbmltYXRlLGM9e307dGhpcy5faGFzTXVsdGlwbGVWYWx1ZXMoKT90aGlzLmhhbmRsZXMuZWFjaCgoZnVuY3Rpb24oaSl7bj0odS52YWx1ZXMoaSktdS5fdmFsdWVNaW4oKSkvKHUuX3ZhbHVlTWF4KCktdS5fdmFsdWVNaW4oKSkqMTAwLGNbImhvcml6b250YWwiPT09dS5vcmllbnRhdGlvbj8ibGVmdCI6ImJvdHRvbSJdPW4rIiUiLHQodGhpcykuc3RvcCgxLDEpW2w/ImFuaW1hdGUiOiJjc3MiXShjLGEuYW5pbWF0ZSksITA9PT11Lm9wdGlvbnMucmFuZ2UmJigiaG9yaXpvbnRhbCI9PT11Lm9yaWVudGF0aW9uPygwPT09aSYmdS5yYW5nZS5zdG9wKDEsMSlbbD8iYW5pbWF0ZSI6ImNzcyJdKHtsZWZ0Om4rIiUifSxhLmFuaW1hdGUpLAoxPT09aSYmdS5yYW5nZVtsPyJhbmltYXRlIjoiY3NzIl0oe3dpZHRoOm4tZSsiJSJ9LHtxdWV1ZTohMSxkdXJhdGlvbjphLmFuaW1hdGV9KSk6KDA9PT1pJiZ1LnJhbmdlLnN0b3AoMSwxKVtsPyJhbmltYXRlIjoiY3NzIl0oe2JvdHRvbTpuKyIlIn0sYS5hbmltYXRlKSwxPT09aSYmdS5yYW5nZVtsPyJhbmltYXRlIjoiY3NzIl0oe2hlaWdodDpuLWUrIiUifSx7cXVldWU6ITEsZHVyYXRpb246YS5hbmltYXRlfSkpKSxlPW59KSk6KGk9dGhpcy52YWx1ZSgpLHI9dGhpcy5fdmFsdWVNaW4oKSxvPXRoaXMuX3ZhbHVlTWF4KCksbj1vIT09cj8oaS1yKS8oby1yKSoxMDA6MCxjWyJob3Jpem9udGFsIj09PXRoaXMub3JpZW50YXRpb24/ImxlZnQiOiJib3R0b20iXT1uKyIlIix0aGlzLmhhbmRsZS5zdG9wKDEsMSlbbD8iYW5pbWF0ZSI6ImNzcyJdKGMsYS5hbmltYXRlKSwibWluIj09PXMmJiJob3Jpem9udGFsIj09PXRoaXMub3JpZW50YXRpb24mJnRoaXMucmFuZ2Uuc3RvcCgxLDEpW2w/ImFuaW1hdGUiOiJjc3MiXSh7d2lkdGg6bisiJSJ9LGEuYW5pbWF0ZSksIm1heCI9PT1zJiYiaG9yaXpvbnRhbCI9PT10aGlzLm9yaWVudGF0aW9uJiZ0aGlzLnJhbmdlLnN0b3AoMSwxKVtsPyJhbmltYXRlIjoiY3NzIl0oe3dpZHRoOjEwMC1uKyIlIn0sYS5hbmltYXRlKSwibWluIj09PXMmJiJ2ZXJ0aWNhbCI9PT10aGlzLm9yaWVudGF0aW9uJiZ0aGlzLnJhbmdlLnN0b3AoMSwxKVtsPyJhbmltYXRlIjoiY3NzIl0oe2hlaWdodDpuKyIlIn0sYS5hbmltYXRlKSwibWF4Ij09PXMmJiJ2ZXJ0aWNhbCI9PT10aGlzLm9yaWVudGF0aW9uJiZ0aGlzLnJhbmdlLnN0b3AoMSwxKVtsPyJhbmltYXRlIjoiY3NzIl0oe2hlaWdodDoxMDAtbisiJSJ9LGEuYW5pbWF0ZSkpfSxfaGFuZGxlRXZlbnRzOntrZXlkb3duOmZ1bmN0aW9uKGUpe3ZhciBuLGkscixvPXQoZS50YXJnZXQpLmRhdGEoInVpLXNsaWRlci1oYW5kbGUtaW5kZXgiKTtzd2l0Y2goZS5rZXlDb2RlKXtjYXNlIHQudWkua2V5Q29kZS5IT01FOmNhc2UgdC51aS5rZXlDb2RlLkVORDpjYXNlIHQudWkua2V5Q29kZS5QQUdFX1VQOmNhc2UgdC51aS5rZXlDb2RlLlBBR0VfRE9XTjpjYXNlIHQudWkua2V5Q29kZS5VUDpjYXNlIHQudWkua2V5Q29kZS5SSUdIVDpjYXNlIHQudWkua2V5Q29kZS5ET1dOOmNhc2UgdC51aS5rZXlDb2RlLkxFRlQ6aWYoZS5wcmV2ZW50RGVmYXVsdCgpLCF0aGlzLl9rZXlTbGlkaW5nJiYodGhpcy5fa2V5U2xpZGluZz0hMCx0aGlzLl9hZGRDbGFzcyh0KGUudGFyZ2V0KSxudWxsLCJ1aS1zdGF0ZS1hY3RpdmUiKSwhMT09PXRoaXMuX3N0YXJ0KGUsbykpKXJldHVybn1zd2l0Y2gocj10aGlzLm9wdGlvbnMuc3RlcCxuPWk9dGhpcy5faGFzTXVsdGlwbGVWYWx1ZXMoKT90aGlzLnZhbHVlcyhvKTp0aGlzLnZhbHVlKCksZS5rZXlDb2RlKXtjYXNlIHQudWkua2V5Q29kZS5IT01FOmk9dGhpcy5fdmFsdWVNaW4oKTticmVhaztjYXNlIHQudWkua2V5Q29kZS5FTkQ6aT10aGlzLl92YWx1ZU1heCgpO2JyZWFrO2Nhc2UgdC51aS5rZXlDb2RlLlBBR0VfVVA6aT10aGlzLl90cmltQWxpZ25WYWx1ZShuKyh0aGlzLl92YWx1ZU1heCgpLXRoaXMuX3ZhbHVlTWluKCkpL3RoaXMubnVtUGFnZXMpO2JyZWFrO2Nhc2UgdC51aS5rZXlDb2RlLlBBR0VfRE9XTjppPXRoaXMuX3RyaW1BbGlnblZhbHVlKG4tKHRoaXMuX3ZhbHVlTWF4KCktdGhpcy5fdmFsdWVNaW4oKSkvdGhpcy5udW1QYWdlcyk7YnJlYWs7Y2FzZSB0LnVpLmtleUNvZGUuVVA6Y2FzZSB0LnVpLmtleUNvZGUuUklHSFQ6aWYobj09PXRoaXMuX3ZhbHVlTWF4KCkpcmV0dXJuO2k9dGhpcy5fdHJpbUFsaWduVmFsdWUobityKTticmVhaztjYXNlIHQudWkua2V5Q29kZS5ET1dOOmNhc2UgdC51aS5rZXlDb2RlLkxFRlQ6aWYobj09PXRoaXMuX3ZhbHVlTWluKCkpcmV0dXJuO2k9dGhpcy5fdHJpbUFsaWduVmFsdWUobi1yKX10aGlzLl9zbGlkZShlLG8saSl9LGtleXVwOmZ1bmN0aW9uKGUpe3ZhciBuPXQoZS50YXJnZXQpLmRhdGEoInVpLXNsaWRlci1oYW5kbGUtaW5kZXgiKTt0aGlzLl9rZXlTbGlkaW5nJiYodGhpcy5fa2V5U2xpZGluZz0hMSx0aGlzLl9zdG9wKGUsbiksdGhpcy5fY2hhbmdlKGUsbiksdGhpcy5fcmVtb3ZlQ2xhc3ModChlLnRhcmdldCksbnVsbCwidWktc3RhdGUtYWN0aXZlIikpfX19KX0sdm9pZCAwPT09KG89ImZ1bmN0aW9uIj09dHlwZW9mIGk/aS5hcHBseShlLHIpOmkpfHwodC5leHBvcnRzPW8pfSgpfSw0OTE4Nih0LGUpe3ZhciBuLGkscixvO289ZnVuY3Rpb24odCl7dmFyIGU9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyxuPUFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKHQpe3JldHVybiJbb2JqZWN0IEFycmF5XSI9PT1lLmNhbGwodCl9O2Z1bmN0aW9uIGkodCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHR9ZnVuY3Rpb24gcih0KXtyZXR1cm4gdC5yZXBsYWNlKC9bXC1cW1xde30oKSorPy4sXFxcXiR8I1xzXS9nLCJcXCQmIil9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiBudWxsIT10JiYib2JqZWN0Ij09dHlwZW9mIHQmJmUgaW4gdH12YXIgcz1SZWdFeHAucHJvdG90eXBlLnRlc3QsYT0vXFMvO2Z1bmN0aW9uIHUodCl7cmV0dXJuIWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHMuY2FsbCh0LGUpfShhLHQpfXZhciBsPXsiJiI6IiZhbXA7IiwiPCI6IiZsdDsiLCI+IjoiJmd0OyIsJyInOiImcXVvdDsiLCInIjoiJiMzOTsiLCIvIjoiJiN4MkY7IiwiYCI6IiYjeDYwOyIsIj0iOiImI3gzRDsifSxjPS9ccyovLGY9L1xzKy8saD0vXHMqPS8sZD0vXHMqXH0vLHA9LyN8XF58XC98Pnxce3wmfD18IS87ZnVuY3Rpb24gdih0KXt0aGlzLnN0cmluZz10LHRoaXMudGFpbD10LHRoaXMucG9zPTB9ZnVuY3Rpb24gZyh0LGUpe3RoaXMudmlldz10LHRoaXMuY2FjaGU9eyIuIjp0aGlzLnZpZXd9LHRoaXMucGFyZW50PWV9ZnVuY3Rpb24gbSgpe3RoaXMuY2FjaGU9e319di5wcm90b3R5cGUuZW9zPWZ1bmN0aW9uKCl7cmV0dXJuIiI9PT10aGlzLnRhaWx9LHYucHJvdG90eXBlLnNjYW49ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy50YWlsLm1hdGNoKHQpO2lmKCFlfHwwIT09ZS5pbmRleClyZXR1cm4iIgo7dmFyIG49ZVswXTtyZXR1cm4gdGhpcy50YWlsPXRoaXMudGFpbC5zdWJzdHJpbmcobi5sZW5ndGgpLHRoaXMucG9zKz1uLmxlbmd0aCxufSx2LnByb3RvdHlwZS5zY2FuVW50aWw9ZnVuY3Rpb24odCl7dmFyIGUsbj10aGlzLnRhaWwuc2VhcmNoKHQpO3N3aXRjaChuKXtjYXNlLTE6ZT10aGlzLnRhaWwsdGhpcy50YWlsPSIiO2JyZWFrO2Nhc2UgMDplPSIiO2JyZWFrO2RlZmF1bHQ6ZT10aGlzLnRhaWwuc3Vic3RyaW5nKDAsbiksdGhpcy50YWlsPXRoaXMudGFpbC5zdWJzdHJpbmcobil9cmV0dXJuIHRoaXMucG9zKz1lLmxlbmd0aCxlfSxnLnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgZyh0LHRoaXMpfSxnLnByb3RvdHlwZS5sb29rdXA9ZnVuY3Rpb24odCl7dmFyIGUsbj10aGlzLmNhY2hlO2lmKG4uaGFzT3duUHJvcGVydHkodCkpZT1uW3RdO2Vsc2V7Zm9yKHZhciByLHMsYT10aGlzLHU9ITE7YTspe2lmKHQuaW5kZXhPZigiLiIpPjApZm9yKGU9YS52aWV3LHI9dC5zcGxpdCgiLiIpLHM9MDtudWxsIT1lJiZzPHIubGVuZ3RoOylzPT09ci5sZW5ndGgtMSYmKHU9byhlLHJbc10pKSxlPWVbcltzKytdXTtlbHNlIGU9YS52aWV3W3RdLHU9byhhLnZpZXcsdCk7aWYodSlicmVhazthPWEucGFyZW50fW5bdF09ZX1yZXR1cm4gaShlKSYmKGU9ZS5jYWxsKHRoaXMudmlldykpLGV9LG0ucHJvdG90eXBlLmNsZWFyQ2FjaGU9ZnVuY3Rpb24oKXt0aGlzLmNhY2hlPXt9fSxtLnByb3RvdHlwZS5wYXJzZT1mdW5jdGlvbihlLGkpe3ZhciBvPXRoaXMuY2FjaGUscz1vW2VdO3JldHVybiBudWxsPT1zJiYocz1vW2VdPWZ1bmN0aW9uKGUsaSl7aWYoIWUpcmV0dXJuW107dmFyIG8scyxhLGw9W10sZz1bXSxtPVtdLHk9ITEsYj0hMTtmdW5jdGlvbiBfKCl7aWYoeSYmIWIpZm9yKDttLmxlbmd0aDspZGVsZXRlIGdbbS5wb3AoKV07ZWxzZSBtPVtdO3k9ITEsYj0hMX1mdW5jdGlvbiB3KHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmKHQ9dC5zcGxpdChmLDIpKSwhbih0KXx8MiE9PXQubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCB0YWdzOiAiK3QpO289bmV3IFJlZ0V4cChyKHRbMF0pKyJcXHMqIikscz1uZXcgUmVnRXhwKCJcXHMqIityKHRbMV0pKSxhPW5ldyBSZWdFeHAoIlxccyoiK3IoIn0iK3RbMV0pKX13KGl8fHQudGFncyk7Zm9yKHZhciB4LE8sRSxDLGssUyxEPW5ldyB2KGUpOyFELmVvcygpOyl7aWYoeD1ELnBvcyxFPUQuc2NhblVudGlsKG8pKWZvcih2YXIgTT0wLFA9RS5sZW5ndGg7TTxQOysrTSl1KEM9RS5jaGFyQXQoTSkpP20ucHVzaChnLmxlbmd0aCk6Yj0hMCxnLnB1c2goWyJ0ZXh0IixDLHgseCsxXSkseCs9MSwiXG4iPT09QyYmXygpO2lmKCFELnNjYW4obykpYnJlYWs7aWYoeT0hMCxPPUQuc2NhbihwKXx8Im5hbWUiLEQuc2NhbihjKSwiPSI9PT1PPyhFPUQuc2NhblVudGlsKGgpLEQuc2NhbihoKSxELnNjYW5VbnRpbChzKSk6InsiPT09Tz8oRT1ELnNjYW5VbnRpbChhKSxELnNjYW4oZCksRC5zY2FuVW50aWwocyksTz0iJiIpOkU9RC5zY2FuVW50aWwocyksIUQuc2NhbihzKSl0aHJvdyBuZXcgRXJyb3IoIlVuY2xvc2VkIHRhZyBhdCAiK0QucG9zKTtpZihrPVtPLEUseCxELnBvc10sZy5wdXNoKGspLCIjIj09PU98fCJeIj09PU8pbC5wdXNoKGspO2Vsc2UgaWYoIi8iPT09Tyl7aWYoIShTPWwucG9wKCkpKXRocm93IG5ldyBFcnJvcignVW5vcGVuZWQgc2VjdGlvbiAiJytFKyciIGF0ICcreCk7aWYoU1sxXSE9PUUpdGhyb3cgbmV3IEVycm9yKCdVbmNsb3NlZCBzZWN0aW9uICInK1NbMV0rJyIgYXQgJyt4KX1lbHNlIm5hbWUiPT09T3x8InsiPT09T3x8IiYiPT09Tz9iPSEwOiI9Ij09PU8mJncoRSl9aWYoUz1sLnBvcCgpKXRocm93IG5ldyBFcnJvcignVW5jbG9zZWQgc2VjdGlvbiAiJytTWzFdKyciIGF0ICcrRC5wb3MpO3JldHVybiBmdW5jdGlvbih0KXtmb3IodmFyIGUsbj1bXSxpPW4scj1bXSxvPTAscz10Lmxlbmd0aDtvPHM7KytvKXN3aXRjaCgoZT10W29dKVswXSl7Y2FzZSIjIjpjYXNlIl4iOmkucHVzaChlKSxyLnB1c2goZSksaT1lWzRdPVtdO2JyZWFrO2Nhc2UiLyI6ci5wb3AoKVs1XT1lWzJdLGk9ci5sZW5ndGg+MD9yW3IubGVuZ3RoLTFdWzRdOm47YnJlYWs7ZGVmYXVsdDppLnB1c2goZSl9cmV0dXJuIG59KGZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxuLGk9W10scj0wLG89dC5sZW5ndGg7cjxvOysrcikoZT10W3JdKSYmKCJ0ZXh0Ij09PWVbMF0mJm4mJiJ0ZXh0Ij09PW5bMF0/KG5bMV0rPWVbMV0sblszXT1lWzNdKTooaS5wdXNoKGUpLG49ZSkpO3JldHVybiBpfShnKSl9KGUsaSkpLHN9LG0ucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbih0LGUsbil7dmFyIGk9dGhpcy5wYXJzZSh0KSxyPWUgaW5zdGFuY2VvZiBnP2U6bmV3IGcoZSk7cmV0dXJuIHRoaXMucmVuZGVyVG9rZW5zKGkscixuLHQpfSxtLnByb3RvdHlwZS5yZW5kZXJUb2tlbnM9ZnVuY3Rpb24odCxlLG4saSl7Zm9yKHZhciByLG8scyxhPSIiLHU9MCxsPXQubGVuZ3RoO3U8bDsrK3Upcz12b2lkIDAsIiMiPT09KG89KHI9dFt1XSlbMF0pP3M9dGhpcy5yZW5kZXJTZWN0aW9uKHIsZSxuLGkpOiJeIj09PW8/cz10aGlzLnJlbmRlckludmVydGVkKHIsZSxuLGkpOiI+Ij09PW8/cz10aGlzLnJlbmRlclBhcnRpYWwocixlLG4saSk6IiYiPT09bz9zPXRoaXMudW5lc2NhcGVkVmFsdWUocixlKToibmFtZSI9PT1vP3M9dGhpcy5lc2NhcGVkVmFsdWUocixlKToidGV4dCI9PT1vJiYocz10aGlzLnJhd1ZhbHVlKHIpKSx2b2lkIDAhPT1zJiYoYSs9cyk7cmV0dXJuIGF9LG0ucHJvdG90eXBlLnJlbmRlclNlY3Rpb249ZnVuY3Rpb24odCxlLHIsbyl7dmFyIHM9dGhpcyxhPSIiLHU9ZS5sb29rdXAodFsxXSk7aWYodSl7aWYobih1KSlmb3IodmFyIGw9MCxjPXUubGVuZ3RoO2w8YzsrK2wpYSs9dGhpcy5yZW5kZXJUb2tlbnModFs0XSxlLnB1c2godVtsXSkscixvKTtlbHNlIGlmKCJvYmplY3QiPT10eXBlb2YgdXx8InN0cmluZyI9PXR5cGVvZiB1fHwibnVtYmVyIj09dHlwZW9mIHUpYSs9dGhpcy5yZW5kZXJUb2tlbnModFs0XSxlLnB1c2godSkscixvKTtlbHNlIGlmKGkodSkpewppZigic3RyaW5nIiE9dHlwZW9mIG8pdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgdXNlIGhpZ2hlci1vcmRlciBzZWN0aW9ucyB3aXRob3V0IHRoZSBvcmlnaW5hbCB0ZW1wbGF0ZSIpO251bGwhPSh1PXUuY2FsbChlLnZpZXcsby5zbGljZSh0WzNdLHRbNV0pLChmdW5jdGlvbih0KXtyZXR1cm4gcy5yZW5kZXIodCxlLHIpfSkpKSYmKGErPXUpfWVsc2UgYSs9dGhpcy5yZW5kZXJUb2tlbnModFs0XSxlLHIsbyk7cmV0dXJuIGF9fSxtLnByb3RvdHlwZS5yZW5kZXJJbnZlcnRlZD1mdW5jdGlvbih0LGUsaSxyKXt2YXIgbz1lLmxvb2t1cCh0WzFdKTtpZighb3x8bihvKSYmMD09PW8ubGVuZ3RoKXJldHVybiB0aGlzLnJlbmRlclRva2Vucyh0WzRdLGUsaSxyKX0sbS5wcm90b3R5cGUucmVuZGVyUGFydGlhbD1mdW5jdGlvbih0LGUsbil7aWYobil7dmFyIHI9aShuKT9uKHRbMV0pOm5bdFsxXV07cmV0dXJuIG51bGwhPXI/dGhpcy5yZW5kZXJUb2tlbnModGhpcy5wYXJzZShyKSxlLG4scik6dm9pZCAwfX0sbS5wcm90b3R5cGUudW5lc2NhcGVkVmFsdWU9ZnVuY3Rpb24odCxlKXt2YXIgbj1lLmxvb2t1cCh0WzFdKTtpZihudWxsIT1uKXJldHVybiBufSxtLnByb3RvdHlwZS5lc2NhcGVkVmFsdWU9ZnVuY3Rpb24oZSxuKXt2YXIgaT1uLmxvb2t1cChlWzFdKTtpZihudWxsIT1pKXJldHVybiB0LmVzY2FwZShpKX0sbS5wcm90b3R5cGUucmF3VmFsdWU9ZnVuY3Rpb24odCl7cmV0dXJuIHRbMV19LHQubmFtZT0ibXVzdGFjaGUuanMiLHQudmVyc2lvbj0iMi4yLjEiLHQudGFncz1bInt7IiwifX0iXTt2YXIgeT1uZXcgbTt0LmNsZWFyQ2FjaGU9ZnVuY3Rpb24oKXtyZXR1cm4geS5jbGVhckNhY2hlKCl9LHQucGFyc2U9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS5wYXJzZSh0LGUpfSx0LnJlbmRlcj1mdW5jdGlvbih0LGUsaSl7aWYoInN0cmluZyIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoJ0ludmFsaWQgdGVtcGxhdGUhIFRlbXBsYXRlIHNob3VsZCBiZSBhICJzdHJpbmciIGJ1dCAiJysobihyPXQpPyJhcnJheSI6dHlwZW9mIHIpKyciIHdhcyBnaXZlbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQgZm9yIG11c3RhY2hlI3JlbmRlcih0ZW1wbGF0ZSwgdmlldywgcGFydGlhbHMpJyk7dmFyIHI7cmV0dXJuIHkucmVuZGVyKHQsZSxpKX0sdC50b19odG1sPWZ1bmN0aW9uKGUsbixyLG8pe3ZhciBzPXQucmVuZGVyKGUsbixyKTtpZighaShvKSlyZXR1cm4gcztvKHMpfSx0LmVzY2FwZT1mdW5jdGlvbih0KXtyZXR1cm4gU3RyaW5nKHQpLnJlcGxhY2UoL1smPD4iJ2A9XC9dL2csKGZ1bmN0aW9uKHQpe3JldHVybiBsW3RdfSkpfSx0LlNjYW5uZXI9dix0LkNvbnRleHQ9Zyx0LldyaXRlcj1tfSxlJiYic3RyaW5nIiE9dHlwZW9mIGUubm9kZU5hbWU/byhlKTooaT1bZV0sdm9pZCAwPT09KHI9ImZ1bmN0aW9uIj09dHlwZW9mKG49byk/bi5hcHBseShlLGkpOm4pfHwodC5leHBvcnRzPXIpKX0sMzIwNDAzKHQsZSl7InVzZSBzdHJpY3QiO3ZhciBuLGk9ISgidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvd3x8IXdpbmRvdy5kb2N1bWVudHx8IXdpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KTtmdW5jdGlvbiByKCl7aWYobilyZXR1cm4gbjtpZighaXx8IXdpbmRvdy5kb2N1bWVudC5ib2R5KXJldHVybiJpbmRldGVybWluYXRlIjt2YXIgdD13aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIkFCQ0QiKSksdC5kaXI9InJ0bCIsdC5zdHlsZS5mb250U2l6ZT0iMTRweCIsdC5zdHlsZS53aWR0aD0iNHB4Iix0LnN0eWxlLmhlaWdodD0iMXB4Iix0LnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsdC5zdHlsZS50b3A9Ii0xMDAwcHgiLHQuc3R5bGUub3ZlcmZsb3c9InNjcm9sbCIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0KSxuPSJyZXZlcnNlIix0LnNjcm9sbExlZnQ+MD9uPSJkZWZhdWx0IjoodC5zY3JvbGxMZWZ0PTEsMD09PXQuc2Nyb2xsTGVmdCYmKG49Im5lZ2F0aXZlIikpLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodCksbn1lLmdldE5vcm1hbGl6ZWRTY3JvbGxMZWZ0PWZ1bmN0aW9uKHQsZSl7dmFyIG49dC5zY3JvbGxMZWZ0O2lmKCJydGwiIT09ZSlyZXR1cm4gbjt2YXIgaT1yKCk7aWYoImluZGV0ZXJtaW5hdGUiPT09aSlyZXR1cm4gTnVtYmVyLk5hTjtzd2l0Y2goaSl7Y2FzZSJuZWdhdGl2ZSI6cmV0dXJuIHQuc2Nyb2xsV2lkdGgtdC5jbGllbnRXaWR0aCtuO2Nhc2UicmV2ZXJzZSI6cmV0dXJuIHQuc2Nyb2xsV2lkdGgtdC5jbGllbnRXaWR0aC1ufXJldHVybiBufX0sODI5MTgwKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpO3ZhciBpPW4oNjAxODQxKTtjb25zdCByPS97KFx3Kyl9L2csbz0veyhcZCspfS9nO1N0cmluZy5wcm90b3R5cGUuZm9ybWF0PWZ1bmN0aW9uKC4uLnQpe2NvbnN0IGU9KDAsaS5pc09iamVjdCkodFswXSksbj1lP3I6byxzPWU/KGUsbik9Pntjb25zdCBpPXRbMF07cmV0dXJuIHZvaWQgMCE9PWlbbl0/aVtuXTplfTooZSxuKT0+e2NvbnN0IGk9cGFyc2VJbnQobiwxMCkscj10W2ldO3JldHVybiB2b2lkIDAhPT1yP3I6ZX07cmV0dXJuIHRoaXMucmVwbGFjZShuLHMpfX0sMzYzMjY5KHQsZSxuKXsidXNlIHN0cmljdCI7bi5kKGUse21vYmlsZXRvdWNoOigpPT5yLHNldENsYXNzZXM6KCk9PnMsdG91Y2g6KCk9Pm99KTt2YXIgaT1uKDczODQ1OCk7Y29uc3Qgcj1pLm1vYmlsZXRvdWNoLG89aS50b3VjaDtmdW5jdGlvbiBzKCl7ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoaS50b3VjaD8iZmVhdHVyZS10b3VjaCI6ImZlYXR1cmUtbm8tdG91Y2giLGkubW9iaWxldG91Y2g/ImZlYXR1cmUtbW9iaWxldG91Y2giOiJmZWF0dXJlLW5vLW1vYmlsZXRvdWNoIil9fSwzMTg5NzQodCxlLG4peyJ1c2Ugc3RyaWN0IjtuLmQoZSx7Q2hlY2tNb2JpbGU6KCk9PmMsaXNEZXNrdG9wQXBwOigpPT51LGlzTGludXg6KCk9PmEsaXNNYWM6KCk9PnMsaXNTYWZhcmk6KCk9PmgsaXNTeW1waG9ueUVtYmVkOigpPT5sLG9uR29Qcm86KCk9PmQsCm9uV2lkZ2V0OigpPT5yLm9uV2lkZ2V0LHN1cHBvcnRUb3VjaDooKT0+Zn0pO3ZhciBpPW4oNzM4NDU4KSxyPW4oMzc3MjI2KTtjb25zdCBvPXdpbmRvdy5UcmFkaW5nVmlldz13aW5kb3cuVHJhZGluZ1ZpZXd8fHt9O2Z1bmN0aW9uIHMoKXtyZXR1cm4gaS5pc01hY31mdW5jdGlvbiBhKCl7cmV0dXJuIGkuaXNMaW51eH1mdW5jdGlvbiB1KCl7cmV0dXJuL1RWRGVza3RvcC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCl9ZnVuY3Rpb24gbCgpe3JldHVybiBvLmlzU3ltcGhvbnl8fCExfWNvbnN0IGM9e0FuZHJvaWQ6KCk9PmkuaXNBbmRyb2lkLEJsYWNrQmVycnk6KCk9PmkuaXNCbGFja0JlcnJ5LGlPUzooKT0+aS5pc0lPUyxPcGVyYTooKT0+aS5pc09wZXJhTWluaSxpc0lQYWQ6KCk9PmkuaXNJUGFkLGFueTooKT0+aS5pc0FueU1vYmlsZX07ZnVuY3Rpb24gZigpe3JldHVybiBpLm1vYmlsZXRvdWNofHxpLnRvdWNofHxpLmlzQW55TW9iaWxlfW8uaXNNb2JpbGU9YyxvLm9uV2lkZ2V0PXIub25XaWRnZXQ7aS5pc0Nocm9tZSxpLmlzRkYsaS5pc0VkZ2U7Y29uc3QgaD1pLmlzU2FmYXJpO2Z1bmN0aW9uIGQoKXtyZXR1cm4iL3ByaWNpbmcvIj09PXdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZX19LDMzNjMzNCh0LGUsbil7InVzZSBzdHJpY3QiO3ZhciBpPW4oMTI5MzY1KTtlLmNyZWF0ZVJvb3Q9aS5jcmVhdGVSb290LGkuaHlkcmF0ZVJvb3R9LDEyOTM2NSh0LGUsbil7InVzZSBzdHJpY3QiOyFmdW5jdGlvbiB0KCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18mJiJmdW5jdGlvbiI9PXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UpdHJ5e19fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRSh0KX1jYXRjaCh0KXtjb25zb2xlLmVycm9yKHQpfX0oKSx0LmV4cG9ydHM9big1MzIzODcpfSw3Nzk0NzQodCxlLG4peyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9bigxMjI3NDkpfSw5ODY3MDUodCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgaT1uKDQ4MjUwNCkscj1uKDM2MzI2OSkubW9iaWxldG91Y2g7IWZ1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiBpKGkscil7cj1yfHxpK247dmFyIG89dCgpLHM9aSsiLiIrcisiLXNwZWNpYWwtZXZlbnQiO2Z1bmN0aW9uIGEoZSl7dChvKS5lYWNoKChmdW5jdGlvbigpe3ZhciBuPXQodGhpcyk7dGhpcz09PWUudGFyZ2V0fHxuLmhhcyhlLnRhcmdldCkubGVuZ3RofHxuLnRyaWdnZXJIYW5kbGVyKHIsW2UudGFyZ2V0XSl9KSl9dC5ldmVudC5zcGVjaWFsW3JdPXtzZXR1cDpmdW5jdGlvbigpe2RlbGV0ZShvPW8uYWRkKHRoaXMpKS5wcmV2T2JqZWN0LDE9PT1vLmxlbmd0aCYmdChlKS5iaW5kKHMsYSl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7ZGVsZXRlKG89by5ub3QodGhpcykpLnByZXZPYmplY3QsMD09PW8ubGVuZ3RoJiZ0KGUpLnVuYmluZChzKX0sYWRkOmZ1bmN0aW9uKHQpe3ZhciBlPXQuaGFuZGxlcjt0LmhhbmRsZXI9ZnVuY3Rpb24odCxuKXt0LnRhcmdldD1uLGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfX19fXQubWFwKCJjbGljayBkYmxjbGljayBtb3VzZW1vdmUgbW91c2Vkb3duIG1vdXNldXAgbW91c2VvdmVyIG1vdXNlb3V0IGNoYW5nZSBzZWxlY3Qgc3VibWl0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAiLnNwbGl0KCIgIiksKGZ1bmN0aW9uKHQpe2kodCl9KSksaSgiZm9jdXNpbiIsImZvY3VzIituKSxpKCJmb2N1c291dCIsImJsdXIiK24pLHImJihpKCJ0b3VjaHN0YXJ0IiwibW91c2Vkb3duIituKSxpKCJ0b3VjaG1vdmUiLCJtb3VzZW1vdmUiK24pLGkoInRvdWNoZW5kIiwibW91c2V1cCIrbikpLHQuYWRkT3V0c2lkZUV2ZW50PWl9KGksZG9jdW1lbnQsIm91dHNpZGUiKX0sOTM0MTkodCxlLG4peyJ1c2Ugc3RyaWN0IjtuKDQwNjA3Mil9LDM2NDgzOCh0LGUsbil7InVzZSBzdHJpY3QiO24oOTM0MTkpLG4oNjY2MzQ5KSxuKDI4OTEzMil9LDcxMTk3OSh0LGUsbil7InVzZSBzdHJpY3QiO3ZhciBpLHIsbyxzLGE9big0ODI1MDQpO3I9KGk9YSkod2luZG93KSxvPWkoZG9jdW1lbnQpLHM9ZnVuY3Rpb24odCl7dmFyIGU9YS5kYXRhKHQudGFyZ2V0KTtlLmxvY2FsU2Nyb2xsP3QudGFyZ2V0LnNjcm9sbFRvcD50LnRhcmdldC5zY3JvbGxIZWlnaHQtaSh0LnRhcmdldCkuaGVpZ2h0KCktKGUudG9sZXJhbmNlfHwxOTApJiZpKHRoaXMpLnRyaWdnZXIoInNjcm9sbHRvZW5kIik6ci5zY3JvbGxUb3AoKT5vLmhlaWdodCgpLXIuaW5uZXJIZWlnaHQoKS0oZS50b2xlcmFuY2V8fDE5MCkmJmkodGhpcykudHJpZ2dlcigic2Nyb2xsdG9lbmQiKX0saS5ldmVudC5zcGVjaWFsLnNjcm9sbHRvZW5kPXtzZXR1cDpmdW5jdGlvbih0LGUpe2kodGhpcykuYmluZCgic2Nyb2xsLnNjcm9sbHRvZW5kIixzKX0sdGVhcmRvd246ZnVuY3Rpb24odCl7aSh0aGlzKS51bmJpbmQoInNjcm9sbC5zY3JvbGx0b2VuZCIscyl9fSxhLmV2ZW50LnNwZWNpYWwuc2Nyb2xsdG89e2JpbmRUeXBlOiJzY3JvbGwiLGhhbmRsZTpmdW5jdGlvbih0KXt2YXIgZT10LmhhbmRsZU9iajt0LnNjcm9sbERhdGF8fCh0LnNjcm9sbERhdGE9e3Njcm9sbFRvcDpyLnNjcm9sbFRvcCgpfSk7dmFyIG49bnVsbDtpZigibnVtYmVyIj09dHlwZW9mIHQuZGF0YS50byluPXQuc2Nyb2xsRGF0YS5zY3JvbGxUb3A+dC5kYXRhLnRvLSh0LmRhdGEudG9sZXJhbmNlfHwwKTtlbHNle2lmKCJib3R0b20iIT09dC5kYXRhLnRvKXRocm93IG5ldyBFcnJvcignU3BlY2lhbCBldmVudCBzY3JvbGx0bzogcHJvcGVydHkgInRvIiBoYXMgdW5leHBlY3RlZCB2YWx1ZScpO3Quc2Nyb2xsRGF0YS5ib3R0b21PZmZzZXR8fCh0LnNjcm9sbERhdGEuYm90dG9tT2Zmc2V0PW8uaGVpZ2h0KCktci5pbm5lckhlaWdodCgpKSxuPXQuc2Nyb2xsRGF0YS5zY3JvbGxUb3A+dC5zY3JvbGxEYXRhLmJvdHRvbU9mZnNldC0odC5kYXRhLnRvbGVyYW5jZXx8MCl9dmFyIGk9QXJyYXkucHJvdG90eXBlLnNsaWNlLmFwcGx5KGFyZ3VtZW50cyk7cmV0dXJuIG4/KGkucHVzaCghMCksCmUuaGFuZGxlci5hcHBseSh0aGlzLGkpKTp0LmRhdGEudHdvd2F5PyhpLnB1c2goITEpLGUuaGFuZGxlci5hcHBseSh0aGlzLGkpKTp2b2lkIDB9fX0sODcyODgxKHQsZSxuKXsidXNlIHN0cmljdCI7bi5kKGUse2RlZmF1bHQ6KCk9Pk19KTt2YXIgaT1uKDg4NjUxNCkscj1uKDI2OTM2Nik7Y29uc3Qgbz1mdW5jdGlvbih0LGUpe2Zvcih2YXIgbj0tMSxpPW51bGw9PXQ/MDp0Lmxlbmd0aDsrK248aTspaWYoZSh0W25dLG4sdCkpcmV0dXJuITA7cmV0dXJuITF9O3ZhciBzPW4oNzEyODAxKTtjb25zdCBhPWZ1bmN0aW9uKHQsZSxuLGksYSx1KXt2YXIgbD0xJm4sYz10Lmxlbmd0aCxmPWUubGVuZ3RoO2lmKGMhPWYmJiEobCYmZj5jKSlyZXR1cm4hMTt2YXIgaD11LmdldCh0KSxkPXUuZ2V0KGUpO2lmKGgmJmQpcmV0dXJuIGg9PWUmJmQ9PXQ7dmFyIHA9LTEsdj0hMCxnPTImbj9uZXcgci5kZWZhdWx0OnZvaWQgMDtmb3IodS5zZXQodCxlKSx1LnNldChlLHQpOysrcDxjOyl7dmFyIG09dFtwXSx5PWVbcF07aWYoaSl2YXIgYj1sP2koeSxtLHAsZSx0LHUpOmkobSx5LHAsdCxlLHUpO2lmKHZvaWQgMCE9PWIpe2lmKGIpY29udGludWU7dj0hMTticmVha31pZihnKXtpZighbyhlLChmdW5jdGlvbih0LGUpe2lmKCEoMCxzLmRlZmF1bHQpKGcsZSkmJihtPT09dHx8YShtLHQsbixpLHUpKSlyZXR1cm4gZy5wdXNoKGUpfSkpKXt2PSExO2JyZWFrfX1lbHNlIGlmKG0hPT15JiYhYShtLHksbixpLHUpKXt2PSExO2JyZWFrfX1yZXR1cm4gdS5kZWxldGUodCksdS5kZWxldGUoZSksdn07dmFyIHU9big4NzI5OTkpLGw9big4NjUzMzApLGM9big5MTA3NzgpO2NvbnN0IGY9ZnVuY3Rpb24odCl7dmFyIGU9LTEsbj1BcnJheSh0LnNpemUpO3JldHVybiB0LmZvckVhY2goKGZ1bmN0aW9uKHQsaSl7blsrK2VdPVtpLHRdfSkpLG59O3ZhciBoPW4oOTcyMDE3KSxkPXUuZGVmYXVsdD91LmRlZmF1bHQucHJvdG90eXBlOnZvaWQgMCxwPWQ/ZC52YWx1ZU9mOnZvaWQgMDtjb25zdCB2PWZ1bmN0aW9uKHQsZSxuLGkscixvLHMpe3N3aXRjaChuKXtjYXNlIltvYmplY3QgRGF0YVZpZXddIjppZih0LmJ5dGVMZW5ndGghPWUuYnl0ZUxlbmd0aHx8dC5ieXRlT2Zmc2V0IT1lLmJ5dGVPZmZzZXQpcmV0dXJuITE7dD10LmJ1ZmZlcixlPWUuYnVmZmVyO2Nhc2UiW29iamVjdCBBcnJheUJ1ZmZlcl0iOnJldHVybiEodC5ieXRlTGVuZ3RoIT1lLmJ5dGVMZW5ndGh8fCFvKG5ldyBsLmRlZmF1bHQodCksbmV3IGwuZGVmYXVsdChlKSkpO2Nhc2UiW29iamVjdCBCb29sZWFuXSI6Y2FzZSJbb2JqZWN0IERhdGVdIjpjYXNlIltvYmplY3QgTnVtYmVyXSI6cmV0dXJuKDAsYy5kZWZhdWx0KSgrdCwrZSk7Y2FzZSJbb2JqZWN0IEVycm9yXSI6cmV0dXJuIHQubmFtZT09ZS5uYW1lJiZ0Lm1lc3NhZ2U9PWUubWVzc2FnZTtjYXNlIltvYmplY3QgUmVnRXhwXSI6Y2FzZSJbb2JqZWN0IFN0cmluZ10iOnJldHVybiB0PT1lKyIiO2Nhc2UiW29iamVjdCBNYXBdIjp2YXIgdT1mO2Nhc2UiW29iamVjdCBTZXRdIjp2YXIgZD0xJmk7aWYodXx8KHU9aC5kZWZhdWx0KSx0LnNpemUhPWUuc2l6ZSYmIWQpcmV0dXJuITE7dmFyIHY9cy5nZXQodCk7aWYodilyZXR1cm4gdj09ZTtpfD0yLHMuc2V0KHQsZSk7dmFyIGc9YSh1KHQpLHUoZSksaSxyLG8scyk7cmV0dXJuIHMuZGVsZXRlKHQpLGc7Y2FzZSJbb2JqZWN0IFN5bWJvbF0iOmlmKHApcmV0dXJuIHAuY2FsbCh0KT09cC5jYWxsKGUpfXJldHVybiExfTt2YXIgZz1uKDgwNjI0MCksbT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2NvbnN0IHk9ZnVuY3Rpb24odCxlLG4saSxyLG8pe3ZhciBzPTEmbixhPSgwLGcuZGVmYXVsdCkodCksdT1hLmxlbmd0aDtpZih1IT0oMCxnLmRlZmF1bHQpKGUpLmxlbmd0aCYmIXMpcmV0dXJuITE7Zm9yKHZhciBsPXU7bC0tOyl7dmFyIGM9YVtsXTtpZighKHM/YyBpbiBlOm0uY2FsbChlLGMpKSlyZXR1cm4hMX12YXIgZj1vLmdldCh0KSxoPW8uZ2V0KGUpO2lmKGYmJmgpcmV0dXJuIGY9PWUmJmg9PXQ7dmFyIGQ9ITA7by5zZXQodCxlKSxvLnNldChlLHQpO2Zvcih2YXIgcD1zOysrbDx1Oyl7dmFyIHY9dFtjPWFbbF1dLHk9ZVtjXTtpZihpKXZhciBiPXM/aSh5LHYsYyxlLHQsbyk6aSh2LHksYyx0LGUsbyk7aWYoISh2b2lkIDA9PT1iP3Y9PT15fHxyKHYseSxuLGksbyk6Yikpe2Q9ITE7YnJlYWt9cHx8KHA9ImNvbnN0cnVjdG9yIj09Yyl9aWYoZCYmIXApe3ZhciBfPXQuY29uc3RydWN0b3Isdz1lLmNvbnN0cnVjdG9yO189PXd8fCEoImNvbnN0cnVjdG9yImluIHQpfHwhKCJjb25zdHJ1Y3RvciJpbiBlKXx8ImZ1bmN0aW9uIj09dHlwZW9mIF8mJl8gaW5zdGFuY2VvZiBfJiYiZnVuY3Rpb24iPT10eXBlb2YgdyYmdyBpbnN0YW5jZW9mIHd8fChkPSExKX1yZXR1cm4gby5kZWxldGUodCksby5kZWxldGUoZSksZH07dmFyIGI9big5Njk3ODUpLF89bigyOTU2MzUpLHc9big2NTkwMTgpLHg9bigxNjUyNjcpLE89IltvYmplY3QgQXJndW1lbnRzXSIsRT0iW29iamVjdCBBcnJheV0iLEM9IltvYmplY3QgT2JqZWN0XSIsaz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2NvbnN0IFM9ZnVuY3Rpb24odCxlLG4scixvLHMpe3ZhciB1PSgwLF8uZGVmYXVsdCkodCksbD0oMCxfLmRlZmF1bHQpKGUpLGM9dT9FOigwLGIuZGVmYXVsdCkodCksZj1sP0U6KDAsYi5kZWZhdWx0KShlKSxoPShjPWM9PU8/QzpjKT09QyxkPShmPWY9PU8/QzpmKT09QyxwPWM9PWY7aWYocCYmKDAsdy5kZWZhdWx0KSh0KSl7aWYoISgwLHcuZGVmYXVsdCkoZSkpcmV0dXJuITE7dT0hMCxoPSExfWlmKHAmJiFoKXJldHVybiBzfHwocz1uZXcgaS5kZWZhdWx0KSx1fHwoMCx4LmRlZmF1bHQpKHQpP2EodCxlLG4scixvLHMpOnYodCxlLGMsbixyLG8scyk7aWYoISgxJm4pKXt2YXIgZz1oJiZrLmNhbGwodCwiX193cmFwcGVkX18iKSxtPWQmJmsuY2FsbChlLCJfX3dyYXBwZWRfXyIpO2lmKGd8fG0pe3ZhciBTPWc/dC52YWx1ZSgpOnQsRD1tP2UudmFsdWUoKTplO3JldHVybiBzfHwocz1uZXcgaS5kZWZhdWx0KSxvKFMsRCxuLHIscyl9fXJldHVybiEhcCYmKHN8fChzPW5ldyBpLmRlZmF1bHQpLAp5KHQsZSxuLHIsbyxzKSl9O3ZhciBEPW4oMzYwNjIwKTtjb25zdCBNPWZ1bmN0aW9uIHQoZSxuLGkscixvKXtyZXR1cm4gZT09PW58fChudWxsPT1lfHxudWxsPT1ufHwhKDAsRC5kZWZhdWx0KShlKSYmISgwLEQuZGVmYXVsdCkobik/ZSE9ZSYmbiE9bjpTKGUsbixpLHIsdCxvKSl9fSwxNjc1MDIodCxlLG4peyJ1c2Ugc3RyaWN0IjtuLmQoZSx7ZGVmYXVsdDooKT0+cn0pO3ZhciBpPW4oODcyODgxKTtjb25zdCByPWZ1bmN0aW9uKHQsZSl7cmV0dXJuKDAsaS5kZWZhdWx0KSh0LGUpfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/i/productlogos/translate/v14/24px.svg","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":"img","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:34.377Z","timestamp":1785120634377,"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/i/productlogos/translate/v14/24px.svg 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: 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://247optiontradefx.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, 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\naccept-ranges: bytes\r\ncontent-encoding: gzip\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\ncontent-length: 3340\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 10:10:10 GMT\r\nexpires: Fri, 23 Jul 2027 10:10:10 GMT\r\ncache-control: public, max-age=31536000\r\nage: 319224\r\nlast-modified: Wed, 20 Apr 2022 14:24:23 GMT\r\ncontent-type: image/svg+xml\r\nvary: Accept-Encoding\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":6225,"size_decoded":4178,"mime_type":"image/svg+xml","magic":"SVG Scalable Vector Graphics image","md5":"2bd5c073a88b83ed74db88282a56ddfb","sha1":"d0ebfc376f8c6a44a8d4cd216817dcd7d0c33650","sha256":"ab5c23a05e39deed14d9d8262b0dce9f024f86105a27196cad37d14a3f516e09","sha512":"5c6c4a92e93fc0f6a675658cc84f6187fdebd3eee94efd07e24658736cba598f3bc7156b19834b13fb44c1d43fcb7df9fcca7f0a453037e30da76ba8f4b23b89","ssdeep":"96:+R2K3Z4n7tyVwip82hezk6227gLFoXhu1XuE20ot+pVY3YptWDzOzgXK3Zx:ql3KnxyGGMzb7noR20NTww33","tlshash":"c1d1e6f19309d815cd6a83d8cd9b8002aa1f25ddd50ac6cc7639fb3bd1a50eb1d2d7a4","first_seen":"2023-04-06T21:34:37Z","last_seen":"2026-07-27T05:12:11.068111Z","times_seen":75842,"resource_available":false,"data":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjxkZWZzPjxwYXRoIGQ9Ik0yMS41IDVoLTkuMTdMMTEgMUgyLjVDMS42OCAxIDEgMS42OCAxIDIuNXYxNWMwIC44My42OCAxLjUgMS41IDEuNWg5LjE3TDEzIDIzaDguNWMuODIgMCAxLjUtLjY4IDEuNS0xLjV2LTE1YzAtLjgzLS42OC0xLjUtMS41LTEuNXoiIGlkPSJhIi8+PC9kZWZzPjxjbGlwUGF0aCBpZD0iYiI+PHVzZSBvdmVyZmxvdz0idmlzaWJsZSIgeGxpbms6aHJlZj0iI2EiLz48L2NsaXBQYXRoPjxnIGNsaXAtcGF0aD0idXJsKCNiKSI+PGltYWdlIGhlaWdodD0iMzEiIG9wYWNpdHk9Ii4yIiBvdmVyZmxvdz0idmlzaWJsZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMyAxKSIgd2lkdGg9IjI5IiB4bGluazpocmVmPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUIwQUFBQWZDQVlBQUFBYlc4WUVBQUFBQ1hCSVdYTUFBQXNTQUFBTEVnSFMzWDc4QUFBQSBHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFCUUJKUkVGVWVOcThWOHR1MjBZVXZYZG0rTENrIFJLaU13STFURkVYaFZaSmQxZ1c2Nnhla3Y5RFBxUHN2WGRVL1VhRHJvSnNrS3krQ0luQ2NHcEt0RnkyU00vZjJERVhaaWEwb2R0S1cgQWtGSjh6aHp6bjNTMFljdnBzKzc5RU1EYmozWWZndjRFTStYVE4vZkVPYjNaZzNBWG1xN2o2NEQ1L2UveC9FZnpaTW5YNWp4K0xGWiBMTHlwNnlORE96c2tZYjZSdWJGZHBiZHZLVWwySmMrZDlQdlA1ZG16VXlINlRWb1lYUU9xK0g1Zzl2YitjT05zTzltYUxwSXl5WlBVIGtaTkFwcG1oOVZwZzVrU1h3Q1NWSjUvVmkvcjhUbDczeTJGOWVQaWRKM29hZ2ErQjR2a1VnRis2RVcxbmR6MTFndk5kRGRMMWJETnIgeUtrQ1dPMTZ0aHlVR1dJSWVhZTJaR3ZuMW9mNXhGRXhvR0Y1ZUhnTTRBTlpzVzAzMlRmMDVNamVXK3htTktlZWRlV0FnOXRteXdQTSA2ckdZek9BUEJTZlE1U3MwTmY0cEFtUnJTbUJQMWVoSXhRNkRweEYxYVhhU0g1WDBiRGNBUjFhT3hMUlB0UGRyWnJ3bmQ1NVN4M2d6IElNTzcyT3dCcTlrbW94MFJTa0hIUk54clJKV0ZEYlFYS3BSMXhONGVPZngwTnFuTWRGSHVsWS9ydy8xUkFFNWNyRXZ2ZmZHQ3ZYL0UgVlVvT0MzTW0yNGVhTzZUeU5aamVCNUUrc0RMTXQydENxWkVXOGxjZ1BTVTJ4MEloS2xBWW9UUDR4VVR1ZVVNdkh2Skszb3VROGZmSCBIUDYySnBHZWcvVlNZY2lxTkFEYkhReHZZNWV0ZHI2NXloTlhsRzJCNXhqemdXZkhKb1NlWjVPbGJ1YXErY3pReVlTdnhhbDcwMWRKIFNXb2lnUk5xWEl0ak9SaHNDK3g3NE5mRHRQUTZhR1BrZ0FVbEdST3BUS0JRUjRnYkIxeDZmanozL0RLOEdzb0hqL1NWRzZwSkFDaSsgTmhRZEFwc1FKRlBDZWxpWUtJbWdlRUpteWxjM1h6dzV5cDl4bklNWU1rWnQ5SGpWaEsvR2VIdHFaSTUrS1VWSlh0U1ZRY3djWURQbyBGSTkzamhXK0RXU2p6WnJHdHMwTlFTd09aVEZvTWFNQmFseTZDVEZaRzJLWFV0M1oxYVF6QzM2cktyRkowY2dVYjZhWlJudVJ3anRJIGxvN0VxM0NMV1N5YTRlSjdhK1ROMmV1ZHZDbGJrMTdJdEZlcG9RTHJweVF5eGtaVGpCWUlpd3FuWHdGLzFtWGVyUWl2dHUrSG9ocDcgdGY3Y1dKbkNUZ0JsZUNRM2JCRWFQaWFDVFJYa05xQkx1OTU1bzJrditOeklJb2dEa0dsQUVmdXdMNTFEWWg5ejNzZEsxeTFBTHlYMiBGeEpMSzNGajMzOU5Zbk8xNlA0ZkVsOEo5SFVTYXl0eFRIRlJZcXJobko2MEFaVTJsTnBETk9VTGFaSDFGcUJYSlM0TGhOOEVDZW9zIE1nYkxXVXgzQUsreHY0K1pLTjZBQ3h4bFp3MHhEemRaS2o3WjZFMUFMeVErOTFXTmNsd2dJVTZ3d1JsaTd4VGt6akE4QlFDU0J4ZkwgK01VaGxuR01ETVlsZnNQdVdzZFNGNEdaYTIyNmlvMU1XNG56UHZrUWJXZ0RuSWxHWUhTQ1RVK1FiT0k5Qk50VFRCN2h4bUVJaCtGVCBLREpHWm9pVnBrQTZLbU5SajkwRTBkdVBObWFOeEoyOVFWaDBSeFdzT01OUmgwSnlESWs3TEJLMWl3NjJCVjFjTEthWHBZMm4rSFdzIEdrWmlkT1pFeXNwM2ZESzRLM1R2SzkwRWlzR2Y2YkQvazZDVHFEcEJadDZFb1RXY1NYUVU1bWhYMUZ2Tm0vWFJpeVFpYXcwWEttRGkgRVhMOWtkVjZGTU11OWt2cHlVRG9CM1NJQjV1WXhwMitmU3I5UDdOYTdJT2lwc1VweFo1QnFJU05UdzFyRnk2YkdyS29JakFiUzl1dSBFS29UMk5vd3FpV0o3Y3FNMEtEOWxUOFgydCtsS3ozUzJsNFovZTR2OXB0WHpjRnluOVpkOG5sSEhjalhhTlpzYUN2S3FsVzZkV1AyIElicjdzZEUyZTY4SDlzeStUdk41SjZud3lkTFV2dHVXZm1vTHVnSDRaZzM0SnpiYkh3Ty93YXZHKzY4VmRKUFhpaHVDL3pjdlVKKzAgMFcydWZ3UVlBR0hLSzJDRk1JcnpBQUFBQUVsRlRrU3VRbUNDIi8+PHJhZGlhbEdyYWRpZW50IGN4PSI3LjM5NCIgY3k9IjUuNDM3IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgaWQ9ImMiIHI9IjIzLjQxNiI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjRUVFIi8+PHN0b3Agb2Zmc2V0PSIuNDMyIiBzdG9wLWNvbG9yPSIjRTZFNkU2Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRTFFMUUxIi8+PC9yYWRpYWxHcmFkaWVudD48cGF0aCBkPSJNMTMgMjNoOC41Yy44MiAwIDEuNS0uNjggMS41LTEuNXYtMTVjMC0uODMtLjY4LTEuNS0xLjUtMS41SDdsNiAxOHoiIGZpbGw9InVybCgjYykiLz48L2c+PHBhdGggY2xpcC1wYXRoPSJ1cmwoI2IpIiBkPSJNMTggMTF2LTFoLTF2MWgtMy43NXYxaDUuMzJjLS4yLjQ5LS42IDEuMy0xLjMyIDIuMTQtLjUxLS42LS44Ni0xLjE4LTEuMS0xLjY0aC0xLjExYy4zNi44NC45IDEuNjYgMS41MiAyLjM4bC0yLjYgMi41OC43MS43MSAyLjU4LTIuNTggMi41OCAyLjU4LjcxLS43MS0yLjYtMi41OGMuNzQtLjg2IDEuMzMtMS44NSAxLjY4LTIuODhIMjF2LTFoLTN6IiBmaWxsPSIjNjA3RDhCIi8+PGxpbmVhckdyYWRpZW50IGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiBpZD0iZCIgeDE9IjEyLjMzMyIgeDI9IjIzIiB5MT0iMTQiIHkyPSIxNCI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjMjEyMTIxIiBzdG9wLW9wYWNpdHk9Ii4xIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMjEyMTIxIiBzdG9wLW9wYWNpdHk9Ii4wMiIvPjwvbGluZWFyR3JhZGllbnQ+PHBhdGggY2xpcC1wYXRoPSJ1cmwoI2IpIiBkPSJNMTIuMzMgNUwyMyAxNS42N1YyM0gxMyIgZmlsbD0idXJsKCNkKSIvPjxnIGNsaXAtcGF0aD0idXJsKCNiKSI+PGltYWdlIGhlaWdodD0iOCIgb3BhY2l0eT0iLjEiIG92ZXJmbG93PSJ2aXNpYmxlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMC41IDE3LjUpIiB3aWR0aD0iOSIgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBb0FBQUFKQ0FZQUFBQUxwcjBUQUFBQUNYQklXWE1BQUFzU0FBQUxFZ0hTM1g3OEFBQUEgR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU9GSlJFRlVlTnAwVUQxTEEwRVVuTGU3SnNKaCBDaUZwTFZOWWFTMzQxMUw3Wi9JblVwZ21xUklSTEd4RU9FVlFzb1JjYm5lY3U2QUdUQjRNNzJ2ZXZqZHIrRFBEZitOdnMzODU4cTdhIEZwNG9ET1pCSjVkSk1DVkR6SjJUK0xZWXBlQXlUajM5VU1OWGhBMDBIQUJYS3k4OWJZNlVscXJGb01IbTVRSzBhL21iWFl4U3l5Wm0gZUNCVGU1S3I2OCtOR3ErS3Y0UXpvU004cTNaUDhpbWpYamRFdi82WXNuZCtxNmE3VU40WEZzS1lsaWZiVUpYdmozZnR5dEFxTTF2SiB6NlVnR3ZnaUliTjkwZzhSVmRkRktaL3B6cVgrWTVORHRkb25IVEk3MXZnV1lBRHpXbWR4LzRmcG1RQUFBQUJKUlU1RXJrSmdnZz09Ii8+PHBhdGggZD0iTTE3IDE5bC00IDQtMS4zMy00IiBmaWxsPSIjM0Y1MUI1Ii8+PC9nPjxwYXRoIGNsaXAtcGF0aD0idXJsKCNiKSIgZD0iTTIxLjUgNUg3bC4wNC4xMkgyMS41Yy44MiAwIDEuNS42NyAxLjUgMS41VjYuNWMwLS44My0uNjgtMS41LTEuNS0xLjV6IiBmaWxsPSIjMjEyMTIxIiBmaWxsLW9wYWNpdHk9Ii4wMiIvPjxwYXRoIGNsaXAtcGF0aD0idXJsKCNiKSIgZD0iTTIxLjUgMjIuODhIMTNMMTEuNzEgMTloLS4wNEwxMyAyM2g4LjVjLjgyIDAgMS41LS42OCAxLjUtMS41di0uMTJjMCAuODItLjY4IDEuNS0xLjUgMS41eiIgZmlsbD0iIzIxMjEyMSIgZmlsbC1vcGFjaXR5PSIuMSIvPjxwYXRoIGNsaXAtcGF0aD0idXJsKCNiKSIgZD0iTTEyLjk3IDIyLjkxTDEzIDIzbDQtNGgtLjEyIiBmaWxsPSIjMUEyMzdFIiBmaWxsLW9wYWNpdHk9Ii4yIi8+PHBhdGggY2xpcC1wYXRoPSJ1cmwoI2IpIiBkPSJNMTEuNjcgMTkuMTJoNS4yMUwxNyAxOWgtNS4zMyIgZmlsbD0iIzFBMjM3RSIgZmlsbC1vcGFjaXR5PSIuMSIvPjxnIGNsaXAtcGF0aD0idXJsKCNiKSI+PGltYWdlIGhlaWdodD0iMjIiIG9wYWNpdHk9Ii4yIiBvdmVyZmxvdz0idmlzaWJsZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLS41IC0uNSkiIHdpZHRoPSIyMCIgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCVUFBQUFYQ0FZQUFBRGszd1NkQUFBQUNYQklXWE1BQUFzU0FBQUxFZ0hTM1g3OEFBQUEgR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQVVwSlJFRlVlTnFzbGJGT3d6QVFRTy9zUUNSYyBzcUFPbFJnck1qQ1ZyK0VyK0laK0F4L1dUQ3dWZXlWUWw5SU9RWTJQYzJxaE5Gd2NHc2RTckhOc1A1MmZwVFBDZVVQNFg2UFFaQTJaIFBpNDFscVhScENZS3RBNXRzRkJWRmRvOXBlbmg4MjFaU1dzUzExMlgxaEJkUFhHNDRCU3lRTWFFb0hjSjZRSkx1K0x4cmd1S1FEUUIgVUF1T24zbmZMQVRscWMwcHNtdnV2eVFWaWJmQVJ5YVhvUVBlaDZIazlNdzR1TDJidjN4czMxK1A3VVdxNVJkN0xzdk44YWtnNXpCUCBLVFBTSWdXWE4zT0NRbzZBUmtwaUNOUWQzNm1hZWdWNkRHZ2pXMWxCSkZSV01CUWFWREFVR2xRd0F2U3ZnaGhvcDRJWWFLZUNrYURuIENtS2hvb0pZcUtoQXRhbzU5VlYxb2Qzdzk5QlU0RXNmY1FWWHJ1QnVQQk12Z0pJdjFzZG1QU1ZBM0hPaEx2eS9iQ0MwcURrOHJqUDkgVHRXQjM2Z1Z2MUhydmplcTc5MlNqb2tSRi9aN0Z6OENEQUM4RW1XREtWR0RMZ0FBQUFCSlJVNUVya0pnZ2c9PSIvPjxwYXRoIGQ9Ik0xMSAxSDIuNUMxLjY4IDEgMSAxLjY4IDEgMi41djE1YzAgLjgzLjY4IDEuNSAxLjUgMS41SDE3TDExIDF6IiBmaWxsPSIjNDI4NUY0Ii8+PC9nPjxwYXRoIGNsaXAtcGF0aD0idXJsKCNiKSIgZD0iTTIuNSAxQzEuNjggMSAxIDEuNjggMSAyLjV2LjEyYzAtLjgyLjY4LTEuNSAxLjUtMS41SDExVjFIMi41eiIgZmlsbD0iI0ZGRiIgZmlsbC1vcGFjaXR5PSIuMDIiLz48cGF0aCBjbGlwLXBhdGg9InVybCgjYikiIGQ9Ik0xMSAxdi4xMmw1LjkyIDE3Ljc1SDIuNWMtLjgyIDAtMS41LS42Ny0xLjUtMS41di4xMmMwIC44NC42OCAxLjUxIDEuNSAxLjUxSDE3TDExIDF6IiBmaWxsPSIjMjEyMTIxIiBmaWxsLW9wYWNpdHk9Ii4xIi8+PGcgY2xpcC1wYXRoPSJ1cmwoI2IpIj48cGF0aCBkPSJNNy41IDEwdjEuMmgxLjk4Yy0uMDguNTItLjYgMS41MS0xLjk4IDEuNTEtMS4yIDAtMi4xNy0uOTktMi4xNy0yLjIxUzYuMyA4LjI5IDcuNSA4LjI5Yy42OCAwIDEuMTMuMjkgMS4zOS41NGwuOTUtLjkyQzkuMjQgNy4zNSA4LjQ0IDcgNy41IDcgNS41NyA3IDQgOC41NyA0IDEwLjVTNS41NyAxNCA3LjUgMTRjMi4wMiAwIDMuMzYtMS40MiAzLjM2LTMuNDIgMC0uMjMtLjAyLS40MS0uMDYtLjU4SDcuNXoiIGZpbGw9IiNFRUUiLz48cGF0aCBkPSJNNCA3aDd2N0g0eiIgZmlsbD0ibm9uZSIvPjwvZz48cmFkaWFsR3JhZGllbnQgY3g9IjEuNDU3IiBjeT0iMS40MiIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIGlkPSJlIiByPSIyOS43OTIiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI0ZGRiIgc3RvcC1vcGFjaXR5PSIuMSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0ZGRiIgc3RvcC1vcGFjaXR5PSIwIi8+PC9yYWRpYWxHcmFkaWVudD48cGF0aCBkPSJNMjEuNSA1aC05LjE3TDExIDFIMi41QzEuNjggMSAxIDEuNjggMSAyLjV2MTVjMCAuODMuNjggMS41IDEuNSAxLjVoOS4xN0wxMyAyM2g4LjVjLjgyIDAgMS41LS42OCAxLjUtMS41di0xNWMwLS44My0uNjgtMS41LTEuNS0xLjV6IiBmaWxsPSJ1cmwoI2UpIi8+PC9zdmc+"}},"time_used":19,"timings":{"blocked":-1,"dns":2,"connect":0,"send":0,"wait":17,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/images/branding/googlelogo/1x/googlelogo_color_42x16dp.png","fqdn":"www.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":"img","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:34.378Z","timestamp":1785120634378,"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 /images/branding/googlelogo/1x/googlelogo_color_42x16dp.png HTTP/1.1\r\nHost: www.gstatic.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://247optiontradefx.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, 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\naccept-ranges: bytes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"static-on-bigtable\"\r\nreport-to: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\ncontent-length: 910\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, 02 Nov 2023 22:48:00 GMT\r\ncontent-type: image/png\r\nvary: Origin\r\nage: 394820\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":910,"size_decoded":1583,"mime_type":"image/png","magic":"PNG image data, 42 x 16, 8-bit/color RGBA, non-interlaced","md5":"efa6bb2bfe459bc6f4bdafa3db0383f6","sha1":"52d15ce52fe50643e542c17812de43f4ed1b6ee0","sha256":"6318394f737c66f0e2ccfcd88e3935c6667633a1b95fa29fba2b75431d55eef2","sha512":"e23c04d8997f5c2f92070e09261b7ee50d9df8753f45cf66f604f0874ffa8d99e947c97c528ec02a2c3fbe8e43d840b343a7d0225532980d5da95031216415b7","ssdeep":"","tlshash":"491184a73cd1dc6854a47a87aa91b864ec250f1b91a220981237b42277313444fdc8f7","first_seen":"2023-04-05T07:39:29Z","last_seen":"2026-07-27T05:12:11.019038Z","times_seen":53660,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAACoAAAAQCAYAAABgIu2QAAADVUlEQVR4AcxUA9AdPRRNbdu2+7K//+4mW9vWqNbYU2z21bZt27Zt+6nK5lUftrkPO7V1Zu7iZnJycoUc2HYC4hZVKROjqCnmEdMaoDJRHv1g4HmNKuCFjVX0OajeO5CWML5eCrSlnaGMr5VCr4X+mdXrhwpd0GgKXtDgAPoUIJIgTDPFE42JalF37952QspE+6rG0zy/hVDdsDSInHy3Qp8Jr6pk99A/s7333ttRdrD3ramDRHbd/STTp4QG6F+5fNUq5kCvg5qWmxr8qWuincTxsWAu1bRKR42avCT4H1TFeXxU2ePTFRvMo7t2AmlI4ObkeWM2J9kTsyWJDSa/d8ZvSRFaU3vzzJohNkFA5Fnx8sz9mmGJt4XeVV2ZvTreFuWXZy29rqrJEYAwMUYKuYccgM+aAKRR0wweayOUwEdc++Tm034dK/e1in96CT7nocoO20YJpLh9MVsSnX65ObHyclviP+X3ORAbvri1kjJ+mxi8EmWiIjHFKeB9W6hXV+Z7iXITuMF8RBHyPDeKkHSDTeqAYO7XU6SavDgYYWKEjEYgoP6RG27pp7iOUwI6bgQ+MShn+XAkkzprMZuTNgLfxlmNC0AUNca7OIEwecP3CZXCglLsCMk7xEtcDyAwcAYC/GfyLHKTRQ2xEBoIvYbave2U0n8exhWkPZKS2o7Qyrgh+F70z1khnO5EzlrMpqQNwbdhVuvC4cwEO0bXNBas9yGhYF6qTPRWUd4ZjRDVJprJ42TktgEJzE/ZXM3k/0kp9CExHheC1Huo67CPuo7fr4JLy2YqC2Ughe6NpP6wTPfxFxuTlH6xJUlZKAOoWeCH0QfjTmVBHM4SP/Zeoboy20OUu16C//GSioW8FM/1UNwavQ4pVKUmP/x6bRJTbAdiFAFslkTHosXuJcqhe6RCPlh7tjlZwZhNiY46zbQpycH4rcnzRUuJGmKPw834ifcJffzffxl8FG8A7ohd9tGKFdEHR0g/q4wzRt5CKLI6LggG36+vQWRB8LONyQrAt8PZ25ta7/+sIBhMFBnd7pAp9AFAP/gJLmb3RgnRz4QUNhm6HsqKuIN1iclvUWZNQ78b/hnoT0MMMVsz+Qtq8JfQuGrvR+nR74omi+xEYOjVBgEYBQDoQD6ep9ySZwAAAABJRU5ErkJggg=="}},"time_used":18,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":18,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/11461.e27cb4ecf30492ac11f6.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.844Z","timestamp":1785120634844,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/11461.e27cb4ecf30492ac11f6.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785120635.1.1785120635..da711556-35ac-4ad3-a212-af7cb2170ed1..b2486cf4-a5b9-44a9-8f9e-103bfa494386.1785120634518.1\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"code.tidio.co/v5km6ttwccfxj3jnedqxjetkhv5srogm.js","fqdn":"code.tidio.co","domain":"tidio.co","tld":"co"},"ip":{"addr":"104.26.1.115","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.112Z","timestamp":1785120633112,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /v5km6ttwccfxj3jnedqxjetkhv5srogm.js HTTP/1.1\r\nHost: code.tidio.co\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://247optiontradefx.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 403 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: text/html; charset=UTF-8\r\ncache-control: public, s-maxage=600, max-age=0\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=9h%2BhylzSFGHJwsSonjv%2FpQPINvkeKOrDNbj0LoMrlpcdinqKCiCa6Vyv5cPuD8N%2FI6u1iKyS%2B%2FMB1NcbJDh1p4kutSjsXX0UyREfJlD5gufJANAGO8yPil3KkSle7ao%3D\"}]}\r\nserver: cloudflare\r\nvary: Accept-Encoding\r\nage: 373\r\ncf-cache-status: HIT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncontent-encoding: br\r\ncf-ray: a21856550dfa4c11-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"403","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"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/html; charset=UTF-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-07-27T05:14:11.3544Z","times_seen":17556491,"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":"binarymate.com/en/tyni-platform?r=https://247optiontradefx.live/dashboard/register","fqdn":"binarymate.com","domain":"binarymate.com","tld":"com"},"ip":{"addr":"172.67.160.195","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.409Z","timestamp":1785120633409,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"binarymate.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 14 Jun 2026 17:48:17 GMT","end":"Sat, 12 Sep 2026 18:48:16 GMT"},"fingerprint":{"sha1":"26:CD:F2:69:FE:7F:C6:01:56:78:36:8F:A3:D6:FB:30:04:43:72:C0","sha256":"84:94:E9:41:71:FF:C7:FC:0D:D1:FE:9F:61:E9:EB:27:62:B3:01:D9:AA:F6:35:FB:C6:FA:4A:CE:9B:16:0B:7E"}}},"request":{"raw":"GET /en/tyni-platform?r=https://247optiontradefx.live/dashboard/register HTTP/1.1\r\nHost: binarymate.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://247optiontradefx.com/\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\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 02:50:33 GMT\r\ncontent-type: text/html; charset=UTF-8\r\ncache-control: no-cache, private\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=u5%2FR8neGXrvX6H0xhngtl%2FeoG2KUhB5%2Bq%2BYUFAl0QOUdobkYL6SMVFZIzRXpxXKJRrV%2FG2DDbepkKciGX%2FMisfayg%2BV5c3s3SY%2B1dAjamBLzKeL4dlyci%2FBYtPruePXXUA%3D%3D\"}]}\r\nserver: cloudflare\r\nset-cookie: laravel_session=UYESX7wELN8BSPz4LvfUKeGrrWO22l12CaQ7FWII; expires=Mon, 27-Jul-2026 04:50:33 GMT; Max-Age=7200; path=/; httponly\r\ncf-cache-status: DYNAMIC\r\nvary: accept-encoding\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncontent-encoding: zstd\r\ncf-ray: a2185656ed0e569c-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Laravel","description":"Laravel is a free, open-source PHP web framework.","website":"https://laravel.com","common_platform_enumeration":"cpe:2.3:a:laravel:laravel:*:*:*:*:*:*:*:*","icon":"Laravel.svg","categories":["Web frameworks"]},{"name":"PHP","description":"PHP is a general-purpose scripting language used for web development.","website":"https://php.net","common_platform_enumeration":"cpe:2.3:a:php:php:*:*:*:*:*:*:*:*","icon":"PHP.svg","categories":["Programming languages"]},{"name":"jQuery:1.11.3","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":"Moment.js","description":"Moment.js is a free and open-source JavaScript library that removes the need to use the native JavaScript Date object directly.","website":"https://momentjs.com","common_platform_enumeration":"cpe:2.3:a:momentjs:moment:*:*:*:*:*:*:*:*","icon":"Moment.js.svg","categories":["JavaScript libraries"]},{"name":"Chart.js","description":"Chart.js is an open-source JavaScript library that allows you to draw different types of charts by using the HTML5 canvas element.","website":"https://www.chartjs.org","common_platform_enumeration":"","icon":"Chart.js.svg","categories":["JavaScript graphics"]},{"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":8185,"size_decoded":2599,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, ASCII text","md5":"fdf6b53f36e127f6f94d31ced8eee66b","sha1":"066f6c93123d49dd5eeb6b69d74c11eb7aeee5c2","sha256":"43eec9d4f1b81b9948f5d226c0a781fb72c6a27300685af2a2a923a9e0f81b01","sha512":"d7542f6ce4c846191c62e944d1dbbb88b710a5c676eab9685e7a22015d98eaebe0033b83c8d2018bb473d25d4abe2f70d11c4d6e1389daca57cb537bc31499f2","ssdeep":"96:+T2BMzL5syc0NpNn443rbRlRh4Lh6ieoP63Px8Uqpt1FDiDDUD+T:+TaMX5syff3oFcWmPxGFDyDUD+T","tlshash":"5df1c921d5f2643b26a281d1aab25b0bafe09607ea5f015973fc47e44f9fc81cc17958","first_seen":"2024-10-24T08:49:22.7871Z","last_seen":"2026-07-27T05:25:19.12252Z","times_seen":70,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KICAgIDwhLS0gU3RhbmRhcmQgTWV0YSAtLT4KICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ii8+CiAgICA8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPWVkZ2UsY2hyb21lPTEiLz4KICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wIj4KICAgIDwhLS0gU2l0ZSBQcm9wZXJpdGllcyAtLT4KICAgIDx0aXRsZT5CTTwvdGl0bGU+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIvYXNzZXRzL2xhbmRpbmcvcGxhdGZvcm0tdGlueS9jc3MvcGxhdC5jc3M/dj0wMSI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIvYXNzZXRzL2xhbmRpbmcvcGxhdGZvcm0tdGlueS9jc3MvcmVzcG9uc2l2ZS5jc3MiPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iL2Fzc2V0cy9sYW5kaW5nL3BsYXRmb3JtLXRpbnkvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIj4KCQo8L2hlYWQ+Cjxib2R5Pgo8c3R5bGU+Cgo8L3N0eWxlPgo8ZGl2IGNsYXNzPSJibG9jay1jaGFydHMiIGlkPSJjaGFydC1ob2xkZXIiPgogICAgPCEtLTxkaXYgY2xhc3M9ImJsb2NrLWNoYXJ0cyAiPi0tPgogICAgPGRpdiBjbGFzcz0ib25lLWNoYXJ0Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJtaW5pLWNoYXJ0LXdyYXAiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZWFsLWZpbmlzaC1wb3B1cCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZWFsLWZpbmlzaC1wb3B1cC13aW4iPgogICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0iZGZwLWhlYWQiPkNvbmdyYXR1bGF0aW9ucyEgWW91IHByZWRpY3RlZCB0aGUgbWFya2V0IGFuZCBlYXJuZWQgJDE5ITwvaDI+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImRmcC1ib2R5Ij4KICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGZwLWZvb3QiPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ibGlua19vdXQiIHRhcmdldD0iX3BhcmVudCIgaHJlZj0iL3JlZ2lzdGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxlZnQtZm9vdCI+PGkgY2xhc3M9ImZhIGZhLWFycm93LWxlZnQiPjwvaT48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJpZ2h0LWZvb3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPk9wZW4gYW4gYWNjb3VudDwvc3Bhbj4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIHN0YXJ0IHRyYWRpbmcgbm93IQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InJlc3RhcnQiIGlkPSJyZXN0YXJ0Ij48aSBjbGFzcz0iZmEgZmEtcmVmcmVzaCI+PC9pPjxzcGFuPk5ldyBmb3JlY2FzdDwvc3Bhbj48L2E+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRlYWwtZmluaXNoLXBvcHVwLWxvc2UiPgogICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0iZGZwLWhlYWQiPkluY29ycmVjdCBmb3JlY2FzdDwvaDI+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImRmcC1ib2R5Ij4KICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1pbmktY2hhcnQtbGVnZW5kIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1jLXRhYmxlIGxnLW9nbyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWMtdGFibGUtdGQgbWMtbG9nby1lbXB0eSI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWMtdGFibGUtdGQgbWMtdGFibGUtdGRfcHJpY2UiIGRhdGEtc3R5bGU9IndpZHRoOiAzMCU7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWMtdGFibGUtdGQtbGVnZW5kIj5QcmljZTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYy10YWJsZS10ZC12YWx1ZSB0ZXh0LWdyZWVuIj4kMTA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYy10YWJsZS10ZCBtYy10YWJsZS10ZF9wcm9maXQiIGRhdGEtc3R5bGU9IndpZHRoOiA0MCU7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWMtdGFibGUtdGQtbGVnZW5kIj5Qcm9maXQ8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWMtdGFibGUtdGQtdmFsdWUiPiQxOTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1jLXRhYmxlLXRkIG1jLXRhYmxlLXRkX3JldmVudWUiIGRhdGEtc3R5bGU9IndpZHRoOiAzMCU7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWMtdGFibGUtdGQtbGVnZW5kIj5SZXZlbnVlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1jLXRhYmxlLXRkLXZhbHVlIHRleHQtZ3JlZW4iPjkwJTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtaW5pLWNoYXJ0LWJ0bi1jb250Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1jLWxvZ28gbWMtbG9nb19ldXJ1c2QiPgogICAgICAgICAgICAgICAgICAgIDxmb3JtPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJyYWRpbyIgY2xhc3M9InVpLWJ1dHRvbnNldCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJyYWRpbzEiIG5hbWU9InJhZGlvIiB2YWx1ZT0iMCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIj48bGFiZWwgZm9yPSJyYWRpbzEiIHN0eWxlPSJ3aWR0aDogMTgwcHg7IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idWktc3RhdGUtYWN0aXZlIHVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1idXR0b24tdGV4dC1vbmx5IHVpLWNvcm5lci1sZWZ0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPSJidXR0b24iIGlkPSJBcHBsZSI+PHNwYW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idWktYnV0dG9uLXRleHQiPkFwcGxlPC9zcGFuPjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJyYWRpbzIiIG5hbWU9InJhZGlvIiB2YWx1ZT0iMSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIj48bGFiZWwgZm9yPSJyYWRpbzIiIHN0eWxlPSJ3aWR0aDogMTgwcHg7IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWJ1dHRvbi10ZXh0LW9ubHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9ImJ1dHRvbiIgaWQ9IkdBWlBST00iPjxzcGFuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InVpLWJ1dHRvbi10ZXh0Ij5HQVpQUk9NPC9zcGFuPjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJyYWRpbzMiIG5hbWU9InJhZGlvIiB2YWx1ZT0iMiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIj48bGFiZWwgZm9yPSJyYWRpbzMiIHN0eWxlPSJ3aWR0aDogMTgwcHg7IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWJ1dHRvbi10ZXh0LW9ubHkgdWktY29ybmVyLXJpZ2h0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPSJidXR0b24iIGlkPSJFVVJVU0QiPjxzcGFuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InVpLWJ1dHRvbi10ZXh0Ij5FVVIvVVNEPC9zcGFuPjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0ibWMtYnRuIG1jLWJ0bl9jYWxsIiBpZD0iYnRuX2NhbGwiPgogICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9InN2Zy1pY28tY2FsbCIgc3JjPSIvYXNzZXRzL2xhbmRpbmcvcGxhdGZvcm0tdGlueS9pbWFnZXMvYXJyb3ctY2FsbC5zdmciPgogICAgICAgICAgICAgICAgICAgIDxzcGFuPldpbGwgZ288Yj51cDwvYj48L3NwYW4+CiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Im1jLWJ0biBtYy1idG5fcHV0IiBpZD0iYnRuX3B1dCI+CiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz0ic3ZnLWljby1wdXQiIHNyYz0iL2Fzc2V0cy9sYW5kaW5nL3BsYXRmb3JtLXRpbnkvaW1hZ2VzL2Fycm93LXB1dC5zdmciPgogICAgICAgICAgICAgICAgICAgIDxzcGFuPldpbGwgZ288Yj5kb3duPC9iPjwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2FpdC1kZWFsLWVuZCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2RlLWxlZ2VuZCI+V2FpdCBmb3IgdHJhZGUgY2xvc2U6PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2RlLXRpbWVyLWNvbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGFydC10aW1lciI+PGk+PGltZyBjbGFzcz0ic3ZnLWljby1jYWxsIiBzcmM9Ii9hc3NldHMvbGFuZGluZy9wbGF0Zm9ybS10aW55L2ltYWdlcy9jbG9jay1zcGlubmVyLnN2ZyI+PC9pPjxzcGFuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImNoYXJ0LXRpbWUtc2VsZiI+MDA6MDg8L3NwYW4+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1pbmktY2hhcnQtY29udCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGFydC1wYWRkaW5nIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjaGFydDEiIGNsYXNzPSJjaGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS08aW1nIHdpZHRoPSI0OTAiIGhlaWdodD0iMjU0Ii0tPgogICAgICAgICAgICAgICAgICAgICAgICA8IS0tc3R5bGU9ImhlaWdodDogMjU0cHg7IHdpZHRoOiA0OTBweDt2ZXJ0aWNhbC1hbGlnbjogdG9wO21hcmdpbi1ib3R0b206IC0xMHB4OyItLT4KICAgICAgICAgICAgICAgICAgICAgICAgPCEtLXNyYz0iaW1hZ2VzL3BsYXQtdGVtcGxhdGUucG5nIj4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiB3aWR0aD0iNDkwIiBoZWlnaHQ9IjI1NCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iaGVpZ2h0OiAyNTRweDsgd2lkdGg6IDQ5MHB4O3ZlcnRpY2FsLWFsaWduOiB0b3A7bWFyZ2luLWJvdHRvbTogLTEwcHg7IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPSJjaGFydC1tIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPCEtLTxjYW52YXMgd2lkdGg9IjUyNCIgaGVpZ2h0PSIyMjAiIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDBweDsgdG9wOiAwcHg7IGhlaWdodDogMjIwcHg7IHdpZHRoOiA1MjRweDsiPjwvY2FudmFzPi0tPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGFydC10aW1lciI+CiAgICAgICAgICAgICAgICAgICAgICAgIAk8aT4KICAgICAgICAgICAgICAgICAgICAgICAgCQk8aW1nIGNsYXNzPSJzdmctaWNvLWNhbGwiIHNyYz0iL2Fzc2V0cy9sYW5kaW5nL3BsYXRmb3JtLXRpbnkvaW1hZ2VzL2Nsb2NrLXNwaW5uZXIuc3ZnIj4KICAgICAgICAgICAgICAgICAgICAgICAgCTwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS08c3BhbiAgICBjbGFzcz0iY2hhcnQtdGltZS1zZWxmIj4wMDowODwvc3Bhbj4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImRlYWwtZmluaXNoLXBvcHVwIG1pbmktY2hhcnQtd3JhcCBkZWFsLWZpbmlzaGVkIGRlYWwtZmluaXNoZWRfd2luIj4KICAgICAgICA8ZGl2IGNsYXNzPSJkZWFsLWZpbmlzaC1wb3B1cC13aW4iPgogICAgICAgICAgICA8aDIgY2xhc3M9ImRmcC1oZWFkIj4KICAgICAgICAgICAgICAgIFlvdXIgdHJhZGluZyByZXN1bHQ6IDxzcGFuIGlkPSJ3aW5fYW10Ij48L3NwYW4+PGJyLz5UcnkgYWdhaW4hPC9oMj4KICAgICAgICAgICAgPHAgY2xhc3M9ImRmcC1ib2R5Ij4KICAgICAgICAgICAgPC9wPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZnAtZm9vdCI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0ibGlua19vdXQiIHRhcmdldD0iX3BhcmVudCIgaHJlZj0iL3JlZ2lzdGVyIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsZWZ0LWZvb3QiPjxpIGNsYXNzPSJmYSBmYS1hcnJvdy1sZWZ0Ij48L2k+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmlnaHQtZm9vdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPk9wZW4gYW4gYWNjb3VudDwvc3Bhbj4sCiAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBzdGFydCB0cmFkaW5nIG5vdyEKICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJyZXN0YXJ0IiBpZD0icmVzdGFydC1jaGFydCI+PGkgY2xhc3M9ImZhIGZhLXJlZnJlc2giPjwvaT48c3Bhbj5OZXcgZm9yZWNhc3Q8L3NwYW4+PC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJkZWFsLWZpbmlzaC1wb3B1cC1sb3NlIj4KICAgICAgICAgICAgPGgyIGNsYXNzPSJkZnAtaGVhZCI+SW5jb3JyZWN0IGZvcmVjYXN0PC9oMj4KICAgICAgICAgICAgPHAgY2xhc3M9ImRmcC1ib2R5Ij4KCiAgICAgICAgICAgIDwvcD4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pgo8L2Rpdj4KCjxzY3JpcHQgc3JjPSIvYXNzZXRzL2xhbmRpbmcvcGxhdGZvcm0tdGlueS9qcy9qcXVlcnktMS4xMS4zLm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSIvYXNzZXRzL2xhbmRpbmcvcGxhdGZvcm0tdGlueS9qcy9tb21lbnQuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iL2Fzc2V0cy9sYW5kaW5nL3BsYXRmb3JtLXRpbnkvanMvY2hhcnQuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iL2Fzc2V0cy9sYW5kaW5nL3BsYXRmb3JtLXRpbnkvanMvbWFpbi5qcyI+PC9zY3JpcHQ+Cgo8L2JvZHk+CjwvaHRtbD4KCiAgICAgICAgICAgICAgICAgICAgICAgIA=="}},"time_used":195,"timings":{"blocked":-1,"dns":6,"connect":1,"send":0,"wait":177,"receive":0,"ssl":11},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/94825.8a90c0c3ebd413eb9c81.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.895Z","timestamp":1785120633895,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/94825.8a90c0c3ebd413eb9c81.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-846c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 96e45de62350989d41597fdd901afe7a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":33900,"size_decoded":11131,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"321406610467d6dffd30c75b9184e9df","sha1":"eb120d6cc348265cbed0295dd3cfab7428c5425f","sha256":"3f94fcd41f3f37d9d46697679761c3bf1712a0f67a22b38bc5e3c44b47eb56b5","sha512":"8d1b1035b2fe029452f0a7de35ef2793e6da96377c589956a5e21eaf23f3b2ae7bcedfe568a74bb8ba9a46109cdc8876912e2d73814beca47bbfa286c3081136","ssdeep":"768:QmBTez9037WM2rFgD0Nm7YLSxeUf4DK4uA8JUJESLb/XW4xmmInIPxHgask+vvw4:Q4Ow7uxNVvpPpghBT4Uf","tlshash":"17e2b693b3f9a02966ded0dad8341403e31924447884046cf27dbdde6b5dd88b2b9b7e","first_seen":"2026-07-23T13:38:20.509185Z","last_seen":"2026-07-27T05:27:33.108678Z","times_seen":356,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTQ4MjVdLHs0MDIwNDUoZSx0LHMpe3MuZCh0LHtXYXRjaGVkT2JqZWN0OigpPT5vfSk7dmFyIHI9cyg2MDE4NDEpLGk9cygyMzIzNjQpO2Z1bmN0aW9uIGEoZSx0KXtyZXR1cm4oMCxyLmRlZXBFcXVhbHMpKGUsdClbMF19Y2xhc3MgbyBleHRlbmRzIGkuV2F0Y2hlZFZhbHVle2NvbnN0cnVjdG9yKGUsdD1hKXtzdXBlcihlKSx0aGlzLl9jb21wYXJhdG9yPXR9c2V0VmFsdWUoZSx0KXshdCYmdGhpcy5fY29tcGFyYXRvcih0aGlzLnZhbHVlKCksZSl8fHN1cGVyLnNldFZhbHVlKGUsdCl9fX0sNjI0Njc4KGUsdCxzKXtzLmQodCx7RGF0ZUZvcm1hdHRlcjooKT0+YX0pO3ZhciByPXMoNDkxMTY1KTtjbGFzcyBpe2NvbnN0cnVjdG9yKGU9Inl5eXktTU0tZGQiLHQ9ITEscz0iVVRDIil7dGhpcy5fZGF0ZUZvcm1hdEZ1bmM9dD8oMCxyLmdldERhdGVGb3JtYXRXaXRoV2Vla2RheSkoZSxzKTpyLmRhdGVGb3JtYXRGdW5jdGlvbnNbZV19Zm9ybWF0KGUpe3JldHVybiB0aGlzLl9kYXRlRm9ybWF0RnVuYyhlLCExKX1mb3JtYXRMb2NhbChlKXtyZXR1cm4gdGhpcy5fZGF0ZUZvcm1hdEZ1bmMoZSwhMCl9cGFyc2UoZSl7cmV0dXJuIiI9PT1lP3tyZXM6ITF9OntyZXM6ITAsdmFsdWU6ZX19fWNsYXNzIGF7Y29uc3RydWN0b3IoZSx0LHMpe3RoaXMuX2RhdGVGb3JtYXR0ZXJJbnN0YW5jZT1uZXcgaShlLHQscyl9Zm9ybWF0KGUpe3JldHVybiBhLl9jdXN0b21Gb3JtYXR0ZXI/YS5fY3VzdG9tRm9ybWF0dGVyLmZvcm1hdChlKTp0aGlzLl9kYXRlRm9ybWF0dGVySW5zdGFuY2UuZm9ybWF0KGUpfWZvcm1hdExvY2FsKGUpe3JldHVybiBhLl9jdXN0b21Gb3JtYXR0ZXI/YS5fY3VzdG9tRm9ybWF0dGVyLmZvcm1hdExvY2FsKGUpOnRoaXMuX2RhdGVGb3JtYXR0ZXJJbnN0YW5jZS5mb3JtYXRMb2NhbChlKX1wYXJzZShlKXtyZXR1cm4gYS5fY3VzdG9tRm9ybWF0dGVyP2EuX2N1c3RvbUZvcm1hdHRlci5wYXJzZShlKTp0aGlzLl9kYXRlRm9ybWF0dGVySW5zdGFuY2UucGFyc2UoZSl9c3RhdGljIHNldEN1c3RvbUZvcm1hdHRlcihlKXthLl9jdXN0b21Gb3JtYXR0ZXI9ZX19YS5fY3VzdG9tRm9ybWF0dGVyPW51bGx9LDgyNjE1NihlLHQscyl7cy5kKHQse0RhdGVUaW1lRm9ybWF0dGVyOigpPT5ufSk7dmFyIHI9cygyMzgxMDMpLGk9cyg2MjQ2NzgpLGE9cygyOTcxMTEpO2NvbnN0IG89e2RhdGVGb3JtYXQ6Inl5eXktTU0tZGQiLHdpdGhXZWVrZGF5OiExLHRpbWVGb3JtYXQ6ci5ob3VyTWludXRlU2Vjb25kRm9ybWF0LGRhdGVUaW1lU2VwYXJhdG9yOiIgIn07Y2xhc3Mgbntjb25zdHJ1Y3RvcihlPXt9KXtjb25zdCB0PU9iamVjdC5hc3NpZ24oe30sbyxlKTt0aGlzLl9kYXRlRm9ybWF0dGVyPW5ldyBpLkRhdGVGb3JtYXR0ZXIodC5kYXRlRm9ybWF0LHQud2l0aFdlZWtkYXksdC50aW1lem9uZSksdGhpcy5fdGltZUZvcm1hdHRlcj1uZXcgYS5UaW1lRm9ybWF0dGVyKHQudGltZUZvcm1hdCksdGhpcy5fc2VwYXJhdG9yPXQuZGF0ZVRpbWVTZXBhcmF0b3J9Zm9ybWF0KGUsdCl7Y29uc3Qgcz10Py5kYXRlVGltZVNlcGFyYXRvcj8/dGhpcy5fc2VwYXJhdG9yO3JldHVybmAke3RoaXMuX2RhdGVGb3JtYXR0ZXIuZm9ybWF0KGUpfSR7c30ke3RoaXMuX3RpbWVGb3JtYXR0ZXIuZm9ybWF0KGUpfWB9Zm9ybWF0TG9jYWwoZSx0KXtjb25zdCBzPXQ/LmRhdGVUaW1lU2VwYXJhdG9yPz90aGlzLl9zZXBhcmF0b3I7cmV0dXJuYCR7dGhpcy5fZGF0ZUZvcm1hdHRlci5mb3JtYXRMb2NhbChlKX0ke3N9JHt0aGlzLl90aW1lRm9ybWF0dGVyLmZvcm1hdExvY2FsKGUpfWB9fX0sMjM4MTAzKGUsdCxzKXtzLmQodCx7aG91ck1pbnV0ZUZvcm1hdDooKT0+byxob3VyTWludXRlTm9uWmVyb1NlY29uZEZvcm1hdDooKT0+aSxob3VyTWludXRlU2Vjb25kRm9ybWF0OigpPT5yLGhvdXJNaW51dGVTZWNvbmRNaWxsaXNlY0Zvcm1hdDooKT0+YSx0d2VsdmVIb3VyTWludXRlRm9ybWF0OigpPT5sLHR3ZWx2ZUhvdXJNaW51dGVOb25aZXJvU2Vjb25kRm9ybWF0OigpPT5kLHR3ZWx2ZUhvdXJNaW51dGVTZWNvbmRGb3JtYXQ6KCk9Pm59KTtjb25zdCByPSIlaDolbTolcyIsaT0iJWg6JW06JXMrIixhPSIlaDolbTolcy4lc3MrIixvPSIlaDolbSIsbj0iJWg6JW06JXMgJWFtcG0iLGQ9IiVoOiVtOiVzKyAlYW1wbSIsbD0iJWg6JW0gJWFtcG0iO3ZhciBoOyFmdW5jdGlvbihlKXtlLlR3ZW50eUZvdXJIb3Vycz0iMjQtaG91cnMiLGUuVHdlbHZlSG91cnM9IjEyLWhvdXJzIn0oaHx8KGg9e30pKX0sMjk3MTExKGUsdCxzKXtzLmQodCx7VGltZUZvcm1hdHRlcjooKT0+b30pO3ZhciByPXMoMjM4MTAzKSxpPXMoODIyNDMxKTtjbGFzcyBhe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2lzVHdlbHZlSG91cnNGb3JtYXQ9ITEsdGhpcy5fdmFsdWVzQW5kRGVsaW1pdGVycz1bXTtjb25zdCB0PWV8fHIuaG91ck1pbnV0ZVNlY29uZEZvcm1hdCxzPW5ldyBSZWdFeHAoIiVofCVtfCVzXFwrfCVzc1xcK3wlc3N8JWFtcG18JXMiLCJnIik7bGV0IGk9cy5leGVjKHQpLGE9MDtmb3IoO251bGwhPT1pOyl7Y29uc3QgZT1pWzBdOyIlYW1wbSI9PT1lJiYodGhpcy5faXNUd2VsdmVIb3Vyc0Zvcm1hdD0hMCk7Y29uc3Qgcj10LnN1YnN0cmluZyhhLGkuaW5kZXgpOyIiIT09ciYmdGhpcy5fdmFsdWVzQW5kRGVsaW1pdGVycy5wdXNoKHIpLHRoaXMuX3ZhbHVlc0FuZERlbGltaXRlcnMucHVzaChlKSxhPWkuaW5kZXgrZS5sZW5ndGgsaT1zLmV4ZWModCl9fWZvcm1hdChlKXtyZXR1cm4gdGhpcy5fZm9ybWF0VGltZShlKX1mb3JtYXRMb2NhbChlKXtyZXR1cm4gdGhpcy5fZm9ybWF0VGltZShlLCEwKX1fZm9ybWF0VGltZShlLHQ9ITEpe2xldCBzPXQ/ZS5nZXRIb3VycygpOmUuZ2V0VVRDSG91cnMoKTtjb25zdCByPXQ/ZS5nZXRNaW51dGVzKCk6ZS5nZXRVVENNaW51dGVzKCksYT10P2UuZ2V0U2Vjb25kcygpOmUuZ2V0VVRDU2Vjb25kcygpLG89dD9lLmdldE1pbGxpc2Vjb25kcygpOmUuZ2V0VVRDTWlsbGlzZWNvbmRzKCk7bGV0IG49IiIKO3RoaXMuX2lzVHdlbHZlSG91cnNGb3JtYXQmJihuPXM+PTEyPyJQTSI6IkFNIixzJT0xMixzPXN8fDEyKTtsZXQgZD0iIixsPSExO2ZvcihsZXQgZT10aGlzLl92YWx1ZXNBbmREZWxpbWl0ZXJzLmxlbmd0aC0xO2U+PTA7ZS0tKXtjb25zdCB0PXRoaXMuX3ZhbHVlc0FuZERlbGltaXRlcnNbZV07bGV0IGg7c3dpdGNoKHQpe2Nhc2UiJWgiOmg9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykocywyKTticmVhaztjYXNlIiVtIjpoPSgwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKHIsMik7YnJlYWs7Y2FzZSIlcysiOjAhPT1hP2g9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoYSwyKTooaD0iIixsPSEwKTticmVhaztjYXNlIiVzIjpoPSgwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGEsMik7YnJlYWs7Y2FzZSIlc3MiOmg9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykobywzKTticmVhaztjYXNlIiVzcysiOjAhPT1vP2g9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykobywzKTooaD0iIixsPSEwKTticmVhaztjYXNlIiVhbXBtIjpoPW47YnJlYWs7ZGVmYXVsdDppZihsKXtsPSExO2NvbnRpbnVlfWg9dH1kPWgrZH1yZXR1cm4gZH19Y2xhc3Mgb3tjb25zdHJ1Y3RvcihlKXt0aGlzLl90aW1lRm9ybWF0dGVySW5zdGFuY2U9bmV3IGEoZSl9Zm9ybWF0KGUpe3JldHVybiBvLl9jdXN0b21Gb3JtYXR0ZXI/by5fY3VzdG9tRm9ybWF0dGVyLmZvcm1hdChlKTp0aGlzLl90aW1lRm9ybWF0dGVySW5zdGFuY2UuZm9ybWF0KGUpfWZvcm1hdExvY2FsKGUpe3JldHVybiBvLl9jdXN0b21Gb3JtYXR0ZXI/by5fY3VzdG9tRm9ybWF0dGVyLmZvcm1hdExvY2FsKGUpOnRoaXMuX3RpbWVGb3JtYXR0ZXJJbnN0YW5jZS5mb3JtYXRMb2NhbChlKX1zdGF0aWMgc2V0Q3VzdG9tRm9ybWF0dGVyKGUpe28uX2N1c3RvbUZvcm1hdHRlcj1lfX1vLl9jdXN0b21Gb3JtYXR0ZXI9bnVsbH0sNDU5OTk0KGUsdCxzKXtzLmQodCx7Q2hhcnRTZXNzaW9uOigpPT5jfSk7dmFyIHI9cyg5NDgzODApLGk9cygxMzg2MzgpLGE9cygyMzIzNjQpLG89cygyMjEwNjEpLG49cygxNTAxNTApO2NvbnN0IGQ9KDAsby5nZXRMb2dnZXIpKCJDaGFydEFwaS5BYnN0cmFjdFNlc3Npb24iKTt2YXIgbDshZnVuY3Rpb24oZSl7ZVtlLkRpc2Nvbm5lY3RlZD0wXT0iRGlzY29ubmVjdGVkIixlW2UuUmVnaXN0ZXJlZD0xXT0iUmVnaXN0ZXJlZCIsZVtlLkNvbm5lY3RlZD0yXT0iQ29ubmVjdGVkIn0obHx8KGw9e30pKTtjbGFzcyBoe2NvbnN0cnVjdG9yKGUsdCxzKXt0aGlzLl9pc0Nvbm5lY3RlZD1uZXcgYS5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3N0YXRlPTAsdGhpcy5faXNDb25uZWN0Rm9yYmlkZGVuPSExLHRoaXMuX3Nlc3Npb25JZD0iIix0aGlzLl9zZXNzaW9uSWRDaGFuZ2VkPW5ldyByLkRlbGVnYXRlLHRoaXMuX2NoYXJ0QXBpPWUsdGhpcy5fc2Vzc2lvblByZWZpeD10LHRoaXMuX3Nob3VsZFJlY29ubmVjdEFmdGVyQ3JpdGljYWxFcnJvcj1zfWRlc3Ryb3koKXt0aGlzLl9sb2dOb3JtYWwoIkRlc3Ryb3lpbmcgc2Vzc2lvbiIpLHRoaXMuX2lzQ29ubmVjdGVkLnVuc3Vic2NyaWJlKCksdGhpcy5kaXNjb25uZWN0KCksdGhpcy5fc2Vzc2lvbklkQ2hhbmdlZC5kZXN0cm95KCksZGVsZXRlIHRoaXMuX2NoYXJ0QXBpLHRoaXMuX2xvZ05vcm1hbCgiU2Vzc2lvbiBoYXMgYmVlbiBkZXN0cm95ZWQiKX1pc0Nvbm5lY3RlZCgpe3JldHVybiB0aGlzLl9pc0Nvbm5lY3RlZH1zZXNzaW9uSWQoKXtyZXR1cm4gdGhpcy5fc2Vzc2lvbklkfW9uU2Vzc2lvbklkQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9zZXNzaW9uSWRDaGFuZ2VkfWNvbm5lY3QoKXswPT09dGhpcy5fc3RhdGUmJigoMCxpLmFzc2VydCkoIXRoaXMuX2lzQ29ubmVjdEZvcmJpZGRlbiwiQ2Fubm90IGNhbGwgY29ubmVjdCBiZWNhdXNlIGl0IGlzIGZvcmJpZGRlbiBhdCB0aGlzIG1vbWVudCIpLHRoaXMuX3NldFNlc3Npb25JZChgJHt0aGlzLl9zZXNzaW9uUHJlZml4fV8keygwLG4ucmFuZG9tSGFzaCkoKX1gKSx0aGlzLl9sb2dOb3JtYWwoIkNvbm5lY3Rpbmcgc2Vzc2lvbiAtIHdhaXQgdW50aWwgdHJhbnNwb3J0IHN0YXkgY29ubmVjdGVkIiksdGhpcy5fc3RhdGU9MSx0aGlzLl9jaGFydEFwaS5jcmVhdGVTZXNzaW9uKHRoaXMuX3Nlc3Npb25JZCx0aGlzKSl9ZGlzY29ubmVjdCgpezAhPT10aGlzLl9zdGF0ZSYmKCgwLGkuYXNzZXJ0KSgiIiE9PXRoaXMuX3Nlc3Npb25JZCwic2Vzc2lvbklkIG11c3Qgbm90IGJlIGludmFsaWQiKSx0aGlzLl9sb2dOb3JtYWwoIkRpc2Nvbm5lY3Rpbmcgc2Vzc2lvbi4uLiIpLHRoaXMuX2ZvcmJpZENvbm5lY3RXaGlsZSgoKCk9Pnt0aGlzLl9jaGFydEFwaS5jb25uZWN0ZWQoKSYmdGhpcy5fc2VuZFJlbW92ZVNlc3Npb24oKSx0aGlzLl9wcm9jZXNzRGVzdHJveWluZ09uU2VydmVyKCl9KSkpfW9uTWVzc2FnZShlKXtzd2l0Y2goZS5tZXRob2Qpe2Nhc2UiY29ubmVjdGVkIjpyZXR1cm4gdm9pZCB0aGlzLl9vbkNoYXJ0QXBpQ29ubmVjdGVkKCk7Y2FzZSJkaXNjb25uZWN0ZWQiOnJldHVybiB2b2lkIHRoaXMuX29uQ2hhcnRBcGlEaXNjb25uZWN0ZWQoKTtjYXNlImNyaXRpY2FsX2Vycm9yIjpjb25zdCB0PVN0cmluZyhlLnBhcmFtc1swXSkscz1TdHJpbmcoZS5wYXJhbXNbMV0pO3JldHVybiB2b2lkIHRoaXMuX29uQ3JpdGljYWxFcnJvcih0LHMpfXRoaXMuX29uTWVzc2FnZShlKX1zZXJ2ZXJUaW1lKCl7cmV0dXJuIHRoaXMuX2NoYXJ0QXBpLnNlcnZlclRpbWUoKX1fZ2V0Q2hhcnRBcGkoKXtyZXR1cm4gdGhpcy5fY2hhcnRBcGl9X2dlbmVyYXRlTG9nTWVzc2FnZShlKXtyZXR1cm5gWyR7dGhpcy5fc2Vzc2lvbklkfV0gJHtlfWB9X29uQ3JpdGljYWxFcnJvcihlLHQpe3RoaXMuX2xvZ0Vycm9yKGBDcml0aWNhbCBlcnJvci4gUmVhc29uPSR7ZX0sIGluZm89JHt0fS5gKSx0aGlzLl9mb3JiaWRDb25uZWN0V2hpbGUoKCgpPT57dGhpcy5fcHJvY2Vzc0Rlc3Ryb3lpbmdPblNlcnZlcigpfSkpLAp0aGlzLl9zaG91bGRSZWNvbm5lY3RBZnRlckNyaXRpY2FsRXJyb3I/KHRoaXMuX2xvZ05vcm1hbCgiUmVjb25uZWN0aW5nIGFmdGVyIGNyaXRpY2FsIGVycm9yLi4uIiksdGhpcy5jb25uZWN0KCkpOnRoaXMuX2xvZ05vcm1hbCgiUmVjb25uZWN0aW5nIGFmdGVyIGNyaXRpY2FsIGVycm9yIHNraXBwZWQiKX1fb25DaGFydEFwaUNvbm5lY3RlZCgpeygwLGkuYXNzZXJ0KSgxPT09dGhpcy5fc3RhdGUsIlNlc3Npb24gaXMgbm90IHJlZ2lzdGVyZWQiKSx0aGlzLl9sb2dOb3JtYWwoIlRyYW5zcG9ydCBpcyBjb25uZWN0ZWQuIENyZWF0aW5nIHNlc3Npb24gb24gdGhlIHNlcnZlciIpLHRoaXMuX3NlbmRDcmVhdGVTZXNzaW9uKCksdGhpcy5fc3RhdGU9Mix0aGlzLl9pc0Nvbm5lY3RlZC5zZXRWYWx1ZSghMCl9X29uQ2hhcnRBcGlEaXNjb25uZWN0ZWQoKXt0aGlzLl9sb2dOb3JtYWwoIlRyYW5zcG9ydCBpcyBkaXNjb25uZWN0ZWQuIFJlY29ubmVjdGluZy4uLiIpLHRoaXMuX2ZvcmJpZENvbm5lY3RXaGlsZSgoKCk9Pnt0aGlzLl9wcm9jZXNzRGVzdHJveWluZ09uU2VydmVyKCl9KSksdGhpcy5jb25uZWN0KCl9X3NldFNlc3Npb25JZChlKXtjb25zdCB0PXRoaXMuX3Nlc3Npb25JZDt0aGlzLl9sb2dOb3JtYWwoYENoYW5naW5nIHNlc3Npb25JZDogb2xkPSR7dH0sIG5ldz0ke2V9YCksdGhpcy5fc2Vzc2lvbklkPWUsdGhpcy5fc2Vzc2lvbklkQ2hhbmdlZC5maXJlKGUsdCl9X2xvZ05vcm1hbChlKXtkLmxvZ05vcm1hbCh0aGlzLl9nZW5lcmF0ZUxvZ01lc3NhZ2UoZSkpfV9sb2dFcnJvcihlKXtkLmxvZ0Vycm9yKHRoaXMuX2dlbmVyYXRlTG9nTWVzc2FnZShlKSl9X3Byb2Nlc3NEZXN0cm95aW5nT25TZXJ2ZXIoKXt0aGlzLl9zdGF0ZT0wLHRoaXMuX2lzQ29ubmVjdGVkLnNldFZhbHVlKCExKSx0aGlzLl9jaGFydEFwaS5yZW1vdmVTZXNzaW9uKHRoaXMuX3Nlc3Npb25JZCksdGhpcy5fc2V0U2Vzc2lvbklkKCIiKX1fZm9yYmlkQ29ubmVjdFdoaWxlKGUpe3RoaXMuX2lzQ29ubmVjdEZvcmJpZGRlbj0hMCxlKCksdGhpcy5faXNDb25uZWN0Rm9yYmlkZGVuPSExfX1jbGFzcyBjIGV4dGVuZHMgaHtjb25zdHJ1Y3RvcihlLHQ9ITEpe3N1cGVyKGUsImNzIiwhMSksdGhpcy5fc2Vzc2lvbkRpc2FibGVkPSExLHRoaXMuX2hhbmRsZXI9bnVsbCx0aGlzLl9jcml0aWNhbEVycm9yPW5ldyByLkRlbGVnYXRlLHRoaXMuX3N5bWJvbFJlc29sdmVNYXA9bmV3IE1hcCx0aGlzLl9sYXN0U3ltYm9sUmVzb2x2ZUluZm9NYXA9bmV3IE1hcCx0aGlzLl9kaXNhYmxlU3RhdGlzdGljcz10fWRlc3Ryb3koKXt0aGlzLl9jcml0aWNhbEVycm9yLmRlc3Ryb3koKSx0aGlzLl9oYW5kbGVyPW51bGwsdGhpcy5fc3ltYm9sUmVzb2x2ZU1hcC5jbGVhcigpLHN1cGVyLmRlc3Ryb3koKX1zd2l0Y2hUaW1lem9uZShlKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5zd2l0Y2hUaW1lem9uZSh0aGlzLnNlc3Npb25JZCgpLGUpfWRlZmF1bHRSZXNvbHV0aW9ucygpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmRlZmF1bHRSZXNvbHV0aW9ucygpfWF2YWlsYWJsZUN1cnJlbmNpZXMoKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5hdmFpbGFibGVDdXJyZW5jaWVzKCl9YXZhaWxhYmxlVW5pdHMoKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5hdmFpbGFibGVVbml0cygpfWF2YWlsYWJsZU1ldHJpY3MoKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5hdmFpbGFibGVNZXRyaWNzKCl9YXZhaWxhYmxlUHJpY2VTb3VyY2VzKGUpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmF2YWlsYWJsZVByaWNlU291cmNlcyhlKX1yZXNvbHZlU3ltYm9sKGUsdCxzKXtpZih0aGlzLl9zeW1ib2xSZXNvbHZlTWFwLmhhcyh0KSl7Y29uc3RbZSxyXT10aGlzLl9zeW1ib2xSZXNvbHZlTWFwLmdldCh0KTtyZXR1cm4gQXJyYXkuaXNBcnJheShyKT9yLnB1c2gocyk6ci50aGVuKHMpLGV9e2NvbnN0IHI9W3NdO3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLnJlc29sdmVTeW1ib2wodGhpcy5zZXNzaW9uSWQoKSxlLHQsKHM9PntpZigic3ltYm9sX2Vycm9yIj09PXMubWV0aG9kKXRoaXMuX3N5bWJvbFJlc29sdmVNYXAuZGVsZXRlKHQpO2Vsc2V7dGhpcy5fc3ltYm9sUmVzb2x2ZU1hcC5zZXQodCxbZSxQcm9taXNlLnJlc29sdmUocyldKTtjb25zdFsscl09cy5wYXJhbXMsaT17cHJvX25hbWU6ci5wcm9fbmFtZSx0aWNrZXI6ci50aWNrZXJ9O3RoaXMuX2xhc3RTeW1ib2xSZXNvbHZlSW5mb01hcC5zZXQodCxpKSxpLnByb19uYW1lJiZ0aGlzLl9sYXN0U3ltYm9sUmVzb2x2ZUluZm9NYXAuc2V0KGkucHJvX25hbWUsaSksci5mdWxsX25hbWUmJnRoaXMuX2xhc3RTeW1ib2xSZXNvbHZlSW5mb01hcC5zZXQoci5mdWxsX25hbWUsaSksaS50aWNrZXImJnRoaXMuX2xhc3RTeW1ib2xSZXNvbHZlSW5mb01hcC5zZXQoaS50aWNrZXIsaSl9ci5mb3JFYWNoKChlPT5lKHMpKSl9KSksdGhpcy5fc3ltYm9sUmVzb2x2ZU1hcC5zZXQodCxbZSxyXSksZX19cmVxdWVzdEZpcnN0QmFyVGltZShlLHQscyl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCkucmVxdWVzdEZpcnN0QmFyVGltZSh0aGlzLnNlc3Npb25JZCgpLGUsdCxzKX1sYXN0U3ltYm9sUmVzb2x2ZUluZm8oZSl7cmV0dXJuIHRoaXMuX2xhc3RTeW1ib2xSZXNvbHZlSW5mb01hcC5nZXQoZSk/P251bGx9Y3JlYXRlU2VyaWVzKGUsdCxzLHIsaSxhLG8pe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmNyZWF0ZVNlcmllcyh0aGlzLnNlc3Npb25JZCgpLGUsdCxzLHIsaSxhLG8pfW1vZGlmeVNlcmllcyhlLHQscyxyLGksYSxvKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5tb2RpZnlTZXJpZXModGhpcy5zZXNzaW9uSWQoKSxlLHQscyxyLGksYSxvKX1yZW1vdmVTZXJpZXMoZSl7cmV0dXJuISF0aGlzLmlzQ29ubmVjdGVkKCkudmFsdWUoKSYmdGhpcy5fZ2V0Q2hhcnRBcGkoKS5yZW1vdmVTZXJpZXModGhpcy5zZXNzaW9uSWQoKSxlKX1yZXF1ZXN0TW9yZURhdGEoZSx0LHMpewpyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGU/dGhpcy5fZ2V0Q2hhcnRBcGkoKS5yZXF1ZXN0TW9yZURhdGEodGhpcy5zZXNzaW9uSWQoKSxlKTp0aGlzLl9nZXRDaGFydEFwaSgpLnJlcXVlc3RNb3JlRGF0YSh0aGlzLnNlc3Npb25JZCgpLGUsdCxzKX1yZXF1ZXN0TW9yZVRpY2ttYXJrcyhlLHQscyl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCkucmVxdWVzdE1vcmVUaWNrbWFya3ModGhpcy5zZXNzaW9uSWQoKSxlLHQscyl9c2V0RnV0dXJlVGlja21hcmtzTW9kZShlKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5zZXRGdXR1cmVUaWNrbWFya3NNb2RlKHRoaXMuc2Vzc2lvbklkKCksZSl9Y2FuQ3JlYXRlU3R1ZHkoZSx0KXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5jYW5DcmVhdGVTdHVkeSh0aGlzLnNlc3Npb25JZCgpLGUsdCl9Z2V0U3R1ZHlDb3VudGVyKCl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCkuZ2V0U3R1ZHlDb3VudGVyKHRoaXMuc2Vzc2lvbklkKCkpfWdldEZ1bmRhbWVudGFsQ291bnRlcigpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmdldEZ1bmRhbWVudGFsQ291bnRlcih0aGlzLnNlc3Npb25JZCgpKX1nZXRDaGlsZFN0dWR5Q291bnRlcigpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmdldENoaWxkU3R1ZHlDb3VudGVyKHRoaXMuc2Vzc2lvbklkKCkpfWNyZWF0ZVN0dWR5KGUsdCxzLHIsaSxhLG8pe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmNyZWF0ZVN0dWR5KHRoaXMuc2Vzc2lvbklkKCksZSx0LHMscixpLGEsbyl9bW9kaWZ5U3R1ZHkoZSx0LHMscixpKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5tb2RpZnlTdHVkeSh0aGlzLnNlc3Npb25JZCgpLGUsdCxzLHIsaSl9bm90aWZ5U3R1ZHkoZSx0LHMpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLm5vdGlmeVN0dWR5KHRoaXMuc2Vzc2lvbklkKCksZSx0LHMpfXJlbW92ZVN0dWR5KGUpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLnJlbW92ZVN0dWR5KHRoaXMuc2Vzc2lvbklkKCksZSl9Y3JlYXRlUG9pbnRzZXQoZSx0LHMscixpLGEpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmNyZWF0ZVBvaW50c2V0KHRoaXMuc2Vzc2lvbklkKCksZSx0LHMscixpLGEpfW1vZGlmeVBvaW50c2V0KGUsdCxzLHIpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLm1vZGlmeVBvaW50c2V0KHRoaXMuc2Vzc2lvbklkKCksZSx0LHMscil9cmVtb3ZlUG9pbnRzZXQoZSl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCkucmVtb3ZlUG9pbnRzZXQodGhpcy5zZXNzaW9uSWQoKSxlKX1zZXRWaXNpYmxlVGltZVJhbmdlKGUsdCxzLHIsaSxhLG8pe3RoaXMuX2dldENoYXJ0QXBpKCkuc2V0VmlzaWJsZVRpbWVSYW5nZSh0aGlzLnNlc3Npb25JZCgpLGUsdCxzLHIsITAsaSxhLHZvaWQgMCxvKX1jcml0aWNhbEVycm9yKCl7cmV0dXJuIHRoaXMuX2NyaXRpY2FsRXJyb3J9Y29ubmVjdChlPW51bGwpe251bGwhPT1lJiYodGhpcy5faGFuZGxlcj1lKSx0aGlzLl9zeW1ib2xSZXNvbHZlTWFwLmNsZWFyKCksc3VwZXIuY29ubmVjdCgpfXNldEhhbmRsZXIoZSl7dGhpcy5faGFuZGxlcj1lfWNvbm5lY3RlZCgpe3JldHVybiB0aGlzLmlzQ29ubmVjdGVkKCkudmFsdWUoKSYmIXRoaXMuX3Nlc3Npb25EaXNhYmxlZH1kaXNhYmxlKCl7dGhpcy5fc2Vzc2lvbkRpc2FibGVkPSEwfWNoYXJ0QXBpKCl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCl9X3NlbmRDcmVhdGVTZXNzaW9uKCl7T2JqZWN0LmtleXModGhpcykuZm9yRWFjaCgoZT0+ey9eKHN8c3R8c3ltYm9sXylcZCskLy50ZXN0KGUpJiZkZWxldGUgdGhpc1tlXX0pKSx0aGlzLl9nZXRDaGFydEFwaSgpLmNoYXJ0Q3JlYXRlU2Vzc2lvbih0aGlzLnNlc3Npb25JZCgpLHRoaXMuX2Rpc2FibGVTdGF0aXN0aWNzKX1fc2VuZFJlbW92ZVNlc3Npb24oKXt0aGlzLl9nZXRDaGFydEFwaSgpLmNoYXJ0RGVsZXRlU2Vzc2lvbih0aGlzLnNlc3Npb25JZCgpKX1fb25NZXNzYWdlKGUpe3RoaXMuX2hhbmRsZXImJnRoaXMuX2hhbmRsZXIoZSl9X29uQ3JpdGljYWxFcnJvcihlLHQpe3RoaXMuX2NyaXRpY2FsRXJyb3IuZmlyZShlLHQpLHN1cGVyLl9vbkNyaXRpY2FsRXJyb3IoZSx0KX19fSw0NzU0NzgoZSx0LHMpe3MuZCh0LHtDb25mbGF0ZWRDaHVua3NCdWlsZGVyOigpPT5vfSk7dmFyIHI9cygxMzg2MzgpLGk9cygxOTg5MDEpO2NvbnN0IGE9W3tiYXJzVG9NZXJnZToxMCxmb3JCYXJzcGFjaW5nTGFyZ2VyVGhlbjouMDN9LHtiYXJzVG9NZXJnZTozMCxmb3JCYXJzcGFjaW5nTGFyZ2VyVGhlbjouMDF9LHtiYXJzVG9NZXJnZToxMDAsZm9yQmFyc3BhY2luZ0xhcmdlclRoZW46LjAwM30se2JhcnNUb01lcmdlOjUwMCxmb3JCYXJzcGFjaW5nTGFyZ2VyVGhlbjowfV07Y2xhc3Mgb3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX3Bsb3RzPWUsdGhpcy5fc3RhdGU9e2NodW5rczpuZXcgTWFwLHByaWNlU291cmNlOm51bGwscHJpY2VTb3VyY2VzUHJvdmlkZXI6dH0sdGhpcy5fc2V0RW1wdHlDb25mbGF0ZWRDaHVua3MoKX1jb25mbGF0ZWRDaHVua3MoZSx0KXtpZih0IT09dGhpcy5fc3RhdGUucHJpY2VTb3VyY2Upe3RoaXMuX3N0YXRlLnByaWNlU291cmNlPXQ7Y29uc3QgZT10aGlzLl9wbG90cy5maXJzdCgpO2UmJih0aGlzLl9zZXRFbXB0eUNvbmZsYXRlZENodW5rcygpLHRoaXMuX3JlYnVpbGRDb25mbGF0ZWRDaHVua3MoZSkpfWNvbnN0IHM9KDAsci5lbnN1cmVEZWZpbmVkKShhLmZpbmQoKHQ9PnQuZm9yQmFyc3BhY2luZ0xhcmdlclRoZW48PWUpKSk7cmV0dXJuKDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zdGF0ZS5jaHVua3MuZ2V0KHMuYmFyc1RvTWVyZ2UpKX1tZXJnZURhdGEoZSl7Y29uc3QgdD10aGlzLl9wbG90cy5zaXplKCkscz10aGlzLl9wbG90cy5tZXJnZShlKTtyZXR1cm4gcyYmbnVsbCE9PXRoaXMuX3N0YXRlLnByaWNlU291cmNlJiYodD09PXRoaXMuX3Bsb3RzLnNpemUoKSYmcy5pbmRleD09PXRoaXMuX3Bsb3RzLmxhc3RJbmRleCgpP3RoaXMuX3VwZGF0ZUxhdGVzdENodW5rcygpOnRoaXMuX3JlYnVpbGRDb25mbGF0ZWRDaHVua3MocykpLHN9bW92ZURhdGEoZSl7CnRoaXMuX3Bsb3RzLm1vdmUoZSksdGhpcy5fcGxvdHMuc2l6ZSgpPjAmJnRoaXMuX2NsZWFyU3RhdGUoKX1jbGVhckRhdGEoKXt0aGlzLl9wbG90cy5jbGVhcigpLHRoaXMuX2NsZWFyU3RhdGUoKX1fcmVidWlsZENvbmZsYXRlZENodW5rcyhlKXtjb25zdCB0PXRoaXMuX3N0YXRlLnByaWNlU291cmNlO2lmKG51bGw9PT10KXJldHVybjtjb25zdCBzPWUuaW5kZXgsbz10aGlzLl9zdGF0ZS5wcmljZVNvdXJjZXNQcm92aWRlcih0KSxuPShlLHQscyk9PntsZXQgcj1udWxsO2Zvcihjb25zdCBpIG9mIGUpe2NvbnN0IGU9byhpLnZhbHVlKTtyJiZpLmluZGV4LXIuc3RhcnRUaW1lPj1zLmJhcnNUb01lcmdlJiYodC5wdXNoKHIpLHI9bnVsbCkscj8oci5lbmRUaW1lPWkuaW5kZXgsci5oaWdoPU1hdGgubWF4KHIuaGlnaCxlKSxyLmxvdz1NYXRoLm1pbihyLmxvdyxlKSxyLmNsb3NlPWUpOnI9e3N0YXJ0VGltZTppLmluZGV4LGVuZFRpbWU6aS5pbmRleCxvcGVuOmUsaGlnaDplLGxvdzplLGNsb3NlOmV9fXImJnQucHVzaChyKX07YS5mb3JFYWNoKChlPT57Y29uc3QgdD0oMCxyLmVuc3VyZURlZmluZWQpKHRoaXMuX3N0YXRlLmNodW5rcy5nZXQoZS5iYXJzVG9NZXJnZSkpLGE9KDAsaS5sb3dlcmJvdW5kKSh0LHMsKChlLHQpPT5lLmVuZFRpbWU8dCkpO2lmKDA9PT1hJiZ0Lmxlbmd0aD4wKXtjb25zdCBzPXRbMF0uc3RhcnRUaW1lLTEsaT0oMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Bsb3RzLmZpcnN0SW5kZXgoKSksYT10aGlzLl9wbG90cy5yYW5nZUl0ZXJhdG9yKGkscyksbz1bXTtuKGEsbyxlKTtjb25zdCBkPW8uY29uY2F0KHQpO3RoaXMuX3N0YXRlLmNodW5rcy5zZXQoZS5iYXJzVG9NZXJnZSxkKX1lbHNle2NvbnN0IHM9KDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wbG90cy5sYXN0SW5kZXgoKSk7dC5zcGxpY2UoYSk7bGV0IGk9KDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wbG90cy5maXJzdEluZGV4KCkpO3QubGVuZ3RoJiYoaT10W3QubGVuZ3RoLTFdLmVuZFRpbWUrMSk7Y29uc3Qgbz10aGlzLl9wbG90cy5yYW5nZUl0ZXJhdG9yKGkscyk7bihvLHQsZSl9fSkpfV91cGRhdGVMYXRlc3RDaHVua3MoKXtjb25zdCBlPSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fcGxvdHMubGFzdCgpKSx0PXRoaXMuX3N0YXRlLnByaWNlU291cmNlc1Byb3ZpZGVyKCJjbG9zZSIpO2EuZm9yRWFjaCgocz0+e2NvbnN0IGk9KDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zdGF0ZS5jaHVua3MuZ2V0KHMuYmFyc1RvTWVyZ2UpKSxhPXQoZS52YWx1ZSksbz1pW2kubGVuZ3RoLTFdO28uaGlnaD1NYXRoLm1heChvLmhpZ2gsYSksby5sb3c9TWF0aC5taW4oby5sb3csYSksby5jbG9zZT1hLG8uZW5kVGltZT1lLmluZGV4fSkpfV9zZXRFbXB0eUNvbmZsYXRlZENodW5rcygpe2EuZm9yRWFjaCgoZT0+dGhpcy5fc3RhdGUuY2h1bmtzLnNldChlLmJhcnNUb01lcmdlLFtdKSkpfV9jbGVhclN0YXRlKCl7dGhpcy5fc3RhdGUuY2h1bmtzLmNsZWFyKCksdGhpcy5fc3RhdGUucHJpY2VTb3VyY2U9bnVsbH19fSw5MzYzMjYoZSx0LHMpe3ZhciByO3MuZCh0LHtQbG90Um93U2VhcmNoTW9kZTooKT0+cn0pLGZ1bmN0aW9uKGUpe2VbZS5OZWFyZXN0TGVmdD0tMV09Ik5lYXJlc3RMZWZ0IixlW2UuRXhhY3Q9MF09IkV4YWN0IixlW2UuTmVhcmVzdFJpZ2h0PTFdPSJOZWFyZXN0UmlnaHQifShyfHwocj17fSkpfSw3OTE1MjEoZSx0LHMpe3ZhciByO3MuZCh0LHtTeW1ib2xFcnJvclBlcm1pc3Npb25EZW5pZWRSZWFzb246KCk9PnIsaW52YWxpZFN5bWJvbDooKT0+YSxwZXJtaXNzaW9uRGVuaWVkOigpPT5pfSksZnVuY3Rpb24oZSl7ZS5TeW1ib2w9InN5bWJvbCIsZS5Hcm91cFBlcm1pc3Npb249Imdyb3VwIn0ocnx8KHI9e30pKTtjb25zdCBpPSJwZXJtaXNzaW9uIGRlbmllZCIsYT0iaW52YWxpZCBzeW1ib2wifSw4NDg2MDEoZSx0LHMpe3MuZCh0LHtwYXJzZU5vblNlcmllc0VudmVsb3BlOigpPT5hfSk7dmFyIHI9cyg2MDE4NDEpLGk9cyg5OTU2NTUpO2Z1bmN0aW9uIGEoZSl7aWYoIiI9PT1lKXJldHVybiBudWxsO2NvbnN0IHQ9SlNPTi5wYXJzZShlKTtpZighKDAsci5pc09iamVjdCkodCl8fCJmdW5jdGlvbiI9PXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcigiTm9uLW9iamVjdCBjb250ZW50IGluIHRoZSBub24tc2VyaWVzIGVudmVsb3BlIik7aWYoKDAsci5oYXNQcm9wZXJ0eSkodCwiaW5kZXhlc19yZXBsYWNlIikpcmV0dXJue25zRGF0YTp7aW5kZXhlc19yZXBsYWNlOiEwfSxwYXJzZWREYXRhOnR9O2NvbnN0IHM9e2luZGV4ZXNfcmVwbGFjZTohMX07aWYoKDAsci5oYXNQcm9wZXJ0eSkodCwib2Zmc2V0cyIpJiYocy5vZmZzZXRzPXQub2Zmc2V0cyksKDAsci5oYXNQcm9wZXJ0eSkodCwiaXNVcGRhdGUiKSl7aWYoImJvb2xlYW4iIT10eXBlb2YgdC5pc1VwZGF0ZSl0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdHlwZSBvZiAiaXNVcGRhdGUiIGZpZWxkJyk7cy5pc1VwZGF0ZT10LmlzVXBkYXRlfXJldHVybigwLHIuaGFzUHJvcGVydHkpKHQsImRhdGEiKSYmKHMuZGF0YT10LmRhdGEpLCgwLHIuaGFzUHJvcGVydHkpKHQsImdyYXBoaWNzQ21kcyIpJiYocy5ncmFwaGljc0NtZHM9KDAsaS52YWxpZGF0ZUdyYXBoaWNzQ29tbWFuZHMpKHQuZ3JhcGhpY3NDbWRzKSkse25zRGF0YTpzLHBhcnNlZERhdGE6dH19fSw1NTA5MDQoZSx0LHMpe3MuZCh0LHt1bnBhY2tOb25TZXJpZXNEYXRhOigpPT5pfSk7dmFyIHI9cyg4NDg2MDEpO2FzeW5jIGZ1bmN0aW9uIGkoZSl7cmV0dXJuKDAsci5wYXJzZU5vblNlcmllc0VudmVsb3BlKShlKT8ubnNEYXRhPz9udWxsfX0sMTU2OTA4KGUsdCxzKXtzLmQodCx7REVGQVVMVF9OVU1CQVJTOigpPT5pLGluaXRpYWxSZXF1ZXN0T3B0aW9uc1RvTnVtQmFyczooKT0+YX0pO3ZhciByPXMoMTM4NjM4KTtjb25zdCBpPTMwMDtmdW5jdGlvbiBhKGUpe3JldHVybiBlLnN0YXJ0RGF0ZT9lLmVuZERhdGV8fGUuY291bnQ/ZS5lbmREYXRlP1siZnJvbV90byIsZS5zdGFydERhdGUsZS5lbmREYXRlXTpbImJhcl9jb3VudCIsZS5zdGFydERhdGUsKDAsCnIuZW5zdXJlKShlLmNvdW50KV06WyJmcm9tX3RvIixlLnN0YXJ0RGF0ZV06ZS5jb3VudHx8aX19LDg3MTAzNyhlLHQscyl7YXN5bmMgZnVuY3Rpb24gcihlLHQpe2lmKHZvaWQgMD09PWUpcmV0dXJue3Byb2plY3Rpb25QbG90czpbXSxib3hTaXplOm51bGx9O2lmKCIiPT09ZS5kfHwibm9jaGFuZ2UiPT09ZS5pbmRleGVzKXJldHVybiBudWxsO2NvbnN0IHM9YXdhaXQgdChlLmQpO2lmKG51bGw9PT1zfHxzLmluZGV4ZXNfcmVwbGFjZSlyZXR1cm4gbnVsbDtjb25zdCByPWUuaW5kZXhlcyx7YmFyczppPVtdLHByaWNlOmEsYm94U2l6ZTpvLHJldmVyc2FsQW1vdW50Om59PXMuZGF0YTtyZXR1cm57bGFzdFByaWNlOmEscHJvamVjdGlvblBsb3RzOmkubWFwKChlPT57bGV0IHQ7cmV0dXJuImZhY3RvciJpbiBlP3Q9ZS5mYWN0b3I6ImFkZGl0aW9uYWxQcmljZSJpbiBlJiYodD1lLmFkZGl0aW9uYWxQcmljZSkse2luZGV4OnJbZS50aW1lXSx2YWx1ZTpbMCxlLm9wZW4sZS5oaWdoLGUubG93LGUuY2xvc2UsZS52b2x1bWUsdF19fSkpLHJldmVyc2FsQW1vdW50Om4sYm94U2l6ZTpvfX1zLmQodCx7cGFyc2VKYXBhbmVzZVByb2plY3Rpb25CYXJzOigpPT5yfSl9LDkzNTI0MChlLHQscyl7cy5kKHQse1Nlcmllc0RhdGFTb3VyY2U6KCk9PkN9KTt2YXIgcj1zKDEzODYzOCksaT1zKDYwMTg0MSksYT1zKDIyMTA2MSksbz1zKDI1NDY3Myksbj1zKDYxOTE2NSksZD1zKDc5MTUyMSksbD1zKDU1MDkwNCksaD1zKDE1NjkwOCksYz1zKDExMTk1MyksdT1zKDk0ODM4MCk7Y2xhc3MgX3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2NyZWF0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fbW9kaWZpZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fY2xlYXJlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9sb2FkaW5nPW5ldyB1LkRlbGVnYXRlLHRoaXMuX2NvbXBsZXRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9lcnJvcj1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xFcnJvcj1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xSZXNvbHZlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zZXJpZXNFcnJvcj1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xOb3RQZXJtaXR0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fc3ltYm9sSW52YWxpZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xHcm91cE5vdFBlcm1pdHRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9jaGFydFR5cGVOb3RQZXJtaXR0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5faW50cmFkYXlTcHJlYWROb3RQZXJtaXR0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5faW50cmFkYXlFeGNoYW5nZU5vdFBlcm1pdHRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9jdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zZWNvbmRzSW50ZXJ2YWxOb3RQZXJtaXR0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fdGlja3NJbnRlcnZhbE5vdFBlcm1pdHRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9iYXJSZWNlaXZlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zZXJpZXNUaW1lRnJhbWU9bmV3IHUuRGVsZWdhdGUsdGhpcy5fZGF0YVVwZGF0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fdW5zdXBwb3J0ZWRSZXNvbHV0aW9uUmVxdWVzdGVkPW5ldyB1LkRlbGVnYXRlfWRlc3Ryb3koKXt0aGlzLl9jcmVhdGVkLmRlc3Ryb3koKSx0aGlzLl9tb2RpZmllZC5kZXN0cm95KCksdGhpcy5fbG9hZGluZy5kZXN0cm95KCksdGhpcy5fY29tcGxldGVkLmRlc3Ryb3koKSx0aGlzLl9lcnJvci5kZXN0cm95KCksdGhpcy5fc3ltYm9sRXJyb3IuZGVzdHJveSgpLHRoaXMuX3N5bWJvbFJlc29sdmVkLmRlc3Ryb3koKSx0aGlzLl9zZXJpZXNFcnJvci5kZXN0cm95KCksdGhpcy5fc3ltYm9sSW52YWxpZC5kZXN0cm95KCksdGhpcy5fc3ltYm9sTm90UGVybWl0dGVkLmRlc3Ryb3koKSx0aGlzLl9zeW1ib2xHcm91cE5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5fY2hhcnRUeXBlTm90UGVybWl0dGVkLmRlc3Ryb3koKSx0aGlzLl9pbnRyYWRheVNwcmVhZE5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5faW50cmFkYXlFeGNoYW5nZU5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5fY3VzdG9tSW50ZXJ2YWxOb3RQZXJtaXR0ZWQuZGVzdHJveSgpLHRoaXMuX3NlY29uZHNJbnRlcnZhbE5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5fdGlja3NJbnRlcnZhbE5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5fYmFyUmVjZWl2ZWQuZGVzdHJveSgpLHRoaXMuX3Nlcmllc1RpbWVGcmFtZS5kZXN0cm95KCksdGhpcy5fZGF0YVVwZGF0ZWQuZGVzdHJveSgpLHRoaXMuX3Vuc3VwcG9ydGVkUmVzb2x1dGlvblJlcXVlc3RlZC5kZXN0cm95KCl9Y3JlYXRlZCgpe3JldHVybiB0aGlzLl9jcmVhdGVkfW1vZGlmaWVkKCl7cmV0dXJuIHRoaXMuX21vZGlmaWVkfWNsZWFyZWQoKXtyZXR1cm4gdGhpcy5fY2xlYXJlZH1sb2FkaW5nKCl7cmV0dXJuIHRoaXMuX2xvYWRpbmd9Y29tcGxldGVkKCl7cmV0dXJuIHRoaXMuX2NvbXBsZXRlZH1lcnJvcigpe3JldHVybiB0aGlzLl9lcnJvcn1zeW1ib2xFcnJvcigpe3JldHVybiB0aGlzLl9zeW1ib2xFcnJvcn1zeW1ib2xSZXNvbHZlZCgpe3JldHVybiB0aGlzLl9zeW1ib2xSZXNvbHZlZH1zZXJpZXNFcnJvcigpe3JldHVybiB0aGlzLl9zZXJpZXNFcnJvcn1zeW1ib2xJbnZhbGlkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbEludmFsaWR9c3ltYm9sTm90UGVybWl0dGVkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbE5vdFBlcm1pdHRlZH1zeW1ib2xHcm91cE5vdFBlcm1pdHRlZCgpe3JldHVybiB0aGlzLl9zeW1ib2xHcm91cE5vdFBlcm1pdHRlZH1jaGFydFR5cGVOb3RQZXJtaXR0ZWQoKXtyZXR1cm4gdGhpcy5fY2hhcnRUeXBlTm90UGVybWl0dGVkfWludHJhZGF5U3ByZWFkTm90UGVybWl0dGVkKCl7cmV0dXJuIHRoaXMuX2ludHJhZGF5U3ByZWFkTm90UGVybWl0dGVkfWludHJhZGF5RXhjaGFuZ2VOb3RQZXJtaXR0ZWQoKXtyZXR1cm4gdGhpcy5faW50cmFkYXlFeGNoYW5nZU5vdFBlcm1pdHRlZH1jdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZCgpewpyZXR1cm4gdGhpcy5fY3VzdG9tSW50ZXJ2YWxOb3RQZXJtaXR0ZWR9c2Vjb25kc0ludGVydmFsTm90UGVybWl0dGVkKCl7cmV0dXJuIHRoaXMuX3NlY29uZHNJbnRlcnZhbE5vdFBlcm1pdHRlZH10aWNrc0ludGVydmFsTm90UGVybWl0dGVkKCl7cmV0dXJuIHRoaXMuX3RpY2tzSW50ZXJ2YWxOb3RQZXJtaXR0ZWR9YmFyUmVjZWl2ZWQoKXtyZXR1cm4gdGhpcy5fYmFyUmVjZWl2ZWR9c2VyaWVzVGltZUZyYW1lKCl7cmV0dXJuIHRoaXMuX3Nlcmllc1RpbWVGcmFtZX1kYXRhVXBkYXRlZCgpe3JldHVybiB0aGlzLl9kYXRhVXBkYXRlZH11bnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQoKXtyZXR1cm4gdGhpcy5fdW5zdXBwb3J0ZWRSZXNvbHV0aW9uUmVxdWVzdGVkfWZpcmVDb21wbGV0ZWQoZSl7dGhpcy5fY29tcGxldGVkLmZpcmUoZSl9ZmlyZUNyZWF0ZWQoZSl7dGhpcy5fY3JlYXRlZC5maXJlKGUpfWZpcmVNb2RpZmllZCgpe3RoaXMuX21vZGlmaWVkLmZpcmUoKX1maXJlQ2xlYXJlZCgpe3RoaXMuX2NsZWFyZWQuZmlyZSgpfWZpcmVMb2FkaW5nKGUpe3RoaXMuX2xvYWRpbmcuZmlyZShlKX1maXJlRXJyb3IoKXt0aGlzLl9lcnJvci5maXJlKCl9ZmlyZVN5bWJvbEVycm9yKGUpe3RoaXMuX3N5bWJvbEVycm9yLmZpcmUoZSksdGhpcy5maXJlRXJyb3IoKX1maXJlU3ltYm9sUmVzb2x2ZWQoZSl7dGhpcy5fc3ltYm9sUmVzb2x2ZWQuZmlyZShlKX1maXJlU2VyaWVzRXJyb3IoZSl7dGhpcy5fc2VyaWVzRXJyb3IuZmlyZShlKSx0aGlzLmZpcmVFcnJvcigpfWZpcmVTeW1ib2xJbnZhbGlkKCl7dGhpcy5fc3ltYm9sSW52YWxpZC5maXJlKCl9ZmlyZVN5bWJvbE5vdFBlcm1pdHRlZChlKXt0aGlzLl9zeW1ib2xOb3RQZXJtaXR0ZWQuZmlyZShlKX1maXJlU3ltYm9sR3JvdXBOb3RQZXJtaXR0ZWQoZSl7dGhpcy5fc3ltYm9sR3JvdXBOb3RQZXJtaXR0ZWQuZmlyZShlKX1maXJlQ2hhcnRUeXBlTm90UGVybWl0dGVkKGUpe3RoaXMuX2NoYXJ0VHlwZU5vdFBlcm1pdHRlZC5maXJlKGUpLHRoaXMuZmlyZUVycm9yKCl9ZmlyZUludHJhZGF5U3ByZWFkTm90UGVybWl0dGVkKCl7dGhpcy5faW50cmFkYXlTcHJlYWROb3RQZXJtaXR0ZWQuZmlyZSgpLHRoaXMuZmlyZUVycm9yKCl9ZmlyZUludHJhZGF5RXhjaGFuZ2VOb3RQZXJtaXR0ZWQoKXt0aGlzLl9pbnRyYWRheUV4Y2hhbmdlTm90UGVybWl0dGVkLmZpcmUoKSx0aGlzLmZpcmVFcnJvcigpfWZpcmVDdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZChlKXt0aGlzLl9jdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZC5maXJlKGUpLHRoaXMuZmlyZUVycm9yKCl9ZmlyZVNlY29uZHNJbnRlcnZhbE5vdFBlcm1pdHRlZCgpe3RoaXMuX3NlY29uZHNJbnRlcnZhbE5vdFBlcm1pdHRlZC5maXJlKCksdGhpcy5maXJlRXJyb3IoKX1maXJlVGlja3NJbnRlcnZhbE5vdFBlcm1pdHRlZCgpe3RoaXMuX3RpY2tzSW50ZXJ2YWxOb3RQZXJtaXR0ZWQuZmlyZSgpLHRoaXMuZmlyZUVycm9yKCl9ZmlyZUJhclJlY2VpdmVkKGUpe3RoaXMuX2JhclJlY2VpdmVkLmZpcmUoZSl9ZmlyZVNlcmllc1RpbWVGcmFtZShlLHQscyxyLGkpe3RoaXMuX3Nlcmllc1RpbWVGcmFtZS5maXJlKGUsdCxzLHIsaSl9ZmlyZURhdGFVcGRhdGVkKGUsdCxzLHIsaSl7dGhpcy5fZGF0YVVwZGF0ZWQuZmlyZShlLHQscyxyLGkpfWZpcmVVbnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQoKXt0aGlzLl91bnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQuZmlyZSgpfX12YXIgbT1zKDg3MTAzNykscD1zKDg1Mjk4MCkseT1zKDMyMjU1NCk7Y29uc3QgZz0veyhcdyspfS9nO2NvbnN0IGI9KDAsYS5nZXRMb2dnZXIpKCJDaGFydC5TZXJpZXNEYXRhU291cmNlIik7dmFyIGY7IWZ1bmN0aW9uKGUpe2VbZS5JZGxlPTBdPSJJZGxlIixlW2UuQXdhaXRpbmdDb25uZWN0aW9uPTFdPSJBd2FpdGluZ0Nvbm5lY3Rpb24iLGVbZS5Bd2FpdGluZ0ZpcnN0RGF0YVVwZGF0ZT0yXT0iQXdhaXRpbmdGaXJzdERhdGFVcGRhdGUiLGVbZS5BY3RpdmU9M109IkFjdGl2ZSJ9KGZ8fChmPXt9KSk7bGV0IFM9MTtsZXQgdj0xO2Z1bmN0aW9uIEkoZSl7cmV0dXJuKDAsYy5leHRyYWN0RXh0ZW5kZWRTeW1ib2wpKGUpLnN5bWJvbH1jbGFzcyBDe2NvbnN0cnVjdG9yKGUsdCxzLHIpe3RoaXMuX2V4dFN5bWJvbD1udWxsLHRoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbD0iIix0aGlzLl9jcmVhdGVTZXJpZXNPdmVycmlkZGVuUGFyYW1zPTAsdGhpcy5faW5zdGFuY2VJZD1udWxsLHRoaXMuX3N5bWJvbEluc3RhbmNlSWQ9bnVsbCx0aGlzLl9yZXNvbHV0aW9uPW51bGwsdGhpcy5fdGltZUZyYW1lPW51bGwsdGhpcy5fZGF0YT1uZXcgbi5TZXJpZXNEYXRhLHRoaXMuX2RhdGFFdmVudHM9bmV3IF8sdGhpcy5fc3RhdHVzPWYuSWRsZSx0aGlzLl90dXJuYXJvdW5kQ291bnRlcj0xLHRoaXMuX2JvdW5kT25HYXRld2F5SXNDb25uZWN0ZWRDaGFuZ2VkPXRoaXMuX29uR2F0ZXdheUlzQ29ubmVjdGVkQ2hhbmdlZC5iaW5kKHRoaXMpLHRoaXMuX2JvdW5kT25NZXNzYWdlPXRoaXMuX29uTWVzc2FnZS5iaW5kKHRoaXMpLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlPVByb21pc2UucmVzb2x2ZSgpLHRoaXMuX2dhdGV3YXk9ZSx0aGlzLl90dXJuYXJvdW5kUHJlZml4PXQsdGhpcy5fY3JlYXRlU2VyaWVzUGFyYW1zPSgwLGguaW5pdGlhbFJlcXVlc3RPcHRpb25zVG9OdW1CYXJzKShzPz97Y291bnQ6aC5ERUZBVUxUX05VTUJBUlN9KSx0aGlzLl90aW1lRnJhbWU9cnx8bnVsbCx0aGlzLl9nYXRld2F5LmlzQ29ubmVjdGVkKCkuc3Vic2NyaWJlKHRoaXMuX2JvdW5kT25HYXRld2F5SXNDb25uZWN0ZWRDaGFuZ2VkKX1kZXN0cm95KCl7dGhpcy5zdG9wKCksdGhpcy5fZ2F0ZXdheS5pc0Nvbm5lY3RlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX2JvdW5kT25HYXRld2F5SXNDb25uZWN0ZWRDaGFuZ2VkKSx0aGlzLl9kYXRhRXZlbnRzLmRlc3Ryb3koKX1jYW5Nb2RpZnlTZXJpZXMoZSx0KXtjb25zdCBzPSEoMCwKaS5kZWVwRXF1YWxzKSh0aGlzLl9leHRTeW1ib2wsZSlbMF0scj1udWxsPT09dGhpcy5fcmVzb2x1dGlvbnx8IW8uSW50ZXJ2YWwuaXNFcXVhbCh0aGlzLl9yZXNvbHV0aW9uLHQpO3JldHVybiBzfHxyfW1vZGlmeVNlcmllcyhlLHQscz1udWxsLGE9ITEsbj1udWxsKXthJiYoYi5sb2dOb3JtYWwoIkR1ZSB0byBmb3JjZSBmbGFnIGNsZWFyaW5nIHN5bWJvbCAmIHJlc29sdXRpb24gdG8gZm9yY2UgcmUtcmVxdWVzdGluZyBkYXRhLiIpLHRoaXMuX2V4dFN5bWJvbD1udWxsLHRoaXMuX3Jlc29sdXRpb249bnVsbCk7Y29uc3QgZD1JKGUpLGw9IXRoaXMuc3ltYm9sU2FtZUFzUmVzb2x2ZWQoZCk7aWYobCYmKHRoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbD0iIiksdGhpcy5fZXh0U3ltYm9sJiYhbCl7Y29uc3QgdD1JKHRoaXMuX2V4dFN5bWJvbCk7KDAsYy5yZXBsYWNlRXh0ZW5kZWRTeW1ib2wpKGUsdCl9Y29uc3QgaD10aGlzLl9leHRTeW1ib2wsdT10aGlzLl9yZXNvbHV0aW9uO2lmKHRoaXMuX2V4dFN5bWJvbD1lLHRoaXMuX3Jlc29sdXRpb249dCxudWxsPT09dGhpcy5faW5zdGFuY2VJZClyZXR1cm4gdm9pZCh0aGlzLl90aW1lRnJhbWU9cyk7Y29uc3QgXz0hKDAsaS5kZWVwRXF1YWxzKShoLGUpWzBdO18mJigwLGMucmVwbGFjZUV4dGVuZGVkU3ltYm9sKSh0aGlzLl9leHRTeW1ib2wsZCk7Y29uc3QgbT1udWxsPT09dXx8IW8uSW50ZXJ2YWwuaXNFcXVhbCh1LHQpOyhffHxtfHxudWxsIT09cykmJih0aGlzLl90aW1lRnJhbWU9bnVsbCwoX3x8bSkmJnRoaXMuX3R1cm5hcm91bmRDb3VudGVyKyssXyYmdGhpcy5fcmVzb2x2ZVN5bWJvbCgpLHRoaXMuX2dhdGV3YXkubW9kaWZ5U2VyaWVzKHRoaXMuX2luc3RhbmNlSWQsdGhpcy50dXJuYXJvdW5kKCksKDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zeW1ib2xJbnN0YW5jZUlkKSx0aGlzLl9yZXNvbHV0aW9uLG4scyx0aGlzLl9ib3VuZE9uTWVzc2FnZSksdGhpcy5fZGF0YUV2ZW50cy5maXJlTW9kaWZpZWQoKSl9cmVxdWVzdE1vcmVEYXRhKGUpe251bGwhPT10aGlzLl9pbnN0YW5jZUlkJiZ0aGlzLl9nYXRld2F5LnJlcXVlc3RNb3JlRGF0YSh0aGlzLl9pbnN0YW5jZUlkLGUsdGhpcy5fYm91bmRPbk1lc3NhZ2UpfXJlcXVlc3RNb3JlVGlja21hcmtzKGUpe251bGwhPT10aGlzLl9pbnN0YW5jZUlkJiZ0aGlzLl9nYXRld2F5LnJlcXVlc3RNb3JlVGlja21hcmtzKHRoaXMuX2luc3RhbmNlSWQsZSx0aGlzLl9ib3VuZE9uTWVzc2FnZSl9c2V0RnV0dXJlVGlja21hcmtzTW9kZShlKXtudWxsIT09dGhpcy5faW5zdGFuY2VJZCYmdGhpcy5fZ2F0ZXdheS5zZXRGdXR1cmVUaWNrbWFya3NNb2RlKGUpfWlzU3RhcnRlZCgpe3JldHVybiB0aGlzLl9zdGF0dXMhPT1mLklkbGV9aXNBY3RpdmUoKXtyZXR1cm4gdGhpcy5fc3RhdHVzPT09Zi5BY3RpdmV9cmVzb2x1dGlvbigpe3JldHVybiB0aGlzLl9yZXNvbHV0aW9ufXN0YXJ0KCl7dGhpcy5pc1N0YXJ0ZWQoKT9iLmxvZ05vcm1hbCgic3RhcnQ6IGRhdGEgc291cmNlIGlzIGFscmVhZHkgc3RhcnRlZCwgbm90aGluZyB0byBkbyIpOigoMCxyLmFzc2VydCkobnVsbCE9PXRoaXMuX2V4dFN5bWJvbCwic3ltYm9sIG11c3QgYmUgc2V0IGJlZm9yZSBzdGFydCIpLCgwLHIuYXNzZXJ0KShudWxsIT09dGhpcy5fcmVzb2x1dGlvbiwicmVzb2x1dGlvbiBtdXN0IGJlIHNldCBiZWZvcmUgc3RhcnQiKSx0aGlzLl9nYXRld2F5LmlzQ29ubmVjdGVkKCkudmFsdWUoKT90aGlzLl9jcmVhdGVTZXJpZXMoKTp0aGlzLl9jaGFuZ2VTdGF0dXNUbyhmLkF3YWl0aW5nQ29ubmVjdGlvbikpfXN0b3AoKXt0aGlzLmlzU3RhcnRlZCgpPyhudWxsIT09dGhpcy5faW5zdGFuY2VJZCYmKHRoaXMuX2dhdGV3YXkucmVtb3ZlU2VyaWVzKHRoaXMuX2luc3RhbmNlSWQpLHRoaXMuX2luc3RhbmNlSWQ9bnVsbCksdGhpcy5fc3ltYm9sSW5zdGFuY2VJZD1udWxsLHRoaXMuX2NoYW5nZVN0YXR1c1RvKGYuSWRsZSkpOmIubG9nTm9ybWFsKCJzdG9wOiBkYXRhIHNvdXJjZSBpcyBhbHJlYWR5IHN0b3BwZWQsIG5vdGhpbmcgdG8gZG8iKX1pbnN0YW5jZUlkKCl7cmV0dXJuIHRoaXMuX2luc3RhbmNlSWR9ZGF0YSgpe3JldHVybiB0aGlzLl9kYXRhfXNldERhdGEoZSl7dGhpcy5fZGF0YT1lfXNldFRpbWVmcmFtZShlKXt0aGlzLl90aW1lRnJhbWU9ZX1jbGVhckRhdGEoKXt0aGlzLmlzU3RhcnRlZCgpP3RoaXMuX2VucXVldWVVcGRhdGUoKCgpPT50aGlzLl9jbGVhckRhdGFJbXBsKCkpKTp0aGlzLl9jbGVhckRhdGFJbXBsKCl9ZGF0YUV2ZW50cygpe3JldHVybiB0aGlzLl9kYXRhRXZlbnRzfXR1cm5hcm91bmQoKXtyZXR1cm5gJHt0aGlzLl90dXJuYXJvdW5kUHJlZml4fSR7dGhpcy5fdHVybmFyb3VuZENvdW50ZXJ9YH1zeW1ib2xJbnN0YW5jZUlkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbEluc3RhbmNlSWR9c3ltYm9sKCl7cmV0dXJuIHRoaXMuX2V4dFN5bWJvbH11cGRhdGVFeHRTeW1ib2woZSl7dGhpcy5fZXh0U3ltYm9sPWV9bW92ZURhdGEoZSl7cmV0dXJuIHRoaXMuX2VucXVldWVVcGRhdGUoKCgpPT50aGlzLl9kYXRhLm1vdmVEYXRhKGUpKSl9c2V0SW5pdGlhbFJlcXVlc3RPcHRpb25zKGUpe3RoaXMuX2NyZWF0ZVNlcmllc092ZXJyaWRkZW5QYXJhbXM9KDAsaC5pbml0aWFsUmVxdWVzdE9wdGlvbnNUb051bUJhcnMpKGUpfXN5bWJvbFNhbWVBc1Jlc29sdmVkKGUpe3JldHVybiBudWxsIT09dGhpcy5fZXh0U3ltYm9sJiYoMCx5LnN5bWJvbFNhbWVBc1Jlc29sdmVkKShlLEkodGhpcy5fZXh0U3ltYm9sKSx0aGlzLl9sYXN0UmVzb2x2ZWRTeW1ib2wpfXJlc29sdmVkU3ltYm9sKCl7cmV0dXJuIG51bGw9PT10aGlzLl9leHRTeW1ib2w/bnVsbDpJKHRoaXMuX2V4dFN5bWJvbCl9c3RhdGljIHNldE5vblNlcmllc0RhdGFVbnBhY2tlcihlKXtDLl9ub25TZXJpZXNEYXRhVW5wYWNrZXI9ZX1zdGF0aWMgc2V0U3ltYm9sRW5jb2RlcihlKXtDLl9lbmNvZGVTeW1ib2w9ZX1zdGF0aWMgc2V0RXh0cmFjdFN5bWJvbEZlYXR1cmVzZXRzKGUpe0MuX2V4dHJhY3RTeW1ib2xOYW1lRmVhdHVyZXNldHM9ZX1fcmVzb2x2ZVN5bWJvbCgpewpudWxsIT09dGhpcy5fZXh0U3ltYm9sJiYodGhpcy5fc3ltYm9sSW5zdGFuY2VJZD10aGlzLl9nYXRld2F5LnJlc29sdmVTeW1ib2woInNkc19zeW1fIitTKyssQy5fZW5jb2RlU3ltYm9sKHRoaXMuX2V4dFN5bWJvbCksdGhpcy5fYm91bmRPbk1lc3NhZ2UpKX1fY2xlYXJEYXRhSW1wbCgpe3RoaXMuX2RhdGEuY2xlYXIoKSx0aGlzLl9kYXRhRXZlbnRzLmZpcmVDbGVhcmVkKCl9X2NoYW5nZVN0YXR1c1RvKGUpeygwLHIuYXNzZXJ0KSh0aGlzLl9zdGF0dXMhPT1lLCJTb3VyY2UgYW5kIGRlc3RpbmF0aW9uIHN0YXR1cyBzaG91bGQgYmUgZGlzdGluY3QiKSxiLmxvZ05vcm1hbChgU3RhdHVzIGNoYW5nZWQgZnJvbSAke2ZbdGhpcy5fc3RhdHVzXX0gdG8gJHtmW2VdfWApLHRoaXMuX3N0YXR1cz1lfV9jcmVhdGVTZXJpZXMoKXsoMCxyLmFzc2VydCkodGhpcy5fc3RhdHVzIT09Zi5BY3RpdmUsJ1N0YXR1cyBzaG91bGQgbm90IGJlICJBY3RpdmUiIHdoZW4gY3JlYXRpbmcgYSBzdHVkeScpLHRoaXMuX2luc3RhbmNlSWQ9InNkc18iK3YrKyx0aGlzLl9yZXNvbHZlU3ltYm9sKCk7Y29uc3QgZT10aGlzLl9jcmVhdGVTZXJpZXNPdmVycmlkZGVuUGFyYW1zfHx0aGlzLl9jcmVhdGVTZXJpZXNQYXJhbXM7dGhpcy5fY3JlYXRlU2VyaWVzT3ZlcnJpZGRlblBhcmFtcyYmKHRoaXMuX2NyZWF0ZVNlcmllc092ZXJyaWRkZW5QYXJhbXM9MCksdGhpcy5fZ2F0ZXdheS5jcmVhdGVTZXJpZXModGhpcy5faW5zdGFuY2VJZCx0aGlzLnR1cm5hcm91bmQoKSwoMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N5bWJvbEluc3RhbmNlSWQpLCgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fcmVzb2x1dGlvbiksZSx0aGlzLl90aW1lRnJhbWUsdGhpcy5fYm91bmRPbk1lc3NhZ2UpLHRoaXMuX3RpbWVGcmFtZT1udWxsLHRoaXMuX2NoYW5nZVN0YXR1c1RvKGYuQXdhaXRpbmdGaXJzdERhdGFVcGRhdGUpLHRoaXMuX2RhdGFFdmVudHMuZmlyZUNyZWF0ZWQodGhpcy5faW5zdGFuY2VJZCl9X29uR2F0ZXdheUlzQ29ubmVjdGVkQ2hhbmdlZChlKXtlP3RoaXMuX29uR2F0ZXdheUNvbm5lY3RlZCgpOnRoaXMuX29uR2F0ZXdheURpc2Nvbm5lY3RlZCgpfV9vbkdhdGV3YXlDb25uZWN0ZWQoKXt0aGlzLl9zdGF0dXM9PT1mLkF3YWl0aW5nQ29ubmVjdGlvbiYmdGhpcy5fY3JlYXRlU2VyaWVzKCl9X29uR2F0ZXdheURpc2Nvbm5lY3RlZCgpe3RoaXMuX3N0YXR1cyE9PWYuSWRsZSYmdGhpcy5fc3RhdHVzIT09Zi5Bd2FpdGluZ0Nvbm5lY3Rpb24mJih0aGlzLl9pbnN0YW5jZUlkPW51bGwsdGhpcy5fY2hhbmdlU3RhdHVzVG8oZi5Bd2FpdGluZ0Nvbm5lY3Rpb24pKSx0aGlzLl90dXJuYXJvdW5kQ291bnRlcj0xfV9vbk1lc3NhZ2UoZSl7dGhpcy5fZW5xdWV1ZVVwZGF0ZSgoKCk9PnRoaXMuX29uTWVzc2FnZUltcGwoZSkpKX1hc3luYyBfb25NZXNzYWdlSW1wbChlKXtzd2l0Y2goZS5tZXRob2Qpe2Nhc2Uic3ltYm9sX3Jlc29sdmVkIjp7Y29uc3RbdCxzXT1lLnBhcmFtcztpZih0IT09dGhpcy5fc3ltYm9sSW5zdGFuY2VJZCl7bnVsbCE9PXRoaXMuX3N5bWJvbEluc3RhbmNlSWQmJmIubG9nTm9ybWFsKGBSZXNvbHZlIGZvciBvbGQgc3ltYm9sLCBleHBlY3RlZDogJHt0aGlzLl9zeW1ib2xJbnN0YW5jZUlkfSwgYWN0dWFsICR7ZS5wYXJhbXNbMF19YCk7YnJlYWt9dGhpcy5fb25TeW1ib2xSZXNvbHZlZChzKTticmVha31jYXNlInN5bWJvbF9lcnJvciI6aWYoZS5wYXJhbXNbMF0hPT10aGlzLl9zeW1ib2xJbnN0YW5jZUlkKXtudWxsIT09dGhpcy5fc3ltYm9sSW5zdGFuY2VJZCYmYi5sb2dOb3JtYWwoYFN5bWJvbCBlcnJvciBmb3Igb2xkIHN5bWJvbCwgZXhwZWN0ZWQ6ICR7dGhpcy5fc3ltYm9sSW5zdGFuY2VJZH0sIGFjdHVhbCAke2UucGFyYW1zWzBdfWApO2JyZWFrfXRoaXMuX29uU3ltYm9sRXJyb3IoZSk7YnJlYWs7Y2FzZSJzZXJpZXNfdGltZWZyYW1lIjp7Y29uc3RbdCxzLHIsaSxhLG8sbl09ZS5wYXJhbXM7aWYoIXRoaXMuX2NoZWNrVHVybmFyb3VuZCh0LHMpKXtiLmxvZ05vcm1hbChgVGltZSBmcmFtZSBmb3Igb2xkIGRhdGEsIGV4cGVjdGVkOiAke3RoaXMuX3N5bWJvbEluc3RhbmNlSWR9ICgke3RoaXMudHVybmFyb3VuZCgpfSksIGFjdHVhbCAke3R9ICgke3N9KWApO2JyZWFrfXRoaXMuX29uU2VyaWVzVGltZUZyYW1lKHIsaSxhLG8sbik7YnJlYWt9Y2FzZSJzZXJpZXNfZXJyb3IiOntjb25zdFt0LHNdPWUucGFyYW1zO2lmKCF0aGlzLl9jaGVja1R1cm5hcm91bmQodCxzKSl7Yi5sb2dOb3JtYWwoYFNlcmllcyBlcnJvciBmb3Igb2xkIGRhdGEsIGV4cGVjdGVkOiAke3RoaXMuX3N5bWJvbEluc3RhbmNlSWR9ICgke3RoaXMudHVybmFyb3VuZCgpfSksIGFjdHVhbCAke3R9ICgke3N9KWApO2JyZWFrfXRoaXMuX29uU2VyaWVzRXJyb3IoZS5wYXJhbXNbMl0pO2JyZWFrfWNhc2Uic2VyaWVzX2xvYWRpbmciOntjb25zdFt0LHNdPWUucGFyYW1zO2lmKCF0aGlzLl9jaGVja1R1cm5hcm91bmQodCxzKSlicmVhazt0aGlzLl9vblNlcmllc0xvYWRpbmcoZS50aW1lKTticmVha31jYXNlInNlcmllc19jb21wbGV0ZWQiOntjb25zdFt0LHMscixpXT1lLnBhcmFtcztpZighdGhpcy5fY2hlY2tUdXJuYXJvdW5kKHQscikpe2IubG9nTm9ybWFsKGBTZXJpZXMgY29tcGxldGVkIGZvciBvbGQgZGF0YSwgZXhwZWN0ZWQ6ICR7dGhpcy5fc3ltYm9sSW5zdGFuY2VJZH0gKCR7dGhpcy50dXJuYXJvdW5kKCl9KSwgYWN0dWFsICR7dH0gKCR7cn0pYCk7YnJlYWt9dGhpcy5fb25TZXJpZXNDb21wbGV0ZWQocyxlLnRpbWUsaSk7YnJlYWt9Y2FzZSJkYXRhX3VwZGF0ZSI6aWYoIXRoaXMuX2NoZWNrVHVybmFyb3VuZChlLnBhcmFtcy5jdXN0b21JZCxlLnBhcmFtcy50dXJuYXJvdW5kKSl7Yi5sb2dOb3JtYWwoYERhdGEgdXBkYXRlIGZvciBvbGQgZGF0YSwgZXhwZWN0ZWQ6ICR7dGhpcy5fc3ltYm9sSW5zdGFuY2VJZH0gKCR7dGhpcy50dXJuYXJvdW5kKCl9KSwgYWN0dWFsICR7ZS5wYXJhbXMuY3VzdG9tSWR9ICgke2UucGFyYW1zLnR1cm5hcm91bmR9KWApO2JyZWFrfQphd2FpdCB0aGlzLl9vbkRhdGFVcGRhdGUoZS5wYXJhbXMucGxvdHMsZS5wYXJhbXMubm9uc2VyaWVzLGUucGFyYW1zLmxhc3RCYXIpO2JyZWFrO2Nhc2UiY2xlYXJfZGF0YSI6e2lmKGUucGFyYW1zLnR1cm5hcm91bmQhPT10aGlzLnR1cm5hcm91bmQoKSl7Yi5sb2dOb3JtYWwoYENsZWFyIGRhdGEgZm9yIG9sZCBkYXRhLCBleHBlY3RlZDogJHt0aGlzLnR1cm5hcm91bmQoKX0sIGFjdHVhbCAke2UucGFyYW1zLnR1cm5hcm91bmR9YCk7YnJlYWt9Y29uc3QgdD10aGlzLl9kYXRhLmZpcnN0KCk7dGhpcy5fY2xlYXJEYXRhSW1wbCgpLHRoaXMuX2RhdGFFdmVudHMuZmlyZURhdGFVcGRhdGVkKHZvaWQgMCwhMSxudWxsLCExLHQpO2JyZWFrfX19X29uU2VyaWVzRXJyb3IoZSl7bGV0IHQscztpZigic3RyaW5nIj09dHlwZW9mIGUpcz17ZXJyb3I6ZX0sdD1lO2Vsc2UgaWYocz1lLGUuY3R4KXtjb25zdCBzPXt9O09iamVjdC5lbnRyaWVzKGUuY3R4KS5mb3JFYWNoKCgoW2UsdF0pPT57c1tlXT10LnRvU3RyaW5nKCl9KSksaT1lLmVycm9yLGE9cyx0PWkucmVwbGFjZShnLCgoZSx0KT0+dm9pZCAwIT09YVt0XT9hW3RdOmUpKX1lbHNlIHQ9ZS5lcnJvcjt2YXIgaSxhO2lmKHQuc3RhcnRzV2l0aCgic3R1ZHlfbm90X2F1dGg6Iikpe2NvbnN0IGU9dC5zcGxpdCgiOiIsMilbMV0uc3BsaXQoIkAiLDIpWzBdO2lmKFsiQmFyU2V0UmVua28iLCJCYXJTZXRQcmljZUJyZWFrIiwiQmFyU2V0S2FnaSIsIkJhclNldFBuRiJdLmluY2x1ZGVzKGUpKXRoaXMuX2RhdGFFdmVudHMuZmlyZUNoYXJ0VHlwZU5vdFBlcm1pdHRlZChlKTtlbHNle2lmKCJCYXJTZXRTcHJlYWQiPT09ZSlyZXR1cm4gdm9pZCB0aGlzLl9kYXRhRXZlbnRzLmZpcmVJbnRyYWRheVNwcmVhZE5vdFBlcm1pdHRlZCgpO2lmKCJCYXJTZXRSYW5nZSI9PT1lKXtjb25zdCBlPWAkeygwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fZXh0U3ltYm9sKS5pbnB1dHMucmFuZ2V9UmA7dGhpcy5fZGF0YUV2ZW50cy5maXJlQ3VzdG9tSW50ZXJ2YWxOb3RQZXJtaXR0ZWQoZSl9fX1lbHNle2lmKHQuc3RhcnRzV2l0aCgidW5zdXBwb3J0ZWQiKSlyZXR1cm4gdm9pZCB0aGlzLl9kYXRhRXZlbnRzLmZpcmVVbnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQoKTsicmVzb2x1dGlvbl9ub3RfZW50aXRsZWQiPT09dD90aGlzLl9kYXRhRXZlbnRzLmZpcmVJbnRyYWRheUV4Y2hhbmdlTm90UGVybWl0dGVkKCk6ImN1c3RvbV9yZXNvbHV0aW9uIj09PXQ/dGhpcy5fZGF0YUV2ZW50cy5maXJlQ3VzdG9tSW50ZXJ2YWxOb3RQZXJtaXR0ZWQoKDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9yZXNvbHV0aW9uKSk6InNlY29uZHNfbm90X2VudGl0bGVkIj09PXQ/dGhpcy5fZGF0YUV2ZW50cy5maXJlU2Vjb25kc0ludGVydmFsTm90UGVybWl0dGVkKCk6InRpY2tzX25vdF9lbnRpdGxlZCI9PT10JiZ0aGlzLl9kYXRhRXZlbnRzLmZpcmVUaWNrc0ludGVydmFsTm90UGVybWl0dGVkKCl9dGhpcy5fZGF0YUV2ZW50cy5maXJlU2VyaWVzRXJyb3Iocyl9X29uU2VyaWVzVGltZUZyYW1lKGUsdCxzLHIsaSl7dGhpcy5fZGF0YUV2ZW50cy5maXJlU2VyaWVzVGltZUZyYW1lKGUsdCxzLHI/PyEwLGkpfV9vblN5bWJvbEVycm9yKGUpe2lmKGUucGFyYW1zWzFdPT09ZC5wZXJtaXNzaW9uRGVuaWVkKXN3aXRjaChlLnBhcmFtc1syXSl7Y2FzZSBkLlN5bWJvbEVycm9yUGVybWlzc2lvbkRlbmllZFJlYXNvbi5TeW1ib2w6dGhpcy5fZGF0YUV2ZW50cy5maXJlU3ltYm9sTm90UGVybWl0dGVkKGUucGFyYW1zWzNdKTticmVhaztjYXNlIGQuU3ltYm9sRXJyb3JQZXJtaXNzaW9uRGVuaWVkUmVhc29uLkdyb3VwUGVybWlzc2lvbjp0aGlzLl9kYXRhRXZlbnRzLmZpcmVTeW1ib2xHcm91cE5vdFBlcm1pdHRlZChlLnBhcmFtc1szXSk7YnJlYWs7ZGVmYXVsdDp0aGlzLl9kYXRhRXZlbnRzLmZpcmVTeW1ib2xOb3RQZXJtaXR0ZWQoZS5wYXJhbXNbMl0pfWVsc2UgZS5wYXJhbXNbMV09PT1kLmludmFsaWRTeW1ib2wmJnRoaXMuX2RhdGFFdmVudHMuZmlyZVN5bWJvbEludmFsaWQoKTt0aGlzLl9kYXRhRXZlbnRzLmZpcmVTeW1ib2xFcnJvcihlLnBhcmFtc1sxXSl9X29uU3ltYm9sUmVzb2x2ZWQoZSl7dGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sPSgwLHIuZW5zdXJlTm90TnVsbCkoKDAscC5leHRyYWN0U3ltYm9sTmFtZUZyb21TeW1ib2xJbmZvKShDLl9leHRyYWN0U3ltYm9sTmFtZUZlYXR1cmVzZXRzLGUsIiIpKSx0aGlzLl9kYXRhRXZlbnRzLmZpcmVTeW1ib2xSZXNvbHZlZChlKX1hc3luYyBfb25EYXRhVXBkYXRlKGUsdCxzKXt0aGlzLl9vbkRhdGFVbnBhY2tlZChlLHMsYXdhaXQoMCxtLnBhcnNlSmFwYW5lc2VQcm9qZWN0aW9uQmFycykodCxDLl9ub25TZXJpZXNEYXRhVW5wYWNrZXIpKX1fZW5xdWV1ZVVwZGF0ZShlKXtyZXR1cm4gdGhpcy5fb25nb2luZ0RhdGFVcGRhdGU9dGhpcy5fb25nb2luZ0RhdGFVcGRhdGUudGhlbihlLGUpLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlfV9vbkRhdGFVbnBhY2tlZChlLHQscyl7aWYodGhpcy5fc3RhdHVzPT09Zi5JZGxlKXJldHVybjt0aGlzLl9zdGF0dXM9PT1mLkF3YWl0aW5nRmlyc3REYXRhVXBkYXRlJiYodGhpcy5fY2hhbmdlU3RhdHVzVG8oZi5BY3RpdmUpLHRoaXMuX2NsZWFyRGF0YUltcGwoKSk7Y29uc3Qgcj10aGlzLl9kYXRhLmJhcnMoKS5zaXplKCksaT10aGlzLl9kYXRhLmZpcnN0KCksYT10aGlzLl9kYXRhLmJhcnMoKS5maXJzdEluZGV4KCksbz10aGlzLl9kYXRhLm1lcmdlUmVndWxhckJhcnMoZSk7bnVsbCE9PXMmJih0aGlzLl9kYXRhLm5zQmFycygpLmNsZWFyKCksdGhpcy5fZGF0YS5uc0JhcnMoKS5tZXJnZShzLnByb2plY3Rpb25QbG90cyksdGhpcy5fZGF0YS5sYXN0UHJvamVjdGlvblByaWNlPXMubGFzdFByaWNlLG51bGwhPT1zLmJveFNpemUmJih0aGlzLl9kYXRhLmJveFNpemU9cy5ib3hTaXplKSx0aGlzLl9kYXRhLnJldmVyc2FsQW1vdW50PXMucmV2ZXJzYWxBbW91bnQpO2NvbnN0IG49bnVsbD09PWEsZD1ufHxudWxsIT09byYmby5pbmRleDxhO3RoaXMuX2RhdGFFdmVudHMuZmlyZURhdGFVcGRhdGVkKHQsZCxvLG4saSksCnIhPT10aGlzLl9kYXRhLmJhcnMoKS5zaXplKCkmJm51bGwhPT1vJiZ0aGlzLl9kYXRhRXZlbnRzLmZpcmVCYXJSZWNlaXZlZChvKX1fb25TZXJpZXNMb2FkaW5nKGUpe3RoaXMuX2RhdGFFdmVudHMuZmlyZUxvYWRpbmcoZSl9X29uU2VyaWVzQ29tcGxldGVkKGUsdCxzKXt0aGlzLl9kYXRhRXZlbnRzLmZpcmVDb21wbGV0ZWQoe3VwZGF0ZU1vZGU6ZSx0aW1lOnQsZmxhZ3M6c30pfV9jaGVja1R1cm5hcm91bmQoZSx0KXtyZXR1cm4gdGhpcy5faW5zdGFuY2VJZD09PWUmJih2b2lkIDA9PT10fHx0PT09dGhpcy50dXJuYXJvdW5kKCkpfX1DLl9ub25TZXJpZXNEYXRhVW5wYWNrZXI9bC51bnBhY2tOb25TZXJpZXNEYXRhLEMuX2VuY29kZVN5bWJvbD1jLmVuY29kZUV4dGVuZGVkU3ltYm9sLEMuX2V4dHJhY3RTeW1ib2xOYW1lRmVhdHVyZXNldHM9e3BheUF0dGVudGlvblRvVGlja2VyTm90U3ltYm9sOiExLGNoYXJ0aW5nTGlicmFyeVNpbmdsZVN5bWJvbFJlcXVlc3Q6ITEsdXNlVGlja2VyT25TeW1ib2xJbmZvVXBkYXRlOiExLHVwcGVyY2FzZUluc3RydW1lbnROYW1lczohMX19LDEyMTQ3OShlLHQscyl7cy5kKHQse2dldFNlcnZlckludGVydmFsOigpPT5pfSk7dmFyIHI9cygyNTQ2NzMpO2Z1bmN0aW9uIGkoZSl7cmV0dXJuIHIuSW50ZXJ2YWwuaXNSYW5nZShlKT8iMSI6ZX19LDk5NTY1NShlLHQscyl7cy5kKHQse3ZhbGlkYXRlR3JhcGhpY3NDb21tYW5kczooKT0+YX0pO3ZhciByPXMoNjAxODQxKSxpPXMoMTM4NjM4KTtmdW5jdGlvbiBhKGUpe2lmKCEoMCxyLmlzT2JqZWN0KShlKSl0aHJvdyBuZXcgRXJyb3IoIkdyYXBoaWNzIGNvbW1hbmRzIHNob3VsZCBiZSB3cmFwcGVkIGluIGFuIG9iamVjdCIpO2lmKCgwLHIuaGFzUHJvcGVydHkpKGUsImNyZWF0ZSIpLCgwLHIuaGFzUHJvcGVydHkpKGUsImVyYXNlIikpe2NvbnN0IHQ9ZS5lcmFzZTsoMCxpLmFzc2VydCkoQXJyYXkuaXNBcnJheSh0KSwiQ29sbGVjdGlvbiBvZiBlcmFzZSBjb21tYW5kcyBzaG91bGQgYmUgYXJyYXkiKTtmb3IoY29uc3QgZSBvZiB0KXtpZighKDAsci5pc09iamVjdCkoZSl8fCEoMCxyLmhhc1Byb3BlcnR5KShlLCJhY3Rpb24iKSl0aHJvdyBuZXcgRXJyb3IoIkNvbW1hbmQgc2hvdWxkIGJlIGFuIG9iamVjdCB3aXRoICdhY3Rpb24nIHByb3BlcnR5Iik7KDAsaS5hc3NlcnQpKCJhbGwiPT09ZS5hY3Rpb258fCJvbmUiPT09ZS5hY3Rpb24sIkVyYXNlIGNvbW1hbmQgYWN0aW9uIHNob3VsZCBiZSAnYWxsJyBvciAnb25lJyIpfX1yZXR1cm4gZX19LDMyMjU1NChlLHQscyl7ZnVuY3Rpb24gcihlLHQscyl7cmV0dXJuIGU9PT10fHxlPT09c31zLmQodCx7c3ltYm9sU2FtZUFzUmVzb2x2ZWQ6KCk9PnJ9KX0sODE0NTg5KGUsdCxzKXtzLmQodCx7SU5WQUxJRF9USU1FX1BPSU5UX0lOREVYOigpPT5yLFVOUExPVFRBQkxFX1RJTUVfUE9JTlRfSU5ERVg6KCk9Pml9KTtjb25zdCByPS0yZTYsaT0tMWU2fSw4NjY3NDgoZSx0LHMpe2FzeW5jIGZ1bmN0aW9uIHIoZSl7Y29uc3Rbe2luZmxhdGVabGliOnQsaW5mbGF0ZVJhdzpyfSx7dW5wYWNrSW1wbDppfV09YXdhaXQgUHJvbWlzZS5hbGwoWyJmdW5jdGlvbiI9PXR5cGVvZiBEZWNvbXByZXNzaW9uU3RyZWFtP3MuZSgyMTI2MCkudGhlbihzLmJpbmQocyw3MzUwOTkpKTpQcm9taXNlLmFsbChbcy5lKDI0Njk4KSxzLmUoNjIyMzQpXSkudGhlbihzLmJpbmQocywyOTU4NzMpKSxzLmUoMjEyNjApLnRoZW4ocy5iaW5kKHMsMjk0NDgzKSldKTtyZXR1cm4gaSh0LHIsZSl9cy5kKHQse3VucGFjazooKT0+cn0pfSwxODk4NjMoZSx0LHMpe3MuZCh0LHtTcGlubmVyOigpPT5hfSk7cyg4NDU1NzcpO3ZhciByPXMoNDQzNTU3KSxpPXMoNTY3NDc5KTtjbGFzcyBhe2NvbnN0cnVjdG9yKGUpe3RoaXMuX3Nob3duPSExLHRoaXMuX2VsPSgwLHIucGFyc2VIdG1sRWxlbWVudCkoZnVuY3Rpb24oZT0iIil7cmV0dXJuYDxkaXYgY2xhc3M9InR2LXNwaW5uZXIgJHtlfSIgcm9sZT0icHJvZ3Jlc3NiYXIiPjwvZGl2PmB9KCkpLHRoaXMuc2V0U2l6ZShpLnNwaW5uZXJTaXplTWFwW2V8fGkuREVGQVVMVF9TSVpFXSl9c3BpbihlKXtyZXR1cm4gdGhpcy5fZWwuY2xhc3NMaXN0LmFkZCgidHYtc3Bpbm5lci0tc2hvd24iKSx2b2lkIDA9PT10aGlzLl9jb250YWluZXImJih0aGlzLl9jb250YWluZXI9ZSx2b2lkIDAhPT1lJiZlLmFwcGVuZENoaWxkKHRoaXMuX2VsKSksdGhpcy5fc2hvd249ITAsdGhpc31zdG9wKGUpe3JldHVybiBlJiZ2b2lkIDAhPT10aGlzLl9jb250YWluZXImJnRoaXMuX2NvbnRhaW5lci5yZW1vdmVDaGlsZCh0aGlzLl9lbCksdGhpcy5fZWwmJnRoaXMuX2VsLmNsYXNzTGlzdC5yZW1vdmUoInR2LXNwaW5uZXItLXNob3duIiksdGhpcy5fc2hvd249ITEsdGhpc31zZXRTdHlsZShlKXtyZXR1cm4gT2JqZWN0LmtleXMoZSkuZm9yRWFjaCgodD0+e2NvbnN0IHM9ZVt0XTt2b2lkIDAhPT1zJiZ0aGlzLl9lbC5zdHlsZS5zZXRQcm9wZXJ0eSh0LHMpfSkpLHRoaXN9c3R5bGUoKXtyZXR1cm4gdGhpcy5fZWwuc3R5bGV9c2V0U2l6ZShlKXtjb25zdCB0PXZvaWQgMCE9PWU/YHR2LXNwaW5uZXItLXNpemVfJHtlfWA6IiI7cmV0dXJuIHRoaXMuX2VsLmNsYXNzTmFtZT1gdHYtc3Bpbm5lciAke3R9ICR7dGhpcy5fc2hvd24/InR2LXNwaW5uZXItLXNob3duIjoiIn1gLHRoaXN9Z2V0RWwoKXtyZXR1cm4gdGhpcy5fZWx9ZGVzdHJveSgpe3RoaXMuc3RvcCgpLGRlbGV0ZSB0aGlzLl9lbCxkZWxldGUgdGhpcy5fY29udGFpbmVyfX19LDIyNjkzNyhlLHQscyl7cy5kKHQse0FzeW5jUmVzb3VyY2VXcmFwcGVyOigpPT5yfSk7Y2xhc3Mgcntjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2Rlc3Ryb3llZD0hMSx0aGlzLl9jYWxsYmFja3M9W10sdGhpcy5fcmVzb3VyY2U9e3BlbmRpbmdSZXNvdXJjZTplfSx0aGlzLl9kZXN0cm95Rm49dCxlLnRoZW4oKGU9PntpZih0aGlzLl9kZXN0cm95ZWQpdGhpcy5fZGVzdHJveUZuPy4oZSk7ZWxzZXt0aGlzLl9yZXNvdXJjZS5yZXNvdXJjZT1lO2Zvcihjb25zdCB0IG9mIHRoaXMuX2NhbGxiYWNrcyl0KGUpfX0pKS5maW5hbGx5KCgoKT0+e3RoaXMuX2NhbGxiYWNrcz1bXX0pKX0KZGVzdHJveSgpe3RoaXMuX3Jlc291cmNlLnJlc291cmNlJiZ0aGlzLl9kZXN0cm95Rm4/Lih0aGlzLl9yZXNvdXJjZS5yZXNvdXJjZSksdGhpcy5fcmVzb3VyY2U9e3BlbmRpbmdSZXNvdXJjZTpQcm9taXNlLnJlamVjdCgiUmVzb3VyY2UgaXMgZGVzdHJveWVkIikuY2F0Y2goKCgpPT57fSkpfSx0aGlzLl9jYWxsYmFja3M9W10sdGhpcy5fZGVzdHJveWVkPSEwfWNhbGxGdW5jdGlvbihlKXt0aGlzLl9kZXN0cm95ZWR8fCh0aGlzLl9yZXNvdXJjZS5yZXNvdXJjZT9lKHRoaXMuX3Jlc291cmNlLnJlc291cmNlKTp0aGlzLl9jYWxsYmFja3MucHVzaChlKSl9Z2V0KCl7cmV0dXJuIHRoaXMuX2Rlc3Ryb3llZHx8IXRoaXMuX3Jlc291cmNlLnJlc291cmNlP251bGw6dGhpcy5fcmVzb3VyY2UucmVzb3VyY2V9cHJvbWlzZSgpe3JldHVybiB0aGlzLl9yZXNvdXJjZS5wZW5kaW5nUmVzb3VyY2V9fX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/32387.47ace83c61a884341cd6.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.006Z","timestamp":1785120634006,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/32387.47ace83c61a884341cd6.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b73-205c8\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:23 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 26a07276fb683e9e7ced24528e0dc98a\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":132552,"size_decoded":45612,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"6ca36e244c390f41edaabac69e09f117","sha1":"8cfcf1d847ab9d43572b0f37ce475fca4bba1dbd","sha256":"fb8f00815532561e6403dfa828baaf51b380bfdf9f9c92754695c2cfe989db60","sha512":"9d1bd8f2293d36779a4c8cc18dd6650a7b35228b865226f0071eb07da8a810a5bc9aebd1cd29957a9fdd12cab5df40ab9fbbd7d68ac374e023c356b4178e4e3d","ssdeep":"1536:pvqY4wv/eXX5nEIk5JGA1SpxhDGougC6dZJUz3wA3ovSuHpL+:pyIscb61Uz3wGZML+","tlshash":"6bd3f7e83996f6526ab7126700ef1807733c1a1b280c4960a615fd8e75b842fb17bfdd","first_seen":"2026-05-05T10:36:04.869805Z","last_seen":"2026-07-27T05:19:37.132998Z","times_seen":2137,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMzIzODddLHs1MzIzODcoZSxuLHQpe3ZhciByPXQoNzc5NDc0KSxsPXQoMTgyNjE0KTtmdW5jdGlvbiBhKGUpe2Zvcih2YXIgbj0iaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL2Vycm9yLWRlY29kZXIuaHRtbD9pbnZhcmlhbnQ9IitlLHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKW4rPSImYXJnc1tdPSIrZW5jb2RlVVJJQ29tcG9uZW50KGFyZ3VtZW50c1t0XSk7cmV0dXJuIk1pbmlmaWVkIFJlYWN0IGVycm9yICMiK2UrIjsgdmlzaXQgIituKyIgZm9yIHRoZSBmdWxsIG1lc3NhZ2Ugb3IgdXNlIHRoZSBub24tbWluaWZpZWQgZGV2IGVudmlyb25tZW50IGZvciBmdWxsIGVycm9ycyBhbmQgYWRkaXRpb25hbCBoZWxwZnVsIHdhcm5pbmdzLiJ9dmFyIHU9bmV3IFNldCxvPXt9O2Z1bmN0aW9uIGkoZSxuKXtzKGUsbikscyhlKyJDYXB0dXJlIixuKX1mdW5jdGlvbiBzKGUsbil7Zm9yKG9bZV09bixlPTA7ZTxuLmxlbmd0aDtlKyspdS5hZGQobltlXSl9dmFyIGM9ISgidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvd3x8dm9pZCAwPT09d2luZG93LmRvY3VtZW50fHx2b2lkIDA9PT13aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCksZj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LGQ9L15bOkEtWl9hLXpcdTAwQzAtXHUwMEQ2XHUwMEQ4LVx1MDBGNlx1MDBGOC1cdTAyRkZcdTAzNzAtXHUwMzdEXHUwMzdGLVx1MUZGRlx1MjAwQy1cdTIwMERcdTIwNzAtXHUyMThGXHUyQzAwLVx1MkZFRlx1MzAwMS1cdUQ3RkZcdUY5MDAtXHVGRENGXHVGREYwLVx1RkZGRF1bOkEtWl9hLXpcdTAwQzAtXHUwMEQ2XHUwMEQ4LVx1MDBGNlx1MDBGOC1cdTAyRkZcdTAzNzAtXHUwMzdEXHUwMzdGLVx1MUZGRlx1MjAwQy1cdTIwMERcdTIwNzAtXHUyMThGXHUyQzAwLVx1MkZFRlx1MzAwMS1cdUQ3RkZcdUY5MDAtXHVGRENGXHVGREYwLVx1RkZGRFwtLjAtOVx1MDBCN1x1MDMwMC1cdTAzNkZcdTIwM0YtXHUyMDQwXSokLyxwPXt9LG09e307ZnVuY3Rpb24gaChlLG4sdCxyLGwsYSx1KXt0aGlzLmFjY2VwdHNCb29sZWFucz0yPT09bnx8Mz09PW58fDQ9PT1uLHRoaXMuYXR0cmlidXRlTmFtZT1yLHRoaXMuYXR0cmlidXRlTmFtZXNwYWNlPWwsdGhpcy5tdXN0VXNlUHJvcGVydHk9dCx0aGlzLnByb3BlcnR5TmFtZT1lLHRoaXMudHlwZT1uLHRoaXMuc2FuaXRpemVVUkw9YSx0aGlzLnJlbW92ZUVtcHR5U3RyaW5nPXV9dmFyIGc9e307ImNoaWxkcmVuIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIGRlZmF1bHRWYWx1ZSBkZWZhdWx0Q2hlY2tlZCBpbm5lckhUTUwgc3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nIHN1cHByZXNzSHlkcmF0aW9uV2FybmluZyBzdHlsZSIuc3BsaXQoIiAiKS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsMCwhMSxlLG51bGwsITEsITEpfSkpLFtbImFjY2VwdENoYXJzZXQiLCJhY2NlcHQtY2hhcnNldCJdLFsiY2xhc3NOYW1lIiwiY2xhc3MiXSxbImh0bWxGb3IiLCJmb3IiXSxbImh0dHBFcXVpdiIsImh0dHAtZXF1aXYiXV0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIG49ZVswXTtnW25dPW5ldyBoKG4sMSwhMSxlWzFdLG51bGwsITEsITEpfSkpLFsiY29udGVudEVkaXRhYmxlIiwiZHJhZ2dhYmxlIiwic3BlbGxDaGVjayIsInZhbHVlIl0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7Z1tlXT1uZXcgaChlLDIsITEsZS50b0xvd2VyQ2FzZSgpLG51bGwsITEsITEpfSkpLFsiYXV0b1JldmVyc2UiLCJleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIiwiZm9jdXNhYmxlIiwicHJlc2VydmVBbHBoYSJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSwyLCExLGUsbnVsbCwhMSwhMSl9KSksImFsbG93RnVsbFNjcmVlbiBhc3luYyBhdXRvRm9jdXMgYXV0b1BsYXkgY29udHJvbHMgZGVmYXVsdCBkZWZlciBkaXNhYmxlZCBkaXNhYmxlUGljdHVyZUluUGljdHVyZSBkaXNhYmxlUmVtb3RlUGxheWJhY2sgZm9ybU5vVmFsaWRhdGUgaGlkZGVuIGxvb3Agbm9Nb2R1bGUgbm9WYWxpZGF0ZSBvcGVuIHBsYXlzSW5saW5lIHJlYWRPbmx5IHJlcXVpcmVkIHJldmVyc2VkIHNjb3BlZCBzZWFtbGVzcyBpdGVtU2NvcGUiLnNwbGl0KCIgIikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7Z1tlXT1uZXcgaChlLDMsITEsZS50b0xvd2VyQ2FzZSgpLG51bGwsITEsITEpfSkpLFsiY2hlY2tlZCIsIm11bHRpcGxlIiwibXV0ZWQiLCJzZWxlY3RlZCJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSwzLCEwLGUsbnVsbCwhMSwhMSl9KSksWyJjYXB0dXJlIiwiZG93bmxvYWQiXS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsNCwhMSxlLG51bGwsITEsITEpfSkpLFsiY29scyIsInJvd3MiLCJzaXplIiwic3BhbiJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSw2LCExLGUsbnVsbCwhMSwhMSl9KSksWyJyb3dTcGFuIiwic3RhcnQiXS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsNSwhMSxlLnRvTG93ZXJDYXNlKCksbnVsbCwhMSwhMSl9KSk7dmFyIHY9L1tcLTpdKFthLXpdKS9nO2Z1bmN0aW9uIHkoZSl7cmV0dXJuIGVbMV0udG9VcHBlckNhc2UoKX1mdW5jdGlvbiBiKGUsbix0LHIpe3ZhciBsPWcuaGFzT3duUHJvcGVydHkobik/Z1tuXTpudWxsOyhudWxsIT09bD8wIT09bC50eXBlOnJ8fCEoMjxuLmxlbmd0aCl8fCJvIiE9PW5bMF0mJiJPIiE9PW5bMF18fCJuIiE9PW5bMV0mJiJOIiE9PW5bMV0pJiYoZnVuY3Rpb24oZSxuLHQscil7aWYobnVsbD09bnx8ZnVuY3Rpb24oZSxuLHQscil7aWYobnVsbCE9PXQmJjA9PT10LnR5cGUpcmV0dXJuITE7c3dpdGNoKHR5cGVvZiBuKXtjYXNlImZ1bmN0aW9uIjpjYXNlInN5bWJvbCI6cmV0dXJuITA7Y2FzZSJib29sZWFuIjpyZXR1cm4hciYmKG51bGwhPT10PyF0LmFjY2VwdHNCb29sZWFuczoiZGF0YS0iIT09KGU9ZS50b0xvd2VyQ2FzZSgpLnNsaWNlKDAsNSkpJiYiYXJpYS0iIT09ZSk7ZGVmYXVsdDpyZXR1cm4hMX19KGUsbix0LHIpKXJldHVybiEwCjtpZihyKXJldHVybiExO2lmKG51bGwhPT10KXN3aXRjaCh0LnR5cGUpe2Nhc2UgMzpyZXR1cm4hbjtjYXNlIDQ6cmV0dXJuITE9PT1uO2Nhc2UgNTpyZXR1cm4gaXNOYU4obik7Y2FzZSA2OnJldHVybiBpc05hTihuKXx8MT5ufXJldHVybiExfShuLHQsbCxyKSYmKHQ9bnVsbCkscnx8bnVsbD09PWw/ZnVuY3Rpb24oZSl7cmV0dXJuISFmLmNhbGwobSxlKXx8IWYuY2FsbChwLGUpJiYoZC50ZXN0KGUpP21bZV09ITA6KHBbZV09ITAsITEpKX0obikmJihudWxsPT09dD9lLnJlbW92ZUF0dHJpYnV0ZShuKTplLnNldEF0dHJpYnV0ZShuLCIiK3QpKTpsLm11c3RVc2VQcm9wZXJ0eT9lW2wucHJvcGVydHlOYW1lXT1udWxsPT09dD8zIT09bC50eXBlJiYiIjp0OihuPWwuYXR0cmlidXRlTmFtZSxyPWwuYXR0cmlidXRlTmFtZXNwYWNlLG51bGw9PT10P2UucmVtb3ZlQXR0cmlidXRlKG4pOih0PTM9PT0obD1sLnR5cGUpfHw0PT09bCYmITA9PT10PyIiOiIiK3Qscj9lLnNldEF0dHJpYnV0ZU5TKHIsbix0KTplLnNldEF0dHJpYnV0ZShuLHQpKSkpfSJhY2NlbnQtaGVpZ2h0IGFsaWdubWVudC1iYXNlbGluZSBhcmFiaWMtZm9ybSBiYXNlbGluZS1zaGlmdCBjYXAtaGVpZ2h0IGNsaXAtcGF0aCBjbGlwLXJ1bGUgY29sb3ItaW50ZXJwb2xhdGlvbiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnMgY29sb3ItcHJvZmlsZSBjb2xvci1yZW5kZXJpbmcgZG9taW5hbnQtYmFzZWxpbmUgZW5hYmxlLWJhY2tncm91bmQgZmlsbC1vcGFjaXR5IGZpbGwtcnVsZSBmbG9vZC1jb2xvciBmbG9vZC1vcGFjaXR5IGZvbnQtZmFtaWx5IGZvbnQtc2l6ZSBmb250LXNpemUtYWRqdXN0IGZvbnQtc3RyZXRjaCBmb250LXN0eWxlIGZvbnQtdmFyaWFudCBmb250LXdlaWdodCBnbHlwaC1uYW1lIGdseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWwgZ2x5cGgtb3JpZW50YXRpb24tdmVydGljYWwgaG9yaXotYWR2LXggaG9yaXotb3JpZ2luLXggaW1hZ2UtcmVuZGVyaW5nIGxldHRlci1zcGFjaW5nIGxpZ2h0aW5nLWNvbG9yIG1hcmtlci1lbmQgbWFya2VyLW1pZCBtYXJrZXItc3RhcnQgb3ZlcmxpbmUtcG9zaXRpb24gb3ZlcmxpbmUtdGhpY2tuZXNzIHBhaW50LW9yZGVyIHBhbm9zZS0xIHBvaW50ZXItZXZlbnRzIHJlbmRlcmluZy1pbnRlbnQgc2hhcGUtcmVuZGVyaW5nIHN0b3AtY29sb3Igc3RvcC1vcGFjaXR5IHN0cmlrZXRocm91Z2gtcG9zaXRpb24gc3RyaWtldGhyb3VnaC10aGlja25lc3Mgc3Ryb2tlLWRhc2hhcnJheSBzdHJva2UtZGFzaG9mZnNldCBzdHJva2UtbGluZWNhcCBzdHJva2UtbGluZWpvaW4gc3Ryb2tlLW1pdGVybGltaXQgc3Ryb2tlLW9wYWNpdHkgc3Ryb2tlLXdpZHRoIHRleHQtYW5jaG9yIHRleHQtZGVjb3JhdGlvbiB0ZXh0LXJlbmRlcmluZyB1bmRlcmxpbmUtcG9zaXRpb24gdW5kZXJsaW5lLXRoaWNrbmVzcyB1bmljb2RlLWJpZGkgdW5pY29kZS1yYW5nZSB1bml0cy1wZXItZW0gdi1hbHBoYWJldGljIHYtaGFuZ2luZyB2LWlkZW9ncmFwaGljIHYtbWF0aGVtYXRpY2FsIHZlY3Rvci1lZmZlY3QgdmVydC1hZHYteSB2ZXJ0LW9yaWdpbi14IHZlcnQtb3JpZ2luLXkgd29yZC1zcGFjaW5nIHdyaXRpbmctbW9kZSB4bWxuczp4bGluayB4LWhlaWdodCIuc3BsaXQoIiAiKS5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgbj1lLnJlcGxhY2Uodix5KTtnW25dPW5ldyBoKG4sMSwhMSxlLG51bGwsITEsITEpfSkpLCJ4bGluazphY3R1YXRlIHhsaW5rOmFyY3JvbGUgeGxpbms6cm9sZSB4bGluazpzaG93IHhsaW5rOnRpdGxlIHhsaW5rOnR5cGUiLnNwbGl0KCIgIikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIG49ZS5yZXBsYWNlKHYseSk7Z1tuXT1uZXcgaChuLDEsITEsZSwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsITEsITEpfSkpLFsieG1sOmJhc2UiLCJ4bWw6bGFuZyIsInhtbDpzcGFjZSJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe3ZhciBuPWUucmVwbGFjZSh2LHkpO2dbbl09bmV3IGgobiwxLCExLGUsImh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIsITEsITEpfSkpLFsidGFiSW5kZXgiLCJjcm9zc09yaWdpbiJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSwxLCExLGUudG9Mb3dlckNhc2UoKSxudWxsLCExLCExKX0pKSxnLnhsaW5rSHJlZj1uZXcgaCgieGxpbmtIcmVmIiwxLCExLCJ4bGluazpocmVmIiwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsITAsITEpLFsic3JjIiwiaHJlZiIsImFjdGlvbiIsImZvcm1BY3Rpb24iXS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsMSwhMSxlLnRvTG93ZXJDYXNlKCksbnVsbCwhMCwhMCl9KSk7dmFyIGs9ci5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRCx3PVN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKSxTPVN5bWJvbC5mb3IoInJlYWN0LnBvcnRhbCIpLHg9U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSxFPVN5bWJvbC5mb3IoInJlYWN0LnN0cmljdF9tb2RlIiksQz1TeW1ib2wuZm9yKCJyZWFjdC5wcm9maWxlciIpLHo9U3ltYm9sLmZvcigicmVhY3QucHJvdmlkZXIiKSxOPVN5bWJvbC5mb3IoInJlYWN0LmNvbnRleHQiKSxfPVN5bWJvbC5mb3IoInJlYWN0LmZvcndhcmRfcmVmIiksUD1TeW1ib2wuZm9yKCJyZWFjdC5zdXNwZW5zZSIpLFQ9U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2VfbGlzdCIpLEw9U3ltYm9sLmZvcigicmVhY3QubWVtbyIpLE09U3ltYm9sLmZvcigicmVhY3QubGF6eSIpO1N5bWJvbC5mb3IoInJlYWN0LnNjb3BlIiksU3ltYm9sLmZvcigicmVhY3QuZGVidWdfdHJhY2VfbW9kZSIpO3ZhciBGPVN5bWJvbC5mb3IoInJlYWN0Lm9mZnNjcmVlbiIpO1N5bWJvbC5mb3IoInJlYWN0LmxlZ2FjeV9oaWRkZW4iKSxTeW1ib2wuZm9yKCJyZWFjdC5jYWNoZSIpLFN5bWJvbC5mb3IoInJlYWN0LnRyYWNpbmdfbWFya2VyIik7dmFyIFI9U3ltYm9sLml0ZXJhdG9yO2Z1bmN0aW9uIEQoZSl7CnJldHVybiBudWxsPT09ZXx8Im9iamVjdCIhPXR5cGVvZiBlP251bGw6ImZ1bmN0aW9uIj09dHlwZW9mKGU9UiYmZVtSXXx8ZVsiQEBpdGVyYXRvciJdKT9lOm51bGx9dmFyIEksTz1PYmplY3QuYXNzaWduO2Z1bmN0aW9uIFUoZSl7aWYodm9pZCAwPT09SSl0cnl7dGhyb3cgRXJyb3IoKX1jYXRjaChlKXt2YXIgbj1lLnN0YWNrLnRyaW0oKS5tYXRjaCgvXG4oICooYXQgKT8pLyk7ST1uJiZuWzFdfHwiIn1yZXR1cm4iXG4iK0krZX12YXIgVj0hMTtmdW5jdGlvbiBBKGUsbil7aWYoIWV8fFYpcmV0dXJuIiI7Vj0hMDt2YXIgdD1FcnJvci5wcmVwYXJlU3RhY2tUcmFjZTtFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT12b2lkIDA7dHJ5e2lmKG4paWYobj1mdW5jdGlvbigpe3Rocm93IEVycm9yKCl9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLnByb3RvdHlwZSwicHJvcHMiLHtzZXQ6ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpfX0pLCJvYmplY3QiPT10eXBlb2YgUmVmbGVjdCYmUmVmbGVjdC5jb25zdHJ1Y3Qpe3RyeXtSZWZsZWN0LmNvbnN0cnVjdChuLFtdKX1jYXRjaChlKXt2YXIgcj1lfVJlZmxlY3QuY29uc3RydWN0KGUsW10sbil9ZWxzZXt0cnl7bi5jYWxsKCl9Y2F0Y2goZSl7cj1lfWUuY2FsbChuLnByb3RvdHlwZSl9ZWxzZXt0cnl7dGhyb3cgRXJyb3IoKX1jYXRjaChlKXtyPWV9ZSgpfX1jYXRjaChuKXtpZihuJiZyJiYic3RyaW5nIj09dHlwZW9mIG4uc3RhY2spe2Zvcih2YXIgbD1uLnN0YWNrLnNwbGl0KCJcbiIpLGE9ci5zdGFjay5zcGxpdCgiXG4iKSx1PWwubGVuZ3RoLTEsbz1hLmxlbmd0aC0xOzE8PXUmJjA8PW8mJmxbdV0hPT1hW29dOylvLS07Zm9yKDsxPD11JiYwPD1vO3UtLSxvLS0paWYobFt1XSE9PWFbb10pe2lmKDEhPT11fHwxIT09bylkb3tpZih1LS0sMD4tLW98fGxbdV0hPT1hW29dKXt2YXIgaT0iXG4iK2xbdV0ucmVwbGFjZSgiIGF0IG5ldyAiLCIgYXQgIik7cmV0dXJuIGUuZGlzcGxheU5hbWUmJmkuaW5jbHVkZXMoIjxhbm9ueW1vdXM+IikmJihpPWkucmVwbGFjZSgiPGFub255bW91cz4iLGUuZGlzcGxheU5hbWUpKSxpfX13aGlsZSgxPD11JiYwPD1vKTticmVha319fWZpbmFsbHl7Vj0hMSxFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT10fXJldHVybihlPWU/ZS5kaXNwbGF5TmFtZXx8ZS5uYW1lOiIiKT9VKGUpOiIifWZ1bmN0aW9uIEIoZSl7c3dpdGNoKGUudGFnKXtjYXNlIDU6cmV0dXJuIFUoZS50eXBlKTtjYXNlIDE2OnJldHVybiBVKCJMYXp5Iik7Y2FzZSAxMzpyZXR1cm4gVSgiU3VzcGVuc2UiKTtjYXNlIDE5OnJldHVybiBVKCJTdXNwZW5zZUxpc3QiKTtjYXNlIDA6Y2FzZSAyOmNhc2UgMTU6cmV0dXJuIGU9QShlLnR5cGUsITEpO2Nhc2UgMTE6cmV0dXJuIGU9QShlLnR5cGUucmVuZGVyLCExKTtjYXNlIDE6cmV0dXJuIGU9QShlLnR5cGUsITApO2RlZmF1bHQ6cmV0dXJuIiJ9fWZ1bmN0aW9uIFcoZSl7aWYobnVsbD09ZSlyZXR1cm4gbnVsbDtpZigiZnVuY3Rpb24iPT10eXBlb2YgZSlyZXR1cm4gZS5kaXNwbGF5TmFtZXx8ZS5uYW1lfHxudWxsO2lmKCJzdHJpbmciPT10eXBlb2YgZSlyZXR1cm4gZTtzd2l0Y2goZSl7Y2FzZSB4OnJldHVybiJGcmFnbWVudCI7Y2FzZSBTOnJldHVybiJQb3J0YWwiO2Nhc2UgQzpyZXR1cm4iUHJvZmlsZXIiO2Nhc2UgRTpyZXR1cm4iU3RyaWN0TW9kZSI7Y2FzZSBQOnJldHVybiJTdXNwZW5zZSI7Y2FzZSBUOnJldHVybiJTdXNwZW5zZUxpc3QifWlmKCJvYmplY3QiPT10eXBlb2YgZSlzd2l0Y2goZS4kJHR5cGVvZil7Y2FzZSBOOnJldHVybihlLmRpc3BsYXlOYW1lfHwiQ29udGV4dCIpKyIuQ29uc3VtZXIiO2Nhc2UgejpyZXR1cm4oZS5fY29udGV4dC5kaXNwbGF5TmFtZXx8IkNvbnRleHQiKSsiLlByb3ZpZGVyIjtjYXNlIF86dmFyIG49ZS5yZW5kZXI7cmV0dXJuKGU9ZS5kaXNwbGF5TmFtZSl8fChlPSIiIT09KGU9bi5kaXNwbGF5TmFtZXx8bi5uYW1lfHwiIik/IkZvcndhcmRSZWYoIitlKyIpIjoiRm9yd2FyZFJlZiIpLGU7Y2FzZSBMOnJldHVybiBudWxsIT09KG49ZS5kaXNwbGF5TmFtZXx8bnVsbCk/bjpXKGUudHlwZSl8fCJNZW1vIjtjYXNlIE06bj1lLl9wYXlsb2FkLGU9ZS5faW5pdDt0cnl7cmV0dXJuIFcoZShuKSl9Y2F0Y2goZSl7fX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBIKGUpe3ZhciBuPWUudHlwZTtzd2l0Y2goZS50YWcpe2Nhc2UgMjQ6cmV0dXJuIkNhY2hlIjtjYXNlIDk6cmV0dXJuKG4uZGlzcGxheU5hbWV8fCJDb250ZXh0IikrIi5Db25zdW1lciI7Y2FzZSAxMDpyZXR1cm4obi5fY29udGV4dC5kaXNwbGF5TmFtZXx8IkNvbnRleHQiKSsiLlByb3ZpZGVyIjtjYXNlIDE4OnJldHVybiJEZWh5ZHJhdGVkRnJhZ21lbnQiO2Nhc2UgMTE6cmV0dXJuIGU9KGU9bi5yZW5kZXIpLmRpc3BsYXlOYW1lfHxlLm5hbWV8fCIiLG4uZGlzcGxheU5hbWV8fCgiIiE9PWU/IkZvcndhcmRSZWYoIitlKyIpIjoiRm9yd2FyZFJlZiIpO2Nhc2UgNzpyZXR1cm4iRnJhZ21lbnQiO2Nhc2UgNTpyZXR1cm4gbjtjYXNlIDQ6cmV0dXJuIlBvcnRhbCI7Y2FzZSAzOnJldHVybiJSb290IjtjYXNlIDY6cmV0dXJuIlRleHQiO2Nhc2UgMTY6cmV0dXJuIFcobik7Y2FzZSA4OnJldHVybiBuPT09RT8iU3RyaWN0TW9kZSI6Ik1vZGUiO2Nhc2UgMjI6cmV0dXJuIk9mZnNjcmVlbiI7Y2FzZSAxMjpyZXR1cm4iUHJvZmlsZXIiO2Nhc2UgMjE6cmV0dXJuIlNjb3BlIjtjYXNlIDEzOnJldHVybiJTdXNwZW5zZSI7Y2FzZSAxOTpyZXR1cm4iU3VzcGVuc2VMaXN0IjtjYXNlIDI1OnJldHVybiJUcmFjaW5nTWFya2VyIjtjYXNlIDE6Y2FzZSAwOmNhc2UgMTc6Y2FzZSAyOmNhc2UgMTQ6Y2FzZSAxNTppZigiZnVuY3Rpb24iPT10eXBlb2YgbilyZXR1cm4gbi5kaXNwbGF5TmFtZXx8bi5uYW1lfHxudWxsO2lmKCJzdHJpbmciPT10eXBlb2YgbilyZXR1cm4gbn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBRKGUpe3N3aXRjaCh0eXBlb2YgZSl7Y2FzZSJib29sZWFuIjpjYXNlIm51bWJlciI6Y2FzZSJzdHJpbmciOmNhc2UidW5kZWZpbmVkIjpjYXNlIm9iamVjdCI6cmV0dXJuIGU7ZGVmYXVsdDpyZXR1cm4iIn19ZnVuY3Rpb24gaihlKXt2YXIgbj1lLnR5cGUKO3JldHVybihlPWUubm9kZU5hbWUpJiYiaW5wdXQiPT09ZS50b0xvd2VyQ2FzZSgpJiYoImNoZWNrYm94Ij09PW58fCJyYWRpbyI9PT1uKX1mdW5jdGlvbiAkKGUpe2UuX3ZhbHVlVHJhY2tlcnx8KGUuX3ZhbHVlVHJhY2tlcj1mdW5jdGlvbihlKXt2YXIgbj1qKGUpPyJjaGVja2VkIjoidmFsdWUiLHQ9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLmNvbnN0cnVjdG9yLnByb3RvdHlwZSxuKSxyPSIiK2Vbbl07aWYoIWUuaGFzT3duUHJvcGVydHkobikmJnZvaWQgMCE9PXQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LmdldCYmImZ1bmN0aW9uIj09dHlwZW9mIHQuc2V0KXt2YXIgbD10LmdldCxhPXQuc2V0O3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGwuY2FsbCh0aGlzKX0sc2V0OmZ1bmN0aW9uKGUpe3I9IiIrZSxhLmNhbGwodGhpcyxlKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLHtlbnVtZXJhYmxlOnQuZW51bWVyYWJsZX0pLHtnZXRWYWx1ZTpmdW5jdGlvbigpe3JldHVybiByfSxzZXRWYWx1ZTpmdW5jdGlvbihlKXtyPSIiK2V9LHN0b3BUcmFja2luZzpmdW5jdGlvbigpe2UuX3ZhbHVlVHJhY2tlcj1udWxsLGRlbGV0ZSBlW25dfX19fShlKSl9ZnVuY3Rpb24gcShlKXtpZighZSlyZXR1cm4hMTt2YXIgbj1lLl92YWx1ZVRyYWNrZXI7aWYoIW4pcmV0dXJuITA7dmFyIHQ9bi5nZXRWYWx1ZSgpLHI9IiI7cmV0dXJuIGUmJihyPWooZSk/ZS5jaGVja2VkPyJ0cnVlIjoiZmFsc2UiOmUudmFsdWUpLChlPXIpIT09dCYmKG4uc2V0VmFsdWUoZSksITApfWZ1bmN0aW9uIEsoZSl7aWYodm9pZCAwPT09KGU9ZXx8KCJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQ/ZG9jdW1lbnQ6dm9pZCAwKSkpcmV0dXJuIG51bGw7dHJ5e3JldHVybiBlLmFjdGl2ZUVsZW1lbnR8fGUuYm9keX1jYXRjaChuKXtyZXR1cm4gZS5ib2R5fX1mdW5jdGlvbiBZKGUsbil7dmFyIHQ9bi5jaGVja2VkO3JldHVybiBPKHt9LG4se2RlZmF1bHRDaGVja2VkOnZvaWQgMCxkZWZhdWx0VmFsdWU6dm9pZCAwLHZhbHVlOnZvaWQgMCxjaGVja2VkOm51bGwhPXQ/dDplLl93cmFwcGVyU3RhdGUuaW5pdGlhbENoZWNrZWR9KX1mdW5jdGlvbiBYKGUsbil7dmFyIHQ9bnVsbD09bi5kZWZhdWx0VmFsdWU/IiI6bi5kZWZhdWx0VmFsdWUscj1udWxsIT1uLmNoZWNrZWQ/bi5jaGVja2VkOm4uZGVmYXVsdENoZWNrZWQ7dD1RKG51bGwhPW4udmFsdWU/bi52YWx1ZTp0KSxlLl93cmFwcGVyU3RhdGU9e2luaXRpYWxDaGVja2VkOnIsaW5pdGlhbFZhbHVlOnQsY29udHJvbGxlZDoiY2hlY2tib3giPT09bi50eXBlfHwicmFkaW8iPT09bi50eXBlP251bGwhPW4uY2hlY2tlZDpudWxsIT1uLnZhbHVlfX1mdW5jdGlvbiBHKGUsbil7bnVsbCE9KG49bi5jaGVja2VkKSYmYihlLCJjaGVja2VkIixuLCExKX1mdW5jdGlvbiBaKGUsbil7RyhlLG4pO3ZhciB0PVEobi52YWx1ZSkscj1uLnR5cGU7aWYobnVsbCE9dCkibnVtYmVyIj09PXI/KDA9PT10JiYiIj09PWUudmFsdWV8fGUudmFsdWUhPXQpJiYoZS52YWx1ZT0iIit0KTplLnZhbHVlIT09IiIrdCYmKGUudmFsdWU9IiIrdCk7ZWxzZSBpZigic3VibWl0Ij09PXJ8fCJyZXNldCI9PT1yKXJldHVybiB2b2lkIGUucmVtb3ZlQXR0cmlidXRlKCJ2YWx1ZSIpO24uaGFzT3duUHJvcGVydHkoInZhbHVlIik/ZWUoZSxuLnR5cGUsdCk6bi5oYXNPd25Qcm9wZXJ0eSgiZGVmYXVsdFZhbHVlIikmJmVlKGUsbi50eXBlLFEobi5kZWZhdWx0VmFsdWUpKSxudWxsPT1uLmNoZWNrZWQmJm51bGwhPW4uZGVmYXVsdENoZWNrZWQmJihlLmRlZmF1bHRDaGVja2VkPSEhbi5kZWZhdWx0Q2hlY2tlZCl9ZnVuY3Rpb24gSihlLG4sdCl7aWYobi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKXx8bi5oYXNPd25Qcm9wZXJ0eSgiZGVmYXVsdFZhbHVlIikpe3ZhciByPW4udHlwZTtpZighKCJzdWJtaXQiIT09ciYmInJlc2V0IiE9PXJ8fHZvaWQgMCE9PW4udmFsdWUmJm51bGwhPT1uLnZhbHVlKSlyZXR1cm47bj0iIitlLl93cmFwcGVyU3RhdGUuaW5pdGlhbFZhbHVlLHR8fG49PT1lLnZhbHVlfHwoZS52YWx1ZT1uKSxlLmRlZmF1bHRWYWx1ZT1ufSIiIT09KHQ9ZS5uYW1lKSYmKGUubmFtZT0iIiksZS5kZWZhdWx0Q2hlY2tlZD0hIWUuX3dyYXBwZXJTdGF0ZS5pbml0aWFsQ2hlY2tlZCwiIiE9PXQmJihlLm5hbWU9dCl9ZnVuY3Rpb24gZWUoZSxuLHQpeyJudW1iZXIiPT09biYmSyhlLm93bmVyRG9jdW1lbnQpPT09ZXx8KG51bGw9PXQ/ZS5kZWZhdWx0VmFsdWU9IiIrZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZTplLmRlZmF1bHRWYWx1ZSE9PSIiK3QmJihlLmRlZmF1bHRWYWx1ZT0iIit0KSl9dmFyIG5lPUFycmF5LmlzQXJyYXk7ZnVuY3Rpb24gdGUoZSxuLHQscil7aWYoZT1lLm9wdGlvbnMsbil7bj17fTtmb3IodmFyIGw9MDtsPHQubGVuZ3RoO2wrKyluWyIkIit0W2xdXT0hMDtmb3IodD0wO3Q8ZS5sZW5ndGg7dCsrKWw9bi5oYXNPd25Qcm9wZXJ0eSgiJCIrZVt0XS52YWx1ZSksZVt0XS5zZWxlY3RlZCE9PWwmJihlW3RdLnNlbGVjdGVkPWwpLGwmJnImJihlW3RdLmRlZmF1bHRTZWxlY3RlZD0hMCl9ZWxzZXtmb3IodD0iIitRKHQpLG49bnVsbCxsPTA7bDxlLmxlbmd0aDtsKyspe2lmKGVbbF0udmFsdWU9PT10KXJldHVybiBlW2xdLnNlbGVjdGVkPSEwLHZvaWQociYmKGVbbF0uZGVmYXVsdFNlbGVjdGVkPSEwKSk7bnVsbCE9PW58fGVbbF0uZGlzYWJsZWR8fChuPWVbbF0pfW51bGwhPT1uJiYobi5zZWxlY3RlZD0hMCl9fWZ1bmN0aW9uIHJlKGUsbil7aWYobnVsbCE9bi5kYW5nZXJvdXNseVNldElubmVySFRNTCl0aHJvdyBFcnJvcihhKDkxKSk7cmV0dXJuIE8oe30sbix7dmFsdWU6dm9pZCAwLGRlZmF1bHRWYWx1ZTp2b2lkIDAsY2hpbGRyZW46IiIrZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZX0pfWZ1bmN0aW9uIGxlKGUsbil7dmFyIHQ9bi52YWx1ZTtpZihudWxsPT10KXtpZih0PW4uY2hpbGRyZW4sbj1uLmRlZmF1bHRWYWx1ZSxudWxsIT10KXtpZihudWxsIT1uKXRocm93IEVycm9yKGEoOTIpKTtpZihuZSh0KSl7CmlmKDE8dC5sZW5ndGgpdGhyb3cgRXJyb3IoYSg5MykpO3Q9dFswXX1uPXR9bnVsbD09biYmKG49IiIpLHQ9bn1lLl93cmFwcGVyU3RhdGU9e2luaXRpYWxWYWx1ZTpRKHQpfX1mdW5jdGlvbiBhZShlLG4pe3ZhciB0PVEobi52YWx1ZSkscj1RKG4uZGVmYXVsdFZhbHVlKTtudWxsIT10JiYoKHQ9IiIrdCkhPT1lLnZhbHVlJiYoZS52YWx1ZT10KSxudWxsPT1uLmRlZmF1bHRWYWx1ZSYmZS5kZWZhdWx0VmFsdWUhPT10JiYoZS5kZWZhdWx0VmFsdWU9dCkpLG51bGwhPXImJihlLmRlZmF1bHRWYWx1ZT0iIityKX1mdW5jdGlvbiB1ZShlKXt2YXIgbj1lLnRleHRDb250ZW50O249PT1lLl93cmFwcGVyU3RhdGUuaW5pdGlhbFZhbHVlJiYiIiE9PW4mJm51bGwhPT1uJiYoZS52YWx1ZT1uKX1mdW5jdGlvbiBvZShlKXtzd2l0Y2goZSl7Y2FzZSJzdmciOnJldHVybiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI7Y2FzZSJtYXRoIjpyZXR1cm4iaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCI7ZGVmYXVsdDpyZXR1cm4iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCJ9fWZ1bmN0aW9uIGllKGUsbil7cmV0dXJuIG51bGw9PWV8fCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj09PWU/b2Uobik6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj09PWUmJiJmb3JlaWduT2JqZWN0Ij09PW4/Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiOmV9dmFyIHNlLGNlLGZlPShjZT1mdW5jdGlvbihlLG4pe2lmKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIhPT1lLm5hbWVzcGFjZVVSSXx8ImlubmVySFRNTCJpbiBlKWUuaW5uZXJIVE1MPW47ZWxzZXtmb3IoKHNlPXNlfHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSkuaW5uZXJIVE1MPSI8c3ZnPiIrbi52YWx1ZU9mKCkudG9TdHJpbmcoKSsiPC9zdmc+IixuPXNlLmZpcnN0Q2hpbGQ7ZS5maXJzdENoaWxkOyllLnJlbW92ZUNoaWxkKGUuZmlyc3RDaGlsZCk7Zm9yKDtuLmZpcnN0Q2hpbGQ7KWUuYXBwZW5kQ2hpbGQobi5maXJzdENoaWxkKX19LCJ1bmRlZmluZWQiIT10eXBlb2YgTVNBcHAmJk1TQXBwLmV4ZWNVbnNhZmVMb2NhbEZ1bmN0aW9uP2Z1bmN0aW9uKGUsbix0LHIpe01TQXBwLmV4ZWNVbnNhZmVMb2NhbEZ1bmN0aW9uKChmdW5jdGlvbigpe3JldHVybiBjZShlLG4pfSkpfTpjZSk7ZnVuY3Rpb24gZGUoZSxuKXtpZihuKXt2YXIgdD1lLmZpcnN0Q2hpbGQ7aWYodCYmdD09PWUubGFzdENoaWxkJiYzPT09dC5ub2RlVHlwZSlyZXR1cm4gdm9pZCh0Lm5vZGVWYWx1ZT1uKX1lLnRleHRDb250ZW50PW59dmFyIHBlPXthbmltYXRpb25JdGVyYXRpb25Db3VudDohMCxhc3BlY3RSYXRpbzohMCxib3JkZXJJbWFnZU91dHNldDohMCxib3JkZXJJbWFnZVNsaWNlOiEwLGJvcmRlckltYWdlV2lkdGg6ITAsYm94RmxleDohMCxib3hGbGV4R3JvdXA6ITAsYm94T3JkaW5hbEdyb3VwOiEwLGNvbHVtbkNvdW50OiEwLGNvbHVtbnM6ITAsZmxleDohMCxmbGV4R3JvdzohMCxmbGV4UG9zaXRpdmU6ITAsZmxleFNocmluazohMCxmbGV4TmVnYXRpdmU6ITAsZmxleE9yZGVyOiEwLGdyaWRBcmVhOiEwLGdyaWRSb3c6ITAsZ3JpZFJvd0VuZDohMCxncmlkUm93U3BhbjohMCxncmlkUm93U3RhcnQ6ITAsZ3JpZENvbHVtbjohMCxncmlkQ29sdW1uRW5kOiEwLGdyaWRDb2x1bW5TcGFuOiEwLGdyaWRDb2x1bW5TdGFydDohMCxmb250V2VpZ2h0OiEwLGxpbmVDbGFtcDohMCxsaW5lSGVpZ2h0OiEwLG9wYWNpdHk6ITAsb3JkZXI6ITAsb3JwaGFuczohMCx0YWJTaXplOiEwLHdpZG93czohMCx6SW5kZXg6ITAsem9vbTohMCxmaWxsT3BhY2l0eTohMCxmbG9vZE9wYWNpdHk6ITAsc3RvcE9wYWNpdHk6ITAsc3Ryb2tlRGFzaGFycmF5OiEwLHN0cm9rZURhc2hvZmZzZXQ6ITAsc3Ryb2tlTWl0ZXJsaW1pdDohMCxzdHJva2VPcGFjaXR5OiEwLHN0cm9rZVdpZHRoOiEwfSxtZT1bIldlYmtpdCIsIm1zIiwiTW96IiwiTyJdO2Z1bmN0aW9uIGhlKGUsbix0KXtyZXR1cm4gbnVsbD09bnx8ImJvb2xlYW4iPT10eXBlb2Ygbnx8IiI9PT1uPyIiOnR8fCJudW1iZXIiIT10eXBlb2Ygbnx8MD09PW58fHBlLmhhc093blByb3BlcnR5KGUpJiZwZVtlXT8oIiIrbikudHJpbSgpOm4rInB4In1mdW5jdGlvbiBnZShlLG4pe2Zvcih2YXIgdCBpbiBlPWUuc3R5bGUsbilpZihuLmhhc093blByb3BlcnR5KHQpKXt2YXIgcj0wPT09dC5pbmRleE9mKCItLSIpLGw9aGUodCxuW3RdLHIpOyJmbG9hdCI9PT10JiYodD0iY3NzRmxvYXQiKSxyP2Uuc2V0UHJvcGVydHkodCxsKTplW3RdPWx9fU9iamVjdC5rZXlzKHBlKS5mb3JFYWNoKChmdW5jdGlvbihlKXttZS5mb3JFYWNoKChmdW5jdGlvbihuKXtuPW4rZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStlLnN1YnN0cmluZygxKSxwZVtuXT1wZVtlXX0pKX0pKTt2YXIgdmU9Tyh7bWVudWl0ZW06ITB9LHthcmVhOiEwLGJhc2U6ITAsYnI6ITAsY29sOiEwLGVtYmVkOiEwLGhyOiEwLGltZzohMCxpbnB1dDohMCxrZXlnZW46ITAsbGluazohMCxtZXRhOiEwLHBhcmFtOiEwLHNvdXJjZTohMCx0cmFjazohMCx3YnI6ITB9KTtmdW5jdGlvbiB5ZShlLG4pe2lmKG4pe2lmKHZlW2VdJiYobnVsbCE9bi5jaGlsZHJlbnx8bnVsbCE9bi5kYW5nZXJvdXNseVNldElubmVySFRNTCkpdGhyb3cgRXJyb3IoYSgxMzcsZSkpO2lmKG51bGwhPW4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpe2lmKG51bGwhPW4uY2hpbGRyZW4pdGhyb3cgRXJyb3IoYSg2MCkpO2lmKCJvYmplY3QiIT10eXBlb2Ygbi5kYW5nZXJvdXNseVNldElubmVySFRNTHx8ISgiX19odG1sImluIG4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpKXRocm93IEVycm9yKGEoNjEpKX1pZihudWxsIT1uLnN0eWxlJiYib2JqZWN0IiE9dHlwZW9mIG4uc3R5bGUpdGhyb3cgRXJyb3IoYSg2MikpfX1mdW5jdGlvbiBiZShlLG4pe2lmKC0xPT09ZS5pbmRleE9mKCItIikpcmV0dXJuInN0cmluZyI9PXR5cGVvZiBuLmlzO3N3aXRjaChlKXtjYXNlImFubm90YXRpb24teG1sIjpjYXNlImNvbG9yLXByb2ZpbGUiOmNhc2UiZm9udC1mYWNlIjpjYXNlImZvbnQtZmFjZS1zcmMiOgpjYXNlImZvbnQtZmFjZS11cmkiOmNhc2UiZm9udC1mYWNlLWZvcm1hdCI6Y2FzZSJmb250LWZhY2UtbmFtZSI6Y2FzZSJtaXNzaW5nLWdseXBoIjpyZXR1cm4hMTtkZWZhdWx0OnJldHVybiEwfX12YXIga2U9bnVsbDtmdW5jdGlvbiB3ZShlKXtyZXR1cm4oZT1lLnRhcmdldHx8ZS5zcmNFbGVtZW50fHx3aW5kb3cpLmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50JiYoZT1lLmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50KSwzPT09ZS5ub2RlVHlwZT9lLnBhcmVudE5vZGU6ZX12YXIgU2U9bnVsbCx4ZT1udWxsLEVlPW51bGw7ZnVuY3Rpb24gQ2UoZSl7aWYoZT1ibChlKSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIFNlKXRocm93IEVycm9yKGEoMjgwKSk7dmFyIG49ZS5zdGF0ZU5vZGU7biYmKG49d2wobiksU2UoZS5zdGF0ZU5vZGUsZS50eXBlLG4pKX19ZnVuY3Rpb24gemUoZSl7eGU/RWU/RWUucHVzaChlKTpFZT1bZV06eGU9ZX1mdW5jdGlvbiBOZSgpe2lmKHhlKXt2YXIgZT14ZSxuPUVlO2lmKEVlPXhlPW51bGwsQ2UoZSksbilmb3IoZT0wO2U8bi5sZW5ndGg7ZSsrKUNlKG5bZV0pfX1mdW5jdGlvbiBfZShlLG4pe3JldHVybiBlKG4pfWZ1bmN0aW9uIFBlKCl7fXZhciBUZT0hMTtmdW5jdGlvbiBMZShlLG4sdCl7aWYoVGUpcmV0dXJuIGUobix0KTtUZT0hMDt0cnl7cmV0dXJuIF9lKGUsbix0KX1maW5hbGx5e1RlPSExLChudWxsIT09eGV8fG51bGwhPT1FZSkmJihQZSgpLE5lKCkpfX1mdW5jdGlvbiBNZShlLG4pe3ZhciB0PWUuc3RhdGVOb2RlO2lmKG51bGw9PT10KXJldHVybiBudWxsO3ZhciByPXdsKHQpO2lmKG51bGw9PT1yKXJldHVybiBudWxsO3Q9cltuXTtlOnN3aXRjaChuKXtjYXNlIm9uQ2xpY2siOmNhc2Uib25DbGlja0NhcHR1cmUiOmNhc2Uib25Eb3VibGVDbGljayI6Y2FzZSJvbkRvdWJsZUNsaWNrQ2FwdHVyZSI6Y2FzZSJvbk1vdXNlRG93biI6Y2FzZSJvbk1vdXNlRG93bkNhcHR1cmUiOmNhc2Uib25Nb3VzZU1vdmUiOmNhc2Uib25Nb3VzZU1vdmVDYXB0dXJlIjpjYXNlIm9uTW91c2VVcCI6Y2FzZSJvbk1vdXNlVXBDYXB0dXJlIjpjYXNlIm9uTW91c2VFbnRlciI6KHI9IXIuZGlzYWJsZWQpfHwocj0hKCJidXR0b24iPT09KGU9ZS50eXBlKXx8ImlucHV0Ij09PWV8fCJzZWxlY3QiPT09ZXx8InRleHRhcmVhIj09PWUpKSxlPSFyO2JyZWFrIGU7ZGVmYXVsdDplPSExfWlmKGUpcmV0dXJuIG51bGw7aWYodCYmImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgRXJyb3IoYSgyMzEsbix0eXBlb2YgdCkpO3JldHVybiB0fXZhciBGZT0hMTtpZihjKXRyeXt2YXIgUmU9e307T2JqZWN0LmRlZmluZVByb3BlcnR5KFJlLCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7RmU9ITB9fSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLFJlLFJlKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdCIsUmUsUmUpfWNhdGNoKGNlKXtGZT0hMX1mdW5jdGlvbiBEZShlLG4sdCxyLGwsYSx1LG8saSl7dmFyIHM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDMpO3RyeXtuLmFwcGx5KHQscyl9Y2F0Y2goZSl7dGhpcy5vbkVycm9yKGUpfX12YXIgSWU9ITEsT2U9bnVsbCxVZT0hMSxWZT1udWxsLEFlPXtvbkVycm9yOmZ1bmN0aW9uKGUpe0llPSEwLE9lPWV9fTtmdW5jdGlvbiBCZShlLG4sdCxyLGwsYSx1LG8saSl7SWU9ITEsT2U9bnVsbCxEZS5hcHBseShBZSxhcmd1bWVudHMpfWZ1bmN0aW9uIFdlKGUpe3ZhciBuPWUsdD1lO2lmKGUuYWx0ZXJuYXRlKWZvcig7bi5yZXR1cm47KW49bi5yZXR1cm47ZWxzZXtlPW47ZG97ISEoNDA5OCYobj1lKS5mbGFncykmJih0PW4ucmV0dXJuKSxlPW4ucmV0dXJufXdoaWxlKGUpfXJldHVybiAzPT09bi50YWc/dDpudWxsfWZ1bmN0aW9uIEhlKGUpe2lmKDEzPT09ZS50YWcpe3ZhciBuPWUubWVtb2l6ZWRTdGF0ZTtpZihudWxsPT09biYmKG51bGwhPT0oZT1lLmFsdGVybmF0ZSkmJihuPWUubWVtb2l6ZWRTdGF0ZSkpLG51bGwhPT1uKXJldHVybiBuLmRlaHlkcmF0ZWR9cmV0dXJuIG51bGx9ZnVuY3Rpb24gUWUoZSl7aWYoV2UoZSkhPT1lKXRocm93IEVycm9yKGEoMTg4KSl9ZnVuY3Rpb24gamUoZSl7cmV0dXJuIG51bGwhPT0oZT1mdW5jdGlvbihlKXt2YXIgbj1lLmFsdGVybmF0ZTtpZighbil7aWYobnVsbD09PShuPVdlKGUpKSl0aHJvdyBFcnJvcihhKDE4OCkpO3JldHVybiBuIT09ZT9udWxsOmV9Zm9yKHZhciB0PWUscj1uOzspe3ZhciBsPXQucmV0dXJuO2lmKG51bGw9PT1sKWJyZWFrO3ZhciB1PWwuYWx0ZXJuYXRlO2lmKG51bGw9PT11KXtpZihudWxsIT09KHI9bC5yZXR1cm4pKXt0PXI7Y29udGludWV9YnJlYWt9aWYobC5jaGlsZD09PXUuY2hpbGQpe2Zvcih1PWwuY2hpbGQ7dTspe2lmKHU9PT10KXJldHVybiBRZShsKSxlO2lmKHU9PT1yKXJldHVybiBRZShsKSxuO3U9dS5zaWJsaW5nfXRocm93IEVycm9yKGEoMTg4KSl9aWYodC5yZXR1cm4hPT1yLnJldHVybil0PWwscj11O2Vsc2V7Zm9yKHZhciBvPSExLGk9bC5jaGlsZDtpOyl7aWYoaT09PXQpe289ITAsdD1sLHI9dTticmVha31pZihpPT09cil7bz0hMCxyPWwsdD11O2JyZWFrfWk9aS5zaWJsaW5nfWlmKCFvKXtmb3IoaT11LmNoaWxkO2k7KXtpZihpPT09dCl7bz0hMCx0PXUscj1sO2JyZWFrfWlmKGk9PT1yKXtvPSEwLHI9dSx0PWw7YnJlYWt9aT1pLnNpYmxpbmd9aWYoIW8pdGhyb3cgRXJyb3IoYSgxODkpKX19aWYodC5hbHRlcm5hdGUhPT1yKXRocm93IEVycm9yKGEoMTkwKSl9aWYoMyE9PXQudGFnKXRocm93IEVycm9yKGEoMTg4KSk7cmV0dXJuIHQuc3RhdGVOb2RlLmN1cnJlbnQ9PT10P2U6bn0oZSkpPyRlKGUpOm51bGx9ZnVuY3Rpb24gJGUoZSl7aWYoNT09PWUudGFnfHw2PT09ZS50YWcpcmV0dXJuIGU7Zm9yKGU9ZS5jaGlsZDtudWxsIT09ZTspe3ZhciBuPSRlKGUpO2lmKG51bGwhPT1uKXJldHVybiBuO2U9ZS5zaWJsaW5nfXJldHVybiBudWxsfQp2YXIgcWU9bC51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrLEtlPWwudW5zdGFibGVfY2FuY2VsQ2FsbGJhY2ssWWU9bC51bnN0YWJsZV9zaG91bGRZaWVsZCxYZT1sLnVuc3RhYmxlX3JlcXVlc3RQYWludCxHZT1sLnVuc3RhYmxlX25vdyxaZT1sLnVuc3RhYmxlX2dldEN1cnJlbnRQcmlvcml0eUxldmVsLEplPWwudW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHksZW49bC51bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eSxubj1sLnVuc3RhYmxlX05vcm1hbFByaW9yaXR5LHRuPWwudW5zdGFibGVfTG93UHJpb3JpdHkscm49bC51bnN0YWJsZV9JZGxlUHJpb3JpdHksbG49bnVsbCxhbj1udWxsO3ZhciB1bj1NYXRoLmNsejMyP01hdGguY2x6MzI6ZnVuY3Rpb24oZSl7cmV0dXJuIGU+Pj49MCwwPT09ZT8zMjozMS0ob24oZSkvc258MCl8MH0sb249TWF0aC5sb2csc249TWF0aC5MTjI7dmFyIGNuPTY0LGZuPTQxOTQzMDQ7ZnVuY3Rpb24gZG4oZSl7c3dpdGNoKGUmLWUpe2Nhc2UgMTpyZXR1cm4gMTtjYXNlIDI6cmV0dXJuIDI7Y2FzZSA0OnJldHVybiA0O2Nhc2UgODpyZXR1cm4gODtjYXNlIDE2OnJldHVybiAxNjtjYXNlIDMyOnJldHVybiAzMjtjYXNlIDY0OmNhc2UgMTI4OmNhc2UgMjU2OmNhc2UgNTEyOmNhc2UgMTAyNDpjYXNlIDIwNDg6Y2FzZSA0MDk2OmNhc2UgODE5MjpjYXNlIDE2Mzg0OmNhc2UgMzI3Njg6Y2FzZSA2NTUzNjpjYXNlIDEzMTA3MjpjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOnJldHVybiA0MTk0MjQwJmU7Y2FzZSA0MTk0MzA0OmNhc2UgODM4ODYwODpjYXNlIDE2Nzc3MjE2OmNhc2UgMzM1NTQ0MzI6Y2FzZSA2NzEwODg2NDpyZXR1cm4gMTMwMDIzNDI0JmU7Y2FzZSAxMzQyMTc3Mjg6cmV0dXJuIDEzNDIxNzcyODtjYXNlIDI2ODQzNTQ1NjpyZXR1cm4gMjY4NDM1NDU2O2Nhc2UgNTM2ODcwOTEyOnJldHVybiA1MzY4NzA5MTI7Y2FzZSAxMDczNzQxODI0OnJldHVybiAxMDczNzQxODI0O2RlZmF1bHQ6cmV0dXJuIGV9fWZ1bmN0aW9uIHBuKGUsbil7dmFyIHQ9ZS5wZW5kaW5nTGFuZXM7aWYoMD09PXQpcmV0dXJuIDA7dmFyIHI9MCxsPWUuc3VzcGVuZGVkTGFuZXMsYT1lLnBpbmdlZExhbmVzLHU9MjY4NDM1NDU1JnQ7aWYoMCE9PXUpe3ZhciBvPXUmfmw7MCE9PW8/cj1kbihvKTowIT09KGEmPXUpJiYocj1kbihhKSl9ZWxzZSAwIT09KHU9dCZ+bCk/cj1kbih1KTowIT09YSYmKHI9ZG4oYSkpO2lmKDA9PT1yKXJldHVybiAwO2lmKDAhPT1uJiZuIT09ciYmIShuJmwpJiYoKGw9ciYtcik+PShhPW4mLW4pfHwxNj09PWwmJjQxOTQyNDAmYSkpcmV0dXJuIG47aWYoNCZyJiYocnw9MTYmdCksMCE9PShuPWUuZW50YW5nbGVkTGFuZXMpKWZvcihlPWUuZW50YW5nbGVtZW50cyxuJj1yOzA8bjspbD0xPDwodD0zMS11bihuKSkscnw9ZVt0XSxuJj1+bDtyZXR1cm4gcn1mdW5jdGlvbiBtbihlLG4pe3N3aXRjaChlKXtjYXNlIDE6Y2FzZSAyOmNhc2UgNDpyZXR1cm4gbisyNTA7Y2FzZSA4OmNhc2UgMTY6Y2FzZSAzMjpjYXNlIDY0OmNhc2UgMTI4OmNhc2UgMjU2OmNhc2UgNTEyOmNhc2UgMTAyNDpjYXNlIDIwNDg6Y2FzZSA0MDk2OmNhc2UgODE5MjpjYXNlIDE2Mzg0OmNhc2UgMzI3Njg6Y2FzZSA2NTUzNjpjYXNlIDEzMTA3MjpjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOnJldHVybiBuKzVlMztkZWZhdWx0OnJldHVybi0xfX1mdW5jdGlvbiBobihlKXtyZXR1cm4gMCE9PShlPS0xMDczNzQxODI1JmUucGVuZGluZ0xhbmVzKT9lOjEwNzM3NDE4MjQmZT8xMDczNzQxODI0OjB9ZnVuY3Rpb24gZ24oKXt2YXIgZT1jbjtyZXR1cm4hKDQxOTQyNDAmKGNuPDw9MSkpJiYoY249NjQpLGV9ZnVuY3Rpb24gdm4oZSl7Zm9yKHZhciBuPVtdLHQ9MDszMT50O3QrKyluLnB1c2goZSk7cmV0dXJuIG59ZnVuY3Rpb24geW4oZSxuLHQpe2UucGVuZGluZ0xhbmVzfD1uLDUzNjg3MDkxMiE9PW4mJihlLnN1c3BlbmRlZExhbmVzPTAsZS5waW5nZWRMYW5lcz0wKSwoZT1lLmV2ZW50VGltZXMpW249MzEtdW4obildPXR9ZnVuY3Rpb24gYm4oZSxuKXt2YXIgdD1lLmVudGFuZ2xlZExhbmVzfD1uO2ZvcihlPWUuZW50YW5nbGVtZW50czt0Oyl7dmFyIHI9MzEtdW4odCksbD0xPDxyO2wmbnxlW3JdJm4mJihlW3JdfD1uKSx0Jj1+bH19dmFyIGtuPTA7ZnVuY3Rpb24gd24oZSl7cmV0dXJuIDE8KGUmPS1lKT80PGU/MjY4NDM1NDU1JmU/MTY6NTM2ODcwOTEyOjQ6MX12YXIgU24seG4sRW4sQ24sem4sTm49ITEsX249W10sUG49bnVsbCxUbj1udWxsLExuPW51bGwsTW49bmV3IE1hcCxGbj1uZXcgTWFwLFJuPVtdLERuPSJtb3VzZWRvd24gbW91c2V1cCB0b3VjaGNhbmNlbCB0b3VjaGVuZCB0b3VjaHN0YXJ0IGF1eGNsaWNrIGRibGNsaWNrIHBvaW50ZXJjYW5jZWwgcG9pbnRlcmRvd24gcG9pbnRlcnVwIGRyYWdlbmQgZHJhZ3N0YXJ0IGRyb3AgY29tcG9zaXRpb25lbmQgY29tcG9zaXRpb25zdGFydCBrZXlkb3duIGtleXByZXNzIGtleXVwIGlucHV0IHRleHRJbnB1dCBjb3B5IGN1dCBwYXN0ZSBjbGljayBjaGFuZ2UgY29udGV4dG1lbnUgcmVzZXQgc3VibWl0Ii5zcGxpdCgiICIpO2Z1bmN0aW9uIEluKGUsbil7c3dpdGNoKGUpe2Nhc2UiZm9jdXNpbiI6Y2FzZSJmb2N1c291dCI6UG49bnVsbDticmVhaztjYXNlImRyYWdlbnRlciI6Y2FzZSJkcmFnbGVhdmUiOlRuPW51bGw7YnJlYWs7Y2FzZSJtb3VzZW92ZXIiOmNhc2UibW91c2VvdXQiOkxuPW51bGw7YnJlYWs7Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJwb2ludGVyb3V0IjpNbi5kZWxldGUobi5wb2ludGVySWQpO2JyZWFrO2Nhc2UiZ290cG9pbnRlcmNhcHR1cmUiOmNhc2UibG9zdHBvaW50ZXJjYXB0dXJlIjpGbi5kZWxldGUobi5wb2ludGVySWQpfX1mdW5jdGlvbiBPbihlLG4sdCxyLGwsYSl7cmV0dXJuIG51bGw9PT1lfHxlLm5hdGl2ZUV2ZW50IT09YT8oZT17YmxvY2tlZE9uOm4sZG9tRXZlbnROYW1lOnQsZXZlbnRTeXN0ZW1GbGFnczpyLG5hdGl2ZUV2ZW50OmEsdGFyZ2V0Q29udGFpbmVyczpbbF19LG51bGwhPT1uJiYobnVsbCE9PShuPWJsKG4pKSYmeG4obikpLAplKTooZS5ldmVudFN5c3RlbUZsYWdzfD1yLG49ZS50YXJnZXRDb250YWluZXJzLG51bGwhPT1sJiYtMT09PW4uaW5kZXhPZihsKSYmbi5wdXNoKGwpLGUpfWZ1bmN0aW9uIFVuKGUpe3ZhciBuPXlsKGUudGFyZ2V0KTtpZihudWxsIT09bil7dmFyIHQ9V2Uobik7aWYobnVsbCE9PXQpaWYoMTM9PT0obj10LnRhZykpe2lmKG51bGwhPT0obj1IZSh0KSkpcmV0dXJuIGUuYmxvY2tlZE9uPW4sdm9pZCB6bihlLnByaW9yaXR5LChmdW5jdGlvbigpe0VuKHQpfSkpfWVsc2UgaWYoMz09PW4mJnQuc3RhdGVOb2RlLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpcmV0dXJuIHZvaWQoZS5ibG9ja2VkT249Mz09PXQudGFnP3Quc3RhdGVOb2RlLmNvbnRhaW5lckluZm86bnVsbCl9ZS5ibG9ja2VkT249bnVsbH1mdW5jdGlvbiBWbihlKXtpZihudWxsIT09ZS5ibG9ja2VkT24pcmV0dXJuITE7Zm9yKHZhciBuPWUudGFyZ2V0Q29udGFpbmVyczswPG4ubGVuZ3RoOyl7dmFyIHQ9WG4oZS5kb21FdmVudE5hbWUsZS5ldmVudFN5c3RlbUZsYWdzLG5bMF0sZS5uYXRpdmVFdmVudCk7aWYobnVsbCE9PXQpcmV0dXJuIG51bGwhPT0obj1ibCh0KSkmJnhuKG4pLGUuYmxvY2tlZE9uPXQsITE7dmFyIHI9bmV3KHQ9ZS5uYXRpdmVFdmVudCkuY29uc3RydWN0b3IodC50eXBlLHQpO2tlPXIsdC50YXJnZXQuZGlzcGF0Y2hFdmVudChyKSxrZT1udWxsLG4uc2hpZnQoKX1yZXR1cm4hMH1mdW5jdGlvbiBBbihlLG4sdCl7Vm4oZSkmJnQuZGVsZXRlKG4pfWZ1bmN0aW9uIEJuKCl7Tm49ITEsbnVsbCE9PVBuJiZWbihQbikmJihQbj1udWxsKSxudWxsIT09VG4mJlZuKFRuKSYmKFRuPW51bGwpLG51bGwhPT1MbiYmVm4oTG4pJiYoTG49bnVsbCksTW4uZm9yRWFjaChBbiksRm4uZm9yRWFjaChBbil9ZnVuY3Rpb24gV24oZSxuKXtlLmJsb2NrZWRPbj09PW4mJihlLmJsb2NrZWRPbj1udWxsLE5ufHwoTm49ITAsbC51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrKGwudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksQm4pKSl9ZnVuY3Rpb24gSG4oZSl7ZnVuY3Rpb24gbihuKXtyZXR1cm4gV24obixlKX1pZigwPF9uLmxlbmd0aCl7V24oX25bMF0sZSk7Zm9yKHZhciB0PTE7dDxfbi5sZW5ndGg7dCsrKXt2YXIgcj1fblt0XTtyLmJsb2NrZWRPbj09PWUmJihyLmJsb2NrZWRPbj1udWxsKX19Zm9yKG51bGwhPT1QbiYmV24oUG4sZSksbnVsbCE9PVRuJiZXbihUbixlKSxudWxsIT09TG4mJlduKExuLGUpLE1uLmZvckVhY2gobiksRm4uZm9yRWFjaChuKSx0PTA7dDxSbi5sZW5ndGg7dCsrKShyPVJuW3RdKS5ibG9ja2VkT249PT1lJiYoci5ibG9ja2VkT249bnVsbCk7Zm9yKDswPFJuLmxlbmd0aCYmbnVsbD09PSh0PVJuWzBdKS5ibG9ja2VkT247KVVuKHQpLG51bGw9PT10LmJsb2NrZWRPbiYmUm4uc2hpZnQoKX12YXIgUW49ay5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxqbj0hMDtmdW5jdGlvbiAkbihlLG4sdCxyKXt2YXIgbD1rbixhPVFuLnRyYW5zaXRpb247UW4udHJhbnNpdGlvbj1udWxsO3RyeXtrbj0xLEtuKGUsbix0LHIpfWZpbmFsbHl7a249bCxRbi50cmFuc2l0aW9uPWF9fWZ1bmN0aW9uIHFuKGUsbix0LHIpe3ZhciBsPWtuLGE9UW4udHJhbnNpdGlvbjtRbi50cmFuc2l0aW9uPW51bGw7dHJ5e2tuPTQsS24oZSxuLHQscil9ZmluYWxseXtrbj1sLFFuLnRyYW5zaXRpb249YX19ZnVuY3Rpb24gS24oZSxuLHQscil7aWYoam4pe3ZhciBsPVhuKGUsbix0LHIpO2lmKG51bGw9PT1sKVFyKGUsbixyLFluLHQpLEluKGUscik7ZWxzZSBpZihmdW5jdGlvbihlLG4sdCxyLGwpe3N3aXRjaChuKXtjYXNlImZvY3VzaW4iOnJldHVybiBQbj1PbihQbixlLG4sdCxyLGwpLCEwO2Nhc2UiZHJhZ2VudGVyIjpyZXR1cm4gVG49T24oVG4sZSxuLHQscixsKSwhMDtjYXNlIm1vdXNlb3ZlciI6cmV0dXJuIExuPU9uKExuLGUsbix0LHIsbCksITA7Y2FzZSJwb2ludGVyb3ZlciI6dmFyIGE9bC5wb2ludGVySWQ7cmV0dXJuIE1uLnNldChhLE9uKE1uLmdldChhKXx8bnVsbCxlLG4sdCxyLGwpKSwhMDtjYXNlImdvdHBvaW50ZXJjYXB0dXJlIjpyZXR1cm4gYT1sLnBvaW50ZXJJZCxGbi5zZXQoYSxPbihGbi5nZXQoYSl8fG51bGwsZSxuLHQscixsKSksITB9cmV0dXJuITF9KGwsZSxuLHQscikpci5zdG9wUHJvcGFnYXRpb24oKTtlbHNlIGlmKEluKGUsciksNCZuJiYtMTxEbi5pbmRleE9mKGUpKXtmb3IoO251bGwhPT1sOyl7dmFyIGE9YmwobCk7aWYobnVsbCE9PWEmJlNuKGEpLG51bGw9PT0oYT1YbihlLG4sdCxyKSkmJlFyKGUsbixyLFluLHQpLGE9PT1sKWJyZWFrO2w9YX1udWxsIT09bCYmci5zdG9wUHJvcGFnYXRpb24oKX1lbHNlIFFyKGUsbixyLG51bGwsdCl9fXZhciBZbj1udWxsO2Z1bmN0aW9uIFhuKGUsbix0LHIpe2lmKFluPW51bGwsbnVsbCE9PShlPXlsKGU9d2UocikpKSlpZihudWxsPT09KG49V2UoZSkpKWU9bnVsbDtlbHNlIGlmKDEzPT09KHQ9bi50YWcpKXtpZihudWxsIT09KGU9SGUobikpKXJldHVybiBlO2U9bnVsbH1lbHNlIGlmKDM9PT10KXtpZihuLnN0YXRlTm9kZS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXJldHVybiAzPT09bi50YWc/bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbzpudWxsO2U9bnVsbH1lbHNlIG4hPT1lJiYoZT1udWxsKTtyZXR1cm4gWW49ZSxudWxsfWZ1bmN0aW9uIEduKGUpe3N3aXRjaChlKXtjYXNlImNhbmNlbCI6Y2FzZSJjbGljayI6Y2FzZSJjbG9zZSI6Y2FzZSJjb250ZXh0bWVudSI6Y2FzZSJjb3B5IjpjYXNlImN1dCI6Y2FzZSJhdXhjbGljayI6Y2FzZSJkYmxjbGljayI6Y2FzZSJkcmFnZW5kIjpjYXNlImRyYWdzdGFydCI6Y2FzZSJkcm9wIjpjYXNlImZvY3VzaW4iOmNhc2UiZm9jdXNvdXQiOmNhc2UiaW5wdXQiOmNhc2UiaW52YWxpZCI6Y2FzZSJrZXlkb3duIjpjYXNlImtleXByZXNzIjpjYXNlImtleXVwIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJtb3VzZXVwIjpjYXNlInBhc3RlIjpjYXNlInBhdXNlIjpjYXNlInBsYXkiOmNhc2UicG9pbnRlcmNhbmNlbCI6Y2FzZSJwb2ludGVyZG93biI6Y2FzZSJwb2ludGVydXAiOmNhc2UicmF0ZWNoYW5nZSI6CmNhc2UicmVzZXQiOmNhc2UicmVzaXplIjpjYXNlInNlZWtlZCI6Y2FzZSJzdWJtaXQiOmNhc2UidG91Y2hjYW5jZWwiOmNhc2UidG91Y2hlbmQiOmNhc2UidG91Y2hzdGFydCI6Y2FzZSJ2b2x1bWVjaGFuZ2UiOmNhc2UiY2hhbmdlIjpjYXNlInNlbGVjdGlvbmNoYW5nZSI6Y2FzZSJ0ZXh0SW5wdXQiOmNhc2UiY29tcG9zaXRpb25zdGFydCI6Y2FzZSJjb21wb3NpdGlvbmVuZCI6Y2FzZSJjb21wb3NpdGlvbnVwZGF0ZSI6Y2FzZSJiZWZvcmVibHVyIjpjYXNlImFmdGVyYmx1ciI6Y2FzZSJiZWZvcmVpbnB1dCI6Y2FzZSJibHVyIjpjYXNlImZ1bGxzY3JlZW5jaGFuZ2UiOmNhc2UiZm9jdXMiOmNhc2UiaGFzaGNoYW5nZSI6Y2FzZSJwb3BzdGF0ZSI6Y2FzZSJzZWxlY3QiOmNhc2Uic2VsZWN0c3RhcnQiOnJldHVybiAxO2Nhc2UiZHJhZyI6Y2FzZSJkcmFnZW50ZXIiOmNhc2UiZHJhZ2V4aXQiOmNhc2UiZHJhZ2xlYXZlIjpjYXNlImRyYWdvdmVyIjpjYXNlIm1vdXNlbW92ZSI6Y2FzZSJtb3VzZW91dCI6Y2FzZSJtb3VzZW92ZXIiOmNhc2UicG9pbnRlcm1vdmUiOmNhc2UicG9pbnRlcm91dCI6Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJzY3JvbGwiOmNhc2UidG9nZ2xlIjpjYXNlInRvdWNobW92ZSI6Y2FzZSJ3aGVlbCI6Y2FzZSJtb3VzZWVudGVyIjpjYXNlIm1vdXNlbGVhdmUiOmNhc2UicG9pbnRlcmVudGVyIjpjYXNlInBvaW50ZXJsZWF2ZSI6cmV0dXJuIDQ7Y2FzZSJtZXNzYWdlIjpzd2l0Y2goWmUoKSl7Y2FzZSBKZTpyZXR1cm4gMTtjYXNlIGVuOnJldHVybiA0O2Nhc2Ugbm46Y2FzZSB0bjpyZXR1cm4gMTY7Y2FzZSBybjpyZXR1cm4gNTM2ODcwOTEyO2RlZmF1bHQ6cmV0dXJuIDE2fWRlZmF1bHQ6cmV0dXJuIDE2fX12YXIgWm49bnVsbCxKbj1udWxsLGV0PW51bGw7ZnVuY3Rpb24gbnQoKXtpZihldClyZXR1cm4gZXQ7dmFyIGUsbix0PUpuLHI9dC5sZW5ndGgsbD0idmFsdWUiaW4gWm4/Wm4udmFsdWU6Wm4udGV4dENvbnRlbnQsYT1sLmxlbmd0aDtmb3IoZT0wO2U8ciYmdFtlXT09PWxbZV07ZSsrKTt2YXIgdT1yLWU7Zm9yKG49MTtuPD11JiZ0W3Itbl09PT1sW2Etbl07bisrKTtyZXR1cm4gZXQ9bC5zbGljZShlLDE8bj8xLW46dm9pZCAwKX1mdW5jdGlvbiB0dChlKXt2YXIgbj1lLmtleUNvZGU7cmV0dXJuImNoYXJDb2RlImluIGU/MD09PShlPWUuY2hhckNvZGUpJiYxMz09PW4mJihlPTEzKTplPW4sMTA9PT1lJiYoZT0xMyksMzI8PWV8fDEzPT09ZT9lOjB9ZnVuY3Rpb24gcnQoKXtyZXR1cm4hMH1mdW5jdGlvbiBsdCgpe3JldHVybiExfWZ1bmN0aW9uIGF0KGUpe2Z1bmN0aW9uIG4obix0LHIsbCxhKXtmb3IodmFyIHUgaW4gdGhpcy5fcmVhY3ROYW1lPW4sdGhpcy5fdGFyZ2V0SW5zdD1yLHRoaXMudHlwZT10LHRoaXMubmF0aXZlRXZlbnQ9bCx0aGlzLnRhcmdldD1hLHRoaXMuY3VycmVudFRhcmdldD1udWxsLGUpZS5oYXNPd25Qcm9wZXJ0eSh1KSYmKG49ZVt1XSx0aGlzW3VdPW4/bihsKTpsW3VdKTtyZXR1cm4gdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9KG51bGwhPWwuZGVmYXVsdFByZXZlbnRlZD9sLmRlZmF1bHRQcmV2ZW50ZWQ6ITE9PT1sLnJldHVyblZhbHVlKT9ydDpsdCx0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPWx0LHRoaXN9cmV0dXJuIE8obi5wcm90b3R5cGUse3ByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0UHJldmVudGVkPSEwO3ZhciBlPXRoaXMubmF0aXZlRXZlbnQ7ZSYmKGUucHJldmVudERlZmF1bHQ/ZS5wcmV2ZW50RGVmYXVsdCgpOiJ1bmtub3duIiE9dHlwZW9mIGUucmV0dXJuVmFsdWUmJihlLnJldHVyblZhbHVlPSExKSx0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1ydCl9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMubmF0aXZlRXZlbnQ7ZSYmKGUuc3RvcFByb3BhZ2F0aW9uP2Uuc3RvcFByb3BhZ2F0aW9uKCk6InVua25vd24iIT10eXBlb2YgZS5jYW5jZWxCdWJibGUmJihlLmNhbmNlbEJ1YmJsZT0hMCksdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1ydCl9LHBlcnNpc3Q6ZnVuY3Rpb24oKXt9LGlzUGVyc2lzdGVudDpydH0pLG59dmFyIHV0LG90LGl0LHN0PXtldmVudFBoYXNlOjAsYnViYmxlczowLGNhbmNlbGFibGU6MCx0aW1lU3RhbXA6ZnVuY3Rpb24oZSl7cmV0dXJuIGUudGltZVN0YW1wfHxEYXRlLm5vdygpfSxkZWZhdWx0UHJldmVudGVkOjAsaXNUcnVzdGVkOjB9LGN0PWF0KHN0KSxmdD1PKHt9LHN0LHt2aWV3OjAsZGV0YWlsOjB9KSxkdD1hdChmdCkscHQ9Tyh7fSxmdCx7c2NyZWVuWDowLHNjcmVlblk6MCxjbGllbnRYOjAsY2xpZW50WTowLHBhZ2VYOjAscGFnZVk6MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxhbHRLZXk6MCxtZXRhS2V5OjAsZ2V0TW9kaWZpZXJTdGF0ZTpDdCxidXR0b246MCxidXR0b25zOjAscmVsYXRlZFRhcmdldDpmdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwPT09ZS5yZWxhdGVkVGFyZ2V0P2UuZnJvbUVsZW1lbnQ9PT1lLnNyY0VsZW1lbnQ/ZS50b0VsZW1lbnQ6ZS5mcm9tRWxlbWVudDplLnJlbGF0ZWRUYXJnZXR9LG1vdmVtZW50WDpmdW5jdGlvbihlKXtyZXR1cm4ibW92ZW1lbnRYImluIGU/ZS5tb3ZlbWVudFg6KGUhPT1pdCYmKGl0JiYibW91c2Vtb3ZlIj09PWUudHlwZT8odXQ9ZS5zY3JlZW5YLWl0LnNjcmVlblgsb3Q9ZS5zY3JlZW5ZLWl0LnNjcmVlblkpOm90PXV0PTAsaXQ9ZSksdXQpfSxtb3ZlbWVudFk6ZnVuY3Rpb24oZSl7cmV0dXJuIm1vdmVtZW50WSJpbiBlP2UubW92ZW1lbnRZOm90fX0pLG10PWF0KHB0KSxodD1hdChPKHt9LHB0LHtkYXRhVHJhbnNmZXI6MH0pKSxndD1hdChPKHt9LGZ0LHtyZWxhdGVkVGFyZ2V0OjB9KSksdnQ9YXQoTyh7fSxzdCx7YW5pbWF0aW9uTmFtZTowLGVsYXBzZWRUaW1lOjAscHNldWRvRWxlbWVudDowfSkpLHl0PU8oe30sc3Qse2NsaXBib2FyZERhdGE6ZnVuY3Rpb24oZSl7cmV0dXJuImNsaXBib2FyZERhdGEiaW4gZT9lLmNsaXBib2FyZERhdGE6d2luZG93LmNsaXBib2FyZERhdGF9fSksYnQ9YXQoeXQpLGt0PWF0KE8oe30sc3Qse2RhdGE6MH0pKSx3dD17RXNjOiJFc2NhcGUiLFNwYWNlYmFyOiIgIixMZWZ0OiJBcnJvd0xlZnQiLApVcDoiQXJyb3dVcCIsUmlnaHQ6IkFycm93UmlnaHQiLERvd246IkFycm93RG93biIsRGVsOiJEZWxldGUiLFdpbjoiT1MiLE1lbnU6IkNvbnRleHRNZW51IixBcHBzOiJDb250ZXh0TWVudSIsU2Nyb2xsOiJTY3JvbGxMb2NrIixNb3pQcmludGFibGVLZXk6IlVuaWRlbnRpZmllZCJ9LFN0PXs4OiJCYWNrc3BhY2UiLDk6IlRhYiIsMTI6IkNsZWFyIiwxMzoiRW50ZXIiLDE2OiJTaGlmdCIsMTc6IkNvbnRyb2wiLDE4OiJBbHQiLDE5OiJQYXVzZSIsMjA6IkNhcHNMb2NrIiwyNzoiRXNjYXBlIiwzMjoiICIsMzM6IlBhZ2VVcCIsMzQ6IlBhZ2VEb3duIiwzNToiRW5kIiwzNjoiSG9tZSIsMzc6IkFycm93TGVmdCIsMzg6IkFycm93VXAiLDM5OiJBcnJvd1JpZ2h0Iiw0MDoiQXJyb3dEb3duIiw0NToiSW5zZXJ0Iiw0NjoiRGVsZXRlIiwxMTI6IkYxIiwxMTM6IkYyIiwxMTQ6IkYzIiwxMTU6IkY0IiwxMTY6IkY1IiwxMTc6IkY2IiwxMTg6IkY3IiwxMTk6IkY4IiwxMjA6IkY5IiwxMjE6IkYxMCIsMTIyOiJGMTEiLDEyMzoiRjEyIiwxNDQ6Ik51bUxvY2siLDE0NToiU2Nyb2xsTG9jayIsMjI0OiJNZXRhIn0seHQ9e0FsdDoiYWx0S2V5IixDb250cm9sOiJjdHJsS2V5IixNZXRhOiJtZXRhS2V5IixTaGlmdDoic2hpZnRLZXkifTtmdW5jdGlvbiBFdChlKXt2YXIgbj10aGlzLm5hdGl2ZUV2ZW50O3JldHVybiBuLmdldE1vZGlmaWVyU3RhdGU/bi5nZXRNb2RpZmllclN0YXRlKGUpOiEhKGU9eHRbZV0pJiYhIW5bZV19ZnVuY3Rpb24gQ3QoKXtyZXR1cm4gRXR9dmFyIHp0PU8oe30sZnQse2tleTpmdW5jdGlvbihlKXtpZihlLmtleSl7dmFyIG49d3RbZS5rZXldfHxlLmtleTtpZigiVW5pZGVudGlmaWVkIiE9PW4pcmV0dXJuIG59cmV0dXJuImtleXByZXNzIj09PWUudHlwZT8xMz09PShlPXR0KGUpKT8iRW50ZXIiOlN0cmluZy5mcm9tQ2hhckNvZGUoZSk6ImtleWRvd24iPT09ZS50eXBlfHwia2V5dXAiPT09ZS50eXBlP1N0W2Uua2V5Q29kZV18fCJVbmlkZW50aWZpZWQiOiIifSxjb2RlOjAsbG9jYXRpb246MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxhbHRLZXk6MCxtZXRhS2V5OjAscmVwZWF0OjAsbG9jYWxlOjAsZ2V0TW9kaWZpZXJTdGF0ZTpDdCxjaGFyQ29kZTpmdW5jdGlvbihlKXtyZXR1cm4ia2V5cHJlc3MiPT09ZS50eXBlP3R0KGUpOjB9LGtleUNvZGU6ZnVuY3Rpb24oZSl7cmV0dXJuImtleWRvd24iPT09ZS50eXBlfHwia2V5dXAiPT09ZS50eXBlP2Uua2V5Q29kZTowfSx3aGljaDpmdW5jdGlvbihlKXtyZXR1cm4ia2V5cHJlc3MiPT09ZS50eXBlP3R0KGUpOiJrZXlkb3duIj09PWUudHlwZXx8ImtleXVwIj09PWUudHlwZT9lLmtleUNvZGU6MH19KSxOdD1hdCh6dCksX3Q9YXQoTyh7fSxwdCx7cG9pbnRlcklkOjAsd2lkdGg6MCxoZWlnaHQ6MCxwcmVzc3VyZTowLHRhbmdlbnRpYWxQcmVzc3VyZTowLHRpbHRYOjAsdGlsdFk6MCx0d2lzdDowLHBvaW50ZXJUeXBlOjAsaXNQcmltYXJ5OjB9KSksUHQ9YXQoTyh7fSxmdCx7dG91Y2hlczowLHRhcmdldFRvdWNoZXM6MCxjaGFuZ2VkVG91Y2hlczowLGFsdEtleTowLG1ldGFLZXk6MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxnZXRNb2RpZmllclN0YXRlOkN0fSkpLFR0PWF0KE8oe30sc3Qse3Byb3BlcnR5TmFtZTowLGVsYXBzZWRUaW1lOjAscHNldWRvRWxlbWVudDowfSkpLEx0PU8oe30scHQse2RlbHRhWDpmdW5jdGlvbihlKXtyZXR1cm4iZGVsdGFYImluIGU/ZS5kZWx0YVg6IndoZWVsRGVsdGFYImluIGU/LWUud2hlZWxEZWx0YVg6MH0sZGVsdGFZOmZ1bmN0aW9uKGUpe3JldHVybiJkZWx0YVkiaW4gZT9lLmRlbHRhWToid2hlZWxEZWx0YVkiaW4gZT8tZS53aGVlbERlbHRhWToid2hlZWxEZWx0YSJpbiBlPy1lLndoZWVsRGVsdGE6MH0sZGVsdGFaOjAsZGVsdGFNb2RlOjB9KSxNdD1hdChMdCksRnQ9WzksMTMsMjcsMzJdLFJ0PWMmJiJDb21wb3NpdGlvbkV2ZW50ImluIHdpbmRvdyxEdD1udWxsO2MmJiJkb2N1bWVudE1vZGUiaW4gZG9jdW1lbnQmJihEdD1kb2N1bWVudC5kb2N1bWVudE1vZGUpO3ZhciBJdD1jJiYiVGV4dEV2ZW50ImluIHdpbmRvdyYmIUR0LE90PWMmJighUnR8fER0JiY4PER0JiYxMT49RHQpLFV0PVN0cmluZy5mcm9tQ2hhckNvZGUoMzIpLFZ0PSExO2Z1bmN0aW9uIEF0KGUsbil7c3dpdGNoKGUpe2Nhc2Uia2V5dXAiOnJldHVybi0xIT09RnQuaW5kZXhPZihuLmtleUNvZGUpO2Nhc2Uia2V5ZG93biI6cmV0dXJuIDIyOSE9PW4ua2V5Q29kZTtjYXNlImtleXByZXNzIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJmb2N1c291dCI6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19ZnVuY3Rpb24gQnQoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZihlPWUuZGV0YWlsKSYmImRhdGEiaW4gZT9lLmRhdGE6bnVsbH12YXIgV3Q9ITE7dmFyIEh0PXtjb2xvcjohMCxkYXRlOiEwLGRhdGV0aW1lOiEwLCJkYXRldGltZS1sb2NhbCI6ITAsZW1haWw6ITAsbW9udGg6ITAsbnVtYmVyOiEwLHBhc3N3b3JkOiEwLHJhbmdlOiEwLHNlYXJjaDohMCx0ZWw6ITAsdGV4dDohMCx0aW1lOiEwLHVybDohMCx3ZWVrOiEwfTtmdW5jdGlvbiBRdChlKXt2YXIgbj1lJiZlLm5vZGVOYW1lJiZlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PW4/ISFIdFtlLnR5cGVdOiJ0ZXh0YXJlYSI9PT1ufWZ1bmN0aW9uIGp0KGUsbix0LHIpe3plKHIpLDA8KG49JHIobiwib25DaGFuZ2UiKSkubGVuZ3RoJiYodD1uZXcgY3QoIm9uQ2hhbmdlIiwiY2hhbmdlIixudWxsLHQsciksZS5wdXNoKHtldmVudDp0LGxpc3RlbmVyczpufSkpfXZhciAkdD1udWxsLHF0PW51bGw7ZnVuY3Rpb24gS3QoZSl7VXIoZSwwKX1mdW5jdGlvbiBZdChlKXtpZihxKGtsKGUpKSlyZXR1cm4gZX1mdW5jdGlvbiBYdChlLG4pe2lmKCJjaGFuZ2UiPT09ZSlyZXR1cm4gbn12YXIgR3Q9ITE7aWYoYyl7dmFyIFp0O2lmKGMpe3ZhciBKdD0ib25pbnB1dCJpbiBkb2N1bWVudDtpZighSnQpe3ZhciBlcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtlci5zZXRBdHRyaWJ1dGUoIm9uaW5wdXQiLCJyZXR1cm47IiksSnQ9ImZ1bmN0aW9uIj09dHlwZW9mIGVyLm9uaW5wdXR9WnQ9SnQKfWVsc2UgWnQ9ITE7R3Q9WnQmJighZG9jdW1lbnQuZG9jdW1lbnRNb2RlfHw5PGRvY3VtZW50LmRvY3VtZW50TW9kZSl9ZnVuY3Rpb24gbnIoKXskdCYmKCR0LmRldGFjaEV2ZW50KCJvbnByb3BlcnR5Y2hhbmdlIix0cikscXQ9JHQ9bnVsbCl9ZnVuY3Rpb24gdHIoZSl7aWYoInZhbHVlIj09PWUucHJvcGVydHlOYW1lJiZZdChxdCkpe3ZhciBuPVtdO2p0KG4scXQsZSx3ZShlKSksTGUoS3Qsbil9fWZ1bmN0aW9uIHJyKGUsbix0KXsiZm9jdXNpbiI9PT1lPyhucigpLHF0PXQsKCR0PW4pLmF0dGFjaEV2ZW50KCJvbnByb3BlcnR5Y2hhbmdlIix0cikpOiJmb2N1c291dCI9PT1lJiZucigpfWZ1bmN0aW9uIGxyKGUpe2lmKCJzZWxlY3Rpb25jaGFuZ2UiPT09ZXx8ImtleXVwIj09PWV8fCJrZXlkb3duIj09PWUpcmV0dXJuIFl0KHF0KX1mdW5jdGlvbiBhcihlLG4pe2lmKCJjbGljayI9PT1lKXJldHVybiBZdChuKX1mdW5jdGlvbiB1cihlLG4pe2lmKCJpbnB1dCI9PT1lfHwiY2hhbmdlIj09PWUpcmV0dXJuIFl0KG4pfXZhciBvcj0iZnVuY3Rpb24iPT10eXBlb2YgT2JqZWN0LmlzP09iamVjdC5pczpmdW5jdGlvbihlLG4pe3JldHVybiBlPT09biYmKDAhPT1lfHwxL2U9PTEvbil8fGUhPWUmJm4hPW59O2Z1bmN0aW9uIGlyKGUsbil7aWYob3IoZSxuKSlyZXR1cm4hMDtpZigib2JqZWN0IiE9dHlwZW9mIGV8fG51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIG58fG51bGw9PT1uKXJldHVybiExO3ZhciB0PU9iamVjdC5rZXlzKGUpLHI9T2JqZWN0LmtleXMobik7aWYodC5sZW5ndGghPT1yLmxlbmd0aClyZXR1cm4hMTtmb3Iocj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbD10W3JdO2lmKCFmLmNhbGwobixsKXx8IW9yKGVbbF0sbltsXSkpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gc3IoZSl7Zm9yKDtlJiZlLmZpcnN0Q2hpbGQ7KWU9ZS5maXJzdENoaWxkO3JldHVybiBlfWZ1bmN0aW9uIGNyKGUsbil7dmFyIHQscj1zcihlKTtmb3IoZT0wO3I7KXtpZigzPT09ci5ub2RlVHlwZSl7aWYodD1lK3IudGV4dENvbnRlbnQubGVuZ3RoLGU8PW4mJnQ+PW4pcmV0dXJue25vZGU6cixvZmZzZXQ6bi1lfTtlPXR9ZTp7Zm9yKDtyOyl7aWYoci5uZXh0U2libGluZyl7cj1yLm5leHRTaWJsaW5nO2JyZWFrIGV9cj1yLnBhcmVudE5vZGV9cj12b2lkIDB9cj1zcihyKX19ZnVuY3Rpb24gZnIoZSxuKXtyZXR1cm4hKCFlfHwhbikmJihlPT09bnx8KCFlfHwzIT09ZS5ub2RlVHlwZSkmJihuJiYzPT09bi5ub2RlVHlwZT9mcihlLG4ucGFyZW50Tm9kZSk6ImNvbnRhaW5zImluIGU/ZS5jb250YWlucyhuKTohIWUuY29tcGFyZURvY3VtZW50UG9zaXRpb24mJiEhKDE2JmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24obikpKSl9ZnVuY3Rpb24gZHIoKXtmb3IodmFyIGU9d2luZG93LG49SygpO24gaW5zdGFuY2VvZiBlLkhUTUxJRnJhbWVFbGVtZW50Oyl7dHJ5e3ZhciB0PSJzdHJpbmciPT10eXBlb2Ygbi5jb250ZW50V2luZG93LmxvY2F0aW9uLmhyZWZ9Y2F0Y2goZSl7dD0hMX1pZighdClicmVhaztuPUsoKGU9bi5jb250ZW50V2luZG93KS5kb2N1bWVudCl9cmV0dXJuIG59ZnVuY3Rpb24gcHIoZSl7dmFyIG49ZSYmZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiBuJiYoImlucHV0Ij09PW4mJigidGV4dCI9PT1lLnR5cGV8fCJzZWFyY2giPT09ZS50eXBlfHwidGVsIj09PWUudHlwZXx8InVybCI9PT1lLnR5cGV8fCJwYXNzd29yZCI9PT1lLnR5cGUpfHwidGV4dGFyZWEiPT09bnx8InRydWUiPT09ZS5jb250ZW50RWRpdGFibGUpfWZ1bmN0aW9uIG1yKGUpe3ZhciBuPWRyKCksdD1lLmZvY3VzZWRFbGVtLHI9ZS5zZWxlY3Rpb25SYW5nZTtpZihuIT09dCYmdCYmdC5vd25lckRvY3VtZW50JiZmcih0Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHQpKXtpZihudWxsIT09ciYmcHIodCkpaWYobj1yLnN0YXJ0LHZvaWQgMD09PShlPXIuZW5kKSYmKGU9biksInNlbGVjdGlvblN0YXJ0ImluIHQpdC5zZWxlY3Rpb25TdGFydD1uLHQuc2VsZWN0aW9uRW5kPU1hdGgubWluKGUsdC52YWx1ZS5sZW5ndGgpO2Vsc2UgaWYoKGU9KG49dC5vd25lckRvY3VtZW50fHxkb2N1bWVudCkmJm4uZGVmYXVsdFZpZXd8fHdpbmRvdykuZ2V0U2VsZWN0aW9uKXtlPWUuZ2V0U2VsZWN0aW9uKCk7dmFyIGw9dC50ZXh0Q29udGVudC5sZW5ndGgsYT1NYXRoLm1pbihyLnN0YXJ0LGwpO3I9dm9pZCAwPT09ci5lbmQ/YTpNYXRoLm1pbihyLmVuZCxsKSwhZS5leHRlbmQmJmE+ciYmKGw9cixyPWEsYT1sKSxsPWNyKHQsYSk7dmFyIHU9Y3IodCxyKTtsJiZ1JiYoMSE9PWUucmFuZ2VDb3VudHx8ZS5hbmNob3JOb2RlIT09bC5ub2RlfHxlLmFuY2hvck9mZnNldCE9PWwub2Zmc2V0fHxlLmZvY3VzTm9kZSE9PXUubm9kZXx8ZS5mb2N1c09mZnNldCE9PXUub2Zmc2V0KSYmKChuPW4uY3JlYXRlUmFuZ2UoKSkuc2V0U3RhcnQobC5ub2RlLGwub2Zmc2V0KSxlLnJlbW92ZUFsbFJhbmdlcygpLGE+cj8oZS5hZGRSYW5nZShuKSxlLmV4dGVuZCh1Lm5vZGUsdS5vZmZzZXQpKToobi5zZXRFbmQodS5ub2RlLHUub2Zmc2V0KSxlLmFkZFJhbmdlKG4pKSl9Zm9yKG49W10sZT10O2U9ZS5wYXJlbnROb2RlOykxPT09ZS5ub2RlVHlwZSYmbi5wdXNoKHtlbGVtZW50OmUsbGVmdDplLnNjcm9sbExlZnQsdG9wOmUuc2Nyb2xsVG9wfSk7Zm9yKCJmdW5jdGlvbiI9PXR5cGVvZiB0LmZvY3VzJiZ0LmZvY3VzKCksdD0wO3Q8bi5sZW5ndGg7dCsrKShlPW5bdF0pLmVsZW1lbnQuc2Nyb2xsTGVmdD1lLmxlZnQsZS5lbGVtZW50LnNjcm9sbFRvcD1lLnRvcH19dmFyIGhyPWMmJiJkb2N1bWVudE1vZGUiaW4gZG9jdW1lbnQmJjExPj1kb2N1bWVudC5kb2N1bWVudE1vZGUsZ3I9bnVsbCx2cj1udWxsLHlyPW51bGwsYnI9ITE7ZnVuY3Rpb24ga3IoZSxuLHQpe3ZhciByPXQud2luZG93PT09dD90LmRvY3VtZW50Ojk9PT10Lm5vZGVUeXBlP3Q6dC5vd25lckRvY3VtZW50O2JyfHxudWxsPT1ncnx8Z3IhPT1LKHIpfHwoInNlbGVjdGlvblN0YXJ0ImluKHI9Z3IpJiZwcihyKT9yPXtzdGFydDpyLnNlbGVjdGlvblN0YXJ0LGVuZDpyLnNlbGVjdGlvbkVuZAp9OnI9e2FuY2hvck5vZGU6KHI9KHIub3duZXJEb2N1bWVudCYmci5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx3aW5kb3cpLmdldFNlbGVjdGlvbigpKS5hbmNob3JOb2RlLGFuY2hvck9mZnNldDpyLmFuY2hvck9mZnNldCxmb2N1c05vZGU6ci5mb2N1c05vZGUsZm9jdXNPZmZzZXQ6ci5mb2N1c09mZnNldH0seXImJmlyKHlyLHIpfHwoeXI9ciwwPChyPSRyKHZyLCJvblNlbGVjdCIpKS5sZW5ndGgmJihuPW5ldyBjdCgib25TZWxlY3QiLCJzZWxlY3QiLG51bGwsbix0KSxlLnB1c2goe2V2ZW50Om4sbGlzdGVuZXJzOnJ9KSxuLnRhcmdldD1ncikpKX1mdW5jdGlvbiB3cihlLG4pe3ZhciB0PXt9O3JldHVybiB0W2UudG9Mb3dlckNhc2UoKV09bi50b0xvd2VyQ2FzZSgpLHRbIldlYmtpdCIrZV09IndlYmtpdCIrbix0WyJNb3oiK2VdPSJtb3oiK24sdH12YXIgU3I9e2FuaW1hdGlvbmVuZDp3cigiQW5pbWF0aW9uIiwiQW5pbWF0aW9uRW5kIiksYW5pbWF0aW9uaXRlcmF0aW9uOndyKCJBbmltYXRpb24iLCJBbmltYXRpb25JdGVyYXRpb24iKSxhbmltYXRpb25zdGFydDp3cigiQW5pbWF0aW9uIiwiQW5pbWF0aW9uU3RhcnQiKSx0cmFuc2l0aW9uZW5kOndyKCJUcmFuc2l0aW9uIiwiVHJhbnNpdGlvbkVuZCIpfSx4cj17fSxFcj17fTtmdW5jdGlvbiBDcihlKXtpZih4cltlXSlyZXR1cm4geHJbZV07aWYoIVNyW2VdKXJldHVybiBlO3ZhciBuLHQ9U3JbZV07Zm9yKG4gaW4gdClpZih0Lmhhc093blByb3BlcnR5KG4pJiZuIGluIEVyKXJldHVybiB4cltlXT10W25dO3JldHVybiBlfWMmJihFcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKS5zdHlsZSwiQW5pbWF0aW9uRXZlbnQiaW4gd2luZG93fHwoZGVsZXRlIFNyLmFuaW1hdGlvbmVuZC5hbmltYXRpb24sZGVsZXRlIFNyLmFuaW1hdGlvbml0ZXJhdGlvbi5hbmltYXRpb24sZGVsZXRlIFNyLmFuaW1hdGlvbnN0YXJ0LmFuaW1hdGlvbiksIlRyYW5zaXRpb25FdmVudCJpbiB3aW5kb3d8fGRlbGV0ZSBTci50cmFuc2l0aW9uZW5kLnRyYW5zaXRpb24pO3ZhciB6cj1DcigiYW5pbWF0aW9uZW5kIiksTnI9Q3IoImFuaW1hdGlvbml0ZXJhdGlvbiIpLF9yPUNyKCJhbmltYXRpb25zdGFydCIpLFByPUNyKCJ0cmFuc2l0aW9uZW5kIiksVHI9bmV3IE1hcCxMcj0iYWJvcnQgYXV4Q2xpY2sgY2FuY2VsIGNhblBsYXkgY2FuUGxheVRocm91Z2ggY2xpY2sgY2xvc2UgY29udGV4dE1lbnUgY29weSBjdXQgZHJhZyBkcmFnRW5kIGRyYWdFbnRlciBkcmFnRXhpdCBkcmFnTGVhdmUgZHJhZ092ZXIgZHJhZ1N0YXJ0IGRyb3AgZHVyYXRpb25DaGFuZ2UgZW1wdGllZCBlbmNyeXB0ZWQgZW5kZWQgZXJyb3IgZ290UG9pbnRlckNhcHR1cmUgaW5wdXQgaW52YWxpZCBrZXlEb3duIGtleVByZXNzIGtleVVwIGxvYWQgbG9hZGVkRGF0YSBsb2FkZWRNZXRhZGF0YSBsb2FkU3RhcnQgbG9zdFBvaW50ZXJDYXB0dXJlIG1vdXNlRG93biBtb3VzZU1vdmUgbW91c2VPdXQgbW91c2VPdmVyIG1vdXNlVXAgcGFzdGUgcGF1c2UgcGxheSBwbGF5aW5nIHBvaW50ZXJDYW5jZWwgcG9pbnRlckRvd24gcG9pbnRlck1vdmUgcG9pbnRlck91dCBwb2ludGVyT3ZlciBwb2ludGVyVXAgcHJvZ3Jlc3MgcmF0ZUNoYW5nZSByZXNldCByZXNpemUgc2Vla2VkIHNlZWtpbmcgc3RhbGxlZCBzdWJtaXQgc3VzcGVuZCB0aW1lVXBkYXRlIHRvdWNoQ2FuY2VsIHRvdWNoRW5kIHRvdWNoU3RhcnQgdm9sdW1lQ2hhbmdlIHNjcm9sbCB0b2dnbGUgdG91Y2hNb3ZlIHdhaXRpbmcgd2hlZWwiLnNwbGl0KCIgIik7ZnVuY3Rpb24gTXIoZSxuKXtUci5zZXQoZSxuKSxpKG4sW2VdKX1mb3IodmFyIEZyPTA7RnI8THIubGVuZ3RoO0ZyKyspe3ZhciBScj1McltGcl07TXIoUnIudG9Mb3dlckNhc2UoKSwib24iKyhSclswXS50b1VwcGVyQ2FzZSgpK1JyLnNsaWNlKDEpKSl9TXIoenIsIm9uQW5pbWF0aW9uRW5kIiksTXIoTnIsIm9uQW5pbWF0aW9uSXRlcmF0aW9uIiksTXIoX3IsIm9uQW5pbWF0aW9uU3RhcnQiKSxNcigiZGJsY2xpY2siLCJvbkRvdWJsZUNsaWNrIiksTXIoImZvY3VzaW4iLCJvbkZvY3VzIiksTXIoImZvY3Vzb3V0Iiwib25CbHVyIiksTXIoUHIsIm9uVHJhbnNpdGlvbkVuZCIpLHMoIm9uTW91c2VFbnRlciIsWyJtb3VzZW91dCIsIm1vdXNlb3ZlciJdKSxzKCJvbk1vdXNlTGVhdmUiLFsibW91c2VvdXQiLCJtb3VzZW92ZXIiXSkscygib25Qb2ludGVyRW50ZXIiLFsicG9pbnRlcm91dCIsInBvaW50ZXJvdmVyIl0pLHMoIm9uUG9pbnRlckxlYXZlIixbInBvaW50ZXJvdXQiLCJwb2ludGVyb3ZlciJdKSxpKCJvbkNoYW5nZSIsImNoYW5nZSBjbGljayBmb2N1c2luIGZvY3Vzb3V0IGlucHV0IGtleWRvd24ga2V5dXAgc2VsZWN0aW9uY2hhbmdlIi5zcGxpdCgiICIpKSxpKCJvblNlbGVjdCIsImZvY3Vzb3V0IGNvbnRleHRtZW51IGRyYWdlbmQgZm9jdXNpbiBrZXlkb3duIGtleXVwIG1vdXNlZG93biBtb3VzZXVwIHNlbGVjdGlvbmNoYW5nZSIuc3BsaXQoIiAiKSksaSgib25CZWZvcmVJbnB1dCIsWyJjb21wb3NpdGlvbmVuZCIsImtleXByZXNzIiwidGV4dElucHV0IiwicGFzdGUiXSksaSgib25Db21wb3NpdGlvbkVuZCIsImNvbXBvc2l0aW9uZW5kIGZvY3Vzb3V0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2Vkb3duIi5zcGxpdCgiICIpKSxpKCJvbkNvbXBvc2l0aW9uU3RhcnQiLCJjb21wb3NpdGlvbnN0YXJ0IGZvY3Vzb3V0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2Vkb3duIi5zcGxpdCgiICIpKSxpKCJvbkNvbXBvc2l0aW9uVXBkYXRlIiwiY29tcG9zaXRpb251cGRhdGUgZm9jdXNvdXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBtb3VzZWRvd24iLnNwbGl0KCIgIikpCjt2YXIgRHI9ImFib3J0IGNhbnBsYXkgY2FucGxheXRocm91Z2ggZHVyYXRpb25jaGFuZ2UgZW1wdGllZCBlbmNyeXB0ZWQgZW5kZWQgZXJyb3IgbG9hZGVkZGF0YSBsb2FkZWRtZXRhZGF0YSBsb2Fkc3RhcnQgcGF1c2UgcGxheSBwbGF5aW5nIHByb2dyZXNzIHJhdGVjaGFuZ2UgcmVzaXplIHNlZWtlZCBzZWVraW5nIHN0YWxsZWQgc3VzcGVuZCB0aW1ldXBkYXRlIHZvbHVtZWNoYW5nZSB3YWl0aW5nIi5zcGxpdCgiICIpLElyPW5ldyBTZXQoImNhbmNlbCBjbG9zZSBpbnZhbGlkIGxvYWQgc2Nyb2xsIHRvZ2dsZSIuc3BsaXQoIiAiKS5jb25jYXQoRHIpKTtmdW5jdGlvbiBPcihlLG4sdCl7dmFyIHI9ZS50eXBlfHwidW5rbm93bi1ldmVudCI7ZS5jdXJyZW50VGFyZ2V0PXQsZnVuY3Rpb24oZSxuLHQscixsLHUsbyxpLHMpe2lmKEJlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxJZSl7aWYoIUllKXRocm93IEVycm9yKGEoMTk4KSk7dmFyIGM9T2U7SWU9ITEsT2U9bnVsbCxVZXx8KFVlPSEwLFZlPWMpfX0ocixuLHZvaWQgMCxlKSxlLmN1cnJlbnRUYXJnZXQ9bnVsbH1mdW5jdGlvbiBVcihlLG4pe249ISEoNCZuKTtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKyl7dmFyIHI9ZVt0XSxsPXIuZXZlbnQ7cj1yLmxpc3RlbmVycztlOnt2YXIgYT12b2lkIDA7aWYobilmb3IodmFyIHU9ci5sZW5ndGgtMTswPD11O3UtLSl7dmFyIG89clt1XSxpPW8uaW5zdGFuY2Uscz1vLmN1cnJlbnRUYXJnZXQ7aWYobz1vLmxpc3RlbmVyLGkhPT1hJiZsLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpYnJlYWsgZTtPcihsLG8scyksYT1pfWVsc2UgZm9yKHU9MDt1PHIubGVuZ3RoO3UrKyl7aWYoaT0obz1yW3VdKS5pbnN0YW5jZSxzPW8uY3VycmVudFRhcmdldCxvPW8ubGlzdGVuZXIsaSE9PWEmJmwuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSlicmVhayBlO09yKGwsbyxzKSxhPWl9fX1pZihVZSl0aHJvdyBlPVZlLFVlPSExLFZlPW51bGwsZX1mdW5jdGlvbiBWcihlLG4pe3ZhciB0PW5baGxdO3ZvaWQgMD09PXQmJih0PW5baGxdPW5ldyBTZXQpO3ZhciByPWUrIl9fYnViYmxlIjt0LmhhcyhyKXx8KEhyKG4sZSwyLCExKSx0LmFkZChyKSl9ZnVuY3Rpb24gQXIoZSxuLHQpe3ZhciByPTA7biYmKHJ8PTQpLEhyKHQsZSxyLG4pfXZhciBCcj0iX3JlYWN0TGlzdGVuaW5nIitNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKTtmdW5jdGlvbiBXcihlKXtpZighZVtCcl0pe2VbQnJdPSEwLHUuZm9yRWFjaCgoZnVuY3Rpb24obil7InNlbGVjdGlvbmNoYW5nZSIhPT1uJiYoSXIuaGFzKG4pfHxBcihuLCExLGUpLEFyKG4sITAsZSkpfSkpO3ZhciBuPTk9PT1lLm5vZGVUeXBlP2U6ZS5vd25lckRvY3VtZW50O251bGw9PT1ufHxuW0JyXXx8KG5bQnJdPSEwLEFyKCJzZWxlY3Rpb25jaGFuZ2UiLCExLG4pKX19ZnVuY3Rpb24gSHIoZSxuLHQscil7c3dpdGNoKEduKG4pKXtjYXNlIDE6dmFyIGw9JG47YnJlYWs7Y2FzZSA0Omw9cW47YnJlYWs7ZGVmYXVsdDpsPUtufXQ9bC5iaW5kKG51bGwsbix0LGUpLGw9dm9pZCAwLCFGZXx8InRvdWNoc3RhcnQiIT09biYmInRvdWNobW92ZSIhPT1uJiYid2hlZWwiIT09bnx8KGw9ITApLHI/dm9pZCAwIT09bD9lLmFkZEV2ZW50TGlzdGVuZXIobix0LHtjYXB0dXJlOiEwLHBhc3NpdmU6bH0pOmUuYWRkRXZlbnRMaXN0ZW5lcihuLHQsITApOnZvaWQgMCE9PWw/ZS5hZGRFdmVudExpc3RlbmVyKG4sdCx7cGFzc2l2ZTpsfSk6ZS5hZGRFdmVudExpc3RlbmVyKG4sdCwhMSl9ZnVuY3Rpb24gUXIoZSxuLHQscixsKXt2YXIgYT1yO2lmKCEoMSZufHwyJm58fG51bGw9PT1yKSllOmZvcig7Oyl7aWYobnVsbD09PXIpcmV0dXJuO3ZhciB1PXIudGFnO2lmKDM9PT11fHw0PT09dSl7dmFyIG89ci5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztpZihvPT09bHx8OD09PW8ubm9kZVR5cGUmJm8ucGFyZW50Tm9kZT09PWwpYnJlYWs7aWYoND09PXUpZm9yKHU9ci5yZXR1cm47bnVsbCE9PXU7KXt2YXIgaT11LnRhZztpZigoMz09PWl8fDQ9PT1pKSYmKChpPXUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pPT09bHx8OD09PWkubm9kZVR5cGUmJmkucGFyZW50Tm9kZT09PWwpKXJldHVybjt1PXUucmV0dXJufWZvcig7bnVsbCE9PW87KXtpZihudWxsPT09KHU9eWwobykpKXJldHVybjtpZig1PT09KGk9dS50YWcpfHw2PT09aSl7cj1hPXU7Y29udGludWUgZX1vPW8ucGFyZW50Tm9kZX19cj1yLnJldHVybn1MZSgoZnVuY3Rpb24oKXt2YXIgcj1hLGw9d2UodCksdT1bXTtlOnt2YXIgbz1Uci5nZXQoZSk7aWYodm9pZCAwIT09byl7dmFyIGk9Y3Qscz1lO3N3aXRjaChlKXtjYXNlImtleXByZXNzIjppZigwPT09dHQodCkpYnJlYWsgZTtjYXNlImtleWRvd24iOmNhc2Uia2V5dXAiOmk9TnQ7YnJlYWs7Y2FzZSJmb2N1c2luIjpzPSJmb2N1cyIsaT1ndDticmVhaztjYXNlImZvY3Vzb3V0IjpzPSJibHVyIixpPWd0O2JyZWFrO2Nhc2UiYmVmb3JlYmx1ciI6Y2FzZSJhZnRlcmJsdXIiOmk9Z3Q7YnJlYWs7Y2FzZSJjbGljayI6aWYoMj09PXQuYnV0dG9uKWJyZWFrIGU7Y2FzZSJhdXhjbGljayI6Y2FzZSJkYmxjbGljayI6Y2FzZSJtb3VzZWRvd24iOmNhc2UibW91c2Vtb3ZlIjpjYXNlIm1vdXNldXAiOmNhc2UibW91c2VvdXQiOmNhc2UibW91c2VvdmVyIjpjYXNlImNvbnRleHRtZW51IjppPW10O2JyZWFrO2Nhc2UiZHJhZyI6Y2FzZSJkcmFnZW5kIjpjYXNlImRyYWdlbnRlciI6Y2FzZSJkcmFnZXhpdCI6Y2FzZSJkcmFnbGVhdmUiOmNhc2UiZHJhZ292ZXIiOmNhc2UiZHJhZ3N0YXJ0IjpjYXNlImRyb3AiOmk9aHQ7YnJlYWs7Y2FzZSJ0b3VjaGNhbmNlbCI6Y2FzZSJ0b3VjaGVuZCI6Y2FzZSJ0b3VjaG1vdmUiOmNhc2UidG91Y2hzdGFydCI6aT1QdDticmVhaztjYXNlIHpyOmNhc2UgTnI6Y2FzZSBfcjppPXZ0O2JyZWFrO2Nhc2UgUHI6aT1UdDticmVhaztjYXNlInNjcm9sbCI6aT1kdDticmVhaztjYXNlIndoZWVsIjppPU10O2JyZWFrO2Nhc2UiY29weSI6Y2FzZSJjdXQiOmNhc2UicGFzdGUiOmk9YnQ7YnJlYWs7Y2FzZSJnb3Rwb2ludGVyY2FwdHVyZSI6Y2FzZSJsb3N0cG9pbnRlcmNhcHR1cmUiOgpjYXNlInBvaW50ZXJjYW5jZWwiOmNhc2UicG9pbnRlcmRvd24iOmNhc2UicG9pbnRlcm1vdmUiOmNhc2UicG9pbnRlcm91dCI6Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJwb2ludGVydXAiOmk9X3R9dmFyIGM9ISEoNCZuKSxmPSFjJiYic2Nyb2xsIj09PWUsZD1jP251bGwhPT1vP28rIkNhcHR1cmUiOm51bGw6bztjPVtdO2Zvcih2YXIgcCxtPXI7bnVsbCE9PW07KXt2YXIgaD0ocD1tKS5zdGF0ZU5vZGU7aWYoNT09PXAudGFnJiZudWxsIT09aCYmKHA9aCxudWxsIT09ZCYmKG51bGwhPShoPU1lKG0sZCkpJiZjLnB1c2goanIobSxoLHApKSkpLGYpYnJlYWs7bT1tLnJldHVybn0wPGMubGVuZ3RoJiYobz1uZXcgaShvLHMsbnVsbCx0LGwpLHUucHVzaCh7ZXZlbnQ6byxsaXN0ZW5lcnM6Y30pKX19aWYoISg3Jm4pKXtpZihpPSJtb3VzZW91dCI9PT1lfHwicG9pbnRlcm91dCI9PT1lLCghKG89Im1vdXNlb3ZlciI9PT1lfHwicG9pbnRlcm92ZXIiPT09ZSl8fHQ9PT1rZXx8IShzPXQucmVsYXRlZFRhcmdldHx8dC5mcm9tRWxlbWVudCl8fCF5bChzKSYmIXNbbWxdKSYmKGl8fG8pJiYobz1sLndpbmRvdz09PWw/bDoobz1sLm93bmVyRG9jdW1lbnQpP28uZGVmYXVsdFZpZXd8fG8ucGFyZW50V2luZG93OndpbmRvdyxpPyhpPXIsbnVsbCE9PShzPShzPXQucmVsYXRlZFRhcmdldHx8dC50b0VsZW1lbnQpP3lsKHMpOm51bGwpJiYocyE9PShmPVdlKHMpKXx8NSE9PXMudGFnJiY2IT09cy50YWcpJiYocz1udWxsKSk6KGk9bnVsbCxzPXIpLGkhPT1zKSl7aWYoYz1tdCxoPSJvbk1vdXNlTGVhdmUiLGQ9Im9uTW91c2VFbnRlciIsbT0ibW91c2UiLCJwb2ludGVyb3V0IiE9PWUmJiJwb2ludGVyb3ZlciIhPT1lfHwoYz1fdCxoPSJvblBvaW50ZXJMZWF2ZSIsZD0ib25Qb2ludGVyRW50ZXIiLG09InBvaW50ZXIiKSxmPW51bGw9PWk/bzprbChpKSxwPW51bGw9PXM/bzprbChzKSwobz1uZXcgYyhoLG0rImxlYXZlIixpLHQsbCkpLnRhcmdldD1mLG8ucmVsYXRlZFRhcmdldD1wLGg9bnVsbCx5bChsKT09PXImJigoYz1uZXcgYyhkLG0rImVudGVyIixzLHQsbCkpLnRhcmdldD1wLGMucmVsYXRlZFRhcmdldD1mLGg9YyksZj1oLGkmJnMpZTp7Zm9yKGQ9cyxtPTAscD1jPWk7cDtwPXFyKHApKW0rKztmb3IocD0wLGg9ZDtoO2g9cXIoaCkpcCsrO2Zvcig7MDxtLXA7KWM9cXIoYyksbS0tO2Zvcig7MDxwLW07KWQ9cXIoZCkscC0tO2Zvcig7bS0tOyl7aWYoYz09PWR8fG51bGwhPT1kJiZjPT09ZC5hbHRlcm5hdGUpYnJlYWsgZTtjPXFyKGMpLGQ9cXIoZCl9Yz1udWxsfWVsc2UgYz1udWxsO251bGwhPT1pJiZLcih1LG8saSxjLCExKSxudWxsIT09cyYmbnVsbCE9PWYmJktyKHUsZixzLGMsITApfWlmKCJzZWxlY3QiPT09KGk9KG89cj9rbChyKTp3aW5kb3cpLm5vZGVOYW1lJiZvLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpfHwiaW5wdXQiPT09aSYmImZpbGUiPT09by50eXBlKXZhciBnPVh0O2Vsc2UgaWYoUXQobykpaWYoR3QpZz11cjtlbHNle2c9bHI7dmFyIHY9cnJ9ZWxzZShpPW8ubm9kZU5hbWUpJiYiaW5wdXQiPT09aS50b0xvd2VyQ2FzZSgpJiYoImNoZWNrYm94Ij09PW8udHlwZXx8InJhZGlvIj09PW8udHlwZSkmJihnPWFyKTtzd2l0Y2goZyYmKGc9ZyhlLHIpKT9qdCh1LGcsdCxsKToodiYmdihlLG8sciksImZvY3Vzb3V0Ij09PWUmJih2PW8uX3dyYXBwZXJTdGF0ZSkmJnYuY29udHJvbGxlZCYmIm51bWJlciI9PT1vLnR5cGUmJmVlKG8sIm51bWJlciIsby52YWx1ZSkpLHY9cj9rbChyKTp3aW5kb3csZSl7Y2FzZSJmb2N1c2luIjooUXQodil8fCJ0cnVlIj09PXYuY29udGVudEVkaXRhYmxlKSYmKGdyPXYsdnI9cix5cj1udWxsKTticmVhaztjYXNlImZvY3Vzb3V0Ijp5cj12cj1ncj1udWxsO2JyZWFrO2Nhc2UibW91c2Vkb3duIjpicj0hMDticmVhaztjYXNlImNvbnRleHRtZW51IjpjYXNlIm1vdXNldXAiOmNhc2UiZHJhZ2VuZCI6YnI9ITEsa3IodSx0LGwpO2JyZWFrO2Nhc2Uic2VsZWN0aW9uY2hhbmdlIjppZihocilicmVhaztjYXNlImtleWRvd24iOmNhc2Uia2V5dXAiOmtyKHUsdCxsKX12YXIgeTtpZihSdCllOntzd2l0Y2goZSl7Y2FzZSJjb21wb3NpdGlvbnN0YXJ0Ijp2YXIgYj0ib25Db21wb3NpdGlvblN0YXJ0IjticmVhayBlO2Nhc2UiY29tcG9zaXRpb25lbmQiOmI9Im9uQ29tcG9zaXRpb25FbmQiO2JyZWFrIGU7Y2FzZSJjb21wb3NpdGlvbnVwZGF0ZSI6Yj0ib25Db21wb3NpdGlvblVwZGF0ZSI7YnJlYWsgZX1iPXZvaWQgMH1lbHNlIFd0P0F0KGUsdCkmJihiPSJvbkNvbXBvc2l0aW9uRW5kIik6ImtleWRvd24iPT09ZSYmMjI5PT09dC5rZXlDb2RlJiYoYj0ib25Db21wb3NpdGlvblN0YXJ0Iik7YiYmKE90JiYia28iIT09dC5sb2NhbGUmJihXdHx8Im9uQ29tcG9zaXRpb25TdGFydCIhPT1iPyJvbkNvbXBvc2l0aW9uRW5kIj09PWImJld0JiYoeT1udCgpKTooSm49InZhbHVlImluKFpuPWwpP1puLnZhbHVlOlpuLnRleHRDb250ZW50LFd0PSEwKSksMDwodj0kcihyLGIpKS5sZW5ndGgmJihiPW5ldyBrdChiLGUsbnVsbCx0LGwpLHUucHVzaCh7ZXZlbnQ6YixsaXN0ZW5lcnM6dn0pLHk/Yi5kYXRhPXk6bnVsbCE9PSh5PUJ0KHQpKSYmKGIuZGF0YT15KSkpLCh5PUl0P2Z1bmN0aW9uKGUsbil7c3dpdGNoKGUpe2Nhc2UiY29tcG9zaXRpb25lbmQiOnJldHVybiBCdChuKTtjYXNlImtleXByZXNzIjpyZXR1cm4gMzIhPT1uLndoaWNoP251bGw6KFZ0PSEwLFV0KTtjYXNlInRleHRJbnB1dCI6cmV0dXJuKGU9bi5kYXRhKT09PVV0JiZWdD9udWxsOmU7ZGVmYXVsdDpyZXR1cm4gbnVsbH19KGUsdCk6ZnVuY3Rpb24oZSxuKXtpZihXdClyZXR1cm4iY29tcG9zaXRpb25lbmQiPT09ZXx8IVJ0JiZBdChlLG4pPyhlPW50KCksZXQ9Sm49Wm49bnVsbCxXdD0hMSxlKTpudWxsO3N3aXRjaChlKXtjYXNlInBhc3RlIjpkZWZhdWx0OnJldHVybiBudWxsO2Nhc2Uia2V5cHJlc3MiOmlmKCEobi5jdHJsS2V5fHxuLmFsdEtleXx8bi5tZXRhS2V5KXx8bi5jdHJsS2V5JiZuLmFsdEtleSl7aWYobi5jaGFyJiYxPG4uY2hhci5sZW5ndGgpcmV0dXJuIG4uY2hhcgo7aWYobi53aGljaClyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZShuLndoaWNoKX1yZXR1cm4gbnVsbDtjYXNlImNvbXBvc2l0aW9uZW5kIjpyZXR1cm4gT3QmJiJrbyIhPT1uLmxvY2FsZT9udWxsOm4uZGF0YX19KGUsdCkpJiYoMDwocj0kcihyLCJvbkJlZm9yZUlucHV0IikpLmxlbmd0aCYmKGw9bmV3IGt0KCJvbkJlZm9yZUlucHV0IiwiYmVmb3JlaW5wdXQiLG51bGwsdCxsKSx1LnB1c2goe2V2ZW50OmwsbGlzdGVuZXJzOnJ9KSxsLmRhdGE9eSkpfVVyKHUsbil9KSl9ZnVuY3Rpb24ganIoZSxuLHQpe3JldHVybntpbnN0YW5jZTplLGxpc3RlbmVyOm4sY3VycmVudFRhcmdldDp0fX1mdW5jdGlvbiAkcihlLG4pe2Zvcih2YXIgdD1uKyJDYXB0dXJlIixyPVtdO251bGwhPT1lOyl7dmFyIGw9ZSxhPWwuc3RhdGVOb2RlOzU9PT1sLnRhZyYmbnVsbCE9PWEmJihsPWEsbnVsbCE9KGE9TWUoZSx0KSkmJnIudW5zaGlmdChqcihlLGEsbCkpLG51bGwhPShhPU1lKGUsbikpJiZyLnB1c2goanIoZSxhLGwpKSksZT1lLnJldHVybn1yZXR1cm4gcn1mdW5jdGlvbiBxcihlKXtpZihudWxsPT09ZSlyZXR1cm4gbnVsbDtkb3tlPWUucmV0dXJufXdoaWxlKGUmJjUhPT1lLnRhZyk7cmV0dXJuIGV8fG51bGx9ZnVuY3Rpb24gS3IoZSxuLHQscixsKXtmb3IodmFyIGE9bi5fcmVhY3ROYW1lLHU9W107bnVsbCE9PXQmJnQhPT1yOyl7dmFyIG89dCxpPW8uYWx0ZXJuYXRlLHM9by5zdGF0ZU5vZGU7aWYobnVsbCE9PWkmJmk9PT1yKWJyZWFrOzU9PT1vLnRhZyYmbnVsbCE9PXMmJihvPXMsbD9udWxsIT0oaT1NZSh0LGEpKSYmdS51bnNoaWZ0KGpyKHQsaSxvKSk6bHx8bnVsbCE9KGk9TWUodCxhKSkmJnUucHVzaChqcih0LGksbykpKSx0PXQucmV0dXJufTAhPT11Lmxlbmd0aCYmZS5wdXNoKHtldmVudDpuLGxpc3RlbmVyczp1fSl9dmFyIFlyPS9cclxuPy9nLFhyPS9cdTAwMDB8XHVGRkZEL2c7ZnVuY3Rpb24gR3IoZSl7cmV0dXJuKCJzdHJpbmciPT10eXBlb2YgZT9lOiIiK2UpLnJlcGxhY2UoWXIsIlxuIikucmVwbGFjZShYciwiIil9ZnVuY3Rpb24gWnIoZSxuLHQpe2lmKG49R3IobiksR3IoZSkhPT1uJiZ0KXRocm93IEVycm9yKGEoNDI1KSl9ZnVuY3Rpb24gSnIoKXt9dmFyIGVsPW51bGwsbmw9bnVsbDtmdW5jdGlvbiB0bChlLG4pe3JldHVybiJ0ZXh0YXJlYSI9PT1lfHwibm9zY3JpcHQiPT09ZXx8InN0cmluZyI9PXR5cGVvZiBuLmNoaWxkcmVufHwibnVtYmVyIj09dHlwZW9mIG4uY2hpbGRyZW58fCJvYmplY3QiPT10eXBlb2Ygbi5kYW5nZXJvdXNseVNldElubmVySFRNTCYmbnVsbCE9PW4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwmJm51bGwhPW4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sfXZhciBybD0iZnVuY3Rpb24iPT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0OnZvaWQgMCxsbD0iZnVuY3Rpb24iPT10eXBlb2YgY2xlYXJUaW1lb3V0P2NsZWFyVGltZW91dDp2b2lkIDAsYWw9ImZ1bmN0aW9uIj09dHlwZW9mIFByb21pc2U/UHJvbWlzZTp2b2lkIDAsdWw9ImZ1bmN0aW9uIj09dHlwZW9mIHF1ZXVlTWljcm90YXNrP3F1ZXVlTWljcm90YXNrOnZvaWQgMCE9PWFsP2Z1bmN0aW9uKGUpe3JldHVybiBhbC5yZXNvbHZlKG51bGwpLnRoZW4oZSkuY2F0Y2gob2wpfTpybDtmdW5jdGlvbiBvbChlKXtzZXRUaW1lb3V0KChmdW5jdGlvbigpe3Rocm93IGV9KSl9ZnVuY3Rpb24gaWwoZSxuKXt2YXIgdD1uLHI9MDtkb3t2YXIgbD10Lm5leHRTaWJsaW5nO2lmKGUucmVtb3ZlQ2hpbGQodCksbCYmOD09PWwubm9kZVR5cGUpaWYoIi8kIj09PSh0PWwuZGF0YSkpe2lmKDA9PT1yKXJldHVybiBlLnJlbW92ZUNoaWxkKGwpLHZvaWQgSG4obik7ci0tfWVsc2UiJCIhPT10JiYiJD8iIT09dCYmIiQhIiE9PXR8fHIrKzt0PWx9d2hpbGUodCk7SG4obil9ZnVuY3Rpb24gc2woZSl7Zm9yKDtudWxsIT1lO2U9ZS5uZXh0U2libGluZyl7dmFyIG49ZS5ub2RlVHlwZTtpZigxPT09bnx8Mz09PW4pYnJlYWs7aWYoOD09PW4pe2lmKCIkIj09PShuPWUuZGF0YSl8fCIkISI9PT1ufHwiJD8iPT09bilicmVhaztpZigiLyQiPT09bilyZXR1cm4gbnVsbH19cmV0dXJuIGV9ZnVuY3Rpb24gY2woZSl7ZT1lLnByZXZpb3VzU2libGluZztmb3IodmFyIG49MDtlOyl7aWYoOD09PWUubm9kZVR5cGUpe3ZhciB0PWUuZGF0YTtpZigiJCI9PT10fHwiJCEiPT09dHx8IiQ/Ij09PXQpe2lmKDA9PT1uKXJldHVybiBlO24tLX1lbHNlIi8kIj09PXQmJm4rK31lPWUucHJldmlvdXNTaWJsaW5nfXJldHVybiBudWxsfXZhciBmbD1NYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKSxkbD0iX19yZWFjdEZpYmVyJCIrZmwscGw9Il9fcmVhY3RQcm9wcyQiK2ZsLG1sPSJfX3JlYWN0Q29udGFpbmVyJCIrZmwsaGw9Il9fcmVhY3RFdmVudHMkIitmbCxnbD0iX19yZWFjdExpc3RlbmVycyQiK2ZsLHZsPSJfX3JlYWN0SGFuZGxlcyQiK2ZsO2Z1bmN0aW9uIHlsKGUpe3ZhciBuPWVbZGxdO2lmKG4pcmV0dXJuIG47Zm9yKHZhciB0PWUucGFyZW50Tm9kZTt0Oyl7aWYobj10W21sXXx8dFtkbF0pe2lmKHQ9bi5hbHRlcm5hdGUsbnVsbCE9PW4uY2hpbGR8fG51bGwhPT10JiZudWxsIT09dC5jaGlsZClmb3IoZT1jbChlKTtudWxsIT09ZTspe2lmKHQ9ZVtkbF0pcmV0dXJuIHQ7ZT1jbChlKX1yZXR1cm4gbn10PShlPXQpLnBhcmVudE5vZGV9cmV0dXJuIG51bGx9ZnVuY3Rpb24gYmwoZSl7cmV0dXJuIShlPWVbZGxdfHxlW21sXSl8fDUhPT1lLnRhZyYmNiE9PWUudGFnJiYxMyE9PWUudGFnJiYzIT09ZS50YWc/bnVsbDplfWZ1bmN0aW9uIGtsKGUpe2lmKDU9PT1lLnRhZ3x8Nj09PWUudGFnKXJldHVybiBlLnN0YXRlTm9kZTt0aHJvdyBFcnJvcihhKDMzKSl9ZnVuY3Rpb24gd2woZSl7cmV0dXJuIGVbcGxdfHxudWxsfXZhciBTbD1bXSx4bD0tMTtmdW5jdGlvbiBFbChlKXtyZXR1cm57Y3VycmVudDplfX1mdW5jdGlvbiBDbChlKXswPnhsfHwoZS5jdXJyZW50PVNsW3hsXSxTbFt4bF09bnVsbCx4bC0tKX1mdW5jdGlvbiB6bChlLG4pe3hsKyssU2xbeGxdPWUuY3VycmVudCxlLmN1cnJlbnQ9bn0KdmFyIE5sPXt9LF9sPUVsKE5sKSxQbD1FbCghMSksVGw9Tmw7ZnVuY3Rpb24gTGwoZSxuKXt2YXIgdD1lLnR5cGUuY29udGV4dFR5cGVzO2lmKCF0KXJldHVybiBObDt2YXIgcj1lLnN0YXRlTm9kZTtpZihyJiZyLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkVW5tYXNrZWRDaGlsZENvbnRleHQ9PT1uKXJldHVybiByLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWFza2VkQ2hpbGRDb250ZXh0O3ZhciBsLGE9e307Zm9yKGwgaW4gdClhW2xdPW5bbF07cmV0dXJuIHImJigoZT1lLnN0YXRlTm9kZSkuX19yZWFjdEludGVybmFsTWVtb2l6ZWRVbm1hc2tlZENoaWxkQ29udGV4dD1uLGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNYXNrZWRDaGlsZENvbnRleHQ9YSksYX1mdW5jdGlvbiBNbChlKXtyZXR1cm4gbnVsbCE9KGU9ZS5jaGlsZENvbnRleHRUeXBlcyl9ZnVuY3Rpb24gRmwoKXtDbChQbCksQ2woX2wpfWZ1bmN0aW9uIFJsKGUsbix0KXtpZihfbC5jdXJyZW50IT09TmwpdGhyb3cgRXJyb3IoYSgxNjgpKTt6bChfbCxuKSx6bChQbCx0KX1mdW5jdGlvbiBEbChlLG4sdCl7dmFyIHI9ZS5zdGF0ZU5vZGU7aWYobj1uLmNoaWxkQ29udGV4dFR5cGVzLCJmdW5jdGlvbiIhPXR5cGVvZiByLmdldENoaWxkQ29udGV4dClyZXR1cm4gdDtmb3IodmFyIGwgaW4gcj1yLmdldENoaWxkQ29udGV4dCgpKWlmKCEobCBpbiBuKSl0aHJvdyBFcnJvcihhKDEwOCxIKGUpfHwiVW5rbm93biIsbCkpO3JldHVybiBPKHt9LHQscil9ZnVuY3Rpb24gSWwoZSl7cmV0dXJuIGU9KGU9ZS5zdGF0ZU5vZGUpJiZlLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0fHxObCxUbD1fbC5jdXJyZW50LHpsKF9sLGUpLHpsKFBsLFBsLmN1cnJlbnQpLCEwfWZ1bmN0aW9uIE9sKGUsbix0KXt2YXIgcj1lLnN0YXRlTm9kZTtpZighcil0aHJvdyBFcnJvcihhKDE2OSkpO3Q/KGU9RGwoZSxuLFRsKSxyLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0PWUsQ2woUGwpLENsKF9sKSx6bChfbCxlKSk6Q2woUGwpLHpsKFBsLHQpfXZhciBVbD1udWxsLFZsPSExLEFsPSExO2Z1bmN0aW9uIEJsKGUpe251bGw9PT1VbD9VbD1bZV06VWwucHVzaChlKX1mdW5jdGlvbiBXbCgpe2lmKCFBbCYmbnVsbCE9PVVsKXtBbD0hMDt2YXIgZT0wLG49a247dHJ5e3ZhciB0PVVsO2Zvcihrbj0xO2U8dC5sZW5ndGg7ZSsrKXt2YXIgcj10W2VdO2Rve3I9cighMCl9d2hpbGUobnVsbCE9PXIpfVVsPW51bGwsVmw9ITF9Y2F0Y2gobil7dGhyb3cgbnVsbCE9PVVsJiYoVWw9VWwuc2xpY2UoZSsxKSkscWUoSmUsV2wpLG59ZmluYWxseXtrbj1uLEFsPSExfX1yZXR1cm4gbnVsbH12YXIgSGw9W10sUWw9MCxqbD1udWxsLCRsPTAscWw9W10sS2w9MCxZbD1udWxsLFhsPTEsR2w9IiI7ZnVuY3Rpb24gWmwoZSxuKXtIbFtRbCsrXT0kbCxIbFtRbCsrXT1qbCxqbD1lLCRsPW59ZnVuY3Rpb24gSmwoZSxuLHQpe3FsW0tsKytdPVhsLHFsW0tsKytdPUdsLHFsW0tsKytdPVlsLFlsPWU7dmFyIHI9WGw7ZT1HbDt2YXIgbD0zMi11bihyKS0xO3ImPX4oMTw8bCksdCs9MTt2YXIgYT0zMi11bihuKStsO2lmKDMwPGEpe3ZhciB1PWwtbCU1O2E9KHImKDE8PHUpLTEpLnRvU3RyaW5nKDMyKSxyPj49dSxsLT11LFhsPTE8PDMyLXVuKG4pK2x8dDw8bHxyLEdsPWErZX1lbHNlIFhsPTE8PGF8dDw8bHxyLEdsPWV9ZnVuY3Rpb24gZWEoZSl7bnVsbCE9PWUucmV0dXJuJiYoWmwoZSwxKSxKbChlLDEsMCkpfWZ1bmN0aW9uIG5hKGUpe2Zvcig7ZT09PWpsOylqbD1IbFstLVFsXSxIbFtRbF09bnVsbCwkbD1IbFstLVFsXSxIbFtRbF09bnVsbDtmb3IoO2U9PT1ZbDspWWw9cWxbLS1LbF0scWxbS2xdPW51bGwsR2w9cWxbLS1LbF0scWxbS2xdPW51bGwsWGw9cWxbLS1LbF0scWxbS2xdPW51bGx9dmFyIHRhPW51bGwscmE9bnVsbCxsYT0hMSxhYT1udWxsO2Z1bmN0aW9uIHVhKGUsbil7dmFyIHQ9THMoNSxudWxsLG51bGwsMCk7dC5lbGVtZW50VHlwZT0iREVMRVRFRCIsdC5zdGF0ZU5vZGU9bix0LnJldHVybj1lLG51bGw9PT0obj1lLmRlbGV0aW9ucyk/KGUuZGVsZXRpb25zPVt0XSxlLmZsYWdzfD0xNik6bi5wdXNoKHQpfWZ1bmN0aW9uIG9hKGUsbil7c3dpdGNoKGUudGFnKXtjYXNlIDU6dmFyIHQ9ZS50eXBlO3JldHVybiBudWxsIT09KG49MSE9PW4ubm9kZVR5cGV8fHQudG9Mb3dlckNhc2UoKSE9PW4ubm9kZU5hbWUudG9Mb3dlckNhc2UoKT9udWxsOm4pJiYoZS5zdGF0ZU5vZGU9bix0YT1lLHJhPXNsKG4uZmlyc3RDaGlsZCksITApO2Nhc2UgNjpyZXR1cm4gbnVsbCE9PShuPSIiPT09ZS5wZW5kaW5nUHJvcHN8fDMhPT1uLm5vZGVUeXBlP251bGw6bikmJihlLnN0YXRlTm9kZT1uLHRhPWUscmE9bnVsbCwhMCk7Y2FzZSAxMzpyZXR1cm4gbnVsbCE9PShuPTghPT1uLm5vZGVUeXBlP251bGw6bikmJih0PW51bGwhPT1ZbD97aWQ6WGwsb3ZlcmZsb3c6R2x9Om51bGwsZS5tZW1vaXplZFN0YXRlPXtkZWh5ZHJhdGVkOm4sdHJlZUNvbnRleHQ6dCxyZXRyeUxhbmU6MTA3Mzc0MTgyNH0sKHQ9THMoMTgsbnVsbCxudWxsLDApKS5zdGF0ZU5vZGU9bix0LnJldHVybj1lLGUuY2hpbGQ9dCx0YT1lLHJhPW51bGwsITApO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIGlhKGUpe3JldHVybiEoISgxJmUubW9kZSl8fDEyOCZlLmZsYWdzKX1mdW5jdGlvbiBzYShlKXtpZihsYSl7dmFyIG49cmE7aWYobil7dmFyIHQ9bjtpZighb2EoZSxuKSl7aWYoaWEoZSkpdGhyb3cgRXJyb3IoYSg0MTgpKTtuPXNsKHQubmV4dFNpYmxpbmcpO3ZhciByPXRhO24mJm9hKGUsbik/dWEocix0KTooZS5mbGFncz0tNDA5NyZlLmZsYWdzfDIsbGE9ITEsdGE9ZSl9fWVsc2V7aWYoaWEoZSkpdGhyb3cgRXJyb3IoYSg0MTgpKTtlLmZsYWdzPS00MDk3JmUuZmxhZ3N8MixsYT0hMSx0YT1lfX19ZnVuY3Rpb24gY2EoZSl7Zm9yKGU9ZS5yZXR1cm47bnVsbCE9PWUmJjUhPT1lLnRhZyYmMyE9PWUudGFnJiYxMyE9PWUudGFnOyllPWUucmV0dXJuO3RhPWV9ZnVuY3Rpb24gZmEoZSl7aWYoZSE9PXRhKXJldHVybiExO2lmKCFsYSlyZXR1cm4gY2EoZSksbGE9ITAsITE7dmFyIG4KO2lmKChuPTMhPT1lLnRhZykmJiEobj01IT09ZS50YWcpJiYobj0iaGVhZCIhPT0obj1lLnR5cGUpJiYiYm9keSIhPT1uJiYhdGwoZS50eXBlLGUubWVtb2l6ZWRQcm9wcykpLG4mJihuPXJhKSl7aWYoaWEoZSkpdGhyb3cgZGEoKSxFcnJvcihhKDQxOCkpO2Zvcig7bjspdWEoZSxuKSxuPXNsKG4ubmV4dFNpYmxpbmcpfWlmKGNhKGUpLDEzPT09ZS50YWcpe2lmKCEoZT1udWxsIT09KGU9ZS5tZW1vaXplZFN0YXRlKT9lLmRlaHlkcmF0ZWQ6bnVsbCkpdGhyb3cgRXJyb3IoYSgzMTcpKTtlOntmb3IoZT1lLm5leHRTaWJsaW5nLG49MDtlOyl7aWYoOD09PWUubm9kZVR5cGUpe3ZhciB0PWUuZGF0YTtpZigiLyQiPT09dCl7aWYoMD09PW4pe3JhPXNsKGUubmV4dFNpYmxpbmcpO2JyZWFrIGV9bi0tfWVsc2UiJCIhPT10JiYiJCEiIT09dCYmIiQ/IiE9PXR8fG4rK31lPWUubmV4dFNpYmxpbmd9cmE9bnVsbH19ZWxzZSByYT10YT9zbChlLnN0YXRlTm9kZS5uZXh0U2libGluZyk6bnVsbDtyZXR1cm4hMH1mdW5jdGlvbiBkYSgpe2Zvcih2YXIgZT1yYTtlOyllPXNsKGUubmV4dFNpYmxpbmcpfWZ1bmN0aW9uIHBhKCl7cmE9dGE9bnVsbCxsYT0hMX1mdW5jdGlvbiBtYShlKXtudWxsPT09YWE/YWE9W2VdOmFhLnB1c2goZSl9dmFyIGhhPWsuUmVhY3RDdXJyZW50QmF0Y2hDb25maWc7ZnVuY3Rpb24gZ2EoZSxuKXtpZihlJiZlLmRlZmF1bHRQcm9wcyl7Zm9yKHZhciB0IGluIG49Tyh7fSxuKSxlPWUuZGVmYXVsdFByb3BzKXZvaWQgMD09PW5bdF0mJihuW3RdPWVbdF0pO3JldHVybiBufXJldHVybiBufXZhciB2YT1FbChudWxsKSx5YT1udWxsLGJhPW51bGwsa2E9bnVsbDtmdW5jdGlvbiB3YSgpe2thPWJhPXlhPW51bGx9ZnVuY3Rpb24gU2EoZSl7dmFyIG49dmEuY3VycmVudDtDbCh2YSksZS5fY3VycmVudFZhbHVlPW59ZnVuY3Rpb24geGEoZSxuLHQpe2Zvcig7bnVsbCE9PWU7KXt2YXIgcj1lLmFsdGVybmF0ZTtpZigoZS5jaGlsZExhbmVzJm4pIT09bj8oZS5jaGlsZExhbmVzfD1uLG51bGwhPT1yJiYoci5jaGlsZExhbmVzfD1uKSk6bnVsbCE9PXImJihyLmNoaWxkTGFuZXMmbikhPT1uJiYoci5jaGlsZExhbmVzfD1uKSxlPT09dClicmVhaztlPWUucmV0dXJufX1mdW5jdGlvbiBFYShlLG4pe3lhPWUsa2E9YmE9bnVsbCxudWxsIT09KGU9ZS5kZXBlbmRlbmNpZXMpJiZudWxsIT09ZS5maXJzdENvbnRleHQmJighIShlLmxhbmVzJm4pJiYoa289ITApLGUuZmlyc3RDb250ZXh0PW51bGwpfWZ1bmN0aW9uIENhKGUpe3ZhciBuPWUuX2N1cnJlbnRWYWx1ZTtpZihrYSE9PWUpaWYoZT17Y29udGV4dDplLG1lbW9pemVkVmFsdWU6bixuZXh0Om51bGx9LG51bGw9PT1iYSl7aWYobnVsbD09PXlhKXRocm93IEVycm9yKGEoMzA4KSk7YmE9ZSx5YS5kZXBlbmRlbmNpZXM9e2xhbmVzOjAsZmlyc3RDb250ZXh0OmV9fWVsc2UgYmE9YmEubmV4dD1lO3JldHVybiBufXZhciB6YT1udWxsO2Z1bmN0aW9uIE5hKGUpe251bGw9PT16YT96YT1bZV06emEucHVzaChlKX1mdW5jdGlvbiBfYShlLG4sdCxyKXt2YXIgbD1uLmludGVybGVhdmVkO3JldHVybiBudWxsPT09bD8odC5uZXh0PXQsTmEobikpOih0Lm5leHQ9bC5uZXh0LGwubmV4dD10KSxuLmludGVybGVhdmVkPXQsUGEoZSxyKX1mdW5jdGlvbiBQYShlLG4pe2UubGFuZXN8PW47dmFyIHQ9ZS5hbHRlcm5hdGU7Zm9yKG51bGwhPT10JiYodC5sYW5lc3w9biksdD1lLGU9ZS5yZXR1cm47bnVsbCE9PWU7KWUuY2hpbGRMYW5lc3w9bixudWxsIT09KHQ9ZS5hbHRlcm5hdGUpJiYodC5jaGlsZExhbmVzfD1uKSx0PWUsZT1lLnJldHVybjtyZXR1cm4gMz09PXQudGFnP3Quc3RhdGVOb2RlOm51bGx9dmFyIFRhPSExO2Z1bmN0aW9uIExhKGUpe2UudXBkYXRlUXVldWU9e2Jhc2VTdGF0ZTplLm1lbW9pemVkU3RhdGUsZmlyc3RCYXNlVXBkYXRlOm51bGwsbGFzdEJhc2VVcGRhdGU6bnVsbCxzaGFyZWQ6e3BlbmRpbmc6bnVsbCxpbnRlcmxlYXZlZDpudWxsLGxhbmVzOjB9LGVmZmVjdHM6bnVsbH19ZnVuY3Rpb24gTWEoZSxuKXtlPWUudXBkYXRlUXVldWUsbi51cGRhdGVRdWV1ZT09PWUmJihuLnVwZGF0ZVF1ZXVlPXtiYXNlU3RhdGU6ZS5iYXNlU3RhdGUsZmlyc3RCYXNlVXBkYXRlOmUuZmlyc3RCYXNlVXBkYXRlLGxhc3RCYXNlVXBkYXRlOmUubGFzdEJhc2VVcGRhdGUsc2hhcmVkOmUuc2hhcmVkLGVmZmVjdHM6ZS5lZmZlY3RzfSl9ZnVuY3Rpb24gRmEoZSxuKXtyZXR1cm57ZXZlbnRUaW1lOmUsbGFuZTpuLHRhZzowLHBheWxvYWQ6bnVsbCxjYWxsYmFjazpudWxsLG5leHQ6bnVsbH19ZnVuY3Rpb24gUmEoZSxuLHQpe3ZhciByPWUudXBkYXRlUXVldWU7aWYobnVsbD09PXIpcmV0dXJuIG51bGw7aWYocj1yLnNoYXJlZCwyJl9pKXt2YXIgbD1yLnBlbmRpbmc7cmV0dXJuIG51bGw9PT1sP24ubmV4dD1uOihuLm5leHQ9bC5uZXh0LGwubmV4dD1uKSxyLnBlbmRpbmc9bixQYShlLHQpfXJldHVybiBudWxsPT09KGw9ci5pbnRlcmxlYXZlZCk/KG4ubmV4dD1uLE5hKHIpKToobi5uZXh0PWwubmV4dCxsLm5leHQ9biksci5pbnRlcmxlYXZlZD1uLFBhKGUsdCl9ZnVuY3Rpb24gRGEoZSxuLHQpe2lmKG51bGwhPT0obj1uLnVwZGF0ZVF1ZXVlKSYmKG49bi5zaGFyZWQsNDE5NDI0MCZ0KSl7dmFyIHI9bi5sYW5lczt0fD1yJj1lLnBlbmRpbmdMYW5lcyxuLmxhbmVzPXQsYm4oZSx0KX19ZnVuY3Rpb24gSWEoZSxuKXt2YXIgdD1lLnVwZGF0ZVF1ZXVlLHI9ZS5hbHRlcm5hdGU7aWYobnVsbCE9PXImJnQ9PT0ocj1yLnVwZGF0ZVF1ZXVlKSl7dmFyIGw9bnVsbCxhPW51bGw7aWYobnVsbCE9PSh0PXQuZmlyc3RCYXNlVXBkYXRlKSl7ZG97dmFyIHU9e2V2ZW50VGltZTp0LmV2ZW50VGltZSxsYW5lOnQubGFuZSx0YWc6dC50YWcscGF5bG9hZDp0LnBheWxvYWQsY2FsbGJhY2s6dC5jYWxsYmFjayxuZXh0Om51bGx9O251bGw9PT1hP2w9YT11OmE9YS5uZXh0PXUsdD10Lm5leHR9d2hpbGUobnVsbCE9PXQpO251bGw9PT1hP2w9YT1uOmE9YS5uZXh0PW59ZWxzZSBsPWE9bjtyZXR1cm4gdD17YmFzZVN0YXRlOnIuYmFzZVN0YXRlLGZpcnN0QmFzZVVwZGF0ZTpsLGxhc3RCYXNlVXBkYXRlOmEsCnNoYXJlZDpyLnNoYXJlZCxlZmZlY3RzOnIuZWZmZWN0c30sdm9pZChlLnVwZGF0ZVF1ZXVlPXQpfW51bGw9PT0oZT10Lmxhc3RCYXNlVXBkYXRlKT90LmZpcnN0QmFzZVVwZGF0ZT1uOmUubmV4dD1uLHQubGFzdEJhc2VVcGRhdGU9bn1mdW5jdGlvbiBPYShlLG4sdCxyKXt2YXIgbD1lLnVwZGF0ZVF1ZXVlO1RhPSExO3ZhciBhPWwuZmlyc3RCYXNlVXBkYXRlLHU9bC5sYXN0QmFzZVVwZGF0ZSxvPWwuc2hhcmVkLnBlbmRpbmc7aWYobnVsbCE9PW8pe2wuc2hhcmVkLnBlbmRpbmc9bnVsbDt2YXIgaT1vLHM9aS5uZXh0O2kubmV4dD1udWxsLG51bGw9PT11P2E9czp1Lm5leHQ9cyx1PWk7dmFyIGM9ZS5hbHRlcm5hdGU7bnVsbCE9PWMmJigobz0oYz1jLnVwZGF0ZVF1ZXVlKS5sYXN0QmFzZVVwZGF0ZSkhPT11JiYobnVsbD09PW8/Yy5maXJzdEJhc2VVcGRhdGU9czpvLm5leHQ9cyxjLmxhc3RCYXNlVXBkYXRlPWkpKX1pZihudWxsIT09YSl7dmFyIGY9bC5iYXNlU3RhdGU7Zm9yKHU9MCxjPXM9aT1udWxsLG89YTs7KXt2YXIgZD1vLmxhbmUscD1vLmV2ZW50VGltZTtpZigociZkKT09PWQpe251bGwhPT1jJiYoYz1jLm5leHQ9e2V2ZW50VGltZTpwLGxhbmU6MCx0YWc6by50YWcscGF5bG9hZDpvLnBheWxvYWQsY2FsbGJhY2s6by5jYWxsYmFjayxuZXh0Om51bGx9KTtlOnt2YXIgbT1lLGg9bztzd2l0Y2goZD1uLHA9dCxoLnRhZyl7Y2FzZSAxOmlmKCJmdW5jdGlvbiI9PXR5cGVvZihtPWgucGF5bG9hZCkpe2Y9bS5jYWxsKHAsZixkKTticmVhayBlfWY9bTticmVhayBlO2Nhc2UgMzptLmZsYWdzPS02NTUzNyZtLmZsYWdzfDEyODtjYXNlIDA6aWYobnVsbD09KGQ9ImZ1bmN0aW9uIj09dHlwZW9mKG09aC5wYXlsb2FkKT9tLmNhbGwocCxmLGQpOm0pKWJyZWFrIGU7Zj1PKHt9LGYsZCk7YnJlYWsgZTtjYXNlIDI6VGE9ITB9fW51bGwhPT1vLmNhbGxiYWNrJiYwIT09by5sYW5lJiYoZS5mbGFnc3w9NjQsbnVsbD09PShkPWwuZWZmZWN0cyk/bC5lZmZlY3RzPVtvXTpkLnB1c2gobykpfWVsc2UgcD17ZXZlbnRUaW1lOnAsbGFuZTpkLHRhZzpvLnRhZyxwYXlsb2FkOm8ucGF5bG9hZCxjYWxsYmFjazpvLmNhbGxiYWNrLG5leHQ6bnVsbH0sbnVsbD09PWM/KHM9Yz1wLGk9Zik6Yz1jLm5leHQ9cCx1fD1kO2lmKG51bGw9PT0obz1vLm5leHQpKXtpZihudWxsPT09KG89bC5zaGFyZWQucGVuZGluZykpYnJlYWs7bz0oZD1vKS5uZXh0LGQubmV4dD1udWxsLGwubGFzdEJhc2VVcGRhdGU9ZCxsLnNoYXJlZC5wZW5kaW5nPW51bGx9fWlmKG51bGw9PT1jJiYoaT1mKSxsLmJhc2VTdGF0ZT1pLGwuZmlyc3RCYXNlVXBkYXRlPXMsbC5sYXN0QmFzZVVwZGF0ZT1jLG51bGwhPT0obj1sLnNoYXJlZC5pbnRlcmxlYXZlZCkpe2w9bjtkb3t1fD1sLmxhbmUsbD1sLm5leHR9d2hpbGUobCE9PW4pfWVsc2UgbnVsbD09PWEmJihsLnNoYXJlZC5sYW5lcz0wKTtJaXw9dSxlLmxhbmVzPXUsZS5tZW1vaXplZFN0YXRlPWZ9fWZ1bmN0aW9uIFVhKGUsbix0KXtpZihlPW4uZWZmZWN0cyxuLmVmZmVjdHM9bnVsbCxudWxsIT09ZSlmb3Iobj0wO248ZS5sZW5ndGg7bisrKXt2YXIgcj1lW25dLGw9ci5jYWxsYmFjaztpZihudWxsIT09bCl7aWYoci5jYWxsYmFjaz1udWxsLHI9dCwiZnVuY3Rpb24iIT10eXBlb2YgbCl0aHJvdyBFcnJvcihhKDE5MSxsKSk7bC5jYWxsKHIpfX19dmFyIFZhPShuZXcgci5Db21wb25lbnQpLnJlZnM7ZnVuY3Rpb24gQWEoZSxuLHQscil7dD1udWxsPT0odD10KHIsbj1lLm1lbW9pemVkU3RhdGUpKT9uOk8oe30sbix0KSxlLm1lbW9pemVkU3RhdGU9dCwwPT09ZS5sYW5lcyYmKGUudXBkYXRlUXVldWUuYmFzZVN0YXRlPXQpfXZhciBCYT17aXNNb3VudGVkOmZ1bmN0aW9uKGUpe3JldHVybiEhKGU9ZS5fcmVhY3RJbnRlcm5hbHMpJiZXZShlKT09PWV9LGVucXVldWVTZXRTdGF0ZTpmdW5jdGlvbihlLG4sdCl7ZT1lLl9yZWFjdEludGVybmFsczt2YXIgcj1lcygpLGw9bnMoZSksYT1GYShyLGwpO2EucGF5bG9hZD1uLG51bGwhPXQmJihhLmNhbGxiYWNrPXQpLG51bGwhPT0obj1SYShlLGEsbCkpJiYodHMobixlLGwsciksRGEobixlLGwpKX0sZW5xdWV1ZVJlcGxhY2VTdGF0ZTpmdW5jdGlvbihlLG4sdCl7ZT1lLl9yZWFjdEludGVybmFsczt2YXIgcj1lcygpLGw9bnMoZSksYT1GYShyLGwpO2EudGFnPTEsYS5wYXlsb2FkPW4sbnVsbCE9dCYmKGEuY2FsbGJhY2s9dCksbnVsbCE9PShuPVJhKGUsYSxsKSkmJih0cyhuLGUsbCxyKSxEYShuLGUsbCkpfSxlbnF1ZXVlRm9yY2VVcGRhdGU6ZnVuY3Rpb24oZSxuKXtlPWUuX3JlYWN0SW50ZXJuYWxzO3ZhciB0PWVzKCkscj1ucyhlKSxsPUZhKHQscik7bC50YWc9MixudWxsIT1uJiYobC5jYWxsYmFjaz1uKSxudWxsIT09KG49UmEoZSxsLHIpKSYmKHRzKG4sZSxyLHQpLERhKG4sZSxyKSl9fTtmdW5jdGlvbiBXYShlLG4sdCxyLGwsYSx1KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YoZT1lLnN0YXRlTm9kZSkuc2hvdWxkQ29tcG9uZW50VXBkYXRlP2Uuc2hvdWxkQ29tcG9uZW50VXBkYXRlKHIsYSx1KTohbi5wcm90b3R5cGV8fCFuLnByb3RvdHlwZS5pc1B1cmVSZWFjdENvbXBvbmVudHx8KCFpcih0LHIpfHwhaXIobCxhKSl9ZnVuY3Rpb24gSGEoZSxuLHQpe3ZhciByPSExLGw9TmwsYT1uLmNvbnRleHRUeXBlO3JldHVybiJvYmplY3QiPT10eXBlb2YgYSYmbnVsbCE9PWE/YT1DYShhKToobD1NbChuKT9UbDpfbC5jdXJyZW50LGE9KHI9bnVsbCE9KHI9bi5jb250ZXh0VHlwZXMpKT9MbChlLGwpOk5sKSxuPW5ldyBuKHQsYSksZS5tZW1vaXplZFN0YXRlPW51bGwhPT1uLnN0YXRlJiZ2b2lkIDAhPT1uLnN0YXRlP24uc3RhdGU6bnVsbCxuLnVwZGF0ZXI9QmEsZS5zdGF0ZU5vZGU9bixuLl9yZWFjdEludGVybmFscz1lLHImJigoZT1lLnN0YXRlTm9kZSkuX19yZWFjdEludGVybmFsTWVtb2l6ZWRVbm1hc2tlZENoaWxkQ29udGV4dD1sLGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNYXNrZWRDaGlsZENvbnRleHQ9YSksbn1mdW5jdGlvbiBRYShlLG4sdCxyKXtlPW4uc3RhdGUsCiJmdW5jdGlvbiI9PXR5cGVvZiBuLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMmJm4uY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyh0LHIpLCJmdW5jdGlvbiI9PXR5cGVvZiBuLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJiZuLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKHQsciksbi5zdGF0ZSE9PWUmJkJhLmVucXVldWVSZXBsYWNlU3RhdGUobixuLnN0YXRlLG51bGwpfWZ1bmN0aW9uIGphKGUsbix0LHIpe3ZhciBsPWUuc3RhdGVOb2RlO2wucHJvcHM9dCxsLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSxsLnJlZnM9VmEsTGEoZSk7dmFyIGE9bi5jb250ZXh0VHlwZTsib2JqZWN0Ij09dHlwZW9mIGEmJm51bGwhPT1hP2wuY29udGV4dD1DYShhKTooYT1NbChuKT9UbDpfbC5jdXJyZW50LGwuY29udGV4dD1MbChlLGEpKSxsLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSwiZnVuY3Rpb24iPT10eXBlb2YoYT1uLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcykmJihBYShlLG4sYSx0KSxsLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSksImZ1bmN0aW9uIj09dHlwZW9mIG4uZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzfHwiZnVuY3Rpb24iPT10eXBlb2YgbC5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZXx8ImZ1bmN0aW9uIiE9dHlwZW9mIGwuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCYmImZ1bmN0aW9uIiE9dHlwZW9mIGwuY29tcG9uZW50V2lsbE1vdW50fHwobj1sLnN0YXRlLCJmdW5jdGlvbiI9PXR5cGVvZiBsLmNvbXBvbmVudFdpbGxNb3VudCYmbC5jb21wb25lbnRXaWxsTW91bnQoKSwiZnVuY3Rpb24iPT10eXBlb2YgbC5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JiZsLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSxuIT09bC5zdGF0ZSYmQmEuZW5xdWV1ZVJlcGxhY2VTdGF0ZShsLGwuc3RhdGUsbnVsbCksT2EoZSx0LGwsciksbC5zdGF0ZT1lLm1lbW9pemVkU3RhdGUpLCJmdW5jdGlvbiI9PXR5cGVvZiBsLmNvbXBvbmVudERpZE1vdW50JiYoZS5mbGFnc3w9NDE5NDMwOCl9ZnVuY3Rpb24gJGEoZSxuLHQpe2lmKG51bGwhPT0oZT10LnJlZikmJiJmdW5jdGlvbiIhPXR5cGVvZiBlJiYib2JqZWN0IiE9dHlwZW9mIGUpe2lmKHQuX293bmVyKXtpZih0PXQuX293bmVyKXtpZigxIT09dC50YWcpdGhyb3cgRXJyb3IoYSgzMDkpKTt2YXIgcj10LnN0YXRlTm9kZX1pZighcil0aHJvdyBFcnJvcihhKDE0NyxlKSk7dmFyIGw9cix1PSIiK2U7cmV0dXJuIG51bGwhPT1uJiZudWxsIT09bi5yZWYmJiJmdW5jdGlvbiI9PXR5cGVvZiBuLnJlZiYmbi5yZWYuX3N0cmluZ1JlZj09PXU/bi5yZWY6KG49ZnVuY3Rpb24oZSl7dmFyIG49bC5yZWZzO249PT1WYSYmKG49bC5yZWZzPXt9KSxudWxsPT09ZT9kZWxldGUgblt1XTpuW3VdPWV9LG4uX3N0cmluZ1JlZj11LG4pfWlmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBFcnJvcihhKDI4NCkpO2lmKCF0Ll9vd25lcil0aHJvdyBFcnJvcihhKDI5MCxlKSl9cmV0dXJuIGV9ZnVuY3Rpb24gcWEoZSxuKXt0aHJvdyBlPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuKSxFcnJvcihhKDMxLCJbb2JqZWN0IE9iamVjdF0iPT09ZT8ib2JqZWN0IHdpdGgga2V5cyB7IitPYmplY3Qua2V5cyhuKS5qb2luKCIsICIpKyJ9IjplKSl9ZnVuY3Rpb24gS2EoZSl7cmV0dXJuKDAsZS5faW5pdCkoZS5fcGF5bG9hZCl9ZnVuY3Rpb24gWWEoZSl7ZnVuY3Rpb24gbihuLHQpe2lmKGUpe3ZhciByPW4uZGVsZXRpb25zO251bGw9PT1yPyhuLmRlbGV0aW9ucz1bdF0sbi5mbGFnc3w9MTYpOnIucHVzaCh0KX19ZnVuY3Rpb24gdCh0LHIpe2lmKCFlKXJldHVybiBudWxsO2Zvcig7bnVsbCE9PXI7KW4odCxyKSxyPXIuc2libGluZztyZXR1cm4gbnVsbH1mdW5jdGlvbiByKGUsbil7Zm9yKGU9bmV3IE1hcDtudWxsIT09bjspbnVsbCE9PW4ua2V5P2Uuc2V0KG4ua2V5LG4pOmUuc2V0KG4uaW5kZXgsbiksbj1uLnNpYmxpbmc7cmV0dXJuIGV9ZnVuY3Rpb24gbChlLG4pe3JldHVybihlPUZzKGUsbikpLmluZGV4PTAsZS5zaWJsaW5nPW51bGwsZX1mdW5jdGlvbiB1KG4sdCxyKXtyZXR1cm4gbi5pbmRleD1yLGU/bnVsbCE9PShyPW4uYWx0ZXJuYXRlKT8ocj1yLmluZGV4KTx0PyhuLmZsYWdzfD0yLHQpOnI6KG4uZmxhZ3N8PTIsdCk6KG4uZmxhZ3N8PTEwNDg1NzYsdCl9ZnVuY3Rpb24gbyhuKXtyZXR1cm4gZSYmbnVsbD09PW4uYWx0ZXJuYXRlJiYobi5mbGFnc3w9Miksbn1mdW5jdGlvbiBpKGUsbix0LHIpe3JldHVybiBudWxsPT09bnx8NiE9PW4udGFnPygobj1Pcyh0LGUubW9kZSxyKSkucmV0dXJuPWUsbik6KChuPWwobix0KSkucmV0dXJuPWUsbil9ZnVuY3Rpb24gcyhlLG4sdCxyKXt2YXIgYT10LnR5cGU7cmV0dXJuIGE9PT14P2YoZSxuLHQucHJvcHMuY2hpbGRyZW4scix0LmtleSk6bnVsbCE9PW4mJihuLmVsZW1lbnRUeXBlPT09YXx8Im9iamVjdCI9PXR5cGVvZiBhJiZudWxsIT09YSYmYS4kJHR5cGVvZj09PU0mJkthKGEpPT09bi50eXBlKT8oKHI9bChuLHQucHJvcHMpKS5yZWY9JGEoZSxuLHQpLHIucmV0dXJuPWUscik6KChyPVJzKHQudHlwZSx0LmtleSx0LnByb3BzLG51bGwsZS5tb2RlLHIpKS5yZWY9JGEoZSxuLHQpLHIucmV0dXJuPWUscil9ZnVuY3Rpb24gYyhlLG4sdCxyKXtyZXR1cm4gbnVsbD09PW58fDQhPT1uLnRhZ3x8bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyE9PXQuY29udGFpbmVySW5mb3x8bi5zdGF0ZU5vZGUuaW1wbGVtZW50YXRpb24hPT10LmltcGxlbWVudGF0aW9uPygobj1Vcyh0LGUubW9kZSxyKSkucmV0dXJuPWUsbik6KChuPWwobix0LmNoaWxkcmVufHxbXSkpLnJldHVybj1lLG4pfWZ1bmN0aW9uIGYoZSxuLHQscixhKXtyZXR1cm4gbnVsbD09PW58fDchPT1uLnRhZz8oKG49RHModCxlLm1vZGUscixhKSkucmV0dXJuPWUsbik6KChuPWwobix0KSkucmV0dXJuPWUsbil9ZnVuY3Rpb24gZChlLG4sdCl7aWYoInN0cmluZyI9PXR5cGVvZiBuJiYiIiE9PW58fCJudW1iZXIiPT10eXBlb2YgbilyZXR1cm4obj1PcygiIituLGUubW9kZSx0KSkucmV0dXJuPWUsbjtpZigib2JqZWN0Ij09dHlwZW9mIG4mJm51bGwhPT1uKXsKc3dpdGNoKG4uJCR0eXBlb2Ype2Nhc2UgdzpyZXR1cm4odD1ScyhuLnR5cGUsbi5rZXksbi5wcm9wcyxudWxsLGUubW9kZSx0KSkucmVmPSRhKGUsbnVsbCxuKSx0LnJldHVybj1lLHQ7Y2FzZSBTOnJldHVybihuPVVzKG4sZS5tb2RlLHQpKS5yZXR1cm49ZSxuO2Nhc2UgTTpyZXR1cm4gZChlLCgwLG4uX2luaXQpKG4uX3BheWxvYWQpLHQpfWlmKG5lKG4pfHxEKG4pKXJldHVybihuPURzKG4sZS5tb2RlLHQsbnVsbCkpLnJldHVybj1lLG47cWEoZSxuKX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBwKGUsbix0LHIpe3ZhciBsPW51bGwhPT1uP24ua2V5Om51bGw7aWYoInN0cmluZyI9PXR5cGVvZiB0JiYiIiE9PXR8fCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gbnVsbCE9PWw/bnVsbDppKGUsbiwiIit0LHIpO2lmKCJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXQpe3N3aXRjaCh0LiQkdHlwZW9mKXtjYXNlIHc6cmV0dXJuIHQua2V5PT09bD9zKGUsbix0LHIpOm51bGw7Y2FzZSBTOnJldHVybiB0LmtleT09PWw/YyhlLG4sdCxyKTpudWxsO2Nhc2UgTTpyZXR1cm4gcChlLG4sKGw9dC5faW5pdCkodC5fcGF5bG9hZCkscil9aWYobmUodCl8fEQodCkpcmV0dXJuIG51bGwhPT1sP251bGw6ZihlLG4sdCxyLG51bGwpO3FhKGUsdCl9cmV0dXJuIG51bGx9ZnVuY3Rpb24gbShlLG4sdCxyLGwpe2lmKCJzdHJpbmciPT10eXBlb2YgciYmIiIhPT1yfHwibnVtYmVyIj09dHlwZW9mIHIpcmV0dXJuIGkobixlPWUuZ2V0KHQpfHxudWxsLCIiK3IsbCk7aWYoIm9iamVjdCI9PXR5cGVvZiByJiZudWxsIT09cil7c3dpdGNoKHIuJCR0eXBlb2Ype2Nhc2UgdzpyZXR1cm4gcyhuLGU9ZS5nZXQobnVsbD09PXIua2V5P3Q6ci5rZXkpfHxudWxsLHIsbCk7Y2FzZSBTOnJldHVybiBjKG4sZT1lLmdldChudWxsPT09ci5rZXk/dDpyLmtleSl8fG51bGwscixsKTtjYXNlIE06cmV0dXJuIG0oZSxuLHQsKDAsci5faW5pdCkoci5fcGF5bG9hZCksbCl9aWYobmUocil8fEQocikpcmV0dXJuIGYobixlPWUuZ2V0KHQpfHxudWxsLHIsbCxudWxsKTtxYShuLHIpfXJldHVybiBudWxsfWZ1bmN0aW9uIGgobCxhLG8saSl7Zm9yKHZhciBzPW51bGwsYz1udWxsLGY9YSxoPWE9MCxnPW51bGw7bnVsbCE9PWYmJmg8by5sZW5ndGg7aCsrKXtmLmluZGV4Pmg/KGc9ZixmPW51bGwpOmc9Zi5zaWJsaW5nO3ZhciB2PXAobCxmLG9baF0saSk7aWYobnVsbD09PXYpe251bGw9PT1mJiYoZj1nKTticmVha31lJiZmJiZudWxsPT09di5hbHRlcm5hdGUmJm4obCxmKSxhPXUodixhLGgpLG51bGw9PT1jP3M9djpjLnNpYmxpbmc9dixjPXYsZj1nfWlmKGg9PT1vLmxlbmd0aClyZXR1cm4gdChsLGYpLGxhJiZabChsLGgpLHM7aWYobnVsbD09PWYpe2Zvcig7aDxvLmxlbmd0aDtoKyspbnVsbCE9PShmPWQobCxvW2hdLGkpKSYmKGE9dShmLGEsaCksbnVsbD09PWM/cz1mOmMuc2libGluZz1mLGM9Zik7cmV0dXJuIGxhJiZabChsLGgpLHN9Zm9yKGY9cihsLGYpO2g8by5sZW5ndGg7aCsrKW51bGwhPT0oZz1tKGYsbCxoLG9baF0saSkpJiYoZSYmbnVsbCE9PWcuYWx0ZXJuYXRlJiZmLmRlbGV0ZShudWxsPT09Zy5rZXk/aDpnLmtleSksYT11KGcsYSxoKSxudWxsPT09Yz9zPWc6Yy5zaWJsaW5nPWcsYz1nKTtyZXR1cm4gZSYmZi5mb3JFYWNoKChmdW5jdGlvbihlKXtyZXR1cm4gbihsLGUpfSkpLGxhJiZabChsLGgpLHN9ZnVuY3Rpb24gZyhsLG8saSxzKXt2YXIgYz1EKGkpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBjKXRocm93IEVycm9yKGEoMTUwKSk7aWYobnVsbD09KGk9Yy5jYWxsKGkpKSl0aHJvdyBFcnJvcihhKDE1MSkpO2Zvcih2YXIgZj1jPW51bGwsaD1vLGc9bz0wLHY9bnVsbCx5PWkubmV4dCgpO251bGwhPT1oJiYheS5kb25lO2crKyx5PWkubmV4dCgpKXtoLmluZGV4Pmc/KHY9aCxoPW51bGwpOnY9aC5zaWJsaW5nO3ZhciBiPXAobCxoLHkudmFsdWUscyk7aWYobnVsbD09PWIpe251bGw9PT1oJiYoaD12KTticmVha31lJiZoJiZudWxsPT09Yi5hbHRlcm5hdGUmJm4obCxoKSxvPXUoYixvLGcpLG51bGw9PT1mP2M9YjpmLnNpYmxpbmc9YixmPWIsaD12fWlmKHkuZG9uZSlyZXR1cm4gdChsLGgpLGxhJiZabChsLGcpLGM7aWYobnVsbD09PWgpe2Zvcig7IXkuZG9uZTtnKysseT1pLm5leHQoKSludWxsIT09KHk9ZChsLHkudmFsdWUscykpJiYobz11KHksbyxnKSxudWxsPT09Zj9jPXk6Zi5zaWJsaW5nPXksZj15KTtyZXR1cm4gbGEmJlpsKGwsZyksY31mb3IoaD1yKGwsaCk7IXkuZG9uZTtnKysseT1pLm5leHQoKSludWxsIT09KHk9bShoLGwsZyx5LnZhbHVlLHMpKSYmKGUmJm51bGwhPT15LmFsdGVybmF0ZSYmaC5kZWxldGUobnVsbD09PXkua2V5P2c6eS5rZXkpLG89dSh5LG8sZyksbnVsbD09PWY/Yz15OmYuc2libGluZz15LGY9eSk7cmV0dXJuIGUmJmguZm9yRWFjaCgoZnVuY3Rpb24oZSl7cmV0dXJuIG4obCxlKX0pKSxsYSYmWmwobCxnKSxjfXJldHVybiBmdW5jdGlvbiBlKHIsYSx1LGkpe2lmKCJvYmplY3QiPT10eXBlb2YgdSYmbnVsbCE9PXUmJnUudHlwZT09PXgmJm51bGw9PT11LmtleSYmKHU9dS5wcm9wcy5jaGlsZHJlbiksIm9iamVjdCI9PXR5cGVvZiB1JiZudWxsIT09dSl7c3dpdGNoKHUuJCR0eXBlb2Ype2Nhc2UgdzplOntmb3IodmFyIHM9dS5rZXksYz1hO251bGwhPT1jOyl7aWYoYy5rZXk9PT1zKXtpZigocz11LnR5cGUpPT09eCl7aWYoNz09PWMudGFnKXt0KHIsYy5zaWJsaW5nKSwoYT1sKGMsdS5wcm9wcy5jaGlsZHJlbikpLnJldHVybj1yLHI9YTticmVhayBlfX1lbHNlIGlmKGMuZWxlbWVudFR5cGU9PT1zfHwib2JqZWN0Ij09dHlwZW9mIHMmJm51bGwhPT1zJiZzLiQkdHlwZW9mPT09TSYmS2Eocyk9PT1jLnR5cGUpe3QocixjLnNpYmxpbmcpLChhPWwoYyx1LnByb3BzKSkucmVmPSRhKHIsYyx1KSxhLnJldHVybj1yLHI9YTticmVhayBlfXQocixjKTticmVha31uKHIsYyksYz1jLnNpYmxpbmd9dS50eXBlPT09eD8oKGE9RHModS5wcm9wcy5jaGlsZHJlbixyLm1vZGUsaSx1LmtleSkpLnJldHVybj1yLHI9YSk6KChpPVJzKHUudHlwZSx1LmtleSx1LnByb3BzLG51bGwsci5tb2RlLGkpKS5yZWY9JGEocixhLHUpLAppLnJldHVybj1yLHI9aSl9cmV0dXJuIG8ocik7Y2FzZSBTOmU6e2ZvcihjPXUua2V5O251bGwhPT1hOyl7aWYoYS5rZXk9PT1jKXtpZig0PT09YS50YWcmJmEuc3RhdGVOb2RlLmNvbnRhaW5lckluZm89PT11LmNvbnRhaW5lckluZm8mJmEuc3RhdGVOb2RlLmltcGxlbWVudGF0aW9uPT09dS5pbXBsZW1lbnRhdGlvbil7dChyLGEuc2libGluZyksKGE9bChhLHUuY2hpbGRyZW58fFtdKSkucmV0dXJuPXIscj1hO2JyZWFrIGV9dChyLGEpO2JyZWFrfW4ocixhKSxhPWEuc2libGluZ30oYT1Vcyh1LHIubW9kZSxpKSkucmV0dXJuPXIscj1hfXJldHVybiBvKHIpO2Nhc2UgTTpyZXR1cm4gZShyLGEsKGM9dS5faW5pdCkodS5fcGF5bG9hZCksaSl9aWYobmUodSkpcmV0dXJuIGgocixhLHUsaSk7aWYoRCh1KSlyZXR1cm4gZyhyLGEsdSxpKTtxYShyLHUpfXJldHVybiJzdHJpbmciPT10eXBlb2YgdSYmIiIhPT11fHwibnVtYmVyIj09dHlwZW9mIHU/KHU9IiIrdSxudWxsIT09YSYmNj09PWEudGFnPyh0KHIsYS5zaWJsaW5nKSwoYT1sKGEsdSkpLnJldHVybj1yLHI9YSk6KHQocixhKSwoYT1Pcyh1LHIubW9kZSxpKSkucmV0dXJuPXIscj1hKSxvKHIpKTp0KHIsYSl9fXZhciBYYT1ZYSghMCksR2E9WWEoITEpLFphPXt9LEphPUVsKFphKSxldT1FbChaYSksbnU9RWwoWmEpO2Z1bmN0aW9uIHR1KGUpe2lmKGU9PT1aYSl0aHJvdyBFcnJvcihhKDE3NCkpO3JldHVybiBlfWZ1bmN0aW9uIHJ1KGUsbil7c3dpdGNoKHpsKG51LG4pLHpsKGV1LGUpLHpsKEphLFphKSxlPW4ubm9kZVR5cGUpe2Nhc2UgOTpjYXNlIDExOm49KG49bi5kb2N1bWVudEVsZW1lbnQpP24ubmFtZXNwYWNlVVJJOmllKG51bGwsIiIpO2JyZWFrO2RlZmF1bHQ6bj1pZShuPShlPTg9PT1lP24ucGFyZW50Tm9kZTpuKS5uYW1lc3BhY2VVUkl8fG51bGwsZT1lLnRhZ05hbWUpfUNsKEphKSx6bChKYSxuKX1mdW5jdGlvbiBsdSgpe0NsKEphKSxDbChldSksQ2wobnUpfWZ1bmN0aW9uIGF1KGUpe3R1KG51LmN1cnJlbnQpO3ZhciBuPXR1KEphLmN1cnJlbnQpLHQ9aWUobixlLnR5cGUpO24hPT10JiYoemwoZXUsZSksemwoSmEsdCkpfWZ1bmN0aW9uIHV1KGUpe2V1LmN1cnJlbnQ9PT1lJiYoQ2woSmEpLENsKGV1KSl9dmFyIG91PUVsKDApO2Z1bmN0aW9uIGl1KGUpe2Zvcih2YXIgbj1lO251bGwhPT1uOyl7aWYoMTM9PT1uLnRhZyl7dmFyIHQ9bi5tZW1vaXplZFN0YXRlO2lmKG51bGwhPT10JiYobnVsbD09PSh0PXQuZGVoeWRyYXRlZCl8fCIkPyI9PT10LmRhdGF8fCIkISI9PT10LmRhdGEpKXJldHVybiBufWVsc2UgaWYoMTk9PT1uLnRhZyYmdm9pZCAwIT09bi5tZW1vaXplZFByb3BzLnJldmVhbE9yZGVyKXtpZigxMjgmbi5mbGFncylyZXR1cm4gbn1lbHNlIGlmKG51bGwhPT1uLmNoaWxkKXtuLmNoaWxkLnJldHVybj1uLG49bi5jaGlsZDtjb250aW51ZX1pZihuPT09ZSlicmVhaztmb3IoO251bGw9PT1uLnNpYmxpbmc7KXtpZihudWxsPT09bi5yZXR1cm58fG4ucmV0dXJuPT09ZSlyZXR1cm4gbnVsbDtuPW4ucmV0dXJufW4uc2libGluZy5yZXR1cm49bi5yZXR1cm4sbj1uLnNpYmxpbmd9cmV0dXJuIG51bGx9dmFyIHN1PVtdO2Z1bmN0aW9uIGN1KCl7Zm9yKHZhciBlPTA7ZTxzdS5sZW5ndGg7ZSsrKXN1W2VdLl93b3JrSW5Qcm9ncmVzc1ZlcnNpb25QcmltYXJ5PW51bGw7c3UubGVuZ3RoPTB9dmFyIGZ1PWsuUmVhY3RDdXJyZW50RGlzcGF0Y2hlcixkdT1rLlJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLHB1PTAsbXU9bnVsbCxodT1udWxsLGd1PW51bGwsdnU9ITEseXU9ITEsYnU9MCxrdT0wO2Z1bmN0aW9uIHd1KCl7dGhyb3cgRXJyb3IoYSgzMjEpKX1mdW5jdGlvbiBTdShlLG4pe2lmKG51bGw9PT1uKXJldHVybiExO2Zvcih2YXIgdD0wO3Q8bi5sZW5ndGgmJnQ8ZS5sZW5ndGg7dCsrKWlmKCFvcihlW3RdLG5bdF0pKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIHh1KGUsbix0LHIsbCx1KXtpZihwdT11LG11PW4sbi5tZW1vaXplZFN0YXRlPW51bGwsbi51cGRhdGVRdWV1ZT1udWxsLG4ubGFuZXM9MCxmdS5jdXJyZW50PW51bGw9PT1lfHxudWxsPT09ZS5tZW1vaXplZFN0YXRlP3VvOm9vLGU9dChyLGwpLHl1KXt1PTA7ZG97aWYoeXU9ITEsYnU9MCwyNTw9dSl0aHJvdyBFcnJvcihhKDMwMSkpO3UrPTEsZ3U9aHU9bnVsbCxuLnVwZGF0ZVF1ZXVlPW51bGwsZnUuY3VycmVudD1pbyxlPXQocixsKX13aGlsZSh5dSl9aWYoZnUuY3VycmVudD1hbyxuPW51bGwhPT1odSYmbnVsbCE9PWh1Lm5leHQscHU9MCxndT1odT1tdT1udWxsLHZ1PSExLG4pdGhyb3cgRXJyb3IoYSgzMDApKTtyZXR1cm4gZX1mdW5jdGlvbiBFdSgpe3ZhciBlPTAhPT1idTtyZXR1cm4gYnU9MCxlfWZ1bmN0aW9uIEN1KCl7dmFyIGU9e21lbW9pemVkU3RhdGU6bnVsbCxiYXNlU3RhdGU6bnVsbCxiYXNlUXVldWU6bnVsbCxxdWV1ZTpudWxsLG5leHQ6bnVsbH07cmV0dXJuIG51bGw9PT1ndT9tdS5tZW1vaXplZFN0YXRlPWd1PWU6Z3U9Z3UubmV4dD1lLGd1fWZ1bmN0aW9uIHp1KCl7aWYobnVsbD09PWh1KXt2YXIgZT1tdS5hbHRlcm5hdGU7ZT1udWxsIT09ZT9lLm1lbW9pemVkU3RhdGU6bnVsbH1lbHNlIGU9aHUubmV4dDt2YXIgbj1udWxsPT09Z3U/bXUubWVtb2l6ZWRTdGF0ZTpndS5uZXh0O2lmKG51bGwhPT1uKWd1PW4saHU9ZTtlbHNle2lmKG51bGw9PT1lKXRocm93IEVycm9yKGEoMzEwKSk7ZT17bWVtb2l6ZWRTdGF0ZTooaHU9ZSkubWVtb2l6ZWRTdGF0ZSxiYXNlU3RhdGU6aHUuYmFzZVN0YXRlLGJhc2VRdWV1ZTpodS5iYXNlUXVldWUscXVldWU6aHUucXVldWUsbmV4dDpudWxsfSxudWxsPT09Z3U/bXUubWVtb2l6ZWRTdGF0ZT1ndT1lOmd1PWd1Lm5leHQ9ZX1yZXR1cm4gZ3V9ZnVuY3Rpb24gTnUoZSxuKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2Ygbj9uKGUpOm59ZnVuY3Rpb24gX3UoZSl7dmFyIG49enUoKSx0PW4ucXVldWU7aWYobnVsbD09PXQpdGhyb3cgRXJyb3IoYSgzMTEpKTt0Lmxhc3RSZW5kZXJlZFJlZHVjZXI9ZTt2YXIgcj1odSxsPXIuYmFzZVF1ZXVlLHU9dC5wZW5kaW5nO2lmKG51bGwhPT11KXtpZihudWxsIT09bCl7dmFyIG89bC5uZXh0CjtsLm5leHQ9dS5uZXh0LHUubmV4dD1vfXIuYmFzZVF1ZXVlPWw9dSx0LnBlbmRpbmc9bnVsbH1pZihudWxsIT09bCl7dT1sLm5leHQscj1yLmJhc2VTdGF0ZTt2YXIgaT1vPW51bGwscz1udWxsLGM9dTtkb3t2YXIgZj1jLmxhbmU7aWYoKHB1JmYpPT09ZiludWxsIT09cyYmKHM9cy5uZXh0PXtsYW5lOjAsYWN0aW9uOmMuYWN0aW9uLGhhc0VhZ2VyU3RhdGU6Yy5oYXNFYWdlclN0YXRlLGVhZ2VyU3RhdGU6Yy5lYWdlclN0YXRlLG5leHQ6bnVsbH0pLHI9Yy5oYXNFYWdlclN0YXRlP2MuZWFnZXJTdGF0ZTplKHIsYy5hY3Rpb24pO2Vsc2V7dmFyIGQ9e2xhbmU6ZixhY3Rpb246Yy5hY3Rpb24saGFzRWFnZXJTdGF0ZTpjLmhhc0VhZ2VyU3RhdGUsZWFnZXJTdGF0ZTpjLmVhZ2VyU3RhdGUsbmV4dDpudWxsfTtudWxsPT09cz8oaT1zPWQsbz1yKTpzPXMubmV4dD1kLG11LmxhbmVzfD1mLElpfD1mfWM9Yy5uZXh0fXdoaWxlKG51bGwhPT1jJiZjIT09dSk7bnVsbD09PXM/bz1yOnMubmV4dD1pLG9yKHIsbi5tZW1vaXplZFN0YXRlKXx8KGtvPSEwKSxuLm1lbW9pemVkU3RhdGU9cixuLmJhc2VTdGF0ZT1vLG4uYmFzZVF1ZXVlPXMsdC5sYXN0UmVuZGVyZWRTdGF0ZT1yfWlmKG51bGwhPT0oZT10LmludGVybGVhdmVkKSl7bD1lO2Rve3U9bC5sYW5lLG11LmxhbmVzfD11LElpfD11LGw9bC5uZXh0fXdoaWxlKGwhPT1lKX1lbHNlIG51bGw9PT1sJiYodC5sYW5lcz0wKTtyZXR1cm5bbi5tZW1vaXplZFN0YXRlLHQuZGlzcGF0Y2hdfWZ1bmN0aW9uIFB1KGUpe3ZhciBuPXp1KCksdD1uLnF1ZXVlO2lmKG51bGw9PT10KXRocm93IEVycm9yKGEoMzExKSk7dC5sYXN0UmVuZGVyZWRSZWR1Y2VyPWU7dmFyIHI9dC5kaXNwYXRjaCxsPXQucGVuZGluZyx1PW4ubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09bCl7dC5wZW5kaW5nPW51bGw7dmFyIG89bD1sLm5leHQ7ZG97dT1lKHUsby5hY3Rpb24pLG89by5uZXh0fXdoaWxlKG8hPT1sKTtvcih1LG4ubWVtb2l6ZWRTdGF0ZSl8fChrbz0hMCksbi5tZW1vaXplZFN0YXRlPXUsbnVsbD09PW4uYmFzZVF1ZXVlJiYobi5iYXNlU3RhdGU9dSksdC5sYXN0UmVuZGVyZWRTdGF0ZT11fXJldHVyblt1LHJdfWZ1bmN0aW9uIFR1KCl7fWZ1bmN0aW9uIEx1KGUsbil7dmFyIHQ9bXUscj16dSgpLGw9bigpLHU9IW9yKHIubWVtb2l6ZWRTdGF0ZSxsKTtpZih1JiYoci5tZW1vaXplZFN0YXRlPWwsa289ITApLHI9ci5xdWV1ZSxIdShSdS5iaW5kKG51bGwsdCxyLGUpLFtlXSksci5nZXRTbmFwc2hvdCE9PW58fHV8fG51bGwhPT1ndSYmMSZndS5tZW1vaXplZFN0YXRlLnRhZyl7aWYodC5mbGFnc3w9MjA0OCxVdSg5LEZ1LmJpbmQobnVsbCx0LHIsbCxuKSx2b2lkIDAsbnVsbCksbnVsbD09PVBpKXRocm93IEVycm9yKGEoMzQ5KSk7MzAmcHV8fE11KHQsbixsKX1yZXR1cm4gbH1mdW5jdGlvbiBNdShlLG4sdCl7ZS5mbGFnc3w9MTYzODQsZT17Z2V0U25hcHNob3Q6bix2YWx1ZTp0fSxudWxsPT09KG49bXUudXBkYXRlUXVldWUpPyhuPXtsYXN0RWZmZWN0Om51bGwsc3RvcmVzOm51bGx9LG11LnVwZGF0ZVF1ZXVlPW4sbi5zdG9yZXM9W2VdKTpudWxsPT09KHQ9bi5zdG9yZXMpP24uc3RvcmVzPVtlXTp0LnB1c2goZSl9ZnVuY3Rpb24gRnUoZSxuLHQscil7bi52YWx1ZT10LG4uZ2V0U25hcHNob3Q9cixEdShuKSYmSXUoZSl9ZnVuY3Rpb24gUnUoZSxuLHQpe3JldHVybiB0KChmdW5jdGlvbigpe0R1KG4pJiZJdShlKX0pKX1mdW5jdGlvbiBEdShlKXt2YXIgbj1lLmdldFNuYXBzaG90O2U9ZS52YWx1ZTt0cnl7dmFyIHQ9bigpO3JldHVybiFvcihlLHQpfWNhdGNoKGUpe3JldHVybiEwfX1mdW5jdGlvbiBJdShlKXt2YXIgbj1QYShlLDEpO251bGwhPT1uJiZ0cyhuLGUsMSwtMSl9ZnVuY3Rpb24gT3UoZSl7dmFyIG49Q3UoKTtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZSYmKGU9ZSgpKSxuLm1lbW9pemVkU3RhdGU9bi5iYXNlU3RhdGU9ZSxlPXtwZW5kaW5nOm51bGwsaW50ZXJsZWF2ZWQ6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjpOdSxsYXN0UmVuZGVyZWRTdGF0ZTplfSxuLnF1ZXVlPWUsZT1lLmRpc3BhdGNoPW5vLmJpbmQobnVsbCxtdSxlKSxbbi5tZW1vaXplZFN0YXRlLGVdfWZ1bmN0aW9uIFV1KGUsbix0LHIpe3JldHVybiBlPXt0YWc6ZSxjcmVhdGU6bixkZXN0cm95OnQsZGVwczpyLG5leHQ6bnVsbH0sbnVsbD09PShuPW11LnVwZGF0ZVF1ZXVlKT8obj17bGFzdEVmZmVjdDpudWxsLHN0b3JlczpudWxsfSxtdS51cGRhdGVRdWV1ZT1uLG4ubGFzdEVmZmVjdD1lLm5leHQ9ZSk6bnVsbD09PSh0PW4ubGFzdEVmZmVjdCk/bi5sYXN0RWZmZWN0PWUubmV4dD1lOihyPXQubmV4dCx0Lm5leHQ9ZSxlLm5leHQ9cixuLmxhc3RFZmZlY3Q9ZSksZX1mdW5jdGlvbiBWdSgpe3JldHVybiB6dSgpLm1lbW9pemVkU3RhdGV9ZnVuY3Rpb24gQXUoZSxuLHQscil7dmFyIGw9Q3UoKTttdS5mbGFnc3w9ZSxsLm1lbW9pemVkU3RhdGU9VXUoMXxuLHQsdm9pZCAwLHZvaWQgMD09PXI/bnVsbDpyKX1mdW5jdGlvbiBCdShlLG4sdCxyKXt2YXIgbD16dSgpO3I9dm9pZCAwPT09cj9udWxsOnI7dmFyIGE9dm9pZCAwO2lmKG51bGwhPT1odSl7dmFyIHU9aHUubWVtb2l6ZWRTdGF0ZTtpZihhPXUuZGVzdHJveSxudWxsIT09ciYmU3Uocix1LmRlcHMpKXJldHVybiB2b2lkKGwubWVtb2l6ZWRTdGF0ZT1VdShuLHQsYSxyKSl9bXUuZmxhZ3N8PWUsbC5tZW1vaXplZFN0YXRlPVV1KDF8bix0LGEscil9ZnVuY3Rpb24gV3UoZSxuKXtyZXR1cm4gQXUoODM5MDY1Niw4LGUsbil9ZnVuY3Rpb24gSHUoZSxuKXtyZXR1cm4gQnUoMjA0OCw4LGUsbil9ZnVuY3Rpb24gUXUoZSxuKXtyZXR1cm4gQnUoNCwyLGUsbil9ZnVuY3Rpb24ganUoZSxuKXtyZXR1cm4gQnUoNCw0LGUsbil9ZnVuY3Rpb24gJHUoZSxuKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2Ygbj8oZT1lKCksbihlKSxmdW5jdGlvbigpe24obnVsbCl9KTpudWxsIT1uPyhlPWUoKSxuLmN1cnJlbnQ9ZSxmdW5jdGlvbigpe24uY3VycmVudD1udWxsfSk6dm9pZCAwfWZ1bmN0aW9uIHF1KGUsbix0KXsKcmV0dXJuIHQ9bnVsbCE9dD90LmNvbmNhdChbZV0pOm51bGwsQnUoNCw0LCR1LmJpbmQobnVsbCxuLGUpLHQpfWZ1bmN0aW9uIEt1KCl7fWZ1bmN0aW9uIFl1KGUsbil7dmFyIHQ9enUoKTtuPXZvaWQgMD09PW4/bnVsbDpuO3ZhciByPXQubWVtb2l6ZWRTdGF0ZTtyZXR1cm4gbnVsbCE9PXImJm51bGwhPT1uJiZTdShuLHJbMV0pP3JbMF06KHQubWVtb2l6ZWRTdGF0ZT1bZSxuXSxlKX1mdW5jdGlvbiBYdShlLG4pe3ZhciB0PXp1KCk7bj12b2lkIDA9PT1uP251bGw6bjt2YXIgcj10Lm1lbW9pemVkU3RhdGU7cmV0dXJuIG51bGwhPT1yJiZudWxsIT09biYmU3UobixyWzFdKT9yWzBdOihlPWUoKSx0Lm1lbW9pemVkU3RhdGU9W2Usbl0sZSl9ZnVuY3Rpb24gR3UoZSxuLHQpe3JldHVybiAyMSZwdT8ob3IodCxuKXx8KHQ9Z24oKSxtdS5sYW5lc3w9dCxJaXw9dCxlLmJhc2VTdGF0ZT0hMCksbik6KGUuYmFzZVN0YXRlJiYoZS5iYXNlU3RhdGU9ITEsa289ITApLGUubWVtb2l6ZWRTdGF0ZT10KX1mdW5jdGlvbiBadShlLG4pe3ZhciB0PWtuO2tuPTAhPT10JiY0PnQ/dDo0LGUoITApO3ZhciByPWR1LnRyYW5zaXRpb247ZHUudHJhbnNpdGlvbj17fTt0cnl7ZSghMSksbigpfWZpbmFsbHl7a249dCxkdS50cmFuc2l0aW9uPXJ9fWZ1bmN0aW9uIEp1KCl7cmV0dXJuIHp1KCkubWVtb2l6ZWRTdGF0ZX1mdW5jdGlvbiBlbyhlLG4sdCl7dmFyIHI9bnMoZSk7aWYodD17bGFuZTpyLGFjdGlvbjp0LGhhc0VhZ2VyU3RhdGU6ITEsZWFnZXJTdGF0ZTpudWxsLG5leHQ6bnVsbH0sdG8oZSkpcm8obix0KTtlbHNlIGlmKG51bGwhPT0odD1fYShlLG4sdCxyKSkpe3RzKHQsZSxyLGVzKCkpLGxvKHQsbixyKX19ZnVuY3Rpb24gbm8oZSxuLHQpe3ZhciByPW5zKGUpLGw9e2xhbmU6cixhY3Rpb246dCxoYXNFYWdlclN0YXRlOiExLGVhZ2VyU3RhdGU6bnVsbCxuZXh0Om51bGx9O2lmKHRvKGUpKXJvKG4sbCk7ZWxzZXt2YXIgYT1lLmFsdGVybmF0ZTtpZigwPT09ZS5sYW5lcyYmKG51bGw9PT1hfHwwPT09YS5sYW5lcykmJm51bGwhPT0oYT1uLmxhc3RSZW5kZXJlZFJlZHVjZXIpKXRyeXt2YXIgdT1uLmxhc3RSZW5kZXJlZFN0YXRlLG89YSh1LHQpO2lmKGwuaGFzRWFnZXJTdGF0ZT0hMCxsLmVhZ2VyU3RhdGU9byxvcihvLHUpKXt2YXIgaT1uLmludGVybGVhdmVkO3JldHVybiBudWxsPT09aT8obC5uZXh0PWwsTmEobikpOihsLm5leHQ9aS5uZXh0LGkubmV4dD1sKSx2b2lkKG4uaW50ZXJsZWF2ZWQ9bCl9fWNhdGNoKGUpe31udWxsIT09KHQ9X2EoZSxuLGwscikpJiYodHModCxlLHIsbD1lcygpKSxsbyh0LG4scikpfX1mdW5jdGlvbiB0byhlKXt2YXIgbj1lLmFsdGVybmF0ZTtyZXR1cm4gZT09PW11fHxudWxsIT09biYmbj09PW11fWZ1bmN0aW9uIHJvKGUsbil7eXU9dnU9ITA7dmFyIHQ9ZS5wZW5kaW5nO251bGw9PT10P24ubmV4dD1uOihuLm5leHQ9dC5uZXh0LHQubmV4dD1uKSxlLnBlbmRpbmc9bn1mdW5jdGlvbiBsbyhlLG4sdCl7aWYoNDE5NDI0MCZ0KXt2YXIgcj1uLmxhbmVzO3R8PXImPWUucGVuZGluZ0xhbmVzLG4ubGFuZXM9dCxibihlLHQpfX12YXIgYW89e3JlYWRDb250ZXh0OkNhLHVzZUNhbGxiYWNrOnd1LHVzZUNvbnRleHQ6d3UsdXNlRWZmZWN0Ond1LHVzZUltcGVyYXRpdmVIYW5kbGU6d3UsdXNlSW5zZXJ0aW9uRWZmZWN0Ond1LHVzZUxheW91dEVmZmVjdDp3dSx1c2VNZW1vOnd1LHVzZVJlZHVjZXI6d3UsdXNlUmVmOnd1LHVzZVN0YXRlOnd1LHVzZURlYnVnVmFsdWU6d3UsdXNlRGVmZXJyZWRWYWx1ZTp3dSx1c2VUcmFuc2l0aW9uOnd1LHVzZU11dGFibGVTb3VyY2U6d3UsdXNlU3luY0V4dGVybmFsU3RvcmU6d3UsdXNlSWQ6d3UsdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiExfSx1bz17cmVhZENvbnRleHQ6Q2EsdXNlQ2FsbGJhY2s6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gQ3UoKS5tZW1vaXplZFN0YXRlPVtlLHZvaWQgMD09PW4/bnVsbDpuXSxlfSx1c2VDb250ZXh0OkNhLHVzZUVmZmVjdDpXdSx1c2VJbXBlcmF0aXZlSGFuZGxlOmZ1bmN0aW9uKGUsbix0KXtyZXR1cm4gdD1udWxsIT10P3QuY29uY2F0KFtlXSk6bnVsbCxBdSg0MTk0MzA4LDQsJHUuYmluZChudWxsLG4sZSksdCl9LHVzZUxheW91dEVmZmVjdDpmdW5jdGlvbihlLG4pe3JldHVybiBBdSg0MTk0MzA4LDQsZSxuKX0sdXNlSW5zZXJ0aW9uRWZmZWN0OmZ1bmN0aW9uKGUsbil7cmV0dXJuIEF1KDQsMixlLG4pfSx1c2VNZW1vOmZ1bmN0aW9uKGUsbil7dmFyIHQ9Q3UoKTtyZXR1cm4gbj12b2lkIDA9PT1uP251bGw6bixlPWUoKSx0Lm1lbW9pemVkU3RhdGU9W2Usbl0sZX0sdXNlUmVkdWNlcjpmdW5jdGlvbihlLG4sdCl7dmFyIHI9Q3UoKTtyZXR1cm4gbj12b2lkIDAhPT10P3Qobik6bixyLm1lbW9pemVkU3RhdGU9ci5iYXNlU3RhdGU9bixlPXtwZW5kaW5nOm51bGwsaW50ZXJsZWF2ZWQ6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjplLGxhc3RSZW5kZXJlZFN0YXRlOm59LHIucXVldWU9ZSxlPWUuZGlzcGF0Y2g9ZW8uYmluZChudWxsLG11LGUpLFtyLm1lbW9pemVkU3RhdGUsZV19LHVzZVJlZjpmdW5jdGlvbihlKXtyZXR1cm4gZT17Y3VycmVudDplfSxDdSgpLm1lbW9pemVkU3RhdGU9ZX0sdXNlU3RhdGU6T3UsdXNlRGVidWdWYWx1ZTpLdSx1c2VEZWZlcnJlZFZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiBDdSgpLm1lbW9pemVkU3RhdGU9ZX0sdXNlVHJhbnNpdGlvbjpmdW5jdGlvbigpe3ZhciBlPU91KCExKSxuPWVbMF07cmV0dXJuIGU9WnUuYmluZChudWxsLGVbMV0pLEN1KCkubWVtb2l6ZWRTdGF0ZT1lLFtuLGVdfSx1c2VNdXRhYmxlU291cmNlOmZ1bmN0aW9uKCl7fSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpmdW5jdGlvbihlLG4sdCl7dmFyIHI9bXUsbD1DdSgpO2lmKGxhKXtpZih2b2lkIDA9PT10KXRocm93IEVycm9yKGEoNDA3KSk7dD10KCl9ZWxzZXtpZih0PW4oKSxudWxsPT09UGkpdGhyb3cgRXJyb3IoYSgzNDkpKTszMCZwdXx8TXUocixuLHQpfWwubWVtb2l6ZWRTdGF0ZT10O3ZhciB1PXt2YWx1ZTp0LGdldFNuYXBzaG90Om59O3JldHVybiBsLnF1ZXVlPXUsCld1KFJ1LmJpbmQobnVsbCxyLHUsZSksW2VdKSxyLmZsYWdzfD0yMDQ4LFV1KDksRnUuYmluZChudWxsLHIsdSx0LG4pLHZvaWQgMCxudWxsKSx0fSx1c2VJZDpmdW5jdGlvbigpe3ZhciBlPUN1KCksbj1QaS5pZGVudGlmaWVyUHJlZml4O2lmKGxhKXt2YXIgdD1HbDtuPSI6IituKyJSIisodD0oWGwmfigxPDwzMi11bihYbCktMSkpLnRvU3RyaW5nKDMyKSt0KSwwPCh0PWJ1KyspJiYobis9IkgiK3QudG9TdHJpbmcoMzIpKSxuKz0iOiJ9ZWxzZSBuPSI6IituKyJyIisodD1rdSsrKS50b1N0cmluZygzMikrIjoiO3JldHVybiBlLm1lbW9pemVkU3RhdGU9bn0sdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiExfSxvbz17cmVhZENvbnRleHQ6Q2EsdXNlQ2FsbGJhY2s6WXUsdXNlQ29udGV4dDpDYSx1c2VFZmZlY3Q6SHUsdXNlSW1wZXJhdGl2ZUhhbmRsZTpxdSx1c2VJbnNlcnRpb25FZmZlY3Q6UXUsdXNlTGF5b3V0RWZmZWN0Omp1LHVzZU1lbW86WHUsdXNlUmVkdWNlcjpfdSx1c2VSZWY6VnUsdXNlU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gX3UoTnUpfSx1c2VEZWJ1Z1ZhbHVlOkt1LHVzZURlZmVycmVkVmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIEd1KHp1KCksaHUubWVtb2l6ZWRTdGF0ZSxlKX0sdXNlVHJhbnNpdGlvbjpmdW5jdGlvbigpe3JldHVybltfdShOdSlbMF0senUoKS5tZW1vaXplZFN0YXRlXX0sdXNlTXV0YWJsZVNvdXJjZTpUdSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpMdSx1c2VJZDpKdSx1bnN0YWJsZV9pc05ld1JlY29uY2lsZXI6ITF9LGlvPXtyZWFkQ29udGV4dDpDYSx1c2VDYWxsYmFjazpZdSx1c2VDb250ZXh0OkNhLHVzZUVmZmVjdDpIdSx1c2VJbXBlcmF0aXZlSGFuZGxlOnF1LHVzZUluc2VydGlvbkVmZmVjdDpRdSx1c2VMYXlvdXRFZmZlY3Q6anUsdXNlTWVtbzpYdSx1c2VSZWR1Y2VyOlB1LHVzZVJlZjpWdSx1c2VTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBQdShOdSl9LHVzZURlYnVnVmFsdWU6S3UsdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihlKXt2YXIgbj16dSgpO3JldHVybiBudWxsPT09aHU/bi5tZW1vaXplZFN0YXRlPWU6R3UobixodS5tZW1vaXplZFN0YXRlLGUpfSx1c2VUcmFuc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuW1B1KE51KVswXSx6dSgpLm1lbW9pemVkU3RhdGVdfSx1c2VNdXRhYmxlU291cmNlOlR1LHVzZVN5bmNFeHRlcm5hbFN0b3JlOkx1LHVzZUlkOkp1LHVuc3RhYmxlX2lzTmV3UmVjb25jaWxlcjohMX07ZnVuY3Rpb24gc28oZSxuKXt0cnl7dmFyIHQ9IiIscj1uO2Rve3QrPUIocikscj1yLnJldHVybn13aGlsZShyKTt2YXIgbD10fWNhdGNoKGUpe2w9IlxuRXJyb3IgZ2VuZXJhdGluZyBzdGFjazogIitlLm1lc3NhZ2UrIlxuIitlLnN0YWNrfXJldHVybnt2YWx1ZTplLHNvdXJjZTpuLHN0YWNrOmwsZGlnZXN0Om51bGx9fWZ1bmN0aW9uIGNvKGUsbix0KXtyZXR1cm57dmFsdWU6ZSxzb3VyY2U6bnVsbCxzdGFjazpudWxsIT10P3Q6bnVsbCxkaWdlc3Q6bnVsbCE9bj9uOm51bGx9fWZ1bmN0aW9uIGZvKGUsbil7dHJ5e2NvbnNvbGUuZXJyb3Iobi52YWx1ZSl9Y2F0Y2goZSl7c2V0VGltZW91dCgoZnVuY3Rpb24oKXt0aHJvdyBlfSkpfX12YXIgcG89ImZ1bmN0aW9uIj09dHlwZW9mIFdlYWtNYXA/V2Vha01hcDpNYXA7ZnVuY3Rpb24gbW8oZSxuLHQpeyh0PUZhKC0xLHQpKS50YWc9Myx0LnBheWxvYWQ9e2VsZW1lbnQ6bnVsbH07dmFyIHI9bi52YWx1ZTtyZXR1cm4gdC5jYWxsYmFjaz1mdW5jdGlvbigpe1FpfHwoUWk9ITAsamk9ciksZm8oMCxuKX0sdH1mdW5jdGlvbiBobyhlLG4sdCl7KHQ9RmEoLTEsdCkpLnRhZz0zO3ZhciByPWUudHlwZS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpe3ZhciBsPW4udmFsdWU7dC5wYXlsb2FkPWZ1bmN0aW9uKCl7cmV0dXJuIHIobCl9LHQuY2FsbGJhY2s9ZnVuY3Rpb24oKXtmbygwLG4pfX12YXIgYT1lLnN0YXRlTm9kZTtyZXR1cm4gbnVsbCE9PWEmJiJmdW5jdGlvbiI9PXR5cGVvZiBhLmNvbXBvbmVudERpZENhdGNoJiYodC5jYWxsYmFjaz1mdW5jdGlvbigpe2ZvKDAsbiksImZ1bmN0aW9uIiE9dHlwZW9mIHImJihudWxsPT09JGk/JGk9bmV3IFNldChbdGhpc10pOiRpLmFkZCh0aGlzKSk7dmFyIGU9bi5zdGFjazt0aGlzLmNvbXBvbmVudERpZENhdGNoKG4udmFsdWUse2NvbXBvbmVudFN0YWNrOm51bGwhPT1lP2U6IiJ9KX0pLHR9ZnVuY3Rpb24gZ28oZSxuLHQpe3ZhciByPWUucGluZ0NhY2hlO2lmKG51bGw9PT1yKXtyPWUucGluZ0NhY2hlPW5ldyBwbzt2YXIgbD1uZXcgU2V0O3Iuc2V0KG4sbCl9ZWxzZSB2b2lkIDA9PT0obD1yLmdldChuKSkmJihsPW5ldyBTZXQsci5zZXQobixsKSk7bC5oYXModCl8fChsLmFkZCh0KSxlPUNzLmJpbmQobnVsbCxlLG4sdCksbi50aGVuKGUsZSkpfWZ1bmN0aW9uIHZvKGUpe2Rve3ZhciBuO2lmKChuPTEzPT09ZS50YWcpJiYobj1udWxsPT09KG49ZS5tZW1vaXplZFN0YXRlKXx8bnVsbCE9PW4uZGVoeWRyYXRlZCksbilyZXR1cm4gZTtlPWUucmV0dXJufXdoaWxlKG51bGwhPT1lKTtyZXR1cm4gbnVsbH1mdW5jdGlvbiB5byhlLG4sdCxyLGwpe3JldHVybiAxJmUubW9kZT8oZS5mbGFnc3w9NjU1MzYsZS5sYW5lcz1sLGUpOihlPT09bj9lLmZsYWdzfD02NTUzNjooZS5mbGFnc3w9MTI4LHQuZmxhZ3N8PTEzMTA3Mix0LmZsYWdzJj0tNTI4MDUsMT09PXQudGFnJiYobnVsbD09PXQuYWx0ZXJuYXRlP3QudGFnPTE3Oigobj1GYSgtMSwxKSkudGFnPTIsUmEodCxuLDEpKSksdC5sYW5lc3w9MSksZSl9dmFyIGJvPWsuUmVhY3RDdXJyZW50T3duZXIsa289ITE7ZnVuY3Rpb24gd28oZSxuLHQscil7bi5jaGlsZD1udWxsPT09ZT9HYShuLG51bGwsdCxyKTpYYShuLGUuY2hpbGQsdCxyKX1mdW5jdGlvbiBTbyhlLG4sdCxyLGwpe3Q9dC5yZW5kZXI7dmFyIGE9bi5yZWY7cmV0dXJuIEVhKG4sbCkscj14dShlLG4sdCxyLGEsbCksdD1FdSgpLG51bGw9PT1lfHxrbz8obGEmJnQmJmVhKG4pLG4uZmxhZ3N8PTEsd28oZSxuLHIsbCksbi5jaGlsZCk6KG4udXBkYXRlUXVldWU9ZS51cGRhdGVRdWV1ZSxuLmZsYWdzJj0tMjA1MywKZS5sYW5lcyY9fmwsUW8oZSxuLGwpKX1mdW5jdGlvbiB4byhlLG4sdCxyLGwpe2lmKG51bGw9PT1lKXt2YXIgYT10LnR5cGU7cmV0dXJuImZ1bmN0aW9uIiE9dHlwZW9mIGF8fE1zKGEpfHx2b2lkIDAhPT1hLmRlZmF1bHRQcm9wc3x8bnVsbCE9PXQuY29tcGFyZXx8dm9pZCAwIT09dC5kZWZhdWx0UHJvcHM/KChlPVJzKHQudHlwZSxudWxsLHIsbixuLm1vZGUsbCkpLnJlZj1uLnJlZixlLnJldHVybj1uLG4uY2hpbGQ9ZSk6KG4udGFnPTE1LG4udHlwZT1hLEVvKGUsbixhLHIsbCkpfWlmKGE9ZS5jaGlsZCwhKGUubGFuZXMmbCkpe3ZhciB1PWEubWVtb2l6ZWRQcm9wcztpZigodD1udWxsIT09KHQ9dC5jb21wYXJlKT90OmlyKSh1LHIpJiZlLnJlZj09PW4ucmVmKXJldHVybiBRbyhlLG4sbCl9cmV0dXJuIG4uZmxhZ3N8PTEsKGU9RnMoYSxyKSkucmVmPW4ucmVmLGUucmV0dXJuPW4sbi5jaGlsZD1lfWZ1bmN0aW9uIEVvKGUsbix0LHIsbCl7aWYobnVsbCE9PWUpe3ZhciBhPWUubWVtb2l6ZWRQcm9wcztpZihpcihhLHIpJiZlLnJlZj09PW4ucmVmKXtpZihrbz0hMSxuLnBlbmRpbmdQcm9wcz1yPWEsIShlLmxhbmVzJmwpKXJldHVybiBuLmxhbmVzPWUubGFuZXMsUW8oZSxuLGwpOzEzMTA3MiZlLmZsYWdzJiYoa289ITApfX1yZXR1cm4gTm8oZSxuLHQscixsKX1mdW5jdGlvbiBDbyhlLG4sdCl7dmFyIHI9bi5wZW5kaW5nUHJvcHMsbD1yLmNoaWxkcmVuLGE9bnVsbCE9PWU/ZS5tZW1vaXplZFN0YXRlOm51bGw7aWYoImhpZGRlbiI9PT1yLm1vZGUpaWYoMSZuLm1vZGUpe2lmKCEoMTA3Mzc0MTgyNCZ0KSlyZXR1cm4gZT1udWxsIT09YT9hLmJhc2VMYW5lc3x0OnQsbi5sYW5lcz1uLmNoaWxkTGFuZXM9MTA3Mzc0MTgyNCxuLm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczplLGNhY2hlUG9vbDpudWxsLHRyYW5zaXRpb25zOm51bGx9LG4udXBkYXRlUXVldWU9bnVsbCx6bChGaSxNaSksTWl8PWUsbnVsbDtuLm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczowLGNhY2hlUG9vbDpudWxsLHRyYW5zaXRpb25zOm51bGx9LHI9bnVsbCE9PWE/YS5iYXNlTGFuZXM6dCx6bChGaSxNaSksTWl8PXJ9ZWxzZSBuLm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczowLGNhY2hlUG9vbDpudWxsLHRyYW5zaXRpb25zOm51bGx9LHpsKEZpLE1pKSxNaXw9dDtlbHNlIG51bGwhPT1hPyhyPWEuYmFzZUxhbmVzfHQsbi5tZW1vaXplZFN0YXRlPW51bGwpOnI9dCx6bChGaSxNaSksTWl8PXI7cmV0dXJuIHdvKGUsbixsLHQpLG4uY2hpbGR9ZnVuY3Rpb24gem8oZSxuKXt2YXIgdD1uLnJlZjsobnVsbD09PWUmJm51bGwhPT10fHxudWxsIT09ZSYmZS5yZWYhPT10KSYmKG4uZmxhZ3N8PTUxMixuLmZsYWdzfD0yMDk3MTUyKX1mdW5jdGlvbiBObyhlLG4sdCxyLGwpe3ZhciBhPU1sKHQpP1RsOl9sLmN1cnJlbnQ7cmV0dXJuIGE9TGwobixhKSxFYShuLGwpLHQ9eHUoZSxuLHQscixhLGwpLHI9RXUoKSxudWxsPT09ZXx8a28/KGxhJiZyJiZlYShuKSxuLmZsYWdzfD0xLHdvKGUsbix0LGwpLG4uY2hpbGQpOihuLnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsbi5mbGFncyY9LTIwNTMsZS5sYW5lcyY9fmwsUW8oZSxuLGwpKX1mdW5jdGlvbiBfbyhlLG4sdCxyLGwpe2lmKE1sKHQpKXt2YXIgYT0hMDtJbChuKX1lbHNlIGE9ITE7aWYoRWEobixsKSxudWxsPT09bi5zdGF0ZU5vZGUpSG8oZSxuKSxIYShuLHQsciksamEobix0LHIsbCkscj0hMDtlbHNlIGlmKG51bGw9PT1lKXt2YXIgdT1uLnN0YXRlTm9kZSxvPW4ubWVtb2l6ZWRQcm9wczt1LnByb3BzPW87dmFyIGk9dS5jb250ZXh0LHM9dC5jb250ZXh0VHlwZTsib2JqZWN0Ij09dHlwZW9mIHMmJm51bGwhPT1zP3M9Q2Eocyk6cz1MbChuLHM9TWwodCk/VGw6X2wuY3VycmVudCk7dmFyIGM9dC5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMsZj0iZnVuY3Rpb24iPT10eXBlb2YgY3x8ImZ1bmN0aW9uIj09dHlwZW9mIHUuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGU7Znx8ImZ1bmN0aW9uIiE9dHlwZW9mIHUuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMmJiJmdW5jdGlvbiIhPXR5cGVvZiB1LmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHN8fChvIT09cnx8aSE9PXMpJiZRYShuLHUscixzKSxUYT0hMTt2YXIgZD1uLm1lbW9pemVkU3RhdGU7dS5zdGF0ZT1kLE9hKG4scix1LGwpLGk9bi5tZW1vaXplZFN0YXRlLG8hPT1yfHxkIT09aXx8UGwuY3VycmVudHx8VGE/KCJmdW5jdGlvbiI9PXR5cGVvZiBjJiYoQWEobix0LGMsciksaT1uLm1lbW9pemVkU3RhdGUpLChvPVRhfHxXYShuLHQsbyxyLGQsaSxzKSk/KGZ8fCJmdW5jdGlvbiIhPXR5cGVvZiB1LlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQmJiJmdW5jdGlvbiIhPXR5cGVvZiB1LmNvbXBvbmVudFdpbGxNb3VudHx8KCJmdW5jdGlvbiI9PXR5cGVvZiB1LmNvbXBvbmVudFdpbGxNb3VudCYmdS5jb21wb25lbnRXaWxsTW91bnQoKSwiZnVuY3Rpb24iPT10eXBlb2YgdS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JiZ1LlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSksImZ1bmN0aW9uIj09dHlwZW9mIHUuY29tcG9uZW50RGlkTW91bnQmJihuLmZsYWdzfD00MTk0MzA4KSk6KCJmdW5jdGlvbiI9PXR5cGVvZiB1LmNvbXBvbmVudERpZE1vdW50JiYobi5mbGFnc3w9NDE5NDMwOCksbi5tZW1vaXplZFByb3BzPXIsbi5tZW1vaXplZFN0YXRlPWkpLHUucHJvcHM9cix1LnN0YXRlPWksdS5jb250ZXh0PXMscj1vKTooImZ1bmN0aW9uIj09dHlwZW9mIHUuY29tcG9uZW50RGlkTW91bnQmJihuLmZsYWdzfD00MTk0MzA4KSxyPSExKX1lbHNle3U9bi5zdGF0ZU5vZGUsTWEoZSxuKSxvPW4ubWVtb2l6ZWRQcm9wcyxzPW4udHlwZT09PW4uZWxlbWVudFR5cGU/bzpnYShuLnR5cGUsbyksdS5wcm9wcz1zLGY9bi5wZW5kaW5nUHJvcHMsZD11LmNvbnRleHQsIm9iamVjdCI9PXR5cGVvZihpPXQuY29udGV4dFR5cGUpJiZudWxsIT09aT9pPUNhKGkpOmk9TGwobixpPU1sKHQpP1RsOl9sLmN1cnJlbnQpO3ZhciBwPXQuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzCjsoYz0iZnVuY3Rpb24iPT10eXBlb2YgcHx8ImZ1bmN0aW9uIj09dHlwZW9mIHUuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUpfHwiZnVuY3Rpb24iIT10eXBlb2YgdS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyYmImZ1bmN0aW9uIiE9dHlwZW9mIHUuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc3x8KG8hPT1mfHxkIT09aSkmJlFhKG4sdSxyLGkpLFRhPSExLGQ9bi5tZW1vaXplZFN0YXRlLHUuc3RhdGU9ZCxPYShuLHIsdSxsKTt2YXIgbT1uLm1lbW9pemVkU3RhdGU7byE9PWZ8fGQhPT1tfHxQbC5jdXJyZW50fHxUYT8oImZ1bmN0aW9uIj09dHlwZW9mIHAmJihBYShuLHQscCxyKSxtPW4ubWVtb2l6ZWRTdGF0ZSksKHM9VGF8fFdhKG4sdCxzLHIsZCxtLGkpfHwhMSk/KGN8fCJmdW5jdGlvbiIhPXR5cGVvZiB1LlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlJiYiZnVuY3Rpb24iIT10eXBlb2YgdS5jb21wb25lbnRXaWxsVXBkYXRlfHwoImZ1bmN0aW9uIj09dHlwZW9mIHUuY29tcG9uZW50V2lsbFVwZGF0ZSYmdS5jb21wb25lbnRXaWxsVXBkYXRlKHIsbSxpKSwiZnVuY3Rpb24iPT10eXBlb2YgdS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZSYmdS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZShyLG0saSkpLCJmdW5jdGlvbiI9PXR5cGVvZiB1LmNvbXBvbmVudERpZFVwZGF0ZSYmKG4uZmxhZ3N8PTQpLCJmdW5jdGlvbiI9PXR5cGVvZiB1LmdldFNuYXBzaG90QmVmb3JlVXBkYXRlJiYobi5mbGFnc3w9MTAyNCkpOigiZnVuY3Rpb24iIT10eXBlb2YgdS5jb21wb25lbnREaWRVcGRhdGV8fG89PT1lLm1lbW9pemVkUHJvcHMmJmQ9PT1lLm1lbW9pemVkU3RhdGV8fChuLmZsYWdzfD00KSwiZnVuY3Rpb24iIT10eXBlb2YgdS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZXx8bz09PWUubWVtb2l6ZWRQcm9wcyYmZD09PWUubWVtb2l6ZWRTdGF0ZXx8KG4uZmxhZ3N8PTEwMjQpLG4ubWVtb2l6ZWRQcm9wcz1yLG4ubWVtb2l6ZWRTdGF0ZT1tKSx1LnByb3BzPXIsdS5zdGF0ZT1tLHUuY29udGV4dD1pLHI9cyk6KCJmdW5jdGlvbiIhPXR5cGVvZiB1LmNvbXBvbmVudERpZFVwZGF0ZXx8bz09PWUubWVtb2l6ZWRQcm9wcyYmZD09PWUubWVtb2l6ZWRTdGF0ZXx8KG4uZmxhZ3N8PTQpLCJmdW5jdGlvbiIhPXR5cGVvZiB1LmdldFNuYXBzaG90QmVmb3JlVXBkYXRlfHxvPT09ZS5tZW1vaXplZFByb3BzJiZkPT09ZS5tZW1vaXplZFN0YXRlfHwobi5mbGFnc3w9MTAyNCkscj0hMSl9cmV0dXJuIFBvKGUsbix0LHIsYSxsKX1mdW5jdGlvbiBQbyhlLG4sdCxyLGwsYSl7em8oZSxuKTt2YXIgdT0hISgxMjgmbi5mbGFncyk7aWYoIXImJiF1KXJldHVybiBsJiZPbChuLHQsITEpLFFvKGUsbixhKTtyPW4uc3RhdGVOb2RlLGJvLmN1cnJlbnQ9bjt2YXIgbz11JiYiZnVuY3Rpb24iIT10eXBlb2YgdC5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I/bnVsbDpyLnJlbmRlcigpO3JldHVybiBuLmZsYWdzfD0xLG51bGwhPT1lJiZ1PyhuLmNoaWxkPVhhKG4sZS5jaGlsZCxudWxsLGEpLG4uY2hpbGQ9WGEobixudWxsLG8sYSkpOndvKGUsbixvLGEpLG4ubWVtb2l6ZWRTdGF0ZT1yLnN0YXRlLGwmJk9sKG4sdCwhMCksbi5jaGlsZH1mdW5jdGlvbiBUbyhlKXt2YXIgbj1lLnN0YXRlTm9kZTtuLnBlbmRpbmdDb250ZXh0P1JsKDAsbi5wZW5kaW5nQ29udGV4dCxuLnBlbmRpbmdDb250ZXh0IT09bi5jb250ZXh0KTpuLmNvbnRleHQmJlJsKDAsbi5jb250ZXh0LCExKSxydShlLG4uY29udGFpbmVySW5mbyl9ZnVuY3Rpb24gTG8oZSxuLHQscixsKXtyZXR1cm4gcGEoKSxtYShsKSxuLmZsYWdzfD0yNTYsd28oZSxuLHQsciksbi5jaGlsZH12YXIgTW8sRm8sUm8sRG89e2RlaHlkcmF0ZWQ6bnVsbCx0cmVlQ29udGV4dDpudWxsLHJldHJ5TGFuZTowfTtmdW5jdGlvbiBJbyhlKXtyZXR1cm57YmFzZUxhbmVzOmUsY2FjaGVQb29sOm51bGwsdHJhbnNpdGlvbnM6bnVsbH19ZnVuY3Rpb24gT28oZSxuLHQpe3ZhciByLGw9bi5wZW5kaW5nUHJvcHMsdT1vdS5jdXJyZW50LG89ITEsaT0hISgxMjgmbi5mbGFncyk7aWYoKHI9aSl8fChyPShudWxsPT09ZXx8bnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSkmJiEhKDImdSkpLHI/KG89ITAsbi5mbGFncyY9LTEyOSk6bnVsbCE9PWUmJm51bGw9PT1lLm1lbW9pemVkU3RhdGV8fCh1fD0xKSx6bChvdSwxJnUpLG51bGw9PT1lKXJldHVybiBzYShuKSxudWxsIT09KGU9bi5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PShlPWUuZGVoeWRyYXRlZCk/KDEmbi5tb2RlPyIkISI9PT1lLmRhdGE/bi5sYW5lcz04Om4ubGFuZXM9MTA3Mzc0MTgyNDpuLmxhbmVzPTEsbnVsbCk6KGk9bC5jaGlsZHJlbixlPWwuZmFsbGJhY2ssbz8obD1uLm1vZGUsbz1uLmNoaWxkLGk9e21vZGU6ImhpZGRlbiIsY2hpbGRyZW46aX0sMSZsfHxudWxsPT09bz9vPUlzKGksbCwwLG51bGwpOihvLmNoaWxkTGFuZXM9MCxvLnBlbmRpbmdQcm9wcz1pKSxlPURzKGUsbCx0LG51bGwpLG8ucmV0dXJuPW4sZS5yZXR1cm49bixvLnNpYmxpbmc9ZSxuLmNoaWxkPW8sbi5jaGlsZC5tZW1vaXplZFN0YXRlPUlvKHQpLG4ubWVtb2l6ZWRTdGF0ZT1EbyxlKTpVbyhuLGkpKTtpZihudWxsIT09KHU9ZS5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PShyPXUuZGVoeWRyYXRlZCkpcmV0dXJuIGZ1bmN0aW9uKGUsbix0LHIsbCx1LG8pe2lmKHQpcmV0dXJuIDI1NiZuLmZsYWdzPyhuLmZsYWdzJj0tMjU3LFZvKGUsbixvLHI9Y28oRXJyb3IoYSg0MjIpKSkpKTpudWxsIT09bi5tZW1vaXplZFN0YXRlPyhuLmNoaWxkPWUuY2hpbGQsbi5mbGFnc3w9MTI4LG51bGwpOih1PXIuZmFsbGJhY2ssbD1uLm1vZGUscj1Jcyh7bW9kZToidmlzaWJsZSIsY2hpbGRyZW46ci5jaGlsZHJlbn0sbCwwLG51bGwpLCh1PURzKHUsbCxvLG51bGwpKS5mbGFnc3w9MixyLnJldHVybj1uLHUucmV0dXJuPW4sci5zaWJsaW5nPXUsbi5jaGlsZD1yLDEmbi5tb2RlJiZYYShuLGUuY2hpbGQsbnVsbCxvKSxuLmNoaWxkLm1lbW9pemVkU3RhdGU9SW8obyksbi5tZW1vaXplZFN0YXRlPURvLHUpO2lmKCEoMSZuLm1vZGUpKXJldHVybiBWbyhlLG4sbyxudWxsKTtpZigiJCEiPT09bC5kYXRhKXsKaWYocj1sLm5leHRTaWJsaW5nJiZsLm5leHRTaWJsaW5nLmRhdGFzZXQpdmFyIGk9ci5kZ3N0O3JldHVybiByPWksVm8oZSxuLG8scj1jbyh1PUVycm9yKGEoNDE5KSkscix2b2lkIDApKX1pZihpPSEhKG8mZS5jaGlsZExhbmVzKSxrb3x8aSl7aWYobnVsbCE9PShyPVBpKSl7c3dpdGNoKG8mLW8pe2Nhc2UgNDpsPTI7YnJlYWs7Y2FzZSAxNjpsPTg7YnJlYWs7Y2FzZSA2NDpjYXNlIDEyODpjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6Y2FzZSAyNjIxNDQ6Y2FzZSA1MjQyODg6Y2FzZSAxMDQ4NTc2OmNhc2UgMjA5NzE1MjpjYXNlIDQxOTQzMDQ6Y2FzZSA4Mzg4NjA4OmNhc2UgMTY3NzcyMTY6Y2FzZSAzMzU1NDQzMjpjYXNlIDY3MTA4ODY0Omw9MzI7YnJlYWs7Y2FzZSA1MzY4NzA5MTI6bD0yNjg0MzU0NTY7YnJlYWs7ZGVmYXVsdDpsPTB9MCE9PShsPWwmKHIuc3VzcGVuZGVkTGFuZXN8byk/MDpsKSYmbCE9PXUucmV0cnlMYW5lJiYodS5yZXRyeUxhbmU9bCxQYShlLGwpLHRzKHIsZSxsLC0xKSl9cmV0dXJuIGhzKCksVm8oZSxuLG8scj1jbyhFcnJvcihhKDQyMSkpKSl9cmV0dXJuIiQ/Ij09PWwuZGF0YT8obi5mbGFnc3w9MTI4LG4uY2hpbGQ9ZS5jaGlsZCxuPU5zLmJpbmQobnVsbCxlKSxsLl9yZWFjdFJldHJ5PW4sbnVsbCk6KGU9dS50cmVlQ29udGV4dCxyYT1zbChsLm5leHRTaWJsaW5nKSx0YT1uLGxhPSEwLGFhPW51bGwsbnVsbCE9PWUmJihxbFtLbCsrXT1YbCxxbFtLbCsrXT1HbCxxbFtLbCsrXT1ZbCxYbD1lLmlkLEdsPWUub3ZlcmZsb3csWWw9biksbj1VbyhuLHIuY2hpbGRyZW4pLG4uZmxhZ3N8PTQwOTYsbil9KGUsbixpLGwscix1LHQpO2lmKG8pe289bC5mYWxsYmFjayxpPW4ubW9kZSxyPSh1PWUuY2hpbGQpLnNpYmxpbmc7dmFyIHM9e21vZGU6ImhpZGRlbiIsY2hpbGRyZW46bC5jaGlsZHJlbn07cmV0dXJuIDEmaXx8bi5jaGlsZD09PXU/KGw9RnModSxzKSkuc3VidHJlZUZsYWdzPTE0NjgwMDY0JnUuc3VidHJlZUZsYWdzOigobD1uLmNoaWxkKS5jaGlsZExhbmVzPTAsbC5wZW5kaW5nUHJvcHM9cyxuLmRlbGV0aW9ucz1udWxsKSxudWxsIT09cj9vPUZzKHIsbyk6KG89RHMobyxpLHQsbnVsbCkpLmZsYWdzfD0yLG8ucmV0dXJuPW4sbC5yZXR1cm49bixsLnNpYmxpbmc9byxuLmNoaWxkPWwsbD1vLG89bi5jaGlsZCxpPW51bGw9PT0oaT1lLmNoaWxkLm1lbW9pemVkU3RhdGUpP0lvKHQpOntiYXNlTGFuZXM6aS5iYXNlTGFuZXN8dCxjYWNoZVBvb2w6bnVsbCx0cmFuc2l0aW9uczppLnRyYW5zaXRpb25zfSxvLm1lbW9pemVkU3RhdGU9aSxvLmNoaWxkTGFuZXM9ZS5jaGlsZExhbmVzJn50LG4ubWVtb2l6ZWRTdGF0ZT1EbyxsfXJldHVybiBlPShvPWUuY2hpbGQpLnNpYmxpbmcsbD1GcyhvLHttb2RlOiJ2aXNpYmxlIixjaGlsZHJlbjpsLmNoaWxkcmVufSksISgxJm4ubW9kZSkmJihsLmxhbmVzPXQpLGwucmV0dXJuPW4sbC5zaWJsaW5nPW51bGwsbnVsbCE9PWUmJihudWxsPT09KHQ9bi5kZWxldGlvbnMpPyhuLmRlbGV0aW9ucz1bZV0sbi5mbGFnc3w9MTYpOnQucHVzaChlKSksbi5jaGlsZD1sLG4ubWVtb2l6ZWRTdGF0ZT1udWxsLGx9ZnVuY3Rpb24gVW8oZSxuKXtyZXR1cm4obj1Jcyh7bW9kZToidmlzaWJsZSIsY2hpbGRyZW46bn0sZS5tb2RlLDAsbnVsbCkpLnJldHVybj1lLGUuY2hpbGQ9bn1mdW5jdGlvbiBWbyhlLG4sdCxyKXtyZXR1cm4gbnVsbCE9PXImJm1hKHIpLFhhKG4sZS5jaGlsZCxudWxsLHQpLChlPVVvKG4sbi5wZW5kaW5nUHJvcHMuY2hpbGRyZW4pKS5mbGFnc3w9MixuLm1lbW9pemVkU3RhdGU9bnVsbCxlfWZ1bmN0aW9uIEFvKGUsbix0KXtlLmxhbmVzfD1uO3ZhciByPWUuYWx0ZXJuYXRlO251bGwhPT1yJiYoci5sYW5lc3w9bikseGEoZS5yZXR1cm4sbix0KX1mdW5jdGlvbiBCbyhlLG4sdCxyLGwpe3ZhciBhPWUubWVtb2l6ZWRTdGF0ZTtudWxsPT09YT9lLm1lbW9pemVkU3RhdGU9e2lzQmFja3dhcmRzOm4scmVuZGVyaW5nOm51bGwscmVuZGVyaW5nU3RhcnRUaW1lOjAsbGFzdDpyLHRhaWw6dCx0YWlsTW9kZTpsfTooYS5pc0JhY2t3YXJkcz1uLGEucmVuZGVyaW5nPW51bGwsYS5yZW5kZXJpbmdTdGFydFRpbWU9MCxhLmxhc3Q9cixhLnRhaWw9dCxhLnRhaWxNb2RlPWwpfWZ1bmN0aW9uIFdvKGUsbix0KXt2YXIgcj1uLnBlbmRpbmdQcm9wcyxsPXIucmV2ZWFsT3JkZXIsYT1yLnRhaWw7aWYod28oZSxuLHIuY2hpbGRyZW4sdCksMiYocj1vdS5jdXJyZW50KSlyPTEmcnwyLG4uZmxhZ3N8PTEyODtlbHNle2lmKG51bGwhPT1lJiYxMjgmZS5mbGFncyllOmZvcihlPW4uY2hpbGQ7bnVsbCE9PWU7KXtpZigxMz09PWUudGFnKW51bGwhPT1lLm1lbW9pemVkU3RhdGUmJkFvKGUsdCxuKTtlbHNlIGlmKDE5PT09ZS50YWcpQW8oZSx0LG4pO2Vsc2UgaWYobnVsbCE9PWUuY2hpbGQpe2UuY2hpbGQucmV0dXJuPWUsZT1lLmNoaWxkO2NvbnRpbnVlfWlmKGU9PT1uKWJyZWFrIGU7Zm9yKDtudWxsPT09ZS5zaWJsaW5nOyl7aWYobnVsbD09PWUucmV0dXJufHxlLnJldHVybj09PW4pYnJlYWsgZTtlPWUucmV0dXJufWUuc2libGluZy5yZXR1cm49ZS5yZXR1cm4sZT1lLnNpYmxpbmd9ciY9MX1pZih6bChvdSxyKSwxJm4ubW9kZSlzd2l0Y2gobCl7Y2FzZSJmb3J3YXJkcyI6Zm9yKHQ9bi5jaGlsZCxsPW51bGw7bnVsbCE9PXQ7KW51bGwhPT0oZT10LmFsdGVybmF0ZSkmJm51bGw9PT1pdShlKSYmKGw9dCksdD10LnNpYmxpbmc7bnVsbD09PSh0PWwpPyhsPW4uY2hpbGQsbi5jaGlsZD1udWxsKToobD10LnNpYmxpbmcsdC5zaWJsaW5nPW51bGwpLEJvKG4sITEsbCx0LGEpO2JyZWFrO2Nhc2UiYmFja3dhcmRzIjpmb3IodD1udWxsLGw9bi5jaGlsZCxuLmNoaWxkPW51bGw7bnVsbCE9PWw7KXtpZihudWxsIT09KGU9bC5hbHRlcm5hdGUpJiZudWxsPT09aXUoZSkpe24uY2hpbGQ9bDticmVha31lPWwuc2libGluZyxsLnNpYmxpbmc9dCx0PWwsbD1lfUJvKG4sITAsdCxudWxsLGEpO2JyZWFrO2Nhc2UidG9nZXRoZXIiOgpCbyhuLCExLG51bGwsbnVsbCx2b2lkIDApO2JyZWFrO2RlZmF1bHQ6bi5tZW1vaXplZFN0YXRlPW51bGx9ZWxzZSBuLm1lbW9pemVkU3RhdGU9bnVsbDtyZXR1cm4gbi5jaGlsZH1mdW5jdGlvbiBIbyhlLG4peyEoMSZuLm1vZGUpJiZudWxsIT09ZSYmKGUuYWx0ZXJuYXRlPW51bGwsbi5hbHRlcm5hdGU9bnVsbCxuLmZsYWdzfD0yKX1mdW5jdGlvbiBRbyhlLG4sdCl7aWYobnVsbCE9PWUmJihuLmRlcGVuZGVuY2llcz1lLmRlcGVuZGVuY2llcyksSWl8PW4ubGFuZXMsISh0Jm4uY2hpbGRMYW5lcykpcmV0dXJuIG51bGw7aWYobnVsbCE9PWUmJm4uY2hpbGQhPT1lLmNoaWxkKXRocm93IEVycm9yKGEoMTUzKSk7aWYobnVsbCE9PW4uY2hpbGQpe2Zvcih0PUZzKGU9bi5jaGlsZCxlLnBlbmRpbmdQcm9wcyksbi5jaGlsZD10LHQucmV0dXJuPW47bnVsbCE9PWUuc2libGluZzspZT1lLnNpYmxpbmcsKHQ9dC5zaWJsaW5nPUZzKGUsZS5wZW5kaW5nUHJvcHMpKS5yZXR1cm49bjt0LnNpYmxpbmc9bnVsbH1yZXR1cm4gbi5jaGlsZH1mdW5jdGlvbiBqbyhlLG4pe2lmKCFsYSlzd2l0Y2goZS50YWlsTW9kZSl7Y2FzZSJoaWRkZW4iOm49ZS50YWlsO2Zvcih2YXIgdD1udWxsO251bGwhPT1uOyludWxsIT09bi5hbHRlcm5hdGUmJih0PW4pLG49bi5zaWJsaW5nO251bGw9PT10P2UudGFpbD1udWxsOnQuc2libGluZz1udWxsO2JyZWFrO2Nhc2UiY29sbGFwc2VkIjp0PWUudGFpbDtmb3IodmFyIHI9bnVsbDtudWxsIT09dDspbnVsbCE9PXQuYWx0ZXJuYXRlJiYocj10KSx0PXQuc2libGluZztudWxsPT09cj9ufHxudWxsPT09ZS50YWlsP2UudGFpbD1udWxsOmUudGFpbC5zaWJsaW5nPW51bGw6ci5zaWJsaW5nPW51bGx9fWZ1bmN0aW9uICRvKGUpe3ZhciBuPW51bGwhPT1lLmFsdGVybmF0ZSYmZS5hbHRlcm5hdGUuY2hpbGQ9PT1lLmNoaWxkLHQ9MCxyPTA7aWYobilmb3IodmFyIGw9ZS5jaGlsZDtudWxsIT09bDspdHw9bC5sYW5lc3xsLmNoaWxkTGFuZXMscnw9MTQ2ODAwNjQmbC5zdWJ0cmVlRmxhZ3Mscnw9MTQ2ODAwNjQmbC5mbGFncyxsLnJldHVybj1lLGw9bC5zaWJsaW5nO2Vsc2UgZm9yKGw9ZS5jaGlsZDtudWxsIT09bDspdHw9bC5sYW5lc3xsLmNoaWxkTGFuZXMscnw9bC5zdWJ0cmVlRmxhZ3Mscnw9bC5mbGFncyxsLnJldHVybj1lLGw9bC5zaWJsaW5nO3JldHVybiBlLnN1YnRyZWVGbGFnc3w9cixlLmNoaWxkTGFuZXM9dCxufWZ1bmN0aW9uIHFvKGUsbix0KXt2YXIgcj1uLnBlbmRpbmdQcm9wcztzd2l0Y2gobmEobiksbi50YWcpe2Nhc2UgMjpjYXNlIDE2OmNhc2UgMTU6Y2FzZSAwOmNhc2UgMTE6Y2FzZSA3OmNhc2UgODpjYXNlIDEyOmNhc2UgOTpjYXNlIDE0OnJldHVybiAkbyhuKSxudWxsO2Nhc2UgMTpjYXNlIDE3OnJldHVybiBNbChuLnR5cGUpJiZGbCgpLCRvKG4pLG51bGw7Y2FzZSAzOnJldHVybiByPW4uc3RhdGVOb2RlLGx1KCksQ2woUGwpLENsKF9sKSxjdSgpLHIucGVuZGluZ0NvbnRleHQmJihyLmNvbnRleHQ9ci5wZW5kaW5nQ29udGV4dCxyLnBlbmRpbmdDb250ZXh0PW51bGwpLG51bGwhPT1lJiZudWxsIT09ZS5jaGlsZHx8KGZhKG4pP24uZmxhZ3N8PTQ6bnVsbD09PWV8fGUubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQmJiEoMjU2Jm4uZmxhZ3MpfHwobi5mbGFnc3w9MTAyNCxudWxsIT09YWEmJih1cyhhYSksYWE9bnVsbCkpKSwkbyhuKSxudWxsO2Nhc2UgNTp1dShuKTt2YXIgbD10dShudS5jdXJyZW50KTtpZih0PW4udHlwZSxudWxsIT09ZSYmbnVsbCE9bi5zdGF0ZU5vZGUpRm8oZSxuLHQsciksZS5yZWYhPT1uLnJlZiYmKG4uZmxhZ3N8PTUxMixuLmZsYWdzfD0yMDk3MTUyKTtlbHNle2lmKCFyKXtpZihudWxsPT09bi5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IoYSgxNjYpKTtyZXR1cm4gJG8obiksbnVsbH1pZihlPXR1KEphLmN1cnJlbnQpLGZhKG4pKXtyPW4uc3RhdGVOb2RlLHQ9bi50eXBlO3ZhciB1PW4ubWVtb2l6ZWRQcm9wcztzd2l0Y2gocltkbF09bixyW3BsXT11LGU9ISEoMSZuLm1vZGUpLHQpe2Nhc2UiZGlhbG9nIjpWcigiY2FuY2VsIixyKSxWcigiY2xvc2UiLHIpO2JyZWFrO2Nhc2UiaWZyYW1lIjpjYXNlIm9iamVjdCI6Y2FzZSJlbWJlZCI6VnIoImxvYWQiLHIpO2JyZWFrO2Nhc2UidmlkZW8iOmNhc2UiYXVkaW8iOmZvcihsPTA7bDxEci5sZW5ndGg7bCsrKVZyKERyW2xdLHIpO2JyZWFrO2Nhc2Uic291cmNlIjpWcigiZXJyb3IiLHIpO2JyZWFrO2Nhc2UiaW1nIjpjYXNlImltYWdlIjpjYXNlImxpbmsiOlZyKCJlcnJvciIsciksVnIoImxvYWQiLHIpO2JyZWFrO2Nhc2UiZGV0YWlscyI6VnIoInRvZ2dsZSIscik7YnJlYWs7Y2FzZSJpbnB1dCI6WChyLHUpLFZyKCJpbnZhbGlkIixyKTticmVhaztjYXNlInNlbGVjdCI6ci5fd3JhcHBlclN0YXRlPXt3YXNNdWx0aXBsZTohIXUubXVsdGlwbGV9LFZyKCJpbnZhbGlkIixyKTticmVhaztjYXNlInRleHRhcmVhIjpsZShyLHUpLFZyKCJpbnZhbGlkIixyKX1mb3IodmFyIGkgaW4geWUodCx1KSxsPW51bGwsdSlpZih1Lmhhc093blByb3BlcnR5KGkpKXt2YXIgcz11W2ldOyJjaGlsZHJlbiI9PT1pPyJzdHJpbmciPT10eXBlb2Ygcz9yLnRleHRDb250ZW50IT09cyYmKCEwIT09dS5zdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmcmJlpyKHIudGV4dENvbnRlbnQscyxlKSxsPVsiY2hpbGRyZW4iLHNdKToibnVtYmVyIj09dHlwZW9mIHMmJnIudGV4dENvbnRlbnQhPT0iIitzJiYoITAhPT11LnN1cHByZXNzSHlkcmF0aW9uV2FybmluZyYmWnIoci50ZXh0Q29udGVudCxzLGUpLGw9WyJjaGlsZHJlbiIsIiIrc10pOm8uaGFzT3duUHJvcGVydHkoaSkmJm51bGwhPXMmJiJvblNjcm9sbCI9PT1pJiZWcigic2Nyb2xsIixyKX1zd2l0Y2godCl7Y2FzZSJpbnB1dCI6JChyKSxKKHIsdSwhMCk7YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6JChyKSx1ZShyKTticmVhaztjYXNlInNlbGVjdCI6Y2FzZSJvcHRpb24iOmJyZWFrO2RlZmF1bHQ6ImZ1bmN0aW9uIj09dHlwZW9mIHUub25DbGljayYmKHIub25jbGljaz1Kcil9cj1sLG4udXBkYXRlUXVldWU9cixudWxsIT09ciYmKG4uZmxhZ3N8PTQpfWVsc2V7Cmk9OT09PWwubm9kZVR5cGU/bDpsLm93bmVyRG9jdW1lbnQsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPT09ZSYmKGU9b2UodCkpLCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj09PWU/InNjcmlwdCI9PT10PygoZT1pLmNyZWF0ZUVsZW1lbnQoImRpdiIpKS5pbm5lckhUTUw9IjxzY3JpcHQ+PFwvc2NyaXB0PiIsZT1lLnJlbW92ZUNoaWxkKGUuZmlyc3RDaGlsZCkpOiJzdHJpbmciPT10eXBlb2Ygci5pcz9lPWkuY3JlYXRlRWxlbWVudCh0LHtpczpyLmlzfSk6KGU9aS5jcmVhdGVFbGVtZW50KHQpLCJzZWxlY3QiPT09dCYmKGk9ZSxyLm11bHRpcGxlP2kubXVsdGlwbGU9ITA6ci5zaXplJiYoaS5zaXplPXIuc2l6ZSkpKTplPWkuY3JlYXRlRWxlbWVudE5TKGUsdCksZVtkbF09bixlW3BsXT1yLE1vKGUsbiksbi5zdGF0ZU5vZGU9ZTtlOntzd2l0Y2goaT1iZSh0LHIpLHQpe2Nhc2UiZGlhbG9nIjpWcigiY2FuY2VsIixlKSxWcigiY2xvc2UiLGUpLGw9cjticmVhaztjYXNlImlmcmFtZSI6Y2FzZSJvYmplY3QiOmNhc2UiZW1iZWQiOlZyKCJsb2FkIixlKSxsPXI7YnJlYWs7Y2FzZSJ2aWRlbyI6Y2FzZSJhdWRpbyI6Zm9yKGw9MDtsPERyLmxlbmd0aDtsKyspVnIoRHJbbF0sZSk7bD1yO2JyZWFrO2Nhc2Uic291cmNlIjpWcigiZXJyb3IiLGUpLGw9cjticmVhaztjYXNlImltZyI6Y2FzZSJpbWFnZSI6Y2FzZSJsaW5rIjpWcigiZXJyb3IiLGUpLFZyKCJsb2FkIixlKSxsPXI7YnJlYWs7Y2FzZSJkZXRhaWxzIjpWcigidG9nZ2xlIixlKSxsPXI7YnJlYWs7Y2FzZSJpbnB1dCI6WChlLHIpLGw9WShlLHIpLFZyKCJpbnZhbGlkIixlKTticmVhaztjYXNlIm9wdGlvbiI6ZGVmYXVsdDpsPXI7YnJlYWs7Y2FzZSJzZWxlY3QiOmUuX3dyYXBwZXJTdGF0ZT17d2FzTXVsdGlwbGU6ISFyLm11bHRpcGxlfSxsPU8oe30scix7dmFsdWU6dm9pZCAwfSksVnIoImludmFsaWQiLGUpO2JyZWFrO2Nhc2UidGV4dGFyZWEiOmxlKGUsciksbD1yZShlLHIpLFZyKCJpbnZhbGlkIixlKX1mb3IodSBpbiB5ZSh0LGwpLHM9bClpZihzLmhhc093blByb3BlcnR5KHUpKXt2YXIgYz1zW3VdOyJzdHlsZSI9PT11P2dlKGUsYyk6ImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj09PXU/bnVsbCE9KGM9Yz9jLl9faHRtbDp2b2lkIDApJiZmZShlLGMpOiJjaGlsZHJlbiI9PT11PyJzdHJpbmciPT10eXBlb2YgYz8oInRleHRhcmVhIiE9PXR8fCIiIT09YykmJmRlKGUsYyk6Im51bWJlciI9PXR5cGVvZiBjJiZkZShlLCIiK2MpOiJzdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmciIT09dSYmInN1cHByZXNzSHlkcmF0aW9uV2FybmluZyIhPT11JiYiYXV0b0ZvY3VzIiE9PXUmJihvLmhhc093blByb3BlcnR5KHUpP251bGwhPWMmJiJvblNjcm9sbCI9PT11JiZWcigic2Nyb2xsIixlKTpudWxsIT1jJiZiKGUsdSxjLGkpKX1zd2l0Y2godCl7Y2FzZSJpbnB1dCI6JChlKSxKKGUsciwhMSk7YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6JChlKSx1ZShlKTticmVhaztjYXNlIm9wdGlvbiI6bnVsbCE9ci52YWx1ZSYmZS5zZXRBdHRyaWJ1dGUoInZhbHVlIiwiIitRKHIudmFsdWUpKTticmVhaztjYXNlInNlbGVjdCI6ZS5tdWx0aXBsZT0hIXIubXVsdGlwbGUsbnVsbCE9KHU9ci52YWx1ZSk/dGUoZSwhIXIubXVsdGlwbGUsdSwhMSk6bnVsbCE9ci5kZWZhdWx0VmFsdWUmJnRlKGUsISFyLm11bHRpcGxlLHIuZGVmYXVsdFZhbHVlLCEwKTticmVhaztkZWZhdWx0OiJmdW5jdGlvbiI9PXR5cGVvZiBsLm9uQ2xpY2smJihlLm9uY2xpY2s9SnIpfXN3aXRjaCh0KXtjYXNlImJ1dHRvbiI6Y2FzZSJpbnB1dCI6Y2FzZSJzZWxlY3QiOmNhc2UidGV4dGFyZWEiOnI9ISFyLmF1dG9Gb2N1czticmVhayBlO2Nhc2UiaW1nIjpyPSEwO2JyZWFrIGU7ZGVmYXVsdDpyPSExfX1yJiYobi5mbGFnc3w9NCl9bnVsbCE9PW4ucmVmJiYobi5mbGFnc3w9NTEyLG4uZmxhZ3N8PTIwOTcxNTIpfXJldHVybiAkbyhuKSxudWxsO2Nhc2UgNjppZihlJiZudWxsIT1uLnN0YXRlTm9kZSlSbygwLG4sZS5tZW1vaXplZFByb3BzLHIpO2Vsc2V7aWYoInN0cmluZyIhPXR5cGVvZiByJiZudWxsPT09bi5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IoYSgxNjYpKTtpZih0PXR1KG51LmN1cnJlbnQpLHR1KEphLmN1cnJlbnQpLGZhKG4pKXtpZihyPW4uc3RhdGVOb2RlLHQ9bi5tZW1vaXplZFByb3BzLHJbZGxdPW4sKHU9ci5ub2RlVmFsdWUhPT10KSYmbnVsbCE9PShlPXRhKSlzd2l0Y2goZS50YWcpe2Nhc2UgMzpacihyLm5vZGVWYWx1ZSx0LCEhKDEmZS5tb2RlKSk7YnJlYWs7Y2FzZSA1OiEwIT09ZS5tZW1vaXplZFByb3BzLnN1cHByZXNzSHlkcmF0aW9uV2FybmluZyYmWnIoci5ub2RlVmFsdWUsdCwhISgxJmUubW9kZSkpfXUmJihuLmZsYWdzfD00KX1lbHNlKHI9KDk9PT10Lm5vZGVUeXBlP3Q6dC5vd25lckRvY3VtZW50KS5jcmVhdGVUZXh0Tm9kZShyKSlbZGxdPW4sbi5zdGF0ZU5vZGU9cn1yZXR1cm4gJG8obiksbnVsbDtjYXNlIDEzOmlmKENsKG91KSxyPW4ubWVtb2l6ZWRTdGF0ZSxudWxsPT09ZXx8bnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSYmbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZS5kZWh5ZHJhdGVkKXtpZihsYSYmbnVsbCE9PXJhJiYxJm4ubW9kZSYmISgxMjgmbi5mbGFncykpZGEoKSxwYSgpLG4uZmxhZ3N8PTk4NTYwLHU9ITE7ZWxzZSBpZih1PWZhKG4pLG51bGwhPT1yJiZudWxsIT09ci5kZWh5ZHJhdGVkKXtpZihudWxsPT09ZSl7aWYoIXUpdGhyb3cgRXJyb3IoYSgzMTgpKTtpZighKHU9bnVsbCE9PSh1PW4ubWVtb2l6ZWRTdGF0ZSk/dS5kZWh5ZHJhdGVkOm51bGwpKXRocm93IEVycm9yKGEoMzE3KSk7dVtkbF09bn1lbHNlIHBhKCksISgxMjgmbi5mbGFncykmJihuLm1lbW9pemVkU3RhdGU9bnVsbCksbi5mbGFnc3w9NDskbyhuKSx1PSExfWVsc2UgbnVsbCE9PWFhJiYodXMoYWEpLGFhPW51bGwpLHU9ITA7aWYoIXUpcmV0dXJuIDY1NTM2Jm4uZmxhZ3M/bjpudWxsfXJldHVybiAxMjgmbi5mbGFncz8obi5sYW5lcz10LG4pOigocj1udWxsIT09cikhPT0obnVsbCE9PWUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUpJiZyJiYobi5jaGlsZC5mbGFnc3w9ODE5MiwKMSZuLm1vZGUmJihudWxsPT09ZXx8MSZvdS5jdXJyZW50PzA9PT1SaSYmKFJpPTMpOmhzKCkpKSxudWxsIT09bi51cGRhdGVRdWV1ZSYmKG4uZmxhZ3N8PTQpLCRvKG4pLG51bGwpO2Nhc2UgNDpyZXR1cm4gbHUoKSxudWxsPT09ZSYmV3Iobi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyksJG8obiksbnVsbDtjYXNlIDEwOnJldHVybiBTYShuLnR5cGUuX2NvbnRleHQpLCRvKG4pLG51bGw7Y2FzZSAxOTppZihDbChvdSksbnVsbD09PSh1PW4ubWVtb2l6ZWRTdGF0ZSkpcmV0dXJuICRvKG4pLG51bGw7aWYocj0hISgxMjgmbi5mbGFncyksbnVsbD09PShpPXUucmVuZGVyaW5nKSlpZihyKWpvKHUsITEpO2Vsc2V7aWYoMCE9PVJpfHxudWxsIT09ZSYmMTI4JmUuZmxhZ3MpZm9yKGU9bi5jaGlsZDtudWxsIT09ZTspe2lmKG51bGwhPT0oaT1pdShlKSkpe2ZvcihuLmZsYWdzfD0xMjgsam8odSwhMSksbnVsbCE9PShyPWkudXBkYXRlUXVldWUpJiYobi51cGRhdGVRdWV1ZT1yLG4uZmxhZ3N8PTQpLG4uc3VidHJlZUZsYWdzPTAscj10LHQ9bi5jaGlsZDtudWxsIT09dDspZT1yLCh1PXQpLmZsYWdzJj0xNDY4MDA2NixudWxsPT09KGk9dS5hbHRlcm5hdGUpPyh1LmNoaWxkTGFuZXM9MCx1LmxhbmVzPWUsdS5jaGlsZD1udWxsLHUuc3VidHJlZUZsYWdzPTAsdS5tZW1vaXplZFByb3BzPW51bGwsdS5tZW1vaXplZFN0YXRlPW51bGwsdS51cGRhdGVRdWV1ZT1udWxsLHUuZGVwZW5kZW5jaWVzPW51bGwsdS5zdGF0ZU5vZGU9bnVsbCk6KHUuY2hpbGRMYW5lcz1pLmNoaWxkTGFuZXMsdS5sYW5lcz1pLmxhbmVzLHUuY2hpbGQ9aS5jaGlsZCx1LnN1YnRyZWVGbGFncz0wLHUuZGVsZXRpb25zPW51bGwsdS5tZW1vaXplZFByb3BzPWkubWVtb2l6ZWRQcm9wcyx1Lm1lbW9pemVkU3RhdGU9aS5tZW1vaXplZFN0YXRlLHUudXBkYXRlUXVldWU9aS51cGRhdGVRdWV1ZSx1LnR5cGU9aS50eXBlLGU9aS5kZXBlbmRlbmNpZXMsdS5kZXBlbmRlbmNpZXM9bnVsbD09PWU/bnVsbDp7bGFuZXM6ZS5sYW5lcyxmaXJzdENvbnRleHQ6ZS5maXJzdENvbnRleHR9KSx0PXQuc2libGluZztyZXR1cm4gemwob3UsMSZvdS5jdXJyZW50fDIpLG4uY2hpbGR9ZT1lLnNpYmxpbmd9bnVsbCE9PXUudGFpbCYmR2UoKT5XaSYmKG4uZmxhZ3N8PTEyOCxyPSEwLGpvKHUsITEpLG4ubGFuZXM9NDE5NDMwNCl9ZWxzZXtpZighcilpZihudWxsIT09KGU9aXUoaSkpKXtpZihuLmZsYWdzfD0xMjgscj0hMCxudWxsIT09KHQ9ZS51cGRhdGVRdWV1ZSkmJihuLnVwZGF0ZVF1ZXVlPXQsbi5mbGFnc3w9NCksam8odSwhMCksbnVsbD09PXUudGFpbCYmImhpZGRlbiI9PT11LnRhaWxNb2RlJiYhaS5hbHRlcm5hdGUmJiFsYSlyZXR1cm4gJG8obiksbnVsbH1lbHNlIDIqR2UoKS11LnJlbmRlcmluZ1N0YXJ0VGltZT5XaSYmMTA3Mzc0MTgyNCE9PXQmJihuLmZsYWdzfD0xMjgscj0hMCxqbyh1LCExKSxuLmxhbmVzPTQxOTQzMDQpO3UuaXNCYWNrd2FyZHM/KGkuc2libGluZz1uLmNoaWxkLG4uY2hpbGQ9aSk6KG51bGwhPT0odD11Lmxhc3QpP3Quc2libGluZz1pOm4uY2hpbGQ9aSx1Lmxhc3Q9aSl9cmV0dXJuIG51bGwhPT11LnRhaWw/KG49dS50YWlsLHUucmVuZGVyaW5nPW4sdS50YWlsPW4uc2libGluZyx1LnJlbmRlcmluZ1N0YXJ0VGltZT1HZSgpLG4uc2libGluZz1udWxsLHQ9b3UuY3VycmVudCx6bChvdSxyPzEmdHwyOjEmdCksbik6KCRvKG4pLG51bGwpO2Nhc2UgMjI6Y2FzZSAyMzpyZXR1cm4gZnMoKSxyPW51bGwhPT1uLm1lbW9pemVkU3RhdGUsbnVsbCE9PWUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUhPT1yJiYobi5mbGFnc3w9ODE5MiksciYmMSZuLm1vZGU/ISEoMTA3Mzc0MTgyNCZNaSkmJigkbyhuKSw2Jm4uc3VidHJlZUZsYWdzJiYobi5mbGFnc3w9ODE5MikpOiRvKG4pLG51bGw7Y2FzZSAyNDpjYXNlIDI1OnJldHVybiBudWxsfXRocm93IEVycm9yKGEoMTU2LG4udGFnKSl9ZnVuY3Rpb24gS28oZSxuKXtzd2l0Y2gobmEobiksbi50YWcpe2Nhc2UgMTpyZXR1cm4gTWwobi50eXBlKSYmRmwoKSw2NTUzNiYoZT1uLmZsYWdzKT8obi5mbGFncz0tNjU1MzcmZXwxMjgsbik6bnVsbDtjYXNlIDM6cmV0dXJuIGx1KCksQ2woUGwpLENsKF9sKSxjdSgpLDY1NTM2JihlPW4uZmxhZ3MpJiYhKDEyOCZlKT8obi5mbGFncz0tNjU1MzcmZXwxMjgsbik6bnVsbDtjYXNlIDU6cmV0dXJuIHV1KG4pLG51bGw7Y2FzZSAxMzppZihDbChvdSksbnVsbCE9PShlPW4ubWVtb2l6ZWRTdGF0ZSkmJm51bGwhPT1lLmRlaHlkcmF0ZWQpe2lmKG51bGw9PT1uLmFsdGVybmF0ZSl0aHJvdyBFcnJvcihhKDM0MCkpO3BhKCl9cmV0dXJuIDY1NTM2JihlPW4uZmxhZ3MpPyhuLmZsYWdzPS02NTUzNyZlfDEyOCxuKTpudWxsO2Nhc2UgMTk6cmV0dXJuIENsKG91KSxudWxsO2Nhc2UgNDpyZXR1cm4gbHUoKSxudWxsO2Nhc2UgMTA6cmV0dXJuIFNhKG4udHlwZS5fY29udGV4dCksbnVsbDtjYXNlIDIyOmNhc2UgMjM6cmV0dXJuIGZzKCksbnVsbDtkZWZhdWx0OnJldHVybiBudWxsfX1Nbz1mdW5jdGlvbihlLG4pe2Zvcih2YXIgdD1uLmNoaWxkO251bGwhPT10Oyl7aWYoNT09PXQudGFnfHw2PT09dC50YWcpZS5hcHBlbmRDaGlsZCh0LnN0YXRlTm9kZSk7ZWxzZSBpZig0IT09dC50YWcmJm51bGwhPT10LmNoaWxkKXt0LmNoaWxkLnJldHVybj10LHQ9dC5jaGlsZDtjb250aW51ZX1pZih0PT09bilicmVhaztmb3IoO251bGw9PT10LnNpYmxpbmc7KXtpZihudWxsPT09dC5yZXR1cm58fHQucmV0dXJuPT09bilyZXR1cm47dD10LnJldHVybn10LnNpYmxpbmcucmV0dXJuPXQucmV0dXJuLHQ9dC5zaWJsaW5nfX0sRm89ZnVuY3Rpb24oZSxuLHQscil7dmFyIGw9ZS5tZW1vaXplZFByb3BzO2lmKGwhPT1yKXtlPW4uc3RhdGVOb2RlLHR1KEphLmN1cnJlbnQpO3ZhciBhLHU9bnVsbDtzd2l0Y2godCl7Y2FzZSJpbnB1dCI6bD1ZKGUsbCkscj1ZKGUsciksdT1bXTticmVhaztjYXNlInNlbGVjdCI6bD1PKHt9LGwse3ZhbHVlOnZvaWQgMH0pLHI9Tyh7fSxyLHt2YWx1ZTp2b2lkIDB9KSx1PVtdO2JyZWFrO2Nhc2UidGV4dGFyZWEiOmw9cmUoZSxsKSxyPXJlKGUsciksdT1bXTticmVhawo7ZGVmYXVsdDoiZnVuY3Rpb24iIT10eXBlb2YgbC5vbkNsaWNrJiYiZnVuY3Rpb24iPT10eXBlb2Ygci5vbkNsaWNrJiYoZS5vbmNsaWNrPUpyKX1mb3IoYyBpbiB5ZSh0LHIpLHQ9bnVsbCxsKWlmKCFyLmhhc093blByb3BlcnR5KGMpJiZsLmhhc093blByb3BlcnR5KGMpJiZudWxsIT1sW2NdKWlmKCJzdHlsZSI9PT1jKXt2YXIgaT1sW2NdO2ZvcihhIGluIGkpaS5oYXNPd25Qcm9wZXJ0eShhKSYmKHR8fCh0PXt9KSx0W2FdPSIiKX1lbHNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiE9PWMmJiJjaGlsZHJlbiIhPT1jJiYic3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nIiE9PWMmJiJzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmciIT09YyYmImF1dG9Gb2N1cyIhPT1jJiYoby5oYXNPd25Qcm9wZXJ0eShjKT91fHwodT1bXSk6KHU9dXx8W10pLnB1c2goYyxudWxsKSk7Zm9yKGMgaW4gcil7dmFyIHM9cltjXTtpZihpPW51bGwhPWw/bFtjXTp2b2lkIDAsci5oYXNPd25Qcm9wZXJ0eShjKSYmcyE9PWkmJihudWxsIT1zfHxudWxsIT1pKSlpZigic3R5bGUiPT09YylpZihpKXtmb3IoYSBpbiBpKSFpLmhhc093blByb3BlcnR5KGEpfHxzJiZzLmhhc093blByb3BlcnR5KGEpfHwodHx8KHQ9e30pLHRbYV09IiIpO2ZvcihhIGluIHMpcy5oYXNPd25Qcm9wZXJ0eShhKSYmaVthXSE9PXNbYV0mJih0fHwodD17fSksdFthXT1zW2FdKX1lbHNlIHR8fCh1fHwodT1bXSksdS5wdXNoKGMsdCkpLHQ9cztlbHNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj09PWM/KHM9cz9zLl9faHRtbDp2b2lkIDAsaT1pP2kuX19odG1sOnZvaWQgMCxudWxsIT1zJiZpIT09cyYmKHU9dXx8W10pLnB1c2goYyxzKSk6ImNoaWxkcmVuIj09PWM/InN0cmluZyIhPXR5cGVvZiBzJiYibnVtYmVyIiE9dHlwZW9mIHN8fCh1PXV8fFtdKS5wdXNoKGMsIiIrcyk6InN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyIhPT1jJiYic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIiE9PWMmJihvLmhhc093blByb3BlcnR5KGMpPyhudWxsIT1zJiYib25TY3JvbGwiPT09YyYmVnIoInNjcm9sbCIsZSksdXx8aT09PXN8fCh1PVtdKSk6KHU9dXx8W10pLnB1c2goYyxzKSl9dCYmKHU9dXx8W10pLnB1c2goInN0eWxlIix0KTt2YXIgYz11OyhuLnVwZGF0ZVF1ZXVlPWMpJiYobi5mbGFnc3w9NCl9fSxSbz1mdW5jdGlvbihlLG4sdCxyKXt0IT09ciYmKG4uZmxhZ3N8PTQpfTt2YXIgWW89ITEsWG89ITEsR289ImZ1bmN0aW9uIj09dHlwZW9mIFdlYWtTZXQ/V2Vha1NldDpTZXQsWm89bnVsbDtmdW5jdGlvbiBKbyhlLG4pe3ZhciB0PWUucmVmO2lmKG51bGwhPT10KWlmKCJmdW5jdGlvbiI9PXR5cGVvZiB0KXRyeXt0KG51bGwpfWNhdGNoKHQpe0VzKGUsbix0KX1lbHNlIHQuY3VycmVudD1udWxsfWZ1bmN0aW9uIGVpKGUsbix0KXt0cnl7dCgpfWNhdGNoKHQpe0VzKGUsbix0KX19dmFyIG5pPSExO2Z1bmN0aW9uIHRpKGUsbix0KXt2YXIgcj1uLnVwZGF0ZVF1ZXVlO2lmKG51bGwhPT0ocj1udWxsIT09cj9yLmxhc3RFZmZlY3Q6bnVsbCkpe3ZhciBsPXI9ci5uZXh0O2Rve2lmKChsLnRhZyZlKT09PWUpe3ZhciBhPWwuZGVzdHJveTtsLmRlc3Ryb3k9dm9pZCAwLHZvaWQgMCE9PWEmJmVpKG4sdCxhKX1sPWwubmV4dH13aGlsZShsIT09cil9fWZ1bmN0aW9uIHJpKGUsbil7aWYobnVsbCE9PShuPW51bGwhPT0obj1uLnVwZGF0ZVF1ZXVlKT9uLmxhc3RFZmZlY3Q6bnVsbCkpe3ZhciB0PW49bi5uZXh0O2Rve2lmKCh0LnRhZyZlKT09PWUpe3ZhciByPXQuY3JlYXRlO3QuZGVzdHJveT1yKCl9dD10Lm5leHR9d2hpbGUodCE9PW4pfX1mdW5jdGlvbiBsaShlKXt2YXIgbj1lLnJlZjtpZihudWxsIT09bil7dmFyIHQ9ZS5zdGF0ZU5vZGU7ZS50YWcsZT10LCJmdW5jdGlvbiI9PXR5cGVvZiBuP24oZSk6bi5jdXJyZW50PWV9fWZ1bmN0aW9uIGFpKGUpe3ZhciBuPWUuYWx0ZXJuYXRlO251bGwhPT1uJiYoZS5hbHRlcm5hdGU9bnVsbCxhaShuKSksZS5jaGlsZD1udWxsLGUuZGVsZXRpb25zPW51bGwsZS5zaWJsaW5nPW51bGwsNT09PWUudGFnJiYobnVsbCE9PShuPWUuc3RhdGVOb2RlKSYmKGRlbGV0ZSBuW2RsXSxkZWxldGUgbltwbF0sZGVsZXRlIG5baGxdLGRlbGV0ZSBuW2dsXSxkZWxldGUgblt2bF0pKSxlLnN0YXRlTm9kZT1udWxsLGUucmV0dXJuPW51bGwsZS5kZXBlbmRlbmNpZXM9bnVsbCxlLm1lbW9pemVkUHJvcHM9bnVsbCxlLm1lbW9pemVkU3RhdGU9bnVsbCxlLnBlbmRpbmdQcm9wcz1udWxsLGUuc3RhdGVOb2RlPW51bGwsZS51cGRhdGVRdWV1ZT1udWxsfWZ1bmN0aW9uIHVpKGUpe3JldHVybiA1PT09ZS50YWd8fDM9PT1lLnRhZ3x8ND09PWUudGFnfWZ1bmN0aW9uIG9pKGUpe2U6Zm9yKDs7KXtmb3IoO251bGw9PT1lLnNpYmxpbmc7KXtpZihudWxsPT09ZS5yZXR1cm58fHVpKGUucmV0dXJuKSlyZXR1cm4gbnVsbDtlPWUucmV0dXJufWZvcihlLnNpYmxpbmcucmV0dXJuPWUucmV0dXJuLGU9ZS5zaWJsaW5nOzUhPT1lLnRhZyYmNiE9PWUudGFnJiYxOCE9PWUudGFnOyl7aWYoMiZlLmZsYWdzKWNvbnRpbnVlIGU7aWYobnVsbD09PWUuY2hpbGR8fDQ9PT1lLnRhZyljb250aW51ZSBlO2UuY2hpbGQucmV0dXJuPWUsZT1lLmNoaWxkfWlmKCEoMiZlLmZsYWdzKSlyZXR1cm4gZS5zdGF0ZU5vZGV9fWZ1bmN0aW9uIGlpKGUsbix0KXt2YXIgcj1lLnRhZztpZig1PT09cnx8Nj09PXIpZT1lLnN0YXRlTm9kZSxuPzg9PT10Lm5vZGVUeXBlP3QucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSxuKTp0Lmluc2VydEJlZm9yZShlLG4pOig4PT09dC5ub2RlVHlwZT8obj10LnBhcmVudE5vZGUpLmluc2VydEJlZm9yZShlLHQpOihuPXQpLmFwcGVuZENoaWxkKGUpLG51bGwhPSh0PXQuX3JlYWN0Um9vdENvbnRhaW5lcil8fG51bGwhPT1uLm9uY2xpY2t8fChuLm9uY2xpY2s9SnIpKTtlbHNlIGlmKDQhPT1yJiZudWxsIT09KGU9ZS5jaGlsZCkpZm9yKGlpKGUsbix0KSxlPWUuc2libGluZztudWxsIT09ZTspaWkoZSxuLHQpLGU9ZS5zaWJsaW5nfWZ1bmN0aW9uIHNpKGUsbix0KXt2YXIgcj1lLnRhZztpZig1PT09cnx8Nj09PXIpZT1lLnN0YXRlTm9kZSwKbj90Lmluc2VydEJlZm9yZShlLG4pOnQuYXBwZW5kQ2hpbGQoZSk7ZWxzZSBpZig0IT09ciYmbnVsbCE9PShlPWUuY2hpbGQpKWZvcihzaShlLG4sdCksZT1lLnNpYmxpbmc7bnVsbCE9PWU7KXNpKGUsbix0KSxlPWUuc2libGluZ312YXIgY2k9bnVsbCxmaT0hMTtmdW5jdGlvbiBkaShlLG4sdCl7Zm9yKHQ9dC5jaGlsZDtudWxsIT09dDspcGkoZSxuLHQpLHQ9dC5zaWJsaW5nfWZ1bmN0aW9uIHBpKGUsbix0KXtpZihhbiYmImZ1bmN0aW9uIj09dHlwZW9mIGFuLm9uQ29tbWl0RmliZXJVbm1vdW50KXRyeXthbi5vbkNvbW1pdEZpYmVyVW5tb3VudChsbix0KX1jYXRjaChlKXt9c3dpdGNoKHQudGFnKXtjYXNlIDU6WG98fEpvKHQsbik7Y2FzZSA2OnZhciByPWNpLGw9Zmk7Y2k9bnVsbCxkaShlLG4sdCksZmk9bCxudWxsIT09KGNpPXIpJiYoZmk/KGU9Y2ksdD10LnN0YXRlTm9kZSw4PT09ZS5ub2RlVHlwZT9lLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCk6ZS5yZW1vdmVDaGlsZCh0KSk6Y2kucmVtb3ZlQ2hpbGQodC5zdGF0ZU5vZGUpKTticmVhaztjYXNlIDE4Om51bGwhPT1jaSYmKGZpPyhlPWNpLHQ9dC5zdGF0ZU5vZGUsOD09PWUubm9kZVR5cGU/aWwoZS5wYXJlbnROb2RlLHQpOjE9PT1lLm5vZGVUeXBlJiZpbChlLHQpLEhuKGUpKTppbChjaSx0LnN0YXRlTm9kZSkpO2JyZWFrO2Nhc2UgNDpyPWNpLGw9ZmksY2k9dC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyxmaT0hMCxkaShlLG4sdCksY2k9cixmaT1sO2JyZWFrO2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTppZighWG8mJihudWxsIT09KHI9dC51cGRhdGVRdWV1ZSkmJm51bGwhPT0ocj1yLmxhc3RFZmZlY3QpKSl7bD1yPXIubmV4dDtkb3t2YXIgYT1sLHU9YS5kZXN0cm95O2E9YS50YWcsdm9pZCAwIT09dSYmKDImYXx8NCZhKSYmZWkodCxuLHUpLGw9bC5uZXh0fXdoaWxlKGwhPT1yKX1kaShlLG4sdCk7YnJlYWs7Y2FzZSAxOmlmKCFYbyYmKEpvKHQsbiksImZ1bmN0aW9uIj09dHlwZW9mKHI9dC5zdGF0ZU5vZGUpLmNvbXBvbmVudFdpbGxVbm1vdW50KSl0cnl7ci5wcm9wcz10Lm1lbW9pemVkUHJvcHMsci5zdGF0ZT10Lm1lbW9pemVkU3RhdGUsci5jb21wb25lbnRXaWxsVW5tb3VudCgpfWNhdGNoKGUpe0VzKHQsbixlKX1kaShlLG4sdCk7YnJlYWs7Y2FzZSAyMTpkaShlLG4sdCk7YnJlYWs7Y2FzZSAyMjoxJnQubW9kZT8oWG89KHI9WG8pfHxudWxsIT09dC5tZW1vaXplZFN0YXRlLGRpKGUsbix0KSxYbz1yKTpkaShlLG4sdCk7YnJlYWs7ZGVmYXVsdDpkaShlLG4sdCl9fWZ1bmN0aW9uIG1pKGUpe3ZhciBuPWUudXBkYXRlUXVldWU7aWYobnVsbCE9PW4pe2UudXBkYXRlUXVldWU9bnVsbDt2YXIgdD1lLnN0YXRlTm9kZTtudWxsPT09dCYmKHQ9ZS5zdGF0ZU5vZGU9bmV3IEdvKSxuLmZvckVhY2goKGZ1bmN0aW9uKG4pe3ZhciByPV9zLmJpbmQobnVsbCxlLG4pO3QuaGFzKG4pfHwodC5hZGQobiksbi50aGVuKHIscikpfSkpfX1mdW5jdGlvbiBoaShlLG4pe3ZhciB0PW4uZGVsZXRpb25zO2lmKG51bGwhPT10KWZvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbD10W3JdO3RyeXt2YXIgdT1lLG89bixpPW87ZTpmb3IoO251bGwhPT1pOyl7c3dpdGNoKGkudGFnKXtjYXNlIDU6Y2k9aS5zdGF0ZU5vZGUsZmk9ITE7YnJlYWsgZTtjYXNlIDM6Y2FzZSA0OmNpPWkuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8sZmk9ITA7YnJlYWsgZX1pPWkucmV0dXJufWlmKG51bGw9PT1jaSl0aHJvdyBFcnJvcihhKDE2MCkpO3BpKHUsbyxsKSxjaT1udWxsLGZpPSExO3ZhciBzPWwuYWx0ZXJuYXRlO251bGwhPT1zJiYocy5yZXR1cm49bnVsbCksbC5yZXR1cm49bnVsbH1jYXRjaChlKXtFcyhsLG4sZSl9fWlmKDEyODU0Jm4uc3VidHJlZUZsYWdzKWZvcihuPW4uY2hpbGQ7bnVsbCE9PW47KWdpKG4sZSksbj1uLnNpYmxpbmd9ZnVuY3Rpb24gZ2koZSxuKXt2YXIgdD1lLmFsdGVybmF0ZSxyPWUuZmxhZ3M7c3dpdGNoKGUudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE0OmNhc2UgMTU6aWYoaGkobixlKSx2aShlKSw0JnIpe3RyeXt0aSgzLGUsZS5yZXR1cm4pLHJpKDMsZSl9Y2F0Y2gobil7RXMoZSxlLnJldHVybixuKX10cnl7dGkoNSxlLGUucmV0dXJuKX1jYXRjaChuKXtFcyhlLGUucmV0dXJuLG4pfX1icmVhaztjYXNlIDE6aGkobixlKSx2aShlKSw1MTImciYmbnVsbCE9PXQmJkpvKHQsdC5yZXR1cm4pO2JyZWFrO2Nhc2UgNTppZihoaShuLGUpLHZpKGUpLDUxMiZyJiZudWxsIT09dCYmSm8odCx0LnJldHVybiksMzImZS5mbGFncyl7dmFyIGw9ZS5zdGF0ZU5vZGU7dHJ5e2RlKGwsIiIpfWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9fWlmKDQmciYmbnVsbCE9KGw9ZS5zdGF0ZU5vZGUpKXt2YXIgdT1lLm1lbW9pemVkUHJvcHMsbz1udWxsIT09dD90Lm1lbW9pemVkUHJvcHM6dSxpPWUudHlwZSxzPWUudXBkYXRlUXVldWU7aWYoZS51cGRhdGVRdWV1ZT1udWxsLG51bGwhPT1zKXRyeXsiaW5wdXQiPT09aSYmInJhZGlvIj09PXUudHlwZSYmbnVsbCE9dS5uYW1lJiZHKGwsdSksYmUoaSxvKTt2YXIgYz1iZShpLHUpO2ZvcihvPTA7bzxzLmxlbmd0aDtvKz0yKXt2YXIgZj1zW29dLGQ9c1tvKzFdOyJzdHlsZSI9PT1mP2dlKGwsZCk6ImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj09PWY/ZmUobCxkKToiY2hpbGRyZW4iPT09Zj9kZShsLGQpOmIobCxmLGQsYyl9c3dpdGNoKGkpe2Nhc2UiaW5wdXQiOloobCx1KTticmVhaztjYXNlInRleHRhcmVhIjphZShsLHUpO2JyZWFrO2Nhc2Uic2VsZWN0Ijp2YXIgcD1sLl93cmFwcGVyU3RhdGUud2FzTXVsdGlwbGU7bC5fd3JhcHBlclN0YXRlLndhc011bHRpcGxlPSEhdS5tdWx0aXBsZTt2YXIgbT11LnZhbHVlO251bGwhPW0/dGUobCwhIXUubXVsdGlwbGUsbSwhMSk6cCE9PSEhdS5tdWx0aXBsZSYmKG51bGwhPXUuZGVmYXVsdFZhbHVlP3RlKGwsISF1Lm11bHRpcGxlLHUuZGVmYXVsdFZhbHVlLCEwKTp0ZShsLCEhdS5tdWx0aXBsZSx1Lm11bHRpcGxlP1tdOiIiLCExKSl9bFtwbF09dX1jYXRjaChuKXtFcyhlLGUucmV0dXJuLG4pfX1icmVhaztjYXNlIDY6aWYoaGkobixlKSx2aShlKSw0JnIpewppZihudWxsPT09ZS5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IoYSgxNjIpKTtsPWUuc3RhdGVOb2RlLHU9ZS5tZW1vaXplZFByb3BzO3RyeXtsLm5vZGVWYWx1ZT11fWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9fWJyZWFrO2Nhc2UgMzppZihoaShuLGUpLHZpKGUpLDQmciYmbnVsbCE9PXQmJnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpdHJ5e0huKG4uY29udGFpbmVySW5mbyl9Y2F0Y2gobil7RXMoZSxlLnJldHVybixuKX1icmVhaztjYXNlIDQ6ZGVmYXVsdDpoaShuLGUpLHZpKGUpO2JyZWFrO2Nhc2UgMTM6aGkobixlKSx2aShlKSw4MTkyJihsPWUuY2hpbGQpLmZsYWdzJiYodT1udWxsIT09bC5tZW1vaXplZFN0YXRlLGwuc3RhdGVOb2RlLmlzSGlkZGVuPXUsIXV8fG51bGwhPT1sLmFsdGVybmF0ZSYmbnVsbCE9PWwuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGV8fChCaT1HZSgpKSksNCZyJiZtaShlKTticmVhaztjYXNlIDIyOmlmKGY9bnVsbCE9PXQmJm51bGwhPT10Lm1lbW9pemVkU3RhdGUsMSZlLm1vZGU/KFhvPShjPVhvKXx8ZixoaShuLGUpLFhvPWMpOmhpKG4sZSksdmkoZSksODE5MiZyKXtpZihjPW51bGwhPT1lLm1lbW9pemVkU3RhdGUsKGUuc3RhdGVOb2RlLmlzSGlkZGVuPWMpJiYhZiYmMSZlLm1vZGUpZm9yKFpvPWUsZj1lLmNoaWxkO251bGwhPT1mOyl7Zm9yKGQ9Wm89ZjtudWxsIT09Wm87KXtzd2l0Y2gobT0ocD1abykuY2hpbGQscC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTp0aSg0LHAscC5yZXR1cm4pO2JyZWFrO2Nhc2UgMTpKbyhwLHAucmV0dXJuKTt2YXIgaD1wLnN0YXRlTm9kZTtpZigiZnVuY3Rpb24iPT10eXBlb2YgaC5jb21wb25lbnRXaWxsVW5tb3VudCl7cj1wLHQ9cC5yZXR1cm47dHJ5e249cixoLnByb3BzPW4ubWVtb2l6ZWRQcm9wcyxoLnN0YXRlPW4ubWVtb2l6ZWRTdGF0ZSxoLmNvbXBvbmVudFdpbGxVbm1vdW50KCl9Y2F0Y2goZSl7RXMocix0LGUpfX1icmVhaztjYXNlIDU6Sm8ocCxwLnJldHVybik7YnJlYWs7Y2FzZSAyMjppZihudWxsIT09cC5tZW1vaXplZFN0YXRlKXt3aShkKTtjb250aW51ZX19bnVsbCE9PW0/KG0ucmV0dXJuPXAsWm89bSk6d2koZCl9Zj1mLnNpYmxpbmd9ZTpmb3IoZj1udWxsLGQ9ZTs7KXtpZig1PT09ZC50YWcpe2lmKG51bGw9PT1mKXtmPWQ7dHJ5e2w9ZC5zdGF0ZU5vZGUsYz8iZnVuY3Rpb24iPT10eXBlb2YodT1sLnN0eWxlKS5zZXRQcm9wZXJ0eT91LnNldFByb3BlcnR5KCJkaXNwbGF5Iiwibm9uZSIsImltcG9ydGFudCIpOnUuZGlzcGxheT0ibm9uZSI6KGk9ZC5zdGF0ZU5vZGUsbz1udWxsIT0ocz1kLm1lbW9pemVkUHJvcHMuc3R5bGUpJiZzLmhhc093blByb3BlcnR5KCJkaXNwbGF5Iik/cy5kaXNwbGF5Om51bGwsaS5zdHlsZS5kaXNwbGF5PWhlKCJkaXNwbGF5IixvKSl9Y2F0Y2gobil7RXMoZSxlLnJldHVybixuKX19fWVsc2UgaWYoNj09PWQudGFnKXtpZihudWxsPT09Zil0cnl7ZC5zdGF0ZU5vZGUubm9kZVZhbHVlPWM/IiI6ZC5tZW1vaXplZFByb3BzfWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9fWVsc2UgaWYoKDIyIT09ZC50YWcmJjIzIT09ZC50YWd8fG51bGw9PT1kLm1lbW9pemVkU3RhdGV8fGQ9PT1lKSYmbnVsbCE9PWQuY2hpbGQpe2QuY2hpbGQucmV0dXJuPWQsZD1kLmNoaWxkO2NvbnRpbnVlfWlmKGQ9PT1lKWJyZWFrIGU7Zm9yKDtudWxsPT09ZC5zaWJsaW5nOyl7aWYobnVsbD09PWQucmV0dXJufHxkLnJldHVybj09PWUpYnJlYWsgZTtmPT09ZCYmKGY9bnVsbCksZD1kLnJldHVybn1mPT09ZCYmKGY9bnVsbCksZC5zaWJsaW5nLnJldHVybj1kLnJldHVybixkPWQuc2libGluZ319YnJlYWs7Y2FzZSAxOTpoaShuLGUpLHZpKGUpLDQmciYmbWkoZSk7Y2FzZSAyMTp9fWZ1bmN0aW9uIHZpKGUpe3ZhciBuPWUuZmxhZ3M7aWYoMiZuKXt0cnl7ZTp7Zm9yKHZhciB0PWUucmV0dXJuO251bGwhPT10Oyl7aWYodWkodCkpe3ZhciByPXQ7YnJlYWsgZX10PXQucmV0dXJufXRocm93IEVycm9yKGEoMTYwKSl9c3dpdGNoKHIudGFnKXtjYXNlIDU6dmFyIGw9ci5zdGF0ZU5vZGU7MzImci5mbGFncyYmKGRlKGwsIiIpLHIuZmxhZ3MmPS0zMyksc2koZSxvaShlKSxsKTticmVhaztjYXNlIDM6Y2FzZSA0OnZhciB1PXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87aWkoZSxvaShlKSx1KTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKGEoMTYxKSl9fWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9ZS5mbGFncyY9LTN9NDA5NiZuJiYoZS5mbGFncyY9LTQwOTcpfWZ1bmN0aW9uIHlpKGUsbix0KXtabz1lLGJpKGUsbix0KX1mdW5jdGlvbiBiaShlLG4sdCl7Zm9yKHZhciByPSEhKDEmZS5tb2RlKTtudWxsIT09Wm87KXt2YXIgbD1abyxhPWwuY2hpbGQ7aWYoMjI9PT1sLnRhZyYmcil7dmFyIHU9bnVsbCE9PWwubWVtb2l6ZWRTdGF0ZXx8WW87aWYoIXUpe3ZhciBvPWwuYWx0ZXJuYXRlLGk9bnVsbCE9PW8mJm51bGwhPT1vLm1lbW9pemVkU3RhdGV8fFhvO289WW87dmFyIHM9WG87aWYoWW89dSwoWG89aSkmJiFzKWZvcihabz1sO251bGwhPT1abzspaT0odT1abykuY2hpbGQsMjI9PT11LnRhZyYmbnVsbCE9PXUubWVtb2l6ZWRTdGF0ZT9TaShsKTpudWxsIT09aT8oaS5yZXR1cm49dSxabz1pKTpTaShsKTtmb3IoO251bGwhPT1hOylabz1hLGJpKGEsbix0KSxhPWEuc2libGluZztabz1sLFlvPW8sWG89c31raShlKX1lbHNlIDg3NzImbC5zdWJ0cmVlRmxhZ3MmJm51bGwhPT1hPyhhLnJldHVybj1sLFpvPWEpOmtpKGUpfX1mdW5jdGlvbiBraShlKXtmb3IoO251bGwhPT1abzspe3ZhciBuPVpvO2lmKDg3NzImbi5mbGFncyl7dmFyIHQ9bi5hbHRlcm5hdGU7dHJ5e2lmKDg3NzImbi5mbGFncylzd2l0Y2gobi50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6WG98fHJpKDUsbik7YnJlYWs7Y2FzZSAxOnZhciByPW4uc3RhdGVOb2RlO2lmKDQmbi5mbGFncyYmIVhvKWlmKG51bGw9PT10KXIuY29tcG9uZW50RGlkTW91bnQoKTtlbHNle3ZhciBsPW4uZWxlbWVudFR5cGU9PT1uLnR5cGU/dC5tZW1vaXplZFByb3BzOmdhKG4udHlwZSx0Lm1lbW9pemVkUHJvcHMpCjtyLmNvbXBvbmVudERpZFVwZGF0ZShsLHQubWVtb2l6ZWRTdGF0ZSxyLl9fcmVhY3RJbnRlcm5hbFNuYXBzaG90QmVmb3JlVXBkYXRlKX12YXIgdT1uLnVwZGF0ZVF1ZXVlO251bGwhPT11JiZVYShuLHUscik7YnJlYWs7Y2FzZSAzOnZhciBvPW4udXBkYXRlUXVldWU7aWYobnVsbCE9PW8pe2lmKHQ9bnVsbCxudWxsIT09bi5jaGlsZClzd2l0Y2gobi5jaGlsZC50YWcpe2Nhc2UgNTpjYXNlIDE6dD1uLmNoaWxkLnN0YXRlTm9kZX1VYShuLG8sdCl9YnJlYWs7Y2FzZSA1OnZhciBpPW4uc3RhdGVOb2RlO2lmKG51bGw9PT10JiY0Jm4uZmxhZ3Mpe3Q9aTt2YXIgcz1uLm1lbW9pemVkUHJvcHM7c3dpdGNoKG4udHlwZSl7Y2FzZSJidXR0b24iOmNhc2UiaW5wdXQiOmNhc2Uic2VsZWN0IjpjYXNlInRleHRhcmVhIjpzLmF1dG9Gb2N1cyYmdC5mb2N1cygpO2JyZWFrO2Nhc2UiaW1nIjpzLnNyYyYmKHQuc3JjPXMuc3JjKX19YnJlYWs7Y2FzZSA2OmNhc2UgNDpjYXNlIDEyOmNhc2UgMTk6Y2FzZSAxNzpjYXNlIDIxOmNhc2UgMjI6Y2FzZSAyMzpjYXNlIDI1OmJyZWFrO2Nhc2UgMTM6aWYobnVsbD09PW4ubWVtb2l6ZWRTdGF0ZSl7dmFyIGM9bi5hbHRlcm5hdGU7aWYobnVsbCE9PWMpe3ZhciBmPWMubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09Zil7dmFyIGQ9Zi5kZWh5ZHJhdGVkO251bGwhPT1kJiZIbihkKX19fWJyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoYSgxNjMpKX1Yb3x8NTEyJm4uZmxhZ3MmJmxpKG4pfWNhdGNoKGUpe0VzKG4sbi5yZXR1cm4sZSl9fWlmKG49PT1lKXtabz1udWxsO2JyZWFrfWlmKG51bGwhPT0odD1uLnNpYmxpbmcpKXt0LnJldHVybj1uLnJldHVybixabz10O2JyZWFrfVpvPW4ucmV0dXJufX1mdW5jdGlvbiB3aShlKXtmb3IoO251bGwhPT1abzspe3ZhciBuPVpvO2lmKG49PT1lKXtabz1udWxsO2JyZWFrfXZhciB0PW4uc2libGluZztpZihudWxsIT09dCl7dC5yZXR1cm49bi5yZXR1cm4sWm89dDticmVha31abz1uLnJldHVybn19ZnVuY3Rpb24gU2koZSl7Zm9yKDtudWxsIT09Wm87KXt2YXIgbj1abzt0cnl7c3dpdGNoKG4udGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OnZhciB0PW4ucmV0dXJuO3RyeXtyaSg0LG4pfWNhdGNoKGUpe0VzKG4sdCxlKX1icmVhaztjYXNlIDE6dmFyIHI9bi5zdGF0ZU5vZGU7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIuY29tcG9uZW50RGlkTW91bnQpe3ZhciBsPW4ucmV0dXJuO3RyeXtyLmNvbXBvbmVudERpZE1vdW50KCl9Y2F0Y2goZSl7RXMobixsLGUpfX12YXIgYT1uLnJldHVybjt0cnl7bGkobil9Y2F0Y2goZSl7RXMobixhLGUpfWJyZWFrO2Nhc2UgNTp2YXIgdT1uLnJldHVybjt0cnl7bGkobil9Y2F0Y2goZSl7RXMobix1LGUpfX19Y2F0Y2goZSl7RXMobixuLnJldHVybixlKX1pZihuPT09ZSl7Wm89bnVsbDticmVha312YXIgbz1uLnNpYmxpbmc7aWYobnVsbCE9PW8pe28ucmV0dXJuPW4ucmV0dXJuLFpvPW87YnJlYWt9Wm89bi5yZXR1cm59fXZhciB4aSxFaT1NYXRoLmNlaWwsQ2k9ay5SZWFjdEN1cnJlbnREaXNwYXRjaGVyLHppPWsuUmVhY3RDdXJyZW50T3duZXIsTmk9ay5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxfaT0wLFBpPW51bGwsVGk9bnVsbCxMaT0wLE1pPTAsRmk9RWwoMCksUmk9MCxEaT1udWxsLElpPTAsT2k9MCxVaT0wLFZpPW51bGwsQWk9bnVsbCxCaT0wLFdpPTEvMCxIaT1udWxsLFFpPSExLGppPW51bGwsJGk9bnVsbCxxaT0hMSxLaT1udWxsLFlpPTAsWGk9MCxHaT1udWxsLFppPS0xLEppPTA7ZnVuY3Rpb24gZXMoKXtyZXR1cm4gNiZfaT9HZSgpOi0xIT09Wmk/Wmk6Wmk9R2UoKX1mdW5jdGlvbiBucyhlKXtyZXR1cm4gMSZlLm1vZGU/MiZfaSYmMCE9PUxpP0xpJi1MaTpudWxsIT09aGEudHJhbnNpdGlvbj8oMD09PUppJiYoSmk9Z24oKSksSmkpOjAhPT0oZT1rbik/ZTplPXZvaWQgMD09PShlPXdpbmRvdy5ldmVudCk/MTY6R24oZS50eXBlKToxfWZ1bmN0aW9uIHRzKGUsbix0LHIpe2lmKDUwPFhpKXRocm93IFhpPTAsR2k9bnVsbCxFcnJvcihhKDE4NSkpO3luKGUsdCxyKSwyJl9pJiZlPT09UGl8fChlPT09UGkmJighKDImX2kpJiYoT2l8PXQpLDQ9PT1SaSYmb3MoZSxMaSkpLHJzKGUsciksMT09PXQmJjA9PT1faSYmISgxJm4ubW9kZSkmJihXaT1HZSgpKzUwMCxWbCYmV2woKSkpfWZ1bmN0aW9uIHJzKGUsbil7dmFyIHQ9ZS5jYWxsYmFja05vZGU7IWZ1bmN0aW9uKGUsbil7Zm9yKHZhciB0PWUuc3VzcGVuZGVkTGFuZXMscj1lLnBpbmdlZExhbmVzLGw9ZS5leHBpcmF0aW9uVGltZXMsYT1lLnBlbmRpbmdMYW5lczswPGE7KXt2YXIgdT0zMS11bihhKSxvPTE8PHUsaT1sW3VdOy0xPT09aT9vJnQmJiEobyZyKXx8KGxbdV09bW4obyxuKSk6aTw9biYmKGUuZXhwaXJlZExhbmVzfD1vKSxhJj1+b319KGUsbik7dmFyIHI9cG4oZSxlPT09UGk/TGk6MCk7aWYoMD09PXIpbnVsbCE9PXQmJktlKHQpLGUuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTA7ZWxzZSBpZihuPXImLXIsZS5jYWxsYmFja1ByaW9yaXR5IT09bil7aWYobnVsbCE9dCYmS2UodCksMT09PW4pMD09PWUudGFnP2Z1bmN0aW9uKGUpe1ZsPSEwLEJsKGUpfShpcy5iaW5kKG51bGwsZSkpOkJsKGlzLmJpbmQobnVsbCxlKSksdWwoKGZ1bmN0aW9uKCl7ISg2Jl9pKSYmV2woKX0pKSx0PW51bGw7ZWxzZXtzd2l0Y2god24ocikpe2Nhc2UgMTp0PUplO2JyZWFrO2Nhc2UgNDp0PWVuO2JyZWFrO2Nhc2UgMTY6ZGVmYXVsdDp0PW5uO2JyZWFrO2Nhc2UgNTM2ODcwOTEyOnQ9cm59dD1Qcyh0LGxzLmJpbmQobnVsbCxlKSl9ZS5jYWxsYmFja1ByaW9yaXR5PW4sZS5jYWxsYmFja05vZGU9dH19ZnVuY3Rpb24gbHMoZSxuKXtpZihaaT0tMSxKaT0wLDYmX2kpdGhyb3cgRXJyb3IoYSgzMjcpKTt2YXIgdD1lLmNhbGxiYWNrTm9kZTtpZihTcygpJiZlLmNhbGxiYWNrTm9kZSE9PXQpcmV0dXJuIG51bGw7dmFyIHI9cG4oZSxlPT09UGk/TGk6MCk7aWYoMD09PXIpcmV0dXJuIG51bGw7aWYoMzAmcnx8ciZlLmV4cGlyZWRMYW5lc3x8biluPWdzKGUscik7ZWxzZXtuPXI7dmFyIGw9X2k7X2l8PTI7dmFyIHU9bXMoKQo7Zm9yKFBpPT09ZSYmTGk9PT1ufHwoSGk9bnVsbCxXaT1HZSgpKzUwMCxkcyhlLG4pKTs7KXRyeXt5cygpO2JyZWFrfWNhdGNoKG4pe3BzKGUsbil9d2EoKSxDaS5jdXJyZW50PXUsX2k9bCxudWxsIT09VGk/bj0wOihQaT1udWxsLExpPTAsbj1SaSl9aWYoMCE9PW4pe2lmKDI9PT1uJiYoMCE9PShsPWhuKGUpKSYmKHI9bCxuPWFzKGUsbCkpKSwxPT09bil0aHJvdyB0PURpLGRzKGUsMCksb3MoZSxyKSxycyhlLEdlKCkpLHQ7aWYoNj09PW4pb3MoZSxyKTtlbHNle2lmKGw9ZS5jdXJyZW50LmFsdGVybmF0ZSwhKDMwJnJ8fGZ1bmN0aW9uKGUpe2Zvcih2YXIgbj1lOzspe2lmKDE2Mzg0Jm4uZmxhZ3Mpe3ZhciB0PW4udXBkYXRlUXVldWU7aWYobnVsbCE9PXQmJm51bGwhPT0odD10LnN0b3JlcykpZm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBsPXRbcl0sYT1sLmdldFNuYXBzaG90O2w9bC52YWx1ZTt0cnl7aWYoIW9yKGEoKSxsKSlyZXR1cm4hMX1jYXRjaChlKXtyZXR1cm4hMX19fWlmKHQ9bi5jaGlsZCwxNjM4NCZuLnN1YnRyZWVGbGFncyYmbnVsbCE9PXQpdC5yZXR1cm49bixuPXQ7ZWxzZXtpZihuPT09ZSlicmVhaztmb3IoO251bGw9PT1uLnNpYmxpbmc7KXtpZihudWxsPT09bi5yZXR1cm58fG4ucmV0dXJuPT09ZSlyZXR1cm4hMDtuPW4ucmV0dXJufW4uc2libGluZy5yZXR1cm49bi5yZXR1cm4sbj1uLnNpYmxpbmd9fXJldHVybiEwfShsKXx8KG49Z3MoZSxyKSwyPT09biYmKHU9aG4oZSksMCE9PXUmJihyPXUsbj1hcyhlLHUpKSksMSE9PW4pKSl0aHJvdyB0PURpLGRzKGUsMCksb3MoZSxyKSxycyhlLEdlKCkpLHQ7c3dpdGNoKGUuZmluaXNoZWRXb3JrPWwsZS5maW5pc2hlZExhbmVzPXIsbil7Y2FzZSAwOmNhc2UgMTp0aHJvdyBFcnJvcihhKDM0NSkpO2Nhc2UgMjpjYXNlIDU6d3MoZSxBaSxIaSk7YnJlYWs7Y2FzZSAzOmlmKG9zKGUsciksKDEzMDAyMzQyNCZyKT09PXImJjEwPChuPUJpKzUwMC1HZSgpKSl7aWYoMCE9PXBuKGUsMCkpYnJlYWs7aWYoKChsPWUuc3VzcGVuZGVkTGFuZXMpJnIpIT09cil7ZXMoKSxlLnBpbmdlZExhbmVzfD1lLnN1c3BlbmRlZExhbmVzJmw7YnJlYWt9ZS50aW1lb3V0SGFuZGxlPXJsKHdzLmJpbmQobnVsbCxlLEFpLEhpKSxuKTticmVha313cyhlLEFpLEhpKTticmVhaztjYXNlIDQ6aWYob3MoZSxyKSwoNDE5NDI0MCZyKT09PXIpYnJlYWs7Zm9yKG49ZS5ldmVudFRpbWVzLGw9LTE7MDxyOyl7dmFyIG89MzEtdW4ocik7dT0xPDxvLChvPW5bb10pPmwmJihsPW8pLHImPX51fWlmKHI9bCwxMDwocj0oMTIwPihyPUdlKCktcik/MTIwOjQ4MD5yPzQ4MDoxMDgwPnI/MTA4MDoxOTIwPnI/MTkyMDozZTM+cj8zZTM6NDMyMD5yPzQzMjA6MTk2MCpFaShyLzE5NjApKS1yKSl7ZS50aW1lb3V0SGFuZGxlPXJsKHdzLmJpbmQobnVsbCxlLEFpLEhpKSxyKTticmVha313cyhlLEFpLEhpKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKGEoMzI5KSl9fX1yZXR1cm4gcnMoZSxHZSgpKSxlLmNhbGxiYWNrTm9kZT09PXQ/bHMuYmluZChudWxsLGUpOm51bGx9ZnVuY3Rpb24gYXMoZSxuKXt2YXIgdD1WaTtyZXR1cm4gZS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkJiYoZHMoZSxuKS5mbGFnc3w9MjU2KSwyIT09KGU9Z3MoZSxuKSkmJihuPUFpLEFpPXQsbnVsbCE9PW4mJnVzKG4pKSxlfWZ1bmN0aW9uIHVzKGUpe251bGw9PT1BaT9BaT1lOkFpLnB1c2guYXBwbHkoQWksZSl9ZnVuY3Rpb24gb3MoZSxuKXtmb3IobiY9flVpLG4mPX5PaSxlLnN1c3BlbmRlZExhbmVzfD1uLGUucGluZ2VkTGFuZXMmPX5uLGU9ZS5leHBpcmF0aW9uVGltZXM7MDxuOyl7dmFyIHQ9MzEtdW4obikscj0xPDx0O2VbdF09LTEsbiY9fnJ9fWZ1bmN0aW9uIGlzKGUpe2lmKDYmX2kpdGhyb3cgRXJyb3IoYSgzMjcpKTtTcygpO3ZhciBuPXBuKGUsMCk7aWYoISgxJm4pKXJldHVybiBycyhlLEdlKCkpLG51bGw7dmFyIHQ9Z3MoZSxuKTtpZigwIT09ZS50YWcmJjI9PT10KXt2YXIgcj1obihlKTswIT09ciYmKG49cix0PWFzKGUscikpfWlmKDE9PT10KXRocm93IHQ9RGksZHMoZSwwKSxvcyhlLG4pLHJzKGUsR2UoKSksdDtpZig2PT09dCl0aHJvdyBFcnJvcihhKDM0NSkpO3JldHVybiBlLmZpbmlzaGVkV29yaz1lLmN1cnJlbnQuYWx0ZXJuYXRlLGUuZmluaXNoZWRMYW5lcz1uLHdzKGUsQWksSGkpLHJzKGUsR2UoKSksbnVsbH1mdW5jdGlvbiBzcyhlLG4pe3ZhciB0PV9pO19pfD0xO3RyeXtyZXR1cm4gZShuKX1maW5hbGx5ezA9PT0oX2k9dCkmJihXaT1HZSgpKzUwMCxWbCYmV2woKSl9fWZ1bmN0aW9uIGNzKGUpe251bGwhPT1LaSYmMD09PUtpLnRhZyYmISg2Jl9pKSYmU3MoKTt2YXIgbj1faTtfaXw9MTt2YXIgdD1OaS50cmFuc2l0aW9uLHI9a247dHJ5e2lmKE5pLnRyYW5zaXRpb249bnVsbCxrbj0xLGUpcmV0dXJuIGUoKX1maW5hbGx5e2tuPXIsTmkudHJhbnNpdGlvbj10LCEoNiYoX2k9bikpJiZXbCgpfX1mdW5jdGlvbiBmcygpe01pPUZpLmN1cnJlbnQsQ2woRmkpfWZ1bmN0aW9uIGRzKGUsbil7ZS5maW5pc2hlZFdvcms9bnVsbCxlLmZpbmlzaGVkTGFuZXM9MDt2YXIgdD1lLnRpbWVvdXRIYW5kbGU7aWYoLTEhPT10JiYoZS50aW1lb3V0SGFuZGxlPS0xLGxsKHQpKSxudWxsIT09VGkpZm9yKHQ9VGkucmV0dXJuO251bGwhPT10Oyl7dmFyIHI9dDtzd2l0Y2gobmEociksci50YWcpe2Nhc2UgMTpudWxsIT0ocj1yLnR5cGUuY2hpbGRDb250ZXh0VHlwZXMpJiZGbCgpO2JyZWFrO2Nhc2UgMzpsdSgpLENsKFBsKSxDbChfbCksY3UoKTticmVhaztjYXNlIDU6dXUocik7YnJlYWs7Y2FzZSA0Omx1KCk7YnJlYWs7Y2FzZSAxMzpjYXNlIDE5OkNsKG91KTticmVhaztjYXNlIDEwOlNhKHIudHlwZS5fY29udGV4dCk7YnJlYWs7Y2FzZSAyMjpjYXNlIDIzOmZzKCl9dD10LnJldHVybn1pZihQaT1lLFRpPWU9RnMoZS5jdXJyZW50LG51bGwpLExpPU1pPW4sUmk9MCxEaT1udWxsLFVpPU9pPUlpPTAsQWk9Vmk9bnVsbCxudWxsIT09emEpe2ZvcihuPTA7bjx6YS5sZW5ndGg7bisrKWlmKG51bGwhPT0ocj0odD16YVtuXSkuaW50ZXJsZWF2ZWQpKXt0LmludGVybGVhdmVkPW51bGwKO3ZhciBsPXIubmV4dCxhPXQucGVuZGluZztpZihudWxsIT09YSl7dmFyIHU9YS5uZXh0O2EubmV4dD1sLHIubmV4dD11fXQucGVuZGluZz1yfXphPW51bGx9cmV0dXJuIGV9ZnVuY3Rpb24gcHMoZSxuKXtmb3IoOzspe3ZhciB0PVRpO3RyeXtpZih3YSgpLGZ1LmN1cnJlbnQ9YW8sdnUpe2Zvcih2YXIgcj1tdS5tZW1vaXplZFN0YXRlO251bGwhPT1yOyl7dmFyIGw9ci5xdWV1ZTtudWxsIT09bCYmKGwucGVuZGluZz1udWxsKSxyPXIubmV4dH12dT0hMX1pZihwdT0wLGd1PWh1PW11PW51bGwseXU9ITEsYnU9MCx6aS5jdXJyZW50PW51bGwsbnVsbD09PXR8fG51bGw9PT10LnJldHVybil7Umk9MSxEaT1uLFRpPW51bGw7YnJlYWt9ZTp7dmFyIHU9ZSxvPXQucmV0dXJuLGk9dCxzPW47aWYobj1MaSxpLmZsYWdzfD0zMjc2OCxudWxsIT09cyYmIm9iamVjdCI9PXR5cGVvZiBzJiYiZnVuY3Rpb24iPT10eXBlb2Ygcy50aGVuKXt2YXIgYz1zLGY9aSxkPWYudGFnO2lmKCEoMSZmLm1vZGV8fDAhPT1kJiYxMSE9PWQmJjE1IT09ZCkpe3ZhciBwPWYuYWx0ZXJuYXRlO3A/KGYudXBkYXRlUXVldWU9cC51cGRhdGVRdWV1ZSxmLm1lbW9pemVkU3RhdGU9cC5tZW1vaXplZFN0YXRlLGYubGFuZXM9cC5sYW5lcyk6KGYudXBkYXRlUXVldWU9bnVsbCxmLm1lbW9pemVkU3RhdGU9bnVsbCl9dmFyIG09dm8obyk7aWYobnVsbCE9PW0pe20uZmxhZ3MmPS0yNTcseW8obSxvLGksMCxuKSwxJm0ubW9kZSYmZ28odSxjLG4pLHM9Yzt2YXIgaD0obj1tKS51cGRhdGVRdWV1ZTtpZihudWxsPT09aCl7dmFyIGc9bmV3IFNldDtnLmFkZChzKSxuLnVwZGF0ZVF1ZXVlPWd9ZWxzZSBoLmFkZChzKTticmVhayBlfWlmKCEoMSZuKSl7Z28odSxjLG4pLGhzKCk7YnJlYWsgZX1zPUVycm9yKGEoNDI2KSl9ZWxzZSBpZihsYSYmMSZpLm1vZGUpe3ZhciB2PXZvKG8pO2lmKG51bGwhPT12KXshKDY1NTM2JnYuZmxhZ3MpJiYodi5mbGFnc3w9MjU2KSx5byh2LG8saSwwLG4pLG1hKHNvKHMsaSkpO2JyZWFrIGV9fXU9cz1zbyhzLGkpLDQhPT1SaSYmKFJpPTIpLG51bGw9PT1WaT9WaT1bdV06VmkucHVzaCh1KSx1PW87ZG97c3dpdGNoKHUudGFnKXtjYXNlIDM6dS5mbGFnc3w9NjU1MzYsbiY9LW4sdS5sYW5lc3w9bixJYSh1LG1vKDAscyxuKSk7YnJlYWsgZTtjYXNlIDE6aT1zO3ZhciB5PXUudHlwZSxiPXUuc3RhdGVOb2RlO2lmKCEoMTI4JnUuZmxhZ3N8fCJmdW5jdGlvbiIhPXR5cGVvZiB5LmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciYmKG51bGw9PT1ifHwiZnVuY3Rpb24iIT10eXBlb2YgYi5jb21wb25lbnREaWRDYXRjaHx8bnVsbCE9PSRpJiYkaS5oYXMoYikpKSl7dS5mbGFnc3w9NjU1MzYsbiY9LW4sdS5sYW5lc3w9bixJYSh1LGhvKHUsaSxuKSk7YnJlYWsgZX19dT11LnJldHVybn13aGlsZShudWxsIT09dSl9a3ModCl9Y2F0Y2goZSl7bj1lLFRpPT09dCYmbnVsbCE9PXQmJihUaT10PXQucmV0dXJuKTtjb250aW51ZX1icmVha319ZnVuY3Rpb24gbXMoKXt2YXIgZT1DaS5jdXJyZW50O3JldHVybiBDaS5jdXJyZW50PWFvLG51bGw9PT1lP2FvOmV9ZnVuY3Rpb24gaHMoKXswIT09UmkmJjMhPT1SaSYmMiE9PVJpfHwoUmk9NCksbnVsbD09PVBpfHwhKDI2ODQzNTQ1NSZJaSkmJiEoMjY4NDM1NDU1Jk9pKXx8b3MoUGksTGkpfWZ1bmN0aW9uIGdzKGUsbil7dmFyIHQ9X2k7X2l8PTI7dmFyIHI9bXMoKTtmb3IoUGk9PT1lJiZMaT09PW58fChIaT1udWxsLGRzKGUsbikpOzspdHJ5e3ZzKCk7YnJlYWt9Y2F0Y2gobil7cHMoZSxuKX1pZih3YSgpLF9pPXQsQ2kuY3VycmVudD1yLG51bGwhPT1UaSl0aHJvdyBFcnJvcihhKDI2MSkpO3JldHVybiBQaT1udWxsLExpPTAsUml9ZnVuY3Rpb24gdnMoKXtmb3IoO251bGwhPT1UaTspYnMoVGkpfWZ1bmN0aW9uIHlzKCl7Zm9yKDtudWxsIT09VGkmJiFZZSgpOylicyhUaSl9ZnVuY3Rpb24gYnMoZSl7dmFyIG49eGkoZS5hbHRlcm5hdGUsZSxNaSk7ZS5tZW1vaXplZFByb3BzPWUucGVuZGluZ1Byb3BzLG51bGw9PT1uP2tzKGUpOlRpPW4semkuY3VycmVudD1udWxsfWZ1bmN0aW9uIGtzKGUpe3ZhciBuPWU7ZG97dmFyIHQ9bi5hbHRlcm5hdGU7aWYoZT1uLnJldHVybiwzMjc2OCZuLmZsYWdzKXtpZihudWxsIT09KHQ9S28odCxuKSkpcmV0dXJuIHQuZmxhZ3MmPTMyNzY3LHZvaWQoVGk9dCk7aWYobnVsbD09PWUpcmV0dXJuIFJpPTYsdm9pZChUaT1udWxsKTtlLmZsYWdzfD0zMjc2OCxlLnN1YnRyZWVGbGFncz0wLGUuZGVsZXRpb25zPW51bGx9ZWxzZSBpZihudWxsIT09KHQ9cW8odCxuLE1pKSkpcmV0dXJuIHZvaWQoVGk9dCk7aWYobnVsbCE9PShuPW4uc2libGluZykpcmV0dXJuIHZvaWQoVGk9bik7VGk9bj1lfXdoaWxlKG51bGwhPT1uKTswPT09UmkmJihSaT01KX1mdW5jdGlvbiB3cyhlLG4sdCl7dmFyIHI9a24sbD1OaS50cmFuc2l0aW9uO3RyeXtOaS50cmFuc2l0aW9uPW51bGwsa249MSxmdW5jdGlvbihlLG4sdCxyKXtkb3tTcygpfXdoaWxlKG51bGwhPT1LaSk7aWYoNiZfaSl0aHJvdyBFcnJvcihhKDMyNykpO3Q9ZS5maW5pc2hlZFdvcms7dmFyIGw9ZS5maW5pc2hlZExhbmVzO2lmKG51bGw9PT10KXJldHVybiBudWxsO2lmKGUuZmluaXNoZWRXb3JrPW51bGwsZS5maW5pc2hlZExhbmVzPTAsdD09PWUuY3VycmVudCl0aHJvdyBFcnJvcihhKDE3NykpO2UuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTA7dmFyIHU9dC5sYW5lc3x0LmNoaWxkTGFuZXM7aWYoZnVuY3Rpb24oZSxuKXt2YXIgdD1lLnBlbmRpbmdMYW5lcyZ+bjtlLnBlbmRpbmdMYW5lcz1uLGUuc3VzcGVuZGVkTGFuZXM9MCxlLnBpbmdlZExhbmVzPTAsZS5leHBpcmVkTGFuZXMmPW4sZS5tdXRhYmxlUmVhZExhbmVzJj1uLGUuZW50YW5nbGVkTGFuZXMmPW4sbj1lLmVudGFuZ2xlbWVudHM7dmFyIHI9ZS5ldmVudFRpbWVzO2ZvcihlPWUuZXhwaXJhdGlvblRpbWVzOzA8dDspe3ZhciBsPTMxLXVuKHQpLGE9MTw8bDtuW2xdPTAscltsXT0tMSxlW2xdPS0xLHQmPX5hfX0oZSx1KSxlPT09UGkmJihUaT1QaT1udWxsLExpPTApLAohKDIwNjQmdC5zdWJ0cmVlRmxhZ3MpJiYhKDIwNjQmdC5mbGFncyl8fHFpfHwocWk9ITAsUHMobm4sKGZ1bmN0aW9uKCl7cmV0dXJuIFNzKCksbnVsbH0pKSksdT0hISgxNTk5MCZ0LmZsYWdzKSwhISgxNTk5MCZ0LnN1YnRyZWVGbGFncyl8fHUpe3U9TmkudHJhbnNpdGlvbixOaS50cmFuc2l0aW9uPW51bGw7dmFyIG89a247a249MTt2YXIgaT1faTtfaXw9NCx6aS5jdXJyZW50PW51bGwsZnVuY3Rpb24oZSxuKXtpZihlbD1qbixwcihlPWRyKCkpKXtpZigic2VsZWN0aW9uU3RhcnQiaW4gZSl2YXIgdD17c3RhcnQ6ZS5zZWxlY3Rpb25TdGFydCxlbmQ6ZS5zZWxlY3Rpb25FbmR9O2Vsc2UgZTp7dmFyIHI9KHQ9KHQ9ZS5vd25lckRvY3VtZW50KSYmdC5kZWZhdWx0Vmlld3x8d2luZG93KS5nZXRTZWxlY3Rpb24mJnQuZ2V0U2VsZWN0aW9uKCk7aWYociYmMCE9PXIucmFuZ2VDb3VudCl7dD1yLmFuY2hvck5vZGU7dmFyIGw9ci5hbmNob3JPZmZzZXQsdT1yLmZvY3VzTm9kZTtyPXIuZm9jdXNPZmZzZXQ7dHJ5e3Qubm9kZVR5cGUsdS5ub2RlVHlwZX1jYXRjaChlKXt0PW51bGw7YnJlYWsgZX12YXIgbz0wLGk9LTEscz0tMSxjPTAsZj0wLGQ9ZSxwPW51bGw7bjpmb3IoOzspe2Zvcih2YXIgbTtkIT09dHx8MCE9PWwmJjMhPT1kLm5vZGVUeXBlfHwoaT1vK2wpLGQhPT11fHwwIT09ciYmMyE9PWQubm9kZVR5cGV8fChzPW8rciksMz09PWQubm9kZVR5cGUmJihvKz1kLm5vZGVWYWx1ZS5sZW5ndGgpLG51bGwhPT0obT1kLmZpcnN0Q2hpbGQpOylwPWQsZD1tO2Zvcig7Oyl7aWYoZD09PWUpYnJlYWsgbjtpZihwPT09dCYmKytjPT09bCYmKGk9bykscD09PXUmJisrZj09PXImJihzPW8pLG51bGwhPT0obT1kLm5leHRTaWJsaW5nKSlicmVhaztwPShkPXApLnBhcmVudE5vZGV9ZD1tfXQ9LTE9PT1pfHwtMT09PXM/bnVsbDp7c3RhcnQ6aSxlbmQ6c319ZWxzZSB0PW51bGx9dD10fHx7c3RhcnQ6MCxlbmQ6MH19ZWxzZSB0PW51bGw7Zm9yKG5sPXtmb2N1c2VkRWxlbTplLHNlbGVjdGlvblJhbmdlOnR9LGpuPSExLFpvPW47bnVsbCE9PVpvOylpZihlPShuPVpvKS5jaGlsZCwxMDI4Jm4uc3VidHJlZUZsYWdzJiZudWxsIT09ZSllLnJldHVybj1uLFpvPWU7ZWxzZSBmb3IoO251bGwhPT1abzspe249Wm87dHJ5e3ZhciBoPW4uYWx0ZXJuYXRlO2lmKDEwMjQmbi5mbGFncylzd2l0Y2gobi50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6Y2FzZSA1OmNhc2UgNjpjYXNlIDQ6Y2FzZSAxNzpicmVhaztjYXNlIDE6aWYobnVsbCE9PWgpe3ZhciBnPWgubWVtb2l6ZWRQcm9wcyx2PWgubWVtb2l6ZWRTdGF0ZSx5PW4uc3RhdGVOb2RlLGI9eS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZShuLmVsZW1lbnRUeXBlPT09bi50eXBlP2c6Z2Eobi50eXBlLGcpLHYpO3kuX19yZWFjdEludGVybmFsU25hcHNob3RCZWZvcmVVcGRhdGU9Yn1icmVhaztjYXNlIDM6dmFyIGs9bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbzsxPT09ay5ub2RlVHlwZT9rLnRleHRDb250ZW50PSIiOjk9PT1rLm5vZGVUeXBlJiZrLmRvY3VtZW50RWxlbWVudCYmay5yZW1vdmVDaGlsZChrLmRvY3VtZW50RWxlbWVudCk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcihhKDE2MykpfX1jYXRjaChlKXtFcyhuLG4ucmV0dXJuLGUpfWlmKG51bGwhPT0oZT1uLnNpYmxpbmcpKXtlLnJldHVybj1uLnJldHVybixabz1lO2JyZWFrfVpvPW4ucmV0dXJufWg9bmksbmk9ITF9KGUsdCksZ2kodCxlKSxtcihubCksam49ISFlbCxubD1lbD1udWxsLGUuY3VycmVudD10LHlpKHQsZSxsKSxYZSgpLF9pPWksa249byxOaS50cmFuc2l0aW9uPXV9ZWxzZSBlLmN1cnJlbnQ9dDtpZihxaSYmKHFpPSExLEtpPWUsWWk9bCksdT1lLnBlbmRpbmdMYW5lcywwPT09dSYmKCRpPW51bGwpLGZ1bmN0aW9uKGUpe2lmKGFuJiYiZnVuY3Rpb24iPT10eXBlb2YgYW4ub25Db21taXRGaWJlclJvb3QpdHJ5e2FuLm9uQ29tbWl0RmliZXJSb290KGxuLGUsdm9pZCAwLCEoMTI4Jn5lLmN1cnJlbnQuZmxhZ3MpKX1jYXRjaChlKXt9fSh0LnN0YXRlTm9kZSkscnMoZSxHZSgpKSxudWxsIT09bilmb3Iocj1lLm9uUmVjb3ZlcmFibGVFcnJvcix0PTA7dDxuLmxlbmd0aDt0KyspbD1uW3RdLHIobC52YWx1ZSx7Y29tcG9uZW50U3RhY2s6bC5zdGFjayxkaWdlc3Q6bC5kaWdlc3R9KTtpZihRaSl0aHJvdyBRaT0hMSxlPWppLGppPW51bGwsZTshISgxJllpKSYmMCE9PWUudGFnJiZTcygpLHU9ZS5wZW5kaW5nTGFuZXMsMSZ1P2U9PT1HaT9YaSsrOihYaT0wLEdpPWUpOlhpPTAsV2woKX0oZSxuLHQscil9ZmluYWxseXtOaS50cmFuc2l0aW9uPWwsa249cn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBTcygpe2lmKG51bGwhPT1LaSl7dmFyIGU9d24oWWkpLG49TmkudHJhbnNpdGlvbix0PWtuO3RyeXtpZihOaS50cmFuc2l0aW9uPW51bGwsa249MTY+ZT8xNjplLG51bGw9PT1LaSl2YXIgcj0hMTtlbHNle2lmKGU9S2ksS2k9bnVsbCxZaT0wLDYmX2kpdGhyb3cgRXJyb3IoYSgzMzEpKTt2YXIgbD1faTtmb3IoX2l8PTQsWm89ZS5jdXJyZW50O251bGwhPT1abzspe3ZhciB1PVpvLG89dS5jaGlsZDtpZigxNiZaby5mbGFncyl7dmFyIGk9dS5kZWxldGlvbnM7aWYobnVsbCE9PWkpe2Zvcih2YXIgcz0wO3M8aS5sZW5ndGg7cysrKXt2YXIgYz1pW3NdO2Zvcihabz1jO251bGwhPT1abzspe3ZhciBmPVpvO3N3aXRjaChmLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTp0aSg4LGYsdSl9dmFyIGQ9Zi5jaGlsZDtpZihudWxsIT09ZClkLnJldHVybj1mLFpvPWQ7ZWxzZSBmb3IoO251bGwhPT1abzspe3ZhciBwPShmPVpvKS5zaWJsaW5nLG09Zi5yZXR1cm47aWYoYWkoZiksZj09PWMpe1pvPW51bGw7YnJlYWt9aWYobnVsbCE9PXApe3AucmV0dXJuPW0sWm89cDticmVha31abz1tfX19dmFyIGg9dS5hbHRlcm5hdGU7aWYobnVsbCE9PWgpe3ZhciBnPWguY2hpbGQ7aWYobnVsbCE9PWcpe2guY2hpbGQ9bnVsbDtkb3t2YXIgdj1nLnNpYmxpbmc7Zy5zaWJsaW5nPW51bGwsZz12fXdoaWxlKG51bGwhPT1nKX19Wm89dX19aWYoMjA2NCZ1LnN1YnRyZWVGbGFncyYmbnVsbCE9PW8pby5yZXR1cm49dSwKWm89bztlbHNlIGU6Zm9yKDtudWxsIT09Wm87KXtpZigyMDQ4Jih1PVpvKS5mbGFncylzd2l0Y2godS50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6dGkoOSx1LHUucmV0dXJuKX12YXIgeT11LnNpYmxpbmc7aWYobnVsbCE9PXkpe3kucmV0dXJuPXUucmV0dXJuLFpvPXk7YnJlYWsgZX1abz11LnJldHVybn19dmFyIGI9ZS5jdXJyZW50O2Zvcihabz1iO251bGwhPT1abzspe3ZhciBrPShvPVpvKS5jaGlsZDtpZigyMDY0Jm8uc3VidHJlZUZsYWdzJiZudWxsIT09aylrLnJldHVybj1vLFpvPWs7ZWxzZSBlOmZvcihvPWI7bnVsbCE9PVpvOyl7aWYoMjA0OCYoaT1abykuZmxhZ3MpdHJ5e3N3aXRjaChpLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpyaSg5LGkpfX1jYXRjaChlKXtFcyhpLGkucmV0dXJuLGUpfWlmKGk9PT1vKXtabz1udWxsO2JyZWFrIGV9dmFyIHc9aS5zaWJsaW5nO2lmKG51bGwhPT13KXt3LnJldHVybj1pLnJldHVybixabz13O2JyZWFrIGV9Wm89aS5yZXR1cm59fWlmKF9pPWwsV2woKSxhbiYmImZ1bmN0aW9uIj09dHlwZW9mIGFuLm9uUG9zdENvbW1pdEZpYmVyUm9vdCl0cnl7YW4ub25Qb3N0Q29tbWl0RmliZXJSb290KGxuLGUpfWNhdGNoKGUpe31yPSEwfXJldHVybiByfWZpbmFsbHl7a249dCxOaS50cmFuc2l0aW9uPW59fXJldHVybiExfWZ1bmN0aW9uIHhzKGUsbix0KXtlPVJhKGUsbj1tbygwLG49c28odCxuKSwxKSwxKSxuPWVzKCksbnVsbCE9PWUmJih5bihlLDEsbikscnMoZSxuKSl9ZnVuY3Rpb24gRXMoZSxuLHQpe2lmKDM9PT1lLnRhZyl4cyhlLGUsdCk7ZWxzZSBmb3IoO251bGwhPT1uOyl7aWYoMz09PW4udGFnKXt4cyhuLGUsdCk7YnJlYWt9aWYoMT09PW4udGFnKXt2YXIgcj1uLnN0YXRlTm9kZTtpZigiZnVuY3Rpb24iPT10eXBlb2Ygbi50eXBlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcnx8ImZ1bmN0aW9uIj09dHlwZW9mIHIuY29tcG9uZW50RGlkQ2F0Y2gmJihudWxsPT09JGl8fCEkaS5oYXMocikpKXtuPVJhKG4sZT1obyhuLGU9c28odCxlKSwxKSwxKSxlPWVzKCksbnVsbCE9PW4mJih5bihuLDEsZSkscnMobixlKSk7YnJlYWt9fW49bi5yZXR1cm59fWZ1bmN0aW9uIENzKGUsbix0KXt2YXIgcj1lLnBpbmdDYWNoZTtudWxsIT09ciYmci5kZWxldGUobiksbj1lcygpLGUucGluZ2VkTGFuZXN8PWUuc3VzcGVuZGVkTGFuZXMmdCxQaT09PWUmJihMaSZ0KT09PXQmJig0PT09Uml8fDM9PT1SaSYmKDEzMDAyMzQyNCZMaSk9PT1MaSYmNTAwPkdlKCktQmk/ZHMoZSwwKTpVaXw9dCkscnMoZSxuKX1mdW5jdGlvbiB6cyhlLG4pezA9PT1uJiYoMSZlLm1vZGU/KG49Zm4sISgxMzAwMjM0MjQmKGZuPDw9MSkpJiYoZm49NDE5NDMwNCkpOm49MSk7dmFyIHQ9ZXMoKTtudWxsIT09KGU9UGEoZSxuKSkmJih5bihlLG4sdCkscnMoZSx0KSl9ZnVuY3Rpb24gTnMoZSl7dmFyIG49ZS5tZW1vaXplZFN0YXRlLHQ9MDtudWxsIT09biYmKHQ9bi5yZXRyeUxhbmUpLHpzKGUsdCl9ZnVuY3Rpb24gX3MoZSxuKXt2YXIgdD0wO3N3aXRjaChlLnRhZyl7Y2FzZSAxMzp2YXIgcj1lLnN0YXRlTm9kZSxsPWUubWVtb2l6ZWRTdGF0ZTtudWxsIT09bCYmKHQ9bC5yZXRyeUxhbmUpO2JyZWFrO2Nhc2UgMTk6cj1lLnN0YXRlTm9kZTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKGEoMzE0KSl9bnVsbCE9PXImJnIuZGVsZXRlKG4pLHpzKGUsdCl9ZnVuY3Rpb24gUHMoZSxuKXtyZXR1cm4gcWUoZSxuKX1mdW5jdGlvbiBUcyhlLG4sdCxyKXt0aGlzLnRhZz1lLHRoaXMua2V5PXQsdGhpcy5zaWJsaW5nPXRoaXMuY2hpbGQ9dGhpcy5yZXR1cm49dGhpcy5zdGF0ZU5vZGU9dGhpcy50eXBlPXRoaXMuZWxlbWVudFR5cGU9bnVsbCx0aGlzLmluZGV4PTAsdGhpcy5yZWY9bnVsbCx0aGlzLnBlbmRpbmdQcm9wcz1uLHRoaXMuZGVwZW5kZW5jaWVzPXRoaXMubWVtb2l6ZWRTdGF0ZT10aGlzLnVwZGF0ZVF1ZXVlPXRoaXMubWVtb2l6ZWRQcm9wcz1udWxsLHRoaXMubW9kZT1yLHRoaXMuc3VidHJlZUZsYWdzPXRoaXMuZmxhZ3M9MCx0aGlzLmRlbGV0aW9ucz1udWxsLHRoaXMuY2hpbGRMYW5lcz10aGlzLmxhbmVzPTAsdGhpcy5hbHRlcm5hdGU9bnVsbH1mdW5jdGlvbiBMcyhlLG4sdCxyKXtyZXR1cm4gbmV3IFRzKGUsbix0LHIpfWZ1bmN0aW9uIE1zKGUpe3JldHVybiEoIShlPWUucHJvdG90eXBlKXx8IWUuaXNSZWFjdENvbXBvbmVudCl9ZnVuY3Rpb24gRnMoZSxuKXt2YXIgdD1lLmFsdGVybmF0ZTtyZXR1cm4gbnVsbD09PXQ/KCh0PUxzKGUudGFnLG4sZS5rZXksZS5tb2RlKSkuZWxlbWVudFR5cGU9ZS5lbGVtZW50VHlwZSx0LnR5cGU9ZS50eXBlLHQuc3RhdGVOb2RlPWUuc3RhdGVOb2RlLHQuYWx0ZXJuYXRlPWUsZS5hbHRlcm5hdGU9dCk6KHQucGVuZGluZ1Byb3BzPW4sdC50eXBlPWUudHlwZSx0LmZsYWdzPTAsdC5zdWJ0cmVlRmxhZ3M9MCx0LmRlbGV0aW9ucz1udWxsKSx0LmZsYWdzPTE0NjgwMDY0JmUuZmxhZ3MsdC5jaGlsZExhbmVzPWUuY2hpbGRMYW5lcyx0LmxhbmVzPWUubGFuZXMsdC5jaGlsZD1lLmNoaWxkLHQubWVtb2l6ZWRQcm9wcz1lLm1lbW9pemVkUHJvcHMsdC5tZW1vaXplZFN0YXRlPWUubWVtb2l6ZWRTdGF0ZSx0LnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsbj1lLmRlcGVuZGVuY2llcyx0LmRlcGVuZGVuY2llcz1udWxsPT09bj9udWxsOntsYW5lczpuLmxhbmVzLGZpcnN0Q29udGV4dDpuLmZpcnN0Q29udGV4dH0sdC5zaWJsaW5nPWUuc2libGluZyx0LmluZGV4PWUuaW5kZXgsdC5yZWY9ZS5yZWYsdH1mdW5jdGlvbiBScyhlLG4sdCxyLGwsdSl7dmFyIG89MjtpZihyPWUsImZ1bmN0aW9uIj09dHlwZW9mIGUpTXMoZSkmJihvPTEpO2Vsc2UgaWYoInN0cmluZyI9PXR5cGVvZiBlKW89NTtlbHNlIGU6c3dpdGNoKGUpe2Nhc2UgeDpyZXR1cm4gRHModC5jaGlsZHJlbixsLHUsbik7Y2FzZSBFOm89OCxsfD04O2JyZWFrO2Nhc2UgQzpyZXR1cm4oZT1McygxMix0LG4sMnxsKSkuZWxlbWVudFR5cGU9QyxlLmxhbmVzPXUsZTtjYXNlIFA6cmV0dXJuKGU9THMoMTMsdCxuLGwpKS5lbGVtZW50VHlwZT1QLGUubGFuZXM9dSxlO2Nhc2UgVDoKcmV0dXJuKGU9THMoMTksdCxuLGwpKS5lbGVtZW50VHlwZT1ULGUubGFuZXM9dSxlO2Nhc2UgRjpyZXR1cm4gSXModCxsLHUsbik7ZGVmYXVsdDppZigib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lKXN3aXRjaChlLiQkdHlwZW9mKXtjYXNlIHo6bz0xMDticmVhayBlO2Nhc2UgTjpvPTk7YnJlYWsgZTtjYXNlIF86bz0xMTticmVhayBlO2Nhc2UgTDpvPTE0O2JyZWFrIGU7Y2FzZSBNOm89MTYscj1udWxsO2JyZWFrIGV9dGhyb3cgRXJyb3IoYSgxMzAsbnVsbD09ZT9lOnR5cGVvZiBlLCIiKSl9cmV0dXJuKG49THMobyx0LG4sbCkpLmVsZW1lbnRUeXBlPWUsbi50eXBlPXIsbi5sYW5lcz11LG59ZnVuY3Rpb24gRHMoZSxuLHQscil7cmV0dXJuKGU9THMoNyxlLHIsbikpLmxhbmVzPXQsZX1mdW5jdGlvbiBJcyhlLG4sdCxyKXtyZXR1cm4oZT1McygyMixlLHIsbikpLmVsZW1lbnRUeXBlPUYsZS5sYW5lcz10LGUuc3RhdGVOb2RlPXtpc0hpZGRlbjohMX0sZX1mdW5jdGlvbiBPcyhlLG4sdCl7cmV0dXJuKGU9THMoNixlLG51bGwsbikpLmxhbmVzPXQsZX1mdW5jdGlvbiBVcyhlLG4sdCl7cmV0dXJuKG49THMoNCxudWxsIT09ZS5jaGlsZHJlbj9lLmNoaWxkcmVuOltdLGUua2V5LG4pKS5sYW5lcz10LG4uc3RhdGVOb2RlPXtjb250YWluZXJJbmZvOmUuY29udGFpbmVySW5mbyxwZW5kaW5nQ2hpbGRyZW46bnVsbCxpbXBsZW1lbnRhdGlvbjplLmltcGxlbWVudGF0aW9ufSxufWZ1bmN0aW9uIFZzKGUsbix0LHIsbCl7dGhpcy50YWc9bix0aGlzLmNvbnRhaW5lckluZm89ZSx0aGlzLmZpbmlzaGVkV29yaz10aGlzLnBpbmdDYWNoZT10aGlzLmN1cnJlbnQ9dGhpcy5wZW5kaW5nQ2hpbGRyZW49bnVsbCx0aGlzLnRpbWVvdXRIYW5kbGU9LTEsdGhpcy5jYWxsYmFja05vZGU9dGhpcy5wZW5kaW5nQ29udGV4dD10aGlzLmNvbnRleHQ9bnVsbCx0aGlzLmNhbGxiYWNrUHJpb3JpdHk9MCx0aGlzLmV2ZW50VGltZXM9dm4oMCksdGhpcy5leHBpcmF0aW9uVGltZXM9dm4oLTEpLHRoaXMuZW50YW5nbGVkTGFuZXM9dGhpcy5maW5pc2hlZExhbmVzPXRoaXMubXV0YWJsZVJlYWRMYW5lcz10aGlzLmV4cGlyZWRMYW5lcz10aGlzLnBpbmdlZExhbmVzPXRoaXMuc3VzcGVuZGVkTGFuZXM9dGhpcy5wZW5kaW5nTGFuZXM9MCx0aGlzLmVudGFuZ2xlbWVudHM9dm4oMCksdGhpcy5pZGVudGlmaWVyUHJlZml4PXIsdGhpcy5vblJlY292ZXJhYmxlRXJyb3I9bCx0aGlzLm11dGFibGVTb3VyY2VFYWdlckh5ZHJhdGlvbkRhdGE9bnVsbH1mdW5jdGlvbiBBcyhlLG4sdCxyLGwsYSx1LG8saSl7cmV0dXJuIGU9bmV3IFZzKGUsbix0LG8saSksMT09PW4/KG49MSwhMD09PWEmJihufD04KSk6bj0wLGE9THMoMyxudWxsLG51bGwsbiksZS5jdXJyZW50PWEsYS5zdGF0ZU5vZGU9ZSxhLm1lbW9pemVkU3RhdGU9e2VsZW1lbnQ6cixpc0RlaHlkcmF0ZWQ6dCxjYWNoZTpudWxsLHRyYW5zaXRpb25zOm51bGwscGVuZGluZ1N1c3BlbnNlQm91bmRhcmllczpudWxsfSxMYShhKSxlfWZ1bmN0aW9uIEJzKGUpe2lmKCFlKXJldHVybiBObDtlOntpZihXZShlPWUuX3JlYWN0SW50ZXJuYWxzKSE9PWV8fDEhPT1lLnRhZyl0aHJvdyBFcnJvcihhKDE3MCkpO3ZhciBuPWU7ZG97c3dpdGNoKG4udGFnKXtjYXNlIDM6bj1uLnN0YXRlTm9kZS5jb250ZXh0O2JyZWFrIGU7Y2FzZSAxOmlmKE1sKG4udHlwZSkpe249bi5zdGF0ZU5vZGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNZXJnZWRDaGlsZENvbnRleHQ7YnJlYWsgZX19bj1uLnJldHVybn13aGlsZShudWxsIT09bik7dGhyb3cgRXJyb3IoYSgxNzEpKX1pZigxPT09ZS50YWcpe3ZhciB0PWUudHlwZTtpZihNbCh0KSlyZXR1cm4gRGwoZSx0LG4pfXJldHVybiBufWZ1bmN0aW9uIFdzKGUsbix0LHIsbCxhLHUsbyxpKXtyZXR1cm4oZT1Bcyh0LHIsITAsZSwwLGEsMCxvLGkpKS5jb250ZXh0PUJzKG51bGwpLHQ9ZS5jdXJyZW50LChhPUZhKHI9ZXMoKSxsPW5zKHQpKSkuY2FsbGJhY2s9bnVsbCE9bj9uOm51bGwsUmEodCxhLGwpLGUuY3VycmVudC5sYW5lcz1sLHluKGUsbCxyKSxycyhlLHIpLGV9ZnVuY3Rpb24gSHMoZSxuLHQscil7dmFyIGw9bi5jdXJyZW50LGE9ZXMoKSx1PW5zKGwpO3JldHVybiB0PUJzKHQpLG51bGw9PT1uLmNvbnRleHQ/bi5jb250ZXh0PXQ6bi5wZW5kaW5nQ29udGV4dD10LChuPUZhKGEsdSkpLnBheWxvYWQ9e2VsZW1lbnQ6ZX0sbnVsbCE9PShyPXZvaWQgMD09PXI/bnVsbDpyKSYmKG4uY2FsbGJhY2s9ciksbnVsbCE9PShlPVJhKGwsbix1KSkmJih0cyhlLGwsdSxhKSxEYShlLGwsdSkpLHV9ZnVuY3Rpb24gUXMoZSl7cmV0dXJuKGU9ZS5jdXJyZW50KS5jaGlsZD8oZS5jaGlsZC50YWcsZS5jaGlsZC5zdGF0ZU5vZGUpOm51bGx9ZnVuY3Rpb24ganMoZSxuKXtpZihudWxsIT09KGU9ZS5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PWUuZGVoeWRyYXRlZCl7dmFyIHQ9ZS5yZXRyeUxhbmU7ZS5yZXRyeUxhbmU9MCE9PXQmJnQ8bj90Om59fWZ1bmN0aW9uICRzKGUsbil7anMoZSxuKSwoZT1lLmFsdGVybmF0ZSkmJmpzKGUsbil9eGk9ZnVuY3Rpb24oZSxuLHQpe2lmKG51bGwhPT1lKWlmKGUubWVtb2l6ZWRQcm9wcyE9PW4ucGVuZGluZ1Byb3BzfHxQbC5jdXJyZW50KWtvPSEwO2Vsc2V7aWYoIShlLmxhbmVzJnR8fDEyOCZuLmZsYWdzKSlyZXR1cm4ga289ITEsZnVuY3Rpb24oZSxuLHQpe3N3aXRjaChuLnRhZyl7Y2FzZSAzOlRvKG4pLHBhKCk7YnJlYWs7Y2FzZSA1OmF1KG4pO2JyZWFrO2Nhc2UgMTpNbChuLnR5cGUpJiZJbChuKTticmVhaztjYXNlIDQ6cnUobixuLnN0YXRlTm9kZS5jb250YWluZXJJbmZvKTticmVhaztjYXNlIDEwOnZhciByPW4udHlwZS5fY29udGV4dCxsPW4ubWVtb2l6ZWRQcm9wcy52YWx1ZTt6bCh2YSxyLl9jdXJyZW50VmFsdWUpLHIuX2N1cnJlbnRWYWx1ZT1sO2JyZWFrO2Nhc2UgMTM6aWYobnVsbCE9PShyPW4ubWVtb2l6ZWRTdGF0ZSkpcmV0dXJuIG51bGwhPT1yLmRlaHlkcmF0ZWQ/KHpsKG91LDEmb3UuY3VycmVudCksbi5mbGFnc3w9MTI4LG51bGwpOnQmbi5jaGlsZC5jaGlsZExhbmVzP09vKGUsbix0KTooemwob3UsMSZvdS5jdXJyZW50KSwKbnVsbCE9PShlPVFvKGUsbix0KSk/ZS5zaWJsaW5nOm51bGwpO3psKG91LDEmb3UuY3VycmVudCk7YnJlYWs7Y2FzZSAxOTppZihyPSEhKHQmbi5jaGlsZExhbmVzKSwxMjgmZS5mbGFncyl7aWYocilyZXR1cm4gV28oZSxuLHQpO24uZmxhZ3N8PTEyOH1pZihudWxsIT09KGw9bi5tZW1vaXplZFN0YXRlKSYmKGwucmVuZGVyaW5nPW51bGwsbC50YWlsPW51bGwsbC5sYXN0RWZmZWN0PW51bGwpLHpsKG91LG91LmN1cnJlbnQpLHIpYnJlYWs7cmV0dXJuIG51bGw7Y2FzZSAyMjpjYXNlIDIzOnJldHVybiBuLmxhbmVzPTAsQ28oZSxuLHQpfXJldHVybiBRbyhlLG4sdCl9KGUsbix0KTtrbz0hISgxMzEwNzImZS5mbGFncyl9ZWxzZSBrbz0hMSxsYSYmMTA0ODU3NiZuLmZsYWdzJiZKbChuLCRsLG4uaW5kZXgpO3N3aXRjaChuLmxhbmVzPTAsbi50YWcpe2Nhc2UgMjp2YXIgcj1uLnR5cGU7SG8oZSxuKSxlPW4ucGVuZGluZ1Byb3BzO3ZhciBsPUxsKG4sX2wuY3VycmVudCk7RWEobix0KSxsPXh1KG51bGwsbixyLGUsbCx0KTt2YXIgdT1FdSgpO3JldHVybiBuLmZsYWdzfD0xLCJvYmplY3QiPT10eXBlb2YgbCYmbnVsbCE9PWwmJiJmdW5jdGlvbiI9PXR5cGVvZiBsLnJlbmRlciYmdm9pZCAwPT09bC4kJHR5cGVvZj8obi50YWc9MSxuLm1lbW9pemVkU3RhdGU9bnVsbCxuLnVwZGF0ZVF1ZXVlPW51bGwsTWwocik/KHU9ITAsSWwobikpOnU9ITEsbi5tZW1vaXplZFN0YXRlPW51bGwhPT1sLnN0YXRlJiZ2b2lkIDAhPT1sLnN0YXRlP2wuc3RhdGU6bnVsbCxMYShuKSxsLnVwZGF0ZXI9QmEsbi5zdGF0ZU5vZGU9bCxsLl9yZWFjdEludGVybmFscz1uLGphKG4scixlLHQpLG49UG8obnVsbCxuLHIsITAsdSx0KSk6KG4udGFnPTAsbGEmJnUmJmVhKG4pLHdvKG51bGwsbixsLHQpLG49bi5jaGlsZCksbjtjYXNlIDE2OnI9bi5lbGVtZW50VHlwZTtlOntzd2l0Y2goSG8oZSxuKSxlPW4ucGVuZGluZ1Byb3BzLHI9KGw9ci5faW5pdCkoci5fcGF5bG9hZCksbi50eXBlPXIsbD1uLnRhZz1mdW5jdGlvbihlKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgZSlyZXR1cm4gTXMoZSk/MTowO2lmKG51bGwhPWUpe2lmKChlPWUuJCR0eXBlb2YpPT09XylyZXR1cm4gMTE7aWYoZT09PUwpcmV0dXJuIDE0fXJldHVybiAyfShyKSxlPWdhKHIsZSksbCl7Y2FzZSAwOm49Tm8obnVsbCxuLHIsZSx0KTticmVhayBlO2Nhc2UgMTpuPV9vKG51bGwsbixyLGUsdCk7YnJlYWsgZTtjYXNlIDExOm49U28obnVsbCxuLHIsZSx0KTticmVhayBlO2Nhc2UgMTQ6bj14byhudWxsLG4scixnYShyLnR5cGUsZSksdCk7YnJlYWsgZX10aHJvdyBFcnJvcihhKDMwNixyLCIiKSl9cmV0dXJuIG47Y2FzZSAwOnJldHVybiByPW4udHlwZSxsPW4ucGVuZGluZ1Byb3BzLE5vKGUsbixyLGw9bi5lbGVtZW50VHlwZT09PXI/bDpnYShyLGwpLHQpO2Nhc2UgMTpyZXR1cm4gcj1uLnR5cGUsbD1uLnBlbmRpbmdQcm9wcyxfbyhlLG4scixsPW4uZWxlbWVudFR5cGU9PT1yP2w6Z2EocixsKSx0KTtjYXNlIDM6ZTp7aWYoVG8obiksbnVsbD09PWUpdGhyb3cgRXJyb3IoYSgzODcpKTtyPW4ucGVuZGluZ1Byb3BzLGw9KHU9bi5tZW1vaXplZFN0YXRlKS5lbGVtZW50LE1hKGUsbiksT2EobixyLG51bGwsdCk7dmFyIG89bi5tZW1vaXplZFN0YXRlO2lmKHI9by5lbGVtZW50LHUuaXNEZWh5ZHJhdGVkKXtpZih1PXtlbGVtZW50OnIsaXNEZWh5ZHJhdGVkOiExLGNhY2hlOm8uY2FjaGUscGVuZGluZ1N1c3BlbnNlQm91bmRhcmllczpvLnBlbmRpbmdTdXNwZW5zZUJvdW5kYXJpZXMsdHJhbnNpdGlvbnM6by50cmFuc2l0aW9uc30sbi51cGRhdGVRdWV1ZS5iYXNlU3RhdGU9dSxuLm1lbW9pemVkU3RhdGU9dSwyNTYmbi5mbGFncyl7bj1MbyhlLG4scix0LGw9c28oRXJyb3IoYSg0MjMpKSxuKSk7YnJlYWsgZX1pZihyIT09bCl7bj1MbyhlLG4scix0LGw9c28oRXJyb3IoYSg0MjQpKSxuKSk7YnJlYWsgZX1mb3IocmE9c2wobi5zdGF0ZU5vZGUuY29udGFpbmVySW5mby5maXJzdENoaWxkKSx0YT1uLGxhPSEwLGFhPW51bGwsdD1HYShuLG51bGwscix0KSxuLmNoaWxkPXQ7dDspdC5mbGFncz0tMyZ0LmZsYWdzfDQwOTYsdD10LnNpYmxpbmd9ZWxzZXtpZihwYSgpLHI9PT1sKXtuPVFvKGUsbix0KTticmVhayBlfXdvKGUsbixyLHQpfW49bi5jaGlsZH1yZXR1cm4gbjtjYXNlIDU6cmV0dXJuIGF1KG4pLG51bGw9PT1lJiZzYShuKSxyPW4udHlwZSxsPW4ucGVuZGluZ1Byb3BzLHU9bnVsbCE9PWU/ZS5tZW1vaXplZFByb3BzOm51bGwsbz1sLmNoaWxkcmVuLHRsKHIsbCk/bz1udWxsOm51bGwhPT11JiZ0bChyLHUpJiYobi5mbGFnc3w9MzIpLHpvKGUsbiksd28oZSxuLG8sdCksbi5jaGlsZDtjYXNlIDY6cmV0dXJuIG51bGw9PT1lJiZzYShuKSxudWxsO2Nhc2UgMTM6cmV0dXJuIE9vKGUsbix0KTtjYXNlIDQ6cmV0dXJuIHJ1KG4sbi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbykscj1uLnBlbmRpbmdQcm9wcyxudWxsPT09ZT9uLmNoaWxkPVhhKG4sbnVsbCxyLHQpOndvKGUsbixyLHQpLG4uY2hpbGQ7Y2FzZSAxMTpyZXR1cm4gcj1uLnR5cGUsbD1uLnBlbmRpbmdQcm9wcyxTbyhlLG4scixsPW4uZWxlbWVudFR5cGU9PT1yP2w6Z2EocixsKSx0KTtjYXNlIDc6cmV0dXJuIHdvKGUsbixuLnBlbmRpbmdQcm9wcyx0KSxuLmNoaWxkO2Nhc2UgODpjYXNlIDEyOnJldHVybiB3byhlLG4sbi5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sdCksbi5jaGlsZDtjYXNlIDEwOmU6e2lmKHI9bi50eXBlLl9jb250ZXh0LGw9bi5wZW5kaW5nUHJvcHMsdT1uLm1lbW9pemVkUHJvcHMsbz1sLnZhbHVlLHpsKHZhLHIuX2N1cnJlbnRWYWx1ZSksci5fY3VycmVudFZhbHVlPW8sbnVsbCE9PXUpaWYob3IodS52YWx1ZSxvKSl7aWYodS5jaGlsZHJlbj09PWwuY2hpbGRyZW4mJiFQbC5jdXJyZW50KXtuPVFvKGUsbix0KTticmVhayBlfX1lbHNlIGZvcihudWxsIT09KHU9bi5jaGlsZCkmJih1LnJldHVybj1uKTtudWxsIT09dTspe3ZhciBpPXUuZGVwZW5kZW5jaWVzO2lmKG51bGwhPT1pKXtvPXUuY2hpbGQ7Zm9yKHZhciBzPWkuZmlyc3RDb250ZXh0O251bGwhPT1zOyl7aWYocy5jb250ZXh0PT09cil7CmlmKDE9PT11LnRhZyl7KHM9RmEoLTEsdCYtdCkpLnRhZz0yO3ZhciBjPXUudXBkYXRlUXVldWU7aWYobnVsbCE9PWMpe3ZhciBmPShjPWMuc2hhcmVkKS5wZW5kaW5nO251bGw9PT1mP3MubmV4dD1zOihzLm5leHQ9Zi5uZXh0LGYubmV4dD1zKSxjLnBlbmRpbmc9c319dS5sYW5lc3w9dCxudWxsIT09KHM9dS5hbHRlcm5hdGUpJiYocy5sYW5lc3w9dCkseGEodS5yZXR1cm4sdCxuKSxpLmxhbmVzfD10O2JyZWFrfXM9cy5uZXh0fX1lbHNlIGlmKDEwPT09dS50YWcpbz11LnR5cGU9PT1uLnR5cGU/bnVsbDp1LmNoaWxkO2Vsc2UgaWYoMTg9PT11LnRhZyl7aWYobnVsbD09PShvPXUucmV0dXJuKSl0aHJvdyBFcnJvcihhKDM0MSkpO28ubGFuZXN8PXQsbnVsbCE9PShpPW8uYWx0ZXJuYXRlKSYmKGkubGFuZXN8PXQpLHhhKG8sdCxuKSxvPXUuc2libGluZ31lbHNlIG89dS5jaGlsZDtpZihudWxsIT09bylvLnJldHVybj11O2Vsc2UgZm9yKG89dTtudWxsIT09bzspe2lmKG89PT1uKXtvPW51bGw7YnJlYWt9aWYobnVsbCE9PSh1PW8uc2libGluZykpe3UucmV0dXJuPW8ucmV0dXJuLG89dTticmVha31vPW8ucmV0dXJufXU9b313byhlLG4sbC5jaGlsZHJlbix0KSxuPW4uY2hpbGR9cmV0dXJuIG47Y2FzZSA5OnJldHVybiBsPW4udHlwZSxyPW4ucGVuZGluZ1Byb3BzLmNoaWxkcmVuLEVhKG4sdCkscj1yKGw9Q2EobCkpLG4uZmxhZ3N8PTEsd28oZSxuLHIsdCksbi5jaGlsZDtjYXNlIDE0OnJldHVybiBsPWdhKHI9bi50eXBlLG4ucGVuZGluZ1Byb3BzKSx4byhlLG4scixsPWdhKHIudHlwZSxsKSx0KTtjYXNlIDE1OnJldHVybiBFbyhlLG4sbi50eXBlLG4ucGVuZGluZ1Byb3BzLHQpO2Nhc2UgMTc6cmV0dXJuIHI9bi50eXBlLGw9bi5wZW5kaW5nUHJvcHMsbD1uLmVsZW1lbnRUeXBlPT09cj9sOmdhKHIsbCksSG8oZSxuKSxuLnRhZz0xLE1sKHIpPyhlPSEwLElsKG4pKTplPSExLEVhKG4sdCksSGEobixyLGwpLGphKG4scixsLHQpLFBvKG51bGwsbixyLCEwLGUsdCk7Y2FzZSAxOTpyZXR1cm4gV28oZSxuLHQpO2Nhc2UgMjI6cmV0dXJuIENvKGUsbix0KX10aHJvdyBFcnJvcihhKDE1NixuLnRhZykpfTt2YXIgcXM9ImZ1bmN0aW9uIj09dHlwZW9mIHJlcG9ydEVycm9yP3JlcG9ydEVycm9yOmZ1bmN0aW9uKGUpe2NvbnNvbGUuZXJyb3IoZSl9O2Z1bmN0aW9uIEtzKGUpe3RoaXMuX2ludGVybmFsUm9vdD1lfWZ1bmN0aW9uIFlzKGUpe3RoaXMuX2ludGVybmFsUm9vdD1lfWZ1bmN0aW9uIFhzKGUpe3JldHVybiEoIWV8fDEhPT1lLm5vZGVUeXBlJiY5IT09ZS5ub2RlVHlwZSYmMTEhPT1lLm5vZGVUeXBlKX1mdW5jdGlvbiBHcyhlKXtyZXR1cm4hKCFlfHwxIT09ZS5ub2RlVHlwZSYmOSE9PWUubm9kZVR5cGUmJjExIT09ZS5ub2RlVHlwZSYmKDghPT1lLm5vZGVUeXBlfHwiIHJlYWN0LW1vdW50LXBvaW50LXVuc3RhYmxlICIhPT1lLm5vZGVWYWx1ZSkpfWZ1bmN0aW9uIFpzKCl7fWZ1bmN0aW9uIEpzKGUsbix0LHIsbCl7dmFyIGE9dC5fcmVhY3RSb290Q29udGFpbmVyO2lmKGEpe3ZhciB1PWE7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGwpe3ZhciBvPWw7bD1mdW5jdGlvbigpe3ZhciBlPVFzKHUpO28uY2FsbChlKX19SHMobix1LGUsbCl9ZWxzZSB1PWZ1bmN0aW9uKGUsbix0LHIsbCl7aWYobCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpe3ZhciBhPXI7cj1mdW5jdGlvbigpe3ZhciBlPVFzKHUpO2EuY2FsbChlKX19dmFyIHU9V3MobixyLGUsMCxudWxsLCExLDAsIiIsWnMpO3JldHVybiBlLl9yZWFjdFJvb3RDb250YWluZXI9dSxlW21sXT11LmN1cnJlbnQsV3IoOD09PWUubm9kZVR5cGU/ZS5wYXJlbnROb2RlOmUpLGNzKCksdX1mb3IoO2w9ZS5sYXN0Q2hpbGQ7KWUucmVtb3ZlQ2hpbGQobCk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpe3ZhciBvPXI7cj1mdW5jdGlvbigpe3ZhciBlPVFzKGkpO28uY2FsbChlKX19dmFyIGk9QXMoZSwwLCExLG51bGwsMCwhMSwwLCIiLFpzKTtyZXR1cm4gZS5fcmVhY3RSb290Q29udGFpbmVyPWksZVttbF09aS5jdXJyZW50LFdyKDg9PT1lLm5vZGVUeXBlP2UucGFyZW50Tm9kZTplKSxjcygoZnVuY3Rpb24oKXtIcyhuLGksdCxyKX0pKSxpfSh0LG4sZSxsLHIpO3JldHVybiBRcyh1KX1Zcy5wcm90b3R5cGUucmVuZGVyPUtzLnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oZSl7dmFyIG49dGhpcy5faW50ZXJuYWxSb290O2lmKG51bGw9PT1uKXRocm93IEVycm9yKGEoNDA5KSk7SHMoZSxuLG51bGwsbnVsbCl9LFlzLnByb3RvdHlwZS51bm1vdW50PUtzLnByb3RvdHlwZS51bm1vdW50PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5faW50ZXJuYWxSb290O2lmKG51bGwhPT1lKXt0aGlzLl9pbnRlcm5hbFJvb3Q9bnVsbDt2YXIgbj1lLmNvbnRhaW5lckluZm87Y3MoKGZ1bmN0aW9uKCl7SHMobnVsbCxlLG51bGwsbnVsbCl9KSksblttbF09bnVsbH19LFlzLnByb3RvdHlwZS51bnN0YWJsZV9zY2hlZHVsZUh5ZHJhdGlvbj1mdW5jdGlvbihlKXtpZihlKXt2YXIgbj1DbigpO2U9e2Jsb2NrZWRPbjpudWxsLHRhcmdldDplLHByaW9yaXR5Om59O2Zvcih2YXIgdD0wO3Q8Um4ubGVuZ3RoJiYwIT09biYmbjxSblt0XS5wcmlvcml0eTt0KyspO1JuLnNwbGljZSh0LDAsZSksMD09PXQmJlVuKGUpfX0sU249ZnVuY3Rpb24oZSl7c3dpdGNoKGUudGFnKXtjYXNlIDM6dmFyIG49ZS5zdGF0ZU5vZGU7aWYobi5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXt2YXIgdD1kbihuLnBlbmRpbmdMYW5lcyk7MCE9PXQmJihibihuLDF8dCkscnMobixHZSgpKSwhKDYmX2kpJiYoV2k9R2UoKSs1MDAsV2woKSkpfWJyZWFrO2Nhc2UgMTM6Y3MoKGZ1bmN0aW9uKCl7dmFyIG49UGEoZSwxKTtpZihudWxsIT09bil7dmFyIHQ9ZXMoKTt0cyhuLGUsMSx0KX19KSksJHMoZSwxKX19LHhuPWZ1bmN0aW9uKGUpe2lmKDEzPT09ZS50YWcpe3ZhciBuPVBhKGUsMTM0MjE3NzI4KTtpZihudWxsIT09bil0cyhuLGUsMTM0MjE3NzI4LGVzKCkpOyRzKGUsMTM0MjE3NzI4KX19LEVuPWZ1bmN0aW9uKGUpe2lmKDEzPT09ZS50YWcpe3ZhciBuPW5zKGUpLHQ9UGEoZSxuKQo7aWYobnVsbCE9PXQpdHModCxlLG4sZXMoKSk7JHMoZSxuKX19LENuPWZ1bmN0aW9uKCl7cmV0dXJuIGtufSx6bj1mdW5jdGlvbihlLG4pe3ZhciB0PWtuO3RyeXtyZXR1cm4ga249ZSxuKCl9ZmluYWxseXtrbj10fX0sU2U9ZnVuY3Rpb24oZSxuLHQpe3N3aXRjaChuKXtjYXNlImlucHV0IjppZihaKGUsdCksbj10Lm5hbWUsInJhZGlvIj09PXQudHlwZSYmbnVsbCE9bil7Zm9yKHQ9ZTt0LnBhcmVudE5vZGU7KXQ9dC5wYXJlbnROb2RlO2Zvcih0PXQucXVlcnlTZWxlY3RvckFsbCgiaW5wdXRbbmFtZT0iK0pTT04uc3RyaW5naWZ5KCIiK24pKyddW3R5cGU9InJhZGlvIl0nKSxuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciByPXRbbl07aWYociE9PWUmJnIuZm9ybT09PWUuZm9ybSl7dmFyIGw9d2wocik7aWYoIWwpdGhyb3cgRXJyb3IoYSg5MCkpO3EociksWihyLGwpfX19YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6YWUoZSx0KTticmVhaztjYXNlInNlbGVjdCI6bnVsbCE9KG49dC52YWx1ZSkmJnRlKGUsISF0Lm11bHRpcGxlLG4sITEpfX0sX2U9c3MsUGU9Y3M7dmFyIGVjPXt1c2luZ0NsaWVudEVudHJ5UG9pbnQ6ITEsRXZlbnRzOltibCxrbCx3bCx6ZSxOZSxzc119LG5jPXtmaW5kRmliZXJCeUhvc3RJbnN0YW5jZTp5bCxidW5kbGVUeXBlOjAsdmVyc2lvbjoiMTguMi4wIixyZW5kZXJlclBhY2thZ2VOYW1lOiJyZWFjdC1kb20ifSx0Yz17YnVuZGxlVHlwZTpuYy5idW5kbGVUeXBlLHZlcnNpb246bmMudmVyc2lvbixyZW5kZXJlclBhY2thZ2VOYW1lOm5jLnJlbmRlcmVyUGFja2FnZU5hbWUscmVuZGVyZXJDb25maWc6bmMucmVuZGVyZXJDb25maWcsb3ZlcnJpZGVIb29rU3RhdGU6bnVsbCxvdmVycmlkZUhvb2tTdGF0ZURlbGV0ZVBhdGg6bnVsbCxvdmVycmlkZUhvb2tTdGF0ZVJlbmFtZVBhdGg6bnVsbCxvdmVycmlkZVByb3BzOm51bGwsb3ZlcnJpZGVQcm9wc0RlbGV0ZVBhdGg6bnVsbCxvdmVycmlkZVByb3BzUmVuYW1lUGF0aDpudWxsLHNldEVycm9ySGFuZGxlcjpudWxsLHNldFN1c3BlbnNlSGFuZGxlcjpudWxsLHNjaGVkdWxlVXBkYXRlOm51bGwsY3VycmVudERpc3BhdGNoZXJSZWY6ay5SZWFjdEN1cnJlbnREaXNwYXRjaGVyLGZpbmRIb3N0SW5zdGFuY2VCeUZpYmVyOmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT09KGU9amUoZSkpP251bGw6ZS5zdGF0ZU5vZGV9LGZpbmRGaWJlckJ5SG9zdEluc3RhbmNlOm5jLmZpbmRGaWJlckJ5SG9zdEluc3RhbmNlfHxmdW5jdGlvbigpe3JldHVybiBudWxsfSxmaW5kSG9zdEluc3RhbmNlc0ZvclJlZnJlc2g6bnVsbCxzY2hlZHVsZVJlZnJlc2g6bnVsbCxzY2hlZHVsZVJvb3Q6bnVsbCxzZXRSZWZyZXNoSGFuZGxlcjpudWxsLGdldEN1cnJlbnRGaWJlcjpudWxsLHJlY29uY2lsZXJWZXJzaW9uOiIxOC4yLjAtbmV4dC05ZTNiNzcyYjgtMjAyMjA2MDgifTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyl7dmFyIHJjPV9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXztpZighcmMuaXNEaXNhYmxlZCYmcmMuc3VwcG9ydHNGaWJlcil0cnl7bG49cmMuaW5qZWN0KHRjKSxhbj1yY31jYXRjaChjZSl7fX1uLl9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEPWVjLG4uY3JlYXRlUG9ydGFsPWZ1bmN0aW9uKGUsbil7dmFyIHQ9Mjxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOm51bGw7aWYoIVhzKG4pKXRocm93IEVycm9yKGEoMjAwKSk7cmV0dXJuIGZ1bmN0aW9uKGUsbix0KXt2YXIgcj0zPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1szXT9hcmd1bWVudHNbM106bnVsbDtyZXR1cm57JCR0eXBlb2Y6UyxrZXk6bnVsbD09cj9udWxsOiIiK3IsY2hpbGRyZW46ZSxjb250YWluZXJJbmZvOm4saW1wbGVtZW50YXRpb246dH19KGUsbixudWxsLHQpfSxuLmNyZWF0ZVJvb3Q9ZnVuY3Rpb24oZSxuKXtpZighWHMoZSkpdGhyb3cgRXJyb3IoYSgyOTkpKTt2YXIgdD0hMSxyPSIiLGw9cXM7cmV0dXJuIG51bGwhPW4mJighMD09PW4udW5zdGFibGVfc3RyaWN0TW9kZSYmKHQ9ITApLHZvaWQgMCE9PW4uaWRlbnRpZmllclByZWZpeCYmKHI9bi5pZGVudGlmaWVyUHJlZml4KSx2b2lkIDAhPT1uLm9uUmVjb3ZlcmFibGVFcnJvciYmKGw9bi5vblJlY292ZXJhYmxlRXJyb3IpKSxuPUFzKGUsMSwhMSxudWxsLDAsdCwwLHIsbCksZVttbF09bi5jdXJyZW50LFdyKDg9PT1lLm5vZGVUeXBlP2UucGFyZW50Tm9kZTplKSxuZXcgS3Mobil9LG4uZmluZERPTU5vZGU9ZnVuY3Rpb24oZSl7aWYobnVsbD09ZSlyZXR1cm4gbnVsbDtpZigxPT09ZS5ub2RlVHlwZSlyZXR1cm4gZTt2YXIgbj1lLl9yZWFjdEludGVybmFscztpZih2b2lkIDA9PT1uKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgZS5yZW5kZXIpdGhyb3cgRXJyb3IoYSgxODgpKTt0aHJvdyBlPU9iamVjdC5rZXlzKGUpLmpvaW4oIiwiKSxFcnJvcihhKDI2OCxlKSl9cmV0dXJuIGU9bnVsbD09PShlPWplKG4pKT9udWxsOmUuc3RhdGVOb2RlfSxuLmZsdXNoU3luYz1mdW5jdGlvbihlKXtyZXR1cm4gY3MoZSl9LG4uaHlkcmF0ZT1mdW5jdGlvbihlLG4sdCl7aWYoIUdzKG4pKXRocm93IEVycm9yKGEoMjAwKSk7cmV0dXJuIEpzKG51bGwsZSxuLCEwLHQpfSxuLmh5ZHJhdGVSb290PWZ1bmN0aW9uKGUsbix0KXtpZighWHMoZSkpdGhyb3cgRXJyb3IoYSg0MDUpKTt2YXIgcj1udWxsIT10JiZ0Lmh5ZHJhdGVkU291cmNlc3x8bnVsbCxsPSExLHU9IiIsbz1xcztpZihudWxsIT10JiYoITA9PT10LnVuc3RhYmxlX3N0cmljdE1vZGUmJihsPSEwKSx2b2lkIDAhPT10LmlkZW50aWZpZXJQcmVmaXgmJih1PXQuaWRlbnRpZmllclByZWZpeCksdm9pZCAwIT09dC5vblJlY292ZXJhYmxlRXJyb3ImJihvPXQub25SZWNvdmVyYWJsZUVycm9yKSksbj1XcyhuLG51bGwsZSwxLG51bGwhPXQ/dDpudWxsLGwsMCx1LG8pLGVbbWxdPW4uY3VycmVudCxXcihlKSxyKWZvcihlPTA7ZTxyLmxlbmd0aDtlKyspbD0obD0odD1yW2VdKS5fZ2V0VmVyc2lvbikodC5fc291cmNlKSwKbnVsbD09bi5tdXRhYmxlU291cmNlRWFnZXJIeWRyYXRpb25EYXRhP24ubXV0YWJsZVNvdXJjZUVhZ2VySHlkcmF0aW9uRGF0YT1bdCxsXTpuLm11dGFibGVTb3VyY2VFYWdlckh5ZHJhdGlvbkRhdGEucHVzaCh0LGwpO3JldHVybiBuZXcgWXMobil9LG4ucmVuZGVyPWZ1bmN0aW9uKGUsbix0KXtpZighR3MobikpdGhyb3cgRXJyb3IoYSgyMDApKTtyZXR1cm4gSnMobnVsbCxlLG4sITEsdCl9LG4udW5tb3VudENvbXBvbmVudEF0Tm9kZT1mdW5jdGlvbihlKXtpZighR3MoZSkpdGhyb3cgRXJyb3IoYSg0MCkpO3JldHVybiEhZS5fcmVhY3RSb290Q29udGFpbmVyJiYoY3MoKGZ1bmN0aW9uKCl7SnMobnVsbCxudWxsLGUsITEsKGZ1bmN0aW9uKCl7ZS5fcmVhY3RSb290Q29udGFpbmVyPW51bGwsZVttbF09bnVsbH0pKX0pKSwhMCl9LG4udW5zdGFibGVfYmF0Y2hlZFVwZGF0ZXM9c3Msbi51bnN0YWJsZV9yZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcj1mdW5jdGlvbihlLG4sdCxyKXtpZighR3ModCkpdGhyb3cgRXJyb3IoYSgyMDApKTtpZihudWxsPT1lfHx2b2lkIDA9PT1lLl9yZWFjdEludGVybmFscyl0aHJvdyBFcnJvcihhKDM4KSk7cmV0dXJuIEpzKGUsbix0LCExLHIpfSxuLnZlcnNpb249IjE4LjIuMC1uZXh0LTllM2I3NzJiOC0yMDIyMDYwOCJ9LDUwODIwNyhlLG4pe2Z1bmN0aW9uIHQoZSxuKXt2YXIgdD1lLmxlbmd0aDtlLnB1c2gobik7ZTpmb3IoOzA8dDspe3ZhciByPXQtMT4+PjEsbD1lW3JdO2lmKCEoMDxhKGwsbikpKWJyZWFrIGU7ZVtyXT1uLGVbdF09bCx0PXJ9fWZ1bmN0aW9uIHIoZSl7cmV0dXJuIDA9PT1lLmxlbmd0aD9udWxsOmVbMF19ZnVuY3Rpb24gbChlKXtpZigwPT09ZS5sZW5ndGgpcmV0dXJuIG51bGw7dmFyIG49ZVswXSx0PWUucG9wKCk7aWYodCE9PW4pe2VbMF09dDtlOmZvcih2YXIgcj0wLGw9ZS5sZW5ndGgsdT1sPj4+MTtyPHU7KXt2YXIgbz0yKihyKzEpLTEsaT1lW29dLHM9bysxLGM9ZVtzXTtpZigwPmEoaSx0KSlzPGwmJjA+YShjLGkpPyhlW3JdPWMsZVtzXT10LHI9cyk6KGVbcl09aSxlW29dPXQscj1vKTtlbHNle2lmKCEoczxsJiYwPmEoYyx0KSkpYnJlYWsgZTtlW3JdPWMsZVtzXT10LHI9c319fXJldHVybiBufWZ1bmN0aW9uIGEoZSxuKXt2YXIgdD1lLnNvcnRJbmRleC1uLnNvcnRJbmRleDtyZXR1cm4gMCE9PXQ/dDplLmlkLW4uaWR9aWYoIm9iamVjdCI9PXR5cGVvZiBwZXJmb3JtYW5jZSYmImZ1bmN0aW9uIj09dHlwZW9mIHBlcmZvcm1hbmNlLm5vdyl7dmFyIHU9cGVyZm9ybWFuY2U7bi51bnN0YWJsZV9ub3c9ZnVuY3Rpb24oKXtyZXR1cm4gdS5ub3coKX19ZWxzZXt2YXIgbz1EYXRlLGk9by5ub3coKTtuLnVuc3RhYmxlX25vdz1mdW5jdGlvbigpe3JldHVybiBvLm5vdygpLWl9fXZhciBzPVtdLGM9W10sZj0xLGQ9bnVsbCxwPTMsbT0hMSxoPSExLGc9ITEsdj0iZnVuY3Rpb24iPT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0Om51bGwseT0iZnVuY3Rpb24iPT10eXBlb2YgY2xlYXJUaW1lb3V0P2NsZWFyVGltZW91dDpudWxsLGI9InVuZGVmaW5lZCIhPXR5cGVvZiBzZXRJbW1lZGlhdGU/c2V0SW1tZWRpYXRlOm51bGw7ZnVuY3Rpb24gayhlKXtmb3IodmFyIG49cihjKTtudWxsIT09bjspe2lmKG51bGw9PT1uLmNhbGxiYWNrKWwoYyk7ZWxzZXtpZighKG4uc3RhcnRUaW1lPD1lKSlicmVhaztsKGMpLG4uc29ydEluZGV4PW4uZXhwaXJhdGlvblRpbWUsdChzLG4pfW49cihjKX19ZnVuY3Rpb24gdyhlKXtpZihnPSExLGsoZSksIWgpaWYobnVsbCE9PXIocykpaD0hMCxGKFMpO2Vsc2V7dmFyIG49cihjKTtudWxsIT09biYmUih3LG4uc3RhcnRUaW1lLWUpfX1mdW5jdGlvbiBTKGUsdCl7aD0hMSxnJiYoZz0hMSx5KHopLHo9LTEpLG09ITA7dmFyIGE9cDt0cnl7Zm9yKGsodCksZD1yKHMpO251bGwhPT1kJiYoIShkLmV4cGlyYXRpb25UaW1lPnQpfHxlJiYhUCgpKTspe3ZhciB1PWQuY2FsbGJhY2s7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHUpe2QuY2FsbGJhY2s9bnVsbCxwPWQucHJpb3JpdHlMZXZlbDt2YXIgbz11KGQuZXhwaXJhdGlvblRpbWU8PXQpO3Q9bi51bnN0YWJsZV9ub3coKSwiZnVuY3Rpb24iPT10eXBlb2Ygbz9kLmNhbGxiYWNrPW86ZD09PXIocykmJmwocyksayh0KX1lbHNlIGwocyk7ZD1yKHMpfWlmKG51bGwhPT1kKXZhciBpPSEwO2Vsc2V7dmFyIGY9cihjKTtudWxsIT09ZiYmUih3LGYuc3RhcnRUaW1lLXQpLGk9ITF9cmV0dXJuIGl9ZmluYWxseXtkPW51bGwscD1hLG09ITF9fSJ1bmRlZmluZWQiIT10eXBlb2YgbmF2aWdhdG9yJiZ2b2lkIDAhPT1uYXZpZ2F0b3Iuc2NoZWR1bGluZyYmdm9pZCAwIT09bmF2aWdhdG9yLnNjaGVkdWxpbmcuaXNJbnB1dFBlbmRpbmcmJm5hdmlnYXRvci5zY2hlZHVsaW5nLmlzSW5wdXRQZW5kaW5nLmJpbmQobmF2aWdhdG9yLnNjaGVkdWxpbmcpO3ZhciB4LEU9ITEsQz1udWxsLHo9LTEsTj01LF89LTE7ZnVuY3Rpb24gUCgpe3JldHVybiEobi51bnN0YWJsZV9ub3coKS1fPE4pfWZ1bmN0aW9uIFQoKXtpZihudWxsIT09Qyl7dmFyIGU9bi51bnN0YWJsZV9ub3coKTtfPWU7dmFyIHQ9ITA7dHJ5e3Q9QyghMCxlKX1maW5hbGx5e3Q/eCgpOihFPSExLEM9bnVsbCl9fWVsc2UgRT0hMX1pZigiZnVuY3Rpb24iPT10eXBlb2YgYil4PWZ1bmN0aW9uKCl7YihUKX07ZWxzZSBpZigidW5kZWZpbmVkIiE9dHlwZW9mIE1lc3NhZ2VDaGFubmVsKXt2YXIgTD1uZXcgTWVzc2FnZUNoYW5uZWwsTT1MLnBvcnQyO0wucG9ydDEub25tZXNzYWdlPVQseD1mdW5jdGlvbigpe00ucG9zdE1lc3NhZ2UobnVsbCl9fWVsc2UgeD1mdW5jdGlvbigpe3YoVCwwKX07ZnVuY3Rpb24gRihlKXtDPWUsRXx8KEU9ITAseCgpKX1mdW5jdGlvbiBSKGUsdCl7ej12KChmdW5jdGlvbigpe2Uobi51bnN0YWJsZV9ub3coKSl9KSx0KX1uLnVuc3RhYmxlX0lkbGVQcmlvcml0eT01LG4udW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHk9MSxuLnVuc3RhYmxlX0xvd1ByaW9yaXR5PTQsbi51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eT0zLG4udW5zdGFibGVfUHJvZmlsaW5nPW51bGwsbi51bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eT0yLApuLnVuc3RhYmxlX2NhbmNlbENhbGxiYWNrPWZ1bmN0aW9uKGUpe2UuY2FsbGJhY2s9bnVsbH0sbi51bnN0YWJsZV9jb250aW51ZUV4ZWN1dGlvbj1mdW5jdGlvbigpe2h8fG18fChoPSEwLEYoUykpfSxuLnVuc3RhYmxlX2ZvcmNlRnJhbWVSYXRlPWZ1bmN0aW9uKGUpezA+ZXx8MTI1PGU/Y29uc29sZS5lcnJvcigiZm9yY2VGcmFtZVJhdGUgdGFrZXMgYSBwb3NpdGl2ZSBpbnQgYmV0d2VlbiAwIGFuZCAxMjUsIGZvcmNpbmcgZnJhbWUgcmF0ZXMgaGlnaGVyIHRoYW4gMTI1IGZwcyBpcyBub3Qgc3VwcG9ydGVkIik6Tj0wPGU/TWF0aC5mbG9vcigxZTMvZSk6NX0sbi51bnN0YWJsZV9nZXRDdXJyZW50UHJpb3JpdHlMZXZlbD1mdW5jdGlvbigpe3JldHVybiBwfSxuLnVuc3RhYmxlX2dldEZpcnN0Q2FsbGJhY2tOb2RlPWZ1bmN0aW9uKCl7cmV0dXJuIHIocyl9LG4udW5zdGFibGVfbmV4dD1mdW5jdGlvbihlKXtzd2l0Y2gocCl7Y2FzZSAxOmNhc2UgMjpjYXNlIDM6dmFyIG49MzticmVhaztkZWZhdWx0Om49cH12YXIgdD1wO3A9bjt0cnl7cmV0dXJuIGUoKX1maW5hbGx5e3A9dH19LG4udW5zdGFibGVfcGF1c2VFeGVjdXRpb249ZnVuY3Rpb24oKXt9LG4udW5zdGFibGVfcmVxdWVzdFBhaW50PWZ1bmN0aW9uKCl7fSxuLnVuc3RhYmxlX3J1bldpdGhQcmlvcml0eT1mdW5jdGlvbihlLG4pe3N3aXRjaChlKXtjYXNlIDE6Y2FzZSAyOmNhc2UgMzpjYXNlIDQ6Y2FzZSA1OmJyZWFrO2RlZmF1bHQ6ZT0zfXZhciB0PXA7cD1lO3RyeXtyZXR1cm4gbigpfWZpbmFsbHl7cD10fX0sbi51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrPWZ1bmN0aW9uKGUsbCxhKXt2YXIgdT1uLnVuc3RhYmxlX25vdygpO3N3aXRjaCgib2JqZWN0Ij09dHlwZW9mIGEmJm51bGwhPT1hP2E9Im51bWJlciI9PXR5cGVvZihhPWEuZGVsYXkpJiYwPGE/dSthOnU6YT11LGUpe2Nhc2UgMTp2YXIgbz0tMTticmVhaztjYXNlIDI6bz0yNTA7YnJlYWs7Y2FzZSA1Om89MTA3Mzc0MTgyMzticmVhaztjYXNlIDQ6bz0xZTQ7YnJlYWs7ZGVmYXVsdDpvPTVlM31yZXR1cm4gZT17aWQ6ZisrLGNhbGxiYWNrOmwscHJpb3JpdHlMZXZlbDplLHN0YXJ0VGltZTphLGV4cGlyYXRpb25UaW1lOm89YStvLHNvcnRJbmRleDotMX0sYT51PyhlLnNvcnRJbmRleD1hLHQoYyxlKSxudWxsPT09cihzKSYmZT09PXIoYykmJihnPyh5KHopLHo9LTEpOmc9ITAsUih3LGEtdSkpKTooZS5zb3J0SW5kZXg9byx0KHMsZSksaHx8bXx8KGg9ITAsRihTKSkpLGV9LG4udW5zdGFibGVfc2hvdWxkWWllbGQ9UCxuLnVuc3RhYmxlX3dyYXBDYWxsYmFjaz1mdW5jdGlvbihlKXt2YXIgbj1wO3JldHVybiBmdW5jdGlvbigpe3ZhciB0PXA7cD1uO3RyeXtyZXR1cm4gZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZmluYWxseXtwPXR9fX19LDE4MjYxNChlLG4sdCl7ZS5leHBvcnRzPXQoNTA4MjA3KX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/81072.2927a177231fdd0e24c1.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.478Z","timestamp":1785120634478,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/81072.2927a177231fdd0e24c1.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-40c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c7ad8fc6f6768c28cf2c94eb766d7b28\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1036,"size_decoded":1218,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1036), with no line terminators","md5":"e625e6a9b3d1d0e7872454941e3a0f3c","sha1":"c4b93e2d6c31cccd6e1572e5faff07bd3456556c","sha256":"ff2fab41e51936266791aedf3104809dd2780906b7303dfdf954afe900eecaa2","sha512":"b6c94e5b14cef72a123c0b05f0efd06b022618632b6adfd3bda53ab30eb0b05b5bafc56a4dee63cec63f5606c2d69be7bbd4d52c7cfcba473b133495be1ac97a","ssdeep":"","tlshash":"0511872af08015a0b4bfcb384b14d3a9003190a29ea223ed77a0bcb18bc17b945d1008","first_seen":"2026-07-16T13:40:49.881902Z","last_seen":"2026-07-27T05:19:37.082272Z","times_seen":167,"resource_available":false,"data":"Lm1lbnVXcmFwLWxCSXhJd3R6e2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtYmFja2dyb3VuZCx2YXIoLS1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kKSk7Ym9yZGVyLXJhZGl1czo2cHg7Ym94LXNoYWRvdzowIDJweCA0cHggdmFyKC0tY29sb3Itc2hhZG93LXByaW1hcnktbmV1dHJhbC1leHRyYS1oZWF2eSk7Ym94LXNpemluZzpib3JkZXItYm94O3RleHQtYWxpZ246c3RhcnQ7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7ei1pbmRleDoxMDB9Lm1lbnVXcmFwLWxCSXhJd3R6LmlzTWVhc3VyaW5nLWxCSXhJd3R6e29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmZpeGVkO3Zpc2liaWxpdHk6aGlkZGVufS5tZW51V3JhcC1sQkl4SXd0ejpmb2N1c3tvdXRsaW5lOm5vbmV9LnNjcm9sbFdyYXAtbEJJeEl3dHp7aGVpZ2h0OjEwMCU7b3ZlcmZsb3cteDpoaWRkZW47b3ZlcmZsb3cteTphdXRvfS5zY3JvbGxXcmFwLWxCSXhJd3R6Lm1vbWVudHVtQmFzZWQtbEJJeEl3dHp7LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2h9LnNjcm9sbFdyYXAtbEJJeEl3dHo6Oi13ZWJraXQtc2Nyb2xsYmFye2hlaWdodDo1cHg7d2lkdGg6NXB4fS5zY3JvbGxXcmFwLWxCSXhJd3R6Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kLWNsaXA6Y29udGVudC1ib3g7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1zY3JvbGxiYXItdGh1bWItYmFja2dyb3VuZCx2YXIoLS1jb2xvci1zY3JvbGwtYmcpKTtib3JkZXI6MXB4IHNvbGlkICMwMDAwO2JvcmRlci1yYWRpdXM6M3B4fS5zY3JvbGxXcmFwLWxCSXhJd3R6Ojotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyLXJhZGl1czozcHh9LnNjcm9sbFdyYXAtbEJJeEl3dHo6Oi13ZWJraXQtc2Nyb2xsYmFyLWNvcm5lcntkaXNwbGF5Om5vbmV9Lm1lbnVCb3gtbEJJeEl3dHp7cGFkZGluZzo2cHggMH0uaXNIaWRkZW4tbEJJeEl3dHp7ZGlzcGxheTpub25lfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/embed_medium_widget.bf649ddba989a5cb7d98.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.866Z","timestamp":1785120633866,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/embed_medium_widget.bf649ddba989a5cb7d98.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-21f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:32:38\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b25549894867fc61912807389a7e5ff7\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":543,"size_decoded":1113,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (543), with no line terminators","md5":"6f5f7d95f02d072e9149a4ca1a5ce7fd","sha1":"0735d3b1022ea706b80d1280c79d61d4929ae72b","sha256":"6aaa6641a61eaaa1ff1a70e5b5f7bff69977d97c9f91d99677dae8ac7e5422f7","sha512":"46505d08885ff429f44140fe54d9b5fffda4081f4977e84faef0f668368b4bbc2bf273b0aa4c6083e03b82e0b3c3e87bd8a36736c2becbbd954676686b90da6d","ssdeep":"","tlshash":"75f0dc012458e4463a6ea0c2f2f71cb6c4410191361a5befacb8dd9ad192dc4b7cfafc","first_seen":"2026-07-24T23:32:32.649332Z","last_seen":"2026-07-27T06:01:16.128211Z","times_seen":21,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNjQ4MTldLHs3OTczMyhlLGksdCl7UHJvbWlzZS5hbGwoW3QuZSgxMjg1OCksdC5lKDQ2OTA3KSx0LmUoMTIzODUpLHQuZSgzMjgxNiksdC5lKDQzMzI1KSx0LmUoOTE4NTUpLHQuZSgzMjYzMiksdC5lKDYyNjMwKSx0LmUoODA3ODIpLHQuZSg5OTUyNyksdC5lKDUyODQyKSx0LmUoNzQxMjYpLHQuZSgxMzE0OCksdC5lKDQ5MjY1KSx0LmUoODA3MDYpLHQuZSg1NjI1OCksdC5lKDcxNDI0KSx0LmUoODMzMTApLHQuZSg2NTg2MiksdC5lKDUxMDMxKSx0LmUoOTQ3MDgpLHQuZSg4Nzk5NSksdC5lKDk0ODI1KSx0LmUoMTIxODEpLHQuZSg0MjE3MSksdC5lKDE1MDQ5KSx0LmUoNTU5NjkpLHQuZSgzMDI4OCksdC5lKDczNDEyKSx0LmUoMzIxMDApXSkudGhlbih0LmJpbmQodCwyMjc2NTkpKS50aGVuKCgoe2NyZWF0ZU1lZGl1bVdpZGdldDplfSk9PmUoKSkpfX0sZT0+e3ZhciBpO2k9Nzk3MzMsZShlLnM9aSl9XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/medium-widget-creator.acae84f4101b42f4c83a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.908Z","timestamp":1785120633908,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/medium-widget-creator.acae84f4101b42f4c83a.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-14e99\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:32:38\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2a841a3910ded43fe5265c2031310359\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":85657,"size_decoded":30128,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3069)","md5":"1a3a6f6b5fa3ac49d3041777a05c4d00","sha1":"6f36185ce7c4b46b18a1f3b45ec078597274cbdf","sha256":"c00212402d63e94e4830a5474e400df48f4a3bd64e9753c9b61e8d63494d3067","sha512":"d6ab69c42e887e2c1755b516f7e3f38ce8f0bc550183c89122629fa03d625fb7350915ad17dc76cf16b594d0ea6b11815147544ea86c3a6e022ed350cdd2f7da","ssdeep":"1536:5U5XkOpmRp94W21iPgAmNy+PztsX+Sqy2QxvGg:5bOQRp94W5POy+Pztsufpg","tlshash":"08832954f092707252e382ee94771003e73a5a89b8494669f67c9cde6b9dc0db231f7c","first_seen":"2026-07-24T23:32:32.528697Z","last_seen":"2026-07-27T06:01:16.171841Z","times_seen":21,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szMjEwMCw4OTQ2N10sezM5MTgwNyhlKXtlLmV4cG9ydHM9e2xhYmVsOiJsYWJlbC11eklHSTIxQSIsc3RhcnQ6InN0YXJ0LXV6SUdJMjFBIn19LDQ3MDY3OShlKXtlLmV4cG9ydHM9e3ZhbHVlc0luTGVnZW5kQ29udGFpbmVyOiJ2YWx1ZXNJbkxlZ2VuZENvbnRhaW5lci1UdjYzcU83aSIscXVvdGVUaWNrZXJDb250YWluZXI6InF1b3RlVGlja2VyQ29udGFpbmVyLVR2NjNxTzdpIix2YWx1ZXNJbkxlZ2VuZENvbnRhaW5lcl9zaG93OiJ2YWx1ZXNJbkxlZ2VuZENvbnRhaW5lcl9zaG93LVR2NjNxTzdpIixxdW90ZVRpY2tlckNvbnRhaW5lcl9zaG93OiJxdW90ZVRpY2tlckNvbnRhaW5lcl9zaG93LVR2NjNxTzdpIixnb1RvVHZMaW5rOiJnb1RvVHZMaW5rLVR2NjNxTzdpIn19LDM0ODg0OShlKXtlLmV4cG9ydHM9e3NxdWFyZVRhYkJ1dHRvbjoic3F1YXJlVGFiQnV0dG9uLVJLS1RSaFo2IixzZWxlY3RlZDoic2VsZWN0ZWQtUktLVFJoWjYiLGRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlczoiZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLVJLS1RSaFo2IixkaXNhYmxlZDoiZGlzYWJsZWQtUktLVFJoWjYiLGRpc2FibGVGb2N1c091dGxpbmU6ImRpc2FibGVGb2N1c091dGxpbmUtUktLVFJoWjYiLHhsYXJnZToieGxhcmdlLVJLS1RSaFo2Iix0YWJIaWRkZW5Db250ZW50OiJ0YWJIaWRkZW5Db250ZW50LVJLS1RSaFo2IixtZWRpdW06Im1lZGl1bS1SS0tUUmhaNiIsc21hbGw6InNtYWxsLVJLS1RSaFo2Iix4c21hbGw6InhzbWFsbC1SS0tUUmhaNiIsbWVkaXVtV2l0aFNtYWxsRm9udDoibWVkaXVtV2l0aFNtYWxsRm9udC1SS0tUUmhaNiIsZmFrZToiZmFrZS1SS0tUUmhaNiIsdmVydGljYWxUYWJzV3JhcHBlcjoidmVydGljYWxUYWJzV3JhcHBlci1SS0tUUmhaNiIsdmVydGljYWxCdXR0b246InZlcnRpY2FsQnV0dG9uLVJLS1RSaFo2Iixjb250ZW50OiJjb250ZW50LVJLS1RSaFo2Iix0YWJDb250ZW50OiJ0YWJDb250ZW50LVJLS1RSaFo2IixlbmRTbG90SW5EaXNjbG9zdXJlOiJlbmRTbG90SW5EaXNjbG9zdXJlLVJLS1RSaFo2In19LDEzNTI4NyhlKXtlLmV4cG9ydHM9e3Njcm9sbFdyYXA6InNjcm9sbFdyYXAtRmFWMGJLN2UiLG92ZXJmbG93U2Nyb2xsOiJvdmVyZmxvd1Njcm9sbC1GYVYwYks3ZSIsc3F1YXJlVGFiczoic3F1YXJlVGFicy1GYVYwYks3ZSIsb3ZlcmZsb3dXcmFwOiJvdmVyZmxvd1dyYXAtRmFWMGJLN2UiLGNvbnRlbnQ6ImNvbnRlbnQtRmFWMGJLN2UiLHZlcnRpY2FsQ29udGVudDoidmVydGljYWxDb250ZW50LUZhVjBiSzdlIix2ZXJ0aWNhbDoidmVydGljYWwtRmFWMGJLN2UiLHhzbWFsbDoieHNtYWxsLUZhVjBiSzdlIixzcXVhcmVUYWJCdXR0b246InNxdWFyZVRhYkJ1dHRvbi1GYVYwYks3ZSIsc3RhcnRTbG90V3JhcDoic3RhcnRTbG90V3JhcC1GYVYwYks3ZSIsZW5kU2xvdFdyYXA6ImVuZFNsb3RXcmFwLUZhVjBiSzdlIixlbmRVcHBlclNsb3Q6ImVuZFVwcGVyU2xvdC1GYVYwYks3ZSIsc3RhcnRTbG90V3JhcEljb25Pbmx5OiJzdGFydFNsb3RXcmFwSWNvbk9ubHktRmFWMGJLN2UiLHNtYWxsOiJzbWFsbC1GYVYwYks3ZSIsbWVkaXVtOiJtZWRpdW0tRmFWMGJLN2UiLG1lZGl1bVdpdGhTbWFsbEZvbnQ6Im1lZGl1bVdpdGhTbWFsbEZvbnQtRmFWMGJLN2UiLHhsYXJnZToieGxhcmdlLUZhVjBiSzdlIixzcXVhcmVUYWJDb3VudGVyOiJzcXVhcmVUYWJDb3VudGVyLUZhVjBiSzdlIn19LDg1NDQ1KGUpe2UuZXhwb3J0cz17cGlsbHM6InBpbGxzLUllUXdQamNaIixwcmltYXJ5OiJwcmltYXJ5LUllUXdQamNaIixncmF5OiJncmF5LUllUXdQamNaIixzZWxlY3RlZDoic2VsZWN0ZWQtSWVRd1BqY1oiLGdyb3VwZWQ6Imdyb3VwZWQtSWVRd1BqY1oiLGFjdGl2ZToiYWN0aXZlLUllUXdQamNaIixkaXNhYmxlQWN0aXZlT25Ub3VjaDoiZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1oiLGRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlczoiZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaIix3aXRoR3JvdXBlZDoid2l0aEdyb3VwZWQtSWVRd1BqY1oiLCJxdWlldC1wcmltYXJ5IjoicXVpZXQtcHJpbWFyeS1JZVF3UGpjWiIsZ3JlZW46ImdyZWVuLUllUXdQamNaIixyZWQ6InJlZC1JZVF3UGpjWiIsYmx1ZToiYmx1ZS1JZVF3UGpjWiIsc2Vjb25kYXJ5OiJzZWNvbmRhcnktSWVRd1BqY1oiLGdob3N0OiJnaG9zdC1JZVF3UGpjWiJ9fSwzNjQ4MTUoZSl7ZS5leHBvcnRzPXtsaWdodEJ1dHRvbjoibGlnaHRCdXR0b24ta2pSZlRsZngiLGxpbms6Imxpbmsta2pSZlRsZngiLGx0cjoibHRyLWtqUmZUbGZ4IixydGw6InJ0bC1ralJmVGxmeCIsInR5cG9ncmFwaHktcmVndWxhcjE2cHgiOiJ0eXBvZ3JhcGh5LXJlZ3VsYXIxNnB4LWtqUmZUbGZ4IiwidHlwb2dyYXBoeS1tZWRpdW0xNnB4IjoidHlwb2dyYXBoeS1tZWRpdW0xNnB4LWtqUmZUbGZ4IiwidHlwb2dyYXBoeS1yZWd1bGFyMTRweCI6InR5cG9ncmFwaHktcmVndWxhcjE0cHgta2pSZlRsZngiLCJ0eXBvZ3JhcGh5LXNlbWlib2xkMTRweCI6InR5cG9ncmFwaHktc2VtaWJvbGQxNHB4LWtqUmZUbGZ4IiwidHlwb2dyYXBoeS1zZW1pYm9sZDE2cHgiOiJ0eXBvZ3JhcGh5LXNlbWlib2xkMTZweC1ralJmVGxmeCIsY29udGVudDoiY29udGVudC1ralJmVGxmeCIsdmlzdWFsbHlIaWRkZW46InZpc3VhbGx5SGlkZGVuLWtqUmZUbGZ4Iixub3dyYXA6Im5vd3JhcC1ralJmVGxmeCIsZWxsaXBzaXNDb250YWluZXI6ImVsbGlwc2lzQ29udGFpbmVyLWtqUmZUbGZ4Iix0ZXh0V3JhcENvbnRhaW5lcjoidGV4dFdyYXBDb250YWluZXIta2pSZlRsZngiLHRleHRXcmFwV2l0aEVsbGlwc2lzOiJ0ZXh0V3JhcFdpdGhFbGxpcHNpcy1ralJmVGxmeCIsc2xvdDoic2xvdC1ralJmVGxmeCIsY2FyZXQ6ImNhcmV0LWtqUmZUbGZ4IixhY3RpdmVDYXJldDoiYWN0aXZlQ2FyZXQta2pSZlRsZngiLHhzbWFsbDoieHNtYWxsLWtqUmZUbGZ4Iix3aXRoU3RhcnRTbG90OiJ3aXRoU3RhcnRTbG90LWtqUmZUbGZ4IiwKd2l0aEVuZFNsb3Q6IndpdGhFbmRTbG90LWtqUmZUbGZ4Iixub0NvbnRlbnQ6Im5vQ29udGVudC1ralJmVGxmeCIsd3JhcDoid3JhcC1ralJmVGxmeCIsc21hbGw6InNtYWxsLWtqUmZUbGZ4IixtZWRpdW06Im1lZGl1bS1ralJmVGxmeCJ9fSwyMDU2OChlKXtlLmV4cG9ydHM9e3NxdWFyZVRhYkJ1dHRvbjoic3F1YXJlVGFiQnV0dG9uLWFUM05za3NzIixzZWxlY3RlZDoic2VsZWN0ZWQtYVQzTnNrc3MiLGRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlczoiZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLWFUM05za3NzIix4c21hbGw6InhzbWFsbC1hVDNOc2tzcyJ9fSwxNTM2MjYoZSl7ZS5leHBvcnRzPXtjb250YWluZXI6ImNvbnRhaW5lci1WVjZWV0VTUiJ9fSw4MDMzNDkoZSl7ZS5leHBvcnRzPXtvcHRpb25zOiJvcHRpb25zLWJDS2U3bjA3IixvcHRpb246Im9wdGlvbi1iQ0tlN24wNyJ9fSwyMTIyNzUoZSl7ZS5leHBvcnRzPXsic3RhdHVzLWhlaWdodCI6IjI4cHgifX0sNTIyNTc4KGUpe2UuZXhwb3J0cz17fX0sOTMyMzY1KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1RWTG9jYWxTdG9yYWdlOigpPT5yfSk7Y29uc3Qgbz0oMCxzKDIyMTA2MSkuZ2V0TG9nZ2VyKSgiVFZMb2NhbFN0b3JhZ2UiKTt2YXIgaT1mdW5jdGlvbigpe3RyeXt0aGlzLmlzQXZhaWxhYmxlPSEwLHRoaXMubG9jYWxTdG9yYWdlPXdpbmRvdy5sb2NhbFN0b3JhZ2UsdGhpcy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbSgidHZsb2NhbHN0b3JhZ2UuYXZhaWxhYmxlIiwidHJ1ZSIpfWNhdGNoKGUpe2RlbGV0ZSB0aGlzLmlzQXZhaWxhYmxlLGRlbGV0ZSB0aGlzLmxvY2FsU3RvcmFnZX10aGlzLl91cGRhdGVMZW5ndGgoKTt0cnl7dGhpcy5fcmVwb3J0KCl9Y2F0Y2goZSl7fX07aS5wcm90b3R5cGUuX3JlcG9ydD1mdW5jdGlvbigpe2lmKHRoaXMuaXNBdmFpbGFibGUpe2NvbnN0IGU9MTAsdD1bXTtmb3IobGV0IGU9MDtlPHRoaXMubG9jYWxTdG9yYWdlLmxlbmd0aDtlKyspe2NvbnN0IHM9dGhpcy5rZXkoZSk7dC5wdXNoKHtrZXk6cyxsZW5ndGg6U3RyaW5nKHRoaXMuZ2V0SXRlbShzKSkubGVuZ3RofSl9dC5zb3J0KCgoZSx0KT0+dC5sZW5ndGgtZS5sZW5ndGgpKTtjb25zdCBzPXQuc2xpY2UoMCxlKTt0LnNvcnQoKChlLHQpPT50LmtleS5sZW5ndGgtZS5rZXkubGVuZ3RoKSk7Y29uc3QgaT10LnNsaWNlKDAsZSk7by5sb2dOb3JtYWwoYFRvdGFsIGFtb3VudCBvZiBrZXlzIGluIExvY2FsIFN0b3JhZ2U6ICR7dGhpcy5sZW5ndGh9YCksby5sb2dOb3JtYWwoYFRvcCAke2V9IGtleXMgd2l0aCBsb25nZXN0IHZhbHVlczogJHtKU09OLnN0cmluZ2lmeShzKX1gKSxvLmxvZ05vcm1hbChgVG9wICR7ZX0gbG9uZ2VzdCBrZXkgbmFtZXM6ICR7SlNPTi5zdHJpbmdpZnkoaSl9YCk7dHJ5e25hdmlnYXRvci5zdG9yYWdlLmVzdGltYXRlKCkudGhlbigoZT0+e28ubG9nTm9ybWFsKGBTdG9yYWdlIGVzdGltYXRlOiAke0pTT04uc3RyaW5naWZ5KGUpfWApfSkpfWNhdGNoKGUpe319fSxpLnByb3RvdHlwZS5sZW5ndGg9MCxpLnByb3RvdHlwZS5pc0F2YWlsYWJsZT0hMSxpLnByb3RvdHlwZS5sb2NhbFN0b3JhZ2U9eyJ0dmxvY2Fsc3RvcmFnZS5hdmFpbGFibGUiOiJmYWxzZSJ9LGkucHJvdG90eXBlLl91cGRhdGVMZW5ndGg9ZnVuY3Rpb24oKXtpZih0aGlzLmlzQXZhaWxhYmxlKXRoaXMubGVuZ3RoPXRoaXMubG9jYWxTdG9yYWdlLmxlbmd0aDtlbHNle3ZhciBlLHQ9MDtmb3IoZSBpbiB0aGlzLmxvY2FsU3RvcmFnZSl0aGlzLmxvY2FsU3RvcmFnZS5oYXNPd25Qcm9wZXJ0eShlKSYmdCsrO3RoaXMubGVuZ3RoPXR9fSxpLnByb3RvdHlwZS5rZXk9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuaXNBdmFpbGFibGU/dGhpcy5sb2NhbFN0b3JhZ2Uua2V5KGUpOk9iamVjdC5rZXlzKHRoaXMubG9jYWxTdG9yYWdlKVtlXX0saS5wcm90b3R5cGUuZ2V0SXRlbT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5pc0F2YWlsYWJsZT90aGlzLmxvY2FsU3RvcmFnZS5nZXRJdGVtKGUpOnZvaWQgMD09PXRoaXMubG9jYWxTdG9yYWdlW2VdP251bGw6dGhpcy5sb2NhbFN0b3JhZ2VbZV19LGkucHJvdG90eXBlLnNldEl0ZW09ZnVuY3Rpb24oZSx0KXt0aGlzLmlzQXZhaWxhYmxlP3RoaXMubG9jYWxTdG9yYWdlLnNldEl0ZW0oZSx0KTp0aGlzLmxvY2FsU3RvcmFnZVtlXT10LHRoaXMuX3VwZGF0ZUxlbmd0aCgpfSxpLnByb3RvdHlwZS5yZW1vdmVJdGVtPWZ1bmN0aW9uKGUpe3RoaXMuaXNBdmFpbGFibGU/dGhpcy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShlKTpkZWxldGUgdGhpcy5sb2NhbFN0b3JhZ2VbZV0sdGhpcy5fdXBkYXRlTGVuZ3RoKCl9LGkucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5pc0F2YWlsYWJsZT90aGlzLmxvY2FsU3RvcmFnZS5jbGVhcigpOnRoaXMubG9jYWxTdG9yYWdlPXt9LHRoaXMuX3VwZGF0ZUxlbmd0aCgpfTtjb25zdCByPW5ldyBpO3dpbmRvdy5UVkxvY2FsU3RvcmFnZT1yfSw3MDA4MDkoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7REVDRU1CRVI6KCk9Pl8sRklSU1RfREFZX09GX1dFRUs6KCk9Pm0sRlJJREFZOigpPT5oLEpBTlVBUlk6KCk9PmcsTEFTVF9EQVlfT0ZfV0VFSzooKT0+cCxNT05EQVk6KCk9PmEsU0FUVVJEQVk6KCk9PmQsU1VOREFZOigpPT5uLFRIVVJTREFZOigpPT51LFRVRVNEQVk6KCk9PmwsV0VETkVTREFZOigpPT5jLGFkZF9kYXRlOigpPT5FLGFkZF9taW51dGVzOigpPT5NLGNhbF90b191dGM6KCk9PlcsY2xvbmU6KCk9PkQsZGF5c19wZXJfeWVhcjooKT0+UixnZXRfY2FsOigpPT5CLGdldF9jYWxfZnJvbV91bml4X3RpbWVzdGFtcF9tczooKT0+VixnZXRfY2FsX3V0YzooKT0+VSxnZXRfZGF5X29mX21vbnRoOigpPT53LGdldF9kYXlfb2Zfd2VlazooKT0+VCxnZXRfZGF5X29mX3llYXI6KCk9PngsZ2V0X21pbnV0ZXNfZnJvbV9taWRuaWdodDooKT0+ayxnZXRfbWludXRlc193aXRoX2hvdXJzOigpPT5OLGdldF9tb250aDooKT0+UyxnZXRfdGltZXpvbmU6KCk9PnEsZ2V0X3llYXI6KCk9PmIsaXNfbGVhcF95ZWFyOigpPT5JLG1pbnV0ZXNQZXJEYXk6KCk9PnksbWludXRlc1BlcldlZWs6KCk9PmYsCnNldF9obXM6KCk9Pkwsc2V0X3NlY29uZHM6KCk9PlAsdGltZV9zZWNvbmRzOigpPT5BLHRpbWVfc2Vjb25kc19kaWZmOigpPT5PLHV0Y190b19jYWw6KCk9PkZ9KTt2YXIgbz1zKDcxMjE4MSk7Y29uc3QgaT17MDowLDE6MzEsMjo1OSwzOjkwLDQ6MTIwLDU6MTUxLDY6MTgxLDc6MjEyLDg6MjQzLDk6MjczLDEwOjMwNCwxMTozMzR9O2NsYXNzIHJ7Y29uc3RydWN0b3IoZSl7dGhpcy5faW52YWxpZD0hMSx0aGlzLl9uYW1lPWU7bGV0IHQ9by50ekRhdGE/LltlXT8/bnVsbDshdCYmSCYmKHQ9SC5pbnN0YW5jZSgpLmdldFRpbWV6b25lRGF0YShlKSksdHx8KHQ9e3RpbWU6W10sb2Zmc2V0OltdfSx0aGlzLl9pbnZhbGlkPSEwKSx0LnRpbWUubGVuZ3RoIT09dC5vZmZzZXQubGVuZ3RoJiYodD17dGltZTpbXSxvZmZzZXQ6W119LHRoaXMuX2ludmFsaWQ9ITApO2NvbnN0IHM9dDtpZighcy50aW1lX3V0Yyl7Y29uc3QgZT10LnRpbWUsbz10Lm9mZnNldCxpPWUubGVuZ3RoLHI9bmV3IEFycmF5KGkpO2ZvcihsZXQgdD0wO3Q8aTt0KyspZVt0XSo9MWUzLG9bdF0qPTFlMyxyW3RdPWVbdF0tb1t0XTtzLnRpbWVfdXRjPXJ9dGhpcy50ej1zfW9mZnNldF91dGMoZSl7cmV0dXJuIHIub2Zmc2V0KHRoaXMudHoudGltZV91dGMsdGhpcy50ei5vZmZzZXQsZSl9b2Zmc2V0X2xvYyhlKXtyZXR1cm4gci5vZmZzZXQodGhpcy50ei50aW1lLHRoaXMudHoub2Zmc2V0LGUpfW5hbWUoKXtyZXR1cm4gdGhpcy5fbmFtZX1pc192YWxpZCgpe3JldHVybiF0aGlzLl9pbnZhbGlkfWNvcnJlY3Rpb25fbG9jKGUpe2NvbnN0IHQ9dGhpcy50ei50aW1lLHM9dGhpcy50ei5vZmZzZXQsbz16KHQsZSk7aWYobzwxKXJldHVybiAwO2NvbnN0IGk9c1tvXS1zW28tMV07aWYoaT4wKXtpZihlLXRbby0xXTw9aSlyZXR1cm4gaX1yZXR1cm4gMH1zdGF0aWMgb2Zmc2V0KGUsdCxzKXtjb25zdCBvPXooZSxzKTtyZXR1cm4tMT09PW8/MDp0W29dfX1jb25zdCBuPTEsYT0yLGw9MyxjPTQsdT01LGg9NixkPTcsbT1uLHA9ZCxnPTAsXz0xMSx5PTE0NDAsZj0xMDA4MDtmdW5jdGlvbiBiKGUpe3JldHVybiBlLmdldFVUQ0Z1bGxZZWFyKCl9ZnVuY3Rpb24gUyhlKXtyZXR1cm4gZS5nZXRVVENNb250aCgpfWZ1bmN0aW9uIHYoZSl7cmV0dXJuIGUuZ2V0VVRDSG91cnMoKX1mdW5jdGlvbiBDKGUpe3JldHVybiBlLmdldFVUQ01pbnV0ZXMoKX1mdW5jdGlvbiB3KGUpe3JldHVybiBlLmdldFVUQ0RhdGUoKX1mdW5jdGlvbiBUKGUpe3JldHVybiBlLmdldFVUQ0RheSgpKzF9ZnVuY3Rpb24geChlKXtjb25zdCB0PWUuZ2V0VVRDTW9udGgoKTtsZXQgcz1pW3RdO3JldHVybiB0PmcrMSYmSShlLmdldFVUQ0Z1bGxZZWFyKCkpJiYocys9MSkscytlLmdldFVUQ0RhdGUoKX1mdW5jdGlvbiBrKGUpe3JldHVybiA2MCp2KGUpK0MoZSl9ZnVuY3Rpb24gTihlKXtyZXR1cm4gayhlKX1mdW5jdGlvbiBMKGUsdCxzLG8saSxyKXtlLnNldFVUQ0hvdXJzKHQpLGUuc2V0VVRDTWludXRlcyhzKSxlLnNldFVUQ1NlY29uZHMobyksZS5zZXRVVENNaWxsaXNlY29uZHMoaSksdm9pZCAwIT09ciYmZnVuY3Rpb24oZSx0KXtjb25zdCBzPWUuZ2V0VGltZSgpLG89dC5jb3JyZWN0aW9uX2xvYyhzKTtlLnNldFRpbWUocytvKX0oZSxyKX1mdW5jdGlvbiBFKGUsdCl7ZS5zZXRUaW1lKGUuZ2V0VGltZSgpKzg2NGU1KnQpfWZ1bmN0aW9uIE0oZSx0KXtlLnNldFRpbWUoZS5nZXRUaW1lKCkrNjAqdCoxZTMpfWZ1bmN0aW9uIFAoZSx0KXtjb25zdCBzPTg2NDAwLG89dCVzPDA/LTE6MCxpPU1hdGgudHJ1bmModC9zKStvLHI9dC1pKnMsbj1NYXRoLnRydW5jKHIvMzYwMCksYT1NYXRoLnRydW5jKHIlMzYwMC82MCk7TChlLG4sYSxyLTM2MDAqbi02MCphLDApLEUoZSxpKX1mdW5jdGlvbiBEKGUpe3JldHVybiBuZXcgRGF0ZShlLmdldFRpbWUoKSl9ZnVuY3Rpb24gUihlKXtyZXR1cm4gSShlKT8zNjY6MzY1fWZ1bmN0aW9uIEkoZSl7cmV0dXJuIGUlND09MCYmKGUlMTAwIT0wfHxlJTQwMD09MCl9ZnVuY3Rpb24gQShlKXtyZXR1cm4gMWUzKmV9ZnVuY3Rpb24gTyhlLHQpe3JldHVybiBRKGUpLVEodCl9ZnVuY3Rpb24gRihlLHQpe3JldHVybiBuZXcgRGF0ZShmdW5jdGlvbihlLHQpe2NvbnN0IHM9ZS5vZmZzZXRfdXRjKHQpO3JldHVybiB0K3N9KGUsdCkpfWZ1bmN0aW9uIEIoZSx0LHMsbyxpLHIsbil7Y29uc3QgYT1uZXcgRGF0ZShEYXRlLlVUQyh0LHMsbyxpfHwwLHJ8fDAsbnx8MCkpLGw9ZS5vZmZzZXRfdXRjKCthKTtyZXR1cm4gbmV3IERhdGUoYS52YWx1ZU9mKCktbCl9ZnVuY3Rpb24gVihlLHQpe3JldHVybiBuZXcgRGF0ZSh0K2Uub2Zmc2V0X3V0Yyh0KSl9ZnVuY3Rpb24gVShlLHQscyxvPTAsaT0wLHI9MCl7cmV0dXJuIG5ldyBEYXRlKERhdGUuVVRDKGUsdCxzLG8saSxyKSl9ZnVuY3Rpb24gVyhlLHQscyl7bGV0IG89dC5nZXRUaW1lKCk7cyYmKG8rPWUuY29ycmVjdGlvbl9sb2MobykpO3JldHVybiBvLWUub2Zmc2V0X2xvYyhvKX1mdW5jdGlvbiBxKGUpe3JldHVybiBuZXcgcihlKX1sZXQgSDtmdW5jdGlvbiB6KGUsdCl7Y29uc3Qgcz1lLmxlbmd0aDtpZigwPT09cylyZXR1cm4tMTtpZihpc05hTih0KSl0aHJvdyBFcnJvcigiS2V5IGlzIE5hTiIpO2xldCBvPTAsaT1zLTEscj1qKChvK2kpLzIpO2Zvcig7Oyl7aWYoZVtyXT50KXtpZihpPXItMSxpPG8pcmV0dXJuIHJ9ZWxzZSBpZihvPXIrMSxpPG8pcmV0dXJuIHI8cy0xP3IrMTotMTtyPWooKG8raSkvMil9fWZ1bmN0aW9uIGooZSl7cmV0dXJuIE1hdGgudHJ1bmMoZSl9ZnVuY3Rpb24gUShlKXtyZXR1cm4gZTwwP2ooZS8xZTMpLShlJTFlMyE9MD8xOjApOmooZS8xZTMpfX0sMTM0NjcoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7bm9ybWFsaXplQWxwaGFDb21wb25lbnQ6KCk9PnUscGFyc2VSZ2I6KCk9PlQscGFyc2VSZ2JhOigpPT5rLHJnYlRvQmxhY2tXaGl0ZVN0cmluZzooKT0+dyxyZ2JUb1N0cmluZzooKT0+ZixyZ2JhOigpPT5oLHJnYmFUb1N0cmluZzooKT0+Qyx0cnlQYXJzZVJnYmE6KCk9Pnh9KTt2YXIgbz1zKDYwMTg0MSksaT1zKDgzMDc4Myk7ZnVuY3Rpb24gcihlLHQscyl7cmV0dXJuKDAsCm8uaXNOYU4pKHQpfHx0PGU/ZTp0PnM/czpNYXRoLnJvdW5kKHQpfWZ1bmN0aW9uIG4oZSx0LHMpe3JldHVybigwLG8uaXNOYU4pKHQpfHx0PGU/ZTp0PnM/czpNYXRoLnJvdW5kKDFlNCp0KS8xZTR9ZnVuY3Rpb24gYShlKXtyZXR1cm4gcigwLGUsMjU1KX1mdW5jdGlvbiBsKGUpe3JldHVybiByKDAsZSwyNTUpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIHIoMCxlLDI1NSl9ZnVuY3Rpb24gdShlKXtyZXR1cm4gbigwLGUsMSl9ZnVuY3Rpb24gaChlLHQscyxvKXtpZihBcnJheS5pc0FycmF5KGUpKXtjb25zdCBzPWU7cmV0dXJuIG89dCxbc1swXSxzWzFdLHNbMl0sdShvKV19e2NvbnN0IGk9dDtyZXR1cm4gcz1zfHwwLG89b3x8MCxbYShlKSxsKGkpLGMocyksdShvKV19fWNvbnN0IGQ9Wy4xOTksLjY4NywuMTE0XTt2YXIgbSxwLGcsXztmdW5jdGlvbiB5KGUpe2NvbnN0IHQ9bS5yZS5leGVjKGUpO3JldHVybiBudWxsIT09dD9tLnBhcnNlKHQpOm51bGx9ZnVuY3Rpb24gZihlKXtjb25zdFt0LHMsb109ZTtyZXR1cm5gcmdiKCR7dH0sICR7c30sICR7b30pYH1mdW5jdGlvbiBiKGUpe2NvbnN0IHQ9cC5yZS5leGVjKGUpO3JldHVybiBudWxsIT09dD9wLnBhcnNlKHQpOm51bGx9ZnVuY3Rpb24gUyhlKXtjb25zdCB0PWcucmUuZXhlYyhlKTtyZXR1cm4gbnVsbCE9PXQ/Zy5wYXJzZSh0KTpudWxsfWZ1bmN0aW9uIHYoZSl7Y29uc3QgdD1fLnJlLmV4ZWMoZSk7cmV0dXJuIG51bGwhPT10P18ucGFyc2UodCk6bnVsbH1mdW5jdGlvbiBDKGUpe2NvbnN0W3QscyxvLGldPWU7cmV0dXJuYHJnYmEoJHt0fSwgJHtzfSwgJHtvfSwgJHtpfSlgfWZ1bmN0aW9uIHcoZSx0KXtpZih0PDB8fHQ+MjU1KXRocm93IG5ldyBFcnJvcigiaW52YWxpZCB0aHJlc2hvbGQgdmFsdWUsIHZhbGlkIHZhbHVlcyBhcmUgWzAsIDI1NV0iKTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIGRbMF0qZVswXStkWzFdKmVbMV0rZFsyXSplWzJdfShlKT49dD8id2hpdGUiOiJibGFjayJ9ZnVuY3Rpb24gVChlKXtjb25zdCB0PWZ1bmN0aW9uKGUpe2U9ZS50b0xvd2VyQ2FzZSgpO2NvbnN0IHQ9KDAsaS50cnlQYXJzZU5hbWVkUmdiYSkoZSk7aWYobnVsbCE9PXQpe2NvbnN0W2UscyxvXT10O3JldHVybltlLHMsb119Y29uc3Qgcz15KGUpO2lmKG51bGwhPT1zKXJldHVybiBzO2NvbnN0IG89YihlKTtpZihudWxsIT09bylyZXR1cm4gbztjb25zdCByPVMoZSk7aWYobnVsbCE9PXIpcmV0dXJuIHI7Y29uc3Qgbj12KGUpO2lmKG51bGwhPT1uKXtjb25zdFtlLHQsc109bjtyZXR1cm5bZSx0LHNdfXJldHVybiBudWxsfShlKTtpZihudWxsIT09dClyZXR1cm4gdDt0aHJvdyBuZXcgRXJyb3IoIlBhc3NlZCBjb2xvciBzdHJpbmcgZG9lcyBub3QgbWF0Y2ggYW55IG9mIHRoZSBrbm93biBjb2xvciByZXByZXNlbnRhdGlvbnMiKX1mdW5jdGlvbiB4KGUpe2U9ZS50b0xvd2VyQ2FzZSgpO2NvbnN0IHQ9KDAsaS50cnlQYXJzZU5hbWVkUmdiYSkoZSk7aWYobnVsbCE9PXQpcmV0dXJuIHQ7Y29uc3Qgcz15KGUpO2lmKG51bGwhPT1zKXtjb25zdFtlLHQsb109cztyZXR1cm5bZSx0LG8sMV19Y29uc3Qgbz1iKGUpO2lmKG51bGwhPT1vKXtjb25zdFtlLHQsc109bztyZXR1cm5bZSx0LHMsMV19Y29uc3Qgcj1TKGUpO2lmKG51bGwhPT1yKXtjb25zdFtlLHQsc109cjtyZXR1cm5bZSx0LHMsMV19Y29uc3Qgbj12KGUpO3JldHVybiBudWxsIT09bj9uOm51bGx9ZnVuY3Rpb24gayhlKXtjb25zdCB0PXgoZSk7aWYobnVsbCE9PXQpcmV0dXJuIHQ7dGhyb3cgbmV3IEVycm9yKCJQYXNzZWQgY29sb3Igc3RyaW5nIGRvZXMgbm90IG1hdGNoIGFueSBvZiB0aGUga25vd24gY29sb3IgcmVwcmVzZW50YXRpb25zIil9IWZ1bmN0aW9uKGUpe2UucmU9L15yZ2JcKFxzKigtP1xkezEsMTB9KVxzKixccyooLT9cZHsxLDEwfSlccyosXHMqKC0/XGR7MSwxMH0pXHMqXCkkLyxlLnBhcnNlPWZ1bmN0aW9uKGUpe3JldHVyblthKHBhcnNlSW50KGVbMV0sMTApKSxsKHBhcnNlSW50KGVbMl0sMTApKSxjKHBhcnNlSW50KGVbM10sMTApKV19fShtfHwobT17fSkpLGZ1bmN0aW9uKGUpe2UucmU9L14jKFswLTlhLWZBLUZdezJ9KShbMC05YS1mQS1GXXsyfSkoWzAtOWEtZkEtRl17Mn0pJC8sZS5wYXJzZT1mdW5jdGlvbihlKXtyZXR1cm5bYShwYXJzZUludChlWzFdLDE2KSksbChwYXJzZUludChlWzJdLDE2KSksYyhwYXJzZUludChlWzNdLDE2KSldfX0ocHx8KHA9e30pKSxmdW5jdGlvbihlKXtlLnJlPS9eIyhbMC05YS1mQS1GXSkoWzAtOWEtZkEtRl0pKFswLTlhLWZBLUZdKSQvLGUucGFyc2U9ZnVuY3Rpb24oZSl7cmV0dXJuW2EocGFyc2VJbnQoZVsxXStlWzFdLDE2KSksbChwYXJzZUludChlWzJdK2VbMl0sMTYpKSxjKHBhcnNlSW50KGVbM10rZVszXSwxNikpXX19KGd8fChnPXt9KSksZnVuY3Rpb24oZSl7ZS5yZT0vXnJnYmFcKFxzKigtP1xkezEsMTB9KVxzKixccyooLT9cZHsxLDEwfSlccyosXHMqKC0/XGR7MSwxMH0pXHMqLFxzKigtP1tcZF17MCwxMH0oPzpcLlxkKyk/KVxzKlwpJC8sZS5wYXJzZT1mdW5jdGlvbihlKXtyZXR1cm5bYShwYXJzZUludChlWzFdLDEwKSksbChwYXJzZUludChlWzJdLDEwKSksYyhwYXJzZUludChlWzNdLDEwKSksdShwYXJzZUZsb2F0KGVbNF0pKV19fShffHwoXz17fSkpfSwzMDc0MjEoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Z2V0VGltZUZyYW1lTmFtZTooKT0+bn0pO3ZhciBvPXMoNzgzMjU0KSxpPXMoNDI5NTQ5KSxyPXMoMjE1NzMwKTtmdW5jdGlvbiBuKGUpe3JldHVybiBuZXcgTWFwKFtbIjFEIixvLnQobnVsbCx2b2lkIDAscyg2MTQ0NTApKV0sWyIxTSIsby50KG51bGwsdm9pZCAwLHMoNDMwMzMzKSldLFsiM00iLG8udChudWxsLHZvaWQgMCxzKDQ0NjU2KSldLFsiMTJNIixvLnQobnVsbCx2b2lkIDAscyg2NzM1MjMpKV0sWyI2ME0iLG8udChudWxsLHZvaWQgMCxzKDg3ODcwOCkpXSxbIjEyME0iLG8udChudWxsLHZvaWQgMCxzKDY3MDU2OCkpXSxbIkFMTCIsby50KG51bGwsdm9pZCAwLHMoMjkwNzg3KSldLFsiTEFTVFNFU1NJT04iLCgwLHIuZGF5c1N0cmluZ0xpdGVyYWwpKDEpXV0pLmdldCgoMCwKaS5nZXRBY3R1YWxUaW1lRnJhbWUpKGUpKXx8IiJ9fSw2NjUxNDUoZSx0LHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgbztzLmQodCx7TWVkaXVtVGltZUZyYW1lT3B0aW9uc01vZGU6KCk9Pm99KSxmdW5jdGlvbihlKXtlW2UuVXNlTGFzdFNlc3Npb249MF09IlVzZUxhc3RTZXNzaW9uIixlW2UuVXNlMUQ9MV09IlVzZTFEIixlW2UuVXNlTGFzdFNlc3Npb25BbmQxRD0yXT0iVXNlTGFzdFNlc3Npb25BbmQxRCJ9KG98fChvPXt9KSl9LDgwMjU4NihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtnZXRGcm9tRm9yTW9udGhzQWdvOigpPT5yLGdldEZyb21Gb3JZZWFyc0FnbzooKT0+bixnZXRNZWRpdW1UaW1lRnJhbWVPcHRpb25zOigpPT5sLGdldE1pbmlUaW1lRnJhbWVPcHRpb25zOigpPT5hfSk7dmFyIG89cyg2NjUxNDUpLGk9cyg2OTM1MDApO2Z1bmN0aW9uIHIoZSl7Y29uc3QgdD1uZXcgRGF0ZTtyZXR1cm4gdC5zZXRNb250aCh0LmdldE1vbnRoKCktZSksTWF0aC50cnVuYyh0LnZhbHVlT2YoKS8xZTMpfWZ1bmN0aW9uIG4oZSl7Y29uc3QgdD1uZXcgRGF0ZTtyZXR1cm4gdC5zZXRGdWxsWWVhcih0LmdldEZ1bGxZZWFyKCktZSksTWF0aC50cnVuYyh0LnZhbHVlT2YoKS8xZTMpfWZ1bmN0aW9uIGEoZSl7Y29uc3QgdD0oMCxpLmdldFRpbWVGcmFtZXMpKCk7cmV0dXJuW3suLi50W2U/Imxhc3RzZXNzaW9uIjoiMWQiXX0sey4uLnRbIjFtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiMUQiLGZyb206cigxKX0sey4uLnRbIjNtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiMUQiLGZyb206cigzKX0sey4uLnRbIjEybSJdLGZyb206bigxKX0sey4uLnRbIjYwbSJdLHRhcmdldFJlc29sdXRpb246IjFNIixmcm9tOm4oNSl9LHsuLi50LmFsbH1dfWZ1bmN0aW9uIGwoZSl7Y29uc3QgdD0oMCxpLmdldFRpbWVGcmFtZXMpKCkscz1bXTtyZXR1cm4gZSE9PW8uTWVkaXVtVGltZUZyYW1lT3B0aW9uc01vZGUuVXNlMUQmJnMucHVzaCh7Li4udC5sYXN0c2Vzc2lvbn0pLGUhPT1vLk1lZGl1bVRpbWVGcmFtZU9wdGlvbnNNb2RlLlVzZUxhc3RTZXNzaW9uJiZzLnB1c2goey4uLnRbIjFkIl19KSxbLi4ucyx7Li4udFsiMW0iXSx0YXJnZXRSZXNvbHV0aW9uOiI2MCIsZnJvbTpyKDEpfSx7Li4udFsiM20iXSx0YXJnZXRSZXNvbHV0aW9uOiIxMjAiLGZyb206cigzKX0sey4uLnRbIjEybSJdLGZyb206bigxKX0sey4uLnRbIjYwbSJdLHRhcmdldFJlc29sdXRpb246IjFXIixmcm9tOm4oNSl9LHsuLi50LmFsbH1dfX0sNjkwMDk3KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2RlZmF1bHRUaGVtZTooKT0+bn0pO3ZhciBvPXMoMzg3MjMxKSxpPXMoMTM1Mjg3KSxyPXMoMzQ4ODQ5KTtjb25zdCBuPSgwLG8ubWVyZ2VUaGVtZXMpKHIsaSl9LDM4NzIzMShlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSx0LHM9e30pe3JldHVybiBPYmplY3QuYXNzaWduKHt9LGUsZnVuY3Rpb24oZSx0LHM9e30pe2NvbnN0IG89T2JqZWN0LmFzc2lnbih7fSx0KTtmb3IoY29uc3QgaSBvZiBPYmplY3Qua2V5cyh0KSl7Y29uc3Qgcj1zW2ldfHxpO3IgaW4gZSYmKG9baV09W2Vbcl0sdFtpXV0uam9pbigiICIpKX1yZXR1cm4gb30oZSx0LHMpKX1zLmQodCx7bWVyZ2VUaGVtZXM6KCk9Pm99KX0sMTA3NTg1KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlLHQpe3JldHVybiB0fHxudWxsPT1lfHwoInN0cmluZyI9PXR5cGVvZiBlfHxBcnJheS5pc0FycmF5KGUpKSYmMD09PWUubGVuZ3RofXMuZCh0LHtpc0ljb25Pbmx5OigpPT5vfSl9LDIyMDc2NChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtCdXR0b25Hcm91cENvbnRleHQ6KCk9Pm99KTtjb25zdCBvPXMoNzc5NDc0KS5jcmVhdGVDb250ZXh0KHtpc0luQnV0dG9uR3JvdXA6ITEsaXNHcm91cFByaW1hcnk6ITF9KX0sMzI4MjE5KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse3VzZUxpZ2h0QnV0dG9uQ2xhc3NlczooKT0+dX0pO3ZhciBvPXMoNzc5NDc0KSxpPXMoOTE0NDg3KSxyPXMubihpKSxuPXMoMzA5OTIwKSxhPXMoMTA3NTg1KSxsPXMoNTMyMDExKSxjPXMoMjIwNzY0KTtjb25zdCB1PShlLHQscyk9Pntjb25zdCBpPSgwLG8udXNlQ29udGV4dCkobi5DdXN0b21CZWhhdmlvdXJDb250ZXh0KSx7Y2xhc3NOYW1lOnUsaXNTZWxlY3RlZDpoLGNoaWxkcmVuOmQsc2hvd0NhcmV0Om0sZm9yY2VEaXJlY3Rpb246cCxpY29uT25seTpnLGNvbG9yOl89ImdyYXkiLHZhcmlhbnQ6eT0icHJpbWFyeSIsc2l6ZTpmPSJtZWRpdW0iLGVuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOmI9aS5lbmFibGVBY3RpdmVTdGF0ZVN0eWxlcyx0eXBvZ3JhcGh5OlMsaXNMaW5rOnY9ITEsdGV4dFdyYXA6Qyxpc1BpbGxzOncsaXNBY3RpdmU6VCxzdGFydFNsb3Q6eCxlbmRTbG90Omt9PXQsTj1lW2B0eXBvZ3JhcGh5LSR7KChlLHQscyk9PntpZihzKXtjb25zdCBlPXMucmVwbGFjZSgvXlxEKy9nLCIiKTtyZXR1cm4gdD9gc2VtaWJvbGQke2V9YDpzfXN3aXRjaChlKXtjYXNlInhzbWFsbCI6cmV0dXJuIHQ/InNlbWlib2xkMTRweCI6InJlZ3VsYXIxNHB4IjtjYXNlInNtYWxsIjpjYXNlIm1lZGl1bSI6cmV0dXJuIHQ/InNlbWlib2xkMTZweCI6InJlZ3VsYXIxNnB4IjtkZWZhdWx0OnJldHVybiIifX0pKGYsaHx8dyxTfHx2b2lkIDApfWBdLEw9KDAsby51c2VDb250ZXh0KShsLkNvbnRyb2xHcm91cENvbnRleHQpLHtpc0luQnV0dG9uR3JvdXA6RSxpc0dyb3VwUHJpbWFyeTpNfT0oMCxvLnVzZUNvbnRleHQpKGMuQnV0dG9uR3JvdXBDb250ZXh0KTtyZXR1cm4gcigpKHUsZS5saWdodEJ1dHRvbix2JiZlLmxpbmssVCYmZS5hY3RpdmUsaCYmZS5zZWxlY3RlZCwoMCxhLmlzSWNvbk9ubHkpKGQsZykmJmUubm9Db250ZW50LCEheCYmZS53aXRoU3RhcnRTbG90LChtfHwhIWspJiZlLndpdGhFbmRTbG90LHMmJmUud2l0aEdyb3VwZWQscCYmZVtwXSxlW00/InByaW1hcnkiOnldLGVbTT8iZ3JheSI6X10sZVtmXSxOLCFiJiZlLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcyxMLmlzR3JvdXBlZCYmZS5ncm91cGVkLEMmJmUud3JhcCxFJiZlLmRpc2FibGVBY3RpdmVPblRvdWNoLHcmJmUucGlsbHMpfX0sODMwMTIoZSx0LHMpewoidXNlIHN0cmljdCI7cy5kKHQse0xpZ2h0QnV0dG9uQ29udGVudDooKT0+bX0pO3ZhciBvPXMoNzc5NDc0KSxpPXMoOTE0NDg3KSxyPXMubihpKSxuPXMoNzcwMTQzKSxhPXMoMTA3NTg1KSxsPXMoMjczMzEwKSxjPXMoOTM1MSksdT1zLm4oYyksaD1zKDM2NDgxNSksZD1zLm4oaCk7ZnVuY3Rpb24gbShlKXtjb25zdHtzaG93Q2FyZXQ6dCxpY29uT25seTpzLGVsbGlwc2lzOmk9ITAsdGV4dFdyYXA6Yyx0b29sdGlwVGV4dDpoLGNoaWxkcmVuOm0sZW5kU2xvdDpwLHN0YXJ0U2xvdDpnLGlzQWN0aXZlQ2FyZXQ6X309ZTtbcCx0XS5maWx0ZXIoKGU9PiEhZSkpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLGcmJm8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpyKCkoZCgpLnNsb3QsZCgpLnN0YXJ0U2xvdCl9LGcpLCEoMCxhLmlzSWNvbk9ubHkpKG0scykmJm8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpyKCkoZCgpLmNvbnRlbnQsIWMmJmQoKS5ub3dyYXAsImFwcGx5LW92ZXJmbG93LXRvb2x0aXAiLCJhcHBseS1vdmVyZmxvdy10b29sdGlwLS1jaGVjay1jaGlsZHJlbi1yZWN1cnNpdmVseSIsImFwcGx5LW92ZXJmbG93LXRvb2x0aXAtLWFsbG93LXRleHQiKSwiZGF0YS1vdmVyZmxvdy10b29sdGlwLXRleHQiOmg/PygwLG4uZ2V0VGV4dEZvclRvb2x0aXApKG0pfSxjfHxpP28uY3JlYXRlRWxlbWVudChvLkZyYWdtZW50LG51bGwsby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnIoKSghYyYmaSYmZCgpLmVsbGlwc2lzQ29udGFpbmVyLGMmJmQoKS50ZXh0V3JhcENvbnRhaW5lcixjJiZpJiZkKCkudGV4dFdyYXBXaXRoRWxsaXBzaXMpfSxtKSxvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6ZCgpLnZpc3VhbGx5SGlkZGVuLCJhcmlhLWhpZGRlbiI6ITB9LG0pKTpvLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLG0sby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmQoKS52aXN1YWxseUhpZGRlbiwiYXJpYS1oaWRkZW4iOiEwfSxtKSkpLHAmJm8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpyKCkoZCgpLnNsb3QsZCgpLmVuZFNsb3QpfSxwKSx0JiYoZT0+by5jcmVhdGVFbGVtZW50KGwuSWNvbix7Y2xhc3NOYW1lOnIoKShkKCkuY2FyZXQsZSYmZCgpLmFjdGl2ZUNhcmV0KSxpY29uOnUoKX0pKShfKSl9fSw4NTQ4MjAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7TGlnaHRCdXR0b246KCk9PmR9KTt2YXIgbz1zKDc3OTQ3NCksaT1zKDUzMjAxMSkscj1zKDMyODIxOSksbj1zKDgzMDEyKSxhPXMoMzQ1MTE2KSxsPXMoMzY0ODE1KSxjPXMubihsKSx1PXMoODU0NDUpLGg9cy5uKHUpO2Z1bmN0aW9uIGQoZSl7Y29uc3R7aXNHcm91cGVkOnR9PW8udXNlQ29udGV4dChpLkNvbnRyb2xHcm91cENvbnRleHQpLHtyZWZlcmVuY2U6cyxjbGFzc05hbWU6bCxpc1NlbGVjdGVkOnUsY2hpbGRyZW46ZCxpY29uT25seTptLGVsbGlwc2lzOnAsc2hvd0NhcmV0OmcsZm9yY2VEaXJlY3Rpb246XyxlbmRTbG90Onksc3RhcnRTbG90OmYsY29sb3I6Yix2YXJpYW50OlMsc2l6ZTp2LGVuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOkMsdHlwb2dyYXBoeTp3LHRleHRXcmFwOlQ9ITEsbWF4TGluZXM6eCxzdHlsZTprPXt9LGlzUGlsbHM6Tixpc0FjdGl2ZTpMLHRvb2x0aXBUZXh0OkUscm9sZTpNLGRhdGFRYUlkOlAsYXJpYUxhYmVsOkQsbmFtZTpSLG9uRm9jdXM6SSxvbkJsdXI6QSxvbk1vdXNlRW50ZXI6Tyxvbk1vdXNlTGVhdmU6Rixvbk1vdXNlT3ZlcjpCLG9uTW91c2VPdXQ6VixvbkNsaWNrOlUsb25BbmltYXRpb25FbmQ6VyxvblBvaW50ZXJPdmVyOnEsb25Qb2ludGVyT3V0Okgsb25LZXlEb3duOnosYXV0b0ZvY3VzOmosaXNBY3RpdmVDYXJldDpRLGlkOkssZGlzYWJsZWQ6JCx0YWJJbmRleDpHLHZhbHVlOlosdGl0bGU6WSx0eXBlOkosLi4uWH09ZSxlZT0oMCxhLmZpbHRlckRhdGFQcm9wcykoWCksdGU9KDAsYS5maWx0ZXJBcmlhUHJvcHMpKFgpLHNlPVQ/eD8/MjoxLG9lPXNlPjA/ey4uLmssIi0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb250ZW50LW1heC1saW5lcyI6c2V9Oms7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7bmFtZTpSLG9uRm9jdXM6SSxvbkJsdXI6QSxvbk1vdXNlRW50ZXI6Tyxvbk1vdXNlTGVhdmU6Rixvbk1vdXNlT3ZlcjpCLG9uTW91c2VPdXQ6VixvbkNsaWNrOlUsb25BbmltYXRpb25FbmQ6VyxvblBvaW50ZXJPdmVyOnEsb25Qb2ludGVyT3V0Okgsb25LZXlEb3duOnosYXV0b0ZvY3VzOmosaWQ6SyxkaXNhYmxlZDokLHRhYkluZGV4OkcsdmFsdWU6Wix0aXRsZTpZLHR5cGU6SiwiZGF0YS1xYS1pZCI6UCwiYXJpYS1sYWJlbCI6RCwuLi5lZSwuLi50ZSxjbGFzc05hbWU6KDAsci51c2VMaWdodEJ1dHRvbkNsYXNzZXMpKHsuLi5oKCksLi4uYygpfSx7Y2xhc3NOYW1lOmwsaXNTZWxlY3RlZDp1LGNoaWxkcmVuOmQsaWNvbk9ubHk6bSxzaG93Q2FyZXQ6Zyxmb3JjZURpcmVjdGlvbjpfLGVuZFNsb3Q6eSxzdGFydFNsb3Q6Zixjb2xvcjpiLHZhcmlhbnQ6UyxzaXplOnYsZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXM6Qyx0eXBvZ3JhcGh5OncsdGV4dFdyYXA6VCxpc1BpbGxzOk4saXNBY3RpdmU6TH0sdCkscmVmOnMsc3R5bGU6b2Uscm9sZTpNfSxvLmNyZWF0ZUVsZW1lbnQobi5MaWdodEJ1dHRvbkNvbnRlbnQse3Nob3dDYXJldDpnLGlzQWN0aXZlQ2FyZXQ6ZyYmKE58fEx8fHV8fFEpLGljb25Pbmx5Om0sZWxsaXBzaXM6cCx0ZXh0V3JhcDpULHRvb2x0aXBUZXh0OkUsZW5kU2xvdDp5LHN0YXJ0U2xvdDpmfSxkKSl9fSw1MzIwMTEoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Q29udHJvbEdyb3VwQ29udGV4dDooKT0+cixkZWZhdWx0Q2VsbFN0YXRlOigpPT5pfSk7dmFyIG89cyg3Nzk0NzQpO2NvbnN0IGk9e2lzVG9wOiEwLGlzUmlnaHQ6ITAsaXNCb3R0b206ITAsaXNMZWZ0OiEwfSxyPW8uY3JlYXRlQ29udGV4dCh7aXNHcm91cGVkOiExLGNlbGxTdGF0ZTppfSl9LDg2OTg0MihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtTd2l0Y2hHcm91cENvbnRleHQ6KCk9PnJ9KQo7dmFyIG89cyg3Nzk0NzQpLGk9cyg4NjIzODgpO2NvbnN0IHI9KDAsby5jcmVhdGVDb250ZXh0KSh7Z2V0TmFtZTooKT0+IiIsZ2V0VmFsdWVzOigpPT5bXSxnZXRPbkNoYW5nZTooKT0+aS5kZWZhdWx0LHN1YnNjcmliZTppLmRlZmF1bHQsdW5zdWJzY3JpYmU6aS5kZWZhdWx0fSl9LDY1ODQ2KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse21ha2VTd2l0Y2hHcm91cEl0ZW06KCk9PnJ9KTt2YXIgbz1zKDc3OTQ3NCksaT1zKDg2OTg0Mik7ZnVuY3Rpb24gcihlKXt2YXIgdDtyZXR1cm4gdD1jbGFzcyBleHRlbmRzIG8uUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fb25DaGFuZ2U9ZT0+e3RoaXMuY29udGV4dC5nZXRPbkNoYW5nZSgpKGUudGFyZ2V0LnZhbHVlKX0sdGhpcy5fb25VcGRhdGU9ZT0+e2UuaW5jbHVkZXModGhpcy5wcm9wcy52YWx1ZSkmJnRoaXMuZm9yY2VVcGRhdGUoKX19Y29tcG9uZW50RGlkTW91bnQoKXt0aGlzLmNvbnRleHQuc3Vic2NyaWJlKHRoaXMuX29uVXBkYXRlKX1yZW5kZXIoKXtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGUsey4uLnRoaXMucHJvcHMsbmFtZTp0aGlzLl9nZXROYW1lKCksb25DaGFuZ2U6dGhpcy5fb25DaGFuZ2UsY2hlY2tlZDp0aGlzLl9pc0NoZWNrZWQoKX0pfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5jb250ZXh0LnVuc3Vic2NyaWJlKHRoaXMuX29uVXBkYXRlKX1fZ2V0TmFtZSgpe3JldHVybiB0aGlzLmNvbnRleHQuZ2V0TmFtZSgpfV9pc0NoZWNrZWQoKXtyZXR1cm4gdGhpcy5jb250ZXh0LmdldFZhbHVlcygpLmluY2x1ZGVzKHRoaXMucHJvcHMudmFsdWUpfX0sdC5jb250ZXh0VHlwZT1pLlN3aXRjaEdyb3VwQ29udGV4dCx0fX0sMzQ1MTE2KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gcihlLG4pfWZ1bmN0aW9uIGkoZSl7cmV0dXJuIHIoZSxhKX1mdW5jdGlvbiByKGUsdCl7Y29uc3Qgcz1PYmplY3QuZW50cmllcyhlKS5maWx0ZXIodCksbz17fTtmb3IoY29uc3RbZSx0XW9mIHMpb1tlXT10O3JldHVybiBvfWZ1bmN0aW9uIG4oZSl7Y29uc3RbdCxzXT1lO3JldHVybiAwPT09dC5pbmRleE9mKCJkYXRhLSIpJiYic3RyaW5nIj09dHlwZW9mIHN9ZnVuY3Rpb24gYShlKXtyZXR1cm4gMD09PWVbMF0uaW5kZXhPZigiYXJpYS0iKX1mdW5jdGlvbiBsKGUsdCl7Y29uc3Qgcz1vKGUpO3JldHVybiB0JiYoc1siZGF0YS1xYS1pZCJdPXQpLHN9cy5kKHQse2ZpbHRlckFyaWFQcm9wczooKT0+aSxmaWx0ZXJDaGVja2VkRGF0YVByb3BzOigpPT5sLGZpbHRlckRhdGFQcm9wczooKT0+byxmaWx0ZXJQcm9wczooKT0+cixpc0FyaWFBdHRyaWJ1dGU6KCk9PmEsaXNEYXRhQXR0cmlidXRlOigpPT5ufSl9LDc3MDE0MyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtnZXRUZXh0Rm9yVG9vbHRpcDooKT0+bn0pO3ZhciBvPXMoNzc5NDc0KTtjb25zdCBpPWU9PigwLG8uaXNWYWxpZEVsZW1lbnQpKGUpJiZCb29sZWFuKGUucHJvcHMuY2hpbGRyZW4pLHI9KGUsdD0hMCk9Pm51bGw9PWV8fCJib29sZWFuIj09dHlwZW9mIGV8fCJ7fSI9PT1KU09OLnN0cmluZ2lmeShlKT8iIjplLnRvU3RyaW5nKCkrKHQ/IiAiOiIiKSxuPWU9PkFycmF5LmlzQXJyYXkoZSl8fCgwLG8uaXNWYWxpZEVsZW1lbnQpKGUpP28uQ2hpbGRyZW4udG9BcnJheShlKS5yZWR1Y2UoKChlLHQpPT57bGV0IHM9IiI7cmV0dXJuIHM9KDAsby5pc1ZhbGlkRWxlbWVudCkodCkmJmkodCk/bih0LnByb3BzLmNoaWxkcmVuKTooMCxvLmlzVmFsaWRFbGVtZW50KSh0KSYmIWkodCk/IiI6cih0KSxlLmNvbmNhdChzKX0pLCIiKS50cmltKCk6cihlLCExKX0sNDg4MDUoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Z2V0Q3Jvc3NoYWlyTW92ZURhdGE6KCk9Pml9KTt2YXIgbz1zKDc4MzI1NCk7ZnVuY3Rpb24gaShlLHQpe2NvbnN0e3BvaW50OmksdGltZTpyLHNlcmllc0RhdGE6bn09dDtpZih2b2lkIDA9PT1pfHx2b2lkIDA9PT1yKXJldHVybjtjb25zdCBhPWUubWFpblBsb3QoKSxsPWEuc2VyaWVzKCk7aWYodm9pZCAwPT09bi5nZXQobCkpcmV0dXJuO2xldCBjO2NvbnN0IHU9W10saD1hLmN1cnJlbnRTZXJpZXNPcHRpb25zKCk7aWYoYz0iQXJlYSI9PT1sLnNlcmllc1R5cGUoKXx8IkxpbmUiPT09bC5zZXJpZXNUeXBlKCk/aC50b29sdGlwVHlwZXx8ImxpbmUiOmgudG9vbHRpcFR5cGV8fCJvaGxjIix1LnB1c2goLi4uYS5nZXRMZWdlbmREYXRhKHQubG9naWNhbCkpLGUuc3R1ZHlQbG90cygpLmZvckVhY2goKGU9Pnt1LnB1c2goLi4uZS5nZXRMZWdlbmREYXRhKHQubG9naWNhbCkpfSkpLDA9PT11Lmxlbmd0aClyZXR1cm47Y29uc3QgZD1oLnRvb2x0aXBMZWdlbmRDb2xvck9yZGVyO2Q/LnNpemUmJnUuc29ydCgoKGUsdCk9Pntjb25zdCBzPWQuZ2V0KGUuY29sb3IpPz8tMSxvPWQuZ2V0KHQuY29sb3IpPz8tMTtyZXR1cm4ocz4tMT9zOjEvMCktKG8+LTE/bzoxLzApfSkpO2NvbnN0IG09bmV3IERhdGUoMWUzKnIpO2xldCBwPWUuZGF0ZVRpbWVGb3JtYXR0ZXIoKS5mb3JtYXQobSx7ZGF0ZVRpbWVTZXBhcmF0b3I6IlxuIn0pO2UuaXNEV01SZXNvbHV0aW9uKCl8fChwKz0iICIrZnVuY3Rpb24oZSl7aWYoMD09PWUpcmV0dXJuIlVUQyI7Y29uc3QgdD1NYXRoLmFicyhlKSxzPU1hdGguZmxvb3IodC82MCksbz10LTYwKnM7cmV0dXJuYFVUQyR7TWF0aC5zaWduKGUpPD0wPyIrIjoiLSJ9JHtzfSR7bz4wP2A6JHtvfWA6IiJ9YH0obS5nZXRUaW1lem9uZU9mZnNldCgpKSk7Y29uc3QgZz1lLmlzRFdNUmVzb2x1dGlvbigpfHwzIT09YS5zZXNzaW9uQXRUaW1lKGZ1bmN0aW9uKGUpe2NvbnN0IHQ9bmV3IERhdGUoMWUzKmUpO3JldHVybiBuZXcgRGF0ZSh0LmdldFVUQ0Z1bGxZZWFyKCksdC5nZXRVVENNb250aCgpLHQuZ2V0VVRDRGF0ZSgpLHQuZ2V0VVRDSG91cnMoKSx0LmdldFVUQ01pbnV0ZXMoKSx0LmdldFVUQ1NlY29uZHMoKSkudmFsdWVPZigpLzFlM30ocikpP3ZvaWQgMDpvLnQobnVsbCx7Y29udGV4dDoibWFya2V0X3N0YXR1cyJ9LHMoNTQ1MjI0KSk7cmV0dXJue3BvaW50OmksdGltZTpwLHByaWNlczp1LHR5cGU6YywKbm90ZTpnfX19LDYxMDU3MShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtkZWZhdWx0Vm9sdW1lT3B0aW9uczooKT0+YyxnZXRTZXJpZXNPcHRpb25zOigpPT5ufSk7dmFyIG89cyg1MDU1NiksaT1zKDI0NzkwMSkscj1zKDg3MzU3Myk7ZnVuY3Rpb24gbihlLHQscyxpKXtyZXR1cm4ibGluZSI9PT1lP3tjaGFydFR5cGU6ImxpbmUiLGxpbmVXaWR0aDozLGdyb3dpbmdDb2xvcjooMCxvLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItbWludHktZ3JlZW4tNTAwIiksZmFsbGluZ0NvbG9yOigwLG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC01MDAiKSxjcm9zc2hhaXJNYXJrZXJWaXNpYmxlOiEwLGxhc3RWYWx1ZVZpc2libGU6ITAsY3Jvc3NoYWlyTWFya2VyUmFkaXVzOjQuNSxjcm9zc2hhaXJNYXJrZXJCb3JkZXJDb2xvcjpsKHMpLHByZW1hcmtldExpbmVDb2xvcjphKHMsaSkscG9zdG1hcmtldExpbmVDb2xvcjphKHMsaSksbmlnaHRMaW5lQ29sb3I6YShzLGkpLGFkZE1hcmtlcnM6MT09PXQsbGluZVR5cGU6Mj09PXQ/MTowLHNjYWxlTWFyZ2luczp7dG9wOi4wNSxib3R0b206LjA1fX06ImFyZWEiPT09ZT97Y2hhcnRUeXBlOiJhcmVhIixsaW5lV2lkdGg6MixwcmljZUxpbmVWaXNpYmxlOiExLGNyb3NzaGFpck1hcmtlclZpc2libGU6ITAsY3Jvc3NoYWlyTWFya2VyUmFkaXVzOjMuNSxjcm9zc2hhaXJNYXJrZXJCb3JkZXJDb2xvcjpsKHMpLGxhc3RWYWx1ZVZpc2libGU6ITAsZ3Jvd2luZ1RvcENvbG9yOigwLHIuZ2VuZXJhdGVDb2xvcikoby5jb2xvcnNQYWxldHRlWyJjb2xvci1taW50eS1ncmVlbi01MDAiXSw3MCksZ3Jvd2luZ0JvdHRvbUNvbG9yOigwLHIuZ2VuZXJhdGVDb2xvcikoby5jb2xvcnNQYWxldHRlWyJjb2xvci1taW50eS1ncmVlbi01MDAiXSwxMDApLGdyb3dpbmdMaW5lQ29sb3I6KDAsby5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIpLGZhbGxpbmdUb3BDb2xvcjooMCxyLmdlbmVyYXRlQ29sb3IpKG8uY29sb3JzUGFsZXR0ZVsiY29sb3ItcmlwZS1yZWQtNTAwIl0sNzApLGZhbGxpbmdCb3R0b21Db2xvcjooMCxyLmdlbmVyYXRlQ29sb3IpKG8uY29sb3JzUGFsZXR0ZVsiY29sb3ItcmlwZS1yZWQtNTAwIl0sMTAwKSxmYWxsaW5nTGluZUNvbG9yOigwLG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC01MDAiKSxwcmVtYXJrZXRMaW5lQ29sb3I6YShzLGkpLHBvc3RtYXJrZXRMaW5lQ29sb3I6YShzLGkpLG5pZ2h0TGluZUNvbG9yOmEocyxpKX06e2NoYXJ0VHlwZToiY2FuZGxlc3RpY2tzIix1cENvbG9yOigwLG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1taW50eS1ncmVlbi01MDAiKSxkb3duQ29sb3I6KDAsby5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXJpcGUtcmVkLTUwMCIpLGJvcmRlclVwQ29sb3I6KDAsby5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIpLGJvcmRlckRvd25Db2xvcjooMCxvLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItcmlwZS1yZWQtNTAwIiksd2lja1VwQ29sb3I6KDAsby5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIpLHdpY2tEb3duQ29sb3I6KDAsby5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXJpcGUtcmVkLTUwMCIpfX1mdW5jdGlvbiBhKGUsdCl7aWYoIkxBU1RTRVNTSU9OIj09PXQpcmV0dXJuKDAsby5nZXRIZXhDb2xvckJ5TmFtZSkoZT09PWkuU3RkVGhlbWUuTGlnaHQ/ImNvbG9yLWNvbGQtZ3JheS0zMDAiOiJjb2xvci1jb2xkLWdyYXktNjUwIil9ZnVuY3Rpb24gbChlKXtyZXR1cm4oMCxvLmdldEhleENvbG9yQnlOYW1lKShlPT09aS5TdGRUaGVtZS5MaWdodD8iY29sb3Itd2hpdGUiOiJjb2xvci1ibGFjayIpfWNvbnN0IGM9e3NjYWxlTWFyZ2luczp7dG9wOi44LGJvdHRvbTowfSxwcmljZVNjYWxlSWQ6Im92ZXJsYXkiLHVwQ29sb3I6KDAsci5hcHBseVRyYW5zcGFyZW5jeSkoby5jb2xvcnNQYWxldHRlWyJjb2xvci1taW50eS1ncmVlbi01MDAiXSw1MCksZG93bkNvbG9yOigwLHIuYXBwbHlUcmFuc3BhcmVuY3kpKG8uY29sb3JzUGFsZXR0ZVsiY29sb3ItcmlwZS1yZWQtNTAwIl0sNTApLHZpc2libGU6ITEsbGFzdFZhbHVlVmlzaWJsZTohMSxwcmljZUxpbmVWaXNpYmxlOiExfX0sNzA5MzcwKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1Nlc3Npb25zTWluaUNoYXJ0OigpPT5yfSk7dmFyIG89cyg0NzAwOTApLGk9cygxNTY1MTEpO2NsYXNzIHIgZXh0ZW5kcyBvLk1pbmlDaGFydHtfZ2V0Q2hhcnRQbG90Q2xhc3MoKXtyZXR1cm4gaS5TZXNzaW9uc01pbmlDaGFydFBsb3R9fX0sMTU2NTExKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1Nlc3Npb25zTWluaUNoYXJ0UGxvdDooKT0+bn0pO3ZhciBvPXMoMTM4NjM4KSxpPXMoNTg2MjQ3KSxyPXMoOTEyMDMzKTtjbGFzcyBuIGV4dGVuZHMgaS5NaW5pQ2hhcnRQbG90e2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9zZXNzaW9uc1N0dWR5UHJvdmlkZXI9bnVsbH1kZXN0cm95KCl7dGhpcy5fZGVzdHJveVNlc3Npb25TdHVkeVByb3ZpZGVyKCksc3VwZXIuZGVzdHJveSgpfXJlcXVlc3REYXRhKCl7aWYoc3VwZXIucmVxdWVzdERhdGEoKSx0aGlzLl9kZXN0cm95U2Vzc2lvblN0dWR5UHJvdmlkZXIoKSx0aGlzLl9pc0xhc3RTZXNzaW9uSW50ZXJ2YWwudmFsdWUoKSl7Y29uc3QgZT10aGlzLl9iYXJCdWlsZGVyTG9hZGVyPy5nZXQoKTtlfHwodGhpcy5fc2Vzc2lvbnNTdHVkeVByb3ZpZGVyPW5ldyByLlNlc3Npb25zU3R1ZHlQcm92aWRlcih0aGlzLmNoYXJ0U2Vzc2lvbigpLHRoaXMuc2VyaWVzRGF0YVNvdXJjZSgpKSx0aGlzLl9zZXNzaW9uc1N0dWR5UHJvdmlkZXIuc3RhcnQoKSl9fWRpc2Nvbm5lY3QoKXt0aGlzLl9kZXN0cm95U2Vzc2lvblN0dWR5UHJvdmlkZXIoKSxzdXBlci5kaXNjb25uZWN0KCl9X29uU3ltYm9sUmVzb2x2ZWQoZSl7c3VwZXIuX29uU3ltYm9sUmVzb2x2ZWQoZSksCnRoaXMuX2lzTGFzdFNlc3Npb25JbnRlcnZhbC52YWx1ZSgpJiYhdGhpcy5fYmFyQnVpbGRlckxvYWRlciYmdGhpcy5faW5pdEJhckJ1aWxkZXIoZSl9YXN5bmMgX29uRGF0YShlLHQpe2F3YWl0IHRoaXMuX3dhaXRGb3JSZWFkeVRvQ2FsY3VsYXRlU2Vzc2lvbigpLHN1cGVyLl9vbkRhdGEoZSx0KX1hc3luYyBfb25EYXRhQ29tcGxldGVkKCl7YXdhaXQgdGhpcy5fd2FpdEZvclJlYWR5VG9DYWxjdWxhdGVTZXNzaW9uKCksc3VwZXIuX29uRGF0YUNvbXBsZXRlZCgpfV9iYXJJbmRleFNlc3Npb24oZSl7aWYoIXRoaXMuX2lzTGFzdFNlc3Npb25JbnRlcnZhbC52YWx1ZSgpKXJldHVybjtjb25zdCB0PXRoaXMuX2JhckJ1aWxkZXJMb2FkZXI/LmdldCgpO2lmKHQpe2NvbnN0IHM9dGhpcy5fbWluaUNoYXJ0LmluZGV4VG9UaW1lKGUpO2lmKG51bGwhPT1zKXJldHVybiB0LnNlc3Npb24ocyl9cmV0dXJuIHRoaXMuX3Nlc3Npb25zU3R1ZHlQcm92aWRlcj90aGlzLl9zZXNzaW9uc1N0dWR5UHJvdmlkZXIuaXNQcmVNYXJrZXQoZSk/MDp0aGlzLl9zZXNzaW9uc1N0dWR5UHJvdmlkZXIuaXNQb3N0TWFya2V0KGUpPzE6dGhpcy5fc2Vzc2lvbnNTdHVkeVByb3ZpZGVyLmlzTmlnaHRNYXJrZXQoZSk/MzoyOnZvaWQgMH1hc3luYyBfd2FpdEZvclJlYWR5VG9DYWxjdWxhdGVTZXNzaW9uKCl7Y29uc3QgZT10aGlzLl9iYXJCdWlsZGVyTG9hZGVyPy5nZXQoKTtpZighZSYmdGhpcy5faXNMYXN0U2Vzc2lvbkludGVydmFsLnZhbHVlKCkpe2F3YWl0IFByb21pc2UucmFjZShbdGhpcy5fc2Vzc2lvbnNTdHVkeVByb3ZpZGVyPy5jb21wbGV0ZWQoKSx0aGlzLl9pbml0QmFyQnVpbGRlcigoMCxvLmVuc3VyZU5vdE51bGwpKHRoaXMuc3ltYm9sSW5mbygpKSldKT09PXRoaXMuX2JhckJ1aWxkZXJMb2FkZXI/LmdldCgpJiZ0aGlzLl9kZXN0cm95U2Vzc2lvblN0dWR5UHJvdmlkZXIoKX19X2Rlc3Ryb3lTZXNzaW9uU3R1ZHlQcm92aWRlcigpe3RoaXMuX3Nlc3Npb25zU3R1ZHlQcm92aWRlcj8uZGVzdHJveSgpLHRoaXMuX3Nlc3Npb25zU3R1ZHlQcm92aWRlcj1udWxsfX19LDkxMjAzMyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtTZXNzaW9uc1N0dWR5UHJvdmlkZXI6KCk9PmF9KTt2YXIgbyxpPXMoODE0NTg5KSxyPXMoOTY1Nzk1KSxuPXMoNzY4NzYwKTshZnVuY3Rpb24oZSl7ZVtlLlN0b3BwZWQ9MF09IlN0b3BwZWQiLGVbZS5TdGFydGVkPTFdPSJTdGFydGVkIn0ob3x8KG89e30pKTtjbGFzcyBhe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fdHVybmFyb3VuZD1uZXcgbCgic3QiKSx0aGlzLl9pbnN0YW5jZUlEPW51bGwsdGhpcy5fc2Vzc2lvbkRlZmVycmVkUHJvbWlzZT0oMCxuLmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKSx0aGlzLl9zZXNzaW9uc0RhdGE9bnVsbCx0aGlzLl9zdGF0dXM9by5TdG9wcGVkLHRoaXMuX29uTWVzc2FnZT1lPT57c3dpdGNoKGUubWV0aG9kKXtjYXNlImRhdGFfdXBkYXRlIjp7Y29uc3R7Y3VzdG9tSWQ6dCx0dXJuYXJvdW5kOnMsbm9uc2VyaWVzOm99PWUucGFyYW1zO2lmKHQhPT10aGlzLl9pbnN0YW5jZUlEfHwhdGhpcy5fY2hlY2tUdXJuYXJvdW5kKHMpfHwhbylyZXR1cm47cmV0dXJuIHZvaWQgdGhpcy5fb25EYXRhVXBkYXRlKG8pfWNhc2Uic3R1ZHlfY29tcGxldGVkIjpjYXNlInN0dWR5X2Vycm9yIjpyZXR1cm4gdm9pZCB0aGlzLl9zZXNzaW9uRGVmZXJyZWRQcm9taXNlLnJlc29sdmUoKX19LHRoaXMuX2NoYXJ0U2Vzc2lvbj1lLHRoaXMuX3Nlcmllc0RhdGFTb3VyY2U9dCx0aGlzLl9pc0Nvbm5lY3RlZENoYXJ0U2Vzc2lvbj10aGlzLl9jaGFydFNlc3Npb24uaXNDb25uZWN0ZWQoKS5zcGF3bigpfWRlc3Ryb3koKXt0aGlzLnN0b3AoKSx0aGlzLl9pc0Nvbm5lY3RlZENoYXJ0U2Vzc2lvbi5kZXN0cm95KCl9c3RhcnQoKXt0aGlzLl9zdGF0dXMhPT1vLlN0b3BwZWQmJnRoaXMuc3RvcCgpLHRoaXMuX3Nlc3Npb25EZWZlcnJlZFByb21pc2U9KDAsbi5jcmVhdGVEZWZlcnJlZFByb21pc2UpKCk7Y29uc3QgZT10aGlzLl9zZXJpZXNEYXRhU291cmNlLmluc3RhbmNlSWQoKTtudWxsIT09ZT90aGlzLl9jcmVhdGVTdHVkeUZvclNlcmllcyhlKTp0aGlzLl9zZXJpZXNEYXRhU291cmNlLmRhdGFFdmVudHMoKS5jcmVhdGVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fY3JlYXRlU3R1ZHlGb3JTZXJpZXMuYmluZCh0aGlzKSwhMCksdGhpcy5fc3RhdHVzPW8uU3RhcnRlZH1zdG9wKCl7bnVsbCE9PXRoaXMuX2luc3RhbmNlSUQmJih0aGlzLl9jaGFydFNlc3Npb24uaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZ0aGlzLl9jaGFydFNlc3Npb24ucmVtb3ZlU3R1ZHkodGhpcy5faW5zdGFuY2VJRCksdGhpcy5faW5zdGFuY2VJRD1udWxsLHRoaXMuX3Nlc3Npb25EZWZlcnJlZFByb21pc2UucmVzb2x2ZSgpKSx0aGlzLl9zZXJpZXNEYXRhU291cmNlLmRhdGFFdmVudHMoKS5jcmVhdGVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5faXNDb25uZWN0ZWRDaGFydFNlc3Npb24udW5zdWJzY3JpYmUoKSx0aGlzLl9zdGF0dXM9by5TdG9wcGVkfWNvbXBsZXRlZCgpe3JldHVybiB0aGlzLl9zZXNzaW9uRGVmZXJyZWRQcm9taXNlLnByb21pc2V9aXNQb3N0TWFya2V0KGUpe3JldHVybiEhdGhpcy5fc2Vzc2lvbnNEYXRhPy5wb3N0TWFya2V0Py5oYXMoZSl9aXNQcmVNYXJrZXQoZSl7cmV0dXJuISF0aGlzLl9zZXNzaW9uc0RhdGE/LnByZU1hcmtldD8uaGFzKGUpfWlzTmlnaHRNYXJrZXQoZSl7cmV0dXJuISF0aGlzLl9zZXNzaW9uc0RhdGE/Lm5pZ2h0TWFya2V0Py5oYXMoZSl9X2NyZWF0ZVN0dWR5Rm9yU2VyaWVzKGUpe3RoaXMuX2lzQ29ubmVjdGVkQ2hhcnRTZXNzaW9uJiZ0aGlzLl9pc0Nvbm5lY3RlZENoYXJ0U2Vzc2lvbi51bnN1YnNjcmliZSgpLHRoaXMuX2lzQ29ubmVjdGVkQ2hhcnRTZXNzaW9uLndoZW4oKCgpPT57dGhpcy5faW5zdGFuY2VJRD0oMCxyLm1ha2VOZXh0U3R1ZHlJZCkoKSwKdGhpcy5fY2hhcnRTZXNzaW9uLmNyZWF0ZVN0dWR5KHRoaXMuX2luc3RhbmNlSUQsdGhpcy5fdHVybmFyb3VuZC5uZXh0KCksZSwiU2Vzc2lvbnNAdHYtYmFzaWNzdHVkaWVzLTE4NyEiLHt9LHRoaXMuX29uTWVzc2FnZSx7aWQ6IlNlc3Npb25zQHR2LWJhc2ljc3R1ZGllcyJ9KX0pKX1fb25EYXRhVXBkYXRlKGUpe2NvbnN0e2luZGV4ZXM6dCxkOnN9PWU7aWYoIXMpcmV0dXJuO2NvbnN0IG89SlNPTi5wYXJzZShzKSxyPSEwPT09by5pbmRleGVzX3JlcGxhY2U/dm9pZCAwOm8uZ3JhcGhpY3NDbWRzPy5jcmVhdGU/LmJhY2tncm91bmRzO2lmKCFyfHwibm9jaGFuZ2UiPT09dClyZXR1cm47Y29uc3Qgbj1lPT57Y29uc3Qgcz10W2VdO3JldHVybiBzPmkuVU5QTE9UVEFCTEVfVElNRV9QT0lOVF9JTkRFWD9zOm51bGx9O3RoaXMuX3Nlc3Npb25zRGF0YT1yLnJlZHVjZSgoKGUse3N0eWxlSWQ6dCxkYXRhOnN9KT0+e2NvbnN0IG89bmV3IFNldDtyZXR1cm4gcy5mb3JFYWNoKCgoe3N0YXJ0OmUsc3RvcDp0fSk9PntsZXQgcz1uKGUpLGk9bih0KTtpZihudWxsIT09c3x8bnVsbCE9PWkpe251bGw9PT1zJiYocz1pKy0zMDApLG51bGw9PT1pJiYoaT1zKzMwMCk7Zm9yKGxldCBlPXM7ZTw9aTtlKyspby5hZGQoZSl9fSkpLGVbdF09byxlfSkse30pfV9jaGVja1R1cm5hcm91bmQoZSl7cmV0dXJuIGU9PT10aGlzLl90dXJuYXJvdW5kLmN1cnJlbnQoKXx8ZT09PXRoaXMuX3Nlcmllc0RhdGFTb3VyY2UudHVybmFyb3VuZCgpfHxlPT09YCR7dGhpcy5fc2VyaWVzRGF0YVNvdXJjZS50dXJuYXJvdW5kKCl9XyR7dGhpcy5fdHVybmFyb3VuZC5jdXJyZW50KCl9YH19Y2xhc3MgbHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9jb3VudGVyPTAsdGhpcy5fcHJlZml4PWV9bmV4dCgpe3JldHVybiB0aGlzLl9jb3VudGVyKyssdGhpcy5fdmFsdWUoKX1jdXJyZW50KCl7cmV0dXJuIHRoaXMuX3ZhbHVlKCl9X3ZhbHVlKCl7cmV0dXJuYCR7dGhpcy5fcHJlZml4fSR7dGhpcy5fY291bnRlcn1gfX19LDg4NzYwOChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtNaW5pQ2hhcnRTdGF0dXNTb3VyY2VBZGFwdGVyOigpPT5mfSk7dmFyIG8saSxyPXMoMjMyMzY0KSxuPXMoOTUyOTAwKSxhPXMoMTM4NjM4KSxsPXMoNzAwODA5KSxjPXMoNTU5NjkpLHU9cygxMjg5OTgpOyFmdW5jdGlvbihlKXtlW2UuRXhwaXJhdGlvblRpbWVNc2Vjc0Vwc2lsb249M2U1XT0iRXhwaXJhdGlvblRpbWVNc2Vjc0Vwc2lsb24ifShvfHwobz17fSkpO2NsYXNzIGh7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl91dGNUaW1lPW5ldyByLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9leHBpcmVkPW5ldyByLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fc2Vzc2lvblNwZWM9bmV3IHIuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX3Nlc3Npb25TcGVjQ2FjaGU9bnVsbCx0aGlzLl91dGNEYXlTdGFydD1uZXcgRGF0ZSgwKSx0aGlzLl90aW1lb3V0SWQ9bnVsbCx0aGlzLl9leHBpcmVkQnlTeW1ib2xJbmZvVHlwZXNwZWNzPSExLHRoaXMuX2V4cGlyZWRCeVF1b3Rlc1R5cGVzcGVjcz1udWxsLHRoaXMuX21hcmtldFN0YXR1c1NwYXduPWUuc3Bhd24oKSx0aGlzLl9xdW90ZXNVcGRhdGU9dCx0aGlzLl9xdW90ZXNVcGRhdGUuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25RdW90ZXNVcGRhdGUpfWRlc3Ryb3koKXt0aGlzLl9tYXJrZXRTdGF0dXNTcGF3bi5kZXN0cm95KCksdGhpcy5fY2xlYXJUaW1lb3V0SWZOZWVkZWQoKSx0aGlzLl9xdW90ZXNVcGRhdGUudW5zdWJzY3JpYmVBbGwodGhpcyl9cmVzZXQoKXt0aGlzLl9leHBpcmVkQnlTeW1ib2xJbmZvVHlwZXNwZWNzPSExLHRoaXMuX2V4cGlyZWRCeVF1b3Rlc1R5cGVzcGVjcz1udWxsLHRoaXMuX3V0Y1RpbWUuc2V0VmFsdWUobnVsbCksdGhpcy5fZXhwaXJlZC5zZXRWYWx1ZSghMSl9dXRjVGltZSgpe3JldHVybiB0aGlzLl91dGNUaW1lLnJlYWRvbmx5KCl9ZXhwaXJlZCgpe3JldHVybiB0aGlzLl9leHBpcmVkLnJlYWRvbmx5KCl9dXRjRGF5U3RhcnQoKXtyZXR1cm4gdGhpcy5fdXRjRGF5U3RhcnR9c2Vzc2lvblNwZWMoKXtyZXR1cm4gdGhpcy5fc2Vzc2lvblNwZWMucmVhZG9ubHkoKX1zZXRTeW1ib2xJbmZvKGUpe2lmKHRoaXMuX2NsZWFyVGltZW91dElmTmVlZGVkKCksbnVsbD09PWV8fCEoMCx1LmlzRnV0dXJlc0NvbnRyYWN0U3ltYm9sKShlKXx8dm9pZCAwPT09ZS5leHBpcmF0aW9uKXJldHVybiB0aGlzLl91dGNUaW1lLnNldFZhbHVlKG51bGwpLHZvaWQgdGhpcy5fZXhwaXJlZC5zZXRWYWx1ZSghMSk7bnVsbCE9PXRoaXMuX3Nlc3Npb25TcGVjQ2FjaGUmJnRoaXMuX3Nlc3Npb25TcGVjQ2FjaGUudGltZXpvbmU9PT1lLnRpbWV6b25lJiZ0aGlzLl9zZXNzaW9uU3BlY0NhY2hlLnNlc3Npb249PT1lLnNlc3Npb24mJnRoaXMuX3Nlc3Npb25TcGVjQ2FjaGUuY29ycmVjdGlvbnM9PT1lLmNvcnJlY3Rpb25zJiZ0aGlzLl9zZXNzaW9uU3BlY0NhY2hlLmhvbGlkYXlzPT09ZS5zZXNzaW9uX2hvbGlkYXlzfHwodGhpcy5fc2Vzc2lvblNwZWNDYWNoZT17dGltZXpvbmU6ZS50aW1lem9uZSxzZXNzaW9uOmUuc2Vzc2lvbixjb3JyZWN0aW9uczplLmNvcnJlY3Rpb25zLGhvbGlkYXlzOmUuc2Vzc2lvbl9ob2xpZGF5cyxzcGVjOm5ldyBjLlNlc3Npb25zU3BlYyhlLnRpbWV6b25lLGUuc2Vzc2lvbixlLnNlc3Npb25faG9saWRheXMsZS5jb3JyZWN0aW9ucyl9LHRoaXMuX3Nlc3Npb25TcGVjLnNldFZhbHVlKG51bGwpKTtjb25zdCB0PXRoaXMuX3Nlc3Npb25TcGVjQ2FjaGUuc3BlYzt0aGlzLl91dGNEYXlTdGFydD1mdW5jdGlvbihlKXtjb25zdCB0PU1hdGguZmxvb3IoZS8xZTQpJTFlNCxzPU1hdGguZmxvb3IoZS8xMDApJTEwMC0xLG89ZSUxMDA7cmV0dXJuIG5ldyBEYXRlKERhdGUuVVRDKHQscyxvKSl9KGUuZXhwaXJhdGlvbik7Y29uc3Qgcz10LmJvcmRlcnNPZkRhaWx5QmFyKHRoaXMuX3V0Y0RheVN0YXJ0KTtpZihudWxsPT09cylyZXR1cm4gdGhpcy5fdXRjVGltZS5zZXRWYWx1ZShudWxsKSx0aGlzLl9leHBpcmVkLnNldFZhbHVlKCExKSx2b2lkIHRoaXMuX3Nlc3Npb25TcGVjLnNldFZhbHVlKHQpO2NvbnN0IG89KDAsCmwuZ2V0X3RpbWV6b25lKShlLnRpbWV6b25lKTt0aGlzLl91dGNUaW1lLnNldFZhbHVlKCgwLGwuY2FsX3RvX3V0YykobyxzLnRvKSsxZTMpLHRoaXMuX3Nlc3Npb25TcGVjLnNldFZhbHVlKHQpLHRoaXMuX2V4cGlyZWRCeVN5bWJvbEluZm9UeXBlc3BlY3M9Qm9vbGVhbihlLnR5cGVzcGVjcz8uaW5jbHVkZXMoImV4cGlyZWQiKSksdGhpcy5fdXBkYXRlRXhwaXJlZCgpfV91cGRhdGVFeHBpcmVkKCl7dGhpcy5fY2xlYXJUaW1lb3V0SWZOZWVkZWQoKTtjb25zdCBlPXRoaXMuX3V0Y1RpbWUudmFsdWUoKTtpZihudWxsPT09ZSlyZXR1cm47aWYodGhpcy5fZXhwaXJlZEJ5UXVvdGVzVHlwZXNwZWNzfHx0aGlzLl9leHBpcmVkQnlTeW1ib2xJbmZvVHlwZXNwZWNzKXJldHVybiB2b2lkIHRoaXMuX2V4cGlyZWQuc2V0VmFsdWUoITApO2NvbnN0IHQ9d2luZG93LkNoYXJ0QXBpSW5zdGFuY2Uuc2VydmVyVGltZSgpO2xldCBzO3N3aXRjaCh0aGlzLl9tYXJrZXRTdGF0dXNTcGF3bi52YWx1ZSgpKXtjYXNlIm91dF9vZl9zZXNzaW9uIjpjYXNlImhvbGlkYXkiOnM9ZS0zZTUtdDticmVhaztjYXNlIm1hcmtldCI6Y2FzZSJwcmVfbWFya2V0IjpjYXNlInBvc3RfbWFya2V0IjpzPWUrM2U1LXQ7YnJlYWs7ZGVmYXVsdDpzPWUtdH1zPjAmJih0aGlzLl90aW1lb3V0SWQ9c2V0VGltZW91dCgoKCk9PnRoaXMuX3VwZGF0ZUV4cGlyZWQoKSksTWF0aC5taW4oMmU5LHMpKSksdGhpcy5fZXhwaXJlZC5zZXRWYWx1ZShzPD0wKX1fY2xlYXJUaW1lb3V0SWZOZWVkZWQoKXtudWxsIT09dGhpcy5fdGltZW91dElkJiYoY2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVvdXRJZCksdGhpcy5fdGltZW91dElkPW51bGwpfV9vblF1b3Rlc1VwZGF0ZShlLHQpe2xldCBzPSExO2lmKG51bGw9PT10aGlzLl9leHBpcmVkQnlRdW90ZXNUeXBlc3BlY3MpdGhpcy5fZXhwaXJlZEJ5UXVvdGVzVHlwZXNwZWNzPUJvb2xlYW4oZS52YWx1ZXMudHlwZXNwZWNzPy5pbmNsdWRlcygiZXhwaXJlZCIpKSxzPXRoaXMuX2V4cGlyZWRCeVF1b3Rlc1R5cGVzcGVjcztlbHNlIGlmKHZvaWQgMCE9PXQudmFsdWVzLnR5cGVzcGVjcyl7Y29uc3QgZT1Cb29sZWFuKHQudmFsdWVzLnR5cGVzcGVjcz8uaW5jbHVkZXMoImV4cGlyZWQiKSk7cz10aGlzLl9leHBpcmVkQnlRdW90ZXNUeXBlc3BlY3MhPT1lLHRoaXMuX2V4cGlyZWRCeVF1b3Rlc1R5cGVzcGVjcz1lfXMmJm51bGwhPT10aGlzLl91dGNUaW1lLnZhbHVlKCkmJnRoaXMuX3VwZGF0ZUV4cGlyZWQoKX19ZnVuY3Rpb24gZChlKXtyZXR1cm4gd2luZG93LkNoYXJ0QXBpSW5zdGFuY2Uuc2VydmVyVGltZSgpLzFlMy1lfWZ1bmN0aW9uIG0oZSx0LHMpe2NvbnN0IG89dCsxZTM7cmV0dXJuIGU8PXM/dDw9cz8xLzA6by8xZTM6TWF0aC5taW4oZSxvKS8xZTN9IWZ1bmN0aW9uKGUpe2UuT3Blbj0ibWFya2V0IixlLlByZT0icHJlX21hcmtldCIsZS5Qb3N0PSJwb3N0X21hcmtldCIsZS5PdmVybmlnaHQ9Im5pZ2h0IixlLkNsb3NlPSJvdXRfb2Zfc2Vzc2lvbiIsZS5Ib2xpZGF5PSJob2xpZGF5IixlLkRlbGlzdGVkPSJkZWxpc3RlZCIsZS5FeHBpcmVkPSJleHBpcmVkIn0oaXx8KGk9e30pKTtjbGFzcyBwe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2N1cnJlbnRTZXNzaW9uPW5ldyByLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9kZWxpc3RlZEJ5VHlwZXNwZWNzPW5ldyByLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fc2Vzc2lvbnNTcGVjPW51bGwsdGhpcy5fbmV4dFNlc3Npb25FZGdlSW50ZXJuYWw9bnVsbCx0aGlzLl9uZXh0U2Vzc2lvbkVkZ2U9bmV3IHIuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX3JlY2FsY05leHRTZXNzaW9uRWRnZVRpbWVySWQ9bnVsbCx0aGlzLl9kZWxheT0wLHRoaXMuX2Z1dHVyZXNDb250cmFjdEV4cGlyYXRpb25UaW1lPW51bGwsdGhpcy5fcXVvdGVzUHJvdmlkZXI9ZTtjb25zdHtjdXJyZW50X3Nlc3Npb246dH09ZS5xdW90ZXMoKS52YWx1ZSgpPz97fTt0JiZ0aGlzLl9jdXJyZW50U2Vzc2lvbi5zZXRWYWx1ZSh0KSx0aGlzLl9mdXR1cmVzQ29udHJhY3RFeHBpcmF0aW9uVGltZT1uZXcgaCh0aGlzLl9jdXJyZW50U2Vzc2lvbi5yZWFkb25seSgpLGUucXVvdGVzVXBkYXRlKCkpLGUucXVvdGVTeW1ib2xDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT57KDAsYS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9mdXR1cmVzQ29udHJhY3RFeHBpcmF0aW9uVGltZSkucmVzZXQoKSx0aGlzLl9uZXh0U2Vzc2lvbkVkZ2VJbnRlcm5hbD1udWxsLHRoaXMuX3JlY2FsY3VsYXRlTmV4dFNlc3Npb25FZGdlKCl9KSksdGhpcy5fbWFya2V0U3RhdHVzPSgwLG4uY29tYmluZSkoKChlLHQscyk9Pm51bGw9PT1lP2U6dD8iZGVsaXN0ZWQiOnM/ImV4cGlyZWQiOmZ1bmN0aW9uKGUpe3N3aXRjaChlKXtjYXNlIm1hcmtldCI6cmV0dXJuIm1hcmtldCI7Y2FzZSJwcmVfbWFya2V0IjpyZXR1cm4icHJlX21hcmtldCI7Y2FzZSJwb3N0X21hcmtldCI6cmV0dXJuInBvc3RfbWFya2V0IjtjYXNlIm5pZ2h0IjpyZXR1cm4ibmlnaHQiO2Nhc2Uib3V0X29mX3Nlc3Npb24iOnJldHVybiJvdXRfb2Zfc2Vzc2lvbiI7Y2FzZSJob2xpZGF5IjpyZXR1cm4iaG9saWRheSJ9KDAsYS5lbnN1cmVOZXZlcikoZSl9KGUpKSx0aGlzLl9jdXJyZW50U2Vzc2lvbi53ZWFrUmVmZXJlbmNlKCksdGhpcy5fZGVsaXN0ZWRCeVR5cGVzcGVjcy53ZWFrUmVmZXJlbmNlKCksKHRoaXMuX2Z1dHVyZXNDb250cmFjdEV4cGlyYXRpb25UaW1lPy5leHBpcmVkKCk/P25ldyByLldhdGNoZWRWYWx1ZSghMSkpLndlYWtSZWZlcmVuY2UoKSksZS5xdW90ZXNVcGRhdGUoKS5zdWJzY3JpYmUodGhpcywoZT0+e3RoaXMuX2N1cnJlbnRTZXNzaW9uLnNldFZhbHVlKGU/LnZhbHVlcy5jdXJyZW50X3Nlc3Npb24/P251bGwpfSkpLGUucXVvdGVTeW1ib2xDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT57dGhpcy5fY3VycmVudFNlc3Npb24uc2V0VmFsdWUobnVsbCl9KSl9ZGVzdHJveSgpe3RoaXMuX3F1b3Rlc1Byb3ZpZGVyLnF1b3Rlc1VwZGF0ZSgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLAp0aGlzLl9xdW90ZXNQcm92aWRlci5xdW90ZVN5bWJvbENoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxudWxsIT09dGhpcy5fcmVjYWxjTmV4dFNlc3Npb25FZGdlVGltZXJJZCYmY2xlYXJUaW1lb3V0KHRoaXMuX3JlY2FsY05leHRTZXNzaW9uRWRnZVRpbWVySWQpLCgwLGEuZW5zdXJlTm90TnVsbCkodGhpcy5fZnV0dXJlc0NvbnRyYWN0RXhwaXJhdGlvblRpbWUpLmRlc3Ryb3koKSx0aGlzLl9tYXJrZXRTdGF0dXMuZGVzdHJveSgpfWZ1dHVyZXNDb250cmFjdEV4cGlyYXRpb25UaW1lKCl7cmV0dXJuIHRoaXMuX2Z1dHVyZXNDb250cmFjdEV4cGlyYXRpb25UaW1lfXNldFN5bWJvbEluZm8oZSl7aWYoKDAsYS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9mdXR1cmVzQ29udHJhY3RFeHBpcmF0aW9uVGltZSkuc2V0U3ltYm9sSW5mbyhlKSx0aGlzLl9uZXh0U2Vzc2lvbkVkZ2VJbnRlcm5hbD1udWxsLG51bGw9PT1lKXJldHVybiB2b2lkKHRoaXMuX3Nlc3Npb25zU3BlYz1udWxsKTt0aGlzLl9kZWxheT0oMCx1LmdldFN5bWJvbERlbGF5U2Vjb25kcykoZSk7Y29uc3QgdD1uZXcgYy5TZXNzaW9uc1NwZWMoZS50aW1lem9uZSxlLnNlc3Npb25fZGlzcGxheT8/ZS5zZXNzaW9uLGUuc2Vzc2lvbl9ob2xpZGF5cyxlLmNvcnJlY3Rpb25zKTtsZXQgcyxvO2NvbnN0IGk9ZS5zdWJzZXNzaW9ucz8uZmluZCgoZT0+InByZW1hcmtldCI9PT1lLmlkKSkscj1lLnN1YnNlc3Npb25zPy5maW5kKChlPT4icG9zdG1hcmtldCI9PT1lLmlkKSk7dm9pZCAwIT09aSYmKHM9bmV3IGMuU2Vzc2lvbnNTcGVjKGUudGltZXpvbmUsaVsic2Vzc2lvbi1kaXNwbGF5Il0/P2kuc2Vzc2lvbixlLnNlc3Npb25faG9saWRheXMsaVsic2Vzc2lvbi1jb3JyZWN0aW9uIl0pKSx2b2lkIDAhPT1yJiYobz1uZXcgYy5TZXNzaW9uc1NwZWMoZS50aW1lem9uZSxyWyJzZXNzaW9uLWRpc3BsYXkiXT8/ci5zZXNzaW9uLGUuc2Vzc2lvbl9ob2xpZGF5cyxyWyJzZXNzaW9uLWNvcnJlY3Rpb24iXSkpLHRoaXMuX2RlbGlzdGVkQnlUeXBlc3BlY3Muc2V0VmFsdWUoQm9vbGVhbihlLnR5cGVzcGVjcz8uaW5jbHVkZXMoImRpc2NvbnRpbnVlZCIpKSksdGhpcy5fc2Vzc2lvbnNTcGVjPXtnZW5lcmFsOnQscHJlTWFya2V0OnMscG9zdE1hcmtldDpvfSx0aGlzLl9yZWNhbGN1bGF0ZU5leHRTZXNzaW9uRWRnZSgpfXN0YXR1cygpe3JldHVybiB0aGlzLl9tYXJrZXRTdGF0dXN9Y3VycmVudFNlc3Npb24oKXtyZXR1cm4gdGhpcy5fY3VycmVudFNlc3Npb259bmV4dFNlc3Npb25FZGdlKCl7cmV0dXJuIHRoaXMuX25leHRTZXNzaW9uRWRnZX1fZ2V0TmV4dFNlc3Npb25FZGdlSW50ZXJuYWwoKXtpZihudWxsPT09dGhpcy5fc2Vzc2lvbnNTcGVjKXJldHVybiBudWxsO2NvbnN0IGU9MWUzKmQodGhpcy5fZGVsYXkpO2lmKG51bGw9PT10aGlzLl9uZXh0U2Vzc2lvbkVkZ2VJbnRlcm5hbHx8KHRoaXMuX25leHRTZXNzaW9uRWRnZUludGVybmFsLnRpbWVzdGFtcD8/MS8wKTw9ZS8xZTMpe2NvbnN0e2dlbmVyYWw6dCxwcmVNYXJrZXQ6cyxwb3N0TWFya2V0Om99PXRoaXMuX3Nlc3Npb25zU3BlYyxpPSgwLGwuZ2V0X3RpbWV6b25lKSh0LnRpbWV6b25lKCkpLHI9KDAsbC51dGNfdG9fY2FsKShpLGUpLG49bSgoMCxsLmNhbF90b191dGMpKGksdC5hbGlnblRvTmVhcmVzdFNlc3Npb25TdGFydChyLDEpKSwoMCxsLmNhbF90b191dGMpKGksdC5hbGlnblRvTmVhcmVzdFNlc3Npb25FbmQociwxKSksZSksYT1tKHZvaWQgMCE9PXM/KDAsbC5jYWxfdG9fdXRjKShpLHMuYWxpZ25Ub05lYXJlc3RTZXNzaW9uU3RhcnQociwxKSk6MS8wLHZvaWQgMCE9PXM/KDAsbC5jYWxfdG9fdXRjKShpLHMuYWxpZ25Ub05lYXJlc3RTZXNzaW9uRW5kKHIsMSkpOjEvMCxlKSxjPW0odm9pZCAwIT09bz8oMCxsLmNhbF90b191dGMpKGksby5hbGlnblRvTmVhcmVzdFNlc3Npb25TdGFydChyLDEpKToxLzAsdm9pZCAwIT09bz8oMCxsLmNhbF90b191dGMpKGksby5hbGlnblRvTmVhcmVzdFNlc3Npb25FbmQociwxKSk6MS8wLGUpO2xldCB1PU1hdGgubWluKG4sYSxjKTtpZih1PT09MS8wKXtjb25zdCBlPWQodGhpcy5fZGVsYXkpLHM9NmU0LG89bmV3IERhdGUoTWF0aC5yb3VuZChuZXcgRGF0ZSgxZTMqZSkuZ2V0VGltZSgpL3MpKnMpLmdldFRpbWUoKStzLHI9KDAsbC51dGNfdG9fY2FsKShpLG8pLG49bSgoMCxsLmNhbF90b191dGMpKGksdC5hbGlnblRvTmVhcmVzdFNlc3Npb25TdGFydChyLDEpKSwoMCxsLmNhbF90b191dGMpKGksdC5hbGlnblRvTmVhcmVzdFNlc3Npb25FbmQociwxKSksbyksaD1NYXRoLm1pbihuLGEsYyk7aCE9PTEvMD8odGhpcy5fbmV4dFNlc3Npb25FZGdlSW50ZXJuYWw9e3RpbWVzdGFtcDp1fSx1PWgpOnRoaXMuX25leHRTZXNzaW9uRWRnZUludGVybmFsPXt0aW1lc3RhbXA6bnVsbH19dGhpcy5fbmV4dFNlc3Npb25FZGdlSW50ZXJuYWw9dT09PWM/e3RpbWVzdGFtcDp1LHN0YXR1czoicG9zdF9tYXJrZXQifTp1PT09YT97dGltZXN0YW1wOnUsc3RhdHVzOiJwcmVfbWFya2V0In06e3RpbWVzdGFtcDp1fX1yZXR1cm4gdGhpcy5fbmV4dFNlc3Npb25FZGdlSW50ZXJuYWx9X3JlY2FsY3VsYXRlTmV4dFNlc3Npb25FZGdlKCl7Y29uc3QgZT10aGlzLl9nZXROZXh0U2Vzc2lvbkVkZ2VJbnRlcm5hbCgpO2lmKG51bGw9PT1lfHxudWxsPT09ZS50aW1lc3RhbXApcmV0dXJuIHZvaWQgdGhpcy5fbmV4dFNlc3Npb25FZGdlLnNldFZhbHVlKG51bGwpO2NvbnN0IHQ9e3N0YXR1czplLnN0YXR1cyxyZW1haW5pbmdTZWNvbmRzOk1hdGgubWF4KDAsZS50aW1lc3RhbXAtZCh0aGlzLl9kZWxheSkpfTtpZihudWxsPT09dGhpcy5fcmVjYWxjTmV4dFNlc3Npb25FZGdlVGltZXJJZCl7Y29uc3QgZT1OdW1iZXIuaXNGaW5pdGUodC5yZW1haW5pbmdTZWNvbmRzKT9NYXRoLmNlaWwodC5yZW1haW5pbmdTZWNvbmRzJTYwKToxO3RoaXMuX3JlY2FsY05leHRTZXNzaW9uRWRnZVRpbWVySWQ9c2V0VGltZW91dCgoKCk9PnRoaXMuX3JlY2FsY3VsYXRlTmV4dFNlc3Npb25FZGdlQnlUaW1lcigpKSwxZTMqZSl9dGhpcy5fbmV4dFNlc3Npb25FZGdlLnNldFZhbHVlKHQpfQpfcmVjYWxjdWxhdGVOZXh0U2Vzc2lvbkVkZ2VCeVRpbWVyKCl7dGhpcy5fcmVjYWxjTmV4dFNlc3Npb25FZGdlVGltZXJJZD1udWxsLHRoaXMuX3JlY2FsY3VsYXRlTmV4dFNlc3Npb25FZGdlKCl9fXZhciBnPXMoMjQxOTU2KTt2YXIgXz1zKDY5OTU1MCk7Y29uc3QgeT1uZXcgci5XYXRjaGVkVmFsdWUoITEpO2NsYXNzIGZ7Y29uc3RydWN0b3IoZSl7dGhpcy5fcXVvdGVzUHJvdmlkZXI9bmV3IF8uUXVvdGVzUHJvdmlkZXIoInNpbXBsZSIpLHRoaXMuX3N0b3BwZWQ9ITEsdGhpcy5fc3ltYm9sPWZ1bmN0aW9uKGUsdCl7Y29uc3Qgcz1uZXcgci5XYXRjaGVkVmFsdWUoZSgpKSxvPXt9O3JldHVybiB0LmZvckVhY2goKHQ9PnQuc3Vic2NyaWJlKG8sKCgpPT57cy5zZXRWYWx1ZShlKCkpfSkpKSkscy5yZWFkb25seSgpLnNwYXduKCgoKT0+dC5mb3JFYWNoKChlPT5lLnVuc3Vic2NyaWJlQWxsKG8pKSkpKX0oKCgpPT4oMCx1LmFjdHVhbFN5bWJvbCkoZS5tYWluUGxvdCgpLnN5bWJvbEluZm8oKSxlLm1haW5QbG90KCkuc3ltYm9sKCkpKSxbZS5tYWluUGxvdCgpLnN5bWJvbENoYW5nZWQoKSxlLm1haW5QbG90KCkuc3ltYm9sUmVzb2x2ZWQoKV0pLHRoaXMuX3N5bWJvbC5zdWJzY3JpYmUoKGU9Pnt0aGlzLl9zdG9wcGVkfHx0aGlzLl9xdW90ZXNQcm92aWRlci5zZXRRdW90ZXNTZXNzaW9uU3ltYm9sKGUpfSkse2NhbGxXaXRoTGFzdDohMH0pLHRoaXMuX2lzU3ltYm9sSW52YWxpZD0oMCxuLmNvbWJpbmUpKChlPT4xPT09ZSksZS5tYWluUGxvdCgpLnN0YXR1cygpLndlYWtSZWZlcmVuY2UoKSksdGhpcy5fc3ltYm9sSW5mbz0oMCxnLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbikoKCgpPT5lLm1haW5QbG90KCkuc3ltYm9sSW5mbygpKSxlLm1haW5QbG90KCkuc3ltYm9sUmVzb2x2ZWQoKSksdGhpcy5fbWFya2V0U3RhdHVzTW9kZWw9bmV3IHAodGhpcy5fcXVvdGVzUHJvdmlkZXIpLHRoaXMuX3N5bWJvbEluZm8uc3Vic2NyaWJlKChlPT50aGlzLl9tYXJrZXRTdGF0dXNNb2RlbC5zZXRTeW1ib2xJbmZvKGUpKSl9ZGVzdHJveSgpe3RoaXMuX3N5bWJvbC5kZXN0cm95KCksdGhpcy5faXNTeW1ib2xJbnZhbGlkLmRlc3Ryb3koKSx0aGlzLl9zeW1ib2xJbmZvLmRlc3Ryb3koKSx0aGlzLl9xdW90ZXNQcm92aWRlci5kZXN0cm95KCksdGhpcy5fbWFya2V0U3RhdHVzTW9kZWwuZGVzdHJveSgpfXBhdXNlKCl7dGhpcy5fc3RvcHBlZD0hMCx0aGlzLl9xdW90ZXNQcm92aWRlci5wYXVzZSgpfXJlc3VtZSgpe3RoaXMuX3N0b3BwZWQ9ITEsdGhpcy5fcXVvdGVzUHJvdmlkZXIucmVzdW1lKCl9c3ltYm9sKCl7cmV0dXJuIHRoaXMuX3N5bWJvbH1pc1N5bWJvbEludmFsaWQoKXtyZXR1cm4gdGhpcy5faXNTeW1ib2xJbnZhbGlkfWhpZGRlbigpe3JldHVybiB5LnJlYWRvbmx5KCl9bWFya2V0U3RhdHVzTW9kZWwoKXtyZXR1cm4gdGhpcy5fbWFya2V0U3RhdHVzTW9kZWx9ZXJyb3JTdGF0dXMoKXtyZXR1cm4gbmV3IHIuV2F0Y2hlZFZhbHVlKG51bGwpLnJlYWRvbmx5KCl9c3ltYm9sSW5mbygpe3JldHVybiB0aGlzLl9zeW1ib2xJbmZvfWRhdGFQcm9ibGVtTW9kZWwoKXtyZXR1cm4gbnVsbH1kYXRhVXBkYXRlZE1vZGVNb2RlbCgpe3JldHVybiBudWxsfWFzeW5jIHBpbmVTb3VyY2VDb2RlTW9kZWwoKXtyZXR1cm4gbnVsbH1hbGVydFNvdXJjZU1vZGVsKCl7cmV0dXJuIG51bGx9fX0sNTc3NzEzKGUsdCxzKXsidXNlIHN0cmljdCI7YXN5bmMgZnVuY3Rpb24gbygpe3JldHVybihhd2FpdCBQcm9taXNlLmFsbChbcy5lKDIwMzU0KSxzLmUoOTgwODQpLHMuZSg3NDYzNikscy5lKDMyMzg3KSxzLmUoMjg1MDcpXSkudGhlbihzLmJpbmQocyw2MDk2ODIpKSkuRXJyb3JDYXJkUmVuZGVyZXJ9cy5kKHQse2dldEVycm9yQ2FyZFJlbmRlcmVyOigpPT5vfSl9LDEzODYzOChlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSx0KXtpZighZSl0aHJvdyBuZXcgRXJyb3IoIkFzc2VydGlvbiBmYWlsZWQiKyh0P2A6ICR7dH1gOiIiKSl9ZnVuY3Rpb24gaShlLHQpe2lmKHZvaWQgMD09PWUpdGhyb3cgbmV3IEVycm9yKGAke3Q/PyJWYWx1ZSJ9IGlzIHVuZGVmaW5lZGApO3JldHVybiBlfWZ1bmN0aW9uIHIoZSx0KXtpZihudWxsPT09ZSl0aHJvdyBuZXcgRXJyb3IoYCR7dD8/IlZhbHVlIn0gaXMgbnVsbGApO3JldHVybiBlfWZ1bmN0aW9uIG4oZSx0KXtyZXR1cm4gcihpKGUsdCksdCl9ZnVuY3Rpb24gYShlKXt9cy5kKHQse2Fzc2VydDooKT0+byxlbnN1cmU6KCk9Pm4sZW5zdXJlRGVmaW5lZDooKT0+aSxlbnN1cmVOZXZlcjooKT0+YSxlbnN1cmVOb3ROdWxsOigpPT5yfSl9LDEzMTI5NChlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSl7Y29uc3QgdD1PYmplY3QuY3JlYXRlKGUpO3JldHVybiB0LnJlbGVhc2U9KCk9Pnt9LHQub3duZXJzaGlwPSgpPT50LHR9ZnVuY3Rpb24gaShlKXtjb25zdCB0PWU7cmV0dXJuIHQucmVsZWFzZT0oKT0+dC5kZXN0cm95KCksdC5vd25lcnNoaXA9KCk9PnQsdH1zLmQodCx7b3duZXJzaGlwOigpPT5pLHdlYWtSZWZlcmVuY2U6KCk9Pm99KX0sODU2NTYoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLnIodCkscy5kKHQse3VucGFja05vblNlcmllc0RhdGFDb21wcmVzc2VkOigpPT5hfSk7dmFyIG89cyg2MDE4NDEpLGk9cyg5OTU2NTUpLHI9cyg4NjY3NDgpLG49cyg4NDg2MDEpO2FzeW5jIGZ1bmN0aW9uIGEoZSl7Y29uc3QgdD0oMCxuLnBhcnNlTm9uU2VyaWVzRW52ZWxvcGUpKGUpO2lmKG51bGw9PT10KXJldHVybiBudWxsO2NvbnN0e25zRGF0YTpzLHBhcnNlZERhdGE6YX09dDtyZXR1cm4gcy5pbmRleGVzX3JlcGxhY2V8fCgoMCxvLmhhc1Byb3BlcnR5KShhLCJkYXRhQ29tcHJlc3NlZCIpJiYocy5kYXRhPWF3YWl0KDAsci51bnBhY2spKGEuZGF0YUNvbXByZXNzZWQpKSwoMCxvLmhhc1Byb3BlcnR5KShhLCJncmFwaGljc0NtZHNDb21wcmVzc2VkIikmJihzLmdyYXBoaWNzQ21kcz0oMCxpLnZhbGlkYXRlR3JhcGhpY3NDb21tYW5kcykoYXdhaXQoMCxyLnVucGFjaykoYS5ncmFwaGljc0NtZHNDb21wcmVzc2VkKSkpKSxzfX0sOTY1Nzk1KGUsdCxzKXsidXNlIHN0cmljdCIKO3MuZCh0LHttYWtlTmV4dFN0dWR5SWQ6KCk9Pml9KTtsZXQgbz0wO2Z1bmN0aW9uIGkoKXtyZXR1cm4gbysrLCJzdCIrb319LDE4MDE5OChlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtsZXQgbz1udWxsLGk9ITE7cmV0dXJuIFByb21pc2UuYWxsKFtzLmUoNjQ2NDQpLnRoZW4ocy50LmJpbmQocyw3Nzk0NzQsMTkpKSxQcm9taXNlLmFsbChbcy5lKDMyMzg3KSxzLmUoNzEzMDApXSkudGhlbihzLmJpbmQocyw1NzEzMDApKSxQcm9taXNlLmFsbChbcy5lKDM2MjIyKSxzLmUoNDc1NTEpLHMuZSg3MTYzKSxzLmUoMzIzODcpLHMuZSg0NTMyMildKS50aGVuKHMuYmluZChzLDczMjk0NikpXSkudGhlbigoKFtzLHIsbl0pPT57aXx8KG89ci5jcmVhdGVSZWFjdFJvb3Qocy5jcmVhdGVFbGVtZW50KG4uTGlnaHR3ZWlnaHRDaGFydFByaWNlVGltZVRvb2x0aXAsey4uLmV9KSx0KSl9KSksKCk9PntpPSEwLHQucmVtb3ZlKCksbz8udW5tb3VudCgpfX1zLmQodCx7Y3JlYXRlTGlnaHR3ZWlnaHRDaGFydFByaWNlVGltZVRvb2x0aXA6KCk9Pm99KX0sNzE5NzgxKGUsdCxzKXsidXNlIHN0cmljdCI7dmFyIG87cy5kKHQse0RlbGF5VHlwZTooKT0+b30pLGZ1bmN0aW9uKGUpe2VbZS5Bbm9uPTFdPSJBbm9uIixlW2UuRGVsYXk9Ml09IkRlbGF5IixlW2UuRnJlZURlbGF5PTNdPSJGcmVlRGVsYXkifShvfHwobz17fSkpfSw3MzUyNzkoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7REVGQVVMVF9USU1FX0ZSQU1FX0lURU1fVEhFTUU6KCk9PmMsVGltZUZyYW1lSXRlbTooKT0+dX0pO3ZhciBvPXMoNzc5NDc0KSxpPXMoOTE0NDg3KSxyPXMubihpKSxuPXMoNjU4NDYpLGE9cyg4NTQ4MjApLGw9cyg4MDMzNDkpO2NvbnN0IGM9bCx1PSgwLG4ubWFrZVN3aXRjaEdyb3VwSXRlbSkoY2xhc3MgZXh0ZW5kcyBvLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX29uQ2hhbmdlPSgpPT57dGhpcy5wcm9wcy5vbkNoYW5nZSYmdGhpcy5wcm9wcy5vbkNoYW5nZSh7dGFyZ2V0Ont2YWx1ZTp0aGlzLnByb3BzLnZhbHVlfHwiIn19KX19cmVuZGVyKCl7Y29uc3R7b3B0aW9uOmUsY2hlY2tlZDp0LHRoZW1lOnM9bCxzaXplOmkscmVmZXJlbmNlOm59PXRoaXMucHJvcHM7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChhLkxpZ2h0QnV0dG9uLHtyZWZlcmVuY2U6bixvbkNsaWNrOnRoaXMuX29uQ2hhbmdlLGlzU2VsZWN0ZWQ6dCx0YWJJbmRleDowLHRpdGxlOmUuZGVzY3JpcHRpb24sY2xhc3NOYW1lOnIoKSgiYXBwbHktY29tbW9uLXRvb2x0aXAiLHMub3B0aW9uLHQmJnMub3B0aW9uU2VsZWN0ZWQpLHNpemU6aSxjb2xvcjoiZ3JheSIsdmFyaWFudDoicXVpZXQtcHJpbWFyeSJ9LGUudGV4dCl9fSl9LDk4NjI3NShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtnZXRMb2dvVXJsc0hvb2s6KCk9PmwscmVtb3ZlVXNkRnJvbUNyeXB0b1BhaXJMb2dvczooKT0+YyxyZXNvbHZlTG9nb1VybHM6KCk9Pm4scmVzb2x2ZUxvZ29VcmxzRnJvbUxvZ29EYXRhOigpPT5hfSk7dmFyIG89cyg2MDE4NDEpLGk9cyg4NjIyMTMpO2NvbnN0IHI9KDAsaS5nZXRMb2dvVXJsUmVzb2x2ZXIpKCk7ZnVuY3Rpb24gbihlLHQ9aS5Mb2dvU2l6ZS5NZWRpdW0pe2NvbnN0IHM9ZS5sb2dvaWQsbz1lWyJiYXNlLWN1cnJlbmN5LWxvZ29pZCJdLG49ZVsiY3VycmVuY3ktbG9nb2lkIl0sYT1zJiZyLmdldFN5bWJvbExvZ29Vcmwocyx0KTtpZihhKXJldHVyblthXTtjb25zdCBsPW8mJnIuZ2V0U3ltYm9sTG9nb1VybChvLHQpLGM9biYmci5nZXRTeW1ib2xMb2dvVXJsKG4sdCk7cmV0dXJuIGwmJmM/W2wsY106bD9bbF06Yz9bY106W119ZnVuY3Rpb24gYShlLHQ9aS5Mb2dvU2l6ZS5NZWRpdW0pe3JldHVybigicGFpciI9PT1lLnN0eWxlP1tlLmxvZ29pZCxlLmxvZ29pZDJdOltlLmxvZ29pZF0pLm1hcCgoZT0+ci5nZXRTeW1ib2xMb2dvVXJsKGUsdCkpKS5maWx0ZXIoby5ub3ROdWxsKX1mdW5jdGlvbiBsKGUsdCl7bGV0IHM9ITE7cmV0dXJuKG8saSxyKT0+e2lmKCFzJiYoby5sb2dvfHxyKSl7cz0hMDtjb25zdCBpPW8ubG9nbz9hKG8ubG9nbyx0KTpbXTtlKGkpfX19ZnVuY3Rpb24gYyhlKXtyZXR1cm4gMiE9PWUubGVuZ3RoP2U6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuc29tZSgoZT0+dShlKSkpfShlKSYmIWZ1bmN0aW9uKGUpe3JldHVybiBlLnNvbWUoKGU9PmUuaW5jbHVkZXMoImNvdW50cnkiKSYmIXUoZSkpKX0oZSk/ZS5maWx0ZXIoKGU9PiF1KGUpKSk6ZX1mdW5jdGlvbiB1KGUpe3JldHVybiBlLmluY2x1ZGVzKCJjb3VudHJ5L1VTIil9fSwyMjc2NTkoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Y3JlYXRlTWVkaXVtV2lkZ2V0OigpPT5FZX0pO3MoNzIyNTcxKSxzKDc5NTM4Mykscyg1MjI1NzgpO3ZhciBvPXMoNjc4MzEyKSxpPXMoMTM0NjcpLHI9cyg1MDU1Niksbj1zKDk2MzA5OCksYT1zKDg3MzU3MyksbD1zKDYwMTU4Nyk7Y29uc3QgYz0oMCxzKDY5MzUwMCkuZ2V0VGltZUZyYW1lcykoKTt2YXIgdT1zKDgwMjU4NiksaD1zKDY2NTE0NSksZD1zKDE4OTg2MyksbT1zKDkwMjEwMCkscD1zKDc0MDE2MiksZz1zKDEzODYzOCksXz1zKDM4NzIzMSkseT1zKDQ0MzU1NyksZj1zKDIyMTA2MSksYj1zKDQyOTU0OSk7Y29uc3QgUz0oMCxmLmdldExvZ2dlcikoIkNoYXJ0Lk1pbmlXaWRnZXRSZW5kZXJlciIpO2Z1bmN0aW9uIHYoZSx0KXtjb25zdCBzPWUuc3BsaXQoInwiKSxvPXNbMF0saT1zWzFdfHx2b2lkIDAscj1zWzJdfHx2b2lkIDA7cmV0dXJuW28sdD90KGkpOmkscl19Y2xhc3MgQ3tjb25zdHJ1Y3RvcihlLHQpe2lmKHRoaXMuX3N5bWJvbERlc2NyaXB0aW9uPSIiLHRoaXMuX3N5bWJvbFNob3J0TmFtZT0iIix0aGlzLl9zeW1ib2xOYW1lPSIiLGZ1bmN0aW9uKGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpJiYyPT09ZS5sZW5ndGgmJmUuZXZlcnkoKGU9PiJzdHJpbmciPT10eXBlb2YgZSkpfShlKSl7Y29uc3RbcyxvXT1lO3RoaXMuX3N5bWJvbERlc2NyaXB0aW9uPXMsClt0aGlzLl9zeW1ib2xOYW1lLHRoaXMuX3N5bWJvbFRpbWVmcmFtZSx0aGlzLl9zeW1ib2xDdXJyZW5jeV09dihvLHQpfWVsc2V7aWYoInN0cmluZyIhPXR5cGVvZiBlKXJldHVybiB2b2lkIFMubG9nRXJyb3IoIlN5bWJvbCBzaG91bGQgYmUgYXJyYXkgWydkZXNjcmlwdGlvbicsICdzeW1ib2xfbmFtZScsICdzeW1ib2xfY3VycmVuY3knXSBvciBzdHJpbmcgJ3N5bWJvbF9uYW1lJyIpO1t0aGlzLl9zeW1ib2xOYW1lLHRoaXMuX3N5bWJvbFRpbWVmcmFtZSx0aGlzLl9zeW1ib2xDdXJyZW5jeV09dihlLHQpfX1kZXNjcmlwdGlvbihlKXtyZXR1cm4gZSYmKHRoaXMuX3N5bWJvbERlc2NyaXB0aW9uPWUpLHRoaXMuX3N5bWJvbERlc2NyaXB0aW9ufXNob3J0TmFtZShlKXtyZXR1cm4gZT90aGlzLl9zeW1ib2xTaG9ydE5hbWU9ZTp0aGlzLl9zeW1ib2xTaG9ydE5hbWV8fCh0aGlzLl9zeW1ib2xTaG9ydE5hbWU9dGhpcy5fc3ltYm9sTmFtZS5yZXBsYWNlKC9eKC4rOikvLCIiKSksdGhpcy5fc3ltYm9sU2hvcnROYW1lfW5hbWUoKXtyZXR1cm4gdGhpcy5fc3ltYm9sTmFtZX10aW1lZnJhbWUoKXtyZXR1cm4gdGhpcy5fc3ltYm9sVGltZWZyYW1lJiYoMCxiLmdldEFjdHVhbFRpbWVGcmFtZSkodGhpcy5fc3ltYm9sVGltZWZyYW1lKX1jdXJyZW5jeSgpe3JldHVybiB0aGlzLl9zeW1ib2xDdXJyZW5jeX1lcXVhbFRvKGUpe3JldHVybiBlIGluc3RhbmNlb2YgQz90aGlzLm5hbWUoKT09PWUubmFtZSgpJiZ0aGlzLmRlc2NyaXB0aW9uKCk9PT1lLmRlc2NyaXB0aW9uKCkmJnRoaXMudGltZWZyYW1lKCk9PT1lLnRpbWVmcmFtZSgpOihTLmxvZ1dhcm4oIlN5bWJvbCAiK2UrIiBzaG91bGQgYmUgaW5zdGFuY2Ugb2YgV2lkZ2V0UmVuZGVyZXJTeW1ib2wiKSwhMSl9fXZhciB3PXMoNjUzODE3KSxUPXMoNzQyNTc3KSx4PXMoMTUzNjI2KTt2YXIgaz1zKDk0ODM4MCksTj1zKDY3MTk0OSksTD1zKDYwMTg0MSksRT1zKDIzMjM2NCksTT1zKDc3MzA4OCksUD1zKDE4NTI3MSksRD1zKDg4NDc5OCksUj1zKDE1MjE4Mik7ZnVuY3Rpb24gSShlKXtjb25zdHtsb2dvVXJsczp0LC4uLnN9PWU7cmV0dXJuIDE9PT10Lmxlbmd0aD8oMCxELmdldENpcmNsZUxvZ29IdG1sKSh7bG9nb1VybDp0WzBdLC4uLnN9KToyPT09dC5sZW5ndGg/KDAsUi5nZXRDaXJjbGVMb2dvUGFpckh0bWwpKHtwcmltYXJ5TG9nb1VybDp0WzBdLHNlY29uZGFyeUxvZ29Vcmw6dFsxXSwuLi5zfSk6KDAsRC5nZXRDaXJjbGVMb2dvSHRtbCkoe2xvZ29Vcmw6dm9pZCAwLC4uLnN9KX12YXIgQT1zKDk4NjI3NSksTz1zKDIyNjkzNyksRj1zKDkxMTMyNyksQj1zKDMwNzQyMSksVj1zKDM0NDEwMyksVT1zKDM4NDAxNyksVz1zKDQ3OTM0KSxxPShzKDgyOTE4MCkscyg0OTg2NTEpKTtmdW5jdGlvbiBIKGUpe2lmKCEoMCxxLmlzSURDRXhjaGFuZ2UpKGUpKXJldHVybiExO2U9eihlKTtjb25zdCB0PXdpbmRvdy5wcm8scz10LmdldFByb2R1Y3QoZSk7cmV0dXJuIHZvaWQgMCE9PXMuaWRjX3NlcnZpY2VfY29kZXNfZGVsYXkmJigoIUFycmF5LmlzQXJyYXkocy5pbmNsdWRlZF9leGNoYW5nZXMpfHwhcy5pbmNsdWRlZF9leGNoYW5nZXMuc29tZSgoZT0+dC5oYXNQYWNrYWdlKHooZSkpKSkpJiYhZnVuY3Rpb24oZSl7Y29uc3QgdD13aW5kb3cucHJvO3JldHVybiB0Lmhhc1BhY2thZ2UoZSl8fHQuaGFzUGFja2FnZShlKyJfZGx5Iil9KGUpKX1mdW5jdGlvbiB6KGUpe3JldHVybiBlLnN0YXJ0c1dpdGgoImV4Y2hhbmdlLSIpP2U6ImV4Y2hhbmdlLXswfSIuZm9ybWF0KGUudG9Mb3dlckNhc2UoKSl9Y29uc3Qgaj17T0s6Ik9LIixFUlI6IkVSUiIsU1lNQk9MX05PVF9BVkFJTEFCTEVfRk9SX0FOT046IlNZTUJPTF9OT1RfQVZBSUxBQkxFX0ZPUl9BTk9OIixERUxBWV9OT1RfQVZBSUxBQkxFOiJERUxBWV9OT1RfQVZBSUxBQkxFIixORUVEX1NJR05fQUdSRUVNRU5UOiJORUVEX1NJR05fQUdSRUVNRU5UIixORUVEX0FERF9TRVJWSUNFOiJORUVEX0FERF9TRVJWSUNFIn07ZnVuY3Rpb24gUShlLHQ9ITApe3JldHVybiBuZXcgUHJvbWlzZSgoKHMsbyk9Pntjb25zdCBpPSgwLFYuZ2V0RXhjaGFuZ2UpKGUpO2k/ZnVuY3Rpb24oZSl7Y29uc3QgdD13aW5kb3cucHJvO3JldHVybiBuZXcgUHJvbWlzZSgocz0+e3dpbmRvdy5pc19hdXRoZW50aWNhdGVkPyF0LmdldElEQ0V4Y2hhbmdlcyghMCkubGVuZ3RofHx0LmlzSW52YWxpZFNob3BDb25mKCk/dC51cGRhdGVTaG9wQ29uZigpLnRoZW4oKCgpPT57cyghSChlKSl9KSkuY2F0Y2goKCgpPT57cyghMCl9KSk6cyghSChlKSk6cyghMCl9KSl9KGkpLnRoZW4oKHI9PnI/cyhlKTooMCxXLmVuYWJsZWQpKCJJRENfQVZBSUxBQkxFX0RFTEFZIik/dD92b2lkKDAsVS5mZXRjaCkoYC9pZGMtc2lnbi1hZ3JlZW1lbnQtY2hlY2svJHtpfS9gLHtjcmVkZW50aWFsczoiaW5jbHVkZSJ9KS50aGVuKCh0PT50Lmpzb24oKS50aGVuKCh0PT50LnJlcz09PWouREVMQVlfTk9UX0FWQUlMQUJMRT9vKHtleGNoYW5nZTppLGVyckNvZGU6dC5yZXMscmVhc29uOiJkZWxheSBub3QgYXZhaWxhYmxlIixzeW1ib2w6ZX0pOnQucmVzPT09ai5ORUVEX1NJR05fQUdSRUVNRU5UP28oe2V4Y2hhbmdlOmksZXJyQ29kZTp0LnJlcyxyZWFzb246Im5lZWQgc2lnbiBhZ3JlZW1lbnQiLHN5bWJvbDplfSk6dC5yZXM9PT1qLk5FRURfQUREX1NFUlZJQ0U/byh7ZXhjaGFuZ2U6aSxlcnJDb2RlOnQucmVzLHJlYXNvbjoibmVlZCBhZGQgc2VydmljZSIsc3ltYm9sOmV9KTpzKGUpKSkpKS5jYXRjaCgoKCk9PntzKGUpfSkpOnMoZSk6byh7ZXhjaGFuZ2U6aSxlcnJDb2RlOmouREVMQVlfTk9UX0FWQUlMQUJMRSxyZWFzb246ImRlbGF5IG5vdCBhdmFpbGFibGUiLHN5bWJvbDplfSkpKTpzKGUpfSkpfXZhciBLPXMoNjIwMzU0KSwkPXMoNzA5MzcwKTtmdW5jdGlvbiBHKGUsdCxzPTEsbyl7Y29uc3QgaT1NYXRoLnJvdW5kKHQqZSkscj1vP3M6TWF0aC5yb3VuZChzKnQpLG49ZnVuY3Rpb24oZSl7cmV0dXJuIE1hdGguZmxvb3IoLjUqZSl9KHIpO3JldHVybntwb3NpdGlvbjppLW4sbGVuZ3RoOnJ9fWNsYXNzIFp7Y29uc3RydWN0b3IoKXt0aGlzLl9wcmljZT1udWxsLAp0aGlzLl94PW51bGwsdGhpcy5fb3B0aW9ucz17Zm9udFNpemU6MTAsZm9udEZhbWlseToic2Fucy1zZXJpZiIsY29sb3I6IiMwMDAwMDAifSx0aGlzLl90aXRsZT0iIn11cGRhdGUoZSx0LHMsbz0iIil7dGhpcy5fcHJpY2U9ZSx0aGlzLl9vcHRpb25zPXQsdGhpcy5feD1zLHRoaXMuX3RpdGxlPW99ZHJhdyhlKXtlLnVzZUJpdG1hcENvb3JkaW5hdGVTcGFjZSgoZT0+e2lmKG51bGw9PT10aGlzLl9wcmljZXx8bnVsbD09PXRoaXMuX3gpcmV0dXJuO2NvbnN0IHQ9TWF0aC5yb3VuZCh0aGlzLl94KmUuaG9yaXpvbnRhbFBpeGVsUmF0aW8pLHM9Ryh0aGlzLl9wcmljZSxlLnZlcnRpY2FsUGl4ZWxSYXRpbyxlLnZlcnRpY2FsUGl4ZWxSYXRpbyksbz1zLnBvc2l0aW9uK3MubGVuZ3RoLzIsaT10aGlzLl90aXRsZT81KmUuaG9yaXpvbnRhbFBpeGVsUmF0aW86ZS5ob3Jpem9udGFsUGl4ZWxSYXRpbyxyPWUuY29udGV4dDt0aGlzLl9kcmF3TGluZShyLHQsbyxlLGkpLHRoaXMuX3RpdGxlJiZ0aGlzLl9kcmF3VGl0bGUocixlLHMucG9zaXRpb24pfSkpfV9kcmF3TGluZShlLHQscyxvLGkpe2UuYmVnaW5QYXRoKCksZS5zZXRMaW5lRGFzaChbMipvLnZlcnRpY2FsUGl4ZWxSYXRpbywyKm8udmVydGljYWxQaXhlbFJhdGlvXSksZS5tb3ZlVG8odCxzKSxlLmxpbmVUbyhvLmJpdG1hcFNpemUud2lkdGgtaSxzKSxlLnN0cm9rZVN0eWxlPXRoaXMuX29wdGlvbnMuY29sb3IsZS5saW5lV2lkdGg9by52ZXJ0aWNhbFBpeGVsUmF0aW8vMixlLnN0cm9rZSgpfV9kcmF3VGl0bGUoZSx0LHMpe2NvbnN0IG89dGhpcy5fb3B0aW9ucy5mb250U2l6ZSp0Lmhvcml6b250YWxQaXhlbFJhdGlvO2UuZm9udD1gJHtvfXB4ICR7dGhpcy5fb3B0aW9ucy5mb250RmFtaWx5fWA7Y29uc3Qgcj1lLm1lYXN1cmVUZXh0KHRoaXMuX3RpdGxlKS53aWR0aCxuPTIuNSp0LnZlcnRpY2FsUGl4ZWxSYXRpbyxhPW8vMTIqMi41KnQuaG9yaXpvbnRhbFBpeGVsUmF0aW8sbD1yKzIqYSxjPW8rMipuLHU9Mip0Lmhvcml6b250YWxQaXhlbFJhdGlvLGg9dC5iaXRtYXBTaXplLndpZHRoLWwtNSp0Lmhvcml6b250YWxQaXhlbFJhdGlvLGQ9KHMtYy8yKSUyPT0wP3MtYy8yOnMtYy8yKzEsbT0oMCxpLnBhcnNlUmdiKSh0aGlzLl9vcHRpb25zLmNvbG9yKSxwPSgwLGkucmdiVG9TdHJpbmcpKG0pLGc9LjE5OSooXz1tKVswXSsuNjg3Kl9bMV0rLjExNCpfWzJdPjE2MD8iYmxhY2siOiJ3aGl0ZSI7dmFyIF87ZS5maWxsU3R5bGU9cCxlLnRleHRBbGlnbj0iY2VudGVyIixlLnRleHRCYXNlbGluZT0ibWlkZGxlIixlLmJlZ2luUGF0aCgpLGUucm91bmRSZWN0KGgsZCxsLGMsdSksZS5jbG9zZVBhdGgoKSxlLmZpbGwoKSxlLmZpbGxTdHlsZT1nO2NvbnN0IHk9ZCtjLzIsZj1oK3IvMithO2UuZmlsbFRleHQodGhpcy5fdGl0bGUsZix5JTI9PTA/eTp5KzEpfX1jbGFzcyBZe2NvbnN0cnVjdG9yKCl7dGhpcy5fcmVuZGVyZXI9bmV3IFp9cmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5fcmVuZGVyZXJ9dXBkYXRlKGUsdCxzLG89IiIpe3RoaXMuX3JlbmRlcmVyLnVwZGF0ZShlLHQscyxvKX19Y2xhc3MgSntjb25zdHJ1Y3RvcihlPSExLHQpe3RoaXMuX2NoYXJ0PW51bGwsdGhpcy5fc2VyaWVzPW51bGwsdGhpcy5fc2hvd0xhYmVsPSExLHRoaXMuX3RpdGxlPSIiLHRoaXMuX21hcmtldFN0YXR1cz10LHRoaXMuX3Nob3dMYWJlbD1lLHRoaXMuX3BhbmVWaWV3cz1bbmV3IFldfWF0dGFjaGVkKHtjaGFydDplLHNlcmllczp0fSl7dGhpcy5fY2hhcnQ9ZSx0aGlzLl9zZXJpZXM9dCx0aGlzLl90aXRsZT10aGlzLl9zaG93TGFiZWw/dGhpcy5fc2VyaWVzLm9wdGlvbnMoKS50aXRsZToiIix0aGlzLl9zZXJpZXMuYXBwbHlPcHRpb25zKHtwcmljZUxpbmVWaXNpYmxlOiExLHRpdGxlOnRoaXMuX3Nob3dMYWJlbD8iIjp0aGlzLl9zZXJpZXMub3B0aW9ucygpLnRpdGxlfSl9ZGV0YWNoZWQoKXt0aGlzLl9jaGFydD1udWxsLHRoaXMuX3Nlcmllcz1udWxsfXVwZGF0ZUFsbFZpZXdzKCl7aWYoIXRoaXMuX3Nlcmllc3x8IXRoaXMuX2NoYXJ0KXJldHVybjtjb25zdCBlPXRoaXMuX3Nlcmllcy5vcHRpb25zKCk7bGV0IHQ9ZS5wcmljZUxpbmVDb2xvcnx8ZS5jb2xvcnx8ZS5saW5lQ29sb3J8fCIjMDAwMDAwIjshdGhpcy5fbWFya2V0U3RhdHVzfHwicHJlX21hcmtldCIhPT10aGlzLl9tYXJrZXRTdGF0dXMmJiJwb3N0X21hcmtldCIhPT10aGlzLl9tYXJrZXRTdGF0dXN8fCh0PWUucG9zdG1hcmtldExpbmVDb2xvcnx8ZS5wcmVtYXJrZXRMaW5lQ29sb3J8fHQpO2NvbnN0IHM9dGhpcy5fc2VyaWVzLmRhdGFCeUluZGV4KDFlNSxvLk1pc21hdGNoRGlyZWN0aW9uLk5lYXJlc3RMZWZ0KTtsZXQgaT1udWxsLHI9bnVsbDtjb25zdCBuPXRoaXMuX3RpdGxlO3MmJihzLmNvbG9yJiYhdGhpcy5fbWFya2V0U3RhdHVzJiYodD1zLmNvbG9yKSxpPWZ1bmN0aW9uKGUpe2lmKHZvaWQgMCE9PWUudmFsdWUpcmV0dXJuIGUudmFsdWU7aWYodm9pZCAwIT09ZS5jbG9zZSlyZXR1cm4gZS5jbG9zZTtyZXR1cm4gbnVsbH0ocykscj10aGlzLl9jaGFydC50aW1lU2NhbGUoKS50aW1lVG9Db29yZGluYXRlKHMudGltZSkpO2NvbnN0IGE9bnVsbCE9PWk/dGhpcy5fc2VyaWVzLnByaWNlVG9Db29yZGluYXRlKGkpOm51bGwsbD17Zm9udFNpemU6dGhpcy5fY2hhcnQub3B0aW9ucygpLmxheW91dC5mb250U2l6ZT8/MTAsZm9udEZhbWlseTp0aGlzLl9jaGFydC5vcHRpb25zKCkubGF5b3V0LmZvbnRGYW1pbHk/PyJzYW5zLXNlcmlmIixjb2xvcjp0fTt0aGlzLl9wYW5lVmlld3MuZm9yRWFjaCgoZT0+ZS51cGRhdGUoYSxsLHIsbikpKX1wYW5lVmlld3MoKXtyZXR1cm4gdGhpcy5fcGFuZVZpZXdzfX12YXIgWD1zKDQ4ODA1KTthc3luYyBmdW5jdGlvbiBlZShlLHQpe3JldHVybihhd2FpdCBQcm9taXNlLmFsbChbcy5lKDQ1ODgzKSxzLmUoNjAyOCkscy5lKDYxNDQxKV0pLnRoZW4ocy5iaW5kKHMsMjkzMzEyKSkpLmNyZWF0ZShlLHQpfQp2YXIgdGU9cyg3MTk3ODEpLHNlPXMoNTc3NzEzKSxvZT1zKDc1NTYyNyksaWU9cygxMjUyMTgpLHJlPXMoMTExOTUzKSxuZT1zKDQwNzc5OSksYWU9cyg4ODc2MDgpLGxlPXMoMTgwMTk4KSxjZT1zKDQ3MDY3OSk7Y29uc3QgdWU9bmV3IGllLlBlcmNlbnRhZ2VGb3JtYXR0ZXIsaGU9UC50KG51bGwsdm9pZCAwLHMoMTE0MzM4KSk7ZnVuY3Rpb24gZGUoZSx0LHMpe2NvbnN0IG89Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LmNvbXswfT91dG1fc291cmNlPXd3dy50cmFkaW5ndmlldy5jb20mdXRtX21lZGl1bT13aWRnZXQmdXRtX2NhbXBhaWduPWNoYXJ0JnV0bV90ZXJtPXsyfTp7MX0iLmZvcm1hdCgoMCxGLmdldFN5bWJvbFBhZ2VQYXRoKSh7cHJvTmFtZTplfSksdCxzKTtyZXR1cm4gaGUuZm9ybWF0KHtsaW5rU3RhcnQ6YDxhIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0iJHtjZS5nb1RvVHZMaW5rfSIgaHJlZj0iJHtvfSI+YCxsaW5rRW5kOiI8L2E+In0pfWZ1bmN0aW9uIG1lKGUpe3N3aXRjaChlLnR5cGUpe2Nhc2UgMjpyZXR1cm57bWVzc2FnZTpQLnQobnVsbCx2b2lkIDAscyg1MTk3KSl9O2Nhc2UgMDpyZXR1cm57bWVzc2FnZTpQLnQobnVsbCx2b2lkIDAscyg3MzI3NzYpKX07Y2FzZSAxOmNvbnN0IHQ9KDAscmUudW53cmFwU2ltcGxlU3ltYm9sKSgoMCxyZS5kZWNvZGVFeHRlbmRlZFN5bWJvbCkoZS5zeW1ib2wpKSxbbyxpXT10LnNwbGl0KCI6Iik7cmV0dXJue21lc3NhZ2U6ZGUodCxvLGkpfX19Y2xhc3MgcGV7Y29uc3RydWN0b3IoZSx0LG8pe3RoaXMubWluaUNoYXJ0PW51bGwsdGhpcy52aXNpYmxlPW5ldyBFLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fZGF0YU1vZGU9bnVsbCx0aGlzLl9tZWRpdW1XaWRnZXRNYXJrZXRTdGF0dXM9bnVsbCx0aGlzLl9mb3JtYXR0ZXJDYWNoZT1udWxsLHRoaXMuX3ZhbHVlc0luTGVnZW5kUmVuZGVyZXI9bnVsbCx0aGlzLl9xdW90ZVRpY2tlclJlbmRlcmVyPW51bGwsdGhpcy5fbGFzdERlbHRhRnJvbVF1b3RlPW51bGwsdGhpcy5fbWFya2V0U3RhdHVzU291cmNlQWRhcHRlcj1udWxsLHRoaXMuX2NyZWF0ZVF1b3RlVGlja2VyUHJvbWlzZT1udWxsLHRoaXMuX2NoYXJ0UGFyZW50RWw9bnVsbCx0aGlzLl9pc0NoYXJ0VmlzaWJsZT0hMCx0aGlzLl9lcnJvckNhcmRSZW5kZXJlcj1udWxsLHRoaXMuX3ZhbHVlc0luTGVnZW5kQ3Jvc3NoYWlyTW92ZUhhbmRsZXI9YXN5bmMgZT0+e2NvbnN0IHQ9KDAsWC5nZXRDcm9zc2hhaXJNb3ZlRGF0YSkoKDAsZy5lbnN1cmVOb3ROdWxsKSh0aGlzLm1pbmlDaGFydCksZSk7dGhpcy5fcXVvdGVUaWNrZXJSZW5kZXJlcj8uY2FsbEZ1bmN0aW9uKChlPT57dD9lLmhpZGUoKTplLnNob3coKX0pKSx0aGlzLl92YWx1ZXNJbkxlZ2VuZFJlbmRlcmVyPy5jYWxsRnVuY3Rpb24oKGU9Pnt0PyhlLnNob3coKSxlLnVwZGF0ZSh0KSk6ZS5oaWRlKCl9KSl9LHRoaXMud2lkZ2V0PWUsdGhpcy5zeW1ib2w9dCx0aGlzLl9vcHRpb25zPW87Y29uc3QgaT1vLmNoYXJ0T25seSYmby5oaWRlRGF0YVJhbmdlczt0aGlzLmVsPWZ1bmN0aW9uKGUpewpjb25zdHtoaWRlTWFya2V0U3RhdHVzOnQsY2hhcnRPbmx5Om8saGlkZURhdGFSYW5nZXM6aSxjaGFuZ2VNb2RlOnIsaGlkZVdpZGdldEhlYWRlckNvbnRhaW5lcjpuLGhlYWRlckZvbnRTaXplOmF9PWUsbD0icHJpY2UtYW5kLXBlcmNlbnQiIT09ciYmInByaWNlLW9ubHkiIT09cixjPSJwcmljZS1hbmQtcGVyY2VudCIhPT1yJiYicGVyY2VudC1vbmx5IiE9PXIsdT0ibm8tdmFsdWVzIj09PXIsaD1gXG5cdFx0PGRpdiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X19oZWFkIHR2LXdpZGdldC1jaGFydF9faGVhZC0tJHthfSBqcy1oZWFkIj5cblx0XHRcdDxkaXYgY2xhc3M9InR2LXdpZGdldC1jaGFydF9fbG9nbyBqcy1oZWFkZXItaWNvbiI+PC9kaXY+XG5cdFx0XHQ8ZGl2IGNsYXNzPSJ0di13aWRnZXQtY2hhcnRfX2hlYWQtY29udGFpbmVyIj5cblx0XHRcdFx0PGRpdiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X19uYW1lIj5cblx0XHRcdFx0XHQ8aDIgY2xhc3M9InR2LXdpZGdldC1jaGFydF9fdGl0bGUgc3ltYm9sLWRlc2NyaXB0aW9uLW5hbWUiPlxuXHRcdFx0XHRcdFx0Jm5ic3A7XG5cdFx0XHRcdFx0PC9oMj5cblx0XHRcdFx0XHQke3Q/IiI6J1xuXHRcdDxkaXYgY2xhc3M9InR2LXdpZGdldC1jaGFydF9faW5kaWNhdG9ycyI+XG5cdFx0XHQ8c3BhbiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X19zdGF0dXMganMtbWFya2V0LXN0YXR1cyI+PC9zcGFuPlxuXHRcdDwvZGl2PlxuXHQnfVxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PGRpdiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X19pbmZvIj5cblx0XHRcdFx0XHQ8ZGl2IGlkPSJxdW90ZXMtY29udGFpbmVyIiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X19wcmljZSI+XG5cdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPSJ0di13aWRnZXQtY2hhcnRfX3ByaWNlLWNvbnRhaW5lciI+XG5cdFx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPSJ0di13aWRnZXQtY2hhcnRfX3ByaWNlLXZhbHVlIHN5bWJvbC1sYXN0IiB0aXRsZT0iICR7UC50KG51bGwsdm9pZCAwLHMoNDMxMTU3KSl9ICI+PC9zcGFuPlxuXHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPSJ0di13aWRnZXQtY2hhcnRfX2NvbnRhaW5lci1zeW1ib2wiPlxuXHRcdFx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPSJ0di1kYXRhLW1vZGUtLXN5bWJvbC13aWRnZXQgdHYtd2lkZ2V0LWNoYXJ0X19jb250YWluZXItc3ltYm9sLXNlbGVjdG9yIGpzLWRhdGEtbW9kZSI+PC9zcGFuPlxuXHRcdFx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPSJ0di1kYXRhLW1vZGUtLXN5bWJvbC13aWRnZXQgdHYtd2lkZ2V0LWNoYXJ0X19jb250YWluZXItc3ltYm9sLWN1cnJlbmN5IGpzLXN5bWJvbC1jdXJyZW5jeSI+PC9zcGFuPlxuXHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0PHNwYW4gaWQ9InN5bWJvbC1kZWx0YSIgY2xhc3M9InR2LXdpZGdldC1jaGFydF9fcHJpY2UtZGVsdGEiPlxuXHRcdFx0XHRcdFx0XHQke2w/IiI6YDxzcGFuIGlkPSJkZWx0YSIgY2xhc3M9InN5bWJvbC1jaGFuZ2UgdHYtd2lkZ2V0LWNoYXJ0X19wcmljZS1kZWx0YS12YWx1ZSIgdGl0bGU9IiAke1AudChudWxsLHZvaWQgMCxzKDY3MzQ4NykpfSAiPiZuYnNwOzwvc3Bhbj5gfVxuXHRcdFx0XHRcdFx0XHQke2M/IiI6YDxzcGFuIGlkPSJkZWx0YS1wdCIgY2xhc3M9InN5bWJvbC1jaGFuZ2UtcHQgdHYtd2lkZ2V0LWNoYXJ0X19wcmljZS1kZWx0YS12YWx1ZSIgdGl0bGU9IiAke1AudChudWxsLHZvaWQgMCxzKDY3MzQ4NykpfSAsICUiPiZuYnNwOzwvc3Bhbj5gfVxuXHRcdFx0XHRcdFx0XHQke3U/IiI6JzxzcGFuIGlkPSJkZWx0YS1yYW5nZSIgY2xhc3M9InR2LXdpZGdldC1jaGFydF9fcHJpY2UtZGVsdGEtZGF5Ij4mbmJzcDs8L3NwYW4+J31cblx0XHRcdFx0XHRcdDwvc3Bhbj5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHQ8ZGl2IGlkPSJ2YWx1ZXMtaW4tbGVnZW5kLWNvbnRhaW5lciIgY2xhc3M9InR2LXdpZGdldC1jaGFydF9fbGVnZW5kIj48L2Rpdj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0YCxkPWBcblx0XHQ8ZGl2IGNsYXNzPSJ0di13aWRnZXQtY2hhcnRfX2NvbnRhaW5lci13cmFwcHBlciI+XG5cdFx0XHQke28/IiI6aH1cblx0XHRcdCR7aT8iIjonPGRpdiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X190aW1lZnJhbWVzIGpzLXdpZGdldC1jaGFydC10aW1lZnJhbWVzIj48L2Rpdj4nfVxuXHRcdDwvZGl2PlxuXHRgLG09KDAseS5wYXJzZUh0bWwpKGBcblx0XHQ8ZGl2IGNsYXNzPSJ0di13aWRnZXQtY2hhcnRfX3BhZ2UiPlxuXHRcdFx0PGRpdiBjbGFzcz0ianMtd2lkZ2V0LWNoYXJ0LWluZm8iPlxuXHRcdFx0XHQke24/IiI6ZH1cblx0XHRcdDwvZGl2PlxuXHRcdFx0PGRpdiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X19jaGFydC13cmFwIGpzLXdpZGdldC1jaGFydC13cmFwIj48L2Rpdj5cblx0XHQ8L2Rpdj5cblx0YCk7cmV0dXJuKDAsZy5lbnN1cmVOb3ROdWxsKShtLmZpcnN0RWxlbWVudENoaWxkKX0oey4uLm8sc2hvcnROYW1lOnQuc2hvcnROYW1lKCksaGlkZVdpZGdldEhlYWRlckNvbnRhaW5lcjppfSksdGhpcy5pbmZvPSgwLGcuZW5zdXJlTm90TnVsbCkodGhpcy5lbC5xdWVyeVNlbGVjdG9yKCIuanMtd2lkZ2V0LWNoYXJ0LWluZm8iKSksdGhpcy5tYXJrZXRTdGF0dXM9dGhpcy5lbC5xdWVyeVNlbGVjdG9yKCIuanMtbWFya2V0LXN0YXR1cyIpLHRoaXMuX2NoYXJ0V3JhcHBlckVsPSgwLGcuZW5zdXJlTm90TnVsbCkodGhpcy5lbC5xdWVyeVNlbGVjdG9yKCIuanMtd2lkZ2V0LWNoYXJ0LXdyYXAiKSksbmV3IFJlc2l6ZU9ic2VydmVyKHRoaXMub25SZXNpemUuYmluZCh0aGlzKSkub2JzZXJ2ZSh0aGlzLl9jaGFydFdyYXBwZXJFbCksdGhpcy5fY3JlYXRlRGF0YU1vZGUoKTtjb25zdCByPXRoaXMuZWwucXVlcnlTZWxlY3RvcigiLmpzLXdpZGdldC1jaGFydC10aW1lZnJhbWVzIik/P3ZvaWQgMCxuPXRoaXMuc3ltYm9sLnRpbWVmcmFtZSgpO3RoaXMuX2NoYXJ0T3B0aW9ucz0oMCxwLmRlZmF1bHQpKHt9LCgwLApOLmRlZmF1bHQpKHt9LG8ubWluaUNoYXJ0T3B0aW9ucykse3RpbWVmcmFtZTp7Y29udGFpbmVyOnIsdmFsdWU6bj8oMCxNLmNvbnZlcnRTdHJUb1RpbWVGcmFtZSkobik6dm9pZCAwfSx1cGRhdGVUaW1lb3V0OjZlNH0pLHRoaXMudmlzaWJsZS5zdWJzY3JpYmUoKGFzeW5jKCk9Pnthd2FpdCB0aGlzLl9jcmVhdGVDaGFydCgpLHRoaXMuX2luaXRWYWx1ZXNJbkxlZ2VuZCgpfSkse29uY2U6ITB9KX1wYXVzZU1hcmtldFN0YXR1cygpe3RoaXMuX21lZGl1bVdpZGdldE1hcmtldFN0YXR1cz8uY2FsbEZ1bmN0aW9uKChlPT5lLmFkYXB0ZXIucGF1c2UoKSkpLHRoaXMuX2RhdGFNb2RlPy5zdG9wKCl9cmVzdW1lTWFya2V0U3RhdHVzKCl7dGhpcy5fbWVkaXVtV2lkZ2V0TWFya2V0U3RhdHVzPy5jYWxsRnVuY3Rpb24oKGU9PmUuYWRhcHRlci5yZXN1bWUoKSkpLHRoaXMuX2RhdGFNb2RlPy5zdGFydCgpfXNob3coZSl7dGhpcy53aWRnZXQuc3Bpbm5lci5zcGluKHRoaXMud2lkZ2V0LmxheW91dC5jb250YWluZXIpLHRoaXMuX29wdGlvbnMuY2hhcnRPbmx5fHx0aGlzLl9jcmVhdGVRdW90ZVRpY2tlcigpLnRoZW4oKHQ9Pnt0LnF1b3Rlc1JlYWR5LmNhdGNoKCh0PT57dCYmdGhpcy5fc2hvd0Vycm9yTWVzc2FnZSh0LGUpfSkpfSkpLmNhdGNoKCh0PT57dCYmdGhpcy5fc2hvd0Vycm9yTWVzc2FnZSh0LGUpfSkpLHRoaXMuX3Nob3dUYWIoZSl9aGlkZSgpe3RoaXMuZWwuY2xhc3NMaXN0LmFkZCgiaS1oaWRkZW4iKSx0aGlzLnZpc2libGUuc2V0VmFsdWUoITEpfW9uUmVzaXplKCl7dGhpcy5taW5pQ2hhcnQmJnRoaXMuX2lzQ2hhcnRWaXNpYmxlJiZzZXRUaW1lb3V0KCgoKT0+e3RoaXMuX2FwcGx5TGFiZWxPZmZzZXQoKX0pLDApfWFzeW5jIF9jcmVhdGVDaGFydCgpe3RoaXMubWluaUNoYXJ0PW5ldyAkLlNlc3Npb25zTWluaUNoYXJ0KHtzeW1ib2w6dGhpcy5zeW1ib2wubmFtZSgpLCJjdXJyZW5jeS1pZCI6dGhpcy5zeW1ib2wuY3VycmVuY3koKX0sdGhpcy5fY2hhcnRXcmFwcGVyRWwsdGhpcy5fY2hhcnRPcHRpb25zKTtjb25zdCBlPXRoaXMuX29wdGlvbnMudmFsdWVzVHJhY2tpbmc7IjEiIT09ZSYmIjIiIT09ZXx8KDAsbGUuY3JlYXRlTGlnaHR3ZWlnaHRDaGFydFByaWNlVGltZVRvb2x0aXApKHtjaGFydDp0aGlzLm1pbmlDaGFydC53aWRnZXQoKSxjb2xvcmVkQm9yZGVyVmlzaWJsZToiMiI9PT1lLGNyb3NzaGFpck1vdmVEYXRhR2V0dGVyOmU9PigwLFguZ2V0Q3Jvc3NoYWlyTW92ZURhdGEpKCgwLGcuZW5zdXJlTm90TnVsbCkodGhpcy5taW5pQ2hhcnQpLGUpfSk7Y29uc3R7bWE6dCxjb21wYXJlU3ltYm9sOm99PXRoaXMuX2NoYXJ0T3B0aW9ucy5jaGFydE9wdGlvbnN8fHt9O2lmKHQmJnQudmlzaWJsZSl7Y29uc3QgZT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDY0MTMyKSxzLmUoNzEzMjgpLHMuZSg1NjE1NildKS50aGVuKHMuYmluZChzLDQ3ODc0MCkpO2lmKHRoaXMubWluaUNoYXJ0Lm1haW5QbG90KCkuaXNEZXN0cm95ZWQoKS52YWx1ZSgpKXJldHVybjtjb25zdCBvPW5ldyBlLk1vdmluZ0F2ZXJhZ2VNaW5pQ2hhcnRQbG90KHRoaXMubWluaUNoYXJ0LHtjaGFydFR5cGU6ImxpbmUiLC4uLnR9LHQubGVuZ3RoPz85KTtvLnNldFN5bWJvbCh0aGlzLnN5bWJvbC5uYW1lKCkpLHRoaXMubWluaUNoYXJ0LmFkZFN0dWR5UGxvdChvKX1vJiZ0aGlzLl9jcmVhdGVDb21wYXJlU2VyaWVzKG8pO2NvbnN0IGk9dGhpcy5tYXJrZXRTdGF0dXM7aSYmKHRoaXMuX21lZGl1bVdpZGdldE1hcmtldFN0YXR1cz1uZXcgTy5Bc3luY1Jlc291cmNlV3JhcHBlcihhc3luYyBmdW5jdGlvbihlLHQpe2NvbnN0e01lZGl1bVdpZGdldE1hcmtldFN0YXR1czpvfT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDY0MjAwKSxzLmUoMjAzNTQpLHMuZSgzNjIyMikscy5lKDI5NTM2KSxzLmUoNTE4NCkscy5lKDU2MjUyKSxzLmUoMTE0NjEpLHMuZSg5NjU4Nykscy5lKDM5MDUpLHMuZSg2MjYwMCkscy5lKDc1MjE3KSxzLmUoMTE0MDkpLHMuZSgzMjM4Nykscy5lKDIzNzQzKSxzLmUoMzY5MzgpLHMuZSg4NTYwNykscy5lKDU0NDQ5KV0pLnRoZW4ocy5iaW5kKHMsNjYzMjE5KSk7cmV0dXJuIG5ldyBvKGUsdCl9KCgwLGcuZW5zdXJlTm90TnVsbCkodGhpcy5taW5pQ2hhcnQpLGkpKSx0aGlzLl9tZWRpdW1XaWRnZXRNYXJrZXRTdGF0dXMuY2FsbEZ1bmN0aW9uKChlPT57ZS5yZW5kZXJlcigpfSkpKSx0aGlzLl9jaGFydFBhcmVudEVsPSgwLGcuZW5zdXJlRGVmaW5lZCkodGhpcy5fY2hhcnRXcmFwcGVyRWwucXVlcnlTZWxlY3RvcigiZGl2W2RhdGEtbWluaS1jaGFydC1pZF0sIGRpdjpoYXMoLnR2LWxpZ2h0d2VpZ2h0LWNoYXJ0cykiKSksdGhpcy5faXNDaGFydFZpc2libGV8fHRoaXMuX2NoYXJ0UGFyZW50RWwuY2xhc3NMaXN0LmFkZCgiaS1oaWRkZW4iKSx0aGlzLm1pbmlDaGFydC5tYWluUGxvdCgpLnN0YXR1cygpLnN1YnNjcmliZSgoYXN5bmMgZT0+e3N3aXRjaChlKXtjYXNlIDM6dGhpcy5fb3B0aW9ucy5jaGFydE9ubHl8fHRoaXMuX3JlbmRlclF1b3RlRGVsdGEoKTticmVhaztjYXNlIDA6dGhpcy5fY2hhbmdlQ2hhcnRWaXNpYmlsaXR5KCEwKSx0aGlzLl9lcnJvckNhcmRSZW5kZXJlcj8uY2FsbEZ1bmN0aW9uKChlPT5lLnVwZGF0ZSh7bWVzc2FnZToiIn0pKSl9fSkpLHRoaXMubWluaUNoYXJ0Lm1haW5QbG90KCkubm9EYXRhKCkuc3Vic2NyaWJlKChlPT57bGV0IHQ7c3dpdGNoKGUpe2Nhc2UgMDp0PXt0eXBlOjB9O2JyZWFrO2Nhc2UgMTp0PXt0eXBlOjEsc3ltYm9sOigwLGcuZW5zdXJlTm90TnVsbCkodGhpcy5taW5pQ2hhcnQpLm1haW5QbG90KCkuc3ltYm9sKCl9O2JyZWFrO2Nhc2UgMjpjYXNlIDM6dD17dHlwZToyfTticmVhaztkZWZhdWx0OnJldHVybn10aGlzLl9zaG93RXJyb3JNZXNzYWdlKHQpfSkpfWFzeW5jIF9jcmVhdGVDb21wYXJlU2VyaWVzKGUpe2NvbnN0IHQ9dGhpcy5taW5pQ2hhcnQ7aWYodCl7Y29uc3Qgbz1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDcxMzI4KSxzLmUoOTU0ODYpXSkudGhlbihzLmJpbmQocywxMjgwMTEpKTtpZih0Lm1haW5QbG90KCkuaXNEZXN0cm95ZWQoKS52YWx1ZSgpKXJldHVybgo7Y29uc3R7c3ltYm9sOmksc2hvd0xhYmVsczpyLC4uLm59PWUsYT10aGlzLl9jaGFydE9wdGlvbnMuY2hhcnRPcHRpb25zPy5jaGFydD8ubGVmdFByaWNlU2NhbGU/LnZpc2libGV8fCF0aGlzLl9jaGFydE9wdGlvbnMuY2hhcnRPcHRpb25zPy5jaGFydD8ubGVmdFByaWNlU2NhbGU/LnZpc2libGUmJiF0aGlzLl9jaGFydE9wdGlvbnMuY2hhcnRPcHRpb25zPy5jaGFydD8ucmlnaHRQcmljZVNjYWxlPy52aXNpYmxlLGw9cj8/ITA7bi5sYXN0VmFsdWVWaXNpYmxlPSFhJiZsO2NvbnN0IGM9ey4uLnQubWFpblBsb3QoKS5leHRlbmRlZFN5bWJvbCgpLHN5bWJvbDppfSx1PW5ldyBvLk92ZXJsYXlNaW5pQ2hhcnRQbG90KHQsbixjLCExKTtpZih1LnNldFN5bWJvbChjKSx0LmFkZFN0dWR5UGxvdCh1KSwhbClyZXR1cm47dGhpcy5fbWFya2V0U3RhdHVzU291cmNlQWRhcHRlcj1uZXcgYWUuTWluaUNoYXJ0U3RhdHVzU291cmNlQWRhcHRlcih0KTtjb25zdCBoPWUuc3ltYm9sLmluY2x1ZGVzKCI6Iik/ZS5zeW1ib2wuc3BsaXQoIjoiKVsxXTplLnN5bWJvbDt1LnNlcmllcygpLmFwcGx5T3B0aW9ucyh7dGl0bGU6aH0pLHUuc2VyaWVzKCkuYXR0YWNoUHJpbWl0aXZlKG5ldyBKKGEpKTtjb25zdCBkPSgpPT57c2V0VGltZW91dCgoKCk9Pnt0aGlzLl9hcHBseUxhYmVsT2Zmc2V0KCl9KSwwKX07ZCgpLHQubWFpblBsb3QoKS5zdGF0dXMoKS5zdWJzY3JpYmUoKCgpPT57ZCgpfSkpfX1fYXBwbHlMYWJlbE9mZnNldCgpe2NvbnN0IGU9dGhpcy5taW5pQ2hhcnQsdD10aGlzLl9jaGFydE9wdGlvbnMuY2hhcnRPcHRpb25zPy5jb21wYXJlU3ltYm9sO2lmKCFlfHwhdD8uc3ltYm9sKXJldHVybjtjb25zdCBzPXRoaXMuX2NoYXJ0T3B0aW9ucy5jaGFydE9wdGlvbnM/LmNoYXJ0Py5sZWZ0UHJpY2VTY2FsZT8udmlzaWJsZXx8IXRoaXMuX2NoYXJ0T3B0aW9ucy5jaGFydE9wdGlvbnM/LmNoYXJ0Py5sZWZ0UHJpY2VTY2FsZT8udmlzaWJsZSYmIXRoaXMuX2NoYXJ0T3B0aW9ucy5jaGFydE9wdGlvbnM/LmNoYXJ0Py5yaWdodFByaWNlU2NhbGU/LnZpc2libGUsbz10PT57ZS5tYWluUGxvdCgpPy5zZXJpZXMoKS5hcHBseU9wdGlvbnMoe3RpdGxlOnRoaXMuc3ltYm9sLm5hbWUoKX0pO2NvbnN0IG89ZS50aW1lZnJhbWUoKS52YWx1ZSgpLGk9InBlcmlvZC1iYWNrIj09PW8udHlwZSYmIkxBU1RTRVNTSU9OIj09PW8udmFsdWU/dDpudWxsO2UubWFpblBsb3QoKT8uc2VyaWVzKCkuYXBwbHlPcHRpb25zKHtsYXN0VmFsdWVWaXNpYmxlOiFzfSksZS5tYWluUGxvdCgpPy5zZXJpZXMoKS5hdHRhY2hQcmltaXRpdmUobmV3IEoocyxpKSk7Y29uc3Qgcj1mdW5jdGlvbihlLHQpe2NvbnN0IHM9dD8uY29tcGFyZVN5bWJvbD8uc3ltYm9sO2lmKCFzKXJldHVybiAwO2NvbnN0IG89cy5pbmNsdWRlcygiOiIpP3Muc3BsaXQoIjoiKVsxXTpzO3JldHVybih0Py5jaGFydD8ubGF5b3V0Py5mb250U2l6ZT8/MTApKk1hdGgubWF4KG8ubGVuZ3RoLGUubmFtZSgpLmxlbmd0aCkrMTB9KHRoaXMuc3ltYm9sLHRoaXMuX2NoYXJ0T3B0aW9ucy5jaGFydE9wdGlvbnMpLG49KCk9Pntjb25zdCB0PWUud2lkZ2V0KCkudGltZVNjYWxlKCkud2lkdGgoKSxzPWUud2lkZ2V0KCkudGltZVNjYWxlKCkuZ2V0VmlzaWJsZUxvZ2ljYWxSYW5nZSgpO2lmKCFzKXJldHVybiAwO2NvbnN0IG89ci90O3JldHVybihzLnRvLXMuZnJvbSkqb307aWYoInRpbWUtcmFuZ2UiPT09by50eXBlfHwicGVyaW9kLWJhY2siPT09by50eXBlJiYiTEFTVFNFU1NJT04iIT09by52YWx1ZSllLndpZGdldCgpLnRpbWVTY2FsZSgpLmFwcGx5T3B0aW9ucyh7cmlnaHRPZmZzZXQ6bigpfSk7ZWxzZXtjb25zdCB0PWUubWFpblBsb3QoKT8uc2VyaWVzKCkuZGF0YSgpLnNsaWNlKC0xKVswXSxzPWUud2lkZ2V0KCkudGltZVNjYWxlKCkud2lkdGgoKS1yLG89ZS53aWRnZXQoKS50aW1lU2NhbGUoKS5jb29yZGluYXRlVG9UaW1lKHMpO2lmKCF0fHwhb3x8dC50aW1lPG8pcmV0dXJuO2Uud2lkZ2V0KCkudGltZVNjYWxlKCkuYXBwbHlPcHRpb25zKHtyaWdodE9mZnNldDpuKCl9KX19LGk9dGhpcy5fbWFya2V0U3RhdHVzU291cmNlQWRhcHRlcj8ubWFya2V0U3RhdHVzTW9kZWwoKT8uY3VycmVudFNlc3Npb24oKS52YWx1ZSgpO2k/byhpKTp0aGlzLl9tYXJrZXRTdGF0dXNTb3VyY2VBZGFwdGVyPy5tYXJrZXRTdGF0dXNNb2RlbCgpPy5jdXJyZW50U2Vzc2lvbigpLnN1YnNjcmliZSgoZT0+e2UmJm8oZSl9KSl9X2NyZWF0ZVF1b3RlVGlja2VyKCl7aWYobnVsbCE9PXRoaXMuX2NyZWF0ZVF1b3RlVGlja2VyUHJvbWlzZSlyZXR1cm4gdGhpcy5fY3JlYXRlUXVvdGVUaWNrZXJQcm9taXNlO2NvbnN0IGU9KDAsZy5lbnN1cmVOb3ROdWxsKSh0aGlzLmluZm8ucXVlcnlTZWxlY3RvcigiLmpzLWhlYWQiKSksdD0oMCxnLmVuc3VyZU5vdE51bGwpKHRoaXMuaW5mby5xdWVyeVNlbGVjdG9yKCIuanMtaGVhZGVyLWljb24iKSksbz0oZSx0KT0+e2VlKFYuZ2V0RXhjaGFuZ2UoZSksdCkudGhlbigoZT0+e3RoaXMud2lkZ2V0LnNwaW5uZXIuc3RvcCgpLGUmJnRoaXMud2lkZ2V0LmxheW91dC5jb250YWluZXIuYXBwZW5kKGUpfSkpfSxpPSgpPT57ZS5jbGFzc0xpc3QuYWRkKCJ0di13aWRnZXQtY2hhcnRfX2hlYWQtbm8tbG9nbyIpfSxyPSgwLEEuZ2V0TG9nb1VybHNIb29rKSgoZT0+eyhlPT57aWYoZS5sZW5ndGg+MCl7Y29uc3Qgcz1JKHtsb2dvVXJsczplLHNpemU6InhsYXJnZSIsY2xhc3NOYW1lOiJ0di13aWRnZXQtY2hhcnRfX2ljb24gdHYtd2lkZ2V0LWNoYXJ0X19pY29uLS1sYXJnZSJ9KSxvPUkoe2xvZ29VcmxzOmUsc2l6ZToibWVkaXVtIixjbGFzc05hbWU6InR2LXdpZGdldC1jaGFydF9faWNvbiB0di13aWRnZXQtY2hhcnRfX2ljb24tLW1lZGl1bSJ9KTt0LmFwcGVuZCgoMCx5LnBhcnNlSHRtbCkocykpLHQuYXBwZW5kKCgwLHkucGFyc2VIdG1sKShvKSl9ZWxzZSBpKCl9KShlKSx0aGlzLm9uUmVzaXplKCl9KSxLLkxvZ29TaXplLkxhcmdlKQo7cmV0dXJuIHRoaXMuX29wdGlvbnMuY2hhcnRPbmx5fHx0aGlzLl9xdW90ZVRpY2tlclJlbmRlcmVyfHwodGhpcy5fcXVvdGVUaWNrZXJSZW5kZXJlcj1uZXcgTy5Bc3luY1Jlc291cmNlV3JhcHBlcihhc3luYyBmdW5jdGlvbihlKXtyZXR1cm4gbmV3KChhd2FpdCBQcm9taXNlLmFsbChbcy5lKDU4NjY3KSxzLmUoMzc4NjUpLHMuZSgzOTA1KSxzLmUoNTE1MDgpLHMuZSg4NDA4KSxzLmUoMzU1Mikscy5lKDMzMzkyKV0pLnRoZW4ocy5iaW5kKHMsMTI1OTgzKSkpLk1lZGl1bVdpZGdldFF1b3RlVGlja2VyUmVuZGVyZXIpKGUpfSh0aGlzLmVsKSksdGhpcy5fcXVvdGVUaWNrZXJSZW5kZXJlci5jYWxsRnVuY3Rpb24oKGU9PntlLnNob3coKX0pKSksdGhpcy5fY3JlYXRlUXVvdGVUaWNrZXJQcm9taXNlPW5ldyBQcm9taXNlKCgoZSx0KT0+e1EodGhpcy5zeW1ib2wubmFtZSgpKS50aGVuKCh0PT57aWYobnVsbD09PXRoaXMuX3F1b3RlVGlja2VyUmVuZGVyZXIpcmV0dXJuIHZvaWQgZSh7cXVvdGVzUmVhZHk6UHJvbWlzZS5yZXNvbHZlKCl9KTtjb25zdCBzPW5ldyBQcm9taXNlKCgoZSxzKT0+e3RoaXMuX3F1b3RlVGlja2VyUmVuZGVyZXI/LmNhbGxGdW5jdGlvbigobj0+e24uY3JlYXRlUXVvdGVUaWNrZXIoKDAsbmUuZW5jb2RlRXh0ZW5kZWRTeW1ib2xPckdldFNpbXBsZVN5bWJvbFN0cmluZykoe3N5bWJvbDp0LCJjdXJyZW5jeS1pZCI6dGhpcy5zeW1ib2wuY3VycmVuY3koKX0pLHtsYXN0RmFsbGluZ0NsYXNzOiJ0di13aWRnZXQtY2hhcnRfX3ByaWNlLXZhbHVlLWNoYW5nZXMtLWZhbGxpbmciLGxhc3RHcm93aW5nQ2xhc3M6InR2LXdpZGdldC1jaGFydF9fcHJpY2UtdmFsdWUtY2hhbmdlcy0tZ3Jvd2luZyIsbGFzdFByaWNlSGlnaGxpZ2h0RGlmZk9ubHk6ITAsZGlzYWJsZUNoYW5nZTohMCxzZXRTdGF0ZUhvb2s6KHQscyxvKT0+e3RoaXMuX29wdGlvbnMuaGlkZVN5bWJvbExvZ28/aSgpOnIodCxzLG8pLHRoaXMuX3JlbmRlclF1b3RlRGVsdGEodCxzKSxlKCl9LG5vU3VjaFN5bWJvbEhvb2s6KGUsdCk9PnsicGVybWlzc2lvbl9kZW5pZWQiPT09ZS5zdGF0dXM/cyh7dHlwZToxLHN5bWJvbDplLnN5bWJvbG5hbWV9KTpzKHt0eXBlOjB9KSxpKCl9LHBlcm1pc3Npb25EZW5pZWRIb29rOihlLHQpPT57dCYmbyh0LHRlLkRlbGF5VHlwZS5Bbm9uKSxzKHt0eXBlOjEsc3ltYm9sOnR9KX19KX0pKX0pKTtlKHtxdW90ZXNSZWFkeTpzfSl9KSkuY2F0Y2goKGU9PntvKHRoaXMuc3ltYm9sLm5hbWUoKSwiREVMQVlfTk9UX0FWQUlMQUJMRSI9PT1lPy5lcnJDb2RlP3RlLkRlbGF5VHlwZS5GcmVlRGVsYXk6dGUuRGVsYXlUeXBlLkRlbGF5KSx0KDEpfSkpfSkpLHRoaXMuX2NyZWF0ZVF1b3RlVGlja2VyUHJvbWlzZX1fY2FsY3VsYXRlUXVvdGVEZWx0YShlLHQpe2lmKCF0aGlzLm1pbmlDaGFydClyZXR1cm47Y29uc3Qgcz10aGlzLm1pbmlDaGFydC5tYWluUGxvdCgpLG89cy5maXJzdEJhcigpPy52YWx1ZVs0XSxpPXQ/Lmxhc3RfcHJpY2U/P3MubGFzdEJhcigpPy52YWx1ZVs0XTtpZighKDAsTC5pc051bWJlcikobyl8fCEoMCxMLmlzTnVtYmVyKShpKSlyZXR1cm47Y29uc3Qgcj1pLW87cmV0dXJuW3RoaXMuX3ByaWNlRm9ybWF0dGVyKGV8fHMuc3ltYm9sSW5mbygpKS5mb3JtYXQocix7c2lnblBvc2l0aXZlOiEwfSksdWUuZm9ybWF0KHIvbyoxMDAse3NpZ25Qb3NpdGl2ZTohMH0pLHJdfV9nZXREZWx0YUZyb21RdW90ZShlLHQpe2NvbnN0e2NoYW5nZTpzPWUuY2hhbmdlLGNoYW5nZV9wZXJjZW50Om89ZS5jaGFuZ2VfcGVyY2VudH09dDtyZXR1cm5bdGhpcy5fcHJpY2VGb3JtYXR0ZXIoZSkuZm9ybWF0KCgwLEwuaXNOdW1iZXIpKHMpP3M6MCx7c2lnblBvc2l0aXZlOiEwfSksdWUuZm9ybWF0KCgwLEwuaXNOdW1iZXIpKG8pP286MCx7c2lnblBvc2l0aXZlOiEwfSksKDAsTC5pc051bWJlcikocyk/czowXX1fcmVuZGVyUXVvdGVEZWx0YShlLHQpe2lmKCF0aGlzLl9xdW90ZVRpY2tlclJlbmRlcmVyKXJldHVybjtlJiZ0JiYodGhpcy5fbGFzdERlbHRhRnJvbVF1b3RlPXRoaXMuX2dldERlbHRhRnJvbVF1b3RlKGUsdCkpO2NvbnN0IHM9dGhpcy5taW5pQ2hhcnQ/LnRpbWVmcmFtZSgpLnZhbHVlKCksbz1zPygwLE0uY29udmVydFRpbWVGcmFtZVRvU3RyKShzKTp0aGlzLnN5bWJvbC50aW1lZnJhbWUoKTtsZXQgaSxyO2lmKCIxRCI9PT1vfHwiTEFTVFNFU1NJT04iPT09byl7aWYoIXRoaXMuX2xhc3REZWx0YUZyb21RdW90ZSlyZXR1cm47aT10aGlzLl9sYXN0RGVsdGFGcm9tUXVvdGV9ZWxzZSBpPXRoaXMuX2NhbGN1bGF0ZVF1b3RlRGVsdGEoZSx0KXx8bnVsbDtpZihpKXtjb25zdFtlLHQsb109aSxuPSgwLEIuZ2V0VGltZUZyYW1lTmFtZSkocz8oMCxNLmNvbnZlcnRUaW1lRnJhbWVUb1N0cikocyk6IiIpO3I9W2UsdCxuLG9dfXRoaXMuX3F1b3RlVGlja2VyUmVuZGVyZXIuY2FsbEZ1bmN0aW9uKChlPT5lLnVwZGF0ZVF1b3RlRGVsdGEocikpKX1fcHJpY2VGb3JtYXR0ZXIoZSl7Y29uc3QgdD10aGlzLl9mb3JtYXR0ZXJDYWNoZSx7cHJpY2VzY2FsZTpzLG1pbm1vdjpvLGZyYWN0aW9uYWw6aSxtaW5tb3ZlMjpyfT1lfHx7cHJpY2VzY2FsZToxMDAsbWlubW92OjF9O2lmKG51bGw9PT10fHx0LnByaWNlc2NhbGUhPT1zfHx0Lm1pbm1vdiE9PW98fHQuZnJhY3Rpb25hbCE9PWl8fHQubWlubW92ZTIhPT1yKXtjb25zdCBlPW5ldyBvZS5QcmljZUZvcm1hdHRlcih7cHJpY2VTY2FsZTpzLG1pbk1vdmU6byxmcmFjdGlvbmFsOmksbWluTW92ZTI6cn0pO3JldHVybiB0aGlzLl9mb3JtYXR0ZXJDYWNoZT17cHJpY2VzY2FsZTpzLG1pbm1vdjpvLGZyYWN0aW9uYWw6aSxtaW5tb3ZlMjpyLGZvcm1hdHRlcjplfSxlfXJldHVybiB0LmZvcm1hdHRlcn1faW5pdFZhbHVlc0luTGVnZW5kKCl7aWYoIjMiPT09dGhpcy5fb3B0aW9ucy52YWx1ZXNUcmFja2luZyYmdGhpcy5taW5pQ2hhcnQpe2NvbnN0IGU9dGhpcy5lbC5xdWVyeVNlbGVjdG9yKCIjdmFsdWVzLWluLWxlZ2VuZC1jb250YWluZXIiKQo7ZSYmKHRoaXMuX3ZhbHVlc0luTGVnZW5kUmVuZGVyZXI9bmV3IE8uQXN5bmNSZXNvdXJjZVdyYXBwZXIoYXN5bmMgZnVuY3Rpb24oZSl7Y29uc3R7TWVkaXVtV2lkZ2V0VmFsdWVzSW5MZWdlbmRSZW5kZXJlcjp0fT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDcyNzYxKSxzLmUoMzIzODcpLHMuZSg4NjY5NildKS50aGVuKHMuYmluZChzLDk1NzU1NykpO3JldHVybiBuZXcgdChlKX0oZSkpLHRoaXMubWluaUNoYXJ0LnVuc3Vic2NyaWJlQ3Jvc3NoYWlyTW92ZSh0aGlzLl92YWx1ZXNJbkxlZ2VuZENyb3NzaGFpck1vdmVIYW5kbGVyKSx0aGlzLm1pbmlDaGFydC5zdWJzY3JpYmVDcm9zc2hhaXJNb3ZlKHRoaXMuX3ZhbHVlc0luTGVnZW5kQ3Jvc3NoYWlyTW92ZUhhbmRsZXIpKX19X3Nob3dUYWIoZSl7dGhpcy5lbC5jbGFzc0xpc3QucmVtb3ZlKCJpLWhpZGRlbiIpLHRoaXMudmlzaWJsZS5zZXRWYWx1ZSghMCksdGhpcy53aWRnZXQuc3Bpbm5lci5zdG9wKCksZT8uKCksdGhpcy5vblJlc2l6ZSgpfV9zaG93RXJyb3JNZXNzYWdlKGUsdCl7dGhpcy5fc2hvd1RhYih0KSx0aGlzLl9jaGFuZ2VDaGFydFZpc2liaWxpdHkoITEpLHRoaXMuX2Vycm9yQ2FyZFJlbmRlcmVyfHwodGhpcy5fZXJyb3JDYXJkUmVuZGVyZXI9bmV3IE8uQXN5bmNSZXNvdXJjZVdyYXBwZXIoYXN5bmMgZnVuY3Rpb24oKXtyZXR1cm4gbmV3KGF3YWl0KDAsc2UuZ2V0RXJyb3JDYXJkUmVuZGVyZXIpKCkpfSgpKSx0aGlzLl9lcnJvckNhcmRSZW5kZXJlci5jYWxsRnVuY3Rpb24oKGU9Pnt0aGlzLmluZm8uY2xhc3NMaXN0LmFkZCgidHYtd2lkZ2V0LWNoYXJ0X19ub3QtZGF0YSIpLHRoaXMuX2NoYXJ0V3JhcHBlckVsLmFwcGVuZENoaWxkKGUuY29udGFpbmVyKX0pKSksdGhpcy5fZXJyb3JDYXJkUmVuZGVyZXIuY2FsbEZ1bmN0aW9uKCh0PT57dC51cGRhdGUoey4uLm1lKGUpLGljb246Imdob3N0IixiYWNrZ3JvdW5kQ29sb3I6InRyYW5zcGFyZW50IixvZmZzZXRIZWlnaHQ6dGhpcy5fZ2V0SGVhZGVySGVpZ2h0KCl9KSx0aGlzLm9uUmVzaXplKCl9KSl9X2dldEhlYWRlckhlaWdodCgpe3JldHVybiB0aGlzLndpZGdldC5sYXlvdXQuY29udGFpbmVyLmNsaWVudEhlaWdodC10aGlzLl9jaGFydFdyYXBwZXJFbC5jbGllbnRIZWlnaHR9X2NoYW5nZUNoYXJ0VmlzaWJpbGl0eShlKXt0aGlzLl9pc0NoYXJ0VmlzaWJsZT1lLGU/dGhpcy5fY2hhcnRQYXJlbnRFbD8uY2xhc3NMaXN0LnJlbW92ZSgiaS1oaWRkZW4iKTp0aGlzLl9jaGFydFBhcmVudEVsPy5jbGFzc0xpc3QuYWRkKCJpLWhpZGRlbiIpfWFzeW5jIF9jcmVhdGVEYXRhTW9kZSgpe2NvbnN0IGU9dGhpcy5lbC5xdWVyeVNlbGVjdG9yKCIuanMtZGF0YS1tb2RlIik7aWYoIWUpcmV0dXJuO2NvbnN0IHQ9YXdhaXQgUHJvbWlzZS5hbGwoW3MuZSg1NzE4NCkscy5lKDM5MDUpLHMuZSg1MTUwOCkscy5lKDQ2NDgyKV0pLnRoZW4ocy5iaW5kKHMsMzA2OTApKTt0aGlzLl9kYXRhTW9kZT1uZXcgdC5EYXRhTW9kZUluZGljYXRvcih7Y2xhc3NTdWZmaXg6Ii0tZm9yLXN5bWJvbC13aWRnZXQiLGVsOmU/P3ZvaWQgMCxzaG9ydDohMCxzeW1ib2w6dGhpcy5zeW1ib2wubmFtZSgpfSl9fXZhciBnZT1zKDUyODg2NCksX2U9cyg3NDgwMDIpLHllPShzKDIxMjI3NSkscygzOTE4MDcpKTtjbGFzcyBmZXtjb25zdHJ1Y3RvcihlLHQscyl7dGhpcy5zcGlubmVyPW5ldyBkLlNwaW5uZXIsdGhpcy5vbmVTeW1ib2w9ITAsdGhpcy5fb25TeW1ib2xDaGFuZ2U9bnVsbCx0aGlzLl9wYWdlcz1uZXcgTWFwLHRoaXMuX3N5bWJvbHM9dGhpcy5fcHJlcGFyZVN5bWJvbHModCksdGhpcy5fb3B0aW9ucz0oMCxwLmRlZmF1bHQpKHt9LHRoaXMuZGVmYXVsdE9wdGlvbnMoKSxzKSxzLmhpZGVEYXRlUmFuZ2VzJiYodGhpcy5fb3B0aW9ucy5taW5pQ2hhcnRPcHRpb25zLnRpbWVmcmFtZS52aXNpYmxlPSExKSx0aGlzLl9vcHRpb25zLm9uU3ltYm9sQ2hhbmdlJiYodGhpcy5fb25TeW1ib2xDaGFuZ2U9bmV3IGsuRGVsZWdhdGUsdGhpcy5fb25TeW1ib2xDaGFuZ2Uuc3Vic2NyaWJlKG51bGwsdGhpcy5fb3B0aW9ucy5vblN5bWJvbENoYW5nZSkpLHRoaXMuX2NyZWF0ZUxheW91dChlKX1kZWZhdWx0T3B0aW9ucygpe3JldHVybntjaGFydE9ubHk6ITEsaGVhZGVyRm9udFNpemU6Im1lZGl1bSIsdmFsdWVzVHJhY2tpbmc6IjAiLGNoYW5nZU1vZGU6InByaWNlLWFuZC1wZXJjZW50IixtaW5pQ2hhcnRPcHRpb25zOntzaG93RGVzY3JpcHRpb246ITEsdGltZWZyYW1lOnt2YWx1ZTp7dHlwZToicGVyaW9kLWJhY2siLHZhbHVlOiIxRCJ9LHZpc2libGU6ITAsc2l6ZToieHNtYWxsIn0sY2hhcnRPcHRpb25zOnttaW5IZWlnaHQ6MjAwLGNoYXJ0OntncmlkOnt2ZXJ0TGluZXM6e3Zpc2libGU6ITF9LGhvcnpMaW5lczp7dmlzaWJsZTohMCxjb2xvcjoiI2U5ZTllYSIsc3R5bGU6by5MaW5lU3R5bGUuRGFzaGVkfX19LHNlcmllczp7bGluZUNvbG9yOnIuY29sb3JzUGFsZXR0ZVsiY29sb3Itc3VjY2VzcyJdLGxpbmVXaWR0aDoxLHRvcENvbG9yOiJyZ2JhKDYwLCAxODgsIDE1MiwgMC4wNSkiLGJvdHRvbUNvbG9yOiJyZ2JhKDYwLCAxODgsIDE1MiwgMC4wNSkifSxsb2FkaW5nOntmYWRlOnt2aXNpYmxlOiEwfSxjbGVhckRhdGFPblN5bWJvbENoYW5nZTohMSxjbGVhckRhdGFPblRpbWVmcmFtZUNoYW5nZTohMX19fSxoaWRlSGVhZGVyOiExLGhpZGVEYXRlUmFuZ2VzOiExLGhpZGVNYXJrZXRTdGF0dXM6ITEsaGlkZVN5bWJvbExvZ286ITEsbm9Cb3JkZXI6ITEsc2hvd1N1YlRpdGxlOiEwfX1zZXRTeW1ib2xzKGUpe3RoaXMuX3N5bWJvbHM9dGhpcy5fcHJlcGFyZVN5bWJvbHMoZSl9X3ByZXBhcmVTeW1ib2xzKGUpe3JldHVybihlPUFycmF5LmlzQXJyYXkoZSk/ZTpbZV0pLm1hcCgoZT0+bmV3IEMoZSwoZT0+IjFEIj09PWV8fHZvaWQgMD09PWU/IkxBU1RTRVNTSU9OIjplKSkpKX1hc3luYyBfY3JlYXRlTGF5b3V0KGUpe3RoaXMub25lU3ltYm9sPTE9PT10aGlzLl9zeW1ib2xzLmxlbmd0aDtjb25zdCB0PXRoaXMuX29wdGlvbnMubm9Cb3JkZXIsbz0oMCwKeS5wYXJzZUh0bWwpKGBcblx0XHRcdDxkaXYgY2xhc3M9InR2LXdpZGdldC1jaGFydCAke3Q/InR2LXdpZGdldC1jaGFydC0tbm8tYm9yZGVyIjoidHYtd2lkZ2V0LWNoYXJ0LS13aXRoLWJvcmRlciJ9Ij5cblx0XHRcdFx0PGRpdiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X19uYXYganMtd2lkZ2V0LWNoYXJ0LXRhYi1jb250YWluZXIgJHt0aGlzLm9uZVN5bWJvbD8iaS1oaWRkZW4iOiIifSI+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz0ianMtd2lkZ2V0LWNoYXJ0LXRhYnMiPjwvZGl2PlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PGRpdiBjbGFzcz0idHYtd2lkZ2V0LWNoYXJ0X19wYWdlcyBqcy13aWRnZXQtY2hhcnQtcGFnZXMiPjwvZGl2PlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPSJ0di13aWRnZXQtY2hhcnRfX2NvcHlyaWdodGluZ0NvbnRhaW5lciI+PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHRgKSxpPSgwLGcuZW5zdXJlTm90TnVsbCkoby5maXJzdEVsZW1lbnRDaGlsZCk7aWYodGhpcy5sYXlvdXQ9e2JvZHk6aSxjb250YWluZXI6ZSx0YWJzQ29udGFpbmVyOigwLGcuZW5zdXJlTm90TnVsbCkoaS5xdWVyeVNlbGVjdG9yKCIuanMtd2lkZ2V0LWNoYXJ0LXRhYi1jb250YWluZXIiKSksdGFic0VsOigwLGcuZW5zdXJlTm90TnVsbCkoaS5xdWVyeVNlbGVjdG9yKCIuanMtd2lkZ2V0LWNoYXJ0LXRhYnMiKSkscGFnZXNFbDooMCxnLmVuc3VyZU5vdE51bGwpKGkucXVlcnlTZWxlY3RvcigiLmpzLXdpZGdldC1jaGFydC1wYWdlcyIpKSxmb290ZXI6aS5xdWVyeVNlbGVjdG9yKCIuanMtd2lkZ2V0LWNoYXJ0LWZvb3RlciIpLGNwQ29udGFpbmVyOigwLGcuZW5zdXJlTm90TnVsbCkoaS5xdWVyeVNlbGVjdG9yKCIudHYtd2lkZ2V0LWNoYXJ0X19jb3B5cmlnaHRpbmdDb250YWluZXIiKSl9LGUub3duZXJEb2N1bWVudC5ib2R5LnN0eWxlLnNldFByb3BlcnR5KCItLXdpZGdldC1mb250LWNvbG9yIix0aGlzLl9vcHRpb25zLmZvbnRDb2xvciksdGhpcy5fb3B0aW9ucy5mb250RmFtaWx5JiZlLm93bmVyRG9jdW1lbnQuYm9keS5zdHlsZS5zZXRQcm9wZXJ0eSgiLS13aWRnZXQtZm9udC1mYW1pbHkiLHRoaXMuX29wdGlvbnMuZm9udEZhbWlseSksdGhpcy5sYXlvdXQuY29udGFpbmVyLmFwcGVuZChpKSx0aGlzLl9zeW1ib2xzLmxlbmd0aD4xKXtjb25zdCBlPShhd2FpdCBQcm9taXNlLmFsbChbcy5lKDk0OTQ3KSxzLmUoODQzMDYpLHMuZSg4MTA3Mikscy5lKDIzNjI0KSxzLmUoOTUwNCkscy5lKDQ3NjMyKSxzLmUoNTgwNTEpLHMuZSgzODQxMSkscy5lKDMyMzg3KSxzLmUoNDIyODgpLHMuZSg2OTExMykscy5lKDc3NzY0KV0pLnRoZW4ocy5iaW5kKHMsMTg3NDQ1KSkpLnJlbmRlcldpZGdldFRhYnMsdD1bXTtmb3IoY29uc3QgZSBvZiB0aGlzLl9zeW1ib2xzKXtjb25zdCBzPWUuZGVzY3JpcHRpb24oKXx8ZS5zaG9ydE5hbWUoKSxvPXtpZDplLm5hbWUoKSxsYWJlbDpzfTt0LnB1c2gobyl9YXdhaXQgUHJvbWlzZS5hbGwoW2UoIm1lZGl1bS13aWRnZXQtdGFicyIsdCx0aGlzLl9zZWxlY3RUYWIuYmluZCh0aGlzKSx0aGlzLmxheW91dC50YWJzRWwsdGhpcy5fb3B0aW9ucy5nZXRUYWJzVGhlbWUpLHRoaXMuX2NyZWF0ZUNvcHlyaWdodGluZygpXSl9ZWxzZSBhd2FpdCB0aGlzLl9jcmVhdGVDb3B5cmlnaHRpbmcoKTt0aGlzLl9zZWxlY3RUYWIodGhpcy5fc3ltYm9sc1swXS5uYW1lKCkpfV9zZWxlY3RUYWIoZSl7Y29uc3QgdD10aGlzLl9nZXRPckNyZWF0ZVBhZ2UoZSk7dGhpcy5fcGFnZXMuZm9yRWFjaCgoZT0+e2U9PT10PyhlLnJlc3VtZU1hcmtldFN0YXR1cygpLGUuc2hvdygoKCk9Pnt0aGlzLl9vYnNlcnZlQ2hhcnRFbnRyeShlLm1pbmlDaGFydD8uZ2V0Q2hhcnRDb250YWluZXIoKXx8bnVsbCl9KSkpOihlLmhpZGUoKSxlLnBhdXNlTWFya2V0U3RhdHVzKCkpfSkpO2NvbnN0IHM9e2xlZnQ6MH0sbz10LmluZm8ucXVlcnlTZWxlY3RvcigiLnR2LXdpZGdldC1jaGFydF9fdGl0bGUiKSxpPW51bGw9PT1vP251bGw6by5jaGlsZHJlbltvLmNoaWxkcmVuLmxlbmd0aC0xXSxyPSgpPT57Y29uc3QgZT0oMCxnLmVuc3VyZU5vdE51bGwpKGkpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3MubGVmdD1lLmxlZnQrZS53aWR0aCsxNSwoMCxnLmVuc3VyZU5vdE51bGwpKGkpLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNoYW5nZSIsciksbnVsbCE9PXRoaXMuX29uU3ltYm9sQ2hhbmdlJiZ0aGlzLl9vblN5bWJvbENoYW5nZS5maXJlKHQuc3ltYm9sLnNob3J0TmFtZSgpLHMpfTt0aGlzLl9vblN5bWJvbENoYW5nZSYmKG51bGwhPT1vJiZudWxsIT09aSYmIiI9PT1pLmlubmVyVGV4dC50cmltKCk/aS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHIpOm51bGwhPT1vP3IoKTp0aGlzLl9vblN5bWJvbENoYW5nZS5maXJlKHQuc3ltYm9sLnNob3J0TmFtZSgpLHMpKX1fZ2V0T3JDcmVhdGVQYWdlKGUpe2xldCB0PXRoaXMuX3BhZ2VzLmdldChlKTtpZih2b2lkIDA9PT10KXtjb25zdCBzPSgwLGcuZW5zdXJlRGVmaW5lZCkodGhpcy5fc3ltYm9scy5maW5kKCh0PT50Lm5hbWUoKT09PWUpKSksbz17Y2hhcnRPbmx5OkJvb2xlYW4odGhpcy5fb3B0aW9ucy5jaGFydE9ubHkpLGhpZGVEYXRhUmFuZ2VzOkJvb2xlYW4odGhpcy5fb3B0aW9ucy5oaWRlRGF0ZVJhbmdlcyksaGlkZVN5bWJvbExvZ286Qm9vbGVhbih0aGlzLl9vcHRpb25zLmhpZGVTeW1ib2xMb2dvKSxtaW5pQ2hhcnRPcHRpb25zOnRoaXMuX29wdGlvbnMubWluaUNoYXJ0T3B0aW9ucyxzaG93U3ViVGl0bGU6Qm9vbGVhbih0aGlzLl9vcHRpb25zLnNob3dTdWJUaXRsZSksdmFsdWVzVHJhY2tpbmc6dGhpcy5fb3B0aW9ucy52YWx1ZXNUcmFja2luZyxjaGFuZ2VNb2RlOnRoaXMuX29wdGlvbnMuY2hhbmdlTW9kZSxoaWRlTWFya2V0U3RhdHVzOnRoaXMuX29wdGlvbnMuaGlkZU1hcmtldFN0YXR1cyxoZWFkZXJGb250U2l6ZTp0aGlzLl9vcHRpb25zLmhlYWRlckZvbnRTaXplfTt0PW5ldyBwZSh0aGlzLHMsbyksdGhpcy5sYXlvdXQucGFnZXNFbC5hcHBlbmQodC5lbCksdGhpcy5fcGFnZXMuc2V0KGUsdCl9cmV0dXJuIHR9YXN5bmMgX2NyZWF0ZUNvcHlyaWdodGluZygpewppZih0aGlzLl9vcHRpb25zLmhpZGVIZWFkZXIpcmV0dXJuO2NvbnN0e3dpZGdldERlZmF1bHRzOntzdGF0aWNfbG9nbzplLHRpdGxlOnR9fT13aW5kb3cuaW5pdERhdGEscz10aGlzLmxheW91dC5jcENvbnRhaW5lcjtsZXQgbztpZih0aGlzLl9jb3B5cmlnaHRpbmdDb250YWluZXJSZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIoKGU9PntpZihlLmxlbmd0aCl7Y29uc3R7bGVmdDp0LGJvdHRvbTpvLGhlaWdodDppfT1lWzBdLnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxyPXdpbmRvdy5pbm5lckhlaWdodDtzLnN0eWxlLmxlZnQ9YCR7dH1weGAscy5zdHlsZS5ib3R0b209bytpPj1yPyIwIjpgY2FsYygxMDAlIC0gJHtvfXB4KWB9fSkpLGUpbz1mdW5jdGlvbih7bG9nb1NvdXJjZTplLGltYWdlQWx0OnR9KXtjb25zdCBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3MuY2xhc3NMaXN0LmFkZCh4LmNvbnRhaW5lcik7Y29uc3Qgbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTtyZXR1cm4gby5zZXRBdHRyaWJ1dGUoInNyYyIsZSksby5zZXRBdHRyaWJ1dGUoImFsdCIsdCkscy5hcHBlbmRDaGlsZChvKSxzfSh7bG9nb1NvdXJjZTplLnVybCxpbWFnZUFsdDp0fSk7ZWxzZXtjb25zdHtjdXN0b21lcjplLGxvY2FsZTp0LHV0bUluZm86cyxjb3B5cmlnaHRPcHRpb25zOml9PXRoaXMuX29wdGlvbnMscj1hd2FpdCgwLF9lLmdldFdpZGdldFNoZXJpZmZBY3Rpb25zKSgpLG49ci5pbmNsdWRlcyhnZS5Lbm93bkFjdGlvbi5MYXJnZVRyYWRlTG9nbyk/ImxhcmdlX3RyYWRlIjoibmV3IixhPWF3YWl0KDAsVC5nZXRDdXN0b21lckNvcHlyaWdodERhdGEpKGUsdCwoMCxULmFkZFV0bUNhbXBhaWduU291cmNlKShzLCJsb2dvIiksbik7bz0oMCx3LmNyZWF0ZUNvcHlyaWdodExhYmVsKShPYmplY3QuYXNzaWduKHt9LHtob3Jpem9udGFsUG9zaXRpb246dy5Db3B5cmlnaHRQb3NpdGlvbi5Ib3Jpem9udGFsLlN0YXJ0LHNuYXBUb0VkZ2U6ITEsbW9kZTpufSx7c2hlcmlmZk9wdGlvbnM6cn0saSx7Li4uYSx0aGVtZTooMCxfLm1lcmdlVGhlbWVzKShhLnRoZW1lLHllKX0pKX1zLmFwcGVuZChvKX1fb2JzZXJ2ZUNoYXJ0RW50cnkoZSl7dGhpcy5fY29weXJpZ2h0aW5nQ29udGFpbmVyUmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKSxlJiZ0aGlzLl9jb3B5cmlnaHRpbmdDb250YWluZXJSZXNpemVPYnNlcnZlcj8ub2JzZXJ2ZShlKX19dmFyIGJlPXMoNjkwMDk3KSxTZT1zKDIwNTY4KTt2YXIgdmU9cyg3MzUyNzkpO3ZhciBDZT1zKDM4OTI5OCk7ZnVuY3Rpb24gd2UoZSl7Y29uc3QgdD1bXTtmb3IobGV0IHMgb2YgQXJyYXkuaXNBcnJheShlKT9lOltlXSl7bGV0IGUsbztBcnJheS5pc0FycmF5KHMpJiYxPT09cy5sZW5ndGgmJihzPXNbMF0pLCJzdHJpbmciPT10eXBlb2Ygcz9lPXM6QXJyYXkuaXNBcnJheShzKSYmKG89c1swXSxlPXNbMV0pLCJzdHJpbmciPT10eXBlb2YgZSYmZSYmKG8/dC5wdXNoKFtTdHJpbmcobyksZV0pOnQucHVzaChlKSl9cmV0dXJuIHR9Y29uc3QgVGU9d2luZG93LmluaXREYXRhLndpZGdldERlZmF1bHRzLHhlPSgwLG0uZXh0cmFjdFdpZGdldFNldHRpbmdzKShUZSxbXSwoZnVuY3Rpb24oZSx0KXt2b2lkIDAhPT10LnVuZGVyTGluZUJvdHRvbUNvbG9yPyh0LmJvdHRvbUNvbG9yPXQuYm90dG9tQ29sb3J8fHQudW5kZXJMaW5lQm90dG9tQ29sb3IsZGVsZXRlIHQudW5kZXJMaW5lQm90dG9tQ29sb3IpOnZvaWQgMCE9PXQudW5kZXJMaW5lQ29sb3ImJih0LmJvdHRvbUNvbG9yPXQuYm90dG9tQ29sb3J8fHQudW5kZXJMaW5lQ29sb3IpLHZvaWQgMCE9PXQudW5kZXJMaW5lQ29sb3ImJih0LnRvcENvbG9yPXQudG9wQ29sb3J8fHQudW5kZXJMaW5lQ29sb3IsZGVsZXRlIHQudW5kZXJMaW5lQ29sb3IpLHZvaWQgMCE9PXQudHJlbmRMaW5lQ29sb3ImJih0LmxpbmVDb2xvcj10LmxpbmVDb2xvcnx8dC50cmVuZExpbmVDb2xvcixkZWxldGUgdC50cmVuZExpbmVDb2xvciksdm9pZCAwIT09dC5zaG93RmxvYXRpbmdUb29sdGlwJiYodC52YWx1ZXNUcmFja2luZz10LnZhbHVlc1RyYWNraW5nfHwiMSIsZGVsZXRlIHQuc2hvd0Zsb2F0aW5nVG9vbHRpcCksInN0cmluZyI9PXR5cGVvZiB0LnN5bWJvbHMmJih0LnN5bWJvbHM9dC5zeW1ib2xzLnNwbGl0KCIsIikubWFwKChlPT5PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxlKSYmdFtlXT9bZSx0W2VdXTplKSkpfSkpO3RyeXsoMCxDZS50cmFja1dpZGdldExvYWRNZXRhSW5mbykoe3dpZGdldF9pZDoic3ltYm9sLW92ZXJ2aWV3IixzeW1ib2xzOkpTT04uc3RyaW5naWZ5KHhlLnN5bWJvbHMubWFwKChlPT4ic3RyaW5nIj09dHlwZW9mIGU/ZTplW2UubGVuZ3RoLTFdKSkubWFwKChlPT5mdW5jdGlvbihlKXtyZXR1cm4gZS5zcGxpdCgifCIpWzBdfShlKSkpKSxjdXN0b21lcjp4ZS5jdXN0b21lcn0pfWNhdGNoe31jb25zdCBrZT0icmdiYSgzNCwgMTcxLCAxNDgsIDAuNSkiLE5lPSJyZ2JhKDIzOSwgODMsIDgwLCAwLjUpIixMZT0iIzI5NjJmZiI7ZnVuY3Rpb24gRWUoKXsKY29uc3R7Y29sb3JUaGVtZTplLGlzVHJhbnNwYXJlbnQ6dD0hMSxiYWNrZ3JvdW5kQ29sb3I6bT0oImRhcmsiPT09ZT8iIzEzMTcyMiI6IiNGRkYiKSxkYXRlUmFuZ2VzOnAsY29tcGFyZVN5bWJvbDpnLGdyaWRMaW5lQ29sb3I6eSxmb250Q29sb3I6Zix3aWRnZXRGb250Q29sb3I6Yix0YWJzVGhlbWVOYW1lOlMsbG9jYWxlOnYsc2NhbGVQb3NpdGlvbjpDLHNjYWxlTW9kZTp3LGZvbnRGYW1pbHk6VCxmb250U2l6ZTp4LG5vVGltZVNjYWxlOmssc2hvd1ZvbHVtZTpOLHNob3dNQTpMLHZvbHVtZVVwQ29sb3I6RT1rZSx2b2x1bWVEb3duQ29sb3I6TT1OZSxoaWRlRGF0ZVJhbmdlczpQLGhpZGVNYXJrZXRTdGF0dXM6RCxoaWRlU3ltYm9sTG9nbzpSLHZhbHVlc1RyYWNraW5nOkksY2hhbmdlTW9kZTpBPSJwcmljZS1hbmQtcGVyY2VudCIsZGF0ZUZvcm1hdDpPPSJkZCBNTU0gJ3l5Iix0aW1lSG91cnNGb3JtYXQ6Rj0iMjQtaG91cnMiLG1hTGluZUNvbG9yOkI9TGUsbWFMaW5lV2lkdGg6Vj0xLG1hTGVuZ3RoOlU9OSxoZWFkZXJGb250U2l6ZTpXPSJtZWRpdW0ifT14ZTt0fHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoIi0tc3ltYm9sLW92ZXJ2aWV3LWJhY2tncm91bmQtY29sb3IiLG0pO2NvbnN0IHE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1lZGl1bXdpZGdldGVtYmVkIiksSD0obmV3IGQuU3Bpbm5lcikuc3BpbihxKTtzZXRUaW1lb3V0KCgoKT0+SC5zdG9wKCkpLDVlMyk7bGV0IHo9d2UoeGUuc3ltYm9scyk7MD09PXoubGVuZ3RoJiYoej13ZShUZS5zeW1ib2xzKSk7Y29uc3Qgaj0oMCxsLmZpbHRlclV0bUluZm8pKHhlKSxRPXg/TnVtYmVyLnBhcnNlSW50KHgsMTApOjEwO2xldCBLLCQsRyxaLFksSjsiZGFyayI9PT1lPyhLPSgwLHIuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktNzUwIiksJD0oMCxyLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTg1MCIpLEc9KDAsci5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS02MDAiKSxaPVk9KDAsci5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS02NTAiKSxKPSgwLHIuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktMjAwIikpOihLPSgwLHIuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktMjAwIiksJD0oMCxyLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3Itd2hpdGUiKSxHPSgwLHIuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktMzAwIiksWj1ZPSgwLHIuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktMzAwIiksSj0oMCxyLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTkwMCIpKTtjb25zdCBYPXtyaWdodFByaWNlU2NhbGU6e3Zpc2libGU6ITEsZW50aXJlVGV4dE9ubHk6ITB9LGxlZnRQcmljZVNjYWxlOnt2aXNpYmxlOiExLGVudGlyZVRleHRPbmx5OiEwfX07c3dpdGNoKEMpe2Nhc2UibGVmdCI6e2NvbnN0e2xlZnRQcmljZVNjYWxlOmV9PVg7ZS52aXNpYmxlPSEwLGUubW9kZT1vLlByaWNlU2NhbGVNb2RlW3ddO2JyZWFrfWNhc2Uibm8iOmJyZWFrO2RlZmF1bHQ6e2NvbnN0e3JpZ2h0UHJpY2VTY2FsZTplfT1YO2UudmlzaWJsZT0hMCxlLm1vZGU9by5QcmljZVNjYWxlTW9kZVt3XX19bGV0IGVlLHRlO3N3aXRjaCh4ZS5jaGFydFR5cGUpe2Nhc2UibGluZSI6e2NvbnN0e2NoYXJ0VHlwZTplLGNvbG9yOnQsY29sb3JHcm93aW5nOnMsY29sb3JGYWxsaW5nOmksbGluZVR5cGU6bj1vLkxpbmVUeXBlLlNpbXBsZSxsaW5lV2lkdGg6YT0zfT14ZTtlZT17Y2hhcnRUeXBlOmUsY29sb3I6dCxncm93aW5nQ29sb3I6cyxmYWxsaW5nQ29sb3I6aSxsaW5lVHlwZTpuLGxpbmVXaWR0aDphLGNyb3NzaGFpck1hcmtlclZpc2libGU6ITAsY3Jvc3NoYWlyTWFya2VyQm9yZGVyQ29sb3I6JCxwcmVtYXJrZXRMaW5lQ29sb3I6Wixwb3N0bWFya2V0TGluZUNvbG9yOll9LHR8fHN8fGl8fChlZS5ncm93aW5nQ29sb3I9KDAsci5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIpLGVlLmZhbGxpbmdDb2xvcj0oMCxyLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItcmlwZS1yZWQtNTAwIikpO2JyZWFrfWNhc2UiYXJlYSI6e2NvbnN0e2NoYXJ0VHlwZTplLGxpbmVDb2xvcjp0LGxpbmVDb2xvckdyb3dpbmc6cyxsaW5lQ29sb3JGYWxsaW5nOmksdG9wQ29sb3I6bix0b3BDb2xvckdyb3dpbmc6bCx0b3BDb2xvckZhbGxpbmc6Yyxib3R0b21Db2xvcjp1LGJvdHRvbUNvbG9yR3Jvd2luZzpoLGJvdHRvbUNvbG9yRmFsbGluZzpkLGxpbmVUeXBlOm09by5MaW5lVHlwZS5TaW1wbGUsbGluZVdpZHRoOnA9Mn09eGU7ZWU9e2NoYXJ0VHlwZTplLGxpbmVDb2xvcjp0LGdyb3dpbmdMaW5lQ29sb3I6cyxmYWxsaW5nTGluZUNvbG9yOmksdG9wQ29sb3I6bixncm93aW5nVG9wQ29sb3I6bCxmYWxsaW5nVG9wQ29sb3I6Yyxib3R0b21Db2xvcjp1LGdyb3dpbmdCb3R0b21Db2xvcjpoLGZhbGxpbmdCb3R0b21Db2xvcjpkLGNyb3NzaGFpck1hcmtlckJvcmRlckNvbG9yOiQsY3Jvc3NoYWlyTWFya2VyVmlzaWJsZTohMCxsaW5lVHlwZTptLGxpbmVXaWR0aDpwLHByZW1hcmtldExpbmVDb2xvcjpaLHBvc3RtYXJrZXRMaW5lQ29sb3I6WX0sdHx8c3x8aXx8KGVlLmdyb3dpbmdMaW5lQ29sb3I9KDAsci5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIpLGVlLmZhbGxpbmdMaW5lQ29sb3I9KDAsci5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXJpcGUtcmVkLTUwMCIpKSxufHxsfHxjfHwoZWUuZ3Jvd2luZ1RvcENvbG9yPSgwLGEuYXBwbHlBbHBoYSkoKDAsci5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIpLC4xKSxlZS5mYWxsaW5nVG9wQ29sb3I9KDAsYS5hcHBseUFscGhhKSgoMCxyLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItcmlwZS1yZWQtNTAwIiksLjEpKSx1fHxofHxkfHwoZWUuZ3Jvd2luZ0JvdHRvbUNvbG9yPSgwLGEuYXBwbHlBbHBoYSkoKDAsCnIuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1taW50eS1ncmVlbi01MDAiKSwwKSxlZS5mYWxsaW5nQm90dG9tQ29sb3I9KDAsYS5hcHBseUFscGhhKSgoMCxyLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItcmlwZS1yZWQtNTAwIiksMCkpO2JyZWFrfWNhc2UiYmFycyI6e2NvbnN0e2NoYXJ0VHlwZTplLHVwQ29sb3I6dCxkb3duQ29sb3I6c309eGU7ZWU9e2NoYXJ0VHlwZTplLHVwQ29sb3I6dCxkb3duQ29sb3I6c307YnJlYWt9Y2FzZSJjYW5kbGVzdGlja3MiOntjb25zdHtjaGFydFR5cGU6ZSx1cENvbG9yOnQsZG93bkNvbG9yOnMsYm9yZGVyVXBDb2xvcjpvLGJvcmRlckRvd25Db2xvcjppLHdpY2tVcENvbG9yOnIsd2lja0Rvd25Db2xvcjpufT14ZTtlZT17Y2hhcnRUeXBlOmUsdXBDb2xvcjp0LGRvd25Db2xvcjpzLGJvcmRlclVwQ29sb3I6byxib3JkZXJEb3duQ29sb3I6aSx3aWNrVXBDb2xvcjpyLHdpY2tEb3duQ29sb3I6bn07YnJlYWt9fXRlPSIwIiE9PUk/e3ZlcnRMaW5lOnt2aXNpYmxlOiEwLHN0eWxlOm8uTGluZVN0eWxlLlNvbGlkLHdpZHRoOjEsY29sb3I6S30sbW9kZTpvLkNyb3NzaGFpck1vZGUuTWFnbmV0fToiYmFycyI9PT14ZS5jaGFydFR5cGV8fCJjYW5kbGVzdGlja3MiPT09eGUuY2hhcnRUeXBlP3t2ZXJ0TGluZTp7bGFiZWxWaXNpYmxlOiEwLHZpc2libGU6ITAsc3R5bGU6by5MaW5lU3R5bGUuU29saWQsd2lkdGg6MSxjb2xvcjpLfSxob3J6TGluZTp7bGFiZWxWaXNpYmxlOiEwfX06e2hvcnpMaW5lOntsYWJlbFZpc2libGU6ITB9LHZlcnRMaW5lOntsYWJlbFZpc2libGU6ITB9fTtjb25zdCBzZT17Y2hhcnRPbmx5OkJvb2xlYW4oeGUuY2hhcnRPbmx5KSxoaWRlRGF0ZVJhbmdlczpCb29sZWFuKFApLGhpZGVNYXJrZXRTdGF0dXM6Qm9vbGVhbihEKSxoaWRlU3ltYm9sTG9nbzpCb29sZWFuKFIpLGhlYWRlckZvbnRTaXplOlcsdXRtSW5mbzpqLG5vQm9yZGVyOnR8fCgwLGkucGFyc2VSZ2JhKShtKVszXTwxLGxvY2FsZTp4ZS5sb2NhbGUsaGlkZUhlYWRlcjpCb29sZWFuKHhlLndoaXRlbGFiZWwpLHZhbHVlc1RyYWNraW5nOkksY2hhbmdlTW9kZTpBLG1pbmlDaGFydE9wdGlvbnM6e2NoYXJ0T3B0aW9uczp7Y2hhcnQ6e2dyaWQ6e2hvcnpMaW5lczp7Y29sb3I6eX0sdmVydExpbmVzOntjb2xvcjp5fX0sbGF5b3V0Ontmb250RmFtaWx5OlQsdGV4dENvbG9yOmYsZm9udFNpemU6USxhdHRyaWJ1dGlvbkxvZ286ITF9LHRpbWVTY2FsZTp7dmlzaWJsZToha30sY3Jvc3NoYWlyOnRlLGxvY2FsaXphdGlvbjp7bG9jYWxlOigwLG4uZ2V0SXNvTGFuZ3VhZ2VDb2RlRnJvbUxhbmd1YWdlKSh2KX0sLi4uWH0sc2VyaWVzOnsuLi5lZSxzY2FsZU1hcmdpbnM6e3RvcDouMDIsYm90dG9tOi4wNX0sYmFzZUxpbmVDb2xvcjpHfSx2b2x1bWU6e3Zpc2libGU6Tix1cENvbG9yOkUsZG93bkNvbG9yOk19LG1hOnt2aXNpYmxlOkwsY29sb3I6QixsaW5lV2lkdGg6VixsZW5ndGg6VSxjcm9zc2hhaXJNYXJrZXJWaXNpYmxlOiEwLGNyb3NzaGFpck1hcmtlckJvcmRlckNvbG9yOiQscHJpY2VMaW5lVmlzaWJsZTohMSxsYXN0VmFsdWVWaXNpYmxlOiExfSxjb21wYXJlU3ltYm9sOmc/e2NvbG9yOmcubGluZUNvbG9yLGxpbmVXaWR0aDpnLmxpbmVXaWR0aCxzeW1ib2w6Zy5zeW1ib2wsc2hvd0xhYmVsczpnLnNob3dMYWJlbHMsY2hhcnRUeXBlOiJsaW5lIixwcmljZUxpbmVWaXNpYmxlOiExLGxhc3RWYWx1ZVZpc2libGU6ITF9OnZvaWQgMCxkYXRlRm9ybWF0Ok8sdGltZUhvdXJzRm9ybWF0OkYsc3VwcHJlc3NUaWNrTWFya3M6e2RheUFuZFRpbWVUaWNrTWFya0ZpeEVuYWJsZWQ6ITB9fSxvbkZpcnN0RGF0YSgpe0guc3RvcCgpfSx0aW1lZnJhbWU6e2dldFRoZW1lOlM/KCk9PmFzeW5jIGZ1bmN0aW9uKGUpe3JldHVybiJsZW50YXJ1Ij09PWU/UHJvbWlzZS5hbGwoW3MuZSgxMzM5Mikscy5lKDUyNjk5KV0pLnRoZW4ocy50LmJpbmQocyw3NTY1MDUsMjMpKS50aGVuKChlPT4oMCxfLm1lcmdlVGhlbWVzKSh2ZS5ERUZBVUxUX1RJTUVfRlJBTUVfSVRFTV9USEVNRSxlKSkpOnZlLkRFRkFVTFRfVElNRV9GUkFNRV9JVEVNX1RIRU1FfShTKTp2b2lkIDAsb3B0aW9uczpwPy5tYXAoKGU9Pntjb25zdFt0LHNdPWUuc3BsaXQoInwiKTtyZXR1cm57Li4uY1siMWQiPT09dD8ibGFzdHNlc3Npb24iOnRdLHRhcmdldFJlc29sdXRpb246c319KSl8fCgwLHUuZ2V0TWVkaXVtVGltZUZyYW1lT3B0aW9ucykoaC5NZWRpdW1UaW1lRnJhbWVPcHRpb25zTW9kZS5Vc2VMYXN0U2Vzc2lvbil9fSxnZXRUYWJzVGhlbWU6KCk9PmFzeW5jIGZ1bmN0aW9uKGUpe2NvbnN0IHQ9KDAsXy5tZXJnZVRoZW1lcykoYmUuZGVmYXVsdFRoZW1lLFNlKTtyZXR1cm4ibGVudGFydSI9PT1lP1Byb21pc2UuYWxsKFtzLmUoMTIxMSkscy5lKDY5MDgzKV0pLnRoZW4ocy50LmJpbmQocyw2MjY3MjAsMjMpKS50aGVuKChlPT4oMCxfLm1lcmdlVGhlbWVzKSh0LGUpKSk6dH0oUyksZm9udENvbG9yOmJ8fEosZm9udEZhbWlseTpUfTtuZXcgZmUocSx6LHNlKX19LDYxOTk5MihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtpc1RpY2tzRW5hYmxlZDooKT0+aX0pO3ZhciBvPXMoMzE4OTc0KTtzKDkzMDIzMSk7ZnVuY3Rpb24gaSgpe3JldHVybiEoMCxvLm9uV2lkZ2V0KSgpfX0sNjk5NTUwKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1F1b3Rlc1Byb3ZpZGVyOigpPT5sfSk7dmFyIG89cygyMzIzNjQpLGk9cyg0MDIwNDUpLHI9cygxNTk1MTMpLG49cyg5NDgzODApLGE9cygxNTAxNTApO2NsYXNzIGx7Y29uc3RydWN0b3IoZT0iZnVsbCIsdCl7dGhpcy5fcXVvdGVzPW5ldyBpLldhdGNoZWRPYmplY3QobnVsbCksdGhpcy5fcXVvdGVTZXNzaW9uU3ltYm9sPW51bGwsdGhpcy5fcXVvdGVTZXNzaW9uQ2xpZW50SWQ9IiIsdGhpcy5fcGF1c2VkUXVvdGVTZXNzaW9uU3ltYm9sPW51bGwsdGhpcy5fcXVvdGVzVXBkYXRlPW5ldyBuLkRlbGVnYXRlLHRoaXMuX3F1b3RlU3ltYm9sQ2hhbmdlZD1uZXcgbi5EZWxlZ2F0ZSx0aGlzLl9jb21wbGV0ZWQ9bmV3IG8uV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9tdWx0aXBsZXhlclR5cGU9ZSwKdGhpcy5faGliZXJuYXRlZD10LHRoaXMuX2hpYmVybmF0ZWQ/LnN1YnNjcmliZSgoZT0+e2U/dGhpcy5wYXVzZSgpOnRoaXMucmVzdW1lKCl9KSl9c2V0UXVvdGVzU2Vzc2lvblN5bWJvbChlKXt0aGlzLl9xdW90ZVNlc3Npb25TeW1ib2whPT1lJiYodGhpcy5fcGF1c2VkUXVvdGVTZXNzaW9uU3ltYm9sPW51bGwsdGhpcy5fcXVvdGVTZXNzaW9uQ2xpZW50SWR8fCh0aGlzLl9xdW90ZVNlc3Npb25DbGllbnRJZD0ic2VyaWVzLSIrKDAsYS5ndWlkKSgpKSx0aGlzLl91bnN1YnNjcmliZVF1b3RlU2Vzc2lvbigpLHRoaXMuX3F1b3RlU2Vzc2lvblN5bWJvbD1lLHRoaXMuX3F1b3RlU3ltYm9sQ2hhbmdlZC5maXJlKCksZSYmdGhpcy5fc3Vic2NyaWJlUXVvdGVTZXNzaW9uKGUpKX1zeW1ib2woKXtyZXR1cm4gdGhpcy5fcXVvdGVTZXNzaW9uU3ltYm9sfXF1b3Rlc1VwZGF0ZSgpe3JldHVybiB0aGlzLl9xdW90ZXNVcGRhdGV9cXVvdGVTeW1ib2xDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3F1b3RlU3ltYm9sQ2hhbmdlZH1xdW90ZXMoKXtyZXR1cm4gdGhpcy5fcXVvdGVzLnJlYWRvbmx5KCl9Y29tcGxldGVkKCl7cmV0dXJuIHRoaXMuX2NvbXBsZXRlZC5yZWFkb25seSgpfWFzeW5jIHF1b3Rlc1NuYXBzaG90KGUpe3JldHVybigwLHIuZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKCJzaW1wbGUiKS5zbmFwc2hvdChlKX1pc1BhdXNlZCgpe3JldHVybiBudWxsIT09dGhpcy5fcGF1c2VkUXVvdGVTZXNzaW9uU3ltYm9sfXBhdXNlKCl7bnVsbD09PXRoaXMuX3BhdXNlZFF1b3RlU2Vzc2lvblN5bWJvbCYmKHRoaXMuX3BhdXNlZFF1b3RlU2Vzc2lvblN5bWJvbD10aGlzLl9xdW90ZVNlc3Npb25TeW1ib2wsdGhpcy5fdW5zdWJzY3JpYmVRdW90ZVNlc3Npb24oKSl9cmVzdW1lKCl7bnVsbCE9PXRoaXMuX3BhdXNlZFF1b3RlU2Vzc2lvblN5bWJvbCYmKHRoaXMuX3N1YnNjcmliZVF1b3RlU2Vzc2lvbih0aGlzLl9wYXVzZWRRdW90ZVNlc3Npb25TeW1ib2wpLHRoaXMuX3BhdXNlZFF1b3RlU2Vzc2lvblN5bWJvbD1udWxsKX1kZXN0cm95KCl7dGhpcy5fdW5zdWJzY3JpYmVRdW90ZVNlc3Npb24oKSx0aGlzLl9oaWJlcm5hdGVkPy5yZWxlYXNlKCl9X29uVXBkYXRlKGUsdCl7dGhpcy5fcXVvdGVzLnNldFZhbHVlKGU/LnZhbHVlcz8/bnVsbCksdCYmdC52YWx1ZXMmJnRoaXMuX3F1b3Rlc1VwZGF0ZS5maXJlKGUsdCksdm9pZCAwIT09ZS5jb21wbGV0ZSYmdGhpcy5fY29tcGxldGVkLnNldFZhbHVlKCEwKX1fc3Vic2NyaWJlUXVvdGVTZXNzaW9uKGUpe3RoaXMuX3F1b3RlU2Vzc2lvblN5bWJvbD1lLCgwLHIuZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKHRoaXMuX211bHRpcGxleGVyVHlwZSkuc3Vic2NyaWJlKHRoaXMuX3F1b3RlU2Vzc2lvbkNsaWVudElkLHRoaXMuX3F1b3RlU2Vzc2lvblN5bWJvbCx0aGlzLl9vblVwZGF0ZS5iaW5kKHRoaXMpKX1fdW5zdWJzY3JpYmVRdW90ZVNlc3Npb24oKXt0aGlzLl9xdW90ZVNlc3Npb25TeW1ib2wmJigoMCxyLmdldFF1b3RlU2Vzc2lvbkluc3RhbmNlKSh0aGlzLl9tdWx0aXBsZXhlclR5cGUpLnVuc3Vic2NyaWJlKHRoaXMuX3F1b3RlU2Vzc2lvbkNsaWVudElkLHRoaXMuX3F1b3RlU2Vzc2lvblN5bWJvbCksdGhpcy5fcXVvdGVTZXNzaW9uU3ltYm9sPW51bGwsdGhpcy5fcXVvdGVzLnNldFZhbHVlKG51bGwpLHRoaXMuX2NvbXBsZXRlZC5zZXRWYWx1ZSghMSkpfX19LDEyODk5OChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHthY3R1YWxTeW1ib2w6KCk9PmQsY3JlYXRlU2VyaWVzRm9ybWF0dGVyOigpPT5oLGdldFN5bWJvbERlbGF5U2Vjb25kczooKT0+Xyxpc0Nsb3NlQmFzZWRTeW1ib2w6KCk9PnAsaXNGdXR1cmVzQ29udHJhY3RTeW1ib2w6KCk9PmcsaXNITENCYXNlZFN0eWxlOigpPT51LGlzUmVndWxhclNlc3Npb25JZDooKT0+bSxpc1NpbmdsZVZhbHVlQmFzZWRTdHlsZTooKT0+Y30pO3MoMTg1MjcxKTt2YXIgbz1zKDkzMDIzMSksaT0ocyg5MzA1NjYpLHMoMzE4OTc0KSxzKDE1NjgyOSkpLHI9KHMoNzk4MzgpLHMoNzU1NjI3KSksbj1zKDk4NDM3NiksYT1zKDEyNTIxOCk7cygzMTQ5MTQpOygwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiksKDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV9vYmplY3RfdHJlZV9hbmRfcHJpY2Vfc2NhbGVfZXhjaGFuZ2VfbGFiZWwiKTt2YXIgbDshZnVuY3Rpb24oZSl7ZS5MYXN0VXNlZFN0eWxlS2V5PSJjaGFydC5sYXN0VXNlZFN0eWxlIixlLkxhc3RVc2VkU2luZ2xlVmFsdWVCYXNlZFN0eWxlPSJjaGFydC5sYXN0VXNlZFNpbmdsZVZhbHVlQmFzZWRTdHlsZSIsZS5MYXN0VXNlZFJhd0RhdGFTdHlsZT0iY2hhcnQucmF3RGF0YVN0eWxlIixlLkxhc3RVc2VkTWV0cmljPSJjaGFydC5sYXN0VXNlZE1ldHJpYyJ9KGx8fChsPXt9KSk7ZnVuY3Rpb24gYyhlKXtzd2l0Y2goZSl7Y2FzZSAzOmNhc2UgMTA6Y2FzZSAyOmNhc2UgMTQ6Y2FzZSAxNTpjYXNlIDEzOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIHUoZSl7c3dpdGNoKGUpe2Nhc2UgMTY6Y2FzZSAyMTpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX1mdW5jdGlvbiBoKGUsdCxzPSExKXtjb25zdHtwcmljZVNjYWxlOm8sbWluTW92ZTppLGZyYWN0aW9uYWw6bCxtaW5Nb3ZlMjpjLHZhcmlhYmxlTWluVGljazp1LG5vRXhwb25lbnRpYWxGb3JtOmh9PWZ1bmN0aW9uKGUsdD0iZGVmYXVsdCIscz0hMSl7bGV0IG8saSxyLG4sYT0xMDAsbD0xO2lmKCJkZWZhdWx0Ij09PXQpbnVsbCE9ZSYmKCh7cHJpY2VzY2FsZTphLG1pbm1vdjpsLG1pbm1vdmUyOmksZnJhY3Rpb25hbDpvfT1lKSxyPWUudmFyaWFibGVfdGlja19zaXplfHx2b2lkIDApO2Vsc2V7bGV0IGU9dC5zcGxpdCgiLCIpOzMhPT1lLmxlbmd0aCYmKGU9WyIxMDAiLCIxIiwiZmFsc2UiXSksYT1wYXJzZUludChlWzBdKSxsPXBhcnNlSW50KGVbMV0pLG89InRydWUiPT09ZVsyXSxuPSEwfXJldHVybiBzJiYobD0xKSx7cHJpY2VTY2FsZTphLG1pbk1vdmU6bCxmcmFjdGlvbmFsOm8sbWluTW92ZTI6aSx2YXJpYWJsZU1pblRpY2s6cixpZ25vcmVNaW5Nb3ZlOnMsCm5vRXhwb25lbnRpYWxGb3JtOm59fShlLHQscyk7aWYobnVsbCE9ZSl7Y29uc3Qgcj1lLmZvcm1hdDtpZigiZGVmYXVsdCI9PT10JiYidm9sdW1lIj09PXIpcmV0dXJuIG5ldyBuLlZvbHVtZUZvcm1hdHRlcih7cHJlY2lzaW9uOjJ9KTtpZigicGVyY2VudCI9PT1yKXJldHVybiBuZXcgYS5QZXJjZW50YWdlRm9ybWF0dGVyKHtwcmljZVNjYWxlOm8sbWluTW92ZTppLGZyYWN0aW9uYWw6bCxtaW5Nb3ZlMjpjLHZhcmlhYmxlTWluVGljazp1LGlnbm9yZU1pbk1vdmU6c30pfXJldHVybiBuZXcgci5QcmljZUZvcm1hdHRlcih7cHJpY2VTY2FsZTpvLG1pbk1vdmU6aSxmcmFjdGlvbmFsOmwsbWluTW92ZTI6Yyx2YXJpYWJsZU1pblRpY2s6dSxpZ25vcmVNaW5Nb3ZlOnMsbm9FeHBvbmVudGlhbEZvcm06aH0pfWZ1bmN0aW9uIGQoZSx0KXtyZXR1cm4gbnVsbCE9PWU/ZS5mdWxsX25hbWU6dH1mdW5jdGlvbiBtKGUsdCl7d2luZG93O3JldHVyblsic3RvY2siLCJmdW5kIiwiaW5kZXgiLCJkciJdLmluY2x1ZGVzKHQudHlwZSkmJiJyZWd1bGFyIj09PWV8fCgwLGkuaXNGdXR1cmVzKSh0LnR5cGUpJiYidXNfcmVndWxhciI9PT1lfWZ1bmN0aW9uIHAoZSl7cmV0dXJuImMiPT09ZT8udmlzaWJsZV9wbG90c19zZXR9ZnVuY3Rpb24gZyhlKXtyZXR1cm4gbnVsbCE9PWUmJigwLGkuaXNGdXR1cmVzKShlLnR5cGUpJiYhQm9vbGVhbihlLnR5cGVzcGVjcz8uaW5jbHVkZXMoImNvbnRpbnVvdXMiKSl9ZnVuY3Rpb24gXyhlKXtyZXR1cm4gTWF0aC5tYXgoMCxlPy5kZWxheT8/MCl9fSw5MTEzMjcoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Z2V0U3ltYm9sUGFnZVBhdGg6KCk9PmF9KTtzKDk2MzkwMCkscygzMDk4MzYpO3ZhciBvPXMoODUxNDU4KSxpPXMoMTU2ODI5KTtjb25zdCByPW5ldyBTZXQoWyJTUDpTUFgiLCJDQk9FOlNQWCJdKTtmdW5jdGlvbiBuKGUpe2NvbnN0IHQ9ey4uLmV9O2lmKCJzcHJlYWQiPT09dC50eXBlfHwiZXhwcmVzc2lvbiI9PT10LnR5cGUpe2NvbnN0IGU9dC5zaG9ydE5hbWUmJmwodC5zaG9ydE5hbWUpLHM9dC5wcm9OYW1lJiZsKHQucHJvTmFtZSk7dC50eXBlPXZvaWQgMCx0LnNob3J0TmFtZT1lLHQucHJvTmFtZT1zfXJldHVybiB0fWZ1bmN0aW9uIGEoZSx0KXtjb25zdCBzPW4oZSk7cmV0dXJuIHUoaChzLHQpLGMocykpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuKDAsby50b2tlbml6ZSkoZSkuZmluZCgoZT0+InN5bWJvbCI9PT1lLnR5cGUpKT8udmFsdWV9ZnVuY3Rpb24gYyhlKXtjb25zdCB0PXtzaG9ydE5hbWU6ZS5zaG9ydE5hbWUsZXhjaGFuZ2U6ZS5leGNoYW5nZSxwcm9OYW1lOmUucHJvTmFtZSx0eXBlOmUudHlwZSx0eXBlc3BlY3M6ZS50eXBlc3BlY3Mscm9vdDplLnJvb3R9O3JldHVybiB0LnByb05hbWUmJnQucHJvTmFtZS5pbmNsdWRlcygiOiIpJiYoW3QuZXhjaGFuZ2UsdC5zaG9ydE5hbWVdPXQucHJvTmFtZS5zcGxpdCgiOiIpKSx0fWZ1bmN0aW9uIHUoZSx0KXtjb25zdCBzPWVuY29kZVVSSUNvbXBvbmVudCh0LnNob3J0TmFtZXx8IiIpLG89ZW5jb2RlVVJJQ29tcG9uZW50KHQuZXhjaGFuZ2V8fCIiKSxpPWVuY29kZVVSSUNvbXBvbmVudCh0LnByb05hbWV8fCIiKSxyPWVuY29kZVVSSUNvbXBvbmVudCh0LnJvb3R8fCIiKTtyZXR1cm4gZS5yZXBsYWNlKCJ7dHZleGNoYW5nZX0iLG8pLnJlcGxhY2UoInt0dnN5bWJvbH0iLHMpLnJlcGxhY2UoInt0dnByb3N5bWJvbH0iLGkpLnJlcGxhY2UoInt0dnJvb3R9IixyKX1mdW5jdGlvbiBoKGUsdD0iIil7Y29uc3Qgcz1jKGUpLHt0eXBlOm8sdHlwZXNwZWNzOm4sc2hvcnROYW1lOmEscHJvTmFtZTpsLGV4Y2hhbmdlOnUscm9vdDpofT1zO3JldHVybiB2b2lkIDA9PT1hJiZ2b2lkIDA9PT1sPyhjb25zb2xlLndhcm4oIlBhcmFtcyBtaXNzZWQiKSwiLyIpOmwmJnIuaGFzKGwpP2Avc3ltYm9scy97dHZzeW1ib2x9LyR7dH1gOm98fG4/ImNvbW1vZGl0eSI9PT1vJiZuJiZuLmluY2x1ZGVzKCJjZmQiKT8iL3N5bWJvbHMve3R2c3ltYm9sfS8/ZXhjaGFuZ2U9e3R2ZXhjaGFuZ2V9IjohaHx8IW58fCJmdXR1cmVzIiE9PW98fG4uaW5jbHVkZXMoImNvbnRpbnVvdXMiKSYmYT8uZW5kc1dpdGgoIjEhIil8fG4uaW5jbHVkZXMoImV4Y2hhbmdlLWNvbnRpbnVvdXMiKT91JiYoImZvcmV4Ij09PW98fG4mJigwLGkuaGFzQ3J5cHRvVHlwZXNwZWMpKG4pKT8iL3N5bWJvbHMve3R2c3ltYm9sfS8/ZXhjaGFuZ2U9e3R2ZXhjaGFuZ2V9Ijp1P2Avc3ltYm9scy97dHZleGNoYW5nZX0te3R2c3ltYm9sfS8ke3R9YDpgL3N5bWJvbHMve3R2c3ltYm9sfS8ke3R9YDpgL3N5bWJvbHMve3R2ZXhjaGFuZ2V9LXt0dnJvb3R9MSEvJHt0fT9jb250cmFjdD17dHZzeW1ib2x9YDp1P2Avc3ltYm9scy97dHZleGNoYW5nZX0te3R2c3ltYm9sfS8ke3R9YDpgL3N5bWJvbHMve3R2c3ltYm9sfS8ke3R9YH19LDczMDY0NShlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSl7Y29uc3QgdD1uZXcgVVJMKGUsZG9jdW1lbnQuYmFzZVVSSSk7cmV0dXJuIG4odCkmJnIodCkmJmkodCl9cy5kKHQse2lzSW50ZXJuYWxIb3N0OigpPT5hLGlzSW50ZXJuYWxVcmw6KCk9Pm8saXNUdkxpbms6KCk9Pmx9KTtjb25zdCBpPWU9PiFlLnVzZXJuYW1lLHI9ZT0+Imh0dHA6Ij09PWUucHJvdG9jb2x8fCJodHRwczoiPT09ZS5wcm90b2NvbCxuPWU9PmUuaG9zdG5hbWU9PT1sb2NhdGlvbi5ob3N0bmFtZXx8IS9eXGQrXC5cZCtcLlxkK1wuXGQrJC8udGVzdChlLmhvc3RuYW1lKSYmYShlLmhvc3RuYW1lKTtmdW5jdGlvbiBhKGUsdD13aW5kb3cubG9jYXRpb24uaG9zdG5hbWUpe2NvbnN0IHM9Ii4iPT09dC5zbGljZSgtMSk/MzoyLG89dC50b0xvd2VyQ2FzZSgpLnNwbGl0KCIuIikuc2xpY2UoLXMpLGk9ZS50b0xvd2VyQ2FzZSgpLnNwbGl0KCIuIikuc2xpY2UoLW8ubGVuZ3RoKTtyZXR1cm4gby5qb2luKCIuIik9PT1pLmpvaW4oIi4iKX1mdW5jdGlvbiBsKGUpe3RyeXtyZXR1cm4gZS5zdGFydHNXaXRoKCIvIil8fGEobmV3IFVSTChlKS5ob3N0bmFtZSwidHJhZGluZ3ZpZXcuY29tIil9Y2F0Y2h7cmV0dXJuITF9fX0sMzA5ODM2KGUsdCxzKXsidXNlIHN0cmljdCI7cyg2MDE1ODcpCn0sNjAxNTg3KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2J1aWxkVXRtUXVlcnlTdHJpbmc6KCk9PmEsYnVpbGRVdG1RdWVyeVN0cmluZ0Zyb21VcmxQYXJhbXM6KCk9PmwsZmlsdGVyVXRtSW5mbzooKT0+bn0pO3ZhciBvPXMoNDkyNjc3KSxpPXMoNjQxNTkzKTtjb25zdCByPVsidXRtX3NvdXJjZSIsInV0bV9tZWRpdW0iLCJ1dG1fY2FtcGFpZ24iXTtmdW5jdGlvbiBuKGUpe2NvbnN0IHQ9e307cmV0dXJuIHIuZm9yRWFjaCgocz0+e2NvbnN0IG89ZVtzXTsic3RyaW5nIj09dHlwZW9mIG8mJiIiIT09byYmKHRbc109KDAsaS5odG1sRXNjYXBlKShvKSl9KSksdH1mdW5jdGlvbiBhKGUsdD0hMSl7Y29uc3Qgcz0oMCxvLmNyZWF0ZVVybFBhcmFtcykoZSk7cmV0dXJuIHMmJnQ/Ij8iK3M6c31mdW5jdGlvbiBsKGUpe3JldHVybiBhKG4oKDAsby5nZXRVcmxQYXJhbXMpKCkpLGUpfX0sOTM1MShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMy45MiA3LjgzIDkgMTIuMjlsNS4wOC00LjQ2LTEtMS4xM0w5IDEwLjI5bC00LjA5LTMuNi0uOTkgMS4xNFoiLz48L3N2Zz4nfSwyMjEwNjEoZSx0LHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgbztzLmQodCx7TE9HTEVWRUw6KCk9Pm8sZ2V0TG9nSGlzdG9yeTooKT0+ZyxnZXRMb2dnZXI6KCk9PnksZ2V0UmF3TG9nSGlzdG9yeTooKT0+bSxpc0hpZ2hSYXRlRW5hYmxlZDooKT0+ZCxzZXJpYWxpemVMb2dIaXN0b3J5RW50cnk6KCk9PnB9KSxmdW5jdGlvbihlKXtlW2UuRVJST1I9MV09IkVSUk9SIixlW2UuV0FSTklORz0yXT0iV0FSTklORyIsZVtlLklORk89M109IklORk8iLGVbZS5OT1JNQUw9NF09Ik5PUk1BTCIsZVtlLkRFQlVHPTVdPSJERUJVRyJ9KG98fChvPXt9KSk7bGV0IGk9MDtjb25zdCByPVtdO2xldCBuPW51bGwsYT1udWxsLGw9bnVsbCxjPW51bGwsdT1vLldBUk5JTkcsaD0hMTtmdW5jdGlvbiBkKCl7cmV0dXJuIGh9ZnVuY3Rpb24gbShlLHQpe2xldCBzPXIucmVkdWNlKCgoZSx0KT0+ZS5jb25jYXQodCkpLFtdKTtyZXR1cm4gcy5zb3J0KCgoZSx0KT0+ZS5pZC10LmlkKSksdm9pZCAwIT09dCYmKHM9cy5maWx0ZXIoKGU9PmUuc3ViU3lzdGVtSWQ9PT10KSkpLCJudW1iZXIiPT10eXBlb2YgZSYmKHM9cy5zbGljZSgtZSkpLHN9ZnVuY3Rpb24gcChlKXtyZXR1cm4gbmV3IERhdGUoZS50aW1lc3RhbXApLnRvSVNPU3RyaW5nKCkrIjoiK2Uuc3ViU3lzdGVtSWQrIjoiK2UubWVzc2FnZS5yZXBsYWNlKC8iL2csIiciKX1jb25zdCBnPShlLHQpPT5mdW5jdGlvbihlLHQpe2xldCBzLG89MCxpPTA7Zm9yKHM9ZS5sZW5ndGgtMTtzPj0xJiYobys9OCooMStlbmNvZGVVUklDb21wb25lbnQoZVtzXSkubGVuZ3RoKSwhKHMtMT4wJiYoaT04KigxK2VuY29kZVVSSUNvbXBvbmVudChlW3MtMV0pLmxlbmd0aCksbytpPnQpKSk7cy0tKTtyZXR1cm4gZS5zbGljZShzKX0obShlLHQpLm1hcChwKSw3NTQ5NzQ3Mik7ZnVuY3Rpb24gXyhlLHQscyxyLGgpe2lmKHQ9PT1hJiZyLmlkPT09bClyZXR1cm47Y29uc3QgbT1uZXcgRGF0ZTtpZihlPD1vLk5PUk1BTCYmZnVuY3Rpb24oZSx0LHMsbyxyLG4peyJmdW5jdGlvbiI9PXR5cGVvZiBzdHJ1Y3R1cmVkQ2xvbmUmJih0PXN0cnVjdHVyZWRDbG9uZSh0KSksdD10LnNsaWNlKDAsbj8/MWUzKTtjb25zdCBhPXtpZDppLG1lc3NhZ2U6dCxzdWJTeXN0ZW1JZDpvLHRpbWVzdGFtcDpOdW1iZXIoZSl9O2krPTEscy5wdXNoKGEpLHZvaWQgMCE9PXImJnMubGVuZ3RoPnImJnMuc3BsaWNlKDAsMSl9KG0sdCxzLHIuaWQsci5tYXhDb3VudCxoKSxlPD11JiYoIXIuaGlnaFJhdGV8fGQoKSkmJighbnx8ci5pZC5tYXRjaChuKSkpe2NvbnN0IHM9bS50b0lTT1N0cmluZygpKyI6IityLmlkKyI6Iit0O3N3aXRjaChlKXtjYXNlIG8uREVCVUc6Y29uc29sZS5kZWJ1ZyhzKTticmVhaztjYXNlIG8uSU5GTzpjYXNlIG8uTk9STUFMOnIuY29sb3I/Y29uc29sZS5sb2coIiVjIitzLCJjb2xvcjogIityLmNvbG9yKTpjb25zb2xlLmxvZyhzKTticmVhaztjYXNlIG8uV0FSTklORzpjb25zb2xlLndhcm4ocyk7YnJlYWs7Y2FzZSBvLkVSUk9SOmNvbnNvbGUuZXJyb3Iocyl9YT10LGw9ci5pZCxudWxsIT09YyYmY2xlYXJUaW1lb3V0KGMpLGM9c2V0VGltZW91dCgoKCk9PnthPW51bGwsbD1udWxsLGM9bnVsbH0pLDFlMyl9fWZ1bmN0aW9uIHkoZSx0PXt9KXtjb25zdCBzPVtdO3IucHVzaChzKTtjb25zdCBpPU9iamVjdC5hc3NpZ24odCx7aWQ6ZX0pO2Z1bmN0aW9uIG4oZSl7cmV0dXJuKHQsbyk9Pl8oZSxTdHJpbmcodCkscyxpLG8pfXJldHVybntsb2dEZWJ1ZzpuKG8uREVCVUcpLGxvZ0Vycm9yOm4oby5FUlJPUiksbG9nSW5mbzpuKG8uSU5GTyksbG9nTm9ybWFsOm4oby5OT1JNQUwpLGxvZ1dhcm46bihvLldBUk5JTkcpfX19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/17087.a5eaeb30f7d269f97b41.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.972Z","timestamp":1785120633972,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/17087.a5eaeb30f7d269f97b41.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-42b\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 7a97ef079b82699026d51ba3aa8d4888\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1067,"size_decoded":1275,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1067), with no line terminators","md5":"aea2379787588b2971ae93e1d08d1a76","sha1":"53a871c666693bc64ceee27711d27c2da35b8e8c","sha256":"3f0a48597dbd15d013833ffec5807ed9172b4072ca308dd16df1be793bcb6f34","sha512":"596f5b4924bfab46ac651687876c9a32ee13e028d0057c8165ce38a28d0049e29f55a5ea96f247401e43f0a6f2a6c054ea0b6e8eadca7d7ba33b29c3145d0cf1","ssdeep":"","tlshash":"6a111f148180f63dbd23f22087a0578a3279745199976e9eed0de17141cfbf52ba5cdc","first_seen":"2026-07-16T20:48:56.383088Z","last_seen":"2026-07-27T05:29:38.910048Z","times_seen":188,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtbEhsRzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLWxIbEc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTk1MCl9LndyYXAtaWlpMTE4b057Ym90dG9tOjA7ZGlzcGxheTpmbGV4O2luc2V0LWlubGluZS1lbmQ6MDtpbnNldC1pbmxpbmUtc3RhcnQ6MDtwb3NpdGlvbjpmaXhlZDt0b3A6MDt6LWluZGV4OjB9LndyYXAtaWlpMTE4b04ucG9zaXRpb25Cb3R0b20taWlpMTE4b057YWxpZ24taXRlbXM6ZmxleC1lbmR9LmJhY2tkcm9wLWlpaTExOG9Oe2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAtbEhsRyk7Ym90dG9tOjA7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6Ljc7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9LmRyYXdlci1paWkxMThvTntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWJhY2tncm91bmQsdmFyKC0tY29sb3ItcG9wdXAtYmFja2dyb3VuZCkpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjZweCAwOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpO3otaW5kZXg6MX0uZHJhd2VyLWlpaTExOG9OLnBvc2l0aW9uTGVmdC1paWkxMThvTnttYXJnaW4taW5saW5lLWVuZDo0MHB4O21heC13aWR0aDpjYWxjKDEwMCUgLSA0MHB4KTttaW4td2lkdGg6MjYwcHh9LmRyYXdlci1paWkxMThvTi5wb3NpdGlvbkJvdHRvbS1paWkxMThvTntib3JkZXItc3RhcnQtZW5kLXJhZGl1czo2cHg7Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czo2cHg7ZmxleC1iYXNpczoxMDAlO21hcmdpbi10b3A6dmFyKC0tZHJhd2VyLW1hcmdpbi10b3AtZGlzdGFuY2UsMTAwcHgpO21heC1oZWlnaHQ6Y2FsYygxMDAlIC0gdmFyKC0tZHJhd2VyLW1pbi10b3AtZGlzdGFuY2UsIDEwMHB4KSk7b3ZlcmZsb3c6YXV0b30uZHJhd2VyLWlpaTExOG9OOmZvY3Vze291dGxpbmU6bm9uZX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"tvc-invdn-cf-com.investing.com/tool/1.12.10/static/bundles/library.3a1dac88649135c71a7d.js","fqdn":"tvc-invdn-cf-com.investing.com","domain":"investing.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://tvc-invdn-cf-com.investing.com/tool/1.12.10/static/tv-chart.e816a7a6edc9de3ed709.html#localserver=1\u0026symbol=945629\u0026interval=5\u0026studiesAccess=%7B%22type%22%3A%22black%22%2C%22tools%22%3A%5B%7B%22name%22%3A%22Correlation%20Coeff%22%2C%22grayed%22%3Afalse%7D%5D%7D\u0026widgetbar=%7B%22details%22%3Afalse%2C%22watchlist%22%3Afalse%2C%22watchlist_settings%22%3A%7B%22default_symbols%22%3A%5B%5D%7D%7D\u0026drawingsAccess=%7B%22type%22%3A%22black%22%2C%22tools%22%3A%5B%7B%22name%22%3A%22Regression%20Trend%22%2C%22grayed%22%3Afalse%7D%5D%7D\u0026timeFrames=%5B%7B%22text%22%3A%2210y%22%2C%22resolution%22%3A%22M%22%7D%2C%7B%22text%22%3A%223y%22%2C%22resolution%22%3A%22W%22%7D%2C%7B%22text%22%3A%221y%22%2C%22resolution%22%3A%22W%22%7D%2C%7B%22text%22%3A%223m%22%2C%22resolution%22%3A%22D%22%7D%2C%7B%22text%22%3A%221m%22%2C%22resolution%22%3A%22300%22%7D%2C%7B%22text%22%3A%227d%22%2C%22resolution%22%3A%2260%22%7D%2C%7B%22text%22%3A%221d%22%2C%22resolution%22%3A%2215%22%7D%5D\u0026locale=ru\u0026uid=tradingview_52714\u0026clientId=0\u0026userId=0\u0026chartsStorageVer=1.0\u0026customCSS=https%3A%2F%2Ftvc-invdn-cf-com.investing.com%2Ftool%2F1.12.10%2Fcustom.css\u0026debug=false\u0026snapshotUrl=https%3A%2F%2Fssltvc.forexprostools.com%2Fcc6698fccca44e51b088d9ddbbcf8ec8%2F1785120633%2F7%2F7%2F17%2Fsnapshot\u0026timezone=Europe%2FMoscow","date":"2026-07-27T02:50:34.635Z","timestamp":1785120634635,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /tool/1.12.10/static/bundles/library.3a1dac88649135c71a7d.js HTTP/1.1\r\nHost: tvc-invdn-cf-com.investing.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://tvc-invdn-cf-com.investing.com/tool/1.12.10/static/tv-chart.e816a7a6edc9de3ed709.html\r\nCookie: __cf_bm=h6SAR28kd_QbNop_COMOHghDdlytG1dix_NDRXPGmD4-1785120634.5691435-1.0.1.1-s4ne_iKLzdjYKinGlFUaklT6ynKOQcbwbTfQ9Ee2VWc6HnktRWLJU5i.P2cm15_MZLMVhgoXFqglYOYqP14NW3ukSx7P6pAGRd3O_Fc9rU3d7y1GygnJGLidPsQIZp.Yom6Jb8b5KK1yqn7xaAW3WA\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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"www.tradingview-widget.com/static/bundles/embed/94825.8a90c0c3ebd413eb9c81.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.201Z","timestamp":1785120634201,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/94825.8a90c0c3ebd413eb9c81.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-846c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: f25b42ccba5e9d16b30e79c4466cc6f3\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":33900,"size_decoded":11131,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"321406610467d6dffd30c75b9184e9df","sha1":"eb120d6cc348265cbed0295dd3cfab7428c5425f","sha256":"3f94fcd41f3f37d9d46697679761c3bf1712a0f67a22b38bc5e3c44b47eb56b5","sha512":"8d1b1035b2fe029452f0a7de35ef2793e6da96377c589956a5e21eaf23f3b2ae7bcedfe568a74bb8ba9a46109cdc8876912e2d73814beca47bbfa286c3081136","ssdeep":"768:QmBTez9037WM2rFgD0Nm7YLSxeUf4DK4uA8JUJESLb/XW4xmmInIPxHgask+vvw4:Q4Ow7uxNVvpPpghBT4Uf","tlshash":"17e2b693b3f9a02966ded0dad8341403e31924447884046cf27dbdde6b5dd88b2b9b7e","first_seen":"2026-07-23T13:38:20.509185Z","last_seen":"2026-07-27T05:27:33.108678Z","times_seen":356,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTQ4MjVdLHs0MDIwNDUoZSx0LHMpe3MuZCh0LHtXYXRjaGVkT2JqZWN0OigpPT5vfSk7dmFyIHI9cyg2MDE4NDEpLGk9cygyMzIzNjQpO2Z1bmN0aW9uIGEoZSx0KXtyZXR1cm4oMCxyLmRlZXBFcXVhbHMpKGUsdClbMF19Y2xhc3MgbyBleHRlbmRzIGkuV2F0Y2hlZFZhbHVle2NvbnN0cnVjdG9yKGUsdD1hKXtzdXBlcihlKSx0aGlzLl9jb21wYXJhdG9yPXR9c2V0VmFsdWUoZSx0KXshdCYmdGhpcy5fY29tcGFyYXRvcih0aGlzLnZhbHVlKCksZSl8fHN1cGVyLnNldFZhbHVlKGUsdCl9fX0sNjI0Njc4KGUsdCxzKXtzLmQodCx7RGF0ZUZvcm1hdHRlcjooKT0+YX0pO3ZhciByPXMoNDkxMTY1KTtjbGFzcyBpe2NvbnN0cnVjdG9yKGU9Inl5eXktTU0tZGQiLHQ9ITEscz0iVVRDIil7dGhpcy5fZGF0ZUZvcm1hdEZ1bmM9dD8oMCxyLmdldERhdGVGb3JtYXRXaXRoV2Vla2RheSkoZSxzKTpyLmRhdGVGb3JtYXRGdW5jdGlvbnNbZV19Zm9ybWF0KGUpe3JldHVybiB0aGlzLl9kYXRlRm9ybWF0RnVuYyhlLCExKX1mb3JtYXRMb2NhbChlKXtyZXR1cm4gdGhpcy5fZGF0ZUZvcm1hdEZ1bmMoZSwhMCl9cGFyc2UoZSl7cmV0dXJuIiI9PT1lP3tyZXM6ITF9OntyZXM6ITAsdmFsdWU6ZX19fWNsYXNzIGF7Y29uc3RydWN0b3IoZSx0LHMpe3RoaXMuX2RhdGVGb3JtYXR0ZXJJbnN0YW5jZT1uZXcgaShlLHQscyl9Zm9ybWF0KGUpe3JldHVybiBhLl9jdXN0b21Gb3JtYXR0ZXI/YS5fY3VzdG9tRm9ybWF0dGVyLmZvcm1hdChlKTp0aGlzLl9kYXRlRm9ybWF0dGVySW5zdGFuY2UuZm9ybWF0KGUpfWZvcm1hdExvY2FsKGUpe3JldHVybiBhLl9jdXN0b21Gb3JtYXR0ZXI/YS5fY3VzdG9tRm9ybWF0dGVyLmZvcm1hdExvY2FsKGUpOnRoaXMuX2RhdGVGb3JtYXR0ZXJJbnN0YW5jZS5mb3JtYXRMb2NhbChlKX1wYXJzZShlKXtyZXR1cm4gYS5fY3VzdG9tRm9ybWF0dGVyP2EuX2N1c3RvbUZvcm1hdHRlci5wYXJzZShlKTp0aGlzLl9kYXRlRm9ybWF0dGVySW5zdGFuY2UucGFyc2UoZSl9c3RhdGljIHNldEN1c3RvbUZvcm1hdHRlcihlKXthLl9jdXN0b21Gb3JtYXR0ZXI9ZX19YS5fY3VzdG9tRm9ybWF0dGVyPW51bGx9LDgyNjE1NihlLHQscyl7cy5kKHQse0RhdGVUaW1lRm9ybWF0dGVyOigpPT5ufSk7dmFyIHI9cygyMzgxMDMpLGk9cyg2MjQ2NzgpLGE9cygyOTcxMTEpO2NvbnN0IG89e2RhdGVGb3JtYXQ6Inl5eXktTU0tZGQiLHdpdGhXZWVrZGF5OiExLHRpbWVGb3JtYXQ6ci5ob3VyTWludXRlU2Vjb25kRm9ybWF0LGRhdGVUaW1lU2VwYXJhdG9yOiIgIn07Y2xhc3Mgbntjb25zdHJ1Y3RvcihlPXt9KXtjb25zdCB0PU9iamVjdC5hc3NpZ24oe30sbyxlKTt0aGlzLl9kYXRlRm9ybWF0dGVyPW5ldyBpLkRhdGVGb3JtYXR0ZXIodC5kYXRlRm9ybWF0LHQud2l0aFdlZWtkYXksdC50aW1lem9uZSksdGhpcy5fdGltZUZvcm1hdHRlcj1uZXcgYS5UaW1lRm9ybWF0dGVyKHQudGltZUZvcm1hdCksdGhpcy5fc2VwYXJhdG9yPXQuZGF0ZVRpbWVTZXBhcmF0b3J9Zm9ybWF0KGUsdCl7Y29uc3Qgcz10Py5kYXRlVGltZVNlcGFyYXRvcj8/dGhpcy5fc2VwYXJhdG9yO3JldHVybmAke3RoaXMuX2RhdGVGb3JtYXR0ZXIuZm9ybWF0KGUpfSR7c30ke3RoaXMuX3RpbWVGb3JtYXR0ZXIuZm9ybWF0KGUpfWB9Zm9ybWF0TG9jYWwoZSx0KXtjb25zdCBzPXQ/LmRhdGVUaW1lU2VwYXJhdG9yPz90aGlzLl9zZXBhcmF0b3I7cmV0dXJuYCR7dGhpcy5fZGF0ZUZvcm1hdHRlci5mb3JtYXRMb2NhbChlKX0ke3N9JHt0aGlzLl90aW1lRm9ybWF0dGVyLmZvcm1hdExvY2FsKGUpfWB9fX0sMjM4MTAzKGUsdCxzKXtzLmQodCx7aG91ck1pbnV0ZUZvcm1hdDooKT0+byxob3VyTWludXRlTm9uWmVyb1NlY29uZEZvcm1hdDooKT0+aSxob3VyTWludXRlU2Vjb25kRm9ybWF0OigpPT5yLGhvdXJNaW51dGVTZWNvbmRNaWxsaXNlY0Zvcm1hdDooKT0+YSx0d2VsdmVIb3VyTWludXRlRm9ybWF0OigpPT5sLHR3ZWx2ZUhvdXJNaW51dGVOb25aZXJvU2Vjb25kRm9ybWF0OigpPT5kLHR3ZWx2ZUhvdXJNaW51dGVTZWNvbmRGb3JtYXQ6KCk9Pm59KTtjb25zdCByPSIlaDolbTolcyIsaT0iJWg6JW06JXMrIixhPSIlaDolbTolcy4lc3MrIixvPSIlaDolbSIsbj0iJWg6JW06JXMgJWFtcG0iLGQ9IiVoOiVtOiVzKyAlYW1wbSIsbD0iJWg6JW0gJWFtcG0iO3ZhciBoOyFmdW5jdGlvbihlKXtlLlR3ZW50eUZvdXJIb3Vycz0iMjQtaG91cnMiLGUuVHdlbHZlSG91cnM9IjEyLWhvdXJzIn0oaHx8KGg9e30pKX0sMjk3MTExKGUsdCxzKXtzLmQodCx7VGltZUZvcm1hdHRlcjooKT0+b30pO3ZhciByPXMoMjM4MTAzKSxpPXMoODIyNDMxKTtjbGFzcyBhe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2lzVHdlbHZlSG91cnNGb3JtYXQ9ITEsdGhpcy5fdmFsdWVzQW5kRGVsaW1pdGVycz1bXTtjb25zdCB0PWV8fHIuaG91ck1pbnV0ZVNlY29uZEZvcm1hdCxzPW5ldyBSZWdFeHAoIiVofCVtfCVzXFwrfCVzc1xcK3wlc3N8JWFtcG18JXMiLCJnIik7bGV0IGk9cy5leGVjKHQpLGE9MDtmb3IoO251bGwhPT1pOyl7Y29uc3QgZT1pWzBdOyIlYW1wbSI9PT1lJiYodGhpcy5faXNUd2VsdmVIb3Vyc0Zvcm1hdD0hMCk7Y29uc3Qgcj10LnN1YnN0cmluZyhhLGkuaW5kZXgpOyIiIT09ciYmdGhpcy5fdmFsdWVzQW5kRGVsaW1pdGVycy5wdXNoKHIpLHRoaXMuX3ZhbHVlc0FuZERlbGltaXRlcnMucHVzaChlKSxhPWkuaW5kZXgrZS5sZW5ndGgsaT1zLmV4ZWModCl9fWZvcm1hdChlKXtyZXR1cm4gdGhpcy5fZm9ybWF0VGltZShlKX1mb3JtYXRMb2NhbChlKXtyZXR1cm4gdGhpcy5fZm9ybWF0VGltZShlLCEwKX1fZm9ybWF0VGltZShlLHQ9ITEpe2xldCBzPXQ/ZS5nZXRIb3VycygpOmUuZ2V0VVRDSG91cnMoKTtjb25zdCByPXQ/ZS5nZXRNaW51dGVzKCk6ZS5nZXRVVENNaW51dGVzKCksYT10P2UuZ2V0U2Vjb25kcygpOmUuZ2V0VVRDU2Vjb25kcygpLG89dD9lLmdldE1pbGxpc2Vjb25kcygpOmUuZ2V0VVRDTWlsbGlzZWNvbmRzKCk7bGV0IG49IiIKO3RoaXMuX2lzVHdlbHZlSG91cnNGb3JtYXQmJihuPXM+PTEyPyJQTSI6IkFNIixzJT0xMixzPXN8fDEyKTtsZXQgZD0iIixsPSExO2ZvcihsZXQgZT10aGlzLl92YWx1ZXNBbmREZWxpbWl0ZXJzLmxlbmd0aC0xO2U+PTA7ZS0tKXtjb25zdCB0PXRoaXMuX3ZhbHVlc0FuZERlbGltaXRlcnNbZV07bGV0IGg7c3dpdGNoKHQpe2Nhc2UiJWgiOmg9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykocywyKTticmVhaztjYXNlIiVtIjpoPSgwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKHIsMik7YnJlYWs7Y2FzZSIlcysiOjAhPT1hP2g9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoYSwyKTooaD0iIixsPSEwKTticmVhaztjYXNlIiVzIjpoPSgwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGEsMik7YnJlYWs7Y2FzZSIlc3MiOmg9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykobywzKTticmVhaztjYXNlIiVzcysiOjAhPT1vP2g9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykobywzKTooaD0iIixsPSEwKTticmVhaztjYXNlIiVhbXBtIjpoPW47YnJlYWs7ZGVmYXVsdDppZihsKXtsPSExO2NvbnRpbnVlfWg9dH1kPWgrZH1yZXR1cm4gZH19Y2xhc3Mgb3tjb25zdHJ1Y3RvcihlKXt0aGlzLl90aW1lRm9ybWF0dGVySW5zdGFuY2U9bmV3IGEoZSl9Zm9ybWF0KGUpe3JldHVybiBvLl9jdXN0b21Gb3JtYXR0ZXI/by5fY3VzdG9tRm9ybWF0dGVyLmZvcm1hdChlKTp0aGlzLl90aW1lRm9ybWF0dGVySW5zdGFuY2UuZm9ybWF0KGUpfWZvcm1hdExvY2FsKGUpe3JldHVybiBvLl9jdXN0b21Gb3JtYXR0ZXI/by5fY3VzdG9tRm9ybWF0dGVyLmZvcm1hdExvY2FsKGUpOnRoaXMuX3RpbWVGb3JtYXR0ZXJJbnN0YW5jZS5mb3JtYXRMb2NhbChlKX1zdGF0aWMgc2V0Q3VzdG9tRm9ybWF0dGVyKGUpe28uX2N1c3RvbUZvcm1hdHRlcj1lfX1vLl9jdXN0b21Gb3JtYXR0ZXI9bnVsbH0sNDU5OTk0KGUsdCxzKXtzLmQodCx7Q2hhcnRTZXNzaW9uOigpPT5jfSk7dmFyIHI9cyg5NDgzODApLGk9cygxMzg2MzgpLGE9cygyMzIzNjQpLG89cygyMjEwNjEpLG49cygxNTAxNTApO2NvbnN0IGQ9KDAsby5nZXRMb2dnZXIpKCJDaGFydEFwaS5BYnN0cmFjdFNlc3Npb24iKTt2YXIgbDshZnVuY3Rpb24oZSl7ZVtlLkRpc2Nvbm5lY3RlZD0wXT0iRGlzY29ubmVjdGVkIixlW2UuUmVnaXN0ZXJlZD0xXT0iUmVnaXN0ZXJlZCIsZVtlLkNvbm5lY3RlZD0yXT0iQ29ubmVjdGVkIn0obHx8KGw9e30pKTtjbGFzcyBoe2NvbnN0cnVjdG9yKGUsdCxzKXt0aGlzLl9pc0Nvbm5lY3RlZD1uZXcgYS5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3N0YXRlPTAsdGhpcy5faXNDb25uZWN0Rm9yYmlkZGVuPSExLHRoaXMuX3Nlc3Npb25JZD0iIix0aGlzLl9zZXNzaW9uSWRDaGFuZ2VkPW5ldyByLkRlbGVnYXRlLHRoaXMuX2NoYXJ0QXBpPWUsdGhpcy5fc2Vzc2lvblByZWZpeD10LHRoaXMuX3Nob3VsZFJlY29ubmVjdEFmdGVyQ3JpdGljYWxFcnJvcj1zfWRlc3Ryb3koKXt0aGlzLl9sb2dOb3JtYWwoIkRlc3Ryb3lpbmcgc2Vzc2lvbiIpLHRoaXMuX2lzQ29ubmVjdGVkLnVuc3Vic2NyaWJlKCksdGhpcy5kaXNjb25uZWN0KCksdGhpcy5fc2Vzc2lvbklkQ2hhbmdlZC5kZXN0cm95KCksZGVsZXRlIHRoaXMuX2NoYXJ0QXBpLHRoaXMuX2xvZ05vcm1hbCgiU2Vzc2lvbiBoYXMgYmVlbiBkZXN0cm95ZWQiKX1pc0Nvbm5lY3RlZCgpe3JldHVybiB0aGlzLl9pc0Nvbm5lY3RlZH1zZXNzaW9uSWQoKXtyZXR1cm4gdGhpcy5fc2Vzc2lvbklkfW9uU2Vzc2lvbklkQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9zZXNzaW9uSWRDaGFuZ2VkfWNvbm5lY3QoKXswPT09dGhpcy5fc3RhdGUmJigoMCxpLmFzc2VydCkoIXRoaXMuX2lzQ29ubmVjdEZvcmJpZGRlbiwiQ2Fubm90IGNhbGwgY29ubmVjdCBiZWNhdXNlIGl0IGlzIGZvcmJpZGRlbiBhdCB0aGlzIG1vbWVudCIpLHRoaXMuX3NldFNlc3Npb25JZChgJHt0aGlzLl9zZXNzaW9uUHJlZml4fV8keygwLG4ucmFuZG9tSGFzaCkoKX1gKSx0aGlzLl9sb2dOb3JtYWwoIkNvbm5lY3Rpbmcgc2Vzc2lvbiAtIHdhaXQgdW50aWwgdHJhbnNwb3J0IHN0YXkgY29ubmVjdGVkIiksdGhpcy5fc3RhdGU9MSx0aGlzLl9jaGFydEFwaS5jcmVhdGVTZXNzaW9uKHRoaXMuX3Nlc3Npb25JZCx0aGlzKSl9ZGlzY29ubmVjdCgpezAhPT10aGlzLl9zdGF0ZSYmKCgwLGkuYXNzZXJ0KSgiIiE9PXRoaXMuX3Nlc3Npb25JZCwic2Vzc2lvbklkIG11c3Qgbm90IGJlIGludmFsaWQiKSx0aGlzLl9sb2dOb3JtYWwoIkRpc2Nvbm5lY3Rpbmcgc2Vzc2lvbi4uLiIpLHRoaXMuX2ZvcmJpZENvbm5lY3RXaGlsZSgoKCk9Pnt0aGlzLl9jaGFydEFwaS5jb25uZWN0ZWQoKSYmdGhpcy5fc2VuZFJlbW92ZVNlc3Npb24oKSx0aGlzLl9wcm9jZXNzRGVzdHJveWluZ09uU2VydmVyKCl9KSkpfW9uTWVzc2FnZShlKXtzd2l0Y2goZS5tZXRob2Qpe2Nhc2UiY29ubmVjdGVkIjpyZXR1cm4gdm9pZCB0aGlzLl9vbkNoYXJ0QXBpQ29ubmVjdGVkKCk7Y2FzZSJkaXNjb25uZWN0ZWQiOnJldHVybiB2b2lkIHRoaXMuX29uQ2hhcnRBcGlEaXNjb25uZWN0ZWQoKTtjYXNlImNyaXRpY2FsX2Vycm9yIjpjb25zdCB0PVN0cmluZyhlLnBhcmFtc1swXSkscz1TdHJpbmcoZS5wYXJhbXNbMV0pO3JldHVybiB2b2lkIHRoaXMuX29uQ3JpdGljYWxFcnJvcih0LHMpfXRoaXMuX29uTWVzc2FnZShlKX1zZXJ2ZXJUaW1lKCl7cmV0dXJuIHRoaXMuX2NoYXJ0QXBpLnNlcnZlclRpbWUoKX1fZ2V0Q2hhcnRBcGkoKXtyZXR1cm4gdGhpcy5fY2hhcnRBcGl9X2dlbmVyYXRlTG9nTWVzc2FnZShlKXtyZXR1cm5gWyR7dGhpcy5fc2Vzc2lvbklkfV0gJHtlfWB9X29uQ3JpdGljYWxFcnJvcihlLHQpe3RoaXMuX2xvZ0Vycm9yKGBDcml0aWNhbCBlcnJvci4gUmVhc29uPSR7ZX0sIGluZm89JHt0fS5gKSx0aGlzLl9mb3JiaWRDb25uZWN0V2hpbGUoKCgpPT57dGhpcy5fcHJvY2Vzc0Rlc3Ryb3lpbmdPblNlcnZlcigpfSkpLAp0aGlzLl9zaG91bGRSZWNvbm5lY3RBZnRlckNyaXRpY2FsRXJyb3I/KHRoaXMuX2xvZ05vcm1hbCgiUmVjb25uZWN0aW5nIGFmdGVyIGNyaXRpY2FsIGVycm9yLi4uIiksdGhpcy5jb25uZWN0KCkpOnRoaXMuX2xvZ05vcm1hbCgiUmVjb25uZWN0aW5nIGFmdGVyIGNyaXRpY2FsIGVycm9yIHNraXBwZWQiKX1fb25DaGFydEFwaUNvbm5lY3RlZCgpeygwLGkuYXNzZXJ0KSgxPT09dGhpcy5fc3RhdGUsIlNlc3Npb24gaXMgbm90IHJlZ2lzdGVyZWQiKSx0aGlzLl9sb2dOb3JtYWwoIlRyYW5zcG9ydCBpcyBjb25uZWN0ZWQuIENyZWF0aW5nIHNlc3Npb24gb24gdGhlIHNlcnZlciIpLHRoaXMuX3NlbmRDcmVhdGVTZXNzaW9uKCksdGhpcy5fc3RhdGU9Mix0aGlzLl9pc0Nvbm5lY3RlZC5zZXRWYWx1ZSghMCl9X29uQ2hhcnRBcGlEaXNjb25uZWN0ZWQoKXt0aGlzLl9sb2dOb3JtYWwoIlRyYW5zcG9ydCBpcyBkaXNjb25uZWN0ZWQuIFJlY29ubmVjdGluZy4uLiIpLHRoaXMuX2ZvcmJpZENvbm5lY3RXaGlsZSgoKCk9Pnt0aGlzLl9wcm9jZXNzRGVzdHJveWluZ09uU2VydmVyKCl9KSksdGhpcy5jb25uZWN0KCl9X3NldFNlc3Npb25JZChlKXtjb25zdCB0PXRoaXMuX3Nlc3Npb25JZDt0aGlzLl9sb2dOb3JtYWwoYENoYW5naW5nIHNlc3Npb25JZDogb2xkPSR7dH0sIG5ldz0ke2V9YCksdGhpcy5fc2Vzc2lvbklkPWUsdGhpcy5fc2Vzc2lvbklkQ2hhbmdlZC5maXJlKGUsdCl9X2xvZ05vcm1hbChlKXtkLmxvZ05vcm1hbCh0aGlzLl9nZW5lcmF0ZUxvZ01lc3NhZ2UoZSkpfV9sb2dFcnJvcihlKXtkLmxvZ0Vycm9yKHRoaXMuX2dlbmVyYXRlTG9nTWVzc2FnZShlKSl9X3Byb2Nlc3NEZXN0cm95aW5nT25TZXJ2ZXIoKXt0aGlzLl9zdGF0ZT0wLHRoaXMuX2lzQ29ubmVjdGVkLnNldFZhbHVlKCExKSx0aGlzLl9jaGFydEFwaS5yZW1vdmVTZXNzaW9uKHRoaXMuX3Nlc3Npb25JZCksdGhpcy5fc2V0U2Vzc2lvbklkKCIiKX1fZm9yYmlkQ29ubmVjdFdoaWxlKGUpe3RoaXMuX2lzQ29ubmVjdEZvcmJpZGRlbj0hMCxlKCksdGhpcy5faXNDb25uZWN0Rm9yYmlkZGVuPSExfX1jbGFzcyBjIGV4dGVuZHMgaHtjb25zdHJ1Y3RvcihlLHQ9ITEpe3N1cGVyKGUsImNzIiwhMSksdGhpcy5fc2Vzc2lvbkRpc2FibGVkPSExLHRoaXMuX2hhbmRsZXI9bnVsbCx0aGlzLl9jcml0aWNhbEVycm9yPW5ldyByLkRlbGVnYXRlLHRoaXMuX3N5bWJvbFJlc29sdmVNYXA9bmV3IE1hcCx0aGlzLl9sYXN0U3ltYm9sUmVzb2x2ZUluZm9NYXA9bmV3IE1hcCx0aGlzLl9kaXNhYmxlU3RhdGlzdGljcz10fWRlc3Ryb3koKXt0aGlzLl9jcml0aWNhbEVycm9yLmRlc3Ryb3koKSx0aGlzLl9oYW5kbGVyPW51bGwsdGhpcy5fc3ltYm9sUmVzb2x2ZU1hcC5jbGVhcigpLHN1cGVyLmRlc3Ryb3koKX1zd2l0Y2hUaW1lem9uZShlKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5zd2l0Y2hUaW1lem9uZSh0aGlzLnNlc3Npb25JZCgpLGUpfWRlZmF1bHRSZXNvbHV0aW9ucygpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmRlZmF1bHRSZXNvbHV0aW9ucygpfWF2YWlsYWJsZUN1cnJlbmNpZXMoKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5hdmFpbGFibGVDdXJyZW5jaWVzKCl9YXZhaWxhYmxlVW5pdHMoKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5hdmFpbGFibGVVbml0cygpfWF2YWlsYWJsZU1ldHJpY3MoKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5hdmFpbGFibGVNZXRyaWNzKCl9YXZhaWxhYmxlUHJpY2VTb3VyY2VzKGUpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmF2YWlsYWJsZVByaWNlU291cmNlcyhlKX1yZXNvbHZlU3ltYm9sKGUsdCxzKXtpZih0aGlzLl9zeW1ib2xSZXNvbHZlTWFwLmhhcyh0KSl7Y29uc3RbZSxyXT10aGlzLl9zeW1ib2xSZXNvbHZlTWFwLmdldCh0KTtyZXR1cm4gQXJyYXkuaXNBcnJheShyKT9yLnB1c2gocyk6ci50aGVuKHMpLGV9e2NvbnN0IHI9W3NdO3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLnJlc29sdmVTeW1ib2wodGhpcy5zZXNzaW9uSWQoKSxlLHQsKHM9PntpZigic3ltYm9sX2Vycm9yIj09PXMubWV0aG9kKXRoaXMuX3N5bWJvbFJlc29sdmVNYXAuZGVsZXRlKHQpO2Vsc2V7dGhpcy5fc3ltYm9sUmVzb2x2ZU1hcC5zZXQodCxbZSxQcm9taXNlLnJlc29sdmUocyldKTtjb25zdFsscl09cy5wYXJhbXMsaT17cHJvX25hbWU6ci5wcm9fbmFtZSx0aWNrZXI6ci50aWNrZXJ9O3RoaXMuX2xhc3RTeW1ib2xSZXNvbHZlSW5mb01hcC5zZXQodCxpKSxpLnByb19uYW1lJiZ0aGlzLl9sYXN0U3ltYm9sUmVzb2x2ZUluZm9NYXAuc2V0KGkucHJvX25hbWUsaSksci5mdWxsX25hbWUmJnRoaXMuX2xhc3RTeW1ib2xSZXNvbHZlSW5mb01hcC5zZXQoci5mdWxsX25hbWUsaSksaS50aWNrZXImJnRoaXMuX2xhc3RTeW1ib2xSZXNvbHZlSW5mb01hcC5zZXQoaS50aWNrZXIsaSl9ci5mb3JFYWNoKChlPT5lKHMpKSl9KSksdGhpcy5fc3ltYm9sUmVzb2x2ZU1hcC5zZXQodCxbZSxyXSksZX19cmVxdWVzdEZpcnN0QmFyVGltZShlLHQscyl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCkucmVxdWVzdEZpcnN0QmFyVGltZSh0aGlzLnNlc3Npb25JZCgpLGUsdCxzKX1sYXN0U3ltYm9sUmVzb2x2ZUluZm8oZSl7cmV0dXJuIHRoaXMuX2xhc3RTeW1ib2xSZXNvbHZlSW5mb01hcC5nZXQoZSk/P251bGx9Y3JlYXRlU2VyaWVzKGUsdCxzLHIsaSxhLG8pe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmNyZWF0ZVNlcmllcyh0aGlzLnNlc3Npb25JZCgpLGUsdCxzLHIsaSxhLG8pfW1vZGlmeVNlcmllcyhlLHQscyxyLGksYSxvKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5tb2RpZnlTZXJpZXModGhpcy5zZXNzaW9uSWQoKSxlLHQscyxyLGksYSxvKX1yZW1vdmVTZXJpZXMoZSl7cmV0dXJuISF0aGlzLmlzQ29ubmVjdGVkKCkudmFsdWUoKSYmdGhpcy5fZ2V0Q2hhcnRBcGkoKS5yZW1vdmVTZXJpZXModGhpcy5zZXNzaW9uSWQoKSxlKX1yZXF1ZXN0TW9yZURhdGEoZSx0LHMpewpyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGU/dGhpcy5fZ2V0Q2hhcnRBcGkoKS5yZXF1ZXN0TW9yZURhdGEodGhpcy5zZXNzaW9uSWQoKSxlKTp0aGlzLl9nZXRDaGFydEFwaSgpLnJlcXVlc3RNb3JlRGF0YSh0aGlzLnNlc3Npb25JZCgpLGUsdCxzKX1yZXF1ZXN0TW9yZVRpY2ttYXJrcyhlLHQscyl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCkucmVxdWVzdE1vcmVUaWNrbWFya3ModGhpcy5zZXNzaW9uSWQoKSxlLHQscyl9c2V0RnV0dXJlVGlja21hcmtzTW9kZShlKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5zZXRGdXR1cmVUaWNrbWFya3NNb2RlKHRoaXMuc2Vzc2lvbklkKCksZSl9Y2FuQ3JlYXRlU3R1ZHkoZSx0KXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5jYW5DcmVhdGVTdHVkeSh0aGlzLnNlc3Npb25JZCgpLGUsdCl9Z2V0U3R1ZHlDb3VudGVyKCl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCkuZ2V0U3R1ZHlDb3VudGVyKHRoaXMuc2Vzc2lvbklkKCkpfWdldEZ1bmRhbWVudGFsQ291bnRlcigpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmdldEZ1bmRhbWVudGFsQ291bnRlcih0aGlzLnNlc3Npb25JZCgpKX1nZXRDaGlsZFN0dWR5Q291bnRlcigpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmdldENoaWxkU3R1ZHlDb3VudGVyKHRoaXMuc2Vzc2lvbklkKCkpfWNyZWF0ZVN0dWR5KGUsdCxzLHIsaSxhLG8pe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmNyZWF0ZVN0dWR5KHRoaXMuc2Vzc2lvbklkKCksZSx0LHMscixpLGEsbyl9bW9kaWZ5U3R1ZHkoZSx0LHMscixpKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5tb2RpZnlTdHVkeSh0aGlzLnNlc3Npb25JZCgpLGUsdCxzLHIsaSl9bm90aWZ5U3R1ZHkoZSx0LHMpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLm5vdGlmeVN0dWR5KHRoaXMuc2Vzc2lvbklkKCksZSx0LHMpfXJlbW92ZVN0dWR5KGUpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLnJlbW92ZVN0dWR5KHRoaXMuc2Vzc2lvbklkKCksZSl9Y3JlYXRlUG9pbnRzZXQoZSx0LHMscixpLGEpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmNyZWF0ZVBvaW50c2V0KHRoaXMuc2Vzc2lvbklkKCksZSx0LHMscixpLGEpfW1vZGlmeVBvaW50c2V0KGUsdCxzLHIpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLm1vZGlmeVBvaW50c2V0KHRoaXMuc2Vzc2lvbklkKCksZSx0LHMscil9cmVtb3ZlUG9pbnRzZXQoZSl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCkucmVtb3ZlUG9pbnRzZXQodGhpcy5zZXNzaW9uSWQoKSxlKX1zZXRWaXNpYmxlVGltZVJhbmdlKGUsdCxzLHIsaSxhLG8pe3RoaXMuX2dldENoYXJ0QXBpKCkuc2V0VmlzaWJsZVRpbWVSYW5nZSh0aGlzLnNlc3Npb25JZCgpLGUsdCxzLHIsITAsaSxhLHZvaWQgMCxvKX1jcml0aWNhbEVycm9yKCl7cmV0dXJuIHRoaXMuX2NyaXRpY2FsRXJyb3J9Y29ubmVjdChlPW51bGwpe251bGwhPT1lJiYodGhpcy5faGFuZGxlcj1lKSx0aGlzLl9zeW1ib2xSZXNvbHZlTWFwLmNsZWFyKCksc3VwZXIuY29ubmVjdCgpfXNldEhhbmRsZXIoZSl7dGhpcy5faGFuZGxlcj1lfWNvbm5lY3RlZCgpe3JldHVybiB0aGlzLmlzQ29ubmVjdGVkKCkudmFsdWUoKSYmIXRoaXMuX3Nlc3Npb25EaXNhYmxlZH1kaXNhYmxlKCl7dGhpcy5fc2Vzc2lvbkRpc2FibGVkPSEwfWNoYXJ0QXBpKCl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCl9X3NlbmRDcmVhdGVTZXNzaW9uKCl7T2JqZWN0LmtleXModGhpcykuZm9yRWFjaCgoZT0+ey9eKHN8c3R8c3ltYm9sXylcZCskLy50ZXN0KGUpJiZkZWxldGUgdGhpc1tlXX0pKSx0aGlzLl9nZXRDaGFydEFwaSgpLmNoYXJ0Q3JlYXRlU2Vzc2lvbih0aGlzLnNlc3Npb25JZCgpLHRoaXMuX2Rpc2FibGVTdGF0aXN0aWNzKX1fc2VuZFJlbW92ZVNlc3Npb24oKXt0aGlzLl9nZXRDaGFydEFwaSgpLmNoYXJ0RGVsZXRlU2Vzc2lvbih0aGlzLnNlc3Npb25JZCgpKX1fb25NZXNzYWdlKGUpe3RoaXMuX2hhbmRsZXImJnRoaXMuX2hhbmRsZXIoZSl9X29uQ3JpdGljYWxFcnJvcihlLHQpe3RoaXMuX2NyaXRpY2FsRXJyb3IuZmlyZShlLHQpLHN1cGVyLl9vbkNyaXRpY2FsRXJyb3IoZSx0KX19fSw0NzU0NzgoZSx0LHMpe3MuZCh0LHtDb25mbGF0ZWRDaHVua3NCdWlsZGVyOigpPT5vfSk7dmFyIHI9cygxMzg2MzgpLGk9cygxOTg5MDEpO2NvbnN0IGE9W3tiYXJzVG9NZXJnZToxMCxmb3JCYXJzcGFjaW5nTGFyZ2VyVGhlbjouMDN9LHtiYXJzVG9NZXJnZTozMCxmb3JCYXJzcGFjaW5nTGFyZ2VyVGhlbjouMDF9LHtiYXJzVG9NZXJnZToxMDAsZm9yQmFyc3BhY2luZ0xhcmdlclRoZW46LjAwM30se2JhcnNUb01lcmdlOjUwMCxmb3JCYXJzcGFjaW5nTGFyZ2VyVGhlbjowfV07Y2xhc3Mgb3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX3Bsb3RzPWUsdGhpcy5fc3RhdGU9e2NodW5rczpuZXcgTWFwLHByaWNlU291cmNlOm51bGwscHJpY2VTb3VyY2VzUHJvdmlkZXI6dH0sdGhpcy5fc2V0RW1wdHlDb25mbGF0ZWRDaHVua3MoKX1jb25mbGF0ZWRDaHVua3MoZSx0KXtpZih0IT09dGhpcy5fc3RhdGUucHJpY2VTb3VyY2Upe3RoaXMuX3N0YXRlLnByaWNlU291cmNlPXQ7Y29uc3QgZT10aGlzLl9wbG90cy5maXJzdCgpO2UmJih0aGlzLl9zZXRFbXB0eUNvbmZsYXRlZENodW5rcygpLHRoaXMuX3JlYnVpbGRDb25mbGF0ZWRDaHVua3MoZSkpfWNvbnN0IHM9KDAsci5lbnN1cmVEZWZpbmVkKShhLmZpbmQoKHQ9PnQuZm9yQmFyc3BhY2luZ0xhcmdlclRoZW48PWUpKSk7cmV0dXJuKDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zdGF0ZS5jaHVua3MuZ2V0KHMuYmFyc1RvTWVyZ2UpKX1tZXJnZURhdGEoZSl7Y29uc3QgdD10aGlzLl9wbG90cy5zaXplKCkscz10aGlzLl9wbG90cy5tZXJnZShlKTtyZXR1cm4gcyYmbnVsbCE9PXRoaXMuX3N0YXRlLnByaWNlU291cmNlJiYodD09PXRoaXMuX3Bsb3RzLnNpemUoKSYmcy5pbmRleD09PXRoaXMuX3Bsb3RzLmxhc3RJbmRleCgpP3RoaXMuX3VwZGF0ZUxhdGVzdENodW5rcygpOnRoaXMuX3JlYnVpbGRDb25mbGF0ZWRDaHVua3MocykpLHN9bW92ZURhdGEoZSl7CnRoaXMuX3Bsb3RzLm1vdmUoZSksdGhpcy5fcGxvdHMuc2l6ZSgpPjAmJnRoaXMuX2NsZWFyU3RhdGUoKX1jbGVhckRhdGEoKXt0aGlzLl9wbG90cy5jbGVhcigpLHRoaXMuX2NsZWFyU3RhdGUoKX1fcmVidWlsZENvbmZsYXRlZENodW5rcyhlKXtjb25zdCB0PXRoaXMuX3N0YXRlLnByaWNlU291cmNlO2lmKG51bGw9PT10KXJldHVybjtjb25zdCBzPWUuaW5kZXgsbz10aGlzLl9zdGF0ZS5wcmljZVNvdXJjZXNQcm92aWRlcih0KSxuPShlLHQscyk9PntsZXQgcj1udWxsO2Zvcihjb25zdCBpIG9mIGUpe2NvbnN0IGU9byhpLnZhbHVlKTtyJiZpLmluZGV4LXIuc3RhcnRUaW1lPj1zLmJhcnNUb01lcmdlJiYodC5wdXNoKHIpLHI9bnVsbCkscj8oci5lbmRUaW1lPWkuaW5kZXgsci5oaWdoPU1hdGgubWF4KHIuaGlnaCxlKSxyLmxvdz1NYXRoLm1pbihyLmxvdyxlKSxyLmNsb3NlPWUpOnI9e3N0YXJ0VGltZTppLmluZGV4LGVuZFRpbWU6aS5pbmRleCxvcGVuOmUsaGlnaDplLGxvdzplLGNsb3NlOmV9fXImJnQucHVzaChyKX07YS5mb3JFYWNoKChlPT57Y29uc3QgdD0oMCxyLmVuc3VyZURlZmluZWQpKHRoaXMuX3N0YXRlLmNodW5rcy5nZXQoZS5iYXJzVG9NZXJnZSkpLGE9KDAsaS5sb3dlcmJvdW5kKSh0LHMsKChlLHQpPT5lLmVuZFRpbWU8dCkpO2lmKDA9PT1hJiZ0Lmxlbmd0aD4wKXtjb25zdCBzPXRbMF0uc3RhcnRUaW1lLTEsaT0oMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Bsb3RzLmZpcnN0SW5kZXgoKSksYT10aGlzLl9wbG90cy5yYW5nZUl0ZXJhdG9yKGkscyksbz1bXTtuKGEsbyxlKTtjb25zdCBkPW8uY29uY2F0KHQpO3RoaXMuX3N0YXRlLmNodW5rcy5zZXQoZS5iYXJzVG9NZXJnZSxkKX1lbHNle2NvbnN0IHM9KDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wbG90cy5sYXN0SW5kZXgoKSk7dC5zcGxpY2UoYSk7bGV0IGk9KDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wbG90cy5maXJzdEluZGV4KCkpO3QubGVuZ3RoJiYoaT10W3QubGVuZ3RoLTFdLmVuZFRpbWUrMSk7Y29uc3Qgbz10aGlzLl9wbG90cy5yYW5nZUl0ZXJhdG9yKGkscyk7bihvLHQsZSl9fSkpfV91cGRhdGVMYXRlc3RDaHVua3MoKXtjb25zdCBlPSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fcGxvdHMubGFzdCgpKSx0PXRoaXMuX3N0YXRlLnByaWNlU291cmNlc1Byb3ZpZGVyKCJjbG9zZSIpO2EuZm9yRWFjaCgocz0+e2NvbnN0IGk9KDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zdGF0ZS5jaHVua3MuZ2V0KHMuYmFyc1RvTWVyZ2UpKSxhPXQoZS52YWx1ZSksbz1pW2kubGVuZ3RoLTFdO28uaGlnaD1NYXRoLm1heChvLmhpZ2gsYSksby5sb3c9TWF0aC5taW4oby5sb3csYSksby5jbG9zZT1hLG8uZW5kVGltZT1lLmluZGV4fSkpfV9zZXRFbXB0eUNvbmZsYXRlZENodW5rcygpe2EuZm9yRWFjaCgoZT0+dGhpcy5fc3RhdGUuY2h1bmtzLnNldChlLmJhcnNUb01lcmdlLFtdKSkpfV9jbGVhclN0YXRlKCl7dGhpcy5fc3RhdGUuY2h1bmtzLmNsZWFyKCksdGhpcy5fc3RhdGUucHJpY2VTb3VyY2U9bnVsbH19fSw5MzYzMjYoZSx0LHMpe3ZhciByO3MuZCh0LHtQbG90Um93U2VhcmNoTW9kZTooKT0+cn0pLGZ1bmN0aW9uKGUpe2VbZS5OZWFyZXN0TGVmdD0tMV09Ik5lYXJlc3RMZWZ0IixlW2UuRXhhY3Q9MF09IkV4YWN0IixlW2UuTmVhcmVzdFJpZ2h0PTFdPSJOZWFyZXN0UmlnaHQifShyfHwocj17fSkpfSw3OTE1MjEoZSx0LHMpe3ZhciByO3MuZCh0LHtTeW1ib2xFcnJvclBlcm1pc3Npb25EZW5pZWRSZWFzb246KCk9PnIsaW52YWxpZFN5bWJvbDooKT0+YSxwZXJtaXNzaW9uRGVuaWVkOigpPT5pfSksZnVuY3Rpb24oZSl7ZS5TeW1ib2w9InN5bWJvbCIsZS5Hcm91cFBlcm1pc3Npb249Imdyb3VwIn0ocnx8KHI9e30pKTtjb25zdCBpPSJwZXJtaXNzaW9uIGRlbmllZCIsYT0iaW52YWxpZCBzeW1ib2wifSw4NDg2MDEoZSx0LHMpe3MuZCh0LHtwYXJzZU5vblNlcmllc0VudmVsb3BlOigpPT5hfSk7dmFyIHI9cyg2MDE4NDEpLGk9cyg5OTU2NTUpO2Z1bmN0aW9uIGEoZSl7aWYoIiI9PT1lKXJldHVybiBudWxsO2NvbnN0IHQ9SlNPTi5wYXJzZShlKTtpZighKDAsci5pc09iamVjdCkodCl8fCJmdW5jdGlvbiI9PXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcigiTm9uLW9iamVjdCBjb250ZW50IGluIHRoZSBub24tc2VyaWVzIGVudmVsb3BlIik7aWYoKDAsci5oYXNQcm9wZXJ0eSkodCwiaW5kZXhlc19yZXBsYWNlIikpcmV0dXJue25zRGF0YTp7aW5kZXhlc19yZXBsYWNlOiEwfSxwYXJzZWREYXRhOnR9O2NvbnN0IHM9e2luZGV4ZXNfcmVwbGFjZTohMX07aWYoKDAsci5oYXNQcm9wZXJ0eSkodCwib2Zmc2V0cyIpJiYocy5vZmZzZXRzPXQub2Zmc2V0cyksKDAsci5oYXNQcm9wZXJ0eSkodCwiaXNVcGRhdGUiKSl7aWYoImJvb2xlYW4iIT10eXBlb2YgdC5pc1VwZGF0ZSl0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdHlwZSBvZiAiaXNVcGRhdGUiIGZpZWxkJyk7cy5pc1VwZGF0ZT10LmlzVXBkYXRlfXJldHVybigwLHIuaGFzUHJvcGVydHkpKHQsImRhdGEiKSYmKHMuZGF0YT10LmRhdGEpLCgwLHIuaGFzUHJvcGVydHkpKHQsImdyYXBoaWNzQ21kcyIpJiYocy5ncmFwaGljc0NtZHM9KDAsaS52YWxpZGF0ZUdyYXBoaWNzQ29tbWFuZHMpKHQuZ3JhcGhpY3NDbWRzKSkse25zRGF0YTpzLHBhcnNlZERhdGE6dH19fSw1NTA5MDQoZSx0LHMpe3MuZCh0LHt1bnBhY2tOb25TZXJpZXNEYXRhOigpPT5pfSk7dmFyIHI9cyg4NDg2MDEpO2FzeW5jIGZ1bmN0aW9uIGkoZSl7cmV0dXJuKDAsci5wYXJzZU5vblNlcmllc0VudmVsb3BlKShlKT8ubnNEYXRhPz9udWxsfX0sMTU2OTA4KGUsdCxzKXtzLmQodCx7REVGQVVMVF9OVU1CQVJTOigpPT5pLGluaXRpYWxSZXF1ZXN0T3B0aW9uc1RvTnVtQmFyczooKT0+YX0pO3ZhciByPXMoMTM4NjM4KTtjb25zdCBpPTMwMDtmdW5jdGlvbiBhKGUpe3JldHVybiBlLnN0YXJ0RGF0ZT9lLmVuZERhdGV8fGUuY291bnQ/ZS5lbmREYXRlP1siZnJvbV90byIsZS5zdGFydERhdGUsZS5lbmREYXRlXTpbImJhcl9jb3VudCIsZS5zdGFydERhdGUsKDAsCnIuZW5zdXJlKShlLmNvdW50KV06WyJmcm9tX3RvIixlLnN0YXJ0RGF0ZV06ZS5jb3VudHx8aX19LDg3MTAzNyhlLHQscyl7YXN5bmMgZnVuY3Rpb24gcihlLHQpe2lmKHZvaWQgMD09PWUpcmV0dXJue3Byb2plY3Rpb25QbG90czpbXSxib3hTaXplOm51bGx9O2lmKCIiPT09ZS5kfHwibm9jaGFuZ2UiPT09ZS5pbmRleGVzKXJldHVybiBudWxsO2NvbnN0IHM9YXdhaXQgdChlLmQpO2lmKG51bGw9PT1zfHxzLmluZGV4ZXNfcmVwbGFjZSlyZXR1cm4gbnVsbDtjb25zdCByPWUuaW5kZXhlcyx7YmFyczppPVtdLHByaWNlOmEsYm94U2l6ZTpvLHJldmVyc2FsQW1vdW50Om59PXMuZGF0YTtyZXR1cm57bGFzdFByaWNlOmEscHJvamVjdGlvblBsb3RzOmkubWFwKChlPT57bGV0IHQ7cmV0dXJuImZhY3RvciJpbiBlP3Q9ZS5mYWN0b3I6ImFkZGl0aW9uYWxQcmljZSJpbiBlJiYodD1lLmFkZGl0aW9uYWxQcmljZSkse2luZGV4OnJbZS50aW1lXSx2YWx1ZTpbMCxlLm9wZW4sZS5oaWdoLGUubG93LGUuY2xvc2UsZS52b2x1bWUsdF19fSkpLHJldmVyc2FsQW1vdW50Om4sYm94U2l6ZTpvfX1zLmQodCx7cGFyc2VKYXBhbmVzZVByb2plY3Rpb25CYXJzOigpPT5yfSl9LDkzNTI0MChlLHQscyl7cy5kKHQse1Nlcmllc0RhdGFTb3VyY2U6KCk9PkN9KTt2YXIgcj1zKDEzODYzOCksaT1zKDYwMTg0MSksYT1zKDIyMTA2MSksbz1zKDI1NDY3Myksbj1zKDYxOTE2NSksZD1zKDc5MTUyMSksbD1zKDU1MDkwNCksaD1zKDE1NjkwOCksYz1zKDExMTk1MyksdT1zKDk0ODM4MCk7Y2xhc3MgX3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2NyZWF0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fbW9kaWZpZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fY2xlYXJlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9sb2FkaW5nPW5ldyB1LkRlbGVnYXRlLHRoaXMuX2NvbXBsZXRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9lcnJvcj1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xFcnJvcj1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xSZXNvbHZlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zZXJpZXNFcnJvcj1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xOb3RQZXJtaXR0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fc3ltYm9sSW52YWxpZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xHcm91cE5vdFBlcm1pdHRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9jaGFydFR5cGVOb3RQZXJtaXR0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5faW50cmFkYXlTcHJlYWROb3RQZXJtaXR0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5faW50cmFkYXlFeGNoYW5nZU5vdFBlcm1pdHRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9jdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zZWNvbmRzSW50ZXJ2YWxOb3RQZXJtaXR0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fdGlja3NJbnRlcnZhbE5vdFBlcm1pdHRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9iYXJSZWNlaXZlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zZXJpZXNUaW1lRnJhbWU9bmV3IHUuRGVsZWdhdGUsdGhpcy5fZGF0YVVwZGF0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fdW5zdXBwb3J0ZWRSZXNvbHV0aW9uUmVxdWVzdGVkPW5ldyB1LkRlbGVnYXRlfWRlc3Ryb3koKXt0aGlzLl9jcmVhdGVkLmRlc3Ryb3koKSx0aGlzLl9tb2RpZmllZC5kZXN0cm95KCksdGhpcy5fbG9hZGluZy5kZXN0cm95KCksdGhpcy5fY29tcGxldGVkLmRlc3Ryb3koKSx0aGlzLl9lcnJvci5kZXN0cm95KCksdGhpcy5fc3ltYm9sRXJyb3IuZGVzdHJveSgpLHRoaXMuX3N5bWJvbFJlc29sdmVkLmRlc3Ryb3koKSx0aGlzLl9zZXJpZXNFcnJvci5kZXN0cm95KCksdGhpcy5fc3ltYm9sSW52YWxpZC5kZXN0cm95KCksdGhpcy5fc3ltYm9sTm90UGVybWl0dGVkLmRlc3Ryb3koKSx0aGlzLl9zeW1ib2xHcm91cE5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5fY2hhcnRUeXBlTm90UGVybWl0dGVkLmRlc3Ryb3koKSx0aGlzLl9pbnRyYWRheVNwcmVhZE5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5faW50cmFkYXlFeGNoYW5nZU5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5fY3VzdG9tSW50ZXJ2YWxOb3RQZXJtaXR0ZWQuZGVzdHJveSgpLHRoaXMuX3NlY29uZHNJbnRlcnZhbE5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5fdGlja3NJbnRlcnZhbE5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5fYmFyUmVjZWl2ZWQuZGVzdHJveSgpLHRoaXMuX3Nlcmllc1RpbWVGcmFtZS5kZXN0cm95KCksdGhpcy5fZGF0YVVwZGF0ZWQuZGVzdHJveSgpLHRoaXMuX3Vuc3VwcG9ydGVkUmVzb2x1dGlvblJlcXVlc3RlZC5kZXN0cm95KCl9Y3JlYXRlZCgpe3JldHVybiB0aGlzLl9jcmVhdGVkfW1vZGlmaWVkKCl7cmV0dXJuIHRoaXMuX21vZGlmaWVkfWNsZWFyZWQoKXtyZXR1cm4gdGhpcy5fY2xlYXJlZH1sb2FkaW5nKCl7cmV0dXJuIHRoaXMuX2xvYWRpbmd9Y29tcGxldGVkKCl7cmV0dXJuIHRoaXMuX2NvbXBsZXRlZH1lcnJvcigpe3JldHVybiB0aGlzLl9lcnJvcn1zeW1ib2xFcnJvcigpe3JldHVybiB0aGlzLl9zeW1ib2xFcnJvcn1zeW1ib2xSZXNvbHZlZCgpe3JldHVybiB0aGlzLl9zeW1ib2xSZXNvbHZlZH1zZXJpZXNFcnJvcigpe3JldHVybiB0aGlzLl9zZXJpZXNFcnJvcn1zeW1ib2xJbnZhbGlkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbEludmFsaWR9c3ltYm9sTm90UGVybWl0dGVkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbE5vdFBlcm1pdHRlZH1zeW1ib2xHcm91cE5vdFBlcm1pdHRlZCgpe3JldHVybiB0aGlzLl9zeW1ib2xHcm91cE5vdFBlcm1pdHRlZH1jaGFydFR5cGVOb3RQZXJtaXR0ZWQoKXtyZXR1cm4gdGhpcy5fY2hhcnRUeXBlTm90UGVybWl0dGVkfWludHJhZGF5U3ByZWFkTm90UGVybWl0dGVkKCl7cmV0dXJuIHRoaXMuX2ludHJhZGF5U3ByZWFkTm90UGVybWl0dGVkfWludHJhZGF5RXhjaGFuZ2VOb3RQZXJtaXR0ZWQoKXtyZXR1cm4gdGhpcy5faW50cmFkYXlFeGNoYW5nZU5vdFBlcm1pdHRlZH1jdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZCgpewpyZXR1cm4gdGhpcy5fY3VzdG9tSW50ZXJ2YWxOb3RQZXJtaXR0ZWR9c2Vjb25kc0ludGVydmFsTm90UGVybWl0dGVkKCl7cmV0dXJuIHRoaXMuX3NlY29uZHNJbnRlcnZhbE5vdFBlcm1pdHRlZH10aWNrc0ludGVydmFsTm90UGVybWl0dGVkKCl7cmV0dXJuIHRoaXMuX3RpY2tzSW50ZXJ2YWxOb3RQZXJtaXR0ZWR9YmFyUmVjZWl2ZWQoKXtyZXR1cm4gdGhpcy5fYmFyUmVjZWl2ZWR9c2VyaWVzVGltZUZyYW1lKCl7cmV0dXJuIHRoaXMuX3Nlcmllc1RpbWVGcmFtZX1kYXRhVXBkYXRlZCgpe3JldHVybiB0aGlzLl9kYXRhVXBkYXRlZH11bnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQoKXtyZXR1cm4gdGhpcy5fdW5zdXBwb3J0ZWRSZXNvbHV0aW9uUmVxdWVzdGVkfWZpcmVDb21wbGV0ZWQoZSl7dGhpcy5fY29tcGxldGVkLmZpcmUoZSl9ZmlyZUNyZWF0ZWQoZSl7dGhpcy5fY3JlYXRlZC5maXJlKGUpfWZpcmVNb2RpZmllZCgpe3RoaXMuX21vZGlmaWVkLmZpcmUoKX1maXJlQ2xlYXJlZCgpe3RoaXMuX2NsZWFyZWQuZmlyZSgpfWZpcmVMb2FkaW5nKGUpe3RoaXMuX2xvYWRpbmcuZmlyZShlKX1maXJlRXJyb3IoKXt0aGlzLl9lcnJvci5maXJlKCl9ZmlyZVN5bWJvbEVycm9yKGUpe3RoaXMuX3N5bWJvbEVycm9yLmZpcmUoZSksdGhpcy5maXJlRXJyb3IoKX1maXJlU3ltYm9sUmVzb2x2ZWQoZSl7dGhpcy5fc3ltYm9sUmVzb2x2ZWQuZmlyZShlKX1maXJlU2VyaWVzRXJyb3IoZSl7dGhpcy5fc2VyaWVzRXJyb3IuZmlyZShlKSx0aGlzLmZpcmVFcnJvcigpfWZpcmVTeW1ib2xJbnZhbGlkKCl7dGhpcy5fc3ltYm9sSW52YWxpZC5maXJlKCl9ZmlyZVN5bWJvbE5vdFBlcm1pdHRlZChlKXt0aGlzLl9zeW1ib2xOb3RQZXJtaXR0ZWQuZmlyZShlKX1maXJlU3ltYm9sR3JvdXBOb3RQZXJtaXR0ZWQoZSl7dGhpcy5fc3ltYm9sR3JvdXBOb3RQZXJtaXR0ZWQuZmlyZShlKX1maXJlQ2hhcnRUeXBlTm90UGVybWl0dGVkKGUpe3RoaXMuX2NoYXJ0VHlwZU5vdFBlcm1pdHRlZC5maXJlKGUpLHRoaXMuZmlyZUVycm9yKCl9ZmlyZUludHJhZGF5U3ByZWFkTm90UGVybWl0dGVkKCl7dGhpcy5faW50cmFkYXlTcHJlYWROb3RQZXJtaXR0ZWQuZmlyZSgpLHRoaXMuZmlyZUVycm9yKCl9ZmlyZUludHJhZGF5RXhjaGFuZ2VOb3RQZXJtaXR0ZWQoKXt0aGlzLl9pbnRyYWRheUV4Y2hhbmdlTm90UGVybWl0dGVkLmZpcmUoKSx0aGlzLmZpcmVFcnJvcigpfWZpcmVDdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZChlKXt0aGlzLl9jdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZC5maXJlKGUpLHRoaXMuZmlyZUVycm9yKCl9ZmlyZVNlY29uZHNJbnRlcnZhbE5vdFBlcm1pdHRlZCgpe3RoaXMuX3NlY29uZHNJbnRlcnZhbE5vdFBlcm1pdHRlZC5maXJlKCksdGhpcy5maXJlRXJyb3IoKX1maXJlVGlja3NJbnRlcnZhbE5vdFBlcm1pdHRlZCgpe3RoaXMuX3RpY2tzSW50ZXJ2YWxOb3RQZXJtaXR0ZWQuZmlyZSgpLHRoaXMuZmlyZUVycm9yKCl9ZmlyZUJhclJlY2VpdmVkKGUpe3RoaXMuX2JhclJlY2VpdmVkLmZpcmUoZSl9ZmlyZVNlcmllc1RpbWVGcmFtZShlLHQscyxyLGkpe3RoaXMuX3Nlcmllc1RpbWVGcmFtZS5maXJlKGUsdCxzLHIsaSl9ZmlyZURhdGFVcGRhdGVkKGUsdCxzLHIsaSl7dGhpcy5fZGF0YVVwZGF0ZWQuZmlyZShlLHQscyxyLGkpfWZpcmVVbnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQoKXt0aGlzLl91bnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQuZmlyZSgpfX12YXIgbT1zKDg3MTAzNykscD1zKDg1Mjk4MCkseT1zKDMyMjU1NCk7Y29uc3QgZz0veyhcdyspfS9nO2NvbnN0IGI9KDAsYS5nZXRMb2dnZXIpKCJDaGFydC5TZXJpZXNEYXRhU291cmNlIik7dmFyIGY7IWZ1bmN0aW9uKGUpe2VbZS5JZGxlPTBdPSJJZGxlIixlW2UuQXdhaXRpbmdDb25uZWN0aW9uPTFdPSJBd2FpdGluZ0Nvbm5lY3Rpb24iLGVbZS5Bd2FpdGluZ0ZpcnN0RGF0YVVwZGF0ZT0yXT0iQXdhaXRpbmdGaXJzdERhdGFVcGRhdGUiLGVbZS5BY3RpdmU9M109IkFjdGl2ZSJ9KGZ8fChmPXt9KSk7bGV0IFM9MTtsZXQgdj0xO2Z1bmN0aW9uIEkoZSl7cmV0dXJuKDAsYy5leHRyYWN0RXh0ZW5kZWRTeW1ib2wpKGUpLnN5bWJvbH1jbGFzcyBDe2NvbnN0cnVjdG9yKGUsdCxzLHIpe3RoaXMuX2V4dFN5bWJvbD1udWxsLHRoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbD0iIix0aGlzLl9jcmVhdGVTZXJpZXNPdmVycmlkZGVuUGFyYW1zPTAsdGhpcy5faW5zdGFuY2VJZD1udWxsLHRoaXMuX3N5bWJvbEluc3RhbmNlSWQ9bnVsbCx0aGlzLl9yZXNvbHV0aW9uPW51bGwsdGhpcy5fdGltZUZyYW1lPW51bGwsdGhpcy5fZGF0YT1uZXcgbi5TZXJpZXNEYXRhLHRoaXMuX2RhdGFFdmVudHM9bmV3IF8sdGhpcy5fc3RhdHVzPWYuSWRsZSx0aGlzLl90dXJuYXJvdW5kQ291bnRlcj0xLHRoaXMuX2JvdW5kT25HYXRld2F5SXNDb25uZWN0ZWRDaGFuZ2VkPXRoaXMuX29uR2F0ZXdheUlzQ29ubmVjdGVkQ2hhbmdlZC5iaW5kKHRoaXMpLHRoaXMuX2JvdW5kT25NZXNzYWdlPXRoaXMuX29uTWVzc2FnZS5iaW5kKHRoaXMpLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlPVByb21pc2UucmVzb2x2ZSgpLHRoaXMuX2dhdGV3YXk9ZSx0aGlzLl90dXJuYXJvdW5kUHJlZml4PXQsdGhpcy5fY3JlYXRlU2VyaWVzUGFyYW1zPSgwLGguaW5pdGlhbFJlcXVlc3RPcHRpb25zVG9OdW1CYXJzKShzPz97Y291bnQ6aC5ERUZBVUxUX05VTUJBUlN9KSx0aGlzLl90aW1lRnJhbWU9cnx8bnVsbCx0aGlzLl9nYXRld2F5LmlzQ29ubmVjdGVkKCkuc3Vic2NyaWJlKHRoaXMuX2JvdW5kT25HYXRld2F5SXNDb25uZWN0ZWRDaGFuZ2VkKX1kZXN0cm95KCl7dGhpcy5zdG9wKCksdGhpcy5fZ2F0ZXdheS5pc0Nvbm5lY3RlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX2JvdW5kT25HYXRld2F5SXNDb25uZWN0ZWRDaGFuZ2VkKSx0aGlzLl9kYXRhRXZlbnRzLmRlc3Ryb3koKX1jYW5Nb2RpZnlTZXJpZXMoZSx0KXtjb25zdCBzPSEoMCwKaS5kZWVwRXF1YWxzKSh0aGlzLl9leHRTeW1ib2wsZSlbMF0scj1udWxsPT09dGhpcy5fcmVzb2x1dGlvbnx8IW8uSW50ZXJ2YWwuaXNFcXVhbCh0aGlzLl9yZXNvbHV0aW9uLHQpO3JldHVybiBzfHxyfW1vZGlmeVNlcmllcyhlLHQscz1udWxsLGE9ITEsbj1udWxsKXthJiYoYi5sb2dOb3JtYWwoIkR1ZSB0byBmb3JjZSBmbGFnIGNsZWFyaW5nIHN5bWJvbCAmIHJlc29sdXRpb24gdG8gZm9yY2UgcmUtcmVxdWVzdGluZyBkYXRhLiIpLHRoaXMuX2V4dFN5bWJvbD1udWxsLHRoaXMuX3Jlc29sdXRpb249bnVsbCk7Y29uc3QgZD1JKGUpLGw9IXRoaXMuc3ltYm9sU2FtZUFzUmVzb2x2ZWQoZCk7aWYobCYmKHRoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbD0iIiksdGhpcy5fZXh0U3ltYm9sJiYhbCl7Y29uc3QgdD1JKHRoaXMuX2V4dFN5bWJvbCk7KDAsYy5yZXBsYWNlRXh0ZW5kZWRTeW1ib2wpKGUsdCl9Y29uc3QgaD10aGlzLl9leHRTeW1ib2wsdT10aGlzLl9yZXNvbHV0aW9uO2lmKHRoaXMuX2V4dFN5bWJvbD1lLHRoaXMuX3Jlc29sdXRpb249dCxudWxsPT09dGhpcy5faW5zdGFuY2VJZClyZXR1cm4gdm9pZCh0aGlzLl90aW1lRnJhbWU9cyk7Y29uc3QgXz0hKDAsaS5kZWVwRXF1YWxzKShoLGUpWzBdO18mJigwLGMucmVwbGFjZUV4dGVuZGVkU3ltYm9sKSh0aGlzLl9leHRTeW1ib2wsZCk7Y29uc3QgbT1udWxsPT09dXx8IW8uSW50ZXJ2YWwuaXNFcXVhbCh1LHQpOyhffHxtfHxudWxsIT09cykmJih0aGlzLl90aW1lRnJhbWU9bnVsbCwoX3x8bSkmJnRoaXMuX3R1cm5hcm91bmRDb3VudGVyKyssXyYmdGhpcy5fcmVzb2x2ZVN5bWJvbCgpLHRoaXMuX2dhdGV3YXkubW9kaWZ5U2VyaWVzKHRoaXMuX2luc3RhbmNlSWQsdGhpcy50dXJuYXJvdW5kKCksKDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zeW1ib2xJbnN0YW5jZUlkKSx0aGlzLl9yZXNvbHV0aW9uLG4scyx0aGlzLl9ib3VuZE9uTWVzc2FnZSksdGhpcy5fZGF0YUV2ZW50cy5maXJlTW9kaWZpZWQoKSl9cmVxdWVzdE1vcmVEYXRhKGUpe251bGwhPT10aGlzLl9pbnN0YW5jZUlkJiZ0aGlzLl9nYXRld2F5LnJlcXVlc3RNb3JlRGF0YSh0aGlzLl9pbnN0YW5jZUlkLGUsdGhpcy5fYm91bmRPbk1lc3NhZ2UpfXJlcXVlc3RNb3JlVGlja21hcmtzKGUpe251bGwhPT10aGlzLl9pbnN0YW5jZUlkJiZ0aGlzLl9nYXRld2F5LnJlcXVlc3RNb3JlVGlja21hcmtzKHRoaXMuX2luc3RhbmNlSWQsZSx0aGlzLl9ib3VuZE9uTWVzc2FnZSl9c2V0RnV0dXJlVGlja21hcmtzTW9kZShlKXtudWxsIT09dGhpcy5faW5zdGFuY2VJZCYmdGhpcy5fZ2F0ZXdheS5zZXRGdXR1cmVUaWNrbWFya3NNb2RlKGUpfWlzU3RhcnRlZCgpe3JldHVybiB0aGlzLl9zdGF0dXMhPT1mLklkbGV9aXNBY3RpdmUoKXtyZXR1cm4gdGhpcy5fc3RhdHVzPT09Zi5BY3RpdmV9cmVzb2x1dGlvbigpe3JldHVybiB0aGlzLl9yZXNvbHV0aW9ufXN0YXJ0KCl7dGhpcy5pc1N0YXJ0ZWQoKT9iLmxvZ05vcm1hbCgic3RhcnQ6IGRhdGEgc291cmNlIGlzIGFscmVhZHkgc3RhcnRlZCwgbm90aGluZyB0byBkbyIpOigoMCxyLmFzc2VydCkobnVsbCE9PXRoaXMuX2V4dFN5bWJvbCwic3ltYm9sIG11c3QgYmUgc2V0IGJlZm9yZSBzdGFydCIpLCgwLHIuYXNzZXJ0KShudWxsIT09dGhpcy5fcmVzb2x1dGlvbiwicmVzb2x1dGlvbiBtdXN0IGJlIHNldCBiZWZvcmUgc3RhcnQiKSx0aGlzLl9nYXRld2F5LmlzQ29ubmVjdGVkKCkudmFsdWUoKT90aGlzLl9jcmVhdGVTZXJpZXMoKTp0aGlzLl9jaGFuZ2VTdGF0dXNUbyhmLkF3YWl0aW5nQ29ubmVjdGlvbikpfXN0b3AoKXt0aGlzLmlzU3RhcnRlZCgpPyhudWxsIT09dGhpcy5faW5zdGFuY2VJZCYmKHRoaXMuX2dhdGV3YXkucmVtb3ZlU2VyaWVzKHRoaXMuX2luc3RhbmNlSWQpLHRoaXMuX2luc3RhbmNlSWQ9bnVsbCksdGhpcy5fc3ltYm9sSW5zdGFuY2VJZD1udWxsLHRoaXMuX2NoYW5nZVN0YXR1c1RvKGYuSWRsZSkpOmIubG9nTm9ybWFsKCJzdG9wOiBkYXRhIHNvdXJjZSBpcyBhbHJlYWR5IHN0b3BwZWQsIG5vdGhpbmcgdG8gZG8iKX1pbnN0YW5jZUlkKCl7cmV0dXJuIHRoaXMuX2luc3RhbmNlSWR9ZGF0YSgpe3JldHVybiB0aGlzLl9kYXRhfXNldERhdGEoZSl7dGhpcy5fZGF0YT1lfXNldFRpbWVmcmFtZShlKXt0aGlzLl90aW1lRnJhbWU9ZX1jbGVhckRhdGEoKXt0aGlzLmlzU3RhcnRlZCgpP3RoaXMuX2VucXVldWVVcGRhdGUoKCgpPT50aGlzLl9jbGVhckRhdGFJbXBsKCkpKTp0aGlzLl9jbGVhckRhdGFJbXBsKCl9ZGF0YUV2ZW50cygpe3JldHVybiB0aGlzLl9kYXRhRXZlbnRzfXR1cm5hcm91bmQoKXtyZXR1cm5gJHt0aGlzLl90dXJuYXJvdW5kUHJlZml4fSR7dGhpcy5fdHVybmFyb3VuZENvdW50ZXJ9YH1zeW1ib2xJbnN0YW5jZUlkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbEluc3RhbmNlSWR9c3ltYm9sKCl7cmV0dXJuIHRoaXMuX2V4dFN5bWJvbH11cGRhdGVFeHRTeW1ib2woZSl7dGhpcy5fZXh0U3ltYm9sPWV9bW92ZURhdGEoZSl7cmV0dXJuIHRoaXMuX2VucXVldWVVcGRhdGUoKCgpPT50aGlzLl9kYXRhLm1vdmVEYXRhKGUpKSl9c2V0SW5pdGlhbFJlcXVlc3RPcHRpb25zKGUpe3RoaXMuX2NyZWF0ZVNlcmllc092ZXJyaWRkZW5QYXJhbXM9KDAsaC5pbml0aWFsUmVxdWVzdE9wdGlvbnNUb051bUJhcnMpKGUpfXN5bWJvbFNhbWVBc1Jlc29sdmVkKGUpe3JldHVybiBudWxsIT09dGhpcy5fZXh0U3ltYm9sJiYoMCx5LnN5bWJvbFNhbWVBc1Jlc29sdmVkKShlLEkodGhpcy5fZXh0U3ltYm9sKSx0aGlzLl9sYXN0UmVzb2x2ZWRTeW1ib2wpfXJlc29sdmVkU3ltYm9sKCl7cmV0dXJuIG51bGw9PT10aGlzLl9leHRTeW1ib2w/bnVsbDpJKHRoaXMuX2V4dFN5bWJvbCl9c3RhdGljIHNldE5vblNlcmllc0RhdGFVbnBhY2tlcihlKXtDLl9ub25TZXJpZXNEYXRhVW5wYWNrZXI9ZX1zdGF0aWMgc2V0U3ltYm9sRW5jb2RlcihlKXtDLl9lbmNvZGVTeW1ib2w9ZX1zdGF0aWMgc2V0RXh0cmFjdFN5bWJvbEZlYXR1cmVzZXRzKGUpe0MuX2V4dHJhY3RTeW1ib2xOYW1lRmVhdHVyZXNldHM9ZX1fcmVzb2x2ZVN5bWJvbCgpewpudWxsIT09dGhpcy5fZXh0U3ltYm9sJiYodGhpcy5fc3ltYm9sSW5zdGFuY2VJZD10aGlzLl9nYXRld2F5LnJlc29sdmVTeW1ib2woInNkc19zeW1fIitTKyssQy5fZW5jb2RlU3ltYm9sKHRoaXMuX2V4dFN5bWJvbCksdGhpcy5fYm91bmRPbk1lc3NhZ2UpKX1fY2xlYXJEYXRhSW1wbCgpe3RoaXMuX2RhdGEuY2xlYXIoKSx0aGlzLl9kYXRhRXZlbnRzLmZpcmVDbGVhcmVkKCl9X2NoYW5nZVN0YXR1c1RvKGUpeygwLHIuYXNzZXJ0KSh0aGlzLl9zdGF0dXMhPT1lLCJTb3VyY2UgYW5kIGRlc3RpbmF0aW9uIHN0YXR1cyBzaG91bGQgYmUgZGlzdGluY3QiKSxiLmxvZ05vcm1hbChgU3RhdHVzIGNoYW5nZWQgZnJvbSAke2ZbdGhpcy5fc3RhdHVzXX0gdG8gJHtmW2VdfWApLHRoaXMuX3N0YXR1cz1lfV9jcmVhdGVTZXJpZXMoKXsoMCxyLmFzc2VydCkodGhpcy5fc3RhdHVzIT09Zi5BY3RpdmUsJ1N0YXR1cyBzaG91bGQgbm90IGJlICJBY3RpdmUiIHdoZW4gY3JlYXRpbmcgYSBzdHVkeScpLHRoaXMuX2luc3RhbmNlSWQ9InNkc18iK3YrKyx0aGlzLl9yZXNvbHZlU3ltYm9sKCk7Y29uc3QgZT10aGlzLl9jcmVhdGVTZXJpZXNPdmVycmlkZGVuUGFyYW1zfHx0aGlzLl9jcmVhdGVTZXJpZXNQYXJhbXM7dGhpcy5fY3JlYXRlU2VyaWVzT3ZlcnJpZGRlblBhcmFtcyYmKHRoaXMuX2NyZWF0ZVNlcmllc092ZXJyaWRkZW5QYXJhbXM9MCksdGhpcy5fZ2F0ZXdheS5jcmVhdGVTZXJpZXModGhpcy5faW5zdGFuY2VJZCx0aGlzLnR1cm5hcm91bmQoKSwoMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N5bWJvbEluc3RhbmNlSWQpLCgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fcmVzb2x1dGlvbiksZSx0aGlzLl90aW1lRnJhbWUsdGhpcy5fYm91bmRPbk1lc3NhZ2UpLHRoaXMuX3RpbWVGcmFtZT1udWxsLHRoaXMuX2NoYW5nZVN0YXR1c1RvKGYuQXdhaXRpbmdGaXJzdERhdGFVcGRhdGUpLHRoaXMuX2RhdGFFdmVudHMuZmlyZUNyZWF0ZWQodGhpcy5faW5zdGFuY2VJZCl9X29uR2F0ZXdheUlzQ29ubmVjdGVkQ2hhbmdlZChlKXtlP3RoaXMuX29uR2F0ZXdheUNvbm5lY3RlZCgpOnRoaXMuX29uR2F0ZXdheURpc2Nvbm5lY3RlZCgpfV9vbkdhdGV3YXlDb25uZWN0ZWQoKXt0aGlzLl9zdGF0dXM9PT1mLkF3YWl0aW5nQ29ubmVjdGlvbiYmdGhpcy5fY3JlYXRlU2VyaWVzKCl9X29uR2F0ZXdheURpc2Nvbm5lY3RlZCgpe3RoaXMuX3N0YXR1cyE9PWYuSWRsZSYmdGhpcy5fc3RhdHVzIT09Zi5Bd2FpdGluZ0Nvbm5lY3Rpb24mJih0aGlzLl9pbnN0YW5jZUlkPW51bGwsdGhpcy5fY2hhbmdlU3RhdHVzVG8oZi5Bd2FpdGluZ0Nvbm5lY3Rpb24pKSx0aGlzLl90dXJuYXJvdW5kQ291bnRlcj0xfV9vbk1lc3NhZ2UoZSl7dGhpcy5fZW5xdWV1ZVVwZGF0ZSgoKCk9PnRoaXMuX29uTWVzc2FnZUltcGwoZSkpKX1hc3luYyBfb25NZXNzYWdlSW1wbChlKXtzd2l0Y2goZS5tZXRob2Qpe2Nhc2Uic3ltYm9sX3Jlc29sdmVkIjp7Y29uc3RbdCxzXT1lLnBhcmFtcztpZih0IT09dGhpcy5fc3ltYm9sSW5zdGFuY2VJZCl7bnVsbCE9PXRoaXMuX3N5bWJvbEluc3RhbmNlSWQmJmIubG9nTm9ybWFsKGBSZXNvbHZlIGZvciBvbGQgc3ltYm9sLCBleHBlY3RlZDogJHt0aGlzLl9zeW1ib2xJbnN0YW5jZUlkfSwgYWN0dWFsICR7ZS5wYXJhbXNbMF19YCk7YnJlYWt9dGhpcy5fb25TeW1ib2xSZXNvbHZlZChzKTticmVha31jYXNlInN5bWJvbF9lcnJvciI6aWYoZS5wYXJhbXNbMF0hPT10aGlzLl9zeW1ib2xJbnN0YW5jZUlkKXtudWxsIT09dGhpcy5fc3ltYm9sSW5zdGFuY2VJZCYmYi5sb2dOb3JtYWwoYFN5bWJvbCBlcnJvciBmb3Igb2xkIHN5bWJvbCwgZXhwZWN0ZWQ6ICR7dGhpcy5fc3ltYm9sSW5zdGFuY2VJZH0sIGFjdHVhbCAke2UucGFyYW1zWzBdfWApO2JyZWFrfXRoaXMuX29uU3ltYm9sRXJyb3IoZSk7YnJlYWs7Y2FzZSJzZXJpZXNfdGltZWZyYW1lIjp7Y29uc3RbdCxzLHIsaSxhLG8sbl09ZS5wYXJhbXM7aWYoIXRoaXMuX2NoZWNrVHVybmFyb3VuZCh0LHMpKXtiLmxvZ05vcm1hbChgVGltZSBmcmFtZSBmb3Igb2xkIGRhdGEsIGV4cGVjdGVkOiAke3RoaXMuX3N5bWJvbEluc3RhbmNlSWR9ICgke3RoaXMudHVybmFyb3VuZCgpfSksIGFjdHVhbCAke3R9ICgke3N9KWApO2JyZWFrfXRoaXMuX29uU2VyaWVzVGltZUZyYW1lKHIsaSxhLG8sbik7YnJlYWt9Y2FzZSJzZXJpZXNfZXJyb3IiOntjb25zdFt0LHNdPWUucGFyYW1zO2lmKCF0aGlzLl9jaGVja1R1cm5hcm91bmQodCxzKSl7Yi5sb2dOb3JtYWwoYFNlcmllcyBlcnJvciBmb3Igb2xkIGRhdGEsIGV4cGVjdGVkOiAke3RoaXMuX3N5bWJvbEluc3RhbmNlSWR9ICgke3RoaXMudHVybmFyb3VuZCgpfSksIGFjdHVhbCAke3R9ICgke3N9KWApO2JyZWFrfXRoaXMuX29uU2VyaWVzRXJyb3IoZS5wYXJhbXNbMl0pO2JyZWFrfWNhc2Uic2VyaWVzX2xvYWRpbmciOntjb25zdFt0LHNdPWUucGFyYW1zO2lmKCF0aGlzLl9jaGVja1R1cm5hcm91bmQodCxzKSlicmVhazt0aGlzLl9vblNlcmllc0xvYWRpbmcoZS50aW1lKTticmVha31jYXNlInNlcmllc19jb21wbGV0ZWQiOntjb25zdFt0LHMscixpXT1lLnBhcmFtcztpZighdGhpcy5fY2hlY2tUdXJuYXJvdW5kKHQscikpe2IubG9nTm9ybWFsKGBTZXJpZXMgY29tcGxldGVkIGZvciBvbGQgZGF0YSwgZXhwZWN0ZWQ6ICR7dGhpcy5fc3ltYm9sSW5zdGFuY2VJZH0gKCR7dGhpcy50dXJuYXJvdW5kKCl9KSwgYWN0dWFsICR7dH0gKCR7cn0pYCk7YnJlYWt9dGhpcy5fb25TZXJpZXNDb21wbGV0ZWQocyxlLnRpbWUsaSk7YnJlYWt9Y2FzZSJkYXRhX3VwZGF0ZSI6aWYoIXRoaXMuX2NoZWNrVHVybmFyb3VuZChlLnBhcmFtcy5jdXN0b21JZCxlLnBhcmFtcy50dXJuYXJvdW5kKSl7Yi5sb2dOb3JtYWwoYERhdGEgdXBkYXRlIGZvciBvbGQgZGF0YSwgZXhwZWN0ZWQ6ICR7dGhpcy5fc3ltYm9sSW5zdGFuY2VJZH0gKCR7dGhpcy50dXJuYXJvdW5kKCl9KSwgYWN0dWFsICR7ZS5wYXJhbXMuY3VzdG9tSWR9ICgke2UucGFyYW1zLnR1cm5hcm91bmR9KWApO2JyZWFrfQphd2FpdCB0aGlzLl9vbkRhdGFVcGRhdGUoZS5wYXJhbXMucGxvdHMsZS5wYXJhbXMubm9uc2VyaWVzLGUucGFyYW1zLmxhc3RCYXIpO2JyZWFrO2Nhc2UiY2xlYXJfZGF0YSI6e2lmKGUucGFyYW1zLnR1cm5hcm91bmQhPT10aGlzLnR1cm5hcm91bmQoKSl7Yi5sb2dOb3JtYWwoYENsZWFyIGRhdGEgZm9yIG9sZCBkYXRhLCBleHBlY3RlZDogJHt0aGlzLnR1cm5hcm91bmQoKX0sIGFjdHVhbCAke2UucGFyYW1zLnR1cm5hcm91bmR9YCk7YnJlYWt9Y29uc3QgdD10aGlzLl9kYXRhLmZpcnN0KCk7dGhpcy5fY2xlYXJEYXRhSW1wbCgpLHRoaXMuX2RhdGFFdmVudHMuZmlyZURhdGFVcGRhdGVkKHZvaWQgMCwhMSxudWxsLCExLHQpO2JyZWFrfX19X29uU2VyaWVzRXJyb3IoZSl7bGV0IHQscztpZigic3RyaW5nIj09dHlwZW9mIGUpcz17ZXJyb3I6ZX0sdD1lO2Vsc2UgaWYocz1lLGUuY3R4KXtjb25zdCBzPXt9O09iamVjdC5lbnRyaWVzKGUuY3R4KS5mb3JFYWNoKCgoW2UsdF0pPT57c1tlXT10LnRvU3RyaW5nKCl9KSksaT1lLmVycm9yLGE9cyx0PWkucmVwbGFjZShnLCgoZSx0KT0+dm9pZCAwIT09YVt0XT9hW3RdOmUpKX1lbHNlIHQ9ZS5lcnJvcjt2YXIgaSxhO2lmKHQuc3RhcnRzV2l0aCgic3R1ZHlfbm90X2F1dGg6Iikpe2NvbnN0IGU9dC5zcGxpdCgiOiIsMilbMV0uc3BsaXQoIkAiLDIpWzBdO2lmKFsiQmFyU2V0UmVua28iLCJCYXJTZXRQcmljZUJyZWFrIiwiQmFyU2V0S2FnaSIsIkJhclNldFBuRiJdLmluY2x1ZGVzKGUpKXRoaXMuX2RhdGFFdmVudHMuZmlyZUNoYXJ0VHlwZU5vdFBlcm1pdHRlZChlKTtlbHNle2lmKCJCYXJTZXRTcHJlYWQiPT09ZSlyZXR1cm4gdm9pZCB0aGlzLl9kYXRhRXZlbnRzLmZpcmVJbnRyYWRheVNwcmVhZE5vdFBlcm1pdHRlZCgpO2lmKCJCYXJTZXRSYW5nZSI9PT1lKXtjb25zdCBlPWAkeygwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fZXh0U3ltYm9sKS5pbnB1dHMucmFuZ2V9UmA7dGhpcy5fZGF0YUV2ZW50cy5maXJlQ3VzdG9tSW50ZXJ2YWxOb3RQZXJtaXR0ZWQoZSl9fX1lbHNle2lmKHQuc3RhcnRzV2l0aCgidW5zdXBwb3J0ZWQiKSlyZXR1cm4gdm9pZCB0aGlzLl9kYXRhRXZlbnRzLmZpcmVVbnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQoKTsicmVzb2x1dGlvbl9ub3RfZW50aXRsZWQiPT09dD90aGlzLl9kYXRhRXZlbnRzLmZpcmVJbnRyYWRheUV4Y2hhbmdlTm90UGVybWl0dGVkKCk6ImN1c3RvbV9yZXNvbHV0aW9uIj09PXQ/dGhpcy5fZGF0YUV2ZW50cy5maXJlQ3VzdG9tSW50ZXJ2YWxOb3RQZXJtaXR0ZWQoKDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9yZXNvbHV0aW9uKSk6InNlY29uZHNfbm90X2VudGl0bGVkIj09PXQ/dGhpcy5fZGF0YUV2ZW50cy5maXJlU2Vjb25kc0ludGVydmFsTm90UGVybWl0dGVkKCk6InRpY2tzX25vdF9lbnRpdGxlZCI9PT10JiZ0aGlzLl9kYXRhRXZlbnRzLmZpcmVUaWNrc0ludGVydmFsTm90UGVybWl0dGVkKCl9dGhpcy5fZGF0YUV2ZW50cy5maXJlU2VyaWVzRXJyb3Iocyl9X29uU2VyaWVzVGltZUZyYW1lKGUsdCxzLHIsaSl7dGhpcy5fZGF0YUV2ZW50cy5maXJlU2VyaWVzVGltZUZyYW1lKGUsdCxzLHI/PyEwLGkpfV9vblN5bWJvbEVycm9yKGUpe2lmKGUucGFyYW1zWzFdPT09ZC5wZXJtaXNzaW9uRGVuaWVkKXN3aXRjaChlLnBhcmFtc1syXSl7Y2FzZSBkLlN5bWJvbEVycm9yUGVybWlzc2lvbkRlbmllZFJlYXNvbi5TeW1ib2w6dGhpcy5fZGF0YUV2ZW50cy5maXJlU3ltYm9sTm90UGVybWl0dGVkKGUucGFyYW1zWzNdKTticmVhaztjYXNlIGQuU3ltYm9sRXJyb3JQZXJtaXNzaW9uRGVuaWVkUmVhc29uLkdyb3VwUGVybWlzc2lvbjp0aGlzLl9kYXRhRXZlbnRzLmZpcmVTeW1ib2xHcm91cE5vdFBlcm1pdHRlZChlLnBhcmFtc1szXSk7YnJlYWs7ZGVmYXVsdDp0aGlzLl9kYXRhRXZlbnRzLmZpcmVTeW1ib2xOb3RQZXJtaXR0ZWQoZS5wYXJhbXNbMl0pfWVsc2UgZS5wYXJhbXNbMV09PT1kLmludmFsaWRTeW1ib2wmJnRoaXMuX2RhdGFFdmVudHMuZmlyZVN5bWJvbEludmFsaWQoKTt0aGlzLl9kYXRhRXZlbnRzLmZpcmVTeW1ib2xFcnJvcihlLnBhcmFtc1sxXSl9X29uU3ltYm9sUmVzb2x2ZWQoZSl7dGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sPSgwLHIuZW5zdXJlTm90TnVsbCkoKDAscC5leHRyYWN0U3ltYm9sTmFtZUZyb21TeW1ib2xJbmZvKShDLl9leHRyYWN0U3ltYm9sTmFtZUZlYXR1cmVzZXRzLGUsIiIpKSx0aGlzLl9kYXRhRXZlbnRzLmZpcmVTeW1ib2xSZXNvbHZlZChlKX1hc3luYyBfb25EYXRhVXBkYXRlKGUsdCxzKXt0aGlzLl9vbkRhdGFVbnBhY2tlZChlLHMsYXdhaXQoMCxtLnBhcnNlSmFwYW5lc2VQcm9qZWN0aW9uQmFycykodCxDLl9ub25TZXJpZXNEYXRhVW5wYWNrZXIpKX1fZW5xdWV1ZVVwZGF0ZShlKXtyZXR1cm4gdGhpcy5fb25nb2luZ0RhdGFVcGRhdGU9dGhpcy5fb25nb2luZ0RhdGFVcGRhdGUudGhlbihlLGUpLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlfV9vbkRhdGFVbnBhY2tlZChlLHQscyl7aWYodGhpcy5fc3RhdHVzPT09Zi5JZGxlKXJldHVybjt0aGlzLl9zdGF0dXM9PT1mLkF3YWl0aW5nRmlyc3REYXRhVXBkYXRlJiYodGhpcy5fY2hhbmdlU3RhdHVzVG8oZi5BY3RpdmUpLHRoaXMuX2NsZWFyRGF0YUltcGwoKSk7Y29uc3Qgcj10aGlzLl9kYXRhLmJhcnMoKS5zaXplKCksaT10aGlzLl9kYXRhLmZpcnN0KCksYT10aGlzLl9kYXRhLmJhcnMoKS5maXJzdEluZGV4KCksbz10aGlzLl9kYXRhLm1lcmdlUmVndWxhckJhcnMoZSk7bnVsbCE9PXMmJih0aGlzLl9kYXRhLm5zQmFycygpLmNsZWFyKCksdGhpcy5fZGF0YS5uc0JhcnMoKS5tZXJnZShzLnByb2plY3Rpb25QbG90cyksdGhpcy5fZGF0YS5sYXN0UHJvamVjdGlvblByaWNlPXMubGFzdFByaWNlLG51bGwhPT1zLmJveFNpemUmJih0aGlzLl9kYXRhLmJveFNpemU9cy5ib3hTaXplKSx0aGlzLl9kYXRhLnJldmVyc2FsQW1vdW50PXMucmV2ZXJzYWxBbW91bnQpO2NvbnN0IG49bnVsbD09PWEsZD1ufHxudWxsIT09byYmby5pbmRleDxhO3RoaXMuX2RhdGFFdmVudHMuZmlyZURhdGFVcGRhdGVkKHQsZCxvLG4saSksCnIhPT10aGlzLl9kYXRhLmJhcnMoKS5zaXplKCkmJm51bGwhPT1vJiZ0aGlzLl9kYXRhRXZlbnRzLmZpcmVCYXJSZWNlaXZlZChvKX1fb25TZXJpZXNMb2FkaW5nKGUpe3RoaXMuX2RhdGFFdmVudHMuZmlyZUxvYWRpbmcoZSl9X29uU2VyaWVzQ29tcGxldGVkKGUsdCxzKXt0aGlzLl9kYXRhRXZlbnRzLmZpcmVDb21wbGV0ZWQoe3VwZGF0ZU1vZGU6ZSx0aW1lOnQsZmxhZ3M6c30pfV9jaGVja1R1cm5hcm91bmQoZSx0KXtyZXR1cm4gdGhpcy5faW5zdGFuY2VJZD09PWUmJih2b2lkIDA9PT10fHx0PT09dGhpcy50dXJuYXJvdW5kKCkpfX1DLl9ub25TZXJpZXNEYXRhVW5wYWNrZXI9bC51bnBhY2tOb25TZXJpZXNEYXRhLEMuX2VuY29kZVN5bWJvbD1jLmVuY29kZUV4dGVuZGVkU3ltYm9sLEMuX2V4dHJhY3RTeW1ib2xOYW1lRmVhdHVyZXNldHM9e3BheUF0dGVudGlvblRvVGlja2VyTm90U3ltYm9sOiExLGNoYXJ0aW5nTGlicmFyeVNpbmdsZVN5bWJvbFJlcXVlc3Q6ITEsdXNlVGlja2VyT25TeW1ib2xJbmZvVXBkYXRlOiExLHVwcGVyY2FzZUluc3RydW1lbnROYW1lczohMX19LDEyMTQ3OShlLHQscyl7cy5kKHQse2dldFNlcnZlckludGVydmFsOigpPT5pfSk7dmFyIHI9cygyNTQ2NzMpO2Z1bmN0aW9uIGkoZSl7cmV0dXJuIHIuSW50ZXJ2YWwuaXNSYW5nZShlKT8iMSI6ZX19LDk5NTY1NShlLHQscyl7cy5kKHQse3ZhbGlkYXRlR3JhcGhpY3NDb21tYW5kczooKT0+YX0pO3ZhciByPXMoNjAxODQxKSxpPXMoMTM4NjM4KTtmdW5jdGlvbiBhKGUpe2lmKCEoMCxyLmlzT2JqZWN0KShlKSl0aHJvdyBuZXcgRXJyb3IoIkdyYXBoaWNzIGNvbW1hbmRzIHNob3VsZCBiZSB3cmFwcGVkIGluIGFuIG9iamVjdCIpO2lmKCgwLHIuaGFzUHJvcGVydHkpKGUsImNyZWF0ZSIpLCgwLHIuaGFzUHJvcGVydHkpKGUsImVyYXNlIikpe2NvbnN0IHQ9ZS5lcmFzZTsoMCxpLmFzc2VydCkoQXJyYXkuaXNBcnJheSh0KSwiQ29sbGVjdGlvbiBvZiBlcmFzZSBjb21tYW5kcyBzaG91bGQgYmUgYXJyYXkiKTtmb3IoY29uc3QgZSBvZiB0KXtpZighKDAsci5pc09iamVjdCkoZSl8fCEoMCxyLmhhc1Byb3BlcnR5KShlLCJhY3Rpb24iKSl0aHJvdyBuZXcgRXJyb3IoIkNvbW1hbmQgc2hvdWxkIGJlIGFuIG9iamVjdCB3aXRoICdhY3Rpb24nIHByb3BlcnR5Iik7KDAsaS5hc3NlcnQpKCJhbGwiPT09ZS5hY3Rpb258fCJvbmUiPT09ZS5hY3Rpb24sIkVyYXNlIGNvbW1hbmQgYWN0aW9uIHNob3VsZCBiZSAnYWxsJyBvciAnb25lJyIpfX1yZXR1cm4gZX19LDMyMjU1NChlLHQscyl7ZnVuY3Rpb24gcihlLHQscyl7cmV0dXJuIGU9PT10fHxlPT09c31zLmQodCx7c3ltYm9sU2FtZUFzUmVzb2x2ZWQ6KCk9PnJ9KX0sODE0NTg5KGUsdCxzKXtzLmQodCx7SU5WQUxJRF9USU1FX1BPSU5UX0lOREVYOigpPT5yLFVOUExPVFRBQkxFX1RJTUVfUE9JTlRfSU5ERVg6KCk9Pml9KTtjb25zdCByPS0yZTYsaT0tMWU2fSw4NjY3NDgoZSx0LHMpe2FzeW5jIGZ1bmN0aW9uIHIoZSl7Y29uc3Rbe2luZmxhdGVabGliOnQsaW5mbGF0ZVJhdzpyfSx7dW5wYWNrSW1wbDppfV09YXdhaXQgUHJvbWlzZS5hbGwoWyJmdW5jdGlvbiI9PXR5cGVvZiBEZWNvbXByZXNzaW9uU3RyZWFtP3MuZSgyMTI2MCkudGhlbihzLmJpbmQocyw3MzUwOTkpKTpQcm9taXNlLmFsbChbcy5lKDI0Njk4KSxzLmUoNjIyMzQpXSkudGhlbihzLmJpbmQocywyOTU4NzMpKSxzLmUoMjEyNjApLnRoZW4ocy5iaW5kKHMsMjk0NDgzKSldKTtyZXR1cm4gaSh0LHIsZSl9cy5kKHQse3VucGFjazooKT0+cn0pfSwxODk4NjMoZSx0LHMpe3MuZCh0LHtTcGlubmVyOigpPT5hfSk7cyg4NDU1NzcpO3ZhciByPXMoNDQzNTU3KSxpPXMoNTY3NDc5KTtjbGFzcyBhe2NvbnN0cnVjdG9yKGUpe3RoaXMuX3Nob3duPSExLHRoaXMuX2VsPSgwLHIucGFyc2VIdG1sRWxlbWVudCkoZnVuY3Rpb24oZT0iIil7cmV0dXJuYDxkaXYgY2xhc3M9InR2LXNwaW5uZXIgJHtlfSIgcm9sZT0icHJvZ3Jlc3NiYXIiPjwvZGl2PmB9KCkpLHRoaXMuc2V0U2l6ZShpLnNwaW5uZXJTaXplTWFwW2V8fGkuREVGQVVMVF9TSVpFXSl9c3BpbihlKXtyZXR1cm4gdGhpcy5fZWwuY2xhc3NMaXN0LmFkZCgidHYtc3Bpbm5lci0tc2hvd24iKSx2b2lkIDA9PT10aGlzLl9jb250YWluZXImJih0aGlzLl9jb250YWluZXI9ZSx2b2lkIDAhPT1lJiZlLmFwcGVuZENoaWxkKHRoaXMuX2VsKSksdGhpcy5fc2hvd249ITAsdGhpc31zdG9wKGUpe3JldHVybiBlJiZ2b2lkIDAhPT10aGlzLl9jb250YWluZXImJnRoaXMuX2NvbnRhaW5lci5yZW1vdmVDaGlsZCh0aGlzLl9lbCksdGhpcy5fZWwmJnRoaXMuX2VsLmNsYXNzTGlzdC5yZW1vdmUoInR2LXNwaW5uZXItLXNob3duIiksdGhpcy5fc2hvd249ITEsdGhpc31zZXRTdHlsZShlKXtyZXR1cm4gT2JqZWN0LmtleXMoZSkuZm9yRWFjaCgodD0+e2NvbnN0IHM9ZVt0XTt2b2lkIDAhPT1zJiZ0aGlzLl9lbC5zdHlsZS5zZXRQcm9wZXJ0eSh0LHMpfSkpLHRoaXN9c3R5bGUoKXtyZXR1cm4gdGhpcy5fZWwuc3R5bGV9c2V0U2l6ZShlKXtjb25zdCB0PXZvaWQgMCE9PWU/YHR2LXNwaW5uZXItLXNpemVfJHtlfWA6IiI7cmV0dXJuIHRoaXMuX2VsLmNsYXNzTmFtZT1gdHYtc3Bpbm5lciAke3R9ICR7dGhpcy5fc2hvd24/InR2LXNwaW5uZXItLXNob3duIjoiIn1gLHRoaXN9Z2V0RWwoKXtyZXR1cm4gdGhpcy5fZWx9ZGVzdHJveSgpe3RoaXMuc3RvcCgpLGRlbGV0ZSB0aGlzLl9lbCxkZWxldGUgdGhpcy5fY29udGFpbmVyfX19LDIyNjkzNyhlLHQscyl7cy5kKHQse0FzeW5jUmVzb3VyY2VXcmFwcGVyOigpPT5yfSk7Y2xhc3Mgcntjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2Rlc3Ryb3llZD0hMSx0aGlzLl9jYWxsYmFja3M9W10sdGhpcy5fcmVzb3VyY2U9e3BlbmRpbmdSZXNvdXJjZTplfSx0aGlzLl9kZXN0cm95Rm49dCxlLnRoZW4oKGU9PntpZih0aGlzLl9kZXN0cm95ZWQpdGhpcy5fZGVzdHJveUZuPy4oZSk7ZWxzZXt0aGlzLl9yZXNvdXJjZS5yZXNvdXJjZT1lO2Zvcihjb25zdCB0IG9mIHRoaXMuX2NhbGxiYWNrcyl0KGUpfX0pKS5maW5hbGx5KCgoKT0+e3RoaXMuX2NhbGxiYWNrcz1bXX0pKX0KZGVzdHJveSgpe3RoaXMuX3Jlc291cmNlLnJlc291cmNlJiZ0aGlzLl9kZXN0cm95Rm4/Lih0aGlzLl9yZXNvdXJjZS5yZXNvdXJjZSksdGhpcy5fcmVzb3VyY2U9e3BlbmRpbmdSZXNvdXJjZTpQcm9taXNlLnJlamVjdCgiUmVzb3VyY2UgaXMgZGVzdHJveWVkIikuY2F0Y2goKCgpPT57fSkpfSx0aGlzLl9jYWxsYmFja3M9W10sdGhpcy5fZGVzdHJveWVkPSEwfWNhbGxGdW5jdGlvbihlKXt0aGlzLl9kZXN0cm95ZWR8fCh0aGlzLl9yZXNvdXJjZS5yZXNvdXJjZT9lKHRoaXMuX3Jlc291cmNlLnJlc291cmNlKTp0aGlzLl9jYWxsYmFja3MucHVzaChlKSl9Z2V0KCl7cmV0dXJuIHRoaXMuX2Rlc3Ryb3llZHx8IXRoaXMuX3Jlc291cmNlLnJlc291cmNlP251bGw6dGhpcy5fcmVzb3VyY2UucmVzb3VyY2V9cHJvbWlzZSgpe3JldHVybiB0aGlzLl9yZXNvdXJjZS5wZW5kaW5nUmVzb3VyY2V9fX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"247optiontradefx.com/npm/sweetalert2%4010","fqdn":"247optiontradefx.com","domain":"247optiontradefx.com","tld":"com"},"ip":{"addr":"159.195.47.52","port":443,"asn":0,"as":"","country":"Denmark","country_code":"DK"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:32.900Z","timestamp":1785120632900,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"247optiontradefx.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 24 Jun 2026 19:05:08 GMT","end":"Tue, 22 Sep 2026 19:05:07 GMT"},"fingerprint":{"sha1":"8B:FD:40:F3:FF:0B:90:EF:6E:A6:81:46:FB:CD:46:D8:D1:EB:1C:5B","sha256":"3E:48:CF:6A:91:40:0B:8B:A0:B2:2F:70:28:05:64:25:97:CB:A7:75:D9:82:51:E4:F6:CB:CF:70:9C:8D:7C:A5"}}},"request":{"raw":"GET /npm/sweetalert2%4010 HTTP/1.1\r\nHost: 247optiontradefx.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://247optiontradefx.com/\r\nCookie: PHPSESSID=f618b479eb11667361e20c3f05c13c4a\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/1.1 200 OK\r\nServer: nginx/1.28.2\r\nDate: Mon, 27 Jul 2026 02:50:33 GMT\r\nContent-Length: 73160\r\nConnection: keep-alive\r\nLast-Modified: Tue, 14 Apr 2026 04:20:08 GMT\r\nETag: \"11dc8-64f63ea170e00\"\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.28.2","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":73160,"size_decoded":73382,"mime_type":"text/plain","magic":"JavaScript source, ASCII text, with very long lines (48449)","md5":"78f9abf2d03f7ee6a755e0178d41f2f8","sha1":"9368de7d2e8b0d335adbaab171143e307ed5fb54","sha256":"2d5fa531e30ac3debad673003128f1ca9ad3c964ef17b547377e7ed09bd4504f","sha512":"c138cdbcc824524cbd5cbfa8edf966acf66462916349a5d9539723c6f5f10f44357059cc28ddbb95d50d3e17710e9f533bebb658d82527d980804b8a3a31f9d1","ssdeep":"768:hrDTClRYf9tFz5XKuaJuZMpDaIi0oO3vYCRuB+MJ534ywu9uqkjwxRXCKVNTeccy:hbCzItFzdZIBj3AvB+MJ5ocC3WsRw9","tlshash":"ce630689b6403133aaab4174659be60db6b56515fc330c18f128d0d84ffbd8e6273bb9","first_seen":"2023-03-08T15:12:56Z","last_seen":"2026-07-27T05:40:40.728608Z","times_seen":2193,"resource_available":true,"data":"IWZ1bmN0aW9uKHQsZSl7Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiYidW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZT9tb2R1bGUuZXhwb3J0cz1lKCk6ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoZSk6KHQ9dHx8c2VsZikuU3dlZXRhbGVydDI9ZSgpfSh0aGlzLGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIodCl7cmV0dXJuKHI9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PXR5cGVvZiBTeW1ib2wuaXRlcmF0b3I/ZnVuY3Rpb24odCl7cmV0dXJuIHR5cGVvZiB0fTpmdW5jdGlvbih0KXtyZXR1cm4gdCYmImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmdC5jb25zdHJ1Y3Rvcj09PVN5bWJvbCYmdCE9PVN5bWJvbC5wcm90b3R5cGU/InN5bWJvbCI6dHlwZW9mIHR9KSh0KX1mdW5jdGlvbiBhKHQsZSl7aWYoISh0IGluc3RhbmNlb2YgZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9ZnVuY3Rpb24gbyh0LGUpe2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgbz1lW25dO28uZW51bWVyYWJsZT1vLmVudW1lcmFibGV8fCExLG8uY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiBvJiYoby53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsby5rZXksbyl9fWZ1bmN0aW9uIHUodCxlLG4pe3JldHVybiBlJiZvKHQucHJvdG90eXBlLGUpLG4mJm8odCxuKSx0fWZ1bmN0aW9uIHMoKXtyZXR1cm4ocz1PYmplY3QuYXNzaWdufHxmdW5jdGlvbih0KXtmb3IodmFyIGU9MTtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXt2YXIgbixvPWFyZ3VtZW50c1tlXTtmb3IobiBpbiBvKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvLG4pJiYodFtuXT1vW25dKX1yZXR1cm4gdH0pLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiBjKHQpe3JldHVybihjPU9iamVjdC5zZXRQcm90b3R5cGVPZj9PYmplY3QuZ2V0UHJvdG90eXBlT2Y6ZnVuY3Rpb24odCl7cmV0dXJuIHQuX19wcm90b19ffHxPYmplY3QuZ2V0UHJvdG90eXBlT2YodCl9KSh0KX1mdW5jdGlvbiBsKHQsZSl7cmV0dXJuKGw9T2JqZWN0LnNldFByb3RvdHlwZU9mfHxmdW5jdGlvbih0LGUpe3JldHVybiB0Ll9fcHJvdG9fXz1lLHR9KSh0LGUpfWZ1bmN0aW9uIGQoKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIFJlZmxlY3R8fCFSZWZsZWN0LmNvbnN0cnVjdClyZXR1cm4hMTtpZihSZWZsZWN0LmNvbnN0cnVjdC5zaGFtKXJldHVybiExO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBQcm94eSlyZXR1cm4hMDt0cnl7cmV0dXJuIEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2YuY2FsbChSZWZsZWN0LmNvbnN0cnVjdChCb29sZWFuLFtdLGZ1bmN0aW9uKCl7fSkpLCEwfWNhdGNoKHQpe3JldHVybiExfX1mdW5jdGlvbiBpKHQsZSxuKXtyZXR1cm4oaT1kKCk/UmVmbGVjdC5jb25zdHJ1Y3Q6ZnVuY3Rpb24odCxlLG4pe3ZhciBvPVtudWxsXTtvLnB1c2guYXBwbHkobyxlKTtvPW5ldyhGdW5jdGlvbi5iaW5kLmFwcGx5KHQsbykpO3JldHVybiBuJiZsKG8sbi5wcm90b3R5cGUpLG99KS5hcHBseShudWxsLGFyZ3VtZW50cyl9ZnVuY3Rpb24gcCh0LGUpe3JldHVybiFlfHwib2JqZWN0IiE9dHlwZW9mIGUmJiJmdW5jdGlvbiIhPXR5cGVvZiBlP2Z1bmN0aW9uKHQpe2lmKHZvaWQgMD09PXQpdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWQiKTtyZXR1cm4gdH0odCk6ZX1mdW5jdGlvbiBmKHQsZSxuKXtyZXR1cm4oZj0idW5kZWZpbmVkIiE9dHlwZW9mIFJlZmxlY3QmJlJlZmxlY3QuZ2V0P1JlZmxlY3QuZ2V0OmZ1bmN0aW9uKHQsZSxuKXt0PWZ1bmN0aW9uKHQsZSl7Zm9yKDshT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsZSkmJm51bGwhPT0odD1jKHQpKTspO3JldHVybiB0fSh0LGUpO2lmKHQpe2U9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LGUpO3JldHVybiBlLmdldD9lLmdldC5jYWxsKG4pOmUudmFsdWV9fSkodCxlLG58fHQpfWZ1bmN0aW9uIG0odCl7cmV0dXJuIHQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrdC5zbGljZSgxKX1mdW5jdGlvbiBoKGUpe3JldHVybiBPYmplY3Qua2V5cyhlKS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIGVbdF19KX1mdW5jdGlvbiBnKHQpe3JldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KX1mdW5jdGlvbiB2KHQsZSl7ZT0nIicuY29uY2F0KHQsJyIgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHJlbGVhc2UuIFBsZWFzZSB1c2UgIicpLmNvbmNhdChlLCciIGluc3RlYWQuJyksLTE9PT1ZLmluZGV4T2YoZSkmJihZLnB1c2goZSksVyhlKSl9ZnVuY3Rpb24gYih0KXtyZXR1cm4gdCYmImZ1bmN0aW9uIj09dHlwZW9mIHQudG9Qcm9taXNlfWZ1bmN0aW9uIHkodCl7cmV0dXJuIGIodCk/dC50b1Byb21pc2UoKTpQcm9taXNlLnJlc29sdmUodCl9ZnVuY3Rpb24gdyh0KXtyZXR1cm4gdCYmUHJvbWlzZS5yZXNvbHZlKHQpPT09dH1mdW5jdGlvbiBDKHQpe3JldHVybiB0IGluc3RhbmNlb2YgRWxlbWVudHx8Im9iamVjdCI9PT1yKHQ9dCkmJnQuanF1ZXJ5fWZ1bmN0aW9uIGsoKXtyZXR1cm4gZG9jdW1lbnQuYm9keS5xdWVyeVNlbGVjdG9yKCIuIi5jb25jYXQoSi5jb250YWluZXIpKX1mdW5jdGlvbiBlKHQpe3ZhciBlPWsoKTtyZXR1cm4gZT9lLnF1ZXJ5U2VsZWN0b3IodCk6bnVsbH1mdW5jdGlvbiB0KHQpe3JldHVybiBlKCIuIi5jb25jYXQodCkpfWZ1bmN0aW9uIEEoKXtyZXR1cm4gdChKLnBvcHVwKX1mdW5jdGlvbiB4KCl7cmV0dXJuIHQoSi5pY29uKX1mdW5jdGlvbiBCKCl7cmV0dXJuIHQoSi50aXRsZSl9ZnVuY3Rpb24gUCgpe3JldHVybiB0KEouY29udGVudCl9ZnVuY3Rpb24gRSgpe3JldHVybiB0KEpbImh0bWwtY29udGFpbmVyIl0pfWZ1bmN0aW9uIE8oKXtyZXR1cm4gdChKLmltYWdlKX1mdW5jdGlvbiBuKCl7cmV0dXJuIHQoSlsicHJvZ3Jlc3Mtc3RlcHMiXSl9ZnVuY3Rpb24gUygpe3JldHVybiB0KEpbInZhbGlkYXRpb24tbWVzc2FnZSJdKX1mdW5jdGlvbiBUKCl7cmV0dXJuIGUoIi4iLmNvbmNhdChKLmFjdGlvbnMsIiAuIikuY29uY2F0KEouY29uZmlybSkpfWZ1bmN0aW9uIEwoKXtyZXR1cm4gZSgiLiIuY29uY2F0KEouYWN0aW9ucywiIC4iKS5jb25jYXQoSi5kZW55KSl9ZnVuY3Rpb24gRCgpe3JldHVybiBlKCIuIi5jb25jYXQoSi5sb2FkZXIpKX1mdW5jdGlvbiBxKCl7cmV0dXJuIGUoIi4iLmNvbmNhdChKLmFjdGlvbnMsIiAuIikuY29uY2F0KEouY2FuY2VsKSl9ZnVuY3Rpb24gSSgpe3JldHVybiB0KEouYWN0aW9ucyl9ZnVuY3Rpb24gaigpe3JldHVybiB0KEouaGVhZGVyKX1mdW5jdGlvbiBNKCl7cmV0dXJuIHQoSi5mb290ZXIpfWZ1bmN0aW9uIEgoKXtyZXR1cm4gdChKWyJ0aW1lci1wcm9ncmVzcy1iYXIiXSl9ZnVuY3Rpb24gVigpe3JldHVybiB0KEouY2xvc2UpfWZ1bmN0aW9uIFIoKXt2YXIgdD1nKEEoKS5xdWVyeVNlbGVjdG9yQWxsKCdbdGFiaW5kZXhdOm5vdChbdGFiaW5kZXg9Ii0xIl0pOm5vdChbdGFiaW5kZXg9IjAiXSknKSkuc29ydChmdW5jdGlvbih0LGUpe3JldHVybiB0PXBhcnNlSW50KHQuZ2V0QXR0cmlidXRlKCJ0YWJpbmRleCIpKSwoZT1wYXJzZUludChlLmdldEF0dHJpYnV0ZSgidGFiaW5kZXgiKSkpPHQ/MTp0PGU/LTE6MH0pLGU9ZyhBKCkucXVlcnlTZWxlY3RvckFsbCgnXG4gIGFbaHJlZl0sXG4gIGFyZWFbaHJlZl0sXG4gIGlucHV0Om5vdChbZGlzYWJsZWRdKSxcbiAgc2VsZWN0Om5vdChbZGlzYWJsZWRdKSxcbiAgdGV4dGFyZWE6bm90KFtkaXNhYmxlZF0pLFxuICBidXR0b246bm90KFtkaXNhYmxlZF0pLFxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIFt0YWJpbmRleD0iMCJdLFxuICBbY29udGVudGVkaXRhYmxlXSxcbiAgYXVkaW9bY29udHJvbHNdLFxuICB2aWRlb1tjb250cm9sc10sXG4gIHN1bW1hcnlcbicpKS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIi0xIiE9PXQuZ2V0QXR0cmlidXRlKCJ0YWJpbmRleCIpfSk7cmV0dXJuIGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxuPTA7bjx0Lmxlbmd0aDtuKyspLTE9PT1lLmluZGV4T2YodFtuXSkmJmUucHVzaCh0W25dKTtyZXR1cm4gZX0odC5jb25jYXQoZSkpLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gd3QodCl9KX1mdW5jdGlvbiBOKCl7cmV0dXJuIUcoKSYmIWRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKEpbIm5vLWJhY2tkcm9wIl0pfWZ1bmN0aW9uIFUoZSx0KXtlLnRleHRDb250ZW50PSIiLHQmJih0PShuZXcgRE9NUGFyc2VyKS5wYXJzZUZyb21TdHJpbmcodCwidGV4dC9odG1sIiksZyh0LnF1ZXJ5U2VsZWN0b3IoImhlYWQiKS5jaGlsZE5vZGVzKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe2UuYXBwZW5kQ2hpbGQodCl9KSxnKHQucXVlcnlTZWxlY3RvcigiYm9keSIpLmNoaWxkTm9kZXMpLmZvckVhY2goZnVuY3Rpb24odCl7ZS5hcHBlbmRDaGlsZCh0KX0pKX1mdW5jdGlvbiBGKHQsZSl7aWYoZSl7Zm9yKHZhciBuPWUuc3BsaXQoL1xzKy8pLG89MDtvPG4ubGVuZ3RoO28rKylpZighdC5jbGFzc0xpc3QuY29udGFpbnMobltvXSkpcmV0dXJuO3JldHVybiAxfX1mdW5jdGlvbiBfKHQsZSxuKXt2YXIgbyxpO2lmKGk9ZSxnKChvPXQpLmNsYXNzTGlzdCkuZm9yRWFjaChmdW5jdGlvbih0KXstMT09PWgoSikuaW5kZXhPZih0KSYmLTE9PT1oKFgpLmluZGV4T2YodCkmJi0xPT09aChpLnNob3dDbGFzcykuaW5kZXhPZih0KSYmby5jbGFzc0xpc3QucmVtb3ZlKHQpfSksZS5jdXN0b21DbGFzcyYmZS5jdXN0b21DbGFzc1tuXSl7aWYoInN0cmluZyIhPXR5cGVvZiBlLmN1c3RvbUNsYXNzW25dJiYhZS5jdXN0b21DbGFzc1tuXS5mb3JFYWNoKXJldHVybiBXKCJJbnZhbGlkIHR5cGUgb2YgY3VzdG9tQ2xhc3MuIi5jb25jYXQobiwnISBFeHBlY3RlZCBzdHJpbmcgb3IgaXRlcmFibGUgb2JqZWN0LCBnb3QgIicpLmNvbmNhdChyKGUuY3VzdG9tQ2xhc3Nbbl0pLCciJykpO3Z0KHQsZS5jdXN0b21DbGFzc1tuXSl9fXZhciB6PSJTd2VldEFsZXJ0MjoiLFc9ZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKCIiLmNvbmNhdCh6LCIgIikuY29uY2F0KCJvYmplY3QiPT09cih0KT90LmpvaW4oIiAiKTp0KSl9LEs9ZnVuY3Rpb24odCl7Y29uc29sZS5lcnJvcigiIi5jb25jYXQoeiwiICIpLmNvbmNhdCh0KSl9LFk9W10sWj1mdW5jdGlvbih0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdD90KCk6dH0sUT1PYmplY3QuZnJlZXplKHtjYW5jZWw6ImNhbmNlbCIsYmFja2Ryb3A6ImJhY2tkcm9wIixjbG9zZToiY2xvc2UiLGVzYzoiZXNjIix0aW1lcjoidGltZXIifSksJD1mdW5jdGlvbih0KXt2YXIgZSxuPXt9O2ZvcihlIGluIHQpblt0W2VdXT0ic3dhbDItIit0W2VdO3JldHVybiBufSxKPSQoWyJjb250YWluZXIiLCJzaG93biIsImhlaWdodC1hdXRvIiwiaW9zZml4IiwicG9wdXAiLCJtb2RhbCIsIm5vLWJhY2tkcm9wIiwibm8tdHJhbnNpdGlvbiIsInRvYXN0IiwidG9hc3Qtc2hvd24iLCJzaG93IiwiaGlkZSIsImNsb3NlIiwidGl0bGUiLCJoZWFkZXIiLCJjb250ZW50IiwiaHRtbC1jb250YWluZXIiLCJhY3Rpb25zIiwiY29uZmlybSIsImRlbnkiLCJjYW5jZWwiLCJmb290ZXIiLCJpY29uIiwiaWNvbi1jb250ZW50IiwiaW1hZ2UiLCJpbnB1dCIsImZpbGUiLCJyYW5nZSIsInNlbGVjdCIsInJhZGlvIiwiY2hlY2tib3giLCJsYWJlbCIsInRleHRhcmVhIiwiaW5wdXRlcnJvciIsImlucHV0LWxhYmVsIiwidmFsaWRhdGlvbi1tZXNzYWdlIiwicHJvZ3Jlc3Mtc3RlcHMiLCJhY3RpdmUtcHJvZ3Jlc3Mtc3RlcCIsInByb2dyZXNzLXN0ZXAiLCJwcm9ncmVzcy1zdGVwLWxpbmUiLCJsb2FkZXIiLCJsb2FkaW5nIiwic3R5bGVkIiwidG9wIiwidG9wLXN0YXJ0IiwidG9wLWVuZCIsInRvcC1sZWZ0IiwidG9wLXJpZ2h0IiwiY2VudGVyIiwiY2VudGVyLXN0YXJ0IiwiY2VudGVyLWVuZCIsImNlbnRlci1sZWZ0IiwiY2VudGVyLXJpZ2h0IiwiYm90dG9tIiwiYm90dG9tLXN0YXJ0IiwiYm90dG9tLWVuZCIsImJvdHRvbS1sZWZ0IiwiYm90dG9tLXJpZ2h0IiwiZ3Jvdy1yb3ciLCJncm93LWNvbHVtbiIsImdyb3ctZnVsbHNjcmVlbiIsInJ0bCIsInRpbWVyLXByb2dyZXNzLWJhciIsInRpbWVyLXByb2dyZXNzLWJhci1jb250YWluZXIiLCJzY3JvbGxiYXItbWVhc3VyZSIsImljb24tc3VjY2VzcyIsImljb24td2FybmluZyIsImljb24taW5mbyIsImljb24tcXVlc3Rpb24iLCJpY29uLWVycm9yIl0pLFg9JChbInN1Y2Nlc3MiLCJ3YXJuaW5nIiwiaW5mbyIsInF1ZXN0aW9uIiwiZXJyb3IiXSksRz1mdW5jdGlvbigpe3JldHVybiBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucyhKWyJ0b2FzdC1zaG93biJdKX0sdHQ9e3ByZXZpb3VzQm9keVBhZGRpbmc6bnVsbH07ZnVuY3Rpb24gZXQodCxlKXtpZighZSlyZXR1cm4gbnVsbDtzd2l0Y2goZSl7Y2FzZSJzZWxlY3QiOmNhc2UidGV4dGFyZWEiOmNhc2UiZmlsZSI6cmV0dXJuIHl0KHQsSltlXSk7Y2FzZSJjaGVja2JveCI6cmV0dXJuIHQucXVlcnlTZWxlY3RvcigiLiIuY29uY2F0KEouY2hlY2tib3gsIiBpbnB1dCIpKTtjYXNlInJhZGlvIjpyZXR1cm4gdC5xdWVyeVNlbGVjdG9yKCIuIi5jb25jYXQoSi5yYWRpbywiIGlucHV0OmNoZWNrZWQiKSl8fHQucXVlcnlTZWxlY3RvcigiLiIuY29uY2F0KEoucmFkaW8sIiBpbnB1dDpmaXJzdC1jaGlsZCIpKTtjYXNlInJhbmdlIjpyZXR1cm4gdC5xdWVyeVNlbGVjdG9yKCIuIi5jb25jYXQoSi5yYW5nZSwiIGlucHV0IikpO2RlZmF1bHQ6cmV0dXJuIHl0KHQsSi5pbnB1dCl9fWZ1bmN0aW9uIG50KHQpe3ZhciBlO3QuZm9jdXMoKSwiZmlsZSIhPT10LnR5cGUmJihlPXQudmFsdWUsdC52YWx1ZT0iIix0LnZhbHVlPWUpfWZ1bmN0aW9uIG90KHQsZSxuKXt0JiZlJiYoZT0ic3RyaW5nIj09dHlwZW9mIGU/ZS5zcGxpdCgvXHMrLykuZmlsdGVyKEJvb2xlYW4pOmUpLmZvckVhY2goZnVuY3Rpb24oZSl7dC5mb3JFYWNoP3QuZm9yRWFjaChmdW5jdGlvbih0KXtuP3QuY2xhc3NMaXN0LmFkZChlKTp0LmNsYXNzTGlzdC5yZW1vdmUoZSl9KTpuP3QuY2xhc3NMaXN0LmFkZChlKTp0LmNsYXNzTGlzdC5yZW1vdmUoZSl9KX1mdW5jdGlvbiBpdCh0LGUsbil7KG49bj09PSIiLmNvbmNhdChwYXJzZUludChuKSk/cGFyc2VJbnQobik6bil8fDA9PT1wYXJzZUludChuKT90LnN0eWxlW2VdPSJudW1iZXIiPT10eXBlb2Ygbj8iIi5jb25jYXQobiwicHgiKTpuOnQuc3R5bGUucmVtb3ZlUHJvcGVydHkoZSl9ZnVuY3Rpb24gcnQodCl7dC5zdHlsZS5kaXNwbGF5PTE8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXToiZmxleCJ9ZnVuY3Rpb24gYXQodCl7dC5zdHlsZS5kaXNwbGF5PSJub25lIn1mdW5jdGlvbiB1dCh0LGUsbixvKXsoZT10LnF1ZXJ5U2VsZWN0b3IoZSkpJiYoZS5zdHlsZVtuXT1vKX1mdW5jdGlvbiBzdCh0LGUsbil7ZT9ydCh0LG4pOmF0KHQpfWZ1bmN0aW9uIGN0KHQpe3JldHVybiEhKHQuc2Nyb2xsSGVpZ2h0PnQuY2xpZW50SGVpZ2h0KX1mdW5jdGlvbiBsdCh0KXt2YXIgZT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0KSx0PXBhcnNlRmxvYXQoZS5nZXRQcm9wZXJ0eVZhbHVlKCJhbmltYXRpb24tZHVyYXRpb24iKXx8IjAiKSxlPXBhcnNlRmxvYXQoZS5nZXRQcm9wZXJ0eVZhbHVlKCJ0cmFuc2l0aW9uLWR1cmF0aW9uIil8fCIwIik7cmV0dXJuIDA8dHx8MDxlfWZ1bmN0aW9uIGR0KHQpe3ZhciBlPTE8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09YXJndW1lbnRzWzFdJiZhcmd1bWVudHNbMV0sbj1IKCk7d3QobikmJihlJiYobi5zdHlsZS50cmFuc2l0aW9uPSJub25lIixuLnN0eWxlLndpZHRoPSIxMDAlIiksc2V0VGltZW91dChmdW5jdGlvbigpe24uc3R5bGUudHJhbnNpdGlvbj0id2lkdGggIi5jb25jYXQodC8xZTMsInMgbGluZWFyIiksbi5zdHlsZS53aWR0aD0iMCUifSwxMCkpfWZ1bmN0aW9uIHB0KCl7cmV0dXJuInVuZGVmaW5lZCI9PXR5cGVvZiB3aW5kb3d8fCJ1bmRlZmluZWQiPT10eXBlb2YgZG9jdW1lbnR9ZnVuY3Rpb24gZnQodCl7SG4uaXNWaXNpYmxlKCkmJmd0IT09dC50YXJnZXQudmFsdWUmJkhuLnJlc2V0VmFsaWRhdGlvbk1lc3NhZ2UoKSxndD10LnRhcmdldC52YWx1ZX1mdW5jdGlvbiBtdCh0LGUpe3QgaW5zdGFuY2VvZiBIVE1MRWxlbWVudD9lLmFwcGVuZENoaWxkKHQpOiJvYmplY3QiPT09cih0KT9BdCh0LGUpOnQmJlUoZSx0KX1mdW5jdGlvbiBodCh0LGUpe3ZhciBuPUkoKSxvPUQoKSxpPVQoKSxyPUwoKSxhPXEoKTtlLnNob3dDb25maXJtQnV0dG9ufHxlLnNob3dEZW55QnV0dG9ufHxlLnNob3dDYW5jZWxCdXR0b258fGF0KG4pLF8obixlLCJhY3Rpb25zIiksUHQoaSwiY29uZmlybSIsZSksUHQociwiZGVueSIsZSksUHQoYSwiY2FuY2VsIixlKSxmdW5jdGlvbih0LGUsbixvKXtpZighby5idXR0b25zU3R5bGluZylyZXR1cm4gYnQoW3QsZSxuXSxKLnN0eWxlZCk7dnQoW3QsZSxuXSxKLnN0eWxlZCksby5jb25maXJtQnV0dG9uQ29sb3ImJih0LnN0eWxlLmJhY2tncm91bmRDb2xvcj1vLmNvbmZpcm1CdXR0b25Db2xvcik7by5kZW55QnV0dG9uQ29sb3ImJihlLnN0eWxlLmJhY2tncm91bmRDb2xvcj1vLmRlbnlCdXR0b25Db2xvcik7by5jYW5jZWxCdXR0b25Db2xvciYmKG4uc3R5bGUuYmFja2dyb3VuZENvbG9yPW8uY2FuY2VsQnV0dG9uQ29sb3IpfShpLHIsYSxlKSxlLnJldmVyc2VCdXR0b25zJiYobi5pbnNlcnRCZWZvcmUoYSxvKSxuLmluc2VydEJlZm9yZShyLG8pLG4uaW5zZXJ0QmVmb3JlKGksbykpLFUobyxlLmxvYWRlckh0bWwpLF8obyxlLCJsb2FkZXIiKX12YXIgZ3QsdnQ9ZnVuY3Rpb24odCxlKXtvdCh0LGUsITApfSxidD1mdW5jdGlvbih0LGUpe290KHQsZSwhMSl9LHl0PWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPTA7bjx0LmNoaWxkTm9kZXMubGVuZ3RoO24rKylpZihGKHQuY2hpbGROb2Rlc1tuXSxlKSlyZXR1cm4gdC5jaGlsZE5vZGVzW25dfSx3dD1mdW5jdGlvbih0KXtyZXR1cm4hKCF0fHwhKHQub2Zmc2V0V2lkdGh8fHQub2Zmc2V0SGVpZ2h0fHx0LmdldENsaWVudFJlY3RzKCkubGVuZ3RoKSl9LEN0PSdcbiA8ZGl2IGFyaWEtbGFiZWxsZWRieT0iJy5jb25jYXQoSi50aXRsZSwnIiBhcmlhLWRlc2NyaWJlZGJ5PSInKS5jb25jYXQoSi5jb250ZW50LCciIGNsYXNzPSInKS5jb25jYXQoSi5wb3B1cCwnIiB0YWJpbmRleD0iLTEiPlxuICAgPGRpdiBjbGFzcz0iJykuY29uY2F0KEouaGVhZGVyLCciPlxuICAgICA8dWwgY2xhc3M9IicpLmNvbmNhdChKWyJwcm9ncmVzcy1zdGVwcyJdLCciPjwvdWw+XG4gICAgIDxkaXYgY2xhc3M9IicpLmNvbmNhdChKLmljb24sJyI+PC9kaXY+XG4gICAgIDxpbWcgY2xhc3M9IicpLmNvbmNhdChKLmltYWdlLCciIC8+XG4gICAgIDxoMiBjbGFzcz0iJykuY29uY2F0KEoudGl0bGUsJyIgaWQ9IicpLmNvbmNhdChKLnRpdGxlLCciPjwvaDI+XG4gICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iJykuY29uY2F0KEouY2xvc2UsJyI+PC9idXR0b24+XG4gICA8L2Rpdj5cbiAgIDxkaXYgY2xhc3M9IicpLmNvbmNhdChKLmNvbnRlbnQsJyI+XG4gICAgIDxkaXYgaWQ9IicpLmNvbmNhdChKLmNvbnRlbnQsJyIgY2xhc3M9IicpLmNvbmNhdChKWyJodG1sLWNvbnRhaW5lciJdLCciPjwvZGl2PlxuICAgICA8aW5wdXQgY2xhc3M9IicpLmNvbmNhdChKLmlucHV0LCciIC8+XG4gICAgIDxpbnB1dCB0eXBlPSJmaWxlIiBjbGFzcz0iJykuY29uY2F0KEouZmlsZSwnIiAvPlxuICAgICA8ZGl2IGNsYXNzPSInKS5jb25jYXQoSi5yYW5nZSwnIj5cbiAgICAgICA8aW5wdXQgdHlwZT0icmFuZ2UiIC8+XG4gICAgICAgPG91dHB1dD48L291dHB1dD5cbiAgICAgPC9kaXY+XG4gICAgIDxzZWxlY3QgY2xhc3M9IicpLmNvbmNhdChKLnNlbGVjdCwnIj48L3NlbGVjdD5cbiAgICAgPGRpdiBjbGFzcz0iJykuY29uY2F0KEoucmFkaW8sJyI+PC9kaXY+XG4gICAgIDxsYWJlbCBmb3I9IicpLmNvbmNhdChKLmNoZWNrYm94LCciIGNsYXNzPSInKS5jb25jYXQoSi5jaGVja2JveCwnIj5cbiAgICAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIC8+XG4gICAgICAgPHNwYW4gY2xhc3M9IicpLmNvbmNhdChKLmxhYmVsLCciPjwvc3Bhbj5cbiAgICAgPC9sYWJlbD5cbiAgICAgPHRleHRhcmVhIGNsYXNzPSInKS5jb25jYXQoSi50ZXh0YXJlYSwnIj48L3RleHRhcmVhPlxuICAgICA8ZGl2IGNsYXNzPSInKS5jb25jYXQoSlsidmFsaWRhdGlvbi1tZXNzYWdlIl0sJyIgaWQ9IicpLmNvbmNhdChKWyJ2YWxpZGF0aW9uLW1lc3NhZ2UiXSwnIj48L2Rpdj5cbiAgIDwvZGl2PlxuICAgPGRpdiBjbGFzcz0iJykuY29uY2F0KEouYWN0aW9ucywnIj5cbiAgICAgPGRpdiBjbGFzcz0iJykuY29uY2F0KEoubG9hZGVyLCciPjwvZGl2PlxuICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9IicpLmNvbmNhdChKLmNvbmZpcm0sJyI+PC9idXR0b24+XG4gICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iJykuY29uY2F0KEouZGVueSwnIj48L2J1dHRvbj5cbiAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSInKS5jb25jYXQoSi5jYW5jZWwsJyI+PC9idXR0b24+XG4gICA8L2Rpdj5cbiAgIDxkaXYgY2xhc3M9IicpLmNvbmNhdChKLmZvb3RlciwnIj48L2Rpdj5cbiAgIDxkaXYgY2xhc3M9IicpLmNvbmNhdChKWyJ0aW1lci1wcm9ncmVzcy1iYXItY29udGFpbmVyIl0sJyI+XG4gICAgIDxkaXYgY2xhc3M9IicpLmNvbmNhdChKWyJ0aW1lci1wcm9ncmVzcy1iYXIiXSwnIj48L2Rpdj5cbiAgIDwvZGl2PlxuIDwvZGl2PlxuJykucmVwbGFjZSgvKF58XG4pXHMqL2csIiIpLGt0PWZ1bmN0aW9uKHQpe3ZhciBlLG4sbyxpLHIsYT0hIShpPWsoKSkmJihpLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaSksYnQoW2RvY3VtZW50LmRvY3VtZW50RWxlbWVudCxkb2N1bWVudC5ib2R5XSxbSlsibm8tYmFja2Ryb3AiXSxKWyJ0b2FzdC1zaG93biJdLEpbImhhcy1jb2x1bW4iXV0pLCEwKTtwdCgpP0soIlN3ZWV0QWxlcnQyIHJlcXVpcmVzIGRvY3VtZW50IHRvIGluaXRpYWxpemUiKTooKHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpLmNsYXNzTmFtZT1KLmNvbnRhaW5lcixhJiZ2dChyLEpbIm5vLXRyYW5zaXRpb24iXSksVShyLEN0KSwoaT0ic3RyaW5nIj09dHlwZW9mKGU9dC50YXJnZXQpP2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoZSk6ZSkuYXBwZW5kQ2hpbGQociksYT10LChlPUEoKSkuc2V0QXR0cmlidXRlKCJyb2xlIixhLnRvYXN0PyJhbGVydCI6ImRpYWxvZyIpLGUuc2V0QXR0cmlidXRlKCJhcmlhLWxpdmUiLGEudG9hc3Q/InBvbGl0ZSI6ImFzc2VydGl2ZSIpLGEudG9hc3R8fGUuc2V0QXR0cmlidXRlKCJhcmlhLW1vZGFsIiwidHJ1ZSIpLHI9aSwicnRsIj09PXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHIpLmRpcmVjdGlvbiYmdnQoaygpLEoucnRsKSx0PVAoKSxhPXl0KHQsSi5pbnB1dCksZT15dCh0LEouZmlsZSksbj10LnF1ZXJ5U2VsZWN0b3IoIi4iLmNvbmNhdChKLnJhbmdlLCIgaW5wdXQiKSksbz10LnF1ZXJ5U2VsZWN0b3IoIi4iLmNvbmNhdChKLnJhbmdlLCIgb3V0cHV0IikpLGk9eXQodCxKLnNlbGVjdCkscj10LnF1ZXJ5U2VsZWN0b3IoIi4iLmNvbmNhdChKLmNoZWNrYm94LCIgaW5wdXQiKSksdD15dCh0LEoudGV4dGFyZWEpLGEub25pbnB1dD1mdCxlLm9uY2hhbmdlPWZ0LGkub25jaGFuZ2U9ZnQsci5vbmNoYW5nZT1mdCx0Lm9uaW5wdXQ9ZnQsbi5vbmlucHV0PWZ1bmN0aW9uKHQpe2Z0KHQpLG8udmFsdWU9bi52YWx1ZX0sbi5vbmNoYW5nZT1mdW5jdGlvbih0KXtmdCh0KSxuLm5leHRTaWJsaW5nLnZhbHVlPW4udmFsdWV9KX0sQXQ9ZnVuY3Rpb24odCxlKXt0LmpxdWVyeT94dChlLHQpOlUoZSx0LnRvU3RyaW5nKCkpfSx4dD1mdW5jdGlvbih0LGUpe2lmKHQudGV4dENvbnRlbnQ9IiIsMCBpbiBlKWZvcih2YXIgbj0wO24gaW4gZTtuKyspdC5hcHBlbmRDaGlsZChlW25dLmNsb25lTm9kZSghMCkpO2Vsc2UgdC5hcHBlbmRDaGlsZChlLmNsb25lTm9kZSghMCkpfSxCdD1mdW5jdGlvbigpe2lmKHB0KCkpcmV0dXJuITE7dmFyIHQsZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxuPXtXZWJraXRBbmltYXRpb246IndlYmtpdEFuaW1hdGlvbkVuZCIsT0FuaW1hdGlvbjoib0FuaW1hdGlvbkVuZCBvYW5pbWF0aW9uZW5kIixhbmltYXRpb246ImFuaW1hdGlvbmVuZCJ9O2Zvcih0IGluIG4paWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4sdCkmJnZvaWQgMCE9PWUuc3R5bGVbdF0pcmV0dXJuIG5bdF07cmV0dXJuITF9KCk7ZnVuY3Rpb24gUHQodCxlLG4pe3N0KHQsblsic2hvdyIuY29uY2F0KG0oZSksIkJ1dHRvbiIpXSwiaW5saW5lLWJsb2NrIiksVSh0LG5bIiIuY29uY2F0KGUsIkJ1dHRvblRleHQiKV0pLHQuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIixuWyIiLmNvbmNhdChlLCJCdXR0b25BcmlhTGFiZWwiKV0pLHQuY2xhc3NOYW1lPUpbZV0sXyh0LG4sIiIuY29uY2F0KGUsIkJ1dHRvbiIpKSx2dCh0LG5bIiIuY29uY2F0KGUsIkJ1dHRvbkNsYXNzIildKX1mdW5jdGlvbiBFdCh0LGUpe3ZhciBuLG8saT1rKCk7aSYmKG89aSwic3RyaW5nIj09dHlwZW9mKG49ZS5iYWNrZHJvcCk/by5zdHlsZS5iYWNrZ3JvdW5kPW46bnx8dnQoW2RvY3VtZW50LmRvY3VtZW50RWxlbWVudCxkb2N1bWVudC5ib2R5XSxKWyJuby1iYWNrZHJvcCJdKSwhZS5iYWNrZHJvcCYmZS5hbGxvd091dHNpZGVDbGljayYmVygnImFsbG93T3V0c2lkZUNsaWNrIiBwYXJhbWV0ZXIgcmVxdWlyZXMgYGJhY2tkcm9wYCBwYXJhbWV0ZXIgdG8gYmUgc2V0IHRvIGB0cnVlYCcpLG89aSwobj1lLnBvc2l0aW9uKWluIEo/dnQobyxKW25dKTooVygnVGhlICJwb3NpdGlvbiIgcGFyYW1ldGVyIGlzIG5vdCB2YWxpZCwgZGVmYXVsdGluZyB0byAiY2VudGVyIicpLHZ0KG8sSi5jZW50ZXIpKSxuPWksIShvPWUuZ3Jvdyl8fCJzdHJpbmciIT10eXBlb2Ygb3x8KG89Imdyb3ctIi5jb25jYXQobykpaW4gSiYmdnQobixKW29dKSxfKGksZSwiY29udGFpbmVyIiksKGU9ZG9jdW1lbnQuYm9keS5nZXRBdHRyaWJ1dGUoImRhdGEtc3dhbDItcXVldWUtc3RlcCIpKSYmKGkuc2V0QXR0cmlidXRlKCJkYXRhLXF1ZXVlLXN0ZXAiLGUpLGRvY3VtZW50LmJvZHkucmVtb3ZlQXR0cmlidXRlKCJkYXRhLXN3YWwyLXF1ZXVlLXN0ZXAiKSkpfWZ1bmN0aW9uIE90KHQsZSl7dC5wbGFjZWhvbGRlciYmIWUuaW5wdXRQbGFjZWhvbGRlcnx8KHQucGxhY2Vob2xkZXI9ZS5pbnB1dFBsYWNlaG9sZGVyKX1mdW5jdGlvbiBTdCh0LGUsbil7dmFyIG8saTtuLmlucHV0TGFiZWwmJih0LmlkPUouaW5wdXQsbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsYWJlbCIpLGk9SlsiaW5wdXQtbGFiZWwiXSxvLnNldEF0dHJpYnV0ZSgiZm9yIix0LmlkKSxvLmNsYXNzTmFtZT1pLHZ0KG8sbi5jdXN0b21DbGFzcy5pbnB1dExhYmVsKSxvLmlubmVyVGV4dD1uLmlucHV0TGFiZWwsZS5pbnNlcnRBZGphY2VudEVsZW1lbnQoImJlZm9yZWJlZ2luIixvKSl9dmFyIFR0PXtwcm9taXNlOm5ldyBXZWFrTWFwLGlubmVyUGFyYW1zOm5ldyBXZWFrTWFwLGRvbUNhY2hlOm5ldyBXZWFrTWFwfSxMdD1bImlucHV0IiwiZmlsZSIsInJhbmdlIiwic2VsZWN0IiwicmFkaW8iLCJjaGVja2JveCIsInRleHRhcmVhIl0sRHQ9ZnVuY3Rpb24odCl7aWYoIU10W3QuaW5wdXRdKXJldHVybiBLKCdVbmV4cGVjdGVkIHR5cGUgb2YgaW5wdXQhIEV4cGVjdGVkICJ0ZXh0IiwgImVtYWlsIiwgInBhc3N3b3JkIiwgIm51bWJlciIsICJ0ZWwiLCAic2VsZWN0IiwgInJhZGlvIiwgImNoZWNrYm94IiwgInRleHRhcmVhIiwgImZpbGUiIG9yICJ1cmwiLCBnb3QgIicuY29uY2F0KHQuaW5wdXQsJyInKSk7dmFyIGU9anQodC5pbnB1dCksbj1NdFt0LmlucHV0XShlLHQpO3J0KG4pLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtudChuKX0pfSxxdD1mdW5jdGlvbih0LGUpe3ZhciBuPWV0KFAoKSx0KTtpZihuKWZvcih2YXIgbyBpbiFmdW5jdGlvbih0KXtmb3IodmFyIGU9MDtlPHQuYXR0cmlidXRlcy5sZW5ndGg7ZSsrKXt2YXIgbj10LmF0dHJpYnV0ZXNbZV0ubmFtZTstMT09PVsidHlwZSIsInZhbHVlIiwic3R5bGUiXS5pbmRleE9mKG4pJiZ0LnJlbW92ZUF0dHJpYnV0ZShuKX19KG4pLGUpInJhbmdlIj09PXQmJiJwbGFjZWhvbGRlciI9PT1vfHxuLnNldEF0dHJpYnV0ZShvLGVbb10pfSxJdD1mdW5jdGlvbih0KXt2YXIgZT1qdCh0LmlucHV0KTt0LmN1c3RvbUNsYXNzJiZ2dChlLHQuY3VzdG9tQ2xhc3MuaW5wdXQpfSxqdD1mdW5jdGlvbih0KXt0PUpbdF18fEouaW5wdXQ7cmV0dXJuIHl0KFAoKSx0KX0sTXQ9e307TXQudGV4dD1NdC5lbWFpbD1NdC5wYXNzd29yZD1NdC5udW1iZXI9TXQudGVsPU10LnVybD1mdW5jdGlvbih0LGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZS5pbnB1dFZhbHVlfHwibnVtYmVyIj09dHlwZW9mIGUuaW5wdXRWYWx1ZT90LnZhbHVlPWUuaW5wdXRWYWx1ZTp3KGUuaW5wdXRWYWx1ZSl8fFcoJ1VuZXhwZWN0ZWQgdHlwZSBvZiBpbnB1dFZhbHVlISBFeHBlY3RlZCAic3RyaW5nIiwgIm51bWJlciIgb3IgIlByb21pc2UiLCBnb3QgIicuY29uY2F0KHIoZS5pbnB1dFZhbHVlKSwnIicpKSxTdCh0LHQsZSksT3QodCxlKSx0LnR5cGU9ZS5pbnB1dCx0fSxNdC5maWxlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFN0KHQsdCxlKSxPdCh0LGUpLHR9LE10LnJhbmdlPWZ1bmN0aW9uKHQsZSl7dmFyIG49dC5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpLG89dC5xdWVyeVNlbGVjdG9yKCJvdXRwdXQiKTtyZXR1cm4gbi52YWx1ZT1lLmlucHV0VmFsdWUsbi50eXBlPWUuaW5wdXQsby52YWx1ZT1lLmlucHV0VmFsdWUsU3Qobix0LGUpLHR9LE10LnNlbGVjdD1mdW5jdGlvbih0LGUpe3ZhciBuO3JldHVybiB0LnRleHRDb250ZW50PSIiLGUuaW5wdXRQbGFjZWhvbGRlciYmKG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib3B0aW9uIiksVShuLGUuaW5wdXRQbGFjZWhvbGRlciksbi52YWx1ZT0iIixuLmRpc2FibGVkPSEwLG4uc2VsZWN0ZWQ9ITAsdC5hcHBlbmRDaGlsZChuKSksU3QodCx0LGUpLHR9LE10LnJhZGlvPWZ1bmN0aW9uKHQpe3JldHVybiB0LnRleHRDb250ZW50PSIiLHR9LE10LmNoZWNrYm94PWZ1bmN0aW9uKHQsZSl7dmFyIG49ZXQoUCgpLCJjaGVja2JveCIpO24udmFsdWU9MSxuLmlkPUouY2hlY2tib3gsbi5jaGVja2VkPUJvb2xlYW4oZS5pbnB1dFZhbHVlKTtuPXQucXVlcnlTZWxlY3Rvcigic3BhbiIpO3JldHVybiBVKG4sZS5pbnB1dFBsYWNlaG9sZGVyKSx0fSxNdC50ZXh0YXJlYT1mdW5jdGlvbihlLHQpe2UudmFsdWU9dC5pbnB1dFZhbHVlLE90KGUsdCksU3QoZSxlLHQpO2Z1bmN0aW9uIG4odCl7cmV0dXJuIHBhcnNlSW50KHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHQpLnBhZGRpbmdMZWZ0KStwYXJzZUludCh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0KS5wYWRkaW5nUmlnaHQpfXZhciBvO3JldHVybiJNdXRhdGlvbk9ic2VydmVyImluIHdpbmRvdyYmKG89cGFyc2VJbnQod2luZG93LmdldENvbXB1dGVkU3R5bGUoQSgpKS53aWR0aCksbmV3IE11dGF0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oKXt2YXIgdD1lLm9mZnNldFdpZHRoK24oQSgpKStuKFAoKSk7QSgpLnN0eWxlLndpZHRoPW88dD8iIi5jb25jYXQodCwicHgiKTpudWxsfSkub2JzZXJ2ZShlLHthdHRyaWJ1dGVzOiEwLGF0dHJpYnV0ZUZpbHRlcjpbInN0eWxlIl19KSksZX07ZnVuY3Rpb24gSHQodCxlKXt2YXIgbyxpLHIsbj1FKCk7XyhuLGUsImh0bWxDb250YWluZXIiKSxlLmh0bWw/KG10KGUuaHRtbCxuKSxydChuLCJibG9jayIpKTplLnRleHQ/KG4udGV4dENvbnRlbnQ9ZS50ZXh0LHJ0KG4sImJsb2NrIikpOmF0KG4pLHQ9dCxvPWUsaT1QKCksdD1UdC5pbm5lclBhcmFtcy5nZXQodCkscj0hdHx8by5pbnB1dCE9PXQuaW5wdXQsTHQuZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT1KW3RdLG49eXQoaSxlKTtxdCh0LG8uaW5wdXRBdHRyaWJ1dGVzKSxuLmNsYXNzTmFtZT1lLHImJmF0KG4pfSksby5pbnB1dCYmKHImJkR0KG8pLEl0KG8pKSxfKFAoKSxlLCJjb250ZW50Iil9ZnVuY3Rpb24gVnQoKXtyZXR1cm4gaygpJiZrKCkuZ2V0QXR0cmlidXRlKCJkYXRhLXF1ZXVlLXN0ZXAiKX1mdW5jdGlvbiBSdCh0LG8pe3ZhciBpPW4oKTtpZighby5wcm9ncmVzc1N0ZXBzfHwwPT09by5wcm9ncmVzc1N0ZXBzLmxlbmd0aClyZXR1cm4gYXQoaSksMDtydChpKSxpLnRleHRDb250ZW50PSIiO3ZhciByPXBhcnNlSW50KHZvaWQgMD09PW8uY3VycmVudFByb2dyZXNzU3RlcD9WdCgpOm8uY3VycmVudFByb2dyZXNzU3RlcCk7cj49by5wcm9ncmVzc1N0ZXBzLmxlbmd0aCYmVygiSW52YWxpZCBjdXJyZW50UHJvZ3Jlc3NTdGVwIHBhcmFtZXRlciwgaXQgc2hvdWxkIGJlIGxlc3MgdGhhbiBwcm9ncmVzc1N0ZXBzLmxlbmd0aCAoY3VycmVudFByb2dyZXNzU3RlcCBsaWtlIEpTIGFycmF5cyBzdGFydHMgZnJvbSAwKSIpLG8ucHJvZ3Jlc3NTdGVwcy5mb3JFYWNoKGZ1bmN0aW9uKHQsZSl7dmFyIG4sdD0obj10LHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGkiKSx2dCh0LEpbInByb2dyZXNzLXN0ZXAiXSksVSh0LG4pLHQpO2kuYXBwZW5kQ2hpbGQodCksZT09PXImJnZ0KHQsSlsiYWN0aXZlLXByb2dyZXNzLXN0ZXAiXSksZSE9PW8ucHJvZ3Jlc3NTdGVwcy5sZW5ndGgtMSYmKHQ9byxlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpIiksdnQoZSxKWyJwcm9ncmVzcy1zdGVwLWxpbmUiXSksdC5wcm9ncmVzc1N0ZXBzRGlzdGFuY2UmJihlLnN0eWxlLndpZHRoPXQucHJvZ3Jlc3NTdGVwc0Rpc3RhbmNlKSxpLmFwcGVuZENoaWxkKGUpKX0pfWZ1bmN0aW9uIE50KHQsZSl7dmFyIG4sbz1qKCk7XyhvLGUsImhlYWRlciIpLFJ0KDAsZSksbj10LG89ZSx0PVR0LmlubmVyUGFyYW1zLmdldChuKSxuPXgoKSx0JiZvLmljb249PT10Lmljb24/KFd0KG4sbyksX3QobixvKSk6by5pY29ufHxvLmljb25IdG1sP28uaWNvbiYmLTE9PT1PYmplY3Qua2V5cyhYKS5pbmRleE9mKG8uaWNvbik/KEsoJ1Vua25vd24gaWNvbiEgRXhwZWN0ZWQgInN1Y2Nlc3MiLCAiZXJyb3IiLCAid2FybmluZyIsICJpbmZvIiBvciAicXVlc3Rpb24iLCBnb3QgIicuY29uY2F0KG8uaWNvbiwnIicpKSxhdChuKSk6KHJ0KG4pLFd0KG4sbyksX3QobixvKSx2dChuLG8uc2hvd0NsYXNzLmljb24pKTphdChuKSxmdW5jdGlvbih0KXt2YXIgZT1PKCk7aWYoIXQuaW1hZ2VVcmwpcmV0dXJuIGF0KGUpO3J0KGUsIiIpLGUuc2V0QXR0cmlidXRlKCJzcmMiLHQuaW1hZ2VVcmwpLGUuc2V0QXR0cmlidXRlKCJhbHQiLHQuaW1hZ2VBbHQpLGl0KGUsIndpZHRoIix0LmltYWdlV2lkdGgpLGl0KGUsImhlaWdodCIsdC5pbWFnZUhlaWdodCksZS5jbGFzc05hbWU9Si5pbWFnZSxfKGUsdCwiaW1hZ2UiKX0oZSksbz1lLG49QigpLHN0KG4sby50aXRsZXx8by50aXRsZVRleHQsImJsb2NrIiksby50aXRsZSYmbXQoby50aXRsZSxuKSxvLnRpdGxlVGV4dCYmKG4uaW5uZXJUZXh0PW8udGl0bGVUZXh0KSxfKG4sbywidGl0bGUiKSxvPWUsZT1WKCksVShlLG8uY2xvc2VCdXR0b25IdG1sKSxfKGUsbywiY2xvc2VCdXR0b24iKSxzdChlLG8uc2hvd0Nsb3NlQnV0dG9uKSxlLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsby5jbG9zZUJ1dHRvbkFyaWFMYWJlbCl9ZnVuY3Rpb24gVXQodCxlKXt2YXIgbixvLGk7aT1lLG49aygpLG89QSgpLGkudG9hc3Q/KGl0KG4sIndpZHRoIixpLndpZHRoKSxvLnN0eWxlLndpZHRoPSIxMDAlIik6aXQobywid2lkdGgiLGkud2lkdGgpLGl0KG8sInBhZGRpbmciLGkucGFkZGluZyksaS5iYWNrZ3JvdW5kJiYoby5zdHlsZS5iYWNrZ3JvdW5kPWkuYmFja2dyb3VuZCksYXQoUygpKSxRdChvLGkpLEV0KDAsZSksTnQodCxlKSxIdCh0LGUpLGh0KDAsZSksaT1lLHQ9TSgpLHN0KHQsaS5mb290ZXIpLGkuZm9vdGVyJiZtdChpLmZvb3Rlcix0KSxfKHQsaSwiZm9vdGVyIiksImZ1bmN0aW9uIj09dHlwZW9mIGUuZGlkUmVuZGVyP2UuZGlkUmVuZGVyKEEoKSk6ImZ1bmN0aW9uIj09dHlwZW9mIGUub25SZW5kZXImJmUub25SZW5kZXIoQSgpKX1mdW5jdGlvbiBGdCgpe3JldHVybiBUKCkmJlQoKS5jbGljaygpfXZhciBfdD1mdW5jdGlvbih0LGUpe2Zvcih2YXIgbiBpbiBYKWUuaWNvbiE9PW4mJmJ0KHQsWFtuXSk7dnQodCxYW2UuaWNvbl0pLEt0KHQsZSksenQoKSxfKHQsZSwiaWNvbiIpfSx6dD1mdW5jdGlvbigpe2Zvcih2YXIgdD1BKCksZT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0KS5nZXRQcm9wZXJ0eVZhbHVlKCJiYWNrZ3JvdW5kLWNvbG9yIiksbj10LnF1ZXJ5U2VsZWN0b3JBbGwoIltjbGFzc149c3dhbDItc3VjY2Vzcy1jaXJjdWxhci1saW5lXSwgLnN3YWwyLXN1Y2Nlc3MtZml4Iiksbz0wO288bi5sZW5ndGg7bysrKW5bb10uc3R5bGUuYmFja2dyb3VuZENvbG9yPWV9LFd0PWZ1bmN0aW9uKHQsZSl7dC50ZXh0Q29udGVudD0iIixlLmljb25IdG1sP1UodCxZdChlLmljb25IdG1sKSk6InN1Y2Nlc3MiPT09ZS5pY29uP1UodCwnXG4gICAgICA8ZGl2IGNsYXNzPSJzd2FsMi1zdWNjZXNzLWNpcmN1bGFyLWxpbmUtbGVmdCI+PC9kaXY+XG4gICAgICA8c3BhbiBjbGFzcz0ic3dhbDItc3VjY2Vzcy1saW5lLXRpcCI+PC9zcGFuPiA8c3BhbiBjbGFzcz0ic3dhbDItc3VjY2Vzcy1saW5lLWxvbmciPjwvc3Bhbj5cbiAgICAgIDxkaXYgY2xhc3M9InN3YWwyLXN1Y2Nlc3MtcmluZyI+PC9kaXY+IDxkaXYgY2xhc3M9InN3YWwyLXN1Y2Nlc3MtZml4Ij48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9InN3YWwyLXN1Y2Nlc3MtY2lyY3VsYXItbGluZS1yaWdodCI+PC9kaXY+XG4gICAgJyk6ImVycm9yIj09PWUuaWNvbj9VKHQsJ1xuICAgICAgPHNwYW4gY2xhc3M9InN3YWwyLXgtbWFyayI+XG4gICAgICAgIDxzcGFuIGNsYXNzPSJzd2FsMi14LW1hcmstbGluZS1sZWZ0Ij48L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPSJzd2FsMi14LW1hcmstbGluZS1yaWdodCI+PC9zcGFuPlxuICAgICAgPC9zcGFuPlxuICAgICcpOlUodCxZdCh7cXVlc3Rpb246Ij8iLHdhcm5pbmc6IiEiLGluZm86ImkifVtlLmljb25dKSl9LEt0PWZ1bmN0aW9uKHQsZSl7aWYoZS5pY29uQ29sb3Ipe3Quc3R5bGUuY29sb3I9ZS5pY29uQ29sb3IsdC5zdHlsZS5ib3JkZXJDb2xvcj1lLmljb25Db2xvcjtmb3IodmFyIG49MCxvPVsiLnN3YWwyLXN1Y2Nlc3MtbGluZS10aXAiLCIuc3dhbDItc3VjY2Vzcy1saW5lLWxvbmciLCIuc3dhbDIteC1tYXJrLWxpbmUtbGVmdCIsIi5zd2FsMi14LW1hcmstbGluZS1yaWdodCJdO248by5sZW5ndGg7bisrKXV0KHQsb1tuXSwiYmFja2dyb3VuZENvbG9yIixlLmljb25Db2xvcik7dXQodCwiLnN3YWwyLXN1Y2Nlc3MtcmluZyIsImJvcmRlckNvbG9yIixlLmljb25Db2xvcil9fSxZdD1mdW5jdGlvbih0KXtyZXR1cm4nPGRpdiBjbGFzcz0iJy5jb25jYXQoSlsiaWNvbi1jb250ZW50Il0sJyI+JykuY29uY2F0KHQsIjwvZGl2PiIpfSxadD1bXSxRdD1mdW5jdGlvbih0LGUpe3QuY2xhc3NOYW1lPSIiLmNvbmNhdChKLnBvcHVwLCIgIikuY29uY2F0KHd0KHQpP2Uuc2hvd0NsYXNzLnBvcHVwOiIiKSxlLnRvYXN0Pyh2dChbZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGRvY3VtZW50LmJvZHldLEpbInRvYXN0LXNob3duIl0pLHZ0KHQsSi50b2FzdCkpOnZ0KHQsSi5tb2RhbCksXyh0LGUsInBvcHVwIiksInN0cmluZyI9PXR5cGVvZiBlLmN1c3RvbUNsYXNzJiZ2dCh0LGUuY3VzdG9tQ2xhc3MpLGUuaWNvbiYmdnQodCxKWyJpY29uLSIuY29uY2F0KGUuaWNvbildKX07ZnVuY3Rpb24gJHQodCl7KGU9QSgpKXx8SG4uZmlyZSgpO3ZhciBlPUEoKSxuPUkoKSxvPUQoKTshdCYmd3QoVCgpKSYmKHQ9VCgpKSxydChuKSx0JiYoYXQodCksby5zZXRBdHRyaWJ1dGUoImRhdGEtYnV0dG9uLXRvLXJlcGxhY2UiLHQuY2xhc3NOYW1lKSksby5wYXJlbnROb2RlLmluc2VydEJlZm9yZShvLHQpLHZ0KFtlLG5dLEoubG9hZGluZykscnQobyksZS5zZXRBdHRyaWJ1dGUoImRhdGEtbG9hZGluZyIsITApLGUuc2V0QXR0cmlidXRlKCJhcmlhLWJ1c3kiLCEwKSxlLmZvY3VzKCl9ZnVuY3Rpb24gSnQobyl7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHQpe2lmKCFvKXJldHVybiB0KCk7dmFyIGU9d2luZG93LnNjcm9sbFgsbj13aW5kb3cuc2Nyb2xsWTt0ZS5yZXN0b3JlRm9jdXNUaW1lb3V0PXNldFRpbWVvdXQoZnVuY3Rpb24oKXt0ZS5wcmV2aW91c0FjdGl2ZUVsZW1lbnQmJnRlLnByZXZpb3VzQWN0aXZlRWxlbWVudC5mb2N1cz8odGUucHJldmlvdXNBY3RpdmVFbGVtZW50LmZvY3VzKCksdGUucHJldmlvdXNBY3RpdmVFbGVtZW50PW51bGwpOmRvY3VtZW50LmJvZHkmJmRvY3VtZW50LmJvZHkuZm9jdXMoKSx0KCl9LDEwMCksdm9pZCAwIT09ZSYmdm9pZCAwIT09biYmd2luZG93LnNjcm9sbFRvKGUsbil9KX1mdW5jdGlvbiBYdCgpe2lmKHRlLnRpbWVvdXQpcmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHQ9SCgpLGU9cGFyc2VJbnQod2luZG93LmdldENvbXB1dGVkU3R5bGUodCkud2lkdGgpO3Quc3R5bGUucmVtb3ZlUHJvcGVydHkoInRyYW5zaXRpb24iKSx0LnN0eWxlLndpZHRoPSIxMDAlIjt2YXIgbj1wYXJzZUludCh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0KS53aWR0aCksbj1wYXJzZUludChlL24qMTAwKTt0LnN0eWxlLnJlbW92ZVByb3BlcnR5KCJ0cmFuc2l0aW9uIiksdC5zdHlsZS53aWR0aD0iIi5jb25jYXQobiwiJSIpfSgpLHRlLnRpbWVvdXQuc3RvcCgpfWZ1bmN0aW9uIEd0KCl7aWYodGUudGltZW91dCl7dmFyIHQ9dGUudGltZW91dC5zdGFydCgpO3JldHVybiBkdCh0KSx0fX12YXIgdGU9e30sZWU9ITEsbmU9e307ZnVuY3Rpb24gb2UodCl7Zm9yKHZhciBlPXQudGFyZ2V0O2UmJmUhPT1kb2N1bWVudDtlPWUucGFyZW50Tm9kZSlmb3IodmFyIG4gaW4gbmUpe3ZhciBvPWUuZ2V0QXR0cmlidXRlKG4pO2lmKG8pcmV0dXJuIHZvaWQgbmVbbl0uZmlyZSh7dGVtcGxhdGU6b30pfX1mdW5jdGlvbiBpZSh0KXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHVlLHQpfWZ1bmN0aW9uIHJlKHQpe3JldHVybiBjZVt0XX1mdW5jdGlvbiBhZSh0KXtmb3IodmFyIGUgaW4gdClpZShuPWUpfHxXKCdVbmtub3duIHBhcmFtZXRlciAiJy5jb25jYXQobiwnIicpKSx0LnRvYXN0JiYobj1lLC0xIT09bGUuaW5kZXhPZihuKSYmVygnVGhlIHBhcmFtZXRlciAiJy5jb25jYXQobiwnIiBpcyBpbmNvbXBhdGlibGUgd2l0aCB0b2FzdHMnKSkpLHJlKGU9ZSkmJnYoZSxyZShlKSk7dmFyIG59dmFyIHVlPXt0aXRsZToiIix0aXRsZVRleHQ6IiIsdGV4dDoiIixodG1sOiIiLGZvb3RlcjoiIixpY29uOnZvaWQgMCxpY29uQ29sb3I6dm9pZCAwLGljb25IdG1sOnZvaWQgMCx0ZW1wbGF0ZTp2b2lkIDAsdG9hc3Q6ITEsYW5pbWF0aW9uOiEwLHNob3dDbGFzczp7cG9wdXA6InN3YWwyLXNob3ciLGJhY2tkcm9wOiJzd2FsMi1iYWNrZHJvcC1zaG93IixpY29uOiJzd2FsMi1pY29uLXNob3cifSxoaWRlQ2xhc3M6e3BvcHVwOiJzd2FsMi1oaWRlIixiYWNrZHJvcDoic3dhbDItYmFja2Ryb3AtaGlkZSIsaWNvbjoic3dhbDItaWNvbi1oaWRlIn0sY3VzdG9tQ2xhc3M6e30sdGFyZ2V0OiJib2R5IixiYWNrZHJvcDohMCxoZWlnaHRBdXRvOiEwLGFsbG93T3V0c2lkZUNsaWNrOiEwLGFsbG93RXNjYXBlS2V5OiEwLGFsbG93RW50ZXJLZXk6ITAsc3RvcEtleWRvd25Qcm9wYWdhdGlvbjohMCxrZXlkb3duTGlzdGVuZXJDYXB0dXJlOiExLHNob3dDb25maXJtQnV0dG9uOiEwLHNob3dEZW55QnV0dG9uOiExLHNob3dDYW5jZWxCdXR0b246ITEscHJlQ29uZmlybTp2b2lkIDAscHJlRGVueTp2b2lkIDAsY29uZmlybUJ1dHRvblRleHQ6Ik9LIixjb25maXJtQnV0dG9uQXJpYUxhYmVsOiIiLGNvbmZpcm1CdXR0b25Db2xvcjp2b2lkIDAsZGVueUJ1dHRvblRleHQ6Ik5vIixkZW55QnV0dG9uQXJpYUxhYmVsOiIiLGRlbnlCdXR0b25Db2xvcjp2b2lkIDAsY2FuY2VsQnV0dG9uVGV4dDoiQ2FuY2VsIixjYW5jZWxCdXR0b25BcmlhTGFiZWw6IiIsY2FuY2VsQnV0dG9uQ29sb3I6dm9pZCAwLGJ1dHRvbnNTdHlsaW5nOiEwLHJldmVyc2VCdXR0b25zOiExLGZvY3VzQ29uZmlybTohMCxmb2N1c0Rlbnk6ITEsZm9jdXNDYW5jZWw6ITEscmV0dXJuRm9jdXM6ITAsc2hvd0Nsb3NlQnV0dG9uOiExLGNsb3NlQnV0dG9uSHRtbDoiJnRpbWVzOyIsY2xvc2VCdXR0b25BcmlhTGFiZWw6IkNsb3NlIHRoaXMgZGlhbG9nIixsb2FkZXJIdG1sOiIiLHNob3dMb2FkZXJPbkNvbmZpcm06ITEsc2hvd0xvYWRlck9uRGVueTohMSxpbWFnZVVybDp2b2lkIDAsaW1hZ2VXaWR0aDp2b2lkIDAsaW1hZ2VIZWlnaHQ6dm9pZCAwLGltYWdlQWx0OiIiLHRpbWVyOnZvaWQgMCx0aW1lclByb2dyZXNzQmFyOiExLHdpZHRoOnZvaWQgMCxwYWRkaW5nOnZvaWQgMCxiYWNrZ3JvdW5kOnZvaWQgMCxpbnB1dDp2b2lkIDAsaW5wdXRQbGFjZWhvbGRlcjoiIixpbnB1dExhYmVsOiIiLGlucHV0VmFsdWU6IiIsaW5wdXRPcHRpb25zOnt9LGlucHV0QXV0b1RyaW06ITAsaW5wdXRBdHRyaWJ1dGVzOnt9LGlucHV0VmFsaWRhdG9yOnZvaWQgMCxyZXR1cm5JbnB1dFZhbHVlT25EZW55OiExLHZhbGlkYXRpb25NZXNzYWdlOnZvaWQgMCxncm93OiExLHBvc2l0aW9uOiJjZW50ZXIiLHByb2dyZXNzU3RlcHM6W10sY3VycmVudFByb2dyZXNzU3RlcDp2b2lkIDAscHJvZ3Jlc3NTdGVwc0Rpc3RhbmNlOnZvaWQgMCxvbkJlZm9yZU9wZW46dm9pZCAwLG9uT3Blbjp2b2lkIDAsd2lsbE9wZW46dm9pZCAwLGRpZE9wZW46dm9pZCAwLG9uUmVuZGVyOnZvaWQgMCxkaWRSZW5kZXI6dm9pZCAwLG9uQ2xvc2U6dm9pZCAwLG9uQWZ0ZXJDbG9zZTp2b2lkIDAsd2lsbENsb3NlOnZvaWQgMCxkaWRDbG9zZTp2b2lkIDAsb25EZXN0cm95OnZvaWQgMCxkaWREZXN0cm95OnZvaWQgMCxzY3JvbGxiYXJQYWRkaW5nOiEwfSxzZT1bImFsbG93RXNjYXBlS2V5IiwiYWxsb3dPdXRzaWRlQ2xpY2siLCJiYWNrZ3JvdW5kIiwiYnV0dG9uc1N0eWxpbmciLCJjYW5jZWxCdXR0b25BcmlhTGFiZWwiLCJjYW5jZWxCdXR0b25Db2xvciIsImNhbmNlbEJ1dHRvblRleHQiLCJjbG9zZUJ1dHRvbkFyaWFMYWJlbCIsImNsb3NlQnV0dG9uSHRtbCIsImNvbmZpcm1CdXR0b25BcmlhTGFiZWwiLCJjb25maXJtQnV0dG9uQ29sb3IiLCJjb25maXJtQnV0dG9uVGV4dCIsImN1cnJlbnRQcm9ncmVzc1N0ZXAiLCJjdXN0b21DbGFzcyIsImRlbnlCdXR0b25BcmlhTGFiZWwiLCJkZW55QnV0dG9uQ29sb3IiLCJkZW55QnV0dG9uVGV4dCIsImRpZENsb3NlIiwiZGlkRGVzdHJveSIsImZvb3RlciIsImhpZGVDbGFzcyIsImh0bWwiLCJpY29uIiwiaWNvbkNvbG9yIiwiaWNvbkh0bWwiLCJpbWFnZUFsdCIsImltYWdlSGVpZ2h0IiwiaW1hZ2VVcmwiLCJpbWFnZVdpZHRoIiwib25BZnRlckNsb3NlIiwib25DbG9zZSIsIm9uRGVzdHJveSIsInByb2dyZXNzU3RlcHMiLCJyZXR1cm5Gb2N1cyIsInJldmVyc2VCdXR0b25zIiwic2hvd0NhbmNlbEJ1dHRvbiIsInNob3dDbG9zZUJ1dHRvbiIsInNob3dDb25maXJtQnV0dG9uIiwic2hvd0RlbnlCdXR0b24iLCJ0ZXh0IiwidGl0bGUiLCJ0aXRsZVRleHQiLCJ3aWxsQ2xvc2UiXSxjZT17YW5pbWF0aW9uOidzaG93Q2xhc3MiIGFuZCAiaGlkZUNsYXNzJyxvbkJlZm9yZU9wZW46IndpbGxPcGVuIixvbk9wZW46ImRpZE9wZW4iLG9uUmVuZGVyOiJkaWRSZW5kZXIiLG9uQ2xvc2U6IndpbGxDbG9zZSIsb25BZnRlckNsb3NlOiJkaWRDbG9zZSIsb25EZXN0cm95OiJkaWREZXN0cm95In0sbGU9WyJhbGxvd091dHNpZGVDbGljayIsImFsbG93RW50ZXJLZXkiLCJiYWNrZHJvcCIsImZvY3VzQ29uZmlybSIsImZvY3VzRGVueSIsImZvY3VzQ2FuY2VsIiwicmV0dXJuRm9jdXMiLCJoZWlnaHRBdXRvIiwia2V5ZG93bkxpc3RlbmVyQ2FwdHVyZSJdLGRlPU9iamVjdC5mcmVlemUoe2lzVmFsaWRQYXJhbWV0ZXI6aWUsaXNVcGRhdGFibGVQYXJhbWV0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuLTEhPT1zZS5pbmRleE9mKHQpfSxpc0RlcHJlY2F0ZWRQYXJhbWV0ZXI6cmUsYXJnc1RvUGFyYW1zOmZ1bmN0aW9uKG4pe3ZhciBvPXt9O3JldHVybiJvYmplY3QiIT09cihuWzBdKXx8QyhuWzBdKT9bInRpdGxlIiwiaHRtbCIsImljb24iXS5mb3JFYWNoKGZ1bmN0aW9uKHQsZSl7ZT1uW2VdOyJzdHJpbmciPT10eXBlb2YgZXx8QyhlKT9vW3RdPWU6dm9pZCAwIT09ZSYmSygiVW5leHBlY3RlZCB0eXBlIG9mICIuY29uY2F0KHQsJyEgRXhwZWN0ZWQgInN0cmluZyIgb3IgIkVsZW1lbnQiLCBnb3QgJykuY29uY2F0KHIoZSkpKX0pOnMobyxuWzBdKSxvfSxpc1Zpc2libGU6ZnVuY3Rpb24oKXtyZXR1cm4gd3QoQSgpKX0sY2xpY2tDb25maXJtOkZ0LGNsaWNrRGVueTpmdW5jdGlvbigpe3JldHVybiBMKCkmJkwoKS5jbGljaygpfSxjbGlja0NhbmNlbDpmdW5jdGlvbigpe3JldHVybiBxKCkmJnEoKS5jbGljaygpfSxnZXRDb250YWluZXI6ayxnZXRQb3B1cDpBLGdldFRpdGxlOkIsZ2V0Q29udGVudDpQLGdldEh0bWxDb250YWluZXI6RSxnZXRJbWFnZTpPLGdldEljb246eCxnZXRJbnB1dExhYmVsOmZ1bmN0aW9uKCl7cmV0dXJuIHQoSlsiaW5wdXQtbGFiZWwiXSl9LGdldENsb3NlQnV0dG9uOlYsZ2V0QWN0aW9uczpJLGdldENvbmZpcm1CdXR0b246VCxnZXREZW55QnV0dG9uOkwsZ2V0Q2FuY2VsQnV0dG9uOnEsZ2V0TG9hZGVyOkQsZ2V0SGVhZGVyOmosZ2V0Rm9vdGVyOk0sZ2V0VGltZXJQcm9ncmVzc0JhcjpILGdldEZvY3VzYWJsZUVsZW1lbnRzOlIsZ2V0VmFsaWRhdGlvbk1lc3NhZ2U6Uyxpc0xvYWRpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gQSgpLmhhc0F0dHJpYnV0ZSgiZGF0YS1sb2FkaW5nIil9LGZpcmU6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0KSxuPTA7bjx0O24rKyllW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gaSh0aGlzLGUpfSxtaXhpbjpmdW5jdGlvbihyKXtyZXR1cm4gZnVuY3Rpb24odCl7IWZ1bmN0aW9uKHQsZSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGUmJm51bGwhPT1lKXRocm93IG5ldyBUeXBlRXJyb3IoIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uIik7dC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlJiZlLnByb3RvdHlwZSx7Y29uc3RydWN0b3I6e3ZhbHVlOnQsd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfX0pLGUmJmwodCxlKX0oaSx0KTt2YXIgbixvLGU9KG49aSxvPWQoKSxmdW5jdGlvbigpe3ZhciB0LGU9YyhuKTtyZXR1cm4gcCh0aGlzLG8/KHQ9Yyh0aGlzKS5jb25zdHJ1Y3RvcixSZWZsZWN0LmNvbnN0cnVjdChlLGFyZ3VtZW50cyx0KSk6ZS5hcHBseSh0aGlzLGFyZ3VtZW50cykpfSk7ZnVuY3Rpb24gaSgpe3JldHVybiBhKHRoaXMsaSksZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIHUoaSxbe2tleToiX21haW4iLHZhbHVlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGYoYyhpLnByb3RvdHlwZSksIl9tYWluIix0aGlzKS5jYWxsKHRoaXMsdCxzKHt9LHIsZSkpfX1dKSxpfSh0aGlzKX0scXVldWU6ZnVuY3Rpb24odCl7digiU3dhbC5xdWV1ZSgpIiwiYXN5bmMvYXdhaXQiKTt2YXIgcj10aGlzO1p0PXQ7ZnVuY3Rpb24gYSh0LGUpe1p0PVtdLHQoZSl9dmFyIHU9W107cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGkpeyFmdW5jdGlvbiBlKG4sbyl7bjxadC5sZW5ndGg/KGRvY3VtZW50LmJvZHkuc2V0QXR0cmlidXRlKCJkYXRhLXN3YWwyLXF1ZXVlLXN0ZXAiLG4pLHIuZmlyZShadFtuXSkudGhlbihmdW5jdGlvbih0KXt2b2lkIDAhPT10LnZhbHVlPyh1LnB1c2godC52YWx1ZSksZShuKzEsbykpOmEoaSx7ZGlzbWlzczp0LmRpc21pc3N9KX0pKTphKGkse3ZhbHVlOnV9KX0oMCl9KX0sZ2V0UXVldWVTdGVwOlZ0LGluc2VydFF1ZXVlU3RlcDpmdW5jdGlvbih0LGUpe3JldHVybiBlJiZlPFp0Lmxlbmd0aD9adC5zcGxpY2UoZSwwLHQpOlp0LnB1c2godCl9LGRlbGV0ZVF1ZXVlU3RlcDpmdW5jdGlvbih0KXt2b2lkIDAhPT1adFt0XSYmWnQuc3BsaWNlKHQsMSl9LHNob3dMb2FkaW5nOiR0LGVuYWJsZUxvYWRpbmc6JHQsZ2V0VGltZXJMZWZ0OmZ1bmN0aW9uKCl7cmV0dXJuIHRlLnRpbWVvdXQmJnRlLnRpbWVvdXQuZ2V0VGltZXJMZWZ0KCl9LHN0b3BUaW1lcjpYdCxyZXN1bWVUaW1lcjpHdCx0b2dnbGVUaW1lcjpmdW5jdGlvbigpe3ZhciB0PXRlLnRpbWVvdXQ7cmV0dXJuIHQmJih0LnJ1bm5pbmc/WHQ6R3QpKCl9LGluY3JlYXNlVGltZXI6ZnVuY3Rpb24odCl7aWYodGUudGltZW91dCl7dD10ZS50aW1lb3V0LmluY3JlYXNlKHQpO3JldHVybiBkdCh0LCEwKSx0fX0saXNUaW1lclJ1bm5pbmc6ZnVuY3Rpb24oKXtyZXR1cm4gdGUudGltZW91dCYmdGUudGltZW91dC5pc1J1bm5pbmcoKX0sYmluZENsaWNrSGFuZGxlcjpmdW5jdGlvbigpe25lWzA8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXToiZGF0YS1zd2FsLXRlbXBsYXRlIl09dGhpcyxlZXx8KGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLG9lKSxlZT0hMCl9fSk7ZnVuY3Rpb24gcGUoKXt2YXIgdCxlO1R0LmlubmVyUGFyYW1zLmdldCh0aGlzKSYmKHQ9VHQuZG9tQ2FjaGUuZ2V0KHRoaXMpLGF0KHQubG9hZGVyKSwoZT10LnBvcHVwLmdldEVsZW1lbnRzQnlDbGFzc05hbWUodC5sb2FkZXIuZ2V0QXR0cmlidXRlKCJkYXRhLWJ1dHRvbi10by1yZXBsYWNlIikpKS5sZW5ndGg/cnQoZVswXSwiaW5saW5lLWJsb2NrIik6d3QoVCgpKXx8d3QoTCgpKXx8d3QocSgpKXx8YXQodC5hY3Rpb25zKSxidChbdC5wb3B1cCx0LmFjdGlvbnNdLEoubG9hZGluZyksdC5wb3B1cC5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtYnVzeSIpLHQucG9wdXAucmVtb3ZlQXR0cmlidXRlKCJkYXRhLWxvYWRpbmciKSx0LmNvbmZpcm1CdXR0b24uZGlzYWJsZWQ9ITEsdC5kZW55QnV0dG9uLmRpc2FibGVkPSExLHQuY2FuY2VsQnV0dG9uLmRpc2FibGVkPSExKX1mdW5jdGlvbiBmZSgpe251bGw9PT10dC5wcmV2aW91c0JvZHlQYWRkaW5nJiZkb2N1bWVudC5ib2R5LnNjcm9sbEhlaWdodD53aW5kb3cuaW5uZXJIZWlnaHQmJih0dC5wcmV2aW91c0JvZHlQYWRkaW5nPXBhcnNlSW50KHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmJvZHkpLmdldFByb3BlcnR5VmFsdWUoInBhZGRpbmctcmlnaHQiKSksZG9jdW1lbnQuYm9keS5zdHlsZS5wYWRkaW5nUmlnaHQ9IiIuY29uY2F0KHR0LnByZXZpb3VzQm9keVBhZGRpbmcrZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LmNsYXNzTmFtZT1KWyJzY3JvbGxiYXItbWVhc3VyZSJdLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodCk7dmFyIGU9dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aC10LmNsaWVudFdpZHRoO3JldHVybiBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHQpLGV9KCksInB4IikpfWZ1bmN0aW9uIG1lKCl7cmV0dXJuISF3aW5kb3cuTVNJbnB1dE1ldGhvZENvbnRleHQmJiEhZG9jdW1lbnQuZG9jdW1lbnRNb2RlfWZ1bmN0aW9uIGhlKCl7dmFyIHQ9aygpLGU9QSgpO3Quc3R5bGUucmVtb3ZlUHJvcGVydHkoImFsaWduLWl0ZW1zIiksZS5vZmZzZXRUb3A8MCYmKHQuc3R5bGUuYWxpZ25JdGVtcz0iZmxleC1zdGFydCIpfXZhciBnZT1mdW5jdGlvbigpe25hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goLyhDcmlPU3xGeGlPU3xFZGdpT1N8WWFCcm93c2VyfFVDQnJvd3NlcikvaSl8fEEoKS5zY3JvbGxIZWlnaHQ+d2luZG93LmlubmVySGVpZ2h0LTQ0JiYoaygpLnN0eWxlLnBhZGRpbmdCb3R0b209IiIuY29uY2F0KDQ0LCJweCIpKX0sdmU9ZnVuY3Rpb24oKXt2YXIgZSx0PWsoKTt0Lm9udG91Y2hzdGFydD1mdW5jdGlvbih0KXtlPWJlKHQpfSx0Lm9udG91Y2htb3ZlPWZ1bmN0aW9uKHQpe2UmJih0LnByZXZlbnREZWZhdWx0KCksdC5zdG9wUHJvcGFnYXRpb24oKSl9fSxiZT1mdW5jdGlvbih0KXt2YXIgZT10LnRhcmdldCxuPWsoKTtyZXR1cm4heWUodCkmJiF3ZSh0KSYmKGU9PT1ufHwhKGN0KG4pfHwiSU5QVVQiPT09ZS50YWdOYW1lfHxjdChQKCkpJiZQKCkuY29udGFpbnMoZSkpKX0seWU9ZnVuY3Rpb24odCl7cmV0dXJuIHQudG91Y2hlcyYmdC50b3VjaGVzLmxlbmd0aCYmInN0eWx1cyI9PT10LnRvdWNoZXNbMF0udG91Y2hUeXBlfSx3ZT1mdW5jdGlvbih0KXtyZXR1cm4gdC50b3VjaGVzJiYxPHQudG91Y2hlcy5sZW5ndGh9LENlPXtzd2FsUHJvbWlzZVJlc29sdmU6bmV3IFdlYWtNYXB9O2Z1bmN0aW9uIGtlKHQsZSxuLG8pe0coKT9PZSh0LG8pOihKdChuKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIE9lKHQsbyl9KSx0ZS5rZXlkb3duVGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRlLmtleWRvd25IYW5kbGVyLHtjYXB0dXJlOnRlLmtleWRvd25MaXN0ZW5lckNhcHR1cmV9KSx0ZS5rZXlkb3duSGFuZGxlckFkZGVkPSExKSxlLnBhcmVudE5vZGUmJiFkb2N1bWVudC5ib2R5LmdldEF0dHJpYnV0ZSgiZGF0YS1zd2FsMi1xdWV1ZS1zdGVwIikmJmUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlKSxOKCkmJihudWxsIT09dHQucHJldmlvdXNCb2R5UGFkZGluZyYmKGRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0PSIiLmNvbmNhdCh0dC5wcmV2aW91c0JvZHlQYWRkaW5nLCJweCIpLHR0LnByZXZpb3VzQm9keVBhZGRpbmc9bnVsbCksRihkb2N1bWVudC5ib2R5LEouaW9zZml4KSYmKGU9cGFyc2VJbnQoZG9jdW1lbnQuYm9keS5zdHlsZS50b3AsMTApLGJ0KGRvY3VtZW50LmJvZHksSi5pb3NmaXgpLGRvY3VtZW50LmJvZHkuc3R5bGUudG9wPSIiLGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wPS0xKmUpLCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZtZSgpJiZ3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIixoZSksZyhkb2N1bWVudC5ib2R5LmNoaWxkcmVuKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3QuaGFzQXR0cmlidXRlKCJkYXRhLXByZXZpb3VzLWFyaWEtaGlkZGVuIik/KHQuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsdC5nZXRBdHRyaWJ1dGUoImRhdGEtcHJldmlvdXMtYXJpYS1oaWRkZW4iKSksdC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtcHJldmlvdXMtYXJpYS1oaWRkZW4iKSk6dC5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIil9KSksYnQoW2RvY3VtZW50LmRvY3VtZW50RWxlbWVudCxkb2N1bWVudC5ib2R5XSxbSi5zaG93bixKWyJoZWlnaHQtYXV0byJdLEpbIm5vLWJhY2tkcm9wIl0sSlsidG9hc3Qtc2hvd24iXV0pfWZ1bmN0aW9uIEFlKHQpe3ZhciBlLG4sbyxpPUEoKTtpJiYodD14ZSh0KSwoZT1UdC5pbm5lclBhcmFtcy5nZXQodGhpcykpJiYhRihpLGUuaGlkZUNsYXNzLnBvcHVwKSYmKG49Q2Uuc3dhbFByb21pc2VSZXNvbHZlLmdldCh0aGlzKSxidChpLGUuc2hvd0NsYXNzLnBvcHVwKSx2dChpLGUuaGlkZUNsYXNzLnBvcHVwKSxvPWsoKSxidChvLGUuc2hvd0NsYXNzLmJhY2tkcm9wKSx2dChvLGUuaGlkZUNsYXNzLmJhY2tkcm9wKSxCZSh0aGlzLGksZSksbih0KSkpfWZ1bmN0aW9uIHhlKHQpe3JldHVybiB2b2lkIDA9PT10P3tpc0NvbmZpcm1lZDohMSxpc0RlbmllZDohMSxpc0Rpc21pc3NlZDohMH06cyh7aXNDb25maXJtZWQ6ITEsaXNEZW5pZWQ6ITEsaXNEaXNtaXNzZWQ6ITF9LHQpfWZ1bmN0aW9uIEJlKHQsZSxuKXt2YXIgbz1rKCksaT1CdCYmbHQoZSkscj1uLm9uQ2xvc2UsYT1uLm9uQWZ0ZXJDbG9zZSx1PW4ud2lsbENsb3NlLHM9bi5kaWRDbG9zZTtQZShlLHUsciksaT9FZSh0LGUsbyxuLnJldHVybkZvY3VzLHN8fGEpOmtlKHQsbyxuLnJldHVybkZvY3VzLHN8fGEpfXZhciBQZT1mdW5jdGlvbih0LGUsbil7bnVsbCE9PWUmJiJmdW5jdGlvbiI9PXR5cGVvZiBlP2UodCk6bnVsbCE9PW4mJiJmdW5jdGlvbiI9PXR5cGVvZiBuJiZuKHQpfSxFZT1mdW5jdGlvbih0LGUsbixvLGkpe3RlLnN3YWxDbG9zZUV2ZW50RmluaXNoZWRDYWxsYmFjaz1rZS5iaW5kKG51bGwsdCxuLG8saSksZS5hZGRFdmVudExpc3RlbmVyKEJ0LGZ1bmN0aW9uKHQpe3QudGFyZ2V0PT09ZSYmKHRlLnN3YWxDbG9zZUV2ZW50RmluaXNoZWRDYWxsYmFjaygpLGRlbGV0ZSB0ZS5zd2FsQ2xvc2VFdmVudEZpbmlzaGVkQ2FsbGJhY2spfSl9LE9lPWZ1bmN0aW9uKHQsZSl7c2V0VGltZW91dChmdW5jdGlvbigpeyJmdW5jdGlvbiI9PXR5cGVvZiBlJiZlKCksdC5fZGVzdHJveSgpfSl9O2Z1bmN0aW9uIFNlKHQsZSxuKXt2YXIgbz1UdC5kb21DYWNoZS5nZXQodCk7ZS5mb3JFYWNoKGZ1bmN0aW9uKHQpe29bdF0uZGlzYWJsZWQ9bn0pfWZ1bmN0aW9uIFRlKHQsZSl7aWYoIXQpcmV0dXJuITE7aWYoInJhZGlvIj09PXQudHlwZSlmb3IodmFyIG49dC5wYXJlbnROb2RlLnBhcmVudE5vZGUucXVlcnlTZWxlY3RvckFsbCgiaW5wdXQiKSxvPTA7bzxuLmxlbmd0aDtvKyspbltvXS5kaXNhYmxlZD1lO2Vsc2UgdC5kaXNhYmxlZD1lfXZhciBMZT1mdW5jdGlvbigpe2Z1bmN0aW9uIG4odCxlKXthKHRoaXMsbiksdGhpcy5jYWxsYmFjaz10LHRoaXMucmVtYWluaW5nPWUsdGhpcy5ydW5uaW5nPSExLHRoaXMuc3RhcnQoKX1yZXR1cm4gdShuLFt7a2V5OiJzdGFydCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ydW5uaW5nfHwodGhpcy5ydW5uaW5nPSEwLHRoaXMuc3RhcnRlZD1uZXcgRGF0ZSx0aGlzLmlkPXNldFRpbWVvdXQodGhpcy5jYWxsYmFjayx0aGlzLnJlbWFpbmluZykpLHRoaXMucmVtYWluaW5nfX0se2tleToic3RvcCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ydW5uaW5nJiYodGhpcy5ydW5uaW5nPSExLGNsZWFyVGltZW91dCh0aGlzLmlkKSx0aGlzLnJlbWFpbmluZy09bmV3IERhdGUtdGhpcy5zdGFydGVkKSx0aGlzLnJlbWFpbmluZ319LHtrZXk6ImluY3JlYXNlIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgZT10aGlzLnJ1bm5pbmc7cmV0dXJuIGUmJnRoaXMuc3RvcCgpLHRoaXMucmVtYWluaW5nKz10LGUmJnRoaXMuc3RhcnQoKSx0aGlzLnJlbWFpbmluZ319LHtrZXk6ImdldFRpbWVyTGVmdCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ydW5uaW5nJiYodGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKSx0aGlzLnJlbWFpbmluZ319LHtrZXk6ImlzUnVubmluZyIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ydW5uaW5nfX1dKSxufSgpLERlPXtlbWFpbDpmdW5jdGlvbih0LGUpe3JldHVybi9eW2EtekEtWjAtOS4rXy1dK0BbYS16QS1aMC05Li1dK1wuW2EtekEtWjAtOS1dezIsMjR9JC8udGVzdCh0KT9Qcm9taXNlLnJlc29sdmUoKTpQcm9taXNlLnJlc29sdmUoZXx8IkludmFsaWQgZW1haWwgYWRkcmVzcyIpfSx1cmw6ZnVuY3Rpb24odCxlKXtyZXR1cm4vXmh0dHBzPzpcL1wvKHd3d1wuKT9bLWEtekEtWjAtOUA6JS5fK34jPV17MSwyNTZ9XC5bYS16XXsyLDYzfVxiKFstYS16QS1aMC05QDolXysufiM/Ji89XSopJC8udGVzdCh0KT9Qcm9taXNlLnJlc29sdmUoKTpQcm9taXNlLnJlc29sdmUoZXx8IkludmFsaWQgVVJMIil9fTtmdW5jdGlvbiBxZSh0KXt2YXIgZSxuOyhlPXQpLmlucHV0VmFsaWRhdG9yfHxPYmplY3Qua2V5cyhEZSkuZm9yRWFjaChmdW5jdGlvbih0KXtlLmlucHV0PT09dCYmKGUuaW5wdXRWYWxpZGF0b3I9RGVbdF0pfSksdC5zaG93TG9hZGVyT25Db25maXJtJiYhdC5wcmVDb25maXJtJiZXKCJzaG93TG9hZGVyT25Db25maXJtIGlzIHNldCB0byB0cnVlLCBidXQgcHJlQ29uZmlybSBpcyBub3QgZGVmaW5lZC5cbnNob3dMb2FkZXJPbkNvbmZpcm0gc2hvdWxkIGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBwcmVDb25maXJtLCBzZWUgdXNhZ2UgZXhhbXBsZTpcbmh0dHBzOi8vc3dlZXRhbGVydDIuZ2l0aHViLmlvLyNhamF4LXJlcXVlc3QiKSx0LmFuaW1hdGlvbj1aKHQuYW5pbWF0aW9uKSwobj10KS50YXJnZXQmJigic3RyaW5nIiE9dHlwZW9mIG4udGFyZ2V0fHxkb2N1bWVudC5xdWVyeVNlbGVjdG9yKG4udGFyZ2V0KSkmJigic3RyaW5nIj09dHlwZW9mIG4udGFyZ2V0fHxuLnRhcmdldC5hcHBlbmRDaGlsZCl8fChXKCdUYXJnZXQgcGFyYW1ldGVyIGlzIG5vdCB2YWxpZCwgZGVmYXVsdGluZyB0byAiYm9keSInKSxuLnRhcmdldD0iYm9keSIpLCJzdHJpbmciPT10eXBlb2YgdC50aXRsZSYmKHQudGl0bGU9dC50aXRsZS5zcGxpdCgiXG4iKS5qb2luKCI8YnIgLz4iKSksa3QodCl9ZnVuY3Rpb24gSWUodCl7dmFyIGU9aygpLG49QSgpOyJmdW5jdGlvbiI9PXR5cGVvZiB0LndpbGxPcGVuP3Qud2lsbE9wZW4obik6ImZ1bmN0aW9uIj09dHlwZW9mIHQub25CZWZvcmVPcGVuJiZ0Lm9uQmVmb3JlT3BlbihuKTt2YXIgbz13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5ib2R5KS5vdmVyZmxvd1k7JGUoZSxuLHQpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtaZShlLG4pfSwxMCksTigpJiYoUWUoZSx0LnNjcm9sbGJhclBhZGRpbmcsbyksZyhkb2N1bWVudC5ib2R5LmNoaWxkcmVuKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3Q9PT1rKCl8fGZ1bmN0aW9uKHQsZSl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHQuY29udGFpbnMpcmV0dXJuIHQuY29udGFpbnMoZSl9KHQsaygpKXx8KHQuaGFzQXR0cmlidXRlKCJhcmlhLWhpZGRlbiIpJiZ0LnNldEF0dHJpYnV0ZSgiZGF0YS1wcmV2aW91cy1hcmlhLWhpZGRlbiIsdC5nZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIikpLHQuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKSl9KSksRygpfHx0ZS5wcmV2aW91c0FjdGl2ZUVsZW1lbnR8fCh0ZS5wcmV2aW91c0FjdGl2ZUVsZW1lbnQ9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCksWWUobix0KSxidChlLEpbIm5vLXRyYW5zaXRpb24iXSl9ZnVuY3Rpb24gamUodCl7dmFyIGU9QSgpO3QudGFyZ2V0PT09ZSYmKHQ9aygpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihCdCxqZSksdC5zdHlsZS5vdmVyZmxvd1k9ImF1dG8iKX1mdW5jdGlvbiBNZSh0LGUpe3QuY2xvc2VQb3B1cCh7aXNDb25maXJtZWQ6ITAsdmFsdWU6ZX0pfWZ1bmN0aW9uIEhlKHQsZSxuKXt2YXIgbz1SKCk7aWYoby5sZW5ndGgpcmV0dXJuKGUrPW4pPT09by5sZW5ndGg/ZT0wOi0xPT09ZSYmKGU9by5sZW5ndGgtMSksb1tlXS5mb2N1cygpO0EoKS5mb2N1cygpfXZhciBWZT1bInN3YWwtdGl0bGUiLCJzd2FsLWh0bWwiLCJzd2FsLWZvb3RlciJdLFJlPWZ1bmN0aW9uKHQpe3ZhciBuPXt9O3JldHVybiBnKHQucXVlcnlTZWxlY3RvckFsbCgic3dhbC1wYXJhbSIpKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe0tlKHQsWyJuYW1lIiwidmFsdWUiXSk7dmFyIGU9dC5nZXRBdHRyaWJ1dGUoIm5hbWUiKSx0PXQuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpOyJib29sZWFuIj09dHlwZW9mIHVlW2VdJiYiZmFsc2UiPT09dCYmKHQ9ITEpLCJvYmplY3QiPT09cih1ZVtlXSkmJih0PUpTT04ucGFyc2UodCkpLG5bZV09dH0pLG59LE5lPWZ1bmN0aW9uKHQpe3ZhciBuPXt9O3JldHVybiBnKHQucXVlcnlTZWxlY3RvckFsbCgic3dhbC1idXR0b24iKSkuZm9yRWFjaChmdW5jdGlvbih0KXtLZSh0LFsidHlwZSIsImNvbG9yIiwiYXJpYS1sYWJlbCJdKTt2YXIgZT10LmdldEF0dHJpYnV0ZSgidHlwZSIpO25bIiIuY29uY2F0KGUsIkJ1dHRvblRleHQiKV09dC5pbm5lckhUTUwsblsic2hvdyIuY29uY2F0KG0oZSksIkJ1dHRvbiIpXT0hMCx0Lmhhc0F0dHJpYnV0ZSgiY29sb3IiKSYmKG5bIiIuY29uY2F0KGUsIkJ1dHRvbkNvbG9yIildPXQuZ2V0QXR0cmlidXRlKCJjb2xvciIpKSx0Lmhhc0F0dHJpYnV0ZSgiYXJpYS1sYWJlbCIpJiYoblsiIi5jb25jYXQoZSwiQnV0dG9uQXJpYUxhYmVsIildPXQuZ2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIikpfSksbn0sVWU9ZnVuY3Rpb24odCl7dmFyIGU9e30sdD10LnF1ZXJ5U2VsZWN0b3IoInN3YWwtaW1hZ2UiKTtyZXR1cm4gdCYmKEtlKHQsWyJzcmMiLCJ3aWR0aCIsImhlaWdodCIsImFsdCJdKSx0Lmhhc0F0dHJpYnV0ZSgic3JjIikmJihlLmltYWdlVXJsPXQuZ2V0QXR0cmlidXRlKCJzcmMiKSksdC5oYXNBdHRyaWJ1dGUoIndpZHRoIikmJihlLmltYWdlV2lkdGg9dC5nZXRBdHRyaWJ1dGUoIndpZHRoIikpLHQuaGFzQXR0cmlidXRlKCJoZWlnaHQiKSYmKGUuaW1hZ2VIZWlnaHQ9dC5nZXRBdHRyaWJ1dGUoImhlaWdodCIpKSx0Lmhhc0F0dHJpYnV0ZSgiYWx0IikmJihlLmltYWdlQWx0PXQuZ2V0QXR0cmlidXRlKCJhbHQiKSkpLGV9LEZlPWZ1bmN0aW9uKHQpe3ZhciBlPXt9LHQ9dC5xdWVyeVNlbGVjdG9yKCJzd2FsLWljb24iKTtyZXR1cm4gdCYmKEtlKHQsWyJ0eXBlIiwiY29sb3IiXSksdC5oYXNBdHRyaWJ1dGUoInR5cGUiKSYmKGUuaWNvbj10LmdldEF0dHJpYnV0ZSgidHlwZSIpKSx0Lmhhc0F0dHJpYnV0ZSgiY29sb3IiKSYmKGUuaWNvbkNvbG9yPXQuZ2V0QXR0cmlidXRlKCJjb2xvciIpKSxlLmljb25IdG1sPXQuaW5uZXJIVE1MKSxlfSxfZT1mdW5jdGlvbih0KXt2YXIgbj17fSxlPXQucXVlcnlTZWxlY3Rvcigic3dhbC1pbnB1dCIpO2UmJihLZShlLFsidHlwZSIsImxhYmVsIiwicGxhY2Vob2xkZXIiLCJ2YWx1ZSJdKSxuLmlucHV0PWUuZ2V0QXR0cmlidXRlKCJ0eXBlIil8fCJ0ZXh0IixlLmhhc0F0dHJpYnV0ZSgibGFiZWwiKSYmKG4uaW5wdXRMYWJlbD1lLmdldEF0dHJpYnV0ZSgibGFiZWwiKSksZS5oYXNBdHRyaWJ1dGUoInBsYWNlaG9sZGVyIikmJihuLmlucHV0UGxhY2Vob2xkZXI9ZS5nZXRBdHRyaWJ1dGUoInBsYWNlaG9sZGVyIikpLGUuaGFzQXR0cmlidXRlKCJ2YWx1ZSIpJiYobi5pbnB1dFZhbHVlPWUuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpKSk7dD10LnF1ZXJ5U2VsZWN0b3JBbGwoInN3YWwtaW5wdXQtb3B0aW9uIik7cmV0dXJuIHQubGVuZ3RoJiYobi5pbnB1dE9wdGlvbnM9e30sZyh0KS5mb3JFYWNoKGZ1bmN0aW9uKHQpe0tlKHQsWyJ2YWx1ZSJdKTt2YXIgZT10LmdldEF0dHJpYnV0ZSgidmFsdWUiKSx0PXQuaW5uZXJIVE1MO24uaW5wdXRPcHRpb25zW2VdPXR9KSksbn0semU9ZnVuY3Rpb24odCxlKXt2YXIgbixvPXt9O2ZvcihuIGluIGUpe3ZhciBpPWVbbl0scj10LnF1ZXJ5U2VsZWN0b3IoaSk7ciYmKEtlKHIsW10pLG9baS5yZXBsYWNlKC9ec3dhbC0vLCIiKV09ci5pbm5lckhUTUwudHJpbSgpKX1yZXR1cm4gb30sV2U9ZnVuY3Rpb24oZSl7dmFyIG49VmUuY29uY2F0KFsic3dhbC1wYXJhbSIsInN3YWwtYnV0dG9uIiwic3dhbC1pbWFnZSIsInN3YWwtaWNvbiIsInN3YWwtaW5wdXQiLCJzd2FsLWlucHV0LW9wdGlvbiJdKTtnKGUucXVlcnlTZWxlY3RvckFsbCgiKiIpKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3QucGFyZW50Tm9kZT09PWUmJih0PXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpLC0xPT09bi5pbmRleE9mKHQpJiZXKCJVbnJlY29nbml6ZWQgZWxlbWVudCA8Ii5jb25jYXQodCwiPiIpKSl9KX0sS2U9ZnVuY3Rpb24oZSxuKXtnKGUuYXR0cmlidXRlcykuZm9yRWFjaChmdW5jdGlvbih0KXstMT09PW4uaW5kZXhPZih0Lm5hbWUpJiZXKFsnVW5yZWNvZ25pemVkIGF0dHJpYnV0ZSAiJy5jb25jYXQodC5uYW1lLCciIG9uIDwnKS5jb25jYXQoZS50YWdOYW1lLnRvTG93ZXJDYXNlKCksIj4uIiksIiIuY29uY2F0KG4ubGVuZ3RoPyJBbGxvd2VkIGF0dHJpYnV0ZXMgYXJlOiAiLmNvbmNhdChuLmpvaW4oIiwgIikpOiJUbyBzZXQgdGhlIHZhbHVlLCB1c2UgSFRNTCB3aXRoaW4gdGhlIGVsZW1lbnQuIildKX0pfSxZZT1mdW5jdGlvbih0LGUpeyJmdW5jdGlvbiI9PXR5cGVvZiBlLmRpZE9wZW4/c2V0VGltZW91dChmdW5jdGlvbigpe3JldHVybiBlLmRpZE9wZW4odCl9KToiZnVuY3Rpb24iPT10eXBlb2YgZS5vbk9wZW4mJnNldFRpbWVvdXQoZnVuY3Rpb24oKXtyZXR1cm4gZS5vbk9wZW4odCl9KX0sWmU9ZnVuY3Rpb24odCxlKXtCdCYmbHQoZSk/KHQuc3R5bGUub3ZlcmZsb3dZPSJoaWRkZW4iLGUuYWRkRXZlbnRMaXN0ZW5lcihCdCxqZSkpOnQuc3R5bGUub3ZlcmZsb3dZPSJhdXRvIn0sUWU9ZnVuY3Rpb24odCxlLG4pe3ZhciBvOygvaVBhZHxpUGhvbmV8aVBvZC8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSYmIXdpbmRvdy5NU1N0cmVhbXx8Ik1hY0ludGVsIj09PW5hdmlnYXRvci5wbGF0Zm9ybSYmMTxuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMpJiYhRihkb2N1bWVudC5ib2R5LEouaW9zZml4KSYmKG89ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AsZG9jdW1lbnQuYm9keS5zdHlsZS50b3A9IiIuY29uY2F0KC0xKm8sInB4IiksdnQoZG9jdW1lbnQuYm9keSxKLmlvc2ZpeCksdmUoKSxnZSgpKSwidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmbWUoKSYmKGhlKCksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsaGUpKSxlJiYiaGlkZGVuIiE9PW4mJmZlKCksc2V0VGltZW91dChmdW5jdGlvbigpe3Quc2Nyb2xsVG9wPTB9KX0sJGU9ZnVuY3Rpb24odCxlLG4pe3Z0KHQsbi5zaG93Q2xhc3MuYmFja2Ryb3ApLGUuc3R5bGUuc2V0UHJvcGVydHkoIm9wYWNpdHkiLCIwIiwiaW1wb3J0YW50IikscnQoZSksc2V0VGltZW91dChmdW5jdGlvbigpe3Z0KGUsbi5zaG93Q2xhc3MucG9wdXApLGUuc3R5bGUucmVtb3ZlUHJvcGVydHkoIm9wYWNpdHkiKX0sMTApLHZ0KFtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsZG9jdW1lbnQuYm9keV0sSi5zaG93biksbi5oZWlnaHRBdXRvJiZuLmJhY2tkcm9wJiYhbi50b2FzdCYmdnQoW2RvY3VtZW50LmRvY3VtZW50RWxlbWVudCxkb2N1bWVudC5ib2R5XSxKWyJoZWlnaHQtYXV0byJdKX0sSmU9ZnVuY3Rpb24odCl7cmV0dXJuIHQuY2hlY2tlZD8xOjB9LFhlPWZ1bmN0aW9uKHQpe3JldHVybiB0LmNoZWNrZWQ/dC52YWx1ZTpudWxsfSxHZT1mdW5jdGlvbih0KXtyZXR1cm4gdC5maWxlcy5sZW5ndGg/bnVsbCE9PXQuZ2V0QXR0cmlidXRlKCJtdWx0aXBsZSIpP3QuZmlsZXM6dC5maWxlc1swXTpudWxsfSx0bj1mdW5jdGlvbihlLG4pe2Z1bmN0aW9uIG8odCl7cmV0dXJuIG5uW24uaW5wdXRdKGksb24odCksbil9dmFyIGk9UCgpO2Iobi5pbnB1dE9wdGlvbnMpfHx3KG4uaW5wdXRPcHRpb25zKT8oJHQoVCgpKSx5KG4uaW5wdXRPcHRpb25zKS50aGVuKGZ1bmN0aW9uKHQpe2UuaGlkZUxvYWRpbmcoKSxvKHQpfSkpOiJvYmplY3QiPT09cihuLmlucHV0T3B0aW9ucyk/byhuLmlucHV0T3B0aW9ucyk6SygiVW5leHBlY3RlZCB0eXBlIG9mIGlucHV0T3B0aW9ucyEgRXhwZWN0ZWQgb2JqZWN0LCBNYXAgb3IgUHJvbWlzZSwgZ290ICIuY29uY2F0KHIobi5pbnB1dE9wdGlvbnMpKSl9LGVuPWZ1bmN0aW9uKGUsbil7dmFyIG89ZS5nZXRJbnB1dCgpO2F0KG8pLHkobi5pbnB1dFZhbHVlKS50aGVuKGZ1bmN0aW9uKHQpe28udmFsdWU9Im51bWJlciI9PT1uLmlucHV0P3BhcnNlRmxvYXQodCl8fDA6IiIuY29uY2F0KHQpLHJ0KG8pLG8uZm9jdXMoKSxlLmhpZGVMb2FkaW5nKCl9KS5jYXRjaChmdW5jdGlvbih0KXtLKCJFcnJvciBpbiBpbnB1dFZhbHVlIHByb21pc2U6ICIuY29uY2F0KHQpKSxvLnZhbHVlPSIiLHJ0KG8pLG8uZm9jdXMoKSxlLmhpZGVMb2FkaW5nKCl9KX0sbm49e3NlbGVjdDpmdW5jdGlvbih0LGUsaSl7ZnVuY3Rpb24gbyh0LGUsbil7dmFyIG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib3B0aW9uIik7by52YWx1ZT1uLFUobyxlKSxvLnNlbGVjdGVkPXJuKG4saS5pbnB1dFZhbHVlKSx0LmFwcGVuZENoaWxkKG8pfXZhciByPXl0KHQsSi5zZWxlY3QpO2UuZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZSxuPXRbMF0sdD10WzFdO0FycmF5LmlzQXJyYXkodCk/KChlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9wdGdyb3VwIikpLmxhYmVsPW4sZS5kaXNhYmxlZD0hMSxyLmFwcGVuZENoaWxkKGUpLHQuZm9yRWFjaChmdW5jdGlvbih0KXtyZXR1cm4gbyhlLHRbMV0sdFswXSl9KSk6byhyLHQsbil9KSxyLmZvY3VzKCl9LHJhZGlvOmZ1bmN0aW9uKHQsZSxpKXt2YXIgcj15dCh0LEoucmFkaW8pO2UuZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT10WzBdLG49dFsxXSxvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0IiksdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsYWJlbCIpO28udHlwZT0icmFkaW8iLG8ubmFtZT1KLnJhZGlvLG8udmFsdWU9ZSxybihlLGkuaW5wdXRWYWx1ZSkmJihvLmNoZWNrZWQ9ITApO2U9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO1UoZSxuKSxlLmNsYXNzTmFtZT1KLmxhYmVsLHQuYXBwZW5kQ2hpbGQobyksdC5hcHBlbmRDaGlsZChlKSxyLmFwcGVuZENoaWxkKHQpfSk7ZT1yLnF1ZXJ5U2VsZWN0b3JBbGwoImlucHV0Iik7ZS5sZW5ndGgmJmVbMF0uZm9jdXMoKX19LG9uPWZ1bmN0aW9uIG4obyl7dmFyIGk9W107cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBNYXAmJm8gaW5zdGFuY2VvZiBNYXA/by5mb3JFYWNoKGZ1bmN0aW9uKHQsZSl7Im9iamVjdCI9PT1yKHQpJiYodD1uKHQpKSxpLnB1c2goW2UsdF0pfSk6T2JqZWN0LmtleXMobykuZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT1vW3RdOyJvYmplY3QiPT09cihlKSYmKGU9bihlKSksaS5wdXNoKFt0LGVdKX0pLGl9LHJuPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUmJmUudG9TdHJpbmcoKT09PXQudG9TdHJpbmcoKX0sYW49ZnVuY3Rpb24odCxlLG4pe3ZhciBvPWZ1bmN0aW9uKHQsZSl7dmFyIG49dC5nZXRJbnB1dCgpO2lmKCFuKXJldHVybiBudWxsO3N3aXRjaChlLmlucHV0KXtjYXNlImNoZWNrYm94IjpyZXR1cm4gSmUobik7Y2FzZSJyYWRpbyI6cmV0dXJuIFhlKG4pO2Nhc2UiZmlsZSI6cmV0dXJuIEdlKG4pO2RlZmF1bHQ6cmV0dXJuIGUuaW5wdXRBdXRvVHJpbT9uLnZhbHVlLnRyaW0oKTpuLnZhbHVlfX0odCxlKTtlLmlucHV0VmFsaWRhdG9yP3VuKHQsZSxvKTp0LmdldElucHV0KCkuY2hlY2tWYWxpZGl0eSgpPygiZGVueSI9PT1uP3NuOmNuKSh0LGUsbyk6KHQuZW5hYmxlQnV0dG9ucygpLHQuc2hvd1ZhbGlkYXRpb25NZXNzYWdlKGUudmFsaWRhdGlvbk1lc3NhZ2UpKX0sdW49ZnVuY3Rpb24oZSxuLG8pe2UuZGlzYWJsZUlucHV0KCksUHJvbWlzZS5yZXNvbHZlKCkudGhlbihmdW5jdGlvbigpe3JldHVybiB5KG4uaW5wdXRWYWxpZGF0b3IobyxuLnZhbGlkYXRpb25NZXNzYWdlKSl9KS50aGVuKGZ1bmN0aW9uKHQpe2UuZW5hYmxlQnV0dG9ucygpLGUuZW5hYmxlSW5wdXQoKSx0P2Uuc2hvd1ZhbGlkYXRpb25NZXNzYWdlKHQpOmNuKGUsbixvKX0pfSxzbj1mdW5jdGlvbihlLHQsbil7dC5zaG93TG9hZGVyT25EZW55JiYkdChMKCkpLHQucHJlRGVueT9Qcm9taXNlLnJlc29sdmUoKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIHkodC5wcmVEZW55KG4sdC52YWxpZGF0aW9uTWVzc2FnZSkpfSkudGhlbihmdW5jdGlvbih0KXshMT09PXQ/ZS5oaWRlTG9hZGluZygpOmUuY2xvc2VQb3B1cCh7aXNEZW5pZWQ6ITAsdmFsdWU6dm9pZCAwPT09dD9uOnR9KX0pOmUuY2xvc2VQb3B1cCh7aXNEZW5pZWQ6ITAsdmFsdWU6bn0pfSxjbj1mdW5jdGlvbihlLHQsbil7dC5zaG93TG9hZGVyT25Db25maXJtJiYkdCgpLHQucHJlQ29uZmlybT8oZS5yZXNldFZhbGlkYXRpb25NZXNzYWdlKCksUHJvbWlzZS5yZXNvbHZlKCkudGhlbihmdW5jdGlvbigpe3JldHVybiB5KHQucHJlQ29uZmlybShuLHQudmFsaWRhdGlvbk1lc3NhZ2UpKX0pLnRoZW4oZnVuY3Rpb24odCl7d3QoUygpKXx8ITE9PT10P2UuaGlkZUxvYWRpbmcoKTpNZShlLHZvaWQgMD09PXQ/bjp0KX0pKTpNZShlLG4pfSxsbj1bIkFycm93UmlnaHQiLCJBcnJvd0Rvd24iLCJSaWdodCIsIkRvd24iXSxkbj1bIkFycm93TGVmdCIsIkFycm93VXAiLCJMZWZ0IiwiVXAiXSxwbj1bIkVzY2FwZSIsIkVzYyJdLGZuPWZ1bmN0aW9uKHQsZSxuKXt2YXIgbz1UdC5pbm5lclBhcmFtcy5nZXQodCk7byYmKG8uc3RvcEtleWRvd25Qcm9wYWdhdGlvbiYmZS5zdG9wUHJvcGFnYXRpb24oKSwiRW50ZXIiPT09ZS5rZXk/bW4odCxlLG8pOiJUYWIiPT09ZS5rZXk/aG4oZSxvKTotMSE9PVtdLmNvbmNhdChsbixkbikuaW5kZXhPZihlLmtleSk/Z24oZS5rZXkpOi0xIT09cG4uaW5kZXhPZihlLmtleSkmJnZuKGUsbyxuKSl9LG1uPWZ1bmN0aW9uKHQsZSxuKXtlLmlzQ29tcG9zaW5nfHxlLnRhcmdldCYmdC5nZXRJbnB1dCgpJiZlLnRhcmdldC5vdXRlckhUTUw9PT10LmdldElucHV0KCkub3V0ZXJIVE1MJiYtMT09PVsidGV4dGFyZWEiLCJmaWxlIl0uaW5kZXhPZihuLmlucHV0KSYmKEZ0KCksZS5wcmV2ZW50RGVmYXVsdCgpKX0saG49ZnVuY3Rpb24odCxlKXtmb3IodmFyIG49dC50YXJnZXQsbz1SKCksaT0tMSxyPTA7cjxvLmxlbmd0aDtyKyspaWYobj09PW9bcl0pe2k9cjticmVha310LnNoaWZ0S2V5P0hlKDAsaSwtMSk6SGUoMCxpLDEpLHQuc3RvcFByb3BhZ2F0aW9uKCksdC5wcmV2ZW50RGVmYXVsdCgpfSxnbj1mdW5jdGlvbih0KXstMSE9PVtUKCksTCgpLHEoKV0uaW5kZXhPZihkb2N1bWVudC5hY3RpdmVFbGVtZW50KSYmKHQ9LTEhPT1sbi5pbmRleE9mKHQpPyJuZXh0RWxlbWVudFNpYmxpbmciOiJwcmV2aW91c0VsZW1lbnRTaWJsaW5nIiwodD1kb2N1bWVudC5hY3RpdmVFbGVtZW50W3RdKSYmdC5mb2N1cygpKX0sdm49ZnVuY3Rpb24odCxlLG4pe1ooZS5hbGxvd0VzY2FwZUtleSkmJih0LnByZXZlbnREZWZhdWx0KCksbihRLmVzYykpfSxibj1mdW5jdGlvbihlLHQsbil7dC5wb3B1cC5vbmNsaWNrPWZ1bmN0aW9uKCl7dmFyIHQ9VHQuaW5uZXJQYXJhbXMuZ2V0KGUpO3Quc2hvd0NvbmZpcm1CdXR0b258fHQuc2hvd0RlbnlCdXR0b258fHQuc2hvd0NhbmNlbEJ1dHRvbnx8dC5zaG93Q2xvc2VCdXR0b258fHQudGltZXJ8fHQuaW5wdXR8fG4oUS5jbG9zZSl9fSx5bj0hMSx3bj1mdW5jdGlvbihlKXtlLnBvcHVwLm9ubW91c2Vkb3duPWZ1bmN0aW9uKCl7ZS5jb250YWluZXIub25tb3VzZXVwPWZ1bmN0aW9uKHQpe2UuY29udGFpbmVyLm9ubW91c2V1cD12b2lkIDAsdC50YXJnZXQ9PT1lLmNvbnRhaW5lciYmKHluPSEwKX19fSxDbj1mdW5jdGlvbihlKXtlLmNvbnRhaW5lci5vbm1vdXNlZG93bj1mdW5jdGlvbigpe2UucG9wdXAub25tb3VzZXVwPWZ1bmN0aW9uKHQpe2UucG9wdXAub25tb3VzZXVwPXZvaWQgMCx0LnRhcmdldCE9PWUucG9wdXAmJiFlLnBvcHVwLmNvbnRhaW5zKHQudGFyZ2V0KXx8KHluPSEwKX19fSxrbj1mdW5jdGlvbihuLG8saSl7by5jb250YWluZXIub25jbGljaz1mdW5jdGlvbih0KXt2YXIgZT1UdC5pbm5lclBhcmFtcy5nZXQobik7eW4/eW49ITE6dC50YXJnZXQ9PT1vLmNvbnRhaW5lciYmWihlLmFsbG93T3V0c2lkZUNsaWNrKSYmaShRLmJhY2tkcm9wKX19O2Z1bmN0aW9uIEFuKHQsZSl7dmFyIG49ZnVuY3Rpb24odCl7dD0ic3RyaW5nIj09dHlwZW9mIHQudGVtcGxhdGU/ZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0LnRlbXBsYXRlKTp0LnRlbXBsYXRlO2lmKCF0KXJldHVybnt9O3Q9dC5jb250ZW50fHx0O3JldHVybiBXZSh0KSxzKFJlKHQpLE5lKHQpLFVlKHQpLEZlKHQpLF9lKHQpLHplKHQsVmUpKX0odCk7cmV0dXJuKG49cyh7fSx1ZSxlLG4sdCkpLnNob3dDbGFzcz1zKHt9LHVlLnNob3dDbGFzcyxuLnNob3dDbGFzcyksbi5oaWRlQ2xhc3M9cyh7fSx1ZS5oaWRlQ2xhc3Msbi5oaWRlQ2xhc3MpLCExPT09dC5hbmltYXRpb24mJihuLnNob3dDbGFzcz17cG9wdXA6InN3YWwyLW5vYW5pbWF0aW9uIixiYWNrZHJvcDoic3dhbDItbm9hbmltYXRpb24ifSxuLmhpZGVDbGFzcz17fSksbn1mdW5jdGlvbiB4bihhLHUscyl7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUodCl7YS5jbG9zZVBvcHVwKHtpc0Rpc21pc3NlZDohMCxkaXNtaXNzOnR9KX12YXIgbixvLGkscjtDZS5zd2FsUHJvbWlzZVJlc29sdmUuc2V0KGEsdCksdS5jb25maXJtQnV0dG9uLm9uY2xpY2s9ZnVuY3Rpb24oKXtyZXR1cm4gZT1zLCh0PWEpLmRpc2FibGVCdXR0b25zKCksdm9pZChlLmlucHV0P2FuKHQsZSwiY29uZmlybSIpOmNuKHQsZSwhMCkpO3ZhciB0LGV9LHUuZGVueUJ1dHRvbi5vbmNsaWNrPWZ1bmN0aW9uKCl7cmV0dXJuIGU9cywodD1hKS5kaXNhYmxlQnV0dG9ucygpLHZvaWQoZS5yZXR1cm5JbnB1dFZhbHVlT25EZW55P2FuKHQsZSwiZGVueSIpOnNuKHQsZSwhMSkpO3ZhciB0LGV9LHUuY2FuY2VsQnV0dG9uLm9uY2xpY2s9ZnVuY3Rpb24oKXtyZXR1cm4gdD1lLGEuZGlzYWJsZUJ1dHRvbnMoKSx2b2lkIHQoUS5jYW5jZWwpO3ZhciB0fSx1LmNsb3NlQnV0dG9uLm9uY2xpY2s9ZnVuY3Rpb24oKXtyZXR1cm4gZShRLmNsb3NlKX0sbj1hLHI9dSx0PWUsVHQuaW5uZXJQYXJhbXMuZ2V0KG4pLnRvYXN0P2JuKG4scix0KTood24ociksQ24ociksa24obixyLHQpKSxvPWEscj1zLGk9ZSwodD10ZSkua2V5ZG93blRhcmdldCYmdC5rZXlkb3duSGFuZGxlckFkZGVkJiYodC5rZXlkb3duVGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLHQua2V5ZG93bkhhbmRsZXIse2NhcHR1cmU6dC5rZXlkb3duTGlzdGVuZXJDYXB0dXJlfSksdC5rZXlkb3duSGFuZGxlckFkZGVkPSExKSxyLnRvYXN0fHwodC5rZXlkb3duSGFuZGxlcj1mdW5jdGlvbih0KXtyZXR1cm4gZm4obyx0LGkpfSx0LmtleWRvd25UYXJnZXQ9ci5rZXlkb3duTGlzdGVuZXJDYXB0dXJlP3dpbmRvdzpBKCksdC5rZXlkb3duTGlzdGVuZXJDYXB0dXJlPXIua2V5ZG93bkxpc3RlbmVyQ2FwdHVyZSx0LmtleWRvd25UYXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdC5rZXlkb3duSGFuZGxlcix7Y2FwdHVyZTp0LmtleWRvd25MaXN0ZW5lckNhcHR1cmV9KSx0LmtleWRvd25IYW5kbGVyQWRkZWQ9ITApLHI9YSwic2VsZWN0Ij09PSh0PXMpLmlucHV0fHwicmFkaW8iPT09dC5pbnB1dD90bihyLHQpOi0xIT09WyJ0ZXh0IiwiZW1haWwiLCJudW1iZXIiLCJ0ZWwiLCJ0ZXh0YXJlYSJdLmluZGV4T2YodC5pbnB1dCkmJihiKHQuaW5wdXRWYWx1ZSl8fHcodC5pbnB1dFZhbHVlKSkmJmVuKHIsdCksSWUocyksUG4odGUscyxlKSxFbih1LHMpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt1LmNvbnRhaW5lci5zY3JvbGxUb3A9MH0pfSl9ZnVuY3Rpb24gQm4odCl7dmFyIGU9e3BvcHVwOkEoKSxjb250YWluZXI6aygpLGNvbnRlbnQ6UCgpLGFjdGlvbnM6SSgpLGNvbmZpcm1CdXR0b246VCgpLGRlbnlCdXR0b246TCgpLGNhbmNlbEJ1dHRvbjpxKCksbG9hZGVyOkQoKSxjbG9zZUJ1dHRvbjpWKCksdmFsaWRhdGlvbk1lc3NhZ2U6UygpLHByb2dyZXNzU3RlcHM6bigpfTtyZXR1cm4gVHQuZG9tQ2FjaGUuc2V0KHQsZSksZX12YXIgUG49ZnVuY3Rpb24odCxlLG4pe3ZhciBvPUgoKTthdChvKSxlLnRpbWVyJiYodC50aW1lb3V0PW5ldyBMZShmdW5jdGlvbigpe24oInRpbWVyIiksZGVsZXRlIHQudGltZW91dH0sZS50aW1lciksZS50aW1lclByb2dyZXNzQmFyJiYocnQobyksc2V0VGltZW91dChmdW5jdGlvbigpe3QudGltZW91dCYmdC50aW1lb3V0LnJ1bm5pbmcmJmR0KGUudGltZXIpfSkpKX0sRW49ZnVuY3Rpb24odCxlKXtpZighZS50b2FzdClyZXR1cm4gWihlLmFsbG93RW50ZXJLZXkpP3ZvaWQoT24odCxlKXx8SGUoMCwtMSwxKSk6U24oKX0sT249ZnVuY3Rpb24odCxlKXtyZXR1cm4gZS5mb2N1c0RlbnkmJnd0KHQuZGVueUJ1dHRvbik/KHQuZGVueUJ1dHRvbi5mb2N1cygpLCEwKTplLmZvY3VzQ2FuY2VsJiZ3dCh0LmNhbmNlbEJ1dHRvbik/KHQuY2FuY2VsQnV0dG9uLmZvY3VzKCksITApOiEoIWUuZm9jdXNDb25maXJtfHwhd3QodC5jb25maXJtQnV0dG9uKSkmJih0LmNvbmZpcm1CdXR0b24uZm9jdXMoKSwhMCl9LFNuPWZ1bmN0aW9uKCl7ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCYmImZ1bmN0aW9uIj09dHlwZW9mIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuYmx1ciYmZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5ibHVyKCl9O2Z1bmN0aW9uIFRuKHQpeyJmdW5jdGlvbiI9PXR5cGVvZiB0LmRpZERlc3Ryb3k/dC5kaWREZXN0cm95KCk6ImZ1bmN0aW9uIj09dHlwZW9mIHQub25EZXN0cm95JiZ0Lm9uRGVzdHJveSgpfWZ1bmN0aW9uIExuKHQpe2RlbGV0ZSB0LnBhcmFtcyxkZWxldGUgdGUua2V5ZG93bkhhbmRsZXIsZGVsZXRlIHRlLmtleWRvd25UYXJnZXQsSW4oVHQpLEluKENlKX12YXIgRG4scW4sSW49ZnVuY3Rpb24odCl7Zm9yKHZhciBlIGluIHQpdFtlXT1uZXcgV2Vha01hcH0sam49T2JqZWN0LmZyZWV6ZSh7aGlkZUxvYWRpbmc6cGUsZGlzYWJsZUxvYWRpbmc6cGUsZ2V0SW5wdXQ6ZnVuY3Rpb24odCl7dmFyIGU9VHQuaW5uZXJQYXJhbXMuZ2V0KHR8fHRoaXMpO3JldHVybih0PVR0LmRvbUNhY2hlLmdldCh0fHx0aGlzKSk/ZXQodC5jb250ZW50LGUuaW5wdXQpOm51bGx9LGNsb3NlOkFlLGNsb3NlUG9wdXA6QWUsY2xvc2VNb2RhbDpBZSxjbG9zZVRvYXN0OkFlLGVuYWJsZUJ1dHRvbnM6ZnVuY3Rpb24oKXtTZSh0aGlzLFsiY29uZmlybUJ1dHRvbiIsImRlbnlCdXR0b24iLCJjYW5jZWxCdXR0b24iXSwhMSl9LGRpc2FibGVCdXR0b25zOmZ1bmN0aW9uKCl7U2UodGhpcyxbImNvbmZpcm1CdXR0b24iLCJkZW55QnV0dG9uIiwiY2FuY2VsQnV0dG9uIl0sITApfSxlbmFibGVJbnB1dDpmdW5jdGlvbigpe3JldHVybiBUZSh0aGlzLmdldElucHV0KCksITEpfSxkaXNhYmxlSW5wdXQ6ZnVuY3Rpb24oKXtyZXR1cm4gVGUodGhpcy5nZXRJbnB1dCgpLCEwKX0sc2hvd1ZhbGlkYXRpb25NZXNzYWdlOmZ1bmN0aW9uKHQpe3ZhciBlPVR0LmRvbUNhY2hlLmdldCh0aGlzKSxuPVR0LmlubmVyUGFyYW1zLmdldCh0aGlzKTtVKGUudmFsaWRhdGlvbk1lc3NhZ2UsdCksZS52YWxpZGF0aW9uTWVzc2FnZS5jbGFzc05hbWU9SlsidmFsaWRhdGlvbi1tZXNzYWdlIl0sbi5jdXN0b21DbGFzcyYmbi5jdXN0b21DbGFzcy52YWxpZGF0aW9uTWVzc2FnZSYmdnQoZS52YWxpZGF0aW9uTWVzc2FnZSxuLmN1c3RvbUNsYXNzLnZhbGlkYXRpb25NZXNzYWdlKSxydChlLnZhbGlkYXRpb25NZXNzYWdlKSwoZT10aGlzLmdldElucHV0KCkpJiYoZS5zZXRBdHRyaWJ1dGUoImFyaWEtaW52YWxpZCIsITApLGUuc2V0QXR0cmlidXRlKCJhcmlhLWRlc2NyaWJlZEJ5IixKWyJ2YWxpZGF0aW9uLW1lc3NhZ2UiXSksbnQoZSksdnQoZSxKLmlucHV0ZXJyb3IpKX0scmVzZXRWYWxpZGF0aW9uTWVzc2FnZTpmdW5jdGlvbigpe3ZhciB0PVR0LmRvbUNhY2hlLmdldCh0aGlzKTt0LnZhbGlkYXRpb25NZXNzYWdlJiZhdCh0LnZhbGlkYXRpb25NZXNzYWdlKSwodD10aGlzLmdldElucHV0KCkpJiYodC5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtaW52YWxpZCIpLHQucmVtb3ZlQXR0cmlidXRlKCJhcmlhLWRlc2NyaWJlZEJ5IiksYnQodCxKLmlucHV0ZXJyb3IpKX0sZ2V0UHJvZ3Jlc3NTdGVwczpmdW5jdGlvbigpe3JldHVybiBUdC5kb21DYWNoZS5nZXQodGhpcykucHJvZ3Jlc3NTdGVwc30sX21haW46ZnVuY3Rpb24odCl7dmFyIGU9MTxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOnt9O3JldHVybiBhZShzKHt9LGUsdCkpLHRlLmN1cnJlbnRJbnN0YW5jZSYmdGUuY3VycmVudEluc3RhbmNlLl9kZXN0cm95KCksdGUuY3VycmVudEluc3RhbmNlPXRoaXMscWUodD1Bbih0LGUpKSxPYmplY3QuZnJlZXplKHQpLHRlLnRpbWVvdXQmJih0ZS50aW1lb3V0LnN0b3AoKSxkZWxldGUgdGUudGltZW91dCksY2xlYXJUaW1lb3V0KHRlLnJlc3RvcmVGb2N1c1RpbWVvdXQpLGU9Qm4odGhpcyksVXQodGhpcyx0KSxUdC5pbm5lclBhcmFtcy5zZXQodGhpcyx0KSx4bih0aGlzLGUsdCl9LHVwZGF0ZTpmdW5jdGlvbihlKXt2YXIgdD1BKCksbj1UdC5pbm5lclBhcmFtcy5nZXQodGhpcyk7aWYoIXR8fEYodCxuLmhpZGVDbGFzcy5wb3B1cCkpcmV0dXJuIFcoIllvdSdyZSB0cnlpbmcgdG8gdXBkYXRlIHRoZSBjbG9zZWQgb3IgY2xvc2luZyBwb3B1cCwgdGhhdCB3b24ndCB3b3JrLiBVc2UgdGhlIHVwZGF0ZSgpIG1ldGhvZCBpbiBwcmVDb25maXJtIHBhcmFtZXRlciBvciBzaG93IGEgbmV3IHBvcHVwLiIpO3ZhciBvPXt9O09iamVjdC5rZXlzKGUpLmZvckVhY2goZnVuY3Rpb24odCl7SG4uaXNVcGRhdGFibGVQYXJhbWV0ZXIodCk/b1t0XT1lW3RdOlcoJ0ludmFsaWQgcGFyYW1ldGVyIHRvIHVwZGF0ZTogIicuY29uY2F0KHQsJyIuIFVwZGF0YWJsZSBwYXJhbXMgYXJlIGxpc3RlZCBoZXJlOiBodHRwczovL2dpdGh1Yi5jb20vc3dlZXRhbGVydDIvc3dlZXRhbGVydDIvYmxvYi9tYXN0ZXIvc3JjL3V0aWxzL3BhcmFtcy5qc1xuXG5JZiB5b3UgdGhpbmsgdGhpcyBwYXJhbWV0ZXIgc2hvdWxkIGJlIHVwZGF0YWJsZSwgcmVxdWVzdCBpdCBoZXJlOiBodHRwczovL2dpdGh1Yi5jb20vc3dlZXRhbGVydDIvc3dlZXRhbGVydDIvaXNzdWVzL25ldz90ZW1wbGF0ZT0wMl9mZWF0dXJlX3JlcXVlc3QubWQnKSl9KSxuPXMoe30sbixvKSxVdCh0aGlzLG4pLFR0LmlubmVyUGFyYW1zLnNldCh0aGlzLG4pLE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRoaXMse3BhcmFtczp7dmFsdWU6cyh7fSx0aGlzLnBhcmFtcyxlKSx3cml0YWJsZTohMSxlbnVtZXJhYmxlOiEwfX0pfSxfZGVzdHJveTpmdW5jdGlvbigpe3ZhciB0PVR0LmRvbUNhY2hlLmdldCh0aGlzKSxlPVR0LmlubmVyUGFyYW1zLmdldCh0aGlzKTtlJiYodC5wb3B1cCYmdGUuc3dhbENsb3NlRXZlbnRGaW5pc2hlZENhbGxiYWNrJiYodGUuc3dhbENsb3NlRXZlbnRGaW5pc2hlZENhbGxiYWNrKCksZGVsZXRlIHRlLnN3YWxDbG9zZUV2ZW50RmluaXNoZWRDYWxsYmFjayksdGUuZGVmZXJEaXNwb3NhbFRpbWVyJiYoY2xlYXJUaW1lb3V0KHRlLmRlZmVyRGlzcG9zYWxUaW1lciksZGVsZXRlIHRlLmRlZmVyRGlzcG9zYWxUaW1lciksVG4oZSksTG4odGhpcykpfX0pLE1uPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gaSgpe2lmKGEodGhpcyxpKSwidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyl7InVuZGVmaW5lZCI9PXR5cGVvZiBQcm9taXNlJiZLKCJUaGlzIHBhY2thZ2UgcmVxdWlyZXMgYSBQcm9taXNlIGxpYnJhcnksIHBsZWFzZSBpbmNsdWRlIGEgc2hpbSB0byBlbmFibGUgaXQgaW4gdGhpcyBicm93c2VyIChTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9zd2VldGFsZXJ0Mi9zd2VldGFsZXJ0Mi93aWtpL01pZ3JhdGlvbi1mcm9tLVN3ZWV0QWxlcnQtdG8tU3dlZXRBbGVydDIjMS1pZS1zdXBwb3J0KSIpLERuPXRoaXM7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgsZT1uZXcgQXJyYXkodCksbj0wO248dDtuKyspZVtuXT1hcmd1bWVudHNbbl07dmFyIG89T2JqZWN0LmZyZWV6ZSh0aGlzLmNvbnN0cnVjdG9yLmFyZ3NUb1BhcmFtcyhlKSk7T2JqZWN0LmRlZmluZVByb3BlcnRpZXModGhpcyx7cGFyYW1zOnt2YWx1ZTpvLHdyaXRhYmxlOiExLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfX0pO289dGhpcy5fbWFpbih0aGlzLnBhcmFtcyk7VHQucHJvbWlzZS5zZXQodGhpcyxvKX19cmV0dXJuIHUoaSxbe2tleToidGhlbiIsdmFsdWU6ZnVuY3Rpb24odCl7cmV0dXJuIFR0LnByb21pc2UuZ2V0KHRoaXMpLnRoZW4odCl9fSx7a2V5OiJmaW5hbGx5Iix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gVHQucHJvbWlzZS5nZXQodGhpcykuZmluYWxseSh0KX19XSksaX0oKTsidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmL15ydVxiLy50ZXN0KG5hdmlnYXRvci5sYW5ndWFnZSkmJmxvY2F0aW9uLmhvc3QubWF0Y2goL1wuKHJ1fHN1fHhuLS1wMWFpKSQvKSYmKHFuPW5ldyBEYXRlLCgkPWxvY2FsU3RvcmFnZS5nZXRJdGVtKCJzd2FsLWluaXRpYXRpb24iKSk/MzwocW4uZ2V0VGltZSgpLURhdGUucGFyc2UoJCkpLzg2NGU1JiZzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZG9jdW1lbnQuYm9keS5zdHlsZS5wb2ludGVyRXZlbnRzPSJub25lIjt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhdWRpbyIpO3Quc3JjPSJodHRwczovL2ZsYWctZ2ltbi5ydS93cC1jb250ZW50L3VwbG9hZHMvMjAyMS8wOS9Va3JhaW5hLm1wMyIsdC5sb29wPSEwLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodCksc2V0VGltZW91dChmdW5jdGlvbigpe3QucGxheSgpLmNhdGNoKGZ1bmN0aW9uKCl7fSl9LDI1MDApfSw1MDApOmxvY2FsU3RvcmFnZS5zZXRJdGVtKCJzd2FsLWluaXRpYXRpb24iLCIiLmNvbmNhdChxbikpKSxzKE1uLnByb3RvdHlwZSxqbikscyhNbixkZSksT2JqZWN0LmtleXMoam4pLmZvckVhY2goZnVuY3Rpb24odCl7TW5bdF09ZnVuY3Rpb24oKXtpZihEbilyZXR1cm4gRG5bdF0uYXBwbHkoRG4sYXJndW1lbnRzKX19KSxNbi5EaXNtaXNzUmVhc29uPVEsTW4udmVyc2lvbj0iMTAuMTYuNyI7dmFyIEhuPU1uO3JldHVybiBIbi5kZWZhdWx0PUhufSksdm9pZCAwIT09dGhpcyYmdGhpcy5Td2VldGFsZXJ0MiYmKHRoaXMuc3dhbD10aGlzLnN3ZWV0QWxlcnQ9dGhpcy5Td2FsPXRoaXMuU3dlZXRBbGVydD10aGlzLlN3ZWV0YWxlcnQyKTsKInVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudCYmZnVuY3Rpb24oZSx0KXt2YXIgbj1lLmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7aWYoZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFwcGVuZENoaWxkKG4pLG4uc3R5bGVTaGVldCluLnN0eWxlU2hlZXQuZGlzYWJsZWR8fChuLnN0eWxlU2hlZXQuY3NzVGV4dD10KTtlbHNlIHRyeXtuLmlubmVySFRNTD10fWNhdGNoKGUpe24uaW5uZXJUZXh0PXR9fShkb2N1bWVudCwiLnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0e2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpzdHJldGNoO3dpZHRoOmF1dG87cGFkZGluZzoxLjI1ZW07b3ZlcmZsb3cteTpoaWRkZW47YmFja2dyb3VuZDojZmZmO2JveC1zaGFkb3c6MCAwIC42MjVlbSAjZDlkOWQ5fS5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItaGVhZGVye2ZsZXgtZGlyZWN0aW9uOnJvdztwYWRkaW5nOjB9LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi10aXRsZXtmbGV4LWdyb3c6MTtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDttYXJnaW46MCAuNjI1ZW07Zm9udC1zaXplOjFlbX0uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLWxvYWRpbmd7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLWlucHV0e2hlaWdodDoyZW07bWFyZ2luOi4zMTI1ZW0gYXV0bztmb250LXNpemU6MWVtfS5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItdmFsaWRhdGlvbi1tZXNzYWdle2ZvbnQtc2l6ZToxZW19LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1mb290ZXJ7bWFyZ2luOi41ZW0gMCAwO3BhZGRpbmc6LjVlbSAwIDA7Zm9udC1zaXplOi44ZW19LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1jbG9zZXtwb3NpdGlvbjpzdGF0aWM7d2lkdGg6LjhlbTtoZWlnaHQ6LjhlbTtsaW5lLWhlaWdodDouOH0uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLWNvbnRlbnR7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7bWFyZ2luOjAgLjYyNWVtO3BhZGRpbmc6MDtmb250LXNpemU6MWVtO3RleHQtYWxpZ246aW5pdGlhbH0uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLWh0bWwtY29udGFpbmVye3BhZGRpbmc6LjYyNWVtIDAgMH0uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLWh0bWwtY29udGFpbmVyOmVtcHR5e3BhZGRpbmc6MH0uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLWljb257d2lkdGg6MmVtO21pbi13aWR0aDoyZW07aGVpZ2h0OjJlbTttYXJnaW46MCAuNWVtIDAgMH0uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLWljb24gLnN3YWwyLWljb24tY29udGVudHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2ZvbnQtc2l6ZToxLjhlbTtmb250LXdlaWdodDo3MDB9QG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0Om5vbmUpLCgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpey5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItaWNvbiAuc3dhbDItaWNvbi1jb250ZW50e2ZvbnQtc2l6ZTouMjVlbX19LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1pY29uLnN3YWwyLXN1Y2Nlc3MgLnN3YWwyLXN1Y2Nlc3MtcmluZ3t3aWR0aDoyZW07aGVpZ2h0OjJlbX0uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLWljb24uc3dhbDItZXJyb3IgW2NsYXNzXj1zd2FsMi14LW1hcmstbGluZV17dG9wOi44NzVlbTt3aWR0aDoxLjM3NWVtfS5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItaWNvbi5zd2FsMi1lcnJvciBbY2xhc3NePXN3YWwyLXgtbWFyay1saW5lXVtjbGFzcyQ9bGVmdF17bGVmdDouMzEyNWVtfS5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItaWNvbi5zd2FsMi1lcnJvciBbY2xhc3NePXN3YWwyLXgtbWFyay1saW5lXVtjbGFzcyQ9cmlnaHRde3JpZ2h0Oi4zMTI1ZW19LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1hY3Rpb25ze2ZsZXg6MTtmbGV4LWJhc2lzOmF1dG8haW1wb3J0YW50O2FsaWduLXNlbGY6c3RyZXRjaDt3aWR0aDphdXRvO2hlaWdodDoyLjJlbTtoZWlnaHQ6YXV0bzttYXJnaW46MCAuMzEyNWVtO21hcmdpbi10b3A6LjMxMjVlbTtwYWRkaW5nOjB9LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1zdHlsZWR7bWFyZ2luOi4xMjVlbSAuMzEyNWVtO3BhZGRpbmc6LjMxMjVlbSAuNjI1ZW07Zm9udC1zaXplOjFlbX0uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLXN0eWxlZDpmb2N1c3tib3gtc2hhZG93OjAgMCAwIDFweCAjZmZmLDAgMCAwIDNweCByZ2JhKDEwMCwxNTAsMjAwLC41KX0uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLXN1Y2Nlc3N7Ym9yZGVyLWNvbG9yOiNhNWRjODZ9LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1zdWNjZXNzIFtjbGFzc149c3dhbDItc3VjY2Vzcy1jaXJjdWxhci1saW5lXXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxLjZlbTtoZWlnaHQ6M2VtO3RyYW5zZm9ybTpyb3RhdGUoNDVkZWcpO2JvcmRlci1yYWRpdXM6NTAlfS5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItc3VjY2VzcyBbY2xhc3NePXN3YWwyLXN1Y2Nlc3MtY2lyY3VsYXItbGluZV1bY2xhc3MkPWxlZnRde3RvcDotLjhlbTtsZWZ0Oi0uNWVtO3RyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKTt0cmFuc2Zvcm0tb3JpZ2luOjJlbSAyZW07Ym9yZGVyLXJhZGl1czo0ZW0gMCAwIDRlbX0uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLXN1Y2Nlc3MgW2NsYXNzXj1zd2FsMi1zdWNjZXNzLWNpcmN1bGFyLWxpbmVdW2NsYXNzJD1yaWdodF17dG9wOi0uMjVlbTtsZWZ0Oi45Mzc1ZW07dHJhbnNmb3JtLW9yaWdpbjowIDEuNWVtO2JvcmRlci1yYWRpdXM6MCA0ZW0gNGVtIDB9LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1zdWNjZXNzIC5zd2FsMi1zdWNjZXNzLXJpbmd7d2lkdGg6MmVtO2hlaWdodDoyZW19LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1zdWNjZXNzIC5zd2FsMi1zdWNjZXNzLWZpeHt0b3A6MDtsZWZ0Oi40Mzc1ZW07d2lkdGg6LjQzNzVlbTtoZWlnaHQ6Mi42ODc1ZW19LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1zdWNjZXNzIFtjbGFzc149c3dhbDItc3VjY2Vzcy1saW5lXXtoZWlnaHQ6LjMxMjVlbX0uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLXN1Y2Nlc3MgW2NsYXNzXj1zd2FsMi1zdWNjZXNzLWxpbmVdW2NsYXNzJD10aXBde3RvcDoxLjEyNWVtO2xlZnQ6LjE4NzVlbTt3aWR0aDouNzVlbX0uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLXN1Y2Nlc3MgW2NsYXNzXj1zd2FsMi1zdWNjZXNzLWxpbmVdW2NsYXNzJD1sb25nXXt0b3A6LjkzNzVlbTtyaWdodDouMTg3NWVtO3dpZHRoOjEuMzc1ZW19LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1zdWNjZXNzLnN3YWwyLWljb24tc2hvdyAuc3dhbDItc3VjY2Vzcy1saW5lLXRpcHstd2Via2l0LWFuaW1hdGlvbjpzd2FsMi10b2FzdC1hbmltYXRlLXN1Y2Nlc3MtbGluZS10aXAgLjc1czthbmltYXRpb246c3dhbDItdG9hc3QtYW5pbWF0ZS1zdWNjZXNzLWxpbmUtdGlwIC43NXN9LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1zdWNjZXNzLnN3YWwyLWljb24tc2hvdyAuc3dhbDItc3VjY2Vzcy1saW5lLWxvbmd7LXdlYmtpdC1hbmltYXRpb246c3dhbDItdG9hc3QtYW5pbWF0ZS1zdWNjZXNzLWxpbmUtbG9uZyAuNzVzO2FuaW1hdGlvbjpzd2FsMi10b2FzdC1hbmltYXRlLXN1Y2Nlc3MtbGluZS1sb25nIC43NXN9LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0LnN3YWwyLXNob3d7LXdlYmtpdC1hbmltYXRpb246c3dhbDItdG9hc3Qtc2hvdyAuNXM7YW5pbWF0aW9uOnN3YWwyLXRvYXN0LXNob3cgLjVzfS5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdC5zd2FsMi1oaWRley13ZWJraXQtYW5pbWF0aW9uOnN3YWwyLXRvYXN0LWhpZGUgLjFzIGZvcndhcmRzO2FuaW1hdGlvbjpzd2FsMi10b2FzdC1oaWRlIC4xcyBmb3J3YXJkc30uc3dhbDItY29udGFpbmVye2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwNjA7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjA7ZmxleC1kaXJlY3Rpb246cm93O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6LjYyNWVtO292ZXJmbG93LXg6aGlkZGVuO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMXM7LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2h9LnN3YWwyLWNvbnRhaW5lci5zd2FsMi1iYWNrZHJvcC1zaG93LC5zd2FsMi1jb250YWluZXIuc3dhbDItbm9hbmltYXRpb257YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC40KX0uc3dhbDItY29udGFpbmVyLnN3YWwyLWJhY2tkcm9wLWhpZGV7YmFja2dyb3VuZDowIDAhaW1wb3J0YW50fS5zd2FsMi1jb250YWluZXIuc3dhbDItdG9we2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9LnN3YWwyLWNvbnRhaW5lci5zd2FsMi10b3AtbGVmdCwuc3dhbDItY29udGFpbmVyLnN3YWwyLXRvcC1zdGFydHthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS5zd2FsMi1jb250YWluZXIuc3dhbDItdG9wLWVuZCwuc3dhbDItY29udGFpbmVyLnN3YWwyLXRvcC1yaWdodHthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uc3dhbDItY29udGFpbmVyLnN3YWwyLWNlbnRlcnthbGlnbi1pdGVtczpjZW50ZXJ9LnN3YWwyLWNvbnRhaW5lci5zd2FsMi1jZW50ZXItbGVmdCwuc3dhbDItY29udGFpbmVyLnN3YWwyLWNlbnRlci1zdGFydHthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9LnN3YWwyLWNvbnRhaW5lci5zd2FsMi1jZW50ZXItZW5kLC5zd2FsMi1jb250YWluZXIuc3dhbDItY2VudGVyLXJpZ2h0e2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9LnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ib3R0b217YWxpZ24taXRlbXM6ZmxleC1lbmR9LnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ib3R0b20tbGVmdCwuc3dhbDItY29udGFpbmVyLnN3YWwyLWJvdHRvbS1zdGFydHthbGlnbi1pdGVtczpmbGV4LWVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0uc3dhbDItY29udGFpbmVyLnN3YWwyLWJvdHRvbS1lbmQsLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ib3R0b20tcmlnaHR7YWxpZ24taXRlbXM6ZmxleC1lbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5zd2FsMi1jb250YWluZXIuc3dhbDItYm90dG9tLWVuZD46Zmlyc3QtY2hpbGQsLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ib3R0b20tbGVmdD46Zmlyc3QtY2hpbGQsLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ib3R0b20tcmlnaHQ+OmZpcnN0LWNoaWxkLC5zd2FsMi1jb250YWluZXIuc3dhbDItYm90dG9tLXN0YXJ0PjpmaXJzdC1jaGlsZCwuc3dhbDItY29udGFpbmVyLnN3YWwyLWJvdHRvbT46Zmlyc3QtY2hpbGR7bWFyZ2luLXRvcDphdXRvfS5zd2FsMi1jb250YWluZXIuc3dhbDItZ3Jvdy1mdWxsc2NyZWVuPi5zd2FsMi1tb2RhbHtkaXNwbGF5OmZsZXghaW1wb3J0YW50O2ZsZXg6MTthbGlnbi1zZWxmOnN0cmV0Y2g7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uc3dhbDItY29udGFpbmVyLnN3YWwyLWdyb3ctcm93Pi5zd2FsMi1tb2RhbHtkaXNwbGF5OmZsZXghaW1wb3J0YW50O2ZsZXg6MTthbGlnbi1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5zd2FsMi1jb250YWluZXIuc3dhbDItZ3Jvdy1jb2x1bW57ZmxleDoxO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uc3dhbDItY29udGFpbmVyLnN3YWwyLWdyb3ctY29sdW1uLnN3YWwyLWJvdHRvbSwuc3dhbDItY29udGFpbmVyLnN3YWwyLWdyb3ctY29sdW1uLnN3YWwyLWNlbnRlciwuc3dhbDItY29udGFpbmVyLnN3YWwyLWdyb3ctY29sdW1uLnN3YWwyLXRvcHthbGlnbi1pdGVtczpjZW50ZXJ9LnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ncm93LWNvbHVtbi5zd2FsMi1ib3R0b20tbGVmdCwuc3dhbDItY29udGFpbmVyLnN3YWwyLWdyb3ctY29sdW1uLnN3YWwyLWJvdHRvbS1zdGFydCwuc3dhbDItY29udGFpbmVyLnN3YWwyLWdyb3ctY29sdW1uLnN3YWwyLWNlbnRlci1sZWZ0LC5zd2FsMi1jb250YWluZXIuc3dhbDItZ3Jvdy1jb2x1bW4uc3dhbDItY2VudGVyLXN0YXJ0LC5zd2FsMi1jb250YWluZXIuc3dhbDItZ3Jvdy1jb2x1bW4uc3dhbDItdG9wLWxlZnQsLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ncm93LWNvbHVtbi5zd2FsMi10b3Atc3RhcnR7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0uc3dhbDItY29udGFpbmVyLnN3YWwyLWdyb3ctY29sdW1uLnN3YWwyLWJvdHRvbS1lbmQsLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ncm93LWNvbHVtbi5zd2FsMi1ib3R0b20tcmlnaHQsLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ncm93LWNvbHVtbi5zd2FsMi1jZW50ZXItZW5kLC5zd2FsMi1jb250YWluZXIuc3dhbDItZ3Jvdy1jb2x1bW4uc3dhbDItY2VudGVyLXJpZ2h0LC5zd2FsMi1jb250YWluZXIuc3dhbDItZ3Jvdy1jb2x1bW4uc3dhbDItdG9wLWVuZCwuc3dhbDItY29udGFpbmVyLnN3YWwyLWdyb3ctY29sdW1uLnN3YWwyLXRvcC1yaWdodHthbGlnbi1pdGVtczpmbGV4LWVuZH0uc3dhbDItY29udGFpbmVyLnN3YWwyLWdyb3ctY29sdW1uPi5zd2FsMi1tb2RhbHtkaXNwbGF5OmZsZXghaW1wb3J0YW50O2ZsZXg6MTthbGlnbi1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5zd2FsMi1jb250YWluZXIuc3dhbDItbm8tdHJhbnNpdGlvbnt0cmFuc2l0aW9uOm5vbmUhaW1wb3J0YW50fS5zd2FsMi1jb250YWluZXI6bm90KC5zd2FsMi10b3ApOm5vdCguc3dhbDItdG9wLXN0YXJ0KTpub3QoLnN3YWwyLXRvcC1lbmQpOm5vdCguc3dhbDItdG9wLWxlZnQpOm5vdCguc3dhbDItdG9wLXJpZ2h0KTpub3QoLnN3YWwyLWNlbnRlci1zdGFydCk6bm90KC5zd2FsMi1jZW50ZXItZW5kKTpub3QoLnN3YWwyLWNlbnRlci1sZWZ0KTpub3QoLnN3YWwyLWNlbnRlci1yaWdodCk6bm90KC5zd2FsMi1ib3R0b20pOm5vdCguc3dhbDItYm90dG9tLXN0YXJ0KTpub3QoLnN3YWwyLWJvdHRvbS1lbmQpOm5vdCguc3dhbDItYm90dG9tLWxlZnQpOm5vdCguc3dhbDItYm90dG9tLXJpZ2h0KTpub3QoLnN3YWwyLWdyb3ctZnVsbHNjcmVlbik+LnN3YWwyLW1vZGFse21hcmdpbjphdXRvfUBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDpub25lKSwoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKXsuc3dhbDItY29udGFpbmVyIC5zd2FsMi1tb2RhbHttYXJnaW46MCFpbXBvcnRhbnR9fS5zd2FsMi1wb3B1cHtkaXNwbGF5Om5vbmU7cG9zaXRpb246cmVsYXRpdmU7Ym94LXNpemluZzpib3JkZXItYm94O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjMyZW07bWF4LXdpZHRoOjEwMCU7cGFkZGluZzoxLjI1ZW07Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czo1cHg7YmFja2dyb3VuZDojZmZmO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOjFyZW19LnN3YWwyLXBvcHVwOmZvY3Vze291dGxpbmU6MH0uc3dhbDItcG9wdXAuc3dhbDItbG9hZGluZ3tvdmVyZmxvdy15OmhpZGRlbn0uc3dhbDItaGVhZGVye2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6MCAxLjhlbX0uc3dhbDItdGl0bGV7cG9zaXRpb246cmVsYXRpdmU7bWF4LXdpZHRoOjEwMCU7bWFyZ2luOjAgMCAuNGVtO3BhZGRpbmc6MDtjb2xvcjojNTk1OTU5O2ZvbnQtc2l6ZToxLjg3NWVtO2ZvbnQtd2VpZ2h0OjYwMDt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LXRyYW5zZm9ybTpub25lO3dvcmQtd3JhcDpicmVhay13b3JkfS5zd2FsMi1hY3Rpb25ze2Rpc3BsYXk6ZmxleDt6LWluZGV4OjE7Ym94LXNpemluZzpib3JkZXItYm94O2ZsZXgtd3JhcDp3cmFwO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjEwMCU7bWFyZ2luOjEuMjVlbSBhdXRvIDA7cGFkZGluZzowfS5zd2FsMi1hY3Rpb25zOm5vdCguc3dhbDItbG9hZGluZykgLnN3YWwyLXN0eWxlZFtkaXNhYmxlZF17b3BhY2l0eTouNH0uc3dhbDItYWN0aW9uczpub3QoLnN3YWwyLWxvYWRpbmcpIC5zd2FsMi1zdHlsZWQ6aG92ZXJ7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQocmdiYSgwLDAsMCwuMSkscmdiYSgwLDAsMCwuMSkpfS5zd2FsMi1hY3Rpb25zOm5vdCguc3dhbDItbG9hZGluZykgLnN3YWwyLXN0eWxlZDphY3RpdmV7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQocmdiYSgwLDAsMCwuMikscmdiYSgwLDAsMCwuMikpfS5zd2FsMi1sb2FkZXJ7ZGlzcGxheTpub25lO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjIuMmVtO2hlaWdodDoyLjJlbTttYXJnaW46MCAxLjg3NWVtOy13ZWJraXQtYW5pbWF0aW9uOnN3YWwyLXJvdGF0ZS1sb2FkaW5nIDEuNXMgbGluZWFyIDBzIGluZmluaXRlIG5vcm1hbDthbmltYXRpb246c3dhbDItcm90YXRlLWxvYWRpbmcgMS41cyBsaW5lYXIgMHMgaW5maW5pdGUgbm9ybWFsO2JvcmRlci13aWR0aDouMjVlbTtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXJhZGl1czoxMDAlO2JvcmRlci1jb2xvcjojMjc3OGM0IHRyYW5zcGFyZW50ICMyNzc4YzQgdHJhbnNwYXJlbnR9LnN3YWwyLXN0eWxlZHttYXJnaW46LjMxMjVlbTtwYWRkaW5nOi42MjVlbSAxLjFlbTtib3gtc2hhZG93Om5vbmU7Zm9udC13ZWlnaHQ6NTAwfS5zd2FsMi1zdHlsZWQ6bm90KFtkaXNhYmxlZF0pe2N1cnNvcjpwb2ludGVyfS5zd2FsMi1zdHlsZWQuc3dhbDItY29uZmlybXtib3JkZXI6MDtib3JkZXItcmFkaXVzOi4yNWVtO2JhY2tncm91bmQ6aW5pdGlhbDtiYWNrZ3JvdW5kLWNvbG9yOiMyNzc4YzQ7Y29sb3I6I2ZmZjtmb250LXNpemU6MWVtfS5zd2FsMi1zdHlsZWQuc3dhbDItZGVueXtib3JkZXI6MDtib3JkZXItcmFkaXVzOi4yNWVtO2JhY2tncm91bmQ6aW5pdGlhbDtiYWNrZ3JvdW5kLWNvbG9yOiNkMTQ1Mjk7Y29sb3I6I2ZmZjtmb250LXNpemU6MWVtfS5zd2FsMi1zdHlsZWQuc3dhbDItY2FuY2Vse2JvcmRlcjowO2JvcmRlci1yYWRpdXM6LjI1ZW07YmFja2dyb3VuZDppbml0aWFsO2JhY2tncm91bmQtY29sb3I6Izc1NzU3NTtjb2xvcjojZmZmO2ZvbnQtc2l6ZToxZW19LnN3YWwyLXN0eWxlZDpmb2N1c3tvdXRsaW5lOjA7Ym94LXNoYWRvdzowIDAgMCAzcHggcmdiYSgxMDAsMTUwLDIwMCwuNSl9LnN3YWwyLXN0eWxlZDo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH0uc3dhbDItZm9vdGVye2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luOjEuMjVlbSAwIDA7cGFkZGluZzoxZW0gMCAwO2JvcmRlci10b3A6MXB4IHNvbGlkICNlZWU7Y29sb3I6IzU0NTQ1NDtmb250LXNpemU6MWVtfS5zd2FsMi10aW1lci1wcm9ncmVzcy1iYXItY29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowO2hlaWdodDouMjVlbTtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6NXB4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6NXB4fS5zd2FsMi10aW1lci1wcm9ncmVzcy1iYXJ7d2lkdGg6MTAwJTtoZWlnaHQ6LjI1ZW07YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4yKX0uc3dhbDItaW1hZ2V7bWF4LXdpZHRoOjEwMCU7bWFyZ2luOjEuMjVlbSBhdXRvfS5zd2FsMi1jbG9zZXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjI7dG9wOjA7cmlnaHQ6MDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxLjJlbTtoZWlnaHQ6MS4yZW07cGFkZGluZzowO292ZXJmbG93OmhpZGRlbjt0cmFuc2l0aW9uOmNvbG9yIC4xcyBlYXNlLW91dDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjVweDtiYWNrZ3JvdW5kOjAgMDtjb2xvcjojY2NjO2ZvbnQtZmFtaWx5OnNlcmlmO2ZvbnQtc2l6ZToyLjVlbTtsaW5lLWhlaWdodDoxLjI7Y3Vyc29yOnBvaW50ZXJ9LnN3YWwyLWNsb3NlOmhvdmVye3RyYW5zZm9ybTpub25lO2JhY2tncm91bmQ6MCAwO2NvbG9yOiNmMjc0NzR9LnN3YWwyLWNsb3NlOmZvY3Vze291dGxpbmU6MDtib3gtc2hhZG93Omluc2V0IDAgMCAwIDNweCByZ2JhKDEwMCwxNTAsMjAwLC41KX0uc3dhbDItY2xvc2U6Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjB9LnN3YWwyLWNvbnRlbnR7ei1pbmRleDoxO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luOjA7cGFkZGluZzowIDEuNmVtO2NvbG9yOiM1NDU0NTQ7Zm9udC1zaXplOjEuMTI1ZW07Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0Om5vcm1hbDt0ZXh0LWFsaWduOmNlbnRlcjt3b3JkLXdyYXA6YnJlYWstd29yZH0uc3dhbDItY2hlY2tib3gsLnN3YWwyLWZpbGUsLnN3YWwyLWlucHV0LC5zd2FsMi1yYWRpbywuc3dhbDItc2VsZWN0LC5zd2FsMi10ZXh0YXJlYXttYXJnaW46MWVtIGF1dG99LnN3YWwyLWZpbGUsLnN3YWwyLWlucHV0LC5zd2FsMi10ZXh0YXJlYXtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJTt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciAuM3MsYm94LXNoYWRvdyAuM3M7Ym9yZGVyOjFweCBzb2xpZCAjZDlkOWQ5O2JvcmRlci1yYWRpdXM6LjE4NzVlbTtiYWNrZ3JvdW5kOmluaGVyaXQ7Ym94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDYpO2NvbG9yOmluaGVyaXQ7Zm9udC1zaXplOjEuMTI1ZW19LnN3YWwyLWZpbGUuc3dhbDItaW5wdXRlcnJvciwuc3dhbDItaW5wdXQuc3dhbDItaW5wdXRlcnJvciwuc3dhbDItdGV4dGFyZWEuc3dhbDItaW5wdXRlcnJvcntib3JkZXItY29sb3I6I2YyNzQ3NCFpbXBvcnRhbnQ7Ym94LXNoYWRvdzowIDAgMnB4ICNmMjc0NzQhaW1wb3J0YW50fS5zd2FsMi1maWxlOmZvY3VzLC5zd2FsMi1pbnB1dDpmb2N1cywuc3dhbDItdGV4dGFyZWE6Zm9jdXN7Ym9yZGVyOjFweCBzb2xpZCAjYjRkYmVkO291dGxpbmU6MDtib3gtc2hhZG93OjAgMCAwIDNweCByZ2JhKDEwMCwxNTAsMjAwLC41KX0uc3dhbDItZmlsZTo6LW1vei1wbGFjZWhvbGRlciwuc3dhbDItaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsLnN3YWwyLXRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVye2NvbG9yOiNjY2N9LnN3YWwyLWZpbGU6LW1zLWlucHV0LXBsYWNlaG9sZGVyLC5zd2FsMi1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsLnN3YWwyLXRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlcntjb2xvcjojY2NjfS5zd2FsMi1maWxlOjpwbGFjZWhvbGRlciwuc3dhbDItaW5wdXQ6OnBsYWNlaG9sZGVyLC5zd2FsMi10ZXh0YXJlYTo6cGxhY2Vob2xkZXJ7Y29sb3I6I2NjY30uc3dhbDItcmFuZ2V7bWFyZ2luOjFlbSBhdXRvO2JhY2tncm91bmQ6I2ZmZn0uc3dhbDItcmFuZ2UgaW5wdXR7d2lkdGg6ODAlfS5zd2FsMi1yYW5nZSBvdXRwdXR7d2lkdGg6MjAlO2NvbG9yOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NjAwO3RleHQtYWxpZ246Y2VudGVyfS5zd2FsMi1yYW5nZSBpbnB1dCwuc3dhbDItcmFuZ2Ugb3V0cHV0e2hlaWdodDoyLjYyNWVtO3BhZGRpbmc6MDtmb250LXNpemU6MS4xMjVlbTtsaW5lLWhlaWdodDoyLjYyNWVtfS5zd2FsMi1pbnB1dHtoZWlnaHQ6Mi42MjVlbTtwYWRkaW5nOjAgLjc1ZW19LnN3YWwyLWlucHV0W3R5cGU9bnVtYmVyXXttYXgtd2lkdGg6MTBlbX0uc3dhbDItZmlsZXtiYWNrZ3JvdW5kOmluaGVyaXQ7Zm9udC1zaXplOjEuMTI1ZW19LnN3YWwyLXRleHRhcmVhe2hlaWdodDo2Ljc1ZW07cGFkZGluZzouNzVlbX0uc3dhbDItc2VsZWN0e21pbi13aWR0aDo1MCU7bWF4LXdpZHRoOjEwMCU7cGFkZGluZzouMzc1ZW0gLjYyNWVtO2JhY2tncm91bmQ6aW5oZXJpdDtjb2xvcjppbmhlcml0O2ZvbnQtc2l6ZToxLjEyNWVtfS5zd2FsMi1jaGVja2JveCwuc3dhbDItcmFkaW97YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7YmFja2dyb3VuZDojZmZmO2NvbG9yOmluaGVyaXR9LnN3YWwyLWNoZWNrYm94IGxhYmVsLC5zd2FsMi1yYWRpbyBsYWJlbHttYXJnaW46MCAuNmVtO2ZvbnQtc2l6ZToxLjEyNWVtfS5zd2FsMi1jaGVja2JveCBpbnB1dCwuc3dhbDItcmFkaW8gaW5wdXR7ZmxleC1zaHJpbms6MDttYXJnaW46MCAuNGVtfS5zd2FsMi1pbnB1dC1sYWJlbHtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW46MWVtIGF1dG99LnN3YWwyLXZhbGlkYXRpb24tbWVzc2FnZXthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW46MCAtMi43ZW07cGFkZGluZzouNjI1ZW07b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6I2YwZjBmMDtjb2xvcjojNjY2O2ZvbnQtc2l6ZToxZW07Zm9udC13ZWlnaHQ6MzAwfS5zd2FsMi12YWxpZGF0aW9uLW1lc3NhZ2U6OmJlZm9yZXtjb250ZW50OlwiIVwiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjEuNWVtO21pbi13aWR0aDoxLjVlbTtoZWlnaHQ6MS41ZW07bWFyZ2luOjAgLjYyNWVtO2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQtY29sb3I6I2YyNzQ3NDtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjYwMDtsaW5lLWhlaWdodDoxLjVlbTt0ZXh0LWFsaWduOmNlbnRlcn0uc3dhbDItaWNvbntwb3NpdGlvbjpyZWxhdGl2ZTtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6NWVtO2hlaWdodDo1ZW07bWFyZ2luOjEuMjVlbSBhdXRvIDEuODc1ZW07Ym9yZGVyOi4yNWVtIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlci1jb2xvcjojMDAwO2ZvbnQtZmFtaWx5OmluaGVyaXQ7bGluZS1oZWlnaHQ6NWVtO2N1cnNvcjpkZWZhdWx0Oy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0uc3dhbDItaWNvbiAuc3dhbDItaWNvbi1jb250ZW50e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Zm9udC1zaXplOjMuNzVlbX0uc3dhbDItaWNvbi5zd2FsMi1lcnJvcntib3JkZXItY29sb3I6I2YyNzQ3NDtjb2xvcjojZjI3NDc0fS5zd2FsMi1pY29uLnN3YWwyLWVycm9yIC5zd2FsMi14LW1hcmt7cG9zaXRpb246cmVsYXRpdmU7ZmxleC1ncm93OjF9LnN3YWwyLWljb24uc3dhbDItZXJyb3IgW2NsYXNzXj1zd2FsMi14LW1hcmstbGluZV17ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6Mi4zMTI1ZW07d2lkdGg6Mi45Mzc1ZW07aGVpZ2h0Oi4zMTI1ZW07Ym9yZGVyLXJhZGl1czouMTI1ZW07YmFja2dyb3VuZC1jb2xvcjojZjI3NDc0fS5zd2FsMi1pY29uLnN3YWwyLWVycm9yIFtjbGFzc149c3dhbDIteC1tYXJrLWxpbmVdW2NsYXNzJD1sZWZ0XXtsZWZ0OjEuMDYyNWVtO3RyYW5zZm9ybTpyb3RhdGUoNDVkZWcpfS5zd2FsMi1pY29uLnN3YWwyLWVycm9yIFtjbGFzc149c3dhbDIteC1tYXJrLWxpbmVdW2NsYXNzJD1yaWdodF17cmlnaHQ6MWVtO3RyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKX0uc3dhbDItaWNvbi5zd2FsMi1lcnJvci5zd2FsMi1pY29uLXNob3d7LXdlYmtpdC1hbmltYXRpb246c3dhbDItYW5pbWF0ZS1lcnJvci1pY29uIC41czthbmltYXRpb246c3dhbDItYW5pbWF0ZS1lcnJvci1pY29uIC41c30uc3dhbDItaWNvbi5zd2FsMi1lcnJvci5zd2FsMi1pY29uLXNob3cgLnN3YWwyLXgtbWFya3std2Via2l0LWFuaW1hdGlvbjpzd2FsMi1hbmltYXRlLWVycm9yLXgtbWFyayAuNXM7YW5pbWF0aW9uOnN3YWwyLWFuaW1hdGUtZXJyb3IteC1tYXJrIC41c30uc3dhbDItaWNvbi5zd2FsMi13YXJuaW5ne2JvcmRlci1jb2xvcjojZmFjZWE4O2NvbG9yOiNmOGJiODZ9LnN3YWwyLWljb24uc3dhbDItaW5mb3tib3JkZXItY29sb3I6IzlkZTBmNjtjb2xvcjojM2ZjM2VlfS5zd2FsMi1pY29uLnN3YWwyLXF1ZXN0aW9ue2JvcmRlci1jb2xvcjojYzlkYWUxO2NvbG9yOiM4N2FkYmR9LnN3YWwyLWljb24uc3dhbDItc3VjY2Vzc3tib3JkZXItY29sb3I6I2E1ZGM4Njtjb2xvcjojYTVkYzg2fS5zd2FsMi1pY29uLnN3YWwyLXN1Y2Nlc3MgW2NsYXNzXj1zd2FsMi1zdWNjZXNzLWNpcmN1bGFyLWxpbmVde3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjMuNzVlbTtoZWlnaHQ6Ny41ZW07dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7Ym9yZGVyLXJhZGl1czo1MCV9LnN3YWwyLWljb24uc3dhbDItc3VjY2VzcyBbY2xhc3NePXN3YWwyLXN1Y2Nlc3MtY2lyY3VsYXItbGluZV1bY2xhc3MkPWxlZnRde3RvcDotLjQzNzVlbTtsZWZ0Oi0yLjA2MzVlbTt0cmFuc2Zvcm06cm90YXRlKC00NWRlZyk7dHJhbnNmb3JtLW9yaWdpbjozLjc1ZW0gMy43NWVtO2JvcmRlci1yYWRpdXM6Ny41ZW0gMCAwIDcuNWVtfS5zd2FsMi1pY29uLnN3YWwyLXN1Y2Nlc3MgW2NsYXNzXj1zd2FsMi1zdWNjZXNzLWNpcmN1bGFyLWxpbmVdW2NsYXNzJD1yaWdodF17dG9wOi0uNjg3NWVtO2xlZnQ6MS44NzVlbTt0cmFuc2Zvcm06cm90YXRlKC00NWRlZyk7dHJhbnNmb3JtLW9yaWdpbjowIDMuNzVlbTtib3JkZXItcmFkaXVzOjAgNy41ZW0gNy41ZW0gMH0uc3dhbDItaWNvbi5zd2FsMi1zdWNjZXNzIC5zd2FsMi1zdWNjZXNzLXJpbmd7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoyO3RvcDotLjI1ZW07bGVmdDotLjI1ZW07Ym94LXNpemluZzpjb250ZW50LWJveDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvcmRlcjouMjVlbSBzb2xpZCByZ2JhKDE2NSwyMjAsMTM0LC4zKTtib3JkZXItcmFkaXVzOjUwJX0uc3dhbDItaWNvbi5zd2FsMi1zdWNjZXNzIC5zd2FsMi1zdWNjZXNzLWZpeHtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjE7dG9wOi41ZW07bGVmdDoxLjYyNWVtO3dpZHRoOi40Mzc1ZW07aGVpZ2h0OjUuNjI1ZW07dHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpfS5zd2FsMi1pY29uLnN3YWwyLXN1Y2Nlc3MgW2NsYXNzXj1zd2FsMi1zdWNjZXNzLWxpbmVde2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoyO2hlaWdodDouMzEyNWVtO2JvcmRlci1yYWRpdXM6LjEyNWVtO2JhY2tncm91bmQtY29sb3I6I2E1ZGM4Nn0uc3dhbDItaWNvbi5zd2FsMi1zdWNjZXNzIFtjbGFzc149c3dhbDItc3VjY2Vzcy1saW5lXVtjbGFzcyQ9dGlwXXt0b3A6Mi44NzVlbTtsZWZ0Oi44MTI1ZW07d2lkdGg6MS41NjI1ZW07dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyl9LnN3YWwyLWljb24uc3dhbDItc3VjY2VzcyBbY2xhc3NePXN3YWwyLXN1Y2Nlc3MtbGluZV1bY2xhc3MkPWxvbmdde3RvcDoyLjM3NWVtO3JpZ2h0Oi41ZW07d2lkdGg6Mi45Mzc1ZW07dHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpfS5zd2FsMi1pY29uLnN3YWwyLXN1Y2Nlc3Muc3dhbDItaWNvbi1zaG93IC5zd2FsMi1zdWNjZXNzLWxpbmUtdGlwey13ZWJraXQtYW5pbWF0aW9uOnN3YWwyLWFuaW1hdGUtc3VjY2Vzcy1saW5lLXRpcCAuNzVzO2FuaW1hdGlvbjpzd2FsMi1hbmltYXRlLXN1Y2Nlc3MtbGluZS10aXAgLjc1c30uc3dhbDItaWNvbi5zd2FsMi1zdWNjZXNzLnN3YWwyLWljb24tc2hvdyAuc3dhbDItc3VjY2Vzcy1saW5lLWxvbmd7LXdlYmtpdC1hbmltYXRpb246c3dhbDItYW5pbWF0ZS1zdWNjZXNzLWxpbmUtbG9uZyAuNzVzO2FuaW1hdGlvbjpzd2FsMi1hbmltYXRlLXN1Y2Nlc3MtbGluZS1sb25nIC43NXN9LnN3YWwyLWljb24uc3dhbDItc3VjY2Vzcy5zd2FsMi1pY29uLXNob3cgLnN3YWwyLXN1Y2Nlc3MtY2lyY3VsYXItbGluZS1yaWdodHstd2Via2l0LWFuaW1hdGlvbjpzd2FsMi1yb3RhdGUtc3VjY2Vzcy1jaXJjdWxhci1saW5lIDQuMjVzIGVhc2UtaW47YW5pbWF0aW9uOnN3YWwyLXJvdGF0ZS1zdWNjZXNzLWNpcmN1bGFyLWxpbmUgNC4yNXMgZWFzZS1pbn0uc3dhbDItcHJvZ3Jlc3Mtc3RlcHN7ZmxleC13cmFwOndyYXA7YWxpZ24taXRlbXM6Y2VudGVyO21heC13aWR0aDoxMDAlO21hcmdpbjowIDAgMS4yNWVtO3BhZGRpbmc6MDtiYWNrZ3JvdW5kOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NjAwfS5zd2FsMi1wcm9ncmVzcy1zdGVwcyBsaXtkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX0uc3dhbDItcHJvZ3Jlc3Mtc3RlcHMgLnN3YWwyLXByb2dyZXNzLXN0ZXB7ei1pbmRleDoyMDtmbGV4LXNocmluazowO3dpZHRoOjJlbTtoZWlnaHQ6MmVtO2JvcmRlci1yYWRpdXM6MmVtO2JhY2tncm91bmQ6IzI3NzhjNDtjb2xvcjojZmZmO2xpbmUtaGVpZ2h0OjJlbTt0ZXh0LWFsaWduOmNlbnRlcn0uc3dhbDItcHJvZ3Jlc3Mtc3RlcHMgLnN3YWwyLXByb2dyZXNzLXN0ZXAuc3dhbDItYWN0aXZlLXByb2dyZXNzLXN0ZXB7YmFja2dyb3VuZDojMjc3OGM0fS5zd2FsMi1wcm9ncmVzcy1zdGVwcyAuc3dhbDItcHJvZ3Jlc3Mtc3RlcC5zd2FsMi1hY3RpdmUtcHJvZ3Jlc3Mtc3RlcH4uc3dhbDItcHJvZ3Jlc3Mtc3RlcHtiYWNrZ3JvdW5kOiNhZGQ4ZTY7Y29sb3I6I2ZmZn0uc3dhbDItcHJvZ3Jlc3Mtc3RlcHMgLnN3YWwyLXByb2dyZXNzLXN0ZXAuc3dhbDItYWN0aXZlLXByb2dyZXNzLXN0ZXB+LnN3YWwyLXByb2dyZXNzLXN0ZXAtbGluZXtiYWNrZ3JvdW5kOiNhZGQ4ZTZ9LnN3YWwyLXByb2dyZXNzLXN0ZXBzIC5zd2FsMi1wcm9ncmVzcy1zdGVwLWxpbmV7ei1pbmRleDoxMDtmbGV4LXNocmluazowO3dpZHRoOjIuNWVtO2hlaWdodDouNGVtO21hcmdpbjowIC0xcHg7YmFja2dyb3VuZDojMjc3OGM0fVtjbGFzc149c3dhbDJdey13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0uc3dhbDItc2hvd3std2Via2l0LWFuaW1hdGlvbjpzd2FsMi1zaG93IC4zczthbmltYXRpb246c3dhbDItc2hvdyAuM3N9LnN3YWwyLWhpZGV7LXdlYmtpdC1hbmltYXRpb246c3dhbDItaGlkZSAuMTVzIGZvcndhcmRzO2FuaW1hdGlvbjpzd2FsMi1oaWRlIC4xNXMgZm9yd2FyZHN9LnN3YWwyLW5vYW5pbWF0aW9ue3RyYW5zaXRpb246bm9uZX0uc3dhbDItc2Nyb2xsYmFyLW1lYXN1cmV7cG9zaXRpb246YWJzb2x1dGU7dG9wOi05OTk5cHg7d2lkdGg6NTBweDtoZWlnaHQ6NTBweDtvdmVyZmxvdzpzY3JvbGx9LnN3YWwyLXJ0bCAuc3dhbDItY2xvc2V7cmlnaHQ6YXV0bztsZWZ0OjB9LnN3YWwyLXJ0bCAuc3dhbDItdGltZXItcHJvZ3Jlc3MtYmFye3JpZ2h0OjA7bGVmdDphdXRvfUBzdXBwb3J0cyAoLW1zLWFjY2VsZXJhdG9yOnRydWUpey5zd2FsMi1yYW5nZSBpbnB1dHt3aWR0aDoxMDAlIWltcG9ydGFudH0uc3dhbDItcmFuZ2Ugb3V0cHV0e2Rpc3BsYXk6bm9uZX19QG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0Om5vbmUpLCgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpey5zd2FsMi1yYW5nZSBpbnB1dHt3aWR0aDoxMDAlIWltcG9ydGFudH0uc3dhbDItcmFuZ2Ugb3V0cHV0e2Rpc3BsYXk6bm9uZX19QC13ZWJraXQta2V5ZnJhbWVzIHN3YWwyLXRvYXN0LXNob3d7MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLS42MjVlbSkgcm90YXRlWigyZGVnKX0zMyV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCkgcm90YXRlWigtMmRlZyl9NjYle3RyYW5zZm9ybTp0cmFuc2xhdGVZKC4zMTI1ZW0pIHJvdGF0ZVooMmRlZyl9MTAwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSByb3RhdGVaKDApfX1Aa2V5ZnJhbWVzIHN3YWwyLXRvYXN0LXNob3d7MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLS42MjVlbSkgcm90YXRlWigyZGVnKX0zMyV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCkgcm90YXRlWigtMmRlZyl9NjYle3RyYW5zZm9ybTp0cmFuc2xhdGVZKC4zMTI1ZW0pIHJvdGF0ZVooMmRlZyl9MTAwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSByb3RhdGVaKDApfX1ALXdlYmtpdC1rZXlmcmFtZXMgc3dhbDItdG9hc3QtaGlkZXsxMDAle3RyYW5zZm9ybTpyb3RhdGVaKDFkZWcpO29wYWNpdHk6MH19QGtleWZyYW1lcyBzd2FsMi10b2FzdC1oaWRlezEwMCV7dHJhbnNmb3JtOnJvdGF0ZVooMWRlZyk7b3BhY2l0eTowfX1ALXdlYmtpdC1rZXlmcmFtZXMgc3dhbDItdG9hc3QtYW5pbWF0ZS1zdWNjZXNzLWxpbmUtdGlwezAle3RvcDouNTYyNWVtO2xlZnQ6LjA2MjVlbTt3aWR0aDowfTU0JXt0b3A6LjEyNWVtO2xlZnQ6LjEyNWVtO3dpZHRoOjB9NzAle3RvcDouNjI1ZW07bGVmdDotLjI1ZW07d2lkdGg6MS42MjVlbX04NCV7dG9wOjEuMDYyNWVtO2xlZnQ6Ljc1ZW07d2lkdGg6LjVlbX0xMDAle3RvcDoxLjEyNWVtO2xlZnQ6LjE4NzVlbTt3aWR0aDouNzVlbX19QGtleWZyYW1lcyBzd2FsMi10b2FzdC1hbmltYXRlLXN1Y2Nlc3MtbGluZS10aXB7MCV7dG9wOi41NjI1ZW07bGVmdDouMDYyNWVtO3dpZHRoOjB9NTQle3RvcDouMTI1ZW07bGVmdDouMTI1ZW07d2lkdGg6MH03MCV7dG9wOi42MjVlbTtsZWZ0Oi0uMjVlbTt3aWR0aDoxLjYyNWVtfTg0JXt0b3A6MS4wNjI1ZW07bGVmdDouNzVlbTt3aWR0aDouNWVtfTEwMCV7dG9wOjEuMTI1ZW07bGVmdDouMTg3NWVtO3dpZHRoOi43NWVtfX1ALXdlYmtpdC1rZXlmcmFtZXMgc3dhbDItdG9hc3QtYW5pbWF0ZS1zdWNjZXNzLWxpbmUtbG9uZ3swJXt0b3A6MS42MjVlbTtyaWdodDoxLjM3NWVtO3dpZHRoOjB9NjUle3RvcDoxLjI1ZW07cmlnaHQ6LjkzNzVlbTt3aWR0aDowfTg0JXt0b3A6LjkzNzVlbTtyaWdodDowO3dpZHRoOjEuMTI1ZW19MTAwJXt0b3A6LjkzNzVlbTtyaWdodDouMTg3NWVtO3dpZHRoOjEuMzc1ZW19fUBrZXlmcmFtZXMgc3dhbDItdG9hc3QtYW5pbWF0ZS1zdWNjZXNzLWxpbmUtbG9uZ3swJXt0b3A6MS42MjVlbTtyaWdodDoxLjM3NWVtO3dpZHRoOjB9NjUle3RvcDoxLjI1ZW07cmlnaHQ6LjkzNzVlbTt3aWR0aDowfTg0JXt0b3A6LjkzNzVlbTtyaWdodDowO3dpZHRoOjEuMTI1ZW19MTAwJXt0b3A6LjkzNzVlbTtyaWdodDouMTg3NWVtO3dpZHRoOjEuMzc1ZW19fUAtd2Via2l0LWtleWZyYW1lcyBzd2FsMi1zaG93ezAle3RyYW5zZm9ybTpzY2FsZSguNyl9NDUle3RyYW5zZm9ybTpzY2FsZSgxLjA1KX04MCV7dHJhbnNmb3JtOnNjYWxlKC45NSl9MTAwJXt0cmFuc2Zvcm06c2NhbGUoMSl9fUBrZXlmcmFtZXMgc3dhbDItc2hvd3swJXt0cmFuc2Zvcm06c2NhbGUoLjcpfTQ1JXt0cmFuc2Zvcm06c2NhbGUoMS4wNSl9ODAle3RyYW5zZm9ybTpzY2FsZSguOTUpfTEwMCV7dHJhbnNmb3JtOnNjYWxlKDEpfX1ALXdlYmtpdC1rZXlmcmFtZXMgc3dhbDItaGlkZXswJXt0cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eToxfTEwMCV7dHJhbnNmb3JtOnNjYWxlKC41KTtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgc3dhbDItaGlkZXswJXt0cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eToxfTEwMCV7dHJhbnNmb3JtOnNjYWxlKC41KTtvcGFjaXR5OjB9fUAtd2Via2l0LWtleWZyYW1lcyBzd2FsMi1hbmltYXRlLXN1Y2Nlc3MtbGluZS10aXB7MCV7dG9wOjEuMTg3NWVtO2xlZnQ6LjA2MjVlbTt3aWR0aDowfTU0JXt0b3A6MS4wNjI1ZW07bGVmdDouMTI1ZW07d2lkdGg6MH03MCV7dG9wOjIuMTg3NWVtO2xlZnQ6LS4zNzVlbTt3aWR0aDozLjEyNWVtfTg0JXt0b3A6M2VtO2xlZnQ6MS4zMTI1ZW07d2lkdGg6MS4wNjI1ZW19MTAwJXt0b3A6Mi44MTI1ZW07bGVmdDouODEyNWVtO3dpZHRoOjEuNTYyNWVtfX1Aa2V5ZnJhbWVzIHN3YWwyLWFuaW1hdGUtc3VjY2Vzcy1saW5lLXRpcHswJXt0b3A6MS4xODc1ZW07bGVmdDouMDYyNWVtO3dpZHRoOjB9NTQle3RvcDoxLjA2MjVlbTtsZWZ0Oi4xMjVlbTt3aWR0aDowfTcwJXt0b3A6Mi4xODc1ZW07bGVmdDotLjM3NWVtO3dpZHRoOjMuMTI1ZW19ODQle3RvcDozZW07bGVmdDoxLjMxMjVlbTt3aWR0aDoxLjA2MjVlbX0xMDAle3RvcDoyLjgxMjVlbTtsZWZ0Oi44MTI1ZW07d2lkdGg6MS41NjI1ZW19fUAtd2Via2l0LWtleWZyYW1lcyBzd2FsMi1hbmltYXRlLXN1Y2Nlc3MtbGluZS1sb25nezAle3RvcDozLjM3NWVtO3JpZ2h0OjIuODc1ZW07d2lkdGg6MH02NSV7dG9wOjMuMzc1ZW07cmlnaHQ6Mi44NzVlbTt3aWR0aDowfTg0JXt0b3A6Mi4xODc1ZW07cmlnaHQ6MDt3aWR0aDozLjQzNzVlbX0xMDAle3RvcDoyLjM3NWVtO3JpZ2h0Oi41ZW07d2lkdGg6Mi45Mzc1ZW19fUBrZXlmcmFtZXMgc3dhbDItYW5pbWF0ZS1zdWNjZXNzLWxpbmUtbG9uZ3swJXt0b3A6My4zNzVlbTtyaWdodDoyLjg3NWVtO3dpZHRoOjB9NjUle3RvcDozLjM3NWVtO3JpZ2h0OjIuODc1ZW07d2lkdGg6MH04NCV7dG9wOjIuMTg3NWVtO3JpZ2h0OjA7d2lkdGg6My40Mzc1ZW19MTAwJXt0b3A6Mi4zNzVlbTtyaWdodDouNWVtO3dpZHRoOjIuOTM3NWVtfX1ALXdlYmtpdC1rZXlmcmFtZXMgc3dhbDItcm90YXRlLXN1Y2Nlc3MtY2lyY3VsYXItbGluZXswJXt0cmFuc2Zvcm06cm90YXRlKC00NWRlZyl9NSV7dHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpfTEyJXt0cmFuc2Zvcm06cm90YXRlKC00MDVkZWcpfTEwMCV7dHJhbnNmb3JtOnJvdGF0ZSgtNDA1ZGVnKX19QGtleWZyYW1lcyBzd2FsMi1yb3RhdGUtc3VjY2Vzcy1jaXJjdWxhci1saW5lezAle3RyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKX01JXt0cmFuc2Zvcm06cm90YXRlKC00NWRlZyl9MTIle3RyYW5zZm9ybTpyb3RhdGUoLTQwNWRlZyl9MTAwJXt0cmFuc2Zvcm06cm90YXRlKC00MDVkZWcpfX1ALXdlYmtpdC1rZXlmcmFtZXMgc3dhbDItYW5pbWF0ZS1lcnJvci14LW1hcmt7MCV7bWFyZ2luLXRvcDoxLjYyNWVtO3RyYW5zZm9ybTpzY2FsZSguNCk7b3BhY2l0eTowfTUwJXttYXJnaW4tdG9wOjEuNjI1ZW07dHJhbnNmb3JtOnNjYWxlKC40KTtvcGFjaXR5OjB9ODAle21hcmdpbi10b3A6LS4zNzVlbTt0cmFuc2Zvcm06c2NhbGUoMS4xNSl9MTAwJXttYXJnaW4tdG9wOjA7dHJhbnNmb3JtOnNjYWxlKDEpO29wYWNpdHk6MX19QGtleWZyYW1lcyBzd2FsMi1hbmltYXRlLWVycm9yLXgtbWFya3swJXttYXJnaW4tdG9wOjEuNjI1ZW07dHJhbnNmb3JtOnNjYWxlKC40KTtvcGFjaXR5OjB9NTAle21hcmdpbi10b3A6MS42MjVlbTt0cmFuc2Zvcm06c2NhbGUoLjQpO29wYWNpdHk6MH04MCV7bWFyZ2luLXRvcDotLjM3NWVtO3RyYW5zZm9ybTpzY2FsZSgxLjE1KX0xMDAle21hcmdpbi10b3A6MDt0cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eToxfX1ALXdlYmtpdC1rZXlmcmFtZXMgc3dhbDItYW5pbWF0ZS1lcnJvci1pY29uezAle3RyYW5zZm9ybTpyb3RhdGVYKDEwMGRlZyk7b3BhY2l0eTowfTEwMCV7dHJhbnNmb3JtOnJvdGF0ZVgoMCk7b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIHN3YWwyLWFuaW1hdGUtZXJyb3ItaWNvbnswJXt0cmFuc2Zvcm06cm90YXRlWCgxMDBkZWcpO29wYWNpdHk6MH0xMDAle3RyYW5zZm9ybTpyb3RhdGVYKDApO29wYWNpdHk6MX19QC13ZWJraXQta2V5ZnJhbWVzIHN3YWwyLXJvdGF0ZS1sb2FkaW5nezAle3RyYW5zZm9ybTpyb3RhdGUoMCl9MTAwJXt0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fUBrZXlmcmFtZXMgc3dhbDItcm90YXRlLWxvYWRpbmd7MCV7dHJhbnNmb3JtOnJvdGF0ZSgwKX0xMDAle3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19Ym9keS5zd2FsMi1zaG93bjpub3QoLnN3YWwyLW5vLWJhY2tkcm9wKTpub3QoLnN3YWwyLXRvYXN0LXNob3duKXtvdmVyZmxvdzpoaWRkZW59Ym9keS5zd2FsMi1oZWlnaHQtYXV0b3toZWlnaHQ6YXV0byFpbXBvcnRhbnR9Ym9keS5zd2FsMi1uby1iYWNrZHJvcCAuc3dhbDItY29udGFpbmVye3RvcDphdXRvO3JpZ2h0OmF1dG87Ym90dG9tOmF1dG87bGVmdDphdXRvO21heC13aWR0aDpjYWxjKDEwMCUgLSAuNjI1ZW0gKiAyKTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50IWltcG9ydGFudH1ib2R5LnN3YWwyLW5vLWJhY2tkcm9wIC5zd2FsMi1jb250YWluZXI+LnN3YWwyLW1vZGFse2JveC1zaGFkb3c6MCAwIDEwcHggcmdiYSgwLDAsMCwuNCl9Ym9keS5zd2FsMi1uby1iYWNrZHJvcCAuc3dhbDItY29udGFpbmVyLnN3YWwyLXRvcHt0b3A6MDtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX1ib2R5LnN3YWwyLW5vLWJhY2tkcm9wIC5zd2FsMi1jb250YWluZXIuc3dhbDItdG9wLWxlZnQsYm9keS5zd2FsMi1uby1iYWNrZHJvcCAuc3dhbDItY29udGFpbmVyLnN3YWwyLXRvcC1zdGFydHt0b3A6MDtsZWZ0OjB9Ym9keS5zd2FsMi1uby1iYWNrZHJvcCAuc3dhbDItY29udGFpbmVyLnN3YWwyLXRvcC1lbmQsYm9keS5zd2FsMi1uby1iYWNrZHJvcCAuc3dhbDItY29udGFpbmVyLnN3YWwyLXRvcC1yaWdodHt0b3A6MDtyaWdodDowfWJvZHkuc3dhbDItbm8tYmFja2Ryb3AgLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1jZW50ZXJ7dG9wOjUwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSl9Ym9keS5zd2FsMi1uby1iYWNrZHJvcCAuc3dhbDItY29udGFpbmVyLnN3YWwyLWNlbnRlci1sZWZ0LGJvZHkuc3dhbDItbm8tYmFja2Ryb3AgLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1jZW50ZXItc3RhcnR7dG9wOjUwJTtsZWZ0OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSl9Ym9keS5zd2FsMi1uby1iYWNrZHJvcCAuc3dhbDItY29udGFpbmVyLnN3YWwyLWNlbnRlci1lbmQsYm9keS5zd2FsMi1uby1iYWNrZHJvcCAuc3dhbDItY29udGFpbmVyLnN3YWwyLWNlbnRlci1yaWdodHt0b3A6NTAlO3JpZ2h0OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSl9Ym9keS5zd2FsMi1uby1iYWNrZHJvcCAuc3dhbDItY29udGFpbmVyLnN3YWwyLWJvdHRvbXtib3R0b206MDtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX1ib2R5LnN3YWwyLW5vLWJhY2tkcm9wIC5zd2FsMi1jb250YWluZXIuc3dhbDItYm90dG9tLWxlZnQsYm9keS5zd2FsMi1uby1iYWNrZHJvcCAuc3dhbDItY29udGFpbmVyLnN3YWwyLWJvdHRvbS1zdGFydHtib3R0b206MDtsZWZ0OjB9Ym9keS5zd2FsMi1uby1iYWNrZHJvcCAuc3dhbDItY29udGFpbmVyLnN3YWwyLWJvdHRvbS1lbmQsYm9keS5zd2FsMi1uby1iYWNrZHJvcCAuc3dhbDItY29udGFpbmVyLnN3YWwyLWJvdHRvbS1yaWdodHtyaWdodDowO2JvdHRvbTowfUBtZWRpYSBwcmludHtib2R5LnN3YWwyLXNob3duOm5vdCguc3dhbDItbm8tYmFja2Ryb3ApOm5vdCguc3dhbDItdG9hc3Qtc2hvd24pe292ZXJmbG93LXk6c2Nyb2xsIWltcG9ydGFudH1ib2R5LnN3YWwyLXNob3duOm5vdCguc3dhbDItbm8tYmFja2Ryb3ApOm5vdCguc3dhbDItdG9hc3Qtc2hvd24pPlthcmlhLWhpZGRlbj10cnVlXXtkaXNwbGF5Om5vbmV9Ym9keS5zd2FsMi1zaG93bjpub3QoLnN3YWwyLW5vLWJhY2tkcm9wKTpub3QoLnN3YWwyLXRvYXN0LXNob3duKSAuc3dhbDItY29udGFpbmVye3Bvc2l0aW9uOnN0YXRpYyFpbXBvcnRhbnR9fWJvZHkuc3dhbDItdG9hc3Qtc2hvd24gLnN3YWwyLWNvbnRhaW5lcntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fWJvZHkuc3dhbDItdG9hc3Qtc2hvd24gLnN3YWwyLWNvbnRhaW5lci5zd2FsMi10b3B7dG9wOjA7cmlnaHQ6YXV0bztib3R0b206YXV0bztsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX1ib2R5LnN3YWwyLXRvYXN0LXNob3duIC5zd2FsMi1jb250YWluZXIuc3dhbDItdG9wLWVuZCxib2R5LnN3YWwyLXRvYXN0LXNob3duIC5zd2FsMi1jb250YWluZXIuc3dhbDItdG9wLXJpZ2h0e3RvcDowO3JpZ2h0OjA7Ym90dG9tOmF1dG87bGVmdDphdXRvfWJvZHkuc3dhbDItdG9hc3Qtc2hvd24gLnN3YWwyLWNvbnRhaW5lci5zd2FsMi10b3AtbGVmdCxib2R5LnN3YWwyLXRvYXN0LXNob3duIC5zd2FsMi1jb250YWluZXIuc3dhbDItdG9wLXN0YXJ0e3RvcDowO3JpZ2h0OmF1dG87Ym90dG9tOmF1dG87bGVmdDowfWJvZHkuc3dhbDItdG9hc3Qtc2hvd24gLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1jZW50ZXItbGVmdCxib2R5LnN3YWwyLXRvYXN0LXNob3duIC5zd2FsMi1jb250YWluZXIuc3dhbDItY2VudGVyLXN0YXJ0e3RvcDo1MCU7cmlnaHQ6YXV0bztib3R0b206YXV0bztsZWZ0OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSl9Ym9keS5zd2FsMi10b2FzdC1zaG93biAuc3dhbDItY29udGFpbmVyLnN3YWwyLWNlbnRlcnt0b3A6NTAlO3JpZ2h0OmF1dG87Ym90dG9tOmF1dG87bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpfWJvZHkuc3dhbDItdG9hc3Qtc2hvd24gLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1jZW50ZXItZW5kLGJvZHkuc3dhbDItdG9hc3Qtc2hvd24gLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1jZW50ZXItcmlnaHR7dG9wOjUwJTtyaWdodDowO2JvdHRvbTphdXRvO2xlZnQ6YXV0bzt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKX1ib2R5LnN3YWwyLXRvYXN0LXNob3duIC5zd2FsMi1jb250YWluZXIuc3dhbDItYm90dG9tLWxlZnQsYm9keS5zd2FsMi10b2FzdC1zaG93biAuc3dhbDItY29udGFpbmVyLnN3YWwyLWJvdHRvbS1zdGFydHt0b3A6YXV0bztyaWdodDphdXRvO2JvdHRvbTowO2xlZnQ6MH1ib2R5LnN3YWwyLXRvYXN0LXNob3duIC5zd2FsMi1jb250YWluZXIuc3dhbDItYm90dG9te3RvcDphdXRvO3JpZ2h0OmF1dG87Ym90dG9tOjA7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSl9Ym9keS5zd2FsMi10b2FzdC1zaG93biAuc3dhbDItY29udGFpbmVyLnN3YWwyLWJvdHRvbS1lbmQsYm9keS5zd2FsMi10b2FzdC1zaG93biAuc3dhbDItY29udGFpbmVyLnN3YWwyLWJvdHRvbS1yaWdodHt0b3A6YXV0bztyaWdodDowO2JvdHRvbTowO2xlZnQ6YXV0b30iKTs="}},"time_used":32,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":32,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"247optiontradefx.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.572Z","timestamp":1785120633572,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /embed-widget/screener/?locale=en HTTP/1.1\r\nHost: www.tradingview-widget.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://247optiontradefx.com/\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\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 02:50:33 GMT\r\ncontent-type: text/html; charset=utf-8\r\nvary: Accept-Encoding\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\ncache-control: max-age=120\r\nexpires: Mon, 27 Jul 2026 02:50:57 GMT\r\ncontent-security-policy: default-src 'self' https: data: blob: wss: 'unsafe-inline'; object-src 'none'; base-uri 'none'; script-src https://static.tradingview.com/static/ blob: https://*.ampproject.org/ https://*.paypal.com/ https://platform.twitter.com https://platform.x.com https://songbird.cardinalcommerce.com/edge/v1/ https://checkout.razorpay.com/ https://cdn.razorpay.com/static/cx/ https://*.checkout.com/ https://*.revolut.com/ https://*.cardinaltrusted.com https://pay.google.com/gp/p/js/ https://applepay.cdn-apple.com/jsapi/ https://tradingview-gateway.com/ https://www.tradingview-widget.com/static/bundles/embed/ 'nonce-ko/OXB39731kHV6AxraBIw=='\r\ncross-origin-opener-policy: same-origin-allow-popups\r\nreferrer-policy: origin-when-cross-origin\r\nx-content-type-options: nosniff\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/27/2026 02:50:33\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 7d3b9246f363cd4967cc5c8adb56f3ff\r\ncdn-cache: EXPIRED\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"PayPal","description":"PayPal is an online payments system that supports online money transfers and serves as an electronic alternative to traditional paper methods like checks and money orders.","website":"https://paypal.com","common_platform_enumeration":"cpe:2.3:a:paypal:paypal:*:*:*:*:*:*:*:*","icon":"PayPal.svg","categories":["Payment processors"]},{"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":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":31635,"size_decoded":10586,"mime_type":"text/html; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (17728)","md5":"672a5fba18a12470f179f89121d558f5","sha1":"a732b0823d0549e28e7f2027069e56bdc7daa40a","sha256":"7c66d5daa9ca59e99f9c9256a899ccc3404810e4c3f33d3d83c899204137072a","sha512":"7be858c1408e2e39b63d94b3229eaef3510400cad20088f872d5e5a9ea45e5ca771d76d74a00995c8271d9f8e75a3c3567dbcf831f13d470f2af68074eb78080","ssdeep":"768:johXMcvpMte3ARANvbj+3NogFbLr23zMaIRzg:IBRMte3ARANvbj+3Nogd23t","tlshash":"99e2f76b980cd315e8968a64bc77f602fd1e131d85a1acd056eec52c10d7ec7e20bbad","first_seen":"2026-07-27T02:51:27.040689Z","last_seen":"2026-07-27T02:52:08.324121Z","times_seen":2,"resource_available":false,"data":"Cgo8IURPQ1RZUEUgaHRtbD4KPGh0bWwgbGFuZz0iZW4iIGRpcj0ibHRyIj4KPGhlYWQ+Cgk8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIG1pbmltdW0tc2NhbGU9MSwgbWF4aW11bS1zY2FsZT0xIj4KCTx0aXRsZT5TY3JlZW5lciB3aWRnZXQ8L3RpdGxlPgoKCTxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9zY2FubmVyLnRyYWRpbmd2aWV3LmNvbSIgY3Jvc3NvcmlnaW4+Cgk8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vczMtc3ltYm9sLWxvZ28udHJhZGluZ3ZpZXcuY29tLyIgY3Jvc3NvcmlnaW4+CgoJPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85OTUyNy4xNWM1YzI1ZDI3YTU2YTBkZjc3Mi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zOTA3MC41NWNiYzdhMWRhOTYzYjM4MjliMy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KCTxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNDY5MDcuYzVhZjhhYTdiNTA4MmIxODc1YTUuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvOTQyMzIuYWI2NzMxYjY5OGE4YzI4NTRhOTAuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzI4MTYuMzU1ZDc1YjIxYWU0YjUzNGE4NDkuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTcwODcuYTVlYWViMzBmN2QyNjlmOTdiNDEuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNDMzMjUuMjU2ZmE1YTUyMTNiOWNiNzBmNWMuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzkwNS42ODJlODllZjJkYzRjNzA0MjNjNi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zNTc5NC4wYTI3M2JhZmM1ZGU1MGEwZDIxZC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8xNTkzMi4yYTcwZDM5N2MzNGYyZTlkZTk0Zi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81NDY4MS5hNzE3MTEwZTY3NDlmMzA3ZWQ2ZC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81MTUwOC43NjcyMTkyODNjNjVmNGQ0Y2E2ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80OTUxOC4wODFmOTYzN2I5NGVlNjJhNmU2Zi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zMjYzMi41OTZlNTM0OGExNTM4YTE4ZmQ0ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8xNTYzNC45ZmY1MDBmNDBjM2VjMjQ5NmE5ZC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC83NTMwNC4xNzQ0OTZkYmY2MmJjOTBkYjU5YS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81MjA5NS5lNmViNTMwYTEzYjJmZWJkMmNkMy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zODAwMi44NmQyODBmZWVhYmFiNjk4MzYwYi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80NDAzMS4yNjkxZmMyYzM0NjgyOTNiZmQxNi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80Mzc5Mi5lMWJkMDYxMTI0MDRmMDkwMWE2Ni5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC83MDM2NC42NDRjYjkzNDQxNjkwYzgyOWFiOS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85NDg4LjA5ZjI2OWY4YjI2YjJiMDBhOGI3LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzM3ODY3LmVjNzMxYWQxMDJkYjY3NjJlNDBjLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzYyNjgxLjY4ODNjNGIxN2U2YTg5ZTRiODdmLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzMwMjAwLjcxZGEwNzZmYjAxOTdlNGQ1OTUzLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzMxMzk2LmRhZGExN2FiYzRhZGJmMDczMTM5LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgoKPHNjcmlwdCBub25jZT0ia28vT1hCMzk3MzFrSFY2QXhyYUJJdz09Ij4KCXdpbmRvdy5sb2NhbGUgPSAnZW4nOwoJd2luZG93Lmxhbmd1YWdlID0gJ2VuJzsKPC9zY3JpcHQ+Cgk8c2NyaXB0IG5vbmNlPSJrby9PWEIzOTczMWtIVjZBeHJhQkl3PT0iPnZhciBlbnZpcm9ubWVudCA9ICJiYXR0bGUiOzwvc2NyaXB0PgoKCTxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvcnVudGltZS1lbWJlZF9zY3JlZW5lcl92MV93aWRnZXQuOWRiZTFiMjgyMTRkN2ExNDcxYmEuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VuLjQ2MDI0Ljk3MTc2YWE0OGZlOWQ5YTBkMTI3LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zMjM4Ny40N2FjZTgzYzYxYTg4NDM0MWNkNi5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTMxNDguMzJjYzAxZGMwMTc1MWI5MTY4MmMuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzQ5MjY1LmMyMDhlZjgzNzllMDczZjk0ZDE2LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC83NTA0LjEyODhkMWQyOGIyZjQ3ZjdhYzQzLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85OTgyNy5kMzk3NmRjMGM1Y2ZhMmMyMTQwZS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzYxNjYuNzYzN2JlMWNmMjUxNDUwNGFjNzkuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzc2NTc3LmY3M2EwMWUxZjAwMDQzNjIyYjY1LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82NTg2Mi45NTc2NDc1MmMwOWYzZjE4Zjg5MC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvODAyMDcuM2U1ZTdkNjhjODc1YjM2N2NhZDAuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzEyMTgxLmI2NWE1ODM1NWZmN2NjMzQ5NTBmLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82MTQ5NS4zN2VlN2QxODJjZjg0Y2FhNzY4MS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzAyODguNTkyMDdhYTI2MDdlYTE1OTcyODcuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VtYmVkX3NjcmVlbmVyX3YxX3dpZGdldC4zYzZkY2I0ODI0MWIzOGFkMjBjZC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+PHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvcnVudGltZS1lbWJlZF9zY3JlZW5lcl92MV93aWRnZXQuOWRiZTFiMjgyMTRkN2ExNDcxYmEuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9lbi40NjAyNC45NzE3NmFhNDhmZTlkOWEwZDEyNy5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzMyMzg3LjQ3YWNlODNjNjFhODg0MzQxY2Q2LmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTMxNDguMzJjYzAxZGMwMTc1MWI5MTY4MmMuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80OTI2NS5jMjA4ZWY4Mzc5ZTA3M2Y5NGQxNi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzc1MDQuMTI4OGQxZDI4YjJmNDdmN2FjNDMuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85OTgyNy5kMzk3NmRjMGM1Y2ZhMmMyMTQwZS5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzM2MTY2Ljc2MzdiZTFjZjI1MTQ1MDRhYzc5LmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNzY1NzcuZjczYTAxZTFmMDAwNDM2MjJiNjUuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82NTg2Mi45NTc2NDc1MmMwOWYzZjE4Zjg5MC5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzgwMjA3LjNlNWU3ZDY4Yzg3NWIzNjdjYWQwLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTIxODEuYjY1YTU4MzU1ZmY3Y2MzNDk1MGYuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82MTQ5NS4zN2VlN2QxODJjZjg0Y2FhNzY4MS5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzMwMjg4LjU5MjA3YWEyNjA3ZWExNTk3Mjg3LmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW1iZWRfc2NyZWVuZXJfdjFfd2lkZ2V0LjNjNmRjYjQ4MjQxYjM4YWQyMGNkLmpzIiBkZWZlcj48L3NjcmlwdD4KCgk8c2NyaXB0IG5vbmNlPSJrby9PWEIzOTczMWtIVjZBeHJhQkl3PT0iPndpbmRvdy5mZWF0dXJlVG9nZ2xlU3RhdGUgPSB7InNob3dfZmVhdHVyZWRfaXBvIjoxLjAsImJsYWNrX2ZyaWRheV9wb3B1cCI6MS4wLCJibGFja19mcmlkYXlfbWFpbnBhZ2UiOjEuMCwiYmxhY2tfZnJpZGF5X2V4dGVuZF9saW1pdGF0aW9uIjoxLjAsImVuYWJsZV90cmFkaW5nX3JlcGxheV9mb3JfcG9pbnRfaW5kZXhlcyI6MS4wLCJpbmNyZWFzZV9tZXRhaW5mb192ZXJzaW9uIjowLjMsImNoYXJ0X2F1dG9zYXZlXzVtaW4iOjEuMCwiY2hhcnRfYXV0b3NhdmVfMzBtaW4iOjEuMCwicGVyZm9ybWFuY2VfdGVzdF9tb2RlIjoxLjAsImNoZWNrX2F1dGhfdG9rZW5fZXhwaXJhdGlvbl9vbl9ldmVyeV9yZXF1ZXN0IjoxLjAsImNoYXJ0X3N0b3JhZ2VfaGliZXJuYXRpb25fZGVsYXlfNjBtaW4iOjEuMCwic3VwcG9ydF9wZXJzaXN0ZW50X2xvZ3MiOjEuMCwibmV3X3N0b3JhZ2Vfc3Vic2NyaXB0aW9uX3VybCI6MS4wLCJyZW1vdmVfYW5jaG9yZWRfdGV4dCI6MS4wLCJlbmFibGVfc3RlcF9ieV9zdGVwX2hpbnRzX2Zvcl9kcmF3aW5ncyI6MS4wLCJwdXNoc3RyZWFtX2Jhc2ljX3RlbGVtZXRyeSI6MS4wLCJhbGxvd19icmFja2V0c19wcm9maXRfbG9zcyI6MS4wLCJlbmFibGVfdHJhZGVkX2NvbnRleHRfbGlua2luZyI6MS4wLCJvcmRlcl9jb250ZXh0X3ZhbGlkYXRpb25faW5faW5zdGFudF9tb2RlIjoxLjAsImFsZXJ0cy1vbi1mdW5kYW1lbnRhbC1tZXRyaWNzIjoxLjAsImFsZXJ0cy1ub3RpZmljYXRpb24tc2NoZWR1bGUiOjEuMCwiYWxlcnRzLXdhdGNobGlzdC1leHRlbmRlZC1ob3VycyI6MS4wLCJlbmFibGVfc3ltYm9sX2NoYW5nZV9yZXN0cmljdGlvbl9vbl93aWRnZXRzIjoxLjAsImVuYWJsZV9hc3hfc3ltYm9sX3Jlc3RyaWN0aW9uIjoxLjAsInN5bXBob255X2FsbG93X25vbl9wYXJ0aXRpb25lZF9jb29raWVfb25fb2xkX3N5bXBob255IjoxLjAsInN5bXBob255X25vdGlmaWNhdGlvbl9iYWRnZXMiOjEuMCwic3ltcGhvbnlfdXNlX2Fka19mb3JfdXBncmFkZV9yZXF1ZXN0IjoxLjAsInN5bXBob255X2VuYWJsZV90aW1lb3V0X3RyYWNraW5nIjoxLjAsInN5bXBob255X2VuYWJsZV90aW1lb3V0X3NvZnRfbGltaXQiOjEuMCwic3ltcGhvbnlfZW5hYmxlX3RpbWVvdXRfaGFyZF9saW1pdCI6MS4wLCJ0ZWxlZ3JhbV9taW5pX2FwcF9yZWR1Y2Vfc25hcHNob3RfcXVhbGl0eSI6MS4wLCJuZXdzX3N5bWJvbF9vdmVydmlld19rZXlfZmFjdHMiOjEuMCwidGltZW91dF9kamFuZ29fZGIiOjAuMTUsInRpbWVvdXRfZGphbmdvX3VzZXJzZXR0aW5nc19kYiI6MC4xNSwidGltZW91dF9kamFuZ29fY2hhcnRzX2RiIjowLjI1LCJ0aW1lb3V0X2RqYW5nb19zeW1ib2xzX2xpc3RzX2RiIjowLjI1LCJ0aW1lb3V0X2RqYW5nb19taW5kc19kYiI6MC4wNSwidGltZW91dF9kamFuZ29fbG9nZ2luZ19kYiI6MC4yNSwiZGlzYWJsZV9zZXJ2aWNlc19tb25pdG9yX21ldHJpY3MiOjEuMCwiZW5hYmxlX3NpZ25pbl9yZWNhcHRjaGEiOjEuMCwiZW5hYmxlX2lkZWFfc3BhbWRldGVjdG9ybWwiOjEuMCwiZW5hYmxlX2lkZWFfc3BhbWRldGVjdG9ybWxfY29tbWVudHMiOjEuMCwiZW5hYmxlX3NwYW1kZXRlY3Rvcm1sX2NoYXQiOjEuMCwiZW5hYmxlX21pbmRzX3NwYW1kZXRlY3Rvcm1sIjoxLjAsImJhY2tlbmQtY29ubmVjdGlvbnMtaW4tdG9rZW4iOjEuMCwib25lX2Nvbm5lY3Rpb25fd2l0aF9leGNoYW5nZXMiOjEuMCwibW9iaWxlLWFkcy1pb3MiOjEuMCwibW9iaWxlLWFkcy1hbmRyb2lkIjoxLjAsImdvb2dsZS1vbmUtdGFwLXNpZ25pbiI6MS4wLCJicmFpbnRyZWUtZ29wcm8taW4tb3JkZXItZGlhbG9nIjoxLjAsImJyYWludHJlZS1hcHBsZS1wYXkiOjEuMCwiYnJhaW50cmVlLWdvb2dsZS1wYXkiOjEuMCwiYnJhaW50cmVlLWFwcGxlLXBheS1mcm9tLWlvcy1hcHAiOjEuMCwiYnJhaW50cmVlLWFwcGxlLXBheS10cmlhbCI6MS4wLCJ0cmlwbGVhLXBheW1lbnRzIjoxLjAsImJyYWludHJlZS1nb29nbGUtcGF5LXRyaWFsIjoxLjAsImJyYWludHJlZS1vbmUtdXNkLXZlcmlmaWNhdGlvbiI6MS4wLCJicmFpbnRyZWUtM2RzLWVuYWJsZWQiOjEuMCwiYnJhaW50cmVlLTNkcy1zdGF0dXMtY2hlY2siOjEuMCwiYnJhaW50cmVlLWFkZGl0aW9uYWwtY2FyZC1jaGVja3MtZm9yLXRyaWFsIjoxLjAsImJyYWludHJlZS1pbnN0YW50LXNldHRsZW1lbnQiOjEuMCwiYnJhaW50cmVlX3JlY3VycmluZ19iaWxsaW5nX3NjaGVkdWxlcl9zdWJzY3JpcHRpb24iOjEuMCwiY2hlY2tvdXRfbWFudWFsX2NhcHR1cmVfcmVxdWlyZWQiOjEuMCwiY2hlY2tvdXQtc3Vic2NyaXB0aW9ucyI6MS4wLCJjaGVja291dF9hZGRpdGlvbmFsX2NhcmRfY2hlY2tzX2Zvcl90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2R1cGxpY2F0ZV9wYXltZW50X21ldGhvZHNfZm9yX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fYmFubmVkX2NvdW50cmllc19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfcHJlbWl1bV90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2Nsb3NlX3RvX2V4cGlyYXRpb25fY2FyZF90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX3ByZXBhaWRfY2FyZF90cmlhbCI6MS4wLCJyZXZvbHV0X2FkZGl0aW9uYWxfY2FyZF9jaGVja3NfZm9yX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9kdXBsaWNhdGVfcGF5bWVudF9tZXRob2RzX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fYmFubmVkX2NvdW50cmllc19mb3JfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Jhbm5lZF9iYW5rX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fYmFubmVkX2JhbmtfZm9yX3ByZW1pdW1fdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Nsb3NlX3RvX2V4cGlyYXRpb25fY2FyZF90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fcHJlcGFpZF9jYXJkX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9jb21tZXJjaWFsX2NhcmRfdHJpYWwiOjEuMCwiZW5hYmxlX3BheW1lbnRzXzNkc19vcHRpbWl6YXRpb24iOjEuMCwiY291bnRyeV9vZl9pc3N1YW5jZV92c19iaWxsaW5nX2NvdW50cnkiOjEuMCwiY2hlY2tvdXRfc2hvd19pbnN0ZWFkX29mX2JyYWludHJlZSI6MS4wLCJjaGVja291dC0zZHMiOjEuMCwiY2hlY2tvdXQtcGF5cGFsIjoxLjAsImNoZWNrb3V0X2luY2x1ZGVfYWNjb3VudF9ob2xkZXIiOjEuMCwiY2hlY2tvdXQtcGF5cGFsLXRyaWFsIjoxLjAsImFubnVhbF90b19tb250aGx5X2Rvd25ncmFkZV9hdHRlbXB0IjoxLjAsInJhem9ycGF5X3RyaWFsXzEwX2luciI6MS4wLCJyYXpvcnBheS1jYXJkLW9yZGVyLXRva2VuLXNlY3Rpb24iOjEuMCwicmF6b3JwYXktY2FyZC1zdWJzY3JpcHRpb25zIjoxLjAsInJhem9ycGF5LXVwaS1zdWJzY3JpcHRpb25zIjoxLjAsInJhem9ycGF5LXMzLWludm9pY2UtdXBsb2FkIjoxLjAsInJhem9ycGF5X2luY2x1ZGVfZGF0ZV9vZl9iaXJ0aCI6MS4wLCJkbG9jYWwtcGF5bWVudHMiOjEuMCwicmV2b2x1dC1wYXktcGF5bWVudHMiOjEuMCwicmV2b2x1dC1jYXJkLXBheW1lbnRzIjowLjUsImRsb2NhbC1waXgtYXV0b21hdGljbyI6MS4wLCJicmFpbnRyZWVfdHJhbnNhY3Rpb25fc291cmNlIjoxLjAsInZlcnRleC10YXgiOjEuMCwidmVydGV4LXRheC1maXgiOjEuMCwicmVjZWlwdF9pbl9lbWFpbHMiOjEuMCwiYWR3b3Jkcy1hbmFseXRpY3MiOjEuMCwiY20zNjAtYW5hbHl0aWNzIjoxLjAsImRpc2FibGVfbW9iaWxlX3Vwc2VsbF9pb3MiOjEuMCwiZGlzYWJsZV9tb2JpbGVfdXBzZWxsX2FuZHJvaWQiOjEuMCwicmVxdWlyZWRfYWdyZWVtZW50X2Zvcl9ydCI6MS4wLCJjaGVja19tYXJrZXRfZGF0YV9saW1pdHMiOjEuMCwiZm9yY2VfdG9fY29tcGxldGVfZGF0YSI6MS4wLCJmb3JjZV90b191cGdyYWRlX3RvX2V4cGVydCI6MS4wLCJzZW5kX3RyYWRldmFuX2ludm9pY2UiOjEuMCwic2hvd19wZXBlX2FuaW1hdGlvbiI6MS4wLCJzZW5kX25leHRfcGF5bWVudF9pbmZvX3JlY2VpcHQiOjEuMCwic3VwcG9ydF9vdmVybmlnaHRfc2Vzc2lvbiI6MS4wLCJzY3JlZW5lci1hbGVydHMtcmVhZC1vbmx5IjoxLjAsInNjcmVlbmVyX2JvbmRfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX3N0b2NrX2FpX2ZpbHRlcnNfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9pc19hbGxvd2VkX3RvX2NyZWF0ZV9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfcmF0aW5nX2NvbHVtbnNfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfc29ydGluZ19yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9ncm91cF9ieV9pc2luX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3N5bWJvbF9zZWFyY2hfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfcmVnaXN0cmF0aW9uX2Jhbm5lcl9yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2VzX3RyYWNraW5nIjoxLjAsInNlbmRfZmluYW5jaWFsX25vdGlmaWNhdGlvbnMiOjEuMCwic3BhcmtfdHJhbnNsYXRpb25zIjoxLjAsInNwYXJrX2NhdGVnb3J5X3RyYW5zbGF0aW9ucyI6MS4wLCJzcGFya190YWdzX3RyYW5zbGF0aW9ucyI6MS4wLCJwcm9fcGxhbl9pbml0aWFsX3JlZnVuZHNfZGlzYWJsZWQiOjEuMCwicHJldmlvdXNfbW9ub3Byb2R1Y3RfcHVyY2hhc2VzX3JlZnVuZHNfZW5hYmxlZCI6MS4wLCJlbmFibGVfaWRlYXNfcmVjb21tZW5kYXRpb25zIjoxLjAsImVuYWJsZV9pZGVhc19yZWNvbW1lbmRhdGlvbnNfZmVlZCI6MS4wLCJmYWlsX29uX2R1cGxpY2F0ZV9wYXltZW50X21ldGhvZHNfZm9yX3RyaWFsIjoxLjAsImV0aG9jYV9hbGVydF9ub3RpZmljYXRpb25fd2ViaG9vayI6MS4wLCJoaWRlX3N1c3BpY2lvdXNfdXNlcnNfaWRlYXMiOjEuMCwiZGlzYWJsZV9wdWJsaXNoX3N0cmF0ZWd5X3JhbmdlX2Jhc2VkX2NoYXJ0IjoxLjAsInJlc3RyaWN0X3NpbXVsdGFuZW91c19yZXF1ZXN0cyI6MS4wLCJsb2dpbl9mcm9tX25ld19kZXZpY2VfZW1haWwiOjEuMCwic3NyX3dvcmtlcl9ub3dhaXQiOjEuMCwiYnJva2VyX0ExQ0FQSVRBTCI6MS4wLCJicm9rZXJfQUNUSVZUUkFERVMiOjEuMCwiYnJva2VyX0FMQ0hFTVlNQVJLRVRTIjoxLjAsImJyb2tlcl9BTElDRUJMVUUiOjEuMCwiaGlkZV9BTE9SX29uX2lvcyI6MS4wLCJoaWRlX0FMT1Jfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0FMT1Jfb25fbW9iaWxlX3dlYiI6MS4wLCJhbG9yLWJyb2tlcnMtc2lkZS1tYWludGVuYW5jZSI6MS4wLCJicm9rZXJfQUxQQUNBIjoxLjAsImJyb2tlcl9BTFJBTVoiOjEuMCwiYnJva2VyX0FNUCI6MS4wLCJicm9rZXJfQU5HRUxPTkUiOjEuMCwiYnJva2VyX0FWQV9GVVRVUkVTIjoxLjAsIkFWQV9GVVRVUkVTX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX0IyUFJJTUUiOjEuMCwiYnJva2VyX0JBSkFKIjoxLjAsImJyb2tlcl9CRVlPTkQiOjEuMCwiYnJva2VyX0JJTkFOQ0UiOjEuMCwiZW5hYmxlX2JpbmFuY2VhcGlzX2Jhc2VfdXJsIjoxLjAsImJyb2tlcl9CSU5HQk9OIjoxLjAsImJyb2tlcl9CSVRBWlpBIjoxLjAsImJyb2tlcl9CSVRHRVQiOjEuMCwiYnJva2VyX0JJVE1FWCI6MS4wLCJicm9rZXJfQklUU1RBTVAiOjEuMCwiYnJva2VyX0JMQUNLQlVMTCI6MS4wLCJicm9rZXJfQkxVRUJFUlJZTUFSS0VUUyI6MS4wLCJicm9rZXJfQlRDQyI6MS4wLCJicm9rZXJfQllCSVQiOjEuMCwiYnJva2VyX0NBUElUQUxDT00iOjEuMCwiYnJva2VyX0NBUFRSQURFUiI6MS4wLCJDQVBUUkFERVJfc2VwYXJhdGVfaW50ZWdyYXRpb25fbWlncmF0aW9uX3dhcm5pbmciOjEuMCwiYnJva2VyX0NGSSI6MS4wLCJicm9rZXJfQ0dTSSI6MS4wLCJicm9rZXJfQ0lUWUlOREVYIjoxLjAsImNpdHlpbmRleF9zcHJlYWRiZXR0aW5nIjoxLjAsIkNMRUFSU1RSRUVUX2JldGEiOjEuMCwiYnJva2VyX0NNQ01BUktFVFMiOjEuMCwiYnJva2VyX0NPQlJBVFJBRElORyI6MS4wLCJicm9rZXJfQ09JTkJBU0UiOjEuMCwiY29pbmJhc2VfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImNvaW5iYXNlX2NhbmNlbF9wb3NpdGlvbl9icmFja2V0cyI6MS4wLCJicm9rZXJfQ09JTkpBUiI6MS4wLCJDT0lOSkFSX2JldGEiOjEuMCwiYnJva2VyX0NPSU5TV0lUQ0giOjEuMCwiYnJva2VyX0NPSU5XIjoxLjAsImJyb2tlcl9DT0xNRVgiOjEuMCwiaGlkZV9DUUdfb25faW9zIjoxLjAsImhpZGVfQ1FHX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9DUUdfb25fbW9iaWxlX3dlYiI6MS4wLCJjcWctcmVhbHRpbWUtYmFuZHdpZHRoLWxpbWl0IjoxLjAsImJyb2tlcl9DUllQVE9DT00iOjEuMCwiaGlkZV9DVVJSRU5DWUNPTV9vbl9pb3MiOjEuMCwiaGlkZV9DVVJSRU5DWUNPTV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfQ1VSUkVOQ1lDT01fb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfQ1hNIjoxLjAsImJyb2tlcl9EQU9MIjoxLjAsImJyb2tlcl9EQVJXSU5FWCI6MS4wLCJEQVJXSU5FWF9iZXRhIjoxLjAsImJyb2tlcl9ERUxUQSI6MS4wLCJicm9rZXJfREVSQVlBSCI6MS4wLCJicm9rZXJfREVSSVYiOjEuMCwiYnJva2VyX0RIQU4iOjEuMCwiYnJva2VyX0ROU0UiOjEuMCwiYnJva2VyX0RPUk1BTiI6MS4wLCJoaWRlX0RVTU1ZX29uX2lvcyI6MS4wLCJoaWRlX0RVTU1ZX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9EVU1NWV9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9FQVNZTUFSS0VUUyI6MS4wLCJicm9rZXJfRUNPVkFMT1JFUyI6MS4wLCJicm9rZXJfRURHRUNMRUFSIjoxLjAsImVkZ2VjbGVhcl9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJyb2tlcl9FSUdIVENBUCI6MS4wLCJicm9rZXJfRVJSQU5URSI6MS4wLCJicm9rZXJfRVNBRlgiOjEuMCwiRklERUxJVFlfYmV0YSI6MS4wLCJGSURFTElUWV91c19yZWxlYXNlIjowLjI1LCJmaWRlbGl0eV9zZWN1cml0eV90b2tlbiI6MS4wLCJicm9rZXJfRk9SRVhDT00iOjEuMCwiZm9yZXhjb21fc2Vzc2lvbl92MiI6MS4wLCJicm9rZXJfRlBNQVJLRVRTIjoxLjAsImhpZGVfRlRYX29uX2lvcyI6MS4wLCJoaWRlX0ZUWF9vbl9hbmRyb2lkIjoxLjAsImhpZGVfRlRYX29uX21vYmlsZV93ZWIiOjEuMCwiZnR4X3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJicm9rZXJfRlVTSU9OTUFSS0VUUyI6MS4wLCJmeGNtX3NlcnZlcl9sb2dnZXIiOjEuMCwiYnJva2VyX0ZYQ00iOjEuMCwiaGlkZV9GWE9QRU5fb25faW9zIjoxLjAsImhpZGVfRlhPUEVOX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9GWE9QRU5fb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfRlhQUk8iOjEuMCwiYnJva2VyX0ZYVEYiOjEuMCwiYnJva2VyX0ZZRVJTIjoxLjAsImJyb2tlcl9HQVRFIjoxLjAsImJyb2tlcl9HQkVCUk9LRVJTIjoxLjAsImdlbWluaS1icm9rZXJzLXNpZGUtbWFpbnRlbmFuY2UiOjEuMCwiYnJva2VyX0dFTklBTElOVkVTVElNRU5UT1MiOjEuMCwiaGlkZV9HTE9CQUxQUklNRV9vbl9pb3MiOjEuMCwiaGlkZV9HTE9CQUxQUklNRV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfR0xPQkFMUFJJTUVfb25fbW9iaWxlX3dlYiI6MS4wLCJnbG9iYWxwcmltZS1icm9rZXJzLXNpZGUtbWFpbnRlbmFuY2UiOjEuMCwiYnJva2VyX0dPTUFSS0VUUyI6MS4wLCJicm9rZXJfR09UUkFERSI6MS4wLCJnb3RyYWRlX2VuYWJsZV9zdHJlYW1pbmdfZW5kcG9pbnRzIjoxLjAsImJyb2tlcl9IRVJFTllBIjoxLjAsImhpZGVfSFRYX29uX2lvcyI6MS4wLCJoaWRlX0hUWF9vbl9hbmRyb2lkIjoxLjAsImhpZGVfSFRYX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0lCS1IiOjEuMCwiY2hlY2tfaWJrcl9zaWRlX21haW50ZW5hbmNlIjoxLjAsImlia3JfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImlia3JfcGFyYWxsZWxfcHJvdmlkZXJfaW5pdGlhbGl6YXRpb24iOjEuMCwiaWJrcl93c19hY2NvdW50X3N1bW1hcnkiOjEuMCwiaWJrcl93c19zZXJ2ZXJfbG9nZ2VyIjoxLjAsImlia3Jfc3Vic2NyaWJlX3RvX29yZGVyX3VwZGF0ZXNfZmlyc3QiOjEuMCwiaWJrcl93c19hY2NvdW50X2xlZGdlciI6MS4wLCJicm9rZXJfSUJST0tFUiI6MS4wLCJicm9rZXJfSUNNQVJLRVRTIjoxLjAsImJyb2tlcl9JQ01BUktFVFNfQVNJQyI6MS4wLCJicm9rZXJfSUNNQVJLRVRTX0VVIjoxLjAsImJyb2tlcl9JRyI6MS4wLCJicm9rZXJfSU5EU1RPQ0tTIjoxLjAsImJyb2tlcl9JTkZPWUFUSVJJTSI6MS4wLCJicm9rZXJfSU5OT1ZFU1RYIjoxLjAsImJyb2tlcl9JTlRFUkFDVElWRUlMIjoxLjAsImJyb2tlcl9JTlZFU1RSQURFIjoxLjAsIklOVkVTVFJBREVfYmV0YSI6MS4wLCJicm9rZXJfSVJPTkJFQU0iOjEuMCwiaGlkZV9JUk9OQkVBTV9DUUdfb25faW9zIjoxLjAsImhpZGVfSVJPTkJFQU1fQ1FHX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9JUk9OQkVBTV9DUUdfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfS0lXT09NIjoxLjAsImtpd29vbV91c2Vfc2VwYXJhdGVfc3RyZWFtaW5nX3VybCI6MS4wLCJicm9rZXJfS09UQUsiOjEuMCwiaGlkZV9LT1RBS19vbl9pb3MiOjEuMCwiaGlkZV9LT1RBS19vbl9hbmRyb2lkIjoxLjAsImhpZGVfS09UQUtfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfS1JBS0VOIjoxLjAsImhpZGVfS1JBS0VOX29uX2lvcyI6MS4wLCJoaWRlX0tSQUtFTl9vbl9hbmRyb2lkIjoxLjAsIktSQUtFTl9iZXRhIjoxLjAsImtyYWtlbl9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwiYnJva2VyX0tTRUNVUklUSUVTIjoxLjAsImJyb2tlcl9MSUJFUkFUT1IiOjEuMCwiYnJva2VyX01FWEMiOjEuMCwiYnJva2VyX01FWEVNIjoxLjAsImJyb2tlcl9NSURBUyI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfb25faW9zIjoxLjAsImhpZGVfTU9DS0JST0tFUl9vbl9hbmRyb2lkIjoxLjAsImhpZGVfTU9DS0JST0tFUl9vbl9tb2JpbGVfd2ViIjoxLjAsImhpZGVfTU9DS0JST0tFUl9JTVBMSUNJVF9vbl9pb3MiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0lNUExJQ0lUX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0lNUExJQ0lUX29uX21vYmlsZV93ZWIiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0NPREVfb25faW9zIjoxLjAsImhpZGVfTU9DS0JST0tFUl9DT0RFX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0NPREVfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfTU9PTU9PIjoxLjAsImJyb2tlcl9NT1RJTEFMT1NXQUwiOjEuMCwiYnJva2VyX05JTkpBVFJBREVSIjoxLjAsImJyb2tlcl9PQU5EQSI6MS4wLCJvYW5kYV9zZXJ2ZXJfbG9nZ2luZyI6MS4wLCJvYW5kYV9vYXV0aF9tdWx0aXBsZXhpbmciOjEuMCwiYnJva2VyX09LWCI6MS4wLCJicm9rZXJfT1BPRklOQU5DRSI6MS4wLCJicm9rZXJfT1BUSU1VUyI6MS4wLCJicm9rZXJfT1NNQU5MSSI6MS4wLCJicm9rZXJfT1NNQU5MSUZYIjoxLjAsInBhcGVyX2ZvcmNlX2Nvbm5lY3RfcHVzaHN0cmVhbSI6MS4wLCJwYXBlcl9zdWJhY2NvdW50X2N1c3RvbV9jdXJyZW5jeSI6MS4wLCJwYXBlcl9vdXRzaWRlX3J0aCI6MS4wLCJicm9rZXJfUEFZVE0iOjEuMCwiYnJva2VyX1BFUFBFUlNUT05FIjoxLjAsImJyb2tlcl9QSEVNRVgiOjEuMCwiYnJva2VyX1BISUxMSVBDQVBJVEFMX1RSIjoxLjAsImJyb2tlcl9QSElMTElQTk9WQSI6MS4wLCJicm9rZXJfUExVUzUwMCI6MS4wLCJwbHVzNTAwX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiUExVUzUwMFVTX2JldGEiOjEuMCwiYnJva2VyX1BVUlBMRVRSQURJTkciOjEuMCwiYnJva2VyX1FVRVNUUkFERSI6MS4wLCJicm9rZXJfUkFWQUJVUlNBVElMIjoxLjAsIlJBVkFCVVJTQVRJTF9iZXRhIjoxLjAsImJyb2tlcl9SSVlBRENBUElUQUwiOjEuMCwiYnJva2VyX1JPQk9NQVJLRVRTIjoxLjAsImJyb2tlcl9SRVBMQVlCUk9LRVIiOjEuMCwiYnJva2VyX1NBTVVFTCI6MS4wLCJicm9rZXJfU0FYT0JBTksiOjEuMCwiYnJva2VyX1NIQVJFTUFSS0VUIjoxLjAsImJyb2tlcl9TS0lMTElORyI6MS4wLCJicm9rZXJfU1BSRUFERVgiOjEuMCwiYnJva2VyX1NXSVNTUVVPVEUiOjEuMCwiYnJva2VyX1NUT05FWCI6MS4wLCJicm9rZXJfVEFTVFlGWCI6MS4wLCJicm9rZXJfVEFTVFlUUkFERSI6MS4wLCJicm9rZXJfVEhJTktNQVJLRVRTIjoxLjAsInRoaW5rbWFya2V0c19hY2NvdW50X2RhdGFfc3RyZWFtaW5nIjoxLjAsImJyb2tlcl9USUNLTUlMTCI6MS4wLCJoaWRlX1RJR0VSX29uX2lvcyI6MS4wLCJoaWRlX1RJR0VSX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9USUdFUl9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9UUkFERU5BVElPTiI6MS4wLCJicm9rZXJfVFJBREVTVEFUSU9OIjoxLjAsInRyYWRlc3RhdGlvbl9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwidHJhZGVzdGF0aW9uX2FjY291bnRfZGF0YV9zdHJlYW1pbmciOjEuMCwidHJhZGVzdGF0aW9uX3N0cmVhbWluZ19zZXJ2ZXJfbG9nZ2luZyI6MS4wLCJicm9rZXJfVFJBREVaRVJPIjoxLjAsImJyb2tlcl9UUkFESUVSIjoxLjAsImJyb2tlcl9UUkFESUVSX0ZVVFVSRVMiOjEuMCwidHJhZGllcl9mdXR1cmVzX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX1RSQURPVkFURSI6MS4wLCJoaWRlX1RSQURVX29uX2lvcyI6MS4wLCJoaWRlX1RSQURVX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9UUkFEVV9vbl9tb2JpbGVfd2ViIjoxLjAsInRyYWR1X3NwcmVhZF9iZXQiOjEuMCwiYnJva2VyX1RSSVZFIjoxLjAsImJyb2tlcl9WQU5UQUdFIjoxLjAsImJyb2tlcl9WRUxPQ0lUWSI6MS4wLCJicm9rZXJfV0VCVUxMIjoxLjAsImJyb2tlcl9XRUJVTExKQVBBTiI6MS4wLCJicm9rZXJfV0VCVUxMUEFZIjoxLjAsImJyb2tlcl9XRUJVTExVSyI6MS4wLCJicm9rZXJfV0hJVEVCSVQiOjEuMCwiYnJva2VyX1dIU0VMRklOVkVTVCI6MS4wLCJicm9rZXJfV0hTRUxGSU5WRVNUX0ZVVFVSRVMiOjEuMCwiV0hTRUxGSU5WRVNUX0ZVVFVSRVNfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJicm9rZXJfWENVQkUiOjEuMCwiYnJva2VyX1lMRyI6MS4wLCJicm9rZXJfaWRfc2Vzc2lvbiI6MS4wLCJkaXNhbGxvd19jb25jdXJyZW50X3Nlc3Npb25zIjoxLjAsInVzZV9jb2RlX2Zsb3dfdjJfcHJvdmlkZXIiOjEuMCwidXNlX2NvZGVfZmxvd192Ml9wcm92aWRlcl9mb3JfdW50ZXN0ZWRfYnJva2VycyI6MS4wLCJtb2JpbGVfdHJhZGluZ193ZWIiOjEuMCwibW9iaWxlX3RyYWRpbmdfaW9zIjoxLjAsIm1vYmlsZV90cmFkaW5nX2FuZHJvaWQiOjEuMCwiY29udGludW91c19mcm9udF9jb250cmFjdF90cmFkaW5nIjoxLjAsInRyYWRpbmdfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsInJlc3RfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsIm9hdXRoMl9jb2RlX2Zsb3dfcHJvdmlkZXJfc2VydmVyX2xvZ2dlciI6MS4wLCJyZXN0X29hdXRoMl9jb2RlX2Zsb3dfbXVsdGlwbGV4aW5nIjoxLjAsInJlc3RfbG9nb3V0X29uXzQyOSI6MS4wLCJyZXZpZXdfcG9wdXBfb25fY2hhcnQiOjEuMCwic2hvd19jb25jdXJyZW50X2Nvbm5lY3Rpb25fd2FybmluZyI6MS4wLCJlbmFibGVfdHJhZGluZ19zZXJ2ZXJfbG9nZ2VyIjoxLjAsIm9yZGVyX3ByZXNldHMiOjEuMCwib3JkZXJfdGlja2V0X3Jlc2l6YWJsZV9kcmF3ZXJfb24iOjEuMCwicmVzdF91c2VfYXN5bmNfbWFwcGVyIjoxLjAsInBhcGVyX2NvbXBldGl0aW9uX2Jhbm5lcl9zaG93X3BybyI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9zdGFydGVkX2RpYWxvZyI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9zdGFydGVkX2RpYWxvZ19zaG93X3BybyI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9sZWFkZXJib2FyZCI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9wcmV2aW91c19jb21wZXRpdGlvbnMiOjEuMCwiYW1wX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYmx1ZWxpbmVfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJkb3JtYW5fb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJpcm9uYmVhbV9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsIm9wdGltdXNfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJzdG9uZXhfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJ5bGdfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJ0cmFkaW5nX2dlbmVyYWxfZXZlbnRzX2dhX3RyYWNraW5nIjoxLjAsInJlcGxheV9yZXN1bHRfc2hhcmluZyI6MS4wLCJyZXBsYXlfdHJhZGluZ19icmFja2V0cyI6MS4wLCJoaWRlX2FsbF9icm9rZXJzX2J1dHRvbl9pbl9pb3NfYXBwIjoxLjAsImZvcmNlX21heF9hbGxvd2VkX3B1bGxpbmdfaW50ZXJ2YWxzIjoxLjAsInBhcGVyX2RlbGF5X3RyYWRpbmciOjEuMCwiZW5hYmxlX2ZpcnN0X3RvdWNoX2lzX3NlbGVjdGlvbiI6MS4wLCJjbGVhcl9wcm9qZWN0X29yZGVyX29uX29yZGVyX3RpY2tldF9jbG9zZSI6MS4wLCJlbmFibGVfbmV3X2JlaGF2aW9yX29mX2NvbmZpcm1fYnV0dG9uc19vbl9tb2JpbGUiOjEuMCwicmVuZXdfdG9rZW5fcHJlZW1wdGlvbl8zMCI6MS4wLCJkb19ub3Rfb3Blbl9vdF9mcm9tX3BsdXNfYnV0dG9uIjoxLjAsImJyb2tlcl9zaWRlX3Byb21vdGlvbiI6MS4wLCJlbmFibGVfbmV3X3RyYWRpbmdfbWVudV9zdHJ1Y3R1cmUiOjEuMCwicXVpY2tfdHJhZGluZ19wYW5lbCI6MS4wLCJwYXBlcl9vcmRlcl9jb25maXJtYXRpb25fZGlhbG9nIjoxLjAsInBhcGVyX211bHRpcGxlX2xldmVsc19lbmFibGVkIjoxLjAsInBhcGVyX21hcmdpbl9jb250cm9sIjoxLjAsImVuYWJsZV9zZWdtZW50YXRpb25fcGFwZXJfdHJhZGluZyI6MS4wLCJlbmFibGVfY2hhcnRfYWRhcHRpdmVfdHBzbF9idXR0b25zX29uX21vYmlsZSI6MS4wLCJlbmFibGVfbWFya2V0X3Byb2plY3Rfb3JkZXIiOjEuMCwiZW5hYmxlX3N5bWJvbHNfcG9wdWxhcml0eV9zaG93aW5nIjoxLjAsImVuYWJsZV90cmFuc2xhdGlvbnNfczNfdXBsb2FkIjoxLjAsImV0Zl9mdW5kX2Zsb3dzX29ubHlfZGF5c19yZXNvbHV0aW9ucyI6MS4wLCJkaXNhYmxlX3Nub3dwbG93X3BsYXRmb3JtX2V2ZW50cyI6MS4wLCJub3RpZnlfaWRlYV9tb2RzX2Fib3V0X2ZpcnN0X3B1YmxpY2F0aW9uIjoxLjAsImVuYWJsZV93YWZfdHJhY2tpbmciOjEuMCwibmV3X2Vycm9yc19mbG93IjoxLjAsInF1b3RlLXRva2VuLWZpbHRlci1vd24tc2NyaXB0cy1ieS1hY2Nlc3MiOjEuMCwia2VlcF9pbmRpY2F0b3JzX3NlYXJjaF9zdGF0ZSI6MS4wLCJrZWVwX2luZGljYXRvcnNfdGFiX3Njcm9sbF9zdGF0ZSI6MS4wLCJjb25maWd1cmFibGVfc2VhcmNoX2FuZF9maWx0cmF0aW9uIjoxLjAsInBpbmVfZWRpdG9yX3dyYXBfb25fbGluZV9zcGxpdCI6MS4wLCJzeW1ib2xfc2VhcmNoX2NvdW50cnlfc291cmNlcyI6MS4wLCJ3YXRjaGxpc3RzX2RpYWxvZ19zY3JvbGxfdG9fYWN0aXZlIjoxLjAsImJvdHRvbV9wYW5lbF90cmFja19ldmVudHMiOjEuMCwic25vd3Bsb3dfYmVhY29uX2ZlYXR1cmUiOjEuMCwic2hvd19kYXRhX3Byb2JsZW1zX2luX2hlbHBfY2VudGVyIjoxLjAsImVuYWJsZV9hcHBsZV9kZXZpY2VfY2hlY2siOjEuMCwiZW5hYmxlX2FwcGxlX2ludHJvX29mZmVyX3NpZ25hdHVyZSI6MS4wLCJlbmFibGVfYXBwbGVfcHJvbW9fb2ZmZXJfc2lnbmF0dXJlX3YyIjoxLjAsImVuYWJsZV9hcHBsZV9wcm9tb19zaWduYXR1cmUiOjEuMCwiZW5hYmxlX3B1c2hfbm90aWZpY2F0aW9uc19hbmRyb2lkIjoxLjAsImVuYWJsZV9wdXNoX25vdGlmaWNhdGlvbnNfaW9zIjoxLjAsImVuYWJsZV9tYW50aWNvcmVfY2x1c3RlciI6MS4wLCJlbmFibGVfcHVzaHN0cmVhbV9hdXRoIjoxLjAsImVuYWJsZV9lbnZveV9wcm94eSI6MS4wLCJlbmFibGVfZW52b3lfcHJveHlfcGFwZXJ0cmFkaW5nIjoxLjAsImVuYWJsZV9lbnZveV9wcm94eV9zY3JlZW5lciI6MS4wLCJvcHRpb25zX3JlZHVjZV9wb2xsaW5nX2ludGVydmFsIjoxLjAsIm9wdGlvbnNfYnVpbGRlcl9ncm91cF9hY3Rpb25zIjoxLjAsIm9wdGlvbnNfY2hhaW5fc2lnbWFfZmlsdGVyIjoxLjAsIm9wdGlvbnNfYnJva2VyX3N0cmF0ZWdpZXMiOjEuMCwic2hvd190b2FzdF9hYm91dF91bnJlYWRfbWVzc2FnZSI6MS4wLCJlbmFibGVfcGFydG5lcl9wYXlvdXQiOjEuMCwiZW5hYmxlX2VtYWlsX2NoYW5nZV9sb2dnaW5nIjoxLjAsImVuYWJsZV9lbWFpbF9vbl9wYXJ0bmVyX3N0YXR1c19jaGFuZ2UiOjEuMCwiZW5hYmxlX3BhcnRuZXJfcHJvZ3JhbV9hcHBseSI6MS4wLCJlbmFibGVfcGFydG5lcl9wcm9ncmFtIjoxLjAsImNvbXByZXNzX2NhY2hlX2RhdGEiOjEuMCwibmV3c19lbmFibGVfc3RyZWFtaW5nIjoxLjAsIm5ld3Nfc2NyZWVuZXJfcGFnZV9jbGllbnQiOjEuMCwiZW5hYmxlX2RlY2xhcmF0aW9uX3BvcHVwX29uX2xvYWQiOjEuMCwic2hvd19kYXRhX2JvbmRzX2ZyZWVfdXNlcnMiOjEuMCwiZW5hYmxlX21vZGVybl9yZW5kZXJfbW9kZSI6MS4wLCJlbmFibGVfcHJvZl9wb3B1cF9mcmVlIjoxLjAsImlvc19hcHBfbmV3c19hbmRfbWluZHMiOjEuMCwiZG9fbm90X2Rpc2Nsb3NlX3Bob25lX29jY3VwYW5jeSI6MS4wLCJlbmFibGVfcmVkaXJlY3RfdG9fd2lkZ2V0X2RvY3VtZW50YXRpb25fb2ZfYW55X2xvY2FsaXphdGlvbiI6MS4wLCJuZXdzX2VuYWJsZV9zdHJlYW1pbmdfaGliZXJuYXRpb24iOjEuMCwibmV3c19zdHJlYW1pbmdfaGliZXJuYXRpb25fZGVsYXlfMTBtaW4iOjEuMCwicGFzc19yZWNvdmVyeV9zZWFyY2hfaGlkZV9pbmZvIjoxLjAsIm5ld3NfZW5hYmxlX3N0cmVhbWluZ19vbl9zY3JlZW5lciI6MS4wLCJlbmFibGVfZm9yY2VkX2VtYWlsX2NvbmZpcm1hdGlvbiI6MS4wLCJzaG93X2dpZnRfYnV0dG9uIjoxLjAsImFkZHJlc3NfdmFsaWRhdGlvbl9lbmFibGVkIjoxLjAsImRpc2FibGVfdW52ZXJpZmllZF9hZGRyZXNzIjoxLjAsImdlbmVyYXRlX2ludm9pY2VfbnVtYmVyX2J5X2NvdW50cnkiOjEuMCwic2hvd19mYXZvcml0ZV9sYXlvdXRzIjoxLjAsImVuYWJsZV9zb2NpYWxfYXV0aF9jb25maXJtYXRpb24iOjEuMCwiZW5hYmxlX2FkX2Jsb2NrX2RldGVjdCI6MS4wLCJ0dmRfbmV3X3RhYl9saW5raW5nIjoxLjAsInR2ZF90aW1lX2FuZF9kYXRlX3JhbmdlX2xpbmtpbmciOjEuMCwidXNlX2Jyb3dzZXJfc2Vzc2lvbl9zdG9yYWdlIjoxLjAsInVzZV9kZXNrdG9wX3Nlc3Npb25fc3RvcmFnZSI6MS4wLCJ3cm9uZ19hY2NvdW50X2RpYWxvZ19wcmltYXJ5X3N3aXRjaCI6MS4wLCJlbmFibGVfbGluZ3VhX2xhbmdfY2hlY2siOjEuMCwiZ2V0X3NhdmVkX2FjdGl2ZV9saXN0X2JlZm9yZV9nZXR0aW5nX2FsbF9saXN0cyI6MS4wLCJ3YXRjaGxpc3RfYWRkX3NvdXJjZV9wYXJhbSI6MS4wLCJzaG93X3JlZmVycmFsX25vdGlmaWNhdGlvbl9kaWFsb2ciOjEuMCwic2V0X25ld19ibGFja19jb2xvciI6MS4wLCJuZXdzX3VzZV9uZXdzX21lZGlhdG9yIjoxLjAsImFsbG93X3RyYWlsaW5nX3doaXRlc3BhY2VfaW5fbnVtYmVyX3Rva2VuIjoxLjAsInJlc3RyaWN0X3B3bmVkX3Bhc3N3b3JkX3NldCI6MS4wLCJub3RpZl9zZXR0aW5nc19lbmFibGVfbmV3X3N0b3JlIjoxLjAsIm5vdGlmX3NldHRpbmdzX2Rpc2FibGVfb2xkX3N0b3JlX3dyaXRlIjoxLjAsIm5vdGlmX3NldHRpbmdzX2Rpc2FibGVfb2xkX3N0b3JlX3JlYWQiOjEuMCwiY2hlY2tvdXQtZW5hYmxlLXJpc2tzZGsiOjEuMCwiY2hlY2tvdXQtZW5hYmxlLXJpc2tzZGstZm9yLWluaXRpYWwtcHVyY2hhc2UiOjEuMCwiZW5hYmxlX21ldGFkZWZlbmRlcl9jaGVja19mb3JfYWdyZWVtZW50IjoxLjAsInNob3dfZG93bmxvYWRfeWllbGRfY3VydmVzX2RhdGEiOjEuMCwibW92ZV9rZXlfdGVub3JzX3RvX3NldHRpbmdzIjoxLjAsInNob3dfeWllbGRfY3VydmVzX21hcCI6MS4wLCJkaXNhYmxlX3dpZGdldGJhcl9pbl9hcHBzIjoxLjAsImhpZGVfcHVibGljYXRpb25zX29mX2Jhbm5lZF91c2VycyI6MS4wLCJlbmFibGVfc3VtbWFyeV91cGRhdGVzX2Zyb21fY2hhcnRfc2Vzc2lvbiI6MS4wLCJzaG93X25ld3NfZmxvd190b29sX3JpZ2h0X2JhciI6MS4wLCJlbmFibGVfY2hhcnRfc2F2aW5nX3N0YXRzIjoxLjAsImVuYWJsZV9zYXZpbmdfc2FtZV9jaGFydF9yYXRlX2xpbWl0IjoxLjAsIm5ld3NfYWxlcnRzX2VuYWJsZWQiOjEuMCwibmV3c19tdWx0aXBsZV9hbGVydHNfZW5hYmxlZCI6MS4wLCJyZWZ1bmRfdW52b2lkYWJsZV9jb3Vwb25zX2VuYWJsZWQiOjEuMCwiZW5hYmxlX3Nub3dwbG93X2VtYWlsX3RyYWNraW5nIjoxLjAsIm5ld3NfZW5hYmxlX3NlbnRpbWVudCI6MS4wLCJ1c2VfaW5fc3ltYm9sX3NlYXJjaF9vcHRpb25zX21jeF9leGNoYW5nZSI6MS4wLCJlbmFibGVfdXNlcnNldHRpbmdzX3N5bWJvbHNfcGVyX3Jvd19zb2Z0X2xpbWl0IjowLjEsImZvcmJpZF9sb2dpbl93aXRoX3B3bmVkX3Bhc3N3b3JkcyI6MS4wLCJkZWJ1Z19nZXRfdGVzdF9iYXJzX2RhdGEiOjEuMCwibmV3c191c2VfbWVkaWF0b3Jfc3RvcnkiOjEuMCwibmV3c19mbG93X3JlY29uZmlndXJlX2ZpbHRlcnMiOjEuMCwiYmxhY2tfZnJpZGF5X2VuYWJsZV9za2lwX3RvX3BheW1lbnQiOjEuMCwiaGlkZV90cmFkaW5nX2J1dHRvbl9vbl9ib3R0b21fcGFuZWxfYW5kX3JlcGxheV90YWIiOjEuMCwiaGlkZV90cmFkZV9idXR0b25faGludF9pbl9oZWFkZXJfdG9vbGJhciI6MS4wLCJoaWRlX3NlZV9vbl9zdXBlcl9jaGFydHNfYnV0dG9uIjoxLjAsImhpZGVfc3ltYm9sX3BhZ2VfY2hhcnRfdHlwZV9zd2l0Y2hlciI6MS4wLCJkaXNhYmxlX2NoYXRfc3BhbV9wcm90ZWN0aW9uX2Zvcl9wcmVtaXVtX3VzZXJzIjoxLjAsImRpc2FibGVfcHVibGljX3BpbmVfc2NyaXB0X3B1Ymxpc2hfbGltaXRzIjoxLjAsIm1ha2VfdHJhZGluZ19wYW5lbF9jb250ZXh0dWFsX3RhYiI6MS4wLCJyZWNvbm5lY3RfZ2Fpbl9zZXNzaW9uX29uX2xzX2Vycm9yIjoxLjAsImNoZWNrb3V0LWZsb3ctcGF5bWVudHMiOjEuMCwiZm9yY2VfdG9fY29tcGxldGVfa3ljIjoxLjAsImluZGlhX2V4Y2x1ZGVfYnJhaW50cmVlX3RhYiI6MS4wLCJtYWNyb19tYXBzX2hpZGVfdG9vbHRpcF9jaGFydF9idXR0b24iOjEuMCwiZm9yY2Vfa3ljX2Zvcl9ub25wcm9fcHVyY2hhc2VfYnlfY29tbWVyY2lhbCI6MS4wLCJzaG93X3NwbGl0X3BhbmVsX2Z1bGxzY3JlZW5fYnV0dG9uIjoxLjAsInNob3dfc3BsaXRfcGFuZWxfbW92ZV9idXR0b25fdG9fdGl0bGUiOjEuMCwib3JkZXJfcHJlc2V0c19jcnVkX3N0b3JhZ2UiOjEuMCwib3JkZXJfcHJlc2V0c19yZW1vdmVfZnJvbV90dl9zZXR0aW5ncyI6MS4wLCJjaGVja291dC1mbG93LXRyaWFsIjoxLjAsImNoZWNrb3V0LWZsb3ctZ29vZ2xlcGF5IjoxLjAsImNoZWNrb3V0LWZsb3ctYXBwbGVwYXkiOjEuMCwiY2hlY2tvdXQtZmxvdy1wYXlwYWwiOjEuMCwiZm9yYmlkX3NpZ251cF93aXRoX2Zha2VfZ21haWxfZG9tYWlucyI6MS4wLCJzaG93X2ltcG9ydF9mcm9tX3BhcGVyX3RyYWRpbmdfYnV0dG9uIjoxLjAsInN5bWJvbF9zZWFyY2hfZ3JvdXBpbmciOjEuMCwiY2hlY2tvdXQtZmxvdy1nb29nbGVwYXktdHJpYWwiOjEuMCwiY2hlY2tvdXQtZmxvdy1hcHBsZXBheS10cmlhbCI6MS4wLCJjaGVja291dC1mbG93LXBheXBhbC10cmlhbCI6MS4wLCJ2b2lkX25vdF9mb3VuZF9ja29fcGF5bWVudF9pbl9hcHByb3ZlZF93ZWJob29rIjoxLjAsInNob3dfcGFuZWxfY29sbGFwc2VfYnV0dG9uIjoxLjAsImRlbGF5X3N0YXR1c19vbl9sYXN0X2JhciI6MC4zfTsKd2luZG93LmluaXREYXRhID0ge307CgkJd2luZG93LlMzX0xPR09fU0VSVklDRV9CQVNFX1VSTCA9ICJodHRwczovL3MzLXN5bWJvbC1sb2dvLnRyYWRpbmd2aWV3LmNvbS8iOwoKd2luZG93LmluaXREYXRhID0geyJ3aWRnZXREZWZhdWx0cyI6eyJ3aWR0aCI6MTEwMCwiaGVpZ2h0Ijo1MjMsImRlZmF1bHRDb2x1bW4iOiJvdmVydmlldyIsImRlZmF1bHRTY3JlZW4iOiJnZW5lcmFsIiwibWFya2V0IjoiZm9yZXgiLCJzaG93VG9vbGJhciI6dHJ1ZSwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImNvbG9yVGhlbWUiOiJsaWdodCIsImxvY2FsZSI6ImVuIn19OwoJCXdpbmRvdy5pbml0RGF0YS5jdXJyZW50TG9jYWxlSW5mbyA9IHsibGFuZ3VhZ2UiOiJlbiIsImxhbmd1YWdlX25hbWUiOiJFbmdsaXNoIiwiZmxhZyI6InVzIiwiZ2VvaXBfY29kZSI6InVzIiwiaXNvIjoiZW4iLCJpc29fNjM5XzMiOiJlbmciLCJnbG9iYWxfbmFtZSI6IkVuZ2xpc2giLCJpc19vbmx5X3JlY29tbWVuZGVkX3R3X2F1dG9yZXBvc3QiOnRydWV9OwoJCXdpbmRvdy5pbml0RGF0YS5zZXR0aW5ncyA9IHsnUzNfTE9HT19TRVJWSUNFX0JBU0VfVVJMJzogJ2h0dHBzOi8vczMtc3ltYm9sLWxvZ28udHJhZGluZ3ZpZXcuY29tLycsICdTM19ORVdTX0lNQUdFX1NFUlZJQ0VfQkFTRV9VUkwnOiAnaHR0cHM6Ly9zMy50cmFkaW5ndmlldy5jb20vbmV3cy8nLCAnV0VCUEFDS19TVEFUSUNfUEFUSCc6ICdodHRwczovL3N0YXRpYy50cmFkaW5ndmlldy5jb20vc3RhdGljL2J1bmRsZXMvJywgJ1RSQURJTkdfVVJMUyc6IHsnZnJlZSc6ICdodHRwczovL3BhcGVydHJhZGluZy1mcmVlLnRyYWRpbmd2aWV3LmNvbScsICdwcm8nOiAnaHR0cHM6Ly9wYXBlcnRyYWRpbmcudHJhZGluZ3ZpZXcuY29tJ30sICdDT05URVNUU19VUkwnOiAnL3BhcGVyLXRyYWRpbmcnLCAnQ1JVRF9TVE9SQUdFX1VSTCc6ICdodHRwczovL2NydWQtc3RvcmFnZS50cmFkaW5ndmlldy5jb20nfTs8L3NjcmlwdD4KCgk8c2NyaXB0IG5vbmNlPSJrby9PWEIzOTczMWtIVjZBeHJhQkl3PT0iPgoJCSgoKT0+eyJ1c2Ugc3RyaWN0Ijtjb25zdCBlPXt3aGl0ZWxhYmVsOiEwLHBlcm1pc3Npb25PdmVycmlkZXM6ITAsbGlua0NhcHR1cmluZ0FsbG93ZWQ6ITAsc3ltYm9sX3NlYXJjaF9kZWZhdWx0X2V4Y2hhbmdlOiEwLHN5bWJvbF9zZWFyY2hfYWxsb3dlZF9leGNoYW5nZXM6ITB9O2NvbnN0IHQ9d2luZG93O3QuaW5pdERhdGE9dC5pbml0RGF0YXx8e307Y29uc3QgYT0vXCsvZyxuPS88XC8/W14+XSsoPnwkKS9nLHM9ZT0+ZGVjb2RlVVJJQ29tcG9uZW50KGUucmVwbGFjZShhLCIgIikpLnJlcGxhY2UobiwiIiksbz10LmxvY2F0aW9uLnNlYXJjaC5zdWJzdHJpbmcoMSksYz0vKFteJj1dKyk9PyhbXiZdKikvZyxpPXt9O2xldCBsLHI9Yy5leGVjKG8pO2Zvcig7bnVsbCE9PXI7KWlbcyhyWzFdKV09cyhyWzJdKSxyPWMuZXhlYyhvKTt0cnl7bD1KU09OLnBhcnNlKGRlY29kZVVSSUNvbXBvbmVudCh0LmxvY2F0aW9uLmhhc2guc3Vic3RyaW5nKDEpKSksIm9iamVjdCI9PXR5cGVvZiBsJiZudWxsIT09bHx8KGw9e30pfWNhdGNoKGUpe2w9e319dmFyIGg7dC5pbml0RGF0YS5xdWVyeVNldHRpbmdzPWksdC5pbml0RGF0YS5oYXNoU2V0dGluZ3M9KGg9bCxPYmplY3Qua2V5cyhoKS5mb3JFYWNoKCh0PT57ZVt0XSYmZGVsZXRlIGhbdF19KSksaCl9KSgpOwoJPC9zY3JpcHQ+CgoJPHNjcmlwdCBub25jZT0ia28vT1hCMzk3MzFrSFY2QXhyYUJJdz09Ij53aW5kb3cuU1NfSE9TVCA9ICJzeW1ib2wtc2VhcmNoLnRyYWRpbmd2aWV3LmNvbSI7CgkJd2luZG93LldJREdFVF9TSEVSSUZGX0hPU1QgPSAiaHR0cHM6Ly93aWRnZXQtc2hlcmlmZi50cmFkaW5ndmlldy13aWRnZXQuY29tIjsKCQl3aW5kb3cuaXNfYXV0aGVudGljYXRlZCA9IGZhbHNlOwoKCXdpbmRvdy5TQ1JFRU5FUl9IT1NUID0gJ2h0dHBzOi8vc2Nhbm5lci50cmFkaW5ndmlldy5jb20nOwoKCQl3aW5kb3cubG9jYWxlX2RvbWFpbnMgPSB7ImVuIjoid3d3LnRyYWRpbmd2aWV3LmNvbSIsImFyX0FFIjoiYXIudHJhZGluZ3ZpZXcuY29tIiwiYnIiOiJici50cmFkaW5ndmlldy5jb20iLCJkZV9ERSI6ImRlLnRyYWRpbmd2aWV3LmNvbSIsImVzIjoiZXMudHJhZGluZ3ZpZXcuY29tIiwiZnIiOiJmci50cmFkaW5ndmlldy5jb20iLCJoZV9JTCI6ImlsLnRyYWRpbmd2aWV3LmNvbSIsImlkIjoiaWQudHJhZGluZ3ZpZXcuY29tIiwiaW4iOiJpbi50cmFkaW5ndmlldy5jb20iLCJpdCI6Iml0LnRyYWRpbmd2aWV3LmNvbSIsImphIjoianAudHJhZGluZ3ZpZXcuY29tIiwia3IiOiJrci50cmFkaW5ndmlldy5jb20iLCJtc19NWSI6Im15LnRyYWRpbmd2aWV3LmNvbSIsInBsIjoicGwudHJhZGluZ3ZpZXcuY29tIiwicnUiOiJydS50cmFkaW5ndmlldy5jb20iLCJ0aF9USCI6InRoLnRyYWRpbmd2aWV3LmNvbSIsInRyIjoidHIudHJhZGluZ3ZpZXcuY29tIiwidmlfVk4iOiJ2bi50cmFkaW5ndmlldy5jb20iLCJ6aF9DTiI6ImNuLnRyYWRpbmd2aWV3LmNvbSIsInpoX1RXIjoidHcudHJhZGluZ3ZpZXcuY29tIiwiY2FfRVMiOiJlcy50cmFkaW5ndmlldy5jb20ifTsKCgkJCXdpbmRvdy5fX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMgPSB3aW5kb3cuX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzIHx8IFtdOwoJCQkJd2luZG93Ll9faW5pdGlhbEVuYWJsZWRGZWF0dXJlc2V0cy5wdXNoKCd3aWRnZXQnKTsKCgkJd2luZG93LlRyYWRpbmdWaWV3ID0gd2luZG93LlRyYWRpbmdWaWV3IHx8IHt9Owo8L3NjcmlwdD4KCjwvaGVhZD4KPGJvZHk+Cgk8c2NyaXB0IG5vbmNlPSJrby9PWEIzOTczMWtIVjZBeHJhQkl3PT0iPgoJCSgoKT0+eyJ1c2Ugc3RyaWN0Ijtjb25zdCB0PTEwMTk7dmFyIGUscyxvLGEsZDshZnVuY3Rpb24odCl7dC5BZGFwdGl2ZT0iYWRhcHRpdmUiLHQuUmVndWxhcj0icmVndWxhciIsdC5Db21wYWN0PSJjb21wYWN0In0oZXx8KGU9e30pKSxmdW5jdGlvbih0KXt0LkFsbFN5bWJvbHM9ImFsbF9zeW1ib2xzIix0Lk1hcmtldD0ibWFya2V0Iix0LlN5bWJvbD0ic3ltYm9sIn0oc3x8KHM9e30pKSxmdW5jdGlvbih0KXt0LkNyeXB0b2N1cnJlbmNpZXM9ImNyeXB0byIsdC5DdXJyZW5jaWVzPSJmb3JleCIsdC5TdG9ja3M9InN0b2NrIix0LkluZGljZXM9ImluZGV4Iix0LkZ1dHVyZXM9ImZ1dHVyZXMiLHQuQm9uZHM9ImNmZCJ9KG98fChvPXt9KSksZnVuY3Rpb24odCl7dC5IVE1MPSJodG1sIix0LlJlYWN0PSJyZWFjdCJ9KGF8fChhPXt9KSksZnVuY3Rpb24odCl7dC5UaGVtZUNsYXNzUHJlZml4PSJ0aGVtZS0ifShkfHwoZD17fSkpO2NvbnN0IGM9d2luZG93O2MuaW5pdERhdGE9Yy5pbml0RGF0YXx8e307bGV0IGk9Yy5pbml0RGF0YS5oYXNoU2V0dGluZ3M7aWYoYy5pbml0RGF0YS53aWRnZXREZWZhdWx0cyYmKGk9ey4uLmMuaW5pdERhdGEud2lkZ2V0RGVmYXVsdHMsLi4uaX0pLHZvaWQgMCE9PWkpe2lmKHZvaWQgMCE9PWkuY29sb3JUaGVtZSYmZnVuY3Rpb24odCxlPXdpbmRvdyl7Y29uc3Qgcz0idGhlbWUtIit0LG89ZS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0O2Zvcihjb25zdCB0IG9mIEFycmF5LmZyb20obykpdC5zdGFydHNXaXRoKCJ0aGVtZS0iKSYmdCE9PXMmJm8ucmVtb3ZlKHQpO28uYWRkKHMpLGUuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRhdGFzZXQudGhlbWU9dH0oaS5jb2xvclRoZW1lKSwoaS5pc1RyYW5zcGFyZW50fHxpLnRyYW5zcGFyZW5jeSkmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKCJpcy10cmFuc3BhcmVudCIpLHZvaWQgMCE9PWkuZGlzcGxheU1vZGUmJmZ1bmN0aW9uKHMsbyl7aWYobz09PWUuQWRhcHRpdmUpe2NvbnN0IGU9d2luZG93Lm1hdGNoTWVkaWEoYChtYXgtd2lkdGg6ICR7dH1weClgKSxvPSgpPT57cy5jbGFzc0xpc3QudG9nZ2xlKCJ0di1kaXNwbGF5LW1vZGUtcmVndWxhciIsIWUubWF0Y2hlcykscy5jbGFzc0xpc3QudG9nZ2xlKCJ0di1kaXNwbGF5LW1vZGUtY29tcGFjdCIsZS5tYXRjaGVzKX07bygpLGUuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixvKX1lbHNlIHMuY2xhc3NMaXN0LnRvZ2dsZSgidHYtZGlzcGxheS1tb2RlLXJlZ3VsYXIiLG89PT1lLlJlZ3VsYXIpLHMuY2xhc3NMaXN0LnRvZ2dsZSgidHYtZGlzcGxheS1tb2RlLWNvbXBhY3QiLG89PT1lLkNvbXBhY3QpfShkb2N1bWVudC5ib2R5LGkuZGlzcGxheU1vZGUpLGkuYm9keUNsYXNzZXMpZm9yKGNvbnN0IHQgb2YgaS5ib2R5Q2xhc3Nlcylkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQodCk7aS5ib2R5X2NsYXNzJiZkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoaS5ib2R5X2NsYXNzKSxpLmJvZHlJZCYmKGRvY3VtZW50LmJvZHkuaWQ9aS5ib2R5SWQpfX0pKCk7Cgk8L3NjcmlwdD4KCgk8ZGl2IGlkPSJqcy1zY3JlZW5lci1jb250YWluZXIiIGNsYXNzPSJ0di13aWRnZXQtc2NyZWVuZXJfX2NvbnRhaW5lciI+PC9kaXY+Cgo8c2NyaXB0IG5vbmNlPSJrby9PWEIzOTczMWtIVjZBeHJhQkl3PT0iPgoJd2luZG93LmluaXREYXRhID0gd2luZG93LmluaXREYXRhIHx8IHt9OwoKCXdpbmRvdy5pbml0RGF0YS5zbm93cGxvd1NldHRpbmdzID0gewoJCWNvbGxlY3RvcklkOiAndHZfY2YnLAoJCXVybDogJ3Nub3dwbG93LXBpeGVsLnRyYWRpbmd2aWV3LmNvbScsCgkJcGFyYW1zOiB7CgkJCWFwcElkOiAndHJhZGluZ3ZpZXcnLAoJCQlwb3N0UGF0aDogJy9jb20udHJhZGluZ3ZpZXcvdHJhY2snLAoJCX0sCgkJZW5hYmxlZDogdHJ1ZSwKCX0KPC9zY3JpcHQ+PC9ib2R5Pgo8L2h0bWw+"}},"time_used":151,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":151,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"binarymate.com/assets/landing/platform-tiny/images/arrow-call.svg","fqdn":"binarymate.com","domain":"binarymate.com","tld":"com"},"ip":{"addr":"172.67.160.195","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://binarymate.com/en/tyni-platform?r=https://247optiontradefx.live/dashboard/register","date":"2026-07-27T02:50:33.780Z","timestamp":1785120633780,"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":"binarymate.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 14 Jun 2026 17:48:17 GMT","end":"Sat, 12 Sep 2026 18:48:16 GMT"},"fingerprint":{"sha1":"26:CD:F2:69:FE:7F:C6:01:56:78:36:8F:A3:D6:FB:30:04:43:72:C0","sha256":"84:94:E9:41:71:FF:C7:FC:0D:D1:FE:9F:61:E9:EB:27:62:B3:01:D9:AA:F6:35:FB:C6:FA:4A:CE:9B:16:0B:7E"}}},"request":{"raw":"GET /assets/landing/platform-tiny/images/arrow-call.svg HTTP/1.1\r\nHost: binarymate.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://binarymate.com/en/tyni-platform?r=https://247optiontradefx.live/dashboard/register\r\nCookie: laravel_session=UYESX7wELN8BSPz4LvfUKeGrrWO22l12CaQ7FWII\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\npriority: u=5,i\r\ncontent-type: image/svg+xml\r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nlast-modified: Thu, 12 May 2016 06:50:27 GMT\r\nserver: cloudflare\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=mj5xrPt5wHy11ezDCbjrGVqvfk9q8SsX72aFX63itouZqcEMu4oQUlVnEs9F%2Bj2EcL421HfdGtNcyJTo4lrGMPh7LlJ6bGUfDQ4gKNhXIawhBKwYB4%2Fz6KofSXBVhvo1GA%3D%3D\"}]}\r\nage: 373\r\ncache-control: max-age=14400\r\ncf-cache-status: HIT\r\ncontent-encoding: zstd\r\netag: W/\"573427b3-2f9\"\r\ncf-ray: a21856592ad78be6-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"]}],"data":{"size":761,"size_decoded":1165,"mime_type":"image/svg+xml","magic":"SVG Scalable Vector Graphics image","md5":"fdf35395df443e4a565ecc7338e717f3","sha1":"a1c9c2200e27def304711ae7a233149a36de32d6","sha256":"cfd565708d5a0a18c6376a0601e82158a21f6a5991244eba7cc9098cf9d5b39a","sha512":"8fe36644c5d71492543c3e0ca8d2ec262b9ba3811f56bbc80426dee83b8537a29ab689d20f5f89b0fdedd0c8d49d92f1d931dd328c7fc8425fe23c47de9e50a8","ssdeep":"","tlshash":"7501d07b43b4023458490b6c9e6461dc337097667230c1d87b9e2915df02993207127b","first_seen":"2023-05-30T11:35:28Z","last_seen":"2026-07-27T05:39:36.933273Z","times_seen":104,"resource_available":false,"data":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzNSIgaGVpZ2h0PSIyOCIgdmlld0JveD0iMCAwIDM1IDI4Ij4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjZmZmOwogICAgICAgIGZpbGwtcnVsZTogZXZlbm9kZDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTMuOTQ4LDE0LjdMNC4zMzYsMjUuNDE0YTIuNTA5LDIuNTA5LDAsMCwxLTMuNTA1LjIxMywyLjQxOSwyLjQxOSwwLDAsMS0uMjE4LTMuNDVMMTIuMTI5LDkuMzQ2YTIuNDU5LDIuNDU5LDAsMCwxLDEuODg5LS44MjUsMi41LDIuNSwwLDAsMSwxLjg3Ljg2NWwzLjMyMywzLjg3Myw2LjEwNy03LjNMMTkuNiwxLjEzMywzMy44NCwwLDM1LDE0LjE1bC01LjkyLTVMMjEuMTUyLDE4LjYzYTIuNSwyLjUsMCwwLDEtMS45Ljg4OCwyLjQ2NCwyLjQ2NCwwLDAsMS0xLjkxMi0uODY3Wk02LDI4LjAxNGg4LjAxMVYxOUw2LDI3LjU1NnYwLjQ1OFptMTUuNzU5LTYuMjMzQTMuOTgzLDMuOTgzLDAsMCwxLDE5LjYzLDIyLjk0Yy0xLjA3NC4xODQtMi43NDYtLjk4Mi0zLjYtMS42MDlMMTYuMDExLDI3Ljk5LDI1LDI4bDAuMDExLTEwLjAwNkEzOC43MDcsMzguNzA3LDAsMCwxLDIxLjc1OSwyMS43ODFabTcuMi04Ljc3Mi0xLjk1NCwyLjRWMjhoNy45OGwtMC4wMzMtMTAuNDJDMzMuMzEzLDE2LjIyLDI4Ljk2LDEzLjAwOSwyOC45NiwxMy4wMDlaIi8+Cjwvc3ZnPgo="}},"time_used":6,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/71424.eaefaf568dc8f1d16228.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.925Z","timestamp":1785120633925,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/71424.eaefaf568dc8f1d16228.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-2389\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 460886cb12f88ae9463f58f48243f549\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":9097,"size_decoded":3504,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3069)","md5":"d28b49d04557c0480cdbf81791cd43e4","sha1":"5e3a933096e33a38573e6f19d421af3adced7eb3","sha256":"21caef4db64aefa7c30365f0531a6b960cb10fa95ec42c10a6fa7de721bddee9","sha512":"087a004245d3199dec5b9b58bec642b846508dc967ba639a6b7eaa4289fe4a7bcca4cccaff9c3453cdc12b02032d564596001b3d891d12aaf21df4603b27a819","ssdeep":"96:BkL7dHrG9n2UbPK2Fv7927Erv8mYNWNPoHJuocGImcU8aG3y/J4Pphe8JxEpUOPs:BM7kNIAeyTmcu8VC8nIeCwIiT0BEF","tlshash":"16124324fb93b2b351cb619a583f080bf33a14d9132510a8735189dd1dfc99ab6afb74","first_seen":"2026-07-23T13:38:20.56175Z","last_seen":"2026-07-27T05:27:33.155812Z","times_seen":149,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s3MTQyNF0sezkxNDQ4NyhlLHQpe3ZhciBpOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj17fS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBzKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgaT1hcmd1bWVudHNbdF07aWYoaSl7dmFyIGE9dHlwZW9mIGk7aWYoInN0cmluZyI9PT1hfHwibnVtYmVyIj09PWEpZS5wdXNoKGkpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShpKSYmaS5sZW5ndGgpe3ZhciByPXMuYXBwbHkobnVsbCxpKTtyJiZlLnB1c2gocil9ZWxzZSBpZigib2JqZWN0Ij09PWEpZm9yKHZhciBvIGluIGkpbi5jYWxsKGksbykmJmlbb10mJmUucHVzaChvKX19cmV0dXJuIGUuam9pbigiICIpfWUuZXhwb3J0cz8ocy5kZWZhdWx0PXMsZS5leHBvcnRzPXMpOnZvaWQgMD09PShpPWZ1bmN0aW9uKCl7cmV0dXJuIHN9LmFwcGx5KHQsW10pKXx8KGUuZXhwb3J0cz1pKX0oKX0sMzIwNDAzKGUsdCl7InVzZSBzdHJpY3QiO3ZhciBpLG49ISgidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvd3x8IXdpbmRvdy5kb2N1bWVudHx8IXdpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KTtmdW5jdGlvbiBzKCl7aWYoaSlyZXR1cm4gaTtpZighbnx8IXdpbmRvdy5kb2N1bWVudC5ib2R5KXJldHVybiJpbmRldGVybWluYXRlIjt2YXIgZT13aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIkFCQ0QiKSksZS5kaXI9InJ0bCIsZS5zdHlsZS5mb250U2l6ZT0iMTRweCIsZS5zdHlsZS53aWR0aD0iNHB4IixlLnN0eWxlLmhlaWdodD0iMXB4IixlLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsZS5zdHlsZS50b3A9Ii0xMDAwcHgiLGUuc3R5bGUub3ZlcmZsb3c9InNjcm9sbCIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlKSxpPSJyZXZlcnNlIixlLnNjcm9sbExlZnQ+MD9pPSJkZWZhdWx0IjooZS5zY3JvbGxMZWZ0PTEsMD09PWUuc2Nyb2xsTGVmdCYmKGk9Im5lZ2F0aXZlIikpLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZSksaX19LDkxODc3OShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtiaW5kQ2FudmFzRWxlbWVudEJpdG1hcFNpemVUbzooKT0+cixlcXVhbFNpemVzOigpPT5uLmVxdWFsU2l6ZXMsc2l6ZTooKT0+bi5zaXplLHRyeUNyZWF0ZUNhbnZhc1JlbmRlcmluZ1RhcmdldDJEOigpPT5ofSk7dmFyIG49aSg3NDI3OSkscz1pKDc0MzQ1MSksYT1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSx0LGkpe3ZhciBzO3RoaXMuX2NhbnZhc0VsZW1lbnQ9bnVsbCx0aGlzLl9iaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycz1bXSx0aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplPW51bGwsdGhpcy5fc3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnM9W10sdGhpcy5fZGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGU9bnVsbCx0aGlzLl9jYW52YXNFbGVtZW50UmVzaXplT2JzZXJ2ZXI9bnVsbCx0aGlzLl9jYW52YXNFbGVtZW50PWUsdGhpcy5fY2FudmFzRWxlbWVudENsaWVudFNpemU9KDAsbi5zaXplKSh7d2lkdGg6dGhpcy5fY2FudmFzRWxlbWVudC5jbGllbnRXaWR0aCxoZWlnaHQ6dGhpcy5fY2FudmFzRWxlbWVudC5jbGllbnRIZWlnaHR9KSx0aGlzLl90cmFuc2Zvcm1CaXRtYXBTaXplPW51bGwhPXQ/dDpmdW5jdGlvbihlKXtyZXR1cm4gZX0sdGhpcy5fYWxsb3dSZXNpemVPYnNlcnZlcj1udWxsPT09KHM9bnVsbD09aT92b2lkIDA6aS5hbGxvd1Jlc2l6ZU9ic2VydmVyKXx8dm9pZCAwPT09c3x8cyx0aGlzLl9jaG9vc2VBbmRJbml0T2JzZXJ2ZXIoKX1yZXR1cm4gZS5wcm90b3R5cGUuZGlzcG9zZT1mdW5jdGlvbigpe3ZhciBlLHQ7aWYobnVsbD09PXRoaXMuX2NhbnZhc0VsZW1lbnQpdGhyb3cgbmV3IEVycm9yKCJPYmplY3QgaXMgZGlzcG9zZWQiKTtudWxsPT09KGU9dGhpcy5fY2FudmFzRWxlbWVudFJlc2l6ZU9ic2VydmVyKXx8dm9pZCAwPT09ZXx8ZS5kaXNjb25uZWN0KCksdGhpcy5fY2FudmFzRWxlbWVudFJlc2l6ZU9ic2VydmVyPW51bGwsbnVsbD09PSh0PXRoaXMuX2RldmljZVBpeGVsUmF0aW9PYnNlcnZhYmxlKXx8dm9pZCAwPT09dHx8dC5kaXNwb3NlKCksdGhpcy5fZGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGU9bnVsbCx0aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycy5sZW5ndGg9MCx0aGlzLl9iaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycy5sZW5ndGg9MCx0aGlzLl9jYW52YXNFbGVtZW50PW51bGx9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwiY2FudmFzRWxlbWVudCIse2dldDpmdW5jdGlvbigpe2lmKG51bGw9PT10aGlzLl9jYW52YXNFbGVtZW50KXRocm93IG5ldyBFcnJvcigiT2JqZWN0IGlzIGRpc3Bvc2VkIik7cmV0dXJuIHRoaXMuX2NhbnZhc0VsZW1lbnR9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJjYW52YXNFbGVtZW50Q2xpZW50U2l6ZSIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9jYW52YXNFbGVtZW50Q2xpZW50U2l6ZX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsImJpdG1hcFNpemUiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4oMCxuLnNpemUpKHt3aWR0aDp0aGlzLmNhbnZhc0VsZW1lbnQud2lkdGgsaGVpZ2h0OnRoaXMuY2FudmFzRWxlbWVudC5oZWlnaHR9KX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxlLnByb3RvdHlwZS5yZXNpemVDYW52YXNFbGVtZW50PWZ1bmN0aW9uKGUpe3RoaXMuX2NhbnZhc0VsZW1lbnRDbGllbnRTaXplPSgwLG4uc2l6ZSkoZSksdGhpcy5jYW52YXNFbGVtZW50LnN0eWxlLndpZHRoPSIiLmNvbmNhdCh0aGlzLl9jYW52YXNFbGVtZW50Q2xpZW50U2l6ZS53aWR0aCwicHgiKSwKdGhpcy5jYW52YXNFbGVtZW50LnN0eWxlLmhlaWdodD0iIi5jb25jYXQodGhpcy5fY2FudmFzRWxlbWVudENsaWVudFNpemUuaGVpZ2h0LCJweCIpLHRoaXMuX2ludmFsaWRhdGVCaXRtYXBTaXplKCl9LGUucHJvdG90eXBlLnN1YnNjcmliZUJpdG1hcFNpemVDaGFuZ2VkPWZ1bmN0aW9uKGUpe3RoaXMuX2JpdG1hcFNpemVDaGFuZ2VkTGlzdGVuZXJzLnB1c2goZSl9LGUucHJvdG90eXBlLnVuc3Vic2NyaWJlQml0bWFwU2l6ZUNoYW5nZWQ9ZnVuY3Rpb24oZSl7dGhpcy5fYml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnM9dGhpcy5fYml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnMuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdCE9PWV9KSl9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwic3VnZ2VzdGVkQml0bWFwU2l6ZSIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLGUucHJvdG90eXBlLnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkPWZ1bmN0aW9uKGUpe3RoaXMuX3N1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkTGlzdGVuZXJzLnB1c2goZSl9LGUucHJvdG90eXBlLnVuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQ9ZnVuY3Rpb24oZSl7dGhpcy5fc3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnM9dGhpcy5fc3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnMuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdCE9PWV9KSl9LGUucHJvdG90eXBlLmFwcGx5U3VnZ2VzdGVkQml0bWFwU2l6ZT1mdW5jdGlvbigpe2lmKG51bGwhPT10aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplKXt2YXIgZT10aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplO3RoaXMuX3N1Z2dlc3RlZEJpdG1hcFNpemU9bnVsbCx0aGlzLl9yZXNpemVCaXRtYXAoZSksdGhpcy5fZW1pdFN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKGUsdGhpcy5fc3VnZ2VzdGVkQml0bWFwU2l6ZSl9fSxlLnByb3RvdHlwZS5fcmVzaXplQml0bWFwPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuYml0bWFwU2l6ZTsoMCxuLmVxdWFsU2l6ZXMpKHQsZSl8fCh0aGlzLmNhbnZhc0VsZW1lbnQud2lkdGg9ZS53aWR0aCx0aGlzLmNhbnZhc0VsZW1lbnQuaGVpZ2h0PWUuaGVpZ2h0LHRoaXMuX2VtaXRCaXRtYXBTaXplQ2hhbmdlZCh0LGUpKX0sZS5wcm90b3R5cGUuX2VtaXRCaXRtYXBTaXplQ2hhbmdlZD1mdW5jdGlvbihlLHQpe3ZhciBpPXRoaXM7dGhpcy5fYml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnMuZm9yRWFjaCgoZnVuY3Rpb24obil7cmV0dXJuIG4uY2FsbChpLGUsdCl9KSl9LGUucHJvdG90eXBlLl9zdWdnZXN0TmV3Qml0bWFwU2l6ZT1mdW5jdGlvbihlKXt2YXIgdD10aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplLGk9KDAsbi5zaXplKSh0aGlzLl90cmFuc2Zvcm1CaXRtYXBTaXplKGUsdGhpcy5fY2FudmFzRWxlbWVudENsaWVudFNpemUpKSxzPSgwLG4uZXF1YWxTaXplcykodGhpcy5iaXRtYXBTaXplLGkpP251bGw6aTtudWxsPT09dCYmbnVsbD09PXN8fG51bGwhPT10JiZudWxsIT09cyYmKDAsbi5lcXVhbFNpemVzKSh0LHMpfHwodGhpcy5fc3VnZ2VzdGVkQml0bWFwU2l6ZT1zLHRoaXMuX2VtaXRTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0LHMpKX0sZS5wcm90b3R5cGUuX2VtaXRTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZD1mdW5jdGlvbihlLHQpe3ZhciBpPXRoaXM7dGhpcy5fc3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnMuZm9yRWFjaCgoZnVuY3Rpb24obil7cmV0dXJuIG4uY2FsbChpLGUsdCl9KSl9LGUucHJvdG90eXBlLl9jaG9vc2VBbmRJbml0T2JzZXJ2ZXI9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3RoaXMuX2FsbG93UmVzaXplT2JzZXJ2ZXI/bmV3IFByb21pc2UoKGZ1bmN0aW9uKGUpe3ZhciB0PW5ldyBSZXNpemVPYnNlcnZlcigoZnVuY3Rpb24oaSl7ZShpLmV2ZXJ5KChmdW5jdGlvbihlKXtyZXR1cm4iZGV2aWNlUGl4ZWxDb250ZW50Qm94U2l6ZSJpbiBlfSkpKSx0LmRpc2Nvbm5lY3QoKX0pKTt0Lm9ic2VydmUoZG9jdW1lbnQuYm9keSx7Ym94OiJkZXZpY2UtcGl4ZWwtY29udGVudC1ib3gifSl9KSkuY2F0Y2goKGZ1bmN0aW9uKCl7cmV0dXJuITF9KSkudGhlbigoZnVuY3Rpb24odCl7cmV0dXJuIHQ/ZS5faW5pdFJlc2l6ZU9ic2VydmVyKCk6ZS5faW5pdERldmljZVBpeGVsUmF0aW9PYnNlcnZhYmxlKCl9KSk6dGhpcy5faW5pdERldmljZVBpeGVsUmF0aW9PYnNlcnZhYmxlKCl9LGUucHJvdG90eXBlLl9pbml0RGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO2lmKG51bGwhPT10aGlzLl9jYW52YXNFbGVtZW50KXt2YXIgdD1vKHRoaXMuX2NhbnZhc0VsZW1lbnQpO2lmKG51bGw9PT10KXRocm93IG5ldyBFcnJvcigiTm8gd2luZG93IGlzIGFzc29jaWF0ZWQgd2l0aCB0aGUgY2FudmFzIik7dGhpcy5fZGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGU9KDAscy5jcmVhdGVPYnNlcnZhYmxlKSh0KSx0aGlzLl9kZXZpY2VQaXhlbFJhdGlvT2JzZXJ2YWJsZS5zdWJzY3JpYmUoKGZ1bmN0aW9uKCl7cmV0dXJuIGUuX2ludmFsaWRhdGVCaXRtYXBTaXplKCl9KSksdGhpcy5faW52YWxpZGF0ZUJpdG1hcFNpemUoKX19LGUucHJvdG90eXBlLl9pbnZhbGlkYXRlQml0bWFwU2l6ZT1mdW5jdGlvbigpe3ZhciBlLHQ7aWYobnVsbCE9PXRoaXMuX2NhbnZhc0VsZW1lbnQpe3ZhciBpPW8odGhpcy5fY2FudmFzRWxlbWVudCk7aWYobnVsbCE9PWkpe3ZhciBzPW51bGwhPT0odD1udWxsPT09KGU9dGhpcy5fZGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGUpfHx2b2lkIDA9PT1lP3ZvaWQgMDplLnZhbHVlKSYmdm9pZCAwIT09dD90OmkuZGV2aWNlUGl4ZWxSYXRpbyxhPXRoaXMuX2NhbnZhc0VsZW1lbnQuZ2V0Q2xpZW50UmVjdHMoKSxyPXZvaWQgMCE9PWFbMF0/ZnVuY3Rpb24oZSx0KXtyZXR1cm4oMCxuLnNpemUpKHt3aWR0aDpNYXRoLnJvdW5kKGUubGVmdCp0K2Uud2lkdGgqdCktTWF0aC5yb3VuZChlLmxlZnQqdCksCmhlaWdodDpNYXRoLnJvdW5kKGUudG9wKnQrZS5oZWlnaHQqdCktTWF0aC5yb3VuZChlLnRvcCp0KX0pfShhWzBdLHMpOigwLG4uc2l6ZSkoe3dpZHRoOnRoaXMuX2NhbnZhc0VsZW1lbnRDbGllbnRTaXplLndpZHRoKnMsaGVpZ2h0OnRoaXMuX2NhbnZhc0VsZW1lbnRDbGllbnRTaXplLmhlaWdodCpzfSk7dGhpcy5fc3VnZ2VzdE5ld0JpdG1hcFNpemUocil9fX0sZS5wcm90b3R5cGUuX2luaXRSZXNpemVPYnNlcnZlcj1mdW5jdGlvbigpe3ZhciBlPXRoaXM7bnVsbCE9PXRoaXMuX2NhbnZhc0VsZW1lbnQmJih0aGlzLl9jYW52YXNFbGVtZW50UmVzaXplT2JzZXJ2ZXI9bmV3IFJlc2l6ZU9ic2VydmVyKChmdW5jdGlvbih0KXt2YXIgaT10LmZpbmQoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnRhcmdldD09PWUuX2NhbnZhc0VsZW1lbnR9KSk7aWYoaSYmaS5kZXZpY2VQaXhlbENvbnRlbnRCb3hTaXplJiZpLmRldmljZVBpeGVsQ29udGVudEJveFNpemVbMF0pe3ZhciBzPWkuZGV2aWNlUGl4ZWxDb250ZW50Qm94U2l6ZVswXSxhPSgwLG4uc2l6ZSkoe3dpZHRoOnMuaW5saW5lU2l6ZSxoZWlnaHQ6cy5ibG9ja1NpemV9KTtlLl9zdWdnZXN0TmV3Qml0bWFwU2l6ZShhKX19KSksdGhpcy5fY2FudmFzRWxlbWVudFJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5fY2FudmFzRWxlbWVudCx7Ym94OiJkZXZpY2UtcGl4ZWwtY29udGVudC1ib3gifSkpfSxlfSgpO2Z1bmN0aW9uIHIoZSx0KXtpZigiZGV2aWNlLXBpeGVsLWNvbnRlbnQtYm94Ij09PXQudHlwZSlyZXR1cm4gbmV3IGEoZSx0LnRyYW5zZm9ybSx0Lm9wdGlvbnMpO3Rocm93IG5ldyBFcnJvcigiVW5zdXBwb3J0ZWQgYmluZGluZyB0YXJnZXQiKX1mdW5jdGlvbiBvKGUpe3JldHVybiBlLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXd9dmFyIGw9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUsdCxpKXtpZigwPT09dC53aWR0aHx8MD09PXQuaGVpZ2h0KXRocm93IG5ldyBUeXBlRXJyb3IoIlJlbmRlcmluZyB0YXJnZXQgY291bGQgb25seSBiZSBjcmVhdGVkIG9uIGEgbWVkaWEgd2l0aCBwb3NpdGl2ZSB3aWR0aCBhbmQgaGVpZ2h0Iik7aWYodGhpcy5fbWVkaWFTaXplPXQsMD09PWkud2lkdGh8fDA9PT1pLmhlaWdodCl0aHJvdyBuZXcgVHlwZUVycm9yKCJSZW5kZXJpbmcgdGFyZ2V0IGNvdWxkIG9ubHkgYmUgY3JlYXRlZCB1c2luZyBhIGJpdG1hcCB3aXRoIHBvc2l0aXZlIGludGVnZXIgd2lkdGggYW5kIGhlaWdodCIpO3RoaXMuX2JpdG1hcFNpemU9aSx0aGlzLl9jb250ZXh0PWV9cmV0dXJuIGUucHJvdG90eXBlLnVzZU1lZGlhQ29vcmRpbmF0ZVNwYWNlPWZ1bmN0aW9uKGUpe3RyeXtyZXR1cm4gdGhpcy5fY29udGV4dC5zYXZlKCksdGhpcy5fY29udGV4dC5zZXRUcmFuc2Zvcm0oMSwwLDAsMSwwLDApLHRoaXMuX2NvbnRleHQuc2NhbGUodGhpcy5faG9yaXpvbnRhbFBpeGVsUmF0aW8sdGhpcy5fdmVydGljYWxQaXhlbFJhdGlvKSxlKHtjb250ZXh0OnRoaXMuX2NvbnRleHQsbWVkaWFTaXplOnRoaXMuX21lZGlhU2l6ZX0pfWZpbmFsbHl7dGhpcy5fY29udGV4dC5yZXN0b3JlKCl9fSxlLnByb3RvdHlwZS51c2VCaXRtYXBDb29yZGluYXRlU3BhY2U9ZnVuY3Rpb24oZSl7dHJ5e3JldHVybiB0aGlzLl9jb250ZXh0LnNhdmUoKSx0aGlzLl9jb250ZXh0LnNldFRyYW5zZm9ybSgxLDAsMCwxLDAsMCksZSh7Y29udGV4dDp0aGlzLl9jb250ZXh0LG1lZGlhU2l6ZTp0aGlzLl9tZWRpYVNpemUsYml0bWFwU2l6ZTp0aGlzLl9iaXRtYXBTaXplLGhvcml6b250YWxQaXhlbFJhdGlvOnRoaXMuX2hvcml6b250YWxQaXhlbFJhdGlvLHZlcnRpY2FsUGl4ZWxSYXRpbzp0aGlzLl92ZXJ0aWNhbFBpeGVsUmF0aW99KX1maW5hbGx5e3RoaXMuX2NvbnRleHQucmVzdG9yZSgpfX0sT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJfaG9yaXpvbnRhbFBpeGVsUmF0aW8iLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYml0bWFwU2l6ZS53aWR0aC90aGlzLl9tZWRpYVNpemUud2lkdGh9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJfdmVydGljYWxQaXhlbFJhdGlvIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2JpdG1hcFNpemUuaGVpZ2h0L3RoaXMuX21lZGlhU2l6ZS5oZWlnaHR9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksZX0oKTtmdW5jdGlvbiBoKGUsdCl7dmFyIGk9ZS5jYW52YXNFbGVtZW50Q2xpZW50U2l6ZTtpZigwPT09aS53aWR0aHx8MD09PWkuaGVpZ2h0KXJldHVybiBudWxsO3ZhciBuPWUuYml0bWFwU2l6ZTtpZigwPT09bi53aWR0aHx8MD09PW4uaGVpZ2h0KXJldHVybiBudWxsO3ZhciBzPWUuY2FudmFzRWxlbWVudC5nZXRDb250ZXh0KCIyZCIsdCk7cmV0dXJuIG51bGw9PT1zP251bGw6bmV3IGwocyxpLG4pfX0sODE3MzUwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbj1pKDE3ODQ5Nykscz1pKDM2MDYyMCk7Y29uc3QgYT1mdW5jdGlvbihlKXtyZXR1cm4hMD09PWV8fCExPT09ZXx8KDAscy5kZWZhdWx0KShlKSYmIltvYmplY3QgQm9vbGVhbl0iPT0oMCxuLmRlZmF1bHQpKGUpfX0sMjA2NjczKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbj1pKDE3ODQ5Nykscz1pKDM2MDYyMCk7Y29uc3QgYT1mdW5jdGlvbihlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGV8fCgwLHMuZGVmYXVsdCkoZSkmJiJbb2JqZWN0IE51bWJlcl0iPT0oMCxuLmRlZmF1bHQpKGUpfX0sMzA0MjIxKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgbj1pKDE3ODQ5Nykscz1pKDI5NTYzNSksYT1pKDM2MDYyMCk7Y29uc3Qgcj1mdW5jdGlvbihlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGV8fCEoMCxzLmRlZmF1bHQpKGUpJiYoMCxhLmRlZmF1bHQpKGUpJiYiW29iamVjdCBTdHJpbmddIj09KDAsbi5kZWZhdWx0KShlKX19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/52842.31d6cfe0d16ae931b73c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.184Z","timestamp":1785120634184,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/52842.31d6cfe0d16ae931b73c.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 0\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a323d2a-0\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 17 Jun 2026 06:22:34 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/17/2026 11:15:29\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: cc25e8112127005419ad6f8ca1f2083e\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":782,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-07-27T05:14:11.3544Z","times_seen":17556491,"resource_available":true,"data":""}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/49265.c208ef8379e073f94d16.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A1150%2C%22height%22%3A569%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.249Z","timestamp":1785120634249,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/49265.c208ef8379e073f94d16.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a435fcb-4ddf\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:18:51 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:09\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: f325dfc5f1472799b6d05ff5bd7927a0\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":19935,"size_decoded":7323,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"7b82078f584e6803982971fd98e254ad","sha1":"68381b82a3c15fb84e25d74f902a92fd1de3a245","sha256":"e79b56277f3ab3f995df2d44c612a393858265d70e8d4151a858384901aaa5ae","sha512":"856120280da4d842117fb927a8dbab94215dfb803172d5217ef06b3e3160c27bfbc9fda244b20ac94ce02cebb4356d25c92927cb9292b29f658e377fca579fec","ssdeep":"384:j9PRJCURbRGehSowQ7pJIdRW5TejB6ScRTtDe1efLBHxe+Wl2XaKKTV28fRJmRDM:RPTCURbwehStQ7pJIdk5TejB6ScZtDeb","tlshash":"7e92de8679c2f0e962d55cd4c07b4846f01a0d3c704db8e9e7e6c8d2da7a14ed436bba","first_seen":"2026-06-30T14:35:40.41523Z","last_seen":"2026-07-27T05:15:36.955954Z","times_seen":2158,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0OTI2NV0sezc1Njg1MSh0KXsidXNlIHN0cmljdCI7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxyPXQubGVuZ3RoLG49MDtuPHI7bisrKXt2YXIgdT10LmNoYXJDb2RlQXQobik7aWYodT49NTUyOTYmJnU8PTU2MzE5JiZyPm4rMSl7dmFyIGE9dC5jaGFyQ29kZUF0KG4rMSk7YT49NTYzMjAmJmE8PTU3MzQzJiYodT0xMDI0Kih1LTU1Mjk2KSthLTU2MzIwKzY1NTM2LG4rPTEpfXU8MTI4P2UucHVzaCh1KTp1PDIwNDg/KGUucHVzaCh1Pj42fDE5MiksZS5wdXNoKDYzJnV8MTI4KSk6dTw1NTI5Nnx8dT49NTczNDQmJnU8NjU1MzY/KGUucHVzaCh1Pj4xMnwyMjQpLGUucHVzaCh1Pj42JjYzfDEyOCksZS5wdXNoKDYzJnV8MTI4KSk6dT49NjU1MzYmJnU8PTExMTQxMTE/KGUucHVzaCh1Pj4xOHwyNDApLGUucHVzaCh1Pj4xMiY2M3wxMjgpLGUucHVzaCh1Pj42JjYzfDEyOCksZS5wdXNoKDYzJnV8MTI4KSk6ZS5wdXNoKDIzOSwxOTEsMTg5KX1yZXR1cm4gbmV3IFVpbnQ4QXJyYXkoZSkuYnVmZmVyfX0sNTA0NDAyKHQsZSxyKXt2YXIgbj1yKDYzODIyMSk7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiB0PW4odF49dD4+PjE2LDIyNDY4MjI1MDcpLHQ9bih0Xj10Pj4+MTMsMzI2NjQ4OTkwOSksKHRePXQ+Pj4xNik+Pj4wfX0sNjM4MjIxKHQpeyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9TWF0aC5pbXVsfHxmdW5jdGlvbih0LGUpe3ZhciByPTY1NTM1JnQsbj02NTUzNSZlO3JldHVybiByKm4rKCh0Pj4+MTYmNjU1MzUpKm4rciooZT4+PjE2JjY1NTM1KTw8MTY+Pj4wKXwwfX0sMTAwNTk1KHQsZSxyKXt2YXIgbj1yKDYzODIyMSksdT1yKDUwNDQwMiksYT1yKDc1Njg1MSksbz1uZXcgVWludDMyQXJyYXkoWzM0MzI5MTgzNTMsNDYxODQ1OTA3XSk7ZnVuY3Rpb24gYyh0LGUpe3JldHVybiB0PDxlfHQ+Pj4zMi1lfXQuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2lmKGU9ZT8wfGU6MCwic3RyaW5nIj09dHlwZW9mIHQmJih0PWEodCkpLCEodCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBrZXkgdG8gYmUgQXJyYXlCdWZmZXIgb3Igc3RyaW5nIik7dmFyIHI9bmV3IFVpbnQzMkFycmF5KFtlXSk7cmV0dXJuIGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXQuYnl0ZUxlbmd0aC80fDAsdT1uZXcgVWludDMyQXJyYXkodCwwLHIpLGE9MDthPHI7YSsrKXVbYV09bih1W2FdLG9bMF0pLHVbYV09Yyh1W2FdLDE1KSx1W2FdPW4odVthXSxvWzFdKSxlWzBdPWVbMF1edVthXSxlWzBdPWMoZVswXSwxMyksZVswXT1uKGVbMF0sNSkrMzg2NDI5MjE5Nn0odCxyKSxmdW5jdGlvbih0LGUpe3ZhciByPXQuYnl0ZUxlbmd0aC80fDAsdT10LmJ5dGVMZW5ndGglNCxhPTAsZj1uZXcgVWludDhBcnJheSh0LDQqcix1KTtzd2l0Y2godSl7Y2FzZSAzOmFePWZbMl08PDE2O2Nhc2UgMjphXj1mWzFdPDw4O2Nhc2UgMTphXj1mWzBdLGE9YyhhPW4oYSxvWzBdKSwxNSksYT1uKGEsb1sxXSksZVswXT1lWzBdXmF9fSh0LHIpLGZ1bmN0aW9uKHQsZSl7ZVswXT1lWzBdXnQuYnl0ZUxlbmd0aCxlWzBdPXUoZVswXSl9KHQsciksci5idWZmZXJ9fSw0MTQxMjModCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBuPXIoMTYyMzE2KSx1PXIoOTgxNTIzKTtjb25zdCBhPSgwLG4uZGVmYXVsdCkodS5kZWZhdWx0LCJTZXQiKX0sMjY5MzY2KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PmN9KTt2YXIgbj1yKDcxMzE0OCk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5zZXQodCwiX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyIpLHRoaXN9O2NvbnN0IGE9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX19kYXRhX18uaGFzKHQpfTtmdW5jdGlvbiBvKHQpe3ZhciBlPS0xLHI9bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLl9fZGF0YV9fPW5ldyBuLmRlZmF1bHQ7KytlPHI7KXRoaXMuYWRkKHRbZV0pfW8ucHJvdG90eXBlLmFkZD1vLnByb3RvdHlwZS5wdXNoPXUsby5wcm90b3R5cGUuaGFzPWE7Y29uc3QgYz1vfSw4ODY1MTQodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+ZH0pO3ZhciBuPXIoNzM1OTgzKTtjb25zdCB1PWZ1bmN0aW9uKCl7dGhpcy5fX2RhdGFfXz1uZXcgbi5kZWZhdWx0LHRoaXMuc2l6ZT0wfTtjb25zdCBhPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX18scj1lLmRlbGV0ZSh0KTtyZXR1cm4gdGhpcy5zaXplPWUuc2l6ZSxyfTtjb25zdCBvPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9fZGF0YV9fLmdldCh0KX07Y29uc3QgYz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5oYXModCl9O3ZhciBmPXIoNjk0MjEpLHM9cig3MTMxNDgpO2NvbnN0IGk9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLl9fZGF0YV9fO2lmKHIgaW5zdGFuY2VvZiBuLmRlZmF1bHQpe3ZhciB1PXIuX19kYXRhX187aWYoIWYuZGVmYXVsdHx8dS5sZW5ndGg8MTk5KXJldHVybiB1LnB1c2goW3QsZV0pLHRoaXMuc2l6ZT0rK3Iuc2l6ZSx0aGlzO3I9dGhpcy5fX2RhdGFfXz1uZXcgcy5kZWZhdWx0KHUpfXJldHVybiByLnNldCh0LGUpLHRoaXMuc2l6ZT1yLnNpemUsdGhpc307ZnVuY3Rpb24gbCh0KXt2YXIgZT10aGlzLl9fZGF0YV9fPW5ldyBuLmRlZmF1bHQodCk7dGhpcy5zaXplPWUuc2l6ZX1sLnByb3RvdHlwZS5jbGVhcj11LGwucHJvdG90eXBlLmRlbGV0ZT1hLGwucHJvdG90eXBlLmdldD1vLGwucHJvdG90eXBlLmhhcz1jLGwucHJvdG90eXBlLnNldD1pO2NvbnN0IGQ9bH0sODY1MzMwKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPXIoOTgxNTIzKS5kZWZhdWx0LlVpbnQ4QXJyYXl9LDkyODQ1Myh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cigxNjIzMTYpLHU9cig5ODE1MjMpO2NvbnN0IGE9KDAsbi5kZWZhdWx0KSh1LmRlZmF1bHQsIldlYWtNYXAiKX0sCjk4NDEzOSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0tMSxuPW51bGw9PXQ/MDp0Lmxlbmd0aDsrK3I8biYmITEhPT1lKHRbcl0scix0KTspO3JldHVybiB0fX0sMjI0NDE2KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PmN9KTt2YXIgbj1yKDY4ODk2NSk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4gdCE9dH07Y29uc3QgYT1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBuPXItMSx1PXQubGVuZ3RoOysrbjx1OylpZih0W25dPT09ZSlyZXR1cm4gbjtyZXR1cm4tMX07Y29uc3Qgbz1mdW5jdGlvbih0LGUscil7cmV0dXJuIGU9PWU/YSh0LGUscik6KDAsbi5kZWZhdWx0KSh0LHUscil9O2NvbnN0IGM9ZnVuY3Rpb24odCxlKXtyZXR1cm4hIShudWxsPT10PzA6dC5sZW5ndGgpJiZvKHQsZSwwKT4tMX19LDgyNTAzOSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBuPS0xLHU9bnVsbD09dD8wOnQubGVuZ3RoOysrbjx1OylpZihyKGUsdFtuXSkpcmV0dXJuITA7cmV0dXJuITF9fSw4MjA5NzUodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+aX0pO2NvbnN0IG49ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9LTEsbj1BcnJheSh0KTsrK3I8dDspbltyXT1lKHIpO3JldHVybiBufTt2YXIgdT1yKDUzMTU1NyksYT1yKDI5NTYzNSksbz1yKDY1OTAxOCksYz1yKDkyMTE0MyksZj1yKDE2NTI2Nykscz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2NvbnN0IGk9ZnVuY3Rpb24odCxlKXt2YXIgcj0oMCxhLmRlZmF1bHQpKHQpLGk9IXImJigwLHUuZGVmYXVsdCkodCksbD0hciYmIWkmJigwLG8uZGVmYXVsdCkodCksZD0hciYmIWkmJiFsJiYoMCxmLmRlZmF1bHQpKHQpLHY9cnx8aXx8bHx8ZCxwPXY/bih0Lmxlbmd0aCxTdHJpbmcpOltdLGI9cC5sZW5ndGg7Zm9yKHZhciB5IGluIHQpIWUmJiFzLmNhbGwodCx5KXx8diYmKCJsZW5ndGgiPT15fHxsJiYoIm9mZnNldCI9PXl8fCJwYXJlbnQiPT15KXx8ZCYmKCJidWZmZXIiPT15fHwiYnl0ZUxlbmd0aCI9PXl8fCJieXRlT2Zmc2V0Ij09eSl8fCgwLGMuZGVmYXVsdCkoeSxiKSl8fHAucHVzaCh5KTtyZXR1cm4gcH19LDQ0ODYyNih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0tMSxuPWUubGVuZ3RoLHU9dC5sZW5ndGg7KytyPG47KXRbdStyXT1lW3JdO3JldHVybiB0fX0sMTY4NTMzKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm99KTt2YXIgbj1yKDI1NDczOCksdT1yKDkxMDc3OCksYT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2NvbnN0IG89ZnVuY3Rpb24odCxlLHIpe3ZhciBvPXRbZV07YS5jYWxsKHQsZSkmJigwLHUuZGVmYXVsdCkobyxyKSYmKHZvaWQgMCE9PXJ8fGUgaW4gdCl8fCgwLG4uZGVmYXVsdCkodCxlLHIpfX0sMjU0NzM4KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgbj1yKDM2MDQ5KTtjb25zdCB1PWZ1bmN0aW9uKHQsZSxyKXsiX19wcm90b19fIj09ZSYmbi5kZWZhdWx0PygwLG4uZGVmYXVsdCkodCxlLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCx2YWx1ZTpyLHdyaXRhYmxlOiEwfSk6dFtlXT1yfX0sNDkzMDE4KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pkh9KTt2YXIgbj1yKDg4NjUxNCksdT1yKDk4NDEzOSksYT1yKDE2ODUzMyksbz1yKDYxODU3KSxjPXIoMzA5MDgwKTtjb25zdCBmPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQmJigwLG8uZGVmYXVsdCkoZSwoMCxjLmRlZmF1bHQpKGUpLHQpfTt2YXIgcz1yKDIxNzQ1Nyk7Y29uc3QgaT1mdW5jdGlvbih0LGUpe3JldHVybiB0JiYoMCxvLmRlZmF1bHQpKGUsKDAscy5kZWZhdWx0KShlKSx0KX07dmFyIGw9cig0ODcwNjApLGQ9cig3MDU3NDkpLHY9cigyMzA5NTEpO2NvbnN0IHA9ZnVuY3Rpb24odCxlKXtyZXR1cm4oMCxvLmRlZmF1bHQpKHQsKDAsdi5kZWZhdWx0KSh0KSxlKX07dmFyIGI9cigxMTY2NDEpO2NvbnN0IHk9ZnVuY3Rpb24odCxlKXtyZXR1cm4oMCxvLmRlZmF1bHQpKHQsKDAsYi5kZWZhdWx0KSh0KSxlKX07dmFyIGg9cig4MDYyNDApLGo9cig5OTE1OTkpLGc9cig5Njk3ODUpLHc9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBfPWZ1bmN0aW9uKHQpe3ZhciBlPXQubGVuZ3RoLHI9bmV3IHQuY29uc3RydWN0b3IoZSk7cmV0dXJuIGUmJiJzdHJpbmciPT10eXBlb2YgdFswXSYmdy5jYWxsKHQsImluZGV4IikmJihyLmluZGV4PXQuaW5kZXgsci5pbnB1dD10LmlucHV0KSxyfTt2YXIgQT1yKDM3NzI1MSk7Y29uc3QgbT1mdW5jdGlvbih0LGUpe3ZhciByPWU/KDAsQS5kZWZhdWx0KSh0LmJ1ZmZlcik6dC5idWZmZXI7cmV0dXJuIG5ldyB0LmNvbnN0cnVjdG9yKHIsdC5ieXRlT2Zmc2V0LHQuYnl0ZUxlbmd0aCl9O3ZhciBPPS9cdyokLztjb25zdCB4PWZ1bmN0aW9uKHQpe3ZhciBlPW5ldyB0LmNvbnN0cnVjdG9yKHQuc291cmNlLE8uZXhlYyh0KSk7cmV0dXJuIGUubGFzdEluZGV4PXQubGFzdEluZGV4LGV9O3ZhciBVPXIoODcyOTk5KSxFPVUuZGVmYXVsdD9VLmRlZmF1bHQucHJvdG90eXBlOnZvaWQgMCxUPUU/RS52YWx1ZU9mOnZvaWQgMDtjb25zdCBTPWZ1bmN0aW9uKHQpe3JldHVybiBUP09iamVjdChULmNhbGwodCkpOnt9fTt2YXIgST1yKDEzOTA3KTtjb25zdCBNPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10LmNvbnN0cnVjdG9yO3N3aXRjaChlKXtjYXNlIltvYmplY3QgQXJyYXlCdWZmZXJdIjpyZXR1cm4oMCxBLmRlZmF1bHQpKHQpO2Nhc2UiW29iamVjdCBCb29sZWFuXSI6Y2FzZSJbb2JqZWN0IERhdGVdIjpyZXR1cm4gbmV3IG4oK3QpO2Nhc2UiW29iamVjdCBEYXRhVmlld10iOnJldHVybiBtKHQscik7Y2FzZSJbb2JqZWN0IEZsb2F0MzJBcnJheV0iOmNhc2UiW29iamVjdCBGbG9hdDY0QXJyYXldIjoKY2FzZSJbb2JqZWN0IEludDhBcnJheV0iOmNhc2UiW29iamVjdCBJbnQxNkFycmF5XSI6Y2FzZSJbb2JqZWN0IEludDMyQXJyYXldIjpjYXNlIltvYmplY3QgVWludDhBcnJheV0iOmNhc2UiW29iamVjdCBVaW50OENsYW1wZWRBcnJheV0iOmNhc2UiW29iamVjdCBVaW50MTZBcnJheV0iOmNhc2UiW29iamVjdCBVaW50MzJBcnJheV0iOnJldHVybigwLEkuZGVmYXVsdCkodCxyKTtjYXNlIltvYmplY3QgTWFwXSI6Y2FzZSJbb2JqZWN0IFNldF0iOnJldHVybiBuZXcgbjtjYXNlIltvYmplY3QgTnVtYmVyXSI6Y2FzZSJbb2JqZWN0IFN0cmluZ10iOnJldHVybiBuZXcgbih0KTtjYXNlIltvYmplY3QgUmVnRXhwXSI6cmV0dXJuIHgodCk7Y2FzZSJbb2JqZWN0IFN5bWJvbF0iOnJldHVybiBTKHQpfX07dmFyIEI9cig4MDc1NzUpLFA9cigyOTU2MzUpLGs9cig2NTkwMTgpLHo9cig2NzI1MTEpLEM9cig4ODAxMTUpLEQ9cigzNjA2MjApO2NvbnN0IEY9ZnVuY3Rpb24odCl7cmV0dXJuKDAsRC5kZWZhdWx0KSh0KSYmIltvYmplY3QgU2V0XSI9PSgwLGcuZGVmYXVsdCkodCl9O3ZhciBMPXIoODk5MzM5KSxOPXIoMzY5ODk5KSxXPU4uZGVmYXVsdCYmTi5kZWZhdWx0LmlzU2V0O2NvbnN0IFY9Vz8oMCxMLmRlZmF1bHQpKFcpOkY7dmFyICQ9IltvYmplY3QgQXJndW1lbnRzXSIsUj0iW29iamVjdCBGdW5jdGlvbl0iLHE9IltvYmplY3QgT2JqZWN0XSIsRz17fTtHWyRdPUdbIltvYmplY3QgQXJyYXldIl09R1siW29iamVjdCBBcnJheUJ1ZmZlcl0iXT1HWyJbb2JqZWN0IERhdGFWaWV3XSJdPUdbIltvYmplY3QgQm9vbGVhbl0iXT1HWyJbb2JqZWN0IERhdGVdIl09R1siW29iamVjdCBGbG9hdDMyQXJyYXldIl09R1siW29iamVjdCBGbG9hdDY0QXJyYXldIl09R1siW29iamVjdCBJbnQ4QXJyYXldIl09R1siW29iamVjdCBJbnQxNkFycmF5XSJdPUdbIltvYmplY3QgSW50MzJBcnJheV0iXT1HWyJbb2JqZWN0IE1hcF0iXT1HWyJbb2JqZWN0IE51bWJlcl0iXT1HW3FdPUdbIltvYmplY3QgUmVnRXhwXSJdPUdbIltvYmplY3QgU2V0XSJdPUdbIltvYmplY3QgU3RyaW5nXSJdPUdbIltvYmplY3QgU3ltYm9sXSJdPUdbIltvYmplY3QgVWludDhBcnJheV0iXT1HWyJbb2JqZWN0IFVpbnQ4Q2xhbXBlZEFycmF5XSJdPUdbIltvYmplY3QgVWludDE2QXJyYXldIl09R1siW29iamVjdCBVaW50MzJBcnJheV0iXT0hMCxHWyJbb2JqZWN0IEVycm9yXSJdPUdbUl09R1siW29iamVjdCBXZWFrTWFwXSJdPSExO2NvbnN0IEg9ZnVuY3Rpb24gdChlLHIsbyx2LGIsdyl7dmFyIEEsbT0xJnIsTz0yJnIseD00JnI7aWYobyYmKEE9Yj9vKGUsdixiLHcpOm8oZSkpLHZvaWQgMCE9PUEpcmV0dXJuIEE7aWYoISgwLEMuZGVmYXVsdCkoZSkpcmV0dXJuIGU7dmFyIFU9KDAsUC5kZWZhdWx0KShlKTtpZihVKXtpZihBPV8oZSksIW0pcmV0dXJuKDAsZC5kZWZhdWx0KShlLEEpfWVsc2V7dmFyIEU9KDAsZy5kZWZhdWx0KShlKSxUPUU9PVJ8fCJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSI9PUU7aWYoKDAsay5kZWZhdWx0KShlKSlyZXR1cm4oMCxsLmRlZmF1bHQpKGUsbSk7aWYoRT09cXx8RT09JHx8VCYmIWIpe2lmKEE9T3x8VD97fTooMCxCLmRlZmF1bHQpKGUpLCFtKXJldHVybiBPP3koZSxpKEEsZSkpOnAoZSxmKEEsZSkpfWVsc2V7aWYoIUdbRV0pcmV0dXJuIGI/ZTp7fTtBPU0oZSxFLG0pfX13fHwodz1uZXcgbi5kZWZhdWx0KTt2YXIgUz13LmdldChlKTtpZihTKXJldHVybiBTO3cuc2V0KGUsQSksVihlKT9lLmZvckVhY2goKGZ1bmN0aW9uKG4pe0EuYWRkKHQobixyLG8sbixlLHcpKX0pKTooMCx6LmRlZmF1bHQpKGUpJiZlLmZvckVhY2goKGZ1bmN0aW9uKG4sdSl7QS5zZXQodSx0KG4scixvLHUsZSx3KSl9KSk7dmFyIEk9eD9PP2ouZGVmYXVsdDpoLmRlZmF1bHQ6Tz9zLmRlZmF1bHQ6Yy5kZWZhdWx0LEQ9VT92b2lkIDA6SShlKTtyZXR1cm4oMCx1LmRlZmF1bHQpKER8fGUsKGZ1bmN0aW9uKG4sdSl7RCYmKG49ZVt1PW5dKSwoMCxhLmRlZmF1bHQpKEEsdSx0KG4scixvLHUsZSx3KSl9KSksQX19LDg1MTA4Mih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cig4ODAxMTUpLHU9T2JqZWN0LmNyZWF0ZTtjb25zdCBhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe31yZXR1cm4gZnVuY3Rpb24oZSl7aWYoISgwLG4uZGVmYXVsdCkoZSkpcmV0dXJue307aWYodSlyZXR1cm4gdShlKTt0LnByb3RvdHlwZT1lO3ZhciByPW5ldyB0O3JldHVybiB0LnByb3RvdHlwZT12b2lkIDAscn19KCl9LDY4ODk2NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUscixuKXtmb3IodmFyIHU9dC5sZW5ndGgsYT1yKyhuPzE6LTEpO24/YS0tOisrYTx1OylpZihlKHRbYV0sYSx0KSlyZXR1cm4gYTtyZXR1cm4tMX19LDkxNjA4NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cig0NDg2MjYpLHU9cigyOTU2MzUpO2NvbnN0IGE9ZnVuY3Rpb24odCxlLHIpe3ZhciBhPWUodCk7cmV0dXJuKDAsdS5kZWZhdWx0KSh0KT9hOigwLG4uZGVmYXVsdCkoYSxyKHQpKX19LDgzMDg3NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig2OTM5NDEpO2NvbnN0IHU9KDAscigxMzk4NDkpLmRlZmF1bHQpKE9iamVjdC5rZXlzLE9iamVjdCk7dmFyIGE9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBvPWZ1bmN0aW9uKHQpe2lmKCEoMCxuLmRlZmF1bHQpKHQpKXJldHVybiB1KHQpO3ZhciBlPVtdO2Zvcih2YXIgciBpbiBPYmplY3QodCkpYS5jYWxsKHQscikmJiJjb25zdHJ1Y3RvciIhPXImJmUucHVzaChyKTtyZXR1cm4gZX19LDg5OTMzOSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQoZSl9fX0sNzEyODAxKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuaGFzKGUpfX0sCjM3NzI1MSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT51fSk7dmFyIG49cig4NjUzMzApO2NvbnN0IHU9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IHQuY29uc3RydWN0b3IodC5ieXRlTGVuZ3RoKTtyZXR1cm4gbmV3IG4uZGVmYXVsdChlKS5zZXQobmV3IG4uZGVmYXVsdCh0KSksZX19LDQ4NzA2MCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5mfSk7dmFyIG49cig5ODE1MjMpLHU9Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiZleHBvcnRzJiYhZXhwb3J0cy5ub2RlVHlwZSYmZXhwb3J0cyxhPXUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUmJiFtb2R1bGUubm9kZVR5cGUmJm1vZHVsZSxvPWEmJmEuZXhwb3J0cz09PXU/bi5kZWZhdWx0LkJ1ZmZlcjp2b2lkIDAsYz1vP28uYWxsb2NVbnNhZmU6dm9pZCAwO2NvbnN0IGY9ZnVuY3Rpb24odCxlKXtpZihlKXJldHVybiB0LnNsaWNlKCk7dmFyIHI9dC5sZW5ndGgsbj1jP2Mocik6bmV3IHQuY29uc3RydWN0b3Iocik7cmV0dXJuIHQuY29weShuKSxufX0sMTM5MDcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+dX0pO3ZhciBuPXIoMzc3MjUxKTtjb25zdCB1PWZ1bmN0aW9uKHQsZSl7dmFyIHI9ZT8oMCxuLmRlZmF1bHQpKHQuYnVmZmVyKTp0LmJ1ZmZlcjtyZXR1cm4gbmV3IHQuY29uc3RydWN0b3Iocix0LmJ5dGVPZmZzZXQsdC5sZW5ndGgpfX0sNzA1NzQ5KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKHQsZSl7dmFyIHI9LTEsbj10Lmxlbmd0aDtmb3IoZXx8KGU9QXJyYXkobikpOysrcjxuOyllW3JdPXRbcl07cmV0dXJuIGV9fSw2MTg1Nyh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cigxNjg1MzMpLHU9cigyNTQ3MzgpO2NvbnN0IGE9ZnVuY3Rpb24odCxlLHIsYSl7dmFyIG89IXI7cnx8KHI9e30pO2Zvcih2YXIgYz0tMSxmPWUubGVuZ3RoOysrYzxmOyl7dmFyIHM9ZVtjXSxpPWE/YShyW3NdLHRbc10scyxyLHQpOnZvaWQgMDt2b2lkIDA9PT1pJiYoaT10W3NdKSxvPygwLHUuZGVmYXVsdCkocixzLGkpOigwLG4uZGVmYXVsdCkocixzLGkpfXJldHVybiByfX0sMzYwNDkodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+dX0pO3ZhciBuPXIoMTYyMzE2KTtjb25zdCB1PWZ1bmN0aW9uKCl7dHJ5e3ZhciB0PSgwLG4uZGVmYXVsdCkoT2JqZWN0LCJkZWZpbmVQcm9wZXJ0eSIpO3JldHVybiB0KHt9LCIiLHt9KSx0fWNhdGNoKHQpe319KCl9LDgwNjI0MCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig5MTYwODUpLHU9cigyMzA5NTEpLGE9cigzMDkwODApO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuKDAsbi5kZWZhdWx0KSh0LGEuZGVmYXVsdCx1LmRlZmF1bHQpfX0sOTkxNTk5KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm99KTt2YXIgbj1yKDkxNjA4NSksdT1yKDExNjY0MSksYT1yKDIxNzQ1Nyk7Y29uc3Qgbz1mdW5jdGlvbih0KXtyZXR1cm4oMCxuLmRlZmF1bHQpKHQsYS5kZWZhdWx0LHUuZGVmYXVsdCl9fSwzOTI1NDUodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49KDAscigxMzk4NDkpLmRlZmF1bHQpKE9iamVjdC5nZXRQcm90b3R5cGVPZixPYmplY3QpfSwyMzA5NTEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+Y30pO2NvbnN0IG49ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9LTEsbj1udWxsPT10PzA6dC5sZW5ndGgsdT0wLGE9W107KytyPG47KXt2YXIgbz10W3JdO2UobyxyLHQpJiYoYVt1KytdPW8pfXJldHVybiBhfTt2YXIgdT1yKDE3NzY1NSksYT1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLG89T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scztjb25zdCBjPW8/ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/W106KHQ9T2JqZWN0KHQpLG4obyh0KSwoZnVuY3Rpb24oZSl7cmV0dXJuIGEuY2FsbCh0LGUpfSkpKX06dS5kZWZhdWx0fSwxMTY2NDEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+Y30pO3ZhciBuPXIoNDQ4NjI2KSx1PXIoMzkyNTQ1KSxhPXIoMjMwOTUxKSxvPXIoMTc3NjU1KTtjb25zdCBjPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM/ZnVuY3Rpb24odCl7Zm9yKHZhciBlPVtdO3Q7KSgwLG4uZGVmYXVsdCkoZSwoMCxhLmRlZmF1bHQpKHQpKSx0PSgwLHUuZGVmYXVsdCkodCk7cmV0dXJuIGV9Om8uZGVmYXVsdH0sOTY5Nzg1KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm19KTt2YXIgbj1yKDE2MjMxNiksdT1yKDk4MTUyMyk7Y29uc3QgYT0oMCxuLmRlZmF1bHQpKHUuZGVmYXVsdCwiRGF0YVZpZXciKTt2YXIgbz1yKDY5NDIxKTtjb25zdCBjPSgwLG4uZGVmYXVsdCkodS5kZWZhdWx0LCJQcm9taXNlIik7dmFyIGY9cig0MTQxMjMpLHM9cig5Mjg0NTMpLGk9cigxNzg0OTcpLGw9cig3MzA1MDMpLGQ9IltvYmplY3QgTWFwXSIsdj0iW29iamVjdCBQcm9taXNlXSIscD0iW29iamVjdCBTZXRdIixiPSJbb2JqZWN0IFdlYWtNYXBdIix5PSJbb2JqZWN0IERhdGFWaWV3XSIsaD0oMCxsLmRlZmF1bHQpKGEpLGo9KDAsbC5kZWZhdWx0KShvLmRlZmF1bHQpLGc9KDAsbC5kZWZhdWx0KShjKSx3PSgwLGwuZGVmYXVsdCkoZi5kZWZhdWx0KSxfPSgwLGwuZGVmYXVsdCkocy5kZWZhdWx0KSxBPWkuZGVmYXVsdDsoYSYmQShuZXcgYShuZXcgQXJyYXlCdWZmZXIoMSkpKSE9eXx8by5kZWZhdWx0JiZBKG5ldyBvLmRlZmF1bHQpIT1kfHxjJiZBKGMucmVzb2x2ZSgpKSE9dnx8Zi5kZWZhdWx0JiZBKG5ldyBmLmRlZmF1bHQpIT1wfHxzLmRlZmF1bHQmJkEobmV3IHMuZGVmYXVsdCkhPWIpJiYoQT1mdW5jdGlvbih0KXt2YXIgZT0oMCxpLmRlZmF1bHQpKHQpLHI9IltvYmplY3QgT2JqZWN0XSI9PWU/dC5jb25zdHJ1Y3Rvcjp2b2lkIDAsbj1yPygwLGwuZGVmYXVsdCkocik6IiI7aWYobilzd2l0Y2gobil7Y2FzZSBoOgpyZXR1cm4geTtjYXNlIGo6cmV0dXJuIGQ7Y2FzZSBnOnJldHVybiB2O2Nhc2UgdzpyZXR1cm4gcDtjYXNlIF86cmV0dXJuIGJ9cmV0dXJuIGV9KTtjb25zdCBtPUF9LDgwNzU3NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig4NTEwODIpLHU9cigzOTI1NDUpLGE9cig2OTM5NDEpO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuImZ1bmN0aW9uIiE9dHlwZW9mIHQuY29uc3RydWN0b3J8fCgwLGEuZGVmYXVsdCkodCk/e306KDAsbi5kZWZhdWx0KSgoMCx1LmRlZmF1bHQpKHQpKX19LDkyMTE0Myh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT51fSk7dmFyIG49L14oPzowfFsxLTldXGQqKSQvO2NvbnN0IHU9ZnVuY3Rpb24odCxlKXt2YXIgcj10eXBlb2YgdDtyZXR1cm4hIShlPWU/PzkwMDcxOTkyNTQ3NDA5OTEpJiYoIm51bWJlciI9PXJ8fCJzeW1ib2wiIT1yJiZuLnRlc3QodCkpJiZ0Pi0xJiZ0JTE9PTAmJnQ8ZX19LDY5Mzk0MSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT51fSk7dmFyIG49T2JqZWN0LnByb3RvdHlwZTtjb25zdCB1PWZ1bmN0aW9uKHQpe3ZhciBlPXQmJnQuY29uc3RydWN0b3I7cmV0dXJuIHQ9PT0oImZ1bmN0aW9uIj09dHlwZW9mIGUmJmUucHJvdG90eXBlfHxuKX19LDM2OTg5OSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5jfSk7dmFyIG49cig2MDI5NDIpLHU9Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiZleHBvcnRzJiYhZXhwb3J0cy5ub2RlVHlwZSYmZXhwb3J0cyxhPXUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUmJiFtb2R1bGUubm9kZVR5cGUmJm1vZHVsZSxvPWEmJmEuZXhwb3J0cz09PXUmJm4uZGVmYXVsdC5wcm9jZXNzO2NvbnN0IGM9ZnVuY3Rpb24oKXt0cnl7dmFyIHQ9YSYmYS5yZXF1aXJlJiZhLnJlcXVpcmUoInV0aWwiKS50eXBlcztyZXR1cm4gdHx8byYmby5iaW5kaW5nJiZvLmJpbmRpbmcoInV0aWwiKX1jYXRjaCh0KXt9fSgpfSwxMzk4NDkodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49ZnVuY3Rpb24odCxlKXtyZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIHQoZShyKSl9fX0sOTcyMDE3KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKHQpe3ZhciBlPS0xLHI9QXJyYXkodC5zaXplKTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbih0KXtyWysrZV09dH0pKSxyfX0sMjAzNjgxKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgbj1yKDQ5MzAxOCk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4oMCxuLmRlZmF1bHQpKHQsNSl9fSw1NDc4NTEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+c30pO3ZhciBuPXIoODgwMTE1KSx1PXIoOTgxNTIzKTtjb25zdCBhPWZ1bmN0aW9uKCl7cmV0dXJuIHUuZGVmYXVsdC5EYXRlLm5vdygpfTt2YXIgbz1yKDQwNjQ0OSksYz1NYXRoLm1heCxmPU1hdGgubWluO2NvbnN0IHM9ZnVuY3Rpb24odCxlLHIpe3ZhciB1LHMsaSxsLGQsdixwPTAsYj0hMSx5PSExLGg9ITA7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhwZWN0ZWQgYSBmdW5jdGlvbiIpO2Z1bmN0aW9uIGooZSl7dmFyIHI9dSxuPXM7cmV0dXJuIHU9cz12b2lkIDAscD1lLGw9dC5hcHBseShuLHIpfWZ1bmN0aW9uIGcodCl7dmFyIHI9dC12O3JldHVybiB2b2lkIDA9PT12fHxyPj1lfHxyPDB8fHkmJnQtcD49aX1mdW5jdGlvbiB3KCl7dmFyIHQ9YSgpO2lmKGcodCkpcmV0dXJuIF8odCk7ZD1zZXRUaW1lb3V0KHcsZnVuY3Rpb24odCl7dmFyIHI9ZS0odC12KTtyZXR1cm4geT9mKHIsaS0odC1wKSk6cn0odCkpfWZ1bmN0aW9uIF8odCl7cmV0dXJuIGQ9dm9pZCAwLGgmJnU/aih0KToodT1zPXZvaWQgMCxsKX1mdW5jdGlvbiBBKCl7dmFyIHQ9YSgpLHI9Zyh0KTtpZih1PWFyZ3VtZW50cyxzPXRoaXMsdj10LHIpe2lmKHZvaWQgMD09PWQpcmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBwPXQsZD1zZXRUaW1lb3V0KHcsZSksYj9qKHQpOmx9KHYpO2lmKHkpcmV0dXJuIGNsZWFyVGltZW91dChkKSxkPXNldFRpbWVvdXQodyxlKSxqKHYpfXJldHVybiB2b2lkIDA9PT1kJiYoZD1zZXRUaW1lb3V0KHcsZSkpLGx9cmV0dXJuIGU9KDAsby5kZWZhdWx0KShlKXx8MCwoMCxuLmRlZmF1bHQpKHIpJiYoYj0hIXIubGVhZGluZyxpPSh5PSJtYXhXYWl0ImluIHIpP2MoKDAsby5kZWZhdWx0KShyLm1heFdhaXQpfHwwLGUpOmksaD0idHJhaWxpbmciaW4gcj8hIXIudHJhaWxpbmc6aCksQS5jYW5jZWw9ZnVuY3Rpb24oKXt2b2lkIDAhPT1kJiZjbGVhclRpbWVvdXQoZCkscD0wLHU9dj1zPWQ9dm9pZCAwfSxBLmZsdXNoPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMD09PWQ/bDpfKGEoKSl9LEF9fSw1MzE1NTcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+aX0pO3ZhciBuPXIoMTc4NDk3KSx1PXIoMzYwNjIwKTtjb25zdCBhPWZ1bmN0aW9uKHQpe3JldHVybigwLHUuZGVmYXVsdCkodCkmJiJbb2JqZWN0IEFyZ3VtZW50c10iPT0oMCxuLmRlZmF1bHQpKHQpfTt2YXIgbz1PYmplY3QucHJvdG90eXBlLGM9by5oYXNPd25Qcm9wZXJ0eSxmPW8ucHJvcGVydHlJc0VudW1lcmFibGUscz1hKGZ1bmN0aW9uKCl7cmV0dXJuIGFyZ3VtZW50c30oKSk/YTpmdW5jdGlvbih0KXtyZXR1cm4oMCx1LmRlZmF1bHQpKHQpJiZjLmNhbGwodCwiY2FsbGVlIikmJiFmLmNhbGwodCwiY2FsbGVlIil9O2NvbnN0IGk9c30sMjk1NjM1KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPUFycmF5LmlzQXJyYXl9LDM5MjkwOCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cig5MjgxMzIpLHU9cig5OTA2MDQpO2NvbnN0IGE9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGwhPXQmJigwLHUuZGVmYXVsdCkodC5sZW5ndGgpJiYhKDAsbi5kZWZhdWx0KSh0KX19LDY1OTAxOCh0LGUscil7CiJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+Zn0pO3ZhciBuPXIoOTgxNTIzKTtjb25zdCB1PWZ1bmN0aW9uKCl7cmV0dXJuITF9O3ZhciBhPSJvYmplY3QiPT10eXBlb2YgZXhwb3J0cyYmZXhwb3J0cyYmIWV4cG9ydHMubm9kZVR5cGUmJmV4cG9ydHMsbz1hJiYib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmbW9kdWxlJiYhbW9kdWxlLm5vZGVUeXBlJiZtb2R1bGUsYz1vJiZvLmV4cG9ydHM9PT1hP24uZGVmYXVsdC5CdWZmZXI6dm9pZCAwO2NvbnN0IGY9KGM/Yy5pc0J1ZmZlcjp2b2lkIDApfHx1fSw5OTA2MDQodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49ZnVuY3Rpb24odCl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0JiZ0Pi0xJiZ0JTE9PTAmJnQ8PTkwMDcxOTkyNTQ3NDA5OTF9fSw2NzI1MTEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+c30pO3ZhciBuPXIoOTY5Nzg1KSx1PXIoMzYwNjIwKTtjb25zdCBhPWZ1bmN0aW9uKHQpe3JldHVybigwLHUuZGVmYXVsdCkodCkmJiJbb2JqZWN0IE1hcF0iPT0oMCxuLmRlZmF1bHQpKHQpfTt2YXIgbz1yKDg5OTMzOSksYz1yKDM2OTg5OSksZj1jLmRlZmF1bHQmJmMuZGVmYXVsdC5pc01hcDtjb25zdCBzPWY/KDAsby5kZWZhdWx0KShmKTphfSwzNjA2MjAodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49ZnVuY3Rpb24odCl7cmV0dXJuIG51bGwhPXQmJiJvYmplY3QiPT10eXBlb2YgdH19LDcxNzMzMih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cigxNzg0OTcpLHU9cigzNjA2MjApO2NvbnN0IGE9ZnVuY3Rpb24odCl7cmV0dXJuInN5bWJvbCI9PXR5cGVvZiB0fHwoMCx1LmRlZmF1bHQpKHQpJiYiW29iamVjdCBTeW1ib2xdIj09KDAsbi5kZWZhdWx0KSh0KX19LDE2NTI2Nyh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5sfSk7dmFyIG49cigxNzg0OTcpLHU9cig5OTA2MDQpLGE9cigzNjA2MjApLG89e307b1siW29iamVjdCBGbG9hdDMyQXJyYXldIl09b1siW29iamVjdCBGbG9hdDY0QXJyYXldIl09b1siW29iamVjdCBJbnQ4QXJyYXldIl09b1siW29iamVjdCBJbnQxNkFycmF5XSJdPW9bIltvYmplY3QgSW50MzJBcnJheV0iXT1vWyJbb2JqZWN0IFVpbnQ4QXJyYXldIl09b1siW29iamVjdCBVaW50OENsYW1wZWRBcnJheV0iXT1vWyJbb2JqZWN0IFVpbnQxNkFycmF5XSJdPW9bIltvYmplY3QgVWludDMyQXJyYXldIl09ITAsb1siW29iamVjdCBBcmd1bWVudHNdIl09b1siW29iamVjdCBBcnJheV0iXT1vWyJbb2JqZWN0IEFycmF5QnVmZmVyXSJdPW9bIltvYmplY3QgQm9vbGVhbl0iXT1vWyJbb2JqZWN0IERhdGFWaWV3XSJdPW9bIltvYmplY3QgRGF0ZV0iXT1vWyJbb2JqZWN0IEVycm9yXSJdPW9bIltvYmplY3QgRnVuY3Rpb25dIl09b1siW29iamVjdCBNYXBdIl09b1siW29iamVjdCBOdW1iZXJdIl09b1siW29iamVjdCBPYmplY3RdIl09b1siW29iamVjdCBSZWdFeHBdIl09b1siW29iamVjdCBTZXRdIl09b1siW29iamVjdCBTdHJpbmddIl09b1siW29iamVjdCBXZWFrTWFwXSJdPSExO2NvbnN0IGM9ZnVuY3Rpb24odCl7cmV0dXJuKDAsYS5kZWZhdWx0KSh0KSYmKDAsdS5kZWZhdWx0KSh0Lmxlbmd0aCkmJiEhb1soMCxuLmRlZmF1bHQpKHQpXX07dmFyIGY9cig4OTkzMzkpLHM9cigzNjk4OTkpLGk9cy5kZWZhdWx0JiZzLmRlZmF1bHQuaXNUeXBlZEFycmF5O2NvbnN0IGw9aT8oMCxmLmRlZmF1bHQpKGkpOmN9LDMwOTA4MCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig4MjA5NzUpLHU9cig4MzA4NzUpLGE9cigzOTI5MDgpO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuKDAsYS5kZWZhdWx0KSh0KT8oMCxuLmRlZmF1bHQpKHQpOigwLHUuZGVmYXVsdCkodCl9fSwyMTc0NTcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+aX0pO3ZhciBuPXIoODIwOTc1KSx1PXIoODgwMTE1KSxhPXIoNjkzOTQxKTtjb25zdCBvPWZ1bmN0aW9uKHQpe3ZhciBlPVtdO2lmKG51bGwhPXQpZm9yKHZhciByIGluIE9iamVjdCh0KSllLnB1c2gocik7cmV0dXJuIGV9O3ZhciBjPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7Y29uc3QgZj1mdW5jdGlvbih0KXtpZighKDAsdS5kZWZhdWx0KSh0KSlyZXR1cm4gbyh0KTt2YXIgZT0oMCxhLmRlZmF1bHQpKHQpLHI9W107Zm9yKHZhciBuIGluIHQpKCJjb25zdHJ1Y3RvciIhPW58fCFlJiZjLmNhbGwodCxuKSkmJnIucHVzaChuKTtyZXR1cm4gcn07dmFyIHM9cigzOTI5MDgpO2NvbnN0IGk9ZnVuY3Rpb24odCl7cmV0dXJuKDAscy5kZWZhdWx0KSh0KT8oMCxuLmRlZmF1bHQpKHQsITApOmYodCl9fSw2NjMwNDYodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBuPXIoNzEzMTQ4KTtmdW5jdGlvbiB1KHQsZSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHR8fG51bGwhPWUmJiJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGEgZnVuY3Rpb24iKTt2YXIgcj1mdW5jdGlvbigpe3ZhciBuPWFyZ3VtZW50cyx1PWU/ZS5hcHBseSh0aGlzLG4pOm5bMF0sYT1yLmNhY2hlO2lmKGEuaGFzKHUpKXJldHVybiBhLmdldCh1KTt2YXIgbz10LmFwcGx5KHRoaXMsbik7cmV0dXJuIHIuY2FjaGU9YS5zZXQodSxvKXx8YSxvfTtyZXR1cm4gci5jYWNoZT1uZXcodS5DYWNoZXx8bi5kZWZhdWx0KSxyfXUuQ2FjaGU9bi5kZWZhdWx0O2NvbnN0IGE9dX0sODYyMzg4KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKCl7fX0sMTc3NjU1KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKCl7cmV0dXJuW119fSw1ODcxNjgodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBuPXIoNTQ3ODUxKSx1PXIoODgwMTE1KTtjb25zdCBhPWZ1bmN0aW9uKHQsZSxyKXsKdmFyIGE9ITAsbz0hMDtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBhIGZ1bmN0aW9uIik7cmV0dXJuKDAsdS5kZWZhdWx0KShyKSYmKGE9ImxlYWRpbmciaW4gcj8hIXIubGVhZGluZzphLG89InRyYWlsaW5nImluIHI/ISFyLnRyYWlsaW5nOm8pLCgwLG4uZGVmYXVsdCkodCxlLHtsZWFkaW5nOmEsbWF4V2FpdDplLHRyYWlsaW5nOm99KX19LDQwNjQ0OSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT52fSk7dmFyIG49L1xzLztjb25zdCB1PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10Lmxlbmd0aDtlLS0mJm4udGVzdCh0LmNoYXJBdChlKSk7KTtyZXR1cm4gZX07dmFyIGE9L15ccysvO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuIHQ/dC5zbGljZSgwLHUodCkrMSkucmVwbGFjZShhLCIiKTp0fTt2YXIgYz1yKDg4MDExNSksZj1yKDcxNzMzMikscz0vXlstK10weFswLTlhLWZdKyQvaSxpPS9eMGJbMDFdKyQvaSxsPS9eMG9bMC03XSskL2ksZD1wYXJzZUludDtjb25zdCB2PWZ1bmN0aW9uKHQpe2lmKCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gdDtpZigoMCxmLmRlZmF1bHQpKHQpKXJldHVybiBOYU47aWYoKDAsYy5kZWZhdWx0KSh0KSl7dmFyIGU9ImZ1bmN0aW9uIj09dHlwZW9mIHQudmFsdWVPZj90LnZhbHVlT2YoKTp0O3Q9KDAsYy5kZWZhdWx0KShlKT9lKyIiOmV9aWYoInN0cmluZyIhPXR5cGVvZiB0KXJldHVybiAwPT09dD90Oit0O3Q9byh0KTt2YXIgcj1pLnRlc3QodCk7cmV0dXJuIHJ8fGwudGVzdCh0KT9kKHQuc2xpY2UoMikscj8yOjgpOnMudGVzdCh0KT9OYU46K3R9fSwzNTI4MzcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+ZH0pO3ZhciBuPXIoMjY5MzY2KSx1PXIoMjI0NDE2KSxhPXIoODI1MDM5KSxvPXIoNzEyODAxKSxjPXIoNDE0MTIzKSxmPXIoODYyMzg4KSxzPXIoOTcyMDE3KTtjb25zdCBpPWMuZGVmYXVsdCYmMS8oMCxzLmRlZmF1bHQpKG5ldyBjLmRlZmF1bHQoWywtMF0pKVsxXT09MS8wP2Z1bmN0aW9uKHQpe3JldHVybiBuZXcgYy5kZWZhdWx0KHQpfTpmLmRlZmF1bHQ7Y29uc3QgbD1mdW5jdGlvbih0LGUscil7dmFyIGM9LTEsZj11LmRlZmF1bHQsbD10Lmxlbmd0aCxkPSEwLHY9W10scD12O2lmKHIpZD0hMSxmPWEuZGVmYXVsdDtlbHNlIGlmKGw+PTIwMCl7dmFyIGI9ZT9udWxsOmkodCk7aWYoYilyZXR1cm4oMCxzLmRlZmF1bHQpKGIpO2Q9ITEsZj1vLmRlZmF1bHQscD1uZXcgbi5kZWZhdWx0fWVsc2UgcD1lP1tdOnY7dDpmb3IoOysrYzxsOyl7dmFyIHk9dFtjXSxoPWU/ZSh5KTp5O2lmKHk9cnx8MCE9PXk/eTowLGQmJmg9PWgpe2Zvcih2YXIgaj1wLmxlbmd0aDtqLS07KWlmKHBbal09PT1oKWNvbnRpbnVlIHQ7ZSYmcC5wdXNoKGgpLHYucHVzaCh5KX1lbHNlIGYocCxoLHIpfHwocCE9PXYmJnAucHVzaChoKSx2LnB1c2goeSkpfXJldHVybiB2fTtjb25zdCBkPWZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0Lmxlbmd0aD9sKHQpOltdfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/58051.c5440665c3b32e6c6de8.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.495Z","timestamp":1785120634495,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/58051.c5440665c3b32e6c6de8.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-5d0\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:25\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: cdb27805d64dfb13bc31df4c0fbd7303\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1488,"size_decoded":1212,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1488), with no line terminators","md5":"cf65d352f7bbe1096200906298dfdaa4","sha1":"1ee5e8f8ec59df371481cf547e15a60aeb9861b1","sha256":"7d1408d461997bc322a57ca4f5d5ba5790cb74026412bfdea9daf11a791bb295","sha512":"15b40c4931e69256f4b949a92cca1ce21b6626a6c5c30b98f66992ecdbdf512f74c41ef4eba04ad2b96b2694b5985b1f52a6fc258bb9d31d03d7adb1b7d71ffc","ssdeep":"","tlshash":"6c3158897371e8707485985336aa58dc7a04cc390c4394facdf3eaaca0d197e8219737","first_seen":"2026-07-16T13:40:49.811222Z","last_seen":"2026-07-27T05:19:37.084848Z","times_seen":94,"resource_available":false,"data":"LmFycm93SWNvbi1ZVGp6dXk4eXtkaXNwbGF5OmlubGluZS1mbGV4O2hlaWdodDoxOHB4O21hcmdpbi1pbmxpbmUtZW5kOi00cHg7bWFyZ2luLWlubGluZS1zdGFydDo0cHg7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjM1cyBlYXNlO3dpZHRoOjE4cHh9LmFycm93SWNvbi1ZVGp6dXk4eS5kcm9wcGVkLVlUanp1eTh5e3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0uYXJyb3dJY29uLVlUanp1eTh5LmRyb3BwZWQtWVRqenV5OHk6ZGlyKHJ0bCl7dHJhbnNmb3JtOnJvdGF0ZSgtMTgwZGVnKX0uc3F1YXJlVGFiQnV0dG9uLVU3R1l1OEFtLnhsYXJnZS1VN0dZdThBbS5zZWxlY3RlZC1VN0dZdThBbXstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToyMHB4Oy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MzBweH0uc3F1YXJlVGFiQnV0dG9uLVU3R1l1OEFtLm1lZGl1bS1VN0dZdThBbS5zZWxlY3RlZC1VN0dZdThBbSwuc3F1YXJlVGFiQnV0dG9uLVU3R1l1OEFtLnNtYWxsLVU3R1l1OEFtLnNlbGVjdGVkLVU3R1l1OEFtLC5zcXVhcmVUYWJCdXR0b24tVTdHWXU4QW0ueGxhcmdlLVU3R1l1OEFtLnNlbGVjdGVkLVU3R1l1OEFte2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KX0uc3F1YXJlVGFiQnV0dG9uLVU3R1l1OEFtLm1lZGl1bS1VN0dZdThBbS5zZWxlY3RlZC1VN0dZdThBbSwuc3F1YXJlVGFiQnV0dG9uLVU3R1l1OEFtLnNtYWxsLVU3R1l1OEFtLnNlbGVjdGVkLVU3R1l1OEFtey0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE2cHg7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyNHB4fS5zcXVhcmVUYWJCdXR0b24tVTdHWXU4QW0ubWVkaXVtV2l0aFNtYWxsRm9udC1VN0dZdThBbS5zZWxlY3RlZC1VN0dZdThBbSwuc3F1YXJlVGFiQnV0dG9uLVU3R1l1OEFtLnhzbWFsbC1VN0dZdThBbS5zZWxlY3RlZC1VN0dZdThBbXtmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NDAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9"}},"time_used":5,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/71424.eaefaf568dc8f1d16228.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.192Z","timestamp":1785120634192,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/71424.eaefaf568dc8f1d16228.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-2389\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 96cc9765bbb095bdb011ee6472ee6ebf\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":9097,"size_decoded":3504,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3069)","md5":"d28b49d04557c0480cdbf81791cd43e4","sha1":"5e3a933096e33a38573e6f19d421af3adced7eb3","sha256":"21caef4db64aefa7c30365f0531a6b960cb10fa95ec42c10a6fa7de721bddee9","sha512":"087a004245d3199dec5b9b58bec642b846508dc967ba639a6b7eaa4289fe4a7bcca4cccaff9c3453cdc12b02032d564596001b3d891d12aaf21df4603b27a819","ssdeep":"96:BkL7dHrG9n2UbPK2Fv7927Erv8mYNWNPoHJuocGImcU8aG3y/J4Pphe8JxEpUOPs:BM7kNIAeyTmcu8VC8nIeCwIiT0BEF","tlshash":"16124324fb93b2b351cb619a583f080bf33a14d9132510a8735189dd1dfc99ab6afb74","first_seen":"2026-07-23T13:38:20.56175Z","last_seen":"2026-07-27T05:27:33.155812Z","times_seen":149,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s3MTQyNF0sezkxNDQ4NyhlLHQpe3ZhciBpOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj17fS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBzKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgaT1hcmd1bWVudHNbdF07aWYoaSl7dmFyIGE9dHlwZW9mIGk7aWYoInN0cmluZyI9PT1hfHwibnVtYmVyIj09PWEpZS5wdXNoKGkpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShpKSYmaS5sZW5ndGgpe3ZhciByPXMuYXBwbHkobnVsbCxpKTtyJiZlLnB1c2gocil9ZWxzZSBpZigib2JqZWN0Ij09PWEpZm9yKHZhciBvIGluIGkpbi5jYWxsKGksbykmJmlbb10mJmUucHVzaChvKX19cmV0dXJuIGUuam9pbigiICIpfWUuZXhwb3J0cz8ocy5kZWZhdWx0PXMsZS5leHBvcnRzPXMpOnZvaWQgMD09PShpPWZ1bmN0aW9uKCl7cmV0dXJuIHN9LmFwcGx5KHQsW10pKXx8KGUuZXhwb3J0cz1pKX0oKX0sMzIwNDAzKGUsdCl7InVzZSBzdHJpY3QiO3ZhciBpLG49ISgidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvd3x8IXdpbmRvdy5kb2N1bWVudHx8IXdpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KTtmdW5jdGlvbiBzKCl7aWYoaSlyZXR1cm4gaTtpZighbnx8IXdpbmRvdy5kb2N1bWVudC5ib2R5KXJldHVybiJpbmRldGVybWluYXRlIjt2YXIgZT13aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIkFCQ0QiKSksZS5kaXI9InJ0bCIsZS5zdHlsZS5mb250U2l6ZT0iMTRweCIsZS5zdHlsZS53aWR0aD0iNHB4IixlLnN0eWxlLmhlaWdodD0iMXB4IixlLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsZS5zdHlsZS50b3A9Ii0xMDAwcHgiLGUuc3R5bGUub3ZlcmZsb3c9InNjcm9sbCIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlKSxpPSJyZXZlcnNlIixlLnNjcm9sbExlZnQ+MD9pPSJkZWZhdWx0IjooZS5zY3JvbGxMZWZ0PTEsMD09PWUuc2Nyb2xsTGVmdCYmKGk9Im5lZ2F0aXZlIikpLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZSksaX19LDkxODc3OShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtiaW5kQ2FudmFzRWxlbWVudEJpdG1hcFNpemVUbzooKT0+cixlcXVhbFNpemVzOigpPT5uLmVxdWFsU2l6ZXMsc2l6ZTooKT0+bi5zaXplLHRyeUNyZWF0ZUNhbnZhc1JlbmRlcmluZ1RhcmdldDJEOigpPT5ofSk7dmFyIG49aSg3NDI3OSkscz1pKDc0MzQ1MSksYT1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSx0LGkpe3ZhciBzO3RoaXMuX2NhbnZhc0VsZW1lbnQ9bnVsbCx0aGlzLl9iaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycz1bXSx0aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplPW51bGwsdGhpcy5fc3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnM9W10sdGhpcy5fZGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGU9bnVsbCx0aGlzLl9jYW52YXNFbGVtZW50UmVzaXplT2JzZXJ2ZXI9bnVsbCx0aGlzLl9jYW52YXNFbGVtZW50PWUsdGhpcy5fY2FudmFzRWxlbWVudENsaWVudFNpemU9KDAsbi5zaXplKSh7d2lkdGg6dGhpcy5fY2FudmFzRWxlbWVudC5jbGllbnRXaWR0aCxoZWlnaHQ6dGhpcy5fY2FudmFzRWxlbWVudC5jbGllbnRIZWlnaHR9KSx0aGlzLl90cmFuc2Zvcm1CaXRtYXBTaXplPW51bGwhPXQ/dDpmdW5jdGlvbihlKXtyZXR1cm4gZX0sdGhpcy5fYWxsb3dSZXNpemVPYnNlcnZlcj1udWxsPT09KHM9bnVsbD09aT92b2lkIDA6aS5hbGxvd1Jlc2l6ZU9ic2VydmVyKXx8dm9pZCAwPT09c3x8cyx0aGlzLl9jaG9vc2VBbmRJbml0T2JzZXJ2ZXIoKX1yZXR1cm4gZS5wcm90b3R5cGUuZGlzcG9zZT1mdW5jdGlvbigpe3ZhciBlLHQ7aWYobnVsbD09PXRoaXMuX2NhbnZhc0VsZW1lbnQpdGhyb3cgbmV3IEVycm9yKCJPYmplY3QgaXMgZGlzcG9zZWQiKTtudWxsPT09KGU9dGhpcy5fY2FudmFzRWxlbWVudFJlc2l6ZU9ic2VydmVyKXx8dm9pZCAwPT09ZXx8ZS5kaXNjb25uZWN0KCksdGhpcy5fY2FudmFzRWxlbWVudFJlc2l6ZU9ic2VydmVyPW51bGwsbnVsbD09PSh0PXRoaXMuX2RldmljZVBpeGVsUmF0aW9PYnNlcnZhYmxlKXx8dm9pZCAwPT09dHx8dC5kaXNwb3NlKCksdGhpcy5fZGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGU9bnVsbCx0aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycy5sZW5ndGg9MCx0aGlzLl9iaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycy5sZW5ndGg9MCx0aGlzLl9jYW52YXNFbGVtZW50PW51bGx9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwiY2FudmFzRWxlbWVudCIse2dldDpmdW5jdGlvbigpe2lmKG51bGw9PT10aGlzLl9jYW52YXNFbGVtZW50KXRocm93IG5ldyBFcnJvcigiT2JqZWN0IGlzIGRpc3Bvc2VkIik7cmV0dXJuIHRoaXMuX2NhbnZhc0VsZW1lbnR9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJjYW52YXNFbGVtZW50Q2xpZW50U2l6ZSIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9jYW52YXNFbGVtZW50Q2xpZW50U2l6ZX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsImJpdG1hcFNpemUiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4oMCxuLnNpemUpKHt3aWR0aDp0aGlzLmNhbnZhc0VsZW1lbnQud2lkdGgsaGVpZ2h0OnRoaXMuY2FudmFzRWxlbWVudC5oZWlnaHR9KX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxlLnByb3RvdHlwZS5yZXNpemVDYW52YXNFbGVtZW50PWZ1bmN0aW9uKGUpe3RoaXMuX2NhbnZhc0VsZW1lbnRDbGllbnRTaXplPSgwLG4uc2l6ZSkoZSksdGhpcy5jYW52YXNFbGVtZW50LnN0eWxlLndpZHRoPSIiLmNvbmNhdCh0aGlzLl9jYW52YXNFbGVtZW50Q2xpZW50U2l6ZS53aWR0aCwicHgiKSwKdGhpcy5jYW52YXNFbGVtZW50LnN0eWxlLmhlaWdodD0iIi5jb25jYXQodGhpcy5fY2FudmFzRWxlbWVudENsaWVudFNpemUuaGVpZ2h0LCJweCIpLHRoaXMuX2ludmFsaWRhdGVCaXRtYXBTaXplKCl9LGUucHJvdG90eXBlLnN1YnNjcmliZUJpdG1hcFNpemVDaGFuZ2VkPWZ1bmN0aW9uKGUpe3RoaXMuX2JpdG1hcFNpemVDaGFuZ2VkTGlzdGVuZXJzLnB1c2goZSl9LGUucHJvdG90eXBlLnVuc3Vic2NyaWJlQml0bWFwU2l6ZUNoYW5nZWQ9ZnVuY3Rpb24oZSl7dGhpcy5fYml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnM9dGhpcy5fYml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnMuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdCE9PWV9KSl9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwic3VnZ2VzdGVkQml0bWFwU2l6ZSIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLGUucHJvdG90eXBlLnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkPWZ1bmN0aW9uKGUpe3RoaXMuX3N1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkTGlzdGVuZXJzLnB1c2goZSl9LGUucHJvdG90eXBlLnVuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQ9ZnVuY3Rpb24oZSl7dGhpcy5fc3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnM9dGhpcy5fc3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnMuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdCE9PWV9KSl9LGUucHJvdG90eXBlLmFwcGx5U3VnZ2VzdGVkQml0bWFwU2l6ZT1mdW5jdGlvbigpe2lmKG51bGwhPT10aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplKXt2YXIgZT10aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplO3RoaXMuX3N1Z2dlc3RlZEJpdG1hcFNpemU9bnVsbCx0aGlzLl9yZXNpemVCaXRtYXAoZSksdGhpcy5fZW1pdFN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKGUsdGhpcy5fc3VnZ2VzdGVkQml0bWFwU2l6ZSl9fSxlLnByb3RvdHlwZS5fcmVzaXplQml0bWFwPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuYml0bWFwU2l6ZTsoMCxuLmVxdWFsU2l6ZXMpKHQsZSl8fCh0aGlzLmNhbnZhc0VsZW1lbnQud2lkdGg9ZS53aWR0aCx0aGlzLmNhbnZhc0VsZW1lbnQuaGVpZ2h0PWUuaGVpZ2h0LHRoaXMuX2VtaXRCaXRtYXBTaXplQ2hhbmdlZCh0LGUpKX0sZS5wcm90b3R5cGUuX2VtaXRCaXRtYXBTaXplQ2hhbmdlZD1mdW5jdGlvbihlLHQpe3ZhciBpPXRoaXM7dGhpcy5fYml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnMuZm9yRWFjaCgoZnVuY3Rpb24obil7cmV0dXJuIG4uY2FsbChpLGUsdCl9KSl9LGUucHJvdG90eXBlLl9zdWdnZXN0TmV3Qml0bWFwU2l6ZT1mdW5jdGlvbihlKXt2YXIgdD10aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplLGk9KDAsbi5zaXplKSh0aGlzLl90cmFuc2Zvcm1CaXRtYXBTaXplKGUsdGhpcy5fY2FudmFzRWxlbWVudENsaWVudFNpemUpKSxzPSgwLG4uZXF1YWxTaXplcykodGhpcy5iaXRtYXBTaXplLGkpP251bGw6aTtudWxsPT09dCYmbnVsbD09PXN8fG51bGwhPT10JiZudWxsIT09cyYmKDAsbi5lcXVhbFNpemVzKSh0LHMpfHwodGhpcy5fc3VnZ2VzdGVkQml0bWFwU2l6ZT1zLHRoaXMuX2VtaXRTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0LHMpKX0sZS5wcm90b3R5cGUuX2VtaXRTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZD1mdW5jdGlvbihlLHQpe3ZhciBpPXRoaXM7dGhpcy5fc3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnMuZm9yRWFjaCgoZnVuY3Rpb24obil7cmV0dXJuIG4uY2FsbChpLGUsdCl9KSl9LGUucHJvdG90eXBlLl9jaG9vc2VBbmRJbml0T2JzZXJ2ZXI9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3RoaXMuX2FsbG93UmVzaXplT2JzZXJ2ZXI/bmV3IFByb21pc2UoKGZ1bmN0aW9uKGUpe3ZhciB0PW5ldyBSZXNpemVPYnNlcnZlcigoZnVuY3Rpb24oaSl7ZShpLmV2ZXJ5KChmdW5jdGlvbihlKXtyZXR1cm4iZGV2aWNlUGl4ZWxDb250ZW50Qm94U2l6ZSJpbiBlfSkpKSx0LmRpc2Nvbm5lY3QoKX0pKTt0Lm9ic2VydmUoZG9jdW1lbnQuYm9keSx7Ym94OiJkZXZpY2UtcGl4ZWwtY29udGVudC1ib3gifSl9KSkuY2F0Y2goKGZ1bmN0aW9uKCl7cmV0dXJuITF9KSkudGhlbigoZnVuY3Rpb24odCl7cmV0dXJuIHQ/ZS5faW5pdFJlc2l6ZU9ic2VydmVyKCk6ZS5faW5pdERldmljZVBpeGVsUmF0aW9PYnNlcnZhYmxlKCl9KSk6dGhpcy5faW5pdERldmljZVBpeGVsUmF0aW9PYnNlcnZhYmxlKCl9LGUucHJvdG90eXBlLl9pbml0RGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO2lmKG51bGwhPT10aGlzLl9jYW52YXNFbGVtZW50KXt2YXIgdD1vKHRoaXMuX2NhbnZhc0VsZW1lbnQpO2lmKG51bGw9PT10KXRocm93IG5ldyBFcnJvcigiTm8gd2luZG93IGlzIGFzc29jaWF0ZWQgd2l0aCB0aGUgY2FudmFzIik7dGhpcy5fZGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGU9KDAscy5jcmVhdGVPYnNlcnZhYmxlKSh0KSx0aGlzLl9kZXZpY2VQaXhlbFJhdGlvT2JzZXJ2YWJsZS5zdWJzY3JpYmUoKGZ1bmN0aW9uKCl7cmV0dXJuIGUuX2ludmFsaWRhdGVCaXRtYXBTaXplKCl9KSksdGhpcy5faW52YWxpZGF0ZUJpdG1hcFNpemUoKX19LGUucHJvdG90eXBlLl9pbnZhbGlkYXRlQml0bWFwU2l6ZT1mdW5jdGlvbigpe3ZhciBlLHQ7aWYobnVsbCE9PXRoaXMuX2NhbnZhc0VsZW1lbnQpe3ZhciBpPW8odGhpcy5fY2FudmFzRWxlbWVudCk7aWYobnVsbCE9PWkpe3ZhciBzPW51bGwhPT0odD1udWxsPT09KGU9dGhpcy5fZGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGUpfHx2b2lkIDA9PT1lP3ZvaWQgMDplLnZhbHVlKSYmdm9pZCAwIT09dD90OmkuZGV2aWNlUGl4ZWxSYXRpbyxhPXRoaXMuX2NhbnZhc0VsZW1lbnQuZ2V0Q2xpZW50UmVjdHMoKSxyPXZvaWQgMCE9PWFbMF0/ZnVuY3Rpb24oZSx0KXtyZXR1cm4oMCxuLnNpemUpKHt3aWR0aDpNYXRoLnJvdW5kKGUubGVmdCp0K2Uud2lkdGgqdCktTWF0aC5yb3VuZChlLmxlZnQqdCksCmhlaWdodDpNYXRoLnJvdW5kKGUudG9wKnQrZS5oZWlnaHQqdCktTWF0aC5yb3VuZChlLnRvcCp0KX0pfShhWzBdLHMpOigwLG4uc2l6ZSkoe3dpZHRoOnRoaXMuX2NhbnZhc0VsZW1lbnRDbGllbnRTaXplLndpZHRoKnMsaGVpZ2h0OnRoaXMuX2NhbnZhc0VsZW1lbnRDbGllbnRTaXplLmhlaWdodCpzfSk7dGhpcy5fc3VnZ2VzdE5ld0JpdG1hcFNpemUocil9fX0sZS5wcm90b3R5cGUuX2luaXRSZXNpemVPYnNlcnZlcj1mdW5jdGlvbigpe3ZhciBlPXRoaXM7bnVsbCE9PXRoaXMuX2NhbnZhc0VsZW1lbnQmJih0aGlzLl9jYW52YXNFbGVtZW50UmVzaXplT2JzZXJ2ZXI9bmV3IFJlc2l6ZU9ic2VydmVyKChmdW5jdGlvbih0KXt2YXIgaT10LmZpbmQoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnRhcmdldD09PWUuX2NhbnZhc0VsZW1lbnR9KSk7aWYoaSYmaS5kZXZpY2VQaXhlbENvbnRlbnRCb3hTaXplJiZpLmRldmljZVBpeGVsQ29udGVudEJveFNpemVbMF0pe3ZhciBzPWkuZGV2aWNlUGl4ZWxDb250ZW50Qm94U2l6ZVswXSxhPSgwLG4uc2l6ZSkoe3dpZHRoOnMuaW5saW5lU2l6ZSxoZWlnaHQ6cy5ibG9ja1NpemV9KTtlLl9zdWdnZXN0TmV3Qml0bWFwU2l6ZShhKX19KSksdGhpcy5fY2FudmFzRWxlbWVudFJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5fY2FudmFzRWxlbWVudCx7Ym94OiJkZXZpY2UtcGl4ZWwtY29udGVudC1ib3gifSkpfSxlfSgpO2Z1bmN0aW9uIHIoZSx0KXtpZigiZGV2aWNlLXBpeGVsLWNvbnRlbnQtYm94Ij09PXQudHlwZSlyZXR1cm4gbmV3IGEoZSx0LnRyYW5zZm9ybSx0Lm9wdGlvbnMpO3Rocm93IG5ldyBFcnJvcigiVW5zdXBwb3J0ZWQgYmluZGluZyB0YXJnZXQiKX1mdW5jdGlvbiBvKGUpe3JldHVybiBlLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXd9dmFyIGw9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUsdCxpKXtpZigwPT09dC53aWR0aHx8MD09PXQuaGVpZ2h0KXRocm93IG5ldyBUeXBlRXJyb3IoIlJlbmRlcmluZyB0YXJnZXQgY291bGQgb25seSBiZSBjcmVhdGVkIG9uIGEgbWVkaWEgd2l0aCBwb3NpdGl2ZSB3aWR0aCBhbmQgaGVpZ2h0Iik7aWYodGhpcy5fbWVkaWFTaXplPXQsMD09PWkud2lkdGh8fDA9PT1pLmhlaWdodCl0aHJvdyBuZXcgVHlwZUVycm9yKCJSZW5kZXJpbmcgdGFyZ2V0IGNvdWxkIG9ubHkgYmUgY3JlYXRlZCB1c2luZyBhIGJpdG1hcCB3aXRoIHBvc2l0aXZlIGludGVnZXIgd2lkdGggYW5kIGhlaWdodCIpO3RoaXMuX2JpdG1hcFNpemU9aSx0aGlzLl9jb250ZXh0PWV9cmV0dXJuIGUucHJvdG90eXBlLnVzZU1lZGlhQ29vcmRpbmF0ZVNwYWNlPWZ1bmN0aW9uKGUpe3RyeXtyZXR1cm4gdGhpcy5fY29udGV4dC5zYXZlKCksdGhpcy5fY29udGV4dC5zZXRUcmFuc2Zvcm0oMSwwLDAsMSwwLDApLHRoaXMuX2NvbnRleHQuc2NhbGUodGhpcy5faG9yaXpvbnRhbFBpeGVsUmF0aW8sdGhpcy5fdmVydGljYWxQaXhlbFJhdGlvKSxlKHtjb250ZXh0OnRoaXMuX2NvbnRleHQsbWVkaWFTaXplOnRoaXMuX21lZGlhU2l6ZX0pfWZpbmFsbHl7dGhpcy5fY29udGV4dC5yZXN0b3JlKCl9fSxlLnByb3RvdHlwZS51c2VCaXRtYXBDb29yZGluYXRlU3BhY2U9ZnVuY3Rpb24oZSl7dHJ5e3JldHVybiB0aGlzLl9jb250ZXh0LnNhdmUoKSx0aGlzLl9jb250ZXh0LnNldFRyYW5zZm9ybSgxLDAsMCwxLDAsMCksZSh7Y29udGV4dDp0aGlzLl9jb250ZXh0LG1lZGlhU2l6ZTp0aGlzLl9tZWRpYVNpemUsYml0bWFwU2l6ZTp0aGlzLl9iaXRtYXBTaXplLGhvcml6b250YWxQaXhlbFJhdGlvOnRoaXMuX2hvcml6b250YWxQaXhlbFJhdGlvLHZlcnRpY2FsUGl4ZWxSYXRpbzp0aGlzLl92ZXJ0aWNhbFBpeGVsUmF0aW99KX1maW5hbGx5e3RoaXMuX2NvbnRleHQucmVzdG9yZSgpfX0sT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJfaG9yaXpvbnRhbFBpeGVsUmF0aW8iLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYml0bWFwU2l6ZS53aWR0aC90aGlzLl9tZWRpYVNpemUud2lkdGh9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJfdmVydGljYWxQaXhlbFJhdGlvIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2JpdG1hcFNpemUuaGVpZ2h0L3RoaXMuX21lZGlhU2l6ZS5oZWlnaHR9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksZX0oKTtmdW5jdGlvbiBoKGUsdCl7dmFyIGk9ZS5jYW52YXNFbGVtZW50Q2xpZW50U2l6ZTtpZigwPT09aS53aWR0aHx8MD09PWkuaGVpZ2h0KXJldHVybiBudWxsO3ZhciBuPWUuYml0bWFwU2l6ZTtpZigwPT09bi53aWR0aHx8MD09PW4uaGVpZ2h0KXJldHVybiBudWxsO3ZhciBzPWUuY2FudmFzRWxlbWVudC5nZXRDb250ZXh0KCIyZCIsdCk7cmV0dXJuIG51bGw9PT1zP251bGw6bmV3IGwocyxpLG4pfX0sODE3MzUwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbj1pKDE3ODQ5Nykscz1pKDM2MDYyMCk7Y29uc3QgYT1mdW5jdGlvbihlKXtyZXR1cm4hMD09PWV8fCExPT09ZXx8KDAscy5kZWZhdWx0KShlKSYmIltvYmplY3QgQm9vbGVhbl0iPT0oMCxuLmRlZmF1bHQpKGUpfX0sMjA2NjczKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbj1pKDE3ODQ5Nykscz1pKDM2MDYyMCk7Y29uc3QgYT1mdW5jdGlvbihlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGV8fCgwLHMuZGVmYXVsdCkoZSkmJiJbb2JqZWN0IE51bWJlcl0iPT0oMCxuLmRlZmF1bHQpKGUpfX0sMzA0MjIxKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgbj1pKDE3ODQ5Nykscz1pKDI5NTYzNSksYT1pKDM2MDYyMCk7Y29uc3Qgcj1mdW5jdGlvbihlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGV8fCEoMCxzLmRlZmF1bHQpKGUpJiYoMCxhLmRlZmF1bHQpKGUpJiYiW29iamVjdCBTdHJpbmddIj09KDAsbi5kZWZhdWx0KShlKX19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/65862.95764752c09f3f18f890.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.195Z","timestamp":1785120634195,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/65862.95764752c09f3f18f890.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-8593\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e696d949f6e286904af225af9d4496f3\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":34195,"size_decoded":11853,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (13834)","md5":"d5f37343643dde0b01c1d10dbbdb91df","sha1":"acf466d1f2aaa1c4e577a663cc0c197647ff1b0c","sha256":"ad4421c24189dacdd5b62aa07485176e838543c7e572a23a90b2e5d70b28c982","sha512":"b6fba60ec4a7056bdda7602c545749c4b49d93c597e471e20f312b470a5c949b390f959900f2267b02646d6ce1c6f9fcd1ebddb7b4fbc2383344305b5179923d","ssdeep":"768:8HXyKsaOA/R4POygg6FUOaovTBa81zNh3h6kIRdnNy84MnxbDE3xZwDZscCDjvFR:OWgDagTBa0zNhRIRdnNy84y4BZw1FCHz","tlshash":"41e2e892aa135c331ed5176ad87b3902d1d80679f5863c68bdf858de0d8dac070f355e","first_seen":"2026-07-24T11:36:47.857631Z","last_seen":"2026-07-27T05:19:37.070003Z","times_seen":815,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNjU4NjJdLHszNzcyMjYoZSx0LG8pe28uZCh0LHtvbldpZGdldDooKT0+c30pO2NvbnN0IHI9bmV3IE1hcDtmdW5jdGlvbiBzKCl7Y29uc3QgZT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsdD13aW5kb3cubG9jYXRpb24uaG9zdCxvPWAke3R9JHtlfWA7cmV0dXJuIHIuaGFzKG8pfHxyLnNldChvLGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbz1bIl53aWRnZXQtZG9jcyJdO2Zvcihjb25zdCBlIG9mIG8paWYobmV3IFJlZ0V4cChlKS50ZXN0KHQpKXJldHVybiEwO2NvbnN0IHI9WyJed2lkZ2V0ZW1iZWQvPyQiLCJeY21ld2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL3dpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS93aWRnZXRzdGF0aWMvPyQiLCJeKFswLTlhLXpBLVotXSspPy8/bWVkaXVtd2lkZ2V0ZW1iZWQvPyQiLCJedHdpdHRlci1jaGFydC8/JCIsIl50ZWxlZ3JhbS9jaGFydC8/JCIsIl5lbWJlZC8oWzAtOWEtekEtWl17OH0pLz8kIiwiXndpZGdldHBvcHVwLz8kIiwiXmV4dGVuc2lvbi8/JCIsIl5pZGVhLXBvcHVwLz8kIiwiXmhvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL2hvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvbWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl5ldmVudHN3aWRnZXRlbWJlZC8/JCIsIl50aWNrZXJzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhjcm9zc3JhdGVzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhoZWF0bWFwd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0cXVvdGVzd2lkZ2V0ZW1iZWQvPyQiLCJec2NyZWVuZXJ3aWRnZXQvPyQiLCJeY3J5cHRvbWt0c2NyZWVuZXJ3aWRnZXQvPyQiLCJeKFswLTlhLXpBLVotXSspL2NyeXB0b21rdHNjcmVlbmVyd2lkZ2V0Lz8kIiwiXihbMC05YS16QS1aLV0rKS9tYXJrZXRxdW90ZXN3aWRnZXRlbWJlZC8/JCIsIl50ZWNobmljYWwtYW5hbHlzaXMtd2lkZ2V0LWVtYmVkLyQiLCJec2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvc2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl5lbWJlZC13aWRnZXQvKFswLTlhLXpBLVotXSspLygoWzAtOWEtekEtWi1dKykvKT8kIiwiXndpZGdldC1kb2NzLyhbMC05YS16QS1aLV0rKS8oWzAtOWEtekEtWi0vXSspPyQiXSxzPWUucmVwbGFjZSgvXlwvLywiIik7bGV0IF87Zm9yKGxldCBlPXIubGVuZ3RoLTE7ZT49MDtlLS0paWYoXz1uZXcgUmVnRXhwKHJbZV0pLF8udGVzdChzKSlyZXR1cm4hMDtyZXR1cm4hMX0oZSx0KSksci5nZXQobyk/PyExfX0sMzAwMjg2KGUsdCxvKXsidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmbmV3IGNsYXNze2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fdGVzdD1lW3RdPXt9fXByb3ZpZGUoZSx0KXt0aGlzLl90ZXN0W2VdPXR9fSh3aW5kb3csInFhR2xvYmFscyIpfSw1ODc0MzYoZSx0LG8pe2Z1bmN0aW9uIHIoZSx0LG8scixzKXtsZXQgXz0iIjtpZihyPXI/IjsgcGF0aD0iK3I6IiIscz1zPyI7IGRvbWFpbj0iK3M6IiIsbyl7Y29uc3QgZT1uZXcgRGF0ZTtlLnNldFRpbWUoZS5nZXRUaW1lKCkrMjQqbyo2MCo2MCoxZTMpLF89IjsgZXhwaXJlcz0iK2UudG9VVENTdHJpbmcoKX1lbHNlIF89IiI7ZG9jdW1lbnQuY29va2llPWUrIj0iK3QrXytzK3J9ZnVuY3Rpb24gcyhlKXtjb25zdCB0PWUrIj0iLG89ZG9jdW1lbnQuY29va2llLnNwbGl0KCI7Iik7Zm9yKGxldCBlPTA7ZTxvLmxlbmd0aDtlKyspe2xldCByPW9bZV07Zm9yKDsiICI9PT1yLmNoYXJBdCgwKTspcj1yLnN1YnN0cmluZygxLHIubGVuZ3RoKTtpZigwPT09ci5pbmRleE9mKHQpKXJldHVybiByLnN1YnN0cmluZyh0Lmxlbmd0aCxyLmxlbmd0aCl9cmV0dXJuIG51bGx9by5kKHQse2dldDooKT0+cyxzZXQ6KCk9PnJ9KX0sOTQ4MzgwKGUsdCxvKXtvLmQodCx7RGVsZWdhdGU6KCk9Pl99KTtjb25zdCByPSgwLG8oMjIxMDYxKS5nZXRMb2dnZXIpKCJDb21tb24uRGVsZWdhdGUiKTtmdW5jdGlvbiBzKGUpe3JldHVybiFlLnNpbmdsZVNob3R9Y2xhc3MgX3tjb25zdHJ1Y3Rvcigpe3RoaXMuZmlyZT10aGlzLl9maXJlSW1wbC5iaW5kKHRoaXMpLHRoaXMuX2xpc3RlbmVycz1bXX1zdWJzY3JpYmUoZSx0LG8pe3RoaXMuX2xpc3RlbmVycy5wdXNoKHtvYmplY3Q6ZSxtZW1iZXI6dCxzaW5nbGVTaG90OiEhbyxza2lwOiExfSl9dW5zdWJzY3JpYmUoZSx0KXtmb3IobGV0IG89MDtvPHRoaXMuX2xpc3RlbmVycy5sZW5ndGg7KytvKXtjb25zdCByPXRoaXMuX2xpc3RlbmVyc1tvXTtpZihyLm9iamVjdD09PWUmJnIubWVtYmVyPT09dCl7ci5za2lwPSEwLHRoaXMuX2xpc3RlbmVycy5zcGxpY2UobywxKTticmVha319fXVuc3Vic2NyaWJlQWxsKGUpe2ZvcihsZXQgdD10aGlzLl9saXN0ZW5lcnMubGVuZ3RoLTE7dD49MDstLXQpe2NvbnN0IG89dGhpcy5fbGlzdGVuZXJzW3RdO28ub2JqZWN0PT09ZSYmKG8uc2tpcD0hMCx0aGlzLl9saXN0ZW5lcnMuc3BsaWNlKHQsMSkpfX1kZXN0cm95KCl7dGhpcy5fbGlzdGVuZXJzPVtdfV9maXJlSW1wbCguLi5lKXtjb25zdCB0PXRoaXMuX2xpc3RlbmVyczt0aGlzLl9saXN0ZW5lcnM9dGhpcy5fbGlzdGVuZXJzLmZpbHRlcihzKTtjb25zdCBvPXQubGVuZ3RoO2ZvcihsZXQgcz0wO3M8bzsrK3Mpe2NvbnN0IG89dFtzXTtpZighby5za2lwKXRyeXtvLm1lbWJlci5hcHBseShvLm9iamVjdHx8bnVsbCxlKX1jYXRjaChlKXtyLmxvZ0Vycm9yKGAke2UmJihlLnN0YWNrfHxlLm1lc3NhZ2UpfWApfX19fX0sNTM0NDQwKGUsdCxvKXtvLmQodCx7bnVtT2ZEZWNpbWFsUGxhY2VzOigpPT5ffSk7dmFyIHI9byg3MTI3NDUpLHM9by5uKHIpO2Z1bmN0aW9uIF8oZSl7cmV0dXJuKG5ldyhzKCkpKGUpLnRvRml4ZWQoKS5zcGxpdCgiLiIpWzFdfHwiIikubGVuZ3RofX0sMjMyMzY0KGUsdCxvKXtvLmQodCx7V2F0Y2hlZFZhbHVlOigpPT5ffSk7Y29uc3Qgcj0oMCwKbygyMjEwNjEpLmdldExvZ2dlcikoIkNvbW1vbi5XYXRjaGVkVmFsdWUiKTtmdW5jdGlvbiBzKGUpe3IubG9nRXJyb3IoYCR7ZSYmKGUuc3RhY2t8fGUubWVzc2FnZSl9YCl9Y2xhc3MgX3tjb25zdHJ1Y3RvciguLi5lKXt0aGlzLl9saXN0ZW5lcnM9W10sZS5sZW5ndGg+MD90aGlzLl92YWx1ZT1lWzBdOmRlbGV0ZSB0aGlzLl92YWx1ZX1kZXN0cm95KCl7dGhpcy51bnN1YnNjcmliZSgpfXZhbHVlKCl7cmV0dXJuIHRoaXMuX293bmVyP3RoaXMuX293bmVyLl92YWx1ZTp0aGlzLl92YWx1ZX1zZXRWYWx1ZShlLHQpe2NvbnN0IG89dGhpcy5fb3duZXI/dGhpcy5fb3duZXI6dGhpcztpZihvLndyaXRlTG9jaylyZXR1cm47Y29uc3Qgcj1vLl92YWx1ZT09PWV8fE51bWJlci5pc05hTihvLl92YWx1ZSkmJk51bWJlci5pc05hTihlKTtpZighdCYmciYmby5oYXNPd25Qcm9wZXJ0eSgiX3ZhbHVlIikpcmV0dXJuO28uX3ZhbHVlPWU7Y29uc3QgXz1vLl9saXN0ZW5lcnMuc2xpY2UoKTtsZXQgaT0wO2ZvcihsZXQgdD0wO3Q8Xy5sZW5ndGg7dCsrKXtfW3RdLm9uY2UmJihvLl9saXN0ZW5lcnMuc3BsaWNlKHQtaSwxKSxpKyspO3RyeXtfW3RdLmNiKGUpfWNhdGNoKGUpe3MoZSl9fX1kZWxldGVWYWx1ZSgpe3RoaXMuc2V0VmFsdWUodm9pZCAwKX1zdWJzY3JpYmUoZSx0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJjYWxsYmFjayBtdXN0IGJlIGEgZnVuY3Rpb24iKTtjb25zdCBvPSEhdCYmISF0Lm9uY2Uscj0hIXQmJiEhdC5jYWxsV2l0aExhc3QsXz10aGlzLl9vd25lcj90aGlzLl9vd25lcjp0aGlzO2lmKHImJl8uaGFzT3duUHJvcGVydHkoIl92YWx1ZSIpKXt0cnl7ZShfLl92YWx1ZSl9Y2F0Y2goZSl7cyhlKX1pZihvKXJldHVybn1fLl9saXN0ZW5lcnMucHVzaCh7Y2I6ZSxvd25lcjp0aGlzLG9uY2U6ISF0JiYhIXQub25jZX0pfXVuc3Vic2NyaWJlKGUpe2NvbnN0IHQ9dGhpcy5fb3duZXI/dGhpcy5fb3duZXI6dGhpczt2b2lkIDA9PT1lJiYoZT1udWxsKTtjb25zdCBvPXQuX2xpc3RlbmVycztmb3IobGV0IHI9by5sZW5ndGg7ci0tOylvW3JdLm93bmVyIT09dGhpcyYmdCE9PXRoaXN8fG9bcl0uY2IhPT1lJiZudWxsIT09ZXx8by5zcGxpY2UociwxKX1yZWFkb25seSgpe2lmKHRoaXMuX3JlYWRvbmx5SW5zdGFuY2UpcmV0dXJuIHRoaXMuX3JlYWRvbmx5SW5zdGFuY2U7Y29uc3QgZT17c3Vic2NyaWJlOnRoaXMuc3Vic2NyaWJlLmJpbmQodGhpcyksdW5zdWJzY3JpYmU6dGhpcy51bnN1YnNjcmliZS5iaW5kKHRoaXMpLHZhbHVlOnRoaXMudmFsdWUuYmluZCh0aGlzKSx3aGVuOnRoaXMud2hlbi5iaW5kKHRoaXMpLG93bmVyc2hpcDp0aGlzLm93bmVyc2hpcC5iaW5kKHRoaXMpLHNwYXduT3duZXJzaGlwOnRoaXMuc3Bhd25Pd25lcnNoaXAuYmluZCh0aGlzKSx3ZWFrUmVmZXJlbmNlOnRoaXMud2Vha1JlZmVyZW5jZS5iaW5kKHRoaXMpLHNwYXduOmU9PnRoaXMuc3Bhd24oZSkucmVhZG9ubHkoKSxkZXN0cm95OnRoaXMuZGVzdHJveS5iaW5kKHRoaXMpfTtyZXR1cm4gdGhpcy5fcmVhZG9ubHlJbnN0YW5jZT1lLGV9c3Bhd24oZSl7cmV0dXJuIHRoaXMuX3NwYXduKGUpfXdoZW4oZSl7IWZ1bmN0aW9uKGUsdCxvKXtpZih0KGUudmFsdWUoKSkpcmV0dXJuIHZvaWQgbygpO2NvbnN0IHI9cz0+e3QocykmJihlLnVuc3Vic2NyaWJlKHIpLG8oKSl9O2Uuc3Vic2NyaWJlKHIse2NhbGxXaXRoTGFzdDohMH0pfSh0aGlzLChlPT5Cb29sZWFuKGUpKSwoKCk9Pnt0cnl7ZSh0aGlzLnZhbHVlKCkpfWNhdGNoKGUpe3MoZSl9fSkpfWFzc2VydE5vU3Vic2NyaXB0aW9ucygpezB9b3duZXJzaGlwKCl7cmV0dXJuIHRoaXN9cmVsZWFzZSgpe3RoaXMuZGVzdHJveSgpfXNwYXduT3duZXJzaGlwKCl7cmV0dXJuIHRoaXMuX3NwYXduKCl9d2Vha1JlZmVyZW5jZSgpe3JldHVybiB0aGlzLl9zcGF3bih2b2lkIDAsITApfV9zcGF3bihlLHQpe3JldHVybiBuZXcgaSh0aGlzLl9vd25lcnx8dGhpcyxlLHQpfX1jbGFzcyBpIGV4dGVuZHMgX3tjb25zdHJ1Y3RvcihlLHQsbyl7c3VwZXIoKSxkZWxldGUgdGhpcy5fbGlzdGVuZXJzLHRoaXMuX293bmVyPWUsdGhpcy5fb25EZXN0cm95PXQsdGhpcy5fd2Vha1JlZmVyZW5jZT0hIW99ZGVzdHJveSgpe3RyeXt0aGlzLl9vbkRlc3Ryb3k/LigpfWNhdGNoKGUpe3MoZSl9c3VwZXIuZGVzdHJveSgpfXJlYWRvbmx5KCl7cmV0dXJuIHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZXx8KHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZT17Li4uc3VwZXIucmVhZG9ubHkoKSxkZXN0cm95OigpPT50aGlzLmRlc3Ryb3koKSxyZWFkb25seSgpe3JldHVybiB0aGlzfX0pLHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZX1yZWxlYXNlKCl7dGhpcy5fd2Vha1JlZmVyZW5jZXx8c3VwZXIucmVsZWFzZSgpfX19LDU5ODkyMihlLHQsbyl7by5kKHQse2Zvcm1hdE51bWJlcjooKT0+aSxwYXJzZU51bWJlcjooKT0+bn0pO3ZhciByPW8oNzEyNzQ1KSxzPW8oNjYzMDQ2KSxfPW8oMTE1MjkzKTtmdW5jdGlvbiBpKGUsdCxvLHMsXyl7aWYoIU51bWJlci5pc0Zpbml0ZShlKSlyZXR1cm5gJHtlfWA7Y29uc3QgaT0tMT09PU1hdGguc2lnbihlKT8iLSI6IiI7ZT1NYXRoLmFicyhlKTtsZXQgYT12b2lkIDA9PT1vP2UudG9TdHJpbmcoKTplLnRvRml4ZWQobyk7aWYoYS5pbmNsdWRlcygiZSIpKXtpZighcylyZXR1cm5gJHtpfSR7YS5yZXBsYWNlKCIuIix0LmRlY2ltYWxTaWduKX1gO3tjb25zdCBvPW5ldyByLkJpZyhlKTtpZihhPW8ubHQoMSk/by50b0ZpeGVkKCk6by50b1N0cmluZygpLGEuaW5jbHVkZXMoImUiKSlyZXR1cm5gJHtpfSR7YS5yZXBsYWNlKCIuIix0LmRlY2ltYWxTaWduKX1gfX1jb25zdCBuPWEuc3BsaXQoIi4iKSxsPW5bMF07bGV0IGM9blsxXTtjb25zdCBkPWZ1bmN0aW9uKGUsdCl7bGV0IG89ZS5sZW5ndGg7Y29uc3Qgcj1bXTtmb3IoO28+MDspci51bnNoaWZ0KGUuc2xpY2UoTWF0aC5tYXgoby0zLDApLG8pKSxvLT0zO3JldHVybiByLmpvaW4odCl9KGwsdC5ncm91cGluZ1NlcGFyYXRvcikKO3JldHVybiB2b2lkIDAhPT1vJiYoYz0wPT09bz92b2lkIDA6ZS50b0ZpeGVkKG8pLnNsaWNlKC1vKSksdm9pZCAwIT09XyYmdm9pZCAwIT09YyYmKGM9ZnVuY3Rpb24oZSx0KXtsZXQgbz1lLmxlbmd0aC0xO2ZvcihsZXQgcj1vO3I+PXQmJiIwIj09PWVbcl07ci09MSlvLT0xO3JldHVybiBlLnNsaWNlKDAsbysxKX0oYyxfKSksYz9gJHtpfSR7ZH0ke3QuZGVjaW1hbFNpZ259JHtjfWA6YCR7aX0ke2R9YH1jb25zdCBhPSgwLHMuZGVmYXVsdCkoKGU9Pntjb25zdCB0PWUucmVwbGFjZSgvWy1bXF17fSgpKis/LixcXF4kfCNcc10vZywiXFwkJiIpO3JldHVybiBuZXcgUmVnRXhwKHQsImdtIil9KSk7ZnVuY3Rpb24gbihlLHQpe2lmKC9eKE5hTnxbK3wtXT9JbmZpbml0eSkkLy50ZXN0KGUpKXJldHVybiBwYXJzZUZsb2F0KGUpO2U9KDAsXy5zdHJpcExUUk1hcmtzKShlKTtjb25zdCBvPWEodC5ncm91cGluZ1NlcGFyYXRvcik7cmV0dXJuIG8mJihlPWUucmVwbGFjZShvLCIiKSksZT1lLnJlcGxhY2UodC5kZWNpbWFsU2lnbiwiLiIpLC9eKFwrfC0pP1xkKyhcLlxkK3xcLik/KGUoXCt8LSk/XGQrKT8kLy50ZXN0KGUpP3BhcnNlRmxvYXQoZSk6TmFOfX0sNTQ2NDg1KGUsdCxvKXtvLmQodCx7Z2V0TnVtYmVyRm9ybWF0OigpPT5kfSk7bGV0IHI9bnVsbDt2YXIgcz1vKDg1NjMyNCk7ZnVuY3Rpb24gXyhlLHQpe3JldHVybntncm91cGluZ1NlcGFyYXRvcjplLGRlY2ltYWxTaWduOnR9fWNvbnN0IGk9XygiLCIsIi4iKSxhPV8oIi4iLCIsIiksbj1fKCLigK8iLCIsIiksbD1fKCIiLCIuIiksYz1uZXcgTWFwKFtbImVuIixpXSxbInRoIixpXSxbImphIixpXSxbImtvIixpXSxbInpoIixpXSxbInpoX1RXIixpXSxbImFyIixpXSxbImhlX0lMIixpXSxbIm1zX01ZIixpXSxbInZpIixpXSxbImRlIixhXSxbImVzIixhXSxbIml0IixhXSxbInRyIixhXSxbInB0IixhXSxbImlkX0lEIixhXSxbImZyIixuXSxbInBsIixuXSxbInJ1IixuXV0pO2Z1bmN0aW9uIGQoZSl7cmV0dXJuIGU/bDoodD1jLmdldCgoMCxzLmdldExhbmd1YWdlKSgpKXx8bCxyP3IodCk6dCk7dmFyIHR9fSw3NTU2MjcoZSx0LG8pe28uZCh0LHtQcmljZUZvcm1hdHRlcjooKT0+eX0pO3ZhciByPW8oNjAxODQxKTtmdW5jdGlvbiBzKGUsdCxvLHIpe2xldCBzPTA7aWYoZT4wJiZ0PjApe2xldCB0PWU7Zm9yKG8mJnImJih0Lz1yKTt0PjE7KXQvPTEwLHMrK31yZXR1cm4gc312YXIgXz1vKDcxMjc0NSksaT1vKDgyMjQzMSksYT1vKDU5ODkyMiksbj1vKDU0NjQ4NSksbD1vKDc4MzI1NCksYz1vKDEzODYzOCksZD1vKDExNTI5MyksdT1vKDUzNTMwKTtmdW5jdGlvbiBtKGUsdCxvKXtjb25zdCByPSgwLGMuZW5zdXJlTm90TnVsbCkoKDAsdS5nZXRNaW5UaWNrRGF0YSkoe3ByaWNlOm8sbWluVGljazpudWxsLHZhcmlhYmxlTWluVGlja0RhdGE6dCxzaG91bGRDaGVja0ZvckVxdWFsaXR5OiEwfSkpLHtwcmljZVNjYWxlOl8sbWluTW92ZTppLG1pbk1vdmUyOmF9PXI7cmV0dXJue3ByaWNlU2NhbGU6XyxtaW5Nb3ZlOmksZnJhY3Rpb25hbExlbmd0aDpzKF8saSxlLGEpfX1jbGFzcyBoe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2Zvcm1hdHRlckVycm9ycz17Y3VzdG9tOmwudChudWxsLHZvaWQgMCxvKDYxNjE4KSksZnJhY3Rpb246bC50KG51bGwsdm9pZCAwLG8oOTY4ODE1KSksc2Vjb25kRnJhY3Rpb246bC50KG51bGwsdm9pZCAwLG8oODUwMjk4KSl9O2NvbnN0e3ByaWNlU2NhbGU6dCxtaW5Nb3ZlOnIsbWluTW92ZTI6cyxpZ25vcmVNaW5Nb3ZlOl8sdmFyaWFibGVNaW5UaWNrOmksZnJhY3Rpb25hbExlbmd0aDphfT1lO3RoaXMuX3ByaWNlU2NhbGU9dCx0aGlzLl9taW5Nb3ZlPXIsdGhpcy5fbWluTW92ZTI9cyx0aGlzLl9pZ25vcmVNaW5Nb3ZlPV8sdGhpcy5fZnJhY3Rpb25hbExlbmd0aD1hLHRoaXMuX3ZhcmlhYmxlTWluVGlja0RhdGE9dm9pZCAwPT09aT92b2lkIDA6KDAsdS5tYWtlVmFyaWFibGVNaW5UaWNrRGF0YSkoe3ByaWNlU2NhbGU6dCxtaW5Nb3ZlOnIsbWluTW92ZTI6c30saSl9Zm9ybWF0SW1wbChlLHQ9e30pe2NvbnN0e3NpZ25Qb3NpdGl2ZTpvLHNpZ25OZWdhdGl2ZTpyPSEwLHRhaWxTaXplOnMsY3V0RnJhY3Rpb25hbEJ5UHJlY2lzaW9uOl89ITEsdXNlUnRsRm9ybWF0Omk9ITAsdmFyaWFibGVNaW5UaWNrRGF0YVByaWNlOmEsaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0Om4sbm9FeHBvbmVudGlhbEZvcm06bCxyZW1vdmVBbGxFbmRpbmdaZXJvczpjfT10O2xldCB1PSIiO2U8MD91PSExPT09cj8iIjoi4oiSIjplJiYhMD09PW8mJih1PSIrIik7Y29uc3QgbT10aGlzLl9mb3JtYXRVbnNpZ25lZChNYXRoLmFicyhlKSx7dGFpbFNpemU6cyxjdXRGcmFjdGlvbmFsQnlQcmVjaXNpb246Xyx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6YSxpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6bixub0V4cG9uZW50aWFsRm9ybTpsLHJlbW92ZUFsbEVuZGluZ1plcm9zOmN9KSxoPSIwIj09PW0/bTp1K207cmV0dXJuIGk/KDAsZC5mb3JjZUxUUlN0cikoaCk6aH1wYXJzZShlLHQpe3JldHVybiIrIj09PShlPShlPSgwLGQuc3RyaXBMVFJNYXJrcykoZSkpLnJlcGxhY2UoIuKIkiIsIi0iKSlbMF0mJihlPWUuc3Vic3RyaW5nKDEpKSx0aGlzLl9wYXJzZVVuc2lnbmVkKGUsdCl9X3JlbW92ZUVuZGluZ1plcm9zKGUsdCl7Zm9yKGxldCBvPTA7bzx0JiYiMCI9PT1lW2UubGVuZ3RoLTFdO28rKyllPWUuc3Vic3RyaW5nKDAsZS5sZW5ndGgtMSk7cmV0dXJuIGV9fWNsYXNzIGcgZXh0ZW5kcyBoe2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDp0LG5vRXhwb25lbnRpYWxGb3JtOm99PWU7dGhpcy5faWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0PXQsdGhpcy5fbm9FeHBvbmVudGlhbEZvcm09b31oYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKXtyZXR1cm4gMTA9PT10aGlzLl9taW5Nb3ZlMn1fcGFyc2VVbnNpZ25lZChlLHQpe3JldHVybiB0aGlzLl9wYXJzZUFzRGVjaW1hbChlLHQpfV9mb3JtYXRVbnNpZ25lZChlLHQpewpjb25zdHt0YWlsU2l6ZTpvLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpyPSExLHZhcmlhYmxlTWluVGlja0RhdGFQcmljZTpzLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpfLG5vRXhwb25lbnRpYWxGb3JtOmkscmVtb3ZlQWxsRW5kaW5nWmVyb3M6YT0hMX09dCxuPXtwcmljZTpNYXRoLmFicyhlKSxwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsbWluTW92ZTp0aGlzLl9taW5Nb3ZlLGZyYWN0aW9uYWxMZW5ndGg6dGhpcy5fZnJhY3Rpb25hbExlbmd0aCx0YWlsU2l6ZTpvLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpyLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpfLG5vRXhwb25lbnRpYWxGb3JtOmkscmVtb3ZlQWxsRW5kaW5nWmVyb3M6YX07cmV0dXJuIHZvaWQgMCE9PXRoaXMuX3ZhcmlhYmxlTWluVGlja0RhdGEmJihPYmplY3QuYXNzaWduKG4sbSghMSx0aGlzLl92YXJpYWJsZU1pblRpY2tEYXRhLHM/P24ucHJpY2UpKSx0aGlzLl9pZ25vcmVNaW5Nb3ZlJiYobi5taW5Nb3ZlPTEpKSx0aGlzLl9mb3JtYXRBc0RlY2ltYWwobil9X2Zvcm1hdEFzRGVjaW1hbChlKXtjb25zdHtwcmljZTp0LHByaWNlU2NhbGU6byxtaW5Nb3ZlOnIsZnJhY3Rpb25hbExlbmd0aDpzPTAsdGFpbFNpemU6bD0wLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpjLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpkPXRoaXMuX2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdCxub0V4cG9uZW50aWFsRm9ybTp1PXRoaXMuX25vRXhwb25lbnRpYWxGb3JtLHJlbW92ZUFsbEVuZGluZ1plcm9zOm19PWUsaD0oMCxuLmdldE51bWJlckZvcm1hdCkoZCk7aWYodD49MWUyMSYmIXUpcmV0dXJuIHQudG9TdHJpbmcoKS5yZXBsYWNlKCIuIixoLmRlY2ltYWxTaWduKTtjb25zdCBnPU1hdGgucG93KDEwLGwpKm8vKGM/MTpyKSxwPTEvZztsZXQgYjtpZihnPjEpYj1NYXRoLmZsb29yKHQpO2Vsc2V7Y29uc3QgZT1NYXRoLnJvdW5kKHQvcCkqcDtiPTA9PT1NYXRoLnJvdW5kKCh0LWUpL3ApP2U6ZStwfWxldCB3PSIiO2lmKGc+MSl7bGV0IGU9Yz9uZXcgXy5CaWcodCkubXVsKGcpLnJvdW5kKHZvaWQgMCwwKS5taW51cyhuZXcgXy5CaWcoYikubXVsKGcpKS50b051bWJlcigpOnBhcnNlRmxvYXQoKE1hdGgucm91bmQodCpnKS1iKmcpLnRvRml4ZWQocykpO2U+PWcmJihlLT1nLGIrPTEpLGU9Yz9uZXcgXy5CaWcoZSkucm91bmQocywwKS50b051bWJlcigpOnBhcnNlRmxvYXQoZS50b0ZpeGVkKHMpKSpyO2NvbnN0IG89KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoZSxzK2wpO2lmKCF1JiZ0PDEmJnM+PTEwJiZvLnN0YXJ0c1dpdGgoIjAwMDAiKSl7bGV0IGU9NDtmb3IobGV0IHQ9ZTt0PG8ubGVuZ3RoJiYiMCI9PT1vW3RdO3QrKyllKys7Y29uc3QgdD10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhvLnNsaWNlKGUpLHMpO3JldHVybiIiPT09dD8iMCI6YDAke2guZGVjaW1hbFNpZ259JHt0fWUtJHtlfWB9Y29uc3QgYT10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhvLG0/by5sZW5ndGg6bCk7dz1hP2guZGVjaW1hbFNpZ24rYTphfWNvbnN0IHk9KDAsYS5mb3JtYXROdW1iZXIpKGIsaCx2b2lkIDAsdSk7cmV0dXJuIHkuaW5jbHVkZXMoImUiKT95Onkrd31fcGFyc2VBc0RlY2ltYWwoZSx0PXt9KXtjb25zdHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6b309dCxyPSgwLG4uZ2V0TnVtYmVyRm9ybWF0KSh0aGlzLl9pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXR8fG8pLHM9KDAsYS5wYXJzZU51bWJlcikoZSxyKTtyZXR1cm4gTnVtYmVyLmlzRmluaXRlKHMpP3t2YWx1ZTpzLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChzKX06e2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX19Y29uc3QgcD0iJyIsYj1uZXcgUmVnRXhwKC9eKC0/KVswLTldKyQvKTtjbGFzcyB3IGV4dGVuZHMgaHtoYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKXtyZXR1cm4hMX1fcGFyc2VVbnNpZ25lZChlKXtyZXR1cm4gdGhpcy5fbWluTW92ZTI/dGhpcy5fcGFyc2VBc0RvdWJsZUZyYWN0aW9uYWwoZSk6dGhpcy5fcGFyc2VBc1NpbmdsZUZyYWN0aW9uYWwoZSl9X2Zvcm1hdFVuc2lnbmVkKGUsdCl7Y29uc3R7dGFpbFNpemU6byx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6cn09dCxzPXtwcmljZTpNYXRoLmFicyhlKSxwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsbWluTW92ZTp0aGlzLl9taW5Nb3ZlLG1pbk1vdmUyOnRoaXMuX21pbk1vdmUyLGZyYWN0aW9uYWxMZW5ndGg6KDAsYy5lbnN1cmVEZWZpbmVkKSh0aGlzLl9mcmFjdGlvbmFsTGVuZ3RoKSx0YWlsU2l6ZTpvfTtyZXR1cm4gdm9pZCAwIT09dGhpcy5fdmFyaWFibGVNaW5UaWNrRGF0YSYmT2JqZWN0LmFzc2lnbihzLG0oITAsdGhpcy5fdmFyaWFibGVNaW5UaWNrRGF0YSxyPz9zLnByaWNlKSksdGhpcy5fZm9ybWF0QXNGcmFjdGlvbmFsKHMpfV9wYXJzZUFzU2luZ2xlRnJhY3Rpb25hbChlKXtsZXQgdD1iLmV4ZWMoZSk7aWYodCl7Y29uc3QgdD1wYXJzZUZsb2F0KGUpO3JldHVybnt2YWx1ZTp0LHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbCh0KX19aWYodD1uZXcgUmVnRXhwKCJeKC0/KShbMC05XSspXFwnKFswLTldKykkIikuZXhlYyhlKSx0KXtjb25zdCBlPSEhdFsxXSxvPXBhcnNlSW50KHRbMl0pLHI9dGhpcy5fcHJpY2VTY2FsZSxzPXRoaXMuX3BhdGNoRnJhY3RQYXJ0KHBhcnNlSW50KHRbM10pLDEscik7aWYocz49cnx8czwwKXJldHVybntlcnJvcjp0aGlzLl9mb3JtYXR0ZXJFcnJvcnMuZnJhY3Rpb24scmVzOiExfTtsZXQgXz1vK3MvcjtyZXR1cm4gZSYmKF89LV8pLHt2YWx1ZTpfLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChfKX19cmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX1fcGFyc2VBc0RvdWJsZUZyYWN0aW9uYWwoZSl7bGV0IHQ9Yi5leGVjKGUpO2lmKHQpe2NvbnN0IHQ9cGFyc2VGbG9hdChlKTtyZXR1cm57dmFsdWU6dCxyZXM6ITAsc3VnZ2VzdDp0aGlzLmZvcm1hdEltcGwodCl9fQppZih0PW5ldyBSZWdFeHAoIl4oLT8pKFswLTldKylcXCcoWzAtOV0rKVxcJyhbMC05XSspJCIpLmV4ZWMoZSksdCl7Y29uc3QgZT0hIXRbMV0sbz1wYXJzZUludCh0WzJdKSxyPXZvaWQgMCE9PXRoaXMuX21pbk1vdmUyJiZudWxsIT09dGhpcy5fbWluTW92ZTI/dGhpcy5fbWluTW92ZTI6TmFOLHM9dGhpcy5fcHJpY2VTY2FsZS9yLF89dGhpcy5fbWluTW92ZTIsaT10aGlzLl9wYXRjaEZyYWN0UGFydChwYXJzZUludCh0WzNdKSwxLHMpLGE9dGhpcy5fcGF0Y2hGcmFjdFBhcnQocGFyc2VJbnQodFs0XSksMixfKTtpZihpPj1zfHxpPDApcmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5mcmFjdGlvbixyZXM6ITF9O2lmKG51bGwhPV8mJmE+PV98fGE8MClyZXR1cm57ZXJyb3I6dGhpcy5fZm9ybWF0dGVyRXJyb3JzLnNlY29uZEZyYWN0aW9uLHJlczohMX07bGV0IG49bnVsbCE9Xz9vK2kvcythLyhzKl8pOk5hTjtyZXR1cm4gZSYmKG49LW4pLHt2YWx1ZTpuLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChuKX19cmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX1fcGF0Y2hGcmFjdFBhcnQoZSx0LG8pe2NvbnN0IHI9ezA6MCw1OjF9LHM9ezA6MCwyOjEsNToyLDc6M30sXz17MDowLDE6MSwyOjIsMzozLDU6NCw2OjUsNzo2LDg6N307cmV0dXJuIDI9PT1vP3ZvaWQgMD09PXJbZV0/LTE6cltlXTo0PT09bz92b2lkIDA9PT1zW2VdPy0xOnNbZV06OD09PW8mJjI9PT10P3ZvaWQgMD09PV9bZV0/LTE6X1tlXTplfV9mb3JtYXRBc0ZyYWN0aW9uYWwoZSl7Y29uc3R7cHJpY2U6dCx0YWlsU2l6ZTpvLHByaWNlU2NhbGU6cixtaW5Nb3ZlOnMsbWluTW92ZTI6XyxmcmFjdGlvbmFsTGVuZ3RoOmF9PWUsbj1yL3M7bGV0IGw9TWF0aC5mbG9vcih0KSxjPW8/TWF0aC5mbG9vcih0Km4pLWwqbjpNYXRoLnJvdW5kKHQqbiktbCpuO2M9PT1uJiYoYz0wLGwrPTEpO2xldCBkPSIiO2lmKG8pe2xldCBlPSh0LWwtYy9uKSpuO2U9TWF0aC5yb3VuZChlKk1hdGgucG93KDEwLG8pKSxkPSgwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGUsbyksZD10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhkLG8pfWlmKCFhKXRocm93IG5ldyBFcnJvcigiX2ZyYWN0aW9uYWxMZW5ndGggaXMgbm90IGNhbGN1bGF0ZWQiKTtsZXQgdT0iIjtpZihfKXtjb25zdCBlPWMlXztjPShjLWUpL187Y29uc3QgdD0oMCxpLm51bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvKShjLGEpLG89dGhpcy5fZ2V0RnJhY3RQYXJ0KGUsMixfKTt1PXQrcCtvfWVsc2UgYz10aGlzLl9nZXRGcmFjdFBhcnQoYywxLHIpLHU9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoYypzLGEpO3JldHVybiBsLnRvU3RyaW5nKCkrcCt1K2R9X2dldEZyYWN0UGFydChlLHQsbyl7Y29uc3Qgcj1bMCw1XSxzPVswLDIsNSw3XSxfPVswLDEsMiwzLDUsNiw3LDhdO3JldHVybiAyPT09bz92b2lkIDA9PT1yW2VdPy0xOnJbZV06ND09PW8/dm9pZCAwPT09c1tlXT8tMTpzW2VdOjg9PT1vJiYyPT09dD92b2lkIDA9PT1fW2VdPy0xOl9bZV06ZX19Y2xhc3MgeXtjb25zdHJ1Y3RvcihlPXt9KXt0aGlzLnR5cGU9InByaWNlIjtjb25zdHttaW5Nb3ZlMjp0LGZyYWN0aW9uYWw6byx2YXJpYWJsZU1pblRpY2s6XyxpZ25vcmVNaW5Nb3ZlOmksaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmF9PWUsbj0oMCxyLmlzTnVtYmVyKShlLnByaWNlU2NhbGUpJiYoMCxyLmlzSW50ZWdlcikoZS5wcmljZVNjYWxlKT9lLnByaWNlU2NhbGU6MTAwO2lmKG48MCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGJhc2UiKTtjb25zdCBsPSFlLm1pbk1vdmV8fGk/MTplLm1pbk1vdmUsYz1zKG4sbCxvLHQpLGQ9ey4uLmUsbWluTW92ZTpsLHByaWNlU2NhbGU6bixmcmFjdGlvbmFsTGVuZ3RoOmN9O3RoaXMuX3ByaWNlU2NhbGU9bix0aGlzLl9taW5Nb3ZlPWwsdGhpcy5fbWluTW92ZTI9dCx0aGlzLl9mcmFjdGlvbmFsPW8sdGhpcy5fdmFyaWFibGVNaW5UaWNrPV8sdGhpcy5faWdub3JlTWluTW92ZT1pLHRoaXMuX2ZyYWN0aW9uYWxMZW5ndGg9Yyx0aGlzLl9pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ9YSx0aGlzLl9ub0V4cG9uZW50aWFsRm9ybT1lLm5vRXhwb25lbnRpYWxGb3JtLHRoaXMuX2ltcGxlbWVudGF0aW9uPW8/bmV3IHcoZCk6bmV3IGcoZCl9aXNGcmFjdGlvbmFsKCl7cmV0dXJuISF0aGlzLl9mcmFjdGlvbmFsfXN0YXRlKCl7cmV0dXJue21pbk1vdmU6dGhpcy5fbWluTW92ZSxtaW5Nb3ZlMjp0aGlzLl9taW5Nb3ZlMixwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsdmFyaWFibGVNaW5UaWNrOnRoaXMuX3ZhcmlhYmxlTWluVGljayxpZ25vcmVNaW5Nb3ZlOnRoaXMuX2lnbm9yZU1pbk1vdmUsZnJhY3Rpb25hbDp0aGlzLl9mcmFjdGlvbmFsLG5vRXhwb25lbnRpYWxGb3JtOnRoaXMuX25vRXhwb25lbnRpYWxGb3JtfX1mb3JtYXRDaGFuZ2UoZSx0LG8pe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5mb3JtYXRJbXBsKGUtdCx7Li4ubyx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6TWF0aC5taW4oTWF0aC5hYnMoZSksTWF0aC5hYnModCkpfSl9Zm9ybWF0KGUsdCl7cmV0dXJuIHRoaXMuX2ltcGxlbWVudGF0aW9uLmZvcm1hdEltcGwoZSx0KX1wYXJzZShlLHQpe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5wYXJzZShlLHQpfWhhc0ZvcmV4QWRkaXRpb25hbFByZWNpc2lvbigpe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5oYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKX1zdGF0aWMgc2VyaWFsaXplKGUpe3JldHVybiBlLnN0YXRlKCl9c3RhdGljIGRlc2VyaWFsaXplKGUpe3JldHVybiBuZXcgeShlKX19fSw3ODMyNTQoZSx0LG8pe28uZCh0LHt0OigpPT5yfSk7Y29uc3Qgcj1vLmkxOG5leHR9LDYyMDM1NChlLHQsbyl7dmFyIHI7by5kKHQse0xvZ29TaXplOigpPT5yfSksZnVuY3Rpb24oZSl7ZVtlLk1lZGl1bT0wXT0iTWVkaXVtIixlW2UuTGFyZ2U9MV09IkxhcmdlIn0ocnx8KHI9e30pKX0sNzQ5NjQ4KGUsdCxvKXtmdW5jdGlvbiByKGUsdD0hMSl7CiJsb2FkaW5nIiE9PWRvY3VtZW50LnJlYWR5U3RhdGU/dD9zZXRUaW1lb3V0KCgoKT0+ZSgpKSwxKTplKCk6ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsKCgpPT5lKCkpKX1vLmQodCx7d2hlbkRvY3VtZW50UmVhZHk6KCk9PnJ9KTtuZXcgUHJvbWlzZSgoZT0+e3IoZSl9KSl9LDYzNTE4KGUpewplLmV4cG9ydHM9SlNPTi5wYXJzZSgneyIxNDg1MSI6e30sImN1c3RvbV9pdGVtc19pbl9jb250ZXh0X21lbnUiOnt9LCJjb3VudGRvd24iOnt9LCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiI6e30sInBheV9hdHRlbnRpb25fdG9fdGlja2VyX25vdF9zeW1ib2wiOnt9LCJncmF5aW5nX2Rpc2FibGVkX3Rvb2xzX2VuYWJsZWQiOnt9LCJ1cGRhdGVfc3R1ZHlfZm9ybWF0dGVyX29uX3N5bWJvbF9yZXNvbHZlIjp7fSwiY29uc3RyYWludF9kaWFsb2dzX21vdmVtZW50Ijp7fSwicGhvbmVfdmVyaWZpY2F0aW9uIjp7fSwic2hvd190cmFkaW5nX25vdGlmaWNhdGlvbnNfaGlzdG9yeSI6e30sInNob3dfaW50ZXJ2YWxfZGlhbG9nX29uX2tleV9wcmVzcyI6e30sImhlYWRlcl9pbnRlcnZhbF9kaWFsb2dfYnV0dG9uIjp7InN1YnNldHMiOlsic2hvd19pbnRlcnZhbF9kaWFsb2dfb25fa2V5X3ByZXNzIl19LCJoZWFkZXJfZnVsbHNjcmVlbl9idXR0b24iOnt9LCJoZWFkZXJfc3ltYm9sX3NlYXJjaCI6e30sInN5bWJvbF9zZWFyY2hfaG90X2tleSI6e30sImhlYWRlcl9yZXNvbHV0aW9ucyI6eyJzdWJzZXRzIjpbImhlYWRlcl9pbnRlcnZhbF9kaWFsb2dfYnV0dG9uIl19LCJoZWFkZXJfY2hhcnRfdHlwZSI6e30sImhlYWRlcl9zZXR0aW5ncyI6e30sImhlYWRlcl9pbmRpY2F0b3JzIjp7fSwiaGVhZGVyX2NvbXBhcmUiOnt9LCJoZWFkZXJfdW5kb19yZWRvIjp7fSwiaGVhZGVyX3F1aWNrX3NlYXJjaCI6e30sImhlYWRlcl9zY3JlZW5zaG90Ijp7fSwiaGVhZGVyX3NhdmVsb2FkIjp7fSwic3R1ZHlfb25fc3R1ZHkiOnt9LCJzY2FsZXNfZGF0ZV9mb3JtYXQiOnt9LCJzY2FsZXNfdGltZV9ob3Vyc19mb3JtYXQiOnt9LCJoZWFkZXJfd2lkZ2V0Ijp7InN1YnNldHMiOlsiaGVhZGVyX3dpZGdldF9kb21fbm9kZSIsImhlYWRlcl9zeW1ib2xfc2VhcmNoIiwiaGVhZGVyX3Jlc29sdXRpb25zIiwiaGVhZGVyX2NoYXJ0X3R5cGUiLCJoZWFkZXJfc2V0dGluZ3MiLCJoZWFkZXJfaW5kaWNhdG9ycyIsImhlYWRlcl9jb21wYXJlIiwiaGVhZGVyX3VuZG9fcmVkbyIsImhlYWRlcl9xdWlja19zZWFyY2giLCJoZWFkZXJfZnVsbHNjcmVlbl9idXR0b24iLCJjb21wYXJlX3N5bWJvbCIsImhlYWRlcl9zY3JlZW5zaG90Il19LCJsZWdlbmRfd2lkZ2V0Ijp7fSwiY29tcGFyZV9zeW1ib2wiOnsic3Vic2V0cyI6WyJoZWFkZXJfY29tcGFyZSJdfSwicHJvcGVydHlfcGFnZXMiOnsic3Vic2V0cyI6WyJzaG93X2NoYXJ0X3Byb3BlcnR5X3BhZ2UiLCJjaGFydF9wcm9wZXJ0eV9wYWdlIl19LCJzaG93X2NoYXJ0X3Byb3BlcnR5X3BhZ2UiOnt9LCJjaGFydF9wcm9wZXJ0eV9wYWdlIjp7InN1YnNldHMiOlsiY2hhcnRfcHJvcGVydHlfcGFnZV9zY2FsZXMiLCJjaGFydF9wcm9wZXJ0eV9wYWdlX3RyYWRpbmciLCJjaGFydF9wcm9wZXJ0eV9wYWdlX3JpZ2h0X21hcmdpbl9lZGl0b3IiXX0sImxlZnRfdG9vbGJhciI6e30sInJpZ2h0X3Rvb2xiYXIiOnt9LCJoaWRlX2xlZnRfdG9vbGJhcl9ieV9kZWZhdWx0Ijp7fSwiY29udHJvbF9iYXIiOnt9LCJ3aWRnZXRfbG9nbyI6e30sInRpbWVmcmFtZXNfdG9vbGJhciI6e30sImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiOnsic3Vic2V0cyI6WyJzaG93X2hpZGVfYnV0dG9uX2luX2xlZ2VuZCIsImZvcm1hdF9idXR0b25faW5fbGVnZW5kIiwic3R1ZHlfYnV0dG9uc19pbl9sZWdlbmQiLCJkZWxldGVfYnV0dG9uX2luX2xlZ2VuZCIsImxlZ2VuZF9pbnBsYWNlX2VkaXQiXX0sInNob3dfaGlkZV9idXR0b25faW5fbGVnZW5kIjp7fSwib2JqZWN0X3RyZWVfbGVnZW5kX21vZGUiOnt9LCJmb3JtYXRfYnV0dG9uX2luX2xlZ2VuZCI6e30sInN0dWR5X2J1dHRvbnNfaW5fbGVnZW5kIjp7fSwiZGVsZXRlX2J1dHRvbl9pbl9sZWdlbmQiOnt9LCJsZWdlbmRfaW5wbGFjZV9lZGl0Ijp7fSwiYnJva2VyX2J1dHRvbiI6e30sImJ1eV9zZWxsX2J1dHRvbnMiOnsic3Vic2V0cyI6WyJicm9rZXJfYnV0dG9uIl19LCJzaG93X2J1eV9zZWxsX2J1dHRvbnNfb25fdW5zdXBwb3J0ZWRfcmVzb2x1dGlvbiI6e30sInBhbmVfY29udGV4dF9tZW51Ijp7fSwic2NhbGVzX2NvbnRleHRfbWVudSI6e30sImxlZ2VuZF9jb250ZXh0X21lbnUiOnt9LCJjb250ZXh0X21lbnVzIjp7InN1YnNldHMiOlsicGFuZV9jb250ZXh0X21lbnUiLCJzY2FsZXNfY29udGV4dF9tZW51IiwibGVnZW5kX2NvbnRleHRfbWVudSIsIm9iamVjdHNfdHJlZV9jb250ZXh0X21lbnUiXX0sIml0ZW1zX2Zhdm9yaXRpbmciOnt9LCJzYXZlX2NoYXJ0X3Byb3BlcnRpZXNfdG9fbG9jYWxfc3RvcmFnZSI6e30sInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIjp7InN1YnNldHMiOlsiaXRlbXNfZmF2b3JpdGluZyIsInNhdmVfY2hhcnRfcHJvcGVydGllc190b19sb2NhbF9zdG9yYWdlIl19LCJoYW5kbGVfc2NhbGUiOnsic3Vic2V0cyI6WyJtb3VzZV93aGVlbF9zY2FsZSIsInBpbmNoX3NjYWxlIiwiYXhpc19wcmVzc2VkX21vdXNlX21vdmVfc2NhbGUiXX0sImhhbmRsZV9zY3JvbGwiOnsic3Vic2V0cyI6WyJtb3VzZV93aGVlbF9zY3JvbGwiLCJwcmVzc2VkX21vdXNlX21vdmVfc2Nyb2xsIiwiaG9yel90b3VjaF9kcmFnX3Njcm9sbCIsInZlcnRfdG91Y2hfZHJhZ19zY3JvbGwiXX0sInBsYWluX3N0dWR5bWFya2V0Ijp7fSwiZGlzYWJsZV9yZXNvbHV0aW9uX3JlYnVpbGQiOnt9LCJib3JkZXJfYXJvdW5kX3RoZV9jaGFydCI6e30sImNoYXJ0aW5nX2xpYnJhcnlfZGVidWdfbW9kZSI6e30sInNhdmVsb2FkX3JlcXVpcmVzX2F1dGhlbnRpY2F0aW9uIjp7fSwic2F2ZWxvYWRfc3RvcmFnZV9jdXN0b21pemF0aW9uIjp7fSwidm9sdW1lX2ZvcmNlX292ZXJsYXkiOnt9LCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0Ijp7fSwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdF9vbmNlIjp7fSwic2F2ZWRfY2hhcnRzX2NvdW50X3Jlc3RyaWN0aW9uIjp7fSwibGVhbl9jaGFydF9sb2FkIjp7fSwic3RvcF9zdHVkeV9vbl9yZXN0YXJ0Ijp7fSwic3Rhcl9zb21lX2ludGVydmFsc19ieV9kZWZhdWx0Ijp7fSwibW92ZV9sb2dvX3RvX21haW5fcGFuZSI6e30sInNob3dfYW5pbWF0ZWRfbG9nbyI6e30sImxpbmtfdG9fdHJhZGluZ3ZpZXciOnt9LCJsb2dvX3dpdGhvdXRfbGluayI6e30sImxvZ29fYWx3YXlzX21heGltaXplZCI6e30sInJpZ2h0X2Jhcl9zdGF5c19vbl9zY3JvbGwiOnt9LCJjaGFydF9jb250ZW50X292ZXJyaWRlc19ieV9kZWZhdWx0cyI6e30sInNuYXBzaG90X3RyYWRpbmdfZHJhd2luZ3MiOnt9LCJhbGxvd19zdXBwb3J0ZWRfcmVzb2x1dGlvbnNfc2V0X29ubHkiOnt9LCJ3aWRnZXRiYXJfdGFicyI6eyJzdWJzZXRzIjpbInJpZ2h0X3Rvb2xiYXIiXX0sInNob3dfb2JqZWN0X3RyZWUiOnsic3Vic2V0cyI6WyJyaWdodF90b29sYmFyIl19LCJkb21fd2lkZ2V0Ijp7InN1YnNldHMiOlsicmlnaHRfdG9vbGJhciJdfSwiY29sbGFwc2libGVfaGVhZGVyIjp7fSwic3R1ZHlfdGVtcGxhdGVzIjp7fSwia2VlcF9zZWxlY3RlZF9ncm91cF9vbl90b29sX2NyZWF0aW9uIjp7fSwic2lkZV90b29sYmFyX2luX2Z1bGxzY3JlZW5fbW9kZSI6e30sImhlYWRlcl9pbl9mdWxsc2NyZWVuX21vZGUiOnt9LCJyZW1vdmVfbGlicmFyeV9jb250YWluZXJfYm9yZGVyIjp7fSwid2hvdHJhZGVzX2F1dGhfb25seSI6e30sInN1cHBvcnRfbXVsdGljaGFydHMiOnt9LCJkaXNwbGF5X21hcmtldF9zdGF0dXMiOnt9LCJkaXNwbGF5X2RhdGFfbW9kZSI6e30sImRhdGFzb3VyY2VfY29weXBhc3RlIjp7fSwiZHJhd2luZ190ZW1wbGF0ZXMiOnsic3Vic2V0cyI6WyJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIl19LCJleHBhbmRfc3ltYm9sc2VhcmNoX2l0ZW1zIjp7fSwic3ltYm9sX3NlYXJjaF90aHJlZV9jb2x1bW5zX2V4Y2hhbmdlcyI6e30sInN5bWJvbF9zZWFyY2hfZmxhZ3MiOnt9LCJzeW1ib2xfc2VhcmNoX2xpbWl0ZWRfZXhjaGFuZ2VzIjp7fSwiYnVncmVwb3J0X2J1dHRvbiI6eyJzdWJzZXRzIjpbInJpZ2h0X3Rvb2xiYXIiXX0sImhlYWRlcl90cmFkZV9idXR0b24iOnt9LCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIjp7fSwiZm9vdGVyX3B1Ymxpc2hfaWRlYV9idXR0b24iOnt9LCJ0ZXh0X25vdGVzIjp7fSwic2hvd19zb3VyY2VfY29kZSI6e30sInN5bWJvbF9pbmZvIjp7fSwibm9fYmFyc19zdGF0dXMiOnt9LCJjbGVhcl9iYXJzX29uX3Nlcmllc19lcnJvciI6e30sImhpZGVfbG9hZGluZ19zY3JlZW5fb25fc2VyaWVzX2Vycm9yIjp7fSwic2Vjb25kc19yZXNvbHV0aW9uIjp7fSwiZG9udF9zaG93X2Jvb2xlYW5fc3R1ZHlfYXJndW1lbnRzIjp7fSwiaGlkZV9sYXN0X25hX3N0dWR5X291dHB1dCI6e30sInByaWNlX3NjYWxlX2Fsd2F5c19sYXN0X2Jhcl92YWx1ZSI6e30sInN0dWR5X2RpYWxvZ19mdW5kYW1lbnRhbHNfZWNvbm9teV9hZGRvbnMiOnt9LCJ1cHBlcmNhc2VfaW5zdHJ1bWVudF9uYW1lcyI6e30sInRyYWRpbmdfbm90aWZpY2F0aW9ucyI6e30sImNoYXJ0X2Nyb3NzaGFpcl9tZW51Ijp7fSwiamFwYW5lc2VfY2hhcnRfc3R5bGVzIjp7fSwiaGlkZV9zZXJpZXNfbGVnZW5kX2l0ZW0iOnt9LCJoaWRlX3N0dWR5X292ZXJsYXlfbGVnZW5kX2l0ZW0iOnt9LCJoaWRlX3N0dWR5X2NvbXBhcmVfbGVnZW5kX2l0ZW0iOnt9LCJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIjp7fSwidXNlX292ZXJyaWRlc19mb3Jfb3ZlcmxheSI6e30sInRpbWV6b25lX21lbnUiOnt9LCJtYWluX3Nlcmllc19zY2FsZV9tZW51Ijp7fSwic2hvd19sb2dpbl9kaWFsb2ciOnt9LCJyZW1vdmVfaW1nX2Zyb21fcnNzIjp7fSwiYmFyc19tYXJrcyI6e30sImNoYXJ0X3Njcm9sbCI6e30sImNoYXJ0X3pvb20iOnt9LCJzb3VyY2Vfc2VsZWN0aW9uX21hcmtlcnMiOnt9LCJsb3dfZGVuc2l0eV9iYXJzIjp7fSwiZW5kX29mX3BlcmlvZF90aW1lc2NhbGVfbWFya3MiOnt9LCJvcGVuX2FjY291bnRfbWFuYWdlciI6e30sInNob3dfb3JkZXJfcGFuZWxfb25fc3RhcnQiOnt9LCJvcmRlcl9wYW5lbCI6eyJzdWJzZXRzIjpbIm9yZGVyX3BhbmVsX2Nsb3NlX2J1dHRvbiIsIm9yZGVyX3BhbmVsX3VuZG9jayIsInJpZ2h0X3Rvb2xiYXIiLCJvcmRlcl9pbmZvIl19LCJtdWx0aXBsZV93YXRjaGxpc3RzIjp7fSwid2F0Y2hsaXN0X2ltcG9ydF9leHBvcnQiOnt9LCJzdHVkeV9vdmVybGF5X2NvbXBhcmVfbGVnZW5kX29wdGlvbiI6e30sIm1vYmlsZV9hcHBfYWN0aW9uX29wZW5fZGV0YWlsc193ZWJ2aWV3Ijp7fSwiY3VzdG9tX3Jlc29sdXRpb25zIjp7fSwicmVmZXJyYWxfcHJvZ3JhbV9mb3Jfd2lkZ2V0X293bmVycyI6e30sIm1vYmlsZV90cmFkaW5nIjp7fSwicmVhbF9icm9rZXJzIjp7fSwicXVpY2tfdHJhZGluZ19wYW5lbCI6e30sIm5hdGl2ZV9tb2JpbGVfYnJva2Vyc19saXN0Ijp7fSwibm9fbWluX2NoYXJ0X3dpZHRoIjp7fSwibG9ja192aXNpYmxlX3RpbWVfcmFuZ2Vfb25fcmVzaXplIjp7fSwicHJpY2VzY2FsZV9jdXJyZW5jeSI6e30sImNyb3BwZWRfdGlja19tYXJrcyI6e30sInRyYWRpbmdfYWNjb3VudF9tYW5hZ2VyIjp7fSwiZGlzYWJsZV9zYW1laW50ZXJ2YWxfYWxpZ25pbmciOnt9LCJkaXNwbGF5X2xlZ2VuZF9vbl9hbGxfY2hhcnRzIjp7fSwiY2hhcnRfc3R5bGVfaGlsbyI6e30sImNoYXJ0X3N0eWxlX2hpbG9fbGFzdF9wcmljZSI6e30sInByaWNlc2NhbGVfdW5pdCI6e30sInNob3dfc3ByZWFkX29wZXJhdG9ycyI6e30sImhpZGVfZXhwb25lbnRpYXRpb25fc3ByZWFkX29wZXJhdG9yIjp7fSwiaGlkZV9yZWNpcHJvY2FsX3NwcmVhZF9vcGVyYXRvciI6e30sImNvbXBhcmVfc3ltYm9sX3NlYXJjaF9zcHJlYWRfb3BlcmF0b3JzIjp7fSwic3R1ZGllc19zeW1ib2xfc2VhcmNoX3NwcmVhZF9vcGVyYXRvcnMiOnt9LCJoaWRlX3Jlc29sdXRpb25faW5fbGVnZW5kIjp7fSwiaGlkZV91bnJlc29sdmVkX3N5bWJvbHNfaW5fbGVnZW5kIjp7fSwiZml4X2xlZnRfZWRnZSI6e30sInN0dWR5X3N5bWJvbF90aWNrZXJfZGVzY3JpcHRpb24iOnt9LCJ0d29fY2hhcmFjdGVyX2Jhcl9tYXJrc19sYWJlbHMiOnt9LCJwaW5fYmFyX21hcmtfdG9vbHRpcHNfb25fY2xpY2siOnt9LCJ0aWNrX3Jlc29sdXRpb24iOnt9LCJzZWNvbmRhcnlfc2VyaWVzX2V4dGVuZF90aW1lX3NjYWxlIjp7fSwiaGlkZV92b2x1bWVfbWEiOnt9LCJzbWFsbF9ub19kaXNwbGF5Ijp7fSwiY2hhcnRpbmdfbGlicmFyeV9zaW5nbGVfc3ltYm9sX3JlcXVlc3QiOnt9LCJ1c2VfdGlja2VyX29uX3N5bWJvbF9pbmZvX3VwZGF0ZSI6e30sInNob3dfem9vbV9hbmRfbW92ZV9idXR0b25zX29uX3RvdWNoIjp7fSwiaGlkZV9tYWluX3Nlcmllc19zeW1ib2xfZnJvbV9pbmRpY2F0b3JfbGVnZW5kIjp7fSwiY2hhcnRfaGlkZV9jbG9zZV9wb3NpdGlvbl9idXR0b24iOnt9LCJjaGFydF9oaWRlX2Nsb3NlX29yZGVyX2J1dHRvbiI6e30sImhpZGVfcHJpY2Vfc2NhbGVfZ2xvYmFsX2xhc3RfYmFyX3ZhbHVlIjp7InN1YnNldHMiOlsidXNlX2xhc3RfdmlzaWJsZV9iYXJfdmFsdWVfaW5fbGVnZW5kIl19LCJrZWVwX29iamVjdF90cmVlX3dpZGdldF9pbl9yaWdodF90b29sYmFyIjp7fSwic2hvd19hdmVyYWdlX2Nsb3NlX3ByaWNlX2xpbmVfYW5kX2xhYmVsIjp7fSwiaGlkZV9pbWFnZV9pbnZhbGlkX3N5bWJvbCI6e30sImhpZGVfb2JqZWN0X3RyZWVfYW5kX3ByaWNlX3NjYWxlX2V4Y2hhbmdlX2xhYmVsIjp7fSwiY29uZmlybV9vdmVyd3JpdGVfaWZfY2hhcnRfbGF5b3V0X3dpdGhfbmFtZV9leGlzdHMiOnt9LCJkZXRlcm1pbmVfZmlyc3RfZGF0YV9yZXF1ZXN0X3NpemVfdXNpbmdfdmlzaWJsZV9yYW5nZSI6e30sInVzZV9uYV9zdHJpbmdfZm9yX25vdF9hdmFpbGFibGVfdmFsdWVzIjp7fSwic2hvd19sYXN0X3ByaWNlX2FuZF9jaGFuZ2Vfb25seV9pbl9zZXJpZXNfbGVnZW5kIjp7fSwibGVnZW5kX2xhc3RfZGF5X2NoYW5nZSI6e30sImlmcmFtZV9sb2FkaW5nX2NvbXBhdGliaWxpdHlfbW9kZSI6e30sInNob3dfcGVyY2VudF9vcHRpb25fZm9yX3JpZ2h0X21hcmdpbiI6e30sIndhdGNobGlzdF9jb250ZXh0X21lbnUiOnt9LCJhY2Nlc3NpYmxlX2tleWJvYXJkX3Nob3J0Y3V0cyI6e30sImFkdmFuY2VkX2Vtb2ppX2luX3RpdGxlcyI6e30sImFwcF9waG9uZSI6e30sImFwcF90YWJsZXQiOnt9LCJtb2JpbGVfYXBwX2hpZGVfcmVwbGF5X3Rvb2xiYXIiOnt9LCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciI6e30sInNob3dfbmF0aXZlX3N5bWJvbF9zZWFyY2hfb25fdGFwX2luX2xlZ2VuZCI6e30sInNob3dfbmF0aXZlX3N5bWJvbF9zZWFyY2hfb25fbm9uX3RyYWRhYmxlIjp7fSwic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyI6e30sInByZV9wb3N0X21hcmtldF9wcmljZV9saW5lIjp7fSwicHJlX3Bvc3RfbWFya2V0X3Nlc3Npb25zIjp7fSwic3R1ZGllc19leHRlbmRfdGltZV9zY2FsZSI6e30sImluYWN0aXZpdHlfZ2FwcyI6e30sImFsaWduX2R3bV9iYXJzX3RvX21haW5fc2VyaWVzIjp7fSwicmVxdWVzdF9vbmx5X3Zpc2libGVfcmFuZ2Vfb25fcmVzZXQiOnt9LCJleHRlbmRlZF9leHRyYXBvbGF0aW9uX2xpbWl0Ijp7fSwidHZfcHJvZHVjdGlvbiI6eyJzdWJzZXRzIjpbIndhdGNobGlzdF9zZWN0aW9ucyIsImFkdmFuY2VkX2Vtb2ppX2luX3RpdGxlcyIsImF1dG9fZW5hYmxlX3N5bWJvbF9sYWJlbHMiLCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiIsImhlYWRlcl9mdWxsc2NyZWVuX2J1dHRvbiIsImhlYWRlcl93aWRnZXQiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJsZWZ0X3Rvb2xiYXIiLCJyaWdodF90b29sYmFyIiwiYnV5X3NlbGxfYnV0dG9ucyIsImNvbnRyb2xfYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwiY29udGV4dF9tZW51cyIsImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiLCJvYmplY3RfdHJlZV9sZWdlbmRfbW9kZSIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwidXNlX2xvY2Fsc3RvcmFnZV9mb3Jfc2V0dGluZ3MiLCJzYXZlbG9hZF9yZXF1aXJlc19hdXRoZW50aWNhdGlvbiIsInZvbHVtZV9mb3JjZV9vdmVybGF5Iiwic2F2ZWRfY2hhcnRzX2NvdW50X3Jlc3RyaWN0aW9uIiwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdCIsImNyZWF0ZV92b2x1bWVfaW5kaWNhdG9yX2J5X2RlZmF1bHRfb25jZSIsImNoYXJ0c19hdXRvX3NhdmUiLCJzYXZlX29sZF9jaGFydF9iZWZvcmVfc2F2ZV9hcyIsImNoYXJ0X2NvbnRlbnRfb3ZlcnJpZGVzX2J5X2RlZmF1bHRzIiwiYWxlcnRzIiwiaGVhZGVyX3NhdmVsb2FkIiwiaGVhZGVyX2xheW91dHRvZ2dsZSIsImRhdGFzb3VyY2VfY29weXBhc3RlIiwic2hvd19zYXZlZF93YXRjaGxpc3RzIiwid2F0Y2hsaXN0c19mcm9tX3RvX2ZpbGUiLCJhZGRfdG9fd2F0Y2hsaXN0IiwicHJvcGVydHlfcGFnZXMiLCJzdXBwb3J0X211bHRpY2hhcnRzIiwiZGlzcGxheV9tYXJrZXRfc3RhdHVzIiwiZGlzcGxheV9kYXRhX21vZGUiLCJzaG93X2NoYXJ0X3dhcm5fbWVzc2FnZSIsInN1cHBvcnRfbWFuYWdlX2RyYXdpbmdzIiwid2lkZ2V0YmFyX3RhYnMiLCJzdHVkeV90ZW1wbGF0ZXMiLCJjb2xsYXBzaWJsZV9oZWFkZXIiLCJkcmF3aW5nX3RlbXBsYXRlcyIsImhlYWRlcl90cmFkZV9idXR0b24iLCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIiwiZm9vdGVyX3B1Ymxpc2hfaWRlYV9idXR0b24iLCJ0ZXh0X25vdGVzIiwic2hvd19zb3VyY2VfY29kZSIsInN5bWJvbF9pbmZvIiwibGluZXRvb2xwcm9wZXJ0aWVzd2lkZ2V0X3RlbXBsYXRlX2J1dHRvbiIsInRyYWRpbmdfbm90aWZpY2F0aW9ucyIsInN5bWJvbF9zZWFyY2hfdGhyZWVfY29sdW1uc19leGNoYW5nZXMiLCJzeW1ib2xfc2VhcmNoX2ZsYWdzIiwic3ltYm9sX3NlYXJjaF9saW1pdGVkX2V4Y2hhbmdlcyIsInBob25lX3ZlcmlmaWNhdGlvbiIsImN1c3RvbV9yZXNvbHV0aW9ucyIsImNvbXBhcmVfc3ltYm9sIiwic3R1ZHlfb25fc3R1ZHkiLCJqYXBhbmVzZV9jaGFydF9zdHlsZXMiLCJzaG93X2xvZ2luX2RpYWxvZyIsImRvbV93aWRnZXQiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNob3dfdHJhZGluZ19ub3RpZmljYXRpb25zX2hpc3RvcnkiLCJzb3VyY2Vfc2VsZWN0aW9uX21hcmtlcnMiLCJzdHVkeV9kaWFsb2dfZnVuZGFtZW50YWxzX2Vjb25vbXlfYWRkb25zIiwibXVsdGlwbGVfd2F0Y2hsaXN0cyIsIm1hcmtlZF9zeW1ib2xzIiwib3JkZXJfcGFuZWwiLCJwcmljZXNjYWxlX2N1cnJlbmN5Iiwic2hvd19hbmltYXRlZF9sb2dvIiwicHJpY2VzY2FsZV9jdXJyZW5jeSIsInNob3dfb2JqZWN0X3RyZWUiLCJ3YXRjaGxpc3RfaW1wb3J0X2V4cG9ydCIsInNjYWxlc19kYXRlX2Zvcm1hdCIsInNjYWxlc190aW1lX2hvdXJzX2Zvcm1hdCIsInBvcHVwX2hpbnRzIiwic2hvd19yaWdodF93aWRnZXRzX3BhbmVsX2J5X2RlZmF1bHQiLCJjb21wYXJlX3JlY2VudF9zeW1ib2xzX2VuYWJsZWQiLCJjaGFydF9zdHlsZV9oaWxvX2xhc3RfcHJpY2UiLCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIsInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiLCJrZWVwX3NlbGVjdGVkX2dyb3VwX29uX3Rvb2xfY3JlYXRpb24iXX0sIndpZGdldCI6eyJzdWJzZXRzIjpbImF1dG9fZW5hYmxlX3N5bWJvbF9sYWJlbHMiLCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwibGVmdF90b29sYmFyIiwicmlnaHRfdG9vbGJhciIsImNvbnRyb2xfYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwiY29udGV4dF9tZW51cyIsImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiLCJvYmplY3RfdHJlZV9sZWdlbmRfbW9kZSIsInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIiwic2F2ZWxvYWRfcmVxdWlyZXNfYXV0aGVudGljYXRpb24iLCJ2b2x1bWVfZm9yY2Vfb3ZlcmxheSIsImNyZWF0ZV92b2x1bWVfaW5kaWNhdG9yX2J5X2RlZmF1bHQiLCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0X29uY2UiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJoZWFkZXJfd2lkZ2V0X2RvbV9ub2RlIiwiaGVhZGVyX3N5bWJvbF9zZWFyY2giLCJoZWFkZXJfcmVzb2x1dGlvbnMiLCJoZWFkZXJfY2hhcnRfdHlwZSIsImhlYWRlcl9jb21wYXJlIiwiaGVhZGVyX2luZGljYXRvcnMiLCJzdGFyX3NvbWVfaW50ZXJ2YWxzX2J5X2RlZmF1bHQiLCJkaXNwbGF5X21hcmtldF9zdGF0dXMiLCJkaXNwbGF5X2RhdGFfbW9kZSIsInNob3dfY2hhcnRfd2Fybl9tZXNzYWdlIiwic3ltYm9sX2luZm8iLCJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIiwic3ltYm9sX3NlYXJjaF90aHJlZV9jb2x1bW5zX2V4Y2hhbmdlcyIsInN5bWJvbF9zZWFyY2hfZmxhZ3MiLCJzeW1ib2xfc2VhcmNoX2xpbWl0ZWRfZXhjaGFuZ2VzIiwid2lkZ2V0YmFyX3RhYnMiLCJjb21wYXJlX3N5bWJvbCIsInNob3dfbG9naW5fZGlhbG9nIiwicGxhaW5fc3R1ZHltYXJrZXQiLCJqYXBhbmVzZV9jaGFydF9zdHlsZXMiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNvdXJjZV9zZWxlY3Rpb25fbWFya2VycyIsInByb3BlcnR5X3BhZ2VzIiwic2hvd19yaWdodF93aWRnZXRzX3BhbmVsX2J5X2RlZmF1bHQiLCJjaGFydF9zdHlsZV9oaWxvX2xhc3RfcHJpY2UiLCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIl19LCJib3Zlc3BhX3dpZGdldCI6eyJzdWJzZXRzIjpbIndpZGdldCIsImhlYWRlcl9zZXR0aW5ncyIsImxpbmV0b29scHJvcGVydGllc3dpZGdldF90ZW1wbGF0ZV9idXR0b24iLCJjb21wYXJlX3JlY2VudF9zeW1ib2xzX2VuYWJsZWQiXX0sImNoYXJ0aW5nX2xpYnJhcnlfYmFzZSI6eyJzdWJzZXRzIjpbIjE0ODUxIiwiYWxsb3dfc3VwcG9ydGVkX3Jlc29sdXRpb25zX3NldF9vbmx5IiwiYXV0b19lbmFibGVfc3ltYm9sX2xhYmVscyIsImJvcmRlcl9hcm91bmRfdGhlX2NoYXJ0IiwiY29sbGFwc2libGVfaGVhZGVyIiwiY29uc3RyYWludF9kaWFsb2dzX21vdmVtZW50IiwiY29udGV4dF9tZW51cyIsImNvbnRyb2xfYmFyIiwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdCIsImN1c3RvbV9pdGVtc19pbl9jb250ZXh0X21lbnUiLCJkYXRhc291cmNlX2NvcHlwYXN0ZSIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwiZGlzcGxheV9tYXJrZXRfc3RhdHVzIiwiZWRpdF9idXR0b25zX2luX2xlZ2VuZCIsIm9iamVjdF90cmVlX2xlZ2VuZF9tb2RlIiwiZ3JheWluZ19kaXNhYmxlZF90b29sc19lbmFibGVkIiwiaGVhZGVyX3dpZGdldCIsImxlZ2VuZF93aWRnZXQiLCJoZWFkZXJfc2F2ZWxvYWQiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJsZWFuX2NoYXJ0X2xvYWQiLCJsZWZ0X3Rvb2xiYXIiLCJyaWdodF90b29sYmFyIiwibGlua190b190cmFkaW5ndmlldyIsInBheV9hdHRlbnRpb25fdG9fdGlja2VyX25vdF9zeW1ib2wiLCJwbGFpbl9zdHVkeW1hcmtldCIsInJlZnJlc2hfc2F2ZWRfY2hhcnRzX2xpc3Rfb25fZGlhbG9nX3Nob3ciLCJyaWdodF9iYXJfc3RheXNfb25fc2Nyb2xsIiwic2F2ZWxvYWRfc3RvcmFnZV9jdXN0b21pemF0aW9uIiwic3RvcF9zdHVkeV9vbl9yZXN0YXJ0IiwidGltZWZyYW1lc190b29sYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwidXBkYXRlX3N0dWR5X2Zvcm1hdHRlcl9vbl9zeW1ib2xfcmVzb2x2ZSIsInVwZGF0ZV90aW1lZnJhbWVzX3NldF9vbl9zeW1ib2xfcmVzb2x2ZSIsInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIiwidm9sdW1lX2ZvcmNlX292ZXJsYXkiLCJ3aWRnZXRfbG9nbyIsImNvdW50ZG93biIsInVzZV9vdmVycmlkZXNfZm9yX292ZXJsYXkiLCJ0cmFkaW5nX25vdGlmaWNhdGlvbnMiLCJjb21wYXJlX3N5bWJvbCIsInN5bWJvbF9pbmZvIiwidGltZXpvbmVfbWVudSIsIm1haW5fc2VyaWVzX3NjYWxlX21lbnUiLCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0X29uY2UiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNvdXJjZV9zZWxlY3Rpb25fbWFya2VycyIsInByb3BlcnR5X3BhZ2VzIiwiZ29fdG9fZGF0ZSIsImFkYXB0aXZlX2xvZ28iLCJzaG93X2FuaW1hdGVkX2xvZ28iLCJoYW5kbGVfc2NhbGUiLCJoYW5kbGVfc2Nyb2xsIiwic2hpZnRfdmlzaWJsZV9yYW5nZV9vbl9uZXdfYmFyIiwiY2hhcnRfY29udGVudF9vdmVycmlkZXNfYnlfZGVmYXVsdHMiLCJjcm9wcGVkX3RpY2tfbWFya3MiLCJzY2FsZXNfZGF0ZV9mb3JtYXQiLCJzY2FsZXNfdGltZV9ob3Vyc19mb3JtYXQiLCJwb3B1cF9oaW50cyIsInNhdmVfc2hvcnRjdXQiLCJzaG93X3JpZ2h0X3dpZGdldHNfcGFuZWxfYnlfZGVmYXVsdCIsInNob3dfb2JqZWN0X3RyZWUiLCJpbnNlcnRfaW5kaWNhdG9yX2RpYWxvZ19zaG9ydGN1dCIsImNvbXBhcmVfcmVjZW50X3N5bWJvbHNfZW5hYmxlZCIsImhpZGVfbWFpbl9zZXJpZXNfc3ltYm9sX2Zyb21faW5kaWNhdG9yX2xlZ2VuZCIsImNoYXJ0X3N0eWxlX2hpbG8iLCJyZXF1ZXN0X29ubHlfdmlzaWJsZV9yYW5nZV9vbl9yZXNldCIsImNsZWFyX3ByaWNlX3NjYWxlX29uX2Vycm9yX29yX2VtcHR5X2JhcnMiLCJzaG93X3N5bWJvbF9sb2dvX2luX2xlZ2VuZCIsInNob3dfc3ltYm9sX2xvZ29fZm9yX2NvbXBhcmVfc3R1ZGllcyIsImxpYnJhcnlfY3VzdG9tX2NvbG9yX3RoZW1lcyIsImxvbmdfcHJlc3NfZmxvYXRpbmdfdG9vbHRpcCIsInN5bWJvbF9zZWFyY2hfaGlnaGxpZ2h0X2FjdGl2ZV9zeW1ib2wiXX0sImNoYXJ0aW5nX2xpYnJhcnkiOnsic3Vic2V0cyI6WyJjaGFydGluZ19saWJyYXJ5X2Jhc2UiXX0sInN0YXRpY19jaGFydHNfc2VydmljZSI6eyJzdWJzZXRzIjpbImNoYXJ0aW5nX2xpYnJhcnkiLCJkaXNhYmxlX3Jlc29sdXRpb25fcmVidWlsZCJdfSwidHJhZGluZ190ZXJtaW5hbCI6eyJzdWJzZXRzIjpbImNoYXJ0aW5nX2xpYnJhcnlfYmFzZSIsInN1cHBvcnRfbXVsdGljaGFydHMiLCJoZWFkZXJfbGF5b3V0dG9nZ2xlIiwiamFwYW5lc2VfY2hhcnRfc3R5bGVzIiwiY2hhcnRfcHJvcGVydHlfcGFnZV90cmFkaW5nIiwiYWRkX3RvX3dhdGNobGlzdCIsIm9wZW5fYWNjb3VudF9tYW5hZ2VyIiwic2hvd19kb21fZmlyc3RfdGltZSIsIm9yZGVyX3BhbmVsIiwiYnV5X3NlbGxfYnV0dG9ucyIsIm11bHRpcGxlX3dhdGNobGlzdHMiLCJzaG93X3RyYWRpbmdfbm90aWZpY2F0aW9uc19oaXN0b3J5IiwiYWx3YXlzX3Bhc3NfY2FsbGVkX29yZGVyX3RvX21vZGlmeSIsInNob3dfb2JqZWN0X3RyZWUiLCJ3YXRjaGxpc3RfaW1wb3J0X2V4cG9ydCIsImRyYXdpbmdfdGVtcGxhdGVzIiwidHJhZGluZ19hY2NvdW50X21hbmFnZXIiLCJjaGFydF9jcm9zc2hhaXJfbWVudSIsImNvbXBhcmVfcmVjZW50X3N5bWJvbHNfZW5hYmxlZCIsIndhdGNobGlzdF9jb250ZXh0X21lbnUiLCJzaG93X3N5bWJvbF9sb2dvX2luX2FjY291bnRfbWFuYWdlciIsInNob3dfc3ltYm9sX2xvZ29faW5fY2xvc2VfcG9zaXRpb25fZGlhbG9nIiwic2hvd19zeW1ib2xfbG9nb19pbl9jYW5jZWxfb3JkZXJfZGlhbG9nIiwid2F0Y2hsaXN0X3NlY3Rpb25zIiwicHJlZmVyX3F1b3RlX3Nob3J0X25hbWUiLCJlbmFibGVfZG9tX2RhdGFfZm9yX3VudHJhZGFibGVfc3ltYm9scyIsInByZWZlcl9zeW1ib2xfbmFtZV9vdmVyX2Z1bGxuYW1lIiwid2F0Y2hsaXN0X2Nyb3NzX3RhYl9zeW5jIl19fScpCn0sNzQ2OTQ5KGUpewplLmV4cG9ydHM9SlNPTi5wYXJzZSgneyJhZHgiOiJ3aWRnZXRfdXNlcl90b2tlbi1hZHgiLCJhZHhEIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWR4RCIsImFnZW5jaWFsYm1jb21iciI6IndpZGdldF91c2VyX3Rva2VuLWFnZW5jaWFsYm1jb21iciIsImFsamF6aXJhY2FwaXRhbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbGphemlyYWNhcGl0YWxEIiwiYWxqYXppcmFjYXBpdGFsUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbGphemlyYWNhcGl0YWxSVCIsImFscmFqaGljYXBpdGFsY29tRCI6IndpZGdldF91c2VyX3Rva2VuLWFscmFqaGljYXBpdGFsY29tRCIsImFscmFqaGljYXBpdGFsY29tUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbHJhamhpY2FwaXRhbGNvbVJUIiwiYW1iaXRvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYW1iaXRvIiwiYXJlbmF4dHJvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYXJlbmF4dHJvIiwiYXJ0ZWNoZWNvbSI6IndpZGdldF91c2VyX3Rva2VuLUFydGVjaGVEIiwiYXRsY2FwaXRhbCI6IndpZGdldF91c2VyX3Rva2VuLWF0bGNhcGl0YWwiLCJiYW5raXJvc3J1Ijoid2lkZ2V0X3VzZXJfdG9rZW4tYmFua2lyb3NydSIsImJidmFjaCI6IndpZGdldF91c2VyX3Rva2VuLWJidmFjaCIsImJlZWtzZ3JvdXAiOiJ3aWRnZXRfdXNlcl90b2tlbi1iZWVrc2dyb3VwIiwiYmVsdWdhZ3JvdXBydSI6IndpZGdldF91c2VyX3Rva2VuLWJlbHVnYWdyb3VwcnUiLCJiaXZhY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tYml2YWNvbSIsImJsdWVmaWVsZCI6IndpZGdldF91c2VyX3Rva2VuLWJsdWVmaWVsZCIsImJsdWVsaW5lZnV0dXJlcyI6IndpZGdldF91c2VyX3Rva2VuLWJsdWVsaW5lZnV0dXJlcyIsImJvdmVzcGEiOiJ3aWRnZXRfdXNlcl90b2tlbi1ibWZib3Zlc3BhY29tYnIiLCJidmJybyI6IndpZGdldF91c2VyX3Rva2VuLWJ2YnJvIiwiYnl0ZXRyYXZlbCI6IndpZGdldF91c2VyX3Rva2VuLWJ5dGV0cmF2ZWwiLCJjYm9lY2FuYWRhIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2JvZWNhbmFkYSIsImNoYW1waW9ubmF0Ym91cnNlIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2hhbXBpb25uYXRib3Vyc2UiLCJjaW5jb2RpYXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jaW5jb2RpYXMiLCJjZW9jYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1jZW9jYUQiLCJjZW9jYVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2VvY2FSVCIsImNtY21hcmtldHMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jbWNtYXJrZXRzIiwiY29wZWVzIjoid2lkZ2V0X3VzZXJfdG9rZW4tY29wZWVzIiwiY3NlbGsiOiJ3aWRnZXRfdXNlcl90b2tlbi1jc2VsayIsImRhaWx5ZngiOiJ3aWRnZXRfdXNlcl90b2tlbi1kYWlseWZ4IiwiZGVlcHNlYXJjaCI6IndpZGdldF91c2VyX3Rva2VuLWRlZXBzZWFyY2giLCJkZXJheWFoY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGVyYXlhaGNvbSIsImRmbWFlRCI6IndpZGdldF91c2VyX3Rva2VuLWRmbWFlRCIsImRmbWFlUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kZm1hZVJUIiwiZGluYXJzYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kaW5hcnNhRCIsImRpbmFyc2FSVCI6IndpZGdldF91c2VyX3Rva2VuLWRpbmFyc2FSVCIsImRvbGFyaG95Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZG9sYXJob3kiLCJlYXN5bnZlc3Rjb21iciI6IndpZGdldF91c2VyX3Rva2VuLWVhc3ludmVzdGNvbWJyIiwiZWRhaWx5Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZWRhaWx5IiwiZWxlc3Bhbm9sY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxlc3Bhbm9sY29tIiwiZWxvYnJlcm9lcyI6IndpZGdldF91c2VyX3Rva2VuLWVsb2JyZXJvZXMiLCJlbG5hY2lvbmFsRCI6IndpZGdldF91c2VyX3Rva2VuLUVsTmFjaW9uYWxEIiwiZWxwYWlzZmluYW5jaWVybyI6IndpZGdldF91c2VyX3Rva2VuLWVscGFpc2ZpbmFuY2llcm8iLCJlbHBlcmlvZGljb2RlbGFlbmVyZ2lhIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxwZXJpb2RpY29kZWxhZW5lcmdpYSIsImV1cXVlcm9pbnZlc3RpciI6IndpZGdldF91c2VyX3Rva2VuLWV1cXVlcm9pbnZlc3RpcmNvbSIsImV1cmV4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZXVyZXgiLCJldXJvZmlucyI6IndpZGdldF91c2VyX3Rva2VuLWV1cm9maW5zIiwiZXBlIjoid2lkZ2V0X3VzZXJfdG9rZW4tZXBlIiwiZXVyb3BhcHJlc3NlcyI6IndpZGdldF91c2VyX3Rva2VuLWV1cm9wYXByZXNzZXMiLCJmaW5hbnphc0QiOiJ3aWRnZXRfdXNlcl90b2tlbi1GaW5hbnphc0QiLCJmb3JiZXNjb21iciI6IndpZGdldF91c2VyX3Rva2VuLWZvcmJlc2NvbWJyIiwiZ2VuaWFsaW52ZXN0aW1lbnRvcyI6IndpZGdldF91c2VyX3Rva2VuLWdlbmlhbGludmVzdGltZW50b3MiLCJoZWFsdGhpdGFsaWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1oZWFsdGhpdGFsaWEiLCJoZWduYXJubyI6IndpZGdldF91c2VyX3Rva2VuLWhlZ25hcm5vIiwiaGlwb3RlY2FyaW9jb21hciI6IndpZGdldF91c2VyX3Rva2VuLWhpcG90ZWNhcmlvY29tYXIiLCJpZ2NvbSI6IndpZGdldF91c2VyX3Rva2VuLWlnY29tIiwiaW52ZXN0ZWdhdGVjb3VrIjoid2lkZ2V0X3VzZXJfdG9rZW4taW52ZXN0ZWdhdGVjb3VrIiwiaW52ZXN0b3BlZGlhIjoid2lkZ2V0X3VzZXJfdG9rZW4taW52ZXN0b3BlZGlhIiwiaW50ZWdyYWx5YXRpcmltIjoid2lkZ2V0X3VzZXJfdG9rZW4taW50ZWdyYWx5YXRpcmltIiwiaXZzZ3JvdXAiOiJ3aWRnZXRfdXNlcl90b2tlbi1pdnNncm91cCIsImpzZWNvemEiOiJ3aWRnZXRfdXNlcl90b2tlbi1qc2Vjb3phIiwiYm9lcnNlbnplaXR1bmciOiJ3aWRnZXRfdXNlcl90b2tlbi1ib2Vyc2VuemVpdHVuZyIsImxhaW5mb3JtYWNpb25jb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1sYWluZm9ybWFjaW9uY29tIiwibWFyY29wb2xvY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1tYXJjb3BvbG9jb21iciIsIm1lcmNhZG9maW5hbmNpZXJvY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tbWVyY2Fkb2ZpbmFuY2llcm9jb20iLCJtb2V4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tbW9leCIsIm1vbmV5dGltZXNjb21iciI6IndpZGdldF91c2VyX3Rva2VuLW1vbmV5dGltZXNjb21iciIsIm1vbml0b3Jkb21lcmNhZG9EIjoid2lkZ2V0X3VzZXJfdG9rZW4tbW9uaXRvcmRvbWVyY2Fkb0QiLCJteW5ldGNvbSI6IndpZGdldF91c2VyX3Rva2VuLW15bmV0Y29tIiwibmVnb2Npb3MiOiJ3aWRnZXRfdXNlcl90b2tlbi1uZWdvY2lvcyIsIk5HWCI6IndpZGdldF91c2VyX3Rva2VuLU5HWCIsIk5vdGljaWFzYWdyaWNvbGFEIjoid2lkZ2V0X3VzZXJfdG9rZW4tbm90aWNpYXNhZ3JpY29sYUQiLCJub21tb21hIjoid2lkZ2V0X3VzZXJfdG9rZW4tbm9tbW9tYSIsIm5zZWNva3IiOiJ3aWRnZXRfdXNlcl90b2tlbi1uc2Vjb2tyIiwib2tkaWFyaW8iOiJ3aWRnZXRfdXNlcl90b2tlbi1va2RpYXJpbyIsInBhbmFmcmljYW5yZXNvdXJjZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1wYW5hZnJpY2FucmVzb3VyY2VzY29tIiwicHNlIjoid2lkZ2V0X3VzZXJfdG9rZW4tcHNlIiwicG9kZXIzNjAiOiJ3aWRnZXRfdXNlcl90b2tlbi1wb2RlcjM2MCIsInBzZUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1wc2VEIiwicml5YWRoY2FwaXRhbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1yaXlhZGhjYXBpdGFsRCIsInJpeWFkaGNhcGl0YWxSVCI6IndpZGdldF91c2VyX3Rva2VuLXJpeWFkaGNhcGl0YWxSVCIsInFlY29tcWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1xZWNvbXFhIiwic2Ftb2xldCI6IndpZGdldF91c2VyX3Rva2VuLXNhbW9sZXQiLCJzZWVpbmdtYWNoaW5lc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXNlZWluZ21hY2hpbmVzY29tIiwic2V1ZGluaGVpcm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1zZXVkaW5oZWlybyIsInNvZnR3YXJlYWciOiJ3aWRnZXRfdXNlcl90b2tlbi1zb2Z0d2FyZWFnIiwic29nZWNsYWlyIjoid2lkZ2V0X3VzZXJfdG9rZW4tc29nZWNsYWlyIiwic2djb21wYW55aXQiOiJ3aWRnZXRfdXNlcl90b2tlbi1zZ2NvbXBhbnlpdCIsInNoYXJlanVuY3Rpb24iOiJ3aWRnZXRfdXNlcl90b2tlbi1zaGFyZWp1bmN0aW9uIiwic21hcnRsYWItY3VzdG9tIjoid2lkZ2V0X3VzZXJfdG9rZW4tc21hcnRsYWIiLCJzbWFydGxhYiI6IndpZGdldF91c2VyX3Rva2VuLXNtYXJ0bGFiIiwic3BhY2Vtb25leWNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3BhY2Vtb25leWNvbWJyIiwic3RvbmV4d2RnIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3RvbmV4wqMtIXd3dy5zdG9uZXguY29tIiwic3RveGlvIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3RveGlvIiwic3RvbmV4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tc3RvbmV4IiwidG9yb2ludmVzdGltZW50b3Njb20iOiJ3aWRnZXRfdXNlcl90b2tlbi10b3JvaW52ZXN0aW1lbnRvc2NvbSIsInRoZWNzZWNvbSI6IndpZGdldF91c2VyX3Rva2VuLXRoZWNzZWNvbSIsInRyYWRlcnNjbHViYnJhc2lsIjoid2lkZ2V0X3VzZXJfdG9rZW4tdHJhZGVyc2NsdWJicmFzaWwiLCJ0cmFkZXJzY2x1YmJyYXNpbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi10cmFkZXJzY2x1YmJyYXNpbEQiLCJ0cmFkaW5ndmlldyI6IndpZGdldF91c2VyX3Rva2VuLXRyYWRpbmd2aWV3IiwieHRvb2xzIjoid2lkZ2V0X3VzZXJfdG9rZW4teHRvb2xzIiwidHdpdHRlciI6IndpZGdldF91c2VyX3Rva2VuLXR3aXR0ZXIiLCJ2ZWxvY2l0eWNvbXBvc2l0ZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi12ZWxvY2l0eWNvbXBvc2l0ZXNjb20iLCJ2b2Nlc2FhYnJpbGNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tdm9jZXNhYWJyaWxjb21iciIsIndlYWx0aHNpbXBsZSI6IndpZGdldF91c2VyX3Rva2VuLXdlYWx0aHNpbXBsZcKjLSFteS53ZWFsdGhzaW1wbGUuY29tIiwid29ybGRjaGVzc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXdvcmxkY2hlc3Njb20iLCJ4Q3J0eUprc3AiOiJ3aWRnZXRfdXNlcl90b2tlbi14Q3J0eUprc3AiLCJ4cGljb21iciI6IndpZGdldF91c2VyX3Rva2VuLXhwaWNvbWJyIn0nKQp9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/_/translate_http/_/ss/k=translate_http.tr.h-8nNKmS1Ow.L.X.O/am=wA/d=0/rs=AN8SPfqOzVW1i408g0LEgF6U1C6yVO6EEA/m=el_main_css","fqdn":"www.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":"stylesheet","requested_by":"https://247optiontradefx.com/","date":"2026-07-27T02:50:33.426Z","timestamp":1785120633426,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.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 /_/translate_http/_/ss/k=translate_http.tr.h-8nNKmS1Ow.L.X.O/am=wA/d=0/rs=AN8SPfqOzVW1i408g0LEgF6U1C6yVO6EEA/m=el_main_css HTTP/1.1\r\nHost: www.gstatic.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://247optiontradefx.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\naccept-ranges: bytes\r\ncontent-encoding: gzip\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/rosetta\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"rosetta\"\r\nreport-to: {\"group\":\"rosetta\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/rosetta\"}]}\r\ncontent-length: 4190\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Sun, 26 Jul 2026 21:00:54 GMT\r\nexpires: Mon, 26 Jul 2027 21:00:54 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Fri, 01 Dec 2023 04:11:49 GMT\r\ncontent-type: text/css; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 20979\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":null,"data":{"size":22917,"size_decoded":5041,"mime_type":"text/css; charset=UTF-8","magic":"ASCII text, with very long lines (22917), with no line terminators","md5":"6522218677337f86e43b9a17e0209090","sha1":"5cb8aba04193baf1c9dd93ae9f75376a1a02c56f","sha256":"f7d07c4040dea3c1018d954f71e55193fa1e34c5c2bde0492e8f95f582ce2b8a","sha512":"bd5c3aa07002e4f15240bdeb22bfd88487dbbfb672aff58cdb7a994b78e14698a5f376834d942c90b11af09ec06422d867d0135a0952a25041f4a509a4e15a9e","ssdeep":"384:kM78SievMpjuFzoqCWaqWoYlpTpIQoPNYsCnG:172evMlcQoPsG","tlshash":"4fa2cc21079ed019a7afe85354d36dff72d488db50113eeaaf5a3352cd822f231ea215","first_seen":"2024-04-30T11:19:41Z","last_seen":"2026-07-27T05:05:03.433201Z","times_seen":705,"resource_available":false,"data":"LlZJcGdKZC1aVmk5b2QtT1JIYi1PRVZtY2R7bGVmdDowO3RvcDowO2hlaWdodDozOXB4O3dpZHRoOjEwMCU7ei1pbmRleDoxMDAwMDAwMTtwb3NpdGlvbjpmaXhlZDtib3JkZXI6bm9uZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNkI5MERBO21hcmdpbjowOy13ZWJraXQtYm94LXNoYWRvdzowIDAgOHB4IDFweCAjOTk5O2JveC1zaGFkb3c6MCAwIDhweCAxcHggIzk5OX0uVklwZ0pkLVpWaTlvZC14bDA3T2ItT0VWbWNke3otaW5kZXg6MTAwMDAwMDI7Ym9yZGVyOm5vbmU7cG9zaXRpb246Zml4ZWQ7LXdlYmtpdC1ib3gtc2hhZG93OjAgM3B4IDhweCAycHggIzk5OTtib3gtc2hhZG93OjAgM3B4IDhweCAycHggIzk5OX0uVklwZ0pkLVpWaTlvZC1TbWZaLU9FVm1jZHt6LWluZGV4OjEwMDAwMDAwO2JvcmRlcjpub25lO21hcmdpbjowfS5nb29nLXRlLWdhZGdldHtmb250LWZhbWlseTphcmlhbDtmb250LXNpemU6MTFweDtjb2xvcjojNjY2O3doaXRlLXNwYWNlOm5vd3JhcH0uZ29vZy10ZS1nYWRnZXQgaW1ne3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtib3JkZXI6bm9uZX0uZ29vZy10ZS1nYWRnZXQtc2ltcGxle2JhY2tncm91bmQtY29sb3I6I0ZGRjtib3JkZXItbGVmdDoxcHggc29saWQgI0Q1RDVENTtib3JkZXItdG9wOjFweCBzb2xpZCAjOUI5QjlCO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNFOEU4RTg7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjRDVENUQ1O2ZvbnQtc2l6ZToxMHB0O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmctdG9wOjFweDtwYWRkaW5nLWJvdHRvbToycHg7Y3Vyc29yOnBvaW50ZXJ9Lmdvb2ctdGUtZ2FkZ2V0LWljb257bWFyZ2luLWxlZnQ6MnB4O21hcmdpbi1yaWdodDoycHg7d2lkdGg6MTlweDtoZWlnaHQ6MTlweDtib3JkZXI6bm9uZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lmdvb2ctdGUtY29tYm97bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDo0cHg7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9Lmdvb2ctdGUtZ2FkZ2V0IC5nb29nLXRlLWNvbWJve21hcmdpbjo0cHggMH0uVklwZ0pkLVpWaTlvZC1sNGVIWC1oU1JHUGQsLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkOmxpbmssLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkOnZpc2l0ZWQsLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkOmhvdmVyLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDphY3RpdmV7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6Ym9sZDtjb2xvcjojNDQ0O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLU9SSGIgLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkLC5WSXBnSmQtWlZpOW9kLVR2RDlQYy1oU1JHUGR7ZGlzcGxheTpibG9jazttYXJnaW46MCAxMHB4fS5WSXBnSmQtWlZpOW9kLU9SSGIgLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1Bke3BhZGRpbmctdG9wOjJweDtwYWRkaW5nLWxlZnQ6NHB4fS5nb29nLXRlLWNvbWJvLC5WSXBnSmQtWlZpOW9kLU9SSGIgKiwuVklwZ0pkLVpWaTlvZC1TbWZaICosLlZJcGdKZC1aVmk5b2QteGwwN09iICosLlZJcGdKZC1aVmk5b2QtdkgxR21mICosLlZJcGdKZC1aVmk5b2QtbDl4a3RmICp7Zm9udC1mYW1pbHk6YXJpYWw7Zm9udC1zaXplOjEwcHR9LlZJcGdKZC1aVmk5b2QtT1JIYnttYXJnaW46MDtiYWNrZ3JvdW5kLWNvbG9yOiNFNEVGRkI7b3ZlcmZsb3c6aGlkZGVufS5WSXBnSmQtWlZpOW9kLU9SSGIgaW1ne2JvcmRlcjpub25lfS5WSXBnSmQtWlZpOW9kLU9SSGItYk45N1Bje2NvbG9yOiMwMDB9LlZJcGdKZC1aVmk5b2QtT1JIYi1iTjk3UGMgaW1ne3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uVklwZ0pkLVpWaTlvZC1PUkhiLVRzd3YxYntjb2xvcjojNjY2O3ZlcnRpY2FsLWFsaWduOnRvcDttYXJnaW4tdG9wOjA7Zm9udC1zaXplOjdwdH0uVklwZ0pkLVpWaTlvZC1PUkhiLUtFNnZxZXt3aWR0aDo4cHh9LlZJcGdKZC1aVmk5b2QtTGdic1Nle2JvcmRlci1jb2xvcjojRTdFN0U3O2JvcmRlci1zdHlsZTpub25lIHNvbGlkIHNvbGlkIG5vbmU7Ym9yZGVyLXdpZHRoOjAgMXB4IDFweCAwfS5WSXBnSmQtWlZpOW9kLUxnYnNTZSBkaXZ7Ym9yZGVyLWNvbG9yOiNDQ0MgIzk5OSAjOTk5ICNDQ0M7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjOTk5O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2hlaWdodDoyMHB4fS5WSXBnSmQtWlZpOW9kLUxnYnNTZSBidXR0b257YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6MjBweDtvdmVyZmxvdzpoaWRkZW47bWFyZ2luOjA7dmVydGljYWwtYWxpZ246dG9wO3doaXRlLXNwYWNlOm5vd3JhcH0uVklwZ0pkLVpWaTlvZC1MZ2JzU2UgYnV0dG9uOmFjdGl2ZXtiYWNrZ3JvdW5kOm5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgI0NDQ30uVklwZ0pkLVpWaTlvZC1TbWZae21hcmdpbjowO2JhY2tncm91bmQtY29sb3I6I0ZGRjt3aGl0ZS1zcGFjZTpub3dyYXB9LlZJcGdKZC1aVmk5b2QtU21mWi1oU1JHUGR7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXNpemU6MTBwdDtib3JkZXI6MXB4IG91dHNldCAjODg4O3BhZGRpbmc6NnB4IDEwcHg7d2hpdGUtc3BhY2U6bm93cmFwO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MH0uVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZCBpbWd7bWFyZ2luLWxlZnQ6MnB4O21hcmdpbi1yaWdodDoycHg7d2lkdGg6MTlweDtoZWlnaHQ6MTlweDtib3JkZXI6bm9uZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LlZJcGdKZC1aVmk5b2QtU21mWi1oU1JHUGQgc3Bhbnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZ29vZy10ZS1mbG9hdC10b3AgLlZJcGdKZC1aVmk5b2QtU21mWi1oU1JHUGR7cGFkZGluZzoycHg7Ym9yZGVyLXRvcC13aWR0aDowfS5nb29nLXRlLWZsb2F0LWJvdHRvbSAuVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZHtwYWRkaW5nOjJweDtib3JkZXItYm90dG9tLXdpZHRoOjB9LlZJcGdKZC1aVmk5b2QteGwwN09iLWxUQnhlZHt0ZXh0LWRlY29yYXRpb246bm9uZTtjb2xvcjojMDBDO3doaXRlLXNwYWNlOm5vd3JhcDttYXJnaW4tbGVmdDo0cHg7bWFyZ2luLXJpZ2h0OjRweH0uVklwZ0pkLVpWaTlvZC14bDA3T2ItbFRCeGVkIHNwYW57dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0uVklwZ0pkLVpWaTlvZC14bDA3T2ItbFRCeGVkIGltZ3ttYXJnaW4tbGVmdDoycHg7bWFyZ2luLXJpZ2h0OjJweH0uZ29vZy10ZS1nYWRnZXQtc2ltcGxlIC5WSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWR7Y29sb3I6IzAwMH0uZ29vZy10ZS1nYWRnZXQtc2ltcGxlIC5WSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQgc3Bhbnt0ZXh0LWRlY29yYXRpb246bm9uZX0uVklwZ0pkLVpWaTlvZC14bDA3T2J7YmFja2dyb3VuZC1jb2xvcjojRkZGO3RleHQtZGVjb3JhdGlvbjpub25lO2JvcmRlcjoycHggc29saWQgI0MzRDlGRjtvdmVyZmxvdy15OnNjcm9sbDtvdmVyZmxvdy14OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjB9LlZJcGdKZC1aVmk5b2QteGwwN09iLWlibkM2YntwYWRkaW5nOjNweDt0ZXh0LWRlY29yYXRpb246bm9uZX0uVklwZ0pkLVpWaTlvZC14bDA3T2ItaWJuQzZiLC5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6bGlua3tjb2xvcjojMDBDO2JhY2tncm91bmQ6I0ZGRn0uVklwZ0pkLVpWaTlvZC14bDA3T2ItaWJuQzZiOnZpc2l0ZWR7Y29sb3I6IzU1MUE4Qn0uVklwZ0pkLVpWaTlvZC14bDA3T2ItaWJuQzZiOmhvdmVye2JhY2tncm91bmQ6I0MzRDlGRn0uVklwZ0pkLVpWaTlvZC14bDA3T2ItaWJuQzZiOmFjdGl2ZXtjb2xvcjojMDBDfS5WSXBnSmQtWlZpOW9kLXZIMUdtZntiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Ym9yZGVyOjFweCBzb2xpZCAjNkI5MERBO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjRweH0uVklwZ0pkLVpWaTlvZC12SDFHbWYtS3JoUE5ie3dpZHRoOjE2cHh9LlZJcGdKZC1aVmk5b2QtdkgxR21mLWhnRFV3ZXttYXJnaW46NnB4IDA7aGVpZ2h0OjFweDtiYWNrZ3JvdW5kLWNvbG9yOiNhYWE7b3ZlcmZsb3c6aGlkZGVufS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmIgZGl2LC5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmItZ2s2U01kIGRpdntwYWRkaW5nOjRweH0uVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiIC51REVGZ2V7ZGlzcGxheTpub25lfS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmItZ2s2U01kIC51REVGZ2V7ZGlzcGxheTphdXRvfS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmItZ2s2U01kIC5mbWNtU3twYWRkaW5nLWxlZnQ6NHB4O3BhZGRpbmctcmlnaHQ6NHB4fS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmIsLlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWR7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YiBkaXYsLlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YjpsaW5rIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiOnZpc2l0ZWQgZGl2LC5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmI6YWN0aXZlIGRpdntjb2xvcjojMDBDO2JhY2tncm91bmQ6I0ZGRn0uVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiOmhvdmVyIGRpdntjb2xvcjojRkZGO2JhY2tncm91bmQ6IzM2Q30uVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZCBkaXYsLlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQ6bGluayBkaXYsLlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQ6dmlzaXRlZCBkaXYsLlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQ6aG92ZXIgZGl2LC5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmItZ2s2U01kOmFjdGl2ZSBkaXZ7Y29sb3I6IzAwMDtmb250LXdlaWdodDpib2xkfS5WSXBnSmQtWlZpOW9kLWw5eGt0ZntiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6OHB4O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MTBweH0uVklwZ0pkLVpWaTlvZC1sOXhrdGYtT0VWbWNke2JhY2tncm91bmQtY29sb3I6I0ZGRjtib3JkZXI6MXB4IHNvbGlkICM2QjkwREE7LXdlYmtpdC1ib3gtc2hhZG93OjAgM3B4IDhweCAycHggIzk5OTtib3gtc2hhZG93OjAgM3B4IDhweCAycHggIzk5OTtib3JkZXItcmFkaXVzOjhweH0uVklwZ0pkLVpWaTlvZC1sOXhrdGYgaW1ne2JvcmRlcjpub25lfS5WSXBnSmQtWlZpOW9kLWw5eGt0Zi1mbWNtU3ttYXJnaW4tdG9wOjZweH0uVklwZ0pkLVpWaTlvZC1sOXhrdGYtVmd3Smxje21hcmdpbi10b3A6NnB4O3doaXRlLXNwYWNlOm5vd3JhcH0uVklwZ0pkLVpWaTlvZC1sOXhrdGYtVmd3SmxjICp7dmVydGljYWwtYWxpZ246bWlkZGxlfS5WSXBnSmQtWlZpOW9kLWw5eGt0Zi1WZ3dKbGMgLkRVR0ppZXtiYWNrZ3JvdW5kLWltYWdlOnVybChodHRwczovL3d3dyZnb29nbGUuY29tL2ltYWdlcy96aXBweV9taW51c19zbS5naWYpfS5WSXBnSmQtWlZpOW9kLWw5eGt0Zi1WZ3dKbGMgLlRkeVREZXtiYWNrZ3JvdW5kLWltYWdlOnVybChodHRwczovL3d3dyZnb29nbGUuY29tL2ltYWdlcy96aXBweV9wbHVzX3NtLmdpZil9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLVZnd0psYyBzcGFue2NvbG9yOiMwMEM7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtjdXJzb3I6cG9pbnRlcjttYXJnaW46MCA0cHh9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLUk5R0xwe21hcmdpbjo2cHggMCAwfS5WSXBnSmQtWlZpOW9kLWw5eGt0Zi1JOUdMcCBmb3Jte21hcmdpbjowfS5WSXBnSmQtWlZpOW9kLWw5eGt0Zi1JOUdMcCBmb3JtIHRleHRhcmVhe21hcmdpbi1ib3R0b206NHB4O3dpZHRoOjEwMCV9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLXllUGU1Y3ttYXJnaW46NnB4IDAgNHB4fS5WSXBnSmQtWlZpOW9kLWFaMndFZS13T0hNeWZ7ei1pbmRleDoxMDAwO3Bvc2l0aW9uOmZpeGVkOy13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTouNnM7dHJhbnNpdGlvbi1kZWxheTouNnM7bGVmdDotMTAwMHB4O3RvcDotMTAwMHB4fS5WSXBnSmQtWlZpOW9kLWFaMndFZS13T0hNeWYtdGk2aEdjey13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTowczt0cmFuc2l0aW9uLWRlbGF5OjBzO2xlZnQ6LTE0cHg7dG9wOi0xNHB4fS5WSXBnSmQtWlZpOW9kLWFaMndFZS1PaWlDT3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjEwNHB4O2hlaWdodDoxMDRweDtib3JkZXItcmFkaXVzOjUwcHg7YmFja2dyb3VuZDojRkZGIHVybChodHRwczovL3d3dy5nc3RhdGljLmNvbS9pbWFnZXMvYnJhbmRpbmcvcHJvZHVjdC8yeC90cmFuc2xhdGVfMjRkcC5wbmcpIDUwJSA1MCUgbm8tcmVwZWF0Oy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjZzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246YWxsIC42cyBlYXNlLWluLW91dDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguNCk7LW1zLXRyYW5zZm9ybTpzY2FsZSguNCk7dHJhbnNmb3JtOnNjYWxlKC40KTtvcGFjaXR5OjB9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPLXRpNmhHY3std2Via2l0LXRyYW5zZm9ybTpzY2FsZSguNSk7LW1zLXRyYW5zZm9ybTpzY2FsZSguNSk7dHJhbnNmb3JtOnNjYWxlKC41KTtvcGFjaXR5OjF9LlZJcGdKZC1aVmk5b2QtYVoyd0Vle21hcmdpbjoycHggMCAwIDJweDstd2Via2l0LWFuaW1hdGlvbjpzcGlubmVyLXJvdGF0b3IgMS40cyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnNwaW5uZXItcm90YXRvciAxLjRzIGxpbmVhciBpbmZpbml0ZX1ALXdlYmtpdC1rZXlmcmFtZXMgc3Bpbm5lci1yb3RhdG9yezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDI3MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgyNzBkZWcpfX1Aa2V5ZnJhbWVzIHNwaW5uZXItcm90YXRvcnswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgyNzBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKX19LlZJcGdKZC1aVmk5b2QtYVoyd0VlLUp0NWNLe3N0cm9rZS1kYXNoYXJyYXk6MTg3O3N0cm9rZS1kYXNob2Zmc2V0OjA7c3Ryb2tlOiM0Mjg1RjQ7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjstbXMtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7LXdlYmtpdC1hbmltYXRpb246c3Bpbm5lci1kYXNoIDEuNHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7YW5pbWF0aW9uOnNwaW5uZXItZGFzaCAxLjRzIGVhc2UtaW4tb3V0IGluZmluaXRlfUAtd2Via2l0LWtleWZyYW1lcyBzcGlubmVyLWRhc2h7MCV7c3Ryb2tlLWRhc2hvZmZzZXQ6MTg3fTUwJXtzdHJva2UtZGFzaG9mZnNldDo0Ni43NTstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDEzNWRlZyl9MTAwJXtzdHJva2UtZGFzaG9mZnNldDoxODc7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDQ1MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg0NTBkZWcpfX1Aa2V5ZnJhbWVzIHNwaW5uZXItZGFzaHswJXtzdHJva2UtZGFzaG9mZnNldDoxODd9NTAle3N0cm9rZS1kYXNob2Zmc2V0OjQ2Ljc1Oy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxMzVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKX0xMDAle3N0cm9rZS1kYXNob2Zmc2V0OjE4Nzstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoNDUwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDQ1MGRlZyl9fS5WSXBnSmQteUFXTkViLUw3bGJrYiBodG1sLC5WSXBnSmQteUFXTkViLUw3bGJrYiBib2R5LC5WSXBnSmQteUFXTkViLUw3bGJrYiBkaXYsLlZJcGdKZC15QVdORWItTDdsYmtiIHNwYW4sLlZJcGdKZC15QVdORWItTDdsYmtiIGlmcmFtZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgaDEsLlZJcGdKZC15QVdORWItTDdsYmtiIGgyLC5WSXBnSmQteUFXTkViLUw3bGJrYiBoMywuVklwZ0pkLXlBV05FYi1MN2xia2IgaDQsLlZJcGdKZC15QVdORWItTDdsYmtiIGg1LC5WSXBnSmQteUFXTkViLUw3bGJrYiBoNiwuVklwZ0pkLXlBV05FYi1MN2xia2IgcCwuVklwZ0pkLXlBV05FYi1MN2xia2IgYSwuVklwZ0pkLXlBV05FYi1MN2xia2IgaW1nLC5WSXBnSmQteUFXTkViLUw3bGJrYiBvbCwuVklwZ0pkLXlBV05FYi1MN2xia2IgdWwsLlZJcGdKZC15QVdORWItTDdsYmtiIGxpLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0YWJsZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgZm9ybSwuVklwZ0pkLXlBV05FYi1MN2xia2IgdGJvZHksLlZJcGdKZC15QVdORWItTDdsYmtiIHRyLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0ZHttYXJnaW46MDtwYWRkaW5nOjA7Ym9yZGVyOjA7Zm9udDppbmhlcml0O2ZvbnQtc2l6ZToxMDAlO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO3RleHQtYWxpZ246bGVmdDtsaW5lLWhlaWdodDpub3JtYWx9LlZJcGdKZC15QVdORWItTDdsYmtiIG9sLC5WSXBnSmQteUFXTkViLUw3bGJrYiB1bHtsaXN0LXN0eWxlOm5vbmV9LlZJcGdKZC15QVdORWItTDdsYmtiIHRhYmxle2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtib3JkZXItc3BhY2luZzowfS5WSXBnSmQteUFXTkViLUw3bGJrYiBjYXB0aW9uLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0aCwuVklwZ0pkLXlBV05FYi1MN2xia2IgdGR7dGV4dC1hbGlnbjpsZWZ0O2ZvbnQtd2VpZ2h0Om5vcm1hbH0uVklwZ0pkLXlBV05FYi1MN2xia2IgaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjB9ZGl2Pi5WSXBnSmQteUFXTkViLUw3bGJrYntwYWRkaW5nOjEwcHggMTRweH0uVklwZ0pkLXlBV05FYi1MN2xia2J7Y29sb3I6IzIyMjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZWVlO2JveC1zaGFkb3c6MCA0cHggMTZweCByZ2JhKDAsMCwwLC4yKTstbW96LWJveC1zaGFkb3c6MCA0cHggMTZweCByZ2JhKDAsMCwwLC4yKTstd2Via2l0LWJveC1zaGFkb3c6MCA0cHggMTZweCByZ2JhKDAsMCwwLC4yKTtkaXNwbGF5Om5vbmU7Zm9udC1mYW1pbHk6YXJpYWw7Zm9udC1zaXplOjEwcHQ7d2lkdGg6NDIwcHg7cGFkZGluZzoxMnB4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDB9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLW5WTWZjZC1mbWNtUywuVklwZ0pkLXlBV05FYi15QVdORWItVnkyQXFjLXBiVFRZZXtjbGVhcjpib3RoO2ZvbnQtc2l6ZToxMHB0O3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246anVzdGlmeTt3aWR0aDoxMDAlfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1yNG5rZXtjb2xvcjojOTk5O2ZvbnQtZmFtaWx5OmFyaWFsLHNhbnMtc2VyaWY7bWFyZ2luOjRweCAwO3RleHQtYWxpZ246bGVmdH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVHZEOVBjLUxnYnNTZXtkaXNwbGF5Om5vbmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLWw0ZUhYe2Zsb2F0OmxlZnQ7bWFyZ2luOjB9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVowQXJxZi1QTERiYmZ7ZGlzcGxheTppbmxpbmUtYmxvY2t9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLWZ3NDJaZS1aMEFycWYtaGFBY2xme2Rpc3BsYXk6bm9uZTt3aWR0aDoxMDAlfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1aMEFycWYtSDl0RHR7bWFyZ2luLXRvcDoyMHB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MSzV5dXtmbG9hdDpsZWZ0fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1xd1U4TWV7ZmxvYXQ6cmlnaHR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLWNHTUkyYnttaW4taGVpZ2h0OjE1cHg7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjElfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1qT2ZrTWItTmUzc0Zme2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCMyOTkxMGQgMCwjMjBhZjBlIDEwMCUpO2JhY2tncm91bmQ6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sZnJvbSgjMjk5MTBkKSx0bygjMjBhZjBlKSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG9wLCMyOTkxMGQgMCwjMjBhZjBlIDEwMCUpO2JhY2tncm91bmQ6IzI5OTEwZDtib3JkZXItcmFkaXVzOjRweDstbW96LWJvcmRlci1yYWRpdXM6NHB4Oy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHg7Ym94LXNoYWRvdzppbnNldCAwIDJweCAycHggIzFlNjYwOTstbW96LWJveC1zaGFkb3c6aW5zZXQgMCAycHggMnB4ICMxZTY2MDk7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMnB4IDJweCAjMWU2NjA5O2NvbG9yOndoaXRlO2ZvbnQtc2l6ZTo5cHQ7Zm9udC13ZWlnaHQ6Ym9sZGVyO21hcmdpbi10b3A6MTJweDtwYWRkaW5nOjZweDt0ZXh0LXNoYWRvdzoxcHggMXB4IDFweCAjMWU2NjA5fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1aMEFycWYtaFNSR1Bke2NvbG9yOiMxNWM7Y3Vyc29yOnBvaW50ZXI7Zm9udC1mYW1pbHk6YXJpYWw7Zm9udC1zaXplOjExcHg7bWFyZ2luLXJpZ2h0OjE1cHg7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LlZJcGdKZC15QVdORWItTDdsYmtiPnRleHRhcmVhe2ZvbnQtZmFtaWx5OmFyaWFsO3Jlc2l6ZTp2ZXJ0aWNhbDt3aWR0aDoxMDAlO21hcmdpbi1ib3R0b206MTBweDtib3JkZXItcmFkaXVzOjFweDtib3JkZXI6MXB4IHNvbGlkICNkOWQ5ZDk7Ym9yZGVyLXRvcDoxcHggc29saWQgc2lsdmVyO2ZvbnQtc2l6ZToxM3B4O2hlaWdodDphdXRvO292ZXJmbG93LXk6YXV0bztwYWRkaW5nOjFweH0uVklwZ0pkLXlBV05FYi1MN2xia2IgdGV4dGFyZWE6Zm9jdXN7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMXB4IDJweCByZ2JhKDAsMCwwLC4zKTtib3gtc2hhZG93Omluc2V0IDAgMXB4IDJweCByZ2JhKDAsMCwwLC4zKTtib3JkZXI6MXB4IHNvbGlkICM0ZDkwZmU7b3V0bGluZTpub25lfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1aMEFycWYtSWJFMFN7bWFyZ2luLXJpZ2h0OjEwcHh9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcHttaW4taGVpZ2h0OjI1cHg7dmVydGljYWwtYWxpZ246bWlkZGxlO3BhZGRpbmctdG9wOjhweH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcHttYXJnaW4tYm90dG9tOjVweDttYXJnaW4tYm90dG9tOjB9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXR7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWluLXdpZHRoOjU0cHg7Km1pbi13aWR0aDo3MHB4O2JvcmRlcjoxcHggc29saWQgI2RjZGNkYztib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEpO3RleHQtYWxpZ246Y2VudGVyO2NvbG9yOiM0NDQ7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6Ym9sZDtoZWlnaHQ6MjdweDtvdXRsaW5lOjA7cGFkZGluZzowIDhweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7bGluZS1oZWlnaHQ6MjdweDttYXJnaW46MCAxNnB4IDAgMDtib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4xKTstbW96LWJveC1zaGFkb3c6MCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpOy13ZWJraXQtYm94LXNoYWRvdzowIDFweCAycHggcmdiYSgwLDAsMCwuMSk7Ym9yZGVyLXJhZGl1czoycHg7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuMjE4czt0cmFuc2l0aW9uOmFsbCAuMjE4cztiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjU7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxmcm9tKCNmNWY1ZjUpLHRvKCNmMWYxZjEpKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwjZjVmNWY1LCNmMWYxZjEpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvcCwjZjVmNWY1LCNmMWYxZjEpOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7Y3Vyc29yOmRlZmF1bHR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQ6aG92ZXJ7Ym9yZGVyOjFweCBzb2xpZCAjYzZjNmM2O2NvbG9yOiMyMjI7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwczt0cmFuc2l0aW9uOmFsbCAwcztiYWNrZ3JvdW5kLWNvbG9yOiNmOGY4Zjg7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxmcm9tKCNmOGY4ZjgpLHRvKCNmMWYxZjEpKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwjZjhmOGY4LCNmMWYxZjEpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvcCwjZjhmOGY4LCNmMWYxZjEpfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmFjdGl2ZXtib3JkZXI6MXB4IHNvbGlkICNjNmM2YzY7Y29sb3I6IzMzMztiYWNrZ3JvdW5kLWNvbG9yOiNmNmY2ZjY7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxmcm9tKCNmNmY2ZjYpLHRvKCNmMWYxZjEpKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwjZjZmNmY2LCNmMWYxZjEpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvcCwjZjZmNmY2LCNmMWYxZjEpfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmZvY3VzIC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0LkFIbXV3ZSAuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDphY3RpdmUsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQ6Zm9jdXM6YWN0aXZle2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LDI1NSwyNTUsLjUpOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsMjU1LDI1NSwuNSk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwyNTUsMjU1LC41KX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDpmb2N1cywuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dC5BSG11d2V7b3V0bGluZTpub25lO2JvcmRlcjoxcHggc29saWQgIzRkOTBmZTt6LWluZGV4OjQhaW1wb3J0YW50fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0LmdrNlNNZHtiYWNrZ3JvdW5kLWNvbG9yOiNlZWU7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxmcm9tKCNlZWUpLHRvKCNlMGUwZTApKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwjZWVlLCNlMGUwZTApO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvcCwjZWVlLCNlMGUwZTApOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMSk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMSk7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2NvbG9yOiMzMzN9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZntjb2xvcjp3aGl0ZTtib3JkZXItY29sb3I6IzMwNzllZDtiYWNrZ3JvdW5kLWNvbG9yOiM0ZDkwZmU7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxmcm9tKCM0ZDkwZmUpLHRvKCM0Nzg3ZWQpKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwjNGQ5MGZlLCM0Nzg3ZWQpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvcCwjNGQ5MGZlLCM0Nzg3ZWQpfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0IC5WSXBnSmQteUFXTkViLVowQXJxZi1zRmVCcWY6aG92ZXIgLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZjpmb2N1cywuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmLkFIbXV3ZSAuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmFjdGl2ZXtib3JkZXItY29sb3I6IzMwNzllZDtiYWNrZ3JvdW5kLWNvbG9yOiMzNTdhZTg7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxmcm9tKCM0ZDkwZmUpLHRvKCMzNTdhZTgpKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwjNGQ5MGZlLCMzNTdhZTgpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvcCwjNGQ5MGZlLCMzNTdhZTgpfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0IC5WSXBnSmQteUFXTkViLVowQXJxZi1zRmVCcWY6aG92ZXJ7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggI2ZmZiwwIDFweCAxcHggcmdiYSgwLDAsMCwuMSk7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCAjZmZmLDAgMXB4IDFweCByZ2JhKDAsMCwwLC4xKTstbW96LWJveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4ICNmZmYsMCAxcHggMXB4IHJnYmEoMCwwLDAsLjEpfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmZvY3VzLC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0LkFIbXV3ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDphY3RpdmUsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQ6aG92ZXIsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZjpmb2N1cywuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmLkFIbXV3ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmFjdGl2ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmhvdmVye2JvcmRlci1jb2xvcjojMzA3OWVkfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1tcnhQZ2V7Y29sb3I6Izk5OTtmb250LWZhbWlseTphcmlhbCxzYW5zLXNlcmlmfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtVzB2Sm8tZm1jbVN7Y29sb3I6Izk5OTtmb250LXNpemU6MTFweDtmb250LWZhbWlseTphcmlhbCxzYW5zLXNlcmlmO21hcmdpbjoxNXB4IDAgNXB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtdTBwam9lLWZtY21Te2NvbG9yOiM4MDA7ZGlzcGxheTpub25lO2ZvbnQtc2l6ZTo5cHR9LlZJcGdKZC15QVdORWItVklwZ0pkLWZtY21TLXNuNTRRe2JhY2tncm91bmQtY29sb3I6I2M5ZDdmMTstd2Via2l0LWJveC1zaGFkb3c6MnB4IDJweCA0cHggIzk5YTtib3gtc2hhZG93OjJweCAycHggNHB4ICM5OWE7Ym94LXNpemluZzpib3JkZXItYm94Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOnJlbGF0aXZlfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQteGwwN09iIC5WSXBnSmQteUFXTkViLVZJcGdKZC14bDA3T2J7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgI2RkZDstd2Via2l0LWJveC1zaGFkb3c6MCAzcHggM3B4ICM4ODg7Ym94LXNoYWRvdzowIDJweCA0cHggIzk5YTttaW4td2lkdGg6MDtvdXRsaW5lOm5vbmU7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MjAwMH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXhsMDdPYiAuVklwZ0pkLXlBV05FYi1WSXBnSmQtajdMRmxie2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MnB4IDVweCA1cHg7bWFyZ2luLXJpZ2h0OjA7Ym9yZGVyLXN0eWxlOm5vbmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC14bDA3T2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYjpob3ZlcntiYWNrZ3JvdW5kOiNkZGR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC14bDA3T2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYiBoMXtmb250LXNpemU6MTAwJTtmb250LXdlaWdodDpib2xkO21hcmdpbjo0cHggMH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXhsMDdPYiAuVklwZ0pkLXlBV05FYi1WSXBnSmQtajdMRmxiIHN0cm9uZ3tjb2xvcjojMzQ1YWFkfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1WSXBnSmQtZUttNUZjLWhGc2Jve3RleHQtYWxpZ246cmlnaHQ7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDtsZWZ0OmF1dG99LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVZJcGdKZC1qN0xGbGItU0lzclRkIC5WSXBnSmQteUFXTkViLVZJcGdKZC1lS201RmMtaEZzYm97dGV4dC1hbGlnbjpsZWZ0O3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDphdXRvfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi15QVdORWItVnkyQXFjLWZtY21TLC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtcHBIbHJmLXNuNTRRe2JhY2tncm91bmQtY29sb3I6I2YxZWEwMDtib3JkZXItcmFkaXVzOjRweDstd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4Oy1tb3otYm9yZGVyLXJhZGl1czo0cHg7LXdlYmtpdC1ib3gtc2hhZG93OnJnYmEoMCwwLDAsLjUpIDNweCAzcHggNHB4O2JveC1zaGFkb3c6cmdiYSgwLDAsMCwuNSkgM3B4IDNweCA0cHg7Ym94LXNpemluZzpib3JkZXItYm94Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2NvbG9yOiNmMWVhMDA7Y3Vyc29yOnBvaW50ZXI7bWFyZ2luOi0ycHggLTJweCAtMnB4IC0zcHg7cGFkZGluZzoycHggMnB4IDJweCAzcHg7cG9zaXRpb246cmVsYXRpdmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVRWTHc5Yy1wcEhscmYtc241NFF7Y29sb3I6IzIyMn0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWIteUFXTkViLVZ5MkFxYy1wYlRUWWV7Y29sb3I6d2hpdGU7cG9zaXRpb246YWJzb2x1dGUhaW1wb3J0YW50fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtcHBIbHJmLC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtcHBIbHJmIC5WSXBnSmQteUFXTkViLVRWTHc5Yy1wcEhscmYtc241NFF7YmFja2dyb3VuZC1jb2xvcjojYzlkN2YxO2JvcmRlci1yYWRpdXM6NHB4IDRweCAwIDA7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjRweCA0cHggMCAwOy1tb3otYm9yZGVyLXJhZGl1czo0cHggNHB4IDAgMDstd2Via2l0LWJveC1zaGFkb3c6cmdiYSgwLDAsMCwuNSkgM3B4IDNweCA0cHg7Ym94LXNoYWRvdzpyZ2JhKDAsMCwwLC41KSAzcHggM3B4IDRweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOnBvaW50ZXI7bWFyZ2luOi0ycHggLTJweCAtMnB4IC0zcHg7cGFkZGluZzoycHggMnB4IDNweCAzcHg7cG9zaXRpb246cmVsYXRpdmV9LlZJcGdKZC15QVdORWItTDdsYmtiIHNwYW46Zm9jdXN7b3V0bGluZTpub25lfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtRHlWREF7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkICM0ZDkwZmU7Ym9yZGVyLXJhZGl1czowOy13ZWJraXQtYm9yZGVyLXJhZGl1czowOy1tb3otYm9yZGVyLXJhZGl1czowO21hcmdpbjotMnB4O3BhZGRpbmc6MXB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi15QVdORWItVFZMdzljLXNuNTRRLUx6WDNlZntib3JkZXItbGVmdDoycHggc29saWQgcmVkO21hcmdpbi1sZWZ0Oi0ycHh9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1UVkx3OWMtc241NFEtWUlBaUlie2JvcmRlci1yaWdodDoycHggc29saWQgcmVkO21hcmdpbi1yaWdodDotMnB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJme3BhZGRpbmc6MnB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21Te2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6MnB4IDJweCAzcHg7bWFyZ2luOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMzMzM7Ym9yZGVyOjFweCBzb2xpZCAjZDlkOWQ5O2JvcmRlci10b3A6MXB4IHNvbGlkICNjMGMwYzA7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246dG9wO2hlaWdodDoyMXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJvcmRlci1yYWRpdXM6MXB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21TOmhvdmVye2JvcmRlcjoxcHggc29saWQgI2I5YjliOTtib3JkZXItdG9wOjFweCBzb2xpZCAjYTBhMGEwOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMSk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMSl9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC1ZUHFqYmYtZm1jbVM6Zm9jdXN7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMXB4IDJweCByZ2JhKDAsMCwwLC4zKTtib3gtc2hhZG93Omluc2V0IDAgMXB4IDJweCByZ2JhKDAsMCwwLC4zKTtvdXRsaW5lOm5vbmU7Ym9yZGVyOjFweCBzb2xpZCAjNGQ5MGZlfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLXNGZUJxZntmb250LXNpemU6MTFweDtwYWRkaW5nOjJweCA2cHggM3B4O21hcmdpbjowIDAgMCAycHg7aGVpZ2h0OjIxcHh9LlZJcGdKZC15QVdORWItaHZoZ05ke2ZvbnQtZmFtaWx5OiJHb29nbGUgU2FucyIsQXJpYWwsc2Fucy1zZXJpZn0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWw0ZUhYLWkzak04Y3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDtsZWZ0OjE0cHh9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1sNGVIWC1TSXNyVGR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwcHg7cmlnaHQ6MTRweH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWs3N0lpZi1pM2pNOGMsLlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1rNzdJaWYtU0lzclRke21hcmdpbjoxNnB4O3BhZGRpbmc6MH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLUl1aXpXY3ttYXJnaW46MCAwIDAgMzZweDtwYWRkaW5nOjA7Y29sb3I6Izc0Nzc3NTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1rNzdJaWYtU0lzclRkIC5WSXBnSmQteUFXTkViLWh2aGdOZC1JdWl6V2N7dGV4dC1hbGlnbjpyaWdodDttYXJnaW46MCAzNnB4IDAgMH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWF4QVYxe3dpZHRoOmF1dG87cGFkZGluZzoxMnB4IDAgMDtjb2xvcjojMWYxZjFmO2ZvbnQtc2l6ZToxNnB4O3RleHQtYWxpZ246aW5pdGlhbH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWF4QVYxIC5WSXBnSmQteUFXTkViLVNJc3JUZHt0ZXh0LWFsaWduOnJpZ2h0fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlke2JvcmRlci1yYWRpdXM6MCAwIDEycHggMTJweDttYXJnaW46MDtiYWNrZ3JvdW5kOiNmMWY0Zjk7cG9zaXRpb246cmVsYXRpdmU7bWluLWhlaWdodDo1MHB4fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkIC5WSXBnSmQteUFXTkViLVNJc3JUZHt0ZXh0LWFsaWduOnJpZ2h0fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkLUI3STRPZHtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDo3NyU7cGFkZGluZzoxMnB4fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkLUI3STRPZCAuVklwZ0pkLXlBV05FYi1TSXNyVGR7dGV4dC1hbGlnbjpyaWdodH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLVVUdWpDYntjb2xvcjojMWYxZjFmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLU43RXFpZC1CN0k0T2QgLlZJcGdKZC15QVdORWItU0lzclRkIC5WSXBnSmQteUFXTkViLWh2aGdOZC1VVHVqQ2J7dGV4dC1hbGlnbjpyaWdodH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWVPOW1LZXtjb2xvcjojNDQ0NzQ2O2ZvbnQtc2l6ZToxMnB4O3BhZGRpbmctdG9wOjRweH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLU43RXFpZC1CN0k0T2QgLlZJcGdKZC15QVdORWItU0lzclRkIC5WSXBnSmQteUFXTkViLWh2aGdOZC1lTzltS2V7dGV4dC1hbGlnbjpyaWdodH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLXhnb3Y1e3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMHB4O3JpZ2h0OjVweH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLXhnb3Y1IC5WSXBnSmQteUFXTkViLVNJc3JUZHtsZWZ0OjVweDtyaWdodDphdXRvfS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtVEhJNlZie2ZpbGw6IzBiNTdkMH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWJnbTZzZnttYXJnaW46LTRweCAycHggMCAwO3BhZGRpbmc6MnB4IDAgMDt3aWR0aDo0OHB4O2hlaWdodDo0OHB4O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MjRweDtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kOm5vbmV9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1iZ202c2Y6aG92ZXJ7YmFja2dyb3VuZDojZThlYmVjfS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtYVhZVGNle2Rpc3BsYXk6bm9uZX1zZW50aW5lbHt9"}},"time_used":68,"timings":{"blocked":-1,"dns":2,"connect":15,"send":0,"wait":17,"receive":0,"ssl":34},"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://247optiontradefx.com/","date":"2026-07-27T02:50:33.436Z","timestamp":1785120633436,"http_version":"HTTP/2","security_state":"","security_info":null,"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://247optiontradefx.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 02:50:36 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: k19yLLH5Y1aCCSVcAmFQcnc1+pdTz6jc19Id2/5D9I1CZS/UOXzYMEtvb8llTU+s7BDer30\r\nx-77-nzt-ray: e2f754209515e30e7cc7666ab69fdb2c\r\nx-77-cache: HIT\r\nx-77-age: 16\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":0,"size_decoded":0,"mime_type":"application/javascript","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-07-27T05:14:11.3544Z","times_seen":17556491,"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":"www.tradingview-widget.com/static/bundles/embed/43792.e1bd06112404f0901a66.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/?locale=en#%7B%22width%22%3A1100%2C%22height%22%3A512%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22colorTheme%22%3A%22dark%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:33.995Z","timestamp":1785120633995,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/43792.e1bd06112404f0901a66.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/screener/?locale=en\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:33 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-fa2\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 1f96f325a224fa04baadce8622e2f716\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4002,"size_decoded":1797,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (4002), with no line terminators","md5":"132394741fdf9302124f840e6c3a925d","sha1":"59267f8b0edd10201baaabda8807c79d9b9c3642","sha256":"8157f6ce008ce1e225eb1af407cc0fa0cff8f6155386f2da7e90a74c37091048","sha512":"63359d8ac07c4cd882722bc630255d64b699f4f548c64e2558f6d95f25c6e75f0b5645fee034885862797dfedaf95df80c12f73ec2d41c159177c19470c40f6d","ssdeep":"","tlshash":"bd819cbcea50d8770d5fa63e0398d06c3994b213ee26ab57ffa0d10144d7be6419a70e","first_seen":"2026-07-22T16:00:00.457602Z","last_seen":"2026-07-27T05:29:38.800856Z","times_seen":141,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtUk00Xzp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMS1STTRfOnZhcigtLWNvbG9yLXJpcGUtcmVkLWEyMDApOy0tXzItUk00Xzp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tXzMtUk00Xzp2YXIoLS1jb2xvci10di1ibHVlLWE0MDApOy0tXzQtUk00Xzp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1fNS1STTRfOnZhcigtLWNvbG9yLWlndWFuYS1ncmVlbi0zMDApOy0tXzYtUk00Xzp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tNjAwKTstLV83LVJNNF86dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tXzgtUk00Xzp2YXIoLS1jb2xvci1iYW5hbmEteWVsbG93LTkwMCk7LS1fOS1STTRfOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV8xMC1STTRfOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLV8xMS1STTRfOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzEyLVJNNF86dmFyKC0tY29sb3Itc2t5LWJsdWUtYTcwMCk7LS1fMTMtUk00Xzp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTIwMCk7LS1fMTQtUk00Xzp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTQwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1STTRfOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tXzEtUk00Xzp2YXIoLS1jb2xvci1yaXBlLXJlZC1hMjAwKTstLV8yLVJNNF86dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLV8zLVJNNF86dmFyKC0tY29sb3ItdHYtYmx1ZS1hNDAwKTstLV80LVJNNF86dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tXzUtUk00Xzp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tMzAwKTstLV82LVJNNF86dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTYwMCk7LS1fNy1STTRfOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV84LVJNNF86dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy05MDApOy0tXzktUk00Xzp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1fMTAtUk00Xzp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTcwMCk7LS1fMTEtUk00Xzp2YXIoLS1jb2xvci1za3ktYmx1ZS1hNDAwKTstLV8xMi1STTRfOnZhcigtLWNvbG9yLXNreS1ibHVlLWE3MDApOy0tXzEzLVJNNF86dmFyKC0tY29sb3ItYmVycnktcGluay0yMDApOy0tXzE0LVJNNF86dmFyKC0tY29sb3ItYmVycnktcGluay00MDApfS53cmFwLUdoRGpYekJ4e2Rpc3BsYXk6aW5saW5lLWZsZXg7cG9zaXRpb246cmVsYXRpdmV9LndyYXAtR2hEalh6Qng6YmVmb3Jle2JvcmRlci1yYWRpdXM6NTAlO2NvbnRlbnQ6bm9uZTtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDtvdXRsaW5lOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKSBub25lIDJweDtvdXRsaW5lLW9mZnNldDotNHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJX0ud3JhcC1HaERqWHpCeDpmb2N1cy12aXNpYmxlOmJlZm9yZXtjb250ZW50OiIiO291dGxpbmUtc3R5bGU6c29saWR9LndyYXAtR2hEalh6QnggLmlucHV0LUdoRGpYekJ4e2N1cnNvcjpwb2ludGVyO2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsud3JhcC1HaERqWHpCeCAuaW5wdXQtR2hEalh6Qng6aG92ZXI6bm90KDpjaGVja2VkKSsuYm94LUdoRGpYekJ4IC5ob3ZlckRvdC1HaERqWHpCeHtkaXNwbGF5OmJsb2NrfX0uYm94LUdoRGpYekJ4e2hlaWdodDoxNnB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTZweH0uYm94LUdoRGpYekJ4LnJlZC1HaERqWHpCeHtjb2xvcjp2YXIoLS1fMS1STTRfKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJveC1HaERqWHpCeC5yZWQtR2hEalh6Qng6aG92ZXJ7Y29sb3I6dmFyKC0tXzItUk00Xyl9fS5ib3gtR2hEalh6QnguYmx1ZS1HaERqWHpCeHtjb2xvcjp2YXIoLS1fMy1STTRfKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJveC1HaERqWHpCeC5ibHVlLUdoRGpYekJ4OmhvdmVye2NvbG9yOnZhcigtLV80LVJNNF8pfX0uYm94LUdoRGpYekJ4LmdyZWVuLUdoRGpYekJ4e2NvbG9yOnZhcigtLV81LVJNNF8pfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYm94LUdoRGpYekJ4LmdyZWVuLUdoRGpYekJ4OmhvdmVye2NvbG9yOnZhcigtLV82LVJNNF8pfX0uYm94LUdoRGpYekJ4Lm9yYW5nZS1HaERqWHpCeHtjb2xvcjp2YXIoLS1fNy1STTRfKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJveC1HaERqWHpCeC5vcmFuZ2UtR2hEalh6Qng6aG92ZXJ7Y29sb3I6dmFyKC0tXzgtUk00Xyl9fS5ib3gtR2hEalh6QngucHVycGxlLUdoRGpYekJ4e2NvbG9yOnZhcigtLV85LVJNNF8pfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYm94LUdoRGpYekJ4LnB1cnBsZS1HaERqWHpCeDpob3Zlcntjb2xvcjp2YXIoLS1fMTAtUk00Xyl9fS5ib3gtR2hEalh6QnguY3lhbi1HaERqWHpCeHtjb2xvcjp2YXIoLS1fMTEtUk00Xyl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5ib3gtR2hEalh6QnguY3lhbi1HaERqWHpCeDpob3Zlcntjb2xvcjp2YXIoLS1fMTItUk00Xyl9fS5ib3gtR2hEalh6QngucGluay1HaERqWHpCeHtjb2xvcjp2YXIoLS1fMTMtUk00Xyl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5ib3gtR2hEalh6QngucGluay1HaERqWHpCeDpob3Zlcntjb2xvcjp2YXIoLS1fMTQtUk00Xyl9fS5ib3gtR2hEalh6QngubGFyZ2UtR2hEalh6Qnh7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ucGlja2VyRG90LUdoRGpYekJ4e2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yO2JvcmRlci1yYWRpdXM6NTAlO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmhvdmVyRG90LUdoRGpYekJ4e2NvbG9yOnZhcigtLV8wLVJNNF8pO2Rpc3BsYXk6bm9uZTtvcGFjaXR5Oi41fVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLXlNSEM6dmFyKC0tY29sb3Itd2hpdGUpfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAteU1IQzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKX0ud3JhcHBlci1WbmVRVm9OdntwYWRkaW5nLWJsb2NrOjEwcHggMTBweDtwYWRkaW5nLWlubGluZTo2cHggMTBweH0ud3JhcHBlci1WbmVRVm9OdiAuc2VsZWN0b3ItVm5lUVZvTnZ7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAteU1IQyk7Ym9yZGVyLXJhZGl1czo0cHg7Ym94LXNoYWRvdzowIDAgNnB4IDAgdmFyKC0tY29sb3Itb3RoZXItc2hhZG93LXNlY29uZGFyeS1uZXV0cmFsLWxpZ2h0KTtkaXNwbGF5OmlubGluZS1mbGV4O3BhZGRpbmc6NHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS53cmFwcGVyLVZuZVFWb052IC5zZWxlY3Rvci1WbmVRVm9OdiAuYXJyb3dMZWZ0LVZuZVFWb052e2hlaWdodDoxMnB4O2luc2V0LWlubGluZS1zdGFydDotMTJweDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt3aWR0aDoxMnB4fS53cmFwcGVyLVZuZVFWb052IC5zZWxlY3Rvci1WbmVRVm9OdiAuYXJyb3dMZWZ0LVZuZVFWb052OmFmdGVye2JhY2tncm91bmQ6dmFyKC0tXzAteU1IQyk7Ym94LXNoYWRvdzowIDAgNnB4IDAgdmFyKC0tY29sb3Itb3RoZXItc2hhZG93LXNlY29uZGFyeS1uZXV0cmFsLWxpZ2h0KTtjb250ZW50OiIiO2hlaWdodDoxMnB4O2luc2V0LWlubGluZS1zdGFydDo5cHg7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7d2lkdGg6MTJweH0ud3JhcHBlci1WbmVRVm9OdiAuc2VsZWN0b3ItVm5lUVZvTnYgLmFycm93TGVmdC1WbmVRVm9OdjphZnRlcjpkaXIocnRsKXt0cmFuc2Zvcm06cm90YXRlKC00NWRlZyl9LmNvbG9yU2VsZWN0QnV0dG9uLVZuZVFWb052e3BhZGRpbmc6NHB4fS5wb3B1cC1WbmVRVm9Odntwb3NpdGlvbjpmaXhlZDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt6LWluZGV4OjEwMDB9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/30288.59207aa2607ea1597287.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en#%7B%22symbols%22%3A%5B%5B%22Apple%22%2C%22AAPL%7C1D%22%5D%2C%5B%22Google%22%2C%22GOOGL%7C1D%22%5D%2C%5B%22Microsoft%22%2C%22MSFT%7C1D%22%5D%5D%2C%22chartOnly%22%3Afalse%2C%22width%22%3A260%2C%22height%22%3A240%2C%22colorTheme%22%3A%22light%22%2C%22showVolume%22%3Afalse%2C%22showMA%22%3Afalse%2C%22hideDateRanges%22%3Afalse%2C%22hideMarketStatus%22%3Afalse%2C%22hideSymbolLogo%22%3Afalse%2C%22scalePosition%22%3A%22right%22%2C%22scaleMode%22%3A%22Normal%22%2C%22fontFamily%22%3A%22-apple-system%2C%20BlinkMacSystemFont%2C%20Trebuchet%20MS%2C%20Roboto%2C%20Ubuntu%2C%20sans-serif%22%2C%22fontSize%22%3A%2210%22%2C%22noTimeScale%22%3Afalse%2C%22valuesTracking%22%3A%221%22%2C%22changeMode%22%3A%22price-and-percent%22%2C%22chartType%22%3A%22area%22%2C%22maLineColor%22%3A%22%232962FF%22%2C%22maLineWidth%22%3A1%2C%22maLength%22%3A9%2C%22lineWidth%22%3A2%2C%22lineType%22%3A0%2C%22dateRanges%22%3A%5B%221d%7C1%22%2C%221m%7C30%22%2C%223m%7C60%22%2C%2212m%7C1D%22%2C%2260m%7C1W%22%2C%22all%7C1M%22%5D%2C%22utm_source%22%3A%22247optiontradefx.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22symbol-overview%22%2C%22page-uri%22%3A%22247optiontradefx.com%2F%22%7D","date":"2026-07-27T02:50:34.208Z","timestamp":1785120634208,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/30288.59207aa2607ea1597287.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/symbol-overview/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 02:50:34 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-c680\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 44dea60c8378e80389ee9e322e23e9de\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":50816,"size_decoded":20318,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3072)","md5":"ea1d9d8d3342c88f33ec3b530e0573ef","sha1":"d655950fc76c40243ee9494c5fcc45e069dbaad3","sha256":"5c4b42f42930e52d140aec5e82b967b86ea0bc4581cfea3ecd33ca21c156520f","sha512":"4a85bff8bc70939b4386535712fa0ce2eae8d2f970a7e4c0f966b40eef502520b53f0bcc55b8062e0d4154ec40c589d4be511f57f11176afdb68166e3b090436","ssdeep":"1536:M/5WmDah7ltfnbgA/bllhJ9AwCh85Q9BO9X/tH78kJM:MZilpvbAR9By/5M","tlshash":"6e330ac572d6f0ab03d605e584bb5042f33d49a9b80d84a1f658e9d13c66c9e63b3fac","first_seen":"2026-07-23T22:46:45.786098Z","last_seen":"2026-07-27T05:29:38.643518Z","times_seen":109,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szMDI4OF0sezg2MDAyNShlKXtlLmV4cG9ydHM9e3BhaXI6InBhaXIteHdHc1NYUjAiLHh4Y2VwdGlvbmFsbHlzbWFsbGRvbm90dXNlYnJ2MTAyMzoieHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwIix4eHh4c21hbGw6Inh4eHhzbWFsbC14d0dzU1hSMCIseHh4c21hbGw6Inh4eHNtYWxsLXh3R3NTWFIwIix4eHNtYWxsOiJ4eHNtYWxsLXh3R3NTWFIwIix4c21hbGw6InhzbWFsbC14d0dzU1hSMCIsc21hbGw6InNtYWxsLXh3R3NTWFIwIixtZWRpdW06Im1lZGl1bS14d0dzU1hSMCIsbGFyZ2U6ImxhcmdlLXh3R3NTWFIwIix4bGFyZ2U6InhsYXJnZS14d0dzU1hSMCIseHhsYXJnZToieHhsYXJnZS14d0dzU1hSMCIseHh4bGFyZ2U6Inh4eGxhcmdlLXh3R3NTWFIwIixsb2dvOiJsb2dvLXh3R3NTWFIwIixza2VsZXRvbjoic2tlbGV0b24teHdHc1NYUjAiLGVtcHR5OiJlbXB0eS14d0dzU1hSMCJ9fSwxNDAwMTcoZSl7ZS5leHBvcnRzPXtsb2dvOiJsb2dvLVZDTkt1YldxIixoaWRkZW46ImhpZGRlbi1WQ05LdWJXcSIseHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzOiJ4eGNlcHRpb25hbGx5c21hbGxkb25vdHVzZWJydjEwMjMtVkNOS3ViV3EiLHh4eHNtYWxsOiJ4eHhzbWFsbC1WQ05LdWJXcSIseHhzbWFsbDoieHhzbWFsbC1WQ05LdWJXcSIseHNtYWxsOiJ4c21hbGwtVkNOS3ViV3EiLHNtYWxsOiJzbWFsbC1WQ05LdWJXcSIsbWVkaXVtOiJtZWRpdW0tVkNOS3ViV3EiLGxhcmdlOiJsYXJnZS1WQ05LdWJXcSIseGxhcmdlOiJ4bGFyZ2UtVkNOS3ViV3EiLHh4bGFyZ2U6Inh4bGFyZ2UtVkNOS3ViV3EiLHh4eGxhcmdlOiJ4eHhsYXJnZS1WQ05LdWJXcSIsc2tlbGV0b246InNrZWxldG9uLVZDTkt1YldxIixsZXR0ZXI6ImxldHRlci1WQ05LdWJXcSJ9fSw5NzUyODUoZSl7ZS5leHBvcnRzPXt3cmFwcGVyOiJ3cmFwcGVyLWhjdDJ5SnZLIixhbmltYXRlZDoiYW5pbWF0ZWQtaGN0MnlKdksiLHB1bHNhdGlvbjoicHVsc2F0aW9uLWhjdDJ5SnZLIn19LDM5OTA5MihlKXtlLmV4cG9ydHM9eyJjc3MtdmFsdWUtY29weXJpZ2h0LXRyYW5zaXRpb24tcGFyYW1zIjoiLjZzIDBzIGN1YmljLWJlemllciguNCwgLjAxLCAuMjIsIDEpIiwiY3NzLXZhbHVlLWNvcHlyaWdodC10cmFuc2l0aW9uLXBhcmFtcy1oYWxmLXRpbWUiOiIuM3MgMHMgY3ViaWMtYmV6aWVyKC40LCAuMDEsIC4yMiwgMSkiLGxhYmVsOiJsYWJlbC1kemJkN2x5ViIsbG9nb1dyYXA6ImxvZ29XcmFwLWR6YmQ3bHlWIixleHBhbmRlZFdpdGhUcmFuc2l0aW9uOiJleHBhbmRlZFdpdGhUcmFuc2l0aW9uLWR6YmQ3bHlWIixleHBhbmRlZEJ5Q2xpY2s6ImV4cGFuZGVkQnlDbGljay1kemJkN2x5ViIsc3RhcnQ6InN0YXJ0LWR6YmQ3bHlWIixlbmQ6ImVuZC1kemJkN2x5ViIsc25hcDoic25hcC1kemJkN2x5ViIsdG9wOiJ0b3AtZHpiZDdseVYiLGJvdHRvbToiYm90dG9tLWR6YmQ3bHlWIixsYXJnZToibGFyZ2UtZHpiZDdseVYiLGV4cGFuZGVkOiJleHBhbmRlZC1kemJkN2x5ViIsbGFiZWxfX2xpbms6ImxhYmVsX19saW5rLWR6YmQ3bHlWIn19LDU2OTM5OChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtpc0ZlYXR1cmVFbmFibGVkOigpPT5wLG9uRmVhdHVyZXNTdGF0ZUNoYW5nZWQ6KCk9PmN9KTt2YXIgcj1uKDk0ODM4MCksaT1uKDM3NzIyNiksbz1uKDg1NjE5Nikscz1uKDkzMjM2NSk7Y29uc3QgYT1uZXcgci5EZWxlZ2F0ZSxjPSgpPT5hLGw9ImZvcmNlZmVhdHVyZXRvZ2dsZS4iO2NvbnN0IHU9bmV3IGNsYXNze2VuYWJsZUZlYXR1cmUoZSl7cy5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKGwrZSwidHJ1ZSIpLGEuZmlyZShlKX1kaXNhYmxlRmVhdHVyZShlKXtzLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0obCtlLCJmYWxzZSIpLGEuZmlyZShlKX1yZXNldEZlYXR1cmUoZSl7cy5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGwrZSksYS5maXJlKGUpfW9uRmVhdHVyZXNTdGF0ZUNoYW5nZWQoKXtyZXR1cm4gYX19O2Z1bmN0aW9uIGQoZSx0KXtyZXR1cm4oIWVbdF18fC0xIT09ZVt0XSkmJighISgidHJ1ZSI9PT1zLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0obCt0KXx8d2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJiJ0cnVlIj09PXdpbmRvdy51c2VyPy5zZXR0aW5ncz8uW2wrdF0pfHwhKCJmYWxzZSI9PT1zLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0obCt0KXx8d2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJiJmYWxzZSI9PT13aW5kb3cudXNlcj8uc2V0dGluZ3M/LltsK3RdKSYmKCEhZVt0XSYmKDE9PT1lW3RdfHwoMCxvLnNob3VsZEFmZmVjdFVzZXIpKHQsZVt0XSkpKSl9d2luZG93LlRyYWRpbmdWaWV3PXdpbmRvdy5UcmFkaW5nVmlld3x8e30sd2luZG93LlRyYWRpbmdWaWV3LkZlYXR1cmVUb2dnbGU9dTtjb25zdCBwPShnPXdpbmRvdy5mZWF0dXJlVG9nZ2xlU3RhdGV8fHt9LCgwLGkub25XaWRnZXQpKCl8fFByb21pc2UuYWxsKFtuLmUoODU0MzQpLG4uZSg3Mjg1KSxuLmUoMTM5OTMpXSkudGhlbihuLmJpbmQobiw1MDcyODUpKS50aGVuKChlPT57ZS5wdXNoU3RyZWFtTXVsdGlwbGV4ZXIub24oImZlYXR1cmV0b2dnbGUiLChlPT57Y29uc3QgdD1kKGcsZS5uYW1lKTtnW2UubmFtZV09ZS5zdGF0ZSx0IT09ZChnLGUubmFtZSkmJmEuZmlyZShlLm5hbWUpfSkpfSkpLGQuYmluZChudWxsLGcpKTt2YXIgZzt3aW5kb3cuVHJhZGluZ1ZpZXcuaXNGZWF0dXJlRW5hYmxlZD1wfSw3OTI2MTIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Z2V0RnJlc2hJbml0RGF0YTooKT0+bCxnZXRJbml0RGF0YTooKT0+Yyx1cGRhdGVJbml0RGF0YTooKT0+YX0pO3ZhciByPW4oMTM4NjM4KTtjb25zdCBpPSgwLG4oMjIxMDYxKS5nZXRMb2dnZXIpKCJDb21tb24uSW5pdERhdGEiKSxvPXdpbmRvdy5pbml0RGF0YXx8e307ZnVuY3Rpb24gcygpeyFmdW5jdGlvbigpe2NvbnN0IGU9d2luZG93O2UuaW5pdERhdGEmJmUuaW5pdERhdGEhPT1vJiYoT2JqZWN0LmFzc2lnbihvLGUuaW5pdERhdGEpLGUuaW5pdERhdGE9bykKfSgpO2NvbnN0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnc2NyaXB0W3R5cGU9ImFwcGxpY2F0aW9uL3Bycy5pbml0LWRhdGEranNvbiJdJyk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspe2NvbnN0IG49ZVt0XTt0cnl7Y29uc3QgZT1KU09OLnBhcnNlKCgwLHIuZW5zdXJlTm90TnVsbCkobi50ZXh0Q29udGVudCkpO09iamVjdC5hc3NpZ24obyxlKX1jYXRjaChlKXtpLmxvZ1dhcm4oYEZhaWxlZCB0byBwYXJzZSBpbml0RGF0YSBlbGVtZW50LiAke2V9YCl9ZmluYWxseXsoMCxyLmVuc3VyZU5vdE51bGwpKG4ucGFyZW50Tm9kZSkucmVtb3ZlQ2hpbGQobil9fWNvbnN0IHQ9by5jb250ZW50O3QmJm8uc3R1ZHlfbWV0YV9pbmZvX21hcCYmKHQuc3R1ZHlNZXRhSW5mb01hcD17Li4udC5zdHVkeU1ldGFJbmZvTWFwLC4uLm8uc3R1ZHlfbWV0YV9pbmZvX21hcH0pfWZ1bmN0aW9uIGEoKXtzKCl9ZnVuY3Rpb24gYygpe3JldHVybiBvfWZ1bmN0aW9uIGwoKXtyZXR1cm4gcygpLG99fSwxMTczMTMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7aXNPbk1vYmlsZUFwcFBhZ2U6KCk9PmksdXJsV2l0aE1vYmlsZUFwcFBhcmFtczooKT0+b30pO3ZhciByPW4oNTg3NDM2KTtmdW5jdGlvbiBpKGUsdD0hMSl7Y29uc3R7c2VhcmNoUGFyYW1zOm59PW5ldyBVUkwoU3RyaW5nKGxvY2F0aW9uKSk7bGV0IGk9InRydWUiPT09bi5nZXQoIm1vYmlsZWFwcF9uZXciKSxvPSJ0cnVlIj09PW4uZ2V0KCJtb2JpbGVhcHAiKTtpZighdCl7Y29uc3QgZT1yLmdldCgidHZfYXBwIil8fCIiO2l8fD1bImFuZHJvaWQiLCJhbmRyb2lkX25wcyJdLmluY2x1ZGVzKGUpLG98fD0iaW9zIj09PWV9cmV0dXJuISgibmV3IiE9PWUmJiJhbnkiIT09ZXx8IWkpfHwhKCJuZXciPT09ZXx8IW8pfWZ1bmN0aW9uIG8oZSx0PSExKXtpZihpKCJuZXciLHQpKXtjb25zdCB0PW5ldyBVUkwoZSxsb2NhdGlvbi5ocmVmKTt0LnNlYXJjaFBhcmFtcy5zZXQoIm1vYmlsZWFwcF9uZXciLCJ0cnVlIiksZT10LnRvU3RyaW5nKCl9aWYoaSgib2xkIix0KSl7Y29uc3QgdD1uZXcgVVJMKGUsbG9jYXRpb24uaHJlZik7dC5zZWFyY2hQYXJhbXMuc2V0KCJtb2JpbGVhcHAiLCJ0cnVlIiksZT10LnRvU3RyaW5nKCl9cmV0dXJuIGV9fSw5MzA1NjYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLnIodCksbi5kKHQse2RlZmF1bHQ6KCk9PkosZ2V0Qm9vbDooKT0+SSxnZXRGbG9hdDooKT0+TyxnZXRJbnQ6KCk9PkQsZ2V0SlNPTjooKT0+TSxnZXRWYWx1ZTooKT0+TixrZXlzOigpPT5CLGtleXNNYXNrOigpPT5XLGxvYWRlZDooKT0+Ryxsb2FkZWRNb2RlbDooKT0+cSxvblN5bmM6KCk9PmoscmVtb3ZlOigpPT5WLHNldEpTT046KCk9PkEsc2V0U2V0dGluZ3NBZGFwdGVyOigpPT5LLHNldFZhbHVlOigpPT5SLHN5bmM6KCk9Pkh9KTt2YXIgcj1uKDk0ODM4MCksaT1uKDIyMTA2MSksbz1uKDU0MDU3OCkscz1uKDkzMDIzMSksYT1uKDU2OTM5OCksYz1uKDkwOTc5OCksbD1uKDM3NzIyNiksdT1uKDM4NDAxNyksZD1uKDE1MjY5OSkscD1uKDkzMjM2NSk7d2luZG93LlRyYWRpbmdWaWV3PXdpbmRvdy5UcmFkaW5nVmlld3x8e307Y29uc3QgZz1bInMudHJhZGluZ3ZpZXcuY29tIiwiYmV0YWNkbi50cmFkaW5ndmlldy5jb20iXSxmPSgoMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1c2VfbG9jYWxzdG9yYWdlX2Zvcl9zZXR0aW5ncyIpLCJsb2NhbCI9PT13aW5kb3cuZW52aXJvbm1lbnQ/NWUzOjEyZTQpLG09KDAsbC5vbldpZGdldCkoKT8idHJhZGluZ3ZpZXctd2lkZ2V0IjoidHJhZGluZ3ZpZXciLGg9bSsiLiI7bGV0IHksdix3LGI9ITEsXz1udWxsLHg9e30sUz1bXTtjb25zdCBrPVsvXndpZGdldGJhclwud2lkZ2V0XC53YXRjaGxpc3QuKy8sLy4rcXVpY2tzJC8sL153aWRnZXRiYXJcLmxheW91dC1zZXR0aW5ncyQvLC9eQ2hhcnRTaWRlVG9vbGJhcldpZGdldFwudmlzaWJsZSQvLC9eb253aWRnZXRcLndhdGNobGlzdCQvLC9eY2hhcnRcLmZhdm9yaXRlRHJhd2luZ3MkLywvXmNoYXJ0XC5mYXZvcml0ZURyYXdpbmdzUG9zaXRpb24kLywvXmNoYXJ0XC5mYXZvcml0ZUxpYnJhcnlJbmRpY2F0b3JzJC8sL15sb2FkQ2hhcnREaWFsb2cuZmF2b3JpdGVzJC8sL15DaGFydEZhdm9yaXRlRHJhd2luZ1Rvb2xiYXJXaWRnZXRcLnZpc2libGUvLC9edHJhZGluZ1wuY2hhcnRcLnByb3RlcnR5JC8sL150cmFkaW5nX2Zsb2F0aW5nX3Rvb2xiYXJcLnBvc2l0aW9uJC8sL150cmFkaW5nXC5vcmRlcldpZGdldE1vZGVcLi8sL15zeW1ib2xXYXRlcm1hcmskLywvXnBpbmVyZWZlcmVuY2VcLnNpemUkLywvXnBpbmVyZWZlcmVuY2VcLnBvc2l0aW9uJC8sL15oaW50XC4rLywvXkNoYXJ0RHJhd2luZ1Rvb2xiYXJXaWRnZXRcLnZpc2libGUvXTtjb25zdCBUPSgpPT4hKF98fHdpbmRvdy5pc19hdXRoZW50aWNhdGVkKSxQPWU9PmgrZSxDPSgwLGkuZ2V0TG9nZ2VyKSgiTGliLlRWU2V0dGluZ3MiKSxFPWU9PntpZihifHx3KXJldHVybjtpZigoMCxhLmlzRmVhdHVyZUVuYWJsZWQpKCJkaXNhYmxlX3NhdmVfc2V0dGluZ3MiKSlyZXR1cm4gdm9pZCBDPy5sb2dXYXJuKCJTZXR0aW5ncyBmbGFzaGluZyBoYXMgYmVlbiBza2lwcGVkIGJlY2F1c2Ugb2YgZGlzYWJsZV9zYXZlX3NldHRpbmdzIGZlYXR1cmV0b2dnbGUiKTtpZigoMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSlyZXR1cm47aWYoVCgpKXJldHVybjtpZigwPT09Uy5sZW5ndGgpcmV0dXJuO2NvbnN0IHQ9UztTPVtdO2NvbnN0IG49e307Zm9yKGxldCBlPXQubGVuZ3RoO2UtLTspe2NvbnN0IHI9dFtlXTtuW3JdPXhbcl0/P251bGx9Y29uc3Qgcj1uZXcgRm9ybURhdGE7ci5hcHBlbmQoImRlbHRhIixKU09OLnN0cmluZ2lmeShuKSksZSYmbmF2aWdhdG9yLnNlbmRCZWFjb24/bmF2aWdhdG9yLnNlbmRCZWFjb24oIi9zYXZlc2V0dGluZ3MvIixyKTooMCx1LmZldGNoKSgiL3NhdmVzZXR0aW5ncy8iLHttZXRob2Q6IlBPU1QiLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixib2R5OnJ9KS50aGVuKChuPT57aWYobi5va3x8KFM9Uy5jb25jYXQodCkpLFs0MjksNTAzXS5pbmNsdWRlcyhuLnN0YXR1cykpewpjb25zdCB0PTFlMyorKG4uaGVhZGVycy5nZXQoInJldHJ5LWFmdGVyIil8fDApfHwzZTU7dz1zZXRUaW1lb3V0KCgoKT0+e3c9dm9pZCAwLEUoZSl9KSx0KX19KSkuY2F0Y2goKCgpPT57Uz1TLmNvbmNhdCh0KX0pKX0sRj0oKT0+e3k9dm9pZCAwLFMubGVuZ3RoJiZFKCl9LEw9KGUsdD17fSk9PntpZihfKW51bGw9PXhbZV0/Xy5yZW1vdmVWYWx1ZShlKTpfLnNldFZhbHVlKGUseFtlXSk7ZWxzZSBpZihUKCkpdHJ5e251bGw9PXhbZV0/cC5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFAoZSkpOnAuVFZMb2NhbFN0b3JhZ2Uuc2V0SXRlbShQKGUpLHhbZV0pfWNhdGNoKGUpe31lbHNlIFMucHVzaChlKSx5fHwoeT1zZXRUaW1lb3V0KEYsZikpO3Quc2tpcENyb3NzV2luZG93RXZlbnR8fGQuVFZYV2luZG93RXZlbnRzLmVtaXQoInNldHRpbmdzIixKU09OLnN0cmluZ2lmeSh7a2V5OmUsdmFsdWU6eFtlXX0pKX07ZnVuY3Rpb24gTihlLHQpe2NvbnN0IG49eFtlXTtyZXR1cm4gbj8/dH1mdW5jdGlvbiBNKGUsdCl7Y29uc3Qgbj1OKGUpO2lmKG51bGw9PW4pcmV0dXJuIHQ7dHJ5e3JldHVybiBKU09OLnBhcnNlKG4pfWNhdGNoKG4pe3JldHVybiBWKGUpLHR9fWZ1bmN0aW9uIFYoZSx0PXt9KXtyZXR1cm4gbnVsbCE9eFtlXSYmKGRlbGV0ZSB4W2VdLEwoZSkpLHQuZm9yY2VGbHVzaCYmRSgpLFh9ZnVuY3Rpb24gSShlLHQpe2NvbnN0IG49TihlKTtyZXR1cm4gbnVsbD09bj90OiEoIW58fCJmYWxzZSI9PT1ufHwwPT0rbil9ZnVuY3Rpb24gTyhlLHQpe2NvbnN0IG49TihlKTtpZihudWxsPT1uKXJldHVybiB0O2NvbnN0IHI9cGFyc2VGbG9hdChuKTtpZighaXNGaW5pdGUocikpdGhyb3cgbmV3IFR5cGVFcnJvcignIicrbisnIiBpcyBub3QgZmxvYXQgKGtleTogIicrZSsnIiknKTtyZXR1cm4gcn1mdW5jdGlvbiBEKGUsdCl7Y29uc3Qgbj1OKGUpO2lmKG51bGw9PW4pcmV0dXJuIHQ7Y29uc3Qgcj1wYXJzZUludChuLDEwKTtpZighaXNGaW5pdGUocikpdGhyb3cgbmV3IFR5cGVFcnJvcignIicrbisnIiBpcyBub3QgaW50IChrZXk6ICInK2UrJyIpJyk7cmV0dXJuIHJ9ZnVuY3Rpb24gUihlLHQsbj17fSl7Y29uc3Qgcj0iIit0O3JldHVybiB4W2VdIT09ciYmKHhbZV09cixMKGUsbikpLG4uZm9yY2VGbHVzaCYmIXYmJih2PXNldFRpbWVvdXQoKCgpPT57dj12b2lkIDAsRSgpfSksMTApKSxYfWZ1bmN0aW9uIEEoZSx0LG4pe3JldHVybiBSKGUsSlNPTi5zdHJpbmdpZnkodCksbiksWH1mdW5jdGlvbiBCKCl7cmV0dXJuIE9iamVjdC5rZXlzKHgpfWZ1bmN0aW9uIFcoZSl7Y29uc3QgdD1CKCksbj1bXSxyPW5ldyBSZWdFeHAoIl4iKygwLG8ucmVnRXhwRXNjYXBlKShlKS5yZXBsYWNlKC9cXFwqXFxcKi9naSwiLisiKS5yZXBsYWNlKC9cXFwqL2dpLCJbXi5dKyIpKyIkIiwiZ2kiKTtmb3IobGV0IGU9dC5sZW5ndGgtMTtlPj0wO2UtLSlyLnRlc3QodFtlXSkmJm4ucHVzaCh0W2VdKSxyLmxhc3RJbmRleD0wO3JldHVybiBufWQuVFZYV2luZG93RXZlbnRzLm9uKCJzZXR0aW5ncyIsKGU9Pntjb25zdCB0PUpTT04ucGFyc2UoZSk7bnVsbD09dC52YWx1ZT9kZWxldGUgeFt0LmtleV06eFt0LmtleV09dC52YWx1ZX0pKTtjb25zdCBVPWU9Pntmb3IobGV0IHQ9MDt0PGsubGVuZ3RoOysrdClpZihrW3RdLmV4ZWMoZSkpcmV0dXJuITA7cmV0dXJuITF9LCQ9ZT0+ZS5zdWJzdHJpbmcoMCxoLmxlbmd0aCk9PT1oLHo9ZT0+e3g9e307Y29uc3QgdD0wPT09T2JqZWN0LmtleXMoZSkubGVuZ3RoO3R8fChlPT57T2JqZWN0LmtleXMoZSkuZm9yRWFjaCgodD0+e3hbdF09ZVt0XSsiIn0pKX0pKGUpLChlPT57Zm9yKGxldCB0PXAuVFZMb2NhbFN0b3JhZ2UubGVuZ3RoO3QtLTspe2NvbnN0IG49cC5UVkxvY2FsU3RvcmFnZS5rZXkodCk7biYmJChuKSYmKGUmJlIobi5zdWJzdHJpbmcoaC5sZW5ndGgpLHAuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShuKSkscC5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKG4pKX19KSh0KX0saj1uZXcgci5EZWxlZ2F0ZTtmdW5jdGlvbiBIKGUpe251bGwhPT1lPyhfP3ooXy5pbml0aWFsU2V0dGluZ3N8fHt9KTpUKCk/KCgoKT0+e2lmKCEoMCxsLm9uV2lkZ2V0KSgpfHwhZy5pbmNsdWRlcyh3aW5kb3cubG9jYXRpb24uaG9zdCkpcmV0dXJuO2NvbnN0IGU9InRyYWRpbmd2aWV3LiI7Zm9yKGxldCB0PXAuVFZMb2NhbFN0b3JhZ2UubGVuZ3RoO3QtLTspe2NvbnN0IG49cC5UVkxvY2FsU3RvcmFnZS5rZXkodCk7aWYoMD09PW4uaW5kZXhPZihlKSl7Y29uc3QgdD1uLnJlcGxhY2UoZSxtKyIuIik7cC5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKHQscC5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKG4pKSxwLlRWTG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0obil9fX0pKCksKCgpPT57eD17fTtjb25zdCBlPSEoMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzYXZlX2NoYXJ0X3Byb3BlcnRpZXNfdG9fbG9jYWxfc3RvcmFnZSIpO2ZvcihsZXQgdD1wLlRWTG9jYWxTdG9yYWdlLmxlbmd0aDt0LS07KXtjb25zdCBuPXAuVFZMb2NhbFN0b3JhZ2Uua2V5KHQpO2lmKCFufHwhJChuKSljb250aW51ZTtjb25zdCByPW4uc3Vic3RyaW5nKGgubGVuZ3RoKTtlJiYhVShyKXx8KHhbcl09cC5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKG4pKX19KSgpKTp6KGV8fHt9KSxqLmZpcmUoKSk6Yj0hMH1mdW5jdGlvbiBLKGUpe189ZX1jb25zdCBHPSExLHE9ITEsWD17bG9hZGVkOkcsbG9hZGVkTW9kZWw6cSxnZXRWYWx1ZTpOLGdldEpTT046TSxnZXRCb29sOkksZ2V0RmxvYXQ6TyxnZXRJbnQ6RCxzZXRWYWx1ZTpSLHNldEpTT046QSxyZW1vdmU6VixrZXlzOkIsa2V5c01hc2s6VyxzeW5jOkgsb25TeW5jOmosc2V0U2V0dGluZ3NBZGFwdGVyOkt9LEo9WDt3aW5kb3cuVFZTZXR0aW5ncz1YLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLCgoKT0+eyJoaWRkZW4iIT09ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlJiYhMCE9PWRvY3VtZW50LmhpZGRlbnx8RSgpfSkpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlaGlkZSIsKCgpPT57RSghMCl9KSksCndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmV1bmxvYWQiLCgoKT0+e0UoITApfSkpLGMuZmx1c2hEZWxlZ2F0ZS5zdWJzY3JpYmUobnVsbCwoKCk9PntFKCl9KSksc2V0VGltZW91dCgoYXN5bmMoKT0+e2NvbnN0e2NsZWFyT2xkU2V0dGluZ3M6ZX09YXdhaXQgbi5lKDM1OTgwKS50aGVuKG4uYmluZChuLDc1NDE4NSkpO2UoKX0pLDNlNCl9LDE1MjE4MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnZXRDaXJjbGVMb2dvUGFpckh0bWw6KCk9Pml9KTt2YXIgcj1uKDYyNzg0OCk7ZnVuY3Rpb24gaShlKXtjb25zdHtwcmltYXJ5TG9nb1VybDp0LHNlY29uZGFyeUxvZ29Vcmw6bixzaXplOmksY2xhc3NOYW1lOnN9PWU7cmV0dXJuYDxzcGFuIGNsYXNzPSIkeygwLHIuZ2V0QmxvY2tTdHlsZUNsYXNzZXMpKGkscyl9Ij5cblx0XHRcdCR7byh7bG9nb1VybDpuLHNpemU6aX0pfVxuXHRcdFx0JHtvKHtsb2dvVXJsOnQsc2l6ZTppfSl9XG5cdFx0PC9zcGFuPmB9ZnVuY3Rpb24gbyhlKXtjb25zdHtsb2dvVXJsOnQsc2l6ZTpufT1lLGk9KDAsci5nZXRMb2dvU3R5bGVDbGFzc2VzKShuLDIsQm9vbGVhbih0KSk7cmV0dXJuIHZvaWQgMD09PXQ/YDxzcGFuIGNsYXNzPSIke2l9Ij48L3NwYW4+YDpgPGltZyBjbGFzcz0iJHtpfSIgY3Jvc3NvcmlnaW4gc3JjPSIke3R9IiBhbHQ9IiIgLz5gfX0sNjI3ODQ4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2dldEJsb2NrU3R5bGVDbGFzc2VzOigpPT5jLGdldExvZ29TdHlsZUNsYXNzZXM6KCk9Pmx9KTt2YXIgcj1uKDkxNDQ4NyksaT1uLm4ociksbz1uKDEzNjQpLHM9big4NjAwMjUpLGE9bi5uKHMpO2Z1bmN0aW9uIGMoZSx0KXtyZXR1cm4gaSgpKGEoKS5wYWlyLGEoKVtlXSx0KX1mdW5jdGlvbiBsKGUsdD0yLG49ITApe3JldHVybiBpKCkoYSgpLmxvZ28sYSgpW2VdLGEoKS5za2VsZXRvbixvLnNrZWxldG9uVGhlbWUud3JhcHBlciwhbiYmYSgpLmVtcHR5LDE9PT10JiZpKCkoby5za2VsZXRvblRoZW1lLmFuaW1hdGVkKSl9fSw4ODQ3OTgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Z2V0Q2lyY2xlTG9nb0h0bWw6KCk9Pml9KTt2YXIgcj1uKDc5NDE4Nyk7bigxNDAwMTcpO2Z1bmN0aW9uIGkoZSl7Y29uc3QgdD0oMCxyLmdldFN0eWxlQ2xhc3NlcykoZS5zaXplLDIsZS5jbGFzc05hbWUpO3JldHVybigwLHIuaXNDaXJjbGVMb2dvV2l0aFVybFByb3BzKShlKT9gPGltZyBjbGFzcz0iJHt0fSIgY3Jvc3NvcmlnaW4gc3JjPSIke2UubG9nb1VybH0iIGFsdD0iIj5gOmA8c3BhbiBjbGFzcz0iJHt0fSI+JHtlLnBsYWNlaG9sZGVyTGV0dGVyfHwiIn08L3NwYW4+YH19LDc5NDE4NyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnZXRTdHlsZUNsYXNzZXM6KCk9PmMsaXNDaXJjbGVMb2dvV2l0aFVybFByb3BzOigpPT5sfSk7dmFyIHI9big5MTQ0ODcpLGk9bi5uKHIpLG89bigxMzY0KSxzPW4oMTQwMDE3KSxhPW4ubihzKTtmdW5jdGlvbiBjKGUsdD0yLG4pe3JldHVybiBpKCkoYSgpLmxvZ28sYSgpW2VdLG4sMD09PXR8fDE9PT10P2koKShvLnNrZWxldG9uVGhlbWUud3JhcHBlcixhKCkuc2tlbGV0b24pOmEoKS5sZXR0ZXIsMT09PXQmJm8uc2tlbGV0b25UaGVtZS5hbmltYXRlZCl9ZnVuY3Rpb24gbChlKXtyZXR1cm4ibG9nb1VybCJpbiBlJiZudWxsIT09ZS5sb2dvVXJsJiZ2b2lkIDAhPT1lLmxvZ29VcmwmJjAhPT1lLmxvZ29VcmwubGVuZ3RofX0sMzA5OTIwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0N1c3RvbUJlaGF2aW91ckNvbnRleHQ6KCk9PnJ9KTtjb25zdCByPSgwLG4oNzc5NDc0KS5jcmVhdGVDb250ZXh0KSh7ZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXM6ITB9KTtyLmRpc3BsYXlOYW1lPSJDdXN0b21CZWhhdmlvdXJDb250ZXh0In0sMjczMzEwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0ljb246KCk9Pml9KTt2YXIgcj1uKDc3OTQ3NCk7Y29uc3QgaT1yLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7aWNvbjpuPSIiLHRpdGxlOmksYXJpYUxhYmVsOm8sYXJpYUxhYmVsbGVkYnk6cyxhcmlhSGlkZGVuOmEsLi4uY309ZSxsPSEhKGl8fG98fHMpO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJpbWciLC4uLmMscmVmOnQsImFyaWEtbGFiZWwiOm8sImFyaWEtbGFiZWxsZWRieSI6cywiYXJpYS1oaWRkZW4iOmF8fCFsLHRpdGxlOmksZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDpufX0pfSkpfSwxMzY0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3NrZWxldG9uVGhlbWU6KCk9Pml9KTt2YXIgcj1uKDk3NTI4NSk7Y29uc3QgaT1uLm4ocikoKX0sMzQ0MTAzKGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgdD1be2Q6IkUtTWluaSBTJlAgNTAwIix0OiJFUyJ9LHtkOiJFLU1pbmkgTmFzZGFxIDEwMCIsdDoiTlEifSx7ZDoiR29sZCIsdDoiR0MifSx7ZDoiU2lsdmVyIix0OiJTSSJ9LHtkOiJDcnVkZSBPaWwgV1RJIix0OiJDTCJ9LHtkOiJOYXR1cmFsIEdhcyIsdDoiTkcifSx7ZDoiQXVzdHJhbGlhbiBEb2xsYXIiLHQ6IjZBIn0se2Q6IkF1c3RyYWxpYW4gRG9sbGFyIChGbG9vcikiLHQ6IkFEIn0se2Q6IkV1cm8gRlgiLHQ6IjZFIn0se2Q6IkV1cm8gRlggKEZsb29yKSIsdDoiRUMifSx7ZDoiQ29ybiIsdDoiWkMifSx7ZDoiQ29ybiAoRmxvb3IpIix0OiJDIn0se2Q6IkV1cm9kb2xsYXIiLHQ6IkdFIn0se2Q6IkV1cm9kb2xsYXIgKEZsb29yKSIsdDoiRUQifV0sbj1mdW5jdGlvbigpe3ZhciBlPVt7cGF0dGVybjoiKCIsY3RvcjpvfSx7cGF0dGVybjoiKSIsY3RvcjpzfSx7cGF0dGVybjoiKyIsY3RvcjpjfSx7cGF0dGVybjoiLSIsY3RvcjpsfSx7cGF0dGVybjoiKiIsY3Rvcjp1fSx7cGF0dGVybjoiLyIsY3RvcjpkfSx7cGF0dGVybjoiXiIsY3RvcjpwfSx7cGF0dGVybjovXGQrKD86XC5cZCp8KD8hW2EtekEtWjAtOV8hOi4mXSkpfFwuXGQrLyxjdG9yOmh9LHtwYXR0ZXJuOi9cLi8sY3Rvcjp3fSx7cGF0dGVybjovW2EtekEtWjAtOV9cdTAzNzAtXHUxRkZGX1x1MkU4MC1cdUZGRkZdW2EtekEtWjAtOV9cdTAwMjBcdTAzNzAtXHUxRkZGX1x1MkU4MC1cdUZGRkZfIXw6LiZdKnwnLis/Jy8sY3RvcjptfSx7CnBhdHRlcm46LydbXiddKi8sY3Rvcjp2fSx7cGF0dGVybjovW1wwLVx4MjBcc10rLyxjdG9yOml9XTtmdW5jdGlvbiBuKGUsdCl7dmFyIG49ZnVuY3Rpb24oKXt9O3JldHVybiBuLnByb3RvdHlwZT10LnByb3RvdHlwZSxlLnByb3RvdHlwZT1uZXcgbixlfWZ1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gaShlKXt0aGlzLnZhbHVlPWV9ZnVuY3Rpb24gbygpe31mdW5jdGlvbiBzKCl7fWZ1bmN0aW9uIGEoKXt9ZnVuY3Rpb24gYygpe31mdW5jdGlvbiBsKCl7fWZ1bmN0aW9uIHUoKXt9ZnVuY3Rpb24gZCgpe31mdW5jdGlvbiBwKCl7fXIucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9LG4oaSxyKSxuKG8sciksby5wcm90b3R5cGUudmFsdWU9IigiLG4ocyxyKSxzLnByb3RvdHlwZS52YWx1ZT0iKSIsbihhLHIpLG4oYyxhKSxjLnByb3RvdHlwZS52YWx1ZT0iKyIsYy5wcm90b3R5cGUucHJlY2VkZW5jZT0wLGMucHJvdG90eXBlLmNvbW11dGF0aXZlPSEwLG4obCxhKSxsLnByb3RvdHlwZS52YWx1ZT0iLSIsbC5wcm90b3R5cGUucHJlY2VkZW5jZT0wLGwucHJvdG90eXBlLmNvbW11dGF0aXZlPSExLG4odSxhKSx1LnByb3RvdHlwZS52YWx1ZT0iKiIsdS5wcm90b3R5cGUucHJlY2VkZW5jZT0xLHUucHJvdG90eXBlLmNvbW11dGF0aXZlPSEwLG4oZCxhKSxkLnByb3RvdHlwZS52YWx1ZT0iLyIsZC5wcm90b3R5cGUucHJlY2VkZW5jZT0xLGQucHJvdG90eXBlLmNvbW11dGF0aXZlPSExLG4ocCxhKSxwLnByb3RvdHlwZS52YWx1ZT0iXiIscC5wcm90b3R5cGUucHJlY2VkZW5jZT0yLHAucHJvdG90eXBlLmNvbW11dGF0aXZlPSExO3ZhciBnPS9eJz8oPzooW0EtWjAtOV9dKyk6KT8oLio/KSc/JC9pLGY9L1srXC0vKl0vO2Z1bmN0aW9uIG0oZSl7dGhpcy52YWx1ZT1lfWZ1bmN0aW9uIGgoZSl7dGhpcy52YWx1ZT1lfWZ1bmN0aW9uIHkoZSl7dGhpcy52YWx1ZT1lfWZ1bmN0aW9uIHYoKXttLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiB3KCl7aC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9bihtLHIpLG0ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7aWYodGhpcy5oYXNPd25Qcm9wZXJ0eSgiX3RpY2tlciIpKXt2YXIgZT1mLnRlc3QodGhpcy5fdGlja2VyKT8iJyI6IiI7cmV0dXJuIGUrKHRoaXMuX2V4Y2hhbmdlP3RoaXMuX2V4Y2hhbmdlKyI6IjoiIikrdGhpcy5fdGlja2VyK2V9cmV0dXJuIHRoaXMudmFsdWV9LG0ucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKCl7dmFyIGU9Zy5leGVjKHRoaXMudmFsdWUpO2VbMV0mJih0aGlzLl9leGNoYW5nZT1lWzFdKSx0aGlzLl90aWNrZXI9ZVsyXX0sbS5wcm90b3R5cGUucGFyc2VBc0Z1dHVyZXM9ZnVuY3Rpb24oKXt0aGlzLmhhc093blByb3BlcnR5KCJfdGlja2VyIil8fHRoaXMucGFyc2UoKTtmb3IodmFyIGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHQuc29tZSgoZnVuY3Rpb24odCl7cmV0dXJuIHQudD09PWV9KSl9LG49MjtuPj0xOy0tbil7dmFyIHI9dGhpcy5fdGlja2VyLnNsaWNlKDAsbik7aWYoZShyKSl7dGhpcy5fcm9vdD1yLHRoaXMuX2NvbnRyYWN0PXRoaXMuX3RpY2tlci5zbGljZShuKTticmVha319fSxtLnByb3RvdHlwZS5leGNoYW5nZT1mdW5jdGlvbihlKXtpZih0aGlzLmhhc093blByb3BlcnR5KCJfdGlja2VyIil8fHRoaXMucGFyc2UoKSwhKGFyZ3VtZW50cy5sZW5ndGg+MCkpcmV0dXJuIHRoaXMuX2V4Y2hhbmdlO251bGw9PWU/ZGVsZXRlIHRoaXMuX2V4Y2hhbmdlOnRoaXMuX2V4Y2hhbmdlPWUrIiJ9LG0ucHJvdG90eXBlLnRpY2tlcj1mdW5jdGlvbihlKXtpZih0aGlzLmhhc093blByb3BlcnR5KCJfdGlja2VyIil8fHRoaXMucGFyc2UoKSwhKGFyZ3VtZW50cy5sZW5ndGg+MCkpcmV0dXJuIHRoaXMuX3RpY2tlcjtudWxsPT1lP2RlbGV0ZSB0aGlzLl90aWNrZXI6dGhpcy5fdGlja2VyPWUrIiIsZGVsZXRlIHRoaXMuX3Jvb3QsZGVsZXRlIHRoaXMuX2NvbnRyYWN0fSxtLnByb3RvdHlwZS5yb290PWZ1bmN0aW9uKGUpe2lmKHRoaXMuaGFzT3duUHJvcGVydHkoIl9yb290Iil8fHRoaXMucGFyc2VBc0Z1dHVyZXMoKSwhKGFyZ3VtZW50cy5sZW5ndGg+MCkpcmV0dXJuIHRoaXMuX3Jvb3Q7bnVsbD09ZT9kZWxldGUgdGhpcy5fcm9vdDoodGhpcy5fcm9vdD1lKyIiLHRoaXMuX3Jvb3QmJih0aGlzLl90aWNrZXI9dGhpcy5fcm9vdCsodGhpcy5fY29udHJhY3R8fCIiKSkpfSxtLnByb3RvdHlwZS5jb250cmFjdD1mdW5jdGlvbihlKXtpZih0aGlzLmhhc093blByb3BlcnR5KCJfY29udHJhY3QiKXx8dGhpcy5wYXJzZUFzRnV0dXJlcygpLCEoYXJndW1lbnRzLmxlbmd0aD4wKSlyZXR1cm4gdGhpcy5fcm9vdDtudWxsPT1lP2RlbGV0ZSB0aGlzLl9jb250cmFjdDoodGhpcy5fY29udHJhY3Q9ZSsiIix0aGlzLl9yb290JiYodGhpcy5fdGlja2VyPXRoaXMuX3Jvb3QrdGhpcy5fY29udHJhY3QpKX0sbihoLHIpLGgucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaGFzT3duUHJvcGVydHkoIl9ub3JtYWxpemVkVmFsdWUiKT90aGlzLl9ub3JtYWxpemVkVmFsdWU6dGhpcy52YWx1ZX0saC5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24oKXt0aGlzLl9ub3JtYWxpemVkVmFsdWU9dGhpcy52YWx1ZS5yZXBsYWNlKC9eMCt8XC4wKiQvZywiIikucmVwbGFjZSgvKFwuXGQqPykwKyQvLCIkMSIpLnJlcGxhY2UoL14oXC58JCkvLCIwJDEiKX0seS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZX0sbih2LG0pLHYucHJvdG90eXBlLmlzSW5jb21wbGV0ZT0hMCx2LnByb3RvdHlwZS5pbmNvbXBsZXRlU3VnZ2VzdD1mdW5jdGlvbigpe2lmKCInIiE9PXRoaXMudmFsdWUpcmV0dXJuIFN0cmluZygiJyIpfSxuKHcsaCksdy5wcm90b3R5cGUuaXNJbmNvbXBsZXRlPSEwO3ZhciBiPW5ldyBSZWdFeHAoZS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiIoIisoInN0cmluZyI9PXR5cGVvZiBlLnBhdHRlcm4/ZS5wYXR0ZXJuLnJlcGxhY2UoL1tcXiQoKVtcXXt9Kis/fFxcXS9nLCJcXCQmIik6ZS5wYXR0ZXJuLnNvdXJjZSkrIikifSkpLmNvbmNhdCgiLiIpLmpvaW4oInwiKSwiZyIpCjtmdW5jdGlvbiBfKHQsbil7dmFyIHIsbz1bXTtlOmZvcig7cj1iLmV4ZWModCk7KXtmb3IodmFyIHM9ZS5sZW5ndGg7cy0tOylpZihyW3MrMV0pe2lmKGVbc10uY3Rvcil7dmFyIGE9bmV3IGVbc10uY3RvcihyW3MrMV0pO2EuX29mZnNldD1yLmluZGV4LG8ucHVzaChhKX1jb250aW51ZSBlfXZhciBjPW5ldyB5KHJbMF0pO2MuX29mZnNldD1yLmluZGV4LG8ucHVzaChjKX1pZihuJiZuLnJlY292ZXIpe3ZhciBsO2ZvcihzPW8ubGVuZ3RoO3MtLTspe3ZhciB1PW9bc107aWYodSBpbnN0YW5jZW9mIGh8fHUgaW5zdGFuY2VvZiBtKXtpZih2b2lkIDAhPT1sKXt2YXIgZD1uZXcgbSgiIikscD1vLnNwbGljZShzLGwtcysxLGQpO2QudmFsdWU9cC5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBlLnZhbHVlfSkpLmpvaW4oIiIpfWw9c31lbHNlIHUgaW5zdGFuY2VvZiBpfHwobD12b2lkIDApfX1yZXR1cm4gb31mdW5jdGlvbiB4KGUpe2Zvcih2YXIgdD1bXSxuPTA7bjxlLmxlbmd0aDtuKyspZVtuXWluc3RhbmNlb2YgaXx8dC5wdXNoKGVbbl0pO3JldHVybiB0fWZ1bmN0aW9uIFMoZSl7ZT14KGUpO2Zvcih2YXIgdCxuPVtdLHI9W10saT0wO2k8ZS5sZW5ndGg7aSsrKXt2YXIgYz1lW2ldO2lmKGMgaW5zdGFuY2VvZiBhKXIubGVuZ3RoJiZyW3IubGVuZ3RoLTFdLm1pblByZWNlZGVuY2U+Yy5wcmVjZWRlbmNlJiYocltyLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPWMucHJlY2VkZW5jZSk7ZWxzZSBpZihjIGluc3RhbmNlb2YgbylyLnB1c2godD17bWluUHJlY2VkZW5jZToxLzAsb3BlbkJyYWNlSW5kZXg6aX0pO2Vsc2UgaWYoYyBpbnN0YW5jZW9mIHMpe3ZhciBsPWVbKHQ9ci5wb3AoKSkub3BlbkJyYWNlSW5kZXgtMV0sdT1lW2krMV07dSBpbnN0YW5jZW9mIGEmJiEodS5wcmVjZWRlbmNlPD10Lm1pblByZWNlZGVuY2UpfHwhKCEobCBpbnN0YW5jZW9mIGEpfHxsLnByZWNlZGVuY2U8dC5taW5QcmVjZWRlbmNlfHxsLnByZWNlZGVuY2U9PT10Lm1pblByZWNlZGVuY2UmJmwuY29tbXV0YXRpdmUpfHwobi51bnNoaWZ0KHQub3BlbkJyYWNlSW5kZXgpLG4ucHVzaChpKSxyLmxlbmd0aCYmcltyLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPnQubWluUHJlY2VkZW5jZSYmKHJbci5sZW5ndGgtMV0ubWluUHJlY2VkZW5jZT10Lm1pblByZWNlZGVuY2UpKX19Zm9yKGk9bi5sZW5ndGg7aS0tOyllLnNwbGljZShuW2ldLDEpO3JldHVybiBlfWZ1bmN0aW9uIGsoZSl7aWYoInN0cmluZyIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoImV4cHJlc3Npb24gbXVzdCBiZSBhIHN0cmluZyIpO3JldHVybihlPV8oZSkpLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBtfSkpLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGUuZXhjaGFuZ2UoKX0pKS5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpfWZ1bmN0aW9uIFQoZSl7cmV0dXJuIDEhPT0oZT1rKGUpKS5sZW5ndGg/bnVsbDplWzBdfWZ1bmN0aW9uIFAoZSx0KXtyZXR1cm4oZT1rKGUpKS5zb21lKChmdW5jdGlvbihlKXtyZXR1cm4gdC5pbmNsdWRlcygoZXx8IiIpLnRvVXBwZXJDYXNlKCkpfSkpfWZ1bmN0aW9uIEMoZSl7cmV0dXJuIGUuam9pbigiIil9cmV0dXJue3Rva2VuaXplOl8sdmFsaWRhdGU6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PSJpbml0IixuPSJ2YXIiLHI9dCxjPXt3YXJuaW5nczpbXSxlcnJvcnM6W10saXNFbXB0eTohMH0sbD1bXSx1PTA7dTxlLmxlbmd0aDt1Kyspe2lmKCEoKHA9ZVt1XSlpbnN0YW5jZW9mIGkpKXtpZihkZWxldGUgYy5pc0VtcHR5LHAuaXNJbmNvbXBsZXRlKXt2YXIgZD17c3RhdHVzOiJpbmNvbXBsZXRlIixyZWFzb246ImluY29tcGxldGVfdG9rZW4iLG9mZnNldDpwLl9vZmZzZXQsdG9rZW46cH07aWYocC5pbmNvbXBsZXRlU3VnZ2VzdCYmKGQucmVjb3Zlcj17YXBwZW5kOnAuaW5jb21wbGV0ZVN1Z2dlc3QoKX0pLGMud2FybmluZ3MucHVzaChkKSx1IT09ZS5sZW5ndGgtMSl7ZC5zdGF0dXM9ImVycm9yIjtjb250aW51ZX19aWYocCBpbnN0YW5jZW9mIG18fHAgaW5zdGFuY2VvZiBoKXtpZihyPT09bil7Yy5lcnJvcnMucHVzaCh7c3RhdHVzOiJlcnJvciIscmVhc29uOiJ1bmV4cGVjdGVkX3Rva2VuIixvZmZzZXQ6cC5fb2Zmc2V0LHRva2VuOnB9KTtjb250aW51ZX1yPW59ZWxzZSBpZihwIGluc3RhbmNlb2YgYSl7aWYociE9PW4pe2MuZXJyb3JzLnB1c2goe3N0YXR1czoiZXJyb3IiLHJlYXNvbjoidW5leHBlY3RlZF90b2tlbiIsb2Zmc2V0OnAuX29mZnNldCx0b2tlbjpwfSk7Y29udGludWV9cj0ib3BlcmF0b3IifWVsc2UgaWYocCBpbnN0YW5jZW9mIG8pe2lmKHI9PT1uKXtjLmVycm9ycy5wdXNoKHtzdGF0dXM6ImVycm9yIixyZWFzb246InVuZXhwZWN0ZWRfdG9rZW4iLG9mZnNldDpwLl9vZmZzZXQsdG9rZW46cH0pO2NvbnRpbnVlfWwucHVzaChwKSxyPXR9ZWxzZSBpZihwIGluc3RhbmNlb2Ygcyl7aWYociE9PW4pe2MuZXJyb3JzLnB1c2goe3N0YXR1czoiZXJyb3IiLHJlYXNvbjoidW5leHBlY3RlZF90b2tlbiIsb2Zmc2V0OnAuX29mZnNldCx0b2tlbjpwfSk7Y29udGludWV9bC5wb3AoKXx8Yy5lcnJvcnMucHVzaCh7c3RhdHVzOiJlcnJvciIscmVhc29uOiJ1bmJhbGFuY2VkX2JyYWNlIixvZmZzZXQ6cC5fb2Zmc2V0LHRva2VuOnAscmVjb3Zlcjp7cHJlcGVuZDpuZXcgb319KSxyPW59ZWxzZSBwIGluc3RhbmNlb2YgeSYmYy5lcnJvcnMucHVzaCh7c3RhdHVzOiJlcnJvciIscmVhc29uOiJ1bnBhcnNlZF9lbnRpdHkiLG9mZnNldDpwLl9vZmZzZXQsdG9rZW46cH0pfX1mb3IoYy5icmFjZUJhbGFuY2U9bC5sZW5ndGgsciE9PW4mJmMud2FybmluZ3MucHVzaCh7c3RhdHVzOiJpbmNvbXBsZXRlIn0pO2wubGVuZ3RoOyl7dmFyIHA7ZD17c3RhdHVzOiJpbmNvbXBsZXRlIixyZWFzb246InVuYmFsYW5jZWRfYnJhY2UiLG9mZnNldDoocD1sLnBvcCgpKS5fb2Zmc2V0LHRva2VuOnB9O3I9PT1uJiYoZC5yZWNvdmVyPXthcHBlbmQ6bmV3IHN9KSxjLndhcm5pbmdzLnB1c2goZCl9cmV0dXJuIGMuY3VycmVudFN0YXRlPXIsMD09PWMud2FybmluZ3MubGVuZ3RoJiZkZWxldGUgYy53YXJuaW5ncywKMD09PWMuZXJyb3JzLmxlbmd0aCYmZGVsZXRlIGMuZXJyb3JzLGN9LGZhY3Rvck91dEJyYWNlczpTLG5vcm1hbGl6ZVRva2VuczpmdW5jdGlvbihlKXtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKyllW3RdLnBhcnNlJiZlW3RdLnBhcnNlKCk7cmV0dXJuIGV9LGZsaXA6ZnVuY3Rpb24oZSl7dmFyIHQ9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG49MCxyPTEsYz0yLGw9Myx1PW4scD0wLGc9MDtnPGUubGVuZ3RoO2crKyl7dmFyIGY9ZVtnXTtpZighKGYgaW5zdGFuY2VvZiBpKSlzd2l0Y2godSl7Y2FzZSBuOmlmKCEoZiBpbnN0YW5jZW9mIGgmJjE9PStmLnZhbHVlKSlyZXR1cm4hMTt1PXI7YnJlYWs7Y2FzZSByOmlmKCEodT09PXImJmYgaW5zdGFuY2VvZiBkKSlyZXR1cm4hMTt1PWMsdD1nKzE7YnJlYWs7Y2FzZSBjOmlmKGYgaW5zdGFuY2VvZiBvKXU9bCxwPTE7ZWxzZSBpZihmIGluc3RhbmNlb2YgYSlyZXR1cm4hMTticmVhaztjYXNlIGw6ZiBpbnN0YW5jZW9mIG8/cCsrOmYgaW5zdGFuY2VvZiBzJiYtLXA8PTAmJih1PWMpfX1yZXR1cm4gZS5zbGljZSh0KX0oZSk7cmV0dXJuIFModHx8W25ldyBoKCIxIiksbmV3IGQsbmV3IG9dLmNvbmNhdChlKS5jb25jYXQobmV3IHMpKX0saGFzQmF0c1N5bWJvbHM6ZnVuY3Rpb24oZSl7cmV0dXJuIFAoZSxbIkJBVFMiXSl9LGhhc0VvZFN5bWJvbHM6ZnVuY3Rpb24oZSl7cmV0dXJuKGU9VChlKSkmJi0xIT09ZS50b1VwcGVyQ2FzZSgpLmluZGV4T2YoIl9FT0QiKX0saGFzQ2h4anB5U3ltYm9sczpmdW5jdGlvbihlKXtyZXR1cm4gUChlLFsiQ0hYSlBZIl0pfSxoYXNGcmVlRGVsYXlTeW1ib2xzOmZ1bmN0aW9uKGUpe3JldHVybiBQKGUscHJvLmdldFByb2R1Y3RzQnlUeXBlKHByby5QUk9EVUNUX1RZUEVTLmV4Y2hhbmdlKS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBlLmV4Y2hhbmdlLnRvVXBwZXJDYXNlKCkrIl9ETFkifSkpKX0sZ2V0RXhjaGFuZ2U6VCxnZXRFeGNoYW5nZXM6ayxpc0V4Y2hhbmdlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuISEoZT1UKGUpKSYmZS5zdWJzdHJpbmcoMCx0Lmxlbmd0aCk9PT10fSxTeW1ib2xUb2tlbjptLEluY29tcGxldGVTeW1ib2xUb2tlbjp2LE51bWJlclRva2VuOmgsQmluYXJ5T3BlcmF0b3JUb2tlbjphLE9wZW5CcmFjZVRva2VuOm8sQ2xvc2VCcmFjZVRva2VuOnMsdGlja2VyOmZ1bmN0aW9uKGUpe3JldHVybiBuZXcgbShlKS50aWNrZXIoKX0sc2hvcnROYW1lOmZ1bmN0aW9uKGUpe2lmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJleHByZXNzaW9uIG11c3QgYmUgYSBzdHJpbmciKTt2YXIgdD1TKHgoXyhlKSkpO3JldHVybiB0LmZvckVhY2goKGZ1bmN0aW9uKGUpe2UgaW5zdGFuY2VvZiBtJiZlLmV4Y2hhbmdlKG51bGwpfSkpLEModCl9LG5vcm1hbGl6ZTpmdW5jdGlvbihlKXtpZigic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcigiZXhwcmVzc2lvbiBtdXN0IGJlIGEgc3RyaW5nIik7cmV0dXJuIEMoUyh4KF8oZSkpKSl9fX0oKTtlLmV4cG9ydHM9bn0sMjMyOTQ4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2dldFByb2R1Y3RJZDooKT0+dSxpc0V4Y2hhbmdlOigpPT5sLGlzUGFpZFBybzooKT0+YSxpc1BsYW46KCk9PmMsaXNQcm86KCk9PnMsaXNQcm9kdWN0RGVmaW5lZDooKT0+aSxpc1RyaWFsOigpPT5vfSk7dmFyIHI9big1ODE4OTMpO2Z1bmN0aW9uIGkoZSl7cmV0dXJuISghZXx8IU9iamVjdC5rZXlzKGUpLmxlbmd0aCl9ZnVuY3Rpb24gbyhlKXtyZXR1cm4hIWUuaXNfdHJpYWx9ZnVuY3Rpb24gcyhlKXtyZXR1cm4hIWU/LnByb19wbGFufWZ1bmN0aW9uIGEoZSl7cmV0dXJuIHMoZSkmJiFvKGUpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGUudHlwZT09PXIuUHJvZHVjdFR5cGUuUHJvUGxhbn1mdW5jdGlvbiBsKGUpe3JldHVybiBlLnR5cGU9PT1yLlByb2R1Y3RUeXBlLkV4Y2hhbmdlfWZ1bmN0aW9uIHUoZSl7cmV0dXJuIGU/bChlKXx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUudHlwZT09PXIuUHJvZHVjdFR5cGUuQ29pbnN9KGUpP2UudGV4dF9pZD8/IiI6ZS5kaXNjb3VudF90ZXh0X2lkPz9lLnRleHRfaWQ/PyIiOiIifX0sODY0MDM0KGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI7bi5kKHQse0JpbGxpbmdDeWNsZTooKT0+cixNT05USExZX1NVQlNDUklQVElPTl9EQVlTX0xFTjooKT0+byxXRUVLTFlfU1VCU0NSSVBUSU9OX0RBWVNfTEVOOigpPT5pfSksZnVuY3Rpb24oZSl7ZS5Nb250aGx5PSJtIixlLlRocmVlTW9udGhzPSIzbSIsZS5PbmVZZWFyPSJ5In0ocnx8KHI9e30pKTtjb25zdCBpPTcsbz0zMH0sNTgxODkzKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI7bi5kKHQse1Byb2R1Y3RUeXBlOigpPT5yfSksZnVuY3Rpb24oZSl7ZVtlLlByb1BsYW49MV09IlByb1BsYW4iLGVbZS5OZXdzRmVlZD0zXT0iTmV3c0ZlZWQiLGVbZS5FeGNoYW5nZT00XT0iRXhjaGFuZ2UiLGVbZS5Db25uZWN0aW9uPTZdPSJDb25uZWN0aW9uIixlW2UuQ29pbnM9OF09IkNvaW5zIixlW2UuU2NyaXB0UGFja2FnZT05XT0iU2NyaXB0UGFja2FnZSJ9KHJ8fChyPXt9KSl9LDQ5ODY1MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtpc0lEQ0V4Y2hhbmdlOigpPT5pfSk7dmFyIHI9bigyMzI5NDgpO2Z1bmN0aW9uIGkoZSx0PSExKXtpZihlJiZlLnN0YXJ0c1dpdGgoImV4Y2hhbmdlLSIpKXJldHVybiBmdW5jdGlvbihlLHQ9ITEpe2NvbnN0IG49d2luZG93LnBybz8uZ2V0UHJvZHVjdChlKTtyZXR1cm4hKHZvaWQgMD09PW58fCEoMCxyLmlzUHJvZHVjdERlZmluZWQpKG4pfHwodD8hbi5pZGNfc2VydmljZV9jb2Rlc19kZWxheTohbi5pZGNfc2VydmljZV9jb2RlcykpfShlLHQpO2NvbnN0IG49KGV8fCIiKS50b0xvd2VyQ2FzZSgpO3JldHVybiB3aW5kb3cucHJvPy5nZXRJRENFeGNoYW5nZXModCk/LmluY2x1ZGVzKG4pPz8hMX19LDk1MjkwMChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHthY2N1bXVsYXRlOigpPT5zLGNvbWJpbmU6KCk9Pm99KTt2YXIgcj1uKDIzMjM2NCk7ZnVuY3Rpb24gaShlLHQsLi4ubil7bGV0IGk9bnVsbAo7Y29uc3Qgbz0oLi4udCk9PmUoLi4udC5tYXAoKGU9PmUudmFsdWUoKSkpLGk/LnZhbHVlKCkpLHM9aT1uZXcgci5XYXRjaGVkVmFsdWUobyguLi5uKSksYT0oKT0+e2NvbnN0IGU9bi5tYXAoKChlLHQpPT5lLnZhbHVlKCkpKTt0KC4uLmUpJiZzLnNldFZhbHVlKG8oLi4ubikpfSxjPW4ubWFwKChlPT5lLnNwYXduKCkpKTtmb3IoY29uc3QgZSBvZiBjKWUuc3Vic2NyaWJlKGEpO3JldHVybiBzLnJlYWRvbmx5KCkuc3Bhd24oKCgpPT57Yy5mb3JFYWNoKChlPT5lLmRlc3Ryb3koKSkpLG4uZm9yRWFjaCgoZT0+ZS5yZWxlYXNlKCkpKX0pKX1mdW5jdGlvbiBvKGUsLi4udCl7cmV0dXJuIGkoZSwoKCk9PiEwKSwuLi50KX1mdW5jdGlvbiBzKGUsdCwuLi5uKXtsZXQgaT1udWxsO2NvbnN0IHM9bygoKC4uLmUpPT4oZS5zcGxpY2UoLTEpLGUpKSwuLi5uKSxhPXQuc3Bhd24oKSxjPSh0LC4uLm4pPT57Y29uc3Qgcj10Lm1hcCgoZT0+ZS52YWx1ZSgpKSk7cmV0dXJuIGUociwuLi5uLGk/LnZhbHVlKCkpfSxsPWk9bmV3IHIuV2F0Y2hlZFZhbHVlKGMoYS52YWx1ZSgpLC4uLnMudmFsdWUoKSkpO2xldCB1PVtdO2NvbnN0IGQ9KCk9PntsLnNldFZhbHVlKGModSwuLi5zLnZhbHVlKCkpKX0scD1lPT57dS5mb3JFYWNoKChlPT5lLmRlc3Ryb3koKSkpLHU9ZS5tYXAoKGU9PmUuc3Bhd24oKSkpLHUuZm9yRWFjaCgoZT0+ZS5zdWJzY3JpYmUoZCkpKSxkKCl9O3AoYS52YWx1ZSgpKSxhLnN1YnNjcmliZShwKSxzLnN1YnNjcmliZShkKTtyZXR1cm4gbC5yZWFkb25seSgpLnNwYXduKCgoKT0+e3UuZm9yRWFjaCgoZT0+ZS5kZXN0cm95KCkpKSxhLmRlc3Ryb3koKSxzLmRlc3Ryb3koKSx0LnJlbGVhc2UoKX0pKX19LDE1MDE1MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtndWlkOigpPT5pLHJhbmRvbUhhc2g6KCk9Pm8scmFuZG9tSGFzaE46KCk9PnN9KTtjb25zdCByPSIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiI7ZnVuY3Rpb24gaSgpe3JldHVybiJ4eHh4eHh4eC14eHh4LTR4eHgteXh4eC14eHh4eHh4eHh4eHgiLnJlcGxhY2UoL1t4eV0vZywoZT0+e2NvbnN0IHQ9MTYqTWF0aC5yYW5kb20oKXwwO3JldHVybigieCI9PT1lP3Q6MyZ0fDgpLnRvU3RyaW5nKDE2KX0pKX1mdW5jdGlvbiBvKCl7cmV0dXJuIHMoMTIpfWZ1bmN0aW9uIHMoZSl7bGV0IHQ9IiI7Zm9yKGxldCBuPTA7bjxlOysrbil7Y29uc3QgZT1NYXRoLmZsb29yKDYyKk1hdGgucmFuZG9tKCkpO3QrPXJbZV19cmV0dXJuIHR9fSw2NDA3NDQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUsdCxuKXtyZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgoZSx0KSxuKX1mdW5jdGlvbiBpKGUpe2NvbnN0IHQ9TWF0aC5jZWlsKGUpO3JldHVybiB0JTIhPTA/dC0xOnR9ZnVuY3Rpb24gbyhlKXtjb25zdCB0PU1hdGguY2VpbChlKTtyZXR1cm4gdCUyPT0wP3QtMTp0fWZ1bmN0aW9uIHMoZSl7cmV0dXJuIGU+MD9NYXRoLmZsb29yKGUpOk1hdGguY2VpbChlKX1mdW5jdGlvbiBhKGUpe3JldHVybiBlJTI9PTB9bi5kKHQse2NlaWxlZEV2ZW46KCk9PmksY2VpbGVkT2RkOigpPT5vLGNsYW1wOigpPT5yLGlzRXZlbjooKT0+YSx0b0ludDooKT0+c30pfSwyNDE5NTYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Y3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9uOigpPT5pfSk7dmFyIHI9bigyMzIzNjQpO2Z1bmN0aW9uIGkoZSx0KXtjb25zdCBuPW5ldyByLldhdGNoZWRWYWx1ZShlKCkpLGk9e307dC5zdWJzY3JpYmUoaSwoKCk9PntuLnNldFZhbHVlKGUobi52YWx1ZSgpKSl9KSk7cmV0dXJuIG4ucmVhZG9ubHkoKS5zcGF3bigoKCk9PnQudW5zdWJzY3JpYmVBbGwoaSkpKX19LDYwMTg0MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtjbG9uZTooKT0+cyxkZWVwRXF1YWxzOigpPT5kLGhhc1Byb3BlcnR5OigpPT5sLGlzQXJyYXk6KCk9PnAsaXNFeGlzdGVudDooKT0+Zixpc0ludGVnZXI6KCk9Pm0saXNOYU46KCk9PmcsaXNOdW1iZXI6KCk9Pm8saXNPYmplY3Q6KCk9PmMsaXNTdHJpbmc6KCk9PmgsbWVyZ2U6KCk9PmEsbm90TnVsbDooKT0+eX0pO2NvbnN0IHI9bmV3IFNldChbIl9fcHJvdG9fXyIsInByb3RvdHlwZSIsImNvbnN0cnVjdG9yIl0pO2Z1bmN0aW9uIGkoZSl7cmV0dXJuIHIuaGFzKGUpfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiBlJiZpc0Zpbml0ZShlKX1mdW5jdGlvbiBzKGUpe2lmKCFlfHwib2JqZWN0IiE9dHlwZW9mIGUpcmV0dXJuIGU7bGV0IHQ7dD1BcnJheS5pc0FycmF5KGUpP1tdOnt9O2Zvcihjb25zdCBuIGluIGUpaWYoZS5oYXNPd25Qcm9wZXJ0eShuKSl7Y29uc3Qgcj1lW25dO3Rbbl09ciYmIm9iamVjdCI9PXR5cGVvZiByP3Mocik6cn1yZXR1cm4gdH1mdW5jdGlvbiBhKGUsdCl7aWYoIWMoZSl8fCFjKHQpKXJldHVybiBlO2Zvcihjb25zdFtuLHJdb2YgT2JqZWN0LmVudHJpZXModCkpaShuKXx8KHImJih1KHIpfHwhcChyKSYmT2JqZWN0LmdldFByb3RvdHlwZU9mKHIpIT09T2JqZWN0LnByb3RvdHlwZSk/ZVtuXT1yOihlLmhhc093blByb3BlcnR5KG4pJiZjKGVbbl0pfHwhYyhyKXx8KGVbbl09QXJyYXkuaXNBcnJheShyKT9bXTp7fSksYyhyKSYmYyhlW25dKT9hKGVbbl0scik6ZVtuXT1yKSk7cmV0dXJuIGV9ZnVuY3Rpb24gYyhlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lfWZ1bmN0aW9uIGwoZSx0KXtyZXR1cm4gdCBpbiBlfWZ1bmN0aW9uIHUoZSl7cmV0dXJuIG51bGwhPWUmJihlLmNvbnN0cnVjdG9yPT09RnVuY3Rpb258fCJbb2JqZWN0IEZ1bmN0aW9uXSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkpfWZ1bmN0aW9uIGQoZSx0LG49IiIpe2lmKGU9PT10KXJldHVyblshMCxuXTtpZih1KGUpJiYoZT12b2lkIDApLHUodCkmJih0PXZvaWQgMCksbnVsbD09ZXx8bnVsbD09dClyZXR1cm5bZT09PXQsbl07aWYoIm9iamVjdCIhPXR5cGVvZiBlJiYib2JqZWN0IiE9dHlwZW9mIHQpcmV0dXJuW2U9PT10LG5dO2lmKEFycmF5LmlzQXJyYXkoZSkmJkFycmF5LmlzQXJyYXkodCkpewpjb25zdCByPWUubGVuZ3RoO2lmKHIhPT10Lmxlbmd0aClyZXR1cm5bITEsbl07Zm9yKGxldCBpPTA7aTxyO2krKyl7Y29uc3Qgcj1kKGVbaV0sdFtpXSxuKyJbIitpKyJdIik7aWYoIXJbMF0pcmV0dXJuIHJ9cmV0dXJuWyEwLG5dfWlmKEFycmF5LmlzQXJyYXkoZSl8fEFycmF5LmlzQXJyYXkodCkpcmV0dXJuWyExLG5dO2lmKE9iamVjdC5rZXlzKGUpLmxlbmd0aCE9PU9iamVjdC5rZXlzKHQpLmxlbmd0aClyZXR1cm5bITEsbl07Zm9yKGNvbnN0IHIgaW4gZSl7Y29uc3QgaT1kKGVbcl0sdFtyXSxuKyJbIityKyJdIik7aWYoIWlbMF0pcmV0dXJuIGl9cmV0dXJuWyEwLG5dfWNvbnN0IHA9QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24oZSl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKX07ZnVuY3Rpb24gZyhlKXtyZXR1cm4hKGU8PTB8fGU+MCl9ZnVuY3Rpb24gZihlKXtyZXR1cm4gbnVsbCE9ZX1mdW5jdGlvbiBtKGUpe3JldHVybiJudW1iZXIiPT10eXBlb2YgZSYmZSUxPT0wfWZ1bmN0aW9uIGgoZSl7cmV0dXJuIG51bGwhPWUmJmUuY29uc3RydWN0b3I9PT1TdHJpbmd9ZnVuY3Rpb24geShlKXtyZXR1cm4gbnVsbCE9PWV9TnVtYmVyLmlzTmFOPU51bWJlci5pc05hTnx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUhPWV9fSw0OTI2NzcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUpe3JldHVybiBkZWNvZGVVUklDb21wb25lbnQoZS5yZXBsYWNlKC9cKy9nLCIgIikpLnJlcGxhY2UoLzxcLz9bXj5dKyg+fCQpL2csIiIpfWZ1bmN0aW9uIGkoZSl7Y29uc3QgdD0vKFteJj1dKyk9PyhbXiZdKikvZyxuPXt9O2lmKCFlKXJldHVybiBuO2xldCBpPXQuZXhlYyhlKTtmb3IoO2k7KW5bcihpWzFdKV09cihpWzJdKSxpPXQuZXhlYyhlKTtyZXR1cm4gbn1mdW5jdGlvbiBvKCl7cmV0dXJuIGkod2luZG93LmxvY2F0aW9uLnNlYXJjaC5zdWJzdHJpbmcoMSkpfWZ1bmN0aW9uIHMoKXtjb25zdCBlPXdpbmRvdy5sb2NhdGlvbi5ocmVmLnNwbGl0KCIjIilbMF07d2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKCIiLGRvY3VtZW50LnRpdGxlLGUpfWZ1bmN0aW9uIGEoZSl7Y29uc3QgdD1bXTtmb3IoY29uc3QgbiBpbiBlKWlmKGUuaGFzT3duUHJvcGVydHkobikmJm51bGwhPWVbbl0pe2NvbnN0IHI9ZVtuXSxpPSJvYmplY3QiPT10eXBlb2Ygcj9KU09OLnN0cmluZ2lmeShyKTpTdHJpbmcocik7dC5wdXNoKHtrZXk6bixwYWlyOmVuY29kZVVSSUNvbXBvbmVudChuKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGkpfSl9cmV0dXJuIHQuc29ydCgoKGUsdCk9PmUua2V5PnQua2V5PzE6ZS5rZXk8dC5rZXk/LTE6MCkpLm1hcCgoZT0+ZS5wYWlyKSkuam9pbigiJiIpfW4uZCh0LHtjcmVhdGVVcmxQYXJhbXM6KCk9PmEsZ2V0VXJsUGFyYW1zOigpPT5vLHJlbW92ZUhhc2hGcm9tVXJsOigpPT5zfSl9LDEwNzA0NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtOdW1lcmljRm9ybWF0dGVyOigpPT5vfSk7dmFyIHI9big1OTg5MjIpLGk9big1NDY0ODUpO2NsYXNzIG97Y29uc3RydWN0b3IoZT17fSl7dGhpcy5fb3B0aW9ucz1lfWZvcm1hdChlLHQ9e30pe2lmKCFOdW1iZXIuaXNGaW5pdGUoZSkpcmV0dXJuIFN0cmluZyhlKTtjb25zdHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6bj10aGlzLl9vcHRpb25zLmlnbm9yZUxvY2FsZU51bWJlckZvcm1hdCxub0V4cG9uZW50aWFsRm9ybTpzPXRoaXMuX29wdGlvbnMubm9FeHBvbmVudGlhbEZvcm19PXQse21pblByZWNpc2lvbjphLHByZWNpc2lvbjpjfT10aGlzLl9vcHRpb25zLGw9KDAsaS5nZXROdW1iZXJGb3JtYXQpKG4pO3JldHVybiB2b2lkIDA9PT1jP28uX2Zvcm1hdE5vRUltcGwoZSxsLGMsYSk6KDAsci5mb3JtYXROdW1iZXIpKGUsbCxjLHMsYSl9cGFyc2UoZSx0KXtjb25zdHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6bixwcmVjaXNpb246b309dGhpcy5fb3B0aW9ucyxzPSgwLGkuZ2V0TnVtYmVyRm9ybWF0KShufHx0Py5pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQpO2xldCBhPSgwLHIucGFyc2VOdW1iZXIpKGUscyk7cmV0dXJuIE51bWJlci5pc0Zpbml0ZShhKT8obyYmKGE9K2EudG9GaXhlZChvKSkse3JlczohMCx2YWx1ZTphfSk6e3JlczohMX19c3RhdGljIGZvcm1hdE5vRShlLHQpe3JldHVybiB0aGlzLl9mb3JtYXROb0VJbXBsKGUsdCl9c3RhdGljIF9mb3JtYXROb0VJbXBsKGUsdCxuLGkpe3JldHVybiBOdW1iZXIuaXNGaW5pdGUoZSk/KHQ9dD8/e2dyb3VwaW5nU2VwYXJhdG9yOiIiLGRlY2ltYWxTaWduOiIuIn0sKDAsci5mb3JtYXROdW1iZXIpKGUsdCxuLCEwLGkpKTpTdHJpbmcoZSl9fX0sMTI1MjE4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1BlcmNlbnRhZ2VGb3JtYXR0ZXI6KCk9Pm99KTt2YXIgcj1uKDExNTI5MyksaT1uKDc1NTYyNyk7Y2xhc3MgbyBleHRlbmRzIGkuUHJpY2VGb3JtYXR0ZXJ7Y29uc3RydWN0b3IoZT17fSl7dm9pZCAwIT09ZS5kZWNpbWFsUGxhY2VzJiYoZS5wcmljZVNjYWxlPU1hdGgucG93KDEwLGUuZGVjaW1hbFBsYWNlcykpLHN1cGVyKGUpLHRoaXMudHlwZT0icGVyY2VudGFnZSJ9c3RhdGUoKXtyZXR1cm57Li4uc3VwZXIuc3RhdGUoKSxwZXJjZW50OiEwfX1wYXJzZShlLHQpe3JldHVybiBlPWUucmVwbGFjZSgiJSIsIiIpLHN1cGVyLnBhcnNlKGUsdCl9Zm9ybWF0KGUsdD17fSl7Y29uc3R7dXNlUnRsRm9ybWF0Om49ITB9PXQsaT1zdXBlci5mb3JtYXQoZSx7Li4udCx1c2VSdGxGb3JtYXQ6ITF9KSsiJSI7cmV0dXJuIG4/KDAsci5mb3JjZUxUUlN0cikoaSk6aX1zdGF0aWMgc2VyaWFsaXplKGUpe3JldHVybiBlLnN0YXRlKCl9c3RhdGljIGRlc2VyaWFsaXplKGUpe3JldHVybiBuZXcgbyhlKX19fSw5ODQzNzYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UExBQ0VfSE9MREVSOigpPT5zLFZvbHVtZUZvcm1hdHRlcjooKT0+bH0pO3ZhciByPW4oNzgzMjU0KSxpPW4oNjAxODQxKSxvPW4oMTA3MDQ1KTtjb25zdCBzPSItLS0iLGE9W3t2YWx1ZTozLGxldHRlcjoiSyJ9LHt2YWx1ZTo2LGxldHRlcjoiTSJ9LHt2YWx1ZTo5LGxldHRlcjoiQiJ9LHsKdmFsdWU6MTIsbGV0dGVyOiJUIn1dO2Z1bmN0aW9uIGMoZSx0KXtjb25zdCBuPWUtdDtyZXR1cm4gYS5maW5kKChlPT5lLnZhbHVlPj1uKSk/P2FbYS5sZW5ndGgtMV19Y2xhc3MgbHtjb25zdHJ1Y3RvcihlPXt9KXt0aGlzLnR5cGU9InZvbHVtZSI7Y29uc3R7cHJlY2lzaW9uOnQ9MCxtaW5QcmVjaXNpb246bj0wLGRpbWVuc2lvblByZWNpc2lvbjpyPTIsZGltZW5zaW9uTWluUHJlY2lzaW9uOmk9MCxzaWduaWZpY2FudERpZ2l0czpzPTMsaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmEsbm9FeHBvbmVudGlhbEZvcm06YyxyZW1vdmVTcGFjZUJlZm9yZURpbWVuc2lvbjpsfT1lO3RoaXMuX3ByZWNpc2lvbj10LHRoaXMuX2Zvcm1hdHRlcj1uZXcgby5OdW1lcmljRm9ybWF0dGVyKHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6YSxwcmVjaXNpb246dGhpcy5fcHJlY2lzaW9uLG1pblByZWNpc2lvbjpuLG5vRXhwb25lbnRpYWxGb3JtOmN9KSx0aGlzLl9kaW1lbnNpb25QcmVjaXNpb249cix0aGlzLl9kaW1lbnNpb25Gb3JtYXR0ZXI9bmV3IG8uTnVtZXJpY0Zvcm1hdHRlcih7aWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmEscHJlY2lzaW9uOnRoaXMuX2RpbWVuc2lvblByZWNpc2lvbixtaW5QcmVjaXNpb246aSxub0V4cG9uZW50aWFsRm9ybTpjfSksdGhpcy5fc2lnbmlmaWNhbnREaWdpdHM9cyx0aGlzLl9mcmFjdGlvbmFsVmFsdWVzPXZvaWQgMCE9PXQmJnQ+MCx0aGlzLl9zcGFjZUJlZm9yZURpbWVuc2lvbj1sPyIiOiLigK8iLHRoaXMuX29wdGlvbnM9ZX1zdGF0ZSgpe2NvbnN0e2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDplLC4uLnR9PXRoaXMuX29wdGlvbnM7cmV0dXJuIHR9Zm9ybWF0KGUsdCl7aWYoISgwLGkuaXNOdW1iZXIpKGUpKXJldHVybiBzO2lmKE1hdGguYWJzKGUpPj0xZTEwMClyZXR1cm4gci50KG51bGwse2NvbnRleHQ6InZvbHVtZS1mb3JtYXR0ZXIifSxuKDU3MDYyKSk7bGV0IG89IiI7TWF0aC5hYnMoZSk8MSYmKGU9K2UudG9GaXhlZCh0aGlzLl9wcmVjaXNpb24pKSxlPDA/bz0i4oiSIjplPjAmJnQ/LnNpZ25Qb3NpdGl2ZSYmKG89IisiKSxlPU1hdGguYWJzKGUpO2NvbnN0IGE9ISEodD8uaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0Pz90aGlzLl9vcHRpb25zLmlnbm9yZUxvY2FsZU51bWJlckZvcm1hdCk7bGV0IGwsdSxkPU1hdGguZmxvb3IoTWF0aC5sb2cxMChlKSkrMTtpZihkPD10aGlzLl9zaWduaWZpY2FudERpZ2l0cyYmKGU9K2UudG9GaXhlZCh0aGlzLl9wcmVjaXNpb24pLGQ9TWF0aC5mbG9vcihNYXRoLmxvZzEwKGUpKSsxKSxkPD10aGlzLl9zaWduaWZpY2FudERpZ2l0cylsPXRoaXMuX2Zvcm1hdE51bWJlcihlLGEsdGhpcy5fZm9ybWF0dGVyKTtlbHNle2xldCB0PWMoZCx0aGlzLl9zaWduaWZpY2FudERpZ2l0cyk7Y29uc3Qgbj1NYXRoLnBvdygxMCx0LnZhbHVlKTtlPSsoZS9uKS50b0ZpeGVkKHRoaXMuX2RpbWVuc2lvblByZWNpc2lvbikqbix0PWMoTWF0aC5mbG9vcihNYXRoLmxvZzEwKGUpKSsxLHRoaXMuX3NpZ25pZmljYW50RGlnaXRzKSxsPXRoaXMuX2Zvcm1hdE51bWJlcihlL01hdGgucG93KDEwLHQudmFsdWUpLGEsdGhpcy5fZGltZW5zaW9uRm9ybWF0dGVyKSx1PXQubGV0dGVyfXJldHVybiB1P2Ake299JHtsfSR7dGhpcy5fc3BhY2VCZWZvcmVEaW1lbnNpb259JHt1fWA6YCR7b30ke2x9YH1wYXJzZShlLHQpe2lmKGU9PT1zKXJldHVybntlcnJvcjoibm90IGEgbnVtYmVyIixyZXM6ITEsdmFsdWU6TmFOfTtjb25zdCBuPXtLOjFlMyxNOjFlNixCOjFlOSxUOjFlMTJ9LHI9KGU9ZS5yZXBsYWNlKCLiiJIiLCItIikpLnNsaWNlKC0xKTtpZihuLmhhc093blByb3BlcnR5KHIpKXtjb25zdCBvPXRoaXMuX2Zvcm1hdHRlci5wYXJzZShlLnNsaWNlKDAsLTEpLnRyaW0oKSx0KSxzPW8ucmVzP28udmFsdWU6TmFOO3JldHVybigwLGkuaXNOdW1iZXIpKHMpP3tyZXM6ITAsdmFsdWU6cypuW3JdfTp7ZXJyb3I6Im5vdCBhIG51bWJlciIscmVzOiExLHZhbHVlOk5hTn19e2NvbnN0IG49dGhpcy5fZm9ybWF0dGVyLnBhcnNlKGUudHJpbSgpLHQpO2xldCByPW4ucmVzP24udmFsdWU6TmFOO3JldHVybi0wPT09ciYmKHI9MCksKDAsaS5pc051bWJlcikocik/e3JlczohMCx2YWx1ZTpyfTp7ZXJyb3I6Im5vdCBhIG51bWJlciIscmVzOiExLHZhbHVlOk5hTn19fXN0YXRpYyBzZXJpYWxpemUoZSl7cmV0dXJuIGUuc3RhdGUoKX1zdGF0aWMgZGVzZXJpYWxpemUoZSl7cmV0dXJuIG5ldyBsKGUpfV9mb3JtYXROdW1iZXIoZSx0LG4pe2lmKHRoaXMuX2ZyYWN0aW9uYWxWYWx1ZXMmJjAhPT1lKXtjb25zdCB0PTE0LU1hdGguY2VpbChNYXRoLmxvZzEwKGUpKSxuPU1hdGgucG93KDEwLHQpO2U9TWF0aC5yb3VuZChlKm4pL259cmV0dXJuIG4uZm9ybWF0KGUse2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDp0fSl9fX0sOTAxMDIyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1NFUEFSQVRPUl9QUkVGSVg6KCk9PnIsaXNTZXBhcmF0b3JJdGVtOigpPT5pfSk7Y29uc3Qgcj0iIyMjIjtmdW5jdGlvbiBpKGUpe3JldHVybiBlLnN0YXJ0c1dpdGgocil9fSw2NDE1OTMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Y2FwaXRhbGl6ZUZpcnN0TGV0dGVySW5Xb3JkOigpPT5kLGRlY29kZUhUTUxFbnRpdGllczooKT0+YyxnZXRGaXJzdFNlZ21lbnRPckNvZGVQb2ludFN0cmluZzooKT0+cCxodG1sRXNjYXBlOigpPT5sLHJlbW92ZVRhZ3M6KCk9PnV9KTtjb25zdCByPS9bPCInJj5dL2csaT1lPT5gJiMke2UuY2hhckNvZGVBdCgwKX07YCxvPXsiJmx0OyI6IjwiLCImZ3Q7IjoiPiIsIiZxdW90OyI6JyInLCImYXBvczsiOiInIiwiJmFtcDsiOiImIiwiJiM2MDsiOiI8IiwiJiM2MjsiOiI+IiwiJiMzNDsiOiciJywiJiMzOTsiOiInIiwiJiMwMzk7IjoiJyIsIiYjMzg7IjoiJiJ9LHM9T2JqZWN0LmFzc2lnbih7fSwuLi5PYmplY3QuZW50cmllcyhvKS5tYXAoKChbZSx0XSk9Pih7W3RdOmV9KSkpKSxhPW5ldyBSZWdFeHAoT2JqZWN0LmtleXMobykuam9pbigifCIpLCJnIik7bmV3IFJlZ0V4cChPYmplY3Qua2V5cyhzKS5qb2luKCJ8IiksImciKTtmdW5jdGlvbiBjKGUpewpyZXR1cm4gZS5yZXBsYWNlKGEsKGU9Pm9bZV18fGUpKX1mdW5jdGlvbiBsKGUpe3JldHVybiBlLnJlcGxhY2UocixpKX1mdW5jdGlvbiB1KGU9IiIpe3JldHVybiBlLnJlcGxhY2UoLyg8KFtePl0rKT4pL2dpLCIiKX1mdW5jdGlvbiBkKGU9IiIpe3JldHVybiBlLnJlcGxhY2UoL1xiXHcvZywoZT0+ZS50b1VwcGVyQ2FzZSgpKSl9ZnVuY3Rpb24gcChlKXtjb25zdCB0PUludGwuU2VnbWVudGVyO2lmKHQpe2NvbnN0IG49bmV3IHQodm9pZCAwLHtncmFudWxhcml0eToiZ3JhcGhlbWUifSksW3tzZWdtZW50OnJ9PXtzZWdtZW50Om51bGx9XT1uLnNlZ21lbnQoZSk7cmV0dXJuIHI/LnRvVXBwZXJDYXNlKCk/P251bGx9e2NvbnN0IHQ9ZS5jb2RlUG9pbnRBdCgwKTtyZXR1cm4gdD9TdHJpbmcuZnJvbUNvZGVQb2ludCh0KS50b1VwcGVyQ2FzZSgpOm51bGx9fX0sMTM2OTkxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NvcHlyaWdodFBvc2l0aW9uOigpPT5yLGNvcHlyaWdodExhYmVsOigpPT51fSk7dmFyIHIsaT1uKDE4NTI3MSksbz1uKDkxNDQ4Nykscz1uLm4obyksYT1uKDYwMTg0MSksYz1uKDM4NzIzMSksbD1uKDM5OTA5Mik7ZnVuY3Rpb24gdSh7c3ZnVGV4dDplLGljb246dCx0aGVtZTpvLHVybDp1LG1vZGU6ZCx2ZXJ0aWNhbFBvc2l0aW9uOnA9ci5WZXJ0aWNhbC5Cb3R0b20saG9yaXpvbnRhbFBvc2l0aW9uOmc9ci5Ib3Jpem9udGFsLkVuZCxzbmFwVG9FZGdlOmY9ITAsaXNFeHBhbmRlZDptPSExLGNsYXNzTmFtZTpofSl7bGV0IHk7c3dpdGNoKGQpe2Nhc2UibmV3IjpjYXNlIndpdGhfYm9yZGVyIjpjYXNlImxhcmdlX3RyYWRlIjp5PSgwLGEuY2xvbmUpKG8pO2JyZWFrO2RlZmF1bHQ6eT0oMCxjLm1lcmdlVGhlbWVzKSgoMCxhLmNsb25lKShsKSxvKX1jb25zdCB2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtsZXQgdzt1JiYodz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIiksdy5jbGFzc0xpc3QuYWRkKC4uLnkubGFiZWxfX2xpbmsuc3BsaXQoL1xzLykpLHcuaHJlZj11LHcudGFyZ2V0PSJfYmxhbmsiLHcucmVsPSJub29wZW5lciBub3JlZmVycmVyIix3LnNldEF0dHJpYnV0ZSgiZGF0YS10YXJnZXQtdHlwZSIsImNvcHlyaWdodCIpLHcuYXJpYUxhYmVsPWkudChudWxsLHZvaWQgMCxuKDUxNzg1OSkpLHYuYXBwZW5kKHcpKSx2LmNsYXNzTmFtZT1zKCkoeS5sYWJlbCxnPT09ci5Ib3Jpem9udGFsLlN0YXJ0JiZ5LnN0YXJ0LGc9PT1yLkhvcml6b250YWwuRW5kJiZ5LmVuZCxwPT09ci5WZXJ0aWNhbC5Ub3AmJnkudG9wLHA9PT1yLlZlcnRpY2FsLkJvdHRvbSYmeS5ib3R0b20sZiYmImxhcmdlX3RyYWRlIiE9PWQmJnkuc25hcCwibGFyZ2Vfb2xkIj09PWQmJnkubGFyZ2UsKG18fCJsYXJnZV90cmFkZSI9PT1kKSYmeS5leHBhbmRlZCxoLCJqcy1jb3B5cmlnaHQtbGFiZWwiKSx2LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKCk9PntmdW5jdGlvbiBlKCl7di5jbGFzc0xpc3QucmVtb3ZlKHkuZXhwYW5kZWRCeUNsaWNrKSx2LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGUpfXYuY2xhc3NMaXN0LmNvbnRhaW5zKHkuZXhwYW5kZWRXaXRoVHJhbnNpdGlvbil8fHYuY2xhc3NMaXN0LmNvbnRhaW5zKHkuZXhwYW5kZWQpfHwodi5jbGFzc0xpc3QuY29udGFpbnMoeS5leHBhbmRlZEJ5Q2xpY2spP3V8fGUoKToodi5jbGFzc0xpc3QuYWRkKHkuZXhwYW5kZWRCeUNsaWNrKSx2LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGUpKSl9KSk7Y29uc3QgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7Yi5jbGFzc05hbWU9eS5sb2dvV3JhcCxiLmlubmVySFRNTD10O2NvbnN0IF89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO3JldHVybiBfLmNsYXNzTmFtZT15LnN2Z1RleHRXcmFwLF8uaW5uZXJIVE1MPWUsdi5hcHBlbmQoYixfKSxbdix5XX0hZnVuY3Rpb24oZSl7bGV0IHQsbjshZnVuY3Rpb24oZSl7ZVtlLkJvdHRvbT0wXT0iQm90dG9tIixlW2UuVG9wPTFdPSJUb3AifSh0PWUuVmVydGljYWx8fChlLlZlcnRpY2FsPXt9KSksZnVuY3Rpb24oZSl7ZVtlLlN0YXJ0PTBdPSJTdGFydCIsZVtlLkVuZD0xXT0iRW5kIn0obj1lLkhvcml6b250YWx8fChlLkhvcml6b250YWw9e30pKX0ocnx8KHI9e30pKX0sNjUzODE3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NvcHlyaWdodFBvc2l0aW9uOigpPT5vLkNvcHlyaWdodFBvc2l0aW9uLGNyZWF0ZUNvcHlyaWdodExhYmVsOigpPT5hfSk7dmFyIHI9big5MTQ0ODcpLGk9bi5uKHIpLG89bigxMzY5OTEpLHM9big1Mjg4NjQpO2Z1bmN0aW9uIGEoe3NoZXJpZmZPcHRpb25zOmUsLi4udH0pe2NvbnN0W24scl09KDAsby5jb3B5cmlnaHRMYWJlbCkodCksYT1lJiZlLmluY2x1ZGVzKHMuS25vd25BY3Rpb24uRXhwYW5kKSxjPWUmJmUuaW5jbHVkZXMocy5Lbm93bkFjdGlvbi5MYXJnZVRyYWRlTG9nbyk7cmV0dXJuIG4uY2xhc3NOYW1lPWkoKShuLmNsYXNzTmFtZSwoYXx8YykmJnIuZXhwYW5kZWRXaXRoVHJhbnNpdGlvbiksbn19LDc0MjU3NyhlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSx0KXtyZXR1cm4gZSYmZS51dG1fY2FtcGFpZ24mJihlLnV0bV9jYW1wYWlnbis9YC0ke3R9YCksZX1hc3luYyBmdW5jdGlvbiBpKGUsdCxyLGkpe2lmKCJsZW50YXJ1Ij09PWUpe2NvbnN0e2dldExlbnRhQ29weXJpZ2h0RGF0YTplfT1hd2FpdCBQcm9taXNlLmFsbChbbi5lKDQ0MjUzKSxuLmUoODUwMzgpXSkudGhlbihuLmJpbmQobiwyODQwNDEpKTtyZXR1cm4gZSgpfWlmKCJjbW9uZXljb210dyI9PT1lKXtjb25zdHtnZXRDbW9uZXljb210d0NvcHlyaWdodERhdGE6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW24uZSg1OTk0MSksbi5lKDY0NDUpLG4uZSg3MTM5NCldKS50aGVuKG4uYmluZChuLDc3Nzc2OSkpO3JldHVybiBlKHQscil9aWYoIm5ldyI9PT1pKXtjb25zdHtnZXRUcmFkaW5nVmlld0NvcHlyaWdodERhdGE6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW24uZSg5Nzc5Nyksbi5lKDc2MDQwKV0pLnRoZW4obi5iaW5kKG4sOTgxMTU3KSk7cmV0dXJuIGUodCxyKX1pZigid2l0aF9ib3JkZXIiPT09aSl7CmNvbnN0e2dldFRyYWRpbmdWaWV3Q29weXJpZ2h0RGF0YTplfT1hd2FpdCBQcm9taXNlLmFsbChbbi5lKDUzNTIxKSxuLmUoMTY4MTMpXSkudGhlbihuLmJpbmQobiw4NTI2NjkpKTtyZXR1cm4gZSh0LHIpfWlmKCJsYXJnZV90cmFkZSI9PT1pKXtjb25zdHtnZXRUcmFkaW5nVmlld0NvcHlyaWdodERhdGE6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW24uZSg3NDAxMSksbi5lKDc5MDQxKV0pLnRoZW4obi5iaW5kKG4sNDkzNTU5KSk7cmV0dXJuIGUodCxyKX17Y29uc3R7Z2V0VHJhZGluZ1ZpZXdDb3B5cmlnaHREYXRhOmV9PWF3YWl0IFByb21pc2UuYWxsKFtuLmUoNTk5NDEpLG4uZSg5NzUwOSldKS50aGVuKG4uYmluZChuLDcwNTc5MCkpO3JldHVybiBlKHQscil9fW4uZCh0LHthZGRVdG1DYW1wYWlnblNvdXJjZTooKT0+cixnZXRDdXN0b21lckNvcHlyaWdodERhdGE6KCk9Pml9KX0sNzQ4MDAyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2dldFdpZGdldFNoZXJpZmZBY3Rpb25zOigpPT5sfSk7dmFyIHI9bigyMjEwNjEpLGk9bigzODQwMTcpLG89big1Mjg4NjQpO2NvbnN0IHM9d2luZG93LldJREdFVF9TSEVSSUZGX0hPU1R8fCJodHRwczovL3dpZGdldC1zaGVyaWZmLnhzdGFnaW5nLXdpZGdldC50diIsYT0oMCxyLmdldExvZ2dlcikoIldpZGdldFNoZXJpZmYuV2lkZ2V0Iik7bGV0IGM9bnVsbDthc3luYyBmdW5jdGlvbiBsKCl7cmV0dXJuIG51bGw9PT1jJiYoYz1hd2FpdCBhc3luYyBmdW5jdGlvbigpe2NvbnN0IGU9ZnVuY3Rpb24oKXtpZihkb2N1bWVudC5sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnMmJmRvY3VtZW50LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucy5sZW5ndGgpcmV0dXJuIGRvY3VtZW50LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2luc1tkb2N1bWVudC5sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnMubGVuZ3RoLTFdO3RyeXtyZXR1cm4gbmV3IFVSTChkb2N1bWVudC5yZWZlcnJlcikub3JpZ2lufWNhdGNoKGUpe3JldHVybiBkb2N1bWVudC5sb2NhdGlvbi5vcmlnaW58fG51bGx9fSgpO2lmKG51bGw9PT1lKXJldHVybiBhLmxvZ1dhcm4oImFuY2VzdG9yT3JpZ2luIGlzIHVuZGVmaW5lZCIpLFByb21pc2UucmVzb2x2ZShbXSk7Y29uc3QgdD1uZXcgVVJMKCIvc2hlcmlmZi9hcGkvdjEvcnVsZXMvc2VhcmNoIixzKTt0LnNlYXJjaFBhcmFtcy5hcHBlbmQoIm9yaWdpbiIsZSk7cmV0dXJuKGF3YWl0KDAsaS5mZXRjaCkodC50b0pTT04oKSkudGhlbigoZT0+e2lmKCFlLm9rKXRocm93IG5ldyBFcnJvcigiR3VhcmQgcmVxdWVzdCBlcnJvciBvY2N1cmVkIik7cmV0dXJuIDIwND09PWUuc3RhdHVzP1Byb21pc2UucmVzb2x2ZSh7YWN0aW9uczpbXX0pOmUuanNvbigpfSkpLmNhdGNoKChlPT4oYS5sb2dXYXJuKGUubWVzc2FnZSksUHJvbWlzZS5yZXNvbHZlKHthY3Rpb25zOltdfSkpKSkpLmFjdGlvbnMuZmlsdGVyKChlPT5vLndpZGdldFNoZXJpZmZBY3Rpb25zLmhhcyhlKSkpfSgpKSxQcm9taXNlLnJlc29sdmUoYyl9fSw1Mjg4NjQoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcjtuLmQodCx7S25vd25BY3Rpb246KCk9PnIsd2lkZ2V0U2hlcmlmZkFjdGlvbnM6KCk9Pml9KSxmdW5jdGlvbihlKXtlLkV4cGFuZD0iZXhwYW5kLWxvZ28iLGUuTGFyZ2VUcmFkZUxvZ289ImxhcmdlLXRyYWRlLWxvZ28ifShyfHwocj17fSkpO2NvbnN0IGk9bmV3IFNldChbci5FeHBhbmQsci5MYXJnZVRyYWRlTG9nb10pfSw0NzkzNChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtlbmFibGVkOigpPT5jLGdldENvbmZpZzooKT0+dSxnZXRQcm9kdWN0SWQ6KCk9PmF9KTt2YXIgcj1uKDUwMjU4NyksaT1uKDEyNzcxMSksbz1uKDMxODk3NCkscz1uKDIxMjIyOSk7ZnVuY3Rpb24gYShlKXtsZXQgdD13aW5kb3cudXNlcjsidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmd2luZG93LnVzZXImJih0PXdpbmRvdy51c2VyKSxlJiYodD1lKTtsZXQgbj10Py5wcm9fcGxhbnx8ImZyZWUiO3JldHVybiJmcmVlIiE9PW4mJiEoMCxzLmlzVHJpYWxQcm9kdWN0KShuKXx8KG49KDAscy5nZXRQcm9kdWN0Rm9yVHJpYWwpKG4pKSxufWZ1bmN0aW9uIGMoZSx0LG4pe2xldCByPXdpbmRvdy51c2VyO24mJihyPW4pO2NvbnN0IGk9dShlLHQscik7aWYoIWkpcmV0dXJuITE7aWYoaS5kaXNhYmxlX29uX3RyaWFsJiYoIXJ8fHIuaXNfdHJpYWwpKXJldHVybiExO2NvbnN0IHM9aS5kaXNhYmxlX29uX2xpdGVfcGxhbjtpZihzJiZyLmlzX2xpdGVfcGxhbil7aWYoImFsbCI9PT1zKXJldHVybiExO2lmKCJleGNsdWRlX21vYmlsZSI9PT1zJiYhby5DaGVja01vYmlsZS5hbnkoKSlyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiBsKGUpe2NvbnN0IHQ9cltlXTtyZXR1cm4gdD90LmV4dGVuZHM/T2JqZWN0LmFzc2lnbih7fSxsKHQuZXh0ZW5kcyksdCk6dDpudWxsfWZ1bmN0aW9uIHUoZSx0LG4pe2xldCByPWwodHx8KGEobik/PyIiKSk7aWYoIXIpcmV0dXJuIG51bGw7Y29uc3Qgbz13aW5kb3cuVHJhZGluZ1ZpZXc/LndpZGdldEN1c3RvbWVyO3JldHVybiBvJiZpW29dJiYocj1PYmplY3QuYXNzaWduKHt9LHIsaVtvXSkpLHImJnJbZV18fG51bGx9fSw0Mjk2NihlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KTt2YXIgcj1uKDg1NjMyNCksaT1uKDk2MzA5OCk7KDAsci5yZWdpc3Rlckxhbmd1YWdlR2V0dGVyKSgoKCk9PndpbmRvdy5sYW5ndWFnZXx8IiIpKSwoMCxyLnJlZ2lzdGVyTGFuZ3VhZ2VDb2RlTWFwcGVyKShpLmdldElzb0xhbmd1YWdlQ29kZUZyb21MYW5ndWFnZSl9LDYzMTYzNChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnZXRGcmVzaEluaXREYXRhOigpPT5zLGdldEluaXREYXRhOigpPT5vLHVwZGF0ZUluaXREYXRhOigpPT5pfSk7dmFyIHI9big3OTI2MTIpO2Z1bmN0aW9uIGkoKXsoMCxyLnVwZGF0ZUluaXREYXRhKSgpfWZ1bmN0aW9uIG8oKXtyZXR1cm4oMCxyLmdldEluaXREYXRhKSgpfWZ1bmN0aW9uIHMoKXtyZXR1cm4oMCxyLmdldEZyZXNoSW5pdERhdGEpKCl9fSw4NjIyMTMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7TG9nb1NpemU6KCk9PnIuTG9nb1NpemUsZ2V0TG9nb1VybFJlc29sdmVyOigpPT51fSkKO3ZhciByPW4oNjIwMzU0KSxpPW4oMTM4NjM4KSxvPW4oNjMxNjM0KSxzPW4oODEwNDEpO2NvbnN0IGE9KDAsbigyMjEwNjEpLmdldExvZ2dlcikoIkxvZ29VcmxSZXNvbHZlciIpO2NsYXNzIGN7Y29uc3RydWN0b3IoZSl7KDAsaS5hc3NlcnQpKCIiIT09ZSwiUzMgYmFzZSB1cmwgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmciKSx0aGlzLl9iYXNlVXJsPWV9Z2V0U3ltYm9sTG9nb1VybChlLHQpe2lmKCIiPT09ZSlyZXR1cm4gYS5sb2dXYXJuKCJsb2dvIGlkIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nIiksIiI7c3dpdGNoKHQpe2Nhc2Ugci5Mb2dvU2l6ZS5NZWRpdW06cmV0dXJuIHRoaXMuX2Jhc2VVcmwrYCR7ZX0uc3ZnYDtjYXNlIHIuTG9nb1NpemUuTGFyZ2U6cmV0dXJuIHRoaXMuX2Jhc2VVcmwrYCR7ZX0tLWJpZy5zdmdgfX1nZXRDb3VudHJ5RmxhZ1VybChlLHQpe3JldHVybiB0aGlzLmdldFN5bWJvbExvZ29VcmwoImNvdW50cnkvIitlLHQpfWdldFByb3ZpZGVyTG9nb1VybChlLHQpe3JldHVybiB0aGlzLmdldFN5bWJvbExvZ29VcmwoInByb3ZpZGVyLyIrZSx0KX1nZXRTb3VyY2VMb2dvVXJsKGUsdCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybCgic291cmNlLyIrZSx0KX1nZXRCbG9ja2NoYWluQ29udHJhY3RMb2dvVXJsKGUsdCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybCgiYmxvY2tjaGFpbi8iK2UsdCl9Z2V0Q2FuZGxlc3RpY2tQYXR0ZXJuTG9nb1VybChlLHQ9cy5TdGRUaGVtZS5MaWdodCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybChgY2FuZGxlcGF0dGVybi8ke2V9LSR7dH1gLHIuTG9nb1NpemUuTWVkaXVtKX19bGV0IGw7ZnVuY3Rpb24gdSgpe3JldHVybiBmdW5jdGlvbigpe2lmKCFsKXtjb25zdCBlPSgwLG8uZ2V0SW5pdERhdGEpKCksdD1lLnNldHRpbmdzP2Uuc2V0dGluZ3MuUzNfTE9HT19TRVJWSUNFX0JBU0VfVVJMOiIiO2w9bmV3IGModCl9cmV0dXJuIGx9KCl9fSw0MDAxODEoZSx0LG4peyJ1c2Ugc3RyaWN0Ijthc3luYyBmdW5jdGlvbiByKCl7Y29uc3R7Z2V0VHJhY2tlckluc3RhbmNlOmV9PWF3YWl0IFByb21pc2UuYWxsKFtuLmUoNzA2NDQpLG4uZSg5NTIwNyldKS50aGVuKG4uYmluZChuLDQ3NzE1MCkpO3JldHVybiBlKCl9bi5kKHQse2dldFRyYWNrZXI6KCk9PnJ9KX0sMTU2ODI5KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlKXtyZXR1cm4gdm9pZCAwIT09ZSYmZS5pbmNsdWRlcygiY3J5cHRvIil9ZnVuY3Rpb24gaShlKXtyZXR1cm4iYm9uZCI9PT1lfWZ1bmN0aW9uIG8oZSl7cmV0dXJuImVjb25vbWljIj09PWV9ZnVuY3Rpb24gcyhlKXtyZXR1cm4iZnV0dXJlcyI9PT1lfW4uZCh0LHtoYXNDcnlwdG9UeXBlc3BlYzooKT0+cixpc0JvbmQ6KCk9PmksaXNFY29ub21pY1N5bWJvbDooKT0+byxpc0Z1dHVyZXM6KCk9PnN9KX0sODUxNDU4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3Rva2VuaXplOigpPT5jfSk7dmFyIHIsaT1uKDkwMTAyMiksbz1uKDU2OTM5OCk7IWZ1bmN0aW9uKGUpe2UuU3ltYm9sPSJzeW1ib2wiLGUuSW5jb21wbGV0ZVN5bWJvbD0iaW5jb21wbGV0ZVN5bWJvbCIsZS5OdW1iZXI9Im51bWJlciIsZS5JbmNvbXBsZXRlTnVtYmVyPSJpbmNvbXBsZXRlTnVtYmVyIixlLlNlcGFyYXRvclByZWZpeD0ic2VwYXJhdG9yUHJlZml4IixlLk9wZW5CcmFjZT0ib3BlbkJyYWNlIixlLkNsb3NlQnJhY2U9ImNsb3NlQnJhY2UiLGUuUGx1cz0icGx1cyIsZS5NaW51cz0ibWludXMiLGUuTXVsdGlwbHk9Im11bHRpcGx5IixlLkRpdmlkZT0iZGl2aWRlIixlLlBvd2VyPSJwb3dlciIsZS5XaGl0ZXNwYWNlPSJ3aGl0ZXNwYWNlIixlLlVucGFyc2VkPSJ1bnBhcnNlZCJ9KHJ8fChyPXt9KSk7Y29uc3Qgcz0vKD86W14tK1wvKl5cc10nfFthLXpBLVowLTlfXHUwMzcwLVx1MUZGRl9cdTJFODAtXHVGRkZGXSkoPzpbXi0rXC8qXlxzXSd8W2EtekEtWjAtOV9cdTAwMjBcdTAzNzAtXHUxRkZGX1x1MkU4MC1cdUZGRkZfIXw6LiZdKSp8Jy4rPycvLGE9KGU9KDAsby5pc0ZlYXR1cmVFbmFibGVkKSgiYWxsb3dfdHJhaWxpbmdfd2hpdGVzcGFjZV9pbl9udW1iZXJfdG9rZW4iKSk9Pih7bnVtYmVyOmU/L1xkKyg/OlwuXGQqfCg/IVthLXpBLVowLTlfITouJl0pKSg/OlxzKig/PVxzKiQpKT98XC5cZCsoPzpccyooPz1ccyokKSk/LzovXGQrKD86XC5cZCp8KD8hW2EtekEtWjAtOV8hOi4mXSkpfFwuXGQrLyxpbmNvbXBsZXRlTnVtYmVyOi9cLi8sc3ltYm9sOnMsaW5jb21wbGV0ZVN5bWJvbDovJ1teJ10qLyxzZXBhcmF0b3JQcmVmaXg6aS5TRVBBUkFUT1JfUFJFRklYLG9wZW5CcmFjZToiKCIsY2xvc2VCcmFjZToiKSIscGx1czoiKyIsbWludXM6Ii0iLG11bHRpcGx5OiIqIixkaXZpZGU6Ii8iLHBvd2VyOiJeIix3aGl0ZXNwYWNlOi9bXDAtXHgyMFxzXSsvLHVucGFyc2VkOm51bGx9KTtmdW5jdGlvbiBjKGUsdD1hKCkpe2lmKCFlKXJldHVybltdO2NvbnN0IG49W10scj1PYmplY3Qua2V5cyh0KTtsZXQgaTtjb25zdCBvPSgoZT1hKCkpPT5uZXcgUmVnRXhwKE9iamVjdC52YWx1ZXMoZSkubWFwKChlPT57cmV0dXJuIG51bGw9PT1lPyIiOmAoJHsic3RyaW5nIj09dHlwZW9mIGU/KHQ9ZSx0LnJlcGxhY2UoL1tcXiQoKVtcXXt9Kis/fFxcXS9nLCJcXCQmIikpOmUuc291cmNlfSlgO3ZhciB0fSkpLmZpbHRlcigoZT0+IiIhPT1lKSkuY29uY2F0KCIuIikuam9pbigifCIpLCJnIikpKHQpO2Zvcig7aT1vLmV4ZWMoZSk7KXtsZXQgZT0hMTtmb3IobGV0IHQ9ci5sZW5ndGg7dC0tOylpZihpW3QrMV0pe3JbdF0mJm4ucHVzaCh7dmFsdWU6aVt0KzFdLHR5cGU6clt0XSxwcmVjZWRlbmNlOjAsb2Zmc2V0OmkuaW5kZXh9KSxlPSEwO2JyZWFrfWV8fG4ucHVzaCh7dmFsdWU6aVswXSx0eXBlOiJ1bnBhcnNlZCIscHJlY2VkZW5jZTowLG9mZnNldDppLmluZGV4fSl9cmV0dXJuIG59fSw3OTUzODMoZSx0LG4pe24oMzYzMjY5KS5zZXRDbGFzc2VzKCksbig0Mjk2Niksbig2MTAyNjgpO3ZhciByPW4oNzQ5NjQ4KS53aGVuRG9jdW1lbnRSZWFkeSxpPW4oOTMxMTk4KS5oYW5kbGVUVkxpbmtzQ2xpY2s7cigoKCk9PntpKCl9KSl9LAo3OTgzOChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtTVFlMRV9TSE9SVF9OQU1FUzooKT0+cyxTWU1CT0xfU1RSSU5HX0RBVEE6KCk9PmwsaXNDaGFydFN0eWxlU3R1ZHlJbmZvQ29tcGxleDooKT0+YX0pO24oNTgwMzcpO3ZhciByPW4oNzI4NDM2KSxpPW4oNzc3NjYxKSxvPW4oNTUwMzkzKTtuZXcgU2V0KFszLDYsNyw4LDksMTFdKSxuZXcgU2V0KFsxLDJdKTtjb25zdCBzPXswOiJiYXIiLDE6ImNhbmRsZSIsOToiaG9sbG93Q2FuZGxlIiwyOiJsaW5lIiwxNDoibGluZVdpdGhNYXJrZXJzIiwxNToic3RlcGxpbmUiLDM6ImFyZWEiLDE2OiJobGNBcmVhIiw0OiJyZW5rbyIsNzoicGIiLDU6ImthZ2kiLDY6InBuZiIsODoiaGEiLDEwOiJiYXNlbGluZSIsMTE6InJhbmdlIiwxMjoiaGlsbyIsMTM6ImNvbHVtbiIsMTc6InZvbEZvb3RwcmludCIsMTg6InRwbyIsMTk6InZvbENhbmRsZXMiLDIwOiJzdnAiLDIxOiJobGNCYXJzIn07ZnVuY3Rpb24gYShlKXtyZXR1cm4idmFyaWFudHMiaW4gZX1jb25zdCBjPVt7dHlwZTppLnN0dWR5VHBvUHJlcmlvZGljSWQsYmFzaWNTdHVkeVZlcnNpb246MTA0fSx7dHlwZTppLnN0dWR5VHBvU2Vzc2lvbnNJZCxiYXNpY1N0dWR5VmVyc2lvbjoxMDR9XSxsPXs0Ont0eXBlOiJCYXJTZXRSZW5rb0B0di1wcm9zdHVkaWVzIixiYXNpY1N0dWR5VmVyc2lvbjo3M30sNzp7dHlwZToiQmFyU2V0UHJpY2VCcmVha0B0di1wcm9zdHVkaWVzIixiYXNpY1N0dWR5VmVyc2lvbjozNH0sNTp7dHlwZToiQmFyU2V0S2FnaUB0di1wcm9zdHVkaWVzIixiYXNpY1N0dWR5VmVyc2lvbjo3M30sNjp7dHlwZToiQmFyU2V0UG5GQHR2LXByb3N0dWRpZXMiLGJhc2ljU3R1ZHlWZXJzaW9uOjczfSw4Ont0eXBlOiJCYXJTZXRIZWlrZW5Bc2hpQHR2LWJhc2ljc3R1ZGllcyIsYmFzaWNTdHVkeVZlcnNpb246NjB9LDExOnt0eXBlOiJCYXJTZXRSYW5nZUB0di1iYXNpY3N0dWRpZXMiLGJhc2ljU3R1ZHlWZXJzaW9uOjcyfSwxNzp7dHlwZTpyLnN0dWR5Vm9sRm9vdHByaW50SWQsYmFzaWNTdHVkeVZlcnNpb246MTA0fSwxODp7dmFyaWFudHM6YyxzZWxlY3RvcjplPT57Y29uc3QgdD1lO3JldHVybiJEYXkiPT09dC5wZXJpb2QmJjE9PT10LnBlcmlvZHNOdW0/Y1sxXTpjWzBdfX0sMjA6e3R5cGU6by5zdHVkeVZiUFNlc3Npb25zSWQsYmFzaWNTdHVkeVZlcnNpb246MTI2fX19LDYxMDI2OChlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KSwoMCxuKDExNTI5Mykuc2V0RG9jdW1lbnREaXJHZXR0ZXIpKCgoKT0+d2luZG93LmRvY3VtZW50LmRpcikpfSw5NjM5MDAoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcjshZnVuY3Rpb24oZSl7ZS5FbXB0eT0iIixlLlRlY2huaWNhbHNQYXRoPSJ0ZWNobmljYWxzLyIsZS5GaW5hbmNpYWxzT3ZlcnZpZXdQYXRoPSJmaW5hbmNpYWxzLW92ZXJ2aWV3LyIsZS5UaW1lbGluZVBhdGg9Imhpc3RvcnktdGltZWxpbmUvIixlLk5ld3NQYXRoPSJuZXdzLyIsZS5PcHRpb25zUGF0aD0ib3B0aW9ucy8iLGUuUHJvZmlsZVBhdGg9InByb2ZpbGUvIixlLkhvbGRpbmdzUGF0aD0iaG9sZGluZ3MvIn0ocnx8KHI9e30pKX0sMjEyMjI5KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NVU1RPTV9TVUZGSVg6KCk9PmEsRUFfU1VGRklYOigpPT5zLFRSSUFMX1NVRkZJWDooKT0+byxiaWxsaW5nQ3ljbGVUb01vbnRoOigpPT52LGJpbGxpbmdDeWNsZVRvVGltZVVuaXQ6KCk9PmMsY291bnREaXNjb3VudEJ5QmlsbGluZ0N5Y2xlOigpPT55LGdldERpc2NvdW50UHJvZHVjdElkOigpPT5nLGdldFBsYW5OYW1lOigpPT54LGdldFByb2R1Y3RGb3JUcmlhbDooKT0+cCxnZXRSZWFkYWJsZUN5Y2xlOigpPT5sLGdldFJlYWRhYmxlTnVtZXJpY0N5Y2xlOigpPT51LGdldFJlbGF0aXZlQW1vdW50T2ZEYXlzRnJvbUJpbGxpbmdDeWNsZTooKT0+aCxodW1hbml6ZUNhcmRQbGFuOigpPT5tLGh1bWFuaXplUHJvUGxhbjooKT0+Zixpc1RyaWFsUHJvZHVjdDooKT0+ZCxyb3VuZDA6KCk9PmIscm91bmQyOigpPT53LHJvdW5kMm9yMDooKT0+X30pO24oODI5MTgwKTt2YXIgcj1uKDE4NTI3MSksaT1uKDg2NDAzNCk7Y29uc3Qgbz0iX3RyaWFsIixzPSJfZGlzY291bnQiLGE9Il9jdXN0b20iO2Z1bmN0aW9uIGMoZSl7cmV0dXJue3k6ci50KG51bGwse3BsdXJhbDoieWVhcnMiLGNvdW50OjF9LG4oNDQyNjY2KSksbTpyLnQobnVsbCx7cGx1cmFsOiJtb250aHMiLGNvdW50OjF9LG4oMzIzNDg1KSksIjNtIjpyLnQobnVsbCx2b2lkIDAsbig4NjM4NTIpKX1bZV18fCIifWZ1bmN0aW9uIGwoZSl7cmV0dXJue206ci50KG51bGwsdm9pZCAwLG4oNTU2NTY4KSkseTpyLnQobnVsbCx2b2lkIDAsbig3MjExMTgpKSwiM20iOnIudChudWxsLHZvaWQgMCxuKDMyODAzMCkpfVtlXXx8IiJ9ZnVuY3Rpb24gdShlKXtyZXR1cm57W2kuQmlsbGluZ0N5Y2xlLk1vbnRobHldOnIudChudWxsLHZvaWQgMCxuKDU1NjU2OCkpLFtpLkJpbGxpbmdDeWNsZS5PbmVZZWFyXTpyLnQobnVsbCx2b2lkIDAsbigxMTE5NzYpKSxbaS5CaWxsaW5nQ3ljbGUuVGhyZWVNb250aHNdOnIudChudWxsLHZvaWQgMCxuKDMyODAzMCkpfVtlXXx8IiJ9ZnVuY3Rpb24gZChlKXtyZXR1cm4gbmV3IFJlZ0V4cChvKyIkIikudGVzdChlKX1mdW5jdGlvbiBwKGUpe3JldHVybiBlLnNwbGl0KG8pWzBdfWZ1bmN0aW9uIGcoZSx0LG4pe3JldHVybmAke2V9XyR7dH0ke259YH1mdW5jdGlvbiBmKGUsdCl7bGV0IGk9ZTtzd2l0Y2goZSl7Y2FzZSJmcmVlIjppPSJCYXNpYyI7YnJlYWs7Y2FzZSJwcm8iOmk9IkVzc2VudGlhbCI7YnJlYWs7Y2FzZSJwcm9fcmVhbHRpbWUiOmk9IlBsdXMiO2JyZWFrO2Nhc2UicHJvX3ByZW1pdW0iOmk9IlByZW1pdW0iO2JyZWFrO2Nhc2UicHJvX2V4cGVydCI6aT0iRXhwZXJ0IjticmVhaztjYXNlInByb19wcmVtaXVtX2V4cGVydCI6aT0iVWx0aW1hdGUifXJldHVybiB0JiYoaSs9IiAiK3IudChudWxsLHZvaWQgMCxuKDgzNTgpKSksaX1mdW5jdGlvbiBtKGUpe2xldCB0PWU7c3dpdGNoKGUpe2Nhc2UicHJvIjp0PSJFc3NlbnRpYWwiO2JyZWFrO2Nhc2UicHJvX3JlYWx0aW1lIjp0PSJQbHVzIjticmVhawo7Y2FzZSJwcm9fcHJlbWl1bSI6dD0iUHJlbWl1bSI7YnJlYWs7Y2FzZSJwcm9fZXhwZXJ0Ijp0PSJFeHBlcnQiO2JyZWFrO2Nhc2UicHJvX3ByZW1pdW1fZXhwZXJ0Ijp0PSJVbHRpbWF0ZSI7YnJlYWs7Y2FzZSJmcmVlIjp0PSJCYXNpYyJ9cmV0dXJuIHR9ZnVuY3Rpb24gaChlLHQpe2NvbnN0IG49dHx8bmV3IERhdGUscj12KGUpLGk9bi5nZXRNb250aCgpK3Isbz1uZXcgRGF0ZShuZXcgRGF0ZShuKS5zZXRNb250aChpKSk7cmV0dXJuIG8uZ2V0TW9udGgoKT5pJTEyJiZvLnNldERhdGUoMCksZnVuY3Rpb24oZSx0KXtjb25zdCBuPXQuZ2V0VGltZSgpLWUuZ2V0VGltZSgpO3JldHVybiBNYXRoLnJvdW5kKG4vMWUzLzYwLzYwLzI0KX0obixvKX1mdW5jdGlvbiB5KGUsdCxuKXtyZXR1cm4gTWF0aC5yb3VuZCgodC1lKSp2KG4pKX1mdW5jdGlvbiB2KGUpe3N3aXRjaChlKXtjYXNlIGkuQmlsbGluZ0N5Y2xlLk9uZVllYXI6cmV0dXJuIDEyO2Nhc2UgaS5CaWxsaW5nQ3ljbGUuVGhyZWVNb250aHM6cmV0dXJuIDM7ZGVmYXVsdDpyZXR1cm4gMX19ZnVuY3Rpb24gdyhlKXtyZXR1cm4oTWF0aC5yb3VuZCgxMDAqZSkvMTAwKS50b0ZpeGVkKDIpfWZ1bmN0aW9uIGIoZSl7Y29uc3QgdD1NYXRoLnJvdW5kKDEwMCplKS8xMDA7cmV0dXJuIE1hdGgucm91bmQodCkudG9GaXhlZCgwKX1mdW5jdGlvbiBfKGUpe2NvbnN0IHQ9TWF0aC5yb3VuZCgxMDAqZSkvMTAwLG49TWF0aC5yb3VuZCh0KTtyZXR1cm4gTWF0aC5hYnModC1uKT4wP3QudG9GaXhlZCgyKTpuLnRvRml4ZWQoMCl9ZnVuY3Rpb24geChlKXtjb25zdCB0PXIudChudWxsLHZvaWQgMCxuKDE1Mzc2NikpO2lmKGQoZSkpe2NvbnN0IG49ZihwKGUpKTtyZXR1cm4gdC5mb3JtYXQoe3Byb1BsYW5OYW1lOm59KX1yZXR1cm4gZihlKX19LDQ0MzU1NyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtwYXJzZUh0bWw6KCk9Pm8scGFyc2VIdG1sRWxlbWVudDooKT0+c30pO2NvbnN0IHI9bmV3IFdlYWtNYXA7dmFyIGk7ZnVuY3Rpb24gbyhlLHQpe2xldCBuLGk7cmV0dXJuIG49bnVsbD09dD9kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ6OT09PXQubm9kZVR5cGU/dC5kb2N1bWVudEVsZW1lbnQ6dCxyJiYoaT1yLmdldChuKSksaXx8KGk9bi5vd25lckRvY3VtZW50LmNyZWF0ZVJhbmdlKCksaS5zZWxlY3ROb2RlQ29udGVudHMobiksciYmci5zZXQobixpKSksaS5jcmVhdGVDb250ZXh0dWFsRnJhZ21lbnQoZSl9ZnVuY3Rpb24gcyhlLHQpe2NvbnN0IG49byhlLHQpLHI9bi5maXJzdEVsZW1lbnRDaGlsZDtyZXR1cm4gbnVsbCE9PXImJm4ucmVtb3ZlQ2hpbGQocikscn0hZnVuY3Rpb24oZSl7ZVtlLkVsZW1lbnQ9MV09IkVsZW1lbnQiLGVbZS5Eb2N1bWVudD05XT0iRG9jdW1lbnQifShpfHwoaT17fSkpfSw5MzExOTgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7aGFuZGxlVFZMaW5rc0NsaWNrOigpPT5hfSk7dmFyIHI9big0MDAxODEpLGk9big2MDE1ODcpLG89big3MzA2NDUpO2NvbnN0IHM9ImlnbHU6Y29tLnRyYWRpbmd2aWV3L3dpZGdldF90dl9saW5rX2NsaWNrL2pzb25zY2hlbWEvMS0wLTAiO2Z1bmN0aW9uIGEoKXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKGU9Pntjb25zdCB0PWUudGFyZ2V0LmNsb3Nlc3QoIjpsaW5rIik7dD8uaG9zdG5hbWUmJigwLG8uaXNJbnRlcm5hbEhvc3QpKHQuaG9zdG5hbWUsInRyYWRpbmd2aWV3LmNvbSIpJiZhc3luYyBmdW5jdGlvbihlLHQpe2NvbnN0IG49ZnVuY3Rpb24oKXtjb25zdCBlPXdpbmRvdy5pbml0RGF0YS5oYXNoU2V0dGluZ3M7aWYoT2JqZWN0LmtleXMoZSkubGVuZ3RoPjApcmV0dXJuKDAsaS5maWx0ZXJVdG1JbmZvKShlKTtjb25zdCB0PW5ldyBVUkxTZWFyY2hQYXJhbXMobG9jYXRpb24uaHJlZik7cmV0dXJue3V0bV9jYW1wYWlnbjp0LmdldCgidXRtX2NhbXBhaWduIil8fHZvaWQgMCx1dG1fc291cmNlOnQuZ2V0KCJ1dG1fc291cmNlIil8fHZvaWQgMH19KCk7KGF3YWl0KDAsci5nZXRUcmFja2VyKSgpKT8udHJhY2tTZWxmRGVzYyhzLHt3aWRnZXRfdHlwZTpsKG4pLGRvbWFpbjpjKG4pLGxpbms6ZSx0YXJnZXRfdHlwZTp0fSl9KHQuaHJlZix0LmRhdGFzZXQudGFyZ2V0VHlwZXx8bnVsbCl9KSl9ZnVuY3Rpb24gYyhlKXtjb25zdCB0PWxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucz8uWzBdfHxkb2N1bWVudC5yZWZlcnJlcjtyZXR1cm4gZS51dG1fc291cmNlfHxmdW5jdGlvbihlKXt0cnl7cmV0dXJuIG5ldyBVUkwoZSkuaG9zdH1jYXRjaChlKXtyZXR1cm4iIn19KHQpfWZ1bmN0aW9uIGwoZSl7aWYoZS51dG1fY2FtcGFpZ24pcmV0dXJuIGUudXRtX2NhbXBhaWduO2NvbnN0IHQ9bG9jYXRpb24ucGF0aG5hbWU7cmV0dXJuIHQuaW5jbHVkZXMoImVtYmVkLXdpZGdldCIpP3Quc3BsaXQoIi8iKVsyXTp0fX0sMzg5Mjk4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3RyYWNrV2lkZ2V0TG9hZE1ldGFJbmZvOigpPT5pfSk7dmFyIHI9big0MDAxODEpO2FzeW5jIGZ1bmN0aW9uIGkoZSl7TWF0aC5yYW5kb20oKT4uMDA1fHwoYXdhaXQoMCxyLmdldFRyYWNrZXIpKCkpPy50cmFja1NlbGZEZXNjKCJpZ2x1OmNvbS50cmFkaW5ndmlldy93aWRnZXRfbG9hZF9tZXRhX2luZm8vanNvbnNjaGVtYS8xLTAtMCIsZSl9fSw5MDIxMDAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZXh0cmFjdFdpZGdldFNldHRpbmdzOigpPT5pfSk7Y29uc3Qgcj17d2hpdGVsYWJlbDohMCxwZXJtaXNzaW9uT3ZlcnJpZGVzOiEwLGxpbmtDYXB0dXJpbmdBbGxvd2VkOiEwLHN5bWJvbF9zZWFyY2hfZGVmYXVsdF9leGNoYW5nZTohMCxzeW1ib2xfc2VhcmNoX2FsbG93ZWRfZXhjaGFuZ2VzOiEwfTtmdW5jdGlvbiBpKGUsdD1bXSxuKXtyZXR1cm4gZnVuY3Rpb24oZSx0LG4saT1bXSxvKXtjb25zdCBzPW4uc2xpY2UoMSksYT1kZWNvZGVVUklDb21wb25lbnQocyk7bGV0IGM9e307dHJ5eyIiIT09YSYmKGM9SlNPTi5wYXJzZShhKSx2b2lkIDAhPT1vJiZvKGUsYyksT2JqZWN0LmtleXMoYykuZm9yRWFjaCgoZT0+eyhyW2VdfHxpLmluY2x1ZGVzKGUpKSYmZGVsZXRlIGNbZV19KSkpfWNhdGNoKGUpe2M9e30sCmNvbnNvbGUud2FybigiSGFzaCBwYXJhbXMgcGFyc2luZyBlcnJvciEgSGFzaCBwYXJhbXMgaWdub3JlZC4iKX1jb25zdCBsPXQuc2xpY2UoMSksdT10LmluY2x1ZGVzKCIlIik/ZGVjb2RlVVJJQ29tcG9uZW50KGwpOnQsZD1uZXcgVVJMU2VhcmNoUGFyYW1zKHUpO2xldCBwPXt9O3RyeXtkLmZvckVhY2goKChlLHQpPT57aS5pbmNsdWRlcyh0KXx8KHBbdF09ZSl9KSksdm9pZCAwIT09byYmbyhlLHApfWNhdGNoKGUpe3A9e30sY29uc29sZS53YXJuKCJTZWFyY2ggcXVlcnkgcGFyYW1zIHBhcnNpbmcgZXJyb3IhIFNlYXJjaCBxdWVyeSBwYXJhbXMgaWdub3JlZC4iKX1yZXR1cm4gT2JqZWN0LmFzc2lnbih7fSxlLGMscCl9KGUsbG9jYXRpb24uc2VhcmNoLGxvY2F0aW9uLmhhc2gsdCxuKX19LDI1NDY3MyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtJbnRlcnZhbDooKT0+dSxSZXNvbHV0aW9uS2luZDooKT0+byxTcGVjaWFsUmVzb2x1dGlvbktpbmQ6KCk9PnN9KTtjb25zdCByPS9eKFxkKikoW1RTSERXTVJdKSQvLGk9L14oXGQrKSQvO3ZhciBvLHM7IWZ1bmN0aW9uKGUpe2UuVGlja3M9InRpY2tzIixlLlNlY29uZHM9InNlY29uZHMiLGUuTWludXRlcz0ibWludXRlcyIsZS5EYXlzPSJkYXlzIixlLldlZWtzPSJ3ZWVrcyIsZS5Nb250aHM9Im1vbnRocyIsZS5SYW5nZT0icmFuZ2UiLGUuSW52YWxpZD0iaW52YWxpZCJ9KG98fChvPXt9KSksZnVuY3Rpb24oZSl7ZS5Ib3Vycz0iaG91cnMifShzfHwocz17fSkpO2NvbnN0IGE9e307YVtvLlRpY2tzXT0xZTMsYVtvLlNlY29uZHNdPTFlMyxhW28uTWludXRlc109NjAqYVtvLlNlY29uZHNdLGFbby5EYXlzXT0xNDQwKmFbby5NaW51dGVzXSxhW28uV2Vla3NdPTcqYVtvLkRheXNdO2NvbnN0IGM9e1Q6by5UaWNrcyxTOm8uU2Vjb25kcyxEOm8uRGF5cyxXOm8uV2Vla3MsTTpvLk1vbnRocyxSOm8uUmFuZ2V9LGw9bmV3IFNldChbby5UaWNrcyxvLlNlY29uZHMsby5NaW51dGVzXSk7Y2xhc3MgdXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2tpbmQ9by5JbnZhbGlkLHRoaXMuX211bHRpcGxpZXI9MCxlIT09by5JbnZhbGlkJiZ0PjAmJih0aGlzLl9raW5kPWUsdGhpcy5fbXVsdGlwbGllcj10KX1raW5kKCl7cmV0dXJuIHRoaXMuX2tpbmR9Z3VpS2luZCgpe3JldHVybiB0aGlzLmlzTWludXRlSG91cnMoKT9zLkhvdXJzOnRoaXMuX2tpbmR9bXVsdGlwbGllcigpe3JldHVybiB0aGlzLl9tdWx0aXBsaWVyfWlzVmFsaWQoKXtyZXR1cm4gdGhpcy5raW5kKCkhPT1vLkludmFsaWQmJnRoaXMubXVsdGlwbGllcigpPjB9aXNEV00oKXtyZXR1cm4gdGhpcy5pc1ZhbGlkKCkmJiF0aGlzLmlzUmFuZ2UoKSYmIXRoaXMuaXNJbnRyYWRheSgpJiYhdGhpcy5pc1RpY2tzKCl9aXNJbnRyYWRheSgpe2NvbnN0IGU9bC5oYXModGhpcy5raW5kKCkpO3JldHVybiB0aGlzLmlzVmFsaWQoKSYmZX1pc1NlY29uZHMoKXtyZXR1cm4gdGhpcy5raW5kKCk9PT1vLlNlY29uZHN9aXNNaW51dGVzKCl7cmV0dXJuIHRoaXMua2luZCgpPT09by5NaW51dGVzfWlzTWludXRlSG91cnMoKXtyZXR1cm4gdGhpcy5raW5kKCk9PT1vLk1pbnV0ZXMmJigoZT10aGlzLm11bHRpcGxpZXIoKSk+PTYwJiYhKGUlNjApKTt2YXIgZX1pc0RheXMoKXtyZXR1cm4gdGhpcy5raW5kKCk9PT1vLkRheXN9aXNXZWVrcygpe3JldHVybiB0aGlzLmtpbmQoKT09PW8uV2Vla3N9aXNNb250aHMoKXtyZXR1cm4gdGhpcy5raW5kKCk9PT1vLk1vbnRoc31pc1JhbmdlKCl7cmV0dXJuIHRoaXMua2luZCgpPT09by5SYW5nZX1pc1RpY2tzKCl7cmV0dXJuIHRoaXMua2luZCgpPT09by5UaWNrc31pczFUaWNrKCl7cmV0dXJuIHRoaXMuaXNUaWNrcygpJiYxPT09dGhpcy5tdWx0aXBsaWVyKCl9aXNUaW1lQmFzZWQoKXtyZXR1cm4hdGhpcy5pc1JhbmdlKCl9bGV0dGVyKCl7cmV0dXJuIHRoaXMuaXNWYWxpZCgpJiZ0aGlzLmtpbmQoKSE9PW8uTWludXRlcz90aGlzLmtpbmQoKVswXS50b1VwcGVyQ2FzZSgpOiIifXZhbHVlKCl7cmV0dXJuIHRoaXMuaXNWYWxpZCgpP3RoaXMua2luZCgpPT09by5NaW51dGVzP3RoaXMubXVsdGlwbGllcigpKyIiOnRoaXMubXVsdGlwbGllcigpK3RoaXMubGV0dGVyKCk6IiJ9aXNFcXVhbFRvKGUpe2lmKCEoZSBpbnN0YW5jZW9mIHUpKXRocm93IG5ldyBFcnJvcigiQXJndW1lbnQgaXMgbm90IGFuIEludGVydmFsIik7cmV0dXJuISghdGhpcy5pc1ZhbGlkKCl8fCFlLmlzVmFsaWQoKSkmJih0aGlzLmtpbmQoKT09PWUua2luZCgpJiZ0aGlzLm11bHRpcGxpZXIoKT09PWUubXVsdGlwbGllcigpKX1pbk1pbGxpc2Vjb25kcyhlPURhdGUubm93KCkpe2lmKCF0aGlzLmlzVmFsaWQoKXx8dGhpcy5pc1JhbmdlKCkpcmV0dXJuIE5hTjtpZih0aGlzLmlzTW9udGhzKCkpe2NvbnN0IHQ9bmV3IERhdGUoZSk7dC5zZXRVVENNb250aCh0LmdldFVUQ01vbnRoKCkrKHRoaXMubXVsdGlwbGllcigpfHwxKSk7cmV0dXJuK3QtZX1jb25zdCB0PXRoaXMubXVsdGlwbGllcigpO3JldHVybiBhW3RoaXMua2luZCgpXSp0fXN0YXRpYyBpc0VxdWFsKGUsdCl7cmV0dXJuIGU9PT10fHx1LnBhcnNlKGUpLmlzRXF1YWxUbyh1LnBhcnNlKHQpKX1zdGF0aWMgcGFyc2VFeHQoZSl7ZT0oZSsiIikudG9VcHBlckNhc2UoKS5zcGxpdCgiLCIpWzBdO2xldCB0PXIuZXhlYyhlKTtyZXR1cm4gbnVsbCE9PXQ/IkgiPT09dFsyXT97aW50ZXJ2YWw6bmV3IHUoby5NaW51dGVzLDYwKmQodFsxXSkpLGd1aVJlc29sdXRpb25LaW5kOnMuSG91cnN9OntpbnRlcnZhbDpuZXcgdShjW3RbMl1dLGQodFsxXSkpLGd1aVJlc29sdXRpb25LaW5kOmNbdFsyXV19Oih0PWkuZXhlYyhlKSxudWxsIT09dD97aW50ZXJ2YWw6bmV3IHUoby5NaW51dGVzLGQodFsxXSkpLGd1aVJlc29sdXRpb25LaW5kOm8uTWludXRlc306e2ludGVydmFsOm5ldyB1KG8uSW52YWxpZCwwKSxndWlSZXNvbHV0aW9uS2luZDpvLkludmFsaWR9KX1zdGF0aWMgcGFyc2UoZSl7cmV0dXJuIHUucGFyc2VFeHQoZSkuaW50ZXJ2YWx9c3RhdGljIGtpbmQoZSl7cmV0dXJuIHUucGFyc2UoZSkua2luZCgpfXN0YXRpYyBpc1ZhbGlkKGUpe3JldHVybiB1LnBhcnNlKGUpLmlzVmFsaWQoKQp9c3RhdGljIGlzRFdNKGUpe3JldHVybiB1LnBhcnNlKGUpLmlzRFdNKCl9c3RhdGljIGlzSW50cmFkYXkoZSl7cmV0dXJuIHUucGFyc2UoZSkuaXNJbnRyYWRheSgpfXN0YXRpYyBpc1NlY29uZHMoZSl7cmV0dXJuIHUucGFyc2UoZSkuaXNTZWNvbmRzKCl9c3RhdGljIGlzTWludXRlcyhlKXtyZXR1cm4gdS5wYXJzZShlKS5pc01pbnV0ZXMoKX1zdGF0aWMgaXNNaW51dGVIb3VycyhlKXtyZXR1cm4gdS5wYXJzZShlKS5pc01pbnV0ZUhvdXJzKCl9c3RhdGljIGlzRGF5cyhlKXtyZXR1cm4gdS5wYXJzZShlKS5pc0RheXMoKX1zdGF0aWMgaXNXZWVrcyhlKXtyZXR1cm4gdS5wYXJzZShlKS5pc1dlZWtzKCl9c3RhdGljIGlzTW9udGhzKGUpe3JldHVybiB1LnBhcnNlKGUpLmlzTW9udGhzKCl9c3RhdGljIGlzUmFuZ2UoZSl7cmV0dXJuIHUucGFyc2UoZSkuaXNSYW5nZSgpfXN0YXRpYyBpc1RpY2tzKGUpe3JldHVybiB1LnBhcnNlKGUpLmlzVGlja3MoKX1zdGF0aWMgaXNUaW1lQmFzZWQoZSl7cmV0dXJuIHUucGFyc2UoZSkuaXNUaW1lQmFzZWQoKX1zdGF0aWMgbm9ybWFsaXplKGUpe2NvbnN0IHQ9dS5wYXJzZShlKTtyZXR1cm4gdC5pc1ZhbGlkKCk/dC52YWx1ZSgpOm51bGx9fWZ1bmN0aW9uIGQoZSl7cmV0dXJuIDA9PT1lLmxlbmd0aD8xOnBhcnNlSW50KGUsMTApfX0sNzM4NDU4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2lzQW5kcm9pZDooKT0+Zyxpc0FueU1vYmlsZTooKT0+dixpc0JsYWNrQmVycnk6KCk9PmYsaXNDaHJvbWU6KCk9PmEsaXNFZGdlOigpPT5sLGlzRkY6KCk9PmMsaXNJT1M6KCk9Pm0saXNJUGFkOigpPT55LGlzTGludXg6KCk9PnAsaXNNYWM6KCk9PmQsaXNPcGVyYU1pbmk6KCk9PmgsaXNTYWZhcmk6KCk9PnUsbW9iaWxldG91Y2g6KCk9Pm8sdG91Y2g6KCk9PnN9KTtjb25zdCByPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiYidW5kZWZpbmVkIiE9dHlwZW9mIG5hdmlnYXRvcixpPXImJiJvbnRvdWNoc3RhcnQiaW4gd2luZG93LG89ciYmaSYmIm9ub3JpZW50YXRpb25jaGFuZ2UiaW4gd2luZG93LHM9ciYmKGl8fCEhbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzKSxhPXImJndpbmRvdy5jaHJvbWUmJndpbmRvdy5jaHJvbWUucnVudGltZSxjPXImJndpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkuaW5kZXhPZigiZmlyZWZveCIpPi0xLGw9ciYmL1xzRWRnZVwvXGRcZFxiLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLHU9ciYmQm9vbGVhbihuYXZpZ2F0b3IudmVuZG9yKSYmbmF2aWdhdG9yLnZlbmRvci5pbmRleE9mKCJBcHBsZSIpPi0xJiYtMT09PW5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiQ3JpT1MiKSYmLTE9PT1uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIkZ4aU9TIiksZD1yJiYvbWFjL2kudGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pLHA9KHImJi9XaW4zMnxXaW42NC9pLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSxyJiYvTGludXgvaS50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSkpLGc9ciYmL0FuZHJvaWQvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGY9ciYmL0JsYWNrQmVycnkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLG09ciYmL2lQaG9uZXxpUGFkfGlQb2QvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSxoPXImJi9PcGVyYSBNaW5pL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSx5PXImJigiTWFjSW50ZWwiPT09bmF2aWdhdG9yLnBsYXRmb3JtJiZuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHM+MXx8L2lQYWQvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSksdj1nfHxmfHxtfHxofX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}}]}
